diff --git a/src/openrct2-ui/CMakeLists.txt b/src/openrct2-ui/CMakeLists.txt index 2ae3a9fb61..2076650767 100644 --- a/src/openrct2-ui/CMakeLists.txt +++ b/src/openrct2-ui/CMakeLists.txt @@ -52,7 +52,7 @@ target_link_libraries(${PROJECT} "libopenrct2" ${SPEEX_LIBRARIES}) if (APPLE) - target_link_libraries(${PROJECT} "-framework Cocoa") + target_link_libraries(${PROJECT} "-framework Cocoa") endif () if (NOT DISABLE_OPENGL) diff --git a/src/openrct2-ui/UiContext.macOS.mm b/src/openrct2-ui/UiContext.macOS.mm index 5fb16e46aa..a78ea82395 100644 --- a/src/openrct2-ui/UiContext.macOS.mm +++ b/src/openrct2-ui/UiContext.macOS.mm @@ -163,7 +163,7 @@ namespace OpenRCT2 { namespace Ui break; } } - + // Convert to string *output = std::string(outputBuffer.data(), outputLength); } @@ -171,12 +171,12 @@ namespace OpenRCT2 { namespace Ui { fflush(fpipe); } - + // Return exit code return pclose(fpipe); } }; - + IPlatformUiContext * CreatePlatformUiContext() { return new macOSContext(); diff --git a/src/openrct2-ui/drawing/engines/opengl/FillRectShader.cpp b/src/openrct2-ui/drawing/engines/opengl/FillRectShader.cpp index 5fc94b118a..e286e61fdc 100644 --- a/src/openrct2-ui/drawing/engines/opengl/FillRectShader.cpp +++ b/src/openrct2-ui/drawing/engines/opengl/FillRectShader.cpp @@ -87,7 +87,7 @@ void FillRectShader::SetColour(sint32 index, vec4f colour) void FillRectShader::SetSourceFramebuffer(GLuint texture) { - _sourceFramebuffer = texture; + _sourceFramebuffer = texture; OpenGLAPI::SetTexture(0, GL_TEXTURE_2D, texture); } @@ -100,7 +100,7 @@ void FillRectShader::Draw(sint32 left, sint32 top, sint32 right, sint32 bottom) } GLuint FillRectShader::GetSourceFramebuffer() const { - return _sourceFramebuffer; + return _sourceFramebuffer; } #endif /* DISABLE_OPENGL */ diff --git a/src/openrct2-ui/drawing/engines/opengl/FillRectShader.h b/src/openrct2-ui/drawing/engines/opengl/FillRectShader.h index f32a60af19..c70cf61ebd 100644 --- a/src/openrct2-ui/drawing/engines/opengl/FillRectShader.h +++ b/src/openrct2-ui/drawing/engines/opengl/FillRectShader.h @@ -36,7 +36,7 @@ private: GLuint _vbo; GLuint _vao; - GLuint _sourceFramebuffer = 0; + GLuint _sourceFramebuffer = 0; public: FillRectShader(); @@ -51,7 +51,7 @@ public: void Draw(sint32 left, sint32 top, sint32 right, sint32 bottom); - GLuint GetSourceFramebuffer() const; + GLuint GetSourceFramebuffer() const; private: void GetLocations(); diff --git a/src/openrct2-ui/drawing/engines/opengl/OpenGLAPI.cpp b/src/openrct2-ui/drawing/engines/opengl/OpenGLAPI.cpp index 52ca07a75c..587d51ea5a 100644 --- a/src/openrct2-ui/drawing/engines/opengl/OpenGLAPI.cpp +++ b/src/openrct2-ui/drawing/engines/opengl/OpenGLAPI.cpp @@ -63,7 +63,7 @@ static const char * TryLoadAllProcAddresses() SetupOpenGLFunction(glEnd); SetupOpenGLFunction(glGenTextures); SetupOpenGLFunction(glGetError); - SetupOpenGLFunction(glPixelStorei); + SetupOpenGLFunction(glPixelStorei); SetupOpenGLFunction(glReadPixels); SetupOpenGLFunction(glTexImage2D); SetupOpenGLFunction(glTexParameteri); diff --git a/src/openrct2/Context.cpp b/src/openrct2/Context.cpp index bcf74fa755..ed17a64208 100644 --- a/src/openrct2/Context.cpp +++ b/src/openrct2/Context.cpp @@ -181,8 +181,8 @@ namespace OpenRCT2 // TODO add configuration option to allow multiple instances // if (!gOpenRCT2Headless && !platform_lock_single_instance()) { - // log_fatal("OpenRCT2 is already running."); - // return false; + // log_fatal("OpenRCT2 is already running."); + // return false; // } _objectRepository = CreateObjectRepository(_env); diff --git a/src/openrct2/cheats.c b/src/openrct2/cheats.c index ce10050cba..491c2e34ef 100644 --- a/src/openrct2/cheats.c +++ b/src/openrct2/cheats.c @@ -56,723 +56,723 @@ sint32 park_rating_spinner_value; static void cheat_set_grass_length(sint32 length) { - sint32 x, y; - rct_map_element *mapElement; + sint32 x, y; + rct_map_element *mapElement; - for (y = 0; y < 256; y++) { - for (x = 0; x < 256; x++) { - mapElement = map_get_surface_element_at(x, y); - if (!(mapElement->properties.surface.ownership & OWNERSHIP_OWNED)) - continue; + for (y = 0; y < 256; y++) { + for (x = 0; x < 256; x++) { + mapElement = map_get_surface_element_at(x, y); + if (!(mapElement->properties.surface.ownership & OWNERSHIP_OWNED)) + continue; - if (map_element_get_terrain(mapElement) != TERRAIN_GRASS) - continue; + if (map_element_get_terrain(mapElement) != TERRAIN_GRASS) + continue; - if ((mapElement->properties.surface.terrain & 0x1F) > 0) - continue; + if ((mapElement->properties.surface.terrain & 0x1F) > 0) + continue; - mapElement->properties.surface.grass_length = length; - } - } + mapElement->properties.surface.grass_length = length; + } + } - gfx_invalidate_screen(); + gfx_invalidate_screen(); } static void cheat_water_plants() { - map_element_iterator it; + map_element_iterator it; - map_element_iterator_begin(&it); - do { - if (map_element_get_type(it.element) == MAP_ELEMENT_TYPE_SCENERY) { - it.element->properties.scenery.age = 0; - } - } while (map_element_iterator_next(&it)); + map_element_iterator_begin(&it); + do { + if (map_element_get_type(it.element) == MAP_ELEMENT_TYPE_SCENERY) { + it.element->properties.scenery.age = 0; + } + } while (map_element_iterator_next(&it)); - gfx_invalidate_screen(); + gfx_invalidate_screen(); } static void cheat_fix_vandalism() { - map_element_iterator it; + map_element_iterator it; - map_element_iterator_begin(&it); - do { - if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_PATH) - continue; + map_element_iterator_begin(&it); + do { + if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_PATH) + continue; - if (!footpath_element_has_path_scenery(it.element)) - continue; + if (!footpath_element_has_path_scenery(it.element)) + continue; - it.element->flags &= ~MAP_ELEMENT_FLAG_BROKEN; - } while (map_element_iterator_next(&it)); + it.element->flags &= ~MAP_ELEMENT_FLAG_BROKEN; + } while (map_element_iterator_next(&it)); - gfx_invalidate_screen(); + gfx_invalidate_screen(); } static void cheat_remove_litter() { - rct_litter* litter; - uint16 spriteIndex, nextSpriteIndex; + rct_litter* litter; + uint16 spriteIndex, nextSpriteIndex; - for (spriteIndex = gSpriteListHead[SPRITE_LIST_LITTER]; spriteIndex != SPRITE_INDEX_NULL; spriteIndex = nextSpriteIndex) { - litter = &(get_sprite(spriteIndex)->litter); - nextSpriteIndex = litter->next; - sprite_remove((rct_sprite*)litter); - } + for (spriteIndex = gSpriteListHead[SPRITE_LIST_LITTER]; spriteIndex != SPRITE_INDEX_NULL; spriteIndex = nextSpriteIndex) { + litter = &(get_sprite(spriteIndex)->litter); + nextSpriteIndex = litter->next; + sprite_remove((rct_sprite*)litter); + } - map_element_iterator it; - rct_scenery_entry *sceneryEntry; + map_element_iterator it; + rct_scenery_entry *sceneryEntry; - map_element_iterator_begin(&it); - do { - if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_PATH) - continue; + map_element_iterator_begin(&it); + do { + if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_PATH) + continue; - if (!footpath_element_has_path_scenery(it.element)) - continue; + if (!footpath_element_has_path_scenery(it.element)) + continue; - sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(it.element)); - if (sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_BIN) - it.element->properties.path.addition_status = 0xFF; + sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(it.element)); + if (sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_BIN) + it.element->properties.path.addition_status = 0xFF; - } while (map_element_iterator_next(&it)); + } while (map_element_iterator_next(&it)); - gfx_invalidate_screen(); + gfx_invalidate_screen(); } static void cheat_fix_rides() { - sint32 rideIndex; - rct_ride *ride; - rct_peep *mechanic; + sint32 rideIndex; + rct_ride *ride; + rct_peep *mechanic; - FOR_ALL_RIDES(rideIndex, ride) - { - if ((ride->mechanic_status != RIDE_MECHANIC_STATUS_FIXING) && (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN))) - { - mechanic = ride_get_assigned_mechanic(ride); + FOR_ALL_RIDES(rideIndex, ride) + { + if ((ride->mechanic_status != RIDE_MECHANIC_STATUS_FIXING) && (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN))) + { + mechanic = ride_get_assigned_mechanic(ride); - if (mechanic != NULL){ - remove_peep_from_ride(mechanic); - } + if (mechanic != NULL){ + remove_peep_from_ride(mechanic); + } - ride_fix_breakdown(rideIndex, 0); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; - } - } + ride_fix_breakdown(rideIndex, 0); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + } + } } static void cheat_renew_rides() { - sint32 i; - rct_ride *ride; + sint32 i; + rct_ride *ride; - FOR_ALL_RIDES(i, ride) - { - // Set build date to current date (so the ride is brand new) - ride->build_date = gDateMonthsElapsed; - // Set reliability to 100 - ride->reliability = (100 << 8); - } - window_invalidate_by_class(WC_RIDE); + FOR_ALL_RIDES(i, ride) + { + // Set build date to current date (so the ride is brand new) + ride->build_date = gDateMonthsElapsed; + // Set reliability to 100 + ride->reliability = (100 << 8); + } + window_invalidate_by_class(WC_RIDE); } static void cheat_make_destructible() { - sint32 i; - rct_ride *ride; - FOR_ALL_RIDES(i, ride) - { - if (ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE) - ride->lifecycle_flags&=~RIDE_LIFECYCLE_INDESTRUCTIBLE; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK) - ride->lifecycle_flags&=~RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK; - } - window_invalidate_by_class(WC_RIDE); + sint32 i; + rct_ride *ride; + FOR_ALL_RIDES(i, ride) + { + if (ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE) + ride->lifecycle_flags&=~RIDE_LIFECYCLE_INDESTRUCTIBLE; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK) + ride->lifecycle_flags&=~RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK; + } + window_invalidate_by_class(WC_RIDE); } static void cheat_reset_crash_status() { - sint32 i; - rct_ride *ride; + sint32 i; + rct_ride *ride; - FOR_ALL_RIDES(i, ride){ - // Reset crash status - if (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED) - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_CRASHED; - // Reset crash history - ride->last_crash_type = RIDE_CRASH_TYPE_NONE; - } - window_invalidate_by_class(WC_RIDE); + FOR_ALL_RIDES(i, ride){ + // Reset crash status + if (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED) + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_CRASHED; + // Reset crash history + ride->last_crash_type = RIDE_CRASH_TYPE_NONE; + } + window_invalidate_by_class(WC_RIDE); } static void cheat_10_minute_inspections() { - sint32 i; - rct_ride *ride; + sint32 i; + rct_ride *ride; - FOR_ALL_RIDES(i, ride) { - // Set inspection interval to 10 minutes - ride->inspection_interval = RIDE_INSPECTION_EVERY_10_MINUTES; - } - window_invalidate_by_class(WC_RIDE); + FOR_ALL_RIDES(i, ride) { + // Set inspection interval to 10 minutes + ride->inspection_interval = RIDE_INSPECTION_EVERY_10_MINUTES; + } + window_invalidate_by_class(WC_RIDE); } static void cheat_no_money(bool enabled) { - if (enabled) { - gParkFlags |= PARK_FLAGS_NO_MONEY; - } - else { - gParkFlags &= ~PARK_FLAGS_NO_MONEY; - } - // Invalidate all windows that have anything to do with finance - window_invalidate_by_class(WC_RIDE); - window_invalidate_by_class(WC_PEEP); - window_invalidate_by_class(WC_PARK_INFORMATION); - window_invalidate_by_class(WC_FINANCES); - window_invalidate_by_class(WC_BOTTOM_TOOLBAR); - window_invalidate_by_class(WC_TOP_TOOLBAR); - window_invalidate_by_class(WC_CHEATS); + if (enabled) { + gParkFlags |= PARK_FLAGS_NO_MONEY; + } + else { + gParkFlags &= ~PARK_FLAGS_NO_MONEY; + } + // Invalidate all windows that have anything to do with finance + window_invalidate_by_class(WC_RIDE); + window_invalidate_by_class(WC_PEEP); + window_invalidate_by_class(WC_PARK_INFORMATION); + window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_BOTTOM_TOOLBAR); + window_invalidate_by_class(WC_TOP_TOOLBAR); + window_invalidate_by_class(WC_CHEATS); } static void cheat_set_money(money32 amount) { - gCashEncrypted = ENCRYPT_MONEY(amount); + gCashEncrypted = ENCRYPT_MONEY(amount); - window_invalidate_by_class(WC_FINANCES); - window_invalidate_by_class(WC_BOTTOM_TOOLBAR); + window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_BOTTOM_TOOLBAR); } static void cheat_add_money(money32 amount) { - money32 currentMoney = DECRYPT_MONEY(gCashEncrypted); - currentMoney = add_clamp_money32(currentMoney, amount); + money32 currentMoney = DECRYPT_MONEY(gCashEncrypted); + currentMoney = add_clamp_money32(currentMoney, amount); - gCashEncrypted = ENCRYPT_MONEY(currentMoney); + gCashEncrypted = ENCRYPT_MONEY(currentMoney); - window_invalidate_by_class(WC_FINANCES); - window_invalidate_by_class(WC_BOTTOM_TOOLBAR); + window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_BOTTOM_TOOLBAR); } static void cheat_clear_loan() { - // First give money - cheat_add_money(gBankLoan); + // First give money + cheat_add_money(gBankLoan); - // Then pay the loan - money32 newLoan; - newLoan = MONEY(0, 00); - game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, newLoan, GAME_COMMAND_SET_CURRENT_LOAN, 0, 0); + // Then pay the loan + money32 newLoan; + newLoan = MONEY(0, 00); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, newLoan, GAME_COMMAND_SET_CURRENT_LOAN, 0, 0); } static void cheat_generate_guests(sint32 count) { - for (sint32 i = 0; i < count; i++) - park_generate_new_guest(); + for (sint32 i = 0; i < count; i++) + park_generate_new_guest(); - window_invalidate_by_class(WC_BOTTOM_TOOLBAR); + window_invalidate_by_class(WC_BOTTOM_TOOLBAR); } static void cheat_set_guest_parameter(sint32 parameter, sint32 value) { - sint32 spriteIndex; - rct_peep *peep; + sint32 spriteIndex; + rct_peep *peep; - FOR_ALL_GUESTS(spriteIndex, peep) { - switch(parameter) { - case GUEST_PARAMETER_HAPPINESS: - peep->happiness = value; - // Clear the 'red-faced with anger' status if we're making the guest happy - if (value > 0) - { - peep->peep_flags &= ~PEEP_FLAGS_ANGRY; - peep->angriness = 0; - } - break; - case GUEST_PARAMETER_ENERGY: - peep->energy = value; - break; - case GUEST_PARAMETER_HUNGER: - peep->hunger = value; - break; - case GUEST_PARAMETER_THIRST: - peep->thirst = value; - break; - case GUEST_PARAMETER_NAUSEA: - peep->nausea = value; - break; - case GUEST_PARAMETER_NAUSEA_TOLERANCE: - peep->nausea_tolerance = value; - break; - case GUEST_PARAMETER_BATHROOM: - peep->bathroom = value; - break; - case GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY: - peep->intensity = (15 << 4) | value; - break; - } - peep_update_sprite_type(peep); - } + FOR_ALL_GUESTS(spriteIndex, peep) { + switch(parameter) { + case GUEST_PARAMETER_HAPPINESS: + peep->happiness = value; + // Clear the 'red-faced with anger' status if we're making the guest happy + if (value > 0) + { + peep->peep_flags &= ~PEEP_FLAGS_ANGRY; + peep->angriness = 0; + } + break; + case GUEST_PARAMETER_ENERGY: + peep->energy = value; + break; + case GUEST_PARAMETER_HUNGER: + peep->hunger = value; + break; + case GUEST_PARAMETER_THIRST: + peep->thirst = value; + break; + case GUEST_PARAMETER_NAUSEA: + peep->nausea = value; + break; + case GUEST_PARAMETER_NAUSEA_TOLERANCE: + peep->nausea_tolerance = value; + break; + case GUEST_PARAMETER_BATHROOM: + peep->bathroom = value; + break; + case GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY: + peep->intensity = (15 << 4) | value; + break; + } + peep_update_sprite_type(peep); + } } static void cheat_give_all_guests(sint32 object) { - sint32 spriteIndex; - rct_peep *peep; + sint32 spriteIndex; + rct_peep *peep; - FOR_ALL_GUESTS(spriteIndex, peep) { - switch(object) - { - case OBJECT_MONEY: - peep->cash_in_pocket = MONEY(1000,00); - break; - case OBJECT_PARK_MAP: - peep->item_standard_flags |= PEEP_ITEM_MAP; - break; - case OBJECT_BALLOON: - peep->item_standard_flags |= PEEP_ITEM_BALLOON; - peep->balloon_colour = scenario_rand_max(COLOUR_COUNT - 1); - peep_update_sprite_type(peep); - break; - case OBJECT_UMBRELLA: - peep->item_standard_flags |= PEEP_ITEM_UMBRELLA; - peep->umbrella_colour = scenario_rand_max(COLOUR_COUNT - 1); - peep_update_sprite_type(peep); - break; - } - } - window_invalidate_by_class(WC_PEEP); + FOR_ALL_GUESTS(spriteIndex, peep) { + switch(object) + { + case OBJECT_MONEY: + peep->cash_in_pocket = MONEY(1000,00); + break; + case OBJECT_PARK_MAP: + peep->item_standard_flags |= PEEP_ITEM_MAP; + break; + case OBJECT_BALLOON: + peep->item_standard_flags |= PEEP_ITEM_BALLOON; + peep->balloon_colour = scenario_rand_max(COLOUR_COUNT - 1); + peep_update_sprite_type(peep); + break; + case OBJECT_UMBRELLA: + peep->item_standard_flags |= PEEP_ITEM_UMBRELLA; + peep->umbrella_colour = scenario_rand_max(COLOUR_COUNT - 1); + peep_update_sprite_type(peep); + break; + } + } + window_invalidate_by_class(WC_PEEP); } static void cheat_remove_all_guests() { - rct_peep *peep; - rct_vehicle *vehicle; - uint16 spriteIndex, nextSpriteIndex; + rct_peep *peep; + rct_vehicle *vehicle; + uint16 spriteIndex, nextSpriteIndex; - for (spriteIndex = gSpriteListHead[SPRITE_LIST_PEEP]; spriteIndex != SPRITE_INDEX_NULL; spriteIndex = nextSpriteIndex) { - peep = &(get_sprite(spriteIndex)->peep); - nextSpriteIndex = peep->next; - if (peep->type == PEEP_TYPE_GUEST) { - peep_remove(peep); - } - } + for (spriteIndex = gSpriteListHead[SPRITE_LIST_PEEP]; spriteIndex != SPRITE_INDEX_NULL; spriteIndex = nextSpriteIndex) { + peep = &(get_sprite(spriteIndex)->peep); + nextSpriteIndex = peep->next; + if (peep->type == PEEP_TYPE_GUEST) { + peep_remove(peep); + } + } - sint32 rideIndex; - rct_ride *ride; + sint32 rideIndex; + rct_ride *ride; - FOR_ALL_RIDES(rideIndex, ride) - { - ride->num_riders = 0; + FOR_ALL_RIDES(rideIndex, ride) + { + ride->num_riders = 0; - for (size_t stationIndex = 0; stationIndex < RCT12_MAX_STATIONS_PER_RIDE; stationIndex++) - { - ride->queue_length[stationIndex] = 0; - ride->last_peep_in_queue[stationIndex] = SPRITE_INDEX_NULL; - } + for (size_t stationIndex = 0; stationIndex < RCT12_MAX_STATIONS_PER_RIDE; stationIndex++) + { + ride->queue_length[stationIndex] = 0; + ride->last_peep_in_queue[stationIndex] = SPRITE_INDEX_NULL; + } - for (size_t trainIndex = 0; trainIndex < 32; trainIndex++) - { - spriteIndex = ride->vehicles[trainIndex]; - while (spriteIndex != SPRITE_INDEX_NULL) - { - vehicle = GET_VEHICLE(spriteIndex); + for (size_t trainIndex = 0; trainIndex < 32; trainIndex++) + { + spriteIndex = ride->vehicles[trainIndex]; + while (spriteIndex != SPRITE_INDEX_NULL) + { + vehicle = GET_VEHICLE(spriteIndex); - vehicle->num_peeps = 0; - vehicle->next_free_seat = 0; + vehicle->num_peeps = 0; + vehicle->next_free_seat = 0; - for (size_t peepInTrainIndex = 0; peepInTrainIndex < 32; peepInTrainIndex++) - { - vehicle->peep[peepInTrainIndex] = SPRITE_INDEX_NULL; - } + for (size_t peepInTrainIndex = 0; peepInTrainIndex < 32; peepInTrainIndex++) + { + vehicle->peep[peepInTrainIndex] = SPRITE_INDEX_NULL; + } - spriteIndex = vehicle->next_vehicle_on_train; - } - } - } + spriteIndex = vehicle->next_vehicle_on_train; + } + } + } - window_invalidate_by_class(WC_RIDE); - gfx_invalidate_screen(); + window_invalidate_by_class(WC_RIDE); + gfx_invalidate_screen(); } static void cheat_explode_guests() { - sint32 sprite_index; - rct_peep *peep; + sint32 sprite_index; + rct_peep *peep; - FOR_ALL_GUESTS(sprite_index, peep) { - // To prevent blowing up peeps that will break - // ride vehicle logic. - if (peep->state == PEEP_STATE_ENTERING_RIDE || - peep->state == PEEP_STATE_QUEUING_FRONT || - peep->state == PEEP_STATE_LEAVING_RIDE || - peep->state == PEEP_STATE_ON_RIDE || - peep->state == PEEP_STATE_QUEUING) { - continue; - } + FOR_ALL_GUESTS(sprite_index, peep) { + // To prevent blowing up peeps that will break + // ride vehicle logic. + if (peep->state == PEEP_STATE_ENTERING_RIDE || + peep->state == PEEP_STATE_QUEUING_FRONT || + peep->state == PEEP_STATE_LEAVING_RIDE || + peep->state == PEEP_STATE_ON_RIDE || + peep->state == PEEP_STATE_QUEUING) { + continue; + } - if (scenario_rand_max(6) == 0) { - peep->peep_flags |= PEEP_FLAGS_EXPLODE; - } - } + if (scenario_rand_max(6) == 0) { + peep->peep_flags |= PEEP_FLAGS_EXPLODE; + } + } } static void cheat_set_staff_speed(uint8 value) { - uint16 spriteIndex; - rct_peep *peep; + uint16 spriteIndex; + rct_peep *peep; - FOR_ALL_STAFF(spriteIndex, peep) { - peep->energy = value; - peep->energy_growth_rate = value; - } + FOR_ALL_STAFF(spriteIndex, peep) { + peep->energy = value; + peep->energy_growth_rate = value; + } } static void cheat_own_all_land() { - sint32 min = 32; - sint32 max = gMapSizeUnits - 32; - for (sint32 y = min; y <= max; y += 32) { - for (sint32 x = min; x <= max; x += 32) { - rct_map_element * surfaceElement = map_get_surface_element_at(x >> 5, y >> 5); + sint32 min = 32; + sint32 max = gMapSizeUnits - 32; + for (sint32 y = min; y <= max; y += 32) { + for (sint32 x = min; x <= max; x += 32) { + rct_map_element * surfaceElement = map_get_surface_element_at(x >> 5, y >> 5); - // Ignore already owned tiles. - if (surfaceElement->properties.surface.ownership & OWNERSHIP_OWNED) - continue; + // Ignore already owned tiles. + if (surfaceElement->properties.surface.ownership & OWNERSHIP_OWNED) + continue; - sint32 base_z = surfaceElement->base_height; - rct_map_element * mapElement = map_get_first_element_at(x >> 5, y >> 5); - sint32 destOwnership = OWNERSHIP_OWNED; - - do { - sint32 type = map_element_get_type(mapElement); - if (type == MAP_ELEMENT_TYPE_PATH || - (type == MAP_ELEMENT_TYPE_ENTRANCE && mapElement->properties.entrance.type == ENTRANCE_TYPE_PARK_ENTRANCE)) { - destOwnership = OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED; - // Do not own construction rights if too high/below surface - if (mapElement->base_height - 3 > base_z || - mapElement->base_height < base_z) { - destOwnership = 0; - break; - } - } - } while (!map_element_is_last_for_tile(mapElement++)); + sint32 base_z = surfaceElement->base_height; + rct_map_element * mapElement = map_get_first_element_at(x >> 5, y >> 5); + sint32 destOwnership = OWNERSHIP_OWNED; - // only own tiles that were not set to 0 - if (destOwnership != 0) { - surfaceElement->properties.surface.ownership |= destOwnership; - update_park_fences_around_tile(x, y); - uint16 baseHeight = surfaceElement->base_height * 8; - map_invalidate_tile(x, y, baseHeight, baseHeight + 16); - } - } - } + do { + sint32 type = map_element_get_type(mapElement); + if (type == MAP_ELEMENT_TYPE_PATH || + (type == MAP_ELEMENT_TYPE_ENTRANCE && mapElement->properties.entrance.type == ENTRANCE_TYPE_PARK_ENTRANCE)) { + destOwnership = OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED; + // Do not own construction rights if too high/below surface + if (mapElement->base_height - 3 > base_z || + mapElement->base_height < base_z) { + destOwnership = 0; + break; + } + } + } while (!map_element_is_last_for_tile(mapElement++)); - // Completely unown peep spawn points - for (sint32 i = 0; i < MAX_PEEP_SPAWNS; i++) { - sint32 x = gPeepSpawns[i].x; - sint32 y = gPeepSpawns[i].y; - if (x != PEEP_SPAWN_UNDEFINED) { - rct_map_element * surfaceElement = map_get_surface_element_at(x >> 5, y >> 5); - surfaceElement->properties.surface.ownership = 0; - update_park_fences_around_tile(x, y); - uint16 baseHeight = surfaceElement->base_height * 8; - map_invalidate_tile(x, y, baseHeight, baseHeight + 16); - } - } + // only own tiles that were not set to 0 + if (destOwnership != 0) { + surfaceElement->properties.surface.ownership |= destOwnership; + update_park_fences_around_tile(x, y); + uint16 baseHeight = surfaceElement->base_height * 8; + map_invalidate_tile(x, y, baseHeight, baseHeight + 16); + } + } + } - map_count_remaining_land_rights(); + // Completely unown peep spawn points + for (sint32 i = 0; i < MAX_PEEP_SPAWNS; i++) { + sint32 x = gPeepSpawns[i].x; + sint32 y = gPeepSpawns[i].y; + if (x != PEEP_SPAWN_UNDEFINED) { + rct_map_element * surfaceElement = map_get_surface_element_at(x >> 5, y >> 5); + surfaceElement->properties.surface.ownership = 0; + update_park_fences_around_tile(x, y); + uint16 baseHeight = surfaceElement->base_height * 8; + map_invalidate_tile(x, y, baseHeight, baseHeight + 16); + } + } + + map_count_remaining_land_rights(); } #pragma endregion void game_command_cheat(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - sint32 cheat = *ecx; - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - switch (cheat) { - case CHEAT_SANDBOXMODE: gCheatsSandboxMode = *edx != 0; window_invalidate_by_class(WC_MAP); window_invalidate_by_class(WC_FOOTPATH); break; - case CHEAT_DISABLECLEARANCECHECKS: gCheatsDisableClearanceChecks = *edx != 0; break; - case CHEAT_DISABLESUPPORTLIMITS: gCheatsDisableSupportLimits = *edx != 0; break; - case CHEAT_SHOWALLOPERATINGMODES: gCheatsShowAllOperatingModes = *edx != 0; break; - case CHEAT_SHOWVEHICLESFROMOTHERTRACKTYPES: gCheatsShowVehiclesFromOtherTrackTypes = *edx != 0; break; - case CHEAT_FASTLIFTHILL: gCheatsFastLiftHill = *edx != 0; break; - case CHEAT_DISABLEBRAKESFAILURE: gCheatsDisableBrakesFailure = *edx != 0; break; - case CHEAT_DISABLEALLBREAKDOWNS: gCheatsDisableAllBreakdowns = *edx != 0; break; - case CHEAT_DISABLETRAINLENGTHLIMIT: gCheatsDisableTrainLengthLimit = *edx != 0; break; - case CHEAT_ENABLECHAINLIFTONALLTRACK: gCheatsEnableChainLiftOnAllTrack = *edx != 0; break; - case CHEAT_UNLOCKALLPRICES: gCheatsUnlockAllPrices = *edx != 0; window_invalidate_by_class(WC_RIDE); window_invalidate_by_class(WC_PARK_INFORMATION); break; - case CHEAT_BUILDINPAUSEMODE: gCheatsBuildInPauseMode = *edx != 0; break; - case CHEAT_IGNORERIDEINTENSITY: gCheatsIgnoreRideIntensity = *edx != 0; break; - case CHEAT_DISABLEVANDALISM: gCheatsDisableVandalism = *edx != 0; break; - case CHEAT_DISABLELITTERING: gCheatsDisableLittering = *edx != 0; break; - case CHEAT_NOMONEY: cheat_no_money(*edx != 0); break; - case CHEAT_ADDMONEY: cheat_add_money(*edx); break; - case CHEAT_SETMONEY: cheat_set_money(*edx); break; - case CHEAT_CLEARLOAN: cheat_clear_loan(); break; - case CHEAT_SETGUESTPARAMETER: cheat_set_guest_parameter(*edx, *edi); break; - case CHEAT_GENERATEGUESTS: cheat_generate_guests(*edx); break; - case CHEAT_REMOVEALLGUESTS: cheat_remove_all_guests(); break; - case CHEAT_EXPLODEGUESTS: cheat_explode_guests(); break; - case CHEAT_GIVEALLGUESTS: cheat_give_all_guests(*edx); break; - case CHEAT_SETGRASSLENGTH: cheat_set_grass_length(*edx); break; - case CHEAT_WATERPLANTS: cheat_water_plants(); break; - case CHEAT_FIXVANDALISM: cheat_fix_vandalism(); break; - case CHEAT_REMOVELITTER: cheat_remove_litter(); break; - case CHEAT_DISABLEPLANTAGING: gCheatsDisablePlantAging = *edx != 0; break; - case CHEAT_SETSTAFFSPEED: cheat_set_staff_speed(*edx); break; - case CHEAT_RENEWRIDES: cheat_renew_rides(); break; - case CHEAT_MAKEDESTRUCTIBLE: cheat_make_destructible(); break; - case CHEAT_FIXRIDES: cheat_fix_rides(); break; - case CHEAT_RESETCRASHSTATUS: cheat_reset_crash_status(); break; - case CHEAT_10MINUTEINSPECTIONS: cheat_10_minute_inspections(); break; - case CHEAT_WINSCENARIO: scenario_success(); break; - case CHEAT_FORCEWEATHER: climate_force_weather(*edx); break; - case CHEAT_FREEZECLIMATE: gCheatsFreezeClimate = *edx != 0; break; - case CHEAT_NEVERENDINGMARKETING: gCheatsNeverendingMarketing = *edx != 0; break; - case CHEAT_OPENCLOSEPARK: park_set_open(park_is_open() ? 0 : 1); break; - case CHEAT_HAVEFUN: gScenarioObjectiveType = OBJECTIVE_HAVE_FUN; break; - case CHEAT_SETFORCEDPARKRATING: if(*edx > -1) { park_rating_spinner_value = *edx; } set_forced_park_rating(*edx); break; - case CHEAT_RESETDATE: date_reset(); window_invalidate_by_class(WC_BOTTOM_TOOLBAR); break; - case CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES: gCheatsAllowArbitraryRideTypeChanges = *edx != 0; window_invalidate_by_class(WC_RIDE); break; - case CHEAT_OWNALLLAND: cheat_own_all_land(); break; - } - if (network_get_mode() == NETWORK_MODE_NONE) { - config_save_default(); - } - window_invalidate_by_class(WC_CHEATS); - } - *ebx = 0; + sint32 cheat = *ecx; + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + switch (cheat) { + case CHEAT_SANDBOXMODE: gCheatsSandboxMode = *edx != 0; window_invalidate_by_class(WC_MAP); window_invalidate_by_class(WC_FOOTPATH); break; + case CHEAT_DISABLECLEARANCECHECKS: gCheatsDisableClearanceChecks = *edx != 0; break; + case CHEAT_DISABLESUPPORTLIMITS: gCheatsDisableSupportLimits = *edx != 0; break; + case CHEAT_SHOWALLOPERATINGMODES: gCheatsShowAllOperatingModes = *edx != 0; break; + case CHEAT_SHOWVEHICLESFROMOTHERTRACKTYPES: gCheatsShowVehiclesFromOtherTrackTypes = *edx != 0; break; + case CHEAT_FASTLIFTHILL: gCheatsFastLiftHill = *edx != 0; break; + case CHEAT_DISABLEBRAKESFAILURE: gCheatsDisableBrakesFailure = *edx != 0; break; + case CHEAT_DISABLEALLBREAKDOWNS: gCheatsDisableAllBreakdowns = *edx != 0; break; + case CHEAT_DISABLETRAINLENGTHLIMIT: gCheatsDisableTrainLengthLimit = *edx != 0; break; + case CHEAT_ENABLECHAINLIFTONALLTRACK: gCheatsEnableChainLiftOnAllTrack = *edx != 0; break; + case CHEAT_UNLOCKALLPRICES: gCheatsUnlockAllPrices = *edx != 0; window_invalidate_by_class(WC_RIDE); window_invalidate_by_class(WC_PARK_INFORMATION); break; + case CHEAT_BUILDINPAUSEMODE: gCheatsBuildInPauseMode = *edx != 0; break; + case CHEAT_IGNORERIDEINTENSITY: gCheatsIgnoreRideIntensity = *edx != 0; break; + case CHEAT_DISABLEVANDALISM: gCheatsDisableVandalism = *edx != 0; break; + case CHEAT_DISABLELITTERING: gCheatsDisableLittering = *edx != 0; break; + case CHEAT_NOMONEY: cheat_no_money(*edx != 0); break; + case CHEAT_ADDMONEY: cheat_add_money(*edx); break; + case CHEAT_SETMONEY: cheat_set_money(*edx); break; + case CHEAT_CLEARLOAN: cheat_clear_loan(); break; + case CHEAT_SETGUESTPARAMETER: cheat_set_guest_parameter(*edx, *edi); break; + case CHEAT_GENERATEGUESTS: cheat_generate_guests(*edx); break; + case CHEAT_REMOVEALLGUESTS: cheat_remove_all_guests(); break; + case CHEAT_EXPLODEGUESTS: cheat_explode_guests(); break; + case CHEAT_GIVEALLGUESTS: cheat_give_all_guests(*edx); break; + case CHEAT_SETGRASSLENGTH: cheat_set_grass_length(*edx); break; + case CHEAT_WATERPLANTS: cheat_water_plants(); break; + case CHEAT_FIXVANDALISM: cheat_fix_vandalism(); break; + case CHEAT_REMOVELITTER: cheat_remove_litter(); break; + case CHEAT_DISABLEPLANTAGING: gCheatsDisablePlantAging = *edx != 0; break; + case CHEAT_SETSTAFFSPEED: cheat_set_staff_speed(*edx); break; + case CHEAT_RENEWRIDES: cheat_renew_rides(); break; + case CHEAT_MAKEDESTRUCTIBLE: cheat_make_destructible(); break; + case CHEAT_FIXRIDES: cheat_fix_rides(); break; + case CHEAT_RESETCRASHSTATUS: cheat_reset_crash_status(); break; + case CHEAT_10MINUTEINSPECTIONS: cheat_10_minute_inspections(); break; + case CHEAT_WINSCENARIO: scenario_success(); break; + case CHEAT_FORCEWEATHER: climate_force_weather(*edx); break; + case CHEAT_FREEZECLIMATE: gCheatsFreezeClimate = *edx != 0; break; + case CHEAT_NEVERENDINGMARKETING: gCheatsNeverendingMarketing = *edx != 0; break; + case CHEAT_OPENCLOSEPARK: park_set_open(park_is_open() ? 0 : 1); break; + case CHEAT_HAVEFUN: gScenarioObjectiveType = OBJECTIVE_HAVE_FUN; break; + case CHEAT_SETFORCEDPARKRATING: if(*edx > -1) { park_rating_spinner_value = *edx; } set_forced_park_rating(*edx); break; + case CHEAT_RESETDATE: date_reset(); window_invalidate_by_class(WC_BOTTOM_TOOLBAR); break; + case CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES: gCheatsAllowArbitraryRideTypeChanges = *edx != 0; window_invalidate_by_class(WC_RIDE); break; + case CHEAT_OWNALLLAND: cheat_own_all_land(); break; + } + if (network_get_mode() == NETWORK_MODE_NONE) { + config_save_default(); + } + window_invalidate_by_class(WC_CHEATS); + } + *ebx = 0; } void cheats_reset() { - gCheatsSandboxMode = false; - gCheatsDisableClearanceChecks = false; - gCheatsDisableSupportLimits = false; - gCheatsShowAllOperatingModes = false; - gCheatsShowVehiclesFromOtherTrackTypes = false; - gCheatsDisableTrainLengthLimit = false; - gCheatsEnableChainLiftOnAllTrack = false; - gCheatsFastLiftHill = false; - gCheatsDisableBrakesFailure = false; - gCheatsDisableAllBreakdowns = false; - gCheatsUnlockAllPrices = false; - gCheatsBuildInPauseMode = false; - gCheatsIgnoreRideIntensity = false; - gCheatsDisableVandalism = false; - gCheatsDisableLittering = false; - gCheatsNeverendingMarketing = false; - gCheatsFreezeClimate = false; - gCheatsDisablePlantAging = false; - gCheatsAllowArbitraryRideTypeChanges = false; + gCheatsSandboxMode = false; + gCheatsDisableClearanceChecks = false; + gCheatsDisableSupportLimits = false; + gCheatsShowAllOperatingModes = false; + gCheatsShowVehiclesFromOtherTrackTypes = false; + gCheatsDisableTrainLengthLimit = false; + gCheatsEnableChainLiftOnAllTrack = false; + gCheatsFastLiftHill = false; + gCheatsDisableBrakesFailure = false; + gCheatsDisableAllBreakdowns = false; + gCheatsUnlockAllPrices = false; + gCheatsBuildInPauseMode = false; + gCheatsIgnoreRideIntensity = false; + gCheatsDisableVandalism = false; + gCheatsDisableLittering = false; + gCheatsNeverendingMarketing = false; + gCheatsFreezeClimate = false; + gCheatsDisablePlantAging = false; + gCheatsAllowArbitraryRideTypeChanges = false; } //Generates the string to print for the server log when a cheat is used. const char* cheats_get_cheat_string(int cheat, int edx, int edi) { - switch (cheat) { - case CHEAT_SANDBOXMODE: - if (gCheatsSandboxMode) { - return language_get_string(STR_CHEAT_SANDBOX_MODE_DISABLE); - } else { - return language_get_string(STR_CHEAT_SANDBOX_MODE); - } - case CHEAT_DISABLECLEARANCECHECKS: return language_get_string(STR_DISABLE_CLEARANCE_CHECKS); - case CHEAT_DISABLESUPPORTLIMITS: return language_get_string(STR_DISABLE_SUPPORT_LIMITS); - case CHEAT_SHOWALLOPERATINGMODES: return language_get_string(STR_CHEAT_SHOW_ALL_OPERATING_MODES); - case CHEAT_SHOWVEHICLESFROMOTHERTRACKTYPES: return language_get_string(STR_CHEAT_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES); - case CHEAT_FASTLIFTHILL: return language_get_string(STR_CHEAT_UNLOCK_OPERATING_LIMITS); - case CHEAT_DISABLEBRAKESFAILURE: return language_get_string(STR_CHEAT_DISABLE_BRAKES_FAILURE); - case CHEAT_DISABLEALLBREAKDOWNS: return language_get_string(STR_CHEAT_DISABLE_BREAKDOWNS); - case CHEAT_DISABLETRAINLENGTHLIMIT: return language_get_string(STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT); - case CHEAT_ENABLECHAINLIFTONALLTRACK: return language_get_string(STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK); - case CHEAT_UNLOCKALLPRICES: return language_get_string(STR_CHEAT_UNLOCK_PRICES); - case CHEAT_BUILDINPAUSEMODE: return language_get_string(STR_CHEAT_BUILD_IN_PAUSE_MODE); - case CHEAT_IGNORERIDEINTENSITY: return language_get_string(STR_CHEAT_IGNORE_INTENSITY); - case CHEAT_DISABLEVANDALISM: return language_get_string(STR_CHEAT_DISABLE_VANDALISM); - case CHEAT_DISABLELITTERING: return language_get_string(STR_CHEAT_DISABLE_LITTERING); - case CHEAT_ADDMONEY: return language_get_string(STR_LOG_CHEAT_ADD_MONEY); - case CHEAT_CLEARLOAN: return language_get_string(STR_CHEAT_CLEAR_LOAN); - case CHEAT_SETGUESTPARAMETER: - { - static char cheat_string[128]; - safe_strcpy(cheat_string, language_get_string(STR_CHEAT_SET_GUESTS_PARAMETERS), 128); - safe_strcat(cheat_string, " ", 128); - switch (edx) { - case GUEST_PARAMETER_HAPPINESS: - safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_HAPPINESS), 128); - safe_strcat(cheat_string, " ", 128); - if (edi == 255) { - safe_strcat(cheat_string, language_get_string(STR_MAX), 128); - } else if (edi == 0) { - safe_strcat(cheat_string, language_get_string(STR_MIN), 128); - } - break; - case GUEST_PARAMETER_ENERGY: - safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_ENERGY), 128); - safe_strcat(cheat_string, " ", 128); - if (edi == 127) { - safe_strcat(cheat_string, language_get_string(STR_MAX), 128); - } else if (edi == 0) { - safe_strcat(cheat_string, language_get_string(STR_MIN), 128); - } - break; - case GUEST_PARAMETER_HUNGER: - safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_HUNGER), 128); - safe_strcat(cheat_string, " ", 128); - if (edi == 255) { - safe_strcat(cheat_string, language_get_string(STR_MIN), 128); - } else if (edi == 0) { - safe_strcat(cheat_string, language_get_string(STR_MAX), 128); - } - break; - case GUEST_PARAMETER_THIRST: - safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_THIRST), 128); - safe_strcat(cheat_string, " ", 128); - if (edi == 255) { - safe_strcat(cheat_string, language_get_string(STR_MIN), 128); - } else if (edi == 0) { - safe_strcat(cheat_string, language_get_string(STR_MAX), 128); - } - break; - case GUEST_PARAMETER_NAUSEA: - safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_NAUSEA), 128); - safe_strcat(cheat_string, " ", 128); - if (edi == 255) { - safe_strcat(cheat_string, language_get_string(STR_MAX), 128); - } else if (edi == 0) { - safe_strcat(cheat_string, language_get_string(STR_MIN), 128); - } - break; - case GUEST_PARAMETER_NAUSEA_TOLERANCE: - safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_NAUSEA_TOLERANCE), 128); - safe_strcat(cheat_string, " ", 128); - if (edi == PEEP_NAUSEA_TOLERANCE_HIGH) { - safe_strcat(cheat_string, language_get_string(STR_MAX), 128); - } else if (edi == PEEP_NAUSEA_TOLERANCE_NONE) { - safe_strcat(cheat_string, language_get_string(STR_MIN), 128); - } - break; - case GUEST_PARAMETER_BATHROOM: - safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_BATHROOM), 128); - safe_strcat(cheat_string, " ", 128); - if (edi == 255) { - safe_strcat(cheat_string, language_get_string(STR_MAX), 128); - } else if (edi == 0) { - safe_strcat(cheat_string, language_get_string(STR_MIN), 128); - } - break; - case GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY: - safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_PREFERRED_INTENSITY), 128); - safe_strcat(cheat_string, " ", 128); - if (edi == 1) { - safe_strcat(cheat_string, language_get_string(STR_CHEAT_MORE_THAN_1), 128); - } else if (edi == 0) { - safe_strcat(cheat_string, language_get_string(STR_CHEAT_LESS_THAN_15), 128); - } - break; - } - return cheat_string; - } - case CHEAT_GENERATEGUESTS: return language_get_string(STR_CHEAT_LARGE_TRAM_GUESTS); - case CHEAT_REMOVEALLGUESTS: return language_get_string(STR_CHEAT_REMOVE_ALL_GUESTS); - case CHEAT_EXPLODEGUESTS: return language_get_string(STR_CHEAT_EXPLODE); - case CHEAT_GIVEALLGUESTS: - { - static char cheat_string[64]; - safe_strcpy(cheat_string, language_get_string(STR_CHEAT_GIVE_ALL_GUESTS), 64); - safe_strcat(cheat_string, " ", 64); - switch (edx) { - case OBJECT_MONEY: - { - char money[16]; - set_format_arg(0, money32, CHEATS_GIVE_GUESTS_MONEY); - format_string(money, 16, STR_CHEAT_CURRENCY_FORMAT, gCommonFormatArgs); - safe_strcat(cheat_string, money, 64); - break; - } - case OBJECT_PARK_MAP: safe_strcat(cheat_string, language_get_string(STR_SHOP_ITEM_PLURAL_PARK_MAP), 64); break; - case OBJECT_BALLOON: safe_strcat(cheat_string, language_get_string(STR_SHOP_ITEM_PLURAL_BALLOON), 64); break; - case OBJECT_UMBRELLA: safe_strcat(cheat_string, language_get_string(STR_SHOP_ITEM_PLURAL_UMBRELLA), 64); break; - } - return cheat_string; - } - case CHEAT_SETGRASSLENGTH: - if (edx == 0) { - return language_get_string(STR_CHEAT_MOWED_GRASS); - } else if (edx == 1) { - return language_get_string(STR_CHEAT_CLEAR_GRASS); - } - case CHEAT_WATERPLANTS: return language_get_string(STR_CHEAT_WATER_PLANTS); - case CHEAT_FIXVANDALISM: return language_get_string(STR_CHEAT_FIX_VANDALISM); - case CHEAT_REMOVELITTER: return language_get_string(STR_CHEAT_REMOVE_LITTER); - case CHEAT_DISABLEPLANTAGING: return language_get_string(STR_CHEAT_DISABLE_PLANT_AGING); - case CHEAT_SETSTAFFSPEED: - { - static char cheat_string[64]; - safe_strcpy(cheat_string, language_get_string(STR_CHEAT_STAFF_SPEED), 64); - safe_strcat(cheat_string, " ", 64); - if (edx == CHEATS_STAFF_FAST_SPEED) { - safe_strcat(cheat_string, language_get_string(STR_FAST), 64); - } else if (edx == CHEATS_STAFF_NORMAL_SPEED) { - safe_strcat(cheat_string, language_get_string(STR_NORMAL), 64); - } - return cheat_string; - } - case CHEAT_RENEWRIDES: return language_get_string(STR_CHEAT_RENEW_RIDES); - case CHEAT_MAKEDESTRUCTIBLE: return language_get_string(STR_CHEAT_MAKE_DESTRUCTABLE); - case CHEAT_FIXRIDES: return language_get_string(STR_CHEAT_FIX_ALL_RIDES); - case CHEAT_RESETCRASHSTATUS: return language_get_string(STR_CHEAT_RESET_CRASH_STATUS); - case CHEAT_10MINUTEINSPECTIONS: return language_get_string(STR_CHEAT_10_MINUTE_INSPECTIONS); - case CHEAT_WINSCENARIO: return language_get_string(STR_CHEAT_WIN_SCENARIO); - case CHEAT_FORCEWEATHER: - { - static char cheat_string[64]; - safe_strcpy(cheat_string, language_get_string(STR_FORCE_WEATHER), 64); - safe_strcat(cheat_string, " ", 64); - switch (edx) { - case 0: safe_strcat(cheat_string, language_get_string(STR_SUNNY), 64); break; - case 1: safe_strcat(cheat_string, language_get_string(STR_PARTIALLY_CLOUDY), 64); break; - case 2: safe_strcat(cheat_string, language_get_string(STR_CLOUDY), 64); break; - case 3: safe_strcat(cheat_string, language_get_string(STR_RAIN), 64); break; - case 4: safe_strcat(cheat_string, language_get_string(STR_HEAVY_RAIN), 64); break; - case 5: safe_strcat(cheat_string, language_get_string(STR_THUNDERSTORM), 64); break; - } - return cheat_string; - } - case CHEAT_FREEZECLIMATE: - if (gCheatsFreezeClimate) { - return language_get_string(STR_CHEAT_UNFREEZE_CLIMATE); - } else { - return language_get_string(STR_CHEAT_FREEZE_CLIMATE); - } - case CHEAT_NEVERENDINGMARKETING: return language_get_string(STR_CHEAT_NEVERENDING_MARKETING); - case CHEAT_OPENCLOSEPARK: - if (park_is_open()) { - return language_get_string(STR_CHEAT_CLOSE_PARK); - } else { - return language_get_string(STR_CHEAT_OPEN_PARK); - } - case CHEAT_HAVEFUN: return language_get_string(STR_CHEAT_HAVE_FUN); - case CHEAT_SETFORCEDPARKRATING: - { - static char cheat_string[64]; - safe_strcpy(cheat_string, language_get_string(STR_FORCE_PARK_RATING), 64); - safe_strcat(cheat_string, " ", 64); + switch (cheat) { + case CHEAT_SANDBOXMODE: + if (gCheatsSandboxMode) { + return language_get_string(STR_CHEAT_SANDBOX_MODE_DISABLE); + } else { + return language_get_string(STR_CHEAT_SANDBOX_MODE); + } + case CHEAT_DISABLECLEARANCECHECKS: return language_get_string(STR_DISABLE_CLEARANCE_CHECKS); + case CHEAT_DISABLESUPPORTLIMITS: return language_get_string(STR_DISABLE_SUPPORT_LIMITS); + case CHEAT_SHOWALLOPERATINGMODES: return language_get_string(STR_CHEAT_SHOW_ALL_OPERATING_MODES); + case CHEAT_SHOWVEHICLESFROMOTHERTRACKTYPES: return language_get_string(STR_CHEAT_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES); + case CHEAT_FASTLIFTHILL: return language_get_string(STR_CHEAT_UNLOCK_OPERATING_LIMITS); + case CHEAT_DISABLEBRAKESFAILURE: return language_get_string(STR_CHEAT_DISABLE_BRAKES_FAILURE); + case CHEAT_DISABLEALLBREAKDOWNS: return language_get_string(STR_CHEAT_DISABLE_BREAKDOWNS); + case CHEAT_DISABLETRAINLENGTHLIMIT: return language_get_string(STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT); + case CHEAT_ENABLECHAINLIFTONALLTRACK: return language_get_string(STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK); + case CHEAT_UNLOCKALLPRICES: return language_get_string(STR_CHEAT_UNLOCK_PRICES); + case CHEAT_BUILDINPAUSEMODE: return language_get_string(STR_CHEAT_BUILD_IN_PAUSE_MODE); + case CHEAT_IGNORERIDEINTENSITY: return language_get_string(STR_CHEAT_IGNORE_INTENSITY); + case CHEAT_DISABLEVANDALISM: return language_get_string(STR_CHEAT_DISABLE_VANDALISM); + case CHEAT_DISABLELITTERING: return language_get_string(STR_CHEAT_DISABLE_LITTERING); + case CHEAT_ADDMONEY: return language_get_string(STR_LOG_CHEAT_ADD_MONEY); + case CHEAT_CLEARLOAN: return language_get_string(STR_CHEAT_CLEAR_LOAN); + case CHEAT_SETGUESTPARAMETER: + { + static char cheat_string[128]; + safe_strcpy(cheat_string, language_get_string(STR_CHEAT_SET_GUESTS_PARAMETERS), 128); + safe_strcat(cheat_string, " ", 128); + switch (edx) { + case GUEST_PARAMETER_HAPPINESS: + safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_HAPPINESS), 128); + safe_strcat(cheat_string, " ", 128); + if (edi == 255) { + safe_strcat(cheat_string, language_get_string(STR_MAX), 128); + } else if (edi == 0) { + safe_strcat(cheat_string, language_get_string(STR_MIN), 128); + } + break; + case GUEST_PARAMETER_ENERGY: + safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_ENERGY), 128); + safe_strcat(cheat_string, " ", 128); + if (edi == 127) { + safe_strcat(cheat_string, language_get_string(STR_MAX), 128); + } else if (edi == 0) { + safe_strcat(cheat_string, language_get_string(STR_MIN), 128); + } + break; + case GUEST_PARAMETER_HUNGER: + safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_HUNGER), 128); + safe_strcat(cheat_string, " ", 128); + if (edi == 255) { + safe_strcat(cheat_string, language_get_string(STR_MIN), 128); + } else if (edi == 0) { + safe_strcat(cheat_string, language_get_string(STR_MAX), 128); + } + break; + case GUEST_PARAMETER_THIRST: + safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_THIRST), 128); + safe_strcat(cheat_string, " ", 128); + if (edi == 255) { + safe_strcat(cheat_string, language_get_string(STR_MIN), 128); + } else if (edi == 0) { + safe_strcat(cheat_string, language_get_string(STR_MAX), 128); + } + break; + case GUEST_PARAMETER_NAUSEA: + safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_NAUSEA), 128); + safe_strcat(cheat_string, " ", 128); + if (edi == 255) { + safe_strcat(cheat_string, language_get_string(STR_MAX), 128); + } else if (edi == 0) { + safe_strcat(cheat_string, language_get_string(STR_MIN), 128); + } + break; + case GUEST_PARAMETER_NAUSEA_TOLERANCE: + safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_NAUSEA_TOLERANCE), 128); + safe_strcat(cheat_string, " ", 128); + if (edi == PEEP_NAUSEA_TOLERANCE_HIGH) { + safe_strcat(cheat_string, language_get_string(STR_MAX), 128); + } else if (edi == PEEP_NAUSEA_TOLERANCE_NONE) { + safe_strcat(cheat_string, language_get_string(STR_MIN), 128); + } + break; + case GUEST_PARAMETER_BATHROOM: + safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_BATHROOM), 128); + safe_strcat(cheat_string, " ", 128); + if (edi == 255) { + safe_strcat(cheat_string, language_get_string(STR_MAX), 128); + } else if (edi == 0) { + safe_strcat(cheat_string, language_get_string(STR_MIN), 128); + } + break; + case GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY: + safe_strcat(cheat_string, language_get_string(STR_CHEAT_GUEST_PREFERRED_INTENSITY), 128); + safe_strcat(cheat_string, " ", 128); + if (edi == 1) { + safe_strcat(cheat_string, language_get_string(STR_CHEAT_MORE_THAN_1), 128); + } else if (edi == 0) { + safe_strcat(cheat_string, language_get_string(STR_CHEAT_LESS_THAN_15), 128); + } + break; + } + return cheat_string; + } + case CHEAT_GENERATEGUESTS: return language_get_string(STR_CHEAT_LARGE_TRAM_GUESTS); + case CHEAT_REMOVEALLGUESTS: return language_get_string(STR_CHEAT_REMOVE_ALL_GUESTS); + case CHEAT_EXPLODEGUESTS: return language_get_string(STR_CHEAT_EXPLODE); + case CHEAT_GIVEALLGUESTS: + { + static char cheat_string[64]; + safe_strcpy(cheat_string, language_get_string(STR_CHEAT_GIVE_ALL_GUESTS), 64); + safe_strcat(cheat_string, " ", 64); + switch (edx) { + case OBJECT_MONEY: + { + char money[16]; + set_format_arg(0, money32, CHEATS_GIVE_GUESTS_MONEY); + format_string(money, 16, STR_CHEAT_CURRENCY_FORMAT, gCommonFormatArgs); + safe_strcat(cheat_string, money, 64); + break; + } + case OBJECT_PARK_MAP: safe_strcat(cheat_string, language_get_string(STR_SHOP_ITEM_PLURAL_PARK_MAP), 64); break; + case OBJECT_BALLOON: safe_strcat(cheat_string, language_get_string(STR_SHOP_ITEM_PLURAL_BALLOON), 64); break; + case OBJECT_UMBRELLA: safe_strcat(cheat_string, language_get_string(STR_SHOP_ITEM_PLURAL_UMBRELLA), 64); break; + } + return cheat_string; + } + case CHEAT_SETGRASSLENGTH: + if (edx == 0) { + return language_get_string(STR_CHEAT_MOWED_GRASS); + } else if (edx == 1) { + return language_get_string(STR_CHEAT_CLEAR_GRASS); + } + case CHEAT_WATERPLANTS: return language_get_string(STR_CHEAT_WATER_PLANTS); + case CHEAT_FIXVANDALISM: return language_get_string(STR_CHEAT_FIX_VANDALISM); + case CHEAT_REMOVELITTER: return language_get_string(STR_CHEAT_REMOVE_LITTER); + case CHEAT_DISABLEPLANTAGING: return language_get_string(STR_CHEAT_DISABLE_PLANT_AGING); + case CHEAT_SETSTAFFSPEED: + { + static char cheat_string[64]; + safe_strcpy(cheat_string, language_get_string(STR_CHEAT_STAFF_SPEED), 64); + safe_strcat(cheat_string, " ", 64); + if (edx == CHEATS_STAFF_FAST_SPEED) { + safe_strcat(cheat_string, language_get_string(STR_FAST), 64); + } else if (edx == CHEATS_STAFF_NORMAL_SPEED) { + safe_strcat(cheat_string, language_get_string(STR_NORMAL), 64); + } + return cheat_string; + } + case CHEAT_RENEWRIDES: return language_get_string(STR_CHEAT_RENEW_RIDES); + case CHEAT_MAKEDESTRUCTIBLE: return language_get_string(STR_CHEAT_MAKE_DESTRUCTABLE); + case CHEAT_FIXRIDES: return language_get_string(STR_CHEAT_FIX_ALL_RIDES); + case CHEAT_RESETCRASHSTATUS: return language_get_string(STR_CHEAT_RESET_CRASH_STATUS); + case CHEAT_10MINUTEINSPECTIONS: return language_get_string(STR_CHEAT_10_MINUTE_INSPECTIONS); + case CHEAT_WINSCENARIO: return language_get_string(STR_CHEAT_WIN_SCENARIO); + case CHEAT_FORCEWEATHER: + { + static char cheat_string[64]; + safe_strcpy(cheat_string, language_get_string(STR_FORCE_WEATHER), 64); + safe_strcat(cheat_string, " ", 64); + switch (edx) { + case 0: safe_strcat(cheat_string, language_get_string(STR_SUNNY), 64); break; + case 1: safe_strcat(cheat_string, language_get_string(STR_PARTIALLY_CLOUDY), 64); break; + case 2: safe_strcat(cheat_string, language_get_string(STR_CLOUDY), 64); break; + case 3: safe_strcat(cheat_string, language_get_string(STR_RAIN), 64); break; + case 4: safe_strcat(cheat_string, language_get_string(STR_HEAVY_RAIN), 64); break; + case 5: safe_strcat(cheat_string, language_get_string(STR_THUNDERSTORM), 64); break; + } + return cheat_string; + } + case CHEAT_FREEZECLIMATE: + if (gCheatsFreezeClimate) { + return language_get_string(STR_CHEAT_UNFREEZE_CLIMATE); + } else { + return language_get_string(STR_CHEAT_FREEZE_CLIMATE); + } + case CHEAT_NEVERENDINGMARKETING: return language_get_string(STR_CHEAT_NEVERENDING_MARKETING); + case CHEAT_OPENCLOSEPARK: + if (park_is_open()) { + return language_get_string(STR_CHEAT_CLOSE_PARK); + } else { + return language_get_string(STR_CHEAT_OPEN_PARK); + } + case CHEAT_HAVEFUN: return language_get_string(STR_CHEAT_HAVE_FUN); + case CHEAT_SETFORCEDPARKRATING: + { + static char cheat_string[64]; + safe_strcpy(cheat_string, language_get_string(STR_FORCE_PARK_RATING), 64); + safe_strcat(cheat_string, " ", 64); - char buffer[8]; - snprintf(buffer, sizeof(buffer), "%d", park_rating_spinner_value); - char* park_rating = buffer; - safe_strcat(cheat_string, park_rating, 64); + char buffer[8]; + snprintf(buffer, sizeof(buffer), "%d", park_rating_spinner_value); + char* park_rating = buffer; + safe_strcat(cheat_string, park_rating, 64); - return cheat_string; - } - case CHEAT_RESETDATE: return language_get_string(STR_CHEAT_RESET_DATE); - case CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES: return language_get_string(STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES); - } + return cheat_string; + } + case CHEAT_RESETDATE: return language_get_string(STR_CHEAT_RESET_DATE); + case CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES: return language_get_string(STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES); + } - return ""; + return ""; } diff --git a/src/openrct2/cheats.h b/src/openrct2/cheats.h index ba0f02e9ee..7b0e348833 100644 --- a/src/openrct2/cheats.h +++ b/src/openrct2/cheats.h @@ -41,69 +41,69 @@ extern bool gCheatsAllowArbitraryRideTypeChanges; enum { - CHEAT_SANDBOXMODE, - CHEAT_DISABLECLEARANCECHECKS, - CHEAT_DISABLESUPPORTLIMITS, - CHEAT_SHOWALLOPERATINGMODES, - CHEAT_SHOWVEHICLESFROMOTHERTRACKTYPES, - CHEAT_DISABLETRAINLENGTHLIMIT, - CHEAT_ENABLECHAINLIFTONALLTRACK, - CHEAT_FASTLIFTHILL, - CHEAT_DISABLEBRAKESFAILURE, - CHEAT_DISABLEALLBREAKDOWNS, - CHEAT_UNLOCKALLPRICES, - CHEAT_BUILDINPAUSEMODE, - CHEAT_IGNORERIDEINTENSITY, - CHEAT_DISABLEVANDALISM, - CHEAT_DISABLELITTERING, - CHEAT_NOMONEY, - CHEAT_ADDMONEY, - CHEAT_SETMONEY, - CHEAT_CLEARLOAN, - CHEAT_SETGUESTPARAMETER, - CHEAT_GENERATEGUESTS, - CHEAT_REMOVEALLGUESTS, - CHEAT_EXPLODEGUESTS, - CHEAT_GIVEALLGUESTS, - CHEAT_SETGRASSLENGTH, - CHEAT_WATERPLANTS, - CHEAT_DISABLEPLANTAGING, - CHEAT_FIXVANDALISM, - CHEAT_REMOVELITTER, - CHEAT_SETSTAFFSPEED, - CHEAT_RENEWRIDES, - CHEAT_MAKEDESTRUCTIBLE, - CHEAT_FIXRIDES, - CHEAT_RESETCRASHSTATUS, - CHEAT_10MINUTEINSPECTIONS, - CHEAT_WINSCENARIO, - CHEAT_FORCEWEATHER, - CHEAT_FREEZECLIMATE, - CHEAT_OPENCLOSEPARK, - CHEAT_HAVEFUN, - CHEAT_SETFORCEDPARKRATING, - CHEAT_NEVERENDINGMARKETING, - CHEAT_RESETDATE, - CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES, - CHEAT_OWNALLLAND, + CHEAT_SANDBOXMODE, + CHEAT_DISABLECLEARANCECHECKS, + CHEAT_DISABLESUPPORTLIMITS, + CHEAT_SHOWALLOPERATINGMODES, + CHEAT_SHOWVEHICLESFROMOTHERTRACKTYPES, + CHEAT_DISABLETRAINLENGTHLIMIT, + CHEAT_ENABLECHAINLIFTONALLTRACK, + CHEAT_FASTLIFTHILL, + CHEAT_DISABLEBRAKESFAILURE, + CHEAT_DISABLEALLBREAKDOWNS, + CHEAT_UNLOCKALLPRICES, + CHEAT_BUILDINPAUSEMODE, + CHEAT_IGNORERIDEINTENSITY, + CHEAT_DISABLEVANDALISM, + CHEAT_DISABLELITTERING, + CHEAT_NOMONEY, + CHEAT_ADDMONEY, + CHEAT_SETMONEY, + CHEAT_CLEARLOAN, + CHEAT_SETGUESTPARAMETER, + CHEAT_GENERATEGUESTS, + CHEAT_REMOVEALLGUESTS, + CHEAT_EXPLODEGUESTS, + CHEAT_GIVEALLGUESTS, + CHEAT_SETGRASSLENGTH, + CHEAT_WATERPLANTS, + CHEAT_DISABLEPLANTAGING, + CHEAT_FIXVANDALISM, + CHEAT_REMOVELITTER, + CHEAT_SETSTAFFSPEED, + CHEAT_RENEWRIDES, + CHEAT_MAKEDESTRUCTIBLE, + CHEAT_FIXRIDES, + CHEAT_RESETCRASHSTATUS, + CHEAT_10MINUTEINSPECTIONS, + CHEAT_WINSCENARIO, + CHEAT_FORCEWEATHER, + CHEAT_FREEZECLIMATE, + CHEAT_OPENCLOSEPARK, + CHEAT_HAVEFUN, + CHEAT_SETFORCEDPARKRATING, + CHEAT_NEVERENDINGMARKETING, + CHEAT_RESETDATE, + CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES, + CHEAT_OWNALLLAND, }; enum { - GUEST_PARAMETER_HAPPINESS, - GUEST_PARAMETER_ENERGY, - GUEST_PARAMETER_HUNGER, - GUEST_PARAMETER_THIRST, - GUEST_PARAMETER_NAUSEA, - GUEST_PARAMETER_NAUSEA_TOLERANCE, - GUEST_PARAMETER_BATHROOM, - GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY + GUEST_PARAMETER_HAPPINESS, + GUEST_PARAMETER_ENERGY, + GUEST_PARAMETER_HUNGER, + GUEST_PARAMETER_THIRST, + GUEST_PARAMETER_NAUSEA, + GUEST_PARAMETER_NAUSEA_TOLERANCE, + GUEST_PARAMETER_BATHROOM, + GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY }; enum { - OBJECT_MONEY, - OBJECT_PARK_MAP, - OBJECT_BALLOON, - OBJECT_UMBRELLA + OBJECT_MONEY, + OBJECT_PARK_MAP, + OBJECT_BALLOON, + OBJECT_UMBRELLA }; #define CHEATS_MONEY_INCREMENT MONEY(5000,00) diff --git a/src/openrct2/cmdline_sprite.c b/src/openrct2/cmdline_sprite.c index 68661d83e7..3b0b46d218 100644 --- a/src/openrct2/cmdline_sprite.c +++ b/src/openrct2/cmdline_sprite.c @@ -33,19 +33,19 @@ extern sint32 gSpriteMode; #pragma pack(push, 1) typedef struct rct_sprite_file_header { - uint32 num_entries; - uint32 total_size; + uint32 num_entries; + uint32 total_size; } rct_sprite_file_header; assert_struct_size(rct_sprite_file_header, 8); typedef struct rct_sprite_file_palette_entry { - uint8 b, g, r, a; + uint8 b, g, r, a; } rct_sprite_file_palette_entry; typedef struct rle_code { - uint8 num_pixels; - uint8 offset_x; + uint8 num_pixels; + uint8 offset_x; } rle_code; assert_struct_size(rle_code, 2); @@ -79,1005 +79,1005 @@ static FILE * fopen_utf8(const char * path, const char * mode) static void sprite_file_load_palette(sint32 spriteIndex) { - rct_g1_element *g1 = &spriteFileEntries[spriteIndex]; - sint32 numPaletteEntries = g1->width; - uint8* src = g1->offset; - rct_sprite_file_palette_entry *destPaletteEntry = &spriteFilePalette[g1->x_offset]; - for (; numPaletteEntries > 0; numPaletteEntries--) { - destPaletteEntry->b = src[0]; - destPaletteEntry->g = src[1]; - destPaletteEntry->r = src[2]; - src += 3; - destPaletteEntry++; - } + rct_g1_element *g1 = &spriteFileEntries[spriteIndex]; + sint32 numPaletteEntries = g1->width; + uint8* src = g1->offset; + rct_sprite_file_palette_entry *destPaletteEntry = &spriteFilePalette[g1->x_offset]; + for (; numPaletteEntries > 0; numPaletteEntries--) { + destPaletteEntry->b = src[0]; + destPaletteEntry->g = src[1]; + destPaletteEntry->r = src[2]; + src += 3; + destPaletteEntry++; + } } static void sprite_entries_make_absolute() { - for (uint32 i = 0; i < spriteFileHeader.num_entries; i++) - spriteFileEntries[i].offset += (uintptr_t)spriteFileData; + for (uint32 i = 0; i < spriteFileHeader.num_entries; i++) + spriteFileEntries[i].offset += (uintptr_t)spriteFileData; } static void sprite_entries_make_relative() { - for (uint32 i = 0; i < spriteFileHeader.num_entries; i++) - spriteFileEntries[i].offset -= (uintptr_t)spriteFileData; + for (uint32 i = 0; i < spriteFileHeader.num_entries; i++) + spriteFileEntries[i].offset -= (uintptr_t)spriteFileData; } static bool sprite_file_open(const utf8 *path) { - FILE * file = fopen(path, "rb"); - if (file == NULL) - return false; + FILE * file = fopen(path, "rb"); + if (file == NULL) + return false; - if (fread(&spriteFileHeader, sizeof(rct_sprite_file_header), 1, file) != 1) { - fclose(file); - return false; - } + if (fread(&spriteFileHeader, sizeof(rct_sprite_file_header), 1, file) != 1) { + fclose(file); + return false; + } - if (spriteFileHeader.num_entries > 0) { - sint32 openEntryTableSize = spriteFileHeader.num_entries * sizeof(rct_g1_element_32bit); - rct_g1_element_32bit * openElements = (rct_g1_element_32bit *)malloc(openEntryTableSize); - if (openElements == NULL) { - fclose(file); - return false; - } + if (spriteFileHeader.num_entries > 0) { + sint32 openEntryTableSize = spriteFileHeader.num_entries * sizeof(rct_g1_element_32bit); + rct_g1_element_32bit * openElements = (rct_g1_element_32bit *)malloc(openEntryTableSize); + if (openElements == NULL) { + fclose(file); + return false; + } - if (fread(openElements, openEntryTableSize, 1, file) != 1) { - free(openElements); - fclose(file); - return false; - } + if (fread(openElements, openEntryTableSize, 1, file) != 1) { + free(openElements); + fclose(file); + return false; + } - spriteFileData = malloc(spriteFileHeader.total_size); - if (fread(spriteFileData, spriteFileHeader.total_size, 1, file) != 1) { - free(spriteFileData); - free(openElements); - fclose(file); - return false; - } + spriteFileData = malloc(spriteFileHeader.total_size); + if (fread(spriteFileData, spriteFileHeader.total_size, 1, file) != 1) { + free(spriteFileData); + free(openElements); + fclose(file); + return false; + } - sint32 entryTableSize = spriteFileHeader.num_entries * sizeof(rct_g1_element); - spriteFileEntries = malloc(entryTableSize); - for (uint32 i = 0; i < spriteFileHeader.num_entries; i++) { - rct_g1_element_32bit * inElement = &openElements[i]; - rct_g1_element * outElement = &spriteFileEntries[i]; + sint32 entryTableSize = spriteFileHeader.num_entries * sizeof(rct_g1_element); + spriteFileEntries = malloc(entryTableSize); + for (uint32 i = 0; i < spriteFileHeader.num_entries; i++) { + rct_g1_element_32bit * inElement = &openElements[i]; + rct_g1_element * outElement = &spriteFileEntries[i]; - outElement->offset = (uint8*)((uintptr_t)inElement->offset + (uintptr_t)spriteFileData); - outElement->width = inElement->width; - outElement->height = inElement->height; - outElement->x_offset = inElement->x_offset; - outElement->y_offset = inElement->y_offset; - outElement->flags = inElement->flags; - outElement->zoomed_offset = inElement->zoomed_offset; - } + outElement->offset = (uint8*)((uintptr_t)inElement->offset + (uintptr_t)spriteFileData); + outElement->width = inElement->width; + outElement->height = inElement->height; + outElement->x_offset = inElement->x_offset; + outElement->y_offset = inElement->y_offset; + outElement->flags = inElement->flags; + outElement->zoomed_offset = inElement->zoomed_offset; + } - free(openElements); - } + free(openElements); + } - fclose(file); - return true; + fclose(file); + return true; } static bool sprite_file_save(const char *path) { - FILE * file = fopen(path, "wb"); - if (file == NULL) - return false; + FILE * file = fopen(path, "wb"); + if (file == NULL) + return false; - if (fwrite(&spriteFileHeader, sizeof(rct_sprite_file_header), 1, file) != 1) { - fclose(file); - return false; - } + if (fwrite(&spriteFileHeader, sizeof(rct_sprite_file_header), 1, file) != 1) { + fclose(file); + return false; + } - if (spriteFileHeader.num_entries > 0) { - sint32 saveEntryTableSize = spriteFileHeader.num_entries * sizeof(rct_g1_element_32bit); - rct_g1_element_32bit * saveElements = (rct_g1_element_32bit *)malloc(saveEntryTableSize); - if (saveElements == NULL) { - fclose(file); - return false; - } + if (spriteFileHeader.num_entries > 0) { + sint32 saveEntryTableSize = spriteFileHeader.num_entries * sizeof(rct_g1_element_32bit); + rct_g1_element_32bit * saveElements = (rct_g1_element_32bit *)malloc(saveEntryTableSize); + if (saveElements == NULL) { + fclose(file); + return false; + } - for (uint32 i = 0; i < spriteFileHeader.num_entries; i++) { - rct_g1_element * inElement = &spriteFileEntries[i]; - rct_g1_element_32bit * outElement = &saveElements[i]; + for (uint32 i = 0; i < spriteFileHeader.num_entries; i++) { + rct_g1_element * inElement = &spriteFileEntries[i]; + rct_g1_element_32bit * outElement = &saveElements[i]; - outElement->offset = (uint32)((uintptr_t)inElement->offset - (uintptr_t)spriteFileData); - outElement->width = inElement->width; - outElement->height = inElement->height; - outElement->x_offset = inElement->x_offset; - outElement->y_offset = inElement->y_offset; - outElement->flags = inElement->flags; - outElement->zoomed_offset = inElement->zoomed_offset; - } + outElement->offset = (uint32)((uintptr_t)inElement->offset - (uintptr_t)spriteFileData); + outElement->width = inElement->width; + outElement->height = inElement->height; + outElement->x_offset = inElement->x_offset; + outElement->y_offset = inElement->y_offset; + outElement->flags = inElement->flags; + outElement->zoomed_offset = inElement->zoomed_offset; + } - if (fwrite(saveElements, saveEntryTableSize, 1, file) != 1) { - free(saveElements); - fclose(file); - return false; - } - free(saveElements); + if (fwrite(saveElements, saveEntryTableSize, 1, file) != 1) { + free(saveElements); + fclose(file); + return false; + } + free(saveElements); - if (fwrite(spriteFileData, spriteFileHeader.total_size, 1, file) != 1) { - fclose(file); - return false; - } - } + if (fwrite(spriteFileData, spriteFileHeader.total_size, 1, file) != 1) { + fclose(file); + return false; + } + } - fclose(file); - return true; + fclose(file); + return true; } static void sprite_file_close() { - SafeFree(spriteFileEntries); - SafeFree(spriteFileData); + SafeFree(spriteFileEntries); + SafeFree(spriteFileData); } static bool sprite_file_export(sint32 spriteIndex, const char *outPath) { - rct_g1_element *spriteHeader; - rct_drawpixelinfo dpi; - uint8 *pixels; - sint32 pixelBufferSize; + rct_g1_element *spriteHeader; + rct_drawpixelinfo dpi; + uint8 *pixels; + sint32 pixelBufferSize; - spriteHeader = &spriteFileEntries[spriteIndex]; - pixelBufferSize = spriteHeader->width * spriteHeader->height; - pixels = malloc(pixelBufferSize); - memset(pixels, 0, pixelBufferSize); + spriteHeader = &spriteFileEntries[spriteIndex]; + pixelBufferSize = spriteHeader->width * spriteHeader->height; + pixels = malloc(pixelBufferSize); + memset(pixels, 0, pixelBufferSize); - dpi.bits = pixels; - dpi.x = 0; - dpi.y = 0; - dpi.width = spriteHeader->width; - dpi.height = spriteHeader->height; - dpi.pitch = 0; - dpi.zoom_level = 0; + dpi.bits = pixels; + dpi.x = 0; + dpi.y = 0; + dpi.width = spriteHeader->width; + dpi.height = spriteHeader->height; + dpi.pitch = 0; + dpi.zoom_level = 0; - memcpy(spriteFilePalette, _standardPalette, 256 * 4); + memcpy(spriteFilePalette, _standardPalette, 256 * 4); - if (spriteHeader->flags & G1_FLAG_RLE_COMPRESSION) { - gfx_rle_sprite_to_buffer(spriteHeader->offset, pixels, (uint8*)spriteFilePalette, &dpi, IMAGE_TYPE_DEFAULT, 0, spriteHeader->height, 0, spriteHeader->width); - } else { - gfx_bmp_sprite_to_buffer((uint8*)spriteFilePalette, NULL, spriteHeader->offset, pixels, spriteHeader, &dpi, spriteHeader->height, spriteHeader->width, IMAGE_TYPE_DEFAULT); - } + if (spriteHeader->flags & G1_FLAG_RLE_COMPRESSION) { + gfx_rle_sprite_to_buffer(spriteHeader->offset, pixels, (uint8*)spriteFilePalette, &dpi, IMAGE_TYPE_DEFAULT, 0, spriteHeader->height, 0, spriteHeader->width); + } else { + gfx_bmp_sprite_to_buffer((uint8*)spriteFilePalette, NULL, spriteHeader->offset, pixels, spriteHeader, &dpi, spriteHeader->height, spriteHeader->width, IMAGE_TYPE_DEFAULT); + } - if (image_io_png_write(&dpi, (rct_palette*)spriteFilePalette, outPath)) { - return true; - } else { - fprintf(stderr, "Error writing PNG"); - return false; - } + if (image_io_png_write(&dpi, (rct_palette*)spriteFilePalette, outPath)) { + return true; + } else { + fprintf(stderr, "Error writing PNG"); + return false; + } } static bool is_transparent_pixel(sint16 *colour){ - return colour[3] < 128; + return colour[3] < 128; } // Returns true if pixel index is an index not used for remapping static bool is_changable_pixel(sint32 palette_index) { - if (palette_index == -1) - return true; - if (palette_index == 0) - return false; - if (palette_index >= 203 && palette_index < 214) - return false; - if (palette_index == 226) - return false; - if (palette_index >= 227 && palette_index < 229) - return false; - if (palette_index >= 243) - return false; - return true; + if (palette_index == -1) + return true; + if (palette_index == 0) + return false; + if (palette_index >= 203 && palette_index < 214) + return false; + if (palette_index == 226) + return false; + if (palette_index >= 227 && palette_index < 229) + return false; + if (palette_index >= 243) + return false; + return true; } static sint32 get_closest_palette_index(sint16 *colour){ - uint32 smallest_error = -1; - sint32 best_match = -1; + uint32 smallest_error = -1; + sint32 best_match = -1; - for (sint32 x = 0; x < 256; x++){ - if (is_changable_pixel(x)){ - uint32 error = - ((sint16)(spriteFilePalette[x].r) - colour[0]) * ((sint16)(spriteFilePalette[x].r) - colour[0]) + - ((sint16)(spriteFilePalette[x].g) - colour[1]) * ((sint16)(spriteFilePalette[x].g) - colour[1]) + - ((sint16)(spriteFilePalette[x].b) - colour[2]) * ((sint16)(spriteFilePalette[x].b) - colour[2]); + for (sint32 x = 0; x < 256; x++){ + if (is_changable_pixel(x)){ + uint32 error = + ((sint16)(spriteFilePalette[x].r) - colour[0]) * ((sint16)(spriteFilePalette[x].r) - colour[0]) + + ((sint16)(spriteFilePalette[x].g) - colour[1]) * ((sint16)(spriteFilePalette[x].g) - colour[1]) + + ((sint16)(spriteFilePalette[x].b) - colour[2]) * ((sint16)(spriteFilePalette[x].b) - colour[2]); - if (smallest_error == -1 || smallest_error > error){ - best_match = x; - smallest_error = error; - } - } - } - return best_match; + if (smallest_error == -1 || smallest_error > error){ + best_match = x; + smallest_error = error; + } + } + } + return best_match; } static sint32 get_palette_index(sint16 *colour) { - if (is_transparent_pixel(colour)) - return -1; + if (is_transparent_pixel(colour)) + return -1; - for (sint32 i = 0; i < 256; i++) { - if ((sint16)(spriteFilePalette[i].r) != colour[0]) continue; - if ((sint16)(spriteFilePalette[i].g) != colour[1]) continue; - if ((sint16)(spriteFilePalette[i].b) != colour[2]) continue; - return i; - } + for (sint32 i = 0; i < 256; i++) { + if ((sint16)(spriteFilePalette[i].r) != colour[0]) continue; + if ((sint16)(spriteFilePalette[i].g) != colour[1]) continue; + if ((sint16)(spriteFilePalette[i].b) != colour[2]) continue; + return i; + } - return -1; + return -1; } static bool sprite_file_import(const char *path, sint16 x_offset, sint16 y_offset, rct_g1_element *outElement, uint8 **outBuffer, int *outBufferLength, sint32 mode) { - uint8 *pixels; - uint32 width, height; - if (!image_io_png_read(&pixels, &width, &height, path)) { - fprintf(stderr, "Error reading PNG"); - return false; - } + uint8 *pixels; + uint32 width, height; + if (!image_io_png_read(&pixels, &width, &height, path)) { + fprintf(stderr, "Error reading PNG"); + return false; + } - if (width > 256 || height > 256) { - fprintf(stderr, "Only images 256x256 or less are supported."); - free(pixels); - return false; - } + if (width > 256 || height > 256) { + fprintf(stderr, "Only images 256x256 or less are supported."); + free(pixels); + return false; + } - memcpy(spriteFilePalette, _standardPalette, 256 * 4); + memcpy(spriteFilePalette, _standardPalette, 256 * 4); - uint8 *buffer = malloc((height * 2) + (width * height * 16)); - memset(buffer, 0, (height * 2) + (width * height * 16)); - uint16 *yOffsets = (uint16*)buffer; + uint8 *buffer = malloc((height * 2) + (width * height * 16)); + memset(buffer, 0, (height * 2) + (width * height * 16)); + uint16 *yOffsets = (uint16*)buffer; - // A larger range is needed for proper dithering - sint16 *src = malloc(height * width * 4 * 2); - sint16 *src_orig = src; - for (uint32 x = 0; x < height * width * 4; x++){ - src[x] = (sint16) pixels[x]; - } + // A larger range is needed for proper dithering + sint16 *src = malloc(height * width * 4 * 2); + sint16 *src_orig = src; + for (uint32 x = 0; x < height * width * 4; x++){ + src[x] = (sint16) pixels[x]; + } - uint8 *dst = buffer + (height * 2); + uint8 *dst = buffer + (height * 2); - for (uint32 y = 0; y < height; y++) { - rle_code *previousCode, *currentCode; + for (uint32 y = 0; y < height; y++) { + rle_code *previousCode, *currentCode; - yOffsets[y] = (uint16)(dst - buffer); + yOffsets[y] = (uint16)(dst - buffer); - previousCode = NULL; - currentCode = (rle_code*)dst; - dst += 2; - sint32 startX = 0; - sint32 npixels = 0; - bool pushRun = false; - for (uint32 x = 0; x < width; x++) { - sint32 paletteIndex = get_palette_index(src); + previousCode = NULL; + currentCode = (rle_code*)dst; + dst += 2; + sint32 startX = 0; + sint32 npixels = 0; + bool pushRun = false; + for (uint32 x = 0; x < width; x++) { + sint32 paletteIndex = get_palette_index(src); - if (mode == MODE_CLOSEST || mode == MODE_DITHERING) - if (paletteIndex == -1 && !is_transparent_pixel(src)) - paletteIndex = get_closest_palette_index(src); + if (mode == MODE_CLOSEST || mode == MODE_DITHERING) + if (paletteIndex == -1 && !is_transparent_pixel(src)) + paletteIndex = get_closest_palette_index(src); - if (mode == MODE_DITHERING) - if (!is_transparent_pixel(src) && is_changable_pixel(get_palette_index(src))){ - sint16 dr = src[0] - (sint16)(spriteFilePalette[paletteIndex].r); - sint16 dg = src[1] - (sint16)(spriteFilePalette[paletteIndex].g); - sint16 db = src[2] - (sint16)(spriteFilePalette[paletteIndex].b); + if (mode == MODE_DITHERING) + if (!is_transparent_pixel(src) && is_changable_pixel(get_palette_index(src))){ + sint16 dr = src[0] - (sint16)(spriteFilePalette[paletteIndex].r); + sint16 dg = src[1] - (sint16)(spriteFilePalette[paletteIndex].g); + sint16 db = src[2] - (sint16)(spriteFilePalette[paletteIndex].b); - if (x + 1 < width){ - if (!is_transparent_pixel(src + 4) && is_changable_pixel(get_palette_index(src + 4))){ - // Right - src[4] += dr * 7 / 16; - src[5] += dg * 7 / 16; - src[6] += db * 7 / 16; - } - } + if (x + 1 < width){ + if (!is_transparent_pixel(src + 4) && is_changable_pixel(get_palette_index(src + 4))){ + // Right + src[4] += dr * 7 / 16; + src[5] += dg * 7 / 16; + src[6] += db * 7 / 16; + } + } - if (y + 1 < height){ - if (x > 0){ - if (!is_transparent_pixel(src + 4 * (width - 1)) && is_changable_pixel(get_palette_index(src + 4 * (width - 1)))){ - // Bottom left - src[4 * (width - 1)] += dr * 3 / 16; - src[4 * (width - 1) + 1] += dg * 3 / 16; - src[4 * (width - 1) + 2] += db * 3 / 16; - } - } + if (y + 1 < height){ + if (x > 0){ + if (!is_transparent_pixel(src + 4 * (width - 1)) && is_changable_pixel(get_palette_index(src + 4 * (width - 1)))){ + // Bottom left + src[4 * (width - 1)] += dr * 3 / 16; + src[4 * (width - 1) + 1] += dg * 3 / 16; + src[4 * (width - 1) + 2] += db * 3 / 16; + } + } - // Bottom - if (!is_transparent_pixel(src + 4 * width) && is_changable_pixel(get_palette_index(src + 4 * width))){ - src[4 * width] += dr * 5 / 16; - src[4 * width + 1] += dg * 5 / 16; - src[4 * width + 2] += db * 5 / 16; - } + // Bottom + if (!is_transparent_pixel(src + 4 * width) && is_changable_pixel(get_palette_index(src + 4 * width))){ + src[4 * width] += dr * 5 / 16; + src[4 * width + 1] += dg * 5 / 16; + src[4 * width + 2] += db * 5 / 16; + } - if (x + 1 < width){ - if (!is_transparent_pixel(src + 4 * (width - 1)) && is_changable_pixel(get_palette_index(src + 4 * (width + 1)))){ - // Bottom right - src[4 * (width + 1)] += dr * 1 / 16; - src[4 * (width + 1) + 1] += dg * 1 / 16; - src[4 * (width + 1) + 2] += db * 1 / 16; - } - } - } - } + if (x + 1 < width){ + if (!is_transparent_pixel(src + 4 * (width - 1)) && is_changable_pixel(get_palette_index(src + 4 * (width + 1)))){ + // Bottom right + src[4 * (width + 1)] += dr * 1 / 16; + src[4 * (width + 1) + 1] += dg * 1 / 16; + src[4 * (width + 1) + 2] += db * 1 / 16; + } + } + } + } - src += 4; - if (paletteIndex == -1) { - if (npixels != 0) { - x--; - src -= 4; - pushRun = true; - } - } else { - if (npixels == 0) - startX = x; - npixels++; - *dst++ = (uint8)paletteIndex; - } - if (npixels == 127 || x == width - 1) - pushRun = true; + src += 4; + if (paletteIndex == -1) { + if (npixels != 0) { + x--; + src -= 4; + pushRun = true; + } + } else { + if (npixels == 0) + startX = x; + npixels++; + *dst++ = (uint8)paletteIndex; + } + if (npixels == 127 || x == width - 1) + pushRun = true; - if (pushRun) { - if (npixels > 0) { - previousCode = currentCode; - currentCode->num_pixels = npixels; - currentCode->offset_x = startX; + if (pushRun) { + if (npixels > 0) { + previousCode = currentCode; + currentCode->num_pixels = npixels; + currentCode->offset_x = startX; - if (x == width - 1) - currentCode->num_pixels |= 0x80; + if (x == width - 1) + currentCode->num_pixels |= 0x80; - currentCode = (rle_code*)dst; - dst += 2; - } else { - if (previousCode == NULL) { - currentCode->num_pixels = 0x80; - currentCode->offset_x = 0; - } else { - previousCode->num_pixels |= 0x80; - dst -= 2; - } - } - startX = 0; - npixels = 0; - pushRun = false; - } - } - } - free(pixels); - free(src_orig); + currentCode = (rle_code*)dst; + dst += 2; + } else { + if (previousCode == NULL) { + currentCode->num_pixels = 0x80; + currentCode->offset_x = 0; + } else { + previousCode->num_pixels |= 0x80; + dst -= 2; + } + } + startX = 0; + npixels = 0; + pushRun = false; + } + } + } + free(pixels); + free(src_orig); - sint32 bufferLength = (sint32)(dst - buffer); - buffer = realloc(buffer, bufferLength); + sint32 bufferLength = (sint32)(dst - buffer); + buffer = realloc(buffer, bufferLength); - outElement->offset = buffer; - outElement->width = width; - outElement->height = height; - outElement->flags = G1_FLAG_RLE_COMPRESSION; - outElement->x_offset = x_offset; - outElement->y_offset = y_offset; - outElement->zoomed_offset = 0; + outElement->offset = buffer; + outElement->width = width; + outElement->height = height; + outElement->flags = G1_FLAG_RLE_COMPRESSION; + outElement->x_offset = x_offset; + outElement->y_offset = y_offset; + outElement->zoomed_offset = 0; - *outBuffer = buffer; - *outBufferLength = bufferLength; - return true; + *outBuffer = buffer; + *outBufferLength = bufferLength; + return true; } sint32 cmdline_for_sprite(const char **argv, sint32 argc) { - gOpenRCT2Headless = true; - if (argc == 0) - return -1; + gOpenRCT2Headless = true; + if (argc == 0) + return -1; - if (_strcmpi(argv[0], "details") == 0) { - if (argc < 2) { - fprintf(stdout, "usage: sprite details [idx]\n"); - return -1; - } else if (argc == 2) { - const char *spriteFilePath = argv[1]; + if (_strcmpi(argv[0], "details") == 0) { + if (argc < 2) { + fprintf(stdout, "usage: sprite details [idx]\n"); + return -1; + } else if (argc == 2) { + const char *spriteFilePath = argv[1]; - if (!sprite_file_open(spriteFilePath)) { - fprintf(stderr, "Unable to open input sprite file.\n"); - return -1; - } + if (!sprite_file_open(spriteFilePath)) { + fprintf(stderr, "Unable to open input sprite file.\n"); + return -1; + } - printf("sprites: %u\n", spriteFileHeader.num_entries); - printf("data size: %u\n", spriteFileHeader.total_size); + printf("sprites: %u\n", spriteFileHeader.num_entries); + printf("data size: %u\n", spriteFileHeader.total_size); - sprite_file_close(); - return 1; - } else { - const char *spriteFilePath = argv[1]; - sint32 spriteIndex = atoi(argv[2]); + sprite_file_close(); + return 1; + } else { + const char *spriteFilePath = argv[1]; + sint32 spriteIndex = atoi(argv[2]); - if (!sprite_file_open(spriteFilePath)) { - fprintf(stderr, "Unable to open input sprite file.\n"); - return -1; - } + if (!sprite_file_open(spriteFilePath)) { + fprintf(stderr, "Unable to open input sprite file.\n"); + return -1; + } - if (spriteIndex < 0 || spriteIndex >= (sint32)spriteFileHeader.num_entries) { - sprite_file_close(); - fprintf(stderr, "Sprite #%d does not exist in sprite file.\n", spriteIndex); - return -1; - } + if (spriteIndex < 0 || spriteIndex >= (sint32)spriteFileHeader.num_entries) { + sprite_file_close(); + fprintf(stderr, "Sprite #%d does not exist in sprite file.\n", spriteIndex); + return -1; + } - rct_g1_element *g1 = &spriteFileEntries[spriteIndex]; - printf("width: %d\n", g1->width); - printf("height: %d\n", g1->height); - printf("x offset: %d\n", g1->x_offset); - printf("y offset: %d\n", g1->y_offset); - printf("data offset: %p\n", g1->offset); + rct_g1_element *g1 = &spriteFileEntries[spriteIndex]; + printf("width: %d\n", g1->width); + printf("height: %d\n", g1->height); + printf("x offset: %d\n", g1->x_offset); + printf("y offset: %d\n", g1->y_offset); + printf("data offset: %p\n", g1->offset); - sprite_file_close(); - return 1; - } - } else if (_strcmpi(argv[0], "export") == 0) { - if (argc < 4) { - fprintf(stdout, "usage: sprite export \n"); - return -1; - } + sprite_file_close(); + return 1; + } + } else if (_strcmpi(argv[0], "export") == 0) { + if (argc < 4) { + fprintf(stdout, "usage: sprite export \n"); + return -1; + } - const char *spriteFilePath = argv[1]; - sint32 spriteIndex = atoi(argv[2]); - const char *outputPath = argv[3]; + const char *spriteFilePath = argv[1]; + sint32 spriteIndex = atoi(argv[2]); + const char *outputPath = argv[3]; - if (!sprite_file_open(spriteFilePath)) { - fprintf(stderr, "Unable to open input sprite file.\n"); - return -1; - } + if (!sprite_file_open(spriteFilePath)) { + fprintf(stderr, "Unable to open input sprite file.\n"); + return -1; + } - if (spriteIndex < 0 || spriteIndex >= (sint32)spriteFileHeader.num_entries) { - fprintf(stderr, "Sprite #%d does not exist in sprite file.\n", spriteIndex); - return -1; - } + if (spriteIndex < 0 || spriteIndex >= (sint32)spriteFileHeader.num_entries) { + fprintf(stderr, "Sprite #%d does not exist in sprite file.\n", spriteIndex); + return -1; + } - if (!sprite_file_export(spriteIndex, outputPath)) { - fprintf(stderr, "Could not export\n"); - sprite_file_close(); - return -1; - } + if (!sprite_file_export(spriteIndex, outputPath)) { + fprintf(stderr, "Could not export\n"); + sprite_file_close(); + return -1; + } - sprite_file_close(); - return 1; - } else if (_strcmpi(argv[0], "exportall") == 0) { - if (argc < 3) { - fprintf(stdout, "usage: sprite exportall \n"); - return -1; - } + sprite_file_close(); + return 1; + } else if (_strcmpi(argv[0], "exportall") == 0) { + if (argc < 3) { + fprintf(stdout, "usage: sprite exportall \n"); + return -1; + } - const char *spriteFilePath = argv[1]; - char outputPath[MAX_PATH]; + const char *spriteFilePath = argv[1]; + char outputPath[MAX_PATH]; - if (!sprite_file_open(spriteFilePath)) { - fprintf(stderr, "Unable to open input sprite file.\n"); - return -1; - } + if (!sprite_file_open(spriteFilePath)) { + fprintf(stderr, "Unable to open input sprite file.\n"); + return -1; + } - safe_strcpy(outputPath, argv[2], MAX_PATH); - path_end_with_separator(outputPath, MAX_PATH); + safe_strcpy(outputPath, argv[2], MAX_PATH); + path_end_with_separator(outputPath, MAX_PATH); - if (!platform_ensure_directory_exists(outputPath)){ - fprintf(stderr, "Unable to create directory.\n"); - return -1; - } + if (!platform_ensure_directory_exists(outputPath)){ + fprintf(stderr, "Unable to create directory.\n"); + return -1; + } - sint32 maxIndex = (sint32)spriteFileHeader.num_entries; - sint32 numbers = (sint32)floor(log(maxIndex)); - size_t pathLen = strlen(outputPath); + sint32 maxIndex = (sint32)spriteFileHeader.num_entries; + sint32 numbers = (sint32)floor(log(maxIndex)); + size_t pathLen = strlen(outputPath); - if (pathLen >= (size_t)(MAX_PATH - numbers - 5)) { - fprintf(stderr, "Path too long.\n"); - return -1; - } + if (pathLen >= (size_t)(MAX_PATH - numbers - 5)) { + fprintf(stderr, "Path too long.\n"); + return -1; + } - for (sint32 x = 0; x < numbers; x++){ - outputPath[pathLen + x] = '0'; - } - safe_strcpy(outputPath + pathLen + numbers, ".png", MAX_PATH - pathLen - numbers); + for (sint32 x = 0; x < numbers; x++){ + outputPath[pathLen + x] = '0'; + } + safe_strcpy(outputPath + pathLen + numbers, ".png", MAX_PATH - pathLen - numbers); - for (sint32 spriteIndex = 0; spriteIndex < maxIndex; spriteIndex++){ + for (sint32 spriteIndex = 0; spriteIndex < maxIndex; spriteIndex++){ - if (spriteIndex % 100 == 99){ - // Status indicator - printf("\r%d / %d, %d%%", spriteIndex, maxIndex, spriteIndex / maxIndex); - } + if (spriteIndex % 100 == 99){ + // Status indicator + printf("\r%d / %d, %d%%", spriteIndex, maxIndex, spriteIndex / maxIndex); + } - // Add to the index at the end of the file name - char *counter = outputPath + pathLen + numbers - 1; - (*counter)++; - while (*counter > '9'){ - *counter = '0'; - counter--; - (*counter)++; - } + // Add to the index at the end of the file name + char *counter = outputPath + pathLen + numbers - 1; + (*counter)++; + while (*counter > '9'){ + *counter = '0'; + counter--; + (*counter)++; + } - if (!sprite_file_export(spriteIndex, outputPath)) { - fprintf(stderr, "Could not export\n"); - sprite_file_close(); - return -1; - } - } + if (!sprite_file_export(spriteIndex, outputPath)) { + fprintf(stderr, "Could not export\n"); + sprite_file_close(); + return -1; + } + } - sprite_file_close(); - return 1; + sprite_file_close(); + return 1; - } else if (_strcmpi(argv[0], "create") == 0) { - if (argc < 2) { - fprintf(stderr, "usage: sprite create \n"); - return -1; - } + } else if (_strcmpi(argv[0], "create") == 0) { + if (argc < 2) { + fprintf(stderr, "usage: sprite create \n"); + return -1; + } - const char *spriteFilePath = argv[1]; + const char *spriteFilePath = argv[1]; - spriteFileHeader.num_entries = 0; - spriteFileHeader.total_size = 0; - sprite_file_save(spriteFilePath); + spriteFileHeader.num_entries = 0; + spriteFileHeader.total_size = 0; + sprite_file_save(spriteFilePath); - sprite_file_close(); - return 1; - } else if (_strcmpi(argv[0], "append") == 0) { - if (argc != 3 && argc != 5) { - fprintf(stderr, "usage: sprite append [ ]\n"); - return -1; - } + sprite_file_close(); + return 1; + } else if (_strcmpi(argv[0], "append") == 0) { + if (argc != 3 && argc != 5) { + fprintf(stderr, "usage: sprite append [ ]\n"); + return -1; + } - const char *spriteFilePath = argv[1]; - const char *imagePath = argv[2]; - sint16 x_offset = 0; - sint16 y_offset = 0; + const char *spriteFilePath = argv[1]; + const char *imagePath = argv[2]; + sint16 x_offset = 0; + sint16 y_offset = 0; - if (argc == 5) - { - char *endptr; + if (argc == 5) + { + char *endptr; - x_offset = strtol(argv[3], &endptr, 0); - if (*endptr != 0) - { - fprintf(stderr, "X offset must be an integer\n"); - return -1; - } + x_offset = strtol(argv[3], &endptr, 0); + if (*endptr != 0) + { + fprintf(stderr, "X offset must be an integer\n"); + return -1; + } - y_offset = strtol(argv[4], &endptr, 0); - if (*endptr != 0) - { - fprintf(stderr, "Y offset must be an integer\n"); - return -1; - } - } + y_offset = strtol(argv[4], &endptr, 0); + if (*endptr != 0) + { + fprintf(stderr, "Y offset must be an integer\n"); + return -1; + } + } - rct_g1_element spriteElement; - uint8 *buffer; + rct_g1_element spriteElement; + uint8 *buffer; - sint32 bufferLength; - if (!sprite_file_import(imagePath, x_offset, y_offset, &spriteElement, &buffer, &bufferLength, gSpriteMode)) + sint32 bufferLength; + if (!sprite_file_import(imagePath, x_offset, y_offset, &spriteElement, &buffer, &bufferLength, gSpriteMode)) - return -1; + return -1; - if (!sprite_file_open(spriteFilePath)) { - fprintf(stderr, "Unable to open input sprite file.\n"); - return -1; - } + if (!sprite_file_open(spriteFilePath)) { + fprintf(stderr, "Unable to open input sprite file.\n"); + return -1; + } - spriteFileHeader.num_entries++; - spriteFileHeader.total_size += bufferLength; - spriteFileEntries = realloc(spriteFileEntries, spriteFileHeader.num_entries * sizeof(rct_g1_element)); + spriteFileHeader.num_entries++; + spriteFileHeader.total_size += bufferLength; + spriteFileEntries = realloc(spriteFileEntries, spriteFileHeader.num_entries * sizeof(rct_g1_element)); - sprite_entries_make_relative(); - spriteFileData = realloc(spriteFileData, spriteFileHeader.total_size); - sprite_entries_make_absolute(); + sprite_entries_make_relative(); + spriteFileData = realloc(spriteFileData, spriteFileHeader.total_size); + sprite_entries_make_absolute(); - spriteFileEntries[spriteFileHeader.num_entries - 1] = spriteElement; - memcpy(spriteFileData + (spriteFileHeader.total_size - bufferLength), buffer, bufferLength); - spriteFileEntries[spriteFileHeader.num_entries - 1].offset = spriteFileData + (spriteFileHeader.total_size - bufferLength); + spriteFileEntries[spriteFileHeader.num_entries - 1] = spriteElement; + memcpy(spriteFileData + (spriteFileHeader.total_size - bufferLength), buffer, bufferLength); + spriteFileEntries[spriteFileHeader.num_entries - 1].offset = spriteFileData + (spriteFileHeader.total_size - bufferLength); - free(buffer); - if (!sprite_file_save(spriteFilePath)) - return -1; + free(buffer); + if (!sprite_file_save(spriteFilePath)) + return -1; - return 1; - } else if (_strcmpi(argv[0], "build") == 0) { - if (argc < 3) { - fprintf(stdout, "usage: sprite build [silent]\n"); - return -1; - } + return 1; + } else if (_strcmpi(argv[0], "build") == 0) { + if (argc < 3) { + fprintf(stdout, "usage: sprite build [silent]\n"); + return -1; + } - const char *spriteFilePath = argv[1]; - const char *spriteDescriptionPath = argv[2]; - char* directoryPath = path_get_directory(spriteDescriptionPath); + const char *spriteFilePath = argv[1]; + const char *spriteDescriptionPath = argv[2]; + char* directoryPath = path_get_directory(spriteDescriptionPath); - json_error_t error; - json_t* sprite_list=json_load_file(spriteDescriptionPath, JSON_REJECT_DUPLICATES, &error); - - if (sprite_list == NULL) - { - fprintf(stderr, "Error parsing sprite description file: %s at line %d column %d\n", error.text, error.line, error.column); - return -1; - } + json_error_t error; + json_t* sprite_list=json_load_file(spriteDescriptionPath, JSON_REJECT_DUPLICATES, &error); - if (!json_is_array(sprite_list)) - { - fprintf(stderr, "Error: expected array\n"); - json_decref(sprite_list); - return -1; - } + if (sprite_list == NULL) + { + fprintf(stderr, "Error parsing sprite description file: %s at line %d column %d\n", error.text, error.line, error.column); + return -1; + } - bool silent = (argc >= 4 && strcmp(argv[3], "silent") == 0); + if (!json_is_array(sprite_list)) + { + fprintf(stderr, "Error: expected array\n"); + json_decref(sprite_list); + return -1; + } - spriteFileHeader.num_entries = 0; - spriteFileHeader.total_size = 0; - sprite_file_save(spriteFilePath); + bool silent = (argc >= 4 && strcmp(argv[3], "silent") == 0); - fprintf(stdout, "Building: %s\n", spriteFilePath); + spriteFileHeader.num_entries = 0; + spriteFileHeader.total_size = 0; + sprite_file_save(spriteFilePath); - size_t i; - json_t* sprite_description; + fprintf(stdout, "Building: %s\n", spriteFilePath); - json_array_foreach(sprite_list, i, sprite_description) - { - if(!json_is_object(sprite_description)) - { - fprintf(stderr, "Error: expected object for sprite %lu\n", (unsigned long)i); - json_decref(sprite_list); - return -1; - } - - json_t* path = json_object_get(sprite_description,"path"); - if(!path || !json_is_string(path)) - { - fprintf(stderr, "Error: no path provided for sprite %lu\n", (unsigned long)i); - json_decref(sprite_list); - return -1; - } - // Get x and y offsets, if present - json_t* x_offset = json_object_get(sprite_description, "x_offset"); - json_t* y_offset = json_object_get(sprite_description, "y_offset"); + size_t i; + json_t* sprite_description; - - // Resolve absolute sprite path - char *imagePath = platform_get_absolute_path(json_string_value(path), directoryPath); + json_array_foreach(sprite_list, i, sprite_description) + { + if(!json_is_object(sprite_description)) + { + fprintf(stderr, "Error: expected object for sprite %lu\n", (unsigned long)i); + json_decref(sprite_list); + return -1; + } - rct_g1_element spriteElement; - uint8 *buffer; - int bufferLength; + json_t* path = json_object_get(sprite_description,"path"); + if(!path || !json_is_string(path)) + { + fprintf(stderr, "Error: no path provided for sprite %lu\n", (unsigned long)i); + json_decref(sprite_list); + return -1; + } + // Get x and y offsets, if present + json_t* x_offset = json_object_get(sprite_description, "x_offset"); + json_t* y_offset = json_object_get(sprite_description, "y_offset"); - if (!sprite_file_import(imagePath, x_offset==NULL ? 0 : json_integer_value(x_offset), y_offset==NULL ? 0 : json_integer_value(y_offset), &spriteElement, &buffer, &bufferLength, gSpriteMode)) - { - fprintf(stderr, "Could not import image file: %s\nCanceling\n", imagePath); - json_decref(sprite_list); - free(imagePath); - return -1; - } - if (!sprite_file_open(spriteFilePath)) - { - fprintf(stderr, "Unable to open sprite file: %s\nCanceling\n", spriteFilePath); - json_decref(sprite_list); - free(imagePath); - return -1; - } + // Resolve absolute sprite path + char *imagePath = platform_get_absolute_path(json_string_value(path), directoryPath); - spriteFileHeader.num_entries++; - spriteFileHeader.total_size += bufferLength; - spriteFileEntries = realloc(spriteFileEntries, spriteFileHeader.num_entries * sizeof(rct_g1_element)); + rct_g1_element spriteElement; + uint8 *buffer; + int bufferLength; - sprite_entries_make_relative(); - spriteFileData = realloc(spriteFileData, spriteFileHeader.total_size); - sprite_entries_make_absolute(); + if (!sprite_file_import(imagePath, x_offset==NULL ? 0 : json_integer_value(x_offset), y_offset==NULL ? 0 : json_integer_value(y_offset), &spriteElement, &buffer, &bufferLength, gSpriteMode)) + { + fprintf(stderr, "Could not import image file: %s\nCanceling\n", imagePath); + json_decref(sprite_list); + free(imagePath); + return -1; + } - spriteFileEntries[spriteFileHeader.num_entries - 1] = spriteElement; - memcpy(spriteFileData + (spriteFileHeader.total_size - bufferLength), buffer, bufferLength); - spriteFileEntries[spriteFileHeader.num_entries - 1].offset = spriteFileData + (spriteFileHeader.total_size - bufferLength); + if (!sprite_file_open(spriteFilePath)) + { + fprintf(stderr, "Unable to open sprite file: %s\nCanceling\n", spriteFilePath); + json_decref(sprite_list); + free(imagePath); + return -1; + } - free(buffer); + spriteFileHeader.num_entries++; + spriteFileHeader.total_size += bufferLength; + spriteFileEntries = realloc(spriteFileEntries, spriteFileHeader.num_entries * sizeof(rct_g1_element)); - if (!sprite_file_save(spriteFilePath)) - { - fprintf(stderr, "Could not save sprite file: %s\nCanceling\n", imagePath); - json_decref(sprite_list); - free(imagePath); - return -1; - } + sprite_entries_make_relative(); + spriteFileData = realloc(spriteFileData, spriteFileHeader.total_size); + sprite_entries_make_absolute(); - if (!silent) - fprintf(stdout, "Added: %s\n", imagePath); + spriteFileEntries[spriteFileHeader.num_entries - 1] = spriteElement; + memcpy(spriteFileData + (spriteFileHeader.total_size - bufferLength), buffer, bufferLength); + spriteFileEntries[spriteFileHeader.num_entries - 1].offset = spriteFileData + (spriteFileHeader.total_size - bufferLength); - free(imagePath); - sprite_file_close(); + free(buffer); - } + if (!sprite_file_save(spriteFilePath)) + { + fprintf(stderr, "Could not save sprite file: %s\nCanceling\n", imagePath); + json_decref(sprite_list); + free(imagePath); + return -1; + } - json_decref(sprite_list); - free(directoryPath); - - fprintf(stdout, "Finished\n"); - return 1; - } else { - fprintf(stderr, "Unknown sprite command."); - return 1; - } + if (!silent) + fprintf(stdout, "Added: %s\n", imagePath); + + free(imagePath); + sprite_file_close(); + + } + + json_decref(sprite_list); + free(directoryPath); + + fprintf(stdout, "Finished\n"); + return 1; + } else { + fprintf(stderr, "Unknown sprite command."); + return 1; + } } static rct_sprite_file_palette_entry _standardPalette[256] = { - // 0 (unused) - { 0, 0, 0, 255 }, + // 0 (unused) + { 0, 0, 0, 255 }, - // 1 - 9 (misc. e.g. font and water) - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, + // 1 - 9 (misc. e.g. font and water) + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, - // - { 35, 35, 23, 255 }, - { 51, 51, 35, 255 }, - { 67, 67, 47, 255 }, - { 83, 83, 63, 255 }, - { 99, 99, 75, 255 }, - { 115, 115, 91, 255 }, - { 131, 131, 111, 255 }, - { 151, 151, 131, 255 }, - { 175, 175, 159, 255 }, - { 195, 195, 183, 255 }, - { 219, 219, 211, 255 }, - { 243, 243, 239, 255 }, - { 0, 47, 51, 255 }, - { 0, 59, 63, 255 }, - { 11, 75, 79, 255 }, - { 19, 91, 91, 255 }, - { 31, 107, 107, 255 }, - { 47, 123, 119, 255 }, - { 59, 139, 135, 255 }, - { 79, 155, 151, 255 }, - { 95, 175, 167, 255 }, - { 115, 191, 187, 255 }, - { 139, 207, 203, 255 }, - { 163, 227, 223, 255 }, - { 7, 43, 67, 255 }, - { 11, 59, 87, 255 }, - { 23, 75, 111, 255 }, - { 31, 87, 127, 255 }, - { 39, 99, 143, 255 }, - { 51, 115, 159, 255 }, - { 67, 131, 179, 255 }, - { 87, 151, 191, 255 }, - { 111, 175, 203, 255 }, - { 135, 199, 219, 255 }, - { 163, 219, 231, 255 }, - { 195, 239, 247, 255 }, - { 0, 27, 71, 255 }, - { 0, 43, 95, 255 }, - { 0, 63, 119, 255 }, - { 7, 83, 143, 255 }, - { 7, 111, 167, 255 }, - { 15, 139, 191, 255 }, - { 19, 167, 215, 255 }, - { 27, 203, 243, 255 }, - { 47, 231, 255, 255 }, - { 95, 243, 255, 255 }, - { 143, 251, 255, 255 }, - { 195, 255, 255, 255 }, - { 0, 0, 35, 255 }, - { 0, 0, 79, 255 }, - { 7, 7, 95, 255 }, - { 15, 15, 111, 255 }, - { 27, 27, 127, 255 }, - { 39, 39, 143, 255 }, - { 59, 59, 163, 255 }, - { 79, 79, 179, 255 }, - { 103, 103, 199, 255 }, - { 127, 127, 215, 255 }, - { 159, 159, 235, 255 }, - { 191, 191, 255, 255 }, - { 19, 51, 27, 255 }, - { 23, 63, 35, 255 }, - { 31, 79, 47, 255 }, - { 39, 95, 59, 255 }, - { 43, 111, 71, 255 }, - { 51, 127, 87, 255 }, - { 59, 143, 99, 255 }, - { 67, 155, 115, 255 }, - { 75, 171, 131, 255 }, - { 83, 187, 147, 255 }, - { 95, 203, 163, 255 }, - { 103, 219, 183, 255 }, - { 27, 55, 31, 255 }, - { 35, 71, 47, 255 }, - { 43, 83, 59, 255 }, - { 55, 99, 75, 255 }, - { 67, 111, 91, 255 }, - { 79, 135, 111, 255 }, - { 95, 159, 135, 255 }, - { 111, 183, 159, 255 }, - { 127, 207, 183, 255 }, - { 147, 219, 195, 255 }, - { 167, 231, 207, 255 }, - { 191, 247, 223, 255 }, - { 0, 63, 15, 255 }, - { 0, 83, 19, 255 }, - { 0, 103, 23, 255 }, - { 0, 123, 31, 255 }, - { 7, 143, 39, 255 }, - { 23, 159, 55, 255 }, - { 39, 175, 71, 255 }, - { 63, 191, 91, 255 }, - { 87, 207, 111, 255 }, - { 115, 223, 139, 255 }, - { 143, 239, 163, 255 }, - { 179, 255, 195, 255 }, - { 19, 43, 79, 255 }, - { 27, 55, 99, 255 }, - { 43, 71, 119, 255 }, - { 59, 87, 139, 255 }, - { 67, 99, 167, 255 }, - { 83, 115, 187, 255 }, - { 99, 131, 207, 255 }, - { 115, 151, 215, 255 }, - { 131, 171, 227, 255 }, - { 151, 191, 239, 255 }, - { 171, 207, 247, 255 }, - { 195, 227, 255, 255 }, - { 55, 19, 15, 255 }, - { 87, 43, 39, 255 }, - { 103, 55, 51, 255 }, - { 119, 67, 63, 255 }, - { 139, 83, 83, 255 }, - { 155, 99, 99, 255 }, - { 175, 119, 119, 255 }, - { 191, 139, 139, 255 }, - { 207, 159, 159, 255 }, - { 223, 183, 183, 255 }, - { 239, 211, 211, 255 }, - { 255, 239, 239, 255 }, - { 111, 27, 0, 255 }, - { 151, 39, 0, 255 }, - { 167, 51, 7, 255 }, - { 187, 67, 15, 255 }, - { 203, 83, 27, 255 }, - { 223, 103, 43, 255 }, - { 227, 135, 67, 255 }, - { 231, 163, 91, 255 }, - { 239, 187, 119, 255 }, - { 243, 211, 143, 255 }, - { 251, 231, 175, 255 }, - { 255, 247, 215, 255 }, - { 15, 43, 11, 255 }, - { 23, 55, 15, 255 }, - { 31, 71, 23, 255 }, - { 43, 83, 35, 255 }, - { 59, 99, 47, 255 }, - { 75, 115, 59, 255 }, - { 95, 135, 79, 255 }, - { 119, 155, 99, 255 }, - { 139, 175, 123, 255 }, - { 167, 199, 147, 255 }, - { 195, 219, 175, 255 }, - { 223, 243, 207, 255 }, - { 95, 0, 63, 255 }, - { 115, 7, 75, 255 }, - { 127, 15, 83, 255 }, - { 143, 31, 95, 255 }, - { 155, 43, 107, 255 }, - { 171, 63, 123, 255 }, - { 187, 83, 135, 255 }, - { 199, 103, 155, 255 }, - { 215, 127, 171, 255 }, - { 231, 155, 191, 255 }, - { 243, 195, 215, 255 }, - { 255, 235, 243, 255 }, - { 0, 0, 63, 255 }, - { 0, 0, 87, 255 }, - { 0, 0, 115, 255 }, - { 0, 0, 143, 255 }, - { 0, 0, 171, 255 }, - { 0, 0, 199, 255 }, - { 0, 7, 227, 255 }, - { 0, 7, 255, 255 }, - { 67, 79, 255, 255 }, - { 115, 123, 255, 255 }, - { 163, 171, 255, 255 }, - { 215, 219, 255, 255 }, - { 0, 39, 79, 255 }, - { 0, 51, 111, 255 }, - { 0, 63, 147, 255 }, - { 0, 71, 183, 255 }, - { 0, 79, 219, 255 }, - { 0, 83, 255, 255 }, - { 23, 111, 255, 255 }, - { 51, 139, 255, 255 }, - { 79, 163, 255, 255 }, - { 107, 183, 255, 255 }, - { 135, 203, 255, 255 }, - { 163, 219, 255, 255 }, - { 47, 51, 0, 255 }, - { 55, 63, 0, 255 }, - { 67, 75, 0, 255 }, - { 79, 87, 0, 255 }, - { 99, 107, 7, 255 }, - { 119, 127, 23, 255 }, - { 143, 147, 43, 255 }, - { 163, 167, 71, 255 }, - { 187, 187, 99, 255 }, - { 207, 207, 131, 255 }, - { 231, 231, 171, 255 }, - { 255, 255, 207, 255 }, + // + { 35, 35, 23, 255 }, + { 51, 51, 35, 255 }, + { 67, 67, 47, 255 }, + { 83, 83, 63, 255 }, + { 99, 99, 75, 255 }, + { 115, 115, 91, 255 }, + { 131, 131, 111, 255 }, + { 151, 151, 131, 255 }, + { 175, 175, 159, 255 }, + { 195, 195, 183, 255 }, + { 219, 219, 211, 255 }, + { 243, 243, 239, 255 }, + { 0, 47, 51, 255 }, + { 0, 59, 63, 255 }, + { 11, 75, 79, 255 }, + { 19, 91, 91, 255 }, + { 31, 107, 107, 255 }, + { 47, 123, 119, 255 }, + { 59, 139, 135, 255 }, + { 79, 155, 151, 255 }, + { 95, 175, 167, 255 }, + { 115, 191, 187, 255 }, + { 139, 207, 203, 255 }, + { 163, 227, 223, 255 }, + { 7, 43, 67, 255 }, + { 11, 59, 87, 255 }, + { 23, 75, 111, 255 }, + { 31, 87, 127, 255 }, + { 39, 99, 143, 255 }, + { 51, 115, 159, 255 }, + { 67, 131, 179, 255 }, + { 87, 151, 191, 255 }, + { 111, 175, 203, 255 }, + { 135, 199, 219, 255 }, + { 163, 219, 231, 255 }, + { 195, 239, 247, 255 }, + { 0, 27, 71, 255 }, + { 0, 43, 95, 255 }, + { 0, 63, 119, 255 }, + { 7, 83, 143, 255 }, + { 7, 111, 167, 255 }, + { 15, 139, 191, 255 }, + { 19, 167, 215, 255 }, + { 27, 203, 243, 255 }, + { 47, 231, 255, 255 }, + { 95, 243, 255, 255 }, + { 143, 251, 255, 255 }, + { 195, 255, 255, 255 }, + { 0, 0, 35, 255 }, + { 0, 0, 79, 255 }, + { 7, 7, 95, 255 }, + { 15, 15, 111, 255 }, + { 27, 27, 127, 255 }, + { 39, 39, 143, 255 }, + { 59, 59, 163, 255 }, + { 79, 79, 179, 255 }, + { 103, 103, 199, 255 }, + { 127, 127, 215, 255 }, + { 159, 159, 235, 255 }, + { 191, 191, 255, 255 }, + { 19, 51, 27, 255 }, + { 23, 63, 35, 255 }, + { 31, 79, 47, 255 }, + { 39, 95, 59, 255 }, + { 43, 111, 71, 255 }, + { 51, 127, 87, 255 }, + { 59, 143, 99, 255 }, + { 67, 155, 115, 255 }, + { 75, 171, 131, 255 }, + { 83, 187, 147, 255 }, + { 95, 203, 163, 255 }, + { 103, 219, 183, 255 }, + { 27, 55, 31, 255 }, + { 35, 71, 47, 255 }, + { 43, 83, 59, 255 }, + { 55, 99, 75, 255 }, + { 67, 111, 91, 255 }, + { 79, 135, 111, 255 }, + { 95, 159, 135, 255 }, + { 111, 183, 159, 255 }, + { 127, 207, 183, 255 }, + { 147, 219, 195, 255 }, + { 167, 231, 207, 255 }, + { 191, 247, 223, 255 }, + { 0, 63, 15, 255 }, + { 0, 83, 19, 255 }, + { 0, 103, 23, 255 }, + { 0, 123, 31, 255 }, + { 7, 143, 39, 255 }, + { 23, 159, 55, 255 }, + { 39, 175, 71, 255 }, + { 63, 191, 91, 255 }, + { 87, 207, 111, 255 }, + { 115, 223, 139, 255 }, + { 143, 239, 163, 255 }, + { 179, 255, 195, 255 }, + { 19, 43, 79, 255 }, + { 27, 55, 99, 255 }, + { 43, 71, 119, 255 }, + { 59, 87, 139, 255 }, + { 67, 99, 167, 255 }, + { 83, 115, 187, 255 }, + { 99, 131, 207, 255 }, + { 115, 151, 215, 255 }, + { 131, 171, 227, 255 }, + { 151, 191, 239, 255 }, + { 171, 207, 247, 255 }, + { 195, 227, 255, 255 }, + { 55, 19, 15, 255 }, + { 87, 43, 39, 255 }, + { 103, 55, 51, 255 }, + { 119, 67, 63, 255 }, + { 139, 83, 83, 255 }, + { 155, 99, 99, 255 }, + { 175, 119, 119, 255 }, + { 191, 139, 139, 255 }, + { 207, 159, 159, 255 }, + { 223, 183, 183, 255 }, + { 239, 211, 211, 255 }, + { 255, 239, 239, 255 }, + { 111, 27, 0, 255 }, + { 151, 39, 0, 255 }, + { 167, 51, 7, 255 }, + { 187, 67, 15, 255 }, + { 203, 83, 27, 255 }, + { 223, 103, 43, 255 }, + { 227, 135, 67, 255 }, + { 231, 163, 91, 255 }, + { 239, 187, 119, 255 }, + { 243, 211, 143, 255 }, + { 251, 231, 175, 255 }, + { 255, 247, 215, 255 }, + { 15, 43, 11, 255 }, + { 23, 55, 15, 255 }, + { 31, 71, 23, 255 }, + { 43, 83, 35, 255 }, + { 59, 99, 47, 255 }, + { 75, 115, 59, 255 }, + { 95, 135, 79, 255 }, + { 119, 155, 99, 255 }, + { 139, 175, 123, 255 }, + { 167, 199, 147, 255 }, + { 195, 219, 175, 255 }, + { 223, 243, 207, 255 }, + { 95, 0, 63, 255 }, + { 115, 7, 75, 255 }, + { 127, 15, 83, 255 }, + { 143, 31, 95, 255 }, + { 155, 43, 107, 255 }, + { 171, 63, 123, 255 }, + { 187, 83, 135, 255 }, + { 199, 103, 155, 255 }, + { 215, 127, 171, 255 }, + { 231, 155, 191, 255 }, + { 243, 195, 215, 255 }, + { 255, 235, 243, 255 }, + { 0, 0, 63, 255 }, + { 0, 0, 87, 255 }, + { 0, 0, 115, 255 }, + { 0, 0, 143, 255 }, + { 0, 0, 171, 255 }, + { 0, 0, 199, 255 }, + { 0, 7, 227, 255 }, + { 0, 7, 255, 255 }, + { 67, 79, 255, 255 }, + { 115, 123, 255, 255 }, + { 163, 171, 255, 255 }, + { 215, 219, 255, 255 }, + { 0, 39, 79, 255 }, + { 0, 51, 111, 255 }, + { 0, 63, 147, 255 }, + { 0, 71, 183, 255 }, + { 0, 79, 219, 255 }, + { 0, 83, 255, 255 }, + { 23, 111, 255, 255 }, + { 51, 139, 255, 255 }, + { 79, 163, 255, 255 }, + { 107, 183, 255, 255 }, + { 135, 203, 255, 255 }, + { 163, 219, 255, 255 }, + { 47, 51, 0, 255 }, + { 55, 63, 0, 255 }, + { 67, 75, 0, 255 }, + { 79, 87, 0, 255 }, + { 99, 107, 7, 255 }, + { 119, 127, 23, 255 }, + { 143, 147, 43, 255 }, + { 163, 167, 71, 255 }, + { 187, 187, 99, 255 }, + { 207, 207, 131, 255 }, + { 231, 231, 171, 255 }, + { 255, 255, 207, 255 }, - // 203 - 214 (Secondary remap) - { 27, 0, 63, 255 }, - { 51, 0, 103, 255 }, - { 63, 11, 123, 255 }, - { 79, 23, 143, 255 }, - { 95, 31, 163, 255 }, - { 111, 39, 183, 255 }, - { 143, 59, 219, 255 }, - { 171, 91, 239, 255 }, - { 187, 119, 243, 255 }, - { 203, 151, 247, 255 }, - { 223, 183, 251, 255 }, - { 239, 215, 255, 255 }, + // 203 - 214 (Secondary remap) + { 27, 0, 63, 255 }, + { 51, 0, 103, 255 }, + { 63, 11, 123, 255 }, + { 79, 23, 143, 255 }, + { 95, 31, 163, 255 }, + { 111, 39, 183, 255 }, + { 143, 59, 219, 255 }, + { 171, 91, 239, 255 }, + { 187, 119, 243, 255 }, + { 203, 151, 247, 255 }, + { 223, 183, 251, 255 }, + { 239, 215, 255, 255 }, - // 214 - 225 (Brown) - { 0, 19, 39, 255 }, - { 7, 31, 55, 255 }, - { 15, 47, 71, 255 }, - { 31, 63, 91, 255 }, - { 51, 83, 107, 255 }, - { 75, 103, 123, 255 }, - { 107, 127, 143, 255 }, - { 127, 147, 163, 255 }, - { 147, 171, 187, 255 }, - { 171, 195, 207, 255 }, - { 195, 219, 231, 255 }, - { 223, 243, 255, 255 }, + // 214 - 225 (Brown) + { 0, 19, 39, 255 }, + { 7, 31, 55, 255 }, + { 15, 47, 71, 255 }, + { 31, 63, 91, 255 }, + { 51, 83, 107, 255 }, + { 75, 103, 123, 255 }, + { 107, 127, 143, 255 }, + { 127, 147, 163, 255 }, + { 147, 171, 187, 255 }, + { 171, 195, 207, 255 }, + { 195, 219, 231, 255 }, + { 223, 243, 255, 255 }, - // 226 (unknown) - { 75, 75, 55, 255 }, + // 226 (unknown) + { 75, 75, 55, 255 }, - // 227 - 229 (tertiary remap) - { 0, 183, 255, 255 }, - { 0, 219, 255, 255 }, - { 0, 255, 255, 255 }, + // 227 - 229 (tertiary remap) + { 0, 183, 255, 255 }, + { 0, 219, 255, 255 }, + { 0, 255, 255, 255 }, - // 230 - 239 (water) - { 99, 107, 7, 255 }, - { 99, 107, 7, 255 }, - { 135, 143, 39, 255 }, - { 123, 131, 27, 255 }, - { 99, 107, 7, 255 }, - { 151, 155, 55, 255 }, - { 151, 155, 55, 255 }, - { 227, 227, 155, 255 }, - { 203, 203, 115, 255 }, - { 151, 155, 55, 255 }, + // 230 - 239 (water) + { 99, 107, 7, 255 }, + { 99, 107, 7, 255 }, + { 135, 143, 39, 255 }, + { 123, 131, 27, 255 }, + { 99, 107, 7, 255 }, + { 151, 155, 55, 255 }, + { 151, 155, 55, 255 }, + { 227, 227, 155, 255 }, + { 203, 203, 115, 255 }, + { 151, 155, 55, 255 }, - // 240 - 242 (chain lift) - { 91, 91, 67, 255 }, - { 107, 107, 83, 255 }, - { 123, 123, 99, 255 }, + // 240 - 242 (chain lift) + { 91, 91, 67, 255 }, + { 107, 107, 83, 255 }, + { 123, 123, 99, 255 }, - // Old 243 - 245, changed to nice shade remap below - // { 47, 47, 47, 255 }, - // { 47, 47, 47, 255 }, - // { 47, 71, 87, 255 }, + // Old 243 - 245, changed to nice shade remap below + // { 47, 47, 47, 255 }, + // { 47, 47, 47, 255 }, + // { 47, 71, 87, 255 }, - // 243 to 254 (primary remap) - { 47, 51, 111, 255 }, - { 47, 55, 131, 255 }, - { 51, 63, 151, 255 }, - { 51, 67, 171, 255 }, - { 47, 75, 191, 255 }, - { 43, 79, 211, 255 }, - { 35, 87, 231, 255 }, - { 31, 95, 255, 255 }, - { 39, 127, 255, 255 }, - { 51, 155, 255, 255 }, - { 63, 183, 255, 255 }, - { 75, 207, 255, 255 }, + // 243 to 254 (primary remap) + { 47, 51, 111, 255 }, + { 47, 55, 131, 255 }, + { 51, 63, 151, 255 }, + { 51, 67, 171, 255 }, + { 47, 75, 191, 255 }, + { 43, 79, 211, 255 }, + { 35, 87, 231, 255 }, + { 31, 95, 255, 255 }, + { 39, 127, 255, 255 }, + { 51, 155, 255, 255 }, + { 63, 183, 255, 255 }, + { 75, 207, 255, 255 }, - // 255 (unused?) - { 0, 0, 0, 255 } + // 255 (unused?) + { 0, 0, 0, 255 } }; diff --git a/src/openrct2/common.h b/src/openrct2/common.h index 420b1bc10e..98c034b417 100644 --- a/src/openrct2/common.h +++ b/src/openrct2/common.h @@ -60,14 +60,14 @@ typedef utf16* utf16string; typedef uint32 codepoint_t; typedef uint8 colour_t; -#define rol8(x, shift) (((uint8)(x) << (shift)) | ((uint8)(x) >> (8 - (shift)))) -#define ror8(x, shift) (((uint8)(x) >> (shift)) | ((uint8)(x) << (8 - (shift)))) -#define rol16(x, shift) (((uint16)(x) << (shift)) | ((uint16)(x) >> (16 - (shift)))) -#define ror16(x, shift) (((uint16)(x) >> (shift)) | ((uint16)(x) << (16 - (shift)))) -#define rol32(x, shift) (((uint32)(x) << (shift)) | ((uint32)(x) >> (32 - (shift)))) -#define ror32(x, shift) (((uint32)(x) >> (shift)) | ((uint32)(x) << (32 - (shift)))) -#define rol64(x, shift) (((uint64)(x) << (shift)) | ((uint32)(x) >> (64 - (shift)))) -#define ror64(x, shift) (((uint64)(x) >> (shift)) | ((uint32)(x) << (64 - (shift)))) +#define rol8(x, shift) (((uint8)(x) << (shift)) | ((uint8)(x) >> (8 - (shift)))) +#define ror8(x, shift) (((uint8)(x) >> (shift)) | ((uint8)(x) << (8 - (shift)))) +#define rol16(x, shift) (((uint16)(x) << (shift)) | ((uint16)(x) >> (16 - (shift)))) +#define ror16(x, shift) (((uint16)(x) >> (shift)) | ((uint16)(x) << (16 - (shift)))) +#define rol32(x, shift) (((uint32)(x) << (shift)) | ((uint32)(x) >> (32 - (shift)))) +#define ror32(x, shift) (((uint32)(x) >> (shift)) | ((uint32)(x) << (32 - (shift)))) +#define rol64(x, shift) (((uint64)(x) << (shift)) | ((uint32)(x) >> (64 - (shift)))) +#define ror64(x, shift) (((uint64)(x) >> (shift)) | ((uint32)(x) << (64 - (shift)))) #ifndef __cplusplus // in C++ you should be using Math::Min and Math::Max @@ -78,16 +78,16 @@ typedef uint8 colour_t; #define max(a,b) (((a) > (b)) ? (a) : (b)) #endif -#define sgn(x) ((x > 0) ? 1 : ((x < 0) ? -1 : 0)) -#define clamp(l, x, h) (min(h, max(l, x))) +#define sgn(x) ((x > 0) ? 1 : ((x < 0) ? -1 : 0)) +#define clamp(l, x, h) (min(h, max(l, x))) #endif // __cplusplus // Rounds an integer down to the given power of 2. y must be a power of 2. -#define floor2(x, y) ((x) & (~((y) - 1))) +#define floor2(x, y) ((x) & (~((y) - 1))) // Rounds an integer up to the given power of 2. y must be a power of 2. -#define ceil2(x, y) (((x) + (y) - 1) & (~((y) - 1))) +#define ceil2(x, y) (((x) + (y) - 1) & (~((y) - 1))) #ifndef __cplusplus @@ -108,9 +108,9 @@ typedef uint8 colour_t; // based on http://lxr.free-electrons.com/source/include/linux/kernel.h#L54 #define countof(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) #elif defined (_MSC_VER) -#define countof(arr) _countof(arr) +#define countof(arr) _countof(arr) #else -#define countof(arr) (sizeof(arr) / sizeof((arr)[0])) +#define countof(arr) (sizeof(arr) / sizeof((arr)[0])) #endif // __GNUC__ #endif // __cplusplus @@ -146,7 +146,7 @@ char *strndup(const char *src, size_t size); #define MAP_ANONYMOUS MAP_ANON #endif -#define OPENRCT2_MASTER_SERVER_URL "https://servers.openrct2.website" +#define OPENRCT2_MASTER_SERVER_URL "https://servers.openrct2.website" // Time (represented as number of 100-nanosecond intervals since 0001-01-01T00:00:00Z) typedef uint64 datetime64; @@ -168,15 +168,15 @@ typedef fixed32_1dp money32; // Construct a fixed point number. For example, to create the value 3.65 you // would write FIXED_2DP(3,65) -#define FIXED_XDP(x, whole, fraction) ((whole) * (10 * x) + (fraction)) -#define FIXED_1DP(whole, fraction) FIXED_XDP(1, whole, fraction) -#define FIXED_2DP(whole, fraction) FIXED_XDP(10, whole, fraction) +#define FIXED_XDP(x, whole, fraction) ((whole) * (10 * x) + (fraction)) +#define FIXED_1DP(whole, fraction) FIXED_XDP(1, whole, fraction) +#define FIXED_2DP(whole, fraction) FIXED_XDP(10, whole, fraction) // Construct a money value in the format MONEY(10,70) to represent 10.70. Fractional part must be two digits. -#define MONEY(whole, fraction) ((whole) * 10 + ((fraction) / 10)) +#define MONEY(whole, fraction) ((whole) * 10 + ((fraction) / 10)) -#define MONEY_FREE MONEY(0,00) -#define MONEY32_UNDEFINED ((money32)0x80000000) +#define MONEY_FREE MONEY(0,00) +#define MONEY32_UNDEFINED ((money32)0x80000000) typedef void (EMPTY_ARGS_VOID_POINTER)(); typedef uint16 rct_string_id; @@ -187,7 +187,7 @@ typedef uint16 rct_string_id; #define SafeDeleteArray(x) do { delete[] (x); (x) = nullptr; } while (0) #ifndef interface - #define interface struct + #define interface struct #endif #define abstract = 0 @@ -198,9 +198,9 @@ typedef uint16 rct_string_id; #endif #if defined(__LP64__) || defined(_WIN64) - #define PLATFORM_64BIT + #define PLATFORM_64BIT #else - #define PLATFORM_32BIT + #define PLATFORM_32BIT #endif // C99's restrict keywords guarantees the pointer in question, for the whole of its lifetime, @@ -208,37 +208,37 @@ typedef uint16 rct_string_id; // aliasing the same memory area. Using it lets compiler generate better code. If your compiler // does not support it, feel free to drop it, at some performance hit. #ifdef __cplusplus - #ifdef _MSC_VER - #define RESTRICT __restrict - #else - #define RESTRICT __restrict__ - #endif + #ifdef _MSC_VER + #define RESTRICT __restrict + #else + #define RESTRICT __restrict__ + #endif #else - #ifdef _MSC_VER - #define RESTRICT __restrict - #else - #define RESTRICT restrict - #endif + #ifdef _MSC_VER + #define RESTRICT __restrict + #else + #define RESTRICT restrict + #endif #endif #ifndef RESTRICT - #define RESTRICT + #define RESTRICT #endif #define assert_struct_size(x, y) static_assert(sizeof(x) == (y), "Improper struct size") #ifdef PLATFORM_X86 - #ifndef FASTCALL - #ifdef __GNUC__ - #define FASTCALL __attribute__((fastcall)) - #elif defined(_MSC_VER) - #define FASTCALL __fastcall - #else - #pragma message "Not using fastcall calling convention, please check your compiler support" - #define FASTCALL - #endif - #endif // FASTCALL + #ifndef FASTCALL + #ifdef __GNUC__ + #define FASTCALL __attribute__((fastcall)) + #elif defined(_MSC_VER) + #define FASTCALL __fastcall + #else + #pragma message "Not using fastcall calling convention, please check your compiler support" + #define FASTCALL + #endif + #endif // FASTCALL #else // PLATFORM_X86 - #define FASTCALL + #define FASTCALL #endif // PLATFORM_X86 /** @@ -246,50 +246,50 @@ typedef uint16 rct_string_id; */ #pragma pack(push, 1) typedef struct registers { - union { - sint32 eax; - sint16 ax; - struct { - char al; - char ah; - }; - }; - union { - sint32 ebx; - sint16 bx; - struct { - char bl; - char bh; - }; - }; - union { - sint32 ecx; - sint16 cx; - struct { - char cl; - char ch; - }; - }; - union { - sint32 edx; - sint16 dx; - struct { - char dl; - char dh; - }; - }; - union { - sint32 esi; - sint16 si; - }; - union { - sint32 edi; - sint16 di; - }; - union { - sint32 ebp; - sint16 bp; - }; + union { + sint32 eax; + sint16 ax; + struct { + char al; + char ah; + }; + }; + union { + sint32 ebx; + sint16 bx; + struct { + char bl; + char bh; + }; + }; + union { + sint32 ecx; + sint16 cx; + struct { + char cl; + char ch; + }; + }; + union { + sint32 edx; + sint16 dx; + struct { + char dl; + char dh; + }; + }; + union { + sint32 esi; + sint16 si; + }; + union { + sint32 edi; + sint16 di; + }; + union { + sint32 ebp; + sint16 bp; + }; } registers; assert_struct_size(registers, 7 * 4); #pragma pack(pop) diff --git a/src/openrct2/core/Util.hpp b/src/openrct2/core/Util.hpp index 91bedd9217..7de3a072ec 100644 --- a/src/openrct2/core/Util.hpp +++ b/src/openrct2/core/Util.hpp @@ -28,7 +28,7 @@ namespace Util { template static constexpr size_t CountOf(T const (&)[N]) noexcept { - return N; + return N; } } // namespace Util diff --git a/src/openrct2/core/textinputbuffer.c b/src/openrct2/core/textinputbuffer.c index a279e2a1b0..33adfc46d8 100644 --- a/src/openrct2/core/textinputbuffer.c +++ b/src/openrct2/core/textinputbuffer.c @@ -19,112 +19,112 @@ void textinputbuffer_init(textinputbuffer * tib, utf8 * buffer, size_t size) { - assert(buffer != NULL); - assert(size > 0); + assert(buffer != NULL); + assert(size > 0); - tib->buffer = buffer; - tib->max_size = size - 1; - tib->current_size = strlen(buffer); - tib->selection_offset = tib->current_size; - tib->selection_size = 0; + tib->buffer = buffer; + tib->max_size = size - 1; + tib->current_size = strlen(buffer); + tib->selection_offset = tib->current_size; + tib->selection_size = 0; - textinputbuffer_recalculate_length(tib); + textinputbuffer_recalculate_length(tib); } void textinputbuffer_clear(textinputbuffer * tib) { - tib->buffer[0] = 0; - tib->current_size = 0; - tib->length = 0; - tib->selection_offset = 0; - tib->selection_size = 0; + tib->buffer[0] = 0; + tib->current_size = 0; + tib->length = 0; + tib->selection_offset = 0; + tib->selection_size = 0; } void textinputbuffer_remove_selected(textinputbuffer * tib) { - utf8 * targetShiftPtr = tib->buffer + tib->selection_offset; - utf8 * sourceShiftPtr = targetShiftPtr + tib->selection_size; - size_t shiftSize = tib->current_size - tib->selection_offset - tib->selection_size + 1; - memmove(targetShiftPtr, sourceShiftPtr, shiftSize); - tib->selection_size = 0; - textinputbuffer_recalculate_length(tib); + utf8 * targetShiftPtr = tib->buffer + tib->selection_offset; + utf8 * sourceShiftPtr = targetShiftPtr + tib->selection_size; + size_t shiftSize = tib->current_size - tib->selection_offset - tib->selection_size + 1; + memmove(targetShiftPtr, sourceShiftPtr, shiftSize); + tib->selection_size = 0; + textinputbuffer_recalculate_length(tib); } void textinputbuffer_insert_codepoint(textinputbuffer * tib, uint32 codepoint) { - size_t codepointLength = utf8_get_codepoint_length(codepoint); - size_t remainingSize = tib->max_size - tib->current_size; - if (codepointLength <= remainingSize) { - utf8 * insertPtr = tib->buffer + tib->selection_offset; + size_t codepointLength = utf8_get_codepoint_length(codepoint); + size_t remainingSize = tib->max_size - tib->current_size; + if (codepointLength <= remainingSize) { + utf8 * insertPtr = tib->buffer + tib->selection_offset; - if (tib->selection_offset < tib->current_size) { - // Shift bytes (including null terminator) right to make room for new codepoint - utf8 * targetShiftPtr = insertPtr + codepointLength; - size_t shiftSize = tib->current_size - tib->selection_offset + 1; - memmove(targetShiftPtr, insertPtr, shiftSize); - } else { - // Character is appended onto the end, so set byte after it to null terminator - tib->buffer[tib->current_size + codepointLength] = 0; - } + if (tib->selection_offset < tib->current_size) { + // Shift bytes (including null terminator) right to make room for new codepoint + utf8 * targetShiftPtr = insertPtr + codepointLength; + size_t shiftSize = tib->current_size - tib->selection_offset + 1; + memmove(targetShiftPtr, insertPtr, shiftSize); + } else { + // Character is appended onto the end, so set byte after it to null terminator + tib->buffer[tib->current_size + codepointLength] = 0; + } - utf8_write_codepoint(insertPtr, codepoint); - tib->selection_offset += codepointLength; - tib->current_size += codepointLength; - tib->length++; - } + utf8_write_codepoint(insertPtr, codepoint); + tib->selection_offset += codepointLength; + tib->current_size += codepointLength; + tib->length++; + } } void textinputbuffer_insert(textinputbuffer * tib, utf8 * source) { - const utf8 *ch = source; - uint32 codepoint; - while ((codepoint = utf8_get_next(ch, &ch)) != 0) { - textinputbuffer_insert_codepoint(tib, codepoint); - } + const utf8 *ch = source; + uint32 codepoint; + while ((codepoint = utf8_get_next(ch, &ch)) != 0) { + textinputbuffer_insert_codepoint(tib, codepoint); + } } void textinputbuffer_cursor_left(textinputbuffer * tib) { - size_t selectionOffset = tib->selection_offset; - if (selectionOffset > 0) { - const utf8 * ch = tib->buffer + selectionOffset; - do { - ch--; - selectionOffset--; - } while (!utf8_is_codepoint_start(ch) && selectionOffset > 0); + size_t selectionOffset = tib->selection_offset; + if (selectionOffset > 0) { + const utf8 * ch = tib->buffer + selectionOffset; + do { + ch--; + selectionOffset--; + } while (!utf8_is_codepoint_start(ch) && selectionOffset > 0); - tib->selection_offset = selectionOffset; - } + tib->selection_offset = selectionOffset; + } } void textinputbuffer_cursor_right(textinputbuffer * tib) { - size_t selectionOffset = tib->selection_offset; - size_t selectionMaxOffset = tib->current_size; - if (selectionOffset < selectionMaxOffset) { - const utf8 * ch = tib->buffer + selectionOffset; - do { - ch++; - selectionOffset++; - } while (!utf8_is_codepoint_start(ch) && selectionOffset < selectionMaxOffset); + size_t selectionOffset = tib->selection_offset; + size_t selectionMaxOffset = tib->current_size; + if (selectionOffset < selectionMaxOffset) { + const utf8 * ch = tib->buffer + selectionOffset; + do { + ch++; + selectionOffset++; + } while (!utf8_is_codepoint_start(ch) && selectionOffset < selectionMaxOffset); - tib->selection_size = max(0, tib->selection_size - (selectionOffset - tib->selection_offset)); - tib->selection_offset = selectionOffset; - } + tib->selection_size = max(0, tib->selection_size - (selectionOffset - tib->selection_offset)); + tib->selection_offset = selectionOffset; + } } void textinputbuffer_cursor_home(textinputbuffer * tib) { - tib->selection_offset = 0; + tib->selection_offset = 0; } void textinputbuffer_cursor_end(textinputbuffer * tib) { - tib->selection_offset = tib->current_size; + tib->selection_offset = tib->current_size; } void textinputbuffer_recalculate_length(textinputbuffer * tib) { - tib->current_size = strlen(tib->buffer); - tib->length = utf8_length(tib->buffer); + tib->current_size = strlen(tib->buffer); + tib->length = utf8_length(tib->buffer); } diff --git a/src/openrct2/core/textinputbuffer.h b/src/openrct2/core/textinputbuffer.h index 0f11142a63..cbf9dcdd1e 100644 --- a/src/openrct2/core/textinputbuffer.h +++ b/src/openrct2/core/textinputbuffer.h @@ -20,14 +20,14 @@ #include "../common.h" typedef struct textinputbuffer { - utf8 * buffer; - size_t max_size; // Maximum number of bytes (excluding null terminator) - size_t current_size; // Number of bytes (excluding null terminator) + utf8 * buffer; + size_t max_size; // Maximum number of bytes (excluding null terminator) + size_t current_size; // Number of bytes (excluding null terminator) - uint32 length; // Number of codepoints + uint32 length; // Number of codepoints - size_t selection_offset; // Selection start, in bytes - size_t selection_size; // Selection length in bytes + size_t selection_offset; // Selection start, in bytes + size_t selection_size; // Selection length in bytes } textinputbuffer; void textinputbuffer_init(textinputbuffer * tib, utf8 * buffer, size_t size); diff --git a/src/openrct2/diagnostic.c b/src/openrct2/diagnostic.c index 7eaf638578..4018dedcaf 100644 --- a/src/openrct2/diagnostic.c +++ b/src/openrct2/diagnostic.c @@ -23,56 +23,56 @@ static bool _log_location_enabled = true; bool _log_levels[DIAGNOSTIC_LEVEL_COUNT] = { true, true, true, false, true }; const char * _level_strings[] = { - "FATAL", - "ERROR", - "WARNING", - "VERBOSE", - "INFO" + "FATAL", + "ERROR", + "WARNING", + "VERBOSE", + "INFO" }; void diagnostic_log(DiagnosticLevel diagnosticLevel, const char *format, ...) { - FILE *stream; - va_list args; + FILE *stream; + va_list args; - if (!_log_levels[diagnosticLevel]) - return; + if (!_log_levels[diagnosticLevel]) + return; - stream = stderr; + stream = stderr; - // Level - fprintf(stream, "%s: ", _level_strings[diagnosticLevel]); + // Level + fprintf(stream, "%s: ", _level_strings[diagnosticLevel]); - // Message - va_start(args, format); - vfprintf(stream, format, args); - va_end(args); + // Message + va_start(args, format); + vfprintf(stream, format, args); + va_end(args); - // Line terminator - fprintf(stream, "\n"); + // Line terminator + fprintf(stream, "\n"); } void diagnostic_log_with_location(DiagnosticLevel diagnosticLevel, const char *file, const char *function, sint32 line, const char *format, ...) { - FILE *stream; - va_list args; + FILE *stream; + va_list args; - if (!_log_levels[diagnosticLevel]) - return; + if (!_log_levels[diagnosticLevel]) + return; - stream = stderr; + stream = stderr; - // Level and source code information - if (_log_location_enabled) - fprintf(stream, "%s[%s:%d (%s)]: ", _level_strings[diagnosticLevel], file, line, function); - else - fprintf(stream, "%s: ", _level_strings[diagnosticLevel]); + // Level and source code information + if (_log_location_enabled) + fprintf(stream, "%s[%s:%d (%s)]: ", _level_strings[diagnosticLevel], file, line, function); + else + fprintf(stream, "%s: ", _level_strings[diagnosticLevel]); - // Message - va_start(args, format); - vfprintf(stream, format, args); - va_end(args); + // Message + va_start(args, format); + vfprintf(stream, format, args); + va_end(args); - // Line terminator - fprintf(stream, "\n"); + // Line terminator + fprintf(stream, "\n"); } diff --git a/src/openrct2/diagnostic.h b/src/openrct2/diagnostic.h index 115e7b9e89..daf8754a2f 100644 --- a/src/openrct2/diagnostic.h +++ b/src/openrct2/diagnostic.h @@ -20,12 +20,12 @@ #include "common.h" typedef enum { - DIAGNOSTIC_LEVEL_FATAL, - DIAGNOSTIC_LEVEL_ERROR, - DIAGNOSTIC_LEVEL_WARNING, - DIAGNOSTIC_LEVEL_VERBOSE, - DIAGNOSTIC_LEVEL_INFORMATION, - DIAGNOSTIC_LEVEL_COUNT + DIAGNOSTIC_LEVEL_FATAL, + DIAGNOSTIC_LEVEL_ERROR, + DIAGNOSTIC_LEVEL_WARNING, + DIAGNOSTIC_LEVEL_VERBOSE, + DIAGNOSTIC_LEVEL_INFORMATION, + DIAGNOSTIC_LEVEL_COUNT } DiagnosticLevel; /** @@ -51,28 +51,28 @@ typedef enum { */ #if defined(DEBUG) - #if DEBUG > 0 - #define DEBUG_LEVEL_1 1 - #if DEBUG > 1 - #define DEBUG_LEVEL_2 1 - #if DEBUG > 2 - #define DEBUG_LEVEL_3 1 - #else - #define DEBUG_LEVEL_3 0 - #endif // DEBUG > 2 - #else - #define DEBUG_LEVEL_3 0 - #define DEBUG_LEVEL_2 0 - #endif // DEBUG > 1 - #else - #define DEBUG_LEVEL_1 0 - #define DEBUG_LEVEL_2 0 - #define DEBUG_LEVEL_3 0 - #endif // DEBUG > 0 + #if DEBUG > 0 + #define DEBUG_LEVEL_1 1 + #if DEBUG > 1 + #define DEBUG_LEVEL_2 1 + #if DEBUG > 2 + #define DEBUG_LEVEL_3 1 + #else + #define DEBUG_LEVEL_3 0 + #endif // DEBUG > 2 + #else + #define DEBUG_LEVEL_3 0 + #define DEBUG_LEVEL_2 0 + #endif // DEBUG > 1 + #else + #define DEBUG_LEVEL_1 0 + #define DEBUG_LEVEL_2 0 + #define DEBUG_LEVEL_3 0 + #endif // DEBUG > 0 #else - #define DEBUG_LEVEL_3 0 - #define DEBUG_LEVEL_2 0 - #define DEBUG_LEVEL_1 0 + #define DEBUG_LEVEL_3 0 + #define DEBUG_LEVEL_2 0 + #define DEBUG_LEVEL_1 0 #endif // defined(DEBUG) extern bool _log_levels[DIAGNOSTIC_LEVEL_COUNT]; @@ -89,15 +89,15 @@ void diagnostic_log_with_location(DiagnosticLevel diagnosticLevel, const char *f #endif // __cplusplus #ifdef _MSC_VER -#define diagnostic_log_macro(level, format, ...) diagnostic_log_with_location(level, __FILE__, __FUNCTION__, __LINE__, format, ## __VA_ARGS__) +#define diagnostic_log_macro(level, format, ...) diagnostic_log_with_location(level, __FILE__, __FUNCTION__, __LINE__, format, ## __VA_ARGS__) #else - #define diagnostic_log_macro(level, format, ...) diagnostic_log_with_location(level, __FILE__, __func__, __LINE__, format, ## __VA_ARGS__) + #define diagnostic_log_macro(level, format, ...) diagnostic_log_with_location(level, __FILE__, __func__, __LINE__, format, ## __VA_ARGS__) #endif // _MSC_VER -#define log_fatal(format, ...) diagnostic_log_macro(DIAGNOSTIC_LEVEL_FATAL, format, ## __VA_ARGS__) -#define log_error(format, ...) diagnostic_log_macro(DIAGNOSTIC_LEVEL_ERROR, format, ## __VA_ARGS__) -#define log_warning(format, ...) diagnostic_log_macro(DIAGNOSTIC_LEVEL_WARNING, format, ## __VA_ARGS__) -#define log_verbose(format, ...) diagnostic_log(DIAGNOSTIC_LEVEL_VERBOSE, format, ## __VA_ARGS__) -#define log_info(format, ...) diagnostic_log_macro(DIAGNOSTIC_LEVEL_INFORMATION, format, ## __VA_ARGS__) +#define log_fatal(format, ...) diagnostic_log_macro(DIAGNOSTIC_LEVEL_FATAL, format, ## __VA_ARGS__) +#define log_error(format, ...) diagnostic_log_macro(DIAGNOSTIC_LEVEL_ERROR, format, ## __VA_ARGS__) +#define log_warning(format, ...) diagnostic_log_macro(DIAGNOSTIC_LEVEL_WARNING, format, ## __VA_ARGS__) +#define log_verbose(format, ...) diagnostic_log(DIAGNOSTIC_LEVEL_VERBOSE, format, ## __VA_ARGS__) +#define log_info(format, ...) diagnostic_log_macro(DIAGNOSTIC_LEVEL_INFORMATION, format, ## __VA_ARGS__) #endif diff --git a/src/openrct2/drawing/drawing.c b/src/openrct2/drawing/drawing.c index 0b73f6eac7..a488dd4344 100644 --- a/src/openrct2/drawing/drawing.c +++ b/src/openrct2/drawing/drawing.c @@ -52,439 +52,439 @@ rct_drawpixelinfo *unk_140E9A8; * rct2: 0x0009ABE0C */ uint8 gPeepPalette[256] = { - 0x00, 0xF3, 0xF4, 0xF5, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, - 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, - 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, - 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, - 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, - 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, - 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, - 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, - 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF + 0x00, 0xF3, 0xF4, 0xF5, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, + 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, + 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, + 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, + 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, + 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, + 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF }; /** rct2: 0x009ABF0C */ uint8 gOtherPalette[256] = { - 0x00, 0xF3, 0xF4, 0xF5, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, - 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, - 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, - 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, - 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, - 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, - 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, - 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, - 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF + 0x00, 0xF3, 0xF4, 0xF5, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, + 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, + 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, + 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, + 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, + 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, + 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF }; // Originally 0x9ABE04 uint8 text_palette[0x8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; enum { - SPR_PALETTE_3100 = 3100, - SPR_PALETTE_3101 = 3101, - SPR_PALETTE_3102 = 3102, - SPR_PALETTE_3103 = 3103, - SPR_PALETTE_3104 = 3104, - SPR_PALETTE_3105 = 3105, - SPR_PALETTE_3106 = 3106, - SPR_PALETTE_3107 = 3107, - SPR_PALETTE_3108 = 3108, - SPR_PALETTE_3109 = 3109, - SPR_PALETTE_3110 = 3110, + SPR_PALETTE_3100 = 3100, + SPR_PALETTE_3101 = 3101, + SPR_PALETTE_3102 = 3102, + SPR_PALETTE_3103 = 3103, + SPR_PALETTE_3104 = 3104, + SPR_PALETTE_3105 = 3105, + SPR_PALETTE_3106 = 3106, + SPR_PALETTE_3107 = 3107, + SPR_PALETTE_3108 = 3108, + SPR_PALETTE_3109 = 3109, + SPR_PALETTE_3110 = 3110, - SPR_PALETTE_BLACK = 4915, - SPR_PALETTE_GREY = 4916, - SPR_PALETTE_WHITE = 4917, - SPR_PALETTE_DARK_PURPLE = 4918, - SPR_PALETTE_LIGHT_PURPLE = 4919, - SPR_PALETTE_BRIGHT_PURPLE = 4920, - SPR_PALETTE_DARK_BLUE = 4921, - SPR_PALETTE_LIGHT_BLUE = 4922, - SPR_PALETTE_ICY_BLUE = 4923, - SPR_PALETTE_TEAL = 4924, - SPR_PALETTE_AQUAMARINE = 4925, - SPR_PALETTE_SATURATED_GREEN = 4926, - SPR_PALETTE_DARK_GREEN = 4927, - SPR_PALETTE_MOSS_GREEN = 4928, - SPR_PALETTE_BRIGHT_GREEN = 4929, - SPR_PALETTE_OLIVE_GREEN = 4930, - SPR_PALETTE_DARK_OLIVE_GREEN = 4931, - SPR_PALETTE_BRIGHT_YELLOW = 4932, - SPR_PALETTE_YELLOW = 4933, - SPR_PALETTE_DARK_YELLOW = 4934, - SPR_PALETTE_LIGHT_ORANGE = 4935, - SPR_PALETTE_DARK_ORANGE = 4936, - SPR_PALETTE_LIGHT_BROWN = 4937, - SPR_PALETTE_SATURATED_BROWN = 4938, - SPR_PALETTE_DARK_BROWN = 4939, - SPR_PALETTE_SALMON_PINK = 4940, - SPR_PALETTE_BORDEAUX_RED = 4941, - SPR_PALETTE_SATURATED_RED = 4942, - SPR_PALETTE_BRIGHT_RED = 4943, - SPR_PALETTE_DARK_PINK = 4944, - SPR_PALETTE_BRIGHT_PINK = 4945, - SPR_PALETTE_LIGHT_PINK = 4946, - SPR_PALETTE_WATER = 4947, - SPR_PALETTE_4948 = 4948, - SPR_PALETTE_4949 = 4949, - SPR_PALETTE_4950 = 4950, - SPR_PALETTE_DARKEN_3 = 4951, - SPR_PALETTE_4952 = 4952, - SPR_PALETTE_DARKEN_1 = 4953, - SPR_PALETTE_DARKEN_2 = 4954, - SPR_PALETTE_4955 = 4955, - SPR_PALETTE_TRANSLUCENT_GREY = 4956, - SPR_PALETTE_TRANSLUCENT_GREY_HIGHLIGHT = 4957, - SPR_PALETTE_TRANSLUCENT_GREY_SHADOW = 4958, - SPR_PALETTE_TRANSLUCENT_LIGHT_BLUE = 4959, - SPR_PALETTE_TRANSLUCENT_LIGHT_BLUE_HIGHLIGHT = 4960, - SPR_PALETTE_TRANSLUCENT_LIGHT_BLUE_SHADOW = 4961, - SPR_PALETTE_TRANSLUCENT_BORDEAUX_RED = 4962, - SPR_PALETTE_TRANSLUCENT_BORDEAUX_RED_HIGHLIGHT = 4963, - SPR_PALETTE_TRANSLUCENT_BORDEAUX_RED_SHADOW = 4964, - SPR_PALETTE_TRANSLUCENT_DARK_GREEN = 4965, - SPR_PALETTE_TRANSLUCENT_DARK_GREEN_HIGHLIGHT = 4966, - SPR_PALETTE_TRANSLUCENT_DARK_GREEN_SHADOW = 4967, - SPR_PALETTE_TRANSLUCENT_LIGHT_PURPLE = 4968, - SPR_PALETTE_TRANSLUCENT_LIGHT_PURPLE_HIGHLIGHT = 4969, - SPR_PALETTE_TRANSLUCENT_LIGHT_PURPLE_SHADOW = 4970, - SPR_PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN = 4971, - SPR_PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_HIGHLIGHT = 4972, - SPR_PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_SHADOW = 4973, - SPR_PALETTE_TRANSLUCENT_LIGHT_BROWN = 4974, - SPR_PALETTE_TRANSLUCENT_LIGHT_BROWN_HIGHLIGHT = 4975, - SPR_PALETTE_TRANSLUCENT_LIGHT_BROWN_SHADOW = 4976, - SPR_PALETTE_TRANSLUCENT_YELLOW = 4977, - SPR_PALETTE_TRANSLUCENT_YELLOW_HIGHLIGHT = 4978, - SPR_PALETTE_TRANSLUCENT_YELLOW_SHADOW = 4979, - SPR_PALETTE_TRANSLUCENT_MOSS_GREEN = 4980, - SPR_PALETTE_TRANSLUCENT_MOSS_GREEN_HIGHLIGHT = 4981, - SPR_PALETTE_TRANSLUCENT_MOSS_GREEN_SHADOW = 4982, - SPR_PALETTE_TRANSLUCENT_OLIVE_GREEN = 4983, - SPR_PALETTE_TRANSLUCENT_OLIVE_GREEN_HIGHLIGHT = 4984, - SPR_PALETTE_TRANSLUCENT_OLIVE_GREEN_SHADOW = 4985, - SPR_PALETTE_TRANSLUCENT_BRIGHT_GREEN = 4986, - SPR_PALETTE_TRANSLUCENT_BRIGHT_GREEN_HIGHLIGHT = 4987, - SPR_PALETTE_TRANSLUCENT_BRIGHT_GREEN_SHADOW = 4988, - SPR_PALETTE_TRANSLUCENT_SALMON_PINK = 4989, - SPR_PALETTE_TRANSLUCENT_SALMON_PINK_HIGHLIGHT = 4990, - SPR_PALETTE_TRANSLUCENT_SALMON_PINK_SHADOW = 4991, - SPR_PALETTE_TRANSLUCENT_BRIGHT_PURPLE = 4992, - SPR_PALETTE_TRANSLUCENT_BRIGHT_PURPLE_HIGHLIGHT = 4993, - SPR_PALETTE_TRANSLUCENT_BRIGHT_PURPLE_SHADOW = 4994, - SPR_PALETTE_TRANSLUCENT_BRIGHT_RED = 4995, - SPR_PALETTE_TRANSLUCENT_BRIGHT_RED_HIGHLIGHT = 4996, - SPR_PALETTE_TRANSLUCENT_BRIGHT_RED_SHADOW = 4997, - SPR_PALETTE_TRANSLUCENT_LIGHT_ORANGE = 4998, - SPR_PALETTE_TRANSLUCENT_LIGHT_ORANGE_HIGHLIGHT = 4999, - SPR_PALETTE_TRANSLUCENT_LIGHT_ORANGE_SHADOW = 5000, - SPR_PALETTE_TRANSLUCENT_TEAL = 5001, - SPR_PALETTE_TRANSLUCENT_TEAL_HIGHLIGHT = 5002, - SPR_PALETTE_TRANSLUCENT_TEAL_SHADOW = 5003, - SPR_PALETTE_TRANSLUCENT_BRIGHT_PINK = 5004, - SPR_PALETTE_TRANSLUCENT_BRIGHT_PINK_HIGHLIGHT = 5005, - SPR_PALETTE_TRANSLUCENT_BRIGHT_PINK_SHADOW = 5006, - SPR_PALETTE_TRANSLUCENT_DARK_BROWN = 5007, - SPR_PALETTE_TRANSLUCENT_DARK_BROWN_HIGHLIGHT = 5008, - SPR_PALETTE_TRANSLUCENT_DARK_BROWN_SHADOW = 5009, - SPR_PALETTE_TRANSLUCENT_LIGHT_PINK = 5010, - SPR_PALETTE_TRANSLUCENT_LIGHT_PINK_HIGHLIGHT = 5011, - SPR_PALETTE_TRANSLUCENT_LIGHT_PINK_SHADOW = 5012, - SPR_PALETTE_TRANSLUCENT_WHITE = 5013, - SPR_PALETTE_TRANSLUCENT_WHITE_HIGHLIGHT = 5014, - SPR_PALETTE_TRANSLUCENT_WHITE_SHADOW = 5015, - SPR_PALETTE_GLASS_BLACK = 5016, - SPR_PALETTE_GLASS_GREY = 5017, - SPR_PALETTE_GLASS_WHITE = 5018, - SPR_PALETTE_GLASS_DARK_PURPLE = 5019, - SPR_PALETTE_GLASS_LIGHT_PURPLE = 5020, - SPR_PALETTE_GLASS_BRIGHT_PURPLE = 5021, - SPR_PALETTE_GLASS_DARK_BLUE = 5022, - SPR_PALETTE_GLASS_LIGHT_BLUE = 5023, - SPR_PALETTE_GLASS_ICY_BLUE = 5024, - SPR_PALETTE_GLASS_TEAL = 5025, - SPR_PALETTE_GLASS_AQUAMARINE = 5026, - SPR_PALETTE_GLASS_SATURATED_GREEN = 5027, - SPR_PALETTE_GLASS_DARK_GREEN = 5028, - SPR_PALETTE_GLASS_MOSS_GREEN = 5029, - SPR_PALETTE_GLASS_BRIGHT_GREEN = 5030, - SPR_PALETTE_GLASS_OLIVE_GREEN = 5031, - SPR_PALETTE_GLASS_DARK_OLIVE_GREEN = 5032, - SPR_PALETTE_GLASS_BRIGHT_YELLOW = 5033, - SPR_PALETTE_GLASS_YELLOW = 5034, - SPR_PALETTE_GLASS_DARK_YELLOW = 5035, - SPR_PALETTE_GLASS_LIGHT_ORANGE = 5036, - SPR_PALETTE_GLASS_DARK_ORANGE = 5037, - SPR_PALETTE_GLASS_LIGHT_BROWN = 5038, - SPR_PALETTE_GLASS_SATURATED_BROWN = 5039, - SPR_PALETTE_GLASS_DARK_BROWN = 5040, - SPR_PALETTE_GLASS_SALMON_PINK = 5041, - SPR_PALETTE_GLASS_BORDEAUX_RED = 5042, - SPR_PALETTE_GLASS_SATURATED_RED = 5043, - SPR_PALETTE_GLASS_BRIGHT_RED = 5044, - SPR_PALETTE_GLASS_DARK_PINK = 5045, - SPR_PALETTE_GLASS_BRIGHT_PINK = 5046, - SPR_PALETTE_GLASS_LIGHT_PINK = 5047, + SPR_PALETTE_BLACK = 4915, + SPR_PALETTE_GREY = 4916, + SPR_PALETTE_WHITE = 4917, + SPR_PALETTE_DARK_PURPLE = 4918, + SPR_PALETTE_LIGHT_PURPLE = 4919, + SPR_PALETTE_BRIGHT_PURPLE = 4920, + SPR_PALETTE_DARK_BLUE = 4921, + SPR_PALETTE_LIGHT_BLUE = 4922, + SPR_PALETTE_ICY_BLUE = 4923, + SPR_PALETTE_TEAL = 4924, + SPR_PALETTE_AQUAMARINE = 4925, + SPR_PALETTE_SATURATED_GREEN = 4926, + SPR_PALETTE_DARK_GREEN = 4927, + SPR_PALETTE_MOSS_GREEN = 4928, + SPR_PALETTE_BRIGHT_GREEN = 4929, + SPR_PALETTE_OLIVE_GREEN = 4930, + SPR_PALETTE_DARK_OLIVE_GREEN = 4931, + SPR_PALETTE_BRIGHT_YELLOW = 4932, + SPR_PALETTE_YELLOW = 4933, + SPR_PALETTE_DARK_YELLOW = 4934, + SPR_PALETTE_LIGHT_ORANGE = 4935, + SPR_PALETTE_DARK_ORANGE = 4936, + SPR_PALETTE_LIGHT_BROWN = 4937, + SPR_PALETTE_SATURATED_BROWN = 4938, + SPR_PALETTE_DARK_BROWN = 4939, + SPR_PALETTE_SALMON_PINK = 4940, + SPR_PALETTE_BORDEAUX_RED = 4941, + SPR_PALETTE_SATURATED_RED = 4942, + SPR_PALETTE_BRIGHT_RED = 4943, + SPR_PALETTE_DARK_PINK = 4944, + SPR_PALETTE_BRIGHT_PINK = 4945, + SPR_PALETTE_LIGHT_PINK = 4946, + SPR_PALETTE_WATER = 4947, + SPR_PALETTE_4948 = 4948, + SPR_PALETTE_4949 = 4949, + SPR_PALETTE_4950 = 4950, + SPR_PALETTE_DARKEN_3 = 4951, + SPR_PALETTE_4952 = 4952, + SPR_PALETTE_DARKEN_1 = 4953, + SPR_PALETTE_DARKEN_2 = 4954, + SPR_PALETTE_4955 = 4955, + SPR_PALETTE_TRANSLUCENT_GREY = 4956, + SPR_PALETTE_TRANSLUCENT_GREY_HIGHLIGHT = 4957, + SPR_PALETTE_TRANSLUCENT_GREY_SHADOW = 4958, + SPR_PALETTE_TRANSLUCENT_LIGHT_BLUE = 4959, + SPR_PALETTE_TRANSLUCENT_LIGHT_BLUE_HIGHLIGHT = 4960, + SPR_PALETTE_TRANSLUCENT_LIGHT_BLUE_SHADOW = 4961, + SPR_PALETTE_TRANSLUCENT_BORDEAUX_RED = 4962, + SPR_PALETTE_TRANSLUCENT_BORDEAUX_RED_HIGHLIGHT = 4963, + SPR_PALETTE_TRANSLUCENT_BORDEAUX_RED_SHADOW = 4964, + SPR_PALETTE_TRANSLUCENT_DARK_GREEN = 4965, + SPR_PALETTE_TRANSLUCENT_DARK_GREEN_HIGHLIGHT = 4966, + SPR_PALETTE_TRANSLUCENT_DARK_GREEN_SHADOW = 4967, + SPR_PALETTE_TRANSLUCENT_LIGHT_PURPLE = 4968, + SPR_PALETTE_TRANSLUCENT_LIGHT_PURPLE_HIGHLIGHT = 4969, + SPR_PALETTE_TRANSLUCENT_LIGHT_PURPLE_SHADOW = 4970, + SPR_PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN = 4971, + SPR_PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_HIGHLIGHT = 4972, + SPR_PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_SHADOW = 4973, + SPR_PALETTE_TRANSLUCENT_LIGHT_BROWN = 4974, + SPR_PALETTE_TRANSLUCENT_LIGHT_BROWN_HIGHLIGHT = 4975, + SPR_PALETTE_TRANSLUCENT_LIGHT_BROWN_SHADOW = 4976, + SPR_PALETTE_TRANSLUCENT_YELLOW = 4977, + SPR_PALETTE_TRANSLUCENT_YELLOW_HIGHLIGHT = 4978, + SPR_PALETTE_TRANSLUCENT_YELLOW_SHADOW = 4979, + SPR_PALETTE_TRANSLUCENT_MOSS_GREEN = 4980, + SPR_PALETTE_TRANSLUCENT_MOSS_GREEN_HIGHLIGHT = 4981, + SPR_PALETTE_TRANSLUCENT_MOSS_GREEN_SHADOW = 4982, + SPR_PALETTE_TRANSLUCENT_OLIVE_GREEN = 4983, + SPR_PALETTE_TRANSLUCENT_OLIVE_GREEN_HIGHLIGHT = 4984, + SPR_PALETTE_TRANSLUCENT_OLIVE_GREEN_SHADOW = 4985, + SPR_PALETTE_TRANSLUCENT_BRIGHT_GREEN = 4986, + SPR_PALETTE_TRANSLUCENT_BRIGHT_GREEN_HIGHLIGHT = 4987, + SPR_PALETTE_TRANSLUCENT_BRIGHT_GREEN_SHADOW = 4988, + SPR_PALETTE_TRANSLUCENT_SALMON_PINK = 4989, + SPR_PALETTE_TRANSLUCENT_SALMON_PINK_HIGHLIGHT = 4990, + SPR_PALETTE_TRANSLUCENT_SALMON_PINK_SHADOW = 4991, + SPR_PALETTE_TRANSLUCENT_BRIGHT_PURPLE = 4992, + SPR_PALETTE_TRANSLUCENT_BRIGHT_PURPLE_HIGHLIGHT = 4993, + SPR_PALETTE_TRANSLUCENT_BRIGHT_PURPLE_SHADOW = 4994, + SPR_PALETTE_TRANSLUCENT_BRIGHT_RED = 4995, + SPR_PALETTE_TRANSLUCENT_BRIGHT_RED_HIGHLIGHT = 4996, + SPR_PALETTE_TRANSLUCENT_BRIGHT_RED_SHADOW = 4997, + SPR_PALETTE_TRANSLUCENT_LIGHT_ORANGE = 4998, + SPR_PALETTE_TRANSLUCENT_LIGHT_ORANGE_HIGHLIGHT = 4999, + SPR_PALETTE_TRANSLUCENT_LIGHT_ORANGE_SHADOW = 5000, + SPR_PALETTE_TRANSLUCENT_TEAL = 5001, + SPR_PALETTE_TRANSLUCENT_TEAL_HIGHLIGHT = 5002, + SPR_PALETTE_TRANSLUCENT_TEAL_SHADOW = 5003, + SPR_PALETTE_TRANSLUCENT_BRIGHT_PINK = 5004, + SPR_PALETTE_TRANSLUCENT_BRIGHT_PINK_HIGHLIGHT = 5005, + SPR_PALETTE_TRANSLUCENT_BRIGHT_PINK_SHADOW = 5006, + SPR_PALETTE_TRANSLUCENT_DARK_BROWN = 5007, + SPR_PALETTE_TRANSLUCENT_DARK_BROWN_HIGHLIGHT = 5008, + SPR_PALETTE_TRANSLUCENT_DARK_BROWN_SHADOW = 5009, + SPR_PALETTE_TRANSLUCENT_LIGHT_PINK = 5010, + SPR_PALETTE_TRANSLUCENT_LIGHT_PINK_HIGHLIGHT = 5011, + SPR_PALETTE_TRANSLUCENT_LIGHT_PINK_SHADOW = 5012, + SPR_PALETTE_TRANSLUCENT_WHITE = 5013, + SPR_PALETTE_TRANSLUCENT_WHITE_HIGHLIGHT = 5014, + SPR_PALETTE_TRANSLUCENT_WHITE_SHADOW = 5015, + SPR_PALETTE_GLASS_BLACK = 5016, + SPR_PALETTE_GLASS_GREY = 5017, + SPR_PALETTE_GLASS_WHITE = 5018, + SPR_PALETTE_GLASS_DARK_PURPLE = 5019, + SPR_PALETTE_GLASS_LIGHT_PURPLE = 5020, + SPR_PALETTE_GLASS_BRIGHT_PURPLE = 5021, + SPR_PALETTE_GLASS_DARK_BLUE = 5022, + SPR_PALETTE_GLASS_LIGHT_BLUE = 5023, + SPR_PALETTE_GLASS_ICY_BLUE = 5024, + SPR_PALETTE_GLASS_TEAL = 5025, + SPR_PALETTE_GLASS_AQUAMARINE = 5026, + SPR_PALETTE_GLASS_SATURATED_GREEN = 5027, + SPR_PALETTE_GLASS_DARK_GREEN = 5028, + SPR_PALETTE_GLASS_MOSS_GREEN = 5029, + SPR_PALETTE_GLASS_BRIGHT_GREEN = 5030, + SPR_PALETTE_GLASS_OLIVE_GREEN = 5031, + SPR_PALETTE_GLASS_DARK_OLIVE_GREEN = 5032, + SPR_PALETTE_GLASS_BRIGHT_YELLOW = 5033, + SPR_PALETTE_GLASS_YELLOW = 5034, + SPR_PALETTE_GLASS_DARK_YELLOW = 5035, + SPR_PALETTE_GLASS_LIGHT_ORANGE = 5036, + SPR_PALETTE_GLASS_DARK_ORANGE = 5037, + SPR_PALETTE_GLASS_LIGHT_BROWN = 5038, + SPR_PALETTE_GLASS_SATURATED_BROWN = 5039, + SPR_PALETTE_GLASS_DARK_BROWN = 5040, + SPR_PALETTE_GLASS_SALMON_PINK = 5041, + SPR_PALETTE_GLASS_BORDEAUX_RED = 5042, + SPR_PALETTE_GLASS_SATURATED_RED = 5043, + SPR_PALETTE_GLASS_BRIGHT_RED = 5044, + SPR_PALETTE_GLASS_DARK_PINK = 5045, + SPR_PALETTE_GLASS_BRIGHT_PINK = 5046, + SPR_PALETTE_GLASS_LIGHT_PINK = 5047, }; const FILTER_PALETTE_ID GlassPaletteIds[COLOUR_COUNT] = { - PALETTE_GLASS_BLACK, - PALETTE_GLASS_GREY, - PALETTE_GLASS_WHITE, - PALETTE_GLASS_DARK_PURPLE, - PALETTE_GLASS_LIGHT_PURPLE, - PALETTE_GLASS_BRIGHT_PURPLE, - PALETTE_GLASS_DARK_BLUE, - PALETTE_GLASS_LIGHT_BLUE, - PALETTE_GLASS_ICY_BLUE, - PALETTE_GLASS_TEAL, - PALETTE_GLASS_AQUAMARINE, - PALETTE_GLASS_SATURATED_GREEN, - PALETTE_GLASS_DARK_GREEN, - PALETTE_GLASS_MOSS_GREEN, - PALETTE_GLASS_BRIGHT_GREEN, - PALETTE_GLASS_OLIVE_GREEN, - PALETTE_GLASS_DARK_OLIVE_GREEN, - PALETTE_GLASS_BRIGHT_YELLOW, - PALETTE_GLASS_YELLOW, - PALETTE_GLASS_DARK_YELLOW, - PALETTE_GLASS_LIGHT_ORANGE, - PALETTE_GLASS_DARK_ORANGE, - PALETTE_GLASS_LIGHT_BROWN, - PALETTE_GLASS_SATURATED_BROWN, - PALETTE_GLASS_DARK_BROWN, - PALETTE_GLASS_SALMON_PINK, - PALETTE_GLASS_BORDEAUX_RED, - PALETTE_GLASS_SATURATED_RED, - PALETTE_GLASS_BRIGHT_RED, - PALETTE_GLASS_DARK_PINK, - PALETTE_GLASS_BRIGHT_PINK, - PALETTE_GLASS_LIGHT_PINK, + PALETTE_GLASS_BLACK, + PALETTE_GLASS_GREY, + PALETTE_GLASS_WHITE, + PALETTE_GLASS_DARK_PURPLE, + PALETTE_GLASS_LIGHT_PURPLE, + PALETTE_GLASS_BRIGHT_PURPLE, + PALETTE_GLASS_DARK_BLUE, + PALETTE_GLASS_LIGHT_BLUE, + PALETTE_GLASS_ICY_BLUE, + PALETTE_GLASS_TEAL, + PALETTE_GLASS_AQUAMARINE, + PALETTE_GLASS_SATURATED_GREEN, + PALETTE_GLASS_DARK_GREEN, + PALETTE_GLASS_MOSS_GREEN, + PALETTE_GLASS_BRIGHT_GREEN, + PALETTE_GLASS_OLIVE_GREEN, + PALETTE_GLASS_DARK_OLIVE_GREEN, + PALETTE_GLASS_BRIGHT_YELLOW, + PALETTE_GLASS_YELLOW, + PALETTE_GLASS_DARK_YELLOW, + PALETTE_GLASS_LIGHT_ORANGE, + PALETTE_GLASS_DARK_ORANGE, + PALETTE_GLASS_LIGHT_BROWN, + PALETTE_GLASS_SATURATED_BROWN, + PALETTE_GLASS_DARK_BROWN, + PALETTE_GLASS_SALMON_PINK, + PALETTE_GLASS_BORDEAUX_RED, + PALETTE_GLASS_SATURATED_RED, + PALETTE_GLASS_BRIGHT_RED, + PALETTE_GLASS_DARK_PINK, + PALETTE_GLASS_BRIGHT_PINK, + PALETTE_GLASS_LIGHT_PINK, }; // Previously 0x97FCBC use it to get the correct palette from g1_elements const uint16 palette_to_g1_offset[PALETTE_TO_G1_OFFSET_COUNT] = { - SPR_PALETTE_BLACK, - SPR_PALETTE_GREY, - SPR_PALETTE_WHITE, - SPR_PALETTE_DARK_PURPLE, - SPR_PALETTE_LIGHT_PURPLE, - SPR_PALETTE_BRIGHT_PURPLE, - SPR_PALETTE_DARK_BLUE, - SPR_PALETTE_LIGHT_BLUE, - SPR_PALETTE_ICY_BLUE, - SPR_PALETTE_TEAL, - SPR_PALETTE_AQUAMARINE, - SPR_PALETTE_SATURATED_GREEN, - SPR_PALETTE_DARK_GREEN, - SPR_PALETTE_MOSS_GREEN, - SPR_PALETTE_BRIGHT_GREEN, - SPR_PALETTE_OLIVE_GREEN, - SPR_PALETTE_DARK_OLIVE_GREEN, - SPR_PALETTE_BRIGHT_YELLOW, - SPR_PALETTE_YELLOW, - SPR_PALETTE_DARK_YELLOW, - SPR_PALETTE_LIGHT_ORANGE, - SPR_PALETTE_DARK_ORANGE, - SPR_PALETTE_LIGHT_BROWN, - SPR_PALETTE_SATURATED_BROWN, - SPR_PALETTE_DARK_BROWN, - SPR_PALETTE_SALMON_PINK, - SPR_PALETTE_BORDEAUX_RED, - SPR_PALETTE_SATURATED_RED, - SPR_PALETTE_BRIGHT_RED, - SPR_PALETTE_DARK_PINK, - SPR_PALETTE_BRIGHT_PINK, - SPR_PALETTE_LIGHT_PINK, + SPR_PALETTE_BLACK, + SPR_PALETTE_GREY, + SPR_PALETTE_WHITE, + SPR_PALETTE_DARK_PURPLE, + SPR_PALETTE_LIGHT_PURPLE, + SPR_PALETTE_BRIGHT_PURPLE, + SPR_PALETTE_DARK_BLUE, + SPR_PALETTE_LIGHT_BLUE, + SPR_PALETTE_ICY_BLUE, + SPR_PALETTE_TEAL, + SPR_PALETTE_AQUAMARINE, + SPR_PALETTE_SATURATED_GREEN, + SPR_PALETTE_DARK_GREEN, + SPR_PALETTE_MOSS_GREEN, + SPR_PALETTE_BRIGHT_GREEN, + SPR_PALETTE_OLIVE_GREEN, + SPR_PALETTE_DARK_OLIVE_GREEN, + SPR_PALETTE_BRIGHT_YELLOW, + SPR_PALETTE_YELLOW, + SPR_PALETTE_DARK_YELLOW, + SPR_PALETTE_LIGHT_ORANGE, + SPR_PALETTE_DARK_ORANGE, + SPR_PALETTE_LIGHT_BROWN, + SPR_PALETTE_SATURATED_BROWN, + SPR_PALETTE_DARK_BROWN, + SPR_PALETTE_SALMON_PINK, + SPR_PALETTE_BORDEAUX_RED, + SPR_PALETTE_SATURATED_RED, + SPR_PALETTE_BRIGHT_RED, + SPR_PALETTE_DARK_PINK, + SPR_PALETTE_BRIGHT_PINK, + SPR_PALETTE_LIGHT_PINK, - SPR_PALETTE_WATER, // PALETTE_WATER (water) - SPR_PALETTE_3100, - SPR_PALETTE_3101, // PALETTE_34 - SPR_PALETTE_3102, - SPR_PALETTE_3103, - SPR_PALETTE_3104, - SPR_PALETTE_3106, - SPR_PALETTE_3107, - SPR_PALETTE_3108, // 40 - SPR_PALETTE_3109, - SPR_PALETTE_3110, - SPR_PALETTE_3105, - SPR_PALETTE_4948, - SPR_PALETTE_4949, // PALETTE_45 - SPR_PALETTE_4950, - SPR_PALETTE_DARKEN_3, // PALETTE_DARKEN_3 - SPR_PALETTE_4952, // Decreases contrast - SPR_PALETTE_DARKEN_1, // PALETTE_DARKEN_1 - SPR_PALETTE_DARKEN_2, // PALETTE_DARKEN_2 (construction marker) - SPR_PALETTE_4955, // PALETTE_51 + SPR_PALETTE_WATER, // PALETTE_WATER (water) + SPR_PALETTE_3100, + SPR_PALETTE_3101, // PALETTE_34 + SPR_PALETTE_3102, + SPR_PALETTE_3103, + SPR_PALETTE_3104, + SPR_PALETTE_3106, + SPR_PALETTE_3107, + SPR_PALETTE_3108, // 40 + SPR_PALETTE_3109, + SPR_PALETTE_3110, + SPR_PALETTE_3105, + SPR_PALETTE_4948, + SPR_PALETTE_4949, // PALETTE_45 + SPR_PALETTE_4950, + SPR_PALETTE_DARKEN_3, // PALETTE_DARKEN_3 + SPR_PALETTE_4952, // Decreases contrast + SPR_PALETTE_DARKEN_1, // PALETTE_DARKEN_1 + SPR_PALETTE_DARKEN_2, // PALETTE_DARKEN_2 (construction marker) + SPR_PALETTE_4955, // PALETTE_51 - SPR_PALETTE_TRANSLUCENT_GREY, - SPR_PALETTE_TRANSLUCENT_GREY_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_GREY_SHADOW, - SPR_PALETTE_TRANSLUCENT_LIGHT_BLUE, - SPR_PALETTE_TRANSLUCENT_LIGHT_BLUE_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_LIGHT_BLUE_SHADOW, - SPR_PALETTE_TRANSLUCENT_BORDEAUX_RED, - SPR_PALETTE_TRANSLUCENT_BORDEAUX_RED_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_BORDEAUX_RED_SHADOW, - SPR_PALETTE_TRANSLUCENT_DARK_GREEN, - SPR_PALETTE_TRANSLUCENT_DARK_GREEN_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_DARK_GREEN_SHADOW, - SPR_PALETTE_TRANSLUCENT_LIGHT_PURPLE, - SPR_PALETTE_TRANSLUCENT_LIGHT_PURPLE_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_LIGHT_PURPLE_SHADOW, - SPR_PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN, - SPR_PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_SHADOW, - SPR_PALETTE_TRANSLUCENT_LIGHT_BROWN, - SPR_PALETTE_TRANSLUCENT_LIGHT_BROWN_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_LIGHT_BROWN_SHADOW, - SPR_PALETTE_TRANSLUCENT_YELLOW, - SPR_PALETTE_TRANSLUCENT_YELLOW_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_YELLOW_SHADOW, - SPR_PALETTE_TRANSLUCENT_MOSS_GREEN, - SPR_PALETTE_TRANSLUCENT_MOSS_GREEN_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_MOSS_GREEN_SHADOW, - SPR_PALETTE_TRANSLUCENT_OLIVE_GREEN, - SPR_PALETTE_TRANSLUCENT_OLIVE_GREEN_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_OLIVE_GREEN_SHADOW, - SPR_PALETTE_TRANSLUCENT_BRIGHT_GREEN, - SPR_PALETTE_TRANSLUCENT_BRIGHT_GREEN_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_BRIGHT_GREEN_SHADOW, - SPR_PALETTE_TRANSLUCENT_SALMON_PINK, - SPR_PALETTE_TRANSLUCENT_SALMON_PINK_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_SALMON_PINK_SHADOW, - SPR_PALETTE_TRANSLUCENT_BRIGHT_PURPLE, - SPR_PALETTE_TRANSLUCENT_BRIGHT_PURPLE_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_BRIGHT_PURPLE_SHADOW, - SPR_PALETTE_TRANSLUCENT_BRIGHT_RED, - SPR_PALETTE_TRANSLUCENT_BRIGHT_RED_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_BRIGHT_RED_SHADOW, - SPR_PALETTE_TRANSLUCENT_LIGHT_ORANGE, - SPR_PALETTE_TRANSLUCENT_LIGHT_ORANGE_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_LIGHT_ORANGE_SHADOW, - SPR_PALETTE_TRANSLUCENT_TEAL, - SPR_PALETTE_TRANSLUCENT_TEAL_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_TEAL_SHADOW, - SPR_PALETTE_TRANSLUCENT_BRIGHT_PINK, - SPR_PALETTE_TRANSLUCENT_BRIGHT_PINK_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_BRIGHT_PINK_SHADOW, - SPR_PALETTE_TRANSLUCENT_DARK_BROWN, - SPR_PALETTE_TRANSLUCENT_DARK_BROWN_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_DARK_BROWN_SHADOW, - SPR_PALETTE_TRANSLUCENT_LIGHT_PINK, - SPR_PALETTE_TRANSLUCENT_LIGHT_PINK_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_LIGHT_PINK_SHADOW, - SPR_PALETTE_TRANSLUCENT_WHITE, - SPR_PALETTE_TRANSLUCENT_WHITE_HIGHLIGHT, - SPR_PALETTE_TRANSLUCENT_WHITE_SHADOW, + SPR_PALETTE_TRANSLUCENT_GREY, + SPR_PALETTE_TRANSLUCENT_GREY_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_GREY_SHADOW, + SPR_PALETTE_TRANSLUCENT_LIGHT_BLUE, + SPR_PALETTE_TRANSLUCENT_LIGHT_BLUE_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_LIGHT_BLUE_SHADOW, + SPR_PALETTE_TRANSLUCENT_BORDEAUX_RED, + SPR_PALETTE_TRANSLUCENT_BORDEAUX_RED_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_BORDEAUX_RED_SHADOW, + SPR_PALETTE_TRANSLUCENT_DARK_GREEN, + SPR_PALETTE_TRANSLUCENT_DARK_GREEN_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_DARK_GREEN_SHADOW, + SPR_PALETTE_TRANSLUCENT_LIGHT_PURPLE, + SPR_PALETTE_TRANSLUCENT_LIGHT_PURPLE_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_LIGHT_PURPLE_SHADOW, + SPR_PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN, + SPR_PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_SHADOW, + SPR_PALETTE_TRANSLUCENT_LIGHT_BROWN, + SPR_PALETTE_TRANSLUCENT_LIGHT_BROWN_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_LIGHT_BROWN_SHADOW, + SPR_PALETTE_TRANSLUCENT_YELLOW, + SPR_PALETTE_TRANSLUCENT_YELLOW_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_YELLOW_SHADOW, + SPR_PALETTE_TRANSLUCENT_MOSS_GREEN, + SPR_PALETTE_TRANSLUCENT_MOSS_GREEN_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_MOSS_GREEN_SHADOW, + SPR_PALETTE_TRANSLUCENT_OLIVE_GREEN, + SPR_PALETTE_TRANSLUCENT_OLIVE_GREEN_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_OLIVE_GREEN_SHADOW, + SPR_PALETTE_TRANSLUCENT_BRIGHT_GREEN, + SPR_PALETTE_TRANSLUCENT_BRIGHT_GREEN_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_BRIGHT_GREEN_SHADOW, + SPR_PALETTE_TRANSLUCENT_SALMON_PINK, + SPR_PALETTE_TRANSLUCENT_SALMON_PINK_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_SALMON_PINK_SHADOW, + SPR_PALETTE_TRANSLUCENT_BRIGHT_PURPLE, + SPR_PALETTE_TRANSLUCENT_BRIGHT_PURPLE_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_BRIGHT_PURPLE_SHADOW, + SPR_PALETTE_TRANSLUCENT_BRIGHT_RED, + SPR_PALETTE_TRANSLUCENT_BRIGHT_RED_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_BRIGHT_RED_SHADOW, + SPR_PALETTE_TRANSLUCENT_LIGHT_ORANGE, + SPR_PALETTE_TRANSLUCENT_LIGHT_ORANGE_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_LIGHT_ORANGE_SHADOW, + SPR_PALETTE_TRANSLUCENT_TEAL, + SPR_PALETTE_TRANSLUCENT_TEAL_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_TEAL_SHADOW, + SPR_PALETTE_TRANSLUCENT_BRIGHT_PINK, + SPR_PALETTE_TRANSLUCENT_BRIGHT_PINK_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_BRIGHT_PINK_SHADOW, + SPR_PALETTE_TRANSLUCENT_DARK_BROWN, + SPR_PALETTE_TRANSLUCENT_DARK_BROWN_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_DARK_BROWN_SHADOW, + SPR_PALETTE_TRANSLUCENT_LIGHT_PINK, + SPR_PALETTE_TRANSLUCENT_LIGHT_PINK_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_LIGHT_PINK_SHADOW, + SPR_PALETTE_TRANSLUCENT_WHITE, + SPR_PALETTE_TRANSLUCENT_WHITE_HIGHLIGHT, + SPR_PALETTE_TRANSLUCENT_WHITE_SHADOW, - SPR_PALETTE_GLASS_BLACK, - SPR_PALETTE_GLASS_GREY, - SPR_PALETTE_GLASS_WHITE, - SPR_PALETTE_GLASS_DARK_PURPLE, - SPR_PALETTE_GLASS_LIGHT_PURPLE, - SPR_PALETTE_GLASS_BRIGHT_PURPLE, - SPR_PALETTE_GLASS_DARK_BLUE, - SPR_PALETTE_GLASS_LIGHT_BLUE, - SPR_PALETTE_GLASS_ICY_BLUE, - SPR_PALETTE_GLASS_TEAL, - SPR_PALETTE_GLASS_AQUAMARINE, - SPR_PALETTE_GLASS_SATURATED_GREEN, - SPR_PALETTE_GLASS_DARK_GREEN, - SPR_PALETTE_GLASS_MOSS_GREEN, - SPR_PALETTE_GLASS_BRIGHT_GREEN, - SPR_PALETTE_GLASS_OLIVE_GREEN, - SPR_PALETTE_GLASS_DARK_OLIVE_GREEN, - SPR_PALETTE_GLASS_BRIGHT_YELLOW, - SPR_PALETTE_GLASS_YELLOW, - SPR_PALETTE_GLASS_DARK_YELLOW, - SPR_PALETTE_GLASS_LIGHT_ORANGE, - SPR_PALETTE_GLASS_DARK_ORANGE, - SPR_PALETTE_GLASS_LIGHT_BROWN, - SPR_PALETTE_GLASS_SATURATED_BROWN, - SPR_PALETTE_GLASS_DARK_BROWN, - SPR_PALETTE_GLASS_SALMON_PINK, - SPR_PALETTE_GLASS_BORDEAUX_RED, - SPR_PALETTE_GLASS_SATURATED_RED, - SPR_PALETTE_GLASS_BRIGHT_RED, - SPR_PALETTE_GLASS_DARK_PINK, - SPR_PALETTE_GLASS_BRIGHT_PINK, - SPR_PALETTE_GLASS_LIGHT_PINK, + SPR_PALETTE_GLASS_BLACK, + SPR_PALETTE_GLASS_GREY, + SPR_PALETTE_GLASS_WHITE, + SPR_PALETTE_GLASS_DARK_PURPLE, + SPR_PALETTE_GLASS_LIGHT_PURPLE, + SPR_PALETTE_GLASS_BRIGHT_PURPLE, + SPR_PALETTE_GLASS_DARK_BLUE, + SPR_PALETTE_GLASS_LIGHT_BLUE, + SPR_PALETTE_GLASS_ICY_BLUE, + SPR_PALETTE_GLASS_TEAL, + SPR_PALETTE_GLASS_AQUAMARINE, + SPR_PALETTE_GLASS_SATURATED_GREEN, + SPR_PALETTE_GLASS_DARK_GREEN, + SPR_PALETTE_GLASS_MOSS_GREEN, + SPR_PALETTE_GLASS_BRIGHT_GREEN, + SPR_PALETTE_GLASS_OLIVE_GREEN, + SPR_PALETTE_GLASS_DARK_OLIVE_GREEN, + SPR_PALETTE_GLASS_BRIGHT_YELLOW, + SPR_PALETTE_GLASS_YELLOW, + SPR_PALETTE_GLASS_DARK_YELLOW, + SPR_PALETTE_GLASS_LIGHT_ORANGE, + SPR_PALETTE_GLASS_DARK_ORANGE, + SPR_PALETTE_GLASS_LIGHT_BROWN, + SPR_PALETTE_GLASS_SATURATED_BROWN, + SPR_PALETTE_GLASS_DARK_BROWN, + SPR_PALETTE_GLASS_SALMON_PINK, + SPR_PALETTE_GLASS_BORDEAUX_RED, + SPR_PALETTE_GLASS_SATURATED_RED, + SPR_PALETTE_GLASS_BRIGHT_RED, + SPR_PALETTE_GLASS_DARK_PINK, + SPR_PALETTE_GLASS_BRIGHT_PINK, + SPR_PALETTE_GLASS_LIGHT_PINK, }; -#define WINDOW_PALETTE_GREY {PALETTE_TRANSLUCENT_GREY, PALETTE_TRANSLUCENT_GREY_HIGHLIGHT, PALETTE_TRANSLUCENT_GREY_SHADOW} -#define WINDOW_PALETTE_LIGHT_PURPLE {PALETTE_TRANSLUCENT_LIGHT_PURPLE, PALETTE_TRANSLUCENT_LIGHT_PURPLE_HIGHLIGHT, PALETTE_TRANSLUCENT_LIGHT_PURPLE_SHADOW} -#define WINDOW_PALETTE_LIGHT_BLUE {PALETTE_TRANSLUCENT_LIGHT_BLUE, PALETTE_TRANSLUCENT_LIGHT_BLUE_HIGHLIGHT, PALETTE_TRANSLUCENT_LIGHT_BLUE_SHADOW} -#define WINDOW_PALETTE_TEAL {PALETTE_TRANSLUCENT_TEAL, PALETTE_TRANSLUCENT_TEAL_HIGHLIGHT, PALETTE_TRANSLUCENT_TEAL_SHADOW} -#define WINDOW_PALETTE_BRIGHT_GREEN {PALETTE_TRANSLUCENT_BRIGHT_GREEN, PALETTE_TRANSLUCENT_BRIGHT_GREEN_HIGHLIGHT, PALETTE_TRANSLUCENT_BRIGHT_GREEN_SHADOW} -#define WINDOW_PALETTE_YELLOW {PALETTE_TRANSLUCENT_YELLOW, PALETTE_TRANSLUCENT_YELLOW_HIGHLIGHT, PALETTE_TRANSLUCENT_YELLOW_SHADOW} -#define WINDOW_PALETTE_LIGHT_ORANGE {PALETTE_TRANSLUCENT_LIGHT_ORANGE, PALETTE_TRANSLUCENT_LIGHT_ORANGE_HIGHLIGHT, PALETTE_TRANSLUCENT_LIGHT_ORANGE_SHADOW} -#define WINDOW_PALETTE_LIGHT_BROWN {PALETTE_TRANSLUCENT_LIGHT_BROWN, PALETTE_TRANSLUCENT_LIGHT_BROWN_HIGHLIGHT, PALETTE_TRANSLUCENT_LIGHT_BROWN_SHADOW} -#define WINDOW_PALETTE_BRIGHT_RED {PALETTE_TRANSLUCENT_BRIGHT_RED, PALETTE_TRANSLUCENT_BRIGHT_RED_HIGHLIGHT, PALETTE_TRANSLUCENT_BRIGHT_RED_SHADOW} -#define WINDOW_PALETTE_BRIGHT_PINK {PALETTE_TRANSLUCENT_BRIGHT_PINK, PALETTE_TRANSLUCENT_BRIGHT_PINK_HIGHLIGHT, PALETTE_TRANSLUCENT_BRIGHT_PINK_SHADOW} +#define WINDOW_PALETTE_GREY {PALETTE_TRANSLUCENT_GREY, PALETTE_TRANSLUCENT_GREY_HIGHLIGHT, PALETTE_TRANSLUCENT_GREY_SHADOW} +#define WINDOW_PALETTE_LIGHT_PURPLE {PALETTE_TRANSLUCENT_LIGHT_PURPLE, PALETTE_TRANSLUCENT_LIGHT_PURPLE_HIGHLIGHT, PALETTE_TRANSLUCENT_LIGHT_PURPLE_SHADOW} +#define WINDOW_PALETTE_LIGHT_BLUE {PALETTE_TRANSLUCENT_LIGHT_BLUE, PALETTE_TRANSLUCENT_LIGHT_BLUE_HIGHLIGHT, PALETTE_TRANSLUCENT_LIGHT_BLUE_SHADOW} +#define WINDOW_PALETTE_TEAL {PALETTE_TRANSLUCENT_TEAL, PALETTE_TRANSLUCENT_TEAL_HIGHLIGHT, PALETTE_TRANSLUCENT_TEAL_SHADOW} +#define WINDOW_PALETTE_BRIGHT_GREEN {PALETTE_TRANSLUCENT_BRIGHT_GREEN, PALETTE_TRANSLUCENT_BRIGHT_GREEN_HIGHLIGHT, PALETTE_TRANSLUCENT_BRIGHT_GREEN_SHADOW} +#define WINDOW_PALETTE_YELLOW {PALETTE_TRANSLUCENT_YELLOW, PALETTE_TRANSLUCENT_YELLOW_HIGHLIGHT, PALETTE_TRANSLUCENT_YELLOW_SHADOW} +#define WINDOW_PALETTE_LIGHT_ORANGE {PALETTE_TRANSLUCENT_LIGHT_ORANGE, PALETTE_TRANSLUCENT_LIGHT_ORANGE_HIGHLIGHT, PALETTE_TRANSLUCENT_LIGHT_ORANGE_SHADOW} +#define WINDOW_PALETTE_LIGHT_BROWN {PALETTE_TRANSLUCENT_LIGHT_BROWN, PALETTE_TRANSLUCENT_LIGHT_BROWN_HIGHLIGHT, PALETTE_TRANSLUCENT_LIGHT_BROWN_SHADOW} +#define WINDOW_PALETTE_BRIGHT_RED {PALETTE_TRANSLUCENT_BRIGHT_RED, PALETTE_TRANSLUCENT_BRIGHT_RED_HIGHLIGHT, PALETTE_TRANSLUCENT_BRIGHT_RED_SHADOW} +#define WINDOW_PALETTE_BRIGHT_PINK {PALETTE_TRANSLUCENT_BRIGHT_PINK, PALETTE_TRANSLUCENT_BRIGHT_PINK_HIGHLIGHT, PALETTE_TRANSLUCENT_BRIGHT_PINK_SHADOW} const translucent_window_palette TranslucentWindowPalettes[COLOUR_COUNT] = { - WINDOW_PALETTE_GREY, // COLOUR_BLACK - WINDOW_PALETTE_GREY, // COLOUR_GREY - {PALETTE_TRANSLUCENT_WHITE, PALETTE_TRANSLUCENT_WHITE_HIGHLIGHT, PALETTE_TRANSLUCENT_WHITE_SHADOW}, - WINDOW_PALETTE_LIGHT_PURPLE, // COLOUR_DARK_PURPLE - WINDOW_PALETTE_LIGHT_PURPLE, // COLOUR_LIGHT_PURPLE - {PALETTE_TRANSLUCENT_BRIGHT_PURPLE, PALETTE_TRANSLUCENT_BRIGHT_PURPLE_HIGHLIGHT, PALETTE_TRANSLUCENT_BRIGHT_PURPLE_SHADOW}, - WINDOW_PALETTE_LIGHT_BLUE, // COLOUR_DARK_BLUE - WINDOW_PALETTE_LIGHT_BLUE, // COLOUR_LIGHT_BLUE - WINDOW_PALETTE_LIGHT_BLUE, // COLOUR_ICY_BLUE - WINDOW_PALETTE_TEAL, // COLOUR_TEAL - WINDOW_PALETTE_TEAL, // COLOUR_AQUAMARINE - WINDOW_PALETTE_BRIGHT_GREEN, // COLOUR_SATURATED_GREEN - {PALETTE_TRANSLUCENT_DARK_GREEN, PALETTE_TRANSLUCENT_DARK_GREEN_HIGHLIGHT, PALETTE_TRANSLUCENT_DARK_GREEN_SHADOW}, - {PALETTE_TRANSLUCENT_MOSS_GREEN, PALETTE_TRANSLUCENT_MOSS_GREEN_HIGHLIGHT, PALETTE_TRANSLUCENT_MOSS_GREEN_SHADOW}, - WINDOW_PALETTE_BRIGHT_GREEN, // COLOUR_BRIGHT_GREEN - {PALETTE_TRANSLUCENT_OLIVE_GREEN, PALETTE_TRANSLUCENT_OLIVE_GREEN_HIGHLIGHT, PALETTE_TRANSLUCENT_OLIVE_GREEN_SHADOW}, - {PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN, PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_HIGHLIGHT, PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_SHADOW}, - WINDOW_PALETTE_YELLOW, // COLOUR_BRIGHT_YELLOW - WINDOW_PALETTE_YELLOW, // COLOUR_YELLOW - WINDOW_PALETTE_YELLOW, // COLOUR_DARK_YELLOW - WINDOW_PALETTE_LIGHT_ORANGE, // COLOUR_LIGHT_ORANGE - WINDOW_PALETTE_LIGHT_ORANGE, // COLOUR_DARK_ORANGE - WINDOW_PALETTE_LIGHT_BROWN, // COLOUR_LIGHT_BROWN - WINDOW_PALETTE_LIGHT_BROWN, // COLOUR_SATURATED_BROWN - {PALETTE_TRANSLUCENT_DARK_BROWN, PALETTE_TRANSLUCENT_DARK_BROWN_HIGHLIGHT, PALETTE_TRANSLUCENT_DARK_BROWN_SHADOW}, - {PALETTE_TRANSLUCENT_SALMON_PINK, PALETTE_TRANSLUCENT_SALMON_PINK_HIGHLIGHT, PALETTE_TRANSLUCENT_SALMON_PINK_SHADOW}, - {PALETTE_TRANSLUCENT_BORDEAUX_RED, PALETTE_TRANSLUCENT_BORDEAUX_RED_HIGHLIGHT, PALETTE_TRANSLUCENT_BORDEAUX_RED_SHADOW}, - WINDOW_PALETTE_BRIGHT_RED, // COLOUR_SATURATED_RED - WINDOW_PALETTE_BRIGHT_RED, // COLOUR_BRIGHT_RED - WINDOW_PALETTE_BRIGHT_PINK, // COLOUR_DARK_PINK - WINDOW_PALETTE_BRIGHT_PINK, // COLOUR_BRIGHT_PINK - {PALETTE_TRANSLUCENT_LIGHT_PINK, PALETTE_TRANSLUCENT_LIGHT_PINK_HIGHLIGHT, PALETTE_TRANSLUCENT_LIGHT_PINK_SHADOW}, + WINDOW_PALETTE_GREY, // COLOUR_BLACK + WINDOW_PALETTE_GREY, // COLOUR_GREY + {PALETTE_TRANSLUCENT_WHITE, PALETTE_TRANSLUCENT_WHITE_HIGHLIGHT, PALETTE_TRANSLUCENT_WHITE_SHADOW}, + WINDOW_PALETTE_LIGHT_PURPLE, // COLOUR_DARK_PURPLE + WINDOW_PALETTE_LIGHT_PURPLE, // COLOUR_LIGHT_PURPLE + {PALETTE_TRANSLUCENT_BRIGHT_PURPLE, PALETTE_TRANSLUCENT_BRIGHT_PURPLE_HIGHLIGHT, PALETTE_TRANSLUCENT_BRIGHT_PURPLE_SHADOW}, + WINDOW_PALETTE_LIGHT_BLUE, // COLOUR_DARK_BLUE + WINDOW_PALETTE_LIGHT_BLUE, // COLOUR_LIGHT_BLUE + WINDOW_PALETTE_LIGHT_BLUE, // COLOUR_ICY_BLUE + WINDOW_PALETTE_TEAL, // COLOUR_TEAL + WINDOW_PALETTE_TEAL, // COLOUR_AQUAMARINE + WINDOW_PALETTE_BRIGHT_GREEN, // COLOUR_SATURATED_GREEN + {PALETTE_TRANSLUCENT_DARK_GREEN, PALETTE_TRANSLUCENT_DARK_GREEN_HIGHLIGHT, PALETTE_TRANSLUCENT_DARK_GREEN_SHADOW}, + {PALETTE_TRANSLUCENT_MOSS_GREEN, PALETTE_TRANSLUCENT_MOSS_GREEN_HIGHLIGHT, PALETTE_TRANSLUCENT_MOSS_GREEN_SHADOW}, + WINDOW_PALETTE_BRIGHT_GREEN, // COLOUR_BRIGHT_GREEN + {PALETTE_TRANSLUCENT_OLIVE_GREEN, PALETTE_TRANSLUCENT_OLIVE_GREEN_HIGHLIGHT, PALETTE_TRANSLUCENT_OLIVE_GREEN_SHADOW}, + {PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN, PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_HIGHLIGHT, PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_SHADOW}, + WINDOW_PALETTE_YELLOW, // COLOUR_BRIGHT_YELLOW + WINDOW_PALETTE_YELLOW, // COLOUR_YELLOW + WINDOW_PALETTE_YELLOW, // COLOUR_DARK_YELLOW + WINDOW_PALETTE_LIGHT_ORANGE, // COLOUR_LIGHT_ORANGE + WINDOW_PALETTE_LIGHT_ORANGE, // COLOUR_DARK_ORANGE + WINDOW_PALETTE_LIGHT_BROWN, // COLOUR_LIGHT_BROWN + WINDOW_PALETTE_LIGHT_BROWN, // COLOUR_SATURATED_BROWN + {PALETTE_TRANSLUCENT_DARK_BROWN, PALETTE_TRANSLUCENT_DARK_BROWN_HIGHLIGHT, PALETTE_TRANSLUCENT_DARK_BROWN_SHADOW}, + {PALETTE_TRANSLUCENT_SALMON_PINK, PALETTE_TRANSLUCENT_SALMON_PINK_HIGHLIGHT, PALETTE_TRANSLUCENT_SALMON_PINK_SHADOW}, + {PALETTE_TRANSLUCENT_BORDEAUX_RED, PALETTE_TRANSLUCENT_BORDEAUX_RED_HIGHLIGHT, PALETTE_TRANSLUCENT_BORDEAUX_RED_SHADOW}, + WINDOW_PALETTE_BRIGHT_RED, // COLOUR_SATURATED_RED + WINDOW_PALETTE_BRIGHT_RED, // COLOUR_BRIGHT_RED + WINDOW_PALETTE_BRIGHT_PINK, // COLOUR_DARK_PINK + WINDOW_PALETTE_BRIGHT_PINK, // COLOUR_BRIGHT_PINK + {PALETTE_TRANSLUCENT_LIGHT_PINK, PALETTE_TRANSLUCENT_LIGHT_PINK_HIGHLIGHT, PALETTE_TRANSLUCENT_LIGHT_PINK_SHADOW}, }; void gfx_draw_pixel(rct_drawpixelinfo *dpi, sint32 x, sint32 y, sint32 colour) { - gfx_fill_rect(dpi, x, y, x, y, colour); + gfx_fill_rect(dpi, x, y, x, y, colour); } void gfx_filter_pixel(rct_drawpixelinfo *dpi, sint32 x, sint32 y, FILTER_PALETTE_ID palette) { - gfx_filter_rect(dpi, x, y, x, y, palette); + gfx_filter_rect(dpi, x, y, x, y, palette); } /** @@ -495,20 +495,20 @@ void gfx_filter_pixel(rct_drawpixelinfo *dpi, sint32 x, sint32 y, FILTER_PALETTE */ void gfx_transpose_palette(sint32 pal, uint8 product) { - rct_g1_element g1 = g1Elements[pal]; - sint32 width = g1.width; - sint32 x = g1.x_offset; - uint8* dest_pointer = &gGamePalette[x * 4]; - uint8* source_pointer = g1.offset; + rct_g1_element g1 = g1Elements[pal]; + sint32 width = g1.width; + sint32 x = g1.x_offset; + uint8* dest_pointer = &gGamePalette[x * 4]; + uint8* source_pointer = g1.offset; - for (; width > 0; width--) { - dest_pointer[0] = (source_pointer[0] * product) >> 8; - dest_pointer[1] = (source_pointer[1] * product) >> 8; - dest_pointer[2] = (source_pointer[2] * product) >> 8; - source_pointer += 3; - dest_pointer += 4; - } - platform_update_palette(gGamePalette, 10, 236); + for (; width > 0; width--) { + dest_pointer[0] = (source_pointer[0] * product) >> 8; + dest_pointer[1] = (source_pointer[1] * product) >> 8; + dest_pointer[2] = (source_pointer[2] * product) >> 8; + source_pointer += 3; + dest_pointer += 4; + } + platform_update_palette(gGamePalette, 10, 236); } /** @@ -516,29 +516,29 @@ void gfx_transpose_palette(sint32 pal, uint8 product) * rct2: 0x006837E3 */ void load_palette(){ - rct_water_type* water_type = (rct_water_type*)object_entry_groups[OBJECT_TYPE_WATER].chunks[0]; + rct_water_type* water_type = (rct_water_type*)object_entry_groups[OBJECT_TYPE_WATER].chunks[0]; - uint32 palette = 0x5FC; + uint32 palette = 0x5FC; - if ((intptr_t)water_type != -1) { - openrct2_assert(water_type->image_id != (uint32)-1, "Failed to load water palette"); - palette = water_type->image_id; - } + if ((intptr_t)water_type != -1) { + openrct2_assert(water_type->image_id != (uint32)-1, "Failed to load water palette"); + palette = water_type->image_id; + } - rct_g1_element g1 = g1Elements[palette]; - sint32 width = g1.width; - sint32 x = g1.x_offset; - uint8* dest_pointer = &gGamePalette[x * 4]; - uint8* source_pointer = g1.offset; + rct_g1_element g1 = g1Elements[palette]; + sint32 width = g1.width; + sint32 x = g1.x_offset; + uint8* dest_pointer = &gGamePalette[x * 4]; + uint8* source_pointer = g1.offset; - for (; width > 0; width--) { - dest_pointer[0] = source_pointer[0]; - dest_pointer[1] = source_pointer[1]; - dest_pointer[2] = source_pointer[2]; - source_pointer += 3; - dest_pointer += 4; - } - platform_update_palette(gGamePalette, 10, 236); + for (; width > 0; width--) { + dest_pointer[0] = source_pointer[0]; + dest_pointer[1] = source_pointer[1]; + dest_pointer[2] = source_pointer[2]; + source_pointer += 3; + dest_pointer += 4; + } + platform_update_palette(gGamePalette, 10, 236); } /** @@ -547,7 +547,7 @@ void load_palette(){ */ void gfx_invalidate_screen() { - gfx_set_dirty_blocks(0, 0, context_get_width(), context_get_height()); + gfx_set_dirty_blocks(0, 0, context_get_width(), context_get_height()); } /** @@ -560,22 +560,22 @@ void gfx_invalidate_screen() */ void window_draw_all(rct_drawpixelinfo *dpi, sint16 left, sint16 top, sint16 right, sint16 bottom) { - rct_drawpixelinfo windowDPI; - windowDPI.bits = dpi->bits + left + ((dpi->width + dpi->pitch) * top); - windowDPI.x = left; - windowDPI.y = top; - windowDPI.width = right - left; - windowDPI.height = bottom - top; - windowDPI.pitch = dpi->width + dpi->pitch + left - right; - windowDPI.zoom_level = 0; + rct_drawpixelinfo windowDPI; + windowDPI.bits = dpi->bits + left + ((dpi->width + dpi->pitch) * top); + windowDPI.x = left; + windowDPI.y = top; + windowDPI.width = right - left; + windowDPI.height = bottom - top; + windowDPI.pitch = dpi->width + dpi->pitch + left - right; + windowDPI.zoom_level = 0; - for (rct_window *w = g_window_list; w < gWindowNextSlot; w++) { - if (w->flags & WF_TRANSPARENT) continue; - if (right <= w->x || bottom <= w->y) continue; - if (left >= w->x + w->width || top >= w->y + w->height) continue; + for (rct_window *w = g_window_list; w < gWindowNextSlot; w++) { + if (w->flags & WF_TRANSPARENT) continue; + if (right <= w->x || bottom <= w->y) continue; + if (left >= w->x + w->width || top >= w->y + w->height) continue; - window_draw(&windowDPI, w, left, top, right, bottom); - } + window_draw(&windowDPI, w, left, top, right, bottom); + } } /* @@ -589,72 +589,72 @@ void window_draw_all(rct_drawpixelinfo *dpi, sint16 left, sint16 top, sint16 rig */ bool clip_drawpixelinfo(rct_drawpixelinfo *dst, rct_drawpixelinfo *src, sint32 x, sint32 y, sint32 width, sint32 height) { - sint32 right = x + width; - sint32 bottom = y + height; + sint32 right = x + width; + sint32 bottom = y + height; - dst->bits = src->bits; - dst->x = src->x; - dst->y = src->y; - dst->width = src->width; - dst->height = src->height; - dst->pitch = src->pitch; - dst->zoom_level = 0; + dst->bits = src->bits; + dst->x = src->x; + dst->y = src->y; + dst->width = src->width; + dst->height = src->height; + dst->pitch = src->pitch; + dst->zoom_level = 0; - if (x > dst->x) { - uint16 clippedFromLeft = x - dst->x; - dst->width -= clippedFromLeft; - dst->x = x; - dst->pitch += clippedFromLeft; - dst->bits += clippedFromLeft; - } + if (x > dst->x) { + uint16 clippedFromLeft = x - dst->x; + dst->width -= clippedFromLeft; + dst->x = x; + dst->pitch += clippedFromLeft; + dst->bits += clippedFromLeft; + } - sint32 stickOutWidth = dst->x + dst->width - right; - if (stickOutWidth > 0) { - dst->width -= stickOutWidth; - dst->pitch += stickOutWidth; - } + sint32 stickOutWidth = dst->x + dst->width - right; + if (stickOutWidth > 0) { + dst->width -= stickOutWidth; + dst->pitch += stickOutWidth; + } - if (y > dst->y) { - uint16 clippedFromTop = y - dst->y; - dst->height -= clippedFromTop; - dst->y = y; - uint32 bitsPlus = (dst->pitch + dst->width) * clippedFromTop; - dst->bits += bitsPlus; - } + if (y > dst->y) { + uint16 clippedFromTop = y - dst->y; + dst->height -= clippedFromTop; + dst->y = y; + uint32 bitsPlus = (dst->pitch + dst->width) * clippedFromTop; + dst->bits += bitsPlus; + } - sint32 bp = dst->y + dst->height - bottom; - if (bp > 0) { - dst->height -= bp; - } + sint32 bp = dst->y + dst->height - bottom; + if (bp > 0) { + dst->height -= bp; + } - if (dst->width > 0 && dst->height > 0) { - dst->x -= x; - dst->y -= y; - return true; - } + if (dst->width > 0 && dst->height > 0) { + dst->x -= x; + dst->y -= y; + return true; + } - return false; + return false; } void gfx_invalidate_pickedup_peep() { - uint32 sprite = gPickupPeepImage; - if (sprite != UINT32_MAX) { - sprite = sprite & 0x7FFFF; + uint32 sprite = gPickupPeepImage; + if (sprite != UINT32_MAX) { + sprite = sprite & 0x7FFFF; - rct_g1_element *g1_elements = &g1Elements[sprite]; - sint32 left = gPickupPeepX + g1_elements->x_offset; - sint32 top = gPickupPeepY + g1_elements->y_offset; - sint32 right = left + g1_elements->width; - sint32 bottom = top + g1_elements->height; + rct_g1_element *g1_elements = &g1Elements[sprite]; + sint32 left = gPickupPeepX + g1_elements->x_offset; + sint32 top = gPickupPeepY + g1_elements->y_offset; + sint32 right = left + g1_elements->width; + sint32 bottom = top + g1_elements->height; - gfx_set_dirty_blocks(left, top, right, bottom); - } + gfx_set_dirty_blocks(left, top, right, bottom); + } } void gfx_draw_pickedup_peep(rct_drawpixelinfo *dpi) { - if (gPickupPeepImage != UINT32_MAX) { - gfx_draw_sprite(dpi, gPickupPeepImage, gPickupPeepX, gPickupPeepY, 0); - } + if (gPickupPeepImage != UINT32_MAX) { + gfx_draw_sprite(dpi, gPickupPeepImage, gPickupPeepX, gPickupPeepY, 0); + } } diff --git a/src/openrct2/drawing/drawing.h b/src/openrct2/drawing/drawing.h index 4c33af205b..96523b4e93 100644 --- a/src/openrct2/drawing/drawing.h +++ b/src/openrct2/drawing/drawing.h @@ -27,13 +27,13 @@ #endif // Size: 0x10 typedef struct rct_g1_element { - uint8* offset; // 0x00 - sint16 width; // 0x04 - sint16 height; // 0x06 - sint16 x_offset; // 0x08 - sint16 y_offset; // 0x0A - uint16 flags; // 0x0C - uint16 zoomed_offset; // 0x0E + uint8* offset; // 0x00 + sint16 width; // 0x04 + sint16 height; // 0x06 + sint16 x_offset; // 0x08 + sint16 y_offset; // 0x0A + uint16 flags; // 0x0C + uint16 zoomed_offset; // 0x0E } rct_g1_element; #ifndef NO_RCT2 #ifdef PLATFORM_32BIT @@ -46,13 +46,13 @@ assert_struct_size(rct_g1_element, 0x10); #pragma pack(push, 1) // Size: 0x10 typedef struct rct_drawpixelinfo { - uint8* bits; // 0x00 - sint16 x; // 0x04 - sint16 y; // 0x06 - sint16 width; // 0x08 - sint16 height; // 0x0A - sint16 pitch; // 0x0C note: this is actually (pitch - width) - uint16 zoom_level; // 0x0E + uint8* bits; // 0x00 + sint16 x; // 0x04 + sint16 y; // 0x06 + sint16 width; // 0x08 + sint16 height; // 0x0A + sint16 pitch; // 0x0C note: this is actually (pitch - width) + uint16 zoom_level; // 0x0E } rct_drawpixelinfo; #ifdef PLATFORM_32BIT assert_struct_size(rct_drawpixelinfo, 0x10); @@ -60,182 +60,182 @@ assert_struct_size(rct_drawpixelinfo, 0x10); // Size: 0x10 typedef struct rct_g1_element_32bit { - uint32 offset; // 0x00 note: uint32 always! - sint16 width; // 0x04 - sint16 height; // 0x06 - sint16 x_offset; // 0x08 - sint16 y_offset; // 0x0A - uint16 flags; // 0x0C - uint16 zoomed_offset; // 0x0E + uint32 offset; // 0x00 note: uint32 always! + sint16 width; // 0x04 + sint16 height; // 0x06 + sint16 x_offset; // 0x08 + sint16 y_offset; // 0x0A + uint16 flags; // 0x0C + uint16 zoomed_offset; // 0x0E } rct_g1_element_32bit; assert_struct_size(rct_g1_element_32bit, 0x10); enum { - G1_FLAG_BMP = (1 << 0), // Image data is encoded as raw pixels (no transparency) - G1_FLAG_1 = (1 << 1), - G1_FLAG_RLE_COMPRESSION = (1 << 2), // Image data is encoded using RCT2's form of run length encoding - G1_FLAG_HAS_ZOOM_SPRITE = (1 << 4), // Use a different sprite for higher zoom levels - G1_FLAG_NO_ZOOM_DRAW = (1 << 5), // Does not get drawn at higher zoom levels (only zoom 0) + G1_FLAG_BMP = (1 << 0), // Image data is encoded as raw pixels (no transparency) + G1_FLAG_1 = (1 << 1), + G1_FLAG_RLE_COMPRESSION = (1 << 2), // Image data is encoded using RCT2's form of run length encoding + G1_FLAG_HAS_ZOOM_SPRITE = (1 << 4), // Use a different sprite for higher zoom levels + G1_FLAG_NO_ZOOM_DRAW = (1 << 5), // Does not get drawn at higher zoom levels (only zoom 0) }; enum { - IMAGE_TYPE_DEFAULT = 0, - IMAGE_TYPE_REMAP = (1 << 29), - IMAGE_TYPE_TRANSPARENT = (1 << 30), - IMAGE_TYPE_REMAP_2_PLUS = (1u << 31) - // REMAP_2_PLUS + REMAP = REMAP 2 - // REMAP_2_PLUS = REMAP 3 + IMAGE_TYPE_DEFAULT = 0, + IMAGE_TYPE_REMAP = (1 << 29), + IMAGE_TYPE_TRANSPARENT = (1 << 30), + IMAGE_TYPE_REMAP_2_PLUS = (1u << 31) + // REMAP_2_PLUS + REMAP = REMAP 2 + // REMAP_2_PLUS = REMAP 3 }; enum { - INSET_RECT_FLAG_FILL_GREY = (1 << 2), // 0x04 - INSET_RECT_FLAG_BORDER_NONE = (1 << 3), // 0x08 - INSET_RECT_FLAG_FILL_NONE = (1 << 4), // 0x10 - INSET_RECT_FLAG_BORDER_INSET = (1 << 5), // 0x20 - INSET_RECT_FLAG_FILL_DONT_LIGHTEN = (1 << 6), // 0x40 - INSET_RECT_FLAG_FILL_MID_LIGHT = (1 << 7), // 0x80 + INSET_RECT_FLAG_FILL_GREY = (1 << 2), // 0x04 + INSET_RECT_FLAG_BORDER_NONE = (1 << 3), // 0x08 + INSET_RECT_FLAG_FILL_NONE = (1 << 4), // 0x10 + INSET_RECT_FLAG_BORDER_INSET = (1 << 5), // 0x20 + INSET_RECT_FLAG_FILL_DONT_LIGHTEN = (1 << 6), // 0x40 + INSET_RECT_FLAG_FILL_MID_LIGHT = (1 << 7), // 0x80 }; typedef enum { - PALETTE_WATER = 32, + PALETTE_WATER = 32, - PALETTE_34 = 34, + PALETTE_34 = 34, - PALETTE_45 = 45, // Decolourise + lighten + PALETTE_45 = 45, // Decolourise + lighten - PALETTE_DARKEN_3 = 47, + PALETTE_DARKEN_3 = 47, - PALETTE_DARKEN_1 = 49, - PALETTE_DARKEN_2 = 50, - PALETTE_51 = 51, // Decolourise + darken - PALETTE_TRANSLUCENT_GREY = 52, - PALETTE_TRANSLUCENT_GREY_HIGHLIGHT = 53, - PALETTE_TRANSLUCENT_GREY_SHADOW = 54, - PALETTE_TRANSLUCENT_LIGHT_BLUE = 55, - PALETTE_TRANSLUCENT_LIGHT_BLUE_HIGHLIGHT = 56, - PALETTE_TRANSLUCENT_LIGHT_BLUE_SHADOW = 57, - PALETTE_TRANSLUCENT_BORDEAUX_RED = 58, - PALETTE_TRANSLUCENT_BORDEAUX_RED_HIGHLIGHT = 59, - PALETTE_TRANSLUCENT_BORDEAUX_RED_SHADOW = 60, - PALETTE_TRANSLUCENT_DARK_GREEN = 61, - PALETTE_TRANSLUCENT_DARK_GREEN_HIGHLIGHT = 62, - PALETTE_TRANSLUCENT_DARK_GREEN_SHADOW = 63, - PALETTE_TRANSLUCENT_LIGHT_PURPLE = 64, - PALETTE_TRANSLUCENT_LIGHT_PURPLE_HIGHLIGHT = 65, - PALETTE_TRANSLUCENT_LIGHT_PURPLE_SHADOW = 66, - PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN = 67, - PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_HIGHLIGHT = 68, - PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_SHADOW = 69, - PALETTE_TRANSLUCENT_LIGHT_BROWN = 70, - PALETTE_TRANSLUCENT_LIGHT_BROWN_HIGHLIGHT = 71, - PALETTE_TRANSLUCENT_LIGHT_BROWN_SHADOW = 72, - PALETTE_TRANSLUCENT_YELLOW = 73, - PALETTE_TRANSLUCENT_YELLOW_HIGHLIGHT = 74, - PALETTE_TRANSLUCENT_YELLOW_SHADOW = 75, - PALETTE_TRANSLUCENT_MOSS_GREEN = 76, - PALETTE_TRANSLUCENT_MOSS_GREEN_HIGHLIGHT = 77, - PALETTE_TRANSLUCENT_MOSS_GREEN_SHADOW = 78, - PALETTE_TRANSLUCENT_OLIVE_GREEN = 79, - PALETTE_TRANSLUCENT_OLIVE_GREEN_HIGHLIGHT = 80, - PALETTE_TRANSLUCENT_OLIVE_GREEN_SHADOW = 81, - PALETTE_TRANSLUCENT_BRIGHT_GREEN = 82, - PALETTE_TRANSLUCENT_BRIGHT_GREEN_HIGHLIGHT = 83, - PALETTE_TRANSLUCENT_BRIGHT_GREEN_SHADOW = 84, - PALETTE_TRANSLUCENT_SALMON_PINK = 85, - PALETTE_TRANSLUCENT_SALMON_PINK_HIGHLIGHT = 86, - PALETTE_TRANSLUCENT_SALMON_PINK_SHADOW = 87, - PALETTE_TRANSLUCENT_BRIGHT_PURPLE = 88, - PALETTE_TRANSLUCENT_BRIGHT_PURPLE_HIGHLIGHT = 89, - PALETTE_TRANSLUCENT_BRIGHT_PURPLE_SHADOW = 90, - PALETTE_TRANSLUCENT_BRIGHT_RED = 91, - PALETTE_TRANSLUCENT_BRIGHT_RED_HIGHLIGHT = 92, - PALETTE_TRANSLUCENT_BRIGHT_RED_SHADOW = 93, - PALETTE_TRANSLUCENT_LIGHT_ORANGE = 94, - PALETTE_TRANSLUCENT_LIGHT_ORANGE_HIGHLIGHT = 95, - PALETTE_TRANSLUCENT_LIGHT_ORANGE_SHADOW = 96, - PALETTE_TRANSLUCENT_TEAL = 97, - PALETTE_TRANSLUCENT_TEAL_HIGHLIGHT = 98, - PALETTE_TRANSLUCENT_TEAL_SHADOW = 99, - PALETTE_TRANSLUCENT_BRIGHT_PINK = 100, - PALETTE_TRANSLUCENT_BRIGHT_PINK_HIGHLIGHT = 101, - PALETTE_TRANSLUCENT_BRIGHT_PINK_SHADOW = 102, - PALETTE_TRANSLUCENT_DARK_BROWN = 103, - PALETTE_TRANSLUCENT_DARK_BROWN_HIGHLIGHT = 104, - PALETTE_TRANSLUCENT_DARK_BROWN_SHADOW = 105, - PALETTE_TRANSLUCENT_LIGHT_PINK = 106, - PALETTE_TRANSLUCENT_LIGHT_PINK_HIGHLIGHT = 107, - PALETTE_TRANSLUCENT_LIGHT_PINK_SHADOW = 108, - PALETTE_TRANSLUCENT_WHITE = 109, - PALETTE_TRANSLUCENT_WHITE_HIGHLIGHT = 110, - PALETTE_TRANSLUCENT_WHITE_SHADOW = 111, - PALETTE_GLASS_BLACK = 112 + COLOUR_BLACK, - PALETTE_GLASS_GREY = 112 + COLOUR_GREY, - PALETTE_GLASS_WHITE = 112 + COLOUR_WHITE, - PALETTE_GLASS_DARK_PURPLE = 112 + COLOUR_DARK_PURPLE, - PALETTE_GLASS_LIGHT_PURPLE = 112 + COLOUR_LIGHT_PURPLE, - PALETTE_GLASS_BRIGHT_PURPLE = 112 + COLOUR_BRIGHT_PURPLE, - PALETTE_GLASS_DARK_BLUE = 112 + COLOUR_DARK_BLUE, - PALETTE_GLASS_LIGHT_BLUE = 112 + COLOUR_LIGHT_BLUE, - PALETTE_GLASS_ICY_BLUE = 112 + COLOUR_ICY_BLUE, - PALETTE_GLASS_TEAL = 112 + COLOUR_TEAL, - PALETTE_GLASS_AQUAMARINE = 112 + COLOUR_AQUAMARINE, - PALETTE_GLASS_SATURATED_GREEN = 112 + COLOUR_SATURATED_GREEN, - PALETTE_GLASS_DARK_GREEN = 112 + COLOUR_DARK_GREEN, - PALETTE_GLASS_MOSS_GREEN = 112 + COLOUR_MOSS_GREEN, - PALETTE_GLASS_BRIGHT_GREEN = 112 + COLOUR_BRIGHT_GREEN, - PALETTE_GLASS_OLIVE_GREEN = 112 + COLOUR_OLIVE_GREEN, - PALETTE_GLASS_DARK_OLIVE_GREEN = 112 + COLOUR_DARK_OLIVE_GREEN, - PALETTE_GLASS_BRIGHT_YELLOW = 112 + COLOUR_BRIGHT_YELLOW, - PALETTE_GLASS_YELLOW = 112 + COLOUR_YELLOW, - PALETTE_GLASS_DARK_YELLOW = 112 + COLOUR_DARK_YELLOW, - PALETTE_GLASS_LIGHT_ORANGE = 112 + COLOUR_LIGHT_ORANGE, - PALETTE_GLASS_DARK_ORANGE = 112 + COLOUR_DARK_ORANGE, - PALETTE_GLASS_LIGHT_BROWN = 112 + COLOUR_LIGHT_BROWN, - PALETTE_GLASS_SATURATED_BROWN = 112 + COLOUR_SATURATED_BROWN, - PALETTE_GLASS_DARK_BROWN = 112 + COLOUR_DARK_BROWN, - PALETTE_GLASS_SALMON_PINK = 112 + COLOUR_SALMON_PINK, - PALETTE_GLASS_BORDEAUX_RED = 112 + COLOUR_BORDEAUX_RED, - PALETTE_GLASS_SATURATED_RED = 112 + COLOUR_SATURATED_RED, - PALETTE_GLASS_BRIGHT_RED = 112 + COLOUR_BRIGHT_RED, - PALETTE_GLASS_DARK_PINK = 112 + COLOUR_DARK_PINK, - PALETTE_GLASS_BRIGHT_PINK = 112 + COLOUR_BRIGHT_PINK, - PALETTE_GLASS_LIGHT_PINK = 112 + COLOUR_LIGHT_PINK, + PALETTE_DARKEN_1 = 49, + PALETTE_DARKEN_2 = 50, + PALETTE_51 = 51, // Decolourise + darken + PALETTE_TRANSLUCENT_GREY = 52, + PALETTE_TRANSLUCENT_GREY_HIGHLIGHT = 53, + PALETTE_TRANSLUCENT_GREY_SHADOW = 54, + PALETTE_TRANSLUCENT_LIGHT_BLUE = 55, + PALETTE_TRANSLUCENT_LIGHT_BLUE_HIGHLIGHT = 56, + PALETTE_TRANSLUCENT_LIGHT_BLUE_SHADOW = 57, + PALETTE_TRANSLUCENT_BORDEAUX_RED = 58, + PALETTE_TRANSLUCENT_BORDEAUX_RED_HIGHLIGHT = 59, + PALETTE_TRANSLUCENT_BORDEAUX_RED_SHADOW = 60, + PALETTE_TRANSLUCENT_DARK_GREEN = 61, + PALETTE_TRANSLUCENT_DARK_GREEN_HIGHLIGHT = 62, + PALETTE_TRANSLUCENT_DARK_GREEN_SHADOW = 63, + PALETTE_TRANSLUCENT_LIGHT_PURPLE = 64, + PALETTE_TRANSLUCENT_LIGHT_PURPLE_HIGHLIGHT = 65, + PALETTE_TRANSLUCENT_LIGHT_PURPLE_SHADOW = 66, + PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN = 67, + PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_HIGHLIGHT = 68, + PALETTE_TRANSLUCENT_DARK_OLIVE_GREEN_SHADOW = 69, + PALETTE_TRANSLUCENT_LIGHT_BROWN = 70, + PALETTE_TRANSLUCENT_LIGHT_BROWN_HIGHLIGHT = 71, + PALETTE_TRANSLUCENT_LIGHT_BROWN_SHADOW = 72, + PALETTE_TRANSLUCENT_YELLOW = 73, + PALETTE_TRANSLUCENT_YELLOW_HIGHLIGHT = 74, + PALETTE_TRANSLUCENT_YELLOW_SHADOW = 75, + PALETTE_TRANSLUCENT_MOSS_GREEN = 76, + PALETTE_TRANSLUCENT_MOSS_GREEN_HIGHLIGHT = 77, + PALETTE_TRANSLUCENT_MOSS_GREEN_SHADOW = 78, + PALETTE_TRANSLUCENT_OLIVE_GREEN = 79, + PALETTE_TRANSLUCENT_OLIVE_GREEN_HIGHLIGHT = 80, + PALETTE_TRANSLUCENT_OLIVE_GREEN_SHADOW = 81, + PALETTE_TRANSLUCENT_BRIGHT_GREEN = 82, + PALETTE_TRANSLUCENT_BRIGHT_GREEN_HIGHLIGHT = 83, + PALETTE_TRANSLUCENT_BRIGHT_GREEN_SHADOW = 84, + PALETTE_TRANSLUCENT_SALMON_PINK = 85, + PALETTE_TRANSLUCENT_SALMON_PINK_HIGHLIGHT = 86, + PALETTE_TRANSLUCENT_SALMON_PINK_SHADOW = 87, + PALETTE_TRANSLUCENT_BRIGHT_PURPLE = 88, + PALETTE_TRANSLUCENT_BRIGHT_PURPLE_HIGHLIGHT = 89, + PALETTE_TRANSLUCENT_BRIGHT_PURPLE_SHADOW = 90, + PALETTE_TRANSLUCENT_BRIGHT_RED = 91, + PALETTE_TRANSLUCENT_BRIGHT_RED_HIGHLIGHT = 92, + PALETTE_TRANSLUCENT_BRIGHT_RED_SHADOW = 93, + PALETTE_TRANSLUCENT_LIGHT_ORANGE = 94, + PALETTE_TRANSLUCENT_LIGHT_ORANGE_HIGHLIGHT = 95, + PALETTE_TRANSLUCENT_LIGHT_ORANGE_SHADOW = 96, + PALETTE_TRANSLUCENT_TEAL = 97, + PALETTE_TRANSLUCENT_TEAL_HIGHLIGHT = 98, + PALETTE_TRANSLUCENT_TEAL_SHADOW = 99, + PALETTE_TRANSLUCENT_BRIGHT_PINK = 100, + PALETTE_TRANSLUCENT_BRIGHT_PINK_HIGHLIGHT = 101, + PALETTE_TRANSLUCENT_BRIGHT_PINK_SHADOW = 102, + PALETTE_TRANSLUCENT_DARK_BROWN = 103, + PALETTE_TRANSLUCENT_DARK_BROWN_HIGHLIGHT = 104, + PALETTE_TRANSLUCENT_DARK_BROWN_SHADOW = 105, + PALETTE_TRANSLUCENT_LIGHT_PINK = 106, + PALETTE_TRANSLUCENT_LIGHT_PINK_HIGHLIGHT = 107, + PALETTE_TRANSLUCENT_LIGHT_PINK_SHADOW = 108, + PALETTE_TRANSLUCENT_WHITE = 109, + PALETTE_TRANSLUCENT_WHITE_HIGHLIGHT = 110, + PALETTE_TRANSLUCENT_WHITE_SHADOW = 111, + PALETTE_GLASS_BLACK = 112 + COLOUR_BLACK, + PALETTE_GLASS_GREY = 112 + COLOUR_GREY, + PALETTE_GLASS_WHITE = 112 + COLOUR_WHITE, + PALETTE_GLASS_DARK_PURPLE = 112 + COLOUR_DARK_PURPLE, + PALETTE_GLASS_LIGHT_PURPLE = 112 + COLOUR_LIGHT_PURPLE, + PALETTE_GLASS_BRIGHT_PURPLE = 112 + COLOUR_BRIGHT_PURPLE, + PALETTE_GLASS_DARK_BLUE = 112 + COLOUR_DARK_BLUE, + PALETTE_GLASS_LIGHT_BLUE = 112 + COLOUR_LIGHT_BLUE, + PALETTE_GLASS_ICY_BLUE = 112 + COLOUR_ICY_BLUE, + PALETTE_GLASS_TEAL = 112 + COLOUR_TEAL, + PALETTE_GLASS_AQUAMARINE = 112 + COLOUR_AQUAMARINE, + PALETTE_GLASS_SATURATED_GREEN = 112 + COLOUR_SATURATED_GREEN, + PALETTE_GLASS_DARK_GREEN = 112 + COLOUR_DARK_GREEN, + PALETTE_GLASS_MOSS_GREEN = 112 + COLOUR_MOSS_GREEN, + PALETTE_GLASS_BRIGHT_GREEN = 112 + COLOUR_BRIGHT_GREEN, + PALETTE_GLASS_OLIVE_GREEN = 112 + COLOUR_OLIVE_GREEN, + PALETTE_GLASS_DARK_OLIVE_GREEN = 112 + COLOUR_DARK_OLIVE_GREEN, + PALETTE_GLASS_BRIGHT_YELLOW = 112 + COLOUR_BRIGHT_YELLOW, + PALETTE_GLASS_YELLOW = 112 + COLOUR_YELLOW, + PALETTE_GLASS_DARK_YELLOW = 112 + COLOUR_DARK_YELLOW, + PALETTE_GLASS_LIGHT_ORANGE = 112 + COLOUR_LIGHT_ORANGE, + PALETTE_GLASS_DARK_ORANGE = 112 + COLOUR_DARK_ORANGE, + PALETTE_GLASS_LIGHT_BROWN = 112 + COLOUR_LIGHT_BROWN, + PALETTE_GLASS_SATURATED_BROWN = 112 + COLOUR_SATURATED_BROWN, + PALETTE_GLASS_DARK_BROWN = 112 + COLOUR_DARK_BROWN, + PALETTE_GLASS_SALMON_PINK = 112 + COLOUR_SALMON_PINK, + PALETTE_GLASS_BORDEAUX_RED = 112 + COLOUR_BORDEAUX_RED, + PALETTE_GLASS_SATURATED_RED = 112 + COLOUR_SATURATED_RED, + PALETTE_GLASS_BRIGHT_RED = 112 + COLOUR_BRIGHT_RED, + PALETTE_GLASS_DARK_PINK = 112 + COLOUR_DARK_PINK, + PALETTE_GLASS_BRIGHT_PINK = 112 + COLOUR_BRIGHT_PINK, + PALETTE_GLASS_LIGHT_PINK = 112 + COLOUR_LIGHT_PINK, } FILTER_PALETTE_ID; typedef struct translucent_window_palette { - FILTER_PALETTE_ID base; - FILTER_PALETTE_ID highlight; - FILTER_PALETTE_ID shadow; + FILTER_PALETTE_ID base; + FILTER_PALETTE_ID highlight; + FILTER_PALETTE_ID shadow; } translucent_window_palette; typedef struct rct_g1_header { - uint32 num_entries; - uint32 total_size; + uint32 num_entries; + uint32 total_size; } rct_g1_header; assert_struct_size(rct_g1_header, 8); typedef struct rct_gx { - rct_g1_header header; - rct_g1_element *elements; - void *data; + rct_g1_header header; + rct_g1_element *elements; + void *data; } rct_gx; #ifdef PLATFORM_32BIT assert_struct_size(rct_gx, 16); #endif typedef struct rct_palette_entry { - uint8 blue; - uint8 green; - uint8 red; - uint8 alpha; + uint8 blue; + uint8 green; + uint8 red; + uint8 alpha; } rct_palette_entry; assert_struct_size(rct_palette_entry, 4); #pragma pack(pop) typedef struct rct_palette { - rct_palette_entry entries[256]; + rct_palette_entry entries[256]; } rct_palette; #define SPRITE_ID_PALETTE_COLOUR_1(colourId) (IMAGE_TYPE_REMAP | ((colourId) << 19)) diff --git a/src/openrct2/drawing/font.c b/src/openrct2/drawing/font.c index a298a581e0..c6968378a6 100644 --- a/src/openrct2/drawing/font.c +++ b/src/openrct2/drawing/font.c @@ -38,189 +38,189 @@ TTFFontSetDescriptor *gCurrentTTFFontSet; */ void font_sprite_initialise_characters() { - uint8* pCharacterWidth = _spriteFontCharacterWidths; - for (sint32 fontSize = 0; fontSize < FONT_SIZE_COUNT; fontSize++) { - sint32 glyphOffset = fontSize * FONT_SPRITE_GLYPH_COUNT; - for (uint8 glyphIndex = 0; glyphIndex < FONT_SPRITE_GLYPH_COUNT; glyphIndex++) { - rct_g1_element g1 = g1Elements[glyphIndex + SPR_CHAR_START + glyphOffset]; + uint8* pCharacterWidth = _spriteFontCharacterWidths; + for (sint32 fontSize = 0; fontSize < FONT_SIZE_COUNT; fontSize++) { + sint32 glyphOffset = fontSize * FONT_SPRITE_GLYPH_COUNT; + for (uint8 glyphIndex = 0; glyphIndex < FONT_SPRITE_GLYPH_COUNT; glyphIndex++) { + rct_g1_element g1 = g1Elements[glyphIndex + SPR_CHAR_START + glyphOffset]; - sint32 width = fontSize == FONT_SIZE_BIG ? g1.width + 1 : g1.width - 1; - if (glyphIndex >= (FORMAT_ARGUMENT_CODE_START - 32) && glyphIndex < (FORMAT_COLOUR_CODE_END - 32)) { - width = 0; - } - *pCharacterWidth++ = (uint8)width; - } - } + sint32 width = fontSize == FONT_SIZE_BIG ? g1.width + 1 : g1.width - 1; + if (glyphIndex >= (FORMAT_ARGUMENT_CODE_START - 32) && glyphIndex < (FORMAT_COLOUR_CODE_END - 32)) { + width = 0; + } + *pCharacterWidth++ = (uint8)width; + } + } - scrolling_text_initialise_bitmaps(); + scrolling_text_initialise_bitmaps(); } sint32 font_sprite_get_codepoint_offset(sint32 codepoint) { - switch (codepoint) { - case FORMAT_ENDQUOTES: return 34 - 32; + switch (codepoint) { + case FORMAT_ENDQUOTES: return 34 - 32; - case FORMAT_AMINUSCULE: return 159 - 32; - case FORMAT_UP: return 160 - 32; - case FORMAT_SYMBOL_i: return 160 - 32; - case FORMAT_CENT: return 162 - 32; - case FORMAT_POUND: return 163 - 32; + case FORMAT_AMINUSCULE: return 159 - 32; + case FORMAT_UP: return 160 - 32; + case FORMAT_SYMBOL_i: return 160 - 32; + case FORMAT_CENT: return 162 - 32; + case FORMAT_POUND: return 163 - 32; - case FORMAT_YEN: return 165 - 32; + case FORMAT_YEN: return 165 - 32; - case FORMAT_COPYRIGHT: return 169 - 32; - case FORMAT_DOWN: return 170 - 32; - case FORMAT_LEFTGUILLEMET: return 171 - 32; - case FORMAT_TICK: return 172 - 32; - case FORMAT_CROSS: return 173 - 32; + case FORMAT_COPYRIGHT: return 169 - 32; + case FORMAT_DOWN: return 170 - 32; + case FORMAT_LEFTGUILLEMET: return 171 - 32; + case FORMAT_TICK: return 172 - 32; + case FORMAT_CROSS: return 173 - 32; - case FORMAT_RIGHT: return 175 - 32; - case FORMAT_DEGREE: return 176 - 32; - case FORMAT_SYMBOL_RAILWAY: return 177 - 32; - case FORMAT_SQUARED: return 178 - 32; + case FORMAT_RIGHT: return 175 - 32; + case FORMAT_DEGREE: return 176 - 32; + case FORMAT_SYMBOL_RAILWAY: return 177 - 32; + case FORMAT_SQUARED: return 178 - 32; - case FORMAT_OPENQUOTES: return 180 - 32; - case FORMAT_EURO: return 181 - 32; - case FORMAT_SYMBOL_ROAD: return 182 - 32; - case FORMAT_SYMBOL_FLAG: return 183 - 32; - case FORMAT_APPROX: return 184 - 32; - case FORMAT_POWERNEGATIVEONE: return 185 - 32; - case FORMAT_BULLET: return 186 - 32; - case FORMAT_RIGHTGUILLEMET: return 187 - 32; - case FORMAT_SMALLUP: return 188 - 32; - case FORMAT_SMALLDOWN: return 189 - 32; - case FORMAT_LEFT: return 190 - 32; - case FORMAT_INVERTEDQUESTION: return 191 - 32; - default: - if (codepoint < 32 || codepoint >= 256) codepoint = '?'; - return codepoint - 32; - } + case FORMAT_OPENQUOTES: return 180 - 32; + case FORMAT_EURO: return 181 - 32; + case FORMAT_SYMBOL_ROAD: return 182 - 32; + case FORMAT_SYMBOL_FLAG: return 183 - 32; + case FORMAT_APPROX: return 184 - 32; + case FORMAT_POWERNEGATIVEONE: return 185 - 32; + case FORMAT_BULLET: return 186 - 32; + case FORMAT_RIGHTGUILLEMET: return 187 - 32; + case FORMAT_SMALLUP: return 188 - 32; + case FORMAT_SMALLDOWN: return 189 - 32; + case FORMAT_LEFT: return 190 - 32; + case FORMAT_INVERTEDQUESTION: return 191 - 32; + default: + if (codepoint < 32 || codepoint >= 256) codepoint = '?'; + return codepoint - 32; + } } sint32 font_sprite_get_codepoint_width(sint32 fontSpriteBase, sint32 codepoint) { - return _spriteFontCharacterWidths[fontSpriteBase + font_sprite_get_codepoint_offset(codepoint)]; + return _spriteFontCharacterWidths[fontSpriteBase + font_sprite_get_codepoint_offset(codepoint)]; } sint32 font_sprite_get_codepoint_sprite(sint32 fontSpriteBase, sint32 codepoint) { - return SPR_CHAR_START + (IMAGE_TYPE_REMAP | (fontSpriteBase + font_sprite_get_codepoint_offset(codepoint))); + return SPR_CHAR_START + (IMAGE_TYPE_REMAP | (fontSpriteBase + font_sprite_get_codepoint_offset(codepoint))); } sint32 font_get_size_from_sprite_base(uint16 spriteBase) { - switch (spriteBase) { - case FONT_SPRITE_BASE_TINY: - return 0; - case FONT_SPRITE_BASE_SMALL: - return 1; - default: - case FONT_SPRITE_BASE_MEDIUM: - return 2; - case FONT_SPRITE_BASE_BIG: - return 3; - } + switch (spriteBase) { + case FONT_SPRITE_BASE_TINY: + return 0; + case FONT_SPRITE_BASE_SMALL: + return 1; + default: + case FONT_SPRITE_BASE_MEDIUM: + return 2; + case FONT_SPRITE_BASE_BIG: + return 3; + } } sint32 font_get_line_height(sint32 fontSpriteBase) { - sint32 fontSize = font_get_size_from_sprite_base(fontSpriteBase); + sint32 fontSize = font_get_size_from_sprite_base(fontSpriteBase); #ifndef NO_TTF - if (gUseTrueTypeFont) { - return gCurrentTTFFontSet->size[fontSize].line_height; - } else { + if (gUseTrueTypeFont) { + return gCurrentTTFFontSet->size[fontSize].line_height; + } else { #endif // NO_TTF - return SpriteFontLineHeight[fontSize]; + return SpriteFontLineHeight[fontSize]; #ifndef NO_TTF - } + } #endif // NO_TTF } sint32 font_get_line_height_small(sint32 fontSpriteBase) { - return font_get_line_height(fontSpriteBase) / 2; + return font_get_line_height(fontSpriteBase) / 2; } bool font_supports_string_sprite(const utf8 *text) { - const utf8 *src = text; + const utf8 *src = text; - uint32 codepoint; - while ((codepoint = utf8_get_next(src, &src)) != 0) { - bool supported = false; - switch (codepoint) { - case FORMAT_ENDQUOTES: - case FORMAT_AMINUSCULE: - case FORMAT_UP: - case FORMAT_SYMBOL_i: - case FORMAT_CENT: - case FORMAT_POUND: - case FORMAT_YEN: - case FORMAT_COPYRIGHT: - case FORMAT_DOWN: - case FORMAT_LEFTGUILLEMET: - case FORMAT_TICK: - case FORMAT_CROSS: - case FORMAT_RIGHT: - case FORMAT_DEGREE: - case FORMAT_SYMBOL_RAILWAY: - case FORMAT_SQUARED: - case FORMAT_OPENQUOTES: - case FORMAT_EURO: - case FORMAT_SYMBOL_ROAD: - case FORMAT_SYMBOL_FLAG: - case FORMAT_APPROX: - case FORMAT_POWERNEGATIVEONE: - case FORMAT_BULLET: - case FORMAT_RIGHTGUILLEMET: - case FORMAT_SMALLUP: - case FORMAT_SMALLDOWN: - case FORMAT_LEFT: - case FORMAT_INVERTEDQUESTION: - supported = true; - break; - default: - if (codepoint >= 32 && codepoint < 256) { - supported = true; - } - break; - } - if (!supported) { - return false; - } - } - return true; + uint32 codepoint; + while ((codepoint = utf8_get_next(src, &src)) != 0) { + bool supported = false; + switch (codepoint) { + case FORMAT_ENDQUOTES: + case FORMAT_AMINUSCULE: + case FORMAT_UP: + case FORMAT_SYMBOL_i: + case FORMAT_CENT: + case FORMAT_POUND: + case FORMAT_YEN: + case FORMAT_COPYRIGHT: + case FORMAT_DOWN: + case FORMAT_LEFTGUILLEMET: + case FORMAT_TICK: + case FORMAT_CROSS: + case FORMAT_RIGHT: + case FORMAT_DEGREE: + case FORMAT_SYMBOL_RAILWAY: + case FORMAT_SQUARED: + case FORMAT_OPENQUOTES: + case FORMAT_EURO: + case FORMAT_SYMBOL_ROAD: + case FORMAT_SYMBOL_FLAG: + case FORMAT_APPROX: + case FORMAT_POWERNEGATIVEONE: + case FORMAT_BULLET: + case FORMAT_RIGHTGUILLEMET: + case FORMAT_SMALLUP: + case FORMAT_SMALLDOWN: + case FORMAT_LEFT: + case FORMAT_INVERTEDQUESTION: + supported = true; + break; + default: + if (codepoint >= 32 && codepoint < 256) { + supported = true; + } + break; + } + if (!supported) { + return false; + } + } + return true; } bool font_supports_string_ttf(const utf8 *text, sint32 fontSize) { #ifndef NO_TTF - const utf8 *src = text; - const TTF_Font *font = gCurrentTTFFontSet->size[fontSize].font; - if (font == NULL) { - return false; - } + const utf8 *src = text; + const TTF_Font *font = gCurrentTTFFontSet->size[fontSize].font; + if (font == NULL) { + return false; + } - uint32 codepoint; - while ((codepoint = utf8_get_next(src, &src)) != 0) { - bool supported = TTF_GlyphIsProvided(font, (uint16)codepoint); - if (!supported) { - return false; - } - } - return true; + uint32 codepoint; + while ((codepoint = utf8_get_next(src, &src)) != 0) { + bool supported = TTF_GlyphIsProvided(font, (uint16)codepoint); + if (!supported) { + return false; + } + } + return true; #else - return false; + return false; #endif // NO_TTF } bool font_supports_string(const utf8 *text, sint32 fontSize) { - if (gUseTrueTypeFont) { - return font_supports_string_ttf(text, fontSize); - } else { - return font_supports_string_sprite(text); - } + if (gUseTrueTypeFont) { + return font_supports_string_ttf(text, fontSize); + } else { + return font_supports_string_sprite(text); + } } diff --git a/src/openrct2/drawing/font.h b/src/openrct2/drawing/font.h index d03a81ac50..410ff75b83 100644 --- a/src/openrct2/drawing/font.h +++ b/src/openrct2/drawing/font.h @@ -24,37 +24,37 @@ #include "../common.h" enum { - FONT_SIZE_TINY = 2, - FONT_SIZE_SMALL = 0, - FONT_SIZE_MEDIUM = 1, - FONT_SIZE_BIG = 3, - FONT_SIZE_COUNT = 4 + FONT_SIZE_TINY = 2, + FONT_SIZE_SMALL = 0, + FONT_SIZE_MEDIUM = 1, + FONT_SIZE_BIG = 3, + FONT_SIZE_COUNT = 4 }; enum { - FONT_SPRITE_GLYPH_COUNT = 224, - FONT_SPRITE_BASE_MEDIUM_EXTRA_DARK = -2, - FONT_SPRITE_BASE_MEDIUM_DARK = -1, + FONT_SPRITE_GLYPH_COUNT = 224, + FONT_SPRITE_BASE_MEDIUM_EXTRA_DARK = -2, + FONT_SPRITE_BASE_MEDIUM_DARK = -1, - FONT_SPRITE_BASE_TINY = 448, - FONT_SPRITE_BASE_SMALL = 0, - FONT_SPRITE_BASE_MEDIUM = 224, - FONT_SPRITE_BASE_BIG = 672 + FONT_SPRITE_BASE_TINY = 448, + FONT_SPRITE_BASE_SMALL = 0, + FONT_SPRITE_BASE_MEDIUM = 224, + FONT_SPRITE_BASE_BIG = 672 }; #ifndef NO_TTF typedef struct TTFFontDescriptor { - const utf8 *filename; - const utf8 *font_name; - sint32 ptSize; - sint32 offset_x; - sint32 offset_y; - sint32 line_height; - TTF_Font *font; + const utf8 *filename; + const utf8 *font_name; + sint32 ptSize; + sint32 offset_x; + sint32 offset_y; + sint32 line_height; + TTF_Font *font; } TTFFontDescriptor; typedef struct TTFFontSetDescriptor { - TTFFontDescriptor size[FONT_SIZE_COUNT]; + TTFFontDescriptor size[FONT_SIZE_COUNT]; } TTFFontSetDescriptor; extern TTFFontSetDescriptor *gCurrentTTFFontSet; diff --git a/src/openrct2/drawing/lightfx.c b/src/openrct2/drawing/lightfx.c index 6dca882e5b..2e01b43dbb 100644 --- a/src/openrct2/drawing/lightfx.c +++ b/src/openrct2/drawing/lightfx.c @@ -35,42 +35,42 @@ static uint8 _bakedLightTexture_spot_0[32 * 32]; static uint8 _bakedLightTexture_spot_1[64 * 64]; static uint8 _bakedLightTexture_spot_2[128 * 128]; static uint8 _bakedLightTexture_spot_3[256 * 256]; -static rct_drawpixelinfo _pixelInfo; +static rct_drawpixelinfo _pixelInfo; static void* _light_rendered_buffer_back = NULL; static void* _light_rendered_buffer_front = NULL; -static uint32 _lightPolution_back = 0; -static uint32 _lightPolution_front = 0; +static uint32 _lightPolution_back = 0; +static uint32 _lightPolution_front = 0; typedef struct lightlist_entry { - sint16 x, y, z; - uint8 lightType; - uint8 lightIntensity; - uint32 lightID; - uint16 lightIDqualifier; - uint8 lightLinger; - uint8 pad[1]; + sint16 x, y, z; + uint8 lightType; + uint8 lightIntensity; + uint32 lightID; + uint16 lightIDqualifier; + uint8 lightLinger; + uint8 pad[1]; } lightlist_entry; -static lightlist_entry _LightListA[16000]; -static lightlist_entry _LightListB[16000]; +static lightlist_entry _LightListA[16000]; +static lightlist_entry _LightListB[16000]; -static lightlist_entry *_LightListBack; -static lightlist_entry *_LightListFront; +static lightlist_entry *_LightListBack; +static lightlist_entry *_LightListFront; -static uint32 LightListCurrentCountBack; -static uint32 LightListCurrentCountFront; +static uint32 LightListCurrentCountBack; +static uint32 LightListCurrentCountFront; -static sint16 _current_view_x_front = 0; -static sint16 _current_view_y_front = 0; -static uint8 _current_view_rotation_front = 0; -static uint8 _current_view_zoom_front = 0; -static sint16 _current_view_x_back = 0; -static sint16 _current_view_y_back = 0; -static uint8 _current_view_rotation_back = 0; -static uint8 _current_view_zoom_back = 0; -static uint8 _current_view_zoom_back_delay = 0; +static sint16 _current_view_x_front = 0; +static sint16 _current_view_y_front = 0; +static uint8 _current_view_rotation_front = 0; +static uint8 _current_view_zoom_front = 0; +static sint16 _current_view_x_back = 0; +static sint16 _current_view_y_back = 0; +static uint8 _current_view_rotation_back = 0; +static uint8 _current_view_zoom_back = 0; +static uint8 _current_view_zoom_back_delay = 0; static SDL_Color gPalette_light[256]; @@ -79,82 +79,82 @@ static uint8 lerp(uint8 a, uint8 b, float t); static float flerp(float a, float b, float t); static uint8 calc_light_intensity_lantern(sint32 x, sint32 y) { - double distance = (double)(x * x + y * y); + double distance = (double)(x * x + y * y); - double light = 0.03 + pow(10.0 / (1.0 + distance / 100.0), 0.55); - light *= min(1.0, max(0.0f, 2.0 - sqrt(distance) / 64)); - light *= 0.1f; + double light = 0.03 + pow(10.0 / (1.0 + distance / 100.0), 0.55); + light *= min(1.0, max(0.0f, 2.0 - sqrt(distance) / 64)); + light *= 0.1f; - return (uint8)(min(255.0, light * 255.0)); + return (uint8)(min(255.0, light * 255.0)); } static uint8 calc_light_intensity_spot(sint32 x, sint32 y) { - double distance = (double)(x * x + y * y); + double distance = (double)(x * x + y * y); - double light = 0.3 + pow(10.0 / (1.0 + distance / 100.0), 0.75); - light *= min(1.0, max(0.0f, 2.0 - sqrt(distance) / 64)); - light *= 0.5f; + double light = 0.3 + pow(10.0 / (1.0 + distance / 100.0), 0.75); + light *= min(1.0, max(0.0f, 2.0 - sqrt(distance) / 64)); + light *= 0.5f; - return (uint8)(min(255.0, light * 255.0)) >> 4; + return (uint8)(min(255.0, light * 255.0)) >> 4; } static void calc_rescale_light_half( uint8 *target, uint8 *source,uint32 targetWidth, uint32 targetHeight) { - uint8 *parcerRead = source; - uint8 *parcerWrite = target; + uint8 *parcerRead = source; + uint8 *parcerWrite = target; - for (uint32 y = 0; y < targetHeight; y++) { - for (uint32 x = 0; x < targetWidth; x++) { - *parcerWrite = (*parcerRead); - parcerWrite++; - parcerRead += 2; - } - parcerRead += targetWidth * 2; - } + for (uint32 y = 0; y < targetHeight; y++) { + for (uint32 x = 0; x < targetWidth; x++) { + *parcerWrite = (*parcerRead); + parcerWrite++; + parcerRead += 2; + } + parcerRead += targetWidth * 2; + } } void lightfx_init() { - _LightListBack = _LightListA; - _LightListFront = _LightListB; + _LightListBack = _LightListA; + _LightListFront = _LightListB; - memset(_bakedLightTexture_lantern_0, 0xFF, 32 * 32); - memset(_bakedLightTexture_lantern_1, 0xFF, 64 * 64); - memset(_bakedLightTexture_lantern_2, 0xFF, 128 * 128); - memset(_bakedLightTexture_lantern_3, 0xFF, 256 * 256); + memset(_bakedLightTexture_lantern_0, 0xFF, 32 * 32); + memset(_bakedLightTexture_lantern_1, 0xFF, 64 * 64); + memset(_bakedLightTexture_lantern_2, 0xFF, 128 * 128); + memset(_bakedLightTexture_lantern_3, 0xFF, 256 * 256); - uint8 *parcer = _bakedLightTexture_lantern_3; + uint8 *parcer = _bakedLightTexture_lantern_3; - for (sint32 y = 0; y < 256; y++) { - for (sint32 x = 0; x < 256; x++) { - *parcer = calc_light_intensity_lantern(x - 128, y - 128); - parcer++; - } - } + for (sint32 y = 0; y < 256; y++) { + for (sint32 x = 0; x < 256; x++) { + *parcer = calc_light_intensity_lantern(x - 128, y - 128); + parcer++; + } + } - parcer = _bakedLightTexture_spot_3; + parcer = _bakedLightTexture_spot_3; - for (sint32 y = 0; y < 256; y++) { - for (sint32 x = 0; x < 256; x++) { - *parcer = calc_light_intensity_spot(x - 128, y - 128); - parcer++; - } - } + for (sint32 y = 0; y < 256; y++) { + for (sint32 x = 0; x < 256; x++) { + *parcer = calc_light_intensity_spot(x - 128, y - 128); + parcer++; + } + } - calc_rescale_light_half(_bakedLightTexture_lantern_2, _bakedLightTexture_lantern_3, 128, 128); - calc_rescale_light_half(_bakedLightTexture_lantern_1, _bakedLightTexture_lantern_2, 64, 64); - calc_rescale_light_half(_bakedLightTexture_lantern_0, _bakedLightTexture_lantern_1, 32, 32); + calc_rescale_light_half(_bakedLightTexture_lantern_2, _bakedLightTexture_lantern_3, 128, 128); + calc_rescale_light_half(_bakedLightTexture_lantern_1, _bakedLightTexture_lantern_2, 64, 64); + calc_rescale_light_half(_bakedLightTexture_lantern_0, _bakedLightTexture_lantern_1, 32, 32); - calc_rescale_light_half(_bakedLightTexture_spot_2, _bakedLightTexture_spot_3, 128, 128); - calc_rescale_light_half(_bakedLightTexture_spot_1, _bakedLightTexture_spot_2, 64, 64); - calc_rescale_light_half(_bakedLightTexture_spot_0, _bakedLightTexture_spot_1, 32, 32); + calc_rescale_light_half(_bakedLightTexture_spot_2, _bakedLightTexture_spot_3, 128, 128); + calc_rescale_light_half(_bakedLightTexture_spot_1, _bakedLightTexture_spot_2, 64, 64); + calc_rescale_light_half(_bakedLightTexture_spot_0, _bakedLightTexture_spot_1, 32, 32); } void lightfx_update_buffers(rct_drawpixelinfo *info) { - _light_rendered_buffer_front = realloc(_light_rendered_buffer_front, info->width * info->height); - _light_rendered_buffer_back = realloc(_light_rendered_buffer_back, info->width * info->height); + _light_rendered_buffer_front = realloc(_light_rendered_buffer_front, info->width * info->height); + _light_rendered_buffer_back = realloc(_light_rendered_buffer_back, info->width * info->height); - memcpy(&_pixelInfo, info, sizeof(rct_drawpixelinfo)); + memcpy(&_pixelInfo, info, sizeof(rct_drawpixelinfo)); } extern void sub_68862C(); @@ -162,883 +162,883 @@ extern void viewport_paint_setup(); void lightfx_prepare_light_list() { - for (uint32 light = 0; light < LightListCurrentCountFront; light++) { - lightlist_entry *entry = &_LightListFront[light]; + for (uint32 light = 0; light < LightListCurrentCountFront; light++) { + lightlist_entry *entry = &_LightListFront[light]; - if (entry->z == 0x7FFF) { - entry->lightIntensity = 0xFF; - continue; - } + if (entry->z == 0x7FFF) { + entry->lightIntensity = 0xFF; + continue; + } - rct_xyz16 coord_3d = { - .x = entry->x, - .y = entry->y, - .z = entry->z - }; + rct_xyz16 coord_3d = { + .x = entry->x, + .y = entry->y, + .z = entry->z + }; - rct_xy16 coord_2d = coordinate_3d_to_2d(&coord_3d, _current_view_rotation_front); + rct_xy16 coord_2d = coordinate_3d_to_2d(&coord_3d, _current_view_rotation_front); - entry->x = coord_2d.x;// - (_current_view_x_front); - entry->y = coord_2d.y;// - (_current_view_y_front); + entry->x = coord_2d.x;// - (_current_view_x_front); + entry->y = coord_2d.y;// - (_current_view_y_front); - sint32 posOnScreenX = entry->x - _current_view_x_front; - sint32 posOnScreenY = entry->y - _current_view_y_front; + sint32 posOnScreenX = entry->x - _current_view_x_front; + sint32 posOnScreenY = entry->y - _current_view_y_front; - posOnScreenX >>= _current_view_zoom_front; - posOnScreenY >>= _current_view_zoom_front; + posOnScreenX >>= _current_view_zoom_front; + posOnScreenY >>= _current_view_zoom_front; - if ((posOnScreenX < -128) || - (posOnScreenY < -128) || - (posOnScreenX > _pixelInfo.width + 128) || - (posOnScreenY > _pixelInfo.height + 128)) { - entry->lightType = LIGHTFX_LIGHT_TYPE_NONE; - continue; - } + if ((posOnScreenX < -128) || + (posOnScreenY < -128) || + (posOnScreenX > _pixelInfo.width + 128) || + (posOnScreenY > _pixelInfo.height + 128)) { + entry->lightType = LIGHTFX_LIGHT_TYPE_NONE; + continue; + } - // entry->x >>= _current_view_zoom_front; - // entry->y >>= _current_view_zoom_front; + // entry->x >>= _current_view_zoom_front; + // entry->y >>= _current_view_zoom_front; - uint32 lightIntensityOccluded = 0x0; + uint32 lightIntensityOccluded = 0x0; - sint32 dirVecX = 707; - sint32 dirVecY = 707; + sint32 dirVecX = 707; + sint32 dirVecY = 707; - switch (_current_view_rotation_front) { - case 0: - dirVecX = 707; - dirVecY = 707; - break; - case 1: - dirVecX = -707; - dirVecY = 707; - break; - case 2: - dirVecX = -707; - dirVecY = -707; - break; - case 3: - dirVecX = 707; - dirVecY = -707; - break; - default: - dirVecX = 0; - dirVecY = 0; - break; - } + switch (_current_view_rotation_front) { + case 0: + dirVecX = 707; + dirVecY = 707; + break; + case 1: + dirVecX = -707; + dirVecY = 707; + break; + case 2: + dirVecX = -707; + dirVecY = -707; + break; + case 3: + dirVecX = 707; + dirVecY = -707; + break; + default: + dirVecX = 0; + dirVecY = 0; + break; + } #ifdef LIGHTFX_UNKNOWN_PART_1 - sint32 tileOffsetX = 0; - sint32 tileOffsetY = 0; - switch (_current_view_rotation_front) { - case 0: - tileOffsetX = 0; - tileOffsetY = 0; - break; - case 1: - tileOffsetX = 16; - tileOffsetY = 0; - break; - case 2: - tileOffsetX = 32; - tileOffsetY = 32; - break; - case 3: - tileOffsetX = 0; - tileOffsetY = 16; - break; - } + sint32 tileOffsetX = 0; + sint32 tileOffsetY = 0; + switch (_current_view_rotation_front) { + case 0: + tileOffsetX = 0; + tileOffsetY = 0; + break; + case 1: + tileOffsetX = 16; + tileOffsetY = 0; + break; + case 2: + tileOffsetX = 32; + tileOffsetY = 32; + break; + case 3: + tileOffsetX = 0; + tileOffsetY = 16; + break; + } - sint32 mapFrontDiv = 1 << _current_view_zoom_front; - static sint16 offsetPattern[26] = { 0, 0, -4, 0, 0, -3, 4, 0, 0, 3, - -2, -1, -1, -1, 2, 1, 1, 1, - -3, -2, -3, 2, 3, -2, 3, 2 }; + sint32 mapFrontDiv = 1 << _current_view_zoom_front; + static sint16 offsetPattern[26] = { 0, 0, -4, 0, 0, -3, 4, 0, 0, 3, + -2, -1, -1, -1, 2, 1, 1, 1, + -3, -2, -3, 2, 3, -2, 3, 2 }; #endif //LIGHTFX_UNKNOWN_PART_1 - if (true) { - sint32 totalSamplePoints = 5; - sint32 startSamplePoint = 1; - // sint32 lastSampleCount = 0; + if (true) { + sint32 totalSamplePoints = 5; + sint32 startSamplePoint = 1; + // sint32 lastSampleCount = 0; - if ((entry->lightIDqualifier & 0xF) == LIGHTFX_LIGHT_QUALIFIER_MAP) { - startSamplePoint = 0; - totalSamplePoints = 1; - } + if ((entry->lightIDqualifier & 0xF) == LIGHTFX_LIGHT_QUALIFIER_MAP) { + startSamplePoint = 0; + totalSamplePoints = 1; + } - for (sint32 pat = startSamplePoint; pat < totalSamplePoints; pat++) { - rct_xy16 mapCoord = { 0 }; + for (sint32 pat = startSamplePoint; pat < totalSamplePoints; pat++) { + rct_xy16 mapCoord = { 0 }; - rct_map_element *mapElement = 0; + rct_map_element *mapElement = 0; - sint32 interactionType = 0; + sint32 interactionType = 0; - rct_window *w = window_get_main(); - if (w != NULL) { - // get_map_coordinates_from_pos(entry->x + offsetPattern[pat*2] / mapFrontDiv, entry->y + offsetPattern[pat*2+1] / mapFrontDiv, VIEWPORT_INTERACTION_MASK_NONE, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL); + rct_window *w = window_get_main(); + if (w != NULL) { + // get_map_coordinates_from_pos(entry->x + offsetPattern[pat*2] / mapFrontDiv, entry->y + offsetPattern[pat*2+1] / mapFrontDiv, VIEWPORT_INTERACTION_MASK_NONE, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL); #ifdef LIGHTFX_UNKNOWN_PART_1 - _unk9AC154 = ~VIEWPORT_INTERACTION_MASK_SPRITE & 0xFFFF; - _viewportDpi1.zoom = _current_view_zoom_front; - _viewportDpi1.x = entry->x + offsetPattern[0 + pat * 2] / mapFrontDiv; - _viewportDpi1.y = entry->y + offsetPattern[1 + pat * 2] / mapFrontDiv; - rct_drawpixelinfo* dpi = &_viewportDpi2; - dpi->x = _viewportDpi1.x; - dpi->y = _viewportDpi1.y; - dpi->zoom_level = _viewportDpi1.zoom; - dpi->height = 1; - dpi->width = 1; - gEndOfPaintStructArray = 0xF1A4CC; - unk_140E9A8 = dpi; - painter_setup(); - viewport_paint_setup(); - sub_688217(); - sub_68862C(); + _unk9AC154 = ~VIEWPORT_INTERACTION_MASK_SPRITE & 0xFFFF; + _viewportDpi1.zoom = _current_view_zoom_front; + _viewportDpi1.x = entry->x + offsetPattern[0 + pat * 2] / mapFrontDiv; + _viewportDpi1.y = entry->y + offsetPattern[1 + pat * 2] / mapFrontDiv; + rct_drawpixelinfo* dpi = &_viewportDpi2; + dpi->x = _viewportDpi1.x; + dpi->y = _viewportDpi1.y; + dpi->zoom_level = _viewportDpi1.zoom; + dpi->height = 1; + dpi->width = 1; + gEndOfPaintStructArray = 0xF1A4CC; + unk_140E9A8 = dpi; + painter_setup(); + viewport_paint_setup(); + sub_688217(); + sub_68862C(); - // log_warning("[%i, %i]", dpi->x, dpi->y); + // log_warning("[%i, %i]", dpi->x, dpi->y); - mapCoord.x = _interactionMapX + tileOffsetX; - mapCoord.y = _interactionMapY + tileOffsetY; - interactionType = _interactionSpriteType; - mapElement = RCT2_GLOBAL(0x9AC150, rct_map_element*); + mapCoord.x = _interactionMapX + tileOffsetX; + mapCoord.y = _interactionMapY + tileOffsetY; + interactionType = _interactionSpriteType; + mapElement = RCT2_GLOBAL(0x9AC150, rct_map_element*); #endif //LIGHTFX_UNKNOWN_PART_1 - //RCT2_GLOBAL(0x9AC154, uint16_t) = VIEWPORT_INTERACTION_MASK_NONE; - //RCT2_GLOBAL(0x9AC148, uint8_t) = 0; - //RCT2_GLOBAL(0x9AC138 + 4, int16_t) = screenX; - //RCT2_GLOBAL(0x9AC138 + 6, int16_t) = screenY; - //if (screenX >= 0 && screenX < (sint32)myviewport->width && screenY >= 0 && screenY < (sint32)myviewport->height) - //{ - // screenX <<= myviewport->zoom; - // screenY <<= myviewport->zoom; - // screenX += (sint32)myviewport->view_x; - // screenY += (sint32)myviewport->view_y; - // RCT2_GLOBAL(RCT2_ADDRESS_VIEWPORT_ZOOM, uint16_t) = myviewport->zoom; - // screenX &= (0xFFFF << myviewport->zoom) & 0xFFFF; - // screenY &= (0xFFFF << myviewport->zoom) & 0xFFFF; - // RCT2_GLOBAL(RCT2_ADDRESS_VIEWPORT_PAINT_X, int16_t) = screenX; - // RCT2_GLOBAL(RCT2_ADDRESS_VIEWPORT_PAINT_Y, int16_t) = screenY; - // rct_drawpixelinfo* dpi = RCT2_ADDRESS(RCT2_ADDRESS_VIEWPORT_DPI, rct_drawpixelinfo); - // dpi->y = RCT2_GLOBAL(RCT2_ADDRESS_VIEWPORT_PAINT_Y, int16_t); - // dpi->height = 1; - // dpi->zoom_level = RCT2_GLOBAL(RCT2_ADDRESS_VIEWPORT_ZOOM, uint16_t); - // dpi->x = RCT2_GLOBAL(RCT2_ADDRESS_VIEWPORT_PAINT_X, int16_t); - // dpi->width = 1; - // RCT2_GLOBAL(0xEE7880, uint32_t) = 0xF1A4CC; - // RCT2_GLOBAL(0x140E9A8, rct_drawpixelinfo*) = dpi; - // painter_setup(); - // viewport_paint_setup(); - // sub_688217(); - // sub_68862C(); - //} - } + //RCT2_GLOBAL(0x9AC154, uint16_t) = VIEWPORT_INTERACTION_MASK_NONE; + //RCT2_GLOBAL(0x9AC148, uint8_t) = 0; + //RCT2_GLOBAL(0x9AC138 + 4, int16_t) = screenX; + //RCT2_GLOBAL(0x9AC138 + 6, int16_t) = screenY; + //if (screenX >= 0 && screenX < (sint32)myviewport->width && screenY >= 0 && screenY < (sint32)myviewport->height) + //{ + // screenX <<= myviewport->zoom; + // screenY <<= myviewport->zoom; + // screenX += (sint32)myviewport->view_x; + // screenY += (sint32)myviewport->view_y; + // RCT2_GLOBAL(RCT2_ADDRESS_VIEWPORT_ZOOM, uint16_t) = myviewport->zoom; + // screenX &= (0xFFFF << myviewport->zoom) & 0xFFFF; + // screenY &= (0xFFFF << myviewport->zoom) & 0xFFFF; + // RCT2_GLOBAL(RCT2_ADDRESS_VIEWPORT_PAINT_X, int16_t) = screenX; + // RCT2_GLOBAL(RCT2_ADDRESS_VIEWPORT_PAINT_Y, int16_t) = screenY; + // rct_drawpixelinfo* dpi = RCT2_ADDRESS(RCT2_ADDRESS_VIEWPORT_DPI, rct_drawpixelinfo); + // dpi->y = RCT2_GLOBAL(RCT2_ADDRESS_VIEWPORT_PAINT_Y, int16_t); + // dpi->height = 1; + // dpi->zoom_level = RCT2_GLOBAL(RCT2_ADDRESS_VIEWPORT_ZOOM, uint16_t); + // dpi->x = RCT2_GLOBAL(RCT2_ADDRESS_VIEWPORT_PAINT_X, int16_t); + // dpi->width = 1; + // RCT2_GLOBAL(0xEE7880, uint32_t) = 0xF1A4CC; + // RCT2_GLOBAL(0x140E9A8, rct_drawpixelinfo*) = dpi; + // painter_setup(); + // viewport_paint_setup(); + // sub_688217(); + // sub_68862C(); + //} + } - sint32 minDist = 0; - sint32 baseHeight = -999; + sint32 minDist = 0; + sint32 baseHeight = -999; - if (interactionType != VIEWPORT_INTERACTION_ITEM_SPRITE && mapElement) { - baseHeight = mapElement->base_height; - } + if (interactionType != VIEWPORT_INTERACTION_ITEM_SPRITE && mapElement) { + baseHeight = mapElement->base_height; + } - minDist = ((baseHeight * 8) - coord_3d.z) / 2; + minDist = ((baseHeight * 8) - coord_3d.z) / 2; - sint32 deltaX = mapCoord.x - coord_3d.x; - sint32 deltaY = mapCoord.y - coord_3d.y; + sint32 deltaX = mapCoord.x - coord_3d.x; + sint32 deltaY = mapCoord.y - coord_3d.y; - sint32 projDot = (dirVecX * deltaX + dirVecY * deltaY) / 1000; + sint32 projDot = (dirVecX * deltaX + dirVecY * deltaY) / 1000; - projDot = max(minDist, projDot); + projDot = max(minDist, projDot); - if (projDot < 5) { - lightIntensityOccluded += 100; - } - else { - lightIntensityOccluded += max(0, 200 - (projDot * 20)); - } + if (projDot < 5) { + lightIntensityOccluded += 100; + } + else { + lightIntensityOccluded += max(0, 200 - (projDot * 20)); + } - // log_warning("light %i [%i, %i, %i], [%i, %i] minDist to %i: %i; projdot: %i", light, coord_3d.x, coord_3d.y, coord_3d.z, mapCoord.x, mapCoord.y, baseHeight, minDist, projDot); + // log_warning("light %i [%i, %i, %i], [%i, %i] minDist to %i: %i; projdot: %i", light, coord_3d.x, coord_3d.y, coord_3d.z, mapCoord.x, mapCoord.y, baseHeight, minDist, projDot); - if (pat == 0) { - if (lightIntensityOccluded == 100) - break; - if (_current_view_zoom_front > 2) - break; - totalSamplePoints += 4; - } - else if (pat == 4) { - if (_current_view_zoom_front > 1) - break; - if (lightIntensityOccluded == 0 || lightIntensityOccluded == 500) - break; - // lastSampleCount = lightIntensityOccluded / 500; - // break; - totalSamplePoints += 4; - } - else if (pat == 8) { - break; - // if (_current_view_zoom_front > 0) - // break; - // sint32 newSampleCount = lightIntensityOccluded / 900; - // if (abs(newSampleCount - lastSampleCount) < 10) - // break; - // totalSamplePoints += 4; - } - } + if (pat == 0) { + if (lightIntensityOccluded == 100) + break; + if (_current_view_zoom_front > 2) + break; + totalSamplePoints += 4; + } + else if (pat == 4) { + if (_current_view_zoom_front > 1) + break; + if (lightIntensityOccluded == 0 || lightIntensityOccluded == 500) + break; + // lastSampleCount = lightIntensityOccluded / 500; + // break; + totalSamplePoints += 4; + } + else if (pat == 8) { + break; + // if (_current_view_zoom_front > 0) + // break; + // sint32 newSampleCount = lightIntensityOccluded / 900; + // if (abs(newSampleCount - lastSampleCount) < 10) + // break; + // totalSamplePoints += 4; + } + } - totalSamplePoints -= startSamplePoint; + totalSamplePoints -= startSamplePoint; - // lightIntensityOccluded = totalSamplePoints * 100; + // lightIntensityOccluded = totalSamplePoints * 100; - // log_warning("sample-count: %i, occlusion: %i", totalSamplePoints, lightIntensityOccluded); + // log_warning("sample-count: %i, occlusion: %i", totalSamplePoints, lightIntensityOccluded); - if (lightIntensityOccluded == 0) { - entry->lightType = LIGHTFX_LIGHT_TYPE_NONE; - continue; - } + if (lightIntensityOccluded == 0) { + entry->lightType = LIGHTFX_LIGHT_TYPE_NONE; + continue; + } - // log_warning("sample-count: %i, occlusion: %i", totalSamplePoints, lightIntensityOccluded / totalSamplePoints); + // log_warning("sample-count: %i, occlusion: %i", totalSamplePoints, lightIntensityOccluded / totalSamplePoints); - entry->lightIntensity = min(0xFF, (entry->lightIntensity * lightIntensityOccluded) / (totalSamplePoints * 100)); - entry->lightIntensity = max(0x00, entry->lightIntensity - _current_view_zoom_front * 5); - } + entry->lightIntensity = min(0xFF, (entry->lightIntensity * lightIntensityOccluded) / (totalSamplePoints * 100)); + entry->lightIntensity = max(0x00, entry->lightIntensity - _current_view_zoom_front * 5); + } - if (_current_view_zoom_front > 0) { - if ((entry->lightType & 0x3) < _current_view_zoom_front) { - entry->lightType = LIGHTFX_LIGHT_TYPE_NONE; - continue; - } + if (_current_view_zoom_front > 0) { + if ((entry->lightType & 0x3) < _current_view_zoom_front) { + entry->lightType = LIGHTFX_LIGHT_TYPE_NONE; + continue; + } - entry->lightType -= _current_view_zoom_front; - } - } + entry->lightType -= _current_view_zoom_front; + } + } } void lightfx_swap_buffers() { - void *tmp = _light_rendered_buffer_back; - _light_rendered_buffer_back = _light_rendered_buffer_front; - _light_rendered_buffer_front = tmp; + void *tmp = _light_rendered_buffer_back; + _light_rendered_buffer_back = _light_rendered_buffer_front; + _light_rendered_buffer_front = tmp; - tmp = _light_rendered_buffer_back; - _light_rendered_buffer_back = _light_rendered_buffer_front; - _light_rendered_buffer_front = tmp; + tmp = _light_rendered_buffer_back; + _light_rendered_buffer_back = _light_rendered_buffer_front; + _light_rendered_buffer_front = tmp; - tmp = _LightListBack; - _LightListBack = _LightListFront; - _LightListFront = tmp; + tmp = _LightListBack; + _LightListBack = _LightListFront; + _LightListFront = tmp; - LightListCurrentCountFront = LightListCurrentCountBack; - LightListCurrentCountBack = 0x0; + LightListCurrentCountFront = LightListCurrentCountBack; + LightListCurrentCountBack = 0x0; - uint32 uTmp = _lightPolution_back; - _lightPolution_back = _lightPolution_front; - _lightPolution_front = uTmp; + uint32 uTmp = _lightPolution_back; + _lightPolution_back = _lightPolution_front; + _lightPolution_front = uTmp; - _current_view_x_front = _current_view_x_back; - _current_view_y_front = _current_view_y_back; - _current_view_rotation_front = _current_view_rotation_back; - _current_view_zoom_front = _current_view_zoom_back_delay; - _current_view_zoom_back_delay = _current_view_zoom_back; + _current_view_x_front = _current_view_x_back; + _current_view_y_front = _current_view_y_back; + _current_view_rotation_front = _current_view_rotation_back; + _current_view_zoom_front = _current_view_zoom_back_delay; + _current_view_zoom_back_delay = _current_view_zoom_back; } void lightfx_update_viewport_settings() { - rct_window *mainWindow = window_get_main(); - if (mainWindow) { - _current_view_x_back = mainWindow->viewport->view_x; - _current_view_y_back = mainWindow->viewport->view_y; - _current_view_rotation_back = get_current_rotation(); - _current_view_zoom_back = mainWindow->viewport->zoom; - } + rct_window *mainWindow = window_get_main(); + if (mainWindow) { + _current_view_x_back = mainWindow->viewport->view_x; + _current_view_y_back = mainWindow->viewport->view_y; + _current_view_rotation_back = get_current_rotation(); + _current_view_zoom_back = mainWindow->viewport->zoom; + } } void lightfx_render_lights_to_frontbuffer() { - if (_light_rendered_buffer_front == NULL) { - return; - } + if (_light_rendered_buffer_front == NULL) { + return; + } - memset(_light_rendered_buffer_front, 0, _pixelInfo.width * _pixelInfo.height); + memset(_light_rendered_buffer_front, 0, _pixelInfo.width * _pixelInfo.height); - _lightPolution_back = 0; + _lightPolution_back = 0; -// log_warning("%i lights", LightListCurrentCountFront); +// log_warning("%i lights", LightListCurrentCountFront); - for (uint32 light = 0; light < LightListCurrentCountFront; light++) { - const uint8 *bufReadBase = 0; - uint8 *bufWriteBase = _light_rendered_buffer_front; - uint32 bufReadWidth, bufReadHeight; - sint32 bufWriteX, bufWriteY; - sint32 bufWriteWidth, bufWriteHeight; - uint32 bufReadSkip, bufWriteSkip; + for (uint32 light = 0; light < LightListCurrentCountFront; light++) { + const uint8 *bufReadBase = 0; + uint8 *bufWriteBase = _light_rendered_buffer_front; + uint32 bufReadWidth, bufReadHeight; + sint32 bufWriteX, bufWriteY; + sint32 bufWriteWidth, bufWriteHeight; + uint32 bufReadSkip, bufWriteSkip; - lightlist_entry * entry = &_LightListFront[light]; + lightlist_entry * entry = &_LightListFront[light]; - sint32 inRectCentreX = entry->x; - sint32 inRectCentreY = entry->y; + sint32 inRectCentreX = entry->x; + sint32 inRectCentreY = entry->y; - if (entry->z != 0x7FFF) { - inRectCentreX -= _current_view_x_front; - inRectCentreY -= _current_view_y_front; - inRectCentreX >>= _current_view_zoom_front; - inRectCentreY >>= _current_view_zoom_front; - } + if (entry->z != 0x7FFF) { + inRectCentreX -= _current_view_x_front; + inRectCentreY -= _current_view_y_front; + inRectCentreX >>= _current_view_zoom_front; + inRectCentreY >>= _current_view_zoom_front; + } - switch (entry->lightType) { - case LIGHTFX_LIGHT_TYPE_LANTERN_0: - bufReadWidth = 32; - bufReadHeight = 32; - bufReadBase = _bakedLightTexture_lantern_0; - break; - case LIGHTFX_LIGHT_TYPE_LANTERN_1: - bufReadWidth = 64; - bufReadHeight = 64; - bufReadBase = _bakedLightTexture_lantern_1; - break; - case LIGHTFX_LIGHT_TYPE_LANTERN_2: - bufReadWidth = 128; - bufReadHeight = 128; - bufReadBase = _bakedLightTexture_lantern_2; - break; - case LIGHTFX_LIGHT_TYPE_LANTERN_3: - bufReadWidth = 256; - bufReadHeight = 256; - bufReadBase = _bakedLightTexture_lantern_3; - break; - case LIGHTFX_LIGHT_TYPE_SPOT_0: - bufReadWidth = 32; - bufReadHeight = 32; - bufReadBase = _bakedLightTexture_spot_0; - break; - case LIGHTFX_LIGHT_TYPE_SPOT_1: - bufReadWidth = 64; - bufReadHeight = 64; - bufReadBase = _bakedLightTexture_spot_1; - break; - case LIGHTFX_LIGHT_TYPE_SPOT_2: - bufReadWidth = 128; - bufReadHeight = 128; - bufReadBase = _bakedLightTexture_spot_2; - break; - case LIGHTFX_LIGHT_TYPE_SPOT_3: - bufReadWidth = 256; - bufReadHeight = 256; - bufReadBase = _bakedLightTexture_spot_3; - break; - default: - continue; - } + switch (entry->lightType) { + case LIGHTFX_LIGHT_TYPE_LANTERN_0: + bufReadWidth = 32; + bufReadHeight = 32; + bufReadBase = _bakedLightTexture_lantern_0; + break; + case LIGHTFX_LIGHT_TYPE_LANTERN_1: + bufReadWidth = 64; + bufReadHeight = 64; + bufReadBase = _bakedLightTexture_lantern_1; + break; + case LIGHTFX_LIGHT_TYPE_LANTERN_2: + bufReadWidth = 128; + bufReadHeight = 128; + bufReadBase = _bakedLightTexture_lantern_2; + break; + case LIGHTFX_LIGHT_TYPE_LANTERN_3: + bufReadWidth = 256; + bufReadHeight = 256; + bufReadBase = _bakedLightTexture_lantern_3; + break; + case LIGHTFX_LIGHT_TYPE_SPOT_0: + bufReadWidth = 32; + bufReadHeight = 32; + bufReadBase = _bakedLightTexture_spot_0; + break; + case LIGHTFX_LIGHT_TYPE_SPOT_1: + bufReadWidth = 64; + bufReadHeight = 64; + bufReadBase = _bakedLightTexture_spot_1; + break; + case LIGHTFX_LIGHT_TYPE_SPOT_2: + bufReadWidth = 128; + bufReadHeight = 128; + bufReadBase = _bakedLightTexture_spot_2; + break; + case LIGHTFX_LIGHT_TYPE_SPOT_3: + bufReadWidth = 256; + bufReadHeight = 256; + bufReadBase = _bakedLightTexture_spot_3; + break; + default: + continue; + } - bufWriteX = inRectCentreX - bufReadWidth / 2; - bufWriteY = inRectCentreY - bufReadHeight / 2; + bufWriteX = inRectCentreX - bufReadWidth / 2; + bufWriteY = inRectCentreY - bufReadHeight / 2; - bufWriteWidth = bufReadWidth; - bufWriteHeight = bufReadHeight; + bufWriteWidth = bufReadWidth; + bufWriteHeight = bufReadHeight; - if (bufWriteX < 0) { - bufReadBase += -bufWriteX; - bufWriteWidth += bufWriteX; - } - else { - bufWriteBase += bufWriteX; - } + if (bufWriteX < 0) { + bufReadBase += -bufWriteX; + bufWriteWidth += bufWriteX; + } + else { + bufWriteBase += bufWriteX; + } - if (bufWriteWidth <= 0) - continue; + if (bufWriteWidth <= 0) + continue; - if (bufWriteY < 0) { - bufReadBase += -bufWriteY * bufReadWidth; - bufWriteHeight += bufWriteY; - } - else { - bufWriteBase += bufWriteY * _pixelInfo.width; - } + if (bufWriteY < 0) { + bufReadBase += -bufWriteY * bufReadWidth; + bufWriteHeight += bufWriteY; + } + else { + bufWriteBase += bufWriteY * _pixelInfo.width; + } - if (bufWriteHeight <= 0) - continue; + if (bufWriteHeight <= 0) + continue; - sint32 rightEdge = bufWriteX + bufWriteWidth; - sint32 bottomEdge = bufWriteY + bufWriteHeight; + sint32 rightEdge = bufWriteX + bufWriteWidth; + sint32 bottomEdge = bufWriteY + bufWriteHeight; - if (rightEdge > _pixelInfo.width) { - bufWriteWidth -= rightEdge - _pixelInfo.width; - } - if (bottomEdge > _pixelInfo.height) { - bufWriteHeight -= bottomEdge - _pixelInfo.height; - } + if (rightEdge > _pixelInfo.width) { + bufWriteWidth -= rightEdge - _pixelInfo.width; + } + if (bottomEdge > _pixelInfo.height) { + bufWriteHeight -= bottomEdge - _pixelInfo.height; + } - if (bufWriteWidth <= 0) - continue; - if (bufWriteHeight <= 0) - continue; + if (bufWriteWidth <= 0) + continue; + if (bufWriteHeight <= 0) + continue; - _lightPolution_back += (bufWriteWidth * bufWriteHeight) / 256; + _lightPolution_back += (bufWriteWidth * bufWriteHeight) / 256; - bufReadSkip = bufReadWidth - bufWriteWidth; - bufWriteSkip = _pixelInfo.width - bufWriteWidth; + bufReadSkip = bufReadWidth - bufWriteWidth; + bufWriteSkip = _pixelInfo.width - bufWriteWidth; - if (entry->lightIntensity == 0xFF) { - for (sint32 y = 0; y < bufWriteHeight; y++) { - for (sint32 x = 0; x < bufWriteWidth; x++) { - *bufWriteBase = min(0xFF, *bufWriteBase + *bufReadBase); - bufWriteBase++; - bufReadBase++; - } + if (entry->lightIntensity == 0xFF) { + for (sint32 y = 0; y < bufWriteHeight; y++) { + for (sint32 x = 0; x < bufWriteWidth; x++) { + *bufWriteBase = min(0xFF, *bufWriteBase + *bufReadBase); + bufWriteBase++; + bufReadBase++; + } - bufWriteBase += bufWriteSkip; - bufReadBase += bufReadSkip; - } - } - else { - for (sint32 y = 0; y < bufWriteHeight; y++) { - for (sint32 x = 0; x < bufWriteWidth; x++) { - *bufWriteBase = min(0xFF, *bufWriteBase + (((*bufReadBase) * (1 + entry->lightIntensity)) >> 8)); - bufWriteBase++; - bufReadBase++; - } + bufWriteBase += bufWriteSkip; + bufReadBase += bufReadSkip; + } + } + else { + for (sint32 y = 0; y < bufWriteHeight; y++) { + for (sint32 x = 0; x < bufWriteWidth; x++) { + *bufWriteBase = min(0xFF, *bufWriteBase + (((*bufReadBase) * (1 + entry->lightIntensity)) >> 8)); + bufWriteBase++; + bufReadBase++; + } - bufWriteBase += bufWriteSkip; - bufReadBase += bufReadSkip; - } - } - } + bufWriteBase += bufWriteSkip; + bufReadBase += bufReadSkip; + } + } + } } void* lightfx_get_front_buffer() { - return _light_rendered_buffer_front; + return _light_rendered_buffer_front; } const SDL_Color * lightfx_get_palette() { - return gPalette_light; + return gPalette_light; } void lightfx_add_3d_light(uint32 lightID, uint16 lightIDqualifier, sint16 x, sint16 y, uint16 z, uint8 lightType) { - if (LightListCurrentCountBack == 15999) { - return; - } + if (LightListCurrentCountBack == 15999) { + return; + } -// log_warning("%i lights in back", LightListCurrentCountBack); +// log_warning("%i lights in back", LightListCurrentCountBack); - for (uint32 i = 0; i < LightListCurrentCountBack; i++) { - lightlist_entry *entry = &_LightListBack[i]; - if (entry->lightID != lightID) - continue; - if (entry->lightIDqualifier != lightIDqualifier) - continue; + for (uint32 i = 0; i < LightListCurrentCountBack; i++) { + lightlist_entry *entry = &_LightListBack[i]; + if (entry->lightID != lightID) + continue; + if (entry->lightIDqualifier != lightIDqualifier) + continue; - entry->x = x; - entry->y = y; - entry->z = z; - entry->lightType = lightType; - entry->lightIntensity = 0xFF; - entry->lightID = lightID; - entry->lightIDqualifier = lightIDqualifier; - entry->lightLinger = 1; + entry->x = x; + entry->y = y; + entry->z = z; + entry->lightType = lightType; + entry->lightIntensity = 0xFF; + entry->lightID = lightID; + entry->lightIDqualifier = lightIDqualifier; + entry->lightLinger = 1; - return; - } + return; + } - lightlist_entry *entry = &_LightListBack[LightListCurrentCountBack++]; + lightlist_entry *entry = &_LightListBack[LightListCurrentCountBack++]; - entry->x = x; - entry->y = y; - entry->z = z; - entry->lightType = lightType; - entry->lightIntensity = 0xFF; - entry->lightID = lightID; - entry->lightIDqualifier = lightIDqualifier; - entry->lightLinger = 1; + entry->x = x; + entry->y = y; + entry->z = z; + entry->lightType = lightType; + entry->lightIntensity = 0xFF; + entry->lightID = lightID; + entry->lightIDqualifier = lightIDqualifier; + entry->lightLinger = 1; -// log_warning("new 3d light"); +// log_warning("new 3d light"); } void lightfx_add_3d_light_magic_from_drawing_tile(sint16 offsetX, sint16 offsetY, sint16 offsetZ, uint8 lightType) { - sint16 x = gPaintMapPosition.x + offsetX; - sint16 y = gPaintMapPosition.y + offsetY; + sint16 x = gPaintMapPosition.x + offsetX; + sint16 y = gPaintMapPosition.y + offsetY; - switch (get_current_rotation()) { - case 0: - x += 16; - y += 16; - break; - case 1: - x += 16; - y += 16; - break; - case 2: - x += 16; - y -= 16; - break; - case 3: - x += 16; - y -= 16; - break; - default: - return; - } + switch (get_current_rotation()) { + case 0: + x += 16; + y += 16; + break; + case 1: + x += 16; + y += 16; + break; + case 2: + x += 16; + y -= 16; + break; + case 3: + x += 16; + y -= 16; + break; + default: + return; + } - lightfx_add_3d_light((x << 16) | y, (offsetZ << 8) | LIGHTFX_LIGHT_QUALIFIER_MAP, x, y, offsetZ, lightType); + lightfx_add_3d_light((x << 16) | y, (offsetZ << 8) | LIGHTFX_LIGHT_QUALIFIER_MAP, x, y, offsetZ, lightType); } uint32 lightfx_get_light_polution() { - return _lightPolution_front; + return _lightPolution_front; } void lightfx_add_lights_magic_vehicles() { - uint16 spriteIndex = gSpriteListHead[SPRITE_LIST_TRAIN]; - while (spriteIndex != SPRITE_INDEX_NULL) { - rct_vehicle * vehicle = &(get_sprite(spriteIndex)->vehicle); - uint16 vehicleID = spriteIndex; - spriteIndex = vehicle->next; + uint16 spriteIndex = gSpriteListHead[SPRITE_LIST_TRAIN]; + while (spriteIndex != SPRITE_INDEX_NULL) { + rct_vehicle * vehicle = &(get_sprite(spriteIndex)->vehicle); + uint16 vehicleID = spriteIndex; + spriteIndex = vehicle->next; - rct_vehicle *mother_vehicle = vehicle; + rct_vehicle *mother_vehicle = vehicle; - if (mother_vehicle->ride_subtype == 0xFF) { - continue; - } + if (mother_vehicle->ride_subtype == 0xFF) { + continue; + } - for (uint16 q = vehicleID; q != SPRITE_INDEX_NULL; ) { - vehicle = GET_VEHICLE(q); + for (uint16 q = vehicleID; q != SPRITE_INDEX_NULL; ) { + vehicle = GET_VEHICLE(q); - vehicleID = q; - if (vehicle->next_vehicle_on_train == q) - break; - q = vehicle->next_vehicle_on_train; + vehicleID = q; + if (vehicle->next_vehicle_on_train == q) + break; + q = vehicle->next_vehicle_on_train; - sint16 place_x, place_y, place_z; + sint16 place_x, place_y, place_z; - place_x = vehicle->x; - place_y = vehicle->y; - place_z = vehicle->z; + place_x = vehicle->x; + place_y = vehicle->y; + place_z = vehicle->z; - static const sint16 offsetLookup[32] = { 10, 10, 9, 8, 7, 6, 4, 2, 0, -2, -4, -6, -7, -8, -9, -10, -10, -10, -9, -8, -7, -6, -4, -2, 0, 2, 4, 6, 7, 8, 9, 10 }; + static const sint16 offsetLookup[32] = { 10, 10, 9, 8, 7, 6, 4, 2, 0, -2, -4, -6, -7, -8, -9, -10, -10, -10, -9, -8, -7, -6, -4, -2, 0, 2, 4, 6, 7, 8, 9, 10 }; - rct_ride *ride = get_ride(vehicle->ride); - switch (ride->type) { - case RIDE_TYPE_OBSERVATION_TOWER: - lightfx_add_3d_light(vehicleID, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, vehicle->x, vehicle->y + 16, vehicle->z, LIGHTFX_LIGHT_TYPE_SPOT_3); - lightfx_add_3d_light(vehicleID, 0x0100 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, vehicle->x + 16, vehicle->y, vehicle->z, LIGHTFX_LIGHT_TYPE_SPOT_3); - lightfx_add_3d_light(vehicleID, 0x0200 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, vehicle->x - 16, vehicle->y, vehicle->z, LIGHTFX_LIGHT_TYPE_SPOT_3); - lightfx_add_3d_light(vehicleID, 0x0300 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, vehicle->x, vehicle->y - 16, vehicle->z, LIGHTFX_LIGHT_TYPE_SPOT_3); - break; - case RIDE_TYPE_MINE_TRAIN_COASTER: - case RIDE_TYPE_GHOST_TRAIN: - if (vehicle == vehicle_get_head(vehicle)) { - place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2; - place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2; - lightfx_add_3d_light(vehicleID, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z, LIGHTFX_LIGHT_TYPE_SPOT_3); - } - break; - case RIDE_TYPE_CHAIRLIFT: - lightfx_add_3d_light(vehicleID, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z - 16, LIGHTFX_LIGHT_TYPE_LANTERN_2); - break; - case RIDE_TYPE_BOAT_RIDE: - case RIDE_TYPE_CAR_RIDE: - case RIDE_TYPE_GO_KARTS: - case RIDE_TYPE_DODGEMS: - case RIDE_TYPE_MINI_HELICOPTERS: - case RIDE_TYPE_MONORAIL_CYCLES: - case RIDE_TYPE_SUBMARINE_RIDE: - case RIDE_TYPE_SPLASH_BOATS: - case RIDE_TYPE_WATER_COASTER: { - rct_vehicle *vehicle_draw = vehicle_get_head(vehicle); - if (vehicle_draw->next_vehicle_on_train != SPRITE_INDEX_NULL) { - vehicle_draw = GET_VEHICLE(vehicle_draw->next_vehicle_on_train); - } - place_x = vehicle_draw->x; - place_y = vehicle_draw->y; - place_z = vehicle_draw->z; - place_x -= offsetLookup[(vehicle_draw->sprite_direction + 0) % 32]; - place_y -= offsetLookup[(vehicle_draw->sprite_direction + 8) % 32]; - lightfx_add_3d_light(vehicleID, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z, LIGHTFX_LIGHT_TYPE_SPOT_2); - place_x -= offsetLookup[(vehicle_draw->sprite_direction + 0) % 32]; - place_y -= offsetLookup[(vehicle_draw->sprite_direction + 8) % 32]; - lightfx_add_3d_light(vehicleID, 0x0100 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z, LIGHTFX_LIGHT_TYPE_SPOT_2); - break; - } - case RIDE_TYPE_MONORAIL: - lightfx_add_3d_light(vehicleID, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, vehicle->x, vehicle->y, vehicle->z + 12, LIGHTFX_LIGHT_TYPE_SPOT_2); - if (vehicle == vehicle_get_head(vehicle)) { - place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2; - place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2; - lightfx_add_3d_light(vehicleID, 0x0100 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 10, LIGHTFX_LIGHT_TYPE_LANTERN_3); - place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 3; - place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 3; - lightfx_add_3d_light(vehicleID, 0x0200 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 2, LIGHTFX_LIGHT_TYPE_LANTERN_3); - } - if (vehicle == vehicle_get_tail(vehicle)) { - place_x += offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2; - place_y += offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2; - lightfx_add_3d_light(vehicleID, 0x0300 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 10, LIGHTFX_LIGHT_TYPE_LANTERN_3); - place_x += offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2; - place_y += offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2; - lightfx_add_3d_light(vehicleID, 0x0400 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 2, LIGHTFX_LIGHT_TYPE_LANTERN_3); - } - break; - case RIDE_TYPE_MINIATURE_RAILWAY: - if (vehicle == vehicle_get_head(vehicle)) { - place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2; - place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2; - lightfx_add_3d_light(vehicleID, 0x0100 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 10, LIGHTFX_LIGHT_TYPE_LANTERN_3); - place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2; - place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2; - lightfx_add_3d_light(vehicleID, 0x0200 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 2, LIGHTFX_LIGHT_TYPE_LANTERN_3); + rct_ride *ride = get_ride(vehicle->ride); + switch (ride->type) { + case RIDE_TYPE_OBSERVATION_TOWER: + lightfx_add_3d_light(vehicleID, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, vehicle->x, vehicle->y + 16, vehicle->z, LIGHTFX_LIGHT_TYPE_SPOT_3); + lightfx_add_3d_light(vehicleID, 0x0100 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, vehicle->x + 16, vehicle->y, vehicle->z, LIGHTFX_LIGHT_TYPE_SPOT_3); + lightfx_add_3d_light(vehicleID, 0x0200 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, vehicle->x - 16, vehicle->y, vehicle->z, LIGHTFX_LIGHT_TYPE_SPOT_3); + lightfx_add_3d_light(vehicleID, 0x0300 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, vehicle->x, vehicle->y - 16, vehicle->z, LIGHTFX_LIGHT_TYPE_SPOT_3); + break; + case RIDE_TYPE_MINE_TRAIN_COASTER: + case RIDE_TYPE_GHOST_TRAIN: + if (vehicle == vehicle_get_head(vehicle)) { + place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2; + place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2; + lightfx_add_3d_light(vehicleID, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z, LIGHTFX_LIGHT_TYPE_SPOT_3); + } + break; + case RIDE_TYPE_CHAIRLIFT: + lightfx_add_3d_light(vehicleID, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z - 16, LIGHTFX_LIGHT_TYPE_LANTERN_2); + break; + case RIDE_TYPE_BOAT_RIDE: + case RIDE_TYPE_CAR_RIDE: + case RIDE_TYPE_GO_KARTS: + case RIDE_TYPE_DODGEMS: + case RIDE_TYPE_MINI_HELICOPTERS: + case RIDE_TYPE_MONORAIL_CYCLES: + case RIDE_TYPE_SUBMARINE_RIDE: + case RIDE_TYPE_SPLASH_BOATS: + case RIDE_TYPE_WATER_COASTER: { + rct_vehicle *vehicle_draw = vehicle_get_head(vehicle); + if (vehicle_draw->next_vehicle_on_train != SPRITE_INDEX_NULL) { + vehicle_draw = GET_VEHICLE(vehicle_draw->next_vehicle_on_train); + } + place_x = vehicle_draw->x; + place_y = vehicle_draw->y; + place_z = vehicle_draw->z; + place_x -= offsetLookup[(vehicle_draw->sprite_direction + 0) % 32]; + place_y -= offsetLookup[(vehicle_draw->sprite_direction + 8) % 32]; + lightfx_add_3d_light(vehicleID, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z, LIGHTFX_LIGHT_TYPE_SPOT_2); + place_x -= offsetLookup[(vehicle_draw->sprite_direction + 0) % 32]; + place_y -= offsetLookup[(vehicle_draw->sprite_direction + 8) % 32]; + lightfx_add_3d_light(vehicleID, 0x0100 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z, LIGHTFX_LIGHT_TYPE_SPOT_2); + break; + } + case RIDE_TYPE_MONORAIL: + lightfx_add_3d_light(vehicleID, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, vehicle->x, vehicle->y, vehicle->z + 12, LIGHTFX_LIGHT_TYPE_SPOT_2); + if (vehicle == vehicle_get_head(vehicle)) { + place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2; + place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2; + lightfx_add_3d_light(vehicleID, 0x0100 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 10, LIGHTFX_LIGHT_TYPE_LANTERN_3); + place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 3; + place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 3; + lightfx_add_3d_light(vehicleID, 0x0200 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 2, LIGHTFX_LIGHT_TYPE_LANTERN_3); + } + if (vehicle == vehicle_get_tail(vehicle)) { + place_x += offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2; + place_y += offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2; + lightfx_add_3d_light(vehicleID, 0x0300 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 10, LIGHTFX_LIGHT_TYPE_LANTERN_3); + place_x += offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2; + place_y += offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2; + lightfx_add_3d_light(vehicleID, 0x0400 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 2, LIGHTFX_LIGHT_TYPE_LANTERN_3); + } + break; + case RIDE_TYPE_MINIATURE_RAILWAY: + if (vehicle == vehicle_get_head(vehicle)) { + place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2; + place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2; + lightfx_add_3d_light(vehicleID, 0x0100 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 10, LIGHTFX_LIGHT_TYPE_LANTERN_3); + place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2; + place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2; + lightfx_add_3d_light(vehicleID, 0x0200 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 2, LIGHTFX_LIGHT_TYPE_LANTERN_3); - } - else { - lightfx_add_3d_light(vehicleID, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 10, LIGHTFX_LIGHT_TYPE_LANTERN_3); - } - break; - default: - break; - }; - } - } + } + else { + lightfx_add_3d_light(vehicleID, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, place_x, place_y, place_z + 10, LIGHTFX_LIGHT_TYPE_LANTERN_3); + } + break; + default: + break; + }; + } + } } void lightfx_apply_palette_filter(uint8 i, uint8 *r, uint8 *g, uint8 *b) { - float night = (float)(pow(gDayNightCycle, 1.5)); + float night = (float)(pow(gDayNightCycle, 1.5)); - float natLightR = 1.0f; - float natLightG = 1.0f; - float natLightB = 1.0f; + float natLightR = 1.0f; + float natLightG = 1.0f; + float natLightB = 1.0f; - float elecMultR = 1.0f; - float elecMultG = 0.95f; - float elecMultB = 0.45f; + float elecMultR = 1.0f; + float elecMultG = 0.95f; + float elecMultB = 0.45f; - static float wetness = 0.0f; - static float fogginess = 0.0f; - static float lightPolution = 0.0f; + static float wetness = 0.0f; + static float fogginess = 0.0f; + static float lightPolution = 0.0f; - float sunLight = max(0.0f, min(1.0f, 2.0f - night * 3.0f)); + float sunLight = max(0.0f, min(1.0f, 2.0f - night * 3.0f)); - // Night version - natLightR = flerp(natLightR * 4.0f, 0.635f, (float)(pow(night, 0.035f + sunLight * 10.50f))); - natLightG = flerp(natLightG * 4.0f, 0.650f, (float)(pow(night, 0.100f + sunLight * 5.50f))); - natLightB = flerp(natLightB * 4.0f, 0.850f, (float)(pow(night, 0.200f + sunLight * 1.5f))); + // Night version + natLightR = flerp(natLightR * 4.0f, 0.635f, (float)(pow(night, 0.035f + sunLight * 10.50f))); + natLightG = flerp(natLightG * 4.0f, 0.650f, (float)(pow(night, 0.100f + sunLight * 5.50f))); + natLightB = flerp(natLightB * 4.0f, 0.850f, (float)(pow(night, 0.200f + sunLight * 1.5f))); - float overExpose = 0.0f; - float lightAvg = (natLightR + natLightG + natLightB) / 3.0f; + float overExpose = 0.0f; + float lightAvg = (natLightR + natLightG + natLightB) / 3.0f; #ifdef LIGHTFX_UNKNOWN_PART_2 - float lightMax = (natLightR + natLightG + natLightB) / 3.0f; + float lightMax = (natLightR + natLightG + natLightB) / 3.0f; #endif // LIGHTFX_UNKNOWN_PART_2 - // overExpose += ((lightMax - lightAvg) / lightMax) * 0.01f; + // overExpose += ((lightMax - lightAvg) / lightMax) * 0.01f; - if (gClimateCurrentTemperature > 20) { - float offset = ((float)(gClimateCurrentTemperature - 20)) * 0.04f; - offset *= 1.0f - night; - lightAvg /= 1.0f + offset; - // overExpose += offset * 0.1f; - } + if (gClimateCurrentTemperature > 20) { + float offset = ((float)(gClimateCurrentTemperature - 20)) * 0.04f; + offset *= 1.0f - night; + lightAvg /= 1.0f + offset; + // overExpose += offset * 0.1f; + } #ifdef LIGHTFX_UNKNOWN_PART_2 - lightAvg += (lightMax - lightAvg) * 0.6f; + lightAvg += (lightMax - lightAvg) * 0.6f; #endif // LIGHTFX_UNKNOWN_PART_2 - if (lightAvg > 1.0f) { - natLightR /= lightAvg; - natLightG /= lightAvg; - natLightB /= lightAvg; - } + if (lightAvg > 1.0f) { + natLightR /= lightAvg; + natLightG /= lightAvg; + natLightB /= lightAvg; + } - natLightR *= 1.0f + overExpose; - natLightG *= 1.0f + overExpose; - natLightB *= 1.0f + overExpose; - overExpose *= 255.0f; + natLightR *= 1.0f + overExpose; + natLightG *= 1.0f + overExpose; + natLightB *= 1.0f + overExpose; + overExpose *= 255.0f; - float targetFogginess = (float)(gClimateCurrentRainLevel) / 8.0f; - targetFogginess += (night * night) * 0.15f; + float targetFogginess = (float)(gClimateCurrentRainLevel) / 8.0f; + targetFogginess += (night * night) * 0.15f; - if (gClimateCurrentTemperature < 10) { - targetFogginess += ((float)(10 - gClimateCurrentTemperature)) * 0.01f; - } + if (gClimateCurrentTemperature < 10) { + targetFogginess += ((float)(10 - gClimateCurrentTemperature)) * 0.01f; + } - fogginess -= (fogginess - targetFogginess) * 0.00001f; + fogginess -= (fogginess - targetFogginess) * 0.00001f; - wetness *= 0.999995f; - wetness += fogginess * 0.001f; - wetness = min(wetness, 1.0f); + wetness *= 0.999995f; + wetness += fogginess * 0.001f; + wetness = min(wetness, 1.0f); - float boost = 1.0f; - float envFog = fogginess; - float lightFog = envFog; + float boost = 1.0f; + float envFog = fogginess; + float lightFog = envFog; - float addLightNatR = 0.0f; - float addLightNatG = 0.0f; - float addLightNatB = 0.0f; + float addLightNatR = 0.0f; + float addLightNatG = 0.0f; + float addLightNatB = 0.0f; - float reduceColourNat = 1.0f; - float reduceColourLit = 1.0f; + float reduceColourNat = 1.0f; + float reduceColourLit = 1.0f; - reduceColourLit *= night / (float)pow(max(1.01f, 0.4f + lightAvg), 2.0); + reduceColourLit *= night / (float)pow(max(1.01f, 0.4f + lightAvg), 2.0); - float targetLightPollution = reduceColourLit * max(0.0f, 0.0f + 0.000001f * (float)lightfx_get_light_polution()); - lightPolution -= (lightPolution - targetLightPollution) * 0.001f; + float targetLightPollution = reduceColourLit * max(0.0f, 0.0f + 0.000001f * (float)lightfx_get_light_polution()); + lightPolution -= (lightPolution - targetLightPollution) * 0.001f; - // lightPollution /= 1.0f + fogginess * 1.0f; + // lightPollution /= 1.0f + fogginess * 1.0f; - natLightR /= 1.0f + lightPolution * 20.0f; - natLightG /= 1.0f + lightPolution * 20.0f; - natLightB /= 1.0f + lightPolution * 20.0f; - natLightR += elecMultR * 0.6f * lightPolution; - natLightG += elecMultG * 0.6f * lightPolution; - natLightB += elecMultB * 0.6f * lightPolution; - natLightR /= 1.0f + lightPolution; - natLightG /= 1.0f + lightPolution; - natLightB /= 1.0f + lightPolution; + natLightR /= 1.0f + lightPolution * 20.0f; + natLightG /= 1.0f + lightPolution * 20.0f; + natLightB /= 1.0f + lightPolution * 20.0f; + natLightR += elecMultR * 0.6f * lightPolution; + natLightG += elecMultG * 0.6f * lightPolution; + natLightB += elecMultB * 0.6f * lightPolution; + natLightR /= 1.0f + lightPolution; + natLightG /= 1.0f + lightPolution; + natLightB /= 1.0f + lightPolution; - reduceColourLit += (float)(gClimateCurrentRainLevel) / 2.0f; + reduceColourLit += (float)(gClimateCurrentRainLevel) / 2.0f; - reduceColourNat /= 1.0f + fogginess; - reduceColourLit /= 1.0f + fogginess; + reduceColourNat /= 1.0f + fogginess; + reduceColourLit /= 1.0f + fogginess; - lightFog *= reduceColourLit; + lightFog *= reduceColourLit; - reduceColourNat *= 1.0f - envFog; - reduceColourLit *= 1.0f - lightFog; + reduceColourNat *= 1.0f - envFog; + reduceColourLit *= 1.0f - lightFog; - float fogR = 35.5f * natLightR * 1.3f; - float fogG = 45.0f * natLightG * 1.3f; - float fogB = 50.0f * natLightB * 1.3f; - lightFog *= 10.0f; + float fogR = 35.5f * natLightR * 1.3f; + float fogG = 45.0f * natLightG * 1.3f; + float fogB = 50.0f * natLightB * 1.3f; + lightFog *= 10.0f; - float wetnessBoost = 1.0f;//1.0f + wetness * wetness * 0.1f; + float wetnessBoost = 1.0f;//1.0f + wetness * wetness * 0.1f; - if (night >= 0 && gClimateLightningFlash != 1) { - *r = lerp(*r, soft_light(*r, 8), night); - *g = lerp(*g, soft_light(*g, 8), night); - *b = lerp(*b, soft_light(*b, 128), night); + if (night >= 0 && gClimateLightningFlash != 1) { + *r = lerp(*r, soft_light(*r, 8), night); + *g = lerp(*g, soft_light(*g, 8), night); + *b = lerp(*b, soft_light(*b, 128), night); - // if (i == 32) - // boost = 300000.0f; - if ((i % 32) == 0) - boost = 1.01f * wetnessBoost; - else if ((i % 16) < 7) - boost = 1.001f * wetnessBoost; - if (i > 230 && i < 232) - boost = ((float)(*b)) / 64.0f; + // if (i == 32) + // boost = 300000.0f; + if ((i % 32) == 0) + boost = 1.01f * wetnessBoost; + else if ((i % 16) < 7) + boost = 1.001f * wetnessBoost; + if (i > 230 && i < 232) + boost = ((float)(*b)) / 64.0f; - if (false) { - // This experiment shifts the colour of pixels as-if they are wet, but it is not a pretty solution at all - if ((i % 16)) { - float iVal = ((float)((i + 12) % 16)) / 16.0f; - float eff = (wetness * ((float)pow(iVal, 1.5) * 0.85f)); - reduceColourNat *= 1.0f - eff; - addLightNatR += fogR * eff * 3.95f; - addLightNatG += fogR * eff * 3.95f; - addLightNatB += fogR * eff * 3.95f; - } - } + if (false) { + // This experiment shifts the colour of pixels as-if they are wet, but it is not a pretty solution at all + if ((i % 16)) { + float iVal = ((float)((i + 12) % 16)) / 16.0f; + float eff = (wetness * ((float)pow(iVal, 1.5) * 0.85f)); + reduceColourNat *= 1.0f - eff; + addLightNatR += fogR * eff * 3.95f; + addLightNatG += fogR * eff * 3.95f; + addLightNatB += fogR * eff * 3.95f; + } + } - addLightNatR *= 1.0f - envFog; - addLightNatG *= 1.0f - envFog; - addLightNatB *= 1.0f - envFog; + addLightNatR *= 1.0f - envFog; + addLightNatG *= 1.0f - envFog; + addLightNatB *= 1.0f - envFog; - *r = (uint8)(min(255.0f, max(0.0f, (-overExpose + (float)(*r) * reduceColourNat * natLightR + envFog * fogR + addLightNatR)))); - *g = (uint8)(min(255.0f, max(0.0f, (-overExpose + (float)(*g) * reduceColourNat * natLightG + envFog * fogG + addLightNatG)))); - *b = (uint8)(min(255.0f, max(0.0f, (-overExpose + (float)(*b) * reduceColourNat * natLightB + envFog * fogB + addLightNatB)))); - gPalette_light[i].r = (uint8)(min(0xFF, ((float)(*r) * reduceColourLit * boost + lightFog) * elecMultR)); - gPalette_light[i].g = (uint8)(min(0xFF, ((float)(*g) * reduceColourLit * boost + lightFog) * elecMultG)); - gPalette_light[i].b = (uint8)(min(0xFF, ((float)(*b) * reduceColourLit * boost + lightFog) * elecMultB)); - } + *r = (uint8)(min(255.0f, max(0.0f, (-overExpose + (float)(*r) * reduceColourNat * natLightR + envFog * fogR + addLightNatR)))); + *g = (uint8)(min(255.0f, max(0.0f, (-overExpose + (float)(*g) * reduceColourNat * natLightG + envFog * fogG + addLightNatG)))); + *b = (uint8)(min(255.0f, max(0.0f, (-overExpose + (float)(*b) * reduceColourNat * natLightB + envFog * fogB + addLightNatB)))); + gPalette_light[i].r = (uint8)(min(0xFF, ((float)(*r) * reduceColourLit * boost + lightFog) * elecMultR)); + gPalette_light[i].g = (uint8)(min(0xFF, ((float)(*g) * reduceColourLit * boost + lightFog) * elecMultG)); + gPalette_light[i].b = (uint8)(min(0xFF, ((float)(*b) * reduceColourLit * boost + lightFog) * elecMultB)); + } } static uint8 soft_light(uint8 a, uint8 b) { - float fa = a / 255.0f; - float fb = b / 255.0f; - float fr; - if (fb < 0.5f) { - fr = (2 * fa * fb) + ((fa * fa) * (1 - (2 * fb))); - } else { - fr = (2 * fa * (1 - fb)) + (sqrtf(fa) * ((2 * fb) - 1)); - } - return (uint8)(clamp(0.0f, fr, 1.0f) * 255.0f); + float fa = a / 255.0f; + float fb = b / 255.0f; + float fr; + if (fb < 0.5f) { + fr = (2 * fa * fb) + ((fa * fa) * (1 - (2 * fb))); + } else { + fr = (2 * fa * (1 - fb)) + (sqrtf(fa) * ((2 * fb) - 1)); + } + return (uint8)(clamp(0.0f, fr, 1.0f) * 255.0f); } static uint8 lerp(uint8 a, uint8 b, float t) { - if (t <= 0) return a; - if (t >= 1) return b; + if (t <= 0) return a; + if (t >= 1) return b; - sint32 range = b - a; - sint32 amount = (sint32)(range * t); - return (uint8)(a + amount); + sint32 range = b - a; + sint32 amount = (sint32)(range * t); + return (uint8)(a + amount); } static float flerp(float a, float b, float t) { - if (t <= 0) return a; - if (t >= 1) return b; + if (t <= 0) return a; + if (t >= 1) return b; - float range = b - a; - float amount = range * t; - return a + amount; + float range = b - a; + float amount = range * t; + return a + amount; } static uint8 mix_light(uint32 a, uint32 b, uint32 intensity) { - intensity = intensity * 6; - uint32 bMul = (b * intensity) >> 8; - uint32 ab = a + bMul; - uint8 result = min(255, ab); - return result; + intensity = intensity * 6; + uint32 bMul = (b * intensity) >> 8; + uint32 ab = a + bMul; + uint8 result = min(255, ab); + return result; } void lightfx_render_to_texture( - SDL_Texture * texture, - uint8 * bits, - uint32 width, - uint32 height, - uint32 * palette, - uint32 * lightPalette) + SDL_Texture * texture, + uint8 * bits, + uint32 width, + uint32 height, + uint32 * palette, + uint32 * lightPalette) { - lightfx_update_viewport_settings(); - lightfx_swap_buffers(); - lightfx_prepare_light_list(); - lightfx_render_lights_to_frontbuffer(); + lightfx_update_viewport_settings(); + lightfx_swap_buffers(); + lightfx_prepare_light_list(); + lightfx_render_lights_to_frontbuffer(); - uint8 * lightBits = (uint8 *)lightfx_get_front_buffer(); - if (lightBits == NULL) { - return; - } + uint8 * lightBits = (uint8 *)lightfx_get_front_buffer(); + if (lightBits == NULL) { + return; + } - void * pixels; - sint32 pitch; - if (SDL_LockTexture(texture, NULL, &pixels, &pitch) == 0) { - for (uint32 y = 0; y < height; y++) { - uintptr_t dstOffset = (uintptr_t)(y * pitch); - uint32 * dst = (uint32 *)((uintptr_t)pixels + dstOffset); - for (uint32 x = 0; x < width; x++) { - uint8 * src = &bits[y * width + x]; - uint32 darkColour = palette[*src]; - uint32 lightColour = lightPalette[*src]; - uint8 lightIntensity = lightBits[y * width + x]; + void * pixels; + sint32 pitch; + if (SDL_LockTexture(texture, NULL, &pixels, &pitch) == 0) { + for (uint32 y = 0; y < height; y++) { + uintptr_t dstOffset = (uintptr_t)(y * pitch); + uint32 * dst = (uint32 *)((uintptr_t)pixels + dstOffset); + for (uint32 x = 0; x < width; x++) { + uint8 * src = &bits[y * width + x]; + uint32 darkColour = palette[*src]; + uint32 lightColour = lightPalette[*src]; + uint8 lightIntensity = lightBits[y * width + x]; - uint32 colour = 0; - if (lightIntensity == 0) { - colour = darkColour; - } else { - colour |= mix_light((darkColour >> 0) & 0xFF, (lightColour >> 0) & 0xFF, lightIntensity); - colour |= mix_light((darkColour >> 8) & 0xFF, (lightColour >> 8) & 0xFF, lightIntensity) << 8; - colour |= mix_light((darkColour >> 16) & 0xFF, (lightColour >> 16) & 0xFF, lightIntensity) << 16; - colour |= mix_light((darkColour >> 24) & 0xFF, (lightColour >> 24) & 0xFF, lightIntensity) << 24; - } - *dst++ = colour; - } - } - SDL_UnlockTexture(texture); - } + uint32 colour = 0; + if (lightIntensity == 0) { + colour = darkColour; + } else { + colour |= mix_light((darkColour >> 0) & 0xFF, (lightColour >> 0) & 0xFF, lightIntensity); + colour |= mix_light((darkColour >> 8) & 0xFF, (lightColour >> 8) & 0xFF, lightIntensity) << 8; + colour |= mix_light((darkColour >> 16) & 0xFF, (lightColour >> 16) & 0xFF, lightIntensity) << 16; + colour |= mix_light((darkColour >> 24) & 0xFF, (lightColour >> 24) & 0xFF, lightIntensity) << 24; + } + *dst++ = colour; + } + } + SDL_UnlockTexture(texture); + } } #endif // __ENABLE_LIGHTFX__ diff --git a/src/openrct2/drawing/lightfx.h b/src/openrct2/drawing/lightfx.h index ee26f37413..25e5b564af 100644 --- a/src/openrct2/drawing/lightfx.h +++ b/src/openrct2/drawing/lightfx.h @@ -24,25 +24,25 @@ #include "drawing.h" enum LIGHTFX_LIGHT_TYPE { - LIGHTFX_LIGHT_TYPE_NONE = 0, - LIGHTFX_LIGHT_TYPE_RESERVED_01 = 1, + LIGHTFX_LIGHT_TYPE_NONE = 0, + LIGHTFX_LIGHT_TYPE_RESERVED_01 = 1, - LIGHTFX_LIGHT_TYPE_LANTERN_0 = 4, - LIGHTFX_LIGHT_TYPE_LANTERN_1 = 5, - LIGHTFX_LIGHT_TYPE_LANTERN_2 = 6, - LIGHTFX_LIGHT_TYPE_LANTERN_3 = 7, + LIGHTFX_LIGHT_TYPE_LANTERN_0 = 4, + LIGHTFX_LIGHT_TYPE_LANTERN_1 = 5, + LIGHTFX_LIGHT_TYPE_LANTERN_2 = 6, + LIGHTFX_LIGHT_TYPE_LANTERN_3 = 7, - LIGHTFX_LIGHT_TYPE_SPOT_0 = 8, - LIGHTFX_LIGHT_TYPE_SPOT_1 = 9, - LIGHTFX_LIGHT_TYPE_SPOT_2 = 10, - LIGHTFX_LIGHT_TYPE_SPOT_3 = 11, + LIGHTFX_LIGHT_TYPE_SPOT_0 = 8, + LIGHTFX_LIGHT_TYPE_SPOT_1 = 9, + LIGHTFX_LIGHT_TYPE_SPOT_2 = 10, + LIGHTFX_LIGHT_TYPE_SPOT_3 = 11, - LIGHTFX_LIGHT_TYPE_RESERVED_FF = 0xFF + LIGHTFX_LIGHT_TYPE_RESERVED_FF = 0xFF }; enum LIGHTFX_LIGHT_QUALIFIER { - LIGHTFX_LIGHT_QUALIFIER_SPRITE = 0x1, - LIGHTFX_LIGHT_QUALIFIER_MAP = 0x2 + LIGHTFX_LIGHT_QUALIFIER_SPRITE = 0x1, + LIGHTFX_LIGHT_QUALIFIER_MAP = 0x2 }; void lightfx_init(); @@ -67,12 +67,12 @@ uint32 lightfx_get_light_polution(); void lightfx_apply_palette_filter(uint8 i, uint8 *r, uint8 *g, uint8 *b); void lightfx_render_to_texture( - struct SDL_Texture * texture, - uint8 * bits, - uint32 width, - uint32 height, - uint32 * palette, - uint32 * lightPalette); + struct SDL_Texture * texture, + uint8 * bits, + uint32 width, + uint32 height, + uint32 * palette, + uint32 * lightPalette); #endif // __ENABLE_LIGHTFX__ diff --git a/src/openrct2/drawing/line.c b/src/openrct2/drawing/line.c index 8386a7da5c..d105187736 100644 --- a/src/openrct2/drawing/line.c +++ b/src/openrct2/drawing/line.c @@ -22,40 +22,40 @@ */ static void gfx_draw_line_on_buffer(rct_drawpixelinfo *dpi, char colour, sint32 y, sint32 x, sint32 no_pixels) { - y -= dpi->y; + y -= dpi->y; - // Check to make sure point is in the y range - if (y < 0)return; - if (y >= dpi->height)return; - // Check to make sure we are drawing at least a pixel - if (!no_pixels) no_pixels++; + // Check to make sure point is in the y range + if (y < 0)return; + if (y >= dpi->height)return; + // Check to make sure we are drawing at least a pixel + if (!no_pixels) no_pixels++; - x -= dpi->x; + x -= dpi->x; - // If x coord outside range leave - if (x < 0){ - // Unless the number of pixels is enough to be in range - no_pixels += x; - if (no_pixels <= 0)return; - // Resets starting point to 0 as we don't draw outside the range - x = 0; - } + // If x coord outside range leave + if (x < 0){ + // Unless the number of pixels is enough to be in range + no_pixels += x; + if (no_pixels <= 0)return; + // Resets starting point to 0 as we don't draw outside the range + x = 0; + } - // Ensure that the end point of the line is within range - if (x + no_pixels - dpi->width > 0){ - // If the end point has any pixels outside range - // cut them off. If there are now no pixels return. - no_pixels -= x + no_pixels - dpi->width; - if (no_pixels <= 0)return; - } + // Ensure that the end point of the line is within range + if (x + no_pixels - dpi->width > 0){ + // If the end point has any pixels outside range + // cut them off. If there are now no pixels return. + no_pixels -= x + no_pixels - dpi->width; + if (no_pixels <= 0)return; + } - // Get the buffer we are drawing to and move to the first coordinate. - uint8* bits_pointer = dpi->bits + y*(dpi->pitch + dpi->width) + x; + // Get the buffer we are drawing to and move to the first coordinate. + uint8* bits_pointer = dpi->bits + y*(dpi->pitch + dpi->width) + x; - // Draw the line to the specified colour - for (; no_pixels > 0; --no_pixels, ++bits_pointer){ - *bits_pointer = colour; - } + // Draw the line to the specified colour + for (; no_pixels > 0; --no_pixels, ++bits_pointer){ + *bits_pointer = colour; + } } /** @@ -70,76 +70,76 @@ static void gfx_draw_line_on_buffer(rct_drawpixelinfo *dpi, char colour, sint32 */ void gfx_draw_line_software(rct_drawpixelinfo *dpi, sint32 x1, sint32 y1, sint32 x2, sint32 y2, sint32 colour) { - // Check to make sure the line is within the drawing area - if ((x1 < dpi->x) && (x2 < dpi->x)){ - return; - } + // Check to make sure the line is within the drawing area + if ((x1 < dpi->x) && (x2 < dpi->x)){ + return; + } - if ((y1 < dpi->y) && (y2 < dpi->y)){ - return; - } + if ((y1 < dpi->y) && (y2 < dpi->y)){ + return; + } - if ((x1 >(dpi->x + dpi->width)) && (x2 >(dpi->x + dpi->width))){ - return; - } + if ((x1 >(dpi->x + dpi->width)) && (x2 >(dpi->x + dpi->width))){ + return; + } - if ((y1 > (dpi->y + dpi->height)) && (y2 > (dpi->y + dpi->height))){ - return; - } + if ((y1 > (dpi->y + dpi->height)) && (y2 > (dpi->y + dpi->height))){ + return; + } - // Bresenham's algorithm + // Bresenham's algorithm - // If vertical plot points upwards - sint32 steep = abs(y2 - y1) > abs(x2 - x1); - if (steep){ - sint32 temp_y2 = y2; - sint32 temp_x2 = x2; - y2 = x1; - x2 = y1; - y1 = temp_x2; - x1 = temp_y2; - } + // If vertical plot points upwards + sint32 steep = abs(y2 - y1) > abs(x2 - x1); + if (steep){ + sint32 temp_y2 = y2; + sint32 temp_x2 = x2; + y2 = x1; + x2 = y1; + y1 = temp_x2; + x1 = temp_y2; + } - // If line is right to left swap direction - if (x1 > x2){ - sint32 temp_y2 = y2; - sint32 temp_x2 = x2; - y2 = y1; - x2 = x1; - y1 = temp_y2; - x1 = temp_x2; - } + // If line is right to left swap direction + if (x1 > x2){ + sint32 temp_y2 = y2; + sint32 temp_x2 = x2; + y2 = y1; + x2 = x1; + y1 = temp_y2; + x1 = temp_x2; + } - sint32 delta_x = x2 - x1; - sint32 delta_y = abs(y2 - y1); - sint32 error = delta_x / 2; - sint32 y_step; - sint32 y = y1; + sint32 delta_x = x2 - x1; + sint32 delta_y = abs(y2 - y1); + sint32 error = delta_x / 2; + sint32 y_step; + sint32 y = y1; - // Direction of step - if (y1 < y2)y_step = 1; - else y_step = -1; + // Direction of step + if (y1 < y2)y_step = 1; + else y_step = -1; - for (sint32 x = x1, x_start = x1, no_pixels = 1; x < x2; ++x,++no_pixels){ - // Vertical lines are drawn 1 pixel at a time - if (steep)gfx_draw_line_on_buffer(dpi, colour, x, y, 1); + for (sint32 x = x1, x_start = x1, no_pixels = 1; x < x2; ++x,++no_pixels){ + // Vertical lines are drawn 1 pixel at a time + if (steep)gfx_draw_line_on_buffer(dpi, colour, x, y, 1); - error -= delta_y; - if (error < 0){ - // Non vertical lines are drawn with as many pixels in a horizontal line as possible - if (!steep)gfx_draw_line_on_buffer(dpi, colour, y, x_start, no_pixels); + error -= delta_y; + if (error < 0){ + // Non vertical lines are drawn with as many pixels in a horizontal line as possible + if (!steep)gfx_draw_line_on_buffer(dpi, colour, y, x_start, no_pixels); - // Reset non vertical line vars - x_start = x + 1; - no_pixels = 1; - y += y_step; - error += delta_x; - } + // Reset non vertical line vars + x_start = x + 1; + no_pixels = 1; + y += y_step; + error += delta_x; + } - // Catch the case of the last line - if (x + 1 == x2 && !steep){ - gfx_draw_line_on_buffer(dpi, colour, y, x_start, no_pixels); - } - } - return; + // Catch the case of the last line + if (x + 1 == x2 && !steep){ + gfx_draw_line_on_buffer(dpi, colour, y, x_start, no_pixels); + } + } + return; } diff --git a/src/openrct2/drawing/rect.c b/src/openrct2/drawing/rect.c index 7b6458b200..688707273c 100644 --- a/src/openrct2/drawing/rect.c +++ b/src/openrct2/drawing/rect.c @@ -33,84 +33,84 @@ */ void gfx_fill_rect_inset(rct_drawpixelinfo* dpi, sint16 left, sint16 top, sint16 right, sint16 bottom, sint32 colour, uint8 flags) { - if (colour & (COLOUR_FLAG_TRANSLUCENT | COLOUR_FLAG_8)) { - translucent_window_palette palette; - if (colour & COLOUR_FLAG_8) { - // TODO: This can't be added up - // palette = NOT_TRANSLUCENT(colour); - assert(false); - return; - } else { - palette = TranslucentWindowPalettes[BASE_COLOUR(colour)]; - } + if (colour & (COLOUR_FLAG_TRANSLUCENT | COLOUR_FLAG_8)) { + translucent_window_palette palette; + if (colour & COLOUR_FLAG_8) { + // TODO: This can't be added up + // palette = NOT_TRANSLUCENT(colour); + assert(false); + return; + } else { + palette = TranslucentWindowPalettes[BASE_COLOUR(colour)]; + } - if (flags & INSET_RECT_FLAG_BORDER_NONE) { - gfx_filter_rect(dpi, left, top, right, bottom, palette.base); - } else if (flags & INSET_RECT_FLAG_BORDER_INSET) { - // Draw outline of box - gfx_filter_rect(dpi, left, top, left, bottom, palette.highlight); - gfx_filter_rect(dpi, left, top, right, top, palette.highlight); - gfx_filter_rect(dpi, right, top, right, bottom, palette.shadow); - gfx_filter_rect(dpi, left, bottom, right, bottom, palette.shadow); + if (flags & INSET_RECT_FLAG_BORDER_NONE) { + gfx_filter_rect(dpi, left, top, right, bottom, palette.base); + } else if (flags & INSET_RECT_FLAG_BORDER_INSET) { + // Draw outline of box + gfx_filter_rect(dpi, left, top, left, bottom, palette.highlight); + gfx_filter_rect(dpi, left, top, right, top, palette.highlight); + gfx_filter_rect(dpi, right, top, right, bottom, palette.shadow); + gfx_filter_rect(dpi, left, bottom, right, bottom, palette.shadow); - if (!(flags & INSET_RECT_FLAG_FILL_NONE)) { - gfx_filter_rect(dpi, left+1, top+1, right-1, bottom-1, palette.base); - } - } else { - // Draw outline of box - gfx_filter_rect(dpi, left, top, left, bottom, palette.shadow); - gfx_filter_rect(dpi, left, top, right, top, palette.shadow); - gfx_filter_rect(dpi, right, top, right, bottom, palette.highlight); - gfx_filter_rect(dpi, left, bottom, right, bottom, palette.highlight); + if (!(flags & INSET_RECT_FLAG_FILL_NONE)) { + gfx_filter_rect(dpi, left+1, top+1, right-1, bottom-1, palette.base); + } + } else { + // Draw outline of box + gfx_filter_rect(dpi, left, top, left, bottom, palette.shadow); + gfx_filter_rect(dpi, left, top, right, top, palette.shadow); + gfx_filter_rect(dpi, right, top, right, bottom, palette.highlight); + gfx_filter_rect(dpi, left, bottom, right, bottom, palette.highlight); - if (!(flags & INSET_RECT_FLAG_FILL_NONE)) { - gfx_filter_rect(dpi, left+1, top+1, right-1, bottom-1, palette.base); - } - } - } else { - uint8 shadow, fill, hilight; - if (flags & INSET_RECT_FLAG_FILL_MID_LIGHT) { - shadow = ColourMapA[colour].dark; - fill = ColourMapA[colour].mid_light; - hilight = ColourMapA[colour].lighter; - } else { - shadow = ColourMapA[colour].mid_dark; - fill = ColourMapA[colour].light; - hilight = ColourMapA[colour].lighter; - } + if (!(flags & INSET_RECT_FLAG_FILL_NONE)) { + gfx_filter_rect(dpi, left+1, top+1, right-1, bottom-1, palette.base); + } + } + } else { + uint8 shadow, fill, hilight; + if (flags & INSET_RECT_FLAG_FILL_MID_LIGHT) { + shadow = ColourMapA[colour].dark; + fill = ColourMapA[colour].mid_light; + hilight = ColourMapA[colour].lighter; + } else { + shadow = ColourMapA[colour].mid_dark; + fill = ColourMapA[colour].light; + hilight = ColourMapA[colour].lighter; + } - if (flags & INSET_RECT_FLAG_BORDER_NONE) { - gfx_fill_rect(dpi, left, top, right, bottom, fill); - } else if (flags & INSET_RECT_FLAG_BORDER_INSET) { - // Draw outline of box - gfx_fill_rect(dpi, left, top, left, bottom, shadow); - gfx_fill_rect(dpi, left + 1, top, right, top, shadow); - gfx_fill_rect(dpi, right, top + 1, right, bottom - 1, hilight); - gfx_fill_rect(dpi, left + 1, bottom, right, bottom, hilight); + if (flags & INSET_RECT_FLAG_BORDER_NONE) { + gfx_fill_rect(dpi, left, top, right, bottom, fill); + } else if (flags & INSET_RECT_FLAG_BORDER_INSET) { + // Draw outline of box + gfx_fill_rect(dpi, left, top, left, bottom, shadow); + gfx_fill_rect(dpi, left + 1, top, right, top, shadow); + gfx_fill_rect(dpi, right, top + 1, right, bottom - 1, hilight); + gfx_fill_rect(dpi, left + 1, bottom, right, bottom, hilight); - if (!(flags & INSET_RECT_FLAG_FILL_NONE)) { - if (!(flags & INSET_RECT_FLAG_FILL_DONT_LIGHTEN)) { - if (flags & INSET_RECT_FLAG_FILL_GREY) { - fill = ColourMapA[COLOUR_BLACK].light; - } else { - fill = ColourMapA[colour].lighter; - } - } - gfx_fill_rect(dpi, left+1, top+1, right-1, bottom-1, fill); - } - } else { - // Draw outline of box - gfx_fill_rect(dpi, left, top, left, bottom - 1, hilight); - gfx_fill_rect(dpi, left + 1, top, right - 1, top, hilight); - gfx_fill_rect(dpi, right, top, right, bottom - 1, shadow); - gfx_fill_rect(dpi, left, bottom, right, bottom, shadow); + if (!(flags & INSET_RECT_FLAG_FILL_NONE)) { + if (!(flags & INSET_RECT_FLAG_FILL_DONT_LIGHTEN)) { + if (flags & INSET_RECT_FLAG_FILL_GREY) { + fill = ColourMapA[COLOUR_BLACK].light; + } else { + fill = ColourMapA[colour].lighter; + } + } + gfx_fill_rect(dpi, left+1, top+1, right-1, bottom-1, fill); + } + } else { + // Draw outline of box + gfx_fill_rect(dpi, left, top, left, bottom - 1, hilight); + gfx_fill_rect(dpi, left + 1, top, right - 1, top, hilight); + gfx_fill_rect(dpi, right, top, right, bottom - 1, shadow); + gfx_fill_rect(dpi, left, bottom, right, bottom, shadow); - if (!(flags & INSET_RECT_FLAG_FILL_NONE)) { - if (flags & INSET_RECT_FLAG_FILL_GREY) { - fill = ColourMapA[COLOUR_BLACK].light; - } - gfx_fill_rect(dpi, left+1, top+1, right-1, bottom-1, fill); - } - } - } + if (!(flags & INSET_RECT_FLAG_FILL_NONE)) { + if (flags & INSET_RECT_FLAG_FILL_GREY) { + fill = ColourMapA[COLOUR_BLACK].light; + } + gfx_fill_rect(dpi, left+1, top+1, right-1, bottom-1, fill); + } + } + } } diff --git a/src/openrct2/drawing/scrolling_text.c b/src/openrct2/drawing/scrolling_text.c index 2fac26f53e..a3b4d51451 100644 --- a/src/openrct2/drawing/scrolling_text.c +++ b/src/openrct2/drawing/scrolling_text.c @@ -24,13 +24,13 @@ #pragma pack(push, 1) /* size: 0xA12 */ typedef struct rct_draw_scroll_text { - rct_string_id string_id; // 0x00 - uint32 string_args_0; // 0x02 - uint32 string_args_1; // 0x06 - uint16 position; // 0x0A - uint16 mode; // 0x0C - uint32 id; // 0x0E - uint8 bitmap[64 * 8 * 5]; // 0x12 + rct_string_id string_id; // 0x00 + uint32 string_args_0; // 0x02 + uint32 string_args_1; // 0x06 + uint16 position; // 0x0A + uint16 mode; // 0x0C + uint32 id; // 0x0E + uint8 bitmap[64 * 8 * 5]; // 0x12 } rct_draw_scroll_text; assert_struct_size(rct_draw_scroll_text, 0xA12); #pragma pack(pop) @@ -46,100 +46,100 @@ void scrolling_text_set_bitmap_for_ttf(utf8 *text, sint32 scroll, uint8 *bitmap, void scrolling_text_initialise_bitmaps() { - uint8 drawingSurface[64]; - rct_drawpixelinfo dpi = { - .bits = (uint8 *)&drawingSurface, - .x = 0, - .y = 0, - .width = 8, - .height = 8, - .pitch = 0, - .zoom_level = 0 - }; + uint8 drawingSurface[64]; + rct_drawpixelinfo dpi = { + .bits = (uint8 *)&drawingSurface, + .x = 0, + .y = 0, + .width = 8, + .height = 8, + .pitch = 0, + .zoom_level = 0 + }; - for (sint32 i = 0; i < 224; i++) { - memset(drawingSurface, 0, sizeof(drawingSurface)); - gfx_draw_sprite_software(&dpi, SPR_CHAR_START + FONT_SPRITE_BASE_TINY + i, -1, 0, 0); + for (sint32 i = 0; i < 224; i++) { + memset(drawingSurface, 0, sizeof(drawingSurface)); + gfx_draw_sprite_software(&dpi, SPR_CHAR_START + FONT_SPRITE_BASE_TINY + i, -1, 0, 0); - for (sint32 x = 0; x < 8; x++) { - uint8 val = 0; - for (sint32 y = 0; y < 8; y++) { - val >>= 1; - if (dpi.bits[x + y * 8] == 1) { - val |= 0x80; - } - } - _characterBitmaps[i * 8 + x] = val; - } - } + for (sint32 x = 0; x < 8; x++) { + uint8 val = 0; + for (sint32 y = 0; y < 8; y++) { + val >>= 1; + if (dpi.bits[x + y * 8] == 1) { + val |= 0x80; + } + } + _characterBitmaps[i * 8 + x] = val; + } + } - for (sint32 i = 0; i < MAX_SCROLLING_TEXT_ENTRIES; i++) { - rct_g1_element *g1 = &g1Elements[SPR_SCROLLING_TEXT_START + i]; - g1->offset = _drawScrollTextList[i].bitmap; - g1->width = 64; - g1->height = 40; - g1->offset[0] = 0xFF; - g1->offset[1] = 0xFF; - g1->offset[14] = 0; - g1->offset[15] = 0; - g1->offset[16] = 0; - g1->offset[17] = 0; - } + for (sint32 i = 0; i < MAX_SCROLLING_TEXT_ENTRIES; i++) { + rct_g1_element *g1 = &g1Elements[SPR_SCROLLING_TEXT_START + i]; + g1->offset = _drawScrollTextList[i].bitmap; + g1->width = 64; + g1->height = 40; + g1->offset[0] = 0xFF; + g1->offset[1] = 0xFF; + g1->offset[14] = 0; + g1->offset[15] = 0; + g1->offset[16] = 0; + g1->offset[17] = 0; + } } static uint8 *font_sprite_get_codepoint_bitmap(sint32 codepoint) { - return &_characterBitmaps[font_sprite_get_codepoint_offset(codepoint) * 8]; + return &_characterBitmaps[font_sprite_get_codepoint_offset(codepoint) * 8]; } static sint32 scrolling_text_get_matching_or_oldest(rct_string_id stringId, uint16 scroll, uint16 scrollingMode) { - uint32 oldestId = 0xFFFFFFFF; - sint32 scrollIndex = -1; - for (sint32 i = 0; i < MAX_SCROLLING_TEXT_ENTRIES; i++) { - rct_draw_scroll_text *scrollText = &_drawScrollTextList[i]; - if (oldestId >= scrollText->id) { - oldestId = scrollText->id; - scrollIndex = i; - } + uint32 oldestId = 0xFFFFFFFF; + sint32 scrollIndex = -1; + for (sint32 i = 0; i < MAX_SCROLLING_TEXT_ENTRIES; i++) { + rct_draw_scroll_text *scrollText = &_drawScrollTextList[i]; + if (oldestId >= scrollText->id) { + oldestId = scrollText->id; + scrollIndex = i; + } - // If exact match return the matching index - uint32 stringArgs0, stringArgs1; - memcpy(&stringArgs0, gCommonFormatArgs + 0, sizeof(uint32)); - memcpy(&stringArgs1, gCommonFormatArgs + 4, sizeof(uint32)); - if ( - scrollText->string_id == stringId && - scrollText->string_args_0 == stringArgs0 && - scrollText->string_args_1 == stringArgs1 && - scrollText->position == scroll && - scrollText->mode == scrollingMode - ) { - scrollText->id = _drawSCrollNextIndex; - return i + SPR_SCROLLING_TEXT_START; - } - } - return scrollIndex; + // If exact match return the matching index + uint32 stringArgs0, stringArgs1; + memcpy(&stringArgs0, gCommonFormatArgs + 0, sizeof(uint32)); + memcpy(&stringArgs1, gCommonFormatArgs + 4, sizeof(uint32)); + if ( + scrollText->string_id == stringId && + scrollText->string_args_0 == stringArgs0 && + scrollText->string_args_1 == stringArgs1 && + scrollText->position == scroll && + scrollText->mode == scrollingMode + ) { + scrollText->id = _drawSCrollNextIndex; + return i + SPR_SCROLLING_TEXT_START; + } + } + return scrollIndex; } static uint8 scrolling_text_get_colour(uint32 character) { - sint32 colour = character & 0x7F; - if (character & COLOUR_FLAG_TRANSLUCENT) { - return ColourMapA[colour].light; - } else { - return ColourMapA[colour].mid_dark; - } + sint32 colour = character & 0x7F; + if (character & COLOUR_FLAG_TRANSLUCENT) { + return ColourMapA[colour].light; + } else { + return ColourMapA[colour].mid_dark; + } } static void scrolling_text_format(utf8 *dst, size_t size, rct_draw_scroll_text *scrollText) { - if (gConfigGeneral.upper_case_banners) { - format_string_to_upper(dst, size, scrollText->string_id, &scrollText->string_args_0); - } else { - format_string(dst, size, scrollText->string_id, &scrollText->string_args_0); - } + if (gConfigGeneral.upper_case_banners) { + format_string_to_upper(dst, size, scrollText->string_id, &scrollText->string_args_0); + } else { + format_string(dst, size, scrollText->string_id, &scrollText->string_args_0); + } } extern bool TempForScrollText; @@ -147,1263 +147,1263 @@ extern bool TempForScrollText; #define SCROLL_POS(x, y) ((y * 64) + x) static const sint16 _scrollpos0[] = { - SCROLL_POS( 35, 12 ), - SCROLL_POS( 36, 12 ), - SCROLL_POS( 37, 11 ), - SCROLL_POS( 38, 11 ), - SCROLL_POS( 39, 10 ), - SCROLL_POS( 40, 10 ), - SCROLL_POS( 41, 9 ), - SCROLL_POS( 42, 9 ), - SCROLL_POS( 43, 8 ), - SCROLL_POS( 44, 8 ), - SCROLL_POS( 45, 7 ), - SCROLL_POS( 46, 7 ), - SCROLL_POS( 47, 6 ), - SCROLL_POS( 48, 6 ), - SCROLL_POS( 49, 5 ), - SCROLL_POS( 50, 5 ), - SCROLL_POS( 51, 4 ), - SCROLL_POS( 52, 4 ), - SCROLL_POS( 53, 3 ), - SCROLL_POS( 54, 3 ), - SCROLL_POS( 55, 2 ), - SCROLL_POS( 56, 2 ), - SCROLL_POS( 57, 1 ), - SCROLL_POS( 58, 1 ), - -1, + SCROLL_POS( 35, 12 ), + SCROLL_POS( 36, 12 ), + SCROLL_POS( 37, 11 ), + SCROLL_POS( 38, 11 ), + SCROLL_POS( 39, 10 ), + SCROLL_POS( 40, 10 ), + SCROLL_POS( 41, 9 ), + SCROLL_POS( 42, 9 ), + SCROLL_POS( 43, 8 ), + SCROLL_POS( 44, 8 ), + SCROLL_POS( 45, 7 ), + SCROLL_POS( 46, 7 ), + SCROLL_POS( 47, 6 ), + SCROLL_POS( 48, 6 ), + SCROLL_POS( 49, 5 ), + SCROLL_POS( 50, 5 ), + SCROLL_POS( 51, 4 ), + SCROLL_POS( 52, 4 ), + SCROLL_POS( 53, 3 ), + SCROLL_POS( 54, 3 ), + SCROLL_POS( 55, 2 ), + SCROLL_POS( 56, 2 ), + SCROLL_POS( 57, 1 ), + SCROLL_POS( 58, 1 ), + -1, }; static const sint16 _scrollpos1[] = { - SCROLL_POS( 5, 1 ), - SCROLL_POS( 6, 1 ), - SCROLL_POS( 7, 2 ), - SCROLL_POS( 8, 2 ), - SCROLL_POS( 9, 3 ), - SCROLL_POS( 10, 3 ), - SCROLL_POS( 11, 4 ), - SCROLL_POS( 12, 4 ), - SCROLL_POS( 13, 5 ), - SCROLL_POS( 14, 5 ), - SCROLL_POS( 15, 6 ), - SCROLL_POS( 16, 6 ), - SCROLL_POS( 17, 7 ), - SCROLL_POS( 18, 7 ), - SCROLL_POS( 19, 8 ), - SCROLL_POS( 20, 8 ), - SCROLL_POS( 21, 9 ), - SCROLL_POS( 22, 9 ), - SCROLL_POS( 23, 10 ), - SCROLL_POS( 24, 10 ), - SCROLL_POS( 25, 11 ), - SCROLL_POS( 26, 11 ), - SCROLL_POS( 27, 12 ), - SCROLL_POS( 28, 12 ), - -1, + SCROLL_POS( 5, 1 ), + SCROLL_POS( 6, 1 ), + SCROLL_POS( 7, 2 ), + SCROLL_POS( 8, 2 ), + SCROLL_POS( 9, 3 ), + SCROLL_POS( 10, 3 ), + SCROLL_POS( 11, 4 ), + SCROLL_POS( 12, 4 ), + SCROLL_POS( 13, 5 ), + SCROLL_POS( 14, 5 ), + SCROLL_POS( 15, 6 ), + SCROLL_POS( 16, 6 ), + SCROLL_POS( 17, 7 ), + SCROLL_POS( 18, 7 ), + SCROLL_POS( 19, 8 ), + SCROLL_POS( 20, 8 ), + SCROLL_POS( 21, 9 ), + SCROLL_POS( 22, 9 ), + SCROLL_POS( 23, 10 ), + SCROLL_POS( 24, 10 ), + SCROLL_POS( 25, 11 ), + SCROLL_POS( 26, 11 ), + SCROLL_POS( 27, 12 ), + SCROLL_POS( 28, 12 ), + -1, }; static const sint16 _scrollpos2[] = { - SCROLL_POS( 12, 1 ), - SCROLL_POS( 13, 1 ), - SCROLL_POS( 14, 2 ), - SCROLL_POS( 15, 2 ), - SCROLL_POS( 16, 3 ), - SCROLL_POS( 17, 3 ), - SCROLL_POS( 18, 4 ), - SCROLL_POS( 19, 4 ), - SCROLL_POS( 20, 5 ), - SCROLL_POS( 21, 5 ), - SCROLL_POS( 22, 6 ), - SCROLL_POS( 23, 6 ), - SCROLL_POS( 24, 7 ), - SCROLL_POS( 25, 7 ), - SCROLL_POS( 26, 8 ), - SCROLL_POS( 27, 8 ), - SCROLL_POS( 28, 9 ), - SCROLL_POS( 29, 9 ), - SCROLL_POS( 30, 10 ), - SCROLL_POS( 31, 10 ), - SCROLL_POS( 32, 10 ), - SCROLL_POS( 33, 9 ), - SCROLL_POS( 34, 9 ), - SCROLL_POS( 35, 8 ), - SCROLL_POS( 36, 8 ), - SCROLL_POS( 37, 7 ), - SCROLL_POS( 38, 7 ), - SCROLL_POS( 39, 6 ), - SCROLL_POS( 40, 6 ), - SCROLL_POS( 41, 5 ), - SCROLL_POS( 42, 5 ), - SCROLL_POS( 43, 4 ), - SCROLL_POS( 44, 4 ), - SCROLL_POS( 45, 3 ), - SCROLL_POS( 46, 3 ), - SCROLL_POS( 47, 2 ), - SCROLL_POS( 48, 2 ), - SCROLL_POS( 49, 1 ), - SCROLL_POS( 50, 1 ), - -1, + SCROLL_POS( 12, 1 ), + SCROLL_POS( 13, 1 ), + SCROLL_POS( 14, 2 ), + SCROLL_POS( 15, 2 ), + SCROLL_POS( 16, 3 ), + SCROLL_POS( 17, 3 ), + SCROLL_POS( 18, 4 ), + SCROLL_POS( 19, 4 ), + SCROLL_POS( 20, 5 ), + SCROLL_POS( 21, 5 ), + SCROLL_POS( 22, 6 ), + SCROLL_POS( 23, 6 ), + SCROLL_POS( 24, 7 ), + SCROLL_POS( 25, 7 ), + SCROLL_POS( 26, 8 ), + SCROLL_POS( 27, 8 ), + SCROLL_POS( 28, 9 ), + SCROLL_POS( 29, 9 ), + SCROLL_POS( 30, 10 ), + SCROLL_POS( 31, 10 ), + SCROLL_POS( 32, 10 ), + SCROLL_POS( 33, 9 ), + SCROLL_POS( 34, 9 ), + SCROLL_POS( 35, 8 ), + SCROLL_POS( 36, 8 ), + SCROLL_POS( 37, 7 ), + SCROLL_POS( 38, 7 ), + SCROLL_POS( 39, 6 ), + SCROLL_POS( 40, 6 ), + SCROLL_POS( 41, 5 ), + SCROLL_POS( 42, 5 ), + SCROLL_POS( 43, 4 ), + SCROLL_POS( 44, 4 ), + SCROLL_POS( 45, 3 ), + SCROLL_POS( 46, 3 ), + SCROLL_POS( 47, 2 ), + SCROLL_POS( 48, 2 ), + SCROLL_POS( 49, 1 ), + SCROLL_POS( 50, 1 ), + -1, }; static const sint16 _scrollpos3[] = { - SCROLL_POS( 16, 0 ), - SCROLL_POS( 17, 1 ), - SCROLL_POS( 18, 1 ), - SCROLL_POS( 19, 2 ), - SCROLL_POS( 20, 3 ), - SCROLL_POS( 21, 3 ), - SCROLL_POS( 22, 4 ), - SCROLL_POS( 23, 5 ), - SCROLL_POS( 24, 5 ), - SCROLL_POS( 25, 6 ), - SCROLL_POS( 26, 6 ), - SCROLL_POS( 27, 7 ), - SCROLL_POS( 28, 7 ), - SCROLL_POS( 29, 8 ), - SCROLL_POS( 30, 8 ), - SCROLL_POS( 31, 9 ), - SCROLL_POS( 32, 9 ), - SCROLL_POS( 33, 10 ), - SCROLL_POS( 34, 10 ), - SCROLL_POS( 35, 11 ), - SCROLL_POS( 36, 11 ), - SCROLL_POS( 37, 12 ), - SCROLL_POS( 38, 12 ), - SCROLL_POS( 39, 13 ), - SCROLL_POS( 40, 13 ), - SCROLL_POS( 41, 14 ), - SCROLL_POS( 42, 14 ), - SCROLL_POS( 43, 14 ), - SCROLL_POS( 44, 15 ), - SCROLL_POS( 45, 15 ), - SCROLL_POS( 46, 15 ), - SCROLL_POS( 47, 16 ), - SCROLL_POS( 48, 16 ), - -1, + SCROLL_POS( 16, 0 ), + SCROLL_POS( 17, 1 ), + SCROLL_POS( 18, 1 ), + SCROLL_POS( 19, 2 ), + SCROLL_POS( 20, 3 ), + SCROLL_POS( 21, 3 ), + SCROLL_POS( 22, 4 ), + SCROLL_POS( 23, 5 ), + SCROLL_POS( 24, 5 ), + SCROLL_POS( 25, 6 ), + SCROLL_POS( 26, 6 ), + SCROLL_POS( 27, 7 ), + SCROLL_POS( 28, 7 ), + SCROLL_POS( 29, 8 ), + SCROLL_POS( 30, 8 ), + SCROLL_POS( 31, 9 ), + SCROLL_POS( 32, 9 ), + SCROLL_POS( 33, 10 ), + SCROLL_POS( 34, 10 ), + SCROLL_POS( 35, 11 ), + SCROLL_POS( 36, 11 ), + SCROLL_POS( 37, 12 ), + SCROLL_POS( 38, 12 ), + SCROLL_POS( 39, 13 ), + SCROLL_POS( 40, 13 ), + SCROLL_POS( 41, 14 ), + SCROLL_POS( 42, 14 ), + SCROLL_POS( 43, 14 ), + SCROLL_POS( 44, 15 ), + SCROLL_POS( 45, 15 ), + SCROLL_POS( 46, 15 ), + SCROLL_POS( 47, 16 ), + SCROLL_POS( 48, 16 ), + -1, }; static const sint16 _scrollpos4[] = { - SCROLL_POS( 15, 17 ), - SCROLL_POS( 16, 17 ), - SCROLL_POS( 17, 16 ), - SCROLL_POS( 18, 16 ), - SCROLL_POS( 19, 16 ), - SCROLL_POS( 20, 15 ), - SCROLL_POS( 21, 15 ), - SCROLL_POS( 22, 15 ), - SCROLL_POS( 23, 14 ), - SCROLL_POS( 24, 14 ), - SCROLL_POS( 25, 13 ), - SCROLL_POS( 26, 13 ), - SCROLL_POS( 27, 12 ), - SCROLL_POS( 28, 12 ), - SCROLL_POS( 29, 11 ), - SCROLL_POS( 30, 11 ), - SCROLL_POS( 31, 10 ), - SCROLL_POS( 32, 10 ), - SCROLL_POS( 33, 9 ), - SCROLL_POS( 34, 9 ), - SCROLL_POS( 35, 8 ), - SCROLL_POS( 36, 8 ), - SCROLL_POS( 37, 7 ), - SCROLL_POS( 38, 7 ), - SCROLL_POS( 39, 6 ), - SCROLL_POS( 40, 6 ), - SCROLL_POS( 41, 5 ), - SCROLL_POS( 42, 4 ), - SCROLL_POS( 43, 4 ), - SCROLL_POS( 44, 3 ), - SCROLL_POS( 45, 2 ), - SCROLL_POS( 46, 2 ), - SCROLL_POS( 47, 1 ), - SCROLL_POS( 48, 0 ), - -1, + SCROLL_POS( 15, 17 ), + SCROLL_POS( 16, 17 ), + SCROLL_POS( 17, 16 ), + SCROLL_POS( 18, 16 ), + SCROLL_POS( 19, 16 ), + SCROLL_POS( 20, 15 ), + SCROLL_POS( 21, 15 ), + SCROLL_POS( 22, 15 ), + SCROLL_POS( 23, 14 ), + SCROLL_POS( 24, 14 ), + SCROLL_POS( 25, 13 ), + SCROLL_POS( 26, 13 ), + SCROLL_POS( 27, 12 ), + SCROLL_POS( 28, 12 ), + SCROLL_POS( 29, 11 ), + SCROLL_POS( 30, 11 ), + SCROLL_POS( 31, 10 ), + SCROLL_POS( 32, 10 ), + SCROLL_POS( 33, 9 ), + SCROLL_POS( 34, 9 ), + SCROLL_POS( 35, 8 ), + SCROLL_POS( 36, 8 ), + SCROLL_POS( 37, 7 ), + SCROLL_POS( 38, 7 ), + SCROLL_POS( 39, 6 ), + SCROLL_POS( 40, 6 ), + SCROLL_POS( 41, 5 ), + SCROLL_POS( 42, 4 ), + SCROLL_POS( 43, 4 ), + SCROLL_POS( 44, 3 ), + SCROLL_POS( 45, 2 ), + SCROLL_POS( 46, 2 ), + SCROLL_POS( 47, 1 ), + SCROLL_POS( 48, 0 ), + -1, }; static const sint16 _scrollpos5[] = { - SCROLL_POS( 4, 12 ), - SCROLL_POS( 5, 12 ), - SCROLL_POS( 6, 11 ), - SCROLL_POS( 7, 11 ), - SCROLL_POS( 8, 10 ), - SCROLL_POS( 9, 10 ), - SCROLL_POS( 10, 9 ), - SCROLL_POS( 11, 9 ), - SCROLL_POS( 12, 8 ), - SCROLL_POS( 13, 8 ), - SCROLL_POS( 14, 7 ), - SCROLL_POS( 15, 7 ), - SCROLL_POS( 16, 6 ), - SCROLL_POS( 17, 6 ), - SCROLL_POS( 18, 5 ), - SCROLL_POS( 19, 5 ), - SCROLL_POS( 20, 4 ), - SCROLL_POS( 21, 4 ), - SCROLL_POS( 22, 3 ), - SCROLL_POS( 23, 3 ), - SCROLL_POS( 24, 2 ), - SCROLL_POS( 25, 2 ), - SCROLL_POS( 26, 1 ), - SCROLL_POS( 27, 1 ), - -1, + SCROLL_POS( 4, 12 ), + SCROLL_POS( 5, 12 ), + SCROLL_POS( 6, 11 ), + SCROLL_POS( 7, 11 ), + SCROLL_POS( 8, 10 ), + SCROLL_POS( 9, 10 ), + SCROLL_POS( 10, 9 ), + SCROLL_POS( 11, 9 ), + SCROLL_POS( 12, 8 ), + SCROLL_POS( 13, 8 ), + SCROLL_POS( 14, 7 ), + SCROLL_POS( 15, 7 ), + SCROLL_POS( 16, 6 ), + SCROLL_POS( 17, 6 ), + SCROLL_POS( 18, 5 ), + SCROLL_POS( 19, 5 ), + SCROLL_POS( 20, 4 ), + SCROLL_POS( 21, 4 ), + SCROLL_POS( 22, 3 ), + SCROLL_POS( 23, 3 ), + SCROLL_POS( 24, 2 ), + SCROLL_POS( 25, 2 ), + SCROLL_POS( 26, 1 ), + SCROLL_POS( 27, 1 ), + -1, }; static const sint16 _scrollpos6[] = { - SCROLL_POS( 36, 1 ), - SCROLL_POS( 37, 1 ), - SCROLL_POS( 38, 2 ), - SCROLL_POS( 39, 2 ), - SCROLL_POS( 40, 3 ), - SCROLL_POS( 41, 3 ), - SCROLL_POS( 42, 4 ), - SCROLL_POS( 43, 4 ), - SCROLL_POS( 44, 5 ), - SCROLL_POS( 45, 5 ), - SCROLL_POS( 46, 6 ), - SCROLL_POS( 47, 6 ), - SCROLL_POS( 48, 7 ), - SCROLL_POS( 49, 7 ), - SCROLL_POS( 50, 8 ), - SCROLL_POS( 51, 8 ), - SCROLL_POS( 52, 9 ), - SCROLL_POS( 53, 9 ), - SCROLL_POS( 54, 10 ), - SCROLL_POS( 55, 10 ), - SCROLL_POS( 56, 11 ), - SCROLL_POS( 57, 11 ), - SCROLL_POS( 58, 12 ), - SCROLL_POS( 59, 12 ), - -1, + SCROLL_POS( 36, 1 ), + SCROLL_POS( 37, 1 ), + SCROLL_POS( 38, 2 ), + SCROLL_POS( 39, 2 ), + SCROLL_POS( 40, 3 ), + SCROLL_POS( 41, 3 ), + SCROLL_POS( 42, 4 ), + SCROLL_POS( 43, 4 ), + SCROLL_POS( 44, 5 ), + SCROLL_POS( 45, 5 ), + SCROLL_POS( 46, 6 ), + SCROLL_POS( 47, 6 ), + SCROLL_POS( 48, 7 ), + SCROLL_POS( 49, 7 ), + SCROLL_POS( 50, 8 ), + SCROLL_POS( 51, 8 ), + SCROLL_POS( 52, 9 ), + SCROLL_POS( 53, 9 ), + SCROLL_POS( 54, 10 ), + SCROLL_POS( 55, 10 ), + SCROLL_POS( 56, 11 ), + SCROLL_POS( 57, 11 ), + SCROLL_POS( 58, 12 ), + SCROLL_POS( 59, 12 ), + -1, }; static const sint16 _scrollpos7[] = { - SCROLL_POS( 8, 11 ), - SCROLL_POS( 9, 11 ), - SCROLL_POS( 10, 10 ), - SCROLL_POS( 11, 10 ), - SCROLL_POS( 12, 9 ), - SCROLL_POS( 13, 9 ), - SCROLL_POS( 14, 8 ), - SCROLL_POS( 15, 8 ), - SCROLL_POS( 16, 7 ), - SCROLL_POS( 17, 7 ), - SCROLL_POS( 18, 6 ), - SCROLL_POS( 19, 6 ), - SCROLL_POS( 20, 5 ), - SCROLL_POS( 21, 5 ), - SCROLL_POS( 22, 4 ), - SCROLL_POS( 23, 4 ), - SCROLL_POS( 24, 3 ), - SCROLL_POS( 25, 3 ), - SCROLL_POS( 26, 2 ), - SCROLL_POS( 27, 2 ), - SCROLL_POS( 28, 1 ), - SCROLL_POS( 29, 1 ), - -1, + SCROLL_POS( 8, 11 ), + SCROLL_POS( 9, 11 ), + SCROLL_POS( 10, 10 ), + SCROLL_POS( 11, 10 ), + SCROLL_POS( 12, 9 ), + SCROLL_POS( 13, 9 ), + SCROLL_POS( 14, 8 ), + SCROLL_POS( 15, 8 ), + SCROLL_POS( 16, 7 ), + SCROLL_POS( 17, 7 ), + SCROLL_POS( 18, 6 ), + SCROLL_POS( 19, 6 ), + SCROLL_POS( 20, 5 ), + SCROLL_POS( 21, 5 ), + SCROLL_POS( 22, 4 ), + SCROLL_POS( 23, 4 ), + SCROLL_POS( 24, 3 ), + SCROLL_POS( 25, 3 ), + SCROLL_POS( 26, 2 ), + SCROLL_POS( 27, 2 ), + SCROLL_POS( 28, 1 ), + SCROLL_POS( 29, 1 ), + -1, }; static const sint16 _scrollpos8[] = { - SCROLL_POS( 36, 2 ), - SCROLL_POS( 37, 2 ), - SCROLL_POS( 38, 3 ), - SCROLL_POS( 39, 3 ), - SCROLL_POS( 40, 4 ), - SCROLL_POS( 41, 4 ), - SCROLL_POS( 42, 5 ), - SCROLL_POS( 43, 5 ), - SCROLL_POS( 44, 6 ), - SCROLL_POS( 45, 6 ), - SCROLL_POS( 46, 7 ), - SCROLL_POS( 47, 7 ), - SCROLL_POS( 48, 8 ), - SCROLL_POS( 49, 8 ), - SCROLL_POS( 50, 9 ), - SCROLL_POS( 51, 9 ), - SCROLL_POS( 52, 10 ), - SCROLL_POS( 53, 10 ), - SCROLL_POS( 54, 11 ), - SCROLL_POS( 55, 11 ), - -1, + SCROLL_POS( 36, 2 ), + SCROLL_POS( 37, 2 ), + SCROLL_POS( 38, 3 ), + SCROLL_POS( 39, 3 ), + SCROLL_POS( 40, 4 ), + SCROLL_POS( 41, 4 ), + SCROLL_POS( 42, 5 ), + SCROLL_POS( 43, 5 ), + SCROLL_POS( 44, 6 ), + SCROLL_POS( 45, 6 ), + SCROLL_POS( 46, 7 ), + SCROLL_POS( 47, 7 ), + SCROLL_POS( 48, 8 ), + SCROLL_POS( 49, 8 ), + SCROLL_POS( 50, 9 ), + SCROLL_POS( 51, 9 ), + SCROLL_POS( 52, 10 ), + SCROLL_POS( 53, 10 ), + SCROLL_POS( 54, 11 ), + SCROLL_POS( 55, 11 ), + -1, }; static const sint16 _scrollpos9[] = { - SCROLL_POS( 11, 9 ), - SCROLL_POS( 12, 9 ), - SCROLL_POS( 13, 9 ), - SCROLL_POS( 14, 9 ), - SCROLL_POS( 15, 9 ), - SCROLL_POS( 16, 8 ), - SCROLL_POS( 17, 8 ), - SCROLL_POS( 18, 7 ), - SCROLL_POS( 19, 7 ), - SCROLL_POS( 20, 7 ), - SCROLL_POS( 21, 6 ), - SCROLL_POS( 22, 6 ), - SCROLL_POS( 23, 5 ), - SCROLL_POS( 24, 4 ), - SCROLL_POS( 25, 4 ), - SCROLL_POS( 26, 3 ), - SCROLL_POS( 27, 3 ), - SCROLL_POS( 28, 2 ), - SCROLL_POS( 29, 1 ), - -1, + SCROLL_POS( 11, 9 ), + SCROLL_POS( 12, 9 ), + SCROLL_POS( 13, 9 ), + SCROLL_POS( 14, 9 ), + SCROLL_POS( 15, 9 ), + SCROLL_POS( 16, 8 ), + SCROLL_POS( 17, 8 ), + SCROLL_POS( 18, 7 ), + SCROLL_POS( 19, 7 ), + SCROLL_POS( 20, 7 ), + SCROLL_POS( 21, 6 ), + SCROLL_POS( 22, 6 ), + SCROLL_POS( 23, 5 ), + SCROLL_POS( 24, 4 ), + SCROLL_POS( 25, 4 ), + SCROLL_POS( 26, 3 ), + SCROLL_POS( 27, 3 ), + SCROLL_POS( 28, 2 ), + SCROLL_POS( 29, 1 ), + -1, }; static const sint16 _scrollpos10[] = { - SCROLL_POS( 34, 1 ), - SCROLL_POS( 35, 2 ), - SCROLL_POS( 36, 3 ), - SCROLL_POS( 37, 3 ), - SCROLL_POS( 38, 4 ), - SCROLL_POS( 39, 4 ), - SCROLL_POS( 40, 5 ), - SCROLL_POS( 41, 6 ), - SCROLL_POS( 42, 6 ), - SCROLL_POS( 43, 7 ), - SCROLL_POS( 44, 7 ), - SCROLL_POS( 45, 7 ), - SCROLL_POS( 46, 8 ), - SCROLL_POS( 47, 8 ), - SCROLL_POS( 48, 9 ), - SCROLL_POS( 49, 9 ), - SCROLL_POS( 50, 9 ), - SCROLL_POS( 51, 9 ), - SCROLL_POS( 52, 9 ), - -1, + SCROLL_POS( 34, 1 ), + SCROLL_POS( 35, 2 ), + SCROLL_POS( 36, 3 ), + SCROLL_POS( 37, 3 ), + SCROLL_POS( 38, 4 ), + SCROLL_POS( 39, 4 ), + SCROLL_POS( 40, 5 ), + SCROLL_POS( 41, 6 ), + SCROLL_POS( 42, 6 ), + SCROLL_POS( 43, 7 ), + SCROLL_POS( 44, 7 ), + SCROLL_POS( 45, 7 ), + SCROLL_POS( 46, 8 ), + SCROLL_POS( 47, 8 ), + SCROLL_POS( 48, 9 ), + SCROLL_POS( 49, 9 ), + SCROLL_POS( 50, 9 ), + SCROLL_POS( 51, 9 ), + SCROLL_POS( 52, 9 ), + -1, }; static const sint16 _scrollpos11[] = { - SCROLL_POS( 14, 10 ), - SCROLL_POS( 15, 9 ), - SCROLL_POS( 16, 9 ), - SCROLL_POS( 17, 8 ), - SCROLL_POS( 18, 8 ), - SCROLL_POS( 19, 7 ), - SCROLL_POS( 20, 7 ), - SCROLL_POS( 21, 6 ), - SCROLL_POS( 22, 6 ), - SCROLL_POS( 23, 5 ), - SCROLL_POS( 24, 5 ), - SCROLL_POS( 25, 4 ), - SCROLL_POS( 26, 4 ), - SCROLL_POS( 27, 3 ), - SCROLL_POS( 28, 3 ), - SCROLL_POS( 29, 2 ), - SCROLL_POS( 30, 2 ), - SCROLL_POS( 31, 1 ), - SCROLL_POS( 32, 1 ), - SCROLL_POS( 33, 0 ), - SCROLL_POS( 34, 0 ), - -1, + SCROLL_POS( 14, 10 ), + SCROLL_POS( 15, 9 ), + SCROLL_POS( 16, 9 ), + SCROLL_POS( 17, 8 ), + SCROLL_POS( 18, 8 ), + SCROLL_POS( 19, 7 ), + SCROLL_POS( 20, 7 ), + SCROLL_POS( 21, 6 ), + SCROLL_POS( 22, 6 ), + SCROLL_POS( 23, 5 ), + SCROLL_POS( 24, 5 ), + SCROLL_POS( 25, 4 ), + SCROLL_POS( 26, 4 ), + SCROLL_POS( 27, 3 ), + SCROLL_POS( 28, 3 ), + SCROLL_POS( 29, 2 ), + SCROLL_POS( 30, 2 ), + SCROLL_POS( 31, 1 ), + SCROLL_POS( 32, 1 ), + SCROLL_POS( 33, 0 ), + SCROLL_POS( 34, 0 ), + -1, }; static const sint16 _scrollpos12[] = { - SCROLL_POS( 33, 1 ), - SCROLL_POS( 34, 2 ), - SCROLL_POS( 35, 2 ), - SCROLL_POS( 36, 3 ), - SCROLL_POS( 37, 3 ), - SCROLL_POS( 38, 4 ), - SCROLL_POS( 39, 4 ), - SCROLL_POS( 40, 5 ), - SCROLL_POS( 41, 5 ), - SCROLL_POS( 42, 6 ), - SCROLL_POS( 43, 6 ), - SCROLL_POS( 44, 7 ), - SCROLL_POS( 45, 7 ), - SCROLL_POS( 46, 8 ), - SCROLL_POS( 47, 8 ), - SCROLL_POS( 48, 9 ), - SCROLL_POS( 49, 9 ), - SCROLL_POS( 50, 10 ), - SCROLL_POS( 51, 10 ), - SCROLL_POS( 52, 11 ), - SCROLL_POS( 53, 11 ), - -1, + SCROLL_POS( 33, 1 ), + SCROLL_POS( 34, 2 ), + SCROLL_POS( 35, 2 ), + SCROLL_POS( 36, 3 ), + SCROLL_POS( 37, 3 ), + SCROLL_POS( 38, 4 ), + SCROLL_POS( 39, 4 ), + SCROLL_POS( 40, 5 ), + SCROLL_POS( 41, 5 ), + SCROLL_POS( 42, 6 ), + SCROLL_POS( 43, 6 ), + SCROLL_POS( 44, 7 ), + SCROLL_POS( 45, 7 ), + SCROLL_POS( 46, 8 ), + SCROLL_POS( 47, 8 ), + SCROLL_POS( 48, 9 ), + SCROLL_POS( 49, 9 ), + SCROLL_POS( 50, 10 ), + SCROLL_POS( 51, 10 ), + SCROLL_POS( 52, 11 ), + SCROLL_POS( 53, 11 ), + -1, }; static const sint16 _scrollpos13[] = { - SCROLL_POS( 12, 11 ), - SCROLL_POS( 13, 10 ), - SCROLL_POS( 14, 10 ), - SCROLL_POS( 15, 9 ), - SCROLL_POS( 16, 9 ), - SCROLL_POS( 17, 8 ), - SCROLL_POS( 18, 8 ), - SCROLL_POS( 19, 7 ), - SCROLL_POS( 20, 7 ), - SCROLL_POS( 21, 6 ), - SCROLL_POS( 22, 6 ), - SCROLL_POS( 23, 5 ), - SCROLL_POS( 24, 5 ), - SCROLL_POS( 25, 4 ), - SCROLL_POS( 26, 4 ), - SCROLL_POS( 27, 3 ), - SCROLL_POS( 28, 3 ), - SCROLL_POS( 29, 2 ), - SCROLL_POS( 30, 2 ), - SCROLL_POS( 31, 1 ), - -1, + SCROLL_POS( 12, 11 ), + SCROLL_POS( 13, 10 ), + SCROLL_POS( 14, 10 ), + SCROLL_POS( 15, 9 ), + SCROLL_POS( 16, 9 ), + SCROLL_POS( 17, 8 ), + SCROLL_POS( 18, 8 ), + SCROLL_POS( 19, 7 ), + SCROLL_POS( 20, 7 ), + SCROLL_POS( 21, 6 ), + SCROLL_POS( 22, 6 ), + SCROLL_POS( 23, 5 ), + SCROLL_POS( 24, 5 ), + SCROLL_POS( 25, 4 ), + SCROLL_POS( 26, 4 ), + SCROLL_POS( 27, 3 ), + SCROLL_POS( 28, 3 ), + SCROLL_POS( 29, 2 ), + SCROLL_POS( 30, 2 ), + SCROLL_POS( 31, 1 ), + -1, }; static const sint16 _scrollpos14[] = { - SCROLL_POS( 33, 1 ), - SCROLL_POS( 34, 2 ), - SCROLL_POS( 35, 2 ), - SCROLL_POS( 36, 3 ), - SCROLL_POS( 37, 3 ), - SCROLL_POS( 38, 4 ), - SCROLL_POS( 39, 4 ), - SCROLL_POS( 40, 5 ), - SCROLL_POS( 41, 5 ), - SCROLL_POS( 42, 6 ), - SCROLL_POS( 43, 6 ), - SCROLL_POS( 44, 7 ), - SCROLL_POS( 45, 7 ), - SCROLL_POS( 46, 8 ), - SCROLL_POS( 47, 8 ), - SCROLL_POS( 48, 9 ), - SCROLL_POS( 49, 9 ), - SCROLL_POS( 50, 10 ), - SCROLL_POS( 51, 10 ), - SCROLL_POS( 52, 11 ), - SCROLL_POS( 53, 11 ), - -1, + SCROLL_POS( 33, 1 ), + SCROLL_POS( 34, 2 ), + SCROLL_POS( 35, 2 ), + SCROLL_POS( 36, 3 ), + SCROLL_POS( 37, 3 ), + SCROLL_POS( 38, 4 ), + SCROLL_POS( 39, 4 ), + SCROLL_POS( 40, 5 ), + SCROLL_POS( 41, 5 ), + SCROLL_POS( 42, 6 ), + SCROLL_POS( 43, 6 ), + SCROLL_POS( 44, 7 ), + SCROLL_POS( 45, 7 ), + SCROLL_POS( 46, 8 ), + SCROLL_POS( 47, 8 ), + SCROLL_POS( 48, 9 ), + SCROLL_POS( 49, 9 ), + SCROLL_POS( 50, 10 ), + SCROLL_POS( 51, 10 ), + SCROLL_POS( 52, 11 ), + SCROLL_POS( 53, 11 ), + -1, }; static const sint16 _scrollpos15[] = { - SCROLL_POS( 10, 10 ), - SCROLL_POS( 11, 10 ), - SCROLL_POS( 12, 9 ), - SCROLL_POS( 13, 9 ), - SCROLL_POS( 14, 8 ), - SCROLL_POS( 15, 8 ), - SCROLL_POS( 16, 7 ), - SCROLL_POS( 17, 7 ), - SCROLL_POS( 18, 6 ), - SCROLL_POS( 19, 6 ), - SCROLL_POS( 20, 5 ), - SCROLL_POS( 21, 5 ), - SCROLL_POS( 22, 4 ), - SCROLL_POS( 23, 4 ), - SCROLL_POS( 24, 3 ), - SCROLL_POS( 25, 3 ), - SCROLL_POS( 26, 2 ), - SCROLL_POS( 27, 2 ), - SCROLL_POS( 28, 1 ), - SCROLL_POS( 29, 1 ), - SCROLL_POS( 30, 0 ), - SCROLL_POS( 31, 0 ), - -1, + SCROLL_POS( 10, 10 ), + SCROLL_POS( 11, 10 ), + SCROLL_POS( 12, 9 ), + SCROLL_POS( 13, 9 ), + SCROLL_POS( 14, 8 ), + SCROLL_POS( 15, 8 ), + SCROLL_POS( 16, 7 ), + SCROLL_POS( 17, 7 ), + SCROLL_POS( 18, 6 ), + SCROLL_POS( 19, 6 ), + SCROLL_POS( 20, 5 ), + SCROLL_POS( 21, 5 ), + SCROLL_POS( 22, 4 ), + SCROLL_POS( 23, 4 ), + SCROLL_POS( 24, 3 ), + SCROLL_POS( 25, 3 ), + SCROLL_POS( 26, 2 ), + SCROLL_POS( 27, 2 ), + SCROLL_POS( 28, 1 ), + SCROLL_POS( 29, 1 ), + SCROLL_POS( 30, 0 ), + SCROLL_POS( 31, 0 ), + -1, }; static const sint16 _scrollpos16[] = { - SCROLL_POS( 33, 0 ), - SCROLL_POS( 34, 0 ), - SCROLL_POS( 35, 1 ), - SCROLL_POS( 36, 1 ), - SCROLL_POS( 37, 2 ), - SCROLL_POS( 38, 2 ), - SCROLL_POS( 39, 3 ), - SCROLL_POS( 40, 3 ), - SCROLL_POS( 41, 4 ), - SCROLL_POS( 42, 4 ), - SCROLL_POS( 43, 5 ), - SCROLL_POS( 44, 5 ), - SCROLL_POS( 45, 6 ), - SCROLL_POS( 46, 6 ), - SCROLL_POS( 47, 7 ), - SCROLL_POS( 48, 7 ), - SCROLL_POS( 49, 8 ), - SCROLL_POS( 50, 8 ), - SCROLL_POS( 51, 9 ), - SCROLL_POS( 52, 9 ), - SCROLL_POS( 53, 10 ), - SCROLL_POS( 54, 10 ), - -1, + SCROLL_POS( 33, 0 ), + SCROLL_POS( 34, 0 ), + SCROLL_POS( 35, 1 ), + SCROLL_POS( 36, 1 ), + SCROLL_POS( 37, 2 ), + SCROLL_POS( 38, 2 ), + SCROLL_POS( 39, 3 ), + SCROLL_POS( 40, 3 ), + SCROLL_POS( 41, 4 ), + SCROLL_POS( 42, 4 ), + SCROLL_POS( 43, 5 ), + SCROLL_POS( 44, 5 ), + SCROLL_POS( 45, 6 ), + SCROLL_POS( 46, 6 ), + SCROLL_POS( 47, 7 ), + SCROLL_POS( 48, 7 ), + SCROLL_POS( 49, 8 ), + SCROLL_POS( 50, 8 ), + SCROLL_POS( 51, 9 ), + SCROLL_POS( 52, 9 ), + SCROLL_POS( 53, 10 ), + SCROLL_POS( 54, 10 ), + -1, }; static const sint16 _scrollpos17[] = { - SCROLL_POS( 6, 11 ), - SCROLL_POS( 7, 11 ), - SCROLL_POS( 8, 10 ), - SCROLL_POS( 9, 10 ), - SCROLL_POS( 10, 9 ), - SCROLL_POS( 11, 9 ), - SCROLL_POS( 12, 8 ), - SCROLL_POS( 13, 8 ), - SCROLL_POS( 14, 7 ), - SCROLL_POS( 15, 7 ), - SCROLL_POS( 16, 6 ), - SCROLL_POS( 17, 6 ), - SCROLL_POS( 18, 5 ), - SCROLL_POS( 19, 5 ), - SCROLL_POS( 20, 4 ), - SCROLL_POS( 21, 4 ), - SCROLL_POS( 22, 3 ), - SCROLL_POS( 23, 3 ), - SCROLL_POS( 24, 2 ), - SCROLL_POS( 25, 2 ), - SCROLL_POS( 26, 1 ), - SCROLL_POS( 27, 1 ), - SCROLL_POS( 28, 0 ), - SCROLL_POS( 29, 0 ), - -1, + SCROLL_POS( 6, 11 ), + SCROLL_POS( 7, 11 ), + SCROLL_POS( 8, 10 ), + SCROLL_POS( 9, 10 ), + SCROLL_POS( 10, 9 ), + SCROLL_POS( 11, 9 ), + SCROLL_POS( 12, 8 ), + SCROLL_POS( 13, 8 ), + SCROLL_POS( 14, 7 ), + SCROLL_POS( 15, 7 ), + SCROLL_POS( 16, 6 ), + SCROLL_POS( 17, 6 ), + SCROLL_POS( 18, 5 ), + SCROLL_POS( 19, 5 ), + SCROLL_POS( 20, 4 ), + SCROLL_POS( 21, 4 ), + SCROLL_POS( 22, 3 ), + SCROLL_POS( 23, 3 ), + SCROLL_POS( 24, 2 ), + SCROLL_POS( 25, 2 ), + SCROLL_POS( 26, 1 ), + SCROLL_POS( 27, 1 ), + SCROLL_POS( 28, 0 ), + SCROLL_POS( 29, 0 ), + -1, }; static const sint16 _scrollpos18[] = { - SCROLL_POS( 34, 0 ), - SCROLL_POS( 35, 0 ), - SCROLL_POS( 36, 1 ), - SCROLL_POS( 37, 1 ), - SCROLL_POS( 38, 2 ), - SCROLL_POS( 39, 2 ), - SCROLL_POS( 40, 3 ), - SCROLL_POS( 41, 3 ), - SCROLL_POS( 42, 4 ), - SCROLL_POS( 43, 4 ), - SCROLL_POS( 44, 5 ), - SCROLL_POS( 45, 5 ), - SCROLL_POS( 46, 6 ), - SCROLL_POS( 47, 6 ), - SCROLL_POS( 48, 7 ), - SCROLL_POS( 49, 7 ), - SCROLL_POS( 50, 8 ), - SCROLL_POS( 51, 8 ), - SCROLL_POS( 52, 9 ), - SCROLL_POS( 53, 9 ), - SCROLL_POS( 54, 10 ), - SCROLL_POS( 55, 10 ), - SCROLL_POS( 56, 11 ), - SCROLL_POS( 57, 11 ), - -1, + SCROLL_POS( 34, 0 ), + SCROLL_POS( 35, 0 ), + SCROLL_POS( 36, 1 ), + SCROLL_POS( 37, 1 ), + SCROLL_POS( 38, 2 ), + SCROLL_POS( 39, 2 ), + SCROLL_POS( 40, 3 ), + SCROLL_POS( 41, 3 ), + SCROLL_POS( 42, 4 ), + SCROLL_POS( 43, 4 ), + SCROLL_POS( 44, 5 ), + SCROLL_POS( 45, 5 ), + SCROLL_POS( 46, 6 ), + SCROLL_POS( 47, 6 ), + SCROLL_POS( 48, 7 ), + SCROLL_POS( 49, 7 ), + SCROLL_POS( 50, 8 ), + SCROLL_POS( 51, 8 ), + SCROLL_POS( 52, 9 ), + SCROLL_POS( 53, 9 ), + SCROLL_POS( 54, 10 ), + SCROLL_POS( 55, 10 ), + SCROLL_POS( 56, 11 ), + SCROLL_POS( 57, 11 ), + -1, }; static const sint16 _scrollpos19[] = { - SCROLL_POS( 13, 1 ), - SCROLL_POS( 14, 1 ), - SCROLL_POS( 15, 2 ), - SCROLL_POS( 16, 2 ), - SCROLL_POS( 17, 3 ), - SCROLL_POS( 18, 3 ), - SCROLL_POS( 19, 4 ), - SCROLL_POS( 20, 4 ), - SCROLL_POS( 21, 5 ), - SCROLL_POS( 22, 5 ), - SCROLL_POS( 23, 6 ), - SCROLL_POS( 24, 6 ), - SCROLL_POS( 25, 7 ), - SCROLL_POS( 26, 7 ), - SCROLL_POS( 27, 8 ), - SCROLL_POS( 28, 8 ), - SCROLL_POS( 29, 9 ), - SCROLL_POS( 30, 9 ), - SCROLL_POS( 31, 10 ), - SCROLL_POS( 32, 10 ), - SCROLL_POS( 33, 10 ), - SCROLL_POS( 34, 9 ), - SCROLL_POS( 35, 9 ), - SCROLL_POS( 36, 8 ), - SCROLL_POS( 37, 8 ), - SCROLL_POS( 38, 7 ), - SCROLL_POS( 39, 7 ), - SCROLL_POS( 40, 6 ), - SCROLL_POS( 41, 6 ), - SCROLL_POS( 42, 5 ), - SCROLL_POS( 43, 5 ), - SCROLL_POS( 44, 4 ), - SCROLL_POS( 45, 4 ), - SCROLL_POS( 46, 3 ), - SCROLL_POS( 47, 3 ), - SCROLL_POS( 48, 2 ), - SCROLL_POS( 49, 2 ), - SCROLL_POS( 50, 1 ), - SCROLL_POS( 51, 1 ), - -1, + SCROLL_POS( 13, 1 ), + SCROLL_POS( 14, 1 ), + SCROLL_POS( 15, 2 ), + SCROLL_POS( 16, 2 ), + SCROLL_POS( 17, 3 ), + SCROLL_POS( 18, 3 ), + SCROLL_POS( 19, 4 ), + SCROLL_POS( 20, 4 ), + SCROLL_POS( 21, 5 ), + SCROLL_POS( 22, 5 ), + SCROLL_POS( 23, 6 ), + SCROLL_POS( 24, 6 ), + SCROLL_POS( 25, 7 ), + SCROLL_POS( 26, 7 ), + SCROLL_POS( 27, 8 ), + SCROLL_POS( 28, 8 ), + SCROLL_POS( 29, 9 ), + SCROLL_POS( 30, 9 ), + SCROLL_POS( 31, 10 ), + SCROLL_POS( 32, 10 ), + SCROLL_POS( 33, 10 ), + SCROLL_POS( 34, 9 ), + SCROLL_POS( 35, 9 ), + SCROLL_POS( 36, 8 ), + SCROLL_POS( 37, 8 ), + SCROLL_POS( 38, 7 ), + SCROLL_POS( 39, 7 ), + SCROLL_POS( 40, 6 ), + SCROLL_POS( 41, 6 ), + SCROLL_POS( 42, 5 ), + SCROLL_POS( 43, 5 ), + SCROLL_POS( 44, 4 ), + SCROLL_POS( 45, 4 ), + SCROLL_POS( 46, 3 ), + SCROLL_POS( 47, 3 ), + SCROLL_POS( 48, 2 ), + SCROLL_POS( 49, 2 ), + SCROLL_POS( 50, 1 ), + SCROLL_POS( 51, 1 ), + -1, }; static const sint16 _scrollpos20[] = { - SCROLL_POS( 12, 1 ), - SCROLL_POS( 13, 3 ), - SCROLL_POS( 14, 4 ), - SCROLL_POS( 15, 5 ), - SCROLL_POS( 16, 6 ), - SCROLL_POS( 17, 7 ), - SCROLL_POS( 18, 7 ), - SCROLL_POS( 19, 8 ), - SCROLL_POS( 20, 8 ), - SCROLL_POS( 21, 9 ), - SCROLL_POS( 22, 9 ), - SCROLL_POS( 23, 9 ), - SCROLL_POS( 24, 10 ), - SCROLL_POS( 25, 10 ), - SCROLL_POS( 26, 10 ), - SCROLL_POS( 27, 10 ), - SCROLL_POS( 28, 10 ), - SCROLL_POS( 29, 10 ), - SCROLL_POS( 30, 10 ), - SCROLL_POS( 31, 10 ), - SCROLL_POS( 32, 10 ), - SCROLL_POS( 33, 10 ), - SCROLL_POS( 34, 10 ), - SCROLL_POS( 35, 10 ), - SCROLL_POS( 36, 10 ), - SCROLL_POS( 37, 10 ), - SCROLL_POS( 38, 10 ), - SCROLL_POS( 39, 9 ), - SCROLL_POS( 40, 9 ), - SCROLL_POS( 41, 9 ), - SCROLL_POS( 42, 8 ), - SCROLL_POS( 43, 8 ), - SCROLL_POS( 44, 7 ), - SCROLL_POS( 45, 7 ), - SCROLL_POS( 46, 6 ), - SCROLL_POS( 47, 5 ), - SCROLL_POS( 48, 4 ), - SCROLL_POS( 49, 3 ), - -1, + SCROLL_POS( 12, 1 ), + SCROLL_POS( 13, 3 ), + SCROLL_POS( 14, 4 ), + SCROLL_POS( 15, 5 ), + SCROLL_POS( 16, 6 ), + SCROLL_POS( 17, 7 ), + SCROLL_POS( 18, 7 ), + SCROLL_POS( 19, 8 ), + SCROLL_POS( 20, 8 ), + SCROLL_POS( 21, 9 ), + SCROLL_POS( 22, 9 ), + SCROLL_POS( 23, 9 ), + SCROLL_POS( 24, 10 ), + SCROLL_POS( 25, 10 ), + SCROLL_POS( 26, 10 ), + SCROLL_POS( 27, 10 ), + SCROLL_POS( 28, 10 ), + SCROLL_POS( 29, 10 ), + SCROLL_POS( 30, 10 ), + SCROLL_POS( 31, 10 ), + SCROLL_POS( 32, 10 ), + SCROLL_POS( 33, 10 ), + SCROLL_POS( 34, 10 ), + SCROLL_POS( 35, 10 ), + SCROLL_POS( 36, 10 ), + SCROLL_POS( 37, 10 ), + SCROLL_POS( 38, 10 ), + SCROLL_POS( 39, 9 ), + SCROLL_POS( 40, 9 ), + SCROLL_POS( 41, 9 ), + SCROLL_POS( 42, 8 ), + SCROLL_POS( 43, 8 ), + SCROLL_POS( 44, 7 ), + SCROLL_POS( 45, 7 ), + SCROLL_POS( 46, 6 ), + SCROLL_POS( 47, 5 ), + SCROLL_POS( 48, 4 ), + SCROLL_POS( 49, 3 ), + -1, }; static const sint16 _scrollpos21[] = { - SCROLL_POS( 12, 1 ), - SCROLL_POS( 13, 1 ), - SCROLL_POS( 14, 2 ), - SCROLL_POS( 15, 2 ), - SCROLL_POS( 16, 3 ), - SCROLL_POS( 17, 3 ), - SCROLL_POS( 18, 4 ), - SCROLL_POS( 19, 4 ), - SCROLL_POS( 20, 5 ), - SCROLL_POS( 21, 5 ), - SCROLL_POS( 22, 6 ), - SCROLL_POS( 23, 6 ), - SCROLL_POS( 24, 7 ), - SCROLL_POS( 25, 7 ), - SCROLL_POS( 26, 8 ), - SCROLL_POS( 27, 8 ), - SCROLL_POS( 28, 9 ), - SCROLL_POS( 29, 9 ), - SCROLL_POS( 30, 10 ), - SCROLL_POS( 31, 10 ), - SCROLL_POS( 32, 10 ), - SCROLL_POS( 33, 9 ), - SCROLL_POS( 34, 9 ), - SCROLL_POS( 35, 8 ), - SCROLL_POS( 36, 8 ), - SCROLL_POS( 37, 7 ), - SCROLL_POS( 38, 7 ), - SCROLL_POS( 39, 6 ), - SCROLL_POS( 40, 6 ), - SCROLL_POS( 41, 5 ), - SCROLL_POS( 42, 5 ), - SCROLL_POS( 43, 4 ), - SCROLL_POS( 44, 4 ), - SCROLL_POS( 45, 3 ), - SCROLL_POS( 46, 3 ), - SCROLL_POS( 47, 2 ), - SCROLL_POS( 48, 2 ), - SCROLL_POS( 49, 1 ), - -1, + SCROLL_POS( 12, 1 ), + SCROLL_POS( 13, 1 ), + SCROLL_POS( 14, 2 ), + SCROLL_POS( 15, 2 ), + SCROLL_POS( 16, 3 ), + SCROLL_POS( 17, 3 ), + SCROLL_POS( 18, 4 ), + SCROLL_POS( 19, 4 ), + SCROLL_POS( 20, 5 ), + SCROLL_POS( 21, 5 ), + SCROLL_POS( 22, 6 ), + SCROLL_POS( 23, 6 ), + SCROLL_POS( 24, 7 ), + SCROLL_POS( 25, 7 ), + SCROLL_POS( 26, 8 ), + SCROLL_POS( 27, 8 ), + SCROLL_POS( 28, 9 ), + SCROLL_POS( 29, 9 ), + SCROLL_POS( 30, 10 ), + SCROLL_POS( 31, 10 ), + SCROLL_POS( 32, 10 ), + SCROLL_POS( 33, 9 ), + SCROLL_POS( 34, 9 ), + SCROLL_POS( 35, 8 ), + SCROLL_POS( 36, 8 ), + SCROLL_POS( 37, 7 ), + SCROLL_POS( 38, 7 ), + SCROLL_POS( 39, 6 ), + SCROLL_POS( 40, 6 ), + SCROLL_POS( 41, 5 ), + SCROLL_POS( 42, 5 ), + SCROLL_POS( 43, 4 ), + SCROLL_POS( 44, 4 ), + SCROLL_POS( 45, 3 ), + SCROLL_POS( 46, 3 ), + SCROLL_POS( 47, 2 ), + SCROLL_POS( 48, 2 ), + SCROLL_POS( 49, 1 ), + -1, }; static const sint16 _scrollpos22[] = { - SCROLL_POS( 16, 1 ), - SCROLL_POS( 17, 1 ), - SCROLL_POS( 18, 2 ), - SCROLL_POS( 19, 2 ), - SCROLL_POS( 20, 3 ), - SCROLL_POS( 21, 3 ), - SCROLL_POS( 22, 4 ), - SCROLL_POS( 23, 4 ), - SCROLL_POS( 24, 5 ), - SCROLL_POS( 25, 5 ), - SCROLL_POS( 26, 6 ), - SCROLL_POS( 27, 6 ), - SCROLL_POS( 28, 6 ), - SCROLL_POS( 29, 6 ), - SCROLL_POS( 30, 6 ), - SCROLL_POS( 31, 6 ), - SCROLL_POS( 32, 6 ), - SCROLL_POS( 33, 6 ), - SCROLL_POS( 34, 6 ), - SCROLL_POS( 35, 6 ), - SCROLL_POS( 36, 6 ), - SCROLL_POS( 37, 6 ), - SCROLL_POS( 38, 6 ), - SCROLL_POS( 39, 5 ), - SCROLL_POS( 40, 5 ), - SCROLL_POS( 41, 4 ), - SCROLL_POS( 42, 4 ), - SCROLL_POS( 43, 3 ), - SCROLL_POS( 44, 3 ), - SCROLL_POS( 45, 2 ), - SCROLL_POS( 46, 2 ), - SCROLL_POS( 47, 1 ), - SCROLL_POS( 48, 1 ), - -1, + SCROLL_POS( 16, 1 ), + SCROLL_POS( 17, 1 ), + SCROLL_POS( 18, 2 ), + SCROLL_POS( 19, 2 ), + SCROLL_POS( 20, 3 ), + SCROLL_POS( 21, 3 ), + SCROLL_POS( 22, 4 ), + SCROLL_POS( 23, 4 ), + SCROLL_POS( 24, 5 ), + SCROLL_POS( 25, 5 ), + SCROLL_POS( 26, 6 ), + SCROLL_POS( 27, 6 ), + SCROLL_POS( 28, 6 ), + SCROLL_POS( 29, 6 ), + SCROLL_POS( 30, 6 ), + SCROLL_POS( 31, 6 ), + SCROLL_POS( 32, 6 ), + SCROLL_POS( 33, 6 ), + SCROLL_POS( 34, 6 ), + SCROLL_POS( 35, 6 ), + SCROLL_POS( 36, 6 ), + SCROLL_POS( 37, 6 ), + SCROLL_POS( 38, 6 ), + SCROLL_POS( 39, 5 ), + SCROLL_POS( 40, 5 ), + SCROLL_POS( 41, 4 ), + SCROLL_POS( 42, 4 ), + SCROLL_POS( 43, 3 ), + SCROLL_POS( 44, 3 ), + SCROLL_POS( 45, 2 ), + SCROLL_POS( 46, 2 ), + SCROLL_POS( 47, 1 ), + SCROLL_POS( 48, 1 ), + -1, }; static const sint16 _scrollpos23[] = { - SCROLL_POS( 15, 1 ), - SCROLL_POS( 16, 2 ), - SCROLL_POS( 17, 2 ), - SCROLL_POS( 18, 3 ), - SCROLL_POS( 19, 4 ), - SCROLL_POS( 20, 5 ), - SCROLL_POS( 21, 5 ), - SCROLL_POS( 22, 5 ), - SCROLL_POS( 23, 6 ), - SCROLL_POS( 24, 6 ), - SCROLL_POS( 25, 6 ), - SCROLL_POS( 26, 6 ), - SCROLL_POS( 27, 7 ), - SCROLL_POS( 28, 7 ), - SCROLL_POS( 29, 7 ), - SCROLL_POS( 30, 7 ), - SCROLL_POS( 31, 7 ), - SCROLL_POS( 32, 7 ), - SCROLL_POS( 33, 7 ), - SCROLL_POS( 34, 7 ), - SCROLL_POS( 35, 7 ), - SCROLL_POS( 36, 7 ), - SCROLL_POS( 37, 6 ), - SCROLL_POS( 38, 6 ), - SCROLL_POS( 39, 6 ), - SCROLL_POS( 40, 6 ), - SCROLL_POS( 41, 5 ), - SCROLL_POS( 42, 5 ), - SCROLL_POS( 43, 5 ), - SCROLL_POS( 44, 4 ), - SCROLL_POS( 45, 3 ), - SCROLL_POS( 46, 3 ), - SCROLL_POS( 47, 2 ), - SCROLL_POS( 48, 1 ), - -1, + SCROLL_POS( 15, 1 ), + SCROLL_POS( 16, 2 ), + SCROLL_POS( 17, 2 ), + SCROLL_POS( 18, 3 ), + SCROLL_POS( 19, 4 ), + SCROLL_POS( 20, 5 ), + SCROLL_POS( 21, 5 ), + SCROLL_POS( 22, 5 ), + SCROLL_POS( 23, 6 ), + SCROLL_POS( 24, 6 ), + SCROLL_POS( 25, 6 ), + SCROLL_POS( 26, 6 ), + SCROLL_POS( 27, 7 ), + SCROLL_POS( 28, 7 ), + SCROLL_POS( 29, 7 ), + SCROLL_POS( 30, 7 ), + SCROLL_POS( 31, 7 ), + SCROLL_POS( 32, 7 ), + SCROLL_POS( 33, 7 ), + SCROLL_POS( 34, 7 ), + SCROLL_POS( 35, 7 ), + SCROLL_POS( 36, 7 ), + SCROLL_POS( 37, 6 ), + SCROLL_POS( 38, 6 ), + SCROLL_POS( 39, 6 ), + SCROLL_POS( 40, 6 ), + SCROLL_POS( 41, 5 ), + SCROLL_POS( 42, 5 ), + SCROLL_POS( 43, 5 ), + SCROLL_POS( 44, 4 ), + SCROLL_POS( 45, 3 ), + SCROLL_POS( 46, 3 ), + SCROLL_POS( 47, 2 ), + SCROLL_POS( 48, 1 ), + -1, }; static const sint16 _scrollpos24[] = { - SCROLL_POS( 8, 9 ), - SCROLL_POS( 9, 9 ), - SCROLL_POS( 10, 8 ), - SCROLL_POS( 11, 8 ), - SCROLL_POS( 12, 7 ), - SCROLL_POS( 13, 7 ), - SCROLL_POS( 14, 6 ), - SCROLL_POS( 15, 6 ), - SCROLL_POS( 16, 5 ), - SCROLL_POS( 17, 5 ), - SCROLL_POS( 18, 4 ), - SCROLL_POS( 19, 4 ), - SCROLL_POS( 20, 3 ), - SCROLL_POS( 21, 3 ), - SCROLL_POS( 22, 2 ), - SCROLL_POS( 23, 2 ), - SCROLL_POS( 24, 1 ), - SCROLL_POS( 25, 1 ), - SCROLL_POS( 26, 0 ), - SCROLL_POS( 27, 0 ), - -1, + SCROLL_POS( 8, 9 ), + SCROLL_POS( 9, 9 ), + SCROLL_POS( 10, 8 ), + SCROLL_POS( 11, 8 ), + SCROLL_POS( 12, 7 ), + SCROLL_POS( 13, 7 ), + SCROLL_POS( 14, 6 ), + SCROLL_POS( 15, 6 ), + SCROLL_POS( 16, 5 ), + SCROLL_POS( 17, 5 ), + SCROLL_POS( 18, 4 ), + SCROLL_POS( 19, 4 ), + SCROLL_POS( 20, 3 ), + SCROLL_POS( 21, 3 ), + SCROLL_POS( 22, 2 ), + SCROLL_POS( 23, 2 ), + SCROLL_POS( 24, 1 ), + SCROLL_POS( 25, 1 ), + SCROLL_POS( 26, 0 ), + SCROLL_POS( 27, 0 ), + -1, }; static const sint16 _scrollpos25[] = { - SCROLL_POS( 36, 0 ), - SCROLL_POS( 37, 0 ), - SCROLL_POS( 38, 1 ), - SCROLL_POS( 39, 1 ), - SCROLL_POS( 40, 2 ), - SCROLL_POS( 41, 2 ), - SCROLL_POS( 42, 3 ), - SCROLL_POS( 43, 3 ), - SCROLL_POS( 44, 4 ), - SCROLL_POS( 45, 4 ), - SCROLL_POS( 46, 5 ), - SCROLL_POS( 47, 5 ), - SCROLL_POS( 48, 6 ), - SCROLL_POS( 49, 6 ), - SCROLL_POS( 50, 7 ), - SCROLL_POS( 51, 7 ), - SCROLL_POS( 52, 8 ), - SCROLL_POS( 53, 8 ), - SCROLL_POS( 54, 9 ), - SCROLL_POS( 55, 9 ), - -1, + SCROLL_POS( 36, 0 ), + SCROLL_POS( 37, 0 ), + SCROLL_POS( 38, 1 ), + SCROLL_POS( 39, 1 ), + SCROLL_POS( 40, 2 ), + SCROLL_POS( 41, 2 ), + SCROLL_POS( 42, 3 ), + SCROLL_POS( 43, 3 ), + SCROLL_POS( 44, 4 ), + SCROLL_POS( 45, 4 ), + SCROLL_POS( 46, 5 ), + SCROLL_POS( 47, 5 ), + SCROLL_POS( 48, 6 ), + SCROLL_POS( 49, 6 ), + SCROLL_POS( 50, 7 ), + SCROLL_POS( 51, 7 ), + SCROLL_POS( 52, 8 ), + SCROLL_POS( 53, 8 ), + SCROLL_POS( 54, 9 ), + SCROLL_POS( 55, 9 ), + -1, }; static const sint16 _scrollpos26[] = { - SCROLL_POS( 4, 13 ), - SCROLL_POS( 5, 13 ), - SCROLL_POS( 6, 12 ), - SCROLL_POS( 7, 12 ), - SCROLL_POS( 8, 11 ), - SCROLL_POS( 9, 11 ), - SCROLL_POS( 10, 10 ), - SCROLL_POS( 11, 10 ), - SCROLL_POS( 12, 9 ), - SCROLL_POS( 13, 9 ), - SCROLL_POS( 14, 8 ), - SCROLL_POS( 15, 8 ), - SCROLL_POS( 16, 7 ), - SCROLL_POS( 17, 7 ), - SCROLL_POS( 18, 6 ), - SCROLL_POS( 19, 6 ), - SCROLL_POS( 20, 5 ), - SCROLL_POS( 21, 5 ), - SCROLL_POS( 22, 4 ), - SCROLL_POS( 23, 4 ), - SCROLL_POS( 24, 3 ), - SCROLL_POS( 25, 3 ), - SCROLL_POS( 26, 2 ), - SCROLL_POS( 27, 2 ), - SCROLL_POS( 28, 1 ), - SCROLL_POS( 29, 1 ), - SCROLL_POS( 30, 0 ), - SCROLL_POS( 31, 0 ), - -1, + SCROLL_POS( 4, 13 ), + SCROLL_POS( 5, 13 ), + SCROLL_POS( 6, 12 ), + SCROLL_POS( 7, 12 ), + SCROLL_POS( 8, 11 ), + SCROLL_POS( 9, 11 ), + SCROLL_POS( 10, 10 ), + SCROLL_POS( 11, 10 ), + SCROLL_POS( 12, 9 ), + SCROLL_POS( 13, 9 ), + SCROLL_POS( 14, 8 ), + SCROLL_POS( 15, 8 ), + SCROLL_POS( 16, 7 ), + SCROLL_POS( 17, 7 ), + SCROLL_POS( 18, 6 ), + SCROLL_POS( 19, 6 ), + SCROLL_POS( 20, 5 ), + SCROLL_POS( 21, 5 ), + SCROLL_POS( 22, 4 ), + SCROLL_POS( 23, 4 ), + SCROLL_POS( 24, 3 ), + SCROLL_POS( 25, 3 ), + SCROLL_POS( 26, 2 ), + SCROLL_POS( 27, 2 ), + SCROLL_POS( 28, 1 ), + SCROLL_POS( 29, 1 ), + SCROLL_POS( 30, 0 ), + SCROLL_POS( 31, 0 ), + -1, }; static const sint16 _scrollpos27[] = { - SCROLL_POS( 32, 0 ), - SCROLL_POS( 33, 0 ), - SCROLL_POS( 34, 1 ), - SCROLL_POS( 35, 1 ), - SCROLL_POS( 36, 2 ), - SCROLL_POS( 37, 2 ), - SCROLL_POS( 38, 3 ), - SCROLL_POS( 39, 3 ), - SCROLL_POS( 40, 4 ), - SCROLL_POS( 41, 4 ), - SCROLL_POS( 42, 5 ), - SCROLL_POS( 43, 5 ), - SCROLL_POS( 44, 6 ), - SCROLL_POS( 45, 6 ), - SCROLL_POS( 46, 7 ), - SCROLL_POS( 47, 7 ), - SCROLL_POS( 48, 8 ), - SCROLL_POS( 49, 8 ), - SCROLL_POS( 50, 9 ), - SCROLL_POS( 51, 9 ), - SCROLL_POS( 52, 10 ), - SCROLL_POS( 53, 10 ), - SCROLL_POS( 54, 11 ), - SCROLL_POS( 55, 11 ), - SCROLL_POS( 56, 12 ), - SCROLL_POS( 57, 12 ), - SCROLL_POS( 58, 13 ), - SCROLL_POS( 59, 13 ), - -1, + SCROLL_POS( 32, 0 ), + SCROLL_POS( 33, 0 ), + SCROLL_POS( 34, 1 ), + SCROLL_POS( 35, 1 ), + SCROLL_POS( 36, 2 ), + SCROLL_POS( 37, 2 ), + SCROLL_POS( 38, 3 ), + SCROLL_POS( 39, 3 ), + SCROLL_POS( 40, 4 ), + SCROLL_POS( 41, 4 ), + SCROLL_POS( 42, 5 ), + SCROLL_POS( 43, 5 ), + SCROLL_POS( 44, 6 ), + SCROLL_POS( 45, 6 ), + SCROLL_POS( 46, 7 ), + SCROLL_POS( 47, 7 ), + SCROLL_POS( 48, 8 ), + SCROLL_POS( 49, 8 ), + SCROLL_POS( 50, 9 ), + SCROLL_POS( 51, 9 ), + SCROLL_POS( 52, 10 ), + SCROLL_POS( 53, 10 ), + SCROLL_POS( 54, 11 ), + SCROLL_POS( 55, 11 ), + SCROLL_POS( 56, 12 ), + SCROLL_POS( 57, 12 ), + SCROLL_POS( 58, 13 ), + SCROLL_POS( 59, 13 ), + -1, }; static const sint16 _scrollpos28[] = { - SCROLL_POS( 6, 13 ), - SCROLL_POS( 7, 13 ), - SCROLL_POS( 8, 12 ), - SCROLL_POS( 9, 12 ), - SCROLL_POS( 10, 11 ), - SCROLL_POS( 11, 11 ), - SCROLL_POS( 12, 10 ), - SCROLL_POS( 13, 10 ), - SCROLL_POS( 14, 9 ), - SCROLL_POS( 15, 9 ), - SCROLL_POS( 16, 8 ), - SCROLL_POS( 17, 8 ), - SCROLL_POS( 18, 7 ), - SCROLL_POS( 19, 7 ), - SCROLL_POS( 20, 6 ), - SCROLL_POS( 21, 6 ), - SCROLL_POS( 22, 5 ), - SCROLL_POS( 23, 5 ), - SCROLL_POS( 24, 4 ), - SCROLL_POS( 25, 4 ), - SCROLL_POS( 26, 3 ), - SCROLL_POS( 27, 3 ), - SCROLL_POS( 28, 2 ), - SCROLL_POS( 29, 2 ), - SCROLL_POS( 30, 1 ), - SCROLL_POS( 31, 1 ), - SCROLL_POS( 32, 0 ), - SCROLL_POS( 33, 0 ), - -1, + SCROLL_POS( 6, 13 ), + SCROLL_POS( 7, 13 ), + SCROLL_POS( 8, 12 ), + SCROLL_POS( 9, 12 ), + SCROLL_POS( 10, 11 ), + SCROLL_POS( 11, 11 ), + SCROLL_POS( 12, 10 ), + SCROLL_POS( 13, 10 ), + SCROLL_POS( 14, 9 ), + SCROLL_POS( 15, 9 ), + SCROLL_POS( 16, 8 ), + SCROLL_POS( 17, 8 ), + SCROLL_POS( 18, 7 ), + SCROLL_POS( 19, 7 ), + SCROLL_POS( 20, 6 ), + SCROLL_POS( 21, 6 ), + SCROLL_POS( 22, 5 ), + SCROLL_POS( 23, 5 ), + SCROLL_POS( 24, 4 ), + SCROLL_POS( 25, 4 ), + SCROLL_POS( 26, 3 ), + SCROLL_POS( 27, 3 ), + SCROLL_POS( 28, 2 ), + SCROLL_POS( 29, 2 ), + SCROLL_POS( 30, 1 ), + SCROLL_POS( 31, 1 ), + SCROLL_POS( 32, 0 ), + SCROLL_POS( 33, 0 ), + -1, }; static const sint16 _scrollpos29[] = { - SCROLL_POS( 30, 0 ), - SCROLL_POS( 31, 0 ), - SCROLL_POS( 32, 1 ), - SCROLL_POS( 33, 1 ), - SCROLL_POS( 34, 2 ), - SCROLL_POS( 35, 2 ), - SCROLL_POS( 36, 3 ), - SCROLL_POS( 37, 3 ), - SCROLL_POS( 38, 4 ), - SCROLL_POS( 39, 4 ), - SCROLL_POS( 40, 5 ), - SCROLL_POS( 41, 5 ), - SCROLL_POS( 42, 6 ), - SCROLL_POS( 43, 6 ), - SCROLL_POS( 44, 7 ), - SCROLL_POS( 45, 7 ), - SCROLL_POS( 46, 8 ), - SCROLL_POS( 47, 8 ), - SCROLL_POS( 48, 9 ), - SCROLL_POS( 49, 9 ), - SCROLL_POS( 50, 10 ), - SCROLL_POS( 51, 10 ), - SCROLL_POS( 52, 11 ), - SCROLL_POS( 53, 11 ), - SCROLL_POS( 54, 12 ), - SCROLL_POS( 55, 12 ), - SCROLL_POS( 56, 13 ), - SCROLL_POS( 57, 13 ), - -1, + SCROLL_POS( 30, 0 ), + SCROLL_POS( 31, 0 ), + SCROLL_POS( 32, 1 ), + SCROLL_POS( 33, 1 ), + SCROLL_POS( 34, 2 ), + SCROLL_POS( 35, 2 ), + SCROLL_POS( 36, 3 ), + SCROLL_POS( 37, 3 ), + SCROLL_POS( 38, 4 ), + SCROLL_POS( 39, 4 ), + SCROLL_POS( 40, 5 ), + SCROLL_POS( 41, 5 ), + SCROLL_POS( 42, 6 ), + SCROLL_POS( 43, 6 ), + SCROLL_POS( 44, 7 ), + SCROLL_POS( 45, 7 ), + SCROLL_POS( 46, 8 ), + SCROLL_POS( 47, 8 ), + SCROLL_POS( 48, 9 ), + SCROLL_POS( 49, 9 ), + SCROLL_POS( 50, 10 ), + SCROLL_POS( 51, 10 ), + SCROLL_POS( 52, 11 ), + SCROLL_POS( 53, 11 ), + SCROLL_POS( 54, 12 ), + SCROLL_POS( 55, 12 ), + SCROLL_POS( 56, 13 ), + SCROLL_POS( 57, 13 ), + -1, }; static const sint16 _scrollpos30[] = { - SCROLL_POS( 2, 30 ), - SCROLL_POS( 3, 30 ), - SCROLL_POS( 4, 29 ), - SCROLL_POS( 5, 29 ), - SCROLL_POS( 6, 28 ), - SCROLL_POS( 7, 28 ), - SCROLL_POS( 8, 27 ), - SCROLL_POS( 9, 27 ), - SCROLL_POS( 10, 26 ), - SCROLL_POS( 11, 26 ), - SCROLL_POS( 12, 25 ), - SCROLL_POS( 13, 25 ), - SCROLL_POS( 14, 24 ), - SCROLL_POS( 15, 24 ), - SCROLL_POS( 16, 23 ), - SCROLL_POS( 17, 23 ), - SCROLL_POS( 18, 22 ), - SCROLL_POS( 19, 22 ), - SCROLL_POS( 20, 21 ), - SCROLL_POS( 21, 21 ), - SCROLL_POS( 22, 20 ), - SCROLL_POS( 23, 20 ), - SCROLL_POS( 24, 19 ), - SCROLL_POS( 25, 19 ), - SCROLL_POS( 26, 18 ), - SCROLL_POS( 27, 18 ), - SCROLL_POS( 28, 17 ), - SCROLL_POS( 29, 17 ), - SCROLL_POS( 30, 16 ), - SCROLL_POS( 31, 16 ), - SCROLL_POS( 32, 15 ), - SCROLL_POS( 33, 15 ), - SCROLL_POS( 34, 14 ), - SCROLL_POS( 35, 14 ), - SCROLL_POS( 36, 13 ), - SCROLL_POS( 37, 13 ), - SCROLL_POS( 38, 12 ), - SCROLL_POS( 39, 12 ), - SCROLL_POS( 40, 11 ), - SCROLL_POS( 41, 11 ), - SCROLL_POS( 42, 10 ), - SCROLL_POS( 43, 10 ), - SCROLL_POS( 44, 9 ), - SCROLL_POS( 45, 9 ), - SCROLL_POS( 46, 8 ), - SCROLL_POS( 47, 8 ), - SCROLL_POS( 48, 7 ), - SCROLL_POS( 49, 7 ), - SCROLL_POS( 50, 6 ), - SCROLL_POS( 51, 6 ), - SCROLL_POS( 52, 5 ), - SCROLL_POS( 53, 5 ), - SCROLL_POS( 54, 4 ), - SCROLL_POS( 55, 4 ), - SCROLL_POS( 56, 3 ), - SCROLL_POS( 57, 3 ), - SCROLL_POS( 58, 2 ), - SCROLL_POS( 59, 2 ), - SCROLL_POS( 60, 1 ), - SCROLL_POS( 61, 1 ), - SCROLL_POS( 62, 0 ), - -1, + SCROLL_POS( 2, 30 ), + SCROLL_POS( 3, 30 ), + SCROLL_POS( 4, 29 ), + SCROLL_POS( 5, 29 ), + SCROLL_POS( 6, 28 ), + SCROLL_POS( 7, 28 ), + SCROLL_POS( 8, 27 ), + SCROLL_POS( 9, 27 ), + SCROLL_POS( 10, 26 ), + SCROLL_POS( 11, 26 ), + SCROLL_POS( 12, 25 ), + SCROLL_POS( 13, 25 ), + SCROLL_POS( 14, 24 ), + SCROLL_POS( 15, 24 ), + SCROLL_POS( 16, 23 ), + SCROLL_POS( 17, 23 ), + SCROLL_POS( 18, 22 ), + SCROLL_POS( 19, 22 ), + SCROLL_POS( 20, 21 ), + SCROLL_POS( 21, 21 ), + SCROLL_POS( 22, 20 ), + SCROLL_POS( 23, 20 ), + SCROLL_POS( 24, 19 ), + SCROLL_POS( 25, 19 ), + SCROLL_POS( 26, 18 ), + SCROLL_POS( 27, 18 ), + SCROLL_POS( 28, 17 ), + SCROLL_POS( 29, 17 ), + SCROLL_POS( 30, 16 ), + SCROLL_POS( 31, 16 ), + SCROLL_POS( 32, 15 ), + SCROLL_POS( 33, 15 ), + SCROLL_POS( 34, 14 ), + SCROLL_POS( 35, 14 ), + SCROLL_POS( 36, 13 ), + SCROLL_POS( 37, 13 ), + SCROLL_POS( 38, 12 ), + SCROLL_POS( 39, 12 ), + SCROLL_POS( 40, 11 ), + SCROLL_POS( 41, 11 ), + SCROLL_POS( 42, 10 ), + SCROLL_POS( 43, 10 ), + SCROLL_POS( 44, 9 ), + SCROLL_POS( 45, 9 ), + SCROLL_POS( 46, 8 ), + SCROLL_POS( 47, 8 ), + SCROLL_POS( 48, 7 ), + SCROLL_POS( 49, 7 ), + SCROLL_POS( 50, 6 ), + SCROLL_POS( 51, 6 ), + SCROLL_POS( 52, 5 ), + SCROLL_POS( 53, 5 ), + SCROLL_POS( 54, 4 ), + SCROLL_POS( 55, 4 ), + SCROLL_POS( 56, 3 ), + SCROLL_POS( 57, 3 ), + SCROLL_POS( 58, 2 ), + SCROLL_POS( 59, 2 ), + SCROLL_POS( 60, 1 ), + SCROLL_POS( 61, 1 ), + SCROLL_POS( 62, 0 ), + -1, }; static const sint16 _scrollpos31[] = { - SCROLL_POS( 1, 0 ), - SCROLL_POS( 2, 1 ), - SCROLL_POS( 3, 1 ), - SCROLL_POS( 4, 2 ), - SCROLL_POS( 5, 2 ), - SCROLL_POS( 6, 3 ), - SCROLL_POS( 7, 3 ), - SCROLL_POS( 8, 4 ), - SCROLL_POS( 9, 4 ), - SCROLL_POS( 10, 5 ), - SCROLL_POS( 11, 5 ), - SCROLL_POS( 12, 6 ), - SCROLL_POS( 13, 6 ), - SCROLL_POS( 14, 7 ), - SCROLL_POS( 15, 7 ), - SCROLL_POS( 16, 8 ), - SCROLL_POS( 17, 8 ), - SCROLL_POS( 18, 9 ), - SCROLL_POS( 19, 9 ), - SCROLL_POS( 20, 10 ), - SCROLL_POS( 21, 10 ), - SCROLL_POS( 22, 11 ), - SCROLL_POS( 23, 11 ), - SCROLL_POS( 24, 12 ), - SCROLL_POS( 25, 12 ), - SCROLL_POS( 26, 13 ), - SCROLL_POS( 27, 13 ), - SCROLL_POS( 28, 14 ), - SCROLL_POS( 29, 14 ), - SCROLL_POS( 30, 15 ), - SCROLL_POS( 31, 15 ), - SCROLL_POS( 32, 16 ), - SCROLL_POS( 33, 16 ), - SCROLL_POS( 34, 17 ), - SCROLL_POS( 35, 17 ), - SCROLL_POS( 36, 18 ), - SCROLL_POS( 37, 18 ), - SCROLL_POS( 38, 19 ), - SCROLL_POS( 39, 19 ), - SCROLL_POS( 40, 20 ), - SCROLL_POS( 41, 20 ), - SCROLL_POS( 42, 21 ), - SCROLL_POS( 43, 21 ), - SCROLL_POS( 44, 22 ), - SCROLL_POS( 45, 22 ), - SCROLL_POS( 46, 23 ), - SCROLL_POS( 47, 23 ), - SCROLL_POS( 48, 24 ), - SCROLL_POS( 49, 24 ), - SCROLL_POS( 50, 25 ), - SCROLL_POS( 51, 25 ), - SCROLL_POS( 52, 26 ), - SCROLL_POS( 53, 26 ), - SCROLL_POS( 54, 27 ), - SCROLL_POS( 55, 27 ), - SCROLL_POS( 56, 28 ), - SCROLL_POS( 57, 28 ), - SCROLL_POS( 58, 29 ), - SCROLL_POS( 59, 29 ), - SCROLL_POS( 60, 30 ), - SCROLL_POS( 61, 30 ), - -1, + SCROLL_POS( 1, 0 ), + SCROLL_POS( 2, 1 ), + SCROLL_POS( 3, 1 ), + SCROLL_POS( 4, 2 ), + SCROLL_POS( 5, 2 ), + SCROLL_POS( 6, 3 ), + SCROLL_POS( 7, 3 ), + SCROLL_POS( 8, 4 ), + SCROLL_POS( 9, 4 ), + SCROLL_POS( 10, 5 ), + SCROLL_POS( 11, 5 ), + SCROLL_POS( 12, 6 ), + SCROLL_POS( 13, 6 ), + SCROLL_POS( 14, 7 ), + SCROLL_POS( 15, 7 ), + SCROLL_POS( 16, 8 ), + SCROLL_POS( 17, 8 ), + SCROLL_POS( 18, 9 ), + SCROLL_POS( 19, 9 ), + SCROLL_POS( 20, 10 ), + SCROLL_POS( 21, 10 ), + SCROLL_POS( 22, 11 ), + SCROLL_POS( 23, 11 ), + SCROLL_POS( 24, 12 ), + SCROLL_POS( 25, 12 ), + SCROLL_POS( 26, 13 ), + SCROLL_POS( 27, 13 ), + SCROLL_POS( 28, 14 ), + SCROLL_POS( 29, 14 ), + SCROLL_POS( 30, 15 ), + SCROLL_POS( 31, 15 ), + SCROLL_POS( 32, 16 ), + SCROLL_POS( 33, 16 ), + SCROLL_POS( 34, 17 ), + SCROLL_POS( 35, 17 ), + SCROLL_POS( 36, 18 ), + SCROLL_POS( 37, 18 ), + SCROLL_POS( 38, 19 ), + SCROLL_POS( 39, 19 ), + SCROLL_POS( 40, 20 ), + SCROLL_POS( 41, 20 ), + SCROLL_POS( 42, 21 ), + SCROLL_POS( 43, 21 ), + SCROLL_POS( 44, 22 ), + SCROLL_POS( 45, 22 ), + SCROLL_POS( 46, 23 ), + SCROLL_POS( 47, 23 ), + SCROLL_POS( 48, 24 ), + SCROLL_POS( 49, 24 ), + SCROLL_POS( 50, 25 ), + SCROLL_POS( 51, 25 ), + SCROLL_POS( 52, 26 ), + SCROLL_POS( 53, 26 ), + SCROLL_POS( 54, 27 ), + SCROLL_POS( 55, 27 ), + SCROLL_POS( 56, 28 ), + SCROLL_POS( 57, 28 ), + SCROLL_POS( 58, 29 ), + SCROLL_POS( 59, 29 ), + SCROLL_POS( 60, 30 ), + SCROLL_POS( 61, 30 ), + -1, }; static const sint16 _scrollpos32[] = { - SCROLL_POS( 12, 0 ), - SCROLL_POS( 13, 1 ), - SCROLL_POS( 14, 1 ), - SCROLL_POS( 15, 2 ), - SCROLL_POS( 16, 2 ), - SCROLL_POS( 17, 3 ), - SCROLL_POS( 18, 3 ), - SCROLL_POS( 19, 4 ), - SCROLL_POS( 20, 4 ), - SCROLL_POS( 21, 5 ), - SCROLL_POS( 22, 5 ), - SCROLL_POS( 23, 6 ), - SCROLL_POS( 24, 6 ), - SCROLL_POS( 25, 7 ), - SCROLL_POS( 26, 7 ), - SCROLL_POS( 27, 8 ), - SCROLL_POS( 28, 8 ), - SCROLL_POS( 29, 9 ), - SCROLL_POS( 30, 9 ), - SCROLL_POS( 31, 10 ), - SCROLL_POS( 32, 10 ), - SCROLL_POS( 33, 11 ), - SCROLL_POS( 34, 11 ), - SCROLL_POS( 35, 12 ), - SCROLL_POS( 36, 12 ), - SCROLL_POS( 37, 13 ), - SCROLL_POS( 38, 13 ), - SCROLL_POS( 39, 14 ), - SCROLL_POS( 40, 14 ), - SCROLL_POS( 41, 15 ), - SCROLL_POS( 42, 15 ), - SCROLL_POS( 43, 16 ), - SCROLL_POS( 44, 16 ), - SCROLL_POS( 45, 17 ), - SCROLL_POS( 46, 17 ), - SCROLL_POS( 47, 18 ), - SCROLL_POS( 48, 18 ), - SCROLL_POS( 49, 19 ), - SCROLL_POS( 50, 19 ), - -1, + SCROLL_POS( 12, 0 ), + SCROLL_POS( 13, 1 ), + SCROLL_POS( 14, 1 ), + SCROLL_POS( 15, 2 ), + SCROLL_POS( 16, 2 ), + SCROLL_POS( 17, 3 ), + SCROLL_POS( 18, 3 ), + SCROLL_POS( 19, 4 ), + SCROLL_POS( 20, 4 ), + SCROLL_POS( 21, 5 ), + SCROLL_POS( 22, 5 ), + SCROLL_POS( 23, 6 ), + SCROLL_POS( 24, 6 ), + SCROLL_POS( 25, 7 ), + SCROLL_POS( 26, 7 ), + SCROLL_POS( 27, 8 ), + SCROLL_POS( 28, 8 ), + SCROLL_POS( 29, 9 ), + SCROLL_POS( 30, 9 ), + SCROLL_POS( 31, 10 ), + SCROLL_POS( 32, 10 ), + SCROLL_POS( 33, 11 ), + SCROLL_POS( 34, 11 ), + SCROLL_POS( 35, 12 ), + SCROLL_POS( 36, 12 ), + SCROLL_POS( 37, 13 ), + SCROLL_POS( 38, 13 ), + SCROLL_POS( 39, 14 ), + SCROLL_POS( 40, 14 ), + SCROLL_POS( 41, 15 ), + SCROLL_POS( 42, 15 ), + SCROLL_POS( 43, 16 ), + SCROLL_POS( 44, 16 ), + SCROLL_POS( 45, 17 ), + SCROLL_POS( 46, 17 ), + SCROLL_POS( 47, 18 ), + SCROLL_POS( 48, 18 ), + SCROLL_POS( 49, 19 ), + SCROLL_POS( 50, 19 ), + -1, }; static const sint16 _scrollpos33[] = { - SCROLL_POS( 12, 20 ), - SCROLL_POS( 13, 20 ), - SCROLL_POS( 14, 19 ), - SCROLL_POS( 15, 19 ), - SCROLL_POS( 16, 18 ), - SCROLL_POS( 17, 18 ), - SCROLL_POS( 18, 17 ), - SCROLL_POS( 19, 17 ), - SCROLL_POS( 20, 16 ), - SCROLL_POS( 21, 16 ), - SCROLL_POS( 22, 15 ), - SCROLL_POS( 23, 15 ), - SCROLL_POS( 24, 14 ), - SCROLL_POS( 25, 14 ), - SCROLL_POS( 26, 13 ), - SCROLL_POS( 27, 13 ), - SCROLL_POS( 28, 12 ), - SCROLL_POS( 29, 12 ), - SCROLL_POS( 30, 11 ), - SCROLL_POS( 31, 11 ), - SCROLL_POS( 32, 10 ), - SCROLL_POS( 33, 10 ), - SCROLL_POS( 34, 9 ), - SCROLL_POS( 35, 9 ), - SCROLL_POS( 36, 8 ), - SCROLL_POS( 37, 8 ), - SCROLL_POS( 38, 7 ), - SCROLL_POS( 39, 7 ), - SCROLL_POS( 40, 6 ), - SCROLL_POS( 41, 6 ), - SCROLL_POS( 42, 5 ), - SCROLL_POS( 43, 5 ), - SCROLL_POS( 44, 4 ), - SCROLL_POS( 45, 4 ), - SCROLL_POS( 46, 3 ), - SCROLL_POS( 47, 3 ), - SCROLL_POS( 48, 2 ), - SCROLL_POS( 49, 2 ), - SCROLL_POS( 50, 1 ), - SCROLL_POS( 51, 1 ), - -1, + SCROLL_POS( 12, 20 ), + SCROLL_POS( 13, 20 ), + SCROLL_POS( 14, 19 ), + SCROLL_POS( 15, 19 ), + SCROLL_POS( 16, 18 ), + SCROLL_POS( 17, 18 ), + SCROLL_POS( 18, 17 ), + SCROLL_POS( 19, 17 ), + SCROLL_POS( 20, 16 ), + SCROLL_POS( 21, 16 ), + SCROLL_POS( 22, 15 ), + SCROLL_POS( 23, 15 ), + SCROLL_POS( 24, 14 ), + SCROLL_POS( 25, 14 ), + SCROLL_POS( 26, 13 ), + SCROLL_POS( 27, 13 ), + SCROLL_POS( 28, 12 ), + SCROLL_POS( 29, 12 ), + SCROLL_POS( 30, 11 ), + SCROLL_POS( 31, 11 ), + SCROLL_POS( 32, 10 ), + SCROLL_POS( 33, 10 ), + SCROLL_POS( 34, 9 ), + SCROLL_POS( 35, 9 ), + SCROLL_POS( 36, 8 ), + SCROLL_POS( 37, 8 ), + SCROLL_POS( 38, 7 ), + SCROLL_POS( 39, 7 ), + SCROLL_POS( 40, 6 ), + SCROLL_POS( 41, 6 ), + SCROLL_POS( 42, 5 ), + SCROLL_POS( 43, 5 ), + SCROLL_POS( 44, 4 ), + SCROLL_POS( 45, 4 ), + SCROLL_POS( 46, 3 ), + SCROLL_POS( 47, 3 ), + SCROLL_POS( 48, 2 ), + SCROLL_POS( 49, 2 ), + SCROLL_POS( 50, 1 ), + SCROLL_POS( 51, 1 ), + -1, }; static const sint16 _scrollpos34[] = { - SCROLL_POS( 2, 14 ), - SCROLL_POS( 3, 14 ), - SCROLL_POS( 4, 13 ), - SCROLL_POS( 5, 13 ), - SCROLL_POS( 6, 12 ), - SCROLL_POS( 7, 12 ), - SCROLL_POS( 8, 11 ), - SCROLL_POS( 9, 11 ), - SCROLL_POS( 10, 10 ), - SCROLL_POS( 11, 10 ), - SCROLL_POS( 12, 9 ), - SCROLL_POS( 13, 9 ), - SCROLL_POS( 14, 8 ), - SCROLL_POS( 15, 8 ), - SCROLL_POS( 16, 7 ), - SCROLL_POS( 17, 7 ), - SCROLL_POS( 18, 6 ), - SCROLL_POS( 19, 6 ), - SCROLL_POS( 20, 5 ), - SCROLL_POS( 21, 5 ), - SCROLL_POS( 22, 4 ), - SCROLL_POS( 23, 4 ), - SCROLL_POS( 24, 3 ), - SCROLL_POS( 25, 3 ), - SCROLL_POS( 26, 2 ), - SCROLL_POS( 27, 2 ), - SCROLL_POS( 28, 1 ), - SCROLL_POS( 29, 1 ), - SCROLL_POS( 30, 0 ), - -1, + SCROLL_POS( 2, 14 ), + SCROLL_POS( 3, 14 ), + SCROLL_POS( 4, 13 ), + SCROLL_POS( 5, 13 ), + SCROLL_POS( 6, 12 ), + SCROLL_POS( 7, 12 ), + SCROLL_POS( 8, 11 ), + SCROLL_POS( 9, 11 ), + SCROLL_POS( 10, 10 ), + SCROLL_POS( 11, 10 ), + SCROLL_POS( 12, 9 ), + SCROLL_POS( 13, 9 ), + SCROLL_POS( 14, 8 ), + SCROLL_POS( 15, 8 ), + SCROLL_POS( 16, 7 ), + SCROLL_POS( 17, 7 ), + SCROLL_POS( 18, 6 ), + SCROLL_POS( 19, 6 ), + SCROLL_POS( 20, 5 ), + SCROLL_POS( 21, 5 ), + SCROLL_POS( 22, 4 ), + SCROLL_POS( 23, 4 ), + SCROLL_POS( 24, 3 ), + SCROLL_POS( 25, 3 ), + SCROLL_POS( 26, 2 ), + SCROLL_POS( 27, 2 ), + SCROLL_POS( 28, 1 ), + SCROLL_POS( 29, 1 ), + SCROLL_POS( 30, 0 ), + -1, }; static const sint16 _scrollpos35[] = { - SCROLL_POS( 33, 0 ), - SCROLL_POS( 34, 0 ), - SCROLL_POS( 35, 1 ), - SCROLL_POS( 36, 1 ), - SCROLL_POS( 37, 2 ), - SCROLL_POS( 38, 2 ), - SCROLL_POS( 39, 3 ), - SCROLL_POS( 40, 3 ), - SCROLL_POS( 41, 4 ), - SCROLL_POS( 42, 4 ), - SCROLL_POS( 43, 5 ), - SCROLL_POS( 44, 5 ), - SCROLL_POS( 45, 6 ), - SCROLL_POS( 46, 6 ), - SCROLL_POS( 47, 7 ), - SCROLL_POS( 48, 7 ), - SCROLL_POS( 49, 8 ), - SCROLL_POS( 50, 8 ), - SCROLL_POS( 51, 9 ), - SCROLL_POS( 52, 9 ), - SCROLL_POS( 53, 10 ), - SCROLL_POS( 54, 10 ), - SCROLL_POS( 55, 11 ), - SCROLL_POS( 56, 11 ), - SCROLL_POS( 57, 12 ), - SCROLL_POS( 58, 12 ), - SCROLL_POS( 59, 13 ), - SCROLL_POS( 60, 13 ), - SCROLL_POS( 61, 14 ), - -1, + SCROLL_POS( 33, 0 ), + SCROLL_POS( 34, 0 ), + SCROLL_POS( 35, 1 ), + SCROLL_POS( 36, 1 ), + SCROLL_POS( 37, 2 ), + SCROLL_POS( 38, 2 ), + SCROLL_POS( 39, 3 ), + SCROLL_POS( 40, 3 ), + SCROLL_POS( 41, 4 ), + SCROLL_POS( 42, 4 ), + SCROLL_POS( 43, 5 ), + SCROLL_POS( 44, 5 ), + SCROLL_POS( 45, 6 ), + SCROLL_POS( 46, 6 ), + SCROLL_POS( 47, 7 ), + SCROLL_POS( 48, 7 ), + SCROLL_POS( 49, 8 ), + SCROLL_POS( 50, 8 ), + SCROLL_POS( 51, 9 ), + SCROLL_POS( 52, 9 ), + SCROLL_POS( 53, 10 ), + SCROLL_POS( 54, 10 ), + SCROLL_POS( 55, 11 ), + SCROLL_POS( 56, 11 ), + SCROLL_POS( 57, 12 ), + SCROLL_POS( 58, 12 ), + SCROLL_POS( 59, 13 ), + SCROLL_POS( 60, 13 ), + SCROLL_POS( 61, 14 ), + -1, }; static const sint16 _scrollpos36[] = { - SCROLL_POS( 4, 0 ), - SCROLL_POS( 5, 1 ), - SCROLL_POS( 6, 2 ), - SCROLL_POS( 7, 3 ), - SCROLL_POS( 8, 3 ), - SCROLL_POS( 9, 4 ), - SCROLL_POS( 10, 5 ), - SCROLL_POS( 11, 5 ), - SCROLL_POS( 12, 6 ), - SCROLL_POS( 13, 6 ), - SCROLL_POS( 14, 7 ), - SCROLL_POS( 15, 7 ), - SCROLL_POS( 16, 8 ), - SCROLL_POS( 17, 8 ), - SCROLL_POS( 18, 9 ), - SCROLL_POS( 19, 9 ), - SCROLL_POS( 20, 10 ), - SCROLL_POS( 21, 10 ), - SCROLL_POS( 22, 10 ), - SCROLL_POS( 23, 11 ), - SCROLL_POS( 24, 11 ), - SCROLL_POS( 25, 11 ), - SCROLL_POS( 26, 12 ), - SCROLL_POS( 27, 12 ), - SCROLL_POS( 28, 12 ), - SCROLL_POS( 29, 12 ), - SCROLL_POS( 30, 12 ), - -1, + SCROLL_POS( 4, 0 ), + SCROLL_POS( 5, 1 ), + SCROLL_POS( 6, 2 ), + SCROLL_POS( 7, 3 ), + SCROLL_POS( 8, 3 ), + SCROLL_POS( 9, 4 ), + SCROLL_POS( 10, 5 ), + SCROLL_POS( 11, 5 ), + SCROLL_POS( 12, 6 ), + SCROLL_POS( 13, 6 ), + SCROLL_POS( 14, 7 ), + SCROLL_POS( 15, 7 ), + SCROLL_POS( 16, 8 ), + SCROLL_POS( 17, 8 ), + SCROLL_POS( 18, 9 ), + SCROLL_POS( 19, 9 ), + SCROLL_POS( 20, 10 ), + SCROLL_POS( 21, 10 ), + SCROLL_POS( 22, 10 ), + SCROLL_POS( 23, 11 ), + SCROLL_POS( 24, 11 ), + SCROLL_POS( 25, 11 ), + SCROLL_POS( 26, 12 ), + SCROLL_POS( 27, 12 ), + SCROLL_POS( 28, 12 ), + SCROLL_POS( 29, 12 ), + SCROLL_POS( 30, 12 ), + -1, }; static const sint16 _scrollpos37[] = { - SCROLL_POS( 32, 13 ), - SCROLL_POS( 33, 12 ), - SCROLL_POS( 34, 12 ), - SCROLL_POS( 35, 12 ), - SCROLL_POS( 36, 12 ), - SCROLL_POS( 37, 11 ), - SCROLL_POS( 38, 11 ), - SCROLL_POS( 39, 11 ), - SCROLL_POS( 40, 10 ), - SCROLL_POS( 41, 10 ), - SCROLL_POS( 42, 10 ), - SCROLL_POS( 43, 9 ), - SCROLL_POS( 44, 9 ), - SCROLL_POS( 45, 8 ), - SCROLL_POS( 46, 8 ), - SCROLL_POS( 47, 7 ), - SCROLL_POS( 48, 7 ), - SCROLL_POS( 49, 6 ), - SCROLL_POS( 50, 6 ), - SCROLL_POS( 51, 5 ), - SCROLL_POS( 52, 5 ), - SCROLL_POS( 53, 4 ), - SCROLL_POS( 54, 3 ), - SCROLL_POS( 55, 3 ), - SCROLL_POS( 56, 2 ), - SCROLL_POS( 57, 1 ), - SCROLL_POS( 58, 0 ), - -1, + SCROLL_POS( 32, 13 ), + SCROLL_POS( 33, 12 ), + SCROLL_POS( 34, 12 ), + SCROLL_POS( 35, 12 ), + SCROLL_POS( 36, 12 ), + SCROLL_POS( 37, 11 ), + SCROLL_POS( 38, 11 ), + SCROLL_POS( 39, 11 ), + SCROLL_POS( 40, 10 ), + SCROLL_POS( 41, 10 ), + SCROLL_POS( 42, 10 ), + SCROLL_POS( 43, 9 ), + SCROLL_POS( 44, 9 ), + SCROLL_POS( 45, 8 ), + SCROLL_POS( 46, 8 ), + SCROLL_POS( 47, 7 ), + SCROLL_POS( 48, 7 ), + SCROLL_POS( 49, 6 ), + SCROLL_POS( 50, 6 ), + SCROLL_POS( 51, 5 ), + SCROLL_POS( 52, 5 ), + SCROLL_POS( 53, 4 ), + SCROLL_POS( 54, 3 ), + SCROLL_POS( 55, 3 ), + SCROLL_POS( 56, 2 ), + SCROLL_POS( 57, 1 ), + SCROLL_POS( 58, 0 ), + -1, }; static const sint16* _scrollPositions[MAX_SCROLLING_TEXT_MODES] = { - _scrollpos0, - _scrollpos1, - _scrollpos2, - _scrollpos3, - _scrollpos4, - _scrollpos5, - _scrollpos6, - _scrollpos7, - _scrollpos8, - _scrollpos9, - _scrollpos10, - _scrollpos11, - _scrollpos12, - _scrollpos13, - _scrollpos14, - _scrollpos15, - _scrollpos16, - _scrollpos17, - _scrollpos18, - _scrollpos19, - _scrollpos20, - _scrollpos21, - _scrollpos22, - _scrollpos23, - _scrollpos24, - _scrollpos25, - _scrollpos26, - _scrollpos27, - _scrollpos28, - _scrollpos29, - _scrollpos30, - _scrollpos31, - _scrollpos32, - _scrollpos33, - _scrollpos34, - _scrollpos35, - _scrollpos36, - _scrollpos37, + _scrollpos0, + _scrollpos1, + _scrollpos2, + _scrollpos3, + _scrollpos4, + _scrollpos5, + _scrollpos6, + _scrollpos7, + _scrollpos8, + _scrollpos9, + _scrollpos10, + _scrollpos11, + _scrollpos12, + _scrollpos13, + _scrollpos14, + _scrollpos15, + _scrollpos16, + _scrollpos17, + _scrollpos18, + _scrollpos19, + _scrollpos20, + _scrollpos21, + _scrollpos22, + _scrollpos23, + _scrollpos24, + _scrollpos25, + _scrollpos26, + _scrollpos27, + _scrollpos28, + _scrollpos29, + _scrollpos30, + _scrollpos31, + _scrollpos32, + _scrollpos33, + _scrollpos34, + _scrollpos35, + _scrollpos36, + _scrollpos37, }; /** @@ -1416,173 +1416,173 @@ static const sint16* _scrollPositions[MAX_SCROLLING_TEXT_MODES] = { */ sint32 scrolling_text_setup(rct_string_id stringId, uint16 scroll, uint16 scrollingMode) { - assert(scrollingMode < MAX_SCROLLING_TEXT_MODES); + assert(scrollingMode < MAX_SCROLLING_TEXT_MODES); - rct_drawpixelinfo* dpi = unk_140E9A8; + rct_drawpixelinfo* dpi = unk_140E9A8; - if (dpi->zoom_level != 0) return SPR_SCROLLING_TEXT_DEFAULT; + if (dpi->zoom_level != 0) return SPR_SCROLLING_TEXT_DEFAULT; - _drawSCrollNextIndex++; + _drawSCrollNextIndex++; - sint32 scrollIndex = scrolling_text_get_matching_or_oldest(stringId, scroll, scrollingMode); - if (scrollIndex >= SPR_SCROLLING_TEXT_START) return scrollIndex; + sint32 scrollIndex = scrolling_text_get_matching_or_oldest(stringId, scroll, scrollingMode); + if (scrollIndex >= SPR_SCROLLING_TEXT_START) return scrollIndex; - // Setup scrolling text - uint32 stringArgs0, stringArgs1; - memcpy(&stringArgs0, gCommonFormatArgs + 0, sizeof(uint32)); - memcpy(&stringArgs1, gCommonFormatArgs + 4, sizeof(uint32)); + // Setup scrolling text + uint32 stringArgs0, stringArgs1; + memcpy(&stringArgs0, gCommonFormatArgs + 0, sizeof(uint32)); + memcpy(&stringArgs1, gCommonFormatArgs + 4, sizeof(uint32)); - rct_draw_scroll_text* scrollText = &_drawScrollTextList[scrollIndex]; - scrollText->string_id = stringId; - scrollText->string_args_0 = stringArgs0; - scrollText->string_args_1 = stringArgs1; - scrollText->position = scroll; - scrollText->mode = scrollingMode; - scrollText->id = _drawSCrollNextIndex; + rct_draw_scroll_text* scrollText = &_drawScrollTextList[scrollIndex]; + scrollText->string_id = stringId; + scrollText->string_args_0 = stringArgs0; + scrollText->string_args_1 = stringArgs1; + scrollText->position = scroll; + scrollText->mode = scrollingMode; + scrollText->id = _drawSCrollNextIndex; - // Create the string to draw - utf8 scrollString[256]; - scrolling_text_format(scrollString, 256, scrollText); + // Create the string to draw + utf8 scrollString[256]; + scrolling_text_format(scrollString, 256, scrollText); - const sint16* scrollingModePositions = _scrollPositions[scrollingMode]; + const sint16* scrollingModePositions = _scrollPositions[scrollingMode]; - memset(scrollText->bitmap, 0, 320 * 8); - if (gUseTrueTypeFont) { - scrolling_text_set_bitmap_for_ttf(scrollString, scroll, scrollText->bitmap, scrollingModePositions); - } else { - scrolling_text_set_bitmap_for_sprite(scrollString, scroll, scrollText->bitmap, scrollingModePositions); - } + memset(scrollText->bitmap, 0, 320 * 8); + if (gUseTrueTypeFont) { + scrolling_text_set_bitmap_for_ttf(scrollString, scroll, scrollText->bitmap, scrollingModePositions); + } else { + scrolling_text_set_bitmap_for_sprite(scrollString, scroll, scrollText->bitmap, scrollingModePositions); + } - uint32 imageId = SPR_SCROLLING_TEXT_START + scrollIndex; - drawing_engine_invalidate_image(imageId); - return imageId; + uint32 imageId = SPR_SCROLLING_TEXT_START + scrollIndex; + drawing_engine_invalidate_image(imageId); + return imageId; } void scrolling_text_set_bitmap_for_sprite(utf8 *text, sint32 scroll, uint8 *bitmap, const sint16 *scrollPositionOffsets) { - uint8 characterColour = scrolling_text_get_colour(gCommonFormatArgs[7]); + uint8 characterColour = scrolling_text_get_colour(gCommonFormatArgs[7]); - utf8 *ch = text; - while (true) { - uint32 codepoint = utf8_get_next(ch, (const utf8**)&ch); + utf8 *ch = text; + while (true) { + uint32 codepoint = utf8_get_next(ch, (const utf8**)&ch); - // If at the end of the string loop back to the start - if (codepoint == 0) { - ch = text; - continue; - } + // If at the end of the string loop back to the start + if (codepoint == 0) { + ch = text; + continue; + } - // Set any change in colour - if (codepoint <= FORMAT_COLOUR_CODE_END && codepoint >= FORMAT_COLOUR_CODE_START){ - codepoint -= FORMAT_COLOUR_CODE_START; - characterColour = g1Elements[SPR_TEXT_PALETTE].offset[codepoint * 4]; - continue; - } + // Set any change in colour + if (codepoint <= FORMAT_COLOUR_CODE_END && codepoint >= FORMAT_COLOUR_CODE_START){ + codepoint -= FORMAT_COLOUR_CODE_START; + characterColour = g1Elements[SPR_TEXT_PALETTE].offset[codepoint * 4]; + continue; + } - // If another type of control character ignore - if (codepoint < 32) continue; + // If another type of control character ignore + if (codepoint < 32) continue; - sint32 characterWidth = font_sprite_get_codepoint_width(FONT_SPRITE_BASE_TINY, codepoint); - uint8 *characterBitmap = font_sprite_get_codepoint_bitmap(codepoint); - for (; characterWidth != 0; characterWidth--, characterBitmap++) { - // Skip any none displayed columns - if (scroll != 0) { - scroll--; - continue; - } + sint32 characterWidth = font_sprite_get_codepoint_width(FONT_SPRITE_BASE_TINY, codepoint); + uint8 *characterBitmap = font_sprite_get_codepoint_bitmap(codepoint); + for (; characterWidth != 0; characterWidth--, characterBitmap++) { + // Skip any none displayed columns + if (scroll != 0) { + scroll--; + continue; + } - sint16 scrollPosition = *scrollPositionOffsets; - if (scrollPosition == -1) return; - if (scrollPosition > -1) { - uint8 *dst = &bitmap[scrollPosition]; - for (uint8 char_bitmap = *characterBitmap; char_bitmap != 0; char_bitmap >>= 1){ - if (char_bitmap & 1) *dst = characterColour; + sint16 scrollPosition = *scrollPositionOffsets; + if (scrollPosition == -1) return; + if (scrollPosition > -1) { + uint8 *dst = &bitmap[scrollPosition]; + for (uint8 char_bitmap = *characterBitmap; char_bitmap != 0; char_bitmap >>= 1){ + if (char_bitmap & 1) *dst = characterColour; - // Jump to next row - dst += 64; - } - } - scrollPositionOffsets++; - } - } + // Jump to next row + dst += 64; + } + } + scrollPositionOffsets++; + } + } } void scrolling_text_set_bitmap_for_ttf(utf8 *text, sint32 scroll, uint8 *bitmap, const sint16 *scrollPositionOffsets) { #ifndef NO_TTF - TTFFontDescriptor *fontDesc = ttf_get_font_from_sprite_base(FONT_SPRITE_BASE_TINY); - if (fontDesc->font == NULL) { - scrolling_text_set_bitmap_for_sprite(text, scroll, bitmap, scrollPositionOffsets); - return; - } + TTFFontDescriptor *fontDesc = ttf_get_font_from_sprite_base(FONT_SPRITE_BASE_TINY); + if (fontDesc->font == NULL) { + scrolling_text_set_bitmap_for_sprite(text, scroll, bitmap, scrollPositionOffsets); + return; + } - // Currently only supports one colour - uint8 colour = 0; + // Currently only supports one colour + uint8 colour = 0; - utf8 *dstCh = text; - utf8 *ch = text; - sint32 codepoint; - while ((codepoint = utf8_get_next(ch, (const utf8**)&ch)) != 0) { - if (utf8_is_format_code(codepoint)) { - if (codepoint >= FORMAT_COLOUR_CODE_START && codepoint <= FORMAT_COLOUR_CODE_END) { - colour = (uint8)codepoint; - } - } else { - dstCh = utf8_write_codepoint(dstCh, codepoint); - } - } - *dstCh = 0; + utf8 *dstCh = text; + utf8 *ch = text; + sint32 codepoint; + while ((codepoint = utf8_get_next(ch, (const utf8**)&ch)) != 0) { + if (utf8_is_format_code(codepoint)) { + if (codepoint >= FORMAT_COLOUR_CODE_START && codepoint <= FORMAT_COLOUR_CODE_END) { + colour = (uint8)codepoint; + } + } else { + dstCh = utf8_write_codepoint(dstCh, codepoint); + } + } + *dstCh = 0; - if (colour == 0) { - colour = scrolling_text_get_colour(gCommonFormatArgs[7]); - } else { - colour = g1Elements[SPR_TEXT_PALETTE].offset[(colour - FORMAT_COLOUR_CODE_START) * 4]; - } + if (colour == 0) { + colour = scrolling_text_get_colour(gCommonFormatArgs[7]); + } else { + colour = g1Elements[SPR_TEXT_PALETTE].offset[(colour - FORMAT_COLOUR_CODE_START) * 4]; + } - SDL_Surface *surface = ttf_surface_cache_get_or_add(fontDesc->font, text); - if (surface == NULL) { - return; - } + SDL_Surface *surface = ttf_surface_cache_get_or_add(fontDesc->font, text); + if (surface == NULL) { + return; + } - if (SDL_MUSTLOCK(surface) && SDL_LockSurface(surface) == -1) { - return; - } + if (SDL_MUSTLOCK(surface) && SDL_LockSurface(surface) == -1) { + return; + } - sint32 pitch = surface->pitch; - sint32 width = surface->w; - sint32 height = surface->h; - uint8 *src = surface->pixels; + sint32 pitch = surface->pitch; + sint32 width = surface->w; + sint32 height = surface->h; + uint8 *src = surface->pixels; - // Offset - height -= 3; - src += 3 * pitch; - height = min(height, 8); + // Offset + height -= 3; + src += 3 * pitch; + height = min(height, 8); - sint32 x = 0; - while (true) { - // Skip any none displayed columns - if (scroll == 0) { - sint16 scrollPosition = *scrollPositionOffsets; - if (scrollPosition == -1) return; - if (scrollPosition > -1) { - uint8 *dst = &bitmap[scrollPosition]; + sint32 x = 0; + while (true) { + // Skip any none displayed columns + if (scroll == 0) { + sint16 scrollPosition = *scrollPositionOffsets; + if (scrollPosition == -1) return; + if (scrollPosition > -1) { + uint8 *dst = &bitmap[scrollPosition]; - for (sint32 y = 0; y < height; y++) { - if (src[y * pitch + x] != 0) *dst = colour; + for (sint32 y = 0; y < height; y++) { + if (src[y * pitch + x] != 0) *dst = colour; - // Jump to next row - dst += 64; - } - } - scrollPositionOffsets++; - } else { - scroll--; - } + // Jump to next row + dst += 64; + } + } + scrollPositionOffsets++; + } else { + scroll--; + } - x++; - if (x >= width) x = 0; - } + x++; + if (x >= width) x = 0; + } - if (SDL_MUSTLOCK(surface)) SDL_UnlockSurface(surface); + if (SDL_MUSTLOCK(surface)) SDL_UnlockSurface(surface); #endif // NO_TTF } diff --git a/src/openrct2/drawing/string.c b/src/openrct2/drawing/string.c index 6b83c5556d..23e1197864 100644 --- a/src/openrct2/drawing/string.c +++ b/src/openrct2/drawing/string.c @@ -22,15 +22,15 @@ #include "../util/util.h" enum { - TEXT_DRAW_FLAG_INSET = 1 << 0, - TEXT_DRAW_FLAG_OUTLINE = 1 << 1, - TEXT_DRAW_FLAG_DARK = 1 << 2, - TEXT_DRAW_FLAG_EXTRA_DARK = 1 << 3, - TEXT_DRAW_FLAG_Y_OFFSET_EFFECT = 1 << 29, + TEXT_DRAW_FLAG_INSET = 1 << 0, + TEXT_DRAW_FLAG_OUTLINE = 1 << 1, + TEXT_DRAW_FLAG_DARK = 1 << 2, + TEXT_DRAW_FLAG_EXTRA_DARK = 1 << 3, + TEXT_DRAW_FLAG_Y_OFFSET_EFFECT = 1 << 29, #ifndef NO_TTF - TEXT_DRAW_FLAG_TTF = 1 << 30, + TEXT_DRAW_FLAG_TTF = 1 << 30, #endif // NO_TTF - TEXT_DRAW_FLAG_NO_DRAW = 1u << 31 + TEXT_DRAW_FLAG_NO_DRAW = 1u << 31 }; static sint32 ttf_get_string_width(const utf8 *text); @@ -43,10 +43,10 @@ static bool _ttfInitialised = false; #define TTF_GETWIDTH_CACHE_SIZE 1024 typedef struct ttf_cache_entry { - SDL_Surface *surface; - TTF_Font *font; - utf8 *text; - uint32 lastUseTick; + SDL_Surface *surface; + TTF_Font *font; + utf8 *text; + uint32 lastUseTick; } ttf_cache_entry; static ttf_cache_entry _ttfSurfaceCache[TTF_SURFACE_CACHE_SIZE] = { 0 }; @@ -55,10 +55,10 @@ static sint32 _ttfSurfaceCacheHitCount = 0; static sint32 _ttfSurfaceCacheMissCount = 0; typedef struct ttf_getwidth_cache_entry { - uint32 width; - TTF_Font *font; - utf8 *text; - uint32 lastUseTick; + uint32 width; + TTF_Font *font; + utf8 *text; + uint32 lastUseTick; } ttf_getwidth_cache_entry; static ttf_getwidth_cache_entry _ttfGetWidthCache[TTF_GETWIDTH_CACHE_SIZE] = { 0 }; @@ -73,26 +73,26 @@ static sint32 _ttfGetWidthCacheMissCount = 0; */ sint32 gfx_get_string_width_new_lined(utf8 *text) { - utf8 *ch = text; - utf8 *firstCh = text; - utf8 *nextCh; - utf8 backup; - sint32 codepoint; + utf8 *ch = text; + utf8 *firstCh = text; + utf8 *nextCh; + utf8 backup; + sint32 codepoint; - sint32 maxWidth = 0; - while ((codepoint = utf8_get_next(ch, (const utf8**)&nextCh)) != 0) { - if (codepoint == FORMAT_NEWLINE || codepoint == FORMAT_NEWLINE_SMALLER) { - backup = *nextCh; - *nextCh = 0; - maxWidth = max(maxWidth, gfx_get_string_width(firstCh)); - *nextCh = backup; - firstCh = nextCh; - } - ch = nextCh; - } - maxWidth = max(maxWidth, gfx_get_string_width(firstCh)); + sint32 maxWidth = 0; + while ((codepoint = utf8_get_next(ch, (const utf8**)&nextCh)) != 0) { + if (codepoint == FORMAT_NEWLINE || codepoint == FORMAT_NEWLINE_SMALLER) { + backup = *nextCh; + *nextCh = 0; + maxWidth = max(maxWidth, gfx_get_string_width(firstCh)); + *nextCh = backup; + firstCh = nextCh; + } + ch = nextCh; + } + maxWidth = max(maxWidth, gfx_get_string_width(firstCh)); - return maxWidth; + return maxWidth; } /** @@ -103,7 +103,7 @@ sint32 gfx_get_string_width_new_lined(utf8 *text) */ sint32 gfx_get_string_width(const utf8 * buffer) { - return ttf_get_string_width(buffer); + return ttf_get_string_width(buffer); } /** @@ -115,48 +115,48 @@ sint32 gfx_get_string_width(const utf8 * buffer) */ sint32 gfx_clip_string(utf8 *text, sint32 width) { - sint32 clippedWidth; + sint32 clippedWidth; - if (width < 6) { - *text = 0; - return 0; - } + if (width < 6) { + *text = 0; + return 0; + } - clippedWidth = gfx_get_string_width(text); - if (clippedWidth <= width) { - return clippedWidth; - } + clippedWidth = gfx_get_string_width(text); + if (clippedWidth <= width) { + return clippedWidth; + } - utf8 backup[4]; - utf8 *ch = text; - utf8 *nextCh = text; - utf8 *clipCh = text; - sint32 codepoint; - while ((codepoint = utf8_get_next(ch, (const utf8**)&nextCh)) != 0) { - if (utf8_is_format_code(codepoint)) { - ch = nextCh; - ch += utf8_get_format_code_arg_length(codepoint); - continue; - } + utf8 backup[4]; + utf8 *ch = text; + utf8 *nextCh = text; + utf8 *clipCh = text; + sint32 codepoint; + while ((codepoint = utf8_get_next(ch, (const utf8**)&nextCh)) != 0) { + if (utf8_is_format_code(codepoint)) { + ch = nextCh; + ch += utf8_get_format_code_arg_length(codepoint); + continue; + } - for (sint32 i = 0; i < 4; i++) { backup[i] = nextCh[i]; }; - for (sint32 i = 0; i < 3; i++) { nextCh[i] = '.'; } - nextCh[3] = 0; + for (sint32 i = 0; i < 4; i++) { backup[i] = nextCh[i]; }; + for (sint32 i = 0; i < 3; i++) { nextCh[i] = '.'; } + nextCh[3] = 0; - sint32 queryWidth = gfx_get_string_width(text); - if (queryWidth < width) { - clipCh = nextCh; - clippedWidth = queryWidth; - } else { - for (sint32 i = 0; i < 3; i++) { clipCh[i] = '.'; } - clipCh[3] = 0; - return clippedWidth; - } + sint32 queryWidth = gfx_get_string_width(text); + if (queryWidth < width) { + clipCh = nextCh; + clippedWidth = queryWidth; + } else { + for (sint32 i = 0; i < 3; i++) { clipCh[i] = '.'; } + clipCh[3] = 0; + return clippedWidth; + } - for (sint32 i = 0; i < 4; i++) { nextCh[i] = backup[i]; }; - ch = nextCh; - } - return gfx_get_string_width(text); + for (sint32 i = 0; i < 4; i++) { nextCh[i] = backup[i]; }; + ch = nextCh; + } + return gfx_get_string_width(text); } /** @@ -174,73 +174,73 @@ sint32 gfx_clip_string(utf8 *text, sint32 width) */ sint32 gfx_wrap_string(utf8 *text, sint32 width, sint32 *outNumLines, sint32 *outFontHeight) { - sint32 lineWidth = 0; - sint32 maxWidth = 0; - *outNumLines = 0; + sint32 lineWidth = 0; + sint32 maxWidth = 0; + *outNumLines = 0; - // Pointer to the start of the current word - utf8 *currentWord = NULL; + // Pointer to the start of the current word + utf8 *currentWord = NULL; - // Width of line up to current word - sint32 currentWidth = 0; + // Width of line up to current word + sint32 currentWidth = 0; - utf8 *ch = text; - utf8 *firstCh = text; - utf8 *nextCh; - sint32 codepoint; - sint32 numCharactersOnLine = 0; - while ((codepoint = utf8_get_next(ch, (const utf8**)&nextCh)) != 0) { - if (codepoint == ' ') { - currentWord = ch; - currentWidth = lineWidth; - numCharactersOnLine++; - } else if (codepoint == FORMAT_NEWLINE) { - *ch++ = 0; - maxWidth = max(maxWidth, lineWidth); - (*outNumLines)++; - lineWidth = 0; - currentWord = NULL; - firstCh = ch; - numCharactersOnLine = 0; - continue; - } else if (utf8_is_format_code(codepoint)) { - ch = nextCh; - ch += utf8_get_format_code_arg_length(codepoint); - continue; - } + utf8 *ch = text; + utf8 *firstCh = text; + utf8 *nextCh; + sint32 codepoint; + sint32 numCharactersOnLine = 0; + while ((codepoint = utf8_get_next(ch, (const utf8**)&nextCh)) != 0) { + if (codepoint == ' ') { + currentWord = ch; + currentWidth = lineWidth; + numCharactersOnLine++; + } else if (codepoint == FORMAT_NEWLINE) { + *ch++ = 0; + maxWidth = max(maxWidth, lineWidth); + (*outNumLines)++; + lineWidth = 0; + currentWord = NULL; + firstCh = ch; + numCharactersOnLine = 0; + continue; + } else if (utf8_is_format_code(codepoint)) { + ch = nextCh; + ch += utf8_get_format_code_arg_length(codepoint); + continue; + } - uint8 saveCh = *nextCh; - *nextCh = 0; - lineWidth = gfx_get_string_width(firstCh); - *nextCh = saveCh; + uint8 saveCh = *nextCh; + *nextCh = 0; + lineWidth = gfx_get_string_width(firstCh); + *nextCh = saveCh; - if (lineWidth <= width || numCharactersOnLine == 0) { - ch = nextCh; - numCharactersOnLine++; - } else if (currentWord == NULL) { - // Single word is longer than line, insert null terminator - ch += utf8_insert_codepoint(ch, 0); - maxWidth = max(maxWidth, lineWidth); - (*outNumLines)++; - lineWidth = 0; - currentWord = NULL; - firstCh = ch; - numCharactersOnLine = 0; - } else { - ch = currentWord; - *ch++ = 0; + if (lineWidth <= width || numCharactersOnLine == 0) { + ch = nextCh; + numCharactersOnLine++; + } else if (currentWord == NULL) { + // Single word is longer than line, insert null terminator + ch += utf8_insert_codepoint(ch, 0); + maxWidth = max(maxWidth, lineWidth); + (*outNumLines)++; + lineWidth = 0; + currentWord = NULL; + firstCh = ch; + numCharactersOnLine = 0; + } else { + ch = currentWord; + *ch++ = 0; - maxWidth = max(maxWidth, currentWidth); - (*outNumLines)++; - lineWidth = 0; - currentWord = NULL; - firstCh = ch; - numCharactersOnLine = 0; - } - } - maxWidth = max(maxWidth, lineWidth); - *outFontHeight = gCurrentFontSpriteBase; - return maxWidth == 0 ? lineWidth : maxWidth; + maxWidth = max(maxWidth, currentWidth); + (*outNumLines)++; + lineWidth = 0; + currentWord = NULL; + firstCh = ch; + numCharactersOnLine = 0; + } + } + maxWidth = max(maxWidth, lineWidth); + *outFontHeight = gCurrentFontSpriteBase; + return maxWidth == 0 ? lineWidth : maxWidth; } /** @@ -257,15 +257,15 @@ sint32 gfx_wrap_string(utf8 *text, sint32 width, sint32 *outNumLines, sint32 *ou */ void gfx_draw_string_left_clipped(rct_drawpixelinfo* dpi, rct_string_id format, void* args, sint32 colour, sint32 x, sint32 y, sint32 width) { - char* buffer = gCommonStringFormatBuffer; - format_string(buffer, 256, format, args); + char* buffer = gCommonStringFormatBuffer; + format_string(buffer, 256, format, args); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - // Clip text - return value is not needed - gfx_clip_string(buffer, width); + // Clip text - return value is not needed + gfx_clip_string(buffer, width); - gfx_draw_string(dpi, buffer, colour, x, y); + gfx_draw_string(dpi, buffer, colour, x, y); } /** @@ -282,21 +282,21 @@ void gfx_draw_string_left_clipped(rct_drawpixelinfo* dpi, rct_string_id format, */ void gfx_draw_string_centred_clipped(rct_drawpixelinfo *dpi, rct_string_id format, void *args, sint32 colour, sint32 x, sint32 y, sint32 width) { - char* buffer = gCommonStringFormatBuffer; - format_string(buffer, 256, format, args); + char* buffer = gCommonStringFormatBuffer; + format_string(buffer, 256, format, args); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - // Clip text - sint32 text_width = gfx_clip_string(buffer, width); + // Clip text + sint32 text_width = gfx_clip_string(buffer, width); - // Draw the text centred - if (text_width <= 0xFFFF && text_width >= 0) { - x -= (text_width - 1) / 2; - gfx_draw_string(dpi, buffer, colour, x, y); - } else { - log_warning("improper text width %d for string %s", text_width, buffer); - } + // Draw the text centred + if (text_width <= 0xFFFF && text_width >= 0) { + x -= (text_width - 1) / 2; + gfx_draw_string(dpi, buffer, colour, x, y); + } else { + log_warning("improper text width %d for string %s", text_width, buffer); + } } /** @@ -311,15 +311,15 @@ void gfx_draw_string_centred_clipped(rct_drawpixelinfo *dpi, rct_string_id forma */ void gfx_draw_string_right(rct_drawpixelinfo* dpi, rct_string_id format, void* args, sint32 colour, sint32 x, sint32 y) { - char* buffer = gCommonStringFormatBuffer; - format_string(buffer, 256, format, args); + char* buffer = gCommonStringFormatBuffer; + format_string(buffer, 256, format, args); - // Measure text width - sint16 text_width = gfx_get_string_width(buffer); + // Measure text width + sint16 text_width = gfx_get_string_width(buffer); - // Draw the text right aligned - x -= text_width; - gfx_draw_string(dpi, buffer, colour, x, y); + // Draw the text right aligned + x -= text_width; + gfx_draw_string(dpi, buffer, colour, x, y); } /** @@ -334,7 +334,7 @@ void gfx_draw_string_right(rct_drawpixelinfo* dpi, rct_string_id format, void* a */ void gfx_draw_string_centred(rct_drawpixelinfo *dpi, rct_string_id format, sint32 x, sint32 y, sint32 colour, void *args) { - gfx_draw_string_centred_wrapped(dpi, args, x, y, INT32_MAX, format, colour); + gfx_draw_string_centred_wrapped(dpi, args, x, y, INT32_MAX, format, colour); } /** @@ -350,39 +350,39 @@ void gfx_draw_string_centred(rct_drawpixelinfo *dpi, rct_string_id format, sint3 */ sint32 gfx_draw_string_centred_wrapped(rct_drawpixelinfo *dpi, void *args, sint32 x, sint32 y, sint32 width, rct_string_id format, sint32 colour) { - sint32 font_height, line_height, line_y, num_lines; + sint32 font_height, line_height, line_y, num_lines; - if (gCurrentFontSpriteBase >= 0) { - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - } + if (gCurrentFontSpriteBase >= 0) { + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + } - char *buffer = gCommonStringFormatBuffer; - gfx_draw_string(dpi, "", colour, dpi->x, dpi->y); - format_string(buffer, 256, format, args); + char *buffer = gCommonStringFormatBuffer; + gfx_draw_string(dpi, "", colour, dpi->x, dpi->y); + format_string(buffer, 256, format, args); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_wrap_string(buffer, width, &num_lines, &font_height); - line_height = font_get_line_height(font_height); + gfx_wrap_string(buffer, width, &num_lines, &font_height); + line_height = font_get_line_height(font_height); - if (*buffer == FORMAT_OUTLINE) { - line_height = line_height + 1; - } + if (*buffer == FORMAT_OUTLINE) { + line_height = line_height + 1; + } - font_height = (line_height / 2) * num_lines; - line_y = y - font_height; + font_height = (line_height / 2) * num_lines; + line_y = y - font_height; - gCurrentFontFlags = 0; + gCurrentFontFlags = 0; - for (sint32 line = 0; line <= num_lines; ++line) { - sint32 half_width = gfx_get_string_width(buffer) / 2; - gfx_draw_string(dpi, buffer, TEXT_COLOUR_254, x - half_width, line_y); + for (sint32 line = 0; line <= num_lines; ++line) { + sint32 half_width = gfx_get_string_width(buffer) / 2; + gfx_draw_string(dpi, buffer, TEXT_COLOUR_254, x - half_width, line_y); - buffer = get_string_end(buffer) + 1; - line_y += line_height; - } + buffer = get_string_end(buffer) + 1; + line_y += line_height; + } - return line_y - y; + return line_y - y; } /** @@ -398,27 +398,27 @@ sint32 gfx_draw_string_centred_wrapped(rct_drawpixelinfo *dpi, void *args, sint3 */ sint32 gfx_draw_string_left_wrapped(rct_drawpixelinfo *dpi, void *args, sint32 x, sint32 y, sint32 width, rct_string_id format, sint32 colour) { - // font height might actually be something else - sint32 fontSpriteBase, lineHeight, lineY, numLines; + // font height might actually be something else + sint32 fontSpriteBase, lineHeight, lineY, numLines; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - char *buffer = gCommonStringFormatBuffer; - gfx_draw_string(dpi, "", colour, dpi->x, dpi->y); - format_string(buffer, 256, format, args); + char *buffer = gCommonStringFormatBuffer; + gfx_draw_string(dpi, "", colour, dpi->x, dpi->y); + format_string(buffer, 256, format, args); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_wrap_string(buffer, width, &numLines, &fontSpriteBase); - lineHeight = font_get_line_height(fontSpriteBase); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gfx_wrap_string(buffer, width, &numLines, &fontSpriteBase); + lineHeight = font_get_line_height(fontSpriteBase); - gCurrentFontFlags = 0; - lineY = y; - for (sint32 line = 0; line <= numLines; ++line) { - gfx_draw_string(dpi, buffer, TEXT_COLOUR_254, x, lineY); - buffer = get_string_end(buffer) + 1; - lineY += lineHeight; - } - return lineY - y; + gCurrentFontFlags = 0; + lineY = y; + for (sint32 line = 0; line <= numLines; ++line) { + gfx_draw_string(dpi, buffer, TEXT_COLOUR_254, x, lineY); + buffer = get_string_end(buffer) + 1; + lineY += lineHeight; + } + return lineY - y; } /** @@ -433,10 +433,10 @@ sint32 gfx_draw_string_left_wrapped(rct_drawpixelinfo *dpi, void *args, sint32 x */ void gfx_draw_string_left(rct_drawpixelinfo *dpi, rct_string_id format, void *args, sint32 colour, sint32 x, sint32 y) { - char* buffer = gCommonStringFormatBuffer; - format_string(buffer, 256, format, args); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_draw_string(dpi, buffer, colour, x, y); + char* buffer = gCommonStringFormatBuffer; + format_string(buffer, 256, format, args); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gfx_draw_string(dpi, buffer, colour, x, y); } /** @@ -444,11 +444,11 @@ void gfx_draw_string_left(rct_drawpixelinfo *dpi, rct_string_id format, void *ar */ void gfx_draw_string_left_centred(rct_drawpixelinfo *dpi, rct_string_id format, void *args, sint32 colour, sint32 x, sint32 y) { - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - char *buffer = gCommonStringFormatBuffer; - format_string(buffer, 256, format, args); - sint32 height = string_get_height_raw(buffer); - gfx_draw_string(dpi, buffer, colour, x, y - (height / 2)); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + char *buffer = gCommonStringFormatBuffer; + format_string(buffer, 256, format, args); + sint32 height = string_get_height_raw(buffer); + gfx_draw_string(dpi, buffer, colour, x, y - (height / 2)); } /** @@ -456,20 +456,20 @@ void gfx_draw_string_left_centred(rct_drawpixelinfo *dpi, rct_string_id format, */ static void colour_char(uint8 colour, uint16* current_font_flags, uint8* palette_pointer) { - sint32 eax; + sint32 eax; - rct_g1_element g1_element = g1Elements[SPR_TEXT_PALETTE]; - eax = ((uint32*)g1_element.offset)[colour & 0xFF]; + rct_g1_element g1_element = g1Elements[SPR_TEXT_PALETTE]; + eax = ((uint32*)g1_element.offset)[colour & 0xFF]; - if (!(*current_font_flags & 2)) { - eax = eax & 0x0FF0000FF; - } - // Adjust text palette. Store current colour? - palette_pointer[1] = eax & 0xFF; - palette_pointer[2] = (eax >> 8) & 0xFF; - palette_pointer[3] = (eax >> 16) & 0xFF; - palette_pointer[4] = (eax >> 24) & 0xFF; - unk_9ABDA4 = palette_pointer; + if (!(*current_font_flags & 2)) { + eax = eax & 0x0FF0000FF; + } + // Adjust text palette. Store current colour? + palette_pointer[1] = eax & 0xFF; + palette_pointer[2] = (eax >> 8) & 0xFF; + palette_pointer[3] = (eax >> 16) & 0xFF; + palette_pointer[4] = (eax >> 24) & 0xFF; + unk_9ABDA4 = palette_pointer; } /** @@ -478,19 +478,19 @@ static void colour_char(uint8 colour, uint16* current_font_flags, uint8* palette */ static void colour_char_window(uint8 colour, uint16* current_font_flags,uint8* palette_pointer) { - sint32 eax; + sint32 eax; - colour = NOT_TRANSLUCENT(colour); - eax = ColourMapA[colour].colour_11; - if (*current_font_flags & TEXT_DRAW_FLAG_OUTLINE) { - eax |= 0x0A0A00; - } - //Adjust text palette. Store current colour? - palette_pointer[1] = eax & 0xFF; - palette_pointer[2] = (eax >> 8) & 0xFF; - palette_pointer[3] = (eax >> 16) & 0xFF; - palette_pointer[4] = (eax >> 24) & 0xFF; - unk_9ABDA4 = palette_pointer; + colour = NOT_TRANSLUCENT(colour); + eax = ColourMapA[colour].colour_11; + if (*current_font_flags & TEXT_DRAW_FLAG_OUTLINE) { + eax |= 0x0A0A00; + } + //Adjust text palette. Store current colour? + palette_pointer[1] = eax & 0xFF; + palette_pointer[2] = (eax >> 8) & 0xFF; + palette_pointer[3] = (eax >> 16) & 0xFF; + palette_pointer[4] = (eax >> 24) & 0xFF; + unk_9ABDA4 = palette_pointer; } /** @@ -504,51 +504,51 @@ static void colour_char_window(uint8 colour, uint16* current_font_flags,uint8* p */ void gfx_draw_string(rct_drawpixelinfo *dpi, char *buffer, sint32 colour, sint32 x, sint32 y) { - ttf_draw_string(dpi, buffer, colour, x, y); + ttf_draw_string(dpi, buffer, colour, x, y); } void draw_string_left_underline(rct_drawpixelinfo *dpi, rct_string_id format, void *args, sint32 colour, sint32 x, sint32 y) { - char buffer[128]; - sint32 width; + char buffer[128]; + sint32 width; - format_string(buffer, 128, format, args); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - width = gfx_get_string_width(buffer); - gfx_draw_string(dpi, buffer, colour, x, y); - gfx_fill_rect(dpi, x, y + 11, x + width, y + 11, text_palette[1]); - if (text_palette[2] != 0) - gfx_fill_rect(dpi, x + 1, y + 12, x + width + 1, y + 12, text_palette[2]); + format_string(buffer, 128, format, args); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + width = gfx_get_string_width(buffer); + gfx_draw_string(dpi, buffer, colour, x, y); + gfx_fill_rect(dpi, x, y + 11, x + width, y + 11, text_palette[1]); + if (text_palette[2] != 0) + gfx_fill_rect(dpi, x + 1, y + 12, x + width + 1, y + 12, text_palette[2]); } void draw_string_right_underline(rct_drawpixelinfo *dpi, rct_string_id format, void *args, sint32 colour, sint32 x, sint32 y) { - char buffer[128]; - sint32 width; + char buffer[128]; + sint32 width; - format_string(buffer, 128, format, args); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - width = gfx_get_string_width(buffer); - x -= width; - gfx_draw_string(dpi, buffer, colour, x, y); - gfx_fill_rect(dpi, x, y + 11, x + width, y + 11, text_palette[1]); - if (text_palette[2] != 0) - gfx_fill_rect(dpi, x + 1, y + 12, x + width + 1, y + 12, text_palette[2]); + format_string(buffer, 128, format, args); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + width = gfx_get_string_width(buffer); + x -= width; + gfx_draw_string(dpi, buffer, colour, x, y); + gfx_fill_rect(dpi, x, y + 11, x + width, y + 11, text_palette[1]); + if (text_palette[2] != 0) + gfx_fill_rect(dpi, x + 1, y + 12, x + width + 1, y + 12, text_palette[2]); } void draw_string_centred_underline(rct_drawpixelinfo *dpi, rct_string_id format, void *args, sint32 colour, sint32 x, sint32 y) { - char buffer[128]; - sint32 width; + char buffer[128]; + sint32 width; - format_string(buffer, 128, format, args); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - width = gfx_get_string_width(buffer); - x -= width / 2; - gfx_draw_string(dpi, buffer, colour, x, y); - gfx_fill_rect(dpi, x, y + 11, x + width, y + 11, text_palette[1]); - if (text_palette[2] != 0) - gfx_fill_rect(dpi, x + 1, y + 12, x + width + 1, y + 12, text_palette[2]); + format_string(buffer, 128, format, args); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + width = gfx_get_string_width(buffer); + x -= width / 2; + gfx_draw_string(dpi, buffer, colour, x, y); + gfx_fill_rect(dpi, x, y + 11, x + width, y + 11, text_palette[1]); + if (text_palette[2] != 0) + gfx_fill_rect(dpi, x + 1, y + 12, x + width + 1, y + 12, text_palette[2]); } /** @@ -563,88 +563,88 @@ void draw_string_centred_underline(rct_drawpixelinfo *dpi, rct_string_id format, */ void draw_string_centred_raw(rct_drawpixelinfo *dpi, sint32 x, sint32 y, sint32 numLines, char *text) { - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_draw_string(dpi, "", COLOUR_BLACK, dpi->x, dpi->y); - gCurrentFontFlags = 0; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gfx_draw_string(dpi, "", COLOUR_BLACK, dpi->x, dpi->y); + gCurrentFontFlags = 0; - for (sint32 i = 0; i <= numLines; i++) { - sint32 width = gfx_get_string_width(text); - gfx_draw_string(dpi, text, TEXT_COLOUR_254, x - (width / 2), y); + for (sint32 i = 0; i <= numLines; i++) { + sint32 width = gfx_get_string_width(text); + gfx_draw_string(dpi, text, TEXT_COLOUR_254, x - (width / 2), y); - const utf8 *ch = text; - const utf8 *nextCh = 0; - sint32 codepoint = 0; + const utf8 *ch = text; + const utf8 *nextCh = 0; + sint32 codepoint = 0; - while ((codepoint = utf8_get_next(ch, (const utf8**)&nextCh)) != 0) { - ch = nextCh; - } - text = (char*)(ch + 1); + while ((codepoint = utf8_get_next(ch, (const utf8**)&nextCh)) != 0) { + ch = nextCh; + } + text = (char*)(ch + 1); - y += font_get_line_height(gCurrentFontSpriteBase); - } + y += font_get_line_height(gCurrentFontSpriteBase); + } } sint32 string_get_height_raw(char *buffer) { - uint16 fontBase = gCurrentFontSpriteBase; + uint16 fontBase = gCurrentFontSpriteBase; - sint32 height = 0; - if (fontBase <= FONT_SPRITE_BASE_MEDIUM) - height += 10; - else if (fontBase == FONT_SPRITE_BASE_TINY) - height += 6; + sint32 height = 0; + if (fontBase <= FONT_SPRITE_BASE_MEDIUM) + height += 10; + else if (fontBase == FONT_SPRITE_BASE_TINY) + height += 6; - char *ch = buffer; - while (*ch != 0) { - char c = *ch++; - switch (c) { - case FORMAT_NEWLINE: - if (fontBase <= 224) { - height += 10; - break; - } else if (fontBase == 448) { - height += 6; - break; - } - height += 18; - break; - case FORMAT_NEWLINE_SMALLER: - if (fontBase <= 224) { - height += 5; - break; - } else if (fontBase == 448) { - height += 3; - break; - } - height += 9; - break; - case FORMAT_TINYFONT: - fontBase = 448; - break; - case FORMAT_BIGFONT: - fontBase = 672; - break; - case FORMAT_MEDIUMFONT: - fontBase = 224; - break; - case FORMAT_SMALLFONT: - fontBase = 0; - break; - default: - if (c >= 32) continue; - if (c <= 4) { - ch++; - continue; - } - if (c <= 16) continue; - ch += 2; - if (c <= 22) continue; - ch += 2; - break; - } - } + char *ch = buffer; + while (*ch != 0) { + char c = *ch++; + switch (c) { + case FORMAT_NEWLINE: + if (fontBase <= 224) { + height += 10; + break; + } else if (fontBase == 448) { + height += 6; + break; + } + height += 18; + break; + case FORMAT_NEWLINE_SMALLER: + if (fontBase <= 224) { + height += 5; + break; + } else if (fontBase == 448) { + height += 3; + break; + } + height += 9; + break; + case FORMAT_TINYFONT: + fontBase = 448; + break; + case FORMAT_BIGFONT: + fontBase = 672; + break; + case FORMAT_MEDIUMFONT: + fontBase = 224; + break; + case FORMAT_SMALLFONT: + fontBase = 0; + break; + default: + if (c >= 32) continue; + if (c <= 4) { + ch++; + continue; + } + if (c <= 16) continue; + ch += 2; + if (c <= 22) continue; + ch += 2; + break; + } + } - return height; + return height; } /** @@ -662,672 +662,672 @@ sint32 string_get_height_raw(char *buffer) */ void gfx_draw_string_centred_wrapped_partial(rct_drawpixelinfo *dpi, sint32 x, sint32 y, sint32 width, sint32 colour, rct_string_id format, void *args, sint32 ticks) { - sint32 numLines, fontSpriteBase, lineHeight, lineY; - utf8 *buffer = gCommonStringFormatBuffer; + sint32 numLines, fontSpriteBase, lineHeight, lineY; + utf8 *buffer = gCommonStringFormatBuffer; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_draw_string(dpi, "", colour, dpi->x, dpi->y); - format_string(buffer, 256, format, args); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gfx_draw_string(dpi, "", colour, dpi->x, dpi->y); + format_string(buffer, 256, format, args); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_wrap_string(buffer, width, &numLines, &fontSpriteBase); - lineHeight = font_get_line_height(fontSpriteBase); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gfx_wrap_string(buffer, width, &numLines, &fontSpriteBase); + lineHeight = font_get_line_height(fontSpriteBase); - sint32 numCharactersDrawn = 0; - sint32 numCharactersToDraw = ticks; + sint32 numCharactersDrawn = 0; + sint32 numCharactersToDraw = ticks; - gCurrentFontFlags = 0; - lineY = y - ((numLines * lineHeight) / 2); - for (sint32 line = 0; line <= numLines; line++) { - sint32 halfWidth = gfx_get_string_width(buffer) / 2; + gCurrentFontFlags = 0; + lineY = y - ((numLines * lineHeight) / 2); + for (sint32 line = 0; line <= numLines; line++) { + sint32 halfWidth = gfx_get_string_width(buffer) / 2; - utf8 *ch = buffer; - utf8 *nextCh; - sint32 codepoint; - while ((codepoint = utf8_get_next(ch, (const utf8**)&nextCh)) != 0) { - if (!utf8_is_format_code(codepoint)) { - numCharactersDrawn++; - if (numCharactersDrawn > numCharactersToDraw) { - *ch = 0; - break; - } - } - ch = nextCh; - } + utf8 *ch = buffer; + utf8 *nextCh; + sint32 codepoint; + while ((codepoint = utf8_get_next(ch, (const utf8**)&nextCh)) != 0) { + if (!utf8_is_format_code(codepoint)) { + numCharactersDrawn++; + if (numCharactersDrawn > numCharactersToDraw) { + *ch = 0; + break; + } + } + ch = nextCh; + } - gfx_draw_string(dpi, buffer, TEXT_COLOUR_254, x - halfWidth, lineY); + gfx_draw_string(dpi, buffer, TEXT_COLOUR_254, x - halfWidth, lineY); - if (numCharactersDrawn > numCharactersToDraw) { - break; - } + if (numCharactersDrawn > numCharactersToDraw) { + break; + } - buffer = get_string_end(buffer) + 1; - lineY += lineHeight; - } + buffer = get_string_end(buffer) + 1; + lineY += lineHeight; + } } #ifndef NO_TTF static uint32 _ttf_surface_cache_hash(TTF_Font *font, const utf8 *text) { - uint32 hash = (uint32)((((uintptr_t)font * 23) ^ 0xAAAAAAAA) & 0xFFFFFFFF); - for (const utf8 *ch = text; *ch != 0; ch++) { - hash = ror32(hash, 3) ^ (*ch * 13); - } - return hash; + uint32 hash = (uint32)((((uintptr_t)font * 23) ^ 0xAAAAAAAA) & 0xFFFFFFFF); + for (const utf8 *ch = text; *ch != 0; ch++) { + hash = ror32(hash, 3) ^ (*ch * 13); + } + return hash; } static void _ttf_surface_cache_dispose(ttf_cache_entry *entry) { - if (entry->surface != NULL) { - SDL_FreeSurface(entry->surface); - free(entry->text); + if (entry->surface != NULL) { + SDL_FreeSurface(entry->surface); + free(entry->text); - entry->surface = NULL; - entry->font = NULL; - entry->text = NULL; - } + entry->surface = NULL; + entry->font = NULL; + entry->text = NULL; + } } static void _ttf_surface_cache_dispose_all() { - for (sint32 i = 0; i < TTF_SURFACE_CACHE_SIZE; i++) { - _ttf_surface_cache_dispose(&_ttfSurfaceCache[i]); - _ttfSurfaceCacheCount--; - } + for (sint32 i = 0; i < TTF_SURFACE_CACHE_SIZE; i++) { + _ttf_surface_cache_dispose(&_ttfSurfaceCache[i]); + _ttfSurfaceCacheCount--; + } } SDL_Surface *ttf_surface_cache_get_or_add(TTF_Font *font, const utf8 *text) { - ttf_cache_entry *entry; + ttf_cache_entry *entry; - uint32 hash = _ttf_surface_cache_hash(font, text); - sint32 index = hash % TTF_SURFACE_CACHE_SIZE; - for (sint32 i = 0; i < TTF_SURFACE_CACHE_SIZE; i++) { - entry = &_ttfSurfaceCache[index]; + uint32 hash = _ttf_surface_cache_hash(font, text); + sint32 index = hash % TTF_SURFACE_CACHE_SIZE; + for (sint32 i = 0; i < TTF_SURFACE_CACHE_SIZE; i++) { + entry = &_ttfSurfaceCache[index]; - // Check if entry is a hit - if (entry->surface == NULL) break; - if (entry->font == font && strcmp(entry->text, text) == 0) { - _ttfSurfaceCacheHitCount++; - entry->lastUseTick = gCurrentDrawCount; - return entry->surface; - } + // Check if entry is a hit + if (entry->surface == NULL) break; + if (entry->font == font && strcmp(entry->text, text) == 0) { + _ttfSurfaceCacheHitCount++; + entry->lastUseTick = gCurrentDrawCount; + return entry->surface; + } - // If entry hasn't been used for a while, replace it - if (entry->lastUseTick < gCurrentDrawCount - 64) { - break; - } + // If entry hasn't been used for a while, replace it + if (entry->lastUseTick < gCurrentDrawCount - 64) { + break; + } - // Check if next entry is a hit - if (++index >= TTF_SURFACE_CACHE_SIZE) index = 0; - } + // Check if next entry is a hit + if (++index >= TTF_SURFACE_CACHE_SIZE) index = 0; + } - // Cache miss, replace entry with new surface - entry = &_ttfSurfaceCache[index]; - _ttf_surface_cache_dispose(entry); + // Cache miss, replace entry with new surface + entry = &_ttfSurfaceCache[index]; + _ttf_surface_cache_dispose(entry); - SDL_Color c = { 0, 0, 0, 255 }; - SDL_Surface *surface = TTF_RenderUTF8_Solid(font, text, c); - if (surface == NULL) { - return NULL; - } + SDL_Color c = { 0, 0, 0, 255 }; + SDL_Surface *surface = TTF_RenderUTF8_Solid(font, text, c); + if (surface == NULL) { + return NULL; + } - _ttfSurfaceCacheMissCount++; - // printf("CACHE HITS: %d MISSES: %d)\n", _ttfSurfaceCacheHitCount, _ttfSurfaceCacheMissCount); + _ttfSurfaceCacheMissCount++; + // printf("CACHE HITS: %d MISSES: %d)\n", _ttfSurfaceCacheHitCount, _ttfSurfaceCacheMissCount); - _ttfSurfaceCacheCount++; - entry->surface = surface; - entry->font = font; - entry->text = _strdup(text); - entry->lastUseTick = gCurrentDrawCount; - return entry->surface; + _ttfSurfaceCacheCount++; + entry->surface = surface; + entry->font = font; + entry->text = _strdup(text); + entry->lastUseTick = gCurrentDrawCount; + return entry->surface; } static void _ttf_getwidth_cache_dispose(ttf_getwidth_cache_entry *entry) { - if (entry->text != NULL) { - free(entry->text); + if (entry->text != NULL) { + free(entry->text); - entry->width = 0; - entry->font = NULL; - entry->text = NULL; - } + entry->width = 0; + entry->font = NULL; + entry->text = NULL; + } } static void _ttf_getwidth_cache_dispose_all() { - for (sint32 i = 0; i < TTF_GETWIDTH_CACHE_SIZE; i++) { - _ttf_getwidth_cache_dispose(&_ttfGetWidthCache[i]); - _ttfGetWidthCacheCount--; - } + for (sint32 i = 0; i < TTF_GETWIDTH_CACHE_SIZE; i++) { + _ttf_getwidth_cache_dispose(&_ttfGetWidthCache[i]); + _ttfGetWidthCacheCount--; + } } static uint32 _ttf_getwidth_cache_get_or_add(TTF_Font *font, const utf8 *text) { - ttf_getwidth_cache_entry *entry; + ttf_getwidth_cache_entry *entry; - uint32 hash = _ttf_surface_cache_hash(font, text); - sint32 index = hash % TTF_GETWIDTH_CACHE_SIZE; - for (sint32 i = 0; i < TTF_GETWIDTH_CACHE_SIZE; i++) { - entry = &_ttfGetWidthCache[index]; + uint32 hash = _ttf_surface_cache_hash(font, text); + sint32 index = hash % TTF_GETWIDTH_CACHE_SIZE; + for (sint32 i = 0; i < TTF_GETWIDTH_CACHE_SIZE; i++) { + entry = &_ttfGetWidthCache[index]; - // Check if entry is a hit - if (entry->text == NULL) break; - if (entry->font == font && strcmp(entry->text, text) == 0) { - _ttfGetWidthCacheHitCount++; - entry->lastUseTick = gCurrentDrawCount; - return entry->width; - } + // Check if entry is a hit + if (entry->text == NULL) break; + if (entry->font == font && strcmp(entry->text, text) == 0) { + _ttfGetWidthCacheHitCount++; + entry->lastUseTick = gCurrentDrawCount; + return entry->width; + } - // If entry hasn't been used for a while, replace it - if (entry->lastUseTick < gCurrentDrawCount - 64) { - break; - } + // If entry hasn't been used for a while, replace it + if (entry->lastUseTick < gCurrentDrawCount - 64) { + break; + } - // Check if next entry is a hit - if (++index >= TTF_GETWIDTH_CACHE_SIZE) index = 0; - } + // Check if next entry is a hit + if (++index >= TTF_GETWIDTH_CACHE_SIZE) index = 0; + } - // Cache miss, replace entry with new width - entry = &_ttfGetWidthCache[index]; - _ttf_getwidth_cache_dispose(entry); + // Cache miss, replace entry with new width + entry = &_ttfGetWidthCache[index]; + _ttf_getwidth_cache_dispose(entry); - sint32 width, height; - TTF_SizeUTF8(font, text, &width, &height); + sint32 width, height; + TTF_SizeUTF8(font, text, &width, &height); - _ttfGetWidthCacheMissCount++; + _ttfGetWidthCacheMissCount++; - _ttfGetWidthCacheCount++; - entry->width = width; - entry->font = font; - entry->text = _strdup(text); - entry->lastUseTick = gCurrentDrawCount; - return entry->width; + _ttfGetWidthCacheCount++; + entry->width = width; + entry->font = font; + entry->text = _strdup(text); + entry->lastUseTick = gCurrentDrawCount; + return entry->width; } bool ttf_initialise() { - if (!_ttfInitialised) { - if (TTF_Init() != 0) { - return false; - } + if (!_ttfInitialised) { + if (TTF_Init() != 0) { + return false; + } - for (sint32 i = 0; i < 4; i++) { - TTFFontDescriptor *fontDesc = &(gCurrentTTFFontSet->size[i]); + for (sint32 i = 0; i < 4; i++) { + TTFFontDescriptor *fontDesc = &(gCurrentTTFFontSet->size[i]); - utf8 fontPath[MAX_PATH]; - if (!platform_get_font_path(fontDesc, fontPath, sizeof(fontPath))) { - log_error("Unable to load font '%s'", fontDesc->font_name); - return false; - } + utf8 fontPath[MAX_PATH]; + if (!platform_get_font_path(fontDesc, fontPath, sizeof(fontPath))) { + log_error("Unable to load font '%s'", fontDesc->font_name); + return false; + } - fontDesc->font = TTF_OpenFont(fontPath, fontDesc->ptSize); - if (fontDesc->font == NULL) { - log_error("Unable to load '%s'", fontPath); - return false; - } - } + fontDesc->font = TTF_OpenFont(fontPath, fontDesc->ptSize); + if (fontDesc->font == NULL) { + log_error("Unable to load '%s'", fontPath); + return false; + } + } - _ttfInitialised = true; - } - return true; + _ttfInitialised = true; + } + return true; } void ttf_dispose() { - if (!_ttfInitialised) - return; + if (!_ttfInitialised) + return; - _ttf_surface_cache_dispose_all(); - _ttf_getwidth_cache_dispose_all(); + _ttf_surface_cache_dispose_all(); + _ttf_getwidth_cache_dispose_all(); - for (sint32 i = 0; i < 4; i++) { - TTFFontDescriptor *fontDesc = &(gCurrentTTFFontSet->size[i]); - if (fontDesc->font != NULL) { - TTF_CloseFont(fontDesc->font); - fontDesc->font = NULL; - } - } + for (sint32 i = 0; i < 4; i++) { + TTFFontDescriptor *fontDesc = &(gCurrentTTFFontSet->size[i]); + if (fontDesc->font != NULL) { + TTF_CloseFont(fontDesc->font); + fontDesc->font = NULL; + } + } - TTF_Quit(); - _ttfInitialised = false; + TTF_Quit(); + _ttfInitialised = false; } TTFFontDescriptor *ttf_get_font_from_sprite_base(uint16 spriteBase) { - return &gCurrentTTFFontSet->size[font_get_size_from_sprite_base(spriteBase)]; + return &gCurrentTTFFontSet->size[font_get_size_from_sprite_base(spriteBase)]; } #else bool ttf_initialise() { - return false; + return false; } void ttf_dispose() {} #endif // NO_TTF typedef struct text_draw_info { - sint32 startX; - sint32 startY; - sint32 x; - sint32 y; - sint32 maxX; - sint32 maxY; - sint32 flags; - uint8 palette[8]; - uint16 font_sprite_base; - const sint8 *y_offset; + sint32 startX; + sint32 startY; + sint32 x; + sint32 y; + sint32 maxX; + sint32 maxY; + sint32 flags; + uint8 palette[8]; + uint16 font_sprite_base; + const sint8 *y_offset; } text_draw_info; static void ttf_draw_character_sprite(rct_drawpixelinfo *dpi, sint32 codepoint, text_draw_info *info) { - sint32 characterWidth = font_sprite_get_codepoint_width(info->font_sprite_base, codepoint); - sint32 sprite = font_sprite_get_codepoint_sprite(info->font_sprite_base, codepoint); + sint32 characterWidth = font_sprite_get_codepoint_width(info->font_sprite_base, codepoint); + sint32 sprite = font_sprite_get_codepoint_sprite(info->font_sprite_base, codepoint); - if (!(info->flags & TEXT_DRAW_FLAG_NO_DRAW)) { - unk_9ABDA4 = &info->palette; + if (!(info->flags & TEXT_DRAW_FLAG_NO_DRAW)) { + unk_9ABDA4 = &info->palette; - sint32 x = info->x; - sint32 y = info->y; - if (info->flags & TEXT_DRAW_FLAG_Y_OFFSET_EFFECT) { - y += *info->y_offset++; - } - gfx_draw_glpyh(dpi, sprite, x, y, info->palette); - } + sint32 x = info->x; + sint32 y = info->y; + if (info->flags & TEXT_DRAW_FLAG_Y_OFFSET_EFFECT) { + y += *info->y_offset++; + } + gfx_draw_glpyh(dpi, sprite, x, y, info->palette); + } - info->x += characterWidth; + info->x += characterWidth; } static void ttf_draw_string_raw_sprite(rct_drawpixelinfo *dpi, const utf8 *text, text_draw_info *info) { - const utf8 *ch = text; - sint32 codepoint; + const utf8 *ch = text; + sint32 codepoint; - while (!utf8_is_format_code(codepoint = utf8_get_next(ch, &ch))) { - ttf_draw_character_sprite(dpi, codepoint, info); - }; + while (!utf8_is_format_code(codepoint = utf8_get_next(ch, &ch))) { + ttf_draw_character_sprite(dpi, codepoint, info); + }; } #ifndef NO_TTF static void ttf_draw_string_raw_ttf(rct_drawpixelinfo *dpi, const utf8 *text, text_draw_info *info) { - if (!_ttfInitialised && !ttf_initialise()) - return; + if (!_ttfInitialised && !ttf_initialise()) + return; - TTFFontDescriptor *fontDesc = ttf_get_font_from_sprite_base(info->font_sprite_base); - if (fontDesc->font == NULL) { - ttf_draw_string_raw_sprite(dpi, text, info); - return; - } + TTFFontDescriptor *fontDesc = ttf_get_font_from_sprite_base(info->font_sprite_base); + if (fontDesc->font == NULL) { + ttf_draw_string_raw_sprite(dpi, text, info); + return; + } - if (info->flags & TEXT_DRAW_FLAG_NO_DRAW) { - info->x += _ttf_getwidth_cache_get_or_add(fontDesc->font, text); - return; - } else { - uint8 colour = info->palette[1]; - SDL_Surface *surface = ttf_surface_cache_get_or_add(fontDesc->font, text); - if (surface == NULL) - return; + if (info->flags & TEXT_DRAW_FLAG_NO_DRAW) { + info->x += _ttf_getwidth_cache_get_or_add(fontDesc->font, text); + return; + } else { + uint8 colour = info->palette[1]; + SDL_Surface *surface = ttf_surface_cache_get_or_add(fontDesc->font, text); + if (surface == NULL) + return; - if (SDL_MUSTLOCK(surface)) { - if (SDL_LockSurface(surface) != 0) { - return; - } - } + if (SDL_MUSTLOCK(surface)) { + if (SDL_LockSurface(surface) != 0) { + return; + } + } - sint32 drawX = info->x + fontDesc->offset_x; - sint32 drawY = info->y + fontDesc->offset_y; - sint32 width = surface->w; - sint32 height = surface->h; + sint32 drawX = info->x + fontDesc->offset_x; + sint32 drawY = info->y + fontDesc->offset_y; + sint32 width = surface->w; + sint32 height = surface->h; - sint32 overflowX = (dpi->x + dpi->width) - (drawX + width); - sint32 overflowY = (dpi->y + dpi->height) - (drawY + height); - if (overflowX < 0) width += overflowX; - if (overflowY < 0) height += overflowY; - sint32 skipX = drawX - dpi->x; - sint32 skipY = drawY - dpi->y; - info->x += width; + sint32 overflowX = (dpi->x + dpi->width) - (drawX + width); + sint32 overflowY = (dpi->y + dpi->height) - (drawY + height); + if (overflowX < 0) width += overflowX; + if (overflowY < 0) height += overflowY; + sint32 skipX = drawX - dpi->x; + sint32 skipY = drawY - dpi->y; + info->x += width; - uint8 *src = surface->pixels; - uint8 *dst = dpi->bits; + uint8 *src = surface->pixels; + uint8 *dst = dpi->bits; - if (skipX < 0) { - width += skipX; - src += -skipX; - skipX = 0; - } - if (skipY < 0) { - height += skipY; - src += (-skipY * surface->pitch); - skipY = 0; - } + if (skipX < 0) { + width += skipX; + src += -skipX; + skipX = 0; + } + if (skipY < 0) { + height += skipY; + src += (-skipY * surface->pitch); + skipY = 0; + } - dst += skipX; - dst += skipY * (dpi->width + dpi->pitch); + dst += skipX; + dst += skipY * (dpi->width + dpi->pitch); - sint32 srcScanSkip = surface->pitch - width; - sint32 dstScanSkip = dpi->width + dpi->pitch - width; - uint8 *dst_orig = dst; - uint8 *src_orig = src; + sint32 srcScanSkip = surface->pitch - width; + sint32 dstScanSkip = dpi->width + dpi->pitch - width; + uint8 *dst_orig = dst; + uint8 *src_orig = src; - // Draw shadow/outline - if (info->flags & TEXT_DRAW_FLAG_OUTLINE) { - for (sint32 yy = 0; yy < height - 0; yy++) { - for (sint32 xx = 0; xx < width - 0; xx++) { - if (*src != 0) { - *(dst + 1) = info->palette[3]; // right - *(dst - 1) = info->palette[3]; // left - *(dst - width - dstScanSkip) = info->palette[3]; // top - *(dst + width + dstScanSkip) = info->palette[3]; // bottom - } - src++; - dst++; - } - // Skip any remaining bits - src += srcScanSkip; - dst += dstScanSkip; - } - } - { - dst = dst_orig; - src = src_orig; - for (sint32 yy = 0; yy < height; yy++) { - for (sint32 xx = 0; xx < width; xx++) { - if (*src != 0) { - if (info->flags & TEXT_DRAW_FLAG_INSET) { - *(dst + width + dstScanSkip + 1) = info->palette[3]; - } - *dst = colour; - } - src++; - dst++; - } - src += srcScanSkip; - dst += dstScanSkip; - } - } + // Draw shadow/outline + if (info->flags & TEXT_DRAW_FLAG_OUTLINE) { + for (sint32 yy = 0; yy < height - 0; yy++) { + for (sint32 xx = 0; xx < width - 0; xx++) { + if (*src != 0) { + *(dst + 1) = info->palette[3]; // right + *(dst - 1) = info->palette[3]; // left + *(dst - width - dstScanSkip) = info->palette[3]; // top + *(dst + width + dstScanSkip) = info->palette[3]; // bottom + } + src++; + dst++; + } + // Skip any remaining bits + src += srcScanSkip; + dst += dstScanSkip; + } + } + { + dst = dst_orig; + src = src_orig; + for (sint32 yy = 0; yy < height; yy++) { + for (sint32 xx = 0; xx < width; xx++) { + if (*src != 0) { + if (info->flags & TEXT_DRAW_FLAG_INSET) { + *(dst + width + dstScanSkip + 1) = info->palette[3]; + } + *dst = colour; + } + src++; + dst++; + } + src += srcScanSkip; + dst += dstScanSkip; + } + } - if (SDL_MUSTLOCK(surface)) { - SDL_UnlockSurface(surface); - } - } + if (SDL_MUSTLOCK(surface)) { + SDL_UnlockSurface(surface); + } + } } #endif // NO_TTF static void ttf_draw_string_raw(rct_drawpixelinfo *dpi, const utf8 *text, text_draw_info *info) { #ifndef NO_TTF - if (info->flags & TEXT_DRAW_FLAG_TTF) { - ttf_draw_string_raw_ttf(dpi, text, info); - } else { + if (info->flags & TEXT_DRAW_FLAG_TTF) { + ttf_draw_string_raw_ttf(dpi, text, info); + } else { #endif // NO_TTF - ttf_draw_string_raw_sprite(dpi, text, info); + ttf_draw_string_raw_sprite(dpi, text, info); #ifndef NO_TTF - } + } #endif // NO_TTF } static const utf8 *ttf_process_format_code(rct_drawpixelinfo *dpi, const utf8 *text, text_draw_info *info) { - const utf8 *nextCh; - sint32 codepoint; + const utf8 *nextCh; + sint32 codepoint; - codepoint = utf8_get_next(text, &nextCh); - switch (codepoint) { - case FORMAT_MOVE_X: - info->x = info->startX + (uint8)(*nextCh++); - break; - case FORMAT_ADJUST_PALETTE: - { - uint16 eax = palette_to_g1_offset[(uint8)*nextCh++]; - rct_g1_element *g1Element = &g1Elements[eax]; - uint32 ebx = g1Element->offset[249] + 256; - if (!(info->flags & TEXT_DRAW_FLAG_OUTLINE)) { - ebx = ebx & 0xFF; - } - info->palette[1] = ebx & 0xFF; - info->palette[2] = (ebx >> 8) & 0xFF; + codepoint = utf8_get_next(text, &nextCh); + switch (codepoint) { + case FORMAT_MOVE_X: + info->x = info->startX + (uint8)(*nextCh++); + break; + case FORMAT_ADJUST_PALETTE: + { + uint16 eax = palette_to_g1_offset[(uint8)*nextCh++]; + rct_g1_element *g1Element = &g1Elements[eax]; + uint32 ebx = g1Element->offset[249] + 256; + if (!(info->flags & TEXT_DRAW_FLAG_OUTLINE)) { + ebx = ebx & 0xFF; + } + info->palette[1] = ebx & 0xFF; + info->palette[2] = (ebx >> 8) & 0xFF; - // Adjust the text palette - memcpy(info->palette + 3, &(g1Element->offset[247]), 2); - memcpy(info->palette + 5, &(g1Element->offset[250]), 2); + // Adjust the text palette + memcpy(info->palette + 3, &(g1Element->offset[247]), 2); + memcpy(info->palette + 5, &(g1Element->offset[250]), 2); - // Set the palette pointer - unk_9ABDA4 = &info->palette; - break; - } - case 3: - case 4: - nextCh++; - break; - case FORMAT_NEWLINE: - info->x = info->startX; - info->y += font_get_line_height(info->font_sprite_base); - break; - case FORMAT_NEWLINE_SMALLER: - info->x = info->startX; - info->y += font_get_line_height_small(info->font_sprite_base); - break; - case FORMAT_TINYFONT: - info->font_sprite_base = 448; - break; - case FORMAT_SMALLFONT: - info->font_sprite_base = 0; - break; - case FORMAT_MEDIUMFONT: - info->font_sprite_base = 224; - break; - case FORMAT_BIGFONT: - info->font_sprite_base = 672; - break; - case FORMAT_OUTLINE: - info->flags |= TEXT_DRAW_FLAG_OUTLINE; - break; - case FORMAT_OUTLINE_OFF: - info->flags &= ~TEXT_DRAW_FLAG_OUTLINE; - break; - case FORMAT_WINDOW_COLOUR_1: - { - uint16 flags = info->flags; - colour_char_window(gCurrentWindowColours[0], &flags, info->palette); - break; - } - case FORMAT_WINDOW_COLOUR_2: - { - uint16 flags = info->flags; - colour_char_window(gCurrentWindowColours[1], &flags, info->palette); - break; - } - case FORMAT_WINDOW_COLOUR_3: - { - uint16 flags = info->flags; - colour_char_window(gCurrentWindowColours[2], &flags, info->palette); - break; - } - case 0x10: - break; - case FORMAT_INLINE_SPRITE: - { - uint32 imageId = *((uint32*)(nextCh)); - rct_g1_element *g1Element = &g1Elements[imageId & 0x7FFFF]; - if (!(info->flags & TEXT_DRAW_FLAG_NO_DRAW)) { - gfx_draw_sprite(dpi, imageId, info->x, info->y, 0); - } - info->x += g1Element->width; - nextCh += 4; - break; - } - default: - if (codepoint >= FORMAT_COLOUR_CODE_START && codepoint <= FORMAT_COLOUR_CODE_END) { - uint16 flags = info->flags; - colour_char(codepoint - FORMAT_COLOUR_CODE_START, &flags, info->palette); - } else if (codepoint <= 0x16) { //case 0x11? FORMAT_NEW_LINE_X_Y - nextCh += 2; - } else { - nextCh += 4;//never happens? - } - break; - } - return nextCh; + // Set the palette pointer + unk_9ABDA4 = &info->palette; + break; + } + case 3: + case 4: + nextCh++; + break; + case FORMAT_NEWLINE: + info->x = info->startX; + info->y += font_get_line_height(info->font_sprite_base); + break; + case FORMAT_NEWLINE_SMALLER: + info->x = info->startX; + info->y += font_get_line_height_small(info->font_sprite_base); + break; + case FORMAT_TINYFONT: + info->font_sprite_base = 448; + break; + case FORMAT_SMALLFONT: + info->font_sprite_base = 0; + break; + case FORMAT_MEDIUMFONT: + info->font_sprite_base = 224; + break; + case FORMAT_BIGFONT: + info->font_sprite_base = 672; + break; + case FORMAT_OUTLINE: + info->flags |= TEXT_DRAW_FLAG_OUTLINE; + break; + case FORMAT_OUTLINE_OFF: + info->flags &= ~TEXT_DRAW_FLAG_OUTLINE; + break; + case FORMAT_WINDOW_COLOUR_1: + { + uint16 flags = info->flags; + colour_char_window(gCurrentWindowColours[0], &flags, info->palette); + break; + } + case FORMAT_WINDOW_COLOUR_2: + { + uint16 flags = info->flags; + colour_char_window(gCurrentWindowColours[1], &flags, info->palette); + break; + } + case FORMAT_WINDOW_COLOUR_3: + { + uint16 flags = info->flags; + colour_char_window(gCurrentWindowColours[2], &flags, info->palette); + break; + } + case 0x10: + break; + case FORMAT_INLINE_SPRITE: + { + uint32 imageId = *((uint32*)(nextCh)); + rct_g1_element *g1Element = &g1Elements[imageId & 0x7FFFF]; + if (!(info->flags & TEXT_DRAW_FLAG_NO_DRAW)) { + gfx_draw_sprite(dpi, imageId, info->x, info->y, 0); + } + info->x += g1Element->width; + nextCh += 4; + break; + } + default: + if (codepoint >= FORMAT_COLOUR_CODE_START && codepoint <= FORMAT_COLOUR_CODE_END) { + uint16 flags = info->flags; + colour_char(codepoint - FORMAT_COLOUR_CODE_START, &flags, info->palette); + } else if (codepoint <= 0x16) { //case 0x11? FORMAT_NEW_LINE_X_Y + nextCh += 2; + } else { + nextCh += 4;//never happens? + } + break; + } + return nextCh; } static const utf8 *ttf_process_glyph_run(rct_drawpixelinfo *dpi, const utf8 *text, text_draw_info *info) { - utf8 buffer[512]; - const utf8 *ch = text; - const utf8 *lastCh; - sint32 codepoint; + utf8 buffer[512]; + const utf8 *ch = text; + const utf8 *lastCh; + sint32 codepoint; #ifndef NO_TTF - bool isTTF = info->flags & TEXT_DRAW_FLAG_TTF; + bool isTTF = info->flags & TEXT_DRAW_FLAG_TTF; #else - bool isTTF = false; + bool isTTF = false; #endif // NO_TTF - while (!utf8_is_format_code(codepoint = utf8_get_next(ch, &lastCh))) { - if (isTTF && utf8_should_use_sprite_for_codepoint(codepoint)) { - break; - } - ch = lastCh; - } - if (codepoint == 0) { - ttf_draw_string_raw(dpi, text, info); - return ch; - } else { - size_t length = (size_t)(ch - text); - memcpy(buffer, text, length); - buffer[length] = 0; - ttf_draw_string_raw(dpi, buffer, info); - return ch; - } + while (!utf8_is_format_code(codepoint = utf8_get_next(ch, &lastCh))) { + if (isTTF && utf8_should_use_sprite_for_codepoint(codepoint)) { + break; + } + ch = lastCh; + } + if (codepoint == 0) { + ttf_draw_string_raw(dpi, text, info); + return ch; + } else { + size_t length = (size_t)(ch - text); + memcpy(buffer, text, length); + buffer[length] = 0; + ttf_draw_string_raw(dpi, buffer, info); + return ch; + } } static void ttf_process_string(rct_drawpixelinfo *dpi, const utf8 *text, text_draw_info *info) { - const utf8 *ch = text; - const utf8 *nextCh; - sint32 codepoint; + const utf8 *ch = text; + const utf8 *nextCh; + sint32 codepoint; #ifndef NO_TTF - bool isTTF = info->flags & TEXT_DRAW_FLAG_TTF; + bool isTTF = info->flags & TEXT_DRAW_FLAG_TTF; #else - bool isTTF = false; + bool isTTF = false; #endif // NO_TTF - while ((codepoint = utf8_get_next(ch, &nextCh)) != 0) { - if (utf8_is_format_code(codepoint)) { - ch = ttf_process_format_code(dpi, ch, info); - } else if (isTTF && utf8_should_use_sprite_for_codepoint(codepoint)) { - ttf_draw_character_sprite(dpi, codepoint, info); - ch = nextCh; - } else { - ch = ttf_process_glyph_run(dpi, ch, info); - } - info->maxX = max(info->maxX, info->x); - info->maxY = max(info->maxY, info->y); - } + while ((codepoint = utf8_get_next(ch, &nextCh)) != 0) { + if (utf8_is_format_code(codepoint)) { + ch = ttf_process_format_code(dpi, ch, info); + } else if (isTTF && utf8_should_use_sprite_for_codepoint(codepoint)) { + ttf_draw_character_sprite(dpi, codepoint, info); + ch = nextCh; + } else { + ch = ttf_process_glyph_run(dpi, ch, info); + } + info->maxX = max(info->maxX, info->x); + info->maxY = max(info->maxY, info->y); + } } static void ttf_process_initial_colour(sint32 colour, text_draw_info *info) { - if (colour != TEXT_COLOUR_254 && colour != TEXT_COLOUR_255) { - info->flags &= ~(TEXT_DRAW_FLAG_INSET | TEXT_DRAW_FLAG_OUTLINE | TEXT_DRAW_FLAG_DARK | TEXT_DRAW_FLAG_EXTRA_DARK); - if ((sint16)info->font_sprite_base < 0) { - info->flags |= TEXT_DRAW_FLAG_DARK; - if ((sint16)info->font_sprite_base == FONT_SPRITE_BASE_MEDIUM_EXTRA_DARK) { - info->flags |= TEXT_DRAW_FLAG_EXTRA_DARK; - } - info->font_sprite_base = FONT_SPRITE_BASE_MEDIUM; - } - if (colour & COLOUR_FLAG_OUTLINE) { - info->flags |= TEXT_DRAW_FLAG_OUTLINE; - } - colour &= ~COLOUR_FLAG_OUTLINE; - if (!(colour & COLOUR_FLAG_INSET)) { - if (!(info->flags & TEXT_DRAW_FLAG_INSET)) { - uint16 flags = info->flags; - colour_char_window(colour, &flags, (uint8*)&info->palette); - } - } else { - info->flags |= TEXT_DRAW_FLAG_INSET; - colour &= ~COLOUR_FLAG_INSET; + if (colour != TEXT_COLOUR_254 && colour != TEXT_COLOUR_255) { + info->flags &= ~(TEXT_DRAW_FLAG_INSET | TEXT_DRAW_FLAG_OUTLINE | TEXT_DRAW_FLAG_DARK | TEXT_DRAW_FLAG_EXTRA_DARK); + if ((sint16)info->font_sprite_base < 0) { + info->flags |= TEXT_DRAW_FLAG_DARK; + if ((sint16)info->font_sprite_base == FONT_SPRITE_BASE_MEDIUM_EXTRA_DARK) { + info->flags |= TEXT_DRAW_FLAG_EXTRA_DARK; + } + info->font_sprite_base = FONT_SPRITE_BASE_MEDIUM; + } + if (colour & COLOUR_FLAG_OUTLINE) { + info->flags |= TEXT_DRAW_FLAG_OUTLINE; + } + colour &= ~COLOUR_FLAG_OUTLINE; + if (!(colour & COLOUR_FLAG_INSET)) { + if (!(info->flags & TEXT_DRAW_FLAG_INSET)) { + uint16 flags = info->flags; + colour_char_window(colour, &flags, (uint8*)&info->palette); + } + } else { + info->flags |= TEXT_DRAW_FLAG_INSET; + colour &= ~COLOUR_FLAG_INSET; - uint32 eax; - if (info->flags & TEXT_DRAW_FLAG_DARK) { - if (info->flags & TEXT_DRAW_FLAG_EXTRA_DARK) { - eax = ColourMapA[colour].mid_light; - eax = eax << 16; - eax = eax | ColourMapA[colour].dark; - } else { - eax = ColourMapA[colour].light; - eax = eax << 16; - eax = eax | ColourMapA[colour].mid_dark; - } - } else { - eax = ColourMapA[colour].lighter; - eax = eax << 16; - eax = eax | ColourMapA[colour].mid_light; - } + uint32 eax; + if (info->flags & TEXT_DRAW_FLAG_DARK) { + if (info->flags & TEXT_DRAW_FLAG_EXTRA_DARK) { + eax = ColourMapA[colour].mid_light; + eax = eax << 16; + eax = eax | ColourMapA[colour].dark; + } else { + eax = ColourMapA[colour].light; + eax = eax << 16; + eax = eax | ColourMapA[colour].mid_dark; + } + } else { + eax = ColourMapA[colour].lighter; + eax = eax << 16; + eax = eax | ColourMapA[colour].mid_light; + } - // Adjust text palette. Store current colour? ; - info->palette[1] = eax & 0xFF; - info->palette[2] = (eax >> 8) & 0xFF; - info->palette[3] = (eax >> 16) & 0xFF; - info->palette[4] = (eax >> 24) & 0xFF; - unk_9ABDA4 = &info->palette; - eax = 0; - } - } + // Adjust text palette. Store current colour? ; + info->palette[1] = eax & 0xFF; + info->palette[2] = (eax >> 8) & 0xFF; + info->palette[3] = (eax >> 16) & 0xFF; + info->palette[4] = (eax >> 24) & 0xFF; + unk_9ABDA4 = &info->palette; + eax = 0; + } + } } static void ttf_draw_string(rct_drawpixelinfo *dpi, char *text, sint32 colour, sint32 x, sint32 y) { - if (text == NULL) return; + if (text == NULL) return; - text_draw_info info; - info.font_sprite_base = gCurrentFontSpriteBase; - info.flags = gCurrentFontFlags; - info.startX = x; - info.startY = x; - info.x = x; - info.y = y; + text_draw_info info; + info.font_sprite_base = gCurrentFontSpriteBase; + info.flags = gCurrentFontFlags; + info.startX = x; + info.startY = x; + info.x = x; + info.y = y; #ifndef NO_TTF - if (gUseTrueTypeFont) info.flags |= TEXT_DRAW_FLAG_TTF; + if (gUseTrueTypeFont) info.flags |= TEXT_DRAW_FLAG_TTF; #endif // NO_TTF - memcpy(info.palette, text_palette, sizeof(info.palette)); - ttf_process_initial_colour(colour, &info); - ttf_process_string(dpi, text, &info); - memcpy(text_palette, info.palette, sizeof(info.palette)); + memcpy(info.palette, text_palette, sizeof(info.palette)); + ttf_process_initial_colour(colour, &info); + ttf_process_string(dpi, text, &info); + memcpy(text_palette, info.palette, sizeof(info.palette)); - gCurrentFontSpriteBase = info.font_sprite_base; - gCurrentFontFlags = info.flags; + gCurrentFontSpriteBase = info.font_sprite_base; + gCurrentFontFlags = info.flags; - gLastDrawStringX = info.x; - gLastDrawStringY = info.y; + gLastDrawStringX = info.x; + gLastDrawStringY = info.y; } static sint32 ttf_get_string_width(const utf8 *text) { - text_draw_info info; - info.font_sprite_base = gCurrentFontSpriteBase; - info.flags = gCurrentFontFlags; - info.startX = 0; - info.startY = 0; - info.x = 0; - info.y = 0; - info.maxX = 0; - info.maxY = 0; + text_draw_info info; + info.font_sprite_base = gCurrentFontSpriteBase; + info.flags = gCurrentFontFlags; + info.startX = 0; + info.startY = 0; + info.x = 0; + info.y = 0; + info.maxX = 0; + info.maxY = 0; - info.flags |= TEXT_DRAW_FLAG_NO_DRAW; + info.flags |= TEXT_DRAW_FLAG_NO_DRAW; #ifndef NO_TTF - if (gUseTrueTypeFont) info.flags |= TEXT_DRAW_FLAG_TTF; + if (gUseTrueTypeFont) info.flags |= TEXT_DRAW_FLAG_TTF; #endif // NO_TTF - ttf_process_string(NULL, text, &info); + ttf_process_string(NULL, text, &info); - return info.maxX; + return info.maxX; } /** @@ -1336,68 +1336,68 @@ static sint32 ttf_get_string_width(const utf8 *text) */ void gfx_draw_string_with_y_offsets(rct_drawpixelinfo *dpi, const utf8 *text, sint32 colour, sint32 x, sint32 y, const sint8 *yOffsets, bool forceSpriteFont) { - text_draw_info info; - info.font_sprite_base = gCurrentFontSpriteBase; - info.flags = gCurrentFontFlags; - info.startX = x; - info.startY = x; - info.x = x; - info.y = y; - info.y_offset = yOffsets; + text_draw_info info; + info.font_sprite_base = gCurrentFontSpriteBase; + info.flags = gCurrentFontFlags; + info.startX = x; + info.startY = x; + info.x = x; + info.y = y; + info.y_offset = yOffsets; - info.flags |= TEXT_DRAW_FLAG_Y_OFFSET_EFFECT; + info.flags |= TEXT_DRAW_FLAG_Y_OFFSET_EFFECT; #ifndef NO_TTF - if (!forceSpriteFont && gUseTrueTypeFont) { - info.flags |= TEXT_DRAW_FLAG_TTF; - } + if (!forceSpriteFont && gUseTrueTypeFont) { + info.flags |= TEXT_DRAW_FLAG_TTF; + } #endif // NO_TTF - memcpy(info.palette, text_palette, sizeof(info.palette)); - ttf_process_initial_colour(colour, &info); - ttf_process_string(dpi, text, &info); - memcpy(text_palette, info.palette, sizeof(info.palette)); + memcpy(info.palette, text_palette, sizeof(info.palette)); + ttf_process_initial_colour(colour, &info); + ttf_process_string(dpi, text, &info); + memcpy(text_palette, info.palette, sizeof(info.palette)); - gCurrentFontSpriteBase = info.font_sprite_base; - gCurrentFontFlags = info.flags; + gCurrentFontSpriteBase = info.font_sprite_base; + gCurrentFontFlags = info.flags; - gLastDrawStringX = info.x; - gLastDrawStringY = info.y; + gLastDrawStringX = info.x; + gLastDrawStringY = info.y; } void shorten_path(utf8 *buffer, size_t bufferSize, const utf8 *path, sint32 availableWidth) { - size_t length = strlen(path); + size_t length = strlen(path); - // Return full string if it fits - if (gfx_get_string_width((char*)path) <= availableWidth) { - safe_strcpy(buffer, path, bufferSize); - return; - } + // Return full string if it fits + if (gfx_get_string_width((char*)path) <= availableWidth) { + safe_strcpy(buffer, path, bufferSize); + return; + } - // Count path separators - sint32 path_separators = 0; - for (size_t x = 0; x < length; x++) { - if (path[x] == *PATH_SEPARATOR) { - path_separators++; - } - } + // Count path separators + sint32 path_separators = 0; + for (size_t x = 0; x < length; x++) { + if (path[x] == *PATH_SEPARATOR) { + path_separators++; + } + } - // TODO: Replace with unicode ellipsis when supported - safe_strcpy(buffer, "...", bufferSize); + // TODO: Replace with unicode ellipsis when supported + safe_strcpy(buffer, "...", bufferSize); - // Abbreviate beginning with xth separator - sint32 begin = -1; - for (sint32 x = 0; x < path_separators; x++){ - do { - begin++; - } while (path[begin] != *PATH_SEPARATOR); + // Abbreviate beginning with xth separator + sint32 begin = -1; + for (sint32 x = 0; x < path_separators; x++){ + do { + begin++; + } while (path[begin] != *PATH_SEPARATOR); - safe_strcpy(buffer + 3, path + begin, bufferSize - 3); - if (gfx_get_string_width(buffer) <= availableWidth) { - return; - } - } + safe_strcpy(buffer + 3, path + begin, bufferSize - 3); + if (gfx_get_string_width(buffer) <= availableWidth) { + return; + } + } - safe_strcpy(buffer, path, bufferSize); + safe_strcpy(buffer, path, bufferSize); } diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 7a0dd10d0e..de47e75630 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -57,17 +57,17 @@ uint8 _editorSelectedWaters[1]; uint8 _editorSelectedStexs[1]; uint8 * gEditorSelectedObjects[OBJECT_ENTRY_GROUP_COUNT] = { - _editorSelectedRides, - _editorSelectedSmallScenery, - _editorSelectedLargeScenery, - _editorSelectedWalls, - _editorSelectedBanners, - _editorSelectedFootpaths, - _editorSelectedFootpathAdditions, - _editorSelectedSceneryGroups, - _editorSelectedParkEntrances, - _editorSelectedWaters, - _editorSelectedStexs, + _editorSelectedRides, + _editorSelectedSmallScenery, + _editorSelectedLargeScenery, + _editorSelectedWalls, + _editorSelectedBanners, + _editorSelectedFootpaths, + _editorSelectedFootpathAdditions, + _editorSelectedSceneryGroups, + _editorSelectedParkEntrances, + _editorSelectedWaters, + _editorSelectedStexs, }; static void editor_convert_save_to_scenario_callback(sint32 result, const utf8 * path); @@ -84,22 +84,22 @@ static void editor_clear_map_for_editing(bool fromSave); */ void editor_load() { - audio_stop_all_music_and_sounds(); - object_manager_unload_all_objects(); - object_list_load(); - game_init_all(150); - gScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR; - gS6Info.editor_step = EDITOR_STEP_OBJECT_SELECTION; - gParkFlags |= PARK_FLAGS_SHOW_REAL_GUEST_NAMES; - gS6Info.category = SCENARIO_CATEGORY_OTHER; - viewport_init_all(); - rct_window *mainWindow = window_editor_main_open(); - window_set_location(mainWindow, 2400, 2400, 112); - load_palette(); - gfx_invalidate_screen(); - gScreenAge = 0; + audio_stop_all_music_and_sounds(); + object_manager_unload_all_objects(); + object_list_load(); + game_init_all(150); + gScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR; + gS6Info.editor_step = EDITOR_STEP_OBJECT_SELECTION; + gParkFlags |= PARK_FLAGS_SHOW_REAL_GUEST_NAMES; + gS6Info.category = SCENARIO_CATEGORY_OTHER; + viewport_init_all(); + rct_window *mainWindow = window_editor_main_open(); + window_set_location(mainWindow, 2400, 2400, 112); + load_palette(); + gfx_invalidate_screen(); + gScreenAge = 0; - safe_strcpy(gScenarioName, language_get_string(STR_MY_NEW_SCENARIO), 64); + safe_strcpy(gScenarioName, language_get_string(STR_MY_NEW_SCENARIO), 64); } /** @@ -108,43 +108,43 @@ void editor_load() */ void editor_convert_save_to_scenario() { - tool_cancel(); - window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_GAME, NULL); - window_loadsave_set_loadsave_callback(editor_convert_save_to_scenario_callback); + tool_cancel(); + window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_GAME, NULL); + window_loadsave_set_loadsave_callback(editor_convert_save_to_scenario_callback); } static void editor_convert_save_to_scenario_callback(sint32 result, const utf8 * path) { - if (result != MODAL_RESULT_OK) { - return; - } + if (result != MODAL_RESULT_OK) { + return; + } - if (!game_load_save_or_scenario(path)) { - return; - } + if (!game_load_save_or_scenario(path)) { + return; + } - if (gParkFlags & PARK_FLAGS_NO_MONEY) - gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; - else - gParkFlags &= ~PARK_FLAGS_NO_MONEY_SCENARIO; - gParkFlags |= PARK_FLAGS_NO_MONEY; + if (gParkFlags & PARK_FLAGS_NO_MONEY) + gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; + else + gParkFlags &= ~PARK_FLAGS_NO_MONEY_SCENARIO; + gParkFlags |= PARK_FLAGS_NO_MONEY; - safe_strcpy(gS6Info.name, gScenarioName, 64); - safe_strcpy(gS6Info.details, gScenarioDetails, 256); - gS6Info.objective_type = gScenarioObjectiveType; - gS6Info.objective_arg_1 = gScenarioObjectiveYear; - gS6Info.objective_arg_2 = gScenarioObjectiveCurrency; - gS6Info.objective_arg_3 = gScenarioObjectiveNumGuests; - climate_reset(gClimate); + safe_strcpy(gS6Info.name, gScenarioName, 64); + safe_strcpy(gS6Info.details, gScenarioDetails, 256); + gS6Info.objective_type = gScenarioObjectiveType; + gS6Info.objective_arg_1 = gScenarioObjectiveYear; + gS6Info.objective_arg_2 = gScenarioObjectiveCurrency; + gS6Info.objective_arg_3 = gScenarioObjectiveNumGuests; + climate_reset(gClimate); - gScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR; - gS6Info.editor_step = EDITOR_STEP_OBJECTIVE_SELECTION; - gS6Info.category = SCENARIO_CATEGORY_OTHER; - viewport_init_all(); - news_item_init_queue(); - window_editor_main_open(); - editor_finalise_main_view(); - gScreenAge = 0; + gScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR; + gS6Info.editor_step = EDITOR_STEP_OBJECTIVE_SELECTION; + gS6Info.category = SCENARIO_CATEGORY_OTHER; + viewport_init_all(); + news_item_init_queue(); + window_editor_main_open(); + editor_finalise_main_view(); + gScreenAge = 0; } /** @@ -153,20 +153,20 @@ static void editor_convert_save_to_scenario_callback(sint32 result, const utf8 * */ void trackdesigner_load() { - audio_stop_all_music_and_sounds(); - gScreenFlags = SCREEN_FLAGS_TRACK_DESIGNER; - gScreenAge = 0; + audio_stop_all_music_and_sounds(); + gScreenFlags = SCREEN_FLAGS_TRACK_DESIGNER; + gScreenAge = 0; - object_manager_unload_all_objects(); - object_list_load(); - game_init_all(150); - set_all_land_owned(); - gS6Info.editor_step = EDITOR_STEP_OBJECT_SELECTION; - viewport_init_all(); - rct_window * mainWindow = window_editor_main_open(); - window_set_location(mainWindow, 2400, 2400, 112); - load_palette(); - gfx_invalidate_screen(); + object_manager_unload_all_objects(); + object_list_load(); + game_init_all(150); + set_all_land_owned(); + gS6Info.editor_step = EDITOR_STEP_OBJECT_SELECTION; + viewport_init_all(); + rct_window * mainWindow = window_editor_main_open(); + window_set_location(mainWindow, 2400, 2400, 112); + load_palette(); + gfx_invalidate_screen(); } /** @@ -175,20 +175,20 @@ void trackdesigner_load() */ void trackmanager_load() { - audio_stop_all_music_and_sounds(); - gScreenFlags = SCREEN_FLAGS_TRACK_MANAGER; - gScreenAge = 0; + audio_stop_all_music_and_sounds(); + gScreenFlags = SCREEN_FLAGS_TRACK_MANAGER; + gScreenAge = 0; - object_manager_unload_all_objects(); - object_list_load(); - game_init_all(150); - set_all_land_owned(); - gS6Info.editor_step = EDITOR_STEP_OBJECT_SELECTION; - viewport_init_all(); - rct_window *mainWindow = window_editor_main_open(); - window_set_location(mainWindow, 2400, 2400, 112); - load_palette(); - gfx_invalidate_screen(); + object_manager_unload_all_objects(); + object_list_load(); + game_init_all(150); + set_all_land_owned(); + gS6Info.editor_step = EDITOR_STEP_OBJECT_SELECTION; + viewport_init_all(); + rct_window *mainWindow = window_editor_main_open(); + window_set_location(mainWindow, 2400, 2400, 112); + load_palette(); + gfx_invalidate_screen(); } /** @@ -197,9 +197,9 @@ void trackmanager_load() */ static void set_all_land_owned() { - sint32 mapSize = gMapSize; + sint32 mapSize = gMapSize; - game_do_command(64, 1, 64, 2, GAME_COMMAND_SET_LAND_OWNERSHIP, (mapSize - 3) * 32, (mapSize - 3) * 32); + game_do_command(64, 1, 64, 2, GAME_COMMAND_SET_LAND_OWNERSHIP, (mapSize - 3) * 32, (mapSize - 3) * 32); } /** @@ -208,22 +208,22 @@ static void set_all_land_owned() */ bool editor_load_landscape(const utf8 *path) { - // #4996: Make sure the object selection window closes here to prevent unload objects - // after we have loaded a new park. - window_close_all(); + // #4996: Make sure the object selection window closes here to prevent unload objects + // after we have loaded a new park. + window_close_all(); - uint32 extension = get_file_extension_type(path); - switch (extension) { - case FILE_EXTENSION_SC6: - case FILE_EXTENSION_SV6: - return editor_read_s6(path); - case FILE_EXTENSION_SC4: - return editor_load_landscape_from_sc4(path); - case FILE_EXTENSION_SV4: - return editor_load_landscape_from_sv4(path); - default: - return 0; - } + uint32 extension = get_file_extension_type(path); + switch (extension) { + case FILE_EXTENSION_SC6: + case FILE_EXTENSION_SV6: + return editor_read_s6(path); + case FILE_EXTENSION_SC4: + return editor_load_landscape_from_sc4(path); + case FILE_EXTENSION_SV4: + return editor_load_landscape_from_sv4(path); + default: + return 0; + } } /** @@ -232,30 +232,30 @@ bool editor_load_landscape(const utf8 *path) */ static sint32 editor_load_landscape_from_sv4(const char *path) { - rct1_load_saved_game(path); - editor_clear_map_for_editing(true); + rct1_load_saved_game(path); + editor_clear_map_for_editing(true); - gS6Info.editor_step = EDITOR_STEP_LANDSCAPE_EDITOR; - gScreenAge = 0; - gScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR; - viewport_init_all(); - window_editor_main_open(); - editor_finalise_main_view(); - return 1; + gS6Info.editor_step = EDITOR_STEP_LANDSCAPE_EDITOR; + gScreenAge = 0; + gScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR; + viewport_init_all(); + window_editor_main_open(); + editor_finalise_main_view(); + return 1; } static sint32 editor_load_landscape_from_sc4(const char *path) { - rct1_load_scenario(path); - editor_clear_map_for_editing(false); + rct1_load_scenario(path); + editor_clear_map_for_editing(false); - gS6Info.editor_step = EDITOR_STEP_LANDSCAPE_EDITOR; - gScreenAge = 0; - gScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR; - viewport_init_all(); - window_editor_main_open(); - editor_finalise_main_view(); - return 1; + gS6Info.editor_step = EDITOR_STEP_LANDSCAPE_EDITOR; + gScreenAge = 0; + gScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR; + viewport_init_all(); + window_editor_main_open(); + editor_finalise_main_view(); + return 1; } /** @@ -264,102 +264,102 @@ static sint32 editor_load_landscape_from_sc4(const char *path) */ static sint32 editor_read_s6(const char *path) { - bool loadResult = false; - const char *extension = path_get_extension(path); - if (_stricmp(extension, ".sc6") == 0) { - loadResult = scenario_load(path); - } else if (_stricmp(extension, ".sv6") == 0) { - loadResult = game_load_sv6_path(path); - } - if (!loadResult) { - return 0; - } + bool loadResult = false; + const char *extension = path_get_extension(path); + if (_stricmp(extension, ".sc6") == 0) { + loadResult = scenario_load(path); + } else if (_stricmp(extension, ".sv6") == 0) { + loadResult = game_load_sv6_path(path); + } + if (!loadResult) { + return 0; + } - editor_clear_map_for_editing(true); + editor_clear_map_for_editing(true); - gS6Info.editor_step = EDITOR_STEP_LANDSCAPE_EDITOR; - gScreenAge = 0; - gScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR; - viewport_init_all(); - window_editor_main_open(); - editor_finalise_main_view(); - return 1; + gS6Info.editor_step = EDITOR_STEP_LANDSCAPE_EDITOR; + gScreenAge = 0; + gScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR; + viewport_init_all(); + window_editor_main_open(); + editor_finalise_main_view(); + return 1; } static void editor_clear_map_for_editing(bool fromSave) { - map_remove_all_rides(); + map_remove_all_rides(); - // - for (sint32 i = 0; i < MAX_BANNERS; i++) { - if (gBanners[i].type == 255) { - gBanners[i].flags &= ~BANNER_FLAG_LINKED_TO_RIDE; - } - } + // + for (sint32 i = 0; i < MAX_BANNERS; i++) { + if (gBanners[i].type == 255) { + gBanners[i].flags &= ~BANNER_FLAG_LINKED_TO_RIDE; + } + } - // - { - sint32 i; - rct_ride *ride; - FOR_ALL_RIDES(i, ride) { - user_string_free(ride->name); - } - } + // + { + sint32 i; + rct_ride *ride; + FOR_ALL_RIDES(i, ride) { + user_string_free(ride->name); + } + } - ride_init_all(); + ride_init_all(); - // - for (sint32 i = 0; i < MAX_SPRITES; i++) { - rct_sprite *sprite = get_sprite(i); - user_string_free(sprite->unknown.name_string_idx); - } + // + for (sint32 i = 0; i < MAX_SPRITES; i++) { + rct_sprite *sprite = get_sprite(i); + user_string_free(sprite->unknown.name_string_idx); + } - reset_sprite_list(); - staff_reset_modes(); - gNumGuestsInPark = 0; - gNumGuestsHeadingForPark = 0; - gNumGuestsInParkLastWeek = 0; - gGuestChangeModifier = 0; - if (fromSave) { - research_populate_list_random(); - research_remove_non_separate_vehicle_types(); + reset_sprite_list(); + staff_reset_modes(); + gNumGuestsInPark = 0; + gNumGuestsHeadingForPark = 0; + gNumGuestsInParkLastWeek = 0; + gGuestChangeModifier = 0; + if (fromSave) { + research_populate_list_random(); + research_remove_non_separate_vehicle_types(); - if (gParkFlags & PARK_FLAGS_NO_MONEY) - gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; - else - gParkFlags &= ~PARK_FLAGS_NO_MONEY_SCENARIO; - gParkFlags |= PARK_FLAGS_NO_MONEY; + if (gParkFlags & PARK_FLAGS_NO_MONEY) + gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; + else + gParkFlags &= ~PARK_FLAGS_NO_MONEY_SCENARIO; + gParkFlags |= PARK_FLAGS_NO_MONEY; - if (gParkEntranceFee == 0) - gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; - else - gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; + if (gParkEntranceFee == 0) + gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; + else + gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; - gParkFlags &= ~PARK_FLAGS_SPRITES_INITIALISED; + gParkFlags &= ~PARK_FLAGS_SPRITES_INITIALISED; - gGuestInitialCash = clamp(MONEY(10,00), gGuestInitialCash, MONEY(100,00)); + gGuestInitialCash = clamp(MONEY(10,00), gGuestInitialCash, MONEY(100,00)); - gInitialCash = min(gInitialCash, 100000); - finance_reset_cash_to_initial(); + gInitialCash = min(gInitialCash, 100000); + finance_reset_cash_to_initial(); - gBankLoan = clamp( - MONEY(0,00), - gBankLoan, - MONEY(5000000,00) - ); + gBankLoan = clamp( + MONEY(0,00), + gBankLoan, + MONEY(5000000,00) + ); - gMaxBankLoan = clamp( - MONEY(0,00), - gMaxBankLoan, - MONEY(5000000,00) - ); + gMaxBankLoan = clamp( + MONEY(0,00), + gMaxBankLoan, + MONEY(5000000,00) + ); - gBankLoanInterestRate = clamp(5, gBankLoanInterestRate, 80); - } + gBankLoanInterestRate = clamp(5, gBankLoanInterestRate, 80); + } - climate_reset(gClimate); + climate_reset(gClimate); - news_item_init_queue(); + news_item_init_queue(); } /** @@ -368,77 +368,77 @@ static void editor_clear_map_for_editing(bool fromSave) */ void editor_open_windows_for_current_step() { - if (!(gScreenFlags & SCREEN_FLAGS_EDITOR)) - return; + if (!(gScreenFlags & SCREEN_FLAGS_EDITOR)) + return; - switch (gS6Info.editor_step) { - case EDITOR_STEP_OBJECT_SELECTION: - if (window_find_by_class(WC_EDITOR_OBJECT_SELECTION)) - return; + switch (gS6Info.editor_step) { + case EDITOR_STEP_OBJECT_SELECTION: + if (window_find_by_class(WC_EDITOR_OBJECT_SELECTION)) + return; - if (window_find_by_class(49)) - return; + if (window_find_by_class(49)) + return; - if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - object_manager_unload_all_objects(); - } + if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { + object_manager_unload_all_objects(); + } - window_editor_object_selection_open(); - break; - case EDITOR_STEP_INVENTIONS_LIST_SET_UP: - if (window_find_by_class(WC_EDITOR_INVENTION_LIST)) - return; + window_editor_object_selection_open(); + break; + case EDITOR_STEP_INVENTIONS_LIST_SET_UP: + if (window_find_by_class(WC_EDITOR_INVENTION_LIST)) + return; - window_editor_inventions_list_open(); - break; - case EDITOR_STEP_OPTIONS_SELECTION: - if (window_find_by_class(WC_EDITOR_SCENARIO_OPTIONS)) - return; + window_editor_inventions_list_open(); + break; + case EDITOR_STEP_OPTIONS_SELECTION: + if (window_find_by_class(WC_EDITOR_SCENARIO_OPTIONS)) + return; - window_editor_scenario_options_open(); - break; - case EDITOR_STEP_OBJECTIVE_SELECTION: - if (window_find_by_class(WC_EDTIOR_OBJECTIVE_OPTIONS)) - return; + window_editor_scenario_options_open(); + break; + case EDITOR_STEP_OBJECTIVE_SELECTION: + if (window_find_by_class(WC_EDTIOR_OBJECTIVE_OPTIONS)) + return; - window_editor_objective_options_open(); - break; - } + window_editor_objective_options_open(); + break; + } } static void editor_finalise_main_view() { - rct_window *w = window_get_main(); - rct_viewport *viewport = w->viewport; + rct_window *w = window_get_main(); + rct_viewport *viewport = w->viewport; - w->viewport_target_sprite = -1; - w->saved_view_x = gSavedViewX; - w->saved_view_y = gSavedViewY; - gCurrentRotation = gSavedViewRotation; + w->viewport_target_sprite = -1; + w->saved_view_x = gSavedViewX; + w->saved_view_y = gSavedViewY; + gCurrentRotation = gSavedViewRotation; - sint32 zoom_difference = gSavedViewZoom - viewport->zoom; - viewport->zoom = gSavedViewZoom; - if (zoom_difference != 0) { - if (zoom_difference >= 0) { - viewport->view_width <<= zoom_difference; - viewport->view_height <<= zoom_difference; - } else { - zoom_difference = -zoom_difference; - viewport->view_width >>= zoom_difference; - viewport->view_height >>= zoom_difference; - } - } - w->saved_view_x -= viewport->view_width >> 1; - w->saved_view_y -= viewport->view_height >> 1; + sint32 zoom_difference = gSavedViewZoom - viewport->zoom; + viewport->zoom = gSavedViewZoom; + if (zoom_difference != 0) { + if (zoom_difference >= 0) { + viewport->view_width <<= zoom_difference; + viewport->view_height <<= zoom_difference; + } else { + zoom_difference = -zoom_difference; + viewport->view_width >>= zoom_difference; + viewport->view_height >>= zoom_difference; + } + } + w->saved_view_x -= viewport->view_width >> 1; + w->saved_view_y -= viewport->view_height >> 1; - window_invalidate(w); - reset_all_sprite_quadrant_placements(); - scenery_set_default_placement_configuration(); - window_new_ride_init_vars(); - gWindowUpdateTicks = 0; - load_palette(); - gfx_invalidate_screen(); - window_tile_inspector_clear_clipboard(); + window_invalidate(w); + reset_all_sprite_quadrant_placements(); + scenery_set_default_placement_configuration(); + window_new_ride_init_vars(); + gWindowUpdateTicks = 0; + load_palette(); + gfx_invalidate_screen(); + window_tile_inspector_clear_clipboard(); } /** @@ -447,34 +447,34 @@ static void editor_finalise_main_view() */ sint32 editor_check_object_selection() { - bool isTrackDesignerManager = - gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER); + bool isTrackDesignerManager = + gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER); - if (!isTrackDesignerManager) { - if (!editor_check_object_group_at_least_one_selected(OBJECT_TYPE_PATHS)) { - gGameCommandErrorText = STR_AT_LEAST_ONE_PATH_OBJECT_MUST_BE_SELECTED; - return OBJECT_TYPE_PATHS; - } - } + if (!isTrackDesignerManager) { + if (!editor_check_object_group_at_least_one_selected(OBJECT_TYPE_PATHS)) { + gGameCommandErrorText = STR_AT_LEAST_ONE_PATH_OBJECT_MUST_BE_SELECTED; + return OBJECT_TYPE_PATHS; + } + } - if (!editor_check_object_group_at_least_one_selected(OBJECT_TYPE_RIDE)) { - gGameCommandErrorText = STR_AT_LEAST_ONE_RIDE_OBJECT_MUST_BE_SELECTED; - return OBJECT_TYPE_RIDE; - } + if (!editor_check_object_group_at_least_one_selected(OBJECT_TYPE_RIDE)) { + gGameCommandErrorText = STR_AT_LEAST_ONE_RIDE_OBJECT_MUST_BE_SELECTED; + return OBJECT_TYPE_RIDE; + } - if (!isTrackDesignerManager) { - if (!editor_check_object_group_at_least_one_selected(OBJECT_TYPE_PARK_ENTRANCE)) { - gGameCommandErrorText = STR_PARK_ENTRANCE_TYPE_MUST_BE_SELECTED; - return OBJECT_TYPE_PARK_ENTRANCE; - } + if (!isTrackDesignerManager) { + if (!editor_check_object_group_at_least_one_selected(OBJECT_TYPE_PARK_ENTRANCE)) { + gGameCommandErrorText = STR_PARK_ENTRANCE_TYPE_MUST_BE_SELECTED; + return OBJECT_TYPE_PARK_ENTRANCE; + } - if (!editor_check_object_group_at_least_one_selected(OBJECT_TYPE_WATER)) { - gGameCommandErrorText = STR_WATER_TYPE_MUST_BE_SELECTED; - return OBJECT_TYPE_WATER; - } - } + if (!editor_check_object_group_at_least_one_selected(OBJECT_TYPE_WATER)) { + gGameCommandErrorText = STR_WATER_TYPE_MUST_BE_SELECTED; + return OBJECT_TYPE_WATER; + } + } - return -1; + return -1; } /** @@ -483,229 +483,229 @@ sint32 editor_check_object_selection() */ bool editor_check_park() { - sint32 parkSize = park_calculate_size(); - if (parkSize == 0) { - gGameCommandErrorText = STR_PARK_MUST_OWN_SOME_LAND; - return false; - } + sint32 parkSize = park_calculate_size(); + if (parkSize == 0) { + gGameCommandErrorText = STR_PARK_MUST_OWN_SOME_LAND; + return false; + } - for (sint32 i = 0; i < MAX_PARK_ENTRANCES; i++) { - if (gParkEntrances[i].x != MAP_LOCATION_NULL) - break; + for (sint32 i = 0; i < MAX_PARK_ENTRANCES; i++) { + if (gParkEntrances[i].x != MAP_LOCATION_NULL) + break; - if (i == MAX_PARK_ENTRANCES - 1) { - gGameCommandErrorText = STR_NO_PARK_ENTRANCES; - return false; - } - } + if (i == MAX_PARK_ENTRANCES - 1) { + gGameCommandErrorText = STR_NO_PARK_ENTRANCES; + return false; + } + } - for (sint32 i = 0; i < MAX_PARK_ENTRANCES; i++) { - if (gParkEntrances[i].x == MAP_LOCATION_NULL) - continue; + for (sint32 i = 0; i < MAX_PARK_ENTRANCES; i++) { + if (gParkEntrances[i].x == MAP_LOCATION_NULL) + continue; - sint32 x = gParkEntrances[i].x; - sint32 y = gParkEntrances[i].y; - sint32 z = gParkEntrances[i].z / 8; - sint32 direction = gParkEntrances[i].direction ^ 2; + sint32 x = gParkEntrances[i].x; + sint32 y = gParkEntrances[i].y; + sint32 z = gParkEntrances[i].z / 8; + sint32 direction = gParkEntrances[i].direction ^ 2; - switch (footpath_is_connected_to_map_edge(x, y, z, direction, 0)) { - case FOOTPATH_SEARCH_NOT_FOUND: - gGameCommandErrorText = STR_PARK_ENTRANCE_WRONG_DIRECTION_OR_NO_PATH; - return false; - case FOOTPATH_SEARCH_INCOMPLETE: - case FOOTPATH_SEARCH_TOO_COMPLEX: - gGameCommandErrorText = STR_PARK_ENTRANCE_PATH_INCOMPLETE_OR_COMPLEX; - return false; - case FOOTPATH_SEARCH_SUCCESS: - // Run the search again and unown the path - footpath_is_connected_to_map_edge(x, y, z, direction, (1 << 5)); - break; - } - } + switch (footpath_is_connected_to_map_edge(x, y, z, direction, 0)) { + case FOOTPATH_SEARCH_NOT_FOUND: + gGameCommandErrorText = STR_PARK_ENTRANCE_WRONG_DIRECTION_OR_NO_PATH; + return false; + case FOOTPATH_SEARCH_INCOMPLETE: + case FOOTPATH_SEARCH_TOO_COMPLEX: + gGameCommandErrorText = STR_PARK_ENTRANCE_PATH_INCOMPLETE_OR_COMPLEX; + return false; + case FOOTPATH_SEARCH_SUCCESS: + // Run the search again and unown the path + footpath_is_connected_to_map_edge(x, y, z, direction, (1 << 5)); + break; + } + } - for (sint32 i = 0; i < MAX_PEEP_SPAWNS; i++) { - if (gPeepSpawns[i].x != PEEP_SPAWN_UNDEFINED) - break; + for (sint32 i = 0; i < MAX_PEEP_SPAWNS; i++) { + if (gPeepSpawns[i].x != PEEP_SPAWN_UNDEFINED) + break; - if (i == MAX_PEEP_SPAWNS - 1) { - gGameCommandErrorText = STR_PEEP_SPAWNS_NOT_SET; - return false; - } - } + if (i == MAX_PEEP_SPAWNS - 1) { + gGameCommandErrorText = STR_PEEP_SPAWNS_NOT_SET; + return false; + } + } - return true; + return true; } void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - if (!(*ebx & GAME_COMMAND_FLAG_APPLY)) { - *ebx = 0; - return; - } + if (!(*ebx & GAME_COMMAND_FLAG_APPLY)) { + *ebx = 0; + return; + } - switch (*ecx) { - case EDIT_SCENARIOOPTIONS_SETNOMONEY: - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; - } - else { - gParkFlags &= PARK_FLAGS_NO_MONEY_SCENARIO; - } - } - else { - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_NO_MONEY; - } - else { - gParkFlags &= ~PARK_FLAGS_NO_MONEY; - } - // Invalidate all windows that have anything to do with finance - window_invalidate_by_class(WC_RIDE); - window_invalidate_by_class(WC_PEEP); - window_invalidate_by_class(WC_PARK_INFORMATION); - window_invalidate_by_class(WC_FINANCES); - window_invalidate_by_class(WC_BOTTOM_TOOLBAR); - window_invalidate_by_class(WC_TOP_TOOLBAR); - } - break; - case EDIT_SCENARIOOPTIONS_SETINITIALCASH: - gInitialCash = clamp(MONEY(0, 00), *edx, MONEY(1000000, 00)); - gCashEncrypted = ENCRYPT_MONEY(gInitialCash); - window_invalidate_by_class(WC_FINANCES); - window_invalidate_by_class(WC_BOTTOM_TOOLBAR); - break; - case EDIT_SCENARIOOPTIONS_SETINITIALLOAN: - gBankLoan = clamp(MONEY(0,00), *edx, MONEY(5000000,00)); - gMaxBankLoan = max(gBankLoan, gMaxBankLoan); - window_invalidate_by_class(WC_FINANCES); - break; - case EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE: - gMaxBankLoan = clamp(MONEY(0,00), *edx, MONEY(5000000,00)); - gBankLoan = min(gBankLoan, gMaxBankLoan); - window_invalidate_by_class(WC_FINANCES); - break; - case EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE: - gBankLoanInterestRate = clamp(0, *edx, 80); - window_invalidate_by_class(WC_FINANCES); - break; - case EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_FORBID_MARKETING_CAMPAIGN; - } - else { - gParkFlags &= ~PARK_FLAGS_FORBID_MARKETING_CAMPAIGN; - } - break; - case EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST: - gGuestInitialCash = clamp(MONEY(0, 00), *edx, MONEY(1000, 00)); - break; - case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS: - gGuestInitialHappiness = clamp(40, *edx, 250); - break; - case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER: - gGuestInitialHunger = clamp(40, *edx, 250); - break; - case EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST: - gGuestInitialThirst = clamp(40, *edx, 250); - break; - case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_PREF_LESS_INTENSE_RIDES; - } - else { - gParkFlags &= ~PARK_FLAGS_PREF_LESS_INTENSE_RIDES; - } - break; - case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_PREF_MORE_INTENSE_RIDES; - } - else { - gParkFlags &= ~PARK_FLAGS_PREF_MORE_INTENSE_RIDES; - } - break; - case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND: - gLandPrice = clamp(MONEY(5, 00), *edx, MONEY(200, 00)); - break; - case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS: - gLandRightsCost = clamp(MONEY(5,00), *edx, MONEY(200,00)); - break; - case EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD: - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - if (*edx == 0) { - if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) { - gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; - gParkEntranceFee = MONEY(0, 00); - } - } - else { - if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { - gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; - gParkEntranceFee = MONEY(10, 00); - } - } - } - else { - if (*edx == 0) { - if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) { - gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; - } - } - else { - if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { - gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; - } - } - window_invalidate_by_class(WC_PARK_INFORMATION); - window_invalidate_by_class(WC_RIDE); - } - break; - case EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE: - gParkEntranceFee = clamp(MONEY(0, 00), *edx, MONEY(100, 00)); - window_invalidate_by_class(WC_PARK_INFORMATION); - break; - case EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_FORBID_TREE_REMOVAL; - } - else { - gParkFlags &= ~PARK_FLAGS_FORBID_TREE_REMOVAL; - } - break; - case EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_FORBID_LANDSCAPE_CHANGES; - } - else { - gParkFlags &= ~PARK_FLAGS_FORBID_LANDSCAPE_CHANGES; - } - break; - case EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; - } - else { - gParkFlags &= ~PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; - } - break; - case EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_DIFFICULT_PARK_RATING; - } - else { - gParkFlags &= ~PARK_FLAGS_DIFFICULT_PARK_RATING; - } - break; - case EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_DIFFICULT_GUEST_GENERATION; - } - else { - gParkFlags &= ~PARK_FLAGS_DIFFICULT_GUEST_GENERATION; - } - break; - } - window_invalidate_by_class(WC_EDITOR_SCENARIO_OPTIONS); - *ebx = 0; + switch (*ecx) { + case EDIT_SCENARIOOPTIONS_SETNOMONEY: + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; + } + else { + gParkFlags &= PARK_FLAGS_NO_MONEY_SCENARIO; + } + } + else { + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_NO_MONEY; + } + else { + gParkFlags &= ~PARK_FLAGS_NO_MONEY; + } + // Invalidate all windows that have anything to do with finance + window_invalidate_by_class(WC_RIDE); + window_invalidate_by_class(WC_PEEP); + window_invalidate_by_class(WC_PARK_INFORMATION); + window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_BOTTOM_TOOLBAR); + window_invalidate_by_class(WC_TOP_TOOLBAR); + } + break; + case EDIT_SCENARIOOPTIONS_SETINITIALCASH: + gInitialCash = clamp(MONEY(0, 00), *edx, MONEY(1000000, 00)); + gCashEncrypted = ENCRYPT_MONEY(gInitialCash); + window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_BOTTOM_TOOLBAR); + break; + case EDIT_SCENARIOOPTIONS_SETINITIALLOAN: + gBankLoan = clamp(MONEY(0,00), *edx, MONEY(5000000,00)); + gMaxBankLoan = max(gBankLoan, gMaxBankLoan); + window_invalidate_by_class(WC_FINANCES); + break; + case EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE: + gMaxBankLoan = clamp(MONEY(0,00), *edx, MONEY(5000000,00)); + gBankLoan = min(gBankLoan, gMaxBankLoan); + window_invalidate_by_class(WC_FINANCES); + break; + case EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE: + gBankLoanInterestRate = clamp(0, *edx, 80); + window_invalidate_by_class(WC_FINANCES); + break; + case EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_FORBID_MARKETING_CAMPAIGN; + } + else { + gParkFlags &= ~PARK_FLAGS_FORBID_MARKETING_CAMPAIGN; + } + break; + case EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST: + gGuestInitialCash = clamp(MONEY(0, 00), *edx, MONEY(1000, 00)); + break; + case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS: + gGuestInitialHappiness = clamp(40, *edx, 250); + break; + case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER: + gGuestInitialHunger = clamp(40, *edx, 250); + break; + case EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST: + gGuestInitialThirst = clamp(40, *edx, 250); + break; + case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_PREF_LESS_INTENSE_RIDES; + } + else { + gParkFlags &= ~PARK_FLAGS_PREF_LESS_INTENSE_RIDES; + } + break; + case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_PREF_MORE_INTENSE_RIDES; + } + else { + gParkFlags &= ~PARK_FLAGS_PREF_MORE_INTENSE_RIDES; + } + break; + case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND: + gLandPrice = clamp(MONEY(5, 00), *edx, MONEY(200, 00)); + break; + case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS: + gLandRightsCost = clamp(MONEY(5,00), *edx, MONEY(200,00)); + break; + case EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD: + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { + if (*edx == 0) { + if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) { + gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; + gParkEntranceFee = MONEY(0, 00); + } + } + else { + if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { + gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; + gParkEntranceFee = MONEY(10, 00); + } + } + } + else { + if (*edx == 0) { + if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) { + gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; + } + } + else { + if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { + gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; + } + } + window_invalidate_by_class(WC_PARK_INFORMATION); + window_invalidate_by_class(WC_RIDE); + } + break; + case EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE: + gParkEntranceFee = clamp(MONEY(0, 00), *edx, MONEY(100, 00)); + window_invalidate_by_class(WC_PARK_INFORMATION); + break; + case EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_FORBID_TREE_REMOVAL; + } + else { + gParkFlags &= ~PARK_FLAGS_FORBID_TREE_REMOVAL; + } + break; + case EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_FORBID_LANDSCAPE_CHANGES; + } + else { + gParkFlags &= ~PARK_FLAGS_FORBID_LANDSCAPE_CHANGES; + } + break; + case EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; + } + else { + gParkFlags &= ~PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; + } + break; + case EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_DIFFICULT_PARK_RATING; + } + else { + gParkFlags &= ~PARK_FLAGS_DIFFICULT_PARK_RATING; + } + break; + case EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_DIFFICULT_GUEST_GENERATION; + } + else { + gParkFlags &= ~PARK_FLAGS_DIFFICULT_GUEST_GENERATION; + } + break; + } + window_invalidate_by_class(WC_EDITOR_SCENARIO_OPTIONS); + *ebx = 0; } diff --git a/src/openrct2/editor.h b/src/openrct2/editor.h index 5880ba600d..5ea978e1d4 100644 --- a/src/openrct2/editor.h +++ b/src/openrct2/editor.h @@ -21,39 +21,39 @@ #include "rct2.h" typedef enum { - EDITOR_STEP_OBJECT_SELECTION, // 0 - EDITOR_STEP_LANDSCAPE_EDITOR, // 1 - EDITOR_STEP_INVENTIONS_LIST_SET_UP, // 2 - EDITOR_STEP_OPTIONS_SELECTION, // 3 - EDITOR_STEP_OBJECTIVE_SELECTION, // 4 - EDITOR_STEP_SAVE_SCENARIO, // 5 - EDITOR_STEP_ROLLERCOASTER_DESIGNER, // 6 - EDITOR_STEP_TRACK_DESIGNS_MANAGER // 7 + EDITOR_STEP_OBJECT_SELECTION, // 0 + EDITOR_STEP_LANDSCAPE_EDITOR, // 1 + EDITOR_STEP_INVENTIONS_LIST_SET_UP, // 2 + EDITOR_STEP_OPTIONS_SELECTION, // 3 + EDITOR_STEP_OBJECTIVE_SELECTION, // 4 + EDITOR_STEP_SAVE_SCENARIO, // 5 + EDITOR_STEP_ROLLERCOASTER_DESIGNER, // 6 + EDITOR_STEP_TRACK_DESIGNS_MANAGER // 7 } RCT2_EDITOR_STEP; enum { - EDIT_SCENARIOOPTIONS_SETNOMONEY, - EDIT_SCENARIOOPTIONS_SETINITIALCASH, - EDIT_SCENARIOOPTIONS_SETINITIALLOAN, - EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE, - EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, - EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS, - EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST, - EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS, - EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER, - EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST, - EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES, - EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES, - EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND, - EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS, - EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD, - EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE, - EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL, - EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES, - EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION, - EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL, - EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL, + EDIT_SCENARIOOPTIONS_SETNOMONEY, + EDIT_SCENARIOOPTIONS_SETINITIALCASH, + EDIT_SCENARIOOPTIONS_SETINITIALLOAN, + EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE, + EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, + EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS, + EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST, + EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES, + EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES, + EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND, + EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS, + EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD, + EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE, + EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL, + EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES, + EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION, + EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL, + EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL, }; extern uint8 * gEditorSelectedObjects[OBJECT_ENTRY_GROUP_COUNT]; diff --git a/src/openrct2/game.c b/src/openrct2/game.c index ddb57511b2..c3ac4d410b 100644 --- a/src/openrct2/game.c +++ b/src/openrct2/game.c @@ -77,17 +77,17 @@ uint32 gCurrentTicks; GAME_COMMAND_CALLBACK_POINTER* game_command_callback = 0; GAME_COMMAND_CALLBACK_POINTER* game_command_callback_table[] = { - 0, - game_command_callback_ride_construct_new, - game_command_callback_ride_construct_placed_front, - game_command_callback_ride_construct_placed_back, - game_command_callback_ride_remove_track_piece, - game_command_callback_place_banner, - game_command_callback_place_ride_entrance_or_exit, - game_command_callback_hire_new_staff_member, - game_command_callback_pickup_guest, - game_command_callback_pickup_staff, - game_command_callback_marketing_start_campaign, + 0, + game_command_callback_ride_construct_new, + game_command_callback_ride_construct_placed_front, + game_command_callback_ride_construct_placed_back, + game_command_callback_ride_remove_track_piece, + game_command_callback_place_banner, + game_command_callback_place_ride_entrance_or_exit, + game_command_callback_hire_new_staff_member, + game_command_callback_pickup_guest, + game_command_callback_pickup_staff, + game_command_callback_marketing_start_campaign, }; sint32 game_command_playerid = -1; @@ -98,36 +98,36 @@ rct_string_id gErrorStringId; sint32 game_command_callback_get_index(GAME_COMMAND_CALLBACK_POINTER* callback) { - for (sint32 i = 0; i < countof(game_command_callback_table); i++ ) { - if (game_command_callback_table[i] == callback) { - return i; - } - } - return 0; + for (sint32 i = 0; i < countof(game_command_callback_table); i++ ) { + if (game_command_callback_table[i] == callback) { + return i; + } + } + return 0; } GAME_COMMAND_CALLBACK_POINTER* game_command_callback_get_callback(sint32 index) { - if (index < countof(game_command_callback_table)) { - return game_command_callback_table[index]; - } - return 0; + if (index < countof(game_command_callback_table)) { + return game_command_callback_table[index]; + } + return 0; } void game_increase_game_speed() { - gGameSpeed = min(gConfigGeneral.debugging_tools ? 5 : 4, gGameSpeed + 1); - if (gGameSpeed == 5) - gGameSpeed = 8; - window_invalidate_by_class(WC_TOP_TOOLBAR); + gGameSpeed = min(gConfigGeneral.debugging_tools ? 5 : 4, gGameSpeed + 1); + if (gGameSpeed == 5) + gGameSpeed = 8; + window_invalidate_by_class(WC_TOP_TOOLBAR); } void game_reduce_game_speed() { - gGameSpeed = max(1, gGameSpeed - 1); - if (gGameSpeed == 7) - gGameSpeed = 4; - window_invalidate_by_class(WC_TOP_TOOLBAR); + gGameSpeed = max(1, gGameSpeed - 1); + if (gGameSpeed == 7) + gGameSpeed = 4; + window_invalidate_by_class(WC_TOP_TOOLBAR); } /** @@ -136,23 +136,23 @@ void game_reduce_game_speed() */ void game_create_windows() { - window_main_open(); - window_top_toolbar_open(); - window_game_bottom_toolbar_open(); - window_resize_gui(context_get_width(), context_get_height()); + window_main_open(); + window_top_toolbar_open(); + window_game_bottom_toolbar_open(); + window_resize_gui(context_get_width(), context_get_height()); } enum { - SPR_GAME_PALETTE_DEFAULT = 1532, - SPR_GAME_PALETTE_WATER = 1533, - SPR_GAME_PALETTE_WATER_DARKER_1 = 1534, - SPR_GAME_PALETTE_WATER_DARKER_2 = 1535, - SPR_GAME_PALETTE_3 = 1536, - SPR_GAME_PALETTE_3_DARKER_1 = 1537, - SPR_GAME_PALETTE_3_DARKER_2 = 1538, - SPR_GAME_PALETTE_4 = 1539, - SPR_GAME_PALETTE_4_DARKER_1 = 1540, - SPR_GAME_PALETTE_4_DARKER_2 = 1541, + SPR_GAME_PALETTE_DEFAULT = 1532, + SPR_GAME_PALETTE_WATER = 1533, + SPR_GAME_PALETTE_WATER_DARKER_1 = 1534, + SPR_GAME_PALETTE_WATER_DARKER_2 = 1535, + SPR_GAME_PALETTE_3 = 1536, + SPR_GAME_PALETTE_3_DARKER_1 = 1537, + SPR_GAME_PALETTE_3_DARKER_2 = 1538, + SPR_GAME_PALETTE_4 = 1539, + SPR_GAME_PALETTE_4_DARKER_1 = 1540, + SPR_GAME_PALETTE_4_DARKER_2 = 1541, }; /** @@ -161,278 +161,278 @@ enum { */ void update_palette_effects() { - rct_water_type* water_type = (rct_water_type*)object_entry_groups[OBJECT_TYPE_WATER].chunks[0]; + rct_water_type* water_type = (rct_water_type*)object_entry_groups[OBJECT_TYPE_WATER].chunks[0]; - if (gClimateLightningFlash == 1) { - // Change palette to lighter colour during lightning - sint32 palette = SPR_GAME_PALETTE_DEFAULT; + if (gClimateLightningFlash == 1) { + // Change palette to lighter colour during lightning + sint32 palette = SPR_GAME_PALETTE_DEFAULT; - if ((intptr_t)water_type != -1) { - palette = water_type->image_id; - } - rct_g1_element g1_element = g1Elements[palette]; - sint32 xoffset = g1_element.x_offset; - xoffset = xoffset * 4; - uint8 *paletteOffset = gGamePalette + xoffset; - for (sint32 i = 0; i < g1_element.width; i++) { - paletteOffset[(i * 4) + 0] = -((0xFF - g1_element.offset[(i * 3) + 0]) / 2) - 1; - paletteOffset[(i * 4) + 1] = -((0xFF - g1_element.offset[(i * 3) + 1]) / 2) - 1; - paletteOffset[(i * 4) + 2] = -((0xFF - g1_element.offset[(i * 3) + 2]) / 2) - 1; - } - platform_update_palette(gGamePalette, 10, 236); - gClimateLightningFlash++; - } else { - if (gClimateLightningFlash == 2) { - // Change palette back to normal after lightning - sint32 palette = SPR_GAME_PALETTE_DEFAULT; + if ((intptr_t)water_type != -1) { + palette = water_type->image_id; + } + rct_g1_element g1_element = g1Elements[palette]; + sint32 xoffset = g1_element.x_offset; + xoffset = xoffset * 4; + uint8 *paletteOffset = gGamePalette + xoffset; + for (sint32 i = 0; i < g1_element.width; i++) { + paletteOffset[(i * 4) + 0] = -((0xFF - g1_element.offset[(i * 3) + 0]) / 2) - 1; + paletteOffset[(i * 4) + 1] = -((0xFF - g1_element.offset[(i * 3) + 1]) / 2) - 1; + paletteOffset[(i * 4) + 2] = -((0xFF - g1_element.offset[(i * 3) + 2]) / 2) - 1; + } + platform_update_palette(gGamePalette, 10, 236); + gClimateLightningFlash++; + } else { + if (gClimateLightningFlash == 2) { + // Change palette back to normal after lightning + sint32 palette = SPR_GAME_PALETTE_DEFAULT; - if ((intptr_t)water_type != -1) { - palette = water_type->image_id; - } + if ((intptr_t)water_type != -1) { + palette = water_type->image_id; + } - rct_g1_element g1_element = g1Elements[palette]; - sint32 xoffset = g1_element.x_offset; - xoffset = xoffset * 4; - uint8 *paletteOffset = gGamePalette + xoffset; - for (sint32 i = 0; i < g1_element.width; i++) { - paletteOffset[(i * 4) + 0] = g1_element.offset[(i * 3) + 0]; - paletteOffset[(i * 4) + 1] = g1_element.offset[(i * 3) + 1]; - paletteOffset[(i * 4) + 2] = g1_element.offset[(i * 3) + 2]; - } - } + rct_g1_element g1_element = g1Elements[palette]; + sint32 xoffset = g1_element.x_offset; + xoffset = xoffset * 4; + uint8 *paletteOffset = gGamePalette + xoffset; + for (sint32 i = 0; i < g1_element.width; i++) { + paletteOffset[(i * 4) + 0] = g1_element.offset[(i * 3) + 0]; + paletteOffset[(i * 4) + 1] = g1_element.offset[(i * 3) + 1]; + paletteOffset[(i * 4) + 2] = g1_element.offset[(i * 3) + 2]; + } + } - // Animate the water/lava/chain movement palette - uint32 shade = 0; - if (gConfigGeneral.render_weather_gloom) { - uint8 gloom = gClimateCurrentWeatherGloom; - if (gloom != 0) { - FILTER_PALETTE_ID weatherColour = ClimateWeatherGloomColours[gloom]; - shade = 1; - if (weatherColour != PALETTE_DARKEN_1) { - shade = 2; - } - } - } - uint32 j = gPaletteEffectFrame; - j = (((uint16)((~j / 2) * 128) * 15) >> 16); - uint32 waterId = SPR_GAME_PALETTE_WATER; - if ((intptr_t)water_type != -1) { - waterId = water_type->palette_index_1; - } - rct_g1_element g1_element = g1Elements[shade + waterId]; - uint8* vs = &g1_element.offset[j * 3]; - uint8* vd = &gGamePalette[230 * 4]; - sint32 n = 5; - for (sint32 i = 0; i < n; i++) { - vd[0] = vs[0]; - vd[1] = vs[1]; - vd[2] = vs[2]; - vs += 9; - if (vs >= &g1_element.offset[9 * n]) { - vs -= 9 * n; - } - vd += 4; - } + // Animate the water/lava/chain movement palette + uint32 shade = 0; + if (gConfigGeneral.render_weather_gloom) { + uint8 gloom = gClimateCurrentWeatherGloom; + if (gloom != 0) { + FILTER_PALETTE_ID weatherColour = ClimateWeatherGloomColours[gloom]; + shade = 1; + if (weatherColour != PALETTE_DARKEN_1) { + shade = 2; + } + } + } + uint32 j = gPaletteEffectFrame; + j = (((uint16)((~j / 2) * 128) * 15) >> 16); + uint32 waterId = SPR_GAME_PALETTE_WATER; + if ((intptr_t)water_type != -1) { + waterId = water_type->palette_index_1; + } + rct_g1_element g1_element = g1Elements[shade + waterId]; + uint8* vs = &g1_element.offset[j * 3]; + uint8* vd = &gGamePalette[230 * 4]; + sint32 n = 5; + for (sint32 i = 0; i < n; i++) { + vd[0] = vs[0]; + vd[1] = vs[1]; + vd[2] = vs[2]; + vs += 9; + if (vs >= &g1_element.offset[9 * n]) { + vs -= 9 * n; + } + vd += 4; + } - waterId = SPR_GAME_PALETTE_3; - if ((intptr_t)water_type != -1) { - waterId = water_type->palette_index_2; - } - g1_element = g1Elements[shade + waterId]; - vs = &g1_element.offset[j * 3]; - n = 5; - for (sint32 i = 0; i < n; i++) { - vd[0] = vs[0]; - vd[1] = vs[1]; - vd[2] = vs[2]; - vs += 9; - if (vs >= &g1_element.offset[9 * n]) { - vs -= 9 * n; - } - vd += 4; - } + waterId = SPR_GAME_PALETTE_3; + if ((intptr_t)water_type != -1) { + waterId = water_type->palette_index_2; + } + g1_element = g1Elements[shade + waterId]; + vs = &g1_element.offset[j * 3]; + n = 5; + for (sint32 i = 0; i < n; i++) { + vd[0] = vs[0]; + vd[1] = vs[1]; + vd[2] = vs[2]; + vs += 9; + if (vs >= &g1_element.offset[9 * n]) { + vs -= 9 * n; + } + vd += 4; + } - j = ((uint16)(gPaletteEffectFrame * -960) * 3) >> 16; - waterId = SPR_GAME_PALETTE_4; - g1_element = g1Elements[shade + waterId]; - vs = &g1_element.offset[j * 3]; - vd += 12; - n = 3; - for (sint32 i = 0; i < n; i++) { - vd[0] = vs[0]; - vd[1] = vs[1]; - vd[2] = vs[2]; - vs += 3; - if (vs >= &g1_element.offset[3 * n]) { - vs -= 3 * n; - } - vd += 4; - } + j = ((uint16)(gPaletteEffectFrame * -960) * 3) >> 16; + waterId = SPR_GAME_PALETTE_4; + g1_element = g1Elements[shade + waterId]; + vs = &g1_element.offset[j * 3]; + vd += 12; + n = 3; + for (sint32 i = 0; i < n; i++) { + vd[0] = vs[0]; + vd[1] = vs[1]; + vd[2] = vs[2]; + vs += 3; + if (vs >= &g1_element.offset[3 * n]) { + vs -= 3 * n; + } + vd += 4; + } - platform_update_palette(gGamePalette, 230, 16); - if (gClimateLightningFlash == 2) { - platform_update_palette(gGamePalette, 10, 236); - gClimateLightningFlash = 0; - } - } + platform_update_palette(gGamePalette, 230, 16); + if (gClimateLightningFlash == 2) { + platform_update_palette(gGamePalette, 10, 236); + gClimateLightningFlash = 0; + } + } } void game_update() { - sint32 i, numUpdates; + sint32 i, numUpdates; - // 0x006E3AEC // screen_game_process_mouse_input(); - screenshot_check(); - game_handle_keyboard_input(); + // 0x006E3AEC // screen_game_process_mouse_input(); + screenshot_check(); + game_handle_keyboard_input(); - // Determine how many times we need to update the game - if (gGameSpeed > 1) { - numUpdates = 1 << (gGameSpeed - 1); - } else { - numUpdates = gTicksSinceLastUpdate / 31; - numUpdates = clamp(1, numUpdates, 4); - } + // Determine how many times we need to update the game + if (gGameSpeed > 1) { + numUpdates = 1 << (gGameSpeed - 1); + } else { + numUpdates = gTicksSinceLastUpdate / 31; + numUpdates = clamp(1, numUpdates, 4); + } - if (network_get_mode() == NETWORK_MODE_CLIENT && network_get_status() == NETWORK_STATUS_CONNECTED && network_get_authstatus() == NETWORK_AUTH_OK) { - if (network_get_server_tick() - gCurrentTicks >= 10) { - // Make sure client doesn't fall behind the server too much - numUpdates += 10; - } - } + if (network_get_mode() == NETWORK_MODE_CLIENT && network_get_status() == NETWORK_STATUS_CONNECTED && network_get_authstatus() == NETWORK_AUTH_OK) { + if (network_get_server_tick() - gCurrentTicks >= 10) { + // Make sure client doesn't fall behind the server too much + numUpdates += 10; + } + } - if (game_is_paused()) { - numUpdates = 0; - // Update the animation list. Note this does not - // increment the map animation. - map_animation_invalidate_all(); - } + if (game_is_paused()) { + numUpdates = 0; + // Update the animation list. Note this does not + // increment the map animation. + map_animation_invalidate_all(); + } - // Update the game one or more times - for (i = 0; i < numUpdates; i++) { - game_logic_update(); + // Update the game one or more times + for (i = 0; i < numUpdates; i++) { + game_logic_update(); - if (gGameSpeed > 1) - continue; + if (gGameSpeed > 1) + continue; - if (input_get_state() == INPUT_STATE_RESET || - input_get_state() == INPUT_STATE_NORMAL - ) { - if (input_test_flag(INPUT_FLAG_VIEWPORT_SCROLLING)) { - input_set_flag(INPUT_FLAG_VIEWPORT_SCROLLING, false); - break; - } - } else { - break; - } - } + if (input_get_state() == INPUT_STATE_RESET || + input_get_state() == INPUT_STATE_NORMAL + ) { + if (input_test_flag(INPUT_FLAG_VIEWPORT_SCROLLING)) { + input_set_flag(INPUT_FLAG_VIEWPORT_SCROLLING, false); + break; + } + } else { + break; + } + } - // Always perform autosave check, even when paused - if (!(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) && - !(gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) && - !(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) - ) { - scenario_autosave_check(); - } + // Always perform autosave check, even when paused + if (!(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) && + !(gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) && + !(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) + ) { + scenario_autosave_check(); + } - window_dispatch_update_all(); + window_dispatch_update_all(); - gGameCommandNestLevel = 0; + gGameCommandNestLevel = 0; - if (!gOpenRCT2Headless) - { - input_set_flag(INPUT_FLAG_VIEWPORT_SCROLLING, false); + if (!gOpenRCT2Headless) + { + input_set_flag(INPUT_FLAG_VIEWPORT_SCROLLING, false); - // the flickering frequency is reduced by 4, compared to the original - // it was done due to inability to reproduce original frequency - // and decision that the original one looks too fast - if (gCurrentTicks % 4 == 0) - gWindowMapFlashingFlags ^= (1 << 15); + // the flickering frequency is reduced by 4, compared to the original + // it was done due to inability to reproduce original frequency + // and decision that the original one looks too fast + if (gCurrentTicks % 4 == 0) + gWindowMapFlashingFlags ^= (1 << 15); - // Handle guest map flashing - gWindowMapFlashingFlags &= ~(1 << 1); - if (gWindowMapFlashingFlags & (1 << 0)) - gWindowMapFlashingFlags |= (1 << 1); - gWindowMapFlashingFlags &= ~(1 << 0); + // Handle guest map flashing + gWindowMapFlashingFlags &= ~(1 << 1); + if (gWindowMapFlashingFlags & (1 << 0)) + gWindowMapFlashingFlags |= (1 << 1); + gWindowMapFlashingFlags &= ~(1 << 0); - // Handle staff map flashing - gWindowMapFlashingFlags &= ~(1 << 3); - if (gWindowMapFlashingFlags & (1 << 2)) - gWindowMapFlashingFlags |= (1 << 3); - gWindowMapFlashingFlags &= ~(1 << 2); + // Handle staff map flashing + gWindowMapFlashingFlags &= ~(1 << 3); + if (gWindowMapFlashingFlags & (1 << 2)) + gWindowMapFlashingFlags |= (1 << 3); + gWindowMapFlashingFlags &= ~(1 << 2); - window_map_tooltip_update_visibility(); + window_map_tooltip_update_visibility(); - // Input - gUnk141F568 = gUnk13CA740; - game_handle_input(); - } + // Input + gUnk141F568 = gUnk13CA740; + game_handle_input(); + } } void game_logic_update() { - /////////////////////////// - gInUpdateCode = true; - /////////////////////////// - network_update(); - if (network_get_mode() == NETWORK_MODE_CLIENT && network_get_status() == NETWORK_STATUS_CONNECTED && network_get_authstatus() == NETWORK_AUTH_OK) { - if (gCurrentTicks >= network_get_server_tick()) { - // Don't run past the server - return; - } - } - gCurrentTicks++; - gScenarioTicks++; - gScreenAge++; - if (gScreenAge == 0) - gScreenAge--; + /////////////////////////// + gInUpdateCode = true; + /////////////////////////// + network_update(); + if (network_get_mode() == NETWORK_MODE_CLIENT && network_get_status() == NETWORK_STATUS_CONNECTED && network_get_authstatus() == NETWORK_AUTH_OK) { + if (gCurrentTicks >= network_get_server_tick()) { + // Don't run past the server + return; + } + } + gCurrentTicks++; + gScenarioTicks++; + gScreenAge++; + if (gScreenAge == 0) + gScreenAge--; - sub_68B089(); - scenario_update(); - climate_update(); - map_update_tiles(); - // Temporarily remove provisional paths to prevent peep from interacting with them - map_remove_provisional_elements(); - map_update_path_wide_flags(); - peep_update_all(); - map_restore_provisional_elements(); - vehicle_update_all(); - sprite_misc_update_all(); - ride_update_all(); - park_update(); - research_update(); - ride_ratings_update_all(); - ride_measurements_update(); - news_item_update_current(); - /////////////////////////// - gInUpdateCode = false; - /////////////////////////// + sub_68B089(); + scenario_update(); + climate_update(); + map_update_tiles(); + // Temporarily remove provisional paths to prevent peep from interacting with them + map_remove_provisional_elements(); + map_update_path_wide_flags(); + peep_update_all(); + map_restore_provisional_elements(); + vehicle_update_all(); + sprite_misc_update_all(); + ride_update_all(); + park_update(); + research_update(); + ride_ratings_update_all(); + ride_measurements_update(); + news_item_update_current(); + /////////////////////////// + gInUpdateCode = false; + /////////////////////////// - map_animation_invalidate_all(); - vehicle_sounds_update(); - peep_update_crowd_noise(); - climate_update_sound(); - editor_open_windows_for_current_step(); + map_animation_invalidate_all(); + vehicle_sounds_update(); + peep_update_crowd_noise(); + climate_update_sound(); + editor_open_windows_for_current_step(); - gSavedAge++; + gSavedAge++; - // Update windows - //window_dispatch_update_all(); + // Update windows + //window_dispatch_update_all(); - if (gErrorType != ERROR_TYPE_NONE) { - rct_string_id title_text = STR_UNABLE_TO_LOAD_FILE; - rct_string_id body_text = gErrorStringId; - if (gErrorType == ERROR_TYPE_GENERIC) { - title_text = gErrorStringId; - body_text = 0xFFFF; - } - gErrorType = ERROR_TYPE_NONE; + if (gErrorType != ERROR_TYPE_NONE) { + rct_string_id title_text = STR_UNABLE_TO_LOAD_FILE; + rct_string_id body_text = gErrorStringId; + if (gErrorType == ERROR_TYPE_GENERIC) { + title_text = gErrorStringId; + body_text = 0xFFFF; + } + gErrorType = ERROR_TYPE_NONE; - window_error_open(title_text, body_text); - } + window_error_open(title_text, body_text); + } - // Start autosave timer after update - if (gLastAutoSaveUpdate == AUTOSAVE_PAUSE) - gLastAutoSaveUpdate = platform_get_ticks(); + // Start autosave timer after update + if (gLastAutoSaveUpdate == AUTOSAVE_PAUSE) + gLastAutoSaveUpdate = platform_get_ticks(); } /** @@ -443,14 +443,14 @@ void game_logic_update() */ static sint32 game_check_affordability(sint32 cost) { - if (cost <= 0)return cost; - if (gUnk141F568 & 0xF0) return cost; - if (cost <= (sint32)(DECRYPT_MONEY(gCashEncrypted)))return cost; + if (cost <= 0)return cost; + if (gUnk141F568 & 0xF0) return cost; + if (cost <= (sint32)(DECRYPT_MONEY(gCashEncrypted)))return cost; - set_format_arg(0, uint32, cost); + set_format_arg(0, uint32, cost); - gGameCommandErrorText = STR_NOT_ENOUGH_CASH_REQUIRES; - return MONEY32_UNDEFINED; + gGameCommandErrorText = STR_NOT_ENOUGH_CASH_REQUIRES; + return MONEY32_UNDEFINED; } /** @@ -462,7 +462,7 @@ static sint32 game_check_affordability(sint32 cost) */ sint32 game_do_command(sint32 eax, sint32 ebx, sint32 ecx, sint32 edx, sint32 esi, sint32 edi, sint32 ebp) { - return game_do_command_p(esi, &eax, &ebx, &ecx, &edx, &esi, &edi, &ebp); + return game_do_command_p(esi, &eax, &ebx, &ecx, &edx, &esi, &edi, &ebp); } /** @@ -474,392 +474,392 @@ sint32 game_do_command(sint32 eax, sint32 ebx, sint32 ecx, sint32 edx, sint32 es */ sint32 game_do_command_p(sint32 command, sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - sint32 cost, flags; - sint32 original_ebx, original_edx, original_esi, original_edi, original_ebp; + sint32 cost, flags; + sint32 original_ebx, original_edx, original_esi, original_edi, original_ebp; - *esi = command; - original_ebx = *ebx; - original_edx = *edx; - original_esi = *esi; - original_edi = *edi; - original_ebp = *ebp; + *esi = command; + original_ebx = *ebx; + original_edx = *edx; + original_esi = *esi; + original_edi = *edi; + original_ebp = *ebp; - if (command >= countof(new_game_command_table)) { - return MONEY32_UNDEFINED; - } + if (command >= countof(new_game_command_table)) { + return MONEY32_UNDEFINED; + } - flags = *ebx; + flags = *ebx; - if (gGameCommandNestLevel == 0) { - gGameCommandErrorText = STR_NONE; - gGameCommandIsNetworked = (flags & GAME_COMMAND_FLAG_NETWORKED) != 0; - } + if (gGameCommandNestLevel == 0) { + gGameCommandErrorText = STR_NONE; + gGameCommandIsNetworked = (flags & GAME_COMMAND_FLAG_NETWORKED) != 0; + } - // Increment nest count - gGameCommandNestLevel++; + // Increment nest count + gGameCommandNestLevel++; - // Remove ghost scenery so it doesn't interfere with incoming network command - if ((flags & GAME_COMMAND_FLAG_NETWORKED) && !(flags & GAME_COMMAND_FLAG_GHOST) && - (command == GAME_COMMAND_PLACE_WALL || - command == GAME_COMMAND_PLACE_SCENERY || - command == GAME_COMMAND_PLACE_LARGE_SCENERY || - command == GAME_COMMAND_PLACE_BANNER || - command == GAME_COMMAND_PLACE_PATH)) { - scenery_remove_ghost_tool_placement(); - } + // Remove ghost scenery so it doesn't interfere with incoming network command + if ((flags & GAME_COMMAND_FLAG_NETWORKED) && !(flags & GAME_COMMAND_FLAG_GHOST) && + (command == GAME_COMMAND_PLACE_WALL || + command == GAME_COMMAND_PLACE_SCENERY || + command == GAME_COMMAND_PLACE_LARGE_SCENERY || + command == GAME_COMMAND_PLACE_BANNER || + command == GAME_COMMAND_PLACE_PATH)) { + scenery_remove_ghost_tool_placement(); + } - if (game_command_playerid == -1) { - game_command_playerid = network_get_current_player_id(); - } + if (game_command_playerid == -1) { + game_command_playerid = network_get_current_player_id(); + } - // Log certain commands if we are in multiplayer and logging is enabled - bool serverLog = (network_get_mode() == NETWORK_MODE_SERVER) && gGameCommandNestLevel == 1 && gConfigNetwork.log_server_actions; - bool clientLog = (network_get_mode() == NETWORK_MODE_CLIENT) && (flags & GAME_COMMAND_FLAG_NETWORKED) && gGameCommandNestLevel == 1 && gConfigNetwork.log_server_actions; - if (serverLog || clientLog) { - game_log_multiplayer_command(command, eax, ebx, ecx, edx, edi, ebp); - } + // Log certain commands if we are in multiplayer and logging is enabled + bool serverLog = (network_get_mode() == NETWORK_MODE_SERVER) && gGameCommandNestLevel == 1 && gConfigNetwork.log_server_actions; + bool clientLog = (network_get_mode() == NETWORK_MODE_CLIENT) && (flags & GAME_COMMAND_FLAG_NETWORKED) && gGameCommandNestLevel == 1 && gConfigNetwork.log_server_actions; + if (serverLog || clientLog) { + game_log_multiplayer_command(command, eax, ebx, ecx, edx, edi, ebp); + } - *ebx &= ~GAME_COMMAND_FLAG_APPLY; + *ebx &= ~GAME_COMMAND_FLAG_APPLY; - // First call for validity and price check - new_game_command_table[command](eax, ebx, ecx, edx, esi, edi, ebp); - cost = *ebx; + // First call for validity and price check + new_game_command_table[command](eax, ebx, ecx, edx, esi, edi, ebp); + cost = *ebx; - if (cost != MONEY32_UNDEFINED) { - // Check funds - sint32 insufficientFunds = 0; - if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_2) && !(flags & GAME_COMMAND_FLAG_5) && cost != 0) - insufficientFunds = game_check_affordability(cost); + if (cost != MONEY32_UNDEFINED) { + // Check funds + sint32 insufficientFunds = 0; + if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_2) && !(flags & GAME_COMMAND_FLAG_5) && cost != 0) + insufficientFunds = game_check_affordability(cost); - if (insufficientFunds != MONEY32_UNDEFINED) { - *ebx = original_ebx; - *edx = original_edx; - *esi = original_esi; - *edi = original_edi; - *ebp = original_ebp; + if (insufficientFunds != MONEY32_UNDEFINED) { + *ebx = original_ebx; + *edx = original_edx; + *esi = original_esi; + *edi = original_edi; + *ebp = original_ebp; - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - // Decrement nest count - gGameCommandNestLevel--; - return cost; - } + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + // Decrement nest count + gGameCommandNestLevel--; + return cost; + } - if (network_get_mode() != NETWORK_MODE_NONE && !(flags & GAME_COMMAND_FLAG_NETWORKED) && !(flags & GAME_COMMAND_FLAG_GHOST) && !(flags & GAME_COMMAND_FLAG_5) && gGameCommandNestLevel == 1 /* Send only top-level commands */) { - if (command != GAME_COMMAND_LOAD_OR_QUIT) { // Disable these commands over the network - network_send_gamecmd(*eax, *ebx, *ecx, *edx, *esi, *edi, *ebp, game_command_callback_get_index(game_command_callback)); - if (network_get_mode() == NETWORK_MODE_CLIENT) { // Client sent the command to the server, do not run it locally, just return. It will run when server sends it - game_command_callback = 0; - // Decrement nest count - gGameCommandNestLevel--; - return cost; - } - } - } + if (network_get_mode() != NETWORK_MODE_NONE && !(flags & GAME_COMMAND_FLAG_NETWORKED) && !(flags & GAME_COMMAND_FLAG_GHOST) && !(flags & GAME_COMMAND_FLAG_5) && gGameCommandNestLevel == 1 /* Send only top-level commands */) { + if (command != GAME_COMMAND_LOAD_OR_QUIT) { // Disable these commands over the network + network_send_gamecmd(*eax, *ebx, *ecx, *edx, *esi, *edi, *ebp, game_command_callback_get_index(game_command_callback)); + if (network_get_mode() == NETWORK_MODE_CLIENT) { // Client sent the command to the server, do not run it locally, just return. It will run when server sends it + game_command_callback = 0; + // Decrement nest count + gGameCommandNestLevel--; + return cost; + } + } + } - // Second call to actually perform the operation - new_game_command_table[command](eax, ebx, ecx, edx, esi, edi, ebp); + // Second call to actually perform the operation + new_game_command_table[command](eax, ebx, ecx, edx, esi, edi, ebp); - // Do the callback (required for multiplayer to work correctly), but only for top level commands - if (gGameCommandNestLevel == 1) { - if (game_command_callback && !(flags & GAME_COMMAND_FLAG_GHOST)) { - game_command_callback(*eax, *ebx, *ecx, *edx, *esi, *edi, *ebp); - game_command_callback = 0; - } - } + // Do the callback (required for multiplayer to work correctly), but only for top level commands + if (gGameCommandNestLevel == 1) { + if (game_command_callback && !(flags & GAME_COMMAND_FLAG_GHOST)) { + game_command_callback(*eax, *ebx, *ecx, *edx, *esi, *edi, *ebp); + game_command_callback = 0; + } + } - game_command_playerid = -1; + game_command_playerid = -1; - *edx = *ebx; + *edx = *ebx; - if (*edx != MONEY32_UNDEFINED && *edx < cost) - cost = *edx; + if (*edx != MONEY32_UNDEFINED && *edx < cost) + cost = *edx; - // Decrement nest count - gGameCommandNestLevel--; - if (gGameCommandNestLevel != 0) - return cost; + // Decrement nest count + gGameCommandNestLevel--; + if (gGameCommandNestLevel != 0) + return cost; - // - if (!(flags & 0x20)) { - // Update money balance - finance_payment(cost, gCommandExpenditureType); - if (gUnk141F568 == gUnk13CA740) { - // Create a +/- money text effect - if (cost != 0) - money_effect_create(cost); - } - } + // + if (!(flags & 0x20)) { + // Update money balance + finance_payment(cost, gCommandExpenditureType); + if (gUnk141F568 == gUnk13CA740) { + // Create a +/- money text effect + if (cost != 0) + money_effect_create(cost); + } + } - if (network_get_mode() == NETWORK_MODE_SERVER && !(flags & GAME_COMMAND_FLAG_NETWORKED) && !(flags & GAME_COMMAND_FLAG_GHOST)) { - network_set_player_last_action(network_get_player_index(network_get_current_player_id()), command); - network_add_player_money_spent(network_get_current_player_id(), cost); - } + if (network_get_mode() == NETWORK_MODE_SERVER && !(flags & GAME_COMMAND_FLAG_NETWORKED) && !(flags & GAME_COMMAND_FLAG_GHOST)) { + network_set_player_last_action(network_get_player_index(network_get_current_player_id()), command); + network_add_player_money_spent(network_get_current_player_id(), cost); + } - // Start autosave timer after game command - if (gLastAutoSaveUpdate == AUTOSAVE_PAUSE) - gLastAutoSaveUpdate = platform_get_ticks(); + // Start autosave timer after game command + if (gLastAutoSaveUpdate == AUTOSAVE_PAUSE) + gLastAutoSaveUpdate = platform_get_ticks(); - return cost; - } - } + return cost; + } + } - // Error occurred + // Error occurred - // Decrement nest count - gGameCommandNestLevel--; + // Decrement nest count + gGameCommandNestLevel--; - // Clear the game command callback to prevent the next command triggering it - game_command_callback = 0; + // Clear the game command callback to prevent the next command triggering it + game_command_callback = 0; - // Show error window - if (gGameCommandNestLevel == 0 && (flags & GAME_COMMAND_FLAG_APPLY) && gUnk141F568 == gUnk13CA740 && !(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED) && !(flags & GAME_COMMAND_FLAG_NETWORKED)) - window_error_open(gGameCommandErrorTitle, gGameCommandErrorText); + // Show error window + if (gGameCommandNestLevel == 0 && (flags & GAME_COMMAND_FLAG_APPLY) && gUnk141F568 == gUnk13CA740 && !(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED) && !(flags & GAME_COMMAND_FLAG_NETWORKED)) + window_error_open(gGameCommandErrorTitle, gGameCommandErrorText); - return MONEY32_UNDEFINED; + return MONEY32_UNDEFINED; } void game_log_multiplayer_command(int command, int *eax, int* ebx, int* ecx, int* edx, int* edi, int* ebp) { - // Get player name - int player_index = network_get_player_index(game_command_playerid); - const char* player_name = network_get_player_name(player_index); + // Get player name + int player_index = network_get_player_index(game_command_playerid); + const char* player_name = network_get_player_name(player_index); - char log_msg[256]; - if (command == GAME_COMMAND_CHEAT) { - // Get cheat name - const char* cheat = cheats_get_cheat_string(*ecx, *edx, *edi); - char* args[2] = { - (char *)player_name, - (char *)cheat - }; - format_string(log_msg, 256, STR_LOG_CHEAT_USED, args); - network_append_server_log(log_msg); - } else if (command == GAME_COMMAND_CREATE_RIDE && *ebp == 1) { // ebp is 1 if the command comes from ride_create method in ride.c, other calls send ride_entry instead of ride and wont work - // Get ride name - rct_ride* ride = get_ride(*edx); - char ride_name[128]; - format_string(ride_name, 128, ride->name, &ride->name_arguments); + char log_msg[256]; + if (command == GAME_COMMAND_CHEAT) { + // Get cheat name + const char* cheat = cheats_get_cheat_string(*ecx, *edx, *edi); + char* args[2] = { + (char *)player_name, + (char *)cheat + }; + format_string(log_msg, 256, STR_LOG_CHEAT_USED, args); + network_append_server_log(log_msg); + } else if (command == GAME_COMMAND_CREATE_RIDE && *ebp == 1) { // ebp is 1 if the command comes from ride_create method in ride.c, other calls send ride_entry instead of ride and wont work + // Get ride name + rct_ride* ride = get_ride(*edx); + char ride_name[128]; + format_string(ride_name, 128, ride->name, &ride->name_arguments); - char* args[2] = { - (char *)player_name, - ride_name - }; + char* args[2] = { + (char *)player_name, + ride_name + }; - format_string(log_msg, 256, STR_LOG_CREATE_RIDE, args); - network_append_server_log(log_msg); - } else if (command == GAME_COMMAND_DEMOLISH_RIDE && (*ebp == 1 || *ebp == 0)) { // ebp is 1 if command comes from ride window prompt, so we don't log "demolishing" ride previews - // Get ride name - rct_ride* ride = get_ride(*edx); - char ride_name[128]; - format_string(ride_name, 128, ride->name, &ride->name_arguments); + format_string(log_msg, 256, STR_LOG_CREATE_RIDE, args); + network_append_server_log(log_msg); + } else if (command == GAME_COMMAND_DEMOLISH_RIDE && (*ebp == 1 || *ebp == 0)) { // ebp is 1 if command comes from ride window prompt, so we don't log "demolishing" ride previews + // Get ride name + rct_ride* ride = get_ride(*edx); + char ride_name[128]; + format_string(ride_name, 128, ride->name, &ride->name_arguments); - char* args[2] = { - (char *) player_name, - ride_name - }; + char* args[2] = { + (char *) player_name, + ride_name + }; - format_string(log_msg, 256, STR_LOG_DEMOLISH_RIDE, args); - network_append_server_log(log_msg); - } else if (command == GAME_COMMAND_SET_RIDE_APPEARANCE || command == GAME_COMMAND_SET_RIDE_VEHICLES || command == GAME_COMMAND_SET_RIDE_SETTING) { - // Get ride name - int ride_index = *edx & 0xFF; - rct_ride* ride = get_ride(ride_index); - char ride_name[128]; - format_string(ride_name, 128, ride->name, &ride->name_arguments); + format_string(log_msg, 256, STR_LOG_DEMOLISH_RIDE, args); + network_append_server_log(log_msg); + } else if (command == GAME_COMMAND_SET_RIDE_APPEARANCE || command == GAME_COMMAND_SET_RIDE_VEHICLES || command == GAME_COMMAND_SET_RIDE_SETTING) { + // Get ride name + int ride_index = *edx & 0xFF; + rct_ride* ride = get_ride(ride_index); + char ride_name[128]; + format_string(ride_name, 128, ride->name, &ride->name_arguments); - char* args[2] = { - (char *) player_name, - ride_name - }; + char* args[2] = { + (char *) player_name, + ride_name + }; - switch (command) { - case GAME_COMMAND_SET_RIDE_APPEARANCE: format_string(log_msg, 256, STR_LOG_RIDE_APPEARANCE, args); break; - case GAME_COMMAND_SET_RIDE_VEHICLES: format_string(log_msg, 256, STR_LOG_RIDE_VEHICLES, args); break; - case GAME_COMMAND_SET_RIDE_SETTING: format_string(log_msg, 256, STR_LOG_RIDE_SETTINGS, args); break; - } + switch (command) { + case GAME_COMMAND_SET_RIDE_APPEARANCE: format_string(log_msg, 256, STR_LOG_RIDE_APPEARANCE, args); break; + case GAME_COMMAND_SET_RIDE_VEHICLES: format_string(log_msg, 256, STR_LOG_RIDE_VEHICLES, args); break; + case GAME_COMMAND_SET_RIDE_SETTING: format_string(log_msg, 256, STR_LOG_RIDE_SETTINGS, args); break; + } - network_append_server_log(log_msg); - } else if (command == GAME_COMMAND_SET_RIDE_STATUS) { - // Get ride name - int ride_index = *edx & 0xFF; - rct_ride* ride = get_ride(ride_index); - char ride_name[128]; - format_string(ride_name, 128, ride->name, &ride->name_arguments); + network_append_server_log(log_msg); + } else if (command == GAME_COMMAND_SET_RIDE_STATUS) { + // Get ride name + int ride_index = *edx & 0xFF; + rct_ride* ride = get_ride(ride_index); + char ride_name[128]; + format_string(ride_name, 128, ride->name, &ride->name_arguments); - char* args[2] = { - (char *) player_name, - ride_name - }; + char* args[2] = { + (char *) player_name, + ride_name + }; - int status = *edx >> 8; - switch (status) { - case 0: format_string(log_msg, 256, STR_LOG_RIDE_STATUS_CLOSED, args); break; - case 1: format_string(log_msg, 256, STR_LOG_RIDE_STATUS_OPEN, args); break; - case 2: format_string(log_msg, 256, STR_LOG_RIDE_STATUS_TESTING, args); break; - } + int status = *edx >> 8; + switch (status) { + case 0: format_string(log_msg, 256, STR_LOG_RIDE_STATUS_CLOSED, args); break; + case 1: format_string(log_msg, 256, STR_LOG_RIDE_STATUS_OPEN, args); break; + case 2: format_string(log_msg, 256, STR_LOG_RIDE_STATUS_TESTING, args); break; + } - network_append_server_log(log_msg); - } else if (command == GAME_COMMAND_SET_RIDE_PRICE) { - // Get ride name - int ride_index = *edx & 0xFF; - rct_ride* ride = get_ride(ride_index); - char ride_name[128]; - format_string(ride_name, 128, ride->name, &ride->name_arguments); + network_append_server_log(log_msg); + } else if (command == GAME_COMMAND_SET_RIDE_PRICE) { + // Get ride name + int ride_index = *edx & 0xFF; + rct_ride* ride = get_ride(ride_index); + char ride_name[128]; + format_string(ride_name, 128, ride->name, &ride->name_arguments); - // Format price - int price_args[1] = {*edi}; - char price_str[16]; - format_string(price_str, 16, STR_BOTTOM_TOOLBAR_CASH, price_args); + // Format price + int price_args[1] = {*edi}; + char price_str[16]; + format_string(price_str, 16, STR_BOTTOM_TOOLBAR_CASH, price_args); - // Log change in primary or secondary price - char* args[3] = { - (char *) player_name, - ride_name, - price_str - }; + // Log change in primary or secondary price + char* args[3] = { + (char *) player_name, + ride_name, + price_str + }; - if (*edx >> 8 == 0) { - format_string(log_msg, 256, STR_LOG_RIDE_PRICE, args); - } else if (*edx >> 8 == 1) { - format_string(log_msg, 256, STR_LOG_RIDE_SECONDARY_PRICE, args); - } + if (*edx >> 8 == 0) { + format_string(log_msg, 256, STR_LOG_RIDE_PRICE, args); + } else if (*edx >> 8 == 1) { + format_string(log_msg, 256, STR_LOG_RIDE_SECONDARY_PRICE, args); + } - network_append_server_log(log_msg); - } else if (command == GAME_COMMAND_SET_PARK_OPEN) { - // Log change in park open/close - char* args[1] = { - (char *) player_name - }; + network_append_server_log(log_msg); + } else if (command == GAME_COMMAND_SET_PARK_OPEN) { + // Log change in park open/close + char* args[1] = { + (char *) player_name + }; - if (*edx >> 8 == 0) { - format_string(log_msg, 256, STR_LOG_PARK_OPEN, args); - } else if (*edx >> 8 == 1) { - format_string(log_msg, 256, STR_LOG_PARK_CLOSED, args); - } + if (*edx >> 8 == 0) { + format_string(log_msg, 256, STR_LOG_PARK_OPEN, args); + } else if (*edx >> 8 == 1) { + format_string(log_msg, 256, STR_LOG_PARK_CLOSED, args); + } - network_append_server_log(log_msg); - } else if (command == GAME_COMMAND_SET_PARK_ENTRANCE_FEE) { - // Format price - int price_args[1] = {*edi}; - char price_str[16]; - format_string(price_str, 16, STR_BOTTOM_TOOLBAR_CASH, price_args); + network_append_server_log(log_msg); + } else if (command == GAME_COMMAND_SET_PARK_ENTRANCE_FEE) { + // Format price + int price_args[1] = {*edi}; + char price_str[16]; + format_string(price_str, 16, STR_BOTTOM_TOOLBAR_CASH, price_args); - // Log change in park entrance fee - char* args[2] = { - (char *) player_name, - price_str - }; + // Log change in park entrance fee + char* args[2] = { + (char *) player_name, + price_str + }; - format_string(log_msg, 256, STR_LOG_PARK_ENTRANCE_FEE, args); - network_append_server_log(log_msg); - } else if (command == GAME_COMMAND_PLACE_SCENERY || command == GAME_COMMAND_PLACE_WALL || - command == GAME_COMMAND_PLACE_LARGE_SCENERY || command == GAME_COMMAND_PLACE_BANNER) { - uint8 flags = *ebx & 0xFF; - if (flags & GAME_COMMAND_FLAG_GHOST) { - // Don't log ghost previews being removed - return; - } + format_string(log_msg, 256, STR_LOG_PARK_ENTRANCE_FEE, args); + network_append_server_log(log_msg); + } else if (command == GAME_COMMAND_PLACE_SCENERY || command == GAME_COMMAND_PLACE_WALL || + command == GAME_COMMAND_PLACE_LARGE_SCENERY || command == GAME_COMMAND_PLACE_BANNER) { + uint8 flags = *ebx & 0xFF; + if (flags & GAME_COMMAND_FLAG_GHOST) { + // Don't log ghost previews being removed + return; + } - // Log placing scenery - char* args[1] = { - (char *)player_name - }; + // Log placing scenery + char* args[1] = { + (char *)player_name + }; - format_string(log_msg, 256, STR_LOG_PLACE_SCENERY, args); - network_append_server_log(log_msg); - } else if (command == GAME_COMMAND_REMOVE_SCENERY || command == GAME_COMMAND_REMOVE_WALL || - command == GAME_COMMAND_REMOVE_LARGE_SCENERY || command == GAME_COMMAND_REMOVE_BANNER) { - uint8 flags = *ebx & 0xFF; - if (flags & GAME_COMMAND_FLAG_GHOST) { - // Don't log ghost previews being removed - return; - } + format_string(log_msg, 256, STR_LOG_PLACE_SCENERY, args); + network_append_server_log(log_msg); + } else if (command == GAME_COMMAND_REMOVE_SCENERY || command == GAME_COMMAND_REMOVE_WALL || + command == GAME_COMMAND_REMOVE_LARGE_SCENERY || command == GAME_COMMAND_REMOVE_BANNER) { + uint8 flags = *ebx & 0xFF; + if (flags & GAME_COMMAND_FLAG_GHOST) { + // Don't log ghost previews being removed + return; + } - // Log removing scenery - char* args[1] = { - (char *)player_name - }; + // Log removing scenery + char* args[1] = { + (char *)player_name + }; - format_string(log_msg, 256, STR_LOG_REMOVE_SCENERY, args); - network_append_server_log(log_msg); - } else if (command == GAME_COMMAND_SET_SCENERY_COLOUR || command == GAME_COMMAND_SET_WALL_COLOUR || - command == GAME_COMMAND_SET_LARGE_SCENERY_COLOUR || command == GAME_COMMAND_SET_BANNER_COLOUR || - command == GAME_COMMAND_SET_BANNER_NAME || command == GAME_COMMAND_SET_SIGN_NAME || - command == GAME_COMMAND_SET_BANNER_STYLE || command == GAME_COMMAND_SET_SIGN_STYLE) { - // Log editing scenery - char* args[1] = { - (char *)player_name - }; + format_string(log_msg, 256, STR_LOG_REMOVE_SCENERY, args); + network_append_server_log(log_msg); + } else if (command == GAME_COMMAND_SET_SCENERY_COLOUR || command == GAME_COMMAND_SET_WALL_COLOUR || + command == GAME_COMMAND_SET_LARGE_SCENERY_COLOUR || command == GAME_COMMAND_SET_BANNER_COLOUR || + command == GAME_COMMAND_SET_BANNER_NAME || command == GAME_COMMAND_SET_SIGN_NAME || + command == GAME_COMMAND_SET_BANNER_STYLE || command == GAME_COMMAND_SET_SIGN_STYLE) { + // Log editing scenery + char* args[1] = { + (char *)player_name + }; - format_string(log_msg, 256, STR_LOG_EDIT_SCENERY, args); - network_append_server_log(log_msg); - if (command == GAME_COMMAND_SET_BANNER_NAME || command == GAME_COMMAND_SET_SIGN_NAME) { - static char banner_name[128]; + format_string(log_msg, 256, STR_LOG_EDIT_SCENERY, args); + network_append_server_log(log_msg); + if (command == GAME_COMMAND_SET_BANNER_NAME || command == GAME_COMMAND_SET_SIGN_NAME) { + static char banner_name[128]; - memset(banner_name, ' ', sizeof(banner_name)); - int nameChunkIndex = *eax & 0xFFFF; + memset(banner_name, ' ', sizeof(banner_name)); + int nameChunkIndex = *eax & 0xFFFF; - int nameChunkOffset = nameChunkIndex - 1; - if (nameChunkOffset < 0) - nameChunkOffset = 2; - nameChunkOffset *= 12; - nameChunkOffset = min(nameChunkOffset, countof(banner_name) - 12); - memcpy(banner_name + nameChunkOffset + 0, edx, 4); - memcpy(banner_name + nameChunkOffset + 4, ebp, 4); - memcpy(banner_name + nameChunkOffset + 8, edi, 4); - banner_name[sizeof(banner_name) - 1] = '\0'; - char* args_sign[2] = { - (char *)player_name, - (char *)banner_name - }; + int nameChunkOffset = nameChunkIndex - 1; + if (nameChunkOffset < 0) + nameChunkOffset = 2; + nameChunkOffset *= 12; + nameChunkOffset = min(nameChunkOffset, countof(banner_name) - 12); + memcpy(banner_name + nameChunkOffset + 0, edx, 4); + memcpy(banner_name + nameChunkOffset + 4, ebp, 4); + memcpy(banner_name + nameChunkOffset + 8, edi, 4); + banner_name[sizeof(banner_name) - 1] = '\0'; + char* args_sign[2] = { + (char *)player_name, + (char *)banner_name + }; - format_string(log_msg, 256, STR_LOG_SET_SIGN_NAME, args_sign); - network_append_server_log(log_msg); - } - } else if (command == GAME_COMMAND_PLACE_TRACK) { - // Get ride name - int ride_index = *edx & 0xFF; - rct_ride* ride = get_ride(ride_index); - char ride_name[128]; - format_string(ride_name, 128, ride->name, &ride->name_arguments); + format_string(log_msg, 256, STR_LOG_SET_SIGN_NAME, args_sign); + network_append_server_log(log_msg); + } + } else if (command == GAME_COMMAND_PLACE_TRACK) { + // Get ride name + int ride_index = *edx & 0xFF; + rct_ride* ride = get_ride(ride_index); + char ride_name[128]; + format_string(ride_name, 128, ride->name, &ride->name_arguments); - char* args[2] = { - (char *) player_name, - ride_name - }; + char* args[2] = { + (char *) player_name, + ride_name + }; - format_string(log_msg, 256, STR_LOG_PLACE_TRACK, args); - network_append_server_log(log_msg); - } else if (command == GAME_COMMAND_REMOVE_TRACK) { - char* args[1] = { - (char *) player_name - }; + format_string(log_msg, 256, STR_LOG_PLACE_TRACK, args); + network_append_server_log(log_msg); + } else if (command == GAME_COMMAND_REMOVE_TRACK) { + char* args[1] = { + (char *) player_name + }; - format_string(log_msg, 256, STR_LOG_REMOVE_TRACK, args); - network_append_server_log(log_msg); - } + format_string(log_msg, 256, STR_LOG_REMOVE_TRACK, args); + network_append_server_log(log_msg); + } } void pause_toggle() { - gGamePaused ^= GAME_PAUSED_NORMAL; - window_invalidate_by_class(WC_TOP_TOOLBAR); - if (gGamePaused & GAME_PAUSED_NORMAL) { - audio_pause_sounds(); - audio_unpause_sounds(); - } else { - audio_unpause_sounds(); - } + gGamePaused ^= GAME_PAUSED_NORMAL; + window_invalidate_by_class(WC_TOP_TOOLBAR); + if (gGamePaused & GAME_PAUSED_NORMAL) { + audio_pause_sounds(); + audio_unpause_sounds(); + } else { + audio_unpause_sounds(); + } } bool game_is_paused() { - return gGamePaused != 0; + return gGamePaused != 0; } bool game_is_not_paused() { - return gGamePaused == 0; + return gGamePaused == 0; } /** @@ -868,10 +868,10 @@ bool game_is_not_paused() */ void game_pause_toggle(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - if (*ebx & GAME_COMMAND_FLAG_APPLY) - pause_toggle(); + if (*ebx & GAME_COMMAND_FLAG_APPLY) + pause_toggle(); - *ebx = 0; + *ebx = 0; } /** @@ -880,21 +880,21 @@ void game_pause_toggle(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint3 */ static void game_load_or_quit(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - switch (*edx & 0xFF) { - case 0: - gSavePromptMode = *edi & 0xFF; - window_save_prompt_open(); - break; - case 1: - window_close_by_class(WC_SAVE_PROMPT); - break; - default: - game_load_or_quit_no_save_prompt(); - break; - } - } - *ebx = 0; + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + switch (*edx & 0xFF) { + case 0: + gSavePromptMode = *edi & 0xFF; + window_save_prompt_open(); + break; + case 1: + window_close_by_class(WC_SAVE_PROMPT); + break; + default: + game_load_or_quit_no_save_prompt(); + break; + } + } + *ebx = 0; } /** @@ -903,45 +903,45 @@ static void game_load_or_quit(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx */ static void load_landscape() { - window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_LANDSCAPE, NULL); + window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_LANDSCAPE, NULL); } static void utf8_to_rct2_self(char *buffer, size_t length) { - char tempBuffer[512]; - utf8_to_rct2(tempBuffer, buffer); + char tempBuffer[512]; + utf8_to_rct2(tempBuffer, buffer); - size_t i = 0; - const char *src = tempBuffer; - char *dst = buffer; - while (*src != 0 && i < length - 1) { - if (*src == (char)(uint8)0xFF) { - if (i < length - 3) { - *dst++ = *src++; - *dst++ = *src++; - *dst++ = *src++; - } else { - break; - } - i += 3; - } else { - *dst++ = *src++; - i++; - } - } - do { - *dst++ = '\0'; - i++; - } while (i < length); + size_t i = 0; + const char *src = tempBuffer; + char *dst = buffer; + while (*src != 0 && i < length - 1) { + if (*src == (char)(uint8)0xFF) { + if (i < length - 3) { + *dst++ = *src++; + *dst++ = *src++; + *dst++ = *src++; + } else { + break; + } + i += 3; + } else { + *dst++ = *src++; + i++; + } + } + do { + *dst++ = '\0'; + i++; + } while (i < length); } static void rct2_to_utf8_self(char *buffer, size_t length) { - if (length > 0) { - char tempBuffer[512]; - rct2_to_utf8(tempBuffer, buffer); - safe_strcpy(buffer, tempBuffer, length); - } + if (length > 0) { + char tempBuffer[512]; + rct2_to_utf8(tempBuffer, buffer); + safe_strcpy(buffer, tempBuffer, length); + } } /** @@ -949,20 +949,20 @@ static void rct2_to_utf8_self(char *buffer, size_t length) */ void game_convert_strings_to_utf8() { - // Scenario details - rct2_to_utf8_self(gScenarioCompletedBy, 32); - rct2_to_utf8_self(gScenarioName, 64); - rct2_to_utf8_self(gScenarioDetails, 256); + // Scenario details + rct2_to_utf8_self(gScenarioCompletedBy, 32); + rct2_to_utf8_self(gScenarioName, 64); + rct2_to_utf8_self(gScenarioDetails, 256); - // User strings - for (sint32 i = 0; i < MAX_USER_STRINGS; i++) { - utf8 *userString = &gUserStrings[i * USER_STRING_MAX_LENGTH]; + // User strings + for (sint32 i = 0; i < MAX_USER_STRINGS; i++) { + utf8 *userString = &gUserStrings[i * USER_STRING_MAX_LENGTH]; - if (!str_is_null_or_empty(userString)) { - rct2_to_utf8_self(userString, 32); - utf8_remove_formatting(userString, true); - } - } + if (!str_is_null_or_empty(userString)) { + rct2_to_utf8_self(userString, 32); + utf8_remove_formatting(userString, true); + } + } // News items game_convert_news_items_to_utf8(); @@ -985,86 +985,86 @@ void game_convert_news_items_to_utf8() */ void game_convert_strings_to_rct2(rct_s6_data *s6) { - // Scenario details - utf8_to_rct2_self(s6->scenario_completed_name, sizeof(s6->scenario_completed_name)); - utf8_to_rct2_self(s6->scenario_name, sizeof(s6->scenario_name)); - utf8_to_rct2_self(s6->scenario_description, sizeof(s6->scenario_description)); + // Scenario details + utf8_to_rct2_self(s6->scenario_completed_name, sizeof(s6->scenario_completed_name)); + utf8_to_rct2_self(s6->scenario_name, sizeof(s6->scenario_name)); + utf8_to_rct2_self(s6->scenario_description, sizeof(s6->scenario_description)); - // User strings - for (sint32 i = 0; i < MAX_USER_STRINGS; i++) { - char *userString = &s6->custom_strings[i * USER_STRING_MAX_LENGTH]; + // User strings + for (sint32 i = 0; i < MAX_USER_STRINGS; i++) { + char *userString = &s6->custom_strings[i * USER_STRING_MAX_LENGTH]; - if (!str_is_null_or_empty(userString)) { - utf8_to_rct2_self(userString, 32); - } - } + if (!str_is_null_or_empty(userString)) { + utf8_to_rct2_self(userString, 32); + } + } - // News items - for (sint32 i = 0; i < MAX_NEWS_ITEMS; i++) { - rct12_news_item *newsItem = &s6->news_items[i]; + // News items + for (sint32 i = 0; i < MAX_NEWS_ITEMS; i++) { + rct12_news_item *newsItem = &s6->news_items[i]; - if (!str_is_null_or_empty(newsItem->Text)) { - utf8_to_rct2_self(newsItem->Text, sizeof(newsItem->Text)); - } - } + if (!str_is_null_or_empty(newsItem->Text)) { + utf8_to_rct2_self(newsItem->Text, sizeof(newsItem->Text)); + } + } } // OpenRCT2 workaround to recalculate some values which are saved redundantly in the save to fix corrupted files. // For example recalculate guest count by looking at all the guests instead of trusting the value in the file. void game_fix_save_vars() { - // Recalculates peep count after loading a save to fix corrupted files - rct_peep* peep; - uint16 spriteIndex; - uint16 peepCount = 0; - FOR_ALL_GUESTS(spriteIndex, peep) { - if(!peep->outside_of_park) - peepCount++; - } + // Recalculates peep count after loading a save to fix corrupted files + rct_peep* peep; + uint16 spriteIndex; + uint16 peepCount = 0; + FOR_ALL_GUESTS(spriteIndex, peep) { + if(!peep->outside_of_park) + peepCount++; + } - gNumGuestsInPark = peepCount; + gNumGuestsInPark = peepCount; - peep_sort(); + peep_sort(); - // Fixes broken saves where a surface element could be null - for (sint32 y = 0; y < 256; y++) { - for (sint32 x = 0; x < 256; x++) { - rct_map_element *mapElement = map_get_surface_element_at(x, y); + // Fixes broken saves where a surface element could be null + for (sint32 y = 0; y < 256; y++) { + for (sint32 x = 0; x < 256; x++) { + rct_map_element *mapElement = map_get_surface_element_at(x, y); - if (mapElement == NULL) - { - log_error("Null map element at x = %d and y = %d. Fixing...", x, y); - mapElement = map_element_insert(x, y, 14, 0); - if (mapElement == NULL) { - log_error("Unable to fix: Map element limit reached."); - return; - } - } - } - } + if (mapElement == NULL) + { + log_error("Null map element at x = %d and y = %d. Fixing...", x, y); + mapElement = map_element_insert(x, y, 14, 0); + if (mapElement == NULL) { + log_error("Unable to fix: Map element limit reached."); + return; + } + } + } + } - // Fix invalid research items - for (sint32 i = 0; i < MAX_RESEARCH_ITEMS; i++) { - rct_research_item *researchItem = &gResearchItems[i]; - if (researchItem->entryIndex == RESEARCHED_ITEMS_SEPARATOR) continue; - if (researchItem->entryIndex == RESEARCHED_ITEMS_END) continue; - if (researchItem->entryIndex == RESEARCHED_ITEMS_END_2) break; - if (researchItem->entryIndex & 0x10000) { - uint8 entryIndex = researchItem->entryIndex & 0xFF; - rct_ride_entry *rideEntry = get_ride_entry(entryIndex); - if (rideEntry == NULL || rideEntry == (rct_ride_entry*)-1) { - research_remove(researchItem->entryIndex); - i--; - } - } else { - uint8 entryIndex = researchItem->entryIndex; - rct_scenery_set_entry *sceneryGroupEntry = get_scenery_group_entry(entryIndex); - if (sceneryGroupEntry == NULL || sceneryGroupEntry == (rct_scenery_set_entry*)-1) { - research_remove(researchItem->entryIndex); - i--; - } - } - } + // Fix invalid research items + for (sint32 i = 0; i < MAX_RESEARCH_ITEMS; i++) { + rct_research_item *researchItem = &gResearchItems[i]; + if (researchItem->entryIndex == RESEARCHED_ITEMS_SEPARATOR) continue; + if (researchItem->entryIndex == RESEARCHED_ITEMS_END) continue; + if (researchItem->entryIndex == RESEARCHED_ITEMS_END_2) break; + if (researchItem->entryIndex & 0x10000) { + uint8 entryIndex = researchItem->entryIndex & 0xFF; + rct_ride_entry *rideEntry = get_ride_entry(entryIndex); + if (rideEntry == NULL || rideEntry == (rct_ride_entry*)-1) { + research_remove(researchItem->entryIndex); + i--; + } + } else { + uint8 entryIndex = researchItem->entryIndex; + rct_scenery_set_entry *sceneryGroupEntry = get_scenery_group_entry(entryIndex); + if (sceneryGroupEntry == NULL || sceneryGroupEntry == (rct_scenery_set_entry*)-1) { + research_remove(researchItem->entryIndex); + i--; + } + } + } } /** @@ -1073,87 +1073,87 @@ void game_fix_save_vars() { */ bool game_load_save(const utf8 *path) { - log_verbose("loading saved game, %s", path); + log_verbose("loading saved game, %s", path); - safe_strcpy((char*)gRCT2AddressSavedGamesPath2, path, MAX_PATH); + safe_strcpy((char*)gRCT2AddressSavedGamesPath2, path, MAX_PATH); - safe_strcpy(gScenarioSavePath, path, MAX_PATH); + safe_strcpy(gScenarioSavePath, path, MAX_PATH); - uint32 extension_type = get_file_extension_type(path); - bool result = false; - if (extension_type == FILE_EXTENSION_SV6) { - result = game_load_sv6_path(path); - } else if (extension_type == FILE_EXTENSION_SV4) { - result = rct1_load_saved_game(path); - if (result) - gFirstTimeSave = 1; - } + uint32 extension_type = get_file_extension_type(path); + bool result = false; + if (extension_type == FILE_EXTENSION_SV6) { + result = game_load_sv6_path(path); + } else if (extension_type == FILE_EXTENSION_SV4) { + result = rct1_load_saved_game(path); + if (result) + gFirstTimeSave = 1; + } - if (result) { - if (network_get_mode() == NETWORK_MODE_CLIENT) { - network_close(); - } - game_load_init(); - if (network_get_mode() == NETWORK_MODE_SERVER) { - network_send_map(); - } - return true; - } else { - // If loading the SV6 or SV4 failed, the current park state will be corrupted - // so just go back to the title screen. - title_load(); - return false; - } + if (result) { + if (network_get_mode() == NETWORK_MODE_CLIENT) { + network_close(); + } + game_load_init(); + if (network_get_mode() == NETWORK_MODE_SERVER) { + network_send_map(); + } + return true; + } else { + // If loading the SV6 or SV4 failed, the current park state will be corrupted + // so just go back to the title screen. + title_load(); + return false; + } } void game_load_init() { - rct_window *mainWindow; + rct_window *mainWindow; - gScreenFlags = SCREEN_FLAGS_PLAYING; - audio_stop_all_music_and_sounds(); - viewport_init_all(); - game_create_windows(); - mainWindow = window_get_main(); + gScreenFlags = SCREEN_FLAGS_PLAYING; + audio_stop_all_music_and_sounds(); + viewport_init_all(); + game_create_windows(); + mainWindow = window_get_main(); - mainWindow->viewport_target_sprite = -1; - mainWindow->saved_view_x = gSavedViewX; - mainWindow->saved_view_y = gSavedViewY; - uint8 zoomDifference = gSavedViewZoom - mainWindow->viewport->zoom; - mainWindow->viewport->zoom = gSavedViewZoom; - gCurrentRotation = gSavedViewRotation; - if (zoomDifference != 0) { - if (zoomDifference < 0) { - zoomDifference = -zoomDifference; - mainWindow->viewport->view_width >>= zoomDifference; - mainWindow->viewport->view_height >>= zoomDifference; - } else { - mainWindow->viewport->view_width <<= zoomDifference; - mainWindow->viewport->view_height <<= zoomDifference; - } - } - mainWindow->saved_view_x -= mainWindow->viewport->view_width >> 1; - mainWindow->saved_view_y -= mainWindow->viewport->view_height >> 1; - window_invalidate(mainWindow); + mainWindow->viewport_target_sprite = -1; + mainWindow->saved_view_x = gSavedViewX; + mainWindow->saved_view_y = gSavedViewY; + uint8 zoomDifference = gSavedViewZoom - mainWindow->viewport->zoom; + mainWindow->viewport->zoom = gSavedViewZoom; + gCurrentRotation = gSavedViewRotation; + if (zoomDifference != 0) { + if (zoomDifference < 0) { + zoomDifference = -zoomDifference; + mainWindow->viewport->view_width >>= zoomDifference; + mainWindow->viewport->view_height >>= zoomDifference; + } else { + mainWindow->viewport->view_width <<= zoomDifference; + mainWindow->viewport->view_height <<= zoomDifference; + } + } + mainWindow->saved_view_x -= mainWindow->viewport->view_width >> 1; + mainWindow->saved_view_y -= mainWindow->viewport->view_height >> 1; + window_invalidate(mainWindow); - if (network_get_mode() != NETWORK_MODE_CLIENT) - { - reset_sprite_spatial_index(); - } - reset_all_sprite_quadrant_placements(); - scenery_set_default_placement_configuration(); - window_new_ride_init_vars(); - gWindowUpdateTicks = 0; + if (network_get_mode() != NETWORK_MODE_CLIENT) + { + reset_sprite_spatial_index(); + } + reset_all_sprite_quadrant_placements(); + scenery_set_default_placement_configuration(); + window_new_ride_init_vars(); + gWindowUpdateTicks = 0; - load_palette(); - gfx_invalidate_screen(); + load_palette(); + gfx_invalidate_screen(); - if (!gOpenRCT2Headless) { - window_tile_inspector_clear_clipboard(); - window_update_all(); - } + if (!gOpenRCT2Headless) { + window_tile_inspector_clear_clipboard(); + window_update_all(); + } - gGameSpeed = 1; + gGameSpeed = 1; } /** @@ -1163,153 +1163,153 @@ void game_load_init() */ void reset_all_sprite_quadrant_placements() { - for (size_t i = 0; i < MAX_SPRITES; i++) { - rct_sprite *spr = get_sprite(i); - if (spr->unknown.sprite_identifier != SPRITE_IDENTIFIER_NULL) { - sprite_move(spr->unknown.x, spr->unknown.y, spr->unknown.z, spr); - } - } + for (size_t i = 0; i < MAX_SPRITES; i++) { + rct_sprite *spr = get_sprite(i); + if (spr->unknown.sprite_identifier != SPRITE_IDENTIFIER_NULL) { + sprite_move(spr->unknown.x, spr->unknown.y, spr->unknown.z, spr); + } + } } void save_game() { - if (!gFirstTimeSave) { - log_verbose("Saving to %s", gScenarioSavePath); - if (scenario_save(gScenarioSavePath, 0x80000000 | (gConfigGeneral.save_plugin_data ? 1 : 0))) { - log_verbose("Saved to %s", gScenarioSavePath); + if (!gFirstTimeSave) { + log_verbose("Saving to %s", gScenarioSavePath); + if (scenario_save(gScenarioSavePath, 0x80000000 | (gConfigGeneral.save_plugin_data ? 1 : 0))) { + log_verbose("Saved to %s", gScenarioSavePath); - // Setting screen age to zero, so no prompt will pop up when closing the - // game shortly after saving. - gScreenAge = 0; - } - } else { - save_game_as(); - } + // Setting screen age to zero, so no prompt will pop up when closing the + // game shortly after saving. + gScreenAge = 0; + } + } else { + save_game_as(); + } } void save_game_as() { - char name[MAX_PATH]; - safe_strcpy(name, path_get_filename(gScenarioSavePath), MAX_PATH); - path_remove_extension(name); - window_loadsave_open(LOADSAVETYPE_SAVE | LOADSAVETYPE_GAME, name); + char name[MAX_PATH]; + safe_strcpy(name, path_get_filename(gScenarioSavePath), MAX_PATH); + path_remove_extension(name); + window_loadsave_open(LOADSAVETYPE_SAVE | LOADSAVETYPE_GAME, name); } static sint32 compare_autosave_file_paths (const void * a, const void * b ) { - return strcmp(*(char **)a, *(char **)b); + return strcmp(*(char **)a, *(char **)b); } static void limit_autosave_count(const size_t numberOfFilesToKeep, bool processLandscapeFolder) { - sint32 fileEnumHandle = 0; + sint32 fileEnumHandle = 0; - size_t autosavesCount = 0; - size_t numAutosavesToDelete = 0; + size_t autosavesCount = 0; + size_t numAutosavesToDelete = 0; - file_info fileInfo; + file_info fileInfo; - utf8 filter[MAX_PATH]; + utf8 filter[MAX_PATH]; - utf8 **autosaveFiles = NULL; + utf8 **autosaveFiles = NULL; - size_t i=0; + size_t i=0; - if (processLandscapeFolder) { - platform_get_user_directory(filter, "landscape", sizeof(filter)); - safe_strcat_path(filter, "autosave_*.sc6", sizeof(filter)); - } else { - platform_get_user_directory(filter, "save", sizeof(filter)); - safe_strcat_path(filter, "autosave_*.sv6", sizeof(filter)); - } + if (processLandscapeFolder) { + platform_get_user_directory(filter, "landscape", sizeof(filter)); + safe_strcat_path(filter, "autosave_*.sc6", sizeof(filter)); + } else { + platform_get_user_directory(filter, "save", sizeof(filter)); + safe_strcat_path(filter, "autosave_*.sv6", sizeof(filter)); + } - // At first, count how many autosaves there are - fileEnumHandle = platform_enumerate_files_begin(filter); - while (platform_enumerate_files_next(fileEnumHandle, &fileInfo)) { - autosavesCount++; - } - platform_enumerate_files_end(fileEnumHandle); + // At first, count how many autosaves there are + fileEnumHandle = platform_enumerate_files_begin(filter); + while (platform_enumerate_files_next(fileEnumHandle, &fileInfo)) { + autosavesCount++; + } + platform_enumerate_files_end(fileEnumHandle); - // If there are fewer autosaves than the number of files to keep we don't need to delete anything - if(autosavesCount <= numberOfFilesToKeep) { - return; - } + // If there are fewer autosaves than the number of files to keep we don't need to delete anything + if(autosavesCount <= numberOfFilesToKeep) { + return; + } - autosaveFiles = (utf8**) malloc(sizeof(utf8*) * autosavesCount); + autosaveFiles = (utf8**) malloc(sizeof(utf8*) * autosavesCount); - fileEnumHandle = platform_enumerate_files_begin(filter); - for(i = 0; i < autosavesCount; i++) { - autosaveFiles[i] = (utf8*)malloc(sizeof(utf8) * MAX_PATH); - memset(autosaveFiles[i], 0, sizeof(utf8) * MAX_PATH); + fileEnumHandle = platform_enumerate_files_begin(filter); + for(i = 0; i < autosavesCount; i++) { + autosaveFiles[i] = (utf8*)malloc(sizeof(utf8) * MAX_PATH); + memset(autosaveFiles[i], 0, sizeof(utf8) * MAX_PATH); - if(platform_enumerate_files_next(fileEnumHandle, &fileInfo)) { - if (processLandscapeFolder) { - platform_get_user_directory(autosaveFiles[i], "landscape", sizeof(utf8) * MAX_PATH); - } else { - platform_get_user_directory(autosaveFiles[i], "save", sizeof(utf8) * MAX_PATH); - } - safe_strcat_path(autosaveFiles[i], fileInfo.path, sizeof(utf8) * MAX_PATH); - } - } - platform_enumerate_files_end(fileEnumHandle); + if(platform_enumerate_files_next(fileEnumHandle, &fileInfo)) { + if (processLandscapeFolder) { + platform_get_user_directory(autosaveFiles[i], "landscape", sizeof(utf8) * MAX_PATH); + } else { + platform_get_user_directory(autosaveFiles[i], "save", sizeof(utf8) * MAX_PATH); + } + safe_strcat_path(autosaveFiles[i], fileInfo.path, sizeof(utf8) * MAX_PATH); + } + } + platform_enumerate_files_end(fileEnumHandle); - qsort (autosaveFiles, autosavesCount, sizeof (char*), compare_autosave_file_paths); + qsort (autosaveFiles, autosavesCount, sizeof (char*), compare_autosave_file_paths); - // Calculate how many saves we need to delete. - numAutosavesToDelete = autosavesCount - numberOfFilesToKeep; + // Calculate how many saves we need to delete. + numAutosavesToDelete = autosavesCount - numberOfFilesToKeep; - i=0; - while (numAutosavesToDelete > 0) { - platform_file_delete(autosaveFiles[i]); + i=0; + while (numAutosavesToDelete > 0) { + platform_file_delete(autosaveFiles[i]); - i++; - numAutosavesToDelete--; - } + i++; + numAutosavesToDelete--; + } - for(i = 0; i < autosavesCount; i++) { - free(autosaveFiles[i]); - } + for(i = 0; i < autosavesCount; i++) { + free(autosaveFiles[i]); + } - free(autosaveFiles); + free(autosaveFiles); } void game_autosave() { - const char * subDirectory = "save"; - const char * fileExtension = ".sv6"; - uint32 saveFlags = 0x80000000; - if (gScreenFlags & SCREEN_FLAGS_EDITOR) { - subDirectory = "landscape"; - fileExtension = ".sc6"; - saveFlags |= 2; - } + const char * subDirectory = "save"; + const char * fileExtension = ".sv6"; + uint32 saveFlags = 0x80000000; + if (gScreenFlags & SCREEN_FLAGS_EDITOR) { + subDirectory = "landscape"; + fileExtension = ".sc6"; + saveFlags |= 2; + } - // Retrieve current time - rct2_date currentDate; - platform_get_date_local(¤tDate); - rct2_time currentTime; - platform_get_time_local(¤tTime); + // Retrieve current time + rct2_date currentDate; + platform_get_date_local(¤tDate); + rct2_time currentTime; + platform_get_time_local(¤tTime); - utf8 timeName[44]; - snprintf(timeName, sizeof(timeName), "autosave_%04u-%02u-%02u_%02u-%02u-%02u%s", - currentDate.year, currentDate.month, currentDate.day, currentTime.hour, - currentTime.minute, currentTime.second, fileExtension); + utf8 timeName[44]; + snprintf(timeName, sizeof(timeName), "autosave_%04u-%02u-%02u_%02u-%02u-%02u%s", + currentDate.year, currentDate.month, currentDate.day, currentTime.hour, + currentTime.minute, currentTime.second, fileExtension); - limit_autosave_count(NUMBER_OF_AUTOSAVES_TO_KEEP, (gScreenFlags & SCREEN_FLAGS_EDITOR)); + limit_autosave_count(NUMBER_OF_AUTOSAVES_TO_KEEP, (gScreenFlags & SCREEN_FLAGS_EDITOR)); - utf8 path[MAX_PATH]; - utf8 backupPath[MAX_PATH]; - platform_get_user_directory(path, subDirectory, sizeof(path)); - safe_strcpy(backupPath, path, sizeof(backupPath)); - safe_strcat_path(path, timeName, sizeof(path)); - safe_strcat_path(backupPath, "autosave", sizeof(backupPath)); - safe_strcat(backupPath, fileExtension, sizeof(backupPath)); - safe_strcat(backupPath, ".bak", sizeof(backupPath)); + utf8 path[MAX_PATH]; + utf8 backupPath[MAX_PATH]; + platform_get_user_directory(path, subDirectory, sizeof(path)); + safe_strcpy(backupPath, path, sizeof(backupPath)); + safe_strcat_path(path, timeName, sizeof(path)); + safe_strcat_path(backupPath, "autosave", sizeof(backupPath)); + safe_strcat(backupPath, fileExtension, sizeof(backupPath)); + safe_strcat(backupPath, ".bak", sizeof(backupPath)); - if (platform_file_exists(path)) { - platform_file_copy(path, backupPath, true); - } + if (platform_file_exists(path)) { + platform_file_copy(path, backupPath, true); + } - scenario_save(path, saveFlags); + scenario_save(path, saveFlags); } /** @@ -1317,18 +1317,18 @@ void game_autosave() * rct2: 0x006E3838 */ void rct2_exit_reason(rct_string_id title, rct_string_id body){ - // Before this would set a quit message + // Before this would set a quit message - char exit_title[255]; - format_string(exit_title, 256, title, 0); + char exit_title[255]; + format_string(exit_title, 256, title, 0); - char exit_body[255]; - format_string(exit_body, 256, body, 0); + char exit_body[255]; + format_string(exit_body, 256, body, 0); - log_error(exit_title); - log_error(exit_body); + log_error(exit_title); + log_error(exit_body); - rct2_exit(); + rct2_exit(); } @@ -1338,28 +1338,28 @@ void rct2_exit_reason(rct_string_id title, rct_string_id body){ */ void rct2_exit() { - openrct2_finish(); + openrct2_finish(); } bool game_load_save_or_scenario(const utf8 * path) { - uint32 extension = get_file_extension_type(path); - switch (extension) { - case FILE_EXTENSION_SV4: - case FILE_EXTENSION_SV6: - return game_load_save(path); - case FILE_EXTENSION_SC4: - case FILE_EXTENSION_SC6: - return scenario_load_and_play_from_path(path); - } - return false; + uint32 extension = get_file_extension_type(path); + switch (extension) { + case FILE_EXTENSION_SV4: + case FILE_EXTENSION_SV6: + return game_load_save(path); + case FILE_EXTENSION_SC4: + case FILE_EXTENSION_SC6: + return scenario_load_and_play_from_path(path); + } + return false; } static void game_load_or_quit_no_save_prompt_callback(sint32 result, const utf8 * path) { - if (result == MODAL_RESULT_OK && game_load_save_or_scenario(path)) { - gFirstTimeSave = 0; - } + if (result == MODAL_RESULT_OK && game_load_save_or_scenario(path)) { + gFirstTimeSave = 0; + } } /** @@ -1368,31 +1368,31 @@ static void game_load_or_quit_no_save_prompt_callback(sint32 result, const utf8 */ void game_load_or_quit_no_save_prompt() { - switch (gSavePromptMode) { - case PM_SAVE_BEFORE_LOAD: - game_do_command(0, 1, 0, 1, GAME_COMMAND_LOAD_OR_QUIT, 0, 0); - tool_cancel(); - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - load_landscape(); - } else { - window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_GAME, NULL); - window_loadsave_set_loadsave_callback(game_load_or_quit_no_save_prompt_callback); - } - break; - case PM_SAVE_BEFORE_QUIT: - game_do_command(0, 1, 0, 1, GAME_COMMAND_LOAD_OR_QUIT, 0, 0); - tool_cancel(); - if (input_test_flag(INPUT_FLAG_5)) { - input_set_flag(INPUT_FLAG_5, false); - } - gGameSpeed = 1; - gFirstTimeSave = 1; - title_load(); - break; - default: - rct2_exit(); - break; - } + switch (gSavePromptMode) { + case PM_SAVE_BEFORE_LOAD: + game_do_command(0, 1, 0, 1, GAME_COMMAND_LOAD_OR_QUIT, 0, 0); + tool_cancel(); + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { + load_landscape(); + } else { + window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_GAME, NULL); + window_loadsave_set_loadsave_callback(game_load_or_quit_no_save_prompt_callback); + } + break; + case PM_SAVE_BEFORE_QUIT: + game_do_command(0, 1, 0, 1, GAME_COMMAND_LOAD_OR_QUIT, 0, 0); + tool_cancel(); + if (input_test_flag(INPUT_FLAG_5)) { + input_set_flag(INPUT_FLAG_5, false); + } + gGameSpeed = 1; + gFirstTimeSave = 1; + title_load(); + break; + default: + rct2_exit(); + break; + } } /** @@ -1400,98 +1400,98 @@ void game_load_or_quit_no_save_prompt() */ void game_init_all(sint32 mapSize) { - map_init(mapSize); - park_init(); - finance_init(); - reset_park_entry(); - banner_init(); - ride_init_all(); - reset_sprite_list(); - staff_reset_modes(); - date_reset(); - climate_reset(CLIMATE_COOL_AND_WET); - news_item_init_queue(); - user_string_clear_all(); + map_init(mapSize); + park_init(); + finance_init(); + reset_park_entry(); + banner_init(); + ride_init_all(); + reset_sprite_list(); + staff_reset_modes(); + date_reset(); + climate_reset(CLIMATE_COOL_AND_WET); + news_item_init_queue(); + user_string_clear_all(); - window_new_ride_init_vars(); - window_guest_list_init_vars_a(); - window_guest_list_init_vars_b(); - window_staff_list_init_vars(); - scenery_set_default_placement_configuration(); - window_tile_inspector_clear_clipboard(); + window_new_ride_init_vars(); + window_guest_list_init_vars_a(); + window_guest_list_init_vars_b(); + window_staff_list_init_vars(); + scenery_set_default_placement_configuration(); + window_tile_inspector_clear_clipboard(); } GAME_COMMAND_POINTER* new_game_command_table[GAME_COMMAND_COUNT] = { - game_command_set_ride_appearance, - game_command_set_land_height, - game_pause_toggle, - game_command_place_track, - game_command_remove_track, - game_load_or_quit, - game_command_create_ride, - game_command_demolish_ride, - game_command_set_ride_status, - game_command_set_ride_vehicles, - game_command_set_ride_name, - game_command_set_ride_setting, - game_command_place_ride_entrance_or_exit, - game_command_remove_ride_entrance_or_exit, - game_command_remove_scenery, - game_command_place_scenery, - game_command_set_water_height, - game_command_place_footpath, - game_command_place_footpath_from_track, - game_command_remove_footpath, - game_command_change_surface_style, - game_command_set_ride_price, - game_command_set_guest_name, - game_command_set_staff_name, - game_command_raise_land, - game_command_lower_land, - game_command_smooth_land, - game_command_raise_water, - game_command_lower_water, - game_command_set_brakes_speed, - game_command_hire_new_staff_member, - game_command_set_staff_patrol, - game_command_fire_staff_member, - game_command_set_staff_order, - game_command_set_park_name, - game_command_set_park_open, - game_command_buy_land_rights, - game_command_place_park_entrance, - game_command_remove_park_entrance, - game_command_set_maze_track, - game_command_set_park_entrance_fee, - game_command_update_staff_colour, - game_command_place_wall, - game_command_remove_wall, - game_command_place_large_scenery, - game_command_remove_large_scenery, - game_command_set_current_loan, - game_command_set_research_funding, - game_command_place_track_design, - game_command_start_campaign, - game_command_place_maze_design, - game_command_place_banner, - game_command_remove_banner, - game_command_set_scenery_colour, - game_command_set_wall_colour, - game_command_set_large_scenery_colour, - game_command_set_banner_colour, - game_command_set_land_ownership, - game_command_clear_scenery, - game_command_set_banner_name, - game_command_set_sign_name, - game_command_set_banner_style, - game_command_set_sign_style, - game_command_set_player_group, - game_command_modify_groups, - game_command_kick_player, - game_command_cheat, - game_command_pickup_guest, - game_command_pickup_staff, - game_command_balloon_press, - game_command_modify_tile, - game_command_edit_scenario_options, + game_command_set_ride_appearance, + game_command_set_land_height, + game_pause_toggle, + game_command_place_track, + game_command_remove_track, + game_load_or_quit, + game_command_create_ride, + game_command_demolish_ride, + game_command_set_ride_status, + game_command_set_ride_vehicles, + game_command_set_ride_name, + game_command_set_ride_setting, + game_command_place_ride_entrance_or_exit, + game_command_remove_ride_entrance_or_exit, + game_command_remove_scenery, + game_command_place_scenery, + game_command_set_water_height, + game_command_place_footpath, + game_command_place_footpath_from_track, + game_command_remove_footpath, + game_command_change_surface_style, + game_command_set_ride_price, + game_command_set_guest_name, + game_command_set_staff_name, + game_command_raise_land, + game_command_lower_land, + game_command_smooth_land, + game_command_raise_water, + game_command_lower_water, + game_command_set_brakes_speed, + game_command_hire_new_staff_member, + game_command_set_staff_patrol, + game_command_fire_staff_member, + game_command_set_staff_order, + game_command_set_park_name, + game_command_set_park_open, + game_command_buy_land_rights, + game_command_place_park_entrance, + game_command_remove_park_entrance, + game_command_set_maze_track, + game_command_set_park_entrance_fee, + game_command_update_staff_colour, + game_command_place_wall, + game_command_remove_wall, + game_command_place_large_scenery, + game_command_remove_large_scenery, + game_command_set_current_loan, + game_command_set_research_funding, + game_command_place_track_design, + game_command_start_campaign, + game_command_place_maze_design, + game_command_place_banner, + game_command_remove_banner, + game_command_set_scenery_colour, + game_command_set_wall_colour, + game_command_set_large_scenery_colour, + game_command_set_banner_colour, + game_command_set_land_ownership, + game_command_clear_scenery, + game_command_set_banner_name, + game_command_set_sign_name, + game_command_set_banner_style, + game_command_set_sign_style, + game_command_set_player_group, + game_command_modify_groups, + game_command_kick_player, + game_command_cheat, + game_command_pickup_guest, + game_command_pickup_staff, + game_command_balloon_press, + game_command_modify_tile, + game_command_edit_scenario_options, }; diff --git a/src/openrct2/game.h b/src/openrct2/game.h index 5e03fdeec4..d2b450f2bb 100644 --- a/src/openrct2/game.h +++ b/src/openrct2/game.h @@ -22,102 +22,102 @@ #include "scenario/scenario.h" enum GAME_COMMAND { - GAME_COMMAND_SET_RIDE_APPEARANCE, - GAME_COMMAND_SET_LAND_HEIGHT, - GAME_COMMAND_TOGGLE_PAUSE, - GAME_COMMAND_PLACE_TRACK, - GAME_COMMAND_REMOVE_TRACK, - GAME_COMMAND_LOAD_OR_QUIT, - GAME_COMMAND_CREATE_RIDE, - GAME_COMMAND_DEMOLISH_RIDE, - GAME_COMMAND_SET_RIDE_STATUS, - GAME_COMMAND_SET_RIDE_VEHICLES, - GAME_COMMAND_SET_RIDE_NAME, - GAME_COMMAND_SET_RIDE_SETTING, - GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, - GAME_COMMAND_REMOVE_RIDE_ENTRANCE_OR_EXIT, - GAME_COMMAND_REMOVE_SCENERY, - GAME_COMMAND_PLACE_SCENERY, - GAME_COMMAND_SET_WATER_HEIGHT, - GAME_COMMAND_PLACE_PATH, - GAME_COMMAND_PLACE_PATH_FROM_TRACK, - GAME_COMMAND_REMOVE_PATH, - GAME_COMMAND_CHANGE_SURFACE_STYLE, - GAME_COMMAND_SET_RIDE_PRICE, - GAME_COMMAND_SET_GUEST_NAME, - GAME_COMMAND_SET_STAFF_NAME, - GAME_COMMAND_RAISE_LAND, - GAME_COMMAND_LOWER_LAND, - GAME_COMMAND_EDIT_LAND_SMOOTH, - GAME_COMMAND_RAISE_WATER, - GAME_COMMAND_LOWER_WATER, - GAME_COMMAND_SET_BRAKES_SPEED, - GAME_COMMAND_HIRE_NEW_STAFF_MEMBER, - GAME_COMMAND_SET_STAFF_PATROL, - GAME_COMMAND_FIRE_STAFF_MEMBER, - GAME_COMMAND_SET_STAFF_ORDER, - GAME_COMMAND_SET_PARK_NAME, - GAME_COMMAND_SET_PARK_OPEN, - GAME_COMMAND_BUY_LAND_RIGHTS, - GAME_COMMAND_PLACE_PARK_ENTRANCE, - GAME_COMMAND_REMOVE_PARK_ENTRANCE, - GAME_COMMAND_SET_MAZE_TRACK, - GAME_COMMAND_SET_PARK_ENTRANCE_FEE, - GAME_COMMAND_SET_STAFF_COLOUR, - GAME_COMMAND_PLACE_WALL, - GAME_COMMAND_REMOVE_WALL, - GAME_COMMAND_PLACE_LARGE_SCENERY, - GAME_COMMAND_REMOVE_LARGE_SCENERY, - GAME_COMMAND_SET_CURRENT_LOAN, - GAME_COMMAND_SET_RESEARCH_FUNDING, - GAME_COMMAND_PLACE_TRACK_DESIGN, - GAME_COMMAND_START_MARKETING_CAMPAIGN, - GAME_COMMAND_PLACE_MAZE_DESIGN, - GAME_COMMAND_PLACE_BANNER, - GAME_COMMAND_REMOVE_BANNER, - GAME_COMMAND_SET_SCENERY_COLOUR, - GAME_COMMAND_SET_WALL_COLOUR, - GAME_COMMAND_SET_LARGE_SCENERY_COLOUR, - GAME_COMMAND_SET_BANNER_COLOUR, - GAME_COMMAND_SET_LAND_OWNERSHIP, - GAME_COMMAND_CLEAR_SCENERY, - GAME_COMMAND_SET_BANNER_NAME, - GAME_COMMAND_SET_SIGN_NAME, - GAME_COMMAND_SET_BANNER_STYLE, - GAME_COMMAND_SET_SIGN_STYLE, - GAME_COMMAND_SET_PLAYER_GROUP, - GAME_COMMAND_MODIFY_GROUPS, - GAME_COMMAND_KICK_PLAYER, - GAME_COMMAND_CHEAT, - GAME_COMMAND_PICKUP_GUEST, - GAME_COMMAND_PICKUP_STAFF, - GAME_COMMAND_BALLOON_PRESS, - GAME_COMMAND_MODIFY_TILE, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - GAME_COMMAND_COUNT + GAME_COMMAND_SET_RIDE_APPEARANCE, + GAME_COMMAND_SET_LAND_HEIGHT, + GAME_COMMAND_TOGGLE_PAUSE, + GAME_COMMAND_PLACE_TRACK, + GAME_COMMAND_REMOVE_TRACK, + GAME_COMMAND_LOAD_OR_QUIT, + GAME_COMMAND_CREATE_RIDE, + GAME_COMMAND_DEMOLISH_RIDE, + GAME_COMMAND_SET_RIDE_STATUS, + GAME_COMMAND_SET_RIDE_VEHICLES, + GAME_COMMAND_SET_RIDE_NAME, + GAME_COMMAND_SET_RIDE_SETTING, + GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, + GAME_COMMAND_REMOVE_RIDE_ENTRANCE_OR_EXIT, + GAME_COMMAND_REMOVE_SCENERY, + GAME_COMMAND_PLACE_SCENERY, + GAME_COMMAND_SET_WATER_HEIGHT, + GAME_COMMAND_PLACE_PATH, + GAME_COMMAND_PLACE_PATH_FROM_TRACK, + GAME_COMMAND_REMOVE_PATH, + GAME_COMMAND_CHANGE_SURFACE_STYLE, + GAME_COMMAND_SET_RIDE_PRICE, + GAME_COMMAND_SET_GUEST_NAME, + GAME_COMMAND_SET_STAFF_NAME, + GAME_COMMAND_RAISE_LAND, + GAME_COMMAND_LOWER_LAND, + GAME_COMMAND_EDIT_LAND_SMOOTH, + GAME_COMMAND_RAISE_WATER, + GAME_COMMAND_LOWER_WATER, + GAME_COMMAND_SET_BRAKES_SPEED, + GAME_COMMAND_HIRE_NEW_STAFF_MEMBER, + GAME_COMMAND_SET_STAFF_PATROL, + GAME_COMMAND_FIRE_STAFF_MEMBER, + GAME_COMMAND_SET_STAFF_ORDER, + GAME_COMMAND_SET_PARK_NAME, + GAME_COMMAND_SET_PARK_OPEN, + GAME_COMMAND_BUY_LAND_RIGHTS, + GAME_COMMAND_PLACE_PARK_ENTRANCE, + GAME_COMMAND_REMOVE_PARK_ENTRANCE, + GAME_COMMAND_SET_MAZE_TRACK, + GAME_COMMAND_SET_PARK_ENTRANCE_FEE, + GAME_COMMAND_SET_STAFF_COLOUR, + GAME_COMMAND_PLACE_WALL, + GAME_COMMAND_REMOVE_WALL, + GAME_COMMAND_PLACE_LARGE_SCENERY, + GAME_COMMAND_REMOVE_LARGE_SCENERY, + GAME_COMMAND_SET_CURRENT_LOAN, + GAME_COMMAND_SET_RESEARCH_FUNDING, + GAME_COMMAND_PLACE_TRACK_DESIGN, + GAME_COMMAND_START_MARKETING_CAMPAIGN, + GAME_COMMAND_PLACE_MAZE_DESIGN, + GAME_COMMAND_PLACE_BANNER, + GAME_COMMAND_REMOVE_BANNER, + GAME_COMMAND_SET_SCENERY_COLOUR, + GAME_COMMAND_SET_WALL_COLOUR, + GAME_COMMAND_SET_LARGE_SCENERY_COLOUR, + GAME_COMMAND_SET_BANNER_COLOUR, + GAME_COMMAND_SET_LAND_OWNERSHIP, + GAME_COMMAND_CLEAR_SCENERY, + GAME_COMMAND_SET_BANNER_NAME, + GAME_COMMAND_SET_SIGN_NAME, + GAME_COMMAND_SET_BANNER_STYLE, + GAME_COMMAND_SET_SIGN_STYLE, + GAME_COMMAND_SET_PLAYER_GROUP, + GAME_COMMAND_MODIFY_GROUPS, + GAME_COMMAND_KICK_PLAYER, + GAME_COMMAND_CHEAT, + GAME_COMMAND_PICKUP_GUEST, + GAME_COMMAND_PICKUP_STAFF, + GAME_COMMAND_BALLOON_PRESS, + GAME_COMMAND_MODIFY_TILE, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + GAME_COMMAND_COUNT }; enum { - GAME_COMMAND_FLAG_APPLY = (1 << 0), // If this flag is set, the command is applied, otherwise only the cost is retrieved - GAME_COMMAND_FLAG_2 = (1 << 2), - GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED = (1 << 3), // Allow while paused - GAME_COMMAND_FLAG_4 = (1 << 4), - GAME_COMMAND_FLAG_5 = (1 << 5), - GAME_COMMAND_FLAG_GHOST = (1 << 6), - GAME_COMMAND_FLAG_7 = (1 << 7), - GAME_COMMAND_FLAG_NETWORKED = (1u << 31) // Game command is coming from network + GAME_COMMAND_FLAG_APPLY = (1 << 0), // If this flag is set, the command is applied, otherwise only the cost is retrieved + GAME_COMMAND_FLAG_2 = (1 << 2), + GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED = (1 << 3), // Allow while paused + GAME_COMMAND_FLAG_4 = (1 << 4), + GAME_COMMAND_FLAG_5 = (1 << 5), + GAME_COMMAND_FLAG_GHOST = (1 << 6), + GAME_COMMAND_FLAG_7 = (1 << 7), + GAME_COMMAND_FLAG_NETWORKED = (1u << 31) // Game command is coming from network }; enum { - GAME_PAUSED_NORMAL = 1 << 0, - GAME_PAUSED_MODAL = 1 << 1, - GAME_PAUSED_SAVING_TRACK = 1 << 2, + GAME_PAUSED_NORMAL = 1 << 0, + GAME_PAUSED_MODAL = 1 << 1, + GAME_PAUSED_SAVING_TRACK = 1 << 2, }; enum { - ERROR_TYPE_NONE = 0, - ERROR_TYPE_GENERIC = 254, - ERROR_TYPE_FILE_LOAD = 255 + ERROR_TYPE_NONE = 0, + ERROR_TYPE_GENERIC = 254, + ERROR_TYPE_FILE_LOAD = 255 }; typedef void (GAME_COMMAND_POINTER)(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp); @@ -137,7 +137,7 @@ extern rct_string_id gErrorStringId; extern GAME_COMMAND_POINTER* new_game_command_table[GAME_COMMAND_COUNT]; #ifndef NO_RCT2 -#define gCurrentTicks RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_TICKS, uint32) +#define gCurrentTicks RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_TICKS, uint32) #else extern uint32 gCurrentTicks; #endif diff --git a/src/openrct2/input.c b/src/openrct2/input.c index 28b64ff60e..6edf0864d9 100644 --- a/src/openrct2/input.c +++ b/src/openrct2/input.c @@ -41,9 +41,9 @@ #include "rct2.h" typedef struct rct_mouse_data { - uint32 x; - uint32 y; - uint32 state; + uint32 x; + uint32 y; + uint32 state; } rct_mouse_data; static rct_mouse_data _mouseInputQueue[64]; @@ -123,33 +123,33 @@ static void input_update_tooltip(rct_window *w, rct_widgetindex widgetIndex, sin */ void game_handle_input() { - for (rct_window *w = g_window_list; w < gWindowNextSlot; w++) { - window_event_unknown_07_call(w); - } + for (rct_window *w = g_window_list; w < gWindowNextSlot; w++) { + window_event_unknown_07_call(w); + } - invalidate_all_windows_after_input(); + invalidate_all_windows_after_input(); - sint32 x, y, state; - while ((state = game_get_next_input(&x, &y)) != MOUSE_STATE_RELEASED) { - game_handle_input_mouse(x, y, state & 0xFF); - } + sint32 x, y, state; + while ((state = game_get_next_input(&x, &y)) != MOUSE_STATE_RELEASED) { + game_handle_input_mouse(x, y, state & 0xFF); + } - if (_inputFlags & INPUT_FLAG_5) { - game_handle_input_mouse(x, y, state); - } else if (x != 0x80000000) { - sint32 screenWidth = context_get_width(); - sint32 screenHeight = context_get_height(); - x = clamp(0, x, screenWidth - 1); - y = clamp(0, y, screenHeight - 1); + if (_inputFlags & INPUT_FLAG_5) { + game_handle_input_mouse(x, y, state); + } else if (x != 0x80000000) { + sint32 screenWidth = context_get_width(); + sint32 screenHeight = context_get_height(); + x = clamp(0, x, screenWidth - 1); + y = clamp(0, y, screenHeight - 1); - game_handle_input_mouse(x, y, state); - process_mouse_over(x, y); - process_mouse_tool(x, y); - } + game_handle_input_mouse(x, y, state); + process_mouse_over(x, y); + process_mouse_tool(x, y); + } - for (rct_window *w = g_window_list; w < gWindowNextSlot; w++) { - window_event_unknown_08_call(w); - } + for (rct_window *w = g_window_list; w < gWindowNextSlot; w++) { + window_event_unknown_08_call(w); + } } /** @@ -158,17 +158,17 @@ void game_handle_input() */ static sint32 game_get_next_input(sint32 *x, sint32 *y) { - rct_mouse_data *input = get_mouse_input(); - if (input == NULL) { - const CursorState * cursorState = context_get_cursor_state(); - *x = cursorState->x; - *y = cursorState->y; - return 0; - } else { - *x = input->x; - *y = input->y; - return input->state; - } + rct_mouse_data *input = get_mouse_input(); + if (input == NULL) { + const CursorState * cursorState = context_get_cursor_state(); + *x = cursorState->x; + *y = cursorState->y; + return 0; + } else { + *x = input->x; + *y = input->y; + return input->state; + } } /** @@ -177,14 +177,14 @@ static sint32 game_get_next_input(sint32 *x, sint32 *y) */ static rct_mouse_data *get_mouse_input() { - // Check if that location has been written to yet - if (_mouseInputQueueReadIndex == _mouseInputQueueWriteIndex) { - return NULL; - } else { - rct_mouse_data *result = &_mouseInputQueue[_mouseInputQueueReadIndex]; - _mouseInputQueueReadIndex = (_mouseInputQueueReadIndex + 1) % countof(_mouseInputQueue); - return result; - } + // Check if that location has been written to yet + if (_mouseInputQueueReadIndex == _mouseInputQueueWriteIndex) { + return NULL; + } else { + rct_mouse_data *result = &_mouseInputQueue[_mouseInputQueueReadIndex]; + _mouseInputQueueReadIndex = (_mouseInputQueueReadIndex + 1) % countof(_mouseInputQueue); + return result; + } } /** @@ -193,16 +193,16 @@ static rct_mouse_data *get_mouse_input() */ static void input_scroll_drag_begin(sint32 x, sint32 y, rct_window* w, rct_widget* widget, rct_widgetindex widgetIndex) { - _inputState = INPUT_STATE_SCROLL_RIGHT; - gInputDragLastX = x; - gInputDragLastY = y; - _dragWidget.window_classification = w->classification; - _dragWidget.window_number = w->number; - _dragWidget.widget_index = widgetIndex; - _ticksSinceDragStart = 0; + _inputState = INPUT_STATE_SCROLL_RIGHT; + gInputDragLastX = x; + gInputDragLastY = y; + _dragWidget.window_classification = w->classification; + _dragWidget.window_number = w->number; + _dragWidget.widget_index = widgetIndex; + _ticksSinceDragStart = 0; - _dragScrollIndex = window_get_scroll_data_index(w, widgetIndex); - context_hide_cursor(); + _dragScrollIndex = window_get_scroll_data_index(w, widgetIndex); + context_hide_cursor(); } /** @@ -211,39 +211,39 @@ static void input_scroll_drag_begin(sint32 x, sint32 y, rct_window* w, rct_widge */ static void input_scroll_drag_continue(sint32 x, sint32 y, rct_window* w) { - rct_widgetindex widgetIndex = _dragWidget.widget_index; - uint8 scrollIndex = _dragScrollIndex; + rct_widgetindex widgetIndex = _dragWidget.widget_index; + uint8 scrollIndex = _dragScrollIndex; - rct_widget* widget = &w->widgets[widgetIndex]; - rct_scroll* scroll = &w->scrolls[scrollIndex]; + rct_widget* widget = &w->widgets[widgetIndex]; + rct_scroll* scroll = &w->scrolls[scrollIndex]; - sint32 dx, dy; - dx = x - gInputDragLastX; - dy = y - gInputDragLastY; + sint32 dx, dy; + dx = x - gInputDragLastX; + dy = y - gInputDragLastY; - if (scroll->flags & HSCROLLBAR_VISIBLE) { - sint16 size = widget->right - widget->left - 1; - if (scroll->flags & VSCROLLBAR_VISIBLE) - size -= 11; - size = max(0, scroll->h_right - size); - scroll->h_left = min(max(0, scroll->h_left + dx), size); - } + if (scroll->flags & HSCROLLBAR_VISIBLE) { + sint16 size = widget->right - widget->left - 1; + if (scroll->flags & VSCROLLBAR_VISIBLE) + size -= 11; + size = max(0, scroll->h_right - size); + scroll->h_left = min(max(0, scroll->h_left + dx), size); + } - if (scroll->flags & VSCROLLBAR_VISIBLE) { - sint16 size = widget->bottom - widget->top - 1; - if (scroll->flags & HSCROLLBAR_VISIBLE) - size -= 11; - size = max(0, scroll->v_bottom - size); - scroll->v_top = min(max(0, scroll->v_top + dy), size); - } + if (scroll->flags & VSCROLLBAR_VISIBLE) { + sint16 size = widget->bottom - widget->top - 1; + if (scroll->flags & HSCROLLBAR_VISIBLE) + size -= 11; + size = max(0, scroll->v_bottom - size); + scroll->v_top = min(max(0, scroll->v_top + dy), size); + } - widget_scroll_update_thumbs(w, widgetIndex); - window_invalidate_by_number(w->classification, w->number); + widget_scroll_update_thumbs(w, widgetIndex); + window_invalidate_by_number(w->classification, w->number); - sint32 fixedCursorPositionX = (sint32) ceilf(gInputDragLastX * gConfigGeneral.window_scale); - sint32 fixedCursorPositionY = (sint32) ceilf(gInputDragLastY * gConfigGeneral.window_scale); + sint32 fixedCursorPositionX = (sint32) ceilf(gInputDragLastX * gConfigGeneral.window_scale); + sint32 fixedCursorPositionY = (sint32) ceilf(gInputDragLastY * gConfigGeneral.window_scale); - context_set_cursor_position(fixedCursorPositionX, fixedCursorPositionY); + context_set_cursor_position(fixedCursorPositionX, fixedCursorPositionY); } /** @@ -252,26 +252,26 @@ static void input_scroll_drag_continue(sint32 x, sint32 y, rct_window* w) */ static void input_scroll_right(sint32 x, sint32 y, sint32 state) { - rct_window* w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number); - if (w == NULL) { - context_show_cursor(); - _inputState = INPUT_STATE_RESET; - return; - } + rct_window* w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number); + if (w == NULL) { + context_show_cursor(); + _inputState = INPUT_STATE_RESET; + return; + } - switch (state) { - case MOUSE_STATE_RELEASED: - _ticksSinceDragStart += gTicksSinceLastUpdate; - if (x != 0 || y != 0) { - _ticksSinceDragStart = 1000; - input_scroll_drag_continue(x, y, w); - } - break; - case MOUSE_STATE_RIGHT_RELEASE: - _inputState = INPUT_STATE_RESET; - context_show_cursor(); - break; - } + switch (state) { + case MOUSE_STATE_RELEASED: + _ticksSinceDragStart += gTicksSinceLastUpdate; + if (x != 0 || y != 0) { + _ticksSinceDragStart = 1000; + input_scroll_drag_continue(x, y, w); + } + break; + case MOUSE_STATE_RIGHT_RELEASE: + _inputState = INPUT_STATE_RESET; + context_show_cursor(); + break; + } } /** @@ -280,217 +280,217 @@ static void input_scroll_right(sint32 x, sint32 y, sint32 state) */ static void game_handle_input_mouse(sint32 x, sint32 y, sint32 state) { - rct_window *w; - rct_widget *widget; - rct_widgetindex widgetIndex; + rct_window *w; + rct_widget *widget; + rct_widgetindex widgetIndex; - // Get window and widget under cursor position - w = window_find_from_point(x, y); - widgetIndex = w == NULL ? -1 : window_find_widget_from_point(w, x, y); - widget = widgetIndex == -1 ? 0 : &w->widgets[widgetIndex]; + // Get window and widget under cursor position + w = window_find_from_point(x, y); + widgetIndex = w == NULL ? -1 : window_find_widget_from_point(w, x, y); + widget = widgetIndex == -1 ? 0 : &w->widgets[widgetIndex]; - switch (_inputState) { - case INPUT_STATE_RESET: - window_tooltip_reset(x, y); - // fall-through - case INPUT_STATE_NORMAL: - switch (state) { - case MOUSE_STATE_RELEASED: - input_widget_over(x, y, w, widgetIndex); - break; - case MOUSE_STATE_LEFT_PRESS: - input_widget_left(x, y, w, widgetIndex); - break; - case MOUSE_STATE_RIGHT_PRESS: - window_close_by_class(WC_TOOLTIP); + switch (_inputState) { + case INPUT_STATE_RESET: + window_tooltip_reset(x, y); + // fall-through + case INPUT_STATE_NORMAL: + switch (state) { + case MOUSE_STATE_RELEASED: + input_widget_over(x, y, w, widgetIndex); + break; + case MOUSE_STATE_LEFT_PRESS: + input_widget_left(x, y, w, widgetIndex); + break; + case MOUSE_STATE_RIGHT_PRESS: + window_close_by_class(WC_TOOLTIP); - if (w != NULL) { - w = window_bring_to_front(w); - } + if (w != NULL) { + w = window_bring_to_front(w); + } - if (widgetIndex != -1) { - switch (widget->type) { - case WWT_VIEWPORT: - if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TITLE_DEMO))) { - input_viewport_drag_begin(w, x, y); - } - break; - case WWT_SCROLL: - input_scroll_drag_begin(x, y, w, widget, widgetIndex); - break; - } - } - break; - } - break; - case INPUT_STATE_WIDGET_PRESSED: - input_state_widget_pressed(x, y, state, widgetIndex, w, widget); - break; - case INPUT_STATE_POSITIONING_WINDOW: - w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number); - if (w == NULL) { - _inputState = INPUT_STATE_RESET; - } else { - input_window_position_continue(w, gInputDragLastX, gInputDragLastY, x, y); - if (state == MOUSE_STATE_LEFT_RELEASE) { - input_window_position_end(w, x, y); - } - } - break; - case INPUT_STATE_VIEWPORT_RIGHT: - if (state == MOUSE_STATE_RELEASED) { - input_viewport_drag_continue(); - } else if (state == MOUSE_STATE_RIGHT_RELEASE) { - input_viewport_drag_end(); - if (_ticksSinceDragStart < 500) { - // If the user pressed the right mouse button for less than 500 ticks, interpret as right click - viewport_interaction_right_click(x, y); - } - } - break; - case INPUT_STATE_DROPDOWN_ACTIVE: - input_state_widget_pressed(x, y, state, widgetIndex, w, widget); - break; - case INPUT_STATE_VIEWPORT_LEFT: - w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number); - if (w == NULL) { - _inputState = INPUT_STATE_RESET; - break; - } + if (widgetIndex != -1) { + switch (widget->type) { + case WWT_VIEWPORT: + if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TITLE_DEMO))) { + input_viewport_drag_begin(w, x, y); + } + break; + case WWT_SCROLL: + input_scroll_drag_begin(x, y, w, widget, widgetIndex); + break; + } + } + break; + } + break; + case INPUT_STATE_WIDGET_PRESSED: + input_state_widget_pressed(x, y, state, widgetIndex, w, widget); + break; + case INPUT_STATE_POSITIONING_WINDOW: + w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number); + if (w == NULL) { + _inputState = INPUT_STATE_RESET; + } else { + input_window_position_continue(w, gInputDragLastX, gInputDragLastY, x, y); + if (state == MOUSE_STATE_LEFT_RELEASE) { + input_window_position_end(w, x, y); + } + } + break; + case INPUT_STATE_VIEWPORT_RIGHT: + if (state == MOUSE_STATE_RELEASED) { + input_viewport_drag_continue(); + } else if (state == MOUSE_STATE_RIGHT_RELEASE) { + input_viewport_drag_end(); + if (_ticksSinceDragStart < 500) { + // If the user pressed the right mouse button for less than 500 ticks, interpret as right click + viewport_interaction_right_click(x, y); + } + } + break; + case INPUT_STATE_DROPDOWN_ACTIVE: + input_state_widget_pressed(x, y, state, widgetIndex, w, widget); + break; + case INPUT_STATE_VIEWPORT_LEFT: + w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number); + if (w == NULL) { + _inputState = INPUT_STATE_RESET; + break; + } - switch (state) { - case MOUSE_STATE_RELEASED: - if (w->viewport == NULL) { - _inputState = INPUT_STATE_RESET; - break; - } + switch (state) { + case MOUSE_STATE_RELEASED: + if (w->viewport == NULL) { + _inputState = INPUT_STATE_RESET; + break; + } - if (w->classification != _dragWidget.window_classification || - w->number != _dragWidget.window_number || - !(_inputFlags & INPUT_FLAG_TOOL_ACTIVE) - ) { - break; - } + if (w->classification != _dragWidget.window_classification || + w->number != _dragWidget.window_number || + !(_inputFlags & INPUT_FLAG_TOOL_ACTIVE) + ) { + break; + } - w = window_find_by_number( - gCurrentToolWidget.window_classification, - gCurrentToolWidget.window_number - ); - if (w == NULL) { - break; - } + w = window_find_by_number( + gCurrentToolWidget.window_classification, + gCurrentToolWidget.window_number + ); + if (w == NULL) { + break; + } - window_event_tool_drag_call(w, gCurrentToolWidget.widget_index, x, y); - break; - case MOUSE_STATE_LEFT_RELEASE: - _inputState = INPUT_STATE_RESET; - if (_dragWidget.window_number == w->number) { - if ((_inputFlags & INPUT_FLAG_TOOL_ACTIVE)) { - w = window_find_by_number( - gCurrentToolWidget.window_classification, - gCurrentToolWidget.window_number - ); - if (w != NULL) { - window_event_tool_up_call(w, gCurrentToolWidget.widget_index, x, y); - } - } else if (!(_inputFlags & INPUT_FLAG_4)) { - viewport_interaction_left_click(x, y); - } - } - break; - } - break; - case INPUT_STATE_SCROLL_LEFT: - switch (state) { - case MOUSE_STATE_RELEASED: - input_scroll_continue(w, widgetIndex, state, x, y); - break; - case MOUSE_STATE_LEFT_RELEASE: - input_scroll_end(); - break; - } - break; - case INPUT_STATE_RESIZING: - w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number); - if (w == NULL) { - _inputState = INPUT_STATE_RESET; - } else { - if (state == MOUSE_STATE_LEFT_RELEASE) { - input_window_resize_end(); - } - if (state == MOUSE_STATE_RELEASED || state == MOUSE_STATE_LEFT_RELEASE) { - input_window_resize_continue(w, x, y); - } - } - break; - case INPUT_STATE_SCROLL_RIGHT: - input_scroll_right(x, y, state); - break; - } + window_event_tool_drag_call(w, gCurrentToolWidget.widget_index, x, y); + break; + case MOUSE_STATE_LEFT_RELEASE: + _inputState = INPUT_STATE_RESET; + if (_dragWidget.window_number == w->number) { + if ((_inputFlags & INPUT_FLAG_TOOL_ACTIVE)) { + w = window_find_by_number( + gCurrentToolWidget.window_classification, + gCurrentToolWidget.window_number + ); + if (w != NULL) { + window_event_tool_up_call(w, gCurrentToolWidget.widget_index, x, y); + } + } else if (!(_inputFlags & INPUT_FLAG_4)) { + viewport_interaction_left_click(x, y); + } + } + break; + } + break; + case INPUT_STATE_SCROLL_LEFT: + switch (state) { + case MOUSE_STATE_RELEASED: + input_scroll_continue(w, widgetIndex, state, x, y); + break; + case MOUSE_STATE_LEFT_RELEASE: + input_scroll_end(); + break; + } + break; + case INPUT_STATE_RESIZING: + w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number); + if (w == NULL) { + _inputState = INPUT_STATE_RESET; + } else { + if (state == MOUSE_STATE_LEFT_RELEASE) { + input_window_resize_end(); + } + if (state == MOUSE_STATE_RELEASED || state == MOUSE_STATE_LEFT_RELEASE) { + input_window_resize_continue(w, x, y); + } + } + break; + case INPUT_STATE_SCROLL_RIGHT: + input_scroll_right(x, y, state); + break; + } } #pragma region Window positioning / resizing void input_window_position_begin(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - _inputState = INPUT_STATE_POSITIONING_WINDOW; - gInputDragLastX = x - w->x; - gInputDragLastY = y - w->y; - _dragWidget.window_classification = w->classification; - _dragWidget.window_number = w->number; - _dragWidget.widget_index = widgetIndex; + _inputState = INPUT_STATE_POSITIONING_WINDOW; + gInputDragLastX = x - w->x; + gInputDragLastY = y - w->y; + _dragWidget.window_classification = w->classification; + _dragWidget.window_number = w->number; + _dragWidget.widget_index = widgetIndex; } static void input_window_position_continue(rct_window *w, sint32 wdx, sint32 wdy, sint32 x, sint32 y) { - sint32 snapProximity; + sint32 snapProximity; - snapProximity = (w->flags & WF_NO_SNAPPING) ? 0 : gConfigGeneral.window_snap_proximity; - window_move_and_snap(w, x - wdx, y - wdy, snapProximity); + snapProximity = (w->flags & WF_NO_SNAPPING) ? 0 : gConfigGeneral.window_snap_proximity; + window_move_and_snap(w, x - wdx, y - wdy, snapProximity); } static void input_window_position_end(rct_window *w, sint32 x, sint32 y) { - _inputState = INPUT_STATE_NORMAL; - gTooltipTimeout = 0; - gTooltipWidget = _dragWidget; - window_event_moved_call(w, x, y); + _inputState = INPUT_STATE_NORMAL; + gTooltipTimeout = 0; + gTooltipWidget = _dragWidget; + window_event_moved_call(w, x, y); } static void input_window_resize_begin(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - _inputState = INPUT_STATE_RESIZING; - gInputDragLastX = x; - gInputDragLastY = y; - _dragWidget.window_classification = w->classification; - _dragWidget.window_number = w->number; - _dragWidget.widget_index = widgetIndex; - _originalWindowWidth = w->width; - _originalWindowHeight = w->height; + _inputState = INPUT_STATE_RESIZING; + gInputDragLastX = x; + gInputDragLastY = y; + _dragWidget.window_classification = w->classification; + _dragWidget.window_number = w->number; + _dragWidget.widget_index = widgetIndex; + _originalWindowWidth = w->width; + _originalWindowHeight = w->height; } static void input_window_resize_continue(rct_window *w, sint32 x, sint32 y) { - if (y < (sint32)context_get_height() - 2) { - sint32 dx, dy, targetWidth, targetHeight; - dx = x - gInputDragLastX; - dy = y - gInputDragLastY; - targetWidth = _originalWindowWidth + dx; - targetHeight = _originalWindowHeight + dy; + if (y < (sint32)context_get_height() - 2) { + sint32 dx, dy, targetWidth, targetHeight; + dx = x - gInputDragLastX; + dy = y - gInputDragLastY; + targetWidth = _originalWindowWidth + dx; + targetHeight = _originalWindowHeight + dy; - window_resize( - w, - targetWidth - w->width, - targetHeight - w->height - ); - } + window_resize( + w, + targetWidth - w->width, + targetHeight - w->height + ); + } } static void input_window_resize_end() { - _inputState = INPUT_STATE_NORMAL; - gTooltipTimeout = 0; - gTooltipWidget = _dragWidget; + _inputState = INPUT_STATE_NORMAL; + gTooltipTimeout = 0; + gTooltipWidget = _dragWidget; } #pragma endregion @@ -499,68 +499,68 @@ static void input_window_resize_end() static void input_viewport_drag_begin(rct_window *w, sint32 x, sint32 y) { - w->flags &= ~WF_SCROLLING_TO_LOCATION; - _inputState = INPUT_STATE_VIEWPORT_RIGHT; - _dragWidget.window_classification = w->classification; - _dragWidget.window_number = w->number; - _ticksSinceDragStart = 0; - context_get_cursor_position(&gInputDragLastX, &gInputDragLastY); - context_hide_cursor(); + w->flags &= ~WF_SCROLLING_TO_LOCATION; + _inputState = INPUT_STATE_VIEWPORT_RIGHT; + _dragWidget.window_classification = w->classification; + _dragWidget.window_number = w->number; + _ticksSinceDragStart = 0; + context_get_cursor_position(&gInputDragLastX, &gInputDragLastY); + context_hide_cursor(); - // gInputFlags |= INPUT_FLAG_5; + // gInputFlags |= INPUT_FLAG_5; } static void input_viewport_drag_continue() { - sint32 dx, dy, newDragX, newDragY; - rct_window *w; - rct_viewport *viewport; + sint32 dx, dy, newDragX, newDragY; + rct_window *w; + rct_viewport *viewport; - context_get_cursor_position(&newDragX, &newDragY); + context_get_cursor_position(&newDragX, &newDragY); - dx = newDragX - gInputDragLastX; - dy = newDragY - gInputDragLastY; - w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number); + dx = newDragX - gInputDragLastX; + dy = newDragY - gInputDragLastY; + w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number); - // #3294: Window can be closed during a drag session, so just finish - // the session if the window no longer exists - if (w == NULL) { - input_viewport_drag_end(); - return; - } + // #3294: Window can be closed during a drag session, so just finish + // the session if the window no longer exists + if (w == NULL) { + input_viewport_drag_end(); + return; + } - viewport = w->viewport; - _ticksSinceDragStart += gTicksSinceLastUpdate; - if (viewport == NULL) { - context_show_cursor(); - _inputState = INPUT_STATE_RESET; - } else if (dx != 0 || dy != 0) { - if (!(w->flags & WF_NO_SCROLLING)) { - // User dragged a scrollable viewport + viewport = w->viewport; + _ticksSinceDragStart += gTicksSinceLastUpdate; + if (viewport == NULL) { + context_show_cursor(); + _inputState = INPUT_STATE_RESET; + } else if (dx != 0 || dy != 0) { + if (!(w->flags & WF_NO_SCROLLING)) { + // User dragged a scrollable viewport - // If the drag time is less than 500 the "drag" is usually interpreted as a right click. - // As the user moved the mouse, don't interpret it as right click in any case. - _ticksSinceDragStart = 1000; + // If the drag time is less than 500 the "drag" is usually interpreted as a right click. + // As the user moved the mouse, don't interpret it as right click in any case. + _ticksSinceDragStart = 1000; - dx *= 1 << (viewport->zoom + 1); - dy *= 1 << (viewport->zoom + 1); - if (gConfigGeneral.invert_viewport_drag){ - w->saved_view_x -= dx; - w->saved_view_y -= dy; - } else { - w->saved_view_x += dx; - w->saved_view_y += dy; - } - } - } + dx *= 1 << (viewport->zoom + 1); + dy *= 1 << (viewport->zoom + 1); + if (gConfigGeneral.invert_viewport_drag){ + w->saved_view_x -= dx; + w->saved_view_y -= dy; + } else { + w->saved_view_x += dx; + w->saved_view_y += dy; + } + } + } - context_set_cursor_position(gInputDragLastX, gInputDragLastY); + context_set_cursor_position(gInputDragLastX, gInputDragLastY); } static void input_viewport_drag_end() { - _inputState = INPUT_STATE_RESET; - context_show_cursor(); + _inputState = INPUT_STATE_RESET; + context_show_cursor(); } #pragma endregion @@ -569,138 +569,138 @@ static void input_viewport_drag_end() static void input_scroll_begin(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - rct_widget *widget; + rct_widget *widget; - widget = &w->widgets[widgetIndex]; + widget = &w->widgets[widgetIndex]; - _inputState = INPUT_STATE_SCROLL_LEFT; - gPressedWidget.window_classification = w->classification; - gPressedWidget.window_number = w->number; - gPressedWidget.widget_index = widgetIndex; - gTooltipCursorX = x; - gTooltipCursorY = y; + _inputState = INPUT_STATE_SCROLL_LEFT; + gPressedWidget.window_classification = w->classification; + gPressedWidget.window_number = w->number; + gPressedWidget.widget_index = widgetIndex; + gTooltipCursorX = x; + gTooltipCursorY = y; - sint32 eax, ebx, scroll_area, scroll_id; - scroll_id = 0; // safety - widget_scroll_get_part(w, widget, x, y, &eax, &ebx, &scroll_area, &scroll_id); + sint32 eax, ebx, scroll_area, scroll_id; + scroll_id = 0; // safety + widget_scroll_get_part(w, widget, x, y, &eax, &ebx, &scroll_area, &scroll_id); - _currentScrollArea = scroll_area; - _currentScrollIndex = scroll_id; - window_event_unknown_15_call(w, scroll_id, scroll_area); - if (scroll_area == SCROLL_PART_VIEW){ - window_event_scroll_mousedown_call(w, scroll_id, eax, ebx); - return; - } + _currentScrollArea = scroll_area; + _currentScrollIndex = scroll_id; + window_event_unknown_15_call(w, scroll_id, scroll_area); + if (scroll_area == SCROLL_PART_VIEW){ + window_event_scroll_mousedown_call(w, scroll_id, eax, ebx); + return; + } - rct_widget* widg = &w->widgets[widgetIndex]; - rct_scroll* scroll = &w->scrolls[scroll_id]; + rct_widget* widg = &w->widgets[widgetIndex]; + rct_scroll* scroll = &w->scrolls[scroll_id]; - sint32 widget_width = widg->right - widg->left - 1; - if (scroll->flags & VSCROLLBAR_VISIBLE) - widget_width -= 11; - sint32 widget_content_width = max(scroll->h_right - widget_width, 0); + sint32 widget_width = widg->right - widg->left - 1; + if (scroll->flags & VSCROLLBAR_VISIBLE) + widget_width -= 11; + sint32 widget_content_width = max(scroll->h_right - widget_width, 0); - sint32 widget_height = widg->bottom - widg->top - 1; - if (scroll->flags & HSCROLLBAR_VISIBLE) - widget_height -= 11; - sint32 widget_content_height = max(scroll->v_bottom - widget_height, 0); + sint32 widget_height = widg->bottom - widg->top - 1; + if (scroll->flags & HSCROLLBAR_VISIBLE) + widget_height -= 11; + sint32 widget_content_height = max(scroll->v_bottom - widget_height, 0); - switch (scroll_area) { - case SCROLL_PART_HSCROLLBAR_LEFT: - scroll->h_left = max(scroll->h_left - 3, 0); - break; - case SCROLL_PART_HSCROLLBAR_RIGHT: - scroll->h_left = min(scroll->h_left + 3, widget_content_width); - break; - case SCROLL_PART_HSCROLLBAR_LEFT_TROUGH: - scroll->h_left = max(scroll->h_left - widget_width, 0); - break; - case SCROLL_PART_HSCROLLBAR_RIGHT_TROUGH: - scroll->h_left = min(scroll->h_left + widget_width, widget_content_width); - break; - case SCROLL_PART_VSCROLLBAR_TOP: - scroll->v_top = max(scroll->v_top - 3, 0); - break; - case SCROLL_PART_VSCROLLBAR_BOTTOM: - scroll->v_top = min(scroll->v_top + 3, widget_content_height); - break; - case SCROLL_PART_VSCROLLBAR_TOP_TROUGH: - scroll->v_top = max(scroll->v_top - widget_height, 0); - break; - case SCROLL_PART_VSCROLLBAR_BOTTOM_TROUGH: - scroll->v_top = min(scroll->v_top + widget_height, widget_content_height); - break; - default: - break; - } - widget_scroll_update_thumbs(w, widgetIndex); - window_invalidate_by_number(widgetIndex, w->classification); + switch (scroll_area) { + case SCROLL_PART_HSCROLLBAR_LEFT: + scroll->h_left = max(scroll->h_left - 3, 0); + break; + case SCROLL_PART_HSCROLLBAR_RIGHT: + scroll->h_left = min(scroll->h_left + 3, widget_content_width); + break; + case SCROLL_PART_HSCROLLBAR_LEFT_TROUGH: + scroll->h_left = max(scroll->h_left - widget_width, 0); + break; + case SCROLL_PART_HSCROLLBAR_RIGHT_TROUGH: + scroll->h_left = min(scroll->h_left + widget_width, widget_content_width); + break; + case SCROLL_PART_VSCROLLBAR_TOP: + scroll->v_top = max(scroll->v_top - 3, 0); + break; + case SCROLL_PART_VSCROLLBAR_BOTTOM: + scroll->v_top = min(scroll->v_top + 3, widget_content_height); + break; + case SCROLL_PART_VSCROLLBAR_TOP_TROUGH: + scroll->v_top = max(scroll->v_top - widget_height, 0); + break; + case SCROLL_PART_VSCROLLBAR_BOTTOM_TROUGH: + scroll->v_top = min(scroll->v_top + widget_height, widget_content_height); + break; + default: + break; + } + widget_scroll_update_thumbs(w, widgetIndex); + window_invalidate_by_number(widgetIndex, w->classification); } static void input_scroll_continue(rct_window *w, rct_widgetindex widgetIndex, sint32 state, sint32 x, sint32 y) { - rct_widget *widget; - sint32 scroll_part, scroll_id; - sint32 x2, y2; + rct_widget *widget; + sint32 scroll_part, scroll_id; + sint32 x2, y2; - assert(w != NULL); + assert(w != NULL); - widget = &w->widgets[widgetIndex]; - if (w->classification != gPressedWidget.window_classification || - w->number != gPressedWidget.window_number || - widgetIndex != gPressedWidget.widget_index - ) { - invalidate_scroll(); - return; - } + widget = &w->widgets[widgetIndex]; + if (w->classification != gPressedWidget.window_classification || + w->number != gPressedWidget.window_number || + widgetIndex != gPressedWidget.widget_index + ) { + invalidate_scroll(); + return; + } - widget_scroll_get_part(w, widget, x, y, &x2, &y2, &scroll_part, &scroll_id); + widget_scroll_get_part(w, widget, x, y, &x2, &y2, &scroll_part, &scroll_id); - if (_currentScrollArea == SCROLL_PART_HSCROLLBAR_THUMB){ - sint32 originalTooltipCursorX = gTooltipCursorX; - gTooltipCursorX = x; - input_scroll_part_update_hthumb(w, widgetIndex, x - originalTooltipCursorX, scroll_id); - return; - } + if (_currentScrollArea == SCROLL_PART_HSCROLLBAR_THUMB){ + sint32 originalTooltipCursorX = gTooltipCursorX; + gTooltipCursorX = x; + input_scroll_part_update_hthumb(w, widgetIndex, x - originalTooltipCursorX, scroll_id); + return; + } - if (_currentScrollArea == SCROLL_PART_VSCROLLBAR_THUMB){ - sint32 originalTooltipCursorY = gTooltipCursorY; - gTooltipCursorY = y; - input_scroll_part_update_vthumb(w, widgetIndex, y - originalTooltipCursorY, scroll_id); - return; - } + if (_currentScrollArea == SCROLL_PART_VSCROLLBAR_THUMB){ + sint32 originalTooltipCursorY = gTooltipCursorY; + gTooltipCursorY = y; + input_scroll_part_update_vthumb(w, widgetIndex, y - originalTooltipCursorY, scroll_id); + return; + } - x = x2; - y = y2; + x = x2; + y = y2; - if (scroll_part != _currentScrollArea) { - invalidate_scroll(); - return; - } + if (scroll_part != _currentScrollArea) { + invalidate_scroll(); + return; + } - switch (scroll_part){ - case SCROLL_PART_VIEW: - window_event_scroll_mousedrag_call(w, scroll_id, x, y); - break; - case SCROLL_PART_HSCROLLBAR_LEFT: - input_scroll_part_update_hleft(w, widgetIndex, scroll_id); - break; - case SCROLL_PART_HSCROLLBAR_RIGHT: - input_scroll_part_update_hright(w, widgetIndex, scroll_id); - break; - case SCROLL_PART_VSCROLLBAR_TOP: - input_scroll_part_update_vtop(w, widgetIndex, scroll_id); - break; - case SCROLL_PART_VSCROLLBAR_BOTTOM: - input_scroll_part_update_vbottom(w, widgetIndex, scroll_id); - break; - } + switch (scroll_part){ + case SCROLL_PART_VIEW: + window_event_scroll_mousedrag_call(w, scroll_id, x, y); + break; + case SCROLL_PART_HSCROLLBAR_LEFT: + input_scroll_part_update_hleft(w, widgetIndex, scroll_id); + break; + case SCROLL_PART_HSCROLLBAR_RIGHT: + input_scroll_part_update_hright(w, widgetIndex, scroll_id); + break; + case SCROLL_PART_VSCROLLBAR_TOP: + input_scroll_part_update_vtop(w, widgetIndex, scroll_id); + break; + case SCROLL_PART_VSCROLLBAR_BOTTOM: + input_scroll_part_update_vbottom(w, widgetIndex, scroll_id); + break; + } } static void input_scroll_end() { - _inputState = INPUT_STATE_RESET; - invalidate_scroll(); + _inputState = INPUT_STATE_RESET; + invalidate_scroll(); } /** @@ -709,35 +709,35 @@ static void input_scroll_end() */ static void input_scroll_part_update_hthumb(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 scroll_id) { - rct_widget *widget = &w->widgets[widgetIndex]; + rct_widget *widget = &w->widgets[widgetIndex]; - if (window_find_by_number(w->classification, w->number)) { - sint32 newLeft; - newLeft = w->scrolls[scroll_id].h_right; - newLeft *= x; - x = widget->right - widget->left - 21; - if (w->scrolls[scroll_id].flags & VSCROLLBAR_VISIBLE) - x -= 11; - newLeft /= x; - x = newLeft; - w->scrolls[scroll_id].flags |= HSCROLLBAR_THUMB_PRESSED; - newLeft = w->scrolls[scroll_id].h_left; - newLeft += x; - if (newLeft < 0) - newLeft = 0; - x = widget->right - widget->left - 1; - if (w->scrolls[scroll_id].flags & VSCROLLBAR_VISIBLE) - x -= 11; - x *= -1; - x += w->scrolls[scroll_id].h_right; - if (x < 0) - x = 0; - if (newLeft > x) - newLeft = x; - w->scrolls[scroll_id].h_left = newLeft; - widget_scroll_update_thumbs(w, widgetIndex); - widget_invalidate_by_number(w->classification, w->number, widgetIndex); - } + if (window_find_by_number(w->classification, w->number)) { + sint32 newLeft; + newLeft = w->scrolls[scroll_id].h_right; + newLeft *= x; + x = widget->right - widget->left - 21; + if (w->scrolls[scroll_id].flags & VSCROLLBAR_VISIBLE) + x -= 11; + newLeft /= x; + x = newLeft; + w->scrolls[scroll_id].flags |= HSCROLLBAR_THUMB_PRESSED; + newLeft = w->scrolls[scroll_id].h_left; + newLeft += x; + if (newLeft < 0) + newLeft = 0; + x = widget->right - widget->left - 1; + if (w->scrolls[scroll_id].flags & VSCROLLBAR_VISIBLE) + x -= 11; + x *= -1; + x += w->scrolls[scroll_id].h_right; + if (x < 0) + x = 0; + if (newLeft > x) + newLeft = x; + w->scrolls[scroll_id].h_left = newLeft; + widget_scroll_update_thumbs(w, widgetIndex); + widget_invalidate_by_number(w->classification, w->number, widgetIndex); + } } /** @@ -746,36 +746,36 @@ static void input_scroll_part_update_hthumb(rct_window *w, rct_widgetindex widge */ static void input_scroll_part_update_vthumb(rct_window *w, rct_widgetindex widgetIndex, sint32 y, sint32 scroll_id) { - assert(w != NULL); - rct_widget *widget = &w->widgets[widgetIndex]; + assert(w != NULL); + rct_widget *widget = &w->widgets[widgetIndex]; - if (window_find_by_number(w->classification, w->number)) { - sint32 newTop; - newTop = w->scrolls[scroll_id].v_bottom; - newTop *= y; - y = widget->bottom - widget->top - 21; - if (w->scrolls[scroll_id].flags & HSCROLLBAR_VISIBLE) - y -= 11; - newTop /= y; - y = newTop; - w->scrolls[scroll_id].flags |= VSCROLLBAR_THUMB_PRESSED; - newTop = w->scrolls[scroll_id].v_top; - newTop += y; - if (newTop < 0) - newTop = 0; - y = widget->bottom - widget->top - 1; - if (w->scrolls[scroll_id].flags & HSCROLLBAR_VISIBLE) - y -= 11; - y *= -1; - y += w->scrolls[scroll_id].v_bottom; - if (y < 0) - y = 0; - if (newTop > y) - newTop = y; - w->scrolls[scroll_id].v_top = newTop; - widget_scroll_update_thumbs(w, widgetIndex); - widget_invalidate_by_number(w->classification, w->number, widgetIndex); - } + if (window_find_by_number(w->classification, w->number)) { + sint32 newTop; + newTop = w->scrolls[scroll_id].v_bottom; + newTop *= y; + y = widget->bottom - widget->top - 21; + if (w->scrolls[scroll_id].flags & HSCROLLBAR_VISIBLE) + y -= 11; + newTop /= y; + y = newTop; + w->scrolls[scroll_id].flags |= VSCROLLBAR_THUMB_PRESSED; + newTop = w->scrolls[scroll_id].v_top; + newTop += y; + if (newTop < 0) + newTop = 0; + y = widget->bottom - widget->top - 1; + if (w->scrolls[scroll_id].flags & HSCROLLBAR_VISIBLE) + y -= 11; + y *= -1; + y += w->scrolls[scroll_id].v_bottom; + if (y < 0) + y = 0; + if (newTop > y) + newTop = y; + w->scrolls[scroll_id].v_top = newTop; + widget_scroll_update_thumbs(w, widgetIndex); + widget_invalidate_by_number(w->classification, w->number, widgetIndex); + } } /** @@ -784,14 +784,14 @@ static void input_scroll_part_update_vthumb(rct_window *w, rct_widgetindex widge */ static void input_scroll_part_update_hleft(rct_window *w, rct_widgetindex widgetIndex, sint32 scroll_id) { - assert(w != NULL); - if (window_find_by_number(w->classification, w->number)) { - w->scrolls[scroll_id].flags |= HSCROLLBAR_LEFT_PRESSED; - if (w->scrolls[scroll_id].h_left >= 3) - w->scrolls[scroll_id].h_left -= 3; - widget_scroll_update_thumbs(w, widgetIndex); - widget_invalidate_by_number(w->classification, w->number, widgetIndex); - } + assert(w != NULL); + if (window_find_by_number(w->classification, w->number)) { + w->scrolls[scroll_id].flags |= HSCROLLBAR_LEFT_PRESSED; + if (w->scrolls[scroll_id].h_left >= 3) + w->scrolls[scroll_id].h_left -= 3; + widget_scroll_update_thumbs(w, widgetIndex); + widget_invalidate_by_number(w->classification, w->number, widgetIndex); + } } /** @@ -800,23 +800,23 @@ static void input_scroll_part_update_hleft(rct_window *w, rct_widgetindex widget */ static void input_scroll_part_update_hright(rct_window *w, rct_widgetindex widgetIndex, sint32 scroll_id) { - assert(w != NULL); - rct_widget *widget = &w->widgets[widgetIndex]; - if (window_find_by_number(w->classification, w->number)) { - w->scrolls[scroll_id].flags |= HSCROLLBAR_RIGHT_PRESSED; - w->scrolls[scroll_id].h_left += 3; - sint32 newLeft = widget->right - widget->left - 1; - if (w->scrolls[scroll_id].flags & VSCROLLBAR_VISIBLE) - newLeft -= 11; - newLeft *= -1; - newLeft += w->scrolls[scroll_id].h_right; - if (newLeft < 0) - newLeft = 0; - if (w->scrolls[scroll_id].h_left > newLeft) - w->scrolls[scroll_id].h_left = newLeft; - widget_scroll_update_thumbs(w, widgetIndex); - widget_invalidate_by_number(w->classification, w->number, widgetIndex); - } + assert(w != NULL); + rct_widget *widget = &w->widgets[widgetIndex]; + if (window_find_by_number(w->classification, w->number)) { + w->scrolls[scroll_id].flags |= HSCROLLBAR_RIGHT_PRESSED; + w->scrolls[scroll_id].h_left += 3; + sint32 newLeft = widget->right - widget->left - 1; + if (w->scrolls[scroll_id].flags & VSCROLLBAR_VISIBLE) + newLeft -= 11; + newLeft *= -1; + newLeft += w->scrolls[scroll_id].h_right; + if (newLeft < 0) + newLeft = 0; + if (w->scrolls[scroll_id].h_left > newLeft) + w->scrolls[scroll_id].h_left = newLeft; + widget_scroll_update_thumbs(w, widgetIndex); + widget_invalidate_by_number(w->classification, w->number, widgetIndex); + } } /** @@ -825,14 +825,14 @@ static void input_scroll_part_update_hright(rct_window *w, rct_widgetindex widge */ static void input_scroll_part_update_vtop(rct_window *w, rct_widgetindex widgetIndex, sint32 scroll_id) { - assert(w != NULL); - if (window_find_by_number(w->classification, w->number)) { - w->scrolls[scroll_id].flags |= VSCROLLBAR_UP_PRESSED; - if (w->scrolls[scroll_id].v_top >= 3) - w->scrolls[scroll_id].v_top -= 3; - widget_scroll_update_thumbs(w, widgetIndex); - widget_invalidate_by_number(w->classification, w->number, widgetIndex); - } + assert(w != NULL); + if (window_find_by_number(w->classification, w->number)) { + w->scrolls[scroll_id].flags |= VSCROLLBAR_UP_PRESSED; + if (w->scrolls[scroll_id].v_top >= 3) + w->scrolls[scroll_id].v_top -= 3; + widget_scroll_update_thumbs(w, widgetIndex); + widget_invalidate_by_number(w->classification, w->number, widgetIndex); + } } /** @@ -841,23 +841,23 @@ static void input_scroll_part_update_vtop(rct_window *w, rct_widgetindex widgetI */ static void input_scroll_part_update_vbottom(rct_window *w, rct_widgetindex widgetIndex, sint32 scroll_id) { - assert(w != NULL); - rct_widget *widget = &w->widgets[widgetIndex]; - if (window_find_by_number(w->classification, w->number)) { - w->scrolls[scroll_id].flags |= VSCROLLBAR_DOWN_PRESSED; - w->scrolls[scroll_id].v_top += 3; - sint32 newTop = widget->bottom - widget->top - 1; - if (w->scrolls[scroll_id].flags & HSCROLLBAR_VISIBLE) - newTop -= 11; - newTop *= -1; - newTop += w->scrolls[scroll_id].v_bottom; - if (newTop < 0) - newTop = 0; - if (w->scrolls[scroll_id].v_top > newTop) - w->scrolls[scroll_id].v_top = newTop; - widget_scroll_update_thumbs(w, widgetIndex); - widget_invalidate_by_number(w->classification, w->number, widgetIndex); - } + assert(w != NULL); + rct_widget *widget = &w->widgets[widgetIndex]; + if (window_find_by_number(w->classification, w->number)) { + w->scrolls[scroll_id].flags |= VSCROLLBAR_DOWN_PRESSED; + w->scrolls[scroll_id].v_top += 3; + sint32 newTop = widget->bottom - widget->top - 1; + if (w->scrolls[scroll_id].flags & HSCROLLBAR_VISIBLE) + newTop -= 11; + newTop *= -1; + newTop += w->scrolls[scroll_id].v_bottom; + if (newTop < 0) + newTop = 0; + if (w->scrolls[scroll_id].v_top > newTop) + w->scrolls[scroll_id].v_top = newTop; + widget_scroll_update_thumbs(w, widgetIndex); + widget_invalidate_by_number(w->classification, w->number, widgetIndex); + } } #pragma endregion @@ -870,36 +870,36 @@ static void input_scroll_part_update_vbottom(rct_window *w, rct_widgetindex widg */ static void input_widget_over(sint32 x, sint32 y, rct_window *w, rct_widgetindex widgetIndex) { - rct_windowclass windowClass = WC_NULL; - rct_windownumber windowNumber = 0; - rct_widget *widget = NULL; + rct_windowclass windowClass = WC_NULL; + rct_windownumber windowNumber = 0; + rct_widget *widget = NULL; - if (w != NULL) { - windowClass = w->classification; - windowNumber = w->number; - widget = &w->widgets[widgetIndex]; - } + if (w != NULL) { + windowClass = w->classification; + windowNumber = w->number; + widget = &w->widgets[widgetIndex]; + } - input_widget_over_change_check(windowClass, windowNumber, widgetIndex); + input_widget_over_change_check(windowClass, windowNumber, widgetIndex); - if (w != NULL && widgetIndex != -1 && widget->type == WWT_SCROLL) { - sint32 eax, ebx, scroll_part, edx; - widget_scroll_get_part(w, widget, x, y, &eax, &ebx, &scroll_part, &edx); + if (w != NULL && widgetIndex != -1 && widget->type == WWT_SCROLL) { + sint32 eax, ebx, scroll_part, edx; + widget_scroll_get_part(w, widget, x, y, &eax, &ebx, &scroll_part, &edx); - if (scroll_part != SCROLL_PART_VIEW) - window_tooltip_close(); - else { - window_event_scroll_mouseover_call(w, edx, eax, ebx); - input_update_tooltip(w, widgetIndex, x, y); - } - } - else { - input_update_tooltip(w, widgetIndex, x, y); - } + if (scroll_part != SCROLL_PART_VIEW) + window_tooltip_close(); + else { + window_event_scroll_mouseover_call(w, edx, eax, ebx); + input_update_tooltip(w, widgetIndex, x, y); + } + } + else { + input_update_tooltip(w, widgetIndex, x, y); + } - gTooltipTimeout = 0; - gTooltipCursorX = x; - gTooltipCursorY = y; + gTooltipTimeout = 0; + gTooltipCursorX = x; + gTooltipCursorY = y; } /** @@ -908,27 +908,27 @@ static void input_widget_over(sint32 x, sint32 y, rct_window *w, rct_widgetindex */ static void input_widget_over_change_check(rct_windowclass windowClass, rct_windownumber windowNumber, rct_widgetindex widgetIndex) { - // Prevents invalid widgets being clicked source of bug is elsewhere - if (widgetIndex == -1) - return; + // Prevents invalid widgets being clicked source of bug is elsewhere + if (widgetIndex == -1) + return; - // Check if the widget that the cursor was over, has changed - if (windowClass != gHoverWidget.window_classification || - windowNumber != gHoverWidget.window_number || - widgetIndex != gHoverWidget.widget_index - ) { - // Invalidate last widget cursor was on if widget is a flat button - input_widget_over_flatbutton_invalidate(); + // Check if the widget that the cursor was over, has changed + if (windowClass != gHoverWidget.window_classification || + windowNumber != gHoverWidget.window_number || + widgetIndex != gHoverWidget.widget_index + ) { + // Invalidate last widget cursor was on if widget is a flat button + input_widget_over_flatbutton_invalidate(); - // Set new cursor over widget - gHoverWidget.window_classification = windowClass; - gHoverWidget.window_number = windowNumber; - gHoverWidget.widget_index = widgetIndex; + // Set new cursor over widget + gHoverWidget.window_classification = windowClass; + gHoverWidget.window_number = windowNumber; + gHoverWidget.widget_index = widgetIndex; - // Invalidate new widget cursor is on if widget is a flat button - if (windowClass != 255) - input_widget_over_flatbutton_invalidate(); - } + // Invalidate new widget cursor is on if widget is a flat button + if (windowClass != 255) + input_widget_over_flatbutton_invalidate(); + } } /** @@ -937,17 +937,17 @@ static void input_widget_over_change_check(rct_windowclass windowClass, rct_wind */ static void input_widget_over_flatbutton_invalidate() { - rct_window *w = window_find_by_number(gHoverWidget.window_classification, gHoverWidget.window_number); - if (w != NULL) { - window_event_invalidate_call(w); - if (w->widgets[gHoverWidget.widget_index].type == WWT_FLATBTN) { - widget_invalidate_by_number( - gHoverWidget.window_classification, - gHoverWidget.window_number, - gHoverWidget.widget_index - ); - } - } + rct_window *w = window_find_by_number(gHoverWidget.window_classification, gHoverWidget.window_number); + if (w != NULL) { + window_event_invalidate_call(w); + if (w->widgets[gHoverWidget.widget_index].type == WWT_FLATBTN) { + widget_invalidate_by_number( + gHoverWidget.window_classification, + gHoverWidget.window_number, + gHoverWidget.widget_index + ); + } + } } /** @@ -956,81 +956,81 @@ static void input_widget_over_flatbutton_invalidate() */ static void input_widget_left(sint32 x, sint32 y, rct_window *w, rct_widgetindex widgetIndex) { - rct_windowclass windowClass = WC_NULL; - rct_windownumber windowNumber = 0; - rct_widget *widget; + rct_windowclass windowClass = WC_NULL; + rct_windownumber windowNumber = 0; + rct_widget *widget; - if (w != NULL) { - windowClass = w->classification; - windowNumber = w->number; - } + if (w != NULL) { + windowClass = w->classification; + windowNumber = w->number; + } - window_close_by_class(WC_ERROR); - window_close_by_class(WC_TOOLTIP); + window_close_by_class(WC_ERROR); + window_close_by_class(WC_TOOLTIP); - // Window might have changed position in the list, therefore find it again - w = window_find_by_number(windowClass, windowNumber); - if (w == NULL) - return; + // Window might have changed position in the list, therefore find it again + w = window_find_by_number(windowClass, windowNumber); + if (w == NULL) + return; - w = window_bring_to_front(w); - if (widgetIndex == -1) - return; + w = window_bring_to_front(w); + if (widgetIndex == -1) + return; - if (windowClass != gCurrentTextBox.window.classification || - windowNumber != gCurrentTextBox.window.number || - widgetIndex != gCurrentTextBox.widget_index) { - window_cancel_textbox(); - } + if (windowClass != gCurrentTextBox.window.classification || + windowNumber != gCurrentTextBox.window.number || + widgetIndex != gCurrentTextBox.widget_index) { + window_cancel_textbox(); + } - widget = &w->widgets[widgetIndex]; + widget = &w->widgets[widgetIndex]; - switch (widget->type) { - case WWT_FRAME: - case WWT_RESIZE: - if (window_can_resize(w) && (x >= w->x + w->width - 19 && y >= w->y + w->height - 19)) - input_window_resize_begin(w, widgetIndex, x, y); - break; - case WWT_VIEWPORT: - _inputState = INPUT_STATE_VIEWPORT_LEFT; - gInputDragLastX = x; - gInputDragLastY = y; - _dragWidget.window_classification = windowClass; - _dragWidget.window_number = windowNumber; - if (_inputFlags & INPUT_FLAG_TOOL_ACTIVE) { - w = window_find_by_number( - gCurrentToolWidget.window_classification, - gCurrentToolWidget.window_number - ); - if (w != NULL) { - window_event_tool_down_call(w, gCurrentToolWidget.widget_index, x, y); - _inputFlags |= INPUT_FLAG_4; - } - } - break; - case WWT_CAPTION: - input_window_position_begin(w, widgetIndex, x, y); - break; - case WWT_SCROLL: - input_scroll_begin(w, widgetIndex, x, y); - break; - default: - if (widget_is_enabled(w, widgetIndex) && !widget_is_disabled(w, widgetIndex)) { - audio_play_sound(SOUND_CLICK_1, 0, w->x + ((widget->left + widget->right) / 2)); + switch (widget->type) { + case WWT_FRAME: + case WWT_RESIZE: + if (window_can_resize(w) && (x >= w->x + w->width - 19 && y >= w->y + w->height - 19)) + input_window_resize_begin(w, widgetIndex, x, y); + break; + case WWT_VIEWPORT: + _inputState = INPUT_STATE_VIEWPORT_LEFT; + gInputDragLastX = x; + gInputDragLastY = y; + _dragWidget.window_classification = windowClass; + _dragWidget.window_number = windowNumber; + if (_inputFlags & INPUT_FLAG_TOOL_ACTIVE) { + w = window_find_by_number( + gCurrentToolWidget.window_classification, + gCurrentToolWidget.window_number + ); + if (w != NULL) { + window_event_tool_down_call(w, gCurrentToolWidget.widget_index, x, y); + _inputFlags |= INPUT_FLAG_4; + } + } + break; + case WWT_CAPTION: + input_window_position_begin(w, widgetIndex, x, y); + break; + case WWT_SCROLL: + input_scroll_begin(w, widgetIndex, x, y); + break; + default: + if (widget_is_enabled(w, widgetIndex) && !widget_is_disabled(w, widgetIndex)) { + audio_play_sound(SOUND_CLICK_1, 0, w->x + ((widget->left + widget->right) / 2)); - // Set new cursor down widget - gPressedWidget.window_classification = windowClass; - gPressedWidget.window_number = windowNumber; - gPressedWidget.widget_index = widgetIndex; - _inputFlags |= INPUT_FLAG_WIDGET_PRESSED; - _inputState = INPUT_STATE_WIDGET_PRESSED; - _clickRepeatTicks = 1; + // Set new cursor down widget + gPressedWidget.window_classification = windowClass; + gPressedWidget.window_number = windowNumber; + gPressedWidget.widget_index = widgetIndex; + _inputFlags |= INPUT_FLAG_WIDGET_PRESSED; + _inputState = INPUT_STATE_WIDGET_PRESSED; + _clickRepeatTicks = 1; - widget_invalidate_by_number(windowClass, windowNumber, widgetIndex); - window_event_mouse_down_call(w, widgetIndex); - } - break; - } + widget_invalidate_by_number(windowClass, windowNumber, widgetIndex); + window_event_mouse_down_call(w, widgetIndex); + } + break; + } } #pragma endregion @@ -1041,94 +1041,94 @@ static void input_widget_left(sint32 x, sint32 y, rct_window *w, rct_widgetindex */ void process_mouse_over(sint32 x, sint32 y) { - rct_window* window; + rct_window* window; - sint32 cursorId; + sint32 cursorId; - cursorId = CURSOR_ARROW; - set_map_tooltip_format_arg(0, rct_string_id, STR_NONE); - window = window_find_from_point(x, y); + cursorId = CURSOR_ARROW; + set_map_tooltip_format_arg(0, rct_string_id, STR_NONE); + window = window_find_from_point(x, y); - if (window != NULL) { - sint32 ebx, edi; - rct_window* subWindow; - rct_widgetindex widgetId = window_find_widget_from_point(window, x, y); - if (widgetId != -1) { - switch (window->widgets[widgetId].type){ + if (window != NULL) { + sint32 ebx, edi; + rct_window* subWindow; + rct_widgetindex widgetId = window_find_widget_from_point(window, x, y); + if (widgetId != -1) { + switch (window->widgets[widgetId].type){ - case WWT_VIEWPORT: - if (!(_inputFlags & INPUT_FLAG_TOOL_ACTIVE)) { - if (viewport_interaction_left_over(x, y)) { - set_cursor(CURSOR_HAND_POINT); - return; - } - break; - } - cursorId = gCurrentToolId; - subWindow = window_find_by_number( - gCurrentToolWidget.window_classification, - gCurrentToolWidget.window_number - ); - if (subWindow == NULL) - break; + case WWT_VIEWPORT: + if (!(_inputFlags & INPUT_FLAG_TOOL_ACTIVE)) { + if (viewport_interaction_left_over(x, y)) { + set_cursor(CURSOR_HAND_POINT); + return; + } + break; + } + cursorId = gCurrentToolId; + subWindow = window_find_by_number( + gCurrentToolWidget.window_classification, + gCurrentToolWidget.window_number + ); + if (subWindow == NULL) + break; - ebx = 0; - edi = cursorId; - // Window event WE_UNKNOWN_0E was called here, but no windows actually implemented a handler and - // it's not known what it was for - cursorId = edi; - if ((ebx & 0xFF) != 0) - { - set_cursor(cursorId); - return; - } - break; + ebx = 0; + edi = cursorId; + // Window event WE_UNKNOWN_0E was called here, but no windows actually implemented a handler and + // it's not known what it was for + cursorId = edi; + if ((ebx & 0xFF) != 0) + { + set_cursor(cursorId); + return; + } + break; - case WWT_FRAME: - case WWT_RESIZE: - if (!(window->flags & WF_RESIZABLE)) - break; + case WWT_FRAME: + case WWT_RESIZE: + if (!(window->flags & WF_RESIZABLE)) + break; - if (window->min_width == window->max_width && window->min_height == window->max_height) - break; + if (window->min_width == window->max_width && window->min_height == window->max_height) + break; - if (x < window->x + window->width - 0x13) - break; + if (x < window->x + window->width - 0x13) + break; - if (y < window->y + window->height - 0x13) - break; + if (y < window->y + window->height - 0x13) + break; - cursorId = CURSOR_DIAGONAL_ARROWS; - break; + cursorId = CURSOR_DIAGONAL_ARROWS; + break; - case WWT_SCROLL: - { - sint32 output_scroll_area, scroll_id; - sint32 scroll_x, scroll_y; - widget_scroll_get_part(window, &window->widgets[widgetId], x, y, &scroll_x, &scroll_y, &output_scroll_area, &scroll_id); - cursorId = scroll_id; - if (output_scroll_area != SCROLL_PART_VIEW) - { - cursorId = CURSOR_ARROW; - break; - } - // Same as default but with scroll_x/y - cursorId = window_event_cursor_call(window, widgetId, scroll_x, scroll_y); - if (cursorId == -1) - cursorId = CURSOR_ARROW; - break; - } - default: - cursorId = window_event_cursor_call(window, widgetId, x, y); - if (cursorId == -1) - cursorId = CURSOR_ARROW; - break; - } - } - } + case WWT_SCROLL: + { + sint32 output_scroll_area, scroll_id; + sint32 scroll_x, scroll_y; + widget_scroll_get_part(window, &window->widgets[widgetId], x, y, &scroll_x, &scroll_y, &output_scroll_area, &scroll_id); + cursorId = scroll_id; + if (output_scroll_area != SCROLL_PART_VIEW) + { + cursorId = CURSOR_ARROW; + break; + } + // Same as default but with scroll_x/y + cursorId = window_event_cursor_call(window, widgetId, scroll_x, scroll_y); + if (cursorId == -1) + cursorId = CURSOR_ARROW; + break; + } + default: + cursorId = window_event_cursor_call(window, widgetId, x, y); + if (cursorId == -1) + cursorId = CURSOR_ARROW; + break; + } + } + } - viewport_interaction_right_over(x, y); - set_cursor(cursorId); + viewport_interaction_right_over(x, y); + set_cursor(cursorId); } /** @@ -1137,19 +1137,19 @@ void process_mouse_over(sint32 x, sint32 y) */ void process_mouse_tool(sint32 x, sint32 y) { - if (_inputFlags & INPUT_FLAG_TOOL_ACTIVE) - { - rct_window* w = window_find_by_number( - gCurrentToolWidget.window_classification, - gCurrentToolWidget.window_number - ); + if (_inputFlags & INPUT_FLAG_TOOL_ACTIVE) + { + rct_window* w = window_find_by_number( + gCurrentToolWidget.window_classification, + gCurrentToolWidget.window_number + ); - if (!w) - tool_cancel(); - else - window_event_tool_update_call(w, gCurrentToolWidget.widget_index, x, y); + if (!w) + tool_cancel(); + else + window_event_tool_update_call(w, gCurrentToolWidget.widget_index, x, y); - } + } } /** @@ -1158,237 +1158,237 @@ void process_mouse_tool(sint32 x, sint32 y) */ void input_state_widget_pressed(sint32 x, sint32 y, sint32 state, rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - rct_windowclass cursor_w_class; - rct_windownumber cursor_w_number; - cursor_w_class = gPressedWidget.window_classification; - cursor_w_number = gPressedWidget.window_number; - rct_widgetindex cursor_widgetIndex = gPressedWidget.widget_index; + rct_windowclass cursor_w_class; + rct_windownumber cursor_w_number; + cursor_w_class = gPressedWidget.window_classification; + cursor_w_number = gPressedWidget.window_number; + rct_widgetindex cursor_widgetIndex = gPressedWidget.widget_index; - rct_window *cursor_w = window_find_by_number(cursor_w_class, cursor_w_number); - if (cursor_w == NULL) { - _inputState = INPUT_STATE_RESET; - return; - } + rct_window *cursor_w = window_find_by_number(cursor_w_class, cursor_w_number); + if (cursor_w == NULL) { + _inputState = INPUT_STATE_RESET; + return; + } - switch (state) { - case MOUSE_STATE_RELEASED: - if (!w || cursor_w_class != w->classification || cursor_w_number != w->number || widgetIndex != cursor_widgetIndex) - break; + switch (state) { + case MOUSE_STATE_RELEASED: + if (!w || cursor_w_class != w->classification || cursor_w_number != w->number || widgetIndex != cursor_widgetIndex) + break; - if (w->disabled_widgets & (1ULL << widgetIndex)) - break; + if (w->disabled_widgets & (1ULL << widgetIndex)) + break; - if (_clickRepeatTicks != 0) { - _clickRepeatTicks++; + if (_clickRepeatTicks != 0) { + _clickRepeatTicks++; - // Handle click repeat - if (_clickRepeatTicks >= 16 && (_clickRepeatTicks & 3) != 0) { - if (w->hold_down_widgets & (1ULL << widgetIndex)) { - window_event_mouse_down_call(w, widgetIndex); - } - } - } + // Handle click repeat + if (_clickRepeatTicks >= 16 && (_clickRepeatTicks & 3) != 0) { + if (w->hold_down_widgets & (1ULL << widgetIndex)) { + window_event_mouse_down_call(w, widgetIndex); + } + } + } - if (_inputFlags & INPUT_FLAG_WIDGET_PRESSED) { - if (_inputState == INPUT_STATE_DROPDOWN_ACTIVE) { - gDropdownHighlightedIndex = gDropdownDefaultIndex; - window_invalidate_by_class(WC_DROPDOWN); - } - return; - } + if (_inputFlags & INPUT_FLAG_WIDGET_PRESSED) { + if (_inputState == INPUT_STATE_DROPDOWN_ACTIVE) { + gDropdownHighlightedIndex = gDropdownDefaultIndex; + window_invalidate_by_class(WC_DROPDOWN); + } + return; + } - _inputFlags |= INPUT_FLAG_WIDGET_PRESSED; - widget_invalidate_by_number(cursor_w_class, cursor_w_number, widgetIndex); - return; - case MOUSE_STATE_LEFT_RELEASE: - case MOUSE_STATE_RIGHT_PRESS: - if (_inputState == INPUT_STATE_DROPDOWN_ACTIVE) { - if (w) { - sint32 dropdown_index = 0; + _inputFlags |= INPUT_FLAG_WIDGET_PRESSED; + widget_invalidate_by_number(cursor_w_class, cursor_w_number, widgetIndex); + return; + case MOUSE_STATE_LEFT_RELEASE: + case MOUSE_STATE_RIGHT_PRESS: + if (_inputState == INPUT_STATE_DROPDOWN_ACTIVE) { + if (w) { + sint32 dropdown_index = 0; - if (w->classification == WC_DROPDOWN) { - dropdown_index = dropdown_index_from_point(x, y, w); - if (dropdown_index == -1) { - goto dropdown_cleanup; - } + if (w->classification == WC_DROPDOWN) { + dropdown_index = dropdown_index_from_point(x, y, w); + if (dropdown_index == -1) { + goto dropdown_cleanup; + } - if (dropdown_index < 64 && gDropdownItemsDisabled & (1ULL << dropdown_index)) { - goto dropdown_cleanup; - } + if (dropdown_index < 64 && gDropdownItemsDisabled & (1ULL << dropdown_index)) { + goto dropdown_cleanup; + } - if (gDropdownItemsFormat[dropdown_index] == 0) { - goto dropdown_cleanup; - } - } - else { - if (cursor_w_class != w->classification || cursor_w_number != w->number || widgetIndex != cursor_widgetIndex) - goto dropdown_cleanup; - dropdown_index = -1; - if (_inputFlags & INPUT_FLAG_DROPDOWN_STAY_OPEN){ - if (!(_inputFlags & INPUT_FLAG_DROPDOWN_MOUSE_UP)){ - _inputFlags |= INPUT_FLAG_DROPDOWN_MOUSE_UP; - return; - } - } - } + if (gDropdownItemsFormat[dropdown_index] == 0) { + goto dropdown_cleanup; + } + } + else { + if (cursor_w_class != w->classification || cursor_w_number != w->number || widgetIndex != cursor_widgetIndex) + goto dropdown_cleanup; + dropdown_index = -1; + if (_inputFlags & INPUT_FLAG_DROPDOWN_STAY_OPEN){ + if (!(_inputFlags & INPUT_FLAG_DROPDOWN_MOUSE_UP)){ + _inputFlags |= INPUT_FLAG_DROPDOWN_MOUSE_UP; + return; + } + } + } - window_close_by_class(WC_DROPDOWN); - cursor_w = window_find_by_number(cursor_w_class, cursor_w_number); - if (_inputFlags & INPUT_FLAG_WIDGET_PRESSED) { - _inputFlags &= ~INPUT_FLAG_WIDGET_PRESSED; - widget_invalidate_by_number(cursor_w_class, cursor_w_number, cursor_widgetIndex); - } + window_close_by_class(WC_DROPDOWN); + cursor_w = window_find_by_number(cursor_w_class, cursor_w_number); + if (_inputFlags & INPUT_FLAG_WIDGET_PRESSED) { + _inputFlags &= ~INPUT_FLAG_WIDGET_PRESSED; + widget_invalidate_by_number(cursor_w_class, cursor_w_number, cursor_widgetIndex); + } - _inputState = INPUT_STATE_NORMAL; - gTooltipTimeout = 0; - gTooltipWidget.widget_index = cursor_widgetIndex; - gTooltipWidget.window_classification = cursor_w_class; - gTooltipWidget.window_number = cursor_w_number; + _inputState = INPUT_STATE_NORMAL; + gTooltipTimeout = 0; + gTooltipWidget.widget_index = cursor_widgetIndex; + gTooltipWidget.window_classification = cursor_w_class; + gTooltipWidget.window_number = cursor_w_number; - if (dropdown_index == -1) { - if (!dropdown_is_disabled(gDropdownDefaultIndex)) { - dropdown_index = gDropdownDefaultIndex; - } - } - window_event_dropdown_call(cursor_w, cursor_widgetIndex, dropdown_index); - } - dropdown_cleanup: - window_close_by_class(WC_DROPDOWN); - } - if (state == MOUSE_STATE_RIGHT_PRESS) { - return; - } + if (dropdown_index == -1) { + if (!dropdown_is_disabled(gDropdownDefaultIndex)) { + dropdown_index = gDropdownDefaultIndex; + } + } + window_event_dropdown_call(cursor_w, cursor_widgetIndex, dropdown_index); + } + dropdown_cleanup: + window_close_by_class(WC_DROPDOWN); + } + if (state == MOUSE_STATE_RIGHT_PRESS) { + return; + } - _inputState = INPUT_STATE_NORMAL; - gTooltipTimeout = 0; - gTooltipWidget.widget_index = cursor_widgetIndex; + _inputState = INPUT_STATE_NORMAL; + gTooltipTimeout = 0; + gTooltipWidget.widget_index = cursor_widgetIndex; - if (!w) - break; + if (!w) + break; - if (!widget) - break; + if (!widget) + break; - sint32 mid_point_x = (widget->left + widget->right) / 2 + w->x; - audio_play_sound(SOUND_CLICK_2, 0, mid_point_x); - if (cursor_w_class != w->classification || cursor_w_number != w->number || widgetIndex != cursor_widgetIndex) - break; + sint32 mid_point_x = (widget->left + widget->right) / 2 + w->x; + audio_play_sound(SOUND_CLICK_2, 0, mid_point_x); + if (cursor_w_class != w->classification || cursor_w_number != w->number || widgetIndex != cursor_widgetIndex) + break; - if (w->disabled_widgets & (1ULL << widgetIndex)) - break; + if (w->disabled_widgets & (1ULL << widgetIndex)) + break; - widget_invalidate_by_number(cursor_w_class, cursor_w_number, widgetIndex); - window_event_mouse_up_call(w, widgetIndex); - default: - return; - } + widget_invalidate_by_number(cursor_w_class, cursor_w_number, widgetIndex); + window_event_mouse_up_call(w, widgetIndex); + default: + return; + } - _clickRepeatTicks = 0; - if (_inputState != INPUT_STATE_DROPDOWN_ACTIVE){ - // Hold down widget and drag outside of area?? - if (_inputFlags & INPUT_FLAG_WIDGET_PRESSED){ - _inputFlags &= ~INPUT_FLAG_WIDGET_PRESSED; - widget_invalidate_by_number(cursor_w_class, cursor_w_number, cursor_widgetIndex); - } - return; - } + _clickRepeatTicks = 0; + if (_inputState != INPUT_STATE_DROPDOWN_ACTIVE){ + // Hold down widget and drag outside of area?? + if (_inputFlags & INPUT_FLAG_WIDGET_PRESSED){ + _inputFlags &= ~INPUT_FLAG_WIDGET_PRESSED; + widget_invalidate_by_number(cursor_w_class, cursor_w_number, cursor_widgetIndex); + } + return; + } - gDropdownHighlightedIndex = -1; - window_invalidate_by_class(WC_DROPDOWN); - if (w == NULL) { - return; - } + gDropdownHighlightedIndex = -1; + window_invalidate_by_class(WC_DROPDOWN); + if (w == NULL) { + return; + } - if (w->classification == WC_DROPDOWN){ - sint32 dropdown_index = dropdown_index_from_point(x, y, w); - if (dropdown_index == -1) { - return; - } + if (w->classification == WC_DROPDOWN){ + sint32 dropdown_index = dropdown_index_from_point(x, y, w); + if (dropdown_index == -1) { + return; + } - if (gDropdownIsColour && gDropdownLastColourHover != dropdown_index) { - gDropdownLastColourHover = dropdown_index; - window_tooltip_close(); + if (gDropdownIsColour && gDropdownLastColourHover != dropdown_index) { + gDropdownLastColourHover = dropdown_index; + window_tooltip_close(); - static const rct_string_id colourTooltips[] = { - STR_COLOUR_BLACK_TIP, - STR_COLOUR_GREY_TIP, - STR_COLOUR_WHITE_TIP, - STR_COLOUR_DARK_PURPLE_TIP, - STR_COLOUR_LIGHT_PURPLE_TIP, - STR_COLOUR_BRIGHT_PURPLE_TIP, - STR_COLOUR_DARK_BLUE_TIP, - STR_COLOUR_LIGHT_BLUE_TIP, - STR_COLOUR_ICY_BLUE_TIP, - STR_COLOUR_TEAL_TIP, - STR_COLOUR_AQUAMARINE_TIP, - STR_COLOUR_SATURATED_GREEN_TIP, - STR_COLOUR_DARK_GREEN_TIP, - STR_COLOUR_MOSS_GREEN_TIP, - STR_COLOUR_BRIGHT_GREEN_TIP, - STR_COLOUR_OLIVE_GREEN_TIP, - STR_COLOUR_DARK_OLIVE_GREEN_TIP, - STR_COLOUR_BRIGHT_YELLOW_TIP, - STR_COLOUR_YELLOW_TIP, - STR_COLOUR_DARK_YELLOW_TIP, - STR_COLOUR_LIGHT_ORANGE_TIP, - STR_COLOUR_DARK_ORANGE_TIP, - STR_COLOUR_LIGHT_BROWN_TIP, - STR_COLOUR_SATURATED_BROWN_TIP, - STR_COLOUR_DARK_BROWN_TIP, - STR_COLOUR_SALMON_PINK_TIP, - STR_COLOUR_BORDEAUX_RED_TIP, - STR_COLOUR_SATURATED_RED_TIP, - STR_COLOUR_BRIGHT_RED_TIP, - STR_COLOUR_DARK_PINK_TIP, - STR_COLOUR_BRIGHT_PINK_TIP, - STR_COLOUR_LIGHT_PINK_TIP, - }; + static const rct_string_id colourTooltips[] = { + STR_COLOUR_BLACK_TIP, + STR_COLOUR_GREY_TIP, + STR_COLOUR_WHITE_TIP, + STR_COLOUR_DARK_PURPLE_TIP, + STR_COLOUR_LIGHT_PURPLE_TIP, + STR_COLOUR_BRIGHT_PURPLE_TIP, + STR_COLOUR_DARK_BLUE_TIP, + STR_COLOUR_LIGHT_BLUE_TIP, + STR_COLOUR_ICY_BLUE_TIP, + STR_COLOUR_TEAL_TIP, + STR_COLOUR_AQUAMARINE_TIP, + STR_COLOUR_SATURATED_GREEN_TIP, + STR_COLOUR_DARK_GREEN_TIP, + STR_COLOUR_MOSS_GREEN_TIP, + STR_COLOUR_BRIGHT_GREEN_TIP, + STR_COLOUR_OLIVE_GREEN_TIP, + STR_COLOUR_DARK_OLIVE_GREEN_TIP, + STR_COLOUR_BRIGHT_YELLOW_TIP, + STR_COLOUR_YELLOW_TIP, + STR_COLOUR_DARK_YELLOW_TIP, + STR_COLOUR_LIGHT_ORANGE_TIP, + STR_COLOUR_DARK_ORANGE_TIP, + STR_COLOUR_LIGHT_BROWN_TIP, + STR_COLOUR_SATURATED_BROWN_TIP, + STR_COLOUR_DARK_BROWN_TIP, + STR_COLOUR_SALMON_PINK_TIP, + STR_COLOUR_BORDEAUX_RED_TIP, + STR_COLOUR_SATURATED_RED_TIP, + STR_COLOUR_BRIGHT_RED_TIP, + STR_COLOUR_DARK_PINK_TIP, + STR_COLOUR_BRIGHT_PINK_TIP, + STR_COLOUR_LIGHT_PINK_TIP, + }; - window_tooltip_show(colourTooltips[dropdown_index], x, y); - } + window_tooltip_show(colourTooltips[dropdown_index], x, y); + } - if (dropdown_index < 64 && gDropdownItemsDisabled & (1ULL << dropdown_index)) { - return; - } + if (dropdown_index < 64 && gDropdownItemsDisabled & (1ULL << dropdown_index)) { + return; + } - if (gDropdownItemsFormat[dropdown_index] == 0) { - return; - } + if (gDropdownItemsFormat[dropdown_index] == 0) { + return; + } - gDropdownHighlightedIndex = dropdown_index; - window_invalidate_by_class(WC_DROPDOWN); - } else { - gDropdownLastColourHover = -1; - window_tooltip_close(); - } + gDropdownHighlightedIndex = dropdown_index; + window_invalidate_by_class(WC_DROPDOWN); + } else { + gDropdownLastColourHover = -1; + window_tooltip_close(); + } } static void input_update_tooltip(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (gTooltipWidget.window_classification == 255) { - if (gTooltipCursorX == x && gTooltipCursorY == y) { - _tooltipNotShownTicks++; - if (_tooltipNotShownTicks > 50) { - gTooltipTimeout = 0; - window_tooltip_open(w, widgetIndex, x, y); - } - } - } else { - reset_tooltip_not_shown(); + if (gTooltipWidget.window_classification == 255) { + if (gTooltipCursorX == x && gTooltipCursorY == y) { + _tooltipNotShownTicks++; + if (_tooltipNotShownTicks > 50) { + gTooltipTimeout = 0; + window_tooltip_open(w, widgetIndex, x, y); + } + } + } else { + reset_tooltip_not_shown(); - if (w == NULL || - gTooltipWidget.window_classification != w->classification || - gTooltipWidget.window_number != w->number || - gTooltipWidget.widget_index != widgetIndex - ) { - window_tooltip_close(); - } + if (w == NULL || + gTooltipWidget.window_classification != w->classification || + gTooltipWidget.window_number != w->number || + gTooltipWidget.widget_index != widgetIndex + ) { + window_tooltip_close(); + } - gTooltipTimeout += gTicksSinceLastUpdate; - if (gTooltipTimeout >= 8000) { - window_close_by_class(WC_TOOLTIP); - } - } + gTooltipTimeout += gTicksSinceLastUpdate; + if (gTooltipTimeout >= 8000) { + window_close_by_class(WC_TOOLTIP); + } + } } @@ -1403,61 +1403,61 @@ static void input_update_tooltip(rct_window *w, rct_widgetindex widgetIndex, sin */ void title_handle_keyboard_input() { - rct_window *w; - sint32 key; + rct_window *w; + sint32 key; - if (gOpenRCT2Headless) { - return; - } + if (gOpenRCT2Headless) { + return; + } - if (!gConsoleOpen) { - // Handle modifier keys and key scrolling - gInputPlaceObjectModifier = PLACE_OBJECT_MODIFIER_NONE; - const uint8 * keysState = context_get_keys_state(); - if (keysState[SDL_SCANCODE_LSHIFT] || keysState[SDL_SCANCODE_RSHIFT]) - gInputPlaceObjectModifier |= PLACE_OBJECT_MODIFIER_SHIFT_Z; - if (keysState[SDL_SCANCODE_LCTRL] || keysState[SDL_SCANCODE_RCTRL]) - gInputPlaceObjectModifier |= PLACE_OBJECT_MODIFIER_COPY_Z; - if (keysState[SDL_SCANCODE_LALT] || keysState[SDL_SCANCODE_RALT]) - gInputPlaceObjectModifier |= 4; + if (!gConsoleOpen) { + // Handle modifier keys and key scrolling + gInputPlaceObjectModifier = PLACE_OBJECT_MODIFIER_NONE; + const uint8 * keysState = context_get_keys_state(); + if (keysState[SDL_SCANCODE_LSHIFT] || keysState[SDL_SCANCODE_RSHIFT]) + gInputPlaceObjectModifier |= PLACE_OBJECT_MODIFIER_SHIFT_Z; + if (keysState[SDL_SCANCODE_LCTRL] || keysState[SDL_SCANCODE_RCTRL]) + gInputPlaceObjectModifier |= PLACE_OBJECT_MODIFIER_COPY_Z; + if (keysState[SDL_SCANCODE_LALT] || keysState[SDL_SCANCODE_RALT]) + gInputPlaceObjectModifier |= 4; #ifdef __MACOSX__ - if (keysState[SDL_SCANCODE_LGUI] || keysState[SDL_SCANCODE_RGUI]) { - gInputPlaceObjectModifier |= 8; - } + if (keysState[SDL_SCANCODE_LGUI] || keysState[SDL_SCANCODE_RGUI]) { + gInputPlaceObjectModifier |= 8; + } #endif - } + } - while ((key = get_next_key()) != 0) { - if (key == 255) - continue; + while ((key = get_next_key()) != 0) { + if (key == 255) + continue; - // Reserve backtick for console - if (key == SDL_SCANCODE_GRAVE) { - if ((gConfigGeneral.debugging_tools && !context_is_input_active()) || gConsoleOpen) { - window_cancel_textbox(); - console_toggle(); - } - continue; - } else if (gConsoleOpen) { - console_input(key); - continue; - } + // Reserve backtick for console + if (key == SDL_SCANCODE_GRAVE) { + if ((gConfigGeneral.debugging_tools && !context_is_input_active()) || gConsoleOpen) { + window_cancel_textbox(); + console_toggle(); + } + continue; + } else if (gConsoleOpen) { + console_input(key); + continue; + } - key |= gInputPlaceObjectModifier << 8; + key |= gInputPlaceObjectModifier << 8; - w = window_find_by_class(WC_CHANGE_KEYBOARD_SHORTCUT); - if (w != NULL) { - keyboard_shortcut_set(key); - } else { - w = window_find_by_class(WC_TEXTINPUT); - if (w != NULL) { - window_text_input_key(w, key); - } - else if (!gUsingWidgetTextBox) { - keyboard_shortcut_handle(key); - } - } - } + w = window_find_by_class(WC_CHANGE_KEYBOARD_SHORTCUT); + if (w != NULL) { + keyboard_shortcut_set(key); + } else { + w = window_find_by_class(WC_TEXTINPUT); + if (w != NULL) { + window_text_input_key(w, key); + } + else if (!gUsingWidgetTextBox) { + keyboard_shortcut_handle(key); + } + } + } } /** @@ -1466,76 +1466,76 @@ void title_handle_keyboard_input() */ void game_handle_keyboard_input() { - rct_window *w; - sint32 key; + rct_window *w; + sint32 key; - if (gOpenRCT2Headless) { - return; - } + if (gOpenRCT2Headless) { + return; + } - if (!gConsoleOpen) { - // Handle mouse scrolling - if (_inputState == INPUT_STATE_NORMAL && gConfigGeneral.edge_scrolling) { - if (!(gInputPlaceObjectModifier & (PLACE_OBJECT_MODIFIER_SHIFT_Z | PLACE_OBJECT_MODIFIER_COPY_Z))) { - game_handle_edge_scroll(); - } - } + if (!gConsoleOpen) { + // Handle mouse scrolling + if (_inputState == INPUT_STATE_NORMAL && gConfigGeneral.edge_scrolling) { + if (!(gInputPlaceObjectModifier & (PLACE_OBJECT_MODIFIER_SHIFT_Z | PLACE_OBJECT_MODIFIER_COPY_Z))) { + game_handle_edge_scroll(); + } + } - // Handle modifier keys and key scrolling - gInputPlaceObjectModifier = PLACE_OBJECT_MODIFIER_NONE; - const uint8 * keysState = context_get_keys_state(); - if (keysState[SDL_SCANCODE_LSHIFT] || keysState[SDL_SCANCODE_RSHIFT]) { - gInputPlaceObjectModifier |= PLACE_OBJECT_MODIFIER_SHIFT_Z; - } - if (keysState[SDL_SCANCODE_LCTRL] || keysState[SDL_SCANCODE_RCTRL]) { - gInputPlaceObjectModifier |= PLACE_OBJECT_MODIFIER_COPY_Z; - } - if (keysState[SDL_SCANCODE_LALT] || keysState[SDL_SCANCODE_RALT]) { - gInputPlaceObjectModifier |= 4; - } + // Handle modifier keys and key scrolling + gInputPlaceObjectModifier = PLACE_OBJECT_MODIFIER_NONE; + const uint8 * keysState = context_get_keys_state(); + if (keysState[SDL_SCANCODE_LSHIFT] || keysState[SDL_SCANCODE_RSHIFT]) { + gInputPlaceObjectModifier |= PLACE_OBJECT_MODIFIER_SHIFT_Z; + } + if (keysState[SDL_SCANCODE_LCTRL] || keysState[SDL_SCANCODE_RCTRL]) { + gInputPlaceObjectModifier |= PLACE_OBJECT_MODIFIER_COPY_Z; + } + if (keysState[SDL_SCANCODE_LALT] || keysState[SDL_SCANCODE_RALT]) { + gInputPlaceObjectModifier |= 4; + } #ifdef __MACOSX__ - if (keysState[SDL_SCANCODE_LGUI] || keysState[SDL_SCANCODE_RGUI]) { - gInputPlaceObjectModifier |= 8; - } + if (keysState[SDL_SCANCODE_LGUI] || keysState[SDL_SCANCODE_RGUI]) { + gInputPlaceObjectModifier |= 8; + } #endif - game_handle_key_scroll(); - } + game_handle_key_scroll(); + } - // Handle key input - while (!gOpenRCT2Headless && (key = get_next_key()) != 0) { - if (key == 255) - continue; + // Handle key input + while (!gOpenRCT2Headless && (key = get_next_key()) != 0) { + if (key == 255) + continue; - // Reserve backtick for console - if (key == SDL_SCANCODE_GRAVE) { - if ((gConfigGeneral.debugging_tools && !context_is_input_active()) || gConsoleOpen) { - window_cancel_textbox(); - console_toggle(); - } - continue; - } else if (gConsoleOpen) { - console_input(key); - continue; - } else if (gChatOpen) { - chat_input(key); - continue; - } + // Reserve backtick for console + if (key == SDL_SCANCODE_GRAVE) { + if ((gConfigGeneral.debugging_tools && !context_is_input_active()) || gConsoleOpen) { + window_cancel_textbox(); + console_toggle(); + } + continue; + } else if (gConsoleOpen) { + console_input(key); + continue; + } else if (gChatOpen) { + chat_input(key); + continue; + } - key |= gInputPlaceObjectModifier << 8; + key |= gInputPlaceObjectModifier << 8; - w = window_find_by_class(WC_CHANGE_KEYBOARD_SHORTCUT); - if (w != NULL) { - keyboard_shortcut_set(key); - } else { - w = window_find_by_class(WC_TEXTINPUT); - if (w != NULL) { - window_text_input_key(w, key); - } else if (!gUsingWidgetTextBox) { - keyboard_shortcut_handle(key); - } - } - } + w = window_find_by_class(WC_CHANGE_KEYBOARD_SHORTCUT); + if (w != NULL) { + keyboard_shortcut_set(key); + } else { + w = window_find_by_class(WC_TEXTINPUT); + if (w != NULL) { + window_text_input_key(w, key); + } else if (!gUsingWidgetTextBox) { + keyboard_shortcut_handle(key); + } + } + } } /** @@ -1544,15 +1544,15 @@ void game_handle_keyboard_input() */ sint32 get_next_key() { - uint8 * keysPressed = (uint8 *)context_get_keys_pressed(); - for (sint32 i = 0; i < 221; i++) { - if (keysPressed[i]) { - keysPressed[i] = 0; - return i; - } - } + uint8 * keysPressed = (uint8 *)context_get_keys_pressed(); + for (sint32 i = 0; i < 221; i++) { + if (keysPressed[i]) { + keysPressed[i] = 0; + return i; + } + } - return 0; + return 0; } #pragma endregion @@ -1563,10 +1563,10 @@ sint32 get_next_key() */ void set_cursor(uint8 cursor_id) { - if (_inputState == INPUT_STATE_RESIZING) { - cursor_id = CURSOR_DIAGONAL_ARROWS; - } - context_setcurrentcursor(cursor_id); + if (_inputState == INPUT_STATE_RESIZING) { + cursor_id = CURSOR_DIAGONAL_ARROWS; + } + context_setcurrentcursor(cursor_id); } @@ -1577,12 +1577,12 @@ void set_cursor(uint8 cursor_id) */ void invalidate_scroll() { - rct_window* w = window_find_by_number(gPressedWidget.window_classification, gPressedWidget.window_number); - if (w != NULL) { - // Reset to basic scroll - w->scrolls[_currentScrollIndex].flags &= 0xFF11; - window_invalidate_by_number(gPressedWidget.window_classification, gPressedWidget.window_number); - } + rct_window* w = window_find_by_number(gPressedWidget.window_classification, gPressedWidget.window_number); + if (w != NULL) { + // Reset to basic scroll + w->scrolls[_currentScrollIndex].flags &= 0xFF11; + window_invalidate_by_number(gPressedWidget.window_classification, gPressedWidget.window_number); + } } /** @@ -1590,174 +1590,174 @@ void invalidate_scroll() */ void store_mouse_input(sint32 state, sint32 x, sint32 y) { - uint32 writeIndex = _mouseInputQueueWriteIndex; - uint32 nextWriteIndex = (writeIndex + 1) % countof(_mouseInputQueue); + uint32 writeIndex = _mouseInputQueueWriteIndex; + uint32 nextWriteIndex = (writeIndex + 1) % countof(_mouseInputQueue); - // Check if the queue is full - if (nextWriteIndex != _mouseInputQueueReadIndex) { - rct_mouse_data *item = &_mouseInputQueue[writeIndex]; - item->x = x; - item->y = y; - item->state = state; + // Check if the queue is full + if (nextWriteIndex != _mouseInputQueueReadIndex) { + rct_mouse_data *item = &_mouseInputQueue[writeIndex]; + item->x = x; + item->y = y; + item->state = state; - _mouseInputQueueWriteIndex = nextWriteIndex; - } + _mouseInputQueueWriteIndex = nextWriteIndex; + } } void game_handle_edge_scroll() { - rct_window *mainWindow; - sint32 scrollX, scrollY; + rct_window *mainWindow; + sint32 scrollX, scrollY; - mainWindow = window_get_main(); - if (mainWindow == NULL) - return; - if ((mainWindow->flags & WF_NO_SCROLLING) || (gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TITLE_DEMO))) - return; - if (mainWindow->viewport == NULL) - return; - if (!context_has_focus()) - return; + mainWindow = window_get_main(); + if (mainWindow == NULL) + return; + if ((mainWindow->flags & WF_NO_SCROLLING) || (gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TITLE_DEMO))) + return; + if (mainWindow->viewport == NULL) + return; + if (!context_has_focus()) + return; - scrollX = 0; - scrollY = 0; + scrollX = 0; + scrollY = 0; - // Scroll left / right - const CursorState * cursorState = context_get_cursor_state(); - if (cursorState->x == 0) - scrollX = -1; - else if (cursorState->x >= context_get_width() - 1) - scrollX = 1; + // Scroll left / right + const CursorState * cursorState = context_get_cursor_state(); + if (cursorState->x == 0) + scrollX = -1; + else if (cursorState->x >= context_get_width() - 1) + scrollX = 1; - // Scroll up / down - if (cursorState->y == 0) - scrollY = -1; - else if (cursorState->y >= context_get_height() - 1) - scrollY = 1; + // Scroll up / down + if (cursorState->y == 0) + scrollY = -1; + else if (cursorState->y >= context_get_height() - 1) + scrollY = 1; - // Scroll viewport - if (scrollX != 0) { - mainWindow->saved_view_x += scrollX * (12 << mainWindow->viewport->zoom); - _inputFlags |= INPUT_FLAG_VIEWPORT_SCROLLING; - } - if (scrollY != 0) { - mainWindow->saved_view_y += scrollY * (12 << mainWindow->viewport->zoom); - _inputFlags |= INPUT_FLAG_VIEWPORT_SCROLLING; - } + // Scroll viewport + if (scrollX != 0) { + mainWindow->saved_view_x += scrollX * (12 << mainWindow->viewport->zoom); + _inputFlags |= INPUT_FLAG_VIEWPORT_SCROLLING; + } + if (scrollY != 0) { + mainWindow->saved_view_y += scrollY * (12 << mainWindow->viewport->zoom); + _inputFlags |= INPUT_FLAG_VIEWPORT_SCROLLING; + } } void game_handle_key_scroll() { - rct_window *mainWindow; - sint32 scrollX, scrollY; + rct_window *mainWindow; + sint32 scrollX, scrollY; - mainWindow = window_get_main(); - if (mainWindow == NULL) - return; - if ((mainWindow->flags & WF_NO_SCROLLING) || (gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TITLE_DEMO))) - return; - if (mainWindow->viewport == NULL) - return; + mainWindow = window_get_main(); + if (mainWindow == NULL) + return; + if ((mainWindow->flags & WF_NO_SCROLLING) || (gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TITLE_DEMO))) + return; + if (mainWindow->viewport == NULL) + return; - rct_window *textWindow; + rct_window *textWindow; - textWindow = window_find_by_class(WC_TEXTINPUT); - if (textWindow || gUsingWidgetTextBox) return; - if (gChatOpen) return; + textWindow = window_find_by_class(WC_TEXTINPUT); + if (textWindow || gUsingWidgetTextBox) return; + if (gChatOpen) return; - scrollX = 0; - scrollY = 0; + scrollX = 0; + scrollY = 0; - const uint8 * keysState = context_get_keys_state(); - for (sint32 shortcutId = SHORTCUT_SCROLL_MAP_UP; shortcutId <= SHORTCUT_SCROLL_MAP_RIGHT; shortcutId++) { - uint16 shortcutKey = gShortcutKeys[shortcutId]; - uint8 scancode = shortcutKey & 0xFF; + const uint8 * keysState = context_get_keys_state(); + for (sint32 shortcutId = SHORTCUT_SCROLL_MAP_UP; shortcutId <= SHORTCUT_SCROLL_MAP_RIGHT; shortcutId++) { + uint16 shortcutKey = gShortcutKeys[shortcutId]; + uint8 scancode = shortcutKey & 0xFF; - if (shortcutKey == 0xFFFF) continue; - if (!keysState[scancode]) continue; + if (shortcutKey == 0xFFFF) continue; + if (!keysState[scancode]) continue; - if (shortcutKey & SHIFT) { - if (!keysState[SDL_SCANCODE_LSHIFT] && !keysState[SDL_SCANCODE_RSHIFT]) continue; - } - if (shortcutKey & CTRL) { - if (!keysState[SDL_SCANCODE_LCTRL] && !keysState[SDL_SCANCODE_RCTRL]) continue; - } - if (shortcutKey & ALT) { - if (!keysState[SDL_SCANCODE_LALT] && !keysState[SDL_SCANCODE_RALT]) continue; - } + if (shortcutKey & SHIFT) { + if (!keysState[SDL_SCANCODE_LSHIFT] && !keysState[SDL_SCANCODE_RSHIFT]) continue; + } + if (shortcutKey & CTRL) { + if (!keysState[SDL_SCANCODE_LCTRL] && !keysState[SDL_SCANCODE_RCTRL]) continue; + } + if (shortcutKey & ALT) { + if (!keysState[SDL_SCANCODE_LALT] && !keysState[SDL_SCANCODE_RALT]) continue; + } #ifdef __MACOSX__ - if (shortcutKey & CMD) { - if (!keysState[SDL_SCANCODE_LGUI] && !keysState[SDL_SCANCODE_RGUI]) continue; - } + if (shortcutKey & CMD) { + if (!keysState[SDL_SCANCODE_LGUI] && !keysState[SDL_SCANCODE_RGUI]) continue; + } #endif - switch (shortcutId) { - case SHORTCUT_SCROLL_MAP_UP: - scrollY = -1; - break; - case SHORTCUT_SCROLL_MAP_LEFT: - scrollX = -1; - break; - case SHORTCUT_SCROLL_MAP_DOWN: - scrollY = 1; - break; - case SHORTCUT_SCROLL_MAP_RIGHT: - scrollX = 1; - break; - } - } + switch (shortcutId) { + case SHORTCUT_SCROLL_MAP_UP: + scrollY = -1; + break; + case SHORTCUT_SCROLL_MAP_LEFT: + scrollX = -1; + break; + case SHORTCUT_SCROLL_MAP_DOWN: + scrollY = 1; + break; + case SHORTCUT_SCROLL_MAP_RIGHT: + scrollX = 1; + break; + } + } - // Scroll viewport - if (scrollX != 0) { - mainWindow->saved_view_x += scrollX * (12 << mainWindow->viewport->zoom); - _inputFlags |= INPUT_FLAG_VIEWPORT_SCROLLING; - } - if (scrollY != 0) { - mainWindow->saved_view_y += scrollY * (12 << mainWindow->viewport->zoom); - _inputFlags |= INPUT_FLAG_VIEWPORT_SCROLLING; - } + // Scroll viewport + if (scrollX != 0) { + mainWindow->saved_view_x += scrollX * (12 << mainWindow->viewport->zoom); + _inputFlags |= INPUT_FLAG_VIEWPORT_SCROLLING; + } + if (scrollY != 0) { + mainWindow->saved_view_y += scrollY * (12 << mainWindow->viewport->zoom); + _inputFlags |= INPUT_FLAG_VIEWPORT_SCROLLING; + } } void input_set_flag(INPUT_FLAGS flag, bool on) { - if (on) { - _inputFlags |= flag; - } else { - _inputFlags &= ~flag; - } + if (on) { + _inputFlags |= flag; + } else { + _inputFlags &= ~flag; + } } bool input_test_flag(INPUT_FLAGS flag) { - return _inputFlags & flag; + return _inputFlags & flag; } void input_reset_flags() { - _inputFlags = 0; + _inputFlags = 0; } void input_set_state(INPUT_STATE state) { - _inputState = state; + _inputState = state; } INPUT_STATE input_get_state() { - return _inputState; + return _inputState; } void reset_tooltip_not_shown() { - _tooltipNotShownTicks = 0; + _tooltipNotShownTicks = 0; } void input_reset_place_obj_modifier() { - gInputPlaceObjectModifier = PLACE_OBJECT_MODIFIER_NONE; + gInputPlaceObjectModifier = PLACE_OBJECT_MODIFIER_NONE; } bool input_test_place_object_modifier(PLACE_OBJECT_MODIFIER modifier) { - return gInputPlaceObjectModifier & modifier; + return gInputPlaceObjectModifier & modifier; } diff --git a/src/openrct2/input.h b/src/openrct2/input.h index 9cbd3caedd..2d28423006 100644 --- a/src/openrct2/input.h +++ b/src/openrct2/input.h @@ -20,60 +20,60 @@ #include "interface/window.h" typedef enum INPUT_FLAGS { - INPUT_FLAG_WIDGET_PRESSED = (1 << 0), + INPUT_FLAG_WIDGET_PRESSED = (1 << 0), - // The dropdown can stay open if the mouse is released, set on flag DROPDOWN_FLAG_STAY_OPEN - INPUT_FLAG_DROPDOWN_STAY_OPEN = (1 << 1), + // The dropdown can stay open if the mouse is released, set on flag DROPDOWN_FLAG_STAY_OPEN + INPUT_FLAG_DROPDOWN_STAY_OPEN = (1 << 1), - // The mouse has been released and the dropdown is still open - // INPUT_FLAG_DROPDOWN_STAY_OPEN is already set if this happens - INPUT_FLAG_DROPDOWN_MOUSE_UP = (1 << 2), + // The mouse has been released and the dropdown is still open + // INPUT_FLAG_DROPDOWN_STAY_OPEN is already set if this happens + INPUT_FLAG_DROPDOWN_MOUSE_UP = (1 << 2), - INPUT_FLAG_TOOL_ACTIVE = (1 << 3), + INPUT_FLAG_TOOL_ACTIVE = (1 << 3), - // Left click on a viewport - INPUT_FLAG_4 = (1 << 4), + // Left click on a viewport + INPUT_FLAG_4 = (1 << 4), - INPUT_FLAG_5 = (1 << 5), + INPUT_FLAG_5 = (1 << 5), - // Some of the map tools (clear, footpath, scenery) - // never read as far as I know. - INPUT_FLAG_6 = (1 << 6), + // Some of the map tools (clear, footpath, scenery) + // never read as far as I know. + INPUT_FLAG_6 = (1 << 6), - INPUT_FLAG_VIEWPORT_SCROLLING = (1 << 7) + INPUT_FLAG_VIEWPORT_SCROLLING = (1 << 7) } INPUT_FLAGS; enum MOUSE_STATE { - MOUSE_STATE_RELEASED, - MOUSE_STATE_LEFT_PRESS, - MOUSE_STATE_LEFT_RELEASE, - MOUSE_STATE_RIGHT_PRESS, - MOUSE_STATE_RIGHT_RELEASE + MOUSE_STATE_RELEASED, + MOUSE_STATE_LEFT_PRESS, + MOUSE_STATE_LEFT_RELEASE, + MOUSE_STATE_RIGHT_PRESS, + MOUSE_STATE_RIGHT_RELEASE }; typedef enum INPUT_STATE { - INPUT_STATE_RESET, - INPUT_STATE_NORMAL, - INPUT_STATE_WIDGET_PRESSED, - INPUT_STATE_POSITIONING_WINDOW, - INPUT_STATE_VIEWPORT_RIGHT, - INPUT_STATE_DROPDOWN_ACTIVE, - INPUT_STATE_VIEWPORT_LEFT, - INPUT_STATE_SCROLL_LEFT, - INPUT_STATE_RESIZING, - INPUT_STATE_SCROLL_RIGHT + INPUT_STATE_RESET, + INPUT_STATE_NORMAL, + INPUT_STATE_WIDGET_PRESSED, + INPUT_STATE_POSITIONING_WINDOW, + INPUT_STATE_VIEWPORT_RIGHT, + INPUT_STATE_DROPDOWN_ACTIVE, + INPUT_STATE_VIEWPORT_LEFT, + INPUT_STATE_SCROLL_LEFT, + INPUT_STATE_RESIZING, + INPUT_STATE_SCROLL_RIGHT } INPUT_STATE; typedef enum PLACE_OBJECT_MODIFIER { - PLACE_OBJECT_MODIFIER_NONE = 0, - PLACE_OBJECT_MODIFIER_SHIFT_Z = (1 << 0), - PLACE_OBJECT_MODIFIER_COPY_Z = (1 << 1), + PLACE_OBJECT_MODIFIER_NONE = 0, + PLACE_OBJECT_MODIFIER_SHIFT_Z = (1 << 0), + PLACE_OBJECT_MODIFIER_COPY_Z = (1 << 1), } PLACE_OBJECT_MODIFIER; typedef struct widget_ref { - rct_windowclass window_classification; - rct_windownumber window_number; - rct_widgetindex widget_index; + rct_windowclass window_classification; + rct_windownumber window_number; + rct_widgetindex widget_index; } widget_ref; extern uint8 gInputPlaceObjectModifier; diff --git a/src/openrct2/interface/chat.c b/src/openrct2/interface/chat.c index d075c3d978..eae633a8f0 100644 --- a/src/openrct2/interface/chat.c +++ b/src/openrct2/interface/chat.c @@ -45,229 +45,229 @@ static void chat_clear_input(); void chat_open() { - gChatOpen = true; - _chatTextInputSession = context_start_text_input(_chatCurrentLine, sizeof(_chatCurrentLine)); + gChatOpen = true; + _chatTextInputSession = context_start_text_input(_chatCurrentLine, sizeof(_chatCurrentLine)); } void chat_close() { - gChatOpen = false; - context_stop_text_input(); + gChatOpen = false; + context_stop_text_input(); } void chat_toggle() { - if (gChatOpen) { - chat_close(); - } else { - chat_open(); - } + if (gChatOpen) { + chat_close(); + } else { + chat_open(); + } } void chat_init() { - memset(_chatHistory, 0, sizeof(_chatHistory)); - memset(_chatHistoryTime, 0, sizeof(_chatHistoryTime)); + memset(_chatHistory, 0, sizeof(_chatHistory)); + memset(_chatHistoryTime, 0, sizeof(_chatHistoryTime)); } void chat_update() { - // Flash the caret - _chatCaretTicks = (_chatCaretTicks + 1) % 30; + // Flash the caret + _chatCaretTicks = (_chatCaretTicks + 1) % 30; } void chat_draw(rct_drawpixelinfo * dpi) { - if (network_get_mode() == NETWORK_MODE_NONE || network_get_status() != NETWORK_STATUS_CONNECTED || network_get_authstatus() != NETWORK_AUTH_OK) { - gChatOpen = false; - return; - } + if (network_get_mode() == NETWORK_MODE_NONE || network_get_status() != NETWORK_STATUS_CONNECTED || network_get_authstatus() != NETWORK_AUTH_OK) { + gChatOpen = false; + return; + } - _chatLeft = 10; - _chatRight = min((context_get_width() - 10), CHAT_MAX_WINDOW_WIDTH); - _chatWidth = _chatRight - _chatLeft; - _chatBottom = context_get_height() - 45; - _chatTop = _chatBottom - 10; + _chatLeft = 10; + _chatRight = min((context_get_width() - 10), CHAT_MAX_WINDOW_WIDTH); + _chatWidth = _chatRight - _chatLeft; + _chatBottom = context_get_height() - 45; + _chatTop = _chatBottom - 10; - char lineBuffer[CHAT_INPUT_SIZE + 10]; - char* lineCh = lineBuffer; - char* inputLine = _chatCurrentLine; - sint32 inputLineHeight = 10; - uint8 chatBackgroundColor = theme_get_colour(WC_CHAT, 0); + char lineBuffer[CHAT_INPUT_SIZE + 10]; + char* lineCh = lineBuffer; + char* inputLine = _chatCurrentLine; + sint32 inputLineHeight = 10; + uint8 chatBackgroundColor = theme_get_colour(WC_CHAT, 0); - // Draw chat window - if (gChatOpen) { - inputLineHeight = chat_string_wrapped_get_height((void*)&inputLine, _chatWidth - 10); - _chatTop -= inputLineHeight; + // Draw chat window + if (gChatOpen) { + inputLineHeight = chat_string_wrapped_get_height((void*)&inputLine, _chatWidth - 10); + _chatTop -= inputLineHeight; - for (sint32 i = 0; i < CHAT_HISTORY_SIZE; i++) { - if (strlen(chat_history_get(i)) == 0) { - continue; - } + for (sint32 i = 0; i < CHAT_HISTORY_SIZE; i++) { + if (strlen(chat_history_get(i)) == 0) { + continue; + } - safe_strcpy(lineBuffer, chat_history_get(i), sizeof(lineBuffer)); + safe_strcpy(lineBuffer, chat_history_get(i), sizeof(lineBuffer)); - sint32 lineHeight = chat_string_wrapped_get_height((void*)&lineCh, _chatWidth - 10); - _chatTop -= (lineHeight + 5); - } + sint32 lineHeight = chat_string_wrapped_get_height((void*)&lineCh, _chatWidth - 10); + _chatTop -= (lineHeight + 5); + } - _chatHeight = _chatBottom - _chatTop; + _chatHeight = _chatBottom - _chatTop; - if (_chatTop < 50) { - _chatTop = 50; - } else if (_chatHeight < 150) { // Min height - _chatTop = _chatBottom - 150; - _chatHeight = 150; - } + if (_chatTop < 50) { + _chatTop = 50; + } else if (_chatHeight < 150) { // Min height + _chatTop = _chatBottom - 150; + _chatHeight = 150; + } - gfx_set_dirty_blocks(_chatLeft, _chatTop - 5, _chatRight, _chatBottom + 5); // Background area + Textbox - gfx_filter_rect(dpi, _chatLeft, _chatTop - 5, _chatRight, _chatBottom + 5, PALETTE_51); // Opaque gray background - gfx_fill_rect_inset(dpi, _chatLeft, _chatTop - 5, _chatRight, _chatBottom + 5, chatBackgroundColor, INSET_RECT_FLAG_FILL_NONE); - gfx_fill_rect_inset(dpi, _chatLeft + 1, _chatTop - 4, _chatRight - 1, _chatBottom - inputLineHeight - 6, chatBackgroundColor, INSET_RECT_FLAG_BORDER_INSET); - gfx_fill_rect_inset(dpi, _chatLeft + 1, _chatBottom - inputLineHeight - 5, _chatRight - 1, _chatBottom + 4, chatBackgroundColor, INSET_RECT_FLAG_BORDER_INSET); // Textbox - } + gfx_set_dirty_blocks(_chatLeft, _chatTop - 5, _chatRight, _chatBottom + 5); // Background area + Textbox + gfx_filter_rect(dpi, _chatLeft, _chatTop - 5, _chatRight, _chatBottom + 5, PALETTE_51); // Opaque gray background + gfx_fill_rect_inset(dpi, _chatLeft, _chatTop - 5, _chatRight, _chatBottom + 5, chatBackgroundColor, INSET_RECT_FLAG_FILL_NONE); + gfx_fill_rect_inset(dpi, _chatLeft + 1, _chatTop - 4, _chatRight - 1, _chatBottom - inputLineHeight - 6, chatBackgroundColor, INSET_RECT_FLAG_BORDER_INSET); + gfx_fill_rect_inset(dpi, _chatLeft + 1, _chatBottom - inputLineHeight - 5, _chatRight - 1, _chatBottom + 4, chatBackgroundColor, INSET_RECT_FLAG_BORDER_INSET); // Textbox + } - sint32 x = _chatLeft + 5; - sint32 y = _chatBottom - inputLineHeight - 20; - sint32 stringHeight = 0; + sint32 x = _chatLeft + 5; + sint32 y = _chatBottom - inputLineHeight - 20; + sint32 stringHeight = 0; - // Draw chat history - for (sint32 i = 0; i < CHAT_HISTORY_SIZE; i++, y -= stringHeight) { - uint32 expireTime = chat_history_get_time(i) + 10000; - if (!gChatOpen && platform_get_ticks() > expireTime) { - break; - } + // Draw chat history + for (sint32 i = 0; i < CHAT_HISTORY_SIZE; i++, y -= stringHeight) { + uint32 expireTime = chat_history_get_time(i) + 10000; + if (!gChatOpen && platform_get_ticks() > expireTime) { + break; + } - safe_strcpy(lineBuffer, chat_history_get(i), sizeof(lineBuffer)); + safe_strcpy(lineBuffer, chat_history_get(i), sizeof(lineBuffer)); - stringHeight = chat_history_draw_string(dpi, (void*) &lineCh, x, y, _chatWidth - 10) + 5; - gfx_set_dirty_blocks(x, y - stringHeight, x + _chatWidth, y + 20); + stringHeight = chat_history_draw_string(dpi, (void*) &lineCh, x, y, _chatWidth - 10) + 5; + gfx_set_dirty_blocks(x, y - stringHeight, x + _chatWidth, y + 20); - if ((y - stringHeight) < 50) { - break; - } - } + if ((y - stringHeight) < 50) { + break; + } + } - // Draw current chat input - if (gChatOpen) { - lineCh = utf8_write_codepoint(lineCh, FORMAT_OUTLINE); - lineCh = utf8_write_codepoint(lineCh, FORMAT_CELADON); + // Draw current chat input + if (gChatOpen) { + lineCh = utf8_write_codepoint(lineCh, FORMAT_OUTLINE); + lineCh = utf8_write_codepoint(lineCh, FORMAT_CELADON); - safe_strcpy(lineCh, _chatCurrentLine, sizeof(_chatCurrentLine)); - y = _chatBottom - inputLineHeight - 5; + safe_strcpy(lineCh, _chatCurrentLine, sizeof(_chatCurrentLine)); + y = _chatBottom - inputLineHeight - 5; - lineCh = lineBuffer; - inputLineHeight = gfx_draw_string_left_wrapped(dpi, (void*)&lineCh, x, y + 3, _chatWidth - 10, STR_STRING, TEXT_COLOUR_255); - gfx_set_dirty_blocks(x, y, x + _chatWidth, y + inputLineHeight + 15); + lineCh = lineBuffer; + inputLineHeight = gfx_draw_string_left_wrapped(dpi, (void*)&lineCh, x, y + 3, _chatWidth - 10, STR_STRING, TEXT_COLOUR_255); + gfx_set_dirty_blocks(x, y, x + _chatWidth, y + inputLineHeight + 15); - // TODO: Show caret if the input text has multiple lines - if (_chatCaretTicks < 15 && gfx_get_string_width(lineBuffer) < (_chatWidth - 10)) { - memcpy(lineBuffer, _chatCurrentLine, _chatTextInputSession->SelectionStart); - lineBuffer[_chatTextInputSession->SelectionStart] = 0; - sint32 caretX = x + gfx_get_string_width(lineBuffer); - sint32 caretY = y + 14; + // TODO: Show caret if the input text has multiple lines + if (_chatCaretTicks < 15 && gfx_get_string_width(lineBuffer) < (_chatWidth - 10)) { + memcpy(lineBuffer, _chatCurrentLine, _chatTextInputSession->SelectionStart); + lineBuffer[_chatTextInputSession->SelectionStart] = 0; + sint32 caretX = x + gfx_get_string_width(lineBuffer); + sint32 caretY = y + 14; - gfx_fill_rect(dpi, caretX, caretY, caretX + 6, caretY + 1, PALETTE_INDEX_56); - } - } + gfx_fill_rect(dpi, caretX, caretY, caretX + 6, caretY + 1, PALETTE_INDEX_56); + } + } } void chat_history_add(const char *src) { - sint32 index = _chatHistoryIndex % CHAT_HISTORY_SIZE; - memset(_chatHistory[index], 0, CHAT_INPUT_SIZE); - memcpy(_chatHistory[index], src, min(strlen(src), CHAT_INPUT_SIZE - 1)); - _chatHistoryTime[index] = platform_get_ticks(); - _chatHistoryIndex++; - Mixer_Play_Effect(SOUND_NEWS_ITEM, 0, SDL_MIX_MAXVOLUME, 0, 1.5f, true); - network_append_chat_log(src); + sint32 index = _chatHistoryIndex % CHAT_HISTORY_SIZE; + memset(_chatHistory[index], 0, CHAT_INPUT_SIZE); + memcpy(_chatHistory[index], src, min(strlen(src), CHAT_INPUT_SIZE - 1)); + _chatHistoryTime[index] = platform_get_ticks(); + _chatHistoryIndex++; + Mixer_Play_Effect(SOUND_NEWS_ITEM, 0, SDL_MIX_MAXVOLUME, 0, 1.5f, true); + network_append_chat_log(src); } void chat_input(sint32 c) { - switch (c) { - case SDL_SCANCODE_RETURN: - if (strlen(_chatCurrentLine) > 0) { - network_send_chat(_chatCurrentLine); - } - chat_clear_input(); - chat_close(); - return; - case SDL_SCANCODE_ESCAPE: - chat_close(); - return; - } + switch (c) { + case SDL_SCANCODE_RETURN: + if (strlen(_chatCurrentLine) > 0) { + network_send_chat(_chatCurrentLine); + } + chat_clear_input(); + chat_close(); + return; + case SDL_SCANCODE_ESCAPE: + chat_close(); + return; + } } static const char* chat_history_get(uint32 index) { - return _chatHistory[(_chatHistoryIndex + CHAT_HISTORY_SIZE - index - 1) % CHAT_HISTORY_SIZE]; + return _chatHistory[(_chatHistoryIndex + CHAT_HISTORY_SIZE - index - 1) % CHAT_HISTORY_SIZE]; } static uint32 chat_history_get_time(uint32 index) { - return _chatHistoryTime[(_chatHistoryIndex + CHAT_HISTORY_SIZE - index - 1) % CHAT_HISTORY_SIZE]; + return _chatHistoryTime[(_chatHistoryIndex + CHAT_HISTORY_SIZE - index - 1) % CHAT_HISTORY_SIZE]; } static void chat_clear_input() { - _chatCurrentLine[0] = 0; + _chatCurrentLine[0] = 0; } // This method is the same as gfx_draw_string_left_wrapped. // But this adjusts the initial Y coordinate depending of the number of lines. sint32 chat_history_draw_string(rct_drawpixelinfo *dpi, void *args, sint32 x, sint32 y, sint32 width) { - sint32 fontSpriteBase, lineHeight, lineY, numLines; + sint32 fontSpriteBase, lineHeight, lineY, numLines; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_draw_string(dpi, "", TEXT_COLOUR_255, dpi->x, dpi->y); - char *buffer = gCommonStringFormatBuffer; - format_string(buffer, 256, STR_STRING, args); + gfx_draw_string(dpi, "", TEXT_COLOUR_255, dpi->x, dpi->y); + char *buffer = gCommonStringFormatBuffer; + format_string(buffer, 256, STR_STRING, args); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_wrap_string(buffer, width, &numLines, &fontSpriteBase); - lineHeight = font_get_line_height(fontSpriteBase); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gfx_wrap_string(buffer, width, &numLines, &fontSpriteBase); + lineHeight = font_get_line_height(fontSpriteBase); - gCurrentFontFlags = 0; + gCurrentFontFlags = 0; - sint32 expectedY = y - (numLines * lineHeight); - if (expectedY < 50) { - return (numLines * lineHeight); // Skip drawing, return total height. - } + sint32 expectedY = y - (numLines * lineHeight); + if (expectedY < 50) { + return (numLines * lineHeight); // Skip drawing, return total height. + } - lineY = y; - for (sint32 line = 0; line <= numLines; ++line) { - gfx_draw_string(dpi, buffer, TEXT_COLOUR_254, x, lineY - (numLines * lineHeight)); - buffer = get_string_end(buffer) + 1; - lineY += lineHeight; - } - return lineY - y; + lineY = y; + for (sint32 line = 0; line <= numLines; ++line) { + gfx_draw_string(dpi, buffer, TEXT_COLOUR_254, x, lineY - (numLines * lineHeight)); + buffer = get_string_end(buffer) + 1; + lineY += lineHeight; + } + return lineY - y; } // Wrap string without drawing, useful to get the height of a wrapped string. // Almost the same as gfx_draw_string_left_wrapped sint32 chat_string_wrapped_get_height(void *args, sint32 width) { - sint32 fontSpriteBase, lineHeight, lineY, numLines; + sint32 fontSpriteBase, lineHeight, lineY, numLines; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - char *buffer = gCommonStringFormatBuffer; - format_string(buffer, 256, STR_STRING, args); + char *buffer = gCommonStringFormatBuffer; + format_string(buffer, 256, STR_STRING, args); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_wrap_string(buffer, width, &numLines, &fontSpriteBase); - lineHeight = font_get_line_height(fontSpriteBase); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gfx_wrap_string(buffer, width, &numLines, &fontSpriteBase); + lineHeight = font_get_line_height(fontSpriteBase); - gCurrentFontFlags = 0; + gCurrentFontFlags = 0; - lineY = 0; - for (sint32 line = 0; line <= numLines; ++line) { - buffer = get_string_end(buffer) + 1; - lineY += lineHeight; - } + lineY = 0; + for (sint32 line = 0; line <= numLines; ++line) { + buffer = get_string_end(buffer) + 1; + lineY += lineHeight; + } - return lineY; + return lineY; } diff --git a/src/openrct2/interface/colour.c b/src/openrct2/interface/colour.c index 1d679141d8..7ddd52fd62 100644 --- a/src/openrct2/interface/colour.c +++ b/src/openrct2/interface/colour.c @@ -22,37 +22,37 @@ rct_colour_map ColourMapA[32] = { 0 }; enum { - INDEX_COLOUR_0 = 243, - INDEX_COLOUR_1 = 245, - INDEX_DARKEST = 245, - INDEX_DARKER = 246, - INDEX_DARK = 247, - INDEX_MID_DARK = 248, - INDEX_MID_LIGHT = 249, - INDEX_LIGHT = 250, - INDEX_LIGHTER = 251, - INDEX_LIGHTEST = 252, - INDEX_COLOUR_10 = 253, - INDEX_COLOUR_11 = 254, + INDEX_COLOUR_0 = 243, + INDEX_COLOUR_1 = 245, + INDEX_DARKEST = 245, + INDEX_DARKER = 246, + INDEX_DARK = 247, + INDEX_MID_DARK = 248, + INDEX_MID_LIGHT = 249, + INDEX_LIGHT = 250, + INDEX_LIGHTER = 251, + INDEX_LIGHTEST = 252, + INDEX_COLOUR_10 = 253, + INDEX_COLOUR_11 = 254, }; void colours_init_maps() { - // Get colour maps from g1 - for (sint32 i = 0; i < 32; i++) { - rct_g1_element *g1Element = &g1Elements[SPR_PALETTE_2_START + i]; + // Get colour maps from g1 + for (sint32 i = 0; i < 32; i++) { + rct_g1_element *g1Element = &g1Elements[SPR_PALETTE_2_START + i]; - ColourMapA[i].colour_0 = g1Element->offset[INDEX_COLOUR_0]; - ColourMapA[i].colour_1 = g1Element->offset[INDEX_COLOUR_1]; - ColourMapA[i].darkest = g1Element->offset[INDEX_DARKEST]; - ColourMapA[i].darker = g1Element->offset[INDEX_DARKER]; - ColourMapA[i].dark = g1Element->offset[INDEX_DARK]; - ColourMapA[i].mid_dark = g1Element->offset[INDEX_MID_DARK]; - ColourMapA[i].mid_light = g1Element->offset[INDEX_MID_LIGHT]; - ColourMapA[i].light = g1Element->offset[INDEX_LIGHT]; - ColourMapA[i].lighter = g1Element->offset[INDEX_LIGHTER]; - ColourMapA[i].lightest = g1Element->offset[INDEX_LIGHTEST]; - ColourMapA[i].colour_10 = g1Element->offset[INDEX_COLOUR_10]; - ColourMapA[i].colour_11 = g1Element->offset[INDEX_COLOUR_11]; - } + ColourMapA[i].colour_0 = g1Element->offset[INDEX_COLOUR_0]; + ColourMapA[i].colour_1 = g1Element->offset[INDEX_COLOUR_1]; + ColourMapA[i].darkest = g1Element->offset[INDEX_DARKEST]; + ColourMapA[i].darker = g1Element->offset[INDEX_DARKER]; + ColourMapA[i].dark = g1Element->offset[INDEX_DARK]; + ColourMapA[i].mid_dark = g1Element->offset[INDEX_MID_DARK]; + ColourMapA[i].mid_light = g1Element->offset[INDEX_MID_LIGHT]; + ColourMapA[i].light = g1Element->offset[INDEX_LIGHT]; + ColourMapA[i].lighter = g1Element->offset[INDEX_LIGHTER]; + ColourMapA[i].lightest = g1Element->offset[INDEX_LIGHTEST]; + ColourMapA[i].colour_10 = g1Element->offset[INDEX_COLOUR_10]; + ColourMapA[i].colour_11 = g1Element->offset[INDEX_COLOUR_11]; + } } diff --git a/src/openrct2/interface/colour.h b/src/openrct2/interface/colour.h index 55df7dfd2c..36854e44a4 100644 --- a/src/openrct2/interface/colour.h +++ b/src/openrct2/interface/colour.h @@ -23,118 +23,118 @@ * Colour IDs as used by the colour dropdown, NOT palette indices. */ enum { - COLOUR_BLACK, - COLOUR_GREY, - COLOUR_WHITE, - COLOUR_DARK_PURPLE, - COLOUR_LIGHT_PURPLE, - COLOUR_BRIGHT_PURPLE, - COLOUR_DARK_BLUE, - COLOUR_LIGHT_BLUE, - COLOUR_ICY_BLUE, - COLOUR_TEAL, - COLOUR_AQUAMARINE, - COLOUR_SATURATED_GREEN, - COLOUR_DARK_GREEN, - COLOUR_MOSS_GREEN, - COLOUR_BRIGHT_GREEN, - COLOUR_OLIVE_GREEN, - COLOUR_DARK_OLIVE_GREEN, - COLOUR_BRIGHT_YELLOW, - COLOUR_YELLOW, - COLOUR_DARK_YELLOW, - COLOUR_LIGHT_ORANGE, - COLOUR_DARK_ORANGE, - COLOUR_LIGHT_BROWN, - COLOUR_SATURATED_BROWN, - COLOUR_DARK_BROWN, - COLOUR_SALMON_PINK, - COLOUR_BORDEAUX_RED, - COLOUR_SATURATED_RED, - COLOUR_BRIGHT_RED, - COLOUR_DARK_PINK, - COLOUR_BRIGHT_PINK, - COLOUR_LIGHT_PINK, + COLOUR_BLACK, + COLOUR_GREY, + COLOUR_WHITE, + COLOUR_DARK_PURPLE, + COLOUR_LIGHT_PURPLE, + COLOUR_BRIGHT_PURPLE, + COLOUR_DARK_BLUE, + COLOUR_LIGHT_BLUE, + COLOUR_ICY_BLUE, + COLOUR_TEAL, + COLOUR_AQUAMARINE, + COLOUR_SATURATED_GREEN, + COLOUR_DARK_GREEN, + COLOUR_MOSS_GREEN, + COLOUR_BRIGHT_GREEN, + COLOUR_OLIVE_GREEN, + COLOUR_DARK_OLIVE_GREEN, + COLOUR_BRIGHT_YELLOW, + COLOUR_YELLOW, + COLOUR_DARK_YELLOW, + COLOUR_LIGHT_ORANGE, + COLOUR_DARK_ORANGE, + COLOUR_LIGHT_BROWN, + COLOUR_SATURATED_BROWN, + COLOUR_DARK_BROWN, + COLOUR_SALMON_PINK, + COLOUR_BORDEAUX_RED, + COLOUR_SATURATED_RED, + COLOUR_BRIGHT_RED, + COLOUR_DARK_PINK, + COLOUR_BRIGHT_PINK, + COLOUR_LIGHT_PINK, - COLOUR_COUNT + COLOUR_COUNT }; /** * These colours change depending on the current water colours. */ enum { - COLOUR_DARK_WATER = 9, - COLOUR_LIGHT_WATER = 10 + COLOUR_DARK_WATER = 9, + COLOUR_LIGHT_WATER = 10 }; enum { - PALETTE_INDEX_0 = 0, // - PALETTE_INDEX_10 = 10, // Black (0-dark), Dark gray (0) - PALETTE_INDEX_11 = 11, // Black (middark) - PALETTE_INDEX_12 = 12, // Black (midlight), Dark gray (1-darkest) - PALETTE_INDEX_14 = 14, // Black (lighter), Dark gray (dark) - PALETTE_INDEX_13 = 13, // - PALETTE_INDEX_16 = 16, // - PALETTE_INDEX_17 = 17, // Black (11), Dark gray (light), White (dark) - PALETTE_INDEX_20 = 20, // Dark gray (10), White (light) - PALETTE_INDEX_21 = 21, // Dark gray (11), White (lighter-11) - PALETTE_INDEX_40 = 40, // - PALETTE_INDEX_42 = 42, // Light Brown (lighter), Saturated brown (11) - PALETTE_INDEX_54 = 54, // - PALETTE_INDEX_55 = 55, // Bright Yellow (light), Yellow (lightest) - PALETTE_INDEX_56 = 56, // Bright Yellow (lighter, lightest), Yellow (10) - PALETTE_INDEX_61 = 61, // Bordeaux Red (darker) - PALETTE_INDEX_62 = 62, // - PALETTE_INDEX_68 = 68, // - PALETTE_INDEX_73 = 73, // - PALETTE_INDEX_99 = 99, // - PALETTE_INDEX_102 = 102, // Bright green (lighter) - PALETTE_INDEX_108 = 108, // - PALETTE_INDEX_111 = 111, // - PALETTE_INDEX_129 = 129, // Light Purple (11) - PALETTE_INDEX_135 = 135, // - PALETTE_INDEX_136 = 136, // Dark Blue (10-11), Light Blue (midlight), Icy Blue (darker) - PALETTE_INDEX_138 = 138, // Light Blue (lighter), Icy Blue (middark) - PALETTE_INDEX_141 = 141, // - PALETTE_INDEX_144 = 144, // Dark Green (1-darkest, - PALETTE_INDEX_161 = 161, // Bright Purple (light) - PALETTE_INDEX_162 = 162, // - PALETTE_INDEX_171 = 171, // Saturated Red (lightest) Bright Red (middark) - PALETTE_INDEX_172 = 172, // Saturated Red (10-11), Bright Red (midlight) - PALETTE_INDEX_186 = 186, // - PALETTE_INDEX_194 = 194, // - PALETTE_INDEX_195 = 195, // - PALETTE_INDEX_209 = 209, // Bright Pink (light) - PALETTE_INDEX_222 = 222, // - PALETTE_INDEX_245 = 245, // + PALETTE_INDEX_0 = 0, // + PALETTE_INDEX_10 = 10, // Black (0-dark), Dark gray (0) + PALETTE_INDEX_11 = 11, // Black (middark) + PALETTE_INDEX_12 = 12, // Black (midlight), Dark gray (1-darkest) + PALETTE_INDEX_14 = 14, // Black (lighter), Dark gray (dark) + PALETTE_INDEX_13 = 13, // + PALETTE_INDEX_16 = 16, // + PALETTE_INDEX_17 = 17, // Black (11), Dark gray (light), White (dark) + PALETTE_INDEX_20 = 20, // Dark gray (10), White (light) + PALETTE_INDEX_21 = 21, // Dark gray (11), White (lighter-11) + PALETTE_INDEX_40 = 40, // + PALETTE_INDEX_42 = 42, // Light Brown (lighter), Saturated brown (11) + PALETTE_INDEX_54 = 54, // + PALETTE_INDEX_55 = 55, // Bright Yellow (light), Yellow (lightest) + PALETTE_INDEX_56 = 56, // Bright Yellow (lighter, lightest), Yellow (10) + PALETTE_INDEX_61 = 61, // Bordeaux Red (darker) + PALETTE_INDEX_62 = 62, // + PALETTE_INDEX_68 = 68, // + PALETTE_INDEX_73 = 73, // + PALETTE_INDEX_99 = 99, // + PALETTE_INDEX_102 = 102, // Bright green (lighter) + PALETTE_INDEX_108 = 108, // + PALETTE_INDEX_111 = 111, // + PALETTE_INDEX_129 = 129, // Light Purple (11) + PALETTE_INDEX_135 = 135, // + PALETTE_INDEX_136 = 136, // Dark Blue (10-11), Light Blue (midlight), Icy Blue (darker) + PALETTE_INDEX_138 = 138, // Light Blue (lighter), Icy Blue (middark) + PALETTE_INDEX_141 = 141, // + PALETTE_INDEX_144 = 144, // Dark Green (1-darkest, + PALETTE_INDEX_161 = 161, // Bright Purple (light) + PALETTE_INDEX_162 = 162, // + PALETTE_INDEX_171 = 171, // Saturated Red (lightest) Bright Red (middark) + PALETTE_INDEX_172 = 172, // Saturated Red (10-11), Bright Red (midlight) + PALETTE_INDEX_186 = 186, // + PALETTE_INDEX_194 = 194, // + PALETTE_INDEX_195 = 195, // + PALETTE_INDEX_209 = 209, // Bright Pink (light) + PALETTE_INDEX_222 = 222, // + PALETTE_INDEX_245 = 245, // }; -#define TEXT_COLOUR_254 (254) -#define TEXT_COLOUR_255 (255) +#define TEXT_COLOUR_254 (254) +#define TEXT_COLOUR_255 (255) -#define COLOUR_FLAG_OUTLINE (1 << 5) -#define COLOUR_FLAG_INSET (1 << 6) // 64, 0x40 +#define COLOUR_FLAG_OUTLINE (1 << 5) +#define COLOUR_FLAG_INSET (1 << 6) // 64, 0x40 #define COLOUR_FLAG_TRANSLUCENT (1 << 7) -#define COLOUR_FLAG_8 (1 << 8) +#define COLOUR_FLAG_8 (1 << 8) #define TRANSLUCENT(x) ((x) | COLOUR_FLAG_TRANSLUCENT) #define NOT_TRANSLUCENT(x) ((x) & ~COLOUR_FLAG_TRANSLUCENT) -#define BASE_COLOUR(x) ((x) & 0x1F) +#define BASE_COLOUR(x) ((x) & 0x1F) #define NUM_COLOURS 32 typedef struct rct_colour_map { - uint8 colour_0; - uint8 colour_1; - uint8 darkest; - uint8 darker; - uint8 dark; - uint8 mid_dark; - uint8 mid_light; - uint8 light; - uint8 lighter; - uint8 lightest; - uint8 colour_10; - uint8 colour_11; + uint8 colour_0; + uint8 colour_1; + uint8 darkest; + uint8 darker; + uint8 dark; + uint8 mid_dark; + uint8 mid_light; + uint8 light; + uint8 lighter; + uint8 lightest; + uint8 colour_10; + uint8 colour_11; } rct_colour_map; extern rct_colour_map ColourMapA[COLOUR_COUNT]; diff --git a/src/openrct2/interface/console.c b/src/openrct2/interface/console.c index 40d44929df..a96fc65c0e 100644 --- a/src/openrct2/interface/console.c +++ b/src/openrct2/interface/console.c @@ -89,1326 +89,1326 @@ static bool invalidArguments(bool *invalid, bool arguments); void console_open() { - gConsoleOpen = true; - _consoleScrollPos = 0; - console_refresh_caret(); - console_update_scroll(); - _consoleTextInputSession = context_start_text_input(_consoleCurrentLine, sizeof(_consoleCurrentLine)); + gConsoleOpen = true; + _consoleScrollPos = 0; + console_refresh_caret(); + console_update_scroll(); + _consoleTextInputSession = context_start_text_input(_consoleCurrentLine, sizeof(_consoleCurrentLine)); } void console_close() { - gConsoleOpen = false; - console_invalidate(); - context_stop_text_input(); + gConsoleOpen = false; + console_invalidate(); + context_stop_text_input(); } void console_toggle() { - if (gConsoleOpen) - console_close(); - else - console_open(); + if (gConsoleOpen) + console_close(); + else + console_open(); } static void console_init() { - _consoleInitialised = true; - console_writeline(OPENRCT2_NAME " " OPENRCT2_VERSION); - console_writeline("Type 'help' for a list of available commands. Type 'hide' to hide the console."); - console_writeline(""); - console_write_prompt(); + _consoleInitialised = true; + console_writeline(OPENRCT2_NAME " " OPENRCT2_VERSION); + console_writeline("Type 'help' for a list of available commands. Type 'hide' to hide the console."); + console_writeline(""); + console_write_prompt(); } void console_update() { - if (!_consoleInitialised) - console_init(); + if (!_consoleInitialised) + console_init(); - _consoleLeft = 0; - _consoleTop = 0; - _consoleRight = context_get_width(); - _consoleBottom = 322; + _consoleLeft = 0; + _consoleTop = 0; + _consoleRight = context_get_width(); + _consoleBottom = 322; - if (gConsoleOpen) { - // When scrolling the map, the console pixels get copied... therefore invalidate the screen - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) { - rct_viewport *mainViewport = mainWindow->viewport; - if (mainViewport != NULL) { - if (_lastMainViewportX != mainViewport->view_x || _lastMainViewportY != mainViewport->view_y) { - _lastMainViewportX = mainViewport->view_x; - _lastMainViewportY = mainViewport->view_y; + if (gConsoleOpen) { + // When scrolling the map, the console pixels get copied... therefore invalidate the screen + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) { + rct_viewport *mainViewport = mainWindow->viewport; + if (mainViewport != NULL) { + if (_lastMainViewportX != mainViewport->view_x || _lastMainViewportY != mainViewport->view_y) { + _lastMainViewportX = mainViewport->view_x; + _lastMainViewportY = mainViewport->view_y; - gfx_invalidate_screen(); - } - } - } + gfx_invalidate_screen(); + } + } + } - // Remove unwanted characters in console input - utf8_remove_format_codes(_consoleCurrentLine, false); - } + // Remove unwanted characters in console input + utf8_remove_format_codes(_consoleCurrentLine, false); + } - // Flash the caret - _consoleCaretTicks = (_consoleCaretTicks + 1) % 30; + // Flash the caret + _consoleCaretTicks = (_consoleCaretTicks + 1) % 30; } void console_draw(rct_drawpixelinfo *dpi) { - if (!gConsoleOpen) - return; + if (!gConsoleOpen) + return; - // Set font - gCurrentFontSpriteBase = (gConfigInterface.console_small_font ? FONT_SPRITE_BASE_SMALL : FONT_SPRITE_BASE_MEDIUM); - gCurrentFontFlags = 0; - sint32 lineHeight = font_get_line_height(gCurrentFontSpriteBase); + // Set font + gCurrentFontSpriteBase = (gConfigInterface.console_small_font ? FONT_SPRITE_BASE_SMALL : FONT_SPRITE_BASE_MEDIUM); + gCurrentFontFlags = 0; + sint32 lineHeight = font_get_line_height(gCurrentFontSpriteBase); - sint32 lines = 0; - sint32 maxLines = ((_consoleBottom - 22 - _consoleTop) / lineHeight) - 1; - utf8 *ch = strchr(_consoleBuffer, 0); - while (ch > _consoleBuffer) { - ch--; - if (*ch == '\n') - lines++; - } + sint32 lines = 0; + sint32 maxLines = ((_consoleBottom - 22 - _consoleTop) / lineHeight) - 1; + utf8 *ch = strchr(_consoleBuffer, 0); + while (ch > _consoleBuffer) { + ch--; + if (*ch == '\n') + lines++; + } - // Background - console_invalidate(); - gfx_filter_rect(dpi, _consoleLeft, _consoleTop, _consoleRight, _consoleBottom, PALETTE_TRANSLUCENT_LIGHT_BLUE_HIGHLIGHT); + // Background + console_invalidate(); + gfx_filter_rect(dpi, _consoleLeft, _consoleTop, _consoleRight, _consoleBottom, PALETTE_TRANSLUCENT_LIGHT_BLUE_HIGHLIGHT); - sint32 x = _consoleLeft + 4; - sint32 y = _consoleTop + 4; + sint32 x = _consoleLeft + 4; + sint32 y = _consoleTop + 4; - // Draw previous lines - utf8 lineBuffer[2 + 256], *lineCh; - ch = _consoleViewBufferStart; - sint32 currentLine = 0; - sint32 drawLines = 0; - while (*ch != 0) { - // Find line break or null terminator - utf8 *nextLine = ch; - while (*nextLine != 0 && *nextLine != '\n') { - nextLine++; - } + // Draw previous lines + utf8 lineBuffer[2 + 256], *lineCh; + ch = _consoleViewBufferStart; + sint32 currentLine = 0; + sint32 drawLines = 0; + while (*ch != 0) { + // Find line break or null terminator + utf8 *nextLine = ch; + while (*nextLine != 0 && *nextLine != '\n') { + nextLine++; + } - currentLine++; - if (currentLine < (lines - maxLines + 4) - _consoleScrollPos) { - if (*nextLine == '\n') { - ch = nextLine + 1; - x = _consoleLeft + 4; - // y += lineHeight; - } - else { - break; - } - continue; - } + currentLine++; + if (currentLine < (lines - maxLines + 4) - _consoleScrollPos) { + if (*nextLine == '\n') { + ch = nextLine + 1; + x = _consoleLeft + 4; + // y += lineHeight; + } + else { + break; + } + continue; + } - if (drawLines >= maxLines) - break; - drawLines++; + if (drawLines >= maxLines) + break; + drawLines++; - size_t lineLength = min(sizeof(lineBuffer) - (size_t)utf8_get_codepoint_length(FORMAT_WHITE), (size_t)(nextLine - ch)); - lineCh = lineBuffer; - lineCh = utf8_write_codepoint(lineCh, FORMAT_WHITE); - memcpy(lineCh, ch, lineLength); - lineCh[lineLength] = 0; + size_t lineLength = min(sizeof(lineBuffer) - (size_t)utf8_get_codepoint_length(FORMAT_WHITE), (size_t)(nextLine - ch)); + lineCh = lineBuffer; + lineCh = utf8_write_codepoint(lineCh, FORMAT_WHITE); + memcpy(lineCh, ch, lineLength); + lineCh[lineLength] = 0; - gfx_draw_string(dpi, lineBuffer, COLOUR_LIGHT_PURPLE | COLOUR_FLAG_OUTLINE | COLOUR_FLAG_INSET, x, y); + gfx_draw_string(dpi, lineBuffer, COLOUR_LIGHT_PURPLE | COLOUR_FLAG_OUTLINE | COLOUR_FLAG_INSET, x, y); - x = gLastDrawStringX; + x = gLastDrawStringX; - if (*nextLine == '\n') { - ch = nextLine + 1; - x = _consoleLeft + 4; - y += lineHeight; - } else { - break; - } - } - x = _consoleLeft + 4; - y = _consoleBottom - 15; + if (*nextLine == '\n') { + ch = nextLine + 1; + x = _consoleLeft + 4; + y += lineHeight; + } else { + break; + } + } + x = _consoleLeft + 4; + y = _consoleBottom - 15; - // Draw current line - lineCh = lineBuffer; - lineCh = utf8_write_codepoint(lineCh, FORMAT_WHITE); - safe_strcpy(lineCh, _consoleCurrentLine, sizeof(lineBuffer) - (lineCh - lineBuffer)); - gfx_draw_string(dpi, lineBuffer, TEXT_COLOUR_255, x, y); + // Draw current line + lineCh = lineBuffer; + lineCh = utf8_write_codepoint(lineCh, FORMAT_WHITE); + safe_strcpy(lineCh, _consoleCurrentLine, sizeof(lineBuffer) - (lineCh - lineBuffer)); + gfx_draw_string(dpi, lineBuffer, TEXT_COLOUR_255, x, y); - // Draw caret - if (_consoleCaretTicks < 15) { - memcpy(lineBuffer, _consoleCurrentLine, _consoleTextInputSession->SelectionStart); - lineBuffer[_consoleTextInputSession->SelectionStart] = 0; - sint32 caretX = x + gfx_get_string_width(lineBuffer); - sint32 caretY = y + lineHeight; + // Draw caret + if (_consoleCaretTicks < 15) { + memcpy(lineBuffer, _consoleCurrentLine, _consoleTextInputSession->SelectionStart); + lineBuffer[_consoleTextInputSession->SelectionStart] = 0; + sint32 caretX = x + gfx_get_string_width(lineBuffer); + sint32 caretY = y + lineHeight; - gfx_fill_rect(dpi, caretX, caretY, caretX + 6, caretY + 1, PALETTE_INDEX_144); - } - gfx_fill_rect(dpi, _consoleLeft, _consoleBottom - 21, _consoleRight, _consoleBottom - 21, PALETTE_INDEX_14); - gfx_fill_rect(dpi, _consoleLeft, _consoleBottom - 20, _consoleRight, _consoleBottom - 20, PALETTE_INDEX_11); + gfx_fill_rect(dpi, caretX, caretY, caretX + 6, caretY + 1, PALETTE_INDEX_144); + } + gfx_fill_rect(dpi, _consoleLeft, _consoleBottom - 21, _consoleRight, _consoleBottom - 21, PALETTE_INDEX_14); + gfx_fill_rect(dpi, _consoleLeft, _consoleBottom - 20, _consoleRight, _consoleBottom - 20, PALETTE_INDEX_11); - gfx_fill_rect(dpi, _consoleLeft, _consoleBottom - 1, _consoleRight, _consoleBottom - 1, PALETTE_INDEX_14); - gfx_fill_rect(dpi, _consoleLeft, _consoleBottom - 0, _consoleRight, _consoleBottom - 0, PALETTE_INDEX_12); + gfx_fill_rect(dpi, _consoleLeft, _consoleBottom - 1, _consoleRight, _consoleBottom - 1, PALETTE_INDEX_14); + gfx_fill_rect(dpi, _consoleLeft, _consoleBottom - 0, _consoleRight, _consoleBottom - 0, PALETTE_INDEX_12); } void console_input(sint32 c) { - switch (c) { - case SDL_SCANCODE_ESCAPE: - console_clear_input(); - console_refresh_caret(); - break; - case SDL_SCANCODE_RETURN: - if (_consoleCurrentLine[0] != 0) { - console_history_add(_consoleCurrentLine); - console_execute(_consoleCurrentLine); - console_write_prompt(); - console_clear_input(); - console_refresh_caret(); - } - break; - case SDL_SCANCODE_UP: - if (_consoleHistoryIndex > 0) { - _consoleHistoryIndex--; - memcpy(_consoleCurrentLine, _consoleHistory[_consoleHistoryIndex], 256); - } - _consoleTextInputSession->Size = strlen(_consoleTextInputSession->Buffer); - _consoleTextInputSession->Length = utf8_length(_consoleTextInputSession->Buffer); - _consoleTextInputSession->SelectionStart = strlen(_consoleCurrentLine); - break; - case SDL_SCANCODE_DOWN: - if (_consoleHistoryIndex < _consoleHistoryCount - 1) { - _consoleHistoryIndex++; - memcpy(_consoleCurrentLine, _consoleHistory[_consoleHistoryIndex], 256); - _consoleTextInputSession->Size = strlen(_consoleTextInputSession->Buffer); - _consoleTextInputSession->Length = utf8_length(_consoleTextInputSession->Buffer); - _consoleTextInputSession->SelectionStart = strlen(_consoleCurrentLine); - } else { - _consoleHistoryIndex = _consoleHistoryCount; - console_clear_input(); - } - break; - } + switch (c) { + case SDL_SCANCODE_ESCAPE: + console_clear_input(); + console_refresh_caret(); + break; + case SDL_SCANCODE_RETURN: + if (_consoleCurrentLine[0] != 0) { + console_history_add(_consoleCurrentLine); + console_execute(_consoleCurrentLine); + console_write_prompt(); + console_clear_input(); + console_refresh_caret(); + } + break; + case SDL_SCANCODE_UP: + if (_consoleHistoryIndex > 0) { + _consoleHistoryIndex--; + memcpy(_consoleCurrentLine, _consoleHistory[_consoleHistoryIndex], 256); + } + _consoleTextInputSession->Size = strlen(_consoleTextInputSession->Buffer); + _consoleTextInputSession->Length = utf8_length(_consoleTextInputSession->Buffer); + _consoleTextInputSession->SelectionStart = strlen(_consoleCurrentLine); + break; + case SDL_SCANCODE_DOWN: + if (_consoleHistoryIndex < _consoleHistoryCount - 1) { + _consoleHistoryIndex++; + memcpy(_consoleCurrentLine, _consoleHistory[_consoleHistoryIndex], 256); + _consoleTextInputSession->Size = strlen(_consoleTextInputSession->Buffer); + _consoleTextInputSession->Length = utf8_length(_consoleTextInputSession->Buffer); + _consoleTextInputSession->SelectionStart = strlen(_consoleCurrentLine); + } else { + _consoleHistoryIndex = _consoleHistoryCount; + console_clear_input(); + } + break; + } } static void console_invalidate() { - gfx_set_dirty_blocks(_consoleLeft, _consoleTop, _consoleRight, _consoleBottom); + gfx_set_dirty_blocks(_consoleLeft, _consoleTop, _consoleRight, _consoleBottom); } static void console_write_prompt() { - console_write("> "); + console_write("> "); } void console_write(const utf8 *src) { - size_t charactersRemainingInBuffer = CONSOLE_BUFFER_SIZE - (_consoleBufferPointer - _consoleBuffer) - 1; - size_t charactersToWrite = strlen(src); - size_t bufferShift = charactersToWrite - charactersRemainingInBuffer; - if (charactersToWrite > charactersRemainingInBuffer) { - memmove(_consoleBuffer, _consoleBuffer + bufferShift, CONSOLE_BUFFER_SIZE - bufferShift); - _consoleBufferPointer -= bufferShift; - charactersRemainingInBuffer = CONSOLE_BUFFER_SIZE - (_consoleBufferPointer - _consoleBuffer) - 1; - } - safe_strcpy(_consoleBufferPointer, src, charactersRemainingInBuffer); - _consoleBufferPointer += charactersToWrite; - console_update_scroll(); + size_t charactersRemainingInBuffer = CONSOLE_BUFFER_SIZE - (_consoleBufferPointer - _consoleBuffer) - 1; + size_t charactersToWrite = strlen(src); + size_t bufferShift = charactersToWrite - charactersRemainingInBuffer; + if (charactersToWrite > charactersRemainingInBuffer) { + memmove(_consoleBuffer, _consoleBuffer + bufferShift, CONSOLE_BUFFER_SIZE - bufferShift); + _consoleBufferPointer -= bufferShift; + charactersRemainingInBuffer = CONSOLE_BUFFER_SIZE - (_consoleBufferPointer - _consoleBuffer) - 1; + } + safe_strcpy(_consoleBufferPointer, src, charactersRemainingInBuffer); + _consoleBufferPointer += charactersToWrite; + console_update_scroll(); } void console_writeline(const utf8 *src) { - console_write(src); - console_write("\n"); + console_write(src); + console_write("\n"); } void console_writeline_error(const utf8 *src) { - safe_strcpy(_consoleErrorBuffer + 1, src, CONSOLE_BUFFER_2_SIZE - 1); - _consoleErrorBuffer[0] = (utf8)(uint8)FORMAT_RED; - console_writeline(_consoleErrorBuffer); + safe_strcpy(_consoleErrorBuffer + 1, src, CONSOLE_BUFFER_2_SIZE - 1); + _consoleErrorBuffer[0] = (utf8)(uint8)FORMAT_RED; + console_writeline(_consoleErrorBuffer); } void console_writeline_warning(const utf8 *src) { - safe_strcpy(_consoleErrorBuffer + 1, src, CONSOLE_BUFFER_2_SIZE - 1); - _consoleErrorBuffer[0] = (utf8)(uint8)FORMAT_YELLOW; - console_writeline(_consoleErrorBuffer); + safe_strcpy(_consoleErrorBuffer + 1, src, CONSOLE_BUFFER_2_SIZE - 1); + _consoleErrorBuffer[0] = (utf8)(uint8)FORMAT_YELLOW; + console_writeline(_consoleErrorBuffer); } void console_printf(const utf8 *format, ...) { - va_list list; - va_start(list, format); - vsnprintf(_consolePrintfBuffer, sizeof(_consolePrintfBuffer), format, list); - va_end(list); - console_writeline(_consolePrintfBuffer); + va_list list; + va_start(list, format); + vsnprintf(_consolePrintfBuffer, sizeof(_consolePrintfBuffer), format, list); + va_end(list); + console_writeline(_consolePrintfBuffer); } sint32 console_parse_int(const utf8 *src, bool *valid) { - utf8 *end; - sint32 value; - value = strtol(src, &end, 10); *valid = (*end == '\0'); - return value; + utf8 *end; + sint32 value; + value = strtol(src, &end, 10); *valid = (*end == '\0'); + return value; } double console_parse_double(const utf8 *src, bool *valid) { - utf8 *end; - double value; - value = strtod(src, &end); *valid = (*end == '\0'); - return value; + utf8 *end; + double value; + value = strtod(src, &end); *valid = (*end == '\0'); + return value; } static void console_update_scroll() { - /*sint32 lines = 0; - sint32 maxLines = ((_consoleBottom - 22 - _consoleTop) / 10) - 1; - char *ch = strchr(_consoleBuffer, 0); - while (ch > _consoleBuffer && lines < maxLines) { - ch--; - if (*ch == '\n') - lines++; - } + /*sint32 lines = 0; + sint32 maxLines = ((_consoleBottom - 22 - _consoleTop) / 10) - 1; + char *ch = strchr(_consoleBuffer, 0); + while (ch > _consoleBuffer && lines < maxLines) { + ch--; + if (*ch == '\n') + lines++; + } - if (*ch == '\n') - ch++; - _consoleViewBufferStart = ch;*/ + if (*ch == '\n') + ch++; + _consoleViewBufferStart = ch;*/ } void console_scroll(sint32 delta) { - sint32 speed = 3; - sint32 lines = 0; - sint32 maxLines = ((_consoleBottom - 22 - _consoleTop) / 10) - 1; - utf8 *ch = strchr(_consoleBuffer, 0); - while (ch > _consoleBuffer) { - ch--; - if (*ch == '\n') - lines++; - } - if (delta > 0 && _consoleScrollPos + 1 < (lines - maxLines + 4)) { - _consoleScrollPos = min(_consoleScrollPos + speed, (lines - maxLines + 4)); - } - else if (delta < 0 && _consoleScrollPos > 0) { - _consoleScrollPos = max(_consoleScrollPos - speed, 0); - } + sint32 speed = 3; + sint32 lines = 0; + sint32 maxLines = ((_consoleBottom - 22 - _consoleTop) / 10) - 1; + utf8 *ch = strchr(_consoleBuffer, 0); + while (ch > _consoleBuffer) { + ch--; + if (*ch == '\n') + lines++; + } + if (delta > 0 && _consoleScrollPos + 1 < (lines - maxLines + 4)) { + _consoleScrollPos = min(_consoleScrollPos + speed, (lines - maxLines + 4)); + } + else if (delta < 0 && _consoleScrollPos > 0) { + _consoleScrollPos = max(_consoleScrollPos - speed, 0); + } } void console_clear() { - _consoleScrollPos = 0; - _consoleBuffer[0] = 0; - _consoleBufferPointer = _consoleBuffer; + _consoleScrollPos = 0; + _consoleBuffer[0] = 0; + _consoleBufferPointer = _consoleBuffer; } void console_clear_line() { - _consoleCurrentLine[0] = 0; - console_refresh_caret(); + _consoleCurrentLine[0] = 0; + console_refresh_caret(); } void console_refresh_caret() { - _consoleCaretTicks = 0; + _consoleCaretTicks = 0; } static void console_clear_input() { - _consoleCurrentLine[0] = 0; - if (gConsoleOpen) { - context_start_text_input(_consoleCurrentLine, sizeof(_consoleCurrentLine)); - } + _consoleCurrentLine[0] = 0; + if (gConsoleOpen) { + context_start_text_input(_consoleCurrentLine, sizeof(_consoleCurrentLine)); + } } static void console_history_add(const utf8 *src) { - if (_consoleHistoryCount >= CONSOLE_HISTORY_SIZE) { - for (sint32 i = 0; i < _consoleHistoryCount - 1; i++) - memcpy(_consoleHistory[i], _consoleHistory[i + 1], CONSOLE_INPUT_SIZE); - _consoleHistoryCount--; - } - memcpy(_consoleHistory[_consoleHistoryCount++], src, CONSOLE_INPUT_SIZE); - _consoleHistoryIndex = _consoleHistoryCount; + if (_consoleHistoryCount >= CONSOLE_HISTORY_SIZE) { + for (sint32 i = 0; i < _consoleHistoryCount - 1; i++) + memcpy(_consoleHistory[i], _consoleHistory[i + 1], CONSOLE_INPUT_SIZE); + _consoleHistoryCount--; + } + memcpy(_consoleHistory[_consoleHistoryCount++], src, CONSOLE_INPUT_SIZE); + _consoleHistoryIndex = _consoleHistoryCount; } static sint32 cc_clear(const utf8 **argv, sint32 argc) { - console_clear(); - return 0; + console_clear(); + return 0; } static sint32 cc_hide(const utf8 **argv, sint32 argc) { - console_close(); - return 0; + console_close(); + return 0; } static sint32 cc_echo(const utf8 **argv, sint32 argc) { - if (argc > 0) - console_writeline(argv[0]); - return 0; + if (argc > 0) + console_writeline(argv[0]); + return 0; } static sint32 cc_rides(const utf8 **argv, sint32 argc) { - if (argc > 0) { - if (strcmp(argv[0], "list") == 0) { - rct_ride *ride; - sint32 i; - FOR_ALL_RIDES(i, ride) { - char name[128]; - format_string(name, 128, ride->name, &ride->name_arguments); - console_printf("ride: %03d type: %02u subtype %03u operating mode: %02u name: %s", i, ride->type, ride->subtype, ride->mode, name); - } - } else if (strcmp(argv[0], "set") == 0) { - if (argc < 4) { - if (argc > 1 && strcmp(argv[1], "mode") == 0){ - console_printf("Ride modes are specified using integer IDs as given below:"); - for (sint32 i = 0; i < RIDE_MODE_COUNT; i++) { - char mode_name[128] = { 0 }; - rct_string_id mode_string_id = RideModeNames[i]; - format_string(mode_name, 128, mode_string_id, 0); - console_printf("%02d - %s", i, mode_name); - } - - } else { - console_printf("rides set type "); - console_printf("rides set mode [ ]"); - console_printf("rides set friction "); - console_printf("rides set excitement "); - console_printf("rides set intensity "); - console_printf("rides set nausea "); - } - return 0; - } - if (strcmp(argv[1], "type") == 0) { - bool int_valid[2] = { 0 }; - sint32 ride_index = console_parse_int(argv[2], &int_valid[0]); - sint32 type = console_parse_int(argv[3], &int_valid[1]); - if (!int_valid[0] || !int_valid[1]) { - console_printf("This command expects integer arguments"); - } else if (ride_index < 0) { - console_printf("Ride index must not be negative"); - } else { - gGameCommandErrorTitle = STR_CANT_CHANGE_OPERATING_MODE; - sint32 res = game_do_command(0, (type << 8) | 1, 0, (RIDE_SETTING_RIDE_TYPE << 8) | ride_index, GAME_COMMAND_SET_RIDE_SETTING, 0, 0); - if (res == MONEY32_UNDEFINED) { - console_printf("That didn't work"); - } - } - } - else if (strcmp(argv[1], "mode") == 0) { - bool int_valid[2] = { 0 }; - sint32 ride_index = console_parse_int(argv[2], &int_valid[0]); - sint32 mode = console_parse_int(argv[3], &int_valid[1]); - if (!int_valid[0] || !int_valid[1]) { - console_printf("This command expects integer arguments"); - } else if (ride_index < 0) { - console_printf("Ride index must not be negative"); - } else { - rct_ride *ride = get_ride(ride_index); - if (mode <= 0 || mode > (RIDE_MODE_COUNT - 1)) { - console_printf("Invalid ride mode."); - } - else if (ride == NULL || ride->type == RIDE_TYPE_NULL) { - console_printf("No ride found with index %d", ride_index); - } - else { - ride->mode = mode; - invalidate_test_results(ride_index); - } - } - } - else if (strcmp(argv[1], "friction") == 0) { - bool int_valid[2] = { 0 }; - sint32 ride_index = console_parse_int(argv[2], &int_valid[0]); - sint32 friction = console_parse_int(argv[3], &int_valid[1]); + if (argc > 0) { + if (strcmp(argv[0], "list") == 0) { + rct_ride *ride; + sint32 i; + FOR_ALL_RIDES(i, ride) { + char name[128]; + format_string(name, 128, ride->name, &ride->name_arguments); + console_printf("ride: %03d type: %02u subtype %03u operating mode: %02u name: %s", i, ride->type, ride->subtype, ride->mode, name); + } + } else if (strcmp(argv[0], "set") == 0) { + if (argc < 4) { + if (argc > 1 && strcmp(argv[1], "mode") == 0){ + console_printf("Ride modes are specified using integer IDs as given below:"); + for (sint32 i = 0; i < RIDE_MODE_COUNT; i++) { + char mode_name[128] = { 0 }; + rct_string_id mode_string_id = RideModeNames[i]; + format_string(mode_name, 128, mode_string_id, 0); + console_printf("%02d - %s", i, mode_name); + } - if (ride_index < 0) { - console_printf("Ride index must not be negative"); - } - else if (!int_valid[0] || !int_valid[1]) { - console_printf("This command expects integer arguments"); - } - else { - rct_ride *ride = get_ride(ride_index); - if (friction <= 0) { - console_printf("Friction value must be strictly positive"); - } - else if (ride->type == RIDE_TYPE_NULL) { - console_printf("No ride found with index %d", ride_index); - } - else { - for (sint32 i = 0; i < ride->num_vehicles; i++) { - uint16 vehicle_index = ride->vehicles[i]; - while (vehicle_index != SPRITE_INDEX_NULL) { - rct_vehicle *vehicle = GET_VEHICLE(vehicle_index); - vehicle->friction = friction; - vehicle_index = vehicle->next_vehicle_on_train; - } - } - } - } - } - else if (strcmp(argv[1], "excitement") == 0) { - bool int_valid[2] = { 0 }; - sint32 ride_index = console_parse_int(argv[2], &int_valid[0]); - ride_rating excitement = console_parse_int(argv[3], &int_valid[1]); + } else { + console_printf("rides set type "); + console_printf("rides set mode [ ]"); + console_printf("rides set friction "); + console_printf("rides set excitement "); + console_printf("rides set intensity "); + console_printf("rides set nausea "); + } + return 0; + } + if (strcmp(argv[1], "type") == 0) { + bool int_valid[2] = { 0 }; + sint32 ride_index = console_parse_int(argv[2], &int_valid[0]); + sint32 type = console_parse_int(argv[3], &int_valid[1]); + if (!int_valid[0] || !int_valid[1]) { + console_printf("This command expects integer arguments"); + } else if (ride_index < 0) { + console_printf("Ride index must not be negative"); + } else { + gGameCommandErrorTitle = STR_CANT_CHANGE_OPERATING_MODE; + sint32 res = game_do_command(0, (type << 8) | 1, 0, (RIDE_SETTING_RIDE_TYPE << 8) | ride_index, GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + if (res == MONEY32_UNDEFINED) { + console_printf("That didn't work"); + } + } + } + else if (strcmp(argv[1], "mode") == 0) { + bool int_valid[2] = { 0 }; + sint32 ride_index = console_parse_int(argv[2], &int_valid[0]); + sint32 mode = console_parse_int(argv[3], &int_valid[1]); + if (!int_valid[0] || !int_valid[1]) { + console_printf("This command expects integer arguments"); + } else if (ride_index < 0) { + console_printf("Ride index must not be negative"); + } else { + rct_ride *ride = get_ride(ride_index); + if (mode <= 0 || mode > (RIDE_MODE_COUNT - 1)) { + console_printf("Invalid ride mode."); + } + else if (ride == NULL || ride->type == RIDE_TYPE_NULL) { + console_printf("No ride found with index %d", ride_index); + } + else { + ride->mode = mode; + invalidate_test_results(ride_index); + } + } + } + else if (strcmp(argv[1], "friction") == 0) { + bool int_valid[2] = { 0 }; + sint32 ride_index = console_parse_int(argv[2], &int_valid[0]); + sint32 friction = console_parse_int(argv[3], &int_valid[1]); - if (ride_index < 0) { - console_printf("Ride index must not be negative"); - } - else if (!int_valid[0] || !int_valid[1]) { - console_printf("This command expects integer arguments"); - } - else { - rct_ride *ride = get_ride(ride_index); - if (excitement <= 0) { - console_printf("Excitement value must be strictly positive"); - } - else if (ride->type == RIDE_TYPE_NULL) { - console_printf("No ride found with index %d", ride_index); - } - else { - ride->excitement = excitement; - } - } - } - else if (strcmp(argv[1], "intensity") == 0) { - bool int_valid[2] = { 0 }; - sint32 ride_index = console_parse_int(argv[2], &int_valid[0]); - ride_rating intensity = console_parse_int(argv[3], &int_valid[1]); + if (ride_index < 0) { + console_printf("Ride index must not be negative"); + } + else if (!int_valid[0] || !int_valid[1]) { + console_printf("This command expects integer arguments"); + } + else { + rct_ride *ride = get_ride(ride_index); + if (friction <= 0) { + console_printf("Friction value must be strictly positive"); + } + else if (ride->type == RIDE_TYPE_NULL) { + console_printf("No ride found with index %d", ride_index); + } + else { + for (sint32 i = 0; i < ride->num_vehicles; i++) { + uint16 vehicle_index = ride->vehicles[i]; + while (vehicle_index != SPRITE_INDEX_NULL) { + rct_vehicle *vehicle = GET_VEHICLE(vehicle_index); + vehicle->friction = friction; + vehicle_index = vehicle->next_vehicle_on_train; + } + } + } + } + } + else if (strcmp(argv[1], "excitement") == 0) { + bool int_valid[2] = { 0 }; + sint32 ride_index = console_parse_int(argv[2], &int_valid[0]); + ride_rating excitement = console_parse_int(argv[3], &int_valid[1]); - if (ride_index < 0) { - console_printf("Ride index must not be negative"); - } - else if (!int_valid[0] || !int_valid[1]) { - console_printf("This command expects integer arguments"); - } - else { - rct_ride *ride = get_ride(ride_index); - if (intensity <= 0) { - console_printf("Intensity value must be strictly positive"); - } - else if (ride->type == RIDE_TYPE_NULL) { - console_printf("No ride found with index %d", ride_index); - } - else { - ride->intensity = intensity; - } - } - } - else if (strcmp(argv[1], "nausea") == 0) { - bool int_valid[2] = { 0 }; - sint32 ride_index = console_parse_int(argv[2], &int_valid[0]); - ride_rating nausea = console_parse_int(argv[3], &int_valid[1]); + if (ride_index < 0) { + console_printf("Ride index must not be negative"); + } + else if (!int_valid[0] || !int_valid[1]) { + console_printf("This command expects integer arguments"); + } + else { + rct_ride *ride = get_ride(ride_index); + if (excitement <= 0) { + console_printf("Excitement value must be strictly positive"); + } + else if (ride->type == RIDE_TYPE_NULL) { + console_printf("No ride found with index %d", ride_index); + } + else { + ride->excitement = excitement; + } + } + } + else if (strcmp(argv[1], "intensity") == 0) { + bool int_valid[2] = { 0 }; + sint32 ride_index = console_parse_int(argv[2], &int_valid[0]); + ride_rating intensity = console_parse_int(argv[3], &int_valid[1]); - if (ride_index < 0) { - console_printf("Ride index must not be negative"); - } - else if (!int_valid[0] || !int_valid[1]) { - console_printf("This command expects integer arguments"); - } - else { - rct_ride *ride = get_ride(ride_index); - if (nausea <= 0) { - console_printf("Nausea value must be strictly positive"); - } - else if (ride->type == RIDE_TYPE_NULL) { - console_printf("No ride found with index %d", ride_index); - } - else { - ride->nausea = nausea; - } - } - } - } - } else { - console_printf("subcommands: list, set"); - } - return 0; + if (ride_index < 0) { + console_printf("Ride index must not be negative"); + } + else if (!int_valid[0] || !int_valid[1]) { + console_printf("This command expects integer arguments"); + } + else { + rct_ride *ride = get_ride(ride_index); + if (intensity <= 0) { + console_printf("Intensity value must be strictly positive"); + } + else if (ride->type == RIDE_TYPE_NULL) { + console_printf("No ride found with index %d", ride_index); + } + else { + ride->intensity = intensity; + } + } + } + else if (strcmp(argv[1], "nausea") == 0) { + bool int_valid[2] = { 0 }; + sint32 ride_index = console_parse_int(argv[2], &int_valid[0]); + ride_rating nausea = console_parse_int(argv[3], &int_valid[1]); + + if (ride_index < 0) { + console_printf("Ride index must not be negative"); + } + else if (!int_valid[0] || !int_valid[1]) { + console_printf("This command expects integer arguments"); + } + else { + rct_ride *ride = get_ride(ride_index); + if (nausea <= 0) { + console_printf("Nausea value must be strictly positive"); + } + else if (ride->type == RIDE_TYPE_NULL) { + console_printf("No ride found with index %d", ride_index); + } + else { + ride->nausea = nausea; + } + } + } + } + } else { + console_printf("subcommands: list, set"); + } + return 0; } static sint32 cc_staff(const utf8 **argv, sint32 argc) { - if (argc > 0) { - if (strcmp(argv[0], "list") == 0) { - rct_peep *peep; - sint32 i; - FOR_ALL_STAFF(i, peep) { - char name[128]; - format_string(name, 128, peep->name_string_idx, &peep->id); - console_printf("staff id %03d type: %02u energy %03u name %s", i, peep->staff_type, peep->energy, name); - } - } else if (strcmp(argv[0], "set") == 0) { - if (argc < 4) { - console_printf("staff set energy "); - console_printf("staff set costume "); - for (sint32 i = 0; i < ENTERTAINER_COSTUME_COUNT; i++) { - char costume_name[128] = { 0 }; - rct_string_id costume = StaffCostumeNames[i]; - format_string(costume_name, 128, STR_DROPDOWN_MENU_LABEL, &costume); - // That's a terrible hack here. Costume names include inline sprites - // that don't work well with the console, so manually skip past them. - console_printf(" costume %i: %s", i, costume_name + 7); - } - return 0; - } - if (strcmp(argv[1], "energy") == 0) { - sint32 int_val[3]; - bool int_valid[3] = { 0 }; - int_val[0] = console_parse_int(argv[2], &int_valid[0]); - int_val[1] = console_parse_int(argv[3], &int_valid[1]); + if (argc > 0) { + if (strcmp(argv[0], "list") == 0) { + rct_peep *peep; + sint32 i; + FOR_ALL_STAFF(i, peep) { + char name[128]; + format_string(name, 128, peep->name_string_idx, &peep->id); + console_printf("staff id %03d type: %02u energy %03u name %s", i, peep->staff_type, peep->energy, name); + } + } else if (strcmp(argv[0], "set") == 0) { + if (argc < 4) { + console_printf("staff set energy "); + console_printf("staff set costume "); + for (sint32 i = 0; i < ENTERTAINER_COSTUME_COUNT; i++) { + char costume_name[128] = { 0 }; + rct_string_id costume = StaffCostumeNames[i]; + format_string(costume_name, 128, STR_DROPDOWN_MENU_LABEL, &costume); + // That's a terrible hack here. Costume names include inline sprites + // that don't work well with the console, so manually skip past them. + console_printf(" costume %i: %s", i, costume_name + 7); + } + return 0; + } + if (strcmp(argv[1], "energy") == 0) { + sint32 int_val[3]; + bool int_valid[3] = { 0 }; + int_val[0] = console_parse_int(argv[2], &int_valid[0]); + int_val[1] = console_parse_int(argv[3], &int_valid[1]); - if (int_valid[0] && int_valid[1] && ((GET_PEEP(int_val[0])) != NULL)) { - rct_peep *peep = GET_PEEP(int_val[0]); + if (int_valid[0] && int_valid[1] && ((GET_PEEP(int_val[0])) != NULL)) { + rct_peep *peep = GET_PEEP(int_val[0]); - peep->energy = int_val[1]; - peep->energy_growth_rate = int_val[1]; - } - } else if (strcmp(argv[1], "costume") == 0) { - sint32 int_val[2]; - bool int_valid[2] = { 0 }; - int_val[0] = console_parse_int(argv[2], &int_valid[0]); - int_val[1] = console_parse_int(argv[3], &int_valid[1]); - rct_peep *peep = NULL; - if (!int_valid[0]) { - console_writeline_error("Invalid staff ID"); - return 1; - } - peep = GET_PEEP(int_val[0]); - bool is_entertainer = peep != NULL && peep->type == PEEP_TYPE_STAFF && peep->staff_type == STAFF_TYPE_ENTERTAINER; - if (!is_entertainer) { - console_writeline_error("Specified staff is not entertainer"); - return 1; - } - if (!int_valid[1] || int_val[1] < 0 || int_val[1] >= ENTERTAINER_COSTUME_COUNT) { - console_writeline_error("Invalid costume ID"); - return 1; - } + peep->energy = int_val[1]; + peep->energy_growth_rate = int_val[1]; + } + } else if (strcmp(argv[1], "costume") == 0) { + sint32 int_val[2]; + bool int_valid[2] = { 0 }; + int_val[0] = console_parse_int(argv[2], &int_valid[0]); + int_val[1] = console_parse_int(argv[3], &int_valid[1]); + rct_peep *peep = NULL; + if (!int_valid[0]) { + console_writeline_error("Invalid staff ID"); + return 1; + } + peep = GET_PEEP(int_val[0]); + bool is_entertainer = peep != NULL && peep->type == PEEP_TYPE_STAFF && peep->staff_type == STAFF_TYPE_ENTERTAINER; + if (!is_entertainer) { + console_writeline_error("Specified staff is not entertainer"); + return 1; + } + if (!int_valid[1] || int_val[1] < 0 || int_val[1] >= ENTERTAINER_COSTUME_COUNT) { + console_writeline_error("Invalid costume ID"); + return 1; + } - sint32 costume = int_val[1] | 0x80; - game_do_command(peep->x, (costume << 8) | 1, peep->y, int_val[0], GAME_COMMAND_SET_STAFF_ORDER, 0, 0); - } - } - } else { - console_printf("subcommands: list, set"); - } - return 0; + sint32 costume = int_val[1] | 0x80; + game_do_command(peep->x, (costume << 8) | 1, peep->y, int_val[0], GAME_COMMAND_SET_STAFF_ORDER, 0, 0); + } + } + } else { + console_printf("subcommands: list, set"); + } + return 0; } static sint32 cc_get(const utf8 **argv, sint32 argc) { - if (argc > 0) { - if (strcmp(argv[0], "park_rating") == 0) { - console_printf("park_rating %d", gParkRating); - } - else if (strcmp(argv[0], "money") == 0) { - console_printf("money %d.%d0", DECRYPT_MONEY(gCashEncrypted) / 10, DECRYPT_MONEY(gCashEncrypted) % 10); - } - else if (strcmp(argv[0], "scenario_initial_cash") == 0) { - console_printf("scenario_initial_cash %d", gInitialCash / 10); - } - else if (strcmp(argv[0], "current_loan") == 0) { - console_printf("current_loan %d", gBankLoan / 10); - } - else if (strcmp(argv[0], "max_loan") == 0) { - console_printf("max_loan %d", gMaxBankLoan / 10); - } - else if (strcmp(argv[0], "guest_initial_cash") == 0) { - console_printf("guest_initial_cash %d.%d0", gGuestInitialCash / 10, gGuestInitialCash % 10); - } - else if (strcmp(argv[0], "guest_initial_happiness") == 0) { - uint32 current_happiness = gGuestInitialHappiness; - for (sint32 i = 15; i <= 99; i++) { - if (i == 99) { - console_printf("guest_initial_happiness %d%% (%d)", 15, gGuestInitialHappiness); - } - else if (current_happiness == calculate_guest_initial_happiness(i)) { - console_printf("guest_initial_happiness %d%% (%d)", i, gGuestInitialHappiness); - break; - } - } - } - else if (strcmp(argv[0], "guest_initial_hunger") == 0) { - console_printf("guest_initial_hunger %d%% (%d)", ((255 - gGuestInitialHunger) * 100) / 255, gGuestInitialHunger); - } - else if (strcmp(argv[0], "guest_initial_thirst") == 0) { - console_printf("guest_initial_thirst %d%% (%d)", ((255 - gGuestInitialThirst) * 100) / 255, gGuestInitialThirst); - } - else if (strcmp(argv[0], "guest_prefer_less_intense_rides") == 0) { - console_printf("guest_prefer_less_intense_rides %d", (gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES) != 0); - } - else if (strcmp(argv[0], "guest_prefer_more_intense_rides") == 0) { - console_printf("guest_prefer_more_intense_rides %d", (gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES) != 0); - } - else if (strcmp(argv[0], "forbid_marketing_campagns") == 0) { - console_printf("forbid_marketing_campagns %d", (gParkFlags & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN) != 0); - } - else if (strcmp(argv[0], "forbid_landscape_changes") == 0) { - console_printf("forbid_landscape_changes %d", (gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES) != 0); - } - else if (strcmp(argv[0], "forbid_tree_removal") == 0) { - console_printf("forbid_tree_removal %d", (gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL) != 0); - } - else if (strcmp(argv[0], "forbid_high_construction") == 0) { - console_printf("forbid_high_construction %d", (gParkFlags & PARK_FLAGS_FORBID_HIGH_CONSTRUCTION) != 0); - } - else if (strcmp(argv[0], "pay_for_rides") == 0) { - console_printf("pay_for_rides %d", (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) != 0); - } - else if (strcmp(argv[0], "no_money") == 0) { - console_printf("no_money %d", (gParkFlags & PARK_FLAGS_NO_MONEY) != 0); - } - else if (strcmp(argv[0], "difficult_park_rating") == 0) { - console_printf("difficult_park_rating %d", (gParkFlags & PARK_FLAGS_DIFFICULT_PARK_RATING) != 0); - } - else if (strcmp(argv[0], "difficult_guest_generation") == 0) { - console_printf("difficult_guest_generation %d", (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION) != 0); - } - else if (strcmp(argv[0], "park_open") == 0) { - console_printf("park_open %d", (gParkFlags & PARK_FLAGS_PARK_OPEN) != 0); - } - else if (strcmp(argv[0], "land_rights_cost") == 0) { - console_printf("land_rights_cost %d.%d0", gLandPrice / 10, gLandPrice % 10); - } - else if (strcmp(argv[0], "construction_rights_cost") == 0) { - console_printf("construction_rights_cost %d.%d0", gConstructionRightsPrice / 10, gConstructionRightsPrice % 10); - } - else if (strcmp(argv[0], "climate") == 0) { - const utf8* climate_names[] = { "cool_and_wet", "warm", "hot_and_dry", "cold" }; - console_printf("climate %s (%d)", climate_names[gClimate], gClimate); - } - else if (strcmp(argv[0], "game_speed") == 0) { - console_printf("game_speed %d", gGameSpeed); - } - else if (strcmp(argv[0], "console_small_font") == 0) { - console_printf("console_small_font %d", gConfigInterface.console_small_font); - } - else if (strcmp(argv[0], "test_unfinished_tracks") == 0) { - console_printf("test_unfinished_tracks %d", gConfigGeneral.test_unfinished_tracks); - } - else if (strcmp(argv[0], "no_test_crashes") == 0) { - console_printf("no_test_crashes %d", gConfigGeneral.no_test_crashes); - } - else if (strcmp(argv[0], "location") == 0) { - rct_window *w = window_get_main(); - if (w != NULL) { - sint32 interactionType; - rct_map_element *mapElement; - rct_xy16 mapCoord = { 0 }; - get_map_coordinates_from_pos(w->viewport->view_width / 2, w->viewport->view_height / 2, VIEWPORT_INTERACTION_MASK_TERRAIN, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL); - mapCoord.x -= 16; - mapCoord.x /= 32; - mapCoord.y -= 16; - mapCoord.y /= 32; - mapCoord.x++; - mapCoord.y++; - console_printf("location %d %d", mapCoord.x, mapCoord.y); - } - } - else if (strcmp(argv[0], "window_scale") == 0) { - console_printf("window_scale %.3f", gConfigGeneral.window_scale); - } - else if (strcmp(argv[0], "window_limit") == 0) { - console_printf("window_limit %d", gConfigGeneral.window_limit); - } - else if (strcmp(argv[0], "render_weather_effects") == 0) { - console_printf("render_weather_effects %d", gConfigGeneral.render_weather_effects); - } - else if (strcmp(argv[0], "render_weather_gloom") == 0) { - console_printf("render_weather_gloom %d", gConfigGeneral.render_weather_gloom); - } - else if (strcmp(argv[0], "cheat_sandbox_mode") == 0) { - console_printf("cheat_sandbox_mode %d", gCheatsSandboxMode); - } - else if (strcmp(argv[0], "cheat_disable_clearance_checks") == 0) { - console_printf("cheat_disable_clearance_checks %d", gCheatsDisableClearanceChecks); - } - else if (strcmp(argv[0], "cheat_disable_support_limits") == 0) { - console_printf("cheat_disable_support_limits %d", gCheatsDisableSupportLimits); - } - else { - console_writeline_warning("Invalid variable."); - } - } - return 0; + if (argc > 0) { + if (strcmp(argv[0], "park_rating") == 0) { + console_printf("park_rating %d", gParkRating); + } + else if (strcmp(argv[0], "money") == 0) { + console_printf("money %d.%d0", DECRYPT_MONEY(gCashEncrypted) / 10, DECRYPT_MONEY(gCashEncrypted) % 10); + } + else if (strcmp(argv[0], "scenario_initial_cash") == 0) { + console_printf("scenario_initial_cash %d", gInitialCash / 10); + } + else if (strcmp(argv[0], "current_loan") == 0) { + console_printf("current_loan %d", gBankLoan / 10); + } + else if (strcmp(argv[0], "max_loan") == 0) { + console_printf("max_loan %d", gMaxBankLoan / 10); + } + else if (strcmp(argv[0], "guest_initial_cash") == 0) { + console_printf("guest_initial_cash %d.%d0", gGuestInitialCash / 10, gGuestInitialCash % 10); + } + else if (strcmp(argv[0], "guest_initial_happiness") == 0) { + uint32 current_happiness = gGuestInitialHappiness; + for (sint32 i = 15; i <= 99; i++) { + if (i == 99) { + console_printf("guest_initial_happiness %d%% (%d)", 15, gGuestInitialHappiness); + } + else if (current_happiness == calculate_guest_initial_happiness(i)) { + console_printf("guest_initial_happiness %d%% (%d)", i, gGuestInitialHappiness); + break; + } + } + } + else if (strcmp(argv[0], "guest_initial_hunger") == 0) { + console_printf("guest_initial_hunger %d%% (%d)", ((255 - gGuestInitialHunger) * 100) / 255, gGuestInitialHunger); + } + else if (strcmp(argv[0], "guest_initial_thirst") == 0) { + console_printf("guest_initial_thirst %d%% (%d)", ((255 - gGuestInitialThirst) * 100) / 255, gGuestInitialThirst); + } + else if (strcmp(argv[0], "guest_prefer_less_intense_rides") == 0) { + console_printf("guest_prefer_less_intense_rides %d", (gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES) != 0); + } + else if (strcmp(argv[0], "guest_prefer_more_intense_rides") == 0) { + console_printf("guest_prefer_more_intense_rides %d", (gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES) != 0); + } + else if (strcmp(argv[0], "forbid_marketing_campagns") == 0) { + console_printf("forbid_marketing_campagns %d", (gParkFlags & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN) != 0); + } + else if (strcmp(argv[0], "forbid_landscape_changes") == 0) { + console_printf("forbid_landscape_changes %d", (gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES) != 0); + } + else if (strcmp(argv[0], "forbid_tree_removal") == 0) { + console_printf("forbid_tree_removal %d", (gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL) != 0); + } + else if (strcmp(argv[0], "forbid_high_construction") == 0) { + console_printf("forbid_high_construction %d", (gParkFlags & PARK_FLAGS_FORBID_HIGH_CONSTRUCTION) != 0); + } + else if (strcmp(argv[0], "pay_for_rides") == 0) { + console_printf("pay_for_rides %d", (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) != 0); + } + else if (strcmp(argv[0], "no_money") == 0) { + console_printf("no_money %d", (gParkFlags & PARK_FLAGS_NO_MONEY) != 0); + } + else if (strcmp(argv[0], "difficult_park_rating") == 0) { + console_printf("difficult_park_rating %d", (gParkFlags & PARK_FLAGS_DIFFICULT_PARK_RATING) != 0); + } + else if (strcmp(argv[0], "difficult_guest_generation") == 0) { + console_printf("difficult_guest_generation %d", (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION) != 0); + } + else if (strcmp(argv[0], "park_open") == 0) { + console_printf("park_open %d", (gParkFlags & PARK_FLAGS_PARK_OPEN) != 0); + } + else if (strcmp(argv[0], "land_rights_cost") == 0) { + console_printf("land_rights_cost %d.%d0", gLandPrice / 10, gLandPrice % 10); + } + else if (strcmp(argv[0], "construction_rights_cost") == 0) { + console_printf("construction_rights_cost %d.%d0", gConstructionRightsPrice / 10, gConstructionRightsPrice % 10); + } + else if (strcmp(argv[0], "climate") == 0) { + const utf8* climate_names[] = { "cool_and_wet", "warm", "hot_and_dry", "cold" }; + console_printf("climate %s (%d)", climate_names[gClimate], gClimate); + } + else if (strcmp(argv[0], "game_speed") == 0) { + console_printf("game_speed %d", gGameSpeed); + } + else if (strcmp(argv[0], "console_small_font") == 0) { + console_printf("console_small_font %d", gConfigInterface.console_small_font); + } + else if (strcmp(argv[0], "test_unfinished_tracks") == 0) { + console_printf("test_unfinished_tracks %d", gConfigGeneral.test_unfinished_tracks); + } + else if (strcmp(argv[0], "no_test_crashes") == 0) { + console_printf("no_test_crashes %d", gConfigGeneral.no_test_crashes); + } + else if (strcmp(argv[0], "location") == 0) { + rct_window *w = window_get_main(); + if (w != NULL) { + sint32 interactionType; + rct_map_element *mapElement; + rct_xy16 mapCoord = { 0 }; + get_map_coordinates_from_pos(w->viewport->view_width / 2, w->viewport->view_height / 2, VIEWPORT_INTERACTION_MASK_TERRAIN, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL); + mapCoord.x -= 16; + mapCoord.x /= 32; + mapCoord.y -= 16; + mapCoord.y /= 32; + mapCoord.x++; + mapCoord.y++; + console_printf("location %d %d", mapCoord.x, mapCoord.y); + } + } + else if (strcmp(argv[0], "window_scale") == 0) { + console_printf("window_scale %.3f", gConfigGeneral.window_scale); + } + else if (strcmp(argv[0], "window_limit") == 0) { + console_printf("window_limit %d", gConfigGeneral.window_limit); + } + else if (strcmp(argv[0], "render_weather_effects") == 0) { + console_printf("render_weather_effects %d", gConfigGeneral.render_weather_effects); + } + else if (strcmp(argv[0], "render_weather_gloom") == 0) { + console_printf("render_weather_gloom %d", gConfigGeneral.render_weather_gloom); + } + else if (strcmp(argv[0], "cheat_sandbox_mode") == 0) { + console_printf("cheat_sandbox_mode %d", gCheatsSandboxMode); + } + else if (strcmp(argv[0], "cheat_disable_clearance_checks") == 0) { + console_printf("cheat_disable_clearance_checks %d", gCheatsDisableClearanceChecks); + } + else if (strcmp(argv[0], "cheat_disable_support_limits") == 0) { + console_printf("cheat_disable_support_limits %d", gCheatsDisableSupportLimits); + } + else { + console_writeline_warning("Invalid variable."); + } + } + return 0; } static sint32 cc_set(const utf8 **argv, sint32 argc) { - sint32 i; - if (argc > 1) { - sint32 int_val[4]; - bool int_valid[4]; - double double_val[4]; - bool double_valid[4]; - bool invalidArgs = false; + sint32 i; + if (argc > 1) { + sint32 int_val[4]; + bool int_valid[4]; + double double_val[4]; + bool double_valid[4]; + bool invalidArgs = false; - for (i = 0; i < 4; i++) { - if (i + 1 < argc) { - int_val[i] = console_parse_int(argv[i + 1], &int_valid[i]); - double_val[i] = console_parse_double(argv[i + 1], &double_valid[i]); - } - else { - int_val[i] = 0; int_valid[i] = false; - double_val[i] = 0; double_valid[i] = false; - } - } + for (i = 0; i < 4; i++) { + if (i + 1 < argc) { + int_val[i] = console_parse_int(argv[i + 1], &int_valid[i]); + double_val[i] = console_parse_double(argv[i + 1], &double_valid[i]); + } + else { + int_val[i] = 0; int_valid[i] = false; + double_val[i] = 0; double_valid[i] = false; + } + } - if (strcmp(argv[0], "money") == 0 && invalidArguments(&invalidArgs, double_valid[0])) { - money32 money = MONEY((sint32)double_val[0], ((sint32)(double_val[0] * 100)) % 100); - bool run_get_money = true; - if (gCashEncrypted != ENCRYPT_MONEY(money)) { - if (game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETMONEY, money, GAME_COMMAND_CHEAT, 0, 0) != MONEY32_UNDEFINED) { - // When in networked client mode, console_execute_silent("get money") - // does not print value accurately. Instead, print the argument. - if (network_get_mode() == NETWORK_MODE_CLIENT) { - run_get_money = false; - console_printf("money %d.%d0", money / 10, money % 10); - } - } - else { - console_writeline_error("Network error: Permission denied!"); - } - } - if (run_get_money) { - console_execute_silent("get money"); - } - } - else if (strcmp(argv[0], "scenario_initial_cash") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - gInitialCash = clamp(MONEY(int_val[0], 0), MONEY(0, 0), MONEY(1000000, 00)); - console_execute_silent("get scenario_initial_cash"); - } - else if (strcmp(argv[0], "current_loan") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - gBankLoan = clamp(MONEY(int_val[0] - (int_val[0] % 1000), 0), MONEY(0, 0), gMaxBankLoan); - console_execute_silent("get current_loan"); - } - else if (strcmp(argv[0], "max_loan") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - gMaxBankLoan = clamp(MONEY(int_val[0] - (int_val[0] % 1000), 0), MONEY(0, 0), MONEY(5000000, 0)); - console_execute_silent("get max_loan"); - } - else if (strcmp(argv[0], "guest_initial_cash") == 0 && invalidArguments(&invalidArgs, double_valid[0])) { - gGuestInitialCash = clamp(MONEY((sint32)double_val[0], ((sint32)(double_val[0] * 100)) % 100), MONEY(0, 0), MONEY(1000, 0)); - console_execute_silent("get guest_initial_cash"); - } - else if (strcmp(argv[0], "guest_initial_happiness") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - gGuestInitialHappiness = calculate_guest_initial_happiness((uint8)int_val[0]); - console_execute_silent("get guest_initial_happiness"); - } - else if (strcmp(argv[0], "guest_initial_hunger") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - gGuestInitialHunger = (clamp(int_val[0], 1, 84) * 255 / 100 - 255) * -1; - console_execute_silent("get guest_initial_hunger"); - } - else if (strcmp(argv[0], "guest_initial_thirst") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - gGuestInitialThirst = (clamp(int_val[0], 1, 84) * 255 / 100 - 255) * -1; - console_execute_silent("get guest_initial_thirst"); - } - else if (strcmp(argv[0], "guest_prefer_less_intense_rides") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - SET_FLAG(gParkFlags, PARK_FLAGS_PREF_LESS_INTENSE_RIDES, int_val[0]); - console_execute_silent("get guest_prefer_less_intense_rides"); - } - else if (strcmp(argv[0], "guest_prefer_more_intense_rides") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - SET_FLAG(gParkFlags, PARK_FLAGS_PREF_MORE_INTENSE_RIDES, int_val[0]); - console_execute_silent("get guest_prefer_more_intense_rides"); - } - else if (strcmp(argv[0], "forbid_marketing_campagns") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - SET_FLAG(gParkFlags, PARK_FLAGS_FORBID_MARKETING_CAMPAIGN, int_val[0]); - console_execute_silent("get forbid_marketing_campagns"); - } - else if (strcmp(argv[0], "forbid_landscape_changes") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - SET_FLAG(gParkFlags, PARK_FLAGS_FORBID_LANDSCAPE_CHANGES, int_val[0]); - console_execute_silent("get forbid_landscape_changes"); - } - else if (strcmp(argv[0], "forbid_tree_removal") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - SET_FLAG(gParkFlags, PARK_FLAGS_FORBID_TREE_REMOVAL, int_val[0]); - console_execute_silent("get forbid_tree_removal"); - } - else if (strcmp(argv[0], "forbid_high_construction") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - SET_FLAG(gParkFlags, PARK_FLAGS_FORBID_HIGH_CONSTRUCTION, int_val[0]); - console_execute_silent("get forbid_high_construction"); - } - else if (strcmp(argv[0], "pay_for_rides") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - SET_FLAG(gParkFlags, PARK_FLAGS_PARK_FREE_ENTRY, int_val[0]); - console_execute_silent("get pay_for_rides"); - } - else if (strcmp(argv[0], "no_money") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - SET_FLAG(gParkFlags, PARK_FLAGS_NO_MONEY, int_val[0]); - console_execute_silent("get no_money"); - } - else if (strcmp(argv[0], "difficult_park_rating") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - SET_FLAG(gParkFlags, PARK_FLAGS_DIFFICULT_PARK_RATING, int_val[0]); - console_execute_silent("get difficult_park_rating"); - } - else if (strcmp(argv[0], "difficult_guest_generation") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - SET_FLAG(gParkFlags, PARK_FLAGS_DIFFICULT_GUEST_GENERATION, int_val[0]); - console_execute_silent("get difficult_guest_generation"); - } - else if (strcmp(argv[0], "park_open") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - SET_FLAG(gParkFlags, PARK_FLAGS_PARK_OPEN, int_val[0]); - console_execute_silent("get park_open"); - } - else if (strcmp(argv[0], "land_rights_cost") == 0 && invalidArguments(&invalidArgs, double_valid[0])) { - gLandPrice = clamp(MONEY((sint32)double_val[0], ((sint32)(double_val[0] * 100)) % 100), MONEY(0, 0), MONEY(200, 0)); - console_execute_silent("get land_rights_cost"); - } - else if (strcmp(argv[0], "construction_rights_cost") == 0 && invalidArguments(&invalidArgs, double_valid[0])) { - gConstructionRightsPrice = clamp(MONEY((sint32)double_val[0], ((sint32)(double_val[0] * 100)) % 100), MONEY(0, 0), MONEY(200, 0)); - console_execute_silent("get construction_rights_cost"); - } - else if (strcmp(argv[0], "climate") == 0) { - if (int_valid[0]) { - gClimate = clamp(int_val[0], 0, 3); - } - else { - utf8* climate_names[] = { "cool_and_wet", "warm", "hot_and_dry", "cold" }; - for (i = 0; i < 4; i++) { - if (strcmp(argv[1], climate_names[i]) == 0) { - gClimate = i; - break; - } - } - } - if (i == 4) - invalidArgs = true; - else - console_execute_silent("get climate"); - } - else if (strcmp(argv[0], "game_speed") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - gGameSpeed = clamp(int_val[0], 1, 8); - console_execute_silent("get game_speed"); - } - else if (strcmp(argv[0], "console_small_font") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - gConfigInterface.console_small_font = (int_val[0] != 0); - config_save_default(); - console_execute_silent("get console_small_font"); - } - else if (strcmp(argv[0], "test_unfinished_tracks") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - gConfigGeneral.test_unfinished_tracks = (int_val[0] != 0); - config_save_default(); - console_execute_silent("get test_unfinished_tracks"); - } - else if (strcmp(argv[0], "no_test_crashes") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - gConfigGeneral.no_test_crashes = (int_val[0] != 0); - config_save_default(); - console_execute_silent("get no_test_crashes"); - } - else if (strcmp(argv[0], "location") == 0 && invalidArguments(&invalidArgs, int_valid[0] && int_valid[1])) { - rct_window *w = window_get_main(); - if (w != NULL) { - sint32 x = (sint16)(int_val[0] * 32 + 16); - sint32 y = (sint16)(int_val[1] * 32 + 16); - sint32 z = map_element_height(x, y); - window_set_location(w, x, y, z); - viewport_update_position(w); - console_execute_silent("get location"); - } - } - else if (strcmp(argv[0], "window_scale") == 0 && invalidArguments(&invalidArgs, double_valid[0])) { - float newScale = (float)(0.001*trunc(1000*double_val[0])); - gConfigGeneral.window_scale = clamp(newScale, 0.5f, 5.0f); - config_save_default(); - gfx_invalidate_screen(); - context_trigger_resize(); - console_execute_silent("get window_scale"); - } - else if (strcmp(argv[0], "window_limit") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - window_set_window_limit(int_val[0]); - console_execute_silent("get window_limit"); - } - else if (strcmp(argv[0], "render_weather_effects") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - gConfigGeneral.render_weather_effects = (int_val[0] != 0); - config_save_default(); - console_execute_silent("get render_weather_effects"); - } - else if (strcmp(argv[0], "render_weather_gloom") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - gConfigGeneral.render_weather_gloom = (int_val[0] != 0); - config_save_default(); - console_execute_silent("get render_weather_gloom"); - } - else if (strcmp(argv[0], "cheat_sandbox_mode") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - if (gCheatsSandboxMode != (int_val[0] != 0)) { - if (game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SANDBOXMODE, (int_val[0] != 0), GAME_COMMAND_CHEAT, 0, 0) != MONEY32_UNDEFINED) { - // Change it locally so it shows the accurate value in the - // "console_execute_silent("get cheat_sandbox_mode")" line when in networked client mode - gCheatsSandboxMode = (int_val[0] != 0); - } - else { - console_writeline_error("Network error: Permission denied!"); - } - } - console_execute_silent("get cheat_sandbox_mode"); - } - else if (strcmp(argv[0], "cheat_disable_clearance_checks") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - if (gCheatsDisableClearanceChecks != (int_val[0] != 0)) { - if (game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLECLEARANCECHECKS, (int_val[0] != 0), GAME_COMMAND_CHEAT, 0, 0) != MONEY32_UNDEFINED) { - // Change it locally so it shows the accurate value in the - // "console_execute_silent("get cheat_disable_clearance_checks")" line when in networked client mode - gCheatsDisableClearanceChecks = (int_val[0] != 0); - } - else { - console_writeline_error("Network error: Permission denied!"); - } - } - console_execute_silent("get cheat_disable_clearance_checks"); - } - else if (strcmp(argv[0], "cheat_disable_support_limits") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - if (gCheatsDisableSupportLimits != (int_val[0] != 0)) { - if (game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLESUPPORTLIMITS, (int_val[0] != 0), GAME_COMMAND_CHEAT, 0, 0) != MONEY32_UNDEFINED) { - // Change it locally so it shows the accurate value in the - // "console_execute_silent("get cheat_disable_support_limits")" line when in networked client mode - gCheatsDisableSupportLimits = (int_val[0] != 0); - } - else { - console_writeline_error("Network error: Permission denied!"); - } - } - console_execute_silent("get cheat_disable_support_limits"); - } - else if (invalidArgs) { - console_writeline_error("Invalid arguments."); - } - else { - console_writeline_error("Invalid variable."); - } + if (strcmp(argv[0], "money") == 0 && invalidArguments(&invalidArgs, double_valid[0])) { + money32 money = MONEY((sint32)double_val[0], ((sint32)(double_val[0] * 100)) % 100); + bool run_get_money = true; + if (gCashEncrypted != ENCRYPT_MONEY(money)) { + if (game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETMONEY, money, GAME_COMMAND_CHEAT, 0, 0) != MONEY32_UNDEFINED) { + // When in networked client mode, console_execute_silent("get money") + // does not print value accurately. Instead, print the argument. + if (network_get_mode() == NETWORK_MODE_CLIENT) { + run_get_money = false; + console_printf("money %d.%d0", money / 10, money % 10); + } + } + else { + console_writeline_error("Network error: Permission denied!"); + } + } + if (run_get_money) { + console_execute_silent("get money"); + } + } + else if (strcmp(argv[0], "scenario_initial_cash") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + gInitialCash = clamp(MONEY(int_val[0], 0), MONEY(0, 0), MONEY(1000000, 00)); + console_execute_silent("get scenario_initial_cash"); + } + else if (strcmp(argv[0], "current_loan") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + gBankLoan = clamp(MONEY(int_val[0] - (int_val[0] % 1000), 0), MONEY(0, 0), gMaxBankLoan); + console_execute_silent("get current_loan"); + } + else if (strcmp(argv[0], "max_loan") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + gMaxBankLoan = clamp(MONEY(int_val[0] - (int_val[0] % 1000), 0), MONEY(0, 0), MONEY(5000000, 0)); + console_execute_silent("get max_loan"); + } + else if (strcmp(argv[0], "guest_initial_cash") == 0 && invalidArguments(&invalidArgs, double_valid[0])) { + gGuestInitialCash = clamp(MONEY((sint32)double_val[0], ((sint32)(double_val[0] * 100)) % 100), MONEY(0, 0), MONEY(1000, 0)); + console_execute_silent("get guest_initial_cash"); + } + else if (strcmp(argv[0], "guest_initial_happiness") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + gGuestInitialHappiness = calculate_guest_initial_happiness((uint8)int_val[0]); + console_execute_silent("get guest_initial_happiness"); + } + else if (strcmp(argv[0], "guest_initial_hunger") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + gGuestInitialHunger = (clamp(int_val[0], 1, 84) * 255 / 100 - 255) * -1; + console_execute_silent("get guest_initial_hunger"); + } + else if (strcmp(argv[0], "guest_initial_thirst") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + gGuestInitialThirst = (clamp(int_val[0], 1, 84) * 255 / 100 - 255) * -1; + console_execute_silent("get guest_initial_thirst"); + } + else if (strcmp(argv[0], "guest_prefer_less_intense_rides") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + SET_FLAG(gParkFlags, PARK_FLAGS_PREF_LESS_INTENSE_RIDES, int_val[0]); + console_execute_silent("get guest_prefer_less_intense_rides"); + } + else if (strcmp(argv[0], "guest_prefer_more_intense_rides") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + SET_FLAG(gParkFlags, PARK_FLAGS_PREF_MORE_INTENSE_RIDES, int_val[0]); + console_execute_silent("get guest_prefer_more_intense_rides"); + } + else if (strcmp(argv[0], "forbid_marketing_campagns") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + SET_FLAG(gParkFlags, PARK_FLAGS_FORBID_MARKETING_CAMPAIGN, int_val[0]); + console_execute_silent("get forbid_marketing_campagns"); + } + else if (strcmp(argv[0], "forbid_landscape_changes") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + SET_FLAG(gParkFlags, PARK_FLAGS_FORBID_LANDSCAPE_CHANGES, int_val[0]); + console_execute_silent("get forbid_landscape_changes"); + } + else if (strcmp(argv[0], "forbid_tree_removal") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + SET_FLAG(gParkFlags, PARK_FLAGS_FORBID_TREE_REMOVAL, int_val[0]); + console_execute_silent("get forbid_tree_removal"); + } + else if (strcmp(argv[0], "forbid_high_construction") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + SET_FLAG(gParkFlags, PARK_FLAGS_FORBID_HIGH_CONSTRUCTION, int_val[0]); + console_execute_silent("get forbid_high_construction"); + } + else if (strcmp(argv[0], "pay_for_rides") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + SET_FLAG(gParkFlags, PARK_FLAGS_PARK_FREE_ENTRY, int_val[0]); + console_execute_silent("get pay_for_rides"); + } + else if (strcmp(argv[0], "no_money") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + SET_FLAG(gParkFlags, PARK_FLAGS_NO_MONEY, int_val[0]); + console_execute_silent("get no_money"); + } + else if (strcmp(argv[0], "difficult_park_rating") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + SET_FLAG(gParkFlags, PARK_FLAGS_DIFFICULT_PARK_RATING, int_val[0]); + console_execute_silent("get difficult_park_rating"); + } + else if (strcmp(argv[0], "difficult_guest_generation") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + SET_FLAG(gParkFlags, PARK_FLAGS_DIFFICULT_GUEST_GENERATION, int_val[0]); + console_execute_silent("get difficult_guest_generation"); + } + else if (strcmp(argv[0], "park_open") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + SET_FLAG(gParkFlags, PARK_FLAGS_PARK_OPEN, int_val[0]); + console_execute_silent("get park_open"); + } + else if (strcmp(argv[0], "land_rights_cost") == 0 && invalidArguments(&invalidArgs, double_valid[0])) { + gLandPrice = clamp(MONEY((sint32)double_val[0], ((sint32)(double_val[0] * 100)) % 100), MONEY(0, 0), MONEY(200, 0)); + console_execute_silent("get land_rights_cost"); + } + else if (strcmp(argv[0], "construction_rights_cost") == 0 && invalidArguments(&invalidArgs, double_valid[0])) { + gConstructionRightsPrice = clamp(MONEY((sint32)double_val[0], ((sint32)(double_val[0] * 100)) % 100), MONEY(0, 0), MONEY(200, 0)); + console_execute_silent("get construction_rights_cost"); + } + else if (strcmp(argv[0], "climate") == 0) { + if (int_valid[0]) { + gClimate = clamp(int_val[0], 0, 3); + } + else { + utf8* climate_names[] = { "cool_and_wet", "warm", "hot_and_dry", "cold" }; + for (i = 0; i < 4; i++) { + if (strcmp(argv[1], climate_names[i]) == 0) { + gClimate = i; + break; + } + } + } + if (i == 4) + invalidArgs = true; + else + console_execute_silent("get climate"); + } + else if (strcmp(argv[0], "game_speed") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + gGameSpeed = clamp(int_val[0], 1, 8); + console_execute_silent("get game_speed"); + } + else if (strcmp(argv[0], "console_small_font") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + gConfigInterface.console_small_font = (int_val[0] != 0); + config_save_default(); + console_execute_silent("get console_small_font"); + } + else if (strcmp(argv[0], "test_unfinished_tracks") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + gConfigGeneral.test_unfinished_tracks = (int_val[0] != 0); + config_save_default(); + console_execute_silent("get test_unfinished_tracks"); + } + else if (strcmp(argv[0], "no_test_crashes") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + gConfigGeneral.no_test_crashes = (int_val[0] != 0); + config_save_default(); + console_execute_silent("get no_test_crashes"); + } + else if (strcmp(argv[0], "location") == 0 && invalidArguments(&invalidArgs, int_valid[0] && int_valid[1])) { + rct_window *w = window_get_main(); + if (w != NULL) { + sint32 x = (sint16)(int_val[0] * 32 + 16); + sint32 y = (sint16)(int_val[1] * 32 + 16); + sint32 z = map_element_height(x, y); + window_set_location(w, x, y, z); + viewport_update_position(w); + console_execute_silent("get location"); + } + } + else if (strcmp(argv[0], "window_scale") == 0 && invalidArguments(&invalidArgs, double_valid[0])) { + float newScale = (float)(0.001*trunc(1000*double_val[0])); + gConfigGeneral.window_scale = clamp(newScale, 0.5f, 5.0f); + config_save_default(); + gfx_invalidate_screen(); + context_trigger_resize(); + console_execute_silent("get window_scale"); + } + else if (strcmp(argv[0], "window_limit") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + window_set_window_limit(int_val[0]); + console_execute_silent("get window_limit"); + } + else if (strcmp(argv[0], "render_weather_effects") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + gConfigGeneral.render_weather_effects = (int_val[0] != 0); + config_save_default(); + console_execute_silent("get render_weather_effects"); + } + else if (strcmp(argv[0], "render_weather_gloom") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + gConfigGeneral.render_weather_gloom = (int_val[0] != 0); + config_save_default(); + console_execute_silent("get render_weather_gloom"); + } + else if (strcmp(argv[0], "cheat_sandbox_mode") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + if (gCheatsSandboxMode != (int_val[0] != 0)) { + if (game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SANDBOXMODE, (int_val[0] != 0), GAME_COMMAND_CHEAT, 0, 0) != MONEY32_UNDEFINED) { + // Change it locally so it shows the accurate value in the + // "console_execute_silent("get cheat_sandbox_mode")" line when in networked client mode + gCheatsSandboxMode = (int_val[0] != 0); + } + else { + console_writeline_error("Network error: Permission denied!"); + } + } + console_execute_silent("get cheat_sandbox_mode"); + } + else if (strcmp(argv[0], "cheat_disable_clearance_checks") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + if (gCheatsDisableClearanceChecks != (int_val[0] != 0)) { + if (game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLECLEARANCECHECKS, (int_val[0] != 0), GAME_COMMAND_CHEAT, 0, 0) != MONEY32_UNDEFINED) { + // Change it locally so it shows the accurate value in the + // "console_execute_silent("get cheat_disable_clearance_checks")" line when in networked client mode + gCheatsDisableClearanceChecks = (int_val[0] != 0); + } + else { + console_writeline_error("Network error: Permission denied!"); + } + } + console_execute_silent("get cheat_disable_clearance_checks"); + } + else if (strcmp(argv[0], "cheat_disable_support_limits") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { + if (gCheatsDisableSupportLimits != (int_val[0] != 0)) { + if (game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLESUPPORTLIMITS, (int_val[0] != 0), GAME_COMMAND_CHEAT, 0, 0) != MONEY32_UNDEFINED) { + // Change it locally so it shows the accurate value in the + // "console_execute_silent("get cheat_disable_support_limits")" line when in networked client mode + gCheatsDisableSupportLimits = (int_val[0] != 0); + } + else { + console_writeline_error("Network error: Permission denied!"); + } + } + console_execute_silent("get cheat_disable_support_limits"); + } + else if (invalidArgs) { + console_writeline_error("Invalid arguments."); + } + else { + console_writeline_error("Invalid variable."); + } - gfx_invalidate_screen(); - } - else { - console_writeline_error("Value required."); - } - return 0; + gfx_invalidate_screen(); + } + else { + console_writeline_error("Value required."); + } + return 0; } static sint32 cc_twitch(const utf8 **argv, sint32 argc) { #ifdef DISABLE_TWITCH - console_writeline_error("OpenRCT2 build not compiled with Twitch integration."); + console_writeline_error("OpenRCT2 build not compiled with Twitch integration."); #else - // TODO: Add some twitch commands + // TODO: Add some twitch commands #endif - return 0; + return 0; } static sint32 cc_load_object(const utf8 **argv, sint32 argc) { - if (argc > 0) { - char name[9] = { 0 }; - memset(name, ' ', 8); - sint32 i = 0; - for (const char * ch = argv[0]; *ch != '\0' && i < 8; ch++) { - name[i++] = *ch; - } + if (argc > 0) { + char name[9] = { 0 }; + memset(name, ' ', 8); + sint32 i = 0; + for (const char * ch = argv[0]; *ch != '\0' && i < 8; ch++) { + name[i++] = *ch; + } - const ObjectRepositoryItem * ori = object_repository_find_object_by_name(name); - if (ori == NULL) { - console_writeline_error("Could not find the object."); - return 1; - } + const ObjectRepositoryItem * ori = object_repository_find_object_by_name(name); + if (ori == NULL) { + console_writeline_error("Could not find the object."); + return 1; + } - const rct_object_entry * entry = &ori->ObjectEntry; - void * loadedObject = object_manager_get_loaded_object(entry); - if (loadedObject != NULL) { - console_writeline_error("Object is already in scenario."); - return 1; - } + const rct_object_entry * entry = &ori->ObjectEntry; + void * loadedObject = object_manager_get_loaded_object(entry); + if (loadedObject != NULL) { + console_writeline_error("Object is already in scenario."); + return 1; + } - loadedObject = object_manager_load_object(entry); - if (loadedObject == NULL) { - console_writeline_error("Unable to load object."); - return 1; - } - sint32 groupIndex = object_manager_get_loaded_object_entry_index(loadedObject); + loadedObject = object_manager_load_object(entry); + if (loadedObject == NULL) { + console_writeline_error("Unable to load object."); + return 1; + } + sint32 groupIndex = object_manager_get_loaded_object_entry_index(loadedObject); - uint8 objectType = entry->flags & 0x0F; - if (objectType == OBJECT_TYPE_RIDE) { - // Automatically research the ride so it's supported by the game. - rct_ride_entry *rideEntry; - sint32 rideType; + uint8 objectType = entry->flags & 0x0F; + if (objectType == OBJECT_TYPE_RIDE) { + // Automatically research the ride so it's supported by the game. + rct_ride_entry *rideEntry; + sint32 rideType; - rideEntry = get_ride_entry(groupIndex); + rideEntry = get_ride_entry(groupIndex); - for (sint32 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { - rideType = rideEntry->ride_type[j]; - if (rideType != 255) - research_insert(true, 0x10000 | (rideType << 8) | groupIndex, rideEntry->category[0]); - } + for (sint32 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { + rideType = rideEntry->ride_type[j]; + if (rideType != 255) + research_insert(true, 0x10000 | (rideType << 8) | groupIndex, rideEntry->category[0]); + } - gSilentResearch = true; - research_reset_current_item(); - gSilentResearch = false; - } - else if (objectType == OBJECT_TYPE_SCENERY_SETS) { - research_insert(true, groupIndex, RESEARCH_CATEGORY_SCENERYSET); + gSilentResearch = true; + research_reset_current_item(); + gSilentResearch = false; + } + else if (objectType == OBJECT_TYPE_SCENERY_SETS) { + research_insert(true, groupIndex, RESEARCH_CATEGORY_SCENERYSET); - gSilentResearch = true; - research_reset_current_item(); - gSilentResearch = false; - } - scenery_set_default_placement_configuration(); - window_new_ride_init_vars(); + gSilentResearch = true; + research_reset_current_item(); + gSilentResearch = false; + } + scenery_set_default_placement_configuration(); + window_new_ride_init_vars(); - gWindowUpdateTicks = 0; - gfx_invalidate_screen(); - console_writeline("Object file loaded."); - } + gWindowUpdateTicks = 0; + gfx_invalidate_screen(); + console_writeline("Object file loaded."); + } - return 0; + return 0; } static sint32 cc_object_count(const utf8 **argv, sint32 argc) { - const utf8* object_type_names[] = { "Rides", "Small scenery", "Large scenery", "Walls", "Banners", "Paths", "Path Additions", "Scenery groups", "Park entrances", "Water" }; - for (sint32 i = 0; i < 10; i++) { + const utf8* object_type_names[] = { "Rides", "Small scenery", "Large scenery", "Walls", "Banners", "Paths", "Path Additions", "Scenery groups", "Park entrances", "Water" }; + for (sint32 i = 0; i < 10; i++) { - sint32 entryGroupIndex = 0; - for (; entryGroupIndex < object_entry_group_counts[i]; entryGroupIndex++){ - if (object_entry_groups[i].chunks[entryGroupIndex] == (uint8*)-1){ - break; - } - } - console_printf("%s: %d/%d", object_type_names[i], entryGroupIndex, object_entry_group_counts[i]); - } + sint32 entryGroupIndex = 0; + for (; entryGroupIndex < object_entry_group_counts[i]; entryGroupIndex++){ + if (object_entry_groups[i].chunks[entryGroupIndex] == (uint8*)-1){ + break; + } + } + console_printf("%s: %d/%d", object_type_names[i], entryGroupIndex, object_entry_group_counts[i]); + } - return 0; + return 0; } static sint32 cc_reset_user_strings(const utf8 **argv, sint32 argc) { - reset_user_strings(); - return 0; + reset_user_strings(); + return 0; } static sint32 cc_fix_banner_count(const utf8 **argv, sint32 argc) { - banner_reset_broken_index(); - return 0; + banner_reset_broken_index(); + return 0; } static sint32 cc_open(const utf8 **argv, sint32 argc) { - if (argc > 0) { - bool title = (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) != 0; - bool invalidTitle = false; - if (strcmp(argv[0], "object_selection") == 0 && invalidArguments(&invalidTitle, !title)) { - // Only this window should be open for safety reasons - window_close_all(); - window_editor_object_selection_open(); - } else if (strcmp(argv[0], "inventions_list") == 0 && invalidArguments(&invalidTitle, !title)) { - window_editor_inventions_list_open(); - } else if (strcmp(argv[0], "scenario_options") == 0 && invalidArguments(&invalidTitle, !title)) { - window_editor_scenario_options_open(); - } else if (strcmp(argv[0], "options") == 0) { - window_options_open(); - } else if (strcmp(argv[0], "themes") == 0) { - window_themes_open(); - } else if (strcmp(argv[0], "title_sequences") == 0) { - window_title_editor_open(0); - } else if (invalidTitle) { - console_writeline_error("Cannot open this window in the title screen."); - } else { - console_writeline_error("Invalid window."); - } - } - return 0; + if (argc > 0) { + bool title = (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) != 0; + bool invalidTitle = false; + if (strcmp(argv[0], "object_selection") == 0 && invalidArguments(&invalidTitle, !title)) { + // Only this window should be open for safety reasons + window_close_all(); + window_editor_object_selection_open(); + } else if (strcmp(argv[0], "inventions_list") == 0 && invalidArguments(&invalidTitle, !title)) { + window_editor_inventions_list_open(); + } else if (strcmp(argv[0], "scenario_options") == 0 && invalidArguments(&invalidTitle, !title)) { + window_editor_scenario_options_open(); + } else if (strcmp(argv[0], "options") == 0) { + window_options_open(); + } else if (strcmp(argv[0], "themes") == 0) { + window_themes_open(); + } else if (strcmp(argv[0], "title_sequences") == 0) { + window_title_editor_open(0); + } else if (invalidTitle) { + console_writeline_error("Cannot open this window in the title screen."); + } else { + console_writeline_error("Invalid window."); + } + } + return 0; } typedef sint32 (*console_command_func)(const utf8 **argv, sint32 argc); typedef struct console_command { - utf8 *command; - console_command_func func; - utf8 *help; - utf8 *usage; + utf8 *command; + console_command_func func; + utf8 *help; + utf8 *usage; } console_command; utf8* console_variable_table[] = { - "park_rating", - "money", - "scenario_initial_cash", - "current_loan", - "max_loan", - "guest_initial_cash", - "guest_initial_happiness", - "guest_initial_hunger", - "guest_initial_thirst", - "guest_prefer_less_intense_rides", - "guest_prefer_more_intense_rides", - "forbid_marketing_campagn", - "forbid_landscape_changes", - "forbid_tree_removal", - "forbid_high_construction", - "pay_for_rides", - "no_money", - "difficult_park_rating", - "difficult_guest_generation", - "land_rights_cost", - "construction_rights_cost", - "park_open", - "climate", - "game_speed", - "console_small_font", - "test_unfinished_tracks", - "no_test_crashes", - "location", - "window_scale", - "window_limit", - "render_weather_effects", - "render_weather_gloom", - "cheat_sandbox_mode", - "cheat_disable_clearance_checks", - "cheat_disable_support_limits", + "park_rating", + "money", + "scenario_initial_cash", + "current_loan", + "max_loan", + "guest_initial_cash", + "guest_initial_happiness", + "guest_initial_hunger", + "guest_initial_thirst", + "guest_prefer_less_intense_rides", + "guest_prefer_more_intense_rides", + "forbid_marketing_campagn", + "forbid_landscape_changes", + "forbid_tree_removal", + "forbid_high_construction", + "pay_for_rides", + "no_money", + "difficult_park_rating", + "difficult_guest_generation", + "land_rights_cost", + "construction_rights_cost", + "park_open", + "climate", + "game_speed", + "console_small_font", + "test_unfinished_tracks", + "no_test_crashes", + "location", + "window_scale", + "window_limit", + "render_weather_effects", + "render_weather_gloom", + "cheat_sandbox_mode", + "cheat_disable_clearance_checks", + "cheat_disable_support_limits", }; utf8* console_window_table[] = { - "object_selection", - "inventions_list", - "scenario_options", - "options", - "themes", - "title_sequences" + "object_selection", + "inventions_list", + "scenario_options", + "options", + "themes", + "title_sequences" }; console_command console_command_table[] = { - { "clear", cc_clear, "Clears the console.", "clear"}, - { "hide", cc_hide, "Hides the console.", "hide"}, - { "echo", cc_echo, "Echoes the text to the console.", "echo " }, - { "help", cc_help, "Lists commands or info about a command.", "help [command]" }, - { "get", cc_get, "Gets the value of the specified variable.", "get " }, - { "set", cc_set, "Sets the variable to the specified value.", "set " }, - { "open", cc_open, "Opens the window with the give name.", "open ." }, - { "variables", cc_variables, "Lists all the variables that can be used with get and sometimes set.", "variables" }, - { "windows", cc_windows, "Lists all the windows that can be opened.", "windows" }, - { "load_object", cc_load_object, "Loads the object file into the scenario.\n" - "Loading a scenery group will not load its associated objects.\n" - "This is a safer method opposed to \"open object_selection\".", - "load_object " }, - { "object_count", cc_object_count, "Shows the number of objects of each type in the scenario.", "object_count" }, - { "twitch", cc_twitch, "Twitch API" }, - { "reset_user_strings", cc_reset_user_strings, "Resets all user-defined strings, to fix incorrectly occurring 'Chosen name in use already' errors.", "reset_user_strings" }, - { "fix_banner_count", cc_fix_banner_count, "Fixes incorrectly appearing 'Too many banners' error by marking every banner entry without a map element as null.", "fix_banner_count" }, - { "rides", cc_rides, "Ride management.", "rides " }, - { "staff", cc_staff, "Staff management.", "staff "}, + { "clear", cc_clear, "Clears the console.", "clear"}, + { "hide", cc_hide, "Hides the console.", "hide"}, + { "echo", cc_echo, "Echoes the text to the console.", "echo " }, + { "help", cc_help, "Lists commands or info about a command.", "help [command]" }, + { "get", cc_get, "Gets the value of the specified variable.", "get " }, + { "set", cc_set, "Sets the variable to the specified value.", "set " }, + { "open", cc_open, "Opens the window with the give name.", "open ." }, + { "variables", cc_variables, "Lists all the variables that can be used with get and sometimes set.", "variables" }, + { "windows", cc_windows, "Lists all the windows that can be opened.", "windows" }, + { "load_object", cc_load_object, "Loads the object file into the scenario.\n" + "Loading a scenery group will not load its associated objects.\n" + "This is a safer method opposed to \"open object_selection\".", + "load_object " }, + { "object_count", cc_object_count, "Shows the number of objects of each type in the scenario.", "object_count" }, + { "twitch", cc_twitch, "Twitch API" }, + { "reset_user_strings", cc_reset_user_strings, "Resets all user-defined strings, to fix incorrectly occurring 'Chosen name in use already' errors.", "reset_user_strings" }, + { "fix_banner_count", cc_fix_banner_count, "Fixes incorrectly appearing 'Too many banners' error by marking every banner entry without a map element as null.", "fix_banner_count" }, + { "rides", cc_rides, "Ride management.", "rides " }, + { "staff", cc_staff, "Staff management.", "staff "}, }; static sint32 cc_windows(const utf8 **argv, sint32 argc) { - for (sint32 i = 0; i < countof(console_window_table); i++) - console_writeline(console_window_table[i]); - return 0; + for (sint32 i = 0; i < countof(console_window_table); i++) + console_writeline(console_window_table[i]); + return 0; } static sint32 cc_variables(const utf8 **argv, sint32 argc) { - for (sint32 i = 0; i < countof(console_variable_table); i++) - console_writeline(console_variable_table[i]); - return 0; + for (sint32 i = 0; i < countof(console_variable_table); i++) + console_writeline(console_variable_table[i]); + return 0; } static sint32 cc_help(const utf8 **argv, sint32 argc) { - if (argc > 0) { - for (sint32 i = 0; i < countof(console_command_table); i++) { - if (strcmp(console_command_table[i].command, argv[0]) == 0) { - console_writeline(console_command_table[i].help); - console_printf("\nUsage: %s", console_command_table[i].usage); - } - } - } - else { - console_write_all_commands(); - } - return 0; + if (argc > 0) { + for (sint32 i = 0; i < countof(console_command_table); i++) { + if (strcmp(console_command_table[i].command, argv[0]) == 0) { + console_writeline(console_command_table[i].help); + console_printf("\nUsage: %s", console_command_table[i].usage); + } + } + } + else { + console_write_all_commands(); + } + return 0; } static void console_write_all_commands() { - for (sint32 i = 0; i < countof(console_command_table); i++) - console_writeline(console_command_table[i].command); + for (sint32 i = 0; i < countof(console_command_table); i++) + console_writeline(console_command_table[i].command); } void console_execute(const utf8 *src) { - console_writeline(src); + console_writeline(src); - console_execute_silent(src); + console_execute_silent(src); } void console_execute_silent(const utf8 *src) { - sint32 argc = 0; - sint32 argvCapacity = 8; - utf8 **argv = malloc(argvCapacity * sizeof(utf8*)); - const utf8 *start = src; - const utf8 *end; - bool inQuotes = false; - do { - while (*start == ' ') - start++; + sint32 argc = 0; + sint32 argvCapacity = 8; + utf8 **argv = malloc(argvCapacity * sizeof(utf8*)); + const utf8 *start = src; + const utf8 *end; + bool inQuotes = false; + do { + while (*start == ' ') + start++; - if (*start == '"') { - inQuotes = true; - start++; - } - else { - inQuotes = false; - } + if (*start == '"') { + inQuotes = true; + start++; + } + else { + inQuotes = false; + } - end = start; - while (*end != 0) { - if (*end == ' ' && !inQuotes) - break; - if (*end == '"' && inQuotes) - break; - end++; - } - size_t length = end - start; + end = start; + while (*end != 0) { + if (*end == ' ' && !inQuotes) + break; + if (*end == '"' && inQuotes) + break; + end++; + } + size_t length = end - start; - if (length > 0) { - utf8 *arg = malloc(length + 1); - memcpy(arg, start, length); - arg[length] = 0; + if (length > 0) { + utf8 *arg = malloc(length + 1); + memcpy(arg, start, length); + arg[length] = 0; - if (argc >= argvCapacity) { - argvCapacity *= 2; - argv = realloc(argv, argvCapacity * sizeof(utf8*)); - } - argv[argc] = arg; - argc++; - } + if (argc >= argvCapacity) { + argvCapacity *= 2; + argv = realloc(argv, argvCapacity * sizeof(utf8*)); + } + argv[argc] = arg; + argc++; + } - start = end; - } while (*end != 0); + start = end; + } while (*end != 0); - if (argc == 0) - return; + if (argc == 0) + return; - // Aliases for hiding the console - if(strcmp(argv[0],"quit") == 0 || strcmp(argv[0],"exit") == 0) { - free(argv[0]); - argv[0] = _strdup("hide"); - } + // Aliases for hiding the console + if(strcmp(argv[0],"quit") == 0 || strcmp(argv[0],"exit") == 0) { + free(argv[0]); + argv[0] = _strdup("hide"); + } - bool validCommand = false; - for (sint32 i = 0; i < countof(console_command_table); i++) { - if (strcmp(argv[0], console_command_table[i].command) == 0) { - console_command_table[i].func((const utf8 **)(argv + 1), argc - 1); - validCommand = true; - break; - } - } + bool validCommand = false; + for (sint32 i = 0; i < countof(console_command_table); i++) { + if (strcmp(argv[0], console_command_table[i].command) == 0) { + console_command_table[i].func((const utf8 **)(argv + 1), argc - 1); + validCommand = true; + break; + } + } - for (sint32 i = 0; i < argc; i++) - free(argv[i]); - free(argv); + for (sint32 i = 0; i < argc; i++) + free(argv[i]); + free(argv); - if (!validCommand) { - utf8 output[128]; - utf8 *dst = output; - dst = utf8_write_codepoint(dst, FORMAT_TOPAZ); - safe_strcpy(dst, "Unknown command. Type help to list available commands.", sizeof(output) - (dst - output)); - console_writeline(output); - } + if (!validCommand) { + utf8 output[128]; + utf8 *dst = output; + dst = utf8_write_codepoint(dst, FORMAT_TOPAZ); + safe_strcpy(dst, "Unknown command. Type help to list available commands.", sizeof(output) - (dst - output)); + console_writeline(output); + } } static bool invalidArguments(bool *invalid, bool arguments) { - if (!arguments) { - *invalid = true; - return false; - } - return true; + if (!arguments) { + *invalid = true; + return false; + } + return true; } diff --git a/src/openrct2/interface/graph.c b/src/openrct2/interface/graph.c index 36e6a1b8a9..750bc48160 100644 --- a/src/openrct2/interface/graph.c +++ b/src/openrct2/interface/graph.c @@ -20,156 +20,156 @@ static void graph_draw_months_uint8(rct_drawpixelinfo *dpi, uint8 *history, sint32 count, sint32 baseX, sint32 baseY) { - sint32 i, x, y, yearOver32, currentMonth, currentDay; + sint32 i, x, y, yearOver32, currentMonth, currentDay; - currentMonth = date_get_month(gDateMonthsElapsed); - currentDay = gDateMonthTicks; - yearOver32 = (currentMonth * 4) + (currentDay >> 14) - 31; - x = baseX; - y = baseY; - for (i = count - 1; i >= 0; i--) { - if (history[i] != 0 && history[i] != 255 && yearOver32 % 4 == 0) { - // Draw month text - set_format_arg(0, uint32, DateGameShortMonthNames[((yearOver32 / 4) + 8) % 8]); - gfx_draw_string_centred(dpi, STR_GRAPH_LABEL, x, y - 10, COLOUR_BLACK, gCommonFormatArgs); + currentMonth = date_get_month(gDateMonthsElapsed); + currentDay = gDateMonthTicks; + yearOver32 = (currentMonth * 4) + (currentDay >> 14) - 31; + x = baseX; + y = baseY; + for (i = count - 1; i >= 0; i--) { + if (history[i] != 0 && history[i] != 255 && yearOver32 % 4 == 0) { + // Draw month text + set_format_arg(0, uint32, DateGameShortMonthNames[((yearOver32 / 4) + 8) % 8]); + gfx_draw_string_centred(dpi, STR_GRAPH_LABEL, x, y - 10, COLOUR_BLACK, gCommonFormatArgs); - // Draw month mark - gfx_fill_rect(dpi, x, y, x, y + 3, PALETTE_INDEX_10); - } + // Draw month mark + gfx_fill_rect(dpi, x, y, x, y + 3, PALETTE_INDEX_10); + } - yearOver32 = (yearOver32 + 1) % 32; - x += 6; - } + yearOver32 = (yearOver32 + 1) % 32; + x += 6; + } } static void graph_draw_line_a_uint8(rct_drawpixelinfo *dpi, uint8 *history, sint32 count, sint32 baseX, sint32 baseY) { - sint32 i, x, y, lastX, lastY; - lastX = -1; - lastY = -1; - x = baseX; - for (i = count - 1; i >= 0; i--) { - if (history[i] != 0 && history[i] != 255) { - y = baseY + ((255 - history[i]) * 100) / 256; + sint32 i, x, y, lastX, lastY; + lastX = -1; + lastY = -1; + x = baseX; + for (i = count - 1; i >= 0; i--) { + if (history[i] != 0 && history[i] != 255) { + y = baseY + ((255 - history[i]) * 100) / 256; - if (lastX != -1) { - gfx_draw_line(dpi, lastX + 1, lastY + 1, x + 1, y + 1, PALETTE_INDEX_10); - gfx_draw_line(dpi, lastX, lastY + 1, x, y + 1, PALETTE_INDEX_10); - } - if (i == 0) - gfx_fill_rect(dpi, x, y, x + 2, y + 2, PALETTE_INDEX_10); + if (lastX != -1) { + gfx_draw_line(dpi, lastX + 1, lastY + 1, x + 1, y + 1, PALETTE_INDEX_10); + gfx_draw_line(dpi, lastX, lastY + 1, x, y + 1, PALETTE_INDEX_10); + } + if (i == 0) + gfx_fill_rect(dpi, x, y, x + 2, y + 2, PALETTE_INDEX_10); - lastX = x; - lastY = y; - } - x += 6; - } + lastX = x; + lastY = y; + } + x += 6; + } } static void graph_draw_line_b_uint8(rct_drawpixelinfo *dpi, uint8 *history, sint32 count, sint32 baseX, sint32 baseY) { - sint32 i, x, y, lastX, lastY; + sint32 i, x, y, lastX, lastY; - lastX = -1; - lastY = -1; - x = baseX; - for (i = count - 1; i >= 0; i--) { - if (history[i] != 0 && history[i] != 255) { - y = baseY + ((255 - history[i]) * 100) / 256; + lastX = -1; + lastY = -1; + x = baseX; + for (i = count - 1; i >= 0; i--) { + if (history[i] != 0 && history[i] != 255) { + y = baseY + ((255 - history[i]) * 100) / 256; - if (lastX != -1) - gfx_draw_line(dpi, lastX, lastY, x, y, PALETTE_INDEX_21); - if (i == 0) - gfx_fill_rect(dpi, x - 1, y - 1, x + 1, y + 1, PALETTE_INDEX_21); + if (lastX != -1) + gfx_draw_line(dpi, lastX, lastY, x, y, PALETTE_INDEX_21); + if (i == 0) + gfx_fill_rect(dpi, x - 1, y - 1, x + 1, y + 1, PALETTE_INDEX_21); - lastX = x; - lastY = y; - } - x += 6; - } + lastX = x; + lastY = y; + } + x += 6; + } } void graph_draw_uint8(rct_drawpixelinfo *dpi, uint8 *history, sint32 count, sint32 baseX, sint32 baseY) { - graph_draw_months_uint8(dpi, history, count, baseX, baseY); - graph_draw_line_a_uint8(dpi, history, count, baseX, baseY); - graph_draw_line_b_uint8(dpi, history, count, baseX, baseY); + graph_draw_months_uint8(dpi, history, count, baseX, baseY); + graph_draw_line_a_uint8(dpi, history, count, baseX, baseY); + graph_draw_line_b_uint8(dpi, history, count, baseX, baseY); } static void graph_draw_months_money32(rct_drawpixelinfo *dpi, money32 *history, sint32 count, sint32 baseX, sint32 baseY) { - sint32 i, x, y, yearOver32, currentMonth, currentDay; + sint32 i, x, y, yearOver32, currentMonth, currentDay; - currentMonth = date_get_month(gDateMonthsElapsed); - currentDay = gDateMonthTicks; - yearOver32 = (currentMonth * 4) + (currentDay >> 14) - 31; - x = baseX; - y = baseY; - for (i = count - 1; i >= 0; i--) { - if (history[i] != 0x80000000 && yearOver32 % 4 == 0) { - // Draw month text - sint32 monthFormat = DateGameShortMonthNames[((yearOver32 / 4) + 8) % 8]; - gfx_draw_string_centred(dpi, STR_GRAPH_LABEL, x, y - 10, COLOUR_BLACK, &monthFormat); + currentMonth = date_get_month(gDateMonthsElapsed); + currentDay = gDateMonthTicks; + yearOver32 = (currentMonth * 4) + (currentDay >> 14) - 31; + x = baseX; + y = baseY; + for (i = count - 1; i >= 0; i--) { + if (history[i] != 0x80000000 && yearOver32 % 4 == 0) { + // Draw month text + sint32 monthFormat = DateGameShortMonthNames[((yearOver32 / 4) + 8) % 8]; + gfx_draw_string_centred(dpi, STR_GRAPH_LABEL, x, y - 10, COLOUR_BLACK, &monthFormat); - // Draw month mark - gfx_fill_rect(dpi, x, y, x, y + 3, PALETTE_INDEX_10); - } + // Draw month mark + gfx_fill_rect(dpi, x, y, x, y + 3, PALETTE_INDEX_10); + } - yearOver32 = (yearOver32 + 1) % 32; - x += 6; - } + yearOver32 = (yearOver32 + 1) % 32; + x += 6; + } } static void graph_draw_line_a_money32(rct_drawpixelinfo *dpi, money32 *history, sint32 count, sint32 baseX, sint32 baseY, sint32 modifier, sint32 offset) { - sint32 i, x, y, lastX, lastY; - lastX = -1; - lastY = -1; - x = baseX; - for (i = count - 1; i >= 0; i--) { - if (history[i] != 0x80000000) { - y = baseY + 170 - 6 - ((((history[i] >> modifier) + offset) * 170) / 256); + sint32 i, x, y, lastX, lastY; + lastX = -1; + lastY = -1; + x = baseX; + for (i = count - 1; i >= 0; i--) { + if (history[i] != 0x80000000) { + y = baseY + 170 - 6 - ((((history[i] >> modifier) + offset) * 170) / 256); - if (lastX != -1) { - gfx_draw_line(dpi, lastX + 1, lastY + 1, x + 1, y + 1, PALETTE_INDEX_10); - gfx_draw_line(dpi, lastX, lastY + 1, x, y + 1, PALETTE_INDEX_10); - } - if (i == 0) - gfx_fill_rect(dpi, x, y, x + 2, y + 2, PALETTE_INDEX_10); + if (lastX != -1) { + gfx_draw_line(dpi, lastX + 1, lastY + 1, x + 1, y + 1, PALETTE_INDEX_10); + gfx_draw_line(dpi, lastX, lastY + 1, x, y + 1, PALETTE_INDEX_10); + } + if (i == 0) + gfx_fill_rect(dpi, x, y, x + 2, y + 2, PALETTE_INDEX_10); - lastX = x; - lastY = y; - } - x += 6; - } + lastX = x; + lastY = y; + } + x += 6; + } } static void graph_draw_line_b_money32(rct_drawpixelinfo *dpi, money32 *history, sint32 count, sint32 baseX, sint32 baseY, sint32 modifier, sint32 offset) { - sint32 i, x, y, lastX, lastY; + sint32 i, x, y, lastX, lastY; - lastX = -1; - lastY = -1; - x = baseX; - for (i = count - 1; i >= 0; i--) { - if (history[i] != 0x80000000) { - y = baseY + 170 - 6 - ((((history[i] >> modifier) + offset) * 170) / 256); + lastX = -1; + lastY = -1; + x = baseX; + for (i = count - 1; i >= 0; i--) { + if (history[i] != 0x80000000) { + y = baseY + 170 - 6 - ((((history[i] >> modifier) + offset) * 170) / 256); - if (lastX != -1) - gfx_draw_line(dpi, lastX, lastY, x, y, PALETTE_INDEX_21); - if (i == 0) - gfx_fill_rect(dpi, x - 1, y - 1, x + 1, y + 1, PALETTE_INDEX_21); + if (lastX != -1) + gfx_draw_line(dpi, lastX, lastY, x, y, PALETTE_INDEX_21); + if (i == 0) + gfx_fill_rect(dpi, x - 1, y - 1, x + 1, y + 1, PALETTE_INDEX_21); - lastX = x; - lastY = y; - } - x += 6; - } + lastX = x; + lastY = y; + } + x += 6; + } } void graph_draw_money32(rct_drawpixelinfo *dpi, money32 *history, sint32 count, sint32 baseX, sint32 baseY, sint32 modifier, sint32 offset) { - graph_draw_months_money32(dpi, history, count, baseX, baseY); - graph_draw_line_a_money32(dpi, history, count, baseX, baseY, modifier, offset); - graph_draw_line_b_money32(dpi, history, count, baseX, baseY, modifier, offset); + graph_draw_months_money32(dpi, history, count, baseX, baseY); + graph_draw_line_a_money32(dpi, history, count, baseX, baseY, modifier, offset); + graph_draw_line_b_money32(dpi, history, count, baseX, baseY, modifier, offset); } diff --git a/src/openrct2/interface/keyboard_shortcut.c b/src/openrct2/interface/keyboard_shortcut.c index 82314f798e..d2137c17c1 100644 --- a/src/openrct2/interface/keyboard_shortcut.c +++ b/src/openrct2/interface/keyboard_shortcut.c @@ -45,31 +45,31 @@ static const shortcut_action shortcut_table[SHORTCUT_COUNT]; */ void keyboard_shortcut_set(sint32 key) { - sint32 i; + sint32 i; - // Unmap shortcut that already uses this key - for (i = 0; i < SHORTCUT_COUNT; i++) { - if (key == gShortcutKeys[i]) { - gShortcutKeys[i] = SHORTCUT_UNDEFINED; - break; - } - } + // Unmap shortcut that already uses this key + for (i = 0; i < SHORTCUT_COUNT; i++) { + if (key == gShortcutKeys[i]) { + gShortcutKeys[i] = SHORTCUT_UNDEFINED; + break; + } + } - // Map shortcut to this key - gShortcutKeys[gKeyboardShortcutChangeId] = key; - window_close_by_class(WC_CHANGE_KEYBOARD_SHORTCUT); - window_invalidate_by_class(WC_KEYBOARD_SHORTCUT_LIST); - config_shortcut_keys_save(); + // Map shortcut to this key + gShortcutKeys[gKeyboardShortcutChangeId] = key; + window_close_by_class(WC_CHANGE_KEYBOARD_SHORTCUT); + window_invalidate_by_class(WC_KEYBOARD_SHORTCUT_LIST); + config_shortcut_keys_save(); } static sint32 keyboard_shortcut_get_from_key(sint32 key) { - for (sint32 i = 0; i < SHORTCUT_COUNT; i++) { - if (key == gShortcutKeys[i]) { - return i; - } - } - return -1; + for (sint32 i = 0; i < SHORTCUT_COUNT; i++) { + if (key == gShortcutKeys[i]) { + return i; + } + } + return -1; } /** @@ -78,705 +78,705 @@ static sint32 keyboard_shortcut_get_from_key(sint32 key) */ void keyboard_shortcut_handle(sint32 key) { - sint32 shortcut = keyboard_shortcut_get_from_key(key); - if (shortcut != -1) { - keyboard_shortcut_handle_command(shortcut); - } + sint32 shortcut = keyboard_shortcut_get_from_key(key); + if (shortcut != -1) { + keyboard_shortcut_handle_command(shortcut); + } } void keyboard_shortcut_handle_command(sint32 shortcutIndex) { - if (shortcutIndex >= 0 && shortcutIndex < countof(shortcut_table)) { - shortcut_action action = shortcut_table[shortcutIndex]; - if (action != NULL) { - action(); - } - } + if (shortcutIndex >= 0 && shortcutIndex < countof(shortcut_table)) { + shortcut_action action = shortcut_table[shortcutIndex]; + if (action != NULL) { + action(); + } + } } void keyboard_shortcut_format_string(char *buffer, size_t size, uint16 shortcutKey) { - char formatBuffer[256]; + char formatBuffer[256]; - if (size == 0) return; - *buffer = 0; - if (shortcutKey == SHORTCUT_UNDEFINED) return; - if (shortcutKey & 0x100) { - format_string(formatBuffer, 256, STR_SHIFT_PLUS, NULL); - safe_strcat(buffer, formatBuffer, size); - } - if (shortcutKey & 0x200) { - format_string(formatBuffer, 256, STR_CTRL_PLUS, NULL); - safe_strcat(buffer, formatBuffer, size); - } - if (shortcutKey & 0x400) { + if (size == 0) return; + *buffer = 0; + if (shortcutKey == SHORTCUT_UNDEFINED) return; + if (shortcutKey & 0x100) { + format_string(formatBuffer, 256, STR_SHIFT_PLUS, NULL); + safe_strcat(buffer, formatBuffer, size); + } + if (shortcutKey & 0x200) { + format_string(formatBuffer, 256, STR_CTRL_PLUS, NULL); + safe_strcat(buffer, formatBuffer, size); + } + if (shortcutKey & 0x400) { #ifdef __MACOSX__ - format_string(formatBuffer, 256, STR_OPTION_PLUS, NULL); + format_string(formatBuffer, 256, STR_OPTION_PLUS, NULL); #else - format_string(formatBuffer, 256, STR_ALT_PLUS, NULL); + format_string(formatBuffer, 256, STR_ALT_PLUS, NULL); #endif - safe_strcat(buffer, formatBuffer, size); - } - if (shortcutKey & 0x800) { - format_string(formatBuffer, 256, STR_CMD_PLUS, NULL); - safe_strcat(buffer, formatBuffer, size); - } - safe_strcat(buffer, SDL_GetScancodeName(shortcutKey & 0xFF), size); + safe_strcat(buffer, formatBuffer, size); + } + if (shortcutKey & 0x800) { + format_string(formatBuffer, 256, STR_CMD_PLUS, NULL); + safe_strcat(buffer, formatBuffer, size); + } + safe_strcat(buffer, SDL_GetScancodeName(shortcutKey & 0xFF), size); } #pragma region Shortcut Commands static void toggle_view_flag(sint32 viewportFlag) { - rct_window *window; + rct_window *window; - window = window_get_main(); - if (window != NULL) { - window->viewport->flags ^= viewportFlag; - window_invalidate(window); - } + window = window_get_main(); + if (window != NULL) { + window->viewport->flags ^= viewportFlag; + window_invalidate(window); + } } static void shortcut_close_top_most_window() { - window_close_top(); + window_close_top(); } static void shortcut_close_all_floating_windows() { - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR)) - window_close_all(); - else if (gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) - window_close_top(); + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR)) + window_close_all(); + else if (gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) + window_close_top(); } static void shortcut_cancel_construction_mode() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - rct_window *window = window_find_by_class(WC_ERROR); - if (window != NULL) - window_close(window); - else if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) - tool_cancel(); + rct_window *window = window_find_by_class(WC_ERROR); + if (window != NULL) + window_close(window); + else if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) + tool_cancel(); } static void shortcut_pause_game() { - if (!(gScreenFlags & (SCREEN_FLAGS_TITLE_DEMO | SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_MANAGER))) { - rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); - if (window != NULL) { - window_invalidate(window); - window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_PAUSE); - } - } + if (!(gScreenFlags & (SCREEN_FLAGS_TITLE_DEMO | SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_MANAGER))) { + rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); + if (window != NULL) { + window_invalidate(window); + window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_PAUSE); + } + } } static void shortcut_zoom_view_out() { - main_window_zoom(false, false); + main_window_zoom(false, false); } static void shortcut_zoom_view_in() { - main_window_zoom(true, false); + main_window_zoom(true, false); } static void shortcut_rotate_view_clockwise() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - rct_window* w = window_get_main(); - window_rotate_camera(w, 1); + rct_window* w = window_get_main(); + window_rotate_camera(w, 1); } static void shortcut_rotate_view_anticlockwise() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - rct_window* w = window_get_main(); - window_rotate_camera(w, -1); + rct_window* w = window_get_main(); + window_rotate_camera(w, -1); } static void shortcut_rotate_construction_object() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - // Rotate scenery - rct_window *w = window_find_by_class(WC_SCENERY); - if (w != NULL && !widget_is_disabled(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON) && w->widgets[WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type != WWT_EMPTY) { - window_event_mouse_up_call(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON); - return; - } + // Rotate scenery + rct_window *w = window_find_by_class(WC_SCENERY); + if (w != NULL && !widget_is_disabled(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON) && w->widgets[WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type != WWT_EMPTY) { + window_event_mouse_up_call(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON); + return; + } - // Rotate construction track piece - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != NULL && !widget_is_disabled(w, WC_RIDE_CONSTRUCTION__WIDX_ROTATE) && w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].type != WWT_EMPTY) { - // Check if building a maze... - if (w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].tooltip != STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP) { - window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ROTATE); - return; - } - } + // Rotate construction track piece + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w != NULL && !widget_is_disabled(w, WC_RIDE_CONSTRUCTION__WIDX_ROTATE) && w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].type != WWT_EMPTY) { + // Check if building a maze... + if (w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].tooltip != STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP) { + window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ROTATE); + return; + } + } - // Rotate track design preview - w = window_find_by_class(WC_TRACK_DESIGN_LIST); - if (w != NULL && !widget_is_disabled(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE) && w->widgets[WC_TRACK_DESIGN_LIST__WIDX_ROTATE].type != WWT_EMPTY) { - window_event_mouse_up_call(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE); - return; - } + // Rotate track design preview + w = window_find_by_class(WC_TRACK_DESIGN_LIST); + if (w != NULL && !widget_is_disabled(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE) && w->widgets[WC_TRACK_DESIGN_LIST__WIDX_ROTATE].type != WWT_EMPTY) { + window_event_mouse_up_call(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE); + return; + } - // Rotate track design placement - w = window_find_by_class(WC_TRACK_DESIGN_PLACE); - if (w != NULL && !widget_is_disabled(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE) && w->widgets[WC_TRACK_DESIGN_PLACE__WIDX_ROTATE].type != WWT_EMPTY) { - window_event_mouse_up_call(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE); - return; - } + // Rotate track design placement + w = window_find_by_class(WC_TRACK_DESIGN_PLACE); + if (w != NULL && !widget_is_disabled(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE) && w->widgets[WC_TRACK_DESIGN_PLACE__WIDX_ROTATE].type != WWT_EMPTY) { + window_event_mouse_up_call(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE); + return; + } - // Rotate park entrance - w = window_find_by_class(WC_MAP); - if (w != NULL && !widget_is_disabled(w, WC_MAP__WIDX_ROTATE_90) && w->widgets[WC_MAP__WIDX_ROTATE_90].type != WWT_EMPTY) { - window_event_mouse_up_call(w, WC_MAP__WIDX_ROTATE_90); - return; - } + // Rotate park entrance + w = window_find_by_class(WC_MAP); + if (w != NULL && !widget_is_disabled(w, WC_MAP__WIDX_ROTATE_90) && w->widgets[WC_MAP__WIDX_ROTATE_90].type != WWT_EMPTY) { + window_event_mouse_up_call(w, WC_MAP__WIDX_ROTATE_90); + return; + } } static void shortcut_underground_view_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - toggle_view_flag(VIEWPORT_FLAG_UNDERGROUND_INSIDE); + toggle_view_flag(VIEWPORT_FLAG_UNDERGROUND_INSIDE); } static void shortcut_remove_base_land_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - toggle_view_flag(VIEWPORT_FLAG_HIDE_BASE); + toggle_view_flag(VIEWPORT_FLAG_HIDE_BASE); } static void shortcut_remove_vertical_land_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - toggle_view_flag(VIEWPORT_FLAG_HIDE_VERTICAL); + toggle_view_flag(VIEWPORT_FLAG_HIDE_VERTICAL); } static void shortcut_remove_top_bottom_toolbar_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) { - if (window_find_by_class(WC_TITLE_LOGO) != NULL) { - window_close(window_find_by_class(WC_TITLE_LOGO)); - window_close(window_find_by_class(WC_TITLE_OPTIONS)); - window_close(window_find_by_class(WC_TITLE_MENU)); - window_close(window_find_by_class(WC_TITLE_EXIT)); - gTitleHideVersionInfo = true; - } else { - title_create_windows(); - } - } else { - if (window_find_by_class(WC_TOP_TOOLBAR) != NULL) { - window_close(window_find_by_class(WC_DROPDOWN)); - window_close(window_find_by_class(WC_TOP_TOOLBAR)); - window_close(window_find_by_class(WC_BOTTOM_TOOLBAR)); - } else { - if (gScreenFlags == 0) { - window_top_toolbar_open(); - window_game_bottom_toolbar_open(); - } else { - window_top_toolbar_open(); - window_editor_bottom_toolbar_open(); - } - } - } - gfx_invalidate_screen(); + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) { + if (window_find_by_class(WC_TITLE_LOGO) != NULL) { + window_close(window_find_by_class(WC_TITLE_LOGO)); + window_close(window_find_by_class(WC_TITLE_OPTIONS)); + window_close(window_find_by_class(WC_TITLE_MENU)); + window_close(window_find_by_class(WC_TITLE_EXIT)); + gTitleHideVersionInfo = true; + } else { + title_create_windows(); + } + } else { + if (window_find_by_class(WC_TOP_TOOLBAR) != NULL) { + window_close(window_find_by_class(WC_DROPDOWN)); + window_close(window_find_by_class(WC_TOP_TOOLBAR)); + window_close(window_find_by_class(WC_BOTTOM_TOOLBAR)); + } else { + if (gScreenFlags == 0) { + window_top_toolbar_open(); + window_game_bottom_toolbar_open(); + } else { + window_top_toolbar_open(); + window_editor_bottom_toolbar_open(); + } + } + } + gfx_invalidate_screen(); } static void shortcut_see_through_rides_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - toggle_view_flag(VIEWPORT_FLAG_SEETHROUGH_RIDES); + toggle_view_flag(VIEWPORT_FLAG_SEETHROUGH_RIDES); } static void shortcut_see_through_scenery_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - toggle_view_flag(VIEWPORT_FLAG_SEETHROUGH_SCENERY); + toggle_view_flag(VIEWPORT_FLAG_SEETHROUGH_SCENERY); } static void shortcut_see_through_paths_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - toggle_view_flag(VIEWPORT_FLAG_SEETHROUGH_PATHS); + toggle_view_flag(VIEWPORT_FLAG_SEETHROUGH_PATHS); } static void shortcut_invisible_supports_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - toggle_view_flag(VIEWPORT_FLAG_INVISIBLE_SUPPORTS); + toggle_view_flag(VIEWPORT_FLAG_INVISIBLE_SUPPORTS); } static void shortcut_invisible_people_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - toggle_view_flag(VIEWPORT_FLAG_INVISIBLE_PEEPS); + toggle_view_flag(VIEWPORT_FLAG_INVISIBLE_PEEPS); } static void shortcut_height_marks_on_land_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - toggle_view_flag(VIEWPORT_FLAG_LAND_HEIGHTS); + toggle_view_flag(VIEWPORT_FLAG_LAND_HEIGHTS); } static void shortcut_height_marks_on_ride_tracks_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - toggle_view_flag(VIEWPORT_FLAG_TRACK_HEIGHTS); + toggle_view_flag(VIEWPORT_FLAG_TRACK_HEIGHTS); } static void shortcut_height_marks_on_paths_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - toggle_view_flag(VIEWPORT_FLAG_PATH_HEIGHTS); + toggle_view_flag(VIEWPORT_FLAG_PATH_HEIGHTS); } static void shortcut_adjust_land() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) { - if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { - rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); - if (window != NULL) { - window_invalidate(window); - window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_LAND); - } - } - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) { + if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { + rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); + if (window != NULL) { + window_invalidate(window); + window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_LAND); + } + } + } } static void shortcut_adjust_water() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) { - if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { - rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); - if (window != NULL) { - window_invalidate(window); - window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_WATER); - } - } - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) { + if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { + rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); + if (window != NULL) { + window_invalidate(window); + window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_WATER); + } + } + } } static void shortcut_build_scenery() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) { - if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { - rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); - if (window != NULL) { - window_invalidate(window); - window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_SCENERY); - } - } - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) { + if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { + rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); + if (window != NULL) { + window_invalidate(window); + window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_SCENERY); + } + } + } } static void shortcut_build_paths() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) { - if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { - rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); - if (window != NULL) { - window_invalidate(window); - window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_PATH); - } - } - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) { + if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { + rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); + if (window != NULL) { + window_invalidate(window); + window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_PATH); + } + } + } } static void shortcut_build_new_ride() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR)) { - if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { - window_new_ride_open(); - } - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR)) { + if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { + window_new_ride_open(); + } + } } static void shortcut_show_financial_information() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) - window_finances_open(); + if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) + window_finances_open(); } static void shortcut_show_research_information() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { - if (gConfigInterface.toolbar_show_research) - window_research_open(); - else - window_new_ride_open_research(); - } + if (!(gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { + if (gConfigInterface.toolbar_show_research) + window_research_open(); + else + window_new_ride_open_research(); + } } static void shortcut_show_rides_list() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { - window_ride_list_open(); - } + if (!(gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { + window_ride_list_open(); + } } static void shortcut_show_park_information() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { - window_park_entrance_open(); - } + if (!(gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { + window_park_entrance_open(); + } } static void shortcut_show_guest_list() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { - window_guest_list_open(); - } + if (!(gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { + window_guest_list_open(); + } } static void shortcut_show_staff_list() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { - window_staff_list_open(); - } + if (!(gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { + window_staff_list_open(); + } } static void shortcut_show_recent_messages() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) - window_news_open(); + if (!(gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) + window_news_open(); } static void shortcut_show_map() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) - if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) - window_map_open(); + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) + if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) + window_map_open(); } static void shortcut_screenshot() { - gScreenshotCountdown = 2; + gScreenshotCountdown = 2; } static void shortcut_reduce_game_speed() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (network_get_mode() == NETWORK_MODE_NONE) - game_reduce_game_speed(); + if (network_get_mode() == NETWORK_MODE_NONE) + game_reduce_game_speed(); } static void shortcut_increase_game_speed() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - if (network_get_mode() == NETWORK_MODE_NONE) - game_increase_game_speed(); + if (network_get_mode() == NETWORK_MODE_NONE) + game_increase_game_speed(); } static void shortcut_open_cheat_window() { - if (gScreenFlags != SCREEN_FLAGS_PLAYING) - return; + if (gScreenFlags != SCREEN_FLAGS_PLAYING) + return; - // Check if window is already open - rct_window *window = window_find_by_class(WC_CHEATS); - if (window != NULL) { - window_close(window); - return; - } - window_cheats_open(); + // Check if window is already open + rct_window *window = window_find_by_class(WC_CHEATS); + if (window != NULL) { + window_close(window); + return; + } + window_cheats_open(); } static void shortcut_open_chat_window() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - chat_toggle(); + chat_toggle(); } static void shortcut_quick_save_game() { - // Do a quick save in playing mode and a regular save in Scenario Editor mode. In other cases, don't do anything. - if (gScreenFlags == SCREEN_FLAGS_PLAYING) { - tool_cancel(); - save_game(); - } - else if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - window_loadsave_open(LOADSAVETYPE_SAVE | LOADSAVETYPE_LANDSCAPE, gS6Info.name); - } + // Do a quick save in playing mode and a regular save in Scenario Editor mode. In other cases, don't do anything. + if (gScreenFlags == SCREEN_FLAGS_PLAYING) { + tool_cancel(); + save_game(); + } + else if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { + window_loadsave_open(LOADSAVETYPE_SAVE | LOADSAVETYPE_LANDSCAPE, gS6Info.name); + } } static void shortcut_show_options() { - window_options_open(); + window_options_open(); } static void shortcut_mute_sound() { - audio_toggle_all_sounds(); + audio_toggle_all_sounds(); } static void shortcut_windowed_mode_toggle() { - platform_toggle_windowed_mode(); + platform_toggle_windowed_mode(); } static void shortcut_show_multiplayer() { - if (network_get_mode() != NETWORK_MODE_NONE) - window_multiplayer_open(); + if (network_get_mode() != NETWORK_MODE_NONE) + window_multiplayer_open(); } static void shortcut_orginal_painting_toggle() { - gUseOriginalRidePaint = !gUseOriginalRidePaint; - window_invalidate_by_class(WC_DEBUG_PAINT); - gfx_invalidate_screen(); + gUseOriginalRidePaint = !gUseOriginalRidePaint; + window_invalidate_by_class(WC_DEBUG_PAINT); + gfx_invalidate_screen(); } static void shortcut_debug_paint_toggle() { - rct_window * window = window_find_by_class(WC_DEBUG_PAINT); - if (window != NULL) { - window_close(window); - } else { - window_debug_paint_open(); - } + rct_window * window = window_find_by_class(WC_DEBUG_PAINT); + if (window != NULL) { + window_close(window); + } else { + window_debug_paint_open(); + } } static void shortcut_ride_construction_turn_left() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - window_ride_construction_keyboard_shortcut_turn_left(); + window_ride_construction_keyboard_shortcut_turn_left(); } static void shortcut_ride_construction_turn_right() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - window_ride_construction_keyboard_shortcut_turn_right(); + window_ride_construction_keyboard_shortcut_turn_right(); } static void shortcut_ride_construction_use_track_default() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - window_ride_construction_keyboard_shortcut_use_track_default(); + window_ride_construction_keyboard_shortcut_use_track_default(); } static void shortcut_ride_construction_slope_down() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - window_ride_construction_keyboard_shortcut_slope_down(); + window_ride_construction_keyboard_shortcut_slope_down(); } static void shortcut_ride_construction_slope_up() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - window_ride_construction_keyboard_shortcut_slope_up(); + window_ride_construction_keyboard_shortcut_slope_up(); } static void shortcut_ride_construction_chain_lift_toggle() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - window_ride_construction_keyboard_shortcut_chain_lift_toggle(); + window_ride_construction_keyboard_shortcut_chain_lift_toggle(); } static void shortcut_ride_construction_bank_left() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - window_ride_construction_keyboard_shortcut_bank_left(); + window_ride_construction_keyboard_shortcut_bank_left(); } static void shortcut_ride_construction_bank_right() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - window_ride_construction_keyboard_shortcut_bank_right(); + window_ride_construction_keyboard_shortcut_bank_right(); } static void shortcut_ride_construction_previous_track() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - window_ride_construction_keyboard_shortcut_previous_track(); + window_ride_construction_keyboard_shortcut_previous_track(); } static void shortcut_ride_construction_next_track() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - window_ride_construction_keyboard_shortcut_next_track(); + window_ride_construction_keyboard_shortcut_next_track(); } static void shortcut_ride_construction_build_current() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - window_ride_construction_keyboard_shortcut_build_current(); + window_ride_construction_keyboard_shortcut_build_current(); } static void shortcut_ride_construction_demolish_current() { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; - window_ride_construction_keyboard_shortcut_demolish_current(); + window_ride_construction_keyboard_shortcut_demolish_current(); } static const shortcut_action shortcut_table[SHORTCUT_COUNT] = { - shortcut_close_top_most_window, - shortcut_close_all_floating_windows, - shortcut_cancel_construction_mode, - shortcut_pause_game, - shortcut_zoom_view_out, - shortcut_zoom_view_in, - shortcut_rotate_view_clockwise, - shortcut_rotate_view_anticlockwise, - shortcut_rotate_construction_object, - shortcut_underground_view_toggle, - shortcut_remove_base_land_toggle, - shortcut_remove_vertical_land_toggle, - shortcut_see_through_rides_toggle, - shortcut_see_through_scenery_toggle, - shortcut_invisible_supports_toggle, - shortcut_invisible_people_toggle, - shortcut_height_marks_on_land_toggle, - shortcut_height_marks_on_ride_tracks_toggle, - shortcut_height_marks_on_paths_toggle, - shortcut_adjust_land, - shortcut_adjust_water, - shortcut_build_scenery, - shortcut_build_paths, - shortcut_build_new_ride, - shortcut_show_financial_information, - shortcut_show_research_information, - shortcut_show_rides_list, - shortcut_show_park_information, - shortcut_show_guest_list, - shortcut_show_staff_list, - shortcut_show_recent_messages, - shortcut_show_map, - shortcut_screenshot, + shortcut_close_top_most_window, + shortcut_close_all_floating_windows, + shortcut_cancel_construction_mode, + shortcut_pause_game, + shortcut_zoom_view_out, + shortcut_zoom_view_in, + shortcut_rotate_view_clockwise, + shortcut_rotate_view_anticlockwise, + shortcut_rotate_construction_object, + shortcut_underground_view_toggle, + shortcut_remove_base_land_toggle, + shortcut_remove_vertical_land_toggle, + shortcut_see_through_rides_toggle, + shortcut_see_through_scenery_toggle, + shortcut_invisible_supports_toggle, + shortcut_invisible_people_toggle, + shortcut_height_marks_on_land_toggle, + shortcut_height_marks_on_ride_tracks_toggle, + shortcut_height_marks_on_paths_toggle, + shortcut_adjust_land, + shortcut_adjust_water, + shortcut_build_scenery, + shortcut_build_paths, + shortcut_build_new_ride, + shortcut_show_financial_information, + shortcut_show_research_information, + shortcut_show_rides_list, + shortcut_show_park_information, + shortcut_show_guest_list, + shortcut_show_staff_list, + shortcut_show_recent_messages, + shortcut_show_map, + shortcut_screenshot, - //new - shortcut_reduce_game_speed, - shortcut_increase_game_speed, - shortcut_open_cheat_window, - shortcut_remove_top_bottom_toolbar_toggle, - NULL, - NULL, - NULL, - NULL, - shortcut_open_chat_window, - shortcut_quick_save_game, - shortcut_show_options, - shortcut_mute_sound, - shortcut_windowed_mode_toggle, - shortcut_show_multiplayer, - shortcut_orginal_painting_toggle, - shortcut_debug_paint_toggle, - shortcut_see_through_paths_toggle, - shortcut_ride_construction_turn_left, - shortcut_ride_construction_turn_right, - shortcut_ride_construction_use_track_default, - shortcut_ride_construction_slope_down, - shortcut_ride_construction_slope_up, - shortcut_ride_construction_chain_lift_toggle, - shortcut_ride_construction_bank_left, - shortcut_ride_construction_bank_right, - shortcut_ride_construction_previous_track, - shortcut_ride_construction_next_track, - shortcut_ride_construction_build_current, - shortcut_ride_construction_demolish_current, + //new + shortcut_reduce_game_speed, + shortcut_increase_game_speed, + shortcut_open_cheat_window, + shortcut_remove_top_bottom_toolbar_toggle, + NULL, + NULL, + NULL, + NULL, + shortcut_open_chat_window, + shortcut_quick_save_game, + shortcut_show_options, + shortcut_mute_sound, + shortcut_windowed_mode_toggle, + shortcut_show_multiplayer, + shortcut_orginal_painting_toggle, + shortcut_debug_paint_toggle, + shortcut_see_through_paths_toggle, + shortcut_ride_construction_turn_left, + shortcut_ride_construction_turn_right, + shortcut_ride_construction_use_track_default, + shortcut_ride_construction_slope_down, + shortcut_ride_construction_slope_up, + shortcut_ride_construction_chain_lift_toggle, + shortcut_ride_construction_bank_left, + shortcut_ride_construction_bank_right, + shortcut_ride_construction_previous_track, + shortcut_ride_construction_next_track, + shortcut_ride_construction_build_current, + shortcut_ride_construction_demolish_current, }; #pragma endregion diff --git a/src/openrct2/interface/keyboard_shortcut.h b/src/openrct2/interface/keyboard_shortcut.h index 81d41ec2c1..8b1dab7533 100644 --- a/src/openrct2/interface/keyboard_shortcut.h +++ b/src/openrct2/interface/keyboard_shortcut.h @@ -34,77 +34,77 @@ bool config_shortcut_keys_load(); bool config_shortcut_keys_save(); typedef struct shortcut_entry { - uint8 key; - uint8 modifier; + uint8 key; + uint8 modifier; } shortcut_entry; enum { - SHORTCUT_CLOSE_TOP_MOST_WINDOW, - SHORTCUT_CLOSE_ALL_FLOATING_WINDOWS, - SHORTCUT_CANCEL_CONSTRUCTION_MODE, - SHORTCUT_PAUSE_GAME, - SHORTCUT_ZOOM_VIEW_OUT, - SHORTCUT_ZOOM_VIEW_IN, - SHORTCUT_ROTATE_VIEW_CLOCKWISE, - SHORTCUT_ROTATE_VIEW_ANTICLOCKWISE, - SHORTCUT_ROTATE_CONSTRUCTION_OBJECT, - SHORTCUT_UNDERGROUND_VIEW_TOGGLE, - SHORTCUT_REMOVE_BASE_LAND_TOGGLE, - SHORTCUT_REMOVE_VERTICAL_LAND_TOGGLE, - SHORTCUT_SEE_THROUGH_RIDES_TOGGLE, - SHORTCUT_SEE_THROUGH_SCENERY_TOGGLE, - SHORTCUT_INVISIBLE_SUPPORTS_TOGGLE, - SHORTCUT_INVISIBLE_PEOPLE_TOGGLE, - SHORTCUT_HEIGHT_MARKS_ON_LAND_TOGGLE, - SHORTCUT_HEIGHT_MARKS_ON_RIDE_TRACKS_TOGGLE, - SHORTCUT_HEIGHT_MARKS_ON_PATHS_TOGGLE, - SHORTCUT_ADJUST_LAND, - SHORTCUT_ADJUST_WATER, - SHORTCUT_BUILD_SCENERY, - SHORTCUT_BUILD_PATHS, - SHORTCUT_BUILD_NEW_RIDE, - SHORTCUT_SHOW_FINANCIAL_INFORMATION, - SHORTCUT_SHOW_RESEARCH_INFORMATION, - SHORTCUT_SHOW_RIDES_LIST, - SHORTCUT_SHOW_PARK_INFORMATION, - SHORTCUT_SHOW_GUEST_LIST, - SHORTCUT_SHOW_STAFF_LIST, - SHORTCUT_SHOW_RECENT_MESSAGES, - SHORTCUT_SHOW_MAP, - SHORTCUT_SCREENSHOT, + SHORTCUT_CLOSE_TOP_MOST_WINDOW, + SHORTCUT_CLOSE_ALL_FLOATING_WINDOWS, + SHORTCUT_CANCEL_CONSTRUCTION_MODE, + SHORTCUT_PAUSE_GAME, + SHORTCUT_ZOOM_VIEW_OUT, + SHORTCUT_ZOOM_VIEW_IN, + SHORTCUT_ROTATE_VIEW_CLOCKWISE, + SHORTCUT_ROTATE_VIEW_ANTICLOCKWISE, + SHORTCUT_ROTATE_CONSTRUCTION_OBJECT, + SHORTCUT_UNDERGROUND_VIEW_TOGGLE, + SHORTCUT_REMOVE_BASE_LAND_TOGGLE, + SHORTCUT_REMOVE_VERTICAL_LAND_TOGGLE, + SHORTCUT_SEE_THROUGH_RIDES_TOGGLE, + SHORTCUT_SEE_THROUGH_SCENERY_TOGGLE, + SHORTCUT_INVISIBLE_SUPPORTS_TOGGLE, + SHORTCUT_INVISIBLE_PEOPLE_TOGGLE, + SHORTCUT_HEIGHT_MARKS_ON_LAND_TOGGLE, + SHORTCUT_HEIGHT_MARKS_ON_RIDE_TRACKS_TOGGLE, + SHORTCUT_HEIGHT_MARKS_ON_PATHS_TOGGLE, + SHORTCUT_ADJUST_LAND, + SHORTCUT_ADJUST_WATER, + SHORTCUT_BUILD_SCENERY, + SHORTCUT_BUILD_PATHS, + SHORTCUT_BUILD_NEW_RIDE, + SHORTCUT_SHOW_FINANCIAL_INFORMATION, + SHORTCUT_SHOW_RESEARCH_INFORMATION, + SHORTCUT_SHOW_RIDES_LIST, + SHORTCUT_SHOW_PARK_INFORMATION, + SHORTCUT_SHOW_GUEST_LIST, + SHORTCUT_SHOW_STAFF_LIST, + SHORTCUT_SHOW_RECENT_MESSAGES, + SHORTCUT_SHOW_MAP, + SHORTCUT_SCREENSHOT, - // New - SHORTCUT_REDUCE_GAME_SPEED, - SHORTCUT_INCREASE_GAME_SPEED, - SHORTCUT_OPEN_CHEAT_WINDOW, - SHORTCUT_REMOVE_TOP_BOTTOM_TOOLBAR_TOGGLE, - SHORTCUT_SCROLL_MAP_UP, - SHORTCUT_SCROLL_MAP_LEFT, - SHORTCUT_SCROLL_MAP_DOWN, - SHORTCUT_SCROLL_MAP_RIGHT, - SHORTCUT_OPEN_CHAT_WINDOW, - SHORTCUT_QUICK_SAVE_GAME, - SHORTCUT_SHOW_OPTIONS, - SHORTCUT_MUTE_SOUND, - SHORTCUT_WINDOWED_MODE_TOGGLE, - SHORTCUT_SHOW_MULTIPLAYER, - SHORTCUT_PAINT_ORIGINAL_TOGGLE, - SHORTCUT_DEBUG_PAINT_TOGGLE, - SHORTCUT_SEE_THROUGH_PATHS_TOGGLE, - SHORTCUT_RIDE_CONSTRUCTION_TURN_LEFT, - SHORTCUT_RIDE_CONSTRUCTION_TURN_RIGHT, - SHORTCUT_RIDE_CONSTRUCTION_USE_TRACK_DEFAULT, - SHORTCUT_RIDE_CONSTRUCTION_SLOPE_DOWN, - SHORTCUT_RIDE_CONSTRUCTION_SLOPE_UP, - SHORTCUT_RIDE_CONSTRUCTION_CHAIN_LIFT_TOGGLE, - SHORTCUT_RIDE_CONSTRUCTION_BANK_LEFT, - SHORTCUT_RIDE_CONSTRUCTION_BANK_RIGHT, - SHORTCUT_RIDE_CONSTRUCTION_PREVIOUS_TRACK, - SHORTCUT_RIDE_CONSTRUCTION_NEXT_TRACK, - SHORTCUT_RIDE_CONSTRUCTION_BUILD_CURRENT, - SHORTCUT_RIDE_CONSTRUCTION_DEMOLISH_CURRENT, + // New + SHORTCUT_REDUCE_GAME_SPEED, + SHORTCUT_INCREASE_GAME_SPEED, + SHORTCUT_OPEN_CHEAT_WINDOW, + SHORTCUT_REMOVE_TOP_BOTTOM_TOOLBAR_TOGGLE, + SHORTCUT_SCROLL_MAP_UP, + SHORTCUT_SCROLL_MAP_LEFT, + SHORTCUT_SCROLL_MAP_DOWN, + SHORTCUT_SCROLL_MAP_RIGHT, + SHORTCUT_OPEN_CHAT_WINDOW, + SHORTCUT_QUICK_SAVE_GAME, + SHORTCUT_SHOW_OPTIONS, + SHORTCUT_MUTE_SOUND, + SHORTCUT_WINDOWED_MODE_TOGGLE, + SHORTCUT_SHOW_MULTIPLAYER, + SHORTCUT_PAINT_ORIGINAL_TOGGLE, + SHORTCUT_DEBUG_PAINT_TOGGLE, + SHORTCUT_SEE_THROUGH_PATHS_TOGGLE, + SHORTCUT_RIDE_CONSTRUCTION_TURN_LEFT, + SHORTCUT_RIDE_CONSTRUCTION_TURN_RIGHT, + SHORTCUT_RIDE_CONSTRUCTION_USE_TRACK_DEFAULT, + SHORTCUT_RIDE_CONSTRUCTION_SLOPE_DOWN, + SHORTCUT_RIDE_CONSTRUCTION_SLOPE_UP, + SHORTCUT_RIDE_CONSTRUCTION_CHAIN_LIFT_TOGGLE, + SHORTCUT_RIDE_CONSTRUCTION_BANK_LEFT, + SHORTCUT_RIDE_CONSTRUCTION_BANK_RIGHT, + SHORTCUT_RIDE_CONSTRUCTION_PREVIOUS_TRACK, + SHORTCUT_RIDE_CONSTRUCTION_NEXT_TRACK, + SHORTCUT_RIDE_CONSTRUCTION_BUILD_CURRENT, + SHORTCUT_RIDE_CONSTRUCTION_DEMOLISH_CURRENT, - SHORTCUT_COUNT + SHORTCUT_COUNT }; extern uint16 gShortcutKeys[SHORTCUT_COUNT]; diff --git a/src/openrct2/interface/screenshot.c b/src/openrct2/interface/screenshot.c index 881685272a..0b5bd9a500 100644 --- a/src/openrct2/interface/screenshot.c +++ b/src/openrct2/interface/screenshot.c @@ -38,337 +38,337 @@ uint8 gScreenshotCountdown = 0; */ void screenshot_check() { - sint32 screenshotIndex; + sint32 screenshotIndex; - if (gScreenshotCountdown != 0) { - gScreenshotCountdown--; - if (gScreenshotCountdown == 0) { - // update_rain_animation(); - screenshotIndex = screenshot_dump(); + if (gScreenshotCountdown != 0) { + gScreenshotCountdown--; + if (gScreenshotCountdown == 0) { + // update_rain_animation(); + screenshotIndex = screenshot_dump(); - if (screenshotIndex != -1) { - audio_play_sound(SOUND_WINDOW_OPEN, 100, context_get_width() / 2); - } else { - window_error_open(STR_SCREENSHOT_FAILED, STR_NONE); - } + if (screenshotIndex != -1) { + audio_play_sound(SOUND_WINDOW_OPEN, 100, context_get_width() / 2); + } else { + window_error_open(STR_SCREENSHOT_FAILED, STR_NONE); + } - // redraw_rain(); - } - } + // redraw_rain(); + } + } } static void screenshot_get_rendered_palette(rct_palette* palette) { - for (sint32 i = 0; i < 256; i++) { - palette->entries[i] = gPalette[i]; - } + for (sint32 i = 0; i < 256; i++) { + palette->entries[i] = gPalette[i]; + } } static sint32 screenshot_get_next_path(char *path, size_t size) { - char screenshotPath[MAX_PATH]; + char screenshotPath[MAX_PATH]; - platform_get_user_directory(screenshotPath, "screenshot", sizeof(screenshotPath)); - if (!platform_ensure_directory_exists(screenshotPath)) { - log_error("Unable to save screenshots in OpenRCT2 screenshot directory.\n"); - return -1; - } + platform_get_user_directory(screenshotPath, "screenshot", sizeof(screenshotPath)); + if (!platform_ensure_directory_exists(screenshotPath)) { + log_error("Unable to save screenshots in OpenRCT2 screenshot directory.\n"); + return -1; + } - char park_name[128]; - format_string(park_name, 128, gParkName, &gParkNameArgs); + char park_name[128]; + format_string(park_name, 128, gParkName, &gParkNameArgs); - // Retrieve current time - rct2_date currentDate; - platform_get_date_local(¤tDate); - rct2_time currentTime; - platform_get_time_local(¤tTime); + // Retrieve current time + rct2_date currentDate; + platform_get_date_local(¤tDate); + rct2_time currentTime; + platform_get_time_local(¤tTime); - // Glue together path and filename - snprintf(path, size, "%s%s %d-%02d-%02d %02d-%02d-%02d.png", screenshotPath, park_name, currentDate.year, currentDate.month, currentDate.day, currentTime.hour, currentTime.minute, currentTime.second); + // Glue together path and filename + snprintf(path, size, "%s%s %d-%02d-%02d %02d-%02d-%02d.png", screenshotPath, park_name, currentDate.year, currentDate.month, currentDate.day, currentTime.hour, currentTime.minute, currentTime.second); - if (!platform_file_exists(path)) { - return 0; // path ok - } + if (!platform_file_exists(path)) { + return 0; // path ok + } - // multiple screenshots with same timestamp - // might be possible when switching timezones - // in the unlikely case that this does happen, - // append (%d) to the filename and increment - // this sint32 until it doesn't overwrite any - // other file in the directory. - sint32 i; - for (i = 1; i < 1000; i++) { - // Glue together path and filename - snprintf(path, size, "%s%s %d-%02d-%02d %02d-%02d-%02d (%d).png", screenshotPath, park_name, currentDate.year, currentDate.month, currentDate.day, currentTime.hour, currentTime.minute, currentTime.second, i); + // multiple screenshots with same timestamp + // might be possible when switching timezones + // in the unlikely case that this does happen, + // append (%d) to the filename and increment + // this sint32 until it doesn't overwrite any + // other file in the directory. + sint32 i; + for (i = 1; i < 1000; i++) { + // Glue together path and filename + snprintf(path, size, "%s%s %d-%02d-%02d %02d-%02d-%02d (%d).png", screenshotPath, park_name, currentDate.year, currentDate.month, currentDate.day, currentTime.hour, currentTime.minute, currentTime.second, i); - if (!platform_file_exists(path)) { - return i; - } - } + if (!platform_file_exists(path)) { + return i; + } + } - log_error("You have too many saved screenshots saved at exactly the same date and time.\n"); - return -1; + log_error("You have too many saved screenshots saved at exactly the same date and time.\n"); + return -1; } sint32 screenshot_dump_png(rct_drawpixelinfo *dpi) { - // Get a free screenshot path - sint32 index; - char path[MAX_PATH] = ""; - if ((index = screenshot_get_next_path(path, MAX_PATH)) == -1) { - return -1; - } + // Get a free screenshot path + sint32 index; + char path[MAX_PATH] = ""; + if ((index = screenshot_get_next_path(path, MAX_PATH)) == -1) { + return -1; + } - rct_palette renderedPalette; - screenshot_get_rendered_palette(&renderedPalette); + rct_palette renderedPalette; + screenshot_get_rendered_palette(&renderedPalette); - if (image_io_png_write(dpi, &renderedPalette, path)) { - return index; - } else { - return -1; - } + if (image_io_png_write(dpi, &renderedPalette, path)) { + return index; + } else { + return -1; + } } sint32 screenshot_dump_png_32bpp(sint32 width, sint32 height, const void *pixels) { - // Get a free screenshot path - sint32 index; - char path[MAX_PATH] = ""; - if ((index = screenshot_get_next_path(path, MAX_PATH)) == -1) { - return -1; - } + // Get a free screenshot path + sint32 index; + char path[MAX_PATH] = ""; + if ((index = screenshot_get_next_path(path, MAX_PATH)) == -1) { + return -1; + } - if (image_io_png_write_32bpp(width, height, pixels, path)) { - return index; - } else { - return -1; - } + if (image_io_png_write_32bpp(width, height, pixels, path)) { + return index; + } else { + return -1; + } } void screenshot_giant() { - sint32 originalRotation = get_current_rotation(); - sint32 originalZoom = 0; + sint32 originalRotation = get_current_rotation(); + sint32 originalZoom = 0; - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL && mainWindow->viewport != NULL) - originalZoom = mainWindow->viewport->zoom; + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL && mainWindow->viewport != NULL) + originalZoom = mainWindow->viewport->zoom; - sint32 rotation = originalRotation; - sint32 zoom = originalZoom; - sint32 mapSize = gMapSize; - sint32 resolutionWidth = (mapSize * 32 * 2) >> zoom; - sint32 resolutionHeight = (mapSize * 32 * 1) >> zoom; + sint32 rotation = originalRotation; + sint32 zoom = originalZoom; + sint32 mapSize = gMapSize; + sint32 resolutionWidth = (mapSize * 32 * 2) >> zoom; + sint32 resolutionHeight = (mapSize * 32 * 1) >> zoom; - resolutionWidth += 8; - resolutionHeight += 128; + resolutionWidth += 8; + resolutionHeight += 128; - rct_viewport viewport; - viewport.x = 0; - viewport.y = 0; - viewport.width = resolutionWidth; - viewport.height = resolutionHeight; - viewport.view_width = viewport.width; - viewport.view_height = viewport.height; - viewport.var_11 = 0; - viewport.flags = 0; + rct_viewport viewport; + viewport.x = 0; + viewport.y = 0; + viewport.width = resolutionWidth; + viewport.height = resolutionHeight; + viewport.view_width = viewport.width; + viewport.view_height = viewport.height; + viewport.var_11 = 0; + viewport.flags = 0; - sint32 centreX = (mapSize / 2) * 32 + 16; - sint32 centreY = (mapSize / 2) * 32 + 16; + sint32 centreX = (mapSize / 2) * 32 + 16; + sint32 centreY = (mapSize / 2) * 32 + 16; - sint32 x = 0, y = 0; - sint32 z = map_element_height(centreX, centreY) & 0xFFFF; - switch (rotation) { - case 0: - x = centreY - centreX; - y = ((centreX + centreY) / 2) - z; - break; - case 1: - x = -centreY - centreX; - y = ((-centreX + centreY) / 2) - z; - break; - case 2: - x = -centreY + centreX; - y = ((-centreX - centreY) / 2) - z; - break; - case 3: - x = centreY + centreX; - y = ((centreX - centreY) / 2) - z; - break; - } + sint32 x = 0, y = 0; + sint32 z = map_element_height(centreX, centreY) & 0xFFFF; + switch (rotation) { + case 0: + x = centreY - centreX; + y = ((centreX + centreY) / 2) - z; + break; + case 1: + x = -centreY - centreX; + y = ((-centreX + centreY) / 2) - z; + break; + case 2: + x = -centreY + centreX; + y = ((-centreX - centreY) / 2) - z; + break; + case 3: + x = centreY + centreX; + y = ((centreX - centreY) / 2) - z; + break; + } - viewport.view_x = x - ((viewport.view_width << zoom) / 2); - viewport.view_y = y - ((viewport.view_height << zoom) / 2); - viewport.zoom = zoom; - gCurrentRotation = rotation; + viewport.view_x = x - ((viewport.view_width << zoom) / 2); + viewport.view_y = y - ((viewport.view_height << zoom) / 2); + viewport.zoom = zoom; + gCurrentRotation = rotation; - // Ensure sprites appear regardless of rotation - reset_all_sprite_quadrant_placements(); + // Ensure sprites appear regardless of rotation + reset_all_sprite_quadrant_placements(); - rct_drawpixelinfo dpi; - dpi.x = 0; - dpi.y = 0; - dpi.width = resolutionWidth; - dpi.height = resolutionHeight; - dpi.pitch = 0; - dpi.zoom_level = 0; - dpi.bits = malloc(dpi.width * dpi.height); + rct_drawpixelinfo dpi; + dpi.x = 0; + dpi.y = 0; + dpi.width = resolutionWidth; + dpi.height = resolutionHeight; + dpi.pitch = 0; + dpi.zoom_level = 0; + dpi.bits = malloc(dpi.width * dpi.height); - viewport_render(&dpi, &viewport, 0, 0, viewport.width, viewport.height); + viewport_render(&dpi, &viewport, 0, 0, viewport.width, viewport.height); - // Get a free screenshot path - char path[MAX_PATH]; - sint32 index; - if ((index = screenshot_get_next_path(path, MAX_PATH)) == -1) { - log_error("Giant screenshot failed, unable to find a suitable destination path."); - window_error_open(STR_SCREENSHOT_FAILED, STR_NONE); - return; - } + // Get a free screenshot path + char path[MAX_PATH]; + sint32 index; + if ((index = screenshot_get_next_path(path, MAX_PATH)) == -1) { + log_error("Giant screenshot failed, unable to find a suitable destination path."); + window_error_open(STR_SCREENSHOT_FAILED, STR_NONE); + return; + } - rct_palette renderedPalette; - screenshot_get_rendered_palette(&renderedPalette); + rct_palette renderedPalette; + screenshot_get_rendered_palette(&renderedPalette); - image_io_png_write(&dpi, &renderedPalette, path); + image_io_png_write(&dpi, &renderedPalette, path); - free(dpi.bits); + free(dpi.bits); - // Show user that screenshot saved successfully - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, char *, path_get_filename(path)); - window_error_open(STR_SCREENSHOT_SAVED_AS, STR_NONE); + // Show user that screenshot saved successfully + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, char *, path_get_filename(path)); + window_error_open(STR_SCREENSHOT_SAVED_AS, STR_NONE); } sint32 cmdline_for_screenshot(const char **argv, sint32 argc) { - bool giantScreenshot = argc == 5 && _stricmp(argv[2], "giant") == 0; - if (argc != 4 && argc != 8 && !giantScreenshot) { - printf("Usage: openrct2 screenshot [ ]\n"); - printf("Usage: openrct2 screenshot giant \n"); - return -1; - } + bool giantScreenshot = argc == 5 && _stricmp(argv[2], "giant") == 0; + if (argc != 4 && argc != 8 && !giantScreenshot) { + printf("Usage: openrct2 screenshot [ ]\n"); + printf("Usage: openrct2 screenshot giant \n"); + return -1; + } - bool customLocation = false; - bool centreMapX = false; - bool centreMapY = false; - sint32 resolutionWidth, resolutionHeight, customX = 0, customY = 0, customZoom, customRotation = 0; + bool customLocation = false; + bool centreMapX = false; + bool centreMapY = false; + sint32 resolutionWidth, resolutionHeight, customX = 0, customY = 0, customZoom, customRotation = 0; - const char *inputPath = argv[0]; - const char *outputPath = argv[1]; - if (giantScreenshot) { - resolutionWidth = 0; - resolutionHeight = 0; - customLocation = true; - centreMapX = true; - centreMapY = true; - customZoom = atoi(argv[3]); - customRotation = atoi(argv[4]) & 3; - } else { - resolutionWidth = atoi(argv[2]); - resolutionHeight = atoi(argv[3]); - if (argc == 8) { - customLocation = true; - if (argv[4][0] == 'c') - centreMapX = true; - else - customX = atoi(argv[4]); - if (argv[5][0] == 'c') - centreMapY = true; - else - customY = atoi(argv[5]); + const char *inputPath = argv[0]; + const char *outputPath = argv[1]; + if (giantScreenshot) { + resolutionWidth = 0; + resolutionHeight = 0; + customLocation = true; + centreMapX = true; + centreMapY = true; + customZoom = atoi(argv[3]); + customRotation = atoi(argv[4]) & 3; + } else { + resolutionWidth = atoi(argv[2]); + resolutionHeight = atoi(argv[3]); + if (argc == 8) { + customLocation = true; + if (argv[4][0] == 'c') + centreMapX = true; + else + customX = atoi(argv[4]); + if (argv[5][0] == 'c') + centreMapY = true; + else + customY = atoi(argv[5]); - customZoom = atoi(argv[6]); - customRotation = atoi(argv[7]) & 3; - } else { - customZoom = 0; - } - } + customZoom = atoi(argv[6]); + customRotation = atoi(argv[7]) & 3; + } else { + customZoom = 0; + } + } - gOpenRCT2Headless = true; - // if (openrct2_initialise()) { - drawing_engine_init(); - rct2_open_file(inputPath); + gOpenRCT2Headless = true; + // if (openrct2_initialise()) { + drawing_engine_init(); + rct2_open_file(inputPath); - gIntroState = INTRO_STATE_NONE; - gScreenFlags = SCREEN_FLAGS_PLAYING; + gIntroState = INTRO_STATE_NONE; + gScreenFlags = SCREEN_FLAGS_PLAYING; - sint32 mapSize = gMapSize; - if (resolutionWidth == 0 || resolutionHeight == 0) { - resolutionWidth = (mapSize * 32 * 2) >> customZoom; - resolutionHeight = (mapSize * 32 * 1) >> customZoom; + sint32 mapSize = gMapSize; + if (resolutionWidth == 0 || resolutionHeight == 0) { + resolutionWidth = (mapSize * 32 * 2) >> customZoom; + resolutionHeight = (mapSize * 32 * 1) >> customZoom; - resolutionWidth += 8; - resolutionHeight += 128; - } + resolutionWidth += 8; + resolutionHeight += 128; + } - rct_viewport viewport; - viewport.x = 0; - viewport.y = 0; - viewport.width = resolutionWidth; - viewport.height = resolutionHeight; - viewport.view_width = viewport.width; - viewport.view_height = viewport.height; - viewport.var_11 = 0; - viewport.flags = 0; + rct_viewport viewport; + viewport.x = 0; + viewport.y = 0; + viewport.width = resolutionWidth; + viewport.height = resolutionHeight; + viewport.view_width = viewport.width; + viewport.view_height = viewport.height; + viewport.var_11 = 0; + viewport.flags = 0; - if (customLocation) { - if (centreMapX) - customX = (mapSize / 2) * 32 + 16; - if (centreMapY) - customY = (mapSize / 2) * 32 + 16; + if (customLocation) { + if (centreMapX) + customX = (mapSize / 2) * 32 + 16; + if (centreMapY) + customY = (mapSize / 2) * 32 + 16; - sint32 x = 0, y = 0; - sint32 z = map_element_height(customX, customY) & 0xFFFF; - switch (customRotation) { - case 0: - x = customY - customX; - y = ((customX + customY) / 2) - z; - break; - case 1: - x = -customY - customX; - y = ((-customX + customY) / 2) - z; - break; - case 2: - x = -customY + customX; - y = ((-customX - customY) / 2) - z; - break; - case 3: - x = customY + customX; - y = ((customX - customY) / 2) - z; - break; - } + sint32 x = 0, y = 0; + sint32 z = map_element_height(customX, customY) & 0xFFFF; + switch (customRotation) { + case 0: + x = customY - customX; + y = ((customX + customY) / 2) - z; + break; + case 1: + x = -customY - customX; + y = ((-customX + customY) / 2) - z; + break; + case 2: + x = -customY + customX; + y = ((-customX - customY) / 2) - z; + break; + case 3: + x = customY + customX; + y = ((customX - customY) / 2) - z; + break; + } - viewport.view_x = x - ((viewport.view_width << customZoom) / 2); - viewport.view_y = y - ((viewport.view_height << customZoom) / 2); - viewport.zoom = customZoom; - gCurrentRotation = customRotation; - } else { - viewport.view_x = gSavedViewX - (viewport.view_width / 2); - viewport.view_y = gSavedViewY - (viewport.view_height / 2); - viewport.zoom = gSavedViewZoom; - gCurrentRotation = gSavedViewRotation; - } + viewport.view_x = x - ((viewport.view_width << customZoom) / 2); + viewport.view_y = y - ((viewport.view_height << customZoom) / 2); + viewport.zoom = customZoom; + gCurrentRotation = customRotation; + } else { + viewport.view_x = gSavedViewX - (viewport.view_width / 2); + viewport.view_y = gSavedViewY - (viewport.view_height / 2); + viewport.zoom = gSavedViewZoom; + gCurrentRotation = gSavedViewRotation; + } - // Ensure sprites appear regardless of rotation - reset_all_sprite_quadrant_placements(); + // Ensure sprites appear regardless of rotation + reset_all_sprite_quadrant_placements(); - rct_drawpixelinfo dpi; - dpi.x = 0; - dpi.y = 0; - dpi.width = resolutionWidth; - dpi.height = resolutionHeight; - dpi.pitch = 0; - dpi.zoom_level = 0; - dpi.bits = malloc(dpi.width * dpi.height); + rct_drawpixelinfo dpi; + dpi.x = 0; + dpi.y = 0; + dpi.width = resolutionWidth; + dpi.height = resolutionHeight; + dpi.pitch = 0; + dpi.zoom_level = 0; + dpi.bits = malloc(dpi.width * dpi.height); - viewport_render(&dpi, &viewport, 0, 0, viewport.width, viewport.height); + viewport_render(&dpi, &viewport, 0, 0, viewport.width, viewport.height); - rct_palette renderedPalette; - screenshot_get_rendered_palette(&renderedPalette); + rct_palette renderedPalette; + screenshot_get_rendered_palette(&renderedPalette); - image_io_png_write(&dpi, &renderedPalette, outputPath); + image_io_png_write(&dpi, &renderedPalette, outputPath); - free(dpi.bits); - drawing_engine_dispose(); - // } - // openrct2_dispose(); - return 1; + free(dpi.bits); + drawing_engine_dispose(); + // } + // openrct2_dispose(); + return 1; } diff --git a/src/openrct2/interface/viewport.c b/src/openrct2/interface/viewport.c index 6b83098b34..fd90986a51 100644 --- a/src/openrct2/interface/viewport.c +++ b/src/openrct2/interface/viewport.c @@ -80,26 +80,26 @@ static void viewport_paint_weather_gloom(rct_drawpixelinfo * dpi); */ void viewport_init_all() { - colours_init_maps(); - if (gWindowNextSlot != NULL) { - window_close_all(); - } - gWindowNextSlot = g_window_list; + colours_init_maps(); + if (gWindowNextSlot != NULL) { + window_close_all(); + } + gWindowNextSlot = g_window_list; - // Setting up viewports - for (sint32 i = 0; i < MAX_VIEWPORT_COUNT; i++) { - g_viewport_list[i].width = 0; - } + // Setting up viewports + for (sint32 i = 0; i < MAX_VIEWPORT_COUNT; i++) { + g_viewport_list[i].width = 0; + } - // ? - input_reset_flags(); - input_set_state(INPUT_STATE_RESET); - gPressedWidget.window_classification = 255; - gPickupPeepImage = UINT32_MAX; - reset_tooltip_not_shown(); - gMapSelectFlags = 0; - gStaffDrawPatrolAreas = 0xFFFF; - textinput_cancel(); + // ? + input_reset_flags(); + input_set_state(INPUT_STATE_RESET); + gPressedWidget.window_classification = 255; + gPickupPeepImage = UINT32_MAX; + reset_tooltip_not_shown(); + gMapSelectFlags = 0; + gStaffDrawPatrolAreas = 0xFFFF; + textinput_cancel(); } /** @@ -113,27 +113,27 @@ void viewport_init_all() * out_y : bx */ void center_2d_coordinates(sint32 x, sint32 y, sint32 z, sint32* out_x, sint32* out_y, rct_viewport* viewport){ - sint32 start_x = x; + sint32 start_x = x; - rct_xyz16 coord_3d = { - .x = x, - .y = y, - .z = z - }; + rct_xyz16 coord_3d = { + .x = x, + .y = y, + .z = z + }; - rct_xy16 coord_2d = coordinate_3d_to_2d(&coord_3d, get_current_rotation()); + rct_xy16 coord_2d = coordinate_3d_to_2d(&coord_3d, get_current_rotation()); - // If the start location was invalid - // propagate the invalid location to the output. - // This fixes a bug that caused the game to enter an infinite loop. - if (start_x == ((sint16)(uint16)0x8000)){ - *out_x = ((sint16)(uint16)0x8000); - *out_y = 0; - return; - } + // If the start location was invalid + // propagate the invalid location to the output. + // This fixes a bug that caused the game to enter an infinite loop. + if (start_x == ((sint16)(uint16)0x8000)){ + *out_x = ((sint16)(uint16)0x8000); + *out_y = 0; + return; + } - *out_x = coord_2d.x - viewport->view_width / 2; - *out_y = coord_2d.y - viewport->view_height / 2; + *out_x = coord_2d.x - viewport->view_width / 2; + *out_y = coord_2d.y - viewport->view_height / 2; } /** @@ -155,56 +155,56 @@ void center_2d_coordinates(sint32 x, sint32 y, sint32 z, sint32* out_x, sint32* */ void viewport_create(rct_window *w, sint32 x, sint32 y, sint32 width, sint32 height, sint32 zoom, sint32 center_x, sint32 center_y, sint32 center_z, char flags, sint16 sprite) { - rct_viewport* viewport = NULL; - for (sint32 i = 0; i < MAX_VIEWPORT_COUNT; i++) { - if (g_viewport_list[i].width == 0) { - viewport = &g_viewport_list[i]; - break; - } - } - if (viewport == NULL) { - log_error("No more viewport slots left to allocate."); - return; - } + rct_viewport* viewport = NULL; + for (sint32 i = 0; i < MAX_VIEWPORT_COUNT; i++) { + if (g_viewport_list[i].width == 0) { + viewport = &g_viewport_list[i]; + break; + } + } + if (viewport == NULL) { + log_error("No more viewport slots left to allocate."); + return; + } - viewport->x = x; - viewport->y = y; - viewport->width = width; - viewport->height = height; + viewport->x = x; + viewport->y = y; + viewport->width = width; + viewport->height = height; - if (!(flags & VIEWPORT_FOCUS_TYPE_COORDINATE)){ - zoom = 0; - } + if (!(flags & VIEWPORT_FOCUS_TYPE_COORDINATE)){ + zoom = 0; + } - viewport->view_width = width << zoom; - viewport->view_height = height << zoom; - viewport->zoom = zoom; - viewport->flags = 0; + viewport->view_width = width << zoom; + viewport->view_height = height << zoom; + viewport->zoom = zoom; + viewport->flags = 0; - if (gConfigGeneral.always_show_gridlines) - viewport->flags |= VIEWPORT_FLAG_GRIDLINES; - w->viewport = viewport; + if (gConfigGeneral.always_show_gridlines) + viewport->flags |= VIEWPORT_FLAG_GRIDLINES; + w->viewport = viewport; - if (flags & VIEWPORT_FOCUS_TYPE_SPRITE){ - w->viewport_target_sprite = sprite; - rct_sprite* center_sprite = get_sprite(sprite); - center_x = center_sprite->unknown.x; - center_y = center_sprite->unknown.y; - center_z = center_sprite->unknown.z; - } - else{ - w->viewport_target_sprite = SPR_NONE; - } + if (flags & VIEWPORT_FOCUS_TYPE_SPRITE){ + w->viewport_target_sprite = sprite; + rct_sprite* center_sprite = get_sprite(sprite); + center_x = center_sprite->unknown.x; + center_y = center_sprite->unknown.y; + center_z = center_sprite->unknown.z; + } + else{ + w->viewport_target_sprite = SPR_NONE; + } - sint32 view_x, view_y; - center_2d_coordinates(center_x, center_y, center_z, &view_x, &view_y, viewport); + sint32 view_x, view_y; + center_2d_coordinates(center_x, center_y, center_z, &view_x, &view_y, viewport); - w->saved_view_x = view_x; - w->saved_view_y = view_y; - viewport->view_x = view_x; - viewport->view_y = view_y; + w->saved_view_x = view_x; + w->saved_view_y = view_y; + viewport->view_x = view_x; + viewport->view_y = view_y; - viewport_update_pointers(); + viewport_update_pointers(); } /** @@ -224,30 +224,30 @@ void viewport_update_pointers() */ void viewport_adjust_for_map_height(sint16* x, sint16* y, sint16 *z) { - sint16 start_x = *x; - sint16 start_y = *y; - sint16 height = 0; + sint16 start_x = *x; + sint16 start_y = *y; + sint16 height = 0; - uint32 rotation = get_current_rotation(); - rct_xy16 pos; - for (sint32 i = 0; i < 6; i++) { - pos = viewport_coord_to_map_coord(start_x, start_y, height); - height = map_element_height((0xFFFF) & pos.x, (0xFFFF) & pos.y); + uint32 rotation = get_current_rotation(); + rct_xy16 pos; + for (sint32 i = 0; i < 6; i++) { + pos = viewport_coord_to_map_coord(start_x, start_y, height); + height = map_element_height((0xFFFF) & pos.x, (0xFFFF) & pos.y); - // HACK: This is to prevent the x and y values being set to values outside - // of the map. This can happen when the height is larger than the map size. - sint16 max = gMapSizeMinus2; - if (pos.x > max && pos.y > max) { - sint32 x_corr[] = { -1, 1, 1, -1 }; - sint32 y_corr[] = { -1, -1, 1, 1 }; - pos.x += x_corr[rotation] * height; - pos.y += y_corr[rotation] * height; - } - } + // HACK: This is to prevent the x and y values being set to values outside + // of the map. This can happen when the height is larger than the map size. + sint16 max = gMapSizeMinus2; + if (pos.x > max && pos.y > max) { + sint32 x_corr[] = { -1, 1, 1, -1 }; + sint32 y_corr[] = { -1, -1, 1, 1 }; + pos.x += x_corr[rotation] * height; + pos.y += y_corr[rotation] * height; + } + } - *x = pos.x; - *y = pos.y; - *z = height; + *x = pos.x; + *y = pos.y; + *z = height; } /* @@ -255,258 +255,258 @@ void viewport_adjust_for_map_height(sint16* x, sint16* y, sint16 *z) */ static void viewport_redraw_after_shift(rct_drawpixelinfo *dpi, rct_window *window, rct_viewport *viewport, sint32 x, sint32 y) { - // sub-divide by intersecting windows - if (window < gWindowNextSlot) - { - // skip current window and non-intersecting windows - if (viewport == window->viewport || - viewport->x + viewport->width <= window->x || - viewport->x >= window->x + window->width || - viewport->y + viewport->height <= window->y || - viewport->y >= window->y + window->height){ - viewport_redraw_after_shift(dpi, window + 1, viewport, x, y); - return; - } + // sub-divide by intersecting windows + if (window < gWindowNextSlot) + { + // skip current window and non-intersecting windows + if (viewport == window->viewport || + viewport->x + viewport->width <= window->x || + viewport->x >= window->x + window->width || + viewport->y + viewport->height <= window->y || + viewport->y >= window->y + window->height){ + viewport_redraw_after_shift(dpi, window + 1, viewport, x, y); + return; + } - // save viewport - rct_viewport view_copy; - memcpy(&view_copy, viewport, sizeof(rct_viewport)); + // save viewport + rct_viewport view_copy; + memcpy(&view_copy, viewport, sizeof(rct_viewport)); - if (viewport->x < window->x) - { - viewport->width = window->x - viewport->x; - viewport->view_width = viewport->width << viewport->zoom; - viewport_redraw_after_shift(dpi, window, viewport, x, y); + if (viewport->x < window->x) + { + viewport->width = window->x - viewport->x; + viewport->view_width = viewport->width << viewport->zoom; + viewport_redraw_after_shift(dpi, window, viewport, x, y); - viewport->x += viewport->width; - viewport->view_x += viewport->width << viewport->zoom; - viewport->width = view_copy.width - viewport->width; - viewport->view_width = viewport->width << viewport->zoom; - viewport_redraw_after_shift(dpi, window, viewport, x, y); - } - else if (viewport->x + viewport->width > window->x + window->width) - { - viewport->width = window->x + window->width - viewport->x; - viewport->view_width = viewport->width << viewport->zoom; - viewport_redraw_after_shift(dpi, window, viewport, x, y); + viewport->x += viewport->width; + viewport->view_x += viewport->width << viewport->zoom; + viewport->width = view_copy.width - viewport->width; + viewport->view_width = viewport->width << viewport->zoom; + viewport_redraw_after_shift(dpi, window, viewport, x, y); + } + else if (viewport->x + viewport->width > window->x + window->width) + { + viewport->width = window->x + window->width - viewport->x; + viewport->view_width = viewport->width << viewport->zoom; + viewport_redraw_after_shift(dpi, window, viewport, x, y); - viewport->x += viewport->width; - viewport->view_x += viewport->width << viewport->zoom; - viewport->width = view_copy.width - viewport->width; - viewport->view_width = viewport->width << viewport->zoom; - viewport_redraw_after_shift(dpi, window, viewport, x, y); - } - else if (viewport->y < window->y) - { - viewport->height = window->y - viewport->y; - viewport->view_width = viewport->width << viewport->zoom; - viewport_redraw_after_shift(dpi, window, viewport, x, y); + viewport->x += viewport->width; + viewport->view_x += viewport->width << viewport->zoom; + viewport->width = view_copy.width - viewport->width; + viewport->view_width = viewport->width << viewport->zoom; + viewport_redraw_after_shift(dpi, window, viewport, x, y); + } + else if (viewport->y < window->y) + { + viewport->height = window->y - viewport->y; + viewport->view_width = viewport->width << viewport->zoom; + viewport_redraw_after_shift(dpi, window, viewport, x, y); - viewport->y += viewport->height; - viewport->view_y += viewport->height << viewport->zoom; - viewport->height = view_copy.height - viewport->height; - viewport->view_width = viewport->width << viewport->zoom; - viewport_redraw_after_shift(dpi, window, viewport, x, y); - } - else if (viewport->y + viewport->height > window->y + window->height) - { - viewport->height = window->y + window->height - viewport->y; - viewport->view_width = viewport->width << viewport->zoom; - viewport_redraw_after_shift(dpi, window, viewport, x, y); + viewport->y += viewport->height; + viewport->view_y += viewport->height << viewport->zoom; + viewport->height = view_copy.height - viewport->height; + viewport->view_width = viewport->width << viewport->zoom; + viewport_redraw_after_shift(dpi, window, viewport, x, y); + } + else if (viewport->y + viewport->height > window->y + window->height) + { + viewport->height = window->y + window->height - viewport->y; + viewport->view_width = viewport->width << viewport->zoom; + viewport_redraw_after_shift(dpi, window, viewport, x, y); - viewport->y += viewport->height; - viewport->view_y += viewport->height << viewport->zoom; - viewport->height = view_copy.height - viewport->height; - viewport->view_width = viewport->width << viewport->zoom; - viewport_redraw_after_shift(dpi, window, viewport, x, y); - } + viewport->y += viewport->height; + viewport->view_y += viewport->height << viewport->zoom; + viewport->height = view_copy.height - viewport->height; + viewport->view_width = viewport->width << viewport->zoom; + viewport_redraw_after_shift(dpi, window, viewport, x, y); + } - // restore viewport - memcpy(viewport, &view_copy, sizeof(rct_viewport)); - } - else - { - sint16 left = viewport->x; - sint16 right = viewport->x + viewport->width; - sint16 top = viewport->y; - sint16 bottom = viewport->y + viewport->height; + // restore viewport + memcpy(viewport, &view_copy, sizeof(rct_viewport)); + } + else + { + sint16 left = viewport->x; + sint16 right = viewport->x + viewport->width; + sint16 top = viewport->y; + sint16 bottom = viewport->y + viewport->height; - // if moved more than the viewport size - if (abs(x) < viewport->width && abs(y) < viewport->height) - { - // update whole block ? - drawing_engine_copy_rect(viewport->x, viewport->y, viewport->width, viewport->height, x, y); + // if moved more than the viewport size + if (abs(x) < viewport->width && abs(y) < viewport->height) + { + // update whole block ? + drawing_engine_copy_rect(viewport->x, viewport->y, viewport->width, viewport->height, x, y); - if (x > 0) - { - // draw left - sint16 _right = viewport->x + x; - window_draw_all(dpi, left, top, _right, bottom); - left += x; - } - else if (x < 0) - { - // draw right - sint16 _left = viewport->x + viewport->width + x; - window_draw_all(dpi, _left, top, right, bottom); - right += x; - } + if (x > 0) + { + // draw left + sint16 _right = viewport->x + x; + window_draw_all(dpi, left, top, _right, bottom); + left += x; + } + else if (x < 0) + { + // draw right + sint16 _left = viewport->x + viewport->width + x; + window_draw_all(dpi, _left, top, right, bottom); + right += x; + } - if (y > 0) - { - // draw top - bottom = viewport->y + y; - window_draw_all(dpi, left, top, right, bottom); - } - else if (y < 0) - { - // draw bottom - top = viewport->y + viewport->height + y; - window_draw_all(dpi, left, top, right, bottom); - } - } - else - { - // redraw whole viewport - window_draw_all(dpi, left, top, right, bottom); - } - } + if (y > 0) + { + // draw top + bottom = viewport->y + y; + window_draw_all(dpi, left, top, right, bottom); + } + else if (y < 0) + { + // draw bottom + top = viewport->y + viewport->height + y; + window_draw_all(dpi, left, top, right, bottom); + } + } + else + { + // redraw whole viewport + window_draw_all(dpi, left, top, right, bottom); + } + } } static void viewport_shift_pixels(rct_drawpixelinfo *dpi, rct_window* w, rct_viewport* viewport, sint16 x_diff, sint16 y_diff) { - rct_window* orignal_w = w; - sint32 left = 0, right = 0, top = 0, bottom = 0; + rct_window* orignal_w = w; + sint32 left = 0, right = 0, top = 0, bottom = 0; - for (; w < gWindowNextSlot; w++){ - if (!(w->flags & WF_TRANSPARENT)) continue; - if (w->viewport == viewport) continue; + for (; w < gWindowNextSlot; w++){ + if (!(w->flags & WF_TRANSPARENT)) continue; + if (w->viewport == viewport) continue; - if (viewport->x + viewport->width <= w->x)continue; - if (w->x + w->width <= viewport->x) continue; + if (viewport->x + viewport->width <= w->x)continue; + if (w->x + w->width <= viewport->x) continue; - if (viewport->y + viewport->height <= w->y)continue; - if (w->y + w->height <= viewport->y) continue; + if (viewport->y + viewport->height <= w->y)continue; + if (w->y + w->height <= viewport->y) continue; - left = w->x; - right = w->x + w->width; - top = w->y; - bottom = w->y + w->height; + left = w->x; + right = w->x + w->width; + top = w->y; + bottom = w->y + w->height; - if (left < viewport->x)left = viewport->x; - if (right > viewport->x + viewport->width) right = viewport->x + viewport->width; + if (left < viewport->x)left = viewport->x; + if (right > viewport->x + viewport->width) right = viewport->x + viewport->width; - if (top < viewport->y)top = viewport->y; - if (bottom > viewport->y + viewport->height) bottom = viewport->y + viewport->height; + if (top < viewport->y)top = viewport->y; + if (bottom > viewport->y + viewport->height) bottom = viewport->y + viewport->height; - if (left >= right) continue; - if (top >= bottom) continue; + if (left >= right) continue; + if (top >= bottom) continue; - window_draw_all(dpi, left, top, right, bottom); - } + window_draw_all(dpi, left, top, right, bottom); + } - w = orignal_w; - viewport_redraw_after_shift(dpi, w, viewport, x_diff, y_diff); + w = orignal_w; + viewport_redraw_after_shift(dpi, w, viewport, x_diff, y_diff); } static void viewport_move(sint16 x, sint16 y, rct_window* w, rct_viewport* viewport) { - uint8 zoom = (1 << viewport->zoom); + uint8 zoom = (1 << viewport->zoom); - // Note: do not do the subtraction and then divide! - // Note: Due to arithmetic shift != /zoom a shift will have to be used - // hopefully when 0x006E7FF3 is finished this can be converted to /zoom. - sint16 x_diff = (viewport->view_x >> viewport->zoom) - (x >> viewport->zoom); - sint16 y_diff = (viewport->view_y >> viewport->zoom) - (y >> viewport->zoom); + // Note: do not do the subtraction and then divide! + // Note: Due to arithmetic shift != /zoom a shift will have to be used + // hopefully when 0x006E7FF3 is finished this can be converted to /zoom. + sint16 x_diff = (viewport->view_x >> viewport->zoom) - (x >> viewport->zoom); + sint16 y_diff = (viewport->view_y >> viewport->zoom) - (y >> viewport->zoom); - viewport->view_x = x; - viewport->view_y = y; + viewport->view_x = x; + viewport->view_y = y; - // If no change in viewing area - if ((!x_diff) && (!y_diff))return; + // If no change in viewing area + if ((!x_diff) && (!y_diff))return; - if (w->flags & WF_7){ - sint32 left = max(viewport->x, 0); - sint32 top = max(viewport->y, 0); - sint32 right = min(viewport->x + viewport->width, context_get_width()); - sint32 bottom = min(viewport->y + viewport->height, context_get_height()); + if (w->flags & WF_7){ + sint32 left = max(viewport->x, 0); + sint32 top = max(viewport->y, 0); + sint32 right = min(viewport->x + viewport->width, context_get_width()); + sint32 bottom = min(viewport->y + viewport->height, context_get_height()); - if (left >= right) return; - if (top >= bottom) return; + if (left >= right) return; + if (top >= bottom) return; - if (drawing_engine_has_dirty_optimisations()) { - rct_drawpixelinfo *dpi = drawing_engine_get_dpi(); - window_draw_all(dpi, left, top, right, bottom); - return; - } - } + if (drawing_engine_has_dirty_optimisations()) { + rct_drawpixelinfo *dpi = drawing_engine_get_dpi(); + window_draw_all(dpi, left, top, right, bottom); + return; + } + } - rct_viewport view_copy; - memcpy(&view_copy, viewport, sizeof(rct_viewport)); + rct_viewport view_copy; + memcpy(&view_copy, viewport, sizeof(rct_viewport)); - if (viewport->x < 0){ - viewport->width += viewport->x; - viewport->view_width += viewport->x * zoom; - viewport->view_x -= viewport->x * zoom; - viewport->x = 0; - } + if (viewport->x < 0){ + viewport->width += viewport->x; + viewport->view_width += viewport->x * zoom; + viewport->view_x -= viewport->x * zoom; + viewport->x = 0; + } - sint32 eax = viewport->x + viewport->width - context_get_width(); - if (eax > 0){ - viewport->width -= eax; - viewport->view_width -= eax * zoom; - } + sint32 eax = viewport->x + viewport->width - context_get_width(); + if (eax > 0){ + viewport->width -= eax; + viewport->view_width -= eax * zoom; + } - if (viewport->width <= 0){ - memcpy(viewport, &view_copy, sizeof(rct_viewport)); - return; - } + if (viewport->width <= 0){ + memcpy(viewport, &view_copy, sizeof(rct_viewport)); + return; + } - if (viewport->y < 0){ - viewport->height += viewport->y; - viewport->view_height += viewport->y * zoom; - viewport->view_y -= viewport->y * zoom; - viewport->y = 0; - } + if (viewport->y < 0){ + viewport->height += viewport->y; + viewport->view_height += viewport->y * zoom; + viewport->view_y -= viewport->y * zoom; + viewport->y = 0; + } - eax = viewport->y + viewport->height - context_get_height(); - if (eax > 0){ - viewport->height -= eax; - viewport->view_height -= eax * zoom; - } + eax = viewport->y + viewport->height - context_get_height(); + if (eax > 0){ + viewport->height -= eax; + viewport->view_height -= eax * zoom; + } - if (viewport->height <= 0){ - memcpy(viewport, &view_copy, sizeof(rct_viewport)); - return; - } + if (viewport->height <= 0){ + memcpy(viewport, &view_copy, sizeof(rct_viewport)); + return; + } - if (drawing_engine_has_dirty_optimisations()) { - rct_drawpixelinfo *dpi = drawing_engine_get_dpi(); - viewport_shift_pixels(dpi, w, viewport, x_diff, y_diff); - } + if (drawing_engine_has_dirty_optimisations()) { + rct_drawpixelinfo *dpi = drawing_engine_get_dpi(); + viewport_shift_pixels(dpi, w, viewport, x_diff, y_diff); + } - memcpy(viewport, &view_copy, sizeof(rct_viewport)); + memcpy(viewport, &view_copy, sizeof(rct_viewport)); } //rct2: 0x006E7A15 static void viewport_set_underground_flag(sint32 underground, rct_window* window, rct_viewport* viewport) { - if (window->classification != WC_MAIN_WINDOW) - { - if (!underground) - { - sint32 bit = viewport->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE; - viewport->flags &= ~VIEWPORT_FLAG_UNDERGROUND_INSIDE; - if (!bit) return; - } - else - { - sint32 bit = viewport->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE; - viewport->flags |= VIEWPORT_FLAG_UNDERGROUND_INSIDE; - if (bit) return; - } - window_invalidate(window); - } + if (window->classification != WC_MAIN_WINDOW) + { + if (!underground) + { + sint32 bit = viewport->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE; + viewport->flags &= ~VIEWPORT_FLAG_UNDERGROUND_INSIDE; + if (!bit) return; + } + else + { + sint32 bit = viewport->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE; + viewport->flags |= VIEWPORT_FLAG_UNDERGROUND_INSIDE; + if (bit) return; + } + window_invalidate(window); + } } /** @@ -515,109 +515,109 @@ static void viewport_set_underground_flag(sint32 underground, rct_window* window */ void viewport_update_position(rct_window *window) { - window_event_resize_call(window); + window_event_resize_call(window); - rct_viewport* viewport = window->viewport; - if (!viewport)return; + rct_viewport* viewport = window->viewport; + if (!viewport)return; - if (window->viewport_target_sprite != -1) { - viewport_update_sprite_follow(window); - return; - } + if (window->viewport_target_sprite != -1) { + viewport_update_sprite_follow(window); + return; + } - sint16 x = viewport->view_width / 2 + window->saved_view_x; - sint16 y = viewport->view_height / 2 + window->saved_view_y; - sint16 z; + sint16 x = viewport->view_width / 2 + window->saved_view_x; + sint16 y = viewport->view_height / 2 + window->saved_view_y; + sint16 z; - viewport_adjust_for_map_height(&x, &y, &z); + viewport_adjust_for_map_height(&x, &y, &z); - viewport_set_underground_flag(0, window, viewport); + viewport_set_underground_flag(0, window, viewport); - //Clamp to the map minimum value - sint32 at_map_edge_x = 0; - if (x < MAP_MINIMUM_X_Y){ - x = MAP_MINIMUM_X_Y; - at_map_edge_x = 1; - } - sint32 at_map_edge_y = 0; - if (y < MAP_MINIMUM_X_Y){ - y = MAP_MINIMUM_X_Y; - at_map_edge_y = 1; - } + //Clamp to the map minimum value + sint32 at_map_edge_x = 0; + if (x < MAP_MINIMUM_X_Y){ + x = MAP_MINIMUM_X_Y; + at_map_edge_x = 1; + } + sint32 at_map_edge_y = 0; + if (y < MAP_MINIMUM_X_Y){ + y = MAP_MINIMUM_X_Y; + at_map_edge_y = 1; + } - //Clamp to the map maximum value (scenario specific) - if (x > gMapSizeMinus2){ - x = gMapSizeMinus2; - at_map_edge_x = 1; - } - if (y > gMapSizeMinus2){ - y = gMapSizeMinus2; - at_map_edge_y = 1; - } + //Clamp to the map maximum value (scenario specific) + if (x > gMapSizeMinus2){ + x = gMapSizeMinus2; + at_map_edge_x = 1; + } + if (y > gMapSizeMinus2){ + y = gMapSizeMinus2; + at_map_edge_y = 1; + } - if (at_map_edge_x || at_map_edge_y) { - // The &0xFFFF is to prevent the sign extension messing the - // function up. - sint32 zz = map_element_height(x & 0xFFFF, y & 0xFFFF); - sint32 _2d_x, _2d_y; - center_2d_coordinates(x, y, zz, &_2d_x, &_2d_y, viewport); + if (at_map_edge_x || at_map_edge_y) { + // The &0xFFFF is to prevent the sign extension messing the + // function up. + sint32 zz = map_element_height(x & 0xFFFF, y & 0xFFFF); + sint32 _2d_x, _2d_y; + center_2d_coordinates(x, y, zz, &_2d_x, &_2d_y, viewport); - if (at_map_edge_x) - window->saved_view_x = _2d_x; - if (at_map_edge_y) - window->saved_view_y = _2d_y; - } + if (at_map_edge_x) + window->saved_view_x = _2d_x; + if (at_map_edge_y) + window->saved_view_y = _2d_y; + } - x = window->saved_view_x; - y = window->saved_view_y; - if (window->flags & WF_SCROLLING_TO_LOCATION){ - // Moves the viewport if focusing in on an item - uint8 flags = 0; - x -= viewport->view_x; - if (x < 0){ - x = -x; - flags |= 1; - } - y -= viewport->view_y; - if (y < 0){ - y = -y; - flags |= 2; - } - x = (x + 7) / 8; - y = (y + 7) / 8; + x = window->saved_view_x; + y = window->saved_view_y; + if (window->flags & WF_SCROLLING_TO_LOCATION){ + // Moves the viewport if focusing in on an item + uint8 flags = 0; + x -= viewport->view_x; + if (x < 0){ + x = -x; + flags |= 1; + } + y -= viewport->view_y; + if (y < 0){ + y = -y; + flags |= 2; + } + x = (x + 7) / 8; + y = (y + 7) / 8; - //If we are at the final zoom position - if (!x && !y){ - window->flags &= ~WF_SCROLLING_TO_LOCATION; - } - if (flags & 1){ - x = -x; - } - if (flags & 2){ - y = -y; - } - x += viewport->view_x; - y += viewport->view_y; - } + //If we are at the final zoom position + if (!x && !y){ + window->flags &= ~WF_SCROLLING_TO_LOCATION; + } + if (flags & 1){ + x = -x; + } + if (flags & 2){ + y = -y; + } + x += viewport->view_x; + y += viewport->view_y; + } - viewport_move(x, y, window, viewport); + viewport_move(x, y, window, viewport); } void viewport_update_sprite_follow(rct_window *window) { - if (window->viewport_target_sprite != -1 && window->viewport){ - rct_sprite* sprite = get_sprite(window->viewport_target_sprite); + if (window->viewport_target_sprite != -1 && window->viewport){ + rct_sprite* sprite = get_sprite(window->viewport_target_sprite); - sint32 height = (map_element_height(0xFFFF & sprite->unknown.x, 0xFFFF & sprite->unknown.y) & 0xFFFF) - 16; - sint32 underground = sprite->unknown.z < height; + sint32 height = (map_element_height(0xFFFF & sprite->unknown.x, 0xFFFF & sprite->unknown.y) & 0xFFFF) - 16; + sint32 underground = sprite->unknown.z < height; - viewport_set_underground_flag(underground, window, window->viewport); + viewport_set_underground_flag(underground, window, window->viewport); - sint32 center_x, center_y; - center_2d_coordinates(sprite->unknown.x, sprite->unknown.y, sprite->unknown.z, ¢er_x, ¢er_y, window->viewport); + sint32 center_x, center_y; + center_2d_coordinates(sprite->unknown.x, sprite->unknown.y, sprite->unknown.z, ¢er_x, ¢er_y, window->viewport); - viewport_move(center_x, center_y, window, window->viewport); - } + viewport_move(center_x, center_y, window, window->viewport); + } } /** @@ -632,37 +632,37 @@ void viewport_update_sprite_follow(rct_window *window) */ void viewport_render(rct_drawpixelinfo *dpi, rct_viewport *viewport, sint32 left, sint32 top, sint32 right, sint32 bottom) { - if (right <= viewport->x) return; - if (bottom <= viewport->y) return; - if (left >= viewport->x + viewport->width)return; - if (top >= viewport->y + viewport->height)return; + if (right <= viewport->x) return; + if (bottom <= viewport->y) return; + if (left >= viewport->x + viewport->width)return; + if (top >= viewport->y + viewport->height)return; #ifdef DEBUG_SHOW_DIRTY_BOX - sint32 l = left, t = top, r = right, b = bottom; + sint32 l = left, t = top, r = right, b = bottom; #endif - left = max(left - viewport->x, 0); - right = min(right - viewport->x, viewport->width); - top = max(top - viewport->y, 0); - bottom = min(bottom - viewport->y, viewport->height); + left = max(left - viewport->x, 0); + right = min(right - viewport->x, viewport->width); + top = max(top - viewport->y, 0); + bottom = min(bottom - viewport->y, viewport->height); - left <<= viewport->zoom; - right <<= viewport->zoom; - top <<= viewport->zoom; - bottom <<= viewport->zoom; + left <<= viewport->zoom; + right <<= viewport->zoom; + top <<= viewport->zoom; + bottom <<= viewport->zoom; - left += viewport->view_x; - right += viewport->view_x; - top += viewport->view_y; - bottom += viewport->view_y; + left += viewport->view_x; + right += viewport->view_x; + top += viewport->view_y; + bottom += viewport->view_y; - viewport_paint(viewport, dpi, left, top, right, bottom); + viewport_paint(viewport, dpi, left, top, right, bottom); #ifdef DEBUG_SHOW_DIRTY_BOX - if (viewport != g_viewport_list){ - gfx_fill_rect_inset(dpi, l, t, r-1, b-1, 0x2, INSET_RECT_F_30); - return; - } + if (viewport != g_viewport_list){ + gfx_fill_rect_inset(dpi, l, t, r-1, b-1, 0x2, INSET_RECT_F_30); + return; + } #endif } @@ -678,99 +678,99 @@ void viewport_render(rct_drawpixelinfo *dpi, rct_viewport *viewport, sint32 left */ void viewport_paint(rct_viewport* viewport, rct_drawpixelinfo* dpi, sint16 left, sint16 top, sint16 right, sint16 bottom) { - uint32 viewFlags = viewport->flags; - uint16 width = right - left; - uint16 height = bottom - top; - uint16 bitmask = 0xFFFF & (0xFFFF << viewport->zoom); + uint32 viewFlags = viewport->flags; + uint16 width = right - left; + uint16 height = bottom - top; + uint16 bitmask = 0xFFFF & (0xFFFF << viewport->zoom); - width &= bitmask; - height &= bitmask; - left &= bitmask; - top &= bitmask; - right = left + width; - bottom = top + height; + width &= bitmask; + height &= bitmask; + left &= bitmask; + top &= bitmask; + right = left + width; + bottom = top + height; - sint16 x = (sint16)(left - (sint16)(viewport->view_x & bitmask)); - x >>= viewport->zoom; - x += viewport->x; + sint16 x = (sint16)(left - (sint16)(viewport->view_x & bitmask)); + x >>= viewport->zoom; + x += viewport->x; - sint16 y = (sint16)(top - (sint16)(viewport->view_y & bitmask)); - y >>= viewport->zoom; - y += viewport->y; + sint16 y = (sint16)(top - (sint16)(viewport->view_y & bitmask)); + y >>= viewport->zoom; + y += viewport->y; - rct_drawpixelinfo dpi1; - dpi1.bits = dpi->bits + (x - dpi->x) + ((y - dpi->y) * (dpi->width + dpi->pitch)); - dpi1.x = left; - dpi1.y = top; - dpi1.width = width; - dpi1.height = height; - dpi1.pitch = (dpi->width + dpi->pitch) - (width >> viewport->zoom); - dpi1.zoom_level = viewport->zoom; + rct_drawpixelinfo dpi1; + dpi1.bits = dpi->bits + (x - dpi->x) + ((y - dpi->y) * (dpi->width + dpi->pitch)); + dpi1.x = left; + dpi1.y = top; + dpi1.width = width; + dpi1.height = height; + dpi1.pitch = (dpi->width + dpi->pitch) - (width >> viewport->zoom); + dpi1.zoom_level = viewport->zoom; - // Splits the area into 32 pixel columns and renders them - for (x = floor2(dpi1.x, 32); x < dpi1.x + dpi1.width; x += 32) { - rct_drawpixelinfo dpi2 = dpi1; - if (x >= dpi2.x) { - sint16 leftPitch = x - dpi2.x; - dpi2.width -= leftPitch; - dpi2.bits += leftPitch >> dpi2.zoom_level; - dpi2.pitch += leftPitch >> dpi2.zoom_level; - dpi2.x = x; - } + // Splits the area into 32 pixel columns and renders them + for (x = floor2(dpi1.x, 32); x < dpi1.x + dpi1.width; x += 32) { + rct_drawpixelinfo dpi2 = dpi1; + if (x >= dpi2.x) { + sint16 leftPitch = x - dpi2.x; + dpi2.width -= leftPitch; + dpi2.bits += leftPitch >> dpi2.zoom_level; + dpi2.pitch += leftPitch >> dpi2.zoom_level; + dpi2.x = x; + } - sint16 paintRight = dpi2.x + dpi2.width; - if (paintRight >= x + 32) { - sint16 rightPitch = paintRight - x - 32; - paintRight -= rightPitch; - dpi2.pitch += rightPitch >> dpi2.zoom_level; - } - dpi2.width = paintRight - dpi2.x; + sint16 paintRight = dpi2.x + dpi2.width; + if (paintRight >= x + 32) { + sint16 rightPitch = paintRight - x - 32; + paintRight -= rightPitch; + dpi2.pitch += rightPitch >> dpi2.zoom_level; + } + dpi2.width = paintRight - dpi2.x; - viewport_paint_column(&dpi2, viewFlags); - } + viewport_paint_column(&dpi2, viewFlags); + } } static void viewport_paint_column(rct_drawpixelinfo * dpi, uint32 viewFlags) { - gCurrentViewportFlags = viewFlags; + gCurrentViewportFlags = viewFlags; - if (viewFlags & (VIEWPORT_FLAG_HIDE_VERTICAL | VIEWPORT_FLAG_HIDE_BASE | VIEWPORT_FLAG_UNDERGROUND_INSIDE | VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT)) { - uint8 colour = 10; - if (viewFlags & VIEWPORT_FLAG_INVISIBLE_SPRITES) { - colour = 0; - } - gfx_clear(dpi, colour); - } - paint_init(dpi); - paint_generate_structs(dpi); - paint_struct ps = paint_arrange_structs(); - paint_draw_structs(dpi, &ps, viewFlags); + if (viewFlags & (VIEWPORT_FLAG_HIDE_VERTICAL | VIEWPORT_FLAG_HIDE_BASE | VIEWPORT_FLAG_UNDERGROUND_INSIDE | VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT)) { + uint8 colour = 10; + if (viewFlags & VIEWPORT_FLAG_INVISIBLE_SPRITES) { + colour = 0; + } + gfx_clear(dpi, colour); + } + paint_init(dpi); + paint_generate_structs(dpi); + paint_struct ps = paint_arrange_structs(); + paint_draw_structs(dpi, &ps, viewFlags); - if (gConfigGeneral.render_weather_gloom && - !gTrackDesignSaveMode && - !(viewFlags & VIEWPORT_FLAG_INVISIBLE_SPRITES) - ) { - viewport_paint_weather_gloom(dpi); - } + if (gConfigGeneral.render_weather_gloom && + !gTrackDesignSaveMode && + !(viewFlags & VIEWPORT_FLAG_INVISIBLE_SPRITES) + ) { + viewport_paint_weather_gloom(dpi); + } - if (gPaintPSStringHead != NULL) { - paint_draw_money_structs(dpi, gPaintPSStringHead); - } + if (gPaintPSStringHead != NULL) { + paint_draw_money_structs(dpi, gPaintPSStringHead); + } } static void viewport_paint_weather_gloom(rct_drawpixelinfo * dpi) { - uint8 gloom = gClimateCurrentWeatherGloom; - if (gloom != 0) { - gfx_filter_rect( - dpi, - dpi->x, - dpi->y, - dpi->width + dpi->x - 1, - dpi->height + dpi->y - 1, - ClimateWeatherGloomColours[gloom] - ); - } + uint8 gloom = gClimateCurrentWeatherGloom; + if (gloom != 0) { + gfx_filter_rect( + dpi, + dpi->x, + dpi->y, + dpi->width + dpi->x - 1, + dpi->height + dpi->y - 1, + ClimateWeatherGloomColours[gloom] + ); + } } /** @@ -779,69 +779,69 @@ static void viewport_paint_weather_gloom(rct_drawpixelinfo * dpi) */ void screen_pos_to_map_pos(sint16 *x, sint16 *y, sint32 *direction) { - screen_get_map_xy(*x, *y, x, y, NULL); - if (*x == MAP_LOCATION_NULL) - return; + screen_get_map_xy(*x, *y, x, y, NULL); + if (*x == MAP_LOCATION_NULL) + return; - sint32 my_direction; - sint32 dist_from_center_x = abs(*x % 32); - sint32 dist_from_center_y = abs(*y % 32); - if (dist_from_center_x > 8 && dist_from_center_x < 24 && - dist_from_center_y > 8 && dist_from_center_y < 24) { - my_direction = 4; - } else { - sint16 mod_x = *x & 0x1F; - sint16 mod_y = *y & 0x1F; - if (mod_x <= 16) { - if (mod_y < 16) { - my_direction = 2; - } else { - my_direction = 3; - } - } else { - if (mod_y < 16) { - my_direction = 1; - } else { - my_direction = 0; - } - } - } + sint32 my_direction; + sint32 dist_from_center_x = abs(*x % 32); + sint32 dist_from_center_y = abs(*y % 32); + if (dist_from_center_x > 8 && dist_from_center_x < 24 && + dist_from_center_y > 8 && dist_from_center_y < 24) { + my_direction = 4; + } else { + sint16 mod_x = *x & 0x1F; + sint16 mod_y = *y & 0x1F; + if (mod_x <= 16) { + if (mod_y < 16) { + my_direction = 2; + } else { + my_direction = 3; + } + } else { + if (mod_y < 16) { + my_direction = 1; + } else { + my_direction = 0; + } + } + } - *x = *x & ~0x1F; - *y = *y & ~0x1F; - if (direction != NULL) *direction = my_direction; + *x = *x & ~0x1F; + *y = *y & ~0x1F; + if (direction != NULL) *direction = my_direction; } rct_xy16 screen_coord_to_viewport_coord(rct_viewport *viewport, uint16 x, uint16 y) { - rct_xy16 ret; - ret.x = ((x - viewport->x) << viewport->zoom) + viewport->view_x; - ret.y = ((y - viewport->y) << viewport->zoom) + viewport->view_y; - return ret; + rct_xy16 ret; + ret.x = ((x - viewport->x) << viewport->zoom) + viewport->view_x; + ret.y = ((y - viewport->y) << viewport->zoom) + viewport->view_y; + return ret; } rct_xy16 viewport_coord_to_map_coord(sint32 x, sint32 y, sint32 z) { - rct_xy16 ret = { 0 }; - switch (get_current_rotation()) { - case 0: - ret.x = -x / 2 + y + z; - ret.y = x / 2 + y + z; - break; - case 1: - ret.x = -x / 2 - y - z; - ret.y = -x / 2 + y + z; - break; - case 2: - ret.x = x / 2 - y - z; - ret.y = -x / 2 - y - z; - break; - case 3: - ret.x = x / 2 + y + z; - ret.y = x / 2 - y - z; - break; - } - return ret; + rct_xy16 ret = { 0 }; + switch (get_current_rotation()) { + case 0: + ret.x = -x / 2 + y + z; + ret.y = x / 2 + y + z; + break; + case 1: + ret.x = -x / 2 - y - z; + ret.y = -x / 2 + y + z; + break; + case 2: + ret.x = x / 2 - y - z; + ret.y = -x / 2 - y - z; + break; + case 3: + ret.x = x / 2 + y + z; + ret.y = x / 2 - y - z; + break; + } + return ret; } /** @@ -850,16 +850,16 @@ rct_xy16 viewport_coord_to_map_coord(sint32 x, sint32 y, sint32 z) */ void show_gridlines() { - if (gShowGridLinesRefCount == 0) { - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) { - if (!(mainWindow->viewport->flags & VIEWPORT_FLAG_GRIDLINES)) { - mainWindow->viewport->flags |= VIEWPORT_FLAG_GRIDLINES; - window_invalidate(mainWindow); - } - } - } - gShowGridLinesRefCount++; + if (gShowGridLinesRefCount == 0) { + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) { + if (!(mainWindow->viewport->flags & VIEWPORT_FLAG_GRIDLINES)) { + mainWindow->viewport->flags |= VIEWPORT_FLAG_GRIDLINES; + window_invalidate(mainWindow); + } + } + } + gShowGridLinesRefCount++; } /** @@ -868,16 +868,16 @@ void show_gridlines() */ void hide_gridlines() { - gShowGridLinesRefCount--; - if (gShowGridLinesRefCount == 0) { - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) { - if (!gConfigGeneral.always_show_gridlines) { - mainWindow->viewport->flags &= ~VIEWPORT_FLAG_GRIDLINES; - window_invalidate(mainWindow); - } - } - } + gShowGridLinesRefCount--; + if (gShowGridLinesRefCount == 0) { + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) { + if (!gConfigGeneral.always_show_gridlines) { + mainWindow->viewport->flags &= ~VIEWPORT_FLAG_GRIDLINES; + window_invalidate(mainWindow); + } + } + } } /** @@ -886,16 +886,16 @@ void hide_gridlines() */ void show_land_rights() { - if (gShowLandRightsRefCount == 0) { - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) { - if (!(mainWindow->viewport->flags & VIEWPORT_FLAG_LAND_OWNERSHIP)) { - mainWindow->viewport->flags |= VIEWPORT_FLAG_LAND_OWNERSHIP; - window_invalidate(mainWindow); - } - } - } - gShowLandRightsRefCount++; + if (gShowLandRightsRefCount == 0) { + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) { + if (!(mainWindow->viewport->flags & VIEWPORT_FLAG_LAND_OWNERSHIP)) { + mainWindow->viewport->flags |= VIEWPORT_FLAG_LAND_OWNERSHIP; + window_invalidate(mainWindow); + } + } + } + gShowLandRightsRefCount++; } /** @@ -904,16 +904,16 @@ void show_land_rights() */ void hide_land_rights() { - gShowLandRightsRefCount--; - if (gShowLandRightsRefCount == 0) { - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) { - if (mainWindow->viewport->flags & VIEWPORT_FLAG_LAND_OWNERSHIP) { - mainWindow->viewport->flags &= ~VIEWPORT_FLAG_LAND_OWNERSHIP; - window_invalidate(mainWindow); - } - } - } + gShowLandRightsRefCount--; + if (gShowLandRightsRefCount == 0) { + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) { + if (mainWindow->viewport->flags & VIEWPORT_FLAG_LAND_OWNERSHIP) { + mainWindow->viewport->flags &= ~VIEWPORT_FLAG_LAND_OWNERSHIP; + window_invalidate(mainWindow); + } + } + } } /** @@ -922,16 +922,16 @@ void hide_land_rights() */ void show_construction_rights() { - if (gShowConstuctionRightsRefCount == 0) { - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) { - if (!(mainWindow->viewport->flags & VIEWPORT_FLAG_CONSTRUCTION_RIGHTS)) { - mainWindow->viewport->flags |= VIEWPORT_FLAG_CONSTRUCTION_RIGHTS; - window_invalidate(mainWindow); - } - } - } - gShowConstuctionRightsRefCount++; + if (gShowConstuctionRightsRefCount == 0) { + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) { + if (!(mainWindow->viewport->flags & VIEWPORT_FLAG_CONSTRUCTION_RIGHTS)) { + mainWindow->viewport->flags |= VIEWPORT_FLAG_CONSTRUCTION_RIGHTS; + window_invalidate(mainWindow); + } + } + } + gShowConstuctionRightsRefCount++; } /** @@ -940,16 +940,16 @@ void show_construction_rights() */ void hide_construction_rights() { - gShowConstuctionRightsRefCount--; - if (gShowConstuctionRightsRefCount == 0) { - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) { - if (mainWindow->viewport->flags & VIEWPORT_FLAG_CONSTRUCTION_RIGHTS) { - mainWindow->viewport->flags &= ~VIEWPORT_FLAG_CONSTRUCTION_RIGHTS; - window_invalidate(mainWindow); - } - } - } + gShowConstuctionRightsRefCount--; + if (gShowConstuctionRightsRefCount == 0) { + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) { + if (mainWindow->viewport->flags & VIEWPORT_FLAG_CONSTRUCTION_RIGHTS) { + mainWindow->viewport->flags &= ~VIEWPORT_FLAG_CONSTRUCTION_RIGHTS; + window_invalidate(mainWindow); + } + } + } } /** @@ -958,45 +958,45 @@ void hide_construction_rights() */ void viewport_set_visibility(uint8 mode) { - rct_window* window = window_get_main(); + rct_window* window = window_get_main(); - if (window != NULL) { - rct_viewport* edi = window->viewport; - uint32 invalidate = 0; + if (window != NULL) { + rct_viewport* edi = window->viewport; + uint32 invalidate = 0; - switch (mode) { - case 0: { //Set all these flags to 0, and invalidate if any were active - uint32 mask = VIEWPORT_FLAG_UNDERGROUND_INSIDE | VIEWPORT_FLAG_SEETHROUGH_RIDES | - VIEWPORT_FLAG_SEETHROUGH_SCENERY | VIEWPORT_FLAG_SEETHROUGH_PATHS | VIEWPORT_FLAG_INVISIBLE_SUPPORTS | - VIEWPORT_FLAG_LAND_HEIGHTS | VIEWPORT_FLAG_TRACK_HEIGHTS | - VIEWPORT_FLAG_PATH_HEIGHTS | VIEWPORT_FLAG_INVISIBLE_PEEPS | - VIEWPORT_FLAG_HIDE_BASE | VIEWPORT_FLAG_HIDE_VERTICAL; + switch (mode) { + case 0: { //Set all these flags to 0, and invalidate if any were active + uint32 mask = VIEWPORT_FLAG_UNDERGROUND_INSIDE | VIEWPORT_FLAG_SEETHROUGH_RIDES | + VIEWPORT_FLAG_SEETHROUGH_SCENERY | VIEWPORT_FLAG_SEETHROUGH_PATHS | VIEWPORT_FLAG_INVISIBLE_SUPPORTS | + VIEWPORT_FLAG_LAND_HEIGHTS | VIEWPORT_FLAG_TRACK_HEIGHTS | + VIEWPORT_FLAG_PATH_HEIGHTS | VIEWPORT_FLAG_INVISIBLE_PEEPS | + VIEWPORT_FLAG_HIDE_BASE | VIEWPORT_FLAG_HIDE_VERTICAL; - invalidate += edi->flags & mask; - edi->flags &= ~mask; - break; - } - case 1: //6CB79D - case 4: //6CB7C4 - //Set underground on, invalidate if it was off - invalidate += !(edi->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE); - edi->flags |= VIEWPORT_FLAG_UNDERGROUND_INSIDE; - break; - case 2: //6CB7EB - //Set track heights on, invalidate if off - invalidate += !(edi->flags & VIEWPORT_FLAG_TRACK_HEIGHTS); - edi->flags |= VIEWPORT_FLAG_TRACK_HEIGHTS; - break; - case 3: //6CB7B1 - case 5: //6CB7D8 - //Set underground off, invalidate if it was on - invalidate += edi->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE; - edi->flags &= ~((uint16)VIEWPORT_FLAG_UNDERGROUND_INSIDE); - break; - } - if (invalidate != 0) - window_invalidate(window); - } + invalidate += edi->flags & mask; + edi->flags &= ~mask; + break; + } + case 1: //6CB79D + case 4: //6CB7C4 + //Set underground on, invalidate if it was off + invalidate += !(edi->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE); + edi->flags |= VIEWPORT_FLAG_UNDERGROUND_INSIDE; + break; + case 2: //6CB7EB + //Set track heights on, invalidate if off + invalidate += !(edi->flags & VIEWPORT_FLAG_TRACK_HEIGHTS); + edi->flags |= VIEWPORT_FLAG_TRACK_HEIGHTS; + break; + case 3: //6CB7B1 + case 5: //6CB7D8 + //Set underground off, invalidate if it was on + invalidate += edi->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE; + edi->flags &= ~((uint16)VIEWPORT_FLAG_UNDERGROUND_INSIDE); + break; + } + if (invalidate != 0) + window_invalidate(window); + } } /** @@ -1006,118 +1006,118 @@ void viewport_set_visibility(uint8 mode) */ static void store_interaction_info(paint_struct *ps) { - if (ps->sprite_type == VIEWPORT_INTERACTION_ITEM_NONE - || ps->sprite_type == 11 // 11 as a type seems to not exist, maybe part of the typo mentioned later on. - || ps->sprite_type > VIEWPORT_INTERACTION_ITEM_BANNER) return; + if (ps->sprite_type == VIEWPORT_INTERACTION_ITEM_NONE + || ps->sprite_type == 11 // 11 as a type seems to not exist, maybe part of the typo mentioned later on. + || ps->sprite_type > VIEWPORT_INTERACTION_ITEM_BANNER) return; - uint16 mask; - if (ps->sprite_type == VIEWPORT_INTERACTION_ITEM_BANNER) - // I think CS made a typo here. Let's replicate the original behaviour. - mask = 1 << (ps->sprite_type - 3); - else - mask = 1 << (ps->sprite_type - 1); + uint16 mask; + if (ps->sprite_type == VIEWPORT_INTERACTION_ITEM_BANNER) + // I think CS made a typo here. Let's replicate the original behaviour. + mask = 1 << (ps->sprite_type - 3); + else + mask = 1 << (ps->sprite_type - 1); - if (!(_unk9AC154 & mask)) { - _interactionSpriteType = ps->sprite_type; - _unk9AC149 = ps->var_29; - _interactionMapX = ps->map_x; - _interactionMapY = ps->map_y; - _interaction_element = ps->mapElement; - } + if (!(_unk9AC154 & mask)) { + _interactionSpriteType = ps->sprite_type; + _unk9AC149 = ps->var_29; + _interactionMapX = ps->map_x; + _interactionMapY = ps->map_y; + _interaction_element = ps->mapElement; + } } /** * rct2: 0x00679236, 0x00679662, 0x00679B0D, 0x00679FF1 */ static bool sub_679236_679662_679B0D_679FF1(uint32 ebx, rct_g1_element *image, uint8 *esi) { - // Probably used to check for corruption - if (!(image->flags & G1_FLAG_BMP)) { - return false; - } + // Probably used to check for corruption + if (!(image->flags & G1_FLAG_BMP)) { + return false; + } - if (ebx & 0x20000000) { - uint8 *ebx_palette = unk_9ABDA4; + if (ebx & 0x20000000) { + uint8 *ebx_palette = unk_9ABDA4; - uint8 al = *esi; - uint8 al2 = *(al + ebx_palette); + uint8 al = *esi; + uint8 al2 = *(al + ebx_palette); - return (al2 != 0); - } + return (al2 != 0); + } - if (ebx & 0x40000000) { - return false; - } + if (ebx & 0x40000000) { + return false; + } - return (*esi != 0); + return (*esi != 0); } /** * rct2: 0x0067933B, 0x00679788, 0x00679C4A, 0x0067A117 */ static bool sub_67933B_679788_679C4A_67A117(uint8 *esi, sint16 x_start_point, sint16 y_start_point, sint32 round) { - const uint8 *ebx = esi + ((uint16 *) esi)[y_start_point]; + const uint8 *ebx = esi + ((uint16 *) esi)[y_start_point]; - uint8 last_data_line = 0; - while (!last_data_line) { - sint32 no_pixels = *ebx++; - uint8 gap_size = *ebx++; + uint8 last_data_line = 0; + while (!last_data_line) { + sint32 no_pixels = *ebx++; + uint8 gap_size = *ebx++; - last_data_line = no_pixels & 0x80; + last_data_line = no_pixels & 0x80; - no_pixels &= 0x7F; + no_pixels &= 0x7F; - ebx += no_pixels; + ebx += no_pixels; - if (round > 1) { - if (gap_size % 2) { - gap_size++; - no_pixels--; - if (no_pixels == 0) { - continue; - } - } - } + if (round > 1) { + if (gap_size % 2) { + gap_size++; + no_pixels--; + if (no_pixels == 0) { + continue; + } + } + } - if (round == 4) { - if (gap_size % 4) { - gap_size += 2; - no_pixels -= 2; - if (no_pixels <= 0) { - continue; - } - } - } + if (round == 4) { + if (gap_size % 4) { + gap_size += 2; + no_pixels -= 2; + if (no_pixels <= 0) { + continue; + } + } + } - sint32 x_start = gap_size - x_start_point; - if (x_start <= 0) { - no_pixels += x_start; - if (no_pixels <= 0) { - continue; - } + sint32 x_start = gap_size - x_start_point; + if (x_start <= 0) { + no_pixels += x_start; + if (no_pixels <= 0) { + continue; + } - x_start = 0; - } else { - // Do nothing? - } + x_start = 0; + } else { + // Do nothing? + } - x_start += no_pixels; - x_start--; - if (x_start > 0) { - no_pixels -= x_start; - if (no_pixels <= 0) { - continue; - } - } + x_start += no_pixels; + x_start--; + if (x_start > 0) { + no_pixels -= x_start; + if (no_pixels <= 0) { + continue; + } + } - if (round > 1) { - // This matches the original implementation, but allows empty lines to cause false positives on zoom 0 - if (ceil2(no_pixels, round) == 0) continue; - } + if (round > 1) { + // This matches the original implementation, but allows empty lines to cause false positives on zoom 0 + if (ceil2(no_pixels, round) == 0) continue; + } - return true; - } + return true; + } - return false; + return false; } /** @@ -1131,164 +1131,164 @@ static bool sub_67933B_679788_679C4A_67A117(uint8 *esi, sint16 x_start_point, si */ static bool sub_679074(rct_drawpixelinfo *dpi, sint32 imageId, sint16 x, sint16 y) { - rct_g1_element *image = gfx_get_g1_element(imageId & 0x7FFFF); + rct_g1_element *image = gfx_get_g1_element(imageId & 0x7FFFF); - if (dpi->zoom_level != 0) { - if (image->flags & 0x20) { - return false; - } + if (dpi->zoom_level != 0) { + if (image->flags & 0x20) { + return false; + } - if (image->flags & 0x10) { - // TODO: SAR in dpi done with `>> 1`, in coordinates with `/ 2` - rct_drawpixelinfo zoomed_dpi = { - .bits = dpi->bits, - .x = dpi->x >> 1, - .y = dpi->y >> 1, - .height = dpi->height, - .width = dpi->width, - .pitch = dpi->pitch, - .zoom_level = dpi->zoom_level - 1 - }; + if (image->flags & 0x10) { + // TODO: SAR in dpi done with `>> 1`, in coordinates with `/ 2` + rct_drawpixelinfo zoomed_dpi = { + .bits = dpi->bits, + .x = dpi->x >> 1, + .y = dpi->y >> 1, + .height = dpi->height, + .width = dpi->width, + .pitch = dpi->pitch, + .zoom_level = dpi->zoom_level - 1 + }; - return sub_679074(&zoomed_dpi, imageId - image->zoomed_offset, x / 2, y / 2); - } - } + return sub_679074(&zoomed_dpi, imageId - image->zoomed_offset, x / 2, y / 2); + } + } - sint32 round = 1 << dpi->zoom_level; + sint32 round = 1 << dpi->zoom_level; - if (image->flags & G1_FLAG_RLE_COMPRESSION) { - y -= (round - 1); - } + if (image->flags & G1_FLAG_RLE_COMPRESSION) { + y -= (round - 1); + } - y += image->y_offset; - sint16 yStartPoint = 0; - sint16 height = image->height; - if (dpi->zoom_level != 0) { - if (height % 2) { - height--; - yStartPoint++; - } + y += image->y_offset; + sint16 yStartPoint = 0; + sint16 height = image->height; + if (dpi->zoom_level != 0) { + if (height % 2) { + height--; + yStartPoint++; + } - if (dpi->zoom_level == 2) { - if (height % 4) { - height -= 2; - yStartPoint += 2; - } - } + if (dpi->zoom_level == 2) { + if (height % 4) { + height -= 2; + yStartPoint += 2; + } + } - if (height == 0) { - return false; - } - } + if (height == 0) { + return false; + } + } - y = floor2(y, round); - sint16 yEndPoint = height; - y -= dpi->y; - if (y < 0) { - yEndPoint += y; - if (yEndPoint <= 0) { - return false; - } + y = floor2(y, round); + sint16 yEndPoint = height; + y -= dpi->y; + if (y < 0) { + yEndPoint += y; + if (yEndPoint <= 0) { + return false; + } - yStartPoint -= y; - y = 0; - } + yStartPoint -= y; + y = 0; + } - y += yEndPoint; - y--; - if (y > 0) { - yEndPoint -= y; - if (yEndPoint <= 0) { - return false; - } - } + y += yEndPoint; + y--; + if (y > 0) { + yEndPoint -= y; + if (yEndPoint <= 0) { + return false; + } + } - sint16 xStartPoint = 0; - sint16 xEndPoint = image->width; - if (!(image->flags & G1_FLAG_RLE_COMPRESSION)) { - _unk9ABDAE = 0; - } + sint16 xStartPoint = 0; + sint16 xEndPoint = image->width; + if (!(image->flags & G1_FLAG_RLE_COMPRESSION)) { + _unk9ABDAE = 0; + } - x += image->x_offset; - x = floor2(x, round); - x -= dpi->x; - if (x < 0) { - xEndPoint += x; - if (xEndPoint <= 0) { - return false; - } + x += image->x_offset; + x = floor2(x, round); + x -= dpi->x; + if (x < 0) { + xEndPoint += x; + if (xEndPoint <= 0) { + return false; + } - if (!(image->flags & G1_FLAG_RLE_COMPRESSION)) { - _unk9ABDAE -= x; - } + if (!(image->flags & G1_FLAG_RLE_COMPRESSION)) { + _unk9ABDAE -= x; + } - xStartPoint -= x; - x = 0; - } + xStartPoint -= x; + x = 0; + } - x += xEndPoint; - x--; - if (x > 0) { - xEndPoint -= x; - if (xEndPoint <= 0) { - return false; - } + x += xEndPoint; + x--; + if (x > 0) { + xEndPoint -= x; + if (xEndPoint <= 0) { + return false; + } - if (!(image->flags & G1_FLAG_RLE_COMPRESSION)) { - _unk9ABDAE += x; - } - } + if (!(image->flags & G1_FLAG_RLE_COMPRESSION)) { + _unk9ABDAE += x; + } + } - if (image->flags & G1_FLAG_RLE_COMPRESSION) { - return sub_67933B_679788_679C4A_67A117(image->offset, xStartPoint, yStartPoint, round); - } + if (image->flags & G1_FLAG_RLE_COMPRESSION) { + return sub_67933B_679788_679C4A_67A117(image->offset, xStartPoint, yStartPoint, round); + } - uint8 *offset = image->offset + (yStartPoint * image->width) + xStartPoint; - uint32 ebx = gUnkEDF81C; + uint8 *offset = image->offset + (yStartPoint * image->width) + xStartPoint; + uint32 ebx = gUnkEDF81C; - if (!(image->flags & 2)) { - return sub_679236_679662_679B0D_679FF1(ebx, image, offset); - } + if (!(image->flags & 2)) { + return sub_679236_679662_679B0D_679FF1(ebx, image, offset); + } - // The code below is untested. - sint32 total_no_pixels = image->width * image->height; - uint8 *source_pointer = image->offset; - uint8 *new_source_pointer_start = malloc(total_no_pixels); - uint8 *new_source_pointer = (*&new_source_pointer_start);// 0x9E3D28; - intptr_t ebx1; - sint32 ecx; - while (total_no_pixels > 0) { - sint8 no_pixels = *source_pointer; - if (no_pixels >= 0) { - source_pointer++; - total_no_pixels -= no_pixels; - memcpy((char *) new_source_pointer, (char *) source_pointer, no_pixels); - new_source_pointer += no_pixels; - source_pointer += no_pixels; - continue; - } - ecx = no_pixels; - no_pixels &= 0x7; - ecx >>= 3;//SAR - uintptr_t eax = ((sint32) no_pixels) << 8; - ecx = -ecx;//Odd - eax = (eax & 0xFF00) + *(source_pointer + 1); - total_no_pixels -= ecx; - source_pointer += 2; - ebx1 = (uintptr_t) new_source_pointer - eax; - eax = (uintptr_t) source_pointer; - source_pointer = (uint8 *) ebx1; - ebx1 = eax; - eax = 0; - memcpy((char *) new_source_pointer, (char *) source_pointer, ecx); - new_source_pointer += ecx; - source_pointer = (uint8 *) ebx1; - } + // The code below is untested. + sint32 total_no_pixels = image->width * image->height; + uint8 *source_pointer = image->offset; + uint8 *new_source_pointer_start = malloc(total_no_pixels); + uint8 *new_source_pointer = (*&new_source_pointer_start);// 0x9E3D28; + intptr_t ebx1; + sint32 ecx; + while (total_no_pixels > 0) { + sint8 no_pixels = *source_pointer; + if (no_pixels >= 0) { + source_pointer++; + total_no_pixels -= no_pixels; + memcpy((char *) new_source_pointer, (char *) source_pointer, no_pixels); + new_source_pointer += no_pixels; + source_pointer += no_pixels; + continue; + } + ecx = no_pixels; + no_pixels &= 0x7; + ecx >>= 3;//SAR + uintptr_t eax = ((sint32) no_pixels) << 8; + ecx = -ecx;//Odd + eax = (eax & 0xFF00) + *(source_pointer + 1); + total_no_pixels -= ecx; + source_pointer += 2; + ebx1 = (uintptr_t) new_source_pointer - eax; + eax = (uintptr_t) source_pointer; + source_pointer = (uint8 *) ebx1; + ebx1 = eax; + eax = 0; + memcpy((char *) new_source_pointer, (char *) source_pointer, ecx); + new_source_pointer += ecx; + source_pointer = (uint8 *) ebx1; + } - bool output = sub_679236_679662_679B0D_679FF1(ebx, image, new_source_pointer_start + (uintptr_t) offset); - free(new_source_pointer_start); + bool output = sub_679236_679662_679B0D_679FF1(ebx, image, new_source_pointer_start + (uintptr_t) offset); + free(new_source_pointer_start); - return output; + return output; } /** @@ -1297,19 +1297,19 @@ static bool sub_679074(rct_drawpixelinfo *dpi, sint32 imageId, sint16 x, sint16 */ static bool sub_679023(rct_drawpixelinfo *dpi, sint32 imageId, sint32 x, sint32 y) { - imageId &= 0xBFFFFFFF; - if (imageId & 0x20000000) { - gUnkEDF81C = 0x20000000; - sint32 index = (imageId >> 19) & 0x7F; - if (imageId & 0x80000000) { - index &= 0x1F; - } - sint32 g1Index = palette_to_g1_offset[index]; - unk_9ABDA4 = g1Elements[g1Index].offset; - } else { - gUnkEDF81C = 0; - } - return sub_679074(dpi, imageId, x, y); + imageId &= 0xBFFFFFFF; + if (imageId & 0x20000000) { + gUnkEDF81C = 0x20000000; + sint32 index = (imageId >> 19) & 0x7F; + if (imageId & 0x80000000) { + index &= 0x1F; + } + sint32 g1Index = palette_to_g1_offset[index]; + unk_9ABDA4 = g1Elements[g1Index].offset; + } else { + gUnkEDF81C = 0; + } + return sub_679074(dpi, imageId, x, y); } /** @@ -1318,30 +1318,30 @@ static bool sub_679023(rct_drawpixelinfo *dpi, sint32 imageId, sint32 x, sint32 */ static void sub_68862C(rct_drawpixelinfo * dpi, paint_struct * ps) { - while ((ps = ps->next_quadrant_ps) != NULL) { - paint_struct * old_ps = ps; - paint_struct * next_ps = ps; - while (next_ps != NULL) { - ps = next_ps; - if (sub_679023(dpi, ps->image_id, ps->x, ps->y)) - store_interaction_info(ps); + while ((ps = ps->next_quadrant_ps) != NULL) { + paint_struct * old_ps = ps; + paint_struct * next_ps = ps; + while (next_ps != NULL) { + ps = next_ps; + if (sub_679023(dpi, ps->image_id, ps->x, ps->y)) + store_interaction_info(ps); - next_ps = ps->var_20; - } + next_ps = ps->var_20; + } - for (attached_paint_struct *attached_ps = ps->attached_ps; attached_ps != NULL; attached_ps = attached_ps->next) { - if (sub_679023( - dpi, - attached_ps->image_id, - (attached_ps->x + ps->x) & 0xFFFF, - (attached_ps->y + ps->y) & 0xFFFF - )) { - store_interaction_info(ps); - } - } + for (attached_paint_struct *attached_ps = ps->attached_ps; attached_ps != NULL; attached_ps = attached_ps->next) { + if (sub_679023( + dpi, + attached_ps->image_id, + (attached_ps->x + ps->x) & 0xFFFF, + (attached_ps->y + ps->y) & 0xFFFF + )) { + store_interaction_info(ps); + } + } - ps = old_ps; - } + ps = old_ps; + } } /** @@ -1358,42 +1358,42 @@ static void sub_68862C(rct_drawpixelinfo * dpi, paint_struct * ps) */ void get_map_coordinates_from_pos(sint32 screenX, sint32 screenY, sint32 flags, sint16 *x, sint16 *y, sint32 *interactionType, rct_map_element **mapElement, rct_viewport **viewport) { - _unk9AC154 = flags & 0xFFFF; - _interactionSpriteType = 0; - rct_window* window = window_find_from_point(screenX, screenY); - if (window != NULL && window->viewport != NULL) - { - rct_viewport* myviewport = window->viewport; - screenX -= (sint32)myviewport->x; - screenY -= (sint32)myviewport->y; - if (screenX >= 0 && screenX < (sint32)myviewport->width && screenY >= 0 && screenY < (sint32)myviewport->height) - { - screenX <<= myviewport->zoom; - screenY <<= myviewport->zoom; - screenX += (sint32)myviewport->view_x; - screenY += (sint32)myviewport->view_y; - _viewportDpi1.zoom_level = myviewport->zoom; - screenX &= (0xFFFF << myviewport->zoom) & 0xFFFF; - screenY &= (0xFFFF << myviewport->zoom) & 0xFFFF; - _viewportDpi1.x = screenX; - _viewportDpi1.y = screenY; - rct_drawpixelinfo* dpi = &_viewportDpi2; - dpi->y = _viewportDpi1.y; - dpi->height = 1; - dpi->zoom_level = _viewportDpi1.zoom_level; - dpi->x = _viewportDpi1.x; - dpi->width = 1; - paint_init(dpi); - paint_generate_structs(dpi); - paint_struct ps = paint_arrange_structs(); - sub_68862C(dpi, &ps); - } - if (viewport != NULL) *viewport = myviewport; - } - if (interactionType != NULL) *interactionType = _interactionSpriteType; - if (x != NULL) *x = _interactionMapX; - if (y != NULL) *y = _interactionMapY; - if (mapElement != NULL) *mapElement = _interaction_element; + _unk9AC154 = flags & 0xFFFF; + _interactionSpriteType = 0; + rct_window* window = window_find_from_point(screenX, screenY); + if (window != NULL && window->viewport != NULL) + { + rct_viewport* myviewport = window->viewport; + screenX -= (sint32)myviewport->x; + screenY -= (sint32)myviewport->y; + if (screenX >= 0 && screenX < (sint32)myviewport->width && screenY >= 0 && screenY < (sint32)myviewport->height) + { + screenX <<= myviewport->zoom; + screenY <<= myviewport->zoom; + screenX += (sint32)myviewport->view_x; + screenY += (sint32)myviewport->view_y; + _viewportDpi1.zoom_level = myviewport->zoom; + screenX &= (0xFFFF << myviewport->zoom) & 0xFFFF; + screenY &= (0xFFFF << myviewport->zoom) & 0xFFFF; + _viewportDpi1.x = screenX; + _viewportDpi1.y = screenY; + rct_drawpixelinfo* dpi = &_viewportDpi2; + dpi->y = _viewportDpi1.y; + dpi->height = 1; + dpi->zoom_level = _viewportDpi1.zoom_level; + dpi->x = _viewportDpi1.x; + dpi->width = 1; + paint_init(dpi); + paint_generate_structs(dpi); + paint_struct ps = paint_arrange_structs(); + sub_68862C(dpi, &ps); + } + if (viewport != NULL) *viewport = myviewport; + } + if (interactionType != NULL) *interactionType = _interactionSpriteType; + if (x != NULL) *x = _interactionMapX; + if (y != NULL) *y = _interactionMapY; + if (mapElement != NULL) *mapElement = _interaction_element; } /** @@ -1401,104 +1401,104 @@ void get_map_coordinates_from_pos(sint32 screenX, sint32 screenY, sint32 flags, */ void viewport_invalidate(rct_viewport *viewport, sint32 left, sint32 top, sint32 right, sint32 bottom) { - // if unknown viewport visibility, use the containing window to discover the status - if (viewport->visibility == VC_UNKNOWN) - { - for (rct_window *w = g_window_list; w < gWindowNextSlot; w++) - { - if (w->classification != WC_MAIN_WINDOW && w->viewport != NULL && w->viewport == viewport) - { - // note, window_is_visible will update viewport->visibility, so this should have a low hit count - if (!window_is_visible(w)) { - return; - } - } - } - } + // if unknown viewport visibility, use the containing window to discover the status + if (viewport->visibility == VC_UNKNOWN) + { + for (rct_window *w = g_window_list; w < gWindowNextSlot; w++) + { + if (w->classification != WC_MAIN_WINDOW && w->viewport != NULL && w->viewport == viewport) + { + // note, window_is_visible will update viewport->visibility, so this should have a low hit count + if (!window_is_visible(w)) { + return; + } + } + } + } - if (viewport->visibility == VC_COVERED) return; + if (viewport->visibility == VC_COVERED) return; - sint32 viewportLeft = viewport->view_x; - sint32 viewportTop = viewport->view_y; - sint32 viewportRight = viewport->view_x + viewport->view_width; - sint32 viewportBottom = viewport->view_y + viewport->view_height; - if (right > viewportLeft && bottom > viewportTop) { - left = max(left, viewportLeft); - top = max(top, viewportTop); - right = min(right, viewportRight); - bottom = min(bottom, viewportBottom); + sint32 viewportLeft = viewport->view_x; + sint32 viewportTop = viewport->view_y; + sint32 viewportRight = viewport->view_x + viewport->view_width; + sint32 viewportBottom = viewport->view_y + viewport->view_height; + if (right > viewportLeft && bottom > viewportTop) { + left = max(left, viewportLeft); + top = max(top, viewportTop); + right = min(right, viewportRight); + bottom = min(bottom, viewportBottom); - uint8 zoom = 1 << viewport->zoom; - left -= viewportLeft; - top -= viewportTop; - right -= viewportLeft; - bottom -= viewportTop; - left /= zoom; - top /= zoom; - right /= zoom; - bottom /= zoom; - left += viewport->x; - top += viewport->y; - right += viewport->x; - bottom += viewport->y; - gfx_set_dirty_blocks(left, top, right, bottom); - } + uint8 zoom = 1 << viewport->zoom; + left -= viewportLeft; + top -= viewportTop; + right -= viewportLeft; + bottom -= viewportTop; + left /= zoom; + top /= zoom; + right /= zoom; + bottom /= zoom; + left += viewport->x; + top += viewport->y; + right += viewport->x; + bottom += viewport->y; + gfx_set_dirty_blocks(left, top, right, bottom); + } } static rct_viewport *viewport_find_from_point(sint32 screenX, sint32 screenY) { - rct_window *w = window_find_from_point(screenX, screenY); - if (w == NULL) - return NULL; + rct_window *w = window_find_from_point(screenX, screenY); + if (w == NULL) + return NULL; - rct_viewport *viewport = w->viewport; - if (viewport == NULL) - return NULL; + rct_viewport *viewport = w->viewport; + if (viewport == NULL) + return NULL; - if (screenX < viewport->x || screenY < viewport->y) - return NULL; - if (screenX >= viewport->x + viewport->width || screenY >= viewport->y + viewport->height) - return NULL; + if (screenX < viewport->x || screenY < viewport->y) + return NULL; + if (screenX >= viewport->x + viewport->width || screenY >= viewport->y + viewport->height) + return NULL; - return viewport; + return viewport; } /** * * rct2: 0x00688972 * In: - * screen_x: eax - * screen_y: ebx + * screen_x: eax + * screen_y: ebx * Out: - * x: ax - * y: bx - * map_element: edx ? - * viewport: edi + * x: ax + * y: bx + * map_element: edx ? + * viewport: edi */ void screen_get_map_xy(sint32 screenX, sint32 screenY, sint16 *x, sint16 *y, rct_viewport **viewport) { - sint16 my_x, my_y; - sint32 interactionType; - rct_viewport *myViewport; - get_map_coordinates_from_pos(screenX, screenY, VIEWPORT_INTERACTION_MASK_TERRAIN, &my_x, &my_y, &interactionType, NULL, &myViewport); - if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) { - *x = 0x8000; - return; - } + sint16 my_x, my_y; + sint32 interactionType; + rct_viewport *myViewport; + get_map_coordinates_from_pos(screenX, screenY, VIEWPORT_INTERACTION_MASK_TERRAIN, &my_x, &my_y, &interactionType, NULL, &myViewport); + if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) { + *x = 0x8000; + return; + } - rct_xy16 start_vp_pos = screen_coord_to_viewport_coord(myViewport, screenX, screenY); - rct_xy16 map_pos = { my_x + 16, my_y + 16 }; + rct_xy16 start_vp_pos = screen_coord_to_viewport_coord(myViewport, screenX, screenY); + rct_xy16 map_pos = { my_x + 16, my_y + 16 }; - for (sint32 i = 0; i < 5; i++) { - sint32 z = map_element_height(map_pos.x, map_pos.y); - map_pos = viewport_coord_to_map_coord(start_vp_pos.x, start_vp_pos.y, z); - map_pos.x = clamp(my_x, map_pos.x, my_x + 31); - map_pos.y = clamp(my_y, map_pos.y, my_y + 31); - } + for (sint32 i = 0; i < 5; i++) { + sint32 z = map_element_height(map_pos.x, map_pos.y); + map_pos = viewport_coord_to_map_coord(start_vp_pos.x, start_vp_pos.y, z); + map_pos.x = clamp(my_x, map_pos.x, my_x + 31); + map_pos.y = clamp(my_y, map_pos.y, my_y + 31); + } - *x = map_pos.x; - *y = map_pos.y; + *x = map_pos.x; + *y = map_pos.y; - if (viewport != NULL) *viewport = myViewport; + if (viewport != NULL) *viewport = myViewport; } /** @@ -1507,23 +1507,23 @@ void screen_get_map_xy(sint32 screenX, sint32 screenY, sint16 *x, sint16 *y, rct */ void screen_get_map_xy_with_z(sint16 screenX, sint16 screenY, sint16 z, sint16 *mapX, sint16 *mapY) { - rct_viewport *viewport = viewport_find_from_point(screenX, screenY); - if (viewport == NULL) { - *mapX = 0x8000; - return; - } + rct_viewport *viewport = viewport_find_from_point(screenX, screenY); + if (viewport == NULL) { + *mapX = 0x8000; + return; + } - screenX = viewport->view_x + ((screenX - viewport->x) << viewport->zoom); - screenY = viewport->view_y + ((screenY - viewport->y) << viewport->zoom); + screenX = viewport->view_x + ((screenX - viewport->x) << viewport->zoom); + screenY = viewport->view_y + ((screenY - viewport->y) << viewport->zoom); - rct_xy16 mapPosition = viewport_coord_to_map_coord(screenX, screenY + z, 0); - if (mapPosition.x < 0 || mapPosition.x >= (256 * 32) || mapPosition.y < 0 || mapPosition.y >(256 * 32)) { - *mapX = 0x8000; - return; - } + rct_xy16 mapPosition = viewport_coord_to_map_coord(screenX, screenY + z, 0); + if (mapPosition.x < 0 || mapPosition.x >= (256 * 32) || mapPosition.y < 0 || mapPosition.y >(256 * 32)) { + *mapX = 0x8000; + return; + } - *mapX = mapPosition.x; - *mapY = mapPosition.y; + *mapX = mapPosition.x; + *mapY = mapPosition.y; } /** @@ -1532,13 +1532,13 @@ void screen_get_map_xy_with_z(sint16 screenX, sint16 screenY, sint16 z, sint16 * */ void screen_get_map_xy_quadrant(sint16 screenX, sint16 screenY, sint16 *mapX, sint16 *mapY, uint8 *quadrant) { - screen_get_map_xy(screenX, screenY, mapX, mapY, NULL); - if (*mapX == MAP_LOCATION_NULL) - return; + screen_get_map_xy(screenX, screenY, mapX, mapY, NULL); + if (*mapX == MAP_LOCATION_NULL) + return; - *quadrant = map_get_tile_quadrant(*mapX, *mapY); - *mapX = floor2(*mapX, 32); - *mapY = floor2(*mapY, 32); + *quadrant = map_get_tile_quadrant(*mapX, *mapY); + *mapX = floor2(*mapX, 32); + *mapY = floor2(*mapY, 32); } /** @@ -1547,13 +1547,13 @@ void screen_get_map_xy_quadrant(sint16 screenX, sint16 screenY, sint16 *mapX, si */ void screen_get_map_xy_quadrant_with_z(sint16 screenX, sint16 screenY, sint16 z, sint16 *mapX, sint16 *mapY, uint8 *quadrant) { - screen_get_map_xy_with_z(screenX, screenY, z, mapX, mapY); - if (*mapX == MAP_LOCATION_NULL) - return; + screen_get_map_xy_with_z(screenX, screenY, z, mapX, mapY); + if (*mapX == MAP_LOCATION_NULL) + return; - *quadrant = map_get_tile_quadrant(*mapX, *mapY); - *mapX = floor2(*mapX, 32); - *mapY = floor2(*mapY, 32); + *quadrant = map_get_tile_quadrant(*mapX, *mapY); + *mapX = floor2(*mapX, 32); + *mapY = floor2(*mapY, 32); } /** @@ -1562,13 +1562,13 @@ void screen_get_map_xy_quadrant_with_z(sint16 screenX, sint16 screenY, sint16 z, */ void screen_get_map_xy_side(sint16 screenX, sint16 screenY, sint16 *mapX, sint16 *mapY, uint8 *side) { - screen_get_map_xy(screenX, screenY, mapX, mapY, NULL); - if (*mapX == MAP_LOCATION_NULL) - return; + screen_get_map_xy(screenX, screenY, mapX, mapY, NULL); + if (*mapX == MAP_LOCATION_NULL) + return; - *side = map_get_tile_side(*mapX, *mapY); - *mapX = floor2(*mapX, 32); - *mapY = floor2(*mapY, 32); + *side = map_get_tile_side(*mapX, *mapY); + *mapX = floor2(*mapX, 32); + *mapY = floor2(*mapY, 32); } /** @@ -1577,13 +1577,13 @@ void screen_get_map_xy_side(sint16 screenX, sint16 screenY, sint16 *mapX, sint16 */ void screen_get_map_xy_side_with_z(sint16 screenX, sint16 screenY, sint16 z, sint16 *mapX, sint16 *mapY, uint8 *side) { - screen_get_map_xy_with_z(screenX, screenY, z, mapX, mapY); - if (*mapX == MAP_LOCATION_NULL) - return; + screen_get_map_xy_with_z(screenX, screenY, z, mapX, mapY); + if (*mapX == MAP_LOCATION_NULL) + return; - *side = map_get_tile_side(*mapX, *mapY); - *mapX = floor2(*mapX, 32); - *mapY = floor2(*mapY, 32); + *side = map_get_tile_side(*mapX, *mapY); + *mapX = floor2(*mapX, 32); + *mapY = floor2(*mapY, 32); } /** @@ -1596,49 +1596,49 @@ void screen_get_map_xy_side_with_z(sint16 screenX, sint16 screenY, sint16 z, sin */ uint8 get_current_rotation() { - uint8 rotation = gCurrentRotation; - uint8 rotation_masked = rotation & 3; + uint8 rotation = gCurrentRotation; + uint8 rotation_masked = rotation & 3; #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (rotation != rotation_masked) { - log_error("Found wrong rotation %d! Will return %d instead.", (uint32)rotation, (uint32)rotation_masked); - } + if (rotation != rotation_masked) { + log_error("Found wrong rotation %d! Will return %d instead.", (uint32)rotation, (uint32)rotation_masked); + } #endif // DEBUG_LEVEL_1 - return rotation_masked; + return rotation_masked; } sint16 get_height_marker_offset() { - // Height labels in units - if (gConfigGeneral.show_height_as_units) - return 0; + // Height labels in units + if (gConfigGeneral.show_height_as_units) + return 0; - // Height labels in feet - if (gConfigGeneral.measurement_format == MEASUREMENT_FORMAT_IMPERIAL) - return 1 * 256; + // Height labels in feet + if (gConfigGeneral.measurement_format == MEASUREMENT_FORMAT_IMPERIAL) + return 1 * 256; - // Height labels in metres - return 2 * 256; + // Height labels in metres + return 2 * 256; } void viewport_set_saved_view() { - sint16 viewX = 0; - sint16 viewY = 0; - uint8 viewZoom = 0; - uint8 viewRotation = 0; + sint16 viewX = 0; + sint16 viewY = 0; + uint8 viewZoom = 0; + uint8 viewRotation = 0; - rct_window * w = window_get_main(); - if (w != NULL) { - rct_viewport *viewport = w->viewport; + rct_window * w = window_get_main(); + if (w != NULL) { + rct_viewport *viewport = w->viewport; - viewX = viewport->view_width / 2 + viewport->view_x; - viewY = viewport->view_height / 2 + viewport->view_y; - viewZoom = viewport->zoom; - viewRotation = get_current_rotation(); - } + viewX = viewport->view_width / 2 + viewport->view_x; + viewY = viewport->view_height / 2 + viewport->view_y; + viewZoom = viewport->zoom; + viewRotation = get_current_rotation(); + } - gSavedViewX = viewX; - gSavedViewY = viewY; - gSavedViewZoom = viewZoom; - gSavedViewRotation = viewRotation; + gSavedViewX = viewX; + gSavedViewY = viewY; + gSavedViewZoom = viewZoom; + gSavedViewRotation = viewRotation; } diff --git a/src/openrct2/interface/viewport.h b/src/openrct2/interface/viewport.h index c344ef4897..f897ccdc32 100644 --- a/src/openrct2/interface/viewport.h +++ b/src/openrct2/interface/viewport.h @@ -23,68 +23,68 @@ #include "window.h" enum { - VIEWPORT_FLAG_UNDERGROUND_INSIDE = (1 << 0), - VIEWPORT_FLAG_SEETHROUGH_RIDES = (1 << 1), - VIEWPORT_FLAG_SEETHROUGH_SCENERY = (1 << 2), - VIEWPORT_FLAG_INVISIBLE_SUPPORTS = (1 << 3), - VIEWPORT_FLAG_LAND_HEIGHTS = (1 << 4), - VIEWPORT_FLAG_TRACK_HEIGHTS = (1 << 5), - VIEWPORT_FLAG_PATH_HEIGHTS = (1 << 6), - VIEWPORT_FLAG_GRIDLINES = (1 << 7), - VIEWPORT_FLAG_LAND_OWNERSHIP = (1 << 8), - VIEWPORT_FLAG_CONSTRUCTION_RIGHTS = (1 << 9), - VIEWPORT_FLAG_SOUND_ON = (1 << 10), - VIEWPORT_FLAG_INVISIBLE_PEEPS = (1 << 11), - VIEWPORT_FLAG_HIDE_BASE = (1 << 12), - VIEWPORT_FLAG_HIDE_VERTICAL = (1 << 13), - VIEWPORT_FLAG_INVISIBLE_SPRITES = (1 << 14), - VIEWPORT_FLAG_15 = (1 << 15), - VIEWPORT_FLAG_SEETHROUGH_PATHS = (1 << 16), - VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT = (1 << 17), + VIEWPORT_FLAG_UNDERGROUND_INSIDE = (1 << 0), + VIEWPORT_FLAG_SEETHROUGH_RIDES = (1 << 1), + VIEWPORT_FLAG_SEETHROUGH_SCENERY = (1 << 2), + VIEWPORT_FLAG_INVISIBLE_SUPPORTS = (1 << 3), + VIEWPORT_FLAG_LAND_HEIGHTS = (1 << 4), + VIEWPORT_FLAG_TRACK_HEIGHTS = (1 << 5), + VIEWPORT_FLAG_PATH_HEIGHTS = (1 << 6), + VIEWPORT_FLAG_GRIDLINES = (1 << 7), + VIEWPORT_FLAG_LAND_OWNERSHIP = (1 << 8), + VIEWPORT_FLAG_CONSTRUCTION_RIGHTS = (1 << 9), + VIEWPORT_FLAG_SOUND_ON = (1 << 10), + VIEWPORT_FLAG_INVISIBLE_PEEPS = (1 << 11), + VIEWPORT_FLAG_HIDE_BASE = (1 << 12), + VIEWPORT_FLAG_HIDE_VERTICAL = (1 << 13), + VIEWPORT_FLAG_INVISIBLE_SPRITES = (1 << 14), + VIEWPORT_FLAG_15 = (1 << 15), + VIEWPORT_FLAG_SEETHROUGH_PATHS = (1 << 16), + VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT = (1 << 17), }; enum { - VIEWPORT_INTERACTION_ITEM_NONE, - VIEWPORT_INTERACTION_ITEM_TERRAIN, - VIEWPORT_INTERACTION_ITEM_SPRITE, - VIEWPORT_INTERACTION_ITEM_RIDE, - VIEWPORT_INTERACTION_ITEM_WATER, - VIEWPORT_INTERACTION_ITEM_SCENERY, - VIEWPORT_INTERACTION_ITEM_FOOTPATH, - VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM, - VIEWPORT_INTERACTION_ITEM_PARK, - VIEWPORT_INTERACTION_ITEM_WALL, - VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY, - VIEWPORT_INTERACTION_ITEM_LABEL, - VIEWPORT_INTERACTION_ITEM_BANNER, + VIEWPORT_INTERACTION_ITEM_NONE, + VIEWPORT_INTERACTION_ITEM_TERRAIN, + VIEWPORT_INTERACTION_ITEM_SPRITE, + VIEWPORT_INTERACTION_ITEM_RIDE, + VIEWPORT_INTERACTION_ITEM_WATER, + VIEWPORT_INTERACTION_ITEM_SCENERY, + VIEWPORT_INTERACTION_ITEM_FOOTPATH, + VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM, + VIEWPORT_INTERACTION_ITEM_PARK, + VIEWPORT_INTERACTION_ITEM_WALL, + VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY, + VIEWPORT_INTERACTION_ITEM_LABEL, + VIEWPORT_INTERACTION_ITEM_BANNER, }; enum { - VIEWPORT_INTERACTION_MASK_NONE = 0, - VIEWPORT_INTERACTION_MASK_TERRAIN = ~(1 << (VIEWPORT_INTERACTION_ITEM_TERRAIN - 1)), - VIEWPORT_INTERACTION_MASK_SPRITE = ~(1 << (VIEWPORT_INTERACTION_ITEM_SPRITE - 1)), - VIEWPORT_INTERACTION_MASK_RIDE = ~(1 << (VIEWPORT_INTERACTION_ITEM_RIDE - 1)), - VIEWPORT_INTERACTION_MASK_WATER = ~(1 << (VIEWPORT_INTERACTION_ITEM_WATER - 1)), - VIEWPORT_INTERACTION_MASK_SCENERY = ~(1 << (VIEWPORT_INTERACTION_ITEM_SCENERY - 1)), - VIEWPORT_INTERACTION_MASK_FOOTPATH = ~(1 << (VIEWPORT_INTERACTION_ITEM_FOOTPATH - 1)), - VIEWPORT_INTERACTION_MASK_FOOTPATH_ITEM = ~(1 << (VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM - 1)), - VIEWPORT_INTERACTION_MASK_PARK = ~(1 << (VIEWPORT_INTERACTION_ITEM_PARK - 1)), - VIEWPORT_INTERACTION_MASK_WALL = ~(1 << (VIEWPORT_INTERACTION_ITEM_WALL - 1)), - VIEWPORT_INTERACTION_MASK_LARGE_SCENERY = ~(1 << (VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY - 1)), - VIEWPORT_INTERACTION_MASK_BANNER = ~(1 << (VIEWPORT_INTERACTION_ITEM_BANNER - 2)), // Note the -2 for BANNER + VIEWPORT_INTERACTION_MASK_NONE = 0, + VIEWPORT_INTERACTION_MASK_TERRAIN = ~(1 << (VIEWPORT_INTERACTION_ITEM_TERRAIN - 1)), + VIEWPORT_INTERACTION_MASK_SPRITE = ~(1 << (VIEWPORT_INTERACTION_ITEM_SPRITE - 1)), + VIEWPORT_INTERACTION_MASK_RIDE = ~(1 << (VIEWPORT_INTERACTION_ITEM_RIDE - 1)), + VIEWPORT_INTERACTION_MASK_WATER = ~(1 << (VIEWPORT_INTERACTION_ITEM_WATER - 1)), + VIEWPORT_INTERACTION_MASK_SCENERY = ~(1 << (VIEWPORT_INTERACTION_ITEM_SCENERY - 1)), + VIEWPORT_INTERACTION_MASK_FOOTPATH = ~(1 << (VIEWPORT_INTERACTION_ITEM_FOOTPATH - 1)), + VIEWPORT_INTERACTION_MASK_FOOTPATH_ITEM = ~(1 << (VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM - 1)), + VIEWPORT_INTERACTION_MASK_PARK = ~(1 << (VIEWPORT_INTERACTION_ITEM_PARK - 1)), + VIEWPORT_INTERACTION_MASK_WALL = ~(1 << (VIEWPORT_INTERACTION_ITEM_WALL - 1)), + VIEWPORT_INTERACTION_MASK_LARGE_SCENERY = ~(1 << (VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY - 1)), + VIEWPORT_INTERACTION_MASK_BANNER = ~(1 << (VIEWPORT_INTERACTION_ITEM_BANNER - 2)), // Note the -2 for BANNER }; typedef struct viewport_interaction_info { - sint32 type; - sint32 x; - sint32 y; - union { - rct_map_element *mapElement; - rct_sprite *sprite; - rct_peep *peep; - rct_vehicle *vehicle; - }; + sint32 type; + sint32 x; + sint32 y; + union { + rct_map_element *mapElement; + rct_sprite *sprite; + rct_peep *peep; + rct_vehicle *vehicle; + }; } viewport_interaction_info; #define MAX_VIEWPORT_COUNT WINDOW_LIMIT_MAX @@ -110,9 +110,9 @@ extern paint_entry *gNextFreePaintStruct; extern uint8 gCurrentRotation; extern uint32 gCurrentViewportFlags; #else - #define gNextFreePaintStruct RCT2_GLOBAL(0x00EE7888, paint_entry*) - #define gCurrentRotation RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_ROTATION, uint8) - #define gCurrentViewportFlags RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_VIEWPORT_FLAGS, uint32) + #define gNextFreePaintStruct RCT2_GLOBAL(0x00EE7888, paint_entry*) + #define gCurrentRotation RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_ROTATION, uint8) + #define gCurrentViewportFlags RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_VIEWPORT_FLAGS, uint32) #endif void viewport_init_all(); diff --git a/src/openrct2/interface/viewport_interaction.c b/src/openrct2/interface/viewport_interaction.c index b93f98b90d..aa1e5f03d2 100644 --- a/src/openrct2/interface/viewport_interaction.c +++ b/src/openrct2/interface/viewport_interaction.c @@ -43,117 +43,117 @@ static rct_peep *viewport_interaction_get_closest_peep(sint32 x, sint32 y, sint3 */ sint32 viewport_interaction_get_item_left(sint32 x, sint32 y, viewport_interaction_info *info) { - rct_map_element *mapElement; - rct_sprite *sprite; - rct_vehicle *vehicle; + rct_map_element *mapElement; + rct_sprite *sprite; + rct_vehicle *vehicle; - // No click input for title screen or scenario editor or track manager - if (gScreenFlags & (SCREEN_FLAGS_TITLE_DEMO | SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_MANAGER)) - return info->type = VIEWPORT_INTERACTION_ITEM_NONE; + // No click input for title screen or scenario editor or track manager + if (gScreenFlags & (SCREEN_FLAGS_TITLE_DEMO | SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_MANAGER)) + return info->type = VIEWPORT_INTERACTION_ITEM_NONE; - // - if ((gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) - return info->type = VIEWPORT_INTERACTION_ITEM_NONE; + // + if ((gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) + return info->type = VIEWPORT_INTERACTION_ITEM_NONE; - rct_xy16 mapCoord = { 0 }; - get_map_coordinates_from_pos(x, y, VIEWPORT_INTERACTION_MASK_SPRITE & VIEWPORT_INTERACTION_MASK_RIDE & VIEWPORT_INTERACTION_MASK_PARK, &mapCoord.x, &mapCoord.y, &info->type, &info->mapElement, NULL); - info->x = mapCoord.x; - info->y = mapCoord.y; - mapElement = info->mapElement; - sprite = (rct_sprite*)mapElement; + rct_xy16 mapCoord = { 0 }; + get_map_coordinates_from_pos(x, y, VIEWPORT_INTERACTION_MASK_SPRITE & VIEWPORT_INTERACTION_MASK_RIDE & VIEWPORT_INTERACTION_MASK_PARK, &mapCoord.x, &mapCoord.y, &info->type, &info->mapElement, NULL); + info->x = mapCoord.x; + info->y = mapCoord.y; + mapElement = info->mapElement; + sprite = (rct_sprite*)mapElement; - switch (info->type) { - case VIEWPORT_INTERACTION_ITEM_SPRITE: - switch (sprite->unknown.sprite_identifier) { - case SPRITE_IDENTIFIER_VEHICLE: - vehicle = &(sprite->vehicle); - if (vehicle->ride_subtype != 255) - vehicle_set_map_toolbar(vehicle); - else - info->type = VIEWPORT_INTERACTION_ITEM_NONE; - break; - case SPRITE_IDENTIFIER_PEEP: - peep_set_map_tooltip(&sprite->peep); - break; - } - break; - case VIEWPORT_INTERACTION_ITEM_RIDE: - ride_set_map_tooltip(mapElement); - break; - case VIEWPORT_INTERACTION_ITEM_PARK: - set_map_tooltip_format_arg(0, rct_string_id, gParkName); - set_map_tooltip_format_arg(2, uint32, gParkNameArgs); - break; - default: - info->type = VIEWPORT_INTERACTION_ITEM_NONE; - break; - } + switch (info->type) { + case VIEWPORT_INTERACTION_ITEM_SPRITE: + switch (sprite->unknown.sprite_identifier) { + case SPRITE_IDENTIFIER_VEHICLE: + vehicle = &(sprite->vehicle); + if (vehicle->ride_subtype != 255) + vehicle_set_map_toolbar(vehicle); + else + info->type = VIEWPORT_INTERACTION_ITEM_NONE; + break; + case SPRITE_IDENTIFIER_PEEP: + peep_set_map_tooltip(&sprite->peep); + break; + } + break; + case VIEWPORT_INTERACTION_ITEM_RIDE: + ride_set_map_tooltip(mapElement); + break; + case VIEWPORT_INTERACTION_ITEM_PARK: + set_map_tooltip_format_arg(0, rct_string_id, gParkName); + set_map_tooltip_format_arg(2, uint32, gParkNameArgs); + break; + default: + info->type = VIEWPORT_INTERACTION_ITEM_NONE; + break; + } - // If nothing is under cursor, find a close by peep - if (info->type == VIEWPORT_INTERACTION_ITEM_NONE) { - info->peep = viewport_interaction_get_closest_peep(x, y, 32); - if (info->peep == NULL) - return VIEWPORT_INTERACTION_ITEM_NONE; + // If nothing is under cursor, find a close by peep + if (info->type == VIEWPORT_INTERACTION_ITEM_NONE) { + info->peep = viewport_interaction_get_closest_peep(x, y, 32); + if (info->peep == NULL) + return VIEWPORT_INTERACTION_ITEM_NONE; - info->type = VIEWPORT_INTERACTION_ITEM_SPRITE; - info->x = info->peep->x; - info->y = info->peep->y; - peep_set_map_tooltip(info->peep); - } + info->type = VIEWPORT_INTERACTION_ITEM_SPRITE; + info->x = info->peep->x; + info->y = info->peep->y; + peep_set_map_tooltip(info->peep); + } - return info->type; + return info->type; } sint32 viewport_interaction_left_over(sint32 x, sint32 y) { - viewport_interaction_info info; + viewport_interaction_info info; - switch (viewport_interaction_get_item_left(x, y, &info)) { - case VIEWPORT_INTERACTION_ITEM_SPRITE: - case VIEWPORT_INTERACTION_ITEM_RIDE: - case VIEWPORT_INTERACTION_ITEM_PARK: - return 1; - default: - return 0; - } + switch (viewport_interaction_get_item_left(x, y, &info)) { + case VIEWPORT_INTERACTION_ITEM_SPRITE: + case VIEWPORT_INTERACTION_ITEM_RIDE: + case VIEWPORT_INTERACTION_ITEM_PARK: + return 1; + default: + return 0; + } } sint32 viewport_interaction_left_click(sint32 x, sint32 y) { - viewport_interaction_info info; + viewport_interaction_info info; - switch (viewport_interaction_get_item_left(x, y, &info)) { - case VIEWPORT_INTERACTION_ITEM_SPRITE: - switch (info.sprite->unknown.sprite_identifier) { - case SPRITE_IDENTIFIER_VEHICLE: - window_ride_open_vehicle(info.vehicle); - break; - case SPRITE_IDENTIFIER_PEEP: - window_guest_open(info.peep); - break; - case SPRITE_IDENTIFIER_MISC: - if (game_is_not_paused()) { - switch (info.sprite->unknown.misc_identifier) { - case SPRITE_MISC_BALLOON: - game_do_command(info.sprite->balloon.sprite_index, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_BALLOON_PRESS, 0, 0); - break; - case SPRITE_MISC_DUCK: - duck_press(&info.sprite->duck); - break; - } - } - break; - } - return 1; - case VIEWPORT_INTERACTION_ITEM_RIDE: - window_ride_open_track(info.mapElement); - return 1; - case VIEWPORT_INTERACTION_ITEM_PARK: - window_park_entrance_open(); - return 1; - default: - return 0; - } + switch (viewport_interaction_get_item_left(x, y, &info)) { + case VIEWPORT_INTERACTION_ITEM_SPRITE: + switch (info.sprite->unknown.sprite_identifier) { + case SPRITE_IDENTIFIER_VEHICLE: + window_ride_open_vehicle(info.vehicle); + break; + case SPRITE_IDENTIFIER_PEEP: + window_guest_open(info.peep); + break; + case SPRITE_IDENTIFIER_MISC: + if (game_is_not_paused()) { + switch (info.sprite->unknown.misc_identifier) { + case SPRITE_MISC_BALLOON: + game_do_command(info.sprite->balloon.sprite_index, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_BALLOON_PRESS, 0, 0); + break; + case SPRITE_MISC_DUCK: + duck_press(&info.sprite->duck); + break; + } + } + break; + } + return 1; + case VIEWPORT_INTERACTION_ITEM_RIDE: + window_ride_open_track(info.mapElement); + return 1; + case VIEWPORT_INTERACTION_ITEM_PARK: + window_park_entrance_open(); + return 1; + default: + return 0; + } } /** @@ -162,188 +162,188 @@ sint32 viewport_interaction_left_click(sint32 x, sint32 y) */ sint32 viewport_interaction_get_item_right(sint32 x, sint32 y, viewport_interaction_info *info) { - rct_map_element *mapElement; - rct_scenery_entry *sceneryEntry; - rct_banner *banner; - rct_ride *ride; - sint32 i, stationIndex; + rct_map_element *mapElement; + rct_scenery_entry *sceneryEntry; + rct_banner *banner; + rct_ride *ride; + sint32 i, stationIndex; - // No click input for title screen or track manager - if (gScreenFlags & (SCREEN_FLAGS_TITLE_DEMO | SCREEN_FLAGS_TRACK_MANAGER)) - return info->type = VIEWPORT_INTERACTION_ITEM_NONE; + // No click input for title screen or track manager + if (gScreenFlags & (SCREEN_FLAGS_TITLE_DEMO | SCREEN_FLAGS_TRACK_MANAGER)) + return info->type = VIEWPORT_INTERACTION_ITEM_NONE; - // - if ((gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) - return info->type = VIEWPORT_INTERACTION_ITEM_NONE; + // + if ((gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) + return info->type = VIEWPORT_INTERACTION_ITEM_NONE; - rct_xy16 mapCoord = { 0 }; - get_map_coordinates_from_pos(x, y, ~(VIEWPORT_INTERACTION_MASK_TERRAIN & VIEWPORT_INTERACTION_MASK_WATER), &mapCoord.x, &mapCoord.y, &info->type, &info->mapElement, NULL); - info->x = mapCoord.x; - info->y = mapCoord.y; - mapElement = info->mapElement; + rct_xy16 mapCoord = { 0 }; + get_map_coordinates_from_pos(x, y, ~(VIEWPORT_INTERACTION_MASK_TERRAIN & VIEWPORT_INTERACTION_MASK_WATER), &mapCoord.x, &mapCoord.y, &info->type, &info->mapElement, NULL); + info->x = mapCoord.x; + info->y = mapCoord.y; + mapElement = info->mapElement; - switch (info->type) { - case VIEWPORT_INTERACTION_ITEM_SPRITE: - if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || mapElement->type != 0) - return info->type = VIEWPORT_INTERACTION_ITEM_NONE; + switch (info->type) { + case VIEWPORT_INTERACTION_ITEM_SPRITE: + if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || mapElement->type != 0) + return info->type = VIEWPORT_INTERACTION_ITEM_NONE; - mapElement += 6; - ride = get_ride(mapElement->type); - if (ride->status == RIDE_STATUS_CLOSED) { - set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); - set_map_tooltip_format_arg(2, rct_string_id, ride->name); - set_map_tooltip_format_arg(4, uint32, ride->name_arguments); - } - return info->type; + mapElement += 6; + ride = get_ride(mapElement->type); + if (ride->status == RIDE_STATUS_CLOSED) { + set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); + set_map_tooltip_format_arg(2, rct_string_id, ride->name); + set_map_tooltip_format_arg(4, uint32, ride->name_arguments); + } + return info->type; - case VIEWPORT_INTERACTION_ITEM_RIDE: - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) - return info->type = VIEWPORT_INTERACTION_ITEM_NONE; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) - return info->type = VIEWPORT_INTERACTION_ITEM_NONE; + case VIEWPORT_INTERACTION_ITEM_RIDE: + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) + return info->type = VIEWPORT_INTERACTION_ITEM_NONE; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) + return info->type = VIEWPORT_INTERACTION_ITEM_NONE; - ride = get_ride(mapElement->properties.track.ride_index); - if (ride->status != RIDE_STATUS_CLOSED) - return info->type; + ride = get_ride(mapElement->properties.track.ride_index); + if (ride->status != RIDE_STATUS_CLOSED) + return info->type; - set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); + set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE) { - rct_string_id stringId; - if (mapElement->properties.track.type == ENTRANCE_TYPE_RIDE_ENTRANCE) { - if (ride->num_stations > 1) { - stringId = STR_RIDE_STATION_X_ENTRANCE; - } else { - stringId = STR_RIDE_ENTRANCE; - } - } else { - if (ride->num_stations > 1) { - stringId = STR_RIDE_STATION_X_EXIT; - } else { - stringId = STR_RIDE_EXIT; - } - } - set_map_tooltip_format_arg(2, rct_string_id, stringId); - } else if (track_element_is_station(mapElement)) { - rct_string_id stringId; - if (ride->num_stations > 1) { - stringId = STR_RIDE_STATION_X; - } else { - stringId = STR_RIDE_STATION; - } - set_map_tooltip_format_arg(2, rct_string_id, stringId); - } else { - if (!gCheatsSandboxMode && !map_is_location_owned(info->x, info->y, mapElement->base_height << 4)) { - return info->type = VIEWPORT_INTERACTION_ITEM_NONE; - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE) { + rct_string_id stringId; + if (mapElement->properties.track.type == ENTRANCE_TYPE_RIDE_ENTRANCE) { + if (ride->num_stations > 1) { + stringId = STR_RIDE_STATION_X_ENTRANCE; + } else { + stringId = STR_RIDE_ENTRANCE; + } + } else { + if (ride->num_stations > 1) { + stringId = STR_RIDE_STATION_X_EXIT; + } else { + stringId = STR_RIDE_EXIT; + } + } + set_map_tooltip_format_arg(2, rct_string_id, stringId); + } else if (track_element_is_station(mapElement)) { + rct_string_id stringId; + if (ride->num_stations > 1) { + stringId = STR_RIDE_STATION_X; + } else { + stringId = STR_RIDE_STATION; + } + set_map_tooltip_format_arg(2, rct_string_id, stringId); + } else { + if (!gCheatsSandboxMode && !map_is_location_owned(info->x, info->y, mapElement->base_height << 4)) { + return info->type = VIEWPORT_INTERACTION_ITEM_NONE; + } - set_map_tooltip_format_arg(2, rct_string_id, ride->name); - set_map_tooltip_format_arg(4, uint32, ride->name_arguments); - return info->type; - } + set_map_tooltip_format_arg(2, rct_string_id, ride->name); + set_map_tooltip_format_arg(4, uint32, ride->name_arguments); + return info->type; + } - set_map_tooltip_format_arg(4, rct_string_id, ride->name); - set_map_tooltip_format_arg(6, uint32, ride->name_arguments); - set_map_tooltip_format_arg(10, rct_string_id, RideComponentNames[RideNameConvention[ride->type].station].capitalised); + set_map_tooltip_format_arg(4, rct_string_id, ride->name); + set_map_tooltip_format_arg(6, uint32, ride->name_arguments); + set_map_tooltip_format_arg(10, rct_string_id, RideComponentNames[RideNameConvention[ride->type].station].capitalised); - stationIndex = map_get_station(mapElement); - for (i = stationIndex; i >= 0; i--) - if (ride->station_starts[i] == 0xFFFF) - stationIndex--; - stationIndex++; - set_map_tooltip_format_arg(12, uint16, stationIndex); - return info->type; + stationIndex = map_get_station(mapElement); + for (i = stationIndex; i >= 0; i--) + if (ride->station_starts[i] == 0xFFFF) + stationIndex--; + stationIndex++; + set_map_tooltip_format_arg(12, uint16, stationIndex); + return info->type; - case VIEWPORT_INTERACTION_ITEM_WALL: - sceneryEntry = get_wall_entry(mapElement->properties.scenery.type); - if (sceneryEntry->wall.scrolling_mode != 255) { - set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); - set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); - return info->type; - } - break; + case VIEWPORT_INTERACTION_ITEM_WALL: + sceneryEntry = get_wall_entry(mapElement->properties.scenery.type); + if (sceneryEntry->wall.scrolling_mode != 255) { + set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); + set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); + return info->type; + } + break; - case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: - sceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); - if (sceneryEntry->large_scenery.var_11 != 255) { - set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); - set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); - return info->type; - } - break; + case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: + sceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); + if (sceneryEntry->large_scenery.var_11 != 255) { + set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); + set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); + return info->type; + } + break; - case VIEWPORT_INTERACTION_ITEM_BANNER: - banner = &gBanners[mapElement->properties.banner.index]; - sceneryEntry = get_banner_entry(banner->type); + case VIEWPORT_INTERACTION_ITEM_BANNER: + banner = &gBanners[mapElement->properties.banner.index]; + sceneryEntry = get_banner_entry(banner->type); - set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); - set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); - return info->type; - } + set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); + set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); + return info->type; + } - if (!(input_test_flag(INPUT_FLAG_6)) || !(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) { - if (window_find_by_class(WC_RIDE_CONSTRUCTION) == NULL && window_find_by_class(WC_FOOTPATH) == NULL) { - return info->type = VIEWPORT_INTERACTION_ITEM_NONE; - } - } + if (!(input_test_flag(INPUT_FLAG_6)) || !(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) { + if (window_find_by_class(WC_RIDE_CONSTRUCTION) == NULL && window_find_by_class(WC_FOOTPATH) == NULL) { + return info->type = VIEWPORT_INTERACTION_ITEM_NONE; + } + } - switch (info->type) { - case VIEWPORT_INTERACTION_ITEM_SCENERY: - sceneryEntry = get_small_scenery_entry(mapElement->properties.scenery.type); - set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE); - set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); - return info->type; + switch (info->type) { + case VIEWPORT_INTERACTION_ITEM_SCENERY: + sceneryEntry = get_small_scenery_entry(mapElement->properties.scenery.type); + set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE); + set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); + return info->type; - case VIEWPORT_INTERACTION_ITEM_FOOTPATH: - set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE); - set_map_tooltip_format_arg(2, rct_string_id, STR_FOOTPATH_MAP_TIP); - if (mapElement->type & 1) - set_map_tooltip_format_arg(2, rct_string_id, STR_QUEUE_LINE_MAP_TIP); - return info->type; + case VIEWPORT_INTERACTION_ITEM_FOOTPATH: + set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE); + set_map_tooltip_format_arg(2, rct_string_id, STR_FOOTPATH_MAP_TIP); + if (mapElement->type & 1) + set_map_tooltip_format_arg(2, rct_string_id, STR_QUEUE_LINE_MAP_TIP); + return info->type; - case VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM: - sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(mapElement)); - set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE); - if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) { - set_map_tooltip_format_arg(2, rct_string_id, STR_BROKEN); - set_map_tooltip_format_arg(4, rct_string_id, sceneryEntry->name); - } else { - set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); - } - return info->type; + case VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM: + sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(mapElement)); + set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE); + if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) { + set_map_tooltip_format_arg(2, rct_string_id, STR_BROKEN); + set_map_tooltip_format_arg(4, rct_string_id, sceneryEntry->name); + } else { + set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); + } + return info->type; - case VIEWPORT_INTERACTION_ITEM_PARK: - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode) - break; + case VIEWPORT_INTERACTION_ITEM_PARK: + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode) + break; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) - break; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) + break; - set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE); - set_map_tooltip_format_arg(2, rct_string_id, STR_OBJECT_SELECTION_PARK_ENTRANCE); - return info->type; + set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE); + set_map_tooltip_format_arg(2, rct_string_id, STR_OBJECT_SELECTION_PARK_ENTRANCE); + return info->type; - case VIEWPORT_INTERACTION_ITEM_WALL: - sceneryEntry = get_wall_entry(mapElement->properties.scenery.type); - set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE); - set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); - return info->type; + case VIEWPORT_INTERACTION_ITEM_WALL: + sceneryEntry = get_wall_entry(mapElement->properties.scenery.type); + set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE); + set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); + return info->type; - case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: - sceneryEntry = get_large_scenery_entry(mapElement->properties.scenery.type & 0x3FF); - set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE); - set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); - return info->type; - } + case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: + sceneryEntry = get_large_scenery_entry(mapElement->properties.scenery.type & 0x3FF); + set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE); + set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); + return info->type; + } - return info->type = VIEWPORT_INTERACTION_ITEM_NONE; + return info->type = VIEWPORT_INTERACTION_ITEM_NONE; } sint32 viewport_interaction_right_over(sint32 x, sint32 y) { - viewport_interaction_info info; + viewport_interaction_info info; - return viewport_interaction_get_item_right(x, y, &info) != 0; + return viewport_interaction_get_item_right(x, y, &info) != 0; } /** @@ -352,47 +352,47 @@ sint32 viewport_interaction_right_over(sint32 x, sint32 y) */ sint32 viewport_interaction_right_click(sint32 x, sint32 y) { - rct_xy_element mapElement; - viewport_interaction_info info; + rct_xy_element mapElement; + viewport_interaction_info info; - switch (viewport_interaction_get_item_right(x, y, &info)) { - case VIEWPORT_INTERACTION_ITEM_NONE: - return 0; + switch (viewport_interaction_get_item_right(x, y, &info)) { + case VIEWPORT_INTERACTION_ITEM_NONE: + return 0; - case VIEWPORT_INTERACTION_ITEM_SPRITE: - if (info.sprite->unknown.sprite_identifier == SPRITE_IDENTIFIER_VEHICLE) - ride_construct(info.sprite->vehicle.ride); - break; - case VIEWPORT_INTERACTION_ITEM_RIDE: - mapElement.x = info.x; - mapElement.y = info.y; - mapElement.element = info.mapElement; - ride_modify(&mapElement); - break; - case VIEWPORT_INTERACTION_ITEM_SCENERY: - viewport_interaction_remove_scenery(info.mapElement, info.x, info.y); - break; - case VIEWPORT_INTERACTION_ITEM_FOOTPATH: - viewport_interaction_remove_footpath(info.mapElement, info.x, info.y); - break; - case VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM: - viewport_interaction_remove_footpath_item(info.mapElement, info.x, info.y); - break; - case VIEWPORT_INTERACTION_ITEM_PARK: - viewport_interaction_remove_park_entrance(info.mapElement, info.x, info.y); - break; - case VIEWPORT_INTERACTION_ITEM_WALL: - viewport_interaction_remove_park_wall(info.mapElement, info.x, info.y); - break; - case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: - viewport_interaction_remove_large_scenery(info.mapElement, info.x, info.y); - break; - case VIEWPORT_INTERACTION_ITEM_BANNER: - window_banner_open(info.mapElement->properties.banner.index); - break; - } + case VIEWPORT_INTERACTION_ITEM_SPRITE: + if (info.sprite->unknown.sprite_identifier == SPRITE_IDENTIFIER_VEHICLE) + ride_construct(info.sprite->vehicle.ride); + break; + case VIEWPORT_INTERACTION_ITEM_RIDE: + mapElement.x = info.x; + mapElement.y = info.y; + mapElement.element = info.mapElement; + ride_modify(&mapElement); + break; + case VIEWPORT_INTERACTION_ITEM_SCENERY: + viewport_interaction_remove_scenery(info.mapElement, info.x, info.y); + break; + case VIEWPORT_INTERACTION_ITEM_FOOTPATH: + viewport_interaction_remove_footpath(info.mapElement, info.x, info.y); + break; + case VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM: + viewport_interaction_remove_footpath_item(info.mapElement, info.x, info.y); + break; + case VIEWPORT_INTERACTION_ITEM_PARK: + viewport_interaction_remove_park_entrance(info.mapElement, info.x, info.y); + break; + case VIEWPORT_INTERACTION_ITEM_WALL: + viewport_interaction_remove_park_wall(info.mapElement, info.x, info.y); + break; + case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: + viewport_interaction_remove_large_scenery(info.mapElement, info.x, info.y); + break; + case VIEWPORT_INTERACTION_ITEM_BANNER: + window_banner_open(info.mapElement->properties.banner.index); + break; + } - return 1; + return 1; } /** @@ -401,16 +401,16 @@ sint32 viewport_interaction_right_click(sint32 x, sint32 y) */ static void viewport_interaction_remove_scenery(rct_map_element *mapElement, sint32 x, sint32 y) { - gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; - game_do_command( - x, - (mapElement->type << 8) | 1, - y, - (mapElement->properties.scenery.type << 8) | mapElement->base_height, - GAME_COMMAND_REMOVE_SCENERY, - 0, - 0 - ); + gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; + game_do_command( + x, + (mapElement->type << 8) | 1, + y, + (mapElement->properties.scenery.type << 8) | mapElement->base_height, + GAME_COMMAND_REMOVE_SCENERY, + 0, + 0 + ); } /** @@ -419,24 +419,24 @@ static void viewport_interaction_remove_scenery(rct_map_element *mapElement, sin */ static void viewport_interaction_remove_footpath(rct_map_element *mapElement, sint32 x, sint32 y) { - sint32 z; - rct_window *w; - rct_map_element *mapElement2; + sint32 z; + rct_window *w; + rct_map_element *mapElement2; - z = mapElement->base_height; + z = mapElement->base_height; - w = window_find_by_class(WC_FOOTPATH); - if (w != NULL) - footpath_provisional_update(); + w = window_find_by_class(WC_FOOTPATH); + if (w != NULL) + footpath_provisional_update(); - mapElement2 = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element_get_type(mapElement2) == MAP_ELEMENT_TYPE_PATH && mapElement2->base_height == z) { - gGameCommandErrorTitle = STR_CANT_REMOVE_FOOTPATH_FROM_HERE; - footpath_remove(x, y, z, 1); - break; - } - } while (!map_element_is_last_for_tile(mapElement2++)); + mapElement2 = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element_get_type(mapElement2) == MAP_ELEMENT_TYPE_PATH && mapElement2->base_height == z) { + gGameCommandErrorTitle = STR_CANT_REMOVE_FOOTPATH_FROM_HERE; + footpath_remove(x, y, z, 1); + break; + } + } while (!map_element_is_last_for_tile(mapElement2++)); } /** @@ -445,22 +445,22 @@ static void viewport_interaction_remove_footpath(rct_map_element *mapElement, si */ static void viewport_interaction_remove_footpath_item(rct_map_element *mapElement, sint32 x, sint32 y) { - sint32 type; + sint32 type; - type = mapElement->properties.path.type >> 4; - if (mapElement->type & 1) - type |= 0x80; + type = mapElement->properties.path.type >> 4; + if (mapElement->type & 1) + type |= 0x80; - gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; - game_do_command( - x, - ((mapElement->properties.path.type & 7) << 8) | 1, - y, - (type << 8) | mapElement->base_height, - GAME_COMMAND_PLACE_PATH, - 0, - 0 - ); + gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; + game_do_command( + x, + ((mapElement->properties.path.type & 7) << 8) | 1, + y, + (type << 8) | mapElement->base_height, + GAME_COMMAND_PLACE_PATH, + 0, + 0 + ); } /** @@ -469,19 +469,19 @@ static void viewport_interaction_remove_footpath_item(rct_map_element *mapElemen */ void viewport_interaction_remove_park_entrance(rct_map_element *mapElement, sint32 x, sint32 y) { - sint32 rotation = (mapElement->type + 1) & 3; - switch (mapElement->properties.entrance.index & 0x0F) { - case 1: - x += TileDirectionDelta[rotation].x; - y += TileDirectionDelta[rotation].y; - break; - case 2: - x -= TileDirectionDelta[rotation].x; - y -= TileDirectionDelta[rotation].y; - break; - } - gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; - game_do_command(x, GAME_COMMAND_FLAG_APPLY, y, mapElement->base_height / 2, GAME_COMMAND_REMOVE_PARK_ENTRANCE, 0, 0); + sint32 rotation = (mapElement->type + 1) & 3; + switch (mapElement->properties.entrance.index & 0x0F) { + case 1: + x += TileDirectionDelta[rotation].x; + y += TileDirectionDelta[rotation].y; + break; + case 2: + x -= TileDirectionDelta[rotation].x; + y -= TileDirectionDelta[rotation].y; + break; + } + gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; + game_do_command(x, GAME_COMMAND_FLAG_APPLY, y, mapElement->base_height / 2, GAME_COMMAND_REMOVE_PARK_ENTRANCE, 0, 0); } /** @@ -490,21 +490,21 @@ void viewport_interaction_remove_park_entrance(rct_map_element *mapElement, sint */ static void viewport_interaction_remove_park_wall(rct_map_element *mapElement, sint32 x, sint32 y) { - rct_scenery_entry *sceneryEntry = get_wall_entry(mapElement->properties.wall.type); - if (sceneryEntry->wall.scrolling_mode != 0xFF){ - window_sign_small_open(mapElement->properties.wall.banner_index); - } else { - gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; - game_do_command( - x, - GAME_COMMAND_FLAG_APPLY, - y, - (mapElement->type & 0x3) | (mapElement->base_height << 8), - GAME_COMMAND_REMOVE_WALL, - 0, - 0 - ); - } + rct_scenery_entry *sceneryEntry = get_wall_entry(mapElement->properties.wall.type); + if (sceneryEntry->wall.scrolling_mode != 0xFF){ + window_sign_small_open(mapElement->properties.wall.banner_index); + } else { + gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; + game_do_command( + x, + GAME_COMMAND_FLAG_APPLY, + y, + (mapElement->type & 0x3) | (mapElement->base_height << 8), + GAME_COMMAND_REMOVE_WALL, + 0, + 0 + ); + } } /** @@ -513,65 +513,65 @@ static void viewport_interaction_remove_park_wall(rct_map_element *mapElement, s */ static void viewport_interaction_remove_large_scenery(rct_map_element *mapElement, sint32 x, sint32 y) { - rct_scenery_entry *sceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & MAP_ELEMENT_LARGE_TYPE_MASK); + rct_scenery_entry *sceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & MAP_ELEMENT_LARGE_TYPE_MASK); - if (sceneryEntry->large_scenery.var_11 != 0xFF){ - sint32 id = (mapElement->type & 0xC0) | - ((mapElement->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | - ((mapElement->properties.scenerymultiple.colour[1] & 0xE0) >> 5); - window_sign_open(id); - } else { - gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; - game_do_command( - x, - 1 | ((mapElement->type & 0x3) << 8), - y, - mapElement->base_height | ((mapElement->properties.scenerymultiple.type >> 10) << 8), - GAME_COMMAND_REMOVE_LARGE_SCENERY, - 0, - 0 - ); - } + if (sceneryEntry->large_scenery.var_11 != 0xFF){ + sint32 id = (mapElement->type & 0xC0) | + ((mapElement->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | + ((mapElement->properties.scenerymultiple.colour[1] & 0xE0) >> 5); + window_sign_open(id); + } else { + gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; + game_do_command( + x, + 1 | ((mapElement->type & 0x3) << 8), + y, + mapElement->base_height | ((mapElement->properties.scenerymultiple.type >> 10) << 8), + GAME_COMMAND_REMOVE_LARGE_SCENERY, + 0, + 0 + ); + } } static rct_peep *viewport_interaction_get_closest_peep(sint32 x, sint32 y, sint32 maxDistance) { - sint32 distance, closestDistance; - uint16 spriteIndex; - rct_window *w; - rct_viewport *viewport; - rct_peep *peep, *closestPeep; + sint32 distance, closestDistance; + uint16 spriteIndex; + rct_window *w; + rct_viewport *viewport; + rct_peep *peep, *closestPeep; - w = window_find_from_point(x, y); - if (w == NULL) - return 0; + w = window_find_from_point(x, y); + if (w == NULL) + return 0; - viewport = w->viewport; - if (viewport == NULL || viewport->zoom >= 2) - return 0; + viewport = w->viewport; + if (viewport == NULL || viewport->zoom >= 2) + return 0; - x = ((x - viewport->x) << viewport->zoom) + viewport->view_x; - y = ((y - viewport->y) << viewport->zoom) + viewport->view_y; + x = ((x - viewport->x) << viewport->zoom) + viewport->view_x; + y = ((y - viewport->y) << viewport->zoom) + viewport->view_y; - closestPeep = NULL; - closestDistance = 0xFFFF; - FOR_ALL_PEEPS(spriteIndex, peep) { - if (peep->sprite_left == (sint16)(uint16)0x8000) - continue; + closestPeep = NULL; + closestDistance = 0xFFFF; + FOR_ALL_PEEPS(spriteIndex, peep) { + if (peep->sprite_left == (sint16)(uint16)0x8000) + continue; - distance = - abs(((peep->sprite_left + peep->sprite_right) / 2) - x) + - abs(((peep->sprite_top + peep->sprite_bottom) / 2) - y); - if (distance > maxDistance) - continue; + distance = + abs(((peep->sprite_left + peep->sprite_right) / 2) - x) + + abs(((peep->sprite_top + peep->sprite_bottom) / 2) - y); + if (distance > maxDistance) + continue; - if (distance < closestDistance) { - closestPeep = peep; - closestDistance = distance; - } - } + if (distance < closestDistance) { + closestPeep = peep; + closestDistance = distance; + } + } - return closestPeep; + return closestPeep; } /** @@ -580,55 +580,55 @@ static rct_peep *viewport_interaction_get_closest_peep(sint32 x, sint32 y, sint3 */ void sub_68A15E(sint32 screenX, sint32 screenY, sint16 *x, sint16 *y, sint32 *direction, rct_map_element **mapElement) { - sint16 my_x, my_y; - sint32 interactionType; - rct_map_element *myMapElement; - rct_viewport *viewport; - get_map_coordinates_from_pos(screenX, screenY, VIEWPORT_INTERACTION_MASK_TERRAIN & VIEWPORT_INTERACTION_MASK_WATER, &my_x, &my_y, &interactionType, &myMapElement, &viewport); + sint16 my_x, my_y; + sint32 interactionType; + rct_map_element *myMapElement; + rct_viewport *viewport; + get_map_coordinates_from_pos(screenX, screenY, VIEWPORT_INTERACTION_MASK_TERRAIN & VIEWPORT_INTERACTION_MASK_WATER, &my_x, &my_y, &interactionType, &myMapElement, &viewport); - if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) { - *x = 0x8000; - return; - } + if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) { + *x = 0x8000; + return; + } - sint16 originalZ = 0; - if (interactionType == VIEWPORT_INTERACTION_ITEM_WATER) { - originalZ = (myMapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) << 4; - } + sint16 originalZ = 0; + if (interactionType == VIEWPORT_INTERACTION_ITEM_WATER) { + originalZ = (myMapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) << 4; + } - rct_xy16 start_vp_pos = screen_coord_to_viewport_coord(viewport, screenX, screenY); - rct_xy16 map_pos = { my_x + 16, my_y + 16 }; + rct_xy16 start_vp_pos = screen_coord_to_viewport_coord(viewport, screenX, screenY); + rct_xy16 map_pos = { my_x + 16, my_y + 16 }; - for (sint32 i = 0; i < 5; i++) { - sint16 z = originalZ; - if (interactionType != VIEWPORT_INTERACTION_ITEM_WATER) { - z = map_element_height(map_pos.x, map_pos.y); - } - map_pos = viewport_coord_to_map_coord(start_vp_pos.x, start_vp_pos.y, z); - map_pos.x = clamp(my_x, map_pos.x, my_x + 31); - map_pos.y = clamp(my_y, map_pos.y, my_y + 31); - } + for (sint32 i = 0; i < 5; i++) { + sint16 z = originalZ; + if (interactionType != VIEWPORT_INTERACTION_ITEM_WATER) { + z = map_element_height(map_pos.x, map_pos.y); + } + map_pos = viewport_coord_to_map_coord(start_vp_pos.x, start_vp_pos.y, z); + map_pos.x = clamp(my_x, map_pos.x, my_x + 31); + map_pos.y = clamp(my_y, map_pos.y, my_y + 31); + } - // Determine to which edge the cursor is closest - sint32 myDirection; - sint32 mod_x = map_pos.x & 0x1F; - sint32 mod_y = map_pos.y & 0x1F; - if (mod_x < mod_y) { - if (mod_x + mod_y < 32) { - myDirection = 0; - } else { - myDirection = 1; - } - } else { - if (mod_x + mod_y < 32) { - myDirection = 3; - } else { - myDirection = 2; - } - } + // Determine to which edge the cursor is closest + sint32 myDirection; + sint32 mod_x = map_pos.x & 0x1F; + sint32 mod_y = map_pos.y & 0x1F; + if (mod_x < mod_y) { + if (mod_x + mod_y < 32) { + myDirection = 0; + } else { + myDirection = 1; + } + } else { + if (mod_x + mod_y < 32) { + myDirection = 3; + } else { + myDirection = 2; + } + } - *x = map_pos.x & ~0x1F; - *y = map_pos.y & ~0x1F; - if (direction != NULL) *direction = myDirection; - if (mapElement != NULL) *mapElement = myMapElement; + *x = map_pos.x & ~0x1F; + *y = map_pos.y & ~0x1F; + if (direction != NULL) *direction = myDirection; + if (mapElement != NULL) *mapElement = myMapElement; } diff --git a/src/openrct2/interface/widget.c b/src/openrct2/interface/widget.c index 18e4b5cda9..cff94d0773 100644 --- a/src/openrct2/interface/widget.c +++ b/src/openrct2/interface/widget.c @@ -52,62 +52,62 @@ static void widget_draw_image(rct_drawpixelinfo *dpi, rct_window *w, rct_widgeti */ void widget_scroll_update_thumbs(rct_window *w, rct_widgetindex widget_index) { - rct_widget *widget = &w->widgets[widget_index]; - rct_scroll* scroll = &w->scrolls[window_get_scroll_data_index(w, widget_index)]; + rct_widget *widget = &w->widgets[widget_index]; + rct_scroll* scroll = &w->scrolls[window_get_scroll_data_index(w, widget_index)]; - if (scroll->flags & HSCROLLBAR_VISIBLE) { - sint32 view_size = widget->right - widget->left - 21; - if (scroll->flags & VSCROLLBAR_VISIBLE) - view_size -= 11; - sint32 x = scroll->h_left * view_size; - if (scroll->h_right != 0) - x /= scroll->h_right; - scroll->h_thumb_left = x + 11; + if (scroll->flags & HSCROLLBAR_VISIBLE) { + sint32 view_size = widget->right - widget->left - 21; + if (scroll->flags & VSCROLLBAR_VISIBLE) + view_size -= 11; + sint32 x = scroll->h_left * view_size; + if (scroll->h_right != 0) + x /= scroll->h_right; + scroll->h_thumb_left = x + 11; - x = widget->right - widget->left - 2; - if (scroll->flags & VSCROLLBAR_VISIBLE) - x -= 11; - x += scroll->h_left; - if (scroll->h_right != 0) - x = (x * view_size) / scroll->h_right; - x += 11; - view_size += 10; - scroll->h_thumb_right = min(x, view_size); + x = widget->right - widget->left - 2; + if (scroll->flags & VSCROLLBAR_VISIBLE) + x -= 11; + x += scroll->h_left; + if (scroll->h_right != 0) + x = (x * view_size) / scroll->h_right; + x += 11; + view_size += 10; + scroll->h_thumb_right = min(x, view_size); - if(scroll->h_thumb_right - scroll->h_thumb_left < 20) { - double barPosition = (scroll->h_thumb_right * 1.0) / view_size; + if(scroll->h_thumb_right - scroll->h_thumb_left < 20) { + double barPosition = (scroll->h_thumb_right * 1.0) / view_size; - scroll->h_thumb_left = (uint16) lround(scroll->h_thumb_left - (20 * barPosition)); - scroll->h_thumb_right = (uint16) lround(scroll->h_thumb_right + (20 * (1 - barPosition))); - } - } + scroll->h_thumb_left = (uint16) lround(scroll->h_thumb_left - (20 * barPosition)); + scroll->h_thumb_right = (uint16) lround(scroll->h_thumb_right + (20 * (1 - barPosition))); + } + } - if (scroll->flags & VSCROLLBAR_VISIBLE) { - sint32 view_size = widget->bottom - widget->top - 21; - if (scroll->flags & HSCROLLBAR_VISIBLE) - view_size -= 11; - sint32 y = scroll->v_top * view_size; - if (scroll->v_bottom != 0) - y /= scroll->v_bottom; - scroll->v_thumb_top = y + 11; + if (scroll->flags & VSCROLLBAR_VISIBLE) { + sint32 view_size = widget->bottom - widget->top - 21; + if (scroll->flags & HSCROLLBAR_VISIBLE) + view_size -= 11; + sint32 y = scroll->v_top * view_size; + if (scroll->v_bottom != 0) + y /= scroll->v_bottom; + scroll->v_thumb_top = y + 11; - y = widget->bottom - widget->top - 2; - if (scroll->flags & HSCROLLBAR_VISIBLE) - y -= 11; - y += scroll->v_top; - if (scroll->v_bottom != 0) - y = (y * view_size) / scroll->v_bottom; - y += 11; - view_size += 10; - scroll->v_thumb_bottom = min(y, view_size); + y = widget->bottom - widget->top - 2; + if (scroll->flags & HSCROLLBAR_VISIBLE) + y -= 11; + y += scroll->v_top; + if (scroll->v_bottom != 0) + y = (y * view_size) / scroll->v_bottom; + y += 11; + view_size += 10; + scroll->v_thumb_bottom = min(y, view_size); - if(scroll->v_thumb_bottom - scroll->v_thumb_top < 20) { - double barPosition = (scroll->v_thumb_bottom * 1.0) / view_size; + if(scroll->v_thumb_bottom - scroll->v_thumb_top < 20) { + double barPosition = (scroll->v_thumb_bottom * 1.0) / view_size; - scroll->v_thumb_top = (uint16) lround(scroll->v_thumb_top - (20 * barPosition)); - scroll->v_thumb_bottom = (uint16) lround(scroll->v_thumb_bottom + (20 * (1 - barPosition))); - } - } + scroll->v_thumb_top = (uint16) lround(scroll->v_thumb_top - (20 * barPosition)); + scroll->v_thumb_bottom = (uint16) lround(scroll->v_thumb_bottom + (20 * (1 - barPosition))); + } + } } @@ -117,66 +117,66 @@ void widget_scroll_update_thumbs(rct_window *w, rct_widgetindex widget_index) */ void widget_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - switch (w->widgets[widgetIndex].type) { - case WWT_FRAME: - widget_frame_draw(dpi, w, widgetIndex); - break; - case WWT_RESIZE: - widget_resize_draw(dpi, w, widgetIndex); - break; - case WWT_IMGBTN: - case WWT_4: - widget_button_draw(dpi, w, widgetIndex); - break; - case WWT_5: - case WWT_COLOURBTN: - case WWT_TRNBTN: - case WWT_TAB: - widget_tab_draw(dpi, w, widgetIndex); - break; - case WWT_FLATBTN: - widget_flat_button_draw(dpi, w, widgetIndex); - break; - case WWT_DROPDOWN_BUTTON: - case WWT_11: - case WWT_13: - widget_text_button(dpi, w, widgetIndex); - break; - case WWT_12: - widget_text_unknown(dpi, w, widgetIndex); - break; - case WWT_14: - widget_text(dpi, w, widgetIndex); - break; - case WWT_SPINNER: - case WWT_DROPDOWN: - case WWT_VIEWPORT: - widget_text_inset(dpi, w, widgetIndex); - break; - case WWT_18: - break; - case WWT_GROUPBOX: - widget_groupbox_draw(dpi, w, widgetIndex); - break; - case WWT_CAPTION: - widget_caption_draw(dpi, w, widgetIndex); - break; - case WWT_CLOSEBOX: - widget_closebox_draw(dpi, w, widgetIndex); - break; - case WWT_SCROLL: - widget_scroll_draw(dpi, w, widgetIndex); - break; - case WWT_CHECKBOX: - case WWT_24: - widget_checkbox_draw(dpi, w, widgetIndex); - break; - case WWT_25: - break; - case WWT_TEXT_BOX: - widget_text_box_draw(dpi, w, widgetIndex); - break; - } + switch (w->widgets[widgetIndex].type) { + case WWT_FRAME: + widget_frame_draw(dpi, w, widgetIndex); + break; + case WWT_RESIZE: + widget_resize_draw(dpi, w, widgetIndex); + break; + case WWT_IMGBTN: + case WWT_4: + widget_button_draw(dpi, w, widgetIndex); + break; + case WWT_5: + case WWT_COLOURBTN: + case WWT_TRNBTN: + case WWT_TAB: + widget_tab_draw(dpi, w, widgetIndex); + break; + case WWT_FLATBTN: + widget_flat_button_draw(dpi, w, widgetIndex); + break; + case WWT_DROPDOWN_BUTTON: + case WWT_11: + case WWT_13: + widget_text_button(dpi, w, widgetIndex); + break; + case WWT_12: + widget_text_unknown(dpi, w, widgetIndex); + break; + case WWT_14: + widget_text(dpi, w, widgetIndex); + break; + case WWT_SPINNER: + case WWT_DROPDOWN: + case WWT_VIEWPORT: + widget_text_inset(dpi, w, widgetIndex); + break; + case WWT_18: + break; + case WWT_GROUPBOX: + widget_groupbox_draw(dpi, w, widgetIndex); + break; + case WWT_CAPTION: + widget_caption_draw(dpi, w, widgetIndex); + break; + case WWT_CLOSEBOX: + widget_closebox_draw(dpi, w, widgetIndex); + break; + case WWT_SCROLL: + widget_scroll_draw(dpi, w, widgetIndex); + break; + case WWT_CHECKBOX: + case WWT_24: + widget_checkbox_draw(dpi, w, widgetIndex); + break; + case WWT_25: + break; + case WWT_TEXT_BOX: + widget_text_box_draw(dpi, w, widgetIndex); + break; + } } /** @@ -185,34 +185,34 @@ void widget_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIn */ static void widget_frame_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; - sint32 b = w->y + widget->bottom; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; + sint32 b = w->y + widget->bottom; - // - uint8 press = ((w->flags & WF_10) ? INSET_RECT_FLAG_FILL_MID_LIGHT : 0); + // + uint8 press = ((w->flags & WF_10) ? INSET_RECT_FLAG_FILL_MID_LIGHT : 0); - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - // Draw the frame - gfx_fill_rect_inset(dpi, l, t, r, b, colour, press); + // Draw the frame + gfx_fill_rect_inset(dpi, l, t, r, b, colour, press); - // Check if the window can be resized - if (!(w->flags & WF_RESIZABLE)) - return; - if (w->min_width == w->max_width && w->min_height == w->max_height) - return; + // Check if the window can be resized + if (!(w->flags & WF_RESIZABLE)) + return; + if (w->min_width == w->max_width && w->min_height == w->max_height) + return; - // Draw the resize sprite at the bottom right corner - l = w->x + widget->right - 18; - t = w->y + widget->bottom - 18; - gfx_draw_sprite(dpi, SPR_RESIZE | 0x20000000 | ((colour & 0x7F) << 19), l, t, 0); + // Draw the resize sprite at the bottom right corner + l = w->x + widget->right - 18; + t = w->y + widget->bottom - 18; + gfx_draw_sprite(dpi, SPR_RESIZE | 0x20000000 | ((colour & 0x7F) << 19), l, t, 0); } /** @@ -221,31 +221,31 @@ static void widget_frame_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgeti */ static void widget_resize_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; - sint32 b = w->y + widget->bottom; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; + sint32 b = w->y + widget->bottom; - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - // Draw the panel - gfx_fill_rect_inset(dpi, l, t, r, b, colour, 0); + // Draw the panel + gfx_fill_rect_inset(dpi, l, t, r, b, colour, 0); - // Check if the window can be resized - if (!(w->flags & WF_RESIZABLE)) - return; - if (w->min_width == w->max_width && w->min_height == w->max_height) - return; + // Check if the window can be resized + if (!(w->flags & WF_RESIZABLE)) + return; + if (w->min_width == w->max_width && w->min_height == w->max_height) + return; - // Draw the resize sprite at the bottom right corner - l = w->x + widget->right - 18; - t = w->y + widget->bottom - 18; - gfx_draw_sprite(dpi, SPR_RESIZE | 0x20000000 | ((colour & 0x7F) << 19), l, t, 0); + // Draw the resize sprite at the bottom right corner + l = w->x + widget->right - 18; + t = w->y + widget->bottom - 18; + gfx_draw_sprite(dpi, SPR_RESIZE | 0x20000000 | ((colour & 0x7F) << 19), l, t, 0); } /** @@ -254,31 +254,31 @@ static void widget_resize_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widget */ static void widget_button_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; - sint32 b = w->y + widget->bottom; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; + sint32 b = w->y + widget->bottom; - // Check if the button is pressed down - uint8 press = widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex) ? INSET_RECT_FLAG_BORDER_INSET : 0; + // Check if the button is pressed down + uint8 press = widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex) ? INSET_RECT_FLAG_BORDER_INSET : 0; - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - if (widget->image == -2) { - // Draw border with no fill - gfx_fill_rect_inset(dpi, l, t, r, b, colour, press | INSET_RECT_FLAG_FILL_NONE); - return; - } + if (widget->image == -2) { + // Draw border with no fill + gfx_fill_rect_inset(dpi, l, t, r, b, colour, press | INSET_RECT_FLAG_FILL_NONE); + return; + } - // Draw the border with fill - gfx_fill_rect_inset(dpi, l, t, r, b, colour, press); + // Draw the border with fill + gfx_fill_rect_inset(dpi, l, t, r, b, colour, press); - widget_draw_image(dpi, w, widgetIndex); + widget_draw_image(dpi, w, widgetIndex); } /** @@ -287,37 +287,37 @@ static void widget_button_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widget */ static void widget_tab_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - if (widget->image == -1) - return; + if (widget->image == -1) + return; - // Draw widgets that aren't explicitly disabled. - if (!widget_is_disabled(w, widgetIndex)) { - widget_draw_image(dpi, w, widgetIndex); - return; - } + // Draw widgets that aren't explicitly disabled. + if (!widget_is_disabled(w, widgetIndex)) { + widget_draw_image(dpi, w, widgetIndex); + return; + } - // Do not draw hidden tabs, unless given a sprite. - if (widget->type == WWT_TAB && widget->image != (0x20000000 | SPR_G2_TAB_DISABLED)) - return; + // Do not draw hidden tabs, unless given a sprite. + if (widget->type == WWT_TAB && widget->image != (0x20000000 | SPR_G2_TAB_DISABLED)) + return; - if (widget->type != WWT_TRNBTN) { - widget_draw_image(dpi, w, widgetIndex); - return; - } + if (widget->type != WWT_TRNBTN) { + widget_draw_image(dpi, w, widgetIndex); + return; + } - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; - // Get the colour and disabled image - uint8 colour = w->colours[widget->colour] & 0x7F; - uint32 image = widget->image + 2; + // Get the colour and disabled image + uint8 colour = w->colours[widget->colour] & 0x7F; + uint32 image = widget->image + 2; - // Draw disabled image - gfx_draw_sprite(dpi, image | (colour << 19), l, t, 0); + // Draw disabled image + gfx_draw_sprite(dpi, image | (colour << 19), l, t, 0); } /** @@ -326,37 +326,37 @@ static void widget_tab_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetind */ static void widget_flat_button_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - if (!widget_is_disabled(w, widgetIndex) && widget_is_highlighted(w, widgetIndex)) { - widget_button_draw(dpi, w, widgetIndex); - return; - } + if (!widget_is_disabled(w, widgetIndex) && widget_is_highlighted(w, widgetIndex)) { + widget_button_draw(dpi, w, widgetIndex); + return; + } - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; - sint32 b = w->y + widget->bottom; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; + sint32 b = w->y + widget->bottom; - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - // Check if the button is pressed down - if (widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex)) { - if (widget->image == -2) { - // Draw border with no fill - gfx_fill_rect_inset(dpi, l, t, r, b, colour, INSET_RECT_FLAG_BORDER_INSET | INSET_RECT_FLAG_FILL_NONE); - return; - } + // Check if the button is pressed down + if (widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex)) { + if (widget->image == -2) { + // Draw border with no fill + gfx_fill_rect_inset(dpi, l, t, r, b, colour, INSET_RECT_FLAG_BORDER_INSET | INSET_RECT_FLAG_FILL_NONE); + return; + } - // Draw the border with fill - gfx_fill_rect_inset(dpi, l, t, r, b, colour, INSET_RECT_FLAG_BORDER_INSET); - } + // Draw the border with fill + gfx_fill_rect_inset(dpi, l, t, r, b, colour, INSET_RECT_FLAG_BORDER_INSET); + } - // Draw image - widget_draw_image(dpi, w, widgetIndex); + // Draw image + widget_draw_image(dpi, w, widgetIndex); } /** @@ -365,24 +365,24 @@ static void widget_flat_button_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_w */ static void widget_text_button(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; - sint32 b = w->y + widget->bottom; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; + sint32 b = w->y + widget->bottom; - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - // Border - uint8 press = widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex) ? INSET_RECT_FLAG_BORDER_INSET : 0; - gfx_fill_rect_inset(dpi, l, t, r, b, colour, press); + // Border + uint8 press = widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex) ? INSET_RECT_FLAG_BORDER_INSET : 0; + gfx_fill_rect_inset(dpi, l, t, r, b, colour, press); - // Text - widget_text_unknown(dpi, w, widgetIndex); + // Text + widget_text_unknown(dpi, w, widgetIndex); } /** @@ -391,52 +391,52 @@ static void widget_text_button(rct_drawpixelinfo *dpi, rct_window *w, rct_widget */ static void widget_text_unknown(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Get the colour - uint8 colour = w->colours[widget->colour]; - // do not use widget colour as this is already used as background for the text_button - // colour = 2; + // Get the colour + uint8 colour = w->colours[widget->colour]; + // do not use widget colour as this is already used as background for the text_button + // colour = 2; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; - rct_string_id stringId = widget->text; - if (stringId == STR_NONE) - return; + rct_string_id stringId = widget->text; + if (stringId == STR_NONE) + return; - if (widget->type == WWT_11 && (widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex))) - // TODO: remove string addition - stringId++; + if (widget->type == WWT_11 && (widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex))) + // TODO: remove string addition + stringId++; - if (widget->type == WWT_13) { - if (widget_is_disabled(w, widgetIndex)) - colour |= COLOUR_FLAG_INSET; - gfx_draw_string_left_clipped( - dpi, - stringId, - gCommonFormatArgs, - colour, - l + 1, - t, - widget->right - widget->left - 2 - ); - } else { - colour &= ~(1 << 7); - if (widget_is_disabled(w, widgetIndex)) - colour |= COLOUR_FLAG_INSET; - gfx_draw_string_centred_clipped( - dpi, - stringId, - gCommonFormatArgs, - colour, - (w->x + w->x + widget->left + widget->right + 1) / 2 - 1, - t, - widget->right - widget->left - 2 - ); - } + if (widget->type == WWT_13) { + if (widget_is_disabled(w, widgetIndex)) + colour |= COLOUR_FLAG_INSET; + gfx_draw_string_left_clipped( + dpi, + stringId, + gCommonFormatArgs, + colour, + l + 1, + t, + widget->right - widget->left - 2 + ); + } else { + colour &= ~(1 << 7); + if (widget_is_disabled(w, widgetIndex)) + colour |= COLOUR_FLAG_INSET; + gfx_draw_string_centred_clipped( + dpi, + stringId, + gCommonFormatArgs, + colour, + (w->x + w->x + widget->left + widget->right + 1) / 2 - 1, + t, + widget->right - widget->left - 2 + ); + } } /** @@ -445,24 +445,24 @@ static void widget_text_unknown(rct_drawpixelinfo *dpi, rct_window *w, rct_widge */ static void widget_text(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; - // TODO: -2 seems odd - if (widget->text == (rct_string_id)-2 || widget->text == STR_NONE) - return; + // TODO: -2 seems odd + if (widget->text == (rct_string_id)-2 || widget->text == STR_NONE) + return; - if (widget_is_disabled(w, widgetIndex)) - colour |= COLOUR_FLAG_INSET; - gfx_draw_string_left_clipped(dpi, widget->text, gCommonFormatArgs, colour, l + 1, t, r - l); + if (widget_is_disabled(w, widgetIndex)) + colour |= COLOUR_FLAG_INSET; + gfx_draw_string_left_clipped(dpi, widget->text, gCommonFormatArgs, colour, l + 1, t, r - l); } /** @@ -471,20 +471,20 @@ static void widget_text(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex w */ static void widget_text_inset(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; - sint32 b = w->y + widget->bottom; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; + sint32 b = w->y + widget->bottom; - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - gfx_fill_rect_inset(dpi, l, t, r, b, colour, INSET_RECT_F_60); - widget_text(dpi, w, widgetIndex); + gfx_fill_rect_inset(dpi, l, t, r, b, colour, INSET_RECT_F_60); + widget_text(dpi, w, widgetIndex); } /** @@ -493,27 +493,27 @@ static void widget_text_inset(rct_drawpixelinfo *dpi, rct_window *w, rct_widgeti */ static void widget_text_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left + 5; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; - sint32 b = w->y + widget->bottom; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left + 5; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; + sint32 b = w->y + widget->bottom; - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - sint32 press = 0; - if (widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex)) - press |= INSET_RECT_FLAG_BORDER_INSET; + sint32 press = 0; + if (widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex)) + press |= INSET_RECT_FLAG_BORDER_INSET; - gfx_fill_rect_inset(dpi, l, t, r, b, colour, press); + gfx_fill_rect_inset(dpi, l, t, r, b, colour, press); - // TODO + // TODO - gfx_fill_rect(dpi, l, t, r, b, colour); + gfx_fill_rect(dpi, l, t, r, b, colour); } /** @@ -522,54 +522,54 @@ static void widget_text_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetin */ static void widget_groupbox_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left + 5; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; - sint32 b = w->y + widget->bottom; - sint32 textRight = l; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left + 5; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; + sint32 b = w->y + widget->bottom; + sint32 textRight = l; - // Text - if (widget->text != STR_NONE) { - uint8 colour = w->colours[widget->colour] & 0x7F; - if (widget_is_disabled(w, widgetIndex)) - colour |= 0x40; - gfx_draw_string_left(dpi, widget->text, gCommonFormatArgs, colour, l, t); - textRight = l + gfx_get_string_width(gCommonStringFormatBuffer) + 1; - } + // Text + if (widget->text != STR_NONE) { + uint8 colour = w->colours[widget->colour] & 0x7F; + if (widget_is_disabled(w, widgetIndex)) + colour |= 0x40; + gfx_draw_string_left(dpi, widget->text, gCommonFormatArgs, colour, l, t); + textRight = l + gfx_get_string_width(gCommonStringFormatBuffer) + 1; + } - // Border - // Resolve the absolute ltrb - l = w->x + widget->left; - t = w->y + widget->top + 4; - r = w->x + widget->right; - b = w->y + widget->bottom; + // Border + // Resolve the absolute ltrb + l = w->x + widget->left; + t = w->y + widget->top + 4; + r = w->x + widget->right; + b = w->y + widget->bottom; - // Get the colour - uint8 colour = w->colours[widget->colour] & 0x7F; + // Get the colour + uint8 colour = w->colours[widget->colour] & 0x7F; - // Border left of text - gfx_fill_rect(dpi, l, t, l + 4, t, ColourMapA[colour].mid_dark); - gfx_fill_rect(dpi, l + 1, t + 1, l + 4, t + 1, ColourMapA[colour].lighter); + // Border left of text + gfx_fill_rect(dpi, l, t, l + 4, t, ColourMapA[colour].mid_dark); + gfx_fill_rect(dpi, l + 1, t + 1, l + 4, t + 1, ColourMapA[colour].lighter); - // Border right of text - gfx_fill_rect(dpi, textRight, t, r - 1, t, ColourMapA[colour].mid_dark); - gfx_fill_rect(dpi, textRight, t + 1, r - 2, t + 1, ColourMapA[colour].lighter); + // Border right of text + gfx_fill_rect(dpi, textRight, t, r - 1, t, ColourMapA[colour].mid_dark); + gfx_fill_rect(dpi, textRight, t + 1, r - 2, t + 1, ColourMapA[colour].lighter); - // Border right - gfx_fill_rect(dpi, r - 1, t + 1, r - 1, b - 1, ColourMapA[colour].mid_dark); - gfx_fill_rect(dpi, r, t, r, b, ColourMapA[colour].lighter); + // Border right + gfx_fill_rect(dpi, r - 1, t + 1, r - 1, b - 1, ColourMapA[colour].mid_dark); + gfx_fill_rect(dpi, r, t, r, b, ColourMapA[colour].lighter); - // Border bottom - gfx_fill_rect(dpi, l, b - 1, r - 2, b - 1, ColourMapA[colour].mid_dark); - gfx_fill_rect(dpi, l, b, r - 1, b, ColourMapA[colour].lighter); + // Border bottom + gfx_fill_rect(dpi, l, b - 1, r - 2, b - 1, ColourMapA[colour].mid_dark); + gfx_fill_rect(dpi, l, b, r - 1, b, ColourMapA[colour].lighter); - // Border left - gfx_fill_rect(dpi, l, t + 1, l, b - 2, ColourMapA[colour].mid_dark); - gfx_fill_rect(dpi, l + 1, t + 2, l + 1, b - 2, ColourMapA[colour].lighter); + // Border left + gfx_fill_rect(dpi, l, t + 1, l, b - 2, ColourMapA[colour].mid_dark); + gfx_fill_rect(dpi, l + 1, t + 2, l + 1, b - 2, ColourMapA[colour].lighter); } /** @@ -578,44 +578,44 @@ static void widget_groupbox_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widg */ static void widget_caption_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; - sint32 b = w->y + widget->bottom; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; + sint32 b = w->y + widget->bottom; - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - uint8 press = INSET_RECT_F_60; - if (w->flags & WF_10) - press |= INSET_RECT_FLAG_FILL_MID_LIGHT; + uint8 press = INSET_RECT_F_60; + if (w->flags & WF_10) + press |= INSET_RECT_FLAG_FILL_MID_LIGHT; - gfx_fill_rect_inset(dpi, l, t, r, b, colour, press); + gfx_fill_rect_inset(dpi, l, t, r, b, colour, press); - // Black caption bars look slightly green, this fixes that - if (colour == 0) - gfx_fill_rect(dpi, l + 1, t + 1, r - 1, b - 1, ColourMapA[colour].dark); - else - gfx_filter_rect(dpi, l + 1, t + 1, r - 1, b - 1, PALETTE_DARKEN_3); + // Black caption bars look slightly green, this fixes that + if (colour == 0) + gfx_fill_rect(dpi, l + 1, t + 1, r - 1, b - 1, ColourMapA[colour].dark); + else + gfx_filter_rect(dpi, l + 1, t + 1, r - 1, b - 1, PALETTE_DARKEN_3); - // Draw text - if (widget->text == STR_NONE) - return; + // Draw text + if (widget->text == STR_NONE) + return; - l = widget->left + w->x + 2; - t = widget->top + w->y + 1; - sint32 width = widget->right - widget->left - 4; - if ((widget + 1)->type == WWT_CLOSEBOX) { - width -= 10; - if ((widget + 2)->type == WWT_CLOSEBOX) - width -= 10; - } - l += width / 2; - gfx_draw_string_centred_clipped(dpi, widget->text, gCommonFormatArgs, COLOUR_WHITE | COLOUR_FLAG_OUTLINE, l, t, width); + l = widget->left + w->x + 2; + t = widget->top + w->y + 1; + sint32 width = widget->right - widget->left - 4; + if ((widget + 1)->type == WWT_CLOSEBOX) { + width -= 10; + if ((widget + 2)->type == WWT_CLOSEBOX) + width -= 10; + } + l += width / 2; + gfx_draw_string_centred_clipped(dpi, widget->text, gCommonFormatArgs, COLOUR_WHITE | COLOUR_FLAG_OUTLINE, l, t, width); } /** @@ -624,38 +624,38 @@ static void widget_caption_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widge */ static void widget_closebox_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; - sint32 b = w->y + widget->bottom; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; + sint32 b = w->y + widget->bottom; - // Check if the button is pressed down - uint8 press = 0; - if (w->flags & WF_10) - press |= INSET_RECT_FLAG_FILL_MID_LIGHT; - if (widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex)) - press |= INSET_RECT_FLAG_BORDER_INSET; + // Check if the button is pressed down + uint8 press = 0; + if (w->flags & WF_10) + press |= INSET_RECT_FLAG_FILL_MID_LIGHT; + if (widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex)) + press |= INSET_RECT_FLAG_BORDER_INSET; - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - // Draw the button - gfx_fill_rect_inset(dpi, l, t, r, b, colour, press); + // Draw the button + gfx_fill_rect_inset(dpi, l, t, r, b, colour, press); - if (widget->text == STR_NONE) - return; + if (widget->text == STR_NONE) + return; - l = w->x + (widget->left + widget->right) / 2 - 1; - t = w->y + max(widget->top, (widget->top + widget->bottom) / 2 - 5); + l = w->x + (widget->left + widget->right) / 2 - 1; + t = w->y + max(widget->top, (widget->top + widget->bottom) / 2 - 5); - if (widget_is_disabled(w, widgetIndex)) - colour |= COLOUR_FLAG_INSET; + if (widget_is_disabled(w, widgetIndex)) + colour |= COLOUR_FLAG_INSET; - gfx_draw_string_centred_clipped(dpi, widget->text, gCommonFormatArgs, colour, l, t, widget->right - widget->left - 2); + gfx_draw_string_centred_clipped(dpi, widget->text, gCommonFormatArgs, colour, l, t, widget->right - widget->left - 2); } /** @@ -664,38 +664,38 @@ static void widget_closebox_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widg */ static void widget_checkbox_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Resolve the absolute ltb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; - sint32 b = w->y + widget->bottom; - sint32 yMid = (b + t) / 2; + // Resolve the absolute ltb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; + sint32 b = w->y + widget->bottom; + sint32 yMid = (b + t) / 2; - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - if (widget->type != WWT_24) { - // checkbox - gfx_fill_rect_inset(dpi, l, yMid - 5, l + 9, yMid + 4, colour, INSET_RECT_F_60); + if (widget->type != WWT_24) { + // checkbox + gfx_fill_rect_inset(dpi, l, yMid - 5, l + 9, yMid + 4, colour, INSET_RECT_F_60); - // fill it when checkbox is pressed - if (widget_is_pressed(w, widgetIndex)) { - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_draw_string(dpi, (char*)CheckBoxMarkString, NOT_TRANSLUCENT(colour), l, yMid - 5); - } - } + // fill it when checkbox is pressed + if (widget_is_pressed(w, widgetIndex)) { + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gfx_draw_string(dpi, (char*)CheckBoxMarkString, NOT_TRANSLUCENT(colour), l, yMid - 5); + } + } - // draw the text - if (widget->text == STR_NONE) - return; + // draw the text + if (widget->text == STR_NONE) + return; - if (widget_is_disabled(w, widgetIndex)) { - colour |= COLOUR_FLAG_INSET; - } + if (widget_is_disabled(w, widgetIndex)) { + colour |= COLOUR_FLAG_INSET; + } - gfx_draw_string_left_centred(dpi, widget->text, gCommonFormatArgs, colour, l + 14, yMid); + gfx_draw_string_left_centred(dpi, widget->text, gCommonFormatArgs, colour, l + 14, yMid); } /** @@ -704,121 +704,121 @@ static void widget_checkbox_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widg */ static void widget_scroll_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - sint32 scrollIndex = window_get_scroll_data_index(w, widgetIndex); - rct_widget *widget = &w->widgets[widgetIndex]; - rct_scroll* scroll = &w->scrolls[scrollIndex]; + // Get the widget + sint32 scrollIndex = window_get_scroll_data_index(w, widgetIndex); + rct_widget *widget = &w->widgets[widgetIndex]; + rct_scroll* scroll = &w->scrolls[scrollIndex]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; - sint32 b = w->y + widget->bottom; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; + sint32 b = w->y + widget->bottom; - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - // Draw the border - gfx_fill_rect_inset(dpi, l, t, r, b, colour, INSET_RECT_F_60); + // Draw the border + gfx_fill_rect_inset(dpi, l, t, r, b, colour, INSET_RECT_F_60); - // Inflate by -1 - l++; - t++; - r--; - b--; + // Inflate by -1 + l++; + t++; + r--; + b--; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - // Horizontal scrollbar - if (scroll->flags & HSCROLLBAR_VISIBLE) - widget_hscrollbar_draw(dpi, scroll, l, b - 10, ((scroll->flags & VSCROLLBAR_VISIBLE) ? r - 11 : r), b, colour); + // Horizontal scrollbar + if (scroll->flags & HSCROLLBAR_VISIBLE) + widget_hscrollbar_draw(dpi, scroll, l, b - 10, ((scroll->flags & VSCROLLBAR_VISIBLE) ? r - 11 : r), b, colour); - // Vertical scrollbar - if (scroll->flags & VSCROLLBAR_VISIBLE) - widget_vscrollbar_draw(dpi, scroll, r - 10, t, r, ((scroll->flags & HSCROLLBAR_VISIBLE) ? b - 11 : b), colour); + // Vertical scrollbar + if (scroll->flags & VSCROLLBAR_VISIBLE) + widget_vscrollbar_draw(dpi, scroll, r - 10, t, r, ((scroll->flags & HSCROLLBAR_VISIBLE) ? b - 11 : b), colour); - // Contents - if (scroll->flags & HSCROLLBAR_VISIBLE) - b -= 11; - if (scroll->flags & VSCROLLBAR_VISIBLE) - r -= 11; + // Contents + if (scroll->flags & HSCROLLBAR_VISIBLE) + b -= 11; + if (scroll->flags & VSCROLLBAR_VISIBLE) + r -= 11; - b++; - r++; + b++; + r++; - // Create a new inner scroll dpi - rct_drawpixelinfo scroll_dpi = *dpi; + // Create a new inner scroll dpi + rct_drawpixelinfo scroll_dpi = *dpi; - // Clip the scroll dpi against the outer dpi - sint32 cl = max(dpi->x, l); - sint32 ct = max(dpi->y, t); - sint32 cr = min(dpi->x + dpi->width, r); - sint32 cb = min(dpi->y + dpi->height, b); + // Clip the scroll dpi against the outer dpi + sint32 cl = max(dpi->x, l); + sint32 ct = max(dpi->y, t); + sint32 cr = min(dpi->x + dpi->width, r); + sint32 cb = min(dpi->y + dpi->height, b); - // Set the respective dpi attributes - scroll_dpi.x = cl - l + scroll->h_left; - scroll_dpi.y = ct - t + scroll->v_top; - scroll_dpi.width = cr - cl; - scroll_dpi.height = cb - ct; - scroll_dpi.bits += cl - dpi->x; - scroll_dpi.bits += (ct - dpi->y) * (dpi->width + dpi->pitch); - scroll_dpi.pitch = (dpi->width + dpi->pitch) - scroll_dpi.width; + // Set the respective dpi attributes + scroll_dpi.x = cl - l + scroll->h_left; + scroll_dpi.y = ct - t + scroll->v_top; + scroll_dpi.width = cr - cl; + scroll_dpi.height = cb - ct; + scroll_dpi.bits += cl - dpi->x; + scroll_dpi.bits += (ct - dpi->y) * (dpi->width + dpi->pitch); + scroll_dpi.pitch = (dpi->width + dpi->pitch) - scroll_dpi.width; - // Draw the scroll contents - if (scroll_dpi.width > 0 && scroll_dpi.height > 0) - window_event_scroll_paint_call(w, &scroll_dpi, scrollIndex); + // Draw the scroll contents + if (scroll_dpi.width > 0 && scroll_dpi.height > 0) + window_event_scroll_paint_call(w, &scroll_dpi, scrollIndex); } static void widget_hscrollbar_draw(rct_drawpixelinfo *dpi, rct_scroll *scroll, sint32 l, sint32 t, sint32 r, sint32 b, sint32 colour) { - colour &= 0x7F; - // Trough - gfx_fill_rect(dpi, l + 10, t, r - 10, b, ColourMapA[colour].lighter); - gfx_fill_rect(dpi, l + 10, t, r - 10, b, 0x1000000 | ColourMapA[colour].mid_dark); - gfx_fill_rect(dpi, l + 10, t + 2, r - 10, t + 2, ColourMapA[colour].mid_dark); - gfx_fill_rect(dpi, l + 10, t + 3, r - 10, t + 3, ColourMapA[colour].lighter); - gfx_fill_rect(dpi, l + 10, t + 7, r - 10, t + 7, ColourMapA[colour].mid_dark); - gfx_fill_rect(dpi, l + 10, t + 8, r - 10, t + 8, ColourMapA[colour].lighter); + colour &= 0x7F; + // Trough + gfx_fill_rect(dpi, l + 10, t, r - 10, b, ColourMapA[colour].lighter); + gfx_fill_rect(dpi, l + 10, t, r - 10, b, 0x1000000 | ColourMapA[colour].mid_dark); + gfx_fill_rect(dpi, l + 10, t + 2, r - 10, t + 2, ColourMapA[colour].mid_dark); + gfx_fill_rect(dpi, l + 10, t + 3, r - 10, t + 3, ColourMapA[colour].lighter); + gfx_fill_rect(dpi, l + 10, t + 7, r - 10, t + 7, ColourMapA[colour].mid_dark); + gfx_fill_rect(dpi, l + 10, t + 8, r - 10, t + 8, ColourMapA[colour].lighter); - // Left button - gfx_fill_rect_inset(dpi, l, t, l + 9, b, colour, ((scroll->flags & HSCROLLBAR_LEFT_PRESSED) ? INSET_RECT_FLAG_BORDER_INSET : 0)); - gfx_draw_string(dpi, (char*)BlackLeftArrowString, COLOUR_BLACK, l + 1, t); + // Left button + gfx_fill_rect_inset(dpi, l, t, l + 9, b, colour, ((scroll->flags & HSCROLLBAR_LEFT_PRESSED) ? INSET_RECT_FLAG_BORDER_INSET : 0)); + gfx_draw_string(dpi, (char*)BlackLeftArrowString, COLOUR_BLACK, l + 1, t); - // Thumb - gfx_fill_rect_inset(dpi, - max(l + 10, l + scroll->h_thumb_left - 1), t, - min(r - 10, l + scroll->h_thumb_right - 1), b, - colour, ((scroll->flags & HSCROLLBAR_THUMB_PRESSED) ? INSET_RECT_FLAG_BORDER_INSET : 0)); + // Thumb + gfx_fill_rect_inset(dpi, + max(l + 10, l + scroll->h_thumb_left - 1), t, + min(r - 10, l + scroll->h_thumb_right - 1), b, + colour, ((scroll->flags & HSCROLLBAR_THUMB_PRESSED) ? INSET_RECT_FLAG_BORDER_INSET : 0)); - // Right button - gfx_fill_rect_inset(dpi, r - 9, t, r, b, colour, ((scroll->flags & HSCROLLBAR_RIGHT_PRESSED) ? INSET_RECT_FLAG_BORDER_INSET : 0)); - gfx_draw_string(dpi, (char*)BlackRightArrowString, COLOUR_BLACK, r - 6, t); + // Right button + gfx_fill_rect_inset(dpi, r - 9, t, r, b, colour, ((scroll->flags & HSCROLLBAR_RIGHT_PRESSED) ? INSET_RECT_FLAG_BORDER_INSET : 0)); + gfx_draw_string(dpi, (char*)BlackRightArrowString, COLOUR_BLACK, r - 6, t); } static void widget_vscrollbar_draw(rct_drawpixelinfo *dpi, rct_scroll *scroll, sint32 l, sint32 t, sint32 r, sint32 b, sint32 colour) { - colour &= 0x7F; - // Trough - gfx_fill_rect(dpi, l, t + 10, r, b - 10, ColourMapA[colour].lighter); - gfx_fill_rect(dpi, l, t + 10, r, b - 10, 0x1000000 | ColourMapA[colour].mid_dark); - gfx_fill_rect(dpi, l + 2, t + 10, l + 2, b - 10, ColourMapA[colour].mid_dark); - gfx_fill_rect(dpi, l + 3, t + 10, l + 3, b - 10, ColourMapA[colour].lighter); - gfx_fill_rect(dpi, l + 7, t + 10, l + 7, b - 10, ColourMapA[colour].mid_dark); - gfx_fill_rect(dpi, l + 8, t + 10, l + 8, b - 10, ColourMapA[colour].lighter); + colour &= 0x7F; + // Trough + gfx_fill_rect(dpi, l, t + 10, r, b - 10, ColourMapA[colour].lighter); + gfx_fill_rect(dpi, l, t + 10, r, b - 10, 0x1000000 | ColourMapA[colour].mid_dark); + gfx_fill_rect(dpi, l + 2, t + 10, l + 2, b - 10, ColourMapA[colour].mid_dark); + gfx_fill_rect(dpi, l + 3, t + 10, l + 3, b - 10, ColourMapA[colour].lighter); + gfx_fill_rect(dpi, l + 7, t + 10, l + 7, b - 10, ColourMapA[colour].mid_dark); + gfx_fill_rect(dpi, l + 8, t + 10, l + 8, b - 10, ColourMapA[colour].lighter); - // Up button - gfx_fill_rect_inset(dpi, l, t, r, t + 9, colour, ((scroll->flags & VSCROLLBAR_UP_PRESSED) ? INSET_RECT_FLAG_BORDER_INSET : 0)); - gfx_draw_string(dpi, (char*)BlackUpArrowString, COLOUR_BLACK, l + 1, t - 1); + // Up button + gfx_fill_rect_inset(dpi, l, t, r, t + 9, colour, ((scroll->flags & VSCROLLBAR_UP_PRESSED) ? INSET_RECT_FLAG_BORDER_INSET : 0)); + gfx_draw_string(dpi, (char*)BlackUpArrowString, COLOUR_BLACK, l + 1, t - 1); - // Thumb - gfx_fill_rect_inset(dpi, - l, max(t + 10, t + scroll->v_thumb_top - 1), - r, min(b - 10, t + scroll->v_thumb_bottom - 1), - colour, ((scroll->flags & VSCROLLBAR_THUMB_PRESSED) ? INSET_RECT_FLAG_BORDER_INSET : 0)); + // Thumb + gfx_fill_rect_inset(dpi, + l, max(t + 10, t + scroll->v_thumb_top - 1), + r, min(b - 10, t + scroll->v_thumb_bottom - 1), + colour, ((scroll->flags & VSCROLLBAR_THUMB_PRESSED) ? INSET_RECT_FLAG_BORDER_INSET : 0)); - // Down button - gfx_fill_rect_inset(dpi, l, b - 9, r, b, colour, ((scroll->flags & VSCROLLBAR_DOWN_PRESSED) ? INSET_RECT_FLAG_BORDER_INSET : 0)); - gfx_draw_string(dpi, (char*)BlackDownArrowString, COLOUR_BLACK, l + 1, b - 9); + // Down button + gfx_fill_rect_inset(dpi, l, b - 9, r, b, colour, ((scroll->flags & VSCROLLBAR_DOWN_PRESSED) ? INSET_RECT_FLAG_BORDER_INSET : 0)); + gfx_draw_string(dpi, (char*)BlackDownArrowString, COLOUR_BLACK, l + 1, b - 9); } /** @@ -827,298 +827,298 @@ static void widget_vscrollbar_draw(rct_drawpixelinfo *dpi, rct_scroll *scroll, s */ static void widget_draw_image(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Get the image - sint32 image = widget->image; - if (image == SPR_NONE) - return; + // Get the image + sint32 image = widget->image; + if (image == SPR_NONE) + return; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; - // Get the colour - uint8 colour = NOT_TRANSLUCENT(w->colours[widget->colour]); + // Get the colour + uint8 colour = NOT_TRANSLUCENT(w->colours[widget->colour]); - if (widget->type == WWT_4 || widget->type == WWT_COLOURBTN || widget->type == WWT_TRNBTN || widget->type == WWT_TAB) - if (widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex)) - image++; + if (widget->type == WWT_4 || widget->type == WWT_COLOURBTN || widget->type == WWT_TRNBTN || widget->type == WWT_TAB) + if (widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex)) + image++; - if (widget_is_disabled(w, widgetIndex)) { - // Draw greyed out (light border bottom right shadow) - colour = w->colours[widget->colour]; - colour = ColourMapA[NOT_TRANSLUCENT(colour)].lighter; - gfx_draw_sprite_solid(dpi, image, l + 1, t + 1, colour); + if (widget_is_disabled(w, widgetIndex)) { + // Draw greyed out (light border bottom right shadow) + colour = w->colours[widget->colour]; + colour = ColourMapA[NOT_TRANSLUCENT(colour)].lighter; + gfx_draw_sprite_solid(dpi, image, l + 1, t + 1, colour); - // Draw greyed out (dark) - colour = w->colours[widget->colour]; - colour = ColourMapA[NOT_TRANSLUCENT(colour)].mid_light; - gfx_draw_sprite_solid(dpi, image, l, t, colour); - } else { - if (image & 0x80000000) { - // ? - } + // Draw greyed out (dark) + colour = w->colours[widget->colour]; + colour = ColourMapA[NOT_TRANSLUCENT(colour)].mid_light; + gfx_draw_sprite_solid(dpi, image, l, t, colour); + } else { + if (image & 0x80000000) { + // ? + } - if (image & 0x40000000) - image &= ~0x40000000; - else - image |= colour << 19; + if (image & 0x40000000) + image &= ~0x40000000; + else + image |= colour << 19; - gfx_draw_sprite(dpi, image, l, t, 0); - } + gfx_draw_sprite(dpi, image, l, t, 0); + } } sint32 widget_is_enabled(rct_window *w, rct_widgetindex widgetIndex) { - return (w->enabled_widgets & (1LL << widgetIndex)) ? 1 : 0; + return (w->enabled_widgets & (1LL << widgetIndex)) ? 1 : 0; } sint32 widget_is_disabled(rct_window *w, rct_widgetindex widgetIndex) { - return (w->disabled_widgets & (1LL << widgetIndex)) ? 1 : 0; + return (w->disabled_widgets & (1LL << widgetIndex)) ? 1 : 0; } sint32 widget_is_pressed(rct_window *w, rct_widgetindex widgetIndex) { - if (w->pressed_widgets & (1LL << widgetIndex)) { - return 1; - } - if (input_get_state() == INPUT_STATE_WIDGET_PRESSED || input_get_state() == INPUT_STATE_DROPDOWN_ACTIVE) { - if (!(input_test_flag(INPUT_FLAG_WIDGET_PRESSED))) return 0; - if (gPressedWidget.window_classification != w->classification) return 0; - if (gPressedWidget.window_number != w->number) return 0; - if (gPressedWidget.widget_index != widgetIndex) return 0; - return 1; - } - return 0; + if (w->pressed_widgets & (1LL << widgetIndex)) { + return 1; + } + if (input_get_state() == INPUT_STATE_WIDGET_PRESSED || input_get_state() == INPUT_STATE_DROPDOWN_ACTIVE) { + if (!(input_test_flag(INPUT_FLAG_WIDGET_PRESSED))) return 0; + if (gPressedWidget.window_classification != w->classification) return 0; + if (gPressedWidget.window_number != w->number) return 0; + if (gPressedWidget.widget_index != widgetIndex) return 0; + return 1; + } + return 0; } sint32 widget_is_highlighted(rct_window *w, rct_widgetindex widgetIndex) { - if (gHoverWidget.window_classification != w->classification) return 0; - if (gHoverWidget.window_number != w->number) return 0; - if (gHoverWidget.widget_index != widgetIndex) return 0; - return 1; + if (gHoverWidget.window_classification != w->classification) return 0; + if (gHoverWidget.window_number != w->number) return 0; + if (gHoverWidget.widget_index != widgetIndex) return 0; + return 1; } sint32 widget_is_active_tool(rct_window *w, rct_widgetindex widgetIndex) { - if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) - return 0; - if (gCurrentToolWidget.window_classification != w->classification) - return 0; - if (gCurrentToolWidget.window_number != w->number) - return 0; - if (gCurrentToolWidget.widget_index != widgetIndex) - return 0; + if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) + return 0; + if (gCurrentToolWidget.window_classification != w->classification) + return 0; + if (gCurrentToolWidget.window_number != w->number) + return 0; + if (gCurrentToolWidget.widget_index != widgetIndex) + return 0; - return 1; + return 1; } /** * * rct2: 0x006E9F92 - * eax: x / output_x - * ebx: y / output_y - * ecx: output_scroll_area + * eax: x / output_x + * ebx: y / output_y + * ecx: output_scroll_area * edx: scroll_id - * esi: w - * edi: widget + * esi: w + * edi: widget */ void widget_scroll_get_part(rct_window *w, rct_widget *widget, sint32 x, sint32 y, sint32 *output_x, sint32 *output_y, sint32 *output_scroll_area, sint32 *scroll_id) { - rct_widget* iterator = w->widgets; - *scroll_id = 0; - while (++iterator != widget) - { - if (iterator->type == WWT_SCROLL) - { - (*scroll_id)++; - break; - } - } + rct_widget* iterator = w->widgets; + *scroll_id = 0; + while (++iterator != widget) + { + if (iterator->type == WWT_SCROLL) + { + (*scroll_id)++; + break; + } + } - if ((w->scrolls[*scroll_id].flags & HSCROLLBAR_VISIBLE) && y >= (w->y + widget->bottom - 11)) - { - // horizontal scrollbar - sint32 rightOffset = 0; - sint32 iteratorLeft = widget->left + w->x + 10; - sint32 iteratorRight = widget->right + w->x - 10; - if (!(w->scrolls[*scroll_id].flags & VSCROLLBAR_VISIBLE)) - { - rightOffset = 11; - } + if ((w->scrolls[*scroll_id].flags & HSCROLLBAR_VISIBLE) && y >= (w->y + widget->bottom - 11)) + { + // horizontal scrollbar + sint32 rightOffset = 0; + sint32 iteratorLeft = widget->left + w->x + 10; + sint32 iteratorRight = widget->right + w->x - 10; + if (!(w->scrolls[*scroll_id].flags & VSCROLLBAR_VISIBLE)) + { + rightOffset = 11; + } - if (x <= iteratorLeft) - { - *output_scroll_area = SCROLL_PART_HSCROLLBAR_LEFT; - } - else if (x >= iteratorRight + rightOffset) - { - *output_scroll_area = SCROLL_PART_NONE; - } - else if (x >= iteratorRight + rightOffset - 10) - { - *output_scroll_area = SCROLL_PART_HSCROLLBAR_RIGHT; - } - else if (x < (widget->left + w->x + w->scrolls[*scroll_id].h_thumb_left)) - { - *output_scroll_area = SCROLL_PART_HSCROLLBAR_LEFT_TROUGH; - } - else if (x >(widget->left + w->x + w->scrolls[*scroll_id].h_thumb_right)) - { - *output_scroll_area = SCROLL_PART_HSCROLLBAR_RIGHT_TROUGH; - } - else - { - *output_scroll_area = SCROLL_PART_HSCROLLBAR_THUMB; - } - } - else if ((w->scrolls[*scroll_id].flags & VSCROLLBAR_VISIBLE) && (x >= w->x + widget->right - 11)) - { - // vertical scrollbar - sint32 bottomOffset = 0; - sint32 iteratorTop = widget->top + w->y + 10; - sint32 iteratorBottom = widget->bottom + w->y; - if (w->scrolls[*scroll_id].flags & HSCROLLBAR_VISIBLE) - { - bottomOffset = 11; - } + if (x <= iteratorLeft) + { + *output_scroll_area = SCROLL_PART_HSCROLLBAR_LEFT; + } + else if (x >= iteratorRight + rightOffset) + { + *output_scroll_area = SCROLL_PART_NONE; + } + else if (x >= iteratorRight + rightOffset - 10) + { + *output_scroll_area = SCROLL_PART_HSCROLLBAR_RIGHT; + } + else if (x < (widget->left + w->x + w->scrolls[*scroll_id].h_thumb_left)) + { + *output_scroll_area = SCROLL_PART_HSCROLLBAR_LEFT_TROUGH; + } + else if (x >(widget->left + w->x + w->scrolls[*scroll_id].h_thumb_right)) + { + *output_scroll_area = SCROLL_PART_HSCROLLBAR_RIGHT_TROUGH; + } + else + { + *output_scroll_area = SCROLL_PART_HSCROLLBAR_THUMB; + } + } + else if ((w->scrolls[*scroll_id].flags & VSCROLLBAR_VISIBLE) && (x >= w->x + widget->right - 11)) + { + // vertical scrollbar + sint32 bottomOffset = 0; + sint32 iteratorTop = widget->top + w->y + 10; + sint32 iteratorBottom = widget->bottom + w->y; + if (w->scrolls[*scroll_id].flags & HSCROLLBAR_VISIBLE) + { + bottomOffset = 11; + } - if (y <= iteratorTop) - { - *output_scroll_area = SCROLL_PART_VSCROLLBAR_TOP; - } - else if (y >= (iteratorBottom - bottomOffset)) - { - *output_scroll_area = SCROLL_PART_NONE; - } - else if (y >= (iteratorBottom - bottomOffset - 10)) - { - *output_scroll_area = SCROLL_PART_VSCROLLBAR_BOTTOM; - } - else if (y < (widget->top + w->y + w->scrolls[*scroll_id].v_thumb_top)) - { - *output_scroll_area = SCROLL_PART_VSCROLLBAR_TOP_TROUGH; - } - else if (y >(widget->top + w->y + w->scrolls[*scroll_id].v_thumb_bottom)) - { - *output_scroll_area = SCROLL_PART_VSCROLLBAR_BOTTOM_TROUGH; - } - else - { - *output_scroll_area = SCROLL_PART_VSCROLLBAR_THUMB; - } - } - else - { - //view - *output_scroll_area = SCROLL_PART_VIEW; - *output_x = x - widget->left; - *output_y = y - widget->top; - *output_x -= w->x; - *output_y -= w->y; - if (*output_x <= 0 || *output_y <= 0) - { - *output_scroll_area = SCROLL_PART_NONE; - } - else - { - *output_x += w->scrolls[*scroll_id].h_left - 1; - *output_y += w->scrolls[*scroll_id].v_top - 1; - } - } + if (y <= iteratorTop) + { + *output_scroll_area = SCROLL_PART_VSCROLLBAR_TOP; + } + else if (y >= (iteratorBottom - bottomOffset)) + { + *output_scroll_area = SCROLL_PART_NONE; + } + else if (y >= (iteratorBottom - bottomOffset - 10)) + { + *output_scroll_area = SCROLL_PART_VSCROLLBAR_BOTTOM; + } + else if (y < (widget->top + w->y + w->scrolls[*scroll_id].v_thumb_top)) + { + *output_scroll_area = SCROLL_PART_VSCROLLBAR_TOP_TROUGH; + } + else if (y >(widget->top + w->y + w->scrolls[*scroll_id].v_thumb_bottom)) + { + *output_scroll_area = SCROLL_PART_VSCROLLBAR_BOTTOM_TROUGH; + } + else + { + *output_scroll_area = SCROLL_PART_VSCROLLBAR_THUMB; + } + } + else + { + //view + *output_scroll_area = SCROLL_PART_VIEW; + *output_x = x - widget->left; + *output_y = y - widget->top; + *output_x -= w->x; + *output_y -= w->y; + if (*output_x <= 0 || *output_y <= 0) + { + *output_scroll_area = SCROLL_PART_NONE; + } + else + { + *output_x += w->scrolls[*scroll_id].h_left - 1; + *output_y += w->scrolls[*scroll_id].v_top - 1; + } + } } void widget_set_enabled(rct_window *w, rct_widgetindex widgetIndex, bool enabled) { - if (enabled) { - w->enabled_widgets |= (1ULL << widgetIndex); - w->disabled_widgets &= ~(1ULL << widgetIndex); - } - else { - w->enabled_widgets &= ~(1ULL << widgetIndex); - w->disabled_widgets |= (1ULL << widgetIndex); - } + if (enabled) { + w->enabled_widgets |= (1ULL << widgetIndex); + w->disabled_widgets &= ~(1ULL << widgetIndex); + } + else { + w->enabled_widgets &= ~(1ULL << widgetIndex); + w->disabled_widgets |= (1ULL << widgetIndex); + } } void widget_set_checkbox_value(rct_window *w, rct_widgetindex widgetIndex, sint32 value) { - if (value) - w->pressed_widgets |= (1ULL << widgetIndex); - else - w->pressed_widgets &= ~(1ULL << widgetIndex); + if (value) + w->pressed_widgets |= (1ULL << widgetIndex); + else + w->pressed_widgets &= ~(1ULL << widgetIndex); } static void widget_text_box_draw(rct_drawpixelinfo *dpi, rct_window *w, rct_widgetindex widgetIndex) { - sint32 no_lines = 0; - sint32 font_height = 0; - char wrapped_string[TEXT_INPUT_SIZE]; + sint32 no_lines = 0; + sint32 font_height = 0; + char wrapped_string[TEXT_INPUT_SIZE]; - // Get the widget - rct_widget *widget = &w->widgets[widgetIndex]; + // Get the widget + rct_widget *widget = &w->widgets[widgetIndex]; - // Resolve the absolute ltrb - sint32 l = w->x + widget->left; - sint32 t = w->y + widget->top; - sint32 r = w->x + widget->right; - sint32 b = w->y + widget->bottom; + // Resolve the absolute ltrb + sint32 l = w->x + widget->left; + sint32 t = w->y + widget->top; + sint32 r = w->x + widget->right; + sint32 b = w->y + widget->bottom; - // Get the colour - uint8 colour = w->colours[widget->colour]; + // Get the colour + uint8 colour = w->colours[widget->colour]; - bool active = w->classification == gCurrentTextBox.window.classification && - w->number == gCurrentTextBox.window.number && - widgetIndex == gCurrentTextBox.widget_index; + bool active = w->classification == gCurrentTextBox.window.classification && + w->number == gCurrentTextBox.window.number && + widgetIndex == gCurrentTextBox.widget_index; - //gfx_fill_rect_inset(dpi, l, t, r, b, colour, 0x20 | (!active ? 0x40 : 0x00)); - gfx_fill_rect_inset(dpi, l, t, r, b, colour, INSET_RECT_F_60); + //gfx_fill_rect_inset(dpi, l, t, r, b, colour, 0x20 | (!active ? 0x40 : 0x00)); + gfx_fill_rect_inset(dpi, l, t, r, b, colour, INSET_RECT_F_60); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gCurrentFontFlags = 0; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gCurrentFontFlags = 0; - if (!active || gTextInput == NULL) { + if (!active || gTextInput == NULL) { - if (w->widgets[widgetIndex].text != 0) { - safe_strcpy(wrapped_string, w->widgets[widgetIndex].string, 512); - gfx_wrap_string(wrapped_string, r - l - 5, &no_lines, &font_height); - gfx_draw_string(dpi, wrapped_string, w->colours[1], l + 2, t); - } - return; - } + if (w->widgets[widgetIndex].text != 0) { + safe_strcpy(wrapped_string, w->widgets[widgetIndex].string, 512); + gfx_wrap_string(wrapped_string, r - l - 5, &no_lines, &font_height); + gfx_draw_string(dpi, wrapped_string, w->colours[1], l + 2, t); + } + return; + } - safe_strcpy(wrapped_string, gTextBoxInput, TEXT_INPUT_SIZE); + safe_strcpy(wrapped_string, gTextBoxInput, TEXT_INPUT_SIZE); - // String length needs to add 12 either side of box - // +13 for cursor when max length. - gfx_wrap_string(wrapped_string, r - l - 5 - 6, &no_lines, &font_height); + // String length needs to add 12 either side of box + // +13 for cursor when max length. + gfx_wrap_string(wrapped_string, r - l - 5 - 6, &no_lines, &font_height); - gfx_draw_string(dpi, wrapped_string, w->colours[1], l + 2, t); + gfx_draw_string(dpi, wrapped_string, w->colours[1], l + 2, t); - size_t string_length = get_string_size(wrapped_string) - 1; + size_t string_length = get_string_size(wrapped_string) - 1; - // Make a copy of the string for measuring the width. - char temp_string[TEXT_INPUT_SIZE] = { 0 }; - memcpy(temp_string, wrapped_string, min(string_length, gTextInput->SelectionStart)); - sint32 cur_x = l + gfx_get_string_width(temp_string) + 3; + // Make a copy of the string for measuring the width. + char temp_string[TEXT_INPUT_SIZE] = { 0 }; + memcpy(temp_string, wrapped_string, min(string_length, gTextInput->SelectionStart)); + sint32 cur_x = l + gfx_get_string_width(temp_string) + 3; - sint32 width = 6; - if ((uint32)gTextInput->SelectionStart < strlen(gTextBoxInput)){ - // Make a new 1 character wide string for measuring the width - // of the character that the cursor is under. - temp_string[1] = '\0'; - temp_string[0] = gTextBoxInput[gTextInput->SelectionStart]; - width = max(gfx_get_string_width(temp_string) - 2, 4); - } + sint32 width = 6; + if ((uint32)gTextInput->SelectionStart < strlen(gTextBoxInput)){ + // Make a new 1 character wide string for measuring the width + // of the character that the cursor is under. + temp_string[1] = '\0'; + temp_string[0] = gTextBoxInput[gTextInput->SelectionStart]; + width = max(gfx_get_string_width(temp_string) - 2, 4); + } - if (gTextBoxFrameNo <= 15){ - colour = ColourMapA[w->colours[1]].mid_light; - gfx_fill_rect(dpi, cur_x, t + 9, cur_x + width, t + 9, colour + 5); - } + if (gTextBoxFrameNo <= 15){ + colour = ColourMapA[w->colours[1]].mid_light; + gfx_fill_rect(dpi, cur_x, t + 9, cur_x + width, t + 9, colour + 5); + } } diff --git a/src/openrct2/interface/widget.h b/src/openrct2/interface/widget.h index a301f9ce65..74d9dda5dd 100644 --- a/src/openrct2/interface/widget.h +++ b/src/openrct2/interface/widget.h @@ -20,41 +20,41 @@ #include "window.h" typedef enum { - WWT_EMPTY = 0, - WWT_FRAME = 1, - WWT_RESIZE = 2, - WWT_IMGBTN = 3, - WWT_4 = 4, // Same as IMGBTN but uses .image + 1 while pressed/active - WWT_5 = 5, - WWT_COLOURBTN = 6, - WWT_TRNBTN = 7, - WWT_TAB = 8, - WWT_FLATBTN = 9, - WWT_DROPDOWN_BUTTON = 10, - WWT_11, // Same as dropdown button but uses .text + 1 while pressed/active - WWT_12, // looks like a normal label to me - WWT_13, - WWT_14, - WWT_SPINNER = 15, - WWT_DROPDOWN = 16, - WWT_VIEWPORT = 17, - WWT_18, - WWT_GROUPBOX = 19, - WWT_CAPTION = 20, - WWT_CLOSEBOX = 21, - WWT_SCROLL = 22, - WWT_CHECKBOX = 23, - WWT_24, - WWT_25, - WWT_TEXT_BOX = 27, - WWT_LAST = 26, + WWT_EMPTY = 0, + WWT_FRAME = 1, + WWT_RESIZE = 2, + WWT_IMGBTN = 3, + WWT_4 = 4, // Same as IMGBTN but uses .image + 1 while pressed/active + WWT_5 = 5, + WWT_COLOURBTN = 6, + WWT_TRNBTN = 7, + WWT_TAB = 8, + WWT_FLATBTN = 9, + WWT_DROPDOWN_BUTTON = 10, + WWT_11, // Same as dropdown button but uses .text + 1 while pressed/active + WWT_12, // looks like a normal label to me + WWT_13, + WWT_14, + WWT_SPINNER = 15, + WWT_DROPDOWN = 16, + WWT_VIEWPORT = 17, + WWT_18, + WWT_GROUPBOX = 19, + WWT_CAPTION = 20, + WWT_CLOSEBOX = 21, + WWT_SCROLL = 22, + WWT_CHECKBOX = 23, + WWT_24, + WWT_25, + WWT_TEXT_BOX = 27, + WWT_LAST = 26, } WINDOW_WIDGET_TYPES; -#define WIDGETS_END WWT_LAST, 0, 0, 0, 0, 0, 0, 0 +#define WIDGETS_END WWT_LAST, 0, 0, 0, 0, 0, 0, 0 enum { - SCROLL_HORIZONTAL = (1 << 0), - SCROLL_VERTICAL = (1 << 1), - SCROLL_BOTH = SCROLL_HORIZONTAL | SCROLL_VERTICAL + SCROLL_HORIZONTAL = (1 << 0), + SCROLL_VERTICAL = (1 << 1), + SCROLL_BOTH = SCROLL_HORIZONTAL | SCROLL_VERTICAL }; void widget_scroll_update_thumbs(rct_window *w, rct_widgetindex widget_index); diff --git a/src/openrct2/interface/window.c b/src/openrct2/interface/window.c index fb38ff5dcf..a5e5bbe152 100644 --- a/src/openrct2/interface/window.c +++ b/src/openrct2/interface/window.c @@ -33,9 +33,9 @@ #include "window.h" #include "../config/Config.h" -#define RCT2_FIRST_WINDOW (g_window_list) -#define RCT2_LAST_WINDOW (gWindowNextSlot - 1) -#define RCT2_NEW_WINDOW (gWindowNextSlot) +#define RCT2_FIRST_WINDOW (g_window_list) +#define RCT2_LAST_WINDOW (gWindowNextSlot - 1) +#define RCT2_NEW_WINDOW (gWindowNextSlot) rct_window g_window_list[WINDOW_LIMIT_MAX + WINDOW_LIMIT_RESERVED]; rct_window * gWindowFirst; @@ -59,23 +59,23 @@ colour_t gCurrentWindowColours[4]; // converted from uint16 values at 0x009A41EC - 0x009A4230 // these are percentage coordinates of the viewport to center to, if a window is obscuring a location, the next is tried float window_scroll_locations[][2] = { - {0.5f, 0.5f}, - {0.75f, 0.5f}, - {0.25f, 0.5f}, - {0.5f, 0.75f}, - {0.5f, 0.25f}, - {0.75f, 0.75f}, - {0.75f, 0.25f}, - {0.25f, 0.75f}, - {0.25f, 0.25f}, - {0.125f, 0.5f}, - {0.875f, 0.5f}, - {0.5f, 0.125f}, - {0.5f, 0.875f}, - {0.875f, 0.125f}, - {0.875f, 0.875f}, - {0.125f, 0.875f}, - {0.125f, 0.125f}, + {0.5f, 0.5f}, + {0.75f, 0.5f}, + {0.25f, 0.5f}, + {0.5f, 0.75f}, + {0.5f, 0.25f}, + {0.75f, 0.75f}, + {0.75f, 0.25f}, + {0.25f, 0.75f}, + {0.25f, 0.25f}, + {0.125f, 0.5f}, + {0.875f, 0.5f}, + {0.5f, 0.125f}, + {0.5f, 0.875f}, + {0.875f, 0.125f}, + {0.875f, 0.875f}, + {0.125f, 0.875f}, + {0.125f, 0.125f}, }; static bool window_fits_between_others(sint32 x, sint32 y, sint32 width, sint32 height); @@ -85,58 +85,58 @@ static void window_draw_single(rct_drawpixelinfo *dpi, rct_window *w, sint32 lef static sint32 window_get_widget_index(rct_window *w, rct_widget *widget) { - sint32 i = 0; - for (rct_widget *widget2 = w->widgets; widget2->type != WWT_LAST; widget2++, i++) - if (widget == widget2) - return i; - return -1; + sint32 i = 0; + for (rct_widget *widget2 = w->widgets; widget2->type != WWT_LAST; widget2++, i++) + if (widget == widget2) + return i; + return -1; } static sint32 window_get_scroll_index(rct_window *w, sint32 targetWidgetIndex) { - if (w->widgets[targetWidgetIndex].type != WWT_SCROLL) - return -1; + if (w->widgets[targetWidgetIndex].type != WWT_SCROLL) + return -1; - sint32 scrollIndex = 0; - rct_widgetindex widgetIndex = 0; - for (rct_widget *widget = w->widgets; widget->type != WWT_LAST; widget++, widgetIndex++) { - if (widgetIndex == targetWidgetIndex) - break; - if (widget->type == WWT_SCROLL) - scrollIndex++; - } + sint32 scrollIndex = 0; + rct_widgetindex widgetIndex = 0; + for (rct_widget *widget = w->widgets; widget->type != WWT_LAST; widget++, widgetIndex++) { + if (widgetIndex == targetWidgetIndex) + break; + if (widget->type == WWT_SCROLL) + scrollIndex++; + } - return scrollIndex; + return scrollIndex; } static sint32 window_get_scroll_index_from_widget(rct_window *w, rct_widget *widget) { - if (widget->type != WWT_SCROLL) - return -1; + if (widget->type != WWT_SCROLL) + return -1; - sint32 scrollIndex = 0; - for (rct_widget *widget2 = w->widgets; widget2->type != WWT_LAST; widget2++) { - if (widget2 == widget) - break; - if (widget2->type == WWT_SCROLL) - scrollIndex++; - } + sint32 scrollIndex = 0; + for (rct_widget *widget2 = w->widgets; widget2->type != WWT_LAST; widget2++) { + if (widget2 == widget) + break; + if (widget2->type == WWT_SCROLL) + scrollIndex++; + } - return scrollIndex; + return scrollIndex; } static rct_widget *window_get_scroll_widget(rct_window *w, sint32 scrollIndex) { - for (rct_widget *widget = w->widgets; widget->type != WWT_LAST; widget++) { - if (widget->type != WWT_SCROLL) - continue; + for (rct_widget *widget = w->widgets; widget->type != WWT_LAST; widget++) { + if (widget->type != WWT_SCROLL) + continue; - if (scrollIndex == 0) - return widget; - scrollIndex--; - } + if (scrollIndex == 0) + return widget; + scrollIndex--; + } - return NULL; + return NULL; } /** @@ -145,16 +145,16 @@ static rct_widget *window_get_scroll_widget(rct_window *w, sint32 scrollIndex) */ void window_dispatch_update_all() { - // gTooltipNotShownTicks++; - for (rct_window *w = RCT2_LAST_WINDOW; w >= g_window_list; w--) - window_event_update_call(w); + // gTooltipNotShownTicks++; + for (rct_window *w = RCT2_LAST_WINDOW; w >= g_window_list; w--) + window_event_update_call(w); } void window_update_all_viewports() { - for (rct_window *w = g_window_list; w < RCT2_NEW_WINDOW; w++) - if (w->viewport != NULL && window_is_visible(w)) - viewport_update_position(w); + for (rct_window *w = g_window_list; w < RCT2_NEW_WINDOW; w++) + if (w->viewport != NULL && window_is_visible(w)) + viewport_update_position(w); } /** @@ -163,28 +163,28 @@ void window_update_all_viewports() */ void window_update_all() { - // gfx_draw_all_dirty_blocks(); - // window_update_all_viewports(); - // gfx_draw_all_dirty_blocks(); + // gfx_draw_all_dirty_blocks(); + // window_update_all_viewports(); + // gfx_draw_all_dirty_blocks(); - // 1000 tick update - gWindowUpdateTicks += gTicksSinceLastUpdate; - if (gWindowUpdateTicks >= 1000) { - gWindowUpdateTicks = 0; - for (rct_window* w = RCT2_LAST_WINDOW; w >= g_window_list; w--) - window_event_unknown_07_call(w); - } + // 1000 tick update + gWindowUpdateTicks += gTicksSinceLastUpdate; + if (gWindowUpdateTicks >= 1000) { + gWindowUpdateTicks = 0; + for (rct_window* w = RCT2_LAST_WINDOW; w >= g_window_list; w--) + window_event_unknown_07_call(w); + } - // Border flash invalidation - for (rct_window* w = RCT2_LAST_WINDOW; w >= g_window_list; w--) { - if (w->flags & WF_WHITE_BORDER_MASK) { - w->flags -= WF_WHITE_BORDER_ONE; - if (!(w->flags & WF_WHITE_BORDER_MASK)) - window_invalidate(w); - } - } + // Border flash invalidation + for (rct_window* w = RCT2_LAST_WINDOW; w >= g_window_list; w--) { + if (w->flags & WF_WHITE_BORDER_MASK) { + w->flags -= WF_WHITE_BORDER_ONE; + if (!(w->flags & WF_WHITE_BORDER_MASK)) + window_invalidate(w); + } + } - window_all_wheel_input(); + window_all_wheel_input(); } /** @@ -193,26 +193,26 @@ void window_update_all() */ static void window_scroll_wheel_input(rct_window *w, sint32 scrollIndex, sint32 wheel) { - rct_scroll *scroll = &w->scrolls[scrollIndex]; - rct_widget *widget = window_get_scroll_widget(w, scrollIndex); - rct_widgetindex widgetIndex = window_get_widget_index(w, widget); + rct_scroll *scroll = &w->scrolls[scrollIndex]; + rct_widget *widget = window_get_scroll_widget(w, scrollIndex); + rct_widgetindex widgetIndex = window_get_widget_index(w, widget); - if (scroll->flags & VSCROLLBAR_VISIBLE) { - sint32 size = widget->bottom - widget->top - 1; - if (scroll->flags & HSCROLLBAR_VISIBLE) - size -= 11; - size = max(0, scroll->v_bottom - size); - scroll->v_top = min(max(0, scroll->v_top + wheel), size); - } else { - sint32 size = widget->right - widget->left - 1; - if (scroll->flags & VSCROLLBAR_VISIBLE) - size -= 11; - size = max(0, scroll->h_right - size); - scroll->h_left = min(max(0, scroll->h_left + wheel), size); - } + if (scroll->flags & VSCROLLBAR_VISIBLE) { + sint32 size = widget->bottom - widget->top - 1; + if (scroll->flags & HSCROLLBAR_VISIBLE) + size -= 11; + size = max(0, scroll->v_bottom - size); + scroll->v_top = min(max(0, scroll->v_top + wheel), size); + } else { + sint32 size = widget->right - widget->left - 1; + if (scroll->flags & VSCROLLBAR_VISIBLE) + size -= 11; + size = max(0, scroll->h_right - size); + scroll->h_left = min(max(0, scroll->h_left + wheel), size); + } - widget_scroll_update_thumbs(w, widgetIndex); - widget_invalidate(w, widgetIndex); + widget_scroll_update_thumbs(w, widgetIndex); + widget_invalidate(w, widgetIndex); } /** @@ -221,21 +221,21 @@ static void window_scroll_wheel_input(rct_window *w, sint32 scrollIndex, sint32 */ static sint32 window_wheel_input(rct_window *w, sint32 wheel) { - sint32 i = 0; - for (rct_widget *widget = w->widgets; widget->type != WWT_LAST; widget++) { - if (widget->type != WWT_SCROLL) - continue; + sint32 i = 0; + for (rct_widget *widget = w->widgets; widget->type != WWT_LAST; widget++) { + if (widget->type != WWT_SCROLL) + continue; - // Originally always checked first scroll view, bug maybe? - rct_scroll *scroll = &w->scrolls[i]; - if (scroll->flags & (HSCROLLBAR_VISIBLE | VSCROLLBAR_VISIBLE)) { - window_scroll_wheel_input(w, i, wheel); - return 1; - } - i++; - } + // Originally always checked first scroll view, bug maybe? + rct_scroll *scroll = &w->scrolls[i]; + if (scroll->flags & (HSCROLLBAR_VISIBLE | VSCROLLBAR_VISIBLE)) { + window_scroll_wheel_input(w, i, wheel); + return 1; + } + i++; + } - return 0; + return 0; } /** @@ -244,50 +244,50 @@ static sint32 window_wheel_input(rct_window *w, sint32 wheel) */ static void window_viewport_wheel_input(rct_window *w, sint32 wheel) { - if (gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TITLE_DEMO)) - return; + if (gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TITLE_DEMO)) + return; - if (wheel < 0) - window_zoom_in(w, true); - else if (wheel > 0) - window_zoom_out(w, true); + if (wheel < 0) + window_zoom_in(w, true); + else if (wheel > 0) + window_zoom_out(w, true); } static bool window_other_wheel_input(rct_window *w, rct_widgetindex widgetIndex, sint32 wheel) { - // HACK: Until we have a new window system that allows us to add new events like mouse wheel easily, - // this selective approach will have to do. + // HACK: Until we have a new window system that allows us to add new events like mouse wheel easily, + // this selective approach will have to do. - // Allow mouse wheel scrolling to increment or decrement the land tool size for various windows - sint32 previewWidgetIndex; - switch (w->classification) { - case WC_WATER: - previewWidgetIndex = WC_WATER__WIDX_PREVIEW; - break; - case WC_CLEAR_SCENERY: - previewWidgetIndex = WC_CLEAR_SCENERY__WIDX_PREVIEW; - break; - case WC_LAND_RIGHTS: - previewWidgetIndex = WC_LAND_RIGHTS__WIDX_PREVIEW; - break; - case WC_LAND: - previewWidgetIndex = WC_LAND__WIDX_PREVIEW; - break; - case WC_MAP: - previewWidgetIndex = WC_MAP__WIDX_LAND_TOOL; - break; - default: - return false; - } + // Allow mouse wheel scrolling to increment or decrement the land tool size for various windows + sint32 previewWidgetIndex; + switch (w->classification) { + case WC_WATER: + previewWidgetIndex = WC_WATER__WIDX_PREVIEW; + break; + case WC_CLEAR_SCENERY: + previewWidgetIndex = WC_CLEAR_SCENERY__WIDX_PREVIEW; + break; + case WC_LAND_RIGHTS: + previewWidgetIndex = WC_LAND_RIGHTS__WIDX_PREVIEW; + break; + case WC_LAND: + previewWidgetIndex = WC_LAND__WIDX_PREVIEW; + break; + case WC_MAP: + previewWidgetIndex = WC_MAP__WIDX_LAND_TOOL; + break; + default: + return false; + } - // Preview / Increment / Decrement - if (widgetIndex >= previewWidgetIndex && widgetIndex < previewWidgetIndex + 3) { - rct_widgetindex buttonWidgetIndex = wheel < 0 ? previewWidgetIndex + 2 : previewWidgetIndex + 1; - window_event_mouse_up_call(w, buttonWidgetIndex); - return true; - } + // Preview / Increment / Decrement + if (widgetIndex >= previewWidgetIndex && widgetIndex < previewWidgetIndex + 3) { + rct_widgetindex buttonWidgetIndex = wheel < 0 ? previewWidgetIndex + 2 : previewWidgetIndex + 1; + window_event_mouse_up_call(w, buttonWidgetIndex); + return true; + } - return false; + return false; } /** @@ -296,92 +296,92 @@ static bool window_other_wheel_input(rct_window *w, rct_widgetindex widgetIndex, */ static void window_all_wheel_input() { - // Get wheel value - sint32 raw = context_get_cursor_state()->wheel; - sint32 wheel = 0; - while (1) { - raw -= 120; - if (raw < 0) - break; - wheel -= 17; - } - raw += 120; - while (1) { - raw += 120; - if (raw > 0) - break; - wheel += 17; - } - raw -= 120; + // Get wheel value + sint32 raw = context_get_cursor_state()->wheel; + sint32 wheel = 0; + while (1) { + raw -= 120; + if (raw < 0) + break; + wheel -= 17; + } + raw += 120; + while (1) { + raw += 120; + if (raw > 0) + break; + wheel += 17; + } + raw -= 120; - // TODO do something about this hack - CursorState * cursorState = (CursorState *)context_get_cursor_state(); - cursorState->wheel = raw; + // TODO do something about this hack + CursorState * cursorState = (CursorState *)context_get_cursor_state(); + cursorState->wheel = raw; - if (wheel == 0) - return; + if (wheel == 0) + return; - // Check window cursor is over - if (!(input_test_flag(INPUT_FLAG_5))) { - rct_window *w = window_find_from_point(cursorState->x, cursorState->y); - if (w != NULL) { - // Check if main window - if (w->classification == WC_MAIN_WINDOW || w->classification == WC_VIEWPORT) { - window_viewport_wheel_input(w, wheel); - return; - } + // Check window cursor is over + if (!(input_test_flag(INPUT_FLAG_5))) { + rct_window *w = window_find_from_point(cursorState->x, cursorState->y); + if (w != NULL) { + // Check if main window + if (w->classification == WC_MAIN_WINDOW || w->classification == WC_VIEWPORT) { + window_viewport_wheel_input(w, wheel); + return; + } - // Check scroll view, cursor is over - rct_widgetindex widgetIndex = window_find_widget_from_point(w, cursorState->x, cursorState->y); - if (widgetIndex != -1) { - rct_widget *widget = &w->widgets[widgetIndex]; - if (widget->type == WWT_SCROLL) { - sint32 scrollIndex = window_get_scroll_index(w, widgetIndex); - rct_scroll *scroll = &w->scrolls[scrollIndex]; - if (scroll->flags & (HSCROLLBAR_VISIBLE | VSCROLLBAR_VISIBLE)) { - window_scroll_wheel_input(w, window_get_scroll_index(w, widgetIndex), wheel); - return; - } - } else { - if (window_other_wheel_input(w, widgetIndex, wheel)) { - return; - } - } + // Check scroll view, cursor is over + rct_widgetindex widgetIndex = window_find_widget_from_point(w, cursorState->x, cursorState->y); + if (widgetIndex != -1) { + rct_widget *widget = &w->widgets[widgetIndex]; + if (widget->type == WWT_SCROLL) { + sint32 scrollIndex = window_get_scroll_index(w, widgetIndex); + rct_scroll *scroll = &w->scrolls[scrollIndex]; + if (scroll->flags & (HSCROLLBAR_VISIBLE | VSCROLLBAR_VISIBLE)) { + window_scroll_wheel_input(w, window_get_scroll_index(w, widgetIndex), wheel); + return; + } + } else { + if (window_other_wheel_input(w, widgetIndex, wheel)) { + return; + } + } - // Check other scroll views on window - if (window_wheel_input(w, wheel)) - return; - } - } - } + // Check other scroll views on window + if (window_wheel_input(w, wheel)) + return; + } + } + } } static void window_close_surplus(sint32 cap, sint8 avoid_classification) { - sint32 count, i, diff; - //find the amount of windows that are currently open - count = WINDOW_LIMIT_MAX; - for (i = 0; i < WINDOW_LIMIT_MAX; i++) { - if (&g_window_list[i] == RCT2_NEW_WINDOW) { - count = i; - break; - } - } - //difference between amount open and cap = amount to close - diff = count - WINDOW_LIMIT_RESERVED - cap; - for (i = 0; i < diff; i++) { - rct_window *w = NULL; - //iterates through the list until it finds the newest window, or a window that can be closed - for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) { - if (!(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT | WF_NO_AUTO_CLOSE))) - break; - } - //skip window if window matches specified rct_windowclass (as user may be modifying via options) - if (avoid_classification != -1 && w != NULL && w->classification == avoid_classification) { - continue; - } - window_close(w); - } + sint32 count, i, diff; + //find the amount of windows that are currently open + count = WINDOW_LIMIT_MAX; + for (i = 0; i < WINDOW_LIMIT_MAX; i++) { + if (&g_window_list[i] == RCT2_NEW_WINDOW) { + count = i; + break; + } + } + //difference between amount open and cap = amount to close + diff = count - WINDOW_LIMIT_RESERVED - cap; + for (i = 0; i < diff; i++) { + rct_window *w = NULL; + //iterates through the list until it finds the newest window, or a window that can be closed + for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) { + if (!(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT | WF_NO_AUTO_CLOSE))) + break; + } + //skip window if window matches specified rct_windowclass (as user may be modifying via options) + if (avoid_classification != -1 && w != NULL && w->classification == avoid_classification) { + continue; + } + window_close(w); + } } /* @@ -389,15 +389,15 @@ static void window_close_surplus(sint32 cap, sint8 avoid_classification) */ void window_set_window_limit(sint32 value) { - sint32 prev = gConfigGeneral.window_limit; - sint32 val = clamp(WINDOW_LIMIT_MIN, value, WINDOW_LIMIT_MAX); - gConfigGeneral.window_limit = val; - config_save_default(); - // Checks if value decreases and then closes surplus - // windows if one sets a limit lower than the number of windows open - if (val < prev) { - window_close_surplus(val, WC_OPTIONS); - } + sint32 prev = gConfigGeneral.window_limit; + sint32 val = clamp(WINDOW_LIMIT_MIN, value, WINDOW_LIMIT_MAX); + gConfigGeneral.window_limit = val; + config_save_default(); + // Checks if value decreases and then closes surplus + // windows if one sets a limit lower than the number of windows open + if (val < prev) { + window_close_surplus(val, WC_OPTIONS); + } } /** @@ -414,79 +414,79 @@ void window_set_window_limit(sint32 value) */ rct_window *window_create(sint32 x, sint32 y, sint32 width, sint32 height, rct_window_event_list *event_handlers, rct_windowclass cls, uint16 flags) { - // Check if there are any window slots left - // include WINDOW_LIMIT_RESERVED for items such as the main viewport and toolbars to not appear to be counted. - if (RCT2_NEW_WINDOW >= &(g_window_list[gConfigGeneral.window_limit + WINDOW_LIMIT_RESERVED])) { - rct_window *w = NULL; - // Close least recently used window - for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) - if (!(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT | WF_NO_AUTO_CLOSE))) - break; + // Check if there are any window slots left + // include WINDOW_LIMIT_RESERVED for items such as the main viewport and toolbars to not appear to be counted. + if (RCT2_NEW_WINDOW >= &(g_window_list[gConfigGeneral.window_limit + WINDOW_LIMIT_RESERVED])) { + rct_window *w = NULL; + // Close least recently used window + for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) + if (!(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT | WF_NO_AUTO_CLOSE))) + break; - window_close(w); - } + window_close(w); + } - rct_window *w = RCT2_NEW_WINDOW; + rct_window *w = RCT2_NEW_WINDOW; - // Flags - if (flags & WF_STICK_TO_BACK) { - for (; w >= g_window_list + 1; w--) { - if ((w - 1)->flags & WF_STICK_TO_FRONT) - continue; - if ((w - 1)->flags & WF_STICK_TO_BACK) - break; - } - } else if (!(flags & WF_STICK_TO_FRONT)) { - for (; w >= g_window_list + 1; w--) { - if (!((w - 1)->flags & WF_STICK_TO_FRONT)) - break; - } - } + // Flags + if (flags & WF_STICK_TO_BACK) { + for (; w >= g_window_list + 1; w--) { + if ((w - 1)->flags & WF_STICK_TO_FRONT) + continue; + if ((w - 1)->flags & WF_STICK_TO_BACK) + break; + } + } else if (!(flags & WF_STICK_TO_FRONT)) { + for (; w >= g_window_list + 1; w--) { + if (!((w - 1)->flags & WF_STICK_TO_FRONT)) + break; + } + } - // Move w to new window slot - if (w != RCT2_NEW_WINDOW) - *RCT2_NEW_WINDOW = *w; + // Move w to new window slot + if (w != RCT2_NEW_WINDOW) + *RCT2_NEW_WINDOW = *w; - // Setup window - w->classification = cls; - w->var_4B8 = -1; - w->var_4B9 = -1; - w->flags = flags; + // Setup window + w->classification = cls; + w->var_4B8 = -1; + w->var_4B9 = -1; + w->flags = flags; - // Play sounds and flash the window - if (!(flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT))){ - w->flags |= WF_WHITE_BORDER_MASK; - audio_play_sound(SOUND_WINDOW_OPEN, 0, x + (width / 2)); - } + // Play sounds and flash the window + if (!(flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT))){ + w->flags |= WF_WHITE_BORDER_MASK; + audio_play_sound(SOUND_WINDOW_OPEN, 0, x + (width / 2)); + } - w->number = 0; - w->x = x; - w->y = y; - w->width = width; - w->height = height; - w->viewport = NULL; - w->event_handlers = event_handlers; - w->enabled_widgets = 0; - w->disabled_widgets = 0; - w->pressed_widgets = 0; - w->hold_down_widgets = 0; - w->viewport_focus_coordinates.var_480 = 0; - w->viewport_focus_coordinates.x = 0; - w->viewport_focus_coordinates.y = 0; - w->viewport_focus_coordinates.z = 0; - w->viewport_focus_coordinates.rotation = 0; - w->page = 0; - w->var_48C = 0; - w->frame_no = 0; - w->list_information_type = 0; - w->var_492 = 0; - w->selected_tab = 0; - w->var_4AE = 0; - RCT2_NEW_WINDOW++; + w->number = 0; + w->x = x; + w->y = y; + w->width = width; + w->height = height; + w->viewport = NULL; + w->event_handlers = event_handlers; + w->enabled_widgets = 0; + w->disabled_widgets = 0; + w->pressed_widgets = 0; + w->hold_down_widgets = 0; + w->viewport_focus_coordinates.var_480 = 0; + w->viewport_focus_coordinates.x = 0; + w->viewport_focus_coordinates.y = 0; + w->viewport_focus_coordinates.z = 0; + w->viewport_focus_coordinates.rotation = 0; + w->page = 0; + w->var_48C = 0; + w->frame_no = 0; + w->list_information_type = 0; + w->var_492 = 0; + w->selected_tab = 0; + w->var_4AE = 0; + RCT2_NEW_WINDOW++; - colour_scheme_update(w); - window_invalidate(w); - return w; + colour_scheme_update(w); + window_invalidate(w); + return w; } /** @@ -500,18 +500,18 @@ rct_window *window_create(sint32 x, sint32 y, sint32 width, sint32 height, rct_w */ static bool window_fits_on_screen(sint32 x, sint32 y, sint32 width, sint32 height) { - uint16 screenWidth = context_get_width(); - uint16 screenHeight = context_get_height(); - sint32 unk; + uint16 screenWidth = context_get_width(); + uint16 screenHeight = context_get_height(); + sint32 unk; - unk = -(width / 4); - if (x < unk) return false; - unk = screenWidth + (unk * 2); - if (x > unk) return false; - if (y <= TOP_TOOLBAR_HEIGHT && !(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) return false; - unk = screenHeight - (height / 4); - if (y > unk) return false; - return window_fits_between_others(x, y, width, height); + unk = -(width / 4); + if (x < unk) return false; + unk = screenWidth + (unk * 2); + if (x > unk) return false; + if (y <= TOP_TOOLBAR_HEIGHT && !(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) return false; + unk = screenHeight - (height / 4); + if (y > unk) return false; + return window_fits_between_others(x, y, width, height); } /** @@ -525,11 +525,11 @@ static bool window_fits_on_screen(sint32 x, sint32 y, sint32 width, sint32 heigh */ static bool window_fits_within_space(sint32 x, sint32 y, sint32 width, sint32 height) { - if (x < 0) return false; - if (y <= TOP_TOOLBAR_HEIGHT && !(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) return false; - if (x + width > context_get_width()) return false; - if (y + height > context_get_height()) return false; - return window_fits_between_others(x, y, width, height); + if (x < 0) return false; + if (y <= TOP_TOOLBAR_HEIGHT && !(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) return false; + if (x + width > context_get_width()) return false; + if (y + height > context_get_height()) return false; + return window_fits_between_others(x, y, width, height); } /** @@ -543,18 +543,18 @@ static bool window_fits_within_space(sint32 x, sint32 y, sint32 width, sint32 he */ static bool window_fits_between_others(sint32 x, sint32 y, sint32 width, sint32 height) { - for (rct_window *w = g_window_list; w < RCT2_LAST_WINDOW; w++) { - if (w->flags & WF_STICK_TO_BACK) - continue; + for (rct_window *w = g_window_list; w < RCT2_LAST_WINDOW; w++) { + if (w->flags & WF_STICK_TO_BACK) + continue; - if (x + width <= w->x) continue; - if (x >= w->x + w->width) continue; - if (y + height <= w->y) continue; - if (y >= w->y + w->height) continue; - return false; - } + if (x + width <= w->x) continue; + if (x >= w->x + w->width) continue; + if (y + height <= w->y) continue; + if (y >= w->y + w->height) continue; + return false; + } - return true; + return true; } /** @@ -569,134 +569,134 @@ static bool window_fits_between_others(sint32 x, sint32 y, sint32 width, sint32 */ rct_window *window_create_auto_pos(sint32 width, sint32 height, rct_window_event_list *event_handlers, rct_windowclass cls, uint16 flags) { - uint16 screenWidth = context_get_width(); - uint16 screenHeight = context_get_height(); + uint16 screenWidth = context_get_width(); + uint16 screenHeight = context_get_height(); - // TODO dead code, looks like it is cascading the new window offset from an existing window - // we will have to re-implement this in our own way. - // - // if (cls & 0x80) { - // cls &= ~0x80; - // rct_window *w = window_find_by_number(0, 0); - // if (w != NULL) { - // if (w->x > -60 && w->x < screenWidth - 20) { - // if (w->y < screenHeight - 20) { - // sint32 x = w->x; - // if (w->x + width > screenWidth) - // x = screenWidth - 20 - width; - // sint32 y = w->y; - // return window_create(x + 10, y + 10, width, height, event_handlers, cls, flags); - // } - // } - // } - // } + // TODO dead code, looks like it is cascading the new window offset from an existing window + // we will have to re-implement this in our own way. + // + // if (cls & 0x80) { + // cls &= ~0x80; + // rct_window *w = window_find_by_number(0, 0); + // if (w != NULL) { + // if (w->x > -60 && w->x < screenWidth - 20) { + // if (w->y < screenHeight - 20) { + // sint32 x = w->x; + // if (w->x + width > screenWidth) + // x = screenWidth - 20 - width; + // sint32 y = w->y; + // return window_create(x + 10, y + 10, width, height, event_handlers, cls, flags); + // } + // } + // } + // } - // Place window in an empty corner of the screen - sint32 x = 0; - sint32 y = 30; - if (window_fits_within_space(x, y, width, height)) goto foundSpace; + // Place window in an empty corner of the screen + sint32 x = 0; + sint32 y = 30; + if (window_fits_within_space(x, y, width, height)) goto foundSpace; - x = screenWidth - width; - y = 30; - if (window_fits_within_space(x, y, width, height)) goto foundSpace; + x = screenWidth - width; + y = 30; + if (window_fits_within_space(x, y, width, height)) goto foundSpace; - x = 0; - y = screenHeight - 34 - height; - if (window_fits_within_space(x, y, width, height)) goto foundSpace; + x = 0; + y = screenHeight - 34 - height; + if (window_fits_within_space(x, y, width, height)) goto foundSpace; - x = screenWidth - width; - y = screenHeight - 34 - height; - if (window_fits_within_space(x, y, width, height)) goto foundSpace; + x = screenWidth - width; + y = screenHeight - 34 - height; + if (window_fits_within_space(x, y, width, height)) goto foundSpace; - // Place window next to another - for (rct_window *w = g_window_list; w < RCT2_LAST_WINDOW; w++) { - if (w->flags & WF_STICK_TO_BACK) - continue; + // Place window next to another + for (rct_window *w = g_window_list; w < RCT2_LAST_WINDOW; w++) { + if (w->flags & WF_STICK_TO_BACK) + continue; - x = w->x + w->width + 2; - y = w->y; - if (window_fits_within_space(x, y, width, height)) goto foundSpace; + x = w->x + w->width + 2; + y = w->y; + if (window_fits_within_space(x, y, width, height)) goto foundSpace; - x = w->x - w->width - 2; - y = w->y; - if (window_fits_within_space(x, y, width, height)) goto foundSpace; + x = w->x - w->width - 2; + y = w->y; + if (window_fits_within_space(x, y, width, height)) goto foundSpace; - x = w->x; - y = w->y + w->height + 2; - if (window_fits_within_space(x, y, width, height)) goto foundSpace; + x = w->x; + y = w->y + w->height + 2; + if (window_fits_within_space(x, y, width, height)) goto foundSpace; - x = w->x; - y = w->y - w->height - 2; - if (window_fits_within_space(x, y, width, height)) goto foundSpace; + x = w->x; + y = w->y - w->height - 2; + if (window_fits_within_space(x, y, width, height)) goto foundSpace; - x = w->x + w->width + 2; - y = w->y - w->height - 2; - if (window_fits_within_space(x, y, width, height)) goto foundSpace; + x = w->x + w->width + 2; + y = w->y - w->height - 2; + if (window_fits_within_space(x, y, width, height)) goto foundSpace; - x = w->x - w->width - 2; - y = w->y - w->height - 2; - if (window_fits_within_space(x, y, width, height)) goto foundSpace; + x = w->x - w->width - 2; + y = w->y - w->height - 2; + if (window_fits_within_space(x, y, width, height)) goto foundSpace; - x = w->x + w->width + 2; - y = w->y + w->height + 2; - if (window_fits_within_space(x, y, width, height)) goto foundSpace; + x = w->x + w->width + 2; + y = w->y + w->height + 2; + if (window_fits_within_space(x, y, width, height)) goto foundSpace; - x = w->x - w->width - 2; - y = w->y + w->height + 2; - if (window_fits_within_space(x, y, width, height)) goto foundSpace; - } + x = w->x - w->width - 2; + y = w->y + w->height + 2; + if (window_fits_within_space(x, y, width, height)) goto foundSpace; + } - // Overlap - for (rct_window *w = g_window_list; w < RCT2_LAST_WINDOW; w++) { - if (w->flags & WF_STICK_TO_BACK) - continue; + // Overlap + for (rct_window *w = g_window_list; w < RCT2_LAST_WINDOW; w++) { + if (w->flags & WF_STICK_TO_BACK) + continue; - x = w->x + w->width + 2; - y = w->y; - if (window_fits_on_screen(x, y, width, height)) goto foundSpace; + x = w->x + w->width + 2; + y = w->y; + if (window_fits_on_screen(x, y, width, height)) goto foundSpace; - x = w->x - w->width - 2; - y = w->y; - if (window_fits_on_screen(x, y, width, height)) goto foundSpace; + x = w->x - w->width - 2; + y = w->y; + if (window_fits_on_screen(x, y, width, height)) goto foundSpace; - x = w->x; - y = w->y + w->height + 2; - if (window_fits_on_screen(x, y, width, height)) goto foundSpace; + x = w->x; + y = w->y + w->height + 2; + if (window_fits_on_screen(x, y, width, height)) goto foundSpace; - x = w->x; - y = w->y - w->height - 2; - if (window_fits_on_screen(x, y, width, height)) goto foundSpace; - } + x = w->x; + y = w->y - w->height - 2; + if (window_fits_on_screen(x, y, width, height)) goto foundSpace; + } - // Cascade - x = 0; - y = 30; - for (rct_window *w = g_window_list; w < RCT2_LAST_WINDOW; w++) { - if (x != w->x || y != w->y) - continue; + // Cascade + x = 0; + y = 30; + for (rct_window *w = g_window_list; w < RCT2_LAST_WINDOW; w++) { + if (x != w->x || y != w->y) + continue; - x += 5; - y += 5; - } + x += 5; + y += 5; + } - // Clamp to inside the screen + // Clamp to inside the screen foundSpace: - if (x < 0) - x = 0; - if (x + width > screenWidth) - x = screenWidth - width; + if (x < 0) + x = 0; + if (x + width > screenWidth) + x = screenWidth - width; - return window_create(x, y, width, height, event_handlers, cls, flags); + return window_create(x, y, width, height, event_handlers, cls, flags); } rct_window * window_create_centred(sint32 width, sint32 height, rct_window_event_list *event_handlers, rct_windowclass cls, uint16 flags) { - sint32 screenWidth = context_get_width(); - sint32 screenHeight = context_get_height(); + sint32 screenWidth = context_get_width(); + sint32 screenHeight = context_get_height(); - sint32 x = (screenWidth - width) / 2; - sint32 y = max(TOP_TOOLBAR_HEIGHT + 1, (screenHeight - height) / 2); - return window_create(x, y, width, height, event_handlers, cls, flags); + sint32 x = (screenWidth - width) / 2; + sint32 y = max(TOP_TOOLBAR_HEIGHT + 1, (screenHeight - height) / 2); + return window_create(x, y, width, height, event_handlers, cls, flags); } /** @@ -707,38 +707,38 @@ rct_window * window_create_centred(sint32 width, sint32 height, rct_window_event */ void window_close(rct_window* window) { - sint32 num_windows; + sint32 num_windows; - if (window == NULL) - return; + if (window == NULL) + return; - // Make a copy of the window class and number in case - // the window order is changed by the close event. - rct_windowclass cls = window->classification; - rct_windownumber number = window->number; + // Make a copy of the window class and number in case + // the window order is changed by the close event. + rct_windowclass cls = window->classification; + rct_windownumber number = window->number; - window_event_close_call(window); + window_event_close_call(window); - window = window_find_by_number(cls, number); - if (window == NULL) - return; + window = window_find_by_number(cls, number); + if (window == NULL) + return; - // Remove viewport - if (window->viewport != NULL) { - window->viewport->width = 0; - window->viewport = NULL; - } + // Remove viewport + if (window->viewport != NULL) { + window->viewport->width = 0; + window->viewport = NULL; + } - // Invalidate the window (area) - window_invalidate(window); + // Invalidate the window (area) + window_invalidate(window); - // Remove window from list and reshift all windows - RCT2_NEW_WINDOW--; - num_windows = (sint32)(RCT2_NEW_WINDOW - window); - if (num_windows > 0) - memmove(window, window + 1, num_windows * sizeof(rct_window)); + // Remove window from list and reshift all windows + RCT2_NEW_WINDOW--; + num_windows = (sint32)(RCT2_NEW_WINDOW - window); + if (num_windows > 0) + memmove(window, window + 1, num_windows * sizeof(rct_window)); - viewport_update_pointers(); + viewport_update_pointers(); } /** @@ -748,14 +748,14 @@ void window_close(rct_window* window) */ void window_close_by_class(rct_windowclass cls) { - for (rct_window *w = g_window_list; w < RCT2_NEW_WINDOW;) { - if (w->classification == cls) { - window_close(w); - w = g_window_list; - } else { - w++; - } - } + for (rct_window *w = g_window_list; w < RCT2_NEW_WINDOW;) { + if (w->classification == cls) { + window_close(w); + w = g_window_list; + } else { + w++; + } + } } /** @@ -766,14 +766,14 @@ void window_close_by_class(rct_windowclass cls) */ void window_close_by_number(rct_windowclass cls, rct_windownumber number) { - for (rct_window* w = g_window_list; w < RCT2_NEW_WINDOW;) { - if (w->classification == cls && w->number == number) { - window_close(w); - w = g_window_list; - } else { - w++; - } - } + for (rct_window* w = g_window_list; w < RCT2_NEW_WINDOW;) { + if (w->classification == cls && w->number == number) { + window_close(w); + w = g_window_list; + } else { + w++; + } + } } /** @@ -784,11 +784,11 @@ void window_close_by_number(rct_windowclass cls, rct_windownumber number) */ rct_window *window_find_by_class(rct_windowclass cls) { - for (rct_window *w = g_window_list; w < RCT2_NEW_WINDOW; w++) - if (w->classification == cls) - return w; + for (rct_window *w = g_window_list; w < RCT2_NEW_WINDOW; w++) + if (w->classification == cls) + return w; - return NULL; + return NULL; } /** @@ -800,13 +800,13 @@ rct_window *window_find_by_class(rct_windowclass cls) */ rct_window *window_find_by_number(rct_windowclass cls, rct_windownumber number) { - rct_window *w; + rct_window *w; - for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) - if (w->classification == cls && w->number == number) - return w; + for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) + if (w->classification == cls && w->number == number) + return w; - return NULL; + return NULL; } /** @@ -816,20 +816,20 @@ rct_window *window_find_by_number(rct_windowclass cls, rct_windownumber number) */ void window_close_top() { - rct_window* w; + rct_window* w; - window_close_by_class(WC_DROPDOWN); + window_close_by_class(WC_DROPDOWN); - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) - if (gS6Info.editor_step != EDITOR_STEP_LANDSCAPE_EDITOR) - return; + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) + if (gS6Info.editor_step != EDITOR_STEP_LANDSCAPE_EDITOR) + return; - for (w = RCT2_NEW_WINDOW - 1; w >= g_window_list; w--) { - if (!(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT))) { - window_close(w); - return; - } - } + for (w = RCT2_NEW_WINDOW - 1; w >= g_window_list; w--) { + if (!(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT))) { + window_close(w); + return; + } + } } /** @@ -839,30 +839,30 @@ void window_close_top() */ void window_close_all() { - rct_window* w; + rct_window* w; - window_close_by_class(WC_DROPDOWN); + window_close_by_class(WC_DROPDOWN); - for (w = g_window_list; w <= RCT2_LAST_WINDOW; w++) { - if (!(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT))) { - window_close(w); - w = g_window_list; - } - } + for (w = g_window_list; w <= RCT2_LAST_WINDOW; w++) { + if (!(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT))) { + window_close(w); + w = g_window_list; + } + } } void window_close_all_except_class(rct_windowclass cls) { - rct_window* w; + rct_window* w; - window_close_by_class(WC_DROPDOWN); + window_close_by_class(WC_DROPDOWN); - for (w = g_window_list; w <= RCT2_LAST_WINDOW; w++){ - if (w->classification != cls && !(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT))) { - window_close(w); - w = g_window_list; - } - } + for (w = g_window_list; w <= RCT2_LAST_WINDOW; w++){ + if (w->classification != cls && !(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT))) { + window_close(w); + w = g_window_list; + } + } } /** @@ -871,23 +871,23 @@ void window_close_all_except_class(rct_windowclass cls) */ rct_window *window_find_from_point(sint32 x, sint32 y) { - rct_window *w; - sint32 widget_index; + rct_window *w; + sint32 widget_index; - for (w = RCT2_LAST_WINDOW; w >= g_window_list; w--) { - if (x < w->x || x >= w->x + w->width || y < w->y || y >= w->y + w->height) - continue; + for (w = RCT2_LAST_WINDOW; w >= g_window_list; w--) { + if (x < w->x || x >= w->x + w->width || y < w->y || y >= w->y + w->height) + continue; - if (w->flags & WF_NO_BACKGROUND) { - widget_index = window_find_widget_from_point(w, x, y); - if (widget_index == -1) - continue; - } + if (w->flags & WF_NO_BACKGROUND) { + widget_index = window_find_widget_from_point(w, x, y); + if (widget_index == -1) + continue; + } - return w; - } + return w; + } - return NULL; + return NULL; } /** @@ -900,31 +900,31 @@ rct_window *window_find_from_point(sint32 x, sint32 y) */ rct_widgetindex window_find_widget_from_point(rct_window *w, sint32 x, sint32 y) { - // Invalidate the window - window_event_invalidate_call(w); + // Invalidate the window + window_event_invalidate_call(w); - // Find the widget at point x, y - rct_widgetindex widget_index = -1; - for (sint32 i = 0;; i++) { - rct_widget *widget = &w->widgets[i]; - if (widget->type == WWT_LAST) { - break; - } else if (widget->type != WWT_EMPTY) { - if (x >= w->x + widget->left && x <= w->x + widget->right && - y >= w->y + widget->top && y <= w->y + widget->bottom - ) { - widget_index = i; - } - } - } + // Find the widget at point x, y + rct_widgetindex widget_index = -1; + for (sint32 i = 0;; i++) { + rct_widget *widget = &w->widgets[i]; + if (widget->type == WWT_LAST) { + break; + } else if (widget->type != WWT_EMPTY) { + if (x >= w->x + widget->left && x <= w->x + widget->right && + y >= w->y + widget->top && y <= w->y + widget->bottom + ) { + widget_index = i; + } + } + } - // Return next widget if a dropdown - if (widget_index != -1) - if (w->widgets[widget_index].type == WWT_DROPDOWN) - widget_index++; + // Return next widget if a dropdown + if (widget_index != -1) + if (w->widgets[widget_index].type == WWT_DROPDOWN) + widget_index++; - // Return the widget index - return widget_index; + // Return the widget index + return widget_index; } /** @@ -935,8 +935,8 @@ rct_widgetindex window_find_widget_from_point(rct_window *w, sint32 x, sint32 y) */ void window_invalidate(rct_window *window) { - if (window != NULL) - gfx_set_dirty_blocks(window->x, window->y, window->x + window->width, window->y + window->height); + if (window != NULL) + gfx_set_dirty_blocks(window->x, window->y, window->x + window->width, window->y + window->height); } /** @@ -946,11 +946,11 @@ void window_invalidate(rct_window *window) */ void window_invalidate_by_class(rct_windowclass cls) { - rct_window* w; + rct_window* w; - for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) - if (w->classification == cls) - window_invalidate(w); + for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) + if (w->classification == cls) + window_invalidate(w); } /** @@ -962,11 +962,11 @@ void window_invalidate_by_class(rct_windowclass cls) */ void window_invalidate_by_number(rct_windowclass cls, rct_windownumber number) { - rct_window* w; + rct_window* w; - for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) - if (w->classification == cls && w->number == number) - window_invalidate(w); + for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) + if (w->classification == cls && w->number == number) + window_invalidate(w); } /** @@ -974,10 +974,10 @@ void window_invalidate_by_number(rct_windowclass cls, rct_windownumber number) */ void window_invalidate_all() { - rct_window* w; + rct_window* w; - for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) - window_invalidate(w); + for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) + window_invalidate(w); } /** @@ -986,20 +986,20 @@ void window_invalidate_all() */ void widget_invalidate(rct_window *w, rct_widgetindex widgetIndex) { - rct_widget* widget; + rct_widget* widget; - assert(w != NULL); + assert(w != NULL); #ifdef DEBUG - for (sint32 i = 0; i <= widgetIndex; i++) { - assert(w->widgets[i].type != WWT_LAST); - } + for (sint32 i = 0; i <= widgetIndex; i++) { + assert(w->widgets[i].type != WWT_LAST); + } #endif - widget = &w->widgets[widgetIndex]; - if (widget->left == -2) - return; + widget = &w->widgets[widgetIndex]; + if (widget->left == -2) + return; - gfx_set_dirty_blocks(w->x + widget->left, w->y + widget->top, w->x + widget->right + 1, w->y + widget->bottom + 1); + gfx_set_dirty_blocks(w->x + widget->left, w->y + widget->top, w->x + widget->right + 1, w->y + widget->bottom + 1); } /** @@ -1007,11 +1007,11 @@ void widget_invalidate(rct_window *w, rct_widgetindex widgetIndex) */ void widget_invalidate_by_class(rct_windowclass cls, rct_widgetindex widgetIndex) { - rct_window* w; + rct_window* w; - for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) - if (w->classification == cls) - widget_invalidate(w, widgetIndex); + for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) + if (w->classification == cls) + widget_invalidate(w, widgetIndex); } /** @@ -1023,11 +1023,11 @@ void widget_invalidate_by_class(rct_windowclass cls, rct_widgetindex widgetIndex */ void widget_invalidate_by_number(rct_windowclass cls, rct_windownumber number, rct_widgetindex widgetIndex) { - rct_window* w; + rct_window* w; - for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) - if (w->classification == cls && w->number == number) - widget_invalidate(w, widgetIndex); + for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) + if (w->classification == cls && w->number == number) + widget_invalidate(w, widgetIndex); } /** @@ -1038,39 +1038,39 @@ void widget_invalidate_by_number(rct_windowclass cls, rct_windownumber number, r */ void window_init_scroll_widgets(rct_window *w) { - rct_widget* widget; - rct_scroll* scroll; - sint32 widget_index, scroll_index; - sint32 width, height; + rct_widget* widget; + rct_scroll* scroll; + sint32 widget_index, scroll_index; + sint32 width, height; - widget_index = 0; - scroll_index = 0; - for (widget = w->widgets; widget->type != WWT_LAST; widget++) { - if (widget->type != WWT_SCROLL) { - widget_index++; - continue; - } + widget_index = 0; + scroll_index = 0; + for (widget = w->widgets; widget->type != WWT_LAST; widget++) { + if (widget->type != WWT_SCROLL) { + widget_index++; + continue; + } - scroll = &w->scrolls[scroll_index]; - scroll->flags = 0; - width = 0; - height = 0; - window_get_scroll_size(w, scroll_index, &width, &height); - scroll->h_left = 0; - scroll->h_right = width + 1; - scroll->v_top = 0; - scroll->v_bottom = height + 1; + scroll = &w->scrolls[scroll_index]; + scroll->flags = 0; + width = 0; + height = 0; + window_get_scroll_size(w, scroll_index, &width, &height); + scroll->h_left = 0; + scroll->h_right = width + 1; + scroll->v_top = 0; + scroll->v_bottom = height + 1; - if (widget->content & SCROLL_HORIZONTAL) - scroll->flags |= HSCROLLBAR_VISIBLE; - if (widget->content & SCROLL_VERTICAL) - scroll->flags |= VSCROLLBAR_VISIBLE; + if (widget->content & SCROLL_HORIZONTAL) + scroll->flags |= HSCROLLBAR_VISIBLE; + if (widget->content & SCROLL_VERTICAL) + scroll->flags |= VSCROLLBAR_VISIBLE; - widget_scroll_update_thumbs(w, widget_index); + widget_scroll_update_thumbs(w, widget_index); - widget_index++; - scroll_index++; - } + widget_index++; + scroll_index++; + } } /** @@ -1081,61 +1081,61 @@ void window_init_scroll_widgets(rct_window *w) */ void window_update_scroll_widgets(rct_window *w) { - sint32 scrollIndex, width, height, scrollPositionChanged; - rct_widgetindex widgetIndex; - rct_scroll *scroll; - rct_widget *widget; + sint32 scrollIndex, width, height, scrollPositionChanged; + rct_widgetindex widgetIndex; + rct_scroll *scroll; + rct_widget *widget; - widgetIndex = 0; - scrollIndex = 0; - assert(w != NULL); - for (widget = w->widgets; widget->type != WWT_LAST; widget++, widgetIndex++) { - if (widget->type != WWT_SCROLL) - continue; + widgetIndex = 0; + scrollIndex = 0; + assert(w != NULL); + for (widget = w->widgets; widget->type != WWT_LAST; widget++, widgetIndex++) { + if (widget->type != WWT_SCROLL) + continue; - scroll = &w->scrolls[scrollIndex]; - width = 0; - height = 0; - window_get_scroll_size(w, scrollIndex, &width, &height); - if (height == 0){ - scroll->v_top = 0; - } - else if (width == 0){ - scroll->h_left = 0; - } - width++; - height++; + scroll = &w->scrolls[scrollIndex]; + width = 0; + height = 0; + window_get_scroll_size(w, scrollIndex, &width, &height); + if (height == 0){ + scroll->v_top = 0; + } + else if (width == 0){ + scroll->h_left = 0; + } + width++; + height++; - scrollPositionChanged = 0; - if ((widget->content & SCROLL_HORIZONTAL) && width != scroll->h_right) { - scrollPositionChanged = 1; - scroll->h_right = width; - } + scrollPositionChanged = 0; + if ((widget->content & SCROLL_HORIZONTAL) && width != scroll->h_right) { + scrollPositionChanged = 1; + scroll->h_right = width; + } - if ((widget->content & SCROLL_VERTICAL) && height != scroll->v_bottom) { - scrollPositionChanged = 1; - scroll->v_bottom = height; - } + if ((widget->content & SCROLL_VERTICAL) && height != scroll->v_bottom) { + scrollPositionChanged = 1; + scroll->v_bottom = height; + } - if (scrollPositionChanged) { - widget_scroll_update_thumbs(w, widgetIndex); - window_invalidate(w); - } - scrollIndex++; - } + if (scrollPositionChanged) { + widget_scroll_update_thumbs(w, widgetIndex); + window_invalidate(w); + } + scrollIndex++; + } } sint32 window_get_scroll_data_index(rct_window *w, rct_widgetindex widget_index) { - sint32 i, result; + sint32 i, result; - result = 0; - assert(w != NULL); - for (i = 0; i < widget_index; i++) { - if (w->widgets[i].type == WWT_SCROLL) - result++; - } - return result; + result = 0; + assert(w != NULL); + for (i = 0; i < widget_index; i++) { + if (w->widgets[i].type == WWT_SCROLL) + result++; + } + return result; } /** @@ -1144,53 +1144,53 @@ sint32 window_get_scroll_data_index(rct_window *w, rct_widgetindex widget_index) */ rct_window *window_bring_to_front(rct_window *w) { - if (w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT)) - return w; + if (w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT)) + return w; - rct_window *v; - for (v = RCT2_LAST_WINDOW; v >= g_window_list; v--) - if (!(v->flags & WF_STICK_TO_FRONT)) - break; + rct_window *v; + for (v = RCT2_LAST_WINDOW; v >= g_window_list; v--) + if (!(v->flags & WF_STICK_TO_FRONT)) + break; - if (v >= g_window_list && w != v) { - do { - rct_window t = *w; - *w = *(w + 1); - *(w + 1) = t; - w++; - } while (w != v); + if (v >= g_window_list && w != v) { + do { + rct_window t = *w; + *w = *(w + 1); + *(w + 1) = t; + w++; + } while (w != v); - window_invalidate(w); - } + window_invalidate(w); + } - if (w->x + w->width < 20) { - sint32 i = 20 - w->x; - w->x += i; - if (w->viewport != NULL) - w->viewport->x += i; - window_invalidate(w); - } + if (w->x + w->width < 20) { + sint32 i = 20 - w->x; + w->x += i; + if (w->viewport != NULL) + w->viewport->x += i; + window_invalidate(w); + } - return w; + return w; } rct_window *window_bring_to_front_by_class_with_flags(rct_windowclass cls, uint16 flags) { - rct_window* w; + rct_window* w; - w = window_find_by_class(cls); - if (w != NULL) { - w->flags |= flags; - window_invalidate(w); - w = window_bring_to_front(w); - } + w = window_find_by_class(cls); + if (w != NULL) { + w->flags |= flags; + window_invalidate(w); + w = window_bring_to_front(w); + } - return w; + return w; } rct_window *window_bring_to_front_by_class(rct_windowclass cls) { - return window_bring_to_front_by_class_with_flags(cls, WF_WHITE_BORDER_MASK); + return window_bring_to_front_by_class_with_flags(cls, WF_WHITE_BORDER_MASK); } /** @@ -1201,16 +1201,16 @@ rct_window *window_bring_to_front_by_class(rct_windowclass cls) */ rct_window *window_bring_to_front_by_number(rct_windowclass cls, rct_windownumber number) { - rct_window* w; + rct_window* w; - w = window_find_by_number(cls, number); - if (w != NULL) { - w->flags |= WF_WHITE_BORDER_MASK; - window_invalidate(w); - w = window_bring_to_front(w); - } + w = window_find_by_number(cls, number); + if (w != NULL) { + w->flags |= WF_WHITE_BORDER_MASK; + window_invalidate(w); + w = window_bring_to_front(w); + } - return w; + return w; } /** @@ -1219,29 +1219,29 @@ rct_window *window_bring_to_front_by_number(rct_windowclass cls, rct_windownumbe */ void window_push_others_right(rct_window* window) { - for (rct_window* w = g_window_list; w < gWindowNextSlot; w++) { - if (w == window) - continue; - if (w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT)) - continue; - if (w->x >= window->x + window->width) - continue; - if (w->x + w->width <= window->x) - continue; - if (w->y >= window->y + window->height) - continue; - if (w->y + w->height <= window->y) - continue; + for (rct_window* w = g_window_list; w < gWindowNextSlot; w++) { + if (w == window) + continue; + if (w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT)) + continue; + if (w->x >= window->x + window->width) + continue; + if (w->x + w->width <= window->x) + continue; + if (w->y >= window->y + window->height) + continue; + if (w->y + w->height <= window->y) + continue; - window_invalidate(w); - if (window->x + window->width + 13 >= context_get_width()) - continue; - uint16 push_amount = window->x + window->width - w->x + 3; - w->x += push_amount; - window_invalidate(w); - if (w->viewport != NULL) - w->viewport->x += push_amount; - } + window_invalidate(w); + if (window->x + window->width + 13 >= context_get_width()) + continue; + uint16 push_amount = window->x + window->width - w->x + 3; + w->x += push_amount; + window_invalidate(w); + if (w->viewport != NULL) + w->viewport->x += push_amount; + } } /** @@ -1250,41 +1250,41 @@ void window_push_others_right(rct_window* window) */ void window_push_others_below(rct_window *w1) { - sint32 push_amount; - rct_window* w2; + sint32 push_amount; + rct_window* w2; - // Enumerate through all other windows - for (w2 = g_window_list; w2 < RCT2_NEW_WINDOW; w2++) { - if (w1 == w2) - continue; + // Enumerate through all other windows + for (w2 = g_window_list; w2 < RCT2_NEW_WINDOW; w2++) { + if (w1 == w2) + continue; - // ? - if (w2->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT)) - continue; + // ? + if (w2->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT)) + continue; - // Check if w2 intersects with w1 - if (w2->x > (w1->x + w1->width) || w2->x + w2->width < w1->x) - continue; - if (w2->y > (w1->y + w1->height) || w2->y + w2->height < w1->y) - continue; + // Check if w2 intersects with w1 + if (w2->x > (w1->x + w1->width) || w2->x + w2->width < w1->x) + continue; + if (w2->y > (w1->y + w1->height) || w2->y + w2->height < w1->y) + continue; - // Check if there is room to push it down - if (w1->y + w1->height + 80 >= context_get_height()) - continue; + // Check if there is room to push it down + if (w1->y + w1->height + 80 >= context_get_height()) + continue; - // Invalidate the window's current area - window_invalidate(w2); + // Invalidate the window's current area + window_invalidate(w2); - push_amount = w1->y + w1->height - w2->y + 3; - w2->y += push_amount; + push_amount = w1->y + w1->height - w2->y + 3; + w2->y += push_amount; - // Invalidate the window's new area - window_invalidate(w2); + // Invalidate the window's new area + window_invalidate(w2); - // Update viewport position if necessary - if (w2->viewport != NULL) - w2->viewport->y += push_amount; - } + // Update viewport position if necessary + if (w2->viewport != NULL) + w2->viewport->y += push_amount; + } } /** @@ -1293,14 +1293,14 @@ void window_push_others_below(rct_window *w1) */ rct_window *window_get_main() { - rct_window* w = NULL; + rct_window* w = NULL; - for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) - if (w->classification == WC_MAIN_WINDOW) - return w; + for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) + if (w->classification == WC_MAIN_WINDOW) + return w; - openrct2_assert(w != NULL, "Failed to get main window"); - return NULL; + openrct2_assert(w != NULL, "Failed to get main window"); + return NULL; } /** @@ -1309,33 +1309,33 @@ rct_window *window_get_main() */ void window_scroll_to_viewport(rct_window *w) { - sint32 x, y, z; - rct_window *mainWindow; - assert(w != NULL); - // In original checked to make sure x and y were not -1 as well. - if (w->viewport == NULL || w->viewport_focus_coordinates.y == -1) - return; + sint32 x, y, z; + rct_window *mainWindow; + assert(w != NULL); + // In original checked to make sure x and y were not -1 as well. + if (w->viewport == NULL || w->viewport_focus_coordinates.y == -1) + return; - if (w->viewport_focus_sprite.type & VIEWPORT_FOCUS_TYPE_SPRITE) { - rct_sprite *sprite = get_sprite(w->viewport_focus_sprite.sprite_id); - x = sprite->unknown.x; - y = sprite->unknown.y; - z = sprite->unknown.z; - } else { - x = w->viewport_focus_coordinates.x; - y = w->viewport_focus_coordinates.y & VIEWPORT_FOCUS_Y_MASK; - z = w->viewport_focus_coordinates.z; - } + if (w->viewport_focus_sprite.type & VIEWPORT_FOCUS_TYPE_SPRITE) { + rct_sprite *sprite = get_sprite(w->viewport_focus_sprite.sprite_id); + x = sprite->unknown.x; + y = sprite->unknown.y; + z = sprite->unknown.z; + } else { + x = w->viewport_focus_coordinates.x; + y = w->viewport_focus_coordinates.y & VIEWPORT_FOCUS_Y_MASK; + z = w->viewport_focus_coordinates.z; + } - mainWindow = window_get_main(); - if (mainWindow != NULL) - window_scroll_to_location(mainWindow, x, y, z); + mainWindow = window_get_main(); + if (mainWindow != NULL) + window_scroll_to_location(mainWindow, x, y, z); } void window_set_location(rct_window *w, sint32 x, sint32 y, sint32 z) { - window_scroll_to_location(w, x, y, z); - w->flags &= ~WF_SCROLLING_TO_LOCATION; + window_scroll_to_location(w, x, y, z); + w->flags &= ~WF_SCROLLING_TO_LOCATION; } /** @@ -1348,68 +1348,68 @@ void window_set_location(rct_window *w, sint32 x, sint32 y, sint32 z) */ void window_scroll_to_location(rct_window *w, sint32 x, sint32 y, sint32 z) { - rct_xyz16 location_3d = { - .x = x, - .y = y, - .z = z - }; + rct_xyz16 location_3d = { + .x = x, + .y = y, + .z = z + }; - assert(w != NULL); - if (w->viewport) { - sint16 height = map_element_height(x, y); - if (z < height - 16) { - if (!(w->viewport->flags & 1 << 0)) { - w->viewport->flags |= 1 << 0; - window_invalidate(w); - } - } else { - if (w->viewport->flags & 1 << 0) { - w->viewport->flags &= ~(1 << 0); - window_invalidate(w); - } - } + assert(w != NULL); + if (w->viewport) { + sint16 height = map_element_height(x, y); + if (z < height - 16) { + if (!(w->viewport->flags & 1 << 0)) { + w->viewport->flags |= 1 << 0; + window_invalidate(w); + } + } else { + if (w->viewport->flags & 1 << 0) { + w->viewport->flags &= ~(1 << 0); + window_invalidate(w); + } + } - rct_xy16 map_coordinate = coordinate_3d_to_2d(&location_3d, get_current_rotation()); + rct_xy16 map_coordinate = coordinate_3d_to_2d(&location_3d, get_current_rotation()); - sint32 i = 0; - if (!(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) { - sint32 found = 0; - while (!found) { - sint16 x2 = w->viewport->x + (sint16)(w->viewport->width * window_scroll_locations[i][0]); - sint16 y2 = w->viewport->y + (sint16)(w->viewport->height * window_scroll_locations[i][1]); - rct_window* w2 = w; - while (1) { - w2++; - if (w2 >= gWindowNextSlot) { - found = 1; - break; - } - sint16 x1 = w2->x - 10; - sint16 y1 = w2->y - 10; - if (x2 >= x1 && x2 <= w2->width + x1 + 20) { - if (y2 >= y1 && y2 <= w2->height + y1 + 20) { - // window is covering this area, try the next one - i++; - found = 0; - break; - } - } - } - if (i >= countof(window_scroll_locations)) { - i = 0; - found = 1; - } - } - } - // rct2: 0x006E7C76 - if (w->viewport_target_sprite == -1) { - if (!(w->flags & WF_NO_SCROLLING)) { - w->saved_view_x = map_coordinate.x - (sint16)(w->viewport->view_width * window_scroll_locations[i][0]); - w->saved_view_y = map_coordinate.y - (sint16)(w->viewport->view_height * window_scroll_locations[i][1]); - w->flags |= WF_SCROLLING_TO_LOCATION; - } - } - } + sint32 i = 0; + if (!(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) { + sint32 found = 0; + while (!found) { + sint16 x2 = w->viewport->x + (sint16)(w->viewport->width * window_scroll_locations[i][0]); + sint16 y2 = w->viewport->y + (sint16)(w->viewport->height * window_scroll_locations[i][1]); + rct_window* w2 = w; + while (1) { + w2++; + if (w2 >= gWindowNextSlot) { + found = 1; + break; + } + sint16 x1 = w2->x - 10; + sint16 y1 = w2->y - 10; + if (x2 >= x1 && x2 <= w2->width + x1 + 20) { + if (y2 >= y1 && y2 <= w2->height + y1 + 20) { + // window is covering this area, try the next one + i++; + found = 0; + break; + } + } + } + if (i >= countof(window_scroll_locations)) { + i = 0; + found = 1; + } + } + } + // rct2: 0x006E7C76 + if (w->viewport_target_sprite == -1) { + if (!(w->flags & WF_NO_SCROLLING)) { + w->saved_view_x = map_coordinate.x - (sint16)(w->viewport->view_width * window_scroll_locations[i][0]); + w->saved_view_y = map_coordinate.y - (sint16)(w->viewport->view_height * window_scroll_locations[i][1]); + w->flags |= WF_SCROLLING_TO_LOCATION; + } + } + } } /** @@ -1418,148 +1418,148 @@ void window_scroll_to_location(rct_window *w, sint32 x, sint32 y, sint32 z) */ static void call_event_unknown_14_on_all_windows() { - rct_window *w; + rct_window *w; - for (w = RCT2_NEW_WINDOW - 1; w >= g_window_list; w--) - window_event_unknown_14_call(w); + for (w = RCT2_NEW_WINDOW - 1; w >= g_window_list; w--) + window_event_unknown_14_call(w); } /** * * rct2: 0x0068881A * direction can be used to alter the camera rotation: - * 1: clockwise - * -1: anti-clockwise + * 1: clockwise + * -1: anti-clockwise */ void window_rotate_camera(rct_window *w, sint32 direction) { - rct_viewport *viewport = w->viewport; - if (viewport == NULL) - return; + rct_viewport *viewport = w->viewport; + if (viewport == NULL) + return; - sint16 x = (viewport->width >> 1) + viewport->x; - sint16 y = (viewport->height >> 1) + viewport->y; - sint16 z; + sint16 x = (viewport->width >> 1) + viewport->x; + sint16 y = (viewport->height >> 1) + viewport->y; + sint16 z; - //has something to do with checking if middle of the viewport is obstructed - rct_viewport *other; - screen_get_map_xy(x, y, &x, &y, &other); + //has something to do with checking if middle of the viewport is obstructed + rct_viewport *other; + screen_get_map_xy(x, y, &x, &y, &other); - // other != viewport probably triggers on viewports in ride or guest window? - // x is 0x8000 if middle of viewport is obstructed by another window? - if (x == SPRITE_LOCATION_NULL || other != viewport) { - x = (viewport->view_width >> 1) + viewport->view_x; - y = (viewport->view_height >> 1) + viewport->view_y; + // other != viewport probably triggers on viewports in ride or guest window? + // x is 0x8000 if middle of viewport is obstructed by another window? + if (x == SPRITE_LOCATION_NULL || other != viewport) { + x = (viewport->view_width >> 1) + viewport->view_x; + y = (viewport->view_height >> 1) + viewport->view_y; - viewport_adjust_for_map_height(&x, &y, &z); - } - else { - z = map_element_height(x, y); - } + viewport_adjust_for_map_height(&x, &y, &z); + } + else { + z = map_element_height(x, y); + } - gCurrentRotation = (get_current_rotation() + direction) & 3; + gCurrentRotation = (get_current_rotation() + direction) & 3; - sint32 new_x, new_y; - center_2d_coordinates(x, y, z, &new_x, &new_y, viewport); + sint32 new_x, new_y; + center_2d_coordinates(x, y, z, &new_x, &new_y, viewport); - w->saved_view_x = new_x; - w->saved_view_y = new_y; - viewport->view_x = new_x; - viewport->view_y = new_y; + w->saved_view_x = new_x; + w->saved_view_y = new_y; + viewport->view_x = new_x; + viewport->view_y = new_y; - window_invalidate(w); + window_invalidate(w); - call_event_unknown_14_on_all_windows(); - reset_all_sprite_quadrant_placements(); + call_event_unknown_14_on_all_windows(); + reset_all_sprite_quadrant_placements(); } void window_viewport_get_map_coords_by_cursor(rct_window *w, sint16 *map_x, sint16 *map_y, sint16 *offset_x, sint16 *offset_y) { - // Get mouse position to offset against. - sint32 mouse_x, mouse_y; - context_get_cursor_position_scaled(&mouse_x, &mouse_y); + // Get mouse position to offset against. + sint32 mouse_x, mouse_y; + context_get_cursor_position_scaled(&mouse_x, &mouse_y); - // Compute map coordinate by mouse position. - get_map_coordinates_from_pos(mouse_x, mouse_y, VIEWPORT_INTERACTION_MASK_NONE, map_x, map_y, NULL, NULL, NULL); + // Compute map coordinate by mouse position. + get_map_coordinates_from_pos(mouse_x, mouse_y, VIEWPORT_INTERACTION_MASK_NONE, map_x, map_y, NULL, NULL, NULL); - // Get viewport coordinates centring around the tile. - sint32 base_height = map_element_height(*map_x, *map_y); - sint32 dest_x, dest_y; - center_2d_coordinates(*map_x, *map_y, base_height, &dest_x, &dest_y, w->viewport); + // Get viewport coordinates centring around the tile. + sint32 base_height = map_element_height(*map_x, *map_y); + sint32 dest_x, dest_y; + center_2d_coordinates(*map_x, *map_y, base_height, &dest_x, &dest_y, w->viewport); - // Rebase mouse position onto centre of window, and compensate for zoom level. - sint32 rebased_x = ((w->width >> 1) - mouse_x) * (1 << w->viewport->zoom), - rebased_y = ((w->height >> 1) - mouse_y) * (1 << w->viewport->zoom); + // Rebase mouse position onto centre of window, and compensate for zoom level. + sint32 rebased_x = ((w->width >> 1) - mouse_x) * (1 << w->viewport->zoom), + rebased_y = ((w->height >> 1) - mouse_y) * (1 << w->viewport->zoom); - // Compute cursor offset relative to tile. - *offset_x = (w->saved_view_x - (dest_x + rebased_x)) * (1 << w->viewport->zoom); - *offset_y = (w->saved_view_y - (dest_y + rebased_y)) * (1 << w->viewport->zoom); + // Compute cursor offset relative to tile. + *offset_x = (w->saved_view_x - (dest_x + rebased_x)) * (1 << w->viewport->zoom); + *offset_y = (w->saved_view_y - (dest_y + rebased_y)) * (1 << w->viewport->zoom); } void window_viewport_centre_tile_around_cursor(rct_window *w, sint16 map_x, sint16 map_y, sint16 offset_x, sint16 offset_y) { - // Get viewport coordinates centring around the tile. - sint32 dest_x, dest_y; - sint32 base_height = map_element_height(map_x, map_y); - center_2d_coordinates(map_x, map_y, base_height, &dest_x, &dest_y, w->viewport); + // Get viewport coordinates centring around the tile. + sint32 dest_x, dest_y; + sint32 base_height = map_element_height(map_x, map_y); + center_2d_coordinates(map_x, map_y, base_height, &dest_x, &dest_y, w->viewport); - // Get mouse position to offset against. - sint32 mouse_x, mouse_y; - context_get_cursor_position_scaled(&mouse_x, &mouse_y); + // Get mouse position to offset against. + sint32 mouse_x, mouse_y; + context_get_cursor_position_scaled(&mouse_x, &mouse_y); - // Rebase mouse position onto centre of window, and compensate for zoom level. - sint32 rebased_x = ((w->width >> 1) - mouse_x) * (1 << w->viewport->zoom), - rebased_y = ((w->height >> 1) - mouse_y) * (1 << w->viewport->zoom); + // Rebase mouse position onto centre of window, and compensate for zoom level. + sint32 rebased_x = ((w->width >> 1) - mouse_x) * (1 << w->viewport->zoom), + rebased_y = ((w->height >> 1) - mouse_y) * (1 << w->viewport->zoom); - // Apply offset to the viewport. - w->saved_view_x = dest_x + rebased_x + (offset_x / (1 << w->viewport->zoom)); - w->saved_view_y = dest_y + rebased_y + (offset_y / (1 << w->viewport->zoom)); + // Apply offset to the viewport. + w->saved_view_x = dest_x + rebased_x + (offset_x / (1 << w->viewport->zoom)); + w->saved_view_y = dest_y + rebased_y + (offset_y / (1 << w->viewport->zoom)); } void window_zoom_set(rct_window *w, sint32 zoomLevel, bool atCursor) { - rct_viewport* v = w->viewport; + rct_viewport* v = w->viewport; - zoomLevel = clamp(0, zoomLevel, 3); - if (v->zoom == zoomLevel) - return; + zoomLevel = clamp(0, zoomLevel, 3); + if (v->zoom == zoomLevel) + return; - // Zooming to cursor? Remember where we're pointing at the moment. - sint16 saved_map_x = 0; - sint16 saved_map_y = 0; - sint16 offset_x = 0; - sint16 offset_y = 0; - if (gConfigGeneral.zoom_to_cursor && atCursor) { - window_viewport_get_map_coords_by_cursor(w, &saved_map_x, &saved_map_y, &offset_x, &offset_y); - } + // Zooming to cursor? Remember where we're pointing at the moment. + sint16 saved_map_x = 0; + sint16 saved_map_y = 0; + sint16 offset_x = 0; + sint16 offset_y = 0; + if (gConfigGeneral.zoom_to_cursor && atCursor) { + window_viewport_get_map_coords_by_cursor(w, &saved_map_x, &saved_map_y, &offset_x, &offset_y); + } - // Zoom in - while (v->zoom > zoomLevel) { - v->zoom--; - w->saved_view_x += v->view_width / 4; - w->saved_view_y += v->view_height / 4; - v->view_width /= 2; - v->view_height /= 2; - } + // Zoom in + while (v->zoom > zoomLevel) { + v->zoom--; + w->saved_view_x += v->view_width / 4; + w->saved_view_y += v->view_height / 4; + v->view_width /= 2; + v->view_height /= 2; + } - // Zoom out - while (v->zoom < zoomLevel) { - v->zoom++; - w->saved_view_x -= v->view_width / 2; - w->saved_view_y -= v->view_height / 2; - v->view_width *= 2; - v->view_height *= 2; - } + // Zoom out + while (v->zoom < zoomLevel) { + v->zoom++; + w->saved_view_x -= v->view_width / 2; + w->saved_view_y -= v->view_height / 2; + v->view_width *= 2; + v->view_height *= 2; + } - // Zooming to cursor? Centre around the tile we were hovering over just now. - if (gConfigGeneral.zoom_to_cursor && atCursor) { - window_viewport_centre_tile_around_cursor(w, saved_map_x, saved_map_y, offset_x, offset_y); - } + // Zooming to cursor? Centre around the tile we were hovering over just now. + if (gConfigGeneral.zoom_to_cursor && atCursor) { + window_viewport_centre_tile_around_cursor(w, saved_map_x, saved_map_y, offset_x, offset_y); + } - // HACK: Prevents the redraw from failing when there is - // a window on top of the viewport. - window_bring_to_front(w); - window_invalidate(w); + // HACK: Prevents the redraw from failing when there is + // a window on top of the viewport. + window_bring_to_front(w); + window_invalidate(w); } /** @@ -1568,7 +1568,7 @@ void window_zoom_set(rct_window *w, sint32 zoomLevel, bool atCursor) */ void window_zoom_in(rct_window *w, bool atCursor) { - window_zoom_set(w, w->viewport->zoom - 1, atCursor); + window_zoom_set(w, w->viewport->zoom - 1, atCursor); } /** @@ -1577,19 +1577,19 @@ void window_zoom_in(rct_window *w, bool atCursor) */ void window_zoom_out(rct_window *w, bool atCursor) { - window_zoom_set(w, w->viewport->zoom + 1, atCursor); + window_zoom_set(w, w->viewport->zoom + 1, atCursor); } void main_window_zoom(bool zoomIn, bool atCursor) { - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) - return; - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) { - if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) - window_zoom_set(mainWindow, mainWindow->viewport->zoom + (zoomIn ? -1 : 1), atCursor); - } - } + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) + return; + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) { + if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) + window_zoom_set(mainWindow, mainWindow->viewport->zoom + (zoomIn ? -1 : 1), atCursor); + } + } } /** @@ -1602,27 +1602,27 @@ void main_window_zoom(bool zoomIn, bool atCursor) { */ void window_draw(rct_drawpixelinfo *dpi, rct_window *w, sint32 left, sint32 top, sint32 right, sint32 bottom) { - if (!window_is_visible(w)) return; + if (!window_is_visible(w)) return; - // Split window into only the regions that require drawing - if (window_draw_split(dpi, w, left, top, right, bottom)) - return; + // Split window into only the regions that require drawing + if (window_draw_split(dpi, w, left, top, right, bottom)) + return; - // Clamp region - left = max(left, w->x); - top = max(top, w->y); - right = min(right, w->x + w->width); - bottom = min(bottom, w->y + w->height); - if (left >= right) return; - if (top >= bottom) return; + // Clamp region + left = max(left, w->x); + top = max(top, w->y); + right = min(right, w->x + w->width); + bottom = min(bottom, w->y + w->height); + if (left >= right) return; + if (top >= bottom) return; - // Draw the window in this region - for (rct_window *v = w; v < RCT2_NEW_WINDOW; v++) { - // Don't draw overlapping opaque windows, they won't have changed - if ((w == v || (v->flags & WF_TRANSPARENT)) && window_is_visible(v)) { - window_draw_single(dpi, v, left, top, right, bottom); - } - } + // Draw the window in this region + for (rct_window *v = w; v < RCT2_NEW_WINDOW; v++) { + // Don't draw overlapping opaque windows, they won't have changed + if ((w == v || (v->flags & WF_TRANSPARENT)) && window_is_visible(v)) { + window_draw_single(dpi, v, left, top, right, bottom); + } + } } /** @@ -1631,100 +1631,100 @@ void window_draw(rct_drawpixelinfo *dpi, rct_window *w, sint32 left, sint32 top, */ static sint32 window_draw_split(rct_drawpixelinfo *dpi, rct_window *w, sint32 left, sint32 top, sint32 right, sint32 bottom) { - rct_window* topwindow; + rct_window* topwindow; - // Divide the draws up for only the visible regions of the window recursively - for (topwindow = w + 1; topwindow < RCT2_NEW_WINDOW; topwindow++) { - // Check if this window overlaps w - if (topwindow->x >= right || topwindow->y >= bottom) - continue; - if (topwindow->x + topwindow->width <= left || topwindow->y + topwindow->height <= top) - continue; - if (topwindow->flags & WF_TRANSPARENT) - continue; + // Divide the draws up for only the visible regions of the window recursively + for (topwindow = w + 1; topwindow < RCT2_NEW_WINDOW; topwindow++) { + // Check if this window overlaps w + if (topwindow->x >= right || topwindow->y >= bottom) + continue; + if (topwindow->x + topwindow->width <= left || topwindow->y + topwindow->height <= top) + continue; + if (topwindow->flags & WF_TRANSPARENT) + continue; - // A window overlaps w, split up the draw into two regions where the window starts to overlap - if (topwindow->x > left) { - // Split draw at topwindow.left - window_draw(dpi, w, left, top, topwindow->x, bottom); - window_draw(dpi, w, topwindow->x, top, right, bottom); - } else if (topwindow->x + topwindow->width < right) { - // Split draw at topwindow.right - window_draw(dpi, w, left, top, topwindow->x + topwindow->width, bottom); - window_draw(dpi, w, topwindow->x + topwindow->width, top, right, bottom); - } else if (topwindow->y > top) { - // Split draw at topwindow.top - window_draw(dpi, w, left, top, right, topwindow->y); - window_draw(dpi, w, left, topwindow->y, right, bottom); - } else if (topwindow->y + topwindow->height < bottom) { - // Split draw at topwindow.bottom - window_draw(dpi, w, left, top, right, topwindow->y + topwindow->height); - window_draw(dpi, w, left, topwindow->y + topwindow->height, right, bottom); - } + // A window overlaps w, split up the draw into two regions where the window starts to overlap + if (topwindow->x > left) { + // Split draw at topwindow.left + window_draw(dpi, w, left, top, topwindow->x, bottom); + window_draw(dpi, w, topwindow->x, top, right, bottom); + } else if (topwindow->x + topwindow->width < right) { + // Split draw at topwindow.right + window_draw(dpi, w, left, top, topwindow->x + topwindow->width, bottom); + window_draw(dpi, w, topwindow->x + topwindow->width, top, right, bottom); + } else if (topwindow->y > top) { + // Split draw at topwindow.top + window_draw(dpi, w, left, top, right, topwindow->y); + window_draw(dpi, w, left, topwindow->y, right, bottom); + } else if (topwindow->y + topwindow->height < bottom) { + // Split draw at topwindow.bottom + window_draw(dpi, w, left, top, right, topwindow->y + topwindow->height); + window_draw(dpi, w, left, topwindow->y + topwindow->height, right, bottom); + } - // Drawing for this region should be done now, exit - return 1; - } + // Drawing for this region should be done now, exit + return 1; + } - // No windows overlap - return 0; + // No windows overlap + return 0; } static void window_draw_single(rct_drawpixelinfo *dpi, rct_window *w, sint32 left, sint32 top, sint32 right, sint32 bottom) { - // Copy dpi so we can crop it - rct_drawpixelinfo copy = *dpi; - dpi = © + // Copy dpi so we can crop it + rct_drawpixelinfo copy = *dpi; + dpi = © - // Clamp left to 0 - sint32 overflow = left - dpi->x; - if (overflow > 0) { - dpi->x += overflow; - dpi->width -= overflow; - if (dpi->width <= 0) - return; - dpi->pitch += overflow; - dpi->bits += overflow; - } + // Clamp left to 0 + sint32 overflow = left - dpi->x; + if (overflow > 0) { + dpi->x += overflow; + dpi->width -= overflow; + if (dpi->width <= 0) + return; + dpi->pitch += overflow; + dpi->bits += overflow; + } - // Clamp width to right - overflow = dpi->x + dpi->width - right; - if (overflow > 0) { - dpi->width -= overflow; - if (dpi->width <= 0) - return; - dpi->pitch += overflow; - } + // Clamp width to right + overflow = dpi->x + dpi->width - right; + if (overflow > 0) { + dpi->width -= overflow; + if (dpi->width <= 0) + return; + dpi->pitch += overflow; + } - // Clamp top to 0 - overflow = top - dpi->y; - if (overflow > 0) { - dpi->y += overflow; - dpi->height -= overflow; - if (dpi->height <= 0) - return; - dpi->bits += (dpi->width + dpi->pitch) * overflow; - } + // Clamp top to 0 + overflow = top - dpi->y; + if (overflow > 0) { + dpi->y += overflow; + dpi->height -= overflow; + if (dpi->height <= 0) + return; + dpi->bits += (dpi->width + dpi->pitch) * overflow; + } - // Clamp height to bottom - overflow = dpi->y + dpi->height - bottom; - if (overflow > 0) { - dpi->height -= overflow; - if (dpi->height <= 0) - return; - } + // Clamp height to bottom + overflow = dpi->y + dpi->height - bottom; + if (overflow > 0) { + dpi->height -= overflow; + if (dpi->height <= 0) + return; + } - // Invalidate modifies the window colours so first get the correct - // colour before setting the global variables for the string painting - window_event_invalidate_call(w); + // Invalidate modifies the window colours so first get the correct + // colour before setting the global variables for the string painting + window_event_invalidate_call(w); - // Text colouring - gCurrentWindowColours[0] = NOT_TRANSLUCENT(w->colours[0]); - gCurrentWindowColours[1] = NOT_TRANSLUCENT(w->colours[1]); - gCurrentWindowColours[2] = NOT_TRANSLUCENT(w->colours[2]); - gCurrentWindowColours[3] = NOT_TRANSLUCENT(w->colours[3]); + // Text colouring + gCurrentWindowColours[0] = NOT_TRANSLUCENT(w->colours[0]); + gCurrentWindowColours[1] = NOT_TRANSLUCENT(w->colours[1]); + gCurrentWindowColours[2] = NOT_TRANSLUCENT(w->colours[2]); + gCurrentWindowColours[3] = NOT_TRANSLUCENT(w->colours[3]); - window_event_paint_call(w, dpi); + window_event_paint_call(w, dpi); } /** @@ -1736,29 +1736,29 @@ static void window_draw_single(rct_drawpixelinfo *dpi, rct_window *w, sint32 lef */ void window_draw_widgets(rct_window *w, rct_drawpixelinfo *dpi) { - rct_widget *widget; - rct_widgetindex widgetIndex; + rct_widget *widget; + rct_widgetindex widgetIndex; - if ((w->flags & WF_TRANSPARENT) && !(w->flags & WF_NO_BACKGROUND)) - gfx_filter_rect(dpi, w->x, w->y, w->x + w->width - 1, w->y + w->height - 1, PALETTE_51); + if ((w->flags & WF_TRANSPARENT) && !(w->flags & WF_NO_BACKGROUND)) + gfx_filter_rect(dpi, w->x, w->y, w->x + w->width - 1, w->y + w->height - 1, PALETTE_51); - //todo: some code missing here? Between 006EB18C and 006EB260 + //todo: some code missing here? Between 006EB18C and 006EB260 - widgetIndex = 0; - for (widget = w->widgets; widget->type != WWT_LAST; widget++) { - // Check if widget is outside the draw region - if (w->x + widget->left < dpi->x + dpi->width && w->x + widget->right >= dpi->x) - if (w->y + widget->top < dpi->y + dpi->height && w->y + widget->bottom >= dpi->y) - widget_draw(dpi, w, widgetIndex); + widgetIndex = 0; + for (widget = w->widgets; widget->type != WWT_LAST; widget++) { + // Check if widget is outside the draw region + if (w->x + widget->left < dpi->x + dpi->width && w->x + widget->right >= dpi->x) + if (w->y + widget->top < dpi->y + dpi->height && w->y + widget->bottom >= dpi->y) + widget_draw(dpi, w, widgetIndex); - widgetIndex++; - } + widgetIndex++; + } - //todo: something missing here too? Between 006EC32B and 006EC369 + //todo: something missing here too? Between 006EC32B and 006EC369 - if (w->flags & WF_WHITE_BORDER_MASK) { - gfx_fill_rect_inset(dpi, w->x, w->y, w->x + w->width - 1, w->y + w->height - 1, COLOUR_WHITE, INSET_RECT_FLAG_FILL_NONE); - } + if (w->flags & WF_WHITE_BORDER_MASK) { + gfx_fill_rect_inset(dpi, w->x, w->y, w->x + w->width - 1, w->y + w->height - 1, COLOUR_WHITE, INSET_RECT_FLAG_FILL_NONE); + } } /** @@ -1770,79 +1770,79 @@ void window_draw_widgets(rct_window *w, rct_drawpixelinfo *dpi) */ void window_draw_viewport(rct_drawpixelinfo *dpi, rct_window *w) { - viewport_render(dpi, w->viewport, dpi->x, dpi->y, dpi->x + dpi->width, dpi->y + dpi->height); + viewport_render(dpi, w->viewport, dpi->x, dpi->y, dpi->x + dpi->width, dpi->y + dpi->height); } void window_set_position(rct_window *w, sint32 x, sint32 y) { - window_move_position(w, x - w->x, y - w->y); + window_move_position(w, x - w->x, y - w->y); } void window_move_position(rct_window *w, sint32 dx, sint32 dy) { - if (dx == 0 && dy == 0) - return; + if (dx == 0 && dy == 0) + return; - // Invalidate old region - window_invalidate(w); + // Invalidate old region + window_invalidate(w); - // Translate window and viewport - w->x += dx; - w->y += dy; - if (w->viewport != NULL) { - w->viewport->x += dx; - w->viewport->y += dy; - } + // Translate window and viewport + w->x += dx; + w->y += dy; + if (w->viewport != NULL) { + w->viewport->x += dx; + w->viewport->y += dy; + } - // Invalidate new region - window_invalidate(w); + // Invalidate new region + window_invalidate(w); } void window_resize(rct_window *w, sint32 dw, sint32 dh) { - sint32 i; - if (dw == 0 && dh == 0) - return; + sint32 i; + if (dw == 0 && dh == 0) + return; - // Invalidate old region - window_invalidate(w); + // Invalidate old region + window_invalidate(w); - // Clamp new size to minimum and maximum - w->width = clamp(w->min_width, w->width + dw, w->max_width); - w->height = clamp(w->min_height, w->height + dh, w->max_height); + // Clamp new size to minimum and maximum + w->width = clamp(w->min_width, w->width + dw, w->max_width); + w->height = clamp(w->min_height, w->height + dh, w->max_height); - window_event_resize_call(w); - window_event_invalidate_call(w); + window_event_resize_call(w); + window_event_invalidate_call(w); - // Update scroll widgets - for (i = 0; i < 3; i++) { - w->scrolls[i].h_right = -1; - w->scrolls[i].v_bottom = -1; - } - window_update_scroll_widgets(w); + // Update scroll widgets + for (i = 0; i < 3; i++) { + w->scrolls[i].h_right = -1; + w->scrolls[i].v_bottom = -1; + } + window_update_scroll_widgets(w); - // Invalidate new region - window_invalidate(w); + // Invalidate new region + window_invalidate(w); } void window_set_resize(rct_window *w, sint32 minWidth, sint32 minHeight, sint32 maxWidth, sint32 maxHeight) { - w->min_width = minWidth; - w->min_height = minHeight; - w->max_width = maxWidth; - w->max_height = maxHeight; + w->min_width = minWidth; + w->min_height = minHeight; + w->max_width = maxWidth; + w->max_height = maxHeight; - // Clamp width and height to minimum and maximum - sint32 width = clamp(minWidth, w->width, maxWidth); - sint32 height = clamp(minHeight, w->height, maxHeight); + // Clamp width and height to minimum and maximum + sint32 width = clamp(minWidth, w->width, maxWidth); + sint32 height = clamp(minHeight, w->height, maxHeight); - // Resize window if size has changed - if (w->width != width || w->height != height) { - window_invalidate(w); - w->width = width; - w->height = height; - window_invalidate(w); - } + // Resize window if size has changed + if (w->width != width || w->height != height) { + window_invalidate(w); + w->width = width; + w->height = height; + window_invalidate(w); + } } /** @@ -1855,26 +1855,26 @@ void window_set_resize(rct_window *w, sint32 minWidth, sint32 minHeight, sint32 */ bool tool_set(rct_window *w, rct_widgetindex widgetIndex, TOOL_IDX tool) { - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) { - if ( - w->classification == gCurrentToolWidget.window_classification && - w->number == gCurrentToolWidget.window_number && - widgetIndex == gCurrentToolWidget.widget_index - ) { - tool_cancel(); - return true; - } else { - tool_cancel(); - } - } + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) { + if ( + w->classification == gCurrentToolWidget.window_classification && + w->number == gCurrentToolWidget.window_number && + widgetIndex == gCurrentToolWidget.widget_index + ) { + tool_cancel(); + return true; + } else { + tool_cancel(); + } + } - input_set_flag(INPUT_FLAG_TOOL_ACTIVE, true); - input_set_flag(INPUT_FLAG_6, false); - gCurrentToolId = tool; - gCurrentToolWidget.window_classification = w->classification; - gCurrentToolWidget.window_number = w->number; - gCurrentToolWidget.widget_index = widgetIndex; - return false; + input_set_flag(INPUT_FLAG_TOOL_ACTIVE, true); + input_set_flag(INPUT_FLAG_6, false); + gCurrentToolId = tool; + gCurrentToolWidget.window_classification = w->classification; + gCurrentToolWidget.window_number = w->number; + gCurrentToolWidget.widget_index = widgetIndex; + return false; } /** @@ -1883,205 +1883,205 @@ bool tool_set(rct_window *w, rct_widgetindex widgetIndex, TOOL_IDX tool) */ void tool_cancel() { - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) { - input_set_flag(INPUT_FLAG_TOOL_ACTIVE, false); + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) { + input_set_flag(INPUT_FLAG_TOOL_ACTIVE, false); - map_invalidate_selection_rect(); - map_invalidate_map_selection_tiles(); + map_invalidate_selection_rect(); + map_invalidate_map_selection_tiles(); - // Reset map selection - gMapSelectFlags = 0; + // Reset map selection + gMapSelectFlags = 0; - if (gCurrentToolWidget.widget_index != -1) { - // Invalidate tool widget - widget_invalidate_by_number( - gCurrentToolWidget.window_classification, - gCurrentToolWidget.window_number, - gCurrentToolWidget.widget_index - ); + if (gCurrentToolWidget.widget_index != -1) { + // Invalidate tool widget + widget_invalidate_by_number( + gCurrentToolWidget.window_classification, + gCurrentToolWidget.window_number, + gCurrentToolWidget.widget_index + ); - // Abort tool event - rct_window *w = window_find_by_number( - gCurrentToolWidget.window_classification, - gCurrentToolWidget.window_number - ); - if (w != NULL) - window_event_tool_abort_call(w, gCurrentToolWidget.widget_index); - } - } + // Abort tool event + rct_window *w = window_find_by_number( + gCurrentToolWidget.window_classification, + gCurrentToolWidget.window_number + ); + if (w != NULL) + window_event_tool_abort_call(w, gCurrentToolWidget.widget_index); + } + } } void window_event_close_call(rct_window *w) { - if (w->event_handlers->close != NULL) - w->event_handlers->close(w); + if (w->event_handlers->close != NULL) + w->event_handlers->close(w); } void window_event_mouse_up_call(rct_window *w, rct_widgetindex widgetIndex) { - if (w->event_handlers->mouse_up != NULL) - w->event_handlers->mouse_up(w, widgetIndex); + if (w->event_handlers->mouse_up != NULL) + w->event_handlers->mouse_up(w, widgetIndex); } void window_event_resize_call(rct_window *w) { - if (w->event_handlers->resize != NULL) - w->event_handlers->resize(w); + if (w->event_handlers->resize != NULL) + w->event_handlers->resize(w); } void window_event_mouse_down_call(rct_window *w, rct_widgetindex widgetIndex) { - if (w->event_handlers->mouse_down != NULL) - w->event_handlers->mouse_down(widgetIndex, w, &w->widgets[widgetIndex]); + if (w->event_handlers->mouse_down != NULL) + w->event_handlers->mouse_down(widgetIndex, w, &w->widgets[widgetIndex]); } void window_event_dropdown_call(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (w->event_handlers->dropdown != NULL) - w->event_handlers->dropdown(w, widgetIndex, dropdownIndex); + if (w->event_handlers->dropdown != NULL) + w->event_handlers->dropdown(w, widgetIndex, dropdownIndex); } void window_event_unknown_05_call(rct_window *w) { - if (w->event_handlers->unknown_05 != NULL) - w->event_handlers->unknown_05(w); + if (w->event_handlers->unknown_05 != NULL) + w->event_handlers->unknown_05(w); } void window_event_update_call(rct_window *w) { - if (w->event_handlers->update != NULL) - w->event_handlers->update(w); + if (w->event_handlers->update != NULL) + w->event_handlers->update(w); } void window_event_unknown_07_call(rct_window *w) { - if (w->event_handlers->unknown_07 != NULL) - w->event_handlers->unknown_07(w); + if (w->event_handlers->unknown_07 != NULL) + w->event_handlers->unknown_07(w); } void window_event_unknown_08_call(rct_window *w) { - if (w->event_handlers->unknown_08 != NULL) - w->event_handlers->unknown_08(w); + if (w->event_handlers->unknown_08 != NULL) + w->event_handlers->unknown_08(w); } void window_event_tool_update_call(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (w->event_handlers->tool_update != NULL) - w->event_handlers->tool_update(w, widgetIndex, x, y); + if (w->event_handlers->tool_update != NULL) + w->event_handlers->tool_update(w, widgetIndex, x, y); } void window_event_tool_down_call(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (w->event_handlers->tool_down != NULL) - w->event_handlers->tool_down(w, widgetIndex, x, y); + if (w->event_handlers->tool_down != NULL) + w->event_handlers->tool_down(w, widgetIndex, x, y); } void window_event_tool_drag_call(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (w->event_handlers->tool_drag != NULL) - w->event_handlers->tool_drag(w, widgetIndex, x, y); + if (w->event_handlers->tool_drag != NULL) + w->event_handlers->tool_drag(w, widgetIndex, x, y); } void window_event_tool_up_call(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (w->event_handlers->tool_up != NULL) - w->event_handlers->tool_up(w, widgetIndex, x, y); + if (w->event_handlers->tool_up != NULL) + w->event_handlers->tool_up(w, widgetIndex, x, y); } void window_event_tool_abort_call(rct_window *w, rct_widgetindex widgetIndex) { - if (w->event_handlers->tool_abort != NULL) - w->event_handlers->tool_abort(w, widgetIndex); + if (w->event_handlers->tool_abort != NULL) + w->event_handlers->tool_abort(w, widgetIndex); } void window_event_unknown_0E_call(rct_window *w) { - if (w->event_handlers->unknown_0E != NULL) - w->event_handlers->unknown_0E(w); + if (w->event_handlers->unknown_0E != NULL) + w->event_handlers->unknown_0E(w); } void window_get_scroll_size(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - if (w->event_handlers->get_scroll_size != NULL) { - w->event_handlers->get_scroll_size(w, scrollIndex, width, height); - } + if (w->event_handlers->get_scroll_size != NULL) { + w->event_handlers->get_scroll_size(w, scrollIndex, width, height); + } } void window_event_scroll_mousedown_call(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - if (w->event_handlers->scroll_mousedown != NULL) - w->event_handlers->scroll_mousedown(w, scrollIndex, x, y); + if (w->event_handlers->scroll_mousedown != NULL) + w->event_handlers->scroll_mousedown(w, scrollIndex, x, y); } void window_event_scroll_mousedrag_call(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - if (w->event_handlers->scroll_mousedrag != NULL) - w->event_handlers->scroll_mousedrag(w, scrollIndex, x, y); + if (w->event_handlers->scroll_mousedrag != NULL) + w->event_handlers->scroll_mousedrag(w, scrollIndex, x, y); } void window_event_scroll_mouseover_call(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - if (w->event_handlers->scroll_mouseover != NULL) - w->event_handlers->scroll_mouseover(w, scrollIndex, x, y); + if (w->event_handlers->scroll_mouseover != NULL) + w->event_handlers->scroll_mouseover(w, scrollIndex, x, y); } void window_event_textinput_call(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (w->event_handlers->text_input != NULL) - w->event_handlers->text_input(w, widgetIndex, text); + if (w->event_handlers->text_input != NULL) + w->event_handlers->text_input(w, widgetIndex, text); } void window_event_unknown_14_call(rct_window *w) { - if (w->event_handlers->unknown_14 != NULL) - w->event_handlers->unknown_14(w); + if (w->event_handlers->unknown_14 != NULL) + w->event_handlers->unknown_14(w); } void window_event_unknown_15_call(rct_window *w, sint32 scrollIndex, sint32 scrollAreaType) { - if (w->event_handlers->unknown_15 != NULL) - w->event_handlers->unknown_15(w, scrollIndex, scrollAreaType); + if (w->event_handlers->unknown_15 != NULL) + w->event_handlers->unknown_15(w, scrollIndex, scrollAreaType); } rct_string_id window_event_tooltip_call(rct_window *w, rct_widgetindex widgetIndex) { - rct_string_id result = 0; - if (w->event_handlers->tooltip != NULL) - w->event_handlers->tooltip(w, widgetIndex, &result); - return result; + rct_string_id result = 0; + if (w->event_handlers->tooltip != NULL) + w->event_handlers->tooltip(w, widgetIndex, &result); + return result; } sint32 window_event_cursor_call(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - sint32 cursorId = CURSOR_ARROW; - if (w->event_handlers->cursor != NULL) - w->event_handlers->cursor(w, widgetIndex, x, y, &cursorId); - return cursorId; + sint32 cursorId = CURSOR_ARROW; + if (w->event_handlers->cursor != NULL) + w->event_handlers->cursor(w, widgetIndex, x, y, &cursorId); + return cursorId; } void window_event_moved_call(rct_window *w, sint32 x, sint32 y) { - if (w->event_handlers->moved != NULL) - w->event_handlers->moved(w, x, y); + if (w->event_handlers->moved != NULL) + w->event_handlers->moved(w, x, y); } void window_event_invalidate_call(rct_window *w) { - if (w->event_handlers->invalidate != NULL) - w->event_handlers->invalidate(w); + if (w->event_handlers->invalidate != NULL) + w->event_handlers->invalidate(w); } void window_event_paint_call(rct_window *w, rct_drawpixelinfo *dpi) { - if (w->event_handlers->paint != NULL) - w->event_handlers->paint(w, dpi); + if (w->event_handlers->paint != NULL) + w->event_handlers->paint(w, dpi); } void window_event_scroll_paint_call(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - if (w->event_handlers->scroll_paint != NULL) - w->event_handlers->scroll_paint(w, dpi, scrollIndex); + if (w->event_handlers->scroll_paint != NULL) + w->event_handlers->scroll_paint(w, dpi, scrollIndex); } /** @@ -2090,9 +2090,9 @@ void window_event_scroll_paint_call(rct_window *w, rct_drawpixelinfo *dpi, sint3 * rct2: New function not from rct2 */ void window_bubble_list_item(rct_window* w, sint32 item_position){ - char swap = w->list_item_positions[item_position]; - w->list_item_positions[item_position] = w->list_item_positions[item_position + 1]; - w->list_item_positions[item_position + 1] = swap; + char swap = w->list_item_positions[item_position]; + w->list_item_positions[item_position] = w->list_item_positions[item_position + 1]; + w->list_item_positions[item_position + 1] = swap; } /** @@ -2102,32 +2102,32 @@ void window_bubble_list_item(rct_window* w, sint32 item_position){ * are going to be out of sight. */ void window_relocate_windows(sint32 width, sint32 height){ - sint32 new_location = 8; - for (rct_window* w = g_window_list; w < RCT2_NEW_WINDOW; w++){ + sint32 new_location = 8; + for (rct_window* w = g_window_list; w < RCT2_NEW_WINDOW; w++){ - // Work out if the window requires moving - if (w->x + 10 < width){ - if (w->flags&(WF_STICK_TO_BACK | WF_STICK_TO_FRONT)){ - if (w->y -22 < height)continue; - } - if (w->y + 10 < height)continue; - } + // Work out if the window requires moving + if (w->x + 10 < width){ + if (w->flags&(WF_STICK_TO_BACK | WF_STICK_TO_FRONT)){ + if (w->y -22 < height)continue; + } + if (w->y + 10 < height)continue; + } - // Calculate the new locations - sint32 x = w->x; - sint32 y = w->y; - w->x = new_location; - w->y = new_location + TOP_TOOLBAR_HEIGHT + 1; + // Calculate the new locations + sint32 x = w->x; + sint32 y = w->y; + w->x = new_location; + w->y = new_location + TOP_TOOLBAR_HEIGHT + 1; - // Move the next new location so windows are not directly on top - new_location += 8; + // Move the next new location so windows are not directly on top + new_location += 8; - // Adjust the viewport if required. - if (w->viewport){ - w->viewport->x -= x - w->x; - w->viewport->y -= y - w->y; - } - } + // Adjust the viewport if required. + if (w->viewport){ + w->viewport->x -= x - w->x; + w->viewport->y -= y - w->y; + } + } } /** @@ -2135,54 +2135,54 @@ void window_relocate_windows(sint32 width, sint32 height){ */ void window_resize_gui(sint32 width, sint32 height) { - if (gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)){ - window_resize_gui_scenario_editor(width, height); - return; - } - rct_window *mainWind = window_get_main(); - if (mainWind != NULL) { - rct_viewport* viewport = mainWind->viewport; - mainWind->width = width; - mainWind->height = height; - viewport->width = width; - viewport->height = height; - viewport->view_width = width << viewport->zoom; - viewport->view_height = height << viewport->zoom; - if (mainWind->widgets != NULL && mainWind->widgets[WC_MAIN_WINDOW__0].type == WWT_VIEWPORT){ - mainWind->widgets[WC_MAIN_WINDOW__0].right = width; - mainWind->widgets[WC_MAIN_WINDOW__0].bottom = height; - } - } + if (gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)){ + window_resize_gui_scenario_editor(width, height); + return; + } + rct_window *mainWind = window_get_main(); + if (mainWind != NULL) { + rct_viewport* viewport = mainWind->viewport; + mainWind->width = width; + mainWind->height = height; + viewport->width = width; + viewport->height = height; + viewport->view_width = width << viewport->zoom; + viewport->view_height = height << viewport->zoom; + if (mainWind->widgets != NULL && mainWind->widgets[WC_MAIN_WINDOW__0].type == WWT_VIEWPORT){ + mainWind->widgets[WC_MAIN_WINDOW__0].right = width; + mainWind->widgets[WC_MAIN_WINDOW__0].bottom = height; + } + } - rct_window *topWind = window_find_by_class(WC_TOP_TOOLBAR); - if (topWind != NULL) { - topWind->width = max(640, width); - } + rct_window *topWind = window_find_by_class(WC_TOP_TOOLBAR); + if (topWind != NULL) { + topWind->width = max(640, width); + } - rct_window *bottomWind = window_find_by_class(WC_BOTTOM_TOOLBAR); - if (bottomWind != NULL) { - bottomWind->y = height - 32; - bottomWind->width = max(640, width); - } + rct_window *bottomWind = window_find_by_class(WC_BOTTOM_TOOLBAR); + if (bottomWind != NULL) { + bottomWind->y = height - 32; + bottomWind->width = max(640, width); + } - rct_window *titleWind = window_find_by_class(WC_TITLE_MENU); - if (titleWind != NULL) { - titleWind->x = (width - titleWind->width) / 2; - titleWind->y = height - 142; - } + rct_window *titleWind = window_find_by_class(WC_TITLE_MENU); + if (titleWind != NULL) { + titleWind->x = (width - titleWind->width) / 2; + titleWind->y = height - 142; + } - rct_window *exitWind = window_find_by_class(WC_TITLE_EXIT); - if (exitWind != NULL) { - exitWind->x = width - 40; - exitWind->y = height - 64; - } + rct_window *exitWind = window_find_by_class(WC_TITLE_EXIT); + if (exitWind != NULL) { + exitWind->x = width - 40; + exitWind->y = height - 64; + } - rct_window *optionsWind = window_find_by_class(WC_TITLE_OPTIONS); - if (optionsWind != NULL) { - optionsWind->x = width - 80; - } + rct_window *optionsWind = window_find_by_class(WC_TITLE_OPTIONS); + if (optionsWind != NULL) { + optionsWind->x = width - 80; + } - gfx_invalidate_screen(); + gfx_invalidate_screen(); } /** @@ -2190,47 +2190,47 @@ void window_resize_gui(sint32 width, sint32 height) */ void window_resize_gui_scenario_editor(sint32 width, sint32 height) { - rct_window* mainWind = window_get_main(); - if (mainWind) { - rct_viewport* viewport = mainWind->viewport; - mainWind->width = width; - mainWind->height = height; - viewport->width = width; - viewport->height = height; - viewport->view_width = width << viewport->zoom; - viewport->view_height = height << viewport->zoom; - if (mainWind->widgets != NULL && mainWind->widgets[WC_MAIN_WINDOW__0].type == WWT_VIEWPORT){ - mainWind->widgets[WC_MAIN_WINDOW__0].right = width; - mainWind->widgets[WC_MAIN_WINDOW__0].bottom = height; - } - } + rct_window* mainWind = window_get_main(); + if (mainWind) { + rct_viewport* viewport = mainWind->viewport; + mainWind->width = width; + mainWind->height = height; + viewport->width = width; + viewport->height = height; + viewport->view_width = width << viewport->zoom; + viewport->view_height = height << viewport->zoom; + if (mainWind->widgets != NULL && mainWind->widgets[WC_MAIN_WINDOW__0].type == WWT_VIEWPORT){ + mainWind->widgets[WC_MAIN_WINDOW__0].right = width; + mainWind->widgets[WC_MAIN_WINDOW__0].bottom = height; + } + } - rct_window *topWind = window_find_by_class(WC_TOP_TOOLBAR); - if (topWind != NULL) { - topWind->width = max(640, width); - } + rct_window *topWind = window_find_by_class(WC_TOP_TOOLBAR); + if (topWind != NULL) { + topWind->width = max(640, width); + } - rct_window *bottomWind = window_find_by_class(WC_BOTTOM_TOOLBAR); - if (bottomWind != NULL) { - bottomWind->y = height - 32; - bottomWind->width = max(640, width); - } + rct_window *bottomWind = window_find_by_class(WC_BOTTOM_TOOLBAR); + if (bottomWind != NULL) { + bottomWind->y = height - 32; + bottomWind->width = max(640, width); + } } /* Based on rct2: 0x6987ED and another version from window_park */ void window_align_tabs(rct_window *w, rct_widgetindex start_tab_id, rct_widgetindex end_tab_id) { - sint32 i, x = w->widgets[start_tab_id].left; - sint32 tab_width = w->widgets[start_tab_id].right - w->widgets[start_tab_id].left; + sint32 i, x = w->widgets[start_tab_id].left; + sint32 tab_width = w->widgets[start_tab_id].right - w->widgets[start_tab_id].left; - for (i = start_tab_id; i <= end_tab_id; i++) { - if (!(w->disabled_widgets & (1LL << i))) { - w->widgets[i].left = x; - w->widgets[i].right = x + tab_width; - x += tab_width + 1; - } - } + for (i = start_tab_id; i <= end_tab_id; i++) { + if (!(w->disabled_widgets & (1LL << i))) { + w->widgets[i].left = x; + w->widgets[i].right = x + tab_width; + x += tab_width + 1; + } + } } /** @@ -2239,10 +2239,10 @@ void window_align_tabs(rct_window *w, rct_widgetindex start_tab_id, rct_widgetin */ void window_close_construction_windows() { - window_close_by_class(WC_RIDE_CONSTRUCTION); - window_close_by_class(WC_FOOTPATH); - window_close_by_class(WC_TRACK_DESIGN_LIST); - window_close_by_class(WC_TRACK_DESIGN_PLACE); + window_close_by_class(WC_RIDE_CONSTRUCTION); + window_close_by_class(WC_FOOTPATH); + window_close_by_class(WC_TRACK_DESIGN_LIST); + window_close_by_class(WC_TRACK_DESIGN_PLACE); } /** @@ -2251,17 +2251,17 @@ void window_close_construction_windows() */ static void window_invalidate_pressed_image_buttons(rct_window *w) { - rct_widgetindex widgetIndex; - rct_widget *widget; + rct_widgetindex widgetIndex; + rct_widget *widget; - widgetIndex = 0; - for (widget = w->widgets; widget->type != WWT_LAST; widget++, widgetIndex++) { - if (widget->type != WWT_5 && widget->type != WWT_IMGBTN) - continue; + widgetIndex = 0; + for (widget = w->widgets; widget->type != WWT_LAST; widget++, widgetIndex++) { + if (widget->type != WWT_5 && widget->type != WWT_IMGBTN) + continue; - if (widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex)) - gfx_set_dirty_blocks(w->x, w->y, w->x + w->width, w->y + w->height); - } + if (widget_is_pressed(w, widgetIndex) || widget_is_active_tool(w, widgetIndex)) + gfx_set_dirty_blocks(w->x, w->y, w->x + w->width, w->y + w->height); + } } /** @@ -2270,11 +2270,11 @@ static void window_invalidate_pressed_image_buttons(rct_window *w) */ void invalidate_all_windows_after_input() { - for (rct_window *w = RCT2_LAST_WINDOW; w >= g_window_list; w--) { - window_update_scroll_widgets(w); - window_invalidate_pressed_image_buttons(w); - window_event_resize_call(w); - } + for (rct_window *w = RCT2_LAST_WINDOW; w >= g_window_list; w--) { + window_update_scroll_widgets(w); + window_invalidate_pressed_image_buttons(w); + window_event_resize_call(w); + } } /** @@ -2283,199 +2283,199 @@ void invalidate_all_windows_after_input() */ void window_update_viewport_ride_music() { - rct_viewport *viewport; - rct_window *w; + rct_viewport *viewport; + rct_window *w; - gRideMusicParamsListEnd = &gRideMusicParamsList[0]; - g_music_tracking_viewport = (rct_viewport*)-1; + gRideMusicParamsListEnd = &gRideMusicParamsList[0]; + g_music_tracking_viewport = (rct_viewport*)-1; - for (w = RCT2_LAST_WINDOW; w >= g_window_list; w--) { - viewport = w->viewport; - if (viewport == NULL || !(viewport->flags & VIEWPORT_FLAG_SOUND_ON)) - continue; + for (w = RCT2_LAST_WINDOW; w >= g_window_list; w--) { + viewport = w->viewport; + if (viewport == NULL || !(viewport->flags & VIEWPORT_FLAG_SOUND_ON)) + continue; - g_music_tracking_viewport = viewport; - gWindowAudioExclusive = w; + g_music_tracking_viewport = viewport; + gWindowAudioExclusive = w; - switch (viewport->zoom) { - case 0: - gVolumeAdjustZoom = 0; - break; - case 1: - gVolumeAdjustZoom = 30; - break; - default: - gVolumeAdjustZoom = 60; - break; - } - break; - } + switch (viewport->zoom) { + case 0: + gVolumeAdjustZoom = 0; + break; + case 1: + gVolumeAdjustZoom = 30; + break; + default: + gVolumeAdjustZoom = 60; + break; + } + break; + } } static void window_snap_left(rct_window *w, sint32 proximity) { - sint32 right, rightMost, wLeftProximity, wRightProximity, wBottom; - rct_window *mainWindow, *w2; + sint32 right, rightMost, wLeftProximity, wRightProximity, wBottom; + rct_window *mainWindow, *w2; - mainWindow = window_get_main(); + mainWindow = window_get_main(); - wBottom = w->y + w->height; - wLeftProximity = w->x - (proximity * 2); - wRightProximity = w->x + (proximity * 2); - rightMost = INT32_MIN; - for (w2 = g_window_list; w2 < RCT2_NEW_WINDOW; w2++) { - if (w2 == w || w2 == mainWindow) - continue; + wBottom = w->y + w->height; + wLeftProximity = w->x - (proximity * 2); + wRightProximity = w->x + (proximity * 2); + rightMost = INT32_MIN; + for (w2 = g_window_list; w2 < RCT2_NEW_WINDOW; w2++) { + if (w2 == w || w2 == mainWindow) + continue; - right = w2->x + w2->width; + right = w2->x + w2->width; - if (wBottom < w2->y || w->y > w2->y + w2->height) - continue; + if (wBottom < w2->y || w->y > w2->y + w2->height) + continue; - if (right < wLeftProximity || right > wRightProximity) - continue; + if (right < wLeftProximity || right > wRightProximity) + continue; - rightMost = max(rightMost, right); - } + rightMost = max(rightMost, right); + } - if (0 >= wLeftProximity && 0 <= wRightProximity) - rightMost = max(rightMost, 0); + if (0 >= wLeftProximity && 0 <= wRightProximity) + rightMost = max(rightMost, 0); - if (rightMost != INT32_MIN) - w->x = rightMost; + if (rightMost != INT32_MIN) + w->x = rightMost; } static void window_snap_top(rct_window *w, sint32 proximity) { - sint32 bottom, bottomMost, wTopProximity, wBottomProximity, wRight; - rct_window *mainWindow, *w2; + sint32 bottom, bottomMost, wTopProximity, wBottomProximity, wRight; + rct_window *mainWindow, *w2; - mainWindow = window_get_main(); + mainWindow = window_get_main(); - wRight = w->x + w->width; - wTopProximity = w->y - (proximity * 2); - wBottomProximity = w->y + (proximity * 2); - bottomMost = INT32_MIN; - for (w2 = g_window_list; w2 < RCT2_NEW_WINDOW; w2++) { - if (w2 == w || w2 == mainWindow) - continue; + wRight = w->x + w->width; + wTopProximity = w->y - (proximity * 2); + wBottomProximity = w->y + (proximity * 2); + bottomMost = INT32_MIN; + for (w2 = g_window_list; w2 < RCT2_NEW_WINDOW; w2++) { + if (w2 == w || w2 == mainWindow) + continue; - bottom = w2->y + w2->height; + bottom = w2->y + w2->height; - if (wRight < w2->x || w->x > w2->x + w2->width) - continue; + if (wRight < w2->x || w->x > w2->x + w2->width) + continue; - if (bottom < wTopProximity || bottom > wBottomProximity) - continue; + if (bottom < wTopProximity || bottom > wBottomProximity) + continue; - bottomMost = max(bottomMost, bottom); - } + bottomMost = max(bottomMost, bottom); + } - if (0 >= wTopProximity && 0 <= wBottomProximity) - bottomMost = max(bottomMost, 0); + if (0 >= wTopProximity && 0 <= wBottomProximity) + bottomMost = max(bottomMost, 0); - if (bottomMost != INT32_MIN) - w->y = bottomMost; + if (bottomMost != INT32_MIN) + w->y = bottomMost; } static void window_snap_right(rct_window *w, sint32 proximity) { - sint32 leftMost, wLeftProximity, wRightProximity, wRight, wBottom, screenWidth; - rct_window *mainWindow, *w2; + sint32 leftMost, wLeftProximity, wRightProximity, wRight, wBottom, screenWidth; + rct_window *mainWindow, *w2; - mainWindow = window_get_main(); + mainWindow = window_get_main(); - wRight = w->x + w->width; - wBottom = w->y + w->height; - wLeftProximity = wRight - (proximity * 2); - wRightProximity = wRight + (proximity * 2); - leftMost = INT32_MAX; - for (w2 = g_window_list; w2 < RCT2_NEW_WINDOW; w2++) { - if (w2 == w || w2 == mainWindow) - continue; + wRight = w->x + w->width; + wBottom = w->y + w->height; + wLeftProximity = wRight - (proximity * 2); + wRightProximity = wRight + (proximity * 2); + leftMost = INT32_MAX; + for (w2 = g_window_list; w2 < RCT2_NEW_WINDOW; w2++) { + if (w2 == w || w2 == mainWindow) + continue; - if (wBottom < w2->y || w->y > w2->y + w2->height) - continue; + if (wBottom < w2->y || w->y > w2->y + w2->height) + continue; - if (w2->x < wLeftProximity || w2->x > wRightProximity) - continue; + if (w2->x < wLeftProximity || w2->x > wRightProximity) + continue; - leftMost = min(leftMost, w2->x); - } + leftMost = min(leftMost, w2->x); + } - screenWidth = context_get_width(); - if (screenWidth >= wLeftProximity && screenWidth <= wRightProximity) - leftMost = min(leftMost, screenWidth); + screenWidth = context_get_width(); + if (screenWidth >= wLeftProximity && screenWidth <= wRightProximity) + leftMost = min(leftMost, screenWidth); - if (leftMost != INT32_MAX) - w->x = leftMost - w->width; + if (leftMost != INT32_MAX) + w->x = leftMost - w->width; } static void window_snap_bottom(rct_window *w, sint32 proximity) { - sint32 topMost, wTopProximity, wBottomProximity, wRight, wBottom, screenHeight; - rct_window *mainWindow, *w2; + sint32 topMost, wTopProximity, wBottomProximity, wRight, wBottom, screenHeight; + rct_window *mainWindow, *w2; - mainWindow = window_get_main(); + mainWindow = window_get_main(); - wRight = w->x + w->width; - wBottom = w->y + w->height; - wTopProximity = wBottom - (proximity * 2); - wBottomProximity = wBottom + (proximity * 2); - topMost = INT32_MAX; - for (w2 = g_window_list; w2 < RCT2_NEW_WINDOW; w2++) { - if (w2 == w || w2 == mainWindow) - continue; + wRight = w->x + w->width; + wBottom = w->y + w->height; + wTopProximity = wBottom - (proximity * 2); + wBottomProximity = wBottom + (proximity * 2); + topMost = INT32_MAX; + for (w2 = g_window_list; w2 < RCT2_NEW_WINDOW; w2++) { + if (w2 == w || w2 == mainWindow) + continue; - if (wRight < w2->x || w->x > w2->x + w2->width) - continue; + if (wRight < w2->x || w->x > w2->x + w2->width) + continue; - if (w2->y < wTopProximity || w2->y > wBottomProximity) - continue; + if (w2->y < wTopProximity || w2->y > wBottomProximity) + continue; - topMost = min(topMost, w2->y); - } + topMost = min(topMost, w2->y); + } - screenHeight = context_get_height(); - if (screenHeight >= wTopProximity && screenHeight <= wBottomProximity) - topMost = min(topMost, screenHeight); + screenHeight = context_get_height(); + if (screenHeight >= wTopProximity && screenHeight <= wBottomProximity) + topMost = min(topMost, screenHeight); - if (topMost != INT32_MAX) - w->y = topMost - w->height; + if (topMost != INT32_MAX) + w->y = topMost - w->height; } void window_move_and_snap(rct_window *w, sint32 newWindowX, sint32 newWindowY, sint32 snapProximity) { - sint32 originalX = w->x; - sint32 originalY = w->y; - sint32 minY = (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) ? 1 : TOP_TOOLBAR_HEIGHT + 2; + sint32 originalX = w->x; + sint32 originalY = w->y; + sint32 minY = (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) ? 1 : TOP_TOOLBAR_HEIGHT + 2; - newWindowY = clamp(minY, newWindowY, context_get_height() - 34); + newWindowY = clamp(minY, newWindowY, context_get_height() - 34); - if (snapProximity > 0) { - w->x = newWindowX; - w->y = newWindowY; + if (snapProximity > 0) { + w->x = newWindowX; + w->y = newWindowY; - window_snap_right(w, snapProximity); - window_snap_bottom(w, snapProximity); - window_snap_left(w, snapProximity); - window_snap_top(w, snapProximity); + window_snap_right(w, snapProximity); + window_snap_bottom(w, snapProximity); + window_snap_left(w, snapProximity); + window_snap_top(w, snapProximity); - if (w->x == originalX && w->y == originalY) - return; + if (w->x == originalX && w->y == originalY) + return; - newWindowX = w->x; - newWindowY = w->y; - w->x = originalX; - w->y = originalY; - } + newWindowX = w->x; + newWindowY = w->y; + w->x = originalX; + w->y = originalY; + } - window_set_position(w, newWindowX, newWindowY); + window_set_position(w, newWindowX, newWindowY); } sint32 window_can_resize(rct_window *w) { - return (w->flags & WF_RESIZABLE) && (w->min_width != w->max_width || w->min_height != w->max_height); + return (w->flags & WF_RESIZABLE) && (w->min_width != w->max_width || w->min_height != w->max_height); } /** @@ -2484,110 +2484,110 @@ sint32 window_can_resize(rct_window *w) */ void textinput_cancel() { - window_close_by_class(WC_TEXTINPUT); + window_close_by_class(WC_TEXTINPUT); } void window_start_textbox(rct_window *call_w, rct_widgetindex call_widget, rct_string_id existing_text, char * existing_args, sint32 maxLength) { - if (gUsingWidgetTextBox) - window_cancel_textbox(); + if (gUsingWidgetTextBox) + window_cancel_textbox(); - gUsingWidgetTextBox = true; - gCurrentTextBox.window.classification = call_w->classification; - gCurrentTextBox.window.number = call_w->number; - gCurrentTextBox.widget_index = call_widget; - gTextBoxFrameNo = 0; + gUsingWidgetTextBox = true; + gCurrentTextBox.window.classification = call_w->classification; + gCurrentTextBox.window.number = call_w->number; + gCurrentTextBox.widget_index = call_widget; + gTextBoxFrameNo = 0; - gMaxTextBoxInputLength = maxLength; + gMaxTextBoxInputLength = maxLength; - window_close_by_class(WC_TEXTINPUT); + window_close_by_class(WC_TEXTINPUT); - // Clear the text input buffer - memset(gTextBoxInput, 0, maxLength); + // Clear the text input buffer + memset(gTextBoxInput, 0, maxLength); - // Enter in the text input buffer any existing - // text. - if (existing_text != STR_NONE) - format_string(gTextBoxInput, TEXT_INPUT_SIZE, existing_text, &existing_args); + // Enter in the text input buffer any existing + // text. + if (existing_text != STR_NONE) + format_string(gTextBoxInput, TEXT_INPUT_SIZE, existing_text, &existing_args); - // In order to prevent strings that exceed the maxLength - // from crashing the game. - gTextBoxInput[maxLength - 1] = '\0'; + // In order to prevent strings that exceed the maxLength + // from crashing the game. + gTextBoxInput[maxLength - 1] = '\0'; - gTextInput = context_start_text_input(gTextBoxInput, maxLength); + gTextInput = context_start_text_input(gTextBoxInput, maxLength); } void window_cancel_textbox() { - if (gUsingWidgetTextBox) { - rct_window *w = window_find_by_number( - gCurrentTextBox.window.classification, - gCurrentTextBox.window.number - ); - window_event_textinput_call(w, gCurrentTextBox.widget_index, NULL); - gCurrentTextBox.window.classification = WC_NULL; - gCurrentTextBox.window.number = 0; - context_stop_text_input(); - gUsingWidgetTextBox = false; - widget_invalidate(w, gCurrentTextBox.widget_index); - gCurrentTextBox.widget_index = WWT_LAST; - } + if (gUsingWidgetTextBox) { + rct_window *w = window_find_by_number( + gCurrentTextBox.window.classification, + gCurrentTextBox.window.number + ); + window_event_textinput_call(w, gCurrentTextBox.widget_index, NULL); + gCurrentTextBox.window.classification = WC_NULL; + gCurrentTextBox.window.number = 0; + context_stop_text_input(); + gUsingWidgetTextBox = false; + widget_invalidate(w, gCurrentTextBox.widget_index); + gCurrentTextBox.widget_index = WWT_LAST; + } } void window_update_textbox_caret() { - gTextBoxFrameNo++; - if (gTextBoxFrameNo > 30) - gTextBoxFrameNo = 0; + gTextBoxFrameNo++; + if (gTextBoxFrameNo > 30) + gTextBoxFrameNo = 0; } void window_update_textbox() { - if (gUsingWidgetTextBox) { - gTextBoxFrameNo = 0; - rct_window *w = window_find_by_number( - gCurrentTextBox.window.classification, - gCurrentTextBox.window.number - ); - widget_invalidate(w, gCurrentTextBox.widget_index); - window_event_textinput_call(w, gCurrentTextBox.widget_index, gTextBoxInput); - } + if (gUsingWidgetTextBox) { + gTextBoxFrameNo = 0; + rct_window *w = window_find_by_number( + gCurrentTextBox.window.classification, + gCurrentTextBox.window.number + ); + widget_invalidate(w, gCurrentTextBox.widget_index); + window_event_textinput_call(w, gCurrentTextBox.widget_index, gTextBoxInput); + } } bool window_is_visible(rct_window* w) { - // w->visibility is used to prevent repeat calculations within an iteration by caching the result - if (w == NULL) - return false; + // w->visibility is used to prevent repeat calculations within an iteration by caching the result + if (w == NULL) + return false; - if (w->visibility == VC_VISIBLE) return true; - if (w->visibility == VC_COVERED) return false; + if (w->visibility == VC_VISIBLE) return true; + if (w->visibility == VC_COVERED) return false; - // only consider viewports, consider the main window always visible - if (w->viewport == NULL || w->classification == WC_MAIN_WINDOW) - { - // default to previous behaviour - w->visibility = VC_VISIBLE; - return true; - } + // only consider viewports, consider the main window always visible + if (w->viewport == NULL || w->classification == WC_MAIN_WINDOW) + { + // default to previous behaviour + w->visibility = VC_VISIBLE; + return true; + } - // start from the window above the current - for (rct_window *w_other = (w+1); w_other < RCT2_NEW_WINDOW; w_other++) - { - // if covered by a higher window, no rendering needed - if (w_other->x <= w->x - && w_other->y <= w->y - && w_other->x + w_other->width >= w->x + w->width - && w_other->y + w_other->height >= w->y + w->height) - { - w->visibility = VC_COVERED; - w->viewport->visibility = VC_COVERED; - return false; - } - } + // start from the window above the current + for (rct_window *w_other = (w+1); w_other < RCT2_NEW_WINDOW; w_other++) + { + // if covered by a higher window, no rendering needed + if (w_other->x <= w->x + && w_other->y <= w->y + && w_other->x + w_other->width >= w->x + w->width + && w_other->y + w_other->height >= w->y + w->height) + { + w->visibility = VC_COVERED; + w->viewport->visibility = VC_COVERED; + return false; + } + } - // default to previous behaviour - w->visibility = VC_VISIBLE; - w->viewport->visibility = VC_VISIBLE; - return true; + // default to previous behaviour + w->visibility = VC_VISIBLE; + w->viewport->visibility = VC_VISIBLE; + return true; } diff --git a/src/openrct2/interface/window.h b/src/openrct2/interface/window.h index a6921f9192..88150bec61 100644 --- a/src/openrct2/interface/window.h +++ b/src/openrct2/interface/window.h @@ -52,13 +52,13 @@ typedef uint16 rct_windownumber; typedef sint16 rct_widgetindex; typedef struct window_identifier { - rct_windowclass classification; - rct_windownumber number; + rct_windowclass classification; + rct_windownumber number; } window_identifier; typedef struct widget_identifier { - window_identifier window; - rct_widgetindex widget_index; + window_identifier window; + rct_widgetindex widget_index; } widget_identifier; extern widget_identifier gCurrentTextBox; @@ -68,37 +68,37 @@ extern widget_identifier gCurrentTextBox; * size: 0x10 */ typedef struct rct_widget { - uint8 type; // 0x00 - uint8 colour; // 0x01 - sint16 left; // 0x02 - sint16 right; // 0x04 - sint16 top; // 0x06 - sint16 bottom; // 0x08 - union { // 0x0A - uint32 image; - rct_string_id text; - uint32 content; - utf8 * string; - }; - rct_string_id tooltip; // 0x0E + uint8 type; // 0x00 + uint8 colour; // 0x01 + sint16 left; // 0x02 + sint16 right; // 0x04 + sint16 top; // 0x06 + sint16 bottom; // 0x08 + union { // 0x0A + uint32 image; + rct_string_id text; + uint32 content; + utf8 * string; + }; + rct_string_id tooltip; // 0x0E } rct_widget; /** * Viewport structure */ typedef struct rct_viewport { - sint16 width; // 0x00 - sint16 height; // 0x02 - sint16 x; // 0x04 - sint16 y; // 0x06 - sint16 view_x; // 0x08 - sint16 view_y; // 0x0A - sint16 view_width; // 0x0C - sint16 view_height; // 0x0E - uint32 flags; // 0x12 - uint8 zoom; // 0x10 - uint8 var_11; - uint8 visibility; // VISIBILITY_CACHE + sint16 width; // 0x00 + sint16 height; // 0x02 + sint16 x; // 0x04 + sint16 y; // 0x06 + sint16 view_x; // 0x08 + sint16 view_y; // 0x0A + sint16 view_width; // 0x0C + sint16 view_height; // 0x0E + uint32 flags; // 0x12 + uint8 zoom; // 0x10 + uint8 var_11; + uint8 visibility; // VISIBILITY_CACHE } rct_viewport; /** @@ -106,15 +106,15 @@ typedef struct rct_viewport { * size: 0x12 */ typedef struct rct_scroll { - uint16 flags; // 0x00 - uint16 h_left; // 0x02 - uint16 h_right; // 0x04 - uint16 h_thumb_left; // 0x06 - uint16 h_thumb_right; // 0x08 - uint16 v_top; // 0x0A - uint16 v_bottom; // 0x0C - uint16 v_thumb_top; // 0x0E - uint16 v_thumb_bottom; // 0x10 + uint16 flags; // 0x00 + uint16 h_left; // 0x02 + uint16 h_right; // 0x04 + uint16 h_thumb_left; // 0x06 + uint16 h_thumb_right; // 0x08 + uint16 v_top; // 0x0A + uint16 v_bottom; // 0x0C + uint16 v_thumb_top; // 0x0E + uint16 v_thumb_bottom; // 0x10 } rct_scroll; /** @@ -123,115 +123,115 @@ typedef struct rct_scroll { * Use sprite.type to work out type. */ typedef struct coordinate_focus { - sint16 var_480; - sint16 x; //0x482 - sint16 y; //0x484 & VIEWPORT_FOCUS_Y_MASK - sint16 z; //0x486 - uint8 rotation;//0x488 - uint8 zoom;//0x489 - sint16 width; - sint16 height; + sint16 var_480; + sint16 x; //0x482 + sint16 y; //0x484 & VIEWPORT_FOCUS_Y_MASK + sint16 z; //0x486 + uint8 rotation;//0x488 + uint8 zoom;//0x489 + sint16 width; + sint16 height; } coordinate_focus; // Type is viewport_target_sprite_id & 0x80000000 != 0 typedef struct sprite_focus { - sint16 var_480; - uint16 sprite_id; //0x482 - uint8 pad_484; - uint8 type; //0x485 & VIEWPORT_FOCUS_TYPE_MASK - uint16 pad_486; - uint8 rotation; //0x488 - uint8 zoom; //0x489 + sint16 var_480; + uint16 sprite_id; //0x482 + uint8 pad_484; + uint8 type; //0x485 & VIEWPORT_FOCUS_TYPE_MASK + uint16 pad_486; + uint8 rotation; //0x488 + uint8 zoom; //0x489 } sprite_focus; #define VIEWPORT_FOCUS_TYPE_MASK 0xC0 enum{ - VIEWPORT_FOCUS_TYPE_COORDINATE = (1<<6), - VIEWPORT_FOCUS_TYPE_SPRITE = (1<<7) + VIEWPORT_FOCUS_TYPE_COORDINATE = (1<<6), + VIEWPORT_FOCUS_TYPE_SPRITE = (1<<7) }; #define VIEWPORT_FOCUS_Y_MASK 0x3FFF typedef struct rct_window_event_list { - void (*close)(struct rct_window*); - void (*mouse_up)(struct rct_window*, rct_widgetindex); - void (*resize)(struct rct_window*); - void (*mouse_down)(rct_widgetindex, struct rct_window*, rct_widget*); - void (*dropdown)(struct rct_window*, rct_widgetindex, sint32); - void (*unknown_05)(struct rct_window*); - void (*update)(struct rct_window*); - void (*unknown_07)(struct rct_window*); - void (*unknown_08)(struct rct_window*); - void (*tool_update)(struct rct_window*, rct_widgetindex, sint32, sint32); - void (*tool_down)(struct rct_window*, rct_widgetindex, sint32, sint32); - void (*tool_drag)(struct rct_window*, rct_widgetindex, sint32, sint32); - void (*tool_up)(struct rct_window*, rct_widgetindex, sint32, sint32); - void (*tool_abort)(struct rct_window*, rct_widgetindex); - void (*unknown_0E)(struct rct_window*); - void (*get_scroll_size)(struct rct_window*, sint32, sint32*, sint32*); - void (*scroll_mousedown)(struct rct_window*, sint32, sint32, sint32); - void (*scroll_mousedrag)(struct rct_window*, sint32, sint32, sint32); - void (*scroll_mouseover)(struct rct_window*, sint32, sint32, sint32); - void (*text_input)(struct rct_window*, rct_widgetindex, char*); - void (*unknown_14)(struct rct_window*); - void (*unknown_15)(struct rct_window*, sint32, sint32); - void (*tooltip)(struct rct_window*, rct_widgetindex, rct_string_id*); - void (*cursor)(struct rct_window*, rct_widgetindex, sint32, sint32, sint32*); - void (*moved)(struct rct_window*, sint32, sint32); - void (*invalidate)(struct rct_window*); - void (*paint)(struct rct_window*, rct_drawpixelinfo*); - void (*scroll_paint)(struct rct_window*, rct_drawpixelinfo*, sint32); + void (*close)(struct rct_window*); + void (*mouse_up)(struct rct_window*, rct_widgetindex); + void (*resize)(struct rct_window*); + void (*mouse_down)(rct_widgetindex, struct rct_window*, rct_widget*); + void (*dropdown)(struct rct_window*, rct_widgetindex, sint32); + void (*unknown_05)(struct rct_window*); + void (*update)(struct rct_window*); + void (*unknown_07)(struct rct_window*); + void (*unknown_08)(struct rct_window*); + void (*tool_update)(struct rct_window*, rct_widgetindex, sint32, sint32); + void (*tool_down)(struct rct_window*, rct_widgetindex, sint32, sint32); + void (*tool_drag)(struct rct_window*, rct_widgetindex, sint32, sint32); + void (*tool_up)(struct rct_window*, rct_widgetindex, sint32, sint32); + void (*tool_abort)(struct rct_window*, rct_widgetindex); + void (*unknown_0E)(struct rct_window*); + void (*get_scroll_size)(struct rct_window*, sint32, sint32*, sint32*); + void (*scroll_mousedown)(struct rct_window*, sint32, sint32, sint32); + void (*scroll_mousedrag)(struct rct_window*, sint32, sint32, sint32); + void (*scroll_mouseover)(struct rct_window*, sint32, sint32, sint32); + void (*text_input)(struct rct_window*, rct_widgetindex, char*); + void (*unknown_14)(struct rct_window*); + void (*unknown_15)(struct rct_window*, sint32, sint32); + void (*tooltip)(struct rct_window*, rct_widgetindex, rct_string_id*); + void (*cursor)(struct rct_window*, rct_widgetindex, sint32, sint32, sint32*); + void (*moved)(struct rct_window*, sint32, sint32); + void (*invalidate)(struct rct_window*); + void (*paint)(struct rct_window*, rct_drawpixelinfo*); + void (*scroll_paint)(struct rct_window*, rct_drawpixelinfo*, sint32); } rct_window_event_list; typedef struct campaign_variables { - sint16 campaign_type; - sint16 no_weeks; //0x482 - uint16 ride_id; //0x484 - uint32 pad_486; + sint16 campaign_type; + sint16 no_weeks; //0x482 + uint16 ride_id; //0x484 + uint32 pad_486; } campaign_variables; typedef struct new_ride_variables { - sint16 selected_ride_id; //0x480 - sint16 highlighted_ride_id; //0x482 - uint16 pad_484; - uint16 pad_486; - uint16 selected_ride_countdown; //488 + sint16 selected_ride_id; //0x480 + sint16 highlighted_ride_id; //0x482 + uint16 pad_484; + uint16 pad_486; + uint16 selected_ride_countdown; //488 } new_ride_variables; typedef struct news_variables { - sint16 var_480; - sint16 var_482; - uint16 var_484; - uint16 var_486; - uint16 var_488; + sint16 var_480; + sint16 var_482; + uint16 var_484; + uint16 var_486; + uint16 var_488; } news_variables; typedef struct map_variables { - sint16 rotation; - sint16 var_482; - uint16 var_484; - uint16 var_486; - uint16 var_488; + sint16 rotation; + sint16 var_482; + uint16 var_484; + uint16 var_486; + uint16 var_488; } map_variables; typedef struct ride_variables { - sint16 view; - sint32 var_482; - sint32 var_486; + sint16 view; + sint32 var_482; + sint32 var_486; } ride_variables; typedef struct scenery_variables { - sint16 selected_scenery_id; - sint16 hover_counter; + sint16 selected_scenery_id; + sint16 hover_counter; } scenery_variables; typedef struct track_list_variables { - uint16 var_480; - uint16 var_484; - bool reload_track_designs; + uint16 var_480; + uint16 var_484; + bool reload_track_designs; } track_list_variables; typedef struct error_variables { - uint16 var_480; + uint16 var_480; } error_variables; /** @@ -239,341 +239,341 @@ typedef struct error_variables { * size: 0x4C0 */ typedef struct rct_window { - rct_window_event_list* event_handlers; // 0x000 - rct_viewport* viewport; // 0x004 - uint64 enabled_widgets; // 0x008 - uint64 disabled_widgets; // 0x010 - uint64 pressed_widgets; // 0x018 - uint64 hold_down_widgets; // 0x020 - rct_widget* widgets; // 0x028 - sint16 x; // 0x02C - sint16 y; // 0x02E - sint16 width; // 0x030 - sint16 height; // 0x032 - sint16 min_width; // 0x034 - sint16 max_width; // 0x036 - sint16 min_height; // 0x038 - sint16 max_height; // 0x03A - rct_windownumber number; // 0x03C - uint16 flags; // 0x03E - rct_scroll scrolls[3]; // 0x040 - uint8 list_item_positions[1024];// 0x076 - uint16 no_list_items; // 0x476 0 for no items - sint16 pad_478; - sint16 selected_list_item; // 0x47A -1 for none selected - sint16 pad_47C; - sint16 pad_47E; - union { - coordinate_focus viewport_focus_coordinates; - sprite_focus viewport_focus_sprite; - campaign_variables campaign; - new_ride_variables new_ride; - news_variables news; - map_variables map; - ride_variables ride; - scenery_variables scenery; - track_list_variables track_list; - error_variables error; - }; - sint16 page; // 0x48A - union { - sint16 picked_peep_old_x; // 0x48C staff/guest window: peep x gets set to 0x8000 on pickup, this is the old value - sint16 var_48C; - }; - uint16 frame_no; // 0x48E updated every tic for motion in windows sprites - uint16 list_information_type; // 0x490 0 for none, Used as current position of marquee in window_peep - union { - sint16 picked_peep_frame; // 0x492 Animation frame of picked peep in staff window and guest window - sint16 var_492; - }; - union { // 0x494 - uint32 highlighted_item; - uint16 ride_colour; - rct_research_item* research_item; - rct_object_entry* object_entry; - const scenario_index_entry* highlighted_scenario; - struct { - uint16 var_494; - uint16 var_496; - }; - }; - uint8 var_498[0x14]; - sint16 selected_tab; // 0x4AC - sint16 var_4AE; - sint16 viewport_target_sprite; // 0x4B0 viewport target sprite? - sint16 saved_view_x; // 0x4B2 - sint16 saved_view_y; // 0x4B4 - rct_windowclass classification; // 0x4B6 - uint8 pad_4B7; - sint8 var_4B8; - sint8 var_4B9; - uint8 colours[6]; // 0x4BA - uint8 visibility; // VISIBILITY_CACHE + rct_window_event_list* event_handlers; // 0x000 + rct_viewport* viewport; // 0x004 + uint64 enabled_widgets; // 0x008 + uint64 disabled_widgets; // 0x010 + uint64 pressed_widgets; // 0x018 + uint64 hold_down_widgets; // 0x020 + rct_widget* widgets; // 0x028 + sint16 x; // 0x02C + sint16 y; // 0x02E + sint16 width; // 0x030 + sint16 height; // 0x032 + sint16 min_width; // 0x034 + sint16 max_width; // 0x036 + sint16 min_height; // 0x038 + sint16 max_height; // 0x03A + rct_windownumber number; // 0x03C + uint16 flags; // 0x03E + rct_scroll scrolls[3]; // 0x040 + uint8 list_item_positions[1024];// 0x076 + uint16 no_list_items; // 0x476 0 for no items + sint16 pad_478; + sint16 selected_list_item; // 0x47A -1 for none selected + sint16 pad_47C; + sint16 pad_47E; + union { + coordinate_focus viewport_focus_coordinates; + sprite_focus viewport_focus_sprite; + campaign_variables campaign; + new_ride_variables new_ride; + news_variables news; + map_variables map; + ride_variables ride; + scenery_variables scenery; + track_list_variables track_list; + error_variables error; + }; + sint16 page; // 0x48A + union { + sint16 picked_peep_old_x; // 0x48C staff/guest window: peep x gets set to 0x8000 on pickup, this is the old value + sint16 var_48C; + }; + uint16 frame_no; // 0x48E updated every tic for motion in windows sprites + uint16 list_information_type; // 0x490 0 for none, Used as current position of marquee in window_peep + union { + sint16 picked_peep_frame; // 0x492 Animation frame of picked peep in staff window and guest window + sint16 var_492; + }; + union { // 0x494 + uint32 highlighted_item; + uint16 ride_colour; + rct_research_item* research_item; + rct_object_entry* object_entry; + const scenario_index_entry* highlighted_scenario; + struct { + uint16 var_494; + uint16 var_496; + }; + }; + uint8 var_498[0x14]; + sint16 selected_tab; // 0x4AC + sint16 var_4AE; + sint16 viewport_target_sprite; // 0x4B0 viewport target sprite? + sint16 saved_view_x; // 0x4B2 + sint16 saved_view_y; // 0x4B4 + rct_windowclass classification; // 0x4B6 + uint8 pad_4B7; + sint8 var_4B8; + sint8 var_4B9; + uint8 colours[6]; // 0x4BA + uint8 visibility; // VISIBILITY_CACHE } rct_window; #define RCT_WINDOW_RIGHT(w) (w->x + w->width) #define RCT_WINDOW_BOTTOM(w) (w->y + w->height) typedef enum { - WE_CLOSE = 0, - WE_MOUSE_UP = 1, - WE_RESIZE = 2, - WE_MOUSE_DOWN = 3, - WE_DROPDOWN = 4, - WE_UNKNOWN_05 = 5, - // Unknown 05: Used to update tabs that are not being animated - // see window_peep. When the overview tab is not highlighted the - // items being carried such as hats/balloons still need to be shown - // and removed. Probably called after anything that affects items - // being carried. - WE_UPDATE = 6, - WE_UNKNOWN_07 = 7, - WE_UNKNOWN_08 = 8, - WE_TOOL_UPDATE = 9, - WE_TOOL_DOWN = 10, - WE_TOOL_DRAG = 11, - WE_TOOL_UP = 12, - WE_TOOL_ABORT = 13, - WE_UNKNOWN_0E = 14, - WE_SCROLL_GETSIZE = 15, - WE_SCROLL_MOUSEDOWN = 16, - WE_SCROLL_MOUSEDRAG = 17, - WE_SCROLL_MOUSEOVER = 18, - WE_TEXT_INPUT = 19, - WE_UNKNOWN_14 = 20, - WE_UNKNOWN_15 = 21, // scroll mouse move? - WE_TOOLTIP = 22, - WE_CURSOR = 23, - WE_MOVED = 24, - WE_INVALIDATE = 25, - WE_PAINT = 26, - WE_SCROLL_PAINT = 27, + WE_CLOSE = 0, + WE_MOUSE_UP = 1, + WE_RESIZE = 2, + WE_MOUSE_DOWN = 3, + WE_DROPDOWN = 4, + WE_UNKNOWN_05 = 5, + // Unknown 05: Used to update tabs that are not being animated + // see window_peep. When the overview tab is not highlighted the + // items being carried such as hats/balloons still need to be shown + // and removed. Probably called after anything that affects items + // being carried. + WE_UPDATE = 6, + WE_UNKNOWN_07 = 7, + WE_UNKNOWN_08 = 8, + WE_TOOL_UPDATE = 9, + WE_TOOL_DOWN = 10, + WE_TOOL_DRAG = 11, + WE_TOOL_UP = 12, + WE_TOOL_ABORT = 13, + WE_UNKNOWN_0E = 14, + WE_SCROLL_GETSIZE = 15, + WE_SCROLL_MOUSEDOWN = 16, + WE_SCROLL_MOUSEDRAG = 17, + WE_SCROLL_MOUSEOVER = 18, + WE_TEXT_INPUT = 19, + WE_UNKNOWN_14 = 20, + WE_UNKNOWN_15 = 21, // scroll mouse move? + WE_TOOLTIP = 22, + WE_CURSOR = 23, + WE_MOVED = 24, + WE_INVALIDATE = 25, + WE_PAINT = 26, + WE_SCROLL_PAINT = 27, } WINDOW_EVENTS; typedef enum { - /* - WF_TIMEOUT_SHL = 0, - WF_TIMEOUT_MASK = 7, - WF_DRAGGING = 1 << 3, - WF_SCROLLER_UP = 1 << 4, - WF_SCROLLER_DOWN = 1 << 5, - WF_SCROLLER_MIDDLE = 1 << 6, - WF_DISABLE_VP_SCROLL = 1 << 9, - */ + /* + WF_TIMEOUT_SHL = 0, + WF_TIMEOUT_MASK = 7, + WF_DRAGGING = 1 << 3, + WF_SCROLLER_UP = 1 << 4, + WF_SCROLLER_DOWN = 1 << 5, + WF_SCROLLER_MIDDLE = 1 << 6, + WF_DISABLE_VP_SCROLL = 1 << 9, + */ - WF_STICK_TO_BACK = (1 << 0), - WF_STICK_TO_FRONT = (1 << 1), - WF_NO_SCROLLING = (1 << 2), // User is unable to scroll this viewport - WF_SCROLLING_TO_LOCATION = (1 << 3), - WF_TRANSPARENT = (1 << 4), - WF_NO_BACKGROUND = (1 << 5), // Instead of half transparency, completely remove the window background - WF_7 = (1 << 7), - WF_RESIZABLE = (1 << 8), - WF_NO_AUTO_CLOSE = (1 << 9), // Don't auto close this window if too many windows are open - WF_10 = (1 << 10), - WF_WHITE_BORDER_ONE = (1 << 12), - WF_WHITE_BORDER_MASK = (1 << 12) | (1 << 13), + WF_STICK_TO_BACK = (1 << 0), + WF_STICK_TO_FRONT = (1 << 1), + WF_NO_SCROLLING = (1 << 2), // User is unable to scroll this viewport + WF_SCROLLING_TO_LOCATION = (1 << 3), + WF_TRANSPARENT = (1 << 4), + WF_NO_BACKGROUND = (1 << 5), // Instead of half transparency, completely remove the window background + WF_7 = (1 << 7), + WF_RESIZABLE = (1 << 8), + WF_NO_AUTO_CLOSE = (1 << 9), // Don't auto close this window if too many windows are open + WF_10 = (1 << 10), + WF_WHITE_BORDER_ONE = (1 << 12), + WF_WHITE_BORDER_MASK = (1 << 12) | (1 << 13), - WF_NO_SNAPPING = (1 << 15) + WF_NO_SNAPPING = (1 << 15) } WINDOW_FLAGS; enum SCROLL_FLAGS { - HSCROLLBAR_VISIBLE = (1 << 0), - HSCROLLBAR_THUMB_PRESSED = (1 << 1), - HSCROLLBAR_LEFT_PRESSED = (1 << 2), - HSCROLLBAR_RIGHT_PRESSED = (1 << 3), - VSCROLLBAR_VISIBLE = (1 << 4), - VSCROLLBAR_THUMB_PRESSED = (1 << 5), - VSCROLLBAR_UP_PRESSED = (1 << 6), - VSCROLLBAR_DOWN_PRESSED = (1 << 7), + HSCROLLBAR_VISIBLE = (1 << 0), + HSCROLLBAR_THUMB_PRESSED = (1 << 1), + HSCROLLBAR_LEFT_PRESSED = (1 << 2), + HSCROLLBAR_RIGHT_PRESSED = (1 << 3), + VSCROLLBAR_VISIBLE = (1 << 4), + VSCROLLBAR_THUMB_PRESSED = (1 << 5), + VSCROLLBAR_UP_PRESSED = (1 << 6), + VSCROLLBAR_DOWN_PRESSED = (1 << 7), }; -#define SCROLLBAR_SIZE 16 +#define SCROLLBAR_SIZE 16 enum { - SCROLL_PART_NONE = -1, - SCROLL_PART_VIEW = 0, - SCROLL_PART_HSCROLLBAR_LEFT = 1, - SCROLL_PART_HSCROLLBAR_RIGHT = 2, - SCROLL_PART_HSCROLLBAR_LEFT_TROUGH = 3, - SCROLL_PART_HSCROLLBAR_RIGHT_TROUGH = 4, - SCROLL_PART_HSCROLLBAR_THUMB = 5, - SCROLL_PART_VSCROLLBAR_TOP = 6, - SCROLL_PART_VSCROLLBAR_BOTTOM = 7, - SCROLL_PART_VSCROLLBAR_TOP_TROUGH = 8, - SCROLL_PART_VSCROLLBAR_BOTTOM_TROUGH = 9, - SCROLL_PART_VSCROLLBAR_THUMB = 10, + SCROLL_PART_NONE = -1, + SCROLL_PART_VIEW = 0, + SCROLL_PART_HSCROLLBAR_LEFT = 1, + SCROLL_PART_HSCROLLBAR_RIGHT = 2, + SCROLL_PART_HSCROLLBAR_LEFT_TROUGH = 3, + SCROLL_PART_HSCROLLBAR_RIGHT_TROUGH = 4, + SCROLL_PART_HSCROLLBAR_THUMB = 5, + SCROLL_PART_VSCROLLBAR_TOP = 6, + SCROLL_PART_VSCROLLBAR_BOTTOM = 7, + SCROLL_PART_VSCROLLBAR_TOP_TROUGH = 8, + SCROLL_PART_VSCROLLBAR_BOTTOM_TROUGH = 9, + SCROLL_PART_VSCROLLBAR_THUMB = 10, }; enum { - WC_MAIN_WINDOW = 0, - WC_TOP_TOOLBAR = 1, - WC_BOTTOM_TOOLBAR = 2, - WC_TOOLTIP = 5, - WC_DROPDOWN = 6, - WC_ABOUT = 8, - WC_PUBLISHER_CREDITS = 9, - WC_MUSIC_CREDITS = 10, - WC_ERROR = 11, - WC_RIDE = 12, - WC_RIDE_CONSTRUCTION = 13, - WC_SAVE_PROMPT = 14, - WC_RIDE_LIST = 15, - WC_CONSTRUCT_RIDE = 16, - WC_DEMOLISH_RIDE_PROMPT = 17, - WC_SCENERY = 18, - WC_OPTIONS = 19, - WC_FOOTPATH = 20, - WC_LAND = 21, - WC_WATER = 22, - WC_PEEP = 23, - WC_GUEST_LIST = 24, - WC_STAFF_LIST = 25, - WC_FIRE_PROMPT = 26, - WC_PARK_INFORMATION = 27, - WC_FINANCES = 28, - WC_TITLE_MENU = 29, - WC_TITLE_EXIT = 30, - WC_RECENT_NEWS = 31, - WC_SCENARIO_SELECT = 32, - WC_TRACK_DESIGN_LIST = 33, - WC_TRACK_DESIGN_PLACE = 34, - WC_NEW_CAMPAIGN = 35, - WC_KEYBOARD_SHORTCUT_LIST = 36, - WC_CHANGE_KEYBOARD_SHORTCUT = 37, - WC_MAP = 38, - WC_TITLE_LOGO = 39, - WC_BANNER = 40, - WC_MAP_TOOLTIP = 41, - WC_EDITOR_OBJECT_SELECTION = 42, - WC_EDITOR_INVENTION_LIST = 43, - WC_EDITOR_INVENTION_LIST_DRAG = 44, - WC_EDITOR_SCENARIO_OPTIONS = 45, - WC_EDTIOR_OBJECTIVE_OPTIONS = 46, - WC_MANAGE_TRACK_DESIGN = 47, - WC_TRACK_DELETE_PROMPT = 48, - WC_INSTALL_TRACK = 49, - WC_CLEAR_SCENERY = 50, - WC_NOTIFICATION_OPTIONS = 109, - WC_CHEATS = 110, - WC_RESEARCH = 111, - WC_VIEWPORT = 112, - WC_TEXTINPUT = 113, - WC_MAPGEN = 114, - WC_LOADSAVE = 115, - WC_LOADSAVE_OVERWRITE_PROMPT = 116, - WC_TITLE_OPTIONS = 117, - WC_LAND_RIGHTS = 118, - WC_THEMES = 119, - WC_TILE_INSPECTOR = 120, - WC_CHANGELOG = 121, - WC_TITLE_EDITOR = 122, - WC_TITLE_COMMAND_EDITOR = 123, - WC_MULTIPLAYER = 124, - WC_PLAYER = 125, - WC_NETWORK_STATUS = 126, - WC_SERVER_LIST = 127, - WC_SERVER_START = 128, - WC_CUSTOM_CURRENCY_CONFIG = 129, - WC_DEBUG_PAINT = 130, - WC_VIEW_CLIPPING = 131, + WC_MAIN_WINDOW = 0, + WC_TOP_TOOLBAR = 1, + WC_BOTTOM_TOOLBAR = 2, + WC_TOOLTIP = 5, + WC_DROPDOWN = 6, + WC_ABOUT = 8, + WC_PUBLISHER_CREDITS = 9, + WC_MUSIC_CREDITS = 10, + WC_ERROR = 11, + WC_RIDE = 12, + WC_RIDE_CONSTRUCTION = 13, + WC_SAVE_PROMPT = 14, + WC_RIDE_LIST = 15, + WC_CONSTRUCT_RIDE = 16, + WC_DEMOLISH_RIDE_PROMPT = 17, + WC_SCENERY = 18, + WC_OPTIONS = 19, + WC_FOOTPATH = 20, + WC_LAND = 21, + WC_WATER = 22, + WC_PEEP = 23, + WC_GUEST_LIST = 24, + WC_STAFF_LIST = 25, + WC_FIRE_PROMPT = 26, + WC_PARK_INFORMATION = 27, + WC_FINANCES = 28, + WC_TITLE_MENU = 29, + WC_TITLE_EXIT = 30, + WC_RECENT_NEWS = 31, + WC_SCENARIO_SELECT = 32, + WC_TRACK_DESIGN_LIST = 33, + WC_TRACK_DESIGN_PLACE = 34, + WC_NEW_CAMPAIGN = 35, + WC_KEYBOARD_SHORTCUT_LIST = 36, + WC_CHANGE_KEYBOARD_SHORTCUT = 37, + WC_MAP = 38, + WC_TITLE_LOGO = 39, + WC_BANNER = 40, + WC_MAP_TOOLTIP = 41, + WC_EDITOR_OBJECT_SELECTION = 42, + WC_EDITOR_INVENTION_LIST = 43, + WC_EDITOR_INVENTION_LIST_DRAG = 44, + WC_EDITOR_SCENARIO_OPTIONS = 45, + WC_EDTIOR_OBJECTIVE_OPTIONS = 46, + WC_MANAGE_TRACK_DESIGN = 47, + WC_TRACK_DELETE_PROMPT = 48, + WC_INSTALL_TRACK = 49, + WC_CLEAR_SCENERY = 50, + WC_NOTIFICATION_OPTIONS = 109, + WC_CHEATS = 110, + WC_RESEARCH = 111, + WC_VIEWPORT = 112, + WC_TEXTINPUT = 113, + WC_MAPGEN = 114, + WC_LOADSAVE = 115, + WC_LOADSAVE_OVERWRITE_PROMPT = 116, + WC_TITLE_OPTIONS = 117, + WC_LAND_RIGHTS = 118, + WC_THEMES = 119, + WC_TILE_INSPECTOR = 120, + WC_CHANGELOG = 121, + WC_TITLE_EDITOR = 122, + WC_TITLE_COMMAND_EDITOR = 123, + WC_MULTIPLAYER = 124, + WC_PLAYER = 125, + WC_NETWORK_STATUS = 126, + WC_SERVER_LIST = 127, + WC_SERVER_START = 128, + WC_CUSTOM_CURRENCY_CONFIG = 129, + WC_DEBUG_PAINT = 130, + WC_VIEW_CLIPPING = 131, - // Only used for colour schemes - WC_STAFF = 220, - WC_EDITOR_TRACK_BOTTOM_TOOLBAR = 221, - WC_EDITOR_SCENARIO_BOTTOM_TOOLBAR = 222, - WC_CHAT = 223, + // Only used for colour schemes + WC_STAFF = 220, + WC_EDITOR_TRACK_BOTTOM_TOOLBAR = 221, + WC_EDITOR_SCENARIO_BOTTOM_TOOLBAR = 222, + WC_CHAT = 223, - WC_NULL = 255, + WC_NULL = 255, }; #define validate_global_widx(wc, widx) \ static_assert(widx == wc ## __ ## widx, "Global WIDX of " #widx " doesn't match actual value.") -#define WC_MAIN_WINDOW__0 0 -#define WC_TOP_TOOLBAR__WIDX_PAUSE 0 -#define WC_TOP_TOOLBAR__WIDX_LAND 8 -#define WC_TOP_TOOLBAR__WIDX_WATER 9 -#define WC_TOP_TOOLBAR__WIDX_SCENERY 10 -#define WC_TOP_TOOLBAR__WIDX_PATH 11 -#define WC_RIDE_CONSTRUCTION__WIDX_CONSTRUCT 23 -#define WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE 29 -#define WC_RIDE_CONSTRUCTION__WIDX_EXIT 30 -#define WC_RIDE_CONSTRUCTION__WIDX_ROTATE 32 -#define WC_SCENERY__WIDX_SCENERY_TAB_1 4 -#define WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON 25 -#define WC_LAND__WIDX_PREVIEW 5 -#define WC_WATER__WIDX_PREVIEW 3 -#define WC_PEEP__WIDX_PATROL 11 -#define WC_PEEP__WIDX_ACTION_LBL 12 -#define WC_TRACK_DESIGN_LIST__WIDX_ROTATE 5 -#define WC_TRACK_DESIGN_PLACE__WIDX_ROTATE 3 -#define WC_MAP__WIDX_LAND_TOOL 13 -#define WC_MAP__WIDX_ROTATE_90 20 -#define WC_EDITOR_OBJECT_SELECTION__WIDX_TAB_1 4 -#define WC_CLEAR_SCENERY__WIDX_PREVIEW 3 -#define WC_LAND_RIGHTS__WIDX_PREVIEW 3 +#define WC_MAIN_WINDOW__0 0 +#define WC_TOP_TOOLBAR__WIDX_PAUSE 0 +#define WC_TOP_TOOLBAR__WIDX_LAND 8 +#define WC_TOP_TOOLBAR__WIDX_WATER 9 +#define WC_TOP_TOOLBAR__WIDX_SCENERY 10 +#define WC_TOP_TOOLBAR__WIDX_PATH 11 +#define WC_RIDE_CONSTRUCTION__WIDX_CONSTRUCT 23 +#define WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE 29 +#define WC_RIDE_CONSTRUCTION__WIDX_EXIT 30 +#define WC_RIDE_CONSTRUCTION__WIDX_ROTATE 32 +#define WC_SCENERY__WIDX_SCENERY_TAB_1 4 +#define WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON 25 +#define WC_LAND__WIDX_PREVIEW 5 +#define WC_WATER__WIDX_PREVIEW 3 +#define WC_PEEP__WIDX_PATROL 11 +#define WC_PEEP__WIDX_ACTION_LBL 12 +#define WC_TRACK_DESIGN_LIST__WIDX_ROTATE 5 +#define WC_TRACK_DESIGN_PLACE__WIDX_ROTATE 3 +#define WC_MAP__WIDX_LAND_TOOL 13 +#define WC_MAP__WIDX_ROTATE_90 20 +#define WC_EDITOR_OBJECT_SELECTION__WIDX_TAB_1 4 +#define WC_CLEAR_SCENERY__WIDX_PREVIEW 3 +#define WC_LAND_RIGHTS__WIDX_PREVIEW 3 enum PROMPT_MODE { - PM_SAVE_BEFORE_LOAD = 0, - PM_SAVE_BEFORE_QUIT, - PM_SAVE_BEFORE_QUIT2, - PM_QUIT + PM_SAVE_BEFORE_LOAD = 0, + PM_SAVE_BEFORE_QUIT, + PM_SAVE_BEFORE_QUIT2, + PM_QUIT }; typedef enum { - BTM_TB_DIRTY_FLAG_MONEY = (1 << 0), - BTM_TB_DIRTY_FLAG_DATE = (1 << 1), - BTM_TB_DIRTY_FLAG_PEEP_COUNT = (1 << 2), - BTM_TB_DIRTY_FLAG_CLIMATE = (1 << 3), - BTM_TB_DIRTY_FLAG_PARK_RATING = (1 << 4) + BTM_TB_DIRTY_FLAG_MONEY = (1 << 0), + BTM_TB_DIRTY_FLAG_DATE = (1 << 1), + BTM_TB_DIRTY_FLAG_PEEP_COUNT = (1 << 2), + BTM_TB_DIRTY_FLAG_CLIMATE = (1 << 3), + BTM_TB_DIRTY_FLAG_PARK_RATING = (1 << 4) } BTM_TOOLBAR_DIRTY_FLAGS; // 000N_TTTL enum { - LOADSAVETYPE_LOAD = 0 << 0, - LOADSAVETYPE_SAVE = 1 << 0, + LOADSAVETYPE_LOAD = 0 << 0, + LOADSAVETYPE_SAVE = 1 << 0, - LOADSAVETYPE_GAME = 0 << 1, - LOADSAVETYPE_LANDSCAPE = 1 << 1, - LOADSAVETYPE_SCENARIO = 2 << 1, - LOADSAVETYPE_TRACK = 3 << 1, - LOADSAVETYPE_IMAGE = 4 << 1, + LOADSAVETYPE_GAME = 0 << 1, + LOADSAVETYPE_LANDSCAPE = 1 << 1, + LOADSAVETYPE_SCENARIO = 2 << 1, + LOADSAVETYPE_TRACK = 3 << 1, + LOADSAVETYPE_IMAGE = 4 << 1, }; enum { - MODAL_RESULT_FAIL = -1, - MODAL_RESULT_CANCEL, - MODAL_RESULT_OK + MODAL_RESULT_FAIL = -1, + MODAL_RESULT_CANCEL, + MODAL_RESULT_OK }; enum VISIBILITY_CACHE { - VC_UNKNOWN, - VC_VISIBLE, - VC_COVERED + VC_UNKNOWN, + VC_VISIBLE, + VC_COVERED }; enum GUEST_LIST_FILTER_TYPE { - GLFT_GUESTS_ON_RIDE, - GLFT_GUESTS_IN_QUEUE, - GLFT_GUESTS_THINKING_ABOUT_RIDE, - GLFT_GUESTS_THINKING_X, + GLFT_GUESTS_ON_RIDE, + GLFT_GUESTS_IN_QUEUE, + GLFT_GUESTS_THINKING_ABOUT_RIDE, + GLFT_GUESTS_THINKING_X, }; typedef enum { - TOOL_ARROW = 0, - TOOL_UP_ARROW = 2, - TOOL_UP_DOWN_ARROW = 3, - TOOL_PICKER = 7, - TOOL_CROSSHAIR = 12, - TOOL_PATH_DOWN = 17, - TOOL_DIG_DOWN = 18, - TOOL_WATER_DOWN = 19, - TOOL_WALK_DOWN = 22, - TOOL_PAINT_DOWN = 23, - TOOL_ENTRANCE_DOWN = 24, + TOOL_ARROW = 0, + TOOL_UP_ARROW = 2, + TOOL_UP_DOWN_ARROW = 3, + TOOL_PICKER = 7, + TOOL_CROSSHAIR = 12, + TOOL_PATH_DOWN = 17, + TOOL_DIG_DOWN = 18, + TOOL_WATER_DOWN = 19, + TOOL_WALK_DOWN = 22, + TOOL_PAINT_DOWN = 23, + TOOL_ENTRANCE_DOWN = 24, } TOOL_IDX; typedef void (*modal_callback)(sint32 result); diff --git a/src/openrct2/intro.c b/src/openrct2/intro.c index 4c020f284c..b84c1b77ad 100644 --- a/src/openrct2/intro.c +++ b/src/openrct2/intro.c @@ -22,12 +22,12 @@ #include "rct2.h" #include "sprites.h" -#define BACKROUND_COLOUR_DARK PALETTE_INDEX_10 -#define BACKROUND_COLOUR_LOGO PALETTE_INDEX_245 -#define BORDER_COLOUR_PUBLISHER PALETTE_INDEX_129 +#define BACKROUND_COLOUR_DARK PALETTE_INDEX_10 +#define BACKROUND_COLOUR_LOGO PALETTE_INDEX_245 +#define BORDER_COLOUR_PUBLISHER PALETTE_INDEX_129 -#define PALETTE_G1_IDX_DEVELOPER 23217 -#define PALETTE_G1_IDX_LOGO 23224 +#define PALETTE_G1_IDX_DEVELOPER 23217 +#define PALETTE_G1_IDX_LOGO 23224 uint8 gIntroState; @@ -45,186 +45,186 @@ static void screen_intro_draw_logo(rct_drawpixelinfo *dpi); // rct2: 0x0068E966 void intro_update() { - screen_intro_process_mouse_input(); - screen_intro_process_keyboard_input(); + screen_intro_process_mouse_input(); + screen_intro_process_keyboard_input(); - switch (gIntroState) { - case INTRO_STATE_DISCLAIMER_1: - case INTRO_STATE_DISCLAIMER_2: - // Originally used for the disclaimer text - gIntroState = INTRO_STATE_PUBLISHER_BEGIN; - case INTRO_STATE_PUBLISHER_BEGIN: - load_palette(); + switch (gIntroState) { + case INTRO_STATE_DISCLAIMER_1: + case INTRO_STATE_DISCLAIMER_2: + // Originally used for the disclaimer text + gIntroState = INTRO_STATE_PUBLISHER_BEGIN; + case INTRO_STATE_PUBLISHER_BEGIN: + load_palette(); - // Set the Y for the Infogrames logo - _introStateCounter = -580; + // Set the Y for the Infogrames logo + _introStateCounter = -580; - // Play the chain lift sound - _soundChannel = Mixer_Play_Effect(SOUND_LIFT_7, MIXER_LOOP_INFINITE, SDL_MIX_MAXVOLUME, 0.5f, 1, true); - _chainLiftFinished = false; - gIntroState++; - break; - case INTRO_STATE_PUBLISHER_SCROLL: - // Move the Infogrames logo down - _introStateCounter += 5; + // Play the chain lift sound + _soundChannel = Mixer_Play_Effect(SOUND_LIFT_7, MIXER_LOOP_INFINITE, SDL_MIX_MAXVOLUME, 0.5f, 1, true); + _chainLiftFinished = false; + gIntroState++; + break; + case INTRO_STATE_PUBLISHER_SCROLL: + // Move the Infogrames logo down + _introStateCounter += 5; - // Check if logo is off the screen...ish - if (_introStateCounter > context_get_height() - 120) { - _introStateCounter = -116; - gIntroState++; - } + // Check if logo is off the screen...ish + if (_introStateCounter > context_get_height() - 120) { + _introStateCounter = -116; + gIntroState++; + } - break; - case INTRO_STATE_DEVELOPER_BEGIN: - // Set the Y for the Chris Sawyer logo - _introStateCounter = -116; + break; + case INTRO_STATE_DEVELOPER_BEGIN: + // Set the Y for the Chris Sawyer logo + _introStateCounter = -116; - gIntroState++; - break; - case INTRO_STATE_DEVELOPER_SCROLL: - _introStateCounter += 5; + gIntroState++; + break; + case INTRO_STATE_DEVELOPER_SCROLL: + _introStateCounter += 5; - // Check if logo is almost scrolled to the bottom - if (!_chainLiftFinished && _introStateCounter >= context_get_height() + 40 - 421) { - _chainLiftFinished = true; + // Check if logo is almost scrolled to the bottom + if (!_chainLiftFinished && _introStateCounter >= context_get_height() + 40 - 421) { + _chainLiftFinished = true; - // Stop the chain lift sound - if (_soundChannel != NULL) { - Mixer_Stop_Channel(_soundChannel); - _soundChannel = NULL; - } + // Stop the chain lift sound + if (_soundChannel != NULL) { + Mixer_Stop_Channel(_soundChannel); + _soundChannel = NULL; + } - // Play the track friction sound - _soundChannel = Mixer_Play_Effect(SOUND_TRACK_FRICTION_3, MIXER_LOOP_INFINITE, SDL_MIX_MAXVOLUME, 0.25f, 0.75, true); - } + // Play the track friction sound + _soundChannel = Mixer_Play_Effect(SOUND_TRACK_FRICTION_3, MIXER_LOOP_INFINITE, SDL_MIX_MAXVOLUME, 0.25f, 0.75, true); + } - // Check if logo is off the screen...ish - if (_introStateCounter >= context_get_height() + 40) { - // Stop the track friction sound - if (_soundChannel != NULL) { - Mixer_Stop_Channel(_soundChannel); - _soundChannel = NULL; - } + // Check if logo is off the screen...ish + if (_introStateCounter >= context_get_height() + 40) { + // Stop the track friction sound + if (_soundChannel != NULL) { + Mixer_Stop_Channel(_soundChannel); + _soundChannel = NULL; + } - // Play long peep scream sound - _soundChannel = Mixer_Play_Effect(SOUND_SCREAM_1, MIXER_LOOP_NONE, SDL_MIX_MAXVOLUME, 0.5f, 1, false); + // Play long peep scream sound + _soundChannel = Mixer_Play_Effect(SOUND_SCREAM_1, MIXER_LOOP_NONE, SDL_MIX_MAXVOLUME, 0.5f, 1, false); - gIntroState++; - _introStateCounter = 0; - } - break; - case INTRO_STATE_LOGO_FADE_IN: - // Fade in, add 4 / 256 to fading - _introStateCounter += 0x400; - if (_introStateCounter > 0xFF00) { - gIntroState++; - _introStateCounter = 0; - } - break; - case INTRO_STATE_LOGO_WAIT: - // Wait 80 game ticks - _introStateCounter++; - if (_introStateCounter >= 80) { - // Set fading to 256 - _introStateCounter = 0xFF00; + gIntroState++; + _introStateCounter = 0; + } + break; + case INTRO_STATE_LOGO_FADE_IN: + // Fade in, add 4 / 256 to fading + _introStateCounter += 0x400; + if (_introStateCounter > 0xFF00) { + gIntroState++; + _introStateCounter = 0; + } + break; + case INTRO_STATE_LOGO_WAIT: + // Wait 80 game ticks + _introStateCounter++; + if (_introStateCounter >= 80) { + // Set fading to 256 + _introStateCounter = 0xFF00; - gIntroState++; - } - break; - case INTRO_STATE_LOGO_FADE_OUT: - // Fade out, subtract 4 / 256 from fading - _introStateCounter -= 0x400; - if (_introStateCounter < 0) { - gIntroState = INTRO_STATE_CLEAR; - } - break; - case INTRO_STATE_CLEAR: - // Stop any playing sound - if (_soundChannel != NULL) { - Mixer_Stop_Channel(_soundChannel); - _soundChannel = NULL; - } + gIntroState++; + } + break; + case INTRO_STATE_LOGO_FADE_OUT: + // Fade out, subtract 4 / 256 from fading + _introStateCounter -= 0x400; + if (_introStateCounter < 0) { + gIntroState = INTRO_STATE_CLEAR; + } + break; + case INTRO_STATE_CLEAR: + // Stop any playing sound + if (_soundChannel != NULL) { + Mixer_Stop_Channel(_soundChannel); + _soundChannel = NULL; + } - // Move to next part - gIntroState++; - _introStateCounter = 0; - break; - case INTRO_STATE_FINISH: - gIntroState = INTRO_STATE_NONE; - load_palette(); - gfx_invalidate_screen(); - audio_start_title_music(); - break; - } + // Move to next part + gIntroState++; + _introStateCounter = 0; + break; + case INTRO_STATE_FINISH: + gIntroState = INTRO_STATE_NONE; + load_palette(); + gfx_invalidate_screen(); + audio_start_title_music(); + break; + } } void intro_draw(rct_drawpixelinfo *dpi) { - sint32 screenWidth = context_get_width(); + sint32 screenWidth = context_get_width(); - switch (gIntroState) { - case INTRO_STATE_DISCLAIMER_1: - case INTRO_STATE_DISCLAIMER_2: - break; - case INTRO_STATE_PUBLISHER_BEGIN: - gfx_clear(dpi, BACKROUND_COLOUR_DARK); - break; - case INTRO_STATE_PUBLISHER_SCROLL: - gfx_clear(dpi, BACKROUND_COLOUR_DARK); + switch (gIntroState) { + case INTRO_STATE_DISCLAIMER_1: + case INTRO_STATE_DISCLAIMER_2: + break; + case INTRO_STATE_PUBLISHER_BEGIN: + gfx_clear(dpi, BACKROUND_COLOUR_DARK); + break; + case INTRO_STATE_PUBLISHER_SCROLL: + gfx_clear(dpi, BACKROUND_COLOUR_DARK); - // Draw a white rectangle for the logo background (gives a bit of white margin) - gfx_fill_rect(dpi, - (screenWidth / 2) - 320 + 50, _introStateCounter + 50, - (screenWidth / 2) - 320 + 50 + 540, _introStateCounter + 50 + 425, - BORDER_COLOUR_PUBLISHER); + // Draw a white rectangle for the logo background (gives a bit of white margin) + gfx_fill_rect(dpi, + (screenWidth / 2) - 320 + 50, _introStateCounter + 50, + (screenWidth / 2) - 320 + 50 + 540, _introStateCounter + 50 + 425, + BORDER_COLOUR_PUBLISHER); - // Draw Infogrames logo - gfx_draw_sprite(dpi, SPR_INTRO_INFOGRAMES_00, (screenWidth / 2) - 320 + 69, _introStateCounter + 69, 0); - gfx_draw_sprite(dpi, SPR_INTRO_INFOGRAMES_10, (screenWidth / 2) - 320 + 319, _introStateCounter + 69, 0); - gfx_draw_sprite(dpi, SPR_INTRO_INFOGRAMES_01, (screenWidth / 2) - 320 + 69, _introStateCounter + 319, 0); - gfx_draw_sprite(dpi, SPR_INTRO_INFOGRAMES_11, (screenWidth / 2) - 320 + 319, _introStateCounter + 319, 0); - break; - case INTRO_STATE_DEVELOPER_BEGIN: - gfx_clear(dpi, BACKROUND_COLOUR_DARK); - gfx_transpose_palette(PALETTE_G1_IDX_DEVELOPER, 255); - break; - case INTRO_STATE_DEVELOPER_SCROLL: - gfx_clear(dpi, BACKROUND_COLOUR_DARK); + // Draw Infogrames logo + gfx_draw_sprite(dpi, SPR_INTRO_INFOGRAMES_00, (screenWidth / 2) - 320 + 69, _introStateCounter + 69, 0); + gfx_draw_sprite(dpi, SPR_INTRO_INFOGRAMES_10, (screenWidth / 2) - 320 + 319, _introStateCounter + 69, 0); + gfx_draw_sprite(dpi, SPR_INTRO_INFOGRAMES_01, (screenWidth / 2) - 320 + 69, _introStateCounter + 319, 0); + gfx_draw_sprite(dpi, SPR_INTRO_INFOGRAMES_11, (screenWidth / 2) - 320 + 319, _introStateCounter + 319, 0); + break; + case INTRO_STATE_DEVELOPER_BEGIN: + gfx_clear(dpi, BACKROUND_COLOUR_DARK); + gfx_transpose_palette(PALETTE_G1_IDX_DEVELOPER, 255); + break; + case INTRO_STATE_DEVELOPER_SCROLL: + gfx_clear(dpi, BACKROUND_COLOUR_DARK); - // Draw Chris Sawyer logo - gfx_draw_sprite(dpi, SPR_INTRO_CHRIS_SAWYER_00, (screenWidth / 2) - 320 + 70, _introStateCounter, 0); - gfx_draw_sprite(dpi, SPR_INTRO_CHRIS_SAWYER_10, (screenWidth / 2) - 320 + 320, _introStateCounter, 0); - break; - case INTRO_STATE_LOGO_FADE_IN: - if (_introStateCounter <= 0xFF00) { - gfx_transpose_palette(PALETTE_G1_IDX_LOGO, (_introStateCounter >> 8) & 0xFF); - } else { - gfx_transpose_palette(PALETTE_G1_IDX_LOGO, 255); - } - screen_intro_draw_logo(dpi); - break; - case INTRO_STATE_LOGO_WAIT: - screen_intro_draw_logo(dpi); - break; - case INTRO_STATE_LOGO_FADE_OUT: - if (_introStateCounter >= 0) { - gfx_transpose_palette(PALETTE_G1_IDX_LOGO, (_introStateCounter >> 8) & 0xFF); - } else { - gfx_transpose_palette(PALETTE_G1_IDX_LOGO, 0); - } - screen_intro_draw_logo(dpi); - break; - case INTRO_STATE_CLEAR: - gfx_clear(dpi, BACKROUND_COLOUR_DARK); - break; - } + // Draw Chris Sawyer logo + gfx_draw_sprite(dpi, SPR_INTRO_CHRIS_SAWYER_00, (screenWidth / 2) - 320 + 70, _introStateCounter, 0); + gfx_draw_sprite(dpi, SPR_INTRO_CHRIS_SAWYER_10, (screenWidth / 2) - 320 + 320, _introStateCounter, 0); + break; + case INTRO_STATE_LOGO_FADE_IN: + if (_introStateCounter <= 0xFF00) { + gfx_transpose_palette(PALETTE_G1_IDX_LOGO, (_introStateCounter >> 8) & 0xFF); + } else { + gfx_transpose_palette(PALETTE_G1_IDX_LOGO, 255); + } + screen_intro_draw_logo(dpi); + break; + case INTRO_STATE_LOGO_WAIT: + screen_intro_draw_logo(dpi); + break; + case INTRO_STATE_LOGO_FADE_OUT: + if (_introStateCounter >= 0) { + gfx_transpose_palette(PALETTE_G1_IDX_LOGO, (_introStateCounter >> 8) & 0xFF); + } else { + gfx_transpose_palette(PALETTE_G1_IDX_LOGO, 0); + } + screen_intro_draw_logo(dpi); + break; + case INTRO_STATE_CLEAR: + gfx_clear(dpi, BACKROUND_COLOUR_DARK); + break; + } } static void screen_intro_process_mouse_input() { - if (context_get_cursor_state()->any == CURSOR_PRESSED) { - screen_intro_skip_part(); - } + if (context_get_cursor_state()->any == CURSOR_PRESSED) { + screen_intro_skip_part(); + } } /** @@ -233,47 +233,47 @@ static void screen_intro_process_mouse_input() */ static void screen_intro_process_keyboard_input() { - const uint8 * keys = context_get_keys_state(); - for (int i = 0; i < 256; i++) { - if (keys[i] != 0) { - screen_intro_skip_part(); - break; - } - } + const uint8 * keys = context_get_keys_state(); + for (int i = 0; i < 256; i++) { + if (keys[i] != 0) { + screen_intro_skip_part(); + break; + } + } } static void screen_intro_skip_part() { - switch (gIntroState) { - case INTRO_STATE_NONE: - break; - case INTRO_STATE_DISCLAIMER_2: - gIntroState = INTRO_STATE_PUBLISHER_BEGIN; - break; - default: - gIntroState = INTRO_STATE_CLEAR; - break; - } + switch (gIntroState) { + case INTRO_STATE_NONE: + break; + case INTRO_STATE_DISCLAIMER_2: + gIntroState = INTRO_STATE_PUBLISHER_BEGIN; + break; + default: + gIntroState = INTRO_STATE_CLEAR; + break; + } } static void screen_intro_draw_logo(rct_drawpixelinfo *dpi) { - sint32 screenWidth = context_get_width(); - sint32 imageWidth = 640; - sint32 imageX = (screenWidth - imageWidth) / 2; + sint32 screenWidth = context_get_width(); + sint32 imageWidth = 640; + sint32 imageX = (screenWidth - imageWidth) / 2; - drawing_engine_invalidate_image(SPR_INTRO_LOGO_00); - drawing_engine_invalidate_image(SPR_INTRO_LOGO_10); - drawing_engine_invalidate_image(SPR_INTRO_LOGO_20); - drawing_engine_invalidate_image(SPR_INTRO_LOGO_01); - drawing_engine_invalidate_image(SPR_INTRO_LOGO_11); - drawing_engine_invalidate_image(SPR_INTRO_LOGO_21); + drawing_engine_invalidate_image(SPR_INTRO_LOGO_00); + drawing_engine_invalidate_image(SPR_INTRO_LOGO_10); + drawing_engine_invalidate_image(SPR_INTRO_LOGO_20); + drawing_engine_invalidate_image(SPR_INTRO_LOGO_01); + drawing_engine_invalidate_image(SPR_INTRO_LOGO_11); + drawing_engine_invalidate_image(SPR_INTRO_LOGO_21); - gfx_clear(dpi, BACKROUND_COLOUR_LOGO); - gfx_draw_sprite(dpi, SPR_INTRO_LOGO_00, imageX + 0, 0, 0); - gfx_draw_sprite(dpi, SPR_INTRO_LOGO_10, imageX + 220, 0, 0); - gfx_draw_sprite(dpi, SPR_INTRO_LOGO_20, imageX + 440, 0, 0); - gfx_draw_sprite(dpi, SPR_INTRO_LOGO_01, imageX + 0, 240, 0); - gfx_draw_sprite(dpi, SPR_INTRO_LOGO_11, imageX + 220, 240, 0); - gfx_draw_sprite(dpi, SPR_INTRO_LOGO_21, imageX + 440, 240, 0); + gfx_clear(dpi, BACKROUND_COLOUR_LOGO); + gfx_draw_sprite(dpi, SPR_INTRO_LOGO_00, imageX + 0, 0, 0); + gfx_draw_sprite(dpi, SPR_INTRO_LOGO_10, imageX + 220, 0, 0); + gfx_draw_sprite(dpi, SPR_INTRO_LOGO_20, imageX + 440, 0, 0); + gfx_draw_sprite(dpi, SPR_INTRO_LOGO_01, imageX + 0, 240, 0); + gfx_draw_sprite(dpi, SPR_INTRO_LOGO_11, imageX + 220, 240, 0); + gfx_draw_sprite(dpi, SPR_INTRO_LOGO_21, imageX + 440, 240, 0); } diff --git a/src/openrct2/intro.h b/src/openrct2/intro.h index 22fbd0c1c7..254f1e7345 100644 --- a/src/openrct2/intro.h +++ b/src/openrct2/intro.h @@ -20,18 +20,18 @@ #include "drawing/drawing.h" enum INTRO_STATE { - INTRO_STATE_NONE, - INTRO_STATE_PUBLISHER_BEGIN, - INTRO_STATE_PUBLISHER_SCROLL, - INTRO_STATE_DEVELOPER_BEGIN, - INTRO_STATE_DEVELOPER_SCROLL, - INTRO_STATE_LOGO_FADE_IN, - INTRO_STATE_LOGO_WAIT, - INTRO_STATE_LOGO_FADE_OUT, - INTRO_STATE_DISCLAIMER_1, - INTRO_STATE_DISCLAIMER_2, - INTRO_STATE_CLEAR = 254, - INTRO_STATE_FINISH = 255, + INTRO_STATE_NONE, + INTRO_STATE_PUBLISHER_BEGIN, + INTRO_STATE_PUBLISHER_SCROLL, + INTRO_STATE_DEVELOPER_BEGIN, + INTRO_STATE_DEVELOPER_SCROLL, + INTRO_STATE_LOGO_FADE_IN, + INTRO_STATE_LOGO_WAIT, + INTRO_STATE_LOGO_FADE_OUT, + INTRO_STATE_DISCLAIMER_1, + INTRO_STATE_DISCLAIMER_2, + INTRO_STATE_CLEAR = 254, + INTRO_STATE_FINISH = 255, }; extern uint8 gIntroState; diff --git a/src/openrct2/localisation/convert.c b/src/openrct2/localisation/convert.c index 2b495f8005..36579c0c6e 100644 --- a/src/openrct2/localisation/convert.c +++ b/src/openrct2/localisation/convert.c @@ -17,8 +17,8 @@ #include "localisation.h" typedef struct encoding_convert_entry { - uint16 code; - uint16 unicode; + uint16 code; + uint16 unicode; } encoding_convert_entry; static const encoding_convert_entry GB2312ToUnicodeTable[7445]; @@ -27,21507 +27,21507 @@ static const encoding_convert_entry RCT2ToUnicodeTable[256]; sint32 rct2_to_utf8(utf8 *dst, const char *src) { - sint32 codepoint; + sint32 codepoint; - utf8 *start = dst; - const char *ch = src; - while (*ch != 0) { - if (*ch == (char)(uint8)0xFF) { - ch++; + utf8 *start = dst; + const char *ch = src; + while (*ch != 0) { + if (*ch == (char)(uint8)0xFF) { + ch++; - // Read wide char - uint8 a = *ch++; - uint8 b = *ch++; - codepoint = (a << 8) | b; - } else { - codepoint = (uint8)(*ch++); - codepoint = encoding_convert_rct2_to_unicode(codepoint); - } + // Read wide char + uint8 a = *ch++; + uint8 b = *ch++; + codepoint = (a << 8) | b; + } else { + codepoint = (uint8)(*ch++); + codepoint = encoding_convert_rct2_to_unicode(codepoint); + } - dst = utf8_write_codepoint(dst, codepoint); - } - dst = utf8_write_codepoint(dst, 0); - return (sint32)(dst - start); + dst = utf8_write_codepoint(dst, codepoint); + } + dst = utf8_write_codepoint(dst, 0); + return (sint32)(dst - start); } sint32 utf8_to_rct2(char *dst, const utf8 *src) { - char *start = dst; - const utf8 *ch = src; - sint32 codepoint; - while ((codepoint = utf8_get_next(ch, &ch)) != 0) { - codepoint = encoding_convert_unicode_to_rct2(codepoint); - if (codepoint < 256) { - *dst++ = (char)codepoint; - } else if (codepoint <= 0xFFFF) { - *dst++ = (char)(uint8)0xFF; - *dst++ = (codepoint >> 8) & 0xFF; - *dst++ = codepoint & 0xFF; - } - } - *dst++ = 0; - return (sint32)(dst - start); + char *start = dst; + const utf8 *ch = src; + sint32 codepoint; + while ((codepoint = utf8_get_next(ch, &ch)) != 0) { + codepoint = encoding_convert_unicode_to_rct2(codepoint); + if (codepoint < 256) { + *dst++ = (char)codepoint; + } else if (codepoint <= 0xFFFF) { + *dst++ = (char)(uint8)0xFF; + *dst++ = (codepoint >> 8) & 0xFF; + *dst++ = codepoint & 0xFF; + } + } + *dst++ = 0; + return (sint32)(dst - start); } static sint32 encoding_search_compare(const void *pKey, const void *pEntry) { - uint16 key = *((uint16*)pKey); - encoding_convert_entry *entry = (encoding_convert_entry*)pEntry; - if (key < entry->code) return -1; - if (key > entry->code) return 1; - return 0; + uint16 key = *((uint16*)pKey); + encoding_convert_entry *entry = (encoding_convert_entry*)pEntry; + if (key < entry->code) return -1; + if (key > entry->code) return 1; + return 0; } static wchar_t encoding_convert_x_to_unicode(wchar_t code, const encoding_convert_entry *table, sint32 count) { - encoding_convert_entry *entry = bsearch(&code, table, count, sizeof(encoding_convert_entry), encoding_search_compare); - if (entry == NULL) return code; - else return entry->unicode; + encoding_convert_entry *entry = bsearch(&code, table, count, sizeof(encoding_convert_entry), encoding_search_compare); + if (entry == NULL) return code; + else return entry->unicode; } wchar_t encoding_convert_unicode_to_rct2(wchar_t unicode) { - // Can't do a binary search as it's sorted by RCT2 code, not unicode - for (sint32 i = 0; i < countof(RCT2ToUnicodeTable); i++) { - if (RCT2ToUnicodeTable[i].unicode == unicode) return RCT2ToUnicodeTable[i].code; - } - return unicode; + // Can't do a binary search as it's sorted by RCT2 code, not unicode + for (sint32 i = 0; i < countof(RCT2ToUnicodeTable); i++) { + if (RCT2ToUnicodeTable[i].unicode == unicode) return RCT2ToUnicodeTable[i].code; + } + return unicode; } wchar_t encoding_convert_rct2_to_unicode(wchar_t rct2str) { - return encoding_convert_x_to_unicode(rct2str, RCT2ToUnicodeTable, countof(RCT2ToUnicodeTable)); + return encoding_convert_x_to_unicode(rct2str, RCT2ToUnicodeTable, countof(RCT2ToUnicodeTable)); } wchar_t encoding_convert_gb2312_to_unicode(wchar_t gb2312) { - return encoding_convert_x_to_unicode(gb2312 - 0x8080, GB2312ToUnicodeTable, countof(GB2312ToUnicodeTable)); + return encoding_convert_x_to_unicode(gb2312 - 0x8080, GB2312ToUnicodeTable, countof(GB2312ToUnicodeTable)); } wchar_t encoding_convert_big5_to_unicode(wchar_t big5) { - return encoding_convert_x_to_unicode(big5, Big5ToUnicodeTable, countof(Big5ToUnicodeTable)); + return encoding_convert_x_to_unicode(big5, Big5ToUnicodeTable, countof(Big5ToUnicodeTable)); } static const encoding_convert_entry RCT2ToUnicodeTable[256] = { - { 0, 0 }, - { 1, FORMAT_MOVE_X }, - { 2, FORMAT_ADJUST_PALETTE }, - { 3, 3 }, - { 4, 4 }, - { 5, FORMAT_NEWLINE }, - { 6, FORMAT_NEWLINE_SMALLER }, - { 7, FORMAT_TINYFONT }, - { 8, FORMAT_BIGFONT }, - { 9, FORMAT_MEDIUMFONT }, - { 10, FORMAT_SMALLFONT }, - { 11, FORMAT_OUTLINE }, - { 12, FORMAT_OUTLINE_OFF }, - { 13, FORMAT_WINDOW_COLOUR_1 }, - { 14, FORMAT_WINDOW_COLOUR_2 }, - { 15, FORMAT_WINDOW_COLOUR_3 }, - { 16, 16 }, - { 17, FORMAT_NEWLINE_X_Y }, - { 18, 18 }, - { 19, 19 }, - { 20, 20 }, - { 21, 21 }, - { 22, 22 }, - { 23, FORMAT_INLINE_SPRITE }, - { 24, 24 }, - { 25, 25 }, - { 26, 26 }, - { 27, 27 }, - { 28, 28 }, - { 29, 29 }, - { 30, 30 }, - { 31, 31 }, - { 32, 32 }, - { 33, 33 }, - { 34, 34 }, - { 35, 35 }, - { 36, 36 }, - { 37, 37 }, - { 38, 38 }, - { 39, 39 }, - { 40, 40 }, - { 41, 41 }, - { 42, 42 }, - { 43, 43 }, - { 44, 44 }, - { 45, 45 }, - { 46, 46 }, - { 47, 47 }, - { 48, 48 }, - { 49, 49 }, - { 50, 50 }, - { 51, 51 }, - { 52, 52 }, - { 53, 53 }, - { 54, 54 }, - { 55, 55 }, - { 56, 56 }, - { 57, 57 }, - { 58, 58 }, - { 59, 59 }, - { 60, 60 }, - { 61, 61 }, - { 62, 62 }, - { 63, 63 }, - { 64, 64 }, - { 65, 65 }, - { 66, 66 }, - { 67, 67 }, - { 68, 68 }, - { 69, 69 }, - { 70, 70 }, - { 71, 71 }, - { 72, 72 }, - { 73, 73 }, - { 74, 74 }, - { 75, 75 }, - { 76, 76 }, - { 77, 77 }, - { 78, 78 }, - { 79, 79 }, - { 80, 80 }, - { 81, 81 }, - { 82, 82 }, - { 83, 83 }, - { 84, 84 }, - { 85, 85 }, - { 86, 86 }, - { 87, 87 }, - { 88, 88 }, - { 89, 89 }, - { 90, 90 }, - { 91, 91 }, - { 92, 92 }, - { 93, 93 }, - { 94, 94 }, - { 95, 95 }, - { 96, 96 }, - { 97, 97 }, - { 98, 98 }, - { 99, 99 }, - { 100, 100 }, - { 101, 101 }, - { 102, 102 }, - { 103, 103 }, - { 104, 104 }, - { 105, 105 }, - { 106, 106 }, - { 107, 107 }, - { 108, 108 }, - { 109, 109 }, - { 110, 110 }, - { 111, 111 }, - { 112, 112 }, - { 113, 113 }, - { 114, 114 }, - { 115, 115 }, - { 116, 116 }, - { 117, 117 }, - { 118, 118 }, - { 119, 119 }, - { 120, 120 }, - { 121, 121 }, - { 122, 122 }, - { 123, FORMAT_COMMA32 }, - { 124, FORMAT_INT32 }, - { 125, FORMAT_COMMA2DP32 }, - { 126, FORMAT_COMMA16 }, - { 127, FORMAT_UINT16 }, - { 128, FORMAT_CURRENCY2DP }, - { 129, FORMAT_CURRENCY }, - { 130, FORMAT_STRINGID }, - { 131, FORMAT_STRINGID2 }, - { 132, FORMAT_STRING }, - { 133, FORMAT_MONTHYEAR }, - { 134, FORMAT_MONTH }, - { 135, FORMAT_VELOCITY }, - { 136, FORMAT_POP16 }, - { 137, FORMAT_PUSH16 }, - { 138, FORMAT_DURATION }, - { 139, FORMAT_REALTIME }, - { 140, FORMAT_LENGTH }, - { 141, FORMAT_SPRITE }, - { 142, FORMAT_BLACK }, - { 143, FORMAT_GREY }, - { 144, FORMAT_WHITE }, - { 145, FORMAT_RED }, - { 146, FORMAT_GREEN }, - { 147, FORMAT_YELLOW }, - { 148, FORMAT_TOPAZ }, - { 149, FORMAT_CELADON }, - { 150, FORMAT_BABYBLUE }, - { 151, FORMAT_PALELAVENDER }, - { 152, FORMAT_PALEGOLD }, - { 153, FORMAT_LIGHTPINK }, - { 154, FORMAT_PEARLAQUA }, - { 155, FORMAT_PALESILVER }, - { 156, 156 }, - { 157, 157 }, - { 158, 158 }, - { 159, FORMAT_AMINUSCULE }, - { 160, FORMAT_UP }, - { 161, FORMAT_SYMBOL_i }, - { 162, 162 }, - { 163, FORMAT_POUND }, - { 164, 164 }, - { 165, FORMAT_YEN }, - { 166, 166 }, - { 167, 167 }, - { 168, 168 }, - { 169, FORMAT_COPYRIGHT }, - { 170, FORMAT_DOWN }, - { 171, FORMAT_LEFTGUILLEMET }, - { 172, FORMAT_TICK }, - { 173, FORMAT_CROSS }, - { 174, 174 }, - { 175, FORMAT_RIGHT }, - { 176, FORMAT_DEGREE }, - { 177, FORMAT_SYMBOL_RAILWAY }, - { 178, FORMAT_SQUARED }, - { 179, 179 }, - { 180, FORMAT_OPENQUOTES }, - { 181, FORMAT_EURO }, - { 182, FORMAT_SYMBOL_ROAD }, - { 183, FORMAT_SYMBOL_FLAG }, - { 184, FORMAT_APPROX }, - { 185, FORMAT_POWERNEGATIVEONE }, - { 186, FORMAT_BULLET }, - { 187, FORMAT_RIGHTGUILLEMET }, - { 188, FORMAT_SMALLUP }, - { 189, FORMAT_SMALLDOWN }, - { 190, FORMAT_LEFT }, - { 191, FORMAT_INVERTEDQUESTION }, - { 192, 192 }, - { 193, 193 }, - { 194, 194 }, - { 195, 195 }, - { 196, 196 }, - { 197, 197 }, - { 198, 198 }, - { 199, 199 }, - { 200, 200 }, - { 201, 201 }, - { 202, 202 }, - { 203, 203 }, - { 204, 204 }, - { 205, 205 }, - { 206, 206 }, - { 207, 207 }, - { 208, 208 }, - { 209, 209 }, - { 210, 210 }, - { 211, 211 }, - { 212, 212 }, - { 213, 213 }, - { 214, 214 }, - { 215, 215 }, - { 216, 216 }, - { 217, 217 }, - { 218, 218 }, - { 219, 219 }, - { 220, 220 }, - { 221, 221 }, - { 222, 222 }, - { 223, 223 }, - { 224, 224 }, - { 225, 225 }, - { 226, 226 }, - { 227, 227 }, - { 228, 228 }, - { 229, 229 }, - { 230, 230 }, - { 231, 231 }, - { 232, 232 }, - { 233, 233 }, - { 234, 234 }, - { 235, 235 }, - { 236, 236 }, - { 237, 237 }, - { 238, 238 }, - { 239, 239 }, - { 240, 240 }, - { 241, 241 }, - { 242, 242 }, - { 243, 243 }, - { 244, 244 }, - { 245, 245 }, - { 246, 246 }, - { 247, 247 }, - { 248, 248 }, - { 249, 249 }, - { 250, 250 }, - { 251, 251 }, - { 252, 252 }, - { 253, 253 }, - { 254, 254 }, - { 255, 255 } + { 0, 0 }, + { 1, FORMAT_MOVE_X }, + { 2, FORMAT_ADJUST_PALETTE }, + { 3, 3 }, + { 4, 4 }, + { 5, FORMAT_NEWLINE }, + { 6, FORMAT_NEWLINE_SMALLER }, + { 7, FORMAT_TINYFONT }, + { 8, FORMAT_BIGFONT }, + { 9, FORMAT_MEDIUMFONT }, + { 10, FORMAT_SMALLFONT }, + { 11, FORMAT_OUTLINE }, + { 12, FORMAT_OUTLINE_OFF }, + { 13, FORMAT_WINDOW_COLOUR_1 }, + { 14, FORMAT_WINDOW_COLOUR_2 }, + { 15, FORMAT_WINDOW_COLOUR_3 }, + { 16, 16 }, + { 17, FORMAT_NEWLINE_X_Y }, + { 18, 18 }, + { 19, 19 }, + { 20, 20 }, + { 21, 21 }, + { 22, 22 }, + { 23, FORMAT_INLINE_SPRITE }, + { 24, 24 }, + { 25, 25 }, + { 26, 26 }, + { 27, 27 }, + { 28, 28 }, + { 29, 29 }, + { 30, 30 }, + { 31, 31 }, + { 32, 32 }, + { 33, 33 }, + { 34, 34 }, + { 35, 35 }, + { 36, 36 }, + { 37, 37 }, + { 38, 38 }, + { 39, 39 }, + { 40, 40 }, + { 41, 41 }, + { 42, 42 }, + { 43, 43 }, + { 44, 44 }, + { 45, 45 }, + { 46, 46 }, + { 47, 47 }, + { 48, 48 }, + { 49, 49 }, + { 50, 50 }, + { 51, 51 }, + { 52, 52 }, + { 53, 53 }, + { 54, 54 }, + { 55, 55 }, + { 56, 56 }, + { 57, 57 }, + { 58, 58 }, + { 59, 59 }, + { 60, 60 }, + { 61, 61 }, + { 62, 62 }, + { 63, 63 }, + { 64, 64 }, + { 65, 65 }, + { 66, 66 }, + { 67, 67 }, + { 68, 68 }, + { 69, 69 }, + { 70, 70 }, + { 71, 71 }, + { 72, 72 }, + { 73, 73 }, + { 74, 74 }, + { 75, 75 }, + { 76, 76 }, + { 77, 77 }, + { 78, 78 }, + { 79, 79 }, + { 80, 80 }, + { 81, 81 }, + { 82, 82 }, + { 83, 83 }, + { 84, 84 }, + { 85, 85 }, + { 86, 86 }, + { 87, 87 }, + { 88, 88 }, + { 89, 89 }, + { 90, 90 }, + { 91, 91 }, + { 92, 92 }, + { 93, 93 }, + { 94, 94 }, + { 95, 95 }, + { 96, 96 }, + { 97, 97 }, + { 98, 98 }, + { 99, 99 }, + { 100, 100 }, + { 101, 101 }, + { 102, 102 }, + { 103, 103 }, + { 104, 104 }, + { 105, 105 }, + { 106, 106 }, + { 107, 107 }, + { 108, 108 }, + { 109, 109 }, + { 110, 110 }, + { 111, 111 }, + { 112, 112 }, + { 113, 113 }, + { 114, 114 }, + { 115, 115 }, + { 116, 116 }, + { 117, 117 }, + { 118, 118 }, + { 119, 119 }, + { 120, 120 }, + { 121, 121 }, + { 122, 122 }, + { 123, FORMAT_COMMA32 }, + { 124, FORMAT_INT32 }, + { 125, FORMAT_COMMA2DP32 }, + { 126, FORMAT_COMMA16 }, + { 127, FORMAT_UINT16 }, + { 128, FORMAT_CURRENCY2DP }, + { 129, FORMAT_CURRENCY }, + { 130, FORMAT_STRINGID }, + { 131, FORMAT_STRINGID2 }, + { 132, FORMAT_STRING }, + { 133, FORMAT_MONTHYEAR }, + { 134, FORMAT_MONTH }, + { 135, FORMAT_VELOCITY }, + { 136, FORMAT_POP16 }, + { 137, FORMAT_PUSH16 }, + { 138, FORMAT_DURATION }, + { 139, FORMAT_REALTIME }, + { 140, FORMAT_LENGTH }, + { 141, FORMAT_SPRITE }, + { 142, FORMAT_BLACK }, + { 143, FORMAT_GREY }, + { 144, FORMAT_WHITE }, + { 145, FORMAT_RED }, + { 146, FORMAT_GREEN }, + { 147, FORMAT_YELLOW }, + { 148, FORMAT_TOPAZ }, + { 149, FORMAT_CELADON }, + { 150, FORMAT_BABYBLUE }, + { 151, FORMAT_PALELAVENDER }, + { 152, FORMAT_PALEGOLD }, + { 153, FORMAT_LIGHTPINK }, + { 154, FORMAT_PEARLAQUA }, + { 155, FORMAT_PALESILVER }, + { 156, 156 }, + { 157, 157 }, + { 158, 158 }, + { 159, FORMAT_AMINUSCULE }, + { 160, FORMAT_UP }, + { 161, FORMAT_SYMBOL_i }, + { 162, 162 }, + { 163, FORMAT_POUND }, + { 164, 164 }, + { 165, FORMAT_YEN }, + { 166, 166 }, + { 167, 167 }, + { 168, 168 }, + { 169, FORMAT_COPYRIGHT }, + { 170, FORMAT_DOWN }, + { 171, FORMAT_LEFTGUILLEMET }, + { 172, FORMAT_TICK }, + { 173, FORMAT_CROSS }, + { 174, 174 }, + { 175, FORMAT_RIGHT }, + { 176, FORMAT_DEGREE }, + { 177, FORMAT_SYMBOL_RAILWAY }, + { 178, FORMAT_SQUARED }, + { 179, 179 }, + { 180, FORMAT_OPENQUOTES }, + { 181, FORMAT_EURO }, + { 182, FORMAT_SYMBOL_ROAD }, + { 183, FORMAT_SYMBOL_FLAG }, + { 184, FORMAT_APPROX }, + { 185, FORMAT_POWERNEGATIVEONE }, + { 186, FORMAT_BULLET }, + { 187, FORMAT_RIGHTGUILLEMET }, + { 188, FORMAT_SMALLUP }, + { 189, FORMAT_SMALLDOWN }, + { 190, FORMAT_LEFT }, + { 191, FORMAT_INVERTEDQUESTION }, + { 192, 192 }, + { 193, 193 }, + { 194, 194 }, + { 195, 195 }, + { 196, 196 }, + { 197, 197 }, + { 198, 198 }, + { 199, 199 }, + { 200, 200 }, + { 201, 201 }, + { 202, 202 }, + { 203, 203 }, + { 204, 204 }, + { 205, 205 }, + { 206, 206 }, + { 207, 207 }, + { 208, 208 }, + { 209, 209 }, + { 210, 210 }, + { 211, 211 }, + { 212, 212 }, + { 213, 213 }, + { 214, 214 }, + { 215, 215 }, + { 216, 216 }, + { 217, 217 }, + { 218, 218 }, + { 219, 219 }, + { 220, 220 }, + { 221, 221 }, + { 222, 222 }, + { 223, 223 }, + { 224, 224 }, + { 225, 225 }, + { 226, 226 }, + { 227, 227 }, + { 228, 228 }, + { 229, 229 }, + { 230, 230 }, + { 231, 231 }, + { 232, 232 }, + { 233, 233 }, + { 234, 234 }, + { 235, 235 }, + { 236, 236 }, + { 237, 237 }, + { 238, 238 }, + { 239, 239 }, + { 240, 240 }, + { 241, 241 }, + { 242, 242 }, + { 243, 243 }, + { 244, 244 }, + { 245, 245 }, + { 246, 246 }, + { 247, 247 }, + { 248, 248 }, + { 249, 249 }, + { 250, 250 }, + { 251, 251 }, + { 252, 252 }, + { 253, 253 }, + { 254, 254 }, + { 255, 255 } }; static const encoding_convert_entry GB2312ToUnicodeTable[7445] = { - { 8481, 12288 }, - { 8482, 12289 }, - { 8483, 12290 }, - { 8484, 12539 }, - { 8485, 713 }, - { 8486, 711 }, - { 8487, 168 }, - { 8488, 12291 }, - { 8489, 12293 }, - { 8490, 8213 }, - { 8491, 65374 }, - { 8492, 8741 }, - { 8493, 8230 }, - { 8494, 8216 }, - { 8495, 8217 }, - { 8496, 8220 }, - { 8497, 8221 }, - { 8498, 12308 }, - { 8499, 12309 }, - { 8500, 12296 }, - { 8501, 12297 }, - { 8502, 12298 }, - { 8503, 12299 }, - { 8504, 12300 }, - { 8505, 12301 }, - { 8506, 12302 }, - { 8507, 12303 }, - { 8508, 12310 }, - { 8509, 12311 }, - { 8510, 12304 }, - { 8511, 12305 }, - { 8512, 177 }, - { 8513, 215 }, - { 8514, 247 }, - { 8515, 8758 }, - { 8516, 8743 }, - { 8517, 8744 }, - { 8518, 8721 }, - { 8519, 8719 }, - { 8520, 8746 }, - { 8521, 8745 }, - { 8522, 8712 }, - { 8523, 8759 }, - { 8524, 8730 }, - { 8525, 8869 }, - { 8526, 8741 }, - { 8527, 8736 }, - { 8528, 8978 }, - { 8529, 8857 }, - { 8530, 8747 }, - { 8531, 8750 }, - { 8532, 8801 }, - { 8533, 8780 }, - { 8534, 8776 }, - { 8535, 8765 }, - { 8536, 8733 }, - { 8537, 8800 }, - { 8538, 8814 }, - { 8539, 8815 }, - { 8540, 8804 }, - { 8541, 8805 }, - { 8542, 8734 }, - { 8543, 8757 }, - { 8544, 8756 }, - { 8545, 9794 }, - { 8546, 9792 }, - { 8547, 176 }, - { 8548, 8242 }, - { 8549, 8243 }, - { 8550, 8451 }, - { 8551, 65284 }, - { 8552, 164 }, - { 8553, 65504 }, - { 8554, 65505 }, - { 8555, 8240 }, - { 8556, 167 }, - { 8557, 8470 }, - { 8558, 9734 }, - { 8559, 9733 }, - { 8560, 9675 }, - { 8561, 9679 }, - { 8562, 9678 }, - { 8563, 9671 }, - { 8564, 9670 }, - { 8565, 9633 }, - { 8566, 9632 }, - { 8567, 9651 }, - { 8568, 9650 }, - { 8569, 8251 }, - { 8570, 8594 }, - { 8571, 8592 }, - { 8572, 8593 }, - { 8573, 8595 }, - { 8574, 12307 }, - { 8753, 9352 }, - { 8754, 9353 }, - { 8755, 9354 }, - { 8756, 9355 }, - { 8757, 9356 }, - { 8758, 9357 }, - { 8759, 9358 }, - { 8760, 9359 }, - { 8761, 9360 }, - { 8762, 9361 }, - { 8763, 9362 }, - { 8764, 9363 }, - { 8765, 9364 }, - { 8766, 9365 }, - { 8767, 9366 }, - { 8768, 9367 }, - { 8769, 9368 }, - { 8770, 9369 }, - { 8771, 9370 }, - { 8772, 9371 }, - { 8773, 9332 }, - { 8774, 9333 }, - { 8775, 9334 }, - { 8776, 9335 }, - { 8777, 9336 }, - { 8778, 9337 }, - { 8779, 9338 }, - { 8780, 9339 }, - { 8781, 9340 }, - { 8782, 9341 }, - { 8783, 9342 }, - { 8784, 9343 }, - { 8785, 9344 }, - { 8786, 9345 }, - { 8787, 9346 }, - { 8788, 9347 }, - { 8789, 9348 }, - { 8790, 9349 }, - { 8791, 9350 }, - { 8792, 9351 }, - { 8793, 9312 }, - { 8794, 9313 }, - { 8795, 9314 }, - { 8796, 9315 }, - { 8797, 9316 }, - { 8798, 9317 }, - { 8799, 9318 }, - { 8800, 9319 }, - { 8801, 9320 }, - { 8802, 9321 }, - { 8805, 12832 }, - { 8806, 12833 }, - { 8807, 12834 }, - { 8808, 12835 }, - { 8809, 12836 }, - { 8810, 12837 }, - { 8811, 12838 }, - { 8812, 12839 }, - { 8813, 12840 }, - { 8814, 12841 }, - { 8817, 8544 }, - { 8818, 8545 }, - { 8819, 8546 }, - { 8820, 8547 }, - { 8821, 8548 }, - { 8822, 8549 }, - { 8823, 8550 }, - { 8824, 8551 }, - { 8825, 8552 }, - { 8826, 8553 }, - { 8827, 8554 }, - { 8828, 8555 }, - { 8993, 65281 }, - { 8994, 65282 }, - { 8995, 65283 }, - { 8996, 65509 }, - { 8997, 65285 }, - { 8998, 65286 }, - { 8999, 65287 }, - { 9000, 65288 }, - { 9001, 65289 }, - { 9002, 65290 }, - { 9003, 65291 }, - { 9004, 65292 }, - { 9005, 65293 }, - { 9006, 65294 }, - { 9007, 65295 }, - { 9008, 65296 }, - { 9009, 65297 }, - { 9010, 65298 }, - { 9011, 65299 }, - { 9012, 65300 }, - { 9013, 65301 }, - { 9014, 65302 }, - { 9015, 65303 }, - { 9016, 65304 }, - { 9017, 65305 }, - { 9018, 65306 }, - { 9019, 65307 }, - { 9020, 65308 }, - { 9021, 65309 }, - { 9022, 65310 }, - { 9023, 65311 }, - { 9024, 65312 }, - { 9025, 65313 }, - { 9026, 65314 }, - { 9027, 65315 }, - { 9028, 65316 }, - { 9029, 65317 }, - { 9030, 65318 }, - { 9031, 65319 }, - { 9032, 65320 }, - { 9033, 65321 }, - { 9034, 65322 }, - { 9035, 65323 }, - { 9036, 65324 }, - { 9037, 65325 }, - { 9038, 65326 }, - { 9039, 65327 }, - { 9040, 65328 }, - { 9041, 65329 }, - { 9042, 65330 }, - { 9043, 65331 }, - { 9044, 65332 }, - { 9045, 65333 }, - { 9046, 65334 }, - { 9047, 65335 }, - { 9048, 65336 }, - { 9049, 65337 }, - { 9050, 65338 }, - { 9051, 65339 }, - { 9052, 65340 }, - { 9053, 65341 }, - { 9054, 65342 }, - { 9055, 65343 }, - { 9056, 65344 }, - { 9057, 65345 }, - { 9058, 65346 }, - { 9059, 65347 }, - { 9060, 65348 }, - { 9061, 65349 }, - { 9062, 65350 }, - { 9063, 65351 }, - { 9064, 65352 }, - { 9065, 65353 }, - { 9066, 65354 }, - { 9067, 65355 }, - { 9068, 65356 }, - { 9069, 65357 }, - { 9070, 65358 }, - { 9071, 65359 }, - { 9072, 65360 }, - { 9073, 65361 }, - { 9074, 65362 }, - { 9075, 65363 }, - { 9076, 65364 }, - { 9077, 65365 }, - { 9078, 65366 }, - { 9079, 65367 }, - { 9080, 65368 }, - { 9081, 65369 }, - { 9082, 65370 }, - { 9083, 65371 }, - { 9084, 65372 }, - { 9085, 65373 }, - { 9086, 65507 }, - { 9249, 12353 }, - { 9250, 12354 }, - { 9251, 12355 }, - { 9252, 12356 }, - { 9253, 12357 }, - { 9254, 12358 }, - { 9255, 12359 }, - { 9256, 12360 }, - { 9257, 12361 }, - { 9258, 12362 }, - { 9259, 12363 }, - { 9260, 12364 }, - { 9261, 12365 }, - { 9262, 12366 }, - { 9263, 12367 }, - { 9264, 12368 }, - { 9265, 12369 }, - { 9266, 12370 }, - { 9267, 12371 }, - { 9268, 12372 }, - { 9269, 12373 }, - { 9270, 12374 }, - { 9271, 12375 }, - { 9272, 12376 }, - { 9273, 12377 }, - { 9274, 12378 }, - { 9275, 12379 }, - { 9276, 12380 }, - { 9277, 12381 }, - { 9278, 12382 }, - { 9279, 12383 }, - { 9280, 12384 }, - { 9281, 12385 }, - { 9282, 12386 }, - { 9283, 12387 }, - { 9284, 12388 }, - { 9285, 12389 }, - { 9286, 12390 }, - { 9287, 12391 }, - { 9288, 12392 }, - { 9289, 12393 }, - { 9290, 12394 }, - { 9291, 12395 }, - { 9292, 12396 }, - { 9293, 12397 }, - { 9294, 12398 }, - { 9295, 12399 }, - { 9296, 12400 }, - { 9297, 12401 }, - { 9298, 12402 }, - { 9299, 12403 }, - { 9300, 12404 }, - { 9301, 12405 }, - { 9302, 12406 }, - { 9303, 12407 }, - { 9304, 12408 }, - { 9305, 12409 }, - { 9306, 12410 }, - { 9307, 12411 }, - { 9308, 12412 }, - { 9309, 12413 }, - { 9310, 12414 }, - { 9311, 12415 }, - { 9312, 12416 }, - { 9313, 12417 }, - { 9314, 12418 }, - { 9315, 12419 }, - { 9316, 12420 }, - { 9317, 12421 }, - { 9318, 12422 }, - { 9319, 12423 }, - { 9320, 12424 }, - { 9321, 12425 }, - { 9322, 12426 }, - { 9323, 12427 }, - { 9324, 12428 }, - { 9325, 12429 }, - { 9326, 12430 }, - { 9327, 12431 }, - { 9328, 12432 }, - { 9329, 12433 }, - { 9330, 12434 }, - { 9331, 12435 }, - { 9505, 12449 }, - { 9506, 12450 }, - { 9507, 12451 }, - { 9508, 12452 }, - { 9509, 12453 }, - { 9510, 12454 }, - { 9511, 12455 }, - { 9512, 12456 }, - { 9513, 12457 }, - { 9514, 12458 }, - { 9515, 12459 }, - { 9516, 12460 }, - { 9517, 12461 }, - { 9518, 12462 }, - { 9519, 12463 }, - { 9520, 12464 }, - { 9521, 12465 }, - { 9522, 12466 }, - { 9523, 12467 }, - { 9524, 12468 }, - { 9525, 12469 }, - { 9526, 12470 }, - { 9527, 12471 }, - { 9528, 12472 }, - { 9529, 12473 }, - { 9530, 12474 }, - { 9531, 12475 }, - { 9532, 12476 }, - { 9533, 12477 }, - { 9534, 12478 }, - { 9535, 12479 }, - { 9536, 12480 }, - { 9537, 12481 }, - { 9538, 12482 }, - { 9539, 12483 }, - { 9540, 12484 }, - { 9541, 12485 }, - { 9542, 12486 }, - { 9543, 12487 }, - { 9544, 12488 }, - { 9545, 12489 }, - { 9546, 12490 }, - { 9547, 12491 }, - { 9548, 12492 }, - { 9549, 12493 }, - { 9550, 12494 }, - { 9551, 12495 }, - { 9552, 12496 }, - { 9553, 12497 }, - { 9554, 12498 }, - { 9555, 12499 }, - { 9556, 12500 }, - { 9557, 12501 }, - { 9558, 12502 }, - { 9559, 12503 }, - { 9560, 12504 }, - { 9561, 12505 }, - { 9562, 12506 }, - { 9563, 12507 }, - { 9564, 12508 }, - { 9565, 12509 }, - { 9566, 12510 }, - { 9567, 12511 }, - { 9568, 12512 }, - { 9569, 12513 }, - { 9570, 12514 }, - { 9571, 12515 }, - { 9572, 12516 }, - { 9573, 12517 }, - { 9574, 12518 }, - { 9575, 12519 }, - { 9576, 12520 }, - { 9577, 12521 }, - { 9578, 12522 }, - { 9579, 12523 }, - { 9580, 12524 }, - { 9581, 12525 }, - { 9582, 12526 }, - { 9583, 12527 }, - { 9584, 12528 }, - { 9585, 12529 }, - { 9586, 12530 }, - { 9587, 12531 }, - { 9588, 12532 }, - { 9589, 12533 }, - { 9590, 12534 }, - { 9761, 913 }, - { 9762, 914 }, - { 9763, 915 }, - { 9764, 916 }, - { 9765, 917 }, - { 9766, 918 }, - { 9767, 919 }, - { 9768, 920 }, - { 9769, 921 }, - { 9770, 922 }, - { 9771, 923 }, - { 9772, 924 }, - { 9773, 925 }, - { 9774, 926 }, - { 9775, 927 }, - { 9776, 928 }, - { 9777, 929 }, - { 9778, 931 }, - { 9779, 932 }, - { 9780, 933 }, - { 9781, 934 }, - { 9782, 935 }, - { 9783, 936 }, - { 9784, 937 }, - { 9793, 945 }, - { 9794, 946 }, - { 9795, 947 }, - { 9796, 948 }, - { 9797, 949 }, - { 9798, 950 }, - { 9799, 951 }, - { 9800, 952 }, - { 9801, 953 }, - { 9802, 954 }, - { 9803, 955 }, - { 9804, 956 }, - { 9805, 957 }, - { 9806, 958 }, - { 9807, 959 }, - { 9808, 960 }, - { 9809, 961 }, - { 9810, 963 }, - { 9811, 964 }, - { 9812, 965 }, - { 9813, 966 }, - { 9814, 967 }, - { 9815, 968 }, - { 9816, 969 }, - { 10017, 1040 }, - { 10018, 1041 }, - { 10019, 1042 }, - { 10020, 1043 }, - { 10021, 1044 }, - { 10022, 1045 }, - { 10023, 1025 }, - { 10024, 1046 }, - { 10025, 1047 }, - { 10026, 1048 }, - { 10027, 1049 }, - { 10028, 1050 }, - { 10029, 1051 }, - { 10030, 1052 }, - { 10031, 1053 }, - { 10032, 1054 }, - { 10033, 1055 }, - { 10034, 1056 }, - { 10035, 1057 }, - { 10036, 1058 }, - { 10037, 1059 }, - { 10038, 1060 }, - { 10039, 1061 }, - { 10040, 1062 }, - { 10041, 1063 }, - { 10042, 1064 }, - { 10043, 1065 }, - { 10044, 1066 }, - { 10045, 1067 }, - { 10046, 1068 }, - { 10047, 1069 }, - { 10048, 1070 }, - { 10049, 1071 }, - { 10065, 1072 }, - { 10066, 1073 }, - { 10067, 1074 }, - { 10068, 1075 }, - { 10069, 1076 }, - { 10070, 1077 }, - { 10071, 1105 }, - { 10072, 1078 }, - { 10073, 1079 }, - { 10074, 1080 }, - { 10075, 1081 }, - { 10076, 1082 }, - { 10077, 1083 }, - { 10078, 1084 }, - { 10079, 1085 }, - { 10080, 1086 }, - { 10081, 1087 }, - { 10082, 1088 }, - { 10083, 1089 }, - { 10084, 1090 }, - { 10085, 1091 }, - { 10086, 1092 }, - { 10087, 1093 }, - { 10088, 1094 }, - { 10089, 1095 }, - { 10090, 1096 }, - { 10091, 1097 }, - { 10092, 1098 }, - { 10093, 1099 }, - { 10094, 1100 }, - { 10095, 1101 }, - { 10096, 1102 }, - { 10097, 1103 }, - { 10273, 257 }, - { 10274, 225 }, - { 10275, 462 }, - { 10276, 224 }, - { 10277, 275 }, - { 10278, 233 }, - { 10279, 283 }, - { 10280, 232 }, - { 10281, 299 }, - { 10282, 237 }, - { 10283, 464 }, - { 10284, 236 }, - { 10285, 333 }, - { 10286, 243 }, - { 10287, 466 }, - { 10288, 242 }, - { 10289, 363 }, - { 10290, 250 }, - { 10291, 468 }, - { 10292, 249 }, - { 10293, 470 }, - { 10294, 472 }, - { 10295, 474 }, - { 10296, 476 }, - { 10297, 252 }, - { 10298, 234 }, - { 10309, 12549 }, - { 10310, 12550 }, - { 10311, 12551 }, - { 10312, 12552 }, - { 10313, 12553 }, - { 10314, 12554 }, - { 10315, 12555 }, - { 10316, 12556 }, - { 10317, 12557 }, - { 10318, 12558 }, - { 10319, 12559 }, - { 10320, 12560 }, - { 10321, 12561 }, - { 10322, 12562 }, - { 10323, 12563 }, - { 10324, 12564 }, - { 10325, 12565 }, - { 10326, 12566 }, - { 10327, 12567 }, - { 10328, 12568 }, - { 10329, 12569 }, - { 10330, 12570 }, - { 10331, 12571 }, - { 10332, 12572 }, - { 10333, 12573 }, - { 10334, 12574 }, - { 10335, 12575 }, - { 10336, 12576 }, - { 10337, 12577 }, - { 10338, 12578 }, - { 10339, 12579 }, - { 10340, 12580 }, - { 10341, 12581 }, - { 10342, 12582 }, - { 10343, 12583 }, - { 10344, 12584 }, - { 10345, 12585 }, - { 10532, 9472 }, - { 10533, 9473 }, - { 10534, 9474 }, - { 10535, 9475 }, - { 10536, 9476 }, - { 10537, 9477 }, - { 10538, 9478 }, - { 10539, 9479 }, - { 10540, 9480 }, - { 10541, 9481 }, - { 10542, 9482 }, - { 10543, 9483 }, - { 10544, 9484 }, - { 10545, 9485 }, - { 10546, 9486 }, - { 10547, 9487 }, - { 10548, 9488 }, - { 10549, 9489 }, - { 10550, 9490 }, - { 10551, 9491 }, - { 10552, 9492 }, - { 10553, 9493 }, - { 10554, 9494 }, - { 10555, 9495 }, - { 10556, 9496 }, - { 10557, 9497 }, - { 10558, 9498 }, - { 10559, 9499 }, - { 10560, 9500 }, - { 10561, 9501 }, - { 10562, 9502 }, - { 10563, 9503 }, - { 10564, 9504 }, - { 10565, 9505 }, - { 10566, 9506 }, - { 10567, 9507 }, - { 10568, 9508 }, - { 10569, 9509 }, - { 10570, 9510 }, - { 10571, 9511 }, - { 10572, 9512 }, - { 10573, 9513 }, - { 10574, 9514 }, - { 10575, 9515 }, - { 10576, 9516 }, - { 10577, 9517 }, - { 10578, 9518 }, - { 10579, 9519 }, - { 10580, 9520 }, - { 10581, 9521 }, - { 10582, 9522 }, - { 10583, 9523 }, - { 10584, 9524 }, - { 10585, 9525 }, - { 10586, 9526 }, - { 10587, 9527 }, - { 10588, 9528 }, - { 10589, 9529 }, - { 10590, 9530 }, - { 10591, 9531 }, - { 10592, 9532 }, - { 10593, 9533 }, - { 10594, 9534 }, - { 10595, 9535 }, - { 10596, 9536 }, - { 10597, 9537 }, - { 10598, 9538 }, - { 10599, 9539 }, - { 10600, 9540 }, - { 10601, 9541 }, - { 10602, 9542 }, - { 10603, 9543 }, - { 10604, 9544 }, - { 10605, 9545 }, - { 10606, 9546 }, - { 10607, 9547 }, - { 12321, 21834 }, - { 12322, 38463 }, - { 12323, 22467 }, - { 12324, 25384 }, - { 12325, 21710 }, - { 12326, 21769 }, - { 12327, 21696 }, - { 12328, 30353 }, - { 12329, 30284 }, - { 12330, 34108 }, - { 12331, 30702 }, - { 12332, 33406 }, - { 12333, 30861 }, - { 12334, 29233 }, - { 12335, 38552 }, - { 12336, 38797 }, - { 12337, 27688 }, - { 12338, 23433 }, - { 12339, 20474 }, - { 12340, 25353 }, - { 12341, 26263 }, - { 12342, 23736 }, - { 12343, 33018 }, - { 12344, 26696 }, - { 12345, 32942 }, - { 12346, 26114 }, - { 12347, 30414 }, - { 12348, 20985 }, - { 12349, 25942 }, - { 12350, 29100 }, - { 12351, 32753 }, - { 12352, 34948 }, - { 12353, 20658 }, - { 12354, 22885 }, - { 12355, 25034 }, - { 12356, 28595 }, - { 12357, 33453 }, - { 12358, 25420 }, - { 12359, 25170 }, - { 12360, 21485 }, - { 12361, 21543 }, - { 12362, 31494 }, - { 12363, 20843 }, - { 12364, 30116 }, - { 12365, 24052 }, - { 12366, 25300 }, - { 12367, 36299 }, - { 12368, 38774 }, - { 12369, 25226 }, - { 12370, 32793 }, - { 12371, 22365 }, - { 12372, 38712 }, - { 12373, 32610 }, - { 12374, 29240 }, - { 12375, 30333 }, - { 12376, 26575 }, - { 12377, 30334 }, - { 12378, 25670 }, - { 12379, 20336 }, - { 12380, 36133 }, - { 12381, 25308 }, - { 12382, 31255 }, - { 12383, 26001 }, - { 12384, 29677 }, - { 12385, 25644 }, - { 12386, 25203 }, - { 12387, 33324 }, - { 12388, 39041 }, - { 12389, 26495 }, - { 12390, 29256 }, - { 12391, 25198 }, - { 12392, 25292 }, - { 12393, 20276 }, - { 12394, 29923 }, - { 12395, 21322 }, - { 12396, 21150 }, - { 12397, 32458 }, - { 12398, 37030 }, - { 12399, 24110 }, - { 12400, 26758 }, - { 12401, 27036 }, - { 12402, 33152 }, - { 12403, 32465 }, - { 12404, 26834 }, - { 12405, 30917 }, - { 12406, 34444 }, - { 12407, 38225 }, - { 12408, 20621 }, - { 12409, 35876 }, - { 12410, 33502 }, - { 12411, 32990 }, - { 12412, 21253 }, - { 12413, 35090 }, - { 12414, 21093 }, - { 12577, 34180 }, - { 12578, 38649 }, - { 12579, 20445 }, - { 12580, 22561 }, - { 12581, 39281 }, - { 12582, 23453 }, - { 12583, 25265 }, - { 12584, 25253 }, - { 12585, 26292 }, - { 12586, 35961 }, - { 12587, 40077 }, - { 12588, 29190 }, - { 12589, 26479 }, - { 12590, 30865 }, - { 12591, 24754 }, - { 12592, 21329 }, - { 12593, 21271 }, - { 12594, 36744 }, - { 12595, 32972 }, - { 12596, 36125 }, - { 12597, 38049 }, - { 12598, 20493 }, - { 12599, 29384 }, - { 12600, 22791 }, - { 12601, 24811 }, - { 12602, 28953 }, - { 12603, 34987 }, - { 12604, 22868 }, - { 12605, 33519 }, - { 12606, 26412 }, - { 12607, 31528 }, - { 12608, 23849 }, - { 12609, 32503 }, - { 12610, 29997 }, - { 12611, 27893 }, - { 12612, 36454 }, - { 12613, 36856 }, - { 12614, 36924 }, - { 12615, 40763 }, - { 12616, 27604 }, - { 12617, 37145 }, - { 12618, 31508 }, - { 12619, 24444 }, - { 12620, 30887 }, - { 12621, 34006 }, - { 12622, 34109 }, - { 12623, 27605 }, - { 12624, 27609 }, - { 12625, 27606 }, - { 12626, 24065 }, - { 12627, 24199 }, - { 12628, 30201 }, - { 12629, 38381 }, - { 12630, 25949 }, - { 12631, 24330 }, - { 12632, 24517 }, - { 12633, 36767 }, - { 12634, 22721 }, - { 12635, 33218 }, - { 12636, 36991 }, - { 12637, 38491 }, - { 12638, 38829 }, - { 12639, 36793 }, - { 12640, 32534 }, - { 12641, 36140 }, - { 12642, 25153 }, - { 12643, 20415 }, - { 12644, 21464 }, - { 12645, 21342 }, - { 12646, 36776 }, - { 12647, 36777 }, - { 12648, 36779 }, - { 12649, 36941 }, - { 12650, 26631 }, - { 12651, 24426 }, - { 12652, 33176 }, - { 12653, 34920 }, - { 12654, 40150 }, - { 12655, 24971 }, - { 12656, 21035 }, - { 12657, 30250 }, - { 12658, 24428 }, - { 12659, 25996 }, - { 12660, 28626 }, - { 12661, 28392 }, - { 12662, 23486 }, - { 12663, 25672 }, - { 12664, 20853 }, - { 12665, 20912 }, - { 12666, 26564 }, - { 12667, 19993 }, - { 12668, 31177 }, - { 12669, 39292 }, - { 12670, 28851 }, - { 12833, 30149 }, - { 12834, 24182 }, - { 12835, 29627 }, - { 12836, 33760 }, - { 12837, 25773 }, - { 12838, 25320 }, - { 12839, 38069 }, - { 12840, 27874 }, - { 12841, 21338 }, - { 12842, 21187 }, - { 12843, 25615 }, - { 12844, 38082 }, - { 12845, 31636 }, - { 12846, 20271 }, - { 12847, 24091 }, - { 12848, 33334 }, - { 12849, 33046 }, - { 12850, 33162 }, - { 12851, 28196 }, - { 12852, 27850 }, - { 12853, 39539 }, - { 12854, 25429 }, - { 12855, 21340 }, - { 12856, 21754 }, - { 12857, 34917 }, - { 12858, 22496 }, - { 12859, 19981 }, - { 12860, 24067 }, - { 12861, 27493 }, - { 12862, 31807 }, - { 12863, 37096 }, - { 12864, 24598 }, - { 12865, 25830 }, - { 12866, 29468 }, - { 12867, 35009 }, - { 12868, 26448 }, - { 12869, 25165 }, - { 12870, 36130 }, - { 12871, 30572 }, - { 12872, 36393 }, - { 12873, 37319 }, - { 12874, 24425 }, - { 12875, 33756 }, - { 12876, 34081 }, - { 12877, 39184 }, - { 12878, 21442 }, - { 12879, 34453 }, - { 12880, 27531 }, - { 12881, 24813 }, - { 12882, 24808 }, - { 12883, 28799 }, - { 12884, 33485 }, - { 12885, 33329 }, - { 12886, 20179 }, - { 12887, 27815 }, - { 12888, 34255 }, - { 12889, 25805 }, - { 12890, 31961 }, - { 12891, 27133 }, - { 12892, 26361 }, - { 12893, 33609 }, - { 12894, 21397 }, - { 12895, 31574 }, - { 12896, 20391 }, - { 12897, 20876 }, - { 12898, 27979 }, - { 12899, 23618 }, - { 12900, 36461 }, - { 12901, 25554 }, - { 12902, 21449 }, - { 12903, 33580 }, - { 12904, 33590 }, - { 12905, 26597 }, - { 12906, 30900 }, - { 12907, 25661 }, - { 12908, 23519 }, - { 12909, 23700 }, - { 12910, 24046 }, - { 12911, 35815 }, - { 12912, 25286 }, - { 12913, 26612 }, - { 12914, 35962 }, - { 12915, 25600 }, - { 12916, 25530 }, - { 12917, 34633 }, - { 12918, 39307 }, - { 12919, 35863 }, - { 12920, 32544 }, - { 12921, 38130 }, - { 12922, 20135 }, - { 12923, 38416 }, - { 12924, 39076 }, - { 12925, 26124 }, - { 12926, 29462 }, - { 13089, 22330 }, - { 13090, 23581 }, - { 13091, 24120 }, - { 13092, 38271 }, - { 13093, 20607 }, - { 13094, 32928 }, - { 13095, 21378 }, - { 13096, 25950 }, - { 13097, 30021 }, - { 13098, 21809 }, - { 13099, 20513 }, - { 13100, 36229 }, - { 13101, 25220 }, - { 13102, 38046 }, - { 13103, 26397 }, - { 13104, 22066 }, - { 13105, 28526 }, - { 13106, 24034 }, - { 13107, 21557 }, - { 13108, 28818 }, - { 13109, 36710 }, - { 13110, 25199 }, - { 13111, 25764 }, - { 13112, 25507 }, - { 13113, 24443 }, - { 13114, 28552 }, - { 13115, 37108 }, - { 13116, 33251 }, - { 13117, 36784 }, - { 13118, 23576 }, - { 13119, 26216 }, - { 13120, 24561 }, - { 13121, 27785 }, - { 13122, 38472 }, - { 13123, 36225 }, - { 13124, 34924 }, - { 13125, 25745 }, - { 13126, 31216 }, - { 13127, 22478 }, - { 13128, 27225 }, - { 13129, 25104 }, - { 13130, 21576 }, - { 13131, 20056 }, - { 13132, 31243 }, - { 13133, 24809 }, - { 13134, 28548 }, - { 13135, 35802 }, - { 13136, 25215 }, - { 13137, 36894 }, - { 13138, 39563 }, - { 13139, 31204 }, - { 13140, 21507 }, - { 13141, 30196 }, - { 13142, 25345 }, - { 13143, 21273 }, - { 13144, 27744 }, - { 13145, 36831 }, - { 13146, 24347 }, - { 13147, 39536 }, - { 13148, 32827 }, - { 13149, 40831 }, - { 13150, 20360 }, - { 13151, 23610 }, - { 13152, 36196 }, - { 13153, 32709 }, - { 13154, 26021 }, - { 13155, 28861 }, - { 13156, 20805 }, - { 13157, 20914 }, - { 13158, 34411 }, - { 13159, 23815 }, - { 13160, 23456 }, - { 13161, 25277 }, - { 13162, 37228 }, - { 13163, 30068 }, - { 13164, 36364 }, - { 13165, 31264 }, - { 13166, 24833 }, - { 13167, 31609 }, - { 13168, 20167 }, - { 13169, 32504 }, - { 13170, 30597 }, - { 13171, 19985 }, - { 13172, 33261 }, - { 13173, 21021 }, - { 13174, 20986 }, - { 13175, 27249 }, - { 13176, 21416 }, - { 13177, 36487 }, - { 13178, 38148 }, - { 13179, 38607 }, - { 13180, 28353 }, - { 13181, 38500 }, - { 13182, 26970 }, - { 13345, 30784 }, - { 13346, 20648 }, - { 13347, 30679 }, - { 13348, 25616 }, - { 13349, 35302 }, - { 13350, 22788 }, - { 13351, 25571 }, - { 13352, 24029 }, - { 13353, 31359 }, - { 13354, 26941 }, - { 13355, 20256 }, - { 13356, 33337 }, - { 13357, 21912 }, - { 13358, 20018 }, - { 13359, 30126 }, - { 13360, 31383 }, - { 13361, 24162 }, - { 13362, 24202 }, - { 13363, 38383 }, - { 13364, 21019 }, - { 13365, 21561 }, - { 13366, 28810 }, - { 13367, 25462 }, - { 13368, 38180 }, - { 13369, 22402 }, - { 13370, 26149 }, - { 13371, 26943 }, - { 13372, 37255 }, - { 13373, 21767 }, - { 13374, 28147 }, - { 13375, 32431 }, - { 13376, 34850 }, - { 13377, 25139 }, - { 13378, 32496 }, - { 13379, 30133 }, - { 13380, 33576 }, - { 13381, 30913 }, - { 13382, 38604 }, - { 13383, 36766 }, - { 13384, 24904 }, - { 13385, 29943 }, - { 13386, 35789 }, - { 13387, 27492 }, - { 13388, 21050 }, - { 13389, 36176 }, - { 13390, 27425 }, - { 13391, 32874 }, - { 13392, 33905 }, - { 13393, 22257 }, - { 13394, 21254 }, - { 13395, 20174 }, - { 13396, 19995 }, - { 13397, 20945 }, - { 13398, 31895 }, - { 13399, 37259 }, - { 13400, 31751 }, - { 13401, 20419 }, - { 13402, 36479 }, - { 13403, 31713 }, - { 13404, 31388 }, - { 13405, 25703 }, - { 13406, 23828 }, - { 13407, 20652 }, - { 13408, 33030 }, - { 13409, 30209 }, - { 13410, 31929 }, - { 13411, 28140 }, - { 13412, 32736 }, - { 13413, 26449 }, - { 13414, 23384 }, - { 13415, 23544 }, - { 13416, 30923 }, - { 13417, 25774 }, - { 13418, 25619 }, - { 13419, 25514 }, - { 13420, 25387 }, - { 13421, 38169 }, - { 13422, 25645 }, - { 13423, 36798 }, - { 13424, 31572 }, - { 13425, 30249 }, - { 13426, 25171 }, - { 13427, 22823 }, - { 13428, 21574 }, - { 13429, 27513 }, - { 13430, 20643 }, - { 13431, 25140 }, - { 13432, 24102 }, - { 13433, 27526 }, - { 13434, 20195 }, - { 13435, 36151 }, - { 13436, 34955 }, - { 13437, 24453 }, - { 13438, 36910 }, - { 13601, 24608 }, - { 13602, 32829 }, - { 13603, 25285 }, - { 13604, 20025 }, - { 13605, 21333 }, - { 13606, 37112 }, - { 13607, 25528 }, - { 13608, 32966 }, - { 13609, 26086 }, - { 13610, 27694 }, - { 13611, 20294 }, - { 13612, 24814 }, - { 13613, 28129 }, - { 13614, 35806 }, - { 13615, 24377 }, - { 13616, 34507 }, - { 13617, 24403 }, - { 13618, 25377 }, - { 13619, 20826 }, - { 13620, 33633 }, - { 13621, 26723 }, - { 13622, 20992 }, - { 13623, 25443 }, - { 13624, 36424 }, - { 13625, 20498 }, - { 13626, 23707 }, - { 13627, 31095 }, - { 13628, 23548 }, - { 13629, 21040 }, - { 13630, 31291 }, - { 13631, 24764 }, - { 13632, 36947 }, - { 13633, 30423 }, - { 13634, 24503 }, - { 13635, 24471 }, - { 13636, 30340 }, - { 13637, 36460 }, - { 13638, 28783 }, - { 13639, 30331 }, - { 13640, 31561 }, - { 13641, 30634 }, - { 13642, 20979 }, - { 13643, 37011 }, - { 13644, 22564 }, - { 13645, 20302 }, - { 13646, 28404 }, - { 13647, 36842 }, - { 13648, 25932 }, - { 13649, 31515 }, - { 13650, 29380 }, - { 13651, 28068 }, - { 13652, 32735 }, - { 13653, 23265 }, - { 13654, 25269 }, - { 13655, 24213 }, - { 13656, 22320 }, - { 13657, 33922 }, - { 13658, 31532 }, - { 13659, 24093 }, - { 13660, 24351 }, - { 13661, 36882 }, - { 13662, 32532 }, - { 13663, 39072 }, - { 13664, 25474 }, - { 13665, 28359 }, - { 13666, 30872 }, - { 13667, 28857 }, - { 13668, 20856 }, - { 13669, 38747 }, - { 13670, 22443 }, - { 13671, 30005 }, - { 13672, 20291 }, - { 13673, 30008 }, - { 13674, 24215 }, - { 13675, 24806 }, - { 13676, 22880 }, - { 13677, 28096 }, - { 13678, 27583 }, - { 13679, 30857 }, - { 13680, 21500 }, - { 13681, 38613 }, - { 13682, 20939 }, - { 13683, 20993 }, - { 13684, 25481 }, - { 13685, 21514 }, - { 13686, 38035 }, - { 13687, 35843 }, - { 13688, 36300 }, - { 13689, 29241 }, - { 13690, 30879 }, - { 13691, 34678 }, - { 13692, 36845 }, - { 13693, 35853 }, - { 13694, 21472 }, - { 13857, 19969 }, - { 13858, 30447 }, - { 13859, 21486 }, - { 13860, 38025 }, - { 13861, 39030 }, - { 13862, 40718 }, - { 13863, 38189 }, - { 13864, 23450 }, - { 13865, 35746 }, - { 13866, 20002 }, - { 13867, 19996 }, - { 13868, 20908 }, - { 13869, 33891 }, - { 13870, 25026 }, - { 13871, 21160 }, - { 13872, 26635 }, - { 13873, 20375 }, - { 13874, 24683 }, - { 13875, 20923 }, - { 13876, 27934 }, - { 13877, 20828 }, - { 13878, 25238 }, - { 13879, 26007 }, - { 13880, 38497 }, - { 13881, 35910 }, - { 13882, 36887 }, - { 13883, 30168 }, - { 13884, 37117 }, - { 13885, 30563 }, - { 13886, 27602 }, - { 13887, 29322 }, - { 13888, 29420 }, - { 13889, 35835 }, - { 13890, 22581 }, - { 13891, 30585 }, - { 13892, 36172 }, - { 13893, 26460 }, - { 13894, 38208 }, - { 13895, 32922 }, - { 13896, 24230 }, - { 13897, 28193 }, - { 13898, 22930 }, - { 13899, 31471 }, - { 13900, 30701 }, - { 13901, 38203 }, - { 13902, 27573 }, - { 13903, 26029 }, - { 13904, 32526 }, - { 13905, 22534 }, - { 13906, 20817 }, - { 13907, 38431 }, - { 13908, 23545 }, - { 13909, 22697 }, - { 13910, 21544 }, - { 13911, 36466 }, - { 13912, 25958 }, - { 13913, 39039 }, - { 13914, 22244 }, - { 13915, 38045 }, - { 13916, 30462 }, - { 13917, 36929 }, - { 13918, 25479 }, - { 13919, 21702 }, - { 13920, 22810 }, - { 13921, 22842 }, - { 13922, 22427 }, - { 13923, 36530 }, - { 13924, 26421 }, - { 13925, 36346 }, - { 13926, 33333 }, - { 13927, 21057 }, - { 13928, 24816 }, - { 13929, 22549 }, - { 13930, 34558 }, - { 13931, 23784 }, - { 13932, 40517 }, - { 13933, 20420 }, - { 13934, 39069 }, - { 13935, 35769 }, - { 13936, 23077 }, - { 13937, 24694 }, - { 13938, 21380 }, - { 13939, 25212 }, - { 13940, 36943 }, - { 13941, 37122 }, - { 13942, 39295 }, - { 13943, 24681 }, - { 13944, 32780 }, - { 13945, 20799 }, - { 13946, 32819 }, - { 13947, 23572 }, - { 13948, 39285 }, - { 13949, 27953 }, - { 13950, 20108 }, - { 14113, 36144 }, - { 14114, 21457 }, - { 14115, 32602 }, - { 14116, 31567 }, - { 14117, 20240 }, - { 14118, 20047 }, - { 14119, 38400 }, - { 14120, 27861 }, - { 14121, 29648 }, - { 14122, 34281 }, - { 14123, 24070 }, - { 14124, 30058 }, - { 14125, 32763 }, - { 14126, 27146 }, - { 14127, 30718 }, - { 14128, 38034 }, - { 14129, 32321 }, - { 14130, 20961 }, - { 14131, 28902 }, - { 14132, 21453 }, - { 14133, 36820 }, - { 14134, 33539 }, - { 14135, 36137 }, - { 14136, 29359 }, - { 14137, 39277 }, - { 14138, 27867 }, - { 14139, 22346 }, - { 14140, 33459 }, - { 14141, 26041 }, - { 14142, 32938 }, - { 14143, 25151 }, - { 14144, 38450 }, - { 14145, 22952 }, - { 14146, 20223 }, - { 14147, 35775 }, - { 14148, 32442 }, - { 14149, 25918 }, - { 14150, 33778 }, - { 14151, 38750 }, - { 14152, 21857 }, - { 14153, 39134 }, - { 14154, 32933 }, - { 14155, 21290 }, - { 14156, 35837 }, - { 14157, 21536 }, - { 14158, 32954 }, - { 14159, 24223 }, - { 14160, 27832 }, - { 14161, 36153 }, - { 14162, 33452 }, - { 14163, 37210 }, - { 14164, 21545 }, - { 14165, 27675 }, - { 14166, 20998 }, - { 14167, 32439 }, - { 14168, 22367 }, - { 14169, 28954 }, - { 14170, 27774 }, - { 14171, 31881 }, - { 14172, 22859 }, - { 14173, 20221 }, - { 14174, 24575 }, - { 14175, 24868 }, - { 14176, 31914 }, - { 14177, 20016 }, - { 14178, 23553 }, - { 14179, 26539 }, - { 14180, 34562 }, - { 14181, 23792 }, - { 14182, 38155 }, - { 14183, 39118 }, - { 14184, 30127 }, - { 14185, 28925 }, - { 14186, 36898 }, - { 14187, 20911 }, - { 14188, 32541 }, - { 14189, 35773 }, - { 14190, 22857 }, - { 14191, 20964 }, - { 14192, 20315 }, - { 14193, 21542 }, - { 14194, 22827 }, - { 14195, 25975 }, - { 14196, 32932 }, - { 14197, 23413 }, - { 14198, 25206 }, - { 14199, 25282 }, - { 14200, 36752 }, - { 14201, 24133 }, - { 14202, 27679 }, - { 14203, 31526 }, - { 14204, 20239 }, - { 14205, 20440 }, - { 14206, 26381 }, - { 14369, 28014 }, - { 14370, 28074 }, - { 14371, 31119 }, - { 14372, 34993 }, - { 14373, 24343 }, - { 14374, 29995 }, - { 14375, 25242 }, - { 14376, 36741 }, - { 14377, 20463 }, - { 14378, 37340 }, - { 14379, 26023 }, - { 14380, 33071 }, - { 14381, 33105 }, - { 14382, 24220 }, - { 14383, 33104 }, - { 14384, 36212 }, - { 14385, 21103 }, - { 14386, 35206 }, - { 14387, 36171 }, - { 14388, 22797 }, - { 14389, 20613 }, - { 14390, 20184 }, - { 14391, 38428 }, - { 14392, 29238 }, - { 14393, 33145 }, - { 14394, 36127 }, - { 14395, 23500 }, - { 14396, 35747 }, - { 14397, 38468 }, - { 14398, 22919 }, - { 14399, 32538 }, - { 14400, 21648 }, - { 14401, 22134 }, - { 14402, 22030 }, - { 14403, 35813 }, - { 14404, 25913 }, - { 14405, 27010 }, - { 14406, 38041 }, - { 14407, 30422 }, - { 14408, 28297 }, - { 14409, 24178 }, - { 14410, 29976 }, - { 14411, 26438 }, - { 14412, 26577 }, - { 14413, 31487 }, - { 14414, 32925 }, - { 14415, 36214 }, - { 14416, 24863 }, - { 14417, 31174 }, - { 14418, 25954 }, - { 14419, 36195 }, - { 14420, 20872 }, - { 14421, 21018 }, - { 14422, 38050 }, - { 14423, 32568 }, - { 14424, 32923 }, - { 14425, 32434 }, - { 14426, 23703 }, - { 14427, 28207 }, - { 14428, 26464 }, - { 14429, 31705 }, - { 14430, 30347 }, - { 14431, 39640 }, - { 14432, 33167 }, - { 14433, 32660 }, - { 14434, 31957 }, - { 14435, 25630 }, - { 14436, 38224 }, - { 14437, 31295 }, - { 14438, 21578 }, - { 14439, 21733 }, - { 14440, 27468 }, - { 14441, 25601 }, - { 14442, 25096 }, - { 14443, 40509 }, - { 14444, 33011 }, - { 14445, 30105 }, - { 14446, 21106 }, - { 14447, 38761 }, - { 14448, 33883 }, - { 14449, 26684 }, - { 14450, 34532 }, - { 14451, 38401 }, - { 14452, 38548 }, - { 14453, 38124 }, - { 14454, 20010 }, - { 14455, 21508 }, - { 14456, 32473 }, - { 14457, 26681 }, - { 14458, 36319 }, - { 14459, 32789 }, - { 14460, 26356 }, - { 14461, 24218 }, - { 14462, 32697 }, - { 14625, 22466 }, - { 14626, 32831 }, - { 14627, 26775 }, - { 14628, 24037 }, - { 14629, 25915 }, - { 14630, 21151 }, - { 14631, 24685 }, - { 14632, 40858 }, - { 14633, 20379 }, - { 14634, 36524 }, - { 14635, 20844 }, - { 14636, 23467 }, - { 14637, 24339 }, - { 14638, 24041 }, - { 14639, 27742 }, - { 14640, 25329 }, - { 14641, 36129 }, - { 14642, 20849 }, - { 14643, 38057 }, - { 14644, 21246 }, - { 14645, 27807 }, - { 14646, 33503 }, - { 14647, 29399 }, - { 14648, 22434 }, - { 14649, 26500 }, - { 14650, 36141 }, - { 14651, 22815 }, - { 14652, 36764 }, - { 14653, 33735 }, - { 14654, 21653 }, - { 14655, 31629 }, - { 14656, 20272 }, - { 14657, 27837 }, - { 14658, 23396 }, - { 14659, 22993 }, - { 14660, 40723 }, - { 14661, 21476 }, - { 14662, 34506 }, - { 14663, 39592 }, - { 14664, 35895 }, - { 14665, 32929 }, - { 14666, 25925 }, - { 14667, 39038 }, - { 14668, 22266 }, - { 14669, 38599 }, - { 14670, 21038 }, - { 14671, 29916 }, - { 14672, 21072 }, - { 14673, 23521 }, - { 14674, 25346 }, - { 14675, 35074 }, - { 14676, 20054 }, - { 14677, 25296 }, - { 14678, 24618 }, - { 14679, 26874 }, - { 14680, 20851 }, - { 14681, 23448 }, - { 14682, 20896 }, - { 14683, 35266 }, - { 14684, 31649 }, - { 14685, 39302 }, - { 14686, 32592 }, - { 14687, 24815 }, - { 14688, 28748 }, - { 14689, 36143 }, - { 14690, 20809 }, - { 14691, 24191 }, - { 14692, 36891 }, - { 14693, 29808 }, - { 14694, 35268 }, - { 14695, 22317 }, - { 14696, 30789 }, - { 14697, 24402 }, - { 14698, 40863 }, - { 14699, 38394 }, - { 14700, 36712 }, - { 14701, 39740 }, - { 14702, 35809 }, - { 14703, 30328 }, - { 14704, 26690 }, - { 14705, 26588 }, - { 14706, 36330 }, - { 14707, 36149 }, - { 14708, 21053 }, - { 14709, 36746 }, - { 14710, 28378 }, - { 14711, 26829 }, - { 14712, 38149 }, - { 14713, 37101 }, - { 14714, 22269 }, - { 14715, 26524 }, - { 14716, 35065 }, - { 14717, 36807 }, - { 14718, 21704 }, - { 14881, 39608 }, - { 14882, 23401 }, - { 14883, 28023 }, - { 14884, 27686 }, - { 14885, 20133 }, - { 14886, 23475 }, - { 14887, 39559 }, - { 14888, 37219 }, - { 14889, 25000 }, - { 14890, 37039 }, - { 14891, 38889 }, - { 14892, 21547 }, - { 14893, 28085 }, - { 14894, 23506 }, - { 14895, 20989 }, - { 14896, 21898 }, - { 14897, 32597 }, - { 14898, 32752 }, - { 14899, 25788 }, - { 14900, 25421 }, - { 14901, 26097 }, - { 14902, 25022 }, - { 14903, 24717 }, - { 14904, 28938 }, - { 14905, 27735 }, - { 14906, 27721 }, - { 14907, 22831 }, - { 14908, 26477 }, - { 14909, 33322 }, - { 14910, 22741 }, - { 14911, 22158 }, - { 14912, 35946 }, - { 14913, 27627 }, - { 14914, 37085 }, - { 14915, 22909 }, - { 14916, 32791 }, - { 14917, 21495 }, - { 14918, 28009 }, - { 14919, 21621 }, - { 14920, 21917 }, - { 14921, 33655 }, - { 14922, 33743 }, - { 14923, 26680 }, - { 14924, 31166 }, - { 14925, 21644 }, - { 14926, 20309 }, - { 14927, 21512 }, - { 14928, 30418 }, - { 14929, 35977 }, - { 14930, 38402 }, - { 14931, 27827 }, - { 14932, 28088 }, - { 14933, 36203 }, - { 14934, 35088 }, - { 14935, 40548 }, - { 14936, 36154 }, - { 14937, 22079 }, - { 14938, 40657 }, - { 14939, 30165 }, - { 14940, 24456 }, - { 14941, 29408 }, - { 14942, 24680 }, - { 14943, 21756 }, - { 14944, 20136 }, - { 14945, 27178 }, - { 14946, 34913 }, - { 14947, 24658 }, - { 14948, 36720 }, - { 14949, 21700 }, - { 14950, 28888 }, - { 14951, 34425 }, - { 14952, 40511 }, - { 14953, 27946 }, - { 14954, 23439 }, - { 14955, 24344 }, - { 14956, 32418 }, - { 14957, 21897 }, - { 14958, 20399 }, - { 14959, 29492 }, - { 14960, 21564 }, - { 14961, 21402 }, - { 14962, 20505 }, - { 14963, 21518 }, - { 14964, 21628 }, - { 14965, 20046 }, - { 14966, 24573 }, - { 14967, 29786 }, - { 14968, 22774 }, - { 14969, 33899 }, - { 14970, 32993 }, - { 14971, 34676 }, - { 14972, 29392 }, - { 14973, 31946 }, - { 14974, 28246 }, - { 15137, 24359 }, - { 15138, 34382 }, - { 15139, 21804 }, - { 15140, 25252 }, - { 15141, 20114 }, - { 15142, 27818 }, - { 15143, 25143 }, - { 15144, 33457 }, - { 15145, 21719 }, - { 15146, 21326 }, - { 15147, 29502 }, - { 15148, 28369 }, - { 15149, 30011 }, - { 15150, 21010 }, - { 15151, 21270 }, - { 15152, 35805 }, - { 15153, 27088 }, - { 15154, 24458 }, - { 15155, 24576 }, - { 15156, 28142 }, - { 15157, 22351 }, - { 15158, 27426 }, - { 15159, 29615 }, - { 15160, 26707 }, - { 15161, 36824 }, - { 15162, 32531 }, - { 15163, 25442 }, - { 15164, 24739 }, - { 15165, 21796 }, - { 15166, 30186 }, - { 15167, 35938 }, - { 15168, 28949 }, - { 15169, 28067 }, - { 15170, 23462 }, - { 15171, 24187 }, - { 15172, 33618 }, - { 15173, 24908 }, - { 15174, 40644 }, - { 15175, 30970 }, - { 15176, 34647 }, - { 15177, 31783 }, - { 15178, 30343 }, - { 15179, 20976 }, - { 15180, 24822 }, - { 15181, 29004 }, - { 15182, 26179 }, - { 15183, 24140 }, - { 15184, 24653 }, - { 15185, 35854 }, - { 15186, 28784 }, - { 15187, 25381 }, - { 15188, 36745 }, - { 15189, 24509 }, - { 15190, 24674 }, - { 15191, 34516 }, - { 15192, 22238 }, - { 15193, 27585 }, - { 15194, 24724 }, - { 15195, 24935 }, - { 15196, 21321 }, - { 15197, 24800 }, - { 15198, 26214 }, - { 15199, 36159 }, - { 15200, 31229 }, - { 15201, 20250 }, - { 15202, 28905 }, - { 15203, 27719 }, - { 15204, 35763 }, - { 15205, 35826 }, - { 15206, 32472 }, - { 15207, 33636 }, - { 15208, 26127 }, - { 15209, 23130 }, - { 15210, 39746 }, - { 15211, 27985 }, - { 15212, 28151 }, - { 15213, 35905 }, - { 15214, 27963 }, - { 15215, 20249 }, - { 15216, 28779 }, - { 15217, 33719 }, - { 15218, 25110 }, - { 15219, 24785 }, - { 15220, 38669 }, - { 15221, 36135 }, - { 15222, 31096 }, - { 15223, 20987 }, - { 15224, 22334 }, - { 15225, 22522 }, - { 15226, 26426 }, - { 15227, 30072 }, - { 15228, 31293 }, - { 15229, 31215 }, - { 15230, 31637 }, - { 15393, 32908 }, - { 15394, 39269 }, - { 15395, 36857 }, - { 15396, 28608 }, - { 15397, 35749 }, - { 15398, 40481 }, - { 15399, 23020 }, - { 15400, 32489 }, - { 15401, 32521 }, - { 15402, 21513 }, - { 15403, 26497 }, - { 15404, 26840 }, - { 15405, 36753 }, - { 15406, 31821 }, - { 15407, 38598 }, - { 15408, 21450 }, - { 15409, 24613 }, - { 15410, 30142 }, - { 15411, 27762 }, - { 15412, 21363 }, - { 15413, 23241 }, - { 15414, 32423 }, - { 15415, 25380 }, - { 15416, 20960 }, - { 15417, 33034 }, - { 15418, 24049 }, - { 15419, 34015 }, - { 15420, 25216 }, - { 15421, 20864 }, - { 15422, 23395 }, - { 15423, 20238 }, - { 15424, 31085 }, - { 15425, 21058 }, - { 15426, 24760 }, - { 15427, 27982 }, - { 15428, 23492 }, - { 15429, 23490 }, - { 15430, 35745 }, - { 15431, 35760 }, - { 15432, 26082 }, - { 15433, 24524 }, - { 15434, 38469 }, - { 15435, 22931 }, - { 15436, 32487 }, - { 15437, 32426 }, - { 15438, 22025 }, - { 15439, 26551 }, - { 15440, 22841 }, - { 15441, 20339 }, - { 15442, 23478 }, - { 15443, 21152 }, - { 15444, 33626 }, - { 15445, 39050 }, - { 15446, 36158 }, - { 15447, 30002 }, - { 15448, 38078 }, - { 15449, 20551 }, - { 15450, 31292 }, - { 15451, 20215 }, - { 15452, 26550 }, - { 15453, 39550 }, - { 15454, 23233 }, - { 15455, 27516 }, - { 15456, 30417 }, - { 15457, 22362 }, - { 15458, 23574 }, - { 15459, 31546 }, - { 15460, 38388 }, - { 15461, 29006 }, - { 15462, 20860 }, - { 15463, 32937 }, - { 15464, 33392 }, - { 15465, 22904 }, - { 15466, 32516 }, - { 15467, 33575 }, - { 15468, 26816 }, - { 15469, 26604 }, - { 15470, 30897 }, - { 15471, 30839 }, - { 15472, 25315 }, - { 15473, 25441 }, - { 15474, 31616 }, - { 15475, 20461 }, - { 15476, 21098 }, - { 15477, 20943 }, - { 15478, 33616 }, - { 15479, 27099 }, - { 15480, 37492 }, - { 15481, 36341 }, - { 15482, 36145 }, - { 15483, 35265 }, - { 15484, 38190 }, - { 15485, 31661 }, - { 15486, 20214 }, - { 15649, 20581 }, - { 15650, 33328 }, - { 15651, 21073 }, - { 15652, 39279 }, - { 15653, 28176 }, - { 15654, 28293 }, - { 15655, 28071 }, - { 15656, 24314 }, - { 15657, 20725 }, - { 15658, 23004 }, - { 15659, 23558 }, - { 15660, 27974 }, - { 15661, 27743 }, - { 15662, 30086 }, - { 15663, 33931 }, - { 15664, 26728 }, - { 15665, 22870 }, - { 15666, 35762 }, - { 15667, 21280 }, - { 15668, 37233 }, - { 15669, 38477 }, - { 15670, 34121 }, - { 15671, 26898 }, - { 15672, 30977 }, - { 15673, 28966 }, - { 15674, 33014 }, - { 15675, 20132 }, - { 15676, 37066 }, - { 15677, 27975 }, - { 15678, 39556 }, - { 15679, 23047 }, - { 15680, 22204 }, - { 15681, 25605 }, - { 15682, 38128 }, - { 15683, 30699 }, - { 15684, 20389 }, - { 15685, 33050 }, - { 15686, 29409 }, - { 15687, 35282 }, - { 15688, 39290 }, - { 15689, 32564 }, - { 15690, 32478 }, - { 15691, 21119 }, - { 15692, 25945 }, - { 15693, 37237 }, - { 15694, 36735 }, - { 15695, 36739 }, - { 15696, 21483 }, - { 15697, 31382 }, - { 15698, 25581 }, - { 15699, 25509 }, - { 15700, 30342 }, - { 15701, 31224 }, - { 15702, 34903 }, - { 15703, 38454 }, - { 15704, 25130 }, - { 15705, 21163 }, - { 15706, 33410 }, - { 15707, 26708 }, - { 15708, 26480 }, - { 15709, 25463 }, - { 15710, 30571 }, - { 15711, 31469 }, - { 15712, 27905 }, - { 15713, 32467 }, - { 15714, 35299 }, - { 15715, 22992 }, - { 15716, 25106 }, - { 15717, 34249 }, - { 15718, 33445 }, - { 15719, 30028 }, - { 15720, 20511 }, - { 15721, 20171 }, - { 15722, 30117 }, - { 15723, 35819 }, - { 15724, 23626 }, - { 15725, 24062 }, - { 15726, 31563 }, - { 15727, 26020 }, - { 15728, 37329 }, - { 15729, 20170 }, - { 15730, 27941 }, - { 15731, 35167 }, - { 15732, 32039 }, - { 15733, 38182 }, - { 15734, 20165 }, - { 15735, 35880 }, - { 15736, 36827 }, - { 15737, 38771 }, - { 15738, 26187 }, - { 15739, 31105 }, - { 15740, 36817 }, - { 15741, 28908 }, - { 15742, 28024 }, - { 15905, 23613 }, - { 15906, 21170 }, - { 15907, 33606 }, - { 15908, 20834 }, - { 15909, 33550 }, - { 15910, 30555 }, - { 15911, 26230 }, - { 15912, 40120 }, - { 15913, 20140 }, - { 15914, 24778 }, - { 15915, 31934 }, - { 15916, 31923 }, - { 15917, 32463 }, - { 15918, 20117 }, - { 15919, 35686 }, - { 15920, 26223 }, - { 15921, 39048 }, - { 15922, 38745 }, - { 15923, 22659 }, - { 15924, 25964 }, - { 15925, 38236 }, - { 15926, 24452 }, - { 15927, 30153 }, - { 15928, 38742 }, - { 15929, 31455 }, - { 15930, 31454 }, - { 15931, 20928 }, - { 15932, 28847 }, - { 15933, 31384 }, - { 15934, 25578 }, - { 15935, 31350 }, - { 15936, 32416 }, - { 15937, 29590 }, - { 15938, 38893 }, - { 15939, 20037 }, - { 15940, 28792 }, - { 15941, 20061 }, - { 15942, 37202 }, - { 15943, 21417 }, - { 15944, 25937 }, - { 15945, 26087 }, - { 15946, 33276 }, - { 15947, 33285 }, - { 15948, 21646 }, - { 15949, 23601 }, - { 15950, 30106 }, - { 15951, 38816 }, - { 15952, 25304 }, - { 15953, 29401 }, - { 15954, 30141 }, - { 15955, 23621 }, - { 15956, 39545 }, - { 15957, 33738 }, - { 15958, 23616 }, - { 15959, 21632 }, - { 15960, 30697 }, - { 15961, 20030 }, - { 15962, 27822 }, - { 15963, 32858 }, - { 15964, 25298 }, - { 15965, 25454 }, - { 15966, 24040 }, - { 15967, 20855 }, - { 15968, 36317 }, - { 15969, 36382 }, - { 15970, 38191 }, - { 15971, 20465 }, - { 15972, 21477 }, - { 15973, 24807 }, - { 15974, 28844 }, - { 15975, 21095 }, - { 15976, 25424 }, - { 15977, 40515 }, - { 15978, 23071 }, - { 15979, 20518 }, - { 15980, 30519 }, - { 15981, 21367 }, - { 15982, 32482 }, - { 15983, 25733 }, - { 15984, 25899 }, - { 15985, 25225 }, - { 15986, 25496 }, - { 15987, 20500 }, - { 15988, 29237 }, - { 15989, 35273 }, - { 15990, 20915 }, - { 15991, 35776 }, - { 15992, 32477 }, - { 15993, 22343 }, - { 15994, 33740 }, - { 15995, 38055 }, - { 15996, 20891 }, - { 15997, 21531 }, - { 15998, 23803 }, - { 16161, 20426 }, - { 16162, 31459 }, - { 16163, 27994 }, - { 16164, 37089 }, - { 16165, 39567 }, - { 16166, 21888 }, - { 16167, 21654 }, - { 16168, 21345 }, - { 16169, 21679 }, - { 16170, 24320 }, - { 16171, 25577 }, - { 16172, 26999 }, - { 16173, 20975 }, - { 16174, 24936 }, - { 16175, 21002 }, - { 16176, 22570 }, - { 16177, 21208 }, - { 16178, 22350 }, - { 16179, 30733 }, - { 16180, 30475 }, - { 16181, 24247 }, - { 16182, 24951 }, - { 16183, 31968 }, - { 16184, 25179 }, - { 16185, 25239 }, - { 16186, 20130 }, - { 16187, 28821 }, - { 16188, 32771 }, - { 16189, 25335 }, - { 16190, 28900 }, - { 16191, 38752 }, - { 16192, 22391 }, - { 16193, 33499 }, - { 16194, 26607 }, - { 16195, 26869 }, - { 16196, 30933 }, - { 16197, 39063 }, - { 16198, 31185 }, - { 16199, 22771 }, - { 16200, 21683 }, - { 16201, 21487 }, - { 16202, 28212 }, - { 16203, 20811 }, - { 16204, 21051 }, - { 16205, 23458 }, - { 16206, 35838 }, - { 16207, 32943 }, - { 16208, 21827 }, - { 16209, 22438 }, - { 16210, 24691 }, - { 16211, 22353 }, - { 16212, 21549 }, - { 16213, 31354 }, - { 16214, 24656 }, - { 16215, 23380 }, - { 16216, 25511 }, - { 16217, 25248 }, - { 16218, 21475 }, - { 16219, 25187 }, - { 16220, 23495 }, - { 16221, 26543 }, - { 16222, 21741 }, - { 16223, 31391 }, - { 16224, 33510 }, - { 16225, 37239 }, - { 16226, 24211 }, - { 16227, 35044 }, - { 16228, 22840 }, - { 16229, 22446 }, - { 16230, 25358 }, - { 16231, 36328 }, - { 16232, 33007 }, - { 16233, 22359 }, - { 16234, 31607 }, - { 16235, 20393 }, - { 16236, 24555 }, - { 16237, 23485 }, - { 16238, 27454 }, - { 16239, 21281 }, - { 16240, 31568 }, - { 16241, 29378 }, - { 16242, 26694 }, - { 16243, 30719 }, - { 16244, 30518 }, - { 16245, 26103 }, - { 16246, 20917 }, - { 16247, 20111 }, - { 16248, 30420 }, - { 16249, 23743 }, - { 16250, 31397 }, - { 16251, 33909 }, - { 16252, 22862 }, - { 16253, 39745 }, - { 16254, 20608 }, - { 16417, 39304 }, - { 16418, 24871 }, - { 16419, 28291 }, - { 16420, 22372 }, - { 16421, 26118 }, - { 16422, 25414 }, - { 16423, 22256 }, - { 16424, 25324 }, - { 16425, 25193 }, - { 16426, 24275 }, - { 16427, 38420 }, - { 16428, 22403 }, - { 16429, 25289 }, - { 16430, 21895 }, - { 16431, 34593 }, - { 16432, 33098 }, - { 16433, 36771 }, - { 16434, 21862 }, - { 16435, 33713 }, - { 16436, 26469 }, - { 16437, 36182 }, - { 16438, 34013 }, - { 16439, 23146 }, - { 16440, 26639 }, - { 16441, 25318 }, - { 16442, 31726 }, - { 16443, 38417 }, - { 16444, 20848 }, - { 16445, 28572 }, - { 16446, 35888 }, - { 16447, 25597 }, - { 16448, 35272 }, - { 16449, 25042 }, - { 16450, 32518 }, - { 16451, 28866 }, - { 16452, 28389 }, - { 16453, 29701 }, - { 16454, 27028 }, - { 16455, 29436 }, - { 16456, 24266 }, - { 16457, 37070 }, - { 16458, 26391 }, - { 16459, 28010 }, - { 16460, 25438 }, - { 16461, 21171 }, - { 16462, 29282 }, - { 16463, 32769 }, - { 16464, 20332 }, - { 16465, 23013 }, - { 16466, 37226 }, - { 16467, 28889 }, - { 16468, 28061 }, - { 16469, 21202 }, - { 16470, 20048 }, - { 16471, 38647 }, - { 16472, 38253 }, - { 16473, 34174 }, - { 16474, 30922 }, - { 16475, 32047 }, - { 16476, 20769 }, - { 16477, 22418 }, - { 16478, 25794 }, - { 16479, 32907 }, - { 16480, 31867 }, - { 16481, 27882 }, - { 16482, 26865 }, - { 16483, 26974 }, - { 16484, 20919 }, - { 16485, 21400 }, - { 16486, 26792 }, - { 16487, 29313 }, - { 16488, 40654 }, - { 16489, 31729 }, - { 16490, 29432 }, - { 16491, 31163 }, - { 16492, 28435 }, - { 16493, 29702 }, - { 16494, 26446 }, - { 16495, 37324 }, - { 16496, 40100 }, - { 16497, 31036 }, - { 16498, 33673 }, - { 16499, 33620 }, - { 16500, 21519 }, - { 16501, 26647 }, - { 16502, 20029 }, - { 16503, 21385 }, - { 16504, 21169 }, - { 16505, 30782 }, - { 16506, 21382 }, - { 16507, 21033 }, - { 16508, 20616 }, - { 16509, 20363 }, - { 16510, 20432 }, - { 16673, 30178 }, - { 16674, 31435 }, - { 16675, 31890 }, - { 16676, 27813 }, - { 16677, 38582 }, - { 16678, 21147 }, - { 16679, 29827 }, - { 16680, 21737 }, - { 16681, 20457 }, - { 16682, 32852 }, - { 16683, 33714 }, - { 16684, 36830 }, - { 16685, 38256 }, - { 16686, 24265 }, - { 16687, 24604 }, - { 16688, 28063 }, - { 16689, 24088 }, - { 16690, 25947 }, - { 16691, 33080 }, - { 16692, 38142 }, - { 16693, 24651 }, - { 16694, 28860 }, - { 16695, 32451 }, - { 16696, 31918 }, - { 16697, 20937 }, - { 16698, 26753 }, - { 16699, 31921 }, - { 16700, 33391 }, - { 16701, 20004 }, - { 16702, 36742 }, - { 16703, 37327 }, - { 16704, 26238 }, - { 16705, 20142 }, - { 16706, 35845 }, - { 16707, 25769 }, - { 16708, 32842 }, - { 16709, 20698 }, - { 16710, 30103 }, - { 16711, 29134 }, - { 16712, 23525 }, - { 16713, 36797 }, - { 16714, 28518 }, - { 16715, 20102 }, - { 16716, 25730 }, - { 16717, 38243 }, - { 16718, 24278 }, - { 16719, 26009 }, - { 16720, 21015 }, - { 16721, 35010 }, - { 16722, 28872 }, - { 16723, 21155 }, - { 16724, 29454 }, - { 16725, 29747 }, - { 16726, 26519 }, - { 16727, 30967 }, - { 16728, 38678 }, - { 16729, 20020 }, - { 16730, 37051 }, - { 16731, 40158 }, - { 16732, 28107 }, - { 16733, 20955 }, - { 16734, 36161 }, - { 16735, 21533 }, - { 16736, 25294 }, - { 16737, 29618 }, - { 16738, 33777 }, - { 16739, 38646 }, - { 16740, 40836 }, - { 16741, 38083 }, - { 16742, 20278 }, - { 16743, 32666 }, - { 16744, 20940 }, - { 16745, 28789 }, - { 16746, 38517 }, - { 16747, 23725 }, - { 16748, 39046 }, - { 16749, 21478 }, - { 16750, 20196 }, - { 16751, 28316 }, - { 16752, 29705 }, - { 16753, 27060 }, - { 16754, 30827 }, - { 16755, 39311 }, - { 16756, 30041 }, - { 16757, 21016 }, - { 16758, 30244 }, - { 16759, 27969 }, - { 16760, 26611 }, - { 16761, 20845 }, - { 16762, 40857 }, - { 16763, 32843 }, - { 16764, 21657 }, - { 16765, 31548 }, - { 16766, 31423 }, - { 16929, 38534 }, - { 16930, 22404 }, - { 16931, 25314 }, - { 16932, 38471 }, - { 16933, 27004 }, - { 16934, 23044 }, - { 16935, 25602 }, - { 16936, 31699 }, - { 16937, 28431 }, - { 16938, 38475 }, - { 16939, 33446 }, - { 16940, 21346 }, - { 16941, 39045 }, - { 16942, 24208 }, - { 16943, 28809 }, - { 16944, 25523 }, - { 16945, 21348 }, - { 16946, 34383 }, - { 16947, 40065 }, - { 16948, 40595 }, - { 16949, 30860 }, - { 16950, 38706 }, - { 16951, 36335 }, - { 16952, 36162 }, - { 16953, 40575 }, - { 16954, 28510 }, - { 16955, 31108 }, - { 16956, 24405 }, - { 16957, 38470 }, - { 16958, 25134 }, - { 16959, 39540 }, - { 16960, 21525 }, - { 16961, 38109 }, - { 16962, 20387 }, - { 16963, 26053 }, - { 16964, 23653 }, - { 16965, 23649 }, - { 16966, 32533 }, - { 16967, 34385 }, - { 16968, 27695 }, - { 16969, 24459 }, - { 16970, 29575 }, - { 16971, 28388 }, - { 16972, 32511 }, - { 16973, 23782 }, - { 16974, 25371 }, - { 16975, 23402 }, - { 16976, 28390 }, - { 16977, 21365 }, - { 16978, 20081 }, - { 16979, 25504 }, - { 16980, 30053 }, - { 16981, 25249 }, - { 16982, 36718 }, - { 16983, 20262 }, - { 16984, 20177 }, - { 16985, 27814 }, - { 16986, 32438 }, - { 16987, 35770 }, - { 16988, 33821 }, - { 16989, 34746 }, - { 16990, 32599 }, - { 16991, 36923 }, - { 16992, 38179 }, - { 16993, 31657 }, - { 16994, 39585 }, - { 16995, 35064 }, - { 16996, 33853 }, - { 16997, 27931 }, - { 16998, 39558 }, - { 16999, 32476 }, - { 17000, 22920 }, - { 17001, 40635 }, - { 17002, 29595 }, - { 17003, 30721 }, - { 17004, 34434 }, - { 17005, 39532 }, - { 17006, 39554 }, - { 17007, 22043 }, - { 17008, 21527 }, - { 17009, 22475 }, - { 17010, 20080 }, - { 17011, 40614 }, - { 17012, 21334 }, - { 17013, 36808 }, - { 17014, 33033 }, - { 17015, 30610 }, - { 17016, 39314 }, - { 17017, 34542 }, - { 17018, 28385 }, - { 17019, 34067 }, - { 17020, 26364 }, - { 17021, 24930 }, - { 17022, 28459 }, - { 17185, 35881 }, - { 17186, 33426 }, - { 17187, 33579 }, - { 17188, 30450 }, - { 17189, 27667 }, - { 17190, 24537 }, - { 17191, 33725 }, - { 17192, 29483 }, - { 17193, 33541 }, - { 17194, 38170 }, - { 17195, 27611 }, - { 17196, 30683 }, - { 17197, 38086 }, - { 17198, 21359 }, - { 17199, 33538 }, - { 17200, 20882 }, - { 17201, 24125 }, - { 17202, 35980 }, - { 17203, 36152 }, - { 17204, 20040 }, - { 17205, 29611 }, - { 17206, 26522 }, - { 17207, 26757 }, - { 17208, 37238 }, - { 17209, 38665 }, - { 17210, 29028 }, - { 17211, 27809 }, - { 17212, 30473 }, - { 17213, 23186 }, - { 17214, 38209 }, - { 17215, 27599 }, - { 17216, 32654 }, - { 17217, 26151 }, - { 17218, 23504 }, - { 17219, 22969 }, - { 17220, 23194 }, - { 17221, 38376 }, - { 17222, 38391 }, - { 17223, 20204 }, - { 17224, 33804 }, - { 17225, 33945 }, - { 17226, 27308 }, - { 17227, 30431 }, - { 17228, 38192 }, - { 17229, 29467 }, - { 17230, 26790 }, - { 17231, 23391 }, - { 17232, 30511 }, - { 17233, 37274 }, - { 17234, 38753 }, - { 17235, 31964 }, - { 17236, 36855 }, - { 17237, 35868 }, - { 17238, 24357 }, - { 17239, 31859 }, - { 17240, 31192 }, - { 17241, 35269 }, - { 17242, 27852 }, - { 17243, 34588 }, - { 17244, 23494 }, - { 17245, 24130 }, - { 17246, 26825 }, - { 17247, 30496 }, - { 17248, 32501 }, - { 17249, 20885 }, - { 17250, 20813 }, - { 17251, 21193 }, - { 17252, 23081 }, - { 17253, 32517 }, - { 17254, 38754 }, - { 17255, 33495 }, - { 17256, 25551 }, - { 17257, 30596 }, - { 17258, 34256 }, - { 17259, 31186 }, - { 17260, 28218 }, - { 17261, 24217 }, - { 17262, 22937 }, - { 17263, 34065 }, - { 17264, 28781 }, - { 17265, 27665 }, - { 17266, 25279 }, - { 17267, 30399 }, - { 17268, 25935 }, - { 17269, 24751 }, - { 17270, 38397 }, - { 17271, 26126 }, - { 17272, 34719 }, - { 17273, 40483 }, - { 17274, 38125 }, - { 17275, 21517 }, - { 17276, 21629 }, - { 17277, 35884 }, - { 17278, 25720 }, - { 17441, 25721 }, - { 17442, 34321 }, - { 17443, 27169 }, - { 17444, 33180 }, - { 17445, 30952 }, - { 17446, 25705 }, - { 17447, 39764 }, - { 17448, 25273 }, - { 17449, 26411 }, - { 17450, 33707 }, - { 17451, 22696 }, - { 17452, 40664 }, - { 17453, 27819 }, - { 17454, 28448 }, - { 17455, 23518 }, - { 17456, 38476 }, - { 17457, 35851 }, - { 17458, 29279 }, - { 17459, 26576 }, - { 17460, 25287 }, - { 17461, 29281 }, - { 17462, 20137 }, - { 17463, 22982 }, - { 17464, 27597 }, - { 17465, 22675 }, - { 17466, 26286 }, - { 17467, 24149 }, - { 17468, 21215 }, - { 17469, 24917 }, - { 17470, 26408 }, - { 17471, 30446 }, - { 17472, 30566 }, - { 17473, 29287 }, - { 17474, 31302 }, - { 17475, 25343 }, - { 17476, 21738 }, - { 17477, 21584 }, - { 17478, 38048 }, - { 17479, 37027 }, - { 17480, 23068 }, - { 17481, 32435 }, - { 17482, 27670 }, - { 17483, 20035 }, - { 17484, 22902 }, - { 17485, 32784 }, - { 17486, 22856 }, - { 17487, 21335 }, - { 17488, 30007 }, - { 17489, 38590 }, - { 17490, 22218 }, - { 17491, 25376 }, - { 17492, 33041 }, - { 17493, 24700 }, - { 17494, 38393 }, - { 17495, 28118 }, - { 17496, 21602 }, - { 17497, 39297 }, - { 17498, 20869 }, - { 17499, 23273 }, - { 17500, 33021 }, - { 17501, 22958 }, - { 17502, 38675 }, - { 17503, 20522 }, - { 17504, 27877 }, - { 17505, 23612 }, - { 17506, 25311 }, - { 17507, 20320 }, - { 17508, 21311 }, - { 17509, 33147 }, - { 17510, 36870 }, - { 17511, 28346 }, - { 17512, 34091 }, - { 17513, 25288 }, - { 17514, 24180 }, - { 17515, 30910 }, - { 17516, 25781 }, - { 17517, 25467 }, - { 17518, 24565 }, - { 17519, 23064 }, - { 17520, 37247 }, - { 17521, 40479 }, - { 17522, 23615 }, - { 17523, 25423 }, - { 17524, 32834 }, - { 17525, 23421 }, - { 17526, 21870 }, - { 17527, 38218 }, - { 17528, 38221 }, - { 17529, 28037 }, - { 17530, 24744 }, - { 17531, 26592 }, - { 17532, 29406 }, - { 17533, 20957 }, - { 17534, 23425 }, - { 17697, 25319 }, - { 17698, 27870 }, - { 17699, 29275 }, - { 17700, 25197 }, - { 17701, 38062 }, - { 17702, 32445 }, - { 17703, 33043 }, - { 17704, 27987 }, - { 17705, 20892 }, - { 17706, 24324 }, - { 17707, 22900 }, - { 17708, 21162 }, - { 17709, 24594 }, - { 17710, 22899 }, - { 17711, 26262 }, - { 17712, 34384 }, - { 17713, 30111 }, - { 17714, 25386 }, - { 17715, 25062 }, - { 17716, 31983 }, - { 17717, 35834 }, - { 17718, 21734 }, - { 17719, 27431 }, - { 17720, 40485 }, - { 17721, 27572 }, - { 17722, 34261 }, - { 17723, 21589 }, - { 17724, 20598 }, - { 17725, 27812 }, - { 17726, 21866 }, - { 17727, 36276 }, - { 17728, 29228 }, - { 17729, 24085 }, - { 17730, 24597 }, - { 17731, 29750 }, - { 17732, 25293 }, - { 17733, 25490 }, - { 17734, 29260 }, - { 17735, 24472 }, - { 17736, 28227 }, - { 17737, 27966 }, - { 17738, 25856 }, - { 17739, 28504 }, - { 17740, 30424 }, - { 17741, 30928 }, - { 17742, 30460 }, - { 17743, 30036 }, - { 17744, 21028 }, - { 17745, 21467 }, - { 17746, 20051 }, - { 17747, 24222 }, - { 17748, 26049 }, - { 17749, 32810 }, - { 17750, 32982 }, - { 17751, 25243 }, - { 17752, 21638 }, - { 17753, 21032 }, - { 17754, 28846 }, - { 17755, 34957 }, - { 17756, 36305 }, - { 17757, 27873 }, - { 17758, 21624 }, - { 17759, 32986 }, - { 17760, 22521 }, - { 17761, 35060 }, - { 17762, 36180 }, - { 17763, 38506 }, - { 17764, 37197 }, - { 17765, 20329 }, - { 17766, 27803 }, - { 17767, 21943 }, - { 17768, 30406 }, - { 17769, 30768 }, - { 17770, 25256 }, - { 17771, 28921 }, - { 17772, 28558 }, - { 17773, 24429 }, - { 17774, 34028 }, - { 17775, 26842 }, - { 17776, 30844 }, - { 17777, 31735 }, - { 17778, 33192 }, - { 17779, 26379 }, - { 17780, 40527 }, - { 17781, 25447 }, - { 17782, 30896 }, - { 17783, 22383 }, - { 17784, 30738 }, - { 17785, 38713 }, - { 17786, 25209 }, - { 17787, 25259 }, - { 17788, 21128 }, - { 17789, 29749 }, - { 17790, 27607 }, - { 17953, 21860 }, - { 17954, 33086 }, - { 17955, 30130 }, - { 17956, 30382 }, - { 17957, 21305 }, - { 17958, 30174 }, - { 17959, 20731 }, - { 17960, 23617 }, - { 17961, 35692 }, - { 17962, 31687 }, - { 17963, 20559 }, - { 17964, 29255 }, - { 17965, 39575 }, - { 17966, 39128 }, - { 17967, 28418 }, - { 17968, 29922 }, - { 17969, 31080 }, - { 17970, 25735 }, - { 17971, 30629 }, - { 17972, 25340 }, - { 17973, 39057 }, - { 17974, 36139 }, - { 17975, 21697 }, - { 17976, 32856 }, - { 17977, 20050 }, - { 17978, 22378 }, - { 17979, 33529 }, - { 17980, 33805 }, - { 17981, 24179 }, - { 17982, 20973 }, - { 17983, 29942 }, - { 17984, 35780 }, - { 17985, 23631 }, - { 17986, 22369 }, - { 17987, 27900 }, - { 17988, 39047 }, - { 17989, 23110 }, - { 17990, 30772 }, - { 17991, 39748 }, - { 17992, 36843 }, - { 17993, 31893 }, - { 17994, 21078 }, - { 17995, 25169 }, - { 17996, 38138 }, - { 17997, 20166 }, - { 17998, 33670 }, - { 17999, 33889 }, - { 18000, 33769 }, - { 18001, 33970 }, - { 18002, 22484 }, - { 18003, 26420 }, - { 18004, 22275 }, - { 18005, 26222 }, - { 18006, 28006 }, - { 18007, 35889 }, - { 18008, 26333 }, - { 18009, 28689 }, - { 18010, 26399 }, - { 18011, 27450 }, - { 18012, 26646 }, - { 18013, 25114 }, - { 18014, 22971 }, - { 18015, 19971 }, - { 18016, 20932 }, - { 18017, 28422 }, - { 18018, 26578 }, - { 18019, 27791 }, - { 18020, 20854 }, - { 18021, 26827 }, - { 18022, 22855 }, - { 18023, 27495 }, - { 18024, 30054 }, - { 18025, 23822 }, - { 18026, 33040 }, - { 18027, 40784 }, - { 18028, 26071 }, - { 18029, 31048 }, - { 18030, 31041 }, - { 18031, 39569 }, - { 18032, 36215 }, - { 18033, 23682 }, - { 18034, 20062 }, - { 18035, 20225 }, - { 18036, 21551 }, - { 18037, 22865 }, - { 18038, 30732 }, - { 18039, 22120 }, - { 18040, 27668 }, - { 18041, 36804 }, - { 18042, 24323 }, - { 18043, 27773 }, - { 18044, 27875 }, - { 18045, 35755 }, - { 18046, 25488 }, - { 18209, 24688 }, - { 18210, 27965 }, - { 18211, 29301 }, - { 18212, 25190 }, - { 18213, 38030 }, - { 18214, 38085 }, - { 18215, 21315 }, - { 18216, 36801 }, - { 18217, 31614 }, - { 18218, 20191 }, - { 18219, 35878 }, - { 18220, 20094 }, - { 18221, 40660 }, - { 18222, 38065 }, - { 18223, 38067 }, - { 18224, 21069 }, - { 18225, 28508 }, - { 18226, 36963 }, - { 18227, 27973 }, - { 18228, 35892 }, - { 18229, 22545 }, - { 18230, 23884 }, - { 18231, 27424 }, - { 18232, 27465 }, - { 18233, 26538 }, - { 18234, 21595 }, - { 18235, 33108 }, - { 18236, 32652 }, - { 18237, 22681 }, - { 18238, 34103 }, - { 18239, 24378 }, - { 18240, 25250 }, - { 18241, 27207 }, - { 18242, 38201 }, - { 18243, 25970 }, - { 18244, 24708 }, - { 18245, 26725 }, - { 18246, 30631 }, - { 18247, 20052 }, - { 18248, 20392 }, - { 18249, 24039 }, - { 18250, 38808 }, - { 18251, 25772 }, - { 18252, 32728 }, - { 18253, 23789 }, - { 18254, 20431 }, - { 18255, 31373 }, - { 18256, 20999 }, - { 18257, 33540 }, - { 18258, 19988 }, - { 18259, 24623 }, - { 18260, 31363 }, - { 18261, 38054 }, - { 18262, 20405 }, - { 18263, 20146 }, - { 18264, 31206 }, - { 18265, 29748 }, - { 18266, 21220 }, - { 18267, 33465 }, - { 18268, 25810 }, - { 18269, 31165 }, - { 18270, 23517 }, - { 18271, 27777 }, - { 18272, 38738 }, - { 18273, 36731 }, - { 18274, 27682 }, - { 18275, 20542 }, - { 18276, 21375 }, - { 18277, 28165 }, - { 18278, 25806 }, - { 18279, 26228 }, - { 18280, 27696 }, - { 18281, 24773 }, - { 18282, 39031 }, - { 18283, 35831 }, - { 18284, 24198 }, - { 18285, 29756 }, - { 18286, 31351 }, - { 18287, 31179 }, - { 18288, 19992 }, - { 18289, 37041 }, - { 18290, 29699 }, - { 18291, 27714 }, - { 18292, 22234 }, - { 18293, 37195 }, - { 18294, 27845 }, - { 18295, 36235 }, - { 18296, 21306 }, - { 18297, 34502 }, - { 18298, 26354 }, - { 18299, 36527 }, - { 18300, 23624 }, - { 18301, 39537 }, - { 18302, 28192 }, - { 18465, 21462 }, - { 18466, 23094 }, - { 18467, 40843 }, - { 18468, 36259 }, - { 18469, 21435 }, - { 18470, 22280 }, - { 18471, 39079 }, - { 18472, 26435 }, - { 18473, 37275 }, - { 18474, 27849 }, - { 18475, 20840 }, - { 18476, 30154 }, - { 18477, 25331 }, - { 18478, 29356 }, - { 18479, 21048 }, - { 18480, 21149 }, - { 18481, 32570 }, - { 18482, 28820 }, - { 18483, 30264 }, - { 18484, 21364 }, - { 18485, 40522 }, - { 18486, 27063 }, - { 18487, 30830 }, - { 18488, 38592 }, - { 18489, 35033 }, - { 18490, 32676 }, - { 18491, 28982 }, - { 18492, 29123 }, - { 18493, 20873 }, - { 18494, 26579 }, - { 18495, 29924 }, - { 18496, 22756 }, - { 18497, 25880 }, - { 18498, 22199 }, - { 18499, 35753 }, - { 18500, 39286 }, - { 18501, 25200 }, - { 18502, 32469 }, - { 18503, 24825 }, - { 18504, 28909 }, - { 18505, 22764 }, - { 18506, 20161 }, - { 18507, 20154 }, - { 18508, 24525 }, - { 18509, 38887 }, - { 18510, 20219 }, - { 18511, 35748 }, - { 18512, 20995 }, - { 18513, 22922 }, - { 18514, 32427 }, - { 18515, 25172 }, - { 18516, 20173 }, - { 18517, 26085 }, - { 18518, 25102 }, - { 18519, 33592 }, - { 18520, 33993 }, - { 18521, 33635 }, - { 18522, 34701 }, - { 18523, 29076 }, - { 18524, 28342 }, - { 18525, 23481 }, - { 18526, 32466 }, - { 18527, 20887 }, - { 18528, 25545 }, - { 18529, 26580 }, - { 18530, 32905 }, - { 18531, 33593 }, - { 18532, 34837 }, - { 18533, 20754 }, - { 18534, 23418 }, - { 18535, 22914 }, - { 18536, 36785 }, - { 18537, 20083 }, - { 18538, 27741 }, - { 18539, 20837 }, - { 18540, 35109 }, - { 18541, 36719 }, - { 18542, 38446 }, - { 18543, 34122 }, - { 18544, 29790 }, - { 18545, 38160 }, - { 18546, 38384 }, - { 18547, 28070 }, - { 18548, 33509 }, - { 18549, 24369 }, - { 18550, 25746 }, - { 18551, 27922 }, - { 18552, 33832 }, - { 18553, 33134 }, - { 18554, 40131 }, - { 18555, 22622 }, - { 18556, 36187 }, - { 18557, 19977 }, - { 18558, 21441 }, - { 18721, 20254 }, - { 18722, 25955 }, - { 18723, 26705 }, - { 18724, 21971 }, - { 18725, 20007 }, - { 18726, 25620 }, - { 18727, 39578 }, - { 18728, 25195 }, - { 18729, 23234 }, - { 18730, 29791 }, - { 18731, 33394 }, - { 18732, 28073 }, - { 18733, 26862 }, - { 18734, 20711 }, - { 18735, 33678 }, - { 18736, 30722 }, - { 18737, 26432 }, - { 18738, 21049 }, - { 18739, 27801 }, - { 18740, 32433 }, - { 18741, 20667 }, - { 18742, 21861 }, - { 18743, 29022 }, - { 18744, 31579 }, - { 18745, 26194 }, - { 18746, 29642 }, - { 18747, 33515 }, - { 18748, 26441 }, - { 18749, 23665 }, - { 18750, 21024 }, - { 18751, 29053 }, - { 18752, 34923 }, - { 18753, 38378 }, - { 18754, 38485 }, - { 18755, 25797 }, - { 18756, 36193 }, - { 18757, 33203 }, - { 18758, 21892 }, - { 18759, 27733 }, - { 18760, 25159 }, - { 18761, 32558 }, - { 18762, 22674 }, - { 18763, 20260 }, - { 18764, 21830 }, - { 18765, 36175 }, - { 18766, 26188 }, - { 18767, 19978 }, - { 18768, 23578 }, - { 18769, 35059 }, - { 18770, 26786 }, - { 18771, 25422 }, - { 18772, 31245 }, - { 18773, 28903 }, - { 18774, 33421 }, - { 18775, 21242 }, - { 18776, 38902 }, - { 18777, 23569 }, - { 18778, 21736 }, - { 18779, 37045 }, - { 18780, 32461 }, - { 18781, 22882 }, - { 18782, 36170 }, - { 18783, 34503 }, - { 18784, 33292 }, - { 18785, 33293 }, - { 18786, 36198 }, - { 18787, 25668 }, - { 18788, 23556 }, - { 18789, 24913 }, - { 18790, 28041 }, - { 18791, 31038 }, - { 18792, 35774 }, - { 18793, 30775 }, - { 18794, 30003 }, - { 18795, 21627 }, - { 18796, 20280 }, - { 18797, 36523 }, - { 18798, 28145 }, - { 18799, 23072 }, - { 18800, 32453 }, - { 18801, 31070 }, - { 18802, 27784 }, - { 18803, 23457 }, - { 18804, 23158 }, - { 18805, 29978 }, - { 18806, 32958 }, - { 18807, 24910 }, - { 18808, 28183 }, - { 18809, 22768 }, - { 18810, 29983 }, - { 18811, 29989 }, - { 18812, 29298 }, - { 18813, 21319 }, - { 18814, 32499 }, - { 18977, 30465 }, - { 18978, 30427 }, - { 18979, 21097 }, - { 18980, 32988 }, - { 18981, 22307 }, - { 18982, 24072 }, - { 18983, 22833 }, - { 18984, 29422 }, - { 18985, 26045 }, - { 18986, 28287 }, - { 18987, 35799 }, - { 18988, 23608 }, - { 18989, 34417 }, - { 18990, 21313 }, - { 18991, 30707 }, - { 18992, 25342 }, - { 18993, 26102 }, - { 18994, 20160 }, - { 18995, 39135 }, - { 18996, 34432 }, - { 18997, 23454 }, - { 18998, 35782 }, - { 18999, 21490 }, - { 19000, 30690 }, - { 19001, 20351 }, - { 19002, 23630 }, - { 19003, 39542 }, - { 19004, 22987 }, - { 19005, 24335 }, - { 19006, 31034 }, - { 19007, 22763 }, - { 19008, 19990 }, - { 19009, 26623 }, - { 19010, 20107 }, - { 19011, 25325 }, - { 19012, 35475 }, - { 19013, 36893 }, - { 19014, 21183 }, - { 19015, 26159 }, - { 19016, 21980 }, - { 19017, 22124 }, - { 19018, 36866 }, - { 19019, 20181 }, - { 19020, 20365 }, - { 19021, 37322 }, - { 19022, 39280 }, - { 19023, 27663 }, - { 19024, 24066 }, - { 19025, 24643 }, - { 19026, 23460 }, - { 19027, 35270 }, - { 19028, 35797 }, - { 19029, 25910 }, - { 19030, 25163 }, - { 19031, 39318 }, - { 19032, 23432 }, - { 19033, 23551 }, - { 19034, 25480 }, - { 19035, 21806 }, - { 19036, 21463 }, - { 19037, 30246 }, - { 19038, 20861 }, - { 19039, 34092 }, - { 19040, 26530 }, - { 19041, 26803 }, - { 19042, 27530 }, - { 19043, 25234 }, - { 19044, 36755 }, - { 19045, 21460 }, - { 19046, 33298 }, - { 19047, 28113 }, - { 19048, 30095 }, - { 19049, 20070 }, - { 19050, 36174 }, - { 19051, 23408 }, - { 19052, 29087 }, - { 19053, 34223 }, - { 19054, 26257 }, - { 19055, 26329 }, - { 19056, 32626 }, - { 19057, 34560 }, - { 19058, 40653 }, - { 19059, 40736 }, - { 19060, 23646 }, - { 19061, 26415 }, - { 19062, 36848 }, - { 19063, 26641 }, - { 19064, 26463 }, - { 19065, 25101 }, - { 19066, 31446 }, - { 19067, 22661 }, - { 19068, 24246 }, - { 19069, 25968 }, - { 19070, 28465 }, - { 19233, 24661 }, - { 19234, 21047 }, - { 19235, 32781 }, - { 19236, 25684 }, - { 19237, 34928 }, - { 19238, 29993 }, - { 19239, 24069 }, - { 19240, 26643 }, - { 19241, 25332 }, - { 19242, 38684 }, - { 19243, 21452 }, - { 19244, 29245 }, - { 19245, 35841 }, - { 19246, 27700 }, - { 19247, 30561 }, - { 19248, 31246 }, - { 19249, 21550 }, - { 19250, 30636 }, - { 19251, 39034 }, - { 19252, 33308 }, - { 19253, 35828 }, - { 19254, 30805 }, - { 19255, 26388 }, - { 19256, 28865 }, - { 19257, 26031 }, - { 19258, 25749 }, - { 19259, 22070 }, - { 19260, 24605 }, - { 19261, 31169 }, - { 19262, 21496 }, - { 19263, 19997 }, - { 19264, 27515 }, - { 19265, 32902 }, - { 19266, 23546 }, - { 19267, 21987 }, - { 19268, 22235 }, - { 19269, 20282 }, - { 19270, 20284 }, - { 19271, 39282 }, - { 19272, 24051 }, - { 19273, 26494 }, - { 19274, 32824 }, - { 19275, 24578 }, - { 19276, 39042 }, - { 19277, 36865 }, - { 19278, 23435 }, - { 19279, 35772 }, - { 19280, 35829 }, - { 19281, 25628 }, - { 19282, 33368 }, - { 19283, 25822 }, - { 19284, 22013 }, - { 19285, 33487 }, - { 19286, 37221 }, - { 19287, 20439 }, - { 19288, 32032 }, - { 19289, 36895 }, - { 19290, 31903 }, - { 19291, 20723 }, - { 19292, 22609 }, - { 19293, 28335 }, - { 19294, 23487 }, - { 19295, 35785 }, - { 19296, 32899 }, - { 19297, 37240 }, - { 19298, 33948 }, - { 19299, 31639 }, - { 19300, 34429 }, - { 19301, 38539 }, - { 19302, 38543 }, - { 19303, 32485 }, - { 19304, 39635 }, - { 19305, 30862 }, - { 19306, 23681 }, - { 19307, 31319 }, - { 19308, 36930 }, - { 19309, 38567 }, - { 19310, 31071 }, - { 19311, 23385 }, - { 19312, 25439 }, - { 19313, 31499 }, - { 19314, 34001 }, - { 19315, 26797 }, - { 19316, 21766 }, - { 19317, 32553 }, - { 19318, 29712 }, - { 19319, 32034 }, - { 19320, 38145 }, - { 19321, 25152 }, - { 19322, 22604 }, - { 19323, 20182 }, - { 19324, 23427 }, - { 19325, 22905 }, - { 19326, 22612 }, - { 19489, 29549 }, - { 19490, 25374 }, - { 19491, 36427 }, - { 19492, 36367 }, - { 19493, 32974 }, - { 19494, 33492 }, - { 19495, 25260 }, - { 19496, 21488 }, - { 19497, 27888 }, - { 19498, 37214 }, - { 19499, 22826 }, - { 19500, 24577 }, - { 19501, 27760 }, - { 19502, 22349 }, - { 19503, 25674 }, - { 19504, 36138 }, - { 19505, 30251 }, - { 19506, 28393 }, - { 19507, 22363 }, - { 19508, 27264 }, - { 19509, 30192 }, - { 19510, 28525 }, - { 19511, 35885 }, - { 19512, 35848 }, - { 19513, 22374 }, - { 19514, 27631 }, - { 19515, 34962 }, - { 19516, 30899 }, - { 19517, 25506 }, - { 19518, 21497 }, - { 19519, 28845 }, - { 19520, 27748 }, - { 19521, 22616 }, - { 19522, 25642 }, - { 19523, 22530 }, - { 19524, 26848 }, - { 19525, 33179 }, - { 19526, 21776 }, - { 19527, 31958 }, - { 19528, 20504 }, - { 19529, 36538 }, - { 19530, 28108 }, - { 19531, 36255 }, - { 19532, 28907 }, - { 19533, 25487 }, - { 19534, 28059 }, - { 19535, 28372 }, - { 19536, 32486 }, - { 19537, 33796 }, - { 19538, 26691 }, - { 19539, 36867 }, - { 19540, 28120 }, - { 19541, 38518 }, - { 19542, 35752 }, - { 19543, 22871 }, - { 19544, 29305 }, - { 19545, 34276 }, - { 19546, 33150 }, - { 19547, 30140 }, - { 19548, 35466 }, - { 19549, 26799 }, - { 19550, 21076 }, - { 19551, 36386 }, - { 19552, 38161 }, - { 19553, 25552 }, - { 19554, 39064 }, - { 19555, 36420 }, - { 19556, 21884 }, - { 19557, 20307 }, - { 19558, 26367 }, - { 19559, 22159 }, - { 19560, 24789 }, - { 19561, 28053 }, - { 19562, 21059 }, - { 19563, 23625 }, - { 19564, 22825 }, - { 19565, 28155 }, - { 19566, 22635 }, - { 19567, 30000 }, - { 19568, 29980 }, - { 19569, 24684 }, - { 19570, 33300 }, - { 19571, 33094 }, - { 19572, 25361 }, - { 19573, 26465 }, - { 19574, 36834 }, - { 19575, 30522 }, - { 19576, 36339 }, - { 19577, 36148 }, - { 19578, 38081 }, - { 19579, 24086 }, - { 19580, 21381 }, - { 19581, 21548 }, - { 19582, 28867 }, - { 19745, 27712 }, - { 19746, 24311 }, - { 19747, 20572 }, - { 19748, 20141 }, - { 19749, 24237 }, - { 19750, 25402 }, - { 19751, 33351 }, - { 19752, 36890 }, - { 19753, 26704 }, - { 19754, 37230 }, - { 19755, 30643 }, - { 19756, 21516 }, - { 19757, 38108 }, - { 19758, 24420 }, - { 19759, 31461 }, - { 19760, 26742 }, - { 19761, 25413 }, - { 19762, 31570 }, - { 19763, 32479 }, - { 19764, 30171 }, - { 19765, 20599 }, - { 19766, 25237 }, - { 19767, 22836 }, - { 19768, 36879 }, - { 19769, 20984 }, - { 19770, 31171 }, - { 19771, 31361 }, - { 19772, 22270 }, - { 19773, 24466 }, - { 19774, 36884 }, - { 19775, 28034 }, - { 19776, 23648 }, - { 19777, 22303 }, - { 19778, 21520 }, - { 19779, 20820 }, - { 19780, 28237 }, - { 19781, 22242 }, - { 19782, 25512 }, - { 19783, 39059 }, - { 19784, 33151 }, - { 19785, 34581 }, - { 19786, 35114 }, - { 19787, 36864 }, - { 19788, 21534 }, - { 19789, 23663 }, - { 19790, 33216 }, - { 19791, 25302 }, - { 19792, 25176 }, - { 19793, 33073 }, - { 19794, 40501 }, - { 19795, 38464 }, - { 19796, 39534 }, - { 19797, 39548 }, - { 19798, 26925 }, - { 19799, 22949 }, - { 19800, 25299 }, - { 19801, 21822 }, - { 19802, 25366 }, - { 19803, 21703 }, - { 19804, 34521 }, - { 19805, 27964 }, - { 19806, 23043 }, - { 19807, 29926 }, - { 19808, 34972 }, - { 19809, 27498 }, - { 19810, 22806 }, - { 19811, 35916 }, - { 19812, 24367 }, - { 19813, 28286 }, - { 19814, 29609 }, - { 19815, 39037 }, - { 19816, 20024 }, - { 19817, 28919 }, - { 19818, 23436 }, - { 19819, 30871 }, - { 19820, 25405 }, - { 19821, 26202 }, - { 19822, 30358 }, - { 19823, 24779 }, - { 19824, 23451 }, - { 19825, 23113 }, - { 19826, 19975 }, - { 19827, 33109 }, - { 19828, 27754 }, - { 19829, 29579 }, - { 19830, 20129 }, - { 19831, 26505 }, - { 19832, 32593 }, - { 19833, 24448 }, - { 19834, 26106 }, - { 19835, 26395 }, - { 19836, 24536 }, - { 19837, 22916 }, - { 19838, 23041 }, - { 20001, 24013 }, - { 20002, 24494 }, - { 20003, 21361 }, - { 20004, 38886 }, - { 20005, 36829 }, - { 20006, 26693 }, - { 20007, 22260 }, - { 20008, 21807 }, - { 20009, 24799 }, - { 20010, 20026 }, - { 20011, 28493 }, - { 20012, 32500 }, - { 20013, 33479 }, - { 20014, 33806 }, - { 20015, 22996 }, - { 20016, 20255 }, - { 20017, 20266 }, - { 20018, 23614 }, - { 20019, 32428 }, - { 20020, 26410 }, - { 20021, 34074 }, - { 20022, 21619 }, - { 20023, 30031 }, - { 20024, 32963 }, - { 20025, 21890 }, - { 20026, 39759 }, - { 20027, 20301 }, - { 20028, 28205 }, - { 20029, 35859 }, - { 20030, 23561 }, - { 20031, 24944 }, - { 20032, 21355 }, - { 20033, 30239 }, - { 20034, 28201 }, - { 20035, 34442 }, - { 20036, 25991 }, - { 20037, 38395 }, - { 20038, 32441 }, - { 20039, 21563 }, - { 20040, 31283 }, - { 20041, 32010 }, - { 20042, 38382 }, - { 20043, 21985 }, - { 20044, 32705 }, - { 20045, 29934 }, - { 20046, 25373 }, - { 20047, 34583 }, - { 20048, 28065 }, - { 20049, 31389 }, - { 20050, 25105 }, - { 20051, 26017 }, - { 20052, 21351 }, - { 20053, 25569 }, - { 20054, 27779 }, - { 20055, 24043 }, - { 20056, 21596 }, - { 20057, 38056 }, - { 20058, 20044 }, - { 20059, 27745 }, - { 20060, 35820 }, - { 20061, 23627 }, - { 20062, 26080 }, - { 20063, 33436 }, - { 20064, 26791 }, - { 20065, 21566 }, - { 20066, 21556 }, - { 20067, 27595 }, - { 20068, 27494 }, - { 20069, 20116 }, - { 20070, 25410 }, - { 20071, 21320 }, - { 20072, 33310 }, - { 20073, 20237 }, - { 20074, 20398 }, - { 20075, 22366 }, - { 20076, 25098 }, - { 20077, 38654 }, - { 20078, 26212 }, - { 20079, 29289 }, - { 20080, 21247 }, - { 20081, 21153 }, - { 20082, 24735 }, - { 20083, 35823 }, - { 20084, 26132 }, - { 20085, 29081 }, - { 20086, 26512 }, - { 20087, 35199 }, - { 20088, 30802 }, - { 20089, 30717 }, - { 20090, 26224 }, - { 20091, 22075 }, - { 20092, 21560 }, - { 20093, 38177 }, - { 20094, 29306 }, - { 20257, 31232 }, - { 20258, 24687 }, - { 20259, 24076 }, - { 20260, 24713 }, - { 20261, 33181 }, - { 20262, 22805 }, - { 20263, 24796 }, - { 20264, 29060 }, - { 20265, 28911 }, - { 20266, 28330 }, - { 20267, 27728 }, - { 20268, 29312 }, - { 20269, 27268 }, - { 20270, 34989 }, - { 20271, 24109 }, - { 20272, 20064 }, - { 20273, 23219 }, - { 20274, 21916 }, - { 20275, 38115 }, - { 20276, 27927 }, - { 20277, 31995 }, - { 20278, 38553 }, - { 20279, 25103 }, - { 20280, 32454 }, - { 20281, 30606 }, - { 20282, 34430 }, - { 20283, 21283 }, - { 20284, 38686 }, - { 20285, 36758 }, - { 20286, 26247 }, - { 20287, 23777 }, - { 20288, 20384 }, - { 20289, 29421 }, - { 20290, 19979 }, - { 20291, 21414 }, - { 20292, 22799 }, - { 20293, 21523 }, - { 20294, 25472 }, - { 20295, 38184 }, - { 20296, 20808 }, - { 20297, 20185 }, - { 20298, 40092 }, - { 20299, 32420 }, - { 20300, 21688 }, - { 20301, 36132 }, - { 20302, 34900 }, - { 20303, 33335 }, - { 20304, 38386 }, - { 20305, 28046 }, - { 20306, 24358 }, - { 20307, 23244 }, - { 20308, 26174 }, - { 20309, 38505 }, - { 20310, 29616 }, - { 20311, 29486 }, - { 20312, 21439 }, - { 20313, 33146 }, - { 20314, 39301 }, - { 20315, 32673 }, - { 20316, 23466 }, - { 20317, 38519 }, - { 20318, 38480 }, - { 20319, 32447 }, - { 20320, 30456 }, - { 20321, 21410 }, - { 20322, 38262 }, - { 20323, 39321 }, - { 20324, 31665 }, - { 20325, 35140 }, - { 20326, 28248 }, - { 20327, 20065 }, - { 20328, 32724 }, - { 20329, 31077 }, - { 20330, 35814 }, - { 20331, 24819 }, - { 20332, 21709 }, - { 20333, 20139 }, - { 20334, 39033 }, - { 20335, 24055 }, - { 20336, 27233 }, - { 20337, 20687 }, - { 20338, 21521 }, - { 20339, 35937 }, - { 20340, 33831 }, - { 20341, 30813 }, - { 20342, 38660 }, - { 20343, 21066 }, - { 20344, 21742 }, - { 20345, 22179 }, - { 20346, 38144 }, - { 20347, 28040 }, - { 20348, 23477 }, - { 20349, 28102 }, - { 20350, 26195 }, - { 20513, 23567 }, - { 20514, 23389 }, - { 20515, 26657 }, - { 20516, 32918 }, - { 20517, 21880 }, - { 20518, 31505 }, - { 20519, 25928 }, - { 20520, 26964 }, - { 20521, 20123 }, - { 20522, 27463 }, - { 20523, 34638 }, - { 20524, 38795 }, - { 20525, 21327 }, - { 20526, 25375 }, - { 20527, 25658 }, - { 20528, 37034 }, - { 20529, 26012 }, - { 20530, 32961 }, - { 20531, 35856 }, - { 20532, 20889 }, - { 20533, 26800 }, - { 20534, 21368 }, - { 20535, 34809 }, - { 20536, 25032 }, - { 20537, 27844 }, - { 20538, 27899 }, - { 20539, 35874 }, - { 20540, 23633 }, - { 20541, 34218 }, - { 20542, 33455 }, - { 20543, 38156 }, - { 20544, 27427 }, - { 20545, 36763 }, - { 20546, 26032 }, - { 20547, 24571 }, - { 20548, 24515 }, - { 20549, 20449 }, - { 20550, 34885 }, - { 20551, 26143 }, - { 20552, 33125 }, - { 20553, 29481 }, - { 20554, 24826 }, - { 20555, 20852 }, - { 20556, 21009 }, - { 20557, 22411 }, - { 20558, 24418 }, - { 20559, 37026 }, - { 20560, 34892 }, - { 20561, 37266 }, - { 20562, 24184 }, - { 20563, 26447 }, - { 20564, 24615 }, - { 20565, 22995 }, - { 20566, 20804 }, - { 20567, 20982 }, - { 20568, 33016 }, - { 20569, 21256 }, - { 20570, 27769 }, - { 20571, 38596 }, - { 20572, 29066 }, - { 20573, 20241 }, - { 20574, 20462 }, - { 20575, 32670 }, - { 20576, 26429 }, - { 20577, 21957 }, - { 20578, 38152 }, - { 20579, 31168 }, - { 20580, 34966 }, - { 20581, 32483 }, - { 20582, 22687 }, - { 20583, 25100 }, - { 20584, 38656 }, - { 20585, 34394 }, - { 20586, 22040 }, - { 20587, 39035 }, - { 20588, 24464 }, - { 20589, 35768 }, - { 20590, 33988 }, - { 20591, 37207 }, - { 20592, 21465 }, - { 20593, 26093 }, - { 20594, 24207 }, - { 20595, 30044 }, - { 20596, 24676 }, - { 20597, 32110 }, - { 20598, 23167 }, - { 20599, 32490 }, - { 20600, 32493 }, - { 20601, 36713 }, - { 20602, 21927 }, - { 20603, 23459 }, - { 20604, 24748 }, - { 20605, 26059 }, - { 20606, 29572 }, - { 20769, 36873 }, - { 20770, 30307 }, - { 20771, 30505 }, - { 20772, 32474 }, - { 20773, 38772 }, - { 20774, 34203 }, - { 20775, 23398 }, - { 20776, 31348 }, - { 20777, 38634 }, - { 20778, 34880 }, - { 20779, 21195 }, - { 20780, 29071 }, - { 20781, 24490 }, - { 20782, 26092 }, - { 20783, 35810 }, - { 20784, 23547 }, - { 20785, 39535 }, - { 20786, 24033 }, - { 20787, 27529 }, - { 20788, 27739 }, - { 20789, 35757 }, - { 20790, 35759 }, - { 20791, 36874 }, - { 20792, 36805 }, - { 20793, 21387 }, - { 20794, 25276 }, - { 20795, 40486 }, - { 20796, 40493 }, - { 20797, 21568 }, - { 20798, 20011 }, - { 20799, 33469 }, - { 20800, 29273 }, - { 20801, 34460 }, - { 20802, 23830 }, - { 20803, 34905 }, - { 20804, 28079 }, - { 20805, 38597 }, - { 20806, 21713 }, - { 20807, 20122 }, - { 20808, 35766 }, - { 20809, 28937 }, - { 20810, 21693 }, - { 20811, 38409 }, - { 20812, 28895 }, - { 20813, 28153 }, - { 20814, 30416 }, - { 20815, 20005 }, - { 20816, 30740 }, - { 20817, 34578 }, - { 20818, 23721 }, - { 20819, 24310 }, - { 20820, 35328 }, - { 20821, 39068 }, - { 20822, 38414 }, - { 20823, 28814 }, - { 20824, 27839 }, - { 20825, 22852 }, - { 20826, 25513 }, - { 20827, 30524 }, - { 20828, 34893 }, - { 20829, 28436 }, - { 20830, 33395 }, - { 20831, 22576 }, - { 20832, 29141 }, - { 20833, 21388 }, - { 20834, 30746 }, - { 20835, 38593 }, - { 20836, 21761 }, - { 20837, 24422 }, - { 20838, 28976 }, - { 20839, 23476 }, - { 20840, 35866 }, - { 20841, 39564 }, - { 20842, 27523 }, - { 20843, 22830 }, - { 20844, 40495 }, - { 20845, 31207 }, - { 20846, 26472 }, - { 20847, 25196 }, - { 20848, 20335 }, - { 20849, 30113 }, - { 20850, 32650 }, - { 20851, 27915 }, - { 20852, 38451 }, - { 20853, 27687 }, - { 20854, 20208 }, - { 20855, 30162 }, - { 20856, 20859 }, - { 20857, 26679 }, - { 20858, 28478 }, - { 20859, 36992 }, - { 20860, 33136 }, - { 20861, 22934 }, - { 20862, 29814 }, - { 21025, 25671 }, - { 21026, 23591 }, - { 21027, 36965 }, - { 21028, 31377 }, - { 21029, 35875 }, - { 21030, 23002 }, - { 21031, 21676 }, - { 21032, 33280 }, - { 21033, 33647 }, - { 21034, 35201 }, - { 21035, 32768 }, - { 21036, 26928 }, - { 21037, 22094 }, - { 21038, 32822 }, - { 21039, 29239 }, - { 21040, 37326 }, - { 21041, 20918 }, - { 21042, 20063 }, - { 21043, 39029 }, - { 21044, 25494 }, - { 21045, 19994 }, - { 21046, 21494 }, - { 21047, 26355 }, - { 21048, 33099 }, - { 21049, 22812 }, - { 21050, 28082 }, - { 21051, 19968 }, - { 21052, 22777 }, - { 21053, 21307 }, - { 21054, 25558 }, - { 21055, 38129 }, - { 21056, 20381 }, - { 21057, 20234 }, - { 21058, 34915 }, - { 21059, 39056 }, - { 21060, 22839 }, - { 21061, 36951 }, - { 21062, 31227 }, - { 21063, 20202 }, - { 21064, 33008 }, - { 21065, 30097 }, - { 21066, 27778 }, - { 21067, 23452 }, - { 21068, 23016 }, - { 21069, 24413 }, - { 21070, 26885 }, - { 21071, 34433 }, - { 21072, 20506 }, - { 21073, 24050 }, - { 21074, 20057 }, - { 21075, 30691 }, - { 21076, 20197 }, - { 21077, 33402 }, - { 21078, 25233 }, - { 21079, 26131 }, - { 21080, 37009 }, - { 21081, 23673 }, - { 21082, 20159 }, - { 21083, 24441 }, - { 21084, 33222 }, - { 21085, 36920 }, - { 21086, 32900 }, - { 21087, 30123 }, - { 21088, 20134 }, - { 21089, 35028 }, - { 21090, 24847 }, - { 21091, 27589 }, - { 21092, 24518 }, - { 21093, 20041 }, - { 21094, 30410 }, - { 21095, 28322 }, - { 21096, 35811 }, - { 21097, 35758 }, - { 21098, 35850 }, - { 21099, 35793 }, - { 21100, 24322 }, - { 21101, 32764 }, - { 21102, 32716 }, - { 21103, 32462 }, - { 21104, 33589 }, - { 21105, 33643 }, - { 21106, 22240 }, - { 21107, 27575 }, - { 21108, 38899 }, - { 21109, 38452 }, - { 21110, 23035 }, - { 21111, 21535 }, - { 21112, 38134 }, - { 21113, 28139 }, - { 21114, 23493 }, - { 21115, 39278 }, - { 21116, 23609 }, - { 21117, 24341 }, - { 21118, 38544 }, - { 21281, 21360 }, - { 21282, 33521 }, - { 21283, 27185 }, - { 21284, 23156 }, - { 21285, 40560 }, - { 21286, 24212 }, - { 21287, 32552 }, - { 21288, 33721 }, - { 21289, 33828 }, - { 21290, 33829 }, - { 21291, 33639 }, - { 21292, 34631 }, - { 21293, 36814 }, - { 21294, 36194 }, - { 21295, 30408 }, - { 21296, 24433 }, - { 21297, 39062 }, - { 21298, 30828 }, - { 21299, 26144 }, - { 21300, 21727 }, - { 21301, 25317 }, - { 21302, 20323 }, - { 21303, 33219 }, - { 21304, 30152 }, - { 21305, 24248 }, - { 21306, 38605 }, - { 21307, 36362 }, - { 21308, 34553 }, - { 21309, 21647 }, - { 21310, 27891 }, - { 21311, 28044 }, - { 21312, 27704 }, - { 21313, 24703 }, - { 21314, 21191 }, - { 21315, 29992 }, - { 21316, 24189 }, - { 21317, 20248 }, - { 21318, 24736 }, - { 21319, 24551 }, - { 21320, 23588 }, - { 21321, 30001 }, - { 21322, 37038 }, - { 21323, 38080 }, - { 21324, 29369 }, - { 21325, 27833 }, - { 21326, 28216 }, - { 21327, 37193 }, - { 21328, 26377 }, - { 21329, 21451 }, - { 21330, 21491 }, - { 21331, 20305 }, - { 21332, 37321 }, - { 21333, 35825 }, - { 21334, 21448 }, - { 21335, 24188 }, - { 21336, 36802 }, - { 21337, 28132 }, - { 21338, 20110 }, - { 21339, 30402 }, - { 21340, 27014 }, - { 21341, 34398 }, - { 21342, 24858 }, - { 21343, 33286 }, - { 21344, 20313 }, - { 21345, 20446 }, - { 21346, 36926 }, - { 21347, 40060 }, - { 21348, 24841 }, - { 21349, 28189 }, - { 21350, 28180 }, - { 21351, 38533 }, - { 21352, 20104 }, - { 21353, 23089 }, - { 21354, 38632 }, - { 21355, 19982 }, - { 21356, 23679 }, - { 21357, 31161 }, - { 21358, 23431 }, - { 21359, 35821 }, - { 21360, 32701 }, - { 21361, 29577 }, - { 21362, 22495 }, - { 21363, 33419 }, - { 21364, 37057 }, - { 21365, 21505 }, - { 21366, 36935 }, - { 21367, 21947 }, - { 21368, 23786 }, - { 21369, 24481 }, - { 21370, 24840 }, - { 21371, 27442 }, - { 21372, 29425 }, - { 21373, 32946 }, - { 21374, 35465 }, - { 21537, 28020 }, - { 21538, 23507 }, - { 21539, 35029 }, - { 21540, 39044 }, - { 21541, 35947 }, - { 21542, 39533 }, - { 21543, 40499 }, - { 21544, 28170 }, - { 21545, 20900 }, - { 21546, 20803 }, - { 21547, 22435 }, - { 21548, 34945 }, - { 21549, 21407 }, - { 21550, 25588 }, - { 21551, 36757 }, - { 21552, 22253 }, - { 21553, 21592 }, - { 21554, 22278 }, - { 21555, 29503 }, - { 21556, 28304 }, - { 21557, 32536 }, - { 21558, 36828 }, - { 21559, 33489 }, - { 21560, 24895 }, - { 21561, 24616 }, - { 21562, 38498 }, - { 21563, 26352 }, - { 21564, 32422 }, - { 21565, 36234 }, - { 21566, 36291 }, - { 21567, 38053 }, - { 21568, 23731 }, - { 21569, 31908 }, - { 21570, 26376 }, - { 21571, 24742 }, - { 21572, 38405 }, - { 21573, 32792 }, - { 21574, 20113 }, - { 21575, 37095 }, - { 21576, 21248 }, - { 21577, 38504 }, - { 21578, 20801 }, - { 21579, 36816 }, - { 21580, 34164 }, - { 21581, 37213 }, - { 21582, 26197 }, - { 21583, 38901 }, - { 21584, 23381 }, - { 21585, 21277 }, - { 21586, 30776 }, - { 21587, 26434 }, - { 21588, 26685 }, - { 21589, 21705 }, - { 21590, 28798 }, - { 21591, 23472 }, - { 21592, 36733 }, - { 21593, 20877 }, - { 21594, 22312 }, - { 21595, 21681 }, - { 21596, 25874 }, - { 21597, 26242 }, - { 21598, 36190 }, - { 21599, 36163 }, - { 21600, 33039 }, - { 21601, 33900 }, - { 21602, 36973 }, - { 21603, 31967 }, - { 21604, 20991 }, - { 21605, 34299 }, - { 21606, 26531 }, - { 21607, 26089 }, - { 21608, 28577 }, - { 21609, 34468 }, - { 21610, 36481 }, - { 21611, 22122 }, - { 21612, 36896 }, - { 21613, 30338 }, - { 21614, 28790 }, - { 21615, 29157 }, - { 21616, 36131 }, - { 21617, 25321 }, - { 21618, 21017 }, - { 21619, 27901 }, - { 21620, 36156 }, - { 21621, 24590 }, - { 21622, 22686 }, - { 21623, 24974 }, - { 21624, 26366 }, - { 21625, 36192 }, - { 21626, 25166 }, - { 21627, 21939 }, - { 21628, 28195 }, - { 21629, 26413 }, - { 21630, 36711 }, - { 21793, 38113 }, - { 21794, 38392 }, - { 21795, 30504 }, - { 21796, 26629 }, - { 21797, 27048 }, - { 21798, 21643 }, - { 21799, 20045 }, - { 21800, 28856 }, - { 21801, 35784 }, - { 21802, 25688 }, - { 21803, 25995 }, - { 21804, 23429 }, - { 21805, 31364 }, - { 21806, 20538 }, - { 21807, 23528 }, - { 21808, 30651 }, - { 21809, 27617 }, - { 21810, 35449 }, - { 21811, 31896 }, - { 21812, 27838 }, - { 21813, 30415 }, - { 21814, 26025 }, - { 21815, 36759 }, - { 21816, 23853 }, - { 21817, 23637 }, - { 21818, 34360 }, - { 21819, 26632 }, - { 21820, 21344 }, - { 21821, 25112 }, - { 21822, 31449 }, - { 21823, 28251 }, - { 21824, 32509 }, - { 21825, 27167 }, - { 21826, 31456 }, - { 21827, 24432 }, - { 21828, 28467 }, - { 21829, 24352 }, - { 21830, 25484 }, - { 21831, 28072 }, - { 21832, 26454 }, - { 21833, 19976 }, - { 21834, 24080 }, - { 21835, 36134 }, - { 21836, 20183 }, - { 21837, 32960 }, - { 21838, 30260 }, - { 21839, 38556 }, - { 21840, 25307 }, - { 21841, 26157 }, - { 21842, 25214 }, - { 21843, 27836 }, - { 21844, 36213 }, - { 21845, 29031 }, - { 21846, 32617 }, - { 21847, 20806 }, - { 21848, 32903 }, - { 21849, 21484 }, - { 21850, 36974 }, - { 21851, 25240 }, - { 21852, 21746 }, - { 21853, 34544 }, - { 21854, 36761 }, - { 21855, 32773 }, - { 21856, 38167 }, - { 21857, 34071 }, - { 21858, 36825 }, - { 21859, 27993 }, - { 21860, 29645 }, - { 21861, 26015 }, - { 21862, 30495 }, - { 21863, 29956 }, - { 21864, 30759 }, - { 21865, 33275 }, - { 21866, 36126 }, - { 21867, 38024 }, - { 21868, 20390 }, - { 21869, 26517 }, - { 21870, 30137 }, - { 21871, 35786 }, - { 21872, 38663 }, - { 21873, 25391 }, - { 21874, 38215 }, - { 21875, 38453 }, - { 21876, 33976 }, - { 21877, 25379 }, - { 21878, 30529 }, - { 21879, 24449 }, - { 21880, 29424 }, - { 21881, 20105 }, - { 21882, 24596 }, - { 21883, 25972 }, - { 21884, 25327 }, - { 21885, 27491 }, - { 21886, 25919 }, - { 22049, 24103 }, - { 22050, 30151 }, - { 22051, 37073 }, - { 22052, 35777 }, - { 22053, 33437 }, - { 22054, 26525 }, - { 22055, 25903 }, - { 22056, 21553 }, - { 22057, 34584 }, - { 22058, 30693 }, - { 22059, 32930 }, - { 22060, 33026 }, - { 22061, 27713 }, - { 22062, 20043 }, - { 22063, 32455 }, - { 22064, 32844 }, - { 22065, 30452 }, - { 22066, 26893 }, - { 22067, 27542 }, - { 22068, 25191 }, - { 22069, 20540 }, - { 22070, 20356 }, - { 22071, 22336 }, - { 22072, 25351 }, - { 22073, 27490 }, - { 22074, 36286 }, - { 22075, 21482 }, - { 22076, 26088 }, - { 22077, 32440 }, - { 22078, 24535 }, - { 22079, 25370 }, - { 22080, 25527 }, - { 22081, 33267 }, - { 22082, 33268 }, - { 22083, 32622 }, - { 22084, 24092 }, - { 22085, 23769 }, - { 22086, 21046 }, - { 22087, 26234 }, - { 22088, 31209 }, - { 22089, 31258 }, - { 22090, 36136 }, - { 22091, 28825 }, - { 22092, 30164 }, - { 22093, 28382 }, - { 22094, 27835 }, - { 22095, 31378 }, - { 22096, 20013 }, - { 22097, 30405 }, - { 22098, 24544 }, - { 22099, 38047 }, - { 22100, 34935 }, - { 22101, 32456 }, - { 22102, 31181 }, - { 22103, 32959 }, - { 22104, 37325 }, - { 22105, 20210 }, - { 22106, 20247 }, - { 22107, 33311 }, - { 22108, 21608 }, - { 22109, 24030 }, - { 22110, 27954 }, - { 22111, 35788 }, - { 22112, 31909 }, - { 22113, 36724 }, - { 22114, 32920 }, - { 22115, 24090 }, - { 22116, 21650 }, - { 22117, 30385 }, - { 22118, 23449 }, - { 22119, 26172 }, - { 22120, 39588 }, - { 22121, 29664 }, - { 22122, 26666 }, - { 22123, 34523 }, - { 22124, 26417 }, - { 22125, 29482 }, - { 22126, 35832 }, - { 22127, 35803 }, - { 22128, 36880 }, - { 22129, 31481 }, - { 22130, 28891 }, - { 22131, 29038 }, - { 22132, 25284 }, - { 22133, 30633 }, - { 22134, 22065 }, - { 22135, 20027 }, - { 22136, 33879 }, - { 22137, 26609 }, - { 22138, 21161 }, - { 22139, 34496 }, - { 22140, 36142 }, - { 22141, 38136 }, - { 22142, 31569 }, - { 22305, 20303 }, - { 22306, 27880 }, - { 22307, 31069 }, - { 22308, 39547 }, - { 22309, 25235 }, - { 22310, 29226 }, - { 22311, 25341 }, - { 22312, 19987 }, - { 22313, 30742 }, - { 22314, 36716 }, - { 22315, 25776 }, - { 22316, 36186 }, - { 22317, 31686 }, - { 22318, 26729 }, - { 22319, 24196 }, - { 22320, 35013 }, - { 22321, 22918 }, - { 22322, 25758 }, - { 22323, 22766 }, - { 22324, 29366 }, - { 22325, 26894 }, - { 22326, 38181 }, - { 22327, 36861 }, - { 22328, 36184 }, - { 22329, 22368 }, - { 22330, 32512 }, - { 22331, 35846 }, - { 22332, 20934 }, - { 22333, 25417 }, - { 22334, 25305 }, - { 22335, 21331 }, - { 22336, 26700 }, - { 22337, 29730 }, - { 22338, 33537 }, - { 22339, 37196 }, - { 22340, 21828 }, - { 22341, 30528 }, - { 22342, 28796 }, - { 22343, 27978 }, - { 22344, 20857 }, - { 22345, 21672 }, - { 22346, 36164 }, - { 22347, 23039 }, - { 22348, 28363 }, - { 22349, 28100 }, - { 22350, 23388 }, - { 22351, 32043 }, - { 22352, 20180 }, - { 22353, 31869 }, - { 22354, 28371 }, - { 22355, 23376 }, - { 22356, 33258 }, - { 22357, 28173 }, - { 22358, 23383 }, - { 22359, 39683 }, - { 22360, 26837 }, - { 22361, 36394 }, - { 22362, 23447 }, - { 22363, 32508 }, - { 22364, 24635 }, - { 22365, 32437 }, - { 22366, 37049 }, - { 22367, 36208 }, - { 22368, 22863 }, - { 22369, 25549 }, - { 22370, 31199 }, - { 22371, 36275 }, - { 22372, 21330 }, - { 22373, 26063 }, - { 22374, 31062 }, - { 22375, 35781 }, - { 22376, 38459 }, - { 22377, 32452 }, - { 22378, 38075 }, - { 22379, 32386 }, - { 22380, 22068 }, - { 22381, 37257 }, - { 22382, 26368 }, - { 22383, 32618 }, - { 22384, 23562 }, - { 22385, 36981 }, - { 22386, 26152 }, - { 22387, 24038 }, - { 22388, 20304 }, - { 22389, 26590 }, - { 22390, 20570 }, - { 22391, 20316 }, - { 22392, 22352 }, - { 22393, 24231 }, - { 22561, 20109 }, - { 22562, 19980 }, - { 22563, 20800 }, - { 22564, 19984 }, - { 22565, 24319 }, - { 22566, 21317 }, - { 22567, 19989 }, - { 22568, 20120 }, - { 22569, 19998 }, - { 22570, 39730 }, - { 22571, 23404 }, - { 22572, 22121 }, - { 22573, 20008 }, - { 22574, 31162 }, - { 22575, 20031 }, - { 22576, 21269 }, - { 22577, 20039 }, - { 22578, 22829 }, - { 22579, 29243 }, - { 22580, 21358 }, - { 22581, 27664 }, - { 22582, 22239 }, - { 22583, 32996 }, - { 22584, 39319 }, - { 22585, 27603 }, - { 22586, 30590 }, - { 22587, 40727 }, - { 22588, 20022 }, - { 22589, 20127 }, - { 22590, 40720 }, - { 22591, 20060 }, - { 22592, 20073 }, - { 22593, 20115 }, - { 22594, 33416 }, - { 22595, 23387 }, - { 22596, 21868 }, - { 22597, 22031 }, - { 22598, 20164 }, - { 22599, 21389 }, - { 22600, 21405 }, - { 22601, 21411 }, - { 22602, 21413 }, - { 22603, 21422 }, - { 22604, 38757 }, - { 22605, 36189 }, - { 22606, 21274 }, - { 22607, 21493 }, - { 22608, 21286 }, - { 22609, 21294 }, - { 22610, 21310 }, - { 22611, 36188 }, - { 22612, 21350 }, - { 22613, 21347 }, - { 22614, 20994 }, - { 22615, 21000 }, - { 22616, 21006 }, - { 22617, 21037 }, - { 22618, 21043 }, - { 22619, 21055 }, - { 22620, 21056 }, - { 22621, 21068 }, - { 22622, 21086 }, - { 22623, 21089 }, - { 22624, 21084 }, - { 22625, 33967 }, - { 22626, 21117 }, - { 22627, 21122 }, - { 22628, 21121 }, - { 22629, 21136 }, - { 22630, 21139 }, - { 22631, 20866 }, - { 22632, 32596 }, - { 22633, 20155 }, - { 22634, 20163 }, - { 22635, 20169 }, - { 22636, 20162 }, - { 22637, 20200 }, - { 22638, 20193 }, - { 22639, 20203 }, - { 22640, 20190 }, - { 22641, 20251 }, - { 22642, 20211 }, - { 22643, 20258 }, - { 22644, 20324 }, - { 22645, 20213 }, - { 22646, 20261 }, - { 22647, 20263 }, - { 22648, 20233 }, - { 22649, 20267 }, - { 22650, 20318 }, - { 22651, 20327 }, - { 22652, 25912 }, - { 22653, 20314 }, - { 22654, 20317 }, - { 22817, 20319 }, - { 22818, 20311 }, - { 22819, 20274 }, - { 22820, 20285 }, - { 22821, 20342 }, - { 22822, 20340 }, - { 22823, 20369 }, - { 22824, 20361 }, - { 22825, 20355 }, - { 22826, 20367 }, - { 22827, 20350 }, - { 22828, 20347 }, - { 22829, 20394 }, - { 22830, 20348 }, - { 22831, 20396 }, - { 22832, 20372 }, - { 22833, 20454 }, - { 22834, 20456 }, - { 22835, 20458 }, - { 22836, 20421 }, - { 22837, 20442 }, - { 22838, 20451 }, - { 22839, 20444 }, - { 22840, 20433 }, - { 22841, 20447 }, - { 22842, 20472 }, - { 22843, 20521 }, - { 22844, 20556 }, - { 22845, 20467 }, - { 22846, 20524 }, - { 22847, 20495 }, - { 22848, 20526 }, - { 22849, 20525 }, - { 22850, 20478 }, - { 22851, 20508 }, - { 22852, 20492 }, - { 22853, 20517 }, - { 22854, 20520 }, - { 22855, 20606 }, - { 22856, 20547 }, - { 22857, 20565 }, - { 22858, 20552 }, - { 22859, 20558 }, - { 22860, 20588 }, - { 22861, 20603 }, - { 22862, 20645 }, - { 22863, 20647 }, - { 22864, 20649 }, - { 22865, 20666 }, - { 22866, 20694 }, - { 22867, 20742 }, - { 22868, 20717 }, - { 22869, 20716 }, - { 22870, 20710 }, - { 22871, 20718 }, - { 22872, 20743 }, - { 22873, 20747 }, - { 22874, 20189 }, - { 22875, 27709 }, - { 22876, 20312 }, - { 22877, 20325 }, - { 22878, 20430 }, - { 22879, 40864 }, - { 22880, 27718 }, - { 22881, 31860 }, - { 22882, 20846 }, - { 22883, 24061 }, - { 22884, 40649 }, - { 22885, 39320 }, - { 22886, 20865 }, - { 22887, 22804 }, - { 22888, 21241 }, - { 22889, 21261 }, - { 22890, 35335 }, - { 22891, 21264 }, - { 22892, 20971 }, - { 22893, 22809 }, - { 22894, 20821 }, - { 22895, 20128 }, - { 22896, 20822 }, - { 22897, 20147 }, - { 22898, 34926 }, - { 22899, 34980 }, - { 22900, 20149 }, - { 22901, 33044 }, - { 22902, 35026 }, - { 22903, 31104 }, - { 22904, 23348 }, - { 22905, 34819 }, - { 22906, 32696 }, - { 22907, 20907 }, - { 22908, 20913 }, - { 22909, 20925 }, - { 22910, 20924 }, - { 23073, 20935 }, - { 23074, 20886 }, - { 23075, 20898 }, - { 23076, 20901 }, - { 23077, 35744 }, - { 23078, 35750 }, - { 23079, 35751 }, - { 23080, 35754 }, - { 23081, 35764 }, - { 23082, 35765 }, - { 23083, 35767 }, - { 23084, 35778 }, - { 23085, 35779 }, - { 23086, 35787 }, - { 23087, 35791 }, - { 23088, 35790 }, - { 23089, 35794 }, - { 23090, 35795 }, - { 23091, 35796 }, - { 23092, 35798 }, - { 23093, 35800 }, - { 23094, 35801 }, - { 23095, 35804 }, - { 23096, 35807 }, - { 23097, 35808 }, - { 23098, 35812 }, - { 23099, 35816 }, - { 23100, 35817 }, - { 23101, 35822 }, - { 23102, 35824 }, - { 23103, 35827 }, - { 23104, 35830 }, - { 23105, 35833 }, - { 23106, 35836 }, - { 23107, 35839 }, - { 23108, 35840 }, - { 23109, 35842 }, - { 23110, 35844 }, - { 23111, 35847 }, - { 23112, 35852 }, - { 23113, 35855 }, - { 23114, 35857 }, - { 23115, 35858 }, - { 23116, 35860 }, - { 23117, 35861 }, - { 23118, 35862 }, - { 23119, 35865 }, - { 23120, 35867 }, - { 23121, 35864 }, - { 23122, 35869 }, - { 23123, 35871 }, - { 23124, 35872 }, - { 23125, 35873 }, - { 23126, 35877 }, - { 23127, 35879 }, - { 23128, 35882 }, - { 23129, 35883 }, - { 23130, 35886 }, - { 23131, 35887 }, - { 23132, 35890 }, - { 23133, 35891 }, - { 23134, 35893 }, - { 23135, 35894 }, - { 23136, 21353 }, - { 23137, 21370 }, - { 23138, 38429 }, - { 23139, 38434 }, - { 23140, 38433 }, - { 23141, 38449 }, - { 23142, 38442 }, - { 23143, 38461 }, - { 23144, 38460 }, - { 23145, 38466 }, - { 23146, 38473 }, - { 23147, 38484 }, - { 23148, 38495 }, - { 23149, 38503 }, - { 23150, 38508 }, - { 23151, 38514 }, - { 23152, 38516 }, - { 23153, 38536 }, - { 23154, 38541 }, - { 23155, 38551 }, - { 23156, 38576 }, - { 23157, 37015 }, - { 23158, 37019 }, - { 23159, 37021 }, - { 23160, 37017 }, - { 23161, 37036 }, - { 23162, 37025 }, - { 23163, 37044 }, - { 23164, 37043 }, - { 23165, 37046 }, - { 23166, 37050 }, - { 23329, 37048 }, - { 23330, 37040 }, - { 23331, 37071 }, - { 23332, 37061 }, - { 23333, 37054 }, - { 23334, 37072 }, - { 23335, 37060 }, - { 23336, 37063 }, - { 23337, 37075 }, - { 23338, 37094 }, - { 23339, 37090 }, - { 23340, 37084 }, - { 23341, 37079 }, - { 23342, 37083 }, - { 23343, 37099 }, - { 23344, 37103 }, - { 23345, 37118 }, - { 23346, 37124 }, - { 23347, 37154 }, - { 23348, 37150 }, - { 23349, 37155 }, - { 23350, 37169 }, - { 23351, 37167 }, - { 23352, 37177 }, - { 23353, 37187 }, - { 23354, 37190 }, - { 23355, 21005 }, - { 23356, 22850 }, - { 23357, 21154 }, - { 23358, 21164 }, - { 23359, 21165 }, - { 23360, 21182 }, - { 23361, 21759 }, - { 23362, 21200 }, - { 23363, 21206 }, - { 23364, 21232 }, - { 23365, 21471 }, - { 23366, 29166 }, - { 23367, 30669 }, - { 23368, 24308 }, - { 23369, 20981 }, - { 23370, 20988 }, - { 23371, 39727 }, - { 23372, 21430 }, - { 23373, 24321 }, - { 23374, 30042 }, - { 23375, 24047 }, - { 23376, 22348 }, - { 23377, 22441 }, - { 23378, 22433 }, - { 23379, 22654 }, - { 23380, 22716 }, - { 23381, 22725 }, - { 23382, 22737 }, - { 23383, 22313 }, - { 23384, 22316 }, - { 23385, 22314 }, - { 23386, 22323 }, - { 23387, 22329 }, - { 23388, 22318 }, - { 23389, 22319 }, - { 23390, 22364 }, - { 23391, 22331 }, - { 23392, 22338 }, - { 23393, 22377 }, - { 23394, 22405 }, - { 23395, 22379 }, - { 23396, 22406 }, - { 23397, 22396 }, - { 23398, 22395 }, - { 23399, 22376 }, - { 23400, 22381 }, - { 23401, 22390 }, - { 23402, 22387 }, - { 23403, 22445 }, - { 23404, 22436 }, - { 23405, 22412 }, - { 23406, 22450 }, - { 23407, 22479 }, - { 23408, 22439 }, - { 23409, 22452 }, - { 23410, 22419 }, - { 23411, 22432 }, - { 23412, 22485 }, - { 23413, 22488 }, - { 23414, 22490 }, - { 23415, 22489 }, - { 23416, 22482 }, - { 23417, 22456 }, - { 23418, 22516 }, - { 23419, 22511 }, - { 23420, 22520 }, - { 23421, 22500 }, - { 23422, 22493 }, - { 23585, 22539 }, - { 23586, 22541 }, - { 23587, 22525 }, - { 23588, 22509 }, - { 23589, 22528 }, - { 23590, 22558 }, - { 23591, 22553 }, - { 23592, 22596 }, - { 23593, 22560 }, - { 23594, 22629 }, - { 23595, 22636 }, - { 23596, 22657 }, - { 23597, 22665 }, - { 23598, 22682 }, - { 23599, 22656 }, - { 23600, 39336 }, - { 23601, 40729 }, - { 23602, 25087 }, - { 23603, 33401 }, - { 23604, 33405 }, - { 23605, 33407 }, - { 23606, 33423 }, - { 23607, 33418 }, - { 23608, 33448 }, - { 23609, 33412 }, - { 23610, 33422 }, - { 23611, 33425 }, - { 23612, 33431 }, - { 23613, 33433 }, - { 23614, 33451 }, - { 23615, 33464 }, - { 23616, 33470 }, - { 23617, 33456 }, - { 23618, 33480 }, - { 23619, 33482 }, - { 23620, 33507 }, - { 23621, 33432 }, - { 23622, 33463 }, - { 23623, 33454 }, - { 23624, 33483 }, - { 23625, 33484 }, - { 23626, 33473 }, - { 23627, 33449 }, - { 23628, 33460 }, - { 23629, 33441 }, - { 23630, 33450 }, - { 23631, 33439 }, - { 23632, 33476 }, - { 23633, 33486 }, - { 23634, 33444 }, - { 23635, 33505 }, - { 23636, 33545 }, - { 23637, 33527 }, - { 23638, 33508 }, - { 23639, 33551 }, - { 23640, 33543 }, - { 23641, 33500 }, - { 23642, 33524 }, - { 23643, 33490 }, - { 23644, 33496 }, - { 23645, 33548 }, - { 23646, 33531 }, - { 23647, 33491 }, - { 23648, 33553 }, - { 23649, 33562 }, - { 23650, 33542 }, - { 23651, 33556 }, - { 23652, 33557 }, - { 23653, 33504 }, - { 23654, 33493 }, - { 23655, 33564 }, - { 23656, 33617 }, - { 23657, 33627 }, - { 23658, 33628 }, - { 23659, 33544 }, - { 23660, 33682 }, - { 23661, 33596 }, - { 23662, 33588 }, - { 23663, 33585 }, - { 23664, 33691 }, - { 23665, 33630 }, - { 23666, 33583 }, - { 23667, 33615 }, - { 23668, 33607 }, - { 23669, 33603 }, - { 23670, 33631 }, - { 23671, 33600 }, - { 23672, 33559 }, - { 23673, 33632 }, - { 23674, 33581 }, - { 23675, 33594 }, - { 23676, 33587 }, - { 23677, 33638 }, - { 23678, 33637 }, - { 23841, 33640 }, - { 23842, 33563 }, - { 23843, 33641 }, - { 23844, 33644 }, - { 23845, 33642 }, - { 23846, 33645 }, - { 23847, 33646 }, - { 23848, 33712 }, - { 23849, 33656 }, - { 23850, 33715 }, - { 23851, 33716 }, - { 23852, 33696 }, - { 23853, 33706 }, - { 23854, 33683 }, - { 23855, 33692 }, - { 23856, 33669 }, - { 23857, 33660 }, - { 23858, 33718 }, - { 23859, 33705 }, - { 23860, 33661 }, - { 23861, 33720 }, - { 23862, 33659 }, - { 23863, 33688 }, - { 23864, 33694 }, - { 23865, 33704 }, - { 23866, 33722 }, - { 23867, 33724 }, - { 23868, 33729 }, - { 23869, 33793 }, - { 23870, 33765 }, - { 23871, 33752 }, - { 23872, 22535 }, - { 23873, 33816 }, - { 23874, 33803 }, - { 23875, 33757 }, - { 23876, 33789 }, - { 23877, 33750 }, - { 23878, 33820 }, - { 23879, 33848 }, - { 23880, 33809 }, - { 23881, 33798 }, - { 23882, 33748 }, - { 23883, 33759 }, - { 23884, 33807 }, - { 23885, 33795 }, - { 23886, 33784 }, - { 23887, 33785 }, - { 23888, 33770 }, - { 23889, 33733 }, - { 23890, 33728 }, - { 23891, 33830 }, - { 23892, 33776 }, - { 23893, 33761 }, - { 23894, 33884 }, - { 23895, 33873 }, - { 23896, 33882 }, - { 23897, 33881 }, - { 23898, 33907 }, - { 23899, 33927 }, - { 23900, 33928 }, - { 23901, 33914 }, - { 23902, 33929 }, - { 23903, 33912 }, - { 23904, 33852 }, - { 23905, 33862 }, - { 23906, 33897 }, - { 23907, 33910 }, - { 23908, 33932 }, - { 23909, 33934 }, - { 23910, 33841 }, - { 23911, 33901 }, - { 23912, 33985 }, - { 23913, 33997 }, - { 23914, 34000 }, - { 23915, 34022 }, - { 23916, 33981 }, - { 23917, 34003 }, - { 23918, 33994 }, - { 23919, 33983 }, - { 23920, 33978 }, - { 23921, 34016 }, - { 23922, 33953 }, - { 23923, 33977 }, - { 23924, 33972 }, - { 23925, 33943 }, - { 23926, 34021 }, - { 23927, 34019 }, - { 23928, 34060 }, - { 23929, 29965 }, - { 23930, 34104 }, - { 23931, 34032 }, - { 23932, 34105 }, - { 23933, 34079 }, - { 23934, 34106 }, - { 24097, 34134 }, - { 24098, 34107 }, - { 24099, 34047 }, - { 24100, 34044 }, - { 24101, 34137 }, - { 24102, 34120 }, - { 24103, 34152 }, - { 24104, 34148 }, - { 24105, 34142 }, - { 24106, 34170 }, - { 24107, 30626 }, - { 24108, 34115 }, - { 24109, 34162 }, - { 24110, 34171 }, - { 24111, 34212 }, - { 24112, 34216 }, - { 24113, 34183 }, - { 24114, 34191 }, - { 24115, 34169 }, - { 24116, 34222 }, - { 24117, 34204 }, - { 24118, 34181 }, - { 24119, 34233 }, - { 24120, 34231 }, - { 24121, 34224 }, - { 24122, 34259 }, - { 24123, 34241 }, - { 24124, 34268 }, - { 24125, 34303 }, - { 24126, 34343 }, - { 24127, 34309 }, - { 24128, 34345 }, - { 24129, 34326 }, - { 24130, 34364 }, - { 24131, 24318 }, - { 24132, 24328 }, - { 24133, 22844 }, - { 24134, 22849 }, - { 24135, 32823 }, - { 24136, 22869 }, - { 24137, 22874 }, - { 24138, 22872 }, - { 24139, 21263 }, - { 24140, 23586 }, - { 24141, 23589 }, - { 24142, 23596 }, - { 24143, 23604 }, - { 24144, 25164 }, - { 24145, 25194 }, - { 24146, 25247 }, - { 24147, 25275 }, - { 24148, 25290 }, - { 24149, 25306 }, - { 24150, 25303 }, - { 24151, 25326 }, - { 24152, 25378 }, - { 24153, 25334 }, - { 24154, 25401 }, - { 24155, 25419 }, - { 24156, 25411 }, - { 24157, 25517 }, - { 24158, 25590 }, - { 24159, 25457 }, - { 24160, 25466 }, - { 24161, 25486 }, - { 24162, 25524 }, - { 24163, 25453 }, - { 24164, 25516 }, - { 24165, 25482 }, - { 24166, 25449 }, - { 24167, 25518 }, - { 24168, 25532 }, - { 24169, 25586 }, - { 24170, 25592 }, - { 24171, 25568 }, - { 24172, 25599 }, - { 24173, 25540 }, - { 24174, 25566 }, - { 24175, 25550 }, - { 24176, 25682 }, - { 24177, 25542 }, - { 24178, 25534 }, - { 24179, 25669 }, - { 24180, 25665 }, - { 24181, 25611 }, - { 24182, 25627 }, - { 24183, 25632 }, - { 24184, 25612 }, - { 24185, 25638 }, - { 24186, 25633 }, - { 24187, 25694 }, - { 24188, 25732 }, - { 24189, 25709 }, - { 24190, 25750 }, - { 24353, 25722 }, - { 24354, 25783 }, - { 24355, 25784 }, - { 24356, 25753 }, - { 24357, 25786 }, - { 24358, 25792 }, - { 24359, 25808 }, - { 24360, 25815 }, - { 24361, 25828 }, - { 24362, 25826 }, - { 24363, 25865 }, - { 24364, 25893 }, - { 24365, 25902 }, - { 24366, 24331 }, - { 24367, 24530 }, - { 24368, 29977 }, - { 24369, 24337 }, - { 24370, 21343 }, - { 24371, 21489 }, - { 24372, 21501 }, - { 24373, 21481 }, - { 24374, 21480 }, - { 24375, 21499 }, - { 24376, 21522 }, - { 24377, 21526 }, - { 24378, 21510 }, - { 24379, 21579 }, - { 24380, 21586 }, - { 24381, 21587 }, - { 24382, 21588 }, - { 24383, 21590 }, - { 24384, 21571 }, - { 24385, 21537 }, - { 24386, 21591 }, - { 24387, 21593 }, - { 24388, 21539 }, - { 24389, 21554 }, - { 24390, 21634 }, - { 24391, 21652 }, - { 24392, 21623 }, - { 24393, 21617 }, - { 24394, 21604 }, - { 24395, 21658 }, - { 24396, 21659 }, - { 24397, 21636 }, - { 24398, 21622 }, - { 24399, 21606 }, - { 24400, 21661 }, - { 24401, 21712 }, - { 24402, 21677 }, - { 24403, 21698 }, - { 24404, 21684 }, - { 24405, 21714 }, - { 24406, 21671 }, - { 24407, 21670 }, - { 24408, 21715 }, - { 24409, 21716 }, - { 24410, 21618 }, - { 24411, 21667 }, - { 24412, 21717 }, - { 24413, 21691 }, - { 24414, 21695 }, - { 24415, 21708 }, - { 24416, 21721 }, - { 24417, 21722 }, - { 24418, 21724 }, - { 24419, 21673 }, - { 24420, 21674 }, - { 24421, 21668 }, - { 24422, 21725 }, - { 24423, 21711 }, - { 24424, 21726 }, - { 24425, 21787 }, - { 24426, 21735 }, - { 24427, 21792 }, - { 24428, 21757 }, - { 24429, 21780 }, - { 24430, 21747 }, - { 24431, 21794 }, - { 24432, 21795 }, - { 24433, 21775 }, - { 24434, 21777 }, - { 24435, 21799 }, - { 24436, 21802 }, - { 24437, 21863 }, - { 24438, 21903 }, - { 24439, 21941 }, - { 24440, 21833 }, - { 24441, 21869 }, - { 24442, 21825 }, - { 24443, 21845 }, - { 24444, 21823 }, - { 24445, 21840 }, - { 24446, 21820 }, - { 24609, 21815 }, - { 24610, 21846 }, - { 24611, 21877 }, - { 24612, 21878 }, - { 24613, 21879 }, - { 24614, 21811 }, - { 24615, 21808 }, - { 24616, 21852 }, - { 24617, 21899 }, - { 24618, 21970 }, - { 24619, 21891 }, - { 24620, 21937 }, - { 24621, 21945 }, - { 24622, 21896 }, - { 24623, 21889 }, - { 24624, 21919 }, - { 24625, 21886 }, - { 24626, 21974 }, - { 24627, 21905 }, - { 24628, 21883 }, - { 24629, 21983 }, - { 24630, 21949 }, - { 24631, 21950 }, - { 24632, 21908 }, - { 24633, 21913 }, - { 24634, 21994 }, - { 24635, 22007 }, - { 24636, 21961 }, - { 24637, 22047 }, - { 24638, 21969 }, - { 24639, 21995 }, - { 24640, 21996 }, - { 24641, 21972 }, - { 24642, 21990 }, - { 24643, 21981 }, - { 24644, 21956 }, - { 24645, 21999 }, - { 24646, 21989 }, - { 24647, 22002 }, - { 24648, 22003 }, - { 24649, 21964 }, - { 24650, 21965 }, - { 24651, 21992 }, - { 24652, 22005 }, - { 24653, 21988 }, - { 24654, 36756 }, - { 24655, 22046 }, - { 24656, 22024 }, - { 24657, 22028 }, - { 24658, 22017 }, - { 24659, 22052 }, - { 24660, 22051 }, - { 24661, 22014 }, - { 24662, 22016 }, - { 24663, 22055 }, - { 24664, 22061 }, - { 24665, 22104 }, - { 24666, 22073 }, - { 24667, 22103 }, - { 24668, 22060 }, - { 24669, 22093 }, - { 24670, 22114 }, - { 24671, 22105 }, - { 24672, 22108 }, - { 24673, 22092 }, - { 24674, 22100 }, - { 24675, 22150 }, - { 24676, 22116 }, - { 24677, 22129 }, - { 24678, 22123 }, - { 24679, 22139 }, - { 24680, 22140 }, - { 24681, 22149 }, - { 24682, 22163 }, - { 24683, 22191 }, - { 24684, 22228 }, - { 24685, 22231 }, - { 24686, 22237 }, - { 24687, 22241 }, - { 24688, 22261 }, - { 24689, 22251 }, - { 24690, 22265 }, - { 24691, 22271 }, - { 24692, 22276 }, - { 24693, 22282 }, - { 24694, 22281 }, - { 24695, 22300 }, - { 24696, 24079 }, - { 24697, 24089 }, - { 24698, 24084 }, - { 24699, 24081 }, - { 24700, 24113 }, - { 24701, 24123 }, - { 24702, 24124 }, - { 24865, 24119 }, - { 24866, 24132 }, - { 24867, 24148 }, - { 24868, 24155 }, - { 24869, 24158 }, - { 24870, 24161 }, - { 24871, 23692 }, - { 24872, 23674 }, - { 24873, 23693 }, - { 24874, 23696 }, - { 24875, 23702 }, - { 24876, 23688 }, - { 24877, 23704 }, - { 24878, 23705 }, - { 24879, 23697 }, - { 24880, 23706 }, - { 24881, 23708 }, - { 24882, 23733 }, - { 24883, 23714 }, - { 24884, 23741 }, - { 24885, 23724 }, - { 24886, 23723 }, - { 24887, 23729 }, - { 24888, 23715 }, - { 24889, 23745 }, - { 24890, 23735 }, - { 24891, 23748 }, - { 24892, 23762 }, - { 24893, 23780 }, - { 24894, 23755 }, - { 24895, 23781 }, - { 24896, 23810 }, - { 24897, 23811 }, - { 24898, 23847 }, - { 24899, 23846 }, - { 24900, 23854 }, - { 24901, 23844 }, - { 24902, 23838 }, - { 24903, 23814 }, - { 24904, 23835 }, - { 24905, 23896 }, - { 24906, 23870 }, - { 24907, 23860 }, - { 24908, 23869 }, - { 24909, 23916 }, - { 24910, 23899 }, - { 24911, 23919 }, - { 24912, 23901 }, - { 24913, 23915 }, - { 24914, 23883 }, - { 24915, 23882 }, - { 24916, 23913 }, - { 24917, 23924 }, - { 24918, 23938 }, - { 24919, 23961 }, - { 24920, 23965 }, - { 24921, 35955 }, - { 24922, 23991 }, - { 24923, 24005 }, - { 24924, 24435 }, - { 24925, 24439 }, - { 24926, 24450 }, - { 24927, 24455 }, - { 24928, 24457 }, - { 24929, 24460 }, - { 24930, 24469 }, - { 24931, 24473 }, - { 24932, 24476 }, - { 24933, 24488 }, - { 24934, 24493 }, - { 24935, 24501 }, - { 24936, 24508 }, - { 24937, 34914 }, - { 24938, 24417 }, - { 24939, 29357 }, - { 24940, 29360 }, - { 24941, 29364 }, - { 24942, 29367 }, - { 24943, 29368 }, - { 24944, 29379 }, - { 24945, 29377 }, - { 24946, 29390 }, - { 24947, 29389 }, - { 24948, 29394 }, - { 24949, 29416 }, - { 24950, 29423 }, - { 24951, 29417 }, - { 24952, 29426 }, - { 24953, 29428 }, - { 24954, 29431 }, - { 24955, 29441 }, - { 24956, 29427 }, - { 24957, 29443 }, - { 24958, 29434 }, - { 25121, 29435 }, - { 25122, 29463 }, - { 25123, 29459 }, - { 25124, 29473 }, - { 25125, 29450 }, - { 25126, 29470 }, - { 25127, 29469 }, - { 25128, 29461 }, - { 25129, 29474 }, - { 25130, 29497 }, - { 25131, 29477 }, - { 25132, 29484 }, - { 25133, 29496 }, - { 25134, 29489 }, - { 25135, 29520 }, - { 25136, 29517 }, - { 25137, 29527 }, - { 25138, 29536 }, - { 25139, 29548 }, - { 25140, 29551 }, - { 25141, 29566 }, - { 25142, 33307 }, - { 25143, 22821 }, - { 25144, 39143 }, - { 25145, 22820 }, - { 25146, 22786 }, - { 25147, 39267 }, - { 25148, 39271 }, - { 25149, 39272 }, - { 25150, 39273 }, - { 25151, 39274 }, - { 25152, 39275 }, - { 25153, 39276 }, - { 25154, 39284 }, - { 25155, 39287 }, - { 25156, 39293 }, - { 25157, 39296 }, - { 25158, 39300 }, - { 25159, 39303 }, - { 25160, 39306 }, - { 25161, 39309 }, - { 25162, 39312 }, - { 25163, 39313 }, - { 25164, 39315 }, - { 25165, 39316 }, - { 25166, 39317 }, - { 25167, 24192 }, - { 25168, 24209 }, - { 25169, 24203 }, - { 25170, 24214 }, - { 25171, 24229 }, - { 25172, 24224 }, - { 25173, 24249 }, - { 25174, 24245 }, - { 25175, 24254 }, - { 25176, 24243 }, - { 25177, 36179 }, - { 25178, 24274 }, - { 25179, 24273 }, - { 25180, 24283 }, - { 25181, 24296 }, - { 25182, 24298 }, - { 25183, 33210 }, - { 25184, 24516 }, - { 25185, 24521 }, - { 25186, 24534 }, - { 25187, 24527 }, - { 25188, 24579 }, - { 25189, 24558 }, - { 25190, 24580 }, - { 25191, 24545 }, - { 25192, 24548 }, - { 25193, 24574 }, - { 25194, 24581 }, - { 25195, 24582 }, - { 25196, 24554 }, - { 25197, 24557 }, - { 25198, 24568 }, - { 25199, 24601 }, - { 25200, 24629 }, - { 25201, 24614 }, - { 25202, 24603 }, - { 25203, 24591 }, - { 25204, 24589 }, - { 25205, 24617 }, - { 25206, 24619 }, - { 25207, 24586 }, - { 25208, 24639 }, - { 25209, 24609 }, - { 25210, 24696 }, - { 25211, 24697 }, - { 25212, 24699 }, - { 25213, 24698 }, - { 25214, 24642 }, - { 25377, 24682 }, - { 25378, 24701 }, - { 25379, 24726 }, - { 25380, 24730 }, - { 25381, 24749 }, - { 25382, 24733 }, - { 25383, 24707 }, - { 25384, 24722 }, - { 25385, 24716 }, - { 25386, 24731 }, - { 25387, 24812 }, - { 25388, 24763 }, - { 25389, 24753 }, - { 25390, 24797 }, - { 25391, 24792 }, - { 25392, 24774 }, - { 25393, 24794 }, - { 25394, 24756 }, - { 25395, 24864 }, - { 25396, 24870 }, - { 25397, 24853 }, - { 25398, 24867 }, - { 25399, 24820 }, - { 25400, 24832 }, - { 25401, 24846 }, - { 25402, 24875 }, - { 25403, 24906 }, - { 25404, 24949 }, - { 25405, 25004 }, - { 25406, 24980 }, - { 25407, 24999 }, - { 25408, 25015 }, - { 25409, 25044 }, - { 25410, 25077 }, - { 25411, 24541 }, - { 25412, 38579 }, - { 25413, 38377 }, - { 25414, 38379 }, - { 25415, 38385 }, - { 25416, 38387 }, - { 25417, 38389 }, - { 25418, 38390 }, - { 25419, 38396 }, - { 25420, 38398 }, - { 25421, 38403 }, - { 25422, 38404 }, - { 25423, 38406 }, - { 25424, 38408 }, - { 25425, 38410 }, - { 25426, 38411 }, - { 25427, 38412 }, - { 25428, 38413 }, - { 25429, 38415 }, - { 25430, 38418 }, - { 25431, 38421 }, - { 25432, 38422 }, - { 25433, 38423 }, - { 25434, 38425 }, - { 25435, 38426 }, - { 25436, 20012 }, - { 25437, 29247 }, - { 25438, 25109 }, - { 25439, 27701 }, - { 25440, 27732 }, - { 25441, 27740 }, - { 25442, 27722 }, - { 25443, 27811 }, - { 25444, 27781 }, - { 25445, 27792 }, - { 25446, 27796 }, - { 25447, 27788 }, - { 25448, 27752 }, - { 25449, 27753 }, - { 25450, 27764 }, - { 25451, 27766 }, - { 25452, 27782 }, - { 25453, 27817 }, - { 25454, 27856 }, - { 25455, 27860 }, - { 25456, 27821 }, - { 25457, 27895 }, - { 25458, 27896 }, - { 25459, 27889 }, - { 25460, 27863 }, - { 25461, 27826 }, - { 25462, 27872 }, - { 25463, 27862 }, - { 25464, 27898 }, - { 25465, 27883 }, - { 25466, 27886 }, - { 25467, 27825 }, - { 25468, 27859 }, - { 25469, 27887 }, - { 25470, 27902 }, - { 25633, 27961 }, - { 25634, 27943 }, - { 25635, 27916 }, - { 25636, 27971 }, - { 25637, 27976 }, - { 25638, 27911 }, - { 25639, 27908 }, - { 25640, 27929 }, - { 25641, 27918 }, - { 25642, 27947 }, - { 25643, 27981 }, - { 25644, 27950 }, - { 25645, 27957 }, - { 25646, 27930 }, - { 25647, 27983 }, - { 25648, 27986 }, - { 25649, 27988 }, - { 25650, 27955 }, - { 25651, 28049 }, - { 25652, 28015 }, - { 25653, 28062 }, - { 25654, 28064 }, - { 25655, 27998 }, - { 25656, 28051 }, - { 25657, 28052 }, - { 25658, 27996 }, - { 25659, 28000 }, - { 25660, 28028 }, - { 25661, 28003 }, - { 25662, 28186 }, - { 25663, 28103 }, - { 25664, 28101 }, - { 25665, 28126 }, - { 25666, 28174 }, - { 25667, 28095 }, - { 25668, 28128 }, - { 25669, 28177 }, - { 25670, 28134 }, - { 25671, 28125 }, - { 25672, 28121 }, - { 25673, 28182 }, - { 25674, 28075 }, - { 25675, 28172 }, - { 25676, 28078 }, - { 25677, 28203 }, - { 25678, 28270 }, - { 25679, 28238 }, - { 25680, 28267 }, - { 25681, 28338 }, - { 25682, 28255 }, - { 25683, 28294 }, - { 25684, 28243 }, - { 25685, 28244 }, - { 25686, 28210 }, - { 25687, 28197 }, - { 25688, 28228 }, - { 25689, 28383 }, - { 25690, 28337 }, - { 25691, 28312 }, - { 25692, 28384 }, - { 25693, 28461 }, - { 25694, 28386 }, - { 25695, 28325 }, - { 25696, 28327 }, - { 25697, 28349 }, - { 25698, 28347 }, - { 25699, 28343 }, - { 25700, 28375 }, - { 25701, 28340 }, - { 25702, 28367 }, - { 25703, 28303 }, - { 25704, 28354 }, - { 25705, 28319 }, - { 25706, 28514 }, - { 25707, 28486 }, - { 25708, 28487 }, - { 25709, 28452 }, - { 25710, 28437 }, - { 25711, 28409 }, - { 25712, 28463 }, - { 25713, 28470 }, - { 25714, 28491 }, - { 25715, 28532 }, - { 25716, 28458 }, - { 25717, 28425 }, - { 25718, 28457 }, - { 25719, 28553 }, - { 25720, 28557 }, - { 25721, 28556 }, - { 25722, 28536 }, - { 25723, 28530 }, - { 25724, 28540 }, - { 25725, 28538 }, - { 25726, 28625 }, - { 25889, 28617 }, - { 25890, 28583 }, - { 25891, 28601 }, - { 25892, 28598 }, - { 25893, 28610 }, - { 25894, 28641 }, - { 25895, 28654 }, - { 25896, 28638 }, - { 25897, 28640 }, - { 25898, 28655 }, - { 25899, 28698 }, - { 25900, 28707 }, - { 25901, 28699 }, - { 25902, 28729 }, - { 25903, 28725 }, - { 25904, 28751 }, - { 25905, 28766 }, - { 25906, 23424 }, - { 25907, 23428 }, - { 25908, 23445 }, - { 25909, 23443 }, - { 25910, 23461 }, - { 25911, 23480 }, - { 25912, 29999 }, - { 25913, 39582 }, - { 25914, 25652 }, - { 25915, 23524 }, - { 25916, 23534 }, - { 25917, 35120 }, - { 25918, 23536 }, - { 25919, 36423 }, - { 25920, 35591 }, - { 25921, 36790 }, - { 25922, 36819 }, - { 25923, 36821 }, - { 25924, 36837 }, - { 25925, 36846 }, - { 25926, 36836 }, - { 25927, 36841 }, - { 25928, 36838 }, - { 25929, 36851 }, - { 25930, 36840 }, - { 25931, 36869 }, - { 25932, 36868 }, - { 25933, 36875 }, - { 25934, 36902 }, - { 25935, 36881 }, - { 25936, 36877 }, - { 25937, 36886 }, - { 25938, 36897 }, - { 25939, 36917 }, - { 25940, 36918 }, - { 25941, 36909 }, - { 25942, 36911 }, - { 25943, 36932 }, - { 25944, 36945 }, - { 25945, 36946 }, - { 25946, 36944 }, - { 25947, 36968 }, - { 25948, 36952 }, - { 25949, 36962 }, - { 25950, 36955 }, - { 25951, 26297 }, - { 25952, 36980 }, - { 25953, 36989 }, - { 25954, 36994 }, - { 25955, 37000 }, - { 25956, 36995 }, - { 25957, 37003 }, - { 25958, 24400 }, - { 25959, 24407 }, - { 25960, 24406 }, - { 25961, 24408 }, - { 25962, 23611 }, - { 25963, 21675 }, - { 25964, 23632 }, - { 25965, 23641 }, - { 25966, 23409 }, - { 25967, 23651 }, - { 25968, 23654 }, - { 25969, 32700 }, - { 25970, 24362 }, - { 25971, 24361 }, - { 25972, 24365 }, - { 25973, 33396 }, - { 25974, 24380 }, - { 25975, 39739 }, - { 25976, 23662 }, - { 25977, 22913 }, - { 25978, 22915 }, - { 25979, 22925 }, - { 25980, 22953 }, - { 25981, 22954 }, - { 25982, 22947 }, - { 26145, 22935 }, - { 26146, 22986 }, - { 26147, 22955 }, - { 26148, 22942 }, - { 26149, 22948 }, - { 26150, 22994 }, - { 26151, 22962 }, - { 26152, 22959 }, - { 26153, 22999 }, - { 26154, 22974 }, - { 26155, 23045 }, - { 26156, 23046 }, - { 26157, 23005 }, - { 26158, 23048 }, - { 26159, 23011 }, - { 26160, 23000 }, - { 26161, 23033 }, - { 26162, 23052 }, - { 26163, 23049 }, - { 26164, 23090 }, - { 26165, 23092 }, - { 26166, 23057 }, - { 26167, 23075 }, - { 26168, 23059 }, - { 26169, 23104 }, - { 26170, 23143 }, - { 26171, 23114 }, - { 26172, 23125 }, - { 26173, 23100 }, - { 26174, 23138 }, - { 26175, 23157 }, - { 26176, 33004 }, - { 26177, 23210 }, - { 26178, 23195 }, - { 26179, 23159 }, - { 26180, 23162 }, - { 26181, 23230 }, - { 26182, 23275 }, - { 26183, 23218 }, - { 26184, 23250 }, - { 26185, 23252 }, - { 26186, 23224 }, - { 26187, 23264 }, - { 26188, 23267 }, - { 26189, 23281 }, - { 26190, 23254 }, - { 26191, 23270 }, - { 26192, 23256 }, - { 26193, 23260 }, - { 26194, 23305 }, - { 26195, 23319 }, - { 26196, 23318 }, - { 26197, 23346 }, - { 26198, 23351 }, - { 26199, 23360 }, - { 26200, 23573 }, - { 26201, 23580 }, - { 26202, 23386 }, - { 26203, 23397 }, - { 26204, 23411 }, - { 26205, 23377 }, - { 26206, 23379 }, - { 26207, 23394 }, - { 26208, 39541 }, - { 26209, 39543 }, - { 26210, 39544 }, - { 26211, 39546 }, - { 26212, 39551 }, - { 26213, 39549 }, - { 26214, 39552 }, - { 26215, 39553 }, - { 26216, 39557 }, - { 26217, 39560 }, - { 26218, 39562 }, - { 26219, 39568 }, - { 26220, 39570 }, - { 26221, 39571 }, - { 26222, 39574 }, - { 26223, 39576 }, - { 26224, 39579 }, - { 26225, 39580 }, - { 26226, 39581 }, - { 26227, 39583 }, - { 26228, 39584 }, - { 26229, 39586 }, - { 26230, 39587 }, - { 26231, 39589 }, - { 26232, 39591 }, - { 26233, 32415 }, - { 26234, 32417 }, - { 26235, 32419 }, - { 26236, 32421 }, - { 26237, 32424 }, - { 26238, 32425 }, - { 26401, 32429 }, - { 26402, 32432 }, - { 26403, 32446 }, - { 26404, 32448 }, - { 26405, 32449 }, - { 26406, 32450 }, - { 26407, 32457 }, - { 26408, 32459 }, - { 26409, 32460 }, - { 26410, 32464 }, - { 26411, 32468 }, - { 26412, 32471 }, - { 26413, 32475 }, - { 26414, 32480 }, - { 26415, 32481 }, - { 26416, 32488 }, - { 26417, 32491 }, - { 26418, 32494 }, - { 26419, 32495 }, - { 26420, 32497 }, - { 26421, 32498 }, - { 26422, 32525 }, - { 26423, 32502 }, - { 26424, 32506 }, - { 26425, 32507 }, - { 26426, 32510 }, - { 26427, 32513 }, - { 26428, 32514 }, - { 26429, 32515 }, - { 26430, 32519 }, - { 26431, 32520 }, - { 26432, 32523 }, - { 26433, 32524 }, - { 26434, 32527 }, - { 26435, 32529 }, - { 26436, 32530 }, - { 26437, 32535 }, - { 26438, 32537 }, - { 26439, 32540 }, - { 26440, 32539 }, - { 26441, 32543 }, - { 26442, 32545 }, - { 26443, 32546 }, - { 26444, 32547 }, - { 26445, 32548 }, - { 26446, 32549 }, - { 26447, 32550 }, - { 26448, 32551 }, - { 26449, 32554 }, - { 26450, 32555 }, - { 26451, 32556 }, - { 26452, 32557 }, - { 26453, 32559 }, - { 26454, 32560 }, - { 26455, 32561 }, - { 26456, 32562 }, - { 26457, 32563 }, - { 26458, 32565 }, - { 26459, 24186 }, - { 26460, 30079 }, - { 26461, 24027 }, - { 26462, 30014 }, - { 26463, 37013 }, - { 26464, 29582 }, - { 26465, 29585 }, - { 26466, 29614 }, - { 26467, 29602 }, - { 26468, 29599 }, - { 26469, 29647 }, - { 26470, 29634 }, - { 26471, 29649 }, - { 26472, 29623 }, - { 26473, 29619 }, - { 26474, 29632 }, - { 26475, 29641 }, - { 26476, 29640 }, - { 26477, 29669 }, - { 26478, 29657 }, - { 26479, 39036 }, - { 26480, 29706 }, - { 26481, 29673 }, - { 26482, 29671 }, - { 26483, 29662 }, - { 26484, 29626 }, - { 26485, 29682 }, - { 26486, 29711 }, - { 26487, 29738 }, - { 26488, 29787 }, - { 26489, 29734 }, - { 26490, 29733 }, - { 26491, 29736 }, - { 26492, 29744 }, - { 26493, 29742 }, - { 26494, 29740 }, - { 26657, 29723 }, - { 26658, 29722 }, - { 26659, 29761 }, - { 26660, 29788 }, - { 26661, 29783 }, - { 26662, 29781 }, - { 26663, 29785 }, - { 26664, 29815 }, - { 26665, 29805 }, - { 26666, 29822 }, - { 26667, 29852 }, - { 26668, 29838 }, - { 26669, 29824 }, - { 26670, 29825 }, - { 26671, 29831 }, - { 26672, 29835 }, - { 26673, 29854 }, - { 26674, 29864 }, - { 26675, 29865 }, - { 26676, 29840 }, - { 26677, 29863 }, - { 26678, 29906 }, - { 26679, 29882 }, - { 26680, 38890 }, - { 26681, 38891 }, - { 26682, 38892 }, - { 26683, 26444 }, - { 26684, 26451 }, - { 26685, 26462 }, - { 26686, 26440 }, - { 26687, 26473 }, - { 26688, 26533 }, - { 26689, 26503 }, - { 26690, 26474 }, - { 26691, 26483 }, - { 26692, 26520 }, - { 26693, 26535 }, - { 26694, 26485 }, - { 26695, 26536 }, - { 26696, 26526 }, - { 26697, 26541 }, - { 26698, 26507 }, - { 26699, 26487 }, - { 26700, 26492 }, - { 26701, 26608 }, - { 26702, 26633 }, - { 26703, 26584 }, - { 26704, 26634 }, - { 26705, 26601 }, - { 26706, 26544 }, - { 26707, 26636 }, - { 26708, 26585 }, - { 26709, 26549 }, - { 26710, 26586 }, - { 26711, 26547 }, - { 26712, 26589 }, - { 26713, 26624 }, - { 26714, 26563 }, - { 26715, 26552 }, - { 26716, 26594 }, - { 26717, 26638 }, - { 26718, 26561 }, - { 26719, 26621 }, - { 26720, 26674 }, - { 26721, 26675 }, - { 26722, 26720 }, - { 26723, 26721 }, - { 26724, 26702 }, - { 26725, 26722 }, - { 26726, 26692 }, - { 26727, 26724 }, - { 26728, 26755 }, - { 26729, 26653 }, - { 26730, 26709 }, - { 26731, 26726 }, - { 26732, 26689 }, - { 26733, 26727 }, - { 26734, 26688 }, - { 26735, 26686 }, - { 26736, 26698 }, - { 26737, 26697 }, - { 26738, 26665 }, - { 26739, 26805 }, - { 26740, 26767 }, - { 26741, 26740 }, - { 26742, 26743 }, - { 26743, 26771 }, - { 26744, 26731 }, - { 26745, 26818 }, - { 26746, 26990 }, - { 26747, 26876 }, - { 26748, 26911 }, - { 26749, 26912 }, - { 26750, 26873 }, - { 26913, 26916 }, - { 26914, 26864 }, - { 26915, 26891 }, - { 26916, 26881 }, - { 26917, 26967 }, - { 26918, 26851 }, - { 26919, 26896 }, - { 26920, 26993 }, - { 26921, 26937 }, - { 26922, 26976 }, - { 26923, 26946 }, - { 26924, 26973 }, - { 26925, 27012 }, - { 26926, 26987 }, - { 26927, 27008 }, - { 26928, 27032 }, - { 26929, 27000 }, - { 26930, 26932 }, - { 26931, 27084 }, - { 26932, 27015 }, - { 26933, 27016 }, - { 26934, 27086 }, - { 26935, 27017 }, - { 26936, 26982 }, - { 26937, 26979 }, - { 26938, 27001 }, - { 26939, 27035 }, - { 26940, 27047 }, - { 26941, 27067 }, - { 26942, 27051 }, - { 26943, 27053 }, - { 26944, 27092 }, - { 26945, 27057 }, - { 26946, 27073 }, - { 26947, 27082 }, - { 26948, 27103 }, - { 26949, 27029 }, - { 26950, 27104 }, - { 26951, 27021 }, - { 26952, 27135 }, - { 26953, 27183 }, - { 26954, 27117 }, - { 26955, 27159 }, - { 26956, 27160 }, - { 26957, 27237 }, - { 26958, 27122 }, - { 26959, 27204 }, - { 26960, 27198 }, - { 26961, 27296 }, - { 26962, 27216 }, - { 26963, 27227 }, - { 26964, 27189 }, - { 26965, 27278 }, - { 26966, 27257 }, - { 26967, 27197 }, - { 26968, 27176 }, - { 26969, 27224 }, - { 26970, 27260 }, - { 26971, 27281 }, - { 26972, 27280 }, - { 26973, 27305 }, - { 26974, 27287 }, - { 26975, 27307 }, - { 26976, 29495 }, - { 26977, 29522 }, - { 26978, 27521 }, - { 26979, 27522 }, - { 26980, 27527 }, - { 26981, 27524 }, - { 26982, 27538 }, - { 26983, 27539 }, - { 26984, 27533 }, - { 26985, 27546 }, - { 26986, 27547 }, - { 26987, 27553 }, - { 26988, 27562 }, - { 26989, 36715 }, - { 26990, 36717 }, - { 26991, 36721 }, - { 26992, 36722 }, - { 26993, 36723 }, - { 26994, 36725 }, - { 26995, 36726 }, - { 26996, 36728 }, - { 26997, 36727 }, - { 26998, 36729 }, - { 26999, 36730 }, - { 27000, 36732 }, - { 27001, 36734 }, - { 27002, 36737 }, - { 27003, 36738 }, - { 27004, 36740 }, - { 27005, 36743 }, - { 27006, 36747 }, - { 27169, 36749 }, - { 27170, 36750 }, - { 27171, 36751 }, - { 27172, 36760 }, - { 27173, 36762 }, - { 27174, 36558 }, - { 27175, 25099 }, - { 27176, 25111 }, - { 27177, 25115 }, - { 27178, 25119 }, - { 27179, 25122 }, - { 27180, 25121 }, - { 27181, 25125 }, - { 27182, 25124 }, - { 27183, 25132 }, - { 27184, 33255 }, - { 27185, 29935 }, - { 27186, 29940 }, - { 27187, 29951 }, - { 27188, 29967 }, - { 27189, 29969 }, - { 27190, 29971 }, - { 27191, 25908 }, - { 27192, 26094 }, - { 27193, 26095 }, - { 27194, 26096 }, - { 27195, 26122 }, - { 27196, 26137 }, - { 27197, 26482 }, - { 27198, 26115 }, - { 27199, 26133 }, - { 27200, 26112 }, - { 27201, 28805 }, - { 27202, 26359 }, - { 27203, 26141 }, - { 27204, 26164 }, - { 27205, 26161 }, - { 27206, 26166 }, - { 27207, 26165 }, - { 27208, 32774 }, - { 27209, 26207 }, - { 27210, 26196 }, - { 27211, 26177 }, - { 27212, 26191 }, - { 27213, 26198 }, - { 27214, 26209 }, - { 27215, 26199 }, - { 27216, 26231 }, - { 27217, 26244 }, - { 27218, 26252 }, - { 27219, 26279 }, - { 27220, 26269 }, - { 27221, 26302 }, - { 27222, 26331 }, - { 27223, 26332 }, - { 27224, 26342 }, - { 27225, 26345 }, - { 27226, 36146 }, - { 27227, 36147 }, - { 27228, 36150 }, - { 27229, 36155 }, - { 27230, 36157 }, - { 27231, 36160 }, - { 27232, 36165 }, - { 27233, 36166 }, - { 27234, 36168 }, - { 27235, 36169 }, - { 27236, 36167 }, - { 27237, 36173 }, - { 27238, 36181 }, - { 27239, 36185 }, - { 27240, 35271 }, - { 27241, 35274 }, - { 27242, 35275 }, - { 27243, 35276 }, - { 27244, 35278 }, - { 27245, 35279 }, - { 27246, 35280 }, - { 27247, 35281 }, - { 27248, 29294 }, - { 27249, 29343 }, - { 27250, 29277 }, - { 27251, 29286 }, - { 27252, 29295 }, - { 27253, 29310 }, - { 27254, 29311 }, - { 27255, 29316 }, - { 27256, 29323 }, - { 27257, 29325 }, - { 27258, 29327 }, - { 27259, 29330 }, - { 27260, 25352 }, - { 27261, 25394 }, - { 27262, 25520 }, - { 27425, 25663 }, - { 27426, 25816 }, - { 27427, 32772 }, - { 27428, 27626 }, - { 27429, 27635 }, - { 27430, 27645 }, - { 27431, 27637 }, - { 27432, 27641 }, - { 27433, 27653 }, - { 27434, 27655 }, - { 27435, 27654 }, - { 27436, 27661 }, - { 27437, 27669 }, - { 27438, 27672 }, - { 27439, 27673 }, - { 27440, 27674 }, - { 27441, 27681 }, - { 27442, 27689 }, - { 27443, 27684 }, - { 27444, 27690 }, - { 27445, 27698 }, - { 27446, 25909 }, - { 27447, 25941 }, - { 27448, 25963 }, - { 27449, 29261 }, - { 27450, 29266 }, - { 27451, 29270 }, - { 27452, 29232 }, - { 27453, 34402 }, - { 27454, 21014 }, - { 27455, 32927 }, - { 27456, 32924 }, - { 27457, 32915 }, - { 27458, 32956 }, - { 27459, 26378 }, - { 27460, 32957 }, - { 27461, 32945 }, - { 27462, 32939 }, - { 27463, 32941 }, - { 27464, 32948 }, - { 27465, 32951 }, - { 27466, 32999 }, - { 27467, 33000 }, - { 27468, 33001 }, - { 27469, 33002 }, - { 27470, 32987 }, - { 27471, 32962 }, - { 27472, 32964 }, - { 27473, 32985 }, - { 27474, 32973 }, - { 27475, 32983 }, - { 27476, 26384 }, - { 27477, 32989 }, - { 27478, 33003 }, - { 27479, 33009 }, - { 27480, 33012 }, - { 27481, 33005 }, - { 27482, 33037 }, - { 27483, 33038 }, - { 27484, 33010 }, - { 27485, 33020 }, - { 27486, 26389 }, - { 27487, 33042 }, - { 27488, 35930 }, - { 27489, 33078 }, - { 27490, 33054 }, - { 27491, 33068 }, - { 27492, 33048 }, - { 27493, 33074 }, - { 27494, 33096 }, - { 27495, 33100 }, - { 27496, 33107 }, - { 27497, 33140 }, - { 27498, 33113 }, - { 27499, 33114 }, - { 27500, 33137 }, - { 27501, 33120 }, - { 27502, 33129 }, - { 27503, 33148 }, - { 27504, 33149 }, - { 27505, 33133 }, - { 27506, 33127 }, - { 27507, 22605 }, - { 27508, 23221 }, - { 27509, 33160 }, - { 27510, 33154 }, - { 27511, 33169 }, - { 27512, 28373 }, - { 27513, 33187 }, - { 27514, 33194 }, - { 27515, 33228 }, - { 27516, 26406 }, - { 27517, 33226 }, - { 27518, 33211 }, - { 27681, 33217 }, - { 27682, 33190 }, - { 27683, 27428 }, - { 27684, 27447 }, - { 27685, 27449 }, - { 27686, 27459 }, - { 27687, 27462 }, - { 27688, 27481 }, - { 27689, 39121 }, - { 27690, 39122 }, - { 27691, 39123 }, - { 27692, 39125 }, - { 27693, 39129 }, - { 27694, 39130 }, - { 27695, 27571 }, - { 27696, 24384 }, - { 27697, 27586 }, - { 27698, 35315 }, - { 27699, 26000 }, - { 27700, 40785 }, - { 27701, 26003 }, - { 27702, 26044 }, - { 27703, 26054 }, - { 27704, 26052 }, - { 27705, 26051 }, - { 27706, 26060 }, - { 27707, 26062 }, - { 27708, 26066 }, - { 27709, 26070 }, - { 27710, 28800 }, - { 27711, 28828 }, - { 27712, 28822 }, - { 27713, 28829 }, - { 27714, 28859 }, - { 27715, 28864 }, - { 27716, 28855 }, - { 27717, 28843 }, - { 27718, 28849 }, - { 27719, 28904 }, - { 27720, 28874 }, - { 27721, 28944 }, - { 27722, 28947 }, - { 27723, 28950 }, - { 27724, 28975 }, - { 27725, 28977 }, - { 27726, 29043 }, - { 27727, 29020 }, - { 27728, 29032 }, - { 27729, 28997 }, - { 27730, 29042 }, - { 27731, 29002 }, - { 27732, 29048 }, - { 27733, 29050 }, - { 27734, 29080 }, - { 27735, 29107 }, - { 27736, 29109 }, - { 27737, 29096 }, - { 27738, 29088 }, - { 27739, 29152 }, - { 27740, 29140 }, - { 27741, 29159 }, - { 27742, 29177 }, - { 27743, 29213 }, - { 27744, 29224 }, - { 27745, 28780 }, - { 27746, 28952 }, - { 27747, 29030 }, - { 27748, 29113 }, - { 27749, 25150 }, - { 27750, 25149 }, - { 27751, 25155 }, - { 27752, 25160 }, - { 27753, 25161 }, - { 27754, 31035 }, - { 27755, 31040 }, - { 27756, 31046 }, - { 27757, 31049 }, - { 27758, 31067 }, - { 27759, 31068 }, - { 27760, 31059 }, - { 27761, 31066 }, - { 27762, 31074 }, - { 27763, 31063 }, - { 27764, 31072 }, - { 27765, 31087 }, - { 27766, 31079 }, - { 27767, 31098 }, - { 27768, 31109 }, - { 27769, 31114 }, - { 27770, 31130 }, - { 27771, 31143 }, - { 27772, 31155 }, - { 27773, 24529 }, - { 27774, 24528 }, - { 27937, 24636 }, - { 27938, 24669 }, - { 27939, 24666 }, - { 27940, 24679 }, - { 27941, 24641 }, - { 27942, 24665 }, - { 27943, 24675 }, - { 27944, 24747 }, - { 27945, 24838 }, - { 27946, 24845 }, - { 27947, 24925 }, - { 27948, 25001 }, - { 27949, 24989 }, - { 27950, 25035 }, - { 27951, 25041 }, - { 27952, 25094 }, - { 27953, 32896 }, - { 27954, 32895 }, - { 27955, 27795 }, - { 27956, 27894 }, - { 27957, 28156 }, - { 27958, 30710 }, - { 27959, 30712 }, - { 27960, 30720 }, - { 27961, 30729 }, - { 27962, 30743 }, - { 27963, 30744 }, - { 27964, 30737 }, - { 27965, 26027 }, - { 27966, 30765 }, - { 27967, 30748 }, - { 27968, 30749 }, - { 27969, 30777 }, - { 27970, 30778 }, - { 27971, 30779 }, - { 27972, 30751 }, - { 27973, 30780 }, - { 27974, 30757 }, - { 27975, 30764 }, - { 27976, 30755 }, - { 27977, 30761 }, - { 27978, 30798 }, - { 27979, 30829 }, - { 27980, 30806 }, - { 27981, 30807 }, - { 27982, 30758 }, - { 27983, 30800 }, - { 27984, 30791 }, - { 27985, 30796 }, - { 27986, 30826 }, - { 27987, 30875 }, - { 27988, 30867 }, - { 27989, 30874 }, - { 27990, 30855 }, - { 27991, 30876 }, - { 27992, 30881 }, - { 27993, 30883 }, - { 27994, 30898 }, - { 27995, 30905 }, - { 27996, 30885 }, - { 27997, 30932 }, - { 27998, 30937 }, - { 27999, 30921 }, - { 28000, 30956 }, - { 28001, 30962 }, - { 28002, 30981 }, - { 28003, 30964 }, - { 28004, 30995 }, - { 28005, 31012 }, - { 28006, 31006 }, - { 28007, 31028 }, - { 28008, 40859 }, - { 28009, 40697 }, - { 28010, 40699 }, - { 28011, 40700 }, - { 28012, 30449 }, - { 28013, 30468 }, - { 28014, 30477 }, - { 28015, 30457 }, - { 28016, 30471 }, - { 28017, 30472 }, - { 28018, 30490 }, - { 28019, 30498 }, - { 28020, 30489 }, - { 28021, 30509 }, - { 28022, 30502 }, - { 28023, 30517 }, - { 28024, 30520 }, - { 28025, 30544 }, - { 28026, 30545 }, - { 28027, 30535 }, - { 28028, 30531 }, - { 28029, 30554 }, - { 28030, 30568 }, - { 28193, 30562 }, - { 28194, 30565 }, - { 28195, 30591 }, - { 28196, 30605 }, - { 28197, 30589 }, - { 28198, 30592 }, - { 28199, 30604 }, - { 28200, 30609 }, - { 28201, 30623 }, - { 28202, 30624 }, - { 28203, 30640 }, - { 28204, 30645 }, - { 28205, 30653 }, - { 28206, 30010 }, - { 28207, 30016 }, - { 28208, 30030 }, - { 28209, 30027 }, - { 28210, 30024 }, - { 28211, 30043 }, - { 28212, 30066 }, - { 28213, 30073 }, - { 28214, 30083 }, - { 28215, 32600 }, - { 28216, 32609 }, - { 28217, 32607 }, - { 28218, 35400 }, - { 28219, 32616 }, - { 28220, 32628 }, - { 28221, 32625 }, - { 28222, 32633 }, - { 28223, 32641 }, - { 28224, 32638 }, - { 28225, 30413 }, - { 28226, 30437 }, - { 28227, 34866 }, - { 28228, 38021 }, - { 28229, 38022 }, - { 28230, 38023 }, - { 28231, 38027 }, - { 28232, 38026 }, - { 28233, 38028 }, - { 28234, 38029 }, - { 28235, 38031 }, - { 28236, 38032 }, - { 28237, 38036 }, - { 28238, 38039 }, - { 28239, 38037 }, - { 28240, 38042 }, - { 28241, 38043 }, - { 28242, 38044 }, - { 28243, 38051 }, - { 28244, 38052 }, - { 28245, 38059 }, - { 28246, 38058 }, - { 28247, 38061 }, - { 28248, 38060 }, - { 28249, 38063 }, - { 28250, 38064 }, - { 28251, 38066 }, - { 28252, 38068 }, - { 28253, 38070 }, - { 28254, 38071 }, - { 28255, 38072 }, - { 28256, 38073 }, - { 28257, 38074 }, - { 28258, 38076 }, - { 28259, 38077 }, - { 28260, 38079 }, - { 28261, 38084 }, - { 28262, 38088 }, - { 28263, 38089 }, - { 28264, 38090 }, - { 28265, 38091 }, - { 28266, 38092 }, - { 28267, 38093 }, - { 28268, 38094 }, - { 28269, 38096 }, - { 28270, 38097 }, - { 28271, 38098 }, - { 28272, 38101 }, - { 28273, 38102 }, - { 28274, 38103 }, - { 28275, 38105 }, - { 28276, 38104 }, - { 28277, 38107 }, - { 28278, 38110 }, - { 28279, 38111 }, - { 28280, 38112 }, - { 28281, 38114 }, - { 28282, 38116 }, - { 28283, 38117 }, - { 28284, 38119 }, - { 28285, 38120 }, - { 28286, 38122 }, - { 28449, 38121 }, - { 28450, 38123 }, - { 28451, 38126 }, - { 28452, 38127 }, - { 28453, 38131 }, - { 28454, 38132 }, - { 28455, 38133 }, - { 28456, 38135 }, - { 28457, 38137 }, - { 28458, 38140 }, - { 28459, 38141 }, - { 28460, 38143 }, - { 28461, 38147 }, - { 28462, 38146 }, - { 28463, 38150 }, - { 28464, 38151 }, - { 28465, 38153 }, - { 28466, 38154 }, - { 28467, 38157 }, - { 28468, 38158 }, - { 28469, 38159 }, - { 28470, 38162 }, - { 28471, 38163 }, - { 28472, 38164 }, - { 28473, 38165 }, - { 28474, 38166 }, - { 28475, 38168 }, - { 28476, 38171 }, - { 28477, 38173 }, - { 28478, 38174 }, - { 28479, 38175 }, - { 28480, 38178 }, - { 28481, 38186 }, - { 28482, 38187 }, - { 28483, 38185 }, - { 28484, 38188 }, - { 28485, 38193 }, - { 28486, 38194 }, - { 28487, 38196 }, - { 28488, 38198 }, - { 28489, 38199 }, - { 28490, 38200 }, - { 28491, 38204 }, - { 28492, 38206 }, - { 28493, 38207 }, - { 28494, 38210 }, - { 28495, 38197 }, - { 28496, 38212 }, - { 28497, 38213 }, - { 28498, 38214 }, - { 28499, 38217 }, - { 28500, 38220 }, - { 28501, 38222 }, - { 28502, 38223 }, - { 28503, 38226 }, - { 28504, 38227 }, - { 28505, 38228 }, - { 28506, 38230 }, - { 28507, 38231 }, - { 28508, 38232 }, - { 28509, 38233 }, - { 28510, 38235 }, - { 28511, 38238 }, - { 28512, 38239 }, - { 28513, 38237 }, - { 28514, 38241 }, - { 28515, 38242 }, - { 28516, 38244 }, - { 28517, 38245 }, - { 28518, 38246 }, - { 28519, 38247 }, - { 28520, 38248 }, - { 28521, 38249 }, - { 28522, 38250 }, - { 28523, 38251 }, - { 28524, 38252 }, - { 28525, 38255 }, - { 28526, 38257 }, - { 28527, 38258 }, - { 28528, 38259 }, - { 28529, 38202 }, - { 28530, 30695 }, - { 28531, 30700 }, - { 28532, 38601 }, - { 28533, 31189 }, - { 28534, 31213 }, - { 28535, 31203 }, - { 28536, 31211 }, - { 28537, 31238 }, - { 28538, 23879 }, - { 28539, 31235 }, - { 28540, 31234 }, - { 28541, 31262 }, - { 28542, 31252 }, - { 28705, 31289 }, - { 28706, 31287 }, - { 28707, 31313 }, - { 28708, 40655 }, - { 28709, 39333 }, - { 28710, 31344 }, - { 28711, 30344 }, - { 28712, 30350 }, - { 28713, 30355 }, - { 28714, 30361 }, - { 28715, 30372 }, - { 28716, 29918 }, - { 28717, 29920 }, - { 28718, 29996 }, - { 28719, 40480 }, - { 28720, 40482 }, - { 28721, 40488 }, - { 28722, 40489 }, - { 28723, 40490 }, - { 28724, 40491 }, - { 28725, 40492 }, - { 28726, 40498 }, - { 28727, 40497 }, - { 28728, 40502 }, - { 28729, 40504 }, - { 28730, 40503 }, - { 28731, 40505 }, - { 28732, 40506 }, - { 28733, 40510 }, - { 28734, 40513 }, - { 28735, 40514 }, - { 28736, 40516 }, - { 28737, 40518 }, - { 28738, 40519 }, - { 28739, 40520 }, - { 28740, 40521 }, - { 28741, 40523 }, - { 28742, 40524 }, - { 28743, 40526 }, - { 28744, 40529 }, - { 28745, 40533 }, - { 28746, 40535 }, - { 28747, 40538 }, - { 28748, 40539 }, - { 28749, 40540 }, - { 28750, 40542 }, - { 28751, 40547 }, - { 28752, 40550 }, - { 28753, 40551 }, - { 28754, 40552 }, - { 28755, 40553 }, - { 28756, 40554 }, - { 28757, 40555 }, - { 28758, 40556 }, - { 28759, 40561 }, - { 28760, 40557 }, - { 28761, 40563 }, - { 28762, 30098 }, - { 28763, 30100 }, - { 28764, 30102 }, - { 28765, 30112 }, - { 28766, 30109 }, - { 28767, 30124 }, - { 28768, 30115 }, - { 28769, 30131 }, - { 28770, 30132 }, - { 28771, 30136 }, - { 28772, 30148 }, - { 28773, 30129 }, - { 28774, 30128 }, - { 28775, 30147 }, - { 28776, 30146 }, - { 28777, 30166 }, - { 28778, 30157 }, - { 28779, 30179 }, - { 28780, 30184 }, - { 28781, 30182 }, - { 28782, 30180 }, - { 28783, 30187 }, - { 28784, 30183 }, - { 28785, 30211 }, - { 28786, 30193 }, - { 28787, 30204 }, - { 28788, 30207 }, - { 28789, 30224 }, - { 28790, 30208 }, - { 28791, 30213 }, - { 28792, 30220 }, - { 28793, 30231 }, - { 28794, 30218 }, - { 28795, 30245 }, - { 28796, 30232 }, - { 28797, 30229 }, - { 28798, 30233 }, - { 28961, 30235 }, - { 28962, 30268 }, - { 28963, 30242 }, - { 28964, 30240 }, - { 28965, 30272 }, - { 28966, 30253 }, - { 28967, 30256 }, - { 28968, 30271 }, - { 28969, 30261 }, - { 28970, 30275 }, - { 28971, 30270 }, - { 28972, 30259 }, - { 28973, 30285 }, - { 28974, 30302 }, - { 28975, 30292 }, - { 28976, 30300 }, - { 28977, 30294 }, - { 28978, 30315 }, - { 28979, 30319 }, - { 28980, 32714 }, - { 28981, 31462 }, - { 28982, 31352 }, - { 28983, 31353 }, - { 28984, 31360 }, - { 28985, 31366 }, - { 28986, 31368 }, - { 28987, 31381 }, - { 28988, 31398 }, - { 28989, 31392 }, - { 28990, 31404 }, - { 28991, 31400 }, - { 28992, 31405 }, - { 28993, 31411 }, - { 28994, 34916 }, - { 28995, 34921 }, - { 28996, 34930 }, - { 28997, 34941 }, - { 28998, 34943 }, - { 28999, 34946 }, - { 29000, 34978 }, - { 29001, 35014 }, - { 29002, 34999 }, - { 29003, 35004 }, - { 29004, 35017 }, - { 29005, 35042 }, - { 29006, 35022 }, - { 29007, 35043 }, - { 29008, 35045 }, - { 29009, 35057 }, - { 29010, 35098 }, - { 29011, 35068 }, - { 29012, 35048 }, - { 29013, 35070 }, - { 29014, 35056 }, - { 29015, 35105 }, - { 29016, 35097 }, - { 29017, 35091 }, - { 29018, 35099 }, - { 29019, 35082 }, - { 29020, 35124 }, - { 29021, 35115 }, - { 29022, 35126 }, - { 29023, 35137 }, - { 29024, 35174 }, - { 29025, 35195 }, - { 29026, 30091 }, - { 29027, 32997 }, - { 29028, 30386 }, - { 29029, 30388 }, - { 29030, 30684 }, - { 29031, 32786 }, - { 29032, 32788 }, - { 29033, 32790 }, - { 29034, 32796 }, - { 29035, 32800 }, - { 29036, 32802 }, - { 29037, 32805 }, - { 29038, 32806 }, - { 29039, 32807 }, - { 29040, 32809 }, - { 29041, 32808 }, - { 29042, 32817 }, - { 29043, 32779 }, - { 29044, 32821 }, - { 29045, 32835 }, - { 29046, 32838 }, - { 29047, 32845 }, - { 29048, 32850 }, - { 29049, 32873 }, - { 29050, 32881 }, - { 29051, 35203 }, - { 29052, 39032 }, - { 29053, 39040 }, - { 29054, 39043 }, - { 29217, 39049 }, - { 29218, 39052 }, - { 29219, 39053 }, - { 29220, 39055 }, - { 29221, 39060 }, - { 29222, 39066 }, - { 29223, 39067 }, - { 29224, 39070 }, - { 29225, 39071 }, - { 29226, 39073 }, - { 29227, 39074 }, - { 29228, 39077 }, - { 29229, 39078 }, - { 29230, 34381 }, - { 29231, 34388 }, - { 29232, 34412 }, - { 29233, 34414 }, - { 29234, 34431 }, - { 29235, 34426 }, - { 29236, 34428 }, - { 29237, 34427 }, - { 29238, 34472 }, - { 29239, 34445 }, - { 29240, 34443 }, - { 29241, 34476 }, - { 29242, 34461 }, - { 29243, 34471 }, - { 29244, 34467 }, - { 29245, 34474 }, - { 29246, 34451 }, - { 29247, 34473 }, - { 29248, 34486 }, - { 29249, 34500 }, - { 29250, 34485 }, - { 29251, 34510 }, - { 29252, 34480 }, - { 29253, 34490 }, - { 29254, 34481 }, - { 29255, 34479 }, - { 29256, 34505 }, - { 29257, 34511 }, - { 29258, 34484 }, - { 29259, 34537 }, - { 29260, 34545 }, - { 29261, 34546 }, - { 29262, 34541 }, - { 29263, 34547 }, - { 29264, 34512 }, - { 29265, 34579 }, - { 29266, 34526 }, - { 29267, 34548 }, - { 29268, 34527 }, - { 29269, 34520 }, - { 29270, 34513 }, - { 29271, 34563 }, - { 29272, 34567 }, - { 29273, 34552 }, - { 29274, 34568 }, - { 29275, 34570 }, - { 29276, 34573 }, - { 29277, 34569 }, - { 29278, 34595 }, - { 29279, 34619 }, - { 29280, 34590 }, - { 29281, 34597 }, - { 29282, 34606 }, - { 29283, 34586 }, - { 29284, 34622 }, - { 29285, 34632 }, - { 29286, 34612 }, - { 29287, 34609 }, - { 29288, 34601 }, - { 29289, 34615 }, - { 29290, 34623 }, - { 29291, 34690 }, - { 29292, 34594 }, - { 29293, 34685 }, - { 29294, 34686 }, - { 29295, 34683 }, - { 29296, 34656 }, - { 29297, 34672 }, - { 29298, 34636 }, - { 29299, 34670 }, - { 29300, 34699 }, - { 29301, 34643 }, - { 29302, 34659 }, - { 29303, 34684 }, - { 29304, 34660 }, - { 29305, 34649 }, - { 29306, 34661 }, - { 29307, 34707 }, - { 29308, 34735 }, - { 29309, 34728 }, - { 29310, 34770 }, - { 29473, 34758 }, - { 29474, 34696 }, - { 29475, 34693 }, - { 29476, 34733 }, - { 29477, 34711 }, - { 29478, 34691 }, - { 29479, 34731 }, - { 29480, 34789 }, - { 29481, 34732 }, - { 29482, 34741 }, - { 29483, 34739 }, - { 29484, 34763 }, - { 29485, 34771 }, - { 29486, 34749 }, - { 29487, 34769 }, - { 29488, 34752 }, - { 29489, 34762 }, - { 29490, 34779 }, - { 29491, 34794 }, - { 29492, 34784 }, - { 29493, 34798 }, - { 29494, 34838 }, - { 29495, 34835 }, - { 29496, 34814 }, - { 29497, 34826 }, - { 29498, 34843 }, - { 29499, 34849 }, - { 29500, 34873 }, - { 29501, 34876 }, - { 29502, 32566 }, - { 29503, 32578 }, - { 29504, 32580 }, - { 29505, 32581 }, - { 29506, 33296 }, - { 29507, 31482 }, - { 29508, 31485 }, - { 29509, 31496 }, - { 29510, 31491 }, - { 29511, 31492 }, - { 29512, 31509 }, - { 29513, 31498 }, - { 29514, 31531 }, - { 29515, 31503 }, - { 29516, 31559 }, - { 29517, 31544 }, - { 29518, 31530 }, - { 29519, 31513 }, - { 29520, 31534 }, - { 29521, 31537 }, - { 29522, 31520 }, - { 29523, 31525 }, - { 29524, 31524 }, - { 29525, 31539 }, - { 29526, 31550 }, - { 29527, 31518 }, - { 29528, 31576 }, - { 29529, 31578 }, - { 29530, 31557 }, - { 29531, 31605 }, - { 29532, 31564 }, - { 29533, 31581 }, - { 29534, 31584 }, - { 29535, 31598 }, - { 29536, 31611 }, - { 29537, 31586 }, - { 29538, 31602 }, - { 29539, 31601 }, - { 29540, 31632 }, - { 29541, 31654 }, - { 29542, 31655 }, - { 29543, 31672 }, - { 29544, 31660 }, - { 29545, 31645 }, - { 29546, 31656 }, - { 29547, 31621 }, - { 29548, 31658 }, - { 29549, 31644 }, - { 29550, 31650 }, - { 29551, 31659 }, - { 29552, 31668 }, - { 29553, 31697 }, - { 29554, 31681 }, - { 29555, 31692 }, - { 29556, 31709 }, - { 29557, 31706 }, - { 29558, 31717 }, - { 29559, 31718 }, - { 29560, 31722 }, - { 29561, 31756 }, - { 29562, 31742 }, - { 29563, 31740 }, - { 29564, 31759 }, - { 29565, 31766 }, - { 29566, 31755 }, - { 29729, 31775 }, - { 29730, 31786 }, - { 29731, 31782 }, - { 29732, 31800 }, - { 29733, 31809 }, - { 29734, 31808 }, - { 29735, 33278 }, - { 29736, 33281 }, - { 29737, 33282 }, - { 29738, 33284 }, - { 29739, 33260 }, - { 29740, 34884 }, - { 29741, 33313 }, - { 29742, 33314 }, - { 29743, 33315 }, - { 29744, 33325 }, - { 29745, 33327 }, - { 29746, 33320 }, - { 29747, 33323 }, - { 29748, 33336 }, - { 29749, 33339 }, - { 29750, 33331 }, - { 29751, 33332 }, - { 29752, 33342 }, - { 29753, 33348 }, - { 29754, 33353 }, - { 29755, 33355 }, - { 29756, 33359 }, - { 29757, 33370 }, - { 29758, 33375 }, - { 29759, 33384 }, - { 29760, 34942 }, - { 29761, 34949 }, - { 29762, 34952 }, - { 29763, 35032 }, - { 29764, 35039 }, - { 29765, 35166 }, - { 29766, 32669 }, - { 29767, 32671 }, - { 29768, 32679 }, - { 29769, 32687 }, - { 29770, 32688 }, - { 29771, 32690 }, - { 29772, 31868 }, - { 29773, 25929 }, - { 29774, 31889 }, - { 29775, 31901 }, - { 29776, 31900 }, - { 29777, 31902 }, - { 29778, 31906 }, - { 29779, 31922 }, - { 29780, 31932 }, - { 29781, 31933 }, - { 29782, 31937 }, - { 29783, 31943 }, - { 29784, 31948 }, - { 29785, 31949 }, - { 29786, 31944 }, - { 29787, 31941 }, - { 29788, 31959 }, - { 29789, 31976 }, - { 29790, 33390 }, - { 29791, 26280 }, - { 29792, 32703 }, - { 29793, 32718 }, - { 29794, 32725 }, - { 29795, 32741 }, - { 29796, 32737 }, - { 29797, 32742 }, - { 29798, 32745 }, - { 29799, 32750 }, - { 29800, 32755 }, - { 29801, 31992 }, - { 29802, 32119 }, - { 29803, 32166 }, - { 29804, 32174 }, - { 29805, 32327 }, - { 29806, 32411 }, - { 29807, 40632 }, - { 29808, 40628 }, - { 29809, 36211 }, - { 29810, 36228 }, - { 29811, 36244 }, - { 29812, 36241 }, - { 29813, 36273 }, - { 29814, 36199 }, - { 29815, 36205 }, - { 29816, 35911 }, - { 29817, 35913 }, - { 29818, 37194 }, - { 29819, 37200 }, - { 29820, 37198 }, - { 29821, 37199 }, - { 29822, 37220 }, - { 29985, 37218 }, - { 29986, 37217 }, - { 29987, 37232 }, - { 29988, 37225 }, - { 29989, 37231 }, - { 29990, 37245 }, - { 29991, 37246 }, - { 29992, 37234 }, - { 29993, 37236 }, - { 29994, 37241 }, - { 29995, 37260 }, - { 29996, 37253 }, - { 29997, 37264 }, - { 29998, 37261 }, - { 29999, 37265 }, - { 30000, 37282 }, - { 30001, 37283 }, - { 30002, 37290 }, - { 30003, 37293 }, - { 30004, 37294 }, - { 30005, 37295 }, - { 30006, 37301 }, - { 30007, 37300 }, - { 30008, 37306 }, - { 30009, 35925 }, - { 30010, 40574 }, - { 30011, 36280 }, - { 30012, 36331 }, - { 30013, 36357 }, - { 30014, 36441 }, - { 30015, 36457 }, - { 30016, 36277 }, - { 30017, 36287 }, - { 30018, 36284 }, - { 30019, 36282 }, - { 30020, 36292 }, - { 30021, 36310 }, - { 30022, 36311 }, - { 30023, 36314 }, - { 30024, 36318 }, - { 30025, 36302 }, - { 30026, 36303 }, - { 30027, 36315 }, - { 30028, 36294 }, - { 30029, 36332 }, - { 30030, 36343 }, - { 30031, 36344 }, - { 30032, 36323 }, - { 30033, 36345 }, - { 30034, 36347 }, - { 30035, 36324 }, - { 30036, 36361 }, - { 30037, 36349 }, - { 30038, 36372 }, - { 30039, 36381 }, - { 30040, 36383 }, - { 30041, 36396 }, - { 30042, 36398 }, - { 30043, 36387 }, - { 30044, 36399 }, - { 30045, 36410 }, - { 30046, 36416 }, - { 30047, 36409 }, - { 30048, 36405 }, - { 30049, 36413 }, - { 30050, 36401 }, - { 30051, 36425 }, - { 30052, 36417 }, - { 30053, 36418 }, - { 30054, 36433 }, - { 30055, 36434 }, - { 30056, 36426 }, - { 30057, 36464 }, - { 30058, 36470 }, - { 30059, 36476 }, - { 30060, 36463 }, - { 30061, 36468 }, - { 30062, 36485 }, - { 30063, 36495 }, - { 30064, 36500 }, - { 30065, 36496 }, - { 30066, 36508 }, - { 30067, 36510 }, - { 30068, 35960 }, - { 30069, 35970 }, - { 30070, 35978 }, - { 30071, 35973 }, - { 30072, 35992 }, - { 30073, 35988 }, - { 30074, 26011 }, - { 30075, 35286 }, - { 30076, 35294 }, - { 30077, 35290 }, - { 30078, 35292 }, - { 30241, 35301 }, - { 30242, 35307 }, - { 30243, 35311 }, - { 30244, 35390 }, - { 30245, 35622 }, - { 30246, 38739 }, - { 30247, 38633 }, - { 30248, 38643 }, - { 30249, 38639 }, - { 30250, 38662 }, - { 30251, 38657 }, - { 30252, 38664 }, - { 30253, 38671 }, - { 30254, 38670 }, - { 30255, 38698 }, - { 30256, 38701 }, - { 30257, 38704 }, - { 30258, 38718 }, - { 30259, 40832 }, - { 30260, 40835 }, - { 30261, 40837 }, - { 30262, 40838 }, - { 30263, 40839 }, - { 30264, 40840 }, - { 30265, 40841 }, - { 30266, 40842 }, - { 30267, 40844 }, - { 30268, 40702 }, - { 30269, 40715 }, - { 30270, 40717 }, - { 30271, 38585 }, - { 30272, 38588 }, - { 30273, 38589 }, - { 30274, 38606 }, - { 30275, 38610 }, - { 30276, 30655 }, - { 30277, 38624 }, - { 30278, 37518 }, - { 30279, 37550 }, - { 30280, 37576 }, - { 30281, 37694 }, - { 30282, 37738 }, - { 30283, 37834 }, - { 30284, 37775 }, - { 30285, 37950 }, - { 30286, 37995 }, - { 30287, 40063 }, - { 30288, 40066 }, - { 30289, 40069 }, - { 30290, 40070 }, - { 30291, 40071 }, - { 30292, 40072 }, - { 30293, 31267 }, - { 30294, 40075 }, - { 30295, 40078 }, - { 30296, 40080 }, - { 30297, 40081 }, - { 30298, 40082 }, - { 30299, 40084 }, - { 30300, 40085 }, - { 30301, 40090 }, - { 30302, 40091 }, - { 30303, 40094 }, - { 30304, 40095 }, - { 30305, 40096 }, - { 30306, 40097 }, - { 30307, 40098 }, - { 30308, 40099 }, - { 30309, 40101 }, - { 30310, 40102 }, - { 30311, 40103 }, - { 30312, 40104 }, - { 30313, 40105 }, - { 30314, 40107 }, - { 30315, 40109 }, - { 30316, 40110 }, - { 30317, 40112 }, - { 30318, 40113 }, - { 30319, 40114 }, - { 30320, 40115 }, - { 30321, 40116 }, - { 30322, 40117 }, - { 30323, 40118 }, - { 30324, 40119 }, - { 30325, 40122 }, - { 30326, 40123 }, - { 30327, 40124 }, - { 30328, 40125 }, - { 30329, 40132 }, - { 30330, 40133 }, - { 30331, 40134 }, - { 30332, 40135 }, - { 30333, 40138 }, - { 30334, 40139 }, - { 30497, 40140 }, - { 30498, 40141 }, - { 30499, 40142 }, - { 30500, 40143 }, - { 30501, 40144 }, - { 30502, 40147 }, - { 30503, 40148 }, - { 30504, 40149 }, - { 30505, 40151 }, - { 30506, 40152 }, - { 30507, 40153 }, - { 30508, 40156 }, - { 30509, 40157 }, - { 30510, 40159 }, - { 30511, 40162 }, - { 30512, 38780 }, - { 30513, 38789 }, - { 30514, 38801 }, - { 30515, 38802 }, - { 30516, 38804 }, - { 30517, 38831 }, - { 30518, 38827 }, - { 30519, 38819 }, - { 30520, 38834 }, - { 30521, 38836 }, - { 30522, 39601 }, - { 30523, 39600 }, - { 30524, 39607 }, - { 30525, 40536 }, - { 30526, 39606 }, - { 30527, 39610 }, - { 30528, 39612 }, - { 30529, 39617 }, - { 30530, 39616 }, - { 30531, 39621 }, - { 30532, 39618 }, - { 30533, 39627 }, - { 30534, 39628 }, - { 30535, 39633 }, - { 30536, 39749 }, - { 30537, 39747 }, - { 30538, 39751 }, - { 30539, 39753 }, - { 30540, 39752 }, - { 30541, 39757 }, - { 30542, 39761 }, - { 30543, 39144 }, - { 30544, 39181 }, - { 30545, 39214 }, - { 30546, 39253 }, - { 30547, 39252 }, - { 30548, 39647 }, - { 30549, 39649 }, - { 30550, 39654 }, - { 30551, 39663 }, - { 30552, 39659 }, - { 30553, 39675 }, - { 30554, 39661 }, - { 30555, 39673 }, - { 30556, 39688 }, - { 30557, 39695 }, - { 30558, 39699 }, - { 30559, 39711 }, - { 30560, 39715 }, - { 30561, 40637 }, - { 30562, 40638 }, - { 30563, 32315 }, - { 30564, 40578 }, - { 30565, 40583 }, - { 30566, 40584 }, - { 30567, 40587 }, - { 30568, 40594 }, - { 30569, 37846 }, - { 30570, 40605 }, - { 30571, 40607 }, - { 30572, 40667 }, - { 30573, 40668 }, - { 30574, 40669 }, - { 30575, 40672 }, - { 30576, 40671 }, - { 30577, 40674 }, - { 30578, 40681 }, - { 30579, 40679 }, - { 30580, 40677 }, - { 30581, 40682 }, - { 30582, 40687 }, - { 30583, 40738 }, - { 30584, 40748 }, - { 30585, 40751 }, - { 30586, 40761 }, - { 30587, 40759 }, - { 30588, 40765 }, - { 30589, 40766 }, - { 30590, 40772 }, + { 8481, 12288 }, + { 8482, 12289 }, + { 8483, 12290 }, + { 8484, 12539 }, + { 8485, 713 }, + { 8486, 711 }, + { 8487, 168 }, + { 8488, 12291 }, + { 8489, 12293 }, + { 8490, 8213 }, + { 8491, 65374 }, + { 8492, 8741 }, + { 8493, 8230 }, + { 8494, 8216 }, + { 8495, 8217 }, + { 8496, 8220 }, + { 8497, 8221 }, + { 8498, 12308 }, + { 8499, 12309 }, + { 8500, 12296 }, + { 8501, 12297 }, + { 8502, 12298 }, + { 8503, 12299 }, + { 8504, 12300 }, + { 8505, 12301 }, + { 8506, 12302 }, + { 8507, 12303 }, + { 8508, 12310 }, + { 8509, 12311 }, + { 8510, 12304 }, + { 8511, 12305 }, + { 8512, 177 }, + { 8513, 215 }, + { 8514, 247 }, + { 8515, 8758 }, + { 8516, 8743 }, + { 8517, 8744 }, + { 8518, 8721 }, + { 8519, 8719 }, + { 8520, 8746 }, + { 8521, 8745 }, + { 8522, 8712 }, + { 8523, 8759 }, + { 8524, 8730 }, + { 8525, 8869 }, + { 8526, 8741 }, + { 8527, 8736 }, + { 8528, 8978 }, + { 8529, 8857 }, + { 8530, 8747 }, + { 8531, 8750 }, + { 8532, 8801 }, + { 8533, 8780 }, + { 8534, 8776 }, + { 8535, 8765 }, + { 8536, 8733 }, + { 8537, 8800 }, + { 8538, 8814 }, + { 8539, 8815 }, + { 8540, 8804 }, + { 8541, 8805 }, + { 8542, 8734 }, + { 8543, 8757 }, + { 8544, 8756 }, + { 8545, 9794 }, + { 8546, 9792 }, + { 8547, 176 }, + { 8548, 8242 }, + { 8549, 8243 }, + { 8550, 8451 }, + { 8551, 65284 }, + { 8552, 164 }, + { 8553, 65504 }, + { 8554, 65505 }, + { 8555, 8240 }, + { 8556, 167 }, + { 8557, 8470 }, + { 8558, 9734 }, + { 8559, 9733 }, + { 8560, 9675 }, + { 8561, 9679 }, + { 8562, 9678 }, + { 8563, 9671 }, + { 8564, 9670 }, + { 8565, 9633 }, + { 8566, 9632 }, + { 8567, 9651 }, + { 8568, 9650 }, + { 8569, 8251 }, + { 8570, 8594 }, + { 8571, 8592 }, + { 8572, 8593 }, + { 8573, 8595 }, + { 8574, 12307 }, + { 8753, 9352 }, + { 8754, 9353 }, + { 8755, 9354 }, + { 8756, 9355 }, + { 8757, 9356 }, + { 8758, 9357 }, + { 8759, 9358 }, + { 8760, 9359 }, + { 8761, 9360 }, + { 8762, 9361 }, + { 8763, 9362 }, + { 8764, 9363 }, + { 8765, 9364 }, + { 8766, 9365 }, + { 8767, 9366 }, + { 8768, 9367 }, + { 8769, 9368 }, + { 8770, 9369 }, + { 8771, 9370 }, + { 8772, 9371 }, + { 8773, 9332 }, + { 8774, 9333 }, + { 8775, 9334 }, + { 8776, 9335 }, + { 8777, 9336 }, + { 8778, 9337 }, + { 8779, 9338 }, + { 8780, 9339 }, + { 8781, 9340 }, + { 8782, 9341 }, + { 8783, 9342 }, + { 8784, 9343 }, + { 8785, 9344 }, + { 8786, 9345 }, + { 8787, 9346 }, + { 8788, 9347 }, + { 8789, 9348 }, + { 8790, 9349 }, + { 8791, 9350 }, + { 8792, 9351 }, + { 8793, 9312 }, + { 8794, 9313 }, + { 8795, 9314 }, + { 8796, 9315 }, + { 8797, 9316 }, + { 8798, 9317 }, + { 8799, 9318 }, + { 8800, 9319 }, + { 8801, 9320 }, + { 8802, 9321 }, + { 8805, 12832 }, + { 8806, 12833 }, + { 8807, 12834 }, + { 8808, 12835 }, + { 8809, 12836 }, + { 8810, 12837 }, + { 8811, 12838 }, + { 8812, 12839 }, + { 8813, 12840 }, + { 8814, 12841 }, + { 8817, 8544 }, + { 8818, 8545 }, + { 8819, 8546 }, + { 8820, 8547 }, + { 8821, 8548 }, + { 8822, 8549 }, + { 8823, 8550 }, + { 8824, 8551 }, + { 8825, 8552 }, + { 8826, 8553 }, + { 8827, 8554 }, + { 8828, 8555 }, + { 8993, 65281 }, + { 8994, 65282 }, + { 8995, 65283 }, + { 8996, 65509 }, + { 8997, 65285 }, + { 8998, 65286 }, + { 8999, 65287 }, + { 9000, 65288 }, + { 9001, 65289 }, + { 9002, 65290 }, + { 9003, 65291 }, + { 9004, 65292 }, + { 9005, 65293 }, + { 9006, 65294 }, + { 9007, 65295 }, + { 9008, 65296 }, + { 9009, 65297 }, + { 9010, 65298 }, + { 9011, 65299 }, + { 9012, 65300 }, + { 9013, 65301 }, + { 9014, 65302 }, + { 9015, 65303 }, + { 9016, 65304 }, + { 9017, 65305 }, + { 9018, 65306 }, + { 9019, 65307 }, + { 9020, 65308 }, + { 9021, 65309 }, + { 9022, 65310 }, + { 9023, 65311 }, + { 9024, 65312 }, + { 9025, 65313 }, + { 9026, 65314 }, + { 9027, 65315 }, + { 9028, 65316 }, + { 9029, 65317 }, + { 9030, 65318 }, + { 9031, 65319 }, + { 9032, 65320 }, + { 9033, 65321 }, + { 9034, 65322 }, + { 9035, 65323 }, + { 9036, 65324 }, + { 9037, 65325 }, + { 9038, 65326 }, + { 9039, 65327 }, + { 9040, 65328 }, + { 9041, 65329 }, + { 9042, 65330 }, + { 9043, 65331 }, + { 9044, 65332 }, + { 9045, 65333 }, + { 9046, 65334 }, + { 9047, 65335 }, + { 9048, 65336 }, + { 9049, 65337 }, + { 9050, 65338 }, + { 9051, 65339 }, + { 9052, 65340 }, + { 9053, 65341 }, + { 9054, 65342 }, + { 9055, 65343 }, + { 9056, 65344 }, + { 9057, 65345 }, + { 9058, 65346 }, + { 9059, 65347 }, + { 9060, 65348 }, + { 9061, 65349 }, + { 9062, 65350 }, + { 9063, 65351 }, + { 9064, 65352 }, + { 9065, 65353 }, + { 9066, 65354 }, + { 9067, 65355 }, + { 9068, 65356 }, + { 9069, 65357 }, + { 9070, 65358 }, + { 9071, 65359 }, + { 9072, 65360 }, + { 9073, 65361 }, + { 9074, 65362 }, + { 9075, 65363 }, + { 9076, 65364 }, + { 9077, 65365 }, + { 9078, 65366 }, + { 9079, 65367 }, + { 9080, 65368 }, + { 9081, 65369 }, + { 9082, 65370 }, + { 9083, 65371 }, + { 9084, 65372 }, + { 9085, 65373 }, + { 9086, 65507 }, + { 9249, 12353 }, + { 9250, 12354 }, + { 9251, 12355 }, + { 9252, 12356 }, + { 9253, 12357 }, + { 9254, 12358 }, + { 9255, 12359 }, + { 9256, 12360 }, + { 9257, 12361 }, + { 9258, 12362 }, + { 9259, 12363 }, + { 9260, 12364 }, + { 9261, 12365 }, + { 9262, 12366 }, + { 9263, 12367 }, + { 9264, 12368 }, + { 9265, 12369 }, + { 9266, 12370 }, + { 9267, 12371 }, + { 9268, 12372 }, + { 9269, 12373 }, + { 9270, 12374 }, + { 9271, 12375 }, + { 9272, 12376 }, + { 9273, 12377 }, + { 9274, 12378 }, + { 9275, 12379 }, + { 9276, 12380 }, + { 9277, 12381 }, + { 9278, 12382 }, + { 9279, 12383 }, + { 9280, 12384 }, + { 9281, 12385 }, + { 9282, 12386 }, + { 9283, 12387 }, + { 9284, 12388 }, + { 9285, 12389 }, + { 9286, 12390 }, + { 9287, 12391 }, + { 9288, 12392 }, + { 9289, 12393 }, + { 9290, 12394 }, + { 9291, 12395 }, + { 9292, 12396 }, + { 9293, 12397 }, + { 9294, 12398 }, + { 9295, 12399 }, + { 9296, 12400 }, + { 9297, 12401 }, + { 9298, 12402 }, + { 9299, 12403 }, + { 9300, 12404 }, + { 9301, 12405 }, + { 9302, 12406 }, + { 9303, 12407 }, + { 9304, 12408 }, + { 9305, 12409 }, + { 9306, 12410 }, + { 9307, 12411 }, + { 9308, 12412 }, + { 9309, 12413 }, + { 9310, 12414 }, + { 9311, 12415 }, + { 9312, 12416 }, + { 9313, 12417 }, + { 9314, 12418 }, + { 9315, 12419 }, + { 9316, 12420 }, + { 9317, 12421 }, + { 9318, 12422 }, + { 9319, 12423 }, + { 9320, 12424 }, + { 9321, 12425 }, + { 9322, 12426 }, + { 9323, 12427 }, + { 9324, 12428 }, + { 9325, 12429 }, + { 9326, 12430 }, + { 9327, 12431 }, + { 9328, 12432 }, + { 9329, 12433 }, + { 9330, 12434 }, + { 9331, 12435 }, + { 9505, 12449 }, + { 9506, 12450 }, + { 9507, 12451 }, + { 9508, 12452 }, + { 9509, 12453 }, + { 9510, 12454 }, + { 9511, 12455 }, + { 9512, 12456 }, + { 9513, 12457 }, + { 9514, 12458 }, + { 9515, 12459 }, + { 9516, 12460 }, + { 9517, 12461 }, + { 9518, 12462 }, + { 9519, 12463 }, + { 9520, 12464 }, + { 9521, 12465 }, + { 9522, 12466 }, + { 9523, 12467 }, + { 9524, 12468 }, + { 9525, 12469 }, + { 9526, 12470 }, + { 9527, 12471 }, + { 9528, 12472 }, + { 9529, 12473 }, + { 9530, 12474 }, + { 9531, 12475 }, + { 9532, 12476 }, + { 9533, 12477 }, + { 9534, 12478 }, + { 9535, 12479 }, + { 9536, 12480 }, + { 9537, 12481 }, + { 9538, 12482 }, + { 9539, 12483 }, + { 9540, 12484 }, + { 9541, 12485 }, + { 9542, 12486 }, + { 9543, 12487 }, + { 9544, 12488 }, + { 9545, 12489 }, + { 9546, 12490 }, + { 9547, 12491 }, + { 9548, 12492 }, + { 9549, 12493 }, + { 9550, 12494 }, + { 9551, 12495 }, + { 9552, 12496 }, + { 9553, 12497 }, + { 9554, 12498 }, + { 9555, 12499 }, + { 9556, 12500 }, + { 9557, 12501 }, + { 9558, 12502 }, + { 9559, 12503 }, + { 9560, 12504 }, + { 9561, 12505 }, + { 9562, 12506 }, + { 9563, 12507 }, + { 9564, 12508 }, + { 9565, 12509 }, + { 9566, 12510 }, + { 9567, 12511 }, + { 9568, 12512 }, + { 9569, 12513 }, + { 9570, 12514 }, + { 9571, 12515 }, + { 9572, 12516 }, + { 9573, 12517 }, + { 9574, 12518 }, + { 9575, 12519 }, + { 9576, 12520 }, + { 9577, 12521 }, + { 9578, 12522 }, + { 9579, 12523 }, + { 9580, 12524 }, + { 9581, 12525 }, + { 9582, 12526 }, + { 9583, 12527 }, + { 9584, 12528 }, + { 9585, 12529 }, + { 9586, 12530 }, + { 9587, 12531 }, + { 9588, 12532 }, + { 9589, 12533 }, + { 9590, 12534 }, + { 9761, 913 }, + { 9762, 914 }, + { 9763, 915 }, + { 9764, 916 }, + { 9765, 917 }, + { 9766, 918 }, + { 9767, 919 }, + { 9768, 920 }, + { 9769, 921 }, + { 9770, 922 }, + { 9771, 923 }, + { 9772, 924 }, + { 9773, 925 }, + { 9774, 926 }, + { 9775, 927 }, + { 9776, 928 }, + { 9777, 929 }, + { 9778, 931 }, + { 9779, 932 }, + { 9780, 933 }, + { 9781, 934 }, + { 9782, 935 }, + { 9783, 936 }, + { 9784, 937 }, + { 9793, 945 }, + { 9794, 946 }, + { 9795, 947 }, + { 9796, 948 }, + { 9797, 949 }, + { 9798, 950 }, + { 9799, 951 }, + { 9800, 952 }, + { 9801, 953 }, + { 9802, 954 }, + { 9803, 955 }, + { 9804, 956 }, + { 9805, 957 }, + { 9806, 958 }, + { 9807, 959 }, + { 9808, 960 }, + { 9809, 961 }, + { 9810, 963 }, + { 9811, 964 }, + { 9812, 965 }, + { 9813, 966 }, + { 9814, 967 }, + { 9815, 968 }, + { 9816, 969 }, + { 10017, 1040 }, + { 10018, 1041 }, + { 10019, 1042 }, + { 10020, 1043 }, + { 10021, 1044 }, + { 10022, 1045 }, + { 10023, 1025 }, + { 10024, 1046 }, + { 10025, 1047 }, + { 10026, 1048 }, + { 10027, 1049 }, + { 10028, 1050 }, + { 10029, 1051 }, + { 10030, 1052 }, + { 10031, 1053 }, + { 10032, 1054 }, + { 10033, 1055 }, + { 10034, 1056 }, + { 10035, 1057 }, + { 10036, 1058 }, + { 10037, 1059 }, + { 10038, 1060 }, + { 10039, 1061 }, + { 10040, 1062 }, + { 10041, 1063 }, + { 10042, 1064 }, + { 10043, 1065 }, + { 10044, 1066 }, + { 10045, 1067 }, + { 10046, 1068 }, + { 10047, 1069 }, + { 10048, 1070 }, + { 10049, 1071 }, + { 10065, 1072 }, + { 10066, 1073 }, + { 10067, 1074 }, + { 10068, 1075 }, + { 10069, 1076 }, + { 10070, 1077 }, + { 10071, 1105 }, + { 10072, 1078 }, + { 10073, 1079 }, + { 10074, 1080 }, + { 10075, 1081 }, + { 10076, 1082 }, + { 10077, 1083 }, + { 10078, 1084 }, + { 10079, 1085 }, + { 10080, 1086 }, + { 10081, 1087 }, + { 10082, 1088 }, + { 10083, 1089 }, + { 10084, 1090 }, + { 10085, 1091 }, + { 10086, 1092 }, + { 10087, 1093 }, + { 10088, 1094 }, + { 10089, 1095 }, + { 10090, 1096 }, + { 10091, 1097 }, + { 10092, 1098 }, + { 10093, 1099 }, + { 10094, 1100 }, + { 10095, 1101 }, + { 10096, 1102 }, + { 10097, 1103 }, + { 10273, 257 }, + { 10274, 225 }, + { 10275, 462 }, + { 10276, 224 }, + { 10277, 275 }, + { 10278, 233 }, + { 10279, 283 }, + { 10280, 232 }, + { 10281, 299 }, + { 10282, 237 }, + { 10283, 464 }, + { 10284, 236 }, + { 10285, 333 }, + { 10286, 243 }, + { 10287, 466 }, + { 10288, 242 }, + { 10289, 363 }, + { 10290, 250 }, + { 10291, 468 }, + { 10292, 249 }, + { 10293, 470 }, + { 10294, 472 }, + { 10295, 474 }, + { 10296, 476 }, + { 10297, 252 }, + { 10298, 234 }, + { 10309, 12549 }, + { 10310, 12550 }, + { 10311, 12551 }, + { 10312, 12552 }, + { 10313, 12553 }, + { 10314, 12554 }, + { 10315, 12555 }, + { 10316, 12556 }, + { 10317, 12557 }, + { 10318, 12558 }, + { 10319, 12559 }, + { 10320, 12560 }, + { 10321, 12561 }, + { 10322, 12562 }, + { 10323, 12563 }, + { 10324, 12564 }, + { 10325, 12565 }, + { 10326, 12566 }, + { 10327, 12567 }, + { 10328, 12568 }, + { 10329, 12569 }, + { 10330, 12570 }, + { 10331, 12571 }, + { 10332, 12572 }, + { 10333, 12573 }, + { 10334, 12574 }, + { 10335, 12575 }, + { 10336, 12576 }, + { 10337, 12577 }, + { 10338, 12578 }, + { 10339, 12579 }, + { 10340, 12580 }, + { 10341, 12581 }, + { 10342, 12582 }, + { 10343, 12583 }, + { 10344, 12584 }, + { 10345, 12585 }, + { 10532, 9472 }, + { 10533, 9473 }, + { 10534, 9474 }, + { 10535, 9475 }, + { 10536, 9476 }, + { 10537, 9477 }, + { 10538, 9478 }, + { 10539, 9479 }, + { 10540, 9480 }, + { 10541, 9481 }, + { 10542, 9482 }, + { 10543, 9483 }, + { 10544, 9484 }, + { 10545, 9485 }, + { 10546, 9486 }, + { 10547, 9487 }, + { 10548, 9488 }, + { 10549, 9489 }, + { 10550, 9490 }, + { 10551, 9491 }, + { 10552, 9492 }, + { 10553, 9493 }, + { 10554, 9494 }, + { 10555, 9495 }, + { 10556, 9496 }, + { 10557, 9497 }, + { 10558, 9498 }, + { 10559, 9499 }, + { 10560, 9500 }, + { 10561, 9501 }, + { 10562, 9502 }, + { 10563, 9503 }, + { 10564, 9504 }, + { 10565, 9505 }, + { 10566, 9506 }, + { 10567, 9507 }, + { 10568, 9508 }, + { 10569, 9509 }, + { 10570, 9510 }, + { 10571, 9511 }, + { 10572, 9512 }, + { 10573, 9513 }, + { 10574, 9514 }, + { 10575, 9515 }, + { 10576, 9516 }, + { 10577, 9517 }, + { 10578, 9518 }, + { 10579, 9519 }, + { 10580, 9520 }, + { 10581, 9521 }, + { 10582, 9522 }, + { 10583, 9523 }, + { 10584, 9524 }, + { 10585, 9525 }, + { 10586, 9526 }, + { 10587, 9527 }, + { 10588, 9528 }, + { 10589, 9529 }, + { 10590, 9530 }, + { 10591, 9531 }, + { 10592, 9532 }, + { 10593, 9533 }, + { 10594, 9534 }, + { 10595, 9535 }, + { 10596, 9536 }, + { 10597, 9537 }, + { 10598, 9538 }, + { 10599, 9539 }, + { 10600, 9540 }, + { 10601, 9541 }, + { 10602, 9542 }, + { 10603, 9543 }, + { 10604, 9544 }, + { 10605, 9545 }, + { 10606, 9546 }, + { 10607, 9547 }, + { 12321, 21834 }, + { 12322, 38463 }, + { 12323, 22467 }, + { 12324, 25384 }, + { 12325, 21710 }, + { 12326, 21769 }, + { 12327, 21696 }, + { 12328, 30353 }, + { 12329, 30284 }, + { 12330, 34108 }, + { 12331, 30702 }, + { 12332, 33406 }, + { 12333, 30861 }, + { 12334, 29233 }, + { 12335, 38552 }, + { 12336, 38797 }, + { 12337, 27688 }, + { 12338, 23433 }, + { 12339, 20474 }, + { 12340, 25353 }, + { 12341, 26263 }, + { 12342, 23736 }, + { 12343, 33018 }, + { 12344, 26696 }, + { 12345, 32942 }, + { 12346, 26114 }, + { 12347, 30414 }, + { 12348, 20985 }, + { 12349, 25942 }, + { 12350, 29100 }, + { 12351, 32753 }, + { 12352, 34948 }, + { 12353, 20658 }, + { 12354, 22885 }, + { 12355, 25034 }, + { 12356, 28595 }, + { 12357, 33453 }, + { 12358, 25420 }, + { 12359, 25170 }, + { 12360, 21485 }, + { 12361, 21543 }, + { 12362, 31494 }, + { 12363, 20843 }, + { 12364, 30116 }, + { 12365, 24052 }, + { 12366, 25300 }, + { 12367, 36299 }, + { 12368, 38774 }, + { 12369, 25226 }, + { 12370, 32793 }, + { 12371, 22365 }, + { 12372, 38712 }, + { 12373, 32610 }, + { 12374, 29240 }, + { 12375, 30333 }, + { 12376, 26575 }, + { 12377, 30334 }, + { 12378, 25670 }, + { 12379, 20336 }, + { 12380, 36133 }, + { 12381, 25308 }, + { 12382, 31255 }, + { 12383, 26001 }, + { 12384, 29677 }, + { 12385, 25644 }, + { 12386, 25203 }, + { 12387, 33324 }, + { 12388, 39041 }, + { 12389, 26495 }, + { 12390, 29256 }, + { 12391, 25198 }, + { 12392, 25292 }, + { 12393, 20276 }, + { 12394, 29923 }, + { 12395, 21322 }, + { 12396, 21150 }, + { 12397, 32458 }, + { 12398, 37030 }, + { 12399, 24110 }, + { 12400, 26758 }, + { 12401, 27036 }, + { 12402, 33152 }, + { 12403, 32465 }, + { 12404, 26834 }, + { 12405, 30917 }, + { 12406, 34444 }, + { 12407, 38225 }, + { 12408, 20621 }, + { 12409, 35876 }, + { 12410, 33502 }, + { 12411, 32990 }, + { 12412, 21253 }, + { 12413, 35090 }, + { 12414, 21093 }, + { 12577, 34180 }, + { 12578, 38649 }, + { 12579, 20445 }, + { 12580, 22561 }, + { 12581, 39281 }, + { 12582, 23453 }, + { 12583, 25265 }, + { 12584, 25253 }, + { 12585, 26292 }, + { 12586, 35961 }, + { 12587, 40077 }, + { 12588, 29190 }, + { 12589, 26479 }, + { 12590, 30865 }, + { 12591, 24754 }, + { 12592, 21329 }, + { 12593, 21271 }, + { 12594, 36744 }, + { 12595, 32972 }, + { 12596, 36125 }, + { 12597, 38049 }, + { 12598, 20493 }, + { 12599, 29384 }, + { 12600, 22791 }, + { 12601, 24811 }, + { 12602, 28953 }, + { 12603, 34987 }, + { 12604, 22868 }, + { 12605, 33519 }, + { 12606, 26412 }, + { 12607, 31528 }, + { 12608, 23849 }, + { 12609, 32503 }, + { 12610, 29997 }, + { 12611, 27893 }, + { 12612, 36454 }, + { 12613, 36856 }, + { 12614, 36924 }, + { 12615, 40763 }, + { 12616, 27604 }, + { 12617, 37145 }, + { 12618, 31508 }, + { 12619, 24444 }, + { 12620, 30887 }, + { 12621, 34006 }, + { 12622, 34109 }, + { 12623, 27605 }, + { 12624, 27609 }, + { 12625, 27606 }, + { 12626, 24065 }, + { 12627, 24199 }, + { 12628, 30201 }, + { 12629, 38381 }, + { 12630, 25949 }, + { 12631, 24330 }, + { 12632, 24517 }, + { 12633, 36767 }, + { 12634, 22721 }, + { 12635, 33218 }, + { 12636, 36991 }, + { 12637, 38491 }, + { 12638, 38829 }, + { 12639, 36793 }, + { 12640, 32534 }, + { 12641, 36140 }, + { 12642, 25153 }, + { 12643, 20415 }, + { 12644, 21464 }, + { 12645, 21342 }, + { 12646, 36776 }, + { 12647, 36777 }, + { 12648, 36779 }, + { 12649, 36941 }, + { 12650, 26631 }, + { 12651, 24426 }, + { 12652, 33176 }, + { 12653, 34920 }, + { 12654, 40150 }, + { 12655, 24971 }, + { 12656, 21035 }, + { 12657, 30250 }, + { 12658, 24428 }, + { 12659, 25996 }, + { 12660, 28626 }, + { 12661, 28392 }, + { 12662, 23486 }, + { 12663, 25672 }, + { 12664, 20853 }, + { 12665, 20912 }, + { 12666, 26564 }, + { 12667, 19993 }, + { 12668, 31177 }, + { 12669, 39292 }, + { 12670, 28851 }, + { 12833, 30149 }, + { 12834, 24182 }, + { 12835, 29627 }, + { 12836, 33760 }, + { 12837, 25773 }, + { 12838, 25320 }, + { 12839, 38069 }, + { 12840, 27874 }, + { 12841, 21338 }, + { 12842, 21187 }, + { 12843, 25615 }, + { 12844, 38082 }, + { 12845, 31636 }, + { 12846, 20271 }, + { 12847, 24091 }, + { 12848, 33334 }, + { 12849, 33046 }, + { 12850, 33162 }, + { 12851, 28196 }, + { 12852, 27850 }, + { 12853, 39539 }, + { 12854, 25429 }, + { 12855, 21340 }, + { 12856, 21754 }, + { 12857, 34917 }, + { 12858, 22496 }, + { 12859, 19981 }, + { 12860, 24067 }, + { 12861, 27493 }, + { 12862, 31807 }, + { 12863, 37096 }, + { 12864, 24598 }, + { 12865, 25830 }, + { 12866, 29468 }, + { 12867, 35009 }, + { 12868, 26448 }, + { 12869, 25165 }, + { 12870, 36130 }, + { 12871, 30572 }, + { 12872, 36393 }, + { 12873, 37319 }, + { 12874, 24425 }, + { 12875, 33756 }, + { 12876, 34081 }, + { 12877, 39184 }, + { 12878, 21442 }, + { 12879, 34453 }, + { 12880, 27531 }, + { 12881, 24813 }, + { 12882, 24808 }, + { 12883, 28799 }, + { 12884, 33485 }, + { 12885, 33329 }, + { 12886, 20179 }, + { 12887, 27815 }, + { 12888, 34255 }, + { 12889, 25805 }, + { 12890, 31961 }, + { 12891, 27133 }, + { 12892, 26361 }, + { 12893, 33609 }, + { 12894, 21397 }, + { 12895, 31574 }, + { 12896, 20391 }, + { 12897, 20876 }, + { 12898, 27979 }, + { 12899, 23618 }, + { 12900, 36461 }, + { 12901, 25554 }, + { 12902, 21449 }, + { 12903, 33580 }, + { 12904, 33590 }, + { 12905, 26597 }, + { 12906, 30900 }, + { 12907, 25661 }, + { 12908, 23519 }, + { 12909, 23700 }, + { 12910, 24046 }, + { 12911, 35815 }, + { 12912, 25286 }, + { 12913, 26612 }, + { 12914, 35962 }, + { 12915, 25600 }, + { 12916, 25530 }, + { 12917, 34633 }, + { 12918, 39307 }, + { 12919, 35863 }, + { 12920, 32544 }, + { 12921, 38130 }, + { 12922, 20135 }, + { 12923, 38416 }, + { 12924, 39076 }, + { 12925, 26124 }, + { 12926, 29462 }, + { 13089, 22330 }, + { 13090, 23581 }, + { 13091, 24120 }, + { 13092, 38271 }, + { 13093, 20607 }, + { 13094, 32928 }, + { 13095, 21378 }, + { 13096, 25950 }, + { 13097, 30021 }, + { 13098, 21809 }, + { 13099, 20513 }, + { 13100, 36229 }, + { 13101, 25220 }, + { 13102, 38046 }, + { 13103, 26397 }, + { 13104, 22066 }, + { 13105, 28526 }, + { 13106, 24034 }, + { 13107, 21557 }, + { 13108, 28818 }, + { 13109, 36710 }, + { 13110, 25199 }, + { 13111, 25764 }, + { 13112, 25507 }, + { 13113, 24443 }, + { 13114, 28552 }, + { 13115, 37108 }, + { 13116, 33251 }, + { 13117, 36784 }, + { 13118, 23576 }, + { 13119, 26216 }, + { 13120, 24561 }, + { 13121, 27785 }, + { 13122, 38472 }, + { 13123, 36225 }, + { 13124, 34924 }, + { 13125, 25745 }, + { 13126, 31216 }, + { 13127, 22478 }, + { 13128, 27225 }, + { 13129, 25104 }, + { 13130, 21576 }, + { 13131, 20056 }, + { 13132, 31243 }, + { 13133, 24809 }, + { 13134, 28548 }, + { 13135, 35802 }, + { 13136, 25215 }, + { 13137, 36894 }, + { 13138, 39563 }, + { 13139, 31204 }, + { 13140, 21507 }, + { 13141, 30196 }, + { 13142, 25345 }, + { 13143, 21273 }, + { 13144, 27744 }, + { 13145, 36831 }, + { 13146, 24347 }, + { 13147, 39536 }, + { 13148, 32827 }, + { 13149, 40831 }, + { 13150, 20360 }, + { 13151, 23610 }, + { 13152, 36196 }, + { 13153, 32709 }, + { 13154, 26021 }, + { 13155, 28861 }, + { 13156, 20805 }, + { 13157, 20914 }, + { 13158, 34411 }, + { 13159, 23815 }, + { 13160, 23456 }, + { 13161, 25277 }, + { 13162, 37228 }, + { 13163, 30068 }, + { 13164, 36364 }, + { 13165, 31264 }, + { 13166, 24833 }, + { 13167, 31609 }, + { 13168, 20167 }, + { 13169, 32504 }, + { 13170, 30597 }, + { 13171, 19985 }, + { 13172, 33261 }, + { 13173, 21021 }, + { 13174, 20986 }, + { 13175, 27249 }, + { 13176, 21416 }, + { 13177, 36487 }, + { 13178, 38148 }, + { 13179, 38607 }, + { 13180, 28353 }, + { 13181, 38500 }, + { 13182, 26970 }, + { 13345, 30784 }, + { 13346, 20648 }, + { 13347, 30679 }, + { 13348, 25616 }, + { 13349, 35302 }, + { 13350, 22788 }, + { 13351, 25571 }, + { 13352, 24029 }, + { 13353, 31359 }, + { 13354, 26941 }, + { 13355, 20256 }, + { 13356, 33337 }, + { 13357, 21912 }, + { 13358, 20018 }, + { 13359, 30126 }, + { 13360, 31383 }, + { 13361, 24162 }, + { 13362, 24202 }, + { 13363, 38383 }, + { 13364, 21019 }, + { 13365, 21561 }, + { 13366, 28810 }, + { 13367, 25462 }, + { 13368, 38180 }, + { 13369, 22402 }, + { 13370, 26149 }, + { 13371, 26943 }, + { 13372, 37255 }, + { 13373, 21767 }, + { 13374, 28147 }, + { 13375, 32431 }, + { 13376, 34850 }, + { 13377, 25139 }, + { 13378, 32496 }, + { 13379, 30133 }, + { 13380, 33576 }, + { 13381, 30913 }, + { 13382, 38604 }, + { 13383, 36766 }, + { 13384, 24904 }, + { 13385, 29943 }, + { 13386, 35789 }, + { 13387, 27492 }, + { 13388, 21050 }, + { 13389, 36176 }, + { 13390, 27425 }, + { 13391, 32874 }, + { 13392, 33905 }, + { 13393, 22257 }, + { 13394, 21254 }, + { 13395, 20174 }, + { 13396, 19995 }, + { 13397, 20945 }, + { 13398, 31895 }, + { 13399, 37259 }, + { 13400, 31751 }, + { 13401, 20419 }, + { 13402, 36479 }, + { 13403, 31713 }, + { 13404, 31388 }, + { 13405, 25703 }, + { 13406, 23828 }, + { 13407, 20652 }, + { 13408, 33030 }, + { 13409, 30209 }, + { 13410, 31929 }, + { 13411, 28140 }, + { 13412, 32736 }, + { 13413, 26449 }, + { 13414, 23384 }, + { 13415, 23544 }, + { 13416, 30923 }, + { 13417, 25774 }, + { 13418, 25619 }, + { 13419, 25514 }, + { 13420, 25387 }, + { 13421, 38169 }, + { 13422, 25645 }, + { 13423, 36798 }, + { 13424, 31572 }, + { 13425, 30249 }, + { 13426, 25171 }, + { 13427, 22823 }, + { 13428, 21574 }, + { 13429, 27513 }, + { 13430, 20643 }, + { 13431, 25140 }, + { 13432, 24102 }, + { 13433, 27526 }, + { 13434, 20195 }, + { 13435, 36151 }, + { 13436, 34955 }, + { 13437, 24453 }, + { 13438, 36910 }, + { 13601, 24608 }, + { 13602, 32829 }, + { 13603, 25285 }, + { 13604, 20025 }, + { 13605, 21333 }, + { 13606, 37112 }, + { 13607, 25528 }, + { 13608, 32966 }, + { 13609, 26086 }, + { 13610, 27694 }, + { 13611, 20294 }, + { 13612, 24814 }, + { 13613, 28129 }, + { 13614, 35806 }, + { 13615, 24377 }, + { 13616, 34507 }, + { 13617, 24403 }, + { 13618, 25377 }, + { 13619, 20826 }, + { 13620, 33633 }, + { 13621, 26723 }, + { 13622, 20992 }, + { 13623, 25443 }, + { 13624, 36424 }, + { 13625, 20498 }, + { 13626, 23707 }, + { 13627, 31095 }, + { 13628, 23548 }, + { 13629, 21040 }, + { 13630, 31291 }, + { 13631, 24764 }, + { 13632, 36947 }, + { 13633, 30423 }, + { 13634, 24503 }, + { 13635, 24471 }, + { 13636, 30340 }, + { 13637, 36460 }, + { 13638, 28783 }, + { 13639, 30331 }, + { 13640, 31561 }, + { 13641, 30634 }, + { 13642, 20979 }, + { 13643, 37011 }, + { 13644, 22564 }, + { 13645, 20302 }, + { 13646, 28404 }, + { 13647, 36842 }, + { 13648, 25932 }, + { 13649, 31515 }, + { 13650, 29380 }, + { 13651, 28068 }, + { 13652, 32735 }, + { 13653, 23265 }, + { 13654, 25269 }, + { 13655, 24213 }, + { 13656, 22320 }, + { 13657, 33922 }, + { 13658, 31532 }, + { 13659, 24093 }, + { 13660, 24351 }, + { 13661, 36882 }, + { 13662, 32532 }, + { 13663, 39072 }, + { 13664, 25474 }, + { 13665, 28359 }, + { 13666, 30872 }, + { 13667, 28857 }, + { 13668, 20856 }, + { 13669, 38747 }, + { 13670, 22443 }, + { 13671, 30005 }, + { 13672, 20291 }, + { 13673, 30008 }, + { 13674, 24215 }, + { 13675, 24806 }, + { 13676, 22880 }, + { 13677, 28096 }, + { 13678, 27583 }, + { 13679, 30857 }, + { 13680, 21500 }, + { 13681, 38613 }, + { 13682, 20939 }, + { 13683, 20993 }, + { 13684, 25481 }, + { 13685, 21514 }, + { 13686, 38035 }, + { 13687, 35843 }, + { 13688, 36300 }, + { 13689, 29241 }, + { 13690, 30879 }, + { 13691, 34678 }, + { 13692, 36845 }, + { 13693, 35853 }, + { 13694, 21472 }, + { 13857, 19969 }, + { 13858, 30447 }, + { 13859, 21486 }, + { 13860, 38025 }, + { 13861, 39030 }, + { 13862, 40718 }, + { 13863, 38189 }, + { 13864, 23450 }, + { 13865, 35746 }, + { 13866, 20002 }, + { 13867, 19996 }, + { 13868, 20908 }, + { 13869, 33891 }, + { 13870, 25026 }, + { 13871, 21160 }, + { 13872, 26635 }, + { 13873, 20375 }, + { 13874, 24683 }, + { 13875, 20923 }, + { 13876, 27934 }, + { 13877, 20828 }, + { 13878, 25238 }, + { 13879, 26007 }, + { 13880, 38497 }, + { 13881, 35910 }, + { 13882, 36887 }, + { 13883, 30168 }, + { 13884, 37117 }, + { 13885, 30563 }, + { 13886, 27602 }, + { 13887, 29322 }, + { 13888, 29420 }, + { 13889, 35835 }, + { 13890, 22581 }, + { 13891, 30585 }, + { 13892, 36172 }, + { 13893, 26460 }, + { 13894, 38208 }, + { 13895, 32922 }, + { 13896, 24230 }, + { 13897, 28193 }, + { 13898, 22930 }, + { 13899, 31471 }, + { 13900, 30701 }, + { 13901, 38203 }, + { 13902, 27573 }, + { 13903, 26029 }, + { 13904, 32526 }, + { 13905, 22534 }, + { 13906, 20817 }, + { 13907, 38431 }, + { 13908, 23545 }, + { 13909, 22697 }, + { 13910, 21544 }, + { 13911, 36466 }, + { 13912, 25958 }, + { 13913, 39039 }, + { 13914, 22244 }, + { 13915, 38045 }, + { 13916, 30462 }, + { 13917, 36929 }, + { 13918, 25479 }, + { 13919, 21702 }, + { 13920, 22810 }, + { 13921, 22842 }, + { 13922, 22427 }, + { 13923, 36530 }, + { 13924, 26421 }, + { 13925, 36346 }, + { 13926, 33333 }, + { 13927, 21057 }, + { 13928, 24816 }, + { 13929, 22549 }, + { 13930, 34558 }, + { 13931, 23784 }, + { 13932, 40517 }, + { 13933, 20420 }, + { 13934, 39069 }, + { 13935, 35769 }, + { 13936, 23077 }, + { 13937, 24694 }, + { 13938, 21380 }, + { 13939, 25212 }, + { 13940, 36943 }, + { 13941, 37122 }, + { 13942, 39295 }, + { 13943, 24681 }, + { 13944, 32780 }, + { 13945, 20799 }, + { 13946, 32819 }, + { 13947, 23572 }, + { 13948, 39285 }, + { 13949, 27953 }, + { 13950, 20108 }, + { 14113, 36144 }, + { 14114, 21457 }, + { 14115, 32602 }, + { 14116, 31567 }, + { 14117, 20240 }, + { 14118, 20047 }, + { 14119, 38400 }, + { 14120, 27861 }, + { 14121, 29648 }, + { 14122, 34281 }, + { 14123, 24070 }, + { 14124, 30058 }, + { 14125, 32763 }, + { 14126, 27146 }, + { 14127, 30718 }, + { 14128, 38034 }, + { 14129, 32321 }, + { 14130, 20961 }, + { 14131, 28902 }, + { 14132, 21453 }, + { 14133, 36820 }, + { 14134, 33539 }, + { 14135, 36137 }, + { 14136, 29359 }, + { 14137, 39277 }, + { 14138, 27867 }, + { 14139, 22346 }, + { 14140, 33459 }, + { 14141, 26041 }, + { 14142, 32938 }, + { 14143, 25151 }, + { 14144, 38450 }, + { 14145, 22952 }, + { 14146, 20223 }, + { 14147, 35775 }, + { 14148, 32442 }, + { 14149, 25918 }, + { 14150, 33778 }, + { 14151, 38750 }, + { 14152, 21857 }, + { 14153, 39134 }, + { 14154, 32933 }, + { 14155, 21290 }, + { 14156, 35837 }, + { 14157, 21536 }, + { 14158, 32954 }, + { 14159, 24223 }, + { 14160, 27832 }, + { 14161, 36153 }, + { 14162, 33452 }, + { 14163, 37210 }, + { 14164, 21545 }, + { 14165, 27675 }, + { 14166, 20998 }, + { 14167, 32439 }, + { 14168, 22367 }, + { 14169, 28954 }, + { 14170, 27774 }, + { 14171, 31881 }, + { 14172, 22859 }, + { 14173, 20221 }, + { 14174, 24575 }, + { 14175, 24868 }, + { 14176, 31914 }, + { 14177, 20016 }, + { 14178, 23553 }, + { 14179, 26539 }, + { 14180, 34562 }, + { 14181, 23792 }, + { 14182, 38155 }, + { 14183, 39118 }, + { 14184, 30127 }, + { 14185, 28925 }, + { 14186, 36898 }, + { 14187, 20911 }, + { 14188, 32541 }, + { 14189, 35773 }, + { 14190, 22857 }, + { 14191, 20964 }, + { 14192, 20315 }, + { 14193, 21542 }, + { 14194, 22827 }, + { 14195, 25975 }, + { 14196, 32932 }, + { 14197, 23413 }, + { 14198, 25206 }, + { 14199, 25282 }, + { 14200, 36752 }, + { 14201, 24133 }, + { 14202, 27679 }, + { 14203, 31526 }, + { 14204, 20239 }, + { 14205, 20440 }, + { 14206, 26381 }, + { 14369, 28014 }, + { 14370, 28074 }, + { 14371, 31119 }, + { 14372, 34993 }, + { 14373, 24343 }, + { 14374, 29995 }, + { 14375, 25242 }, + { 14376, 36741 }, + { 14377, 20463 }, + { 14378, 37340 }, + { 14379, 26023 }, + { 14380, 33071 }, + { 14381, 33105 }, + { 14382, 24220 }, + { 14383, 33104 }, + { 14384, 36212 }, + { 14385, 21103 }, + { 14386, 35206 }, + { 14387, 36171 }, + { 14388, 22797 }, + { 14389, 20613 }, + { 14390, 20184 }, + { 14391, 38428 }, + { 14392, 29238 }, + { 14393, 33145 }, + { 14394, 36127 }, + { 14395, 23500 }, + { 14396, 35747 }, + { 14397, 38468 }, + { 14398, 22919 }, + { 14399, 32538 }, + { 14400, 21648 }, + { 14401, 22134 }, + { 14402, 22030 }, + { 14403, 35813 }, + { 14404, 25913 }, + { 14405, 27010 }, + { 14406, 38041 }, + { 14407, 30422 }, + { 14408, 28297 }, + { 14409, 24178 }, + { 14410, 29976 }, + { 14411, 26438 }, + { 14412, 26577 }, + { 14413, 31487 }, + { 14414, 32925 }, + { 14415, 36214 }, + { 14416, 24863 }, + { 14417, 31174 }, + { 14418, 25954 }, + { 14419, 36195 }, + { 14420, 20872 }, + { 14421, 21018 }, + { 14422, 38050 }, + { 14423, 32568 }, + { 14424, 32923 }, + { 14425, 32434 }, + { 14426, 23703 }, + { 14427, 28207 }, + { 14428, 26464 }, + { 14429, 31705 }, + { 14430, 30347 }, + { 14431, 39640 }, + { 14432, 33167 }, + { 14433, 32660 }, + { 14434, 31957 }, + { 14435, 25630 }, + { 14436, 38224 }, + { 14437, 31295 }, + { 14438, 21578 }, + { 14439, 21733 }, + { 14440, 27468 }, + { 14441, 25601 }, + { 14442, 25096 }, + { 14443, 40509 }, + { 14444, 33011 }, + { 14445, 30105 }, + { 14446, 21106 }, + { 14447, 38761 }, + { 14448, 33883 }, + { 14449, 26684 }, + { 14450, 34532 }, + { 14451, 38401 }, + { 14452, 38548 }, + { 14453, 38124 }, + { 14454, 20010 }, + { 14455, 21508 }, + { 14456, 32473 }, + { 14457, 26681 }, + { 14458, 36319 }, + { 14459, 32789 }, + { 14460, 26356 }, + { 14461, 24218 }, + { 14462, 32697 }, + { 14625, 22466 }, + { 14626, 32831 }, + { 14627, 26775 }, + { 14628, 24037 }, + { 14629, 25915 }, + { 14630, 21151 }, + { 14631, 24685 }, + { 14632, 40858 }, + { 14633, 20379 }, + { 14634, 36524 }, + { 14635, 20844 }, + { 14636, 23467 }, + { 14637, 24339 }, + { 14638, 24041 }, + { 14639, 27742 }, + { 14640, 25329 }, + { 14641, 36129 }, + { 14642, 20849 }, + { 14643, 38057 }, + { 14644, 21246 }, + { 14645, 27807 }, + { 14646, 33503 }, + { 14647, 29399 }, + { 14648, 22434 }, + { 14649, 26500 }, + { 14650, 36141 }, + { 14651, 22815 }, + { 14652, 36764 }, + { 14653, 33735 }, + { 14654, 21653 }, + { 14655, 31629 }, + { 14656, 20272 }, + { 14657, 27837 }, + { 14658, 23396 }, + { 14659, 22993 }, + { 14660, 40723 }, + { 14661, 21476 }, + { 14662, 34506 }, + { 14663, 39592 }, + { 14664, 35895 }, + { 14665, 32929 }, + { 14666, 25925 }, + { 14667, 39038 }, + { 14668, 22266 }, + { 14669, 38599 }, + { 14670, 21038 }, + { 14671, 29916 }, + { 14672, 21072 }, + { 14673, 23521 }, + { 14674, 25346 }, + { 14675, 35074 }, + { 14676, 20054 }, + { 14677, 25296 }, + { 14678, 24618 }, + { 14679, 26874 }, + { 14680, 20851 }, + { 14681, 23448 }, + { 14682, 20896 }, + { 14683, 35266 }, + { 14684, 31649 }, + { 14685, 39302 }, + { 14686, 32592 }, + { 14687, 24815 }, + { 14688, 28748 }, + { 14689, 36143 }, + { 14690, 20809 }, + { 14691, 24191 }, + { 14692, 36891 }, + { 14693, 29808 }, + { 14694, 35268 }, + { 14695, 22317 }, + { 14696, 30789 }, + { 14697, 24402 }, + { 14698, 40863 }, + { 14699, 38394 }, + { 14700, 36712 }, + { 14701, 39740 }, + { 14702, 35809 }, + { 14703, 30328 }, + { 14704, 26690 }, + { 14705, 26588 }, + { 14706, 36330 }, + { 14707, 36149 }, + { 14708, 21053 }, + { 14709, 36746 }, + { 14710, 28378 }, + { 14711, 26829 }, + { 14712, 38149 }, + { 14713, 37101 }, + { 14714, 22269 }, + { 14715, 26524 }, + { 14716, 35065 }, + { 14717, 36807 }, + { 14718, 21704 }, + { 14881, 39608 }, + { 14882, 23401 }, + { 14883, 28023 }, + { 14884, 27686 }, + { 14885, 20133 }, + { 14886, 23475 }, + { 14887, 39559 }, + { 14888, 37219 }, + { 14889, 25000 }, + { 14890, 37039 }, + { 14891, 38889 }, + { 14892, 21547 }, + { 14893, 28085 }, + { 14894, 23506 }, + { 14895, 20989 }, + { 14896, 21898 }, + { 14897, 32597 }, + { 14898, 32752 }, + { 14899, 25788 }, + { 14900, 25421 }, + { 14901, 26097 }, + { 14902, 25022 }, + { 14903, 24717 }, + { 14904, 28938 }, + { 14905, 27735 }, + { 14906, 27721 }, + { 14907, 22831 }, + { 14908, 26477 }, + { 14909, 33322 }, + { 14910, 22741 }, + { 14911, 22158 }, + { 14912, 35946 }, + { 14913, 27627 }, + { 14914, 37085 }, + { 14915, 22909 }, + { 14916, 32791 }, + { 14917, 21495 }, + { 14918, 28009 }, + { 14919, 21621 }, + { 14920, 21917 }, + { 14921, 33655 }, + { 14922, 33743 }, + { 14923, 26680 }, + { 14924, 31166 }, + { 14925, 21644 }, + { 14926, 20309 }, + { 14927, 21512 }, + { 14928, 30418 }, + { 14929, 35977 }, + { 14930, 38402 }, + { 14931, 27827 }, + { 14932, 28088 }, + { 14933, 36203 }, + { 14934, 35088 }, + { 14935, 40548 }, + { 14936, 36154 }, + { 14937, 22079 }, + { 14938, 40657 }, + { 14939, 30165 }, + { 14940, 24456 }, + { 14941, 29408 }, + { 14942, 24680 }, + { 14943, 21756 }, + { 14944, 20136 }, + { 14945, 27178 }, + { 14946, 34913 }, + { 14947, 24658 }, + { 14948, 36720 }, + { 14949, 21700 }, + { 14950, 28888 }, + { 14951, 34425 }, + { 14952, 40511 }, + { 14953, 27946 }, + { 14954, 23439 }, + { 14955, 24344 }, + { 14956, 32418 }, + { 14957, 21897 }, + { 14958, 20399 }, + { 14959, 29492 }, + { 14960, 21564 }, + { 14961, 21402 }, + { 14962, 20505 }, + { 14963, 21518 }, + { 14964, 21628 }, + { 14965, 20046 }, + { 14966, 24573 }, + { 14967, 29786 }, + { 14968, 22774 }, + { 14969, 33899 }, + { 14970, 32993 }, + { 14971, 34676 }, + { 14972, 29392 }, + { 14973, 31946 }, + { 14974, 28246 }, + { 15137, 24359 }, + { 15138, 34382 }, + { 15139, 21804 }, + { 15140, 25252 }, + { 15141, 20114 }, + { 15142, 27818 }, + { 15143, 25143 }, + { 15144, 33457 }, + { 15145, 21719 }, + { 15146, 21326 }, + { 15147, 29502 }, + { 15148, 28369 }, + { 15149, 30011 }, + { 15150, 21010 }, + { 15151, 21270 }, + { 15152, 35805 }, + { 15153, 27088 }, + { 15154, 24458 }, + { 15155, 24576 }, + { 15156, 28142 }, + { 15157, 22351 }, + { 15158, 27426 }, + { 15159, 29615 }, + { 15160, 26707 }, + { 15161, 36824 }, + { 15162, 32531 }, + { 15163, 25442 }, + { 15164, 24739 }, + { 15165, 21796 }, + { 15166, 30186 }, + { 15167, 35938 }, + { 15168, 28949 }, + { 15169, 28067 }, + { 15170, 23462 }, + { 15171, 24187 }, + { 15172, 33618 }, + { 15173, 24908 }, + { 15174, 40644 }, + { 15175, 30970 }, + { 15176, 34647 }, + { 15177, 31783 }, + { 15178, 30343 }, + { 15179, 20976 }, + { 15180, 24822 }, + { 15181, 29004 }, + { 15182, 26179 }, + { 15183, 24140 }, + { 15184, 24653 }, + { 15185, 35854 }, + { 15186, 28784 }, + { 15187, 25381 }, + { 15188, 36745 }, + { 15189, 24509 }, + { 15190, 24674 }, + { 15191, 34516 }, + { 15192, 22238 }, + { 15193, 27585 }, + { 15194, 24724 }, + { 15195, 24935 }, + { 15196, 21321 }, + { 15197, 24800 }, + { 15198, 26214 }, + { 15199, 36159 }, + { 15200, 31229 }, + { 15201, 20250 }, + { 15202, 28905 }, + { 15203, 27719 }, + { 15204, 35763 }, + { 15205, 35826 }, + { 15206, 32472 }, + { 15207, 33636 }, + { 15208, 26127 }, + { 15209, 23130 }, + { 15210, 39746 }, + { 15211, 27985 }, + { 15212, 28151 }, + { 15213, 35905 }, + { 15214, 27963 }, + { 15215, 20249 }, + { 15216, 28779 }, + { 15217, 33719 }, + { 15218, 25110 }, + { 15219, 24785 }, + { 15220, 38669 }, + { 15221, 36135 }, + { 15222, 31096 }, + { 15223, 20987 }, + { 15224, 22334 }, + { 15225, 22522 }, + { 15226, 26426 }, + { 15227, 30072 }, + { 15228, 31293 }, + { 15229, 31215 }, + { 15230, 31637 }, + { 15393, 32908 }, + { 15394, 39269 }, + { 15395, 36857 }, + { 15396, 28608 }, + { 15397, 35749 }, + { 15398, 40481 }, + { 15399, 23020 }, + { 15400, 32489 }, + { 15401, 32521 }, + { 15402, 21513 }, + { 15403, 26497 }, + { 15404, 26840 }, + { 15405, 36753 }, + { 15406, 31821 }, + { 15407, 38598 }, + { 15408, 21450 }, + { 15409, 24613 }, + { 15410, 30142 }, + { 15411, 27762 }, + { 15412, 21363 }, + { 15413, 23241 }, + { 15414, 32423 }, + { 15415, 25380 }, + { 15416, 20960 }, + { 15417, 33034 }, + { 15418, 24049 }, + { 15419, 34015 }, + { 15420, 25216 }, + { 15421, 20864 }, + { 15422, 23395 }, + { 15423, 20238 }, + { 15424, 31085 }, + { 15425, 21058 }, + { 15426, 24760 }, + { 15427, 27982 }, + { 15428, 23492 }, + { 15429, 23490 }, + { 15430, 35745 }, + { 15431, 35760 }, + { 15432, 26082 }, + { 15433, 24524 }, + { 15434, 38469 }, + { 15435, 22931 }, + { 15436, 32487 }, + { 15437, 32426 }, + { 15438, 22025 }, + { 15439, 26551 }, + { 15440, 22841 }, + { 15441, 20339 }, + { 15442, 23478 }, + { 15443, 21152 }, + { 15444, 33626 }, + { 15445, 39050 }, + { 15446, 36158 }, + { 15447, 30002 }, + { 15448, 38078 }, + { 15449, 20551 }, + { 15450, 31292 }, + { 15451, 20215 }, + { 15452, 26550 }, + { 15453, 39550 }, + { 15454, 23233 }, + { 15455, 27516 }, + { 15456, 30417 }, + { 15457, 22362 }, + { 15458, 23574 }, + { 15459, 31546 }, + { 15460, 38388 }, + { 15461, 29006 }, + { 15462, 20860 }, + { 15463, 32937 }, + { 15464, 33392 }, + { 15465, 22904 }, + { 15466, 32516 }, + { 15467, 33575 }, + { 15468, 26816 }, + { 15469, 26604 }, + { 15470, 30897 }, + { 15471, 30839 }, + { 15472, 25315 }, + { 15473, 25441 }, + { 15474, 31616 }, + { 15475, 20461 }, + { 15476, 21098 }, + { 15477, 20943 }, + { 15478, 33616 }, + { 15479, 27099 }, + { 15480, 37492 }, + { 15481, 36341 }, + { 15482, 36145 }, + { 15483, 35265 }, + { 15484, 38190 }, + { 15485, 31661 }, + { 15486, 20214 }, + { 15649, 20581 }, + { 15650, 33328 }, + { 15651, 21073 }, + { 15652, 39279 }, + { 15653, 28176 }, + { 15654, 28293 }, + { 15655, 28071 }, + { 15656, 24314 }, + { 15657, 20725 }, + { 15658, 23004 }, + { 15659, 23558 }, + { 15660, 27974 }, + { 15661, 27743 }, + { 15662, 30086 }, + { 15663, 33931 }, + { 15664, 26728 }, + { 15665, 22870 }, + { 15666, 35762 }, + { 15667, 21280 }, + { 15668, 37233 }, + { 15669, 38477 }, + { 15670, 34121 }, + { 15671, 26898 }, + { 15672, 30977 }, + { 15673, 28966 }, + { 15674, 33014 }, + { 15675, 20132 }, + { 15676, 37066 }, + { 15677, 27975 }, + { 15678, 39556 }, + { 15679, 23047 }, + { 15680, 22204 }, + { 15681, 25605 }, + { 15682, 38128 }, + { 15683, 30699 }, + { 15684, 20389 }, + { 15685, 33050 }, + { 15686, 29409 }, + { 15687, 35282 }, + { 15688, 39290 }, + { 15689, 32564 }, + { 15690, 32478 }, + { 15691, 21119 }, + { 15692, 25945 }, + { 15693, 37237 }, + { 15694, 36735 }, + { 15695, 36739 }, + { 15696, 21483 }, + { 15697, 31382 }, + { 15698, 25581 }, + { 15699, 25509 }, + { 15700, 30342 }, + { 15701, 31224 }, + { 15702, 34903 }, + { 15703, 38454 }, + { 15704, 25130 }, + { 15705, 21163 }, + { 15706, 33410 }, + { 15707, 26708 }, + { 15708, 26480 }, + { 15709, 25463 }, + { 15710, 30571 }, + { 15711, 31469 }, + { 15712, 27905 }, + { 15713, 32467 }, + { 15714, 35299 }, + { 15715, 22992 }, + { 15716, 25106 }, + { 15717, 34249 }, + { 15718, 33445 }, + { 15719, 30028 }, + { 15720, 20511 }, + { 15721, 20171 }, + { 15722, 30117 }, + { 15723, 35819 }, + { 15724, 23626 }, + { 15725, 24062 }, + { 15726, 31563 }, + { 15727, 26020 }, + { 15728, 37329 }, + { 15729, 20170 }, + { 15730, 27941 }, + { 15731, 35167 }, + { 15732, 32039 }, + { 15733, 38182 }, + { 15734, 20165 }, + { 15735, 35880 }, + { 15736, 36827 }, + { 15737, 38771 }, + { 15738, 26187 }, + { 15739, 31105 }, + { 15740, 36817 }, + { 15741, 28908 }, + { 15742, 28024 }, + { 15905, 23613 }, + { 15906, 21170 }, + { 15907, 33606 }, + { 15908, 20834 }, + { 15909, 33550 }, + { 15910, 30555 }, + { 15911, 26230 }, + { 15912, 40120 }, + { 15913, 20140 }, + { 15914, 24778 }, + { 15915, 31934 }, + { 15916, 31923 }, + { 15917, 32463 }, + { 15918, 20117 }, + { 15919, 35686 }, + { 15920, 26223 }, + { 15921, 39048 }, + { 15922, 38745 }, + { 15923, 22659 }, + { 15924, 25964 }, + { 15925, 38236 }, + { 15926, 24452 }, + { 15927, 30153 }, + { 15928, 38742 }, + { 15929, 31455 }, + { 15930, 31454 }, + { 15931, 20928 }, + { 15932, 28847 }, + { 15933, 31384 }, + { 15934, 25578 }, + { 15935, 31350 }, + { 15936, 32416 }, + { 15937, 29590 }, + { 15938, 38893 }, + { 15939, 20037 }, + { 15940, 28792 }, + { 15941, 20061 }, + { 15942, 37202 }, + { 15943, 21417 }, + { 15944, 25937 }, + { 15945, 26087 }, + { 15946, 33276 }, + { 15947, 33285 }, + { 15948, 21646 }, + { 15949, 23601 }, + { 15950, 30106 }, + { 15951, 38816 }, + { 15952, 25304 }, + { 15953, 29401 }, + { 15954, 30141 }, + { 15955, 23621 }, + { 15956, 39545 }, + { 15957, 33738 }, + { 15958, 23616 }, + { 15959, 21632 }, + { 15960, 30697 }, + { 15961, 20030 }, + { 15962, 27822 }, + { 15963, 32858 }, + { 15964, 25298 }, + { 15965, 25454 }, + { 15966, 24040 }, + { 15967, 20855 }, + { 15968, 36317 }, + { 15969, 36382 }, + { 15970, 38191 }, + { 15971, 20465 }, + { 15972, 21477 }, + { 15973, 24807 }, + { 15974, 28844 }, + { 15975, 21095 }, + { 15976, 25424 }, + { 15977, 40515 }, + { 15978, 23071 }, + { 15979, 20518 }, + { 15980, 30519 }, + { 15981, 21367 }, + { 15982, 32482 }, + { 15983, 25733 }, + { 15984, 25899 }, + { 15985, 25225 }, + { 15986, 25496 }, + { 15987, 20500 }, + { 15988, 29237 }, + { 15989, 35273 }, + { 15990, 20915 }, + { 15991, 35776 }, + { 15992, 32477 }, + { 15993, 22343 }, + { 15994, 33740 }, + { 15995, 38055 }, + { 15996, 20891 }, + { 15997, 21531 }, + { 15998, 23803 }, + { 16161, 20426 }, + { 16162, 31459 }, + { 16163, 27994 }, + { 16164, 37089 }, + { 16165, 39567 }, + { 16166, 21888 }, + { 16167, 21654 }, + { 16168, 21345 }, + { 16169, 21679 }, + { 16170, 24320 }, + { 16171, 25577 }, + { 16172, 26999 }, + { 16173, 20975 }, + { 16174, 24936 }, + { 16175, 21002 }, + { 16176, 22570 }, + { 16177, 21208 }, + { 16178, 22350 }, + { 16179, 30733 }, + { 16180, 30475 }, + { 16181, 24247 }, + { 16182, 24951 }, + { 16183, 31968 }, + { 16184, 25179 }, + { 16185, 25239 }, + { 16186, 20130 }, + { 16187, 28821 }, + { 16188, 32771 }, + { 16189, 25335 }, + { 16190, 28900 }, + { 16191, 38752 }, + { 16192, 22391 }, + { 16193, 33499 }, + { 16194, 26607 }, + { 16195, 26869 }, + { 16196, 30933 }, + { 16197, 39063 }, + { 16198, 31185 }, + { 16199, 22771 }, + { 16200, 21683 }, + { 16201, 21487 }, + { 16202, 28212 }, + { 16203, 20811 }, + { 16204, 21051 }, + { 16205, 23458 }, + { 16206, 35838 }, + { 16207, 32943 }, + { 16208, 21827 }, + { 16209, 22438 }, + { 16210, 24691 }, + { 16211, 22353 }, + { 16212, 21549 }, + { 16213, 31354 }, + { 16214, 24656 }, + { 16215, 23380 }, + { 16216, 25511 }, + { 16217, 25248 }, + { 16218, 21475 }, + { 16219, 25187 }, + { 16220, 23495 }, + { 16221, 26543 }, + { 16222, 21741 }, + { 16223, 31391 }, + { 16224, 33510 }, + { 16225, 37239 }, + { 16226, 24211 }, + { 16227, 35044 }, + { 16228, 22840 }, + { 16229, 22446 }, + { 16230, 25358 }, + { 16231, 36328 }, + { 16232, 33007 }, + { 16233, 22359 }, + { 16234, 31607 }, + { 16235, 20393 }, + { 16236, 24555 }, + { 16237, 23485 }, + { 16238, 27454 }, + { 16239, 21281 }, + { 16240, 31568 }, + { 16241, 29378 }, + { 16242, 26694 }, + { 16243, 30719 }, + { 16244, 30518 }, + { 16245, 26103 }, + { 16246, 20917 }, + { 16247, 20111 }, + { 16248, 30420 }, + { 16249, 23743 }, + { 16250, 31397 }, + { 16251, 33909 }, + { 16252, 22862 }, + { 16253, 39745 }, + { 16254, 20608 }, + { 16417, 39304 }, + { 16418, 24871 }, + { 16419, 28291 }, + { 16420, 22372 }, + { 16421, 26118 }, + { 16422, 25414 }, + { 16423, 22256 }, + { 16424, 25324 }, + { 16425, 25193 }, + { 16426, 24275 }, + { 16427, 38420 }, + { 16428, 22403 }, + { 16429, 25289 }, + { 16430, 21895 }, + { 16431, 34593 }, + { 16432, 33098 }, + { 16433, 36771 }, + { 16434, 21862 }, + { 16435, 33713 }, + { 16436, 26469 }, + { 16437, 36182 }, + { 16438, 34013 }, + { 16439, 23146 }, + { 16440, 26639 }, + { 16441, 25318 }, + { 16442, 31726 }, + { 16443, 38417 }, + { 16444, 20848 }, + { 16445, 28572 }, + { 16446, 35888 }, + { 16447, 25597 }, + { 16448, 35272 }, + { 16449, 25042 }, + { 16450, 32518 }, + { 16451, 28866 }, + { 16452, 28389 }, + { 16453, 29701 }, + { 16454, 27028 }, + { 16455, 29436 }, + { 16456, 24266 }, + { 16457, 37070 }, + { 16458, 26391 }, + { 16459, 28010 }, + { 16460, 25438 }, + { 16461, 21171 }, + { 16462, 29282 }, + { 16463, 32769 }, + { 16464, 20332 }, + { 16465, 23013 }, + { 16466, 37226 }, + { 16467, 28889 }, + { 16468, 28061 }, + { 16469, 21202 }, + { 16470, 20048 }, + { 16471, 38647 }, + { 16472, 38253 }, + { 16473, 34174 }, + { 16474, 30922 }, + { 16475, 32047 }, + { 16476, 20769 }, + { 16477, 22418 }, + { 16478, 25794 }, + { 16479, 32907 }, + { 16480, 31867 }, + { 16481, 27882 }, + { 16482, 26865 }, + { 16483, 26974 }, + { 16484, 20919 }, + { 16485, 21400 }, + { 16486, 26792 }, + { 16487, 29313 }, + { 16488, 40654 }, + { 16489, 31729 }, + { 16490, 29432 }, + { 16491, 31163 }, + { 16492, 28435 }, + { 16493, 29702 }, + { 16494, 26446 }, + { 16495, 37324 }, + { 16496, 40100 }, + { 16497, 31036 }, + { 16498, 33673 }, + { 16499, 33620 }, + { 16500, 21519 }, + { 16501, 26647 }, + { 16502, 20029 }, + { 16503, 21385 }, + { 16504, 21169 }, + { 16505, 30782 }, + { 16506, 21382 }, + { 16507, 21033 }, + { 16508, 20616 }, + { 16509, 20363 }, + { 16510, 20432 }, + { 16673, 30178 }, + { 16674, 31435 }, + { 16675, 31890 }, + { 16676, 27813 }, + { 16677, 38582 }, + { 16678, 21147 }, + { 16679, 29827 }, + { 16680, 21737 }, + { 16681, 20457 }, + { 16682, 32852 }, + { 16683, 33714 }, + { 16684, 36830 }, + { 16685, 38256 }, + { 16686, 24265 }, + { 16687, 24604 }, + { 16688, 28063 }, + { 16689, 24088 }, + { 16690, 25947 }, + { 16691, 33080 }, + { 16692, 38142 }, + { 16693, 24651 }, + { 16694, 28860 }, + { 16695, 32451 }, + { 16696, 31918 }, + { 16697, 20937 }, + { 16698, 26753 }, + { 16699, 31921 }, + { 16700, 33391 }, + { 16701, 20004 }, + { 16702, 36742 }, + { 16703, 37327 }, + { 16704, 26238 }, + { 16705, 20142 }, + { 16706, 35845 }, + { 16707, 25769 }, + { 16708, 32842 }, + { 16709, 20698 }, + { 16710, 30103 }, + { 16711, 29134 }, + { 16712, 23525 }, + { 16713, 36797 }, + { 16714, 28518 }, + { 16715, 20102 }, + { 16716, 25730 }, + { 16717, 38243 }, + { 16718, 24278 }, + { 16719, 26009 }, + { 16720, 21015 }, + { 16721, 35010 }, + { 16722, 28872 }, + { 16723, 21155 }, + { 16724, 29454 }, + { 16725, 29747 }, + { 16726, 26519 }, + { 16727, 30967 }, + { 16728, 38678 }, + { 16729, 20020 }, + { 16730, 37051 }, + { 16731, 40158 }, + { 16732, 28107 }, + { 16733, 20955 }, + { 16734, 36161 }, + { 16735, 21533 }, + { 16736, 25294 }, + { 16737, 29618 }, + { 16738, 33777 }, + { 16739, 38646 }, + { 16740, 40836 }, + { 16741, 38083 }, + { 16742, 20278 }, + { 16743, 32666 }, + { 16744, 20940 }, + { 16745, 28789 }, + { 16746, 38517 }, + { 16747, 23725 }, + { 16748, 39046 }, + { 16749, 21478 }, + { 16750, 20196 }, + { 16751, 28316 }, + { 16752, 29705 }, + { 16753, 27060 }, + { 16754, 30827 }, + { 16755, 39311 }, + { 16756, 30041 }, + { 16757, 21016 }, + { 16758, 30244 }, + { 16759, 27969 }, + { 16760, 26611 }, + { 16761, 20845 }, + { 16762, 40857 }, + { 16763, 32843 }, + { 16764, 21657 }, + { 16765, 31548 }, + { 16766, 31423 }, + { 16929, 38534 }, + { 16930, 22404 }, + { 16931, 25314 }, + { 16932, 38471 }, + { 16933, 27004 }, + { 16934, 23044 }, + { 16935, 25602 }, + { 16936, 31699 }, + { 16937, 28431 }, + { 16938, 38475 }, + { 16939, 33446 }, + { 16940, 21346 }, + { 16941, 39045 }, + { 16942, 24208 }, + { 16943, 28809 }, + { 16944, 25523 }, + { 16945, 21348 }, + { 16946, 34383 }, + { 16947, 40065 }, + { 16948, 40595 }, + { 16949, 30860 }, + { 16950, 38706 }, + { 16951, 36335 }, + { 16952, 36162 }, + { 16953, 40575 }, + { 16954, 28510 }, + { 16955, 31108 }, + { 16956, 24405 }, + { 16957, 38470 }, + { 16958, 25134 }, + { 16959, 39540 }, + { 16960, 21525 }, + { 16961, 38109 }, + { 16962, 20387 }, + { 16963, 26053 }, + { 16964, 23653 }, + { 16965, 23649 }, + { 16966, 32533 }, + { 16967, 34385 }, + { 16968, 27695 }, + { 16969, 24459 }, + { 16970, 29575 }, + { 16971, 28388 }, + { 16972, 32511 }, + { 16973, 23782 }, + { 16974, 25371 }, + { 16975, 23402 }, + { 16976, 28390 }, + { 16977, 21365 }, + { 16978, 20081 }, + { 16979, 25504 }, + { 16980, 30053 }, + { 16981, 25249 }, + { 16982, 36718 }, + { 16983, 20262 }, + { 16984, 20177 }, + { 16985, 27814 }, + { 16986, 32438 }, + { 16987, 35770 }, + { 16988, 33821 }, + { 16989, 34746 }, + { 16990, 32599 }, + { 16991, 36923 }, + { 16992, 38179 }, + { 16993, 31657 }, + { 16994, 39585 }, + { 16995, 35064 }, + { 16996, 33853 }, + { 16997, 27931 }, + { 16998, 39558 }, + { 16999, 32476 }, + { 17000, 22920 }, + { 17001, 40635 }, + { 17002, 29595 }, + { 17003, 30721 }, + { 17004, 34434 }, + { 17005, 39532 }, + { 17006, 39554 }, + { 17007, 22043 }, + { 17008, 21527 }, + { 17009, 22475 }, + { 17010, 20080 }, + { 17011, 40614 }, + { 17012, 21334 }, + { 17013, 36808 }, + { 17014, 33033 }, + { 17015, 30610 }, + { 17016, 39314 }, + { 17017, 34542 }, + { 17018, 28385 }, + { 17019, 34067 }, + { 17020, 26364 }, + { 17021, 24930 }, + { 17022, 28459 }, + { 17185, 35881 }, + { 17186, 33426 }, + { 17187, 33579 }, + { 17188, 30450 }, + { 17189, 27667 }, + { 17190, 24537 }, + { 17191, 33725 }, + { 17192, 29483 }, + { 17193, 33541 }, + { 17194, 38170 }, + { 17195, 27611 }, + { 17196, 30683 }, + { 17197, 38086 }, + { 17198, 21359 }, + { 17199, 33538 }, + { 17200, 20882 }, + { 17201, 24125 }, + { 17202, 35980 }, + { 17203, 36152 }, + { 17204, 20040 }, + { 17205, 29611 }, + { 17206, 26522 }, + { 17207, 26757 }, + { 17208, 37238 }, + { 17209, 38665 }, + { 17210, 29028 }, + { 17211, 27809 }, + { 17212, 30473 }, + { 17213, 23186 }, + { 17214, 38209 }, + { 17215, 27599 }, + { 17216, 32654 }, + { 17217, 26151 }, + { 17218, 23504 }, + { 17219, 22969 }, + { 17220, 23194 }, + { 17221, 38376 }, + { 17222, 38391 }, + { 17223, 20204 }, + { 17224, 33804 }, + { 17225, 33945 }, + { 17226, 27308 }, + { 17227, 30431 }, + { 17228, 38192 }, + { 17229, 29467 }, + { 17230, 26790 }, + { 17231, 23391 }, + { 17232, 30511 }, + { 17233, 37274 }, + { 17234, 38753 }, + { 17235, 31964 }, + { 17236, 36855 }, + { 17237, 35868 }, + { 17238, 24357 }, + { 17239, 31859 }, + { 17240, 31192 }, + { 17241, 35269 }, + { 17242, 27852 }, + { 17243, 34588 }, + { 17244, 23494 }, + { 17245, 24130 }, + { 17246, 26825 }, + { 17247, 30496 }, + { 17248, 32501 }, + { 17249, 20885 }, + { 17250, 20813 }, + { 17251, 21193 }, + { 17252, 23081 }, + { 17253, 32517 }, + { 17254, 38754 }, + { 17255, 33495 }, + { 17256, 25551 }, + { 17257, 30596 }, + { 17258, 34256 }, + { 17259, 31186 }, + { 17260, 28218 }, + { 17261, 24217 }, + { 17262, 22937 }, + { 17263, 34065 }, + { 17264, 28781 }, + { 17265, 27665 }, + { 17266, 25279 }, + { 17267, 30399 }, + { 17268, 25935 }, + { 17269, 24751 }, + { 17270, 38397 }, + { 17271, 26126 }, + { 17272, 34719 }, + { 17273, 40483 }, + { 17274, 38125 }, + { 17275, 21517 }, + { 17276, 21629 }, + { 17277, 35884 }, + { 17278, 25720 }, + { 17441, 25721 }, + { 17442, 34321 }, + { 17443, 27169 }, + { 17444, 33180 }, + { 17445, 30952 }, + { 17446, 25705 }, + { 17447, 39764 }, + { 17448, 25273 }, + { 17449, 26411 }, + { 17450, 33707 }, + { 17451, 22696 }, + { 17452, 40664 }, + { 17453, 27819 }, + { 17454, 28448 }, + { 17455, 23518 }, + { 17456, 38476 }, + { 17457, 35851 }, + { 17458, 29279 }, + { 17459, 26576 }, + { 17460, 25287 }, + { 17461, 29281 }, + { 17462, 20137 }, + { 17463, 22982 }, + { 17464, 27597 }, + { 17465, 22675 }, + { 17466, 26286 }, + { 17467, 24149 }, + { 17468, 21215 }, + { 17469, 24917 }, + { 17470, 26408 }, + { 17471, 30446 }, + { 17472, 30566 }, + { 17473, 29287 }, + { 17474, 31302 }, + { 17475, 25343 }, + { 17476, 21738 }, + { 17477, 21584 }, + { 17478, 38048 }, + { 17479, 37027 }, + { 17480, 23068 }, + { 17481, 32435 }, + { 17482, 27670 }, + { 17483, 20035 }, + { 17484, 22902 }, + { 17485, 32784 }, + { 17486, 22856 }, + { 17487, 21335 }, + { 17488, 30007 }, + { 17489, 38590 }, + { 17490, 22218 }, + { 17491, 25376 }, + { 17492, 33041 }, + { 17493, 24700 }, + { 17494, 38393 }, + { 17495, 28118 }, + { 17496, 21602 }, + { 17497, 39297 }, + { 17498, 20869 }, + { 17499, 23273 }, + { 17500, 33021 }, + { 17501, 22958 }, + { 17502, 38675 }, + { 17503, 20522 }, + { 17504, 27877 }, + { 17505, 23612 }, + { 17506, 25311 }, + { 17507, 20320 }, + { 17508, 21311 }, + { 17509, 33147 }, + { 17510, 36870 }, + { 17511, 28346 }, + { 17512, 34091 }, + { 17513, 25288 }, + { 17514, 24180 }, + { 17515, 30910 }, + { 17516, 25781 }, + { 17517, 25467 }, + { 17518, 24565 }, + { 17519, 23064 }, + { 17520, 37247 }, + { 17521, 40479 }, + { 17522, 23615 }, + { 17523, 25423 }, + { 17524, 32834 }, + { 17525, 23421 }, + { 17526, 21870 }, + { 17527, 38218 }, + { 17528, 38221 }, + { 17529, 28037 }, + { 17530, 24744 }, + { 17531, 26592 }, + { 17532, 29406 }, + { 17533, 20957 }, + { 17534, 23425 }, + { 17697, 25319 }, + { 17698, 27870 }, + { 17699, 29275 }, + { 17700, 25197 }, + { 17701, 38062 }, + { 17702, 32445 }, + { 17703, 33043 }, + { 17704, 27987 }, + { 17705, 20892 }, + { 17706, 24324 }, + { 17707, 22900 }, + { 17708, 21162 }, + { 17709, 24594 }, + { 17710, 22899 }, + { 17711, 26262 }, + { 17712, 34384 }, + { 17713, 30111 }, + { 17714, 25386 }, + { 17715, 25062 }, + { 17716, 31983 }, + { 17717, 35834 }, + { 17718, 21734 }, + { 17719, 27431 }, + { 17720, 40485 }, + { 17721, 27572 }, + { 17722, 34261 }, + { 17723, 21589 }, + { 17724, 20598 }, + { 17725, 27812 }, + { 17726, 21866 }, + { 17727, 36276 }, + { 17728, 29228 }, + { 17729, 24085 }, + { 17730, 24597 }, + { 17731, 29750 }, + { 17732, 25293 }, + { 17733, 25490 }, + { 17734, 29260 }, + { 17735, 24472 }, + { 17736, 28227 }, + { 17737, 27966 }, + { 17738, 25856 }, + { 17739, 28504 }, + { 17740, 30424 }, + { 17741, 30928 }, + { 17742, 30460 }, + { 17743, 30036 }, + { 17744, 21028 }, + { 17745, 21467 }, + { 17746, 20051 }, + { 17747, 24222 }, + { 17748, 26049 }, + { 17749, 32810 }, + { 17750, 32982 }, + { 17751, 25243 }, + { 17752, 21638 }, + { 17753, 21032 }, + { 17754, 28846 }, + { 17755, 34957 }, + { 17756, 36305 }, + { 17757, 27873 }, + { 17758, 21624 }, + { 17759, 32986 }, + { 17760, 22521 }, + { 17761, 35060 }, + { 17762, 36180 }, + { 17763, 38506 }, + { 17764, 37197 }, + { 17765, 20329 }, + { 17766, 27803 }, + { 17767, 21943 }, + { 17768, 30406 }, + { 17769, 30768 }, + { 17770, 25256 }, + { 17771, 28921 }, + { 17772, 28558 }, + { 17773, 24429 }, + { 17774, 34028 }, + { 17775, 26842 }, + { 17776, 30844 }, + { 17777, 31735 }, + { 17778, 33192 }, + { 17779, 26379 }, + { 17780, 40527 }, + { 17781, 25447 }, + { 17782, 30896 }, + { 17783, 22383 }, + { 17784, 30738 }, + { 17785, 38713 }, + { 17786, 25209 }, + { 17787, 25259 }, + { 17788, 21128 }, + { 17789, 29749 }, + { 17790, 27607 }, + { 17953, 21860 }, + { 17954, 33086 }, + { 17955, 30130 }, + { 17956, 30382 }, + { 17957, 21305 }, + { 17958, 30174 }, + { 17959, 20731 }, + { 17960, 23617 }, + { 17961, 35692 }, + { 17962, 31687 }, + { 17963, 20559 }, + { 17964, 29255 }, + { 17965, 39575 }, + { 17966, 39128 }, + { 17967, 28418 }, + { 17968, 29922 }, + { 17969, 31080 }, + { 17970, 25735 }, + { 17971, 30629 }, + { 17972, 25340 }, + { 17973, 39057 }, + { 17974, 36139 }, + { 17975, 21697 }, + { 17976, 32856 }, + { 17977, 20050 }, + { 17978, 22378 }, + { 17979, 33529 }, + { 17980, 33805 }, + { 17981, 24179 }, + { 17982, 20973 }, + { 17983, 29942 }, + { 17984, 35780 }, + { 17985, 23631 }, + { 17986, 22369 }, + { 17987, 27900 }, + { 17988, 39047 }, + { 17989, 23110 }, + { 17990, 30772 }, + { 17991, 39748 }, + { 17992, 36843 }, + { 17993, 31893 }, + { 17994, 21078 }, + { 17995, 25169 }, + { 17996, 38138 }, + { 17997, 20166 }, + { 17998, 33670 }, + { 17999, 33889 }, + { 18000, 33769 }, + { 18001, 33970 }, + { 18002, 22484 }, + { 18003, 26420 }, + { 18004, 22275 }, + { 18005, 26222 }, + { 18006, 28006 }, + { 18007, 35889 }, + { 18008, 26333 }, + { 18009, 28689 }, + { 18010, 26399 }, + { 18011, 27450 }, + { 18012, 26646 }, + { 18013, 25114 }, + { 18014, 22971 }, + { 18015, 19971 }, + { 18016, 20932 }, + { 18017, 28422 }, + { 18018, 26578 }, + { 18019, 27791 }, + { 18020, 20854 }, + { 18021, 26827 }, + { 18022, 22855 }, + { 18023, 27495 }, + { 18024, 30054 }, + { 18025, 23822 }, + { 18026, 33040 }, + { 18027, 40784 }, + { 18028, 26071 }, + { 18029, 31048 }, + { 18030, 31041 }, + { 18031, 39569 }, + { 18032, 36215 }, + { 18033, 23682 }, + { 18034, 20062 }, + { 18035, 20225 }, + { 18036, 21551 }, + { 18037, 22865 }, + { 18038, 30732 }, + { 18039, 22120 }, + { 18040, 27668 }, + { 18041, 36804 }, + { 18042, 24323 }, + { 18043, 27773 }, + { 18044, 27875 }, + { 18045, 35755 }, + { 18046, 25488 }, + { 18209, 24688 }, + { 18210, 27965 }, + { 18211, 29301 }, + { 18212, 25190 }, + { 18213, 38030 }, + { 18214, 38085 }, + { 18215, 21315 }, + { 18216, 36801 }, + { 18217, 31614 }, + { 18218, 20191 }, + { 18219, 35878 }, + { 18220, 20094 }, + { 18221, 40660 }, + { 18222, 38065 }, + { 18223, 38067 }, + { 18224, 21069 }, + { 18225, 28508 }, + { 18226, 36963 }, + { 18227, 27973 }, + { 18228, 35892 }, + { 18229, 22545 }, + { 18230, 23884 }, + { 18231, 27424 }, + { 18232, 27465 }, + { 18233, 26538 }, + { 18234, 21595 }, + { 18235, 33108 }, + { 18236, 32652 }, + { 18237, 22681 }, + { 18238, 34103 }, + { 18239, 24378 }, + { 18240, 25250 }, + { 18241, 27207 }, + { 18242, 38201 }, + { 18243, 25970 }, + { 18244, 24708 }, + { 18245, 26725 }, + { 18246, 30631 }, + { 18247, 20052 }, + { 18248, 20392 }, + { 18249, 24039 }, + { 18250, 38808 }, + { 18251, 25772 }, + { 18252, 32728 }, + { 18253, 23789 }, + { 18254, 20431 }, + { 18255, 31373 }, + { 18256, 20999 }, + { 18257, 33540 }, + { 18258, 19988 }, + { 18259, 24623 }, + { 18260, 31363 }, + { 18261, 38054 }, + { 18262, 20405 }, + { 18263, 20146 }, + { 18264, 31206 }, + { 18265, 29748 }, + { 18266, 21220 }, + { 18267, 33465 }, + { 18268, 25810 }, + { 18269, 31165 }, + { 18270, 23517 }, + { 18271, 27777 }, + { 18272, 38738 }, + { 18273, 36731 }, + { 18274, 27682 }, + { 18275, 20542 }, + { 18276, 21375 }, + { 18277, 28165 }, + { 18278, 25806 }, + { 18279, 26228 }, + { 18280, 27696 }, + { 18281, 24773 }, + { 18282, 39031 }, + { 18283, 35831 }, + { 18284, 24198 }, + { 18285, 29756 }, + { 18286, 31351 }, + { 18287, 31179 }, + { 18288, 19992 }, + { 18289, 37041 }, + { 18290, 29699 }, + { 18291, 27714 }, + { 18292, 22234 }, + { 18293, 37195 }, + { 18294, 27845 }, + { 18295, 36235 }, + { 18296, 21306 }, + { 18297, 34502 }, + { 18298, 26354 }, + { 18299, 36527 }, + { 18300, 23624 }, + { 18301, 39537 }, + { 18302, 28192 }, + { 18465, 21462 }, + { 18466, 23094 }, + { 18467, 40843 }, + { 18468, 36259 }, + { 18469, 21435 }, + { 18470, 22280 }, + { 18471, 39079 }, + { 18472, 26435 }, + { 18473, 37275 }, + { 18474, 27849 }, + { 18475, 20840 }, + { 18476, 30154 }, + { 18477, 25331 }, + { 18478, 29356 }, + { 18479, 21048 }, + { 18480, 21149 }, + { 18481, 32570 }, + { 18482, 28820 }, + { 18483, 30264 }, + { 18484, 21364 }, + { 18485, 40522 }, + { 18486, 27063 }, + { 18487, 30830 }, + { 18488, 38592 }, + { 18489, 35033 }, + { 18490, 32676 }, + { 18491, 28982 }, + { 18492, 29123 }, + { 18493, 20873 }, + { 18494, 26579 }, + { 18495, 29924 }, + { 18496, 22756 }, + { 18497, 25880 }, + { 18498, 22199 }, + { 18499, 35753 }, + { 18500, 39286 }, + { 18501, 25200 }, + { 18502, 32469 }, + { 18503, 24825 }, + { 18504, 28909 }, + { 18505, 22764 }, + { 18506, 20161 }, + { 18507, 20154 }, + { 18508, 24525 }, + { 18509, 38887 }, + { 18510, 20219 }, + { 18511, 35748 }, + { 18512, 20995 }, + { 18513, 22922 }, + { 18514, 32427 }, + { 18515, 25172 }, + { 18516, 20173 }, + { 18517, 26085 }, + { 18518, 25102 }, + { 18519, 33592 }, + { 18520, 33993 }, + { 18521, 33635 }, + { 18522, 34701 }, + { 18523, 29076 }, + { 18524, 28342 }, + { 18525, 23481 }, + { 18526, 32466 }, + { 18527, 20887 }, + { 18528, 25545 }, + { 18529, 26580 }, + { 18530, 32905 }, + { 18531, 33593 }, + { 18532, 34837 }, + { 18533, 20754 }, + { 18534, 23418 }, + { 18535, 22914 }, + { 18536, 36785 }, + { 18537, 20083 }, + { 18538, 27741 }, + { 18539, 20837 }, + { 18540, 35109 }, + { 18541, 36719 }, + { 18542, 38446 }, + { 18543, 34122 }, + { 18544, 29790 }, + { 18545, 38160 }, + { 18546, 38384 }, + { 18547, 28070 }, + { 18548, 33509 }, + { 18549, 24369 }, + { 18550, 25746 }, + { 18551, 27922 }, + { 18552, 33832 }, + { 18553, 33134 }, + { 18554, 40131 }, + { 18555, 22622 }, + { 18556, 36187 }, + { 18557, 19977 }, + { 18558, 21441 }, + { 18721, 20254 }, + { 18722, 25955 }, + { 18723, 26705 }, + { 18724, 21971 }, + { 18725, 20007 }, + { 18726, 25620 }, + { 18727, 39578 }, + { 18728, 25195 }, + { 18729, 23234 }, + { 18730, 29791 }, + { 18731, 33394 }, + { 18732, 28073 }, + { 18733, 26862 }, + { 18734, 20711 }, + { 18735, 33678 }, + { 18736, 30722 }, + { 18737, 26432 }, + { 18738, 21049 }, + { 18739, 27801 }, + { 18740, 32433 }, + { 18741, 20667 }, + { 18742, 21861 }, + { 18743, 29022 }, + { 18744, 31579 }, + { 18745, 26194 }, + { 18746, 29642 }, + { 18747, 33515 }, + { 18748, 26441 }, + { 18749, 23665 }, + { 18750, 21024 }, + { 18751, 29053 }, + { 18752, 34923 }, + { 18753, 38378 }, + { 18754, 38485 }, + { 18755, 25797 }, + { 18756, 36193 }, + { 18757, 33203 }, + { 18758, 21892 }, + { 18759, 27733 }, + { 18760, 25159 }, + { 18761, 32558 }, + { 18762, 22674 }, + { 18763, 20260 }, + { 18764, 21830 }, + { 18765, 36175 }, + { 18766, 26188 }, + { 18767, 19978 }, + { 18768, 23578 }, + { 18769, 35059 }, + { 18770, 26786 }, + { 18771, 25422 }, + { 18772, 31245 }, + { 18773, 28903 }, + { 18774, 33421 }, + { 18775, 21242 }, + { 18776, 38902 }, + { 18777, 23569 }, + { 18778, 21736 }, + { 18779, 37045 }, + { 18780, 32461 }, + { 18781, 22882 }, + { 18782, 36170 }, + { 18783, 34503 }, + { 18784, 33292 }, + { 18785, 33293 }, + { 18786, 36198 }, + { 18787, 25668 }, + { 18788, 23556 }, + { 18789, 24913 }, + { 18790, 28041 }, + { 18791, 31038 }, + { 18792, 35774 }, + { 18793, 30775 }, + { 18794, 30003 }, + { 18795, 21627 }, + { 18796, 20280 }, + { 18797, 36523 }, + { 18798, 28145 }, + { 18799, 23072 }, + { 18800, 32453 }, + { 18801, 31070 }, + { 18802, 27784 }, + { 18803, 23457 }, + { 18804, 23158 }, + { 18805, 29978 }, + { 18806, 32958 }, + { 18807, 24910 }, + { 18808, 28183 }, + { 18809, 22768 }, + { 18810, 29983 }, + { 18811, 29989 }, + { 18812, 29298 }, + { 18813, 21319 }, + { 18814, 32499 }, + { 18977, 30465 }, + { 18978, 30427 }, + { 18979, 21097 }, + { 18980, 32988 }, + { 18981, 22307 }, + { 18982, 24072 }, + { 18983, 22833 }, + { 18984, 29422 }, + { 18985, 26045 }, + { 18986, 28287 }, + { 18987, 35799 }, + { 18988, 23608 }, + { 18989, 34417 }, + { 18990, 21313 }, + { 18991, 30707 }, + { 18992, 25342 }, + { 18993, 26102 }, + { 18994, 20160 }, + { 18995, 39135 }, + { 18996, 34432 }, + { 18997, 23454 }, + { 18998, 35782 }, + { 18999, 21490 }, + { 19000, 30690 }, + { 19001, 20351 }, + { 19002, 23630 }, + { 19003, 39542 }, + { 19004, 22987 }, + { 19005, 24335 }, + { 19006, 31034 }, + { 19007, 22763 }, + { 19008, 19990 }, + { 19009, 26623 }, + { 19010, 20107 }, + { 19011, 25325 }, + { 19012, 35475 }, + { 19013, 36893 }, + { 19014, 21183 }, + { 19015, 26159 }, + { 19016, 21980 }, + { 19017, 22124 }, + { 19018, 36866 }, + { 19019, 20181 }, + { 19020, 20365 }, + { 19021, 37322 }, + { 19022, 39280 }, + { 19023, 27663 }, + { 19024, 24066 }, + { 19025, 24643 }, + { 19026, 23460 }, + { 19027, 35270 }, + { 19028, 35797 }, + { 19029, 25910 }, + { 19030, 25163 }, + { 19031, 39318 }, + { 19032, 23432 }, + { 19033, 23551 }, + { 19034, 25480 }, + { 19035, 21806 }, + { 19036, 21463 }, + { 19037, 30246 }, + { 19038, 20861 }, + { 19039, 34092 }, + { 19040, 26530 }, + { 19041, 26803 }, + { 19042, 27530 }, + { 19043, 25234 }, + { 19044, 36755 }, + { 19045, 21460 }, + { 19046, 33298 }, + { 19047, 28113 }, + { 19048, 30095 }, + { 19049, 20070 }, + { 19050, 36174 }, + { 19051, 23408 }, + { 19052, 29087 }, + { 19053, 34223 }, + { 19054, 26257 }, + { 19055, 26329 }, + { 19056, 32626 }, + { 19057, 34560 }, + { 19058, 40653 }, + { 19059, 40736 }, + { 19060, 23646 }, + { 19061, 26415 }, + { 19062, 36848 }, + { 19063, 26641 }, + { 19064, 26463 }, + { 19065, 25101 }, + { 19066, 31446 }, + { 19067, 22661 }, + { 19068, 24246 }, + { 19069, 25968 }, + { 19070, 28465 }, + { 19233, 24661 }, + { 19234, 21047 }, + { 19235, 32781 }, + { 19236, 25684 }, + { 19237, 34928 }, + { 19238, 29993 }, + { 19239, 24069 }, + { 19240, 26643 }, + { 19241, 25332 }, + { 19242, 38684 }, + { 19243, 21452 }, + { 19244, 29245 }, + { 19245, 35841 }, + { 19246, 27700 }, + { 19247, 30561 }, + { 19248, 31246 }, + { 19249, 21550 }, + { 19250, 30636 }, + { 19251, 39034 }, + { 19252, 33308 }, + { 19253, 35828 }, + { 19254, 30805 }, + { 19255, 26388 }, + { 19256, 28865 }, + { 19257, 26031 }, + { 19258, 25749 }, + { 19259, 22070 }, + { 19260, 24605 }, + { 19261, 31169 }, + { 19262, 21496 }, + { 19263, 19997 }, + { 19264, 27515 }, + { 19265, 32902 }, + { 19266, 23546 }, + { 19267, 21987 }, + { 19268, 22235 }, + { 19269, 20282 }, + { 19270, 20284 }, + { 19271, 39282 }, + { 19272, 24051 }, + { 19273, 26494 }, + { 19274, 32824 }, + { 19275, 24578 }, + { 19276, 39042 }, + { 19277, 36865 }, + { 19278, 23435 }, + { 19279, 35772 }, + { 19280, 35829 }, + { 19281, 25628 }, + { 19282, 33368 }, + { 19283, 25822 }, + { 19284, 22013 }, + { 19285, 33487 }, + { 19286, 37221 }, + { 19287, 20439 }, + { 19288, 32032 }, + { 19289, 36895 }, + { 19290, 31903 }, + { 19291, 20723 }, + { 19292, 22609 }, + { 19293, 28335 }, + { 19294, 23487 }, + { 19295, 35785 }, + { 19296, 32899 }, + { 19297, 37240 }, + { 19298, 33948 }, + { 19299, 31639 }, + { 19300, 34429 }, + { 19301, 38539 }, + { 19302, 38543 }, + { 19303, 32485 }, + { 19304, 39635 }, + { 19305, 30862 }, + { 19306, 23681 }, + { 19307, 31319 }, + { 19308, 36930 }, + { 19309, 38567 }, + { 19310, 31071 }, + { 19311, 23385 }, + { 19312, 25439 }, + { 19313, 31499 }, + { 19314, 34001 }, + { 19315, 26797 }, + { 19316, 21766 }, + { 19317, 32553 }, + { 19318, 29712 }, + { 19319, 32034 }, + { 19320, 38145 }, + { 19321, 25152 }, + { 19322, 22604 }, + { 19323, 20182 }, + { 19324, 23427 }, + { 19325, 22905 }, + { 19326, 22612 }, + { 19489, 29549 }, + { 19490, 25374 }, + { 19491, 36427 }, + { 19492, 36367 }, + { 19493, 32974 }, + { 19494, 33492 }, + { 19495, 25260 }, + { 19496, 21488 }, + { 19497, 27888 }, + { 19498, 37214 }, + { 19499, 22826 }, + { 19500, 24577 }, + { 19501, 27760 }, + { 19502, 22349 }, + { 19503, 25674 }, + { 19504, 36138 }, + { 19505, 30251 }, + { 19506, 28393 }, + { 19507, 22363 }, + { 19508, 27264 }, + { 19509, 30192 }, + { 19510, 28525 }, + { 19511, 35885 }, + { 19512, 35848 }, + { 19513, 22374 }, + { 19514, 27631 }, + { 19515, 34962 }, + { 19516, 30899 }, + { 19517, 25506 }, + { 19518, 21497 }, + { 19519, 28845 }, + { 19520, 27748 }, + { 19521, 22616 }, + { 19522, 25642 }, + { 19523, 22530 }, + { 19524, 26848 }, + { 19525, 33179 }, + { 19526, 21776 }, + { 19527, 31958 }, + { 19528, 20504 }, + { 19529, 36538 }, + { 19530, 28108 }, + { 19531, 36255 }, + { 19532, 28907 }, + { 19533, 25487 }, + { 19534, 28059 }, + { 19535, 28372 }, + { 19536, 32486 }, + { 19537, 33796 }, + { 19538, 26691 }, + { 19539, 36867 }, + { 19540, 28120 }, + { 19541, 38518 }, + { 19542, 35752 }, + { 19543, 22871 }, + { 19544, 29305 }, + { 19545, 34276 }, + { 19546, 33150 }, + { 19547, 30140 }, + { 19548, 35466 }, + { 19549, 26799 }, + { 19550, 21076 }, + { 19551, 36386 }, + { 19552, 38161 }, + { 19553, 25552 }, + { 19554, 39064 }, + { 19555, 36420 }, + { 19556, 21884 }, + { 19557, 20307 }, + { 19558, 26367 }, + { 19559, 22159 }, + { 19560, 24789 }, + { 19561, 28053 }, + { 19562, 21059 }, + { 19563, 23625 }, + { 19564, 22825 }, + { 19565, 28155 }, + { 19566, 22635 }, + { 19567, 30000 }, + { 19568, 29980 }, + { 19569, 24684 }, + { 19570, 33300 }, + { 19571, 33094 }, + { 19572, 25361 }, + { 19573, 26465 }, + { 19574, 36834 }, + { 19575, 30522 }, + { 19576, 36339 }, + { 19577, 36148 }, + { 19578, 38081 }, + { 19579, 24086 }, + { 19580, 21381 }, + { 19581, 21548 }, + { 19582, 28867 }, + { 19745, 27712 }, + { 19746, 24311 }, + { 19747, 20572 }, + { 19748, 20141 }, + { 19749, 24237 }, + { 19750, 25402 }, + { 19751, 33351 }, + { 19752, 36890 }, + { 19753, 26704 }, + { 19754, 37230 }, + { 19755, 30643 }, + { 19756, 21516 }, + { 19757, 38108 }, + { 19758, 24420 }, + { 19759, 31461 }, + { 19760, 26742 }, + { 19761, 25413 }, + { 19762, 31570 }, + { 19763, 32479 }, + { 19764, 30171 }, + { 19765, 20599 }, + { 19766, 25237 }, + { 19767, 22836 }, + { 19768, 36879 }, + { 19769, 20984 }, + { 19770, 31171 }, + { 19771, 31361 }, + { 19772, 22270 }, + { 19773, 24466 }, + { 19774, 36884 }, + { 19775, 28034 }, + { 19776, 23648 }, + { 19777, 22303 }, + { 19778, 21520 }, + { 19779, 20820 }, + { 19780, 28237 }, + { 19781, 22242 }, + { 19782, 25512 }, + { 19783, 39059 }, + { 19784, 33151 }, + { 19785, 34581 }, + { 19786, 35114 }, + { 19787, 36864 }, + { 19788, 21534 }, + { 19789, 23663 }, + { 19790, 33216 }, + { 19791, 25302 }, + { 19792, 25176 }, + { 19793, 33073 }, + { 19794, 40501 }, + { 19795, 38464 }, + { 19796, 39534 }, + { 19797, 39548 }, + { 19798, 26925 }, + { 19799, 22949 }, + { 19800, 25299 }, + { 19801, 21822 }, + { 19802, 25366 }, + { 19803, 21703 }, + { 19804, 34521 }, + { 19805, 27964 }, + { 19806, 23043 }, + { 19807, 29926 }, + { 19808, 34972 }, + { 19809, 27498 }, + { 19810, 22806 }, + { 19811, 35916 }, + { 19812, 24367 }, + { 19813, 28286 }, + { 19814, 29609 }, + { 19815, 39037 }, + { 19816, 20024 }, + { 19817, 28919 }, + { 19818, 23436 }, + { 19819, 30871 }, + { 19820, 25405 }, + { 19821, 26202 }, + { 19822, 30358 }, + { 19823, 24779 }, + { 19824, 23451 }, + { 19825, 23113 }, + { 19826, 19975 }, + { 19827, 33109 }, + { 19828, 27754 }, + { 19829, 29579 }, + { 19830, 20129 }, + { 19831, 26505 }, + { 19832, 32593 }, + { 19833, 24448 }, + { 19834, 26106 }, + { 19835, 26395 }, + { 19836, 24536 }, + { 19837, 22916 }, + { 19838, 23041 }, + { 20001, 24013 }, + { 20002, 24494 }, + { 20003, 21361 }, + { 20004, 38886 }, + { 20005, 36829 }, + { 20006, 26693 }, + { 20007, 22260 }, + { 20008, 21807 }, + { 20009, 24799 }, + { 20010, 20026 }, + { 20011, 28493 }, + { 20012, 32500 }, + { 20013, 33479 }, + { 20014, 33806 }, + { 20015, 22996 }, + { 20016, 20255 }, + { 20017, 20266 }, + { 20018, 23614 }, + { 20019, 32428 }, + { 20020, 26410 }, + { 20021, 34074 }, + { 20022, 21619 }, + { 20023, 30031 }, + { 20024, 32963 }, + { 20025, 21890 }, + { 20026, 39759 }, + { 20027, 20301 }, + { 20028, 28205 }, + { 20029, 35859 }, + { 20030, 23561 }, + { 20031, 24944 }, + { 20032, 21355 }, + { 20033, 30239 }, + { 20034, 28201 }, + { 20035, 34442 }, + { 20036, 25991 }, + { 20037, 38395 }, + { 20038, 32441 }, + { 20039, 21563 }, + { 20040, 31283 }, + { 20041, 32010 }, + { 20042, 38382 }, + { 20043, 21985 }, + { 20044, 32705 }, + { 20045, 29934 }, + { 20046, 25373 }, + { 20047, 34583 }, + { 20048, 28065 }, + { 20049, 31389 }, + { 20050, 25105 }, + { 20051, 26017 }, + { 20052, 21351 }, + { 20053, 25569 }, + { 20054, 27779 }, + { 20055, 24043 }, + { 20056, 21596 }, + { 20057, 38056 }, + { 20058, 20044 }, + { 20059, 27745 }, + { 20060, 35820 }, + { 20061, 23627 }, + { 20062, 26080 }, + { 20063, 33436 }, + { 20064, 26791 }, + { 20065, 21566 }, + { 20066, 21556 }, + { 20067, 27595 }, + { 20068, 27494 }, + { 20069, 20116 }, + { 20070, 25410 }, + { 20071, 21320 }, + { 20072, 33310 }, + { 20073, 20237 }, + { 20074, 20398 }, + { 20075, 22366 }, + { 20076, 25098 }, + { 20077, 38654 }, + { 20078, 26212 }, + { 20079, 29289 }, + { 20080, 21247 }, + { 20081, 21153 }, + { 20082, 24735 }, + { 20083, 35823 }, + { 20084, 26132 }, + { 20085, 29081 }, + { 20086, 26512 }, + { 20087, 35199 }, + { 20088, 30802 }, + { 20089, 30717 }, + { 20090, 26224 }, + { 20091, 22075 }, + { 20092, 21560 }, + { 20093, 38177 }, + { 20094, 29306 }, + { 20257, 31232 }, + { 20258, 24687 }, + { 20259, 24076 }, + { 20260, 24713 }, + { 20261, 33181 }, + { 20262, 22805 }, + { 20263, 24796 }, + { 20264, 29060 }, + { 20265, 28911 }, + { 20266, 28330 }, + { 20267, 27728 }, + { 20268, 29312 }, + { 20269, 27268 }, + { 20270, 34989 }, + { 20271, 24109 }, + { 20272, 20064 }, + { 20273, 23219 }, + { 20274, 21916 }, + { 20275, 38115 }, + { 20276, 27927 }, + { 20277, 31995 }, + { 20278, 38553 }, + { 20279, 25103 }, + { 20280, 32454 }, + { 20281, 30606 }, + { 20282, 34430 }, + { 20283, 21283 }, + { 20284, 38686 }, + { 20285, 36758 }, + { 20286, 26247 }, + { 20287, 23777 }, + { 20288, 20384 }, + { 20289, 29421 }, + { 20290, 19979 }, + { 20291, 21414 }, + { 20292, 22799 }, + { 20293, 21523 }, + { 20294, 25472 }, + { 20295, 38184 }, + { 20296, 20808 }, + { 20297, 20185 }, + { 20298, 40092 }, + { 20299, 32420 }, + { 20300, 21688 }, + { 20301, 36132 }, + { 20302, 34900 }, + { 20303, 33335 }, + { 20304, 38386 }, + { 20305, 28046 }, + { 20306, 24358 }, + { 20307, 23244 }, + { 20308, 26174 }, + { 20309, 38505 }, + { 20310, 29616 }, + { 20311, 29486 }, + { 20312, 21439 }, + { 20313, 33146 }, + { 20314, 39301 }, + { 20315, 32673 }, + { 20316, 23466 }, + { 20317, 38519 }, + { 20318, 38480 }, + { 20319, 32447 }, + { 20320, 30456 }, + { 20321, 21410 }, + { 20322, 38262 }, + { 20323, 39321 }, + { 20324, 31665 }, + { 20325, 35140 }, + { 20326, 28248 }, + { 20327, 20065 }, + { 20328, 32724 }, + { 20329, 31077 }, + { 20330, 35814 }, + { 20331, 24819 }, + { 20332, 21709 }, + { 20333, 20139 }, + { 20334, 39033 }, + { 20335, 24055 }, + { 20336, 27233 }, + { 20337, 20687 }, + { 20338, 21521 }, + { 20339, 35937 }, + { 20340, 33831 }, + { 20341, 30813 }, + { 20342, 38660 }, + { 20343, 21066 }, + { 20344, 21742 }, + { 20345, 22179 }, + { 20346, 38144 }, + { 20347, 28040 }, + { 20348, 23477 }, + { 20349, 28102 }, + { 20350, 26195 }, + { 20513, 23567 }, + { 20514, 23389 }, + { 20515, 26657 }, + { 20516, 32918 }, + { 20517, 21880 }, + { 20518, 31505 }, + { 20519, 25928 }, + { 20520, 26964 }, + { 20521, 20123 }, + { 20522, 27463 }, + { 20523, 34638 }, + { 20524, 38795 }, + { 20525, 21327 }, + { 20526, 25375 }, + { 20527, 25658 }, + { 20528, 37034 }, + { 20529, 26012 }, + { 20530, 32961 }, + { 20531, 35856 }, + { 20532, 20889 }, + { 20533, 26800 }, + { 20534, 21368 }, + { 20535, 34809 }, + { 20536, 25032 }, + { 20537, 27844 }, + { 20538, 27899 }, + { 20539, 35874 }, + { 20540, 23633 }, + { 20541, 34218 }, + { 20542, 33455 }, + { 20543, 38156 }, + { 20544, 27427 }, + { 20545, 36763 }, + { 20546, 26032 }, + { 20547, 24571 }, + { 20548, 24515 }, + { 20549, 20449 }, + { 20550, 34885 }, + { 20551, 26143 }, + { 20552, 33125 }, + { 20553, 29481 }, + { 20554, 24826 }, + { 20555, 20852 }, + { 20556, 21009 }, + { 20557, 22411 }, + { 20558, 24418 }, + { 20559, 37026 }, + { 20560, 34892 }, + { 20561, 37266 }, + { 20562, 24184 }, + { 20563, 26447 }, + { 20564, 24615 }, + { 20565, 22995 }, + { 20566, 20804 }, + { 20567, 20982 }, + { 20568, 33016 }, + { 20569, 21256 }, + { 20570, 27769 }, + { 20571, 38596 }, + { 20572, 29066 }, + { 20573, 20241 }, + { 20574, 20462 }, + { 20575, 32670 }, + { 20576, 26429 }, + { 20577, 21957 }, + { 20578, 38152 }, + { 20579, 31168 }, + { 20580, 34966 }, + { 20581, 32483 }, + { 20582, 22687 }, + { 20583, 25100 }, + { 20584, 38656 }, + { 20585, 34394 }, + { 20586, 22040 }, + { 20587, 39035 }, + { 20588, 24464 }, + { 20589, 35768 }, + { 20590, 33988 }, + { 20591, 37207 }, + { 20592, 21465 }, + { 20593, 26093 }, + { 20594, 24207 }, + { 20595, 30044 }, + { 20596, 24676 }, + { 20597, 32110 }, + { 20598, 23167 }, + { 20599, 32490 }, + { 20600, 32493 }, + { 20601, 36713 }, + { 20602, 21927 }, + { 20603, 23459 }, + { 20604, 24748 }, + { 20605, 26059 }, + { 20606, 29572 }, + { 20769, 36873 }, + { 20770, 30307 }, + { 20771, 30505 }, + { 20772, 32474 }, + { 20773, 38772 }, + { 20774, 34203 }, + { 20775, 23398 }, + { 20776, 31348 }, + { 20777, 38634 }, + { 20778, 34880 }, + { 20779, 21195 }, + { 20780, 29071 }, + { 20781, 24490 }, + { 20782, 26092 }, + { 20783, 35810 }, + { 20784, 23547 }, + { 20785, 39535 }, + { 20786, 24033 }, + { 20787, 27529 }, + { 20788, 27739 }, + { 20789, 35757 }, + { 20790, 35759 }, + { 20791, 36874 }, + { 20792, 36805 }, + { 20793, 21387 }, + { 20794, 25276 }, + { 20795, 40486 }, + { 20796, 40493 }, + { 20797, 21568 }, + { 20798, 20011 }, + { 20799, 33469 }, + { 20800, 29273 }, + { 20801, 34460 }, + { 20802, 23830 }, + { 20803, 34905 }, + { 20804, 28079 }, + { 20805, 38597 }, + { 20806, 21713 }, + { 20807, 20122 }, + { 20808, 35766 }, + { 20809, 28937 }, + { 20810, 21693 }, + { 20811, 38409 }, + { 20812, 28895 }, + { 20813, 28153 }, + { 20814, 30416 }, + { 20815, 20005 }, + { 20816, 30740 }, + { 20817, 34578 }, + { 20818, 23721 }, + { 20819, 24310 }, + { 20820, 35328 }, + { 20821, 39068 }, + { 20822, 38414 }, + { 20823, 28814 }, + { 20824, 27839 }, + { 20825, 22852 }, + { 20826, 25513 }, + { 20827, 30524 }, + { 20828, 34893 }, + { 20829, 28436 }, + { 20830, 33395 }, + { 20831, 22576 }, + { 20832, 29141 }, + { 20833, 21388 }, + { 20834, 30746 }, + { 20835, 38593 }, + { 20836, 21761 }, + { 20837, 24422 }, + { 20838, 28976 }, + { 20839, 23476 }, + { 20840, 35866 }, + { 20841, 39564 }, + { 20842, 27523 }, + { 20843, 22830 }, + { 20844, 40495 }, + { 20845, 31207 }, + { 20846, 26472 }, + { 20847, 25196 }, + { 20848, 20335 }, + { 20849, 30113 }, + { 20850, 32650 }, + { 20851, 27915 }, + { 20852, 38451 }, + { 20853, 27687 }, + { 20854, 20208 }, + { 20855, 30162 }, + { 20856, 20859 }, + { 20857, 26679 }, + { 20858, 28478 }, + { 20859, 36992 }, + { 20860, 33136 }, + { 20861, 22934 }, + { 20862, 29814 }, + { 21025, 25671 }, + { 21026, 23591 }, + { 21027, 36965 }, + { 21028, 31377 }, + { 21029, 35875 }, + { 21030, 23002 }, + { 21031, 21676 }, + { 21032, 33280 }, + { 21033, 33647 }, + { 21034, 35201 }, + { 21035, 32768 }, + { 21036, 26928 }, + { 21037, 22094 }, + { 21038, 32822 }, + { 21039, 29239 }, + { 21040, 37326 }, + { 21041, 20918 }, + { 21042, 20063 }, + { 21043, 39029 }, + { 21044, 25494 }, + { 21045, 19994 }, + { 21046, 21494 }, + { 21047, 26355 }, + { 21048, 33099 }, + { 21049, 22812 }, + { 21050, 28082 }, + { 21051, 19968 }, + { 21052, 22777 }, + { 21053, 21307 }, + { 21054, 25558 }, + { 21055, 38129 }, + { 21056, 20381 }, + { 21057, 20234 }, + { 21058, 34915 }, + { 21059, 39056 }, + { 21060, 22839 }, + { 21061, 36951 }, + { 21062, 31227 }, + { 21063, 20202 }, + { 21064, 33008 }, + { 21065, 30097 }, + { 21066, 27778 }, + { 21067, 23452 }, + { 21068, 23016 }, + { 21069, 24413 }, + { 21070, 26885 }, + { 21071, 34433 }, + { 21072, 20506 }, + { 21073, 24050 }, + { 21074, 20057 }, + { 21075, 30691 }, + { 21076, 20197 }, + { 21077, 33402 }, + { 21078, 25233 }, + { 21079, 26131 }, + { 21080, 37009 }, + { 21081, 23673 }, + { 21082, 20159 }, + { 21083, 24441 }, + { 21084, 33222 }, + { 21085, 36920 }, + { 21086, 32900 }, + { 21087, 30123 }, + { 21088, 20134 }, + { 21089, 35028 }, + { 21090, 24847 }, + { 21091, 27589 }, + { 21092, 24518 }, + { 21093, 20041 }, + { 21094, 30410 }, + { 21095, 28322 }, + { 21096, 35811 }, + { 21097, 35758 }, + { 21098, 35850 }, + { 21099, 35793 }, + { 21100, 24322 }, + { 21101, 32764 }, + { 21102, 32716 }, + { 21103, 32462 }, + { 21104, 33589 }, + { 21105, 33643 }, + { 21106, 22240 }, + { 21107, 27575 }, + { 21108, 38899 }, + { 21109, 38452 }, + { 21110, 23035 }, + { 21111, 21535 }, + { 21112, 38134 }, + { 21113, 28139 }, + { 21114, 23493 }, + { 21115, 39278 }, + { 21116, 23609 }, + { 21117, 24341 }, + { 21118, 38544 }, + { 21281, 21360 }, + { 21282, 33521 }, + { 21283, 27185 }, + { 21284, 23156 }, + { 21285, 40560 }, + { 21286, 24212 }, + { 21287, 32552 }, + { 21288, 33721 }, + { 21289, 33828 }, + { 21290, 33829 }, + { 21291, 33639 }, + { 21292, 34631 }, + { 21293, 36814 }, + { 21294, 36194 }, + { 21295, 30408 }, + { 21296, 24433 }, + { 21297, 39062 }, + { 21298, 30828 }, + { 21299, 26144 }, + { 21300, 21727 }, + { 21301, 25317 }, + { 21302, 20323 }, + { 21303, 33219 }, + { 21304, 30152 }, + { 21305, 24248 }, + { 21306, 38605 }, + { 21307, 36362 }, + { 21308, 34553 }, + { 21309, 21647 }, + { 21310, 27891 }, + { 21311, 28044 }, + { 21312, 27704 }, + { 21313, 24703 }, + { 21314, 21191 }, + { 21315, 29992 }, + { 21316, 24189 }, + { 21317, 20248 }, + { 21318, 24736 }, + { 21319, 24551 }, + { 21320, 23588 }, + { 21321, 30001 }, + { 21322, 37038 }, + { 21323, 38080 }, + { 21324, 29369 }, + { 21325, 27833 }, + { 21326, 28216 }, + { 21327, 37193 }, + { 21328, 26377 }, + { 21329, 21451 }, + { 21330, 21491 }, + { 21331, 20305 }, + { 21332, 37321 }, + { 21333, 35825 }, + { 21334, 21448 }, + { 21335, 24188 }, + { 21336, 36802 }, + { 21337, 28132 }, + { 21338, 20110 }, + { 21339, 30402 }, + { 21340, 27014 }, + { 21341, 34398 }, + { 21342, 24858 }, + { 21343, 33286 }, + { 21344, 20313 }, + { 21345, 20446 }, + { 21346, 36926 }, + { 21347, 40060 }, + { 21348, 24841 }, + { 21349, 28189 }, + { 21350, 28180 }, + { 21351, 38533 }, + { 21352, 20104 }, + { 21353, 23089 }, + { 21354, 38632 }, + { 21355, 19982 }, + { 21356, 23679 }, + { 21357, 31161 }, + { 21358, 23431 }, + { 21359, 35821 }, + { 21360, 32701 }, + { 21361, 29577 }, + { 21362, 22495 }, + { 21363, 33419 }, + { 21364, 37057 }, + { 21365, 21505 }, + { 21366, 36935 }, + { 21367, 21947 }, + { 21368, 23786 }, + { 21369, 24481 }, + { 21370, 24840 }, + { 21371, 27442 }, + { 21372, 29425 }, + { 21373, 32946 }, + { 21374, 35465 }, + { 21537, 28020 }, + { 21538, 23507 }, + { 21539, 35029 }, + { 21540, 39044 }, + { 21541, 35947 }, + { 21542, 39533 }, + { 21543, 40499 }, + { 21544, 28170 }, + { 21545, 20900 }, + { 21546, 20803 }, + { 21547, 22435 }, + { 21548, 34945 }, + { 21549, 21407 }, + { 21550, 25588 }, + { 21551, 36757 }, + { 21552, 22253 }, + { 21553, 21592 }, + { 21554, 22278 }, + { 21555, 29503 }, + { 21556, 28304 }, + { 21557, 32536 }, + { 21558, 36828 }, + { 21559, 33489 }, + { 21560, 24895 }, + { 21561, 24616 }, + { 21562, 38498 }, + { 21563, 26352 }, + { 21564, 32422 }, + { 21565, 36234 }, + { 21566, 36291 }, + { 21567, 38053 }, + { 21568, 23731 }, + { 21569, 31908 }, + { 21570, 26376 }, + { 21571, 24742 }, + { 21572, 38405 }, + { 21573, 32792 }, + { 21574, 20113 }, + { 21575, 37095 }, + { 21576, 21248 }, + { 21577, 38504 }, + { 21578, 20801 }, + { 21579, 36816 }, + { 21580, 34164 }, + { 21581, 37213 }, + { 21582, 26197 }, + { 21583, 38901 }, + { 21584, 23381 }, + { 21585, 21277 }, + { 21586, 30776 }, + { 21587, 26434 }, + { 21588, 26685 }, + { 21589, 21705 }, + { 21590, 28798 }, + { 21591, 23472 }, + { 21592, 36733 }, + { 21593, 20877 }, + { 21594, 22312 }, + { 21595, 21681 }, + { 21596, 25874 }, + { 21597, 26242 }, + { 21598, 36190 }, + { 21599, 36163 }, + { 21600, 33039 }, + { 21601, 33900 }, + { 21602, 36973 }, + { 21603, 31967 }, + { 21604, 20991 }, + { 21605, 34299 }, + { 21606, 26531 }, + { 21607, 26089 }, + { 21608, 28577 }, + { 21609, 34468 }, + { 21610, 36481 }, + { 21611, 22122 }, + { 21612, 36896 }, + { 21613, 30338 }, + { 21614, 28790 }, + { 21615, 29157 }, + { 21616, 36131 }, + { 21617, 25321 }, + { 21618, 21017 }, + { 21619, 27901 }, + { 21620, 36156 }, + { 21621, 24590 }, + { 21622, 22686 }, + { 21623, 24974 }, + { 21624, 26366 }, + { 21625, 36192 }, + { 21626, 25166 }, + { 21627, 21939 }, + { 21628, 28195 }, + { 21629, 26413 }, + { 21630, 36711 }, + { 21793, 38113 }, + { 21794, 38392 }, + { 21795, 30504 }, + { 21796, 26629 }, + { 21797, 27048 }, + { 21798, 21643 }, + { 21799, 20045 }, + { 21800, 28856 }, + { 21801, 35784 }, + { 21802, 25688 }, + { 21803, 25995 }, + { 21804, 23429 }, + { 21805, 31364 }, + { 21806, 20538 }, + { 21807, 23528 }, + { 21808, 30651 }, + { 21809, 27617 }, + { 21810, 35449 }, + { 21811, 31896 }, + { 21812, 27838 }, + { 21813, 30415 }, + { 21814, 26025 }, + { 21815, 36759 }, + { 21816, 23853 }, + { 21817, 23637 }, + { 21818, 34360 }, + { 21819, 26632 }, + { 21820, 21344 }, + { 21821, 25112 }, + { 21822, 31449 }, + { 21823, 28251 }, + { 21824, 32509 }, + { 21825, 27167 }, + { 21826, 31456 }, + { 21827, 24432 }, + { 21828, 28467 }, + { 21829, 24352 }, + { 21830, 25484 }, + { 21831, 28072 }, + { 21832, 26454 }, + { 21833, 19976 }, + { 21834, 24080 }, + { 21835, 36134 }, + { 21836, 20183 }, + { 21837, 32960 }, + { 21838, 30260 }, + { 21839, 38556 }, + { 21840, 25307 }, + { 21841, 26157 }, + { 21842, 25214 }, + { 21843, 27836 }, + { 21844, 36213 }, + { 21845, 29031 }, + { 21846, 32617 }, + { 21847, 20806 }, + { 21848, 32903 }, + { 21849, 21484 }, + { 21850, 36974 }, + { 21851, 25240 }, + { 21852, 21746 }, + { 21853, 34544 }, + { 21854, 36761 }, + { 21855, 32773 }, + { 21856, 38167 }, + { 21857, 34071 }, + { 21858, 36825 }, + { 21859, 27993 }, + { 21860, 29645 }, + { 21861, 26015 }, + { 21862, 30495 }, + { 21863, 29956 }, + { 21864, 30759 }, + { 21865, 33275 }, + { 21866, 36126 }, + { 21867, 38024 }, + { 21868, 20390 }, + { 21869, 26517 }, + { 21870, 30137 }, + { 21871, 35786 }, + { 21872, 38663 }, + { 21873, 25391 }, + { 21874, 38215 }, + { 21875, 38453 }, + { 21876, 33976 }, + { 21877, 25379 }, + { 21878, 30529 }, + { 21879, 24449 }, + { 21880, 29424 }, + { 21881, 20105 }, + { 21882, 24596 }, + { 21883, 25972 }, + { 21884, 25327 }, + { 21885, 27491 }, + { 21886, 25919 }, + { 22049, 24103 }, + { 22050, 30151 }, + { 22051, 37073 }, + { 22052, 35777 }, + { 22053, 33437 }, + { 22054, 26525 }, + { 22055, 25903 }, + { 22056, 21553 }, + { 22057, 34584 }, + { 22058, 30693 }, + { 22059, 32930 }, + { 22060, 33026 }, + { 22061, 27713 }, + { 22062, 20043 }, + { 22063, 32455 }, + { 22064, 32844 }, + { 22065, 30452 }, + { 22066, 26893 }, + { 22067, 27542 }, + { 22068, 25191 }, + { 22069, 20540 }, + { 22070, 20356 }, + { 22071, 22336 }, + { 22072, 25351 }, + { 22073, 27490 }, + { 22074, 36286 }, + { 22075, 21482 }, + { 22076, 26088 }, + { 22077, 32440 }, + { 22078, 24535 }, + { 22079, 25370 }, + { 22080, 25527 }, + { 22081, 33267 }, + { 22082, 33268 }, + { 22083, 32622 }, + { 22084, 24092 }, + { 22085, 23769 }, + { 22086, 21046 }, + { 22087, 26234 }, + { 22088, 31209 }, + { 22089, 31258 }, + { 22090, 36136 }, + { 22091, 28825 }, + { 22092, 30164 }, + { 22093, 28382 }, + { 22094, 27835 }, + { 22095, 31378 }, + { 22096, 20013 }, + { 22097, 30405 }, + { 22098, 24544 }, + { 22099, 38047 }, + { 22100, 34935 }, + { 22101, 32456 }, + { 22102, 31181 }, + { 22103, 32959 }, + { 22104, 37325 }, + { 22105, 20210 }, + { 22106, 20247 }, + { 22107, 33311 }, + { 22108, 21608 }, + { 22109, 24030 }, + { 22110, 27954 }, + { 22111, 35788 }, + { 22112, 31909 }, + { 22113, 36724 }, + { 22114, 32920 }, + { 22115, 24090 }, + { 22116, 21650 }, + { 22117, 30385 }, + { 22118, 23449 }, + { 22119, 26172 }, + { 22120, 39588 }, + { 22121, 29664 }, + { 22122, 26666 }, + { 22123, 34523 }, + { 22124, 26417 }, + { 22125, 29482 }, + { 22126, 35832 }, + { 22127, 35803 }, + { 22128, 36880 }, + { 22129, 31481 }, + { 22130, 28891 }, + { 22131, 29038 }, + { 22132, 25284 }, + { 22133, 30633 }, + { 22134, 22065 }, + { 22135, 20027 }, + { 22136, 33879 }, + { 22137, 26609 }, + { 22138, 21161 }, + { 22139, 34496 }, + { 22140, 36142 }, + { 22141, 38136 }, + { 22142, 31569 }, + { 22305, 20303 }, + { 22306, 27880 }, + { 22307, 31069 }, + { 22308, 39547 }, + { 22309, 25235 }, + { 22310, 29226 }, + { 22311, 25341 }, + { 22312, 19987 }, + { 22313, 30742 }, + { 22314, 36716 }, + { 22315, 25776 }, + { 22316, 36186 }, + { 22317, 31686 }, + { 22318, 26729 }, + { 22319, 24196 }, + { 22320, 35013 }, + { 22321, 22918 }, + { 22322, 25758 }, + { 22323, 22766 }, + { 22324, 29366 }, + { 22325, 26894 }, + { 22326, 38181 }, + { 22327, 36861 }, + { 22328, 36184 }, + { 22329, 22368 }, + { 22330, 32512 }, + { 22331, 35846 }, + { 22332, 20934 }, + { 22333, 25417 }, + { 22334, 25305 }, + { 22335, 21331 }, + { 22336, 26700 }, + { 22337, 29730 }, + { 22338, 33537 }, + { 22339, 37196 }, + { 22340, 21828 }, + { 22341, 30528 }, + { 22342, 28796 }, + { 22343, 27978 }, + { 22344, 20857 }, + { 22345, 21672 }, + { 22346, 36164 }, + { 22347, 23039 }, + { 22348, 28363 }, + { 22349, 28100 }, + { 22350, 23388 }, + { 22351, 32043 }, + { 22352, 20180 }, + { 22353, 31869 }, + { 22354, 28371 }, + { 22355, 23376 }, + { 22356, 33258 }, + { 22357, 28173 }, + { 22358, 23383 }, + { 22359, 39683 }, + { 22360, 26837 }, + { 22361, 36394 }, + { 22362, 23447 }, + { 22363, 32508 }, + { 22364, 24635 }, + { 22365, 32437 }, + { 22366, 37049 }, + { 22367, 36208 }, + { 22368, 22863 }, + { 22369, 25549 }, + { 22370, 31199 }, + { 22371, 36275 }, + { 22372, 21330 }, + { 22373, 26063 }, + { 22374, 31062 }, + { 22375, 35781 }, + { 22376, 38459 }, + { 22377, 32452 }, + { 22378, 38075 }, + { 22379, 32386 }, + { 22380, 22068 }, + { 22381, 37257 }, + { 22382, 26368 }, + { 22383, 32618 }, + { 22384, 23562 }, + { 22385, 36981 }, + { 22386, 26152 }, + { 22387, 24038 }, + { 22388, 20304 }, + { 22389, 26590 }, + { 22390, 20570 }, + { 22391, 20316 }, + { 22392, 22352 }, + { 22393, 24231 }, + { 22561, 20109 }, + { 22562, 19980 }, + { 22563, 20800 }, + { 22564, 19984 }, + { 22565, 24319 }, + { 22566, 21317 }, + { 22567, 19989 }, + { 22568, 20120 }, + { 22569, 19998 }, + { 22570, 39730 }, + { 22571, 23404 }, + { 22572, 22121 }, + { 22573, 20008 }, + { 22574, 31162 }, + { 22575, 20031 }, + { 22576, 21269 }, + { 22577, 20039 }, + { 22578, 22829 }, + { 22579, 29243 }, + { 22580, 21358 }, + { 22581, 27664 }, + { 22582, 22239 }, + { 22583, 32996 }, + { 22584, 39319 }, + { 22585, 27603 }, + { 22586, 30590 }, + { 22587, 40727 }, + { 22588, 20022 }, + { 22589, 20127 }, + { 22590, 40720 }, + { 22591, 20060 }, + { 22592, 20073 }, + { 22593, 20115 }, + { 22594, 33416 }, + { 22595, 23387 }, + { 22596, 21868 }, + { 22597, 22031 }, + { 22598, 20164 }, + { 22599, 21389 }, + { 22600, 21405 }, + { 22601, 21411 }, + { 22602, 21413 }, + { 22603, 21422 }, + { 22604, 38757 }, + { 22605, 36189 }, + { 22606, 21274 }, + { 22607, 21493 }, + { 22608, 21286 }, + { 22609, 21294 }, + { 22610, 21310 }, + { 22611, 36188 }, + { 22612, 21350 }, + { 22613, 21347 }, + { 22614, 20994 }, + { 22615, 21000 }, + { 22616, 21006 }, + { 22617, 21037 }, + { 22618, 21043 }, + { 22619, 21055 }, + { 22620, 21056 }, + { 22621, 21068 }, + { 22622, 21086 }, + { 22623, 21089 }, + { 22624, 21084 }, + { 22625, 33967 }, + { 22626, 21117 }, + { 22627, 21122 }, + { 22628, 21121 }, + { 22629, 21136 }, + { 22630, 21139 }, + { 22631, 20866 }, + { 22632, 32596 }, + { 22633, 20155 }, + { 22634, 20163 }, + { 22635, 20169 }, + { 22636, 20162 }, + { 22637, 20200 }, + { 22638, 20193 }, + { 22639, 20203 }, + { 22640, 20190 }, + { 22641, 20251 }, + { 22642, 20211 }, + { 22643, 20258 }, + { 22644, 20324 }, + { 22645, 20213 }, + { 22646, 20261 }, + { 22647, 20263 }, + { 22648, 20233 }, + { 22649, 20267 }, + { 22650, 20318 }, + { 22651, 20327 }, + { 22652, 25912 }, + { 22653, 20314 }, + { 22654, 20317 }, + { 22817, 20319 }, + { 22818, 20311 }, + { 22819, 20274 }, + { 22820, 20285 }, + { 22821, 20342 }, + { 22822, 20340 }, + { 22823, 20369 }, + { 22824, 20361 }, + { 22825, 20355 }, + { 22826, 20367 }, + { 22827, 20350 }, + { 22828, 20347 }, + { 22829, 20394 }, + { 22830, 20348 }, + { 22831, 20396 }, + { 22832, 20372 }, + { 22833, 20454 }, + { 22834, 20456 }, + { 22835, 20458 }, + { 22836, 20421 }, + { 22837, 20442 }, + { 22838, 20451 }, + { 22839, 20444 }, + { 22840, 20433 }, + { 22841, 20447 }, + { 22842, 20472 }, + { 22843, 20521 }, + { 22844, 20556 }, + { 22845, 20467 }, + { 22846, 20524 }, + { 22847, 20495 }, + { 22848, 20526 }, + { 22849, 20525 }, + { 22850, 20478 }, + { 22851, 20508 }, + { 22852, 20492 }, + { 22853, 20517 }, + { 22854, 20520 }, + { 22855, 20606 }, + { 22856, 20547 }, + { 22857, 20565 }, + { 22858, 20552 }, + { 22859, 20558 }, + { 22860, 20588 }, + { 22861, 20603 }, + { 22862, 20645 }, + { 22863, 20647 }, + { 22864, 20649 }, + { 22865, 20666 }, + { 22866, 20694 }, + { 22867, 20742 }, + { 22868, 20717 }, + { 22869, 20716 }, + { 22870, 20710 }, + { 22871, 20718 }, + { 22872, 20743 }, + { 22873, 20747 }, + { 22874, 20189 }, + { 22875, 27709 }, + { 22876, 20312 }, + { 22877, 20325 }, + { 22878, 20430 }, + { 22879, 40864 }, + { 22880, 27718 }, + { 22881, 31860 }, + { 22882, 20846 }, + { 22883, 24061 }, + { 22884, 40649 }, + { 22885, 39320 }, + { 22886, 20865 }, + { 22887, 22804 }, + { 22888, 21241 }, + { 22889, 21261 }, + { 22890, 35335 }, + { 22891, 21264 }, + { 22892, 20971 }, + { 22893, 22809 }, + { 22894, 20821 }, + { 22895, 20128 }, + { 22896, 20822 }, + { 22897, 20147 }, + { 22898, 34926 }, + { 22899, 34980 }, + { 22900, 20149 }, + { 22901, 33044 }, + { 22902, 35026 }, + { 22903, 31104 }, + { 22904, 23348 }, + { 22905, 34819 }, + { 22906, 32696 }, + { 22907, 20907 }, + { 22908, 20913 }, + { 22909, 20925 }, + { 22910, 20924 }, + { 23073, 20935 }, + { 23074, 20886 }, + { 23075, 20898 }, + { 23076, 20901 }, + { 23077, 35744 }, + { 23078, 35750 }, + { 23079, 35751 }, + { 23080, 35754 }, + { 23081, 35764 }, + { 23082, 35765 }, + { 23083, 35767 }, + { 23084, 35778 }, + { 23085, 35779 }, + { 23086, 35787 }, + { 23087, 35791 }, + { 23088, 35790 }, + { 23089, 35794 }, + { 23090, 35795 }, + { 23091, 35796 }, + { 23092, 35798 }, + { 23093, 35800 }, + { 23094, 35801 }, + { 23095, 35804 }, + { 23096, 35807 }, + { 23097, 35808 }, + { 23098, 35812 }, + { 23099, 35816 }, + { 23100, 35817 }, + { 23101, 35822 }, + { 23102, 35824 }, + { 23103, 35827 }, + { 23104, 35830 }, + { 23105, 35833 }, + { 23106, 35836 }, + { 23107, 35839 }, + { 23108, 35840 }, + { 23109, 35842 }, + { 23110, 35844 }, + { 23111, 35847 }, + { 23112, 35852 }, + { 23113, 35855 }, + { 23114, 35857 }, + { 23115, 35858 }, + { 23116, 35860 }, + { 23117, 35861 }, + { 23118, 35862 }, + { 23119, 35865 }, + { 23120, 35867 }, + { 23121, 35864 }, + { 23122, 35869 }, + { 23123, 35871 }, + { 23124, 35872 }, + { 23125, 35873 }, + { 23126, 35877 }, + { 23127, 35879 }, + { 23128, 35882 }, + { 23129, 35883 }, + { 23130, 35886 }, + { 23131, 35887 }, + { 23132, 35890 }, + { 23133, 35891 }, + { 23134, 35893 }, + { 23135, 35894 }, + { 23136, 21353 }, + { 23137, 21370 }, + { 23138, 38429 }, + { 23139, 38434 }, + { 23140, 38433 }, + { 23141, 38449 }, + { 23142, 38442 }, + { 23143, 38461 }, + { 23144, 38460 }, + { 23145, 38466 }, + { 23146, 38473 }, + { 23147, 38484 }, + { 23148, 38495 }, + { 23149, 38503 }, + { 23150, 38508 }, + { 23151, 38514 }, + { 23152, 38516 }, + { 23153, 38536 }, + { 23154, 38541 }, + { 23155, 38551 }, + { 23156, 38576 }, + { 23157, 37015 }, + { 23158, 37019 }, + { 23159, 37021 }, + { 23160, 37017 }, + { 23161, 37036 }, + { 23162, 37025 }, + { 23163, 37044 }, + { 23164, 37043 }, + { 23165, 37046 }, + { 23166, 37050 }, + { 23329, 37048 }, + { 23330, 37040 }, + { 23331, 37071 }, + { 23332, 37061 }, + { 23333, 37054 }, + { 23334, 37072 }, + { 23335, 37060 }, + { 23336, 37063 }, + { 23337, 37075 }, + { 23338, 37094 }, + { 23339, 37090 }, + { 23340, 37084 }, + { 23341, 37079 }, + { 23342, 37083 }, + { 23343, 37099 }, + { 23344, 37103 }, + { 23345, 37118 }, + { 23346, 37124 }, + { 23347, 37154 }, + { 23348, 37150 }, + { 23349, 37155 }, + { 23350, 37169 }, + { 23351, 37167 }, + { 23352, 37177 }, + { 23353, 37187 }, + { 23354, 37190 }, + { 23355, 21005 }, + { 23356, 22850 }, + { 23357, 21154 }, + { 23358, 21164 }, + { 23359, 21165 }, + { 23360, 21182 }, + { 23361, 21759 }, + { 23362, 21200 }, + { 23363, 21206 }, + { 23364, 21232 }, + { 23365, 21471 }, + { 23366, 29166 }, + { 23367, 30669 }, + { 23368, 24308 }, + { 23369, 20981 }, + { 23370, 20988 }, + { 23371, 39727 }, + { 23372, 21430 }, + { 23373, 24321 }, + { 23374, 30042 }, + { 23375, 24047 }, + { 23376, 22348 }, + { 23377, 22441 }, + { 23378, 22433 }, + { 23379, 22654 }, + { 23380, 22716 }, + { 23381, 22725 }, + { 23382, 22737 }, + { 23383, 22313 }, + { 23384, 22316 }, + { 23385, 22314 }, + { 23386, 22323 }, + { 23387, 22329 }, + { 23388, 22318 }, + { 23389, 22319 }, + { 23390, 22364 }, + { 23391, 22331 }, + { 23392, 22338 }, + { 23393, 22377 }, + { 23394, 22405 }, + { 23395, 22379 }, + { 23396, 22406 }, + { 23397, 22396 }, + { 23398, 22395 }, + { 23399, 22376 }, + { 23400, 22381 }, + { 23401, 22390 }, + { 23402, 22387 }, + { 23403, 22445 }, + { 23404, 22436 }, + { 23405, 22412 }, + { 23406, 22450 }, + { 23407, 22479 }, + { 23408, 22439 }, + { 23409, 22452 }, + { 23410, 22419 }, + { 23411, 22432 }, + { 23412, 22485 }, + { 23413, 22488 }, + { 23414, 22490 }, + { 23415, 22489 }, + { 23416, 22482 }, + { 23417, 22456 }, + { 23418, 22516 }, + { 23419, 22511 }, + { 23420, 22520 }, + { 23421, 22500 }, + { 23422, 22493 }, + { 23585, 22539 }, + { 23586, 22541 }, + { 23587, 22525 }, + { 23588, 22509 }, + { 23589, 22528 }, + { 23590, 22558 }, + { 23591, 22553 }, + { 23592, 22596 }, + { 23593, 22560 }, + { 23594, 22629 }, + { 23595, 22636 }, + { 23596, 22657 }, + { 23597, 22665 }, + { 23598, 22682 }, + { 23599, 22656 }, + { 23600, 39336 }, + { 23601, 40729 }, + { 23602, 25087 }, + { 23603, 33401 }, + { 23604, 33405 }, + { 23605, 33407 }, + { 23606, 33423 }, + { 23607, 33418 }, + { 23608, 33448 }, + { 23609, 33412 }, + { 23610, 33422 }, + { 23611, 33425 }, + { 23612, 33431 }, + { 23613, 33433 }, + { 23614, 33451 }, + { 23615, 33464 }, + { 23616, 33470 }, + { 23617, 33456 }, + { 23618, 33480 }, + { 23619, 33482 }, + { 23620, 33507 }, + { 23621, 33432 }, + { 23622, 33463 }, + { 23623, 33454 }, + { 23624, 33483 }, + { 23625, 33484 }, + { 23626, 33473 }, + { 23627, 33449 }, + { 23628, 33460 }, + { 23629, 33441 }, + { 23630, 33450 }, + { 23631, 33439 }, + { 23632, 33476 }, + { 23633, 33486 }, + { 23634, 33444 }, + { 23635, 33505 }, + { 23636, 33545 }, + { 23637, 33527 }, + { 23638, 33508 }, + { 23639, 33551 }, + { 23640, 33543 }, + { 23641, 33500 }, + { 23642, 33524 }, + { 23643, 33490 }, + { 23644, 33496 }, + { 23645, 33548 }, + { 23646, 33531 }, + { 23647, 33491 }, + { 23648, 33553 }, + { 23649, 33562 }, + { 23650, 33542 }, + { 23651, 33556 }, + { 23652, 33557 }, + { 23653, 33504 }, + { 23654, 33493 }, + { 23655, 33564 }, + { 23656, 33617 }, + { 23657, 33627 }, + { 23658, 33628 }, + { 23659, 33544 }, + { 23660, 33682 }, + { 23661, 33596 }, + { 23662, 33588 }, + { 23663, 33585 }, + { 23664, 33691 }, + { 23665, 33630 }, + { 23666, 33583 }, + { 23667, 33615 }, + { 23668, 33607 }, + { 23669, 33603 }, + { 23670, 33631 }, + { 23671, 33600 }, + { 23672, 33559 }, + { 23673, 33632 }, + { 23674, 33581 }, + { 23675, 33594 }, + { 23676, 33587 }, + { 23677, 33638 }, + { 23678, 33637 }, + { 23841, 33640 }, + { 23842, 33563 }, + { 23843, 33641 }, + { 23844, 33644 }, + { 23845, 33642 }, + { 23846, 33645 }, + { 23847, 33646 }, + { 23848, 33712 }, + { 23849, 33656 }, + { 23850, 33715 }, + { 23851, 33716 }, + { 23852, 33696 }, + { 23853, 33706 }, + { 23854, 33683 }, + { 23855, 33692 }, + { 23856, 33669 }, + { 23857, 33660 }, + { 23858, 33718 }, + { 23859, 33705 }, + { 23860, 33661 }, + { 23861, 33720 }, + { 23862, 33659 }, + { 23863, 33688 }, + { 23864, 33694 }, + { 23865, 33704 }, + { 23866, 33722 }, + { 23867, 33724 }, + { 23868, 33729 }, + { 23869, 33793 }, + { 23870, 33765 }, + { 23871, 33752 }, + { 23872, 22535 }, + { 23873, 33816 }, + { 23874, 33803 }, + { 23875, 33757 }, + { 23876, 33789 }, + { 23877, 33750 }, + { 23878, 33820 }, + { 23879, 33848 }, + { 23880, 33809 }, + { 23881, 33798 }, + { 23882, 33748 }, + { 23883, 33759 }, + { 23884, 33807 }, + { 23885, 33795 }, + { 23886, 33784 }, + { 23887, 33785 }, + { 23888, 33770 }, + { 23889, 33733 }, + { 23890, 33728 }, + { 23891, 33830 }, + { 23892, 33776 }, + { 23893, 33761 }, + { 23894, 33884 }, + { 23895, 33873 }, + { 23896, 33882 }, + { 23897, 33881 }, + { 23898, 33907 }, + { 23899, 33927 }, + { 23900, 33928 }, + { 23901, 33914 }, + { 23902, 33929 }, + { 23903, 33912 }, + { 23904, 33852 }, + { 23905, 33862 }, + { 23906, 33897 }, + { 23907, 33910 }, + { 23908, 33932 }, + { 23909, 33934 }, + { 23910, 33841 }, + { 23911, 33901 }, + { 23912, 33985 }, + { 23913, 33997 }, + { 23914, 34000 }, + { 23915, 34022 }, + { 23916, 33981 }, + { 23917, 34003 }, + { 23918, 33994 }, + { 23919, 33983 }, + { 23920, 33978 }, + { 23921, 34016 }, + { 23922, 33953 }, + { 23923, 33977 }, + { 23924, 33972 }, + { 23925, 33943 }, + { 23926, 34021 }, + { 23927, 34019 }, + { 23928, 34060 }, + { 23929, 29965 }, + { 23930, 34104 }, + { 23931, 34032 }, + { 23932, 34105 }, + { 23933, 34079 }, + { 23934, 34106 }, + { 24097, 34134 }, + { 24098, 34107 }, + { 24099, 34047 }, + { 24100, 34044 }, + { 24101, 34137 }, + { 24102, 34120 }, + { 24103, 34152 }, + { 24104, 34148 }, + { 24105, 34142 }, + { 24106, 34170 }, + { 24107, 30626 }, + { 24108, 34115 }, + { 24109, 34162 }, + { 24110, 34171 }, + { 24111, 34212 }, + { 24112, 34216 }, + { 24113, 34183 }, + { 24114, 34191 }, + { 24115, 34169 }, + { 24116, 34222 }, + { 24117, 34204 }, + { 24118, 34181 }, + { 24119, 34233 }, + { 24120, 34231 }, + { 24121, 34224 }, + { 24122, 34259 }, + { 24123, 34241 }, + { 24124, 34268 }, + { 24125, 34303 }, + { 24126, 34343 }, + { 24127, 34309 }, + { 24128, 34345 }, + { 24129, 34326 }, + { 24130, 34364 }, + { 24131, 24318 }, + { 24132, 24328 }, + { 24133, 22844 }, + { 24134, 22849 }, + { 24135, 32823 }, + { 24136, 22869 }, + { 24137, 22874 }, + { 24138, 22872 }, + { 24139, 21263 }, + { 24140, 23586 }, + { 24141, 23589 }, + { 24142, 23596 }, + { 24143, 23604 }, + { 24144, 25164 }, + { 24145, 25194 }, + { 24146, 25247 }, + { 24147, 25275 }, + { 24148, 25290 }, + { 24149, 25306 }, + { 24150, 25303 }, + { 24151, 25326 }, + { 24152, 25378 }, + { 24153, 25334 }, + { 24154, 25401 }, + { 24155, 25419 }, + { 24156, 25411 }, + { 24157, 25517 }, + { 24158, 25590 }, + { 24159, 25457 }, + { 24160, 25466 }, + { 24161, 25486 }, + { 24162, 25524 }, + { 24163, 25453 }, + { 24164, 25516 }, + { 24165, 25482 }, + { 24166, 25449 }, + { 24167, 25518 }, + { 24168, 25532 }, + { 24169, 25586 }, + { 24170, 25592 }, + { 24171, 25568 }, + { 24172, 25599 }, + { 24173, 25540 }, + { 24174, 25566 }, + { 24175, 25550 }, + { 24176, 25682 }, + { 24177, 25542 }, + { 24178, 25534 }, + { 24179, 25669 }, + { 24180, 25665 }, + { 24181, 25611 }, + { 24182, 25627 }, + { 24183, 25632 }, + { 24184, 25612 }, + { 24185, 25638 }, + { 24186, 25633 }, + { 24187, 25694 }, + { 24188, 25732 }, + { 24189, 25709 }, + { 24190, 25750 }, + { 24353, 25722 }, + { 24354, 25783 }, + { 24355, 25784 }, + { 24356, 25753 }, + { 24357, 25786 }, + { 24358, 25792 }, + { 24359, 25808 }, + { 24360, 25815 }, + { 24361, 25828 }, + { 24362, 25826 }, + { 24363, 25865 }, + { 24364, 25893 }, + { 24365, 25902 }, + { 24366, 24331 }, + { 24367, 24530 }, + { 24368, 29977 }, + { 24369, 24337 }, + { 24370, 21343 }, + { 24371, 21489 }, + { 24372, 21501 }, + { 24373, 21481 }, + { 24374, 21480 }, + { 24375, 21499 }, + { 24376, 21522 }, + { 24377, 21526 }, + { 24378, 21510 }, + { 24379, 21579 }, + { 24380, 21586 }, + { 24381, 21587 }, + { 24382, 21588 }, + { 24383, 21590 }, + { 24384, 21571 }, + { 24385, 21537 }, + { 24386, 21591 }, + { 24387, 21593 }, + { 24388, 21539 }, + { 24389, 21554 }, + { 24390, 21634 }, + { 24391, 21652 }, + { 24392, 21623 }, + { 24393, 21617 }, + { 24394, 21604 }, + { 24395, 21658 }, + { 24396, 21659 }, + { 24397, 21636 }, + { 24398, 21622 }, + { 24399, 21606 }, + { 24400, 21661 }, + { 24401, 21712 }, + { 24402, 21677 }, + { 24403, 21698 }, + { 24404, 21684 }, + { 24405, 21714 }, + { 24406, 21671 }, + { 24407, 21670 }, + { 24408, 21715 }, + { 24409, 21716 }, + { 24410, 21618 }, + { 24411, 21667 }, + { 24412, 21717 }, + { 24413, 21691 }, + { 24414, 21695 }, + { 24415, 21708 }, + { 24416, 21721 }, + { 24417, 21722 }, + { 24418, 21724 }, + { 24419, 21673 }, + { 24420, 21674 }, + { 24421, 21668 }, + { 24422, 21725 }, + { 24423, 21711 }, + { 24424, 21726 }, + { 24425, 21787 }, + { 24426, 21735 }, + { 24427, 21792 }, + { 24428, 21757 }, + { 24429, 21780 }, + { 24430, 21747 }, + { 24431, 21794 }, + { 24432, 21795 }, + { 24433, 21775 }, + { 24434, 21777 }, + { 24435, 21799 }, + { 24436, 21802 }, + { 24437, 21863 }, + { 24438, 21903 }, + { 24439, 21941 }, + { 24440, 21833 }, + { 24441, 21869 }, + { 24442, 21825 }, + { 24443, 21845 }, + { 24444, 21823 }, + { 24445, 21840 }, + { 24446, 21820 }, + { 24609, 21815 }, + { 24610, 21846 }, + { 24611, 21877 }, + { 24612, 21878 }, + { 24613, 21879 }, + { 24614, 21811 }, + { 24615, 21808 }, + { 24616, 21852 }, + { 24617, 21899 }, + { 24618, 21970 }, + { 24619, 21891 }, + { 24620, 21937 }, + { 24621, 21945 }, + { 24622, 21896 }, + { 24623, 21889 }, + { 24624, 21919 }, + { 24625, 21886 }, + { 24626, 21974 }, + { 24627, 21905 }, + { 24628, 21883 }, + { 24629, 21983 }, + { 24630, 21949 }, + { 24631, 21950 }, + { 24632, 21908 }, + { 24633, 21913 }, + { 24634, 21994 }, + { 24635, 22007 }, + { 24636, 21961 }, + { 24637, 22047 }, + { 24638, 21969 }, + { 24639, 21995 }, + { 24640, 21996 }, + { 24641, 21972 }, + { 24642, 21990 }, + { 24643, 21981 }, + { 24644, 21956 }, + { 24645, 21999 }, + { 24646, 21989 }, + { 24647, 22002 }, + { 24648, 22003 }, + { 24649, 21964 }, + { 24650, 21965 }, + { 24651, 21992 }, + { 24652, 22005 }, + { 24653, 21988 }, + { 24654, 36756 }, + { 24655, 22046 }, + { 24656, 22024 }, + { 24657, 22028 }, + { 24658, 22017 }, + { 24659, 22052 }, + { 24660, 22051 }, + { 24661, 22014 }, + { 24662, 22016 }, + { 24663, 22055 }, + { 24664, 22061 }, + { 24665, 22104 }, + { 24666, 22073 }, + { 24667, 22103 }, + { 24668, 22060 }, + { 24669, 22093 }, + { 24670, 22114 }, + { 24671, 22105 }, + { 24672, 22108 }, + { 24673, 22092 }, + { 24674, 22100 }, + { 24675, 22150 }, + { 24676, 22116 }, + { 24677, 22129 }, + { 24678, 22123 }, + { 24679, 22139 }, + { 24680, 22140 }, + { 24681, 22149 }, + { 24682, 22163 }, + { 24683, 22191 }, + { 24684, 22228 }, + { 24685, 22231 }, + { 24686, 22237 }, + { 24687, 22241 }, + { 24688, 22261 }, + { 24689, 22251 }, + { 24690, 22265 }, + { 24691, 22271 }, + { 24692, 22276 }, + { 24693, 22282 }, + { 24694, 22281 }, + { 24695, 22300 }, + { 24696, 24079 }, + { 24697, 24089 }, + { 24698, 24084 }, + { 24699, 24081 }, + { 24700, 24113 }, + { 24701, 24123 }, + { 24702, 24124 }, + { 24865, 24119 }, + { 24866, 24132 }, + { 24867, 24148 }, + { 24868, 24155 }, + { 24869, 24158 }, + { 24870, 24161 }, + { 24871, 23692 }, + { 24872, 23674 }, + { 24873, 23693 }, + { 24874, 23696 }, + { 24875, 23702 }, + { 24876, 23688 }, + { 24877, 23704 }, + { 24878, 23705 }, + { 24879, 23697 }, + { 24880, 23706 }, + { 24881, 23708 }, + { 24882, 23733 }, + { 24883, 23714 }, + { 24884, 23741 }, + { 24885, 23724 }, + { 24886, 23723 }, + { 24887, 23729 }, + { 24888, 23715 }, + { 24889, 23745 }, + { 24890, 23735 }, + { 24891, 23748 }, + { 24892, 23762 }, + { 24893, 23780 }, + { 24894, 23755 }, + { 24895, 23781 }, + { 24896, 23810 }, + { 24897, 23811 }, + { 24898, 23847 }, + { 24899, 23846 }, + { 24900, 23854 }, + { 24901, 23844 }, + { 24902, 23838 }, + { 24903, 23814 }, + { 24904, 23835 }, + { 24905, 23896 }, + { 24906, 23870 }, + { 24907, 23860 }, + { 24908, 23869 }, + { 24909, 23916 }, + { 24910, 23899 }, + { 24911, 23919 }, + { 24912, 23901 }, + { 24913, 23915 }, + { 24914, 23883 }, + { 24915, 23882 }, + { 24916, 23913 }, + { 24917, 23924 }, + { 24918, 23938 }, + { 24919, 23961 }, + { 24920, 23965 }, + { 24921, 35955 }, + { 24922, 23991 }, + { 24923, 24005 }, + { 24924, 24435 }, + { 24925, 24439 }, + { 24926, 24450 }, + { 24927, 24455 }, + { 24928, 24457 }, + { 24929, 24460 }, + { 24930, 24469 }, + { 24931, 24473 }, + { 24932, 24476 }, + { 24933, 24488 }, + { 24934, 24493 }, + { 24935, 24501 }, + { 24936, 24508 }, + { 24937, 34914 }, + { 24938, 24417 }, + { 24939, 29357 }, + { 24940, 29360 }, + { 24941, 29364 }, + { 24942, 29367 }, + { 24943, 29368 }, + { 24944, 29379 }, + { 24945, 29377 }, + { 24946, 29390 }, + { 24947, 29389 }, + { 24948, 29394 }, + { 24949, 29416 }, + { 24950, 29423 }, + { 24951, 29417 }, + { 24952, 29426 }, + { 24953, 29428 }, + { 24954, 29431 }, + { 24955, 29441 }, + { 24956, 29427 }, + { 24957, 29443 }, + { 24958, 29434 }, + { 25121, 29435 }, + { 25122, 29463 }, + { 25123, 29459 }, + { 25124, 29473 }, + { 25125, 29450 }, + { 25126, 29470 }, + { 25127, 29469 }, + { 25128, 29461 }, + { 25129, 29474 }, + { 25130, 29497 }, + { 25131, 29477 }, + { 25132, 29484 }, + { 25133, 29496 }, + { 25134, 29489 }, + { 25135, 29520 }, + { 25136, 29517 }, + { 25137, 29527 }, + { 25138, 29536 }, + { 25139, 29548 }, + { 25140, 29551 }, + { 25141, 29566 }, + { 25142, 33307 }, + { 25143, 22821 }, + { 25144, 39143 }, + { 25145, 22820 }, + { 25146, 22786 }, + { 25147, 39267 }, + { 25148, 39271 }, + { 25149, 39272 }, + { 25150, 39273 }, + { 25151, 39274 }, + { 25152, 39275 }, + { 25153, 39276 }, + { 25154, 39284 }, + { 25155, 39287 }, + { 25156, 39293 }, + { 25157, 39296 }, + { 25158, 39300 }, + { 25159, 39303 }, + { 25160, 39306 }, + { 25161, 39309 }, + { 25162, 39312 }, + { 25163, 39313 }, + { 25164, 39315 }, + { 25165, 39316 }, + { 25166, 39317 }, + { 25167, 24192 }, + { 25168, 24209 }, + { 25169, 24203 }, + { 25170, 24214 }, + { 25171, 24229 }, + { 25172, 24224 }, + { 25173, 24249 }, + { 25174, 24245 }, + { 25175, 24254 }, + { 25176, 24243 }, + { 25177, 36179 }, + { 25178, 24274 }, + { 25179, 24273 }, + { 25180, 24283 }, + { 25181, 24296 }, + { 25182, 24298 }, + { 25183, 33210 }, + { 25184, 24516 }, + { 25185, 24521 }, + { 25186, 24534 }, + { 25187, 24527 }, + { 25188, 24579 }, + { 25189, 24558 }, + { 25190, 24580 }, + { 25191, 24545 }, + { 25192, 24548 }, + { 25193, 24574 }, + { 25194, 24581 }, + { 25195, 24582 }, + { 25196, 24554 }, + { 25197, 24557 }, + { 25198, 24568 }, + { 25199, 24601 }, + { 25200, 24629 }, + { 25201, 24614 }, + { 25202, 24603 }, + { 25203, 24591 }, + { 25204, 24589 }, + { 25205, 24617 }, + { 25206, 24619 }, + { 25207, 24586 }, + { 25208, 24639 }, + { 25209, 24609 }, + { 25210, 24696 }, + { 25211, 24697 }, + { 25212, 24699 }, + { 25213, 24698 }, + { 25214, 24642 }, + { 25377, 24682 }, + { 25378, 24701 }, + { 25379, 24726 }, + { 25380, 24730 }, + { 25381, 24749 }, + { 25382, 24733 }, + { 25383, 24707 }, + { 25384, 24722 }, + { 25385, 24716 }, + { 25386, 24731 }, + { 25387, 24812 }, + { 25388, 24763 }, + { 25389, 24753 }, + { 25390, 24797 }, + { 25391, 24792 }, + { 25392, 24774 }, + { 25393, 24794 }, + { 25394, 24756 }, + { 25395, 24864 }, + { 25396, 24870 }, + { 25397, 24853 }, + { 25398, 24867 }, + { 25399, 24820 }, + { 25400, 24832 }, + { 25401, 24846 }, + { 25402, 24875 }, + { 25403, 24906 }, + { 25404, 24949 }, + { 25405, 25004 }, + { 25406, 24980 }, + { 25407, 24999 }, + { 25408, 25015 }, + { 25409, 25044 }, + { 25410, 25077 }, + { 25411, 24541 }, + { 25412, 38579 }, + { 25413, 38377 }, + { 25414, 38379 }, + { 25415, 38385 }, + { 25416, 38387 }, + { 25417, 38389 }, + { 25418, 38390 }, + { 25419, 38396 }, + { 25420, 38398 }, + { 25421, 38403 }, + { 25422, 38404 }, + { 25423, 38406 }, + { 25424, 38408 }, + { 25425, 38410 }, + { 25426, 38411 }, + { 25427, 38412 }, + { 25428, 38413 }, + { 25429, 38415 }, + { 25430, 38418 }, + { 25431, 38421 }, + { 25432, 38422 }, + { 25433, 38423 }, + { 25434, 38425 }, + { 25435, 38426 }, + { 25436, 20012 }, + { 25437, 29247 }, + { 25438, 25109 }, + { 25439, 27701 }, + { 25440, 27732 }, + { 25441, 27740 }, + { 25442, 27722 }, + { 25443, 27811 }, + { 25444, 27781 }, + { 25445, 27792 }, + { 25446, 27796 }, + { 25447, 27788 }, + { 25448, 27752 }, + { 25449, 27753 }, + { 25450, 27764 }, + { 25451, 27766 }, + { 25452, 27782 }, + { 25453, 27817 }, + { 25454, 27856 }, + { 25455, 27860 }, + { 25456, 27821 }, + { 25457, 27895 }, + { 25458, 27896 }, + { 25459, 27889 }, + { 25460, 27863 }, + { 25461, 27826 }, + { 25462, 27872 }, + { 25463, 27862 }, + { 25464, 27898 }, + { 25465, 27883 }, + { 25466, 27886 }, + { 25467, 27825 }, + { 25468, 27859 }, + { 25469, 27887 }, + { 25470, 27902 }, + { 25633, 27961 }, + { 25634, 27943 }, + { 25635, 27916 }, + { 25636, 27971 }, + { 25637, 27976 }, + { 25638, 27911 }, + { 25639, 27908 }, + { 25640, 27929 }, + { 25641, 27918 }, + { 25642, 27947 }, + { 25643, 27981 }, + { 25644, 27950 }, + { 25645, 27957 }, + { 25646, 27930 }, + { 25647, 27983 }, + { 25648, 27986 }, + { 25649, 27988 }, + { 25650, 27955 }, + { 25651, 28049 }, + { 25652, 28015 }, + { 25653, 28062 }, + { 25654, 28064 }, + { 25655, 27998 }, + { 25656, 28051 }, + { 25657, 28052 }, + { 25658, 27996 }, + { 25659, 28000 }, + { 25660, 28028 }, + { 25661, 28003 }, + { 25662, 28186 }, + { 25663, 28103 }, + { 25664, 28101 }, + { 25665, 28126 }, + { 25666, 28174 }, + { 25667, 28095 }, + { 25668, 28128 }, + { 25669, 28177 }, + { 25670, 28134 }, + { 25671, 28125 }, + { 25672, 28121 }, + { 25673, 28182 }, + { 25674, 28075 }, + { 25675, 28172 }, + { 25676, 28078 }, + { 25677, 28203 }, + { 25678, 28270 }, + { 25679, 28238 }, + { 25680, 28267 }, + { 25681, 28338 }, + { 25682, 28255 }, + { 25683, 28294 }, + { 25684, 28243 }, + { 25685, 28244 }, + { 25686, 28210 }, + { 25687, 28197 }, + { 25688, 28228 }, + { 25689, 28383 }, + { 25690, 28337 }, + { 25691, 28312 }, + { 25692, 28384 }, + { 25693, 28461 }, + { 25694, 28386 }, + { 25695, 28325 }, + { 25696, 28327 }, + { 25697, 28349 }, + { 25698, 28347 }, + { 25699, 28343 }, + { 25700, 28375 }, + { 25701, 28340 }, + { 25702, 28367 }, + { 25703, 28303 }, + { 25704, 28354 }, + { 25705, 28319 }, + { 25706, 28514 }, + { 25707, 28486 }, + { 25708, 28487 }, + { 25709, 28452 }, + { 25710, 28437 }, + { 25711, 28409 }, + { 25712, 28463 }, + { 25713, 28470 }, + { 25714, 28491 }, + { 25715, 28532 }, + { 25716, 28458 }, + { 25717, 28425 }, + { 25718, 28457 }, + { 25719, 28553 }, + { 25720, 28557 }, + { 25721, 28556 }, + { 25722, 28536 }, + { 25723, 28530 }, + { 25724, 28540 }, + { 25725, 28538 }, + { 25726, 28625 }, + { 25889, 28617 }, + { 25890, 28583 }, + { 25891, 28601 }, + { 25892, 28598 }, + { 25893, 28610 }, + { 25894, 28641 }, + { 25895, 28654 }, + { 25896, 28638 }, + { 25897, 28640 }, + { 25898, 28655 }, + { 25899, 28698 }, + { 25900, 28707 }, + { 25901, 28699 }, + { 25902, 28729 }, + { 25903, 28725 }, + { 25904, 28751 }, + { 25905, 28766 }, + { 25906, 23424 }, + { 25907, 23428 }, + { 25908, 23445 }, + { 25909, 23443 }, + { 25910, 23461 }, + { 25911, 23480 }, + { 25912, 29999 }, + { 25913, 39582 }, + { 25914, 25652 }, + { 25915, 23524 }, + { 25916, 23534 }, + { 25917, 35120 }, + { 25918, 23536 }, + { 25919, 36423 }, + { 25920, 35591 }, + { 25921, 36790 }, + { 25922, 36819 }, + { 25923, 36821 }, + { 25924, 36837 }, + { 25925, 36846 }, + { 25926, 36836 }, + { 25927, 36841 }, + { 25928, 36838 }, + { 25929, 36851 }, + { 25930, 36840 }, + { 25931, 36869 }, + { 25932, 36868 }, + { 25933, 36875 }, + { 25934, 36902 }, + { 25935, 36881 }, + { 25936, 36877 }, + { 25937, 36886 }, + { 25938, 36897 }, + { 25939, 36917 }, + { 25940, 36918 }, + { 25941, 36909 }, + { 25942, 36911 }, + { 25943, 36932 }, + { 25944, 36945 }, + { 25945, 36946 }, + { 25946, 36944 }, + { 25947, 36968 }, + { 25948, 36952 }, + { 25949, 36962 }, + { 25950, 36955 }, + { 25951, 26297 }, + { 25952, 36980 }, + { 25953, 36989 }, + { 25954, 36994 }, + { 25955, 37000 }, + { 25956, 36995 }, + { 25957, 37003 }, + { 25958, 24400 }, + { 25959, 24407 }, + { 25960, 24406 }, + { 25961, 24408 }, + { 25962, 23611 }, + { 25963, 21675 }, + { 25964, 23632 }, + { 25965, 23641 }, + { 25966, 23409 }, + { 25967, 23651 }, + { 25968, 23654 }, + { 25969, 32700 }, + { 25970, 24362 }, + { 25971, 24361 }, + { 25972, 24365 }, + { 25973, 33396 }, + { 25974, 24380 }, + { 25975, 39739 }, + { 25976, 23662 }, + { 25977, 22913 }, + { 25978, 22915 }, + { 25979, 22925 }, + { 25980, 22953 }, + { 25981, 22954 }, + { 25982, 22947 }, + { 26145, 22935 }, + { 26146, 22986 }, + { 26147, 22955 }, + { 26148, 22942 }, + { 26149, 22948 }, + { 26150, 22994 }, + { 26151, 22962 }, + { 26152, 22959 }, + { 26153, 22999 }, + { 26154, 22974 }, + { 26155, 23045 }, + { 26156, 23046 }, + { 26157, 23005 }, + { 26158, 23048 }, + { 26159, 23011 }, + { 26160, 23000 }, + { 26161, 23033 }, + { 26162, 23052 }, + { 26163, 23049 }, + { 26164, 23090 }, + { 26165, 23092 }, + { 26166, 23057 }, + { 26167, 23075 }, + { 26168, 23059 }, + { 26169, 23104 }, + { 26170, 23143 }, + { 26171, 23114 }, + { 26172, 23125 }, + { 26173, 23100 }, + { 26174, 23138 }, + { 26175, 23157 }, + { 26176, 33004 }, + { 26177, 23210 }, + { 26178, 23195 }, + { 26179, 23159 }, + { 26180, 23162 }, + { 26181, 23230 }, + { 26182, 23275 }, + { 26183, 23218 }, + { 26184, 23250 }, + { 26185, 23252 }, + { 26186, 23224 }, + { 26187, 23264 }, + { 26188, 23267 }, + { 26189, 23281 }, + { 26190, 23254 }, + { 26191, 23270 }, + { 26192, 23256 }, + { 26193, 23260 }, + { 26194, 23305 }, + { 26195, 23319 }, + { 26196, 23318 }, + { 26197, 23346 }, + { 26198, 23351 }, + { 26199, 23360 }, + { 26200, 23573 }, + { 26201, 23580 }, + { 26202, 23386 }, + { 26203, 23397 }, + { 26204, 23411 }, + { 26205, 23377 }, + { 26206, 23379 }, + { 26207, 23394 }, + { 26208, 39541 }, + { 26209, 39543 }, + { 26210, 39544 }, + { 26211, 39546 }, + { 26212, 39551 }, + { 26213, 39549 }, + { 26214, 39552 }, + { 26215, 39553 }, + { 26216, 39557 }, + { 26217, 39560 }, + { 26218, 39562 }, + { 26219, 39568 }, + { 26220, 39570 }, + { 26221, 39571 }, + { 26222, 39574 }, + { 26223, 39576 }, + { 26224, 39579 }, + { 26225, 39580 }, + { 26226, 39581 }, + { 26227, 39583 }, + { 26228, 39584 }, + { 26229, 39586 }, + { 26230, 39587 }, + { 26231, 39589 }, + { 26232, 39591 }, + { 26233, 32415 }, + { 26234, 32417 }, + { 26235, 32419 }, + { 26236, 32421 }, + { 26237, 32424 }, + { 26238, 32425 }, + { 26401, 32429 }, + { 26402, 32432 }, + { 26403, 32446 }, + { 26404, 32448 }, + { 26405, 32449 }, + { 26406, 32450 }, + { 26407, 32457 }, + { 26408, 32459 }, + { 26409, 32460 }, + { 26410, 32464 }, + { 26411, 32468 }, + { 26412, 32471 }, + { 26413, 32475 }, + { 26414, 32480 }, + { 26415, 32481 }, + { 26416, 32488 }, + { 26417, 32491 }, + { 26418, 32494 }, + { 26419, 32495 }, + { 26420, 32497 }, + { 26421, 32498 }, + { 26422, 32525 }, + { 26423, 32502 }, + { 26424, 32506 }, + { 26425, 32507 }, + { 26426, 32510 }, + { 26427, 32513 }, + { 26428, 32514 }, + { 26429, 32515 }, + { 26430, 32519 }, + { 26431, 32520 }, + { 26432, 32523 }, + { 26433, 32524 }, + { 26434, 32527 }, + { 26435, 32529 }, + { 26436, 32530 }, + { 26437, 32535 }, + { 26438, 32537 }, + { 26439, 32540 }, + { 26440, 32539 }, + { 26441, 32543 }, + { 26442, 32545 }, + { 26443, 32546 }, + { 26444, 32547 }, + { 26445, 32548 }, + { 26446, 32549 }, + { 26447, 32550 }, + { 26448, 32551 }, + { 26449, 32554 }, + { 26450, 32555 }, + { 26451, 32556 }, + { 26452, 32557 }, + { 26453, 32559 }, + { 26454, 32560 }, + { 26455, 32561 }, + { 26456, 32562 }, + { 26457, 32563 }, + { 26458, 32565 }, + { 26459, 24186 }, + { 26460, 30079 }, + { 26461, 24027 }, + { 26462, 30014 }, + { 26463, 37013 }, + { 26464, 29582 }, + { 26465, 29585 }, + { 26466, 29614 }, + { 26467, 29602 }, + { 26468, 29599 }, + { 26469, 29647 }, + { 26470, 29634 }, + { 26471, 29649 }, + { 26472, 29623 }, + { 26473, 29619 }, + { 26474, 29632 }, + { 26475, 29641 }, + { 26476, 29640 }, + { 26477, 29669 }, + { 26478, 29657 }, + { 26479, 39036 }, + { 26480, 29706 }, + { 26481, 29673 }, + { 26482, 29671 }, + { 26483, 29662 }, + { 26484, 29626 }, + { 26485, 29682 }, + { 26486, 29711 }, + { 26487, 29738 }, + { 26488, 29787 }, + { 26489, 29734 }, + { 26490, 29733 }, + { 26491, 29736 }, + { 26492, 29744 }, + { 26493, 29742 }, + { 26494, 29740 }, + { 26657, 29723 }, + { 26658, 29722 }, + { 26659, 29761 }, + { 26660, 29788 }, + { 26661, 29783 }, + { 26662, 29781 }, + { 26663, 29785 }, + { 26664, 29815 }, + { 26665, 29805 }, + { 26666, 29822 }, + { 26667, 29852 }, + { 26668, 29838 }, + { 26669, 29824 }, + { 26670, 29825 }, + { 26671, 29831 }, + { 26672, 29835 }, + { 26673, 29854 }, + { 26674, 29864 }, + { 26675, 29865 }, + { 26676, 29840 }, + { 26677, 29863 }, + { 26678, 29906 }, + { 26679, 29882 }, + { 26680, 38890 }, + { 26681, 38891 }, + { 26682, 38892 }, + { 26683, 26444 }, + { 26684, 26451 }, + { 26685, 26462 }, + { 26686, 26440 }, + { 26687, 26473 }, + { 26688, 26533 }, + { 26689, 26503 }, + { 26690, 26474 }, + { 26691, 26483 }, + { 26692, 26520 }, + { 26693, 26535 }, + { 26694, 26485 }, + { 26695, 26536 }, + { 26696, 26526 }, + { 26697, 26541 }, + { 26698, 26507 }, + { 26699, 26487 }, + { 26700, 26492 }, + { 26701, 26608 }, + { 26702, 26633 }, + { 26703, 26584 }, + { 26704, 26634 }, + { 26705, 26601 }, + { 26706, 26544 }, + { 26707, 26636 }, + { 26708, 26585 }, + { 26709, 26549 }, + { 26710, 26586 }, + { 26711, 26547 }, + { 26712, 26589 }, + { 26713, 26624 }, + { 26714, 26563 }, + { 26715, 26552 }, + { 26716, 26594 }, + { 26717, 26638 }, + { 26718, 26561 }, + { 26719, 26621 }, + { 26720, 26674 }, + { 26721, 26675 }, + { 26722, 26720 }, + { 26723, 26721 }, + { 26724, 26702 }, + { 26725, 26722 }, + { 26726, 26692 }, + { 26727, 26724 }, + { 26728, 26755 }, + { 26729, 26653 }, + { 26730, 26709 }, + { 26731, 26726 }, + { 26732, 26689 }, + { 26733, 26727 }, + { 26734, 26688 }, + { 26735, 26686 }, + { 26736, 26698 }, + { 26737, 26697 }, + { 26738, 26665 }, + { 26739, 26805 }, + { 26740, 26767 }, + { 26741, 26740 }, + { 26742, 26743 }, + { 26743, 26771 }, + { 26744, 26731 }, + { 26745, 26818 }, + { 26746, 26990 }, + { 26747, 26876 }, + { 26748, 26911 }, + { 26749, 26912 }, + { 26750, 26873 }, + { 26913, 26916 }, + { 26914, 26864 }, + { 26915, 26891 }, + { 26916, 26881 }, + { 26917, 26967 }, + { 26918, 26851 }, + { 26919, 26896 }, + { 26920, 26993 }, + { 26921, 26937 }, + { 26922, 26976 }, + { 26923, 26946 }, + { 26924, 26973 }, + { 26925, 27012 }, + { 26926, 26987 }, + { 26927, 27008 }, + { 26928, 27032 }, + { 26929, 27000 }, + { 26930, 26932 }, + { 26931, 27084 }, + { 26932, 27015 }, + { 26933, 27016 }, + { 26934, 27086 }, + { 26935, 27017 }, + { 26936, 26982 }, + { 26937, 26979 }, + { 26938, 27001 }, + { 26939, 27035 }, + { 26940, 27047 }, + { 26941, 27067 }, + { 26942, 27051 }, + { 26943, 27053 }, + { 26944, 27092 }, + { 26945, 27057 }, + { 26946, 27073 }, + { 26947, 27082 }, + { 26948, 27103 }, + { 26949, 27029 }, + { 26950, 27104 }, + { 26951, 27021 }, + { 26952, 27135 }, + { 26953, 27183 }, + { 26954, 27117 }, + { 26955, 27159 }, + { 26956, 27160 }, + { 26957, 27237 }, + { 26958, 27122 }, + { 26959, 27204 }, + { 26960, 27198 }, + { 26961, 27296 }, + { 26962, 27216 }, + { 26963, 27227 }, + { 26964, 27189 }, + { 26965, 27278 }, + { 26966, 27257 }, + { 26967, 27197 }, + { 26968, 27176 }, + { 26969, 27224 }, + { 26970, 27260 }, + { 26971, 27281 }, + { 26972, 27280 }, + { 26973, 27305 }, + { 26974, 27287 }, + { 26975, 27307 }, + { 26976, 29495 }, + { 26977, 29522 }, + { 26978, 27521 }, + { 26979, 27522 }, + { 26980, 27527 }, + { 26981, 27524 }, + { 26982, 27538 }, + { 26983, 27539 }, + { 26984, 27533 }, + { 26985, 27546 }, + { 26986, 27547 }, + { 26987, 27553 }, + { 26988, 27562 }, + { 26989, 36715 }, + { 26990, 36717 }, + { 26991, 36721 }, + { 26992, 36722 }, + { 26993, 36723 }, + { 26994, 36725 }, + { 26995, 36726 }, + { 26996, 36728 }, + { 26997, 36727 }, + { 26998, 36729 }, + { 26999, 36730 }, + { 27000, 36732 }, + { 27001, 36734 }, + { 27002, 36737 }, + { 27003, 36738 }, + { 27004, 36740 }, + { 27005, 36743 }, + { 27006, 36747 }, + { 27169, 36749 }, + { 27170, 36750 }, + { 27171, 36751 }, + { 27172, 36760 }, + { 27173, 36762 }, + { 27174, 36558 }, + { 27175, 25099 }, + { 27176, 25111 }, + { 27177, 25115 }, + { 27178, 25119 }, + { 27179, 25122 }, + { 27180, 25121 }, + { 27181, 25125 }, + { 27182, 25124 }, + { 27183, 25132 }, + { 27184, 33255 }, + { 27185, 29935 }, + { 27186, 29940 }, + { 27187, 29951 }, + { 27188, 29967 }, + { 27189, 29969 }, + { 27190, 29971 }, + { 27191, 25908 }, + { 27192, 26094 }, + { 27193, 26095 }, + { 27194, 26096 }, + { 27195, 26122 }, + { 27196, 26137 }, + { 27197, 26482 }, + { 27198, 26115 }, + { 27199, 26133 }, + { 27200, 26112 }, + { 27201, 28805 }, + { 27202, 26359 }, + { 27203, 26141 }, + { 27204, 26164 }, + { 27205, 26161 }, + { 27206, 26166 }, + { 27207, 26165 }, + { 27208, 32774 }, + { 27209, 26207 }, + { 27210, 26196 }, + { 27211, 26177 }, + { 27212, 26191 }, + { 27213, 26198 }, + { 27214, 26209 }, + { 27215, 26199 }, + { 27216, 26231 }, + { 27217, 26244 }, + { 27218, 26252 }, + { 27219, 26279 }, + { 27220, 26269 }, + { 27221, 26302 }, + { 27222, 26331 }, + { 27223, 26332 }, + { 27224, 26342 }, + { 27225, 26345 }, + { 27226, 36146 }, + { 27227, 36147 }, + { 27228, 36150 }, + { 27229, 36155 }, + { 27230, 36157 }, + { 27231, 36160 }, + { 27232, 36165 }, + { 27233, 36166 }, + { 27234, 36168 }, + { 27235, 36169 }, + { 27236, 36167 }, + { 27237, 36173 }, + { 27238, 36181 }, + { 27239, 36185 }, + { 27240, 35271 }, + { 27241, 35274 }, + { 27242, 35275 }, + { 27243, 35276 }, + { 27244, 35278 }, + { 27245, 35279 }, + { 27246, 35280 }, + { 27247, 35281 }, + { 27248, 29294 }, + { 27249, 29343 }, + { 27250, 29277 }, + { 27251, 29286 }, + { 27252, 29295 }, + { 27253, 29310 }, + { 27254, 29311 }, + { 27255, 29316 }, + { 27256, 29323 }, + { 27257, 29325 }, + { 27258, 29327 }, + { 27259, 29330 }, + { 27260, 25352 }, + { 27261, 25394 }, + { 27262, 25520 }, + { 27425, 25663 }, + { 27426, 25816 }, + { 27427, 32772 }, + { 27428, 27626 }, + { 27429, 27635 }, + { 27430, 27645 }, + { 27431, 27637 }, + { 27432, 27641 }, + { 27433, 27653 }, + { 27434, 27655 }, + { 27435, 27654 }, + { 27436, 27661 }, + { 27437, 27669 }, + { 27438, 27672 }, + { 27439, 27673 }, + { 27440, 27674 }, + { 27441, 27681 }, + { 27442, 27689 }, + { 27443, 27684 }, + { 27444, 27690 }, + { 27445, 27698 }, + { 27446, 25909 }, + { 27447, 25941 }, + { 27448, 25963 }, + { 27449, 29261 }, + { 27450, 29266 }, + { 27451, 29270 }, + { 27452, 29232 }, + { 27453, 34402 }, + { 27454, 21014 }, + { 27455, 32927 }, + { 27456, 32924 }, + { 27457, 32915 }, + { 27458, 32956 }, + { 27459, 26378 }, + { 27460, 32957 }, + { 27461, 32945 }, + { 27462, 32939 }, + { 27463, 32941 }, + { 27464, 32948 }, + { 27465, 32951 }, + { 27466, 32999 }, + { 27467, 33000 }, + { 27468, 33001 }, + { 27469, 33002 }, + { 27470, 32987 }, + { 27471, 32962 }, + { 27472, 32964 }, + { 27473, 32985 }, + { 27474, 32973 }, + { 27475, 32983 }, + { 27476, 26384 }, + { 27477, 32989 }, + { 27478, 33003 }, + { 27479, 33009 }, + { 27480, 33012 }, + { 27481, 33005 }, + { 27482, 33037 }, + { 27483, 33038 }, + { 27484, 33010 }, + { 27485, 33020 }, + { 27486, 26389 }, + { 27487, 33042 }, + { 27488, 35930 }, + { 27489, 33078 }, + { 27490, 33054 }, + { 27491, 33068 }, + { 27492, 33048 }, + { 27493, 33074 }, + { 27494, 33096 }, + { 27495, 33100 }, + { 27496, 33107 }, + { 27497, 33140 }, + { 27498, 33113 }, + { 27499, 33114 }, + { 27500, 33137 }, + { 27501, 33120 }, + { 27502, 33129 }, + { 27503, 33148 }, + { 27504, 33149 }, + { 27505, 33133 }, + { 27506, 33127 }, + { 27507, 22605 }, + { 27508, 23221 }, + { 27509, 33160 }, + { 27510, 33154 }, + { 27511, 33169 }, + { 27512, 28373 }, + { 27513, 33187 }, + { 27514, 33194 }, + { 27515, 33228 }, + { 27516, 26406 }, + { 27517, 33226 }, + { 27518, 33211 }, + { 27681, 33217 }, + { 27682, 33190 }, + { 27683, 27428 }, + { 27684, 27447 }, + { 27685, 27449 }, + { 27686, 27459 }, + { 27687, 27462 }, + { 27688, 27481 }, + { 27689, 39121 }, + { 27690, 39122 }, + { 27691, 39123 }, + { 27692, 39125 }, + { 27693, 39129 }, + { 27694, 39130 }, + { 27695, 27571 }, + { 27696, 24384 }, + { 27697, 27586 }, + { 27698, 35315 }, + { 27699, 26000 }, + { 27700, 40785 }, + { 27701, 26003 }, + { 27702, 26044 }, + { 27703, 26054 }, + { 27704, 26052 }, + { 27705, 26051 }, + { 27706, 26060 }, + { 27707, 26062 }, + { 27708, 26066 }, + { 27709, 26070 }, + { 27710, 28800 }, + { 27711, 28828 }, + { 27712, 28822 }, + { 27713, 28829 }, + { 27714, 28859 }, + { 27715, 28864 }, + { 27716, 28855 }, + { 27717, 28843 }, + { 27718, 28849 }, + { 27719, 28904 }, + { 27720, 28874 }, + { 27721, 28944 }, + { 27722, 28947 }, + { 27723, 28950 }, + { 27724, 28975 }, + { 27725, 28977 }, + { 27726, 29043 }, + { 27727, 29020 }, + { 27728, 29032 }, + { 27729, 28997 }, + { 27730, 29042 }, + { 27731, 29002 }, + { 27732, 29048 }, + { 27733, 29050 }, + { 27734, 29080 }, + { 27735, 29107 }, + { 27736, 29109 }, + { 27737, 29096 }, + { 27738, 29088 }, + { 27739, 29152 }, + { 27740, 29140 }, + { 27741, 29159 }, + { 27742, 29177 }, + { 27743, 29213 }, + { 27744, 29224 }, + { 27745, 28780 }, + { 27746, 28952 }, + { 27747, 29030 }, + { 27748, 29113 }, + { 27749, 25150 }, + { 27750, 25149 }, + { 27751, 25155 }, + { 27752, 25160 }, + { 27753, 25161 }, + { 27754, 31035 }, + { 27755, 31040 }, + { 27756, 31046 }, + { 27757, 31049 }, + { 27758, 31067 }, + { 27759, 31068 }, + { 27760, 31059 }, + { 27761, 31066 }, + { 27762, 31074 }, + { 27763, 31063 }, + { 27764, 31072 }, + { 27765, 31087 }, + { 27766, 31079 }, + { 27767, 31098 }, + { 27768, 31109 }, + { 27769, 31114 }, + { 27770, 31130 }, + { 27771, 31143 }, + { 27772, 31155 }, + { 27773, 24529 }, + { 27774, 24528 }, + { 27937, 24636 }, + { 27938, 24669 }, + { 27939, 24666 }, + { 27940, 24679 }, + { 27941, 24641 }, + { 27942, 24665 }, + { 27943, 24675 }, + { 27944, 24747 }, + { 27945, 24838 }, + { 27946, 24845 }, + { 27947, 24925 }, + { 27948, 25001 }, + { 27949, 24989 }, + { 27950, 25035 }, + { 27951, 25041 }, + { 27952, 25094 }, + { 27953, 32896 }, + { 27954, 32895 }, + { 27955, 27795 }, + { 27956, 27894 }, + { 27957, 28156 }, + { 27958, 30710 }, + { 27959, 30712 }, + { 27960, 30720 }, + { 27961, 30729 }, + { 27962, 30743 }, + { 27963, 30744 }, + { 27964, 30737 }, + { 27965, 26027 }, + { 27966, 30765 }, + { 27967, 30748 }, + { 27968, 30749 }, + { 27969, 30777 }, + { 27970, 30778 }, + { 27971, 30779 }, + { 27972, 30751 }, + { 27973, 30780 }, + { 27974, 30757 }, + { 27975, 30764 }, + { 27976, 30755 }, + { 27977, 30761 }, + { 27978, 30798 }, + { 27979, 30829 }, + { 27980, 30806 }, + { 27981, 30807 }, + { 27982, 30758 }, + { 27983, 30800 }, + { 27984, 30791 }, + { 27985, 30796 }, + { 27986, 30826 }, + { 27987, 30875 }, + { 27988, 30867 }, + { 27989, 30874 }, + { 27990, 30855 }, + { 27991, 30876 }, + { 27992, 30881 }, + { 27993, 30883 }, + { 27994, 30898 }, + { 27995, 30905 }, + { 27996, 30885 }, + { 27997, 30932 }, + { 27998, 30937 }, + { 27999, 30921 }, + { 28000, 30956 }, + { 28001, 30962 }, + { 28002, 30981 }, + { 28003, 30964 }, + { 28004, 30995 }, + { 28005, 31012 }, + { 28006, 31006 }, + { 28007, 31028 }, + { 28008, 40859 }, + { 28009, 40697 }, + { 28010, 40699 }, + { 28011, 40700 }, + { 28012, 30449 }, + { 28013, 30468 }, + { 28014, 30477 }, + { 28015, 30457 }, + { 28016, 30471 }, + { 28017, 30472 }, + { 28018, 30490 }, + { 28019, 30498 }, + { 28020, 30489 }, + { 28021, 30509 }, + { 28022, 30502 }, + { 28023, 30517 }, + { 28024, 30520 }, + { 28025, 30544 }, + { 28026, 30545 }, + { 28027, 30535 }, + { 28028, 30531 }, + { 28029, 30554 }, + { 28030, 30568 }, + { 28193, 30562 }, + { 28194, 30565 }, + { 28195, 30591 }, + { 28196, 30605 }, + { 28197, 30589 }, + { 28198, 30592 }, + { 28199, 30604 }, + { 28200, 30609 }, + { 28201, 30623 }, + { 28202, 30624 }, + { 28203, 30640 }, + { 28204, 30645 }, + { 28205, 30653 }, + { 28206, 30010 }, + { 28207, 30016 }, + { 28208, 30030 }, + { 28209, 30027 }, + { 28210, 30024 }, + { 28211, 30043 }, + { 28212, 30066 }, + { 28213, 30073 }, + { 28214, 30083 }, + { 28215, 32600 }, + { 28216, 32609 }, + { 28217, 32607 }, + { 28218, 35400 }, + { 28219, 32616 }, + { 28220, 32628 }, + { 28221, 32625 }, + { 28222, 32633 }, + { 28223, 32641 }, + { 28224, 32638 }, + { 28225, 30413 }, + { 28226, 30437 }, + { 28227, 34866 }, + { 28228, 38021 }, + { 28229, 38022 }, + { 28230, 38023 }, + { 28231, 38027 }, + { 28232, 38026 }, + { 28233, 38028 }, + { 28234, 38029 }, + { 28235, 38031 }, + { 28236, 38032 }, + { 28237, 38036 }, + { 28238, 38039 }, + { 28239, 38037 }, + { 28240, 38042 }, + { 28241, 38043 }, + { 28242, 38044 }, + { 28243, 38051 }, + { 28244, 38052 }, + { 28245, 38059 }, + { 28246, 38058 }, + { 28247, 38061 }, + { 28248, 38060 }, + { 28249, 38063 }, + { 28250, 38064 }, + { 28251, 38066 }, + { 28252, 38068 }, + { 28253, 38070 }, + { 28254, 38071 }, + { 28255, 38072 }, + { 28256, 38073 }, + { 28257, 38074 }, + { 28258, 38076 }, + { 28259, 38077 }, + { 28260, 38079 }, + { 28261, 38084 }, + { 28262, 38088 }, + { 28263, 38089 }, + { 28264, 38090 }, + { 28265, 38091 }, + { 28266, 38092 }, + { 28267, 38093 }, + { 28268, 38094 }, + { 28269, 38096 }, + { 28270, 38097 }, + { 28271, 38098 }, + { 28272, 38101 }, + { 28273, 38102 }, + { 28274, 38103 }, + { 28275, 38105 }, + { 28276, 38104 }, + { 28277, 38107 }, + { 28278, 38110 }, + { 28279, 38111 }, + { 28280, 38112 }, + { 28281, 38114 }, + { 28282, 38116 }, + { 28283, 38117 }, + { 28284, 38119 }, + { 28285, 38120 }, + { 28286, 38122 }, + { 28449, 38121 }, + { 28450, 38123 }, + { 28451, 38126 }, + { 28452, 38127 }, + { 28453, 38131 }, + { 28454, 38132 }, + { 28455, 38133 }, + { 28456, 38135 }, + { 28457, 38137 }, + { 28458, 38140 }, + { 28459, 38141 }, + { 28460, 38143 }, + { 28461, 38147 }, + { 28462, 38146 }, + { 28463, 38150 }, + { 28464, 38151 }, + { 28465, 38153 }, + { 28466, 38154 }, + { 28467, 38157 }, + { 28468, 38158 }, + { 28469, 38159 }, + { 28470, 38162 }, + { 28471, 38163 }, + { 28472, 38164 }, + { 28473, 38165 }, + { 28474, 38166 }, + { 28475, 38168 }, + { 28476, 38171 }, + { 28477, 38173 }, + { 28478, 38174 }, + { 28479, 38175 }, + { 28480, 38178 }, + { 28481, 38186 }, + { 28482, 38187 }, + { 28483, 38185 }, + { 28484, 38188 }, + { 28485, 38193 }, + { 28486, 38194 }, + { 28487, 38196 }, + { 28488, 38198 }, + { 28489, 38199 }, + { 28490, 38200 }, + { 28491, 38204 }, + { 28492, 38206 }, + { 28493, 38207 }, + { 28494, 38210 }, + { 28495, 38197 }, + { 28496, 38212 }, + { 28497, 38213 }, + { 28498, 38214 }, + { 28499, 38217 }, + { 28500, 38220 }, + { 28501, 38222 }, + { 28502, 38223 }, + { 28503, 38226 }, + { 28504, 38227 }, + { 28505, 38228 }, + { 28506, 38230 }, + { 28507, 38231 }, + { 28508, 38232 }, + { 28509, 38233 }, + { 28510, 38235 }, + { 28511, 38238 }, + { 28512, 38239 }, + { 28513, 38237 }, + { 28514, 38241 }, + { 28515, 38242 }, + { 28516, 38244 }, + { 28517, 38245 }, + { 28518, 38246 }, + { 28519, 38247 }, + { 28520, 38248 }, + { 28521, 38249 }, + { 28522, 38250 }, + { 28523, 38251 }, + { 28524, 38252 }, + { 28525, 38255 }, + { 28526, 38257 }, + { 28527, 38258 }, + { 28528, 38259 }, + { 28529, 38202 }, + { 28530, 30695 }, + { 28531, 30700 }, + { 28532, 38601 }, + { 28533, 31189 }, + { 28534, 31213 }, + { 28535, 31203 }, + { 28536, 31211 }, + { 28537, 31238 }, + { 28538, 23879 }, + { 28539, 31235 }, + { 28540, 31234 }, + { 28541, 31262 }, + { 28542, 31252 }, + { 28705, 31289 }, + { 28706, 31287 }, + { 28707, 31313 }, + { 28708, 40655 }, + { 28709, 39333 }, + { 28710, 31344 }, + { 28711, 30344 }, + { 28712, 30350 }, + { 28713, 30355 }, + { 28714, 30361 }, + { 28715, 30372 }, + { 28716, 29918 }, + { 28717, 29920 }, + { 28718, 29996 }, + { 28719, 40480 }, + { 28720, 40482 }, + { 28721, 40488 }, + { 28722, 40489 }, + { 28723, 40490 }, + { 28724, 40491 }, + { 28725, 40492 }, + { 28726, 40498 }, + { 28727, 40497 }, + { 28728, 40502 }, + { 28729, 40504 }, + { 28730, 40503 }, + { 28731, 40505 }, + { 28732, 40506 }, + { 28733, 40510 }, + { 28734, 40513 }, + { 28735, 40514 }, + { 28736, 40516 }, + { 28737, 40518 }, + { 28738, 40519 }, + { 28739, 40520 }, + { 28740, 40521 }, + { 28741, 40523 }, + { 28742, 40524 }, + { 28743, 40526 }, + { 28744, 40529 }, + { 28745, 40533 }, + { 28746, 40535 }, + { 28747, 40538 }, + { 28748, 40539 }, + { 28749, 40540 }, + { 28750, 40542 }, + { 28751, 40547 }, + { 28752, 40550 }, + { 28753, 40551 }, + { 28754, 40552 }, + { 28755, 40553 }, + { 28756, 40554 }, + { 28757, 40555 }, + { 28758, 40556 }, + { 28759, 40561 }, + { 28760, 40557 }, + { 28761, 40563 }, + { 28762, 30098 }, + { 28763, 30100 }, + { 28764, 30102 }, + { 28765, 30112 }, + { 28766, 30109 }, + { 28767, 30124 }, + { 28768, 30115 }, + { 28769, 30131 }, + { 28770, 30132 }, + { 28771, 30136 }, + { 28772, 30148 }, + { 28773, 30129 }, + { 28774, 30128 }, + { 28775, 30147 }, + { 28776, 30146 }, + { 28777, 30166 }, + { 28778, 30157 }, + { 28779, 30179 }, + { 28780, 30184 }, + { 28781, 30182 }, + { 28782, 30180 }, + { 28783, 30187 }, + { 28784, 30183 }, + { 28785, 30211 }, + { 28786, 30193 }, + { 28787, 30204 }, + { 28788, 30207 }, + { 28789, 30224 }, + { 28790, 30208 }, + { 28791, 30213 }, + { 28792, 30220 }, + { 28793, 30231 }, + { 28794, 30218 }, + { 28795, 30245 }, + { 28796, 30232 }, + { 28797, 30229 }, + { 28798, 30233 }, + { 28961, 30235 }, + { 28962, 30268 }, + { 28963, 30242 }, + { 28964, 30240 }, + { 28965, 30272 }, + { 28966, 30253 }, + { 28967, 30256 }, + { 28968, 30271 }, + { 28969, 30261 }, + { 28970, 30275 }, + { 28971, 30270 }, + { 28972, 30259 }, + { 28973, 30285 }, + { 28974, 30302 }, + { 28975, 30292 }, + { 28976, 30300 }, + { 28977, 30294 }, + { 28978, 30315 }, + { 28979, 30319 }, + { 28980, 32714 }, + { 28981, 31462 }, + { 28982, 31352 }, + { 28983, 31353 }, + { 28984, 31360 }, + { 28985, 31366 }, + { 28986, 31368 }, + { 28987, 31381 }, + { 28988, 31398 }, + { 28989, 31392 }, + { 28990, 31404 }, + { 28991, 31400 }, + { 28992, 31405 }, + { 28993, 31411 }, + { 28994, 34916 }, + { 28995, 34921 }, + { 28996, 34930 }, + { 28997, 34941 }, + { 28998, 34943 }, + { 28999, 34946 }, + { 29000, 34978 }, + { 29001, 35014 }, + { 29002, 34999 }, + { 29003, 35004 }, + { 29004, 35017 }, + { 29005, 35042 }, + { 29006, 35022 }, + { 29007, 35043 }, + { 29008, 35045 }, + { 29009, 35057 }, + { 29010, 35098 }, + { 29011, 35068 }, + { 29012, 35048 }, + { 29013, 35070 }, + { 29014, 35056 }, + { 29015, 35105 }, + { 29016, 35097 }, + { 29017, 35091 }, + { 29018, 35099 }, + { 29019, 35082 }, + { 29020, 35124 }, + { 29021, 35115 }, + { 29022, 35126 }, + { 29023, 35137 }, + { 29024, 35174 }, + { 29025, 35195 }, + { 29026, 30091 }, + { 29027, 32997 }, + { 29028, 30386 }, + { 29029, 30388 }, + { 29030, 30684 }, + { 29031, 32786 }, + { 29032, 32788 }, + { 29033, 32790 }, + { 29034, 32796 }, + { 29035, 32800 }, + { 29036, 32802 }, + { 29037, 32805 }, + { 29038, 32806 }, + { 29039, 32807 }, + { 29040, 32809 }, + { 29041, 32808 }, + { 29042, 32817 }, + { 29043, 32779 }, + { 29044, 32821 }, + { 29045, 32835 }, + { 29046, 32838 }, + { 29047, 32845 }, + { 29048, 32850 }, + { 29049, 32873 }, + { 29050, 32881 }, + { 29051, 35203 }, + { 29052, 39032 }, + { 29053, 39040 }, + { 29054, 39043 }, + { 29217, 39049 }, + { 29218, 39052 }, + { 29219, 39053 }, + { 29220, 39055 }, + { 29221, 39060 }, + { 29222, 39066 }, + { 29223, 39067 }, + { 29224, 39070 }, + { 29225, 39071 }, + { 29226, 39073 }, + { 29227, 39074 }, + { 29228, 39077 }, + { 29229, 39078 }, + { 29230, 34381 }, + { 29231, 34388 }, + { 29232, 34412 }, + { 29233, 34414 }, + { 29234, 34431 }, + { 29235, 34426 }, + { 29236, 34428 }, + { 29237, 34427 }, + { 29238, 34472 }, + { 29239, 34445 }, + { 29240, 34443 }, + { 29241, 34476 }, + { 29242, 34461 }, + { 29243, 34471 }, + { 29244, 34467 }, + { 29245, 34474 }, + { 29246, 34451 }, + { 29247, 34473 }, + { 29248, 34486 }, + { 29249, 34500 }, + { 29250, 34485 }, + { 29251, 34510 }, + { 29252, 34480 }, + { 29253, 34490 }, + { 29254, 34481 }, + { 29255, 34479 }, + { 29256, 34505 }, + { 29257, 34511 }, + { 29258, 34484 }, + { 29259, 34537 }, + { 29260, 34545 }, + { 29261, 34546 }, + { 29262, 34541 }, + { 29263, 34547 }, + { 29264, 34512 }, + { 29265, 34579 }, + { 29266, 34526 }, + { 29267, 34548 }, + { 29268, 34527 }, + { 29269, 34520 }, + { 29270, 34513 }, + { 29271, 34563 }, + { 29272, 34567 }, + { 29273, 34552 }, + { 29274, 34568 }, + { 29275, 34570 }, + { 29276, 34573 }, + { 29277, 34569 }, + { 29278, 34595 }, + { 29279, 34619 }, + { 29280, 34590 }, + { 29281, 34597 }, + { 29282, 34606 }, + { 29283, 34586 }, + { 29284, 34622 }, + { 29285, 34632 }, + { 29286, 34612 }, + { 29287, 34609 }, + { 29288, 34601 }, + { 29289, 34615 }, + { 29290, 34623 }, + { 29291, 34690 }, + { 29292, 34594 }, + { 29293, 34685 }, + { 29294, 34686 }, + { 29295, 34683 }, + { 29296, 34656 }, + { 29297, 34672 }, + { 29298, 34636 }, + { 29299, 34670 }, + { 29300, 34699 }, + { 29301, 34643 }, + { 29302, 34659 }, + { 29303, 34684 }, + { 29304, 34660 }, + { 29305, 34649 }, + { 29306, 34661 }, + { 29307, 34707 }, + { 29308, 34735 }, + { 29309, 34728 }, + { 29310, 34770 }, + { 29473, 34758 }, + { 29474, 34696 }, + { 29475, 34693 }, + { 29476, 34733 }, + { 29477, 34711 }, + { 29478, 34691 }, + { 29479, 34731 }, + { 29480, 34789 }, + { 29481, 34732 }, + { 29482, 34741 }, + { 29483, 34739 }, + { 29484, 34763 }, + { 29485, 34771 }, + { 29486, 34749 }, + { 29487, 34769 }, + { 29488, 34752 }, + { 29489, 34762 }, + { 29490, 34779 }, + { 29491, 34794 }, + { 29492, 34784 }, + { 29493, 34798 }, + { 29494, 34838 }, + { 29495, 34835 }, + { 29496, 34814 }, + { 29497, 34826 }, + { 29498, 34843 }, + { 29499, 34849 }, + { 29500, 34873 }, + { 29501, 34876 }, + { 29502, 32566 }, + { 29503, 32578 }, + { 29504, 32580 }, + { 29505, 32581 }, + { 29506, 33296 }, + { 29507, 31482 }, + { 29508, 31485 }, + { 29509, 31496 }, + { 29510, 31491 }, + { 29511, 31492 }, + { 29512, 31509 }, + { 29513, 31498 }, + { 29514, 31531 }, + { 29515, 31503 }, + { 29516, 31559 }, + { 29517, 31544 }, + { 29518, 31530 }, + { 29519, 31513 }, + { 29520, 31534 }, + { 29521, 31537 }, + { 29522, 31520 }, + { 29523, 31525 }, + { 29524, 31524 }, + { 29525, 31539 }, + { 29526, 31550 }, + { 29527, 31518 }, + { 29528, 31576 }, + { 29529, 31578 }, + { 29530, 31557 }, + { 29531, 31605 }, + { 29532, 31564 }, + { 29533, 31581 }, + { 29534, 31584 }, + { 29535, 31598 }, + { 29536, 31611 }, + { 29537, 31586 }, + { 29538, 31602 }, + { 29539, 31601 }, + { 29540, 31632 }, + { 29541, 31654 }, + { 29542, 31655 }, + { 29543, 31672 }, + { 29544, 31660 }, + { 29545, 31645 }, + { 29546, 31656 }, + { 29547, 31621 }, + { 29548, 31658 }, + { 29549, 31644 }, + { 29550, 31650 }, + { 29551, 31659 }, + { 29552, 31668 }, + { 29553, 31697 }, + { 29554, 31681 }, + { 29555, 31692 }, + { 29556, 31709 }, + { 29557, 31706 }, + { 29558, 31717 }, + { 29559, 31718 }, + { 29560, 31722 }, + { 29561, 31756 }, + { 29562, 31742 }, + { 29563, 31740 }, + { 29564, 31759 }, + { 29565, 31766 }, + { 29566, 31755 }, + { 29729, 31775 }, + { 29730, 31786 }, + { 29731, 31782 }, + { 29732, 31800 }, + { 29733, 31809 }, + { 29734, 31808 }, + { 29735, 33278 }, + { 29736, 33281 }, + { 29737, 33282 }, + { 29738, 33284 }, + { 29739, 33260 }, + { 29740, 34884 }, + { 29741, 33313 }, + { 29742, 33314 }, + { 29743, 33315 }, + { 29744, 33325 }, + { 29745, 33327 }, + { 29746, 33320 }, + { 29747, 33323 }, + { 29748, 33336 }, + { 29749, 33339 }, + { 29750, 33331 }, + { 29751, 33332 }, + { 29752, 33342 }, + { 29753, 33348 }, + { 29754, 33353 }, + { 29755, 33355 }, + { 29756, 33359 }, + { 29757, 33370 }, + { 29758, 33375 }, + { 29759, 33384 }, + { 29760, 34942 }, + { 29761, 34949 }, + { 29762, 34952 }, + { 29763, 35032 }, + { 29764, 35039 }, + { 29765, 35166 }, + { 29766, 32669 }, + { 29767, 32671 }, + { 29768, 32679 }, + { 29769, 32687 }, + { 29770, 32688 }, + { 29771, 32690 }, + { 29772, 31868 }, + { 29773, 25929 }, + { 29774, 31889 }, + { 29775, 31901 }, + { 29776, 31900 }, + { 29777, 31902 }, + { 29778, 31906 }, + { 29779, 31922 }, + { 29780, 31932 }, + { 29781, 31933 }, + { 29782, 31937 }, + { 29783, 31943 }, + { 29784, 31948 }, + { 29785, 31949 }, + { 29786, 31944 }, + { 29787, 31941 }, + { 29788, 31959 }, + { 29789, 31976 }, + { 29790, 33390 }, + { 29791, 26280 }, + { 29792, 32703 }, + { 29793, 32718 }, + { 29794, 32725 }, + { 29795, 32741 }, + { 29796, 32737 }, + { 29797, 32742 }, + { 29798, 32745 }, + { 29799, 32750 }, + { 29800, 32755 }, + { 29801, 31992 }, + { 29802, 32119 }, + { 29803, 32166 }, + { 29804, 32174 }, + { 29805, 32327 }, + { 29806, 32411 }, + { 29807, 40632 }, + { 29808, 40628 }, + { 29809, 36211 }, + { 29810, 36228 }, + { 29811, 36244 }, + { 29812, 36241 }, + { 29813, 36273 }, + { 29814, 36199 }, + { 29815, 36205 }, + { 29816, 35911 }, + { 29817, 35913 }, + { 29818, 37194 }, + { 29819, 37200 }, + { 29820, 37198 }, + { 29821, 37199 }, + { 29822, 37220 }, + { 29985, 37218 }, + { 29986, 37217 }, + { 29987, 37232 }, + { 29988, 37225 }, + { 29989, 37231 }, + { 29990, 37245 }, + { 29991, 37246 }, + { 29992, 37234 }, + { 29993, 37236 }, + { 29994, 37241 }, + { 29995, 37260 }, + { 29996, 37253 }, + { 29997, 37264 }, + { 29998, 37261 }, + { 29999, 37265 }, + { 30000, 37282 }, + { 30001, 37283 }, + { 30002, 37290 }, + { 30003, 37293 }, + { 30004, 37294 }, + { 30005, 37295 }, + { 30006, 37301 }, + { 30007, 37300 }, + { 30008, 37306 }, + { 30009, 35925 }, + { 30010, 40574 }, + { 30011, 36280 }, + { 30012, 36331 }, + { 30013, 36357 }, + { 30014, 36441 }, + { 30015, 36457 }, + { 30016, 36277 }, + { 30017, 36287 }, + { 30018, 36284 }, + { 30019, 36282 }, + { 30020, 36292 }, + { 30021, 36310 }, + { 30022, 36311 }, + { 30023, 36314 }, + { 30024, 36318 }, + { 30025, 36302 }, + { 30026, 36303 }, + { 30027, 36315 }, + { 30028, 36294 }, + { 30029, 36332 }, + { 30030, 36343 }, + { 30031, 36344 }, + { 30032, 36323 }, + { 30033, 36345 }, + { 30034, 36347 }, + { 30035, 36324 }, + { 30036, 36361 }, + { 30037, 36349 }, + { 30038, 36372 }, + { 30039, 36381 }, + { 30040, 36383 }, + { 30041, 36396 }, + { 30042, 36398 }, + { 30043, 36387 }, + { 30044, 36399 }, + { 30045, 36410 }, + { 30046, 36416 }, + { 30047, 36409 }, + { 30048, 36405 }, + { 30049, 36413 }, + { 30050, 36401 }, + { 30051, 36425 }, + { 30052, 36417 }, + { 30053, 36418 }, + { 30054, 36433 }, + { 30055, 36434 }, + { 30056, 36426 }, + { 30057, 36464 }, + { 30058, 36470 }, + { 30059, 36476 }, + { 30060, 36463 }, + { 30061, 36468 }, + { 30062, 36485 }, + { 30063, 36495 }, + { 30064, 36500 }, + { 30065, 36496 }, + { 30066, 36508 }, + { 30067, 36510 }, + { 30068, 35960 }, + { 30069, 35970 }, + { 30070, 35978 }, + { 30071, 35973 }, + { 30072, 35992 }, + { 30073, 35988 }, + { 30074, 26011 }, + { 30075, 35286 }, + { 30076, 35294 }, + { 30077, 35290 }, + { 30078, 35292 }, + { 30241, 35301 }, + { 30242, 35307 }, + { 30243, 35311 }, + { 30244, 35390 }, + { 30245, 35622 }, + { 30246, 38739 }, + { 30247, 38633 }, + { 30248, 38643 }, + { 30249, 38639 }, + { 30250, 38662 }, + { 30251, 38657 }, + { 30252, 38664 }, + { 30253, 38671 }, + { 30254, 38670 }, + { 30255, 38698 }, + { 30256, 38701 }, + { 30257, 38704 }, + { 30258, 38718 }, + { 30259, 40832 }, + { 30260, 40835 }, + { 30261, 40837 }, + { 30262, 40838 }, + { 30263, 40839 }, + { 30264, 40840 }, + { 30265, 40841 }, + { 30266, 40842 }, + { 30267, 40844 }, + { 30268, 40702 }, + { 30269, 40715 }, + { 30270, 40717 }, + { 30271, 38585 }, + { 30272, 38588 }, + { 30273, 38589 }, + { 30274, 38606 }, + { 30275, 38610 }, + { 30276, 30655 }, + { 30277, 38624 }, + { 30278, 37518 }, + { 30279, 37550 }, + { 30280, 37576 }, + { 30281, 37694 }, + { 30282, 37738 }, + { 30283, 37834 }, + { 30284, 37775 }, + { 30285, 37950 }, + { 30286, 37995 }, + { 30287, 40063 }, + { 30288, 40066 }, + { 30289, 40069 }, + { 30290, 40070 }, + { 30291, 40071 }, + { 30292, 40072 }, + { 30293, 31267 }, + { 30294, 40075 }, + { 30295, 40078 }, + { 30296, 40080 }, + { 30297, 40081 }, + { 30298, 40082 }, + { 30299, 40084 }, + { 30300, 40085 }, + { 30301, 40090 }, + { 30302, 40091 }, + { 30303, 40094 }, + { 30304, 40095 }, + { 30305, 40096 }, + { 30306, 40097 }, + { 30307, 40098 }, + { 30308, 40099 }, + { 30309, 40101 }, + { 30310, 40102 }, + { 30311, 40103 }, + { 30312, 40104 }, + { 30313, 40105 }, + { 30314, 40107 }, + { 30315, 40109 }, + { 30316, 40110 }, + { 30317, 40112 }, + { 30318, 40113 }, + { 30319, 40114 }, + { 30320, 40115 }, + { 30321, 40116 }, + { 30322, 40117 }, + { 30323, 40118 }, + { 30324, 40119 }, + { 30325, 40122 }, + { 30326, 40123 }, + { 30327, 40124 }, + { 30328, 40125 }, + { 30329, 40132 }, + { 30330, 40133 }, + { 30331, 40134 }, + { 30332, 40135 }, + { 30333, 40138 }, + { 30334, 40139 }, + { 30497, 40140 }, + { 30498, 40141 }, + { 30499, 40142 }, + { 30500, 40143 }, + { 30501, 40144 }, + { 30502, 40147 }, + { 30503, 40148 }, + { 30504, 40149 }, + { 30505, 40151 }, + { 30506, 40152 }, + { 30507, 40153 }, + { 30508, 40156 }, + { 30509, 40157 }, + { 30510, 40159 }, + { 30511, 40162 }, + { 30512, 38780 }, + { 30513, 38789 }, + { 30514, 38801 }, + { 30515, 38802 }, + { 30516, 38804 }, + { 30517, 38831 }, + { 30518, 38827 }, + { 30519, 38819 }, + { 30520, 38834 }, + { 30521, 38836 }, + { 30522, 39601 }, + { 30523, 39600 }, + { 30524, 39607 }, + { 30525, 40536 }, + { 30526, 39606 }, + { 30527, 39610 }, + { 30528, 39612 }, + { 30529, 39617 }, + { 30530, 39616 }, + { 30531, 39621 }, + { 30532, 39618 }, + { 30533, 39627 }, + { 30534, 39628 }, + { 30535, 39633 }, + { 30536, 39749 }, + { 30537, 39747 }, + { 30538, 39751 }, + { 30539, 39753 }, + { 30540, 39752 }, + { 30541, 39757 }, + { 30542, 39761 }, + { 30543, 39144 }, + { 30544, 39181 }, + { 30545, 39214 }, + { 30546, 39253 }, + { 30547, 39252 }, + { 30548, 39647 }, + { 30549, 39649 }, + { 30550, 39654 }, + { 30551, 39663 }, + { 30552, 39659 }, + { 30553, 39675 }, + { 30554, 39661 }, + { 30555, 39673 }, + { 30556, 39688 }, + { 30557, 39695 }, + { 30558, 39699 }, + { 30559, 39711 }, + { 30560, 39715 }, + { 30561, 40637 }, + { 30562, 40638 }, + { 30563, 32315 }, + { 30564, 40578 }, + { 30565, 40583 }, + { 30566, 40584 }, + { 30567, 40587 }, + { 30568, 40594 }, + { 30569, 37846 }, + { 30570, 40605 }, + { 30571, 40607 }, + { 30572, 40667 }, + { 30573, 40668 }, + { 30574, 40669 }, + { 30575, 40672 }, + { 30576, 40671 }, + { 30577, 40674 }, + { 30578, 40681 }, + { 30579, 40679 }, + { 30580, 40677 }, + { 30581, 40682 }, + { 30582, 40687 }, + { 30583, 40738 }, + { 30584, 40748 }, + { 30585, 40751 }, + { 30586, 40761 }, + { 30587, 40759 }, + { 30588, 40765 }, + { 30589, 40766 }, + { 30590, 40772 }, }; static const encoding_convert_entry Big5ToUnicodeTable[13710] = { - { 0xA140, 0x3000 }, - { 0xA141, 0xFF0C }, - { 0xA142, 0x3001 }, - { 0xA143, 0x3002 }, - { 0xA144, 0xFF0E }, - { 0xA145, 0x2022 }, - { 0xA146, 0xFF1B }, - { 0xA147, 0xFF1A }, - { 0xA148, 0xFF1F }, - { 0xA149, 0xFF01 }, - { 0xA14A, 0xFE30 }, - { 0xA14B, 0x2026 }, - { 0xA14C, 0x2025 }, - { 0xA14D, 0xFE50 }, - { 0xA14E, 0xFF64 }, - { 0xA14F, 0xFE52 }, - { 0xA150, 0x00B7 }, - { 0xA151, 0xFE54 }, - { 0xA152, 0xFE55 }, - { 0xA153, 0xFE56 }, - { 0xA154, 0xFE57 }, - { 0xA155, 0xFF5C }, - { 0xA156, 0x2013 }, - { 0xA157, 0xFE31 }, - { 0xA158, 0x2014 }, - { 0xA159, 0xFE33 }, - { 0xA15A, 0xFFFD }, - { 0xA15B, 0xFE34 }, - { 0xA15C, 0xFE4F }, - { 0xA15D, 0xFF08 }, - { 0xA15E, 0xFF09 }, - { 0xA15F, 0xFE35 }, - { 0xA160, 0xFE36 }, - { 0xA161, 0xFF5B }, - { 0xA162, 0xFF5D }, - { 0xA163, 0xFE37 }, - { 0xA164, 0xFE38 }, - { 0xA165, 0x3014 }, - { 0xA166, 0x3015 }, - { 0xA167, 0xFE39 }, - { 0xA168, 0xFE3A }, - { 0xA169, 0x3010 }, - { 0xA16A, 0x3011 }, - { 0xA16B, 0xFE3B }, - { 0xA16C, 0xFE3C }, - { 0xA16D, 0x300A }, - { 0xA16E, 0x300B }, - { 0xA16F, 0xFE3D }, - { 0xA170, 0xFE3E }, - { 0xA171, 0x3008 }, - { 0xA172, 0x3009 }, - { 0xA173, 0xFE3F }, - { 0xA174, 0xFE40 }, - { 0xA175, 0x300C }, - { 0xA176, 0x300D }, - { 0xA177, 0xFE41 }, - { 0xA178, 0xFE42 }, - { 0xA179, 0x300E }, - { 0xA17A, 0x300F }, - { 0xA17B, 0xFE43 }, - { 0xA17C, 0xFE44 }, - { 0xA17D, 0xFE59 }, - { 0xA17E, 0xFE5A }, - { 0xA1A1, 0xFE5B }, - { 0xA1A2, 0xFE5C }, - { 0xA1A3, 0xFE5D }, - { 0xA1A4, 0xFE5E }, - { 0xA1A5, 0x2018 }, - { 0xA1A6, 0x2019 }, - { 0xA1A7, 0x201C }, - { 0xA1A8, 0x201D }, - { 0xA1A9, 0x301D }, - { 0xA1AA, 0x301E }, - { 0xA1AB, 0x2035 }, - { 0xA1AC, 0x2032 }, - { 0xA1AD, 0xFF03 }, - { 0xA1AE, 0xFF06 }, - { 0xA1AF, 0xFF0A }, - { 0xA1B0, 0x203B }, - { 0xA1B1, 0x00A7 }, - { 0xA1B2, 0x3003 }, - { 0xA1B3, 0x25CB }, - { 0xA1B4, 0x25CF }, - { 0xA1B5, 0x25B3 }, - { 0xA1B6, 0x25B2 }, - { 0xA1B7, 0x25CE }, - { 0xA1B8, 0x2606 }, - { 0xA1B9, 0x2605 }, - { 0xA1BA, 0x25C7 }, - { 0xA1BB, 0x25C6 }, - { 0xA1BC, 0x25A1 }, - { 0xA1BD, 0x25A0 }, - { 0xA1BE, 0x25BD }, - { 0xA1BF, 0x25BC }, - { 0xA1C0, 0x32A3 }, - { 0xA1C1, 0x2105 }, - { 0xA1C2, 0x203E }, - { 0xA1C3, 0xFFFD }, - { 0xA1C4, 0xFF3F }, - { 0xA1C5, 0xFFFD }, - { 0xA1C6, 0xFE49 }, - { 0xA1C7, 0xFE4A }, - { 0xA1C8, 0xFE4D }, - { 0xA1C9, 0xFE4E }, - { 0xA1CA, 0xFE4B }, - { 0xA1CB, 0xFE4C }, - { 0xA1CC, 0xFE5F }, - { 0xA1CD, 0xFE60 }, - { 0xA1CE, 0xFE61 }, - { 0xA1CF, 0xFF0B }, - { 0xA1D0, 0xFF0D }, - { 0xA1D1, 0x00D7 }, - { 0xA1D2, 0x00F7 }, - { 0xA1D3, 0x00B1 }, - { 0xA1D4, 0x221A }, - { 0xA1D5, 0xFF1C }, - { 0xA1D6, 0xFF1E }, - { 0xA1D7, 0xFF1D }, - { 0xA1D8, 0x2266 }, - { 0xA1D9, 0x2267 }, - { 0xA1DA, 0x2260 }, - { 0xA1DB, 0x221E }, - { 0xA1DC, 0x2252 }, - { 0xA1DD, 0x2261 }, - { 0xA1DE, 0xFE62 }, - { 0xA1DF, 0xFE63 }, - { 0xA1E0, 0xFE64 }, - { 0xA1E1, 0xFE65 }, - { 0xA1E2, 0xFE66 }, - { 0xA1E3, 0x223C }, - { 0xA1E4, 0x2229 }, - { 0xA1E5, 0x222A }, - { 0xA1E6, 0x22A5 }, - { 0xA1E7, 0x2220 }, - { 0xA1E8, 0x221F }, - { 0xA1E9, 0x22BF }, - { 0xA1EA, 0x33D2 }, - { 0xA1EB, 0x33D1 }, - { 0xA1EC, 0x222B }, - { 0xA1ED, 0x222E }, - { 0xA1EE, 0x2235 }, - { 0xA1EF, 0x2234 }, - { 0xA1F0, 0x2640 }, - { 0xA1F1, 0x2642 }, - { 0xA1F2, 0x2641 }, - { 0xA1F3, 0x2609 }, - { 0xA1F4, 0x2191 }, - { 0xA1F5, 0x2193 }, - { 0xA1F6, 0x2190 }, - { 0xA1F7, 0x2192 }, - { 0xA1F8, 0x2196 }, - { 0xA1F9, 0x2197 }, - { 0xA1FA, 0x2199 }, - { 0xA1FB, 0x2198 }, - { 0xA1FC, 0x2225 }, - { 0xA1FD, 0x2223 }, - { 0xA1FE, 0xFFFD }, - { 0xA240, 0xFFFD }, - { 0xA241, 0xFF0F }, - { 0xA242, 0xFF3C }, - { 0xA243, 0xFF04 }, - { 0xA244, 0x00A5 }, - { 0xA245, 0x3012 }, - { 0xA246, 0x00A2 }, - { 0xA247, 0x00A3 }, - { 0xA248, 0xFF05 }, - { 0xA249, 0xFF20 }, - { 0xA24A, 0x2103 }, - { 0xA24B, 0x2109 }, - { 0xA24C, 0xFE69 }, - { 0xA24D, 0xFE6A }, - { 0xA24E, 0xFE6B }, - { 0xA24F, 0x33D5 }, - { 0xA250, 0x339C }, - { 0xA251, 0x339D }, - { 0xA252, 0x339E }, - { 0xA253, 0x33CE }, - { 0xA254, 0x33A1 }, - { 0xA255, 0x338E }, - { 0xA256, 0x338F }, - { 0xA257, 0x33C4 }, - { 0xA258, 0x00B0 }, - { 0xA259, 0x5159 }, - { 0xA25A, 0x515B }, - { 0xA25B, 0x515E }, - { 0xA25C, 0x515D }, - { 0xA25D, 0x5161 }, - { 0xA25E, 0x5163 }, - { 0xA25F, 0x55E7 }, - { 0xA260, 0x74E9 }, - { 0xA261, 0x7CCE }, - { 0xA262, 0x2581 }, - { 0xA263, 0x2582 }, - { 0xA264, 0x2583 }, - { 0xA265, 0x2584 }, - { 0xA266, 0x2585 }, - { 0xA267, 0x2586 }, - { 0xA268, 0x2587 }, - { 0xA269, 0x2588 }, - { 0xA26A, 0x258F }, - { 0xA26B, 0x258E }, - { 0xA26C, 0x258D }, - { 0xA26D, 0x258C }, - { 0xA26E, 0x258B }, - { 0xA26F, 0x258A }, - { 0xA270, 0x2589 }, - { 0xA271, 0x253C }, - { 0xA272, 0x2534 }, - { 0xA273, 0x252C }, - { 0xA274, 0x2524 }, - { 0xA275, 0x251C }, - { 0xA276, 0x2594 }, - { 0xA277, 0x2500 }, - { 0xA278, 0x2502 }, - { 0xA279, 0x2595 }, - { 0xA27A, 0x250C }, - { 0xA27B, 0x2510 }, - { 0xA27C, 0x2514 }, - { 0xA27D, 0x2518 }, - { 0xA27E, 0x256D }, - { 0xA2A1, 0x256E }, - { 0xA2A2, 0x2570 }, - { 0xA2A3, 0x256F }, - { 0xA2A4, 0x2550 }, - { 0xA2A5, 0x255E }, - { 0xA2A6, 0x256A }, - { 0xA2A7, 0x2561 }, - { 0xA2A8, 0x25E2 }, - { 0xA2A9, 0x25E3 }, - { 0xA2AA, 0x25E5 }, - { 0xA2AB, 0x25E4 }, - { 0xA2AC, 0x2571 }, - { 0xA2AD, 0x2572 }, - { 0xA2AE, 0x2573 }, - { 0xA2AF, 0xFF10 }, - { 0xA2B0, 0xFF11 }, - { 0xA2B1, 0xFF12 }, - { 0xA2B2, 0xFF13 }, - { 0xA2B3, 0xFF14 }, - { 0xA2B4, 0xFF15 }, - { 0xA2B5, 0xFF16 }, - { 0xA2B6, 0xFF17 }, - { 0xA2B7, 0xFF18 }, - { 0xA2B8, 0xFF19 }, - { 0xA2B9, 0x2160 }, - { 0xA2BA, 0x2161 }, - { 0xA2BB, 0x2162 }, - { 0xA2BC, 0x2163 }, - { 0xA2BD, 0x2164 }, - { 0xA2BE, 0x2165 }, - { 0xA2BF, 0x2166 }, - { 0xA2C0, 0x2167 }, - { 0xA2C1, 0x2168 }, - { 0xA2C2, 0x2169 }, - { 0xA2C3, 0x3021 }, - { 0xA2C4, 0x3022 }, - { 0xA2C5, 0x3023 }, - { 0xA2C6, 0x3024 }, - { 0xA2C7, 0x3025 }, - { 0xA2C8, 0x3026 }, - { 0xA2C9, 0x3027 }, - { 0xA2CA, 0x3028 }, - { 0xA2CB, 0x3029 }, - { 0xA2CC, 0xFFFD }, - { 0xA2CD, 0x5344 }, - { 0xA2CE, 0xFFFD }, - { 0xA2CF, 0xFF21 }, - { 0xA2D0, 0xFF22 }, - { 0xA2D1, 0xFF23 }, - { 0xA2D2, 0xFF24 }, - { 0xA2D3, 0xFF25 }, - { 0xA2D4, 0xFF26 }, - { 0xA2D5, 0xFF27 }, - { 0xA2D6, 0xFF28 }, - { 0xA2D7, 0xFF29 }, - { 0xA2D8, 0xFF2A }, - { 0xA2D9, 0xFF2B }, - { 0xA2DA, 0xFF2C }, - { 0xA2DB, 0xFF2D }, - { 0xA2DC, 0xFF2E }, - { 0xA2DD, 0xFF2F }, - { 0xA2DE, 0xFF30 }, - { 0xA2DF, 0xFF31 }, - { 0xA2E0, 0xFF32 }, - { 0xA2E1, 0xFF33 }, - { 0xA2E2, 0xFF34 }, - { 0xA2E3, 0xFF35 }, - { 0xA2E4, 0xFF36 }, - { 0xA2E5, 0xFF37 }, - { 0xA2E6, 0xFF38 }, - { 0xA2E7, 0xFF39 }, - { 0xA2E8, 0xFF3A }, - { 0xA2E9, 0xFF41 }, - { 0xA2EA, 0xFF42 }, - { 0xA2EB, 0xFF43 }, - { 0xA2EC, 0xFF44 }, - { 0xA2ED, 0xFF45 }, - { 0xA2EE, 0xFF46 }, - { 0xA2EF, 0xFF47 }, - { 0xA2F0, 0xFF48 }, - { 0xA2F1, 0xFF49 }, - { 0xA2F2, 0xFF4A }, - { 0xA2F3, 0xFF4B }, - { 0xA2F4, 0xFF4C }, - { 0xA2F5, 0xFF4D }, - { 0xA2F6, 0xFF4E }, - { 0xA2F7, 0xFF4F }, - { 0xA2F8, 0xFF50 }, - { 0xA2F9, 0xFF51 }, - { 0xA2FA, 0xFF52 }, - { 0xA2FB, 0xFF53 }, - { 0xA2FC, 0xFF54 }, - { 0xA2FD, 0xFF55 }, - { 0xA2FE, 0xFF56 }, - { 0xA340, 0xFF57 }, - { 0xA341, 0xFF58 }, - { 0xA342, 0xFF59 }, - { 0xA343, 0xFF5A }, - { 0xA344, 0x0391 }, - { 0xA345, 0x0392 }, - { 0xA346, 0x0393 }, - { 0xA347, 0x0394 }, - { 0xA348, 0x0395 }, - { 0xA349, 0x0396 }, - { 0xA34A, 0x0397 }, - { 0xA34B, 0x0398 }, - { 0xA34C, 0x0399 }, - { 0xA34D, 0x039A }, - { 0xA34E, 0x039B }, - { 0xA34F, 0x039C }, - { 0xA350, 0x039D }, - { 0xA351, 0x039E }, - { 0xA352, 0x039F }, - { 0xA353, 0x03A0 }, - { 0xA354, 0x03A1 }, - { 0xA355, 0x03A3 }, - { 0xA356, 0x03A4 }, - { 0xA357, 0x03A5 }, - { 0xA358, 0x03A6 }, - { 0xA359, 0x03A7 }, - { 0xA35A, 0x03A8 }, - { 0xA35B, 0x03A9 }, - { 0xA35C, 0x03B1 }, - { 0xA35D, 0x03B2 }, - { 0xA35E, 0x03B3 }, - { 0xA35F, 0x03B4 }, - { 0xA360, 0x03B5 }, - { 0xA361, 0x03B6 }, - { 0xA362, 0x03B7 }, - { 0xA363, 0x03B8 }, - { 0xA364, 0x03B9 }, - { 0xA365, 0x03BA }, - { 0xA366, 0x03BB }, - { 0xA367, 0x03BC }, - { 0xA368, 0x03BD }, - { 0xA369, 0x03BE }, - { 0xA36A, 0x03BF }, - { 0xA36B, 0x03C0 }, - { 0xA36C, 0x03C1 }, - { 0xA36D, 0x03C3 }, - { 0xA36E, 0x03C4 }, - { 0xA36F, 0x03C5 }, - { 0xA370, 0x03C6 }, - { 0xA371, 0x03C7 }, - { 0xA372, 0x03C8 }, - { 0xA373, 0x03C9 }, - { 0xA374, 0x3105 }, - { 0xA375, 0x3106 }, - { 0xA376, 0x3107 }, - { 0xA377, 0x3108 }, - { 0xA378, 0x3109 }, - { 0xA379, 0x310A }, - { 0xA37A, 0x310B }, - { 0xA37B, 0x310C }, - { 0xA37C, 0x310D }, - { 0xA37D, 0x310E }, - { 0xA37E, 0x310F }, - { 0xA3A1, 0x3110 }, - { 0xA3A2, 0x3111 }, - { 0xA3A3, 0x3112 }, - { 0xA3A4, 0x3113 }, - { 0xA3A5, 0x3114 }, - { 0xA3A6, 0x3115 }, - { 0xA3A7, 0x3116 }, - { 0xA3A8, 0x3117 }, - { 0xA3A9, 0x3118 }, - { 0xA3AA, 0x3119 }, - { 0xA3AB, 0x311A }, - { 0xA3AC, 0x311B }, - { 0xA3AD, 0x311C }, - { 0xA3AE, 0x311D }, - { 0xA3AF, 0x311E }, - { 0xA3B0, 0x311F }, - { 0xA3B1, 0x3120 }, - { 0xA3B2, 0x3121 }, - { 0xA3B3, 0x3122 }, - { 0xA3B4, 0x3123 }, - { 0xA3B5, 0x3124 }, - { 0xA3B6, 0x3125 }, - { 0xA3B7, 0x3126 }, - { 0xA3B8, 0x3127 }, - { 0xA3B9, 0x3128 }, - { 0xA3BA, 0x3129 }, - { 0xA3BB, 0x02D9 }, - { 0xA3BC, 0x02C9 }, - { 0xA3BD, 0x02CA }, - { 0xA3BE, 0x02C7 }, - { 0xA3BF, 0x02CB }, - { 0xA440, 0x4E00 }, - { 0xA441, 0x4E59 }, - { 0xA442, 0x4E01 }, - { 0xA443, 0x4E03 }, - { 0xA444, 0x4E43 }, - { 0xA445, 0x4E5D }, - { 0xA446, 0x4E86 }, - { 0xA447, 0x4E8C }, - { 0xA448, 0x4EBA }, - { 0xA449, 0x513F }, - { 0xA44A, 0x5165 }, - { 0xA44B, 0x516B }, - { 0xA44C, 0x51E0 }, - { 0xA44D, 0x5200 }, - { 0xA44E, 0x5201 }, - { 0xA44F, 0x529B }, - { 0xA450, 0x5315 }, - { 0xA451, 0x5341 }, - { 0xA452, 0x535C }, - { 0xA453, 0x53C8 }, - { 0xA454, 0x4E09 }, - { 0xA455, 0x4E0B }, - { 0xA456, 0x4E08 }, - { 0xA457, 0x4E0A }, - { 0xA458, 0x4E2B }, - { 0xA459, 0x4E38 }, - { 0xA45A, 0x51E1 }, - { 0xA45B, 0x4E45 }, - { 0xA45C, 0x4E48 }, - { 0xA45D, 0x4E5F }, - { 0xA45E, 0x4E5E }, - { 0xA45F, 0x4E8E }, - { 0xA460, 0x4EA1 }, - { 0xA461, 0x5140 }, - { 0xA462, 0x5203 }, - { 0xA463, 0x52FA }, - { 0xA464, 0x5343 }, - { 0xA465, 0x53C9 }, - { 0xA466, 0x53E3 }, - { 0xA467, 0x571F }, - { 0xA468, 0x58EB }, - { 0xA469, 0x5915 }, - { 0xA46A, 0x5927 }, - { 0xA46B, 0x5973 }, - { 0xA46C, 0x5B50 }, - { 0xA46D, 0x5B51 }, - { 0xA46E, 0x5B53 }, - { 0xA46F, 0x5BF8 }, - { 0xA470, 0x5C0F }, - { 0xA471, 0x5C22 }, - { 0xA472, 0x5C38 }, - { 0xA473, 0x5C71 }, - { 0xA474, 0x5DDD }, - { 0xA475, 0x5DE5 }, - { 0xA476, 0x5DF1 }, - { 0xA477, 0x5DF2 }, - { 0xA478, 0x5DF3 }, - { 0xA479, 0x5DFE }, - { 0xA47A, 0x5E72 }, - { 0xA47B, 0x5EFE }, - { 0xA47C, 0x5F0B }, - { 0xA47D, 0x5F13 }, - { 0xA47E, 0x624D }, - { 0xA4A1, 0x4E11 }, - { 0xA4A2, 0x4E10 }, - { 0xA4A3, 0x4E0D }, - { 0xA4A4, 0x4E2D }, - { 0xA4A5, 0x4E30 }, - { 0xA4A6, 0x4E39 }, - { 0xA4A7, 0x4E4B }, - { 0xA4A8, 0x5C39 }, - { 0xA4A9, 0x4E88 }, - { 0xA4AA, 0x4E91 }, - { 0xA4AB, 0x4E95 }, - { 0xA4AC, 0x4E92 }, - { 0xA4AD, 0x4E94 }, - { 0xA4AE, 0x4EA2 }, - { 0xA4AF, 0x4EC1 }, - { 0xA4B0, 0x4EC0 }, - { 0xA4B1, 0x4EC3 }, - { 0xA4B2, 0x4EC6 }, - { 0xA4B3, 0x4EC7 }, - { 0xA4B4, 0x4ECD }, - { 0xA4B5, 0x4ECA }, - { 0xA4B6, 0x4ECB }, - { 0xA4B7, 0x4EC4 }, - { 0xA4B8, 0x5143 }, - { 0xA4B9, 0x5141 }, - { 0xA4BA, 0x5167 }, - { 0xA4BB, 0x516D }, - { 0xA4BC, 0x516E }, - { 0xA4BD, 0x516C }, - { 0xA4BE, 0x5197 }, - { 0xA4BF, 0x51F6 }, - { 0xA4C0, 0x5206 }, - { 0xA4C1, 0x5207 }, - { 0xA4C2, 0x5208 }, - { 0xA4C3, 0x52FB }, - { 0xA4C4, 0x52FE }, - { 0xA4C5, 0x52FF }, - { 0xA4C6, 0x5316 }, - { 0xA4C7, 0x5339 }, - { 0xA4C8, 0x5348 }, - { 0xA4C9, 0x5347 }, - { 0xA4CA, 0x5345 }, - { 0xA4CB, 0x535E }, - { 0xA4CC, 0x5384 }, - { 0xA4CD, 0x53CB }, - { 0xA4CE, 0x53CA }, - { 0xA4CF, 0x53CD }, - { 0xA4D0, 0x58EC }, - { 0xA4D1, 0x5929 }, - { 0xA4D2, 0x592B }, - { 0xA4D3, 0x592A }, - { 0xA4D4, 0x592D }, - { 0xA4D5, 0x5B54 }, - { 0xA4D6, 0x5C11 }, - { 0xA4D7, 0x5C24 }, - { 0xA4D8, 0x5C3A }, - { 0xA4D9, 0x5C6F }, - { 0xA4DA, 0x5DF4 }, - { 0xA4DB, 0x5E7B }, - { 0xA4DC, 0x5EFF }, - { 0xA4DD, 0x5F14 }, - { 0xA4DE, 0x5F15 }, - { 0xA4DF, 0x5FC3 }, - { 0xA4E0, 0x6208 }, - { 0xA4E1, 0x6236 }, - { 0xA4E2, 0x624B }, - { 0xA4E3, 0x624E }, - { 0xA4E4, 0x652F }, - { 0xA4E5, 0x6587 }, - { 0xA4E6, 0x6597 }, - { 0xA4E7, 0x65A4 }, - { 0xA4E8, 0x65B9 }, - { 0xA4E9, 0x65E5 }, - { 0xA4EA, 0x66F0 }, - { 0xA4EB, 0x6708 }, - { 0xA4EC, 0x6728 }, - { 0xA4ED, 0x6B20 }, - { 0xA4EE, 0x6B62 }, - { 0xA4EF, 0x6B79 }, - { 0xA4F0, 0x6BCB }, - { 0xA4F1, 0x6BD4 }, - { 0xA4F2, 0x6BDB }, - { 0xA4F3, 0x6C0F }, - { 0xA4F4, 0x6C34 }, - { 0xA4F5, 0x706B }, - { 0xA4F6, 0x722A }, - { 0xA4F7, 0x7236 }, - { 0xA4F8, 0x723B }, - { 0xA4F9, 0x7247 }, - { 0xA4FA, 0x7259 }, - { 0xA4FB, 0x725B }, - { 0xA4FC, 0x72AC }, - { 0xA4FD, 0x738B }, - { 0xA4FE, 0x4E19 }, - { 0xA540, 0x4E16 }, - { 0xA541, 0x4E15 }, - { 0xA542, 0x4E14 }, - { 0xA543, 0x4E18 }, - { 0xA544, 0x4E3B }, - { 0xA545, 0x4E4D }, - { 0xA546, 0x4E4F }, - { 0xA547, 0x4E4E }, - { 0xA548, 0x4EE5 }, - { 0xA549, 0x4ED8 }, - { 0xA54A, 0x4ED4 }, - { 0xA54B, 0x4ED5 }, - { 0xA54C, 0x4ED6 }, - { 0xA54D, 0x4ED7 }, - { 0xA54E, 0x4EE3 }, - { 0xA54F, 0x4EE4 }, - { 0xA550, 0x4ED9 }, - { 0xA551, 0x4EDE }, - { 0xA552, 0x5145 }, - { 0xA553, 0x5144 }, - { 0xA554, 0x5189 }, - { 0xA555, 0x518A }, - { 0xA556, 0x51AC }, - { 0xA557, 0x51F9 }, - { 0xA558, 0x51FA }, - { 0xA559, 0x51F8 }, - { 0xA55A, 0x520A }, - { 0xA55B, 0x52A0 }, - { 0xA55C, 0x529F }, - { 0xA55D, 0x5305 }, - { 0xA55E, 0x5306 }, - { 0xA55F, 0x5317 }, - { 0xA560, 0x531D }, - { 0xA561, 0x4EDF }, - { 0xA562, 0x534A }, - { 0xA563, 0x5349 }, - { 0xA564, 0x5361 }, - { 0xA565, 0x5360 }, - { 0xA566, 0x536F }, - { 0xA567, 0x536E }, - { 0xA568, 0x53BB }, - { 0xA569, 0x53EF }, - { 0xA56A, 0x53E4 }, - { 0xA56B, 0x53F3 }, - { 0xA56C, 0x53EC }, - { 0xA56D, 0x53EE }, - { 0xA56E, 0x53E9 }, - { 0xA56F, 0x53E8 }, - { 0xA570, 0x53FC }, - { 0xA571, 0x53F8 }, - { 0xA572, 0x53F5 }, - { 0xA573, 0x53EB }, - { 0xA574, 0x53E6 }, - { 0xA575, 0x53EA }, - { 0xA576, 0x53F2 }, - { 0xA577, 0x53F1 }, - { 0xA578, 0x53F0 }, - { 0xA579, 0x53E5 }, - { 0xA57A, 0x53ED }, - { 0xA57B, 0x53FB }, - { 0xA57C, 0x56DB }, - { 0xA57D, 0x56DA }, - { 0xA57E, 0x5916 }, - { 0xA5A1, 0x592E }, - { 0xA5A2, 0x5931 }, - { 0xA5A3, 0x5974 }, - { 0xA5A4, 0x5976 }, - { 0xA5A5, 0x5B55 }, - { 0xA5A6, 0x5B83 }, - { 0xA5A7, 0x5C3C }, - { 0xA5A8, 0x5DE8 }, - { 0xA5A9, 0x5DE7 }, - { 0xA5AA, 0x5DE6 }, - { 0xA5AB, 0x5E02 }, - { 0xA5AC, 0x5E03 }, - { 0xA5AD, 0x5E73 }, - { 0xA5AE, 0x5E7C }, - { 0xA5AF, 0x5F01 }, - { 0xA5B0, 0x5F18 }, - { 0xA5B1, 0x5F17 }, - { 0xA5B2, 0x5FC5 }, - { 0xA5B3, 0x620A }, - { 0xA5B4, 0x6253 }, - { 0xA5B5, 0x6254 }, - { 0xA5B6, 0x6252 }, - { 0xA5B7, 0x6251 }, - { 0xA5B8, 0x65A5 }, - { 0xA5B9, 0x65E6 }, - { 0xA5BA, 0x672E }, - { 0xA5BB, 0x672C }, - { 0xA5BC, 0x672A }, - { 0xA5BD, 0x672B }, - { 0xA5BE, 0x672D }, - { 0xA5BF, 0x6B63 }, - { 0xA5C0, 0x6BCD }, - { 0xA5C1, 0x6C11 }, - { 0xA5C2, 0x6C10 }, - { 0xA5C3, 0x6C38 }, - { 0xA5C4, 0x6C41 }, - { 0xA5C5, 0x6C40 }, - { 0xA5C6, 0x6C3E }, - { 0xA5C7, 0x72AF }, - { 0xA5C8, 0x7384 }, - { 0xA5C9, 0x7389 }, - { 0xA5CA, 0x74DC }, - { 0xA5CB, 0x74E6 }, - { 0xA5CC, 0x7518 }, - { 0xA5CD, 0x751F }, - { 0xA5CE, 0x7528 }, - { 0xA5CF, 0x7529 }, - { 0xA5D0, 0x7530 }, - { 0xA5D1, 0x7531 }, - { 0xA5D2, 0x7532 }, - { 0xA5D3, 0x7533 }, - { 0xA5D4, 0x758B }, - { 0xA5D5, 0x767D }, - { 0xA5D6, 0x76AE }, - { 0xA5D7, 0x76BF }, - { 0xA5D8, 0x76EE }, - { 0xA5D9, 0x77DB }, - { 0xA5DA, 0x77E2 }, - { 0xA5DB, 0x77F3 }, - { 0xA5DC, 0x793A }, - { 0xA5DD, 0x79BE }, - { 0xA5DE, 0x7A74 }, - { 0xA5DF, 0x7ACB }, - { 0xA5E0, 0x4E1E }, - { 0xA5E1, 0x4E1F }, - { 0xA5E2, 0x4E52 }, - { 0xA5E3, 0x4E53 }, - { 0xA5E4, 0x4E69 }, - { 0xA5E5, 0x4E99 }, - { 0xA5E6, 0x4EA4 }, - { 0xA5E7, 0x4EA6 }, - { 0xA5E8, 0x4EA5 }, - { 0xA5E9, 0x4EFF }, - { 0xA5EA, 0x4F09 }, - { 0xA5EB, 0x4F19 }, - { 0xA5EC, 0x4F0A }, - { 0xA5ED, 0x4F15 }, - { 0xA5EE, 0x4F0D }, - { 0xA5EF, 0x4F10 }, - { 0xA5F0, 0x4F11 }, - { 0xA5F1, 0x4F0F }, - { 0xA5F2, 0x4EF2 }, - { 0xA5F3, 0x4EF6 }, - { 0xA5F4, 0x4EFB }, - { 0xA5F5, 0x4EF0 }, - { 0xA5F6, 0x4EF3 }, - { 0xA5F7, 0x4EFD }, - { 0xA5F8, 0x4F01 }, - { 0xA5F9, 0x4F0B }, - { 0xA5FA, 0x5149 }, - { 0xA5FB, 0x5147 }, - { 0xA5FC, 0x5146 }, - { 0xA5FD, 0x5148 }, - { 0xA5FE, 0x5168 }, - { 0xA640, 0x5171 }, - { 0xA641, 0x518D }, - { 0xA642, 0x51B0 }, - { 0xA643, 0x5217 }, - { 0xA644, 0x5211 }, - { 0xA645, 0x5212 }, - { 0xA646, 0x520E }, - { 0xA647, 0x5216 }, - { 0xA648, 0x52A3 }, - { 0xA649, 0x5308 }, - { 0xA64A, 0x5321 }, - { 0xA64B, 0x5320 }, - { 0xA64C, 0x5370 }, - { 0xA64D, 0x5371 }, - { 0xA64E, 0x5409 }, - { 0xA64F, 0x540F }, - { 0xA650, 0x540C }, - { 0xA651, 0x540A }, - { 0xA652, 0x5410 }, - { 0xA653, 0x5401 }, - { 0xA654, 0x540B }, - { 0xA655, 0x5404 }, - { 0xA656, 0x5411 }, - { 0xA657, 0x540D }, - { 0xA658, 0x5408 }, - { 0xA659, 0x5403 }, - { 0xA65A, 0x540E }, - { 0xA65B, 0x5406 }, - { 0xA65C, 0x5412 }, - { 0xA65D, 0x56E0 }, - { 0xA65E, 0x56DE }, - { 0xA65F, 0x56DD }, - { 0xA660, 0x5733 }, - { 0xA661, 0x5730 }, - { 0xA662, 0x5728 }, - { 0xA663, 0x572D }, - { 0xA664, 0x572C }, - { 0xA665, 0x572F }, - { 0xA666, 0x5729 }, - { 0xA667, 0x5919 }, - { 0xA668, 0x591A }, - { 0xA669, 0x5937 }, - { 0xA66A, 0x5938 }, - { 0xA66B, 0x5984 }, - { 0xA66C, 0x5978 }, - { 0xA66D, 0x5983 }, - { 0xA66E, 0x597D }, - { 0xA66F, 0x5979 }, - { 0xA670, 0x5982 }, - { 0xA671, 0x5981 }, - { 0xA672, 0x5B57 }, - { 0xA673, 0x5B58 }, - { 0xA674, 0x5B87 }, - { 0xA675, 0x5B88 }, - { 0xA676, 0x5B85 }, - { 0xA677, 0x5B89 }, - { 0xA678, 0x5BFA }, - { 0xA679, 0x5C16 }, - { 0xA67A, 0x5C79 }, - { 0xA67B, 0x5DDE }, - { 0xA67C, 0x5E06 }, - { 0xA67D, 0x5E76 }, - { 0xA67E, 0x5E74 }, - { 0xA6A1, 0x5F0F }, - { 0xA6A2, 0x5F1B }, - { 0xA6A3, 0x5FD9 }, - { 0xA6A4, 0x5FD6 }, - { 0xA6A5, 0x620E }, - { 0xA6A6, 0x620C }, - { 0xA6A7, 0x620D }, - { 0xA6A8, 0x6210 }, - { 0xA6A9, 0x6263 }, - { 0xA6AA, 0x625B }, - { 0xA6AB, 0x6258 }, - { 0xA6AC, 0x6536 }, - { 0xA6AD, 0x65E9 }, - { 0xA6AE, 0x65E8 }, - { 0xA6AF, 0x65EC }, - { 0xA6B0, 0x65ED }, - { 0xA6B1, 0x66F2 }, - { 0xA6B2, 0x66F3 }, - { 0xA6B3, 0x6709 }, - { 0xA6B4, 0x673D }, - { 0xA6B5, 0x6734 }, - { 0xA6B6, 0x6731 }, - { 0xA6B7, 0x6735 }, - { 0xA6B8, 0x6B21 }, - { 0xA6B9, 0x6B64 }, - { 0xA6BA, 0x6B7B }, - { 0xA6BB, 0x6C16 }, - { 0xA6BC, 0x6C5D }, - { 0xA6BD, 0x6C57 }, - { 0xA6BE, 0x6C59 }, - { 0xA6BF, 0x6C5F }, - { 0xA6C0, 0x6C60 }, - { 0xA6C1, 0x6C50 }, - { 0xA6C2, 0x6C55 }, - { 0xA6C3, 0x6C61 }, - { 0xA6C4, 0x6C5B }, - { 0xA6C5, 0x6C4D }, - { 0xA6C6, 0x6C4E }, - { 0xA6C7, 0x7070 }, - { 0xA6C8, 0x725F }, - { 0xA6C9, 0x725D }, - { 0xA6CA, 0x767E }, - { 0xA6CB, 0x7AF9 }, - { 0xA6CC, 0x7C73 }, - { 0xA6CD, 0x7CF8 }, - { 0xA6CE, 0x7F36 }, - { 0xA6CF, 0x7F8A }, - { 0xA6D0, 0x7FBD }, - { 0xA6D1, 0x8001 }, - { 0xA6D2, 0x8003 }, - { 0xA6D3, 0x800C }, - { 0xA6D4, 0x8012 }, - { 0xA6D5, 0x8033 }, - { 0xA6D6, 0x807F }, - { 0xA6D7, 0x8089 }, - { 0xA6D8, 0x808B }, - { 0xA6D9, 0x808C }, - { 0xA6DA, 0x81E3 }, - { 0xA6DB, 0x81EA }, - { 0xA6DC, 0x81F3 }, - { 0xA6DD, 0x81FC }, - { 0xA6DE, 0x820C }, - { 0xA6DF, 0x821B }, - { 0xA6E0, 0x821F }, - { 0xA6E1, 0x826E }, - { 0xA6E2, 0x8272 }, - { 0xA6E3, 0x827E }, - { 0xA6E4, 0x866B }, - { 0xA6E5, 0x8840 }, - { 0xA6E6, 0x884C }, - { 0xA6E7, 0x8863 }, - { 0xA6E8, 0x897F }, - { 0xA6E9, 0x9621 }, - { 0xA6EA, 0x4E32 }, - { 0xA6EB, 0x4EA8 }, - { 0xA6EC, 0x4F4D }, - { 0xA6ED, 0x4F4F }, - { 0xA6EE, 0x4F47 }, - { 0xA6EF, 0x4F57 }, - { 0xA6F0, 0x4F5E }, - { 0xA6F1, 0x4F34 }, - { 0xA6F2, 0x4F5B }, - { 0xA6F3, 0x4F55 }, - { 0xA6F4, 0x4F30 }, - { 0xA6F5, 0x4F50 }, - { 0xA6F6, 0x4F51 }, - { 0xA6F7, 0x4F3D }, - { 0xA6F8, 0x4F3A }, - { 0xA6F9, 0x4F38 }, - { 0xA6FA, 0x4F43 }, - { 0xA6FB, 0x4F54 }, - { 0xA6FC, 0x4F3C }, - { 0xA6FD, 0x4F46 }, - { 0xA6FE, 0x4F63 }, - { 0xA740, 0x4F5C }, - { 0xA741, 0x4F60 }, - { 0xA742, 0x4F2F }, - { 0xA743, 0x4F4E }, - { 0xA744, 0x4F36 }, - { 0xA745, 0x4F59 }, - { 0xA746, 0x4F5D }, - { 0xA747, 0x4F48 }, - { 0xA748, 0x4F5A }, - { 0xA749, 0x514C }, - { 0xA74A, 0x514B }, - { 0xA74B, 0x514D }, - { 0xA74C, 0x5175 }, - { 0xA74D, 0x51B6 }, - { 0xA74E, 0x51B7 }, - { 0xA74F, 0x5225 }, - { 0xA750, 0x5224 }, - { 0xA751, 0x5229 }, - { 0xA752, 0x522A }, - { 0xA753, 0x5228 }, - { 0xA754, 0x52AB }, - { 0xA755, 0x52A9 }, - { 0xA756, 0x52AA }, - { 0xA757, 0x52AC }, - { 0xA758, 0x5323 }, - { 0xA759, 0x5373 }, - { 0xA75A, 0x5375 }, - { 0xA75B, 0x541D }, - { 0xA75C, 0x542D }, - { 0xA75D, 0x541E }, - { 0xA75E, 0x543E }, - { 0xA75F, 0x5426 }, - { 0xA760, 0x544E }, - { 0xA761, 0x5427 }, - { 0xA762, 0x5446 }, - { 0xA763, 0x5443 }, - { 0xA764, 0x5433 }, - { 0xA765, 0x5448 }, - { 0xA766, 0x5442 }, - { 0xA767, 0x541B }, - { 0xA768, 0x5429 }, - { 0xA769, 0x544A }, - { 0xA76A, 0x5439 }, - { 0xA76B, 0x543B }, - { 0xA76C, 0x5438 }, - { 0xA76D, 0x542E }, - { 0xA76E, 0x5435 }, - { 0xA76F, 0x5436 }, - { 0xA770, 0x5420 }, - { 0xA771, 0x543C }, - { 0xA772, 0x5440 }, - { 0xA773, 0x5431 }, - { 0xA774, 0x542B }, - { 0xA775, 0x541F }, - { 0xA776, 0x542C }, - { 0xA777, 0x56EA }, - { 0xA778, 0x56F0 }, - { 0xA779, 0x56E4 }, - { 0xA77A, 0x56EB }, - { 0xA77B, 0x574A }, - { 0xA77C, 0x5751 }, - { 0xA77D, 0x5740 }, - { 0xA77E, 0x574D }, - { 0xA7A1, 0x5747 }, - { 0xA7A2, 0x574E }, - { 0xA7A3, 0x573E }, - { 0xA7A4, 0x5750 }, - { 0xA7A5, 0x574F }, - { 0xA7A6, 0x573B }, - { 0xA7A7, 0x58EF }, - { 0xA7A8, 0x593E }, - { 0xA7A9, 0x599D }, - { 0xA7AA, 0x5992 }, - { 0xA7AB, 0x59A8 }, - { 0xA7AC, 0x599E }, - { 0xA7AD, 0x59A3 }, - { 0xA7AE, 0x5999 }, - { 0xA7AF, 0x5996 }, - { 0xA7B0, 0x598D }, - { 0xA7B1, 0x59A4 }, - { 0xA7B2, 0x5993 }, - { 0xA7B3, 0x598A }, - { 0xA7B4, 0x59A5 }, - { 0xA7B5, 0x5B5D }, - { 0xA7B6, 0x5B5C }, - { 0xA7B7, 0x5B5A }, - { 0xA7B8, 0x5B5B }, - { 0xA7B9, 0x5B8C }, - { 0xA7BA, 0x5B8B }, - { 0xA7BB, 0x5B8F }, - { 0xA7BC, 0x5C2C }, - { 0xA7BD, 0x5C40 }, - { 0xA7BE, 0x5C41 }, - { 0xA7BF, 0x5C3F }, - { 0xA7C0, 0x5C3E }, - { 0xA7C1, 0x5C90 }, - { 0xA7C2, 0x5C91 }, - { 0xA7C3, 0x5C94 }, - { 0xA7C4, 0x5C8C }, - { 0xA7C5, 0x5DEB }, - { 0xA7C6, 0x5E0C }, - { 0xA7C7, 0x5E8F }, - { 0xA7C8, 0x5E87 }, - { 0xA7C9, 0x5E8A }, - { 0xA7CA, 0x5EF7 }, - { 0xA7CB, 0x5F04 }, - { 0xA7CC, 0x5F1F }, - { 0xA7CD, 0x5F64 }, - { 0xA7CE, 0x5F62 }, - { 0xA7CF, 0x5F77 }, - { 0xA7D0, 0x5F79 }, - { 0xA7D1, 0x5FD8 }, - { 0xA7D2, 0x5FCC }, - { 0xA7D3, 0x5FD7 }, - { 0xA7D4, 0x5FCD }, - { 0xA7D5, 0x5FF1 }, - { 0xA7D6, 0x5FEB }, - { 0xA7D7, 0x5FF8 }, - { 0xA7D8, 0x5FEA }, - { 0xA7D9, 0x6212 }, - { 0xA7DA, 0x6211 }, - { 0xA7DB, 0x6284 }, - { 0xA7DC, 0x6297 }, - { 0xA7DD, 0x6296 }, - { 0xA7DE, 0x6280 }, - { 0xA7DF, 0x6276 }, - { 0xA7E0, 0x6289 }, - { 0xA7E1, 0x626D }, - { 0xA7E2, 0x628A }, - { 0xA7E3, 0x627C }, - { 0xA7E4, 0x627E }, - { 0xA7E5, 0x6279 }, - { 0xA7E6, 0x6273 }, - { 0xA7E7, 0x6292 }, - { 0xA7E8, 0x626F }, - { 0xA7E9, 0x6298 }, - { 0xA7EA, 0x626E }, - { 0xA7EB, 0x6295 }, - { 0xA7EC, 0x6293 }, - { 0xA7ED, 0x6291 }, - { 0xA7EE, 0x6286 }, - { 0xA7EF, 0x6539 }, - { 0xA7F0, 0x653B }, - { 0xA7F1, 0x6538 }, - { 0xA7F2, 0x65F1 }, - { 0xA7F3, 0x66F4 }, - { 0xA7F4, 0x675F }, - { 0xA7F5, 0x674E }, - { 0xA7F6, 0x674F }, - { 0xA7F7, 0x6750 }, - { 0xA7F8, 0x6751 }, - { 0xA7F9, 0x675C }, - { 0xA7FA, 0x6756 }, - { 0xA7FB, 0x675E }, - { 0xA7FC, 0x6749 }, - { 0xA7FD, 0x6746 }, - { 0xA7FE, 0x6760 }, - { 0xA840, 0x6753 }, - { 0xA841, 0x6757 }, - { 0xA842, 0x6B65 }, - { 0xA843, 0x6BCF }, - { 0xA844, 0x6C42 }, - { 0xA845, 0x6C5E }, - { 0xA846, 0x6C99 }, - { 0xA847, 0x6C81 }, - { 0xA848, 0x6C88 }, - { 0xA849, 0x6C89 }, - { 0xA84A, 0x6C85 }, - { 0xA84B, 0x6C9B }, - { 0xA84C, 0x6C6A }, - { 0xA84D, 0x6C7A }, - { 0xA84E, 0x6C90 }, - { 0xA84F, 0x6C70 }, - { 0xA850, 0x6C8C }, - { 0xA851, 0x6C68 }, - { 0xA852, 0x6C96 }, - { 0xA853, 0x6C92 }, - { 0xA854, 0x6C7D }, - { 0xA855, 0x6C83 }, - { 0xA856, 0x6C72 }, - { 0xA857, 0x6C7E }, - { 0xA858, 0x6C74 }, - { 0xA859, 0x6C86 }, - { 0xA85A, 0x6C76 }, - { 0xA85B, 0x6C8D }, - { 0xA85C, 0x6C94 }, - { 0xA85D, 0x6C98 }, - { 0xA85E, 0x6C82 }, - { 0xA85F, 0x7076 }, - { 0xA860, 0x707C }, - { 0xA861, 0x707D }, - { 0xA862, 0x7078 }, - { 0xA863, 0x7262 }, - { 0xA864, 0x7261 }, - { 0xA865, 0x7260 }, - { 0xA866, 0x72C4 }, - { 0xA867, 0x72C2 }, - { 0xA868, 0x7396 }, - { 0xA869, 0x752C }, - { 0xA86A, 0x752B }, - { 0xA86B, 0x7537 }, - { 0xA86C, 0x7538 }, - { 0xA86D, 0x7682 }, - { 0xA86E, 0x76EF }, - { 0xA86F, 0x77E3 }, - { 0xA870, 0x79C1 }, - { 0xA871, 0x79C0 }, - { 0xA872, 0x79BF }, - { 0xA873, 0x7A76 }, - { 0xA874, 0x7CFB }, - { 0xA875, 0x7F55 }, - { 0xA876, 0x8096 }, - { 0xA877, 0x8093 }, - { 0xA878, 0x809D }, - { 0xA879, 0x8098 }, - { 0xA87A, 0x809B }, - { 0xA87B, 0x809A }, - { 0xA87C, 0x80B2 }, - { 0xA87D, 0x826F }, - { 0xA87E, 0x8292 }, - { 0xA8A1, 0x828B }, - { 0xA8A2, 0x828D }, - { 0xA8A3, 0x898B }, - { 0xA8A4, 0x89D2 }, - { 0xA8A5, 0x8A00 }, - { 0xA8A6, 0x8C37 }, - { 0xA8A7, 0x8C46 }, - { 0xA8A8, 0x8C55 }, - { 0xA8A9, 0x8C9D }, - { 0xA8AA, 0x8D64 }, - { 0xA8AB, 0x8D70 }, - { 0xA8AC, 0x8DB3 }, - { 0xA8AD, 0x8EAB }, - { 0xA8AE, 0x8ECA }, - { 0xA8AF, 0x8F9B }, - { 0xA8B0, 0x8FB0 }, - { 0xA8B1, 0x8FC2 }, - { 0xA8B2, 0x8FC6 }, - { 0xA8B3, 0x8FC5 }, - { 0xA8B4, 0x8FC4 }, - { 0xA8B5, 0x5DE1 }, - { 0xA8B6, 0x9091 }, - { 0xA8B7, 0x90A2 }, - { 0xA8B8, 0x90AA }, - { 0xA8B9, 0x90A6 }, - { 0xA8BA, 0x90A3 }, - { 0xA8BB, 0x9149 }, - { 0xA8BC, 0x91C6 }, - { 0xA8BD, 0x91CC }, - { 0xA8BE, 0x9632 }, - { 0xA8BF, 0x962E }, - { 0xA8C0, 0x9631 }, - { 0xA8C1, 0x962A }, - { 0xA8C2, 0x962C }, - { 0xA8C3, 0x4E26 }, - { 0xA8C4, 0x4E56 }, - { 0xA8C5, 0x4E73 }, - { 0xA8C6, 0x4E8B }, - { 0xA8C7, 0x4E9B }, - { 0xA8C8, 0x4E9E }, - { 0xA8C9, 0x4EAB }, - { 0xA8CA, 0x4EAC }, - { 0xA8CB, 0x4F6F }, - { 0xA8CC, 0x4F9D }, - { 0xA8CD, 0x4F8D }, - { 0xA8CE, 0x4F73 }, - { 0xA8CF, 0x4F7F }, - { 0xA8D0, 0x4F6C }, - { 0xA8D1, 0x4F9B }, - { 0xA8D2, 0x4F8B }, - { 0xA8D3, 0x4F86 }, - { 0xA8D4, 0x4F83 }, - { 0xA8D5, 0x4F70 }, - { 0xA8D6, 0x4F75 }, - { 0xA8D7, 0x4F88 }, - { 0xA8D8, 0x4F69 }, - { 0xA8D9, 0x4F7B }, - { 0xA8DA, 0x4F96 }, - { 0xA8DB, 0x4F7E }, - { 0xA8DC, 0x4F8F }, - { 0xA8DD, 0x4F91 }, - { 0xA8DE, 0x4F7A }, - { 0xA8DF, 0x5154 }, - { 0xA8E0, 0x5152 }, - { 0xA8E1, 0x5155 }, - { 0xA8E2, 0x5169 }, - { 0xA8E3, 0x5177 }, - { 0xA8E4, 0x5176 }, - { 0xA8E5, 0x5178 }, - { 0xA8E6, 0x51BD }, - { 0xA8E7, 0x51FD }, - { 0xA8E8, 0x523B }, - { 0xA8E9, 0x5238 }, - { 0xA8EA, 0x5237 }, - { 0xA8EB, 0x523A }, - { 0xA8EC, 0x5230 }, - { 0xA8ED, 0x522E }, - { 0xA8EE, 0x5236 }, - { 0xA8EF, 0x5241 }, - { 0xA8F0, 0x52BE }, - { 0xA8F1, 0x52BB }, - { 0xA8F2, 0x5352 }, - { 0xA8F3, 0x5354 }, - { 0xA8F4, 0x5353 }, - { 0xA8F5, 0x5351 }, - { 0xA8F6, 0x5366 }, - { 0xA8F7, 0x5377 }, - { 0xA8F8, 0x5378 }, - { 0xA8F9, 0x5379 }, - { 0xA8FA, 0x53D6 }, - { 0xA8FB, 0x53D4 }, - { 0xA8FC, 0x53D7 }, - { 0xA8FD, 0x5473 }, - { 0xA8FE, 0x5475 }, - { 0xA940, 0x5496 }, - { 0xA941, 0x5478 }, - { 0xA942, 0x5495 }, - { 0xA943, 0x5480 }, - { 0xA944, 0x547B }, - { 0xA945, 0x5477 }, - { 0xA946, 0x5484 }, - { 0xA947, 0x5492 }, - { 0xA948, 0x5486 }, - { 0xA949, 0x547C }, - { 0xA94A, 0x5490 }, - { 0xA94B, 0x5471 }, - { 0xA94C, 0x5476 }, - { 0xA94D, 0x548C }, - { 0xA94E, 0x549A }, - { 0xA94F, 0x5462 }, - { 0xA950, 0x5468 }, - { 0xA951, 0x548B }, - { 0xA952, 0x547D }, - { 0xA953, 0x548E }, - { 0xA954, 0x56FA }, - { 0xA955, 0x5783 }, - { 0xA956, 0x5777 }, - { 0xA957, 0x576A }, - { 0xA958, 0x5769 }, - { 0xA959, 0x5761 }, - { 0xA95A, 0x5766 }, - { 0xA95B, 0x5764 }, - { 0xA95C, 0x577C }, - { 0xA95D, 0x591C }, - { 0xA95E, 0x5949 }, - { 0xA95F, 0x5947 }, - { 0xA960, 0x5948 }, - { 0xA961, 0x5944 }, - { 0xA962, 0x5954 }, - { 0xA963, 0x59BE }, - { 0xA964, 0x59BB }, - { 0xA965, 0x59D4 }, - { 0xA966, 0x59B9 }, - { 0xA967, 0x59AE }, - { 0xA968, 0x59D1 }, - { 0xA969, 0x59C6 }, - { 0xA96A, 0x59D0 }, - { 0xA96B, 0x59CD }, - { 0xA96C, 0x59CB }, - { 0xA96D, 0x59D3 }, - { 0xA96E, 0x59CA }, - { 0xA96F, 0x59AF }, - { 0xA970, 0x59B3 }, - { 0xA971, 0x59D2 }, - { 0xA972, 0x59C5 }, - { 0xA973, 0x5B5F }, - { 0xA974, 0x5B64 }, - { 0xA975, 0x5B63 }, - { 0xA976, 0x5B97 }, - { 0xA977, 0x5B9A }, - { 0xA978, 0x5B98 }, - { 0xA979, 0x5B9C }, - { 0xA97A, 0x5B99 }, - { 0xA97B, 0x5B9B }, - { 0xA97C, 0x5C1A }, - { 0xA97D, 0x5C48 }, - { 0xA97E, 0x5C45 }, - { 0xA9A1, 0x5C46 }, - { 0xA9A2, 0x5CB7 }, - { 0xA9A3, 0x5CA1 }, - { 0xA9A4, 0x5CB8 }, - { 0xA9A5, 0x5CA9 }, - { 0xA9A6, 0x5CAB }, - { 0xA9A7, 0x5CB1 }, - { 0xA9A8, 0x5CB3 }, - { 0xA9A9, 0x5E18 }, - { 0xA9AA, 0x5E1A }, - { 0xA9AB, 0x5E16 }, - { 0xA9AC, 0x5E15 }, - { 0xA9AD, 0x5E1B }, - { 0xA9AE, 0x5E11 }, - { 0xA9AF, 0x5E78 }, - { 0xA9B0, 0x5E9A }, - { 0xA9B1, 0x5E97 }, - { 0xA9B2, 0x5E9C }, - { 0xA9B3, 0x5E95 }, - { 0xA9B4, 0x5E96 }, - { 0xA9B5, 0x5EF6 }, - { 0xA9B6, 0x5F26 }, - { 0xA9B7, 0x5F27 }, - { 0xA9B8, 0x5F29 }, - { 0xA9B9, 0x5F80 }, - { 0xA9BA, 0x5F81 }, - { 0xA9BB, 0x5F7F }, - { 0xA9BC, 0x5F7C }, - { 0xA9BD, 0x5FDD }, - { 0xA9BE, 0x5FE0 }, - { 0xA9BF, 0x5FFD }, - { 0xA9C0, 0x5FF5 }, - { 0xA9C1, 0x5FFF }, - { 0xA9C2, 0x600F }, - { 0xA9C3, 0x6014 }, - { 0xA9C4, 0x602F }, - { 0xA9C5, 0x6035 }, - { 0xA9C6, 0x6016 }, - { 0xA9C7, 0x602A }, - { 0xA9C8, 0x6015 }, - { 0xA9C9, 0x6021 }, - { 0xA9CA, 0x6027 }, - { 0xA9CB, 0x6029 }, - { 0xA9CC, 0x602B }, - { 0xA9CD, 0x601B }, - { 0xA9CE, 0x6216 }, - { 0xA9CF, 0x6215 }, - { 0xA9D0, 0x623F }, - { 0xA9D1, 0x623E }, - { 0xA9D2, 0x6240 }, - { 0xA9D3, 0x627F }, - { 0xA9D4, 0x62C9 }, - { 0xA9D5, 0x62CC }, - { 0xA9D6, 0x62C4 }, - { 0xA9D7, 0x62BF }, - { 0xA9D8, 0x62C2 }, - { 0xA9D9, 0x62B9 }, - { 0xA9DA, 0x62D2 }, - { 0xA9DB, 0x62DB }, - { 0xA9DC, 0x62AB }, - { 0xA9DD, 0x62D3 }, - { 0xA9DE, 0x62D4 }, - { 0xA9DF, 0x62CB }, - { 0xA9E0, 0x62C8 }, - { 0xA9E1, 0x62A8 }, - { 0xA9E2, 0x62BD }, - { 0xA9E3, 0x62BC }, - { 0xA9E4, 0x62D0 }, - { 0xA9E5, 0x62D9 }, - { 0xA9E6, 0x62C7 }, - { 0xA9E7, 0x62CD }, - { 0xA9E8, 0x62B5 }, - { 0xA9E9, 0x62DA }, - { 0xA9EA, 0x62B1 }, - { 0xA9EB, 0x62D8 }, - { 0xA9EC, 0x62D6 }, - { 0xA9ED, 0x62D7 }, - { 0xA9EE, 0x62C6 }, - { 0xA9EF, 0x62AC }, - { 0xA9F0, 0x62CE }, - { 0xA9F1, 0x653E }, - { 0xA9F2, 0x65A7 }, - { 0xA9F3, 0x65BC }, - { 0xA9F4, 0x65FA }, - { 0xA9F5, 0x6614 }, - { 0xA9F6, 0x6613 }, - { 0xA9F7, 0x660C }, - { 0xA9F8, 0x6606 }, - { 0xA9F9, 0x6602 }, - { 0xA9FA, 0x660E }, - { 0xA9FB, 0x6600 }, - { 0xA9FC, 0x660F }, - { 0xA9FD, 0x6615 }, - { 0xA9FE, 0x660A }, - { 0xAA40, 0x6607 }, - { 0xAA41, 0x670D }, - { 0xAA42, 0x670B }, - { 0xAA43, 0x676D }, - { 0xAA44, 0x678B }, - { 0xAA45, 0x6795 }, - { 0xAA46, 0x6771 }, - { 0xAA47, 0x679C }, - { 0xAA48, 0x6773 }, - { 0xAA49, 0x6777 }, - { 0xAA4A, 0x6787 }, - { 0xAA4B, 0x679D }, - { 0xAA4C, 0x6797 }, - { 0xAA4D, 0x676F }, - { 0xAA4E, 0x6770 }, - { 0xAA4F, 0x677F }, - { 0xAA50, 0x6789 }, - { 0xAA51, 0x677E }, - { 0xAA52, 0x6790 }, - { 0xAA53, 0x6775 }, - { 0xAA54, 0x679A }, - { 0xAA55, 0x6793 }, - { 0xAA56, 0x677C }, - { 0xAA57, 0x676A }, - { 0xAA58, 0x6772 }, - { 0xAA59, 0x6B23 }, - { 0xAA5A, 0x6B66 }, - { 0xAA5B, 0x6B67 }, - { 0xAA5C, 0x6B7F }, - { 0xAA5D, 0x6C13 }, - { 0xAA5E, 0x6C1B }, - { 0xAA5F, 0x6CE3 }, - { 0xAA60, 0x6CE8 }, - { 0xAA61, 0x6CF3 }, - { 0xAA62, 0x6CB1 }, - { 0xAA63, 0x6CCC }, - { 0xAA64, 0x6CE5 }, - { 0xAA65, 0x6CB3 }, - { 0xAA66, 0x6CBD }, - { 0xAA67, 0x6CBE }, - { 0xAA68, 0x6CBC }, - { 0xAA69, 0x6CE2 }, - { 0xAA6A, 0x6CAB }, - { 0xAA6B, 0x6CD5 }, - { 0xAA6C, 0x6CD3 }, - { 0xAA6D, 0x6CB8 }, - { 0xAA6E, 0x6CC4 }, - { 0xAA6F, 0x6CB9 }, - { 0xAA70, 0x6CC1 }, - { 0xAA71, 0x6CAE }, - { 0xAA72, 0x6CD7 }, - { 0xAA73, 0x6CC5 }, - { 0xAA74, 0x6CF1 }, - { 0xAA75, 0x6CBF }, - { 0xAA76, 0x6CBB }, - { 0xAA77, 0x6CE1 }, - { 0xAA78, 0x6CDB }, - { 0xAA79, 0x6CCA }, - { 0xAA7A, 0x6CAC }, - { 0xAA7B, 0x6CEF }, - { 0xAA7C, 0x6CDC }, - { 0xAA7D, 0x6CD6 }, - { 0xAA7E, 0x6CE0 }, - { 0xAAA1, 0x7095 }, - { 0xAAA2, 0x708E }, - { 0xAAA3, 0x7092 }, - { 0xAAA4, 0x708A }, - { 0xAAA5, 0x7099 }, - { 0xAAA6, 0x722C }, - { 0xAAA7, 0x722D }, - { 0xAAA8, 0x7238 }, - { 0xAAA9, 0x7248 }, - { 0xAAAA, 0x7267 }, - { 0xAAAB, 0x7269 }, - { 0xAAAC, 0x72C0 }, - { 0xAAAD, 0x72CE }, - { 0xAAAE, 0x72D9 }, - { 0xAAAF, 0x72D7 }, - { 0xAAB0, 0x72D0 }, - { 0xAAB1, 0x73A9 }, - { 0xAAB2, 0x73A8 }, - { 0xAAB3, 0x739F }, - { 0xAAB4, 0x73AB }, - { 0xAAB5, 0x73A5 }, - { 0xAAB6, 0x753D }, - { 0xAAB7, 0x759D }, - { 0xAAB8, 0x7599 }, - { 0xAAB9, 0x759A }, - { 0xAABA, 0x7684 }, - { 0xAABB, 0x76C2 }, - { 0xAABC, 0x76F2 }, - { 0xAABD, 0x76F4 }, - { 0xAABE, 0x77E5 }, - { 0xAABF, 0x77FD }, - { 0xAAC0, 0x793E }, - { 0xAAC1, 0x7940 }, - { 0xAAC2, 0x7941 }, - { 0xAAC3, 0x79C9 }, - { 0xAAC4, 0x79C8 }, - { 0xAAC5, 0x7A7A }, - { 0xAAC6, 0x7A79 }, - { 0xAAC7, 0x7AFA }, - { 0xAAC8, 0x7CFE }, - { 0xAAC9, 0x7F54 }, - { 0xAACA, 0x7F8C }, - { 0xAACB, 0x7F8B }, - { 0xAACC, 0x8005 }, - { 0xAACD, 0x80BA }, - { 0xAACE, 0x80A5 }, - { 0xAACF, 0x80A2 }, - { 0xAAD0, 0x80B1 }, - { 0xAAD1, 0x80A1 }, - { 0xAAD2, 0x80AB }, - { 0xAAD3, 0x80A9 }, - { 0xAAD4, 0x80B4 }, - { 0xAAD5, 0x80AA }, - { 0xAAD6, 0x80AF }, - { 0xAAD7, 0x81E5 }, - { 0xAAD8, 0x81FE }, - { 0xAAD9, 0x820D }, - { 0xAADA, 0x82B3 }, - { 0xAADB, 0x829D }, - { 0xAADC, 0x8299 }, - { 0xAADD, 0x82AD }, - { 0xAADE, 0x82BD }, - { 0xAADF, 0x829F }, - { 0xAAE0, 0x82B9 }, - { 0xAAE1, 0x82B1 }, - { 0xAAE2, 0x82AC }, - { 0xAAE3, 0x82A5 }, - { 0xAAE4, 0x82AF }, - { 0xAAE5, 0x82B8 }, - { 0xAAE6, 0x82A3 }, - { 0xAAE7, 0x82B0 }, - { 0xAAE8, 0x82BE }, - { 0xAAE9, 0x82B7 }, - { 0xAAEA, 0x864E }, - { 0xAAEB, 0x8671 }, - { 0xAAEC, 0x521D }, - { 0xAAED, 0x8868 }, - { 0xAAEE, 0x8ECB }, - { 0xAAEF, 0x8FCE }, - { 0xAAF0, 0x8FD4 }, - { 0xAAF1, 0x8FD1 }, - { 0xAAF2, 0x90B5 }, - { 0xAAF3, 0x90B8 }, - { 0xAAF4, 0x90B1 }, - { 0xAAF5, 0x90B6 }, - { 0xAAF6, 0x91C7 }, - { 0xAAF7, 0x91D1 }, - { 0xAAF8, 0x9577 }, - { 0xAAF9, 0x9580 }, - { 0xAAFA, 0x961C }, - { 0xAAFB, 0x9640 }, - { 0xAAFC, 0x963F }, - { 0xAAFD, 0x963B }, - { 0xAAFE, 0x9644 }, - { 0xAB40, 0x9642 }, - { 0xAB41, 0x96B9 }, - { 0xAB42, 0x96E8 }, - { 0xAB43, 0x9752 }, - { 0xAB44, 0x975E }, - { 0xAB45, 0x4E9F }, - { 0xAB46, 0x4EAD }, - { 0xAB47, 0x4EAE }, - { 0xAB48, 0x4FE1 }, - { 0xAB49, 0x4FB5 }, - { 0xAB4A, 0x4FAF }, - { 0xAB4B, 0x4FBF }, - { 0xAB4C, 0x4FE0 }, - { 0xAB4D, 0x4FD1 }, - { 0xAB4E, 0x4FCF }, - { 0xAB4F, 0x4FDD }, - { 0xAB50, 0x4FC3 }, - { 0xAB51, 0x4FB6 }, - { 0xAB52, 0x4FD8 }, - { 0xAB53, 0x4FDF }, - { 0xAB54, 0x4FCA }, - { 0xAB55, 0x4FD7 }, - { 0xAB56, 0x4FAE }, - { 0xAB57, 0x4FD0 }, - { 0xAB58, 0x4FC4 }, - { 0xAB59, 0x4FC2 }, - { 0xAB5A, 0x4FDA }, - { 0xAB5B, 0x4FCE }, - { 0xAB5C, 0x4FDE }, - { 0xAB5D, 0x4FB7 }, - { 0xAB5E, 0x5157 }, - { 0xAB5F, 0x5192 }, - { 0xAB60, 0x5191 }, - { 0xAB61, 0x51A0 }, - { 0xAB62, 0x524E }, - { 0xAB63, 0x5243 }, - { 0xAB64, 0x524A }, - { 0xAB65, 0x524D }, - { 0xAB66, 0x524C }, - { 0xAB67, 0x524B }, - { 0xAB68, 0x5247 }, - { 0xAB69, 0x52C7 }, - { 0xAB6A, 0x52C9 }, - { 0xAB6B, 0x52C3 }, - { 0xAB6C, 0x52C1 }, - { 0xAB6D, 0x530D }, - { 0xAB6E, 0x5357 }, - { 0xAB6F, 0x537B }, - { 0xAB70, 0x539A }, - { 0xAB71, 0x53DB }, - { 0xAB72, 0x54AC }, - { 0xAB73, 0x54C0 }, - { 0xAB74, 0x54A8 }, - { 0xAB75, 0x54CE }, - { 0xAB76, 0x54C9 }, - { 0xAB77, 0x54B8 }, - { 0xAB78, 0x54A6 }, - { 0xAB79, 0x54B3 }, - { 0xAB7A, 0x54C7 }, - { 0xAB7B, 0x54C2 }, - { 0xAB7C, 0x54BD }, - { 0xAB7D, 0x54AA }, - { 0xAB7E, 0x54C1 }, - { 0xABA1, 0x54C4 }, - { 0xABA2, 0x54C8 }, - { 0xABA3, 0x54AF }, - { 0xABA4, 0x54AB }, - { 0xABA5, 0x54B1 }, - { 0xABA6, 0x54BB }, - { 0xABA7, 0x54A9 }, - { 0xABA8, 0x54A7 }, - { 0xABA9, 0x54BF }, - { 0xABAA, 0x56FF }, - { 0xABAB, 0x5782 }, - { 0xABAC, 0x578B }, - { 0xABAD, 0x57A0 }, - { 0xABAE, 0x57A3 }, - { 0xABAF, 0x57A2 }, - { 0xABB0, 0x57CE }, - { 0xABB1, 0x57AE }, - { 0xABB2, 0x5793 }, - { 0xABB3, 0x5955 }, - { 0xABB4, 0x5951 }, - { 0xABB5, 0x594F }, - { 0xABB6, 0x594E }, - { 0xABB7, 0x5950 }, - { 0xABB8, 0x59DC }, - { 0xABB9, 0x59D8 }, - { 0xABBA, 0x59FF }, - { 0xABBB, 0x59E3 }, - { 0xABBC, 0x59E8 }, - { 0xABBD, 0x5A03 }, - { 0xABBE, 0x59E5 }, - { 0xABBF, 0x59EA }, - { 0xABC0, 0x59DA }, - { 0xABC1, 0x59E6 }, - { 0xABC2, 0x5A01 }, - { 0xABC3, 0x59FB }, - { 0xABC4, 0x5B69 }, - { 0xABC5, 0x5BA3 }, - { 0xABC6, 0x5BA6 }, - { 0xABC7, 0x5BA4 }, - { 0xABC8, 0x5BA2 }, - { 0xABC9, 0x5BA5 }, - { 0xABCA, 0x5C01 }, - { 0xABCB, 0x5C4E }, - { 0xABCC, 0x5C4F }, - { 0xABCD, 0x5C4D }, - { 0xABCE, 0x5C4B }, - { 0xABCF, 0x5CD9 }, - { 0xABD0, 0x5CD2 }, - { 0xABD1, 0x5DF7 }, - { 0xABD2, 0x5E1D }, - { 0xABD3, 0x5E25 }, - { 0xABD4, 0x5E1F }, - { 0xABD5, 0x5E7D }, - { 0xABD6, 0x5EA0 }, - { 0xABD7, 0x5EA6 }, - { 0xABD8, 0x5EFA }, - { 0xABD9, 0x5F08 }, - { 0xABDA, 0x5F2D }, - { 0xABDB, 0x5F65 }, - { 0xABDC, 0x5F88 }, - { 0xABDD, 0x5F85 }, - { 0xABDE, 0x5F8A }, - { 0xABDF, 0x5F8B }, - { 0xABE0, 0x5F87 }, - { 0xABE1, 0x5F8C }, - { 0xABE2, 0x5F89 }, - { 0xABE3, 0x6012 }, - { 0xABE4, 0x601D }, - { 0xABE5, 0x6020 }, - { 0xABE6, 0x6025 }, - { 0xABE7, 0x600E }, - { 0xABE8, 0x6028 }, - { 0xABE9, 0x604D }, - { 0xABEA, 0x6070 }, - { 0xABEB, 0x6068 }, - { 0xABEC, 0x6062 }, - { 0xABED, 0x6046 }, - { 0xABEE, 0x6043 }, - { 0xABEF, 0x606C }, - { 0xABF0, 0x606B }, - { 0xABF1, 0x606A }, - { 0xABF2, 0x6064 }, - { 0xABF3, 0x6241 }, - { 0xABF4, 0x62DC }, - { 0xABF5, 0x6316 }, - { 0xABF6, 0x6309 }, - { 0xABF7, 0x62FC }, - { 0xABF8, 0x62ED }, - { 0xABF9, 0x6301 }, - { 0xABFA, 0x62EE }, - { 0xABFB, 0x62FD }, - { 0xABFC, 0x6307 }, - { 0xABFD, 0x62F1 }, - { 0xABFE, 0x62F7 }, - { 0xAC40, 0x62EF }, - { 0xAC41, 0x62EC }, - { 0xAC42, 0x62FE }, - { 0xAC43, 0x62F4 }, - { 0xAC44, 0x6311 }, - { 0xAC45, 0x6302 }, - { 0xAC46, 0x653F }, - { 0xAC47, 0x6545 }, - { 0xAC48, 0x65AB }, - { 0xAC49, 0x65BD }, - { 0xAC4A, 0x65E2 }, - { 0xAC4B, 0x6625 }, - { 0xAC4C, 0x662D }, - { 0xAC4D, 0x6620 }, - { 0xAC4E, 0x6627 }, - { 0xAC4F, 0x662F }, - { 0xAC50, 0x661F }, - { 0xAC51, 0x6628 }, - { 0xAC52, 0x6631 }, - { 0xAC53, 0x6624 }, - { 0xAC54, 0x66F7 }, - { 0xAC55, 0x67FF }, - { 0xAC56, 0x67D3 }, - { 0xAC57, 0x67F1 }, - { 0xAC58, 0x67D4 }, - { 0xAC59, 0x67D0 }, - { 0xAC5A, 0x67EC }, - { 0xAC5B, 0x67B6 }, - { 0xAC5C, 0x67AF }, - { 0xAC5D, 0x67F5 }, - { 0xAC5E, 0x67E9 }, - { 0xAC5F, 0x67EF }, - { 0xAC60, 0x67C4 }, - { 0xAC61, 0x67D1 }, - { 0xAC62, 0x67B4 }, - { 0xAC63, 0x67DA }, - { 0xAC64, 0x67E5 }, - { 0xAC65, 0x67B8 }, - { 0xAC66, 0x67CF }, - { 0xAC67, 0x67DE }, - { 0xAC68, 0x67F3 }, - { 0xAC69, 0x67B0 }, - { 0xAC6A, 0x67D9 }, - { 0xAC6B, 0x67E2 }, - { 0xAC6C, 0x67DD }, - { 0xAC6D, 0x67D2 }, - { 0xAC6E, 0x6B6A }, - { 0xAC6F, 0x6B83 }, - { 0xAC70, 0x6B86 }, - { 0xAC71, 0x6BB5 }, - { 0xAC72, 0x6BD2 }, - { 0xAC73, 0x6BD7 }, - { 0xAC74, 0x6C1F }, - { 0xAC75, 0x6CC9 }, - { 0xAC76, 0x6D0B }, - { 0xAC77, 0x6D32 }, - { 0xAC78, 0x6D2A }, - { 0xAC79, 0x6D41 }, - { 0xAC7A, 0x6D25 }, - { 0xAC7B, 0x6D0C }, - { 0xAC7C, 0x6D31 }, - { 0xAC7D, 0x6D1E }, - { 0xAC7E, 0x6D17 }, - { 0xACA1, 0x6D3B }, - { 0xACA2, 0x6D3D }, - { 0xACA3, 0x6D3E }, - { 0xACA4, 0x6D36 }, - { 0xACA5, 0x6D1B }, - { 0xACA6, 0x6CF5 }, - { 0xACA7, 0x6D39 }, - { 0xACA8, 0x6D27 }, - { 0xACA9, 0x6D38 }, - { 0xACAA, 0x6D29 }, - { 0xACAB, 0x6D2E }, - { 0xACAC, 0x6D35 }, - { 0xACAD, 0x6D0E }, - { 0xACAE, 0x6D2B }, - { 0xACAF, 0x70AB }, - { 0xACB0, 0x70BA }, - { 0xACB1, 0x70B3 }, - { 0xACB2, 0x70AC }, - { 0xACB3, 0x70AF }, - { 0xACB4, 0x70AD }, - { 0xACB5, 0x70B8 }, - { 0xACB6, 0x70AE }, - { 0xACB7, 0x70A4 }, - { 0xACB8, 0x7230 }, - { 0xACB9, 0x7272 }, - { 0xACBA, 0x726F }, - { 0xACBB, 0x7274 }, - { 0xACBC, 0x72E9 }, - { 0xACBD, 0x72E0 }, - { 0xACBE, 0x72E1 }, - { 0xACBF, 0x73B7 }, - { 0xACC0, 0x73CA }, - { 0xACC1, 0x73BB }, - { 0xACC2, 0x73B2 }, - { 0xACC3, 0x73CD }, - { 0xACC4, 0x73C0 }, - { 0xACC5, 0x73B3 }, - { 0xACC6, 0x751A }, - { 0xACC7, 0x752D }, - { 0xACC8, 0x754F }, - { 0xACC9, 0x754C }, - { 0xACCA, 0x754E }, - { 0xACCB, 0x754B }, - { 0xACCC, 0x75AB }, - { 0xACCD, 0x75A4 }, - { 0xACCE, 0x75A5 }, - { 0xACCF, 0x75A2 }, - { 0xACD0, 0x75A3 }, - { 0xACD1, 0x7678 }, - { 0xACD2, 0x7686 }, - { 0xACD3, 0x7687 }, - { 0xACD4, 0x7688 }, - { 0xACD5, 0x76C8 }, - { 0xACD6, 0x76C6 }, - { 0xACD7, 0x76C3 }, - { 0xACD8, 0x76C5 }, - { 0xACD9, 0x7701 }, - { 0xACDA, 0x76F9 }, - { 0xACDB, 0x76F8 }, - { 0xACDC, 0x7709 }, - { 0xACDD, 0x770B }, - { 0xACDE, 0x76FE }, - { 0xACDF, 0x76FC }, - { 0xACE0, 0x7707 }, - { 0xACE1, 0x77DC }, - { 0xACE2, 0x7802 }, - { 0xACE3, 0x7814 }, - { 0xACE4, 0x780C }, - { 0xACE5, 0x780D }, - { 0xACE6, 0x7946 }, - { 0xACE7, 0x7949 }, - { 0xACE8, 0x7948 }, - { 0xACE9, 0x7947 }, - { 0xACEA, 0x79B9 }, - { 0xACEB, 0x79BA }, - { 0xACEC, 0x79D1 }, - { 0xACED, 0x79D2 }, - { 0xACEE, 0x79CB }, - { 0xACEF, 0x7A7F }, - { 0xACF0, 0x7A81 }, - { 0xACF1, 0x7AFF }, - { 0xACF2, 0x7AFD }, - { 0xACF3, 0x7C7D }, - { 0xACF4, 0x7D02 }, - { 0xACF5, 0x7D05 }, - { 0xACF6, 0x7D00 }, - { 0xACF7, 0x7D09 }, - { 0xACF8, 0x7D07 }, - { 0xACF9, 0x7D04 }, - { 0xACFA, 0x7D06 }, - { 0xACFB, 0x7F38 }, - { 0xACFC, 0x7F8E }, - { 0xACFD, 0x7FBF }, - { 0xACFE, 0x8004 }, - { 0xAD40, 0x8010 }, - { 0xAD41, 0x800D }, - { 0xAD42, 0x8011 }, - { 0xAD43, 0x8036 }, - { 0xAD44, 0x80D6 }, - { 0xAD45, 0x80E5 }, - { 0xAD46, 0x80DA }, - { 0xAD47, 0x80C3 }, - { 0xAD48, 0x80C4 }, - { 0xAD49, 0x80CC }, - { 0xAD4A, 0x80E1 }, - { 0xAD4B, 0x80DB }, - { 0xAD4C, 0x80CE }, - { 0xAD4D, 0x80DE }, - { 0xAD4E, 0x80E4 }, - { 0xAD4F, 0x80DD }, - { 0xAD50, 0x81F4 }, - { 0xAD51, 0x8222 }, - { 0xAD52, 0x82E7 }, - { 0xAD53, 0x8303 }, - { 0xAD54, 0x8305 }, - { 0xAD55, 0x82E3 }, - { 0xAD56, 0x82DB }, - { 0xAD57, 0x82E6 }, - { 0xAD58, 0x8304 }, - { 0xAD59, 0x82E5 }, - { 0xAD5A, 0x8302 }, - { 0xAD5B, 0x8309 }, - { 0xAD5C, 0x82D2 }, - { 0xAD5D, 0x82D7 }, - { 0xAD5E, 0x82F1 }, - { 0xAD5F, 0x8301 }, - { 0xAD60, 0x82DC }, - { 0xAD61, 0x82D4 }, - { 0xAD62, 0x82D1 }, - { 0xAD63, 0x82DE }, - { 0xAD64, 0x82D3 }, - { 0xAD65, 0x82DF }, - { 0xAD66, 0x82EF }, - { 0xAD67, 0x8306 }, - { 0xAD68, 0x8650 }, - { 0xAD69, 0x8679 }, - { 0xAD6A, 0x867B }, - { 0xAD6B, 0x867A }, - { 0xAD6C, 0x884D }, - { 0xAD6D, 0x886B }, - { 0xAD6E, 0x8981 }, - { 0xAD6F, 0x89D4 }, - { 0xAD70, 0x8A08 }, - { 0xAD71, 0x8A02 }, - { 0xAD72, 0x8A03 }, - { 0xAD73, 0x8C9E }, - { 0xAD74, 0x8CA0 }, - { 0xAD75, 0x8D74 }, - { 0xAD76, 0x8D73 }, - { 0xAD77, 0x8DB4 }, - { 0xAD78, 0x8ECD }, - { 0xAD79, 0x8ECC }, - { 0xAD7A, 0x8FF0 }, - { 0xAD7B, 0x8FE6 }, - { 0xAD7C, 0x8FE2 }, - { 0xAD7D, 0x8FEA }, - { 0xAD7E, 0x8FE5 }, - { 0xADA1, 0x8FED }, - { 0xADA2, 0x8FEB }, - { 0xADA3, 0x8FE4 }, - { 0xADA4, 0x8FE8 }, - { 0xADA5, 0x90CA }, - { 0xADA6, 0x90CE }, - { 0xADA7, 0x90C1 }, - { 0xADA8, 0x90C3 }, - { 0xADA9, 0x914B }, - { 0xADAA, 0x914A }, - { 0xADAB, 0x91CD }, - { 0xADAC, 0x9582 }, - { 0xADAD, 0x9650 }, - { 0xADAE, 0x964B }, - { 0xADAF, 0x964C }, - { 0xADB0, 0x964D }, - { 0xADB1, 0x9762 }, - { 0xADB2, 0x9769 }, - { 0xADB3, 0x97CB }, - { 0xADB4, 0x97ED }, - { 0xADB5, 0x97F3 }, - { 0xADB6, 0x9801 }, - { 0xADB7, 0x98A8 }, - { 0xADB8, 0x98DB }, - { 0xADB9, 0x98DF }, - { 0xADBA, 0x9996 }, - { 0xADBB, 0x9999 }, - { 0xADBC, 0x4E58 }, - { 0xADBD, 0x4EB3 }, - { 0xADBE, 0x500C }, - { 0xADBF, 0x500D }, - { 0xADC0, 0x5023 }, - { 0xADC1, 0x4FEF }, - { 0xADC2, 0x5026 }, - { 0xADC3, 0x5025 }, - { 0xADC4, 0x4FF8 }, - { 0xADC5, 0x5029 }, - { 0xADC6, 0x5016 }, - { 0xADC7, 0x5006 }, - { 0xADC8, 0x503C }, - { 0xADC9, 0x501F }, - { 0xADCA, 0x501A }, - { 0xADCB, 0x5012 }, - { 0xADCC, 0x5011 }, - { 0xADCD, 0x4FFA }, - { 0xADCE, 0x5000 }, - { 0xADCF, 0x5014 }, - { 0xADD0, 0x5028 }, - { 0xADD1, 0x4FF1 }, - { 0xADD2, 0x5021 }, - { 0xADD3, 0x500B }, - { 0xADD4, 0x5019 }, - { 0xADD5, 0x5018 }, - { 0xADD6, 0x4FF3 }, - { 0xADD7, 0x4FEE }, - { 0xADD8, 0x502D }, - { 0xADD9, 0x502A }, - { 0xADDA, 0x4FFE }, - { 0xADDB, 0x502B }, - { 0xADDC, 0x5009 }, - { 0xADDD, 0x517C }, - { 0xADDE, 0x51A4 }, - { 0xADDF, 0x51A5 }, - { 0xADE0, 0x51A2 }, - { 0xADE1, 0x51CD }, - { 0xADE2, 0x51CC }, - { 0xADE3, 0x51C6 }, - { 0xADE4, 0x51CB }, - { 0xADE5, 0x5256 }, - { 0xADE6, 0x525C }, - { 0xADE7, 0x5254 }, - { 0xADE8, 0x525B }, - { 0xADE9, 0x525D }, - { 0xADEA, 0x532A }, - { 0xADEB, 0x537F }, - { 0xADEC, 0x539F }, - { 0xADED, 0x539D }, - { 0xADEE, 0x53DF }, - { 0xADEF, 0x54E8 }, - { 0xADF0, 0x5510 }, - { 0xADF1, 0x5501 }, - { 0xADF2, 0x5537 }, - { 0xADF3, 0x54FC }, - { 0xADF4, 0x54E5 }, - { 0xADF5, 0x54F2 }, - { 0xADF6, 0x5506 }, - { 0xADF7, 0x54FA }, - { 0xADF8, 0x5514 }, - { 0xADF9, 0x54E9 }, - { 0xADFA, 0x54ED }, - { 0xADFB, 0x54E1 }, - { 0xADFC, 0x5509 }, - { 0xADFD, 0x54EE }, - { 0xADFE, 0x54EA }, - { 0xAE40, 0x54E6 }, - { 0xAE41, 0x5527 }, - { 0xAE42, 0x5507 }, - { 0xAE43, 0x54FD }, - { 0xAE44, 0x550F }, - { 0xAE45, 0x5703 }, - { 0xAE46, 0x5704 }, - { 0xAE47, 0x57C2 }, - { 0xAE48, 0x57D4 }, - { 0xAE49, 0x57CB }, - { 0xAE4A, 0x57C3 }, - { 0xAE4B, 0x5809 }, - { 0xAE4C, 0x590F }, - { 0xAE4D, 0x5957 }, - { 0xAE4E, 0x5958 }, - { 0xAE4F, 0x595A }, - { 0xAE50, 0x5A11 }, - { 0xAE51, 0x5A18 }, - { 0xAE52, 0x5A1C }, - { 0xAE53, 0x5A1F }, - { 0xAE54, 0x5A1B }, - { 0xAE55, 0x5A13 }, - { 0xAE56, 0x59EC }, - { 0xAE57, 0x5A20 }, - { 0xAE58, 0x5A23 }, - { 0xAE59, 0x5A29 }, - { 0xAE5A, 0x5A25 }, - { 0xAE5B, 0x5A0C }, - { 0xAE5C, 0x5A09 }, - { 0xAE5D, 0x5B6B }, - { 0xAE5E, 0x5C58 }, - { 0xAE5F, 0x5BB0 }, - { 0xAE60, 0x5BB3 }, - { 0xAE61, 0x5BB6 }, - { 0xAE62, 0x5BB4 }, - { 0xAE63, 0x5BAE }, - { 0xAE64, 0x5BB5 }, - { 0xAE65, 0x5BB9 }, - { 0xAE66, 0x5BB8 }, - { 0xAE67, 0x5C04 }, - { 0xAE68, 0x5C51 }, - { 0xAE69, 0x5C55 }, - { 0xAE6A, 0x5C50 }, - { 0xAE6B, 0x5CED }, - { 0xAE6C, 0x5CFD }, - { 0xAE6D, 0x5CFB }, - { 0xAE6E, 0x5CEA }, - { 0xAE6F, 0x5CE8 }, - { 0xAE70, 0x5CF0 }, - { 0xAE71, 0x5CF6 }, - { 0xAE72, 0x5D01 }, - { 0xAE73, 0x5CF4 }, - { 0xAE74, 0x5DEE }, - { 0xAE75, 0x5E2D }, - { 0xAE76, 0x5E2B }, - { 0xAE77, 0x5EAB }, - { 0xAE78, 0x5EAD }, - { 0xAE79, 0x5EA7 }, - { 0xAE7A, 0x5F31 }, - { 0xAE7B, 0x5F92 }, - { 0xAE7C, 0x5F91 }, - { 0xAE7D, 0x5F90 }, - { 0xAE7E, 0x6059 }, - { 0xAEA1, 0x6063 }, - { 0xAEA2, 0x6065 }, - { 0xAEA3, 0x6050 }, - { 0xAEA4, 0x6055 }, - { 0xAEA5, 0x606D }, - { 0xAEA6, 0x6069 }, - { 0xAEA7, 0x606F }, - { 0xAEA8, 0x6084 }, - { 0xAEA9, 0x609F }, - { 0xAEAA, 0x609A }, - { 0xAEAB, 0x608D }, - { 0xAEAC, 0x6094 }, - { 0xAEAD, 0x608C }, - { 0xAEAE, 0x6085 }, - { 0xAEAF, 0x6096 }, - { 0xAEB0, 0x6247 }, - { 0xAEB1, 0x62F3 }, - { 0xAEB2, 0x6308 }, - { 0xAEB3, 0x62FF }, - { 0xAEB4, 0x634E }, - { 0xAEB5, 0x633E }, - { 0xAEB6, 0x632F }, - { 0xAEB7, 0x6355 }, - { 0xAEB8, 0x6342 }, - { 0xAEB9, 0x6346 }, - { 0xAEBA, 0x634F }, - { 0xAEBB, 0x6349 }, - { 0xAEBC, 0x633A }, - { 0xAEBD, 0x6350 }, - { 0xAEBE, 0x633D }, - { 0xAEBF, 0x632A }, - { 0xAEC0, 0x632B }, - { 0xAEC1, 0x6328 }, - { 0xAEC2, 0x634D }, - { 0xAEC3, 0x634C }, - { 0xAEC4, 0x6548 }, - { 0xAEC5, 0x6549 }, - { 0xAEC6, 0x6599 }, - { 0xAEC7, 0x65C1 }, - { 0xAEC8, 0x65C5 }, - { 0xAEC9, 0x6642 }, - { 0xAECA, 0x6649 }, - { 0xAECB, 0x664F }, - { 0xAECC, 0x6643 }, - { 0xAECD, 0x6652 }, - { 0xAECE, 0x664C }, - { 0xAECF, 0x6645 }, - { 0xAED0, 0x6641 }, - { 0xAED1, 0x66F8 }, - { 0xAED2, 0x6714 }, - { 0xAED3, 0x6715 }, - { 0xAED4, 0x6717 }, - { 0xAED5, 0x6821 }, - { 0xAED6, 0x6838 }, - { 0xAED7, 0x6848 }, - { 0xAED8, 0x6846 }, - { 0xAED9, 0x6853 }, - { 0xAEDA, 0x6839 }, - { 0xAEDB, 0x6842 }, - { 0xAEDC, 0x6854 }, - { 0xAEDD, 0x6829 }, - { 0xAEDE, 0x68B3 }, - { 0xAEDF, 0x6817 }, - { 0xAEE0, 0x684C }, - { 0xAEE1, 0x6851 }, - { 0xAEE2, 0x683D }, - { 0xAEE3, 0x67F4 }, - { 0xAEE4, 0x6850 }, - { 0xAEE5, 0x6840 }, - { 0xAEE6, 0x683C }, - { 0xAEE7, 0x6843 }, - { 0xAEE8, 0x682A }, - { 0xAEE9, 0x6845 }, - { 0xAEEA, 0x6813 }, - { 0xAEEB, 0x6818 }, - { 0xAEEC, 0x6841 }, - { 0xAEED, 0x6B8A }, - { 0xAEEE, 0x6B89 }, - { 0xAEEF, 0x6BB7 }, - { 0xAEF0, 0x6C23 }, - { 0xAEF1, 0x6C27 }, - { 0xAEF2, 0x6C28 }, - { 0xAEF3, 0x6C26 }, - { 0xAEF4, 0x6C24 }, - { 0xAEF5, 0x6CF0 }, - { 0xAEF6, 0x6D6A }, - { 0xAEF7, 0x6D95 }, - { 0xAEF8, 0x6D88 }, - { 0xAEF9, 0x6D87 }, - { 0xAEFA, 0x6D66 }, - { 0xAEFB, 0x6D78 }, - { 0xAEFC, 0x6D77 }, - { 0xAEFD, 0x6D59 }, - { 0xAEFE, 0x6D93 }, - { 0xAF40, 0x6D6C }, - { 0xAF41, 0x6D89 }, - { 0xAF42, 0x6D6E }, - { 0xAF43, 0x6D5A }, - { 0xAF44, 0x6D74 }, - { 0xAF45, 0x6D69 }, - { 0xAF46, 0x6D8C }, - { 0xAF47, 0x6D8A }, - { 0xAF48, 0x6D79 }, - { 0xAF49, 0x6D85 }, - { 0xAF4A, 0x6D65 }, - { 0xAF4B, 0x6D94 }, - { 0xAF4C, 0x70CA }, - { 0xAF4D, 0x70D8 }, - { 0xAF4E, 0x70E4 }, - { 0xAF4F, 0x70D9 }, - { 0xAF50, 0x70C8 }, - { 0xAF51, 0x70CF }, - { 0xAF52, 0x7239 }, - { 0xAF53, 0x7279 }, - { 0xAF54, 0x72FC }, - { 0xAF55, 0x72F9 }, - { 0xAF56, 0x72FD }, - { 0xAF57, 0x72F8 }, - { 0xAF58, 0x72F7 }, - { 0xAF59, 0x7386 }, - { 0xAF5A, 0x73ED }, - { 0xAF5B, 0x7409 }, - { 0xAF5C, 0x73EE }, - { 0xAF5D, 0x73E0 }, - { 0xAF5E, 0x73EA }, - { 0xAF5F, 0x73DE }, - { 0xAF60, 0x7554 }, - { 0xAF61, 0x755D }, - { 0xAF62, 0x755C }, - { 0xAF63, 0x755A }, - { 0xAF64, 0x7559 }, - { 0xAF65, 0x75BE }, - { 0xAF66, 0x75C5 }, - { 0xAF67, 0x75C7 }, - { 0xAF68, 0x75B2 }, - { 0xAF69, 0x75B3 }, - { 0xAF6A, 0x75BD }, - { 0xAF6B, 0x75BC }, - { 0xAF6C, 0x75B9 }, - { 0xAF6D, 0x75C2 }, - { 0xAF6E, 0x75B8 }, - { 0xAF6F, 0x768B }, - { 0xAF70, 0x76B0 }, - { 0xAF71, 0x76CA }, - { 0xAF72, 0x76CD }, - { 0xAF73, 0x76CE }, - { 0xAF74, 0x7729 }, - { 0xAF75, 0x771F }, - { 0xAF76, 0x7720 }, - { 0xAF77, 0x7728 }, - { 0xAF78, 0x77E9 }, - { 0xAF79, 0x7830 }, - { 0xAF7A, 0x7827 }, - { 0xAF7B, 0x7838 }, - { 0xAF7C, 0x781D }, - { 0xAF7D, 0x7834 }, - { 0xAF7E, 0x7837 }, - { 0xAFA1, 0x7825 }, - { 0xAFA2, 0x782D }, - { 0xAFA3, 0x7820 }, - { 0xAFA4, 0x781F }, - { 0xAFA5, 0x7832 }, - { 0xAFA6, 0x7955 }, - { 0xAFA7, 0x7950 }, - { 0xAFA8, 0x7960 }, - { 0xAFA9, 0x795F }, - { 0xAFAA, 0x7956 }, - { 0xAFAB, 0x795E }, - { 0xAFAC, 0x795D }, - { 0xAFAD, 0x7957 }, - { 0xAFAE, 0x795A }, - { 0xAFAF, 0x79E4 }, - { 0xAFB0, 0x79E3 }, - { 0xAFB1, 0x79E7 }, - { 0xAFB2, 0x79DF }, - { 0xAFB3, 0x79E6 }, - { 0xAFB4, 0x79E9 }, - { 0xAFB5, 0x79D8 }, - { 0xAFB6, 0x7A84 }, - { 0xAFB7, 0x7A88 }, - { 0xAFB8, 0x7AD9 }, - { 0xAFB9, 0x7B06 }, - { 0xAFBA, 0x7B11 }, - { 0xAFBB, 0x7C89 }, - { 0xAFBC, 0x7D21 }, - { 0xAFBD, 0x7D17 }, - { 0xAFBE, 0x7D0B }, - { 0xAFBF, 0x7D0A }, - { 0xAFC0, 0x7D20 }, - { 0xAFC1, 0x7D22 }, - { 0xAFC2, 0x7D14 }, - { 0xAFC3, 0x7D10 }, - { 0xAFC4, 0x7D15 }, - { 0xAFC5, 0x7D1A }, - { 0xAFC6, 0x7D1C }, - { 0xAFC7, 0x7D0D }, - { 0xAFC8, 0x7D19 }, - { 0xAFC9, 0x7D1B }, - { 0xAFCA, 0x7F3A }, - { 0xAFCB, 0x7F5F }, - { 0xAFCC, 0x7F94 }, - { 0xAFCD, 0x7FC5 }, - { 0xAFCE, 0x7FC1 }, - { 0xAFCF, 0x8006 }, - { 0xAFD0, 0x8018 }, - { 0xAFD1, 0x8015 }, - { 0xAFD2, 0x8019 }, - { 0xAFD3, 0x8017 }, - { 0xAFD4, 0x803D }, - { 0xAFD5, 0x803F }, - { 0xAFD6, 0x80F1 }, - { 0xAFD7, 0x8102 }, - { 0xAFD8, 0x80F0 }, - { 0xAFD9, 0x8105 }, - { 0xAFDA, 0x80ED }, - { 0xAFDB, 0x80F4 }, - { 0xAFDC, 0x8106 }, - { 0xAFDD, 0x80F8 }, - { 0xAFDE, 0x80F3 }, - { 0xAFDF, 0x8108 }, - { 0xAFE0, 0x80FD }, - { 0xAFE1, 0x810A }, - { 0xAFE2, 0x80FC }, - { 0xAFE3, 0x80EF }, - { 0xAFE4, 0x81ED }, - { 0xAFE5, 0x81EC }, - { 0xAFE6, 0x8200 }, - { 0xAFE7, 0x8210 }, - { 0xAFE8, 0x822A }, - { 0xAFE9, 0x822B }, - { 0xAFEA, 0x8228 }, - { 0xAFEB, 0x822C }, - { 0xAFEC, 0x82BB }, - { 0xAFED, 0x832B }, - { 0xAFEE, 0x8352 }, - { 0xAFEF, 0x8354 }, - { 0xAFF0, 0x834A }, - { 0xAFF1, 0x8338 }, - { 0xAFF2, 0x8350 }, - { 0xAFF3, 0x8349 }, - { 0xAFF4, 0x8335 }, - { 0xAFF5, 0x8334 }, - { 0xAFF6, 0x834F }, - { 0xAFF7, 0x8332 }, - { 0xAFF8, 0x8339 }, - { 0xAFF9, 0x8336 }, - { 0xAFFA, 0x8317 }, - { 0xAFFB, 0x8340 }, - { 0xAFFC, 0x8331 }, - { 0xAFFD, 0x8328 }, - { 0xAFFE, 0x8343 }, - { 0xB040, 0x8654 }, - { 0xB041, 0x868A }, - { 0xB042, 0x86AA }, - { 0xB043, 0x8693 }, - { 0xB044, 0x86A4 }, - { 0xB045, 0x86A9 }, - { 0xB046, 0x868C }, - { 0xB047, 0x86A3 }, - { 0xB048, 0x869C }, - { 0xB049, 0x8870 }, - { 0xB04A, 0x8877 }, - { 0xB04B, 0x8881 }, - { 0xB04C, 0x8882 }, - { 0xB04D, 0x887D }, - { 0xB04E, 0x8879 }, - { 0xB04F, 0x8A18 }, - { 0xB050, 0x8A10 }, - { 0xB051, 0x8A0E }, - { 0xB052, 0x8A0C }, - { 0xB053, 0x8A15 }, - { 0xB054, 0x8A0A }, - { 0xB055, 0x8A17 }, - { 0xB056, 0x8A13 }, - { 0xB057, 0x8A16 }, - { 0xB058, 0x8A0F }, - { 0xB059, 0x8A11 }, - { 0xB05A, 0x8C48 }, - { 0xB05B, 0x8C7A }, - { 0xB05C, 0x8C79 }, - { 0xB05D, 0x8CA1 }, - { 0xB05E, 0x8CA2 }, - { 0xB05F, 0x8D77 }, - { 0xB060, 0x8EAC }, - { 0xB061, 0x8ED2 }, - { 0xB062, 0x8ED4 }, - { 0xB063, 0x8ECF }, - { 0xB064, 0x8FB1 }, - { 0xB065, 0x9001 }, - { 0xB066, 0x9006 }, - { 0xB067, 0x8FF7 }, - { 0xB068, 0x9000 }, - { 0xB069, 0x8FFA }, - { 0xB06A, 0x8FF4 }, - { 0xB06B, 0x9003 }, - { 0xB06C, 0x8FFD }, - { 0xB06D, 0x9005 }, - { 0xB06E, 0x8FF8 }, - { 0xB06F, 0x9095 }, - { 0xB070, 0x90E1 }, - { 0xB071, 0x90DD }, - { 0xB072, 0x90E2 }, - { 0xB073, 0x9152 }, - { 0xB074, 0x914D }, - { 0xB075, 0x914C }, - { 0xB076, 0x91D8 }, - { 0xB077, 0x91DD }, - { 0xB078, 0x91D7 }, - { 0xB079, 0x91DC }, - { 0xB07A, 0x91D9 }, - { 0xB07B, 0x9583 }, - { 0xB07C, 0x9662 }, - { 0xB07D, 0x9663 }, - { 0xB07E, 0x9661 }, - { 0xB0A1, 0x965B }, - { 0xB0A2, 0x965D }, - { 0xB0A3, 0x9664 }, - { 0xB0A4, 0x9658 }, - { 0xB0A5, 0x965E }, - { 0xB0A6, 0x96BB }, - { 0xB0A7, 0x98E2 }, - { 0xB0A8, 0x99AC }, - { 0xB0A9, 0x9AA8 }, - { 0xB0AA, 0x9AD8 }, - { 0xB0AB, 0x9B25 }, - { 0xB0AC, 0x9B32 }, - { 0xB0AD, 0x9B3C }, - { 0xB0AE, 0x4E7E }, - { 0xB0AF, 0x507A }, - { 0xB0B0, 0x507D }, - { 0xB0B1, 0x505C }, - { 0xB0B2, 0x5047 }, - { 0xB0B3, 0x5043 }, - { 0xB0B4, 0x504C }, - { 0xB0B5, 0x505A }, - { 0xB0B6, 0x5049 }, - { 0xB0B7, 0x5065 }, - { 0xB0B8, 0x5076 }, - { 0xB0B9, 0x504E }, - { 0xB0BA, 0x5055 }, - { 0xB0BB, 0x5075 }, - { 0xB0BC, 0x5074 }, - { 0xB0BD, 0x5077 }, - { 0xB0BE, 0x504F }, - { 0xB0BF, 0x500F }, - { 0xB0C0, 0x506F }, - { 0xB0C1, 0x506D }, - { 0xB0C2, 0x515C }, - { 0xB0C3, 0x5195 }, - { 0xB0C4, 0x51F0 }, - { 0xB0C5, 0x526A }, - { 0xB0C6, 0x526F }, - { 0xB0C7, 0x52D2 }, - { 0xB0C8, 0x52D9 }, - { 0xB0C9, 0x52D8 }, - { 0xB0CA, 0x52D5 }, - { 0xB0CB, 0x5310 }, - { 0xB0CC, 0x530F }, - { 0xB0CD, 0x5319 }, - { 0xB0CE, 0x533F }, - { 0xB0CF, 0x5340 }, - { 0xB0D0, 0x533E }, - { 0xB0D1, 0x53C3 }, - { 0xB0D2, 0x66FC }, - { 0xB0D3, 0x5546 }, - { 0xB0D4, 0x556A }, - { 0xB0D5, 0x5566 }, - { 0xB0D6, 0x5544 }, - { 0xB0D7, 0x555E }, - { 0xB0D8, 0x5561 }, - { 0xB0D9, 0x5543 }, - { 0xB0DA, 0x554A }, - { 0xB0DB, 0x5531 }, - { 0xB0DC, 0x5556 }, - { 0xB0DD, 0x554F }, - { 0xB0DE, 0x5555 }, - { 0xB0DF, 0x552F }, - { 0xB0E0, 0x5564 }, - { 0xB0E1, 0x5538 }, - { 0xB0E2, 0x552E }, - { 0xB0E3, 0x555C }, - { 0xB0E4, 0x552C }, - { 0xB0E5, 0x5563 }, - { 0xB0E6, 0x5533 }, - { 0xB0E7, 0x5541 }, - { 0xB0E8, 0x5557 }, - { 0xB0E9, 0x5708 }, - { 0xB0EA, 0x570B }, - { 0xB0EB, 0x5709 }, - { 0xB0EC, 0x57DF }, - { 0xB0ED, 0x5805 }, - { 0xB0EE, 0x580A }, - { 0xB0EF, 0x5806 }, - { 0xB0F0, 0x57E0 }, - { 0xB0F1, 0x57E4 }, - { 0xB0F2, 0x57FA }, - { 0xB0F3, 0x5802 }, - { 0xB0F4, 0x5835 }, - { 0xB0F5, 0x57F7 }, - { 0xB0F6, 0x57F9 }, - { 0xB0F7, 0x5920 }, - { 0xB0F8, 0x5962 }, - { 0xB0F9, 0x5A36 }, - { 0xB0FA, 0x5A41 }, - { 0xB0FB, 0x5A49 }, - { 0xB0FC, 0x5A66 }, - { 0xB0FD, 0x5A6A }, - { 0xB0FE, 0x5A40 }, - { 0xB140, 0x5A3C }, - { 0xB141, 0x5A62 }, - { 0xB142, 0x5A5A }, - { 0xB143, 0x5A46 }, - { 0xB144, 0x5A4A }, - { 0xB145, 0x5B70 }, - { 0xB146, 0x5BC7 }, - { 0xB147, 0x5BC5 }, - { 0xB148, 0x5BC4 }, - { 0xB149, 0x5BC2 }, - { 0xB14A, 0x5BBF }, - { 0xB14B, 0x5BC6 }, - { 0xB14C, 0x5C09 }, - { 0xB14D, 0x5C08 }, - { 0xB14E, 0x5C07 }, - { 0xB14F, 0x5C60 }, - { 0xB150, 0x5C5C }, - { 0xB151, 0x5C5D }, - { 0xB152, 0x5D07 }, - { 0xB153, 0x5D06 }, - { 0xB154, 0x5D0E }, - { 0xB155, 0x5D1B }, - { 0xB156, 0x5D16 }, - { 0xB157, 0x5D22 }, - { 0xB158, 0x5D11 }, - { 0xB159, 0x5D29 }, - { 0xB15A, 0x5D14 }, - { 0xB15B, 0x5D19 }, - { 0xB15C, 0x5D24 }, - { 0xB15D, 0x5D27 }, - { 0xB15E, 0x5D17 }, - { 0xB15F, 0x5DE2 }, - { 0xB160, 0x5E38 }, - { 0xB161, 0x5E36 }, - { 0xB162, 0x5E33 }, - { 0xB163, 0x5E37 }, - { 0xB164, 0x5EB7 }, - { 0xB165, 0x5EB8 }, - { 0xB166, 0x5EB6 }, - { 0xB167, 0x5EB5 }, - { 0xB168, 0x5EBE }, - { 0xB169, 0x5F35 }, - { 0xB16A, 0x5F37 }, - { 0xB16B, 0x5F57 }, - { 0xB16C, 0x5F6C }, - { 0xB16D, 0x5F69 }, - { 0xB16E, 0x5F6B }, - { 0xB16F, 0x5F97 }, - { 0xB170, 0x5F99 }, - { 0xB171, 0x5F9E }, - { 0xB172, 0x5F98 }, - { 0xB173, 0x5FA1 }, - { 0xB174, 0x5FA0 }, - { 0xB175, 0x5F9C }, - { 0xB176, 0x607F }, - { 0xB177, 0x60A3 }, - { 0xB178, 0x6089 }, - { 0xB179, 0x60A0 }, - { 0xB17A, 0x60A8 }, - { 0xB17B, 0x60CB }, - { 0xB17C, 0x60B4 }, - { 0xB17D, 0x60E6 }, - { 0xB17E, 0x60BD }, - { 0xB1A1, 0x60C5 }, - { 0xB1A2, 0x60BB }, - { 0xB1A3, 0x60B5 }, - { 0xB1A4, 0x60DC }, - { 0xB1A5, 0x60BC }, - { 0xB1A6, 0x60D8 }, - { 0xB1A7, 0x60D5 }, - { 0xB1A8, 0x60C6 }, - { 0xB1A9, 0x60DF }, - { 0xB1AA, 0x60B8 }, - { 0xB1AB, 0x60DA }, - { 0xB1AC, 0x60C7 }, - { 0xB1AD, 0x621A }, - { 0xB1AE, 0x621B }, - { 0xB1AF, 0x6248 }, - { 0xB1B0, 0x63A0 }, - { 0xB1B1, 0x63A7 }, - { 0xB1B2, 0x6372 }, - { 0xB1B3, 0x6396 }, - { 0xB1B4, 0x63A2 }, - { 0xB1B5, 0x63A5 }, - { 0xB1B6, 0x6377 }, - { 0xB1B7, 0x6367 }, - { 0xB1B8, 0x6398 }, - { 0xB1B9, 0x63AA }, - { 0xB1BA, 0x6371 }, - { 0xB1BB, 0x63A9 }, - { 0xB1BC, 0x6389 }, - { 0xB1BD, 0x6383 }, - { 0xB1BE, 0x639B }, - { 0xB1BF, 0x636B }, - { 0xB1C0, 0x63A8 }, - { 0xB1C1, 0x6384 }, - { 0xB1C2, 0x6388 }, - { 0xB1C3, 0x6399 }, - { 0xB1C4, 0x63A1 }, - { 0xB1C5, 0x63AC }, - { 0xB1C6, 0x6392 }, - { 0xB1C7, 0x638F }, - { 0xB1C8, 0x6380 }, - { 0xB1C9, 0x637B }, - { 0xB1CA, 0x6369 }, - { 0xB1CB, 0x6368 }, - { 0xB1CC, 0x637A }, - { 0xB1CD, 0x655D }, - { 0xB1CE, 0x6556 }, - { 0xB1CF, 0x6551 }, - { 0xB1D0, 0x6559 }, - { 0xB1D1, 0x6557 }, - { 0xB1D2, 0x555F }, - { 0xB1D3, 0x654F }, - { 0xB1D4, 0x6558 }, - { 0xB1D5, 0x6555 }, - { 0xB1D6, 0x6554 }, - { 0xB1D7, 0x659C }, - { 0xB1D8, 0x659B }, - { 0xB1D9, 0x65AC }, - { 0xB1DA, 0x65CF }, - { 0xB1DB, 0x65CB }, - { 0xB1DC, 0x65CC }, - { 0xB1DD, 0x65CE }, - { 0xB1DE, 0x665D }, - { 0xB1DF, 0x665A }, - { 0xB1E0, 0x6664 }, - { 0xB1E1, 0x6668 }, - { 0xB1E2, 0x6666 }, - { 0xB1E3, 0x665E }, - { 0xB1E4, 0x66F9 }, - { 0xB1E5, 0x52D7 }, - { 0xB1E6, 0x671B }, - { 0xB1E7, 0x6881 }, - { 0xB1E8, 0x68AF }, - { 0xB1E9, 0x68A2 }, - { 0xB1EA, 0x6893 }, - { 0xB1EB, 0x68B5 }, - { 0xB1EC, 0x687F }, - { 0xB1ED, 0x6876 }, - { 0xB1EE, 0x68B1 }, - { 0xB1EF, 0x68A7 }, - { 0xB1F0, 0x6897 }, - { 0xB1F1, 0x68B0 }, - { 0xB1F2, 0x6883 }, - { 0xB1F3, 0x68C4 }, - { 0xB1F4, 0x68AD }, - { 0xB1F5, 0x6886 }, - { 0xB1F6, 0x6885 }, - { 0xB1F7, 0x6894 }, - { 0xB1F8, 0x689D }, - { 0xB1F9, 0x68A8 }, - { 0xB1FA, 0x689F }, - { 0xB1FB, 0x68A1 }, - { 0xB1FC, 0x6882 }, - { 0xB1FD, 0x6B32 }, - { 0xB1FE, 0x6BBA }, - { 0xB240, 0x6BEB }, - { 0xB241, 0x6BEC }, - { 0xB242, 0x6C2B }, - { 0xB243, 0x6D8E }, - { 0xB244, 0x6DBC }, - { 0xB245, 0x6DF3 }, - { 0xB246, 0x6DD9 }, - { 0xB247, 0x6DB2 }, - { 0xB248, 0x6DE1 }, - { 0xB249, 0x6DCC }, - { 0xB24A, 0x6DE4 }, - { 0xB24B, 0x6DFB }, - { 0xB24C, 0x6DFA }, - { 0xB24D, 0x6E05 }, - { 0xB24E, 0x6DC7 }, - { 0xB24F, 0x6DCB }, - { 0xB250, 0x6DAF }, - { 0xB251, 0x6DD1 }, - { 0xB252, 0x6DAE }, - { 0xB253, 0x6DDE }, - { 0xB254, 0x6DF9 }, - { 0xB255, 0x6DB8 }, - { 0xB256, 0x6DF7 }, - { 0xB257, 0x6DF5 }, - { 0xB258, 0x6DC5 }, - { 0xB259, 0x6DD2 }, - { 0xB25A, 0x6E1A }, - { 0xB25B, 0x6DB5 }, - { 0xB25C, 0x6DDA }, - { 0xB25D, 0x6DEB }, - { 0xB25E, 0x6DD8 }, - { 0xB25F, 0x6DEA }, - { 0xB260, 0x6DF1 }, - { 0xB261, 0x6DEE }, - { 0xB262, 0x6DE8 }, - { 0xB263, 0x6DC6 }, - { 0xB264, 0x6DC4 }, - { 0xB265, 0x6DAA }, - { 0xB266, 0x6DEC }, - { 0xB267, 0x6DBF }, - { 0xB268, 0x6DE6 }, - { 0xB269, 0x70F9 }, - { 0xB26A, 0x7109 }, - { 0xB26B, 0x710A }, - { 0xB26C, 0x70FD }, - { 0xB26D, 0x70EF }, - { 0xB26E, 0x723D }, - { 0xB26F, 0x727D }, - { 0xB270, 0x7281 }, - { 0xB271, 0x731C }, - { 0xB272, 0x731B }, - { 0xB273, 0x7316 }, - { 0xB274, 0x7313 }, - { 0xB275, 0x7319 }, - { 0xB276, 0x7387 }, - { 0xB277, 0x7405 }, - { 0xB278, 0x740A }, - { 0xB279, 0x7403 }, - { 0xB27A, 0x7406 }, - { 0xB27B, 0x73FE }, - { 0xB27C, 0x740D }, - { 0xB27D, 0x74E0 }, - { 0xB27E, 0x74F6 }, - { 0xB2A1, 0x74F7 }, - { 0xB2A2, 0x751C }, - { 0xB2A3, 0x7522 }, - { 0xB2A4, 0x7565 }, - { 0xB2A5, 0x7566 }, - { 0xB2A6, 0x7562 }, - { 0xB2A7, 0x7570 }, - { 0xB2A8, 0x758F }, - { 0xB2A9, 0x75D4 }, - { 0xB2AA, 0x75D5 }, - { 0xB2AB, 0x75B5 }, - { 0xB2AC, 0x75CA }, - { 0xB2AD, 0x75CD }, - { 0xB2AE, 0x768E }, - { 0xB2AF, 0x76D4 }, - { 0xB2B0, 0x76D2 }, - { 0xB2B1, 0x76DB }, - { 0xB2B2, 0x7737 }, - { 0xB2B3, 0x773E }, - { 0xB2B4, 0x773C }, - { 0xB2B5, 0x7736 }, - { 0xB2B6, 0x7738 }, - { 0xB2B7, 0x773A }, - { 0xB2B8, 0x786B }, - { 0xB2B9, 0x7843 }, - { 0xB2BA, 0x784E }, - { 0xB2BB, 0x7965 }, - { 0xB2BC, 0x7968 }, - { 0xB2BD, 0x796D }, - { 0xB2BE, 0x79FB }, - { 0xB2BF, 0x7A92 }, - { 0xB2C0, 0x7A95 }, - { 0xB2C1, 0x7B20 }, - { 0xB2C2, 0x7B28 }, - { 0xB2C3, 0x7B1B }, - { 0xB2C4, 0x7B2C }, - { 0xB2C5, 0x7B26 }, - { 0xB2C6, 0x7B19 }, - { 0xB2C7, 0x7B1E }, - { 0xB2C8, 0x7B2E }, - { 0xB2C9, 0x7C92 }, - { 0xB2CA, 0x7C97 }, - { 0xB2CB, 0x7C95 }, - { 0xB2CC, 0x7D46 }, - { 0xB2CD, 0x7D43 }, - { 0xB2CE, 0x7D71 }, - { 0xB2CF, 0x7D2E }, - { 0xB2D0, 0x7D39 }, - { 0xB2D1, 0x7D3C }, - { 0xB2D2, 0x7D40 }, - { 0xB2D3, 0x7D30 }, - { 0xB2D4, 0x7D33 }, - { 0xB2D5, 0x7D44 }, - { 0xB2D6, 0x7D2F }, - { 0xB2D7, 0x7D42 }, - { 0xB2D8, 0x7D32 }, - { 0xB2D9, 0x7D31 }, - { 0xB2DA, 0x7F3D }, - { 0xB2DB, 0x7F9E }, - { 0xB2DC, 0x7F9A }, - { 0xB2DD, 0x7FCC }, - { 0xB2DE, 0x7FCE }, - { 0xB2DF, 0x7FD2 }, - { 0xB2E0, 0x801C }, - { 0xB2E1, 0x804A }, - { 0xB2E2, 0x8046 }, - { 0xB2E3, 0x812F }, - { 0xB2E4, 0x8116 }, - { 0xB2E5, 0x8123 }, - { 0xB2E6, 0x812B }, - { 0xB2E7, 0x8129 }, - { 0xB2E8, 0x8130 }, - { 0xB2E9, 0x8124 }, - { 0xB2EA, 0x8202 }, - { 0xB2EB, 0x8235 }, - { 0xB2EC, 0x8237 }, - { 0xB2ED, 0x8236 }, - { 0xB2EE, 0x8239 }, - { 0xB2EF, 0x838E }, - { 0xB2F0, 0x839E }, - { 0xB2F1, 0x8398 }, - { 0xB2F2, 0x8378 }, - { 0xB2F3, 0x83A2 }, - { 0xB2F4, 0x8396 }, - { 0xB2F5, 0x83BD }, - { 0xB2F6, 0x83AB }, - { 0xB2F7, 0x8392 }, - { 0xB2F8, 0x838A }, - { 0xB2F9, 0x8393 }, - { 0xB2FA, 0x8389 }, - { 0xB2FB, 0x83A0 }, - { 0xB2FC, 0x8377 }, - { 0xB2FD, 0x837B }, - { 0xB2FE, 0x837C }, - { 0xB340, 0x8386 }, - { 0xB341, 0x83A7 }, - { 0xB342, 0x8655 }, - { 0xB343, 0x5F6A }, - { 0xB344, 0x86C7 }, - { 0xB345, 0x86C0 }, - { 0xB346, 0x86B6 }, - { 0xB347, 0x86C4 }, - { 0xB348, 0x86B5 }, - { 0xB349, 0x86C6 }, - { 0xB34A, 0x86CB }, - { 0xB34B, 0x86B1 }, - { 0xB34C, 0x86AF }, - { 0xB34D, 0x86C9 }, - { 0xB34E, 0x8853 }, - { 0xB34F, 0x889E }, - { 0xB350, 0x8888 }, - { 0xB351, 0x88AB }, - { 0xB352, 0x8892 }, - { 0xB353, 0x8896 }, - { 0xB354, 0x888D }, - { 0xB355, 0x888B }, - { 0xB356, 0x8993 }, - { 0xB357, 0x898F }, - { 0xB358, 0x8A2A }, - { 0xB359, 0x8A1D }, - { 0xB35A, 0x8A23 }, - { 0xB35B, 0x8A25 }, - { 0xB35C, 0x8A31 }, - { 0xB35D, 0x8A2D }, - { 0xB35E, 0x8A1F }, - { 0xB35F, 0x8A1B }, - { 0xB360, 0x8A22 }, - { 0xB361, 0x8C49 }, - { 0xB362, 0x8C5A }, - { 0xB363, 0x8CA9 }, - { 0xB364, 0x8CAC }, - { 0xB365, 0x8CAB }, - { 0xB366, 0x8CA8 }, - { 0xB367, 0x8CAA }, - { 0xB368, 0x8CA7 }, - { 0xB369, 0x8D67 }, - { 0xB36A, 0x8D66 }, - { 0xB36B, 0x8DBE }, - { 0xB36C, 0x8DBA }, - { 0xB36D, 0x8EDB }, - { 0xB36E, 0x8EDF }, - { 0xB36F, 0x9019 }, - { 0xB370, 0x900D }, - { 0xB371, 0x901A }, - { 0xB372, 0x9017 }, - { 0xB373, 0x9023 }, - { 0xB374, 0x901F }, - { 0xB375, 0x901D }, - { 0xB376, 0x9010 }, - { 0xB377, 0x9015 }, - { 0xB378, 0x901E }, - { 0xB379, 0x9020 }, - { 0xB37A, 0x900F }, - { 0xB37B, 0x9022 }, - { 0xB37C, 0x9016 }, - { 0xB37D, 0x901B }, - { 0xB37E, 0x9014 }, - { 0xB3A1, 0x90E8 }, - { 0xB3A2, 0x90ED }, - { 0xB3A3, 0x90FD }, - { 0xB3A4, 0x9157 }, - { 0xB3A5, 0x91CE }, - { 0xB3A6, 0x91F5 }, - { 0xB3A7, 0x91E6 }, - { 0xB3A8, 0x91E3 }, - { 0xB3A9, 0x91E7 }, - { 0xB3AA, 0x91ED }, - { 0xB3AB, 0x91E9 }, - { 0xB3AC, 0x9589 }, - { 0xB3AD, 0x966A }, - { 0xB3AE, 0x9675 }, - { 0xB3AF, 0x9673 }, - { 0xB3B0, 0x9678 }, - { 0xB3B1, 0x9670 }, - { 0xB3B2, 0x9674 }, - { 0xB3B3, 0x9676 }, - { 0xB3B4, 0x9677 }, - { 0xB3B5, 0x966C }, - { 0xB3B6, 0x96C0 }, - { 0xB3B7, 0x96EA }, - { 0xB3B8, 0x96E9 }, - { 0xB3B9, 0x7AE0 }, - { 0xB3BA, 0x7ADF }, - { 0xB3BB, 0x9802 }, - { 0xB3BC, 0x9803 }, - { 0xB3BD, 0x9B5A }, - { 0xB3BE, 0x9CE5 }, - { 0xB3BF, 0x9E75 }, - { 0xB3C0, 0x9E7F }, - { 0xB3C1, 0x9EA5 }, - { 0xB3C2, 0x9EBB }, - { 0xB3C3, 0x50A2 }, - { 0xB3C4, 0x508D }, - { 0xB3C5, 0x5085 }, - { 0xB3C6, 0x5099 }, - { 0xB3C7, 0x5091 }, - { 0xB3C8, 0x5080 }, - { 0xB3C9, 0x5096 }, - { 0xB3CA, 0x5098 }, - { 0xB3CB, 0x509A }, - { 0xB3CC, 0x6700 }, - { 0xB3CD, 0x51F1 }, - { 0xB3CE, 0x5272 }, - { 0xB3CF, 0x5274 }, - { 0xB3D0, 0x5275 }, - { 0xB3D1, 0x5269 }, - { 0xB3D2, 0x52DE }, - { 0xB3D3, 0x52DD }, - { 0xB3D4, 0x52DB }, - { 0xB3D5, 0x535A }, - { 0xB3D6, 0x53A5 }, - { 0xB3D7, 0x557B }, - { 0xB3D8, 0x5580 }, - { 0xB3D9, 0x55A7 }, - { 0xB3DA, 0x557C }, - { 0xB3DB, 0x558A }, - { 0xB3DC, 0x559D }, - { 0xB3DD, 0x5598 }, - { 0xB3DE, 0x5582 }, - { 0xB3DF, 0x559C }, - { 0xB3E0, 0x55AA }, - { 0xB3E1, 0x5594 }, - { 0xB3E2, 0x5587 }, - { 0xB3E3, 0x558B }, - { 0xB3E4, 0x5583 }, - { 0xB3E5, 0x55B3 }, - { 0xB3E6, 0x55AE }, - { 0xB3E7, 0x559F }, - { 0xB3E8, 0x553E }, - { 0xB3E9, 0x55B2 }, - { 0xB3EA, 0x559A }, - { 0xB3EB, 0x55BB }, - { 0xB3EC, 0x55AC }, - { 0xB3ED, 0x55B1 }, - { 0xB3EE, 0x557E }, - { 0xB3EF, 0x5589 }, - { 0xB3F0, 0x55AB }, - { 0xB3F1, 0x5599 }, - { 0xB3F2, 0x570D }, - { 0xB3F3, 0x582F }, - { 0xB3F4, 0x582A }, - { 0xB3F5, 0x5834 }, - { 0xB3F6, 0x5824 }, - { 0xB3F7, 0x5830 }, - { 0xB3F8, 0x5831 }, - { 0xB3F9, 0x5821 }, - { 0xB3FA, 0x581D }, - { 0xB3FB, 0x5820 }, - { 0xB3FC, 0x58F9 }, - { 0xB3FD, 0x58FA }, - { 0xB3FE, 0x5960 }, - { 0xB440, 0x5A77 }, - { 0xB441, 0x5A9A }, - { 0xB442, 0x5A7F }, - { 0xB443, 0x5A92 }, - { 0xB444, 0x5A9B }, - { 0xB445, 0x5AA7 }, - { 0xB446, 0x5B73 }, - { 0xB447, 0x5B71 }, - { 0xB448, 0x5BD2 }, - { 0xB449, 0x5BCC }, - { 0xB44A, 0x5BD3 }, - { 0xB44B, 0x5BD0 }, - { 0xB44C, 0x5C0A }, - { 0xB44D, 0x5C0B }, - { 0xB44E, 0x5C31 }, - { 0xB44F, 0x5D4C }, - { 0xB450, 0x5D50 }, - { 0xB451, 0x5D34 }, - { 0xB452, 0x5D47 }, - { 0xB453, 0x5DFD }, - { 0xB454, 0x5E45 }, - { 0xB455, 0x5E3D }, - { 0xB456, 0x5E40 }, - { 0xB457, 0x5E43 }, - { 0xB458, 0x5E7E }, - { 0xB459, 0x5ECA }, - { 0xB45A, 0x5EC1 }, - { 0xB45B, 0x5EC2 }, - { 0xB45C, 0x5EC4 }, - { 0xB45D, 0x5F3C }, - { 0xB45E, 0x5F6D }, - { 0xB45F, 0x5FA9 }, - { 0xB460, 0x5FAA }, - { 0xB461, 0x5FA8 }, - { 0xB462, 0x60D1 }, - { 0xB463, 0x60E1 }, - { 0xB464, 0x60B2 }, - { 0xB465, 0x60B6 }, - { 0xB466, 0x60E0 }, - { 0xB467, 0x611C }, - { 0xB468, 0x6123 }, - { 0xB469, 0x60FA }, - { 0xB46A, 0x6115 }, - { 0xB46B, 0x60F0 }, - { 0xB46C, 0x60FB }, - { 0xB46D, 0x60F4 }, - { 0xB46E, 0x6168 }, - { 0xB46F, 0x60F1 }, - { 0xB470, 0x610E }, - { 0xB471, 0x60F6 }, - { 0xB472, 0x6109 }, - { 0xB473, 0x6100 }, - { 0xB474, 0x6112 }, - { 0xB475, 0x621F }, - { 0xB476, 0x6249 }, - { 0xB477, 0x63A3 }, - { 0xB478, 0x638C }, - { 0xB479, 0x63CF }, - { 0xB47A, 0x63C0 }, - { 0xB47B, 0x63E9 }, - { 0xB47C, 0x63C9 }, - { 0xB47D, 0x63C6 }, - { 0xB47E, 0x63CD }, - { 0xB4A1, 0x63D2 }, - { 0xB4A2, 0x63E3 }, - { 0xB4A3, 0x63D0 }, - { 0xB4A4, 0x63E1 }, - { 0xB4A5, 0x63D6 }, - { 0xB4A6, 0x63ED }, - { 0xB4A7, 0x63EE }, - { 0xB4A8, 0x6376 }, - { 0xB4A9, 0x63F4 }, - { 0xB4AA, 0x63EA }, - { 0xB4AB, 0x63DB }, - { 0xB4AC, 0x6452 }, - { 0xB4AD, 0x63DA }, - { 0xB4AE, 0x63F9 }, - { 0xB4AF, 0x655E }, - { 0xB4B0, 0x6566 }, - { 0xB4B1, 0x6562 }, - { 0xB4B2, 0x6563 }, - { 0xB4B3, 0x6591 }, - { 0xB4B4, 0x6590 }, - { 0xB4B5, 0x65AF }, - { 0xB4B6, 0x666E }, - { 0xB4B7, 0x6670 }, - { 0xB4B8, 0x6674 }, - { 0xB4B9, 0x6676 }, - { 0xB4BA, 0x666F }, - { 0xB4BB, 0x6691 }, - { 0xB4BC, 0x667A }, - { 0xB4BD, 0x667E }, - { 0xB4BE, 0x6677 }, - { 0xB4BF, 0x66FE }, - { 0xB4C0, 0x66FF }, - { 0xB4C1, 0x671F }, - { 0xB4C2, 0x671D }, - { 0xB4C3, 0x68FA }, - { 0xB4C4, 0x68D5 }, - { 0xB4C5, 0x68E0 }, - { 0xB4C6, 0x68D8 }, - { 0xB4C7, 0x68D7 }, - { 0xB4C8, 0x6905 }, - { 0xB4C9, 0x68DF }, - { 0xB4CA, 0x68F5 }, - { 0xB4CB, 0x68EE }, - { 0xB4CC, 0x68E7 }, - { 0xB4CD, 0x68F9 }, - { 0xB4CE, 0x68D2 }, - { 0xB4CF, 0x68F2 }, - { 0xB4D0, 0x68E3 }, - { 0xB4D1, 0x68CB }, - { 0xB4D2, 0x68CD }, - { 0xB4D3, 0x690D }, - { 0xB4D4, 0x6912 }, - { 0xB4D5, 0x690E }, - { 0xB4D6, 0x68C9 }, - { 0xB4D7, 0x68DA }, - { 0xB4D8, 0x696E }, - { 0xB4D9, 0x68FB }, - { 0xB4DA, 0x6B3E }, - { 0xB4DB, 0x6B3A }, - { 0xB4DC, 0x6B3D }, - { 0xB4DD, 0x6B98 }, - { 0xB4DE, 0x6B96 }, - { 0xB4DF, 0x6BBC }, - { 0xB4E0, 0x6BEF }, - { 0xB4E1, 0x6C2E }, - { 0xB4E2, 0x6C2F }, - { 0xB4E3, 0x6C2C }, - { 0xB4E4, 0x6E2F }, - { 0xB4E5, 0x6E38 }, - { 0xB4E6, 0x6E54 }, - { 0xB4E7, 0x6E21 }, - { 0xB4E8, 0x6E32 }, - { 0xB4E9, 0x6E67 }, - { 0xB4EA, 0x6E4A }, - { 0xB4EB, 0x6E20 }, - { 0xB4EC, 0x6E25 }, - { 0xB4ED, 0x6E23 }, - { 0xB4EE, 0x6E1B }, - { 0xB4EF, 0x6E5B }, - { 0xB4F0, 0x6E58 }, - { 0xB4F1, 0x6E24 }, - { 0xB4F2, 0x6E56 }, - { 0xB4F3, 0x6E6E }, - { 0xB4F4, 0x6E2D }, - { 0xB4F5, 0x6E26 }, - { 0xB4F6, 0x6E6F }, - { 0xB4F7, 0x6E34 }, - { 0xB4F8, 0x6E4D }, - { 0xB4F9, 0x6E3A }, - { 0xB4FA, 0x6E2C }, - { 0xB4FB, 0x6E43 }, - { 0xB4FC, 0x6E1D }, - { 0xB4FD, 0x6E3E }, - { 0xB4FE, 0x6ECB }, - { 0xB540, 0x6E89 }, - { 0xB541, 0x6E19 }, - { 0xB542, 0x6E4E }, - { 0xB543, 0x6E63 }, - { 0xB544, 0x6E44 }, - { 0xB545, 0x6E72 }, - { 0xB546, 0x6E69 }, - { 0xB547, 0x6E5F }, - { 0xB548, 0x7119 }, - { 0xB549, 0x711A }, - { 0xB54A, 0x7126 }, - { 0xB54B, 0x7130 }, - { 0xB54C, 0x7121 }, - { 0xB54D, 0x7136 }, - { 0xB54E, 0x716E }, - { 0xB54F, 0x711C }, - { 0xB550, 0x724C }, - { 0xB551, 0x7284 }, - { 0xB552, 0x7280 }, - { 0xB553, 0x7336 }, - { 0xB554, 0x7325 }, - { 0xB555, 0x7334 }, - { 0xB556, 0x7329 }, - { 0xB557, 0x743A }, - { 0xB558, 0x742A }, - { 0xB559, 0x7433 }, - { 0xB55A, 0x7422 }, - { 0xB55B, 0x7425 }, - { 0xB55C, 0x7435 }, - { 0xB55D, 0x7436 }, - { 0xB55E, 0x7434 }, - { 0xB55F, 0x742F }, - { 0xB560, 0x741B }, - { 0xB561, 0x7426 }, - { 0xB562, 0x7428 }, - { 0xB563, 0x7525 }, - { 0xB564, 0x7526 }, - { 0xB565, 0x756B }, - { 0xB566, 0x756A }, - { 0xB567, 0x75E2 }, - { 0xB568, 0x75DB }, - { 0xB569, 0x75E3 }, - { 0xB56A, 0x75D9 }, - { 0xB56B, 0x75D8 }, - { 0xB56C, 0x75DE }, - { 0xB56D, 0x75E0 }, - { 0xB56E, 0x767B }, - { 0xB56F, 0x767C }, - { 0xB570, 0x7696 }, - { 0xB571, 0x7693 }, - { 0xB572, 0x76B4 }, - { 0xB573, 0x76DC }, - { 0xB574, 0x774F }, - { 0xB575, 0x77ED }, - { 0xB576, 0x785D }, - { 0xB577, 0x786C }, - { 0xB578, 0x786F }, - { 0xB579, 0x7A0D }, - { 0xB57A, 0x7A08 }, - { 0xB57B, 0x7A0B }, - { 0xB57C, 0x7A05 }, - { 0xB57D, 0x7A00 }, - { 0xB57E, 0x7A98 }, - { 0xB5A1, 0x7A97 }, - { 0xB5A2, 0x7A96 }, - { 0xB5A3, 0x7AE5 }, - { 0xB5A4, 0x7AE3 }, - { 0xB5A5, 0x7B49 }, - { 0xB5A6, 0x7B56 }, - { 0xB5A7, 0x7B46 }, - { 0xB5A8, 0x7B50 }, - { 0xB5A9, 0x7B52 }, - { 0xB5AA, 0x7B54 }, - { 0xB5AB, 0x7B4D }, - { 0xB5AC, 0x7B4B }, - { 0xB5AD, 0x7B4F }, - { 0xB5AE, 0x7B51 }, - { 0xB5AF, 0x7C9F }, - { 0xB5B0, 0x7CA5 }, - { 0xB5B1, 0x7D5E }, - { 0xB5B2, 0x7D50 }, - { 0xB5B3, 0x7D68 }, - { 0xB5B4, 0x7D55 }, - { 0xB5B5, 0x7D2B }, - { 0xB5B6, 0x7D6E }, - { 0xB5B7, 0x7D72 }, - { 0xB5B8, 0x7D61 }, - { 0xB5B9, 0x7D66 }, - { 0xB5BA, 0x7D62 }, - { 0xB5BB, 0x7D70 }, - { 0xB5BC, 0x7D73 }, - { 0xB5BD, 0x5584 }, - { 0xB5BE, 0x7FD4 }, - { 0xB5BF, 0x7FD5 }, - { 0xB5C0, 0x800B }, - { 0xB5C1, 0x8052 }, - { 0xB5C2, 0x8085 }, - { 0xB5C3, 0x8155 }, - { 0xB5C4, 0x8154 }, - { 0xB5C5, 0x814B }, - { 0xB5C6, 0x8151 }, - { 0xB5C7, 0x814E }, - { 0xB5C8, 0x8139 }, - { 0xB5C9, 0x8146 }, - { 0xB5CA, 0x813E }, - { 0xB5CB, 0x814C }, - { 0xB5CC, 0x8153 }, - { 0xB5CD, 0x8174 }, - { 0xB5CE, 0x8212 }, - { 0xB5CF, 0x821C }, - { 0xB5D0, 0x83E9 }, - { 0xB5D1, 0x8403 }, - { 0xB5D2, 0x83F8 }, - { 0xB5D3, 0x840D }, - { 0xB5D4, 0x83E0 }, - { 0xB5D5, 0x83C5 }, - { 0xB5D6, 0x840B }, - { 0xB5D7, 0x83C1 }, - { 0xB5D8, 0x83EF }, - { 0xB5D9, 0x83F1 }, - { 0xB5DA, 0x83F4 }, - { 0xB5DB, 0x8457 }, - { 0xB5DC, 0x840A }, - { 0xB5DD, 0x83F0 }, - { 0xB5DE, 0x840C }, - { 0xB5DF, 0x83CC }, - { 0xB5E0, 0x83FD }, - { 0xB5E1, 0x83F2 }, - { 0xB5E2, 0x83CA }, - { 0xB5E3, 0x8438 }, - { 0xB5E4, 0x840E }, - { 0xB5E5, 0x8404 }, - { 0xB5E6, 0x83DC }, - { 0xB5E7, 0x8407 }, - { 0xB5E8, 0x83D4 }, - { 0xB5E9, 0x83DF }, - { 0xB5EA, 0x865B }, - { 0xB5EB, 0x86DF }, - { 0xB5EC, 0x86D9 }, - { 0xB5ED, 0x86ED }, - { 0xB5EE, 0x86D4 }, - { 0xB5EF, 0x86DB }, - { 0xB5F0, 0x86E4 }, - { 0xB5F1, 0x86D0 }, - { 0xB5F2, 0x86DE }, - { 0xB5F3, 0x8857 }, - { 0xB5F4, 0x88C1 }, - { 0xB5F5, 0x88C2 }, - { 0xB5F6, 0x88B1 }, - { 0xB5F7, 0x8983 }, - { 0xB5F8, 0x8996 }, - { 0xB5F9, 0x8A3B }, - { 0xB5FA, 0x8A60 }, - { 0xB5FB, 0x8A55 }, - { 0xB5FC, 0x8A5E }, - { 0xB5FD, 0x8A3C }, - { 0xB5FE, 0x8A41 }, - { 0xB640, 0x8A54 }, - { 0xB641, 0x8A5B }, - { 0xB642, 0x8A50 }, - { 0xB643, 0x8A46 }, - { 0xB644, 0x8A34 }, - { 0xB645, 0x8A3A }, - { 0xB646, 0x8A36 }, - { 0xB647, 0x8A56 }, - { 0xB648, 0x8C61 }, - { 0xB649, 0x8C82 }, - { 0xB64A, 0x8CAF }, - { 0xB64B, 0x8CBC }, - { 0xB64C, 0x8CB3 }, - { 0xB64D, 0x8CBD }, - { 0xB64E, 0x8CC1 }, - { 0xB64F, 0x8CBB }, - { 0xB650, 0x8CC0 }, - { 0xB651, 0x8CB4 }, - { 0xB652, 0x8CB7 }, - { 0xB653, 0x8CB6 }, - { 0xB654, 0x8CBF }, - { 0xB655, 0x8CB8 }, - { 0xB656, 0x8D8A }, - { 0xB657, 0x8D85 }, - { 0xB658, 0x8D81 }, - { 0xB659, 0x8DCE }, - { 0xB65A, 0x8DDD }, - { 0xB65B, 0x8DCB }, - { 0xB65C, 0x8DDA }, - { 0xB65D, 0x8DD1 }, - { 0xB65E, 0x8DCC }, - { 0xB65F, 0x8DDB }, - { 0xB660, 0x8DC6 }, - { 0xB661, 0x8EFB }, - { 0xB662, 0x8EF8 }, - { 0xB663, 0x8EFC }, - { 0xB664, 0x8F9C }, - { 0xB665, 0x902E }, - { 0xB666, 0x9035 }, - { 0xB667, 0x9031 }, - { 0xB668, 0x9038 }, - { 0xB669, 0x9032 }, - { 0xB66A, 0x9036 }, - { 0xB66B, 0x9102 }, - { 0xB66C, 0x90F5 }, - { 0xB66D, 0x9109 }, - { 0xB66E, 0x90FE }, - { 0xB66F, 0x9163 }, - { 0xB670, 0x9165 }, - { 0xB671, 0x91CF }, - { 0xB672, 0x9214 }, - { 0xB673, 0x9215 }, - { 0xB674, 0x9223 }, - { 0xB675, 0x9209 }, - { 0xB676, 0x921E }, - { 0xB677, 0x920D }, - { 0xB678, 0x9210 }, - { 0xB679, 0x9207 }, - { 0xB67A, 0x9211 }, - { 0xB67B, 0x9594 }, - { 0xB67C, 0x958F }, - { 0xB67D, 0x958B }, - { 0xB67E, 0x9591 }, - { 0xB6A1, 0x9593 }, - { 0xB6A2, 0x9592 }, - { 0xB6A3, 0x958E }, - { 0xB6A4, 0x968A }, - { 0xB6A5, 0x968E }, - { 0xB6A6, 0x968B }, - { 0xB6A7, 0x967D }, - { 0xB6A8, 0x9685 }, - { 0xB6A9, 0x9686 }, - { 0xB6AA, 0x968D }, - { 0xB6AB, 0x9672 }, - { 0xB6AC, 0x9684 }, - { 0xB6AD, 0x96C1 }, - { 0xB6AE, 0x96C5 }, - { 0xB6AF, 0x96C4 }, - { 0xB6B0, 0x96C6 }, - { 0xB6B1, 0x96C7 }, - { 0xB6B2, 0x96EF }, - { 0xB6B3, 0x96F2 }, - { 0xB6B4, 0x97CC }, - { 0xB6B5, 0x9805 }, - { 0xB6B6, 0x9806 }, - { 0xB6B7, 0x9808 }, - { 0xB6B8, 0x98E7 }, - { 0xB6B9, 0x98EA }, - { 0xB6BA, 0x98EF }, - { 0xB6BB, 0x98E9 }, - { 0xB6BC, 0x98F2 }, - { 0xB6BD, 0x98ED }, - { 0xB6BE, 0x99AE }, - { 0xB6BF, 0x99AD }, - { 0xB6C0, 0x9EC3 }, - { 0xB6C1, 0x9ECD }, - { 0xB6C2, 0x9ED1 }, - { 0xB6C3, 0x4E82 }, - { 0xB6C4, 0x50AD }, - { 0xB6C5, 0x50B5 }, - { 0xB6C6, 0x50B2 }, - { 0xB6C7, 0x50B3 }, - { 0xB6C8, 0x50C5 }, - { 0xB6C9, 0x50BE }, - { 0xB6CA, 0x50AC }, - { 0xB6CB, 0x50B7 }, - { 0xB6CC, 0x50BB }, - { 0xB6CD, 0x50AF }, - { 0xB6CE, 0x50C7 }, - { 0xB6CF, 0x527F }, - { 0xB6D0, 0x5277 }, - { 0xB6D1, 0x527D }, - { 0xB6D2, 0x52DF }, - { 0xB6D3, 0x52E6 }, - { 0xB6D4, 0x52E4 }, - { 0xB6D5, 0x52E2 }, - { 0xB6D6, 0x52E3 }, - { 0xB6D7, 0x532F }, - { 0xB6D8, 0x55DF }, - { 0xB6D9, 0x55E8 }, - { 0xB6DA, 0x55D3 }, - { 0xB6DB, 0x55E6 }, - { 0xB6DC, 0x55CE }, - { 0xB6DD, 0x55DC }, - { 0xB6DE, 0x55C7 }, - { 0xB6DF, 0x55D1 }, - { 0xB6E0, 0x55E3 }, - { 0xB6E1, 0x55E4 }, - { 0xB6E2, 0x55EF }, - { 0xB6E3, 0x55DA }, - { 0xB6E4, 0x55E1 }, - { 0xB6E5, 0x55C5 }, - { 0xB6E6, 0x55C6 }, - { 0xB6E7, 0x55E5 }, - { 0xB6E8, 0x55C9 }, - { 0xB6E9, 0x5712 }, - { 0xB6EA, 0x5713 }, - { 0xB6EB, 0x585E }, - { 0xB6EC, 0x5851 }, - { 0xB6ED, 0x5858 }, - { 0xB6EE, 0x5857 }, - { 0xB6EF, 0x585A }, - { 0xB6F0, 0x5854 }, - { 0xB6F1, 0x586B }, - { 0xB6F2, 0x584C }, - { 0xB6F3, 0x586D }, - { 0xB6F4, 0x584A }, - { 0xB6F5, 0x5862 }, - { 0xB6F6, 0x5852 }, - { 0xB6F7, 0x584B }, - { 0xB6F8, 0x5967 }, - { 0xB6F9, 0x5AC1 }, - { 0xB6FA, 0x5AC9 }, - { 0xB6FB, 0x5ACC }, - { 0xB6FC, 0x5ABE }, - { 0xB6FD, 0x5ABD }, - { 0xB6FE, 0x5ABC }, - { 0xB740, 0x5AB3 }, - { 0xB741, 0x5AC2 }, - { 0xB742, 0x5AB2 }, - { 0xB743, 0x5D69 }, - { 0xB744, 0x5D6F }, - { 0xB745, 0x5E4C }, - { 0xB746, 0x5E79 }, - { 0xB747, 0x5EC9 }, - { 0xB748, 0x5EC8 }, - { 0xB749, 0x5F12 }, - { 0xB74A, 0x5F59 }, - { 0xB74B, 0x5FAC }, - { 0xB74C, 0x5FAE }, - { 0xB74D, 0x611A }, - { 0xB74E, 0x610F }, - { 0xB74F, 0x6148 }, - { 0xB750, 0x611F }, - { 0xB751, 0x60F3 }, - { 0xB752, 0x611B }, - { 0xB753, 0x60F9 }, - { 0xB754, 0x6101 }, - { 0xB755, 0x6108 }, - { 0xB756, 0x614E }, - { 0xB757, 0x614C }, - { 0xB758, 0x6144 }, - { 0xB759, 0x614D }, - { 0xB75A, 0x613E }, - { 0xB75B, 0x6134 }, - { 0xB75C, 0x6127 }, - { 0xB75D, 0x610D }, - { 0xB75E, 0x6106 }, - { 0xB75F, 0x6137 }, - { 0xB760, 0x6221 }, - { 0xB761, 0x6222 }, - { 0xB762, 0x6413 }, - { 0xB763, 0x643E }, - { 0xB764, 0x641E }, - { 0xB765, 0x642A }, - { 0xB766, 0x642D }, - { 0xB767, 0x643D }, - { 0xB768, 0x642C }, - { 0xB769, 0x640F }, - { 0xB76A, 0x641C }, - { 0xB76B, 0x6414 }, - { 0xB76C, 0x640D }, - { 0xB76D, 0x6436 }, - { 0xB76E, 0x6416 }, - { 0xB76F, 0x6417 }, - { 0xB770, 0x6406 }, - { 0xB771, 0x656C }, - { 0xB772, 0x659F }, - { 0xB773, 0x65B0 }, - { 0xB774, 0x6697 }, - { 0xB775, 0x6689 }, - { 0xB776, 0x6687 }, - { 0xB777, 0x6688 }, - { 0xB778, 0x6696 }, - { 0xB779, 0x6684 }, - { 0xB77A, 0x6698 }, - { 0xB77B, 0x668D }, - { 0xB77C, 0x6703 }, - { 0xB77D, 0x6994 }, - { 0xB77E, 0x696D }, - { 0xB7A1, 0x695A }, - { 0xB7A2, 0x6977 }, - { 0xB7A3, 0x6960 }, - { 0xB7A4, 0x6954 }, - { 0xB7A5, 0x6975 }, - { 0xB7A6, 0x6930 }, - { 0xB7A7, 0x6982 }, - { 0xB7A8, 0x694A }, - { 0xB7A9, 0x6968 }, - { 0xB7AA, 0x696B }, - { 0xB7AB, 0x695E }, - { 0xB7AC, 0x6953 }, - { 0xB7AD, 0x6979 }, - { 0xB7AE, 0x6986 }, - { 0xB7AF, 0x695D }, - { 0xB7B0, 0x6963 }, - { 0xB7B1, 0x695B }, - { 0xB7B2, 0x6B47 }, - { 0xB7B3, 0x6B72 }, - { 0xB7B4, 0x6BC0 }, - { 0xB7B5, 0x6BBF }, - { 0xB7B6, 0x6BD3 }, - { 0xB7B7, 0x6BFD }, - { 0xB7B8, 0x6EA2 }, - { 0xB7B9, 0x6EAF }, - { 0xB7BA, 0x6ED3 }, - { 0xB7BB, 0x6EB6 }, - { 0xB7BC, 0x6EC2 }, - { 0xB7BD, 0x6E90 }, - { 0xB7BE, 0x6E9D }, - { 0xB7BF, 0x6EC7 }, - { 0xB7C0, 0x6EC5 }, - { 0xB7C1, 0x6EA5 }, - { 0xB7C2, 0x6E98 }, - { 0xB7C3, 0x6EBC }, - { 0xB7C4, 0x6EBA }, - { 0xB7C5, 0x6EAB }, - { 0xB7C6, 0x6ED1 }, - { 0xB7C7, 0x6E96 }, - { 0xB7C8, 0x6E9C }, - { 0xB7C9, 0x6EC4 }, - { 0xB7CA, 0x6ED4 }, - { 0xB7CB, 0x6EAA }, - { 0xB7CC, 0x6EA7 }, - { 0xB7CD, 0x6EB4 }, - { 0xB7CE, 0x714E }, - { 0xB7CF, 0x7159 }, - { 0xB7D0, 0x7169 }, - { 0xB7D1, 0x7164 }, - { 0xB7D2, 0x7149 }, - { 0xB7D3, 0x7167 }, - { 0xB7D4, 0x715C }, - { 0xB7D5, 0x716C }, - { 0xB7D6, 0x7166 }, - { 0xB7D7, 0x714C }, - { 0xB7D8, 0x7165 }, - { 0xB7D9, 0x715E }, - { 0xB7DA, 0x7146 }, - { 0xB7DB, 0x7168 }, - { 0xB7DC, 0x7156 }, - { 0xB7DD, 0x723A }, - { 0xB7DE, 0x7252 }, - { 0xB7DF, 0x7337 }, - { 0xB7E0, 0x7345 }, - { 0xB7E1, 0x733F }, - { 0xB7E2, 0x733E }, - { 0xB7E3, 0x746F }, - { 0xB7E4, 0x745A }, - { 0xB7E5, 0x7455 }, - { 0xB7E6, 0x745F }, - { 0xB7E7, 0x745E }, - { 0xB7E8, 0x7441 }, - { 0xB7E9, 0x743F }, - { 0xB7EA, 0x7459 }, - { 0xB7EB, 0x745B }, - { 0xB7EC, 0x745C }, - { 0xB7ED, 0x7576 }, - { 0xB7EE, 0x7578 }, - { 0xB7EF, 0x7600 }, - { 0xB7F0, 0x75F0 }, - { 0xB7F1, 0x7601 }, - { 0xB7F2, 0x75F2 }, - { 0xB7F3, 0x75F1 }, - { 0xB7F4, 0x75FA }, - { 0xB7F5, 0x75FF }, - { 0xB7F6, 0x75F4 }, - { 0xB7F7, 0x75F3 }, - { 0xB7F8, 0x76DE }, - { 0xB7F9, 0x76DF }, - { 0xB7FA, 0x775B }, - { 0xB7FB, 0x776B }, - { 0xB7FC, 0x7766 }, - { 0xB7FD, 0x775E }, - { 0xB7FE, 0x7763 }, - { 0xB840, 0x7779 }, - { 0xB841, 0x776A }, - { 0xB842, 0x776C }, - { 0xB843, 0x775C }, - { 0xB844, 0x7765 }, - { 0xB845, 0x7768 }, - { 0xB846, 0x7762 }, - { 0xB847, 0x77EE }, - { 0xB848, 0x788E }, - { 0xB849, 0x78B0 }, - { 0xB84A, 0x7897 }, - { 0xB84B, 0x7898 }, - { 0xB84C, 0x788C }, - { 0xB84D, 0x7889 }, - { 0xB84E, 0x787C }, - { 0xB84F, 0x7891 }, - { 0xB850, 0x7893 }, - { 0xB851, 0x787F }, - { 0xB852, 0x797A }, - { 0xB853, 0x797F }, - { 0xB854, 0x7981 }, - { 0xB855, 0x842C }, - { 0xB856, 0x79BD }, - { 0xB857, 0x7A1C }, - { 0xB858, 0x7A1A }, - { 0xB859, 0x7A20 }, - { 0xB85A, 0x7A14 }, - { 0xB85B, 0x7A1F }, - { 0xB85C, 0x7A1E }, - { 0xB85D, 0x7A9F }, - { 0xB85E, 0x7AA0 }, - { 0xB85F, 0x7B77 }, - { 0xB860, 0x7BC0 }, - { 0xB861, 0x7B60 }, - { 0xB862, 0x7B6E }, - { 0xB863, 0x7B67 }, - { 0xB864, 0x7CB1 }, - { 0xB865, 0x7CB3 }, - { 0xB866, 0x7CB5 }, - { 0xB867, 0x7D93 }, - { 0xB868, 0x7D79 }, - { 0xB869, 0x7D91 }, - { 0xB86A, 0x7D81 }, - { 0xB86B, 0x7D8F }, - { 0xB86C, 0x7D5B }, - { 0xB86D, 0x7F6E }, - { 0xB86E, 0x7F69 }, - { 0xB86F, 0x7F6A }, - { 0xB870, 0x7F72 }, - { 0xB871, 0x7FA9 }, - { 0xB872, 0x7FA8 }, - { 0xB873, 0x7FA4 }, - { 0xB874, 0x8056 }, - { 0xB875, 0x8058 }, - { 0xB876, 0x8086 }, - { 0xB877, 0x8084 }, - { 0xB878, 0x8171 }, - { 0xB879, 0x8170 }, - { 0xB87A, 0x8178 }, - { 0xB87B, 0x8165 }, - { 0xB87C, 0x816E }, - { 0xB87D, 0x8173 }, - { 0xB87E, 0x816B }, - { 0xB8A1, 0x8179 }, - { 0xB8A2, 0x817A }, - { 0xB8A3, 0x8166 }, - { 0xB8A4, 0x8205 }, - { 0xB8A5, 0x8247 }, - { 0xB8A6, 0x8482 }, - { 0xB8A7, 0x8477 }, - { 0xB8A8, 0x843D }, - { 0xB8A9, 0x8431 }, - { 0xB8AA, 0x8475 }, - { 0xB8AB, 0x8466 }, - { 0xB8AC, 0x846B }, - { 0xB8AD, 0x8449 }, - { 0xB8AE, 0x846C }, - { 0xB8AF, 0x845B }, - { 0xB8B0, 0x843C }, - { 0xB8B1, 0x8435 }, - { 0xB8B2, 0x8461 }, - { 0xB8B3, 0x8463 }, - { 0xB8B4, 0x8469 }, - { 0xB8B5, 0x846D }, - { 0xB8B6, 0x8446 }, - { 0xB8B7, 0x865E }, - { 0xB8B8, 0x865C }, - { 0xB8B9, 0x865F }, - { 0xB8BA, 0x86F9 }, - { 0xB8BB, 0x8713 }, - { 0xB8BC, 0x8708 }, - { 0xB8BD, 0x8707 }, - { 0xB8BE, 0x8700 }, - { 0xB8BF, 0x86FE }, - { 0xB8C0, 0x86FB }, - { 0xB8C1, 0x8702 }, - { 0xB8C2, 0x8703 }, - { 0xB8C3, 0x8706 }, - { 0xB8C4, 0x870A }, - { 0xB8C5, 0x8859 }, - { 0xB8C6, 0x88DF }, - { 0xB8C7, 0x88D4 }, - { 0xB8C8, 0x88D9 }, - { 0xB8C9, 0x88DC }, - { 0xB8CA, 0x88D8 }, - { 0xB8CB, 0x88DD }, - { 0xB8CC, 0x88E1 }, - { 0xB8CD, 0x88CA }, - { 0xB8CE, 0x88D5 }, - { 0xB8CF, 0x88D2 }, - { 0xB8D0, 0x899C }, - { 0xB8D1, 0x89E3 }, - { 0xB8D2, 0x8A6B }, - { 0xB8D3, 0x8A72 }, - { 0xB8D4, 0x8A73 }, - { 0xB8D5, 0x8A66 }, - { 0xB8D6, 0x8A69 }, - { 0xB8D7, 0x8A70 }, - { 0xB8D8, 0x8A87 }, - { 0xB8D9, 0x8A7C }, - { 0xB8DA, 0x8A63 }, - { 0xB8DB, 0x8AA0 }, - { 0xB8DC, 0x8A71 }, - { 0xB8DD, 0x8A85 }, - { 0xB8DE, 0x8A6D }, - { 0xB8DF, 0x8A62 }, - { 0xB8E0, 0x8A6E }, - { 0xB8E1, 0x8A6C }, - { 0xB8E2, 0x8A79 }, - { 0xB8E3, 0x8A7B }, - { 0xB8E4, 0x8A3E }, - { 0xB8E5, 0x8A68 }, - { 0xB8E6, 0x8C62 }, - { 0xB8E7, 0x8C8A }, - { 0xB8E8, 0x8C89 }, - { 0xB8E9, 0x8CCA }, - { 0xB8EA, 0x8CC7 }, - { 0xB8EB, 0x8CC8 }, - { 0xB8EC, 0x8CC4 }, - { 0xB8ED, 0x8CB2 }, - { 0xB8EE, 0x8CC3 }, - { 0xB8EF, 0x8CC2 }, - { 0xB8F0, 0x8CC5 }, - { 0xB8F1, 0x8DE1 }, - { 0xB8F2, 0x8DDF }, - { 0xB8F3, 0x8DE8 }, - { 0xB8F4, 0x8DEF }, - { 0xB8F5, 0x8DF3 }, - { 0xB8F6, 0x8DFA }, - { 0xB8F7, 0x8DEA }, - { 0xB8F8, 0x8DE4 }, - { 0xB8F9, 0x8DE6 }, - { 0xB8FA, 0x8EB2 }, - { 0xB8FB, 0x8F03 }, - { 0xB8FC, 0x8F09 }, - { 0xB8FD, 0x8EFE }, - { 0xB8FE, 0x8F0A }, - { 0xB940, 0x8F9F }, - { 0xB941, 0x8FB2 }, - { 0xB942, 0x904B }, - { 0xB943, 0x904A }, - { 0xB944, 0x9053 }, - { 0xB945, 0x9042 }, - { 0xB946, 0x9054 }, - { 0xB947, 0x903C }, - { 0xB948, 0x9055 }, - { 0xB949, 0x9050 }, - { 0xB94A, 0x9047 }, - { 0xB94B, 0x904F }, - { 0xB94C, 0x904E }, - { 0xB94D, 0x904D }, - { 0xB94E, 0x9051 }, - { 0xB94F, 0x903E }, - { 0xB950, 0x9041 }, - { 0xB951, 0x9112 }, - { 0xB952, 0x9117 }, - { 0xB953, 0x916C }, - { 0xB954, 0x916A }, - { 0xB955, 0x9169 }, - { 0xB956, 0x91C9 }, - { 0xB957, 0x9237 }, - { 0xB958, 0x9257 }, - { 0xB959, 0x9238 }, - { 0xB95A, 0x923D }, - { 0xB95B, 0x9240 }, - { 0xB95C, 0x923E }, - { 0xB95D, 0x925B }, - { 0xB95E, 0x924B }, - { 0xB95F, 0x9264 }, - { 0xB960, 0x9251 }, - { 0xB961, 0x9234 }, - { 0xB962, 0x9249 }, - { 0xB963, 0x924D }, - { 0xB964, 0x9245 }, - { 0xB965, 0x9239 }, - { 0xB966, 0x923F }, - { 0xB967, 0x925A }, - { 0xB968, 0x9598 }, - { 0xB969, 0x9698 }, - { 0xB96A, 0x9694 }, - { 0xB96B, 0x9695 }, - { 0xB96C, 0x96CD }, - { 0xB96D, 0x96CB }, - { 0xB96E, 0x96C9 }, - { 0xB96F, 0x96CA }, - { 0xB970, 0x96F7 }, - { 0xB971, 0x96FB }, - { 0xB972, 0x96F9 }, - { 0xB973, 0x96F6 }, - { 0xB974, 0x9756 }, - { 0xB975, 0x9774 }, - { 0xB976, 0x9776 }, - { 0xB977, 0x9810 }, - { 0xB978, 0x9811 }, - { 0xB979, 0x9813 }, - { 0xB97A, 0x980A }, - { 0xB97B, 0x9812 }, - { 0xB97C, 0x980C }, - { 0xB97D, 0x98FC }, - { 0xB97E, 0x98F4 }, - { 0xB9A1, 0x98FD }, - { 0xB9A2, 0x98FE }, - { 0xB9A3, 0x99B3 }, - { 0xB9A4, 0x99B1 }, - { 0xB9A5, 0x99B4 }, - { 0xB9A6, 0x9AE1 }, - { 0xB9A7, 0x9CE9 }, - { 0xB9A8, 0x9E82 }, - { 0xB9A9, 0x9F0E }, - { 0xB9AA, 0x9F13 }, - { 0xB9AB, 0x9F20 }, - { 0xB9AC, 0x50E7 }, - { 0xB9AD, 0x50EE }, - { 0xB9AE, 0x50E5 }, - { 0xB9AF, 0x50D6 }, - { 0xB9B0, 0x50ED }, - { 0xB9B1, 0x50DA }, - { 0xB9B2, 0x50D5 }, - { 0xB9B3, 0x50CF }, - { 0xB9B4, 0x50D1 }, - { 0xB9B5, 0x50F1 }, - { 0xB9B6, 0x50CE }, - { 0xB9B7, 0x50E9 }, - { 0xB9B8, 0x5162 }, - { 0xB9B9, 0x51F3 }, - { 0xB9BA, 0x5283 }, - { 0xB9BB, 0x5282 }, - { 0xB9BC, 0x5331 }, - { 0xB9BD, 0x53AD }, - { 0xB9BE, 0x55FE }, - { 0xB9BF, 0x5600 }, - { 0xB9C0, 0x561B }, - { 0xB9C1, 0x5617 }, - { 0xB9C2, 0x55FD }, - { 0xB9C3, 0x5614 }, - { 0xB9C4, 0x5606 }, - { 0xB9C5, 0x5609 }, - { 0xB9C6, 0x560D }, - { 0xB9C7, 0x560E }, - { 0xB9C8, 0x55F7 }, - { 0xB9C9, 0x5616 }, - { 0xB9CA, 0x561F }, - { 0xB9CB, 0x5608 }, - { 0xB9CC, 0x5610 }, - { 0xB9CD, 0x55F6 }, - { 0xB9CE, 0x5718 }, - { 0xB9CF, 0x5716 }, - { 0xB9D0, 0x5875 }, - { 0xB9D1, 0x587E }, - { 0xB9D2, 0x5883 }, - { 0xB9D3, 0x5893 }, - { 0xB9D4, 0x588A }, - { 0xB9D5, 0x5879 }, - { 0xB9D6, 0x5885 }, - { 0xB9D7, 0x587D }, - { 0xB9D8, 0x58FD }, - { 0xB9D9, 0x5925 }, - { 0xB9DA, 0x5922 }, - { 0xB9DB, 0x5924 }, - { 0xB9DC, 0x596A }, - { 0xB9DD, 0x5969 }, - { 0xB9DE, 0x5AE1 }, - { 0xB9DF, 0x5AE6 }, - { 0xB9E0, 0x5AE9 }, - { 0xB9E1, 0x5AD7 }, - { 0xB9E2, 0x5AD6 }, - { 0xB9E3, 0x5AD8 }, - { 0xB9E4, 0x5AE3 }, - { 0xB9E5, 0x5B75 }, - { 0xB9E6, 0x5BDE }, - { 0xB9E7, 0x5BE7 }, - { 0xB9E8, 0x5BE1 }, - { 0xB9E9, 0x5BE5 }, - { 0xB9EA, 0x5BE6 }, - { 0xB9EB, 0x5BE8 }, - { 0xB9EC, 0x5BE2 }, - { 0xB9ED, 0x5BE4 }, - { 0xB9EE, 0x5BDF }, - { 0xB9EF, 0x5C0D }, - { 0xB9F0, 0x5C62 }, - { 0xB9F1, 0x5D84 }, - { 0xB9F2, 0x5D87 }, - { 0xB9F3, 0x5E5B }, - { 0xB9F4, 0x5E63 }, - { 0xB9F5, 0x5E55 }, - { 0xB9F6, 0x5E57 }, - { 0xB9F7, 0x5E54 }, - { 0xB9F8, 0x5ED3 }, - { 0xB9F9, 0x5ED6 }, - { 0xB9FA, 0x5F0A }, - { 0xB9FB, 0x5F46 }, - { 0xB9FC, 0x5F70 }, - { 0xB9FD, 0x5FB9 }, - { 0xB9FE, 0x6147 }, - { 0xBA40, 0x613F }, - { 0xBA41, 0x614B }, - { 0xBA42, 0x6177 }, - { 0xBA43, 0x6162 }, - { 0xBA44, 0x6163 }, - { 0xBA45, 0x615F }, - { 0xBA46, 0x615A }, - { 0xBA47, 0x6158 }, - { 0xBA48, 0x6175 }, - { 0xBA49, 0x622A }, - { 0xBA4A, 0x6487 }, - { 0xBA4B, 0x6458 }, - { 0xBA4C, 0x6454 }, - { 0xBA4D, 0x64A4 }, - { 0xBA4E, 0x6478 }, - { 0xBA4F, 0x645F }, - { 0xBA50, 0x647A }, - { 0xBA51, 0x6451 }, - { 0xBA52, 0x6467 }, - { 0xBA53, 0x6434 }, - { 0xBA54, 0x646D }, - { 0xBA55, 0x647B }, - { 0xBA56, 0x6572 }, - { 0xBA57, 0x65A1 }, - { 0xBA58, 0x65D7 }, - { 0xBA59, 0x65D6 }, - { 0xBA5A, 0x66A2 }, - { 0xBA5B, 0x66A8 }, - { 0xBA5C, 0x669D }, - { 0xBA5D, 0x699C }, - { 0xBA5E, 0x69A8 }, - { 0xBA5F, 0x6995 }, - { 0xBA60, 0x69C1 }, - { 0xBA61, 0x69AE }, - { 0xBA62, 0x69D3 }, - { 0xBA63, 0x69CB }, - { 0xBA64, 0x699B }, - { 0xBA65, 0x69B7 }, - { 0xBA66, 0x69BB }, - { 0xBA67, 0x69AB }, - { 0xBA68, 0x69B4 }, - { 0xBA69, 0x69D0 }, - { 0xBA6A, 0x69CD }, - { 0xBA6B, 0x69AD }, - { 0xBA6C, 0x69CC }, - { 0xBA6D, 0x69A6 }, - { 0xBA6E, 0x69C3 }, - { 0xBA6F, 0x69A3 }, - { 0xBA70, 0x6B49 }, - { 0xBA71, 0x6B4C }, - { 0xBA72, 0x6C33 }, - { 0xBA73, 0x6F33 }, - { 0xBA74, 0x6F14 }, - { 0xBA75, 0x6EFE }, - { 0xBA76, 0x6F13 }, - { 0xBA77, 0x6EF4 }, - { 0xBA78, 0x6F29 }, - { 0xBA79, 0x6F3E }, - { 0xBA7A, 0x6F20 }, - { 0xBA7B, 0x6F2C }, - { 0xBA7C, 0x6F0F }, - { 0xBA7D, 0x6F02 }, - { 0xBA7E, 0x6F22 }, - { 0xBAA1, 0x6EFF }, - { 0xBAA2, 0x6EEF }, - { 0xBAA3, 0x6F06 }, - { 0xBAA4, 0x6F31 }, - { 0xBAA5, 0x6F38 }, - { 0xBAA6, 0x6F32 }, - { 0xBAA7, 0x6F23 }, - { 0xBAA8, 0x6F15 }, - { 0xBAA9, 0x6F2B }, - { 0xBAAA, 0x6F2F }, - { 0xBAAB, 0x6F88 }, - { 0xBAAC, 0x6F2A }, - { 0xBAAD, 0x6EEC }, - { 0xBAAE, 0x6F01 }, - { 0xBAAF, 0x6EF2 }, - { 0xBAB0, 0x6ECC }, - { 0xBAB1, 0x6EF7 }, - { 0xBAB2, 0x7194 }, - { 0xBAB3, 0x7199 }, - { 0xBAB4, 0x717D }, - { 0xBAB5, 0x718A }, - { 0xBAB6, 0x7184 }, - { 0xBAB7, 0x7192 }, - { 0xBAB8, 0x723E }, - { 0xBAB9, 0x7292 }, - { 0xBABA, 0x7296 }, - { 0xBABB, 0x7344 }, - { 0xBABC, 0x7350 }, - { 0xBABD, 0x7464 }, - { 0xBABE, 0x7463 }, - { 0xBABF, 0x746A }, - { 0xBAC0, 0x7470 }, - { 0xBAC1, 0x746D }, - { 0xBAC2, 0x7504 }, - { 0xBAC3, 0x7591 }, - { 0xBAC4, 0x7627 }, - { 0xBAC5, 0x760D }, - { 0xBAC6, 0x760B }, - { 0xBAC7, 0x7609 }, - { 0xBAC8, 0x7613 }, - { 0xBAC9, 0x76E1 }, - { 0xBACA, 0x76E3 }, - { 0xBACB, 0x7784 }, - { 0xBACC, 0x777D }, - { 0xBACD, 0x777F }, - { 0xBACE, 0x7761 }, - { 0xBACF, 0x78C1 }, - { 0xBAD0, 0x789F }, - { 0xBAD1, 0x78A7 }, - { 0xBAD2, 0x78B3 }, - { 0xBAD3, 0x78A9 }, - { 0xBAD4, 0x78A3 }, - { 0xBAD5, 0x798E }, - { 0xBAD6, 0x798F }, - { 0xBAD7, 0x798D }, - { 0xBAD8, 0x7A2E }, - { 0xBAD9, 0x7A31 }, - { 0xBADA, 0x7AAA }, - { 0xBADB, 0x7AA9 }, - { 0xBADC, 0x7AED }, - { 0xBADD, 0x7AEF }, - { 0xBADE, 0x7BA1 }, - { 0xBADF, 0x7B95 }, - { 0xBAE0, 0x7B8B }, - { 0xBAE1, 0x7B75 }, - { 0xBAE2, 0x7B97 }, - { 0xBAE3, 0x7B9D }, - { 0xBAE4, 0x7B94 }, - { 0xBAE5, 0x7B8F }, - { 0xBAE6, 0x7BB8 }, - { 0xBAE7, 0x7B87 }, - { 0xBAE8, 0x7B84 }, - { 0xBAE9, 0x7CB9 }, - { 0xBAEA, 0x7CBD }, - { 0xBAEB, 0x7CBE }, - { 0xBAEC, 0x7DBB }, - { 0xBAED, 0x7DB0 }, - { 0xBAEE, 0x7D9C }, - { 0xBAEF, 0x7DBD }, - { 0xBAF0, 0x7DBE }, - { 0xBAF1, 0x7DA0 }, - { 0xBAF2, 0x7DCA }, - { 0xBAF3, 0x7DB4 }, - { 0xBAF4, 0x7DB2 }, - { 0xBAF5, 0x7DB1 }, - { 0xBAF6, 0x7DBA }, - { 0xBAF7, 0x7DA2 }, - { 0xBAF8, 0x7DBF }, - { 0xBAF9, 0x7DB5 }, - { 0xBAFA, 0x7DB8 }, - { 0xBAFB, 0x7DAD }, - { 0xBAFC, 0x7DD2 }, - { 0xBAFD, 0x7DC7 }, - { 0xBAFE, 0x7DAC }, - { 0xBB40, 0x7F70 }, - { 0xBB41, 0x7FE0 }, - { 0xBB42, 0x7FE1 }, - { 0xBB43, 0x7FDF }, - { 0xBB44, 0x805E }, - { 0xBB45, 0x805A }, - { 0xBB46, 0x8087 }, - { 0xBB47, 0x8150 }, - { 0xBB48, 0x8180 }, - { 0xBB49, 0x818F }, - { 0xBB4A, 0x8188 }, - { 0xBB4B, 0x818A }, - { 0xBB4C, 0x817F }, - { 0xBB4D, 0x8182 }, - { 0xBB4E, 0x81E7 }, - { 0xBB4F, 0x81FA }, - { 0xBB50, 0x8207 }, - { 0xBB51, 0x8214 }, - { 0xBB52, 0x821E }, - { 0xBB53, 0x824B }, - { 0xBB54, 0x84C9 }, - { 0xBB55, 0x84BF }, - { 0xBB56, 0x84C6 }, - { 0xBB57, 0x84C4 }, - { 0xBB58, 0x8499 }, - { 0xBB59, 0x849E }, - { 0xBB5A, 0x84B2 }, - { 0xBB5B, 0x849C }, - { 0xBB5C, 0x84CB }, - { 0xBB5D, 0x84B8 }, - { 0xBB5E, 0x84C0 }, - { 0xBB5F, 0x84D3 }, - { 0xBB60, 0x8490 }, - { 0xBB61, 0x84BC }, - { 0xBB62, 0x84D1 }, - { 0xBB63, 0x84CA }, - { 0xBB64, 0x873F }, - { 0xBB65, 0x871C }, - { 0xBB66, 0x873B }, - { 0xBB67, 0x8722 }, - { 0xBB68, 0x8725 }, - { 0xBB69, 0x8734 }, - { 0xBB6A, 0x8718 }, - { 0xBB6B, 0x8755 }, - { 0xBB6C, 0x8737 }, - { 0xBB6D, 0x8729 }, - { 0xBB6E, 0x88F3 }, - { 0xBB6F, 0x8902 }, - { 0xBB70, 0x88F4 }, - { 0xBB71, 0x88F9 }, - { 0xBB72, 0x88F8 }, - { 0xBB73, 0x88FD }, - { 0xBB74, 0x88E8 }, - { 0xBB75, 0x891A }, - { 0xBB76, 0x88EF }, - { 0xBB77, 0x8AA6 }, - { 0xBB78, 0x8A8C }, - { 0xBB79, 0x8A9E }, - { 0xBB7A, 0x8AA3 }, - { 0xBB7B, 0x8A8D }, - { 0xBB7C, 0x8AA1 }, - { 0xBB7D, 0x8A93 }, - { 0xBB7E, 0x8AA4 }, - { 0xBBA1, 0x8AAA }, - { 0xBBA2, 0x8AA5 }, - { 0xBBA3, 0x8AA8 }, - { 0xBBA4, 0x8A98 }, - { 0xBBA5, 0x8A91 }, - { 0xBBA6, 0x8A9A }, - { 0xBBA7, 0x8AA7 }, - { 0xBBA8, 0x8C6A }, - { 0xBBA9, 0x8C8D }, - { 0xBBAA, 0x8C8C }, - { 0xBBAB, 0x8CD3 }, - { 0xBBAC, 0x8CD1 }, - { 0xBBAD, 0x8CD2 }, - { 0xBBAE, 0x8D6B }, - { 0xBBAF, 0x8D99 }, - { 0xBBB0, 0x8D95 }, - { 0xBBB1, 0x8DFC }, - { 0xBBB2, 0x8F14 }, - { 0xBBB3, 0x8F12 }, - { 0xBBB4, 0x8F15 }, - { 0xBBB5, 0x8F13 }, - { 0xBBB6, 0x8FA3 }, - { 0xBBB7, 0x9060 }, - { 0xBBB8, 0x9058 }, - { 0xBBB9, 0x905C }, - { 0xBBBA, 0x9063 }, - { 0xBBBB, 0x9059 }, - { 0xBBBC, 0x905E }, - { 0xBBBD, 0x9062 }, - { 0xBBBE, 0x905D }, - { 0xBBBF, 0x905B }, - { 0xBBC0, 0x9119 }, - { 0xBBC1, 0x9118 }, - { 0xBBC2, 0x911E }, - { 0xBBC3, 0x9175 }, - { 0xBBC4, 0x9178 }, - { 0xBBC5, 0x9177 }, - { 0xBBC6, 0x9174 }, - { 0xBBC7, 0x9278 }, - { 0xBBC8, 0x9280 }, - { 0xBBC9, 0x9285 }, - { 0xBBCA, 0x9298 }, - { 0xBBCB, 0x9296 }, - { 0xBBCC, 0x927B }, - { 0xBBCD, 0x9293 }, - { 0xBBCE, 0x929C }, - { 0xBBCF, 0x92A8 }, - { 0xBBD0, 0x927C }, - { 0xBBD1, 0x9291 }, - { 0xBBD2, 0x95A1 }, - { 0xBBD3, 0x95A8 }, - { 0xBBD4, 0x95A9 }, - { 0xBBD5, 0x95A3 }, - { 0xBBD6, 0x95A5 }, - { 0xBBD7, 0x95A4 }, - { 0xBBD8, 0x9699 }, - { 0xBBD9, 0x969C }, - { 0xBBDA, 0x969B }, - { 0xBBDB, 0x96CC }, - { 0xBBDC, 0x96D2 }, - { 0xBBDD, 0x9700 }, - { 0xBBDE, 0x977C }, - { 0xBBDF, 0x9785 }, - { 0xBBE0, 0x97F6 }, - { 0xBBE1, 0x9817 }, - { 0xBBE2, 0x9818 }, - { 0xBBE3, 0x98AF }, - { 0xBBE4, 0x98B1 }, - { 0xBBE5, 0x9903 }, - { 0xBBE6, 0x9905 }, - { 0xBBE7, 0x990C }, - { 0xBBE8, 0x9909 }, - { 0xBBE9, 0x99C1 }, - { 0xBBEA, 0x9AAF }, - { 0xBBEB, 0x9AB0 }, - { 0xBBEC, 0x9AE6 }, - { 0xBBED, 0x9B41 }, - { 0xBBEE, 0x9B42 }, - { 0xBBEF, 0x9CF4 }, - { 0xBBF0, 0x9CF6 }, - { 0xBBF1, 0x9CF3 }, - { 0xBBF2, 0x9EBC }, - { 0xBBF3, 0x9F3B }, - { 0xBBF4, 0x9F4A }, - { 0xBBF5, 0x5104 }, - { 0xBBF6, 0x5100 }, - { 0xBBF7, 0x50FB }, - { 0xBBF8, 0x50F5 }, - { 0xBBF9, 0x50F9 }, - { 0xBBFA, 0x5102 }, - { 0xBBFB, 0x5108 }, - { 0xBBFC, 0x5109 }, - { 0xBBFD, 0x5105 }, - { 0xBBFE, 0x51DC }, - { 0xBC40, 0x5287 }, - { 0xBC41, 0x5288 }, - { 0xBC42, 0x5289 }, - { 0xBC43, 0x528D }, - { 0xBC44, 0x528A }, - { 0xBC45, 0x52F0 }, - { 0xBC46, 0x53B2 }, - { 0xBC47, 0x562E }, - { 0xBC48, 0x563B }, - { 0xBC49, 0x5639 }, - { 0xBC4A, 0x5632 }, - { 0xBC4B, 0x563F }, - { 0xBC4C, 0x5634 }, - { 0xBC4D, 0x5629 }, - { 0xBC4E, 0x5653 }, - { 0xBC4F, 0x564E }, - { 0xBC50, 0x5657 }, - { 0xBC51, 0x5674 }, - { 0xBC52, 0x5636 }, - { 0xBC53, 0x562F }, - { 0xBC54, 0x5630 }, - { 0xBC55, 0x5880 }, - { 0xBC56, 0x589F }, - { 0xBC57, 0x589E }, - { 0xBC58, 0x58B3 }, - { 0xBC59, 0x589C }, - { 0xBC5A, 0x58AE }, - { 0xBC5B, 0x58A9 }, - { 0xBC5C, 0x58A6 }, - { 0xBC5D, 0x596D }, - { 0xBC5E, 0x5B09 }, - { 0xBC5F, 0x5AFB }, - { 0xBC60, 0x5B0B }, - { 0xBC61, 0x5AF5 }, - { 0xBC62, 0x5B0C }, - { 0xBC63, 0x5B08 }, - { 0xBC64, 0x5BEE }, - { 0xBC65, 0x5BEC }, - { 0xBC66, 0x5BE9 }, - { 0xBC67, 0x5BEB }, - { 0xBC68, 0x5C64 }, - { 0xBC69, 0x5C65 }, - { 0xBC6A, 0x5D9D }, - { 0xBC6B, 0x5D94 }, - { 0xBC6C, 0x5E62 }, - { 0xBC6D, 0x5E5F }, - { 0xBC6E, 0x5E61 }, - { 0xBC6F, 0x5EE2 }, - { 0xBC70, 0x5EDA }, - { 0xBC71, 0x5EDF }, - { 0xBC72, 0x5EDD }, - { 0xBC73, 0x5EE3 }, - { 0xBC74, 0x5EE0 }, - { 0xBC75, 0x5F48 }, - { 0xBC76, 0x5F71 }, - { 0xBC77, 0x5FB7 }, - { 0xBC78, 0x5FB5 }, - { 0xBC79, 0x6176 }, - { 0xBC7A, 0x6167 }, - { 0xBC7B, 0x616E }, - { 0xBC7C, 0x615D }, - { 0xBC7D, 0x6155 }, - { 0xBC7E, 0x6182 }, - { 0xBCA1, 0x617C }, - { 0xBCA2, 0x6170 }, - { 0xBCA3, 0x616B }, - { 0xBCA4, 0x617E }, - { 0xBCA5, 0x61A7 }, - { 0xBCA6, 0x6190 }, - { 0xBCA7, 0x61AB }, - { 0xBCA8, 0x618E }, - { 0xBCA9, 0x61AC }, - { 0xBCAA, 0x619A }, - { 0xBCAB, 0x61A4 }, - { 0xBCAC, 0x6194 }, - { 0xBCAD, 0x61AE }, - { 0xBCAE, 0x622E }, - { 0xBCAF, 0x6469 }, - { 0xBCB0, 0x646F }, - { 0xBCB1, 0x6479 }, - { 0xBCB2, 0x649E }, - { 0xBCB3, 0x64B2 }, - { 0xBCB4, 0x6488 }, - { 0xBCB5, 0x6490 }, - { 0xBCB6, 0x64B0 }, - { 0xBCB7, 0x64A5 }, - { 0xBCB8, 0x6493 }, - { 0xBCB9, 0x6495 }, - { 0xBCBA, 0x64A9 }, - { 0xBCBB, 0x6492 }, - { 0xBCBC, 0x64AE }, - { 0xBCBD, 0x64AD }, - { 0xBCBE, 0x64AB }, - { 0xBCBF, 0x649A }, - { 0xBCC0, 0x64AC }, - { 0xBCC1, 0x6499 }, - { 0xBCC2, 0x64A2 }, - { 0xBCC3, 0x64B3 }, - { 0xBCC4, 0x6575 }, - { 0xBCC5, 0x6577 }, - { 0xBCC6, 0x6578 }, - { 0xBCC7, 0x66AE }, - { 0xBCC8, 0x66AB }, - { 0xBCC9, 0x66B4 }, - { 0xBCCA, 0x66B1 }, - { 0xBCCB, 0x6A23 }, - { 0xBCCC, 0x6A1F }, - { 0xBCCD, 0x69E8 }, - { 0xBCCE, 0x6A01 }, - { 0xBCCF, 0x6A1E }, - { 0xBCD0, 0x6A19 }, - { 0xBCD1, 0x69FD }, - { 0xBCD2, 0x6A21 }, - { 0xBCD3, 0x6A13 }, - { 0xBCD4, 0x6A0A }, - { 0xBCD5, 0x69F3 }, - { 0xBCD6, 0x6A02 }, - { 0xBCD7, 0x6A05 }, - { 0xBCD8, 0x69ED }, - { 0xBCD9, 0x6A11 }, - { 0xBCDA, 0x6B50 }, - { 0xBCDB, 0x6B4E }, - { 0xBCDC, 0x6BA4 }, - { 0xBCDD, 0x6BC5 }, - { 0xBCDE, 0x6BC6 }, - { 0xBCDF, 0x6F3F }, - { 0xBCE0, 0x6F7C }, - { 0xBCE1, 0x6F84 }, - { 0xBCE2, 0x6F51 }, - { 0xBCE3, 0x6F66 }, - { 0xBCE4, 0x6F54 }, - { 0xBCE5, 0x6F86 }, - { 0xBCE6, 0x6F6D }, - { 0xBCE7, 0x6F5B }, - { 0xBCE8, 0x6F78 }, - { 0xBCE9, 0x6F6E }, - { 0xBCEA, 0x6F8E }, - { 0xBCEB, 0x6F7A }, - { 0xBCEC, 0x6F70 }, - { 0xBCED, 0x6F64 }, - { 0xBCEE, 0x6F97 }, - { 0xBCEF, 0x6F58 }, - { 0xBCF0, 0x6ED5 }, - { 0xBCF1, 0x6F6F }, - { 0xBCF2, 0x6F60 }, - { 0xBCF3, 0x6F5F }, - { 0xBCF4, 0x719F }, - { 0xBCF5, 0x71AC }, - { 0xBCF6, 0x71B1 }, - { 0xBCF7, 0x71A8 }, - { 0xBCF8, 0x7256 }, - { 0xBCF9, 0x729B }, - { 0xBCFA, 0x734E }, - { 0xBCFB, 0x7357 }, - { 0xBCFC, 0x7469 }, - { 0xBCFD, 0x748B }, - { 0xBCFE, 0x7483 }, - { 0xBD40, 0x747E }, - { 0xBD41, 0x7480 }, - { 0xBD42, 0x757F }, - { 0xBD43, 0x7620 }, - { 0xBD44, 0x7629 }, - { 0xBD45, 0x761F }, - { 0xBD46, 0x7624 }, - { 0xBD47, 0x7626 }, - { 0xBD48, 0x7621 }, - { 0xBD49, 0x7622 }, - { 0xBD4A, 0x769A }, - { 0xBD4B, 0x76BA }, - { 0xBD4C, 0x76E4 }, - { 0xBD4D, 0x778E }, - { 0xBD4E, 0x7787 }, - { 0xBD4F, 0x778C }, - { 0xBD50, 0x7791 }, - { 0xBD51, 0x778B }, - { 0xBD52, 0x78CB }, - { 0xBD53, 0x78C5 }, - { 0xBD54, 0x78BA }, - { 0xBD55, 0x78CA }, - { 0xBD56, 0x78BE }, - { 0xBD57, 0x78D5 }, - { 0xBD58, 0x78BC }, - { 0xBD59, 0x78D0 }, - { 0xBD5A, 0x7A3F }, - { 0xBD5B, 0x7A3C }, - { 0xBD5C, 0x7A40 }, - { 0xBD5D, 0x7A3D }, - { 0xBD5E, 0x7A37 }, - { 0xBD5F, 0x7A3B }, - { 0xBD60, 0x7AAF }, - { 0xBD61, 0x7AAE }, - { 0xBD62, 0x7BAD }, - { 0xBD63, 0x7BB1 }, - { 0xBD64, 0x7BC4 }, - { 0xBD65, 0x7BB4 }, - { 0xBD66, 0x7BC6 }, - { 0xBD67, 0x7BC7 }, - { 0xBD68, 0x7BC1 }, - { 0xBD69, 0x7BA0 }, - { 0xBD6A, 0x7BCC }, - { 0xBD6B, 0x7CCA }, - { 0xBD6C, 0x7DE0 }, - { 0xBD6D, 0x7DF4 }, - { 0xBD6E, 0x7DEF }, - { 0xBD6F, 0x7DFB }, - { 0xBD70, 0x7DD8 }, - { 0xBD71, 0x7DEC }, - { 0xBD72, 0x7DDD }, - { 0xBD73, 0x7DE8 }, - { 0xBD74, 0x7DE3 }, - { 0xBD75, 0x7DDA }, - { 0xBD76, 0x7DDE }, - { 0xBD77, 0x7DE9 }, - { 0xBD78, 0x7D9E }, - { 0xBD79, 0x7DD9 }, - { 0xBD7A, 0x7DF2 }, - { 0xBD7B, 0x7DF9 }, - { 0xBD7C, 0x7F75 }, - { 0xBD7D, 0x7F77 }, - { 0xBD7E, 0x7FAF }, - { 0xBDA1, 0x7FE9 }, - { 0xBDA2, 0x8026 }, - { 0xBDA3, 0x819B }, - { 0xBDA4, 0x819C }, - { 0xBDA5, 0x819D }, - { 0xBDA6, 0x81A0 }, - { 0xBDA7, 0x819A }, - { 0xBDA8, 0x8198 }, - { 0xBDA9, 0x8517 }, - { 0xBDAA, 0x853D }, - { 0xBDAB, 0x851A }, - { 0xBDAC, 0x84EE }, - { 0xBDAD, 0x852C }, - { 0xBDAE, 0x852D }, - { 0xBDAF, 0x8513 }, - { 0xBDB0, 0x8511 }, - { 0xBDB1, 0x8523 }, - { 0xBDB2, 0x8521 }, - { 0xBDB3, 0x8514 }, - { 0xBDB4, 0x84EC }, - { 0xBDB5, 0x8525 }, - { 0xBDB6, 0x84FF }, - { 0xBDB7, 0x8506 }, - { 0xBDB8, 0x8782 }, - { 0xBDB9, 0x8774 }, - { 0xBDBA, 0x8776 }, - { 0xBDBB, 0x8760 }, - { 0xBDBC, 0x8766 }, - { 0xBDBD, 0x8778 }, - { 0xBDBE, 0x8768 }, - { 0xBDBF, 0x8759 }, - { 0xBDC0, 0x8757 }, - { 0xBDC1, 0x874C }, - { 0xBDC2, 0x8753 }, - { 0xBDC3, 0x885B }, - { 0xBDC4, 0x885D }, - { 0xBDC5, 0x8910 }, - { 0xBDC6, 0x8907 }, - { 0xBDC7, 0x8912 }, - { 0xBDC8, 0x8913 }, - { 0xBDC9, 0x8915 }, - { 0xBDCA, 0x890A }, - { 0xBDCB, 0x8ABC }, - { 0xBDCC, 0x8AD2 }, - { 0xBDCD, 0x8AC7 }, - { 0xBDCE, 0x8AC4 }, - { 0xBDCF, 0x8A95 }, - { 0xBDD0, 0x8ACB }, - { 0xBDD1, 0x8AF8 }, - { 0xBDD2, 0x8AB2 }, - { 0xBDD3, 0x8AC9 }, - { 0xBDD4, 0x8AC2 }, - { 0xBDD5, 0x8ABF }, - { 0xBDD6, 0x8AB0 }, - { 0xBDD7, 0x8AD6 }, - { 0xBDD8, 0x8ACD }, - { 0xBDD9, 0x8AB6 }, - { 0xBDDA, 0x8AB9 }, - { 0xBDDB, 0x8ADB }, - { 0xBDDC, 0x8C4C }, - { 0xBDDD, 0x8C4E }, - { 0xBDDE, 0x8C6C }, - { 0xBDDF, 0x8CE0 }, - { 0xBDE0, 0x8CDE }, - { 0xBDE1, 0x8CE6 }, - { 0xBDE2, 0x8CE4 }, - { 0xBDE3, 0x8CEC }, - { 0xBDE4, 0x8CED }, - { 0xBDE5, 0x8CE2 }, - { 0xBDE6, 0x8CE3 }, - { 0xBDE7, 0x8CDC }, - { 0xBDE8, 0x8CEA }, - { 0xBDE9, 0x8CE1 }, - { 0xBDEA, 0x8D6D }, - { 0xBDEB, 0x8D9F }, - { 0xBDEC, 0x8DA3 }, - { 0xBDED, 0x8E2B }, - { 0xBDEE, 0x8E10 }, - { 0xBDEF, 0x8E1D }, - { 0xBDF0, 0x8E22 }, - { 0xBDF1, 0x8E0F }, - { 0xBDF2, 0x8E29 }, - { 0xBDF3, 0x8E1F }, - { 0xBDF4, 0x8E21 }, - { 0xBDF5, 0x8E1E }, - { 0xBDF6, 0x8EBA }, - { 0xBDF7, 0x8F1D }, - { 0xBDF8, 0x8F1B }, - { 0xBDF9, 0x8F1F }, - { 0xBDFA, 0x8F29 }, - { 0xBDFB, 0x8F26 }, - { 0xBDFC, 0x8F2A }, - { 0xBDFD, 0x8F1C }, - { 0xBDFE, 0x8F1E }, - { 0xBE40, 0x8F25 }, - { 0xBE41, 0x9069 }, - { 0xBE42, 0x906E }, - { 0xBE43, 0x9068 }, - { 0xBE44, 0x906D }, - { 0xBE45, 0x9077 }, - { 0xBE46, 0x9130 }, - { 0xBE47, 0x912D }, - { 0xBE48, 0x9127 }, - { 0xBE49, 0x9131 }, - { 0xBE4A, 0x9187 }, - { 0xBE4B, 0x9189 }, - { 0xBE4C, 0x918B }, - { 0xBE4D, 0x9183 }, - { 0xBE4E, 0x92C5 }, - { 0xBE4F, 0x92BB }, - { 0xBE50, 0x92B7 }, - { 0xBE51, 0x92EA }, - { 0xBE52, 0x92AC }, - { 0xBE53, 0x92E4 }, - { 0xBE54, 0x92C1 }, - { 0xBE55, 0x92B3 }, - { 0xBE56, 0x92BC }, - { 0xBE57, 0x92D2 }, - { 0xBE58, 0x92C7 }, - { 0xBE59, 0x92F0 }, - { 0xBE5A, 0x92B2 }, - { 0xBE5B, 0x95AD }, - { 0xBE5C, 0x95B1 }, - { 0xBE5D, 0x9704 }, - { 0xBE5E, 0x9706 }, - { 0xBE5F, 0x9707 }, - { 0xBE60, 0x9709 }, - { 0xBE61, 0x9760 }, - { 0xBE62, 0x978D }, - { 0xBE63, 0x978B }, - { 0xBE64, 0x978F }, - { 0xBE65, 0x9821 }, - { 0xBE66, 0x982B }, - { 0xBE67, 0x981C }, - { 0xBE68, 0x98B3 }, - { 0xBE69, 0x990A }, - { 0xBE6A, 0x9913 }, - { 0xBE6B, 0x9912 }, - { 0xBE6C, 0x9918 }, - { 0xBE6D, 0x99DD }, - { 0xBE6E, 0x99D0 }, - { 0xBE6F, 0x99DF }, - { 0xBE70, 0x99DB }, - { 0xBE71, 0x99D1 }, - { 0xBE72, 0x99D5 }, - { 0xBE73, 0x99D2 }, - { 0xBE74, 0x99D9 }, - { 0xBE75, 0x9AB7 }, - { 0xBE76, 0x9AEE }, - { 0xBE77, 0x9AEF }, - { 0xBE78, 0x9B27 }, - { 0xBE79, 0x9B45 }, - { 0xBE7A, 0x9B44 }, - { 0xBE7B, 0x9B77 }, - { 0xBE7C, 0x9B6F }, - { 0xBE7D, 0x9D06 }, - { 0xBE7E, 0x9D09 }, - { 0xBEA1, 0x9D03 }, - { 0xBEA2, 0x9EA9 }, - { 0xBEA3, 0x9EBE }, - { 0xBEA4, 0x9ECE }, - { 0xBEA5, 0x58A8 }, - { 0xBEA6, 0x9F52 }, - { 0xBEA7, 0x5112 }, - { 0xBEA8, 0x5118 }, - { 0xBEA9, 0x5114 }, - { 0xBEAA, 0x5110 }, - { 0xBEAB, 0x5115 }, - { 0xBEAC, 0x5180 }, - { 0xBEAD, 0x51AA }, - { 0xBEAE, 0x51DD }, - { 0xBEAF, 0x5291 }, - { 0xBEB0, 0x5293 }, - { 0xBEB1, 0x52F3 }, - { 0xBEB2, 0x5659 }, - { 0xBEB3, 0x566B }, - { 0xBEB4, 0x5679 }, - { 0xBEB5, 0x5669 }, - { 0xBEB6, 0x5664 }, - { 0xBEB7, 0x5678 }, - { 0xBEB8, 0x566A }, - { 0xBEB9, 0x5668 }, - { 0xBEBA, 0x5665 }, - { 0xBEBB, 0x5671 }, - { 0xBEBC, 0x566F }, - { 0xBEBD, 0x566C }, - { 0xBEBE, 0x5662 }, - { 0xBEBF, 0x5676 }, - { 0xBEC0, 0x58C1 }, - { 0xBEC1, 0x58BE }, - { 0xBEC2, 0x58C7 }, - { 0xBEC3, 0x58C5 }, - { 0xBEC4, 0x596E }, - { 0xBEC5, 0x5B1D }, - { 0xBEC6, 0x5B34 }, - { 0xBEC7, 0x5B78 }, - { 0xBEC8, 0x5BF0 }, - { 0xBEC9, 0x5C0E }, - { 0xBECA, 0x5F4A }, - { 0xBECB, 0x61B2 }, - { 0xBECC, 0x6191 }, - { 0xBECD, 0x61A9 }, - { 0xBECE, 0x618A }, - { 0xBECF, 0x61CD }, - { 0xBED0, 0x61B6 }, - { 0xBED1, 0x61BE }, - { 0xBED2, 0x61CA }, - { 0xBED3, 0x61C8 }, - { 0xBED4, 0x6230 }, - { 0xBED5, 0x64C5 }, - { 0xBED6, 0x64C1 }, - { 0xBED7, 0x64CB }, - { 0xBED8, 0x64BB }, - { 0xBED9, 0x64BC }, - { 0xBEDA, 0x64DA }, - { 0xBEDB, 0x64C4 }, - { 0xBEDC, 0x64C7 }, - { 0xBEDD, 0x64C2 }, - { 0xBEDE, 0x64CD }, - { 0xBEDF, 0x64BF }, - { 0xBEE0, 0x64D2 }, - { 0xBEE1, 0x64D4 }, - { 0xBEE2, 0x64BE }, - { 0xBEE3, 0x6574 }, - { 0xBEE4, 0x66C6 }, - { 0xBEE5, 0x66C9 }, - { 0xBEE6, 0x66B9 }, - { 0xBEE7, 0x66C4 }, - { 0xBEE8, 0x66C7 }, - { 0xBEE9, 0x66B8 }, - { 0xBEEA, 0x6A3D }, - { 0xBEEB, 0x6A38 }, - { 0xBEEC, 0x6A3A }, - { 0xBEED, 0x6A59 }, - { 0xBEEE, 0x6A6B }, - { 0xBEEF, 0x6A58 }, - { 0xBEF0, 0x6A39 }, - { 0xBEF1, 0x6A44 }, - { 0xBEF2, 0x6A62 }, - { 0xBEF3, 0x6A61 }, - { 0xBEF4, 0x6A4B }, - { 0xBEF5, 0x6A47 }, - { 0xBEF6, 0x6A35 }, - { 0xBEF7, 0x6A5F }, - { 0xBEF8, 0x6A48 }, - { 0xBEF9, 0x6B59 }, - { 0xBEFA, 0x6B77 }, - { 0xBEFB, 0x6C05 }, - { 0xBEFC, 0x6FC2 }, - { 0xBEFD, 0x6FB1 }, - { 0xBEFE, 0x6FA1 }, - { 0xBF40, 0x6FC3 }, - { 0xBF41, 0x6FA4 }, - { 0xBF42, 0x6FC1 }, - { 0xBF43, 0x6FA7 }, - { 0xBF44, 0x6FB3 }, - { 0xBF45, 0x6FC0 }, - { 0xBF46, 0x6FB9 }, - { 0xBF47, 0x6FB6 }, - { 0xBF48, 0x6FA6 }, - { 0xBF49, 0x6FA0 }, - { 0xBF4A, 0x6FB4 }, - { 0xBF4B, 0x71BE }, - { 0xBF4C, 0x71C9 }, - { 0xBF4D, 0x71D0 }, - { 0xBF4E, 0x71D2 }, - { 0xBF4F, 0x71C8 }, - { 0xBF50, 0x71D5 }, - { 0xBF51, 0x71B9 }, - { 0xBF52, 0x71CE }, - { 0xBF53, 0x71D9 }, - { 0xBF54, 0x71DC }, - { 0xBF55, 0x71C3 }, - { 0xBF56, 0x71C4 }, - { 0xBF57, 0x7368 }, - { 0xBF58, 0x749C }, - { 0xBF59, 0x74A3 }, - { 0xBF5A, 0x7498 }, - { 0xBF5B, 0x749F }, - { 0xBF5C, 0x749E }, - { 0xBF5D, 0x74E2 }, - { 0xBF5E, 0x750C }, - { 0xBF5F, 0x750D }, - { 0xBF60, 0x7634 }, - { 0xBF61, 0x7638 }, - { 0xBF62, 0x763A }, - { 0xBF63, 0x76E7 }, - { 0xBF64, 0x76E5 }, - { 0xBF65, 0x77A0 }, - { 0xBF66, 0x779E }, - { 0xBF67, 0x779F }, - { 0xBF68, 0x77A5 }, - { 0xBF69, 0x78E8 }, - { 0xBF6A, 0x78DA }, - { 0xBF6B, 0x78EC }, - { 0xBF6C, 0x78E7 }, - { 0xBF6D, 0x79A6 }, - { 0xBF6E, 0x7A4D }, - { 0xBF6F, 0x7A4E }, - { 0xBF70, 0x7A46 }, - { 0xBF71, 0x7A4C }, - { 0xBF72, 0x7A4B }, - { 0xBF73, 0x7ABA }, - { 0xBF74, 0x7BD9 }, - { 0xBF75, 0x7C11 }, - { 0xBF76, 0x7BC9 }, - { 0xBF77, 0x7BE4 }, - { 0xBF78, 0x7BDB }, - { 0xBF79, 0x7BE1 }, - { 0xBF7A, 0x7BE9 }, - { 0xBF7B, 0x7BE6 }, - { 0xBF7C, 0x7CD5 }, - { 0xBF7D, 0x7CD6 }, - { 0xBF7E, 0x7E0A }, - { 0xBFA1, 0x7E11 }, - { 0xBFA2, 0x7E08 }, - { 0xBFA3, 0x7E1B }, - { 0xBFA4, 0x7E23 }, - { 0xBFA5, 0x7E1E }, - { 0xBFA6, 0x7E1D }, - { 0xBFA7, 0x7E09 }, - { 0xBFA8, 0x7E10 }, - { 0xBFA9, 0x7F79 }, - { 0xBFAA, 0x7FB2 }, - { 0xBFAB, 0x7FF0 }, - { 0xBFAC, 0x7FF1 }, - { 0xBFAD, 0x7FEE }, - { 0xBFAE, 0x8028 }, - { 0xBFAF, 0x81B3 }, - { 0xBFB0, 0x81A9 }, - { 0xBFB1, 0x81A8 }, - { 0xBFB2, 0x81FB }, - { 0xBFB3, 0x8208 }, - { 0xBFB4, 0x8258 }, - { 0xBFB5, 0x8259 }, - { 0xBFB6, 0x854A }, - { 0xBFB7, 0x8559 }, - { 0xBFB8, 0x8548 }, - { 0xBFB9, 0x8568 }, - { 0xBFBA, 0x8569 }, - { 0xBFBB, 0x8543 }, - { 0xBFBC, 0x8549 }, - { 0xBFBD, 0x856D }, - { 0xBFBE, 0x856A }, - { 0xBFBF, 0x855E }, - { 0xBFC0, 0x8783 }, - { 0xBFC1, 0x879F }, - { 0xBFC2, 0x879E }, - { 0xBFC3, 0x87A2 }, - { 0xBFC4, 0x878D }, - { 0xBFC5, 0x8861 }, - { 0xBFC6, 0x892A }, - { 0xBFC7, 0x8932 }, - { 0xBFC8, 0x8925 }, - { 0xBFC9, 0x892B }, - { 0xBFCA, 0x8921 }, - { 0xBFCB, 0x89AA }, - { 0xBFCC, 0x89A6 }, - { 0xBFCD, 0x8AE6 }, - { 0xBFCE, 0x8AFA }, - { 0xBFCF, 0x8AEB }, - { 0xBFD0, 0x8AF1 }, - { 0xBFD1, 0x8B00 }, - { 0xBFD2, 0x8ADC }, - { 0xBFD3, 0x8AE7 }, - { 0xBFD4, 0x8AEE }, - { 0xBFD5, 0x8AFE }, - { 0xBFD6, 0x8B01 }, - { 0xBFD7, 0x8B02 }, - { 0xBFD8, 0x8AF7 }, - { 0xBFD9, 0x8AED }, - { 0xBFDA, 0x8AF3 }, - { 0xBFDB, 0x8AF6 }, - { 0xBFDC, 0x8AFC }, - { 0xBFDD, 0x8C6B }, - { 0xBFDE, 0x8C6D }, - { 0xBFDF, 0x8C93 }, - { 0xBFE0, 0x8CF4 }, - { 0xBFE1, 0x8E44 }, - { 0xBFE2, 0x8E31 }, - { 0xBFE3, 0x8E34 }, - { 0xBFE4, 0x8E42 }, - { 0xBFE5, 0x8E39 }, - { 0xBFE6, 0x8E35 }, - { 0xBFE7, 0x8F3B }, - { 0xBFE8, 0x8F2F }, - { 0xBFE9, 0x8F38 }, - { 0xBFEA, 0x8F33 }, - { 0xBFEB, 0x8FA8 }, - { 0xBFEC, 0x8FA6 }, - { 0xBFED, 0x9075 }, - { 0xBFEE, 0x9074 }, - { 0xBFEF, 0x9078 }, - { 0xBFF0, 0x9072 }, - { 0xBFF1, 0x907C }, - { 0xBFF2, 0x907A }, - { 0xBFF3, 0x9134 }, - { 0xBFF4, 0x9192 }, - { 0xBFF5, 0x9320 }, - { 0xBFF6, 0x9336 }, - { 0xBFF7, 0x92F8 }, - { 0xBFF8, 0x9333 }, - { 0xBFF9, 0x932F }, - { 0xBFFA, 0x9322 }, - { 0xBFFB, 0x92FC }, - { 0xBFFC, 0x932B }, - { 0xBFFD, 0x9304 }, - { 0xBFFE, 0x931A }, - { 0xC040, 0x9310 }, - { 0xC041, 0x9326 }, - { 0xC042, 0x9321 }, - { 0xC043, 0x9315 }, - { 0xC044, 0x932E }, - { 0xC045, 0x9319 }, - { 0xC046, 0x95BB }, - { 0xC047, 0x96A7 }, - { 0xC048, 0x96A8 }, - { 0xC049, 0x96AA }, - { 0xC04A, 0x96D5 }, - { 0xC04B, 0x970E }, - { 0xC04C, 0x9711 }, - { 0xC04D, 0x9716 }, - { 0xC04E, 0x970D }, - { 0xC04F, 0x9713 }, - { 0xC050, 0x970F }, - { 0xC051, 0x975B }, - { 0xC052, 0x975C }, - { 0xC053, 0x9766 }, - { 0xC054, 0x9798 }, - { 0xC055, 0x9830 }, - { 0xC056, 0x9838 }, - { 0xC057, 0x983B }, - { 0xC058, 0x9837 }, - { 0xC059, 0x982D }, - { 0xC05A, 0x9839 }, - { 0xC05B, 0x9824 }, - { 0xC05C, 0x9910 }, - { 0xC05D, 0x9928 }, - { 0xC05E, 0x991E }, - { 0xC05F, 0x991B }, - { 0xC060, 0x9921 }, - { 0xC061, 0x991A }, - { 0xC062, 0x99ED }, - { 0xC063, 0x99E2 }, - { 0xC064, 0x99F1 }, - { 0xC065, 0x9AB8 }, - { 0xC066, 0x9ABC }, - { 0xC067, 0x9AFB }, - { 0xC068, 0x9AED }, - { 0xC069, 0x9B28 }, - { 0xC06A, 0x9B91 }, - { 0xC06B, 0x9D15 }, - { 0xC06C, 0x9D23 }, - { 0xC06D, 0x9D26 }, - { 0xC06E, 0x9D28 }, - { 0xC06F, 0x9D12 }, - { 0xC070, 0x9D1B }, - { 0xC071, 0x9ED8 }, - { 0xC072, 0x9ED4 }, - { 0xC073, 0x9F8D }, - { 0xC074, 0x9F9C }, - { 0xC075, 0x512A }, - { 0xC076, 0x511F }, - { 0xC077, 0x5121 }, - { 0xC078, 0x5132 }, - { 0xC079, 0x52F5 }, - { 0xC07A, 0x568E }, - { 0xC07B, 0x5680 }, - { 0xC07C, 0x5690 }, - { 0xC07D, 0x5685 }, - { 0xC07E, 0x5687 }, - { 0xC0A1, 0x568F }, - { 0xC0A2, 0x58D5 }, - { 0xC0A3, 0x58D3 }, - { 0xC0A4, 0x58D1 }, - { 0xC0A5, 0x58CE }, - { 0xC0A6, 0x5B30 }, - { 0xC0A7, 0x5B2A }, - { 0xC0A8, 0x5B24 }, - { 0xC0A9, 0x5B7A }, - { 0xC0AA, 0x5C37 }, - { 0xC0AB, 0x5C68 }, - { 0xC0AC, 0x5DBC }, - { 0xC0AD, 0x5DBA }, - { 0xC0AE, 0x5DBD }, - { 0xC0AF, 0x5DB8 }, - { 0xC0B0, 0x5E6B }, - { 0xC0B1, 0x5F4C }, - { 0xC0B2, 0x5FBD }, - { 0xC0B3, 0x61C9 }, - { 0xC0B4, 0x61C2 }, - { 0xC0B5, 0x61C7 }, - { 0xC0B6, 0x61E6 }, - { 0xC0B7, 0x61CB }, - { 0xC0B8, 0x6232 }, - { 0xC0B9, 0x6234 }, - { 0xC0BA, 0x64CE }, - { 0xC0BB, 0x64CA }, - { 0xC0BC, 0x64D8 }, - { 0xC0BD, 0x64E0 }, - { 0xC0BE, 0x64F0 }, - { 0xC0BF, 0x64E6 }, - { 0xC0C0, 0x64EC }, - { 0xC0C1, 0x64F1 }, - { 0xC0C2, 0x64E2 }, - { 0xC0C3, 0x64ED }, - { 0xC0C4, 0x6582 }, - { 0xC0C5, 0x6583 }, - { 0xC0C6, 0x66D9 }, - { 0xC0C7, 0x66D6 }, - { 0xC0C8, 0x6A80 }, - { 0xC0C9, 0x6A94 }, - { 0xC0CA, 0x6A84 }, - { 0xC0CB, 0x6AA2 }, - { 0xC0CC, 0x6A9C }, - { 0xC0CD, 0x6ADB }, - { 0xC0CE, 0x6AA3 }, - { 0xC0CF, 0x6A7E }, - { 0xC0D0, 0x6A97 }, - { 0xC0D1, 0x6A90 }, - { 0xC0D2, 0x6AA0 }, - { 0xC0D3, 0x6B5C }, - { 0xC0D4, 0x6BAE }, - { 0xC0D5, 0x6BDA }, - { 0xC0D6, 0x6C08 }, - { 0xC0D7, 0x6FD8 }, - { 0xC0D8, 0x6FF1 }, - { 0xC0D9, 0x6FDF }, - { 0xC0DA, 0x6FE0 }, - { 0xC0DB, 0x6FDB }, - { 0xC0DC, 0x6FE4 }, - { 0xC0DD, 0x6FEB }, - { 0xC0DE, 0x6FEF }, - { 0xC0DF, 0x6F80 }, - { 0xC0E0, 0x6FEC }, - { 0xC0E1, 0x6FE1 }, - { 0xC0E2, 0x6FE9 }, - { 0xC0E3, 0x6FD5 }, - { 0xC0E4, 0x6FEE }, - { 0xC0E5, 0x6FF0 }, - { 0xC0E6, 0x71E7 }, - { 0xC0E7, 0x71DF }, - { 0xC0E8, 0x71EE }, - { 0xC0E9, 0x71E6 }, - { 0xC0EA, 0x71E5 }, - { 0xC0EB, 0x71ED }, - { 0xC0EC, 0x71EC }, - { 0xC0ED, 0x71F4 }, - { 0xC0EE, 0x71E0 }, - { 0xC0EF, 0x7235 }, - { 0xC0F0, 0x7246 }, - { 0xC0F1, 0x7370 }, - { 0xC0F2, 0x7372 }, - { 0xC0F3, 0x74A9 }, - { 0xC0F4, 0x74B0 }, - { 0xC0F5, 0x74A6 }, - { 0xC0F6, 0x74A8 }, - { 0xC0F7, 0x7646 }, - { 0xC0F8, 0x7642 }, - { 0xC0F9, 0x764C }, - { 0xC0FA, 0x76EA }, - { 0xC0FB, 0x77B3 }, - { 0xC0FC, 0x77AA }, - { 0xC0FD, 0x77B0 }, - { 0xC0FE, 0x77AC }, - { 0xC140, 0x77A7 }, - { 0xC141, 0x77AD }, - { 0xC142, 0x77EF }, - { 0xC143, 0x78F7 }, - { 0xC144, 0x78FA }, - { 0xC145, 0x78F4 }, - { 0xC146, 0x78EF }, - { 0xC147, 0x7901 }, - { 0xC148, 0x79A7 }, - { 0xC149, 0x79AA }, - { 0xC14A, 0x7A57 }, - { 0xC14B, 0x7ABF }, - { 0xC14C, 0x7C07 }, - { 0xC14D, 0x7C0D }, - { 0xC14E, 0x7BFE }, - { 0xC14F, 0x7BF7 }, - { 0xC150, 0x7C0C }, - { 0xC151, 0x7BE0 }, - { 0xC152, 0x7CE0 }, - { 0xC153, 0x7CDC }, - { 0xC154, 0x7CDE }, - { 0xC155, 0x7CE2 }, - { 0xC156, 0x7CDF }, - { 0xC157, 0x7CD9 }, - { 0xC158, 0x7CDD }, - { 0xC159, 0x7E2E }, - { 0xC15A, 0x7E3E }, - { 0xC15B, 0x7E46 }, - { 0xC15C, 0x7E37 }, - { 0xC15D, 0x7E32 }, - { 0xC15E, 0x7E43 }, - { 0xC15F, 0x7E2B }, - { 0xC160, 0x7E3D }, - { 0xC161, 0x7E31 }, - { 0xC162, 0x7E45 }, - { 0xC163, 0x7E41 }, - { 0xC164, 0x7E34 }, - { 0xC165, 0x7E39 }, - { 0xC166, 0x7E48 }, - { 0xC167, 0x7E35 }, - { 0xC168, 0x7E3F }, - { 0xC169, 0x7E2F }, - { 0xC16A, 0x7F44 }, - { 0xC16B, 0x7FF3 }, - { 0xC16C, 0x7FFC }, - { 0xC16D, 0x8071 }, - { 0xC16E, 0x8072 }, - { 0xC16F, 0x8070 }, - { 0xC170, 0x806F }, - { 0xC171, 0x8073 }, - { 0xC172, 0x81C6 }, - { 0xC173, 0x81C3 }, - { 0xC174, 0x81BA }, - { 0xC175, 0x81C2 }, - { 0xC176, 0x81C0 }, - { 0xC177, 0x81BF }, - { 0xC178, 0x81BD }, - { 0xC179, 0x81C9 }, - { 0xC17A, 0x81BE }, - { 0xC17B, 0x81E8 }, - { 0xC17C, 0x8209 }, - { 0xC17D, 0x8271 }, - { 0xC17E, 0x85AA }, - { 0xC1A1, 0x8584 }, - { 0xC1A2, 0x857E }, - { 0xC1A3, 0x859C }, - { 0xC1A4, 0x8591 }, - { 0xC1A5, 0x8594 }, - { 0xC1A6, 0x85AF }, - { 0xC1A7, 0x859B }, - { 0xC1A8, 0x8587 }, - { 0xC1A9, 0x85A8 }, - { 0xC1AA, 0x858A }, - { 0xC1AB, 0x8667 }, - { 0xC1AC, 0x87C0 }, - { 0xC1AD, 0x87D1 }, - { 0xC1AE, 0x87B3 }, - { 0xC1AF, 0x87D2 }, - { 0xC1B0, 0x87C6 }, - { 0xC1B1, 0x87AB }, - { 0xC1B2, 0x87BB }, - { 0xC1B3, 0x87BA }, - { 0xC1B4, 0x87C8 }, - { 0xC1B5, 0x87CB }, - { 0xC1B6, 0x893B }, - { 0xC1B7, 0x8936 }, - { 0xC1B8, 0x8944 }, - { 0xC1B9, 0x8938 }, - { 0xC1BA, 0x893D }, - { 0xC1BB, 0x89AC }, - { 0xC1BC, 0x8B0E }, - { 0xC1BD, 0x8B17 }, - { 0xC1BE, 0x8B19 }, - { 0xC1BF, 0x8B1B }, - { 0xC1C0, 0x8B0A }, - { 0xC1C1, 0x8B20 }, - { 0xC1C2, 0x8B1D }, - { 0xC1C3, 0x8B04 }, - { 0xC1C4, 0x8B10 }, - { 0xC1C5, 0x8C41 }, - { 0xC1C6, 0x8C3F }, - { 0xC1C7, 0x8C73 }, - { 0xC1C8, 0x8CFA }, - { 0xC1C9, 0x8CFD }, - { 0xC1CA, 0x8CFC }, - { 0xC1CB, 0x8CF8 }, - { 0xC1CC, 0x8CFB }, - { 0xC1CD, 0x8DA8 }, - { 0xC1CE, 0x8E49 }, - { 0xC1CF, 0x8E4B }, - { 0xC1D0, 0x8E48 }, - { 0xC1D1, 0x8E4A }, - { 0xC1D2, 0x8F44 }, - { 0xC1D3, 0x8F3E }, - { 0xC1D4, 0x8F42 }, - { 0xC1D5, 0x8F45 }, - { 0xC1D6, 0x8F3F }, - { 0xC1D7, 0x907F }, - { 0xC1D8, 0x907D }, - { 0xC1D9, 0x9084 }, - { 0xC1DA, 0x9081 }, - { 0xC1DB, 0x9082 }, - { 0xC1DC, 0x9080 }, - { 0xC1DD, 0x9139 }, - { 0xC1DE, 0x91A3 }, - { 0xC1DF, 0x919E }, - { 0xC1E0, 0x919C }, - { 0xC1E1, 0x934D }, - { 0xC1E2, 0x9382 }, - { 0xC1E3, 0x9328 }, - { 0xC1E4, 0x9375 }, - { 0xC1E5, 0x934A }, - { 0xC1E6, 0x9365 }, - { 0xC1E7, 0x934B }, - { 0xC1E8, 0x9318 }, - { 0xC1E9, 0x937E }, - { 0xC1EA, 0x936C }, - { 0xC1EB, 0x935B }, - { 0xC1EC, 0x9370 }, - { 0xC1ED, 0x935A }, - { 0xC1EE, 0x9354 }, - { 0xC1EF, 0x95CA }, - { 0xC1F0, 0x95CB }, - { 0xC1F1, 0x95CC }, - { 0xC1F2, 0x95C8 }, - { 0xC1F3, 0x95C6 }, - { 0xC1F4, 0x96B1 }, - { 0xC1F5, 0x96B8 }, - { 0xC1F6, 0x96D6 }, - { 0xC1F7, 0x971C }, - { 0xC1F8, 0x971E }, - { 0xC1F9, 0x97A0 }, - { 0xC1FA, 0x97D3 }, - { 0xC1FB, 0x9846 }, - { 0xC1FC, 0x98B6 }, - { 0xC1FD, 0x9935 }, - { 0xC1FE, 0x9A01 }, - { 0xC240, 0x99FF }, - { 0xC241, 0x9BAE }, - { 0xC242, 0x9BAB }, - { 0xC243, 0x9BAA }, - { 0xC244, 0x9BAD }, - { 0xC245, 0x9D3B }, - { 0xC246, 0x9D3F }, - { 0xC247, 0x9E8B }, - { 0xC248, 0x9ECF }, - { 0xC249, 0x9EDE }, - { 0xC24A, 0x9EDC }, - { 0xC24B, 0x9EDD }, - { 0xC24C, 0x9EDB }, - { 0xC24D, 0x9F3E }, - { 0xC24E, 0x9F4B }, - { 0xC24F, 0x53E2 }, - { 0xC250, 0x5695 }, - { 0xC251, 0x56AE }, - { 0xC252, 0x58D9 }, - { 0xC253, 0x58D8 }, - { 0xC254, 0x5B38 }, - { 0xC255, 0x5F5D }, - { 0xC256, 0x61E3 }, - { 0xC257, 0x6233 }, - { 0xC258, 0x64F4 }, - { 0xC259, 0x64F2 }, - { 0xC25A, 0x64FE }, - { 0xC25B, 0x6506 }, - { 0xC25C, 0x64FA }, - { 0xC25D, 0x64FB }, - { 0xC25E, 0x64F7 }, - { 0xC25F, 0x65B7 }, - { 0xC260, 0x66DC }, - { 0xC261, 0x6726 }, - { 0xC262, 0x6AB3 }, - { 0xC263, 0x6AAC }, - { 0xC264, 0x6AC3 }, - { 0xC265, 0x6ABB }, - { 0xC266, 0x6AB8 }, - { 0xC267, 0x6AC2 }, - { 0xC268, 0x6AAE }, - { 0xC269, 0x6AAF }, - { 0xC26A, 0x6B5F }, - { 0xC26B, 0x6B78 }, - { 0xC26C, 0x6BAF }, - { 0xC26D, 0x7009 }, - { 0xC26E, 0x700B }, - { 0xC26F, 0x6FFE }, - { 0xC270, 0x7006 }, - { 0xC271, 0x6FFA }, - { 0xC272, 0x7011 }, - { 0xC273, 0x700F }, - { 0xC274, 0x71FB }, - { 0xC275, 0x71FC }, - { 0xC276, 0x71FE }, - { 0xC277, 0x71F8 }, - { 0xC278, 0x7377 }, - { 0xC279, 0x7375 }, - { 0xC27A, 0x74A7 }, - { 0xC27B, 0x74BF }, - { 0xC27C, 0x7515 }, - { 0xC27D, 0x7656 }, - { 0xC27E, 0x7658 }, - { 0xC2A1, 0x7652 }, - { 0xC2A2, 0x77BD }, - { 0xC2A3, 0x77BF }, - { 0xC2A4, 0x77BB }, - { 0xC2A5, 0x77BC }, - { 0xC2A6, 0x790E }, - { 0xC2A7, 0x79AE }, - { 0xC2A8, 0x7A61 }, - { 0xC2A9, 0x7A62 }, - { 0xC2AA, 0x7A60 }, - { 0xC2AB, 0x7AC4 }, - { 0xC2AC, 0x7AC5 }, - { 0xC2AD, 0x7C2B }, - { 0xC2AE, 0x7C27 }, - { 0xC2AF, 0x7C2A }, - { 0xC2B0, 0x7C1E }, - { 0xC2B1, 0x7C23 }, - { 0xC2B2, 0x7C21 }, - { 0xC2B3, 0x7CE7 }, - { 0xC2B4, 0x7E54 }, - { 0xC2B5, 0x7E55 }, - { 0xC2B6, 0x7E5E }, - { 0xC2B7, 0x7E5A }, - { 0xC2B8, 0x7E61 }, - { 0xC2B9, 0x7E52 }, - { 0xC2BA, 0x7E59 }, - { 0xC2BB, 0x7F48 }, - { 0xC2BC, 0x7FF9 }, - { 0xC2BD, 0x7FFB }, - { 0xC2BE, 0x8077 }, - { 0xC2BF, 0x8076 }, - { 0xC2C0, 0x81CD }, - { 0xC2C1, 0x81CF }, - { 0xC2C2, 0x820A }, - { 0xC2C3, 0x85CF }, - { 0xC2C4, 0x85A9 }, - { 0xC2C5, 0x85CD }, - { 0xC2C6, 0x85D0 }, - { 0xC2C7, 0x85C9 }, - { 0xC2C8, 0x85B0 }, - { 0xC2C9, 0x85BA }, - { 0xC2CA, 0x85B9 }, - { 0xC2CB, 0x85A6 }, - { 0xC2CC, 0x87EF }, - { 0xC2CD, 0x87EC }, - { 0xC2CE, 0x87F2 }, - { 0xC2CF, 0x87E0 }, - { 0xC2D0, 0x8986 }, - { 0xC2D1, 0x89B2 }, - { 0xC2D2, 0x89F4 }, - { 0xC2D3, 0x8B28 }, - { 0xC2D4, 0x8B39 }, - { 0xC2D5, 0x8B2C }, - { 0xC2D6, 0x8B2B }, - { 0xC2D7, 0x8C50 }, - { 0xC2D8, 0x8D05 }, - { 0xC2D9, 0x8E59 }, - { 0xC2DA, 0x8E63 }, - { 0xC2DB, 0x8E66 }, - { 0xC2DC, 0x8E64 }, - { 0xC2DD, 0x8E5F }, - { 0xC2DE, 0x8E55 }, - { 0xC2DF, 0x8EC0 }, - { 0xC2E0, 0x8F49 }, - { 0xC2E1, 0x8F4D }, - { 0xC2E2, 0x9087 }, - { 0xC2E3, 0x9083 }, - { 0xC2E4, 0x9088 }, - { 0xC2E5, 0x91AB }, - { 0xC2E6, 0x91AC }, - { 0xC2E7, 0x91D0 }, - { 0xC2E8, 0x9394 }, - { 0xC2E9, 0x938A }, - { 0xC2EA, 0x9396 }, - { 0xC2EB, 0x93A2 }, - { 0xC2EC, 0x93B3 }, - { 0xC2ED, 0x93AE }, - { 0xC2EE, 0x93AC }, - { 0xC2EF, 0x93B0 }, - { 0xC2F0, 0x9398 }, - { 0xC2F1, 0x939A }, - { 0xC2F2, 0x9397 }, - { 0xC2F3, 0x95D4 }, - { 0xC2F4, 0x95D6 }, - { 0xC2F5, 0x95D0 }, - { 0xC2F6, 0x95D5 }, - { 0xC2F7, 0x96E2 }, - { 0xC2F8, 0x96DC }, - { 0xC2F9, 0x96D9 }, - { 0xC2FA, 0x96DB }, - { 0xC2FB, 0x96DE }, - { 0xC2FC, 0x9724 }, - { 0xC2FD, 0x97A3 }, - { 0xC2FE, 0x97A6 }, - { 0xC340, 0x97AD }, - { 0xC341, 0x97F9 }, - { 0xC342, 0x984D }, - { 0xC343, 0x984F }, - { 0xC344, 0x984C }, - { 0xC345, 0x984E }, - { 0xC346, 0x9853 }, - { 0xC347, 0x98BA }, - { 0xC348, 0x993E }, - { 0xC349, 0x993F }, - { 0xC34A, 0x993D }, - { 0xC34B, 0x992E }, - { 0xC34C, 0x99A5 }, - { 0xC34D, 0x9A0E }, - { 0xC34E, 0x9AC1 }, - { 0xC34F, 0x9B03 }, - { 0xC350, 0x9B06 }, - { 0xC351, 0x9B4F }, - { 0xC352, 0x9B4E }, - { 0xC353, 0x9B4D }, - { 0xC354, 0x9BCA }, - { 0xC355, 0x9BC9 }, - { 0xC356, 0x9BFD }, - { 0xC357, 0x9BC8 }, - { 0xC358, 0x9BC0 }, - { 0xC359, 0x9D51 }, - { 0xC35A, 0x9D5D }, - { 0xC35B, 0x9D60 }, - { 0xC35C, 0x9EE0 }, - { 0xC35D, 0x9F15 }, - { 0xC35E, 0x9F2C }, - { 0xC35F, 0x5133 }, - { 0xC360, 0x56A5 }, - { 0xC361, 0x58DE }, - { 0xC362, 0x58DF }, - { 0xC363, 0x58E2 }, - { 0xC364, 0x5BF5 }, - { 0xC365, 0x9F90 }, - { 0xC366, 0x5EEC }, - { 0xC367, 0x61F2 }, - { 0xC368, 0x61F7 }, - { 0xC369, 0x61F6 }, - { 0xC36A, 0x61F5 }, - { 0xC36B, 0x6500 }, - { 0xC36C, 0x650F }, - { 0xC36D, 0x66E0 }, - { 0xC36E, 0x66DD }, - { 0xC36F, 0x6AE5 }, - { 0xC370, 0x6ADD }, - { 0xC371, 0x6ADA }, - { 0xC372, 0x6AD3 }, - { 0xC373, 0x701B }, - { 0xC374, 0x701F }, - { 0xC375, 0x7028 }, - { 0xC376, 0x701A }, - { 0xC377, 0x701D }, - { 0xC378, 0x7015 }, - { 0xC379, 0x7018 }, - { 0xC37A, 0x7206 }, - { 0xC37B, 0x720D }, - { 0xC37C, 0x7258 }, - { 0xC37D, 0x72A2 }, - { 0xC37E, 0x7378 }, - { 0xC3A1, 0x737A }, - { 0xC3A2, 0x74BD }, - { 0xC3A3, 0x74CA }, - { 0xC3A4, 0x74E3 }, - { 0xC3A5, 0x7587 }, - { 0xC3A6, 0x7586 }, - { 0xC3A7, 0x765F }, - { 0xC3A8, 0x7661 }, - { 0xC3A9, 0x77C7 }, - { 0xC3AA, 0x7919 }, - { 0xC3AB, 0x79B1 }, - { 0xC3AC, 0x7A6B }, - { 0xC3AD, 0x7A69 }, - { 0xC3AE, 0x7C3E }, - { 0xC3AF, 0x7C3F }, - { 0xC3B0, 0x7C38 }, - { 0xC3B1, 0x7C3D }, - { 0xC3B2, 0x7C37 }, - { 0xC3B3, 0x7C40 }, - { 0xC3B4, 0x7E6B }, - { 0xC3B5, 0x7E6D }, - { 0xC3B6, 0x7E79 }, - { 0xC3B7, 0x7E69 }, - { 0xC3B8, 0x7E6A }, - { 0xC3B9, 0x7F85 }, - { 0xC3BA, 0x7E73 }, - { 0xC3BB, 0x7FB6 }, - { 0xC3BC, 0x7FB9 }, - { 0xC3BD, 0x7FB8 }, - { 0xC3BE, 0x81D8 }, - { 0xC3BF, 0x85E9 }, - { 0xC3C0, 0x85DD }, - { 0xC3C1, 0x85EA }, - { 0xC3C2, 0x85D5 }, - { 0xC3C3, 0x85E4 }, - { 0xC3C4, 0x85E5 }, - { 0xC3C5, 0x85F7 }, - { 0xC3C6, 0x87FB }, - { 0xC3C7, 0x8805 }, - { 0xC3C8, 0x880D }, - { 0xC3C9, 0x87F9 }, - { 0xC3CA, 0x87FE }, - { 0xC3CB, 0x8960 }, - { 0xC3CC, 0x895F }, - { 0xC3CD, 0x8956 }, - { 0xC3CE, 0x895E }, - { 0xC3CF, 0x8B41 }, - { 0xC3D0, 0x8B5C }, - { 0xC3D1, 0x8B58 }, - { 0xC3D2, 0x8B49 }, - { 0xC3D3, 0x8B5A }, - { 0xC3D4, 0x8B4E }, - { 0xC3D5, 0x8B4F }, - { 0xC3D6, 0x8B46 }, - { 0xC3D7, 0x8B59 }, - { 0xC3D8, 0x8D08 }, - { 0xC3D9, 0x8D0A }, - { 0xC3DA, 0x8E7C }, - { 0xC3DB, 0x8E72 }, - { 0xC3DC, 0x8E87 }, - { 0xC3DD, 0x8E76 }, - { 0xC3DE, 0x8E6C }, - { 0xC3DF, 0x8E7A }, - { 0xC3E0, 0x8E74 }, - { 0xC3E1, 0x8F54 }, - { 0xC3E2, 0x8F4E }, - { 0xC3E3, 0x8FAD }, - { 0xC3E4, 0x908A }, - { 0xC3E5, 0x908B }, - { 0xC3E6, 0x91B1 }, - { 0xC3E7, 0x91AE }, - { 0xC3E8, 0x93E1 }, - { 0xC3E9, 0x93D1 }, - { 0xC3EA, 0x93DF }, - { 0xC3EB, 0x93C3 }, - { 0xC3EC, 0x93C8 }, - { 0xC3ED, 0x93DC }, - { 0xC3EE, 0x93DD }, - { 0xC3EF, 0x93D6 }, - { 0xC3F0, 0x93E2 }, - { 0xC3F1, 0x93CD }, - { 0xC3F2, 0x93D8 }, - { 0xC3F3, 0x93E4 }, - { 0xC3F4, 0x93D7 }, - { 0xC3F5, 0x93E8 }, - { 0xC3F6, 0x95DC }, - { 0xC3F7, 0x96B4 }, - { 0xC3F8, 0x96E3 }, - { 0xC3F9, 0x972A }, - { 0xC3FA, 0x9727 }, - { 0xC3FB, 0x9761 }, - { 0xC3FC, 0x97DC }, - { 0xC3FD, 0x97FB }, - { 0xC3FE, 0x985E }, - { 0xC440, 0x9858 }, - { 0xC441, 0x985B }, - { 0xC442, 0x98BC }, - { 0xC443, 0x9945 }, - { 0xC444, 0x9949 }, - { 0xC445, 0x9A16 }, - { 0xC446, 0x9A19 }, - { 0xC447, 0x9B0D }, - { 0xC448, 0x9BE8 }, - { 0xC449, 0x9BE7 }, - { 0xC44A, 0x9BD6 }, - { 0xC44B, 0x9BDB }, - { 0xC44C, 0x9D89 }, - { 0xC44D, 0x9D61 }, - { 0xC44E, 0x9D72 }, - { 0xC44F, 0x9D6A }, - { 0xC450, 0x9D6C }, - { 0xC451, 0x9E92 }, - { 0xC452, 0x9E97 }, - { 0xC453, 0x9E93 }, - { 0xC454, 0x9EB4 }, - { 0xC455, 0x52F8 }, - { 0xC456, 0x56A8 }, - { 0xC457, 0x56B7 }, - { 0xC458, 0x56B6 }, - { 0xC459, 0x56B4 }, - { 0xC45A, 0x56BC }, - { 0xC45B, 0x58E4 }, - { 0xC45C, 0x5B40 }, - { 0xC45D, 0x5B43 }, - { 0xC45E, 0x5B7D }, - { 0xC45F, 0x5BF6 }, - { 0xC460, 0x5DC9 }, - { 0xC461, 0x61F8 }, - { 0xC462, 0x61FA }, - { 0xC463, 0x6518 }, - { 0xC464, 0x6514 }, - { 0xC465, 0x6519 }, - { 0xC466, 0x66E6 }, - { 0xC467, 0x6727 }, - { 0xC468, 0x6AEC }, - { 0xC469, 0x703E }, - { 0xC46A, 0x7030 }, - { 0xC46B, 0x7032 }, - { 0xC46C, 0x7210 }, - { 0xC46D, 0x737B }, - { 0xC46E, 0x74CF }, - { 0xC46F, 0x7662 }, - { 0xC470, 0x7665 }, - { 0xC471, 0x7926 }, - { 0xC472, 0x792A }, - { 0xC473, 0x792C }, - { 0xC474, 0x792B }, - { 0xC475, 0x7AC7 }, - { 0xC476, 0x7AF6 }, - { 0xC477, 0x7C4C }, - { 0xC478, 0x7C43 }, - { 0xC479, 0x7C4D }, - { 0xC47A, 0x7CEF }, - { 0xC47B, 0x7CF0 }, - { 0xC47C, 0x8FAE }, - { 0xC47D, 0x7E7D }, - { 0xC47E, 0x7E7C }, - { 0xC4A1, 0x7E82 }, - { 0xC4A2, 0x7F4C }, - { 0xC4A3, 0x8000 }, - { 0xC4A4, 0x81DA }, - { 0xC4A5, 0x8266 }, - { 0xC4A6, 0x85FB }, - { 0xC4A7, 0x85F9 }, - { 0xC4A8, 0x8611 }, - { 0xC4A9, 0x85FA }, - { 0xC4AA, 0x8606 }, - { 0xC4AB, 0x860B }, - { 0xC4AC, 0x8607 }, - { 0xC4AD, 0x860A }, - { 0xC4AE, 0x8814 }, - { 0xC4AF, 0x8815 }, - { 0xC4B0, 0x8964 }, - { 0xC4B1, 0x89BA }, - { 0xC4B2, 0x89F8 }, - { 0xC4B3, 0x8B70 }, - { 0xC4B4, 0x8B6C }, - { 0xC4B5, 0x8B66 }, - { 0xC4B6, 0x8B6F }, - { 0xC4B7, 0x8B5F }, - { 0xC4B8, 0x8B6B }, - { 0xC4B9, 0x8D0F }, - { 0xC4BA, 0x8D0D }, - { 0xC4BB, 0x8E89 }, - { 0xC4BC, 0x8E81 }, - { 0xC4BD, 0x8E85 }, - { 0xC4BE, 0x8E82 }, - { 0xC4BF, 0x91B4 }, - { 0xC4C0, 0x91CB }, - { 0xC4C1, 0x9418 }, - { 0xC4C2, 0x9403 }, - { 0xC4C3, 0x93FD }, - { 0xC4C4, 0x95E1 }, - { 0xC4C5, 0x9730 }, - { 0xC4C6, 0x98C4 }, - { 0xC4C7, 0x9952 }, - { 0xC4C8, 0x9951 }, - { 0xC4C9, 0x99A8 }, - { 0xC4CA, 0x9A2B }, - { 0xC4CB, 0x9A30 }, - { 0xC4CC, 0x9A37 }, - { 0xC4CD, 0x9A35 }, - { 0xC4CE, 0x9C13 }, - { 0xC4CF, 0x9C0D }, - { 0xC4D0, 0x9E79 }, - { 0xC4D1, 0x9EB5 }, - { 0xC4D2, 0x9EE8 }, - { 0xC4D3, 0x9F2F }, - { 0xC4D4, 0x9F5F }, - { 0xC4D5, 0x9F63 }, - { 0xC4D6, 0x9F61 }, - { 0xC4D7, 0x5137 }, - { 0xC4D8, 0x5138 }, - { 0xC4D9, 0x56C1 }, - { 0xC4DA, 0x56C0 }, - { 0xC4DB, 0x56C2 }, - { 0xC4DC, 0x5914 }, - { 0xC4DD, 0x5C6C }, - { 0xC4DE, 0x5DCD }, - { 0xC4DF, 0x61FC }, - { 0xC4E0, 0x61FE }, - { 0xC4E1, 0x651D }, - { 0xC4E2, 0x651C }, - { 0xC4E3, 0x6595 }, - { 0xC4E4, 0x66E9 }, - { 0xC4E5, 0x6AFB }, - { 0xC4E6, 0x6B04 }, - { 0xC4E7, 0x6AFA }, - { 0xC4E8, 0x6BB2 }, - { 0xC4E9, 0x704C }, - { 0xC4EA, 0x721B }, - { 0xC4EB, 0x72A7 }, - { 0xC4EC, 0x74D6 }, - { 0xC4ED, 0x74D4 }, - { 0xC4EE, 0x7669 }, - { 0xC4EF, 0x77D3 }, - { 0xC4F0, 0x7C50 }, - { 0xC4F1, 0x7E8F }, - { 0xC4F2, 0x7E8C }, - { 0xC4F3, 0x7FBC }, - { 0xC4F4, 0x8617 }, - { 0xC4F5, 0x862D }, - { 0xC4F6, 0x861A }, - { 0xC4F7, 0x8823 }, - { 0xC4F8, 0x8822 }, - { 0xC4F9, 0x8821 }, - { 0xC4FA, 0x881F }, - { 0xC4FB, 0x896A }, - { 0xC4FC, 0x896C }, - { 0xC4FD, 0x89BD }, - { 0xC4FE, 0x8B74 }, - { 0xC540, 0x8B77 }, - { 0xC541, 0x8B7D }, - { 0xC542, 0x8D13 }, - { 0xC543, 0x8E8A }, - { 0xC544, 0x8E8D }, - { 0xC545, 0x8E8B }, - { 0xC546, 0x8F5F }, - { 0xC547, 0x8FAF }, - { 0xC548, 0x91BA }, - { 0xC549, 0x942E }, - { 0xC54A, 0x9433 }, - { 0xC54B, 0x9435 }, - { 0xC54C, 0x943A }, - { 0xC54D, 0x9438 }, - { 0xC54E, 0x9432 }, - { 0xC54F, 0x942B }, - { 0xC550, 0x95E2 }, - { 0xC551, 0x9738 }, - { 0xC552, 0x9739 }, - { 0xC553, 0x9732 }, - { 0xC554, 0x97FF }, - { 0xC555, 0x9867 }, - { 0xC556, 0x9865 }, - { 0xC557, 0x9957 }, - { 0xC558, 0x9A45 }, - { 0xC559, 0x9A43 }, - { 0xC55A, 0x9A40 }, - { 0xC55B, 0x9A3E }, - { 0xC55C, 0x9ACF }, - { 0xC55D, 0x9B54 }, - { 0xC55E, 0x9B51 }, - { 0xC55F, 0x9C2D }, - { 0xC560, 0x9C25 }, - { 0xC561, 0x9DAF }, - { 0xC562, 0x9DB4 }, - { 0xC563, 0x9DC2 }, - { 0xC564, 0x9DB8 }, - { 0xC565, 0x9E9D }, - { 0xC566, 0x9EEF }, - { 0xC567, 0x9F19 }, - { 0xC568, 0x9F5C }, - { 0xC569, 0x9F66 }, - { 0xC56A, 0x9F67 }, - { 0xC56B, 0x513C }, - { 0xC56C, 0x513B }, - { 0xC56D, 0x56C8 }, - { 0xC56E, 0x56CA }, - { 0xC56F, 0x56C9 }, - { 0xC570, 0x5B7F }, - { 0xC571, 0x5DD4 }, - { 0xC572, 0x5DD2 }, - { 0xC573, 0x5F4E }, - { 0xC574, 0x61FF }, - { 0xC575, 0x6524 }, - { 0xC576, 0x6B0A }, - { 0xC577, 0x6B61 }, - { 0xC578, 0x7051 }, - { 0xC579, 0x7058 }, - { 0xC57A, 0x7380 }, - { 0xC57B, 0x74E4 }, - { 0xC57C, 0x758A }, - { 0xC57D, 0x766E }, - { 0xC57E, 0x766C }, - { 0xC5A1, 0x79B3 }, - { 0xC5A2, 0x7C60 }, - { 0xC5A3, 0x7C5F }, - { 0xC5A4, 0x807E }, - { 0xC5A5, 0x807D }, - { 0xC5A6, 0x81DF }, - { 0xC5A7, 0x8972 }, - { 0xC5A8, 0x896F }, - { 0xC5A9, 0x89FC }, - { 0xC5AA, 0x8B80 }, - { 0xC5AB, 0x8D16 }, - { 0xC5AC, 0x8D17 }, - { 0xC5AD, 0x8E91 }, - { 0xC5AE, 0x8E93 }, - { 0xC5AF, 0x8F61 }, - { 0xC5B0, 0x9148 }, - { 0xC5B1, 0x9444 }, - { 0xC5B2, 0x9451 }, - { 0xC5B3, 0x9452 }, - { 0xC5B4, 0x973D }, - { 0xC5B5, 0x973E }, - { 0xC5B6, 0x97C3 }, - { 0xC5B7, 0x97C1 }, - { 0xC5B8, 0x986B }, - { 0xC5B9, 0x9955 }, - { 0xC5BA, 0x9A55 }, - { 0xC5BB, 0x9A4D }, - { 0xC5BC, 0x9AD2 }, - { 0xC5BD, 0x9B1A }, - { 0xC5BE, 0x9C49 }, - { 0xC5BF, 0x9C31 }, - { 0xC5C0, 0x9C3E }, - { 0xC5C1, 0x9C3B }, - { 0xC5C2, 0x9DD3 }, - { 0xC5C3, 0x9DD7 }, - { 0xC5C4, 0x9F34 }, - { 0xC5C5, 0x9F6C }, - { 0xC5C6, 0x9F6A }, - { 0xC5C7, 0x9F94 }, - { 0xC5C8, 0x56CC }, - { 0xC5C9, 0x5DD6 }, - { 0xC5CA, 0x6200 }, - { 0xC5CB, 0x6523 }, - { 0xC5CC, 0x652B }, - { 0xC5CD, 0x652A }, - { 0xC5CE, 0x66EC }, - { 0xC5CF, 0x6B10 }, - { 0xC5D0, 0x74DA }, - { 0xC5D1, 0x7ACA }, - { 0xC5D2, 0x7C64 }, - { 0xC5D3, 0x7C63 }, - { 0xC5D4, 0x7C65 }, - { 0xC5D5, 0x7E93 }, - { 0xC5D6, 0x7E96 }, - { 0xC5D7, 0x7E94 }, - { 0xC5D8, 0x81E2 }, - { 0xC5D9, 0x8638 }, - { 0xC5DA, 0x863F }, - { 0xC5DB, 0x8831 }, - { 0xC5DC, 0x8B8A }, - { 0xC5DD, 0x9090 }, - { 0xC5DE, 0x908F }, - { 0xC5DF, 0x9463 }, - { 0xC5E0, 0x9460 }, - { 0xC5E1, 0x9464 }, - { 0xC5E2, 0x9768 }, - { 0xC5E3, 0x986F }, - { 0xC5E4, 0x995C }, - { 0xC5E5, 0x9A5A }, - { 0xC5E6, 0x9A5B }, - { 0xC5E7, 0x9A57 }, - { 0xC5E8, 0x9AD3 }, - { 0xC5E9, 0x9AD4 }, - { 0xC5EA, 0x9AD1 }, - { 0xC5EB, 0x9C54 }, - { 0xC5EC, 0x9C57 }, - { 0xC5ED, 0x9C56 }, - { 0xC5EE, 0x9DE5 }, - { 0xC5EF, 0x9E9F }, - { 0xC5F0, 0x9EF4 }, - { 0xC5F1, 0x56D1 }, - { 0xC5F2, 0x58E9 }, - { 0xC5F3, 0x652C }, - { 0xC5F4, 0x705E }, - { 0xC5F5, 0x7671 }, - { 0xC5F6, 0x7672 }, - { 0xC5F7, 0x77D7 }, - { 0xC5F8, 0x7F50 }, - { 0xC5F9, 0x7F88 }, - { 0xC5FA, 0x8836 }, - { 0xC5FB, 0x8839 }, - { 0xC5FC, 0x8862 }, - { 0xC5FD, 0x8B93 }, - { 0xC5FE, 0x8B92 }, - { 0xC640, 0x8B96 }, - { 0xC641, 0x8277 }, - { 0xC642, 0x8D1B }, - { 0xC643, 0x91C0 }, - { 0xC644, 0x946A }, - { 0xC645, 0x9742 }, - { 0xC646, 0x9748 }, - { 0xC647, 0x9744 }, - { 0xC648, 0x97C6 }, - { 0xC649, 0x9870 }, - { 0xC64A, 0x9A5F }, - { 0xC64B, 0x9B22 }, - { 0xC64C, 0x9B58 }, - { 0xC64D, 0x9C5F }, - { 0xC64E, 0x9DF9 }, - { 0xC64F, 0x9DFA }, - { 0xC650, 0x9E7C }, - { 0xC651, 0x9E7D }, - { 0xC652, 0x9F07 }, - { 0xC653, 0x9F77 }, - { 0xC654, 0x9F72 }, - { 0xC655, 0x5EF3 }, - { 0xC656, 0x6B16 }, - { 0xC657, 0x7063 }, - { 0xC658, 0x7C6C }, - { 0xC659, 0x7C6E }, - { 0xC65A, 0x883B }, - { 0xC65B, 0x89C0 }, - { 0xC65C, 0x8EA1 }, - { 0xC65D, 0x91C1 }, - { 0xC65E, 0x9472 }, - { 0xC65F, 0x9470 }, - { 0xC660, 0x9871 }, - { 0xC661, 0x995E }, - { 0xC662, 0x9AD6 }, - { 0xC663, 0x9B23 }, - { 0xC664, 0x9ECC }, - { 0xC665, 0x7064 }, - { 0xC666, 0x77DA }, - { 0xC667, 0x8B9A }, - { 0xC668, 0x9477 }, - { 0xC669, 0x97C9 }, - { 0xC66A, 0x9A62 }, - { 0xC66B, 0x9A65 }, - { 0xC66C, 0x7E9C }, - { 0xC66D, 0x8B9C }, - { 0xC66E, 0x8EAA }, - { 0xC66F, 0x91C5 }, - { 0xC670, 0x947D }, - { 0xC671, 0x947E }, - { 0xC672, 0x947C }, - { 0xC673, 0x9C77 }, - { 0xC674, 0x9C78 }, - { 0xC675, 0x9EF7 }, - { 0xC676, 0x8C54 }, - { 0xC677, 0x947F }, - { 0xC678, 0x9E1A }, - { 0xC679, 0x7228 }, - { 0xC67A, 0x9A6A }, - { 0xC67B, 0x9B31 }, - { 0xC67C, 0x9E1B }, - { 0xC67D, 0x9E1E }, - { 0xC67E, 0x7C72 }, - { 0xC6A1, 0x30FE }, - { 0xC6A2, 0x309D }, - { 0xC6A3, 0x309E }, - { 0xC6A4, 0x3005 }, - { 0xC6A5, 0x3041 }, - { 0xC6A6, 0x3042 }, - { 0xC6A7, 0x3043 }, - { 0xC6A8, 0x3044 }, - { 0xC6A9, 0x3045 }, - { 0xC6AA, 0x3046 }, - { 0xC6AB, 0x3047 }, - { 0xC6AC, 0x3048 }, - { 0xC6AD, 0x3049 }, - { 0xC6AE, 0x304A }, - { 0xC6AF, 0x304B }, - { 0xC6B0, 0x304C }, - { 0xC6B1, 0x304D }, - { 0xC6B2, 0x304E }, - { 0xC6B3, 0x304F }, - { 0xC6B4, 0x3050 }, - { 0xC6B5, 0x3051 }, - { 0xC6B6, 0x3052 }, - { 0xC6B7, 0x3053 }, - { 0xC6B8, 0x3054 }, - { 0xC6B9, 0x3055 }, - { 0xC6BA, 0x3056 }, - { 0xC6BB, 0x3057 }, - { 0xC6BC, 0x3058 }, - { 0xC6BD, 0x3059 }, - { 0xC6BE, 0x305A }, - { 0xC6BF, 0x305B }, - { 0xC6C0, 0x305C }, - { 0xC6C1, 0x305D }, - { 0xC6C2, 0x305E }, - { 0xC6C3, 0x305F }, - { 0xC6C4, 0x3060 }, - { 0xC6C5, 0x3061 }, - { 0xC6C6, 0x3062 }, - { 0xC6C7, 0x3063 }, - { 0xC6C8, 0x3064 }, - { 0xC6C9, 0x3065 }, - { 0xC6CA, 0x3066 }, - { 0xC6CB, 0x3067 }, - { 0xC6CC, 0x3068 }, - { 0xC6CD, 0x3069 }, - { 0xC6CE, 0x306A }, - { 0xC6CF, 0x306B }, - { 0xC6D0, 0x306C }, - { 0xC6D1, 0x306D }, - { 0xC6D2, 0x306E }, - { 0xC6D3, 0x306F }, - { 0xC6D4, 0x3070 }, - { 0xC6D5, 0x3071 }, - { 0xC6D6, 0x3072 }, - { 0xC6D7, 0x3073 }, - { 0xC6D8, 0x3074 }, - { 0xC6D9, 0x3075 }, - { 0xC6DA, 0x3076 }, - { 0xC6DB, 0x3077 }, - { 0xC6DC, 0x3078 }, - { 0xC6DD, 0x3079 }, - { 0xC6DE, 0x307A }, - { 0xC6DF, 0x307B }, - { 0xC6E0, 0x307C }, - { 0xC6E1, 0x307D }, - { 0xC6E2, 0x307E }, - { 0xC6E3, 0x307F }, - { 0xC6E4, 0x3080 }, - { 0xC6E5, 0x3081 }, - { 0xC6E6, 0x3082 }, - { 0xC6E7, 0x3083 }, - { 0xC6E8, 0x3084 }, - { 0xC6E9, 0x3085 }, - { 0xC6EA, 0x3086 }, - { 0xC6EB, 0x3087 }, - { 0xC6EC, 0x3088 }, - { 0xC6ED, 0x3089 }, - { 0xC6EE, 0x308A }, - { 0xC6EF, 0x308B }, - { 0xC6F0, 0x308C }, - { 0xC6F1, 0x308D }, - { 0xC6F2, 0x308E }, - { 0xC6F3, 0x308F }, - { 0xC6F4, 0x3090 }, - { 0xC6F5, 0x3091 }, - { 0xC6F6, 0x3092 }, - { 0xC6F7, 0x3093 }, - { 0xC6F8, 0x30A1 }, - { 0xC6F9, 0x30A2 }, - { 0xC6FA, 0x30A3 }, - { 0xC6FB, 0x30A4 }, - { 0xC6FC, 0x30A5 }, - { 0xC6FD, 0x30A6 }, - { 0xC6FE, 0x30A7 }, - { 0xC740, 0x30A8 }, - { 0xC741, 0x30A9 }, - { 0xC742, 0x30AA }, - { 0xC743, 0x30AB }, - { 0xC744, 0x30AC }, - { 0xC745, 0x30AD }, - { 0xC746, 0x30AE }, - { 0xC747, 0x30AF }, - { 0xC748, 0x30B0 }, - { 0xC749, 0x30B1 }, - { 0xC74A, 0x30B2 }, - { 0xC74B, 0x30B3 }, - { 0xC74C, 0x30B4 }, - { 0xC74D, 0x30B5 }, - { 0xC74E, 0x30B6 }, - { 0xC74F, 0x30B7 }, - { 0xC750, 0x30B8 }, - { 0xC751, 0x30B9 }, - { 0xC752, 0x30BA }, - { 0xC753, 0x30BB }, - { 0xC754, 0x30BC }, - { 0xC755, 0x30BD }, - { 0xC756, 0x30BE }, - { 0xC757, 0x30BF }, - { 0xC758, 0x30C0 }, - { 0xC759, 0x30C1 }, - { 0xC75A, 0x30C2 }, - { 0xC75B, 0x30C3 }, - { 0xC75C, 0x30C4 }, - { 0xC75D, 0x30C5 }, - { 0xC75E, 0x30C6 }, - { 0xC75F, 0x30C7 }, - { 0xC760, 0x30C8 }, - { 0xC761, 0x30C9 }, - { 0xC762, 0x30CA }, - { 0xC763, 0x30CB }, - { 0xC764, 0x30CC }, - { 0xC765, 0x30CD }, - { 0xC766, 0x30CE }, - { 0xC767, 0x30CF }, - { 0xC768, 0x30D0 }, - { 0xC769, 0x30D1 }, - { 0xC76A, 0x30D2 }, - { 0xC76B, 0x30D3 }, - { 0xC76C, 0x30D4 }, - { 0xC76D, 0x30D5 }, - { 0xC76E, 0x30D6 }, - { 0xC76F, 0x30D7 }, - { 0xC770, 0x30D8 }, - { 0xC771, 0x30D9 }, - { 0xC772, 0x30DA }, - { 0xC773, 0x30DB }, - { 0xC774, 0x30DC }, - { 0xC775, 0x30DD }, - { 0xC776, 0x30DE }, - { 0xC777, 0x30DF }, - { 0xC778, 0x30E0 }, - { 0xC779, 0x30E1 }, - { 0xC77A, 0x30E2 }, - { 0xC77B, 0x30E3 }, - { 0xC77C, 0x30E4 }, - { 0xC77D, 0x30E5 }, - { 0xC77E, 0x30E6 }, - { 0xC7A1, 0x30E7 }, - { 0xC7A2, 0x30E8 }, - { 0xC7A3, 0x30E9 }, - { 0xC7A4, 0x30EA }, - { 0xC7A5, 0x30EB }, - { 0xC7A6, 0x30EC }, - { 0xC7A7, 0x30ED }, - { 0xC7A8, 0x30EE }, - { 0xC7A9, 0x30EF }, - { 0xC7AA, 0x30F0 }, - { 0xC7AB, 0x30F1 }, - { 0xC7AC, 0x30F2 }, - { 0xC7AD, 0x30F3 }, - { 0xC7AE, 0x30F4 }, - { 0xC7AF, 0x30F5 }, - { 0xC7B0, 0x30F6 }, - { 0xC7B1, 0x0414 }, - { 0xC7B2, 0x0415 }, - { 0xC7B3, 0x0401 }, - { 0xC7B4, 0x0416 }, - { 0xC7B5, 0x0417 }, - { 0xC7B6, 0x0418 }, - { 0xC7B7, 0x0419 }, - { 0xC7B8, 0x041A }, - { 0xC7B9, 0x041B }, - { 0xC7BA, 0x041C }, - { 0xC7BB, 0x0423 }, - { 0xC7BC, 0x0424 }, - { 0xC7BD, 0x0425 }, - { 0xC7BE, 0x0426 }, - { 0xC7BF, 0x0427 }, - { 0xC7C0, 0x0428 }, - { 0xC7C1, 0x0429 }, - { 0xC7C2, 0x042A }, - { 0xC7C3, 0x042B }, - { 0xC7C4, 0x042C }, - { 0xC7C5, 0x042D },{ 0xC7C6, 0x042E }, - { 0xC7C7, 0x042F }, - { 0xC7C8, 0x0430 }, - { 0xC7C9, 0x0431 }, - { 0xC7CA, 0x0432 }, - { 0xC7CB, 0x0433 }, - { 0xC7CC, 0x0434 }, - { 0xC7CD, 0x0435 }, - { 0xC7CE, 0x0451 }, - { 0xC7CF, 0x0436 }, - { 0xC7D0, 0x0437 }, - { 0xC7D1, 0x0438 }, - { 0xC7D2, 0x0439 }, - { 0xC7D3, 0x043A }, - { 0xC7D4, 0x043B }, - { 0xC7D5, 0x043C }, - { 0xC7D6, 0x043D }, - { 0xC7D7, 0x043E }, - { 0xC7D8, 0x043F }, - { 0xC7D9, 0x0440 }, - { 0xC7DA, 0x0441 }, - { 0xC7DB, 0x0442 }, - { 0xC7DC, 0x0443 }, - { 0xC7DD, 0x0444 }, - { 0xC7DE, 0x0445 }, - { 0xC7DF, 0x0446 }, - { 0xC7E0, 0x0447 }, - { 0xC7E1, 0x0448 }, - { 0xC7E2, 0x0449 }, - { 0xC7E3, 0x044A }, - { 0xC7E4, 0x044B }, - { 0xC7E5, 0x044C }, - { 0xC7E6, 0x044D }, - { 0xC7E7, 0x044E }, - { 0xC7E8, 0x044F }, - { 0xC7E9, 0x2460 }, - { 0xC7EA, 0x2461 }, - { 0xC7EB, 0x2462 }, - { 0xC7EC, 0x2463 }, - { 0xC7ED, 0x2464 }, - { 0xC7EE, 0x2465 }, - { 0xC7EF, 0x2466 }, - { 0xC7F0, 0x2467 }, - { 0xC7F1, 0x2468 }, - { 0xC7F2, 0x2469 }, - { 0xC7F3, 0x2474 }, - { 0xC7F4, 0x2475 }, - { 0xC7F5, 0x2476 }, - { 0xC7F6, 0x2477 }, - { 0xC7F7, 0x2478 }, - { 0xC7F8, 0x2479 }, - { 0xC7F9, 0x247A }, - { 0xC7FA, 0x247B }, - { 0xC7FB, 0x247C }, - { 0xC7FC, 0x247D }, - { 0xC940, 0x4E42 }, - { 0xC941, 0x4E5C }, - { 0xC942, 0x51F5 }, - { 0xC943, 0x531A }, - { 0xC944, 0x5382 }, - { 0xC945, 0x4E07 }, - { 0xC946, 0x4E0C }, - { 0xC947, 0x4E47 }, - { 0xC948, 0x4E8D }, - { 0xC949, 0x56D7 }, - { 0xC94A, 0xFA0C }, - { 0xC94B, 0x5C6E }, - { 0xC94C, 0x5F73 }, - { 0xC94D, 0x4E0F }, - { 0xC94E, 0x5187 }, - { 0xC94F, 0x4E0E }, - { 0xC950, 0x4E2E }, - { 0xC951, 0x4E93 }, - { 0xC952, 0x4EC2 }, - { 0xC953, 0x4EC9 }, - { 0xC954, 0x4EC8 }, - { 0xC955, 0x5198 }, - { 0xC956, 0x52FC }, - { 0xC957, 0x536C }, - { 0xC958, 0x53B9 }, - { 0xC959, 0x5720 }, - { 0xC95A, 0x5903 }, - { 0xC95B, 0x592C }, - { 0xC95C, 0x5C10 }, - { 0xC95D, 0x5DFF }, - { 0xC95E, 0x65E1 }, - { 0xC95F, 0x6BB3 }, - { 0xC960, 0x6BCC }, - { 0xC961, 0x6C14 }, - { 0xC962, 0x723F }, - { 0xC963, 0x4E31 }, - { 0xC964, 0x4E3C }, - { 0xC965, 0x4EE8 }, - { 0xC966, 0x4EDC }, - { 0xC967, 0x4EE9 }, - { 0xC968, 0x4EE1 }, - { 0xC969, 0x4EDD }, - { 0xC96A, 0x4EDA }, - { 0xC96B, 0x520C }, - { 0xC96C, 0x531C }, - { 0xC96D, 0x534C }, - { 0xC96E, 0x5722 }, - { 0xC96F, 0x5723 }, - { 0xC970, 0x5917 }, - { 0xC971, 0x592F }, - { 0xC972, 0x5B81 }, - { 0xC973, 0x5B84 }, - { 0xC974, 0x5C12 }, - { 0xC975, 0x5C3B }, - { 0xC976, 0x5C74 }, - { 0xC977, 0x5C73 }, - { 0xC978, 0x5E04 }, - { 0xC979, 0x5E80 }, - { 0xC97A, 0x5E82 }, - { 0xC97B, 0x5FC9 }, - { 0xC97C, 0x6209 }, - { 0xC97D, 0x6250 }, - { 0xC97E, 0x6C15 }, - { 0xC9A1, 0x6C36 }, - { 0xC9A2, 0x6C43 }, - { 0xC9A3, 0x6C3F }, - { 0xC9A4, 0x6C3B }, - { 0xC9A5, 0x72AE }, - { 0xC9A6, 0x72B0 }, - { 0xC9A7, 0x738A }, - { 0xC9A8, 0x79B8 }, - { 0xC9A9, 0x808A }, - { 0xC9AA, 0x961E }, - { 0xC9AB, 0x4F0E }, - { 0xC9AC, 0x4F18 }, - { 0xC9AD, 0x4F2C }, - { 0xC9AE, 0x4EF5 }, - { 0xC9AF, 0x4F14 }, - { 0xC9B0, 0x4EF1 }, - { 0xC9B1, 0x4F00 }, - { 0xC9B2, 0x4EF7 }, - { 0xC9B3, 0x4F08 }, - { 0xC9B4, 0x4F1D }, - { 0xC9B5, 0x4F02 }, - { 0xC9B6, 0x4F05 }, - { 0xC9B7, 0x4F22 }, - { 0xC9B8, 0x4F13 }, - { 0xC9B9, 0x4F04 }, - { 0xC9BA, 0x4EF4 }, - { 0xC9BB, 0x4F12 }, - { 0xC9BC, 0x51B1 }, - { 0xC9BD, 0x5213 }, - { 0xC9BE, 0x5209 }, - { 0xC9BF, 0x5210 }, - { 0xC9C0, 0x52A6 }, - { 0xC9C1, 0x5322 }, - { 0xC9C2, 0x531F }, - { 0xC9C3, 0x534D }, - { 0xC9C4, 0x538A }, - { 0xC9C5, 0x5407 }, - { 0xC9C6, 0x56E1 }, - { 0xC9C7, 0x56DF }, - { 0xC9C8, 0x572E }, - { 0xC9C9, 0x572A }, - { 0xC9CA, 0x5734 }, - { 0xC9CB, 0x593C }, - { 0xC9CC, 0x5980 }, - { 0xC9CD, 0x597C }, - { 0xC9CE, 0x5985 }, - { 0xC9CF, 0x597B }, - { 0xC9D0, 0x597E }, - { 0xC9D1, 0x5977 }, - { 0xC9D2, 0x597F }, - { 0xC9D3, 0x5B56 }, - { 0xC9D4, 0x5C15 }, - { 0xC9D5, 0x5C25 }, - { 0xC9D6, 0x5C7C }, - { 0xC9D7, 0x5C7A }, - { 0xC9D8, 0x5C7B }, - { 0xC9D9, 0x5C7E }, - { 0xC9DA, 0x5DDF }, - { 0xC9DB, 0x5E75 }, - { 0xC9DC, 0x5E84 }, - { 0xC9DD, 0x5F02 }, - { 0xC9DE, 0x5F1A }, - { 0xC9DF, 0x5F74 }, - { 0xC9E0, 0x5FD5 }, - { 0xC9E1, 0x5FD4 }, - { 0xC9E2, 0x5FCF }, - { 0xC9E3, 0x625C }, - { 0xC9E4, 0x625E }, - { 0xC9E5, 0x6264 }, - { 0xC9E6, 0x6261 }, - { 0xC9E7, 0x6266 }, - { 0xC9E8, 0x6262 }, - { 0xC9E9, 0x6259 }, - { 0xC9EA, 0x6260 }, - { 0xC9EB, 0x625A }, - { 0xC9EC, 0x6265 }, - { 0xC9ED, 0x65EF }, - { 0xC9EE, 0x65EE }, - { 0xC9EF, 0x673E }, - { 0xC9F0, 0x6739 }, - { 0xC9F1, 0x6738 }, - { 0xC9F2, 0x673B }, - { 0xC9F3, 0x673A }, - { 0xC9F4, 0x673F }, - { 0xC9F5, 0x673C }, - { 0xC9F6, 0x6733 }, - { 0xC9F7, 0x6C18 }, - { 0xC9F8, 0x6C46 }, - { 0xC9F9, 0x6C52 }, - { 0xC9FA, 0x6C5C }, - { 0xC9FB, 0x6C4F }, - { 0xC9FC, 0x6C4A }, - { 0xC9FD, 0x6C54 }, - { 0xC9FE, 0x6C4B }, - { 0xCA40, 0x6C4C }, - { 0xCA41, 0x7071 }, - { 0xCA42, 0x725E }, - { 0xCA43, 0x72B4 }, - { 0xCA44, 0x72B5 }, - { 0xCA45, 0x738E }, - { 0xCA46, 0x752A }, - { 0xCA47, 0x767F }, - { 0xCA48, 0x7A75 }, - { 0xCA49, 0x7F51 }, - { 0xCA4A, 0x8278 }, - { 0xCA4B, 0x827C }, - { 0xCA4C, 0x8280 }, - { 0xCA4D, 0x827D }, - { 0xCA4E, 0x827F }, - { 0xCA4F, 0x864D }, - { 0xCA50, 0x897E }, - { 0xCA51, 0x9099 }, - { 0xCA52, 0x9097 }, - { 0xCA53, 0x9098 }, - { 0xCA54, 0x909B }, - { 0xCA55, 0x9094 }, - { 0xCA56, 0x9622 }, - { 0xCA57, 0x9624 }, - { 0xCA58, 0x9620 }, - { 0xCA59, 0x9623 }, - { 0xCA5A, 0x4F56 }, - { 0xCA5B, 0x4F3B }, - { 0xCA5C, 0x4F62 }, - { 0xCA5D, 0x4F49 }, - { 0xCA5E, 0x4F53 }, - { 0xCA5F, 0x4F64 }, - { 0xCA60, 0x4F3E }, - { 0xCA61, 0x4F67 }, - { 0xCA62, 0x4F52 }, - { 0xCA63, 0x4F5F }, - { 0xCA64, 0x4F41 }, - { 0xCA65, 0x4F58 }, - { 0xCA66, 0x4F2D }, - { 0xCA67, 0x4F33 }, - { 0xCA68, 0x4F3F }, - { 0xCA69, 0x4F61 }, - { 0xCA6A, 0x518F }, - { 0xCA6B, 0x51B9 }, - { 0xCA6C, 0x521C }, - { 0xCA6D, 0x521E }, - { 0xCA6E, 0x5221 }, - { 0xCA6F, 0x52AD }, - { 0xCA70, 0x52AE }, - { 0xCA71, 0x5309 }, - { 0xCA72, 0x5363 }, - { 0xCA73, 0x5372 }, - { 0xCA74, 0x538E }, - { 0xCA75, 0x538F }, - { 0xCA76, 0x5430 }, - { 0xCA77, 0x5437 }, - { 0xCA78, 0x542A }, - { 0xCA79, 0x5454 }, - { 0xCA7A, 0x5445 }, - { 0xCA7B, 0x5419 }, - { 0xCA7C, 0x541C }, - { 0xCA7D, 0x5425 }, - { 0xCA7E, 0x5418 }, - { 0xCAA1, 0x543D }, - { 0xCAA2, 0x544F }, - { 0xCAA3, 0x5441 }, - { 0xCAA4, 0x5428 }, - { 0xCAA5, 0x5424 }, - { 0xCAA6, 0x5447 }, - { 0xCAA7, 0x56EE }, - { 0xCAA8, 0x56E7 }, - { 0xCAA9, 0x56E5 }, - { 0xCAAA, 0x5741 }, - { 0xCAAB, 0x5745 }, - { 0xCAAC, 0x574C }, - { 0xCAAD, 0x5749 }, - { 0xCAAE, 0x574B }, - { 0xCAAF, 0x5752 }, - { 0xCAB0, 0x5906 }, - { 0xCAB1, 0x5940 }, - { 0xCAB2, 0x59A6 }, - { 0xCAB3, 0x5998 }, - { 0xCAB4, 0x59A0 }, - { 0xCAB5, 0x5997 }, - { 0xCAB6, 0x598E }, - { 0xCAB7, 0x59A2 }, - { 0xCAB8, 0x5990 }, - { 0xCAB9, 0x598F }, - { 0xCABA, 0x59A7 }, - { 0xCABB, 0x59A1 }, - { 0xCABC, 0x5B8E }, - { 0xCABD, 0x5B92 }, - { 0xCABE, 0x5C28 }, - { 0xCABF, 0x5C2A }, - { 0xCAC0, 0x5C8D }, - { 0xCAC1, 0x5C8F }, - { 0xCAC2, 0x5C88 }, - { 0xCAC3, 0x5C8B }, - { 0xCAC4, 0x5C89 }, - { 0xCAC5, 0x5C92 }, - { 0xCAC6, 0x5C8A }, - { 0xCAC7, 0x5C86 }, - { 0xCAC8, 0x5C93 }, - { 0xCAC9, 0x5C95 }, - { 0xCACA, 0x5DE0 }, - { 0xCACB, 0x5E0A }, - { 0xCACC, 0x5E0E }, - { 0xCACD, 0x5E8B }, - { 0xCACE, 0x5E89 }, - { 0xCACF, 0x5E8C }, - { 0xCAD0, 0x5E88 }, - { 0xCAD1, 0x5E8D }, - { 0xCAD2, 0x5F05 }, - { 0xCAD3, 0x5F1D }, - { 0xCAD4, 0x5F78 }, - { 0xCAD5, 0x5F76 }, - { 0xCAD6, 0x5FD2 }, - { 0xCAD7, 0x5FD1 }, - { 0xCAD8, 0x5FD0 }, - { 0xCAD9, 0x5FED }, - { 0xCADA, 0x5FE8 }, - { 0xCADB, 0x5FEE }, - { 0xCADC, 0x5FF3 }, - { 0xCADD, 0x5FE1 }, - { 0xCADE, 0x5FE4 }, - { 0xCADF, 0x5FE3 }, - { 0xCAE0, 0x5FFA }, - { 0xCAE1, 0x5FEF }, - { 0xCAE2, 0x5FF7 }, - { 0xCAE3, 0x5FFB }, - { 0xCAE4, 0x6000 }, - { 0xCAE5, 0x5FF4 }, - { 0xCAE6, 0x623A }, - { 0xCAE7, 0x6283 }, - { 0xCAE8, 0x628C }, - { 0xCAE9, 0x628E }, - { 0xCAEA, 0x628F }, - { 0xCAEB, 0x6294 }, - { 0xCAEC, 0x6287 }, - { 0xCAED, 0x6271 }, - { 0xCAEE, 0x627B }, - { 0xCAEF, 0x627A }, - { 0xCAF0, 0x6270 }, - { 0xCAF1, 0x6281 }, - { 0xCAF2, 0x6288 }, - { 0xCAF3, 0x6277 }, - { 0xCAF4, 0x627D }, - { 0xCAF5, 0x6272 }, - { 0xCAF6, 0x6274 }, - { 0xCAF7, 0x6537 }, - { 0xCAF8, 0x65F0 }, - { 0xCAF9, 0x65F4 }, - { 0xCAFA, 0x65F3 }, - { 0xCAFB, 0x65F2 }, - { 0xCAFC, 0x65F5 }, - { 0xCAFD, 0x6745 }, - { 0xCAFE, 0x6747 }, - { 0xCB40, 0x6759 }, - { 0xCB41, 0x6755 }, - { 0xCB42, 0x674C }, - { 0xCB43, 0x6748 }, - { 0xCB44, 0x675D }, - { 0xCB45, 0x674D }, - { 0xCB46, 0x675A }, - { 0xCB47, 0x674B }, - { 0xCB48, 0x6BD0 }, - { 0xCB49, 0x6C19 }, - { 0xCB4A, 0x6C1A }, - { 0xCB4B, 0x6C78 }, - { 0xCB4C, 0x6C67 }, - { 0xCB4D, 0x6C6B }, - { 0xCB4E, 0x6C84 }, - { 0xCB4F, 0x6C8B }, - { 0xCB50, 0x6C8F }, - { 0xCB51, 0x6C71 }, - { 0xCB52, 0x6C6F }, - { 0xCB53, 0x6C69 }, - { 0xCB54, 0x6C9A }, - { 0xCB55, 0x6C6D }, - { 0xCB56, 0x6C87 }, - { 0xCB57, 0x6C95 }, - { 0xCB58, 0x6C9C }, - { 0xCB59, 0x6C66 }, - { 0xCB5A, 0x6C73 }, - { 0xCB5B, 0x6C65 }, - { 0xCB5C, 0x6C7B }, - { 0xCB5D, 0x6C8E }, - { 0xCB5E, 0x7074 }, - { 0xCB5F, 0x707A }, - { 0xCB60, 0x7263 }, - { 0xCB61, 0x72BF }, - { 0xCB62, 0x72BD }, - { 0xCB63, 0x72C3 }, - { 0xCB64, 0x72C6 }, - { 0xCB65, 0x72C1 }, - { 0xCB66, 0x72BA }, - { 0xCB67, 0x72C5 }, - { 0xCB68, 0x7395 }, - { 0xCB69, 0x7397 }, - { 0xCB6A, 0x7393 }, - { 0xCB6B, 0x7394 }, - { 0xCB6C, 0x7392 }, - { 0xCB6D, 0x753A }, - { 0xCB6E, 0x7539 }, - { 0xCB6F, 0x7594 }, - { 0xCB70, 0x7595 }, - { 0xCB71, 0x7681 }, - { 0xCB72, 0x793D }, - { 0xCB73, 0x8034 }, - { 0xCB74, 0x8095 }, - { 0xCB75, 0x8099 }, - { 0xCB76, 0x8090 }, - { 0xCB77, 0x8092 }, - { 0xCB78, 0x809C }, - { 0xCB79, 0x8290 }, - { 0xCB7A, 0x828F }, - { 0xCB7B, 0x8285 }, - { 0xCB7C, 0x828E }, - { 0xCB7D, 0x8291 }, - { 0xCB7E, 0x8293 }, - { 0xCBA1, 0x828A }, - { 0xCBA2, 0x8283 }, - { 0xCBA3, 0x8284 }, - { 0xCBA4, 0x8C78 }, - { 0xCBA5, 0x8FC9 }, - { 0xCBA6, 0x8FBF }, - { 0xCBA7, 0x909F }, - { 0xCBA8, 0x90A1 }, - { 0xCBA9, 0x90A5 }, - { 0xCBAA, 0x909E }, - { 0xCBAB, 0x90A7 }, - { 0xCBAC, 0x90A0 }, - { 0xCBAD, 0x9630 }, - { 0xCBAE, 0x9628 }, - { 0xCBAF, 0x962F }, - { 0xCBB0, 0x962D }, - { 0xCBB1, 0x4E33 }, - { 0xCBB2, 0x4F98 }, - { 0xCBB3, 0x4F7C }, - { 0xCBB4, 0x4F85 }, - { 0xCBB5, 0x4F7D }, - { 0xCBB6, 0x4F80 }, - { 0xCBB7, 0x4F87 }, - { 0xCBB8, 0x4F76 }, - { 0xCBB9, 0x4F74 }, - { 0xCBBA, 0x4F89 }, - { 0xCBBB, 0x4F84 }, - { 0xCBBC, 0x4F77 }, - { 0xCBBD, 0x4F4C }, - { 0xCBBE, 0x4F97 }, - { 0xCBBF, 0x4F6A }, - { 0xCBC0, 0x4F9A }, - { 0xCBC1, 0x4F79 }, - { 0xCBC2, 0x4F81 }, - { 0xCBC3, 0x4F78 }, - { 0xCBC4, 0x4F90 }, - { 0xCBC5, 0x4F9C }, - { 0xCBC6, 0x4F94 }, - { 0xCBC7, 0x4F9E }, - { 0xCBC8, 0x4F92 }, - { 0xCBC9, 0x4F82 }, - { 0xCBCA, 0x4F95 }, - { 0xCBCB, 0x4F6B }, - { 0xCBCC, 0x4F6E }, - { 0xCBCD, 0x519E }, - { 0xCBCE, 0x51BC }, - { 0xCBCF, 0x51BE }, - { 0xCBD0, 0x5235 }, - { 0xCBD1, 0x5232 }, - { 0xCBD2, 0x5233 }, - { 0xCBD3, 0x5246 }, - { 0xCBD4, 0x5231 }, - { 0xCBD5, 0x52BC }, - { 0xCBD6, 0x530A }, - { 0xCBD7, 0x530B }, - { 0xCBD8, 0x533C }, - { 0xCBD9, 0x5392 }, - { 0xCBDA, 0x5394 }, - { 0xCBDB, 0x5487 }, - { 0xCBDC, 0x547F }, - { 0xCBDD, 0x5481 }, - { 0xCBDE, 0x5491 }, - { 0xCBDF, 0x5482 }, - { 0xCBE0, 0x5488 }, - { 0xCBE1, 0x546B }, - { 0xCBE2, 0x547A }, - { 0xCBE3, 0x547E }, - { 0xCBE4, 0x5465 }, - { 0xCBE5, 0x546C }, - { 0xCBE6, 0x5474 }, - { 0xCBE7, 0x5466 }, - { 0xCBE8, 0x548D }, - { 0xCBE9, 0x546F }, - { 0xCBEA, 0x5461 }, - { 0xCBEB, 0x5460 }, - { 0xCBEC, 0x5498 }, - { 0xCBED, 0x5463 }, - { 0xCBEE, 0x5467 }, - { 0xCBEF, 0x5464 }, - { 0xCBF0, 0x56F7 }, - { 0xCBF1, 0x56F9 }, - { 0xCBF2, 0x576F }, - { 0xCBF3, 0x5772 }, - { 0xCBF4, 0x576D }, - { 0xCBF5, 0x576B }, - { 0xCBF6, 0x5771 }, - { 0xCBF7, 0x5770 }, - { 0xCBF8, 0x5776 }, - { 0xCBF9, 0x5780 }, - { 0xCBFA, 0x5775 }, - { 0xCBFB, 0x577B }, - { 0xCBFC, 0x5773 }, - { 0xCBFD, 0x5774 }, - { 0xCBFE, 0x5762 }, - { 0xCC40, 0x5768 }, - { 0xCC41, 0x577D }, - { 0xCC42, 0x590C }, - { 0xCC43, 0x5945 }, - { 0xCC44, 0x59B5 }, - { 0xCC45, 0x59BA }, - { 0xCC46, 0x59CF }, - { 0xCC47, 0x59CE }, - { 0xCC48, 0x59B2 }, - { 0xCC49, 0x59CC }, - { 0xCC4A, 0x59C1 }, - { 0xCC4B, 0x59B6 }, - { 0xCC4C, 0x59BC }, - { 0xCC4D, 0x59C3 }, - { 0xCC4E, 0x59D6 }, - { 0xCC4F, 0x59B1 }, - { 0xCC50, 0x59BD }, - { 0xCC51, 0x59C0 }, - { 0xCC52, 0x59C8 }, - { 0xCC53, 0x59B4 }, - { 0xCC54, 0x59C7 }, - { 0xCC55, 0x5B62 }, - { 0xCC56, 0x5B65 }, - { 0xCC57, 0x5B93 }, - { 0xCC58, 0x5B95 }, - { 0xCC59, 0x5C44 }, - { 0xCC5A, 0x5C47 }, - { 0xCC5B, 0x5CAE }, - { 0xCC5C, 0x5CA4 }, - { 0xCC5D, 0x5CA0 }, - { 0xCC5E, 0x5CB5 }, - { 0xCC5F, 0x5CAF }, - { 0xCC60, 0x5CA8 }, - { 0xCC61, 0x5CAC }, - { 0xCC62, 0x5C9F }, - { 0xCC63, 0x5CA3 }, - { 0xCC64, 0x5CAD }, - { 0xCC65, 0x5CA2 }, - { 0xCC66, 0x5CAA }, - { 0xCC67, 0x5CA7 }, - { 0xCC68, 0x5C9D }, - { 0xCC69, 0x5CA5 }, - { 0xCC6A, 0x5CB6 }, - { 0xCC6B, 0x5CB0 }, - { 0xCC6C, 0x5CA6 }, - { 0xCC6D, 0x5E17 }, - { 0xCC6E, 0x5E14 }, - { 0xCC6F, 0x5E19 }, - { 0xCC70, 0x5F28 }, - { 0xCC71, 0x5F22 }, - { 0xCC72, 0x5F23 }, - { 0xCC73, 0x5F24 }, - { 0xCC74, 0x5F54 }, - { 0xCC75, 0x5F82 }, - { 0xCC76, 0x5F7E }, - { 0xCC77, 0x5F7D }, - { 0xCC78, 0x5FDE }, - { 0xCC79, 0x5FE5 }, - { 0xCC7A, 0x602D }, - { 0xCC7B, 0x6026 }, - { 0xCC7C, 0x6019 }, - { 0xCC7D, 0x6032 }, - { 0xCC7E, 0x600B }, - { 0xCCA1, 0x6034 }, - { 0xCCA2, 0x600A }, - { 0xCCA3, 0x6017 }, - { 0xCCA4, 0x6033 }, - { 0xCCA5, 0x601A }, - { 0xCCA6, 0x601E }, - { 0xCCA7, 0x602C }, - { 0xCCA8, 0x6022 }, - { 0xCCA9, 0x600D }, - { 0xCCAA, 0x6010 }, - { 0xCCAB, 0x602E }, - { 0xCCAC, 0x6013 }, - { 0xCCAD, 0x6011 }, - { 0xCCAE, 0x600C }, - { 0xCCAF, 0x6009 }, - { 0xCCB0, 0x601C }, - { 0xCCB1, 0x6214 }, - { 0xCCB2, 0x623D }, - { 0xCCB3, 0x62AD }, - { 0xCCB4, 0x62B4 }, - { 0xCCB5, 0x62D1 }, - { 0xCCB6, 0x62BE }, - { 0xCCB7, 0x62AA }, - { 0xCCB8, 0x62B6 }, - { 0xCCB9, 0x62CA }, - { 0xCCBA, 0x62AE }, - { 0xCCBB, 0x62B3 }, - { 0xCCBC, 0x62AF }, - { 0xCCBD, 0x62BB }, - { 0xCCBE, 0x62A9 }, - { 0xCCBF, 0x62B0 }, - { 0xCCC0, 0x62B8 }, - { 0xCCC1, 0x653D }, - { 0xCCC2, 0x65A8 }, - { 0xCCC3, 0x65BB }, - { 0xCCC4, 0x6609 }, - { 0xCCC5, 0x65FC }, - { 0xCCC6, 0x6604 }, - { 0xCCC7, 0x6612 }, - { 0xCCC8, 0x6608 }, - { 0xCCC9, 0x65FB }, - { 0xCCCA, 0x6603 }, - { 0xCCCB, 0x660B }, - { 0xCCCC, 0x660D }, - { 0xCCCD, 0x6605 }, - { 0xCCCE, 0x65FD }, - { 0xCCCF, 0x6611 }, - { 0xCCD0, 0x6610 }, - { 0xCCD1, 0x66F6 }, - { 0xCCD2, 0x670A }, - { 0xCCD3, 0x6785 }, - { 0xCCD4, 0x676C }, - { 0xCCD5, 0x678E }, - { 0xCCD6, 0x6792 }, - { 0xCCD7, 0x6776 }, - { 0xCCD8, 0x677B }, - { 0xCCD9, 0x6798 }, - { 0xCCDA, 0x6786 }, - { 0xCCDB, 0x6784 }, - { 0xCCDC, 0x6774 }, - { 0xCCDD, 0x678D }, - { 0xCCDE, 0x678C }, - { 0xCCDF, 0x677A }, - { 0xCCE0, 0x679F }, - { 0xCCE1, 0x6791 }, - { 0xCCE2, 0x6799 }, - { 0xCCE3, 0x6783 }, - { 0xCCE4, 0x677D }, - { 0xCCE5, 0x6781 }, - { 0xCCE6, 0x6778 }, - { 0xCCE7, 0x6779 }, - { 0xCCE8, 0x6794 }, - { 0xCCE9, 0x6B25 }, - { 0xCCEA, 0x6B80 }, - { 0xCCEB, 0x6B7E }, - { 0xCCEC, 0x6BDE }, - { 0xCCED, 0x6C1D }, - { 0xCCEE, 0x6C93 }, - { 0xCCEF, 0x6CEC }, - { 0xCCF0, 0x6CEB }, - { 0xCCF1, 0x6CEE }, - { 0xCCF2, 0x6CD9 }, - { 0xCCF3, 0x6CB6 }, - { 0xCCF4, 0x6CD4 }, - { 0xCCF5, 0x6CAD }, - { 0xCCF6, 0x6CE7 }, - { 0xCCF7, 0x6CB7 }, - { 0xCCF8, 0x6CD0 }, - { 0xCCF9, 0x6CC2 }, - { 0xCCFA, 0x6CBA }, - { 0xCCFB, 0x6CC3 }, - { 0xCCFC, 0x6CC6 }, - { 0xCCFD, 0x6CED }, - { 0xCCFE, 0x6CF2 }, - { 0xCD40, 0x6CD2 }, - { 0xCD41, 0x6CDD }, - { 0xCD42, 0x6CB4 }, - { 0xCD43, 0x6C8A }, - { 0xCD44, 0x6C9D }, - { 0xCD45, 0x6C80 }, - { 0xCD46, 0x6CDE }, - { 0xCD47, 0x6CC0 }, - { 0xCD48, 0x6D30 }, - { 0xCD49, 0x6CCD }, - { 0xCD4A, 0x6CC7 }, - { 0xCD4B, 0x6CB0 }, - { 0xCD4C, 0x6CF9 }, - { 0xCD4D, 0x6CCF }, - { 0xCD4E, 0x6CE9 }, - { 0xCD4F, 0x6CD1 }, - { 0xCD50, 0x7094 }, - { 0xCD51, 0x7098 }, - { 0xCD52, 0x7085 }, - { 0xCD53, 0x7093 }, - { 0xCD54, 0x7086 }, - { 0xCD55, 0x7084 }, - { 0xCD56, 0x7091 }, - { 0xCD57, 0x7096 }, - { 0xCD58, 0x7082 }, - { 0xCD59, 0x709A }, - { 0xCD5A, 0x7083 }, - { 0xCD5B, 0x726A }, - { 0xCD5C, 0x72D6 }, - { 0xCD5D, 0x72CB }, - { 0xCD5E, 0x72D8 }, - { 0xCD5F, 0x72C9 }, - { 0xCD60, 0x72DC }, - { 0xCD61, 0x72D2 }, - { 0xCD62, 0x72D4 }, - { 0xCD63, 0x72DA }, - { 0xCD64, 0x72CC }, - { 0xCD65, 0x72D1 }, - { 0xCD66, 0x73A4 }, - { 0xCD67, 0x73A1 }, - { 0xCD68, 0x73AD }, - { 0xCD69, 0x73A6 }, - { 0xCD6A, 0x73A2 }, - { 0xCD6B, 0x73A0 }, - { 0xCD6C, 0x73AC }, - { 0xCD6D, 0x739D }, - { 0xCD6E, 0x74DD }, - { 0xCD6F, 0x74E8 }, - { 0xCD70, 0x753F }, - { 0xCD71, 0x7540 }, - { 0xCD72, 0x753E }, - { 0xCD73, 0x758C }, - { 0xCD74, 0x7598 }, - { 0xCD75, 0x76AF }, - { 0xCD76, 0x76F3 }, - { 0xCD77, 0x76F1 }, - { 0xCD78, 0x76F0 }, - { 0xCD79, 0x76F5 }, - { 0xCD7A, 0x77F8 }, - { 0xCD7B, 0x77FC }, - { 0xCD7C, 0x77F9 }, - { 0xCD7D, 0x77FB }, - { 0xCD7E, 0x77FA }, - { 0xCDA1, 0x77F7 }, - { 0xCDA2, 0x7942 }, - { 0xCDA3, 0x793F }, - { 0xCDA4, 0x79C5 }, - { 0xCDA5, 0x7A78 }, - { 0xCDA6, 0x7A7B }, - { 0xCDA7, 0x7AFB }, - { 0xCDA8, 0x7C75 }, - { 0xCDA9, 0x7CFD }, - { 0xCDAA, 0x8035 }, - { 0xCDAB, 0x808F }, - { 0xCDAC, 0x80AE }, - { 0xCDAD, 0x80A3 }, - { 0xCDAE, 0x80B8 }, - { 0xCDAF, 0x80B5 }, - { 0xCDB0, 0x80AD }, - { 0xCDB1, 0x8220 }, - { 0xCDB2, 0x82A0 }, - { 0xCDB3, 0x82C0 }, - { 0xCDB4, 0x82AB }, - { 0xCDB5, 0x829A }, - { 0xCDB6, 0x8298 }, - { 0xCDB7, 0x829B }, - { 0xCDB8, 0x82B5 }, - { 0xCDB9, 0x82A7 }, - { 0xCDBA, 0x82AE }, - { 0xCDBB, 0x82BC }, - { 0xCDBC, 0x829E }, - { 0xCDBD, 0x82BA }, - { 0xCDBE, 0x82B4 }, - { 0xCDBF, 0x82A8 }, - { 0xCDC0, 0x82A1 }, - { 0xCDC1, 0x82A9 }, - { 0xCDC2, 0x82C2 }, - { 0xCDC3, 0x82A4 }, - { 0xCDC4, 0x82C3 }, - { 0xCDC5, 0x82B6 }, - { 0xCDC6, 0x82A2 }, - { 0xCDC7, 0x8670 }, - { 0xCDC8, 0x866F }, - { 0xCDC9, 0x866D }, - { 0xCDCA, 0x866E }, - { 0xCDCB, 0x8C56 }, - { 0xCDCC, 0x8FD2 }, - { 0xCDCD, 0x8FCB }, - { 0xCDCE, 0x8FD3 }, - { 0xCDCF, 0x8FCD }, - { 0xCDD0, 0x8FD6 }, - { 0xCDD1, 0x8FD5 }, - { 0xCDD2, 0x8FD7 }, - { 0xCDD3, 0x90B2 }, - { 0xCDD4, 0x90B4 }, - { 0xCDD5, 0x90AF }, - { 0xCDD6, 0x90B3 }, - { 0xCDD7, 0x90B0 }, - { 0xCDD8, 0x9639 }, - { 0xCDD9, 0x963D }, - { 0xCDDA, 0x963C }, - { 0xCDDB, 0x963A }, - { 0xCDDC, 0x9643 }, - { 0xCDDD, 0x4FCD }, - { 0xCDDE, 0x4FC5 }, - { 0xCDDF, 0x4FD3 }, - { 0xCDE0, 0x4FB2 }, - { 0xCDE1, 0x4FC9 }, - { 0xCDE2, 0x4FCB }, - { 0xCDE3, 0x4FC1 }, - { 0xCDE4, 0x4FD4 }, - { 0xCDE5, 0x4FDC }, - { 0xCDE6, 0x4FD9 }, - { 0xCDE7, 0x4FBB }, - { 0xCDE8, 0x4FB3 }, - { 0xCDE9, 0x4FDB }, - { 0xCDEA, 0x4FC7 }, - { 0xCDEB, 0x4FD6 }, - { 0xCDEC, 0x4FBA }, - { 0xCDED, 0x4FC0 }, - { 0xCDEE, 0x4FB9 }, - { 0xCDEF, 0x4FEC }, - { 0xCDF0, 0x5244 }, - { 0xCDF1, 0x5249 }, - { 0xCDF2, 0x52C0 }, - { 0xCDF3, 0x52C2 }, - { 0xCDF4, 0x533D }, - { 0xCDF5, 0x537C }, - { 0xCDF6, 0x5397 }, - { 0xCDF7, 0x5396 }, - { 0xCDF8, 0x5399 }, - { 0xCDF9, 0x5398 }, - { 0xCDFA, 0x54BA }, - { 0xCDFB, 0x54A1 }, - { 0xCDFC, 0x54AD }, - { 0xCDFD, 0x54A5 }, - { 0xCDFE, 0x54CF }, - { 0xCE40, 0x54C3 }, - { 0xCE41, 0x830D }, - { 0xCE42, 0x54B7 }, - { 0xCE43, 0x54AE }, - { 0xCE44, 0x54D6 }, - { 0xCE45, 0x54B6 }, - { 0xCE46, 0x54C5 }, - { 0xCE47, 0x54C6 }, - { 0xCE48, 0x54A0 }, - { 0xCE49, 0x5470 }, - { 0xCE4A, 0x54BC }, - { 0xCE4B, 0x54A2 }, - { 0xCE4C, 0x54BE }, - { 0xCE4D, 0x5472 }, - { 0xCE4E, 0x54DE }, - { 0xCE4F, 0x54B0 }, - { 0xCE50, 0x57B5 }, - { 0xCE51, 0x579E }, - { 0xCE52, 0x579F }, - { 0xCE53, 0x57A4 }, - { 0xCE54, 0x578C }, - { 0xCE55, 0x5797 }, - { 0xCE56, 0x579D }, - { 0xCE57, 0x579B }, - { 0xCE58, 0x5794 }, - { 0xCE59, 0x5798 }, - { 0xCE5A, 0x578F }, - { 0xCE5B, 0x5799 }, - { 0xCE5C, 0x57A5 }, - { 0xCE5D, 0x579A }, - { 0xCE5E, 0x5795 }, - { 0xCE5F, 0x58F4 }, - { 0xCE60, 0x590D }, - { 0xCE61, 0x5953 }, - { 0xCE62, 0x59E1 }, - { 0xCE63, 0x59DE }, - { 0xCE64, 0x59EE }, - { 0xCE65, 0x5A00 }, - { 0xCE66, 0x59F1 }, - { 0xCE67, 0x59DD }, - { 0xCE68, 0x59FA }, - { 0xCE69, 0x59FD }, - { 0xCE6A, 0x59FC }, - { 0xCE6B, 0x59F6 }, - { 0xCE6C, 0x59E4 }, - { 0xCE6D, 0x59F2 }, - { 0xCE6E, 0x59F7 }, - { 0xCE6F, 0x59DB }, - { 0xCE70, 0x59E9 }, - { 0xCE71, 0x59F3 }, - { 0xCE72, 0x59F5 }, - { 0xCE73, 0x59E0 }, - { 0xCE74, 0x59FE }, - { 0xCE75, 0x59F4 }, - { 0xCE76, 0x59ED }, - { 0xCE77, 0x5BA8 }, - { 0xCE78, 0x5C4C }, - { 0xCE79, 0x5CD0 }, - { 0xCE7A, 0x5CD8 }, - { 0xCE7B, 0x5CCC }, - { 0xCE7C, 0x5CD7 }, - { 0xCE7D, 0x5CCB }, - { 0xCE7E, 0x5CDB }, - { 0xCEA1, 0x5CDE }, - { 0xCEA2, 0x5CDA }, - { 0xCEA3, 0x5CC9 }, - { 0xCEA4, 0x5CC7 }, - { 0xCEA5, 0x5CCA }, - { 0xCEA6, 0x5CD6 }, - { 0xCEA7, 0x5CD3 }, - { 0xCEA8, 0x5CD4 }, - { 0xCEA9, 0x5CCF }, - { 0xCEAA, 0x5CC8 }, - { 0xCEAB, 0x5CC6 }, - { 0xCEAC, 0x5CCE }, - { 0xCEAD, 0x5CDF }, - { 0xCEAE, 0x5CF8 }, - { 0xCEAF, 0x5DF9 }, - { 0xCEB0, 0x5E21 }, - { 0xCEB1, 0x5E22 }, - { 0xCEB2, 0x5E23 }, - { 0xCEB3, 0x5E20 }, - { 0xCEB4, 0x5E24 }, - { 0xCEB5, 0x5EB0 }, - { 0xCEB6, 0x5EA4 }, - { 0xCEB7, 0x5EA2 }, - { 0xCEB8, 0x5E9B }, - { 0xCEB9, 0x5EA3 }, - { 0xCEBA, 0x5EA5 }, - { 0xCEBB, 0x5F07 }, - { 0xCEBC, 0x5F2E }, - { 0xCEBD, 0x5F56 }, - { 0xCEBE, 0x5F86 }, - { 0xCEBF, 0x6037 }, - { 0xCEC0, 0x6039 }, - { 0xCEC1, 0x6054 }, - { 0xCEC2, 0x6072 }, - { 0xCEC3, 0x605E }, - { 0xCEC4, 0x6045 }, - { 0xCEC5, 0x6053 }, - { 0xCEC6, 0x6047 }, - { 0xCEC7, 0x6049 }, - { 0xCEC8, 0x605B }, - { 0xCEC9, 0x604C }, - { 0xCECA, 0x6040 }, - { 0xCECB, 0x6042 }, - { 0xCECC, 0x605F }, - { 0xCECD, 0x6024 }, - { 0xCECE, 0x6044 }, - { 0xCECF, 0x6058 }, - { 0xCED0, 0x6066 }, - { 0xCED1, 0x606E }, - { 0xCED2, 0x6242 }, - { 0xCED3, 0x6243 }, - { 0xCED4, 0x62CF }, - { 0xCED5, 0x630D }, - { 0xCED6, 0x630B }, - { 0xCED7, 0x62F5 }, - { 0xCED8, 0x630E }, - { 0xCED9, 0x6303 }, - { 0xCEDA, 0x62EB }, - { 0xCEDB, 0x62F9 }, - { 0xCEDC, 0x630F }, - { 0xCEDD, 0x630C }, - { 0xCEDE, 0x62F8 }, - { 0xCEDF, 0x62F6 }, - { 0xCEE0, 0x6300 }, - { 0xCEE1, 0x6313 }, - { 0xCEE2, 0x6314 }, - { 0xCEE3, 0x62FA }, - { 0xCEE4, 0x6315 }, - { 0xCEE5, 0x62FB }, - { 0xCEE6, 0x62F0 }, - { 0xCEE7, 0x6541 }, - { 0xCEE8, 0x6543 }, - { 0xCEE9, 0x65AA }, - { 0xCEEA, 0x65BF }, - { 0xCEEB, 0x6636 }, - { 0xCEEC, 0x6621 }, - { 0xCEED, 0x6632 }, - { 0xCEEE, 0x6635 }, - { 0xCEEF, 0x661C }, - { 0xCEF0, 0x6626 }, - { 0xCEF1, 0x6622 }, - { 0xCEF2, 0x6633 }, - { 0xCEF3, 0x662B }, - { 0xCEF4, 0x663A }, - { 0xCEF5, 0x661D }, - { 0xCEF6, 0x6634 }, - { 0xCEF7, 0x6639 }, - { 0xCEF8, 0x662E }, - { 0xCEF9, 0x670F }, - { 0xCEFA, 0x6710 }, - { 0xCEFB, 0x67C1 }, - { 0xCEFC, 0x67F2 }, - { 0xCEFD, 0x67C8 }, - { 0xCEFE, 0x67BA }, - { 0xCF40, 0x67DC }, - { 0xCF41, 0x67BB }, - { 0xCF42, 0x67F8 }, - { 0xCF43, 0x67D8 }, - { 0xCF44, 0x67C0 }, - { 0xCF45, 0x67B7 }, - { 0xCF46, 0x67C5 }, - { 0xCF47, 0x67EB }, - { 0xCF48, 0x67E4 }, - { 0xCF49, 0x67DF }, - { 0xCF4A, 0x67B5 }, - { 0xCF4B, 0x67CD }, - { 0xCF4C, 0x67B3 }, - { 0xCF4D, 0x67F7 }, - { 0xCF4E, 0x67F6 }, - { 0xCF4F, 0x67EE }, - { 0xCF50, 0x67E3 }, - { 0xCF51, 0x67C2 }, - { 0xCF52, 0x67B9 }, - { 0xCF53, 0x67CE }, - { 0xCF54, 0x67E7 }, - { 0xCF55, 0x67F0 }, - { 0xCF56, 0x67B2 }, - { 0xCF57, 0x67FC }, - { 0xCF58, 0x67C6 }, - { 0xCF59, 0x67ED }, - { 0xCF5A, 0x67CC }, - { 0xCF5B, 0x67AE }, - { 0xCF5C, 0x67E6 }, - { 0xCF5D, 0x67DB }, - { 0xCF5E, 0x67FA }, - { 0xCF5F, 0x67C9 }, - { 0xCF60, 0x67CA }, - { 0xCF61, 0x67C3 }, - { 0xCF62, 0x67EA }, - { 0xCF63, 0x67CB }, - { 0xCF64, 0x6B28 }, - { 0xCF65, 0x6B82 }, - { 0xCF66, 0x6B84 }, - { 0xCF67, 0x6BB6 }, - { 0xCF68, 0x6BD6 }, - { 0xCF69, 0x6BD8 }, - { 0xCF6A, 0x6BE0 }, - { 0xCF6B, 0x6C20 }, - { 0xCF6C, 0x6C21 }, - { 0xCF6D, 0x6D28 }, - { 0xCF6E, 0x6D34 }, - { 0xCF6F, 0x6D2D }, - { 0xCF70, 0x6D1F }, - { 0xCF71, 0x6D3C }, - { 0xCF72, 0x6D3F }, - { 0xCF73, 0x6D12 }, - { 0xCF74, 0x6D0A }, - { 0xCF75, 0x6CDA }, - { 0xCF76, 0x6D33 }, - { 0xCF77, 0x6D04 }, - { 0xCF78, 0x6D19 }, - { 0xCF79, 0x6D3A }, - { 0xCF7A, 0x6D1A }, - { 0xCF7B, 0x6D11 }, - { 0xCF7C, 0x6D00 }, - { 0xCF7D, 0x6D1D }, - { 0xCF7E, 0x6D42 }, - { 0xCFA1, 0x6D01 }, - { 0xCFA2, 0x6D18 }, - { 0xCFA3, 0x6D37 }, - { 0xCFA4, 0x6D03 }, - { 0xCFA5, 0x6D0F }, - { 0xCFA6, 0x6D40 }, - { 0xCFA7, 0x6D07 }, - { 0xCFA8, 0x6D20 }, - { 0xCFA9, 0x6D2C }, - { 0xCFAA, 0x6D08 }, - { 0xCFAB, 0x6D22 }, - { 0xCFAC, 0x6D09 }, - { 0xCFAD, 0x6D10 }, - { 0xCFAE, 0x70B7 }, - { 0xCFAF, 0x709F }, - { 0xCFB0, 0x70BE }, - { 0xCFB1, 0x70B1 }, - { 0xCFB2, 0x70B0 }, - { 0xCFB3, 0x70A1 }, - { 0xCFB4, 0x70B4 }, - { 0xCFB5, 0x70B5 }, - { 0xCFB6, 0x70A9 }, - { 0xCFB7, 0x7241 }, - { 0xCFB8, 0x7249 }, - { 0xCFB9, 0x724A }, - { 0xCFBA, 0x726C }, - { 0xCFBB, 0x7270 }, - { 0xCFBC, 0x7273 }, - { 0xCFBD, 0x726E }, - { 0xCFBE, 0x72CA }, - { 0xCFBF, 0x72E4 }, - { 0xCFC0, 0x72E8 }, - { 0xCFC1, 0x72EB }, - { 0xCFC2, 0x72DF }, - { 0xCFC3, 0x72EA }, - { 0xCFC4, 0x72E6 }, - { 0xCFC5, 0x72E3 }, - { 0xCFC6, 0x7385 }, - { 0xCFC7, 0x73CC }, - { 0xCFC8, 0x73C2 }, - { 0xCFC9, 0x73C8 }, - { 0xCFCA, 0x73C5 }, - { 0xCFCB, 0x73B9 }, - { 0xCFCC, 0x73B6 }, - { 0xCFCD, 0x73B5 }, - { 0xCFCE, 0x73B4 }, - { 0xCFCF, 0x73EB }, - { 0xCFD0, 0x73BF }, - { 0xCFD1, 0x73C7 }, - { 0xCFD2, 0x73BE }, - { 0xCFD3, 0x73C3 }, - { 0xCFD4, 0x73C6 }, - { 0xCFD5, 0x73B8 }, - { 0xCFD6, 0x73CB }, - { 0xCFD7, 0x74EC }, - { 0xCFD8, 0x74EE }, - { 0xCFD9, 0x752E }, - { 0xCFDA, 0x7547 }, - { 0xCFDB, 0x7548 }, - { 0xCFDC, 0x75A7 }, - { 0xCFDD, 0x75AA }, - { 0xCFDE, 0x7679 }, - { 0xCFDF, 0x76C4 }, - { 0xCFE0, 0x7708 }, - { 0xCFE1, 0x7703 }, - { 0xCFE2, 0x7704 }, - { 0xCFE3, 0x7705 }, - { 0xCFE4, 0x770A }, - { 0xCFE5, 0x76F7 }, - { 0xCFE6, 0x76FB }, - { 0xCFE7, 0x76FA }, - { 0xCFE8, 0x77E7 }, - { 0xCFE9, 0x77E8 }, - { 0xCFEA, 0x7806 }, - { 0xCFEB, 0x7811 }, - { 0xCFEC, 0x7812 }, - { 0xCFED, 0x7805 }, - { 0xCFEE, 0x7810 }, - { 0xCFEF, 0x780F }, - { 0xCFF0, 0x780E }, - { 0xCFF1, 0x7809 }, - { 0xCFF2, 0x7803 }, - { 0xCFF3, 0x7813 }, - { 0xCFF4, 0x794A }, - { 0xCFF5, 0x794C }, - { 0xCFF6, 0x794B }, - { 0xCFF7, 0x7945 }, - { 0xCFF8, 0x7944 }, - { 0xCFF9, 0x79D5 }, - { 0xCFFA, 0x79CD }, - { 0xCFFB, 0x79CF }, - { 0xCFFC, 0x79D6 }, - { 0xCFFD, 0x79CE }, - { 0xCFFE, 0x7A80 }, - { 0xD040, 0x7A7E }, - { 0xD041, 0x7AD1 }, - { 0xD042, 0x7B00 }, - { 0xD043, 0x7B01 }, - { 0xD044, 0x7C7A }, - { 0xD045, 0x7C78 }, - { 0xD046, 0x7C79 }, - { 0xD047, 0x7C7F }, - { 0xD048, 0x7C80 }, - { 0xD049, 0x7C81 }, - { 0xD04A, 0x7D03 }, - { 0xD04B, 0x7D08 }, - { 0xD04C, 0x7D01 }, - { 0xD04D, 0x7F58 }, - { 0xD04E, 0x7F91 }, - { 0xD04F, 0x7F8D }, - { 0xD050, 0x7FBE }, - { 0xD051, 0x8007 }, - { 0xD052, 0x800E }, - { 0xD053, 0x800F }, - { 0xD054, 0x8014 }, - { 0xD055, 0x8037 }, - { 0xD056, 0x80D8 }, - { 0xD057, 0x80C7 }, - { 0xD058, 0x80E0 }, - { 0xD059, 0x80D1 }, - { 0xD05A, 0x80C8 }, - { 0xD05B, 0x80C2 }, - { 0xD05C, 0x80D0 }, - { 0xD05D, 0x80C5 }, - { 0xD05E, 0x80E3 }, - { 0xD05F, 0x80D9 }, - { 0xD060, 0x80DC }, - { 0xD061, 0x80CA }, - { 0xD062, 0x80D5 }, - { 0xD063, 0x80C9 }, - { 0xD064, 0x80CF }, - { 0xD065, 0x80D7 }, - { 0xD066, 0x80E6 }, - { 0xD067, 0x80CD }, - { 0xD068, 0x81FF }, - { 0xD069, 0x8221 }, - { 0xD06A, 0x8294 }, - { 0xD06B, 0x82D9 }, - { 0xD06C, 0x82FE }, - { 0xD06D, 0x82F9 }, - { 0xD06E, 0x8307 }, - { 0xD06F, 0x82E8 }, - { 0xD070, 0x8300 }, - { 0xD071, 0x82D5 }, - { 0xD072, 0x833A }, - { 0xD073, 0x82EB }, - { 0xD074, 0x82D6 }, - { 0xD075, 0x82F4 }, - { 0xD076, 0x82EC }, - { 0xD077, 0x82E1 }, - { 0xD078, 0x82F2 }, - { 0xD079, 0x82F5 }, - { 0xD07A, 0x830C }, - { 0xD07B, 0x82FB }, - { 0xD07C, 0x82F6 }, - { 0xD07D, 0x82F0 }, - { 0xD07E, 0x82EA }, - { 0xD0A1, 0x82E4 }, - { 0xD0A2, 0x82E0 }, - { 0xD0A3, 0x82FA }, - { 0xD0A4, 0x82F3 }, - { 0xD0A5, 0x82ED }, - { 0xD0A6, 0x8677 }, - { 0xD0A7, 0x8674 }, - { 0xD0A8, 0x867C }, - { 0xD0A9, 0x8673 }, - { 0xD0AA, 0x8841 }, - { 0xD0AB, 0x884E }, - { 0xD0AC, 0x8867 }, - { 0xD0AD, 0x886A }, - { 0xD0AE, 0x8869 }, - { 0xD0AF, 0x89D3 }, - { 0xD0B0, 0x8A04 }, - { 0xD0B1, 0x8A07 }, - { 0xD0B2, 0x8D72 }, - { 0xD0B3, 0x8FE3 }, - { 0xD0B4, 0x8FE1 }, - { 0xD0B5, 0x8FEE }, - { 0xD0B6, 0x8FE0 }, - { 0xD0B7, 0x90F1 }, - { 0xD0B8, 0x90BD }, - { 0xD0B9, 0x90BF }, - { 0xD0BA, 0x90D5 }, - { 0xD0BB, 0x90C5 }, - { 0xD0BC, 0x90BE }, - { 0xD0BD, 0x90C7 }, - { 0xD0BE, 0x90CB }, - { 0xD0BF, 0x90C8 }, - { 0xD0C0, 0x91D4 }, - { 0xD0C1, 0x91D3 }, - { 0xD0C2, 0x9654 }, - { 0xD0C3, 0x964F }, - { 0xD0C4, 0x9651 }, - { 0xD0C5, 0x9653 }, - { 0xD0C6, 0x964A }, - { 0xD0C7, 0x964E }, - { 0xD0C8, 0x501E }, - { 0xD0C9, 0x5005 }, - { 0xD0CA, 0x5007 }, - { 0xD0CB, 0x5013 }, - { 0xD0CC, 0x5022 }, - { 0xD0CD, 0x5030 }, - { 0xD0CE, 0x501B }, - { 0xD0CF, 0x4FF5 }, - { 0xD0D0, 0x4FF4 }, - { 0xD0D1, 0x5033 }, - { 0xD0D2, 0x5037 }, - { 0xD0D3, 0x502C }, - { 0xD0D4, 0x4FF6 }, - { 0xD0D5, 0x4FF7 }, - { 0xD0D6, 0x5017 }, - { 0xD0D7, 0x501C }, - { 0xD0D8, 0x5020 }, - { 0xD0D9, 0x5027 }, - { 0xD0DA, 0x5035 }, - { 0xD0DB, 0x502F }, - { 0xD0DC, 0x5031 }, - { 0xD0DD, 0x500E }, - { 0xD0DE, 0x515A }, - { 0xD0DF, 0x5194 }, - { 0xD0E0, 0x5193 }, - { 0xD0E1, 0x51CA }, - { 0xD0E2, 0x51C4 }, - { 0xD0E3, 0x51C5 }, - { 0xD0E4, 0x51C8 }, - { 0xD0E5, 0x51CE }, - { 0xD0E6, 0x5261 }, - { 0xD0E7, 0x525A }, - { 0xD0E8, 0x5252 }, - { 0xD0E9, 0x525E }, - { 0xD0EA, 0x525F }, - { 0xD0EB, 0x5255 }, - { 0xD0EC, 0x5262 }, - { 0xD0ED, 0x52CD }, - { 0xD0EE, 0x530E }, - { 0xD0EF, 0x539E }, - { 0xD0F0, 0x5526 }, - { 0xD0F1, 0x54E2 }, - { 0xD0F2, 0x5517 }, - { 0xD0F3, 0x5512 }, - { 0xD0F4, 0x54E7 }, - { 0xD0F5, 0x54F3 }, - { 0xD0F6, 0x54E4 }, - { 0xD0F7, 0x551A }, - { 0xD0F8, 0x54FF }, - { 0xD0F9, 0x5504 }, - { 0xD0FA, 0x5508 }, - { 0xD0FB, 0x54EB }, - { 0xD0FC, 0x5511 }, - { 0xD0FD, 0x5505 }, - { 0xD0FE, 0x54F1 }, - { 0xD140, 0x550A }, - { 0xD141, 0x54FB }, - { 0xD142, 0x54F7 }, - { 0xD143, 0x54F8 }, - { 0xD144, 0x54E0 }, - { 0xD145, 0x550E }, - { 0xD146, 0x5503 }, - { 0xD147, 0x550B }, - { 0xD148, 0x5701 }, - { 0xD149, 0x5702 }, - { 0xD14A, 0x57CC }, - { 0xD14B, 0x5832 }, - { 0xD14C, 0x57D5 }, - { 0xD14D, 0x57D2 }, - { 0xD14E, 0x57BA }, - { 0xD14F, 0x57C6 }, - { 0xD150, 0x57BD }, - { 0xD151, 0x57BC }, - { 0xD152, 0x57B8 }, - { 0xD153, 0x57B6 }, - { 0xD154, 0x57BF }, - { 0xD155, 0x57C7 }, - { 0xD156, 0x57D0 }, - { 0xD157, 0x57B9 }, - { 0xD158, 0x57C1 }, - { 0xD159, 0x590E }, - { 0xD15A, 0x594A }, - { 0xD15B, 0x5A19 }, - { 0xD15C, 0x5A16 }, - { 0xD15D, 0x5A2D }, - { 0xD15E, 0x5A2E }, - { 0xD15F, 0x5A15 }, - { 0xD160, 0x5A0F }, - { 0xD161, 0x5A17 }, - { 0xD162, 0x5A0A }, - { 0xD163, 0x5A1E }, - { 0xD164, 0x5A33 }, - { 0xD165, 0x5B6C }, - { 0xD166, 0x5BA7 }, - { 0xD167, 0x5BAD }, - { 0xD168, 0x5BAC }, - { 0xD169, 0x5C03 }, - { 0xD16A, 0x5C56 }, - { 0xD16B, 0x5C54 }, - { 0xD16C, 0x5CEC }, - { 0xD16D, 0x5CFF }, - { 0xD16E, 0x5CEE }, - { 0xD16F, 0x5CF1 }, - { 0xD170, 0x5CF7 }, - { 0xD171, 0x5D00 }, - { 0xD172, 0x5CF9 }, - { 0xD173, 0x5E29 }, - { 0xD174, 0x5E28 }, - { 0xD175, 0x5EA8 }, - { 0xD176, 0x5EAE }, - { 0xD177, 0x5EAA }, - { 0xD178, 0x5EAC }, - { 0xD179, 0x5F33 }, - { 0xD17A, 0x5F30 }, - { 0xD17B, 0x5F67 }, - { 0xD17C, 0x605D }, - { 0xD17D, 0x605A }, - { 0xD17E, 0x6067 }, - { 0xD1A1, 0x6041 }, - { 0xD1A2, 0x60A2 }, - { 0xD1A3, 0x6088 }, - { 0xD1A4, 0x6080 }, - { 0xD1A5, 0x6092 }, - { 0xD1A6, 0x6081 }, - { 0xD1A7, 0x609D }, - { 0xD1A8, 0x6083 }, - { 0xD1A9, 0x6095 }, - { 0xD1AA, 0x609B }, - { 0xD1AB, 0x6097 }, - { 0xD1AC, 0x6087 }, - { 0xD1AD, 0x609C }, - { 0xD1AE, 0x608E }, - { 0xD1AF, 0x6219 }, - { 0xD1B0, 0x6246 }, - { 0xD1B1, 0x62F2 }, - { 0xD1B2, 0x6310 }, - { 0xD1B3, 0x6356 }, - { 0xD1B4, 0x632C }, - { 0xD1B5, 0x6344 }, - { 0xD1B6, 0x6345 }, - { 0xD1B7, 0x6336 }, - { 0xD1B8, 0x6343 }, - { 0xD1B9, 0x63E4 }, - { 0xD1BA, 0x6339 }, - { 0xD1BB, 0x634B }, - { 0xD1BC, 0x634A }, - { 0xD1BD, 0x633C }, - { 0xD1BE, 0x6329 }, - { 0xD1BF, 0x6341 }, - { 0xD1C0, 0x6334 }, - { 0xD1C1, 0x6358 }, - { 0xD1C2, 0x6354 }, - { 0xD1C3, 0x6359 }, - { 0xD1C4, 0x632D }, - { 0xD1C5, 0x6347 }, - { 0xD1C6, 0x6333 }, - { 0xD1C7, 0x635A }, - { 0xD1C8, 0x6351 }, - { 0xD1C9, 0x6338 }, - { 0xD1CA, 0x6357 }, - { 0xD1CB, 0x6340 }, - { 0xD1CC, 0x6348 }, - { 0xD1CD, 0x654A }, - { 0xD1CE, 0x6546 }, - { 0xD1CF, 0x65C6 }, - { 0xD1D0, 0x65C3 }, - { 0xD1D1, 0x65C4 }, - { 0xD1D2, 0x65C2 }, - { 0xD1D3, 0x664A }, - { 0xD1D4, 0x665F }, - { 0xD1D5, 0x6647 }, - { 0xD1D6, 0x6651 }, - { 0xD1D7, 0x6712 }, - { 0xD1D8, 0x6713 }, - { 0xD1D9, 0x681F }, - { 0xD1DA, 0x681A }, - { 0xD1DB, 0x6849 }, - { 0xD1DC, 0x6832 }, - { 0xD1DD, 0x6833 }, - { 0xD1DE, 0x683B }, - { 0xD1DF, 0x684B }, - { 0xD1E0, 0x684F }, - { 0xD1E1, 0x6816 }, - { 0xD1E2, 0x6831 }, - { 0xD1E3, 0x681C }, - { 0xD1E4, 0x6835 }, - { 0xD1E5, 0x682B }, - { 0xD1E6, 0x682D }, - { 0xD1E7, 0x682F }, - { 0xD1E8, 0x684E }, - { 0xD1E9, 0x6844 }, - { 0xD1EA, 0x6834 }, - { 0xD1EB, 0x681D }, - { 0xD1EC, 0x6812 }, - { 0xD1ED, 0x6814 }, - { 0xD1EE, 0x6826 }, - { 0xD1EF, 0x6828 }, - { 0xD1F0, 0x682E }, - { 0xD1F1, 0x684D }, - { 0xD1F2, 0x683A }, - { 0xD1F3, 0x6825 }, - { 0xD1F4, 0x6820 }, - { 0xD1F5, 0x6B2C }, - { 0xD1F6, 0x6B2F }, - { 0xD1F7, 0x6B2D }, - { 0xD1F8, 0x6B31 }, - { 0xD1F9, 0x6B34 }, - { 0xD1FA, 0x6B6D }, - { 0xD1FB, 0x8082 }, - { 0xD1FC, 0x6B88 }, - { 0xD1FD, 0x6BE6 }, - { 0xD1FE, 0x6BE4 }, - { 0xD240, 0x6BE8 }, - { 0xD241, 0x6BE3 }, - { 0xD242, 0x6BE2 }, - { 0xD243, 0x6BE7 }, - { 0xD244, 0x6C25 }, - { 0xD245, 0x6D7A }, - { 0xD246, 0x6D63 }, - { 0xD247, 0x6D64 }, - { 0xD248, 0x6D76 }, - { 0xD249, 0x6D0D }, - { 0xD24A, 0x6D61 }, - { 0xD24B, 0x6D92 }, - { 0xD24C, 0x6D58 }, - { 0xD24D, 0x6D62 }, - { 0xD24E, 0x6D6D }, - { 0xD24F, 0x6D6F }, - { 0xD250, 0x6D91 }, - { 0xD251, 0x6D8D }, - { 0xD252, 0x6DEF }, - { 0xD253, 0x6D7F }, - { 0xD254, 0x6D86 }, - { 0xD255, 0x6D5E }, - { 0xD256, 0x6D67 }, - { 0xD257, 0x6D60 }, - { 0xD258, 0x6D97 }, - { 0xD259, 0x6D70 }, - { 0xD25A, 0x6D7C }, - { 0xD25B, 0x6D5F }, - { 0xD25C, 0x6D82 }, - { 0xD25D, 0x6D98 }, - { 0xD25E, 0x6D2F }, - { 0xD25F, 0x6D68 }, - { 0xD260, 0x6D8B }, - { 0xD261, 0x6D7E }, - { 0xD262, 0x6D80 }, - { 0xD263, 0x6D84 }, - { 0xD264, 0x6D16 }, - { 0xD265, 0x6D83 }, - { 0xD266, 0x6D7B }, - { 0xD267, 0x6D7D }, - { 0xD268, 0x6D75 }, - { 0xD269, 0x6D90 }, - { 0xD26A, 0x70DC }, - { 0xD26B, 0x70D3 }, - { 0xD26C, 0x70D1 }, - { 0xD26D, 0x70DD }, - { 0xD26E, 0x70CB }, - { 0xD26F, 0x7F39 }, - { 0xD270, 0x70E2 }, - { 0xD271, 0x70D7 }, - { 0xD272, 0x70D2 }, - { 0xD273, 0x70DE }, - { 0xD274, 0x70E0 }, - { 0xD275, 0x70D4 }, - { 0xD276, 0x70CD }, - { 0xD277, 0x70C5 }, - { 0xD278, 0x70C6 }, - { 0xD279, 0x70C7 }, - { 0xD27A, 0x70DA }, - { 0xD27B, 0x70CE }, - { 0xD27C, 0x70E1 }, - { 0xD27D, 0x7242 }, - { 0xD27E, 0x7278 }, - { 0xD2A1, 0x7277 }, - { 0xD2A2, 0x7276 }, - { 0xD2A3, 0x7300 }, - { 0xD2A4, 0x72FA }, - { 0xD2A5, 0x72F4 }, - { 0xD2A6, 0x72FE }, - { 0xD2A7, 0x72F6 }, - { 0xD2A8, 0x72F3 }, - { 0xD2A9, 0x72FB }, - { 0xD2AA, 0x7301 }, - { 0xD2AB, 0x73D3 }, - { 0xD2AC, 0x73D9 }, - { 0xD2AD, 0x73E5 }, - { 0xD2AE, 0x73D6 }, - { 0xD2AF, 0x73BC }, - { 0xD2B0, 0x73E7 }, - { 0xD2B1, 0x73E3 }, - { 0xD2B2, 0x73E9 }, - { 0xD2B3, 0x73DC }, - { 0xD2B4, 0x73D2 }, - { 0xD2B5, 0x73DB }, - { 0xD2B6, 0x73D4 }, - { 0xD2B7, 0x73DD }, - { 0xD2B8, 0x73DA }, - { 0xD2B9, 0x73D7 }, - { 0xD2BA, 0x73D8 }, - { 0xD2BB, 0x73E8 }, - { 0xD2BC, 0x74DE }, - { 0xD2BD, 0x74DF }, - { 0xD2BE, 0x74F4 }, - { 0xD2BF, 0x74F5 }, - { 0xD2C0, 0x7521 }, - { 0xD2C1, 0x755B }, - { 0xD2C2, 0x755F }, - { 0xD2C3, 0x75B0 }, - { 0xD2C4, 0x75C1 }, - { 0xD2C5, 0x75BB }, - { 0xD2C6, 0x75C4 }, - { 0xD2C7, 0x75C0 }, - { 0xD2C8, 0x75BF }, - { 0xD2C9, 0x75B6 }, - { 0xD2CA, 0x75BA }, - { 0xD2CB, 0x768A }, - { 0xD2CC, 0x76C9 }, - { 0xD2CD, 0x771D }, - { 0xD2CE, 0x771B }, - { 0xD2CF, 0x7710 }, - { 0xD2D0, 0x7713 }, - { 0xD2D1, 0x7712 }, - { 0xD2D2, 0x7723 }, - { 0xD2D3, 0x7711 }, - { 0xD2D4, 0x7715 }, - { 0xD2D5, 0x7719 }, - { 0xD2D6, 0x771A }, - { 0xD2D7, 0x7722 }, - { 0xD2D8, 0x7727 }, - { 0xD2D9, 0x7823 }, - { 0xD2DA, 0x782C }, - { 0xD2DB, 0x7822 }, - { 0xD2DC, 0x7835 }, - { 0xD2DD, 0x782F }, - { 0xD2DE, 0x7828 }, - { 0xD2DF, 0x782E }, - { 0xD2E0, 0x782B }, - { 0xD2E1, 0x7821 }, - { 0xD2E2, 0x7829 }, - { 0xD2E3, 0x7833 }, - { 0xD2E4, 0x782A }, - { 0xD2E5, 0x7831 }, - { 0xD2E6, 0x7954 }, - { 0xD2E7, 0x795B }, - { 0xD2E8, 0x794F }, - { 0xD2E9, 0x795C }, - { 0xD2EA, 0x7953 }, - { 0xD2EB, 0x7952 }, - { 0xD2EC, 0x7951 }, - { 0xD2ED, 0x79EB }, - { 0xD2EE, 0x79EC }, - { 0xD2EF, 0x79E0 }, - { 0xD2F0, 0x79EE }, - { 0xD2F1, 0x79ED }, - { 0xD2F2, 0x79EA }, - { 0xD2F3, 0x79DC }, - { 0xD2F4, 0x79DE }, - { 0xD2F5, 0x79DD }, - { 0xD2F6, 0x7A86 }, - { 0xD2F7, 0x7A89 }, - { 0xD2F8, 0x7A85 }, - { 0xD2F9, 0x7A8B }, - { 0xD2FA, 0x7A8C }, - { 0xD2FB, 0x7A8A }, - { 0xD2FC, 0x7A87 }, - { 0xD2FD, 0x7AD8 }, - { 0xD2FE, 0x7B10 }, - { 0xD340, 0x7B04 }, - { 0xD341, 0x7B13 }, - { 0xD342, 0x7B05 }, - { 0xD343, 0x7B0F }, - { 0xD344, 0x7B08 }, - { 0xD345, 0x7B0A }, - { 0xD346, 0x7B0E }, - { 0xD347, 0x7B09 }, - { 0xD348, 0x7B12 }, - { 0xD349, 0x7C84 }, - { 0xD34A, 0x7C91 }, - { 0xD34B, 0x7C8A }, - { 0xD34C, 0x7C8C }, - { 0xD34D, 0x7C88 }, - { 0xD34E, 0x7C8D }, - { 0xD34F, 0x7C85 }, - { 0xD350, 0x7D1E }, - { 0xD351, 0x7D1D }, - { 0xD352, 0x7D11 }, - { 0xD353, 0x7D0E }, - { 0xD354, 0x7D18 }, - { 0xD355, 0x7D16 }, - { 0xD356, 0x7D13 }, - { 0xD357, 0x7D1F }, - { 0xD358, 0x7D12 }, - { 0xD359, 0x7D0F }, - { 0xD35A, 0x7D0C }, - { 0xD35B, 0x7F5C }, - { 0xD35C, 0x7F61 }, - { 0xD35D, 0x7F5E }, - { 0xD35E, 0x7F60 }, - { 0xD35F, 0x7F5D }, - { 0xD360, 0x7F5B }, - { 0xD361, 0x7F96 }, - { 0xD362, 0x7F92 }, - { 0xD363, 0x7FC3 }, - { 0xD364, 0x7FC2 }, - { 0xD365, 0x7FC0 }, - { 0xD366, 0x8016 }, - { 0xD367, 0x803E }, - { 0xD368, 0x8039 }, - { 0xD369, 0x80FA }, - { 0xD36A, 0x80F2 }, - { 0xD36B, 0x80F9 }, - { 0xD36C, 0x80F5 }, - { 0xD36D, 0x8101 }, - { 0xD36E, 0x80FB }, - { 0xD36F, 0x8100 }, - { 0xD370, 0x8201 }, - { 0xD371, 0x822F }, - { 0xD372, 0x8225 }, - { 0xD373, 0x8333 }, - { 0xD374, 0x832D }, - { 0xD375, 0x8344 }, - { 0xD376, 0x8319 }, - { 0xD377, 0x8351 }, - { 0xD378, 0x8325 }, - { 0xD379, 0x8356 }, - { 0xD37A, 0x833F }, - { 0xD37B, 0x8341 }, - { 0xD37C, 0x8326 }, - { 0xD37D, 0x831C }, - { 0xD37E, 0x8322 }, - { 0xD3A1, 0x8342 }, - { 0xD3A2, 0x834E }, - { 0xD3A3, 0x831B }, - { 0xD3A4, 0x832A }, - { 0xD3A5, 0x8308 }, - { 0xD3A6, 0x833C }, - { 0xD3A7, 0x834D }, - { 0xD3A8, 0x8316 }, - { 0xD3A9, 0x8324 }, - { 0xD3AA, 0x8320 }, - { 0xD3AB, 0x8337 }, - { 0xD3AC, 0x832F }, - { 0xD3AD, 0x8329 }, - { 0xD3AE, 0x8347 }, - { 0xD3AF, 0x8345 }, - { 0xD3B0, 0x834C }, - { 0xD3B1, 0x8353 }, - { 0xD3B2, 0x831E }, - { 0xD3B3, 0x832C }, - { 0xD3B4, 0x834B }, - { 0xD3B5, 0x8327 }, - { 0xD3B6, 0x8348 }, - { 0xD3B7, 0x8653 }, - { 0xD3B8, 0x8652 }, - { 0xD3B9, 0x86A2 }, - { 0xD3BA, 0x86A8 }, - { 0xD3BB, 0x8696 }, - { 0xD3BC, 0x868D }, - { 0xD3BD, 0x8691 }, - { 0xD3BE, 0x869E }, - { 0xD3BF, 0x8687 }, - { 0xD3C0, 0x8697 }, - { 0xD3C1, 0x8686 }, - { 0xD3C2, 0x868B }, - { 0xD3C3, 0x869A }, - { 0xD3C4, 0x8685 }, - { 0xD3C5, 0x86A5 }, - { 0xD3C6, 0x8699 }, - { 0xD3C7, 0x86A1 }, - { 0xD3C8, 0x86A7 }, - { 0xD3C9, 0x8695 }, - { 0xD3CA, 0x8698 }, - { 0xD3CB, 0x868E }, - { 0xD3CC, 0x869D }, - { 0xD3CD, 0x8690 }, - { 0xD3CE, 0x8694 }, - { 0xD3CF, 0x8843 }, - { 0xD3D0, 0x8844 }, - { 0xD3D1, 0x886D }, - { 0xD3D2, 0x8875 }, - { 0xD3D3, 0x8876 }, - { 0xD3D4, 0x8872 }, - { 0xD3D5, 0x8880 }, - { 0xD3D6, 0x8871 }, - { 0xD3D7, 0x887F }, - { 0xD3D8, 0x886F }, - { 0xD3D9, 0x8883 }, - { 0xD3DA, 0x887E }, - { 0xD3DB, 0x8874 }, - { 0xD3DC, 0x887C }, - { 0xD3DD, 0x8A12 }, - { 0xD3DE, 0x8C47 }, - { 0xD3DF, 0x8C57 }, - { 0xD3E0, 0x8C7B }, - { 0xD3E1, 0x8CA4 }, - { 0xD3E2, 0x8CA3 }, - { 0xD3E3, 0x8D76 }, - { 0xD3E4, 0x8D78 }, - { 0xD3E5, 0x8DB5 }, - { 0xD3E6, 0x8DB7 }, - { 0xD3E7, 0x8DB6 }, - { 0xD3E8, 0x8ED1 }, - { 0xD3E9, 0x8ED3 }, - { 0xD3EA, 0x8FFE }, - { 0xD3EB, 0x8FF5 }, - { 0xD3EC, 0x9002 }, - { 0xD3ED, 0x8FFF }, - { 0xD3EE, 0x8FFB }, - { 0xD3EF, 0x9004 }, - { 0xD3F0, 0x8FFC }, - { 0xD3F1, 0x8FF6 }, - { 0xD3F2, 0x90D6 }, - { 0xD3F3, 0x90E0 }, - { 0xD3F4, 0x90D9 }, - { 0xD3F5, 0x90DA }, - { 0xD3F6, 0x90E3 }, - { 0xD3F7, 0x90DF }, - { 0xD3F8, 0x90E5 }, - { 0xD3F9, 0x90D8 }, - { 0xD3FA, 0x90DB }, - { 0xD3FB, 0x90D7 }, - { 0xD3FC, 0x90DC }, - { 0xD3FD, 0x90E4 }, - { 0xD3FE, 0x9150 }, - { 0xD440, 0x914E }, - { 0xD441, 0x914F }, - { 0xD442, 0x91D5 }, - { 0xD443, 0x91E2 }, - { 0xD444, 0x91DA }, - { 0xD445, 0x965C }, - { 0xD446, 0x965F }, - { 0xD447, 0x96BC }, - { 0xD448, 0x98E3 }, - { 0xD449, 0x9ADF }, - { 0xD44A, 0x9B2F }, - { 0xD44B, 0x4E7F }, - { 0xD44C, 0x5070 }, - { 0xD44D, 0x506A }, - { 0xD44E, 0x5061 }, - { 0xD44F, 0x505E }, - { 0xD450, 0x5060 }, - { 0xD451, 0x5053 }, - { 0xD452, 0x504B }, - { 0xD453, 0x505D }, - { 0xD454, 0x5072 }, - { 0xD455, 0x5048 }, - { 0xD456, 0x504D }, - { 0xD457, 0x5041 }, - { 0xD458, 0x505B }, - { 0xD459, 0x504A }, - { 0xD45A, 0x5062 }, - { 0xD45B, 0x5015 }, - { 0xD45C, 0x5045 }, - { 0xD45D, 0x505F }, - { 0xD45E, 0x5069 }, - { 0xD45F, 0x506B }, - { 0xD460, 0x5063 }, - { 0xD461, 0x5064 }, - { 0xD462, 0x5046 }, - { 0xD463, 0x5040 }, - { 0xD464, 0x506E }, - { 0xD465, 0x5073 }, - { 0xD466, 0x5057 }, - { 0xD467, 0x5051 }, - { 0xD468, 0x51D0 }, - { 0xD469, 0x526B }, - { 0xD46A, 0x526D }, - { 0xD46B, 0x526C }, - { 0xD46C, 0x526E }, - { 0xD46D, 0x52D6 }, - { 0xD46E, 0x52D3 }, - { 0xD46F, 0x532D }, - { 0xD470, 0x539C }, - { 0xD471, 0x5575 }, - { 0xD472, 0x5576 }, - { 0xD473, 0x553C }, - { 0xD474, 0x554D }, - { 0xD475, 0x5550 }, - { 0xD476, 0x5534 }, - { 0xD477, 0x552A }, - { 0xD478, 0x5551 }, - { 0xD479, 0x5562 }, - { 0xD47A, 0x5536 }, - { 0xD47B, 0x5535 }, - { 0xD47C, 0x5530 }, - { 0xD47D, 0x5552 }, - { 0xD47E, 0x5545 }, - { 0xD4A1, 0x550C }, - { 0xD4A2, 0x5532 }, - { 0xD4A3, 0x5565 }, - { 0xD4A4, 0x554E }, - { 0xD4A5, 0x5539 }, - { 0xD4A6, 0x5548 }, - { 0xD4A7, 0x552D }, - { 0xD4A8, 0x553B }, - { 0xD4A9, 0x5540 }, - { 0xD4AA, 0x554B }, - { 0xD4AB, 0x570A }, - { 0xD4AC, 0x5707 }, - { 0xD4AD, 0x57FB }, - { 0xD4AE, 0x5814 }, - { 0xD4AF, 0x57E2 }, - { 0xD4B0, 0x57F6 }, - { 0xD4B1, 0x57DC }, - { 0xD4B2, 0x57F4 }, - { 0xD4B3, 0x5800 }, - { 0xD4B4, 0x57ED }, - { 0xD4B5, 0x57FD }, - { 0xD4B6, 0x5808 }, - { 0xD4B7, 0x57F8 }, - { 0xD4B8, 0x580B }, - { 0xD4B9, 0x57F3 }, - { 0xD4BA, 0x57CF }, - { 0xD4BB, 0x5807 }, - { 0xD4BC, 0x57EE }, - { 0xD4BD, 0x57E3 }, - { 0xD4BE, 0x57F2 }, - { 0xD4BF, 0x57E5 }, - { 0xD4C0, 0x57EC }, - { 0xD4C1, 0x57E1 }, - { 0xD4C2, 0x580E }, - { 0xD4C3, 0x57FC }, - { 0xD4C4, 0x5810 }, - { 0xD4C5, 0x57E7 }, - { 0xD4C6, 0x5801 }, - { 0xD4C7, 0x580C }, - { 0xD4C8, 0x57F1 }, - { 0xD4C9, 0x57E9 }, - { 0xD4CA, 0x57F0 }, - { 0xD4CB, 0x580D }, - { 0xD4CC, 0x5804 }, - { 0xD4CD, 0x595C }, - { 0xD4CE, 0x5A60 }, - { 0xD4CF, 0x5A58 }, - { 0xD4D0, 0x5A55 }, - { 0xD4D1, 0x5A67 }, - { 0xD4D2, 0x5A5E }, - { 0xD4D3, 0x5A38 }, - { 0xD4D4, 0x5A35 }, - { 0xD4D5, 0x5A6D }, - { 0xD4D6, 0x5A50 }, - { 0xD4D7, 0x5A5F }, - { 0xD4D8, 0x5A65 }, - { 0xD4D9, 0x5A6C }, - { 0xD4DA, 0x5A53 }, - { 0xD4DB, 0x5A64 }, - { 0xD4DC, 0x5A57 }, - { 0xD4DD, 0x5A43 }, - { 0xD4DE, 0x5A5D }, - { 0xD4DF, 0x5A52 }, - { 0xD4E0, 0x5A44 }, - { 0xD4E1, 0x5A5B }, - { 0xD4E2, 0x5A48 }, - { 0xD4E3, 0x5A8E }, - { 0xD4E4, 0x5A3E }, - { 0xD4E5, 0x5A4D }, - { 0xD4E6, 0x5A39 }, - { 0xD4E7, 0x5A4C }, - { 0xD4E8, 0x5A70 }, - { 0xD4E9, 0x5A69 }, - { 0xD4EA, 0x5A47 }, - { 0xD4EB, 0x5A51 }, - { 0xD4EC, 0x5A56 }, - { 0xD4ED, 0x5A42 }, - { 0xD4EE, 0x5A5C }, - { 0xD4EF, 0x5B72 }, - { 0xD4F0, 0x5B6E }, - { 0xD4F1, 0x5BC1 }, - { 0xD4F2, 0x5BC0 }, - { 0xD4F3, 0x5C59 }, - { 0xD4F4, 0x5D1E }, - { 0xD4F5, 0x5D0B }, - { 0xD4F6, 0x5D1D }, - { 0xD4F7, 0x5D1A }, - { 0xD4F8, 0x5D20 }, - { 0xD4F9, 0x5D0C }, - { 0xD4FA, 0x5D28 }, - { 0xD4FB, 0x5D0D }, - { 0xD4FC, 0x5D26 }, - { 0xD4FD, 0x5D25 }, - { 0xD4FE, 0x5D0F }, - { 0xD540, 0x5D30 }, - { 0xD541, 0x5D12 }, - { 0xD542, 0x5D23 }, - { 0xD543, 0x5D1F }, - { 0xD544, 0x5D2E }, - { 0xD545, 0x5E3E }, - { 0xD546, 0x5E34 }, - { 0xD547, 0x5EB1 }, - { 0xD548, 0x5EB4 }, - { 0xD549, 0x5EB9 }, - { 0xD54A, 0x5EB2 }, - { 0xD54B, 0x5EB3 }, - { 0xD54C, 0x5F36 }, - { 0xD54D, 0x5F38 }, - { 0xD54E, 0x5F9B }, - { 0xD54F, 0x5F96 }, - { 0xD550, 0x5F9F }, - { 0xD551, 0x608A }, - { 0xD552, 0x6090 }, - { 0xD553, 0x6086 }, - { 0xD554, 0x60BE }, - { 0xD555, 0x60B0 }, - { 0xD556, 0x60BA }, - { 0xD557, 0x60D3 }, - { 0xD558, 0x60D4 }, - { 0xD559, 0x60CF }, - { 0xD55A, 0x60E4 }, - { 0xD55B, 0x60D9 }, - { 0xD55C, 0x60DD }, - { 0xD55D, 0x60C8 }, - { 0xD55E, 0x60B1 }, - { 0xD55F, 0x60DB }, - { 0xD560, 0x60B7 }, - { 0xD561, 0x60CA }, - { 0xD562, 0x60BF }, - { 0xD563, 0x60C3 }, - { 0xD564, 0x60CD }, - { 0xD565, 0x60C0 }, - { 0xD566, 0x6332 }, - { 0xD567, 0x6365 }, - { 0xD568, 0x638A }, - { 0xD569, 0x6382 }, - { 0xD56A, 0x637D }, - { 0xD56B, 0x63BD }, - { 0xD56C, 0x639E }, - { 0xD56D, 0x63AD }, - { 0xD56E, 0x639D }, - { 0xD56F, 0x6397 }, - { 0xD570, 0x63AB }, - { 0xD571, 0x638E }, - { 0xD572, 0x636F }, - { 0xD573, 0x6387 }, - { 0xD574, 0x6390 }, - { 0xD575, 0x636E }, - { 0xD576, 0x63AF }, - { 0xD577, 0x6375 }, - { 0xD578, 0x639C }, - { 0xD579, 0x636D }, - { 0xD57A, 0x63AE }, - { 0xD57B, 0x637C }, - { 0xD57C, 0x63A4 }, - { 0xD57D, 0x633B }, + { 0xA140, 0x3000 }, + { 0xA141, 0xFF0C }, + { 0xA142, 0x3001 }, + { 0xA143, 0x3002 }, + { 0xA144, 0xFF0E }, + { 0xA145, 0x2022 }, + { 0xA146, 0xFF1B }, + { 0xA147, 0xFF1A }, + { 0xA148, 0xFF1F }, + { 0xA149, 0xFF01 }, + { 0xA14A, 0xFE30 }, + { 0xA14B, 0x2026 }, + { 0xA14C, 0x2025 }, + { 0xA14D, 0xFE50 }, + { 0xA14E, 0xFF64 }, + { 0xA14F, 0xFE52 }, + { 0xA150, 0x00B7 }, + { 0xA151, 0xFE54 }, + { 0xA152, 0xFE55 }, + { 0xA153, 0xFE56 }, + { 0xA154, 0xFE57 }, + { 0xA155, 0xFF5C }, + { 0xA156, 0x2013 }, + { 0xA157, 0xFE31 }, + { 0xA158, 0x2014 }, + { 0xA159, 0xFE33 }, + { 0xA15A, 0xFFFD }, + { 0xA15B, 0xFE34 }, + { 0xA15C, 0xFE4F }, + { 0xA15D, 0xFF08 }, + { 0xA15E, 0xFF09 }, + { 0xA15F, 0xFE35 }, + { 0xA160, 0xFE36 }, + { 0xA161, 0xFF5B }, + { 0xA162, 0xFF5D }, + { 0xA163, 0xFE37 }, + { 0xA164, 0xFE38 }, + { 0xA165, 0x3014 }, + { 0xA166, 0x3015 }, + { 0xA167, 0xFE39 }, + { 0xA168, 0xFE3A }, + { 0xA169, 0x3010 }, + { 0xA16A, 0x3011 }, + { 0xA16B, 0xFE3B }, + { 0xA16C, 0xFE3C }, + { 0xA16D, 0x300A }, + { 0xA16E, 0x300B }, + { 0xA16F, 0xFE3D }, + { 0xA170, 0xFE3E }, + { 0xA171, 0x3008 }, + { 0xA172, 0x3009 }, + { 0xA173, 0xFE3F }, + { 0xA174, 0xFE40 }, + { 0xA175, 0x300C }, + { 0xA176, 0x300D }, + { 0xA177, 0xFE41 }, + { 0xA178, 0xFE42 }, + { 0xA179, 0x300E }, + { 0xA17A, 0x300F }, + { 0xA17B, 0xFE43 }, + { 0xA17C, 0xFE44 }, + { 0xA17D, 0xFE59 }, + { 0xA17E, 0xFE5A }, + { 0xA1A1, 0xFE5B }, + { 0xA1A2, 0xFE5C }, + { 0xA1A3, 0xFE5D }, + { 0xA1A4, 0xFE5E }, + { 0xA1A5, 0x2018 }, + { 0xA1A6, 0x2019 }, + { 0xA1A7, 0x201C }, + { 0xA1A8, 0x201D }, + { 0xA1A9, 0x301D }, + { 0xA1AA, 0x301E }, + { 0xA1AB, 0x2035 }, + { 0xA1AC, 0x2032 }, + { 0xA1AD, 0xFF03 }, + { 0xA1AE, 0xFF06 }, + { 0xA1AF, 0xFF0A }, + { 0xA1B0, 0x203B }, + { 0xA1B1, 0x00A7 }, + { 0xA1B2, 0x3003 }, + { 0xA1B3, 0x25CB }, + { 0xA1B4, 0x25CF }, + { 0xA1B5, 0x25B3 }, + { 0xA1B6, 0x25B2 }, + { 0xA1B7, 0x25CE }, + { 0xA1B8, 0x2606 }, + { 0xA1B9, 0x2605 }, + { 0xA1BA, 0x25C7 }, + { 0xA1BB, 0x25C6 }, + { 0xA1BC, 0x25A1 }, + { 0xA1BD, 0x25A0 }, + { 0xA1BE, 0x25BD }, + { 0xA1BF, 0x25BC }, + { 0xA1C0, 0x32A3 }, + { 0xA1C1, 0x2105 }, + { 0xA1C2, 0x203E }, + { 0xA1C3, 0xFFFD }, + { 0xA1C4, 0xFF3F }, + { 0xA1C5, 0xFFFD }, + { 0xA1C6, 0xFE49 }, + { 0xA1C7, 0xFE4A }, + { 0xA1C8, 0xFE4D }, + { 0xA1C9, 0xFE4E }, + { 0xA1CA, 0xFE4B }, + { 0xA1CB, 0xFE4C }, + { 0xA1CC, 0xFE5F }, + { 0xA1CD, 0xFE60 }, + { 0xA1CE, 0xFE61 }, + { 0xA1CF, 0xFF0B }, + { 0xA1D0, 0xFF0D }, + { 0xA1D1, 0x00D7 }, + { 0xA1D2, 0x00F7 }, + { 0xA1D3, 0x00B1 }, + { 0xA1D4, 0x221A }, + { 0xA1D5, 0xFF1C }, + { 0xA1D6, 0xFF1E }, + { 0xA1D7, 0xFF1D }, + { 0xA1D8, 0x2266 }, + { 0xA1D9, 0x2267 }, + { 0xA1DA, 0x2260 }, + { 0xA1DB, 0x221E }, + { 0xA1DC, 0x2252 }, + { 0xA1DD, 0x2261 }, + { 0xA1DE, 0xFE62 }, + { 0xA1DF, 0xFE63 }, + { 0xA1E0, 0xFE64 }, + { 0xA1E1, 0xFE65 }, + { 0xA1E2, 0xFE66 }, + { 0xA1E3, 0x223C }, + { 0xA1E4, 0x2229 }, + { 0xA1E5, 0x222A }, + { 0xA1E6, 0x22A5 }, + { 0xA1E7, 0x2220 }, + { 0xA1E8, 0x221F }, + { 0xA1E9, 0x22BF }, + { 0xA1EA, 0x33D2 }, + { 0xA1EB, 0x33D1 }, + { 0xA1EC, 0x222B }, + { 0xA1ED, 0x222E }, + { 0xA1EE, 0x2235 }, + { 0xA1EF, 0x2234 }, + { 0xA1F0, 0x2640 }, + { 0xA1F1, 0x2642 }, + { 0xA1F2, 0x2641 }, + { 0xA1F3, 0x2609 }, + { 0xA1F4, 0x2191 }, + { 0xA1F5, 0x2193 }, + { 0xA1F6, 0x2190 }, + { 0xA1F7, 0x2192 }, + { 0xA1F8, 0x2196 }, + { 0xA1F9, 0x2197 }, + { 0xA1FA, 0x2199 }, + { 0xA1FB, 0x2198 }, + { 0xA1FC, 0x2225 }, + { 0xA1FD, 0x2223 }, + { 0xA1FE, 0xFFFD }, + { 0xA240, 0xFFFD }, + { 0xA241, 0xFF0F }, + { 0xA242, 0xFF3C }, + { 0xA243, 0xFF04 }, + { 0xA244, 0x00A5 }, + { 0xA245, 0x3012 }, + { 0xA246, 0x00A2 }, + { 0xA247, 0x00A3 }, + { 0xA248, 0xFF05 }, + { 0xA249, 0xFF20 }, + { 0xA24A, 0x2103 }, + { 0xA24B, 0x2109 }, + { 0xA24C, 0xFE69 }, + { 0xA24D, 0xFE6A }, + { 0xA24E, 0xFE6B }, + { 0xA24F, 0x33D5 }, + { 0xA250, 0x339C }, + { 0xA251, 0x339D }, + { 0xA252, 0x339E }, + { 0xA253, 0x33CE }, + { 0xA254, 0x33A1 }, + { 0xA255, 0x338E }, + { 0xA256, 0x338F }, + { 0xA257, 0x33C4 }, + { 0xA258, 0x00B0 }, + { 0xA259, 0x5159 }, + { 0xA25A, 0x515B }, + { 0xA25B, 0x515E }, + { 0xA25C, 0x515D }, + { 0xA25D, 0x5161 }, + { 0xA25E, 0x5163 }, + { 0xA25F, 0x55E7 }, + { 0xA260, 0x74E9 }, + { 0xA261, 0x7CCE }, + { 0xA262, 0x2581 }, + { 0xA263, 0x2582 }, + { 0xA264, 0x2583 }, + { 0xA265, 0x2584 }, + { 0xA266, 0x2585 }, + { 0xA267, 0x2586 }, + { 0xA268, 0x2587 }, + { 0xA269, 0x2588 }, + { 0xA26A, 0x258F }, + { 0xA26B, 0x258E }, + { 0xA26C, 0x258D }, + { 0xA26D, 0x258C }, + { 0xA26E, 0x258B }, + { 0xA26F, 0x258A }, + { 0xA270, 0x2589 }, + { 0xA271, 0x253C }, + { 0xA272, 0x2534 }, + { 0xA273, 0x252C }, + { 0xA274, 0x2524 }, + { 0xA275, 0x251C }, + { 0xA276, 0x2594 }, + { 0xA277, 0x2500 }, + { 0xA278, 0x2502 }, + { 0xA279, 0x2595 }, + { 0xA27A, 0x250C }, + { 0xA27B, 0x2510 }, + { 0xA27C, 0x2514 }, + { 0xA27D, 0x2518 }, + { 0xA27E, 0x256D }, + { 0xA2A1, 0x256E }, + { 0xA2A2, 0x2570 }, + { 0xA2A3, 0x256F }, + { 0xA2A4, 0x2550 }, + { 0xA2A5, 0x255E }, + { 0xA2A6, 0x256A }, + { 0xA2A7, 0x2561 }, + { 0xA2A8, 0x25E2 }, + { 0xA2A9, 0x25E3 }, + { 0xA2AA, 0x25E5 }, + { 0xA2AB, 0x25E4 }, + { 0xA2AC, 0x2571 }, + { 0xA2AD, 0x2572 }, + { 0xA2AE, 0x2573 }, + { 0xA2AF, 0xFF10 }, + { 0xA2B0, 0xFF11 }, + { 0xA2B1, 0xFF12 }, + { 0xA2B2, 0xFF13 }, + { 0xA2B3, 0xFF14 }, + { 0xA2B4, 0xFF15 }, + { 0xA2B5, 0xFF16 }, + { 0xA2B6, 0xFF17 }, + { 0xA2B7, 0xFF18 }, + { 0xA2B8, 0xFF19 }, + { 0xA2B9, 0x2160 }, + { 0xA2BA, 0x2161 }, + { 0xA2BB, 0x2162 }, + { 0xA2BC, 0x2163 }, + { 0xA2BD, 0x2164 }, + { 0xA2BE, 0x2165 }, + { 0xA2BF, 0x2166 }, + { 0xA2C0, 0x2167 }, + { 0xA2C1, 0x2168 }, + { 0xA2C2, 0x2169 }, + { 0xA2C3, 0x3021 }, + { 0xA2C4, 0x3022 }, + { 0xA2C5, 0x3023 }, + { 0xA2C6, 0x3024 }, + { 0xA2C7, 0x3025 }, + { 0xA2C8, 0x3026 }, + { 0xA2C9, 0x3027 }, + { 0xA2CA, 0x3028 }, + { 0xA2CB, 0x3029 }, + { 0xA2CC, 0xFFFD }, + { 0xA2CD, 0x5344 }, + { 0xA2CE, 0xFFFD }, + { 0xA2CF, 0xFF21 }, + { 0xA2D0, 0xFF22 }, + { 0xA2D1, 0xFF23 }, + { 0xA2D2, 0xFF24 }, + { 0xA2D3, 0xFF25 }, + { 0xA2D4, 0xFF26 }, + { 0xA2D5, 0xFF27 }, + { 0xA2D6, 0xFF28 }, + { 0xA2D7, 0xFF29 }, + { 0xA2D8, 0xFF2A }, + { 0xA2D9, 0xFF2B }, + { 0xA2DA, 0xFF2C }, + { 0xA2DB, 0xFF2D }, + { 0xA2DC, 0xFF2E }, + { 0xA2DD, 0xFF2F }, + { 0xA2DE, 0xFF30 }, + { 0xA2DF, 0xFF31 }, + { 0xA2E0, 0xFF32 }, + { 0xA2E1, 0xFF33 }, + { 0xA2E2, 0xFF34 }, + { 0xA2E3, 0xFF35 }, + { 0xA2E4, 0xFF36 }, + { 0xA2E5, 0xFF37 }, + { 0xA2E6, 0xFF38 }, + { 0xA2E7, 0xFF39 }, + { 0xA2E8, 0xFF3A }, + { 0xA2E9, 0xFF41 }, + { 0xA2EA, 0xFF42 }, + { 0xA2EB, 0xFF43 }, + { 0xA2EC, 0xFF44 }, + { 0xA2ED, 0xFF45 }, + { 0xA2EE, 0xFF46 }, + { 0xA2EF, 0xFF47 }, + { 0xA2F0, 0xFF48 }, + { 0xA2F1, 0xFF49 }, + { 0xA2F2, 0xFF4A }, + { 0xA2F3, 0xFF4B }, + { 0xA2F4, 0xFF4C }, + { 0xA2F5, 0xFF4D }, + { 0xA2F6, 0xFF4E }, + { 0xA2F7, 0xFF4F }, + { 0xA2F8, 0xFF50 }, + { 0xA2F9, 0xFF51 }, + { 0xA2FA, 0xFF52 }, + { 0xA2FB, 0xFF53 }, + { 0xA2FC, 0xFF54 }, + { 0xA2FD, 0xFF55 }, + { 0xA2FE, 0xFF56 }, + { 0xA340, 0xFF57 }, + { 0xA341, 0xFF58 }, + { 0xA342, 0xFF59 }, + { 0xA343, 0xFF5A }, + { 0xA344, 0x0391 }, + { 0xA345, 0x0392 }, + { 0xA346, 0x0393 }, + { 0xA347, 0x0394 }, + { 0xA348, 0x0395 }, + { 0xA349, 0x0396 }, + { 0xA34A, 0x0397 }, + { 0xA34B, 0x0398 }, + { 0xA34C, 0x0399 }, + { 0xA34D, 0x039A }, + { 0xA34E, 0x039B }, + { 0xA34F, 0x039C }, + { 0xA350, 0x039D }, + { 0xA351, 0x039E }, + { 0xA352, 0x039F }, + { 0xA353, 0x03A0 }, + { 0xA354, 0x03A1 }, + { 0xA355, 0x03A3 }, + { 0xA356, 0x03A4 }, + { 0xA357, 0x03A5 }, + { 0xA358, 0x03A6 }, + { 0xA359, 0x03A7 }, + { 0xA35A, 0x03A8 }, + { 0xA35B, 0x03A9 }, + { 0xA35C, 0x03B1 }, + { 0xA35D, 0x03B2 }, + { 0xA35E, 0x03B3 }, + { 0xA35F, 0x03B4 }, + { 0xA360, 0x03B5 }, + { 0xA361, 0x03B6 }, + { 0xA362, 0x03B7 }, + { 0xA363, 0x03B8 }, + { 0xA364, 0x03B9 }, + { 0xA365, 0x03BA }, + { 0xA366, 0x03BB }, + { 0xA367, 0x03BC }, + { 0xA368, 0x03BD }, + { 0xA369, 0x03BE }, + { 0xA36A, 0x03BF }, + { 0xA36B, 0x03C0 }, + { 0xA36C, 0x03C1 }, + { 0xA36D, 0x03C3 }, + { 0xA36E, 0x03C4 }, + { 0xA36F, 0x03C5 }, + { 0xA370, 0x03C6 }, + { 0xA371, 0x03C7 }, + { 0xA372, 0x03C8 }, + { 0xA373, 0x03C9 }, + { 0xA374, 0x3105 }, + { 0xA375, 0x3106 }, + { 0xA376, 0x3107 }, + { 0xA377, 0x3108 }, + { 0xA378, 0x3109 }, + { 0xA379, 0x310A }, + { 0xA37A, 0x310B }, + { 0xA37B, 0x310C }, + { 0xA37C, 0x310D }, + { 0xA37D, 0x310E }, + { 0xA37E, 0x310F }, + { 0xA3A1, 0x3110 }, + { 0xA3A2, 0x3111 }, + { 0xA3A3, 0x3112 }, + { 0xA3A4, 0x3113 }, + { 0xA3A5, 0x3114 }, + { 0xA3A6, 0x3115 }, + { 0xA3A7, 0x3116 }, + { 0xA3A8, 0x3117 }, + { 0xA3A9, 0x3118 }, + { 0xA3AA, 0x3119 }, + { 0xA3AB, 0x311A }, + { 0xA3AC, 0x311B }, + { 0xA3AD, 0x311C }, + { 0xA3AE, 0x311D }, + { 0xA3AF, 0x311E }, + { 0xA3B0, 0x311F }, + { 0xA3B1, 0x3120 }, + { 0xA3B2, 0x3121 }, + { 0xA3B3, 0x3122 }, + { 0xA3B4, 0x3123 }, + { 0xA3B5, 0x3124 }, + { 0xA3B6, 0x3125 }, + { 0xA3B7, 0x3126 }, + { 0xA3B8, 0x3127 }, + { 0xA3B9, 0x3128 }, + { 0xA3BA, 0x3129 }, + { 0xA3BB, 0x02D9 }, + { 0xA3BC, 0x02C9 }, + { 0xA3BD, 0x02CA }, + { 0xA3BE, 0x02C7 }, + { 0xA3BF, 0x02CB }, + { 0xA440, 0x4E00 }, + { 0xA441, 0x4E59 }, + { 0xA442, 0x4E01 }, + { 0xA443, 0x4E03 }, + { 0xA444, 0x4E43 }, + { 0xA445, 0x4E5D }, + { 0xA446, 0x4E86 }, + { 0xA447, 0x4E8C }, + { 0xA448, 0x4EBA }, + { 0xA449, 0x513F }, + { 0xA44A, 0x5165 }, + { 0xA44B, 0x516B }, + { 0xA44C, 0x51E0 }, + { 0xA44D, 0x5200 }, + { 0xA44E, 0x5201 }, + { 0xA44F, 0x529B }, + { 0xA450, 0x5315 }, + { 0xA451, 0x5341 }, + { 0xA452, 0x535C }, + { 0xA453, 0x53C8 }, + { 0xA454, 0x4E09 }, + { 0xA455, 0x4E0B }, + { 0xA456, 0x4E08 }, + { 0xA457, 0x4E0A }, + { 0xA458, 0x4E2B }, + { 0xA459, 0x4E38 }, + { 0xA45A, 0x51E1 }, + { 0xA45B, 0x4E45 }, + { 0xA45C, 0x4E48 }, + { 0xA45D, 0x4E5F }, + { 0xA45E, 0x4E5E }, + { 0xA45F, 0x4E8E }, + { 0xA460, 0x4EA1 }, + { 0xA461, 0x5140 }, + { 0xA462, 0x5203 }, + { 0xA463, 0x52FA }, + { 0xA464, 0x5343 }, + { 0xA465, 0x53C9 }, + { 0xA466, 0x53E3 }, + { 0xA467, 0x571F }, + { 0xA468, 0x58EB }, + { 0xA469, 0x5915 }, + { 0xA46A, 0x5927 }, + { 0xA46B, 0x5973 }, + { 0xA46C, 0x5B50 }, + { 0xA46D, 0x5B51 }, + { 0xA46E, 0x5B53 }, + { 0xA46F, 0x5BF8 }, + { 0xA470, 0x5C0F }, + { 0xA471, 0x5C22 }, + { 0xA472, 0x5C38 }, + { 0xA473, 0x5C71 }, + { 0xA474, 0x5DDD }, + { 0xA475, 0x5DE5 }, + { 0xA476, 0x5DF1 }, + { 0xA477, 0x5DF2 }, + { 0xA478, 0x5DF3 }, + { 0xA479, 0x5DFE }, + { 0xA47A, 0x5E72 }, + { 0xA47B, 0x5EFE }, + { 0xA47C, 0x5F0B }, + { 0xA47D, 0x5F13 }, + { 0xA47E, 0x624D }, + { 0xA4A1, 0x4E11 }, + { 0xA4A2, 0x4E10 }, + { 0xA4A3, 0x4E0D }, + { 0xA4A4, 0x4E2D }, + { 0xA4A5, 0x4E30 }, + { 0xA4A6, 0x4E39 }, + { 0xA4A7, 0x4E4B }, + { 0xA4A8, 0x5C39 }, + { 0xA4A9, 0x4E88 }, + { 0xA4AA, 0x4E91 }, + { 0xA4AB, 0x4E95 }, + { 0xA4AC, 0x4E92 }, + { 0xA4AD, 0x4E94 }, + { 0xA4AE, 0x4EA2 }, + { 0xA4AF, 0x4EC1 }, + { 0xA4B0, 0x4EC0 }, + { 0xA4B1, 0x4EC3 }, + { 0xA4B2, 0x4EC6 }, + { 0xA4B3, 0x4EC7 }, + { 0xA4B4, 0x4ECD }, + { 0xA4B5, 0x4ECA }, + { 0xA4B6, 0x4ECB }, + { 0xA4B7, 0x4EC4 }, + { 0xA4B8, 0x5143 }, + { 0xA4B9, 0x5141 }, + { 0xA4BA, 0x5167 }, + { 0xA4BB, 0x516D }, + { 0xA4BC, 0x516E }, + { 0xA4BD, 0x516C }, + { 0xA4BE, 0x5197 }, + { 0xA4BF, 0x51F6 }, + { 0xA4C0, 0x5206 }, + { 0xA4C1, 0x5207 }, + { 0xA4C2, 0x5208 }, + { 0xA4C3, 0x52FB }, + { 0xA4C4, 0x52FE }, + { 0xA4C5, 0x52FF }, + { 0xA4C6, 0x5316 }, + { 0xA4C7, 0x5339 }, + { 0xA4C8, 0x5348 }, + { 0xA4C9, 0x5347 }, + { 0xA4CA, 0x5345 }, + { 0xA4CB, 0x535E }, + { 0xA4CC, 0x5384 }, + { 0xA4CD, 0x53CB }, + { 0xA4CE, 0x53CA }, + { 0xA4CF, 0x53CD }, + { 0xA4D0, 0x58EC }, + { 0xA4D1, 0x5929 }, + { 0xA4D2, 0x592B }, + { 0xA4D3, 0x592A }, + { 0xA4D4, 0x592D }, + { 0xA4D5, 0x5B54 }, + { 0xA4D6, 0x5C11 }, + { 0xA4D7, 0x5C24 }, + { 0xA4D8, 0x5C3A }, + { 0xA4D9, 0x5C6F }, + { 0xA4DA, 0x5DF4 }, + { 0xA4DB, 0x5E7B }, + { 0xA4DC, 0x5EFF }, + { 0xA4DD, 0x5F14 }, + { 0xA4DE, 0x5F15 }, + { 0xA4DF, 0x5FC3 }, + { 0xA4E0, 0x6208 }, + { 0xA4E1, 0x6236 }, + { 0xA4E2, 0x624B }, + { 0xA4E3, 0x624E }, + { 0xA4E4, 0x652F }, + { 0xA4E5, 0x6587 }, + { 0xA4E6, 0x6597 }, + { 0xA4E7, 0x65A4 }, + { 0xA4E8, 0x65B9 }, + { 0xA4E9, 0x65E5 }, + { 0xA4EA, 0x66F0 }, + { 0xA4EB, 0x6708 }, + { 0xA4EC, 0x6728 }, + { 0xA4ED, 0x6B20 }, + { 0xA4EE, 0x6B62 }, + { 0xA4EF, 0x6B79 }, + { 0xA4F0, 0x6BCB }, + { 0xA4F1, 0x6BD4 }, + { 0xA4F2, 0x6BDB }, + { 0xA4F3, 0x6C0F }, + { 0xA4F4, 0x6C34 }, + { 0xA4F5, 0x706B }, + { 0xA4F6, 0x722A }, + { 0xA4F7, 0x7236 }, + { 0xA4F8, 0x723B }, + { 0xA4F9, 0x7247 }, + { 0xA4FA, 0x7259 }, + { 0xA4FB, 0x725B }, + { 0xA4FC, 0x72AC }, + { 0xA4FD, 0x738B }, + { 0xA4FE, 0x4E19 }, + { 0xA540, 0x4E16 }, + { 0xA541, 0x4E15 }, + { 0xA542, 0x4E14 }, + { 0xA543, 0x4E18 }, + { 0xA544, 0x4E3B }, + { 0xA545, 0x4E4D }, + { 0xA546, 0x4E4F }, + { 0xA547, 0x4E4E }, + { 0xA548, 0x4EE5 }, + { 0xA549, 0x4ED8 }, + { 0xA54A, 0x4ED4 }, + { 0xA54B, 0x4ED5 }, + { 0xA54C, 0x4ED6 }, + { 0xA54D, 0x4ED7 }, + { 0xA54E, 0x4EE3 }, + { 0xA54F, 0x4EE4 }, + { 0xA550, 0x4ED9 }, + { 0xA551, 0x4EDE }, + { 0xA552, 0x5145 }, + { 0xA553, 0x5144 }, + { 0xA554, 0x5189 }, + { 0xA555, 0x518A }, + { 0xA556, 0x51AC }, + { 0xA557, 0x51F9 }, + { 0xA558, 0x51FA }, + { 0xA559, 0x51F8 }, + { 0xA55A, 0x520A }, + { 0xA55B, 0x52A0 }, + { 0xA55C, 0x529F }, + { 0xA55D, 0x5305 }, + { 0xA55E, 0x5306 }, + { 0xA55F, 0x5317 }, + { 0xA560, 0x531D }, + { 0xA561, 0x4EDF }, + { 0xA562, 0x534A }, + { 0xA563, 0x5349 }, + { 0xA564, 0x5361 }, + { 0xA565, 0x5360 }, + { 0xA566, 0x536F }, + { 0xA567, 0x536E }, + { 0xA568, 0x53BB }, + { 0xA569, 0x53EF }, + { 0xA56A, 0x53E4 }, + { 0xA56B, 0x53F3 }, + { 0xA56C, 0x53EC }, + { 0xA56D, 0x53EE }, + { 0xA56E, 0x53E9 }, + { 0xA56F, 0x53E8 }, + { 0xA570, 0x53FC }, + { 0xA571, 0x53F8 }, + { 0xA572, 0x53F5 }, + { 0xA573, 0x53EB }, + { 0xA574, 0x53E6 }, + { 0xA575, 0x53EA }, + { 0xA576, 0x53F2 }, + { 0xA577, 0x53F1 }, + { 0xA578, 0x53F0 }, + { 0xA579, 0x53E5 }, + { 0xA57A, 0x53ED }, + { 0xA57B, 0x53FB }, + { 0xA57C, 0x56DB }, + { 0xA57D, 0x56DA }, + { 0xA57E, 0x5916 }, + { 0xA5A1, 0x592E }, + { 0xA5A2, 0x5931 }, + { 0xA5A3, 0x5974 }, + { 0xA5A4, 0x5976 }, + { 0xA5A5, 0x5B55 }, + { 0xA5A6, 0x5B83 }, + { 0xA5A7, 0x5C3C }, + { 0xA5A8, 0x5DE8 }, + { 0xA5A9, 0x5DE7 }, + { 0xA5AA, 0x5DE6 }, + { 0xA5AB, 0x5E02 }, + { 0xA5AC, 0x5E03 }, + { 0xA5AD, 0x5E73 }, + { 0xA5AE, 0x5E7C }, + { 0xA5AF, 0x5F01 }, + { 0xA5B0, 0x5F18 }, + { 0xA5B1, 0x5F17 }, + { 0xA5B2, 0x5FC5 }, + { 0xA5B3, 0x620A }, + { 0xA5B4, 0x6253 }, + { 0xA5B5, 0x6254 }, + { 0xA5B6, 0x6252 }, + { 0xA5B7, 0x6251 }, + { 0xA5B8, 0x65A5 }, + { 0xA5B9, 0x65E6 }, + { 0xA5BA, 0x672E }, + { 0xA5BB, 0x672C }, + { 0xA5BC, 0x672A }, + { 0xA5BD, 0x672B }, + { 0xA5BE, 0x672D }, + { 0xA5BF, 0x6B63 }, + { 0xA5C0, 0x6BCD }, + { 0xA5C1, 0x6C11 }, + { 0xA5C2, 0x6C10 }, + { 0xA5C3, 0x6C38 }, + { 0xA5C4, 0x6C41 }, + { 0xA5C5, 0x6C40 }, + { 0xA5C6, 0x6C3E }, + { 0xA5C7, 0x72AF }, + { 0xA5C8, 0x7384 }, + { 0xA5C9, 0x7389 }, + { 0xA5CA, 0x74DC }, + { 0xA5CB, 0x74E6 }, + { 0xA5CC, 0x7518 }, + { 0xA5CD, 0x751F }, + { 0xA5CE, 0x7528 }, + { 0xA5CF, 0x7529 }, + { 0xA5D0, 0x7530 }, + { 0xA5D1, 0x7531 }, + { 0xA5D2, 0x7532 }, + { 0xA5D3, 0x7533 }, + { 0xA5D4, 0x758B }, + { 0xA5D5, 0x767D }, + { 0xA5D6, 0x76AE }, + { 0xA5D7, 0x76BF }, + { 0xA5D8, 0x76EE }, + { 0xA5D9, 0x77DB }, + { 0xA5DA, 0x77E2 }, + { 0xA5DB, 0x77F3 }, + { 0xA5DC, 0x793A }, + { 0xA5DD, 0x79BE }, + { 0xA5DE, 0x7A74 }, + { 0xA5DF, 0x7ACB }, + { 0xA5E0, 0x4E1E }, + { 0xA5E1, 0x4E1F }, + { 0xA5E2, 0x4E52 }, + { 0xA5E3, 0x4E53 }, + { 0xA5E4, 0x4E69 }, + { 0xA5E5, 0x4E99 }, + { 0xA5E6, 0x4EA4 }, + { 0xA5E7, 0x4EA6 }, + { 0xA5E8, 0x4EA5 }, + { 0xA5E9, 0x4EFF }, + { 0xA5EA, 0x4F09 }, + { 0xA5EB, 0x4F19 }, + { 0xA5EC, 0x4F0A }, + { 0xA5ED, 0x4F15 }, + { 0xA5EE, 0x4F0D }, + { 0xA5EF, 0x4F10 }, + { 0xA5F0, 0x4F11 }, + { 0xA5F1, 0x4F0F }, + { 0xA5F2, 0x4EF2 }, + { 0xA5F3, 0x4EF6 }, + { 0xA5F4, 0x4EFB }, + { 0xA5F5, 0x4EF0 }, + { 0xA5F6, 0x4EF3 }, + { 0xA5F7, 0x4EFD }, + { 0xA5F8, 0x4F01 }, + { 0xA5F9, 0x4F0B }, + { 0xA5FA, 0x5149 }, + { 0xA5FB, 0x5147 }, + { 0xA5FC, 0x5146 }, + { 0xA5FD, 0x5148 }, + { 0xA5FE, 0x5168 }, + { 0xA640, 0x5171 }, + { 0xA641, 0x518D }, + { 0xA642, 0x51B0 }, + { 0xA643, 0x5217 }, + { 0xA644, 0x5211 }, + { 0xA645, 0x5212 }, + { 0xA646, 0x520E }, + { 0xA647, 0x5216 }, + { 0xA648, 0x52A3 }, + { 0xA649, 0x5308 }, + { 0xA64A, 0x5321 }, + { 0xA64B, 0x5320 }, + { 0xA64C, 0x5370 }, + { 0xA64D, 0x5371 }, + { 0xA64E, 0x5409 }, + { 0xA64F, 0x540F }, + { 0xA650, 0x540C }, + { 0xA651, 0x540A }, + { 0xA652, 0x5410 }, + { 0xA653, 0x5401 }, + { 0xA654, 0x540B }, + { 0xA655, 0x5404 }, + { 0xA656, 0x5411 }, + { 0xA657, 0x540D }, + { 0xA658, 0x5408 }, + { 0xA659, 0x5403 }, + { 0xA65A, 0x540E }, + { 0xA65B, 0x5406 }, + { 0xA65C, 0x5412 }, + { 0xA65D, 0x56E0 }, + { 0xA65E, 0x56DE }, + { 0xA65F, 0x56DD }, + { 0xA660, 0x5733 }, + { 0xA661, 0x5730 }, + { 0xA662, 0x5728 }, + { 0xA663, 0x572D }, + { 0xA664, 0x572C }, + { 0xA665, 0x572F }, + { 0xA666, 0x5729 }, + { 0xA667, 0x5919 }, + { 0xA668, 0x591A }, + { 0xA669, 0x5937 }, + { 0xA66A, 0x5938 }, + { 0xA66B, 0x5984 }, + { 0xA66C, 0x5978 }, + { 0xA66D, 0x5983 }, + { 0xA66E, 0x597D }, + { 0xA66F, 0x5979 }, + { 0xA670, 0x5982 }, + { 0xA671, 0x5981 }, + { 0xA672, 0x5B57 }, + { 0xA673, 0x5B58 }, + { 0xA674, 0x5B87 }, + { 0xA675, 0x5B88 }, + { 0xA676, 0x5B85 }, + { 0xA677, 0x5B89 }, + { 0xA678, 0x5BFA }, + { 0xA679, 0x5C16 }, + { 0xA67A, 0x5C79 }, + { 0xA67B, 0x5DDE }, + { 0xA67C, 0x5E06 }, + { 0xA67D, 0x5E76 }, + { 0xA67E, 0x5E74 }, + { 0xA6A1, 0x5F0F }, + { 0xA6A2, 0x5F1B }, + { 0xA6A3, 0x5FD9 }, + { 0xA6A4, 0x5FD6 }, + { 0xA6A5, 0x620E }, + { 0xA6A6, 0x620C }, + { 0xA6A7, 0x620D }, + { 0xA6A8, 0x6210 }, + { 0xA6A9, 0x6263 }, + { 0xA6AA, 0x625B }, + { 0xA6AB, 0x6258 }, + { 0xA6AC, 0x6536 }, + { 0xA6AD, 0x65E9 }, + { 0xA6AE, 0x65E8 }, + { 0xA6AF, 0x65EC }, + { 0xA6B0, 0x65ED }, + { 0xA6B1, 0x66F2 }, + { 0xA6B2, 0x66F3 }, + { 0xA6B3, 0x6709 }, + { 0xA6B4, 0x673D }, + { 0xA6B5, 0x6734 }, + { 0xA6B6, 0x6731 }, + { 0xA6B7, 0x6735 }, + { 0xA6B8, 0x6B21 }, + { 0xA6B9, 0x6B64 }, + { 0xA6BA, 0x6B7B }, + { 0xA6BB, 0x6C16 }, + { 0xA6BC, 0x6C5D }, + { 0xA6BD, 0x6C57 }, + { 0xA6BE, 0x6C59 }, + { 0xA6BF, 0x6C5F }, + { 0xA6C0, 0x6C60 }, + { 0xA6C1, 0x6C50 }, + { 0xA6C2, 0x6C55 }, + { 0xA6C3, 0x6C61 }, + { 0xA6C4, 0x6C5B }, + { 0xA6C5, 0x6C4D }, + { 0xA6C6, 0x6C4E }, + { 0xA6C7, 0x7070 }, + { 0xA6C8, 0x725F }, + { 0xA6C9, 0x725D }, + { 0xA6CA, 0x767E }, + { 0xA6CB, 0x7AF9 }, + { 0xA6CC, 0x7C73 }, + { 0xA6CD, 0x7CF8 }, + { 0xA6CE, 0x7F36 }, + { 0xA6CF, 0x7F8A }, + { 0xA6D0, 0x7FBD }, + { 0xA6D1, 0x8001 }, + { 0xA6D2, 0x8003 }, + { 0xA6D3, 0x800C }, + { 0xA6D4, 0x8012 }, + { 0xA6D5, 0x8033 }, + { 0xA6D6, 0x807F }, + { 0xA6D7, 0x8089 }, + { 0xA6D8, 0x808B }, + { 0xA6D9, 0x808C }, + { 0xA6DA, 0x81E3 }, + { 0xA6DB, 0x81EA }, + { 0xA6DC, 0x81F3 }, + { 0xA6DD, 0x81FC }, + { 0xA6DE, 0x820C }, + { 0xA6DF, 0x821B }, + { 0xA6E0, 0x821F }, + { 0xA6E1, 0x826E }, + { 0xA6E2, 0x8272 }, + { 0xA6E3, 0x827E }, + { 0xA6E4, 0x866B }, + { 0xA6E5, 0x8840 }, + { 0xA6E6, 0x884C }, + { 0xA6E7, 0x8863 }, + { 0xA6E8, 0x897F }, + { 0xA6E9, 0x9621 }, + { 0xA6EA, 0x4E32 }, + { 0xA6EB, 0x4EA8 }, + { 0xA6EC, 0x4F4D }, + { 0xA6ED, 0x4F4F }, + { 0xA6EE, 0x4F47 }, + { 0xA6EF, 0x4F57 }, + { 0xA6F0, 0x4F5E }, + { 0xA6F1, 0x4F34 }, + { 0xA6F2, 0x4F5B }, + { 0xA6F3, 0x4F55 }, + { 0xA6F4, 0x4F30 }, + { 0xA6F5, 0x4F50 }, + { 0xA6F6, 0x4F51 }, + { 0xA6F7, 0x4F3D }, + { 0xA6F8, 0x4F3A }, + { 0xA6F9, 0x4F38 }, + { 0xA6FA, 0x4F43 }, + { 0xA6FB, 0x4F54 }, + { 0xA6FC, 0x4F3C }, + { 0xA6FD, 0x4F46 }, + { 0xA6FE, 0x4F63 }, + { 0xA740, 0x4F5C }, + { 0xA741, 0x4F60 }, + { 0xA742, 0x4F2F }, + { 0xA743, 0x4F4E }, + { 0xA744, 0x4F36 }, + { 0xA745, 0x4F59 }, + { 0xA746, 0x4F5D }, + { 0xA747, 0x4F48 }, + { 0xA748, 0x4F5A }, + { 0xA749, 0x514C }, + { 0xA74A, 0x514B }, + { 0xA74B, 0x514D }, + { 0xA74C, 0x5175 }, + { 0xA74D, 0x51B6 }, + { 0xA74E, 0x51B7 }, + { 0xA74F, 0x5225 }, + { 0xA750, 0x5224 }, + { 0xA751, 0x5229 }, + { 0xA752, 0x522A }, + { 0xA753, 0x5228 }, + { 0xA754, 0x52AB }, + { 0xA755, 0x52A9 }, + { 0xA756, 0x52AA }, + { 0xA757, 0x52AC }, + { 0xA758, 0x5323 }, + { 0xA759, 0x5373 }, + { 0xA75A, 0x5375 }, + { 0xA75B, 0x541D }, + { 0xA75C, 0x542D }, + { 0xA75D, 0x541E }, + { 0xA75E, 0x543E }, + { 0xA75F, 0x5426 }, + { 0xA760, 0x544E }, + { 0xA761, 0x5427 }, + { 0xA762, 0x5446 }, + { 0xA763, 0x5443 }, + { 0xA764, 0x5433 }, + { 0xA765, 0x5448 }, + { 0xA766, 0x5442 }, + { 0xA767, 0x541B }, + { 0xA768, 0x5429 }, + { 0xA769, 0x544A }, + { 0xA76A, 0x5439 }, + { 0xA76B, 0x543B }, + { 0xA76C, 0x5438 }, + { 0xA76D, 0x542E }, + { 0xA76E, 0x5435 }, + { 0xA76F, 0x5436 }, + { 0xA770, 0x5420 }, + { 0xA771, 0x543C }, + { 0xA772, 0x5440 }, + { 0xA773, 0x5431 }, + { 0xA774, 0x542B }, + { 0xA775, 0x541F }, + { 0xA776, 0x542C }, + { 0xA777, 0x56EA }, + { 0xA778, 0x56F0 }, + { 0xA779, 0x56E4 }, + { 0xA77A, 0x56EB }, + { 0xA77B, 0x574A }, + { 0xA77C, 0x5751 }, + { 0xA77D, 0x5740 }, + { 0xA77E, 0x574D }, + { 0xA7A1, 0x5747 }, + { 0xA7A2, 0x574E }, + { 0xA7A3, 0x573E }, + { 0xA7A4, 0x5750 }, + { 0xA7A5, 0x574F }, + { 0xA7A6, 0x573B }, + { 0xA7A7, 0x58EF }, + { 0xA7A8, 0x593E }, + { 0xA7A9, 0x599D }, + { 0xA7AA, 0x5992 }, + { 0xA7AB, 0x59A8 }, + { 0xA7AC, 0x599E }, + { 0xA7AD, 0x59A3 }, + { 0xA7AE, 0x5999 }, + { 0xA7AF, 0x5996 }, + { 0xA7B0, 0x598D }, + { 0xA7B1, 0x59A4 }, + { 0xA7B2, 0x5993 }, + { 0xA7B3, 0x598A }, + { 0xA7B4, 0x59A5 }, + { 0xA7B5, 0x5B5D }, + { 0xA7B6, 0x5B5C }, + { 0xA7B7, 0x5B5A }, + { 0xA7B8, 0x5B5B }, + { 0xA7B9, 0x5B8C }, + { 0xA7BA, 0x5B8B }, + { 0xA7BB, 0x5B8F }, + { 0xA7BC, 0x5C2C }, + { 0xA7BD, 0x5C40 }, + { 0xA7BE, 0x5C41 }, + { 0xA7BF, 0x5C3F }, + { 0xA7C0, 0x5C3E }, + { 0xA7C1, 0x5C90 }, + { 0xA7C2, 0x5C91 }, + { 0xA7C3, 0x5C94 }, + { 0xA7C4, 0x5C8C }, + { 0xA7C5, 0x5DEB }, + { 0xA7C6, 0x5E0C }, + { 0xA7C7, 0x5E8F }, + { 0xA7C8, 0x5E87 }, + { 0xA7C9, 0x5E8A }, + { 0xA7CA, 0x5EF7 }, + { 0xA7CB, 0x5F04 }, + { 0xA7CC, 0x5F1F }, + { 0xA7CD, 0x5F64 }, + { 0xA7CE, 0x5F62 }, + { 0xA7CF, 0x5F77 }, + { 0xA7D0, 0x5F79 }, + { 0xA7D1, 0x5FD8 }, + { 0xA7D2, 0x5FCC }, + { 0xA7D3, 0x5FD7 }, + { 0xA7D4, 0x5FCD }, + { 0xA7D5, 0x5FF1 }, + { 0xA7D6, 0x5FEB }, + { 0xA7D7, 0x5FF8 }, + { 0xA7D8, 0x5FEA }, + { 0xA7D9, 0x6212 }, + { 0xA7DA, 0x6211 }, + { 0xA7DB, 0x6284 }, + { 0xA7DC, 0x6297 }, + { 0xA7DD, 0x6296 }, + { 0xA7DE, 0x6280 }, + { 0xA7DF, 0x6276 }, + { 0xA7E0, 0x6289 }, + { 0xA7E1, 0x626D }, + { 0xA7E2, 0x628A }, + { 0xA7E3, 0x627C }, + { 0xA7E4, 0x627E }, + { 0xA7E5, 0x6279 }, + { 0xA7E6, 0x6273 }, + { 0xA7E7, 0x6292 }, + { 0xA7E8, 0x626F }, + { 0xA7E9, 0x6298 }, + { 0xA7EA, 0x626E }, + { 0xA7EB, 0x6295 }, + { 0xA7EC, 0x6293 }, + { 0xA7ED, 0x6291 }, + { 0xA7EE, 0x6286 }, + { 0xA7EF, 0x6539 }, + { 0xA7F0, 0x653B }, + { 0xA7F1, 0x6538 }, + { 0xA7F2, 0x65F1 }, + { 0xA7F3, 0x66F4 }, + { 0xA7F4, 0x675F }, + { 0xA7F5, 0x674E }, + { 0xA7F6, 0x674F }, + { 0xA7F7, 0x6750 }, + { 0xA7F8, 0x6751 }, + { 0xA7F9, 0x675C }, + { 0xA7FA, 0x6756 }, + { 0xA7FB, 0x675E }, + { 0xA7FC, 0x6749 }, + { 0xA7FD, 0x6746 }, + { 0xA7FE, 0x6760 }, + { 0xA840, 0x6753 }, + { 0xA841, 0x6757 }, + { 0xA842, 0x6B65 }, + { 0xA843, 0x6BCF }, + { 0xA844, 0x6C42 }, + { 0xA845, 0x6C5E }, + { 0xA846, 0x6C99 }, + { 0xA847, 0x6C81 }, + { 0xA848, 0x6C88 }, + { 0xA849, 0x6C89 }, + { 0xA84A, 0x6C85 }, + { 0xA84B, 0x6C9B }, + { 0xA84C, 0x6C6A }, + { 0xA84D, 0x6C7A }, + { 0xA84E, 0x6C90 }, + { 0xA84F, 0x6C70 }, + { 0xA850, 0x6C8C }, + { 0xA851, 0x6C68 }, + { 0xA852, 0x6C96 }, + { 0xA853, 0x6C92 }, + { 0xA854, 0x6C7D }, + { 0xA855, 0x6C83 }, + { 0xA856, 0x6C72 }, + { 0xA857, 0x6C7E }, + { 0xA858, 0x6C74 }, + { 0xA859, 0x6C86 }, + { 0xA85A, 0x6C76 }, + { 0xA85B, 0x6C8D }, + { 0xA85C, 0x6C94 }, + { 0xA85D, 0x6C98 }, + { 0xA85E, 0x6C82 }, + { 0xA85F, 0x7076 }, + { 0xA860, 0x707C }, + { 0xA861, 0x707D }, + { 0xA862, 0x7078 }, + { 0xA863, 0x7262 }, + { 0xA864, 0x7261 }, + { 0xA865, 0x7260 }, + { 0xA866, 0x72C4 }, + { 0xA867, 0x72C2 }, + { 0xA868, 0x7396 }, + { 0xA869, 0x752C }, + { 0xA86A, 0x752B }, + { 0xA86B, 0x7537 }, + { 0xA86C, 0x7538 }, + { 0xA86D, 0x7682 }, + { 0xA86E, 0x76EF }, + { 0xA86F, 0x77E3 }, + { 0xA870, 0x79C1 }, + { 0xA871, 0x79C0 }, + { 0xA872, 0x79BF }, + { 0xA873, 0x7A76 }, + { 0xA874, 0x7CFB }, + { 0xA875, 0x7F55 }, + { 0xA876, 0x8096 }, + { 0xA877, 0x8093 }, + { 0xA878, 0x809D }, + { 0xA879, 0x8098 }, + { 0xA87A, 0x809B }, + { 0xA87B, 0x809A }, + { 0xA87C, 0x80B2 }, + { 0xA87D, 0x826F }, + { 0xA87E, 0x8292 }, + { 0xA8A1, 0x828B }, + { 0xA8A2, 0x828D }, + { 0xA8A3, 0x898B }, + { 0xA8A4, 0x89D2 }, + { 0xA8A5, 0x8A00 }, + { 0xA8A6, 0x8C37 }, + { 0xA8A7, 0x8C46 }, + { 0xA8A8, 0x8C55 }, + { 0xA8A9, 0x8C9D }, + { 0xA8AA, 0x8D64 }, + { 0xA8AB, 0x8D70 }, + { 0xA8AC, 0x8DB3 }, + { 0xA8AD, 0x8EAB }, + { 0xA8AE, 0x8ECA }, + { 0xA8AF, 0x8F9B }, + { 0xA8B0, 0x8FB0 }, + { 0xA8B1, 0x8FC2 }, + { 0xA8B2, 0x8FC6 }, + { 0xA8B3, 0x8FC5 }, + { 0xA8B4, 0x8FC4 }, + { 0xA8B5, 0x5DE1 }, + { 0xA8B6, 0x9091 }, + { 0xA8B7, 0x90A2 }, + { 0xA8B8, 0x90AA }, + { 0xA8B9, 0x90A6 }, + { 0xA8BA, 0x90A3 }, + { 0xA8BB, 0x9149 }, + { 0xA8BC, 0x91C6 }, + { 0xA8BD, 0x91CC }, + { 0xA8BE, 0x9632 }, + { 0xA8BF, 0x962E }, + { 0xA8C0, 0x9631 }, + { 0xA8C1, 0x962A }, + { 0xA8C2, 0x962C }, + { 0xA8C3, 0x4E26 }, + { 0xA8C4, 0x4E56 }, + { 0xA8C5, 0x4E73 }, + { 0xA8C6, 0x4E8B }, + { 0xA8C7, 0x4E9B }, + { 0xA8C8, 0x4E9E }, + { 0xA8C9, 0x4EAB }, + { 0xA8CA, 0x4EAC }, + { 0xA8CB, 0x4F6F }, + { 0xA8CC, 0x4F9D }, + { 0xA8CD, 0x4F8D }, + { 0xA8CE, 0x4F73 }, + { 0xA8CF, 0x4F7F }, + { 0xA8D0, 0x4F6C }, + { 0xA8D1, 0x4F9B }, + { 0xA8D2, 0x4F8B }, + { 0xA8D3, 0x4F86 }, + { 0xA8D4, 0x4F83 }, + { 0xA8D5, 0x4F70 }, + { 0xA8D6, 0x4F75 }, + { 0xA8D7, 0x4F88 }, + { 0xA8D8, 0x4F69 }, + { 0xA8D9, 0x4F7B }, + { 0xA8DA, 0x4F96 }, + { 0xA8DB, 0x4F7E }, + { 0xA8DC, 0x4F8F }, + { 0xA8DD, 0x4F91 }, + { 0xA8DE, 0x4F7A }, + { 0xA8DF, 0x5154 }, + { 0xA8E0, 0x5152 }, + { 0xA8E1, 0x5155 }, + { 0xA8E2, 0x5169 }, + { 0xA8E3, 0x5177 }, + { 0xA8E4, 0x5176 }, + { 0xA8E5, 0x5178 }, + { 0xA8E6, 0x51BD }, + { 0xA8E7, 0x51FD }, + { 0xA8E8, 0x523B }, + { 0xA8E9, 0x5238 }, + { 0xA8EA, 0x5237 }, + { 0xA8EB, 0x523A }, + { 0xA8EC, 0x5230 }, + { 0xA8ED, 0x522E }, + { 0xA8EE, 0x5236 }, + { 0xA8EF, 0x5241 }, + { 0xA8F0, 0x52BE }, + { 0xA8F1, 0x52BB }, + { 0xA8F2, 0x5352 }, + { 0xA8F3, 0x5354 }, + { 0xA8F4, 0x5353 }, + { 0xA8F5, 0x5351 }, + { 0xA8F6, 0x5366 }, + { 0xA8F7, 0x5377 }, + { 0xA8F8, 0x5378 }, + { 0xA8F9, 0x5379 }, + { 0xA8FA, 0x53D6 }, + { 0xA8FB, 0x53D4 }, + { 0xA8FC, 0x53D7 }, + { 0xA8FD, 0x5473 }, + { 0xA8FE, 0x5475 }, + { 0xA940, 0x5496 }, + { 0xA941, 0x5478 }, + { 0xA942, 0x5495 }, + { 0xA943, 0x5480 }, + { 0xA944, 0x547B }, + { 0xA945, 0x5477 }, + { 0xA946, 0x5484 }, + { 0xA947, 0x5492 }, + { 0xA948, 0x5486 }, + { 0xA949, 0x547C }, + { 0xA94A, 0x5490 }, + { 0xA94B, 0x5471 }, + { 0xA94C, 0x5476 }, + { 0xA94D, 0x548C }, + { 0xA94E, 0x549A }, + { 0xA94F, 0x5462 }, + { 0xA950, 0x5468 }, + { 0xA951, 0x548B }, + { 0xA952, 0x547D }, + { 0xA953, 0x548E }, + { 0xA954, 0x56FA }, + { 0xA955, 0x5783 }, + { 0xA956, 0x5777 }, + { 0xA957, 0x576A }, + { 0xA958, 0x5769 }, + { 0xA959, 0x5761 }, + { 0xA95A, 0x5766 }, + { 0xA95B, 0x5764 }, + { 0xA95C, 0x577C }, + { 0xA95D, 0x591C }, + { 0xA95E, 0x5949 }, + { 0xA95F, 0x5947 }, + { 0xA960, 0x5948 }, + { 0xA961, 0x5944 }, + { 0xA962, 0x5954 }, + { 0xA963, 0x59BE }, + { 0xA964, 0x59BB }, + { 0xA965, 0x59D4 }, + { 0xA966, 0x59B9 }, + { 0xA967, 0x59AE }, + { 0xA968, 0x59D1 }, + { 0xA969, 0x59C6 }, + { 0xA96A, 0x59D0 }, + { 0xA96B, 0x59CD }, + { 0xA96C, 0x59CB }, + { 0xA96D, 0x59D3 }, + { 0xA96E, 0x59CA }, + { 0xA96F, 0x59AF }, + { 0xA970, 0x59B3 }, + { 0xA971, 0x59D2 }, + { 0xA972, 0x59C5 }, + { 0xA973, 0x5B5F }, + { 0xA974, 0x5B64 }, + { 0xA975, 0x5B63 }, + { 0xA976, 0x5B97 }, + { 0xA977, 0x5B9A }, + { 0xA978, 0x5B98 }, + { 0xA979, 0x5B9C }, + { 0xA97A, 0x5B99 }, + { 0xA97B, 0x5B9B }, + { 0xA97C, 0x5C1A }, + { 0xA97D, 0x5C48 }, + { 0xA97E, 0x5C45 }, + { 0xA9A1, 0x5C46 }, + { 0xA9A2, 0x5CB7 }, + { 0xA9A3, 0x5CA1 }, + { 0xA9A4, 0x5CB8 }, + { 0xA9A5, 0x5CA9 }, + { 0xA9A6, 0x5CAB }, + { 0xA9A7, 0x5CB1 }, + { 0xA9A8, 0x5CB3 }, + { 0xA9A9, 0x5E18 }, + { 0xA9AA, 0x5E1A }, + { 0xA9AB, 0x5E16 }, + { 0xA9AC, 0x5E15 }, + { 0xA9AD, 0x5E1B }, + { 0xA9AE, 0x5E11 }, + { 0xA9AF, 0x5E78 }, + { 0xA9B0, 0x5E9A }, + { 0xA9B1, 0x5E97 }, + { 0xA9B2, 0x5E9C }, + { 0xA9B3, 0x5E95 }, + { 0xA9B4, 0x5E96 }, + { 0xA9B5, 0x5EF6 }, + { 0xA9B6, 0x5F26 }, + { 0xA9B7, 0x5F27 }, + { 0xA9B8, 0x5F29 }, + { 0xA9B9, 0x5F80 }, + { 0xA9BA, 0x5F81 }, + { 0xA9BB, 0x5F7F }, + { 0xA9BC, 0x5F7C }, + { 0xA9BD, 0x5FDD }, + { 0xA9BE, 0x5FE0 }, + { 0xA9BF, 0x5FFD }, + { 0xA9C0, 0x5FF5 }, + { 0xA9C1, 0x5FFF }, + { 0xA9C2, 0x600F }, + { 0xA9C3, 0x6014 }, + { 0xA9C4, 0x602F }, + { 0xA9C5, 0x6035 }, + { 0xA9C6, 0x6016 }, + { 0xA9C7, 0x602A }, + { 0xA9C8, 0x6015 }, + { 0xA9C9, 0x6021 }, + { 0xA9CA, 0x6027 }, + { 0xA9CB, 0x6029 }, + { 0xA9CC, 0x602B }, + { 0xA9CD, 0x601B }, + { 0xA9CE, 0x6216 }, + { 0xA9CF, 0x6215 }, + { 0xA9D0, 0x623F }, + { 0xA9D1, 0x623E }, + { 0xA9D2, 0x6240 }, + { 0xA9D3, 0x627F }, + { 0xA9D4, 0x62C9 }, + { 0xA9D5, 0x62CC }, + { 0xA9D6, 0x62C4 }, + { 0xA9D7, 0x62BF }, + { 0xA9D8, 0x62C2 }, + { 0xA9D9, 0x62B9 }, + { 0xA9DA, 0x62D2 }, + { 0xA9DB, 0x62DB }, + { 0xA9DC, 0x62AB }, + { 0xA9DD, 0x62D3 }, + { 0xA9DE, 0x62D4 }, + { 0xA9DF, 0x62CB }, + { 0xA9E0, 0x62C8 }, + { 0xA9E1, 0x62A8 }, + { 0xA9E2, 0x62BD }, + { 0xA9E3, 0x62BC }, + { 0xA9E4, 0x62D0 }, + { 0xA9E5, 0x62D9 }, + { 0xA9E6, 0x62C7 }, + { 0xA9E7, 0x62CD }, + { 0xA9E8, 0x62B5 }, + { 0xA9E9, 0x62DA }, + { 0xA9EA, 0x62B1 }, + { 0xA9EB, 0x62D8 }, + { 0xA9EC, 0x62D6 }, + { 0xA9ED, 0x62D7 }, + { 0xA9EE, 0x62C6 }, + { 0xA9EF, 0x62AC }, + { 0xA9F0, 0x62CE }, + { 0xA9F1, 0x653E }, + { 0xA9F2, 0x65A7 }, + { 0xA9F3, 0x65BC }, + { 0xA9F4, 0x65FA }, + { 0xA9F5, 0x6614 }, + { 0xA9F6, 0x6613 }, + { 0xA9F7, 0x660C }, + { 0xA9F8, 0x6606 }, + { 0xA9F9, 0x6602 }, + { 0xA9FA, 0x660E }, + { 0xA9FB, 0x6600 }, + { 0xA9FC, 0x660F }, + { 0xA9FD, 0x6615 }, + { 0xA9FE, 0x660A }, + { 0xAA40, 0x6607 }, + { 0xAA41, 0x670D }, + { 0xAA42, 0x670B }, + { 0xAA43, 0x676D }, + { 0xAA44, 0x678B }, + { 0xAA45, 0x6795 }, + { 0xAA46, 0x6771 }, + { 0xAA47, 0x679C }, + { 0xAA48, 0x6773 }, + { 0xAA49, 0x6777 }, + { 0xAA4A, 0x6787 }, + { 0xAA4B, 0x679D }, + { 0xAA4C, 0x6797 }, + { 0xAA4D, 0x676F }, + { 0xAA4E, 0x6770 }, + { 0xAA4F, 0x677F }, + { 0xAA50, 0x6789 }, + { 0xAA51, 0x677E }, + { 0xAA52, 0x6790 }, + { 0xAA53, 0x6775 }, + { 0xAA54, 0x679A }, + { 0xAA55, 0x6793 }, + { 0xAA56, 0x677C }, + { 0xAA57, 0x676A }, + { 0xAA58, 0x6772 }, + { 0xAA59, 0x6B23 }, + { 0xAA5A, 0x6B66 }, + { 0xAA5B, 0x6B67 }, + { 0xAA5C, 0x6B7F }, + { 0xAA5D, 0x6C13 }, + { 0xAA5E, 0x6C1B }, + { 0xAA5F, 0x6CE3 }, + { 0xAA60, 0x6CE8 }, + { 0xAA61, 0x6CF3 }, + { 0xAA62, 0x6CB1 }, + { 0xAA63, 0x6CCC }, + { 0xAA64, 0x6CE5 }, + { 0xAA65, 0x6CB3 }, + { 0xAA66, 0x6CBD }, + { 0xAA67, 0x6CBE }, + { 0xAA68, 0x6CBC }, + { 0xAA69, 0x6CE2 }, + { 0xAA6A, 0x6CAB }, + { 0xAA6B, 0x6CD5 }, + { 0xAA6C, 0x6CD3 }, + { 0xAA6D, 0x6CB8 }, + { 0xAA6E, 0x6CC4 }, + { 0xAA6F, 0x6CB9 }, + { 0xAA70, 0x6CC1 }, + { 0xAA71, 0x6CAE }, + { 0xAA72, 0x6CD7 }, + { 0xAA73, 0x6CC5 }, + { 0xAA74, 0x6CF1 }, + { 0xAA75, 0x6CBF }, + { 0xAA76, 0x6CBB }, + { 0xAA77, 0x6CE1 }, + { 0xAA78, 0x6CDB }, + { 0xAA79, 0x6CCA }, + { 0xAA7A, 0x6CAC }, + { 0xAA7B, 0x6CEF }, + { 0xAA7C, 0x6CDC }, + { 0xAA7D, 0x6CD6 }, + { 0xAA7E, 0x6CE0 }, + { 0xAAA1, 0x7095 }, + { 0xAAA2, 0x708E }, + { 0xAAA3, 0x7092 }, + { 0xAAA4, 0x708A }, + { 0xAAA5, 0x7099 }, + { 0xAAA6, 0x722C }, + { 0xAAA7, 0x722D }, + { 0xAAA8, 0x7238 }, + { 0xAAA9, 0x7248 }, + { 0xAAAA, 0x7267 }, + { 0xAAAB, 0x7269 }, + { 0xAAAC, 0x72C0 }, + { 0xAAAD, 0x72CE }, + { 0xAAAE, 0x72D9 }, + { 0xAAAF, 0x72D7 }, + { 0xAAB0, 0x72D0 }, + { 0xAAB1, 0x73A9 }, + { 0xAAB2, 0x73A8 }, + { 0xAAB3, 0x739F }, + { 0xAAB4, 0x73AB }, + { 0xAAB5, 0x73A5 }, + { 0xAAB6, 0x753D }, + { 0xAAB7, 0x759D }, + { 0xAAB8, 0x7599 }, + { 0xAAB9, 0x759A }, + { 0xAABA, 0x7684 }, + { 0xAABB, 0x76C2 }, + { 0xAABC, 0x76F2 }, + { 0xAABD, 0x76F4 }, + { 0xAABE, 0x77E5 }, + { 0xAABF, 0x77FD }, + { 0xAAC0, 0x793E }, + { 0xAAC1, 0x7940 }, + { 0xAAC2, 0x7941 }, + { 0xAAC3, 0x79C9 }, + { 0xAAC4, 0x79C8 }, + { 0xAAC5, 0x7A7A }, + { 0xAAC6, 0x7A79 }, + { 0xAAC7, 0x7AFA }, + { 0xAAC8, 0x7CFE }, + { 0xAAC9, 0x7F54 }, + { 0xAACA, 0x7F8C }, + { 0xAACB, 0x7F8B }, + { 0xAACC, 0x8005 }, + { 0xAACD, 0x80BA }, + { 0xAACE, 0x80A5 }, + { 0xAACF, 0x80A2 }, + { 0xAAD0, 0x80B1 }, + { 0xAAD1, 0x80A1 }, + { 0xAAD2, 0x80AB }, + { 0xAAD3, 0x80A9 }, + { 0xAAD4, 0x80B4 }, + { 0xAAD5, 0x80AA }, + { 0xAAD6, 0x80AF }, + { 0xAAD7, 0x81E5 }, + { 0xAAD8, 0x81FE }, + { 0xAAD9, 0x820D }, + { 0xAADA, 0x82B3 }, + { 0xAADB, 0x829D }, + { 0xAADC, 0x8299 }, + { 0xAADD, 0x82AD }, + { 0xAADE, 0x82BD }, + { 0xAADF, 0x829F }, + { 0xAAE0, 0x82B9 }, + { 0xAAE1, 0x82B1 }, + { 0xAAE2, 0x82AC }, + { 0xAAE3, 0x82A5 }, + { 0xAAE4, 0x82AF }, + { 0xAAE5, 0x82B8 }, + { 0xAAE6, 0x82A3 }, + { 0xAAE7, 0x82B0 }, + { 0xAAE8, 0x82BE }, + { 0xAAE9, 0x82B7 }, + { 0xAAEA, 0x864E }, + { 0xAAEB, 0x8671 }, + { 0xAAEC, 0x521D }, + { 0xAAED, 0x8868 }, + { 0xAAEE, 0x8ECB }, + { 0xAAEF, 0x8FCE }, + { 0xAAF0, 0x8FD4 }, + { 0xAAF1, 0x8FD1 }, + { 0xAAF2, 0x90B5 }, + { 0xAAF3, 0x90B8 }, + { 0xAAF4, 0x90B1 }, + { 0xAAF5, 0x90B6 }, + { 0xAAF6, 0x91C7 }, + { 0xAAF7, 0x91D1 }, + { 0xAAF8, 0x9577 }, + { 0xAAF9, 0x9580 }, + { 0xAAFA, 0x961C }, + { 0xAAFB, 0x9640 }, + { 0xAAFC, 0x963F }, + { 0xAAFD, 0x963B }, + { 0xAAFE, 0x9644 }, + { 0xAB40, 0x9642 }, + { 0xAB41, 0x96B9 }, + { 0xAB42, 0x96E8 }, + { 0xAB43, 0x9752 }, + { 0xAB44, 0x975E }, + { 0xAB45, 0x4E9F }, + { 0xAB46, 0x4EAD }, + { 0xAB47, 0x4EAE }, + { 0xAB48, 0x4FE1 }, + { 0xAB49, 0x4FB5 }, + { 0xAB4A, 0x4FAF }, + { 0xAB4B, 0x4FBF }, + { 0xAB4C, 0x4FE0 }, + { 0xAB4D, 0x4FD1 }, + { 0xAB4E, 0x4FCF }, + { 0xAB4F, 0x4FDD }, + { 0xAB50, 0x4FC3 }, + { 0xAB51, 0x4FB6 }, + { 0xAB52, 0x4FD8 }, + { 0xAB53, 0x4FDF }, + { 0xAB54, 0x4FCA }, + { 0xAB55, 0x4FD7 }, + { 0xAB56, 0x4FAE }, + { 0xAB57, 0x4FD0 }, + { 0xAB58, 0x4FC4 }, + { 0xAB59, 0x4FC2 }, + { 0xAB5A, 0x4FDA }, + { 0xAB5B, 0x4FCE }, + { 0xAB5C, 0x4FDE }, + { 0xAB5D, 0x4FB7 }, + { 0xAB5E, 0x5157 }, + { 0xAB5F, 0x5192 }, + { 0xAB60, 0x5191 }, + { 0xAB61, 0x51A0 }, + { 0xAB62, 0x524E }, + { 0xAB63, 0x5243 }, + { 0xAB64, 0x524A }, + { 0xAB65, 0x524D }, + { 0xAB66, 0x524C }, + { 0xAB67, 0x524B }, + { 0xAB68, 0x5247 }, + { 0xAB69, 0x52C7 }, + { 0xAB6A, 0x52C9 }, + { 0xAB6B, 0x52C3 }, + { 0xAB6C, 0x52C1 }, + { 0xAB6D, 0x530D }, + { 0xAB6E, 0x5357 }, + { 0xAB6F, 0x537B }, + { 0xAB70, 0x539A }, + { 0xAB71, 0x53DB }, + { 0xAB72, 0x54AC }, + { 0xAB73, 0x54C0 }, + { 0xAB74, 0x54A8 }, + { 0xAB75, 0x54CE }, + { 0xAB76, 0x54C9 }, + { 0xAB77, 0x54B8 }, + { 0xAB78, 0x54A6 }, + { 0xAB79, 0x54B3 }, + { 0xAB7A, 0x54C7 }, + { 0xAB7B, 0x54C2 }, + { 0xAB7C, 0x54BD }, + { 0xAB7D, 0x54AA }, + { 0xAB7E, 0x54C1 }, + { 0xABA1, 0x54C4 }, + { 0xABA2, 0x54C8 }, + { 0xABA3, 0x54AF }, + { 0xABA4, 0x54AB }, + { 0xABA5, 0x54B1 }, + { 0xABA6, 0x54BB }, + { 0xABA7, 0x54A9 }, + { 0xABA8, 0x54A7 }, + { 0xABA9, 0x54BF }, + { 0xABAA, 0x56FF }, + { 0xABAB, 0x5782 }, + { 0xABAC, 0x578B }, + { 0xABAD, 0x57A0 }, + { 0xABAE, 0x57A3 }, + { 0xABAF, 0x57A2 }, + { 0xABB0, 0x57CE }, + { 0xABB1, 0x57AE }, + { 0xABB2, 0x5793 }, + { 0xABB3, 0x5955 }, + { 0xABB4, 0x5951 }, + { 0xABB5, 0x594F }, + { 0xABB6, 0x594E }, + { 0xABB7, 0x5950 }, + { 0xABB8, 0x59DC }, + { 0xABB9, 0x59D8 }, + { 0xABBA, 0x59FF }, + { 0xABBB, 0x59E3 }, + { 0xABBC, 0x59E8 }, + { 0xABBD, 0x5A03 }, + { 0xABBE, 0x59E5 }, + { 0xABBF, 0x59EA }, + { 0xABC0, 0x59DA }, + { 0xABC1, 0x59E6 }, + { 0xABC2, 0x5A01 }, + { 0xABC3, 0x59FB }, + { 0xABC4, 0x5B69 }, + { 0xABC5, 0x5BA3 }, + { 0xABC6, 0x5BA6 }, + { 0xABC7, 0x5BA4 }, + { 0xABC8, 0x5BA2 }, + { 0xABC9, 0x5BA5 }, + { 0xABCA, 0x5C01 }, + { 0xABCB, 0x5C4E }, + { 0xABCC, 0x5C4F }, + { 0xABCD, 0x5C4D }, + { 0xABCE, 0x5C4B }, + { 0xABCF, 0x5CD9 }, + { 0xABD0, 0x5CD2 }, + { 0xABD1, 0x5DF7 }, + { 0xABD2, 0x5E1D }, + { 0xABD3, 0x5E25 }, + { 0xABD4, 0x5E1F }, + { 0xABD5, 0x5E7D }, + { 0xABD6, 0x5EA0 }, + { 0xABD7, 0x5EA6 }, + { 0xABD8, 0x5EFA }, + { 0xABD9, 0x5F08 }, + { 0xABDA, 0x5F2D }, + { 0xABDB, 0x5F65 }, + { 0xABDC, 0x5F88 }, + { 0xABDD, 0x5F85 }, + { 0xABDE, 0x5F8A }, + { 0xABDF, 0x5F8B }, + { 0xABE0, 0x5F87 }, + { 0xABE1, 0x5F8C }, + { 0xABE2, 0x5F89 }, + { 0xABE3, 0x6012 }, + { 0xABE4, 0x601D }, + { 0xABE5, 0x6020 }, + { 0xABE6, 0x6025 }, + { 0xABE7, 0x600E }, + { 0xABE8, 0x6028 }, + { 0xABE9, 0x604D }, + { 0xABEA, 0x6070 }, + { 0xABEB, 0x6068 }, + { 0xABEC, 0x6062 }, + { 0xABED, 0x6046 }, + { 0xABEE, 0x6043 }, + { 0xABEF, 0x606C }, + { 0xABF0, 0x606B }, + { 0xABF1, 0x606A }, + { 0xABF2, 0x6064 }, + { 0xABF3, 0x6241 }, + { 0xABF4, 0x62DC }, + { 0xABF5, 0x6316 }, + { 0xABF6, 0x6309 }, + { 0xABF7, 0x62FC }, + { 0xABF8, 0x62ED }, + { 0xABF9, 0x6301 }, + { 0xABFA, 0x62EE }, + { 0xABFB, 0x62FD }, + { 0xABFC, 0x6307 }, + { 0xABFD, 0x62F1 }, + { 0xABFE, 0x62F7 }, + { 0xAC40, 0x62EF }, + { 0xAC41, 0x62EC }, + { 0xAC42, 0x62FE }, + { 0xAC43, 0x62F4 }, + { 0xAC44, 0x6311 }, + { 0xAC45, 0x6302 }, + { 0xAC46, 0x653F }, + { 0xAC47, 0x6545 }, + { 0xAC48, 0x65AB }, + { 0xAC49, 0x65BD }, + { 0xAC4A, 0x65E2 }, + { 0xAC4B, 0x6625 }, + { 0xAC4C, 0x662D }, + { 0xAC4D, 0x6620 }, + { 0xAC4E, 0x6627 }, + { 0xAC4F, 0x662F }, + { 0xAC50, 0x661F }, + { 0xAC51, 0x6628 }, + { 0xAC52, 0x6631 }, + { 0xAC53, 0x6624 }, + { 0xAC54, 0x66F7 }, + { 0xAC55, 0x67FF }, + { 0xAC56, 0x67D3 }, + { 0xAC57, 0x67F1 }, + { 0xAC58, 0x67D4 }, + { 0xAC59, 0x67D0 }, + { 0xAC5A, 0x67EC }, + { 0xAC5B, 0x67B6 }, + { 0xAC5C, 0x67AF }, + { 0xAC5D, 0x67F5 }, + { 0xAC5E, 0x67E9 }, + { 0xAC5F, 0x67EF }, + { 0xAC60, 0x67C4 }, + { 0xAC61, 0x67D1 }, + { 0xAC62, 0x67B4 }, + { 0xAC63, 0x67DA }, + { 0xAC64, 0x67E5 }, + { 0xAC65, 0x67B8 }, + { 0xAC66, 0x67CF }, + { 0xAC67, 0x67DE }, + { 0xAC68, 0x67F3 }, + { 0xAC69, 0x67B0 }, + { 0xAC6A, 0x67D9 }, + { 0xAC6B, 0x67E2 }, + { 0xAC6C, 0x67DD }, + { 0xAC6D, 0x67D2 }, + { 0xAC6E, 0x6B6A }, + { 0xAC6F, 0x6B83 }, + { 0xAC70, 0x6B86 }, + { 0xAC71, 0x6BB5 }, + { 0xAC72, 0x6BD2 }, + { 0xAC73, 0x6BD7 }, + { 0xAC74, 0x6C1F }, + { 0xAC75, 0x6CC9 }, + { 0xAC76, 0x6D0B }, + { 0xAC77, 0x6D32 }, + { 0xAC78, 0x6D2A }, + { 0xAC79, 0x6D41 }, + { 0xAC7A, 0x6D25 }, + { 0xAC7B, 0x6D0C }, + { 0xAC7C, 0x6D31 }, + { 0xAC7D, 0x6D1E }, + { 0xAC7E, 0x6D17 }, + { 0xACA1, 0x6D3B }, + { 0xACA2, 0x6D3D }, + { 0xACA3, 0x6D3E }, + { 0xACA4, 0x6D36 }, + { 0xACA5, 0x6D1B }, + { 0xACA6, 0x6CF5 }, + { 0xACA7, 0x6D39 }, + { 0xACA8, 0x6D27 }, + { 0xACA9, 0x6D38 }, + { 0xACAA, 0x6D29 }, + { 0xACAB, 0x6D2E }, + { 0xACAC, 0x6D35 }, + { 0xACAD, 0x6D0E }, + { 0xACAE, 0x6D2B }, + { 0xACAF, 0x70AB }, + { 0xACB0, 0x70BA }, + { 0xACB1, 0x70B3 }, + { 0xACB2, 0x70AC }, + { 0xACB3, 0x70AF }, + { 0xACB4, 0x70AD }, + { 0xACB5, 0x70B8 }, + { 0xACB6, 0x70AE }, + { 0xACB7, 0x70A4 }, + { 0xACB8, 0x7230 }, + { 0xACB9, 0x7272 }, + { 0xACBA, 0x726F }, + { 0xACBB, 0x7274 }, + { 0xACBC, 0x72E9 }, + { 0xACBD, 0x72E0 }, + { 0xACBE, 0x72E1 }, + { 0xACBF, 0x73B7 }, + { 0xACC0, 0x73CA }, + { 0xACC1, 0x73BB }, + { 0xACC2, 0x73B2 }, + { 0xACC3, 0x73CD }, + { 0xACC4, 0x73C0 }, + { 0xACC5, 0x73B3 }, + { 0xACC6, 0x751A }, + { 0xACC7, 0x752D }, + { 0xACC8, 0x754F }, + { 0xACC9, 0x754C }, + { 0xACCA, 0x754E }, + { 0xACCB, 0x754B }, + { 0xACCC, 0x75AB }, + { 0xACCD, 0x75A4 }, + { 0xACCE, 0x75A5 }, + { 0xACCF, 0x75A2 }, + { 0xACD0, 0x75A3 }, + { 0xACD1, 0x7678 }, + { 0xACD2, 0x7686 }, + { 0xACD3, 0x7687 }, + { 0xACD4, 0x7688 }, + { 0xACD5, 0x76C8 }, + { 0xACD6, 0x76C6 }, + { 0xACD7, 0x76C3 }, + { 0xACD8, 0x76C5 }, + { 0xACD9, 0x7701 }, + { 0xACDA, 0x76F9 }, + { 0xACDB, 0x76F8 }, + { 0xACDC, 0x7709 }, + { 0xACDD, 0x770B }, + { 0xACDE, 0x76FE }, + { 0xACDF, 0x76FC }, + { 0xACE0, 0x7707 }, + { 0xACE1, 0x77DC }, + { 0xACE2, 0x7802 }, + { 0xACE3, 0x7814 }, + { 0xACE4, 0x780C }, + { 0xACE5, 0x780D }, + { 0xACE6, 0x7946 }, + { 0xACE7, 0x7949 }, + { 0xACE8, 0x7948 }, + { 0xACE9, 0x7947 }, + { 0xACEA, 0x79B9 }, + { 0xACEB, 0x79BA }, + { 0xACEC, 0x79D1 }, + { 0xACED, 0x79D2 }, + { 0xACEE, 0x79CB }, + { 0xACEF, 0x7A7F }, + { 0xACF0, 0x7A81 }, + { 0xACF1, 0x7AFF }, + { 0xACF2, 0x7AFD }, + { 0xACF3, 0x7C7D }, + { 0xACF4, 0x7D02 }, + { 0xACF5, 0x7D05 }, + { 0xACF6, 0x7D00 }, + { 0xACF7, 0x7D09 }, + { 0xACF8, 0x7D07 }, + { 0xACF9, 0x7D04 }, + { 0xACFA, 0x7D06 }, + { 0xACFB, 0x7F38 }, + { 0xACFC, 0x7F8E }, + { 0xACFD, 0x7FBF }, + { 0xACFE, 0x8004 }, + { 0xAD40, 0x8010 }, + { 0xAD41, 0x800D }, + { 0xAD42, 0x8011 }, + { 0xAD43, 0x8036 }, + { 0xAD44, 0x80D6 }, + { 0xAD45, 0x80E5 }, + { 0xAD46, 0x80DA }, + { 0xAD47, 0x80C3 }, + { 0xAD48, 0x80C4 }, + { 0xAD49, 0x80CC }, + { 0xAD4A, 0x80E1 }, + { 0xAD4B, 0x80DB }, + { 0xAD4C, 0x80CE }, + { 0xAD4D, 0x80DE }, + { 0xAD4E, 0x80E4 }, + { 0xAD4F, 0x80DD }, + { 0xAD50, 0x81F4 }, + { 0xAD51, 0x8222 }, + { 0xAD52, 0x82E7 }, + { 0xAD53, 0x8303 }, + { 0xAD54, 0x8305 }, + { 0xAD55, 0x82E3 }, + { 0xAD56, 0x82DB }, + { 0xAD57, 0x82E6 }, + { 0xAD58, 0x8304 }, + { 0xAD59, 0x82E5 }, + { 0xAD5A, 0x8302 }, + { 0xAD5B, 0x8309 }, + { 0xAD5C, 0x82D2 }, + { 0xAD5D, 0x82D7 }, + { 0xAD5E, 0x82F1 }, + { 0xAD5F, 0x8301 }, + { 0xAD60, 0x82DC }, + { 0xAD61, 0x82D4 }, + { 0xAD62, 0x82D1 }, + { 0xAD63, 0x82DE }, + { 0xAD64, 0x82D3 }, + { 0xAD65, 0x82DF }, + { 0xAD66, 0x82EF }, + { 0xAD67, 0x8306 }, + { 0xAD68, 0x8650 }, + { 0xAD69, 0x8679 }, + { 0xAD6A, 0x867B }, + { 0xAD6B, 0x867A }, + { 0xAD6C, 0x884D }, + { 0xAD6D, 0x886B }, + { 0xAD6E, 0x8981 }, + { 0xAD6F, 0x89D4 }, + { 0xAD70, 0x8A08 }, + { 0xAD71, 0x8A02 }, + { 0xAD72, 0x8A03 }, + { 0xAD73, 0x8C9E }, + { 0xAD74, 0x8CA0 }, + { 0xAD75, 0x8D74 }, + { 0xAD76, 0x8D73 }, + { 0xAD77, 0x8DB4 }, + { 0xAD78, 0x8ECD }, + { 0xAD79, 0x8ECC }, + { 0xAD7A, 0x8FF0 }, + { 0xAD7B, 0x8FE6 }, + { 0xAD7C, 0x8FE2 }, + { 0xAD7D, 0x8FEA }, + { 0xAD7E, 0x8FE5 }, + { 0xADA1, 0x8FED }, + { 0xADA2, 0x8FEB }, + { 0xADA3, 0x8FE4 }, + { 0xADA4, 0x8FE8 }, + { 0xADA5, 0x90CA }, + { 0xADA6, 0x90CE }, + { 0xADA7, 0x90C1 }, + { 0xADA8, 0x90C3 }, + { 0xADA9, 0x914B }, + { 0xADAA, 0x914A }, + { 0xADAB, 0x91CD }, + { 0xADAC, 0x9582 }, + { 0xADAD, 0x9650 }, + { 0xADAE, 0x964B }, + { 0xADAF, 0x964C }, + { 0xADB0, 0x964D }, + { 0xADB1, 0x9762 }, + { 0xADB2, 0x9769 }, + { 0xADB3, 0x97CB }, + { 0xADB4, 0x97ED }, + { 0xADB5, 0x97F3 }, + { 0xADB6, 0x9801 }, + { 0xADB7, 0x98A8 }, + { 0xADB8, 0x98DB }, + { 0xADB9, 0x98DF }, + { 0xADBA, 0x9996 }, + { 0xADBB, 0x9999 }, + { 0xADBC, 0x4E58 }, + { 0xADBD, 0x4EB3 }, + { 0xADBE, 0x500C }, + { 0xADBF, 0x500D }, + { 0xADC0, 0x5023 }, + { 0xADC1, 0x4FEF }, + { 0xADC2, 0x5026 }, + { 0xADC3, 0x5025 }, + { 0xADC4, 0x4FF8 }, + { 0xADC5, 0x5029 }, + { 0xADC6, 0x5016 }, + { 0xADC7, 0x5006 }, + { 0xADC8, 0x503C }, + { 0xADC9, 0x501F }, + { 0xADCA, 0x501A }, + { 0xADCB, 0x5012 }, + { 0xADCC, 0x5011 }, + { 0xADCD, 0x4FFA }, + { 0xADCE, 0x5000 }, + { 0xADCF, 0x5014 }, + { 0xADD0, 0x5028 }, + { 0xADD1, 0x4FF1 }, + { 0xADD2, 0x5021 }, + { 0xADD3, 0x500B }, + { 0xADD4, 0x5019 }, + { 0xADD5, 0x5018 }, + { 0xADD6, 0x4FF3 }, + { 0xADD7, 0x4FEE }, + { 0xADD8, 0x502D }, + { 0xADD9, 0x502A }, + { 0xADDA, 0x4FFE }, + { 0xADDB, 0x502B }, + { 0xADDC, 0x5009 }, + { 0xADDD, 0x517C }, + { 0xADDE, 0x51A4 }, + { 0xADDF, 0x51A5 }, + { 0xADE0, 0x51A2 }, + { 0xADE1, 0x51CD }, + { 0xADE2, 0x51CC }, + { 0xADE3, 0x51C6 }, + { 0xADE4, 0x51CB }, + { 0xADE5, 0x5256 }, + { 0xADE6, 0x525C }, + { 0xADE7, 0x5254 }, + { 0xADE8, 0x525B }, + { 0xADE9, 0x525D }, + { 0xADEA, 0x532A }, + { 0xADEB, 0x537F }, + { 0xADEC, 0x539F }, + { 0xADED, 0x539D }, + { 0xADEE, 0x53DF }, + { 0xADEF, 0x54E8 }, + { 0xADF0, 0x5510 }, + { 0xADF1, 0x5501 }, + { 0xADF2, 0x5537 }, + { 0xADF3, 0x54FC }, + { 0xADF4, 0x54E5 }, + { 0xADF5, 0x54F2 }, + { 0xADF6, 0x5506 }, + { 0xADF7, 0x54FA }, + { 0xADF8, 0x5514 }, + { 0xADF9, 0x54E9 }, + { 0xADFA, 0x54ED }, + { 0xADFB, 0x54E1 }, + { 0xADFC, 0x5509 }, + { 0xADFD, 0x54EE }, + { 0xADFE, 0x54EA }, + { 0xAE40, 0x54E6 }, + { 0xAE41, 0x5527 }, + { 0xAE42, 0x5507 }, + { 0xAE43, 0x54FD }, + { 0xAE44, 0x550F }, + { 0xAE45, 0x5703 }, + { 0xAE46, 0x5704 }, + { 0xAE47, 0x57C2 }, + { 0xAE48, 0x57D4 }, + { 0xAE49, 0x57CB }, + { 0xAE4A, 0x57C3 }, + { 0xAE4B, 0x5809 }, + { 0xAE4C, 0x590F }, + { 0xAE4D, 0x5957 }, + { 0xAE4E, 0x5958 }, + { 0xAE4F, 0x595A }, + { 0xAE50, 0x5A11 }, + { 0xAE51, 0x5A18 }, + { 0xAE52, 0x5A1C }, + { 0xAE53, 0x5A1F }, + { 0xAE54, 0x5A1B }, + { 0xAE55, 0x5A13 }, + { 0xAE56, 0x59EC }, + { 0xAE57, 0x5A20 }, + { 0xAE58, 0x5A23 }, + { 0xAE59, 0x5A29 }, + { 0xAE5A, 0x5A25 }, + { 0xAE5B, 0x5A0C }, + { 0xAE5C, 0x5A09 }, + { 0xAE5D, 0x5B6B }, + { 0xAE5E, 0x5C58 }, + { 0xAE5F, 0x5BB0 }, + { 0xAE60, 0x5BB3 }, + { 0xAE61, 0x5BB6 }, + { 0xAE62, 0x5BB4 }, + { 0xAE63, 0x5BAE }, + { 0xAE64, 0x5BB5 }, + { 0xAE65, 0x5BB9 }, + { 0xAE66, 0x5BB8 }, + { 0xAE67, 0x5C04 }, + { 0xAE68, 0x5C51 }, + { 0xAE69, 0x5C55 }, + { 0xAE6A, 0x5C50 }, + { 0xAE6B, 0x5CED }, + { 0xAE6C, 0x5CFD }, + { 0xAE6D, 0x5CFB }, + { 0xAE6E, 0x5CEA }, + { 0xAE6F, 0x5CE8 }, + { 0xAE70, 0x5CF0 }, + { 0xAE71, 0x5CF6 }, + { 0xAE72, 0x5D01 }, + { 0xAE73, 0x5CF4 }, + { 0xAE74, 0x5DEE }, + { 0xAE75, 0x5E2D }, + { 0xAE76, 0x5E2B }, + { 0xAE77, 0x5EAB }, + { 0xAE78, 0x5EAD }, + { 0xAE79, 0x5EA7 }, + { 0xAE7A, 0x5F31 }, + { 0xAE7B, 0x5F92 }, + { 0xAE7C, 0x5F91 }, + { 0xAE7D, 0x5F90 }, + { 0xAE7E, 0x6059 }, + { 0xAEA1, 0x6063 }, + { 0xAEA2, 0x6065 }, + { 0xAEA3, 0x6050 }, + { 0xAEA4, 0x6055 }, + { 0xAEA5, 0x606D }, + { 0xAEA6, 0x6069 }, + { 0xAEA7, 0x606F }, + { 0xAEA8, 0x6084 }, + { 0xAEA9, 0x609F }, + { 0xAEAA, 0x609A }, + { 0xAEAB, 0x608D }, + { 0xAEAC, 0x6094 }, + { 0xAEAD, 0x608C }, + { 0xAEAE, 0x6085 }, + { 0xAEAF, 0x6096 }, + { 0xAEB0, 0x6247 }, + { 0xAEB1, 0x62F3 }, + { 0xAEB2, 0x6308 }, + { 0xAEB3, 0x62FF }, + { 0xAEB4, 0x634E }, + { 0xAEB5, 0x633E }, + { 0xAEB6, 0x632F }, + { 0xAEB7, 0x6355 }, + { 0xAEB8, 0x6342 }, + { 0xAEB9, 0x6346 }, + { 0xAEBA, 0x634F }, + { 0xAEBB, 0x6349 }, + { 0xAEBC, 0x633A }, + { 0xAEBD, 0x6350 }, + { 0xAEBE, 0x633D }, + { 0xAEBF, 0x632A }, + { 0xAEC0, 0x632B }, + { 0xAEC1, 0x6328 }, + { 0xAEC2, 0x634D }, + { 0xAEC3, 0x634C }, + { 0xAEC4, 0x6548 }, + { 0xAEC5, 0x6549 }, + { 0xAEC6, 0x6599 }, + { 0xAEC7, 0x65C1 }, + { 0xAEC8, 0x65C5 }, + { 0xAEC9, 0x6642 }, + { 0xAECA, 0x6649 }, + { 0xAECB, 0x664F }, + { 0xAECC, 0x6643 }, + { 0xAECD, 0x6652 }, + { 0xAECE, 0x664C }, + { 0xAECF, 0x6645 }, + { 0xAED0, 0x6641 }, + { 0xAED1, 0x66F8 }, + { 0xAED2, 0x6714 }, + { 0xAED3, 0x6715 }, + { 0xAED4, 0x6717 }, + { 0xAED5, 0x6821 }, + { 0xAED6, 0x6838 }, + { 0xAED7, 0x6848 }, + { 0xAED8, 0x6846 }, + { 0xAED9, 0x6853 }, + { 0xAEDA, 0x6839 }, + { 0xAEDB, 0x6842 }, + { 0xAEDC, 0x6854 }, + { 0xAEDD, 0x6829 }, + { 0xAEDE, 0x68B3 }, + { 0xAEDF, 0x6817 }, + { 0xAEE0, 0x684C }, + { 0xAEE1, 0x6851 }, + { 0xAEE2, 0x683D }, + { 0xAEE3, 0x67F4 }, + { 0xAEE4, 0x6850 }, + { 0xAEE5, 0x6840 }, + { 0xAEE6, 0x683C }, + { 0xAEE7, 0x6843 }, + { 0xAEE8, 0x682A }, + { 0xAEE9, 0x6845 }, + { 0xAEEA, 0x6813 }, + { 0xAEEB, 0x6818 }, + { 0xAEEC, 0x6841 }, + { 0xAEED, 0x6B8A }, + { 0xAEEE, 0x6B89 }, + { 0xAEEF, 0x6BB7 }, + { 0xAEF0, 0x6C23 }, + { 0xAEF1, 0x6C27 }, + { 0xAEF2, 0x6C28 }, + { 0xAEF3, 0x6C26 }, + { 0xAEF4, 0x6C24 }, + { 0xAEF5, 0x6CF0 }, + { 0xAEF6, 0x6D6A }, + { 0xAEF7, 0x6D95 }, + { 0xAEF8, 0x6D88 }, + { 0xAEF9, 0x6D87 }, + { 0xAEFA, 0x6D66 }, + { 0xAEFB, 0x6D78 }, + { 0xAEFC, 0x6D77 }, + { 0xAEFD, 0x6D59 }, + { 0xAEFE, 0x6D93 }, + { 0xAF40, 0x6D6C }, + { 0xAF41, 0x6D89 }, + { 0xAF42, 0x6D6E }, + { 0xAF43, 0x6D5A }, + { 0xAF44, 0x6D74 }, + { 0xAF45, 0x6D69 }, + { 0xAF46, 0x6D8C }, + { 0xAF47, 0x6D8A }, + { 0xAF48, 0x6D79 }, + { 0xAF49, 0x6D85 }, + { 0xAF4A, 0x6D65 }, + { 0xAF4B, 0x6D94 }, + { 0xAF4C, 0x70CA }, + { 0xAF4D, 0x70D8 }, + { 0xAF4E, 0x70E4 }, + { 0xAF4F, 0x70D9 }, + { 0xAF50, 0x70C8 }, + { 0xAF51, 0x70CF }, + { 0xAF52, 0x7239 }, + { 0xAF53, 0x7279 }, + { 0xAF54, 0x72FC }, + { 0xAF55, 0x72F9 }, + { 0xAF56, 0x72FD }, + { 0xAF57, 0x72F8 }, + { 0xAF58, 0x72F7 }, + { 0xAF59, 0x7386 }, + { 0xAF5A, 0x73ED }, + { 0xAF5B, 0x7409 }, + { 0xAF5C, 0x73EE }, + { 0xAF5D, 0x73E0 }, + { 0xAF5E, 0x73EA }, + { 0xAF5F, 0x73DE }, + { 0xAF60, 0x7554 }, + { 0xAF61, 0x755D }, + { 0xAF62, 0x755C }, + { 0xAF63, 0x755A }, + { 0xAF64, 0x7559 }, + { 0xAF65, 0x75BE }, + { 0xAF66, 0x75C5 }, + { 0xAF67, 0x75C7 }, + { 0xAF68, 0x75B2 }, + { 0xAF69, 0x75B3 }, + { 0xAF6A, 0x75BD }, + { 0xAF6B, 0x75BC }, + { 0xAF6C, 0x75B9 }, + { 0xAF6D, 0x75C2 }, + { 0xAF6E, 0x75B8 }, + { 0xAF6F, 0x768B }, + { 0xAF70, 0x76B0 }, + { 0xAF71, 0x76CA }, + { 0xAF72, 0x76CD }, + { 0xAF73, 0x76CE }, + { 0xAF74, 0x7729 }, + { 0xAF75, 0x771F }, + { 0xAF76, 0x7720 }, + { 0xAF77, 0x7728 }, + { 0xAF78, 0x77E9 }, + { 0xAF79, 0x7830 }, + { 0xAF7A, 0x7827 }, + { 0xAF7B, 0x7838 }, + { 0xAF7C, 0x781D }, + { 0xAF7D, 0x7834 }, + { 0xAF7E, 0x7837 }, + { 0xAFA1, 0x7825 }, + { 0xAFA2, 0x782D }, + { 0xAFA3, 0x7820 }, + { 0xAFA4, 0x781F }, + { 0xAFA5, 0x7832 }, + { 0xAFA6, 0x7955 }, + { 0xAFA7, 0x7950 }, + { 0xAFA8, 0x7960 }, + { 0xAFA9, 0x795F }, + { 0xAFAA, 0x7956 }, + { 0xAFAB, 0x795E }, + { 0xAFAC, 0x795D }, + { 0xAFAD, 0x7957 }, + { 0xAFAE, 0x795A }, + { 0xAFAF, 0x79E4 }, + { 0xAFB0, 0x79E3 }, + { 0xAFB1, 0x79E7 }, + { 0xAFB2, 0x79DF }, + { 0xAFB3, 0x79E6 }, + { 0xAFB4, 0x79E9 }, + { 0xAFB5, 0x79D8 }, + { 0xAFB6, 0x7A84 }, + { 0xAFB7, 0x7A88 }, + { 0xAFB8, 0x7AD9 }, + { 0xAFB9, 0x7B06 }, + { 0xAFBA, 0x7B11 }, + { 0xAFBB, 0x7C89 }, + { 0xAFBC, 0x7D21 }, + { 0xAFBD, 0x7D17 }, + { 0xAFBE, 0x7D0B }, + { 0xAFBF, 0x7D0A }, + { 0xAFC0, 0x7D20 }, + { 0xAFC1, 0x7D22 }, + { 0xAFC2, 0x7D14 }, + { 0xAFC3, 0x7D10 }, + { 0xAFC4, 0x7D15 }, + { 0xAFC5, 0x7D1A }, + { 0xAFC6, 0x7D1C }, + { 0xAFC7, 0x7D0D }, + { 0xAFC8, 0x7D19 }, + { 0xAFC9, 0x7D1B }, + { 0xAFCA, 0x7F3A }, + { 0xAFCB, 0x7F5F }, + { 0xAFCC, 0x7F94 }, + { 0xAFCD, 0x7FC5 }, + { 0xAFCE, 0x7FC1 }, + { 0xAFCF, 0x8006 }, + { 0xAFD0, 0x8018 }, + { 0xAFD1, 0x8015 }, + { 0xAFD2, 0x8019 }, + { 0xAFD3, 0x8017 }, + { 0xAFD4, 0x803D }, + { 0xAFD5, 0x803F }, + { 0xAFD6, 0x80F1 }, + { 0xAFD7, 0x8102 }, + { 0xAFD8, 0x80F0 }, + { 0xAFD9, 0x8105 }, + { 0xAFDA, 0x80ED }, + { 0xAFDB, 0x80F4 }, + { 0xAFDC, 0x8106 }, + { 0xAFDD, 0x80F8 }, + { 0xAFDE, 0x80F3 }, + { 0xAFDF, 0x8108 }, + { 0xAFE0, 0x80FD }, + { 0xAFE1, 0x810A }, + { 0xAFE2, 0x80FC }, + { 0xAFE3, 0x80EF }, + { 0xAFE4, 0x81ED }, + { 0xAFE5, 0x81EC }, + { 0xAFE6, 0x8200 }, + { 0xAFE7, 0x8210 }, + { 0xAFE8, 0x822A }, + { 0xAFE9, 0x822B }, + { 0xAFEA, 0x8228 }, + { 0xAFEB, 0x822C }, + { 0xAFEC, 0x82BB }, + { 0xAFED, 0x832B }, + { 0xAFEE, 0x8352 }, + { 0xAFEF, 0x8354 }, + { 0xAFF0, 0x834A }, + { 0xAFF1, 0x8338 }, + { 0xAFF2, 0x8350 }, + { 0xAFF3, 0x8349 }, + { 0xAFF4, 0x8335 }, + { 0xAFF5, 0x8334 }, + { 0xAFF6, 0x834F }, + { 0xAFF7, 0x8332 }, + { 0xAFF8, 0x8339 }, + { 0xAFF9, 0x8336 }, + { 0xAFFA, 0x8317 }, + { 0xAFFB, 0x8340 }, + { 0xAFFC, 0x8331 }, + { 0xAFFD, 0x8328 }, + { 0xAFFE, 0x8343 }, + { 0xB040, 0x8654 }, + { 0xB041, 0x868A }, + { 0xB042, 0x86AA }, + { 0xB043, 0x8693 }, + { 0xB044, 0x86A4 }, + { 0xB045, 0x86A9 }, + { 0xB046, 0x868C }, + { 0xB047, 0x86A3 }, + { 0xB048, 0x869C }, + { 0xB049, 0x8870 }, + { 0xB04A, 0x8877 }, + { 0xB04B, 0x8881 }, + { 0xB04C, 0x8882 }, + { 0xB04D, 0x887D }, + { 0xB04E, 0x8879 }, + { 0xB04F, 0x8A18 }, + { 0xB050, 0x8A10 }, + { 0xB051, 0x8A0E }, + { 0xB052, 0x8A0C }, + { 0xB053, 0x8A15 }, + { 0xB054, 0x8A0A }, + { 0xB055, 0x8A17 }, + { 0xB056, 0x8A13 }, + { 0xB057, 0x8A16 }, + { 0xB058, 0x8A0F }, + { 0xB059, 0x8A11 }, + { 0xB05A, 0x8C48 }, + { 0xB05B, 0x8C7A }, + { 0xB05C, 0x8C79 }, + { 0xB05D, 0x8CA1 }, + { 0xB05E, 0x8CA2 }, + { 0xB05F, 0x8D77 }, + { 0xB060, 0x8EAC }, + { 0xB061, 0x8ED2 }, + { 0xB062, 0x8ED4 }, + { 0xB063, 0x8ECF }, + { 0xB064, 0x8FB1 }, + { 0xB065, 0x9001 }, + { 0xB066, 0x9006 }, + { 0xB067, 0x8FF7 }, + { 0xB068, 0x9000 }, + { 0xB069, 0x8FFA }, + { 0xB06A, 0x8FF4 }, + { 0xB06B, 0x9003 }, + { 0xB06C, 0x8FFD }, + { 0xB06D, 0x9005 }, + { 0xB06E, 0x8FF8 }, + { 0xB06F, 0x9095 }, + { 0xB070, 0x90E1 }, + { 0xB071, 0x90DD }, + { 0xB072, 0x90E2 }, + { 0xB073, 0x9152 }, + { 0xB074, 0x914D }, + { 0xB075, 0x914C }, + { 0xB076, 0x91D8 }, + { 0xB077, 0x91DD }, + { 0xB078, 0x91D7 }, + { 0xB079, 0x91DC }, + { 0xB07A, 0x91D9 }, + { 0xB07B, 0x9583 }, + { 0xB07C, 0x9662 }, + { 0xB07D, 0x9663 }, + { 0xB07E, 0x9661 }, + { 0xB0A1, 0x965B }, + { 0xB0A2, 0x965D }, + { 0xB0A3, 0x9664 }, + { 0xB0A4, 0x9658 }, + { 0xB0A5, 0x965E }, + { 0xB0A6, 0x96BB }, + { 0xB0A7, 0x98E2 }, + { 0xB0A8, 0x99AC }, + { 0xB0A9, 0x9AA8 }, + { 0xB0AA, 0x9AD8 }, + { 0xB0AB, 0x9B25 }, + { 0xB0AC, 0x9B32 }, + { 0xB0AD, 0x9B3C }, + { 0xB0AE, 0x4E7E }, + { 0xB0AF, 0x507A }, + { 0xB0B0, 0x507D }, + { 0xB0B1, 0x505C }, + { 0xB0B2, 0x5047 }, + { 0xB0B3, 0x5043 }, + { 0xB0B4, 0x504C }, + { 0xB0B5, 0x505A }, + { 0xB0B6, 0x5049 }, + { 0xB0B7, 0x5065 }, + { 0xB0B8, 0x5076 }, + { 0xB0B9, 0x504E }, + { 0xB0BA, 0x5055 }, + { 0xB0BB, 0x5075 }, + { 0xB0BC, 0x5074 }, + { 0xB0BD, 0x5077 }, + { 0xB0BE, 0x504F }, + { 0xB0BF, 0x500F }, + { 0xB0C0, 0x506F }, + { 0xB0C1, 0x506D }, + { 0xB0C2, 0x515C }, + { 0xB0C3, 0x5195 }, + { 0xB0C4, 0x51F0 }, + { 0xB0C5, 0x526A }, + { 0xB0C6, 0x526F }, + { 0xB0C7, 0x52D2 }, + { 0xB0C8, 0x52D9 }, + { 0xB0C9, 0x52D8 }, + { 0xB0CA, 0x52D5 }, + { 0xB0CB, 0x5310 }, + { 0xB0CC, 0x530F }, + { 0xB0CD, 0x5319 }, + { 0xB0CE, 0x533F }, + { 0xB0CF, 0x5340 }, + { 0xB0D0, 0x533E }, + { 0xB0D1, 0x53C3 }, + { 0xB0D2, 0x66FC }, + { 0xB0D3, 0x5546 }, + { 0xB0D4, 0x556A }, + { 0xB0D5, 0x5566 }, + { 0xB0D6, 0x5544 }, + { 0xB0D7, 0x555E }, + { 0xB0D8, 0x5561 }, + { 0xB0D9, 0x5543 }, + { 0xB0DA, 0x554A }, + { 0xB0DB, 0x5531 }, + { 0xB0DC, 0x5556 }, + { 0xB0DD, 0x554F }, + { 0xB0DE, 0x5555 }, + { 0xB0DF, 0x552F }, + { 0xB0E0, 0x5564 }, + { 0xB0E1, 0x5538 }, + { 0xB0E2, 0x552E }, + { 0xB0E3, 0x555C }, + { 0xB0E4, 0x552C }, + { 0xB0E5, 0x5563 }, + { 0xB0E6, 0x5533 }, + { 0xB0E7, 0x5541 }, + { 0xB0E8, 0x5557 }, + { 0xB0E9, 0x5708 }, + { 0xB0EA, 0x570B }, + { 0xB0EB, 0x5709 }, + { 0xB0EC, 0x57DF }, + { 0xB0ED, 0x5805 }, + { 0xB0EE, 0x580A }, + { 0xB0EF, 0x5806 }, + { 0xB0F0, 0x57E0 }, + { 0xB0F1, 0x57E4 }, + { 0xB0F2, 0x57FA }, + { 0xB0F3, 0x5802 }, + { 0xB0F4, 0x5835 }, + { 0xB0F5, 0x57F7 }, + { 0xB0F6, 0x57F9 }, + { 0xB0F7, 0x5920 }, + { 0xB0F8, 0x5962 }, + { 0xB0F9, 0x5A36 }, + { 0xB0FA, 0x5A41 }, + { 0xB0FB, 0x5A49 }, + { 0xB0FC, 0x5A66 }, + { 0xB0FD, 0x5A6A }, + { 0xB0FE, 0x5A40 }, + { 0xB140, 0x5A3C }, + { 0xB141, 0x5A62 }, + { 0xB142, 0x5A5A }, + { 0xB143, 0x5A46 }, + { 0xB144, 0x5A4A }, + { 0xB145, 0x5B70 }, + { 0xB146, 0x5BC7 }, + { 0xB147, 0x5BC5 }, + { 0xB148, 0x5BC4 }, + { 0xB149, 0x5BC2 }, + { 0xB14A, 0x5BBF }, + { 0xB14B, 0x5BC6 }, + { 0xB14C, 0x5C09 }, + { 0xB14D, 0x5C08 }, + { 0xB14E, 0x5C07 }, + { 0xB14F, 0x5C60 }, + { 0xB150, 0x5C5C }, + { 0xB151, 0x5C5D }, + { 0xB152, 0x5D07 }, + { 0xB153, 0x5D06 }, + { 0xB154, 0x5D0E }, + { 0xB155, 0x5D1B }, + { 0xB156, 0x5D16 }, + { 0xB157, 0x5D22 }, + { 0xB158, 0x5D11 }, + { 0xB159, 0x5D29 }, + { 0xB15A, 0x5D14 }, + { 0xB15B, 0x5D19 }, + { 0xB15C, 0x5D24 }, + { 0xB15D, 0x5D27 }, + { 0xB15E, 0x5D17 }, + { 0xB15F, 0x5DE2 }, + { 0xB160, 0x5E38 }, + { 0xB161, 0x5E36 }, + { 0xB162, 0x5E33 }, + { 0xB163, 0x5E37 }, + { 0xB164, 0x5EB7 }, + { 0xB165, 0x5EB8 }, + { 0xB166, 0x5EB6 }, + { 0xB167, 0x5EB5 }, + { 0xB168, 0x5EBE }, + { 0xB169, 0x5F35 }, + { 0xB16A, 0x5F37 }, + { 0xB16B, 0x5F57 }, + { 0xB16C, 0x5F6C }, + { 0xB16D, 0x5F69 }, + { 0xB16E, 0x5F6B }, + { 0xB16F, 0x5F97 }, + { 0xB170, 0x5F99 }, + { 0xB171, 0x5F9E }, + { 0xB172, 0x5F98 }, + { 0xB173, 0x5FA1 }, + { 0xB174, 0x5FA0 }, + { 0xB175, 0x5F9C }, + { 0xB176, 0x607F }, + { 0xB177, 0x60A3 }, + { 0xB178, 0x6089 }, + { 0xB179, 0x60A0 }, + { 0xB17A, 0x60A8 }, + { 0xB17B, 0x60CB }, + { 0xB17C, 0x60B4 }, + { 0xB17D, 0x60E6 }, + { 0xB17E, 0x60BD }, + { 0xB1A1, 0x60C5 }, + { 0xB1A2, 0x60BB }, + { 0xB1A3, 0x60B5 }, + { 0xB1A4, 0x60DC }, + { 0xB1A5, 0x60BC }, + { 0xB1A6, 0x60D8 }, + { 0xB1A7, 0x60D5 }, + { 0xB1A8, 0x60C6 }, + { 0xB1A9, 0x60DF }, + { 0xB1AA, 0x60B8 }, + { 0xB1AB, 0x60DA }, + { 0xB1AC, 0x60C7 }, + { 0xB1AD, 0x621A }, + { 0xB1AE, 0x621B }, + { 0xB1AF, 0x6248 }, + { 0xB1B0, 0x63A0 }, + { 0xB1B1, 0x63A7 }, + { 0xB1B2, 0x6372 }, + { 0xB1B3, 0x6396 }, + { 0xB1B4, 0x63A2 }, + { 0xB1B5, 0x63A5 }, + { 0xB1B6, 0x6377 }, + { 0xB1B7, 0x6367 }, + { 0xB1B8, 0x6398 }, + { 0xB1B9, 0x63AA }, + { 0xB1BA, 0x6371 }, + { 0xB1BB, 0x63A9 }, + { 0xB1BC, 0x6389 }, + { 0xB1BD, 0x6383 }, + { 0xB1BE, 0x639B }, + { 0xB1BF, 0x636B }, + { 0xB1C0, 0x63A8 }, + { 0xB1C1, 0x6384 }, + { 0xB1C2, 0x6388 }, + { 0xB1C3, 0x6399 }, + { 0xB1C4, 0x63A1 }, + { 0xB1C5, 0x63AC }, + { 0xB1C6, 0x6392 }, + { 0xB1C7, 0x638F }, + { 0xB1C8, 0x6380 }, + { 0xB1C9, 0x637B }, + { 0xB1CA, 0x6369 }, + { 0xB1CB, 0x6368 }, + { 0xB1CC, 0x637A }, + { 0xB1CD, 0x655D }, + { 0xB1CE, 0x6556 }, + { 0xB1CF, 0x6551 }, + { 0xB1D0, 0x6559 }, + { 0xB1D1, 0x6557 }, + { 0xB1D2, 0x555F }, + { 0xB1D3, 0x654F }, + { 0xB1D4, 0x6558 }, + { 0xB1D5, 0x6555 }, + { 0xB1D6, 0x6554 }, + { 0xB1D7, 0x659C }, + { 0xB1D8, 0x659B }, + { 0xB1D9, 0x65AC }, + { 0xB1DA, 0x65CF }, + { 0xB1DB, 0x65CB }, + { 0xB1DC, 0x65CC }, + { 0xB1DD, 0x65CE }, + { 0xB1DE, 0x665D }, + { 0xB1DF, 0x665A }, + { 0xB1E0, 0x6664 }, + { 0xB1E1, 0x6668 }, + { 0xB1E2, 0x6666 }, + { 0xB1E3, 0x665E }, + { 0xB1E4, 0x66F9 }, + { 0xB1E5, 0x52D7 }, + { 0xB1E6, 0x671B }, + { 0xB1E7, 0x6881 }, + { 0xB1E8, 0x68AF }, + { 0xB1E9, 0x68A2 }, + { 0xB1EA, 0x6893 }, + { 0xB1EB, 0x68B5 }, + { 0xB1EC, 0x687F }, + { 0xB1ED, 0x6876 }, + { 0xB1EE, 0x68B1 }, + { 0xB1EF, 0x68A7 }, + { 0xB1F0, 0x6897 }, + { 0xB1F1, 0x68B0 }, + { 0xB1F2, 0x6883 }, + { 0xB1F3, 0x68C4 }, + { 0xB1F4, 0x68AD }, + { 0xB1F5, 0x6886 }, + { 0xB1F6, 0x6885 }, + { 0xB1F7, 0x6894 }, + { 0xB1F8, 0x689D }, + { 0xB1F9, 0x68A8 }, + { 0xB1FA, 0x689F }, + { 0xB1FB, 0x68A1 }, + { 0xB1FC, 0x6882 }, + { 0xB1FD, 0x6B32 }, + { 0xB1FE, 0x6BBA }, + { 0xB240, 0x6BEB }, + { 0xB241, 0x6BEC }, + { 0xB242, 0x6C2B }, + { 0xB243, 0x6D8E }, + { 0xB244, 0x6DBC }, + { 0xB245, 0x6DF3 }, + { 0xB246, 0x6DD9 }, + { 0xB247, 0x6DB2 }, + { 0xB248, 0x6DE1 }, + { 0xB249, 0x6DCC }, + { 0xB24A, 0x6DE4 }, + { 0xB24B, 0x6DFB }, + { 0xB24C, 0x6DFA }, + { 0xB24D, 0x6E05 }, + { 0xB24E, 0x6DC7 }, + { 0xB24F, 0x6DCB }, + { 0xB250, 0x6DAF }, + { 0xB251, 0x6DD1 }, + { 0xB252, 0x6DAE }, + { 0xB253, 0x6DDE }, + { 0xB254, 0x6DF9 }, + { 0xB255, 0x6DB8 }, + { 0xB256, 0x6DF7 }, + { 0xB257, 0x6DF5 }, + { 0xB258, 0x6DC5 }, + { 0xB259, 0x6DD2 }, + { 0xB25A, 0x6E1A }, + { 0xB25B, 0x6DB5 }, + { 0xB25C, 0x6DDA }, + { 0xB25D, 0x6DEB }, + { 0xB25E, 0x6DD8 }, + { 0xB25F, 0x6DEA }, + { 0xB260, 0x6DF1 }, + { 0xB261, 0x6DEE }, + { 0xB262, 0x6DE8 }, + { 0xB263, 0x6DC6 }, + { 0xB264, 0x6DC4 }, + { 0xB265, 0x6DAA }, + { 0xB266, 0x6DEC }, + { 0xB267, 0x6DBF }, + { 0xB268, 0x6DE6 }, + { 0xB269, 0x70F9 }, + { 0xB26A, 0x7109 }, + { 0xB26B, 0x710A }, + { 0xB26C, 0x70FD }, + { 0xB26D, 0x70EF }, + { 0xB26E, 0x723D }, + { 0xB26F, 0x727D }, + { 0xB270, 0x7281 }, + { 0xB271, 0x731C }, + { 0xB272, 0x731B }, + { 0xB273, 0x7316 }, + { 0xB274, 0x7313 }, + { 0xB275, 0x7319 }, + { 0xB276, 0x7387 }, + { 0xB277, 0x7405 }, + { 0xB278, 0x740A }, + { 0xB279, 0x7403 }, + { 0xB27A, 0x7406 }, + { 0xB27B, 0x73FE }, + { 0xB27C, 0x740D }, + { 0xB27D, 0x74E0 }, + { 0xB27E, 0x74F6 }, + { 0xB2A1, 0x74F7 }, + { 0xB2A2, 0x751C }, + { 0xB2A3, 0x7522 }, + { 0xB2A4, 0x7565 }, + { 0xB2A5, 0x7566 }, + { 0xB2A6, 0x7562 }, + { 0xB2A7, 0x7570 }, + { 0xB2A8, 0x758F }, + { 0xB2A9, 0x75D4 }, + { 0xB2AA, 0x75D5 }, + { 0xB2AB, 0x75B5 }, + { 0xB2AC, 0x75CA }, + { 0xB2AD, 0x75CD }, + { 0xB2AE, 0x768E }, + { 0xB2AF, 0x76D4 }, + { 0xB2B0, 0x76D2 }, + { 0xB2B1, 0x76DB }, + { 0xB2B2, 0x7737 }, + { 0xB2B3, 0x773E }, + { 0xB2B4, 0x773C }, + { 0xB2B5, 0x7736 }, + { 0xB2B6, 0x7738 }, + { 0xB2B7, 0x773A }, + { 0xB2B8, 0x786B }, + { 0xB2B9, 0x7843 }, + { 0xB2BA, 0x784E }, + { 0xB2BB, 0x7965 }, + { 0xB2BC, 0x7968 }, + { 0xB2BD, 0x796D }, + { 0xB2BE, 0x79FB }, + { 0xB2BF, 0x7A92 }, + { 0xB2C0, 0x7A95 }, + { 0xB2C1, 0x7B20 }, + { 0xB2C2, 0x7B28 }, + { 0xB2C3, 0x7B1B }, + { 0xB2C4, 0x7B2C }, + { 0xB2C5, 0x7B26 }, + { 0xB2C6, 0x7B19 }, + { 0xB2C7, 0x7B1E }, + { 0xB2C8, 0x7B2E }, + { 0xB2C9, 0x7C92 }, + { 0xB2CA, 0x7C97 }, + { 0xB2CB, 0x7C95 }, + { 0xB2CC, 0x7D46 }, + { 0xB2CD, 0x7D43 }, + { 0xB2CE, 0x7D71 }, + { 0xB2CF, 0x7D2E }, + { 0xB2D0, 0x7D39 }, + { 0xB2D1, 0x7D3C }, + { 0xB2D2, 0x7D40 }, + { 0xB2D3, 0x7D30 }, + { 0xB2D4, 0x7D33 }, + { 0xB2D5, 0x7D44 }, + { 0xB2D6, 0x7D2F }, + { 0xB2D7, 0x7D42 }, + { 0xB2D8, 0x7D32 }, + { 0xB2D9, 0x7D31 }, + { 0xB2DA, 0x7F3D }, + { 0xB2DB, 0x7F9E }, + { 0xB2DC, 0x7F9A }, + { 0xB2DD, 0x7FCC }, + { 0xB2DE, 0x7FCE }, + { 0xB2DF, 0x7FD2 }, + { 0xB2E0, 0x801C }, + { 0xB2E1, 0x804A }, + { 0xB2E2, 0x8046 }, + { 0xB2E3, 0x812F }, + { 0xB2E4, 0x8116 }, + { 0xB2E5, 0x8123 }, + { 0xB2E6, 0x812B }, + { 0xB2E7, 0x8129 }, + { 0xB2E8, 0x8130 }, + { 0xB2E9, 0x8124 }, + { 0xB2EA, 0x8202 }, + { 0xB2EB, 0x8235 }, + { 0xB2EC, 0x8237 }, + { 0xB2ED, 0x8236 }, + { 0xB2EE, 0x8239 }, + { 0xB2EF, 0x838E }, + { 0xB2F0, 0x839E }, + { 0xB2F1, 0x8398 }, + { 0xB2F2, 0x8378 }, + { 0xB2F3, 0x83A2 }, + { 0xB2F4, 0x8396 }, + { 0xB2F5, 0x83BD }, + { 0xB2F6, 0x83AB }, + { 0xB2F7, 0x8392 }, + { 0xB2F8, 0x838A }, + { 0xB2F9, 0x8393 }, + { 0xB2FA, 0x8389 }, + { 0xB2FB, 0x83A0 }, + { 0xB2FC, 0x8377 }, + { 0xB2FD, 0x837B }, + { 0xB2FE, 0x837C }, + { 0xB340, 0x8386 }, + { 0xB341, 0x83A7 }, + { 0xB342, 0x8655 }, + { 0xB343, 0x5F6A }, + { 0xB344, 0x86C7 }, + { 0xB345, 0x86C0 }, + { 0xB346, 0x86B6 }, + { 0xB347, 0x86C4 }, + { 0xB348, 0x86B5 }, + { 0xB349, 0x86C6 }, + { 0xB34A, 0x86CB }, + { 0xB34B, 0x86B1 }, + { 0xB34C, 0x86AF }, + { 0xB34D, 0x86C9 }, + { 0xB34E, 0x8853 }, + { 0xB34F, 0x889E }, + { 0xB350, 0x8888 }, + { 0xB351, 0x88AB }, + { 0xB352, 0x8892 }, + { 0xB353, 0x8896 }, + { 0xB354, 0x888D }, + { 0xB355, 0x888B }, + { 0xB356, 0x8993 }, + { 0xB357, 0x898F }, + { 0xB358, 0x8A2A }, + { 0xB359, 0x8A1D }, + { 0xB35A, 0x8A23 }, + { 0xB35B, 0x8A25 }, + { 0xB35C, 0x8A31 }, + { 0xB35D, 0x8A2D }, + { 0xB35E, 0x8A1F }, + { 0xB35F, 0x8A1B }, + { 0xB360, 0x8A22 }, + { 0xB361, 0x8C49 }, + { 0xB362, 0x8C5A }, + { 0xB363, 0x8CA9 }, + { 0xB364, 0x8CAC }, + { 0xB365, 0x8CAB }, + { 0xB366, 0x8CA8 }, + { 0xB367, 0x8CAA }, + { 0xB368, 0x8CA7 }, + { 0xB369, 0x8D67 }, + { 0xB36A, 0x8D66 }, + { 0xB36B, 0x8DBE }, + { 0xB36C, 0x8DBA }, + { 0xB36D, 0x8EDB }, + { 0xB36E, 0x8EDF }, + { 0xB36F, 0x9019 }, + { 0xB370, 0x900D }, + { 0xB371, 0x901A }, + { 0xB372, 0x9017 }, + { 0xB373, 0x9023 }, + { 0xB374, 0x901F }, + { 0xB375, 0x901D }, + { 0xB376, 0x9010 }, + { 0xB377, 0x9015 }, + { 0xB378, 0x901E }, + { 0xB379, 0x9020 }, + { 0xB37A, 0x900F }, + { 0xB37B, 0x9022 }, + { 0xB37C, 0x9016 }, + { 0xB37D, 0x901B }, + { 0xB37E, 0x9014 }, + { 0xB3A1, 0x90E8 }, + { 0xB3A2, 0x90ED }, + { 0xB3A3, 0x90FD }, + { 0xB3A4, 0x9157 }, + { 0xB3A5, 0x91CE }, + { 0xB3A6, 0x91F5 }, + { 0xB3A7, 0x91E6 }, + { 0xB3A8, 0x91E3 }, + { 0xB3A9, 0x91E7 }, + { 0xB3AA, 0x91ED }, + { 0xB3AB, 0x91E9 }, + { 0xB3AC, 0x9589 }, + { 0xB3AD, 0x966A }, + { 0xB3AE, 0x9675 }, + { 0xB3AF, 0x9673 }, + { 0xB3B0, 0x9678 }, + { 0xB3B1, 0x9670 }, + { 0xB3B2, 0x9674 }, + { 0xB3B3, 0x9676 }, + { 0xB3B4, 0x9677 }, + { 0xB3B5, 0x966C }, + { 0xB3B6, 0x96C0 }, + { 0xB3B7, 0x96EA }, + { 0xB3B8, 0x96E9 }, + { 0xB3B9, 0x7AE0 }, + { 0xB3BA, 0x7ADF }, + { 0xB3BB, 0x9802 }, + { 0xB3BC, 0x9803 }, + { 0xB3BD, 0x9B5A }, + { 0xB3BE, 0x9CE5 }, + { 0xB3BF, 0x9E75 }, + { 0xB3C0, 0x9E7F }, + { 0xB3C1, 0x9EA5 }, + { 0xB3C2, 0x9EBB }, + { 0xB3C3, 0x50A2 }, + { 0xB3C4, 0x508D }, + { 0xB3C5, 0x5085 }, + { 0xB3C6, 0x5099 }, + { 0xB3C7, 0x5091 }, + { 0xB3C8, 0x5080 }, + { 0xB3C9, 0x5096 }, + { 0xB3CA, 0x5098 }, + { 0xB3CB, 0x509A }, + { 0xB3CC, 0x6700 }, + { 0xB3CD, 0x51F1 }, + { 0xB3CE, 0x5272 }, + { 0xB3CF, 0x5274 }, + { 0xB3D0, 0x5275 }, + { 0xB3D1, 0x5269 }, + { 0xB3D2, 0x52DE }, + { 0xB3D3, 0x52DD }, + { 0xB3D4, 0x52DB }, + { 0xB3D5, 0x535A }, + { 0xB3D6, 0x53A5 }, + { 0xB3D7, 0x557B }, + { 0xB3D8, 0x5580 }, + { 0xB3D9, 0x55A7 }, + { 0xB3DA, 0x557C }, + { 0xB3DB, 0x558A }, + { 0xB3DC, 0x559D }, + { 0xB3DD, 0x5598 }, + { 0xB3DE, 0x5582 }, + { 0xB3DF, 0x559C }, + { 0xB3E0, 0x55AA }, + { 0xB3E1, 0x5594 }, + { 0xB3E2, 0x5587 }, + { 0xB3E3, 0x558B }, + { 0xB3E4, 0x5583 }, + { 0xB3E5, 0x55B3 }, + { 0xB3E6, 0x55AE }, + { 0xB3E7, 0x559F }, + { 0xB3E8, 0x553E }, + { 0xB3E9, 0x55B2 }, + { 0xB3EA, 0x559A }, + { 0xB3EB, 0x55BB }, + { 0xB3EC, 0x55AC }, + { 0xB3ED, 0x55B1 }, + { 0xB3EE, 0x557E }, + { 0xB3EF, 0x5589 }, + { 0xB3F0, 0x55AB }, + { 0xB3F1, 0x5599 }, + { 0xB3F2, 0x570D }, + { 0xB3F3, 0x582F }, + { 0xB3F4, 0x582A }, + { 0xB3F5, 0x5834 }, + { 0xB3F6, 0x5824 }, + { 0xB3F7, 0x5830 }, + { 0xB3F8, 0x5831 }, + { 0xB3F9, 0x5821 }, + { 0xB3FA, 0x581D }, + { 0xB3FB, 0x5820 }, + { 0xB3FC, 0x58F9 }, + { 0xB3FD, 0x58FA }, + { 0xB3FE, 0x5960 }, + { 0xB440, 0x5A77 }, + { 0xB441, 0x5A9A }, + { 0xB442, 0x5A7F }, + { 0xB443, 0x5A92 }, + { 0xB444, 0x5A9B }, + { 0xB445, 0x5AA7 }, + { 0xB446, 0x5B73 }, + { 0xB447, 0x5B71 }, + { 0xB448, 0x5BD2 }, + { 0xB449, 0x5BCC }, + { 0xB44A, 0x5BD3 }, + { 0xB44B, 0x5BD0 }, + { 0xB44C, 0x5C0A }, + { 0xB44D, 0x5C0B }, + { 0xB44E, 0x5C31 }, + { 0xB44F, 0x5D4C }, + { 0xB450, 0x5D50 }, + { 0xB451, 0x5D34 }, + { 0xB452, 0x5D47 }, + { 0xB453, 0x5DFD }, + { 0xB454, 0x5E45 }, + { 0xB455, 0x5E3D }, + { 0xB456, 0x5E40 }, + { 0xB457, 0x5E43 }, + { 0xB458, 0x5E7E }, + { 0xB459, 0x5ECA }, + { 0xB45A, 0x5EC1 }, + { 0xB45B, 0x5EC2 }, + { 0xB45C, 0x5EC4 }, + { 0xB45D, 0x5F3C }, + { 0xB45E, 0x5F6D }, + { 0xB45F, 0x5FA9 }, + { 0xB460, 0x5FAA }, + { 0xB461, 0x5FA8 }, + { 0xB462, 0x60D1 }, + { 0xB463, 0x60E1 }, + { 0xB464, 0x60B2 }, + { 0xB465, 0x60B6 }, + { 0xB466, 0x60E0 }, + { 0xB467, 0x611C }, + { 0xB468, 0x6123 }, + { 0xB469, 0x60FA }, + { 0xB46A, 0x6115 }, + { 0xB46B, 0x60F0 }, + { 0xB46C, 0x60FB }, + { 0xB46D, 0x60F4 }, + { 0xB46E, 0x6168 }, + { 0xB46F, 0x60F1 }, + { 0xB470, 0x610E }, + { 0xB471, 0x60F6 }, + { 0xB472, 0x6109 }, + { 0xB473, 0x6100 }, + { 0xB474, 0x6112 }, + { 0xB475, 0x621F }, + { 0xB476, 0x6249 }, + { 0xB477, 0x63A3 }, + { 0xB478, 0x638C }, + { 0xB479, 0x63CF }, + { 0xB47A, 0x63C0 }, + { 0xB47B, 0x63E9 }, + { 0xB47C, 0x63C9 }, + { 0xB47D, 0x63C6 }, + { 0xB47E, 0x63CD }, + { 0xB4A1, 0x63D2 }, + { 0xB4A2, 0x63E3 }, + { 0xB4A3, 0x63D0 }, + { 0xB4A4, 0x63E1 }, + { 0xB4A5, 0x63D6 }, + { 0xB4A6, 0x63ED }, + { 0xB4A7, 0x63EE }, + { 0xB4A8, 0x6376 }, + { 0xB4A9, 0x63F4 }, + { 0xB4AA, 0x63EA }, + { 0xB4AB, 0x63DB }, + { 0xB4AC, 0x6452 }, + { 0xB4AD, 0x63DA }, + { 0xB4AE, 0x63F9 }, + { 0xB4AF, 0x655E }, + { 0xB4B0, 0x6566 }, + { 0xB4B1, 0x6562 }, + { 0xB4B2, 0x6563 }, + { 0xB4B3, 0x6591 }, + { 0xB4B4, 0x6590 }, + { 0xB4B5, 0x65AF }, + { 0xB4B6, 0x666E }, + { 0xB4B7, 0x6670 }, + { 0xB4B8, 0x6674 }, + { 0xB4B9, 0x6676 }, + { 0xB4BA, 0x666F }, + { 0xB4BB, 0x6691 }, + { 0xB4BC, 0x667A }, + { 0xB4BD, 0x667E }, + { 0xB4BE, 0x6677 }, + { 0xB4BF, 0x66FE }, + { 0xB4C0, 0x66FF }, + { 0xB4C1, 0x671F }, + { 0xB4C2, 0x671D }, + { 0xB4C3, 0x68FA }, + { 0xB4C4, 0x68D5 }, + { 0xB4C5, 0x68E0 }, + { 0xB4C6, 0x68D8 }, + { 0xB4C7, 0x68D7 }, + { 0xB4C8, 0x6905 }, + { 0xB4C9, 0x68DF }, + { 0xB4CA, 0x68F5 }, + { 0xB4CB, 0x68EE }, + { 0xB4CC, 0x68E7 }, + { 0xB4CD, 0x68F9 }, + { 0xB4CE, 0x68D2 }, + { 0xB4CF, 0x68F2 }, + { 0xB4D0, 0x68E3 }, + { 0xB4D1, 0x68CB }, + { 0xB4D2, 0x68CD }, + { 0xB4D3, 0x690D }, + { 0xB4D4, 0x6912 }, + { 0xB4D5, 0x690E }, + { 0xB4D6, 0x68C9 }, + { 0xB4D7, 0x68DA }, + { 0xB4D8, 0x696E }, + { 0xB4D9, 0x68FB }, + { 0xB4DA, 0x6B3E }, + { 0xB4DB, 0x6B3A }, + { 0xB4DC, 0x6B3D }, + { 0xB4DD, 0x6B98 }, + { 0xB4DE, 0x6B96 }, + { 0xB4DF, 0x6BBC }, + { 0xB4E0, 0x6BEF }, + { 0xB4E1, 0x6C2E }, + { 0xB4E2, 0x6C2F }, + { 0xB4E3, 0x6C2C }, + { 0xB4E4, 0x6E2F }, + { 0xB4E5, 0x6E38 }, + { 0xB4E6, 0x6E54 }, + { 0xB4E7, 0x6E21 }, + { 0xB4E8, 0x6E32 }, + { 0xB4E9, 0x6E67 }, + { 0xB4EA, 0x6E4A }, + { 0xB4EB, 0x6E20 }, + { 0xB4EC, 0x6E25 }, + { 0xB4ED, 0x6E23 }, + { 0xB4EE, 0x6E1B }, + { 0xB4EF, 0x6E5B }, + { 0xB4F0, 0x6E58 }, + { 0xB4F1, 0x6E24 }, + { 0xB4F2, 0x6E56 }, + { 0xB4F3, 0x6E6E }, + { 0xB4F4, 0x6E2D }, + { 0xB4F5, 0x6E26 }, + { 0xB4F6, 0x6E6F }, + { 0xB4F7, 0x6E34 }, + { 0xB4F8, 0x6E4D }, + { 0xB4F9, 0x6E3A }, + { 0xB4FA, 0x6E2C }, + { 0xB4FB, 0x6E43 }, + { 0xB4FC, 0x6E1D }, + { 0xB4FD, 0x6E3E }, + { 0xB4FE, 0x6ECB }, + { 0xB540, 0x6E89 }, + { 0xB541, 0x6E19 }, + { 0xB542, 0x6E4E }, + { 0xB543, 0x6E63 }, + { 0xB544, 0x6E44 }, + { 0xB545, 0x6E72 }, + { 0xB546, 0x6E69 }, + { 0xB547, 0x6E5F }, + { 0xB548, 0x7119 }, + { 0xB549, 0x711A }, + { 0xB54A, 0x7126 }, + { 0xB54B, 0x7130 }, + { 0xB54C, 0x7121 }, + { 0xB54D, 0x7136 }, + { 0xB54E, 0x716E }, + { 0xB54F, 0x711C }, + { 0xB550, 0x724C }, + { 0xB551, 0x7284 }, + { 0xB552, 0x7280 }, + { 0xB553, 0x7336 }, + { 0xB554, 0x7325 }, + { 0xB555, 0x7334 }, + { 0xB556, 0x7329 }, + { 0xB557, 0x743A }, + { 0xB558, 0x742A }, + { 0xB559, 0x7433 }, + { 0xB55A, 0x7422 }, + { 0xB55B, 0x7425 }, + { 0xB55C, 0x7435 }, + { 0xB55D, 0x7436 }, + { 0xB55E, 0x7434 }, + { 0xB55F, 0x742F }, + { 0xB560, 0x741B }, + { 0xB561, 0x7426 }, + { 0xB562, 0x7428 }, + { 0xB563, 0x7525 }, + { 0xB564, 0x7526 }, + { 0xB565, 0x756B }, + { 0xB566, 0x756A }, + { 0xB567, 0x75E2 }, + { 0xB568, 0x75DB }, + { 0xB569, 0x75E3 }, + { 0xB56A, 0x75D9 }, + { 0xB56B, 0x75D8 }, + { 0xB56C, 0x75DE }, + { 0xB56D, 0x75E0 }, + { 0xB56E, 0x767B }, + { 0xB56F, 0x767C }, + { 0xB570, 0x7696 }, + { 0xB571, 0x7693 }, + { 0xB572, 0x76B4 }, + { 0xB573, 0x76DC }, + { 0xB574, 0x774F }, + { 0xB575, 0x77ED }, + { 0xB576, 0x785D }, + { 0xB577, 0x786C }, + { 0xB578, 0x786F }, + { 0xB579, 0x7A0D }, + { 0xB57A, 0x7A08 }, + { 0xB57B, 0x7A0B }, + { 0xB57C, 0x7A05 }, + { 0xB57D, 0x7A00 }, + { 0xB57E, 0x7A98 }, + { 0xB5A1, 0x7A97 }, + { 0xB5A2, 0x7A96 }, + { 0xB5A3, 0x7AE5 }, + { 0xB5A4, 0x7AE3 }, + { 0xB5A5, 0x7B49 }, + { 0xB5A6, 0x7B56 }, + { 0xB5A7, 0x7B46 }, + { 0xB5A8, 0x7B50 }, + { 0xB5A9, 0x7B52 }, + { 0xB5AA, 0x7B54 }, + { 0xB5AB, 0x7B4D }, + { 0xB5AC, 0x7B4B }, + { 0xB5AD, 0x7B4F }, + { 0xB5AE, 0x7B51 }, + { 0xB5AF, 0x7C9F }, + { 0xB5B0, 0x7CA5 }, + { 0xB5B1, 0x7D5E }, + { 0xB5B2, 0x7D50 }, + { 0xB5B3, 0x7D68 }, + { 0xB5B4, 0x7D55 }, + { 0xB5B5, 0x7D2B }, + { 0xB5B6, 0x7D6E }, + { 0xB5B7, 0x7D72 }, + { 0xB5B8, 0x7D61 }, + { 0xB5B9, 0x7D66 }, + { 0xB5BA, 0x7D62 }, + { 0xB5BB, 0x7D70 }, + { 0xB5BC, 0x7D73 }, + { 0xB5BD, 0x5584 }, + { 0xB5BE, 0x7FD4 }, + { 0xB5BF, 0x7FD5 }, + { 0xB5C0, 0x800B }, + { 0xB5C1, 0x8052 }, + { 0xB5C2, 0x8085 }, + { 0xB5C3, 0x8155 }, + { 0xB5C4, 0x8154 }, + { 0xB5C5, 0x814B }, + { 0xB5C6, 0x8151 }, + { 0xB5C7, 0x814E }, + { 0xB5C8, 0x8139 }, + { 0xB5C9, 0x8146 }, + { 0xB5CA, 0x813E }, + { 0xB5CB, 0x814C }, + { 0xB5CC, 0x8153 }, + { 0xB5CD, 0x8174 }, + { 0xB5CE, 0x8212 }, + { 0xB5CF, 0x821C }, + { 0xB5D0, 0x83E9 }, + { 0xB5D1, 0x8403 }, + { 0xB5D2, 0x83F8 }, + { 0xB5D3, 0x840D }, + { 0xB5D4, 0x83E0 }, + { 0xB5D5, 0x83C5 }, + { 0xB5D6, 0x840B }, + { 0xB5D7, 0x83C1 }, + { 0xB5D8, 0x83EF }, + { 0xB5D9, 0x83F1 }, + { 0xB5DA, 0x83F4 }, + { 0xB5DB, 0x8457 }, + { 0xB5DC, 0x840A }, + { 0xB5DD, 0x83F0 }, + { 0xB5DE, 0x840C }, + { 0xB5DF, 0x83CC }, + { 0xB5E0, 0x83FD }, + { 0xB5E1, 0x83F2 }, + { 0xB5E2, 0x83CA }, + { 0xB5E3, 0x8438 }, + { 0xB5E4, 0x840E }, + { 0xB5E5, 0x8404 }, + { 0xB5E6, 0x83DC }, + { 0xB5E7, 0x8407 }, + { 0xB5E8, 0x83D4 }, + { 0xB5E9, 0x83DF }, + { 0xB5EA, 0x865B }, + { 0xB5EB, 0x86DF }, + { 0xB5EC, 0x86D9 }, + { 0xB5ED, 0x86ED }, + { 0xB5EE, 0x86D4 }, + { 0xB5EF, 0x86DB }, + { 0xB5F0, 0x86E4 }, + { 0xB5F1, 0x86D0 }, + { 0xB5F2, 0x86DE }, + { 0xB5F3, 0x8857 }, + { 0xB5F4, 0x88C1 }, + { 0xB5F5, 0x88C2 }, + { 0xB5F6, 0x88B1 }, + { 0xB5F7, 0x8983 }, + { 0xB5F8, 0x8996 }, + { 0xB5F9, 0x8A3B }, + { 0xB5FA, 0x8A60 }, + { 0xB5FB, 0x8A55 }, + { 0xB5FC, 0x8A5E }, + { 0xB5FD, 0x8A3C }, + { 0xB5FE, 0x8A41 }, + { 0xB640, 0x8A54 }, + { 0xB641, 0x8A5B }, + { 0xB642, 0x8A50 }, + { 0xB643, 0x8A46 }, + { 0xB644, 0x8A34 }, + { 0xB645, 0x8A3A }, + { 0xB646, 0x8A36 }, + { 0xB647, 0x8A56 }, + { 0xB648, 0x8C61 }, + { 0xB649, 0x8C82 }, + { 0xB64A, 0x8CAF }, + { 0xB64B, 0x8CBC }, + { 0xB64C, 0x8CB3 }, + { 0xB64D, 0x8CBD }, + { 0xB64E, 0x8CC1 }, + { 0xB64F, 0x8CBB }, + { 0xB650, 0x8CC0 }, + { 0xB651, 0x8CB4 }, + { 0xB652, 0x8CB7 }, + { 0xB653, 0x8CB6 }, + { 0xB654, 0x8CBF }, + { 0xB655, 0x8CB8 }, + { 0xB656, 0x8D8A }, + { 0xB657, 0x8D85 }, + { 0xB658, 0x8D81 }, + { 0xB659, 0x8DCE }, + { 0xB65A, 0x8DDD }, + { 0xB65B, 0x8DCB }, + { 0xB65C, 0x8DDA }, + { 0xB65D, 0x8DD1 }, + { 0xB65E, 0x8DCC }, + { 0xB65F, 0x8DDB }, + { 0xB660, 0x8DC6 }, + { 0xB661, 0x8EFB }, + { 0xB662, 0x8EF8 }, + { 0xB663, 0x8EFC }, + { 0xB664, 0x8F9C }, + { 0xB665, 0x902E }, + { 0xB666, 0x9035 }, + { 0xB667, 0x9031 }, + { 0xB668, 0x9038 }, + { 0xB669, 0x9032 }, + { 0xB66A, 0x9036 }, + { 0xB66B, 0x9102 }, + { 0xB66C, 0x90F5 }, + { 0xB66D, 0x9109 }, + { 0xB66E, 0x90FE }, + { 0xB66F, 0x9163 }, + { 0xB670, 0x9165 }, + { 0xB671, 0x91CF }, + { 0xB672, 0x9214 }, + { 0xB673, 0x9215 }, + { 0xB674, 0x9223 }, + { 0xB675, 0x9209 }, + { 0xB676, 0x921E }, + { 0xB677, 0x920D }, + { 0xB678, 0x9210 }, + { 0xB679, 0x9207 }, + { 0xB67A, 0x9211 }, + { 0xB67B, 0x9594 }, + { 0xB67C, 0x958F }, + { 0xB67D, 0x958B }, + { 0xB67E, 0x9591 }, + { 0xB6A1, 0x9593 }, + { 0xB6A2, 0x9592 }, + { 0xB6A3, 0x958E }, + { 0xB6A4, 0x968A }, + { 0xB6A5, 0x968E }, + { 0xB6A6, 0x968B }, + { 0xB6A7, 0x967D }, + { 0xB6A8, 0x9685 }, + { 0xB6A9, 0x9686 }, + { 0xB6AA, 0x968D }, + { 0xB6AB, 0x9672 }, + { 0xB6AC, 0x9684 }, + { 0xB6AD, 0x96C1 }, + { 0xB6AE, 0x96C5 }, + { 0xB6AF, 0x96C4 }, + { 0xB6B0, 0x96C6 }, + { 0xB6B1, 0x96C7 }, + { 0xB6B2, 0x96EF }, + { 0xB6B3, 0x96F2 }, + { 0xB6B4, 0x97CC }, + { 0xB6B5, 0x9805 }, + { 0xB6B6, 0x9806 }, + { 0xB6B7, 0x9808 }, + { 0xB6B8, 0x98E7 }, + { 0xB6B9, 0x98EA }, + { 0xB6BA, 0x98EF }, + { 0xB6BB, 0x98E9 }, + { 0xB6BC, 0x98F2 }, + { 0xB6BD, 0x98ED }, + { 0xB6BE, 0x99AE }, + { 0xB6BF, 0x99AD }, + { 0xB6C0, 0x9EC3 }, + { 0xB6C1, 0x9ECD }, + { 0xB6C2, 0x9ED1 }, + { 0xB6C3, 0x4E82 }, + { 0xB6C4, 0x50AD }, + { 0xB6C5, 0x50B5 }, + { 0xB6C6, 0x50B2 }, + { 0xB6C7, 0x50B3 }, + { 0xB6C8, 0x50C5 }, + { 0xB6C9, 0x50BE }, + { 0xB6CA, 0x50AC }, + { 0xB6CB, 0x50B7 }, + { 0xB6CC, 0x50BB }, + { 0xB6CD, 0x50AF }, + { 0xB6CE, 0x50C7 }, + { 0xB6CF, 0x527F }, + { 0xB6D0, 0x5277 }, + { 0xB6D1, 0x527D }, + { 0xB6D2, 0x52DF }, + { 0xB6D3, 0x52E6 }, + { 0xB6D4, 0x52E4 }, + { 0xB6D5, 0x52E2 }, + { 0xB6D6, 0x52E3 }, + { 0xB6D7, 0x532F }, + { 0xB6D8, 0x55DF }, + { 0xB6D9, 0x55E8 }, + { 0xB6DA, 0x55D3 }, + { 0xB6DB, 0x55E6 }, + { 0xB6DC, 0x55CE }, + { 0xB6DD, 0x55DC }, + { 0xB6DE, 0x55C7 }, + { 0xB6DF, 0x55D1 }, + { 0xB6E0, 0x55E3 }, + { 0xB6E1, 0x55E4 }, + { 0xB6E2, 0x55EF }, + { 0xB6E3, 0x55DA }, + { 0xB6E4, 0x55E1 }, + { 0xB6E5, 0x55C5 }, + { 0xB6E6, 0x55C6 }, + { 0xB6E7, 0x55E5 }, + { 0xB6E8, 0x55C9 }, + { 0xB6E9, 0x5712 }, + { 0xB6EA, 0x5713 }, + { 0xB6EB, 0x585E }, + { 0xB6EC, 0x5851 }, + { 0xB6ED, 0x5858 }, + { 0xB6EE, 0x5857 }, + { 0xB6EF, 0x585A }, + { 0xB6F0, 0x5854 }, + { 0xB6F1, 0x586B }, + { 0xB6F2, 0x584C }, + { 0xB6F3, 0x586D }, + { 0xB6F4, 0x584A }, + { 0xB6F5, 0x5862 }, + { 0xB6F6, 0x5852 }, + { 0xB6F7, 0x584B }, + { 0xB6F8, 0x5967 }, + { 0xB6F9, 0x5AC1 }, + { 0xB6FA, 0x5AC9 }, + { 0xB6FB, 0x5ACC }, + { 0xB6FC, 0x5ABE }, + { 0xB6FD, 0x5ABD }, + { 0xB6FE, 0x5ABC }, + { 0xB740, 0x5AB3 }, + { 0xB741, 0x5AC2 }, + { 0xB742, 0x5AB2 }, + { 0xB743, 0x5D69 }, + { 0xB744, 0x5D6F }, + { 0xB745, 0x5E4C }, + { 0xB746, 0x5E79 }, + { 0xB747, 0x5EC9 }, + { 0xB748, 0x5EC8 }, + { 0xB749, 0x5F12 }, + { 0xB74A, 0x5F59 }, + { 0xB74B, 0x5FAC }, + { 0xB74C, 0x5FAE }, + { 0xB74D, 0x611A }, + { 0xB74E, 0x610F }, + { 0xB74F, 0x6148 }, + { 0xB750, 0x611F }, + { 0xB751, 0x60F3 }, + { 0xB752, 0x611B }, + { 0xB753, 0x60F9 }, + { 0xB754, 0x6101 }, + { 0xB755, 0x6108 }, + { 0xB756, 0x614E }, + { 0xB757, 0x614C }, + { 0xB758, 0x6144 }, + { 0xB759, 0x614D }, + { 0xB75A, 0x613E }, + { 0xB75B, 0x6134 }, + { 0xB75C, 0x6127 }, + { 0xB75D, 0x610D }, + { 0xB75E, 0x6106 }, + { 0xB75F, 0x6137 }, + { 0xB760, 0x6221 }, + { 0xB761, 0x6222 }, + { 0xB762, 0x6413 }, + { 0xB763, 0x643E }, + { 0xB764, 0x641E }, + { 0xB765, 0x642A }, + { 0xB766, 0x642D }, + { 0xB767, 0x643D }, + { 0xB768, 0x642C }, + { 0xB769, 0x640F }, + { 0xB76A, 0x641C }, + { 0xB76B, 0x6414 }, + { 0xB76C, 0x640D }, + { 0xB76D, 0x6436 }, + { 0xB76E, 0x6416 }, + { 0xB76F, 0x6417 }, + { 0xB770, 0x6406 }, + { 0xB771, 0x656C }, + { 0xB772, 0x659F }, + { 0xB773, 0x65B0 }, + { 0xB774, 0x6697 }, + { 0xB775, 0x6689 }, + { 0xB776, 0x6687 }, + { 0xB777, 0x6688 }, + { 0xB778, 0x6696 }, + { 0xB779, 0x6684 }, + { 0xB77A, 0x6698 }, + { 0xB77B, 0x668D }, + { 0xB77C, 0x6703 }, + { 0xB77D, 0x6994 }, + { 0xB77E, 0x696D }, + { 0xB7A1, 0x695A }, + { 0xB7A2, 0x6977 }, + { 0xB7A3, 0x6960 }, + { 0xB7A4, 0x6954 }, + { 0xB7A5, 0x6975 }, + { 0xB7A6, 0x6930 }, + { 0xB7A7, 0x6982 }, + { 0xB7A8, 0x694A }, + { 0xB7A9, 0x6968 }, + { 0xB7AA, 0x696B }, + { 0xB7AB, 0x695E }, + { 0xB7AC, 0x6953 }, + { 0xB7AD, 0x6979 }, + { 0xB7AE, 0x6986 }, + { 0xB7AF, 0x695D }, + { 0xB7B0, 0x6963 }, + { 0xB7B1, 0x695B }, + { 0xB7B2, 0x6B47 }, + { 0xB7B3, 0x6B72 }, + { 0xB7B4, 0x6BC0 }, + { 0xB7B5, 0x6BBF }, + { 0xB7B6, 0x6BD3 }, + { 0xB7B7, 0x6BFD }, + { 0xB7B8, 0x6EA2 }, + { 0xB7B9, 0x6EAF }, + { 0xB7BA, 0x6ED3 }, + { 0xB7BB, 0x6EB6 }, + { 0xB7BC, 0x6EC2 }, + { 0xB7BD, 0x6E90 }, + { 0xB7BE, 0x6E9D }, + { 0xB7BF, 0x6EC7 }, + { 0xB7C0, 0x6EC5 }, + { 0xB7C1, 0x6EA5 }, + { 0xB7C2, 0x6E98 }, + { 0xB7C3, 0x6EBC }, + { 0xB7C4, 0x6EBA }, + { 0xB7C5, 0x6EAB }, + { 0xB7C6, 0x6ED1 }, + { 0xB7C7, 0x6E96 }, + { 0xB7C8, 0x6E9C }, + { 0xB7C9, 0x6EC4 }, + { 0xB7CA, 0x6ED4 }, + { 0xB7CB, 0x6EAA }, + { 0xB7CC, 0x6EA7 }, + { 0xB7CD, 0x6EB4 }, + { 0xB7CE, 0x714E }, + { 0xB7CF, 0x7159 }, + { 0xB7D0, 0x7169 }, + { 0xB7D1, 0x7164 }, + { 0xB7D2, 0x7149 }, + { 0xB7D3, 0x7167 }, + { 0xB7D4, 0x715C }, + { 0xB7D5, 0x716C }, + { 0xB7D6, 0x7166 }, + { 0xB7D7, 0x714C }, + { 0xB7D8, 0x7165 }, + { 0xB7D9, 0x715E }, + { 0xB7DA, 0x7146 }, + { 0xB7DB, 0x7168 }, + { 0xB7DC, 0x7156 }, + { 0xB7DD, 0x723A }, + { 0xB7DE, 0x7252 }, + { 0xB7DF, 0x7337 }, + { 0xB7E0, 0x7345 }, + { 0xB7E1, 0x733F }, + { 0xB7E2, 0x733E }, + { 0xB7E3, 0x746F }, + { 0xB7E4, 0x745A }, + { 0xB7E5, 0x7455 }, + { 0xB7E6, 0x745F }, + { 0xB7E7, 0x745E }, + { 0xB7E8, 0x7441 }, + { 0xB7E9, 0x743F }, + { 0xB7EA, 0x7459 }, + { 0xB7EB, 0x745B }, + { 0xB7EC, 0x745C }, + { 0xB7ED, 0x7576 }, + { 0xB7EE, 0x7578 }, + { 0xB7EF, 0x7600 }, + { 0xB7F0, 0x75F0 }, + { 0xB7F1, 0x7601 }, + { 0xB7F2, 0x75F2 }, + { 0xB7F3, 0x75F1 }, + { 0xB7F4, 0x75FA }, + { 0xB7F5, 0x75FF }, + { 0xB7F6, 0x75F4 }, + { 0xB7F7, 0x75F3 }, + { 0xB7F8, 0x76DE }, + { 0xB7F9, 0x76DF }, + { 0xB7FA, 0x775B }, + { 0xB7FB, 0x776B }, + { 0xB7FC, 0x7766 }, + { 0xB7FD, 0x775E }, + { 0xB7FE, 0x7763 }, + { 0xB840, 0x7779 }, + { 0xB841, 0x776A }, + { 0xB842, 0x776C }, + { 0xB843, 0x775C }, + { 0xB844, 0x7765 }, + { 0xB845, 0x7768 }, + { 0xB846, 0x7762 }, + { 0xB847, 0x77EE }, + { 0xB848, 0x788E }, + { 0xB849, 0x78B0 }, + { 0xB84A, 0x7897 }, + { 0xB84B, 0x7898 }, + { 0xB84C, 0x788C }, + { 0xB84D, 0x7889 }, + { 0xB84E, 0x787C }, + { 0xB84F, 0x7891 }, + { 0xB850, 0x7893 }, + { 0xB851, 0x787F }, + { 0xB852, 0x797A }, + { 0xB853, 0x797F }, + { 0xB854, 0x7981 }, + { 0xB855, 0x842C }, + { 0xB856, 0x79BD }, + { 0xB857, 0x7A1C }, + { 0xB858, 0x7A1A }, + { 0xB859, 0x7A20 }, + { 0xB85A, 0x7A14 }, + { 0xB85B, 0x7A1F }, + { 0xB85C, 0x7A1E }, + { 0xB85D, 0x7A9F }, + { 0xB85E, 0x7AA0 }, + { 0xB85F, 0x7B77 }, + { 0xB860, 0x7BC0 }, + { 0xB861, 0x7B60 }, + { 0xB862, 0x7B6E }, + { 0xB863, 0x7B67 }, + { 0xB864, 0x7CB1 }, + { 0xB865, 0x7CB3 }, + { 0xB866, 0x7CB5 }, + { 0xB867, 0x7D93 }, + { 0xB868, 0x7D79 }, + { 0xB869, 0x7D91 }, + { 0xB86A, 0x7D81 }, + { 0xB86B, 0x7D8F }, + { 0xB86C, 0x7D5B }, + { 0xB86D, 0x7F6E }, + { 0xB86E, 0x7F69 }, + { 0xB86F, 0x7F6A }, + { 0xB870, 0x7F72 }, + { 0xB871, 0x7FA9 }, + { 0xB872, 0x7FA8 }, + { 0xB873, 0x7FA4 }, + { 0xB874, 0x8056 }, + { 0xB875, 0x8058 }, + { 0xB876, 0x8086 }, + { 0xB877, 0x8084 }, + { 0xB878, 0x8171 }, + { 0xB879, 0x8170 }, + { 0xB87A, 0x8178 }, + { 0xB87B, 0x8165 }, + { 0xB87C, 0x816E }, + { 0xB87D, 0x8173 }, + { 0xB87E, 0x816B }, + { 0xB8A1, 0x8179 }, + { 0xB8A2, 0x817A }, + { 0xB8A3, 0x8166 }, + { 0xB8A4, 0x8205 }, + { 0xB8A5, 0x8247 }, + { 0xB8A6, 0x8482 }, + { 0xB8A7, 0x8477 }, + { 0xB8A8, 0x843D }, + { 0xB8A9, 0x8431 }, + { 0xB8AA, 0x8475 }, + { 0xB8AB, 0x8466 }, + { 0xB8AC, 0x846B }, + { 0xB8AD, 0x8449 }, + { 0xB8AE, 0x846C }, + { 0xB8AF, 0x845B }, + { 0xB8B0, 0x843C }, + { 0xB8B1, 0x8435 }, + { 0xB8B2, 0x8461 }, + { 0xB8B3, 0x8463 }, + { 0xB8B4, 0x8469 }, + { 0xB8B5, 0x846D }, + { 0xB8B6, 0x8446 }, + { 0xB8B7, 0x865E }, + { 0xB8B8, 0x865C }, + { 0xB8B9, 0x865F }, + { 0xB8BA, 0x86F9 }, + { 0xB8BB, 0x8713 }, + { 0xB8BC, 0x8708 }, + { 0xB8BD, 0x8707 }, + { 0xB8BE, 0x8700 }, + { 0xB8BF, 0x86FE }, + { 0xB8C0, 0x86FB }, + { 0xB8C1, 0x8702 }, + { 0xB8C2, 0x8703 }, + { 0xB8C3, 0x8706 }, + { 0xB8C4, 0x870A }, + { 0xB8C5, 0x8859 }, + { 0xB8C6, 0x88DF }, + { 0xB8C7, 0x88D4 }, + { 0xB8C8, 0x88D9 }, + { 0xB8C9, 0x88DC }, + { 0xB8CA, 0x88D8 }, + { 0xB8CB, 0x88DD }, + { 0xB8CC, 0x88E1 }, + { 0xB8CD, 0x88CA }, + { 0xB8CE, 0x88D5 }, + { 0xB8CF, 0x88D2 }, + { 0xB8D0, 0x899C }, + { 0xB8D1, 0x89E3 }, + { 0xB8D2, 0x8A6B }, + { 0xB8D3, 0x8A72 }, + { 0xB8D4, 0x8A73 }, + { 0xB8D5, 0x8A66 }, + { 0xB8D6, 0x8A69 }, + { 0xB8D7, 0x8A70 }, + { 0xB8D8, 0x8A87 }, + { 0xB8D9, 0x8A7C }, + { 0xB8DA, 0x8A63 }, + { 0xB8DB, 0x8AA0 }, + { 0xB8DC, 0x8A71 }, + { 0xB8DD, 0x8A85 }, + { 0xB8DE, 0x8A6D }, + { 0xB8DF, 0x8A62 }, + { 0xB8E0, 0x8A6E }, + { 0xB8E1, 0x8A6C }, + { 0xB8E2, 0x8A79 }, + { 0xB8E3, 0x8A7B }, + { 0xB8E4, 0x8A3E }, + { 0xB8E5, 0x8A68 }, + { 0xB8E6, 0x8C62 }, + { 0xB8E7, 0x8C8A }, + { 0xB8E8, 0x8C89 }, + { 0xB8E9, 0x8CCA }, + { 0xB8EA, 0x8CC7 }, + { 0xB8EB, 0x8CC8 }, + { 0xB8EC, 0x8CC4 }, + { 0xB8ED, 0x8CB2 }, + { 0xB8EE, 0x8CC3 }, + { 0xB8EF, 0x8CC2 }, + { 0xB8F0, 0x8CC5 }, + { 0xB8F1, 0x8DE1 }, + { 0xB8F2, 0x8DDF }, + { 0xB8F3, 0x8DE8 }, + { 0xB8F4, 0x8DEF }, + { 0xB8F5, 0x8DF3 }, + { 0xB8F6, 0x8DFA }, + { 0xB8F7, 0x8DEA }, + { 0xB8F8, 0x8DE4 }, + { 0xB8F9, 0x8DE6 }, + { 0xB8FA, 0x8EB2 }, + { 0xB8FB, 0x8F03 }, + { 0xB8FC, 0x8F09 }, + { 0xB8FD, 0x8EFE }, + { 0xB8FE, 0x8F0A }, + { 0xB940, 0x8F9F }, + { 0xB941, 0x8FB2 }, + { 0xB942, 0x904B }, + { 0xB943, 0x904A }, + { 0xB944, 0x9053 }, + { 0xB945, 0x9042 }, + { 0xB946, 0x9054 }, + { 0xB947, 0x903C }, + { 0xB948, 0x9055 }, + { 0xB949, 0x9050 }, + { 0xB94A, 0x9047 }, + { 0xB94B, 0x904F }, + { 0xB94C, 0x904E }, + { 0xB94D, 0x904D }, + { 0xB94E, 0x9051 }, + { 0xB94F, 0x903E }, + { 0xB950, 0x9041 }, + { 0xB951, 0x9112 }, + { 0xB952, 0x9117 }, + { 0xB953, 0x916C }, + { 0xB954, 0x916A }, + { 0xB955, 0x9169 }, + { 0xB956, 0x91C9 }, + { 0xB957, 0x9237 }, + { 0xB958, 0x9257 }, + { 0xB959, 0x9238 }, + { 0xB95A, 0x923D }, + { 0xB95B, 0x9240 }, + { 0xB95C, 0x923E }, + { 0xB95D, 0x925B }, + { 0xB95E, 0x924B }, + { 0xB95F, 0x9264 }, + { 0xB960, 0x9251 }, + { 0xB961, 0x9234 }, + { 0xB962, 0x9249 }, + { 0xB963, 0x924D }, + { 0xB964, 0x9245 }, + { 0xB965, 0x9239 }, + { 0xB966, 0x923F }, + { 0xB967, 0x925A }, + { 0xB968, 0x9598 }, + { 0xB969, 0x9698 }, + { 0xB96A, 0x9694 }, + { 0xB96B, 0x9695 }, + { 0xB96C, 0x96CD }, + { 0xB96D, 0x96CB }, + { 0xB96E, 0x96C9 }, + { 0xB96F, 0x96CA }, + { 0xB970, 0x96F7 }, + { 0xB971, 0x96FB }, + { 0xB972, 0x96F9 }, + { 0xB973, 0x96F6 }, + { 0xB974, 0x9756 }, + { 0xB975, 0x9774 }, + { 0xB976, 0x9776 }, + { 0xB977, 0x9810 }, + { 0xB978, 0x9811 }, + { 0xB979, 0x9813 }, + { 0xB97A, 0x980A }, + { 0xB97B, 0x9812 }, + { 0xB97C, 0x980C }, + { 0xB97D, 0x98FC }, + { 0xB97E, 0x98F4 }, + { 0xB9A1, 0x98FD }, + { 0xB9A2, 0x98FE }, + { 0xB9A3, 0x99B3 }, + { 0xB9A4, 0x99B1 }, + { 0xB9A5, 0x99B4 }, + { 0xB9A6, 0x9AE1 }, + { 0xB9A7, 0x9CE9 }, + { 0xB9A8, 0x9E82 }, + { 0xB9A9, 0x9F0E }, + { 0xB9AA, 0x9F13 }, + { 0xB9AB, 0x9F20 }, + { 0xB9AC, 0x50E7 }, + { 0xB9AD, 0x50EE }, + { 0xB9AE, 0x50E5 }, + { 0xB9AF, 0x50D6 }, + { 0xB9B0, 0x50ED }, + { 0xB9B1, 0x50DA }, + { 0xB9B2, 0x50D5 }, + { 0xB9B3, 0x50CF }, + { 0xB9B4, 0x50D1 }, + { 0xB9B5, 0x50F1 }, + { 0xB9B6, 0x50CE }, + { 0xB9B7, 0x50E9 }, + { 0xB9B8, 0x5162 }, + { 0xB9B9, 0x51F3 }, + { 0xB9BA, 0x5283 }, + { 0xB9BB, 0x5282 }, + { 0xB9BC, 0x5331 }, + { 0xB9BD, 0x53AD }, + { 0xB9BE, 0x55FE }, + { 0xB9BF, 0x5600 }, + { 0xB9C0, 0x561B }, + { 0xB9C1, 0x5617 }, + { 0xB9C2, 0x55FD }, + { 0xB9C3, 0x5614 }, + { 0xB9C4, 0x5606 }, + { 0xB9C5, 0x5609 }, + { 0xB9C6, 0x560D }, + { 0xB9C7, 0x560E }, + { 0xB9C8, 0x55F7 }, + { 0xB9C9, 0x5616 }, + { 0xB9CA, 0x561F }, + { 0xB9CB, 0x5608 }, + { 0xB9CC, 0x5610 }, + { 0xB9CD, 0x55F6 }, + { 0xB9CE, 0x5718 }, + { 0xB9CF, 0x5716 }, + { 0xB9D0, 0x5875 }, + { 0xB9D1, 0x587E }, + { 0xB9D2, 0x5883 }, + { 0xB9D3, 0x5893 }, + { 0xB9D4, 0x588A }, + { 0xB9D5, 0x5879 }, + { 0xB9D6, 0x5885 }, + { 0xB9D7, 0x587D }, + { 0xB9D8, 0x58FD }, + { 0xB9D9, 0x5925 }, + { 0xB9DA, 0x5922 }, + { 0xB9DB, 0x5924 }, + { 0xB9DC, 0x596A }, + { 0xB9DD, 0x5969 }, + { 0xB9DE, 0x5AE1 }, + { 0xB9DF, 0x5AE6 }, + { 0xB9E0, 0x5AE9 }, + { 0xB9E1, 0x5AD7 }, + { 0xB9E2, 0x5AD6 }, + { 0xB9E3, 0x5AD8 }, + { 0xB9E4, 0x5AE3 }, + { 0xB9E5, 0x5B75 }, + { 0xB9E6, 0x5BDE }, + { 0xB9E7, 0x5BE7 }, + { 0xB9E8, 0x5BE1 }, + { 0xB9E9, 0x5BE5 }, + { 0xB9EA, 0x5BE6 }, + { 0xB9EB, 0x5BE8 }, + { 0xB9EC, 0x5BE2 }, + { 0xB9ED, 0x5BE4 }, + { 0xB9EE, 0x5BDF }, + { 0xB9EF, 0x5C0D }, + { 0xB9F0, 0x5C62 }, + { 0xB9F1, 0x5D84 }, + { 0xB9F2, 0x5D87 }, + { 0xB9F3, 0x5E5B }, + { 0xB9F4, 0x5E63 }, + { 0xB9F5, 0x5E55 }, + { 0xB9F6, 0x5E57 }, + { 0xB9F7, 0x5E54 }, + { 0xB9F8, 0x5ED3 }, + { 0xB9F9, 0x5ED6 }, + { 0xB9FA, 0x5F0A }, + { 0xB9FB, 0x5F46 }, + { 0xB9FC, 0x5F70 }, + { 0xB9FD, 0x5FB9 }, + { 0xB9FE, 0x6147 }, + { 0xBA40, 0x613F }, + { 0xBA41, 0x614B }, + { 0xBA42, 0x6177 }, + { 0xBA43, 0x6162 }, + { 0xBA44, 0x6163 }, + { 0xBA45, 0x615F }, + { 0xBA46, 0x615A }, + { 0xBA47, 0x6158 }, + { 0xBA48, 0x6175 }, + { 0xBA49, 0x622A }, + { 0xBA4A, 0x6487 }, + { 0xBA4B, 0x6458 }, + { 0xBA4C, 0x6454 }, + { 0xBA4D, 0x64A4 }, + { 0xBA4E, 0x6478 }, + { 0xBA4F, 0x645F }, + { 0xBA50, 0x647A }, + { 0xBA51, 0x6451 }, + { 0xBA52, 0x6467 }, + { 0xBA53, 0x6434 }, + { 0xBA54, 0x646D }, + { 0xBA55, 0x647B }, + { 0xBA56, 0x6572 }, + { 0xBA57, 0x65A1 }, + { 0xBA58, 0x65D7 }, + { 0xBA59, 0x65D6 }, + { 0xBA5A, 0x66A2 }, + { 0xBA5B, 0x66A8 }, + { 0xBA5C, 0x669D }, + { 0xBA5D, 0x699C }, + { 0xBA5E, 0x69A8 }, + { 0xBA5F, 0x6995 }, + { 0xBA60, 0x69C1 }, + { 0xBA61, 0x69AE }, + { 0xBA62, 0x69D3 }, + { 0xBA63, 0x69CB }, + { 0xBA64, 0x699B }, + { 0xBA65, 0x69B7 }, + { 0xBA66, 0x69BB }, + { 0xBA67, 0x69AB }, + { 0xBA68, 0x69B4 }, + { 0xBA69, 0x69D0 }, + { 0xBA6A, 0x69CD }, + { 0xBA6B, 0x69AD }, + { 0xBA6C, 0x69CC }, + { 0xBA6D, 0x69A6 }, + { 0xBA6E, 0x69C3 }, + { 0xBA6F, 0x69A3 }, + { 0xBA70, 0x6B49 }, + { 0xBA71, 0x6B4C }, + { 0xBA72, 0x6C33 }, + { 0xBA73, 0x6F33 }, + { 0xBA74, 0x6F14 }, + { 0xBA75, 0x6EFE }, + { 0xBA76, 0x6F13 }, + { 0xBA77, 0x6EF4 }, + { 0xBA78, 0x6F29 }, + { 0xBA79, 0x6F3E }, + { 0xBA7A, 0x6F20 }, + { 0xBA7B, 0x6F2C }, + { 0xBA7C, 0x6F0F }, + { 0xBA7D, 0x6F02 }, + { 0xBA7E, 0x6F22 }, + { 0xBAA1, 0x6EFF }, + { 0xBAA2, 0x6EEF }, + { 0xBAA3, 0x6F06 }, + { 0xBAA4, 0x6F31 }, + { 0xBAA5, 0x6F38 }, + { 0xBAA6, 0x6F32 }, + { 0xBAA7, 0x6F23 }, + { 0xBAA8, 0x6F15 }, + { 0xBAA9, 0x6F2B }, + { 0xBAAA, 0x6F2F }, + { 0xBAAB, 0x6F88 }, + { 0xBAAC, 0x6F2A }, + { 0xBAAD, 0x6EEC }, + { 0xBAAE, 0x6F01 }, + { 0xBAAF, 0x6EF2 }, + { 0xBAB0, 0x6ECC }, + { 0xBAB1, 0x6EF7 }, + { 0xBAB2, 0x7194 }, + { 0xBAB3, 0x7199 }, + { 0xBAB4, 0x717D }, + { 0xBAB5, 0x718A }, + { 0xBAB6, 0x7184 }, + { 0xBAB7, 0x7192 }, + { 0xBAB8, 0x723E }, + { 0xBAB9, 0x7292 }, + { 0xBABA, 0x7296 }, + { 0xBABB, 0x7344 }, + { 0xBABC, 0x7350 }, + { 0xBABD, 0x7464 }, + { 0xBABE, 0x7463 }, + { 0xBABF, 0x746A }, + { 0xBAC0, 0x7470 }, + { 0xBAC1, 0x746D }, + { 0xBAC2, 0x7504 }, + { 0xBAC3, 0x7591 }, + { 0xBAC4, 0x7627 }, + { 0xBAC5, 0x760D }, + { 0xBAC6, 0x760B }, + { 0xBAC7, 0x7609 }, + { 0xBAC8, 0x7613 }, + { 0xBAC9, 0x76E1 }, + { 0xBACA, 0x76E3 }, + { 0xBACB, 0x7784 }, + { 0xBACC, 0x777D }, + { 0xBACD, 0x777F }, + { 0xBACE, 0x7761 }, + { 0xBACF, 0x78C1 }, + { 0xBAD0, 0x789F }, + { 0xBAD1, 0x78A7 }, + { 0xBAD2, 0x78B3 }, + { 0xBAD3, 0x78A9 }, + { 0xBAD4, 0x78A3 }, + { 0xBAD5, 0x798E }, + { 0xBAD6, 0x798F }, + { 0xBAD7, 0x798D }, + { 0xBAD8, 0x7A2E }, + { 0xBAD9, 0x7A31 }, + { 0xBADA, 0x7AAA }, + { 0xBADB, 0x7AA9 }, + { 0xBADC, 0x7AED }, + { 0xBADD, 0x7AEF }, + { 0xBADE, 0x7BA1 }, + { 0xBADF, 0x7B95 }, + { 0xBAE0, 0x7B8B }, + { 0xBAE1, 0x7B75 }, + { 0xBAE2, 0x7B97 }, + { 0xBAE3, 0x7B9D }, + { 0xBAE4, 0x7B94 }, + { 0xBAE5, 0x7B8F }, + { 0xBAE6, 0x7BB8 }, + { 0xBAE7, 0x7B87 }, + { 0xBAE8, 0x7B84 }, + { 0xBAE9, 0x7CB9 }, + { 0xBAEA, 0x7CBD }, + { 0xBAEB, 0x7CBE }, + { 0xBAEC, 0x7DBB }, + { 0xBAED, 0x7DB0 }, + { 0xBAEE, 0x7D9C }, + { 0xBAEF, 0x7DBD }, + { 0xBAF0, 0x7DBE }, + { 0xBAF1, 0x7DA0 }, + { 0xBAF2, 0x7DCA }, + { 0xBAF3, 0x7DB4 }, + { 0xBAF4, 0x7DB2 }, + { 0xBAF5, 0x7DB1 }, + { 0xBAF6, 0x7DBA }, + { 0xBAF7, 0x7DA2 }, + { 0xBAF8, 0x7DBF }, + { 0xBAF9, 0x7DB5 }, + { 0xBAFA, 0x7DB8 }, + { 0xBAFB, 0x7DAD }, + { 0xBAFC, 0x7DD2 }, + { 0xBAFD, 0x7DC7 }, + { 0xBAFE, 0x7DAC }, + { 0xBB40, 0x7F70 }, + { 0xBB41, 0x7FE0 }, + { 0xBB42, 0x7FE1 }, + { 0xBB43, 0x7FDF }, + { 0xBB44, 0x805E }, + { 0xBB45, 0x805A }, + { 0xBB46, 0x8087 }, + { 0xBB47, 0x8150 }, + { 0xBB48, 0x8180 }, + { 0xBB49, 0x818F }, + { 0xBB4A, 0x8188 }, + { 0xBB4B, 0x818A }, + { 0xBB4C, 0x817F }, + { 0xBB4D, 0x8182 }, + { 0xBB4E, 0x81E7 }, + { 0xBB4F, 0x81FA }, + { 0xBB50, 0x8207 }, + { 0xBB51, 0x8214 }, + { 0xBB52, 0x821E }, + { 0xBB53, 0x824B }, + { 0xBB54, 0x84C9 }, + { 0xBB55, 0x84BF }, + { 0xBB56, 0x84C6 }, + { 0xBB57, 0x84C4 }, + { 0xBB58, 0x8499 }, + { 0xBB59, 0x849E }, + { 0xBB5A, 0x84B2 }, + { 0xBB5B, 0x849C }, + { 0xBB5C, 0x84CB }, + { 0xBB5D, 0x84B8 }, + { 0xBB5E, 0x84C0 }, + { 0xBB5F, 0x84D3 }, + { 0xBB60, 0x8490 }, + { 0xBB61, 0x84BC }, + { 0xBB62, 0x84D1 }, + { 0xBB63, 0x84CA }, + { 0xBB64, 0x873F }, + { 0xBB65, 0x871C }, + { 0xBB66, 0x873B }, + { 0xBB67, 0x8722 }, + { 0xBB68, 0x8725 }, + { 0xBB69, 0x8734 }, + { 0xBB6A, 0x8718 }, + { 0xBB6B, 0x8755 }, + { 0xBB6C, 0x8737 }, + { 0xBB6D, 0x8729 }, + { 0xBB6E, 0x88F3 }, + { 0xBB6F, 0x8902 }, + { 0xBB70, 0x88F4 }, + { 0xBB71, 0x88F9 }, + { 0xBB72, 0x88F8 }, + { 0xBB73, 0x88FD }, + { 0xBB74, 0x88E8 }, + { 0xBB75, 0x891A }, + { 0xBB76, 0x88EF }, + { 0xBB77, 0x8AA6 }, + { 0xBB78, 0x8A8C }, + { 0xBB79, 0x8A9E }, + { 0xBB7A, 0x8AA3 }, + { 0xBB7B, 0x8A8D }, + { 0xBB7C, 0x8AA1 }, + { 0xBB7D, 0x8A93 }, + { 0xBB7E, 0x8AA4 }, + { 0xBBA1, 0x8AAA }, + { 0xBBA2, 0x8AA5 }, + { 0xBBA3, 0x8AA8 }, + { 0xBBA4, 0x8A98 }, + { 0xBBA5, 0x8A91 }, + { 0xBBA6, 0x8A9A }, + { 0xBBA7, 0x8AA7 }, + { 0xBBA8, 0x8C6A }, + { 0xBBA9, 0x8C8D }, + { 0xBBAA, 0x8C8C }, + { 0xBBAB, 0x8CD3 }, + { 0xBBAC, 0x8CD1 }, + { 0xBBAD, 0x8CD2 }, + { 0xBBAE, 0x8D6B }, + { 0xBBAF, 0x8D99 }, + { 0xBBB0, 0x8D95 }, + { 0xBBB1, 0x8DFC }, + { 0xBBB2, 0x8F14 }, + { 0xBBB3, 0x8F12 }, + { 0xBBB4, 0x8F15 }, + { 0xBBB5, 0x8F13 }, + { 0xBBB6, 0x8FA3 }, + { 0xBBB7, 0x9060 }, + { 0xBBB8, 0x9058 }, + { 0xBBB9, 0x905C }, + { 0xBBBA, 0x9063 }, + { 0xBBBB, 0x9059 }, + { 0xBBBC, 0x905E }, + { 0xBBBD, 0x9062 }, + { 0xBBBE, 0x905D }, + { 0xBBBF, 0x905B }, + { 0xBBC0, 0x9119 }, + { 0xBBC1, 0x9118 }, + { 0xBBC2, 0x911E }, + { 0xBBC3, 0x9175 }, + { 0xBBC4, 0x9178 }, + { 0xBBC5, 0x9177 }, + { 0xBBC6, 0x9174 }, + { 0xBBC7, 0x9278 }, + { 0xBBC8, 0x9280 }, + { 0xBBC9, 0x9285 }, + { 0xBBCA, 0x9298 }, + { 0xBBCB, 0x9296 }, + { 0xBBCC, 0x927B }, + { 0xBBCD, 0x9293 }, + { 0xBBCE, 0x929C }, + { 0xBBCF, 0x92A8 }, + { 0xBBD0, 0x927C }, + { 0xBBD1, 0x9291 }, + { 0xBBD2, 0x95A1 }, + { 0xBBD3, 0x95A8 }, + { 0xBBD4, 0x95A9 }, + { 0xBBD5, 0x95A3 }, + { 0xBBD6, 0x95A5 }, + { 0xBBD7, 0x95A4 }, + { 0xBBD8, 0x9699 }, + { 0xBBD9, 0x969C }, + { 0xBBDA, 0x969B }, + { 0xBBDB, 0x96CC }, + { 0xBBDC, 0x96D2 }, + { 0xBBDD, 0x9700 }, + { 0xBBDE, 0x977C }, + { 0xBBDF, 0x9785 }, + { 0xBBE0, 0x97F6 }, + { 0xBBE1, 0x9817 }, + { 0xBBE2, 0x9818 }, + { 0xBBE3, 0x98AF }, + { 0xBBE4, 0x98B1 }, + { 0xBBE5, 0x9903 }, + { 0xBBE6, 0x9905 }, + { 0xBBE7, 0x990C }, + { 0xBBE8, 0x9909 }, + { 0xBBE9, 0x99C1 }, + { 0xBBEA, 0x9AAF }, + { 0xBBEB, 0x9AB0 }, + { 0xBBEC, 0x9AE6 }, + { 0xBBED, 0x9B41 }, + { 0xBBEE, 0x9B42 }, + { 0xBBEF, 0x9CF4 }, + { 0xBBF0, 0x9CF6 }, + { 0xBBF1, 0x9CF3 }, + { 0xBBF2, 0x9EBC }, + { 0xBBF3, 0x9F3B }, + { 0xBBF4, 0x9F4A }, + { 0xBBF5, 0x5104 }, + { 0xBBF6, 0x5100 }, + { 0xBBF7, 0x50FB }, + { 0xBBF8, 0x50F5 }, + { 0xBBF9, 0x50F9 }, + { 0xBBFA, 0x5102 }, + { 0xBBFB, 0x5108 }, + { 0xBBFC, 0x5109 }, + { 0xBBFD, 0x5105 }, + { 0xBBFE, 0x51DC }, + { 0xBC40, 0x5287 }, + { 0xBC41, 0x5288 }, + { 0xBC42, 0x5289 }, + { 0xBC43, 0x528D }, + { 0xBC44, 0x528A }, + { 0xBC45, 0x52F0 }, + { 0xBC46, 0x53B2 }, + { 0xBC47, 0x562E }, + { 0xBC48, 0x563B }, + { 0xBC49, 0x5639 }, + { 0xBC4A, 0x5632 }, + { 0xBC4B, 0x563F }, + { 0xBC4C, 0x5634 }, + { 0xBC4D, 0x5629 }, + { 0xBC4E, 0x5653 }, + { 0xBC4F, 0x564E }, + { 0xBC50, 0x5657 }, + { 0xBC51, 0x5674 }, + { 0xBC52, 0x5636 }, + { 0xBC53, 0x562F }, + { 0xBC54, 0x5630 }, + { 0xBC55, 0x5880 }, + { 0xBC56, 0x589F }, + { 0xBC57, 0x589E }, + { 0xBC58, 0x58B3 }, + { 0xBC59, 0x589C }, + { 0xBC5A, 0x58AE }, + { 0xBC5B, 0x58A9 }, + { 0xBC5C, 0x58A6 }, + { 0xBC5D, 0x596D }, + { 0xBC5E, 0x5B09 }, + { 0xBC5F, 0x5AFB }, + { 0xBC60, 0x5B0B }, + { 0xBC61, 0x5AF5 }, + { 0xBC62, 0x5B0C }, + { 0xBC63, 0x5B08 }, + { 0xBC64, 0x5BEE }, + { 0xBC65, 0x5BEC }, + { 0xBC66, 0x5BE9 }, + { 0xBC67, 0x5BEB }, + { 0xBC68, 0x5C64 }, + { 0xBC69, 0x5C65 }, + { 0xBC6A, 0x5D9D }, + { 0xBC6B, 0x5D94 }, + { 0xBC6C, 0x5E62 }, + { 0xBC6D, 0x5E5F }, + { 0xBC6E, 0x5E61 }, + { 0xBC6F, 0x5EE2 }, + { 0xBC70, 0x5EDA }, + { 0xBC71, 0x5EDF }, + { 0xBC72, 0x5EDD }, + { 0xBC73, 0x5EE3 }, + { 0xBC74, 0x5EE0 }, + { 0xBC75, 0x5F48 }, + { 0xBC76, 0x5F71 }, + { 0xBC77, 0x5FB7 }, + { 0xBC78, 0x5FB5 }, + { 0xBC79, 0x6176 }, + { 0xBC7A, 0x6167 }, + { 0xBC7B, 0x616E }, + { 0xBC7C, 0x615D }, + { 0xBC7D, 0x6155 }, + { 0xBC7E, 0x6182 }, + { 0xBCA1, 0x617C }, + { 0xBCA2, 0x6170 }, + { 0xBCA3, 0x616B }, + { 0xBCA4, 0x617E }, + { 0xBCA5, 0x61A7 }, + { 0xBCA6, 0x6190 }, + { 0xBCA7, 0x61AB }, + { 0xBCA8, 0x618E }, + { 0xBCA9, 0x61AC }, + { 0xBCAA, 0x619A }, + { 0xBCAB, 0x61A4 }, + { 0xBCAC, 0x6194 }, + { 0xBCAD, 0x61AE }, + { 0xBCAE, 0x622E }, + { 0xBCAF, 0x6469 }, + { 0xBCB0, 0x646F }, + { 0xBCB1, 0x6479 }, + { 0xBCB2, 0x649E }, + { 0xBCB3, 0x64B2 }, + { 0xBCB4, 0x6488 }, + { 0xBCB5, 0x6490 }, + { 0xBCB6, 0x64B0 }, + { 0xBCB7, 0x64A5 }, + { 0xBCB8, 0x6493 }, + { 0xBCB9, 0x6495 }, + { 0xBCBA, 0x64A9 }, + { 0xBCBB, 0x6492 }, + { 0xBCBC, 0x64AE }, + { 0xBCBD, 0x64AD }, + { 0xBCBE, 0x64AB }, + { 0xBCBF, 0x649A }, + { 0xBCC0, 0x64AC }, + { 0xBCC1, 0x6499 }, + { 0xBCC2, 0x64A2 }, + { 0xBCC3, 0x64B3 }, + { 0xBCC4, 0x6575 }, + { 0xBCC5, 0x6577 }, + { 0xBCC6, 0x6578 }, + { 0xBCC7, 0x66AE }, + { 0xBCC8, 0x66AB }, + { 0xBCC9, 0x66B4 }, + { 0xBCCA, 0x66B1 }, + { 0xBCCB, 0x6A23 }, + { 0xBCCC, 0x6A1F }, + { 0xBCCD, 0x69E8 }, + { 0xBCCE, 0x6A01 }, + { 0xBCCF, 0x6A1E }, + { 0xBCD0, 0x6A19 }, + { 0xBCD1, 0x69FD }, + { 0xBCD2, 0x6A21 }, + { 0xBCD3, 0x6A13 }, + { 0xBCD4, 0x6A0A }, + { 0xBCD5, 0x69F3 }, + { 0xBCD6, 0x6A02 }, + { 0xBCD7, 0x6A05 }, + { 0xBCD8, 0x69ED }, + { 0xBCD9, 0x6A11 }, + { 0xBCDA, 0x6B50 }, + { 0xBCDB, 0x6B4E }, + { 0xBCDC, 0x6BA4 }, + { 0xBCDD, 0x6BC5 }, + { 0xBCDE, 0x6BC6 }, + { 0xBCDF, 0x6F3F }, + { 0xBCE0, 0x6F7C }, + { 0xBCE1, 0x6F84 }, + { 0xBCE2, 0x6F51 }, + { 0xBCE3, 0x6F66 }, + { 0xBCE4, 0x6F54 }, + { 0xBCE5, 0x6F86 }, + { 0xBCE6, 0x6F6D }, + { 0xBCE7, 0x6F5B }, + { 0xBCE8, 0x6F78 }, + { 0xBCE9, 0x6F6E }, + { 0xBCEA, 0x6F8E }, + { 0xBCEB, 0x6F7A }, + { 0xBCEC, 0x6F70 }, + { 0xBCED, 0x6F64 }, + { 0xBCEE, 0x6F97 }, + { 0xBCEF, 0x6F58 }, + { 0xBCF0, 0x6ED5 }, + { 0xBCF1, 0x6F6F }, + { 0xBCF2, 0x6F60 }, + { 0xBCF3, 0x6F5F }, + { 0xBCF4, 0x719F }, + { 0xBCF5, 0x71AC }, + { 0xBCF6, 0x71B1 }, + { 0xBCF7, 0x71A8 }, + { 0xBCF8, 0x7256 }, + { 0xBCF9, 0x729B }, + { 0xBCFA, 0x734E }, + { 0xBCFB, 0x7357 }, + { 0xBCFC, 0x7469 }, + { 0xBCFD, 0x748B }, + { 0xBCFE, 0x7483 }, + { 0xBD40, 0x747E }, + { 0xBD41, 0x7480 }, + { 0xBD42, 0x757F }, + { 0xBD43, 0x7620 }, + { 0xBD44, 0x7629 }, + { 0xBD45, 0x761F }, + { 0xBD46, 0x7624 }, + { 0xBD47, 0x7626 }, + { 0xBD48, 0x7621 }, + { 0xBD49, 0x7622 }, + { 0xBD4A, 0x769A }, + { 0xBD4B, 0x76BA }, + { 0xBD4C, 0x76E4 }, + { 0xBD4D, 0x778E }, + { 0xBD4E, 0x7787 }, + { 0xBD4F, 0x778C }, + { 0xBD50, 0x7791 }, + { 0xBD51, 0x778B }, + { 0xBD52, 0x78CB }, + { 0xBD53, 0x78C5 }, + { 0xBD54, 0x78BA }, + { 0xBD55, 0x78CA }, + { 0xBD56, 0x78BE }, + { 0xBD57, 0x78D5 }, + { 0xBD58, 0x78BC }, + { 0xBD59, 0x78D0 }, + { 0xBD5A, 0x7A3F }, + { 0xBD5B, 0x7A3C }, + { 0xBD5C, 0x7A40 }, + { 0xBD5D, 0x7A3D }, + { 0xBD5E, 0x7A37 }, + { 0xBD5F, 0x7A3B }, + { 0xBD60, 0x7AAF }, + { 0xBD61, 0x7AAE }, + { 0xBD62, 0x7BAD }, + { 0xBD63, 0x7BB1 }, + { 0xBD64, 0x7BC4 }, + { 0xBD65, 0x7BB4 }, + { 0xBD66, 0x7BC6 }, + { 0xBD67, 0x7BC7 }, + { 0xBD68, 0x7BC1 }, + { 0xBD69, 0x7BA0 }, + { 0xBD6A, 0x7BCC }, + { 0xBD6B, 0x7CCA }, + { 0xBD6C, 0x7DE0 }, + { 0xBD6D, 0x7DF4 }, + { 0xBD6E, 0x7DEF }, + { 0xBD6F, 0x7DFB }, + { 0xBD70, 0x7DD8 }, + { 0xBD71, 0x7DEC }, + { 0xBD72, 0x7DDD }, + { 0xBD73, 0x7DE8 }, + { 0xBD74, 0x7DE3 }, + { 0xBD75, 0x7DDA }, + { 0xBD76, 0x7DDE }, + { 0xBD77, 0x7DE9 }, + { 0xBD78, 0x7D9E }, + { 0xBD79, 0x7DD9 }, + { 0xBD7A, 0x7DF2 }, + { 0xBD7B, 0x7DF9 }, + { 0xBD7C, 0x7F75 }, + { 0xBD7D, 0x7F77 }, + { 0xBD7E, 0x7FAF }, + { 0xBDA1, 0x7FE9 }, + { 0xBDA2, 0x8026 }, + { 0xBDA3, 0x819B }, + { 0xBDA4, 0x819C }, + { 0xBDA5, 0x819D }, + { 0xBDA6, 0x81A0 }, + { 0xBDA7, 0x819A }, + { 0xBDA8, 0x8198 }, + { 0xBDA9, 0x8517 }, + { 0xBDAA, 0x853D }, + { 0xBDAB, 0x851A }, + { 0xBDAC, 0x84EE }, + { 0xBDAD, 0x852C }, + { 0xBDAE, 0x852D }, + { 0xBDAF, 0x8513 }, + { 0xBDB0, 0x8511 }, + { 0xBDB1, 0x8523 }, + { 0xBDB2, 0x8521 }, + { 0xBDB3, 0x8514 }, + { 0xBDB4, 0x84EC }, + { 0xBDB5, 0x8525 }, + { 0xBDB6, 0x84FF }, + { 0xBDB7, 0x8506 }, + { 0xBDB8, 0x8782 }, + { 0xBDB9, 0x8774 }, + { 0xBDBA, 0x8776 }, + { 0xBDBB, 0x8760 }, + { 0xBDBC, 0x8766 }, + { 0xBDBD, 0x8778 }, + { 0xBDBE, 0x8768 }, + { 0xBDBF, 0x8759 }, + { 0xBDC0, 0x8757 }, + { 0xBDC1, 0x874C }, + { 0xBDC2, 0x8753 }, + { 0xBDC3, 0x885B }, + { 0xBDC4, 0x885D }, + { 0xBDC5, 0x8910 }, + { 0xBDC6, 0x8907 }, + { 0xBDC7, 0x8912 }, + { 0xBDC8, 0x8913 }, + { 0xBDC9, 0x8915 }, + { 0xBDCA, 0x890A }, + { 0xBDCB, 0x8ABC }, + { 0xBDCC, 0x8AD2 }, + { 0xBDCD, 0x8AC7 }, + { 0xBDCE, 0x8AC4 }, + { 0xBDCF, 0x8A95 }, + { 0xBDD0, 0x8ACB }, + { 0xBDD1, 0x8AF8 }, + { 0xBDD2, 0x8AB2 }, + { 0xBDD3, 0x8AC9 }, + { 0xBDD4, 0x8AC2 }, + { 0xBDD5, 0x8ABF }, + { 0xBDD6, 0x8AB0 }, + { 0xBDD7, 0x8AD6 }, + { 0xBDD8, 0x8ACD }, + { 0xBDD9, 0x8AB6 }, + { 0xBDDA, 0x8AB9 }, + { 0xBDDB, 0x8ADB }, + { 0xBDDC, 0x8C4C }, + { 0xBDDD, 0x8C4E }, + { 0xBDDE, 0x8C6C }, + { 0xBDDF, 0x8CE0 }, + { 0xBDE0, 0x8CDE }, + { 0xBDE1, 0x8CE6 }, + { 0xBDE2, 0x8CE4 }, + { 0xBDE3, 0x8CEC }, + { 0xBDE4, 0x8CED }, + { 0xBDE5, 0x8CE2 }, + { 0xBDE6, 0x8CE3 }, + { 0xBDE7, 0x8CDC }, + { 0xBDE8, 0x8CEA }, + { 0xBDE9, 0x8CE1 }, + { 0xBDEA, 0x8D6D }, + { 0xBDEB, 0x8D9F }, + { 0xBDEC, 0x8DA3 }, + { 0xBDED, 0x8E2B }, + { 0xBDEE, 0x8E10 }, + { 0xBDEF, 0x8E1D }, + { 0xBDF0, 0x8E22 }, + { 0xBDF1, 0x8E0F }, + { 0xBDF2, 0x8E29 }, + { 0xBDF3, 0x8E1F }, + { 0xBDF4, 0x8E21 }, + { 0xBDF5, 0x8E1E }, + { 0xBDF6, 0x8EBA }, + { 0xBDF7, 0x8F1D }, + { 0xBDF8, 0x8F1B }, + { 0xBDF9, 0x8F1F }, + { 0xBDFA, 0x8F29 }, + { 0xBDFB, 0x8F26 }, + { 0xBDFC, 0x8F2A }, + { 0xBDFD, 0x8F1C }, + { 0xBDFE, 0x8F1E }, + { 0xBE40, 0x8F25 }, + { 0xBE41, 0x9069 }, + { 0xBE42, 0x906E }, + { 0xBE43, 0x9068 }, + { 0xBE44, 0x906D }, + { 0xBE45, 0x9077 }, + { 0xBE46, 0x9130 }, + { 0xBE47, 0x912D }, + { 0xBE48, 0x9127 }, + { 0xBE49, 0x9131 }, + { 0xBE4A, 0x9187 }, + { 0xBE4B, 0x9189 }, + { 0xBE4C, 0x918B }, + { 0xBE4D, 0x9183 }, + { 0xBE4E, 0x92C5 }, + { 0xBE4F, 0x92BB }, + { 0xBE50, 0x92B7 }, + { 0xBE51, 0x92EA }, + { 0xBE52, 0x92AC }, + { 0xBE53, 0x92E4 }, + { 0xBE54, 0x92C1 }, + { 0xBE55, 0x92B3 }, + { 0xBE56, 0x92BC }, + { 0xBE57, 0x92D2 }, + { 0xBE58, 0x92C7 }, + { 0xBE59, 0x92F0 }, + { 0xBE5A, 0x92B2 }, + { 0xBE5B, 0x95AD }, + { 0xBE5C, 0x95B1 }, + { 0xBE5D, 0x9704 }, + { 0xBE5E, 0x9706 }, + { 0xBE5F, 0x9707 }, + { 0xBE60, 0x9709 }, + { 0xBE61, 0x9760 }, + { 0xBE62, 0x978D }, + { 0xBE63, 0x978B }, + { 0xBE64, 0x978F }, + { 0xBE65, 0x9821 }, + { 0xBE66, 0x982B }, + { 0xBE67, 0x981C }, + { 0xBE68, 0x98B3 }, + { 0xBE69, 0x990A }, + { 0xBE6A, 0x9913 }, + { 0xBE6B, 0x9912 }, + { 0xBE6C, 0x9918 }, + { 0xBE6D, 0x99DD }, + { 0xBE6E, 0x99D0 }, + { 0xBE6F, 0x99DF }, + { 0xBE70, 0x99DB }, + { 0xBE71, 0x99D1 }, + { 0xBE72, 0x99D5 }, + { 0xBE73, 0x99D2 }, + { 0xBE74, 0x99D9 }, + { 0xBE75, 0x9AB7 }, + { 0xBE76, 0x9AEE }, + { 0xBE77, 0x9AEF }, + { 0xBE78, 0x9B27 }, + { 0xBE79, 0x9B45 }, + { 0xBE7A, 0x9B44 }, + { 0xBE7B, 0x9B77 }, + { 0xBE7C, 0x9B6F }, + { 0xBE7D, 0x9D06 }, + { 0xBE7E, 0x9D09 }, + { 0xBEA1, 0x9D03 }, + { 0xBEA2, 0x9EA9 }, + { 0xBEA3, 0x9EBE }, + { 0xBEA4, 0x9ECE }, + { 0xBEA5, 0x58A8 }, + { 0xBEA6, 0x9F52 }, + { 0xBEA7, 0x5112 }, + { 0xBEA8, 0x5118 }, + { 0xBEA9, 0x5114 }, + { 0xBEAA, 0x5110 }, + { 0xBEAB, 0x5115 }, + { 0xBEAC, 0x5180 }, + { 0xBEAD, 0x51AA }, + { 0xBEAE, 0x51DD }, + { 0xBEAF, 0x5291 }, + { 0xBEB0, 0x5293 }, + { 0xBEB1, 0x52F3 }, + { 0xBEB2, 0x5659 }, + { 0xBEB3, 0x566B }, + { 0xBEB4, 0x5679 }, + { 0xBEB5, 0x5669 }, + { 0xBEB6, 0x5664 }, + { 0xBEB7, 0x5678 }, + { 0xBEB8, 0x566A }, + { 0xBEB9, 0x5668 }, + { 0xBEBA, 0x5665 }, + { 0xBEBB, 0x5671 }, + { 0xBEBC, 0x566F }, + { 0xBEBD, 0x566C }, + { 0xBEBE, 0x5662 }, + { 0xBEBF, 0x5676 }, + { 0xBEC0, 0x58C1 }, + { 0xBEC1, 0x58BE }, + { 0xBEC2, 0x58C7 }, + { 0xBEC3, 0x58C5 }, + { 0xBEC4, 0x596E }, + { 0xBEC5, 0x5B1D }, + { 0xBEC6, 0x5B34 }, + { 0xBEC7, 0x5B78 }, + { 0xBEC8, 0x5BF0 }, + { 0xBEC9, 0x5C0E }, + { 0xBECA, 0x5F4A }, + { 0xBECB, 0x61B2 }, + { 0xBECC, 0x6191 }, + { 0xBECD, 0x61A9 }, + { 0xBECE, 0x618A }, + { 0xBECF, 0x61CD }, + { 0xBED0, 0x61B6 }, + { 0xBED1, 0x61BE }, + { 0xBED2, 0x61CA }, + { 0xBED3, 0x61C8 }, + { 0xBED4, 0x6230 }, + { 0xBED5, 0x64C5 }, + { 0xBED6, 0x64C1 }, + { 0xBED7, 0x64CB }, + { 0xBED8, 0x64BB }, + { 0xBED9, 0x64BC }, + { 0xBEDA, 0x64DA }, + { 0xBEDB, 0x64C4 }, + { 0xBEDC, 0x64C7 }, + { 0xBEDD, 0x64C2 }, + { 0xBEDE, 0x64CD }, + { 0xBEDF, 0x64BF }, + { 0xBEE0, 0x64D2 }, + { 0xBEE1, 0x64D4 }, + { 0xBEE2, 0x64BE }, + { 0xBEE3, 0x6574 }, + { 0xBEE4, 0x66C6 }, + { 0xBEE5, 0x66C9 }, + { 0xBEE6, 0x66B9 }, + { 0xBEE7, 0x66C4 }, + { 0xBEE8, 0x66C7 }, + { 0xBEE9, 0x66B8 }, + { 0xBEEA, 0x6A3D }, + { 0xBEEB, 0x6A38 }, + { 0xBEEC, 0x6A3A }, + { 0xBEED, 0x6A59 }, + { 0xBEEE, 0x6A6B }, + { 0xBEEF, 0x6A58 }, + { 0xBEF0, 0x6A39 }, + { 0xBEF1, 0x6A44 }, + { 0xBEF2, 0x6A62 }, + { 0xBEF3, 0x6A61 }, + { 0xBEF4, 0x6A4B }, + { 0xBEF5, 0x6A47 }, + { 0xBEF6, 0x6A35 }, + { 0xBEF7, 0x6A5F }, + { 0xBEF8, 0x6A48 }, + { 0xBEF9, 0x6B59 }, + { 0xBEFA, 0x6B77 }, + { 0xBEFB, 0x6C05 }, + { 0xBEFC, 0x6FC2 }, + { 0xBEFD, 0x6FB1 }, + { 0xBEFE, 0x6FA1 }, + { 0xBF40, 0x6FC3 }, + { 0xBF41, 0x6FA4 }, + { 0xBF42, 0x6FC1 }, + { 0xBF43, 0x6FA7 }, + { 0xBF44, 0x6FB3 }, + { 0xBF45, 0x6FC0 }, + { 0xBF46, 0x6FB9 }, + { 0xBF47, 0x6FB6 }, + { 0xBF48, 0x6FA6 }, + { 0xBF49, 0x6FA0 }, + { 0xBF4A, 0x6FB4 }, + { 0xBF4B, 0x71BE }, + { 0xBF4C, 0x71C9 }, + { 0xBF4D, 0x71D0 }, + { 0xBF4E, 0x71D2 }, + { 0xBF4F, 0x71C8 }, + { 0xBF50, 0x71D5 }, + { 0xBF51, 0x71B9 }, + { 0xBF52, 0x71CE }, + { 0xBF53, 0x71D9 }, + { 0xBF54, 0x71DC }, + { 0xBF55, 0x71C3 }, + { 0xBF56, 0x71C4 }, + { 0xBF57, 0x7368 }, + { 0xBF58, 0x749C }, + { 0xBF59, 0x74A3 }, + { 0xBF5A, 0x7498 }, + { 0xBF5B, 0x749F }, + { 0xBF5C, 0x749E }, + { 0xBF5D, 0x74E2 }, + { 0xBF5E, 0x750C }, + { 0xBF5F, 0x750D }, + { 0xBF60, 0x7634 }, + { 0xBF61, 0x7638 }, + { 0xBF62, 0x763A }, + { 0xBF63, 0x76E7 }, + { 0xBF64, 0x76E5 }, + { 0xBF65, 0x77A0 }, + { 0xBF66, 0x779E }, + { 0xBF67, 0x779F }, + { 0xBF68, 0x77A5 }, + { 0xBF69, 0x78E8 }, + { 0xBF6A, 0x78DA }, + { 0xBF6B, 0x78EC }, + { 0xBF6C, 0x78E7 }, + { 0xBF6D, 0x79A6 }, + { 0xBF6E, 0x7A4D }, + { 0xBF6F, 0x7A4E }, + { 0xBF70, 0x7A46 }, + { 0xBF71, 0x7A4C }, + { 0xBF72, 0x7A4B }, + { 0xBF73, 0x7ABA }, + { 0xBF74, 0x7BD9 }, + { 0xBF75, 0x7C11 }, + { 0xBF76, 0x7BC9 }, + { 0xBF77, 0x7BE4 }, + { 0xBF78, 0x7BDB }, + { 0xBF79, 0x7BE1 }, + { 0xBF7A, 0x7BE9 }, + { 0xBF7B, 0x7BE6 }, + { 0xBF7C, 0x7CD5 }, + { 0xBF7D, 0x7CD6 }, + { 0xBF7E, 0x7E0A }, + { 0xBFA1, 0x7E11 }, + { 0xBFA2, 0x7E08 }, + { 0xBFA3, 0x7E1B }, + { 0xBFA4, 0x7E23 }, + { 0xBFA5, 0x7E1E }, + { 0xBFA6, 0x7E1D }, + { 0xBFA7, 0x7E09 }, + { 0xBFA8, 0x7E10 }, + { 0xBFA9, 0x7F79 }, + { 0xBFAA, 0x7FB2 }, + { 0xBFAB, 0x7FF0 }, + { 0xBFAC, 0x7FF1 }, + { 0xBFAD, 0x7FEE }, + { 0xBFAE, 0x8028 }, + { 0xBFAF, 0x81B3 }, + { 0xBFB0, 0x81A9 }, + { 0xBFB1, 0x81A8 }, + { 0xBFB2, 0x81FB }, + { 0xBFB3, 0x8208 }, + { 0xBFB4, 0x8258 }, + { 0xBFB5, 0x8259 }, + { 0xBFB6, 0x854A }, + { 0xBFB7, 0x8559 }, + { 0xBFB8, 0x8548 }, + { 0xBFB9, 0x8568 }, + { 0xBFBA, 0x8569 }, + { 0xBFBB, 0x8543 }, + { 0xBFBC, 0x8549 }, + { 0xBFBD, 0x856D }, + { 0xBFBE, 0x856A }, + { 0xBFBF, 0x855E }, + { 0xBFC0, 0x8783 }, + { 0xBFC1, 0x879F }, + { 0xBFC2, 0x879E }, + { 0xBFC3, 0x87A2 }, + { 0xBFC4, 0x878D }, + { 0xBFC5, 0x8861 }, + { 0xBFC6, 0x892A }, + { 0xBFC7, 0x8932 }, + { 0xBFC8, 0x8925 }, + { 0xBFC9, 0x892B }, + { 0xBFCA, 0x8921 }, + { 0xBFCB, 0x89AA }, + { 0xBFCC, 0x89A6 }, + { 0xBFCD, 0x8AE6 }, + { 0xBFCE, 0x8AFA }, + { 0xBFCF, 0x8AEB }, + { 0xBFD0, 0x8AF1 }, + { 0xBFD1, 0x8B00 }, + { 0xBFD2, 0x8ADC }, + { 0xBFD3, 0x8AE7 }, + { 0xBFD4, 0x8AEE }, + { 0xBFD5, 0x8AFE }, + { 0xBFD6, 0x8B01 }, + { 0xBFD7, 0x8B02 }, + { 0xBFD8, 0x8AF7 }, + { 0xBFD9, 0x8AED }, + { 0xBFDA, 0x8AF3 }, + { 0xBFDB, 0x8AF6 }, + { 0xBFDC, 0x8AFC }, + { 0xBFDD, 0x8C6B }, + { 0xBFDE, 0x8C6D }, + { 0xBFDF, 0x8C93 }, + { 0xBFE0, 0x8CF4 }, + { 0xBFE1, 0x8E44 }, + { 0xBFE2, 0x8E31 }, + { 0xBFE3, 0x8E34 }, + { 0xBFE4, 0x8E42 }, + { 0xBFE5, 0x8E39 }, + { 0xBFE6, 0x8E35 }, + { 0xBFE7, 0x8F3B }, + { 0xBFE8, 0x8F2F }, + { 0xBFE9, 0x8F38 }, + { 0xBFEA, 0x8F33 }, + { 0xBFEB, 0x8FA8 }, + { 0xBFEC, 0x8FA6 }, + { 0xBFED, 0x9075 }, + { 0xBFEE, 0x9074 }, + { 0xBFEF, 0x9078 }, + { 0xBFF0, 0x9072 }, + { 0xBFF1, 0x907C }, + { 0xBFF2, 0x907A }, + { 0xBFF3, 0x9134 }, + { 0xBFF4, 0x9192 }, + { 0xBFF5, 0x9320 }, + { 0xBFF6, 0x9336 }, + { 0xBFF7, 0x92F8 }, + { 0xBFF8, 0x9333 }, + { 0xBFF9, 0x932F }, + { 0xBFFA, 0x9322 }, + { 0xBFFB, 0x92FC }, + { 0xBFFC, 0x932B }, + { 0xBFFD, 0x9304 }, + { 0xBFFE, 0x931A }, + { 0xC040, 0x9310 }, + { 0xC041, 0x9326 }, + { 0xC042, 0x9321 }, + { 0xC043, 0x9315 }, + { 0xC044, 0x932E }, + { 0xC045, 0x9319 }, + { 0xC046, 0x95BB }, + { 0xC047, 0x96A7 }, + { 0xC048, 0x96A8 }, + { 0xC049, 0x96AA }, + { 0xC04A, 0x96D5 }, + { 0xC04B, 0x970E }, + { 0xC04C, 0x9711 }, + { 0xC04D, 0x9716 }, + { 0xC04E, 0x970D }, + { 0xC04F, 0x9713 }, + { 0xC050, 0x970F }, + { 0xC051, 0x975B }, + { 0xC052, 0x975C }, + { 0xC053, 0x9766 }, + { 0xC054, 0x9798 }, + { 0xC055, 0x9830 }, + { 0xC056, 0x9838 }, + { 0xC057, 0x983B }, + { 0xC058, 0x9837 }, + { 0xC059, 0x982D }, + { 0xC05A, 0x9839 }, + { 0xC05B, 0x9824 }, + { 0xC05C, 0x9910 }, + { 0xC05D, 0x9928 }, + { 0xC05E, 0x991E }, + { 0xC05F, 0x991B }, + { 0xC060, 0x9921 }, + { 0xC061, 0x991A }, + { 0xC062, 0x99ED }, + { 0xC063, 0x99E2 }, + { 0xC064, 0x99F1 }, + { 0xC065, 0x9AB8 }, + { 0xC066, 0x9ABC }, + { 0xC067, 0x9AFB }, + { 0xC068, 0x9AED }, + { 0xC069, 0x9B28 }, + { 0xC06A, 0x9B91 }, + { 0xC06B, 0x9D15 }, + { 0xC06C, 0x9D23 }, + { 0xC06D, 0x9D26 }, + { 0xC06E, 0x9D28 }, + { 0xC06F, 0x9D12 }, + { 0xC070, 0x9D1B }, + { 0xC071, 0x9ED8 }, + { 0xC072, 0x9ED4 }, + { 0xC073, 0x9F8D }, + { 0xC074, 0x9F9C }, + { 0xC075, 0x512A }, + { 0xC076, 0x511F }, + { 0xC077, 0x5121 }, + { 0xC078, 0x5132 }, + { 0xC079, 0x52F5 }, + { 0xC07A, 0x568E }, + { 0xC07B, 0x5680 }, + { 0xC07C, 0x5690 }, + { 0xC07D, 0x5685 }, + { 0xC07E, 0x5687 }, + { 0xC0A1, 0x568F }, + { 0xC0A2, 0x58D5 }, + { 0xC0A3, 0x58D3 }, + { 0xC0A4, 0x58D1 }, + { 0xC0A5, 0x58CE }, + { 0xC0A6, 0x5B30 }, + { 0xC0A7, 0x5B2A }, + { 0xC0A8, 0x5B24 }, + { 0xC0A9, 0x5B7A }, + { 0xC0AA, 0x5C37 }, + { 0xC0AB, 0x5C68 }, + { 0xC0AC, 0x5DBC }, + { 0xC0AD, 0x5DBA }, + { 0xC0AE, 0x5DBD }, + { 0xC0AF, 0x5DB8 }, + { 0xC0B0, 0x5E6B }, + { 0xC0B1, 0x5F4C }, + { 0xC0B2, 0x5FBD }, + { 0xC0B3, 0x61C9 }, + { 0xC0B4, 0x61C2 }, + { 0xC0B5, 0x61C7 }, + { 0xC0B6, 0x61E6 }, + { 0xC0B7, 0x61CB }, + { 0xC0B8, 0x6232 }, + { 0xC0B9, 0x6234 }, + { 0xC0BA, 0x64CE }, + { 0xC0BB, 0x64CA }, + { 0xC0BC, 0x64D8 }, + { 0xC0BD, 0x64E0 }, + { 0xC0BE, 0x64F0 }, + { 0xC0BF, 0x64E6 }, + { 0xC0C0, 0x64EC }, + { 0xC0C1, 0x64F1 }, + { 0xC0C2, 0x64E2 }, + { 0xC0C3, 0x64ED }, + { 0xC0C4, 0x6582 }, + { 0xC0C5, 0x6583 }, + { 0xC0C6, 0x66D9 }, + { 0xC0C7, 0x66D6 }, + { 0xC0C8, 0x6A80 }, + { 0xC0C9, 0x6A94 }, + { 0xC0CA, 0x6A84 }, + { 0xC0CB, 0x6AA2 }, + { 0xC0CC, 0x6A9C }, + { 0xC0CD, 0x6ADB }, + { 0xC0CE, 0x6AA3 }, + { 0xC0CF, 0x6A7E }, + { 0xC0D0, 0x6A97 }, + { 0xC0D1, 0x6A90 }, + { 0xC0D2, 0x6AA0 }, + { 0xC0D3, 0x6B5C }, + { 0xC0D4, 0x6BAE }, + { 0xC0D5, 0x6BDA }, + { 0xC0D6, 0x6C08 }, + { 0xC0D7, 0x6FD8 }, + { 0xC0D8, 0x6FF1 }, + { 0xC0D9, 0x6FDF }, + { 0xC0DA, 0x6FE0 }, + { 0xC0DB, 0x6FDB }, + { 0xC0DC, 0x6FE4 }, + { 0xC0DD, 0x6FEB }, + { 0xC0DE, 0x6FEF }, + { 0xC0DF, 0x6F80 }, + { 0xC0E0, 0x6FEC }, + { 0xC0E1, 0x6FE1 }, + { 0xC0E2, 0x6FE9 }, + { 0xC0E3, 0x6FD5 }, + { 0xC0E4, 0x6FEE }, + { 0xC0E5, 0x6FF0 }, + { 0xC0E6, 0x71E7 }, + { 0xC0E7, 0x71DF }, + { 0xC0E8, 0x71EE }, + { 0xC0E9, 0x71E6 }, + { 0xC0EA, 0x71E5 }, + { 0xC0EB, 0x71ED }, + { 0xC0EC, 0x71EC }, + { 0xC0ED, 0x71F4 }, + { 0xC0EE, 0x71E0 }, + { 0xC0EF, 0x7235 }, + { 0xC0F0, 0x7246 }, + { 0xC0F1, 0x7370 }, + { 0xC0F2, 0x7372 }, + { 0xC0F3, 0x74A9 }, + { 0xC0F4, 0x74B0 }, + { 0xC0F5, 0x74A6 }, + { 0xC0F6, 0x74A8 }, + { 0xC0F7, 0x7646 }, + { 0xC0F8, 0x7642 }, + { 0xC0F9, 0x764C }, + { 0xC0FA, 0x76EA }, + { 0xC0FB, 0x77B3 }, + { 0xC0FC, 0x77AA }, + { 0xC0FD, 0x77B0 }, + { 0xC0FE, 0x77AC }, + { 0xC140, 0x77A7 }, + { 0xC141, 0x77AD }, + { 0xC142, 0x77EF }, + { 0xC143, 0x78F7 }, + { 0xC144, 0x78FA }, + { 0xC145, 0x78F4 }, + { 0xC146, 0x78EF }, + { 0xC147, 0x7901 }, + { 0xC148, 0x79A7 }, + { 0xC149, 0x79AA }, + { 0xC14A, 0x7A57 }, + { 0xC14B, 0x7ABF }, + { 0xC14C, 0x7C07 }, + { 0xC14D, 0x7C0D }, + { 0xC14E, 0x7BFE }, + { 0xC14F, 0x7BF7 }, + { 0xC150, 0x7C0C }, + { 0xC151, 0x7BE0 }, + { 0xC152, 0x7CE0 }, + { 0xC153, 0x7CDC }, + { 0xC154, 0x7CDE }, + { 0xC155, 0x7CE2 }, + { 0xC156, 0x7CDF }, + { 0xC157, 0x7CD9 }, + { 0xC158, 0x7CDD }, + { 0xC159, 0x7E2E }, + { 0xC15A, 0x7E3E }, + { 0xC15B, 0x7E46 }, + { 0xC15C, 0x7E37 }, + { 0xC15D, 0x7E32 }, + { 0xC15E, 0x7E43 }, + { 0xC15F, 0x7E2B }, + { 0xC160, 0x7E3D }, + { 0xC161, 0x7E31 }, + { 0xC162, 0x7E45 }, + { 0xC163, 0x7E41 }, + { 0xC164, 0x7E34 }, + { 0xC165, 0x7E39 }, + { 0xC166, 0x7E48 }, + { 0xC167, 0x7E35 }, + { 0xC168, 0x7E3F }, + { 0xC169, 0x7E2F }, + { 0xC16A, 0x7F44 }, + { 0xC16B, 0x7FF3 }, + { 0xC16C, 0x7FFC }, + { 0xC16D, 0x8071 }, + { 0xC16E, 0x8072 }, + { 0xC16F, 0x8070 }, + { 0xC170, 0x806F }, + { 0xC171, 0x8073 }, + { 0xC172, 0x81C6 }, + { 0xC173, 0x81C3 }, + { 0xC174, 0x81BA }, + { 0xC175, 0x81C2 }, + { 0xC176, 0x81C0 }, + { 0xC177, 0x81BF }, + { 0xC178, 0x81BD }, + { 0xC179, 0x81C9 }, + { 0xC17A, 0x81BE }, + { 0xC17B, 0x81E8 }, + { 0xC17C, 0x8209 }, + { 0xC17D, 0x8271 }, + { 0xC17E, 0x85AA }, + { 0xC1A1, 0x8584 }, + { 0xC1A2, 0x857E }, + { 0xC1A3, 0x859C }, + { 0xC1A4, 0x8591 }, + { 0xC1A5, 0x8594 }, + { 0xC1A6, 0x85AF }, + { 0xC1A7, 0x859B }, + { 0xC1A8, 0x8587 }, + { 0xC1A9, 0x85A8 }, + { 0xC1AA, 0x858A }, + { 0xC1AB, 0x8667 }, + { 0xC1AC, 0x87C0 }, + { 0xC1AD, 0x87D1 }, + { 0xC1AE, 0x87B3 }, + { 0xC1AF, 0x87D2 }, + { 0xC1B0, 0x87C6 }, + { 0xC1B1, 0x87AB }, + { 0xC1B2, 0x87BB }, + { 0xC1B3, 0x87BA }, + { 0xC1B4, 0x87C8 }, + { 0xC1B5, 0x87CB }, + { 0xC1B6, 0x893B }, + { 0xC1B7, 0x8936 }, + { 0xC1B8, 0x8944 }, + { 0xC1B9, 0x8938 }, + { 0xC1BA, 0x893D }, + { 0xC1BB, 0x89AC }, + { 0xC1BC, 0x8B0E }, + { 0xC1BD, 0x8B17 }, + { 0xC1BE, 0x8B19 }, + { 0xC1BF, 0x8B1B }, + { 0xC1C0, 0x8B0A }, + { 0xC1C1, 0x8B20 }, + { 0xC1C2, 0x8B1D }, + { 0xC1C3, 0x8B04 }, + { 0xC1C4, 0x8B10 }, + { 0xC1C5, 0x8C41 }, + { 0xC1C6, 0x8C3F }, + { 0xC1C7, 0x8C73 }, + { 0xC1C8, 0x8CFA }, + { 0xC1C9, 0x8CFD }, + { 0xC1CA, 0x8CFC }, + { 0xC1CB, 0x8CF8 }, + { 0xC1CC, 0x8CFB }, + { 0xC1CD, 0x8DA8 }, + { 0xC1CE, 0x8E49 }, + { 0xC1CF, 0x8E4B }, + { 0xC1D0, 0x8E48 }, + { 0xC1D1, 0x8E4A }, + { 0xC1D2, 0x8F44 }, + { 0xC1D3, 0x8F3E }, + { 0xC1D4, 0x8F42 }, + { 0xC1D5, 0x8F45 }, + { 0xC1D6, 0x8F3F }, + { 0xC1D7, 0x907F }, + { 0xC1D8, 0x907D }, + { 0xC1D9, 0x9084 }, + { 0xC1DA, 0x9081 }, + { 0xC1DB, 0x9082 }, + { 0xC1DC, 0x9080 }, + { 0xC1DD, 0x9139 }, + { 0xC1DE, 0x91A3 }, + { 0xC1DF, 0x919E }, + { 0xC1E0, 0x919C }, + { 0xC1E1, 0x934D }, + { 0xC1E2, 0x9382 }, + { 0xC1E3, 0x9328 }, + { 0xC1E4, 0x9375 }, + { 0xC1E5, 0x934A }, + { 0xC1E6, 0x9365 }, + { 0xC1E7, 0x934B }, + { 0xC1E8, 0x9318 }, + { 0xC1E9, 0x937E }, + { 0xC1EA, 0x936C }, + { 0xC1EB, 0x935B }, + { 0xC1EC, 0x9370 }, + { 0xC1ED, 0x935A }, + { 0xC1EE, 0x9354 }, + { 0xC1EF, 0x95CA }, + { 0xC1F0, 0x95CB }, + { 0xC1F1, 0x95CC }, + { 0xC1F2, 0x95C8 }, + { 0xC1F3, 0x95C6 }, + { 0xC1F4, 0x96B1 }, + { 0xC1F5, 0x96B8 }, + { 0xC1F6, 0x96D6 }, + { 0xC1F7, 0x971C }, + { 0xC1F8, 0x971E }, + { 0xC1F9, 0x97A0 }, + { 0xC1FA, 0x97D3 }, + { 0xC1FB, 0x9846 }, + { 0xC1FC, 0x98B6 }, + { 0xC1FD, 0x9935 }, + { 0xC1FE, 0x9A01 }, + { 0xC240, 0x99FF }, + { 0xC241, 0x9BAE }, + { 0xC242, 0x9BAB }, + { 0xC243, 0x9BAA }, + { 0xC244, 0x9BAD }, + { 0xC245, 0x9D3B }, + { 0xC246, 0x9D3F }, + { 0xC247, 0x9E8B }, + { 0xC248, 0x9ECF }, + { 0xC249, 0x9EDE }, + { 0xC24A, 0x9EDC }, + { 0xC24B, 0x9EDD }, + { 0xC24C, 0x9EDB }, + { 0xC24D, 0x9F3E }, + { 0xC24E, 0x9F4B }, + { 0xC24F, 0x53E2 }, + { 0xC250, 0x5695 }, + { 0xC251, 0x56AE }, + { 0xC252, 0x58D9 }, + { 0xC253, 0x58D8 }, + { 0xC254, 0x5B38 }, + { 0xC255, 0x5F5D }, + { 0xC256, 0x61E3 }, + { 0xC257, 0x6233 }, + { 0xC258, 0x64F4 }, + { 0xC259, 0x64F2 }, + { 0xC25A, 0x64FE }, + { 0xC25B, 0x6506 }, + { 0xC25C, 0x64FA }, + { 0xC25D, 0x64FB }, + { 0xC25E, 0x64F7 }, + { 0xC25F, 0x65B7 }, + { 0xC260, 0x66DC }, + { 0xC261, 0x6726 }, + { 0xC262, 0x6AB3 }, + { 0xC263, 0x6AAC }, + { 0xC264, 0x6AC3 }, + { 0xC265, 0x6ABB }, + { 0xC266, 0x6AB8 }, + { 0xC267, 0x6AC2 }, + { 0xC268, 0x6AAE }, + { 0xC269, 0x6AAF }, + { 0xC26A, 0x6B5F }, + { 0xC26B, 0x6B78 }, + { 0xC26C, 0x6BAF }, + { 0xC26D, 0x7009 }, + { 0xC26E, 0x700B }, + { 0xC26F, 0x6FFE }, + { 0xC270, 0x7006 }, + { 0xC271, 0x6FFA }, + { 0xC272, 0x7011 }, + { 0xC273, 0x700F }, + { 0xC274, 0x71FB }, + { 0xC275, 0x71FC }, + { 0xC276, 0x71FE }, + { 0xC277, 0x71F8 }, + { 0xC278, 0x7377 }, + { 0xC279, 0x7375 }, + { 0xC27A, 0x74A7 }, + { 0xC27B, 0x74BF }, + { 0xC27C, 0x7515 }, + { 0xC27D, 0x7656 }, + { 0xC27E, 0x7658 }, + { 0xC2A1, 0x7652 }, + { 0xC2A2, 0x77BD }, + { 0xC2A3, 0x77BF }, + { 0xC2A4, 0x77BB }, + { 0xC2A5, 0x77BC }, + { 0xC2A6, 0x790E }, + { 0xC2A7, 0x79AE }, + { 0xC2A8, 0x7A61 }, + { 0xC2A9, 0x7A62 }, + { 0xC2AA, 0x7A60 }, + { 0xC2AB, 0x7AC4 }, + { 0xC2AC, 0x7AC5 }, + { 0xC2AD, 0x7C2B }, + { 0xC2AE, 0x7C27 }, + { 0xC2AF, 0x7C2A }, + { 0xC2B0, 0x7C1E }, + { 0xC2B1, 0x7C23 }, + { 0xC2B2, 0x7C21 }, + { 0xC2B3, 0x7CE7 }, + { 0xC2B4, 0x7E54 }, + { 0xC2B5, 0x7E55 }, + { 0xC2B6, 0x7E5E }, + { 0xC2B7, 0x7E5A }, + { 0xC2B8, 0x7E61 }, + { 0xC2B9, 0x7E52 }, + { 0xC2BA, 0x7E59 }, + { 0xC2BB, 0x7F48 }, + { 0xC2BC, 0x7FF9 }, + { 0xC2BD, 0x7FFB }, + { 0xC2BE, 0x8077 }, + { 0xC2BF, 0x8076 }, + { 0xC2C0, 0x81CD }, + { 0xC2C1, 0x81CF }, + { 0xC2C2, 0x820A }, + { 0xC2C3, 0x85CF }, + { 0xC2C4, 0x85A9 }, + { 0xC2C5, 0x85CD }, + { 0xC2C6, 0x85D0 }, + { 0xC2C7, 0x85C9 }, + { 0xC2C8, 0x85B0 }, + { 0xC2C9, 0x85BA }, + { 0xC2CA, 0x85B9 }, + { 0xC2CB, 0x85A6 }, + { 0xC2CC, 0x87EF }, + { 0xC2CD, 0x87EC }, + { 0xC2CE, 0x87F2 }, + { 0xC2CF, 0x87E0 }, + { 0xC2D0, 0x8986 }, + { 0xC2D1, 0x89B2 }, + { 0xC2D2, 0x89F4 }, + { 0xC2D3, 0x8B28 }, + { 0xC2D4, 0x8B39 }, + { 0xC2D5, 0x8B2C }, + { 0xC2D6, 0x8B2B }, + { 0xC2D7, 0x8C50 }, + { 0xC2D8, 0x8D05 }, + { 0xC2D9, 0x8E59 }, + { 0xC2DA, 0x8E63 }, + { 0xC2DB, 0x8E66 }, + { 0xC2DC, 0x8E64 }, + { 0xC2DD, 0x8E5F }, + { 0xC2DE, 0x8E55 }, + { 0xC2DF, 0x8EC0 }, + { 0xC2E0, 0x8F49 }, + { 0xC2E1, 0x8F4D }, + { 0xC2E2, 0x9087 }, + { 0xC2E3, 0x9083 }, + { 0xC2E4, 0x9088 }, + { 0xC2E5, 0x91AB }, + { 0xC2E6, 0x91AC }, + { 0xC2E7, 0x91D0 }, + { 0xC2E8, 0x9394 }, + { 0xC2E9, 0x938A }, + { 0xC2EA, 0x9396 }, + { 0xC2EB, 0x93A2 }, + { 0xC2EC, 0x93B3 }, + { 0xC2ED, 0x93AE }, + { 0xC2EE, 0x93AC }, + { 0xC2EF, 0x93B0 }, + { 0xC2F0, 0x9398 }, + { 0xC2F1, 0x939A }, + { 0xC2F2, 0x9397 }, + { 0xC2F3, 0x95D4 }, + { 0xC2F4, 0x95D6 }, + { 0xC2F5, 0x95D0 }, + { 0xC2F6, 0x95D5 }, + { 0xC2F7, 0x96E2 }, + { 0xC2F8, 0x96DC }, + { 0xC2F9, 0x96D9 }, + { 0xC2FA, 0x96DB }, + { 0xC2FB, 0x96DE }, + { 0xC2FC, 0x9724 }, + { 0xC2FD, 0x97A3 }, + { 0xC2FE, 0x97A6 }, + { 0xC340, 0x97AD }, + { 0xC341, 0x97F9 }, + { 0xC342, 0x984D }, + { 0xC343, 0x984F }, + { 0xC344, 0x984C }, + { 0xC345, 0x984E }, + { 0xC346, 0x9853 }, + { 0xC347, 0x98BA }, + { 0xC348, 0x993E }, + { 0xC349, 0x993F }, + { 0xC34A, 0x993D }, + { 0xC34B, 0x992E }, + { 0xC34C, 0x99A5 }, + { 0xC34D, 0x9A0E }, + { 0xC34E, 0x9AC1 }, + { 0xC34F, 0x9B03 }, + { 0xC350, 0x9B06 }, + { 0xC351, 0x9B4F }, + { 0xC352, 0x9B4E }, + { 0xC353, 0x9B4D }, + { 0xC354, 0x9BCA }, + { 0xC355, 0x9BC9 }, + { 0xC356, 0x9BFD }, + { 0xC357, 0x9BC8 }, + { 0xC358, 0x9BC0 }, + { 0xC359, 0x9D51 }, + { 0xC35A, 0x9D5D }, + { 0xC35B, 0x9D60 }, + { 0xC35C, 0x9EE0 }, + { 0xC35D, 0x9F15 }, + { 0xC35E, 0x9F2C }, + { 0xC35F, 0x5133 }, + { 0xC360, 0x56A5 }, + { 0xC361, 0x58DE }, + { 0xC362, 0x58DF }, + { 0xC363, 0x58E2 }, + { 0xC364, 0x5BF5 }, + { 0xC365, 0x9F90 }, + { 0xC366, 0x5EEC }, + { 0xC367, 0x61F2 }, + { 0xC368, 0x61F7 }, + { 0xC369, 0x61F6 }, + { 0xC36A, 0x61F5 }, + { 0xC36B, 0x6500 }, + { 0xC36C, 0x650F }, + { 0xC36D, 0x66E0 }, + { 0xC36E, 0x66DD }, + { 0xC36F, 0x6AE5 }, + { 0xC370, 0x6ADD }, + { 0xC371, 0x6ADA }, + { 0xC372, 0x6AD3 }, + { 0xC373, 0x701B }, + { 0xC374, 0x701F }, + { 0xC375, 0x7028 }, + { 0xC376, 0x701A }, + { 0xC377, 0x701D }, + { 0xC378, 0x7015 }, + { 0xC379, 0x7018 }, + { 0xC37A, 0x7206 }, + { 0xC37B, 0x720D }, + { 0xC37C, 0x7258 }, + { 0xC37D, 0x72A2 }, + { 0xC37E, 0x7378 }, + { 0xC3A1, 0x737A }, + { 0xC3A2, 0x74BD }, + { 0xC3A3, 0x74CA }, + { 0xC3A4, 0x74E3 }, + { 0xC3A5, 0x7587 }, + { 0xC3A6, 0x7586 }, + { 0xC3A7, 0x765F }, + { 0xC3A8, 0x7661 }, + { 0xC3A9, 0x77C7 }, + { 0xC3AA, 0x7919 }, + { 0xC3AB, 0x79B1 }, + { 0xC3AC, 0x7A6B }, + { 0xC3AD, 0x7A69 }, + { 0xC3AE, 0x7C3E }, + { 0xC3AF, 0x7C3F }, + { 0xC3B0, 0x7C38 }, + { 0xC3B1, 0x7C3D }, + { 0xC3B2, 0x7C37 }, + { 0xC3B3, 0x7C40 }, + { 0xC3B4, 0x7E6B }, + { 0xC3B5, 0x7E6D }, + { 0xC3B6, 0x7E79 }, + { 0xC3B7, 0x7E69 }, + { 0xC3B8, 0x7E6A }, + { 0xC3B9, 0x7F85 }, + { 0xC3BA, 0x7E73 }, + { 0xC3BB, 0x7FB6 }, + { 0xC3BC, 0x7FB9 }, + { 0xC3BD, 0x7FB8 }, + { 0xC3BE, 0x81D8 }, + { 0xC3BF, 0x85E9 }, + { 0xC3C0, 0x85DD }, + { 0xC3C1, 0x85EA }, + { 0xC3C2, 0x85D5 }, + { 0xC3C3, 0x85E4 }, + { 0xC3C4, 0x85E5 }, + { 0xC3C5, 0x85F7 }, + { 0xC3C6, 0x87FB }, + { 0xC3C7, 0x8805 }, + { 0xC3C8, 0x880D }, + { 0xC3C9, 0x87F9 }, + { 0xC3CA, 0x87FE }, + { 0xC3CB, 0x8960 }, + { 0xC3CC, 0x895F }, + { 0xC3CD, 0x8956 }, + { 0xC3CE, 0x895E }, + { 0xC3CF, 0x8B41 }, + { 0xC3D0, 0x8B5C }, + { 0xC3D1, 0x8B58 }, + { 0xC3D2, 0x8B49 }, + { 0xC3D3, 0x8B5A }, + { 0xC3D4, 0x8B4E }, + { 0xC3D5, 0x8B4F }, + { 0xC3D6, 0x8B46 }, + { 0xC3D7, 0x8B59 }, + { 0xC3D8, 0x8D08 }, + { 0xC3D9, 0x8D0A }, + { 0xC3DA, 0x8E7C }, + { 0xC3DB, 0x8E72 }, + { 0xC3DC, 0x8E87 }, + { 0xC3DD, 0x8E76 }, + { 0xC3DE, 0x8E6C }, + { 0xC3DF, 0x8E7A }, + { 0xC3E0, 0x8E74 }, + { 0xC3E1, 0x8F54 }, + { 0xC3E2, 0x8F4E }, + { 0xC3E3, 0x8FAD }, + { 0xC3E4, 0x908A }, + { 0xC3E5, 0x908B }, + { 0xC3E6, 0x91B1 }, + { 0xC3E7, 0x91AE }, + { 0xC3E8, 0x93E1 }, + { 0xC3E9, 0x93D1 }, + { 0xC3EA, 0x93DF }, + { 0xC3EB, 0x93C3 }, + { 0xC3EC, 0x93C8 }, + { 0xC3ED, 0x93DC }, + { 0xC3EE, 0x93DD }, + { 0xC3EF, 0x93D6 }, + { 0xC3F0, 0x93E2 }, + { 0xC3F1, 0x93CD }, + { 0xC3F2, 0x93D8 }, + { 0xC3F3, 0x93E4 }, + { 0xC3F4, 0x93D7 }, + { 0xC3F5, 0x93E8 }, + { 0xC3F6, 0x95DC }, + { 0xC3F7, 0x96B4 }, + { 0xC3F8, 0x96E3 }, + { 0xC3F9, 0x972A }, + { 0xC3FA, 0x9727 }, + { 0xC3FB, 0x9761 }, + { 0xC3FC, 0x97DC }, + { 0xC3FD, 0x97FB }, + { 0xC3FE, 0x985E }, + { 0xC440, 0x9858 }, + { 0xC441, 0x985B }, + { 0xC442, 0x98BC }, + { 0xC443, 0x9945 }, + { 0xC444, 0x9949 }, + { 0xC445, 0x9A16 }, + { 0xC446, 0x9A19 }, + { 0xC447, 0x9B0D }, + { 0xC448, 0x9BE8 }, + { 0xC449, 0x9BE7 }, + { 0xC44A, 0x9BD6 }, + { 0xC44B, 0x9BDB }, + { 0xC44C, 0x9D89 }, + { 0xC44D, 0x9D61 }, + { 0xC44E, 0x9D72 }, + { 0xC44F, 0x9D6A }, + { 0xC450, 0x9D6C }, + { 0xC451, 0x9E92 }, + { 0xC452, 0x9E97 }, + { 0xC453, 0x9E93 }, + { 0xC454, 0x9EB4 }, + { 0xC455, 0x52F8 }, + { 0xC456, 0x56A8 }, + { 0xC457, 0x56B7 }, + { 0xC458, 0x56B6 }, + { 0xC459, 0x56B4 }, + { 0xC45A, 0x56BC }, + { 0xC45B, 0x58E4 }, + { 0xC45C, 0x5B40 }, + { 0xC45D, 0x5B43 }, + { 0xC45E, 0x5B7D }, + { 0xC45F, 0x5BF6 }, + { 0xC460, 0x5DC9 }, + { 0xC461, 0x61F8 }, + { 0xC462, 0x61FA }, + { 0xC463, 0x6518 }, + { 0xC464, 0x6514 }, + { 0xC465, 0x6519 }, + { 0xC466, 0x66E6 }, + { 0xC467, 0x6727 }, + { 0xC468, 0x6AEC }, + { 0xC469, 0x703E }, + { 0xC46A, 0x7030 }, + { 0xC46B, 0x7032 }, + { 0xC46C, 0x7210 }, + { 0xC46D, 0x737B }, + { 0xC46E, 0x74CF }, + { 0xC46F, 0x7662 }, + { 0xC470, 0x7665 }, + { 0xC471, 0x7926 }, + { 0xC472, 0x792A }, + { 0xC473, 0x792C }, + { 0xC474, 0x792B }, + { 0xC475, 0x7AC7 }, + { 0xC476, 0x7AF6 }, + { 0xC477, 0x7C4C }, + { 0xC478, 0x7C43 }, + { 0xC479, 0x7C4D }, + { 0xC47A, 0x7CEF }, + { 0xC47B, 0x7CF0 }, + { 0xC47C, 0x8FAE }, + { 0xC47D, 0x7E7D }, + { 0xC47E, 0x7E7C }, + { 0xC4A1, 0x7E82 }, + { 0xC4A2, 0x7F4C }, + { 0xC4A3, 0x8000 }, + { 0xC4A4, 0x81DA }, + { 0xC4A5, 0x8266 }, + { 0xC4A6, 0x85FB }, + { 0xC4A7, 0x85F9 }, + { 0xC4A8, 0x8611 }, + { 0xC4A9, 0x85FA }, + { 0xC4AA, 0x8606 }, + { 0xC4AB, 0x860B }, + { 0xC4AC, 0x8607 }, + { 0xC4AD, 0x860A }, + { 0xC4AE, 0x8814 }, + { 0xC4AF, 0x8815 }, + { 0xC4B0, 0x8964 }, + { 0xC4B1, 0x89BA }, + { 0xC4B2, 0x89F8 }, + { 0xC4B3, 0x8B70 }, + { 0xC4B4, 0x8B6C }, + { 0xC4B5, 0x8B66 }, + { 0xC4B6, 0x8B6F }, + { 0xC4B7, 0x8B5F }, + { 0xC4B8, 0x8B6B }, + { 0xC4B9, 0x8D0F }, + { 0xC4BA, 0x8D0D }, + { 0xC4BB, 0x8E89 }, + { 0xC4BC, 0x8E81 }, + { 0xC4BD, 0x8E85 }, + { 0xC4BE, 0x8E82 }, + { 0xC4BF, 0x91B4 }, + { 0xC4C0, 0x91CB }, + { 0xC4C1, 0x9418 }, + { 0xC4C2, 0x9403 }, + { 0xC4C3, 0x93FD }, + { 0xC4C4, 0x95E1 }, + { 0xC4C5, 0x9730 }, + { 0xC4C6, 0x98C4 }, + { 0xC4C7, 0x9952 }, + { 0xC4C8, 0x9951 }, + { 0xC4C9, 0x99A8 }, + { 0xC4CA, 0x9A2B }, + { 0xC4CB, 0x9A30 }, + { 0xC4CC, 0x9A37 }, + { 0xC4CD, 0x9A35 }, + { 0xC4CE, 0x9C13 }, + { 0xC4CF, 0x9C0D }, + { 0xC4D0, 0x9E79 }, + { 0xC4D1, 0x9EB5 }, + { 0xC4D2, 0x9EE8 }, + { 0xC4D3, 0x9F2F }, + { 0xC4D4, 0x9F5F }, + { 0xC4D5, 0x9F63 }, + { 0xC4D6, 0x9F61 }, + { 0xC4D7, 0x5137 }, + { 0xC4D8, 0x5138 }, + { 0xC4D9, 0x56C1 }, + { 0xC4DA, 0x56C0 }, + { 0xC4DB, 0x56C2 }, + { 0xC4DC, 0x5914 }, + { 0xC4DD, 0x5C6C }, + { 0xC4DE, 0x5DCD }, + { 0xC4DF, 0x61FC }, + { 0xC4E0, 0x61FE }, + { 0xC4E1, 0x651D }, + { 0xC4E2, 0x651C }, + { 0xC4E3, 0x6595 }, + { 0xC4E4, 0x66E9 }, + { 0xC4E5, 0x6AFB }, + { 0xC4E6, 0x6B04 }, + { 0xC4E7, 0x6AFA }, + { 0xC4E8, 0x6BB2 }, + { 0xC4E9, 0x704C }, + { 0xC4EA, 0x721B }, + { 0xC4EB, 0x72A7 }, + { 0xC4EC, 0x74D6 }, + { 0xC4ED, 0x74D4 }, + { 0xC4EE, 0x7669 }, + { 0xC4EF, 0x77D3 }, + { 0xC4F0, 0x7C50 }, + { 0xC4F1, 0x7E8F }, + { 0xC4F2, 0x7E8C }, + { 0xC4F3, 0x7FBC }, + { 0xC4F4, 0x8617 }, + { 0xC4F5, 0x862D }, + { 0xC4F6, 0x861A }, + { 0xC4F7, 0x8823 }, + { 0xC4F8, 0x8822 }, + { 0xC4F9, 0x8821 }, + { 0xC4FA, 0x881F }, + { 0xC4FB, 0x896A }, + { 0xC4FC, 0x896C }, + { 0xC4FD, 0x89BD }, + { 0xC4FE, 0x8B74 }, + { 0xC540, 0x8B77 }, + { 0xC541, 0x8B7D }, + { 0xC542, 0x8D13 }, + { 0xC543, 0x8E8A }, + { 0xC544, 0x8E8D }, + { 0xC545, 0x8E8B }, + { 0xC546, 0x8F5F }, + { 0xC547, 0x8FAF }, + { 0xC548, 0x91BA }, + { 0xC549, 0x942E }, + { 0xC54A, 0x9433 }, + { 0xC54B, 0x9435 }, + { 0xC54C, 0x943A }, + { 0xC54D, 0x9438 }, + { 0xC54E, 0x9432 }, + { 0xC54F, 0x942B }, + { 0xC550, 0x95E2 }, + { 0xC551, 0x9738 }, + { 0xC552, 0x9739 }, + { 0xC553, 0x9732 }, + { 0xC554, 0x97FF }, + { 0xC555, 0x9867 }, + { 0xC556, 0x9865 }, + { 0xC557, 0x9957 }, + { 0xC558, 0x9A45 }, + { 0xC559, 0x9A43 }, + { 0xC55A, 0x9A40 }, + { 0xC55B, 0x9A3E }, + { 0xC55C, 0x9ACF }, + { 0xC55D, 0x9B54 }, + { 0xC55E, 0x9B51 }, + { 0xC55F, 0x9C2D }, + { 0xC560, 0x9C25 }, + { 0xC561, 0x9DAF }, + { 0xC562, 0x9DB4 }, + { 0xC563, 0x9DC2 }, + { 0xC564, 0x9DB8 }, + { 0xC565, 0x9E9D }, + { 0xC566, 0x9EEF }, + { 0xC567, 0x9F19 }, + { 0xC568, 0x9F5C }, + { 0xC569, 0x9F66 }, + { 0xC56A, 0x9F67 }, + { 0xC56B, 0x513C }, + { 0xC56C, 0x513B }, + { 0xC56D, 0x56C8 }, + { 0xC56E, 0x56CA }, + { 0xC56F, 0x56C9 }, + { 0xC570, 0x5B7F }, + { 0xC571, 0x5DD4 }, + { 0xC572, 0x5DD2 }, + { 0xC573, 0x5F4E }, + { 0xC574, 0x61FF }, + { 0xC575, 0x6524 }, + { 0xC576, 0x6B0A }, + { 0xC577, 0x6B61 }, + { 0xC578, 0x7051 }, + { 0xC579, 0x7058 }, + { 0xC57A, 0x7380 }, + { 0xC57B, 0x74E4 }, + { 0xC57C, 0x758A }, + { 0xC57D, 0x766E }, + { 0xC57E, 0x766C }, + { 0xC5A1, 0x79B3 }, + { 0xC5A2, 0x7C60 }, + { 0xC5A3, 0x7C5F }, + { 0xC5A4, 0x807E }, + { 0xC5A5, 0x807D }, + { 0xC5A6, 0x81DF }, + { 0xC5A7, 0x8972 }, + { 0xC5A8, 0x896F }, + { 0xC5A9, 0x89FC }, + { 0xC5AA, 0x8B80 }, + { 0xC5AB, 0x8D16 }, + { 0xC5AC, 0x8D17 }, + { 0xC5AD, 0x8E91 }, + { 0xC5AE, 0x8E93 }, + { 0xC5AF, 0x8F61 }, + { 0xC5B0, 0x9148 }, + { 0xC5B1, 0x9444 }, + { 0xC5B2, 0x9451 }, + { 0xC5B3, 0x9452 }, + { 0xC5B4, 0x973D }, + { 0xC5B5, 0x973E }, + { 0xC5B6, 0x97C3 }, + { 0xC5B7, 0x97C1 }, + { 0xC5B8, 0x986B }, + { 0xC5B9, 0x9955 }, + { 0xC5BA, 0x9A55 }, + { 0xC5BB, 0x9A4D }, + { 0xC5BC, 0x9AD2 }, + { 0xC5BD, 0x9B1A }, + { 0xC5BE, 0x9C49 }, + { 0xC5BF, 0x9C31 }, + { 0xC5C0, 0x9C3E }, + { 0xC5C1, 0x9C3B }, + { 0xC5C2, 0x9DD3 }, + { 0xC5C3, 0x9DD7 }, + { 0xC5C4, 0x9F34 }, + { 0xC5C5, 0x9F6C }, + { 0xC5C6, 0x9F6A }, + { 0xC5C7, 0x9F94 }, + { 0xC5C8, 0x56CC }, + { 0xC5C9, 0x5DD6 }, + { 0xC5CA, 0x6200 }, + { 0xC5CB, 0x6523 }, + { 0xC5CC, 0x652B }, + { 0xC5CD, 0x652A }, + { 0xC5CE, 0x66EC }, + { 0xC5CF, 0x6B10 }, + { 0xC5D0, 0x74DA }, + { 0xC5D1, 0x7ACA }, + { 0xC5D2, 0x7C64 }, + { 0xC5D3, 0x7C63 }, + { 0xC5D4, 0x7C65 }, + { 0xC5D5, 0x7E93 }, + { 0xC5D6, 0x7E96 }, + { 0xC5D7, 0x7E94 }, + { 0xC5D8, 0x81E2 }, + { 0xC5D9, 0x8638 }, + { 0xC5DA, 0x863F }, + { 0xC5DB, 0x8831 }, + { 0xC5DC, 0x8B8A }, + { 0xC5DD, 0x9090 }, + { 0xC5DE, 0x908F }, + { 0xC5DF, 0x9463 }, + { 0xC5E0, 0x9460 }, + { 0xC5E1, 0x9464 }, + { 0xC5E2, 0x9768 }, + { 0xC5E3, 0x986F }, + { 0xC5E4, 0x995C }, + { 0xC5E5, 0x9A5A }, + { 0xC5E6, 0x9A5B }, + { 0xC5E7, 0x9A57 }, + { 0xC5E8, 0x9AD3 }, + { 0xC5E9, 0x9AD4 }, + { 0xC5EA, 0x9AD1 }, + { 0xC5EB, 0x9C54 }, + { 0xC5EC, 0x9C57 }, + { 0xC5ED, 0x9C56 }, + { 0xC5EE, 0x9DE5 }, + { 0xC5EF, 0x9E9F }, + { 0xC5F0, 0x9EF4 }, + { 0xC5F1, 0x56D1 }, + { 0xC5F2, 0x58E9 }, + { 0xC5F3, 0x652C }, + { 0xC5F4, 0x705E }, + { 0xC5F5, 0x7671 }, + { 0xC5F6, 0x7672 }, + { 0xC5F7, 0x77D7 }, + { 0xC5F8, 0x7F50 }, + { 0xC5F9, 0x7F88 }, + { 0xC5FA, 0x8836 }, + { 0xC5FB, 0x8839 }, + { 0xC5FC, 0x8862 }, + { 0xC5FD, 0x8B93 }, + { 0xC5FE, 0x8B92 }, + { 0xC640, 0x8B96 }, + { 0xC641, 0x8277 }, + { 0xC642, 0x8D1B }, + { 0xC643, 0x91C0 }, + { 0xC644, 0x946A }, + { 0xC645, 0x9742 }, + { 0xC646, 0x9748 }, + { 0xC647, 0x9744 }, + { 0xC648, 0x97C6 }, + { 0xC649, 0x9870 }, + { 0xC64A, 0x9A5F }, + { 0xC64B, 0x9B22 }, + { 0xC64C, 0x9B58 }, + { 0xC64D, 0x9C5F }, + { 0xC64E, 0x9DF9 }, + { 0xC64F, 0x9DFA }, + { 0xC650, 0x9E7C }, + { 0xC651, 0x9E7D }, + { 0xC652, 0x9F07 }, + { 0xC653, 0x9F77 }, + { 0xC654, 0x9F72 }, + { 0xC655, 0x5EF3 }, + { 0xC656, 0x6B16 }, + { 0xC657, 0x7063 }, + { 0xC658, 0x7C6C }, + { 0xC659, 0x7C6E }, + { 0xC65A, 0x883B }, + { 0xC65B, 0x89C0 }, + { 0xC65C, 0x8EA1 }, + { 0xC65D, 0x91C1 }, + { 0xC65E, 0x9472 }, + { 0xC65F, 0x9470 }, + { 0xC660, 0x9871 }, + { 0xC661, 0x995E }, + { 0xC662, 0x9AD6 }, + { 0xC663, 0x9B23 }, + { 0xC664, 0x9ECC }, + { 0xC665, 0x7064 }, + { 0xC666, 0x77DA }, + { 0xC667, 0x8B9A }, + { 0xC668, 0x9477 }, + { 0xC669, 0x97C9 }, + { 0xC66A, 0x9A62 }, + { 0xC66B, 0x9A65 }, + { 0xC66C, 0x7E9C }, + { 0xC66D, 0x8B9C }, + { 0xC66E, 0x8EAA }, + { 0xC66F, 0x91C5 }, + { 0xC670, 0x947D }, + { 0xC671, 0x947E }, + { 0xC672, 0x947C }, + { 0xC673, 0x9C77 }, + { 0xC674, 0x9C78 }, + { 0xC675, 0x9EF7 }, + { 0xC676, 0x8C54 }, + { 0xC677, 0x947F }, + { 0xC678, 0x9E1A }, + { 0xC679, 0x7228 }, + { 0xC67A, 0x9A6A }, + { 0xC67B, 0x9B31 }, + { 0xC67C, 0x9E1B }, + { 0xC67D, 0x9E1E }, + { 0xC67E, 0x7C72 }, + { 0xC6A1, 0x30FE }, + { 0xC6A2, 0x309D }, + { 0xC6A3, 0x309E }, + { 0xC6A4, 0x3005 }, + { 0xC6A5, 0x3041 }, + { 0xC6A6, 0x3042 }, + { 0xC6A7, 0x3043 }, + { 0xC6A8, 0x3044 }, + { 0xC6A9, 0x3045 }, + { 0xC6AA, 0x3046 }, + { 0xC6AB, 0x3047 }, + { 0xC6AC, 0x3048 }, + { 0xC6AD, 0x3049 }, + { 0xC6AE, 0x304A }, + { 0xC6AF, 0x304B }, + { 0xC6B0, 0x304C }, + { 0xC6B1, 0x304D }, + { 0xC6B2, 0x304E }, + { 0xC6B3, 0x304F }, + { 0xC6B4, 0x3050 }, + { 0xC6B5, 0x3051 }, + { 0xC6B6, 0x3052 }, + { 0xC6B7, 0x3053 }, + { 0xC6B8, 0x3054 }, + { 0xC6B9, 0x3055 }, + { 0xC6BA, 0x3056 }, + { 0xC6BB, 0x3057 }, + { 0xC6BC, 0x3058 }, + { 0xC6BD, 0x3059 }, + { 0xC6BE, 0x305A }, + { 0xC6BF, 0x305B }, + { 0xC6C0, 0x305C }, + { 0xC6C1, 0x305D }, + { 0xC6C2, 0x305E }, + { 0xC6C3, 0x305F }, + { 0xC6C4, 0x3060 }, + { 0xC6C5, 0x3061 }, + { 0xC6C6, 0x3062 }, + { 0xC6C7, 0x3063 }, + { 0xC6C8, 0x3064 }, + { 0xC6C9, 0x3065 }, + { 0xC6CA, 0x3066 }, + { 0xC6CB, 0x3067 }, + { 0xC6CC, 0x3068 }, + { 0xC6CD, 0x3069 }, + { 0xC6CE, 0x306A }, + { 0xC6CF, 0x306B }, + { 0xC6D0, 0x306C }, + { 0xC6D1, 0x306D }, + { 0xC6D2, 0x306E }, + { 0xC6D3, 0x306F }, + { 0xC6D4, 0x3070 }, + { 0xC6D5, 0x3071 }, + { 0xC6D6, 0x3072 }, + { 0xC6D7, 0x3073 }, + { 0xC6D8, 0x3074 }, + { 0xC6D9, 0x3075 }, + { 0xC6DA, 0x3076 }, + { 0xC6DB, 0x3077 }, + { 0xC6DC, 0x3078 }, + { 0xC6DD, 0x3079 }, + { 0xC6DE, 0x307A }, + { 0xC6DF, 0x307B }, + { 0xC6E0, 0x307C }, + { 0xC6E1, 0x307D }, + { 0xC6E2, 0x307E }, + { 0xC6E3, 0x307F }, + { 0xC6E4, 0x3080 }, + { 0xC6E5, 0x3081 }, + { 0xC6E6, 0x3082 }, + { 0xC6E7, 0x3083 }, + { 0xC6E8, 0x3084 }, + { 0xC6E9, 0x3085 }, + { 0xC6EA, 0x3086 }, + { 0xC6EB, 0x3087 }, + { 0xC6EC, 0x3088 }, + { 0xC6ED, 0x3089 }, + { 0xC6EE, 0x308A }, + { 0xC6EF, 0x308B }, + { 0xC6F0, 0x308C }, + { 0xC6F1, 0x308D }, + { 0xC6F2, 0x308E }, + { 0xC6F3, 0x308F }, + { 0xC6F4, 0x3090 }, + { 0xC6F5, 0x3091 }, + { 0xC6F6, 0x3092 }, + { 0xC6F7, 0x3093 }, + { 0xC6F8, 0x30A1 }, + { 0xC6F9, 0x30A2 }, + { 0xC6FA, 0x30A3 }, + { 0xC6FB, 0x30A4 }, + { 0xC6FC, 0x30A5 }, + { 0xC6FD, 0x30A6 }, + { 0xC6FE, 0x30A7 }, + { 0xC740, 0x30A8 }, + { 0xC741, 0x30A9 }, + { 0xC742, 0x30AA }, + { 0xC743, 0x30AB }, + { 0xC744, 0x30AC }, + { 0xC745, 0x30AD }, + { 0xC746, 0x30AE }, + { 0xC747, 0x30AF }, + { 0xC748, 0x30B0 }, + { 0xC749, 0x30B1 }, + { 0xC74A, 0x30B2 }, + { 0xC74B, 0x30B3 }, + { 0xC74C, 0x30B4 }, + { 0xC74D, 0x30B5 }, + { 0xC74E, 0x30B6 }, + { 0xC74F, 0x30B7 }, + { 0xC750, 0x30B8 }, + { 0xC751, 0x30B9 }, + { 0xC752, 0x30BA }, + { 0xC753, 0x30BB }, + { 0xC754, 0x30BC }, + { 0xC755, 0x30BD }, + { 0xC756, 0x30BE }, + { 0xC757, 0x30BF }, + { 0xC758, 0x30C0 }, + { 0xC759, 0x30C1 }, + { 0xC75A, 0x30C2 }, + { 0xC75B, 0x30C3 }, + { 0xC75C, 0x30C4 }, + { 0xC75D, 0x30C5 }, + { 0xC75E, 0x30C6 }, + { 0xC75F, 0x30C7 }, + { 0xC760, 0x30C8 }, + { 0xC761, 0x30C9 }, + { 0xC762, 0x30CA }, + { 0xC763, 0x30CB }, + { 0xC764, 0x30CC }, + { 0xC765, 0x30CD }, + { 0xC766, 0x30CE }, + { 0xC767, 0x30CF }, + { 0xC768, 0x30D0 }, + { 0xC769, 0x30D1 }, + { 0xC76A, 0x30D2 }, + { 0xC76B, 0x30D3 }, + { 0xC76C, 0x30D4 }, + { 0xC76D, 0x30D5 }, + { 0xC76E, 0x30D6 }, + { 0xC76F, 0x30D7 }, + { 0xC770, 0x30D8 }, + { 0xC771, 0x30D9 }, + { 0xC772, 0x30DA }, + { 0xC773, 0x30DB }, + { 0xC774, 0x30DC }, + { 0xC775, 0x30DD }, + { 0xC776, 0x30DE }, + { 0xC777, 0x30DF }, + { 0xC778, 0x30E0 }, + { 0xC779, 0x30E1 }, + { 0xC77A, 0x30E2 }, + { 0xC77B, 0x30E3 }, + { 0xC77C, 0x30E4 }, + { 0xC77D, 0x30E5 }, + { 0xC77E, 0x30E6 }, + { 0xC7A1, 0x30E7 }, + { 0xC7A2, 0x30E8 }, + { 0xC7A3, 0x30E9 }, + { 0xC7A4, 0x30EA }, + { 0xC7A5, 0x30EB }, + { 0xC7A6, 0x30EC }, + { 0xC7A7, 0x30ED }, + { 0xC7A8, 0x30EE }, + { 0xC7A9, 0x30EF }, + { 0xC7AA, 0x30F0 }, + { 0xC7AB, 0x30F1 }, + { 0xC7AC, 0x30F2 }, + { 0xC7AD, 0x30F3 }, + { 0xC7AE, 0x30F4 }, + { 0xC7AF, 0x30F5 }, + { 0xC7B0, 0x30F6 }, + { 0xC7B1, 0x0414 }, + { 0xC7B2, 0x0415 }, + { 0xC7B3, 0x0401 }, + { 0xC7B4, 0x0416 }, + { 0xC7B5, 0x0417 }, + { 0xC7B6, 0x0418 }, + { 0xC7B7, 0x0419 }, + { 0xC7B8, 0x041A }, + { 0xC7B9, 0x041B }, + { 0xC7BA, 0x041C }, + { 0xC7BB, 0x0423 }, + { 0xC7BC, 0x0424 }, + { 0xC7BD, 0x0425 }, + { 0xC7BE, 0x0426 }, + { 0xC7BF, 0x0427 }, + { 0xC7C0, 0x0428 }, + { 0xC7C1, 0x0429 }, + { 0xC7C2, 0x042A }, + { 0xC7C3, 0x042B }, + { 0xC7C4, 0x042C }, + { 0xC7C5, 0x042D },{ 0xC7C6, 0x042E }, + { 0xC7C7, 0x042F }, + { 0xC7C8, 0x0430 }, + { 0xC7C9, 0x0431 }, + { 0xC7CA, 0x0432 }, + { 0xC7CB, 0x0433 }, + { 0xC7CC, 0x0434 }, + { 0xC7CD, 0x0435 }, + { 0xC7CE, 0x0451 }, + { 0xC7CF, 0x0436 }, + { 0xC7D0, 0x0437 }, + { 0xC7D1, 0x0438 }, + { 0xC7D2, 0x0439 }, + { 0xC7D3, 0x043A }, + { 0xC7D4, 0x043B }, + { 0xC7D5, 0x043C }, + { 0xC7D6, 0x043D }, + { 0xC7D7, 0x043E }, + { 0xC7D8, 0x043F }, + { 0xC7D9, 0x0440 }, + { 0xC7DA, 0x0441 }, + { 0xC7DB, 0x0442 }, + { 0xC7DC, 0x0443 }, + { 0xC7DD, 0x0444 }, + { 0xC7DE, 0x0445 }, + { 0xC7DF, 0x0446 }, + { 0xC7E0, 0x0447 }, + { 0xC7E1, 0x0448 }, + { 0xC7E2, 0x0449 }, + { 0xC7E3, 0x044A }, + { 0xC7E4, 0x044B }, + { 0xC7E5, 0x044C }, + { 0xC7E6, 0x044D }, + { 0xC7E7, 0x044E }, + { 0xC7E8, 0x044F }, + { 0xC7E9, 0x2460 }, + { 0xC7EA, 0x2461 }, + { 0xC7EB, 0x2462 }, + { 0xC7EC, 0x2463 }, + { 0xC7ED, 0x2464 }, + { 0xC7EE, 0x2465 }, + { 0xC7EF, 0x2466 }, + { 0xC7F0, 0x2467 }, + { 0xC7F1, 0x2468 }, + { 0xC7F2, 0x2469 }, + { 0xC7F3, 0x2474 }, + { 0xC7F4, 0x2475 }, + { 0xC7F5, 0x2476 }, + { 0xC7F6, 0x2477 }, + { 0xC7F7, 0x2478 }, + { 0xC7F8, 0x2479 }, + { 0xC7F9, 0x247A }, + { 0xC7FA, 0x247B }, + { 0xC7FB, 0x247C }, + { 0xC7FC, 0x247D }, + { 0xC940, 0x4E42 }, + { 0xC941, 0x4E5C }, + { 0xC942, 0x51F5 }, + { 0xC943, 0x531A }, + { 0xC944, 0x5382 }, + { 0xC945, 0x4E07 }, + { 0xC946, 0x4E0C }, + { 0xC947, 0x4E47 }, + { 0xC948, 0x4E8D }, + { 0xC949, 0x56D7 }, + { 0xC94A, 0xFA0C }, + { 0xC94B, 0x5C6E }, + { 0xC94C, 0x5F73 }, + { 0xC94D, 0x4E0F }, + { 0xC94E, 0x5187 }, + { 0xC94F, 0x4E0E }, + { 0xC950, 0x4E2E }, + { 0xC951, 0x4E93 }, + { 0xC952, 0x4EC2 }, + { 0xC953, 0x4EC9 }, + { 0xC954, 0x4EC8 }, + { 0xC955, 0x5198 }, + { 0xC956, 0x52FC }, + { 0xC957, 0x536C }, + { 0xC958, 0x53B9 }, + { 0xC959, 0x5720 }, + { 0xC95A, 0x5903 }, + { 0xC95B, 0x592C }, + { 0xC95C, 0x5C10 }, + { 0xC95D, 0x5DFF }, + { 0xC95E, 0x65E1 }, + { 0xC95F, 0x6BB3 }, + { 0xC960, 0x6BCC }, + { 0xC961, 0x6C14 }, + { 0xC962, 0x723F }, + { 0xC963, 0x4E31 }, + { 0xC964, 0x4E3C }, + { 0xC965, 0x4EE8 }, + { 0xC966, 0x4EDC }, + { 0xC967, 0x4EE9 }, + { 0xC968, 0x4EE1 }, + { 0xC969, 0x4EDD }, + { 0xC96A, 0x4EDA }, + { 0xC96B, 0x520C }, + { 0xC96C, 0x531C }, + { 0xC96D, 0x534C }, + { 0xC96E, 0x5722 }, + { 0xC96F, 0x5723 }, + { 0xC970, 0x5917 }, + { 0xC971, 0x592F }, + { 0xC972, 0x5B81 }, + { 0xC973, 0x5B84 }, + { 0xC974, 0x5C12 }, + { 0xC975, 0x5C3B }, + { 0xC976, 0x5C74 }, + { 0xC977, 0x5C73 }, + { 0xC978, 0x5E04 }, + { 0xC979, 0x5E80 }, + { 0xC97A, 0x5E82 }, + { 0xC97B, 0x5FC9 }, + { 0xC97C, 0x6209 }, + { 0xC97D, 0x6250 }, + { 0xC97E, 0x6C15 }, + { 0xC9A1, 0x6C36 }, + { 0xC9A2, 0x6C43 }, + { 0xC9A3, 0x6C3F }, + { 0xC9A4, 0x6C3B }, + { 0xC9A5, 0x72AE }, + { 0xC9A6, 0x72B0 }, + { 0xC9A7, 0x738A }, + { 0xC9A8, 0x79B8 }, + { 0xC9A9, 0x808A }, + { 0xC9AA, 0x961E }, + { 0xC9AB, 0x4F0E }, + { 0xC9AC, 0x4F18 }, + { 0xC9AD, 0x4F2C }, + { 0xC9AE, 0x4EF5 }, + { 0xC9AF, 0x4F14 }, + { 0xC9B0, 0x4EF1 }, + { 0xC9B1, 0x4F00 }, + { 0xC9B2, 0x4EF7 }, + { 0xC9B3, 0x4F08 }, + { 0xC9B4, 0x4F1D }, + { 0xC9B5, 0x4F02 }, + { 0xC9B6, 0x4F05 }, + { 0xC9B7, 0x4F22 }, + { 0xC9B8, 0x4F13 }, + { 0xC9B9, 0x4F04 }, + { 0xC9BA, 0x4EF4 }, + { 0xC9BB, 0x4F12 }, + { 0xC9BC, 0x51B1 }, + { 0xC9BD, 0x5213 }, + { 0xC9BE, 0x5209 }, + { 0xC9BF, 0x5210 }, + { 0xC9C0, 0x52A6 }, + { 0xC9C1, 0x5322 }, + { 0xC9C2, 0x531F }, + { 0xC9C3, 0x534D }, + { 0xC9C4, 0x538A }, + { 0xC9C5, 0x5407 }, + { 0xC9C6, 0x56E1 }, + { 0xC9C7, 0x56DF }, + { 0xC9C8, 0x572E }, + { 0xC9C9, 0x572A }, + { 0xC9CA, 0x5734 }, + { 0xC9CB, 0x593C }, + { 0xC9CC, 0x5980 }, + { 0xC9CD, 0x597C }, + { 0xC9CE, 0x5985 }, + { 0xC9CF, 0x597B }, + { 0xC9D0, 0x597E }, + { 0xC9D1, 0x5977 }, + { 0xC9D2, 0x597F }, + { 0xC9D3, 0x5B56 }, + { 0xC9D4, 0x5C15 }, + { 0xC9D5, 0x5C25 }, + { 0xC9D6, 0x5C7C }, + { 0xC9D7, 0x5C7A }, + { 0xC9D8, 0x5C7B }, + { 0xC9D9, 0x5C7E }, + { 0xC9DA, 0x5DDF }, + { 0xC9DB, 0x5E75 }, + { 0xC9DC, 0x5E84 }, + { 0xC9DD, 0x5F02 }, + { 0xC9DE, 0x5F1A }, + { 0xC9DF, 0x5F74 }, + { 0xC9E0, 0x5FD5 }, + { 0xC9E1, 0x5FD4 }, + { 0xC9E2, 0x5FCF }, + { 0xC9E3, 0x625C }, + { 0xC9E4, 0x625E }, + { 0xC9E5, 0x6264 }, + { 0xC9E6, 0x6261 }, + { 0xC9E7, 0x6266 }, + { 0xC9E8, 0x6262 }, + { 0xC9E9, 0x6259 }, + { 0xC9EA, 0x6260 }, + { 0xC9EB, 0x625A }, + { 0xC9EC, 0x6265 }, + { 0xC9ED, 0x65EF }, + { 0xC9EE, 0x65EE }, + { 0xC9EF, 0x673E }, + { 0xC9F0, 0x6739 }, + { 0xC9F1, 0x6738 }, + { 0xC9F2, 0x673B }, + { 0xC9F3, 0x673A }, + { 0xC9F4, 0x673F }, + { 0xC9F5, 0x673C }, + { 0xC9F6, 0x6733 }, + { 0xC9F7, 0x6C18 }, + { 0xC9F8, 0x6C46 }, + { 0xC9F9, 0x6C52 }, + { 0xC9FA, 0x6C5C }, + { 0xC9FB, 0x6C4F }, + { 0xC9FC, 0x6C4A }, + { 0xC9FD, 0x6C54 }, + { 0xC9FE, 0x6C4B }, + { 0xCA40, 0x6C4C }, + { 0xCA41, 0x7071 }, + { 0xCA42, 0x725E }, + { 0xCA43, 0x72B4 }, + { 0xCA44, 0x72B5 }, + { 0xCA45, 0x738E }, + { 0xCA46, 0x752A }, + { 0xCA47, 0x767F }, + { 0xCA48, 0x7A75 }, + { 0xCA49, 0x7F51 }, + { 0xCA4A, 0x8278 }, + { 0xCA4B, 0x827C }, + { 0xCA4C, 0x8280 }, + { 0xCA4D, 0x827D }, + { 0xCA4E, 0x827F }, + { 0xCA4F, 0x864D }, + { 0xCA50, 0x897E }, + { 0xCA51, 0x9099 }, + { 0xCA52, 0x9097 }, + { 0xCA53, 0x9098 }, + { 0xCA54, 0x909B }, + { 0xCA55, 0x9094 }, + { 0xCA56, 0x9622 }, + { 0xCA57, 0x9624 }, + { 0xCA58, 0x9620 }, + { 0xCA59, 0x9623 }, + { 0xCA5A, 0x4F56 }, + { 0xCA5B, 0x4F3B }, + { 0xCA5C, 0x4F62 }, + { 0xCA5D, 0x4F49 }, + { 0xCA5E, 0x4F53 }, + { 0xCA5F, 0x4F64 }, + { 0xCA60, 0x4F3E }, + { 0xCA61, 0x4F67 }, + { 0xCA62, 0x4F52 }, + { 0xCA63, 0x4F5F }, + { 0xCA64, 0x4F41 }, + { 0xCA65, 0x4F58 }, + { 0xCA66, 0x4F2D }, + { 0xCA67, 0x4F33 }, + { 0xCA68, 0x4F3F }, + { 0xCA69, 0x4F61 }, + { 0xCA6A, 0x518F }, + { 0xCA6B, 0x51B9 }, + { 0xCA6C, 0x521C }, + { 0xCA6D, 0x521E }, + { 0xCA6E, 0x5221 }, + { 0xCA6F, 0x52AD }, + { 0xCA70, 0x52AE }, + { 0xCA71, 0x5309 }, + { 0xCA72, 0x5363 }, + { 0xCA73, 0x5372 }, + { 0xCA74, 0x538E }, + { 0xCA75, 0x538F }, + { 0xCA76, 0x5430 }, + { 0xCA77, 0x5437 }, + { 0xCA78, 0x542A }, + { 0xCA79, 0x5454 }, + { 0xCA7A, 0x5445 }, + { 0xCA7B, 0x5419 }, + { 0xCA7C, 0x541C }, + { 0xCA7D, 0x5425 }, + { 0xCA7E, 0x5418 }, + { 0xCAA1, 0x543D }, + { 0xCAA2, 0x544F }, + { 0xCAA3, 0x5441 }, + { 0xCAA4, 0x5428 }, + { 0xCAA5, 0x5424 }, + { 0xCAA6, 0x5447 }, + { 0xCAA7, 0x56EE }, + { 0xCAA8, 0x56E7 }, + { 0xCAA9, 0x56E5 }, + { 0xCAAA, 0x5741 }, + { 0xCAAB, 0x5745 }, + { 0xCAAC, 0x574C }, + { 0xCAAD, 0x5749 }, + { 0xCAAE, 0x574B }, + { 0xCAAF, 0x5752 }, + { 0xCAB0, 0x5906 }, + { 0xCAB1, 0x5940 }, + { 0xCAB2, 0x59A6 }, + { 0xCAB3, 0x5998 }, + { 0xCAB4, 0x59A0 }, + { 0xCAB5, 0x5997 }, + { 0xCAB6, 0x598E }, + { 0xCAB7, 0x59A2 }, + { 0xCAB8, 0x5990 }, + { 0xCAB9, 0x598F }, + { 0xCABA, 0x59A7 }, + { 0xCABB, 0x59A1 }, + { 0xCABC, 0x5B8E }, + { 0xCABD, 0x5B92 }, + { 0xCABE, 0x5C28 }, + { 0xCABF, 0x5C2A }, + { 0xCAC0, 0x5C8D }, + { 0xCAC1, 0x5C8F }, + { 0xCAC2, 0x5C88 }, + { 0xCAC3, 0x5C8B }, + { 0xCAC4, 0x5C89 }, + { 0xCAC5, 0x5C92 }, + { 0xCAC6, 0x5C8A }, + { 0xCAC7, 0x5C86 }, + { 0xCAC8, 0x5C93 }, + { 0xCAC9, 0x5C95 }, + { 0xCACA, 0x5DE0 }, + { 0xCACB, 0x5E0A }, + { 0xCACC, 0x5E0E }, + { 0xCACD, 0x5E8B }, + { 0xCACE, 0x5E89 }, + { 0xCACF, 0x5E8C }, + { 0xCAD0, 0x5E88 }, + { 0xCAD1, 0x5E8D }, + { 0xCAD2, 0x5F05 }, + { 0xCAD3, 0x5F1D }, + { 0xCAD4, 0x5F78 }, + { 0xCAD5, 0x5F76 }, + { 0xCAD6, 0x5FD2 }, + { 0xCAD7, 0x5FD1 }, + { 0xCAD8, 0x5FD0 }, + { 0xCAD9, 0x5FED }, + { 0xCADA, 0x5FE8 }, + { 0xCADB, 0x5FEE }, + { 0xCADC, 0x5FF3 }, + { 0xCADD, 0x5FE1 }, + { 0xCADE, 0x5FE4 }, + { 0xCADF, 0x5FE3 }, + { 0xCAE0, 0x5FFA }, + { 0xCAE1, 0x5FEF }, + { 0xCAE2, 0x5FF7 }, + { 0xCAE3, 0x5FFB }, + { 0xCAE4, 0x6000 }, + { 0xCAE5, 0x5FF4 }, + { 0xCAE6, 0x623A }, + { 0xCAE7, 0x6283 }, + { 0xCAE8, 0x628C }, + { 0xCAE9, 0x628E }, + { 0xCAEA, 0x628F }, + { 0xCAEB, 0x6294 }, + { 0xCAEC, 0x6287 }, + { 0xCAED, 0x6271 }, + { 0xCAEE, 0x627B }, + { 0xCAEF, 0x627A }, + { 0xCAF0, 0x6270 }, + { 0xCAF1, 0x6281 }, + { 0xCAF2, 0x6288 }, + { 0xCAF3, 0x6277 }, + { 0xCAF4, 0x627D }, + { 0xCAF5, 0x6272 }, + { 0xCAF6, 0x6274 }, + { 0xCAF7, 0x6537 }, + { 0xCAF8, 0x65F0 }, + { 0xCAF9, 0x65F4 }, + { 0xCAFA, 0x65F3 }, + { 0xCAFB, 0x65F2 }, + { 0xCAFC, 0x65F5 }, + { 0xCAFD, 0x6745 }, + { 0xCAFE, 0x6747 }, + { 0xCB40, 0x6759 }, + { 0xCB41, 0x6755 }, + { 0xCB42, 0x674C }, + { 0xCB43, 0x6748 }, + { 0xCB44, 0x675D }, + { 0xCB45, 0x674D }, + { 0xCB46, 0x675A }, + { 0xCB47, 0x674B }, + { 0xCB48, 0x6BD0 }, + { 0xCB49, 0x6C19 }, + { 0xCB4A, 0x6C1A }, + { 0xCB4B, 0x6C78 }, + { 0xCB4C, 0x6C67 }, + { 0xCB4D, 0x6C6B }, + { 0xCB4E, 0x6C84 }, + { 0xCB4F, 0x6C8B }, + { 0xCB50, 0x6C8F }, + { 0xCB51, 0x6C71 }, + { 0xCB52, 0x6C6F }, + { 0xCB53, 0x6C69 }, + { 0xCB54, 0x6C9A }, + { 0xCB55, 0x6C6D }, + { 0xCB56, 0x6C87 }, + { 0xCB57, 0x6C95 }, + { 0xCB58, 0x6C9C }, + { 0xCB59, 0x6C66 }, + { 0xCB5A, 0x6C73 }, + { 0xCB5B, 0x6C65 }, + { 0xCB5C, 0x6C7B }, + { 0xCB5D, 0x6C8E }, + { 0xCB5E, 0x7074 }, + { 0xCB5F, 0x707A }, + { 0xCB60, 0x7263 }, + { 0xCB61, 0x72BF }, + { 0xCB62, 0x72BD }, + { 0xCB63, 0x72C3 }, + { 0xCB64, 0x72C6 }, + { 0xCB65, 0x72C1 }, + { 0xCB66, 0x72BA }, + { 0xCB67, 0x72C5 }, + { 0xCB68, 0x7395 }, + { 0xCB69, 0x7397 }, + { 0xCB6A, 0x7393 }, + { 0xCB6B, 0x7394 }, + { 0xCB6C, 0x7392 }, + { 0xCB6D, 0x753A }, + { 0xCB6E, 0x7539 }, + { 0xCB6F, 0x7594 }, + { 0xCB70, 0x7595 }, + { 0xCB71, 0x7681 }, + { 0xCB72, 0x793D }, + { 0xCB73, 0x8034 }, + { 0xCB74, 0x8095 }, + { 0xCB75, 0x8099 }, + { 0xCB76, 0x8090 }, + { 0xCB77, 0x8092 }, + { 0xCB78, 0x809C }, + { 0xCB79, 0x8290 }, + { 0xCB7A, 0x828F }, + { 0xCB7B, 0x8285 }, + { 0xCB7C, 0x828E }, + { 0xCB7D, 0x8291 }, + { 0xCB7E, 0x8293 }, + { 0xCBA1, 0x828A }, + { 0xCBA2, 0x8283 }, + { 0xCBA3, 0x8284 }, + { 0xCBA4, 0x8C78 }, + { 0xCBA5, 0x8FC9 }, + { 0xCBA6, 0x8FBF }, + { 0xCBA7, 0x909F }, + { 0xCBA8, 0x90A1 }, + { 0xCBA9, 0x90A5 }, + { 0xCBAA, 0x909E }, + { 0xCBAB, 0x90A7 }, + { 0xCBAC, 0x90A0 }, + { 0xCBAD, 0x9630 }, + { 0xCBAE, 0x9628 }, + { 0xCBAF, 0x962F }, + { 0xCBB0, 0x962D }, + { 0xCBB1, 0x4E33 }, + { 0xCBB2, 0x4F98 }, + { 0xCBB3, 0x4F7C }, + { 0xCBB4, 0x4F85 }, + { 0xCBB5, 0x4F7D }, + { 0xCBB6, 0x4F80 }, + { 0xCBB7, 0x4F87 }, + { 0xCBB8, 0x4F76 }, + { 0xCBB9, 0x4F74 }, + { 0xCBBA, 0x4F89 }, + { 0xCBBB, 0x4F84 }, + { 0xCBBC, 0x4F77 }, + { 0xCBBD, 0x4F4C }, + { 0xCBBE, 0x4F97 }, + { 0xCBBF, 0x4F6A }, + { 0xCBC0, 0x4F9A }, + { 0xCBC1, 0x4F79 }, + { 0xCBC2, 0x4F81 }, + { 0xCBC3, 0x4F78 }, + { 0xCBC4, 0x4F90 }, + { 0xCBC5, 0x4F9C }, + { 0xCBC6, 0x4F94 }, + { 0xCBC7, 0x4F9E }, + { 0xCBC8, 0x4F92 }, + { 0xCBC9, 0x4F82 }, + { 0xCBCA, 0x4F95 }, + { 0xCBCB, 0x4F6B }, + { 0xCBCC, 0x4F6E }, + { 0xCBCD, 0x519E }, + { 0xCBCE, 0x51BC }, + { 0xCBCF, 0x51BE }, + { 0xCBD0, 0x5235 }, + { 0xCBD1, 0x5232 }, + { 0xCBD2, 0x5233 }, + { 0xCBD3, 0x5246 }, + { 0xCBD4, 0x5231 }, + { 0xCBD5, 0x52BC }, + { 0xCBD6, 0x530A }, + { 0xCBD7, 0x530B }, + { 0xCBD8, 0x533C }, + { 0xCBD9, 0x5392 }, + { 0xCBDA, 0x5394 }, + { 0xCBDB, 0x5487 }, + { 0xCBDC, 0x547F }, + { 0xCBDD, 0x5481 }, + { 0xCBDE, 0x5491 }, + { 0xCBDF, 0x5482 }, + { 0xCBE0, 0x5488 }, + { 0xCBE1, 0x546B }, + { 0xCBE2, 0x547A }, + { 0xCBE3, 0x547E }, + { 0xCBE4, 0x5465 }, + { 0xCBE5, 0x546C }, + { 0xCBE6, 0x5474 }, + { 0xCBE7, 0x5466 }, + { 0xCBE8, 0x548D }, + { 0xCBE9, 0x546F }, + { 0xCBEA, 0x5461 }, + { 0xCBEB, 0x5460 }, + { 0xCBEC, 0x5498 }, + { 0xCBED, 0x5463 }, + { 0xCBEE, 0x5467 }, + { 0xCBEF, 0x5464 }, + { 0xCBF0, 0x56F7 }, + { 0xCBF1, 0x56F9 }, + { 0xCBF2, 0x576F }, + { 0xCBF3, 0x5772 }, + { 0xCBF4, 0x576D }, + { 0xCBF5, 0x576B }, + { 0xCBF6, 0x5771 }, + { 0xCBF7, 0x5770 }, + { 0xCBF8, 0x5776 }, + { 0xCBF9, 0x5780 }, + { 0xCBFA, 0x5775 }, + { 0xCBFB, 0x577B }, + { 0xCBFC, 0x5773 }, + { 0xCBFD, 0x5774 }, + { 0xCBFE, 0x5762 }, + { 0xCC40, 0x5768 }, + { 0xCC41, 0x577D }, + { 0xCC42, 0x590C }, + { 0xCC43, 0x5945 }, + { 0xCC44, 0x59B5 }, + { 0xCC45, 0x59BA }, + { 0xCC46, 0x59CF }, + { 0xCC47, 0x59CE }, + { 0xCC48, 0x59B2 }, + { 0xCC49, 0x59CC }, + { 0xCC4A, 0x59C1 }, + { 0xCC4B, 0x59B6 }, + { 0xCC4C, 0x59BC }, + { 0xCC4D, 0x59C3 }, + { 0xCC4E, 0x59D6 }, + { 0xCC4F, 0x59B1 }, + { 0xCC50, 0x59BD }, + { 0xCC51, 0x59C0 }, + { 0xCC52, 0x59C8 }, + { 0xCC53, 0x59B4 }, + { 0xCC54, 0x59C7 }, + { 0xCC55, 0x5B62 }, + { 0xCC56, 0x5B65 }, + { 0xCC57, 0x5B93 }, + { 0xCC58, 0x5B95 }, + { 0xCC59, 0x5C44 }, + { 0xCC5A, 0x5C47 }, + { 0xCC5B, 0x5CAE }, + { 0xCC5C, 0x5CA4 }, + { 0xCC5D, 0x5CA0 }, + { 0xCC5E, 0x5CB5 }, + { 0xCC5F, 0x5CAF }, + { 0xCC60, 0x5CA8 }, + { 0xCC61, 0x5CAC }, + { 0xCC62, 0x5C9F }, + { 0xCC63, 0x5CA3 }, + { 0xCC64, 0x5CAD }, + { 0xCC65, 0x5CA2 }, + { 0xCC66, 0x5CAA }, + { 0xCC67, 0x5CA7 }, + { 0xCC68, 0x5C9D }, + { 0xCC69, 0x5CA5 }, + { 0xCC6A, 0x5CB6 }, + { 0xCC6B, 0x5CB0 }, + { 0xCC6C, 0x5CA6 }, + { 0xCC6D, 0x5E17 }, + { 0xCC6E, 0x5E14 }, + { 0xCC6F, 0x5E19 }, + { 0xCC70, 0x5F28 }, + { 0xCC71, 0x5F22 }, + { 0xCC72, 0x5F23 }, + { 0xCC73, 0x5F24 }, + { 0xCC74, 0x5F54 }, + { 0xCC75, 0x5F82 }, + { 0xCC76, 0x5F7E }, + { 0xCC77, 0x5F7D }, + { 0xCC78, 0x5FDE }, + { 0xCC79, 0x5FE5 }, + { 0xCC7A, 0x602D }, + { 0xCC7B, 0x6026 }, + { 0xCC7C, 0x6019 }, + { 0xCC7D, 0x6032 }, + { 0xCC7E, 0x600B }, + { 0xCCA1, 0x6034 }, + { 0xCCA2, 0x600A }, + { 0xCCA3, 0x6017 }, + { 0xCCA4, 0x6033 }, + { 0xCCA5, 0x601A }, + { 0xCCA6, 0x601E }, + { 0xCCA7, 0x602C }, + { 0xCCA8, 0x6022 }, + { 0xCCA9, 0x600D }, + { 0xCCAA, 0x6010 }, + { 0xCCAB, 0x602E }, + { 0xCCAC, 0x6013 }, + { 0xCCAD, 0x6011 }, + { 0xCCAE, 0x600C }, + { 0xCCAF, 0x6009 }, + { 0xCCB0, 0x601C }, + { 0xCCB1, 0x6214 }, + { 0xCCB2, 0x623D }, + { 0xCCB3, 0x62AD }, + { 0xCCB4, 0x62B4 }, + { 0xCCB5, 0x62D1 }, + { 0xCCB6, 0x62BE }, + { 0xCCB7, 0x62AA }, + { 0xCCB8, 0x62B6 }, + { 0xCCB9, 0x62CA }, + { 0xCCBA, 0x62AE }, + { 0xCCBB, 0x62B3 }, + { 0xCCBC, 0x62AF }, + { 0xCCBD, 0x62BB }, + { 0xCCBE, 0x62A9 }, + { 0xCCBF, 0x62B0 }, + { 0xCCC0, 0x62B8 }, + { 0xCCC1, 0x653D }, + { 0xCCC2, 0x65A8 }, + { 0xCCC3, 0x65BB }, + { 0xCCC4, 0x6609 }, + { 0xCCC5, 0x65FC }, + { 0xCCC6, 0x6604 }, + { 0xCCC7, 0x6612 }, + { 0xCCC8, 0x6608 }, + { 0xCCC9, 0x65FB }, + { 0xCCCA, 0x6603 }, + { 0xCCCB, 0x660B }, + { 0xCCCC, 0x660D }, + { 0xCCCD, 0x6605 }, + { 0xCCCE, 0x65FD }, + { 0xCCCF, 0x6611 }, + { 0xCCD0, 0x6610 }, + { 0xCCD1, 0x66F6 }, + { 0xCCD2, 0x670A }, + { 0xCCD3, 0x6785 }, + { 0xCCD4, 0x676C }, + { 0xCCD5, 0x678E }, + { 0xCCD6, 0x6792 }, + { 0xCCD7, 0x6776 }, + { 0xCCD8, 0x677B }, + { 0xCCD9, 0x6798 }, + { 0xCCDA, 0x6786 }, + { 0xCCDB, 0x6784 }, + { 0xCCDC, 0x6774 }, + { 0xCCDD, 0x678D }, + { 0xCCDE, 0x678C }, + { 0xCCDF, 0x677A }, + { 0xCCE0, 0x679F }, + { 0xCCE1, 0x6791 }, + { 0xCCE2, 0x6799 }, + { 0xCCE3, 0x6783 }, + { 0xCCE4, 0x677D }, + { 0xCCE5, 0x6781 }, + { 0xCCE6, 0x6778 }, + { 0xCCE7, 0x6779 }, + { 0xCCE8, 0x6794 }, + { 0xCCE9, 0x6B25 }, + { 0xCCEA, 0x6B80 }, + { 0xCCEB, 0x6B7E }, + { 0xCCEC, 0x6BDE }, + { 0xCCED, 0x6C1D }, + { 0xCCEE, 0x6C93 }, + { 0xCCEF, 0x6CEC }, + { 0xCCF0, 0x6CEB }, + { 0xCCF1, 0x6CEE }, + { 0xCCF2, 0x6CD9 }, + { 0xCCF3, 0x6CB6 }, + { 0xCCF4, 0x6CD4 }, + { 0xCCF5, 0x6CAD }, + { 0xCCF6, 0x6CE7 }, + { 0xCCF7, 0x6CB7 }, + { 0xCCF8, 0x6CD0 }, + { 0xCCF9, 0x6CC2 }, + { 0xCCFA, 0x6CBA }, + { 0xCCFB, 0x6CC3 }, + { 0xCCFC, 0x6CC6 }, + { 0xCCFD, 0x6CED }, + { 0xCCFE, 0x6CF2 }, + { 0xCD40, 0x6CD2 }, + { 0xCD41, 0x6CDD }, + { 0xCD42, 0x6CB4 }, + { 0xCD43, 0x6C8A }, + { 0xCD44, 0x6C9D }, + { 0xCD45, 0x6C80 }, + { 0xCD46, 0x6CDE }, + { 0xCD47, 0x6CC0 }, + { 0xCD48, 0x6D30 }, + { 0xCD49, 0x6CCD }, + { 0xCD4A, 0x6CC7 }, + { 0xCD4B, 0x6CB0 }, + { 0xCD4C, 0x6CF9 }, + { 0xCD4D, 0x6CCF }, + { 0xCD4E, 0x6CE9 }, + { 0xCD4F, 0x6CD1 }, + { 0xCD50, 0x7094 }, + { 0xCD51, 0x7098 }, + { 0xCD52, 0x7085 }, + { 0xCD53, 0x7093 }, + { 0xCD54, 0x7086 }, + { 0xCD55, 0x7084 }, + { 0xCD56, 0x7091 }, + { 0xCD57, 0x7096 }, + { 0xCD58, 0x7082 }, + { 0xCD59, 0x709A }, + { 0xCD5A, 0x7083 }, + { 0xCD5B, 0x726A }, + { 0xCD5C, 0x72D6 }, + { 0xCD5D, 0x72CB }, + { 0xCD5E, 0x72D8 }, + { 0xCD5F, 0x72C9 }, + { 0xCD60, 0x72DC }, + { 0xCD61, 0x72D2 }, + { 0xCD62, 0x72D4 }, + { 0xCD63, 0x72DA }, + { 0xCD64, 0x72CC }, + { 0xCD65, 0x72D1 }, + { 0xCD66, 0x73A4 }, + { 0xCD67, 0x73A1 }, + { 0xCD68, 0x73AD }, + { 0xCD69, 0x73A6 }, + { 0xCD6A, 0x73A2 }, + { 0xCD6B, 0x73A0 }, + { 0xCD6C, 0x73AC }, + { 0xCD6D, 0x739D }, + { 0xCD6E, 0x74DD }, + { 0xCD6F, 0x74E8 }, + { 0xCD70, 0x753F }, + { 0xCD71, 0x7540 }, + { 0xCD72, 0x753E }, + { 0xCD73, 0x758C }, + { 0xCD74, 0x7598 }, + { 0xCD75, 0x76AF }, + { 0xCD76, 0x76F3 }, + { 0xCD77, 0x76F1 }, + { 0xCD78, 0x76F0 }, + { 0xCD79, 0x76F5 }, + { 0xCD7A, 0x77F8 }, + { 0xCD7B, 0x77FC }, + { 0xCD7C, 0x77F9 }, + { 0xCD7D, 0x77FB }, + { 0xCD7E, 0x77FA }, + { 0xCDA1, 0x77F7 }, + { 0xCDA2, 0x7942 }, + { 0xCDA3, 0x793F }, + { 0xCDA4, 0x79C5 }, + { 0xCDA5, 0x7A78 }, + { 0xCDA6, 0x7A7B }, + { 0xCDA7, 0x7AFB }, + { 0xCDA8, 0x7C75 }, + { 0xCDA9, 0x7CFD }, + { 0xCDAA, 0x8035 }, + { 0xCDAB, 0x808F }, + { 0xCDAC, 0x80AE }, + { 0xCDAD, 0x80A3 }, + { 0xCDAE, 0x80B8 }, + { 0xCDAF, 0x80B5 }, + { 0xCDB0, 0x80AD }, + { 0xCDB1, 0x8220 }, + { 0xCDB2, 0x82A0 }, + { 0xCDB3, 0x82C0 }, + { 0xCDB4, 0x82AB }, + { 0xCDB5, 0x829A }, + { 0xCDB6, 0x8298 }, + { 0xCDB7, 0x829B }, + { 0xCDB8, 0x82B5 }, + { 0xCDB9, 0x82A7 }, + { 0xCDBA, 0x82AE }, + { 0xCDBB, 0x82BC }, + { 0xCDBC, 0x829E }, + { 0xCDBD, 0x82BA }, + { 0xCDBE, 0x82B4 }, + { 0xCDBF, 0x82A8 }, + { 0xCDC0, 0x82A1 }, + { 0xCDC1, 0x82A9 }, + { 0xCDC2, 0x82C2 }, + { 0xCDC3, 0x82A4 }, + { 0xCDC4, 0x82C3 }, + { 0xCDC5, 0x82B6 }, + { 0xCDC6, 0x82A2 }, + { 0xCDC7, 0x8670 }, + { 0xCDC8, 0x866F }, + { 0xCDC9, 0x866D }, + { 0xCDCA, 0x866E }, + { 0xCDCB, 0x8C56 }, + { 0xCDCC, 0x8FD2 }, + { 0xCDCD, 0x8FCB }, + { 0xCDCE, 0x8FD3 }, + { 0xCDCF, 0x8FCD }, + { 0xCDD0, 0x8FD6 }, + { 0xCDD1, 0x8FD5 }, + { 0xCDD2, 0x8FD7 }, + { 0xCDD3, 0x90B2 }, + { 0xCDD4, 0x90B4 }, + { 0xCDD5, 0x90AF }, + { 0xCDD6, 0x90B3 }, + { 0xCDD7, 0x90B0 }, + { 0xCDD8, 0x9639 }, + { 0xCDD9, 0x963D }, + { 0xCDDA, 0x963C }, + { 0xCDDB, 0x963A }, + { 0xCDDC, 0x9643 }, + { 0xCDDD, 0x4FCD }, + { 0xCDDE, 0x4FC5 }, + { 0xCDDF, 0x4FD3 }, + { 0xCDE0, 0x4FB2 }, + { 0xCDE1, 0x4FC9 }, + { 0xCDE2, 0x4FCB }, + { 0xCDE3, 0x4FC1 }, + { 0xCDE4, 0x4FD4 }, + { 0xCDE5, 0x4FDC }, + { 0xCDE6, 0x4FD9 }, + { 0xCDE7, 0x4FBB }, + { 0xCDE8, 0x4FB3 }, + { 0xCDE9, 0x4FDB }, + { 0xCDEA, 0x4FC7 }, + { 0xCDEB, 0x4FD6 }, + { 0xCDEC, 0x4FBA }, + { 0xCDED, 0x4FC0 }, + { 0xCDEE, 0x4FB9 }, + { 0xCDEF, 0x4FEC }, + { 0xCDF0, 0x5244 }, + { 0xCDF1, 0x5249 }, + { 0xCDF2, 0x52C0 }, + { 0xCDF3, 0x52C2 }, + { 0xCDF4, 0x533D }, + { 0xCDF5, 0x537C }, + { 0xCDF6, 0x5397 }, + { 0xCDF7, 0x5396 }, + { 0xCDF8, 0x5399 }, + { 0xCDF9, 0x5398 }, + { 0xCDFA, 0x54BA }, + { 0xCDFB, 0x54A1 }, + { 0xCDFC, 0x54AD }, + { 0xCDFD, 0x54A5 }, + { 0xCDFE, 0x54CF }, + { 0xCE40, 0x54C3 }, + { 0xCE41, 0x830D }, + { 0xCE42, 0x54B7 }, + { 0xCE43, 0x54AE }, + { 0xCE44, 0x54D6 }, + { 0xCE45, 0x54B6 }, + { 0xCE46, 0x54C5 }, + { 0xCE47, 0x54C6 }, + { 0xCE48, 0x54A0 }, + { 0xCE49, 0x5470 }, + { 0xCE4A, 0x54BC }, + { 0xCE4B, 0x54A2 }, + { 0xCE4C, 0x54BE }, + { 0xCE4D, 0x5472 }, + { 0xCE4E, 0x54DE }, + { 0xCE4F, 0x54B0 }, + { 0xCE50, 0x57B5 }, + { 0xCE51, 0x579E }, + { 0xCE52, 0x579F }, + { 0xCE53, 0x57A4 }, + { 0xCE54, 0x578C }, + { 0xCE55, 0x5797 }, + { 0xCE56, 0x579D }, + { 0xCE57, 0x579B }, + { 0xCE58, 0x5794 }, + { 0xCE59, 0x5798 }, + { 0xCE5A, 0x578F }, + { 0xCE5B, 0x5799 }, + { 0xCE5C, 0x57A5 }, + { 0xCE5D, 0x579A }, + { 0xCE5E, 0x5795 }, + { 0xCE5F, 0x58F4 }, + { 0xCE60, 0x590D }, + { 0xCE61, 0x5953 }, + { 0xCE62, 0x59E1 }, + { 0xCE63, 0x59DE }, + { 0xCE64, 0x59EE }, + { 0xCE65, 0x5A00 }, + { 0xCE66, 0x59F1 }, + { 0xCE67, 0x59DD }, + { 0xCE68, 0x59FA }, + { 0xCE69, 0x59FD }, + { 0xCE6A, 0x59FC }, + { 0xCE6B, 0x59F6 }, + { 0xCE6C, 0x59E4 }, + { 0xCE6D, 0x59F2 }, + { 0xCE6E, 0x59F7 }, + { 0xCE6F, 0x59DB }, + { 0xCE70, 0x59E9 }, + { 0xCE71, 0x59F3 }, + { 0xCE72, 0x59F5 }, + { 0xCE73, 0x59E0 }, + { 0xCE74, 0x59FE }, + { 0xCE75, 0x59F4 }, + { 0xCE76, 0x59ED }, + { 0xCE77, 0x5BA8 }, + { 0xCE78, 0x5C4C }, + { 0xCE79, 0x5CD0 }, + { 0xCE7A, 0x5CD8 }, + { 0xCE7B, 0x5CCC }, + { 0xCE7C, 0x5CD7 }, + { 0xCE7D, 0x5CCB }, + { 0xCE7E, 0x5CDB }, + { 0xCEA1, 0x5CDE }, + { 0xCEA2, 0x5CDA }, + { 0xCEA3, 0x5CC9 }, + { 0xCEA4, 0x5CC7 }, + { 0xCEA5, 0x5CCA }, + { 0xCEA6, 0x5CD6 }, + { 0xCEA7, 0x5CD3 }, + { 0xCEA8, 0x5CD4 }, + { 0xCEA9, 0x5CCF }, + { 0xCEAA, 0x5CC8 }, + { 0xCEAB, 0x5CC6 }, + { 0xCEAC, 0x5CCE }, + { 0xCEAD, 0x5CDF }, + { 0xCEAE, 0x5CF8 }, + { 0xCEAF, 0x5DF9 }, + { 0xCEB0, 0x5E21 }, + { 0xCEB1, 0x5E22 }, + { 0xCEB2, 0x5E23 }, + { 0xCEB3, 0x5E20 }, + { 0xCEB4, 0x5E24 }, + { 0xCEB5, 0x5EB0 }, + { 0xCEB6, 0x5EA4 }, + { 0xCEB7, 0x5EA2 }, + { 0xCEB8, 0x5E9B }, + { 0xCEB9, 0x5EA3 }, + { 0xCEBA, 0x5EA5 }, + { 0xCEBB, 0x5F07 }, + { 0xCEBC, 0x5F2E }, + { 0xCEBD, 0x5F56 }, + { 0xCEBE, 0x5F86 }, + { 0xCEBF, 0x6037 }, + { 0xCEC0, 0x6039 }, + { 0xCEC1, 0x6054 }, + { 0xCEC2, 0x6072 }, + { 0xCEC3, 0x605E }, + { 0xCEC4, 0x6045 }, + { 0xCEC5, 0x6053 }, + { 0xCEC6, 0x6047 }, + { 0xCEC7, 0x6049 }, + { 0xCEC8, 0x605B }, + { 0xCEC9, 0x604C }, + { 0xCECA, 0x6040 }, + { 0xCECB, 0x6042 }, + { 0xCECC, 0x605F }, + { 0xCECD, 0x6024 }, + { 0xCECE, 0x6044 }, + { 0xCECF, 0x6058 }, + { 0xCED0, 0x6066 }, + { 0xCED1, 0x606E }, + { 0xCED2, 0x6242 }, + { 0xCED3, 0x6243 }, + { 0xCED4, 0x62CF }, + { 0xCED5, 0x630D }, + { 0xCED6, 0x630B }, + { 0xCED7, 0x62F5 }, + { 0xCED8, 0x630E }, + { 0xCED9, 0x6303 }, + { 0xCEDA, 0x62EB }, + { 0xCEDB, 0x62F9 }, + { 0xCEDC, 0x630F }, + { 0xCEDD, 0x630C }, + { 0xCEDE, 0x62F8 }, + { 0xCEDF, 0x62F6 }, + { 0xCEE0, 0x6300 }, + { 0xCEE1, 0x6313 }, + { 0xCEE2, 0x6314 }, + { 0xCEE3, 0x62FA }, + { 0xCEE4, 0x6315 }, + { 0xCEE5, 0x62FB }, + { 0xCEE6, 0x62F0 }, + { 0xCEE7, 0x6541 }, + { 0xCEE8, 0x6543 }, + { 0xCEE9, 0x65AA }, + { 0xCEEA, 0x65BF }, + { 0xCEEB, 0x6636 }, + { 0xCEEC, 0x6621 }, + { 0xCEED, 0x6632 }, + { 0xCEEE, 0x6635 }, + { 0xCEEF, 0x661C }, + { 0xCEF0, 0x6626 }, + { 0xCEF1, 0x6622 }, + { 0xCEF2, 0x6633 }, + { 0xCEF3, 0x662B }, + { 0xCEF4, 0x663A }, + { 0xCEF5, 0x661D }, + { 0xCEF6, 0x6634 }, + { 0xCEF7, 0x6639 }, + { 0xCEF8, 0x662E }, + { 0xCEF9, 0x670F }, + { 0xCEFA, 0x6710 }, + { 0xCEFB, 0x67C1 }, + { 0xCEFC, 0x67F2 }, + { 0xCEFD, 0x67C8 }, + { 0xCEFE, 0x67BA }, + { 0xCF40, 0x67DC }, + { 0xCF41, 0x67BB }, + { 0xCF42, 0x67F8 }, + { 0xCF43, 0x67D8 }, + { 0xCF44, 0x67C0 }, + { 0xCF45, 0x67B7 }, + { 0xCF46, 0x67C5 }, + { 0xCF47, 0x67EB }, + { 0xCF48, 0x67E4 }, + { 0xCF49, 0x67DF }, + { 0xCF4A, 0x67B5 }, + { 0xCF4B, 0x67CD }, + { 0xCF4C, 0x67B3 }, + { 0xCF4D, 0x67F7 }, + { 0xCF4E, 0x67F6 }, + { 0xCF4F, 0x67EE }, + { 0xCF50, 0x67E3 }, + { 0xCF51, 0x67C2 }, + { 0xCF52, 0x67B9 }, + { 0xCF53, 0x67CE }, + { 0xCF54, 0x67E7 }, + { 0xCF55, 0x67F0 }, + { 0xCF56, 0x67B2 }, + { 0xCF57, 0x67FC }, + { 0xCF58, 0x67C6 }, + { 0xCF59, 0x67ED }, + { 0xCF5A, 0x67CC }, + { 0xCF5B, 0x67AE }, + { 0xCF5C, 0x67E6 }, + { 0xCF5D, 0x67DB }, + { 0xCF5E, 0x67FA }, + { 0xCF5F, 0x67C9 }, + { 0xCF60, 0x67CA }, + { 0xCF61, 0x67C3 }, + { 0xCF62, 0x67EA }, + { 0xCF63, 0x67CB }, + { 0xCF64, 0x6B28 }, + { 0xCF65, 0x6B82 }, + { 0xCF66, 0x6B84 }, + { 0xCF67, 0x6BB6 }, + { 0xCF68, 0x6BD6 }, + { 0xCF69, 0x6BD8 }, + { 0xCF6A, 0x6BE0 }, + { 0xCF6B, 0x6C20 }, + { 0xCF6C, 0x6C21 }, + { 0xCF6D, 0x6D28 }, + { 0xCF6E, 0x6D34 }, + { 0xCF6F, 0x6D2D }, + { 0xCF70, 0x6D1F }, + { 0xCF71, 0x6D3C }, + { 0xCF72, 0x6D3F }, + { 0xCF73, 0x6D12 }, + { 0xCF74, 0x6D0A }, + { 0xCF75, 0x6CDA }, + { 0xCF76, 0x6D33 }, + { 0xCF77, 0x6D04 }, + { 0xCF78, 0x6D19 }, + { 0xCF79, 0x6D3A }, + { 0xCF7A, 0x6D1A }, + { 0xCF7B, 0x6D11 }, + { 0xCF7C, 0x6D00 }, + { 0xCF7D, 0x6D1D }, + { 0xCF7E, 0x6D42 }, + { 0xCFA1, 0x6D01 }, + { 0xCFA2, 0x6D18 }, + { 0xCFA3, 0x6D37 }, + { 0xCFA4, 0x6D03 }, + { 0xCFA5, 0x6D0F }, + { 0xCFA6, 0x6D40 }, + { 0xCFA7, 0x6D07 }, + { 0xCFA8, 0x6D20 }, + { 0xCFA9, 0x6D2C }, + { 0xCFAA, 0x6D08 }, + { 0xCFAB, 0x6D22 }, + { 0xCFAC, 0x6D09 }, + { 0xCFAD, 0x6D10 }, + { 0xCFAE, 0x70B7 }, + { 0xCFAF, 0x709F }, + { 0xCFB0, 0x70BE }, + { 0xCFB1, 0x70B1 }, + { 0xCFB2, 0x70B0 }, + { 0xCFB3, 0x70A1 }, + { 0xCFB4, 0x70B4 }, + { 0xCFB5, 0x70B5 }, + { 0xCFB6, 0x70A9 }, + { 0xCFB7, 0x7241 }, + { 0xCFB8, 0x7249 }, + { 0xCFB9, 0x724A }, + { 0xCFBA, 0x726C }, + { 0xCFBB, 0x7270 }, + { 0xCFBC, 0x7273 }, + { 0xCFBD, 0x726E }, + { 0xCFBE, 0x72CA }, + { 0xCFBF, 0x72E4 }, + { 0xCFC0, 0x72E8 }, + { 0xCFC1, 0x72EB }, + { 0xCFC2, 0x72DF }, + { 0xCFC3, 0x72EA }, + { 0xCFC4, 0x72E6 }, + { 0xCFC5, 0x72E3 }, + { 0xCFC6, 0x7385 }, + { 0xCFC7, 0x73CC }, + { 0xCFC8, 0x73C2 }, + { 0xCFC9, 0x73C8 }, + { 0xCFCA, 0x73C5 }, + { 0xCFCB, 0x73B9 }, + { 0xCFCC, 0x73B6 }, + { 0xCFCD, 0x73B5 }, + { 0xCFCE, 0x73B4 }, + { 0xCFCF, 0x73EB }, + { 0xCFD0, 0x73BF }, + { 0xCFD1, 0x73C7 }, + { 0xCFD2, 0x73BE }, + { 0xCFD3, 0x73C3 }, + { 0xCFD4, 0x73C6 }, + { 0xCFD5, 0x73B8 }, + { 0xCFD6, 0x73CB }, + { 0xCFD7, 0x74EC }, + { 0xCFD8, 0x74EE }, + { 0xCFD9, 0x752E }, + { 0xCFDA, 0x7547 }, + { 0xCFDB, 0x7548 }, + { 0xCFDC, 0x75A7 }, + { 0xCFDD, 0x75AA }, + { 0xCFDE, 0x7679 }, + { 0xCFDF, 0x76C4 }, + { 0xCFE0, 0x7708 }, + { 0xCFE1, 0x7703 }, + { 0xCFE2, 0x7704 }, + { 0xCFE3, 0x7705 }, + { 0xCFE4, 0x770A }, + { 0xCFE5, 0x76F7 }, + { 0xCFE6, 0x76FB }, + { 0xCFE7, 0x76FA }, + { 0xCFE8, 0x77E7 }, + { 0xCFE9, 0x77E8 }, + { 0xCFEA, 0x7806 }, + { 0xCFEB, 0x7811 }, + { 0xCFEC, 0x7812 }, + { 0xCFED, 0x7805 }, + { 0xCFEE, 0x7810 }, + { 0xCFEF, 0x780F }, + { 0xCFF0, 0x780E }, + { 0xCFF1, 0x7809 }, + { 0xCFF2, 0x7803 }, + { 0xCFF3, 0x7813 }, + { 0xCFF4, 0x794A }, + { 0xCFF5, 0x794C }, + { 0xCFF6, 0x794B }, + { 0xCFF7, 0x7945 }, + { 0xCFF8, 0x7944 }, + { 0xCFF9, 0x79D5 }, + { 0xCFFA, 0x79CD }, + { 0xCFFB, 0x79CF }, + { 0xCFFC, 0x79D6 }, + { 0xCFFD, 0x79CE }, + { 0xCFFE, 0x7A80 }, + { 0xD040, 0x7A7E }, + { 0xD041, 0x7AD1 }, + { 0xD042, 0x7B00 }, + { 0xD043, 0x7B01 }, + { 0xD044, 0x7C7A }, + { 0xD045, 0x7C78 }, + { 0xD046, 0x7C79 }, + { 0xD047, 0x7C7F }, + { 0xD048, 0x7C80 }, + { 0xD049, 0x7C81 }, + { 0xD04A, 0x7D03 }, + { 0xD04B, 0x7D08 }, + { 0xD04C, 0x7D01 }, + { 0xD04D, 0x7F58 }, + { 0xD04E, 0x7F91 }, + { 0xD04F, 0x7F8D }, + { 0xD050, 0x7FBE }, + { 0xD051, 0x8007 }, + { 0xD052, 0x800E }, + { 0xD053, 0x800F }, + { 0xD054, 0x8014 }, + { 0xD055, 0x8037 }, + { 0xD056, 0x80D8 }, + { 0xD057, 0x80C7 }, + { 0xD058, 0x80E0 }, + { 0xD059, 0x80D1 }, + { 0xD05A, 0x80C8 }, + { 0xD05B, 0x80C2 }, + { 0xD05C, 0x80D0 }, + { 0xD05D, 0x80C5 }, + { 0xD05E, 0x80E3 }, + { 0xD05F, 0x80D9 }, + { 0xD060, 0x80DC }, + { 0xD061, 0x80CA }, + { 0xD062, 0x80D5 }, + { 0xD063, 0x80C9 }, + { 0xD064, 0x80CF }, + { 0xD065, 0x80D7 }, + { 0xD066, 0x80E6 }, + { 0xD067, 0x80CD }, + { 0xD068, 0x81FF }, + { 0xD069, 0x8221 }, + { 0xD06A, 0x8294 }, + { 0xD06B, 0x82D9 }, + { 0xD06C, 0x82FE }, + { 0xD06D, 0x82F9 }, + { 0xD06E, 0x8307 }, + { 0xD06F, 0x82E8 }, + { 0xD070, 0x8300 }, + { 0xD071, 0x82D5 }, + { 0xD072, 0x833A }, + { 0xD073, 0x82EB }, + { 0xD074, 0x82D6 }, + { 0xD075, 0x82F4 }, + { 0xD076, 0x82EC }, + { 0xD077, 0x82E1 }, + { 0xD078, 0x82F2 }, + { 0xD079, 0x82F5 }, + { 0xD07A, 0x830C }, + { 0xD07B, 0x82FB }, + { 0xD07C, 0x82F6 }, + { 0xD07D, 0x82F0 }, + { 0xD07E, 0x82EA }, + { 0xD0A1, 0x82E4 }, + { 0xD0A2, 0x82E0 }, + { 0xD0A3, 0x82FA }, + { 0xD0A4, 0x82F3 }, + { 0xD0A5, 0x82ED }, + { 0xD0A6, 0x8677 }, + { 0xD0A7, 0x8674 }, + { 0xD0A8, 0x867C }, + { 0xD0A9, 0x8673 }, + { 0xD0AA, 0x8841 }, + { 0xD0AB, 0x884E }, + { 0xD0AC, 0x8867 }, + { 0xD0AD, 0x886A }, + { 0xD0AE, 0x8869 }, + { 0xD0AF, 0x89D3 }, + { 0xD0B0, 0x8A04 }, + { 0xD0B1, 0x8A07 }, + { 0xD0B2, 0x8D72 }, + { 0xD0B3, 0x8FE3 }, + { 0xD0B4, 0x8FE1 }, + { 0xD0B5, 0x8FEE }, + { 0xD0B6, 0x8FE0 }, + { 0xD0B7, 0x90F1 }, + { 0xD0B8, 0x90BD }, + { 0xD0B9, 0x90BF }, + { 0xD0BA, 0x90D5 }, + { 0xD0BB, 0x90C5 }, + { 0xD0BC, 0x90BE }, + { 0xD0BD, 0x90C7 }, + { 0xD0BE, 0x90CB }, + { 0xD0BF, 0x90C8 }, + { 0xD0C0, 0x91D4 }, + { 0xD0C1, 0x91D3 }, + { 0xD0C2, 0x9654 }, + { 0xD0C3, 0x964F }, + { 0xD0C4, 0x9651 }, + { 0xD0C5, 0x9653 }, + { 0xD0C6, 0x964A }, + { 0xD0C7, 0x964E }, + { 0xD0C8, 0x501E }, + { 0xD0C9, 0x5005 }, + { 0xD0CA, 0x5007 }, + { 0xD0CB, 0x5013 }, + { 0xD0CC, 0x5022 }, + { 0xD0CD, 0x5030 }, + { 0xD0CE, 0x501B }, + { 0xD0CF, 0x4FF5 }, + { 0xD0D0, 0x4FF4 }, + { 0xD0D1, 0x5033 }, + { 0xD0D2, 0x5037 }, + { 0xD0D3, 0x502C }, + { 0xD0D4, 0x4FF6 }, + { 0xD0D5, 0x4FF7 }, + { 0xD0D6, 0x5017 }, + { 0xD0D7, 0x501C }, + { 0xD0D8, 0x5020 }, + { 0xD0D9, 0x5027 }, + { 0xD0DA, 0x5035 }, + { 0xD0DB, 0x502F }, + { 0xD0DC, 0x5031 }, + { 0xD0DD, 0x500E }, + { 0xD0DE, 0x515A }, + { 0xD0DF, 0x5194 }, + { 0xD0E0, 0x5193 }, + { 0xD0E1, 0x51CA }, + { 0xD0E2, 0x51C4 }, + { 0xD0E3, 0x51C5 }, + { 0xD0E4, 0x51C8 }, + { 0xD0E5, 0x51CE }, + { 0xD0E6, 0x5261 }, + { 0xD0E7, 0x525A }, + { 0xD0E8, 0x5252 }, + { 0xD0E9, 0x525E }, + { 0xD0EA, 0x525F }, + { 0xD0EB, 0x5255 }, + { 0xD0EC, 0x5262 }, + { 0xD0ED, 0x52CD }, + { 0xD0EE, 0x530E }, + { 0xD0EF, 0x539E }, + { 0xD0F0, 0x5526 }, + { 0xD0F1, 0x54E2 }, + { 0xD0F2, 0x5517 }, + { 0xD0F3, 0x5512 }, + { 0xD0F4, 0x54E7 }, + { 0xD0F5, 0x54F3 }, + { 0xD0F6, 0x54E4 }, + { 0xD0F7, 0x551A }, + { 0xD0F8, 0x54FF }, + { 0xD0F9, 0x5504 }, + { 0xD0FA, 0x5508 }, + { 0xD0FB, 0x54EB }, + { 0xD0FC, 0x5511 }, + { 0xD0FD, 0x5505 }, + { 0xD0FE, 0x54F1 }, + { 0xD140, 0x550A }, + { 0xD141, 0x54FB }, + { 0xD142, 0x54F7 }, + { 0xD143, 0x54F8 }, + { 0xD144, 0x54E0 }, + { 0xD145, 0x550E }, + { 0xD146, 0x5503 }, + { 0xD147, 0x550B }, + { 0xD148, 0x5701 }, + { 0xD149, 0x5702 }, + { 0xD14A, 0x57CC }, + { 0xD14B, 0x5832 }, + { 0xD14C, 0x57D5 }, + { 0xD14D, 0x57D2 }, + { 0xD14E, 0x57BA }, + { 0xD14F, 0x57C6 }, + { 0xD150, 0x57BD }, + { 0xD151, 0x57BC }, + { 0xD152, 0x57B8 }, + { 0xD153, 0x57B6 }, + { 0xD154, 0x57BF }, + { 0xD155, 0x57C7 }, + { 0xD156, 0x57D0 }, + { 0xD157, 0x57B9 }, + { 0xD158, 0x57C1 }, + { 0xD159, 0x590E }, + { 0xD15A, 0x594A }, + { 0xD15B, 0x5A19 }, + { 0xD15C, 0x5A16 }, + { 0xD15D, 0x5A2D }, + { 0xD15E, 0x5A2E }, + { 0xD15F, 0x5A15 }, + { 0xD160, 0x5A0F }, + { 0xD161, 0x5A17 }, + { 0xD162, 0x5A0A }, + { 0xD163, 0x5A1E }, + { 0xD164, 0x5A33 }, + { 0xD165, 0x5B6C }, + { 0xD166, 0x5BA7 }, + { 0xD167, 0x5BAD }, + { 0xD168, 0x5BAC }, + { 0xD169, 0x5C03 }, + { 0xD16A, 0x5C56 }, + { 0xD16B, 0x5C54 }, + { 0xD16C, 0x5CEC }, + { 0xD16D, 0x5CFF }, + { 0xD16E, 0x5CEE }, + { 0xD16F, 0x5CF1 }, + { 0xD170, 0x5CF7 }, + { 0xD171, 0x5D00 }, + { 0xD172, 0x5CF9 }, + { 0xD173, 0x5E29 }, + { 0xD174, 0x5E28 }, + { 0xD175, 0x5EA8 }, + { 0xD176, 0x5EAE }, + { 0xD177, 0x5EAA }, + { 0xD178, 0x5EAC }, + { 0xD179, 0x5F33 }, + { 0xD17A, 0x5F30 }, + { 0xD17B, 0x5F67 }, + { 0xD17C, 0x605D }, + { 0xD17D, 0x605A }, + { 0xD17E, 0x6067 }, + { 0xD1A1, 0x6041 }, + { 0xD1A2, 0x60A2 }, + { 0xD1A3, 0x6088 }, + { 0xD1A4, 0x6080 }, + { 0xD1A5, 0x6092 }, + { 0xD1A6, 0x6081 }, + { 0xD1A7, 0x609D }, + { 0xD1A8, 0x6083 }, + { 0xD1A9, 0x6095 }, + { 0xD1AA, 0x609B }, + { 0xD1AB, 0x6097 }, + { 0xD1AC, 0x6087 }, + { 0xD1AD, 0x609C }, + { 0xD1AE, 0x608E }, + { 0xD1AF, 0x6219 }, + { 0xD1B0, 0x6246 }, + { 0xD1B1, 0x62F2 }, + { 0xD1B2, 0x6310 }, + { 0xD1B3, 0x6356 }, + { 0xD1B4, 0x632C }, + { 0xD1B5, 0x6344 }, + { 0xD1B6, 0x6345 }, + { 0xD1B7, 0x6336 }, + { 0xD1B8, 0x6343 }, + { 0xD1B9, 0x63E4 }, + { 0xD1BA, 0x6339 }, + { 0xD1BB, 0x634B }, + { 0xD1BC, 0x634A }, + { 0xD1BD, 0x633C }, + { 0xD1BE, 0x6329 }, + { 0xD1BF, 0x6341 }, + { 0xD1C0, 0x6334 }, + { 0xD1C1, 0x6358 }, + { 0xD1C2, 0x6354 }, + { 0xD1C3, 0x6359 }, + { 0xD1C4, 0x632D }, + { 0xD1C5, 0x6347 }, + { 0xD1C6, 0x6333 }, + { 0xD1C7, 0x635A }, + { 0xD1C8, 0x6351 }, + { 0xD1C9, 0x6338 }, + { 0xD1CA, 0x6357 }, + { 0xD1CB, 0x6340 }, + { 0xD1CC, 0x6348 }, + { 0xD1CD, 0x654A }, + { 0xD1CE, 0x6546 }, + { 0xD1CF, 0x65C6 }, + { 0xD1D0, 0x65C3 }, + { 0xD1D1, 0x65C4 }, + { 0xD1D2, 0x65C2 }, + { 0xD1D3, 0x664A }, + { 0xD1D4, 0x665F }, + { 0xD1D5, 0x6647 }, + { 0xD1D6, 0x6651 }, + { 0xD1D7, 0x6712 }, + { 0xD1D8, 0x6713 }, + { 0xD1D9, 0x681F }, + { 0xD1DA, 0x681A }, + { 0xD1DB, 0x6849 }, + { 0xD1DC, 0x6832 }, + { 0xD1DD, 0x6833 }, + { 0xD1DE, 0x683B }, + { 0xD1DF, 0x684B }, + { 0xD1E0, 0x684F }, + { 0xD1E1, 0x6816 }, + { 0xD1E2, 0x6831 }, + { 0xD1E3, 0x681C }, + { 0xD1E4, 0x6835 }, + { 0xD1E5, 0x682B }, + { 0xD1E6, 0x682D }, + { 0xD1E7, 0x682F }, + { 0xD1E8, 0x684E }, + { 0xD1E9, 0x6844 }, + { 0xD1EA, 0x6834 }, + { 0xD1EB, 0x681D }, + { 0xD1EC, 0x6812 }, + { 0xD1ED, 0x6814 }, + { 0xD1EE, 0x6826 }, + { 0xD1EF, 0x6828 }, + { 0xD1F0, 0x682E }, + { 0xD1F1, 0x684D }, + { 0xD1F2, 0x683A }, + { 0xD1F3, 0x6825 }, + { 0xD1F4, 0x6820 }, + { 0xD1F5, 0x6B2C }, + { 0xD1F6, 0x6B2F }, + { 0xD1F7, 0x6B2D }, + { 0xD1F8, 0x6B31 }, + { 0xD1F9, 0x6B34 }, + { 0xD1FA, 0x6B6D }, + { 0xD1FB, 0x8082 }, + { 0xD1FC, 0x6B88 }, + { 0xD1FD, 0x6BE6 }, + { 0xD1FE, 0x6BE4 }, + { 0xD240, 0x6BE8 }, + { 0xD241, 0x6BE3 }, + { 0xD242, 0x6BE2 }, + { 0xD243, 0x6BE7 }, + { 0xD244, 0x6C25 }, + { 0xD245, 0x6D7A }, + { 0xD246, 0x6D63 }, + { 0xD247, 0x6D64 }, + { 0xD248, 0x6D76 }, + { 0xD249, 0x6D0D }, + { 0xD24A, 0x6D61 }, + { 0xD24B, 0x6D92 }, + { 0xD24C, 0x6D58 }, + { 0xD24D, 0x6D62 }, + { 0xD24E, 0x6D6D }, + { 0xD24F, 0x6D6F }, + { 0xD250, 0x6D91 }, + { 0xD251, 0x6D8D }, + { 0xD252, 0x6DEF }, + { 0xD253, 0x6D7F }, + { 0xD254, 0x6D86 }, + { 0xD255, 0x6D5E }, + { 0xD256, 0x6D67 }, + { 0xD257, 0x6D60 }, + { 0xD258, 0x6D97 }, + { 0xD259, 0x6D70 }, + { 0xD25A, 0x6D7C }, + { 0xD25B, 0x6D5F }, + { 0xD25C, 0x6D82 }, + { 0xD25D, 0x6D98 }, + { 0xD25E, 0x6D2F }, + { 0xD25F, 0x6D68 }, + { 0xD260, 0x6D8B }, + { 0xD261, 0x6D7E }, + { 0xD262, 0x6D80 }, + { 0xD263, 0x6D84 }, + { 0xD264, 0x6D16 }, + { 0xD265, 0x6D83 }, + { 0xD266, 0x6D7B }, + { 0xD267, 0x6D7D }, + { 0xD268, 0x6D75 }, + { 0xD269, 0x6D90 }, + { 0xD26A, 0x70DC }, + { 0xD26B, 0x70D3 }, + { 0xD26C, 0x70D1 }, + { 0xD26D, 0x70DD }, + { 0xD26E, 0x70CB }, + { 0xD26F, 0x7F39 }, + { 0xD270, 0x70E2 }, + { 0xD271, 0x70D7 }, + { 0xD272, 0x70D2 }, + { 0xD273, 0x70DE }, + { 0xD274, 0x70E0 }, + { 0xD275, 0x70D4 }, + { 0xD276, 0x70CD }, + { 0xD277, 0x70C5 }, + { 0xD278, 0x70C6 }, + { 0xD279, 0x70C7 }, + { 0xD27A, 0x70DA }, + { 0xD27B, 0x70CE }, + { 0xD27C, 0x70E1 }, + { 0xD27D, 0x7242 }, + { 0xD27E, 0x7278 }, + { 0xD2A1, 0x7277 }, + { 0xD2A2, 0x7276 }, + { 0xD2A3, 0x7300 }, + { 0xD2A4, 0x72FA }, + { 0xD2A5, 0x72F4 }, + { 0xD2A6, 0x72FE }, + { 0xD2A7, 0x72F6 }, + { 0xD2A8, 0x72F3 }, + { 0xD2A9, 0x72FB }, + { 0xD2AA, 0x7301 }, + { 0xD2AB, 0x73D3 }, + { 0xD2AC, 0x73D9 }, + { 0xD2AD, 0x73E5 }, + { 0xD2AE, 0x73D6 }, + { 0xD2AF, 0x73BC }, + { 0xD2B0, 0x73E7 }, + { 0xD2B1, 0x73E3 }, + { 0xD2B2, 0x73E9 }, + { 0xD2B3, 0x73DC }, + { 0xD2B4, 0x73D2 }, + { 0xD2B5, 0x73DB }, + { 0xD2B6, 0x73D4 }, + { 0xD2B7, 0x73DD }, + { 0xD2B8, 0x73DA }, + { 0xD2B9, 0x73D7 }, + { 0xD2BA, 0x73D8 }, + { 0xD2BB, 0x73E8 }, + { 0xD2BC, 0x74DE }, + { 0xD2BD, 0x74DF }, + { 0xD2BE, 0x74F4 }, + { 0xD2BF, 0x74F5 }, + { 0xD2C0, 0x7521 }, + { 0xD2C1, 0x755B }, + { 0xD2C2, 0x755F }, + { 0xD2C3, 0x75B0 }, + { 0xD2C4, 0x75C1 }, + { 0xD2C5, 0x75BB }, + { 0xD2C6, 0x75C4 }, + { 0xD2C7, 0x75C0 }, + { 0xD2C8, 0x75BF }, + { 0xD2C9, 0x75B6 }, + { 0xD2CA, 0x75BA }, + { 0xD2CB, 0x768A }, + { 0xD2CC, 0x76C9 }, + { 0xD2CD, 0x771D }, + { 0xD2CE, 0x771B }, + { 0xD2CF, 0x7710 }, + { 0xD2D0, 0x7713 }, + { 0xD2D1, 0x7712 }, + { 0xD2D2, 0x7723 }, + { 0xD2D3, 0x7711 }, + { 0xD2D4, 0x7715 }, + { 0xD2D5, 0x7719 }, + { 0xD2D6, 0x771A }, + { 0xD2D7, 0x7722 }, + { 0xD2D8, 0x7727 }, + { 0xD2D9, 0x7823 }, + { 0xD2DA, 0x782C }, + { 0xD2DB, 0x7822 }, + { 0xD2DC, 0x7835 }, + { 0xD2DD, 0x782F }, + { 0xD2DE, 0x7828 }, + { 0xD2DF, 0x782E }, + { 0xD2E0, 0x782B }, + { 0xD2E1, 0x7821 }, + { 0xD2E2, 0x7829 }, + { 0xD2E3, 0x7833 }, + { 0xD2E4, 0x782A }, + { 0xD2E5, 0x7831 }, + { 0xD2E6, 0x7954 }, + { 0xD2E7, 0x795B }, + { 0xD2E8, 0x794F }, + { 0xD2E9, 0x795C }, + { 0xD2EA, 0x7953 }, + { 0xD2EB, 0x7952 }, + { 0xD2EC, 0x7951 }, + { 0xD2ED, 0x79EB }, + { 0xD2EE, 0x79EC }, + { 0xD2EF, 0x79E0 }, + { 0xD2F0, 0x79EE }, + { 0xD2F1, 0x79ED }, + { 0xD2F2, 0x79EA }, + { 0xD2F3, 0x79DC }, + { 0xD2F4, 0x79DE }, + { 0xD2F5, 0x79DD }, + { 0xD2F6, 0x7A86 }, + { 0xD2F7, 0x7A89 }, + { 0xD2F8, 0x7A85 }, + { 0xD2F9, 0x7A8B }, + { 0xD2FA, 0x7A8C }, + { 0xD2FB, 0x7A8A }, + { 0xD2FC, 0x7A87 }, + { 0xD2FD, 0x7AD8 }, + { 0xD2FE, 0x7B10 }, + { 0xD340, 0x7B04 }, + { 0xD341, 0x7B13 }, + { 0xD342, 0x7B05 }, + { 0xD343, 0x7B0F }, + { 0xD344, 0x7B08 }, + { 0xD345, 0x7B0A }, + { 0xD346, 0x7B0E }, + { 0xD347, 0x7B09 }, + { 0xD348, 0x7B12 }, + { 0xD349, 0x7C84 }, + { 0xD34A, 0x7C91 }, + { 0xD34B, 0x7C8A }, + { 0xD34C, 0x7C8C }, + { 0xD34D, 0x7C88 }, + { 0xD34E, 0x7C8D }, + { 0xD34F, 0x7C85 }, + { 0xD350, 0x7D1E }, + { 0xD351, 0x7D1D }, + { 0xD352, 0x7D11 }, + { 0xD353, 0x7D0E }, + { 0xD354, 0x7D18 }, + { 0xD355, 0x7D16 }, + { 0xD356, 0x7D13 }, + { 0xD357, 0x7D1F }, + { 0xD358, 0x7D12 }, + { 0xD359, 0x7D0F }, + { 0xD35A, 0x7D0C }, + { 0xD35B, 0x7F5C }, + { 0xD35C, 0x7F61 }, + { 0xD35D, 0x7F5E }, + { 0xD35E, 0x7F60 }, + { 0xD35F, 0x7F5D }, + { 0xD360, 0x7F5B }, + { 0xD361, 0x7F96 }, + { 0xD362, 0x7F92 }, + { 0xD363, 0x7FC3 }, + { 0xD364, 0x7FC2 }, + { 0xD365, 0x7FC0 }, + { 0xD366, 0x8016 }, + { 0xD367, 0x803E }, + { 0xD368, 0x8039 }, + { 0xD369, 0x80FA }, + { 0xD36A, 0x80F2 }, + { 0xD36B, 0x80F9 }, + { 0xD36C, 0x80F5 }, + { 0xD36D, 0x8101 }, + { 0xD36E, 0x80FB }, + { 0xD36F, 0x8100 }, + { 0xD370, 0x8201 }, + { 0xD371, 0x822F }, + { 0xD372, 0x8225 }, + { 0xD373, 0x8333 }, + { 0xD374, 0x832D }, + { 0xD375, 0x8344 }, + { 0xD376, 0x8319 }, + { 0xD377, 0x8351 }, + { 0xD378, 0x8325 }, + { 0xD379, 0x8356 }, + { 0xD37A, 0x833F }, + { 0xD37B, 0x8341 }, + { 0xD37C, 0x8326 }, + { 0xD37D, 0x831C }, + { 0xD37E, 0x8322 }, + { 0xD3A1, 0x8342 }, + { 0xD3A2, 0x834E }, + { 0xD3A3, 0x831B }, + { 0xD3A4, 0x832A }, + { 0xD3A5, 0x8308 }, + { 0xD3A6, 0x833C }, + { 0xD3A7, 0x834D }, + { 0xD3A8, 0x8316 }, + { 0xD3A9, 0x8324 }, + { 0xD3AA, 0x8320 }, + { 0xD3AB, 0x8337 }, + { 0xD3AC, 0x832F }, + { 0xD3AD, 0x8329 }, + { 0xD3AE, 0x8347 }, + { 0xD3AF, 0x8345 }, + { 0xD3B0, 0x834C }, + { 0xD3B1, 0x8353 }, + { 0xD3B2, 0x831E }, + { 0xD3B3, 0x832C }, + { 0xD3B4, 0x834B }, + { 0xD3B5, 0x8327 }, + { 0xD3B6, 0x8348 }, + { 0xD3B7, 0x8653 }, + { 0xD3B8, 0x8652 }, + { 0xD3B9, 0x86A2 }, + { 0xD3BA, 0x86A8 }, + { 0xD3BB, 0x8696 }, + { 0xD3BC, 0x868D }, + { 0xD3BD, 0x8691 }, + { 0xD3BE, 0x869E }, + { 0xD3BF, 0x8687 }, + { 0xD3C0, 0x8697 }, + { 0xD3C1, 0x8686 }, + { 0xD3C2, 0x868B }, + { 0xD3C3, 0x869A }, + { 0xD3C4, 0x8685 }, + { 0xD3C5, 0x86A5 }, + { 0xD3C6, 0x8699 }, + { 0xD3C7, 0x86A1 }, + { 0xD3C8, 0x86A7 }, + { 0xD3C9, 0x8695 }, + { 0xD3CA, 0x8698 }, + { 0xD3CB, 0x868E }, + { 0xD3CC, 0x869D }, + { 0xD3CD, 0x8690 }, + { 0xD3CE, 0x8694 }, + { 0xD3CF, 0x8843 }, + { 0xD3D0, 0x8844 }, + { 0xD3D1, 0x886D }, + { 0xD3D2, 0x8875 }, + { 0xD3D3, 0x8876 }, + { 0xD3D4, 0x8872 }, + { 0xD3D5, 0x8880 }, + { 0xD3D6, 0x8871 }, + { 0xD3D7, 0x887F }, + { 0xD3D8, 0x886F }, + { 0xD3D9, 0x8883 }, + { 0xD3DA, 0x887E }, + { 0xD3DB, 0x8874 }, + { 0xD3DC, 0x887C }, + { 0xD3DD, 0x8A12 }, + { 0xD3DE, 0x8C47 }, + { 0xD3DF, 0x8C57 }, + { 0xD3E0, 0x8C7B }, + { 0xD3E1, 0x8CA4 }, + { 0xD3E2, 0x8CA3 }, + { 0xD3E3, 0x8D76 }, + { 0xD3E4, 0x8D78 }, + { 0xD3E5, 0x8DB5 }, + { 0xD3E6, 0x8DB7 }, + { 0xD3E7, 0x8DB6 }, + { 0xD3E8, 0x8ED1 }, + { 0xD3E9, 0x8ED3 }, + { 0xD3EA, 0x8FFE }, + { 0xD3EB, 0x8FF5 }, + { 0xD3EC, 0x9002 }, + { 0xD3ED, 0x8FFF }, + { 0xD3EE, 0x8FFB }, + { 0xD3EF, 0x9004 }, + { 0xD3F0, 0x8FFC }, + { 0xD3F1, 0x8FF6 }, + { 0xD3F2, 0x90D6 }, + { 0xD3F3, 0x90E0 }, + { 0xD3F4, 0x90D9 }, + { 0xD3F5, 0x90DA }, + { 0xD3F6, 0x90E3 }, + { 0xD3F7, 0x90DF }, + { 0xD3F8, 0x90E5 }, + { 0xD3F9, 0x90D8 }, + { 0xD3FA, 0x90DB }, + { 0xD3FB, 0x90D7 }, + { 0xD3FC, 0x90DC }, + { 0xD3FD, 0x90E4 }, + { 0xD3FE, 0x9150 }, + { 0xD440, 0x914E }, + { 0xD441, 0x914F }, + { 0xD442, 0x91D5 }, + { 0xD443, 0x91E2 }, + { 0xD444, 0x91DA }, + { 0xD445, 0x965C }, + { 0xD446, 0x965F }, + { 0xD447, 0x96BC }, + { 0xD448, 0x98E3 }, + { 0xD449, 0x9ADF }, + { 0xD44A, 0x9B2F }, + { 0xD44B, 0x4E7F }, + { 0xD44C, 0x5070 }, + { 0xD44D, 0x506A }, + { 0xD44E, 0x5061 }, + { 0xD44F, 0x505E }, + { 0xD450, 0x5060 }, + { 0xD451, 0x5053 }, + { 0xD452, 0x504B }, + { 0xD453, 0x505D }, + { 0xD454, 0x5072 }, + { 0xD455, 0x5048 }, + { 0xD456, 0x504D }, + { 0xD457, 0x5041 }, + { 0xD458, 0x505B }, + { 0xD459, 0x504A }, + { 0xD45A, 0x5062 }, + { 0xD45B, 0x5015 }, + { 0xD45C, 0x5045 }, + { 0xD45D, 0x505F }, + { 0xD45E, 0x5069 }, + { 0xD45F, 0x506B }, + { 0xD460, 0x5063 }, + { 0xD461, 0x5064 }, + { 0xD462, 0x5046 }, + { 0xD463, 0x5040 }, + { 0xD464, 0x506E }, + { 0xD465, 0x5073 }, + { 0xD466, 0x5057 }, + { 0xD467, 0x5051 }, + { 0xD468, 0x51D0 }, + { 0xD469, 0x526B }, + { 0xD46A, 0x526D }, + { 0xD46B, 0x526C }, + { 0xD46C, 0x526E }, + { 0xD46D, 0x52D6 }, + { 0xD46E, 0x52D3 }, + { 0xD46F, 0x532D }, + { 0xD470, 0x539C }, + { 0xD471, 0x5575 }, + { 0xD472, 0x5576 }, + { 0xD473, 0x553C }, + { 0xD474, 0x554D }, + { 0xD475, 0x5550 }, + { 0xD476, 0x5534 }, + { 0xD477, 0x552A }, + { 0xD478, 0x5551 }, + { 0xD479, 0x5562 }, + { 0xD47A, 0x5536 }, + { 0xD47B, 0x5535 }, + { 0xD47C, 0x5530 }, + { 0xD47D, 0x5552 }, + { 0xD47E, 0x5545 }, + { 0xD4A1, 0x550C }, + { 0xD4A2, 0x5532 }, + { 0xD4A3, 0x5565 }, + { 0xD4A4, 0x554E }, + { 0xD4A5, 0x5539 }, + { 0xD4A6, 0x5548 }, + { 0xD4A7, 0x552D }, + { 0xD4A8, 0x553B }, + { 0xD4A9, 0x5540 }, + { 0xD4AA, 0x554B }, + { 0xD4AB, 0x570A }, + { 0xD4AC, 0x5707 }, + { 0xD4AD, 0x57FB }, + { 0xD4AE, 0x5814 }, + { 0xD4AF, 0x57E2 }, + { 0xD4B0, 0x57F6 }, + { 0xD4B1, 0x57DC }, + { 0xD4B2, 0x57F4 }, + { 0xD4B3, 0x5800 }, + { 0xD4B4, 0x57ED }, + { 0xD4B5, 0x57FD }, + { 0xD4B6, 0x5808 }, + { 0xD4B7, 0x57F8 }, + { 0xD4B8, 0x580B }, + { 0xD4B9, 0x57F3 }, + { 0xD4BA, 0x57CF }, + { 0xD4BB, 0x5807 }, + { 0xD4BC, 0x57EE }, + { 0xD4BD, 0x57E3 }, + { 0xD4BE, 0x57F2 }, + { 0xD4BF, 0x57E5 }, + { 0xD4C0, 0x57EC }, + { 0xD4C1, 0x57E1 }, + { 0xD4C2, 0x580E }, + { 0xD4C3, 0x57FC }, + { 0xD4C4, 0x5810 }, + { 0xD4C5, 0x57E7 }, + { 0xD4C6, 0x5801 }, + { 0xD4C7, 0x580C }, + { 0xD4C8, 0x57F1 }, + { 0xD4C9, 0x57E9 }, + { 0xD4CA, 0x57F0 }, + { 0xD4CB, 0x580D }, + { 0xD4CC, 0x5804 }, + { 0xD4CD, 0x595C }, + { 0xD4CE, 0x5A60 }, + { 0xD4CF, 0x5A58 }, + { 0xD4D0, 0x5A55 }, + { 0xD4D1, 0x5A67 }, + { 0xD4D2, 0x5A5E }, + { 0xD4D3, 0x5A38 }, + { 0xD4D4, 0x5A35 }, + { 0xD4D5, 0x5A6D }, + { 0xD4D6, 0x5A50 }, + { 0xD4D7, 0x5A5F }, + { 0xD4D8, 0x5A65 }, + { 0xD4D9, 0x5A6C }, + { 0xD4DA, 0x5A53 }, + { 0xD4DB, 0x5A64 }, + { 0xD4DC, 0x5A57 }, + { 0xD4DD, 0x5A43 }, + { 0xD4DE, 0x5A5D }, + { 0xD4DF, 0x5A52 }, + { 0xD4E0, 0x5A44 }, + { 0xD4E1, 0x5A5B }, + { 0xD4E2, 0x5A48 }, + { 0xD4E3, 0x5A8E }, + { 0xD4E4, 0x5A3E }, + { 0xD4E5, 0x5A4D }, + { 0xD4E6, 0x5A39 }, + { 0xD4E7, 0x5A4C }, + { 0xD4E8, 0x5A70 }, + { 0xD4E9, 0x5A69 }, + { 0xD4EA, 0x5A47 }, + { 0xD4EB, 0x5A51 }, + { 0xD4EC, 0x5A56 }, + { 0xD4ED, 0x5A42 }, + { 0xD4EE, 0x5A5C }, + { 0xD4EF, 0x5B72 }, + { 0xD4F0, 0x5B6E }, + { 0xD4F1, 0x5BC1 }, + { 0xD4F2, 0x5BC0 }, + { 0xD4F3, 0x5C59 }, + { 0xD4F4, 0x5D1E }, + { 0xD4F5, 0x5D0B }, + { 0xD4F6, 0x5D1D }, + { 0xD4F7, 0x5D1A }, + { 0xD4F8, 0x5D20 }, + { 0xD4F9, 0x5D0C }, + { 0xD4FA, 0x5D28 }, + { 0xD4FB, 0x5D0D }, + { 0xD4FC, 0x5D26 }, + { 0xD4FD, 0x5D25 }, + { 0xD4FE, 0x5D0F }, + { 0xD540, 0x5D30 }, + { 0xD541, 0x5D12 }, + { 0xD542, 0x5D23 }, + { 0xD543, 0x5D1F }, + { 0xD544, 0x5D2E }, + { 0xD545, 0x5E3E }, + { 0xD546, 0x5E34 }, + { 0xD547, 0x5EB1 }, + { 0xD548, 0x5EB4 }, + { 0xD549, 0x5EB9 }, + { 0xD54A, 0x5EB2 }, + { 0xD54B, 0x5EB3 }, + { 0xD54C, 0x5F36 }, + { 0xD54D, 0x5F38 }, + { 0xD54E, 0x5F9B }, + { 0xD54F, 0x5F96 }, + { 0xD550, 0x5F9F }, + { 0xD551, 0x608A }, + { 0xD552, 0x6090 }, + { 0xD553, 0x6086 }, + { 0xD554, 0x60BE }, + { 0xD555, 0x60B0 }, + { 0xD556, 0x60BA }, + { 0xD557, 0x60D3 }, + { 0xD558, 0x60D4 }, + { 0xD559, 0x60CF }, + { 0xD55A, 0x60E4 }, + { 0xD55B, 0x60D9 }, + { 0xD55C, 0x60DD }, + { 0xD55D, 0x60C8 }, + { 0xD55E, 0x60B1 }, + { 0xD55F, 0x60DB }, + { 0xD560, 0x60B7 }, + { 0xD561, 0x60CA }, + { 0xD562, 0x60BF }, + { 0xD563, 0x60C3 }, + { 0xD564, 0x60CD }, + { 0xD565, 0x60C0 }, + { 0xD566, 0x6332 }, + { 0xD567, 0x6365 }, + { 0xD568, 0x638A }, + { 0xD569, 0x6382 }, + { 0xD56A, 0x637D }, + { 0xD56B, 0x63BD }, + { 0xD56C, 0x639E }, + { 0xD56D, 0x63AD }, + { 0xD56E, 0x639D }, + { 0xD56F, 0x6397 }, + { 0xD570, 0x63AB }, + { 0xD571, 0x638E }, + { 0xD572, 0x636F }, + { 0xD573, 0x6387 }, + { 0xD574, 0x6390 }, + { 0xD575, 0x636E }, + { 0xD576, 0x63AF }, + { 0xD577, 0x6375 }, + { 0xD578, 0x639C }, + { 0xD579, 0x636D }, + { 0xD57A, 0x63AE }, + { 0xD57B, 0x637C }, + { 0xD57C, 0x63A4 }, + { 0xD57D, 0x633B }, - { 0xD57E, 0x639F }, - { 0xD5A1, 0x6378 }, - { 0xD5A2, 0x6385 }, - { 0xD5A3, 0x6381 }, - { 0xD5A4, 0x6391 }, - { 0xD5A5, 0x638D }, - { 0xD5A6, 0x6370 }, - { 0xD5A7, 0x6553 }, - { 0xD5A8, 0x65CD }, - { 0xD5A9, 0x6665 }, - { 0xD5AA, 0x6661 }, - { 0xD5AB, 0x665B }, - { 0xD5AC, 0x6659 }, - { 0xD5AD, 0x665C }, - { 0xD5AE, 0x6662 }, - { 0xD5AF, 0x6718 }, - { 0xD5B0, 0x6879 }, - { 0xD5B1, 0x6887 }, - { 0xD5B2, 0x6890 }, - { 0xD5B3, 0x689C }, - { 0xD5B4, 0x686D }, - { 0xD5B5, 0x686E }, - { 0xD5B6, 0x68AE }, - { 0xD5B7, 0x68AB }, - { 0xD5B8, 0x6956 }, - { 0xD5B9, 0x686F }, - { 0xD5BA, 0x68A3 }, - { 0xD5BB, 0x68AC }, - { 0xD5BC, 0x68A9 }, - { 0xD5BD, 0x6875 }, - { 0xD5BE, 0x6874 }, - { 0xD5BF, 0x68B2 }, - { 0xD5C0, 0x688F }, - { 0xD5C1, 0x6877 }, - { 0xD5C2, 0x6892 }, - { 0xD5C3, 0x687C }, - { 0xD5C4, 0x686B }, - { 0xD5C5, 0x6872 }, - { 0xD5C6, 0x68AA }, - { 0xD5C7, 0x6880 }, - { 0xD5C8, 0x6871 }, - { 0xD5C9, 0x687E }, - { 0xD5CA, 0x689B }, - { 0xD5CB, 0x6896 }, - { 0xD5CC, 0x688B }, - { 0xD5CD, 0x68A0 }, - { 0xD5CE, 0x6889 }, - { 0xD5CF, 0x68A4 }, - { 0xD5D0, 0x6878 }, - { 0xD5D1, 0x687B }, - { 0xD5D2, 0x6891 }, - { 0xD5D3, 0x688C }, - { 0xD5D4, 0x688A }, - { 0xD5D5, 0x687D }, - { 0xD5D6, 0x6B36 }, - { 0xD5D7, 0x6B33 }, - { 0xD5D8, 0x6B37 }, - { 0xD5D9, 0x6B38 }, - { 0xD5DA, 0x6B91 }, - { 0xD5DB, 0x6B8F }, - { 0xD5DC, 0x6B8D }, - { 0xD5DD, 0x6B8E }, - { 0xD5DE, 0x6B8C }, - { 0xD5DF, 0x6C2A }, - { 0xD5E0, 0x6DC0 }, - { 0xD5E1, 0x6DAB }, - { 0xD5E2, 0x6DB4 }, - { 0xD5E3, 0x6DB3 }, - { 0xD5E4, 0x6E74 }, - { 0xD5E5, 0x6DAC }, - { 0xD5E6, 0x6DE9 }, - { 0xD5E7, 0x6DE2 }, - { 0xD5E8, 0x6DB7 }, - { 0xD5E9, 0x6DF6 }, - { 0xD5EA, 0x6DD4 }, - { 0xD5EB, 0x6E00 }, - { 0xD5EC, 0x6DC8 }, - { 0xD5ED, 0x6DE0 }, - { 0xD5EE, 0x6DDF }, - { 0xD5EF, 0x6DD6 }, - { 0xD5F0, 0x6DBE }, - { 0xD5F1, 0x6DE5 }, - { 0xD5F2, 0x6DDC }, - { 0xD5F3, 0x6DDD }, - { 0xD5F4, 0x6DDB }, - { 0xD5F5, 0x6DF4 }, - { 0xD5F6, 0x6DCA }, - { 0xD5F7, 0x6DBD }, - { 0xD5F8, 0x6DED }, - { 0xD5F9, 0x6DF0 }, - { 0xD5FA, 0x6DBA }, - { 0xD5FB, 0x6DD5 }, - { 0xD5FC, 0x6DC2 }, - { 0xD5FD, 0x6DCF }, - { 0xD5FE, 0x6DC9 }, - { 0xD640, 0x6DD0 }, - { 0xD641, 0x6DF2 }, - { 0xD642, 0x6DD3 }, - { 0xD643, 0x6DFD }, - { 0xD644, 0x6DD7 }, - { 0xD645, 0x6DCD }, - { 0xD646, 0x6DE3 }, - { 0xD647, 0x6DBB }, - { 0xD648, 0x70FA }, - { 0xD649, 0x710D }, - { 0xD64A, 0x70F7 }, - { 0xD64B, 0x7117 }, - { 0xD64C, 0x70F4 }, - { 0xD64D, 0x710C }, - { 0xD64E, 0x70F0 }, - { 0xD64F, 0x7104 }, - { 0xD650, 0x70F3 }, - { 0xD651, 0x7110 }, - { 0xD652, 0x70FC }, - { 0xD653, 0x70FF }, - { 0xD654, 0x7106 }, - { 0xD655, 0x7113 }, - { 0xD656, 0x7100 }, - { 0xD657, 0x70F8 }, - { 0xD658, 0x70F6 }, - { 0xD659, 0x710B }, - { 0xD65A, 0x7102 }, - { 0xD65B, 0x710E }, - { 0xD65C, 0x727E }, - { 0xD65D, 0x727B }, - { 0xD65E, 0x727C }, - { 0xD65F, 0x727F }, - { 0xD660, 0x731D }, - { 0xD661, 0x7317 }, - { 0xD662, 0x7307 }, - { 0xD663, 0x7311 }, - { 0xD664, 0x7318 }, - { 0xD665, 0x730A }, - { 0xD666, 0x7308 }, - { 0xD667, 0x72FF }, - { 0xD668, 0x730F }, - { 0xD669, 0x731E }, - { 0xD66A, 0x7388 }, - { 0xD66B, 0x73F6 }, - { 0xD66C, 0x73F8 }, - { 0xD66D, 0x73F5 }, - { 0xD66E, 0x7404 }, - { 0xD66F, 0x7401 }, - { 0xD670, 0x73FD }, - { 0xD671, 0x7407 }, - { 0xD672, 0x7400 }, - { 0xD673, 0x73FA }, - { 0xD674, 0x73FC }, - { 0xD675, 0x73FF }, - { 0xD676, 0x740C }, - { 0xD677, 0x740B }, - { 0xD678, 0x73F4 }, - { 0xD679, 0x7408 }, - { 0xD67A, 0x7564 }, - { 0xD67B, 0x7563 }, - { 0xD67C, 0x75CE }, - { 0xD67D, 0x75D2 }, - { 0xD67E, 0x75CF }, - { 0xD6A1, 0x75CB }, - { 0xD6A2, 0x75CC }, - { 0xD6A3, 0x75D1 }, - { 0xD6A4, 0x75D0 }, - { 0xD6A5, 0x768F }, - { 0xD6A6, 0x7689 }, - { 0xD6A7, 0x76D3 }, - { 0xD6A8, 0x7739 }, - { 0xD6A9, 0x772F }, - { 0xD6AA, 0x772D }, - { 0xD6AB, 0x7731 }, - { 0xD6AC, 0x7732 }, - { 0xD6AD, 0x7734 }, - { 0xD6AE, 0x7733 }, - { 0xD6AF, 0x773D }, - { 0xD6B0, 0x7725 }, - { 0xD6B1, 0x773B }, - { 0xD6B2, 0x7735 }, - { 0xD6B3, 0x7848 }, - { 0xD6B4, 0x7852 }, - { 0xD6B5, 0x7849 }, - { 0xD6B6, 0x784D }, - { 0xD6B7, 0x784A }, - { 0xD6B8, 0x784C }, - { 0xD6B9, 0x7826 }, - { 0xD6BA, 0x7845 }, - { 0xD6BB, 0x7850 }, - { 0xD6BC, 0x7964 }, - { 0xD6BD, 0x7967 }, - { 0xD6BE, 0x7969 }, - { 0xD6BF, 0x796A }, - { 0xD6C0, 0x7963 }, - { 0xD6C1, 0x796B }, - { 0xD6C2, 0x7961 }, - { 0xD6C3, 0x79BB }, - { 0xD6C4, 0x79FA }, - { 0xD6C5, 0x79F8 }, - { 0xD6C6, 0x79F6 }, - { 0xD6C7, 0x79F7 }, - { 0xD6C8, 0x7A8F }, - { 0xD6C9, 0x7A94 }, - { 0xD6CA, 0x7A90 }, - { 0xD6CB, 0x7B35 }, - { 0xD6CC, 0x7B47 }, - { 0xD6CD, 0x7B34 }, - { 0xD6CE, 0x7B25 }, - { 0xD6CF, 0x7B30 }, - { 0xD6D0, 0x7B22 }, - { 0xD6D1, 0x7B24 }, - { 0xD6D2, 0x7B33 }, - { 0xD6D3, 0x7B18 }, - { 0xD6D4, 0x7B2A }, - { 0xD6D5, 0x7B1D }, - { 0xD6D6, 0x7B31 }, - { 0xD6D7, 0x7B2B }, - { 0xD6D8, 0x7B2D }, - { 0xD6D9, 0x7B2F }, - { 0xD6DA, 0x7B32 }, - { 0xD6DB, 0x7B38 }, - { 0xD6DC, 0x7B1A }, - { 0xD6DD, 0x7B23 }, - { 0xD6DE, 0x7C94 }, - { 0xD6DF, 0x7C98 }, - { 0xD6E0, 0x7C96 }, - { 0xD6E1, 0x7CA3 }, - { 0xD6E2, 0x7D35 }, - { 0xD6E3, 0x7D3D }, - { 0xD6E4, 0x7D38 }, - { 0xD6E5, 0x7D36 }, - { 0xD6E6, 0x7D3A }, - { 0xD6E7, 0x7D45 }, - { 0xD6E8, 0x7D2C }, - { 0xD6E9, 0x7D29 }, - { 0xD6EA, 0x7D41 }, - { 0xD6EB, 0x7D47 }, - { 0xD6EC, 0x7D3E }, - { 0xD6ED, 0x7D3F }, - { 0xD6EE, 0x7D4A }, - { 0xD6EF, 0x7D3B }, - { 0xD6F0, 0x7D28 }, - { 0xD6F1, 0x7F63 }, - { 0xD6F2, 0x7F95 }, - { 0xD6F3, 0x7F9C }, - { 0xD6F4, 0x7F9D }, - { 0xD6F5, 0x7F9B }, - { 0xD6F6, 0x7FCA }, - { 0xD6F7, 0x7FCB }, - { 0xD6F8, 0x7FCD }, - { 0xD6F9, 0x7FD0 }, - { 0xD6FA, 0x7FD1 }, - { 0xD6FB, 0x7FC7 }, - { 0xD6FC, 0x7FCF }, - { 0xD6FD, 0x7FC9 }, - { 0xD6FE, 0x801F }, - { 0xD740, 0x801E }, - { 0xD741, 0x801B }, - { 0xD742, 0x8047 }, - { 0xD743, 0x8043 }, - { 0xD744, 0x8048 }, - { 0xD745, 0x8118 }, - { 0xD746, 0x8125 }, - { 0xD747, 0x8119 }, - { 0xD748, 0x811B }, - { 0xD749, 0x812D }, - { 0xD74A, 0x811F }, - { 0xD74B, 0x812C }, - { 0xD74C, 0x811E }, - { 0xD74D, 0x8121 }, - { 0xD74E, 0x8115 }, - { 0xD74F, 0x8127 }, - { 0xD750, 0x811D }, - { 0xD751, 0x8122 }, - { 0xD752, 0x8211 }, - { 0xD753, 0x8238 }, - { 0xD754, 0x8233 }, - { 0xD755, 0x823A }, - { 0xD756, 0x8234 }, - { 0xD757, 0x8232 }, - { 0xD758, 0x8274 }, - { 0xD759, 0x8390 }, - { 0xD75A, 0x83A3 }, - { 0xD75B, 0x83A8 }, - { 0xD75C, 0x838D }, - { 0xD75D, 0x837A }, - { 0xD75E, 0x8373 }, - { 0xD75F, 0x83A4 }, - { 0xD760, 0x8374 }, - { 0xD761, 0x838F }, - { 0xD762, 0x8381 }, - { 0xD763, 0x8395 }, - { 0xD764, 0x8399 }, - { 0xD765, 0x8375 }, - { 0xD766, 0x8394 }, - { 0xD767, 0x83A9 }, - { 0xD768, 0x837D }, - { 0xD769, 0x8383 }, - { 0xD76A, 0x838C }, - { 0xD76B, 0x839D }, - { 0xD76C, 0x839B }, - { 0xD76D, 0x83AA }, - { 0xD76E, 0x838B }, - { 0xD76F, 0x837E }, - { 0xD770, 0x83A5 }, - { 0xD771, 0x83AF }, - { 0xD772, 0x8388 }, - { 0xD773, 0x8397 }, - { 0xD774, 0x83B0 }, - { 0xD775, 0x837F }, - { 0xD776, 0x83A6 }, - { 0xD777, 0x8387 }, - { 0xD778, 0x83AE }, - { 0xD779, 0x8376 }, - { 0xD77A, 0x839A }, - { 0xD77B, 0x8659 }, - { 0xD77C, 0x8656 }, - { 0xD77D, 0x86BF }, - { 0xD77E, 0x86B7 }, - { 0xD7A1, 0x86C2 }, - { 0xD7A2, 0x86C1 }, - { 0xD7A3, 0x86C5 }, - { 0xD7A4, 0x86BA }, - { 0xD7A5, 0x86B0 }, - { 0xD7A6, 0x86C8 }, - { 0xD7A7, 0x86B9 }, - { 0xD7A8, 0x86B3 }, - { 0xD7A9, 0x86B8 }, - { 0xD7AA, 0x86CC }, - { 0xD7AB, 0x86B4 }, - { 0xD7AC, 0x86BB }, - { 0xD7AD, 0x86BC }, - { 0xD7AE, 0x86C3 }, - { 0xD7AF, 0x86BD }, - { 0xD7B0, 0x86BE }, - { 0xD7B1, 0x8852 }, - { 0xD7B2, 0x8889 }, - { 0xD7B3, 0x8895 }, - { 0xD7B4, 0x88A8 }, - { 0xD7B5, 0x88A2 }, - { 0xD7B6, 0x88AA }, - { 0xD7B7, 0x889A }, - { 0xD7B8, 0x8891 }, - { 0xD7B9, 0x88A1 }, - { 0xD7BA, 0x889F }, - { 0xD7BB, 0x8898 }, - { 0xD7BC, 0x88A7 }, - { 0xD7BD, 0x8899 }, - { 0xD7BE, 0x889B }, - { 0xD7BF, 0x8897 }, - { 0xD7C0, 0x88A4 }, - { 0xD7C1, 0x88AC }, - { 0xD7C2, 0x888C }, - { 0xD7C3, 0x8893 }, - { 0xD7C4, 0x888E }, - { 0xD7C5, 0x8982 }, - { 0xD7C6, 0x89D6 }, - { 0xD7C7, 0x89D9 }, - { 0xD7C8, 0x89D5 }, - { 0xD7C9, 0x8A30 }, - { 0xD7CA, 0x8A27 }, - { 0xD7CB, 0x8A2C }, - { 0xD7CC, 0x8A1E }, - { 0xD7CD, 0x8C39 }, - { 0xD7CE, 0x8C3B }, - { 0xD7CF, 0x8C5C }, - { 0xD7D0, 0x8C5D }, - { 0xD7D1, 0x8C7D }, - { 0xD7D2, 0x8CA5 }, - { 0xD7D3, 0x8D7D }, - { 0xD7D4, 0x8D7B }, - { 0xD7D5, 0x8D79 }, - { 0xD7D6, 0x8DBC }, - { 0xD7D7, 0x8DC2 }, - { 0xD7D8, 0x8DB9 }, - { 0xD7D9, 0x8DBF }, - { 0xD7DA, 0x8DC1 }, - { 0xD7DB, 0x8ED8 }, - { 0xD7DC, 0x8EDE }, - { 0xD7DD, 0x8EDD }, - { 0xD7DE, 0x8EDC }, - { 0xD7DF, 0x8ED7 }, - { 0xD7E0, 0x8EE0 }, - { 0xD7E1, 0x8EE1 }, - { 0xD7E2, 0x9024 }, - { 0xD7E3, 0x900B }, - { 0xD7E4, 0x9011 }, - { 0xD7E5, 0x901C }, - { 0xD7E6, 0x900C }, - { 0xD7E7, 0x9021 }, - { 0xD7E8, 0x90EF }, - { 0xD7E9, 0x90EA }, - { 0xD7EA, 0x90F0 }, - { 0xD7EB, 0x90F4 }, - { 0xD7EC, 0x90F2 }, - { 0xD7ED, 0x90F3 }, - { 0xD7EE, 0x90D4 }, - { 0xD7EF, 0x90EB }, - { 0xD7F0, 0x90EC }, - { 0xD7F1, 0x90E9 }, - { 0xD7F2, 0x9156 }, - { 0xD7F3, 0x9158 }, - { 0xD7F4, 0x915A }, - { 0xD7F5, 0x9153 }, - { 0xD7F6, 0x9155 }, - { 0xD7F7, 0x91EC }, - { 0xD7F8, 0x91F4 }, - { 0xD7F9, 0x91F1 }, - { 0xD7FA, 0x91F3 }, - { 0xD7FB, 0x91F8 }, - { 0xD7FC, 0x91E4 }, - { 0xD7FD, 0x91F9 }, - { 0xD7FE, 0x91EA }, - { 0xD840, 0x91EB }, - { 0xD841, 0x91F7 }, - { 0xD842, 0x91E8 }, - { 0xD843, 0x91EE }, - { 0xD844, 0x957A }, - { 0xD845, 0x9586 }, - { 0xD846, 0x9588 }, - { 0xD847, 0x967C }, - { 0xD848, 0x966D }, - { 0xD849, 0x966B }, - { 0xD84A, 0x9671 }, - { 0xD84B, 0x966F }, - { 0xD84C, 0x96BF }, - { 0xD84D, 0x976A }, - { 0xD84E, 0x9804 }, - { 0xD84F, 0x98E5 }, - { 0xD850, 0x9997 }, - { 0xD851, 0x509B }, - { 0xD852, 0x5095 }, - { 0xD853, 0x5094 }, - { 0xD854, 0x509E }, - { 0xD855, 0x508B }, - { 0xD856, 0x50A3 }, - { 0xD857, 0x5083 }, - { 0xD858, 0x508C }, - { 0xD859, 0x508E }, - { 0xD85A, 0x509D }, - { 0xD85B, 0x5068 }, - { 0xD85C, 0x509C }, - { 0xD85D, 0x5092 }, - { 0xD85E, 0x5082 }, - { 0xD85F, 0x5087 }, - { 0xD860, 0x515F }, - { 0xD861, 0x51D4 }, - { 0xD862, 0x5312 }, - { 0xD863, 0x5311 }, - { 0xD864, 0x53A4 }, - { 0xD865, 0x53A7 }, - { 0xD866, 0x5591 }, - { 0xD867, 0x55A8 }, - { 0xD868, 0x55A5 }, - { 0xD869, 0x55AD }, - { 0xD86A, 0x5577 }, - { 0xD86B, 0x5645 }, - { 0xD86C, 0x55A2 }, - { 0xD86D, 0x5593 }, - { 0xD86E, 0x5588 }, - { 0xD86F, 0x558F }, - { 0xD870, 0x55B5 }, - { 0xD871, 0x5581 }, - { 0xD872, 0x55A3 }, - { 0xD873, 0x5592 }, - { 0xD874, 0x55A4 }, - { 0xD875, 0x557D }, - { 0xD876, 0x558C }, - { 0xD877, 0x55A6 }, - { 0xD878, 0x557F }, - { 0xD879, 0x5595 }, - { 0xD87A, 0x55A1 }, - { 0xD87B, 0x558E }, - { 0xD87C, 0x570C }, - { 0xD87D, 0x5829 }, - { 0xD87E, 0x5837 }, - { 0xD8A1, 0x5819 }, - { 0xD8A2, 0x581E }, - { 0xD8A3, 0x5827 }, - { 0xD8A4, 0x5823 }, - { 0xD8A5, 0x5828 }, - { 0xD8A6, 0x57F5 }, - { 0xD8A7, 0x5848 }, - { 0xD8A8, 0x5825 }, - { 0xD8A9, 0x581C }, - { 0xD8AA, 0x581B }, - { 0xD8AB, 0x5833 }, - { 0xD8AC, 0x583F }, - { 0xD8AD, 0x5836 }, - { 0xD8AE, 0x582E }, - { 0xD8AF, 0x5839 }, - { 0xD8B0, 0x5838 }, - { 0xD8B1, 0x582D }, - { 0xD8B2, 0x582C }, - { 0xD8B3, 0x583B }, - { 0xD8B4, 0x5961 }, - { 0xD8B5, 0x5AAF }, - { 0xD8B6, 0x5A94 }, - { 0xD8B7, 0x5A9F }, - { 0xD8B8, 0x5A7A }, - { 0xD8B9, 0x5AA2 }, - { 0xD8BA, 0x5A9E }, - { 0xD8BB, 0x5A78 }, - { 0xD8BC, 0x5AA6 }, - { 0xD8BD, 0x5A7C }, - { 0xD8BE, 0x5AA5 }, - { 0xD8BF, 0x5AAC }, - { 0xD8C0, 0x5A95 }, - { 0xD8C1, 0x5AAE }, - { 0xD8C2, 0x5A37 }, - { 0xD8C3, 0x5A84 }, - { 0xD8C4, 0x5A8A }, - { 0xD8C5, 0x5A97 }, - { 0xD8C6, 0x5A83 }, - { 0xD8C7, 0x5A8B }, - { 0xD8C8, 0x5AA9 }, - { 0xD8C9, 0x5A7B }, - { 0xD8CA, 0x5A7D }, - { 0xD8CB, 0x5A8C }, - { 0xD8CC, 0x5A9C }, - { 0xD8CD, 0x5A8F }, - { 0xD8CE, 0x5A93 }, - { 0xD8CF, 0x5A9D }, - { 0xD8D0, 0x5BEA }, - { 0xD8D1, 0x5BCD }, - { 0xD8D2, 0x5BCB }, - { 0xD8D3, 0x5BD4 }, - { 0xD8D4, 0x5BD1 }, - { 0xD8D5, 0x5BCA }, - { 0xD8D6, 0x5BCE }, - { 0xD8D7, 0x5C0C }, - { 0xD8D8, 0x5C30 }, - { 0xD8D9, 0x5D37 }, - { 0xD8DA, 0x5D43 }, - { 0xD8DB, 0x5D6B }, - { 0xD8DC, 0x5D41 }, - { 0xD8DD, 0x5D4B }, - { 0xD8DE, 0x5D3F }, - { 0xD8DF, 0x5D35 }, - { 0xD8E0, 0x5D51 }, - { 0xD8E1, 0x5D4E }, - { 0xD8E2, 0x5D55 }, - { 0xD8E3, 0x5D33 }, - { 0xD8E4, 0x5D3A }, - { 0xD8E5, 0x5D52 }, - { 0xD8E6, 0x5D3D }, - { 0xD8E7, 0x5D31 }, - { 0xD8E8, 0x5D59 }, - { 0xD8E9, 0x5D42 }, - { 0xD8EA, 0x5D39 }, - { 0xD8EB, 0x5D49 }, - { 0xD8EC, 0x5D38 }, - { 0xD8ED, 0x5D3C }, - { 0xD8EE, 0x5D32 }, - { 0xD8EF, 0x5D36 }, - { 0xD8F0, 0x5D40 }, - { 0xD8F1, 0x5D45 }, - { 0xD8F2, 0x5E44 }, - { 0xD8F3, 0x5E41 }, - { 0xD8F4, 0x5F58 }, - { 0xD8F5, 0x5FA6 }, - { 0xD8F6, 0x5FA5 }, - { 0xD8F7, 0x5FAB }, - { 0xD8F8, 0x60C9 }, - { 0xD8F9, 0x60B9 }, - { 0xD8FA, 0x60CC }, - { 0xD8FB, 0x60E2 }, - { 0xD8FC, 0x60CE }, - { 0xD8FD, 0x60C4 }, - { 0xD8FE, 0x6114 }, - { 0xD940, 0x60F2 }, - { 0xD941, 0x610A }, - { 0xD942, 0x6116 }, - { 0xD943, 0x6105 }, - { 0xD944, 0x60F5 }, - { 0xD945, 0x6113 }, - { 0xD946, 0x60F8 }, - { 0xD947, 0x60FC }, - { 0xD948, 0x60FE }, - { 0xD949, 0x60C1 }, - { 0xD94A, 0x6103 }, - { 0xD94B, 0x6118 }, - { 0xD94C, 0x611D }, - { 0xD94D, 0x6110 }, - { 0xD94E, 0x60FF }, - { 0xD94F, 0x6104 }, - { 0xD950, 0x610B }, - { 0xD951, 0x624A }, - { 0xD952, 0x6394 }, - { 0xD953, 0x63B1 }, - { 0xD954, 0x63B0 }, - { 0xD955, 0x63CE }, - { 0xD956, 0x63E5 }, - { 0xD957, 0x63E8 }, - { 0xD958, 0x63EF }, - { 0xD959, 0x63C3 }, - { 0xD95A, 0x649D }, - { 0xD95B, 0x63F3 }, - { 0xD95C, 0x63CA }, - { 0xD95D, 0x63E0 }, - { 0xD95E, 0x63F6 }, - { 0xD95F, 0x63D5 }, - { 0xD960, 0x63F2 }, - { 0xD961, 0x63F5 }, - { 0xD962, 0x6461 }, - { 0xD963, 0x63DF }, - { 0xD964, 0x63BE }, - { 0xD965, 0x63DD }, - { 0xD966, 0x63DC }, - { 0xD967, 0x63C4 }, - { 0xD968, 0x63D8 }, - { 0xD969, 0x63D3 }, - { 0xD96A, 0x63C2 }, - { 0xD96B, 0x63C7 }, - { 0xD96C, 0x63CC }, - { 0xD96D, 0x63CB }, - { 0xD96E, 0x63C8 }, - { 0xD96F, 0x63F0 }, - { 0xD970, 0x63D7 }, - { 0xD971, 0x63D9 }, - { 0xD972, 0x6532 }, - { 0xD973, 0x6567 }, - { 0xD974, 0x656A }, - { 0xD975, 0x6564 }, - { 0xD976, 0x655C }, - { 0xD977, 0x6568 }, - { 0xD978, 0x6565 }, - { 0xD979, 0x658C }, - { 0xD97A, 0x659D }, - { 0xD97B, 0x659E }, - { 0xD97C, 0x65AE }, - { 0xD97D, 0x65D0 }, - { 0xD97E, 0x65D2 }, - { 0xD9A1, 0x667C }, - { 0xD9A2, 0x666C }, - { 0xD9A3, 0x667B }, - { 0xD9A4, 0x6680 }, - { 0xD9A5, 0x6671 }, - { 0xD9A6, 0x6679 }, - { 0xD9A7, 0x666A }, - { 0xD9A8, 0x6672 }, - { 0xD9A9, 0x6701 }, - { 0xD9AA, 0x690C }, - { 0xD9AB, 0x68D3 }, - { 0xD9AC, 0x6904 }, - { 0xD9AD, 0x68DC }, - { 0xD9AE, 0x692A }, - { 0xD9AF, 0x68EC }, - { 0xD9B0, 0x68EA }, - { 0xD9B1, 0x68F1 }, - { 0xD9B2, 0x690F }, - { 0xD9B3, 0x68D6 }, - { 0xD9B4, 0x68F7 }, - { 0xD9B5, 0x68EB }, - { 0xD9B6, 0x68E4 }, - { 0xD9B7, 0x68F6 }, - { 0xD9B8, 0x6913 }, - { 0xD9B9, 0x6910 }, - { 0xD9BA, 0x68F3 }, - { 0xD9BB, 0x68E1 }, - { 0xD9BC, 0x6907 }, - { 0xD9BD, 0x68CC }, - { 0xD9BE, 0x6908 }, - { 0xD9BF, 0x6970 }, - { 0xD9C0, 0x68B4 }, - { 0xD9C1, 0x6911 }, - { 0xD9C2, 0x68EF }, - { 0xD9C3, 0x68C6 }, - { 0xD9C4, 0x6914 }, - { 0xD9C5, 0x68F8 }, - { 0xD9C6, 0x68D0 }, - { 0xD9C7, 0x68FD }, - { 0xD9C8, 0x68FC }, - { 0xD9C9, 0x68E8 }, - { 0xD9CA, 0x690B }, - { 0xD9CB, 0x690A }, - { 0xD9CC, 0x6917 }, - { 0xD9CD, 0x68CE }, - { 0xD9CE, 0x68C8 }, - { 0xD9CF, 0x68DD }, - { 0xD9D0, 0x68DE }, - { 0xD9D1, 0x68E6 }, - { 0xD9D2, 0x68F4 }, - { 0xD9D3, 0x68D1 }, - { 0xD9D4, 0x6906 }, - { 0xD9D5, 0x68D4 }, - { 0xD9D6, 0x68E9 }, - { 0xD9D7, 0x6915 }, - { 0xD9D8, 0x6925 }, - { 0xD9D9, 0x68C7 }, - { 0xD9DA, 0x6B39 }, - { 0xD9DB, 0x6B3B }, - { 0xD9DC, 0x6B3F }, - { 0xD9DD, 0x6B3C }, - { 0xD9DE, 0x6B94 }, - { 0xD9DF, 0x6B97 }, - { 0xD9E0, 0x6B99 }, - { 0xD9E1, 0x6B95 }, - { 0xD9E2, 0x6BBD }, - { 0xD9E3, 0x6BF0 }, - { 0xD9E4, 0x6BF2 }, - { 0xD9E5, 0x6BF3 }, - { 0xD9E6, 0x6C30 }, - { 0xD9E7, 0x6DFC }, - { 0xD9E8, 0x6E46 }, - { 0xD9E9, 0x6E47 }, - { 0xD9EA, 0x6E1F }, - { 0xD9EB, 0x6E49 }, - { 0xD9EC, 0x6E88 }, - { 0xD9ED, 0x6E3C }, - { 0xD9EE, 0x6E3D }, - { 0xD9EF, 0x6E45 }, - { 0xD9F0, 0x6E62 }, - { 0xD9F1, 0x6E2B }, - { 0xD9F2, 0x6E3F }, - { 0xD9F3, 0x6E41 }, - { 0xD9F4, 0x6E5D }, - { 0xD9F5, 0x6E73 }, - { 0xD9F6, 0x6E1C }, - { 0xD9F7, 0x6E33 }, - { 0xD9F8, 0x6E4B }, - { 0xD9F9, 0x6E40 }, - { 0xD9FA, 0x6E51 }, - { 0xD9FB, 0x6E3B }, - { 0xD9FC, 0x6E03 }, - { 0xD9FD, 0x6E2E }, - { 0xD9FE, 0x6E5E }, - { 0xDA40, 0x6E68 }, - { 0xDA41, 0x6E5C }, - { 0xDA42, 0x6E61 }, - { 0xDA43, 0x6E31 }, - { 0xDA44, 0x6E28 }, - { 0xDA45, 0x6E60 }, - { 0xDA46, 0x6E71 }, - { 0xDA47, 0x6E6B }, - { 0xDA48, 0x6E39 }, - { 0xDA49, 0x6E22 }, - { 0xDA4A, 0x6E30 }, - { 0xDA4B, 0x6E53 }, - { 0xDA4C, 0x6E65 }, - { 0xDA4D, 0x6E27 }, - { 0xDA4E, 0x6E78 }, - { 0xDA4F, 0x6E64 }, - { 0xDA50, 0x6E77 }, - { 0xDA51, 0x6E55 }, - { 0xDA52, 0x6E79 }, - { 0xDA53, 0x6E52 }, - { 0xDA54, 0x6E66 }, - { 0xDA55, 0x6E35 }, - { 0xDA56, 0x6E36 }, - { 0xDA57, 0x6E5A }, - { 0xDA58, 0x7120 }, - { 0xDA59, 0x711E }, - { 0xDA5A, 0x712F }, - { 0xDA5B, 0x70FB }, - { 0xDA5C, 0x712E }, - { 0xDA5D, 0x7131 }, - { 0xDA5E, 0x7123 }, - { 0xDA5F, 0x7125 }, - { 0xDA60, 0x7122 }, - { 0xDA61, 0x7132 }, - { 0xDA62, 0x711F }, - { 0xDA63, 0x7128 }, - { 0xDA64, 0x713A }, - { 0xDA65, 0x711B }, - { 0xDA66, 0x724B }, - { 0xDA67, 0x725A }, - { 0xDA68, 0x7288 }, - { 0xDA69, 0x7289 }, - { 0xDA6A, 0x7286 }, - { 0xDA6B, 0x7285 }, - { 0xDA6C, 0x728B }, - { 0xDA6D, 0x7312 }, - { 0xDA6E, 0x730B }, - { 0xDA6F, 0x7330 }, - { 0xDA70, 0x7322 }, - { 0xDA71, 0x7331 }, - { 0xDA72, 0x7333 }, - { 0xDA73, 0x7327 }, - { 0xDA74, 0x7332 }, - { 0xDA75, 0x732D }, - { 0xDA76, 0x7326 }, - { 0xDA77, 0x7323 }, - { 0xDA78, 0x7335 }, - { 0xDA79, 0x730C }, - { 0xDA7A, 0x742E }, - { 0xDA7B, 0x742C }, - { 0xDA7C, 0x7430 }, - { 0xDA7D, 0x742B }, - { 0xDA7E, 0x7416 }, - { 0xDAA1, 0x741A }, - { 0xDAA2, 0x7421 }, - { 0xDAA3, 0x742D }, - { 0xDAA4, 0x7431 }, - { 0xDAA5, 0x7424 }, - { 0xDAA6, 0x7423 }, - { 0xDAA7, 0x741D }, - { 0xDAA8, 0x7429 }, - { 0xDAA9, 0x7420 }, - { 0xDAAA, 0x7432 }, - { 0xDAAB, 0x74FB }, - { 0xDAAC, 0x752F }, - { 0xDAAD, 0x756F }, - { 0xDAAE, 0x756C }, - { 0xDAAF, 0x75E7 }, - { 0xDAB0, 0x75DA }, - { 0xDAB1, 0x75E1 }, - { 0xDAB2, 0x75E6 }, - { 0xDAB3, 0x75DD }, - { 0xDAB4, 0x75DF }, - { 0xDAB5, 0x75E4 }, - { 0xDAB6, 0x75D7 }, - { 0xDAB7, 0x7695 }, - { 0xDAB8, 0x7692 }, - { 0xDAB9, 0x76DA }, - { 0xDABA, 0x7746 }, - { 0xDABB, 0x7747 }, - { 0xDABC, 0x7744 }, - { 0xDABD, 0x774D }, - { 0xDABE, 0x7745 }, - { 0xDABF, 0x774A }, - { 0xDAC0, 0x774E }, - { 0xDAC1, 0x774B }, - { 0xDAC2, 0x774C }, - { 0xDAC3, 0x77DE }, - { 0xDAC4, 0x77EC }, - { 0xDAC5, 0x7860 }, - { 0xDAC6, 0x7864 }, - { 0xDAC7, 0x7865 }, - { 0xDAC8, 0x785C }, - { 0xDAC9, 0x786D }, - { 0xDACA, 0x7871 }, - { 0xDACB, 0x786A }, - { 0xDACC, 0x786E }, - { 0xDACD, 0x7870 }, - { 0xDACE, 0x7869 }, - { 0xDACF, 0x7868 }, - { 0xDAD0, 0x785E }, - { 0xDAD1, 0x7862 }, - { 0xDAD2, 0x7974 }, - { 0xDAD3, 0x7973 }, - { 0xDAD4, 0x7972 }, - { 0xDAD5, 0x7970 }, - { 0xDAD6, 0x7A02 }, - { 0xDAD7, 0x7A0A }, - { 0xDAD8, 0x7A03 }, - { 0xDAD9, 0x7A0C }, - { 0xDADA, 0x7A04 }, - { 0xDADB, 0x7A99 }, - { 0xDADC, 0x7AE6 }, - { 0xDADD, 0x7AE4 }, - { 0xDADE, 0x7B4A }, - { 0xDADF, 0x7B3B }, - { 0xDAE0, 0x7B44 }, - { 0xDAE1, 0x7B48 }, - { 0xDAE2, 0x7B4C }, - { 0xDAE3, 0x7B4E }, - { 0xDAE4, 0x7B40 }, - { 0xDAE5, 0x7B58 }, - { 0xDAE6, 0x7B45 }, - { 0xDAE7, 0x7CA2 }, - { 0xDAE8, 0x7C9E }, - { 0xDAE9, 0x7CA8 }, - { 0xDAEA, 0x7CA1 }, - { 0xDAEB, 0x7D58 }, - { 0xDAEC, 0x7D6F }, - { 0xDAED, 0x7D63 }, - { 0xDAEE, 0x7D53 }, - { 0xDAEF, 0x7D56 }, - { 0xDAF0, 0x7D67 }, - { 0xDAF1, 0x7D6A }, - { 0xDAF2, 0x7D4F }, - { 0xDAF3, 0x7D6D }, - { 0xDAF4, 0x7D5C }, - { 0xDAF5, 0x7D6B }, - { 0xDAF6, 0x7D52 }, - { 0xDAF7, 0x7D54 }, - { 0xDAF8, 0x7D69 }, - { 0xDAF9, 0x7D51 }, - { 0xDAFA, 0x7D5F }, - { 0xDAFB, 0x7D4E }, - { 0xDAFC, 0x7F3E }, - { 0xDAFD, 0x7F3F }, - { 0xDAFE, 0x7F65 }, - { 0xDB40, 0x7F66 }, - { 0xDB41, 0x7FA2 }, - { 0xDB42, 0x7FA0 }, - { 0xDB43, 0x7FA1 }, - { 0xDB44, 0x7FD7 }, - { 0xDB45, 0x8051 }, - { 0xDB46, 0x804F }, - { 0xDB47, 0x8050 }, - { 0xDB48, 0x80FE }, - { 0xDB49, 0x80D4 }, - { 0xDB4A, 0x8143 }, - { 0xDB4B, 0x814A }, - { 0xDB4C, 0x8152 }, - { 0xDB4D, 0x814F }, - { 0xDB4E, 0x8147 }, - { 0xDB4F, 0x813D }, - { 0xDB50, 0x814D }, - { 0xDB51, 0x813A }, - { 0xDB52, 0x81E6 }, - { 0xDB53, 0x81EE }, - { 0xDB54, 0x81F7 }, - { 0xDB55, 0x81F8 }, - { 0xDB56, 0x81F9 }, - { 0xDB57, 0x8204 }, - { 0xDB58, 0x823C }, - { 0xDB59, 0x823D }, - { 0xDB5A, 0x823F }, - { 0xDB5B, 0x8275 }, - { 0xDB5C, 0x833B }, - { 0xDB5D, 0x83CF }, - { 0xDB5E, 0x83F9 }, - { 0xDB5F, 0x8423 }, - { 0xDB60, 0x83C0 }, - { 0xDB61, 0x83E8 }, - { 0xDB62, 0x8412 }, - { 0xDB63, 0x83E7 }, - { 0xDB64, 0x83E4 }, - { 0xDB65, 0x83FC }, - { 0xDB66, 0x83F6 }, - { 0xDB67, 0x8410 }, - { 0xDB68, 0x83C6 }, - { 0xDB69, 0x83C8 }, - { 0xDB6A, 0x83EB }, - { 0xDB6B, 0x83E3 }, - { 0xDB6C, 0x83BF }, - { 0xDB6D, 0x8401 }, - { 0xDB6E, 0x83DD }, - { 0xDB6F, 0x83E5 }, - { 0xDB70, 0x83D8 }, - { 0xDB71, 0x83FF }, - { 0xDB72, 0x83E1 }, - { 0xDB73, 0x83CB }, - { 0xDB74, 0x83CE }, - { 0xDB75, 0x83D6 }, - { 0xDB76, 0x83F5 }, - { 0xDB77, 0x83C9 }, - { 0xDB78, 0x8409 }, - { 0xDB79, 0x840F }, - { 0xDB7A, 0x83DE }, - { 0xDB7B, 0x8411 }, - { 0xDB7C, 0x8406 }, - { 0xDB7D, 0x83C2 }, - { 0xDB7E, 0x83F3 }, - { 0xDBA1, 0x83D5 }, - { 0xDBA2, 0x83FA }, - { 0xDBA3, 0x83C7 }, - { 0xDBA4, 0x83D1 }, - { 0xDBA5, 0x83EA }, - { 0xDBA6, 0x8413 }, - { 0xDBA7, 0x83C3 }, - { 0xDBA8, 0x83EC }, - { 0xDBA9, 0x83EE }, - { 0xDBAA, 0x83C4 }, - { 0xDBAB, 0x83FB }, - { 0xDBAC, 0x83D7 }, - { 0xDBAD, 0x83E2 }, - { 0xDBAE, 0x841B }, - { 0xDBAF, 0x83DB }, - { 0xDBB0, 0x83FE }, - { 0xDBB1, 0x86D8 }, - { 0xDBB2, 0x86E2 }, - { 0xDBB3, 0x86E6 }, - { 0xDBB4, 0x86D3 }, - { 0xDBB5, 0x86E3 }, - { 0xDBB6, 0x86DA }, - { 0xDBB7, 0x86EA }, - { 0xDBB8, 0x86DD }, - { 0xDBB9, 0x86EB }, - { 0xDBBA, 0x86DC }, - { 0xDBBB, 0x86EC }, - { 0xDBBC, 0x86E9 }, - { 0xDBBD, 0x86D7 }, - { 0xDBBE, 0x86E8 }, - { 0xDBBF, 0x86D1 }, - { 0xDBC0, 0x8848 }, - { 0xDBC1, 0x8856 }, - { 0xDBC2, 0x8855 }, - { 0xDBC3, 0x88BA }, - { 0xDBC4, 0x88D7 }, - { 0xDBC5, 0x88B9 }, - { 0xDBC6, 0x88B8 }, - { 0xDBC7, 0x88C0 }, - { 0xDBC8, 0x88BE }, - { 0xDBC9, 0x88B6 }, - { 0xDBCA, 0x88BC }, - { 0xDBCB, 0x88B7 }, - { 0xDBCC, 0x88BD }, - { 0xDBCD, 0x88B2 }, - { 0xDBCE, 0x8901 }, - { 0xDBCF, 0x88C9 }, - { 0xDBD0, 0x8995 }, - { 0xDBD1, 0x8998 }, - { 0xDBD2, 0x8997 }, - { 0xDBD3, 0x89DD }, - { 0xDBD4, 0x89DA }, - { 0xDBD5, 0x89DB }, - { 0xDBD6, 0x8A4E }, - { 0xDBD7, 0x8A4D }, - { 0xDBD8, 0x8A39 }, - { 0xDBD9, 0x8A59 }, - { 0xDBDA, 0x8A40 }, - { 0xDBDB, 0x8A57 }, - { 0xDBDC, 0x8A58 }, - { 0xDBDD, 0x8A44 }, - { 0xDBDE, 0x8A45 }, - { 0xDBDF, 0x8A52 }, - { 0xDBE0, 0x8A48 }, - { 0xDBE1, 0x8A51 }, - { 0xDBE2, 0x8A4A }, - { 0xDBE3, 0x8A4C }, - { 0xDBE4, 0x8A4F }, - { 0xDBE5, 0x8C5F }, - { 0xDBE6, 0x8C81 }, - { 0xDBE7, 0x8C80 }, - { 0xDBE8, 0x8CBA }, - { 0xDBE9, 0x8CBE }, - { 0xDBEA, 0x8CB0 }, - { 0xDBEB, 0x8CB9 }, - { 0xDBEC, 0x8CB5 }, - { 0xDBED, 0x8D84 }, - { 0xDBEE, 0x8D80 }, - { 0xDBEF, 0x8D89 }, - { 0xDBF0, 0x8DD8 }, - { 0xDBF1, 0x8DD3 }, - { 0xDBF2, 0x8DCD }, - { 0xDBF3, 0x8DC7 }, - { 0xDBF4, 0x8DD6 }, - { 0xDBF5, 0x8DDC }, - { 0xDBF6, 0x8DCF }, - { 0xDBF7, 0x8DD5 }, - { 0xDBF8, 0x8DD9 }, - { 0xDBF9, 0x8DC8 }, - { 0xDBFA, 0x8DD7 }, - { 0xDBFB, 0x8DC5 }, - { 0xDBFC, 0x8EEF }, - { 0xDBFD, 0x8EF7 }, - { 0xDBFE, 0x8EFA }, - { 0xDC40, 0x8EF9 }, - { 0xDC41, 0x8EE6 }, - { 0xDC42, 0x8EEE }, - { 0xDC43, 0x8EE5 }, - { 0xDC44, 0x8EF5 }, - { 0xDC45, 0x8EE7 }, - { 0xDC46, 0x8EE8 }, - { 0xDC47, 0x8EF6 }, - { 0xDC48, 0x8EEB }, - { 0xDC49, 0x8EF1 }, - { 0xDC4A, 0x8EEC }, - { 0xDC4B, 0x8EF4 }, - { 0xDC4C, 0x8EE9 }, - { 0xDC4D, 0x902D }, - { 0xDC4E, 0x9034 }, - { 0xDC4F, 0x902F }, - { 0xDC50, 0x9106 }, - { 0xDC51, 0x912C }, - { 0xDC52, 0x9104 }, - { 0xDC53, 0x90FF }, - { 0xDC54, 0x90FC }, - { 0xDC55, 0x9108 }, - { 0xDC56, 0x90F9 }, - { 0xDC57, 0x90FB }, - { 0xDC58, 0x9101 }, - { 0xDC59, 0x9100 }, - { 0xDC5A, 0x9107 }, - { 0xDC5B, 0x9105 }, - { 0xDC5C, 0x9103 }, - { 0xDC5D, 0x9161 }, - { 0xDC5E, 0x9164 }, - { 0xDC5F, 0x915F }, - { 0xDC60, 0x9162 }, - { 0xDC61, 0x9160 }, - { 0xDC62, 0x9201 }, - { 0xDC63, 0x920A }, - { 0xDC64, 0x9225 }, - { 0xDC65, 0x9203 }, - { 0xDC66, 0x921A }, - { 0xDC67, 0x9226 }, - { 0xDC68, 0x920F }, - { 0xDC69, 0x920C }, - { 0xDC6A, 0x9200 }, - { 0xDC6B, 0x9212 }, - { 0xDC6C, 0x91FF }, - { 0xDC6D, 0x91FD }, - { 0xDC6E, 0x9206 }, - { 0xDC6F, 0x9204 }, - { 0xDC70, 0x9227 }, - { 0xDC71, 0x9202 }, - { 0xDC72, 0x921C }, - { 0xDC73, 0x9224 }, - { 0xDC74, 0x9219 }, - { 0xDC75, 0x9217 }, - { 0xDC76, 0x9205 }, - { 0xDC77, 0x9216 }, - { 0xDC78, 0x957B }, - { 0xDC79, 0x958D }, - { 0xDC7A, 0x958C }, - { 0xDC7B, 0x9590 }, - { 0xDC7C, 0x9687 }, - { 0xDC7D, 0x967E }, - { 0xDC7E, 0x9688 }, - { 0xDCA1, 0x9689 }, - { 0xDCA2, 0x9683 }, - { 0xDCA3, 0x9680 }, - { 0xDCA4, 0x96C2 }, - { 0xDCA5, 0x96C8 }, - { 0xDCA6, 0x96C3 }, - { 0xDCA7, 0x96F1 }, - { 0xDCA8, 0x96F0 }, - { 0xDCA9, 0x976C }, - { 0xDCAA, 0x9770 }, - { 0xDCAB, 0x976E }, - { 0xDCAC, 0x9807 }, - { 0xDCAD, 0x98A9 }, - { 0xDCAE, 0x98EB }, - { 0xDCAF, 0x9CE6 }, - { 0xDCB0, 0x9EF9 }, - { 0xDCB1, 0x4E83 }, - { 0xDCB2, 0x4E84 }, - { 0xDCB3, 0x4EB6 }, - { 0xDCB4, 0x50BD }, - { 0xDCB5, 0x50BF }, - { 0xDCB6, 0x50C6 }, - { 0xDCB7, 0x50AE }, - { 0xDCB8, 0x50C4 }, - { 0xDCB9, 0x50CA }, - { 0xDCBA, 0x50B4 }, - { 0xDCBB, 0x50C8 }, - { 0xDCBC, 0x50C2 }, - { 0xDCBD, 0x50B0 }, - { 0xDCBE, 0x50C1 }, - { 0xDCBF, 0x50BA }, - { 0xDCC0, 0x50B1 }, - { 0xDCC1, 0x50CB }, - { 0xDCC2, 0x50C9 }, - { 0xDCC3, 0x50B6 }, - { 0xDCC4, 0x50B8 }, - { 0xDCC5, 0x51D7 }, - { 0xDCC6, 0x527A }, - { 0xDCC7, 0x5278 }, - { 0xDCC8, 0x527B }, - { 0xDCC9, 0x527C }, - { 0xDCCA, 0x55C3 }, - { 0xDCCB, 0x55DB }, - { 0xDCCC, 0x55CC }, - { 0xDCCD, 0x55D0 }, - { 0xDCCE, 0x55CB }, - { 0xDCCF, 0x55CA }, - { 0xDCD0, 0x55DD }, - { 0xDCD1, 0x55C0 }, - { 0xDCD2, 0x55D4 }, - { 0xDCD3, 0x55C4 }, - { 0xDCD4, 0x55E9 }, - { 0xDCD5, 0x55BF }, - { 0xDCD6, 0x55D2 }, - { 0xDCD7, 0x558D }, - { 0xDCD8, 0x55CF }, - { 0xDCD9, 0x55D5 }, - { 0xDCDA, 0x55E2 }, - { 0xDCDB, 0x55D6 }, - { 0xDCDC, 0x55C8 }, - { 0xDCDD, 0x55F2 }, - { 0xDCDE, 0x55CD }, - { 0xDCDF, 0x55D9 }, - { 0xDCE0, 0x55C2 }, - { 0xDCE1, 0x5714 }, - { 0xDCE2, 0x5853 }, - { 0xDCE3, 0x5868 }, - { 0xDCE4, 0x5864 }, - { 0xDCE5, 0x584F }, - { 0xDCE6, 0x584D }, - { 0xDCE7, 0x5849 }, - { 0xDCE8, 0x586F }, - { 0xDCE9, 0x5855 }, - { 0xDCEA, 0x584E }, - { 0xDCEB, 0x585D }, - { 0xDCEC, 0x5859 }, - { 0xDCED, 0x5865 }, - { 0xDCEE, 0x585B }, - { 0xDCEF, 0x583D }, - { 0xDCF0, 0x5863 }, - { 0xDCF1, 0x5871 }, - { 0xDCF2, 0x58FC }, - { 0xDCF3, 0x5AC7 }, - { 0xDCF4, 0x5AC4 }, - { 0xDCF5, 0x5ACB }, - { 0xDCF6, 0x5ABA }, - { 0xDCF7, 0x5AB8 }, - { 0xDCF8, 0x5AB1 }, - { 0xDCF9, 0x5AB5 }, - { 0xDCFA, 0x5AB0 }, - { 0xDCFB, 0x5ABF }, - { 0xDCFC, 0x5AC8 }, - { 0xDCFD, 0x5ABB }, - { 0xDCFE, 0x5AC6 }, - { 0xDD40, 0x5AB7 }, - { 0xDD41, 0x5AC0 }, - { 0xDD42, 0x5ACA }, - { 0xDD43, 0x5AB4 }, - { 0xDD44, 0x5AB6 }, - { 0xDD45, 0x5ACD }, - { 0xDD46, 0x5AB9 }, - { 0xDD47, 0x5A90 }, - { 0xDD48, 0x5BD6 }, - { 0xDD49, 0x5BD8 }, - { 0xDD4A, 0x5BD9 }, - { 0xDD4B, 0x5C1F }, - { 0xDD4C, 0x5C33 }, - { 0xDD4D, 0x5D71 }, - { 0xDD4E, 0x5D63 }, - { 0xDD4F, 0x5D4A }, - { 0xDD50, 0x5D65 }, - { 0xDD51, 0x5D72 }, - { 0xDD52, 0x5D6C }, - { 0xDD53, 0x5D5E }, - { 0xDD54, 0x5D68 }, - { 0xDD55, 0x5D67 }, - { 0xDD56, 0x5D62 }, - { 0xDD57, 0x5DF0 }, - { 0xDD58, 0x5E4F }, - { 0xDD59, 0x5E4E }, - { 0xDD5A, 0x5E4A }, - { 0xDD5B, 0x5E4D }, - { 0xDD5C, 0x5E4B }, - { 0xDD5D, 0x5EC5 }, - { 0xDD5E, 0x5ECC }, - { 0xDD5F, 0x5EC6 }, - { 0xDD60, 0x5ECB }, - { 0xDD61, 0x5EC7 }, - { 0xDD62, 0x5F40 }, - { 0xDD63, 0x5FAF }, - { 0xDD64, 0x5FAD }, - { 0xDD65, 0x60F7 }, - { 0xDD66, 0x6149 }, - { 0xDD67, 0x614A }, - { 0xDD68, 0x612B }, - { 0xDD69, 0x6145 }, - { 0xDD6A, 0x6136 }, - { 0xDD6B, 0x6132 }, - { 0xDD6C, 0x612E }, - { 0xDD6D, 0x6146 }, - { 0xDD6E, 0x612F }, - { 0xDD6F, 0x614F }, - { 0xDD70, 0x6129 }, - { 0xDD71, 0x6140 }, - { 0xDD72, 0x6220 }, - { 0xDD73, 0x9168 }, - { 0xDD74, 0x6223 }, - { 0xDD75, 0x6225 }, - { 0xDD76, 0x6224 }, - { 0xDD77, 0x63C5 }, - { 0xDD78, 0x63F1 }, - { 0xDD79, 0x63EB }, - { 0xDD7A, 0x6410 }, - { 0xDD7B, 0x6412 }, - { 0xDD7C, 0x6409 }, - { 0xDD7D, 0x6420 }, - { 0xDD7E, 0x6424 }, - { 0xDDA1, 0x6433 }, - { 0xDDA2, 0x6443 }, - { 0xDDA3, 0x641F }, - { 0xDDA4, 0x6415 }, - { 0xDDA5, 0x6418 }, - { 0xDDA6, 0x6439 }, - { 0xDDA7, 0x6437 }, - { 0xDDA8, 0x6422 }, - { 0xDDA9, 0x6423 }, - { 0xDDAA, 0x640C }, - { 0xDDAB, 0x6426 }, - { 0xDDAC, 0x6430 }, - { 0xDDAD, 0x6428 }, - { 0xDDAE, 0x6441 }, - { 0xDDAF, 0x6435 }, - { 0xDDB0, 0x642F }, - { 0xDDB1, 0x640A }, - { 0xDDB2, 0x641A }, - { 0xDDB3, 0x6440 }, - { 0xDDB4, 0x6425 }, - { 0xDDB5, 0x6427 }, - { 0xDDB6, 0x640B }, - { 0xDDB7, 0x63E7 }, - { 0xDDB8, 0x641B }, - { 0xDDB9, 0x642E }, - { 0xDDBA, 0x6421 }, - { 0xDDBB, 0x640E }, - { 0xDDBC, 0x656F }, - { 0xDDBD, 0x6592 }, - { 0xDDBE, 0x65D3 }, - { 0xDDBF, 0x6686 }, - { 0xDDC0, 0x668C }, - { 0xDDC1, 0x6695 }, - { 0xDDC2, 0x6690 }, - { 0xDDC3, 0x668B }, - { 0xDDC4, 0x668A }, - { 0xDDC5, 0x6699 }, - { 0xDDC6, 0x6694 }, - { 0xDDC7, 0x6678 }, - { 0xDDC8, 0x6720 }, - { 0xDDC9, 0x6966 }, - { 0xDDCA, 0x695F }, - { 0xDDCB, 0x6938 }, - { 0xDDCC, 0x694E }, - { 0xDDCD, 0x6962 }, - { 0xDDCE, 0x6971 }, - { 0xDDCF, 0x693F }, - { 0xDDD0, 0x6945 }, - { 0xDDD1, 0x696A }, - { 0xDDD2, 0x6939 }, - { 0xDDD3, 0x6942 }, - { 0xDDD4, 0x6957 }, - { 0xDDD5, 0x6959 }, - { 0xDDD6, 0x697A }, - { 0xDDD7, 0x6948 }, - { 0xDDD8, 0x6949 }, - { 0xDDD9, 0x6935 }, - { 0xDDDA, 0x696C }, - { 0xDDDB, 0x6933 }, - { 0xDDDC, 0x693D }, - { 0xDDDD, 0x6965 }, - { 0xDDDE, 0x68F0 }, - { 0xDDDF, 0x6978 }, - { 0xDDE0, 0x6934 }, - { 0xDDE1, 0x6969 }, - { 0xDDE2, 0x6940 }, - { 0xDDE3, 0x696F }, - { 0xDDE4, 0x6944 }, - { 0xDDE5, 0x6976 }, - { 0xDDE6, 0x6958 }, - { 0xDDE7, 0x6941 }, - { 0xDDE8, 0x6974 }, - { 0xDDE9, 0x694C }, - { 0xDDEA, 0x693B }, - { 0xDDEB, 0x694B }, - { 0xDDEC, 0x6937 }, - { 0xDDED, 0x695C }, - { 0xDDEE, 0x694F }, - { 0xDDEF, 0x6951 }, - { 0xDDF0, 0x6932 }, - { 0xDDF1, 0x6952 }, - { 0xDDF2, 0x692F }, - { 0xDDF3, 0x697B }, - { 0xDDF4, 0x693C }, - { 0xDDF5, 0x6B46 }, - { 0xDDF6, 0x6B45 }, - { 0xDDF7, 0x6B43 }, - { 0xDDF8, 0x6B42 }, - { 0xDDF9, 0x6B48 }, - { 0xDDFA, 0x6B41 }, - { 0xDDFB, 0x6B9B }, - { 0xDDFC, 0xFA0D }, - { 0xDDFD, 0x6BFB }, - { 0xDDFE, 0x6BFC }, - { 0xDE40, 0x6BF9 }, - { 0xDE41, 0x6BF7 }, - { 0xDE42, 0x6BF8 }, - { 0xDE43, 0x6E9B }, - { 0xDE44, 0x6ED6 }, - { 0xDE45, 0x6EC8 }, - { 0xDE46, 0x6E8F }, - { 0xDE47, 0x6EC0 }, - { 0xDE48, 0x6E9F }, - { 0xDE49, 0x6E93 }, - { 0xDE4A, 0x6E94 }, - { 0xDE4B, 0x6EA0 }, - { 0xDE4C, 0x6EB1 }, - { 0xDE4D, 0x6EB9 }, - { 0xDE4E, 0x6EC6 }, - { 0xDE4F, 0x6ED2 }, - { 0xDE50, 0x6EBD }, - { 0xDE51, 0x6EC1 }, - { 0xDE52, 0x6E9E }, - { 0xDE53, 0x6EC9 }, - { 0xDE54, 0x6EB7 }, - { 0xDE55, 0x6EB0 }, - { 0xDE56, 0x6ECD }, - { 0xDE57, 0x6EA6 }, - { 0xDE58, 0x6ECF }, - { 0xDE59, 0x6EB2 }, - { 0xDE5A, 0x6EBE }, - { 0xDE5B, 0x6EC3 }, - { 0xDE5C, 0x6EDC }, - { 0xDE5D, 0x6ED8 }, - { 0xDE5E, 0x6E99 }, - { 0xDE5F, 0x6E92 }, - { 0xDE60, 0x6E8E }, - { 0xDE61, 0x6E8D }, - { 0xDE62, 0x6EA4 }, - { 0xDE63, 0x6EA1 }, - { 0xDE64, 0x6EBF }, - { 0xDE65, 0x6EB3 }, - { 0xDE66, 0x6ED0 }, - { 0xDE67, 0x6ECA }, - { 0xDE68, 0x6E97 }, - { 0xDE69, 0x6EAE }, - { 0xDE6A, 0x6EA3 }, - { 0xDE6B, 0x7147 }, - { 0xDE6C, 0x7154 }, - { 0xDE6D, 0x7152 }, - { 0xDE6E, 0x7163 }, - { 0xDE6F, 0x7160 }, - { 0xDE70, 0x7141 }, - { 0xDE71, 0x715D }, - { 0xDE72, 0x7162 }, - { 0xDE73, 0x7172 }, - { 0xDE74, 0x7178 }, - { 0xDE75, 0x716A }, - { 0xDE76, 0x7161 }, - { 0xDE77, 0x7142 }, - { 0xDE78, 0x7158 }, - { 0xDE79, 0x7143 }, - { 0xDE7A, 0x714B }, - { 0xDE7B, 0x7170 }, - { 0xDE7C, 0x715F }, - { 0xDE7D, 0x7150 }, - { 0xDE7E, 0x7153 }, - { 0xDEA1, 0x7144 }, - { 0xDEA2, 0x714D }, - { 0xDEA3, 0x715A }, - { 0xDEA4, 0x724F }, - { 0xDEA5, 0x728D }, - { 0xDEA6, 0x728C }, - { 0xDEA7, 0x7291 }, - { 0xDEA8, 0x7290 }, - { 0xDEA9, 0x728E }, - { 0xDEAA, 0x733C }, - { 0xDEAB, 0x7342 }, - { 0xDEAC, 0x733B }, - { 0xDEAD, 0x733A }, - { 0xDEAE, 0x7340 }, - { 0xDEAF, 0x734A }, - { 0xDEB0, 0x7349 }, - { 0xDEB1, 0x7444 }, - { 0xDEB2, 0x744A }, - { 0xDEB3, 0x744B }, - { 0xDEB4, 0x7452 }, - { 0xDEB5, 0x7451 }, - { 0xDEB6, 0x7457 }, - { 0xDEB7, 0x7440 }, - { 0xDEB8, 0x744F }, - { 0xDEB9, 0x7450 }, - { 0xDEBA, 0x744E }, - { 0xDEBB, 0x7442 }, - { 0xDEBC, 0x7446 }, - { 0xDEBD, 0x744D }, - { 0xDEBE, 0x7454 }, - { 0xDEBF, 0x74E1 }, - { 0xDEC0, 0x74FF }, - { 0xDEC1, 0x74FE }, - { 0xDEC2, 0x74FD }, - { 0xDEC3, 0x751D }, - { 0xDEC4, 0x7579 }, - { 0xDEC5, 0x7577 }, - { 0xDEC6, 0x6983 }, - { 0xDEC7, 0x75EF }, - { 0xDEC8, 0x760F }, - { 0xDEC9, 0x7603 }, - { 0xDECA, 0x75F7 }, - { 0xDECB, 0x75FE }, - { 0xDECC, 0x75FC }, - { 0xDECD, 0x75F9 }, - { 0xDECE, 0x75F8 }, - { 0xDECF, 0x7610 }, - { 0xDED0, 0x75FB }, - { 0xDED1, 0x75F6 }, - { 0xDED2, 0x75ED }, - { 0xDED3, 0x75F5 }, - { 0xDED4, 0x75FD }, - { 0xDED5, 0x7699 }, - { 0xDED6, 0x76B5 }, - { 0xDED7, 0x76DD }, - { 0xDED8, 0x7755 }, - { 0xDED9, 0x775F }, - { 0xDEDA, 0x7760 }, - { 0xDEDB, 0x7752 }, - { 0xDEDC, 0x7756 }, - { 0xDEDD, 0x775A }, - { 0xDEDE, 0x7769 }, - { 0xDEDF, 0x7767 }, - { 0xDEE0, 0x7754 }, - { 0xDEE1, 0x7759 }, - { 0xDEE2, 0x776D }, - { 0xDEE3, 0x77E0 }, - { 0xDEE4, 0x7887 }, - { 0xDEE5, 0x789A }, - { 0xDEE6, 0x7894 }, - { 0xDEE7, 0x788F }, - { 0xDEE8, 0x7884 }, - { 0xDEE9, 0x7895 }, - { 0xDEEA, 0x7885 }, - { 0xDEEB, 0x7886 }, - { 0xDEEC, 0x78A1 }, - { 0xDEED, 0x7883 }, - { 0xDEEE, 0x7879 }, - { 0xDEEF, 0x7899 }, - { 0xDEF0, 0x7880 }, - { 0xDEF1, 0x7896 }, - { 0xDEF2, 0x787B }, - { 0xDEF3, 0x797C }, - { 0xDEF4, 0x7982 }, - { 0xDEF5, 0x797D }, - { 0xDEF6, 0x7979 }, - { 0xDEF7, 0x7A11 }, - { 0xDEF8, 0x7A18 }, - { 0xDEF9, 0x7A19 }, - { 0xDEFA, 0x7A12 }, - { 0xDEFB, 0x7A17 }, - { 0xDEFC, 0x7A15 }, - { 0xDEFD, 0x7A22 }, - { 0xDEFE, 0x7A13 }, - { 0xDF40, 0x7A1B }, - { 0xDF41, 0x7A10 }, - { 0xDF42, 0x7AA3 }, - { 0xDF43, 0x7AA2 }, - { 0xDF44, 0x7A9E }, - { 0xDF45, 0x7AEB }, - { 0xDF46, 0x7B66 }, - { 0xDF47, 0x7B64 }, - { 0xDF48, 0x7B6D }, - { 0xDF49, 0x7B74 }, - { 0xDF4A, 0x7B69 }, - { 0xDF4B, 0x7B72 }, - { 0xDF4C, 0x7B65 }, - { 0xDF4D, 0x7B73 }, - { 0xDF4E, 0x7B71 }, - { 0xDF4F, 0x7B70 }, - { 0xDF50, 0x7B61 }, - { 0xDF51, 0x7B78 }, - { 0xDF52, 0x7B76 }, - { 0xDF53, 0x7B63 }, - { 0xDF54, 0x7CB2 }, - { 0xDF55, 0x7CB4 }, - { 0xDF56, 0x7CAF }, - { 0xDF57, 0x7D88 }, - { 0xDF58, 0x7D86 }, - { 0xDF59, 0x7D80 }, - { 0xDF5A, 0x7D8D }, - { 0xDF5B, 0x7D7F }, - { 0xDF5C, 0x7D85 }, - { 0xDF5D, 0x7D7A }, - { 0xDF5E, 0x7D8E }, - { 0xDF5F, 0x7D7B }, - { 0xDF60, 0x7D83 }, - { 0xDF61, 0x7D7C }, - { 0xDF62, 0x7D8C }, - { 0xDF63, 0x7D94 }, - { 0xDF64, 0x7D84 }, - { 0xDF65, 0x7D7D }, - { 0xDF66, 0x7D92 }, - { 0xDF67, 0x7F6D }, - { 0xDF68, 0x7F6B }, - { 0xDF69, 0x7F67 }, - { 0xDF6A, 0x7F68 }, - { 0xDF6B, 0x7F6C }, - { 0xDF6C, 0x7FA6 }, - { 0xDF6D, 0x7FA5 }, - { 0xDF6E, 0x7FA7 }, - { 0xDF6F, 0x7FDB }, - { 0xDF70, 0x7FDC }, - { 0xDF71, 0x8021 }, - { 0xDF72, 0x8164 }, - { 0xDF73, 0x8160 }, - { 0xDF74, 0x8177 }, - { 0xDF75, 0x815C }, - { 0xDF76, 0x8169 }, - { 0xDF77, 0x815B }, - { 0xDF78, 0x8162 }, - { 0xDF79, 0x8172 }, - { 0xDF7A, 0x6721 }, - { 0xDF7B, 0x815E }, - { 0xDF7C, 0x8176 }, - { 0xDF7D, 0x8167 }, - { 0xDF7E, 0x816F }, - { 0xDFA1, 0x8144 }, - { 0xDFA2, 0x8161 }, - { 0xDFA3, 0x821D }, - { 0xDFA4, 0x8249 }, - { 0xDFA5, 0x8244 }, - { 0xDFA6, 0x8240 }, - { 0xDFA7, 0x8242 }, - { 0xDFA8, 0x8245 }, - { 0xDFA9, 0x84F1 }, - { 0xDFAA, 0x843F }, - { 0xDFAB, 0x8456 }, - { 0xDFAC, 0x8476 }, - { 0xDFAD, 0x8479 }, - { 0xDFAE, 0x848F }, - { 0xDFAF, 0x848D }, - { 0xDFB0, 0x8465 }, - { 0xDFB1, 0x8451 }, - { 0xDFB2, 0x8440 }, - { 0xDFB3, 0x8486 }, - { 0xDFB4, 0x8467 }, - { 0xDFB5, 0x8430 }, - { 0xDFB6, 0x844D }, - { 0xDFB7, 0x847D }, - { 0xDFB8, 0x845A }, - { 0xDFB9, 0x8459 }, - { 0xDFBA, 0x8474 }, - { 0xDFBB, 0x8473 }, - { 0xDFBC, 0x845D }, - { 0xDFBD, 0x8507 }, - { 0xDFBE, 0x845E }, - { 0xDFBF, 0x8437 }, - { 0xDFC0, 0x843A }, - { 0xDFC1, 0x8434 }, - { 0xDFC2, 0x847A }, - { 0xDFC3, 0x8443 }, - { 0xDFC4, 0x8478 }, - { 0xDFC5, 0x8432 }, - { 0xDFC6, 0x8445 }, - { 0xDFC7, 0x8429 }, - { 0xDFC8, 0x83D9 }, - { 0xDFC9, 0x844B }, - { 0xDFCA, 0x842F }, - { 0xDFCB, 0x8442 }, - { 0xDFCC, 0x842D }, - { 0xDFCD, 0x845F }, - { 0xDFCE, 0x8470 }, - { 0xDFCF, 0x8439 }, - { 0xDFD0, 0x844E }, - { 0xDFD1, 0x844C }, - { 0xDFD2, 0x8452 }, - { 0xDFD3, 0x846F }, - { 0xDFD4, 0x84C5 }, - { 0xDFD5, 0x848E }, - { 0xDFD6, 0x843B }, - { 0xDFD7, 0x8447 }, - { 0xDFD8, 0x8436 }, - { 0xDFD9, 0x8433 }, - { 0xDFDA, 0x8468 }, - { 0xDFDB, 0x847E }, - { 0xDFDC, 0x8444 }, - { 0xDFDD, 0x842B }, - { 0xDFDE, 0x8460 }, - { 0xDFDF, 0x8454 }, - { 0xDFE0, 0x846E }, - { 0xDFE1, 0x8450 }, - { 0xDFE2, 0x870B }, - { 0xDFE3, 0x8704 }, - { 0xDFE4, 0x86F7 }, - { 0xDFE5, 0x870C }, - { 0xDFE6, 0x86FA }, - { 0xDFE7, 0x86D6 }, - { 0xDFE8, 0x86F5 }, - { 0xDFE9, 0x874D }, - { 0xDFEA, 0x86F8 }, - { 0xDFEB, 0x870E }, - { 0xDFEC, 0x8709 }, - { 0xDFED, 0x8701 }, - { 0xDFEE, 0x86F6 }, - { 0xDFEF, 0x870D }, - { 0xDFF0, 0x8705 }, - { 0xDFF1, 0x88D6 }, - { 0xDFF2, 0x88CB }, - { 0xDFF3, 0x88CD }, - { 0xDFF4, 0x88CE }, - { 0xDFF5, 0x88DE }, - { 0xDFF6, 0x88DB }, - { 0xDFF7, 0x88DA }, - { 0xDFF8, 0x88CC }, - { 0xDFF9, 0x88D0 }, - { 0xDFFA, 0x8985 }, - { 0xDFFB, 0x899B }, - { 0xDFFC, 0x89DF }, - { 0xDFFD, 0x89E5 }, - { 0xDFFE, 0x89E4 }, - { 0xE040, 0x89E1 }, - { 0xE041, 0x89E0 }, - { 0xE042, 0x89E2 }, - { 0xE043, 0x89DC }, - { 0xE044, 0x89E6 }, - { 0xE045, 0x8A76 }, - { 0xE046, 0x8A86 }, - { 0xE047, 0x8A7F }, - { 0xE048, 0x8A61 }, - { 0xE049, 0x8A3F }, - { 0xE04A, 0x8A77 }, - { 0xE04B, 0x8A82 }, - { 0xE04C, 0x8A84 }, - { 0xE04D, 0x8A75 }, - { 0xE04E, 0x8A83 }, - { 0xE04F, 0x8A81 }, - { 0xE050, 0x8A74 }, - { 0xE051, 0x8A7A }, - { 0xE052, 0x8C3C }, - { 0xE053, 0x8C4B }, - { 0xE054, 0x8C4A }, - { 0xE055, 0x8C65 }, - { 0xE056, 0x8C64 }, - { 0xE057, 0x8C66 }, - { 0xE058, 0x8C86 }, - { 0xE059, 0x8C84 }, - { 0xE05A, 0x8C85 }, - { 0xE05B, 0x8CCC }, - { 0xE05C, 0x8D68 }, - { 0xE05D, 0x8D69 }, - { 0xE05E, 0x8D91 }, - { 0xE05F, 0x8D8C }, - { 0xE060, 0x8D8E }, - { 0xE061, 0x8D8F }, - { 0xE062, 0x8D8D }, - { 0xE063, 0x8D93 }, - { 0xE064, 0x8D94 }, - { 0xE065, 0x8D90 }, - { 0xE066, 0x8D92 }, - { 0xE067, 0x8DF0 }, - { 0xE068, 0x8DE0 }, - { 0xE069, 0x8DEC }, - { 0xE06A, 0x8DF1 }, - { 0xE06B, 0x8DEE }, - { 0xE06C, 0x8DD0 }, - { 0xE06D, 0x8DE9 }, - { 0xE06E, 0x8DE3 }, - { 0xE06F, 0x8DE2 }, - { 0xE070, 0x8DE7 }, - { 0xE071, 0x8DF2 }, - { 0xE072, 0x8DEB }, - { 0xE073, 0x8DF4 }, - { 0xE074, 0x8F06 }, - { 0xE075, 0x8EFF }, - { 0xE076, 0x8F01 }, - { 0xE077, 0x8F00 }, - { 0xE078, 0x8F05 }, - { 0xE079, 0x8F07 }, - { 0xE07A, 0x8F08 }, - { 0xE07B, 0x8F02 }, - { 0xE07C, 0x8F0B }, - { 0xE07D, 0x9052 }, - { 0xE07E, 0x903F }, - { 0xE0A1, 0x9044 }, - { 0xE0A2, 0x9049 }, - { 0xE0A3, 0x903D }, - { 0xE0A4, 0x9110 }, - { 0xE0A5, 0x910D }, - { 0xE0A6, 0x910F }, - { 0xE0A7, 0x9111 }, - { 0xE0A8, 0x9116 }, - { 0xE0A9, 0x9114 }, - { 0xE0AA, 0x910B }, - { 0xE0AB, 0x910E }, - { 0xE0AC, 0x916E }, - { 0xE0AD, 0x916F }, - { 0xE0AE, 0x9248 }, - { 0xE0AF, 0x9252 }, - { 0xE0B0, 0x9230 }, - { 0xE0B1, 0x923A }, - { 0xE0B2, 0x9266 }, - { 0xE0B3, 0x9233 }, - { 0xE0B4, 0x9265 }, - { 0xE0B5, 0x925E }, - { 0xE0B6, 0x9283 }, - { 0xE0B7, 0x922E }, - { 0xE0B8, 0x924A }, - { 0xE0B9, 0x9246 }, - { 0xE0BA, 0x926D }, - { 0xE0BB, 0x926C }, - { 0xE0BC, 0x924F }, - { 0xE0BD, 0x9260 }, - { 0xE0BE, 0x9267 }, - { 0xE0BF, 0x926F }, - { 0xE0C0, 0x9236 }, - { 0xE0C1, 0x9261 }, - { 0xE0C2, 0x9270 }, - { 0xE0C3, 0x9231 }, - { 0xE0C4, 0x9254 }, - { 0xE0C5, 0x9263 }, - { 0xE0C6, 0x9250 }, - { 0xE0C7, 0x9272 }, - { 0xE0C8, 0x924E }, - { 0xE0C9, 0x9253 }, - { 0xE0CA, 0x924C }, - { 0xE0CB, 0x9256 }, - { 0xE0CC, 0x9232 }, - { 0xE0CD, 0x959F }, - { 0xE0CE, 0x959C }, - { 0xE0CF, 0x959E }, - { 0xE0D0, 0x959B }, - { 0xE0D1, 0x9692 }, - { 0xE0D2, 0x9693 }, - { 0xE0D3, 0x9691 }, - { 0xE0D4, 0x9697 }, - { 0xE0D5, 0x96CE }, - { 0xE0D6, 0x96FA }, - { 0xE0D7, 0x96FD }, - { 0xE0D8, 0x96F8 }, - { 0xE0D9, 0x96F5 }, - { 0xE0DA, 0x9773 }, - { 0xE0DB, 0x9777 }, - { 0xE0DC, 0x9778 }, - { 0xE0DD, 0x9772 }, - { 0xE0DE, 0x980F }, - { 0xE0DF, 0x980D }, - { 0xE0E0, 0x980E }, - { 0xE0E1, 0x98AC }, - { 0xE0E2, 0x98F6 }, - { 0xE0E3, 0x98F9 }, - { 0xE0E4, 0x99AF }, - { 0xE0E5, 0x99B2 }, - { 0xE0E6, 0x99B0 }, - { 0xE0E7, 0x99B5 }, - { 0xE0E8, 0x9AAD }, - { 0xE0E9, 0x9AAB }, - { 0xE0EA, 0x9B5B }, - { 0xE0EB, 0x9CEA }, - { 0xE0EC, 0x9CED }, - { 0xE0ED, 0x9CE7 }, - { 0xE0EE, 0x9E80 }, - { 0xE0EF, 0x9EFD }, - { 0xE0F0, 0x50E6 }, - { 0xE0F1, 0x50D4 }, - { 0xE0F2, 0x50D7 }, - { 0xE0F3, 0x50E8 }, - { 0xE0F4, 0x50F3 }, - { 0xE0F5, 0x50DB }, - { 0xE0F6, 0x50EA }, - { 0xE0F7, 0x50DD }, - { 0xE0F8, 0x50E4 }, - { 0xE0F9, 0x50D3 }, - { 0xE0FA, 0x50EC }, - { 0xE0FB, 0x50F0 }, - { 0xE0FC, 0x50EF }, - { 0xE0FD, 0x50E3 }, - { 0xE0FE, 0x50E0 }, - { 0xE140, 0x51D8 }, - { 0xE141, 0x5280 }, - { 0xE142, 0x5281 }, - { 0xE143, 0x52E9 }, - { 0xE144, 0x52EB }, - { 0xE145, 0x5330 }, - { 0xE146, 0x53AC }, - { 0xE147, 0x5627 }, - { 0xE148, 0x5615 }, - { 0xE149, 0x560C }, - { 0xE14A, 0x5612 }, - { 0xE14B, 0x55FC }, - { 0xE14C, 0x560F }, - { 0xE14D, 0x561C }, - { 0xE14E, 0x5601 }, - { 0xE14F, 0x5613 }, - { 0xE150, 0x5602 }, - { 0xE151, 0x55FA }, - { 0xE152, 0x561D }, - { 0xE153, 0x5604 }, - { 0xE154, 0x55FF }, - { 0xE155, 0x55F9 }, - { 0xE156, 0x5889 }, - { 0xE157, 0x587C }, - { 0xE158, 0x5890 }, - { 0xE159, 0x5898 }, - { 0xE15A, 0x5886 }, - { 0xE15B, 0x5881 }, - { 0xE15C, 0x587F }, - { 0xE15D, 0x5874 }, - { 0xE15E, 0x588B }, - { 0xE15F, 0x587A }, - { 0xE160, 0x5887 }, - { 0xE161, 0x5891 }, - { 0xE162, 0x588E }, - { 0xE163, 0x5876 }, - { 0xE164, 0x5882 }, - { 0xE165, 0x5888 }, - { 0xE166, 0x587B }, - { 0xE167, 0x5894 }, - { 0xE168, 0x588F }, - { 0xE169, 0x58FE }, - { 0xE16A, 0x596B }, - { 0xE16B, 0x5ADC }, - { 0xE16C, 0x5AEE }, - { 0xE16D, 0x5AE5 }, - { 0xE16E, 0x5AD5 }, - { 0xE16F, 0x5AEA }, - { 0xE170, 0x5ADA }, - { 0xE171, 0x5AED }, - { 0xE172, 0x5AEB }, - { 0xE173, 0x5AF3 }, - { 0xE174, 0x5AE2 }, - { 0xE175, 0x5AE0 }, - { 0xE176, 0x5ADB }, - { 0xE177, 0x5AEC }, - { 0xE178, 0x5ADE }, - { 0xE179, 0x5ADD }, - { 0xE17A, 0x5AD9 }, - { 0xE17B, 0x5AE8 }, - { 0xE17C, 0x5ADF }, - { 0xE17D, 0x5B77 }, - { 0xE17E, 0x5BE0 }, - { 0xE1A1, 0x5BE3 }, - { 0xE1A2, 0x5C63 }, - { 0xE1A3, 0x5D82 }, - { 0xE1A4, 0x5D80 }, - { 0xE1A5, 0x5D7D }, - { 0xE1A6, 0x5D86 }, - { 0xE1A7, 0x5D7A }, - { 0xE1A8, 0x5D81 }, - { 0xE1A9, 0x5D77 }, - { 0xE1AA, 0x5D8A }, - { 0xE1AB, 0x5D89 }, - { 0xE1AC, 0x5D88 }, - { 0xE1AD, 0x5D7E }, - { 0xE1AE, 0x5D7C }, - { 0xE1AF, 0x5D8D }, - { 0xE1B0, 0x5D79 }, - { 0xE1B1, 0x5D7F }, - { 0xE1B2, 0x5E58 }, - { 0xE1B3, 0x5E59 }, - { 0xE1B4, 0x5E53 }, - { 0xE1B5, 0x5ED8 }, - { 0xE1B6, 0x5ED1 }, - { 0xE1B7, 0x5ED7 }, - { 0xE1B8, 0x5ECE }, - { 0xE1B9, 0x5EDC }, - { 0xE1BA, 0x5ED5 }, - { 0xE1BB, 0x5ED9 }, - { 0xE1BC, 0x5ED2 }, - { 0xE1BD, 0x5ED4 }, - { 0xE1BE, 0x5F44 }, - { 0xE1BF, 0x5F43 }, - { 0xE1C0, 0x5F6F }, - { 0xE1C1, 0x5FB6 }, - { 0xE1C2, 0x612C }, - { 0xE1C3, 0x6128 }, - { 0xE1C4, 0x6141 }, - { 0xE1C5, 0x615E }, - { 0xE1C6, 0x6171 }, - { 0xE1C7, 0x6173 }, - { 0xE1C8, 0x6152 }, - { 0xE1C9, 0x6153 }, - { 0xE1CA, 0x6172 }, - { 0xE1CB, 0x616C }, - { 0xE1CC, 0x6180 }, - { 0xE1CD, 0x6174 }, - { 0xE1CE, 0x6154 }, - { 0xE1CF, 0x617A }, - { 0xE1D0, 0x615B }, - { 0xE1D1, 0x6165 }, - { 0xE1D2, 0x613B }, - { 0xE1D3, 0x616A }, - { 0xE1D4, 0x6161 }, - { 0xE1D5, 0x6156 }, - { 0xE1D6, 0x6229 }, - { 0xE1D7, 0x6227 }, - { 0xE1D8, 0x622B }, - { 0xE1D9, 0x642B }, - { 0xE1DA, 0x644D }, - { 0xE1DB, 0x645B }, - { 0xE1DC, 0x645D }, - { 0xE1DD, 0x6474 }, - { 0xE1DE, 0x6476 }, - { 0xE1DF, 0x6472 }, - { 0xE1E0, 0x6473 }, - { 0xE1E1, 0x647D }, - { 0xE1E2, 0x6475 }, - { 0xE1E3, 0x6466 }, - { 0xE1E4, 0x64A6 }, - { 0xE1E5, 0x644E }, - { 0xE1E6, 0x6482 }, - { 0xE1E7, 0x645E }, - { 0xE1E8, 0x645C }, - { 0xE1E9, 0x644B }, - { 0xE1EA, 0x6453 }, - { 0xE1EB, 0x6460 }, - { 0xE1EC, 0x6450 }, - { 0xE1ED, 0x647F }, - { 0xE1EE, 0x643F }, - { 0xE1EF, 0x646C }, - { 0xE1F0, 0x646B }, - { 0xE1F1, 0x6459 }, - { 0xE1F2, 0x6465 }, - { 0xE1F3, 0x6477 }, - { 0xE1F4, 0x6573 }, - { 0xE1F5, 0x65A0 }, - { 0xE1F6, 0x66A1 }, - { 0xE1F7, 0x66A0 }, - { 0xE1F8, 0x669F }, - { 0xE1F9, 0x6705 }, - { 0xE1FA, 0x6704 }, - { 0xE1FB, 0x6722 }, - { 0xE1FC, 0x69B1 }, - { 0xE1FD, 0x69B6 }, - { 0xE1FE, 0x69C9 }, - { 0xE240, 0x69A0 }, - { 0xE241, 0x69CE }, - { 0xE242, 0x6996 }, - { 0xE243, 0x69B0 }, - { 0xE244, 0x69AC }, - { 0xE245, 0x69BC }, - { 0xE246, 0x6991 }, - { 0xE247, 0x6999 }, - { 0xE248, 0x698E }, - { 0xE249, 0x69A7 }, - { 0xE24A, 0x698D }, - { 0xE24B, 0x69A9 }, - { 0xE24C, 0x69BE }, - { 0xE24D, 0x69AF }, - { 0xE24E, 0x69BF }, - { 0xE24F, 0x69C4 }, - { 0xE250, 0x69BD }, - { 0xE251, 0x69A4 }, - { 0xE252, 0x69D4 }, - { 0xE253, 0x69B9 }, - { 0xE254, 0x69CA }, - { 0xE255, 0x699A }, - { 0xE256, 0x69CF }, - { 0xE257, 0x69B3 }, - { 0xE258, 0x6993 }, - { 0xE259, 0x69AA }, - { 0xE25A, 0x69A1 }, - { 0xE25B, 0x699E }, - { 0xE25C, 0x69D9 }, - { 0xE25D, 0x6997 }, - { 0xE25E, 0x6990 }, - { 0xE25F, 0x69C2 }, - { 0xE260, 0x69B5 }, - { 0xE261, 0x69A5 }, - { 0xE262, 0x69C6 }, - { 0xE263, 0x6B4A }, - { 0xE264, 0x6B4D }, - { 0xE265, 0x6B4B }, - { 0xE266, 0x6B9E }, - { 0xE267, 0x6B9F }, - { 0xE268, 0x6BA0 }, - { 0xE269, 0x6BC3 }, - { 0xE26A, 0x6BC4 }, - { 0xE26B, 0x6BFE }, - { 0xE26C, 0x6ECE }, - { 0xE26D, 0x6EF5 }, - { 0xE26E, 0x6EF1 }, - { 0xE26F, 0x6F03 }, - { 0xE270, 0x6F25 }, - { 0xE271, 0x6EF8 }, - { 0xE272, 0x6F37 }, - { 0xE273, 0x6EFB }, - { 0xE274, 0x6F2E }, - { 0xE275, 0x6F09 }, - { 0xE276, 0x6F4E }, - { 0xE277, 0x6F19 }, - { 0xE278, 0x6F1A }, - { 0xE279, 0x6F27 }, - { 0xE27A, 0x6F18 }, - { 0xE27B, 0x6F3B }, - { 0xE27C, 0x6F12 }, - { 0xE27D, 0x6EED }, - { 0xE27E, 0x6F0A }, - { 0xE2A1, 0x6F36 }, - { 0xE2A2, 0x6F73 }, - { 0xE2A3, 0x6EF9 }, - { 0xE2A4, 0x6EEE }, - { 0xE2A5, 0x6F2D }, - { 0xE2A6, 0x6F40 }, - { 0xE2A7, 0x6F30 }, - { 0xE2A8, 0x6F3C }, - { 0xE2A9, 0x6F35 }, - { 0xE2AA, 0x6EEB }, - { 0xE2AB, 0x6F07 }, - { 0xE2AC, 0x6F0E }, - { 0xE2AD, 0x6F43 }, - { 0xE2AE, 0x6F05 }, - { 0xE2AF, 0x6EFD }, - { 0xE2B0, 0x6EF6 }, - { 0xE2B1, 0x6F39 }, - { 0xE2B2, 0x6F1C }, - { 0xE2B3, 0x6EFC }, - { 0xE2B4, 0x6F3A }, - { 0xE2B5, 0x6F1F }, - { 0xE2B6, 0x6F0D }, - { 0xE2B7, 0x6F1E }, - { 0xE2B8, 0x6F08 }, - { 0xE2B9, 0x6F21 }, - { 0xE2BA, 0x7187 }, - { 0xE2BB, 0x7190 }, - { 0xE2BC, 0x7189 }, - { 0xE2BD, 0x7180 }, - { 0xE2BE, 0x7185 }, - { 0xE2BF, 0x7182 }, - { 0xE2C0, 0x718F }, - { 0xE2C1, 0x717B }, - { 0xE2C2, 0x7186 }, - { 0xE2C3, 0x7181 }, - { 0xE2C4, 0x7197 }, - { 0xE2C5, 0x7244 }, - { 0xE2C6, 0x7253 }, - { 0xE2C7, 0x7297 }, - { 0xE2C8, 0x7295 }, - { 0xE2C9, 0x7293 }, - { 0xE2CA, 0x7343 }, - { 0xE2CB, 0x734D }, - { 0xE2CC, 0x7351 }, - { 0xE2CD, 0x734C }, - { 0xE2CE, 0x7462 }, - { 0xE2CF, 0x7473 }, - { 0xE2D0, 0x7471 }, - { 0xE2D1, 0x7475 }, - { 0xE2D2, 0x7472 }, - { 0xE2D3, 0x7467 }, - { 0xE2D4, 0x746E }, - { 0xE2D5, 0x7500 }, - { 0xE2D6, 0x7502 }, - { 0xE2D7, 0x7503 }, - { 0xE2D8, 0x757D }, - { 0xE2D9, 0x7590 }, - { 0xE2DA, 0x7616 }, - { 0xE2DB, 0x7608 }, - { 0xE2DC, 0x760C }, - { 0xE2DD, 0x7615 }, - { 0xE2DE, 0x7611 }, - { 0xE2DF, 0x760A }, - { 0xE2E0, 0x7614 }, - { 0xE2E1, 0x76B8 }, - { 0xE2E2, 0x7781 }, - { 0xE2E3, 0x777C }, - { 0xE2E4, 0x7785 }, - { 0xE2E5, 0x7782 }, - { 0xE2E6, 0x776E }, - { 0xE2E7, 0x7780 }, - { 0xE2E8, 0x776F }, - { 0xE2E9, 0x777E }, - { 0xE2EA, 0x7783 }, - { 0xE2EB, 0x78B2 }, - { 0xE2EC, 0x78AA }, - { 0xE2ED, 0x78B4 }, - { 0xE2EE, 0x78AD }, - { 0xE2EF, 0x78A8 }, - { 0xE2F0, 0x787E }, - { 0xE2F1, 0x78AB }, - { 0xE2F2, 0x789E }, - { 0xE2F3, 0x78A5 }, - { 0xE2F4, 0x78A0 }, - { 0xE2F5, 0x78AC }, - { 0xE2F6, 0x78A2 }, - { 0xE2F7, 0x78A4 }, - { 0xE2F8, 0x7998 }, - { 0xE2F9, 0x798A }, - { 0xE2FA, 0x798B }, - { 0xE2FB, 0x7996 }, - { 0xE2FC, 0x7995 }, - { 0xE2FD, 0x7994 }, - { 0xE2FE, 0x7993 }, - { 0xE340, 0x7997 }, - { 0xE341, 0x7988 }, - { 0xE342, 0x7992 }, - { 0xE343, 0x7990 }, - { 0xE344, 0x7A2B }, - { 0xE345, 0x7A4A }, - { 0xE346, 0x7A30 }, - { 0xE347, 0x7A2F }, - { 0xE348, 0x7A28 }, - { 0xE349, 0x7A26 }, - { 0xE34A, 0x7AA8 }, - { 0xE34B, 0x7AAB }, - { 0xE34C, 0x7AAC }, - { 0xE34D, 0x7AEE }, - { 0xE34E, 0x7B88 }, - { 0xE34F, 0x7B9C }, - { 0xE350, 0x7B8A }, - { 0xE351, 0x7B91 }, - { 0xE352, 0x7B90 }, - { 0xE353, 0x7B96 }, - { 0xE354, 0x7B8D }, - { 0xE355, 0x7B8C }, - { 0xE356, 0x7B9B }, - { 0xE357, 0x7B8E }, - { 0xE358, 0x7B85 }, - { 0xE359, 0x7B98 }, - { 0xE35A, 0x5284 }, - { 0xE35B, 0x7B99 }, - { 0xE35C, 0x7BA4 }, - { 0xE35D, 0x7B82 }, - { 0xE35E, 0x7CBB }, - { 0xE35F, 0x7CBF }, - { 0xE360, 0x7CBC }, - { 0xE361, 0x7CBA }, - { 0xE362, 0x7DA7 }, - { 0xE363, 0x7DB7 }, - { 0xE364, 0x7DC2 }, - { 0xE365, 0x7DA3 }, - { 0xE366, 0x7DAA }, - { 0xE367, 0x7DC1 }, - { 0xE368, 0x7DC0 }, - { 0xE369, 0x7DC5 }, - { 0xE36A, 0x7D9D }, - { 0xE36B, 0x7DCE }, - { 0xE36C, 0x7DC4 }, - { 0xE36D, 0x7DC6 }, - { 0xE36E, 0x7DCB }, - { 0xE36F, 0x7DCC }, - { 0xE370, 0x7DAF }, - { 0xE371, 0x7DB9 }, - { 0xE372, 0x7D96 }, - { 0xE373, 0x7DBC }, - { 0xE374, 0x7D9F }, - { 0xE375, 0x7DA6 }, - { 0xE376, 0x7DAE }, - { 0xE377, 0x7DA9 }, - { 0xE378, 0x7DA1 }, - { 0xE379, 0x7DC9 }, - { 0xE37A, 0x7F73 }, - { 0xE37B, 0x7FE2 }, - { 0xE37C, 0x7FE3 }, - { 0xE37D, 0x7FE5 }, - { 0xE37E, 0x7FDE }, - { 0xE3A1, 0x8024 }, - { 0xE3A2, 0x805D }, - { 0xE3A3, 0x805C }, - { 0xE3A4, 0x8189 }, - { 0xE3A5, 0x8186 }, - { 0xE3A6, 0x8183 }, - { 0xE3A7, 0x8187 }, - { 0xE3A8, 0x818D }, - { 0xE3A9, 0x818C }, - { 0xE3AA, 0x818B }, - { 0xE3AB, 0x8215 }, - { 0xE3AC, 0x8497 }, - { 0xE3AD, 0x84A4 }, - { 0xE3AE, 0x84A1 }, - { 0xE3AF, 0x849F }, - { 0xE3B0, 0x84BA }, - { 0xE3B1, 0x84CE }, - { 0xE3B2, 0x84C2 }, - { 0xE3B3, 0x84AC }, - { 0xE3B4, 0x84AE }, - { 0xE3B5, 0x84AB }, - { 0xE3B6, 0x84B9 }, - { 0xE3B7, 0x84B4 }, - { 0xE3B8, 0x84C1 }, - { 0xE3B9, 0x84CD }, - { 0xE3BA, 0x84AA }, - { 0xE3BB, 0x849A }, - { 0xE3BC, 0x84B1 }, - { 0xE3BD, 0x84D0 }, - { 0xE3BE, 0x849D }, - { 0xE3BF, 0x84A7 }, - { 0xE3C0, 0x84BB }, - { 0xE3C1, 0x84A2 }, - { 0xE3C2, 0x8494 }, - { 0xE3C3, 0x84C7 }, - { 0xE3C4, 0x84CC }, - { 0xE3C5, 0x849B }, - { 0xE3C6, 0x84A9 }, - { 0xE3C7, 0x84AF }, - { 0xE3C8, 0x84A8 }, - { 0xE3C9, 0x84D6 }, - { 0xE3CA, 0x8498 }, - { 0xE3CB, 0x84B6 }, - { 0xE3CC, 0x84CF }, - { 0xE3CD, 0x84A0 }, - { 0xE3CE, 0x84D7 }, - { 0xE3CF, 0x84D4 }, - { 0xE3D0, 0x84D2 }, - { 0xE3D1, 0x84DB }, - { 0xE3D2, 0x84B0 }, - { 0xE3D3, 0x8491 }, - { 0xE3D4, 0x8661 }, - { 0xE3D5, 0x8733 }, - { 0xE3D6, 0x8723 }, - { 0xE3D7, 0x8728 }, - { 0xE3D8, 0x876B }, - { 0xE3D9, 0x8740 }, - { 0xE3DA, 0x872E }, - { 0xE3DB, 0x871E }, - { 0xE3DC, 0x8721 }, - { 0xE3DD, 0x8719 }, - { 0xE3DE, 0x871B }, - { 0xE3DF, 0x8743 }, - { 0xE3E0, 0x872C }, - { 0xE3E1, 0x8741 }, - { 0xE3E2, 0x873E }, - { 0xE3E3, 0x8746 }, - { 0xE3E4, 0x8720 }, - { 0xE3E5, 0x8732 }, - { 0xE3E6, 0x872A }, - { 0xE3E7, 0x872D }, - { 0xE3E8, 0x873C }, - { 0xE3E9, 0x8712 }, - { 0xE3EA, 0x873A }, - { 0xE3EB, 0x8731 }, - { 0xE3EC, 0x8735 }, - { 0xE3ED, 0x8742 }, - { 0xE3EE, 0x8726 }, - { 0xE3EF, 0x8727 }, - { 0xE3F0, 0x8738 }, - { 0xE3F1, 0x8724 }, - { 0xE3F2, 0x871A }, - { 0xE3F3, 0x8730 }, - { 0xE3F4, 0x8711 }, - { 0xE3F5, 0x88F7 }, - { 0xE3F6, 0x88E7 }, - { 0xE3F7, 0x88F1 }, - { 0xE3F8, 0x88F2 }, - { 0xE3F9, 0x88FA }, - { 0xE3FA, 0x88FE }, - { 0xE3FB, 0x88EE }, - { 0xE3FC, 0x88FC }, - { 0xE3FD, 0x88F6 }, - { 0xE3FE, 0x88FB }, - { 0xE440, 0x88F0 }, - { 0xE441, 0x88EC }, - { 0xE442, 0x88EB }, - { 0xE443, 0x899D }, - { 0xE444, 0x89A1 }, - { 0xE445, 0x899F }, - { 0xE446, 0x899E }, - { 0xE447, 0x89E9 }, - { 0xE448, 0x89EB }, - { 0xE449, 0x89E8 }, - { 0xE44A, 0x8AAB }, - { 0xE44B, 0x8A99 }, - { 0xE44C, 0x8A8B }, - { 0xE44D, 0x8A92 }, - { 0xE44E, 0x8A8F }, - { 0xE44F, 0x8A96 }, - { 0xE450, 0x8C3D }, - { 0xE451, 0x8C68 }, - { 0xE452, 0x8C69 }, - { 0xE453, 0x8CD5 }, - { 0xE454, 0x8CCF }, - { 0xE455, 0x8CD7 }, - { 0xE456, 0x8D96 }, - { 0xE457, 0x8E09 }, - { 0xE458, 0x8E02 }, - { 0xE459, 0x8DFF }, - { 0xE45A, 0x8E0D }, - { 0xE45B, 0x8DFD }, - { 0xE45C, 0x8E0A }, - { 0xE45D, 0x8E03 }, - { 0xE45E, 0x8E07 }, - { 0xE45F, 0x8E06 }, - { 0xE460, 0x8E05 }, - { 0xE461, 0x8DFE }, - { 0xE462, 0x8E00 }, - { 0xE463, 0x8E04 }, - { 0xE464, 0x8F10 }, - { 0xE465, 0x8F11 }, - { 0xE466, 0x8F0E }, - { 0xE467, 0x8F0D }, - { 0xE468, 0x9123 }, - { 0xE469, 0x911C }, - { 0xE46A, 0x9120 }, - { 0xE46B, 0x9122 }, - { 0xE46C, 0x911F }, - { 0xE46D, 0x911D }, - { 0xE46E, 0x911A }, - { 0xE46F, 0x9124 }, - { 0xE470, 0x9121 }, - { 0xE471, 0x911B }, - { 0xE472, 0x917A }, - { 0xE473, 0x9172 }, - { 0xE474, 0x9179 }, - { 0xE475, 0x9173 }, - { 0xE476, 0x92A5 }, - { 0xE477, 0x92A4 }, - { 0xE478, 0x9276 }, - { 0xE479, 0x929B }, - { 0xE47A, 0x927A }, - { 0xE47B, 0x92A0 }, - { 0xE47C, 0x9294 }, - { 0xE47D, 0x92AA }, - { 0xE47E, 0x928D }, - { 0xE4A1, 0x92A6 }, - { 0xE4A2, 0x929A }, - { 0xE4A3, 0x92AB }, - { 0xE4A4, 0x9279 }, - { 0xE4A5, 0x9297 }, - { 0xE4A6, 0x927F }, - { 0xE4A7, 0x92A3 }, - { 0xE4A8, 0x92EE }, - { 0xE4A9, 0x928E }, - { 0xE4AA, 0x9282 }, - { 0xE4AB, 0x9295 }, - { 0xE4AC, 0x92A2 }, - { 0xE4AD, 0x927D }, - { 0xE4AE, 0x9288 }, - { 0xE4AF, 0x92A1 }, - { 0xE4B0, 0x928A }, - { 0xE4B1, 0x9286 }, - { 0xE4B2, 0x928C }, - { 0xE4B3, 0x9299 }, - { 0xE4B4, 0x92A7 }, - { 0xE4B5, 0x927E }, - { 0xE4B6, 0x9287 }, - { 0xE4B7, 0x92A9 }, - { 0xE4B8, 0x929D }, - { 0xE4B9, 0x928B }, - { 0xE4BA, 0x922D }, - { 0xE4BB, 0x969E }, - { 0xE4BC, 0x96A1 }, - { 0xE4BD, 0x96FF }, - { 0xE4BE, 0x9758 }, - { 0xE4BF, 0x977D }, - { 0xE4C0, 0x977A }, - { 0xE4C1, 0x977E }, - { 0xE4C2, 0x9783 }, - { 0xE4C3, 0x9780 }, - { 0xE4C4, 0x9782 }, - { 0xE4C5, 0x977B }, - { 0xE4C6, 0x9784 }, - { 0xE4C7, 0x9781 }, - { 0xE4C8, 0x977F }, - { 0xE4C9, 0x97CE }, - { 0xE4CA, 0x97CD }, - { 0xE4CB, 0x9816 }, - { 0xE4CC, 0x98AD }, - { 0xE4CD, 0x98AE }, - { 0xE4CE, 0x9902 }, - { 0xE4CF, 0x9900 }, - { 0xE4D0, 0x9907 }, - { 0xE4D1, 0x999D }, - { 0xE4D2, 0x999C }, - { 0xE4D3, 0x99C3 }, - { 0xE4D4, 0x99B9 }, - { 0xE4D5, 0x99BB }, - { 0xE4D6, 0x99BA }, - { 0xE4D7, 0x99C2 }, - { 0xE4D8, 0x99BD }, - { 0xE4D9, 0x99C7 }, - { 0xE4DA, 0x9AB1 }, - { 0xE4DB, 0x9AE3 }, - { 0xE4DC, 0x9AE7 }, - { 0xE4DD, 0x9B3E }, - { 0xE4DE, 0x9B3F }, - { 0xE4DF, 0x9B60 }, - { 0xE4E0, 0x9B61 }, - { 0xE4E1, 0x9B5F }, - { 0xE4E2, 0x9CF1 }, - { 0xE4E3, 0x9CF2 }, - { 0xE4E4, 0x9CF5 }, - { 0xE4E5, 0x9EA7 }, - { 0xE4E6, 0x50FF }, - { 0xE4E7, 0x5103 }, - { 0xE4E8, 0x5130 }, - { 0xE4E9, 0x50F8 }, - { 0xE4EA, 0x5106 }, - { 0xE4EB, 0x5107 }, - { 0xE4EC, 0x50F6 }, - { 0xE4ED, 0x50FE }, - { 0xE4EE, 0x510B }, - { 0xE4EF, 0x510C }, - { 0xE4F0, 0x50FD }, - { 0xE4F1, 0x510A }, - { 0xE4F2, 0x528B }, - { 0xE4F3, 0x528C }, - { 0xE4F4, 0x52F1 }, - { 0xE4F5, 0x52EF }, - { 0xE4F6, 0x5648 }, - { 0xE4F7, 0x5642 }, - { 0xE4F8, 0x564C }, - { 0xE4F9, 0x5635 }, - { 0xE4FA, 0x5641 }, - { 0xE4FB, 0x564A }, - { 0xE4FC, 0x5649 }, - { 0xE4FD, 0x5646 }, - { 0xE4FE, 0x5658 }, - { 0xE540, 0x565A }, - { 0xE541, 0x5640 }, - { 0xE542, 0x5633 }, - { 0xE543, 0x563D }, - { 0xE544, 0x562C }, - { 0xE545, 0x563E }, - { 0xE546, 0x5638 }, - { 0xE547, 0x562A }, - { 0xE548, 0x563A }, - { 0xE549, 0x571A }, - { 0xE54A, 0x58AB }, - { 0xE54B, 0x589D }, - { 0xE54C, 0x58B1 }, - { 0xE54D, 0x58A0 }, - { 0xE54E, 0x58A3 }, - { 0xE54F, 0x58AF }, - { 0xE550, 0x58AC }, - { 0xE551, 0x58A5 }, - { 0xE552, 0x58A1 }, - { 0xE553, 0x58FF }, - { 0xE554, 0x5AFF }, - { 0xE555, 0x5AF4 }, - { 0xE556, 0x5AFD }, - { 0xE557, 0x5AF7 }, - { 0xE558, 0x5AF6 }, - { 0xE559, 0x5B03 }, - { 0xE55A, 0x5AF8 }, - { 0xE55B, 0x5B02 }, - { 0xE55C, 0x5AF9 }, - { 0xE55D, 0x5B01 }, - { 0xE55E, 0x5B07 }, - { 0xE55F, 0x5B05 }, - { 0xE560, 0x5B0F }, - { 0xE561, 0x5C67 }, - { 0xE562, 0x5D99 }, - { 0xE563, 0x5D97 }, - { 0xE564, 0x5D9F }, - { 0xE565, 0x5D92 }, - { 0xE566, 0x5DA2 }, - { 0xE567, 0x5D93 }, - { 0xE568, 0x5D95 }, - { 0xE569, 0x5DA0 }, - { 0xE56A, 0x5D9C }, - { 0xE56B, 0x5DA1 }, - { 0xE56C, 0x5D9A }, - { 0xE56D, 0x5D9E }, - { 0xE56E, 0x5E69 }, - { 0xE56F, 0x5E5D }, - { 0xE570, 0x5E60 }, - { 0xE571, 0x5E5C }, - { 0xE572, 0x7DF3 }, - { 0xE573, 0x5EDB }, - { 0xE574, 0x5EDE }, - { 0xE575, 0x5EE1 }, - { 0xE576, 0x5F49 }, - { 0xE577, 0x5FB2 }, - { 0xE578, 0x618B }, - { 0xE579, 0x6183 }, - { 0xE57A, 0x6179 }, - { 0xE57B, 0x61B1 }, - { 0xE57C, 0x61B0 }, - { 0xE57D, 0x61A2 }, - { 0xE57E, 0x6189 }, - { 0xE5A1, 0x619B }, - { 0xE5A2, 0x6193 }, - { 0xE5A3, 0x61AF }, - { 0xE5A4, 0x61AD }, - { 0xE5A5, 0x619F }, - { 0xE5A6, 0x6192 }, - { 0xE5A7, 0x61AA }, - { 0xE5A8, 0x61A1 }, - { 0xE5A9, 0x618D }, - { 0xE5AA, 0x6166 }, - { 0xE5AB, 0x61B3 }, - { 0xE5AC, 0x622D }, - { 0xE5AD, 0x646E }, - { 0xE5AE, 0x6470 }, - { 0xE5AF, 0x6496 }, - { 0xE5B0, 0x64A0 }, - { 0xE5B1, 0x6485 }, - { 0xE5B2, 0x6497 }, - { 0xE5B3, 0x649C }, - { 0xE5B4, 0x648F }, - { 0xE5B5, 0x648B }, - { 0xE5B6, 0x648A }, - { 0xE5B7, 0x648C }, - { 0xE5B8, 0x64A3 }, - { 0xE5B9, 0x649F }, - { 0xE5BA, 0x6468 }, - { 0xE5BB, 0x64B1 }, - { 0xE5BC, 0x6498 }, - { 0xE5BD, 0x6576 }, - { 0xE5BE, 0x657A }, - { 0xE5BF, 0x6579 }, - { 0xE5C0, 0x657B }, - { 0xE5C1, 0x65B2 }, - { 0xE5C2, 0x65B3 }, - { 0xE5C3, 0x66B5 }, - { 0xE5C4, 0x66B0 }, - { 0xE5C5, 0x66A9 }, - { 0xE5C6, 0x66B2 }, - { 0xE5C7, 0x66B7 }, - { 0xE5C8, 0x66AA }, - { 0xE5C9, 0x66AF }, - { 0xE5CA, 0x6A00 }, - { 0xE5CB, 0x6A06 }, - { 0xE5CC, 0x6A17 }, - { 0xE5CD, 0x69E5 }, - { 0xE5CE, 0x69F8 }, - { 0xE5CF, 0x6A15 }, - { 0xE5D0, 0x69F1 }, - { 0xE5D1, 0x69E4 }, - { 0xE5D2, 0x6A20 }, - { 0xE5D3, 0x69FF }, - { 0xE5D4, 0x69EC }, - { 0xE5D5, 0x69E2 }, - { 0xE5D6, 0x6A1B }, - { 0xE5D7, 0x6A1D }, - { 0xE5D8, 0x69FE }, - { 0xE5D9, 0x6A27 }, - { 0xE5DA, 0x69F2 }, - { 0xE5DB, 0x69EE }, - { 0xE5DC, 0x6A14 }, - { 0xE5DD, 0x69F7 }, - { 0xE5DE, 0x69E7 }, - { 0xE5DF, 0x6A40 }, - { 0xE5E0, 0x6A08 }, - { 0xE5E1, 0x69E6 }, - { 0xE5E2, 0x69FB }, - { 0xE5E3, 0x6A0D }, - { 0xE5E4, 0x69FC }, - { 0xE5E5, 0x69EB }, - { 0xE5E6, 0x6A09 }, - { 0xE5E7, 0x6A04 }, - { 0xE5E8, 0x6A18 }, - { 0xE5E9, 0x6A25 }, - { 0xE5EA, 0x6A0F }, - { 0xE5EB, 0x69F6 }, - { 0xE5EC, 0x6A26 }, - { 0xE5ED, 0x6A07 }, - { 0xE5EE, 0x69F4 }, - { 0xE5EF, 0x6A16 }, - { 0xE5F0, 0x6B51 }, - { 0xE5F1, 0x6BA5 }, - { 0xE5F2, 0x6BA3 }, - { 0xE5F3, 0x6BA2 }, - { 0xE5F4, 0x6BA6 }, - { 0xE5F5, 0x6C01 }, - { 0xE5F6, 0x6C00 }, - { 0xE5F7, 0x6BFF }, - { 0xE5F8, 0x6C02 }, - { 0xE5F9, 0x6F41 }, - { 0xE5FA, 0x6F26 }, - { 0xE5FB, 0x6F7E }, - { 0xE5FC, 0x6F87 }, - { 0xE5FD, 0x6FC6 }, - { 0xE5FE, 0x6F92 }, - { 0xE640, 0x6F8D }, - { 0xE641, 0x6F89 }, - { 0xE642, 0x6F8C }, - { 0xE643, 0x6F62 }, - { 0xE644, 0x6F4F }, - { 0xE645, 0x6F85 }, - { 0xE646, 0x6F5A }, - { 0xE647, 0x6F96 }, - { 0xE648, 0x6F76 }, - { 0xE649, 0x6F6C }, - { 0xE64A, 0x6F82 }, - { 0xE64B, 0x6F55 }, - { 0xE64C, 0x6F72 }, - { 0xE64D, 0x6F52 }, - { 0xE64E, 0x6F50 }, - { 0xE64F, 0x6F57 }, - { 0xE650, 0x6F94 }, - { 0xE651, 0x6F93 }, - { 0xE652, 0x6F5D }, - { 0xE653, 0x6F00 }, - { 0xE654, 0x6F61 }, - { 0xE655, 0x6F6B }, - { 0xE656, 0x6F7D }, - { 0xE657, 0x6F67 }, - { 0xE658, 0x6F90 }, - { 0xE659, 0x6F53 }, - { 0xE65A, 0x6F8B }, - { 0xE65B, 0x6F69 }, - { 0xE65C, 0x6F7F }, - { 0xE65D, 0x6F95 }, - { 0xE65E, 0x6F63 }, - { 0xE65F, 0x6F77 }, - { 0xE660, 0x6F6A }, - { 0xE661, 0x6F7B }, - { 0xE662, 0x71B2 }, - { 0xE663, 0x71AF }, - { 0xE664, 0x719B }, - { 0xE665, 0x71B0 }, - { 0xE666, 0x71A0 }, - { 0xE667, 0x719A }, - { 0xE668, 0x71A9 }, - { 0xE669, 0x71B5 }, - { 0xE66A, 0x719D }, - { 0xE66B, 0x71A5 }, - { 0xE66C, 0x719E }, - { 0xE66D, 0x71A4 }, - { 0xE66E, 0x71A1 }, - { 0xE66F, 0x71AA }, - { 0xE670, 0x719C }, - { 0xE671, 0x71A7 }, - { 0xE672, 0x71B3 }, - { 0xE673, 0x7298 }, - { 0xE674, 0x729A }, - { 0xE675, 0x7358 }, - { 0xE676, 0x7352 }, - { 0xE677, 0x735E }, - { 0xE678, 0x735F }, - { 0xE679, 0x7360 }, - { 0xE67A, 0x735D }, - { 0xE67B, 0x735B }, - { 0xE67C, 0x7361 }, - { 0xE67D, 0x735A }, - { 0xE67E, 0x7359 }, - { 0xE6A1, 0x7362 }, - { 0xE6A2, 0x7487 }, - { 0xE6A3, 0x7489 }, - { 0xE6A4, 0x748A }, - { 0xE6A5, 0x7486 }, - { 0xE6A6, 0x7481 }, - { 0xE6A7, 0x747D }, - { 0xE6A8, 0x7485 }, - { 0xE6A9, 0x7488 }, - { 0xE6AA, 0x747C }, - { 0xE6AB, 0x7479 }, - { 0xE6AC, 0x7508 }, - { 0xE6AD, 0x7507 }, - { 0xE6AE, 0x757E }, - { 0xE6AF, 0x7625 }, - { 0xE6B0, 0x761E }, - { 0xE6B1, 0x7619 }, - { 0xE6B2, 0x761D }, - { 0xE6B3, 0x761C }, - { 0xE6B4, 0x7623 }, - { 0xE6B5, 0x761A }, - { 0xE6B6, 0x7628 }, - { 0xE6B7, 0x761B }, - { 0xE6B8, 0x769C }, - { 0xE6B9, 0x769D }, - { 0xE6BA, 0x769E }, - { 0xE6BB, 0x769B }, - { 0xE6BC, 0x778D }, - { 0xE6BD, 0x778F }, - { 0xE6BE, 0x7789 }, - { 0xE6BF, 0x7788 }, - { 0xE6C0, 0x78CD }, - { 0xE6C1, 0x78BB }, - { 0xE6C2, 0x78CF }, - { 0xE6C3, 0x78CC }, - { 0xE6C4, 0x78D1 }, - { 0xE6C5, 0x78CE }, - { 0xE6C6, 0x78D4 }, - { 0xE6C7, 0x78C8 }, - { 0xE6C8, 0x78C3 }, - { 0xE6C9, 0x78C4 }, - { 0xE6CA, 0x78C9 }, - { 0xE6CB, 0x799A }, - { 0xE6CC, 0x79A1 }, - { 0xE6CD, 0x79A0 }, - { 0xE6CE, 0x799C }, - { 0xE6CF, 0x79A2 }, - { 0xE6D0, 0x799B }, - { 0xE6D1, 0x6B76 }, - { 0xE6D2, 0x7A39 }, - { 0xE6D3, 0x7AB2 }, - { 0xE6D4, 0x7AB4 }, - { 0xE6D5, 0x7AB3 }, - { 0xE6D6, 0x7BB7 }, - { 0xE6D7, 0x7BCB }, - { 0xE6D8, 0x7BBE }, - { 0xE6D9, 0x7BAC }, - { 0xE6DA, 0x7BCE }, - { 0xE6DB, 0x7BAF }, - { 0xE6DC, 0x7BB9 }, - { 0xE6DD, 0x7BCA }, - { 0xE6DE, 0x7BB5 }, - { 0xE6DF, 0x7CC5 }, - { 0xE6E0, 0x7CC8 }, - { 0xE6E1, 0x7CCC }, - { 0xE6E2, 0x7CCB }, - { 0xE6E3, 0x7DF7 }, - { 0xE6E4, 0x7DDB }, - { 0xE6E5, 0x7DEA }, - { 0xE6E6, 0x7DE7 }, - { 0xE6E7, 0x7DD7 }, - { 0xE6E8, 0x7DE1 }, - { 0xE6E9, 0x7E03 }, - { 0xE6EA, 0x7DFA }, - { 0xE6EB, 0x7DE6 }, - { 0xE6EC, 0x7DF6 }, - { 0xE6ED, 0x7DF1 }, - { 0xE6EE, 0x7DF0 }, - { 0xE6EF, 0x7DEE }, - { 0xE6F0, 0x7DDF }, - { 0xE6F1, 0x7F76 }, - { 0xE6F2, 0x7FAC }, - { 0xE6F3, 0x7FB0 }, - { 0xE6F4, 0x7FAD }, - { 0xE6F5, 0x7FED }, - { 0xE6F6, 0x7FEB }, - { 0xE6F7, 0x7FEA }, - { 0xE6F8, 0x7FEC }, - { 0xE6F9, 0x7FE6 }, - { 0xE6FA, 0x7FE8 }, - { 0xE6FB, 0x8064 }, - { 0xE6FC, 0x8067 }, - { 0xE6FD, 0x81A3 }, - { 0xE6FE, 0x819F }, - { 0xE740, 0x819E }, - { 0xE741, 0x8195 }, - { 0xE742, 0x81A2 }, - { 0xE743, 0x8199 }, - { 0xE744, 0x8197 }, - { 0xE745, 0x8216 }, - { 0xE746, 0x824F }, - { 0xE747, 0x8253 }, - { 0xE748, 0x8252 }, - { 0xE749, 0x8250 }, - { 0xE74A, 0x824E }, - { 0xE74B, 0x8251 }, - { 0xE74C, 0x8524 }, - { 0xE74D, 0x853B }, - { 0xE74E, 0x850F }, - { 0xE74F, 0x8500 }, - { 0xE750, 0x8529 }, - { 0xE751, 0x850E }, - { 0xE752, 0x8509 }, - { 0xE753, 0x850D }, - { 0xE754, 0x851F }, - { 0xE755, 0x850A }, - { 0xE756, 0x8527 }, - { 0xE757, 0x851C }, - { 0xE758, 0x84FB }, - { 0xE759, 0x852B }, - { 0xE75A, 0x84FA }, - { 0xE75B, 0x8508 }, - { 0xE75C, 0x850C }, - { 0xE75D, 0x84F4 }, - { 0xE75E, 0x852A }, - { 0xE75F, 0x84F2 }, - { 0xE760, 0x8515 }, - { 0xE761, 0x84F7 }, - { 0xE762, 0x84EB }, - { 0xE763, 0x84F3 }, - { 0xE764, 0x84FC }, - { 0xE765, 0x8512 }, - { 0xE766, 0x84EA }, - { 0xE767, 0x84E9 }, - { 0xE768, 0x8516 }, - { 0xE769, 0x84FE }, - { 0xE76A, 0x8528 }, - { 0xE76B, 0x851D }, - { 0xE76C, 0x852E }, - { 0xE76D, 0x8502 }, - { 0xE76E, 0x84FD }, - { 0xE76F, 0x851E }, - { 0xE770, 0x84F6 }, - { 0xE771, 0x8531 }, - { 0xE772, 0x8526 }, - { 0xE773, 0x84E7 }, - { 0xE774, 0x84E8 }, - { 0xE775, 0x84F0 }, - { 0xE776, 0x84EF }, - { 0xE777, 0x84F9 }, - { 0xE778, 0x8518 }, - { 0xE779, 0x8520 }, - { 0xE77A, 0x8530 }, - { 0xE77B, 0x850B }, - { 0xE77C, 0x8519 }, - { 0xE77D, 0x852F }, - { 0xE77E, 0x8662 }, - { 0xE7A1, 0x8756 }, - { 0xE7A2, 0x8763 }, - { 0xE7A3, 0x8764 }, - { 0xE7A4, 0x8777 }, - { 0xE7A5, 0x87E1 }, - { 0xE7A6, 0x8773 }, - { 0xE7A7, 0x8758 }, - { 0xE7A8, 0x8754 }, - { 0xE7A9, 0x875B }, - { 0xE7AA, 0x8752 }, - { 0xE7AB, 0x8761 }, - { 0xE7AC, 0x875A }, - { 0xE7AD, 0x8751 }, - { 0xE7AE, 0x875E }, - { 0xE7AF, 0x876D }, - { 0xE7B0, 0x876A }, - { 0xE7B1, 0x8750 }, - { 0xE7B2, 0x874E }, - { 0xE7B3, 0x875F }, - { 0xE7B4, 0x875D }, - { 0xE7B5, 0x876F }, - { 0xE7B6, 0x876C }, - { 0xE7B7, 0x877A }, - { 0xE7B8, 0x876E }, - { 0xE7B9, 0x875C }, - { 0xE7BA, 0x8765 }, - { 0xE7BB, 0x874F }, - { 0xE7BC, 0x877B }, - { 0xE7BD, 0x8775 }, - { 0xE7BE, 0x8762 }, - { 0xE7BF, 0x8767 }, - { 0xE7C0, 0x8769 }, - { 0xE7C1, 0x885A }, - { 0xE7C2, 0x8905 }, - { 0xE7C3, 0x890C }, - { 0xE7C4, 0x8914 }, - { 0xE7C5, 0x890B }, - { 0xE7C6, 0x8917 }, - { 0xE7C7, 0x8918 }, - { 0xE7C8, 0x8919 }, - { 0xE7C9, 0x8906 }, - { 0xE7CA, 0x8916 }, - { 0xE7CB, 0x8911 }, - { 0xE7CC, 0x890E }, - { 0xE7CD, 0x8909 }, - { 0xE7CE, 0x89A2 }, - { 0xE7CF, 0x89A4 }, - { 0xE7D0, 0x89A3 }, - { 0xE7D1, 0x89ED }, - { 0xE7D2, 0x89F0 }, - { 0xE7D3, 0x89EC }, - { 0xE7D4, 0x8ACF }, - { 0xE7D5, 0x8AC6 }, - { 0xE7D6, 0x8AB8 }, - { 0xE7D7, 0x8AD3 }, - { 0xE7D8, 0x8AD1 }, - { 0xE7D9, 0x8AD4 }, - { 0xE7DA, 0x8AD5 }, - { 0xE7DB, 0x8ABB }, - { 0xE7DC, 0x8AD7 }, - { 0xE7DD, 0x8ABE }, - { 0xE7DE, 0x8AC0 }, - { 0xE7DF, 0x8AC5 }, - { 0xE7E0, 0x8AD8 }, - { 0xE7E1, 0x8AC3 }, - { 0xE7E2, 0x8ABA }, - { 0xE7E3, 0x8ABD }, - { 0xE7E4, 0x8AD9 }, - { 0xE7E5, 0x8C3E }, - { 0xE7E6, 0x8C4D }, - { 0xE7E7, 0x8C8F }, - { 0xE7E8, 0x8CE5 }, - { 0xE7E9, 0x8CDF }, - { 0xE7EA, 0x8CD9 }, - { 0xE7EB, 0x8CE8 }, - { 0xE7EC, 0x8CDA }, - { 0xE7ED, 0x8CDD }, - { 0xE7EE, 0x8CE7 }, - { 0xE7EF, 0x8DA0 }, - { 0xE7F0, 0x8D9C }, - { 0xE7F1, 0x8DA1 }, - { 0xE7F2, 0x8D9B }, - { 0xE7F3, 0x8E20 }, - { 0xE7F4, 0x8E23 }, - { 0xE7F5, 0x8E25 }, - { 0xE7F6, 0x8E24 }, - { 0xE7F7, 0x8E2E }, - { 0xE7F8, 0x8E15 }, - { 0xE7F9, 0x8E1B }, - { 0xE7FA, 0x8E16 }, - { 0xE7FB, 0x8E11 }, - { 0xE7FC, 0x8E19 }, - { 0xE7FD, 0x8E26 }, - { 0xE7FE, 0x8E27 }, - { 0xE840, 0x8E14 }, - { 0xE841, 0x8E12 }, - { 0xE842, 0x8E18 }, - { 0xE843, 0x8E13 }, - { 0xE844, 0x8E1C }, - { 0xE845, 0x8E17 }, - { 0xE846, 0x8E1A }, - { 0xE847, 0x8F2C }, - { 0xE848, 0x8F24 }, - { 0xE849, 0x8F18 }, - { 0xE84A, 0x8F1A }, - { 0xE84B, 0x8F20 }, - { 0xE84C, 0x8F23 }, - { 0xE84D, 0x8F16 }, - { 0xE84E, 0x8F17 }, - { 0xE84F, 0x9073 }, - { 0xE850, 0x9070 }, - { 0xE851, 0x906F }, - { 0xE852, 0x9067 }, - { 0xE853, 0x906B }, - { 0xE854, 0x912F }, - { 0xE855, 0x912B }, - { 0xE856, 0x9129 }, - { 0xE857, 0x912A }, - { 0xE858, 0x9132 }, - { 0xE859, 0x9126 }, - { 0xE85A, 0x912E }, - { 0xE85B, 0x9185 }, - { 0xE85C, 0x9186 }, - { 0xE85D, 0x918A }, - { 0xE85E, 0x9181 }, - { 0xE85F, 0x9182 }, - { 0xE860, 0x9184 }, - { 0xE861, 0x9180 }, - { 0xE862, 0x92D0 }, - { 0xE863, 0x92C3 }, - { 0xE864, 0x92C4 }, - { 0xE865, 0x92C0 }, - { 0xE866, 0x92D9 }, - { 0xE867, 0x92B6 }, - { 0xE868, 0x92CF }, - { 0xE869, 0x92F1 }, - { 0xE86A, 0x92DF }, - { 0xE86B, 0x92D8 }, - { 0xE86C, 0x92E9 }, - { 0xE86D, 0x92D7 }, - { 0xE86E, 0x92DD }, - { 0xE86F, 0x92CC }, - { 0xE870, 0x92EF }, - { 0xE871, 0x92C2 }, - { 0xE872, 0x92E8 }, - { 0xE873, 0x92CA }, - { 0xE874, 0x92C8 }, - { 0xE875, 0x92CE }, - { 0xE876, 0x92E6 }, - { 0xE877, 0x92CD }, - { 0xE878, 0x92D5 }, - { 0xE879, 0x92C9 }, - { 0xE87A, 0x92E0 }, - { 0xE87B, 0x92DE }, - { 0xE87C, 0x92E7 }, - { 0xE87D, 0x92D1 }, - { 0xE87E, 0x92D3 }, - { 0xE8A1, 0x92B5 }, - { 0xE8A2, 0x92E1 }, - { 0xE8A3, 0x92C6 }, - { 0xE8A4, 0x92B4 }, - { 0xE8A5, 0x957C }, - { 0xE8A6, 0x95AC }, - { 0xE8A7, 0x95AB }, - { 0xE8A8, 0x95AE }, - { 0xE8A9, 0x95B0 }, - { 0xE8AA, 0x96A4 }, - { 0xE8AB, 0x96A2 }, - { 0xE8AC, 0x96D3 }, - { 0xE8AD, 0x9705 }, - { 0xE8AE, 0x9708 }, - { 0xE8AF, 0x9702 }, - { 0xE8B0, 0x975A }, - { 0xE8B1, 0x978A }, - { 0xE8B2, 0x978E }, - { 0xE8B3, 0x9788 }, - { 0xE8B4, 0x97D0 }, - { 0xE8B5, 0x97CF }, - { 0xE8B6, 0x981E }, - { 0xE8B7, 0x981D }, - { 0xE8B8, 0x9826 }, - { 0xE8B9, 0x9829 }, - { 0xE8BA, 0x9828 }, - { 0xE8BB, 0x9820 }, - { 0xE8BC, 0x981B }, - { 0xE8BD, 0x9827 }, - { 0xE8BE, 0x98B2 }, - { 0xE8BF, 0x9908 }, - { 0xE8C0, 0x98FA }, - { 0xE8C1, 0x9911 }, - { 0xE8C2, 0x9914 }, - { 0xE8C3, 0x9916 }, - { 0xE8C4, 0x9917 }, - { 0xE8C5, 0x9915 }, - { 0xE8C6, 0x99DC }, - { 0xE8C7, 0x99CD }, - { 0xE8C8, 0x99CF }, - { 0xE8C9, 0x99D3 }, - { 0xE8CA, 0x99D4 }, - { 0xE8CB, 0x99CE }, - { 0xE8CC, 0x99C9 }, - { 0xE8CD, 0x99D6 }, - { 0xE8CE, 0x99D8 }, - { 0xE8CF, 0x99CB }, - { 0xE8D0, 0x99D7 }, - { 0xE8D1, 0x99CC }, - { 0xE8D2, 0x9AB3 }, - { 0xE8D3, 0x9AEC }, - { 0xE8D4, 0x9AEB }, - { 0xE8D5, 0x9AF3 }, - { 0xE8D6, 0x9AF2 }, - { 0xE8D7, 0x9AF1 }, - { 0xE8D8, 0x9B46 }, - { 0xE8D9, 0x9B43 }, - { 0xE8DA, 0x9B67 }, - { 0xE8DB, 0x9B74 }, - { 0xE8DC, 0x9B71 }, - { 0xE8DD, 0x9B66 }, - { 0xE8DE, 0x9B76 }, - { 0xE8DF, 0x9B75 }, - { 0xE8E0, 0x9B70 }, - { 0xE8E1, 0x9B68 }, - { 0xE8E2, 0x9B64 }, - { 0xE8E3, 0x9B6C }, - { 0xE8E4, 0x9CFC }, - { 0xE8E5, 0x9CFA }, - { 0xE8E6, 0x9CFD }, - { 0xE8E7, 0x9CFF }, - { 0xE8E8, 0x9CF7 }, - { 0xE8E9, 0x9D07 }, - { 0xE8EA, 0x9D00 }, - { 0xE8EB, 0x9CF9 }, - { 0xE8EC, 0x9CFB }, - { 0xE8ED, 0x9D08 }, - { 0xE8EE, 0x9D05 }, - { 0xE8EF, 0x9D04 }, - { 0xE8F0, 0x9E83 }, - { 0xE8F1, 0x9ED3 }, - { 0xE8F2, 0x9F0F }, - { 0xE8F3, 0x9F10 }, - { 0xE8F4, 0x511C }, - { 0xE8F5, 0x5113 }, - { 0xE8F6, 0x5117 }, - { 0xE8F7, 0x511A }, - { 0xE8F8, 0x5111 }, - { 0xE8F9, 0x51DE }, - { 0xE8FA, 0x5334 }, - { 0xE8FB, 0x53E1 }, - { 0xE8FC, 0x5670 }, - { 0xE8FD, 0x5660 }, - { 0xE8FE, 0x566E }, - { 0xE940, 0x5673 }, - { 0xE941, 0x5666 }, - { 0xE942, 0x5663 }, - { 0xE943, 0x566D }, - { 0xE944, 0x5672 }, - { 0xE945, 0x565E }, - { 0xE946, 0x5677 }, - { 0xE947, 0x571C }, - { 0xE948, 0x571B }, - { 0xE949, 0x58C8 }, - { 0xE94A, 0x58BD }, - { 0xE94B, 0x58C9 }, - { 0xE94C, 0x58BF }, - { 0xE94D, 0x58BA }, - { 0xE94E, 0x58C2 }, - { 0xE94F, 0x58BC }, - { 0xE950, 0x58C6 }, - { 0xE951, 0x5B17 }, - { 0xE952, 0x5B19 }, - { 0xE953, 0x5B1B }, - { 0xE954, 0x5B21 }, - { 0xE955, 0x5B14 }, - { 0xE956, 0x5B13 }, - { 0xE957, 0x5B10 }, - { 0xE958, 0x5B16 }, - { 0xE959, 0x5B28 }, - { 0xE95A, 0x5B1A }, - { 0xE95B, 0x5B20 }, - { 0xE95C, 0x5B1E }, - { 0xE95D, 0x5BEF }, - { 0xE95E, 0x5DAC }, - { 0xE95F, 0x5DB1 }, - { 0xE960, 0x5DA9 }, - { 0xE961, 0x5DA7 }, - { 0xE962, 0x5DB5 }, - { 0xE963, 0x5DB0 }, - { 0xE964, 0x5DAE }, - { 0xE965, 0x5DAA }, - { 0xE966, 0x5DA8 }, - { 0xE967, 0x5DB2 }, - { 0xE968, 0x5DAD }, - { 0xE969, 0x5DAF }, - { 0xE96A, 0x5DB4 }, - { 0xE96B, 0x5E67 }, - { 0xE96C, 0x5E68 }, - { 0xE96D, 0x5E66 }, - { 0xE96E, 0x5E6F }, - { 0xE96F, 0x5EE9 }, - { 0xE970, 0x5EE7 }, - { 0xE971, 0x5EE6 }, - { 0xE972, 0x5EE8 }, - { 0xE973, 0x5EE5 }, - { 0xE974, 0x5F4B }, - { 0xE975, 0x5FBC }, - { 0xE976, 0x619D }, - { 0xE977, 0x61A8 }, - { 0xE978, 0x6196 }, - { 0xE979, 0x61C5 }, - { 0xE97A, 0x61B4 }, - { 0xE97B, 0x61C6 }, - { 0xE97C, 0x61C1 }, - { 0xE97D, 0x61CC }, - { 0xE97E, 0x61BA }, - { 0xE9A1, 0x61BF }, - { 0xE9A2, 0x61B8 }, - { 0xE9A3, 0x618C }, - { 0xE9A4, 0x64D7 }, - { 0xE9A5, 0x64D6 }, - { 0xE9A6, 0x64D0 }, - { 0xE9A7, 0x64CF }, - { 0xE9A8, 0x64C9 }, - { 0xE9A9, 0x64BD }, - { 0xE9AA, 0x6489 }, - { 0xE9AB, 0x64C3 }, - { 0xE9AC, 0x64DB }, - { 0xE9AD, 0x64F3 }, - { 0xE9AE, 0x64D9 }, - { 0xE9AF, 0x6533 }, - { 0xE9B0, 0x657F }, - { 0xE9B1, 0x657C }, - { 0xE9B2, 0x65A2 }, - { 0xE9B3, 0x66C8 }, - { 0xE9B4, 0x66BE }, - { 0xE9B5, 0x66C0 }, - { 0xE9B6, 0x66CA }, - { 0xE9B7, 0x66CB }, - { 0xE9B8, 0x66CF }, - { 0xE9B9, 0x66BD }, - { 0xE9BA, 0x66BB }, - { 0xE9BB, 0x66BA }, - { 0xE9BC, 0x66CC }, - { 0xE9BD, 0x6723 }, - { 0xE9BE, 0x6A34 }, - { 0xE9BF, 0x6A66 }, - { 0xE9C0, 0x6A49 }, - { 0xE9C1, 0x6A67 }, - { 0xE9C2, 0x6A32 }, - { 0xE9C3, 0x6A68 }, - { 0xE9C4, 0x6A3E }, - { 0xE9C5, 0x6A5D }, - { 0xE9C6, 0x6A6D }, - { 0xE9C7, 0x6A76 }, - { 0xE9C8, 0x6A5B }, - { 0xE9C9, 0x6A51 }, - { 0xE9CA, 0x6A28 }, - { 0xE9CB, 0x6A5A }, - { 0xE9CC, 0x6A3B }, - { 0xE9CD, 0x6A3F }, - { 0xE9CE, 0x6A41 }, - { 0xE9CF, 0x6A6A }, - { 0xE9D0, 0x6A64 }, - { 0xE9D1, 0x6A50 }, - { 0xE9D2, 0x6A4F }, - { 0xE9D3, 0x6A54 }, - { 0xE9D4, 0x6A6F }, - { 0xE9D5, 0x6A69 }, - { 0xE9D6, 0x6A60 }, - { 0xE9D7, 0x6A3C }, - { 0xE9D8, 0x6A5E }, - { 0xE9D9, 0x6A56 }, - { 0xE9DA, 0x6A55 }, - { 0xE9DB, 0x6A4D }, - { 0xE9DC, 0x6A4E }, - { 0xE9DD, 0x6A46 }, - { 0xE9DE, 0x6B55 }, - { 0xE9DF, 0x6B54 }, - { 0xE9E0, 0x6B56 }, - { 0xE9E1, 0x6BA7 }, - { 0xE9E2, 0x6BAA }, - { 0xE9E3, 0x6BAB }, - { 0xE9E4, 0x6BC8 }, - { 0xE9E5, 0x6BC7 }, - { 0xE9E6, 0x6C04 }, - { 0xE9E7, 0x6C03 }, - { 0xE9E8, 0x6C06 }, - { 0xE9E9, 0x6FAD }, - { 0xE9EA, 0x6FCB }, - { 0xE9EB, 0x6FA3 }, - { 0xE9EC, 0x6FC7 }, - { 0xE9ED, 0x6FBC }, - { 0xE9EE, 0x6FCE }, - { 0xE9EF, 0x6FC8 }, - { 0xE9F0, 0x6F5E }, - { 0xE9F1, 0x6FC4 }, - { 0xE9F2, 0x6FBD }, - { 0xE9F3, 0x6F9E }, - { 0xE9F4, 0x6FCA }, - { 0xE9F5, 0x6FA8 }, - { 0xE9F6, 0x7004 }, - { 0xE9F7, 0x6FA5 }, - { 0xE9F8, 0x6FAE }, - { 0xE9F9, 0x6FBA }, - { 0xE9FA, 0x6FAC }, - { 0xE9FB, 0x6FAA }, - { 0xE9FC, 0x6FCF }, - { 0xE9FD, 0x6FBF }, - { 0xE9FE, 0x6FB8 }, - { 0xEA40, 0x6FA2 }, - { 0xEA41, 0x6FC9 }, - { 0xEA42, 0x6FAB }, - { 0xEA43, 0x6FCD }, - { 0xEA44, 0x6FAF }, - { 0xEA45, 0x6FB2 }, - { 0xEA46, 0x6FB0 }, - { 0xEA47, 0x71C5 }, - { 0xEA48, 0x71C2 }, - { 0xEA49, 0x71BF }, - { 0xEA4A, 0x71B8 }, - { 0xEA4B, 0x71D6 }, - { 0xEA4C, 0x71C0 }, - { 0xEA4D, 0x71C1 }, - { 0xEA4E, 0x71CB }, - { 0xEA4F, 0x71D4 }, - { 0xEA50, 0x71CA }, - { 0xEA51, 0x71C7 }, - { 0xEA52, 0x71CF }, - { 0xEA53, 0x71BD }, - { 0xEA54, 0x71D8 }, - { 0xEA55, 0x71BC }, - { 0xEA56, 0x71C6 }, - { 0xEA57, 0x71DA }, - { 0xEA58, 0x71DB }, - { 0xEA59, 0x729D }, - { 0xEA5A, 0x729E }, - { 0xEA5B, 0x7369 }, - { 0xEA5C, 0x7366 }, - { 0xEA5D, 0x7367 }, - { 0xEA5E, 0x736C }, - { 0xEA5F, 0x7365 }, - { 0xEA60, 0x736B }, - { 0xEA61, 0x736A }, - { 0xEA62, 0x747F }, - { 0xEA63, 0x749A }, - { 0xEA64, 0x74A0 }, - { 0xEA65, 0x7494 }, - { 0xEA66, 0x7492 }, - { 0xEA67, 0x7495 }, - { 0xEA68, 0x74A1 }, - { 0xEA69, 0x750B }, - { 0xEA6A, 0x7580 }, - { 0xEA6B, 0x762F }, - { 0xEA6C, 0x762D }, - { 0xEA6D, 0x7631 }, - { 0xEA6E, 0x763D }, - { 0xEA6F, 0x7633 }, - { 0xEA70, 0x763C }, - { 0xEA71, 0x7635 }, - { 0xEA72, 0x7632 }, - { 0xEA73, 0x7630 }, - { 0xEA74, 0x76BB }, - { 0xEA75, 0x76E6 }, - { 0xEA76, 0x779A }, - { 0xEA77, 0x779D }, - { 0xEA78, 0x77A1 }, - { 0xEA79, 0x779C }, - { 0xEA7A, 0x779B }, - { 0xEA7B, 0x77A2 }, - { 0xEA7C, 0x77A3 }, - { 0xEA7D, 0x7795 }, - { 0xEA7E, 0x7799 }, - { 0xEAA1, 0x7797 }, - { 0xEAA2, 0x78DD }, - { 0xEAA3, 0x78E9 }, - { 0xEAA4, 0x78E5 }, - { 0xEAA5, 0x78EA }, - { 0xEAA6, 0x78DE }, - { 0xEAA7, 0x78E3 }, - { 0xEAA8, 0x78DB }, - { 0xEAA9, 0x78E1 }, - { 0xEAAA, 0x78E2 }, - { 0xEAAB, 0x78ED }, - { 0xEAAC, 0x78DF }, - { 0xEAAD, 0x78E0 }, - { 0xEAAE, 0x79A4 }, - { 0xEAAF, 0x7A44 }, - { 0xEAB0, 0x7A48 }, - { 0xEAB1, 0x7A47 }, - { 0xEAB2, 0x7AB6 }, - { 0xEAB3, 0x7AB8 }, - { 0xEAB4, 0x7AB5 }, - { 0xEAB5, 0x7AB1 }, - { 0xEAB6, 0x7AB7 }, - { 0xEAB7, 0x7BDE }, - { 0xEAB8, 0x7BE3 }, - { 0xEAB9, 0x7BE7 }, - { 0xEABA, 0x7BDD }, - { 0xEABB, 0x7BD5 }, - { 0xEABC, 0x7BE5 }, - { 0xEABD, 0x7BDA }, - { 0xEABE, 0x7BE8 }, - { 0xEABF, 0x7BF9 }, - { 0xEAC0, 0x7BD4 }, - { 0xEAC1, 0x7BEA }, - { 0xEAC2, 0x7BE2 }, - { 0xEAC3, 0x7BDC }, - { 0xEAC4, 0x7BEB }, - { 0xEAC5, 0x7BD8 }, - { 0xEAC6, 0x7BDF }, - { 0xEAC7, 0x7CD2 }, - { 0xEAC8, 0x7CD4 }, - { 0xEAC9, 0x7CD7 }, - { 0xEACA, 0x7CD0 }, - { 0xEACB, 0x7CD1 }, - { 0xEACC, 0x7E12 }, - { 0xEACD, 0x7E21 }, - { 0xEACE, 0x7E17 }, - { 0xEACF, 0x7E0C }, - { 0xEAD0, 0x7E1F }, - { 0xEAD1, 0x7E20 }, - { 0xEAD2, 0x7E13 }, - { 0xEAD3, 0x7E0E }, - { 0xEAD4, 0x7E1C }, - { 0xEAD5, 0x7E15 }, - { 0xEAD6, 0x7E1A }, - { 0xEAD7, 0x7E22 }, - { 0xEAD8, 0x7E0B }, - { 0xEAD9, 0x7E0F }, - { 0xEADA, 0x7E16 }, - { 0xEADB, 0x7E0D }, - { 0xEADC, 0x7E14 }, - { 0xEADD, 0x7E25 }, - { 0xEADE, 0x7E24 }, - { 0xEADF, 0x7F43 }, - { 0xEAE0, 0x7F7B }, - { 0xEAE1, 0x7F7C }, - { 0xEAE2, 0x7F7A }, - { 0xEAE3, 0x7FB1 }, - { 0xEAE4, 0x7FEF }, - { 0xEAE5, 0x802A }, - { 0xEAE6, 0x8029 }, - { 0xEAE7, 0x806C }, - { 0xEAE8, 0x81B1 }, - { 0xEAE9, 0x81A6 }, - { 0xEAEA, 0x81AE }, - { 0xEAEB, 0x81B9 }, - { 0xEAEC, 0x81B5 }, - { 0xEAED, 0x81AB }, - { 0xEAEE, 0x81B0 }, - { 0xEAEF, 0x81AC }, - { 0xEAF0, 0x81B4 }, - { 0xEAF1, 0x81B2 }, - { 0xEAF2, 0x81B7 }, - { 0xEAF3, 0x81A7 }, - { 0xEAF4, 0x81F2 }, - { 0xEAF5, 0x8255 }, - { 0xEAF6, 0x8256 }, - { 0xEAF7, 0x8257 }, - { 0xEAF8, 0x8556 }, - { 0xEAF9, 0x8545 }, - { 0xEAFA, 0x856B }, - { 0xEAFB, 0x854D }, - { 0xEAFC, 0x8553 }, - { 0xEAFD, 0x8561 }, - { 0xEAFE, 0x8558 }, - { 0xEB40, 0x8540 }, - { 0xEB41, 0x8546 }, - { 0xEB42, 0x8564 }, - { 0xEB43, 0x8541 }, - { 0xEB44, 0x8562 }, - { 0xEB45, 0x8544 }, - { 0xEB46, 0x8551 }, - { 0xEB47, 0x8547 }, - { 0xEB48, 0x8563 }, - { 0xEB49, 0x853E }, - { 0xEB4A, 0x855B }, - { 0xEB4B, 0x8571 }, - { 0xEB4C, 0x854E }, - { 0xEB4D, 0x856E }, - { 0xEB4E, 0x8575 }, - { 0xEB4F, 0x8555 }, - { 0xEB50, 0x8567 }, - { 0xEB51, 0x8560 }, - { 0xEB52, 0x858C }, - { 0xEB53, 0x8566 }, - { 0xEB54, 0x855D }, - { 0xEB55, 0x8554 }, - { 0xEB56, 0x8565 }, - { 0xEB57, 0x856C }, - { 0xEB58, 0x8663 }, - { 0xEB59, 0x8665 }, - { 0xEB5A, 0x8664 }, - { 0xEB5B, 0x879B }, - { 0xEB5C, 0x878F }, - { 0xEB5D, 0x8797 }, - { 0xEB5E, 0x8793 }, - { 0xEB5F, 0x8792 }, - { 0xEB60, 0x8788 }, - { 0xEB61, 0x8781 }, - { 0xEB62, 0x8796 }, - { 0xEB63, 0x8798 }, - { 0xEB64, 0x8779 }, - { 0xEB65, 0x8787 }, - { 0xEB66, 0x87A3 }, - { 0xEB67, 0x8785 }, - { 0xEB68, 0x8790 }, - { 0xEB69, 0x8791 }, - { 0xEB6A, 0x879D }, - { 0xEB6B, 0x8784 }, - { 0xEB6C, 0x8794 }, - { 0xEB6D, 0x879C }, - { 0xEB6E, 0x879A }, - { 0xEB6F, 0x8789 }, - { 0xEB70, 0x891E }, - { 0xEB71, 0x8926 }, - { 0xEB72, 0x8930 }, - { 0xEB73, 0x892D }, - { 0xEB74, 0x892E }, - { 0xEB75, 0x8927 }, - { 0xEB76, 0x8931 }, - { 0xEB77, 0x8922 }, - { 0xEB78, 0x8929 }, - { 0xEB79, 0x8923 }, - { 0xEB7A, 0x892F }, - { 0xEB7B, 0x892C }, - { 0xEB7C, 0x891F }, - { 0xEB7D, 0x89F1 }, - { 0xEB7E, 0x8AE0 }, - { 0xEBA1, 0x8AE2 }, - { 0xEBA2, 0x8AF2 }, - { 0xEBA3, 0x8AF4 }, - { 0xEBA4, 0x8AF5 }, - { 0xEBA5, 0x8ADD }, - { 0xEBA6, 0x8B14 }, - { 0xEBA7, 0x8AE4 }, - { 0xEBA8, 0x8ADF }, - { 0xEBA9, 0x8AF0 }, - { 0xEBAA, 0x8AC8 }, - { 0xEBAB, 0x8ADE }, - { 0xEBAC, 0x8AE1 }, - { 0xEBAD, 0x8AE8 }, - { 0xEBAE, 0x8AFF }, - { 0xEBAF, 0x8AEF }, - { 0xEBB0, 0x8AFB }, - { 0xEBB1, 0x8C91 }, - { 0xEBB2, 0x8C92 }, - { 0xEBB3, 0x8C90 }, - { 0xEBB4, 0x8CF5 }, - { 0xEBB5, 0x8CEE }, - { 0xEBB6, 0x8CF1 }, - { 0xEBB7, 0x8CF0 }, - { 0xEBB8, 0x8CF3 }, - { 0xEBB9, 0x8D6C }, - { 0xEBBA, 0x8D6E }, - { 0xEBBB, 0x8DA5 }, - { 0xEBBC, 0x8DA7 }, - { 0xEBBD, 0x8E33 }, - { 0xEBBE, 0x8E3E }, - { 0xEBBF, 0x8E38 }, - { 0xEBC0, 0x8E40 }, - { 0xEBC1, 0x8E45 }, - { 0xEBC2, 0x8E36 }, - { 0xEBC3, 0x8E3C }, - { 0xEBC4, 0x8E3D }, - { 0xEBC5, 0x8E41 }, - { 0xEBC6, 0x8E30 }, - { 0xEBC7, 0x8E3F }, - { 0xEBC8, 0x8EBD }, - { 0xEBC9, 0x8F36 }, - { 0xEBCA, 0x8F2E }, - { 0xEBCB, 0x8F35 }, - { 0xEBCC, 0x8F32 }, - { 0xEBCD, 0x8F39 }, - { 0xEBCE, 0x8F37 }, - { 0xEBCF, 0x8F34 }, - { 0xEBD0, 0x9076 }, - { 0xEBD1, 0x9079 }, - { 0xEBD2, 0x907B }, - { 0xEBD3, 0x9086 }, - { 0xEBD4, 0x90FA }, - { 0xEBD5, 0x9133 }, - { 0xEBD6, 0x9135 }, - { 0xEBD7, 0x9136 }, - { 0xEBD8, 0x9193 }, - { 0xEBD9, 0x9190 }, - { 0xEBDA, 0x9191 }, - { 0xEBDB, 0x918D }, - { 0xEBDC, 0x918F }, - { 0xEBDD, 0x9327 }, - { 0xEBDE, 0x931E }, - { 0xEBDF, 0x9308 }, - { 0xEBE0, 0x931F }, - { 0xEBE1, 0x9306 }, - { 0xEBE2, 0x930F }, - { 0xEBE3, 0x937A }, - { 0xEBE4, 0x9338 }, - { 0xEBE5, 0x933C }, - { 0xEBE6, 0x931B }, - { 0xEBE7, 0x9323 }, - { 0xEBE8, 0x9312 }, - { 0xEBE9, 0x9301 }, - { 0xEBEA, 0x9346 }, - { 0xEBEB, 0x932D }, - { 0xEBEC, 0x930E }, - { 0xEBED, 0x930D }, - { 0xEBEE, 0x92CB }, - { 0xEBEF, 0x931D }, - { 0xEBF0, 0x92FA }, - { 0xEBF1, 0x9325 }, - { 0xEBF2, 0x9313 }, - { 0xEBF3, 0x92F9 }, - { 0xEBF4, 0x92F7 }, - { 0xEBF5, 0x9334 }, - { 0xEBF6, 0x9302 }, - { 0xEBF7, 0x9324 }, - { 0xEBF8, 0x92FF }, - { 0xEBF9, 0x9329 }, - { 0xEBFA, 0x9339 }, - { 0xEBFB, 0x9335 }, - { 0xEBFC, 0x932A }, - { 0xEBFD, 0x9314 }, - { 0xEBFE, 0x930C }, - { 0xEC40, 0x930B }, - { 0xEC41, 0x92FE }, - { 0xEC42, 0x9309 }, - { 0xEC43, 0x9300 }, - { 0xEC44, 0x92FB }, - { 0xEC45, 0x9316 }, - { 0xEC46, 0x95BC }, - { 0xEC47, 0x95CD }, - { 0xEC48, 0x95BE }, - { 0xEC49, 0x95B9 }, - { 0xEC4A, 0x95BA }, - { 0xEC4B, 0x95B6 }, - { 0xEC4C, 0x95BF }, - { 0xEC4D, 0x95B5 }, - { 0xEC4E, 0x95BD }, - { 0xEC4F, 0x96A9 }, - { 0xEC50, 0x96D4 }, - { 0xEC51, 0x970B }, - { 0xEC52, 0x9712 }, - { 0xEC53, 0x9710 }, - { 0xEC54, 0x9799 }, - { 0xEC55, 0x9797 }, - { 0xEC56, 0x9794 }, - { 0xEC57, 0x97F0 }, - { 0xEC58, 0x97F8 }, - { 0xEC59, 0x9835 }, - { 0xEC5A, 0x982F }, - { 0xEC5B, 0x9832 }, - { 0xEC5C, 0x9924 }, - { 0xEC5D, 0x991F }, - { 0xEC5E, 0x9927 }, - { 0xEC5F, 0x9929 }, - { 0xEC60, 0x999E }, - { 0xEC61, 0x99EE }, - { 0xEC62, 0x99EC }, - { 0xEC63, 0x99E5 }, - { 0xEC64, 0x99E4 }, - { 0xEC65, 0x99F0 }, - { 0xEC66, 0x99E3 }, - { 0xEC67, 0x99EA }, - { 0xEC68, 0x99E9 }, - { 0xEC69, 0x99E7 }, - { 0xEC6A, 0x9AB9 }, - { 0xEC6B, 0x9ABF }, - { 0xEC6C, 0x9AB4 }, - { 0xEC6D, 0x9ABB }, - { 0xEC6E, 0x9AF6 }, - { 0xEC6F, 0x9AFA }, - { 0xEC70, 0x9AF9 }, - { 0xEC71, 0x9AF7 }, - { 0xEC72, 0x9B33 }, - { 0xEC73, 0x9B80 }, - { 0xEC74, 0x9B85 }, - { 0xEC75, 0x9B87 }, - { 0xEC76, 0x9B7C }, - { 0xEC77, 0x9B7E }, - { 0xEC78, 0x9B7B }, - { 0xEC79, 0x9B82 }, - { 0xEC7A, 0x9B93 }, - { 0xEC7B, 0x9B92 }, - { 0xEC7C, 0x9B90 }, - { 0xEC7D, 0x9B7A }, - { 0xEC7E, 0x9B95 }, - { 0xECA1, 0x9B7D }, - { 0xECA2, 0x9B88 }, - { 0xECA3, 0x9D25 }, - { 0xECA4, 0x9D17 }, - { 0xECA5, 0x9D20 }, - { 0xECA6, 0x9D1E }, - { 0xECA7, 0x9D14 }, - { 0xECA8, 0x9D29 }, - { 0xECA9, 0x9D1D }, - { 0xECAA, 0x9D18 }, - { 0xECAB, 0x9D22 }, - { 0xECAC, 0x9D10 }, - { 0xECAD, 0x9D19 }, - { 0xECAE, 0x9D1F }, - { 0xECAF, 0x9E88 }, - { 0xECB0, 0x9E86 }, - { 0xECB1, 0x9E87 }, - { 0xECB2, 0x9EAE }, - { 0xECB3, 0x9EAD }, - { 0xECB4, 0x9ED5 }, - { 0xECB5, 0x9ED6 }, - { 0xECB6, 0x9EFA }, - { 0xECB7, 0x9F12 }, - { 0xECB8, 0x9F3D }, - { 0xECB9, 0x5126 }, - { 0xECBA, 0x5125 }, - { 0xECBB, 0x5122 }, - { 0xECBC, 0x5124 }, - { 0xECBD, 0x5120 }, - { 0xECBE, 0x5129 }, - { 0xECBF, 0x52F4 }, - { 0xECC0, 0x5693 }, - { 0xECC1, 0x568C }, - { 0xECC2, 0x568D }, - { 0xECC3, 0x5686 }, - { 0xECC4, 0x5684 }, - { 0xECC5, 0x5683 }, - { 0xECC6, 0x567E }, - { 0xECC7, 0x5682 }, - { 0xECC8, 0x567F }, - { 0xECC9, 0x5681 }, - { 0xECCA, 0x58D6 }, - { 0xECCB, 0x58D4 }, - { 0xECCC, 0x58CF }, - { 0xECCD, 0x58D2 }, - { 0xECCE, 0x5B2D }, - { 0xECCF, 0x5B25 }, - { 0xECD0, 0x5B32 }, - { 0xECD1, 0x5B23 }, - { 0xECD2, 0x5B2C }, - { 0xECD3, 0x5B27 }, - { 0xECD4, 0x5B26 }, - { 0xECD5, 0x5B2F }, - { 0xECD6, 0x5B2E }, - { 0xECD7, 0x5B7B }, - { 0xECD8, 0x5BF1 }, - { 0xECD9, 0x5BF2 }, - { 0xECDA, 0x5DB7 }, - { 0xECDB, 0x5E6C }, - { 0xECDC, 0x5E6A }, - { 0xECDD, 0x5FBE }, - { 0xECDE, 0x5FBB }, - { 0xECDF, 0x61C3 }, - { 0xECE0, 0x61B5 }, - { 0xECE1, 0x61BC }, - { 0xECE2, 0x61E7 }, - { 0xECE3, 0x61E0 }, - { 0xECE4, 0x61E5 }, - { 0xECE5, 0x61E4 }, - { 0xECE6, 0x61E8 }, - { 0xECE7, 0x61DE }, - { 0xECE8, 0x64EF }, - { 0xECE9, 0x64E9 }, - { 0xECEA, 0x64E3 }, - { 0xECEB, 0x64EB }, - { 0xECEC, 0x64E4 }, - { 0xECED, 0x64E8 }, - { 0xECEE, 0x6581 }, - { 0xECEF, 0x6580 }, - { 0xECF0, 0x65B6 }, - { 0xECF1, 0x65DA }, - { 0xECF2, 0x66D2 }, - { 0xECF3, 0x6A8D }, - { 0xECF4, 0x6A96 }, - { 0xECF5, 0x6A81 }, - { 0xECF6, 0x6AA5 }, - { 0xECF7, 0x6A89 }, - { 0xECF8, 0x6A9F }, - { 0xECF9, 0x6A9B }, - { 0xECFA, 0x6AA1 }, - { 0xECFB, 0x6A9E }, - { 0xECFC, 0x6A87 }, - { 0xECFD, 0x6A93 }, - { 0xECFE, 0x6A8E }, - { 0xED40, 0x6A95 }, - { 0xED41, 0x6A83 }, - { 0xED42, 0x6AA8 }, - { 0xED43, 0x6AA4 }, - { 0xED44, 0x6A91 }, - { 0xED45, 0x6A7F }, - { 0xED46, 0x6AA6 }, - { 0xED47, 0x6A9A }, - { 0xED48, 0x6A85 }, - { 0xED49, 0x6A8C }, - { 0xED4A, 0x6A92 }, - { 0xED4B, 0x6B5B }, - { 0xED4C, 0x6BAD }, - { 0xED4D, 0x6C09 }, - { 0xED4E, 0x6FCC }, - { 0xED4F, 0x6FA9 }, - { 0xED50, 0x6FF4 }, - { 0xED51, 0x6FD4 }, - { 0xED52, 0x6FE3 }, - { 0xED53, 0x6FDC }, - { 0xED54, 0x6FED }, - { 0xED55, 0x6FE7 }, - { 0xED56, 0x6FE6 }, - { 0xED57, 0x6FDE }, - { 0xED58, 0x6FF2 }, - { 0xED59, 0x6FDD }, - { 0xED5A, 0x6FE2 }, - { 0xED5B, 0x6FE8 }, - { 0xED5C, 0x71E1 }, - { 0xED5D, 0x71F1 }, - { 0xED5E, 0x71E8 }, - { 0xED5F, 0x71F2 }, - { 0xED60, 0x71E4 }, - { 0xED61, 0x71F0 }, - { 0xED62, 0x71E2 }, - { 0xED63, 0x7373 }, - { 0xED64, 0x736E }, - { 0xED65, 0x736F }, - { 0xED66, 0x7497 }, - { 0xED67, 0x74B2 }, - { 0xED68, 0x74AB }, - { 0xED69, 0x7490 }, - { 0xED6A, 0x74AA }, - { 0xED6B, 0x74AD }, - { 0xED6C, 0x74B1 }, - { 0xED6D, 0x74A5 }, - { 0xED6E, 0x74AF }, - { 0xED6F, 0x7510 }, - { 0xED70, 0x7511 }, - { 0xED71, 0x7512 }, - { 0xED72, 0x750F }, - { 0xED73, 0x7584 }, - { 0xED74, 0x7643 }, - { 0xED75, 0x7648 }, - { 0xED76, 0x7649 }, - { 0xED77, 0x7647 }, - { 0xED78, 0x76A4 }, - { 0xED79, 0x76E9 }, - { 0xED7A, 0x77B5 }, - { 0xED7B, 0x77AB }, - { 0xED7C, 0x77B2 }, - { 0xED7D, 0x77B7 }, - { 0xED7E, 0x77B6 }, - { 0xEDA1, 0x77B4 }, - { 0xEDA2, 0x77B1 }, - { 0xEDA3, 0x77A8 }, - { 0xEDA4, 0x77F0 }, - { 0xEDA5, 0x78F3 }, - { 0xEDA6, 0x78FD }, - { 0xEDA7, 0x7902 }, - { 0xEDA8, 0x78FB }, - { 0xEDA9, 0x78FC }, - { 0xEDAA, 0x78F2 }, - { 0xEDAB, 0x7905 }, - { 0xEDAC, 0x78F9 }, - { 0xEDAD, 0x78FE }, - { 0xEDAE, 0x7904 }, - { 0xEDAF, 0x79AB }, - { 0xEDB0, 0x79A8 }, - { 0xEDB1, 0x7A5C }, - { 0xEDB2, 0x7A5B }, - { 0xEDB3, 0x7A56 }, - { 0xEDB4, 0x7A58 }, - { 0xEDB5, 0x7A54 }, - { 0xEDB6, 0x7A5A }, - { 0xEDB7, 0x7ABE }, - { 0xEDB8, 0x7AC0 }, - { 0xEDB9, 0x7AC1 }, - { 0xEDBA, 0x7C05 }, - { 0xEDBB, 0x7C0F }, - { 0xEDBC, 0x7BF2 }, - { 0xEDBD, 0x7C00 }, - { 0xEDBE, 0x7BFF }, - { 0xEDBF, 0x7BFB }, - { 0xEDC0, 0x7C0E }, - { 0xEDC1, 0x7BF4 }, - { 0xEDC2, 0x7C0B }, - { 0xEDC3, 0x7BF3 }, - { 0xEDC4, 0x7C02 }, - { 0xEDC5, 0x7C09 }, - { 0xEDC6, 0x7C03 }, - { 0xEDC7, 0x7C01 }, - { 0xEDC8, 0x7BF8 }, - { 0xEDC9, 0x7BFD }, - { 0xEDCA, 0x7C06 }, - { 0xEDCB, 0x7BF0 }, - { 0xEDCC, 0x7BF1 }, - { 0xEDCD, 0x7C10 }, - { 0xEDCE, 0x7C0A }, - { 0xEDCF, 0x7CE8 }, - { 0xEDD0, 0x7E2D }, - { 0xEDD1, 0x7E3C }, - { 0xEDD2, 0x7E42 }, - { 0xEDD3, 0x7E33 }, - { 0xEDD4, 0x9848 }, - { 0xEDD5, 0x7E38 }, - { 0xEDD6, 0x7E2A }, - { 0xEDD7, 0x7E49 }, - { 0xEDD8, 0x7E40 }, - { 0xEDD9, 0x7E47 }, - { 0xEDDA, 0x7E29 }, - { 0xEDDB, 0x7E4C }, - { 0xEDDC, 0x7E30 }, - { 0xEDDD, 0x7E3B }, - { 0xEDDE, 0x7E36 }, - { 0xEDDF, 0x7E44 }, - { 0xEDE0, 0x7E3A }, - { 0xEDE1, 0x7F45 }, - { 0xEDE2, 0x7F7F }, - { 0xEDE3, 0x7F7E }, - { 0xEDE4, 0x7F7D }, - { 0xEDE5, 0x7FF4 }, - { 0xEDE6, 0x7FF2 }, - { 0xEDE7, 0x802C }, - { 0xEDE8, 0x81BB }, - { 0xEDE9, 0x81C4 }, - { 0xEDEA, 0x81CC }, - { 0xEDEB, 0x81CA }, - { 0xEDEC, 0x81C5 }, - { 0xEDED, 0x81C7 }, - { 0xEDEE, 0x81BC }, - { 0xEDEF, 0x81E9 }, - { 0xEDF0, 0x825B }, - { 0xEDF1, 0x825A }, - { 0xEDF2, 0x825C }, - { 0xEDF3, 0x8583 }, - { 0xEDF4, 0x8580 }, - { 0xEDF5, 0x858F }, - { 0xEDF6, 0x85A7 }, - { 0xEDF7, 0x8595 }, - { 0xEDF8, 0x85A0 }, - { 0xEDF9, 0x858B }, - { 0xEDFA, 0x85A3 }, - { 0xEDFB, 0x857B }, - { 0xEDFC, 0x85A4 }, - { 0xEDFD, 0x859A }, - { 0xEDFE, 0x859E }, - { 0xEE40, 0x8577 }, - { 0xEE41, 0x857C }, - { 0xEE42, 0x8589 }, - { 0xEE43, 0x85A1 }, - { 0xEE44, 0x857A }, - { 0xEE45, 0x8578 }, - { 0xEE46, 0x8557 }, - { 0xEE47, 0x858E }, - { 0xEE48, 0x8596 }, - { 0xEE49, 0x8586 }, - { 0xEE4A, 0x858D }, - { 0xEE4B, 0x8599 }, - { 0xEE4C, 0x859D }, - { 0xEE4D, 0x8581 }, - { 0xEE4E, 0x85A2 }, - { 0xEE4F, 0x8582 }, - { 0xEE50, 0x8588 }, - { 0xEE51, 0x8585 }, - { 0xEE52, 0x8579 }, - { 0xEE53, 0x8576 }, - { 0xEE54, 0x8598 }, - { 0xEE55, 0x8590 }, - { 0xEE56, 0x859F }, - { 0xEE57, 0x8668 }, - { 0xEE58, 0x87BE }, - { 0xEE59, 0x87AA }, - { 0xEE5A, 0x87AD }, - { 0xEE5B, 0x87C5 }, - { 0xEE5C, 0x87B0 }, - { 0xEE5D, 0x87AC }, - { 0xEE5E, 0x87B9 }, - { 0xEE5F, 0x87B5 }, - { 0xEE60, 0x87BC }, - { 0xEE61, 0x87AE }, - { 0xEE62, 0x87C9 }, - { 0xEE63, 0x87C3 }, - { 0xEE64, 0x87C2 }, - { 0xEE65, 0x87CC }, - { 0xEE66, 0x87B7 }, - { 0xEE67, 0x87AF }, - { 0xEE68, 0x87C4 }, - { 0xEE69, 0x87CA }, - { 0xEE6A, 0x87B4 }, - { 0xEE6B, 0x87B6 }, - { 0xEE6C, 0x87BF }, - { 0xEE6D, 0x87B8 }, - { 0xEE6E, 0x87BD }, - { 0xEE6F, 0x87DE }, - { 0xEE70, 0x87B2 }, - { 0xEE71, 0x8935 }, - { 0xEE72, 0x8933 }, - { 0xEE73, 0x893C }, - { 0xEE74, 0x893E }, - { 0xEE75, 0x8941 }, - { 0xEE76, 0x8952 }, - { 0xEE77, 0x8937 }, - { 0xEE78, 0x8942 }, - { 0xEE79, 0x89AD }, - { 0xEE7A, 0x89AF }, - { 0xEE7B, 0x89AE }, - { 0xEE7C, 0x89F2 }, - { 0xEE7D, 0x89F3 }, - { 0xEE7E, 0x8B1E }, - { 0xEEA1, 0x8B18 }, - { 0xEEA2, 0x8B16 }, - { 0xEEA3, 0x8B11 }, - { 0xEEA4, 0x8B05 }, - { 0xEEA5, 0x8B0B }, - { 0xEEA6, 0x8B22 }, - { 0xEEA7, 0x8B0F }, - { 0xEEA8, 0x8B12 }, - { 0xEEA9, 0x8B15 }, - { 0xEEAA, 0x8B07 }, - { 0xEEAB, 0x8B0D }, - { 0xEEAC, 0x8B08 }, - { 0xEEAD, 0x8B06 }, - { 0xEEAE, 0x8B1C }, - { 0xEEAF, 0x8B13 }, - { 0xEEB0, 0x8B1A }, - { 0xEEB1, 0x8C4F }, - { 0xEEB2, 0x8C70 }, - { 0xEEB3, 0x8C72 }, - { 0xEEB4, 0x8C71 }, - { 0xEEB5, 0x8C6F }, - { 0xEEB6, 0x8C95 }, - { 0xEEB7, 0x8C94 }, - { 0xEEB8, 0x8CF9 }, - { 0xEEB9, 0x8D6F }, - { 0xEEBA, 0x8E4E }, - { 0xEEBB, 0x8E4D }, - { 0xEEBC, 0x8E53 }, - { 0xEEBD, 0x8E50 }, - { 0xEEBE, 0x8E4C }, - { 0xEEBF, 0x8E47 }, - { 0xEEC0, 0x8F43 }, - { 0xEEC1, 0x8F40 }, - { 0xEEC2, 0x9085 }, - { 0xEEC3, 0x907E }, - { 0xEEC4, 0x9138 }, - { 0xEEC5, 0x919A }, - { 0xEEC6, 0x91A2 }, - { 0xEEC7, 0x919B }, - { 0xEEC8, 0x9199 }, - { 0xEEC9, 0x919F }, - { 0xEECA, 0x91A1 }, - { 0xEECB, 0x919D }, - { 0xEECC, 0x91A0 }, - { 0xEECD, 0x93A1 }, - { 0xEECE, 0x9383 }, - { 0xEECF, 0x93AF }, - { 0xEED0, 0x9364 }, - { 0xEED1, 0x9356 }, - { 0xEED2, 0x9347 }, - { 0xEED3, 0x937C }, - { 0xEED4, 0x9358 }, - { 0xEED5, 0x935C }, - { 0xEED6, 0x9376 }, - { 0xEED7, 0x9349 }, - { 0xEED8, 0x9350 }, - { 0xEED9, 0x9351 }, - { 0xEEDA, 0x9360 }, - { 0xEEDB, 0x936D }, - { 0xEEDC, 0x938F }, - { 0xEEDD, 0x934C }, - { 0xEEDE, 0x936A }, - { 0xEEDF, 0x9379 }, - { 0xEEE0, 0x9357 }, - { 0xEEE1, 0x9355 }, - { 0xEEE2, 0x9352 }, - { 0xEEE3, 0x934F }, - { 0xEEE4, 0x9371 }, - { 0xEEE5, 0x9377 }, - { 0xEEE6, 0x937B }, - { 0xEEE7, 0x9361 }, - { 0xEEE8, 0x935E }, - { 0xEEE9, 0x9363 }, - { 0xEEEA, 0x9367 }, - { 0xEEEB, 0x9380 }, - { 0xEEEC, 0x934E }, + { 0xD57E, 0x639F }, + { 0xD5A1, 0x6378 }, + { 0xD5A2, 0x6385 }, + { 0xD5A3, 0x6381 }, + { 0xD5A4, 0x6391 }, + { 0xD5A5, 0x638D }, + { 0xD5A6, 0x6370 }, + { 0xD5A7, 0x6553 }, + { 0xD5A8, 0x65CD }, + { 0xD5A9, 0x6665 }, + { 0xD5AA, 0x6661 }, + { 0xD5AB, 0x665B }, + { 0xD5AC, 0x6659 }, + { 0xD5AD, 0x665C }, + { 0xD5AE, 0x6662 }, + { 0xD5AF, 0x6718 }, + { 0xD5B0, 0x6879 }, + { 0xD5B1, 0x6887 }, + { 0xD5B2, 0x6890 }, + { 0xD5B3, 0x689C }, + { 0xD5B4, 0x686D }, + { 0xD5B5, 0x686E }, + { 0xD5B6, 0x68AE }, + { 0xD5B7, 0x68AB }, + { 0xD5B8, 0x6956 }, + { 0xD5B9, 0x686F }, + { 0xD5BA, 0x68A3 }, + { 0xD5BB, 0x68AC }, + { 0xD5BC, 0x68A9 }, + { 0xD5BD, 0x6875 }, + { 0xD5BE, 0x6874 }, + { 0xD5BF, 0x68B2 }, + { 0xD5C0, 0x688F }, + { 0xD5C1, 0x6877 }, + { 0xD5C2, 0x6892 }, + { 0xD5C3, 0x687C }, + { 0xD5C4, 0x686B }, + { 0xD5C5, 0x6872 }, + { 0xD5C6, 0x68AA }, + { 0xD5C7, 0x6880 }, + { 0xD5C8, 0x6871 }, + { 0xD5C9, 0x687E }, + { 0xD5CA, 0x689B }, + { 0xD5CB, 0x6896 }, + { 0xD5CC, 0x688B }, + { 0xD5CD, 0x68A0 }, + { 0xD5CE, 0x6889 }, + { 0xD5CF, 0x68A4 }, + { 0xD5D0, 0x6878 }, + { 0xD5D1, 0x687B }, + { 0xD5D2, 0x6891 }, + { 0xD5D3, 0x688C }, + { 0xD5D4, 0x688A }, + { 0xD5D5, 0x687D }, + { 0xD5D6, 0x6B36 }, + { 0xD5D7, 0x6B33 }, + { 0xD5D8, 0x6B37 }, + { 0xD5D9, 0x6B38 }, + { 0xD5DA, 0x6B91 }, + { 0xD5DB, 0x6B8F }, + { 0xD5DC, 0x6B8D }, + { 0xD5DD, 0x6B8E }, + { 0xD5DE, 0x6B8C }, + { 0xD5DF, 0x6C2A }, + { 0xD5E0, 0x6DC0 }, + { 0xD5E1, 0x6DAB }, + { 0xD5E2, 0x6DB4 }, + { 0xD5E3, 0x6DB3 }, + { 0xD5E4, 0x6E74 }, + { 0xD5E5, 0x6DAC }, + { 0xD5E6, 0x6DE9 }, + { 0xD5E7, 0x6DE2 }, + { 0xD5E8, 0x6DB7 }, + { 0xD5E9, 0x6DF6 }, + { 0xD5EA, 0x6DD4 }, + { 0xD5EB, 0x6E00 }, + { 0xD5EC, 0x6DC8 }, + { 0xD5ED, 0x6DE0 }, + { 0xD5EE, 0x6DDF }, + { 0xD5EF, 0x6DD6 }, + { 0xD5F0, 0x6DBE }, + { 0xD5F1, 0x6DE5 }, + { 0xD5F2, 0x6DDC }, + { 0xD5F3, 0x6DDD }, + { 0xD5F4, 0x6DDB }, + { 0xD5F5, 0x6DF4 }, + { 0xD5F6, 0x6DCA }, + { 0xD5F7, 0x6DBD }, + { 0xD5F8, 0x6DED }, + { 0xD5F9, 0x6DF0 }, + { 0xD5FA, 0x6DBA }, + { 0xD5FB, 0x6DD5 }, + { 0xD5FC, 0x6DC2 }, + { 0xD5FD, 0x6DCF }, + { 0xD5FE, 0x6DC9 }, + { 0xD640, 0x6DD0 }, + { 0xD641, 0x6DF2 }, + { 0xD642, 0x6DD3 }, + { 0xD643, 0x6DFD }, + { 0xD644, 0x6DD7 }, + { 0xD645, 0x6DCD }, + { 0xD646, 0x6DE3 }, + { 0xD647, 0x6DBB }, + { 0xD648, 0x70FA }, + { 0xD649, 0x710D }, + { 0xD64A, 0x70F7 }, + { 0xD64B, 0x7117 }, + { 0xD64C, 0x70F4 }, + { 0xD64D, 0x710C }, + { 0xD64E, 0x70F0 }, + { 0xD64F, 0x7104 }, + { 0xD650, 0x70F3 }, + { 0xD651, 0x7110 }, + { 0xD652, 0x70FC }, + { 0xD653, 0x70FF }, + { 0xD654, 0x7106 }, + { 0xD655, 0x7113 }, + { 0xD656, 0x7100 }, + { 0xD657, 0x70F8 }, + { 0xD658, 0x70F6 }, + { 0xD659, 0x710B }, + { 0xD65A, 0x7102 }, + { 0xD65B, 0x710E }, + { 0xD65C, 0x727E }, + { 0xD65D, 0x727B }, + { 0xD65E, 0x727C }, + { 0xD65F, 0x727F }, + { 0xD660, 0x731D }, + { 0xD661, 0x7317 }, + { 0xD662, 0x7307 }, + { 0xD663, 0x7311 }, + { 0xD664, 0x7318 }, + { 0xD665, 0x730A }, + { 0xD666, 0x7308 }, + { 0xD667, 0x72FF }, + { 0xD668, 0x730F }, + { 0xD669, 0x731E }, + { 0xD66A, 0x7388 }, + { 0xD66B, 0x73F6 }, + { 0xD66C, 0x73F8 }, + { 0xD66D, 0x73F5 }, + { 0xD66E, 0x7404 }, + { 0xD66F, 0x7401 }, + { 0xD670, 0x73FD }, + { 0xD671, 0x7407 }, + { 0xD672, 0x7400 }, + { 0xD673, 0x73FA }, + { 0xD674, 0x73FC }, + { 0xD675, 0x73FF }, + { 0xD676, 0x740C }, + { 0xD677, 0x740B }, + { 0xD678, 0x73F4 }, + { 0xD679, 0x7408 }, + { 0xD67A, 0x7564 }, + { 0xD67B, 0x7563 }, + { 0xD67C, 0x75CE }, + { 0xD67D, 0x75D2 }, + { 0xD67E, 0x75CF }, + { 0xD6A1, 0x75CB }, + { 0xD6A2, 0x75CC }, + { 0xD6A3, 0x75D1 }, + { 0xD6A4, 0x75D0 }, + { 0xD6A5, 0x768F }, + { 0xD6A6, 0x7689 }, + { 0xD6A7, 0x76D3 }, + { 0xD6A8, 0x7739 }, + { 0xD6A9, 0x772F }, + { 0xD6AA, 0x772D }, + { 0xD6AB, 0x7731 }, + { 0xD6AC, 0x7732 }, + { 0xD6AD, 0x7734 }, + { 0xD6AE, 0x7733 }, + { 0xD6AF, 0x773D }, + { 0xD6B0, 0x7725 }, + { 0xD6B1, 0x773B }, + { 0xD6B2, 0x7735 }, + { 0xD6B3, 0x7848 }, + { 0xD6B4, 0x7852 }, + { 0xD6B5, 0x7849 }, + { 0xD6B6, 0x784D }, + { 0xD6B7, 0x784A }, + { 0xD6B8, 0x784C }, + { 0xD6B9, 0x7826 }, + { 0xD6BA, 0x7845 }, + { 0xD6BB, 0x7850 }, + { 0xD6BC, 0x7964 }, + { 0xD6BD, 0x7967 }, + { 0xD6BE, 0x7969 }, + { 0xD6BF, 0x796A }, + { 0xD6C0, 0x7963 }, + { 0xD6C1, 0x796B }, + { 0xD6C2, 0x7961 }, + { 0xD6C3, 0x79BB }, + { 0xD6C4, 0x79FA }, + { 0xD6C5, 0x79F8 }, + { 0xD6C6, 0x79F6 }, + { 0xD6C7, 0x79F7 }, + { 0xD6C8, 0x7A8F }, + { 0xD6C9, 0x7A94 }, + { 0xD6CA, 0x7A90 }, + { 0xD6CB, 0x7B35 }, + { 0xD6CC, 0x7B47 }, + { 0xD6CD, 0x7B34 }, + { 0xD6CE, 0x7B25 }, + { 0xD6CF, 0x7B30 }, + { 0xD6D0, 0x7B22 }, + { 0xD6D1, 0x7B24 }, + { 0xD6D2, 0x7B33 }, + { 0xD6D3, 0x7B18 }, + { 0xD6D4, 0x7B2A }, + { 0xD6D5, 0x7B1D }, + { 0xD6D6, 0x7B31 }, + { 0xD6D7, 0x7B2B }, + { 0xD6D8, 0x7B2D }, + { 0xD6D9, 0x7B2F }, + { 0xD6DA, 0x7B32 }, + { 0xD6DB, 0x7B38 }, + { 0xD6DC, 0x7B1A }, + { 0xD6DD, 0x7B23 }, + { 0xD6DE, 0x7C94 }, + { 0xD6DF, 0x7C98 }, + { 0xD6E0, 0x7C96 }, + { 0xD6E1, 0x7CA3 }, + { 0xD6E2, 0x7D35 }, + { 0xD6E3, 0x7D3D }, + { 0xD6E4, 0x7D38 }, + { 0xD6E5, 0x7D36 }, + { 0xD6E6, 0x7D3A }, + { 0xD6E7, 0x7D45 }, + { 0xD6E8, 0x7D2C }, + { 0xD6E9, 0x7D29 }, + { 0xD6EA, 0x7D41 }, + { 0xD6EB, 0x7D47 }, + { 0xD6EC, 0x7D3E }, + { 0xD6ED, 0x7D3F }, + { 0xD6EE, 0x7D4A }, + { 0xD6EF, 0x7D3B }, + { 0xD6F0, 0x7D28 }, + { 0xD6F1, 0x7F63 }, + { 0xD6F2, 0x7F95 }, + { 0xD6F3, 0x7F9C }, + { 0xD6F4, 0x7F9D }, + { 0xD6F5, 0x7F9B }, + { 0xD6F6, 0x7FCA }, + { 0xD6F7, 0x7FCB }, + { 0xD6F8, 0x7FCD }, + { 0xD6F9, 0x7FD0 }, + { 0xD6FA, 0x7FD1 }, + { 0xD6FB, 0x7FC7 }, + { 0xD6FC, 0x7FCF }, + { 0xD6FD, 0x7FC9 }, + { 0xD6FE, 0x801F }, + { 0xD740, 0x801E }, + { 0xD741, 0x801B }, + { 0xD742, 0x8047 }, + { 0xD743, 0x8043 }, + { 0xD744, 0x8048 }, + { 0xD745, 0x8118 }, + { 0xD746, 0x8125 }, + { 0xD747, 0x8119 }, + { 0xD748, 0x811B }, + { 0xD749, 0x812D }, + { 0xD74A, 0x811F }, + { 0xD74B, 0x812C }, + { 0xD74C, 0x811E }, + { 0xD74D, 0x8121 }, + { 0xD74E, 0x8115 }, + { 0xD74F, 0x8127 }, + { 0xD750, 0x811D }, + { 0xD751, 0x8122 }, + { 0xD752, 0x8211 }, + { 0xD753, 0x8238 }, + { 0xD754, 0x8233 }, + { 0xD755, 0x823A }, + { 0xD756, 0x8234 }, + { 0xD757, 0x8232 }, + { 0xD758, 0x8274 }, + { 0xD759, 0x8390 }, + { 0xD75A, 0x83A3 }, + { 0xD75B, 0x83A8 }, + { 0xD75C, 0x838D }, + { 0xD75D, 0x837A }, + { 0xD75E, 0x8373 }, + { 0xD75F, 0x83A4 }, + { 0xD760, 0x8374 }, + { 0xD761, 0x838F }, + { 0xD762, 0x8381 }, + { 0xD763, 0x8395 }, + { 0xD764, 0x8399 }, + { 0xD765, 0x8375 }, + { 0xD766, 0x8394 }, + { 0xD767, 0x83A9 }, + { 0xD768, 0x837D }, + { 0xD769, 0x8383 }, + { 0xD76A, 0x838C }, + { 0xD76B, 0x839D }, + { 0xD76C, 0x839B }, + { 0xD76D, 0x83AA }, + { 0xD76E, 0x838B }, + { 0xD76F, 0x837E }, + { 0xD770, 0x83A5 }, + { 0xD771, 0x83AF }, + { 0xD772, 0x8388 }, + { 0xD773, 0x8397 }, + { 0xD774, 0x83B0 }, + { 0xD775, 0x837F }, + { 0xD776, 0x83A6 }, + { 0xD777, 0x8387 }, + { 0xD778, 0x83AE }, + { 0xD779, 0x8376 }, + { 0xD77A, 0x839A }, + { 0xD77B, 0x8659 }, + { 0xD77C, 0x8656 }, + { 0xD77D, 0x86BF }, + { 0xD77E, 0x86B7 }, + { 0xD7A1, 0x86C2 }, + { 0xD7A2, 0x86C1 }, + { 0xD7A3, 0x86C5 }, + { 0xD7A4, 0x86BA }, + { 0xD7A5, 0x86B0 }, + { 0xD7A6, 0x86C8 }, + { 0xD7A7, 0x86B9 }, + { 0xD7A8, 0x86B3 }, + { 0xD7A9, 0x86B8 }, + { 0xD7AA, 0x86CC }, + { 0xD7AB, 0x86B4 }, + { 0xD7AC, 0x86BB }, + { 0xD7AD, 0x86BC }, + { 0xD7AE, 0x86C3 }, + { 0xD7AF, 0x86BD }, + { 0xD7B0, 0x86BE }, + { 0xD7B1, 0x8852 }, + { 0xD7B2, 0x8889 }, + { 0xD7B3, 0x8895 }, + { 0xD7B4, 0x88A8 }, + { 0xD7B5, 0x88A2 }, + { 0xD7B6, 0x88AA }, + { 0xD7B7, 0x889A }, + { 0xD7B8, 0x8891 }, + { 0xD7B9, 0x88A1 }, + { 0xD7BA, 0x889F }, + { 0xD7BB, 0x8898 }, + { 0xD7BC, 0x88A7 }, + { 0xD7BD, 0x8899 }, + { 0xD7BE, 0x889B }, + { 0xD7BF, 0x8897 }, + { 0xD7C0, 0x88A4 }, + { 0xD7C1, 0x88AC }, + { 0xD7C2, 0x888C }, + { 0xD7C3, 0x8893 }, + { 0xD7C4, 0x888E }, + { 0xD7C5, 0x8982 }, + { 0xD7C6, 0x89D6 }, + { 0xD7C7, 0x89D9 }, + { 0xD7C8, 0x89D5 }, + { 0xD7C9, 0x8A30 }, + { 0xD7CA, 0x8A27 }, + { 0xD7CB, 0x8A2C }, + { 0xD7CC, 0x8A1E }, + { 0xD7CD, 0x8C39 }, + { 0xD7CE, 0x8C3B }, + { 0xD7CF, 0x8C5C }, + { 0xD7D0, 0x8C5D }, + { 0xD7D1, 0x8C7D }, + { 0xD7D2, 0x8CA5 }, + { 0xD7D3, 0x8D7D }, + { 0xD7D4, 0x8D7B }, + { 0xD7D5, 0x8D79 }, + { 0xD7D6, 0x8DBC }, + { 0xD7D7, 0x8DC2 }, + { 0xD7D8, 0x8DB9 }, + { 0xD7D9, 0x8DBF }, + { 0xD7DA, 0x8DC1 }, + { 0xD7DB, 0x8ED8 }, + { 0xD7DC, 0x8EDE }, + { 0xD7DD, 0x8EDD }, + { 0xD7DE, 0x8EDC }, + { 0xD7DF, 0x8ED7 }, + { 0xD7E0, 0x8EE0 }, + { 0xD7E1, 0x8EE1 }, + { 0xD7E2, 0x9024 }, + { 0xD7E3, 0x900B }, + { 0xD7E4, 0x9011 }, + { 0xD7E5, 0x901C }, + { 0xD7E6, 0x900C }, + { 0xD7E7, 0x9021 }, + { 0xD7E8, 0x90EF }, + { 0xD7E9, 0x90EA }, + { 0xD7EA, 0x90F0 }, + { 0xD7EB, 0x90F4 }, + { 0xD7EC, 0x90F2 }, + { 0xD7ED, 0x90F3 }, + { 0xD7EE, 0x90D4 }, + { 0xD7EF, 0x90EB }, + { 0xD7F0, 0x90EC }, + { 0xD7F1, 0x90E9 }, + { 0xD7F2, 0x9156 }, + { 0xD7F3, 0x9158 }, + { 0xD7F4, 0x915A }, + { 0xD7F5, 0x9153 }, + { 0xD7F6, 0x9155 }, + { 0xD7F7, 0x91EC }, + { 0xD7F8, 0x91F4 }, + { 0xD7F9, 0x91F1 }, + { 0xD7FA, 0x91F3 }, + { 0xD7FB, 0x91F8 }, + { 0xD7FC, 0x91E4 }, + { 0xD7FD, 0x91F9 }, + { 0xD7FE, 0x91EA }, + { 0xD840, 0x91EB }, + { 0xD841, 0x91F7 }, + { 0xD842, 0x91E8 }, + { 0xD843, 0x91EE }, + { 0xD844, 0x957A }, + { 0xD845, 0x9586 }, + { 0xD846, 0x9588 }, + { 0xD847, 0x967C }, + { 0xD848, 0x966D }, + { 0xD849, 0x966B }, + { 0xD84A, 0x9671 }, + { 0xD84B, 0x966F }, + { 0xD84C, 0x96BF }, + { 0xD84D, 0x976A }, + { 0xD84E, 0x9804 }, + { 0xD84F, 0x98E5 }, + { 0xD850, 0x9997 }, + { 0xD851, 0x509B }, + { 0xD852, 0x5095 }, + { 0xD853, 0x5094 }, + { 0xD854, 0x509E }, + { 0xD855, 0x508B }, + { 0xD856, 0x50A3 }, + { 0xD857, 0x5083 }, + { 0xD858, 0x508C }, + { 0xD859, 0x508E }, + { 0xD85A, 0x509D }, + { 0xD85B, 0x5068 }, + { 0xD85C, 0x509C }, + { 0xD85D, 0x5092 }, + { 0xD85E, 0x5082 }, + { 0xD85F, 0x5087 }, + { 0xD860, 0x515F }, + { 0xD861, 0x51D4 }, + { 0xD862, 0x5312 }, + { 0xD863, 0x5311 }, + { 0xD864, 0x53A4 }, + { 0xD865, 0x53A7 }, + { 0xD866, 0x5591 }, + { 0xD867, 0x55A8 }, + { 0xD868, 0x55A5 }, + { 0xD869, 0x55AD }, + { 0xD86A, 0x5577 }, + { 0xD86B, 0x5645 }, + { 0xD86C, 0x55A2 }, + { 0xD86D, 0x5593 }, + { 0xD86E, 0x5588 }, + { 0xD86F, 0x558F }, + { 0xD870, 0x55B5 }, + { 0xD871, 0x5581 }, + { 0xD872, 0x55A3 }, + { 0xD873, 0x5592 }, + { 0xD874, 0x55A4 }, + { 0xD875, 0x557D }, + { 0xD876, 0x558C }, + { 0xD877, 0x55A6 }, + { 0xD878, 0x557F }, + { 0xD879, 0x5595 }, + { 0xD87A, 0x55A1 }, + { 0xD87B, 0x558E }, + { 0xD87C, 0x570C }, + { 0xD87D, 0x5829 }, + { 0xD87E, 0x5837 }, + { 0xD8A1, 0x5819 }, + { 0xD8A2, 0x581E }, + { 0xD8A3, 0x5827 }, + { 0xD8A4, 0x5823 }, + { 0xD8A5, 0x5828 }, + { 0xD8A6, 0x57F5 }, + { 0xD8A7, 0x5848 }, + { 0xD8A8, 0x5825 }, + { 0xD8A9, 0x581C }, + { 0xD8AA, 0x581B }, + { 0xD8AB, 0x5833 }, + { 0xD8AC, 0x583F }, + { 0xD8AD, 0x5836 }, + { 0xD8AE, 0x582E }, + { 0xD8AF, 0x5839 }, + { 0xD8B0, 0x5838 }, + { 0xD8B1, 0x582D }, + { 0xD8B2, 0x582C }, + { 0xD8B3, 0x583B }, + { 0xD8B4, 0x5961 }, + { 0xD8B5, 0x5AAF }, + { 0xD8B6, 0x5A94 }, + { 0xD8B7, 0x5A9F }, + { 0xD8B8, 0x5A7A }, + { 0xD8B9, 0x5AA2 }, + { 0xD8BA, 0x5A9E }, + { 0xD8BB, 0x5A78 }, + { 0xD8BC, 0x5AA6 }, + { 0xD8BD, 0x5A7C }, + { 0xD8BE, 0x5AA5 }, + { 0xD8BF, 0x5AAC }, + { 0xD8C0, 0x5A95 }, + { 0xD8C1, 0x5AAE }, + { 0xD8C2, 0x5A37 }, + { 0xD8C3, 0x5A84 }, + { 0xD8C4, 0x5A8A }, + { 0xD8C5, 0x5A97 }, + { 0xD8C6, 0x5A83 }, + { 0xD8C7, 0x5A8B }, + { 0xD8C8, 0x5AA9 }, + { 0xD8C9, 0x5A7B }, + { 0xD8CA, 0x5A7D }, + { 0xD8CB, 0x5A8C }, + { 0xD8CC, 0x5A9C }, + { 0xD8CD, 0x5A8F }, + { 0xD8CE, 0x5A93 }, + { 0xD8CF, 0x5A9D }, + { 0xD8D0, 0x5BEA }, + { 0xD8D1, 0x5BCD }, + { 0xD8D2, 0x5BCB }, + { 0xD8D3, 0x5BD4 }, + { 0xD8D4, 0x5BD1 }, + { 0xD8D5, 0x5BCA }, + { 0xD8D6, 0x5BCE }, + { 0xD8D7, 0x5C0C }, + { 0xD8D8, 0x5C30 }, + { 0xD8D9, 0x5D37 }, + { 0xD8DA, 0x5D43 }, + { 0xD8DB, 0x5D6B }, + { 0xD8DC, 0x5D41 }, + { 0xD8DD, 0x5D4B }, + { 0xD8DE, 0x5D3F }, + { 0xD8DF, 0x5D35 }, + { 0xD8E0, 0x5D51 }, + { 0xD8E1, 0x5D4E }, + { 0xD8E2, 0x5D55 }, + { 0xD8E3, 0x5D33 }, + { 0xD8E4, 0x5D3A }, + { 0xD8E5, 0x5D52 }, + { 0xD8E6, 0x5D3D }, + { 0xD8E7, 0x5D31 }, + { 0xD8E8, 0x5D59 }, + { 0xD8E9, 0x5D42 }, + { 0xD8EA, 0x5D39 }, + { 0xD8EB, 0x5D49 }, + { 0xD8EC, 0x5D38 }, + { 0xD8ED, 0x5D3C }, + { 0xD8EE, 0x5D32 }, + { 0xD8EF, 0x5D36 }, + { 0xD8F0, 0x5D40 }, + { 0xD8F1, 0x5D45 }, + { 0xD8F2, 0x5E44 }, + { 0xD8F3, 0x5E41 }, + { 0xD8F4, 0x5F58 }, + { 0xD8F5, 0x5FA6 }, + { 0xD8F6, 0x5FA5 }, + { 0xD8F7, 0x5FAB }, + { 0xD8F8, 0x60C9 }, + { 0xD8F9, 0x60B9 }, + { 0xD8FA, 0x60CC }, + { 0xD8FB, 0x60E2 }, + { 0xD8FC, 0x60CE }, + { 0xD8FD, 0x60C4 }, + { 0xD8FE, 0x6114 }, + { 0xD940, 0x60F2 }, + { 0xD941, 0x610A }, + { 0xD942, 0x6116 }, + { 0xD943, 0x6105 }, + { 0xD944, 0x60F5 }, + { 0xD945, 0x6113 }, + { 0xD946, 0x60F8 }, + { 0xD947, 0x60FC }, + { 0xD948, 0x60FE }, + { 0xD949, 0x60C1 }, + { 0xD94A, 0x6103 }, + { 0xD94B, 0x6118 }, + { 0xD94C, 0x611D }, + { 0xD94D, 0x6110 }, + { 0xD94E, 0x60FF }, + { 0xD94F, 0x6104 }, + { 0xD950, 0x610B }, + { 0xD951, 0x624A }, + { 0xD952, 0x6394 }, + { 0xD953, 0x63B1 }, + { 0xD954, 0x63B0 }, + { 0xD955, 0x63CE }, + { 0xD956, 0x63E5 }, + { 0xD957, 0x63E8 }, + { 0xD958, 0x63EF }, + { 0xD959, 0x63C3 }, + { 0xD95A, 0x649D }, + { 0xD95B, 0x63F3 }, + { 0xD95C, 0x63CA }, + { 0xD95D, 0x63E0 }, + { 0xD95E, 0x63F6 }, + { 0xD95F, 0x63D5 }, + { 0xD960, 0x63F2 }, + { 0xD961, 0x63F5 }, + { 0xD962, 0x6461 }, + { 0xD963, 0x63DF }, + { 0xD964, 0x63BE }, + { 0xD965, 0x63DD }, + { 0xD966, 0x63DC }, + { 0xD967, 0x63C4 }, + { 0xD968, 0x63D8 }, + { 0xD969, 0x63D3 }, + { 0xD96A, 0x63C2 }, + { 0xD96B, 0x63C7 }, + { 0xD96C, 0x63CC }, + { 0xD96D, 0x63CB }, + { 0xD96E, 0x63C8 }, + { 0xD96F, 0x63F0 }, + { 0xD970, 0x63D7 }, + { 0xD971, 0x63D9 }, + { 0xD972, 0x6532 }, + { 0xD973, 0x6567 }, + { 0xD974, 0x656A }, + { 0xD975, 0x6564 }, + { 0xD976, 0x655C }, + { 0xD977, 0x6568 }, + { 0xD978, 0x6565 }, + { 0xD979, 0x658C }, + { 0xD97A, 0x659D }, + { 0xD97B, 0x659E }, + { 0xD97C, 0x65AE }, + { 0xD97D, 0x65D0 }, + { 0xD97E, 0x65D2 }, + { 0xD9A1, 0x667C }, + { 0xD9A2, 0x666C }, + { 0xD9A3, 0x667B }, + { 0xD9A4, 0x6680 }, + { 0xD9A5, 0x6671 }, + { 0xD9A6, 0x6679 }, + { 0xD9A7, 0x666A }, + { 0xD9A8, 0x6672 }, + { 0xD9A9, 0x6701 }, + { 0xD9AA, 0x690C }, + { 0xD9AB, 0x68D3 }, + { 0xD9AC, 0x6904 }, + { 0xD9AD, 0x68DC }, + { 0xD9AE, 0x692A }, + { 0xD9AF, 0x68EC }, + { 0xD9B0, 0x68EA }, + { 0xD9B1, 0x68F1 }, + { 0xD9B2, 0x690F }, + { 0xD9B3, 0x68D6 }, + { 0xD9B4, 0x68F7 }, + { 0xD9B5, 0x68EB }, + { 0xD9B6, 0x68E4 }, + { 0xD9B7, 0x68F6 }, + { 0xD9B8, 0x6913 }, + { 0xD9B9, 0x6910 }, + { 0xD9BA, 0x68F3 }, + { 0xD9BB, 0x68E1 }, + { 0xD9BC, 0x6907 }, + { 0xD9BD, 0x68CC }, + { 0xD9BE, 0x6908 }, + { 0xD9BF, 0x6970 }, + { 0xD9C0, 0x68B4 }, + { 0xD9C1, 0x6911 }, + { 0xD9C2, 0x68EF }, + { 0xD9C3, 0x68C6 }, + { 0xD9C4, 0x6914 }, + { 0xD9C5, 0x68F8 }, + { 0xD9C6, 0x68D0 }, + { 0xD9C7, 0x68FD }, + { 0xD9C8, 0x68FC }, + { 0xD9C9, 0x68E8 }, + { 0xD9CA, 0x690B }, + { 0xD9CB, 0x690A }, + { 0xD9CC, 0x6917 }, + { 0xD9CD, 0x68CE }, + { 0xD9CE, 0x68C8 }, + { 0xD9CF, 0x68DD }, + { 0xD9D0, 0x68DE }, + { 0xD9D1, 0x68E6 }, + { 0xD9D2, 0x68F4 }, + { 0xD9D3, 0x68D1 }, + { 0xD9D4, 0x6906 }, + { 0xD9D5, 0x68D4 }, + { 0xD9D6, 0x68E9 }, + { 0xD9D7, 0x6915 }, + { 0xD9D8, 0x6925 }, + { 0xD9D9, 0x68C7 }, + { 0xD9DA, 0x6B39 }, + { 0xD9DB, 0x6B3B }, + { 0xD9DC, 0x6B3F }, + { 0xD9DD, 0x6B3C }, + { 0xD9DE, 0x6B94 }, + { 0xD9DF, 0x6B97 }, + { 0xD9E0, 0x6B99 }, + { 0xD9E1, 0x6B95 }, + { 0xD9E2, 0x6BBD }, + { 0xD9E3, 0x6BF0 }, + { 0xD9E4, 0x6BF2 }, + { 0xD9E5, 0x6BF3 }, + { 0xD9E6, 0x6C30 }, + { 0xD9E7, 0x6DFC }, + { 0xD9E8, 0x6E46 }, + { 0xD9E9, 0x6E47 }, + { 0xD9EA, 0x6E1F }, + { 0xD9EB, 0x6E49 }, + { 0xD9EC, 0x6E88 }, + { 0xD9ED, 0x6E3C }, + { 0xD9EE, 0x6E3D }, + { 0xD9EF, 0x6E45 }, + { 0xD9F0, 0x6E62 }, + { 0xD9F1, 0x6E2B }, + { 0xD9F2, 0x6E3F }, + { 0xD9F3, 0x6E41 }, + { 0xD9F4, 0x6E5D }, + { 0xD9F5, 0x6E73 }, + { 0xD9F6, 0x6E1C }, + { 0xD9F7, 0x6E33 }, + { 0xD9F8, 0x6E4B }, + { 0xD9F9, 0x6E40 }, + { 0xD9FA, 0x6E51 }, + { 0xD9FB, 0x6E3B }, + { 0xD9FC, 0x6E03 }, + { 0xD9FD, 0x6E2E }, + { 0xD9FE, 0x6E5E }, + { 0xDA40, 0x6E68 }, + { 0xDA41, 0x6E5C }, + { 0xDA42, 0x6E61 }, + { 0xDA43, 0x6E31 }, + { 0xDA44, 0x6E28 }, + { 0xDA45, 0x6E60 }, + { 0xDA46, 0x6E71 }, + { 0xDA47, 0x6E6B }, + { 0xDA48, 0x6E39 }, + { 0xDA49, 0x6E22 }, + { 0xDA4A, 0x6E30 }, + { 0xDA4B, 0x6E53 }, + { 0xDA4C, 0x6E65 }, + { 0xDA4D, 0x6E27 }, + { 0xDA4E, 0x6E78 }, + { 0xDA4F, 0x6E64 }, + { 0xDA50, 0x6E77 }, + { 0xDA51, 0x6E55 }, + { 0xDA52, 0x6E79 }, + { 0xDA53, 0x6E52 }, + { 0xDA54, 0x6E66 }, + { 0xDA55, 0x6E35 }, + { 0xDA56, 0x6E36 }, + { 0xDA57, 0x6E5A }, + { 0xDA58, 0x7120 }, + { 0xDA59, 0x711E }, + { 0xDA5A, 0x712F }, + { 0xDA5B, 0x70FB }, + { 0xDA5C, 0x712E }, + { 0xDA5D, 0x7131 }, + { 0xDA5E, 0x7123 }, + { 0xDA5F, 0x7125 }, + { 0xDA60, 0x7122 }, + { 0xDA61, 0x7132 }, + { 0xDA62, 0x711F }, + { 0xDA63, 0x7128 }, + { 0xDA64, 0x713A }, + { 0xDA65, 0x711B }, + { 0xDA66, 0x724B }, + { 0xDA67, 0x725A }, + { 0xDA68, 0x7288 }, + { 0xDA69, 0x7289 }, + { 0xDA6A, 0x7286 }, + { 0xDA6B, 0x7285 }, + { 0xDA6C, 0x728B }, + { 0xDA6D, 0x7312 }, + { 0xDA6E, 0x730B }, + { 0xDA6F, 0x7330 }, + { 0xDA70, 0x7322 }, + { 0xDA71, 0x7331 }, + { 0xDA72, 0x7333 }, + { 0xDA73, 0x7327 }, + { 0xDA74, 0x7332 }, + { 0xDA75, 0x732D }, + { 0xDA76, 0x7326 }, + { 0xDA77, 0x7323 }, + { 0xDA78, 0x7335 }, + { 0xDA79, 0x730C }, + { 0xDA7A, 0x742E }, + { 0xDA7B, 0x742C }, + { 0xDA7C, 0x7430 }, + { 0xDA7D, 0x742B }, + { 0xDA7E, 0x7416 }, + { 0xDAA1, 0x741A }, + { 0xDAA2, 0x7421 }, + { 0xDAA3, 0x742D }, + { 0xDAA4, 0x7431 }, + { 0xDAA5, 0x7424 }, + { 0xDAA6, 0x7423 }, + { 0xDAA7, 0x741D }, + { 0xDAA8, 0x7429 }, + { 0xDAA9, 0x7420 }, + { 0xDAAA, 0x7432 }, + { 0xDAAB, 0x74FB }, + { 0xDAAC, 0x752F }, + { 0xDAAD, 0x756F }, + { 0xDAAE, 0x756C }, + { 0xDAAF, 0x75E7 }, + { 0xDAB0, 0x75DA }, + { 0xDAB1, 0x75E1 }, + { 0xDAB2, 0x75E6 }, + { 0xDAB3, 0x75DD }, + { 0xDAB4, 0x75DF }, + { 0xDAB5, 0x75E4 }, + { 0xDAB6, 0x75D7 }, + { 0xDAB7, 0x7695 }, + { 0xDAB8, 0x7692 }, + { 0xDAB9, 0x76DA }, + { 0xDABA, 0x7746 }, + { 0xDABB, 0x7747 }, + { 0xDABC, 0x7744 }, + { 0xDABD, 0x774D }, + { 0xDABE, 0x7745 }, + { 0xDABF, 0x774A }, + { 0xDAC0, 0x774E }, + { 0xDAC1, 0x774B }, + { 0xDAC2, 0x774C }, + { 0xDAC3, 0x77DE }, + { 0xDAC4, 0x77EC }, + { 0xDAC5, 0x7860 }, + { 0xDAC6, 0x7864 }, + { 0xDAC7, 0x7865 }, + { 0xDAC8, 0x785C }, + { 0xDAC9, 0x786D }, + { 0xDACA, 0x7871 }, + { 0xDACB, 0x786A }, + { 0xDACC, 0x786E }, + { 0xDACD, 0x7870 }, + { 0xDACE, 0x7869 }, + { 0xDACF, 0x7868 }, + { 0xDAD0, 0x785E }, + { 0xDAD1, 0x7862 }, + { 0xDAD2, 0x7974 }, + { 0xDAD3, 0x7973 }, + { 0xDAD4, 0x7972 }, + { 0xDAD5, 0x7970 }, + { 0xDAD6, 0x7A02 }, + { 0xDAD7, 0x7A0A }, + { 0xDAD8, 0x7A03 }, + { 0xDAD9, 0x7A0C }, + { 0xDADA, 0x7A04 }, + { 0xDADB, 0x7A99 }, + { 0xDADC, 0x7AE6 }, + { 0xDADD, 0x7AE4 }, + { 0xDADE, 0x7B4A }, + { 0xDADF, 0x7B3B }, + { 0xDAE0, 0x7B44 }, + { 0xDAE1, 0x7B48 }, + { 0xDAE2, 0x7B4C }, + { 0xDAE3, 0x7B4E }, + { 0xDAE4, 0x7B40 }, + { 0xDAE5, 0x7B58 }, + { 0xDAE6, 0x7B45 }, + { 0xDAE7, 0x7CA2 }, + { 0xDAE8, 0x7C9E }, + { 0xDAE9, 0x7CA8 }, + { 0xDAEA, 0x7CA1 }, + { 0xDAEB, 0x7D58 }, + { 0xDAEC, 0x7D6F }, + { 0xDAED, 0x7D63 }, + { 0xDAEE, 0x7D53 }, + { 0xDAEF, 0x7D56 }, + { 0xDAF0, 0x7D67 }, + { 0xDAF1, 0x7D6A }, + { 0xDAF2, 0x7D4F }, + { 0xDAF3, 0x7D6D }, + { 0xDAF4, 0x7D5C }, + { 0xDAF5, 0x7D6B }, + { 0xDAF6, 0x7D52 }, + { 0xDAF7, 0x7D54 }, + { 0xDAF8, 0x7D69 }, + { 0xDAF9, 0x7D51 }, + { 0xDAFA, 0x7D5F }, + { 0xDAFB, 0x7D4E }, + { 0xDAFC, 0x7F3E }, + { 0xDAFD, 0x7F3F }, + { 0xDAFE, 0x7F65 }, + { 0xDB40, 0x7F66 }, + { 0xDB41, 0x7FA2 }, + { 0xDB42, 0x7FA0 }, + { 0xDB43, 0x7FA1 }, + { 0xDB44, 0x7FD7 }, + { 0xDB45, 0x8051 }, + { 0xDB46, 0x804F }, + { 0xDB47, 0x8050 }, + { 0xDB48, 0x80FE }, + { 0xDB49, 0x80D4 }, + { 0xDB4A, 0x8143 }, + { 0xDB4B, 0x814A }, + { 0xDB4C, 0x8152 }, + { 0xDB4D, 0x814F }, + { 0xDB4E, 0x8147 }, + { 0xDB4F, 0x813D }, + { 0xDB50, 0x814D }, + { 0xDB51, 0x813A }, + { 0xDB52, 0x81E6 }, + { 0xDB53, 0x81EE }, + { 0xDB54, 0x81F7 }, + { 0xDB55, 0x81F8 }, + { 0xDB56, 0x81F9 }, + { 0xDB57, 0x8204 }, + { 0xDB58, 0x823C }, + { 0xDB59, 0x823D }, + { 0xDB5A, 0x823F }, + { 0xDB5B, 0x8275 }, + { 0xDB5C, 0x833B }, + { 0xDB5D, 0x83CF }, + { 0xDB5E, 0x83F9 }, + { 0xDB5F, 0x8423 }, + { 0xDB60, 0x83C0 }, + { 0xDB61, 0x83E8 }, + { 0xDB62, 0x8412 }, + { 0xDB63, 0x83E7 }, + { 0xDB64, 0x83E4 }, + { 0xDB65, 0x83FC }, + { 0xDB66, 0x83F6 }, + { 0xDB67, 0x8410 }, + { 0xDB68, 0x83C6 }, + { 0xDB69, 0x83C8 }, + { 0xDB6A, 0x83EB }, + { 0xDB6B, 0x83E3 }, + { 0xDB6C, 0x83BF }, + { 0xDB6D, 0x8401 }, + { 0xDB6E, 0x83DD }, + { 0xDB6F, 0x83E5 }, + { 0xDB70, 0x83D8 }, + { 0xDB71, 0x83FF }, + { 0xDB72, 0x83E1 }, + { 0xDB73, 0x83CB }, + { 0xDB74, 0x83CE }, + { 0xDB75, 0x83D6 }, + { 0xDB76, 0x83F5 }, + { 0xDB77, 0x83C9 }, + { 0xDB78, 0x8409 }, + { 0xDB79, 0x840F }, + { 0xDB7A, 0x83DE }, + { 0xDB7B, 0x8411 }, + { 0xDB7C, 0x8406 }, + { 0xDB7D, 0x83C2 }, + { 0xDB7E, 0x83F3 }, + { 0xDBA1, 0x83D5 }, + { 0xDBA2, 0x83FA }, + { 0xDBA3, 0x83C7 }, + { 0xDBA4, 0x83D1 }, + { 0xDBA5, 0x83EA }, + { 0xDBA6, 0x8413 }, + { 0xDBA7, 0x83C3 }, + { 0xDBA8, 0x83EC }, + { 0xDBA9, 0x83EE }, + { 0xDBAA, 0x83C4 }, + { 0xDBAB, 0x83FB }, + { 0xDBAC, 0x83D7 }, + { 0xDBAD, 0x83E2 }, + { 0xDBAE, 0x841B }, + { 0xDBAF, 0x83DB }, + { 0xDBB0, 0x83FE }, + { 0xDBB1, 0x86D8 }, + { 0xDBB2, 0x86E2 }, + { 0xDBB3, 0x86E6 }, + { 0xDBB4, 0x86D3 }, + { 0xDBB5, 0x86E3 }, + { 0xDBB6, 0x86DA }, + { 0xDBB7, 0x86EA }, + { 0xDBB8, 0x86DD }, + { 0xDBB9, 0x86EB }, + { 0xDBBA, 0x86DC }, + { 0xDBBB, 0x86EC }, + { 0xDBBC, 0x86E9 }, + { 0xDBBD, 0x86D7 }, + { 0xDBBE, 0x86E8 }, + { 0xDBBF, 0x86D1 }, + { 0xDBC0, 0x8848 }, + { 0xDBC1, 0x8856 }, + { 0xDBC2, 0x8855 }, + { 0xDBC3, 0x88BA }, + { 0xDBC4, 0x88D7 }, + { 0xDBC5, 0x88B9 }, + { 0xDBC6, 0x88B8 }, + { 0xDBC7, 0x88C0 }, + { 0xDBC8, 0x88BE }, + { 0xDBC9, 0x88B6 }, + { 0xDBCA, 0x88BC }, + { 0xDBCB, 0x88B7 }, + { 0xDBCC, 0x88BD }, + { 0xDBCD, 0x88B2 }, + { 0xDBCE, 0x8901 }, + { 0xDBCF, 0x88C9 }, + { 0xDBD0, 0x8995 }, + { 0xDBD1, 0x8998 }, + { 0xDBD2, 0x8997 }, + { 0xDBD3, 0x89DD }, + { 0xDBD4, 0x89DA }, + { 0xDBD5, 0x89DB }, + { 0xDBD6, 0x8A4E }, + { 0xDBD7, 0x8A4D }, + { 0xDBD8, 0x8A39 }, + { 0xDBD9, 0x8A59 }, + { 0xDBDA, 0x8A40 }, + { 0xDBDB, 0x8A57 }, + { 0xDBDC, 0x8A58 }, + { 0xDBDD, 0x8A44 }, + { 0xDBDE, 0x8A45 }, + { 0xDBDF, 0x8A52 }, + { 0xDBE0, 0x8A48 }, + { 0xDBE1, 0x8A51 }, + { 0xDBE2, 0x8A4A }, + { 0xDBE3, 0x8A4C }, + { 0xDBE4, 0x8A4F }, + { 0xDBE5, 0x8C5F }, + { 0xDBE6, 0x8C81 }, + { 0xDBE7, 0x8C80 }, + { 0xDBE8, 0x8CBA }, + { 0xDBE9, 0x8CBE }, + { 0xDBEA, 0x8CB0 }, + { 0xDBEB, 0x8CB9 }, + { 0xDBEC, 0x8CB5 }, + { 0xDBED, 0x8D84 }, + { 0xDBEE, 0x8D80 }, + { 0xDBEF, 0x8D89 }, + { 0xDBF0, 0x8DD8 }, + { 0xDBF1, 0x8DD3 }, + { 0xDBF2, 0x8DCD }, + { 0xDBF3, 0x8DC7 }, + { 0xDBF4, 0x8DD6 }, + { 0xDBF5, 0x8DDC }, + { 0xDBF6, 0x8DCF }, + { 0xDBF7, 0x8DD5 }, + { 0xDBF8, 0x8DD9 }, + { 0xDBF9, 0x8DC8 }, + { 0xDBFA, 0x8DD7 }, + { 0xDBFB, 0x8DC5 }, + { 0xDBFC, 0x8EEF }, + { 0xDBFD, 0x8EF7 }, + { 0xDBFE, 0x8EFA }, + { 0xDC40, 0x8EF9 }, + { 0xDC41, 0x8EE6 }, + { 0xDC42, 0x8EEE }, + { 0xDC43, 0x8EE5 }, + { 0xDC44, 0x8EF5 }, + { 0xDC45, 0x8EE7 }, + { 0xDC46, 0x8EE8 }, + { 0xDC47, 0x8EF6 }, + { 0xDC48, 0x8EEB }, + { 0xDC49, 0x8EF1 }, + { 0xDC4A, 0x8EEC }, + { 0xDC4B, 0x8EF4 }, + { 0xDC4C, 0x8EE9 }, + { 0xDC4D, 0x902D }, + { 0xDC4E, 0x9034 }, + { 0xDC4F, 0x902F }, + { 0xDC50, 0x9106 }, + { 0xDC51, 0x912C }, + { 0xDC52, 0x9104 }, + { 0xDC53, 0x90FF }, + { 0xDC54, 0x90FC }, + { 0xDC55, 0x9108 }, + { 0xDC56, 0x90F9 }, + { 0xDC57, 0x90FB }, + { 0xDC58, 0x9101 }, + { 0xDC59, 0x9100 }, + { 0xDC5A, 0x9107 }, + { 0xDC5B, 0x9105 }, + { 0xDC5C, 0x9103 }, + { 0xDC5D, 0x9161 }, + { 0xDC5E, 0x9164 }, + { 0xDC5F, 0x915F }, + { 0xDC60, 0x9162 }, + { 0xDC61, 0x9160 }, + { 0xDC62, 0x9201 }, + { 0xDC63, 0x920A }, + { 0xDC64, 0x9225 }, + { 0xDC65, 0x9203 }, + { 0xDC66, 0x921A }, + { 0xDC67, 0x9226 }, + { 0xDC68, 0x920F }, + { 0xDC69, 0x920C }, + { 0xDC6A, 0x9200 }, + { 0xDC6B, 0x9212 }, + { 0xDC6C, 0x91FF }, + { 0xDC6D, 0x91FD }, + { 0xDC6E, 0x9206 }, + { 0xDC6F, 0x9204 }, + { 0xDC70, 0x9227 }, + { 0xDC71, 0x9202 }, + { 0xDC72, 0x921C }, + { 0xDC73, 0x9224 }, + { 0xDC74, 0x9219 }, + { 0xDC75, 0x9217 }, + { 0xDC76, 0x9205 }, + { 0xDC77, 0x9216 }, + { 0xDC78, 0x957B }, + { 0xDC79, 0x958D }, + { 0xDC7A, 0x958C }, + { 0xDC7B, 0x9590 }, + { 0xDC7C, 0x9687 }, + { 0xDC7D, 0x967E }, + { 0xDC7E, 0x9688 }, + { 0xDCA1, 0x9689 }, + { 0xDCA2, 0x9683 }, + { 0xDCA3, 0x9680 }, + { 0xDCA4, 0x96C2 }, + { 0xDCA5, 0x96C8 }, + { 0xDCA6, 0x96C3 }, + { 0xDCA7, 0x96F1 }, + { 0xDCA8, 0x96F0 }, + { 0xDCA9, 0x976C }, + { 0xDCAA, 0x9770 }, + { 0xDCAB, 0x976E }, + { 0xDCAC, 0x9807 }, + { 0xDCAD, 0x98A9 }, + { 0xDCAE, 0x98EB }, + { 0xDCAF, 0x9CE6 }, + { 0xDCB0, 0x9EF9 }, + { 0xDCB1, 0x4E83 }, + { 0xDCB2, 0x4E84 }, + { 0xDCB3, 0x4EB6 }, + { 0xDCB4, 0x50BD }, + { 0xDCB5, 0x50BF }, + { 0xDCB6, 0x50C6 }, + { 0xDCB7, 0x50AE }, + { 0xDCB8, 0x50C4 }, + { 0xDCB9, 0x50CA }, + { 0xDCBA, 0x50B4 }, + { 0xDCBB, 0x50C8 }, + { 0xDCBC, 0x50C2 }, + { 0xDCBD, 0x50B0 }, + { 0xDCBE, 0x50C1 }, + { 0xDCBF, 0x50BA }, + { 0xDCC0, 0x50B1 }, + { 0xDCC1, 0x50CB }, + { 0xDCC2, 0x50C9 }, + { 0xDCC3, 0x50B6 }, + { 0xDCC4, 0x50B8 }, + { 0xDCC5, 0x51D7 }, + { 0xDCC6, 0x527A }, + { 0xDCC7, 0x5278 }, + { 0xDCC8, 0x527B }, + { 0xDCC9, 0x527C }, + { 0xDCCA, 0x55C3 }, + { 0xDCCB, 0x55DB }, + { 0xDCCC, 0x55CC }, + { 0xDCCD, 0x55D0 }, + { 0xDCCE, 0x55CB }, + { 0xDCCF, 0x55CA }, + { 0xDCD0, 0x55DD }, + { 0xDCD1, 0x55C0 }, + { 0xDCD2, 0x55D4 }, + { 0xDCD3, 0x55C4 }, + { 0xDCD4, 0x55E9 }, + { 0xDCD5, 0x55BF }, + { 0xDCD6, 0x55D2 }, + { 0xDCD7, 0x558D }, + { 0xDCD8, 0x55CF }, + { 0xDCD9, 0x55D5 }, + { 0xDCDA, 0x55E2 }, + { 0xDCDB, 0x55D6 }, + { 0xDCDC, 0x55C8 }, + { 0xDCDD, 0x55F2 }, + { 0xDCDE, 0x55CD }, + { 0xDCDF, 0x55D9 }, + { 0xDCE0, 0x55C2 }, + { 0xDCE1, 0x5714 }, + { 0xDCE2, 0x5853 }, + { 0xDCE3, 0x5868 }, + { 0xDCE4, 0x5864 }, + { 0xDCE5, 0x584F }, + { 0xDCE6, 0x584D }, + { 0xDCE7, 0x5849 }, + { 0xDCE8, 0x586F }, + { 0xDCE9, 0x5855 }, + { 0xDCEA, 0x584E }, + { 0xDCEB, 0x585D }, + { 0xDCEC, 0x5859 }, + { 0xDCED, 0x5865 }, + { 0xDCEE, 0x585B }, + { 0xDCEF, 0x583D }, + { 0xDCF0, 0x5863 }, + { 0xDCF1, 0x5871 }, + { 0xDCF2, 0x58FC }, + { 0xDCF3, 0x5AC7 }, + { 0xDCF4, 0x5AC4 }, + { 0xDCF5, 0x5ACB }, + { 0xDCF6, 0x5ABA }, + { 0xDCF7, 0x5AB8 }, + { 0xDCF8, 0x5AB1 }, + { 0xDCF9, 0x5AB5 }, + { 0xDCFA, 0x5AB0 }, + { 0xDCFB, 0x5ABF }, + { 0xDCFC, 0x5AC8 }, + { 0xDCFD, 0x5ABB }, + { 0xDCFE, 0x5AC6 }, + { 0xDD40, 0x5AB7 }, + { 0xDD41, 0x5AC0 }, + { 0xDD42, 0x5ACA }, + { 0xDD43, 0x5AB4 }, + { 0xDD44, 0x5AB6 }, + { 0xDD45, 0x5ACD }, + { 0xDD46, 0x5AB9 }, + { 0xDD47, 0x5A90 }, + { 0xDD48, 0x5BD6 }, + { 0xDD49, 0x5BD8 }, + { 0xDD4A, 0x5BD9 }, + { 0xDD4B, 0x5C1F }, + { 0xDD4C, 0x5C33 }, + { 0xDD4D, 0x5D71 }, + { 0xDD4E, 0x5D63 }, + { 0xDD4F, 0x5D4A }, + { 0xDD50, 0x5D65 }, + { 0xDD51, 0x5D72 }, + { 0xDD52, 0x5D6C }, + { 0xDD53, 0x5D5E }, + { 0xDD54, 0x5D68 }, + { 0xDD55, 0x5D67 }, + { 0xDD56, 0x5D62 }, + { 0xDD57, 0x5DF0 }, + { 0xDD58, 0x5E4F }, + { 0xDD59, 0x5E4E }, + { 0xDD5A, 0x5E4A }, + { 0xDD5B, 0x5E4D }, + { 0xDD5C, 0x5E4B }, + { 0xDD5D, 0x5EC5 }, + { 0xDD5E, 0x5ECC }, + { 0xDD5F, 0x5EC6 }, + { 0xDD60, 0x5ECB }, + { 0xDD61, 0x5EC7 }, + { 0xDD62, 0x5F40 }, + { 0xDD63, 0x5FAF }, + { 0xDD64, 0x5FAD }, + { 0xDD65, 0x60F7 }, + { 0xDD66, 0x6149 }, + { 0xDD67, 0x614A }, + { 0xDD68, 0x612B }, + { 0xDD69, 0x6145 }, + { 0xDD6A, 0x6136 }, + { 0xDD6B, 0x6132 }, + { 0xDD6C, 0x612E }, + { 0xDD6D, 0x6146 }, + { 0xDD6E, 0x612F }, + { 0xDD6F, 0x614F }, + { 0xDD70, 0x6129 }, + { 0xDD71, 0x6140 }, + { 0xDD72, 0x6220 }, + { 0xDD73, 0x9168 }, + { 0xDD74, 0x6223 }, + { 0xDD75, 0x6225 }, + { 0xDD76, 0x6224 }, + { 0xDD77, 0x63C5 }, + { 0xDD78, 0x63F1 }, + { 0xDD79, 0x63EB }, + { 0xDD7A, 0x6410 }, + { 0xDD7B, 0x6412 }, + { 0xDD7C, 0x6409 }, + { 0xDD7D, 0x6420 }, + { 0xDD7E, 0x6424 }, + { 0xDDA1, 0x6433 }, + { 0xDDA2, 0x6443 }, + { 0xDDA3, 0x641F }, + { 0xDDA4, 0x6415 }, + { 0xDDA5, 0x6418 }, + { 0xDDA6, 0x6439 }, + { 0xDDA7, 0x6437 }, + { 0xDDA8, 0x6422 }, + { 0xDDA9, 0x6423 }, + { 0xDDAA, 0x640C }, + { 0xDDAB, 0x6426 }, + { 0xDDAC, 0x6430 }, + { 0xDDAD, 0x6428 }, + { 0xDDAE, 0x6441 }, + { 0xDDAF, 0x6435 }, + { 0xDDB0, 0x642F }, + { 0xDDB1, 0x640A }, + { 0xDDB2, 0x641A }, + { 0xDDB3, 0x6440 }, + { 0xDDB4, 0x6425 }, + { 0xDDB5, 0x6427 }, + { 0xDDB6, 0x640B }, + { 0xDDB7, 0x63E7 }, + { 0xDDB8, 0x641B }, + { 0xDDB9, 0x642E }, + { 0xDDBA, 0x6421 }, + { 0xDDBB, 0x640E }, + { 0xDDBC, 0x656F }, + { 0xDDBD, 0x6592 }, + { 0xDDBE, 0x65D3 }, + { 0xDDBF, 0x6686 }, + { 0xDDC0, 0x668C }, + { 0xDDC1, 0x6695 }, + { 0xDDC2, 0x6690 }, + { 0xDDC3, 0x668B }, + { 0xDDC4, 0x668A }, + { 0xDDC5, 0x6699 }, + { 0xDDC6, 0x6694 }, + { 0xDDC7, 0x6678 }, + { 0xDDC8, 0x6720 }, + { 0xDDC9, 0x6966 }, + { 0xDDCA, 0x695F }, + { 0xDDCB, 0x6938 }, + { 0xDDCC, 0x694E }, + { 0xDDCD, 0x6962 }, + { 0xDDCE, 0x6971 }, + { 0xDDCF, 0x693F }, + { 0xDDD0, 0x6945 }, + { 0xDDD1, 0x696A }, + { 0xDDD2, 0x6939 }, + { 0xDDD3, 0x6942 }, + { 0xDDD4, 0x6957 }, + { 0xDDD5, 0x6959 }, + { 0xDDD6, 0x697A }, + { 0xDDD7, 0x6948 }, + { 0xDDD8, 0x6949 }, + { 0xDDD9, 0x6935 }, + { 0xDDDA, 0x696C }, + { 0xDDDB, 0x6933 }, + { 0xDDDC, 0x693D }, + { 0xDDDD, 0x6965 }, + { 0xDDDE, 0x68F0 }, + { 0xDDDF, 0x6978 }, + { 0xDDE0, 0x6934 }, + { 0xDDE1, 0x6969 }, + { 0xDDE2, 0x6940 }, + { 0xDDE3, 0x696F }, + { 0xDDE4, 0x6944 }, + { 0xDDE5, 0x6976 }, + { 0xDDE6, 0x6958 }, + { 0xDDE7, 0x6941 }, + { 0xDDE8, 0x6974 }, + { 0xDDE9, 0x694C }, + { 0xDDEA, 0x693B }, + { 0xDDEB, 0x694B }, + { 0xDDEC, 0x6937 }, + { 0xDDED, 0x695C }, + { 0xDDEE, 0x694F }, + { 0xDDEF, 0x6951 }, + { 0xDDF0, 0x6932 }, + { 0xDDF1, 0x6952 }, + { 0xDDF2, 0x692F }, + { 0xDDF3, 0x697B }, + { 0xDDF4, 0x693C }, + { 0xDDF5, 0x6B46 }, + { 0xDDF6, 0x6B45 }, + { 0xDDF7, 0x6B43 }, + { 0xDDF8, 0x6B42 }, + { 0xDDF9, 0x6B48 }, + { 0xDDFA, 0x6B41 }, + { 0xDDFB, 0x6B9B }, + { 0xDDFC, 0xFA0D }, + { 0xDDFD, 0x6BFB }, + { 0xDDFE, 0x6BFC }, + { 0xDE40, 0x6BF9 }, + { 0xDE41, 0x6BF7 }, + { 0xDE42, 0x6BF8 }, + { 0xDE43, 0x6E9B }, + { 0xDE44, 0x6ED6 }, + { 0xDE45, 0x6EC8 }, + { 0xDE46, 0x6E8F }, + { 0xDE47, 0x6EC0 }, + { 0xDE48, 0x6E9F }, + { 0xDE49, 0x6E93 }, + { 0xDE4A, 0x6E94 }, + { 0xDE4B, 0x6EA0 }, + { 0xDE4C, 0x6EB1 }, + { 0xDE4D, 0x6EB9 }, + { 0xDE4E, 0x6EC6 }, + { 0xDE4F, 0x6ED2 }, + { 0xDE50, 0x6EBD }, + { 0xDE51, 0x6EC1 }, + { 0xDE52, 0x6E9E }, + { 0xDE53, 0x6EC9 }, + { 0xDE54, 0x6EB7 }, + { 0xDE55, 0x6EB0 }, + { 0xDE56, 0x6ECD }, + { 0xDE57, 0x6EA6 }, + { 0xDE58, 0x6ECF }, + { 0xDE59, 0x6EB2 }, + { 0xDE5A, 0x6EBE }, + { 0xDE5B, 0x6EC3 }, + { 0xDE5C, 0x6EDC }, + { 0xDE5D, 0x6ED8 }, + { 0xDE5E, 0x6E99 }, + { 0xDE5F, 0x6E92 }, + { 0xDE60, 0x6E8E }, + { 0xDE61, 0x6E8D }, + { 0xDE62, 0x6EA4 }, + { 0xDE63, 0x6EA1 }, + { 0xDE64, 0x6EBF }, + { 0xDE65, 0x6EB3 }, + { 0xDE66, 0x6ED0 }, + { 0xDE67, 0x6ECA }, + { 0xDE68, 0x6E97 }, + { 0xDE69, 0x6EAE }, + { 0xDE6A, 0x6EA3 }, + { 0xDE6B, 0x7147 }, + { 0xDE6C, 0x7154 }, + { 0xDE6D, 0x7152 }, + { 0xDE6E, 0x7163 }, + { 0xDE6F, 0x7160 }, + { 0xDE70, 0x7141 }, + { 0xDE71, 0x715D }, + { 0xDE72, 0x7162 }, + { 0xDE73, 0x7172 }, + { 0xDE74, 0x7178 }, + { 0xDE75, 0x716A }, + { 0xDE76, 0x7161 }, + { 0xDE77, 0x7142 }, + { 0xDE78, 0x7158 }, + { 0xDE79, 0x7143 }, + { 0xDE7A, 0x714B }, + { 0xDE7B, 0x7170 }, + { 0xDE7C, 0x715F }, + { 0xDE7D, 0x7150 }, + { 0xDE7E, 0x7153 }, + { 0xDEA1, 0x7144 }, + { 0xDEA2, 0x714D }, + { 0xDEA3, 0x715A }, + { 0xDEA4, 0x724F }, + { 0xDEA5, 0x728D }, + { 0xDEA6, 0x728C }, + { 0xDEA7, 0x7291 }, + { 0xDEA8, 0x7290 }, + { 0xDEA9, 0x728E }, + { 0xDEAA, 0x733C }, + { 0xDEAB, 0x7342 }, + { 0xDEAC, 0x733B }, + { 0xDEAD, 0x733A }, + { 0xDEAE, 0x7340 }, + { 0xDEAF, 0x734A }, + { 0xDEB0, 0x7349 }, + { 0xDEB1, 0x7444 }, + { 0xDEB2, 0x744A }, + { 0xDEB3, 0x744B }, + { 0xDEB4, 0x7452 }, + { 0xDEB5, 0x7451 }, + { 0xDEB6, 0x7457 }, + { 0xDEB7, 0x7440 }, + { 0xDEB8, 0x744F }, + { 0xDEB9, 0x7450 }, + { 0xDEBA, 0x744E }, + { 0xDEBB, 0x7442 }, + { 0xDEBC, 0x7446 }, + { 0xDEBD, 0x744D }, + { 0xDEBE, 0x7454 }, + { 0xDEBF, 0x74E1 }, + { 0xDEC0, 0x74FF }, + { 0xDEC1, 0x74FE }, + { 0xDEC2, 0x74FD }, + { 0xDEC3, 0x751D }, + { 0xDEC4, 0x7579 }, + { 0xDEC5, 0x7577 }, + { 0xDEC6, 0x6983 }, + { 0xDEC7, 0x75EF }, + { 0xDEC8, 0x760F }, + { 0xDEC9, 0x7603 }, + { 0xDECA, 0x75F7 }, + { 0xDECB, 0x75FE }, + { 0xDECC, 0x75FC }, + { 0xDECD, 0x75F9 }, + { 0xDECE, 0x75F8 }, + { 0xDECF, 0x7610 }, + { 0xDED0, 0x75FB }, + { 0xDED1, 0x75F6 }, + { 0xDED2, 0x75ED }, + { 0xDED3, 0x75F5 }, + { 0xDED4, 0x75FD }, + { 0xDED5, 0x7699 }, + { 0xDED6, 0x76B5 }, + { 0xDED7, 0x76DD }, + { 0xDED8, 0x7755 }, + { 0xDED9, 0x775F }, + { 0xDEDA, 0x7760 }, + { 0xDEDB, 0x7752 }, + { 0xDEDC, 0x7756 }, + { 0xDEDD, 0x775A }, + { 0xDEDE, 0x7769 }, + { 0xDEDF, 0x7767 }, + { 0xDEE0, 0x7754 }, + { 0xDEE1, 0x7759 }, + { 0xDEE2, 0x776D }, + { 0xDEE3, 0x77E0 }, + { 0xDEE4, 0x7887 }, + { 0xDEE5, 0x789A }, + { 0xDEE6, 0x7894 }, + { 0xDEE7, 0x788F }, + { 0xDEE8, 0x7884 }, + { 0xDEE9, 0x7895 }, + { 0xDEEA, 0x7885 }, + { 0xDEEB, 0x7886 }, + { 0xDEEC, 0x78A1 }, + { 0xDEED, 0x7883 }, + { 0xDEEE, 0x7879 }, + { 0xDEEF, 0x7899 }, + { 0xDEF0, 0x7880 }, + { 0xDEF1, 0x7896 }, + { 0xDEF2, 0x787B }, + { 0xDEF3, 0x797C }, + { 0xDEF4, 0x7982 }, + { 0xDEF5, 0x797D }, + { 0xDEF6, 0x7979 }, + { 0xDEF7, 0x7A11 }, + { 0xDEF8, 0x7A18 }, + { 0xDEF9, 0x7A19 }, + { 0xDEFA, 0x7A12 }, + { 0xDEFB, 0x7A17 }, + { 0xDEFC, 0x7A15 }, + { 0xDEFD, 0x7A22 }, + { 0xDEFE, 0x7A13 }, + { 0xDF40, 0x7A1B }, + { 0xDF41, 0x7A10 }, + { 0xDF42, 0x7AA3 }, + { 0xDF43, 0x7AA2 }, + { 0xDF44, 0x7A9E }, + { 0xDF45, 0x7AEB }, + { 0xDF46, 0x7B66 }, + { 0xDF47, 0x7B64 }, + { 0xDF48, 0x7B6D }, + { 0xDF49, 0x7B74 }, + { 0xDF4A, 0x7B69 }, + { 0xDF4B, 0x7B72 }, + { 0xDF4C, 0x7B65 }, + { 0xDF4D, 0x7B73 }, + { 0xDF4E, 0x7B71 }, + { 0xDF4F, 0x7B70 }, + { 0xDF50, 0x7B61 }, + { 0xDF51, 0x7B78 }, + { 0xDF52, 0x7B76 }, + { 0xDF53, 0x7B63 }, + { 0xDF54, 0x7CB2 }, + { 0xDF55, 0x7CB4 }, + { 0xDF56, 0x7CAF }, + { 0xDF57, 0x7D88 }, + { 0xDF58, 0x7D86 }, + { 0xDF59, 0x7D80 }, + { 0xDF5A, 0x7D8D }, + { 0xDF5B, 0x7D7F }, + { 0xDF5C, 0x7D85 }, + { 0xDF5D, 0x7D7A }, + { 0xDF5E, 0x7D8E }, + { 0xDF5F, 0x7D7B }, + { 0xDF60, 0x7D83 }, + { 0xDF61, 0x7D7C }, + { 0xDF62, 0x7D8C }, + { 0xDF63, 0x7D94 }, + { 0xDF64, 0x7D84 }, + { 0xDF65, 0x7D7D }, + { 0xDF66, 0x7D92 }, + { 0xDF67, 0x7F6D }, + { 0xDF68, 0x7F6B }, + { 0xDF69, 0x7F67 }, + { 0xDF6A, 0x7F68 }, + { 0xDF6B, 0x7F6C }, + { 0xDF6C, 0x7FA6 }, + { 0xDF6D, 0x7FA5 }, + { 0xDF6E, 0x7FA7 }, + { 0xDF6F, 0x7FDB }, + { 0xDF70, 0x7FDC }, + { 0xDF71, 0x8021 }, + { 0xDF72, 0x8164 }, + { 0xDF73, 0x8160 }, + { 0xDF74, 0x8177 }, + { 0xDF75, 0x815C }, + { 0xDF76, 0x8169 }, + { 0xDF77, 0x815B }, + { 0xDF78, 0x8162 }, + { 0xDF79, 0x8172 }, + { 0xDF7A, 0x6721 }, + { 0xDF7B, 0x815E }, + { 0xDF7C, 0x8176 }, + { 0xDF7D, 0x8167 }, + { 0xDF7E, 0x816F }, + { 0xDFA1, 0x8144 }, + { 0xDFA2, 0x8161 }, + { 0xDFA3, 0x821D }, + { 0xDFA4, 0x8249 }, + { 0xDFA5, 0x8244 }, + { 0xDFA6, 0x8240 }, + { 0xDFA7, 0x8242 }, + { 0xDFA8, 0x8245 }, + { 0xDFA9, 0x84F1 }, + { 0xDFAA, 0x843F }, + { 0xDFAB, 0x8456 }, + { 0xDFAC, 0x8476 }, + { 0xDFAD, 0x8479 }, + { 0xDFAE, 0x848F }, + { 0xDFAF, 0x848D }, + { 0xDFB0, 0x8465 }, + { 0xDFB1, 0x8451 }, + { 0xDFB2, 0x8440 }, + { 0xDFB3, 0x8486 }, + { 0xDFB4, 0x8467 }, + { 0xDFB5, 0x8430 }, + { 0xDFB6, 0x844D }, + { 0xDFB7, 0x847D }, + { 0xDFB8, 0x845A }, + { 0xDFB9, 0x8459 }, + { 0xDFBA, 0x8474 }, + { 0xDFBB, 0x8473 }, + { 0xDFBC, 0x845D }, + { 0xDFBD, 0x8507 }, + { 0xDFBE, 0x845E }, + { 0xDFBF, 0x8437 }, + { 0xDFC0, 0x843A }, + { 0xDFC1, 0x8434 }, + { 0xDFC2, 0x847A }, + { 0xDFC3, 0x8443 }, + { 0xDFC4, 0x8478 }, + { 0xDFC5, 0x8432 }, + { 0xDFC6, 0x8445 }, + { 0xDFC7, 0x8429 }, + { 0xDFC8, 0x83D9 }, + { 0xDFC9, 0x844B }, + { 0xDFCA, 0x842F }, + { 0xDFCB, 0x8442 }, + { 0xDFCC, 0x842D }, + { 0xDFCD, 0x845F }, + { 0xDFCE, 0x8470 }, + { 0xDFCF, 0x8439 }, + { 0xDFD0, 0x844E }, + { 0xDFD1, 0x844C }, + { 0xDFD2, 0x8452 }, + { 0xDFD3, 0x846F }, + { 0xDFD4, 0x84C5 }, + { 0xDFD5, 0x848E }, + { 0xDFD6, 0x843B }, + { 0xDFD7, 0x8447 }, + { 0xDFD8, 0x8436 }, + { 0xDFD9, 0x8433 }, + { 0xDFDA, 0x8468 }, + { 0xDFDB, 0x847E }, + { 0xDFDC, 0x8444 }, + { 0xDFDD, 0x842B }, + { 0xDFDE, 0x8460 }, + { 0xDFDF, 0x8454 }, + { 0xDFE0, 0x846E }, + { 0xDFE1, 0x8450 }, + { 0xDFE2, 0x870B }, + { 0xDFE3, 0x8704 }, + { 0xDFE4, 0x86F7 }, + { 0xDFE5, 0x870C }, + { 0xDFE6, 0x86FA }, + { 0xDFE7, 0x86D6 }, + { 0xDFE8, 0x86F5 }, + { 0xDFE9, 0x874D }, + { 0xDFEA, 0x86F8 }, + { 0xDFEB, 0x870E }, + { 0xDFEC, 0x8709 }, + { 0xDFED, 0x8701 }, + { 0xDFEE, 0x86F6 }, + { 0xDFEF, 0x870D }, + { 0xDFF0, 0x8705 }, + { 0xDFF1, 0x88D6 }, + { 0xDFF2, 0x88CB }, + { 0xDFF3, 0x88CD }, + { 0xDFF4, 0x88CE }, + { 0xDFF5, 0x88DE }, + { 0xDFF6, 0x88DB }, + { 0xDFF7, 0x88DA }, + { 0xDFF8, 0x88CC }, + { 0xDFF9, 0x88D0 }, + { 0xDFFA, 0x8985 }, + { 0xDFFB, 0x899B }, + { 0xDFFC, 0x89DF }, + { 0xDFFD, 0x89E5 }, + { 0xDFFE, 0x89E4 }, + { 0xE040, 0x89E1 }, + { 0xE041, 0x89E0 }, + { 0xE042, 0x89E2 }, + { 0xE043, 0x89DC }, + { 0xE044, 0x89E6 }, + { 0xE045, 0x8A76 }, + { 0xE046, 0x8A86 }, + { 0xE047, 0x8A7F }, + { 0xE048, 0x8A61 }, + { 0xE049, 0x8A3F }, + { 0xE04A, 0x8A77 }, + { 0xE04B, 0x8A82 }, + { 0xE04C, 0x8A84 }, + { 0xE04D, 0x8A75 }, + { 0xE04E, 0x8A83 }, + { 0xE04F, 0x8A81 }, + { 0xE050, 0x8A74 }, + { 0xE051, 0x8A7A }, + { 0xE052, 0x8C3C }, + { 0xE053, 0x8C4B }, + { 0xE054, 0x8C4A }, + { 0xE055, 0x8C65 }, + { 0xE056, 0x8C64 }, + { 0xE057, 0x8C66 }, + { 0xE058, 0x8C86 }, + { 0xE059, 0x8C84 }, + { 0xE05A, 0x8C85 }, + { 0xE05B, 0x8CCC }, + { 0xE05C, 0x8D68 }, + { 0xE05D, 0x8D69 }, + { 0xE05E, 0x8D91 }, + { 0xE05F, 0x8D8C }, + { 0xE060, 0x8D8E }, + { 0xE061, 0x8D8F }, + { 0xE062, 0x8D8D }, + { 0xE063, 0x8D93 }, + { 0xE064, 0x8D94 }, + { 0xE065, 0x8D90 }, + { 0xE066, 0x8D92 }, + { 0xE067, 0x8DF0 }, + { 0xE068, 0x8DE0 }, + { 0xE069, 0x8DEC }, + { 0xE06A, 0x8DF1 }, + { 0xE06B, 0x8DEE }, + { 0xE06C, 0x8DD0 }, + { 0xE06D, 0x8DE9 }, + { 0xE06E, 0x8DE3 }, + { 0xE06F, 0x8DE2 }, + { 0xE070, 0x8DE7 }, + { 0xE071, 0x8DF2 }, + { 0xE072, 0x8DEB }, + { 0xE073, 0x8DF4 }, + { 0xE074, 0x8F06 }, + { 0xE075, 0x8EFF }, + { 0xE076, 0x8F01 }, + { 0xE077, 0x8F00 }, + { 0xE078, 0x8F05 }, + { 0xE079, 0x8F07 }, + { 0xE07A, 0x8F08 }, + { 0xE07B, 0x8F02 }, + { 0xE07C, 0x8F0B }, + { 0xE07D, 0x9052 }, + { 0xE07E, 0x903F }, + { 0xE0A1, 0x9044 }, + { 0xE0A2, 0x9049 }, + { 0xE0A3, 0x903D }, + { 0xE0A4, 0x9110 }, + { 0xE0A5, 0x910D }, + { 0xE0A6, 0x910F }, + { 0xE0A7, 0x9111 }, + { 0xE0A8, 0x9116 }, + { 0xE0A9, 0x9114 }, + { 0xE0AA, 0x910B }, + { 0xE0AB, 0x910E }, + { 0xE0AC, 0x916E }, + { 0xE0AD, 0x916F }, + { 0xE0AE, 0x9248 }, + { 0xE0AF, 0x9252 }, + { 0xE0B0, 0x9230 }, + { 0xE0B1, 0x923A }, + { 0xE0B2, 0x9266 }, + { 0xE0B3, 0x9233 }, + { 0xE0B4, 0x9265 }, + { 0xE0B5, 0x925E }, + { 0xE0B6, 0x9283 }, + { 0xE0B7, 0x922E }, + { 0xE0B8, 0x924A }, + { 0xE0B9, 0x9246 }, + { 0xE0BA, 0x926D }, + { 0xE0BB, 0x926C }, + { 0xE0BC, 0x924F }, + { 0xE0BD, 0x9260 }, + { 0xE0BE, 0x9267 }, + { 0xE0BF, 0x926F }, + { 0xE0C0, 0x9236 }, + { 0xE0C1, 0x9261 }, + { 0xE0C2, 0x9270 }, + { 0xE0C3, 0x9231 }, + { 0xE0C4, 0x9254 }, + { 0xE0C5, 0x9263 }, + { 0xE0C6, 0x9250 }, + { 0xE0C7, 0x9272 }, + { 0xE0C8, 0x924E }, + { 0xE0C9, 0x9253 }, + { 0xE0CA, 0x924C }, + { 0xE0CB, 0x9256 }, + { 0xE0CC, 0x9232 }, + { 0xE0CD, 0x959F }, + { 0xE0CE, 0x959C }, + { 0xE0CF, 0x959E }, + { 0xE0D0, 0x959B }, + { 0xE0D1, 0x9692 }, + { 0xE0D2, 0x9693 }, + { 0xE0D3, 0x9691 }, + { 0xE0D4, 0x9697 }, + { 0xE0D5, 0x96CE }, + { 0xE0D6, 0x96FA }, + { 0xE0D7, 0x96FD }, + { 0xE0D8, 0x96F8 }, + { 0xE0D9, 0x96F5 }, + { 0xE0DA, 0x9773 }, + { 0xE0DB, 0x9777 }, + { 0xE0DC, 0x9778 }, + { 0xE0DD, 0x9772 }, + { 0xE0DE, 0x980F }, + { 0xE0DF, 0x980D }, + { 0xE0E0, 0x980E }, + { 0xE0E1, 0x98AC }, + { 0xE0E2, 0x98F6 }, + { 0xE0E3, 0x98F9 }, + { 0xE0E4, 0x99AF }, + { 0xE0E5, 0x99B2 }, + { 0xE0E6, 0x99B0 }, + { 0xE0E7, 0x99B5 }, + { 0xE0E8, 0x9AAD }, + { 0xE0E9, 0x9AAB }, + { 0xE0EA, 0x9B5B }, + { 0xE0EB, 0x9CEA }, + { 0xE0EC, 0x9CED }, + { 0xE0ED, 0x9CE7 }, + { 0xE0EE, 0x9E80 }, + { 0xE0EF, 0x9EFD }, + { 0xE0F0, 0x50E6 }, + { 0xE0F1, 0x50D4 }, + { 0xE0F2, 0x50D7 }, + { 0xE0F3, 0x50E8 }, + { 0xE0F4, 0x50F3 }, + { 0xE0F5, 0x50DB }, + { 0xE0F6, 0x50EA }, + { 0xE0F7, 0x50DD }, + { 0xE0F8, 0x50E4 }, + { 0xE0F9, 0x50D3 }, + { 0xE0FA, 0x50EC }, + { 0xE0FB, 0x50F0 }, + { 0xE0FC, 0x50EF }, + { 0xE0FD, 0x50E3 }, + { 0xE0FE, 0x50E0 }, + { 0xE140, 0x51D8 }, + { 0xE141, 0x5280 }, + { 0xE142, 0x5281 }, + { 0xE143, 0x52E9 }, + { 0xE144, 0x52EB }, + { 0xE145, 0x5330 }, + { 0xE146, 0x53AC }, + { 0xE147, 0x5627 }, + { 0xE148, 0x5615 }, + { 0xE149, 0x560C }, + { 0xE14A, 0x5612 }, + { 0xE14B, 0x55FC }, + { 0xE14C, 0x560F }, + { 0xE14D, 0x561C }, + { 0xE14E, 0x5601 }, + { 0xE14F, 0x5613 }, + { 0xE150, 0x5602 }, + { 0xE151, 0x55FA }, + { 0xE152, 0x561D }, + { 0xE153, 0x5604 }, + { 0xE154, 0x55FF }, + { 0xE155, 0x55F9 }, + { 0xE156, 0x5889 }, + { 0xE157, 0x587C }, + { 0xE158, 0x5890 }, + { 0xE159, 0x5898 }, + { 0xE15A, 0x5886 }, + { 0xE15B, 0x5881 }, + { 0xE15C, 0x587F }, + { 0xE15D, 0x5874 }, + { 0xE15E, 0x588B }, + { 0xE15F, 0x587A }, + { 0xE160, 0x5887 }, + { 0xE161, 0x5891 }, + { 0xE162, 0x588E }, + { 0xE163, 0x5876 }, + { 0xE164, 0x5882 }, + { 0xE165, 0x5888 }, + { 0xE166, 0x587B }, + { 0xE167, 0x5894 }, + { 0xE168, 0x588F }, + { 0xE169, 0x58FE }, + { 0xE16A, 0x596B }, + { 0xE16B, 0x5ADC }, + { 0xE16C, 0x5AEE }, + { 0xE16D, 0x5AE5 }, + { 0xE16E, 0x5AD5 }, + { 0xE16F, 0x5AEA }, + { 0xE170, 0x5ADA }, + { 0xE171, 0x5AED }, + { 0xE172, 0x5AEB }, + { 0xE173, 0x5AF3 }, + { 0xE174, 0x5AE2 }, + { 0xE175, 0x5AE0 }, + { 0xE176, 0x5ADB }, + { 0xE177, 0x5AEC }, + { 0xE178, 0x5ADE }, + { 0xE179, 0x5ADD }, + { 0xE17A, 0x5AD9 }, + { 0xE17B, 0x5AE8 }, + { 0xE17C, 0x5ADF }, + { 0xE17D, 0x5B77 }, + { 0xE17E, 0x5BE0 }, + { 0xE1A1, 0x5BE3 }, + { 0xE1A2, 0x5C63 }, + { 0xE1A3, 0x5D82 }, + { 0xE1A4, 0x5D80 }, + { 0xE1A5, 0x5D7D }, + { 0xE1A6, 0x5D86 }, + { 0xE1A7, 0x5D7A }, + { 0xE1A8, 0x5D81 }, + { 0xE1A9, 0x5D77 }, + { 0xE1AA, 0x5D8A }, + { 0xE1AB, 0x5D89 }, + { 0xE1AC, 0x5D88 }, + { 0xE1AD, 0x5D7E }, + { 0xE1AE, 0x5D7C }, + { 0xE1AF, 0x5D8D }, + { 0xE1B0, 0x5D79 }, + { 0xE1B1, 0x5D7F }, + { 0xE1B2, 0x5E58 }, + { 0xE1B3, 0x5E59 }, + { 0xE1B4, 0x5E53 }, + { 0xE1B5, 0x5ED8 }, + { 0xE1B6, 0x5ED1 }, + { 0xE1B7, 0x5ED7 }, + { 0xE1B8, 0x5ECE }, + { 0xE1B9, 0x5EDC }, + { 0xE1BA, 0x5ED5 }, + { 0xE1BB, 0x5ED9 }, + { 0xE1BC, 0x5ED2 }, + { 0xE1BD, 0x5ED4 }, + { 0xE1BE, 0x5F44 }, + { 0xE1BF, 0x5F43 }, + { 0xE1C0, 0x5F6F }, + { 0xE1C1, 0x5FB6 }, + { 0xE1C2, 0x612C }, + { 0xE1C3, 0x6128 }, + { 0xE1C4, 0x6141 }, + { 0xE1C5, 0x615E }, + { 0xE1C6, 0x6171 }, + { 0xE1C7, 0x6173 }, + { 0xE1C8, 0x6152 }, + { 0xE1C9, 0x6153 }, + { 0xE1CA, 0x6172 }, + { 0xE1CB, 0x616C }, + { 0xE1CC, 0x6180 }, + { 0xE1CD, 0x6174 }, + { 0xE1CE, 0x6154 }, + { 0xE1CF, 0x617A }, + { 0xE1D0, 0x615B }, + { 0xE1D1, 0x6165 }, + { 0xE1D2, 0x613B }, + { 0xE1D3, 0x616A }, + { 0xE1D4, 0x6161 }, + { 0xE1D5, 0x6156 }, + { 0xE1D6, 0x6229 }, + { 0xE1D7, 0x6227 }, + { 0xE1D8, 0x622B }, + { 0xE1D9, 0x642B }, + { 0xE1DA, 0x644D }, + { 0xE1DB, 0x645B }, + { 0xE1DC, 0x645D }, + { 0xE1DD, 0x6474 }, + { 0xE1DE, 0x6476 }, + { 0xE1DF, 0x6472 }, + { 0xE1E0, 0x6473 }, + { 0xE1E1, 0x647D }, + { 0xE1E2, 0x6475 }, + { 0xE1E3, 0x6466 }, + { 0xE1E4, 0x64A6 }, + { 0xE1E5, 0x644E }, + { 0xE1E6, 0x6482 }, + { 0xE1E7, 0x645E }, + { 0xE1E8, 0x645C }, + { 0xE1E9, 0x644B }, + { 0xE1EA, 0x6453 }, + { 0xE1EB, 0x6460 }, + { 0xE1EC, 0x6450 }, + { 0xE1ED, 0x647F }, + { 0xE1EE, 0x643F }, + { 0xE1EF, 0x646C }, + { 0xE1F0, 0x646B }, + { 0xE1F1, 0x6459 }, + { 0xE1F2, 0x6465 }, + { 0xE1F3, 0x6477 }, + { 0xE1F4, 0x6573 }, + { 0xE1F5, 0x65A0 }, + { 0xE1F6, 0x66A1 }, + { 0xE1F7, 0x66A0 }, + { 0xE1F8, 0x669F }, + { 0xE1F9, 0x6705 }, + { 0xE1FA, 0x6704 }, + { 0xE1FB, 0x6722 }, + { 0xE1FC, 0x69B1 }, + { 0xE1FD, 0x69B6 }, + { 0xE1FE, 0x69C9 }, + { 0xE240, 0x69A0 }, + { 0xE241, 0x69CE }, + { 0xE242, 0x6996 }, + { 0xE243, 0x69B0 }, + { 0xE244, 0x69AC }, + { 0xE245, 0x69BC }, + { 0xE246, 0x6991 }, + { 0xE247, 0x6999 }, + { 0xE248, 0x698E }, + { 0xE249, 0x69A7 }, + { 0xE24A, 0x698D }, + { 0xE24B, 0x69A9 }, + { 0xE24C, 0x69BE }, + { 0xE24D, 0x69AF }, + { 0xE24E, 0x69BF }, + { 0xE24F, 0x69C4 }, + { 0xE250, 0x69BD }, + { 0xE251, 0x69A4 }, + { 0xE252, 0x69D4 }, + { 0xE253, 0x69B9 }, + { 0xE254, 0x69CA }, + { 0xE255, 0x699A }, + { 0xE256, 0x69CF }, + { 0xE257, 0x69B3 }, + { 0xE258, 0x6993 }, + { 0xE259, 0x69AA }, + { 0xE25A, 0x69A1 }, + { 0xE25B, 0x699E }, + { 0xE25C, 0x69D9 }, + { 0xE25D, 0x6997 }, + { 0xE25E, 0x6990 }, + { 0xE25F, 0x69C2 }, + { 0xE260, 0x69B5 }, + { 0xE261, 0x69A5 }, + { 0xE262, 0x69C6 }, + { 0xE263, 0x6B4A }, + { 0xE264, 0x6B4D }, + { 0xE265, 0x6B4B }, + { 0xE266, 0x6B9E }, + { 0xE267, 0x6B9F }, + { 0xE268, 0x6BA0 }, + { 0xE269, 0x6BC3 }, + { 0xE26A, 0x6BC4 }, + { 0xE26B, 0x6BFE }, + { 0xE26C, 0x6ECE }, + { 0xE26D, 0x6EF5 }, + { 0xE26E, 0x6EF1 }, + { 0xE26F, 0x6F03 }, + { 0xE270, 0x6F25 }, + { 0xE271, 0x6EF8 }, + { 0xE272, 0x6F37 }, + { 0xE273, 0x6EFB }, + { 0xE274, 0x6F2E }, + { 0xE275, 0x6F09 }, + { 0xE276, 0x6F4E }, + { 0xE277, 0x6F19 }, + { 0xE278, 0x6F1A }, + { 0xE279, 0x6F27 }, + { 0xE27A, 0x6F18 }, + { 0xE27B, 0x6F3B }, + { 0xE27C, 0x6F12 }, + { 0xE27D, 0x6EED }, + { 0xE27E, 0x6F0A }, + { 0xE2A1, 0x6F36 }, + { 0xE2A2, 0x6F73 }, + { 0xE2A3, 0x6EF9 }, + { 0xE2A4, 0x6EEE }, + { 0xE2A5, 0x6F2D }, + { 0xE2A6, 0x6F40 }, + { 0xE2A7, 0x6F30 }, + { 0xE2A8, 0x6F3C }, + { 0xE2A9, 0x6F35 }, + { 0xE2AA, 0x6EEB }, + { 0xE2AB, 0x6F07 }, + { 0xE2AC, 0x6F0E }, + { 0xE2AD, 0x6F43 }, + { 0xE2AE, 0x6F05 }, + { 0xE2AF, 0x6EFD }, + { 0xE2B0, 0x6EF6 }, + { 0xE2B1, 0x6F39 }, + { 0xE2B2, 0x6F1C }, + { 0xE2B3, 0x6EFC }, + { 0xE2B4, 0x6F3A }, + { 0xE2B5, 0x6F1F }, + { 0xE2B6, 0x6F0D }, + { 0xE2B7, 0x6F1E }, + { 0xE2B8, 0x6F08 }, + { 0xE2B9, 0x6F21 }, + { 0xE2BA, 0x7187 }, + { 0xE2BB, 0x7190 }, + { 0xE2BC, 0x7189 }, + { 0xE2BD, 0x7180 }, + { 0xE2BE, 0x7185 }, + { 0xE2BF, 0x7182 }, + { 0xE2C0, 0x718F }, + { 0xE2C1, 0x717B }, + { 0xE2C2, 0x7186 }, + { 0xE2C3, 0x7181 }, + { 0xE2C4, 0x7197 }, + { 0xE2C5, 0x7244 }, + { 0xE2C6, 0x7253 }, + { 0xE2C7, 0x7297 }, + { 0xE2C8, 0x7295 }, + { 0xE2C9, 0x7293 }, + { 0xE2CA, 0x7343 }, + { 0xE2CB, 0x734D }, + { 0xE2CC, 0x7351 }, + { 0xE2CD, 0x734C }, + { 0xE2CE, 0x7462 }, + { 0xE2CF, 0x7473 }, + { 0xE2D0, 0x7471 }, + { 0xE2D1, 0x7475 }, + { 0xE2D2, 0x7472 }, + { 0xE2D3, 0x7467 }, + { 0xE2D4, 0x746E }, + { 0xE2D5, 0x7500 }, + { 0xE2D6, 0x7502 }, + { 0xE2D7, 0x7503 }, + { 0xE2D8, 0x757D }, + { 0xE2D9, 0x7590 }, + { 0xE2DA, 0x7616 }, + { 0xE2DB, 0x7608 }, + { 0xE2DC, 0x760C }, + { 0xE2DD, 0x7615 }, + { 0xE2DE, 0x7611 }, + { 0xE2DF, 0x760A }, + { 0xE2E0, 0x7614 }, + { 0xE2E1, 0x76B8 }, + { 0xE2E2, 0x7781 }, + { 0xE2E3, 0x777C }, + { 0xE2E4, 0x7785 }, + { 0xE2E5, 0x7782 }, + { 0xE2E6, 0x776E }, + { 0xE2E7, 0x7780 }, + { 0xE2E8, 0x776F }, + { 0xE2E9, 0x777E }, + { 0xE2EA, 0x7783 }, + { 0xE2EB, 0x78B2 }, + { 0xE2EC, 0x78AA }, + { 0xE2ED, 0x78B4 }, + { 0xE2EE, 0x78AD }, + { 0xE2EF, 0x78A8 }, + { 0xE2F0, 0x787E }, + { 0xE2F1, 0x78AB }, + { 0xE2F2, 0x789E }, + { 0xE2F3, 0x78A5 }, + { 0xE2F4, 0x78A0 }, + { 0xE2F5, 0x78AC }, + { 0xE2F6, 0x78A2 }, + { 0xE2F7, 0x78A4 }, + { 0xE2F8, 0x7998 }, + { 0xE2F9, 0x798A }, + { 0xE2FA, 0x798B }, + { 0xE2FB, 0x7996 }, + { 0xE2FC, 0x7995 }, + { 0xE2FD, 0x7994 }, + { 0xE2FE, 0x7993 }, + { 0xE340, 0x7997 }, + { 0xE341, 0x7988 }, + { 0xE342, 0x7992 }, + { 0xE343, 0x7990 }, + { 0xE344, 0x7A2B }, + { 0xE345, 0x7A4A }, + { 0xE346, 0x7A30 }, + { 0xE347, 0x7A2F }, + { 0xE348, 0x7A28 }, + { 0xE349, 0x7A26 }, + { 0xE34A, 0x7AA8 }, + { 0xE34B, 0x7AAB }, + { 0xE34C, 0x7AAC }, + { 0xE34D, 0x7AEE }, + { 0xE34E, 0x7B88 }, + { 0xE34F, 0x7B9C }, + { 0xE350, 0x7B8A }, + { 0xE351, 0x7B91 }, + { 0xE352, 0x7B90 }, + { 0xE353, 0x7B96 }, + { 0xE354, 0x7B8D }, + { 0xE355, 0x7B8C }, + { 0xE356, 0x7B9B }, + { 0xE357, 0x7B8E }, + { 0xE358, 0x7B85 }, + { 0xE359, 0x7B98 }, + { 0xE35A, 0x5284 }, + { 0xE35B, 0x7B99 }, + { 0xE35C, 0x7BA4 }, + { 0xE35D, 0x7B82 }, + { 0xE35E, 0x7CBB }, + { 0xE35F, 0x7CBF }, + { 0xE360, 0x7CBC }, + { 0xE361, 0x7CBA }, + { 0xE362, 0x7DA7 }, + { 0xE363, 0x7DB7 }, + { 0xE364, 0x7DC2 }, + { 0xE365, 0x7DA3 }, + { 0xE366, 0x7DAA }, + { 0xE367, 0x7DC1 }, + { 0xE368, 0x7DC0 }, + { 0xE369, 0x7DC5 }, + { 0xE36A, 0x7D9D }, + { 0xE36B, 0x7DCE }, + { 0xE36C, 0x7DC4 }, + { 0xE36D, 0x7DC6 }, + { 0xE36E, 0x7DCB }, + { 0xE36F, 0x7DCC }, + { 0xE370, 0x7DAF }, + { 0xE371, 0x7DB9 }, + { 0xE372, 0x7D96 }, + { 0xE373, 0x7DBC }, + { 0xE374, 0x7D9F }, + { 0xE375, 0x7DA6 }, + { 0xE376, 0x7DAE }, + { 0xE377, 0x7DA9 }, + { 0xE378, 0x7DA1 }, + { 0xE379, 0x7DC9 }, + { 0xE37A, 0x7F73 }, + { 0xE37B, 0x7FE2 }, + { 0xE37C, 0x7FE3 }, + { 0xE37D, 0x7FE5 }, + { 0xE37E, 0x7FDE }, + { 0xE3A1, 0x8024 }, + { 0xE3A2, 0x805D }, + { 0xE3A3, 0x805C }, + { 0xE3A4, 0x8189 }, + { 0xE3A5, 0x8186 }, + { 0xE3A6, 0x8183 }, + { 0xE3A7, 0x8187 }, + { 0xE3A8, 0x818D }, + { 0xE3A9, 0x818C }, + { 0xE3AA, 0x818B }, + { 0xE3AB, 0x8215 }, + { 0xE3AC, 0x8497 }, + { 0xE3AD, 0x84A4 }, + { 0xE3AE, 0x84A1 }, + { 0xE3AF, 0x849F }, + { 0xE3B0, 0x84BA }, + { 0xE3B1, 0x84CE }, + { 0xE3B2, 0x84C2 }, + { 0xE3B3, 0x84AC }, + { 0xE3B4, 0x84AE }, + { 0xE3B5, 0x84AB }, + { 0xE3B6, 0x84B9 }, + { 0xE3B7, 0x84B4 }, + { 0xE3B8, 0x84C1 }, + { 0xE3B9, 0x84CD }, + { 0xE3BA, 0x84AA }, + { 0xE3BB, 0x849A }, + { 0xE3BC, 0x84B1 }, + { 0xE3BD, 0x84D0 }, + { 0xE3BE, 0x849D }, + { 0xE3BF, 0x84A7 }, + { 0xE3C0, 0x84BB }, + { 0xE3C1, 0x84A2 }, + { 0xE3C2, 0x8494 }, + { 0xE3C3, 0x84C7 }, + { 0xE3C4, 0x84CC }, + { 0xE3C5, 0x849B }, + { 0xE3C6, 0x84A9 }, + { 0xE3C7, 0x84AF }, + { 0xE3C8, 0x84A8 }, + { 0xE3C9, 0x84D6 }, + { 0xE3CA, 0x8498 }, + { 0xE3CB, 0x84B6 }, + { 0xE3CC, 0x84CF }, + { 0xE3CD, 0x84A0 }, + { 0xE3CE, 0x84D7 }, + { 0xE3CF, 0x84D4 }, + { 0xE3D0, 0x84D2 }, + { 0xE3D1, 0x84DB }, + { 0xE3D2, 0x84B0 }, + { 0xE3D3, 0x8491 }, + { 0xE3D4, 0x8661 }, + { 0xE3D5, 0x8733 }, + { 0xE3D6, 0x8723 }, + { 0xE3D7, 0x8728 }, + { 0xE3D8, 0x876B }, + { 0xE3D9, 0x8740 }, + { 0xE3DA, 0x872E }, + { 0xE3DB, 0x871E }, + { 0xE3DC, 0x8721 }, + { 0xE3DD, 0x8719 }, + { 0xE3DE, 0x871B }, + { 0xE3DF, 0x8743 }, + { 0xE3E0, 0x872C }, + { 0xE3E1, 0x8741 }, + { 0xE3E2, 0x873E }, + { 0xE3E3, 0x8746 }, + { 0xE3E4, 0x8720 }, + { 0xE3E5, 0x8732 }, + { 0xE3E6, 0x872A }, + { 0xE3E7, 0x872D }, + { 0xE3E8, 0x873C }, + { 0xE3E9, 0x8712 }, + { 0xE3EA, 0x873A }, + { 0xE3EB, 0x8731 }, + { 0xE3EC, 0x8735 }, + { 0xE3ED, 0x8742 }, + { 0xE3EE, 0x8726 }, + { 0xE3EF, 0x8727 }, + { 0xE3F0, 0x8738 }, + { 0xE3F1, 0x8724 }, + { 0xE3F2, 0x871A }, + { 0xE3F3, 0x8730 }, + { 0xE3F4, 0x8711 }, + { 0xE3F5, 0x88F7 }, + { 0xE3F6, 0x88E7 }, + { 0xE3F7, 0x88F1 }, + { 0xE3F8, 0x88F2 }, + { 0xE3F9, 0x88FA }, + { 0xE3FA, 0x88FE }, + { 0xE3FB, 0x88EE }, + { 0xE3FC, 0x88FC }, + { 0xE3FD, 0x88F6 }, + { 0xE3FE, 0x88FB }, + { 0xE440, 0x88F0 }, + { 0xE441, 0x88EC }, + { 0xE442, 0x88EB }, + { 0xE443, 0x899D }, + { 0xE444, 0x89A1 }, + { 0xE445, 0x899F }, + { 0xE446, 0x899E }, + { 0xE447, 0x89E9 }, + { 0xE448, 0x89EB }, + { 0xE449, 0x89E8 }, + { 0xE44A, 0x8AAB }, + { 0xE44B, 0x8A99 }, + { 0xE44C, 0x8A8B }, + { 0xE44D, 0x8A92 }, + { 0xE44E, 0x8A8F }, + { 0xE44F, 0x8A96 }, + { 0xE450, 0x8C3D }, + { 0xE451, 0x8C68 }, + { 0xE452, 0x8C69 }, + { 0xE453, 0x8CD5 }, + { 0xE454, 0x8CCF }, + { 0xE455, 0x8CD7 }, + { 0xE456, 0x8D96 }, + { 0xE457, 0x8E09 }, + { 0xE458, 0x8E02 }, + { 0xE459, 0x8DFF }, + { 0xE45A, 0x8E0D }, + { 0xE45B, 0x8DFD }, + { 0xE45C, 0x8E0A }, + { 0xE45D, 0x8E03 }, + { 0xE45E, 0x8E07 }, + { 0xE45F, 0x8E06 }, + { 0xE460, 0x8E05 }, + { 0xE461, 0x8DFE }, + { 0xE462, 0x8E00 }, + { 0xE463, 0x8E04 }, + { 0xE464, 0x8F10 }, + { 0xE465, 0x8F11 }, + { 0xE466, 0x8F0E }, + { 0xE467, 0x8F0D }, + { 0xE468, 0x9123 }, + { 0xE469, 0x911C }, + { 0xE46A, 0x9120 }, + { 0xE46B, 0x9122 }, + { 0xE46C, 0x911F }, + { 0xE46D, 0x911D }, + { 0xE46E, 0x911A }, + { 0xE46F, 0x9124 }, + { 0xE470, 0x9121 }, + { 0xE471, 0x911B }, + { 0xE472, 0x917A }, + { 0xE473, 0x9172 }, + { 0xE474, 0x9179 }, + { 0xE475, 0x9173 }, + { 0xE476, 0x92A5 }, + { 0xE477, 0x92A4 }, + { 0xE478, 0x9276 }, + { 0xE479, 0x929B }, + { 0xE47A, 0x927A }, + { 0xE47B, 0x92A0 }, + { 0xE47C, 0x9294 }, + { 0xE47D, 0x92AA }, + { 0xE47E, 0x928D }, + { 0xE4A1, 0x92A6 }, + { 0xE4A2, 0x929A }, + { 0xE4A3, 0x92AB }, + { 0xE4A4, 0x9279 }, + { 0xE4A5, 0x9297 }, + { 0xE4A6, 0x927F }, + { 0xE4A7, 0x92A3 }, + { 0xE4A8, 0x92EE }, + { 0xE4A9, 0x928E }, + { 0xE4AA, 0x9282 }, + { 0xE4AB, 0x9295 }, + { 0xE4AC, 0x92A2 }, + { 0xE4AD, 0x927D }, + { 0xE4AE, 0x9288 }, + { 0xE4AF, 0x92A1 }, + { 0xE4B0, 0x928A }, + { 0xE4B1, 0x9286 }, + { 0xE4B2, 0x928C }, + { 0xE4B3, 0x9299 }, + { 0xE4B4, 0x92A7 }, + { 0xE4B5, 0x927E }, + { 0xE4B6, 0x9287 }, + { 0xE4B7, 0x92A9 }, + { 0xE4B8, 0x929D }, + { 0xE4B9, 0x928B }, + { 0xE4BA, 0x922D }, + { 0xE4BB, 0x969E }, + { 0xE4BC, 0x96A1 }, + { 0xE4BD, 0x96FF }, + { 0xE4BE, 0x9758 }, + { 0xE4BF, 0x977D }, + { 0xE4C0, 0x977A }, + { 0xE4C1, 0x977E }, + { 0xE4C2, 0x9783 }, + { 0xE4C3, 0x9780 }, + { 0xE4C4, 0x9782 }, + { 0xE4C5, 0x977B }, + { 0xE4C6, 0x9784 }, + { 0xE4C7, 0x9781 }, + { 0xE4C8, 0x977F }, + { 0xE4C9, 0x97CE }, + { 0xE4CA, 0x97CD }, + { 0xE4CB, 0x9816 }, + { 0xE4CC, 0x98AD }, + { 0xE4CD, 0x98AE }, + { 0xE4CE, 0x9902 }, + { 0xE4CF, 0x9900 }, + { 0xE4D0, 0x9907 }, + { 0xE4D1, 0x999D }, + { 0xE4D2, 0x999C }, + { 0xE4D3, 0x99C3 }, + { 0xE4D4, 0x99B9 }, + { 0xE4D5, 0x99BB }, + { 0xE4D6, 0x99BA }, + { 0xE4D7, 0x99C2 }, + { 0xE4D8, 0x99BD }, + { 0xE4D9, 0x99C7 }, + { 0xE4DA, 0x9AB1 }, + { 0xE4DB, 0x9AE3 }, + { 0xE4DC, 0x9AE7 }, + { 0xE4DD, 0x9B3E }, + { 0xE4DE, 0x9B3F }, + { 0xE4DF, 0x9B60 }, + { 0xE4E0, 0x9B61 }, + { 0xE4E1, 0x9B5F }, + { 0xE4E2, 0x9CF1 }, + { 0xE4E3, 0x9CF2 }, + { 0xE4E4, 0x9CF5 }, + { 0xE4E5, 0x9EA7 }, + { 0xE4E6, 0x50FF }, + { 0xE4E7, 0x5103 }, + { 0xE4E8, 0x5130 }, + { 0xE4E9, 0x50F8 }, + { 0xE4EA, 0x5106 }, + { 0xE4EB, 0x5107 }, + { 0xE4EC, 0x50F6 }, + { 0xE4ED, 0x50FE }, + { 0xE4EE, 0x510B }, + { 0xE4EF, 0x510C }, + { 0xE4F0, 0x50FD }, + { 0xE4F1, 0x510A }, + { 0xE4F2, 0x528B }, + { 0xE4F3, 0x528C }, + { 0xE4F4, 0x52F1 }, + { 0xE4F5, 0x52EF }, + { 0xE4F6, 0x5648 }, + { 0xE4F7, 0x5642 }, + { 0xE4F8, 0x564C }, + { 0xE4F9, 0x5635 }, + { 0xE4FA, 0x5641 }, + { 0xE4FB, 0x564A }, + { 0xE4FC, 0x5649 }, + { 0xE4FD, 0x5646 }, + { 0xE4FE, 0x5658 }, + { 0xE540, 0x565A }, + { 0xE541, 0x5640 }, + { 0xE542, 0x5633 }, + { 0xE543, 0x563D }, + { 0xE544, 0x562C }, + { 0xE545, 0x563E }, + { 0xE546, 0x5638 }, + { 0xE547, 0x562A }, + { 0xE548, 0x563A }, + { 0xE549, 0x571A }, + { 0xE54A, 0x58AB }, + { 0xE54B, 0x589D }, + { 0xE54C, 0x58B1 }, + { 0xE54D, 0x58A0 }, + { 0xE54E, 0x58A3 }, + { 0xE54F, 0x58AF }, + { 0xE550, 0x58AC }, + { 0xE551, 0x58A5 }, + { 0xE552, 0x58A1 }, + { 0xE553, 0x58FF }, + { 0xE554, 0x5AFF }, + { 0xE555, 0x5AF4 }, + { 0xE556, 0x5AFD }, + { 0xE557, 0x5AF7 }, + { 0xE558, 0x5AF6 }, + { 0xE559, 0x5B03 }, + { 0xE55A, 0x5AF8 }, + { 0xE55B, 0x5B02 }, + { 0xE55C, 0x5AF9 }, + { 0xE55D, 0x5B01 }, + { 0xE55E, 0x5B07 }, + { 0xE55F, 0x5B05 }, + { 0xE560, 0x5B0F }, + { 0xE561, 0x5C67 }, + { 0xE562, 0x5D99 }, + { 0xE563, 0x5D97 }, + { 0xE564, 0x5D9F }, + { 0xE565, 0x5D92 }, + { 0xE566, 0x5DA2 }, + { 0xE567, 0x5D93 }, + { 0xE568, 0x5D95 }, + { 0xE569, 0x5DA0 }, + { 0xE56A, 0x5D9C }, + { 0xE56B, 0x5DA1 }, + { 0xE56C, 0x5D9A }, + { 0xE56D, 0x5D9E }, + { 0xE56E, 0x5E69 }, + { 0xE56F, 0x5E5D }, + { 0xE570, 0x5E60 }, + { 0xE571, 0x5E5C }, + { 0xE572, 0x7DF3 }, + { 0xE573, 0x5EDB }, + { 0xE574, 0x5EDE }, + { 0xE575, 0x5EE1 }, + { 0xE576, 0x5F49 }, + { 0xE577, 0x5FB2 }, + { 0xE578, 0x618B }, + { 0xE579, 0x6183 }, + { 0xE57A, 0x6179 }, + { 0xE57B, 0x61B1 }, + { 0xE57C, 0x61B0 }, + { 0xE57D, 0x61A2 }, + { 0xE57E, 0x6189 }, + { 0xE5A1, 0x619B }, + { 0xE5A2, 0x6193 }, + { 0xE5A3, 0x61AF }, + { 0xE5A4, 0x61AD }, + { 0xE5A5, 0x619F }, + { 0xE5A6, 0x6192 }, + { 0xE5A7, 0x61AA }, + { 0xE5A8, 0x61A1 }, + { 0xE5A9, 0x618D }, + { 0xE5AA, 0x6166 }, + { 0xE5AB, 0x61B3 }, + { 0xE5AC, 0x622D }, + { 0xE5AD, 0x646E }, + { 0xE5AE, 0x6470 }, + { 0xE5AF, 0x6496 }, + { 0xE5B0, 0x64A0 }, + { 0xE5B1, 0x6485 }, + { 0xE5B2, 0x6497 }, + { 0xE5B3, 0x649C }, + { 0xE5B4, 0x648F }, + { 0xE5B5, 0x648B }, + { 0xE5B6, 0x648A }, + { 0xE5B7, 0x648C }, + { 0xE5B8, 0x64A3 }, + { 0xE5B9, 0x649F }, + { 0xE5BA, 0x6468 }, + { 0xE5BB, 0x64B1 }, + { 0xE5BC, 0x6498 }, + { 0xE5BD, 0x6576 }, + { 0xE5BE, 0x657A }, + { 0xE5BF, 0x6579 }, + { 0xE5C0, 0x657B }, + { 0xE5C1, 0x65B2 }, + { 0xE5C2, 0x65B3 }, + { 0xE5C3, 0x66B5 }, + { 0xE5C4, 0x66B0 }, + { 0xE5C5, 0x66A9 }, + { 0xE5C6, 0x66B2 }, + { 0xE5C7, 0x66B7 }, + { 0xE5C8, 0x66AA }, + { 0xE5C9, 0x66AF }, + { 0xE5CA, 0x6A00 }, + { 0xE5CB, 0x6A06 }, + { 0xE5CC, 0x6A17 }, + { 0xE5CD, 0x69E5 }, + { 0xE5CE, 0x69F8 }, + { 0xE5CF, 0x6A15 }, + { 0xE5D0, 0x69F1 }, + { 0xE5D1, 0x69E4 }, + { 0xE5D2, 0x6A20 }, + { 0xE5D3, 0x69FF }, + { 0xE5D4, 0x69EC }, + { 0xE5D5, 0x69E2 }, + { 0xE5D6, 0x6A1B }, + { 0xE5D7, 0x6A1D }, + { 0xE5D8, 0x69FE }, + { 0xE5D9, 0x6A27 }, + { 0xE5DA, 0x69F2 }, + { 0xE5DB, 0x69EE }, + { 0xE5DC, 0x6A14 }, + { 0xE5DD, 0x69F7 }, + { 0xE5DE, 0x69E7 }, + { 0xE5DF, 0x6A40 }, + { 0xE5E0, 0x6A08 }, + { 0xE5E1, 0x69E6 }, + { 0xE5E2, 0x69FB }, + { 0xE5E3, 0x6A0D }, + { 0xE5E4, 0x69FC }, + { 0xE5E5, 0x69EB }, + { 0xE5E6, 0x6A09 }, + { 0xE5E7, 0x6A04 }, + { 0xE5E8, 0x6A18 }, + { 0xE5E9, 0x6A25 }, + { 0xE5EA, 0x6A0F }, + { 0xE5EB, 0x69F6 }, + { 0xE5EC, 0x6A26 }, + { 0xE5ED, 0x6A07 }, + { 0xE5EE, 0x69F4 }, + { 0xE5EF, 0x6A16 }, + { 0xE5F0, 0x6B51 }, + { 0xE5F1, 0x6BA5 }, + { 0xE5F2, 0x6BA3 }, + { 0xE5F3, 0x6BA2 }, + { 0xE5F4, 0x6BA6 }, + { 0xE5F5, 0x6C01 }, + { 0xE5F6, 0x6C00 }, + { 0xE5F7, 0x6BFF }, + { 0xE5F8, 0x6C02 }, + { 0xE5F9, 0x6F41 }, + { 0xE5FA, 0x6F26 }, + { 0xE5FB, 0x6F7E }, + { 0xE5FC, 0x6F87 }, + { 0xE5FD, 0x6FC6 }, + { 0xE5FE, 0x6F92 }, + { 0xE640, 0x6F8D }, + { 0xE641, 0x6F89 }, + { 0xE642, 0x6F8C }, + { 0xE643, 0x6F62 }, + { 0xE644, 0x6F4F }, + { 0xE645, 0x6F85 }, + { 0xE646, 0x6F5A }, + { 0xE647, 0x6F96 }, + { 0xE648, 0x6F76 }, + { 0xE649, 0x6F6C }, + { 0xE64A, 0x6F82 }, + { 0xE64B, 0x6F55 }, + { 0xE64C, 0x6F72 }, + { 0xE64D, 0x6F52 }, + { 0xE64E, 0x6F50 }, + { 0xE64F, 0x6F57 }, + { 0xE650, 0x6F94 }, + { 0xE651, 0x6F93 }, + { 0xE652, 0x6F5D }, + { 0xE653, 0x6F00 }, + { 0xE654, 0x6F61 }, + { 0xE655, 0x6F6B }, + { 0xE656, 0x6F7D }, + { 0xE657, 0x6F67 }, + { 0xE658, 0x6F90 }, + { 0xE659, 0x6F53 }, + { 0xE65A, 0x6F8B }, + { 0xE65B, 0x6F69 }, + { 0xE65C, 0x6F7F }, + { 0xE65D, 0x6F95 }, + { 0xE65E, 0x6F63 }, + { 0xE65F, 0x6F77 }, + { 0xE660, 0x6F6A }, + { 0xE661, 0x6F7B }, + { 0xE662, 0x71B2 }, + { 0xE663, 0x71AF }, + { 0xE664, 0x719B }, + { 0xE665, 0x71B0 }, + { 0xE666, 0x71A0 }, + { 0xE667, 0x719A }, + { 0xE668, 0x71A9 }, + { 0xE669, 0x71B5 }, + { 0xE66A, 0x719D }, + { 0xE66B, 0x71A5 }, + { 0xE66C, 0x719E }, + { 0xE66D, 0x71A4 }, + { 0xE66E, 0x71A1 }, + { 0xE66F, 0x71AA }, + { 0xE670, 0x719C }, + { 0xE671, 0x71A7 }, + { 0xE672, 0x71B3 }, + { 0xE673, 0x7298 }, + { 0xE674, 0x729A }, + { 0xE675, 0x7358 }, + { 0xE676, 0x7352 }, + { 0xE677, 0x735E }, + { 0xE678, 0x735F }, + { 0xE679, 0x7360 }, + { 0xE67A, 0x735D }, + { 0xE67B, 0x735B }, + { 0xE67C, 0x7361 }, + { 0xE67D, 0x735A }, + { 0xE67E, 0x7359 }, + { 0xE6A1, 0x7362 }, + { 0xE6A2, 0x7487 }, + { 0xE6A3, 0x7489 }, + { 0xE6A4, 0x748A }, + { 0xE6A5, 0x7486 }, + { 0xE6A6, 0x7481 }, + { 0xE6A7, 0x747D }, + { 0xE6A8, 0x7485 }, + { 0xE6A9, 0x7488 }, + { 0xE6AA, 0x747C }, + { 0xE6AB, 0x7479 }, + { 0xE6AC, 0x7508 }, + { 0xE6AD, 0x7507 }, + { 0xE6AE, 0x757E }, + { 0xE6AF, 0x7625 }, + { 0xE6B0, 0x761E }, + { 0xE6B1, 0x7619 }, + { 0xE6B2, 0x761D }, + { 0xE6B3, 0x761C }, + { 0xE6B4, 0x7623 }, + { 0xE6B5, 0x761A }, + { 0xE6B6, 0x7628 }, + { 0xE6B7, 0x761B }, + { 0xE6B8, 0x769C }, + { 0xE6B9, 0x769D }, + { 0xE6BA, 0x769E }, + { 0xE6BB, 0x769B }, + { 0xE6BC, 0x778D }, + { 0xE6BD, 0x778F }, + { 0xE6BE, 0x7789 }, + { 0xE6BF, 0x7788 }, + { 0xE6C0, 0x78CD }, + { 0xE6C1, 0x78BB }, + { 0xE6C2, 0x78CF }, + { 0xE6C3, 0x78CC }, + { 0xE6C4, 0x78D1 }, + { 0xE6C5, 0x78CE }, + { 0xE6C6, 0x78D4 }, + { 0xE6C7, 0x78C8 }, + { 0xE6C8, 0x78C3 }, + { 0xE6C9, 0x78C4 }, + { 0xE6CA, 0x78C9 }, + { 0xE6CB, 0x799A }, + { 0xE6CC, 0x79A1 }, + { 0xE6CD, 0x79A0 }, + { 0xE6CE, 0x799C }, + { 0xE6CF, 0x79A2 }, + { 0xE6D0, 0x799B }, + { 0xE6D1, 0x6B76 }, + { 0xE6D2, 0x7A39 }, + { 0xE6D3, 0x7AB2 }, + { 0xE6D4, 0x7AB4 }, + { 0xE6D5, 0x7AB3 }, + { 0xE6D6, 0x7BB7 }, + { 0xE6D7, 0x7BCB }, + { 0xE6D8, 0x7BBE }, + { 0xE6D9, 0x7BAC }, + { 0xE6DA, 0x7BCE }, + { 0xE6DB, 0x7BAF }, + { 0xE6DC, 0x7BB9 }, + { 0xE6DD, 0x7BCA }, + { 0xE6DE, 0x7BB5 }, + { 0xE6DF, 0x7CC5 }, + { 0xE6E0, 0x7CC8 }, + { 0xE6E1, 0x7CCC }, + { 0xE6E2, 0x7CCB }, + { 0xE6E3, 0x7DF7 }, + { 0xE6E4, 0x7DDB }, + { 0xE6E5, 0x7DEA }, + { 0xE6E6, 0x7DE7 }, + { 0xE6E7, 0x7DD7 }, + { 0xE6E8, 0x7DE1 }, + { 0xE6E9, 0x7E03 }, + { 0xE6EA, 0x7DFA }, + { 0xE6EB, 0x7DE6 }, + { 0xE6EC, 0x7DF6 }, + { 0xE6ED, 0x7DF1 }, + { 0xE6EE, 0x7DF0 }, + { 0xE6EF, 0x7DEE }, + { 0xE6F0, 0x7DDF }, + { 0xE6F1, 0x7F76 }, + { 0xE6F2, 0x7FAC }, + { 0xE6F3, 0x7FB0 }, + { 0xE6F4, 0x7FAD }, + { 0xE6F5, 0x7FED }, + { 0xE6F6, 0x7FEB }, + { 0xE6F7, 0x7FEA }, + { 0xE6F8, 0x7FEC }, + { 0xE6F9, 0x7FE6 }, + { 0xE6FA, 0x7FE8 }, + { 0xE6FB, 0x8064 }, + { 0xE6FC, 0x8067 }, + { 0xE6FD, 0x81A3 }, + { 0xE6FE, 0x819F }, + { 0xE740, 0x819E }, + { 0xE741, 0x8195 }, + { 0xE742, 0x81A2 }, + { 0xE743, 0x8199 }, + { 0xE744, 0x8197 }, + { 0xE745, 0x8216 }, + { 0xE746, 0x824F }, + { 0xE747, 0x8253 }, + { 0xE748, 0x8252 }, + { 0xE749, 0x8250 }, + { 0xE74A, 0x824E }, + { 0xE74B, 0x8251 }, + { 0xE74C, 0x8524 }, + { 0xE74D, 0x853B }, + { 0xE74E, 0x850F }, + { 0xE74F, 0x8500 }, + { 0xE750, 0x8529 }, + { 0xE751, 0x850E }, + { 0xE752, 0x8509 }, + { 0xE753, 0x850D }, + { 0xE754, 0x851F }, + { 0xE755, 0x850A }, + { 0xE756, 0x8527 }, + { 0xE757, 0x851C }, + { 0xE758, 0x84FB }, + { 0xE759, 0x852B }, + { 0xE75A, 0x84FA }, + { 0xE75B, 0x8508 }, + { 0xE75C, 0x850C }, + { 0xE75D, 0x84F4 }, + { 0xE75E, 0x852A }, + { 0xE75F, 0x84F2 }, + { 0xE760, 0x8515 }, + { 0xE761, 0x84F7 }, + { 0xE762, 0x84EB }, + { 0xE763, 0x84F3 }, + { 0xE764, 0x84FC }, + { 0xE765, 0x8512 }, + { 0xE766, 0x84EA }, + { 0xE767, 0x84E9 }, + { 0xE768, 0x8516 }, + { 0xE769, 0x84FE }, + { 0xE76A, 0x8528 }, + { 0xE76B, 0x851D }, + { 0xE76C, 0x852E }, + { 0xE76D, 0x8502 }, + { 0xE76E, 0x84FD }, + { 0xE76F, 0x851E }, + { 0xE770, 0x84F6 }, + { 0xE771, 0x8531 }, + { 0xE772, 0x8526 }, + { 0xE773, 0x84E7 }, + { 0xE774, 0x84E8 }, + { 0xE775, 0x84F0 }, + { 0xE776, 0x84EF }, + { 0xE777, 0x84F9 }, + { 0xE778, 0x8518 }, + { 0xE779, 0x8520 }, + { 0xE77A, 0x8530 }, + { 0xE77B, 0x850B }, + { 0xE77C, 0x8519 }, + { 0xE77D, 0x852F }, + { 0xE77E, 0x8662 }, + { 0xE7A1, 0x8756 }, + { 0xE7A2, 0x8763 }, + { 0xE7A3, 0x8764 }, + { 0xE7A4, 0x8777 }, + { 0xE7A5, 0x87E1 }, + { 0xE7A6, 0x8773 }, + { 0xE7A7, 0x8758 }, + { 0xE7A8, 0x8754 }, + { 0xE7A9, 0x875B }, + { 0xE7AA, 0x8752 }, + { 0xE7AB, 0x8761 }, + { 0xE7AC, 0x875A }, + { 0xE7AD, 0x8751 }, + { 0xE7AE, 0x875E }, + { 0xE7AF, 0x876D }, + { 0xE7B0, 0x876A }, + { 0xE7B1, 0x8750 }, + { 0xE7B2, 0x874E }, + { 0xE7B3, 0x875F }, + { 0xE7B4, 0x875D }, + { 0xE7B5, 0x876F }, + { 0xE7B6, 0x876C }, + { 0xE7B7, 0x877A }, + { 0xE7B8, 0x876E }, + { 0xE7B9, 0x875C }, + { 0xE7BA, 0x8765 }, + { 0xE7BB, 0x874F }, + { 0xE7BC, 0x877B }, + { 0xE7BD, 0x8775 }, + { 0xE7BE, 0x8762 }, + { 0xE7BF, 0x8767 }, + { 0xE7C0, 0x8769 }, + { 0xE7C1, 0x885A }, + { 0xE7C2, 0x8905 }, + { 0xE7C3, 0x890C }, + { 0xE7C4, 0x8914 }, + { 0xE7C5, 0x890B }, + { 0xE7C6, 0x8917 }, + { 0xE7C7, 0x8918 }, + { 0xE7C8, 0x8919 }, + { 0xE7C9, 0x8906 }, + { 0xE7CA, 0x8916 }, + { 0xE7CB, 0x8911 }, + { 0xE7CC, 0x890E }, + { 0xE7CD, 0x8909 }, + { 0xE7CE, 0x89A2 }, + { 0xE7CF, 0x89A4 }, + { 0xE7D0, 0x89A3 }, + { 0xE7D1, 0x89ED }, + { 0xE7D2, 0x89F0 }, + { 0xE7D3, 0x89EC }, + { 0xE7D4, 0x8ACF }, + { 0xE7D5, 0x8AC6 }, + { 0xE7D6, 0x8AB8 }, + { 0xE7D7, 0x8AD3 }, + { 0xE7D8, 0x8AD1 }, + { 0xE7D9, 0x8AD4 }, + { 0xE7DA, 0x8AD5 }, + { 0xE7DB, 0x8ABB }, + { 0xE7DC, 0x8AD7 }, + { 0xE7DD, 0x8ABE }, + { 0xE7DE, 0x8AC0 }, + { 0xE7DF, 0x8AC5 }, + { 0xE7E0, 0x8AD8 }, + { 0xE7E1, 0x8AC3 }, + { 0xE7E2, 0x8ABA }, + { 0xE7E3, 0x8ABD }, + { 0xE7E4, 0x8AD9 }, + { 0xE7E5, 0x8C3E }, + { 0xE7E6, 0x8C4D }, + { 0xE7E7, 0x8C8F }, + { 0xE7E8, 0x8CE5 }, + { 0xE7E9, 0x8CDF }, + { 0xE7EA, 0x8CD9 }, + { 0xE7EB, 0x8CE8 }, + { 0xE7EC, 0x8CDA }, + { 0xE7ED, 0x8CDD }, + { 0xE7EE, 0x8CE7 }, + { 0xE7EF, 0x8DA0 }, + { 0xE7F0, 0x8D9C }, + { 0xE7F1, 0x8DA1 }, + { 0xE7F2, 0x8D9B }, + { 0xE7F3, 0x8E20 }, + { 0xE7F4, 0x8E23 }, + { 0xE7F5, 0x8E25 }, + { 0xE7F6, 0x8E24 }, + { 0xE7F7, 0x8E2E }, + { 0xE7F8, 0x8E15 }, + { 0xE7F9, 0x8E1B }, + { 0xE7FA, 0x8E16 }, + { 0xE7FB, 0x8E11 }, + { 0xE7FC, 0x8E19 }, + { 0xE7FD, 0x8E26 }, + { 0xE7FE, 0x8E27 }, + { 0xE840, 0x8E14 }, + { 0xE841, 0x8E12 }, + { 0xE842, 0x8E18 }, + { 0xE843, 0x8E13 }, + { 0xE844, 0x8E1C }, + { 0xE845, 0x8E17 }, + { 0xE846, 0x8E1A }, + { 0xE847, 0x8F2C }, + { 0xE848, 0x8F24 }, + { 0xE849, 0x8F18 }, + { 0xE84A, 0x8F1A }, + { 0xE84B, 0x8F20 }, + { 0xE84C, 0x8F23 }, + { 0xE84D, 0x8F16 }, + { 0xE84E, 0x8F17 }, + { 0xE84F, 0x9073 }, + { 0xE850, 0x9070 }, + { 0xE851, 0x906F }, + { 0xE852, 0x9067 }, + { 0xE853, 0x906B }, + { 0xE854, 0x912F }, + { 0xE855, 0x912B }, + { 0xE856, 0x9129 }, + { 0xE857, 0x912A }, + { 0xE858, 0x9132 }, + { 0xE859, 0x9126 }, + { 0xE85A, 0x912E }, + { 0xE85B, 0x9185 }, + { 0xE85C, 0x9186 }, + { 0xE85D, 0x918A }, + { 0xE85E, 0x9181 }, + { 0xE85F, 0x9182 }, + { 0xE860, 0x9184 }, + { 0xE861, 0x9180 }, + { 0xE862, 0x92D0 }, + { 0xE863, 0x92C3 }, + { 0xE864, 0x92C4 }, + { 0xE865, 0x92C0 }, + { 0xE866, 0x92D9 }, + { 0xE867, 0x92B6 }, + { 0xE868, 0x92CF }, + { 0xE869, 0x92F1 }, + { 0xE86A, 0x92DF }, + { 0xE86B, 0x92D8 }, + { 0xE86C, 0x92E9 }, + { 0xE86D, 0x92D7 }, + { 0xE86E, 0x92DD }, + { 0xE86F, 0x92CC }, + { 0xE870, 0x92EF }, + { 0xE871, 0x92C2 }, + { 0xE872, 0x92E8 }, + { 0xE873, 0x92CA }, + { 0xE874, 0x92C8 }, + { 0xE875, 0x92CE }, + { 0xE876, 0x92E6 }, + { 0xE877, 0x92CD }, + { 0xE878, 0x92D5 }, + { 0xE879, 0x92C9 }, + { 0xE87A, 0x92E0 }, + { 0xE87B, 0x92DE }, + { 0xE87C, 0x92E7 }, + { 0xE87D, 0x92D1 }, + { 0xE87E, 0x92D3 }, + { 0xE8A1, 0x92B5 }, + { 0xE8A2, 0x92E1 }, + { 0xE8A3, 0x92C6 }, + { 0xE8A4, 0x92B4 }, + { 0xE8A5, 0x957C }, + { 0xE8A6, 0x95AC }, + { 0xE8A7, 0x95AB }, + { 0xE8A8, 0x95AE }, + { 0xE8A9, 0x95B0 }, + { 0xE8AA, 0x96A4 }, + { 0xE8AB, 0x96A2 }, + { 0xE8AC, 0x96D3 }, + { 0xE8AD, 0x9705 }, + { 0xE8AE, 0x9708 }, + { 0xE8AF, 0x9702 }, + { 0xE8B0, 0x975A }, + { 0xE8B1, 0x978A }, + { 0xE8B2, 0x978E }, + { 0xE8B3, 0x9788 }, + { 0xE8B4, 0x97D0 }, + { 0xE8B5, 0x97CF }, + { 0xE8B6, 0x981E }, + { 0xE8B7, 0x981D }, + { 0xE8B8, 0x9826 }, + { 0xE8B9, 0x9829 }, + { 0xE8BA, 0x9828 }, + { 0xE8BB, 0x9820 }, + { 0xE8BC, 0x981B }, + { 0xE8BD, 0x9827 }, + { 0xE8BE, 0x98B2 }, + { 0xE8BF, 0x9908 }, + { 0xE8C0, 0x98FA }, + { 0xE8C1, 0x9911 }, + { 0xE8C2, 0x9914 }, + { 0xE8C3, 0x9916 }, + { 0xE8C4, 0x9917 }, + { 0xE8C5, 0x9915 }, + { 0xE8C6, 0x99DC }, + { 0xE8C7, 0x99CD }, + { 0xE8C8, 0x99CF }, + { 0xE8C9, 0x99D3 }, + { 0xE8CA, 0x99D4 }, + { 0xE8CB, 0x99CE }, + { 0xE8CC, 0x99C9 }, + { 0xE8CD, 0x99D6 }, + { 0xE8CE, 0x99D8 }, + { 0xE8CF, 0x99CB }, + { 0xE8D0, 0x99D7 }, + { 0xE8D1, 0x99CC }, + { 0xE8D2, 0x9AB3 }, + { 0xE8D3, 0x9AEC }, + { 0xE8D4, 0x9AEB }, + { 0xE8D5, 0x9AF3 }, + { 0xE8D6, 0x9AF2 }, + { 0xE8D7, 0x9AF1 }, + { 0xE8D8, 0x9B46 }, + { 0xE8D9, 0x9B43 }, + { 0xE8DA, 0x9B67 }, + { 0xE8DB, 0x9B74 }, + { 0xE8DC, 0x9B71 }, + { 0xE8DD, 0x9B66 }, + { 0xE8DE, 0x9B76 }, + { 0xE8DF, 0x9B75 }, + { 0xE8E0, 0x9B70 }, + { 0xE8E1, 0x9B68 }, + { 0xE8E2, 0x9B64 }, + { 0xE8E3, 0x9B6C }, + { 0xE8E4, 0x9CFC }, + { 0xE8E5, 0x9CFA }, + { 0xE8E6, 0x9CFD }, + { 0xE8E7, 0x9CFF }, + { 0xE8E8, 0x9CF7 }, + { 0xE8E9, 0x9D07 }, + { 0xE8EA, 0x9D00 }, + { 0xE8EB, 0x9CF9 }, + { 0xE8EC, 0x9CFB }, + { 0xE8ED, 0x9D08 }, + { 0xE8EE, 0x9D05 }, + { 0xE8EF, 0x9D04 }, + { 0xE8F0, 0x9E83 }, + { 0xE8F1, 0x9ED3 }, + { 0xE8F2, 0x9F0F }, + { 0xE8F3, 0x9F10 }, + { 0xE8F4, 0x511C }, + { 0xE8F5, 0x5113 }, + { 0xE8F6, 0x5117 }, + { 0xE8F7, 0x511A }, + { 0xE8F8, 0x5111 }, + { 0xE8F9, 0x51DE }, + { 0xE8FA, 0x5334 }, + { 0xE8FB, 0x53E1 }, + { 0xE8FC, 0x5670 }, + { 0xE8FD, 0x5660 }, + { 0xE8FE, 0x566E }, + { 0xE940, 0x5673 }, + { 0xE941, 0x5666 }, + { 0xE942, 0x5663 }, + { 0xE943, 0x566D }, + { 0xE944, 0x5672 }, + { 0xE945, 0x565E }, + { 0xE946, 0x5677 }, + { 0xE947, 0x571C }, + { 0xE948, 0x571B }, + { 0xE949, 0x58C8 }, + { 0xE94A, 0x58BD }, + { 0xE94B, 0x58C9 }, + { 0xE94C, 0x58BF }, + { 0xE94D, 0x58BA }, + { 0xE94E, 0x58C2 }, + { 0xE94F, 0x58BC }, + { 0xE950, 0x58C6 }, + { 0xE951, 0x5B17 }, + { 0xE952, 0x5B19 }, + { 0xE953, 0x5B1B }, + { 0xE954, 0x5B21 }, + { 0xE955, 0x5B14 }, + { 0xE956, 0x5B13 }, + { 0xE957, 0x5B10 }, + { 0xE958, 0x5B16 }, + { 0xE959, 0x5B28 }, + { 0xE95A, 0x5B1A }, + { 0xE95B, 0x5B20 }, + { 0xE95C, 0x5B1E }, + { 0xE95D, 0x5BEF }, + { 0xE95E, 0x5DAC }, + { 0xE95F, 0x5DB1 }, + { 0xE960, 0x5DA9 }, + { 0xE961, 0x5DA7 }, + { 0xE962, 0x5DB5 }, + { 0xE963, 0x5DB0 }, + { 0xE964, 0x5DAE }, + { 0xE965, 0x5DAA }, + { 0xE966, 0x5DA8 }, + { 0xE967, 0x5DB2 }, + { 0xE968, 0x5DAD }, + { 0xE969, 0x5DAF }, + { 0xE96A, 0x5DB4 }, + { 0xE96B, 0x5E67 }, + { 0xE96C, 0x5E68 }, + { 0xE96D, 0x5E66 }, + { 0xE96E, 0x5E6F }, + { 0xE96F, 0x5EE9 }, + { 0xE970, 0x5EE7 }, + { 0xE971, 0x5EE6 }, + { 0xE972, 0x5EE8 }, + { 0xE973, 0x5EE5 }, + { 0xE974, 0x5F4B }, + { 0xE975, 0x5FBC }, + { 0xE976, 0x619D }, + { 0xE977, 0x61A8 }, + { 0xE978, 0x6196 }, + { 0xE979, 0x61C5 }, + { 0xE97A, 0x61B4 }, + { 0xE97B, 0x61C6 }, + { 0xE97C, 0x61C1 }, + { 0xE97D, 0x61CC }, + { 0xE97E, 0x61BA }, + { 0xE9A1, 0x61BF }, + { 0xE9A2, 0x61B8 }, + { 0xE9A3, 0x618C }, + { 0xE9A4, 0x64D7 }, + { 0xE9A5, 0x64D6 }, + { 0xE9A6, 0x64D0 }, + { 0xE9A7, 0x64CF }, + { 0xE9A8, 0x64C9 }, + { 0xE9A9, 0x64BD }, + { 0xE9AA, 0x6489 }, + { 0xE9AB, 0x64C3 }, + { 0xE9AC, 0x64DB }, + { 0xE9AD, 0x64F3 }, + { 0xE9AE, 0x64D9 }, + { 0xE9AF, 0x6533 }, + { 0xE9B0, 0x657F }, + { 0xE9B1, 0x657C }, + { 0xE9B2, 0x65A2 }, + { 0xE9B3, 0x66C8 }, + { 0xE9B4, 0x66BE }, + { 0xE9B5, 0x66C0 }, + { 0xE9B6, 0x66CA }, + { 0xE9B7, 0x66CB }, + { 0xE9B8, 0x66CF }, + { 0xE9B9, 0x66BD }, + { 0xE9BA, 0x66BB }, + { 0xE9BB, 0x66BA }, + { 0xE9BC, 0x66CC }, + { 0xE9BD, 0x6723 }, + { 0xE9BE, 0x6A34 }, + { 0xE9BF, 0x6A66 }, + { 0xE9C0, 0x6A49 }, + { 0xE9C1, 0x6A67 }, + { 0xE9C2, 0x6A32 }, + { 0xE9C3, 0x6A68 }, + { 0xE9C4, 0x6A3E }, + { 0xE9C5, 0x6A5D }, + { 0xE9C6, 0x6A6D }, + { 0xE9C7, 0x6A76 }, + { 0xE9C8, 0x6A5B }, + { 0xE9C9, 0x6A51 }, + { 0xE9CA, 0x6A28 }, + { 0xE9CB, 0x6A5A }, + { 0xE9CC, 0x6A3B }, + { 0xE9CD, 0x6A3F }, + { 0xE9CE, 0x6A41 }, + { 0xE9CF, 0x6A6A }, + { 0xE9D0, 0x6A64 }, + { 0xE9D1, 0x6A50 }, + { 0xE9D2, 0x6A4F }, + { 0xE9D3, 0x6A54 }, + { 0xE9D4, 0x6A6F }, + { 0xE9D5, 0x6A69 }, + { 0xE9D6, 0x6A60 }, + { 0xE9D7, 0x6A3C }, + { 0xE9D8, 0x6A5E }, + { 0xE9D9, 0x6A56 }, + { 0xE9DA, 0x6A55 }, + { 0xE9DB, 0x6A4D }, + { 0xE9DC, 0x6A4E }, + { 0xE9DD, 0x6A46 }, + { 0xE9DE, 0x6B55 }, + { 0xE9DF, 0x6B54 }, + { 0xE9E0, 0x6B56 }, + { 0xE9E1, 0x6BA7 }, + { 0xE9E2, 0x6BAA }, + { 0xE9E3, 0x6BAB }, + { 0xE9E4, 0x6BC8 }, + { 0xE9E5, 0x6BC7 }, + { 0xE9E6, 0x6C04 }, + { 0xE9E7, 0x6C03 }, + { 0xE9E8, 0x6C06 }, + { 0xE9E9, 0x6FAD }, + { 0xE9EA, 0x6FCB }, + { 0xE9EB, 0x6FA3 }, + { 0xE9EC, 0x6FC7 }, + { 0xE9ED, 0x6FBC }, + { 0xE9EE, 0x6FCE }, + { 0xE9EF, 0x6FC8 }, + { 0xE9F0, 0x6F5E }, + { 0xE9F1, 0x6FC4 }, + { 0xE9F2, 0x6FBD }, + { 0xE9F3, 0x6F9E }, + { 0xE9F4, 0x6FCA }, + { 0xE9F5, 0x6FA8 }, + { 0xE9F6, 0x7004 }, + { 0xE9F7, 0x6FA5 }, + { 0xE9F8, 0x6FAE }, + { 0xE9F9, 0x6FBA }, + { 0xE9FA, 0x6FAC }, + { 0xE9FB, 0x6FAA }, + { 0xE9FC, 0x6FCF }, + { 0xE9FD, 0x6FBF }, + { 0xE9FE, 0x6FB8 }, + { 0xEA40, 0x6FA2 }, + { 0xEA41, 0x6FC9 }, + { 0xEA42, 0x6FAB }, + { 0xEA43, 0x6FCD }, + { 0xEA44, 0x6FAF }, + { 0xEA45, 0x6FB2 }, + { 0xEA46, 0x6FB0 }, + { 0xEA47, 0x71C5 }, + { 0xEA48, 0x71C2 }, + { 0xEA49, 0x71BF }, + { 0xEA4A, 0x71B8 }, + { 0xEA4B, 0x71D6 }, + { 0xEA4C, 0x71C0 }, + { 0xEA4D, 0x71C1 }, + { 0xEA4E, 0x71CB }, + { 0xEA4F, 0x71D4 }, + { 0xEA50, 0x71CA }, + { 0xEA51, 0x71C7 }, + { 0xEA52, 0x71CF }, + { 0xEA53, 0x71BD }, + { 0xEA54, 0x71D8 }, + { 0xEA55, 0x71BC }, + { 0xEA56, 0x71C6 }, + { 0xEA57, 0x71DA }, + { 0xEA58, 0x71DB }, + { 0xEA59, 0x729D }, + { 0xEA5A, 0x729E }, + { 0xEA5B, 0x7369 }, + { 0xEA5C, 0x7366 }, + { 0xEA5D, 0x7367 }, + { 0xEA5E, 0x736C }, + { 0xEA5F, 0x7365 }, + { 0xEA60, 0x736B }, + { 0xEA61, 0x736A }, + { 0xEA62, 0x747F }, + { 0xEA63, 0x749A }, + { 0xEA64, 0x74A0 }, + { 0xEA65, 0x7494 }, + { 0xEA66, 0x7492 }, + { 0xEA67, 0x7495 }, + { 0xEA68, 0x74A1 }, + { 0xEA69, 0x750B }, + { 0xEA6A, 0x7580 }, + { 0xEA6B, 0x762F }, + { 0xEA6C, 0x762D }, + { 0xEA6D, 0x7631 }, + { 0xEA6E, 0x763D }, + { 0xEA6F, 0x7633 }, + { 0xEA70, 0x763C }, + { 0xEA71, 0x7635 }, + { 0xEA72, 0x7632 }, + { 0xEA73, 0x7630 }, + { 0xEA74, 0x76BB }, + { 0xEA75, 0x76E6 }, + { 0xEA76, 0x779A }, + { 0xEA77, 0x779D }, + { 0xEA78, 0x77A1 }, + { 0xEA79, 0x779C }, + { 0xEA7A, 0x779B }, + { 0xEA7B, 0x77A2 }, + { 0xEA7C, 0x77A3 }, + { 0xEA7D, 0x7795 }, + { 0xEA7E, 0x7799 }, + { 0xEAA1, 0x7797 }, + { 0xEAA2, 0x78DD }, + { 0xEAA3, 0x78E9 }, + { 0xEAA4, 0x78E5 }, + { 0xEAA5, 0x78EA }, + { 0xEAA6, 0x78DE }, + { 0xEAA7, 0x78E3 }, + { 0xEAA8, 0x78DB }, + { 0xEAA9, 0x78E1 }, + { 0xEAAA, 0x78E2 }, + { 0xEAAB, 0x78ED }, + { 0xEAAC, 0x78DF }, + { 0xEAAD, 0x78E0 }, + { 0xEAAE, 0x79A4 }, + { 0xEAAF, 0x7A44 }, + { 0xEAB0, 0x7A48 }, + { 0xEAB1, 0x7A47 }, + { 0xEAB2, 0x7AB6 }, + { 0xEAB3, 0x7AB8 }, + { 0xEAB4, 0x7AB5 }, + { 0xEAB5, 0x7AB1 }, + { 0xEAB6, 0x7AB7 }, + { 0xEAB7, 0x7BDE }, + { 0xEAB8, 0x7BE3 }, + { 0xEAB9, 0x7BE7 }, + { 0xEABA, 0x7BDD }, + { 0xEABB, 0x7BD5 }, + { 0xEABC, 0x7BE5 }, + { 0xEABD, 0x7BDA }, + { 0xEABE, 0x7BE8 }, + { 0xEABF, 0x7BF9 }, + { 0xEAC0, 0x7BD4 }, + { 0xEAC1, 0x7BEA }, + { 0xEAC2, 0x7BE2 }, + { 0xEAC3, 0x7BDC }, + { 0xEAC4, 0x7BEB }, + { 0xEAC5, 0x7BD8 }, + { 0xEAC6, 0x7BDF }, + { 0xEAC7, 0x7CD2 }, + { 0xEAC8, 0x7CD4 }, + { 0xEAC9, 0x7CD7 }, + { 0xEACA, 0x7CD0 }, + { 0xEACB, 0x7CD1 }, + { 0xEACC, 0x7E12 }, + { 0xEACD, 0x7E21 }, + { 0xEACE, 0x7E17 }, + { 0xEACF, 0x7E0C }, + { 0xEAD0, 0x7E1F }, + { 0xEAD1, 0x7E20 }, + { 0xEAD2, 0x7E13 }, + { 0xEAD3, 0x7E0E }, + { 0xEAD4, 0x7E1C }, + { 0xEAD5, 0x7E15 }, + { 0xEAD6, 0x7E1A }, + { 0xEAD7, 0x7E22 }, + { 0xEAD8, 0x7E0B }, + { 0xEAD9, 0x7E0F }, + { 0xEADA, 0x7E16 }, + { 0xEADB, 0x7E0D }, + { 0xEADC, 0x7E14 }, + { 0xEADD, 0x7E25 }, + { 0xEADE, 0x7E24 }, + { 0xEADF, 0x7F43 }, + { 0xEAE0, 0x7F7B }, + { 0xEAE1, 0x7F7C }, + { 0xEAE2, 0x7F7A }, + { 0xEAE3, 0x7FB1 }, + { 0xEAE4, 0x7FEF }, + { 0xEAE5, 0x802A }, + { 0xEAE6, 0x8029 }, + { 0xEAE7, 0x806C }, + { 0xEAE8, 0x81B1 }, + { 0xEAE9, 0x81A6 }, + { 0xEAEA, 0x81AE }, + { 0xEAEB, 0x81B9 }, + { 0xEAEC, 0x81B5 }, + { 0xEAED, 0x81AB }, + { 0xEAEE, 0x81B0 }, + { 0xEAEF, 0x81AC }, + { 0xEAF0, 0x81B4 }, + { 0xEAF1, 0x81B2 }, + { 0xEAF2, 0x81B7 }, + { 0xEAF3, 0x81A7 }, + { 0xEAF4, 0x81F2 }, + { 0xEAF5, 0x8255 }, + { 0xEAF6, 0x8256 }, + { 0xEAF7, 0x8257 }, + { 0xEAF8, 0x8556 }, + { 0xEAF9, 0x8545 }, + { 0xEAFA, 0x856B }, + { 0xEAFB, 0x854D }, + { 0xEAFC, 0x8553 }, + { 0xEAFD, 0x8561 }, + { 0xEAFE, 0x8558 }, + { 0xEB40, 0x8540 }, + { 0xEB41, 0x8546 }, + { 0xEB42, 0x8564 }, + { 0xEB43, 0x8541 }, + { 0xEB44, 0x8562 }, + { 0xEB45, 0x8544 }, + { 0xEB46, 0x8551 }, + { 0xEB47, 0x8547 }, + { 0xEB48, 0x8563 }, + { 0xEB49, 0x853E }, + { 0xEB4A, 0x855B }, + { 0xEB4B, 0x8571 }, + { 0xEB4C, 0x854E }, + { 0xEB4D, 0x856E }, + { 0xEB4E, 0x8575 }, + { 0xEB4F, 0x8555 }, + { 0xEB50, 0x8567 }, + { 0xEB51, 0x8560 }, + { 0xEB52, 0x858C }, + { 0xEB53, 0x8566 }, + { 0xEB54, 0x855D }, + { 0xEB55, 0x8554 }, + { 0xEB56, 0x8565 }, + { 0xEB57, 0x856C }, + { 0xEB58, 0x8663 }, + { 0xEB59, 0x8665 }, + { 0xEB5A, 0x8664 }, + { 0xEB5B, 0x879B }, + { 0xEB5C, 0x878F }, + { 0xEB5D, 0x8797 }, + { 0xEB5E, 0x8793 }, + { 0xEB5F, 0x8792 }, + { 0xEB60, 0x8788 }, + { 0xEB61, 0x8781 }, + { 0xEB62, 0x8796 }, + { 0xEB63, 0x8798 }, + { 0xEB64, 0x8779 }, + { 0xEB65, 0x8787 }, + { 0xEB66, 0x87A3 }, + { 0xEB67, 0x8785 }, + { 0xEB68, 0x8790 }, + { 0xEB69, 0x8791 }, + { 0xEB6A, 0x879D }, + { 0xEB6B, 0x8784 }, + { 0xEB6C, 0x8794 }, + { 0xEB6D, 0x879C }, + { 0xEB6E, 0x879A }, + { 0xEB6F, 0x8789 }, + { 0xEB70, 0x891E }, + { 0xEB71, 0x8926 }, + { 0xEB72, 0x8930 }, + { 0xEB73, 0x892D }, + { 0xEB74, 0x892E }, + { 0xEB75, 0x8927 }, + { 0xEB76, 0x8931 }, + { 0xEB77, 0x8922 }, + { 0xEB78, 0x8929 }, + { 0xEB79, 0x8923 }, + { 0xEB7A, 0x892F }, + { 0xEB7B, 0x892C }, + { 0xEB7C, 0x891F }, + { 0xEB7D, 0x89F1 }, + { 0xEB7E, 0x8AE0 }, + { 0xEBA1, 0x8AE2 }, + { 0xEBA2, 0x8AF2 }, + { 0xEBA3, 0x8AF4 }, + { 0xEBA4, 0x8AF5 }, + { 0xEBA5, 0x8ADD }, + { 0xEBA6, 0x8B14 }, + { 0xEBA7, 0x8AE4 }, + { 0xEBA8, 0x8ADF }, + { 0xEBA9, 0x8AF0 }, + { 0xEBAA, 0x8AC8 }, + { 0xEBAB, 0x8ADE }, + { 0xEBAC, 0x8AE1 }, + { 0xEBAD, 0x8AE8 }, + { 0xEBAE, 0x8AFF }, + { 0xEBAF, 0x8AEF }, + { 0xEBB0, 0x8AFB }, + { 0xEBB1, 0x8C91 }, + { 0xEBB2, 0x8C92 }, + { 0xEBB3, 0x8C90 }, + { 0xEBB4, 0x8CF5 }, + { 0xEBB5, 0x8CEE }, + { 0xEBB6, 0x8CF1 }, + { 0xEBB7, 0x8CF0 }, + { 0xEBB8, 0x8CF3 }, + { 0xEBB9, 0x8D6C }, + { 0xEBBA, 0x8D6E }, + { 0xEBBB, 0x8DA5 }, + { 0xEBBC, 0x8DA7 }, + { 0xEBBD, 0x8E33 }, + { 0xEBBE, 0x8E3E }, + { 0xEBBF, 0x8E38 }, + { 0xEBC0, 0x8E40 }, + { 0xEBC1, 0x8E45 }, + { 0xEBC2, 0x8E36 }, + { 0xEBC3, 0x8E3C }, + { 0xEBC4, 0x8E3D }, + { 0xEBC5, 0x8E41 }, + { 0xEBC6, 0x8E30 }, + { 0xEBC7, 0x8E3F }, + { 0xEBC8, 0x8EBD }, + { 0xEBC9, 0x8F36 }, + { 0xEBCA, 0x8F2E }, + { 0xEBCB, 0x8F35 }, + { 0xEBCC, 0x8F32 }, + { 0xEBCD, 0x8F39 }, + { 0xEBCE, 0x8F37 }, + { 0xEBCF, 0x8F34 }, + { 0xEBD0, 0x9076 }, + { 0xEBD1, 0x9079 }, + { 0xEBD2, 0x907B }, + { 0xEBD3, 0x9086 }, + { 0xEBD4, 0x90FA }, + { 0xEBD5, 0x9133 }, + { 0xEBD6, 0x9135 }, + { 0xEBD7, 0x9136 }, + { 0xEBD8, 0x9193 }, + { 0xEBD9, 0x9190 }, + { 0xEBDA, 0x9191 }, + { 0xEBDB, 0x918D }, + { 0xEBDC, 0x918F }, + { 0xEBDD, 0x9327 }, + { 0xEBDE, 0x931E }, + { 0xEBDF, 0x9308 }, + { 0xEBE0, 0x931F }, + { 0xEBE1, 0x9306 }, + { 0xEBE2, 0x930F }, + { 0xEBE3, 0x937A }, + { 0xEBE4, 0x9338 }, + { 0xEBE5, 0x933C }, + { 0xEBE6, 0x931B }, + { 0xEBE7, 0x9323 }, + { 0xEBE8, 0x9312 }, + { 0xEBE9, 0x9301 }, + { 0xEBEA, 0x9346 }, + { 0xEBEB, 0x932D }, + { 0xEBEC, 0x930E }, + { 0xEBED, 0x930D }, + { 0xEBEE, 0x92CB }, + { 0xEBEF, 0x931D }, + { 0xEBF0, 0x92FA }, + { 0xEBF1, 0x9325 }, + { 0xEBF2, 0x9313 }, + { 0xEBF3, 0x92F9 }, + { 0xEBF4, 0x92F7 }, + { 0xEBF5, 0x9334 }, + { 0xEBF6, 0x9302 }, + { 0xEBF7, 0x9324 }, + { 0xEBF8, 0x92FF }, + { 0xEBF9, 0x9329 }, + { 0xEBFA, 0x9339 }, + { 0xEBFB, 0x9335 }, + { 0xEBFC, 0x932A }, + { 0xEBFD, 0x9314 }, + { 0xEBFE, 0x930C }, + { 0xEC40, 0x930B }, + { 0xEC41, 0x92FE }, + { 0xEC42, 0x9309 }, + { 0xEC43, 0x9300 }, + { 0xEC44, 0x92FB }, + { 0xEC45, 0x9316 }, + { 0xEC46, 0x95BC }, + { 0xEC47, 0x95CD }, + { 0xEC48, 0x95BE }, + { 0xEC49, 0x95B9 }, + { 0xEC4A, 0x95BA }, + { 0xEC4B, 0x95B6 }, + { 0xEC4C, 0x95BF }, + { 0xEC4D, 0x95B5 }, + { 0xEC4E, 0x95BD }, + { 0xEC4F, 0x96A9 }, + { 0xEC50, 0x96D4 }, + { 0xEC51, 0x970B }, + { 0xEC52, 0x9712 }, + { 0xEC53, 0x9710 }, + { 0xEC54, 0x9799 }, + { 0xEC55, 0x9797 }, + { 0xEC56, 0x9794 }, + { 0xEC57, 0x97F0 }, + { 0xEC58, 0x97F8 }, + { 0xEC59, 0x9835 }, + { 0xEC5A, 0x982F }, + { 0xEC5B, 0x9832 }, + { 0xEC5C, 0x9924 }, + { 0xEC5D, 0x991F }, + { 0xEC5E, 0x9927 }, + { 0xEC5F, 0x9929 }, + { 0xEC60, 0x999E }, + { 0xEC61, 0x99EE }, + { 0xEC62, 0x99EC }, + { 0xEC63, 0x99E5 }, + { 0xEC64, 0x99E4 }, + { 0xEC65, 0x99F0 }, + { 0xEC66, 0x99E3 }, + { 0xEC67, 0x99EA }, + { 0xEC68, 0x99E9 }, + { 0xEC69, 0x99E7 }, + { 0xEC6A, 0x9AB9 }, + { 0xEC6B, 0x9ABF }, + { 0xEC6C, 0x9AB4 }, + { 0xEC6D, 0x9ABB }, + { 0xEC6E, 0x9AF6 }, + { 0xEC6F, 0x9AFA }, + { 0xEC70, 0x9AF9 }, + { 0xEC71, 0x9AF7 }, + { 0xEC72, 0x9B33 }, + { 0xEC73, 0x9B80 }, + { 0xEC74, 0x9B85 }, + { 0xEC75, 0x9B87 }, + { 0xEC76, 0x9B7C }, + { 0xEC77, 0x9B7E }, + { 0xEC78, 0x9B7B }, + { 0xEC79, 0x9B82 }, + { 0xEC7A, 0x9B93 }, + { 0xEC7B, 0x9B92 }, + { 0xEC7C, 0x9B90 }, + { 0xEC7D, 0x9B7A }, + { 0xEC7E, 0x9B95 }, + { 0xECA1, 0x9B7D }, + { 0xECA2, 0x9B88 }, + { 0xECA3, 0x9D25 }, + { 0xECA4, 0x9D17 }, + { 0xECA5, 0x9D20 }, + { 0xECA6, 0x9D1E }, + { 0xECA7, 0x9D14 }, + { 0xECA8, 0x9D29 }, + { 0xECA9, 0x9D1D }, + { 0xECAA, 0x9D18 }, + { 0xECAB, 0x9D22 }, + { 0xECAC, 0x9D10 }, + { 0xECAD, 0x9D19 }, + { 0xECAE, 0x9D1F }, + { 0xECAF, 0x9E88 }, + { 0xECB0, 0x9E86 }, + { 0xECB1, 0x9E87 }, + { 0xECB2, 0x9EAE }, + { 0xECB3, 0x9EAD }, + { 0xECB4, 0x9ED5 }, + { 0xECB5, 0x9ED6 }, + { 0xECB6, 0x9EFA }, + { 0xECB7, 0x9F12 }, + { 0xECB8, 0x9F3D }, + { 0xECB9, 0x5126 }, + { 0xECBA, 0x5125 }, + { 0xECBB, 0x5122 }, + { 0xECBC, 0x5124 }, + { 0xECBD, 0x5120 }, + { 0xECBE, 0x5129 }, + { 0xECBF, 0x52F4 }, + { 0xECC0, 0x5693 }, + { 0xECC1, 0x568C }, + { 0xECC2, 0x568D }, + { 0xECC3, 0x5686 }, + { 0xECC4, 0x5684 }, + { 0xECC5, 0x5683 }, + { 0xECC6, 0x567E }, + { 0xECC7, 0x5682 }, + { 0xECC8, 0x567F }, + { 0xECC9, 0x5681 }, + { 0xECCA, 0x58D6 }, + { 0xECCB, 0x58D4 }, + { 0xECCC, 0x58CF }, + { 0xECCD, 0x58D2 }, + { 0xECCE, 0x5B2D }, + { 0xECCF, 0x5B25 }, + { 0xECD0, 0x5B32 }, + { 0xECD1, 0x5B23 }, + { 0xECD2, 0x5B2C }, + { 0xECD3, 0x5B27 }, + { 0xECD4, 0x5B26 }, + { 0xECD5, 0x5B2F }, + { 0xECD6, 0x5B2E }, + { 0xECD7, 0x5B7B }, + { 0xECD8, 0x5BF1 }, + { 0xECD9, 0x5BF2 }, + { 0xECDA, 0x5DB7 }, + { 0xECDB, 0x5E6C }, + { 0xECDC, 0x5E6A }, + { 0xECDD, 0x5FBE }, + { 0xECDE, 0x5FBB }, + { 0xECDF, 0x61C3 }, + { 0xECE0, 0x61B5 }, + { 0xECE1, 0x61BC }, + { 0xECE2, 0x61E7 }, + { 0xECE3, 0x61E0 }, + { 0xECE4, 0x61E5 }, + { 0xECE5, 0x61E4 }, + { 0xECE6, 0x61E8 }, + { 0xECE7, 0x61DE }, + { 0xECE8, 0x64EF }, + { 0xECE9, 0x64E9 }, + { 0xECEA, 0x64E3 }, + { 0xECEB, 0x64EB }, + { 0xECEC, 0x64E4 }, + { 0xECED, 0x64E8 }, + { 0xECEE, 0x6581 }, + { 0xECEF, 0x6580 }, + { 0xECF0, 0x65B6 }, + { 0xECF1, 0x65DA }, + { 0xECF2, 0x66D2 }, + { 0xECF3, 0x6A8D }, + { 0xECF4, 0x6A96 }, + { 0xECF5, 0x6A81 }, + { 0xECF6, 0x6AA5 }, + { 0xECF7, 0x6A89 }, + { 0xECF8, 0x6A9F }, + { 0xECF9, 0x6A9B }, + { 0xECFA, 0x6AA1 }, + { 0xECFB, 0x6A9E }, + { 0xECFC, 0x6A87 }, + { 0xECFD, 0x6A93 }, + { 0xECFE, 0x6A8E }, + { 0xED40, 0x6A95 }, + { 0xED41, 0x6A83 }, + { 0xED42, 0x6AA8 }, + { 0xED43, 0x6AA4 }, + { 0xED44, 0x6A91 }, + { 0xED45, 0x6A7F }, + { 0xED46, 0x6AA6 }, + { 0xED47, 0x6A9A }, + { 0xED48, 0x6A85 }, + { 0xED49, 0x6A8C }, + { 0xED4A, 0x6A92 }, + { 0xED4B, 0x6B5B }, + { 0xED4C, 0x6BAD }, + { 0xED4D, 0x6C09 }, + { 0xED4E, 0x6FCC }, + { 0xED4F, 0x6FA9 }, + { 0xED50, 0x6FF4 }, + { 0xED51, 0x6FD4 }, + { 0xED52, 0x6FE3 }, + { 0xED53, 0x6FDC }, + { 0xED54, 0x6FED }, + { 0xED55, 0x6FE7 }, + { 0xED56, 0x6FE6 }, + { 0xED57, 0x6FDE }, + { 0xED58, 0x6FF2 }, + { 0xED59, 0x6FDD }, + { 0xED5A, 0x6FE2 }, + { 0xED5B, 0x6FE8 }, + { 0xED5C, 0x71E1 }, + { 0xED5D, 0x71F1 }, + { 0xED5E, 0x71E8 }, + { 0xED5F, 0x71F2 }, + { 0xED60, 0x71E4 }, + { 0xED61, 0x71F0 }, + { 0xED62, 0x71E2 }, + { 0xED63, 0x7373 }, + { 0xED64, 0x736E }, + { 0xED65, 0x736F }, + { 0xED66, 0x7497 }, + { 0xED67, 0x74B2 }, + { 0xED68, 0x74AB }, + { 0xED69, 0x7490 }, + { 0xED6A, 0x74AA }, + { 0xED6B, 0x74AD }, + { 0xED6C, 0x74B1 }, + { 0xED6D, 0x74A5 }, + { 0xED6E, 0x74AF }, + { 0xED6F, 0x7510 }, + { 0xED70, 0x7511 }, + { 0xED71, 0x7512 }, + { 0xED72, 0x750F }, + { 0xED73, 0x7584 }, + { 0xED74, 0x7643 }, + { 0xED75, 0x7648 }, + { 0xED76, 0x7649 }, + { 0xED77, 0x7647 }, + { 0xED78, 0x76A4 }, + { 0xED79, 0x76E9 }, + { 0xED7A, 0x77B5 }, + { 0xED7B, 0x77AB }, + { 0xED7C, 0x77B2 }, + { 0xED7D, 0x77B7 }, + { 0xED7E, 0x77B6 }, + { 0xEDA1, 0x77B4 }, + { 0xEDA2, 0x77B1 }, + { 0xEDA3, 0x77A8 }, + { 0xEDA4, 0x77F0 }, + { 0xEDA5, 0x78F3 }, + { 0xEDA6, 0x78FD }, + { 0xEDA7, 0x7902 }, + { 0xEDA8, 0x78FB }, + { 0xEDA9, 0x78FC }, + { 0xEDAA, 0x78F2 }, + { 0xEDAB, 0x7905 }, + { 0xEDAC, 0x78F9 }, + { 0xEDAD, 0x78FE }, + { 0xEDAE, 0x7904 }, + { 0xEDAF, 0x79AB }, + { 0xEDB0, 0x79A8 }, + { 0xEDB1, 0x7A5C }, + { 0xEDB2, 0x7A5B }, + { 0xEDB3, 0x7A56 }, + { 0xEDB4, 0x7A58 }, + { 0xEDB5, 0x7A54 }, + { 0xEDB6, 0x7A5A }, + { 0xEDB7, 0x7ABE }, + { 0xEDB8, 0x7AC0 }, + { 0xEDB9, 0x7AC1 }, + { 0xEDBA, 0x7C05 }, + { 0xEDBB, 0x7C0F }, + { 0xEDBC, 0x7BF2 }, + { 0xEDBD, 0x7C00 }, + { 0xEDBE, 0x7BFF }, + { 0xEDBF, 0x7BFB }, + { 0xEDC0, 0x7C0E }, + { 0xEDC1, 0x7BF4 }, + { 0xEDC2, 0x7C0B }, + { 0xEDC3, 0x7BF3 }, + { 0xEDC4, 0x7C02 }, + { 0xEDC5, 0x7C09 }, + { 0xEDC6, 0x7C03 }, + { 0xEDC7, 0x7C01 }, + { 0xEDC8, 0x7BF8 }, + { 0xEDC9, 0x7BFD }, + { 0xEDCA, 0x7C06 }, + { 0xEDCB, 0x7BF0 }, + { 0xEDCC, 0x7BF1 }, + { 0xEDCD, 0x7C10 }, + { 0xEDCE, 0x7C0A }, + { 0xEDCF, 0x7CE8 }, + { 0xEDD0, 0x7E2D }, + { 0xEDD1, 0x7E3C }, + { 0xEDD2, 0x7E42 }, + { 0xEDD3, 0x7E33 }, + { 0xEDD4, 0x9848 }, + { 0xEDD5, 0x7E38 }, + { 0xEDD6, 0x7E2A }, + { 0xEDD7, 0x7E49 }, + { 0xEDD8, 0x7E40 }, + { 0xEDD9, 0x7E47 }, + { 0xEDDA, 0x7E29 }, + { 0xEDDB, 0x7E4C }, + { 0xEDDC, 0x7E30 }, + { 0xEDDD, 0x7E3B }, + { 0xEDDE, 0x7E36 }, + { 0xEDDF, 0x7E44 }, + { 0xEDE0, 0x7E3A }, + { 0xEDE1, 0x7F45 }, + { 0xEDE2, 0x7F7F }, + { 0xEDE3, 0x7F7E }, + { 0xEDE4, 0x7F7D }, + { 0xEDE5, 0x7FF4 }, + { 0xEDE6, 0x7FF2 }, + { 0xEDE7, 0x802C }, + { 0xEDE8, 0x81BB }, + { 0xEDE9, 0x81C4 }, + { 0xEDEA, 0x81CC }, + { 0xEDEB, 0x81CA }, + { 0xEDEC, 0x81C5 }, + { 0xEDED, 0x81C7 }, + { 0xEDEE, 0x81BC }, + { 0xEDEF, 0x81E9 }, + { 0xEDF0, 0x825B }, + { 0xEDF1, 0x825A }, + { 0xEDF2, 0x825C }, + { 0xEDF3, 0x8583 }, + { 0xEDF4, 0x8580 }, + { 0xEDF5, 0x858F }, + { 0xEDF6, 0x85A7 }, + { 0xEDF7, 0x8595 }, + { 0xEDF8, 0x85A0 }, + { 0xEDF9, 0x858B }, + { 0xEDFA, 0x85A3 }, + { 0xEDFB, 0x857B }, + { 0xEDFC, 0x85A4 }, + { 0xEDFD, 0x859A }, + { 0xEDFE, 0x859E }, + { 0xEE40, 0x8577 }, + { 0xEE41, 0x857C }, + { 0xEE42, 0x8589 }, + { 0xEE43, 0x85A1 }, + { 0xEE44, 0x857A }, + { 0xEE45, 0x8578 }, + { 0xEE46, 0x8557 }, + { 0xEE47, 0x858E }, + { 0xEE48, 0x8596 }, + { 0xEE49, 0x8586 }, + { 0xEE4A, 0x858D }, + { 0xEE4B, 0x8599 }, + { 0xEE4C, 0x859D }, + { 0xEE4D, 0x8581 }, + { 0xEE4E, 0x85A2 }, + { 0xEE4F, 0x8582 }, + { 0xEE50, 0x8588 }, + { 0xEE51, 0x8585 }, + { 0xEE52, 0x8579 }, + { 0xEE53, 0x8576 }, + { 0xEE54, 0x8598 }, + { 0xEE55, 0x8590 }, + { 0xEE56, 0x859F }, + { 0xEE57, 0x8668 }, + { 0xEE58, 0x87BE }, + { 0xEE59, 0x87AA }, + { 0xEE5A, 0x87AD }, + { 0xEE5B, 0x87C5 }, + { 0xEE5C, 0x87B0 }, + { 0xEE5D, 0x87AC }, + { 0xEE5E, 0x87B9 }, + { 0xEE5F, 0x87B5 }, + { 0xEE60, 0x87BC }, + { 0xEE61, 0x87AE }, + { 0xEE62, 0x87C9 }, + { 0xEE63, 0x87C3 }, + { 0xEE64, 0x87C2 }, + { 0xEE65, 0x87CC }, + { 0xEE66, 0x87B7 }, + { 0xEE67, 0x87AF }, + { 0xEE68, 0x87C4 }, + { 0xEE69, 0x87CA }, + { 0xEE6A, 0x87B4 }, + { 0xEE6B, 0x87B6 }, + { 0xEE6C, 0x87BF }, + { 0xEE6D, 0x87B8 }, + { 0xEE6E, 0x87BD }, + { 0xEE6F, 0x87DE }, + { 0xEE70, 0x87B2 }, + { 0xEE71, 0x8935 }, + { 0xEE72, 0x8933 }, + { 0xEE73, 0x893C }, + { 0xEE74, 0x893E }, + { 0xEE75, 0x8941 }, + { 0xEE76, 0x8952 }, + { 0xEE77, 0x8937 }, + { 0xEE78, 0x8942 }, + { 0xEE79, 0x89AD }, + { 0xEE7A, 0x89AF }, + { 0xEE7B, 0x89AE }, + { 0xEE7C, 0x89F2 }, + { 0xEE7D, 0x89F3 }, + { 0xEE7E, 0x8B1E }, + { 0xEEA1, 0x8B18 }, + { 0xEEA2, 0x8B16 }, + { 0xEEA3, 0x8B11 }, + { 0xEEA4, 0x8B05 }, + { 0xEEA5, 0x8B0B }, + { 0xEEA6, 0x8B22 }, + { 0xEEA7, 0x8B0F }, + { 0xEEA8, 0x8B12 }, + { 0xEEA9, 0x8B15 }, + { 0xEEAA, 0x8B07 }, + { 0xEEAB, 0x8B0D }, + { 0xEEAC, 0x8B08 }, + { 0xEEAD, 0x8B06 }, + { 0xEEAE, 0x8B1C }, + { 0xEEAF, 0x8B13 }, + { 0xEEB0, 0x8B1A }, + { 0xEEB1, 0x8C4F }, + { 0xEEB2, 0x8C70 }, + { 0xEEB3, 0x8C72 }, + { 0xEEB4, 0x8C71 }, + { 0xEEB5, 0x8C6F }, + { 0xEEB6, 0x8C95 }, + { 0xEEB7, 0x8C94 }, + { 0xEEB8, 0x8CF9 }, + { 0xEEB9, 0x8D6F }, + { 0xEEBA, 0x8E4E }, + { 0xEEBB, 0x8E4D }, + { 0xEEBC, 0x8E53 }, + { 0xEEBD, 0x8E50 }, + { 0xEEBE, 0x8E4C }, + { 0xEEBF, 0x8E47 }, + { 0xEEC0, 0x8F43 }, + { 0xEEC1, 0x8F40 }, + { 0xEEC2, 0x9085 }, + { 0xEEC3, 0x907E }, + { 0xEEC4, 0x9138 }, + { 0xEEC5, 0x919A }, + { 0xEEC6, 0x91A2 }, + { 0xEEC7, 0x919B }, + { 0xEEC8, 0x9199 }, + { 0xEEC9, 0x919F }, + { 0xEECA, 0x91A1 }, + { 0xEECB, 0x919D }, + { 0xEECC, 0x91A0 }, + { 0xEECD, 0x93A1 }, + { 0xEECE, 0x9383 }, + { 0xEECF, 0x93AF }, + { 0xEED0, 0x9364 }, + { 0xEED1, 0x9356 }, + { 0xEED2, 0x9347 }, + { 0xEED3, 0x937C }, + { 0xEED4, 0x9358 }, + { 0xEED5, 0x935C }, + { 0xEED6, 0x9376 }, + { 0xEED7, 0x9349 }, + { 0xEED8, 0x9350 }, + { 0xEED9, 0x9351 }, + { 0xEEDA, 0x9360 }, + { 0xEEDB, 0x936D }, + { 0xEEDC, 0x938F }, + { 0xEEDD, 0x934C }, + { 0xEEDE, 0x936A }, + { 0xEEDF, 0x9379 }, + { 0xEEE0, 0x9357 }, + { 0xEEE1, 0x9355 }, + { 0xEEE2, 0x9352 }, + { 0xEEE3, 0x934F }, + { 0xEEE4, 0x9371 }, + { 0xEEE5, 0x9377 }, + { 0xEEE6, 0x937B }, + { 0xEEE7, 0x9361 }, + { 0xEEE8, 0x935E }, + { 0xEEE9, 0x9363 }, + { 0xEEEA, 0x9367 }, + { 0xEEEB, 0x9380 }, + { 0xEEEC, 0x934E }, - { 0xEEED, 0x9359 }, - { 0xEEEE, 0x95C7 }, - { 0xEEEF, 0x95C0 }, - { 0xEEF0, 0x95C9 }, - { 0xEEF1, 0x95C3 }, - { 0xEEF2, 0x95C5 }, - { 0xEEF3, 0x95B7 }, - { 0xEEF4, 0x96AE }, - { 0xEEF5, 0x96B0 }, - { 0xEEF6, 0x96AC }, - { 0xEEF7, 0x9720 }, - { 0xEEF8, 0x971F }, - { 0xEEF9, 0x9718 }, - { 0xEEFA, 0x971D }, - { 0xEEFB, 0x9719 }, - { 0xEEFC, 0x979A }, - { 0xEEFD, 0x97A1 }, - { 0xEEFE, 0x979C }, - { 0xEF40, 0x979E }, - { 0xEF41, 0x979D }, - { 0xEF42, 0x97D5 }, - { 0xEF43, 0x97D4 }, - { 0xEF44, 0x97F1 }, - { 0xEF45, 0x9841 }, - { 0xEF46, 0x9844 }, - { 0xEF47, 0x984A }, - { 0xEF48, 0x9849 }, - { 0xEF49, 0x9845 }, - { 0xEF4A, 0x9843 }, - { 0xEF4B, 0x9925 }, - { 0xEF4C, 0x992B }, - { 0xEF4D, 0x992C }, - { 0xEF4E, 0x992A }, - { 0xEF4F, 0x9933 }, - { 0xEF50, 0x9932 }, - { 0xEF51, 0x992F }, - { 0xEF52, 0x992D }, - { 0xEF53, 0x9931 }, - { 0xEF54, 0x9930 }, - { 0xEF55, 0x9998 }, - { 0xEF56, 0x99A3 }, - { 0xEF57, 0x99A1 }, - { 0xEF58, 0x9A02 }, - { 0xEF59, 0x99FA }, - { 0xEF5A, 0x99F4 }, - { 0xEF5B, 0x99F7 }, - { 0xEF5C, 0x99F9 }, - { 0xEF5D, 0x99F8 }, - { 0xEF5E, 0x99F6 }, - { 0xEF5F, 0x99FB }, - { 0xEF60, 0x99FD }, - { 0xEF61, 0x99FE }, - { 0xEF62, 0x99FC }, - { 0xEF63, 0x9A03 }, - { 0xEF64, 0x9ABE }, - { 0xEF65, 0x9AFE }, - { 0xEF66, 0x9AFD }, - { 0xEF67, 0x9B01 }, - { 0xEF68, 0x9AFC }, - { 0xEF69, 0x9B48 }, - { 0xEF6A, 0x9B9A }, - { 0xEF6B, 0x9BA8 }, - { 0xEF6C, 0x9B9E }, - { 0xEF6D, 0x9B9B }, - { 0xEF6E, 0x9BA6 }, - { 0xEF6F, 0x9BA1 }, - { 0xEF70, 0x9BA5 }, - { 0xEF71, 0x9BA4 }, - { 0xEF72, 0x9B86 }, - { 0xEF73, 0x9BA2 }, - { 0xEF74, 0x9BA0 }, - { 0xEF75, 0x9BAF }, - { 0xEF76, 0x9D33 }, - { 0xEF77, 0x9D41 }, - { 0xEF78, 0x9D67 }, - { 0xEF79, 0x9D36 }, - { 0xEF7A, 0x9D2E }, - { 0xEF7B, 0x9D2F }, - { 0xEF7C, 0x9D31 }, - { 0xEF7D, 0x9D38 }, - { 0xEF7E, 0x9D30 }, - { 0xEFA1, 0x9D45 }, - { 0xEFA2, 0x9D42 }, - { 0xEFA3, 0x9D43 }, - { 0xEFA4, 0x9D3E }, - { 0xEFA5, 0x9D37 }, - { 0xEFA6, 0x9D40 }, - { 0xEFA7, 0x9D3D }, - { 0xEFA8, 0x7FF5 }, - { 0xEFA9, 0x9D2D }, - { 0xEFAA, 0x9E8A }, - { 0xEFAB, 0x9E89 }, - { 0xEFAC, 0x9E8D }, - { 0xEFAD, 0x9EB0 }, - { 0xEFAE, 0x9EC8 }, - { 0xEFAF, 0x9EDA }, - { 0xEFB0, 0x9EFB }, - { 0xEFB1, 0x9EFF }, - { 0xEFB2, 0x9F24 }, - { 0xEFB3, 0x9F23 }, - { 0xEFB4, 0x9F22 }, - { 0xEFB5, 0x9F54 }, - { 0xEFB6, 0x9FA0 }, - { 0xEFB7, 0x5131 }, - { 0xEFB8, 0x512D }, - { 0xEFB9, 0x512E }, - { 0xEFBA, 0x5698 }, - { 0xEFBB, 0x569C }, - { 0xEFBC, 0x5697 }, - { 0xEFBD, 0x569A }, - { 0xEFBE, 0x569D }, - { 0xEFBF, 0x5699 }, - { 0xEFC0, 0x5970 }, - { 0xEFC1, 0x5B3C }, - { 0xEFC2, 0x5C69 }, - { 0xEFC3, 0x5C6A }, - { 0xEFC4, 0x5DC0 }, - { 0xEFC5, 0x5E6D }, - { 0xEFC6, 0x5E6E }, - { 0xEFC7, 0x61D8 }, - { 0xEFC8, 0x61DF }, - { 0xEFC9, 0x61ED }, - { 0xEFCA, 0x61EE }, - { 0xEFCB, 0x61F1 }, - { 0xEFCC, 0x61EA }, - { 0xEFCD, 0x61F0 }, - { 0xEFCE, 0x61EB }, - { 0xEFCF, 0x61D6 }, - { 0xEFD0, 0x61E9 }, - { 0xEFD1, 0x64FF }, - { 0xEFD2, 0x6504 }, - { 0xEFD3, 0x64FD }, - { 0xEFD4, 0x64F8 }, - { 0xEFD5, 0x6501 }, - { 0xEFD6, 0x6503 }, - { 0xEFD7, 0x64FC }, - { 0xEFD8, 0x6594 }, - { 0xEFD9, 0x65DB }, - { 0xEFDA, 0x66DA }, - { 0xEFDB, 0x66DB }, - { 0xEFDC, 0x66D8 }, - { 0xEFDD, 0x6AC5 }, - { 0xEFDE, 0x6AB9 }, - { 0xEFDF, 0x6ABD }, - { 0xEFE0, 0x6AE1 }, - { 0xEFE1, 0x6AC6 }, - { 0xEFE2, 0x6ABA }, - { 0xEFE3, 0x6AB6 }, - { 0xEFE4, 0x6AB7 }, - { 0xEFE5, 0x6AC7 }, - { 0xEFE6, 0x6AB4 }, - { 0xEFE7, 0x6AAD }, - { 0xEFE8, 0x6B5E }, - { 0xEFE9, 0x6BC9 }, - { 0xEFEA, 0x6C0B }, - { 0xEFEB, 0x7007 }, - { 0xEFEC, 0x700C }, - { 0xEFED, 0x700D }, - { 0xEFEE, 0x7001 }, - { 0xEFEF, 0x7005 }, - { 0xEFF0, 0x7014 }, - { 0xEFF1, 0x700E }, - { 0xEFF2, 0x6FFF }, - { 0xEFF3, 0x7000 }, - { 0xEFF4, 0x6FFB }, - { 0xEFF5, 0x7026 }, - { 0xEFF6, 0x6FFC }, - { 0xEFF7, 0x6FF7 }, - { 0xEFF8, 0x700A }, - { 0xEFF9, 0x7201 }, - { 0xEFFA, 0x71FF }, - { 0xEFFB, 0x71F9 }, - { 0xEFFC, 0x7203 }, - { 0xEFFD, 0x71FD }, - { 0xEFFE, 0x7376 }, - { 0xF040, 0x74B8 }, - { 0xF041, 0x74C0 }, - { 0xF042, 0x74B5 }, - { 0xF043, 0x74C1 }, - { 0xF044, 0x74BE }, - { 0xF045, 0x74B6 }, - { 0xF046, 0x74BB }, - { 0xF047, 0x74C2 }, - { 0xF048, 0x7514 }, - { 0xF049, 0x7513 }, - { 0xF04A, 0x765C }, - { 0xF04B, 0x7664 }, - { 0xF04C, 0x7659 }, - { 0xF04D, 0x7650 }, - { 0xF04E, 0x7653 }, - { 0xF04F, 0x7657 }, - { 0xF050, 0x765A }, - { 0xF051, 0x76A6 }, - { 0xF052, 0x76BD }, - { 0xF053, 0x76EC }, - { 0xF054, 0x77C2 }, - { 0xF055, 0x77BA }, - { 0xF056, 0x78FF }, - { 0xF057, 0x790C }, - { 0xF058, 0x7913 }, - { 0xF059, 0x7914 }, - { 0xF05A, 0x7909 }, - { 0xF05B, 0x7910 }, - { 0xF05C, 0x7912 }, - { 0xF05D, 0x7911 }, - { 0xF05E, 0x79AD }, - { 0xF05F, 0x79AC }, - { 0xF060, 0x7A5F }, - { 0xF061, 0x7C1C }, - { 0xF062, 0x7C29 }, - { 0xF063, 0x7C19 }, - { 0xF064, 0x7C20 }, - { 0xF065, 0x7C1F }, - { 0xF066, 0x7C2D }, - { 0xF067, 0x7C1D }, - { 0xF068, 0x7C26 }, - { 0xF069, 0x7C28 }, - { 0xF06A, 0x7C22 }, - { 0xF06B, 0x7C25 }, - { 0xF06C, 0x7C30 }, - { 0xF06D, 0x7E5C }, - { 0xF06E, 0x7E50 }, - { 0xF06F, 0x7E56 }, - { 0xF070, 0x7E63 }, - { 0xF071, 0x7E58 }, - { 0xF072, 0x7E62 }, - { 0xF073, 0x7E5F }, - { 0xF074, 0x7E51 }, - { 0xF075, 0x7E60 }, - { 0xF076, 0x7E57 }, - { 0xF077, 0x7E53 }, - { 0xF078, 0x7FB5 }, - { 0xF079, 0x7FB3 }, - { 0xF07A, 0x7FF7 }, - { 0xF07B, 0x7FF8 }, - { 0xF07C, 0x8075 }, - { 0xF07D, 0x81D1 }, - { 0xF07E, 0x81D2 }, - { 0xF0A1, 0x81D0 }, - { 0xF0A2, 0x825F }, - { 0xF0A3, 0x825E }, - { 0xF0A4, 0x85B4 }, - { 0xF0A5, 0x85C6 }, - { 0xF0A6, 0x85C0 }, - { 0xF0A7, 0x85C3 }, - { 0xF0A8, 0x85C2 }, - { 0xF0A9, 0x85B3 }, - { 0xF0AA, 0x85B5 }, - { 0xF0AB, 0x85BD }, - { 0xF0AC, 0x85C7 }, - { 0xF0AD, 0x85C4 }, - { 0xF0AE, 0x85BF }, - { 0xF0AF, 0x85CB }, - { 0xF0B0, 0x85CE }, - { 0xF0B1, 0x85C8 }, - { 0xF0B2, 0x85C5 }, - { 0xF0B3, 0x85B1 }, - { 0xF0B4, 0x85B6 }, - { 0xF0B5, 0x85D2 }, - { 0xF0B6, 0x8624 }, - { 0xF0B7, 0x85B8 }, - { 0xF0B8, 0x85B7 }, - { 0xF0B9, 0x85BE }, - { 0xF0BA, 0x8669 }, - { 0xF0BB, 0x87E7 }, - { 0xF0BC, 0x87E6 }, - { 0xF0BD, 0x87E2 }, - { 0xF0BE, 0x87DB }, - { 0xF0BF, 0x87EB }, - { 0xF0C0, 0x87EA }, - { 0xF0C1, 0x87E5 }, - { 0xF0C2, 0x87DF }, - { 0xF0C3, 0x87F3 }, - { 0xF0C4, 0x87E4 }, - { 0xF0C5, 0x87D4 }, - { 0xF0C6, 0x87DC }, - { 0xF0C7, 0x87D3 }, - { 0xF0C8, 0x87ED }, - { 0xF0C9, 0x87D8 }, - { 0xF0CA, 0x87E3 }, - { 0xF0CB, 0x87A4 }, - { 0xF0CC, 0x87D7 }, - { 0xF0CD, 0x87D9 }, - { 0xF0CE, 0x8801 }, - { 0xF0CF, 0x87F4 }, - { 0xF0D0, 0x87E8 }, - { 0xF0D1, 0x87DD }, - { 0xF0D2, 0x8953 }, - { 0xF0D3, 0x894B }, - { 0xF0D4, 0x894F }, - { 0xF0D5, 0x894C }, - { 0xF0D6, 0x8946 }, - { 0xF0D7, 0x8950 }, - { 0xF0D8, 0x8951 }, - { 0xF0D9, 0x8949 }, - { 0xF0DA, 0x8B2A }, - { 0xF0DB, 0x8B27 }, - { 0xF0DC, 0x8B23 }, - { 0xF0DD, 0x8B33 }, - { 0xF0DE, 0x8B30 }, - { 0xF0DF, 0x8B35 }, - { 0xF0E0, 0x8B47 }, - { 0xF0E1, 0x8B2F }, - { 0xF0E2, 0x8B3C }, - { 0xF0E3, 0x8B3E }, - { 0xF0E4, 0x8B31 }, - { 0xF0E5, 0x8B25 }, - { 0xF0E6, 0x8B37 }, - { 0xF0E7, 0x8B26 }, - { 0xF0E8, 0x8B36 }, - { 0xF0E9, 0x8B2E }, - { 0xF0EA, 0x8B24 }, - { 0xF0EB, 0x8B3B }, - { 0xF0EC, 0x8B3D }, - { 0xF0ED, 0x8B3A }, - { 0xF0EE, 0x8C42 }, - { 0xF0EF, 0x8C75 }, - { 0xF0F0, 0x8C99 }, - { 0xF0F1, 0x8C98 }, - { 0xF0F2, 0x8C97 }, - { 0xF0F3, 0x8CFE }, - { 0xF0F4, 0x8D04 }, - { 0xF0F5, 0x8D02 }, - { 0xF0F6, 0x8D00 }, - { 0xF0F7, 0x8E5C }, - { 0xF0F8, 0x8E62 }, - { 0xF0F9, 0x8E60 }, - { 0xF0FA, 0x8E57 }, - { 0xF0FB, 0x8E56 }, - { 0xF0FC, 0x8E5E }, - { 0xF0FD, 0x8E65 }, - { 0xF0FE, 0x8E67 }, - { 0xF140, 0x8E5B }, - { 0xF141, 0x8E5A }, - { 0xF142, 0x8E61 }, - { 0xF143, 0x8E5D }, - { 0xF144, 0x8E69 }, - { 0xF145, 0x8E54 }, - { 0xF146, 0x8F46 }, - { 0xF147, 0x8F47 }, - { 0xF148, 0x8F48 }, - { 0xF149, 0x8F4B }, - { 0xF14A, 0x9128 }, - { 0xF14B, 0x913A }, - { 0xF14C, 0x913B }, - { 0xF14D, 0x913E }, - { 0xF14E, 0x91A8 }, - { 0xF14F, 0x91A5 }, - { 0xF150, 0x91A7 }, - { 0xF151, 0x91AF }, - { 0xF152, 0x91AA }, - { 0xF153, 0x93B5 }, - { 0xF154, 0x938C }, - { 0xF155, 0x9392 }, - { 0xF156, 0x93B7 }, - { 0xF157, 0x939B }, - { 0xF158, 0x939D }, - { 0xF159, 0x9389 }, - { 0xF15A, 0x93A7 }, - { 0xF15B, 0x938E }, - { 0xF15C, 0x93AA }, - { 0xF15D, 0x939E }, - { 0xF15E, 0x93A6 }, - { 0xF15F, 0x9395 }, - { 0xF160, 0x9388 }, - { 0xF161, 0x9399 }, - { 0xF162, 0x939F }, - { 0xF163, 0x938D }, - { 0xF164, 0x93B1 }, - { 0xF165, 0x9391 }, - { 0xF166, 0x93B2 }, - { 0xF167, 0x93A4 }, - { 0xF168, 0x93A8 }, - { 0xF169, 0x93B4 }, - { 0xF16A, 0x93A3 }, - { 0xF16B, 0x93A5 }, - { 0xF16C, 0x95D2 }, - { 0xF16D, 0x95D3 }, - { 0xF16E, 0x95D1 }, - { 0xF16F, 0x96B3 }, - { 0xF170, 0x96D7 }, - { 0xF171, 0x96DA }, - { 0xF172, 0x5DC2 }, - { 0xF173, 0x96DF }, - { 0xF174, 0x96D8 }, - { 0xF175, 0x96DD }, - { 0xF176, 0x9723 }, - { 0xF177, 0x9722 }, - { 0xF178, 0x9725 }, - { 0xF179, 0x97AC }, - { 0xF17A, 0x97AE }, - { 0xF17B, 0x97A8 }, - { 0xF17C, 0x97AB }, - { 0xF17D, 0x97A4 }, - { 0xF17E, 0x97AA }, - { 0xF1A1, 0x97A2 }, - { 0xF1A2, 0x97A5 }, - { 0xF1A3, 0x97D7 }, - { 0xF1A4, 0x97D9 }, - { 0xF1A5, 0x97D6 }, - { 0xF1A6, 0x97D8 }, - { 0xF1A7, 0x97FA }, - { 0xF1A8, 0x9850 }, - { 0xF1A9, 0x9851 }, - { 0xF1AA, 0x9852 }, - { 0xF1AB, 0x98B8 }, - { 0xF1AC, 0x9941 }, - { 0xF1AD, 0x993C }, - { 0xF1AE, 0x993A }, - { 0xF1AF, 0x9A0F }, - { 0xF1B0, 0x9A0B }, - { 0xF1B1, 0x9A09 }, - { 0xF1B2, 0x9A0D }, - { 0xF1B3, 0x9A04 }, - { 0xF1B4, 0x9A11 }, - { 0xF1B5, 0x9A0A }, - { 0xF1B6, 0x9A05 }, - { 0xF1B7, 0x9A07 }, - { 0xF1B8, 0x9A06 }, - { 0xF1B9, 0x9AC0 }, - { 0xF1BA, 0x9ADC }, - { 0xF1BB, 0x9B08 }, - { 0xF1BC, 0x9B04 }, - { 0xF1BD, 0x9B05 }, - { 0xF1BE, 0x9B29 }, - { 0xF1BF, 0x9B35 }, - { 0xF1C0, 0x9B4A }, - { 0xF1C1, 0x9B4C }, - { 0xF1C2, 0x9B4B }, - { 0xF1C3, 0x9BC7 }, - { 0xF1C4, 0x9BC6 }, - { 0xF1C5, 0x9BC3 }, - { 0xF1C6, 0x9BBF }, - { 0xF1C7, 0x9BC1 }, - { 0xF1C8, 0x9BB5 }, - { 0xF1C9, 0x9BB8 }, - { 0xF1CA, 0x9BD3 }, - { 0xF1CB, 0x9BB6 }, - { 0xF1CC, 0x9BC4 }, - { 0xF1CD, 0x9BB9 }, - { 0xF1CE, 0x9BBD }, - { 0xF1CF, 0x9D5C }, - { 0xF1D0, 0x9D53 }, - { 0xF1D1, 0x9D4F }, - { 0xF1D2, 0x9D4A }, - { 0xF1D3, 0x9D5B }, - { 0xF1D4, 0x9D4B }, - { 0xF1D5, 0x9D59 }, - { 0xF1D6, 0x9D56 }, - { 0xF1D7, 0x9D4C }, - { 0xF1D8, 0x9D57 }, - { 0xF1D9, 0x9D52 }, - { 0xF1DA, 0x9D54 }, - { 0xF1DB, 0x9D5F }, - { 0xF1DC, 0x9D58 }, - { 0xF1DD, 0x9D5A }, - { 0xF1DE, 0x9E8E }, - { 0xF1DF, 0x9E8C }, - { 0xF1E0, 0x9EDF }, - { 0xF1E1, 0x9F01 }, - { 0xF1E2, 0x9F00 }, - { 0xF1E3, 0x9F16 }, - { 0xF1E4, 0x9F25 }, - { 0xF1E5, 0x9F2B }, - { 0xF1E6, 0x9F2A }, - { 0xF1E7, 0x9F29 }, - { 0xF1E8, 0x9F28 }, - { 0xF1E9, 0x9F4C }, - { 0xF1EA, 0x9F55 }, - { 0xF1EB, 0x5134 }, - { 0xF1EC, 0x5135 }, - { 0xF1ED, 0x5296 }, - { 0xF1EE, 0x52F7 }, - { 0xF1EF, 0x53B4 }, - { 0xF1F0, 0x56AB }, - { 0xF1F1, 0x56AD }, - { 0xF1F2, 0x56A6 }, - { 0xF1F3, 0x56A7 }, - { 0xF1F4, 0x56AA }, - { 0xF1F5, 0x56AC }, - { 0xF1F6, 0x58DA }, - { 0xF1F7, 0x58DD }, - { 0xF1F8, 0x58DB }, - { 0xF1F9, 0x5912 }, - { 0xF1FA, 0x5B3D }, - { 0xF1FB, 0x5B3E }, - { 0xF1FC, 0x5B3F }, - { 0xF1FD, 0x5DC3 }, - { 0xF1FE, 0x5E70 }, - { 0xF240, 0x5FBF }, - { 0xF241, 0x61FB }, - { 0xF242, 0x6507 }, - { 0xF243, 0x6510 }, - { 0xF244, 0x650D }, - { 0xF245, 0x6509 }, - { 0xF246, 0x650C }, - { 0xF247, 0x650E }, - { 0xF248, 0x6584 }, - { 0xF249, 0x65DE }, - { 0xF24A, 0x65DD }, - { 0xF24B, 0x66DE }, - { 0xF24C, 0x6AE7 }, - { 0xF24D, 0x6AE0 }, - { 0xF24E, 0x6ACC }, - { 0xF24F, 0x6AD1 }, - { 0xF250, 0x6AD9 }, - { 0xF251, 0x6ACB }, - { 0xF252, 0x6ADF }, - { 0xF253, 0x6ADC }, - { 0xF254, 0x6AD0 }, - { 0xF255, 0x6AEB }, - { 0xF256, 0x6ACF }, - { 0xF257, 0x6ACD }, - { 0xF258, 0x6ADE }, - { 0xF259, 0x6B60 }, - { 0xF25A, 0x6BB0 }, - { 0xF25B, 0x6C0C }, - { 0xF25C, 0x7019 }, - { 0xF25D, 0x7027 }, - { 0xF25E, 0x7020 }, - { 0xF25F, 0x7016 }, - { 0xF260, 0x702B }, - { 0xF261, 0x7021 }, - { 0xF262, 0x7022 }, - { 0xF263, 0x7023 }, - { 0xF264, 0x7029 }, - { 0xF265, 0x7017 }, - { 0xF266, 0x7024 }, - { 0xF267, 0x701C }, - { 0xF268, 0x702A }, - { 0xF269, 0x720C }, - { 0xF26A, 0x720A }, - { 0xF26B, 0x7207 }, - { 0xF26C, 0x7202 }, - { 0xF26D, 0x7205 }, - { 0xF26E, 0x72A5 }, - { 0xF26F, 0x72A6 }, - { 0xF270, 0x72A4 }, - { 0xF271, 0x72A3 }, - { 0xF272, 0x72A1 }, - { 0xF273, 0x74CB }, - { 0xF274, 0x74C5 }, - { 0xF275, 0x74B7 }, - { 0xF276, 0x74C3 }, - { 0xF277, 0x7516 }, - { 0xF278, 0x7660 }, - { 0xF279, 0x77C9 }, - { 0xF27A, 0x77CA }, - { 0xF27B, 0x77C4 }, - { 0xF27C, 0x77F1 }, - { 0xF27D, 0x791D }, - { 0xF27E, 0x791B }, - { 0xF2A1, 0x7921 }, - { 0xF2A2, 0x791C }, - { 0xF2A3, 0x7917 }, - { 0xF2A4, 0x791E }, - { 0xF2A5, 0x79B0 }, - { 0xF2A6, 0x7A67 }, - { 0xF2A7, 0x7A68 }, - { 0xF2A8, 0x7C33 }, - { 0xF2A9, 0x7C3C }, - { 0xF2AA, 0x7C39 }, - { 0xF2AB, 0x7C2C }, - { 0xF2AC, 0x7C3B }, - { 0xF2AD, 0x7CEC }, - { 0xF2AE, 0x7CEA }, - { 0xF2AF, 0x7E76 }, - { 0xF2B0, 0x7E75 }, - { 0xF2B1, 0x7E78 }, - { 0xF2B2, 0x7E70 }, - { 0xF2B3, 0x7E77 }, - { 0xF2B4, 0x7E6F }, - { 0xF2B5, 0x7E7A }, - { 0xF2B6, 0x7E72 }, - { 0xF2B7, 0x7E74 }, - { 0xF2B8, 0x7E68 }, - { 0xF2B9, 0x7F4B }, - { 0xF2BA, 0x7F4A }, - { 0xF2BB, 0x7F83 }, - { 0xF2BC, 0x7F86 }, - { 0xF2BD, 0x7FB7 }, - { 0xF2BE, 0x7FFD }, - { 0xF2BF, 0x7FFE }, - { 0xF2C0, 0x8078 }, - { 0xF2C1, 0x81D7 }, - { 0xF2C2, 0x81D5 }, - { 0xF2C3, 0x8264 }, - { 0xF2C4, 0x8261 }, - { 0xF2C5, 0x8263 }, - { 0xF2C6, 0x85EB }, - { 0xF2C7, 0x85F1 }, - { 0xF2C8, 0x85ED }, - { 0xF2C9, 0x85D9 }, - { 0xF2CA, 0x85E1 }, - { 0xF2CB, 0x85E8 }, - { 0xF2CC, 0x85DA }, - { 0xF2CD, 0x85D7 }, - { 0xF2CE, 0x85EC }, - { 0xF2CF, 0x85F2 }, - { 0xF2D0, 0x85F8 }, - { 0xF2D1, 0x85D8 }, - { 0xF2D2, 0x85DF }, - { 0xF2D3, 0x85E3 }, - { 0xF2D4, 0x85DC }, - { 0xF2D5, 0x85D1 }, - { 0xF2D6, 0x85F0 }, - { 0xF2D7, 0x85E6 }, - { 0xF2D8, 0x85EF }, - { 0xF2D9, 0x85DE }, - { 0xF2DA, 0x85E2 }, - { 0xF2DB, 0x8800 }, - { 0xF2DC, 0x87FA }, - { 0xF2DD, 0x8803 }, - { 0xF2DE, 0x87F6 }, - { 0xF2DF, 0x87F7 }, - { 0xF2E0, 0x8809 }, - { 0xF2E1, 0x880C }, - { 0xF2E2, 0x880B }, - { 0xF2E3, 0x8806 }, - { 0xF2E4, 0x87FC }, - { 0xF2E5, 0x8808 }, - { 0xF2E6, 0x87FF }, - { 0xF2E7, 0x880A }, - { 0xF2E8, 0x8802 }, - { 0xF2E9, 0x8962 }, - { 0xF2EA, 0x895A }, - { 0xF2EB, 0x895B }, - { 0xF2EC, 0x8957 }, - { 0xF2ED, 0x8961 }, - { 0xF2EE, 0x895C }, - { 0xF2EF, 0x8958 }, - { 0xF2F0, 0x895D }, - { 0xF2F1, 0x8959 }, - { 0xF2F2, 0x8988 }, - { 0xF2F3, 0x89B7 }, - { 0xF2F4, 0x89B6 }, - { 0xF2F5, 0x89F6 }, - { 0xF2F6, 0x8B50 }, - { 0xF2F7, 0x8B48 }, - { 0xF2F8, 0x8B4A }, - { 0xF2F9, 0x8B40 }, - { 0xF2FA, 0x8B53 }, - { 0xF2FB, 0x8B56 }, - { 0xF2FC, 0x8B54 }, - { 0xF2FD, 0x8B4B }, - { 0xF2FE, 0x8B55 }, - { 0xF340, 0x8B51 }, - { 0xF341, 0x8B42 }, - { 0xF342, 0x8B52 }, - { 0xF343, 0x8B57 }, - { 0xF344, 0x8C43 }, - { 0xF345, 0x8C77 }, - { 0xF346, 0x8C76 }, - { 0xF347, 0x8C9A }, - { 0xF348, 0x8D06 }, - { 0xF349, 0x8D07 }, - { 0xF34A, 0x8D09 }, - { 0xF34B, 0x8DAC }, - { 0xF34C, 0x8DAA }, - { 0xF34D, 0x8DAD }, - { 0xF34E, 0x8DAB }, - { 0xF34F, 0x8E6D }, - { 0xF350, 0x8E78 }, - { 0xF351, 0x8E73 }, - { 0xF352, 0x8E6A }, - { 0xF353, 0x8E6F }, - { 0xF354, 0x8E7B }, - { 0xF355, 0x8EC2 }, - { 0xF356, 0x8F52 }, - { 0xF357, 0x8F51 }, - { 0xF358, 0x8F4F }, - { 0xF359, 0x8F50 }, - { 0xF35A, 0x8F53 }, - { 0xF35B, 0x8FB4 }, - { 0xF35C, 0x9140 }, - { 0xF35D, 0x913F }, - { 0xF35E, 0x91B0 }, - { 0xF35F, 0x91AD }, - { 0xF360, 0x93DE }, - { 0xF361, 0x93C7 }, - { 0xF362, 0x93CF }, - { 0xF363, 0x93C2 }, - { 0xF364, 0x93DA }, - { 0xF365, 0x93D0 }, - { 0xF366, 0x93F9 }, - { 0xF367, 0x93EC }, - { 0xF368, 0x93CC }, - { 0xF369, 0x93D9 }, - { 0xF36A, 0x93A9 }, - { 0xF36B, 0x93E6 }, - { 0xF36C, 0x93CA }, - { 0xF36D, 0x93D4 }, - { 0xF36E, 0x93EE }, - { 0xF36F, 0x93E3 }, - { 0xF370, 0x93D5 }, - { 0xF371, 0x93C4 }, - { 0xF372, 0x93CE }, - { 0xF373, 0x93C0 }, - { 0xF374, 0x93D2 }, - { 0xF375, 0x93E7 }, - { 0xF376, 0x957D }, - { 0xF377, 0x95DA }, - { 0xF378, 0x95DB }, - { 0xF379, 0x96E1 }, - { 0xF37A, 0x9729 }, - { 0xF37B, 0x972B }, - { 0xF37C, 0x972C }, - { 0xF37D, 0x9728 }, - { 0xF37E, 0x9726 }, - { 0xF3A1, 0x97B3 }, - { 0xF3A2, 0x97B7 }, - { 0xF3A3, 0x97B6 }, - { 0xF3A4, 0x97DD }, - { 0xF3A5, 0x97DE }, - { 0xF3A6, 0x97DF }, - { 0xF3A7, 0x985C }, - { 0xF3A8, 0x9859 }, - { 0xF3A9, 0x985D }, - { 0xF3AA, 0x9857 }, - { 0xF3AB, 0x98BF }, - { 0xF3AC, 0x98BD }, - { 0xF3AD, 0x98BB }, - { 0xF3AE, 0x98BE }, - { 0xF3AF, 0x9948 }, - { 0xF3B0, 0x9947 }, - { 0xF3B1, 0x9943 }, - { 0xF3B2, 0x99A6 }, - { 0xF3B3, 0x99A7 }, - { 0xF3B4, 0x9A1A }, - { 0xF3B5, 0x9A15 }, - { 0xF3B6, 0x9A25 }, - { 0xF3B7, 0x9A1D }, - { 0xF3B8, 0x9A24 }, - { 0xF3B9, 0x9A1B }, - { 0xF3BA, 0x9A22 }, - { 0xF3BB, 0x9A20 }, - { 0xF3BC, 0x9A27 }, - { 0xF3BD, 0x9A23 }, - { 0xF3BE, 0x9A1E }, - { 0xF3BF, 0x9A1C }, - { 0xF3C0, 0x9A14 }, - { 0xF3C1, 0x9AC2 }, - { 0xF3C2, 0x9B0B }, - { 0xF3C3, 0x9B0A }, - { 0xF3C4, 0x9B0E }, - { 0xF3C5, 0x9B0C }, - { 0xF3C6, 0x9B37 }, - { 0xF3C7, 0x9BEA }, - { 0xF3C8, 0x9BEB }, - { 0xF3C9, 0x9BE0 }, - { 0xF3CA, 0x9BDE }, - { 0xF3CB, 0x9BE4 }, - { 0xF3CC, 0x9BE6 }, - { 0xF3CD, 0x9BE2 }, - { 0xF3CE, 0x9BF0 }, - { 0xF3CF, 0x9BD4 }, - { 0xF3D0, 0x9BD7 }, - { 0xF3D1, 0x9BEC }, - { 0xF3D2, 0x9BDC }, - { 0xF3D3, 0x9BD9 }, - { 0xF3D4, 0x9BE5 }, - { 0xF3D5, 0x9BD5 }, - { 0xF3D6, 0x9BE1 }, - { 0xF3D7, 0x9BDA }, - { 0xF3D8, 0x9D77 }, - { 0xF3D9, 0x9D81 }, - { 0xF3DA, 0x9D8A }, - { 0xF3DB, 0x9D84 }, - { 0xF3DC, 0x9D88 }, - { 0xF3DD, 0x9D71 }, - { 0xF3DE, 0x9D80 }, - { 0xF3DF, 0x9D78 }, - { 0xF3E0, 0x9D86 }, - { 0xF3E1, 0x9D8B }, - { 0xF3E2, 0x9D8C }, - { 0xF3E3, 0x9D7D }, - { 0xF3E4, 0x9D6B }, - { 0xF3E5, 0x9D74 }, - { 0xF3E6, 0x9D75 }, - { 0xF3E7, 0x9D70 }, - { 0xF3E8, 0x9D69 }, - { 0xF3E9, 0x9D85 }, - { 0xF3EA, 0x9D73 }, - { 0xF3EB, 0x9D7B }, - { 0xF3EC, 0x9D82 }, - { 0xF3ED, 0x9D6F }, - { 0xF3EE, 0x9D79 }, - { 0xF3EF, 0x9D7F }, - { 0xF3F0, 0x9D87 }, - { 0xF3F1, 0x9D68 }, - { 0xF3F2, 0x9E94 }, - { 0xF3F3, 0x9E91 }, - { 0xF3F4, 0x9EC0 }, - { 0xF3F5, 0x9EFC }, - { 0xF3F6, 0x9F2D }, - { 0xF3F7, 0x9F40 }, - { 0xF3F8, 0x9F41 }, - { 0xF3F9, 0x9F4D }, - { 0xF3FA, 0x9F56 }, - { 0xF3FB, 0x9F57 }, - { 0xF3FC, 0x9F58 }, - { 0xF3FD, 0x5337 }, - { 0xF3FE, 0x56B2 }, - { 0xF440, 0x56B5 }, - { 0xF441, 0x56B3 }, - { 0xF442, 0x58E3 }, - { 0xF443, 0x5B45 }, - { 0xF444, 0x5DC6 }, - { 0xF445, 0x5DC7 }, - { 0xF446, 0x5EEE }, - { 0xF447, 0x5EEF }, - { 0xF448, 0x5FC0 }, - { 0xF449, 0x5FC1 }, - { 0xF44A, 0x61F9 }, - { 0xF44B, 0x6517 }, - { 0xF44C, 0x6516 }, - { 0xF44D, 0x6515 }, - { 0xF44E, 0x6513 }, - { 0xF44F, 0x65DF }, - { 0xF450, 0x66E8 }, - { 0xF451, 0x66E3 }, - { 0xF452, 0x66E4 }, - { 0xF453, 0x6AF3 }, - { 0xF454, 0x6AF0 }, - { 0xF455, 0x6AEA }, - { 0xF456, 0x6AE8 }, - { 0xF457, 0x6AF9 }, - { 0xF458, 0x6AF1 }, - { 0xF459, 0x6AEE }, - { 0xF45A, 0x6AEF }, - { 0xF45B, 0x703C }, - { 0xF45C, 0x7035 }, - { 0xF45D, 0x702F }, - { 0xF45E, 0x7037 }, - { 0xF45F, 0x7034 }, - { 0xF460, 0x7031 }, - { 0xF461, 0x7042 }, - { 0xF462, 0x7038 }, - { 0xF463, 0x703F }, - { 0xF464, 0x703A }, - { 0xF465, 0x7039 }, - { 0xF466, 0x7040 }, - { 0xF467, 0x703B }, - { 0xF468, 0x7033 }, - { 0xF469, 0x7041 }, - { 0xF46A, 0x7213 }, - { 0xF46B, 0x7214 }, - { 0xF46C, 0x72A8 }, - { 0xF46D, 0x737D }, - { 0xF46E, 0x737C }, - { 0xF46F, 0x74BA }, - { 0xF470, 0x76AB }, - { 0xF471, 0x76AA }, - { 0xF472, 0x76BE }, - { 0xF473, 0x76ED }, - { 0xF474, 0x77CC }, - { 0xF475, 0x77CE }, - { 0xF476, 0x77CF }, - { 0xF477, 0x77CD }, - { 0xF478, 0x77F2 }, - { 0xF479, 0x7925 }, - { 0xF47A, 0x7923 }, - { 0xF47B, 0x7927 }, - { 0xF47C, 0x7928 }, - { 0xF47D, 0x7924 }, - { 0xF47E, 0x7929 }, - { 0xF4A1, 0x79B2 }, - { 0xF4A2, 0x7A6E }, - { 0xF4A3, 0x7A6C }, - { 0xF4A4, 0x7A6D }, - { 0xF4A5, 0x7AF7 }, - { 0xF4A6, 0x7C49 }, - { 0xF4A7, 0x7C48 }, - { 0xF4A8, 0x7C4A }, - { 0xF4A9, 0x7C47 }, - { 0xF4AA, 0x7C45 }, - { 0xF4AB, 0x7CEE }, - { 0xF4AC, 0x7E7B }, - { 0xF4AD, 0x7E7E }, - { 0xF4AE, 0x7E81 }, - { 0xF4AF, 0x7E80 }, - { 0xF4B0, 0x7FBA }, - { 0xF4B1, 0x7FFF }, - { 0xF4B2, 0x8079 }, - { 0xF4B3, 0x81DB }, - { 0xF4B4, 0x81D9 }, - { 0xF4B5, 0x820B }, - { 0xF4B6, 0x8268 }, - { 0xF4B7, 0x8269 }, - { 0xF4B8, 0x8622 }, - { 0xF4B9, 0x85FF }, - { 0xF4BA, 0x8601 }, - { 0xF4BB, 0x85FE }, - { 0xF4BC, 0x861B }, - { 0xF4BD, 0x8600 }, - { 0xF4BE, 0x85F6 }, - { 0xF4BF, 0x8604 }, - { 0xF4C0, 0x8609 }, - { 0xF4C1, 0x8605 }, - { 0xF4C2, 0x860C }, - { 0xF4C3, 0x85FD }, - { 0xF4C4, 0x8819 }, - { 0xF4C5, 0x8810 }, - { 0xF4C6, 0x8811 }, - { 0xF4C7, 0x8817 }, - { 0xF4C8, 0x8813 }, - { 0xF4C9, 0x8816 }, - { 0xF4CA, 0x8963 }, - { 0xF4CB, 0x8966 }, - { 0xF4CC, 0x89B9 }, - { 0xF4CD, 0x89F7 }, - { 0xF4CE, 0x8B60 }, - { 0xF4CF, 0x8B6A }, - { 0xF4D0, 0x8B5D }, - { 0xF4D1, 0x8B68 }, - { 0xF4D2, 0x8B63 }, - { 0xF4D3, 0x8B65 }, - { 0xF4D4, 0x8B67 }, - { 0xF4D5, 0x8B6D }, - { 0xF4D6, 0x8DAE }, - { 0xF4D7, 0x8E86 }, - { 0xF4D8, 0x8E88 }, - { 0xF4D9, 0x8E84 }, - { 0xF4DA, 0x8F59 }, - { 0xF4DB, 0x8F56 }, - { 0xF4DC, 0x8F57 }, - { 0xF4DD, 0x8F55 }, - { 0xF4DE, 0x8F58 }, - { 0xF4DF, 0x8F5A }, - { 0xF4E0, 0x908D }, - { 0xF4E1, 0x9143 }, - { 0xF4E2, 0x9141 }, - { 0xF4E3, 0x91B7 }, - { 0xF4E4, 0x91B5 }, - { 0xF4E5, 0x91B2 }, - { 0xF4E6, 0x91B3 }, - { 0xF4E7, 0x940B }, - { 0xF4E8, 0x9413 }, - { 0xF4E9, 0x93FB }, - { 0xF4EA, 0x9420 }, - { 0xF4EB, 0x940F }, - { 0xF4EC, 0x9414 }, - { 0xF4ED, 0x93FE }, - { 0xF4EE, 0x9415 }, - { 0xF4EF, 0x9410 }, - { 0xF4F0, 0x9428 }, - { 0xF4F1, 0x9419 }, - { 0xF4F2, 0x940D }, - { 0xF4F3, 0x93F5 }, - { 0xF4F4, 0x9400 }, - { 0xF4F5, 0x93F7 }, - { 0xF4F6, 0x9407 }, - { 0xF4F7, 0x940E }, - { 0xF4F8, 0x9416 }, - { 0xF4F9, 0x9412 }, - { 0xF4FA, 0x93FA }, - { 0xF4FB, 0x9409 }, - { 0xF4FC, 0x93F8 }, - { 0xF4FD, 0x940A }, - { 0xF4FE, 0x93FF }, - { 0xF540, 0x93FC }, - { 0xF541, 0x940C }, - { 0xF542, 0x93F6 }, - { 0xF543, 0x9411 }, - { 0xF544, 0x9406 }, - { 0xF545, 0x95DE }, - { 0xF546, 0x95E0 }, - { 0xF547, 0x95DF }, - { 0xF548, 0x972E }, - { 0xF549, 0x972F }, - { 0xF54A, 0x97B9 }, - { 0xF54B, 0x97BB }, - { 0xF54C, 0x97FD }, - { 0xF54D, 0x97FE }, - { 0xF54E, 0x9860 }, - { 0xF54F, 0x9862 }, - { 0xF550, 0x9863 }, - { 0xF551, 0x985F }, - { 0xF552, 0x98C1 }, - { 0xF553, 0x98C2 }, - { 0xF554, 0x9950 }, - { 0xF555, 0x994E }, - { 0xF556, 0x9959 }, - { 0xF557, 0x994C }, - { 0xF558, 0x994B }, - { 0xF559, 0x9953 }, - { 0xF55A, 0x9A32 }, - { 0xF55B, 0x9A34 }, - { 0xF55C, 0x9A31 }, - { 0xF55D, 0x9A2C }, - { 0xF55E, 0x9A2A }, - { 0xF55F, 0x9A36 }, - { 0xF560, 0x9A29 }, - { 0xF561, 0x9A2E }, - { 0xF562, 0x9A38 }, - { 0xF563, 0x9A2D }, - { 0xF564, 0x9AC7 }, - { 0xF565, 0x9ACA }, - { 0xF566, 0x9AC6 }, - { 0xF567, 0x9B10 }, - { 0xF568, 0x9B12 }, - { 0xF569, 0x9B11 }, - { 0xF56A, 0x9C0B }, - { 0xF56B, 0x9C08 }, - { 0xF56C, 0x9BF7 }, - { 0xF56D, 0x9C05 }, - { 0xF56E, 0x9C12 }, - { 0xF56F, 0x9BF8 }, - { 0xF570, 0x9C40 }, - { 0xF571, 0x9C07 }, - { 0xF572, 0x9C0E }, - { 0xF573, 0x9C06 }, - { 0xF574, 0x9C17 }, - { 0xF575, 0x9C14 }, - { 0xF576, 0x9C09 }, - { 0xF577, 0x9D9F }, - { 0xF578, 0x9D99 }, - { 0xF579, 0x9DA4 }, - { 0xF57A, 0x9D9D }, - { 0xF57B, 0x9D92 }, - { 0xF57C, 0x9D98 }, - { 0xF57D, 0x9D90 }, - { 0xF57E, 0x9D9B }, - { 0xF5A1, 0x9DA0 }, - { 0xF5A2, 0x9D94 }, - { 0xF5A3, 0x9D9C }, - { 0xF5A4, 0x9DAA }, - { 0xF5A5, 0x9D97 }, - { 0xF5A6, 0x9DA1 }, - { 0xF5A7, 0x9D9A }, - { 0xF5A8, 0x9DA2 }, - { 0xF5A9, 0x9DA8 }, - { 0xF5AA, 0x9D9E }, - { 0xF5AB, 0x9DA3 }, - { 0xF5AC, 0x9DBF }, - { 0xF5AD, 0x9DA9 }, - { 0xF5AE, 0x9D96 }, - { 0xF5AF, 0x9DA6 }, - { 0xF5B0, 0x9DA7 }, - { 0xF5B1, 0x9E99 }, - { 0xF5B2, 0x9E9B }, - { 0xF5B3, 0x9E9A }, - { 0xF5B4, 0x9EE5 }, - { 0xF5B5, 0x9EE4 }, - { 0xF5B6, 0x9EE7 }, - { 0xF5B7, 0x9EE6 }, - { 0xF5B8, 0x9F30 }, - { 0xF5B9, 0x9F2E }, - { 0xF5BA, 0x9F5B }, - { 0xF5BB, 0x9F60 }, - { 0xF5BC, 0x9F5E }, - { 0xF5BD, 0x9F5D }, - { 0xF5BE, 0x9F59 }, - { 0xF5BF, 0x9F91 }, - { 0xF5C0, 0x513A }, - { 0xF5C1, 0x5139 }, - { 0xF5C2, 0x5298 }, - { 0xF5C3, 0x5297 }, - { 0xF5C4, 0x56C3 }, - { 0xF5C5, 0x56BD }, - { 0xF5C6, 0x56BE }, - { 0xF5C7, 0x5B48 }, - { 0xF5C8, 0x5B47 }, - { 0xF5C9, 0x5DCB }, - { 0xF5CA, 0x5DCF }, - { 0xF5CB, 0x5EF1 }, - { 0xF5CC, 0x61FD }, - { 0xF5CD, 0x651B }, - { 0xF5CE, 0x6B02 }, - { 0xF5CF, 0x6AFC }, - { 0xF5D0, 0x6B03 }, - { 0xF5D1, 0x6AF8 }, - { 0xF5D2, 0x6B00 }, - { 0xF5D3, 0x7043 }, - { 0xF5D4, 0x7044 }, - { 0xF5D5, 0x704A }, - { 0xF5D6, 0x7048 }, - { 0xF5D7, 0x7049 }, - { 0xF5D8, 0x7045 }, - { 0xF5D9, 0x7046 }, - { 0xF5DA, 0x721D }, - { 0xF5DB, 0x721A }, - { 0xF5DC, 0x7219 }, - { 0xF5DD, 0x737E }, - { 0xF5DE, 0x7517 }, - { 0xF5DF, 0x766A }, - { 0xF5E0, 0x77D0 }, - { 0xF5E1, 0x792D }, - { 0xF5E2, 0x7931 }, - { 0xF5E3, 0x792F }, - { 0xF5E4, 0x7C54 }, - { 0xF5E5, 0x7C53 }, - { 0xF5E6, 0x7CF2 }, - { 0xF5E7, 0x7E8A }, - { 0xF5E8, 0x7E87 }, - { 0xF5E9, 0x7E88 }, - { 0xF5EA, 0x7E8B }, - { 0xF5EB, 0x7E86 }, - { 0xF5EC, 0x7E8D }, - { 0xF5ED, 0x7F4D }, - { 0xF5EE, 0x7FBB }, - { 0xF5EF, 0x8030 }, - { 0xF5F0, 0x81DD }, - { 0xF5F1, 0x8618 }, - { 0xF5F2, 0x862A }, - { 0xF5F3, 0x8626 }, - { 0xF5F4, 0x861F }, - { 0xF5F5, 0x8623 }, - { 0xF5F6, 0x861C }, - { 0xF5F7, 0x8619 }, - { 0xF5F8, 0x8627 }, - { 0xF5F9, 0x862E }, - { 0xF5FA, 0x8621 }, - { 0xF5FB, 0x8620 }, - { 0xF5FC, 0x8629 }, - { 0xF5FD, 0x861E }, - { 0xF5FE, 0x8625 }, - { 0xF640, 0x8829 }, - { 0xF641, 0x881D }, - { 0xF642, 0x881B }, - { 0xF643, 0x8820 }, - { 0xF644, 0x8824 }, - { 0xF645, 0x881C }, - { 0xF646, 0x882B }, - { 0xF647, 0x884A }, - { 0xF648, 0x896D }, - { 0xF649, 0x8969 }, - { 0xF64A, 0x896E }, - { 0xF64B, 0x896B }, - { 0xF64C, 0x89FA }, - { 0xF64D, 0x8B79 }, - { 0xF64E, 0x8B78 }, - { 0xF64F, 0x8B45 }, - { 0xF650, 0x8B7A }, - { 0xF651, 0x8B7B }, - { 0xF652, 0x8D10 }, - { 0xF653, 0x8D14 }, - { 0xF654, 0x8DAF }, - { 0xF655, 0x8E8E }, - { 0xF656, 0x8E8C }, - { 0xF657, 0x8F5E }, - { 0xF658, 0x8F5B }, - { 0xF659, 0x8F5D }, - { 0xF65A, 0x9146 }, - { 0xF65B, 0x9144 }, - { 0xF65C, 0x9145 }, - { 0xF65D, 0x91B9 }, - { 0xF65E, 0x943F }, - { 0xF65F, 0x943B }, - { 0xF660, 0x9436 }, - { 0xF661, 0x9429 }, - { 0xF662, 0x943D }, - { 0xF663, 0x943C }, - { 0xF664, 0x9430 }, - { 0xF665, 0x9439 }, - { 0xF666, 0x942A }, - { 0xF667, 0x9437 }, - { 0xF668, 0x942C }, - { 0xF669, 0x9440 }, - { 0xF66A, 0x9431 }, - { 0xF66B, 0x95E5 }, - { 0xF66C, 0x95E4 }, - { 0xF66D, 0x95E3 }, - { 0xF66E, 0x9735 }, - { 0xF66F, 0x973A }, - { 0xF670, 0x97BF }, - { 0xF671, 0x97E1 }, - { 0xF672, 0x9864 }, - { 0xF673, 0x98C9 }, - { 0xF674, 0x98C6 }, - { 0xF675, 0x98C0 }, - { 0xF676, 0x9958 }, - { 0xF677, 0x9956 }, - { 0xF678, 0x9A39 }, - { 0xF679, 0x9A3D }, - { 0xF67A, 0x9A46 }, - { 0xF67B, 0x9A44 }, - { 0xF67C, 0x9A42 }, - { 0xF67D, 0x9A41 }, - { 0xF67E, 0x9A3A }, - { 0xF6A1, 0x9A3F }, - { 0xF6A2, 0x9ACD }, - { 0xF6A3, 0x9B15 }, - { 0xF6A4, 0x9B17 }, - { 0xF6A5, 0x9B18 }, - { 0xF6A6, 0x9B16 }, - { 0xF6A7, 0x9B3A }, - { 0xF6A8, 0x9B52 }, - { 0xF6A9, 0x9C2B }, - { 0xF6AA, 0x9C1D }, - { 0xF6AB, 0x9C1C }, - { 0xF6AC, 0x9C2C }, - { 0xF6AD, 0x9C23 }, - { 0xF6AE, 0x9C28 }, - { 0xF6AF, 0x9C29 }, - { 0xF6B0, 0x9C24 }, - { 0xF6B1, 0x9C21 }, - { 0xF6B2, 0x9DB7 }, - { 0xF6B3, 0x9DB6 }, - { 0xF6B4, 0x9DBC }, - { 0xF6B5, 0x9DC1 }, - { 0xF6B6, 0x9DC7 }, - { 0xF6B7, 0x9DCA }, - { 0xF6B8, 0x9DCF }, - { 0xF6B9, 0x9DBE }, - { 0xF6BA, 0x9DC5 }, - { 0xF6BB, 0x9DC3 }, - { 0xF6BC, 0x9DBB }, - { 0xF6BD, 0x9DB5 }, - { 0xF6BE, 0x9DCE }, - { 0xF6BF, 0x9DB9 }, - { 0xF6C0, 0x9DBA }, - { 0xF6C1, 0x9DAC }, - { 0xF6C2, 0x9DC8 }, - { 0xF6C3, 0x9DB1 }, - { 0xF6C4, 0x9DAD }, - { 0xF6C5, 0x9DCC }, - { 0xF6C6, 0x9DB3 }, - { 0xF6C7, 0x9DCD }, - { 0xF6C8, 0x9DB2 }, - { 0xF6C9, 0x9E7A }, - { 0xF6CA, 0x9E9C }, - { 0xF6CB, 0x9EEB }, - { 0xF6CC, 0x9EEE }, - { 0xF6CD, 0x9EED }, - { 0xF6CE, 0x9F1B }, - { 0xF6CF, 0x9F18 }, - { 0xF6D0, 0x9F1A }, - { 0xF6D1, 0x9F31 }, - { 0xF6D2, 0x9F4E }, - { 0xF6D3, 0x9F65 }, - { 0xF6D4, 0x9F64 }, - { 0xF6D5, 0x9F92 }, - { 0xF6D6, 0x4EB9 }, - { 0xF6D7, 0x56C6 }, - { 0xF6D8, 0x56C5 }, - { 0xF6D9, 0x56CB }, - { 0xF6DA, 0x5971 }, - { 0xF6DB, 0x5B4B }, - { 0xF6DC, 0x5B4C }, - { 0xF6DD, 0x5DD5 }, - { 0xF6DE, 0x5DD1 }, - { 0xF6DF, 0x5EF2 }, - { 0xF6E0, 0x6521 }, - { 0xF6E1, 0x6520 }, - { 0xF6E2, 0x6526 }, - { 0xF6E3, 0x6522 }, - { 0xF6E4, 0x6B0B }, - { 0xF6E5, 0x6B08 }, - { 0xF6E6, 0x6B09 }, - { 0xF6E7, 0x6C0D }, - { 0xF6E8, 0x7055 }, - { 0xF6E9, 0x7056 }, - { 0xF6EA, 0x7057 }, - { 0xF6EB, 0x7052 }, - { 0xF6EC, 0x721E }, - { 0xF6ED, 0x721F }, - { 0xF6EE, 0x72A9 }, - { 0xF6EF, 0x737F }, - { 0xF6F0, 0x74D8 }, - { 0xF6F1, 0x74D5 }, - { 0xF6F2, 0x74D9 }, - { 0xF6F3, 0x74D7 }, - { 0xF6F4, 0x766D }, - { 0xF6F5, 0x76AD }, - { 0xF6F6, 0x7935 }, - { 0xF6F7, 0x79B4 }, - { 0xF6F8, 0x7A70 }, - { 0xF6F9, 0x7A71 }, - { 0xF6FA, 0x7C57 }, - { 0xF6FB, 0x7C5C }, - { 0xF6FC, 0x7C59 }, - { 0xF6FD, 0x7C5B }, - { 0xF6FE, 0x7C5A }, - { 0xF740, 0x7CF4 }, - { 0xF741, 0x7CF1 }, - { 0xF742, 0x7E91 }, - { 0xF743, 0x7F4F }, - { 0xF744, 0x7F87 }, - { 0xF745, 0x81DE }, - { 0xF746, 0x826B }, - { 0xF747, 0x8634 }, - { 0xF748, 0x8635 }, - { 0xF749, 0x8633 }, - { 0xF74A, 0x862C }, - { 0xF74B, 0x8632 }, - { 0xF74C, 0x8636 }, - { 0xF74D, 0x882C }, - { 0xF74E, 0x8828 }, - { 0xF74F, 0x8826 }, - { 0xF750, 0x882A }, - { 0xF751, 0x8825 }, - { 0xF752, 0x8971 }, - { 0xF753, 0x89BF }, - { 0xF754, 0x89BE }, - { 0xF755, 0x89FB }, - { 0xF756, 0x8B7E }, - { 0xF757, 0x8B84 }, - { 0xF758, 0x8B82 }, - { 0xF759, 0x8B86 }, - { 0xF75A, 0x8B85 }, - { 0xF75B, 0x8B7F }, - { 0xF75C, 0x8D15 }, - { 0xF75D, 0x8E95 }, - { 0xF75E, 0x8E94 }, - { 0xF75F, 0x8E9A }, - { 0xF760, 0x8E92 }, - { 0xF761, 0x8E90 }, - { 0xF762, 0x8E96 }, - { 0xF763, 0x8E97 }, - { 0xF764, 0x8F60 }, - { 0xF765, 0x8F62 }, - { 0xF766, 0x9147 }, - { 0xF767, 0x944C }, - { 0xF768, 0x9450 }, - { 0xF769, 0x944A }, - { 0xF76A, 0x944B }, - { 0xF76B, 0x944F }, - { 0xF76C, 0x9447 }, - { 0xF76D, 0x9445 }, - { 0xF76E, 0x9448 }, - { 0xF76F, 0x9449 }, - { 0xF770, 0x9446 }, - { 0xF771, 0x973F }, - { 0xF772, 0x97E3 }, - { 0xF773, 0x986A }, - { 0xF774, 0x9869 }, - { 0xF775, 0x98CB }, - { 0xF776, 0x9954 }, - { 0xF777, 0x995B }, - { 0xF778, 0x9A4E }, - { 0xF779, 0x9A53 }, - { 0xF77A, 0x9A54 }, - { 0xF77B, 0x9A4C }, - { 0xF77C, 0x9A4F }, - { 0xF77D, 0x9A48 }, - { 0xF77E, 0x9A4A }, - { 0xF7A1, 0x9A49 }, - { 0xF7A2, 0x9A52 }, - { 0xF7A3, 0x9A50 }, - { 0xF7A4, 0x9AD0 }, - { 0xF7A5, 0x9B19 }, - { 0xF7A6, 0x9B2B }, - { 0xF7A7, 0x9B3B }, - { 0xF7A8, 0x9B56 }, - { 0xF7A9, 0x9B55 }, - { 0xF7AA, 0x9C46 }, - { 0xF7AB, 0x9C48 }, - { 0xF7AC, 0x9C3F }, - { 0xF7AD, 0x9C44 }, - { 0xF7AE, 0x9C39 }, - { 0xF7AF, 0x9C33 }, - { 0xF7B0, 0x9C41 }, - { 0xF7B1, 0x9C3C }, - { 0xF7B2, 0x9C37 }, - { 0xF7B3, 0x9C34 }, - { 0xF7B4, 0x9C32 }, - { 0xF7B5, 0x9C3D }, - { 0xF7B6, 0x9C36 }, - { 0xF7B7, 0x9DDB }, - { 0xF7B8, 0x9DD2 }, - { 0xF7B9, 0x9DDE }, - { 0xF7BA, 0x9DDA }, - { 0xF7BB, 0x9DCB }, - { 0xF7BC, 0x9DD0 }, - { 0xF7BD, 0x9DDC }, - { 0xF7BE, 0x9DD1 }, - { 0xF7BF, 0x9DDF }, - { 0xF7C0, 0x9DE9 }, - { 0xF7C1, 0x9DD9 }, - { 0xF7C2, 0x9DD8 }, - { 0xF7C3, 0x9DD6 }, - { 0xF7C4, 0x9DF5 }, - { 0xF7C5, 0x9DD5 }, - { 0xF7C6, 0x9DDD }, - { 0xF7C7, 0x9EB6 }, - { 0xF7C8, 0x9EF0 }, - { 0xF7C9, 0x9F35 }, - { 0xF7CA, 0x9F33 }, - { 0xF7CB, 0x9F32 }, - { 0xF7CC, 0x9F42 }, - { 0xF7CD, 0x9F6B }, - { 0xF7CE, 0x9F95 }, - { 0xF7CF, 0x9FA2 }, - { 0xF7D0, 0x513D }, - { 0xF7D1, 0x5299 }, - { 0xF7D2, 0x58E8 }, - { 0xF7D3, 0x58E7 }, - { 0xF7D4, 0x5972 }, - { 0xF7D5, 0x5B4D }, - { 0xF7D6, 0x5DD8 }, - { 0xF7D7, 0x882F }, - { 0xF7D8, 0x5F4F }, - { 0xF7D9, 0x6201 }, - { 0xF7DA, 0x6203 }, - { 0xF7DB, 0x6204 }, - { 0xF7DC, 0x6529 }, - { 0xF7DD, 0x6525 }, - { 0xF7DE, 0x6596 }, - { 0xF7DF, 0x66EB }, - { 0xF7E0, 0x6B11 }, - { 0xF7E1, 0x6B12 }, - { 0xF7E2, 0x6B0F }, - { 0xF7E3, 0x6BCA }, - { 0xF7E4, 0x705B }, - { 0xF7E5, 0x705A }, - { 0xF7E6, 0x7222 }, - { 0xF7E7, 0x7382 }, - { 0xF7E8, 0x7381 }, - { 0xF7E9, 0x7383 }, - { 0xF7EA, 0x7670 }, - { 0xF7EB, 0x77D4 }, - { 0xF7EC, 0x7C67 }, - { 0xF7ED, 0x7C66 }, - { 0xF7EE, 0x7E95 }, - { 0xF7EF, 0x826C }, - { 0xF7F0, 0x863A }, - { 0xF7F1, 0x8640 }, - { 0xF7F2, 0x8639 }, - { 0xF7F3, 0x863C }, - { 0xF7F4, 0x8631 }, - { 0xF7F5, 0x863B }, - { 0xF7F6, 0x863E }, - { 0xF7F7, 0x8830 }, - { 0xF7F8, 0x8832 }, - { 0xF7F9, 0x882E }, - { 0xF7FA, 0x8833 }, - { 0xF7FB, 0x8976 }, - { 0xF7FC, 0x8974 }, - { 0xF7FD, 0x8973 }, - { 0xF7FE, 0x89FE }, - { 0xF840, 0x8B8C }, - { 0xF841, 0x8B8E }, - { 0xF842, 0x8B8B }, - { 0xF843, 0x8B88 }, - { 0xF844, 0x8C45 }, - { 0xF845, 0x8D19 }, - { 0xF846, 0x8E98 }, - { 0xF847, 0x8F64 }, - { 0xF848, 0x8F63 }, - { 0xF849, 0x91BC }, - { 0xF84A, 0x9462 }, - { 0xF84B, 0x9455 }, - { 0xF84C, 0x945D }, - { 0xF84D, 0x9457 }, - { 0xF84E, 0x945E }, - { 0xF84F, 0x97C4 }, - { 0xF850, 0x97C5 }, - { 0xF851, 0x9800 }, - { 0xF852, 0x9A56 }, - { 0xF853, 0x9A59 }, - { 0xF854, 0x9B1E }, - { 0xF855, 0x9B1F }, - { 0xF856, 0x9B20 }, - { 0xF857, 0x9C52 }, - { 0xF858, 0x9C58 }, - { 0xF859, 0x9C50 }, - { 0xF85A, 0x9C4A }, - { 0xF85B, 0x9C4D }, - { 0xF85C, 0x9C4B }, - { 0xF85D, 0x9C55 }, - { 0xF85E, 0x9C59 }, - { 0xF85F, 0x9C4C }, - { 0xF860, 0x9C4E }, - { 0xF861, 0x9DFB }, - { 0xF862, 0x9DF7 }, - { 0xF863, 0x9DEF }, - { 0xF864, 0x9DE3 }, - { 0xF865, 0x9DEB }, - { 0xF866, 0x9DF8 }, - { 0xF867, 0x9DE4 }, - { 0xF868, 0x9DF6 }, - { 0xF869, 0x9DE1 }, - { 0xF86A, 0x9DEE }, - { 0xF86B, 0x9DE6 }, - { 0xF86C, 0x9DF2 }, - { 0xF86D, 0x9DF0 }, - { 0xF86E, 0x9DE2 }, - { 0xF86F, 0x9DEC }, - { 0xF870, 0x9DF4 }, - { 0xF871, 0x9DF3 }, - { 0xF872, 0x9DE8 }, - { 0xF873, 0x9DED }, - { 0xF874, 0x9EC2 }, - { 0xF875, 0x9ED0 }, - { 0xF876, 0x9EF2 }, - { 0xF877, 0x9EF3 }, - { 0xF878, 0x9F06 }, - { 0xF879, 0x9F1C }, - { 0xF87A, 0x9F38 }, - { 0xF87B, 0x9F37 }, - { 0xF87C, 0x9F36 }, - { 0xF87D, 0x9F43 }, - { 0xF87E, 0x9F4F }, - { 0xF8A1, 0x9F71 }, - { 0xF8A2, 0x9F70 }, - { 0xF8A3, 0x9F6E }, - { 0xF8A4, 0x9F6F }, - { 0xF8A5, 0x56D3 }, - { 0xF8A6, 0x56CD }, - { 0xF8A7, 0x5B4E }, - { 0xF8A8, 0x5C6D }, - { 0xF8A9, 0x652D }, - { 0xF8AA, 0x66ED }, - { 0xF8AB, 0x66EE }, - { 0xF8AC, 0x6B13 }, - { 0xF8AD, 0x705F }, - { 0xF8AE, 0x7061 }, - { 0xF8AF, 0x705D }, - { 0xF8B0, 0x7060 }, - { 0xF8B1, 0x7223 }, - { 0xF8B2, 0x74DB }, - { 0xF8B3, 0x74E5 }, - { 0xF8B4, 0x77D5 }, - { 0xF8B5, 0x7938 }, - { 0xF8B6, 0x79B7 }, - { 0xF8B7, 0x79B6 }, - { 0xF8B8, 0x7C6A }, - { 0xF8B9, 0x7E97 }, - { 0xF8BA, 0x7F89 }, - { 0xF8BB, 0x826D }, - { 0xF8BC, 0x8643 }, - { 0xF8BD, 0x8838 }, - { 0xF8BE, 0x8837 }, - { 0xF8BF, 0x8835 }, - { 0xF8C0, 0x884B }, - { 0xF8C1, 0x8B94 }, - { 0xF8C2, 0x8B95 }, - { 0xF8C3, 0x8E9E }, - { 0xF8C4, 0x8E9F }, - { 0xF8C5, 0x8EA0 }, - { 0xF8C6, 0x8E9D }, - { 0xF8C7, 0x91BE }, - { 0xF8C8, 0x91BD }, - { 0xF8C9, 0x91C2 }, - { 0xF8CA, 0x946B }, - { 0xF8CB, 0x9468 }, - { 0xF8CC, 0x9469 }, - { 0xF8CD, 0x96E5 }, - { 0xF8CE, 0x9746 }, - { 0xF8CF, 0x9743 }, - { 0xF8D0, 0x9747 }, - { 0xF8D1, 0x97C7 }, - { 0xF8D2, 0x97E5 }, - { 0xF8D3, 0x9A5E }, - { 0xF8D4, 0x9AD5 }, - { 0xF8D5, 0x9B59 }, - { 0xF8D6, 0x9C63 }, - { 0xF8D7, 0x9C67 }, - { 0xF8D8, 0x9C66 }, - { 0xF8D9, 0x9C62 }, - { 0xF8DA, 0x9C5E }, - { 0xF8DB, 0x9C60 }, - { 0xF8DC, 0x9E02 }, - { 0xF8DD, 0x9DFE }, - { 0xF8DE, 0x9E07 }, - { 0xF8DF, 0x9E03 }, - { 0xF8E0, 0x9E06 }, - { 0xF8E1, 0x9E05 }, - { 0xF8E2, 0x9E00 }, - { 0xF8E3, 0x9E01 }, - { 0xF8E4, 0x9E09 }, - { 0xF8E5, 0x9DFF }, - { 0xF8E6, 0x9DFD }, - { 0xF8E7, 0x9E04 }, - { 0xF8E8, 0x9EA0 }, - { 0xF8E9, 0x9F1E }, - { 0xF8EA, 0x9F46 }, - { 0xF8EB, 0x9F74 }, - { 0xF8EC, 0x9F75 }, - { 0xF8ED, 0x9F76 }, - { 0xF8EE, 0x56D4 }, - { 0xF8EF, 0x652E }, - { 0xF8F0, 0x65B8 }, - { 0xF8F1, 0x6B18 }, - { 0xF8F2, 0x6B19 }, - { 0xF8F3, 0x6B17 }, - { 0xF8F4, 0x6B1A }, - { 0xF8F5, 0x7062 }, - { 0xF8F6, 0x7226 }, - { 0xF8F7, 0x72AA }, - { 0xF8F8, 0x77D8 }, - { 0xF8F9, 0x77D9 }, - { 0xF8FA, 0x7939 }, - { 0xF8FB, 0x7C69 }, - { 0xF8FC, 0x7C6B }, - { 0xF8FD, 0x7CF6 }, - { 0xF8FE, 0x7E9A }, - { 0xF940, 0x7E98 }, - { 0xF941, 0x7E9B }, - { 0xF942, 0x7E99 }, - { 0xF943, 0x81E0 }, - { 0xF944, 0x81E1 }, - { 0xF945, 0x8646 }, - { 0xF946, 0x8647 }, - { 0xF947, 0x8648 }, - { 0xF948, 0x8979 }, - { 0xF949, 0x897A }, - { 0xF94A, 0x897C }, - { 0xF94B, 0x897B }, - { 0xF94C, 0x89FF }, - { 0xF94D, 0x8B98 }, - { 0xF94E, 0x8B99 }, - { 0xF94F, 0x8EA5 }, - { 0xF950, 0x8EA4 }, - { 0xF951, 0x8EA3 }, - { 0xF952, 0x946E }, - { 0xF953, 0x946D }, - { 0xF954, 0x946F }, - { 0xF955, 0x9471 }, - { 0xF956, 0x9473 }, - { 0xF957, 0x9749 }, - { 0xF958, 0x9872 }, - { 0xF959, 0x995F }, - { 0xF95A, 0x9C68 }, - { 0xF95B, 0x9C6E }, - { 0xF95C, 0x9C6D }, - { 0xF95D, 0x9E0B }, - { 0xF95E, 0x9E0D }, - { 0xF95F, 0x9E10 }, - { 0xF960, 0x9E0F }, - { 0xF961, 0x9E12 }, - { 0xF962, 0x9E11 }, - { 0xF963, 0x9EA1 }, - { 0xF964, 0x9EF5 }, - { 0xF965, 0x9F09 }, - { 0xF966, 0x9F47 }, - { 0xF967, 0x9F78 }, - { 0xF968, 0x9F7B }, - { 0xF969, 0x9F7A }, - { 0xF96A, 0x9F79 }, - { 0xF96B, 0x571E }, - { 0xF96C, 0x7066 }, - { 0xF96D, 0x7C6F }, - { 0xF96E, 0x883C }, - { 0xF96F, 0x8DB2 }, - { 0xF970, 0x8EA6 }, - { 0xF971, 0x91C3 }, - { 0xF972, 0x9474 }, - { 0xF973, 0x9478 }, - { 0xF974, 0x9476 }, - { 0xF975, 0x9475 }, - { 0xF976, 0x9A60 }, - { 0xF977, 0x9C74 }, - { 0xF978, 0x9C73 }, - { 0xF979, 0x9C71 }, - { 0xF97A, 0x9C75 }, - { 0xF97B, 0x9E14 }, - { 0xF97C, 0x9E13 }, - { 0xF97D, 0x9EF6 }, - { 0xF97E, 0x9F0A }, - { 0xF9A1, 0x9FA4 }, - { 0xF9A2, 0x7068 }, - { 0xF9A3, 0x7065 }, - { 0xF9A4, 0x7CF7 }, - { 0xF9A5, 0x866A }, - { 0xF9A6, 0x883E }, - { 0xF9A7, 0x883D }, - { 0xF9A8, 0x883F }, - { 0xF9A9, 0x8B9E }, - { 0xF9AA, 0x8C9C }, - { 0xF9AB, 0x8EA9 }, - { 0xF9AC, 0x8EC9 }, - { 0xF9AD, 0x974B }, - { 0xF9AE, 0x9873 }, - { 0xF9AF, 0x9874 }, - { 0xF9B0, 0x98CC }, - { 0xF9B1, 0x9961 }, - { 0xF9B2, 0x99AB }, - { 0xF9B3, 0x9A64 }, - { 0xF9B4, 0x9A66 }, - { 0xF9B5, 0x9A67 }, - { 0xF9B6, 0x9B24 }, - { 0xF9B7, 0x9E15 }, - { 0xF9B8, 0x9E17 }, - { 0xF9B9, 0x9F48 }, - { 0xF9BA, 0x6207 }, - { 0xF9BB, 0x6B1E }, - { 0xF9BC, 0x7227 }, - { 0xF9BD, 0x864C }, - { 0xF9BE, 0x8EA8 }, - { 0xF9BF, 0x9482 }, - { 0xF9C0, 0x9480 }, - { 0xF9C1, 0x9481 }, - { 0xF9C2, 0x9A69 }, - { 0xF9C3, 0x9A68 }, - { 0xF9C4, 0x9B2E }, - { 0xF9C5, 0x9E19 }, - { 0xF9C6, 0x7229 }, - { 0xF9C7, 0x864B }, - { 0xF9C8, 0x8B9F }, - { 0xF9C9, 0x9483 }, - { 0xF9CA, 0x9C79 }, - { 0xF9CB, 0x9EB7 }, - { 0xF9CC, 0x7675 }, - { 0xF9CD, 0x9A6B }, - { 0xF9CE, 0x9C7A }, - { 0xF9CF, 0x9E1D }, - { 0xF9D0, 0x7069 }, - { 0xF9D1, 0x706A }, - { 0xF9D2, 0x9EA4 }, - { 0xF9D3, 0x9F7E }, - { 0xF9D4, 0x9F49 }, - { 0xF9D5, 0x9F98 }, + { 0xEEED, 0x9359 }, + { 0xEEEE, 0x95C7 }, + { 0xEEEF, 0x95C0 }, + { 0xEEF0, 0x95C9 }, + { 0xEEF1, 0x95C3 }, + { 0xEEF2, 0x95C5 }, + { 0xEEF3, 0x95B7 }, + { 0xEEF4, 0x96AE }, + { 0xEEF5, 0x96B0 }, + { 0xEEF6, 0x96AC }, + { 0xEEF7, 0x9720 }, + { 0xEEF8, 0x971F }, + { 0xEEF9, 0x9718 }, + { 0xEEFA, 0x971D }, + { 0xEEFB, 0x9719 }, + { 0xEEFC, 0x979A }, + { 0xEEFD, 0x97A1 }, + { 0xEEFE, 0x979C }, + { 0xEF40, 0x979E }, + { 0xEF41, 0x979D }, + { 0xEF42, 0x97D5 }, + { 0xEF43, 0x97D4 }, + { 0xEF44, 0x97F1 }, + { 0xEF45, 0x9841 }, + { 0xEF46, 0x9844 }, + { 0xEF47, 0x984A }, + { 0xEF48, 0x9849 }, + { 0xEF49, 0x9845 }, + { 0xEF4A, 0x9843 }, + { 0xEF4B, 0x9925 }, + { 0xEF4C, 0x992B }, + { 0xEF4D, 0x992C }, + { 0xEF4E, 0x992A }, + { 0xEF4F, 0x9933 }, + { 0xEF50, 0x9932 }, + { 0xEF51, 0x992F }, + { 0xEF52, 0x992D }, + { 0xEF53, 0x9931 }, + { 0xEF54, 0x9930 }, + { 0xEF55, 0x9998 }, + { 0xEF56, 0x99A3 }, + { 0xEF57, 0x99A1 }, + { 0xEF58, 0x9A02 }, + { 0xEF59, 0x99FA }, + { 0xEF5A, 0x99F4 }, + { 0xEF5B, 0x99F7 }, + { 0xEF5C, 0x99F9 }, + { 0xEF5D, 0x99F8 }, + { 0xEF5E, 0x99F6 }, + { 0xEF5F, 0x99FB }, + { 0xEF60, 0x99FD }, + { 0xEF61, 0x99FE }, + { 0xEF62, 0x99FC }, + { 0xEF63, 0x9A03 }, + { 0xEF64, 0x9ABE }, + { 0xEF65, 0x9AFE }, + { 0xEF66, 0x9AFD }, + { 0xEF67, 0x9B01 }, + { 0xEF68, 0x9AFC }, + { 0xEF69, 0x9B48 }, + { 0xEF6A, 0x9B9A }, + { 0xEF6B, 0x9BA8 }, + { 0xEF6C, 0x9B9E }, + { 0xEF6D, 0x9B9B }, + { 0xEF6E, 0x9BA6 }, + { 0xEF6F, 0x9BA1 }, + { 0xEF70, 0x9BA5 }, + { 0xEF71, 0x9BA4 }, + { 0xEF72, 0x9B86 }, + { 0xEF73, 0x9BA2 }, + { 0xEF74, 0x9BA0 }, + { 0xEF75, 0x9BAF }, + { 0xEF76, 0x9D33 }, + { 0xEF77, 0x9D41 }, + { 0xEF78, 0x9D67 }, + { 0xEF79, 0x9D36 }, + { 0xEF7A, 0x9D2E }, + { 0xEF7B, 0x9D2F }, + { 0xEF7C, 0x9D31 }, + { 0xEF7D, 0x9D38 }, + { 0xEF7E, 0x9D30 }, + { 0xEFA1, 0x9D45 }, + { 0xEFA2, 0x9D42 }, + { 0xEFA3, 0x9D43 }, + { 0xEFA4, 0x9D3E }, + { 0xEFA5, 0x9D37 }, + { 0xEFA6, 0x9D40 }, + { 0xEFA7, 0x9D3D }, + { 0xEFA8, 0x7FF5 }, + { 0xEFA9, 0x9D2D }, + { 0xEFAA, 0x9E8A }, + { 0xEFAB, 0x9E89 }, + { 0xEFAC, 0x9E8D }, + { 0xEFAD, 0x9EB0 }, + { 0xEFAE, 0x9EC8 }, + { 0xEFAF, 0x9EDA }, + { 0xEFB0, 0x9EFB }, + { 0xEFB1, 0x9EFF }, + { 0xEFB2, 0x9F24 }, + { 0xEFB3, 0x9F23 }, + { 0xEFB4, 0x9F22 }, + { 0xEFB5, 0x9F54 }, + { 0xEFB6, 0x9FA0 }, + { 0xEFB7, 0x5131 }, + { 0xEFB8, 0x512D }, + { 0xEFB9, 0x512E }, + { 0xEFBA, 0x5698 }, + { 0xEFBB, 0x569C }, + { 0xEFBC, 0x5697 }, + { 0xEFBD, 0x569A }, + { 0xEFBE, 0x569D }, + { 0xEFBF, 0x5699 }, + { 0xEFC0, 0x5970 }, + { 0xEFC1, 0x5B3C }, + { 0xEFC2, 0x5C69 }, + { 0xEFC3, 0x5C6A }, + { 0xEFC4, 0x5DC0 }, + { 0xEFC5, 0x5E6D }, + { 0xEFC6, 0x5E6E }, + { 0xEFC7, 0x61D8 }, + { 0xEFC8, 0x61DF }, + { 0xEFC9, 0x61ED }, + { 0xEFCA, 0x61EE }, + { 0xEFCB, 0x61F1 }, + { 0xEFCC, 0x61EA }, + { 0xEFCD, 0x61F0 }, + { 0xEFCE, 0x61EB }, + { 0xEFCF, 0x61D6 }, + { 0xEFD0, 0x61E9 }, + { 0xEFD1, 0x64FF }, + { 0xEFD2, 0x6504 }, + { 0xEFD3, 0x64FD }, + { 0xEFD4, 0x64F8 }, + { 0xEFD5, 0x6501 }, + { 0xEFD6, 0x6503 }, + { 0xEFD7, 0x64FC }, + { 0xEFD8, 0x6594 }, + { 0xEFD9, 0x65DB }, + { 0xEFDA, 0x66DA }, + { 0xEFDB, 0x66DB }, + { 0xEFDC, 0x66D8 }, + { 0xEFDD, 0x6AC5 }, + { 0xEFDE, 0x6AB9 }, + { 0xEFDF, 0x6ABD }, + { 0xEFE0, 0x6AE1 }, + { 0xEFE1, 0x6AC6 }, + { 0xEFE2, 0x6ABA }, + { 0xEFE3, 0x6AB6 }, + { 0xEFE4, 0x6AB7 }, + { 0xEFE5, 0x6AC7 }, + { 0xEFE6, 0x6AB4 }, + { 0xEFE7, 0x6AAD }, + { 0xEFE8, 0x6B5E }, + { 0xEFE9, 0x6BC9 }, + { 0xEFEA, 0x6C0B }, + { 0xEFEB, 0x7007 }, + { 0xEFEC, 0x700C }, + { 0xEFED, 0x700D }, + { 0xEFEE, 0x7001 }, + { 0xEFEF, 0x7005 }, + { 0xEFF0, 0x7014 }, + { 0xEFF1, 0x700E }, + { 0xEFF2, 0x6FFF }, + { 0xEFF3, 0x7000 }, + { 0xEFF4, 0x6FFB }, + { 0xEFF5, 0x7026 }, + { 0xEFF6, 0x6FFC }, + { 0xEFF7, 0x6FF7 }, + { 0xEFF8, 0x700A }, + { 0xEFF9, 0x7201 }, + { 0xEFFA, 0x71FF }, + { 0xEFFB, 0x71F9 }, + { 0xEFFC, 0x7203 }, + { 0xEFFD, 0x71FD }, + { 0xEFFE, 0x7376 }, + { 0xF040, 0x74B8 }, + { 0xF041, 0x74C0 }, + { 0xF042, 0x74B5 }, + { 0xF043, 0x74C1 }, + { 0xF044, 0x74BE }, + { 0xF045, 0x74B6 }, + { 0xF046, 0x74BB }, + { 0xF047, 0x74C2 }, + { 0xF048, 0x7514 }, + { 0xF049, 0x7513 }, + { 0xF04A, 0x765C }, + { 0xF04B, 0x7664 }, + { 0xF04C, 0x7659 }, + { 0xF04D, 0x7650 }, + { 0xF04E, 0x7653 }, + { 0xF04F, 0x7657 }, + { 0xF050, 0x765A }, + { 0xF051, 0x76A6 }, + { 0xF052, 0x76BD }, + { 0xF053, 0x76EC }, + { 0xF054, 0x77C2 }, + { 0xF055, 0x77BA }, + { 0xF056, 0x78FF }, + { 0xF057, 0x790C }, + { 0xF058, 0x7913 }, + { 0xF059, 0x7914 }, + { 0xF05A, 0x7909 }, + { 0xF05B, 0x7910 }, + { 0xF05C, 0x7912 }, + { 0xF05D, 0x7911 }, + { 0xF05E, 0x79AD }, + { 0xF05F, 0x79AC }, + { 0xF060, 0x7A5F }, + { 0xF061, 0x7C1C }, + { 0xF062, 0x7C29 }, + { 0xF063, 0x7C19 }, + { 0xF064, 0x7C20 }, + { 0xF065, 0x7C1F }, + { 0xF066, 0x7C2D }, + { 0xF067, 0x7C1D }, + { 0xF068, 0x7C26 }, + { 0xF069, 0x7C28 }, + { 0xF06A, 0x7C22 }, + { 0xF06B, 0x7C25 }, + { 0xF06C, 0x7C30 }, + { 0xF06D, 0x7E5C }, + { 0xF06E, 0x7E50 }, + { 0xF06F, 0x7E56 }, + { 0xF070, 0x7E63 }, + { 0xF071, 0x7E58 }, + { 0xF072, 0x7E62 }, + { 0xF073, 0x7E5F }, + { 0xF074, 0x7E51 }, + { 0xF075, 0x7E60 }, + { 0xF076, 0x7E57 }, + { 0xF077, 0x7E53 }, + { 0xF078, 0x7FB5 }, + { 0xF079, 0x7FB3 }, + { 0xF07A, 0x7FF7 }, + { 0xF07B, 0x7FF8 }, + { 0xF07C, 0x8075 }, + { 0xF07D, 0x81D1 }, + { 0xF07E, 0x81D2 }, + { 0xF0A1, 0x81D0 }, + { 0xF0A2, 0x825F }, + { 0xF0A3, 0x825E }, + { 0xF0A4, 0x85B4 }, + { 0xF0A5, 0x85C6 }, + { 0xF0A6, 0x85C0 }, + { 0xF0A7, 0x85C3 }, + { 0xF0A8, 0x85C2 }, + { 0xF0A9, 0x85B3 }, + { 0xF0AA, 0x85B5 }, + { 0xF0AB, 0x85BD }, + { 0xF0AC, 0x85C7 }, + { 0xF0AD, 0x85C4 }, + { 0xF0AE, 0x85BF }, + { 0xF0AF, 0x85CB }, + { 0xF0B0, 0x85CE }, + { 0xF0B1, 0x85C8 }, + { 0xF0B2, 0x85C5 }, + { 0xF0B3, 0x85B1 }, + { 0xF0B4, 0x85B6 }, + { 0xF0B5, 0x85D2 }, + { 0xF0B6, 0x8624 }, + { 0xF0B7, 0x85B8 }, + { 0xF0B8, 0x85B7 }, + { 0xF0B9, 0x85BE }, + { 0xF0BA, 0x8669 }, + { 0xF0BB, 0x87E7 }, + { 0xF0BC, 0x87E6 }, + { 0xF0BD, 0x87E2 }, + { 0xF0BE, 0x87DB }, + { 0xF0BF, 0x87EB }, + { 0xF0C0, 0x87EA }, + { 0xF0C1, 0x87E5 }, + { 0xF0C2, 0x87DF }, + { 0xF0C3, 0x87F3 }, + { 0xF0C4, 0x87E4 }, + { 0xF0C5, 0x87D4 }, + { 0xF0C6, 0x87DC }, + { 0xF0C7, 0x87D3 }, + { 0xF0C8, 0x87ED }, + { 0xF0C9, 0x87D8 }, + { 0xF0CA, 0x87E3 }, + { 0xF0CB, 0x87A4 }, + { 0xF0CC, 0x87D7 }, + { 0xF0CD, 0x87D9 }, + { 0xF0CE, 0x8801 }, + { 0xF0CF, 0x87F4 }, + { 0xF0D0, 0x87E8 }, + { 0xF0D1, 0x87DD }, + { 0xF0D2, 0x8953 }, + { 0xF0D3, 0x894B }, + { 0xF0D4, 0x894F }, + { 0xF0D5, 0x894C }, + { 0xF0D6, 0x8946 }, + { 0xF0D7, 0x8950 }, + { 0xF0D8, 0x8951 }, + { 0xF0D9, 0x8949 }, + { 0xF0DA, 0x8B2A }, + { 0xF0DB, 0x8B27 }, + { 0xF0DC, 0x8B23 }, + { 0xF0DD, 0x8B33 }, + { 0xF0DE, 0x8B30 }, + { 0xF0DF, 0x8B35 }, + { 0xF0E0, 0x8B47 }, + { 0xF0E1, 0x8B2F }, + { 0xF0E2, 0x8B3C }, + { 0xF0E3, 0x8B3E }, + { 0xF0E4, 0x8B31 }, + { 0xF0E5, 0x8B25 }, + { 0xF0E6, 0x8B37 }, + { 0xF0E7, 0x8B26 }, + { 0xF0E8, 0x8B36 }, + { 0xF0E9, 0x8B2E }, + { 0xF0EA, 0x8B24 }, + { 0xF0EB, 0x8B3B }, + { 0xF0EC, 0x8B3D }, + { 0xF0ED, 0x8B3A }, + { 0xF0EE, 0x8C42 }, + { 0xF0EF, 0x8C75 }, + { 0xF0F0, 0x8C99 }, + { 0xF0F1, 0x8C98 }, + { 0xF0F2, 0x8C97 }, + { 0xF0F3, 0x8CFE }, + { 0xF0F4, 0x8D04 }, + { 0xF0F5, 0x8D02 }, + { 0xF0F6, 0x8D00 }, + { 0xF0F7, 0x8E5C }, + { 0xF0F8, 0x8E62 }, + { 0xF0F9, 0x8E60 }, + { 0xF0FA, 0x8E57 }, + { 0xF0FB, 0x8E56 }, + { 0xF0FC, 0x8E5E }, + { 0xF0FD, 0x8E65 }, + { 0xF0FE, 0x8E67 }, + { 0xF140, 0x8E5B }, + { 0xF141, 0x8E5A }, + { 0xF142, 0x8E61 }, + { 0xF143, 0x8E5D }, + { 0xF144, 0x8E69 }, + { 0xF145, 0x8E54 }, + { 0xF146, 0x8F46 }, + { 0xF147, 0x8F47 }, + { 0xF148, 0x8F48 }, + { 0xF149, 0x8F4B }, + { 0xF14A, 0x9128 }, + { 0xF14B, 0x913A }, + { 0xF14C, 0x913B }, + { 0xF14D, 0x913E }, + { 0xF14E, 0x91A8 }, + { 0xF14F, 0x91A5 }, + { 0xF150, 0x91A7 }, + { 0xF151, 0x91AF }, + { 0xF152, 0x91AA }, + { 0xF153, 0x93B5 }, + { 0xF154, 0x938C }, + { 0xF155, 0x9392 }, + { 0xF156, 0x93B7 }, + { 0xF157, 0x939B }, + { 0xF158, 0x939D }, + { 0xF159, 0x9389 }, + { 0xF15A, 0x93A7 }, + { 0xF15B, 0x938E }, + { 0xF15C, 0x93AA }, + { 0xF15D, 0x939E }, + { 0xF15E, 0x93A6 }, + { 0xF15F, 0x9395 }, + { 0xF160, 0x9388 }, + { 0xF161, 0x9399 }, + { 0xF162, 0x939F }, + { 0xF163, 0x938D }, + { 0xF164, 0x93B1 }, + { 0xF165, 0x9391 }, + { 0xF166, 0x93B2 }, + { 0xF167, 0x93A4 }, + { 0xF168, 0x93A8 }, + { 0xF169, 0x93B4 }, + { 0xF16A, 0x93A3 }, + { 0xF16B, 0x93A5 }, + { 0xF16C, 0x95D2 }, + { 0xF16D, 0x95D3 }, + { 0xF16E, 0x95D1 }, + { 0xF16F, 0x96B3 }, + { 0xF170, 0x96D7 }, + { 0xF171, 0x96DA }, + { 0xF172, 0x5DC2 }, + { 0xF173, 0x96DF }, + { 0xF174, 0x96D8 }, + { 0xF175, 0x96DD }, + { 0xF176, 0x9723 }, + { 0xF177, 0x9722 }, + { 0xF178, 0x9725 }, + { 0xF179, 0x97AC }, + { 0xF17A, 0x97AE }, + { 0xF17B, 0x97A8 }, + { 0xF17C, 0x97AB }, + { 0xF17D, 0x97A4 }, + { 0xF17E, 0x97AA }, + { 0xF1A1, 0x97A2 }, + { 0xF1A2, 0x97A5 }, + { 0xF1A3, 0x97D7 }, + { 0xF1A4, 0x97D9 }, + { 0xF1A5, 0x97D6 }, + { 0xF1A6, 0x97D8 }, + { 0xF1A7, 0x97FA }, + { 0xF1A8, 0x9850 }, + { 0xF1A9, 0x9851 }, + { 0xF1AA, 0x9852 }, + { 0xF1AB, 0x98B8 }, + { 0xF1AC, 0x9941 }, + { 0xF1AD, 0x993C }, + { 0xF1AE, 0x993A }, + { 0xF1AF, 0x9A0F }, + { 0xF1B0, 0x9A0B }, + { 0xF1B1, 0x9A09 }, + { 0xF1B2, 0x9A0D }, + { 0xF1B3, 0x9A04 }, + { 0xF1B4, 0x9A11 }, + { 0xF1B5, 0x9A0A }, + { 0xF1B6, 0x9A05 }, + { 0xF1B7, 0x9A07 }, + { 0xF1B8, 0x9A06 }, + { 0xF1B9, 0x9AC0 }, + { 0xF1BA, 0x9ADC }, + { 0xF1BB, 0x9B08 }, + { 0xF1BC, 0x9B04 }, + { 0xF1BD, 0x9B05 }, + { 0xF1BE, 0x9B29 }, + { 0xF1BF, 0x9B35 }, + { 0xF1C0, 0x9B4A }, + { 0xF1C1, 0x9B4C }, + { 0xF1C2, 0x9B4B }, + { 0xF1C3, 0x9BC7 }, + { 0xF1C4, 0x9BC6 }, + { 0xF1C5, 0x9BC3 }, + { 0xF1C6, 0x9BBF }, + { 0xF1C7, 0x9BC1 }, + { 0xF1C8, 0x9BB5 }, + { 0xF1C9, 0x9BB8 }, + { 0xF1CA, 0x9BD3 }, + { 0xF1CB, 0x9BB6 }, + { 0xF1CC, 0x9BC4 }, + { 0xF1CD, 0x9BB9 }, + { 0xF1CE, 0x9BBD }, + { 0xF1CF, 0x9D5C }, + { 0xF1D0, 0x9D53 }, + { 0xF1D1, 0x9D4F }, + { 0xF1D2, 0x9D4A }, + { 0xF1D3, 0x9D5B }, + { 0xF1D4, 0x9D4B }, + { 0xF1D5, 0x9D59 }, + { 0xF1D6, 0x9D56 }, + { 0xF1D7, 0x9D4C }, + { 0xF1D8, 0x9D57 }, + { 0xF1D9, 0x9D52 }, + { 0xF1DA, 0x9D54 }, + { 0xF1DB, 0x9D5F }, + { 0xF1DC, 0x9D58 }, + { 0xF1DD, 0x9D5A }, + { 0xF1DE, 0x9E8E }, + { 0xF1DF, 0x9E8C }, + { 0xF1E0, 0x9EDF }, + { 0xF1E1, 0x9F01 }, + { 0xF1E2, 0x9F00 }, + { 0xF1E3, 0x9F16 }, + { 0xF1E4, 0x9F25 }, + { 0xF1E5, 0x9F2B }, + { 0xF1E6, 0x9F2A }, + { 0xF1E7, 0x9F29 }, + { 0xF1E8, 0x9F28 }, + { 0xF1E9, 0x9F4C }, + { 0xF1EA, 0x9F55 }, + { 0xF1EB, 0x5134 }, + { 0xF1EC, 0x5135 }, + { 0xF1ED, 0x5296 }, + { 0xF1EE, 0x52F7 }, + { 0xF1EF, 0x53B4 }, + { 0xF1F0, 0x56AB }, + { 0xF1F1, 0x56AD }, + { 0xF1F2, 0x56A6 }, + { 0xF1F3, 0x56A7 }, + { 0xF1F4, 0x56AA }, + { 0xF1F5, 0x56AC }, + { 0xF1F6, 0x58DA }, + { 0xF1F7, 0x58DD }, + { 0xF1F8, 0x58DB }, + { 0xF1F9, 0x5912 }, + { 0xF1FA, 0x5B3D }, + { 0xF1FB, 0x5B3E }, + { 0xF1FC, 0x5B3F }, + { 0xF1FD, 0x5DC3 }, + { 0xF1FE, 0x5E70 }, + { 0xF240, 0x5FBF }, + { 0xF241, 0x61FB }, + { 0xF242, 0x6507 }, + { 0xF243, 0x6510 }, + { 0xF244, 0x650D }, + { 0xF245, 0x6509 }, + { 0xF246, 0x650C }, + { 0xF247, 0x650E }, + { 0xF248, 0x6584 }, + { 0xF249, 0x65DE }, + { 0xF24A, 0x65DD }, + { 0xF24B, 0x66DE }, + { 0xF24C, 0x6AE7 }, + { 0xF24D, 0x6AE0 }, + { 0xF24E, 0x6ACC }, + { 0xF24F, 0x6AD1 }, + { 0xF250, 0x6AD9 }, + { 0xF251, 0x6ACB }, + { 0xF252, 0x6ADF }, + { 0xF253, 0x6ADC }, + { 0xF254, 0x6AD0 }, + { 0xF255, 0x6AEB }, + { 0xF256, 0x6ACF }, + { 0xF257, 0x6ACD }, + { 0xF258, 0x6ADE }, + { 0xF259, 0x6B60 }, + { 0xF25A, 0x6BB0 }, + { 0xF25B, 0x6C0C }, + { 0xF25C, 0x7019 }, + { 0xF25D, 0x7027 }, + { 0xF25E, 0x7020 }, + { 0xF25F, 0x7016 }, + { 0xF260, 0x702B }, + { 0xF261, 0x7021 }, + { 0xF262, 0x7022 }, + { 0xF263, 0x7023 }, + { 0xF264, 0x7029 }, + { 0xF265, 0x7017 }, + { 0xF266, 0x7024 }, + { 0xF267, 0x701C }, + { 0xF268, 0x702A }, + { 0xF269, 0x720C }, + { 0xF26A, 0x720A }, + { 0xF26B, 0x7207 }, + { 0xF26C, 0x7202 }, + { 0xF26D, 0x7205 }, + { 0xF26E, 0x72A5 }, + { 0xF26F, 0x72A6 }, + { 0xF270, 0x72A4 }, + { 0xF271, 0x72A3 }, + { 0xF272, 0x72A1 }, + { 0xF273, 0x74CB }, + { 0xF274, 0x74C5 }, + { 0xF275, 0x74B7 }, + { 0xF276, 0x74C3 }, + { 0xF277, 0x7516 }, + { 0xF278, 0x7660 }, + { 0xF279, 0x77C9 }, + { 0xF27A, 0x77CA }, + { 0xF27B, 0x77C4 }, + { 0xF27C, 0x77F1 }, + { 0xF27D, 0x791D }, + { 0xF27E, 0x791B }, + { 0xF2A1, 0x7921 }, + { 0xF2A2, 0x791C }, + { 0xF2A3, 0x7917 }, + { 0xF2A4, 0x791E }, + { 0xF2A5, 0x79B0 }, + { 0xF2A6, 0x7A67 }, + { 0xF2A7, 0x7A68 }, + { 0xF2A8, 0x7C33 }, + { 0xF2A9, 0x7C3C }, + { 0xF2AA, 0x7C39 }, + { 0xF2AB, 0x7C2C }, + { 0xF2AC, 0x7C3B }, + { 0xF2AD, 0x7CEC }, + { 0xF2AE, 0x7CEA }, + { 0xF2AF, 0x7E76 }, + { 0xF2B0, 0x7E75 }, + { 0xF2B1, 0x7E78 }, + { 0xF2B2, 0x7E70 }, + { 0xF2B3, 0x7E77 }, + { 0xF2B4, 0x7E6F }, + { 0xF2B5, 0x7E7A }, + { 0xF2B6, 0x7E72 }, + { 0xF2B7, 0x7E74 }, + { 0xF2B8, 0x7E68 }, + { 0xF2B9, 0x7F4B }, + { 0xF2BA, 0x7F4A }, + { 0xF2BB, 0x7F83 }, + { 0xF2BC, 0x7F86 }, + { 0xF2BD, 0x7FB7 }, + { 0xF2BE, 0x7FFD }, + { 0xF2BF, 0x7FFE }, + { 0xF2C0, 0x8078 }, + { 0xF2C1, 0x81D7 }, + { 0xF2C2, 0x81D5 }, + { 0xF2C3, 0x8264 }, + { 0xF2C4, 0x8261 }, + { 0xF2C5, 0x8263 }, + { 0xF2C6, 0x85EB }, + { 0xF2C7, 0x85F1 }, + { 0xF2C8, 0x85ED }, + { 0xF2C9, 0x85D9 }, + { 0xF2CA, 0x85E1 }, + { 0xF2CB, 0x85E8 }, + { 0xF2CC, 0x85DA }, + { 0xF2CD, 0x85D7 }, + { 0xF2CE, 0x85EC }, + { 0xF2CF, 0x85F2 }, + { 0xF2D0, 0x85F8 }, + { 0xF2D1, 0x85D8 }, + { 0xF2D2, 0x85DF }, + { 0xF2D3, 0x85E3 }, + { 0xF2D4, 0x85DC }, + { 0xF2D5, 0x85D1 }, + { 0xF2D6, 0x85F0 }, + { 0xF2D7, 0x85E6 }, + { 0xF2D8, 0x85EF }, + { 0xF2D9, 0x85DE }, + { 0xF2DA, 0x85E2 }, + { 0xF2DB, 0x8800 }, + { 0xF2DC, 0x87FA }, + { 0xF2DD, 0x8803 }, + { 0xF2DE, 0x87F6 }, + { 0xF2DF, 0x87F7 }, + { 0xF2E0, 0x8809 }, + { 0xF2E1, 0x880C }, + { 0xF2E2, 0x880B }, + { 0xF2E3, 0x8806 }, + { 0xF2E4, 0x87FC }, + { 0xF2E5, 0x8808 }, + { 0xF2E6, 0x87FF }, + { 0xF2E7, 0x880A }, + { 0xF2E8, 0x8802 }, + { 0xF2E9, 0x8962 }, + { 0xF2EA, 0x895A }, + { 0xF2EB, 0x895B }, + { 0xF2EC, 0x8957 }, + { 0xF2ED, 0x8961 }, + { 0xF2EE, 0x895C }, + { 0xF2EF, 0x8958 }, + { 0xF2F0, 0x895D }, + { 0xF2F1, 0x8959 }, + { 0xF2F2, 0x8988 }, + { 0xF2F3, 0x89B7 }, + { 0xF2F4, 0x89B6 }, + { 0xF2F5, 0x89F6 }, + { 0xF2F6, 0x8B50 }, + { 0xF2F7, 0x8B48 }, + { 0xF2F8, 0x8B4A }, + { 0xF2F9, 0x8B40 }, + { 0xF2FA, 0x8B53 }, + { 0xF2FB, 0x8B56 }, + { 0xF2FC, 0x8B54 }, + { 0xF2FD, 0x8B4B }, + { 0xF2FE, 0x8B55 }, + { 0xF340, 0x8B51 }, + { 0xF341, 0x8B42 }, + { 0xF342, 0x8B52 }, + { 0xF343, 0x8B57 }, + { 0xF344, 0x8C43 }, + { 0xF345, 0x8C77 }, + { 0xF346, 0x8C76 }, + { 0xF347, 0x8C9A }, + { 0xF348, 0x8D06 }, + { 0xF349, 0x8D07 }, + { 0xF34A, 0x8D09 }, + { 0xF34B, 0x8DAC }, + { 0xF34C, 0x8DAA }, + { 0xF34D, 0x8DAD }, + { 0xF34E, 0x8DAB }, + { 0xF34F, 0x8E6D }, + { 0xF350, 0x8E78 }, + { 0xF351, 0x8E73 }, + { 0xF352, 0x8E6A }, + { 0xF353, 0x8E6F }, + { 0xF354, 0x8E7B }, + { 0xF355, 0x8EC2 }, + { 0xF356, 0x8F52 }, + { 0xF357, 0x8F51 }, + { 0xF358, 0x8F4F }, + { 0xF359, 0x8F50 }, + { 0xF35A, 0x8F53 }, + { 0xF35B, 0x8FB4 }, + { 0xF35C, 0x9140 }, + { 0xF35D, 0x913F }, + { 0xF35E, 0x91B0 }, + { 0xF35F, 0x91AD }, + { 0xF360, 0x93DE }, + { 0xF361, 0x93C7 }, + { 0xF362, 0x93CF }, + { 0xF363, 0x93C2 }, + { 0xF364, 0x93DA }, + { 0xF365, 0x93D0 }, + { 0xF366, 0x93F9 }, + { 0xF367, 0x93EC }, + { 0xF368, 0x93CC }, + { 0xF369, 0x93D9 }, + { 0xF36A, 0x93A9 }, + { 0xF36B, 0x93E6 }, + { 0xF36C, 0x93CA }, + { 0xF36D, 0x93D4 }, + { 0xF36E, 0x93EE }, + { 0xF36F, 0x93E3 }, + { 0xF370, 0x93D5 }, + { 0xF371, 0x93C4 }, + { 0xF372, 0x93CE }, + { 0xF373, 0x93C0 }, + { 0xF374, 0x93D2 }, + { 0xF375, 0x93E7 }, + { 0xF376, 0x957D }, + { 0xF377, 0x95DA }, + { 0xF378, 0x95DB }, + { 0xF379, 0x96E1 }, + { 0xF37A, 0x9729 }, + { 0xF37B, 0x972B }, + { 0xF37C, 0x972C }, + { 0xF37D, 0x9728 }, + { 0xF37E, 0x9726 }, + { 0xF3A1, 0x97B3 }, + { 0xF3A2, 0x97B7 }, + { 0xF3A3, 0x97B6 }, + { 0xF3A4, 0x97DD }, + { 0xF3A5, 0x97DE }, + { 0xF3A6, 0x97DF }, + { 0xF3A7, 0x985C }, + { 0xF3A8, 0x9859 }, + { 0xF3A9, 0x985D }, + { 0xF3AA, 0x9857 }, + { 0xF3AB, 0x98BF }, + { 0xF3AC, 0x98BD }, + { 0xF3AD, 0x98BB }, + { 0xF3AE, 0x98BE }, + { 0xF3AF, 0x9948 }, + { 0xF3B0, 0x9947 }, + { 0xF3B1, 0x9943 }, + { 0xF3B2, 0x99A6 }, + { 0xF3B3, 0x99A7 }, + { 0xF3B4, 0x9A1A }, + { 0xF3B5, 0x9A15 }, + { 0xF3B6, 0x9A25 }, + { 0xF3B7, 0x9A1D }, + { 0xF3B8, 0x9A24 }, + { 0xF3B9, 0x9A1B }, + { 0xF3BA, 0x9A22 }, + { 0xF3BB, 0x9A20 }, + { 0xF3BC, 0x9A27 }, + { 0xF3BD, 0x9A23 }, + { 0xF3BE, 0x9A1E }, + { 0xF3BF, 0x9A1C }, + { 0xF3C0, 0x9A14 }, + { 0xF3C1, 0x9AC2 }, + { 0xF3C2, 0x9B0B }, + { 0xF3C3, 0x9B0A }, + { 0xF3C4, 0x9B0E }, + { 0xF3C5, 0x9B0C }, + { 0xF3C6, 0x9B37 }, + { 0xF3C7, 0x9BEA }, + { 0xF3C8, 0x9BEB }, + { 0xF3C9, 0x9BE0 }, + { 0xF3CA, 0x9BDE }, + { 0xF3CB, 0x9BE4 }, + { 0xF3CC, 0x9BE6 }, + { 0xF3CD, 0x9BE2 }, + { 0xF3CE, 0x9BF0 }, + { 0xF3CF, 0x9BD4 }, + { 0xF3D0, 0x9BD7 }, + { 0xF3D1, 0x9BEC }, + { 0xF3D2, 0x9BDC }, + { 0xF3D3, 0x9BD9 }, + { 0xF3D4, 0x9BE5 }, + { 0xF3D5, 0x9BD5 }, + { 0xF3D6, 0x9BE1 }, + { 0xF3D7, 0x9BDA }, + { 0xF3D8, 0x9D77 }, + { 0xF3D9, 0x9D81 }, + { 0xF3DA, 0x9D8A }, + { 0xF3DB, 0x9D84 }, + { 0xF3DC, 0x9D88 }, + { 0xF3DD, 0x9D71 }, + { 0xF3DE, 0x9D80 }, + { 0xF3DF, 0x9D78 }, + { 0xF3E0, 0x9D86 }, + { 0xF3E1, 0x9D8B }, + { 0xF3E2, 0x9D8C }, + { 0xF3E3, 0x9D7D }, + { 0xF3E4, 0x9D6B }, + { 0xF3E5, 0x9D74 }, + { 0xF3E6, 0x9D75 }, + { 0xF3E7, 0x9D70 }, + { 0xF3E8, 0x9D69 }, + { 0xF3E9, 0x9D85 }, + { 0xF3EA, 0x9D73 }, + { 0xF3EB, 0x9D7B }, + { 0xF3EC, 0x9D82 }, + { 0xF3ED, 0x9D6F }, + { 0xF3EE, 0x9D79 }, + { 0xF3EF, 0x9D7F }, + { 0xF3F0, 0x9D87 }, + { 0xF3F1, 0x9D68 }, + { 0xF3F2, 0x9E94 }, + { 0xF3F3, 0x9E91 }, + { 0xF3F4, 0x9EC0 }, + { 0xF3F5, 0x9EFC }, + { 0xF3F6, 0x9F2D }, + { 0xF3F7, 0x9F40 }, + { 0xF3F8, 0x9F41 }, + { 0xF3F9, 0x9F4D }, + { 0xF3FA, 0x9F56 }, + { 0xF3FB, 0x9F57 }, + { 0xF3FC, 0x9F58 }, + { 0xF3FD, 0x5337 }, + { 0xF3FE, 0x56B2 }, + { 0xF440, 0x56B5 }, + { 0xF441, 0x56B3 }, + { 0xF442, 0x58E3 }, + { 0xF443, 0x5B45 }, + { 0xF444, 0x5DC6 }, + { 0xF445, 0x5DC7 }, + { 0xF446, 0x5EEE }, + { 0xF447, 0x5EEF }, + { 0xF448, 0x5FC0 }, + { 0xF449, 0x5FC1 }, + { 0xF44A, 0x61F9 }, + { 0xF44B, 0x6517 }, + { 0xF44C, 0x6516 }, + { 0xF44D, 0x6515 }, + { 0xF44E, 0x6513 }, + { 0xF44F, 0x65DF }, + { 0xF450, 0x66E8 }, + { 0xF451, 0x66E3 }, + { 0xF452, 0x66E4 }, + { 0xF453, 0x6AF3 }, + { 0xF454, 0x6AF0 }, + { 0xF455, 0x6AEA }, + { 0xF456, 0x6AE8 }, + { 0xF457, 0x6AF9 }, + { 0xF458, 0x6AF1 }, + { 0xF459, 0x6AEE }, + { 0xF45A, 0x6AEF }, + { 0xF45B, 0x703C }, + { 0xF45C, 0x7035 }, + { 0xF45D, 0x702F }, + { 0xF45E, 0x7037 }, + { 0xF45F, 0x7034 }, + { 0xF460, 0x7031 }, + { 0xF461, 0x7042 }, + { 0xF462, 0x7038 }, + { 0xF463, 0x703F }, + { 0xF464, 0x703A }, + { 0xF465, 0x7039 }, + { 0xF466, 0x7040 }, + { 0xF467, 0x703B }, + { 0xF468, 0x7033 }, + { 0xF469, 0x7041 }, + { 0xF46A, 0x7213 }, + { 0xF46B, 0x7214 }, + { 0xF46C, 0x72A8 }, + { 0xF46D, 0x737D }, + { 0xF46E, 0x737C }, + { 0xF46F, 0x74BA }, + { 0xF470, 0x76AB }, + { 0xF471, 0x76AA }, + { 0xF472, 0x76BE }, + { 0xF473, 0x76ED }, + { 0xF474, 0x77CC }, + { 0xF475, 0x77CE }, + { 0xF476, 0x77CF }, + { 0xF477, 0x77CD }, + { 0xF478, 0x77F2 }, + { 0xF479, 0x7925 }, + { 0xF47A, 0x7923 }, + { 0xF47B, 0x7927 }, + { 0xF47C, 0x7928 }, + { 0xF47D, 0x7924 }, + { 0xF47E, 0x7929 }, + { 0xF4A1, 0x79B2 }, + { 0xF4A2, 0x7A6E }, + { 0xF4A3, 0x7A6C }, + { 0xF4A4, 0x7A6D }, + { 0xF4A5, 0x7AF7 }, + { 0xF4A6, 0x7C49 }, + { 0xF4A7, 0x7C48 }, + { 0xF4A8, 0x7C4A }, + { 0xF4A9, 0x7C47 }, + { 0xF4AA, 0x7C45 }, + { 0xF4AB, 0x7CEE }, + { 0xF4AC, 0x7E7B }, + { 0xF4AD, 0x7E7E }, + { 0xF4AE, 0x7E81 }, + { 0xF4AF, 0x7E80 }, + { 0xF4B0, 0x7FBA }, + { 0xF4B1, 0x7FFF }, + { 0xF4B2, 0x8079 }, + { 0xF4B3, 0x81DB }, + { 0xF4B4, 0x81D9 }, + { 0xF4B5, 0x820B }, + { 0xF4B6, 0x8268 }, + { 0xF4B7, 0x8269 }, + { 0xF4B8, 0x8622 }, + { 0xF4B9, 0x85FF }, + { 0xF4BA, 0x8601 }, + { 0xF4BB, 0x85FE }, + { 0xF4BC, 0x861B }, + { 0xF4BD, 0x8600 }, + { 0xF4BE, 0x85F6 }, + { 0xF4BF, 0x8604 }, + { 0xF4C0, 0x8609 }, + { 0xF4C1, 0x8605 }, + { 0xF4C2, 0x860C }, + { 0xF4C3, 0x85FD }, + { 0xF4C4, 0x8819 }, + { 0xF4C5, 0x8810 }, + { 0xF4C6, 0x8811 }, + { 0xF4C7, 0x8817 }, + { 0xF4C8, 0x8813 }, + { 0xF4C9, 0x8816 }, + { 0xF4CA, 0x8963 }, + { 0xF4CB, 0x8966 }, + { 0xF4CC, 0x89B9 }, + { 0xF4CD, 0x89F7 }, + { 0xF4CE, 0x8B60 }, + { 0xF4CF, 0x8B6A }, + { 0xF4D0, 0x8B5D }, + { 0xF4D1, 0x8B68 }, + { 0xF4D2, 0x8B63 }, + { 0xF4D3, 0x8B65 }, + { 0xF4D4, 0x8B67 }, + { 0xF4D5, 0x8B6D }, + { 0xF4D6, 0x8DAE }, + { 0xF4D7, 0x8E86 }, + { 0xF4D8, 0x8E88 }, + { 0xF4D9, 0x8E84 }, + { 0xF4DA, 0x8F59 }, + { 0xF4DB, 0x8F56 }, + { 0xF4DC, 0x8F57 }, + { 0xF4DD, 0x8F55 }, + { 0xF4DE, 0x8F58 }, + { 0xF4DF, 0x8F5A }, + { 0xF4E0, 0x908D }, + { 0xF4E1, 0x9143 }, + { 0xF4E2, 0x9141 }, + { 0xF4E3, 0x91B7 }, + { 0xF4E4, 0x91B5 }, + { 0xF4E5, 0x91B2 }, + { 0xF4E6, 0x91B3 }, + { 0xF4E7, 0x940B }, + { 0xF4E8, 0x9413 }, + { 0xF4E9, 0x93FB }, + { 0xF4EA, 0x9420 }, + { 0xF4EB, 0x940F }, + { 0xF4EC, 0x9414 }, + { 0xF4ED, 0x93FE }, + { 0xF4EE, 0x9415 }, + { 0xF4EF, 0x9410 }, + { 0xF4F0, 0x9428 }, + { 0xF4F1, 0x9419 }, + { 0xF4F2, 0x940D }, + { 0xF4F3, 0x93F5 }, + { 0xF4F4, 0x9400 }, + { 0xF4F5, 0x93F7 }, + { 0xF4F6, 0x9407 }, + { 0xF4F7, 0x940E }, + { 0xF4F8, 0x9416 }, + { 0xF4F9, 0x9412 }, + { 0xF4FA, 0x93FA }, + { 0xF4FB, 0x9409 }, + { 0xF4FC, 0x93F8 }, + { 0xF4FD, 0x940A }, + { 0xF4FE, 0x93FF }, + { 0xF540, 0x93FC }, + { 0xF541, 0x940C }, + { 0xF542, 0x93F6 }, + { 0xF543, 0x9411 }, + { 0xF544, 0x9406 }, + { 0xF545, 0x95DE }, + { 0xF546, 0x95E0 }, + { 0xF547, 0x95DF }, + { 0xF548, 0x972E }, + { 0xF549, 0x972F }, + { 0xF54A, 0x97B9 }, + { 0xF54B, 0x97BB }, + { 0xF54C, 0x97FD }, + { 0xF54D, 0x97FE }, + { 0xF54E, 0x9860 }, + { 0xF54F, 0x9862 }, + { 0xF550, 0x9863 }, + { 0xF551, 0x985F }, + { 0xF552, 0x98C1 }, + { 0xF553, 0x98C2 }, + { 0xF554, 0x9950 }, + { 0xF555, 0x994E }, + { 0xF556, 0x9959 }, + { 0xF557, 0x994C }, + { 0xF558, 0x994B }, + { 0xF559, 0x9953 }, + { 0xF55A, 0x9A32 }, + { 0xF55B, 0x9A34 }, + { 0xF55C, 0x9A31 }, + { 0xF55D, 0x9A2C }, + { 0xF55E, 0x9A2A }, + { 0xF55F, 0x9A36 }, + { 0xF560, 0x9A29 }, + { 0xF561, 0x9A2E }, + { 0xF562, 0x9A38 }, + { 0xF563, 0x9A2D }, + { 0xF564, 0x9AC7 }, + { 0xF565, 0x9ACA }, + { 0xF566, 0x9AC6 }, + { 0xF567, 0x9B10 }, + { 0xF568, 0x9B12 }, + { 0xF569, 0x9B11 }, + { 0xF56A, 0x9C0B }, + { 0xF56B, 0x9C08 }, + { 0xF56C, 0x9BF7 }, + { 0xF56D, 0x9C05 }, + { 0xF56E, 0x9C12 }, + { 0xF56F, 0x9BF8 }, + { 0xF570, 0x9C40 }, + { 0xF571, 0x9C07 }, + { 0xF572, 0x9C0E }, + { 0xF573, 0x9C06 }, + { 0xF574, 0x9C17 }, + { 0xF575, 0x9C14 }, + { 0xF576, 0x9C09 }, + { 0xF577, 0x9D9F }, + { 0xF578, 0x9D99 }, + { 0xF579, 0x9DA4 }, + { 0xF57A, 0x9D9D }, + { 0xF57B, 0x9D92 }, + { 0xF57C, 0x9D98 }, + { 0xF57D, 0x9D90 }, + { 0xF57E, 0x9D9B }, + { 0xF5A1, 0x9DA0 }, + { 0xF5A2, 0x9D94 }, + { 0xF5A3, 0x9D9C }, + { 0xF5A4, 0x9DAA }, + { 0xF5A5, 0x9D97 }, + { 0xF5A6, 0x9DA1 }, + { 0xF5A7, 0x9D9A }, + { 0xF5A8, 0x9DA2 }, + { 0xF5A9, 0x9DA8 }, + { 0xF5AA, 0x9D9E }, + { 0xF5AB, 0x9DA3 }, + { 0xF5AC, 0x9DBF }, + { 0xF5AD, 0x9DA9 }, + { 0xF5AE, 0x9D96 }, + { 0xF5AF, 0x9DA6 }, + { 0xF5B0, 0x9DA7 }, + { 0xF5B1, 0x9E99 }, + { 0xF5B2, 0x9E9B }, + { 0xF5B3, 0x9E9A }, + { 0xF5B4, 0x9EE5 }, + { 0xF5B5, 0x9EE4 }, + { 0xF5B6, 0x9EE7 }, + { 0xF5B7, 0x9EE6 }, + { 0xF5B8, 0x9F30 }, + { 0xF5B9, 0x9F2E }, + { 0xF5BA, 0x9F5B }, + { 0xF5BB, 0x9F60 }, + { 0xF5BC, 0x9F5E }, + { 0xF5BD, 0x9F5D }, + { 0xF5BE, 0x9F59 }, + { 0xF5BF, 0x9F91 }, + { 0xF5C0, 0x513A }, + { 0xF5C1, 0x5139 }, + { 0xF5C2, 0x5298 }, + { 0xF5C3, 0x5297 }, + { 0xF5C4, 0x56C3 }, + { 0xF5C5, 0x56BD }, + { 0xF5C6, 0x56BE }, + { 0xF5C7, 0x5B48 }, + { 0xF5C8, 0x5B47 }, + { 0xF5C9, 0x5DCB }, + { 0xF5CA, 0x5DCF }, + { 0xF5CB, 0x5EF1 }, + { 0xF5CC, 0x61FD }, + { 0xF5CD, 0x651B }, + { 0xF5CE, 0x6B02 }, + { 0xF5CF, 0x6AFC }, + { 0xF5D0, 0x6B03 }, + { 0xF5D1, 0x6AF8 }, + { 0xF5D2, 0x6B00 }, + { 0xF5D3, 0x7043 }, + { 0xF5D4, 0x7044 }, + { 0xF5D5, 0x704A }, + { 0xF5D6, 0x7048 }, + { 0xF5D7, 0x7049 }, + { 0xF5D8, 0x7045 }, + { 0xF5D9, 0x7046 }, + { 0xF5DA, 0x721D }, + { 0xF5DB, 0x721A }, + { 0xF5DC, 0x7219 }, + { 0xF5DD, 0x737E }, + { 0xF5DE, 0x7517 }, + { 0xF5DF, 0x766A }, + { 0xF5E0, 0x77D0 }, + { 0xF5E1, 0x792D }, + { 0xF5E2, 0x7931 }, + { 0xF5E3, 0x792F }, + { 0xF5E4, 0x7C54 }, + { 0xF5E5, 0x7C53 }, + { 0xF5E6, 0x7CF2 }, + { 0xF5E7, 0x7E8A }, + { 0xF5E8, 0x7E87 }, + { 0xF5E9, 0x7E88 }, + { 0xF5EA, 0x7E8B }, + { 0xF5EB, 0x7E86 }, + { 0xF5EC, 0x7E8D }, + { 0xF5ED, 0x7F4D }, + { 0xF5EE, 0x7FBB }, + { 0xF5EF, 0x8030 }, + { 0xF5F0, 0x81DD }, + { 0xF5F1, 0x8618 }, + { 0xF5F2, 0x862A }, + { 0xF5F3, 0x8626 }, + { 0xF5F4, 0x861F }, + { 0xF5F5, 0x8623 }, + { 0xF5F6, 0x861C }, + { 0xF5F7, 0x8619 }, + { 0xF5F8, 0x8627 }, + { 0xF5F9, 0x862E }, + { 0xF5FA, 0x8621 }, + { 0xF5FB, 0x8620 }, + { 0xF5FC, 0x8629 }, + { 0xF5FD, 0x861E }, + { 0xF5FE, 0x8625 }, + { 0xF640, 0x8829 }, + { 0xF641, 0x881D }, + { 0xF642, 0x881B }, + { 0xF643, 0x8820 }, + { 0xF644, 0x8824 }, + { 0xF645, 0x881C }, + { 0xF646, 0x882B }, + { 0xF647, 0x884A }, + { 0xF648, 0x896D }, + { 0xF649, 0x8969 }, + { 0xF64A, 0x896E }, + { 0xF64B, 0x896B }, + { 0xF64C, 0x89FA }, + { 0xF64D, 0x8B79 }, + { 0xF64E, 0x8B78 }, + { 0xF64F, 0x8B45 }, + { 0xF650, 0x8B7A }, + { 0xF651, 0x8B7B }, + { 0xF652, 0x8D10 }, + { 0xF653, 0x8D14 }, + { 0xF654, 0x8DAF }, + { 0xF655, 0x8E8E }, + { 0xF656, 0x8E8C }, + { 0xF657, 0x8F5E }, + { 0xF658, 0x8F5B }, + { 0xF659, 0x8F5D }, + { 0xF65A, 0x9146 }, + { 0xF65B, 0x9144 }, + { 0xF65C, 0x9145 }, + { 0xF65D, 0x91B9 }, + { 0xF65E, 0x943F }, + { 0xF65F, 0x943B }, + { 0xF660, 0x9436 }, + { 0xF661, 0x9429 }, + { 0xF662, 0x943D }, + { 0xF663, 0x943C }, + { 0xF664, 0x9430 }, + { 0xF665, 0x9439 }, + { 0xF666, 0x942A }, + { 0xF667, 0x9437 }, + { 0xF668, 0x942C }, + { 0xF669, 0x9440 }, + { 0xF66A, 0x9431 }, + { 0xF66B, 0x95E5 }, + { 0xF66C, 0x95E4 }, + { 0xF66D, 0x95E3 }, + { 0xF66E, 0x9735 }, + { 0xF66F, 0x973A }, + { 0xF670, 0x97BF }, + { 0xF671, 0x97E1 }, + { 0xF672, 0x9864 }, + { 0xF673, 0x98C9 }, + { 0xF674, 0x98C6 }, + { 0xF675, 0x98C0 }, + { 0xF676, 0x9958 }, + { 0xF677, 0x9956 }, + { 0xF678, 0x9A39 }, + { 0xF679, 0x9A3D }, + { 0xF67A, 0x9A46 }, + { 0xF67B, 0x9A44 }, + { 0xF67C, 0x9A42 }, + { 0xF67D, 0x9A41 }, + { 0xF67E, 0x9A3A }, + { 0xF6A1, 0x9A3F }, + { 0xF6A2, 0x9ACD }, + { 0xF6A3, 0x9B15 }, + { 0xF6A4, 0x9B17 }, + { 0xF6A5, 0x9B18 }, + { 0xF6A6, 0x9B16 }, + { 0xF6A7, 0x9B3A }, + { 0xF6A8, 0x9B52 }, + { 0xF6A9, 0x9C2B }, + { 0xF6AA, 0x9C1D }, + { 0xF6AB, 0x9C1C }, + { 0xF6AC, 0x9C2C }, + { 0xF6AD, 0x9C23 }, + { 0xF6AE, 0x9C28 }, + { 0xF6AF, 0x9C29 }, + { 0xF6B0, 0x9C24 }, + { 0xF6B1, 0x9C21 }, + { 0xF6B2, 0x9DB7 }, + { 0xF6B3, 0x9DB6 }, + { 0xF6B4, 0x9DBC }, + { 0xF6B5, 0x9DC1 }, + { 0xF6B6, 0x9DC7 }, + { 0xF6B7, 0x9DCA }, + { 0xF6B8, 0x9DCF }, + { 0xF6B9, 0x9DBE }, + { 0xF6BA, 0x9DC5 }, + { 0xF6BB, 0x9DC3 }, + { 0xF6BC, 0x9DBB }, + { 0xF6BD, 0x9DB5 }, + { 0xF6BE, 0x9DCE }, + { 0xF6BF, 0x9DB9 }, + { 0xF6C0, 0x9DBA }, + { 0xF6C1, 0x9DAC }, + { 0xF6C2, 0x9DC8 }, + { 0xF6C3, 0x9DB1 }, + { 0xF6C4, 0x9DAD }, + { 0xF6C5, 0x9DCC }, + { 0xF6C6, 0x9DB3 }, + { 0xF6C7, 0x9DCD }, + { 0xF6C8, 0x9DB2 }, + { 0xF6C9, 0x9E7A }, + { 0xF6CA, 0x9E9C }, + { 0xF6CB, 0x9EEB }, + { 0xF6CC, 0x9EEE }, + { 0xF6CD, 0x9EED }, + { 0xF6CE, 0x9F1B }, + { 0xF6CF, 0x9F18 }, + { 0xF6D0, 0x9F1A }, + { 0xF6D1, 0x9F31 }, + { 0xF6D2, 0x9F4E }, + { 0xF6D3, 0x9F65 }, + { 0xF6D4, 0x9F64 }, + { 0xF6D5, 0x9F92 }, + { 0xF6D6, 0x4EB9 }, + { 0xF6D7, 0x56C6 }, + { 0xF6D8, 0x56C5 }, + { 0xF6D9, 0x56CB }, + { 0xF6DA, 0x5971 }, + { 0xF6DB, 0x5B4B }, + { 0xF6DC, 0x5B4C }, + { 0xF6DD, 0x5DD5 }, + { 0xF6DE, 0x5DD1 }, + { 0xF6DF, 0x5EF2 }, + { 0xF6E0, 0x6521 }, + { 0xF6E1, 0x6520 }, + { 0xF6E2, 0x6526 }, + { 0xF6E3, 0x6522 }, + { 0xF6E4, 0x6B0B }, + { 0xF6E5, 0x6B08 }, + { 0xF6E6, 0x6B09 }, + { 0xF6E7, 0x6C0D }, + { 0xF6E8, 0x7055 }, + { 0xF6E9, 0x7056 }, + { 0xF6EA, 0x7057 }, + { 0xF6EB, 0x7052 }, + { 0xF6EC, 0x721E }, + { 0xF6ED, 0x721F }, + { 0xF6EE, 0x72A9 }, + { 0xF6EF, 0x737F }, + { 0xF6F0, 0x74D8 }, + { 0xF6F1, 0x74D5 }, + { 0xF6F2, 0x74D9 }, + { 0xF6F3, 0x74D7 }, + { 0xF6F4, 0x766D }, + { 0xF6F5, 0x76AD }, + { 0xF6F6, 0x7935 }, + { 0xF6F7, 0x79B4 }, + { 0xF6F8, 0x7A70 }, + { 0xF6F9, 0x7A71 }, + { 0xF6FA, 0x7C57 }, + { 0xF6FB, 0x7C5C }, + { 0xF6FC, 0x7C59 }, + { 0xF6FD, 0x7C5B }, + { 0xF6FE, 0x7C5A }, + { 0xF740, 0x7CF4 }, + { 0xF741, 0x7CF1 }, + { 0xF742, 0x7E91 }, + { 0xF743, 0x7F4F }, + { 0xF744, 0x7F87 }, + { 0xF745, 0x81DE }, + { 0xF746, 0x826B }, + { 0xF747, 0x8634 }, + { 0xF748, 0x8635 }, + { 0xF749, 0x8633 }, + { 0xF74A, 0x862C }, + { 0xF74B, 0x8632 }, + { 0xF74C, 0x8636 }, + { 0xF74D, 0x882C }, + { 0xF74E, 0x8828 }, + { 0xF74F, 0x8826 }, + { 0xF750, 0x882A }, + { 0xF751, 0x8825 }, + { 0xF752, 0x8971 }, + { 0xF753, 0x89BF }, + { 0xF754, 0x89BE }, + { 0xF755, 0x89FB }, + { 0xF756, 0x8B7E }, + { 0xF757, 0x8B84 }, + { 0xF758, 0x8B82 }, + { 0xF759, 0x8B86 }, + { 0xF75A, 0x8B85 }, + { 0xF75B, 0x8B7F }, + { 0xF75C, 0x8D15 }, + { 0xF75D, 0x8E95 }, + { 0xF75E, 0x8E94 }, + { 0xF75F, 0x8E9A }, + { 0xF760, 0x8E92 }, + { 0xF761, 0x8E90 }, + { 0xF762, 0x8E96 }, + { 0xF763, 0x8E97 }, + { 0xF764, 0x8F60 }, + { 0xF765, 0x8F62 }, + { 0xF766, 0x9147 }, + { 0xF767, 0x944C }, + { 0xF768, 0x9450 }, + { 0xF769, 0x944A }, + { 0xF76A, 0x944B }, + { 0xF76B, 0x944F }, + { 0xF76C, 0x9447 }, + { 0xF76D, 0x9445 }, + { 0xF76E, 0x9448 }, + { 0xF76F, 0x9449 }, + { 0xF770, 0x9446 }, + { 0xF771, 0x973F }, + { 0xF772, 0x97E3 }, + { 0xF773, 0x986A }, + { 0xF774, 0x9869 }, + { 0xF775, 0x98CB }, + { 0xF776, 0x9954 }, + { 0xF777, 0x995B }, + { 0xF778, 0x9A4E }, + { 0xF779, 0x9A53 }, + { 0xF77A, 0x9A54 }, + { 0xF77B, 0x9A4C }, + { 0xF77C, 0x9A4F }, + { 0xF77D, 0x9A48 }, + { 0xF77E, 0x9A4A }, + { 0xF7A1, 0x9A49 }, + { 0xF7A2, 0x9A52 }, + { 0xF7A3, 0x9A50 }, + { 0xF7A4, 0x9AD0 }, + { 0xF7A5, 0x9B19 }, + { 0xF7A6, 0x9B2B }, + { 0xF7A7, 0x9B3B }, + { 0xF7A8, 0x9B56 }, + { 0xF7A9, 0x9B55 }, + { 0xF7AA, 0x9C46 }, + { 0xF7AB, 0x9C48 }, + { 0xF7AC, 0x9C3F }, + { 0xF7AD, 0x9C44 }, + { 0xF7AE, 0x9C39 }, + { 0xF7AF, 0x9C33 }, + { 0xF7B0, 0x9C41 }, + { 0xF7B1, 0x9C3C }, + { 0xF7B2, 0x9C37 }, + { 0xF7B3, 0x9C34 }, + { 0xF7B4, 0x9C32 }, + { 0xF7B5, 0x9C3D }, + { 0xF7B6, 0x9C36 }, + { 0xF7B7, 0x9DDB }, + { 0xF7B8, 0x9DD2 }, + { 0xF7B9, 0x9DDE }, + { 0xF7BA, 0x9DDA }, + { 0xF7BB, 0x9DCB }, + { 0xF7BC, 0x9DD0 }, + { 0xF7BD, 0x9DDC }, + { 0xF7BE, 0x9DD1 }, + { 0xF7BF, 0x9DDF }, + { 0xF7C0, 0x9DE9 }, + { 0xF7C1, 0x9DD9 }, + { 0xF7C2, 0x9DD8 }, + { 0xF7C3, 0x9DD6 }, + { 0xF7C4, 0x9DF5 }, + { 0xF7C5, 0x9DD5 }, + { 0xF7C6, 0x9DDD }, + { 0xF7C7, 0x9EB6 }, + { 0xF7C8, 0x9EF0 }, + { 0xF7C9, 0x9F35 }, + { 0xF7CA, 0x9F33 }, + { 0xF7CB, 0x9F32 }, + { 0xF7CC, 0x9F42 }, + { 0xF7CD, 0x9F6B }, + { 0xF7CE, 0x9F95 }, + { 0xF7CF, 0x9FA2 }, + { 0xF7D0, 0x513D }, + { 0xF7D1, 0x5299 }, + { 0xF7D2, 0x58E8 }, + { 0xF7D3, 0x58E7 }, + { 0xF7D4, 0x5972 }, + { 0xF7D5, 0x5B4D }, + { 0xF7D6, 0x5DD8 }, + { 0xF7D7, 0x882F }, + { 0xF7D8, 0x5F4F }, + { 0xF7D9, 0x6201 }, + { 0xF7DA, 0x6203 }, + { 0xF7DB, 0x6204 }, + { 0xF7DC, 0x6529 }, + { 0xF7DD, 0x6525 }, + { 0xF7DE, 0x6596 }, + { 0xF7DF, 0x66EB }, + { 0xF7E0, 0x6B11 }, + { 0xF7E1, 0x6B12 }, + { 0xF7E2, 0x6B0F }, + { 0xF7E3, 0x6BCA }, + { 0xF7E4, 0x705B }, + { 0xF7E5, 0x705A }, + { 0xF7E6, 0x7222 }, + { 0xF7E7, 0x7382 }, + { 0xF7E8, 0x7381 }, + { 0xF7E9, 0x7383 }, + { 0xF7EA, 0x7670 }, + { 0xF7EB, 0x77D4 }, + { 0xF7EC, 0x7C67 }, + { 0xF7ED, 0x7C66 }, + { 0xF7EE, 0x7E95 }, + { 0xF7EF, 0x826C }, + { 0xF7F0, 0x863A }, + { 0xF7F1, 0x8640 }, + { 0xF7F2, 0x8639 }, + { 0xF7F3, 0x863C }, + { 0xF7F4, 0x8631 }, + { 0xF7F5, 0x863B }, + { 0xF7F6, 0x863E }, + { 0xF7F7, 0x8830 }, + { 0xF7F8, 0x8832 }, + { 0xF7F9, 0x882E }, + { 0xF7FA, 0x8833 }, + { 0xF7FB, 0x8976 }, + { 0xF7FC, 0x8974 }, + { 0xF7FD, 0x8973 }, + { 0xF7FE, 0x89FE }, + { 0xF840, 0x8B8C }, + { 0xF841, 0x8B8E }, + { 0xF842, 0x8B8B }, + { 0xF843, 0x8B88 }, + { 0xF844, 0x8C45 }, + { 0xF845, 0x8D19 }, + { 0xF846, 0x8E98 }, + { 0xF847, 0x8F64 }, + { 0xF848, 0x8F63 }, + { 0xF849, 0x91BC }, + { 0xF84A, 0x9462 }, + { 0xF84B, 0x9455 }, + { 0xF84C, 0x945D }, + { 0xF84D, 0x9457 }, + { 0xF84E, 0x945E }, + { 0xF84F, 0x97C4 }, + { 0xF850, 0x97C5 }, + { 0xF851, 0x9800 }, + { 0xF852, 0x9A56 }, + { 0xF853, 0x9A59 }, + { 0xF854, 0x9B1E }, + { 0xF855, 0x9B1F }, + { 0xF856, 0x9B20 }, + { 0xF857, 0x9C52 }, + { 0xF858, 0x9C58 }, + { 0xF859, 0x9C50 }, + { 0xF85A, 0x9C4A }, + { 0xF85B, 0x9C4D }, + { 0xF85C, 0x9C4B }, + { 0xF85D, 0x9C55 }, + { 0xF85E, 0x9C59 }, + { 0xF85F, 0x9C4C }, + { 0xF860, 0x9C4E }, + { 0xF861, 0x9DFB }, + { 0xF862, 0x9DF7 }, + { 0xF863, 0x9DEF }, + { 0xF864, 0x9DE3 }, + { 0xF865, 0x9DEB }, + { 0xF866, 0x9DF8 }, + { 0xF867, 0x9DE4 }, + { 0xF868, 0x9DF6 }, + { 0xF869, 0x9DE1 }, + { 0xF86A, 0x9DEE }, + { 0xF86B, 0x9DE6 }, + { 0xF86C, 0x9DF2 }, + { 0xF86D, 0x9DF0 }, + { 0xF86E, 0x9DE2 }, + { 0xF86F, 0x9DEC }, + { 0xF870, 0x9DF4 }, + { 0xF871, 0x9DF3 }, + { 0xF872, 0x9DE8 }, + { 0xF873, 0x9DED }, + { 0xF874, 0x9EC2 }, + { 0xF875, 0x9ED0 }, + { 0xF876, 0x9EF2 }, + { 0xF877, 0x9EF3 }, + { 0xF878, 0x9F06 }, + { 0xF879, 0x9F1C }, + { 0xF87A, 0x9F38 }, + { 0xF87B, 0x9F37 }, + { 0xF87C, 0x9F36 }, + { 0xF87D, 0x9F43 }, + { 0xF87E, 0x9F4F }, + { 0xF8A1, 0x9F71 }, + { 0xF8A2, 0x9F70 }, + { 0xF8A3, 0x9F6E }, + { 0xF8A4, 0x9F6F }, + { 0xF8A5, 0x56D3 }, + { 0xF8A6, 0x56CD }, + { 0xF8A7, 0x5B4E }, + { 0xF8A8, 0x5C6D }, + { 0xF8A9, 0x652D }, + { 0xF8AA, 0x66ED }, + { 0xF8AB, 0x66EE }, + { 0xF8AC, 0x6B13 }, + { 0xF8AD, 0x705F }, + { 0xF8AE, 0x7061 }, + { 0xF8AF, 0x705D }, + { 0xF8B0, 0x7060 }, + { 0xF8B1, 0x7223 }, + { 0xF8B2, 0x74DB }, + { 0xF8B3, 0x74E5 }, + { 0xF8B4, 0x77D5 }, + { 0xF8B5, 0x7938 }, + { 0xF8B6, 0x79B7 }, + { 0xF8B7, 0x79B6 }, + { 0xF8B8, 0x7C6A }, + { 0xF8B9, 0x7E97 }, + { 0xF8BA, 0x7F89 }, + { 0xF8BB, 0x826D }, + { 0xF8BC, 0x8643 }, + { 0xF8BD, 0x8838 }, + { 0xF8BE, 0x8837 }, + { 0xF8BF, 0x8835 }, + { 0xF8C0, 0x884B }, + { 0xF8C1, 0x8B94 }, + { 0xF8C2, 0x8B95 }, + { 0xF8C3, 0x8E9E }, + { 0xF8C4, 0x8E9F }, + { 0xF8C5, 0x8EA0 }, + { 0xF8C6, 0x8E9D }, + { 0xF8C7, 0x91BE }, + { 0xF8C8, 0x91BD }, + { 0xF8C9, 0x91C2 }, + { 0xF8CA, 0x946B }, + { 0xF8CB, 0x9468 }, + { 0xF8CC, 0x9469 }, + { 0xF8CD, 0x96E5 }, + { 0xF8CE, 0x9746 }, + { 0xF8CF, 0x9743 }, + { 0xF8D0, 0x9747 }, + { 0xF8D1, 0x97C7 }, + { 0xF8D2, 0x97E5 }, + { 0xF8D3, 0x9A5E }, + { 0xF8D4, 0x9AD5 }, + { 0xF8D5, 0x9B59 }, + { 0xF8D6, 0x9C63 }, + { 0xF8D7, 0x9C67 }, + { 0xF8D8, 0x9C66 }, + { 0xF8D9, 0x9C62 }, + { 0xF8DA, 0x9C5E }, + { 0xF8DB, 0x9C60 }, + { 0xF8DC, 0x9E02 }, + { 0xF8DD, 0x9DFE }, + { 0xF8DE, 0x9E07 }, + { 0xF8DF, 0x9E03 }, + { 0xF8E0, 0x9E06 }, + { 0xF8E1, 0x9E05 }, + { 0xF8E2, 0x9E00 }, + { 0xF8E3, 0x9E01 }, + { 0xF8E4, 0x9E09 }, + { 0xF8E5, 0x9DFF }, + { 0xF8E6, 0x9DFD }, + { 0xF8E7, 0x9E04 }, + { 0xF8E8, 0x9EA0 }, + { 0xF8E9, 0x9F1E }, + { 0xF8EA, 0x9F46 }, + { 0xF8EB, 0x9F74 }, + { 0xF8EC, 0x9F75 }, + { 0xF8ED, 0x9F76 }, + { 0xF8EE, 0x56D4 }, + { 0xF8EF, 0x652E }, + { 0xF8F0, 0x65B8 }, + { 0xF8F1, 0x6B18 }, + { 0xF8F2, 0x6B19 }, + { 0xF8F3, 0x6B17 }, + { 0xF8F4, 0x6B1A }, + { 0xF8F5, 0x7062 }, + { 0xF8F6, 0x7226 }, + { 0xF8F7, 0x72AA }, + { 0xF8F8, 0x77D8 }, + { 0xF8F9, 0x77D9 }, + { 0xF8FA, 0x7939 }, + { 0xF8FB, 0x7C69 }, + { 0xF8FC, 0x7C6B }, + { 0xF8FD, 0x7CF6 }, + { 0xF8FE, 0x7E9A }, + { 0xF940, 0x7E98 }, + { 0xF941, 0x7E9B }, + { 0xF942, 0x7E99 }, + { 0xF943, 0x81E0 }, + { 0xF944, 0x81E1 }, + { 0xF945, 0x8646 }, + { 0xF946, 0x8647 }, + { 0xF947, 0x8648 }, + { 0xF948, 0x8979 }, + { 0xF949, 0x897A }, + { 0xF94A, 0x897C }, + { 0xF94B, 0x897B }, + { 0xF94C, 0x89FF }, + { 0xF94D, 0x8B98 }, + { 0xF94E, 0x8B99 }, + { 0xF94F, 0x8EA5 }, + { 0xF950, 0x8EA4 }, + { 0xF951, 0x8EA3 }, + { 0xF952, 0x946E }, + { 0xF953, 0x946D }, + { 0xF954, 0x946F }, + { 0xF955, 0x9471 }, + { 0xF956, 0x9473 }, + { 0xF957, 0x9749 }, + { 0xF958, 0x9872 }, + { 0xF959, 0x995F }, + { 0xF95A, 0x9C68 }, + { 0xF95B, 0x9C6E }, + { 0xF95C, 0x9C6D }, + { 0xF95D, 0x9E0B }, + { 0xF95E, 0x9E0D }, + { 0xF95F, 0x9E10 }, + { 0xF960, 0x9E0F }, + { 0xF961, 0x9E12 }, + { 0xF962, 0x9E11 }, + { 0xF963, 0x9EA1 }, + { 0xF964, 0x9EF5 }, + { 0xF965, 0x9F09 }, + { 0xF966, 0x9F47 }, + { 0xF967, 0x9F78 }, + { 0xF968, 0x9F7B }, + { 0xF969, 0x9F7A }, + { 0xF96A, 0x9F79 }, + { 0xF96B, 0x571E }, + { 0xF96C, 0x7066 }, + { 0xF96D, 0x7C6F }, + { 0xF96E, 0x883C }, + { 0xF96F, 0x8DB2 }, + { 0xF970, 0x8EA6 }, + { 0xF971, 0x91C3 }, + { 0xF972, 0x9474 }, + { 0xF973, 0x9478 }, + { 0xF974, 0x9476 }, + { 0xF975, 0x9475 }, + { 0xF976, 0x9A60 }, + { 0xF977, 0x9C74 }, + { 0xF978, 0x9C73 }, + { 0xF979, 0x9C71 }, + { 0xF97A, 0x9C75 }, + { 0xF97B, 0x9E14 }, + { 0xF97C, 0x9E13 }, + { 0xF97D, 0x9EF6 }, + { 0xF97E, 0x9F0A }, + { 0xF9A1, 0x9FA4 }, + { 0xF9A2, 0x7068 }, + { 0xF9A3, 0x7065 }, + { 0xF9A4, 0x7CF7 }, + { 0xF9A5, 0x866A }, + { 0xF9A6, 0x883E }, + { 0xF9A7, 0x883D }, + { 0xF9A8, 0x883F }, + { 0xF9A9, 0x8B9E }, + { 0xF9AA, 0x8C9C }, + { 0xF9AB, 0x8EA9 }, + { 0xF9AC, 0x8EC9 }, + { 0xF9AD, 0x974B }, + { 0xF9AE, 0x9873 }, + { 0xF9AF, 0x9874 }, + { 0xF9B0, 0x98CC }, + { 0xF9B1, 0x9961 }, + { 0xF9B2, 0x99AB }, + { 0xF9B3, 0x9A64 }, + { 0xF9B4, 0x9A66 }, + { 0xF9B5, 0x9A67 }, + { 0xF9B6, 0x9B24 }, + { 0xF9B7, 0x9E15 }, + { 0xF9B8, 0x9E17 }, + { 0xF9B9, 0x9F48 }, + { 0xF9BA, 0x6207 }, + { 0xF9BB, 0x6B1E }, + { 0xF9BC, 0x7227 }, + { 0xF9BD, 0x864C }, + { 0xF9BE, 0x8EA8 }, + { 0xF9BF, 0x9482 }, + { 0xF9C0, 0x9480 }, + { 0xF9C1, 0x9481 }, + { 0xF9C2, 0x9A69 }, + { 0xF9C3, 0x9A68 }, + { 0xF9C4, 0x9B2E }, + { 0xF9C5, 0x9E19 }, + { 0xF9C6, 0x7229 }, + { 0xF9C7, 0x864B }, + { 0xF9C8, 0x8B9F }, + { 0xF9C9, 0x9483 }, + { 0xF9CA, 0x9C79 }, + { 0xF9CB, 0x9EB7 }, + { 0xF9CC, 0x7675 }, + { 0xF9CD, 0x9A6B }, + { 0xF9CE, 0x9C7A }, + { 0xF9CF, 0x9E1D }, + { 0xF9D0, 0x7069 }, + { 0xF9D1, 0x706A }, + { 0xF9D2, 0x9EA4 }, + { 0xF9D3, 0x9F7E }, + { 0xF9D4, 0x9F49 }, + { 0xF9D5, 0x9F98 }, }; diff --git a/src/openrct2/localisation/currency.c b/src/openrct2/localisation/currency.c index d9cb122aa0..591e3f74ec 100644 --- a/src/openrct2/localisation/currency.c +++ b/src/openrct2/localisation/currency.c @@ -20,31 +20,31 @@ #include "string_ids.h" currency_descriptor CurrencyDescriptors[CURRENCY_END] = { - { "GBP", 10, CURRENCY_PREFIX, "\xC2\xA3", CURRENCY_SUFFIX, "GBP", STR_POUNDS }, // British Pound - { "USD", 10, CURRENCY_PREFIX, "$", CURRENCY_PREFIX, "$", STR_DOLLARS }, // US Dollar - { "FRF", 10, CURRENCY_SUFFIX, "F", CURRENCY_SUFFIX, "F", STR_FRANC }, // French Franc - { "DEM", 10, CURRENCY_PREFIX, "DM", CURRENCY_PREFIX, "DM", STR_DEUTSCHMARK }, // Deutschmark - { "JPY", 1000, CURRENCY_PREFIX, "\xC2\xA5", CURRENCY_SUFFIX, "YEN", STR_YEN }, // Japanese Yen - { "ESP", 10, CURRENCY_SUFFIX, "Pts", CURRENCY_SUFFIX, "Pts", STR_PESETA }, // Spanish Peseta - { "ITL", 1000, CURRENCY_PREFIX, "L", CURRENCY_PREFIX, "L", STR_LIRA }, // Italian Lira - { "NLG", 10, CURRENCY_PREFIX, "\xC6\x92", CURRENCY_PREFIX, "fl.", STR_GUILDERS }, // Dutch Guilder - { "SEK", 10, CURRENCY_SUFFIX, " kr", CURRENCY_SUFFIX, " kr", STR_KRONA }, // Swedish Krona - { "EUR", 10, CURRENCY_PREFIX, "\xE2\x82\xAC", CURRENCY_SUFFIX, "EUR", STR_EUROS }, // Euro - { "KRW", 10000, CURRENCY_PREFIX, "\xE2\x82\xA9", CURRENCY_PREFIX, "W", STR_WON }, // South Korean Won - { "RUB", 1000, CURRENCY_PREFIX, "R ", CURRENCY_PREFIX, "R ", STR_ROUBLE }, // Russian Rouble - { "CZK", 100, CURRENCY_SUFFIX, " K\xC4\x8D", CURRENCY_SUFFIX, " Kc", STR_CZECH_KORUNA }, // Czech koruna - { "HKD", 100, CURRENCY_PREFIX, "$", CURRENCY_PREFIX, "HKD", STR_HONG_KONG_DOLLAR}, // Hong Kong Dollar - { "TWD", 1000, CURRENCY_PREFIX, "NT$", CURRENCY_PREFIX, "NT$", STR_NEW_TAIWAN_DOLLAR}, // New Taiwan Dollar - { "CNY", 100, CURRENCY_PREFIX, "CN\xC2\xA5", CURRENCY_PREFIX, "CNY", STR_CHINESE_YUAN }, // Chinese Yuan - { "CTM", 10, CURRENCY_PREFIX, "Ctm", CURRENCY_PREFIX, "Ctm", STR_CUSTOM_CURRENCY }, // Customizable currency + { "GBP", 10, CURRENCY_PREFIX, "\xC2\xA3", CURRENCY_SUFFIX, "GBP", STR_POUNDS }, // British Pound + { "USD", 10, CURRENCY_PREFIX, "$", CURRENCY_PREFIX, "$", STR_DOLLARS }, // US Dollar + { "FRF", 10, CURRENCY_SUFFIX, "F", CURRENCY_SUFFIX, "F", STR_FRANC }, // French Franc + { "DEM", 10, CURRENCY_PREFIX, "DM", CURRENCY_PREFIX, "DM", STR_DEUTSCHMARK }, // Deutschmark + { "JPY", 1000, CURRENCY_PREFIX, "\xC2\xA5", CURRENCY_SUFFIX, "YEN", STR_YEN }, // Japanese Yen + { "ESP", 10, CURRENCY_SUFFIX, "Pts", CURRENCY_SUFFIX, "Pts", STR_PESETA }, // Spanish Peseta + { "ITL", 1000, CURRENCY_PREFIX, "L", CURRENCY_PREFIX, "L", STR_LIRA }, // Italian Lira + { "NLG", 10, CURRENCY_PREFIX, "\xC6\x92", CURRENCY_PREFIX, "fl.", STR_GUILDERS }, // Dutch Guilder + { "SEK", 10, CURRENCY_SUFFIX, " kr", CURRENCY_SUFFIX, " kr", STR_KRONA }, // Swedish Krona + { "EUR", 10, CURRENCY_PREFIX, "\xE2\x82\xAC", CURRENCY_SUFFIX, "EUR", STR_EUROS }, // Euro + { "KRW", 10000, CURRENCY_PREFIX, "\xE2\x82\xA9", CURRENCY_PREFIX, "W", STR_WON }, // South Korean Won + { "RUB", 1000, CURRENCY_PREFIX, "R ", CURRENCY_PREFIX, "R ", STR_ROUBLE }, // Russian Rouble + { "CZK", 100, CURRENCY_SUFFIX, " K\xC4\x8D", CURRENCY_SUFFIX, " Kc", STR_CZECH_KORUNA }, // Czech koruna + { "HKD", 100, CURRENCY_PREFIX, "$", CURRENCY_PREFIX, "HKD", STR_HONG_KONG_DOLLAR}, // Hong Kong Dollar + { "TWD", 1000, CURRENCY_PREFIX, "NT$", CURRENCY_PREFIX, "NT$", STR_NEW_TAIWAN_DOLLAR}, // New Taiwan Dollar + { "CNY", 100, CURRENCY_PREFIX, "CN\xC2\xA5", CURRENCY_PREFIX, "CNY", STR_CHINESE_YUAN }, // Chinese Yuan + { "CTM", 10, CURRENCY_PREFIX, "Ctm", CURRENCY_PREFIX, "Ctm", STR_CUSTOM_CURRENCY }, // Customizable currency }; void currency_load_custom_currency_config() { - CurrencyDescriptors[CURRENCY_CUSTOM].rate = gConfigGeneral.custom_currency_rate; - CurrencyDescriptors[CURRENCY_CUSTOM].affix_unicode = gConfigGeneral.custom_currency_affix; - if (gConfigGeneral.custom_currency_symbol != NULL) - { - safe_strcpy(CurrencyDescriptors[CURRENCY_CUSTOM].symbol_unicode, gConfigGeneral.custom_currency_symbol, CURRENCY_SYMBOL_MAX_SIZE); - } + CurrencyDescriptors[CURRENCY_CUSTOM].rate = gConfigGeneral.custom_currency_rate; + CurrencyDescriptors[CURRENCY_CUSTOM].affix_unicode = gConfigGeneral.custom_currency_affix; + if (gConfigGeneral.custom_currency_symbol != NULL) + { + safe_strcpy(CurrencyDescriptors[CURRENCY_CUSTOM].symbol_unicode, gConfigGeneral.custom_currency_symbol, CURRENCY_SYMBOL_MAX_SIZE); + } } diff --git a/src/openrct2/localisation/currency.h b/src/openrct2/localisation/currency.h index 18efc2c535..4c876f854e 100644 --- a/src/openrct2/localisation/currency.h +++ b/src/openrct2/localisation/currency.h @@ -21,31 +21,31 @@ // List of currencies typedef enum { - CURRENCY_POUNDS, // British Pound - CURRENCY_DOLLARS, // US Dollar - CURRENCY_FRANC, // French Franc - CURRENCY_DEUTSCHMARK, // Deutsche Mark - CURRENCY_YEN, // Japanese Yen - CURRENCY_PESETA, // Spanish Peseta - CURRENCY_LIRA, // Italian Lira - CURRENCY_GUILDERS, // Dutch Gilder - CURRENCY_KRONA, // Swedish Krona - CURRENCY_EUROS, // Euro - CURRENCY_WON, // South Korean Won - CURRENCY_ROUBLE, // Russian Rouble - CURRENCY_CZECH_KORUNA, // Czech koruna - CURRENCY_HKD, // Hong Kong Dollar - CURRENCY_TWD, // New Taiwan Dollar - CURRENCY_YUAN, // Chinese Yuan + CURRENCY_POUNDS, // British Pound + CURRENCY_DOLLARS, // US Dollar + CURRENCY_FRANC, // French Franc + CURRENCY_DEUTSCHMARK, // Deutsche Mark + CURRENCY_YEN, // Japanese Yen + CURRENCY_PESETA, // Spanish Peseta + CURRENCY_LIRA, // Italian Lira + CURRENCY_GUILDERS, // Dutch Gilder + CURRENCY_KRONA, // Swedish Krona + CURRENCY_EUROS, // Euro + CURRENCY_WON, // South Korean Won + CURRENCY_ROUBLE, // Russian Rouble + CURRENCY_CZECH_KORUNA, // Czech koruna + CURRENCY_HKD, // Hong Kong Dollar + CURRENCY_TWD, // New Taiwan Dollar + CURRENCY_YUAN, // Chinese Yuan - CURRENCY_CUSTOM, // Custom currency + CURRENCY_CUSTOM, // Custom currency - CURRENCY_END // Last item + CURRENCY_END // Last item } CURRENCY_TYPE; typedef enum { - CURRENCY_PREFIX, - CURRENCY_SUFFIX + CURRENCY_PREFIX, + CURRENCY_SUFFIX } CURRENCY_AFFIX; #define CURRENCY_SYMBOL_MAX_SIZE 8 @@ -53,14 +53,14 @@ typedef enum { // Currency format specification - inspired by OpenTTD typedef struct currency_descriptor { - char isoCode[4]; - // Rate is relative to 0.10 GBP - sint32 rate; - uint8 affix_unicode; - utf8 symbol_unicode[CURRENCY_SYMBOL_MAX_SIZE]; - uint8 affix_ascii; - char symbol_ascii[CURRENCY_SYMBOL_MAX_SIZE]; - rct_string_id stringId; + char isoCode[4]; + // Rate is relative to 0.10 GBP + sint32 rate; + uint8 affix_unicode; + utf8 symbol_unicode[CURRENCY_SYMBOL_MAX_SIZE]; + uint8 affix_ascii; + char symbol_ascii[CURRENCY_SYMBOL_MAX_SIZE]; + rct_string_id stringId; } currency_descriptor; // List of currency formats diff --git a/src/openrct2/localisation/date.c b/src/openrct2/localisation/date.c index f395af514f..8ab6ccbad3 100644 --- a/src/openrct2/localisation/date.c +++ b/src/openrct2/localisation/date.c @@ -26,34 +26,34 @@ uint16 gDateMonthsElapsed; const sint16 days_in_month[MONTH_COUNT] = { 31, 30, 31, 30, 31, 31, 30, 31 }; const rct_string_id DateFormatStringIds[] = { - STR_DATE_FORMAT_DAY_MONTH_YEAR, - STR_DATE_FORMAT_MONTH_DAY_YEAR, - STR_DATE_FORMAT_YEAR_MONTH_DAY, - STR_DATE_FORMAT_YEAR_DAY_MONTH + STR_DATE_FORMAT_DAY_MONTH_YEAR, + STR_DATE_FORMAT_MONTH_DAY_YEAR, + STR_DATE_FORMAT_YEAR_MONTH_DAY, + STR_DATE_FORMAT_YEAR_DAY_MONTH }; const rct_string_id DateFormatStringFormatIds[] = { - STR_DATE_FORMAT_DMY, - STR_DATE_FORMAT_MDY, - STR_DATE_FORMAT_YMD, - STR_DATE_FORMAT_YDM + STR_DATE_FORMAT_DMY, + STR_DATE_FORMAT_MDY, + STR_DATE_FORMAT_YMD, + STR_DATE_FORMAT_YDM }; openrct_timeofday gRealTimeOfDay; sint32 date_get_month(sint32 months) { - return months % MONTH_COUNT; + return months % MONTH_COUNT; } sint32 date_get_year(sint32 months) { - return months / MONTH_COUNT; + return months / MONTH_COUNT; } sint32 date_get_total_months(sint32 month, sint32 year) { - return (year - 1) * MONTH_COUNT + month; + return (year - 1) * MONTH_COUNT + month; } /** @@ -62,17 +62,17 @@ sint32 date_get_total_months(sint32 month, sint32 year) */ void date_reset() { - gDateMonthsElapsed = 0; - gDateMonthTicks = 0; - gCurrentTicks = 0; + gDateMonthsElapsed = 0; + gDateMonthTicks = 0; + gCurrentTicks = 0; } void date_update_real_time_of_day() { - time_t timestamp = time(0); - struct tm *now = localtime(×tamp); + time_t timestamp = time(0); + struct tm *now = localtime(×tamp); - gRealTimeOfDay.second = now->tm_sec; - gRealTimeOfDay.minute = now->tm_min; - gRealTimeOfDay.hour = now->tm_hour; + gRealTimeOfDay.second = now->tm_sec; + gRealTimeOfDay.minute = now->tm_min; + gRealTimeOfDay.hour = now->tm_hour; } diff --git a/src/openrct2/localisation/date.h b/src/openrct2/localisation/date.h index 1a67ebcc8e..9866b25bd7 100644 --- a/src/openrct2/localisation/date.h +++ b/src/openrct2/localisation/date.h @@ -20,29 +20,29 @@ #include "../common.h" enum { - MONTH_MARCH, - MONTH_APRIL, - MONTH_MAY, - MONTH_JUNE, - MONTH_JULY, - MONTH_AUGUST, - MONTH_SEPTEMBER, - MONTH_OCTOBER, + MONTH_MARCH, + MONTH_APRIL, + MONTH_MAY, + MONTH_JUNE, + MONTH_JULY, + MONTH_AUGUST, + MONTH_SEPTEMBER, + MONTH_OCTOBER, - MONTH_COUNT + MONTH_COUNT }; enum { - DATE_FORMAT_DAY_MONTH_YEAR, - DATE_FORMAT_MONTH_DAY_YEAR, - DATE_FORMAT_YEAR_MONTH_DAY, - DATE_FORMAT_YEAR_DAY_MONTH + DATE_FORMAT_DAY_MONTH_YEAR, + DATE_FORMAT_MONTH_DAY_YEAR, + DATE_FORMAT_YEAR_MONTH_DAY, + DATE_FORMAT_YEAR_DAY_MONTH }; typedef struct openrct_timeofday { - uint8 second; - uint8 minute; - uint8 hour; + uint8 second; + uint8 minute; + uint8 hour; } openrct_timeofday; extern const sint16 days_in_month[MONTH_COUNT]; diff --git a/src/openrct2/localisation/format_codes.c b/src/openrct2/localisation/format_codes.c index 6f5d7060a3..7fe9a514ae 100644 --- a/src/openrct2/localisation/format_codes.c +++ b/src/openrct2/localisation/format_codes.c @@ -21,122 +21,122 @@ #pragma region Format codes typedef struct format_code_token { - uint32 code; - const char *token; + uint32 code; + const char *token; } format_code_token; format_code_token format_code_tokens[] = { - { FORMAT_MOVE_X, "MOVE_X" }, - { FORMAT_ADJUST_PALETTE, "ADJUST_PALETTE" }, - { FORMAT_NEWLINE, "NEWLINE" }, - { FORMAT_NEWLINE_SMALLER, "NEWLINE_SMALLER" }, - { FORMAT_TINYFONT, "TINYFONT" }, - { FORMAT_BIGFONT, "BIGFONT" }, - { FORMAT_MEDIUMFONT, "MEDIUMFONT" }, - { FORMAT_SMALLFONT, "SMALLFONT" }, - { FORMAT_OUTLINE, "OUTLINE" }, - { FORMAT_OUTLINE_OFF, "OUTLINE_OFF" }, - { FORMAT_WINDOW_COLOUR_1, "WINDOW_COLOUR_1" }, - { FORMAT_WINDOW_COLOUR_2, "WINDOW_COLOUR_2" }, - { FORMAT_WINDOW_COLOUR_3, "WINDOW_COLOUR_3" }, - { FORMAT_NEWLINE_X_Y, "NEWLINE_X_Y" }, - { FORMAT_INLINE_SPRITE, "INLINE_SPRITE" }, - { FORMAT_ENDQUOTES, "ENDQUOTES" }, - { FORMAT_COMMA32, "COMMA32" }, - { FORMAT_INT32, "INT32" }, - { FORMAT_COMMA2DP32, "COMMA2DP32" }, - { FORMAT_COMMA16, "COMMA16" }, - { FORMAT_UINT16, "UINT16" }, - { FORMAT_CURRENCY2DP, "CURRENCY2DP" }, - { FORMAT_CURRENCY, "CURRENCY" }, - { FORMAT_STRINGID, "STRINGID" }, - { FORMAT_STRINGID2, "STRINGID2" }, - { FORMAT_STRING, "STRING" }, - { FORMAT_MONTHYEAR, "MONTHYEAR" }, - { FORMAT_MONTH, "MONTH" }, - { FORMAT_VELOCITY, "VELOCITY" }, - { FORMAT_POP16, "POP16" }, - { FORMAT_PUSH16, "PUSH16" }, - { FORMAT_DURATION, "DURATION" }, - { FORMAT_REALTIME, "REALTIME" }, - { FORMAT_LENGTH, "LENGTH" }, - { FORMAT_SPRITE, "SPRITE" }, - { FORMAT_BLACK, "BLACK" }, - { FORMAT_GREY, "GREY" }, - { FORMAT_WHITE, "WHITE" }, - { FORMAT_RED, "RED" }, - { FORMAT_GREEN, "GREEN" }, - { FORMAT_YELLOW, "YELLOW" }, - { FORMAT_TOPAZ, "TOPAZ" }, - { FORMAT_CELADON, "CELADON" }, - { FORMAT_BABYBLUE, "BABYBLUE" }, - { FORMAT_PALELAVENDER, "PALELAVENDER" }, - { FORMAT_PALEGOLD, "PALEGOLD" }, - { FORMAT_LIGHTPINK, "LIGHTPINK" }, - { FORMAT_PEARLAQUA, "PEARLAQUA" }, - { FORMAT_PALESILVER, "PALESILVER" }, - { FORMAT_AMINUSCULE, "AMINUSCULE" }, - { FORMAT_UP, "UP" }, - { FORMAT_POUND, "POUND" }, - { FORMAT_YEN, "YEN" }, - { FORMAT_COPYRIGHT, "COPYRIGHT" }, - { FORMAT_DOWN, "DOWN" }, - { FORMAT_LEFTGUILLEMET, "LEFTGUILLEMET" }, - { FORMAT_TICK, "TICK" }, - { FORMAT_CROSS, "CROSS" }, - { FORMAT_RIGHT, "RIGHT" }, - { FORMAT_DEGREE, "DEGREE" }, - { FORMAT_SQUARED, "SQUARED" }, - { FORMAT_OPENQUOTES, "OPENQUOTES" }, - { FORMAT_EURO, "EURO" }, - { FORMAT_APPROX, "APPROX" }, - { FORMAT_POWERNEGATIVEONE, "POWERNEGATIVEONE" }, - { FORMAT_BULLET, "BULLET" }, - { FORMAT_RIGHTGUILLEMET, "RIGHTGUILLEMET" }, - { FORMAT_SMALLUP, "SMALLUP" }, - { FORMAT_SMALLDOWN, "SMALLDOWN" }, - { FORMAT_LEFT, "LEFT" }, - { FORMAT_INVERTEDQUESTION, "INVERTEDQUESTION" }, - { FORMAT_COMMA1DP16, "COMMA1DP16" } + { FORMAT_MOVE_X, "MOVE_X" }, + { FORMAT_ADJUST_PALETTE, "ADJUST_PALETTE" }, + { FORMAT_NEWLINE, "NEWLINE" }, + { FORMAT_NEWLINE_SMALLER, "NEWLINE_SMALLER" }, + { FORMAT_TINYFONT, "TINYFONT" }, + { FORMAT_BIGFONT, "BIGFONT" }, + { FORMAT_MEDIUMFONT, "MEDIUMFONT" }, + { FORMAT_SMALLFONT, "SMALLFONT" }, + { FORMAT_OUTLINE, "OUTLINE" }, + { FORMAT_OUTLINE_OFF, "OUTLINE_OFF" }, + { FORMAT_WINDOW_COLOUR_1, "WINDOW_COLOUR_1" }, + { FORMAT_WINDOW_COLOUR_2, "WINDOW_COLOUR_2" }, + { FORMAT_WINDOW_COLOUR_3, "WINDOW_COLOUR_3" }, + { FORMAT_NEWLINE_X_Y, "NEWLINE_X_Y" }, + { FORMAT_INLINE_SPRITE, "INLINE_SPRITE" }, + { FORMAT_ENDQUOTES, "ENDQUOTES" }, + { FORMAT_COMMA32, "COMMA32" }, + { FORMAT_INT32, "INT32" }, + { FORMAT_COMMA2DP32, "COMMA2DP32" }, + { FORMAT_COMMA16, "COMMA16" }, + { FORMAT_UINT16, "UINT16" }, + { FORMAT_CURRENCY2DP, "CURRENCY2DP" }, + { FORMAT_CURRENCY, "CURRENCY" }, + { FORMAT_STRINGID, "STRINGID" }, + { FORMAT_STRINGID2, "STRINGID2" }, + { FORMAT_STRING, "STRING" }, + { FORMAT_MONTHYEAR, "MONTHYEAR" }, + { FORMAT_MONTH, "MONTH" }, + { FORMAT_VELOCITY, "VELOCITY" }, + { FORMAT_POP16, "POP16" }, + { FORMAT_PUSH16, "PUSH16" }, + { FORMAT_DURATION, "DURATION" }, + { FORMAT_REALTIME, "REALTIME" }, + { FORMAT_LENGTH, "LENGTH" }, + { FORMAT_SPRITE, "SPRITE" }, + { FORMAT_BLACK, "BLACK" }, + { FORMAT_GREY, "GREY" }, + { FORMAT_WHITE, "WHITE" }, + { FORMAT_RED, "RED" }, + { FORMAT_GREEN, "GREEN" }, + { FORMAT_YELLOW, "YELLOW" }, + { FORMAT_TOPAZ, "TOPAZ" }, + { FORMAT_CELADON, "CELADON" }, + { FORMAT_BABYBLUE, "BABYBLUE" }, + { FORMAT_PALELAVENDER, "PALELAVENDER" }, + { FORMAT_PALEGOLD, "PALEGOLD" }, + { FORMAT_LIGHTPINK, "LIGHTPINK" }, + { FORMAT_PEARLAQUA, "PEARLAQUA" }, + { FORMAT_PALESILVER, "PALESILVER" }, + { FORMAT_AMINUSCULE, "AMINUSCULE" }, + { FORMAT_UP, "UP" }, + { FORMAT_POUND, "POUND" }, + { FORMAT_YEN, "YEN" }, + { FORMAT_COPYRIGHT, "COPYRIGHT" }, + { FORMAT_DOWN, "DOWN" }, + { FORMAT_LEFTGUILLEMET, "LEFTGUILLEMET" }, + { FORMAT_TICK, "TICK" }, + { FORMAT_CROSS, "CROSS" }, + { FORMAT_RIGHT, "RIGHT" }, + { FORMAT_DEGREE, "DEGREE" }, + { FORMAT_SQUARED, "SQUARED" }, + { FORMAT_OPENQUOTES, "OPENQUOTES" }, + { FORMAT_EURO, "EURO" }, + { FORMAT_APPROX, "APPROX" }, + { FORMAT_POWERNEGATIVEONE, "POWERNEGATIVEONE" }, + { FORMAT_BULLET, "BULLET" }, + { FORMAT_RIGHTGUILLEMET, "RIGHTGUILLEMET" }, + { FORMAT_SMALLUP, "SMALLUP" }, + { FORMAT_SMALLDOWN, "SMALLDOWN" }, + { FORMAT_LEFT, "LEFT" }, + { FORMAT_INVERTEDQUESTION, "INVERTEDQUESTION" }, + { FORMAT_COMMA1DP16, "COMMA1DP16" } }; uint32 format_get_code(const char *token) { - sint32 i; - for (i = 0; i < countof(format_code_tokens); i++) - if (_strcmpi(token, format_code_tokens[i].token) == 0) - return format_code_tokens[i].code; - return 0; + sint32 i; + for (i = 0; i < countof(format_code_tokens); i++) + if (_strcmpi(token, format_code_tokens[i].token) == 0) + return format_code_tokens[i].code; + return 0; } const char *format_get_token(uint32 code) { - sint32 i; - for (i = 0; i < countof(format_code_tokens); i++) - if (code == format_code_tokens[i].code) - return format_code_tokens[i].token; - return 0; + sint32 i; + for (i = 0; i < countof(format_code_tokens); i++) + if (code == format_code_tokens[i].code) + return format_code_tokens[i].token; + return 0; } bool utf8_should_use_sprite_for_codepoint(sint32 codepoint) { - switch (codepoint) { - case FORMAT_UP: - case FORMAT_DOWN: - case FORMAT_LEFTGUILLEMET: - case FORMAT_TICK: - case FORMAT_CROSS: - case FORMAT_RIGHT: - case FORMAT_RIGHTGUILLEMET: - case FORMAT_SMALLUP: - case FORMAT_SMALLDOWN: - case FORMAT_LEFT: - case FORMAT_OPENQUOTES: - case FORMAT_ENDQUOTES: - return true; - default: - return false; - } + switch (codepoint) { + case FORMAT_UP: + case FORMAT_DOWN: + case FORMAT_LEFTGUILLEMET: + case FORMAT_TICK: + case FORMAT_CROSS: + case FORMAT_RIGHT: + case FORMAT_RIGHTGUILLEMET: + case FORMAT_SMALLUP: + case FORMAT_SMALLDOWN: + case FORMAT_LEFT: + case FORMAT_OPENQUOTES: + case FORMAT_ENDQUOTES: + return true; + default: + return false; + } } #pragma endregion diff --git a/src/openrct2/localisation/format_codes.h b/src/openrct2/localisation/format_codes.h index 2ae2468f48..10940387fc 100644 --- a/src/openrct2/localisation/format_codes.h +++ b/src/openrct2/localisation/format_codes.h @@ -21,116 +21,116 @@ uint32 format_get_code(const char *token); const char *format_get_token(uint32 code); enum { - // Font format codes + // Font format codes - // The next byte specifies the X coordinate - FORMAT_MOVE_X = 1, - // The next byte specifies the palette - FORMAT_ADJUST_PALETTE, + // The next byte specifies the X coordinate + FORMAT_MOVE_X = 1, + // The next byte specifies the palette + FORMAT_ADJUST_PALETTE, - // Moves to the next line - FORMAT_NEWLINE = 5, - // Moves less than NEWLINE - FORMAT_NEWLINE_SMALLER, + // Moves to the next line + FORMAT_NEWLINE = 5, + // Moves less than NEWLINE + FORMAT_NEWLINE_SMALLER, - FORMAT_TINYFONT, - FORMAT_BIGFONT, - FORMAT_MEDIUMFONT, - FORMAT_SMALLFONT, + FORMAT_TINYFONT, + FORMAT_BIGFONT, + FORMAT_MEDIUMFONT, + FORMAT_SMALLFONT, - FORMAT_OUTLINE, - FORMAT_OUTLINE_OFF, + FORMAT_OUTLINE, + FORMAT_OUTLINE_OFF, - // Changes the colour of the text to a predefined window colour. - FORMAT_WINDOW_COLOUR_1, - FORMAT_WINDOW_COLOUR_2, - FORMAT_WINDOW_COLOUR_3, + // Changes the colour of the text to a predefined window colour. + FORMAT_WINDOW_COLOUR_1, + FORMAT_WINDOW_COLOUR_2, + FORMAT_WINDOW_COLOUR_3, - // The next 2 bytes specify the X and Y coordinates - FORMAT_NEWLINE_X_Y = 17, + // The next 2 bytes specify the X and Y coordinates + FORMAT_NEWLINE_X_Y = 17, - // The next 4 bytes specify the sprite - FORMAT_INLINE_SPRITE = 23, + // The next 4 bytes specify the sprite + FORMAT_INLINE_SPRITE = 23, - // Argument format codes - FORMAT_ARGUMENT_CODE_START = 123, // 'z' == 122 or 0x7A - FORMAT_COMMA32 = 123, - FORMAT_INT32, - FORMAT_COMMA2DP32, - FORMAT_COMMA16, - FORMAT_UINT16, - FORMAT_CURRENCY2DP, - FORMAT_CURRENCY, - FORMAT_STRINGID, - FORMAT_STRINGID2, - FORMAT_STRING, - FORMAT_MONTHYEAR, - FORMAT_MONTH, - FORMAT_VELOCITY, - FORMAT_POP16, - FORMAT_PUSH16, - FORMAT_DURATION, - FORMAT_REALTIME, - FORMAT_LENGTH, - FORMAT_SPRITE, - FORMAT_ARGUMENT_CODE_END = FORMAT_SPRITE, + // Argument format codes + FORMAT_ARGUMENT_CODE_START = 123, // 'z' == 122 or 0x7A + FORMAT_COMMA32 = 123, + FORMAT_INT32, + FORMAT_COMMA2DP32, + FORMAT_COMMA16, + FORMAT_UINT16, + FORMAT_CURRENCY2DP, + FORMAT_CURRENCY, + FORMAT_STRINGID, + FORMAT_STRINGID2, + FORMAT_STRING, + FORMAT_MONTHYEAR, + FORMAT_MONTH, + FORMAT_VELOCITY, + FORMAT_POP16, + FORMAT_PUSH16, + FORMAT_DURATION, + FORMAT_REALTIME, + FORMAT_LENGTH, + FORMAT_SPRITE, + FORMAT_ARGUMENT_CODE_END = FORMAT_SPRITE, - // Colour format codes - FORMAT_COLOUR_CODE_START = 142, - FORMAT_BLACK = 142, - FORMAT_GREY, - FORMAT_WHITE, - FORMAT_RED, - FORMAT_GREEN, - FORMAT_YELLOW, - FORMAT_TOPAZ, - FORMAT_CELADON, - FORMAT_BABYBLUE, - FORMAT_PALELAVENDER, - FORMAT_PALEGOLD, - FORMAT_LIGHTPINK, - FORMAT_PEARLAQUA, - FORMAT_PALESILVER, - FORMAT_COLOUR_CODE_END = FORMAT_PALESILVER, + // Colour format codes + FORMAT_COLOUR_CODE_START = 142, + FORMAT_BLACK = 142, + FORMAT_GREY, + FORMAT_WHITE, + FORMAT_RED, + FORMAT_GREEN, + FORMAT_YELLOW, + FORMAT_TOPAZ, + FORMAT_CELADON, + FORMAT_BABYBLUE, + FORMAT_PALELAVENDER, + FORMAT_PALEGOLD, + FORMAT_LIGHTPINK, + FORMAT_PEARLAQUA, + FORMAT_PALESILVER, + FORMAT_COLOUR_CODE_END = FORMAT_PALESILVER, - // Extra non-ASCII characters - FORMAT_AMINUSCULE = 159, - FORMAT_CENT = 162, - FORMAT_POUND = 163, - FORMAT_YEN = 165, - FORMAT_COPYRIGHT = 169, - FORMAT_LEFTGUILLEMET = 171, - FORMAT_DEGREE = 176, - FORMAT_SQUARED = 178, - FORMAT_RIGHTGUILLEMET = 187, - FORMAT_INVERTEDQUESTION = 191, + // Extra non-ASCII characters + FORMAT_AMINUSCULE = 159, + FORMAT_CENT = 162, + FORMAT_POUND = 163, + FORMAT_YEN = 165, + FORMAT_COPYRIGHT = 169, + FORMAT_LEFTGUILLEMET = 171, + FORMAT_DEGREE = 176, + FORMAT_SQUARED = 178, + FORMAT_RIGHTGUILLEMET = 187, + FORMAT_INVERTEDQUESTION = 191, - FORMAT_OPENQUOTES = 8220, - FORMAT_ENDQUOTES = 8221, + FORMAT_OPENQUOTES = 8220, + FORMAT_ENDQUOTES = 8221, - FORMAT_BULLET = 8226, - FORMAT_POWERNEGATIVEONE = 8315, - FORMAT_EURO = 8364, + FORMAT_BULLET = 8226, + FORMAT_POWERNEGATIVEONE = 8315, + FORMAT_EURO = 8364, - FORMAT_APPROX = 8776, + FORMAT_APPROX = 8776, - FORMAT_UP = 9650, - FORMAT_RIGHT = 9654, - FORMAT_DOWN = 9660, - FORMAT_LEFT = 9664, + FORMAT_UP = 9650, + FORMAT_RIGHT = 9654, + FORMAT_DOWN = 9660, + FORMAT_LEFT = 9664, - FORMAT_SMALLUP = 9652, - FORMAT_SMALLDOWN = 9662, + FORMAT_SMALLUP = 9652, + FORMAT_SMALLDOWN = 9662, - FORMAT_TICK = 10003, - FORMAT_CROSS = 10005, + FORMAT_TICK = 10003, + FORMAT_CROSS = 10005, - // Format codes that need suitable Unicode allocations - FORMAT_SYMBOL_i = 20000, - FORMAT_SYMBOL_RAILWAY = 20001, - FORMAT_SYMBOL_ROAD = 20002, - FORMAT_SYMBOL_FLAG = 20003, - FORMAT_COMMA1DP16 = 20004 + // Format codes that need suitable Unicode allocations + FORMAT_SYMBOL_i = 20000, + FORMAT_SYMBOL_RAILWAY = 20001, + FORMAT_SYMBOL_ROAD = 20002, + FORMAT_SYMBOL_FLAG = 20003, + FORMAT_COMMA1DP16 = 20004 }; #endif diff --git a/src/openrct2/localisation/language.h b/src/openrct2/localisation/language.h index 8ac6058093..05735d83a2 100644 --- a/src/openrct2/localisation/language.h +++ b/src/openrct2/localisation/language.h @@ -21,42 +21,42 @@ #include "../drawing/font.h" enum { - LANGUAGE_UNDEFINED, - LANGUAGE_ENGLISH_UK, - LANGUAGE_ENGLISH_US, - LANGUAGE_GERMAN, - LANGUAGE_DUTCH, - LANGUAGE_FRENCH, - LANGUAGE_HUNGARIAN, - LANGUAGE_POLISH, - LANGUAGE_SPANISH, - LANGUAGE_SWEDISH, - LANGUAGE_ITALIAN, - LANGUAGE_PORTUGUESE_BR, - LANGUAGE_CHINESE_TRADITIONAL, - LANGUAGE_CHINESE_SIMPLIFIED, - LANGUAGE_FINNISH, - LANGUAGE_KOREAN, - LANGUAGE_RUSSIAN, - LANGUAGE_CZECH, - LANGUAGE_JAPANESE, - LANGUAGE_NORWEGIAN, - LANGUAGE_CATALAN, - LANGUAGE_COUNT + LANGUAGE_UNDEFINED, + LANGUAGE_ENGLISH_UK, + LANGUAGE_ENGLISH_US, + LANGUAGE_GERMAN, + LANGUAGE_DUTCH, + LANGUAGE_FRENCH, + LANGUAGE_HUNGARIAN, + LANGUAGE_POLISH, + LANGUAGE_SPANISH, + LANGUAGE_SWEDISH, + LANGUAGE_ITALIAN, + LANGUAGE_PORTUGUESE_BR, + LANGUAGE_CHINESE_TRADITIONAL, + LANGUAGE_CHINESE_SIMPLIFIED, + LANGUAGE_FINNISH, + LANGUAGE_KOREAN, + LANGUAGE_RUSSIAN, + LANGUAGE_CZECH, + LANGUAGE_JAPANESE, + LANGUAGE_NORWEGIAN, + LANGUAGE_CATALAN, + LANGUAGE_COUNT }; #define FONT_OPENRCT2_SPRITE NULL typedef struct language_descriptor { - const char *locale; - const utf8 *english_name; - const utf8 *native_name; + const char *locale; + const utf8 *english_name; + const utf8 *native_name; #ifndef NO_TTF - TTFFontSetDescriptor *font; + TTFFontSetDescriptor *font; #else - void * font; + void * font; #endif // NO_TTF - uint8 rct2_original_id; + uint8 rct2_original_id; } language_descriptor; extern const language_descriptor LanguagesDescriptors[LANGUAGE_COUNT]; diff --git a/src/openrct2/localisation/localisation.c b/src/openrct2/localisation/localisation.c index c6307b28ec..369f24f83a 100644 --- a/src/openrct2/localisation/localisation.c +++ b/src/openrct2/localisation/localisation.c @@ -37,292 +37,292 @@ uint8 gCommonFormatArgs[80]; uint8 gMapTooltipFormatArgs[40]; #ifdef DEBUG - // Set to true before a string format call to see details of the formatting. - // Set to false after the call. - bool gDebugStringFormatting = false; + // Set to true before a string format call to see details of the formatting. + // Set to false after the call. + bool gDebugStringFormatting = false; #endif const rct_string_id SpeedNames[] = { - STR_SPEED_NORMAL, - STR_SPEED_QUICK, - STR_SPEED_FAST, - STR_SPEED_TURBO, - STR_SPEED_HYPER, + STR_SPEED_NORMAL, + STR_SPEED_QUICK, + STR_SPEED_FAST, + STR_SPEED_TURBO, + STR_SPEED_HYPER, }; const rct_string_id ObjectiveNames[] = { - STR_OBJECTIVE_NONE, - STR_OBJECTIVE_GUESTS_BY, - STR_OBJECTIVE_PARK_VALUE_BY, - STR_OBJECTIVE_HAVE_FUN, - STR_OBJECTIVE_BUILD_THE_BEST, - STR_OBJECTIVE_10_ROLLERCOASTERS, - STR_OBJECTIVE_GUESTS_AND_RATING, - STR_OBJECTIVE_MONTHLY_RIDE_INCOME, - STR_OBJECTIVE_10_ROLLERCOASTERS_LENGTH, - STR_OBJECTIVE_FINISH_5_ROLLERCOASTERS, - STR_OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE, - STR_OBJECTIVE_MONTHLY_FOOD_INCOME, + STR_OBJECTIVE_NONE, + STR_OBJECTIVE_GUESTS_BY, + STR_OBJECTIVE_PARK_VALUE_BY, + STR_OBJECTIVE_HAVE_FUN, + STR_OBJECTIVE_BUILD_THE_BEST, + STR_OBJECTIVE_10_ROLLERCOASTERS, + STR_OBJECTIVE_GUESTS_AND_RATING, + STR_OBJECTIVE_MONTHLY_RIDE_INCOME, + STR_OBJECTIVE_10_ROLLERCOASTERS_LENGTH, + STR_OBJECTIVE_FINISH_5_ROLLERCOASTERS, + STR_OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE, + STR_OBJECTIVE_MONTHLY_FOOD_INCOME, }; const rct_string_id ResearchFundingLevelNames[] = { - STR_RESEARCH_FUNDING_NONE, - STR_RESEARCH_FUNDING_MINIMUM, - STR_RESEARCH_FUNDING_NORMAL, - STR_RESEARCH_FUNDING_MAXIMUM, + STR_RESEARCH_FUNDING_NONE, + STR_RESEARCH_FUNDING_MINIMUM, + STR_RESEARCH_FUNDING_NORMAL, + STR_RESEARCH_FUNDING_MAXIMUM, }; const rct_string_id MarketingCampaignNames[ADVERTISING_CAMPAIGN_COUNT][3] = { - { STR_MARKETING_VOUCHERS_FOR_FREE_ENTRY_TO_THE_PARK, STR_VOUCHERS_FOR_FREE_ENTRY_TO, STR_MARKETING_FINISHED_FREE_ENTRY }, // ADVERTISING_CAMPAIGN_PARK_ENTRY_FREE, - { STR_MARKETING_VOUCHERS_FOR_FREE_RIDES_ON_A_PARTICULAR_RIDE, STR_VOUCHERS_FOR_FREE_RIDE_ON, STR_MARKETING_FINISHED_FREE_RIDES }, // ADVERTISING_CAMPAIGN_RIDE_FREE, - { STR_MARKETING_VOUCHERS_FOR_HALF_PRICE_ENTRY_TO_THE_PARK, STR_VOUCHERS_FOR_HALF_PRICE_ENTRY_TO, STR_MARKETING_FINISHED_HALF_PRICE_ENTRY }, // ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE, - { STR_MARKETING_VOUCHERS_FOR_FREE_FOOD_OR_DRINK, STR_VOUCHERS_FOR_FREE, STR_MARKETING_FINISHED_FREE_RIDE }, // ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE, - { STR_MARKETING_ADVERTISING_CAMPAIGN_FOR_THE_PARK, STR_ADVERTISING_CAMPAIGN_FOR_1, STR_MARKETING_FINISHED_PARK_ADS }, // ADVERTISING_CAMPAIGN_PARK, - { STR_MARKETING_ADVERTISING_CAMPAIGN_FOR_A_PARTICULAR_RIDE, STR_ADVERTISING_CAMPAIGN_FOR_2, STR_MARKETING_FINISHED_RIDE_ADS }, // ADVERTISING_CAMPAIGN_RIDE, + { STR_MARKETING_VOUCHERS_FOR_FREE_ENTRY_TO_THE_PARK, STR_VOUCHERS_FOR_FREE_ENTRY_TO, STR_MARKETING_FINISHED_FREE_ENTRY }, // ADVERTISING_CAMPAIGN_PARK_ENTRY_FREE, + { STR_MARKETING_VOUCHERS_FOR_FREE_RIDES_ON_A_PARTICULAR_RIDE, STR_VOUCHERS_FOR_FREE_RIDE_ON, STR_MARKETING_FINISHED_FREE_RIDES }, // ADVERTISING_CAMPAIGN_RIDE_FREE, + { STR_MARKETING_VOUCHERS_FOR_HALF_PRICE_ENTRY_TO_THE_PARK, STR_VOUCHERS_FOR_HALF_PRICE_ENTRY_TO, STR_MARKETING_FINISHED_HALF_PRICE_ENTRY }, // ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE, + { STR_MARKETING_VOUCHERS_FOR_FREE_FOOD_OR_DRINK, STR_VOUCHERS_FOR_FREE, STR_MARKETING_FINISHED_FREE_RIDE }, // ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE, + { STR_MARKETING_ADVERTISING_CAMPAIGN_FOR_THE_PARK, STR_ADVERTISING_CAMPAIGN_FOR_1, STR_MARKETING_FINISHED_PARK_ADS }, // ADVERTISING_CAMPAIGN_PARK, + { STR_MARKETING_ADVERTISING_CAMPAIGN_FOR_A_PARTICULAR_RIDE, STR_ADVERTISING_CAMPAIGN_FOR_2, STR_MARKETING_FINISHED_RIDE_ADS }, // ADVERTISING_CAMPAIGN_RIDE, }; const rct_string_id RideInspectionIntervalNames[] = { - STR_EVERY_10_MINUTES, - STR_EVERY_20_MINUTES, - STR_EVERY_30_MINUTES, - STR_EVERY_45_MINUTES, - STR_EVERY_HOUR, - STR_EVERY_2_HOURS, - STR_NEVER, - RIDE_SETTING_INSPECTION_INTERVAL + STR_EVERY_10_MINUTES, + STR_EVERY_20_MINUTES, + STR_EVERY_30_MINUTES, + STR_EVERY_45_MINUTES, + STR_EVERY_HOUR, + STR_EVERY_2_HOURS, + STR_NEVER, + RIDE_SETTING_INSPECTION_INTERVAL }; const rct_string_id PeepThoughts[] = { - STR_PEEP_THOUGHT_TYPE_CANT_AFFORD_0, - STR_PEEP_THOUGHT_TYPE_SPENT_MONEY, - STR_PEEP_THOUGHT_TYPE_SICK, - STR_PEEP_THOUGHT_TYPE_VERY_SICK, - STR_PEEP_THOUGHT_TYPE_MORE_THRILLING, - STR_PEEP_THOUGHT_TYPE_INTENSE, - STR_PEEP_THOUGHT_TYPE_HAVENT_FINISHED, - STR_PEEP_THOUGHT_TYPE_SICKENING, - STR_PEEP_THOUGHT_TYPE_BAD_VALUE, - STR_PEEP_THOUGHT_TYPE_GO_HOME, - STR_PEEP_THOUGHT_TYPE_GOOD_VALUE, - STR_PEEP_THOUGHT_TYPE_ALREADY_GOT, - STR_PEEP_THOUGHT_TYPE_CANT_AFFORD, - STR_PEEP_THOUGHT_TYPE_NOT_HUNGRY, - STR_PEEP_THOUGHT_TYPE_NOT_THIRSTY, - STR_PEEP_THOUGHT_TYPE_DROWNING, - STR_PEEP_THOUGHT_TYPE_LOST, - STR_PEEP_THOUGHT_TYPE_WAS_GREAT, - STR_PEEP_THOUGHT_TYPE_QUEUING_AGES, - STR_PEEP_THOUGHT_TYPE_TIRED, - STR_PEEP_THOUGHT_TYPE_HUNGRY, - STR_PEEP_THOUGHT_TYPE_THIRSTY, - STR_PEEP_THOUGHT_TYPE_BATHROOM, - STR_PEEP_THOUGHT_TYPE_CANT_FIND, - STR_PEEP_THOUGHT_TYPE_NOT_PAYING, - STR_PEEP_THOUGHT_TYPE_NOT_WHILE_RAINING, - STR_PEEP_THOUGHT_TYPE_BAD_LITTER, - STR_PEEP_THOUGHT_TYPE_CANT_FIND_EXIT, - STR_PEEP_THOUGHT_TYPE_GET_OFF, - STR_PEEP_THOUGHT_TYPE_GET_OUT, - STR_PEEP_THOUGHT_TYPE_NOT_SAFE, - STR_PEEP_THOUGHT_TYPE_PATH_DISGUSTING, - STR_PEEP_THOUGHT_TYPE_CROWDED, - STR_PEEP_THOUGHT_TYPE_VANDALISM, - STR_PEEP_THOUGHT_TYPE_SCENERY, - STR_PEEP_THOUGHT_TYPE_VERY_CLEAN, - STR_PEEP_THOUGHT_TYPE_FOUNTAINS, - STR_PEEP_THOUGHT_TYPE_MUSIC, - STR_PEEP_THOUGHT_TYPE_BALLOON, - STR_PEEP_THOUGHT_TYPE_TOY, - STR_PEEP_THOUGHT_TYPE_MAP, - STR_PEEP_THOUGHT_TYPE_PHOTO, - STR_PEEP_THOUGHT_TYPE_UMBRELLA, - STR_PEEP_THOUGHT_TYPE_DRINK, - STR_PEEP_THOUGHT_TYPE_BURGER, - STR_PEEP_THOUGHT_TYPE_CHIPS, - STR_PEEP_THOUGHT_TYPE_ICE_CREAM, - STR_PEEP_THOUGHT_TYPE_CANDYFLOSS, - 0, - 0, - 0, - STR_PEEP_THOUGHT_TYPE_PIZZA, - 0, - STR_PEEP_THOUGHT_TYPE_POPCORN, - STR_PEEP_THOUGHT_TYPE_HOT_DOG, - STR_PEEP_THOUGHT_TYPE_TENTACLE, - STR_PEEP_THOUGHT_TYPE_HAT, - STR_PEEP_THOUGHT_TYPE_CANDY_APPLE, - STR_PEEP_THOUGHT_TYPE_TSHIRT, - STR_PEEP_THOUGHT_TYPE_DONUT, - STR_PEEP_THOUGHT_TYPE_COFFEE, - 0, - STR_PEEP_THOUGHT_TYPE_CHICKEN, - STR_PEEP_THOUGHT_TYPE_LEMONADE, - 0, - 0, - 0, - STR_PEEP_THOUGHT_TYPE_WOW, - 0, - 0, - STR_PEEP_THOUGHT_TYPE_WOW2, - STR_PEEP_THOUGHT_TYPE_WATCHED, - STR_PEEP_THOUGHT_TYPE_BALLOON_MUCH, - STR_PEEP_THOUGHT_TYPE_TOY_MUCH, - STR_PEEP_THOUGHT_TYPE_MAP_MUCH, - STR_PEEP_THOUGHT_TYPE_PHOTO_MUCH, - STR_PEEP_THOUGHT_TYPE_UMBRELLA_MUCH, - STR_PEEP_THOUGHT_TYPE_DRINK_MUCH, - STR_PEEP_THOUGHT_TYPE_BURGER_MUCH, - STR_PEEP_THOUGHT_TYPE_CHIPS_MUCH, - STR_PEEP_THOUGHT_TYPE_ICE_CREAM_MUCH, - STR_PEEP_THOUGHT_TYPE_CANDYFLOSS_MUCH, - 0, - 0, - 0, - STR_PEEP_THOUGHT_TYPE_PIZZA_MUCH, - 0, - STR_PEEP_THOUGHT_TYPE_POPCORN_MUCH, - STR_PEEP_THOUGHT_TYPE_HOT_DOG_MUCH, - STR_PEEP_THOUGHT_TYPE_TENTACLE_MUCH, - STR_PEEP_THOUGHT_TYPE_HAT_MUCH, - STR_PEEP_THOUGHT_TYPE_CANDY_APPLE_MUCH, - STR_PEEP_THOUGHT_TYPE_TSHIRT_MUCH, - STR_PEEP_THOUGHT_TYPE_DONUT_MUCH, - STR_PEEP_THOUGHT_TYPE_COFFEE_MUCH, - 0, - STR_PEEP_THOUGHT_TYPE_CHICKEN_MUCH, - STR_PEEP_THOUGHT_TYPE_LEMONADE_MUCH, - 0, - 0, - 0, - 0, - 0, - 0, - STR_PEEP_THOUGHT_TYPE_PHOTO2, - STR_PEEP_THOUGHT_TYPE_PHOTO3, - STR_PEEP_THOUGHT_TYPE_PHOTO4, - STR_PEEP_THOUGHT_TYPE_PRETZEL, - STR_PEEP_THOUGHT_TYPE_HOT_CHOCOLATE, - STR_PEEP_THOUGHT_TYPE_ICED_TEA, - STR_PEEP_THOUGHT_TYPE_FUNNEL_CAKE, - STR_PEEP_THOUGHT_TYPE_SUNGLASSES, - STR_PEEP_THOUGHT_TYPE_BEEF_NOODLES, - STR_PEEP_THOUGHT_TYPE_FRIED_RICE_NOODLES, - STR_PEEP_THOUGHT_TYPE_WONTON_SOUP, - STR_PEEP_THOUGHT_TYPE_MEATBALL_SOUP, - STR_PEEP_THOUGHT_TYPE_FRUIT_JUICE, - STR_PEEP_THOUGHT_TYPE_SOYBEAN_MILK, - STR_PEEP_THOUGHT_TYPE_SU_JONGKWA, - STR_PEEP_THOUGHT_TYPE_SUB_SANDWICH, - STR_PEEP_THOUGHT_TYPE_COOKIE, - 0, - 0, - 0, - STR_PEEP_THOUGHT_TYPE_ROAST_SAUSAGE, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - STR_PEEP_THOUGHT_TYPE_PHOTO2_MUCH, - STR_PEEP_THOUGHT_TYPE_PHOTO3_MUCH, - STR_PEEP_THOUGHT_TYPE_PHOTO4_MUCH, - STR_PEEP_THOUGHT_TYPE_PRETZEL_MUCH, - STR_PEEP_THOUGHT_TYPE_HOT_CHOCOLATE_MUCH, - STR_PEEP_THOUGHT_TYPE_ICED_TEA_MUCH, - STR_PEEP_THOUGHT_TYPE_FUNNEL_CAKE_MUCH, - STR_PEEP_THOUGHT_TYPE_SUNGLASSES_MUCH, - STR_PEEP_THOUGHT_TYPE_BEEF_NOODLES_MUCH, - STR_PEEP_THOUGHT_TYPE_FRIED_RICE_NOODLES_MUCH, - STR_PEEP_THOUGHT_TYPE_WONTON_SOUP_MUCH, - STR_PEEP_THOUGHT_TYPE_MEATBALL_SOUP_MUCH, - STR_PEEP_THOUGHT_TYPE_FRUIT_JUICE_MUCH, - STR_PEEP_THOUGHT_TYPE_SOYBEAN_MILK_MUCH, - STR_PEEP_THOUGHT_TYPE_SU_JONGKWA_MUCH, - STR_PEEP_THOUGHT_TYPE_SUB_SANDWICH_MUCH, - STR_PEEP_THOUGHT_TYPE_COOKIE_MUCH, - 0, - 0, - 0, - STR_PEEP_THOUGHT_TYPE_ROAST_SAUSAGE_MUCH, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - STR_PEEP_THOUGHT_TYPE_HELP, - STR_PEEP_THOUGHT_TYPE_RUNNING_OUT, - STR_PEEP_THOUGHT_TYPE_NEW_RIDE, - STR_PEEP_THOUGHT_TYPE_NICE_RIDE_DEPRECATED, - STR_PEEP_THOUGHT_TYPE_EXCITED_DEPRECATED, - STR_PEEP_THOUGHT_TYPE_HERE_WE_ARE, + STR_PEEP_THOUGHT_TYPE_CANT_AFFORD_0, + STR_PEEP_THOUGHT_TYPE_SPENT_MONEY, + STR_PEEP_THOUGHT_TYPE_SICK, + STR_PEEP_THOUGHT_TYPE_VERY_SICK, + STR_PEEP_THOUGHT_TYPE_MORE_THRILLING, + STR_PEEP_THOUGHT_TYPE_INTENSE, + STR_PEEP_THOUGHT_TYPE_HAVENT_FINISHED, + STR_PEEP_THOUGHT_TYPE_SICKENING, + STR_PEEP_THOUGHT_TYPE_BAD_VALUE, + STR_PEEP_THOUGHT_TYPE_GO_HOME, + STR_PEEP_THOUGHT_TYPE_GOOD_VALUE, + STR_PEEP_THOUGHT_TYPE_ALREADY_GOT, + STR_PEEP_THOUGHT_TYPE_CANT_AFFORD, + STR_PEEP_THOUGHT_TYPE_NOT_HUNGRY, + STR_PEEP_THOUGHT_TYPE_NOT_THIRSTY, + STR_PEEP_THOUGHT_TYPE_DROWNING, + STR_PEEP_THOUGHT_TYPE_LOST, + STR_PEEP_THOUGHT_TYPE_WAS_GREAT, + STR_PEEP_THOUGHT_TYPE_QUEUING_AGES, + STR_PEEP_THOUGHT_TYPE_TIRED, + STR_PEEP_THOUGHT_TYPE_HUNGRY, + STR_PEEP_THOUGHT_TYPE_THIRSTY, + STR_PEEP_THOUGHT_TYPE_BATHROOM, + STR_PEEP_THOUGHT_TYPE_CANT_FIND, + STR_PEEP_THOUGHT_TYPE_NOT_PAYING, + STR_PEEP_THOUGHT_TYPE_NOT_WHILE_RAINING, + STR_PEEP_THOUGHT_TYPE_BAD_LITTER, + STR_PEEP_THOUGHT_TYPE_CANT_FIND_EXIT, + STR_PEEP_THOUGHT_TYPE_GET_OFF, + STR_PEEP_THOUGHT_TYPE_GET_OUT, + STR_PEEP_THOUGHT_TYPE_NOT_SAFE, + STR_PEEP_THOUGHT_TYPE_PATH_DISGUSTING, + STR_PEEP_THOUGHT_TYPE_CROWDED, + STR_PEEP_THOUGHT_TYPE_VANDALISM, + STR_PEEP_THOUGHT_TYPE_SCENERY, + STR_PEEP_THOUGHT_TYPE_VERY_CLEAN, + STR_PEEP_THOUGHT_TYPE_FOUNTAINS, + STR_PEEP_THOUGHT_TYPE_MUSIC, + STR_PEEP_THOUGHT_TYPE_BALLOON, + STR_PEEP_THOUGHT_TYPE_TOY, + STR_PEEP_THOUGHT_TYPE_MAP, + STR_PEEP_THOUGHT_TYPE_PHOTO, + STR_PEEP_THOUGHT_TYPE_UMBRELLA, + STR_PEEP_THOUGHT_TYPE_DRINK, + STR_PEEP_THOUGHT_TYPE_BURGER, + STR_PEEP_THOUGHT_TYPE_CHIPS, + STR_PEEP_THOUGHT_TYPE_ICE_CREAM, + STR_PEEP_THOUGHT_TYPE_CANDYFLOSS, + 0, + 0, + 0, + STR_PEEP_THOUGHT_TYPE_PIZZA, + 0, + STR_PEEP_THOUGHT_TYPE_POPCORN, + STR_PEEP_THOUGHT_TYPE_HOT_DOG, + STR_PEEP_THOUGHT_TYPE_TENTACLE, + STR_PEEP_THOUGHT_TYPE_HAT, + STR_PEEP_THOUGHT_TYPE_CANDY_APPLE, + STR_PEEP_THOUGHT_TYPE_TSHIRT, + STR_PEEP_THOUGHT_TYPE_DONUT, + STR_PEEP_THOUGHT_TYPE_COFFEE, + 0, + STR_PEEP_THOUGHT_TYPE_CHICKEN, + STR_PEEP_THOUGHT_TYPE_LEMONADE, + 0, + 0, + 0, + STR_PEEP_THOUGHT_TYPE_WOW, + 0, + 0, + STR_PEEP_THOUGHT_TYPE_WOW2, + STR_PEEP_THOUGHT_TYPE_WATCHED, + STR_PEEP_THOUGHT_TYPE_BALLOON_MUCH, + STR_PEEP_THOUGHT_TYPE_TOY_MUCH, + STR_PEEP_THOUGHT_TYPE_MAP_MUCH, + STR_PEEP_THOUGHT_TYPE_PHOTO_MUCH, + STR_PEEP_THOUGHT_TYPE_UMBRELLA_MUCH, + STR_PEEP_THOUGHT_TYPE_DRINK_MUCH, + STR_PEEP_THOUGHT_TYPE_BURGER_MUCH, + STR_PEEP_THOUGHT_TYPE_CHIPS_MUCH, + STR_PEEP_THOUGHT_TYPE_ICE_CREAM_MUCH, + STR_PEEP_THOUGHT_TYPE_CANDYFLOSS_MUCH, + 0, + 0, + 0, + STR_PEEP_THOUGHT_TYPE_PIZZA_MUCH, + 0, + STR_PEEP_THOUGHT_TYPE_POPCORN_MUCH, + STR_PEEP_THOUGHT_TYPE_HOT_DOG_MUCH, + STR_PEEP_THOUGHT_TYPE_TENTACLE_MUCH, + STR_PEEP_THOUGHT_TYPE_HAT_MUCH, + STR_PEEP_THOUGHT_TYPE_CANDY_APPLE_MUCH, + STR_PEEP_THOUGHT_TYPE_TSHIRT_MUCH, + STR_PEEP_THOUGHT_TYPE_DONUT_MUCH, + STR_PEEP_THOUGHT_TYPE_COFFEE_MUCH, + 0, + STR_PEEP_THOUGHT_TYPE_CHICKEN_MUCH, + STR_PEEP_THOUGHT_TYPE_LEMONADE_MUCH, + 0, + 0, + 0, + 0, + 0, + 0, + STR_PEEP_THOUGHT_TYPE_PHOTO2, + STR_PEEP_THOUGHT_TYPE_PHOTO3, + STR_PEEP_THOUGHT_TYPE_PHOTO4, + STR_PEEP_THOUGHT_TYPE_PRETZEL, + STR_PEEP_THOUGHT_TYPE_HOT_CHOCOLATE, + STR_PEEP_THOUGHT_TYPE_ICED_TEA, + STR_PEEP_THOUGHT_TYPE_FUNNEL_CAKE, + STR_PEEP_THOUGHT_TYPE_SUNGLASSES, + STR_PEEP_THOUGHT_TYPE_BEEF_NOODLES, + STR_PEEP_THOUGHT_TYPE_FRIED_RICE_NOODLES, + STR_PEEP_THOUGHT_TYPE_WONTON_SOUP, + STR_PEEP_THOUGHT_TYPE_MEATBALL_SOUP, + STR_PEEP_THOUGHT_TYPE_FRUIT_JUICE, + STR_PEEP_THOUGHT_TYPE_SOYBEAN_MILK, + STR_PEEP_THOUGHT_TYPE_SU_JONGKWA, + STR_PEEP_THOUGHT_TYPE_SUB_SANDWICH, + STR_PEEP_THOUGHT_TYPE_COOKIE, + 0, + 0, + 0, + STR_PEEP_THOUGHT_TYPE_ROAST_SAUSAGE, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + STR_PEEP_THOUGHT_TYPE_PHOTO2_MUCH, + STR_PEEP_THOUGHT_TYPE_PHOTO3_MUCH, + STR_PEEP_THOUGHT_TYPE_PHOTO4_MUCH, + STR_PEEP_THOUGHT_TYPE_PRETZEL_MUCH, + STR_PEEP_THOUGHT_TYPE_HOT_CHOCOLATE_MUCH, + STR_PEEP_THOUGHT_TYPE_ICED_TEA_MUCH, + STR_PEEP_THOUGHT_TYPE_FUNNEL_CAKE_MUCH, + STR_PEEP_THOUGHT_TYPE_SUNGLASSES_MUCH, + STR_PEEP_THOUGHT_TYPE_BEEF_NOODLES_MUCH, + STR_PEEP_THOUGHT_TYPE_FRIED_RICE_NOODLES_MUCH, + STR_PEEP_THOUGHT_TYPE_WONTON_SOUP_MUCH, + STR_PEEP_THOUGHT_TYPE_MEATBALL_SOUP_MUCH, + STR_PEEP_THOUGHT_TYPE_FRUIT_JUICE_MUCH, + STR_PEEP_THOUGHT_TYPE_SOYBEAN_MILK_MUCH, + STR_PEEP_THOUGHT_TYPE_SU_JONGKWA_MUCH, + STR_PEEP_THOUGHT_TYPE_SUB_SANDWICH_MUCH, + STR_PEEP_THOUGHT_TYPE_COOKIE_MUCH, + 0, + 0, + 0, + STR_PEEP_THOUGHT_TYPE_ROAST_SAUSAGE_MUCH, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + STR_PEEP_THOUGHT_TYPE_HELP, + STR_PEEP_THOUGHT_TYPE_RUNNING_OUT, + STR_PEEP_THOUGHT_TYPE_NEW_RIDE, + STR_PEEP_THOUGHT_TYPE_NICE_RIDE_DEPRECATED, + STR_PEEP_THOUGHT_TYPE_EXCITED_DEPRECATED, + STR_PEEP_THOUGHT_TYPE_HERE_WE_ARE, }; const rct_string_id DateDayNames[] = { - STR_DATE_DAY_1, - STR_DATE_DAY_2, - STR_DATE_DAY_3, - STR_DATE_DAY_4, - STR_DATE_DAY_5, - STR_DATE_DAY_6, - STR_DATE_DAY_7, - STR_DATE_DAY_8, - STR_DATE_DAY_9, - STR_DATE_DAY_10, - STR_DATE_DAY_11, - STR_DATE_DAY_12, - STR_DATE_DAY_13, - STR_DATE_DAY_14, - STR_DATE_DAY_15, - STR_DATE_DAY_16, - STR_DATE_DAY_17, - STR_DATE_DAY_18, - STR_DATE_DAY_19, - STR_DATE_DAY_20, - STR_DATE_DAY_21, - STR_DATE_DAY_22, - STR_DATE_DAY_23, - STR_DATE_DAY_24, - STR_DATE_DAY_25, - STR_DATE_DAY_26, - STR_DATE_DAY_27, - STR_DATE_DAY_28, - STR_DATE_DAY_29, - STR_DATE_DAY_30, - STR_DATE_DAY_31, + STR_DATE_DAY_1, + STR_DATE_DAY_2, + STR_DATE_DAY_3, + STR_DATE_DAY_4, + STR_DATE_DAY_5, + STR_DATE_DAY_6, + STR_DATE_DAY_7, + STR_DATE_DAY_8, + STR_DATE_DAY_9, + STR_DATE_DAY_10, + STR_DATE_DAY_11, + STR_DATE_DAY_12, + STR_DATE_DAY_13, + STR_DATE_DAY_14, + STR_DATE_DAY_15, + STR_DATE_DAY_16, + STR_DATE_DAY_17, + STR_DATE_DAY_18, + STR_DATE_DAY_19, + STR_DATE_DAY_20, + STR_DATE_DAY_21, + STR_DATE_DAY_22, + STR_DATE_DAY_23, + STR_DATE_DAY_24, + STR_DATE_DAY_25, + STR_DATE_DAY_26, + STR_DATE_DAY_27, + STR_DATE_DAY_28, + STR_DATE_DAY_29, + STR_DATE_DAY_30, + STR_DATE_DAY_31, }; const rct_string_id DateGameMonthNames[MONTH_COUNT] = { - STR_MONTH_MARCH, - STR_MONTH_APRIL, - STR_MONTH_MAY, - STR_MONTH_JUNE, - STR_MONTH_JULY, - STR_MONTH_AUGUST, - STR_MONTH_SEPTEMBER, - STR_MONTH_OCTOBER, + STR_MONTH_MARCH, + STR_MONTH_APRIL, + STR_MONTH_MAY, + STR_MONTH_JUNE, + STR_MONTH_JULY, + STR_MONTH_AUGUST, + STR_MONTH_SEPTEMBER, + STR_MONTH_OCTOBER, }; const rct_string_id DateGameShortMonthNames[MONTH_COUNT] = { - STR_MONTH_SHORT_MAR, - STR_MONTH_SHORT_APR, - STR_MONTH_SHORT_MAY, - STR_MONTH_SHORT_JUN, - STR_MONTH_SHORT_JUL, - STR_MONTH_SHORT_AUG, - STR_MONTH_SHORT_SEP, - STR_MONTH_SHORT_OCT, + STR_MONTH_SHORT_MAR, + STR_MONTH_SHORT_APR, + STR_MONTH_SHORT_MAY, + STR_MONTH_SHORT_JUN, + STR_MONTH_SHORT_JUL, + STR_MONTH_SHORT_AUG, + STR_MONTH_SHORT_SEP, + STR_MONTH_SHORT_OCT, }; #define format_push_char_safe(C) { *(*dest)++ = (C); --(*size); } @@ -336,786 +336,786 @@ static void format_string_part_from_raw(char **dest, size_t *size, const char *s static void format_string_part(char **dest, size_t *size, rct_string_id format, char **args); static void format_append_string(char **dest, size_t *size, const utf8 *string) { - if ((*size) == 0) return; - size_t length = strlen(string); - if (length < (*size)) { - memcpy((*dest), string, length); - (*dest) += length; - (*size) -= length; - } else { - memcpy((*dest), string, (*size) - 1); - (*dest) += (*size) - 1; - *(*dest)++ = '\0'; - (*size) = 0; - } + if ((*size) == 0) return; + size_t length = strlen(string); + if (length < (*size)) { + memcpy((*dest), string, length); + (*dest) += length; + (*size) -= length; + } else { + memcpy((*dest), string, (*size) - 1); + (*dest) += (*size) - 1; + *(*dest)++ = '\0'; + (*size) = 0; + } } static void format_append_string_n(char **dest, size_t *size, const utf8 *string, size_t maxlen) { - if ((*size) == 0) return; - size_t length = min(maxlen, strlen(string)); - if (length < (*size)) { - memcpy((*dest), string, length); - (*dest) += length; - (*size) -= length; - } else { - memcpy((*dest), string, (*size) - 1); - (*dest) += (*size) - 1; - *(*dest)++ = '\0'; - (*size) = 0; - } + if ((*size) == 0) return; + size_t length = min(maxlen, strlen(string)); + if (length < (*size)) { + memcpy((*dest), string, length); + (*dest) += length; + (*size) -= length; + } else { + memcpy((*dest), string, (*size) - 1); + (*dest) += (*size) - 1; + *(*dest)++ = '\0'; + (*size) = 0; + } } static void format_integer(char **dest, size_t *size, sint64 value) { - sint32 digit; - char *nbegin, *nend, *ncur; - char tmp; + sint32 digit; + char *nbegin, *nend, *ncur; + char tmp; - if ((*size) == 0) return; + if ((*size) == 0) return; - // Negative sign - if (value < 0) { - format_push_char('-'); - value = -value; - } + // Negative sign + if (value < 0) { + format_push_char('-'); + value = -value; + } - if (value == 0) { - format_push_char('0'); - return; - } + if (value == 0) { + format_push_char('0'); + return; + } - nbegin = (*dest); + nbegin = (*dest); - // Right to left - while (value > 0 && (*size) > 1) { - digit = value % 10; - value /= 10; + // Right to left + while (value > 0 && (*size) > 1) { + digit = value % 10; + value /= 10; - format_push_char_safe('0' + digit); - } + format_push_char_safe('0' + digit); + } - if (value > 0) { - ncur = nbegin; + if (value > 0) { + ncur = nbegin; - while (value > 0) { - digit = value % 10; - value /= 10; + while (value > 0) { + digit = value % 10; + value /= 10; - format_push_wrap('0' + digit); - } + format_push_wrap('0' + digit); + } - // Reverse first half of string - nend = ncur - 1; - reverse_string(); + // Reverse first half of string + nend = ncur - 1; + reverse_string(); - // Reverse second half of string - nbegin = ncur; - nend = (*dest) - 1; - reverse_string(); + // Reverse second half of string + nbegin = ncur; + nend = (*dest) - 1; + reverse_string(); - format_push_char_safe('\0'); // Truncate overflowed string - } else { - // Reverse string - nend = (*dest) - 1; - reverse_string(); - } + format_push_char_safe('\0'); // Truncate overflowed string + } else { + // Reverse string + nend = (*dest) - 1; + reverse_string(); + } } static void format_comma_separated_integer(char **dest, size_t *size, sint64 value) { - sint32 digit, groupIndex; - char *nbegin, *nend, *ncur; - char tmp; - const char *commaMark = language_get_string(STR_LOCALE_THOUSANDS_SEPARATOR); - const char *ch = NULL; + sint32 digit, groupIndex; + char *nbegin, *nend, *ncur; + char tmp; + const char *commaMark = language_get_string(STR_LOCALE_THOUSANDS_SEPARATOR); + const char *ch = NULL; - if ((*size) == 0) return; + if ((*size) == 0) return; - // Negative sign - if (value < 0) { - format_push_char('-'); - value = -value; - } + // Negative sign + if (value < 0) { + format_push_char('-'); + value = -value; + } - if (value == 0) { - format_push_char('0'); - return; - } + if (value == 0) { + format_push_char('0'); + return; + } - nbegin = *dest; + nbegin = *dest; - // Groups of three digits, right to left - groupIndex = 0; - while (value > 0 && (*size) > 1) { - // Append group separator - if (groupIndex == 3) { - groupIndex = 0; - ch = commaMark; - } + // Groups of three digits, right to left + groupIndex = 0; + while (value > 0 && (*size) > 1) { + // Append group separator + if (groupIndex == 3) { + groupIndex = 0; + ch = commaMark; + } - if (ch != NULL ) { - format_push_char_safe(*ch++); - if (*ch == '\0') ch = NULL; - } else { - digit = value % 10; - value /= 10; + if (ch != NULL ) { + format_push_char_safe(*ch++); + if (*ch == '\0') ch = NULL; + } else { + digit = value % 10; + value /= 10; - format_push_char_safe('0' + digit); - groupIndex++; - } - } + format_push_char_safe('0' + digit); + groupIndex++; + } + } - if (value > 0) { - ncur = nbegin; + if (value > 0) { + ncur = nbegin; - while (value > 0) { - // Append group separator - if (groupIndex == 3) { - groupIndex = 0; - ch = commaMark; - } + while (value > 0) { + // Append group separator + if (groupIndex == 3) { + groupIndex = 0; + ch = commaMark; + } - if (ch != NULL ) { - format_push_wrap(*ch++); - if (*ch == '\0') ch = NULL; - } else { - digit = value % 10; - value /= 10; + if (ch != NULL ) { + format_push_wrap(*ch++); + if (*ch == '\0') ch = NULL; + } else { + digit = value % 10; + value /= 10; - format_push_wrap('0' + digit); - groupIndex++; - } - } + format_push_wrap('0' + digit); + groupIndex++; + } + } - // Reverse first half of string - nend = ncur - 1; - reverse_string(); + // Reverse first half of string + nend = ncur - 1; + reverse_string(); - // Reverse second half of string - nbegin = ncur; - nend = (*dest) - 1; - reverse_string(); + // Reverse second half of string + nbegin = ncur; + nend = (*dest) - 1; + reverse_string(); - format_push_char_safe('\0'); // Truncate overflowed string - } else { - // Reverse string - nend = *dest - 1; - reverse_string(); - } + format_push_char_safe('\0'); // Truncate overflowed string + } else { + // Reverse string + nend = *dest - 1; + reverse_string(); + } } static void format_comma_separated_fixed_1dp(char **dest, size_t *size, sint64 value) { - sint32 digit, groupIndex; - char *nbegin, *nend, *ncur; - char tmp; - const char *commaMark = language_get_string(STR_LOCALE_THOUSANDS_SEPARATOR); - const char *decimalMark = language_get_string(STR_LOCALE_DECIMAL_POINT); - const char *ch = NULL; - sint32 zeroNeeded = 1; + sint32 digit, groupIndex; + char *nbegin, *nend, *ncur; + char tmp; + const char *commaMark = language_get_string(STR_LOCALE_THOUSANDS_SEPARATOR); + const char *decimalMark = language_get_string(STR_LOCALE_DECIMAL_POINT); + const char *ch = NULL; + sint32 zeroNeeded = 1; - if ((*size) == 0) return; + if ((*size) == 0) return; - // Negative sign - if (value < 0) { - format_push_char('-'); - value = -value; - } + // Negative sign + if (value < 0) { + format_push_char('-'); + value = -value; + } - nbegin = (*dest); + nbegin = (*dest); - // In the case of buffers this small, - // all of this would be truncated anyways. - format_handle_overflow(1); - if ((*size) > 2) { - // One decimal place - digit = value % 10; - format_push_char_safe('0' + digit); + // In the case of buffers this small, + // all of this would be truncated anyways. + format_handle_overflow(1); + if ((*size) > 2) { + // One decimal place + digit = value % 10; + format_push_char_safe('0' + digit); - ch = decimalMark; - } - value /= 10; + ch = decimalMark; + } + value /= 10; - groupIndex = 0; - while ((zeroNeeded || value > 0) && (*size) > 1) { - // Append group separator - if (groupIndex == 3) { - groupIndex = 0; - ch = commaMark; - } + groupIndex = 0; + while ((zeroNeeded || value > 0) && (*size) > 1) { + // Append group separator + if (groupIndex == 3) { + groupIndex = 0; + ch = commaMark; + } - if (ch != NULL ) { - format_push_char_safe(*ch++); - if (*ch == '\0') ch = NULL; - } else { - zeroNeeded = 0; - digit = value % 10; - value /= 10; + if (ch != NULL ) { + format_push_char_safe(*ch++); + if (*ch == '\0') ch = NULL; + } else { + zeroNeeded = 0; + digit = value % 10; + value /= 10; - format_push_char_safe('0' + digit); - groupIndex++; - } - } + format_push_char_safe('0' + digit); + groupIndex++; + } + } - if (zeroNeeded || value > 0) { - ncur = nbegin; + if (zeroNeeded || value > 0) { + ncur = nbegin; - while (zeroNeeded || value > 0) { - // Append group separator - if (groupIndex == 3) { - groupIndex = 0; - ch = commaMark; - } + while (zeroNeeded || value > 0) { + // Append group separator + if (groupIndex == 3) { + groupIndex = 0; + ch = commaMark; + } - if (ch != NULL ) { - format_push_wrap(*ch++); - if (*ch == '\0') ch = NULL; - } else { - zeroNeeded = 0; - digit = value % 10; - value /= 10; + if (ch != NULL ) { + format_push_wrap(*ch++); + if (*ch == '\0') ch = NULL; + } else { + zeroNeeded = 0; + digit = value % 10; + value /= 10; - format_push_wrap('0' + digit); - groupIndex++; - } - } + format_push_wrap('0' + digit); + groupIndex++; + } + } - // Reverse first half of string - nend = ncur - 1; - reverse_string(); + // Reverse first half of string + nend = ncur - 1; + reverse_string(); - // Reverse second half of string - nbegin = ncur; - nend = (*dest) - 1; - reverse_string(); + // Reverse second half of string + nbegin = ncur; + nend = (*dest) - 1; + reverse_string(); - format_push_char_safe('\0'); // Truncate overflowed string - } else { - // Reverse string - nend = *dest - 1; - reverse_string(); - } + format_push_char_safe('\0'); // Truncate overflowed string + } else { + // Reverse string + nend = *dest - 1; + reverse_string(); + } } static void format_comma_separated_fixed_2dp(char **dest, size_t *size, sint64 value) { - sint32 digit, groupIndex; - char *nbegin, *nend, *ncur; - char tmp; - const char *commaMark = language_get_string(STR_LOCALE_THOUSANDS_SEPARATOR); - const char *decimalMark = language_get_string(STR_LOCALE_DECIMAL_POINT); - const char *ch = NULL; - sint32 zeroNeeded = 1; + sint32 digit, groupIndex; + char *nbegin, *nend, *ncur; + char tmp; + const char *commaMark = language_get_string(STR_LOCALE_THOUSANDS_SEPARATOR); + const char *decimalMark = language_get_string(STR_LOCALE_DECIMAL_POINT); + const char *ch = NULL; + sint32 zeroNeeded = 1; - if ((*size) == 0) return; + if ((*size) == 0) return; - // Negative sign - if (value < 0) { - format_push_char('-'); - value = -value; - } + // Negative sign + if (value < 0) { + format_push_char('-'); + value = -value; + } - nbegin = (*dest); + nbegin = (*dest); - // In the case of buffers this small, - // all of this would be truncated anyways. - format_handle_overflow(1); - if ((*size) < 3) { - value /= 100; - } else { - // Two decimal places - digit = value % 10; - value /= 10; - format_push_char_safe('0' + digit); + // In the case of buffers this small, + // all of this would be truncated anyways. + format_handle_overflow(1); + if ((*size) < 3) { + value /= 100; + } else { + // Two decimal places + digit = value % 10; + value /= 10; + format_push_char_safe('0' + digit); - digit = value % 10; - value /= 10; - format_push_char_safe('0' + digit); + digit = value % 10; + value /= 10; + format_push_char_safe('0' + digit); - ch = decimalMark; - } + ch = decimalMark; + } - groupIndex = 0; - while ((zeroNeeded || value > 0) && (*size) > 1) { - // Append group separator - if (groupIndex == 3) { - groupIndex = 0; - ch = commaMark; - } + groupIndex = 0; + while ((zeroNeeded || value > 0) && (*size) > 1) { + // Append group separator + if (groupIndex == 3) { + groupIndex = 0; + ch = commaMark; + } - if (ch != NULL ) { - format_push_char_safe(*ch++); - if (*ch == '\0') ch = NULL; - } else { - zeroNeeded = 0; - digit = value % 10; - value /= 10; + if (ch != NULL ) { + format_push_char_safe(*ch++); + if (*ch == '\0') ch = NULL; + } else { + zeroNeeded = 0; + digit = value % 10; + value /= 10; - format_push_char_safe('0' + digit); - groupIndex++; - } - } + format_push_char_safe('0' + digit); + groupIndex++; + } + } - if (zeroNeeded || value > 0) { - ncur = nbegin; + if (zeroNeeded || value > 0) { + ncur = nbegin; - while (zeroNeeded || value > 0) { - // Append group separator - if (groupIndex == 3) { - groupIndex = 0; - ch = commaMark; - } + while (zeroNeeded || value > 0) { + // Append group separator + if (groupIndex == 3) { + groupIndex = 0; + ch = commaMark; + } - if (ch != NULL ) { - format_push_wrap(*ch++); - if (*ch == '\0') ch = NULL; - } else { - zeroNeeded = 0; - digit = value % 10; - value /= 10; + if (ch != NULL ) { + format_push_wrap(*ch++); + if (*ch == '\0') ch = NULL; + } else { + zeroNeeded = 0; + digit = value % 10; + value /= 10; - format_push_wrap('0' + digit); - groupIndex++; - } - } + format_push_wrap('0' + digit); + groupIndex++; + } + } - // Reverse first half of string - nend = ncur - 1; - reverse_string(); + // Reverse first half of string + nend = ncur - 1; + reverse_string(); - // Reverse second half of string - nbegin = ncur; - nend = (*dest) - 1; - reverse_string(); + // Reverse second half of string + nbegin = ncur; + nend = (*dest) - 1; + reverse_string(); - format_push_char_safe('\0'); // Truncate overflowed string - } else { - // Reverse string - nend = *dest - 1; - reverse_string(); - } + format_push_char_safe('\0'); // Truncate overflowed string + } else { + // Reverse string + nend = *dest - 1; + reverse_string(); + } } static void format_currency(char **dest, size_t *size, sint64 value) { - if ((*size) == 0) return; + if ((*size) == 0) return; - const currency_descriptor *currencyDesc = &CurrencyDescriptors[gConfigGeneral.currency_format]; + const currency_descriptor *currencyDesc = &CurrencyDescriptors[gConfigGeneral.currency_format]; - value *= currencyDesc->rate; + value *= currencyDesc->rate; - // Negative sign - if (value < 0) { - format_push_char('-'); - value = -value; - } + // Negative sign + if (value < 0) { + format_push_char('-'); + value = -value; + } - // Round the value away from zero - value = (value + 99) / 100; + // Round the value away from zero + value = (value + 99) / 100; - // Currency symbol - const utf8 *symbol = currencyDesc->symbol_unicode; - uint8 affix = currencyDesc->affix_unicode; - if (!font_supports_string(symbol, FONT_SIZE_MEDIUM)) { - symbol = currencyDesc->symbol_ascii; - affix = currencyDesc->affix_ascii; - } + // Currency symbol + const utf8 *symbol = currencyDesc->symbol_unicode; + uint8 affix = currencyDesc->affix_unicode; + if (!font_supports_string(symbol, FONT_SIZE_MEDIUM)) { + symbol = currencyDesc->symbol_ascii; + affix = currencyDesc->affix_ascii; + } - // Prefix - if (affix == CURRENCY_PREFIX) - format_append_string(dest, size, symbol); - if ((*size) == 0) return; + // Prefix + if (affix == CURRENCY_PREFIX) + format_append_string(dest, size, symbol); + if ((*size) == 0) return; - format_comma_separated_integer(dest, size, value); - if ((*size) == 0) return; + format_comma_separated_integer(dest, size, value); + if ((*size) == 0) return; - // Currency symbol suffix - if (affix == CURRENCY_SUFFIX) - format_append_string(dest, size, symbol); + // Currency symbol suffix + if (affix == CURRENCY_SUFFIX) + format_append_string(dest, size, symbol); } static void format_currency_2dp(char **dest, size_t *size, sint64 value) { - if ((*size) == 0) return; + if ((*size) == 0) return; - const currency_descriptor *currencyDesc = &CurrencyDescriptors[gConfigGeneral.currency_format]; + const currency_descriptor *currencyDesc = &CurrencyDescriptors[gConfigGeneral.currency_format]; - sint32 rate = currencyDesc->rate; - value *= rate; + sint32 rate = currencyDesc->rate; + value *= rate; - // Negative sign - if (value < 0) { - format_push_char('-'); - value = -value; - } + // Negative sign + if (value < 0) { + format_push_char('-'); + value = -value; + } - // Currency symbol - const utf8 *symbol = currencyDesc->symbol_unicode; - uint8 affix = currencyDesc->affix_unicode; - if (!font_supports_string(symbol, FONT_SIZE_MEDIUM)) { - symbol = currencyDesc->symbol_ascii; - affix = currencyDesc->affix_ascii; - } + // Currency symbol + const utf8 *symbol = currencyDesc->symbol_unicode; + uint8 affix = currencyDesc->affix_unicode; + if (!font_supports_string(symbol, FONT_SIZE_MEDIUM)) { + symbol = currencyDesc->symbol_ascii; + affix = currencyDesc->affix_ascii; + } - // Prefix - if (affix == CURRENCY_PREFIX) - format_append_string(dest, size, symbol); - if ((*size) == 0) return; + // Prefix + if (affix == CURRENCY_PREFIX) + format_append_string(dest, size, symbol); + if ((*size) == 0) return; - // Drop the pennies for "large" currencies - if (rate >= 100) { - format_comma_separated_integer(dest, size, value / 100); - } else { - format_comma_separated_fixed_2dp(dest, size, value); - } - if ((*size) == 0) return; + // Drop the pennies for "large" currencies + if (rate >= 100) { + format_comma_separated_integer(dest, size, value / 100); + } else { + format_comma_separated_fixed_2dp(dest, size, value); + } + if ((*size) == 0) return; - // Currency symbol suffix - if (affix == CURRENCY_SUFFIX) - format_append_string(dest, size, symbol); + // Currency symbol suffix + if (affix == CURRENCY_SUFFIX) + format_append_string(dest, size, symbol); } static void format_date(char **dest, size_t *size, uint16 value) { - uint16 args[] = { date_get_month(value), date_get_year(value) + 1 }; - uint16 *argsRef = args; - format_string_part(dest, size, STR_DATE_FORMAT_MY, (char**)&argsRef); + uint16 args[] = { date_get_month(value), date_get_year(value) + 1 }; + uint16 *argsRef = args; + format_string_part(dest, size, STR_DATE_FORMAT_MY, (char**)&argsRef); } static void format_length(char **dest, size_t *size, sint16 value) { - rct_string_id stringId = STR_UNIT_SUFFIX_METRES; + rct_string_id stringId = STR_UNIT_SUFFIX_METRES; - if (gConfigGeneral.measurement_format == MEASUREMENT_FORMAT_IMPERIAL) { - value = metres_to_feet(value); - stringId = STR_UNIT_SUFFIX_FEET; - } + if (gConfigGeneral.measurement_format == MEASUREMENT_FORMAT_IMPERIAL) { + value = metres_to_feet(value); + stringId = STR_UNIT_SUFFIX_FEET; + } - sint16 *argRef = &value; - format_string_part(dest, size, stringId, (char**)&argRef); + sint16 *argRef = &value; + format_string_part(dest, size, stringId, (char**)&argRef); } static void format_velocity(char **dest, size_t *size, uint16 value) { - rct_string_id stringId; + rct_string_id stringId; - switch (gConfigGeneral.measurement_format) { - default: - stringId = STR_UNIT_SUFFIX_MILES_PER_HOUR; - break; - case MEASUREMENT_FORMAT_METRIC: - value = mph_to_kmph(value); - stringId = STR_UNIT_SUFFIX_KILOMETRES_PER_HOUR; - break; - case MEASUREMENT_FORMAT_SI: - value = mph_to_dmps(value); - stringId = STR_UNIT_SUFFIX_METRES_PER_SECOND; - break; - } + switch (gConfigGeneral.measurement_format) { + default: + stringId = STR_UNIT_SUFFIX_MILES_PER_HOUR; + break; + case MEASUREMENT_FORMAT_METRIC: + value = mph_to_kmph(value); + stringId = STR_UNIT_SUFFIX_KILOMETRES_PER_HOUR; + break; + case MEASUREMENT_FORMAT_SI: + value = mph_to_dmps(value); + stringId = STR_UNIT_SUFFIX_METRES_PER_SECOND; + break; + } - uint16 *argRef = &value; - format_string_part(dest, size, stringId, (char**)&argRef); + uint16 *argRef = &value; + format_string_part(dest, size, stringId, (char**)&argRef); } static const rct_string_id DurationFormats[][2] = { - {STR_DURATION_SEC, STR_DURATION_SECS}, - {STR_DURATION_MIN_SEC, STR_DURATION_MIN_SECS}, - {STR_DURATION_MINS_SEC, STR_DURATION_MINS_SECS}, + {STR_DURATION_SEC, STR_DURATION_SECS}, + {STR_DURATION_MIN_SEC, STR_DURATION_MIN_SECS}, + {STR_DURATION_MINS_SEC, STR_DURATION_MINS_SECS}, }; static void format_duration(char **dest, size_t *size, uint16 value) { - uint16 minutes = value / 60; - uint16 seconds = value % 60; - uint16 args[] = { minutes, seconds }; - uint16 *argsRef = &args[1]; + uint16 minutes = value / 60; + uint16 seconds = value % 60; + uint16 args[] = { minutes, seconds }; + uint16 *argsRef = &args[1]; - sint32 minuteIndex = 0; - if (minutes > 0) { - minuteIndex = 1; - if (minutes != 1) { - minuteIndex = 2; - } + sint32 minuteIndex = 0; + if (minutes > 0) { + minuteIndex = 1; + if (minutes != 1) { + minuteIndex = 2; + } - argsRef--; - } + argsRef--; + } - sint32 secondsIndex = 0; - if (seconds != 1) { - secondsIndex = 1; - } + sint32 secondsIndex = 0; + if (seconds != 1) { + secondsIndex = 1; + } - rct_string_id stringId = DurationFormats[minuteIndex][secondsIndex]; + rct_string_id stringId = DurationFormats[minuteIndex][secondsIndex]; - format_string_part(dest, size, stringId, (char**)&argsRef); + format_string_part(dest, size, stringId, (char**)&argsRef); } static const rct_string_id RealtimeFormats[][2] = { - {STR_REALTIME_MIN, STR_REALTIME_MINS}, - {STR_REALTIME_HOUR_MIN, STR_REALTIME_HOUR_MINS}, - {STR_REALTIME_HOURS_MIN, STR_REALTIME_HOURS_MINS}, + {STR_REALTIME_MIN, STR_REALTIME_MINS}, + {STR_REALTIME_HOUR_MIN, STR_REALTIME_HOUR_MINS}, + {STR_REALTIME_HOURS_MIN, STR_REALTIME_HOURS_MINS}, }; static void format_realtime(char **dest, size_t *size, uint16 value) { - uint16 hours = value / 60; - uint16 minutes = value % 60; - uint16 args[] = { hours, minutes }; - uint16 *argsRef = &args[1]; + uint16 hours = value / 60; + uint16 minutes = value % 60; + uint16 args[] = { hours, minutes }; + uint16 *argsRef = &args[1]; - sint32 hourIndex = 0; - if (hours > 0) { - hourIndex = 1; - if (hours != 1) { - hourIndex = 2; - } + sint32 hourIndex = 0; + if (hours > 0) { + hourIndex = 1; + if (hours != 1) { + hourIndex = 2; + } - argsRef--; - } + argsRef--; + } - sint32 minuteIndex = 0; - if (minutes != 1) { - minuteIndex = 1; - } + sint32 minuteIndex = 0; + if (minutes != 1) { + minuteIndex = 1; + } - rct_string_id stringId = RealtimeFormats[hourIndex][minuteIndex]; + rct_string_id stringId = RealtimeFormats[hourIndex][minuteIndex]; - format_string_part(dest, size, stringId, (char**)&argsRef); + format_string_part(dest, size, stringId, (char**)&argsRef); } static void format_string_code(uint32 format_code, char **dest, size_t *size, char **args) { - intptr_t value; + intptr_t value; - if ((*size) == 0) return; + if ((*size) == 0) return; #ifdef DEBUG - if (gDebugStringFormatting) { - printf("format_string_code(\"%s\")\n", format_get_token(format_code)); - } + if (gDebugStringFormatting) { + printf("format_string_code(\"%s\")\n", format_get_token(format_code)); + } #endif - switch (format_code) { - case FORMAT_COMMA32: - // Pop argument - value = *((sint32*)*args); - *args += 4; + switch (format_code) { + case FORMAT_COMMA32: + // Pop argument + value = *((sint32*)*args); + *args += 4; - format_comma_separated_integer(dest, size, value); - break; - case FORMAT_INT32: - // Pop argument - value = *((sint32*)*args); - *args += 4; + format_comma_separated_integer(dest, size, value); + break; + case FORMAT_INT32: + // Pop argument + value = *((sint32*)*args); + *args += 4; - format_integer(dest, size, value); - break; - case FORMAT_COMMA2DP32: - // Pop argument - value = *((sint32*)*args); - *args += 4; + format_integer(dest, size, value); + break; + case FORMAT_COMMA2DP32: + // Pop argument + value = *((sint32*)*args); + *args += 4; - format_comma_separated_fixed_2dp(dest, size, value); - break; - case FORMAT_COMMA1DP16: - // Pop argument - value = *((sint16*)*args); - *args += 2; + format_comma_separated_fixed_2dp(dest, size, value); + break; + case FORMAT_COMMA1DP16: + // Pop argument + value = *((sint16*)*args); + *args += 2; - format_comma_separated_fixed_1dp(dest, size, value); - break; - case FORMAT_COMMA16: - // Pop argument - value = *((sint16*)*args); - *args += 2; + format_comma_separated_fixed_1dp(dest, size, value); + break; + case FORMAT_COMMA16: + // Pop argument + value = *((sint16*)*args); + *args += 2; - format_comma_separated_integer(dest, size, value); - break; - case FORMAT_UINT16: - // Pop argument - value = *((uint16*)*args); - *args += 2; + format_comma_separated_integer(dest, size, value); + break; + case FORMAT_UINT16: + // Pop argument + value = *((uint16*)*args); + *args += 2; - format_integer(dest, size, value); - break; - case FORMAT_CURRENCY2DP: - // Pop argument - value = *((sint32*)*args); - *args += 4; + format_integer(dest, size, value); + break; + case FORMAT_CURRENCY2DP: + // Pop argument + value = *((sint32*)*args); + *args += 4; - format_currency_2dp(dest, size, value); - break; - case FORMAT_CURRENCY: - // Pop argument - value = *((sint32*)*args); - *args += 4; + format_currency_2dp(dest, size, value); + break; + case FORMAT_CURRENCY: + // Pop argument + value = *((sint32*)*args); + *args += 4; - format_currency(dest, size, value); - break; - case FORMAT_STRINGID: - case FORMAT_STRINGID2: - // Pop argument - value = *((uint16*)*args); - *args += 2; + format_currency(dest, size, value); + break; + case FORMAT_STRINGID: + case FORMAT_STRINGID2: + // Pop argument + value = *((uint16*)*args); + *args += 2; - format_string_part(dest, size, (rct_string_id)value, args); - break; - case FORMAT_STRING: - // Pop argument - value = *((uintptr_t*)*args); - *args += sizeof(uintptr_t); + format_string_part(dest, size, (rct_string_id)value, args); + break; + case FORMAT_STRING: + // Pop argument + value = *((uintptr_t*)*args); + *args += sizeof(uintptr_t); - if (value != 0) - format_append_string(dest, size, (char*)value); - break; - case FORMAT_MONTHYEAR: - // Pop argument - value = *((uint16*)*args); - *args += 2; + if (value != 0) + format_append_string(dest, size, (char*)value); + break; + case FORMAT_MONTHYEAR: + // Pop argument + value = *((uint16*)*args); + *args += 2; - format_date(dest, size, (uint16)value); - break; - case FORMAT_MONTH: - // Pop argument - value = *((uint16*)*args); - *args += 2; + format_date(dest, size, (uint16)value); + break; + case FORMAT_MONTH: + // Pop argument + value = *((uint16*)*args); + *args += 2; - format_append_string(dest, size, language_get_string(DateGameMonthNames[date_get_month((sint32)value)])); - break; - case FORMAT_VELOCITY: - // Pop argument - value = *((sint16*)*args); - *args += 2; + format_append_string(dest, size, language_get_string(DateGameMonthNames[date_get_month((sint32)value)])); + break; + case FORMAT_VELOCITY: + // Pop argument + value = *((sint16*)*args); + *args += 2; - format_velocity(dest, size, (uint16)value); - break; - case FORMAT_POP16: - *args += 2; - break; - case FORMAT_PUSH16: - *args -= 2; - break; - case FORMAT_DURATION: - // Pop argument - value = *((uint16*)*args); - *args += 2; + format_velocity(dest, size, (uint16)value); + break; + case FORMAT_POP16: + *args += 2; + break; + case FORMAT_PUSH16: + *args -= 2; + break; + case FORMAT_DURATION: + // Pop argument + value = *((uint16*)*args); + *args += 2; - format_duration(dest, size, (uint16)value); - break; - case FORMAT_REALTIME: - // Pop argument - value = *((uint16*)*args); - *args += 2; + format_duration(dest, size, (uint16)value); + break; + case FORMAT_REALTIME: + // Pop argument + value = *((uint16*)*args); + *args += 2; - format_realtime(dest, size, (uint16)value); - break; - case FORMAT_LENGTH: - // Pop argument - value = *((sint16*)*args); - *args += 2; + format_realtime(dest, size, (uint16)value); + break; + case FORMAT_LENGTH: + // Pop argument + value = *((sint16*)*args); + *args += 2; - format_length(dest, size, (sint16)value); - break; - case FORMAT_SPRITE: - // Pop argument - value = *((uint32*)*args); - *args += 4; + format_length(dest, size, (sint16)value); + break; + case FORMAT_SPRITE: + // Pop argument + value = *((uint32*)*args); + *args += 4; - format_handle_overflow(1 + sizeof(uint32)); + format_handle_overflow(1 + sizeof(uint32)); - format_push_char_safe('\x17'); - *((uint32*)(*dest)) = (uint32)value; - (*dest) += sizeof(uint32); - (*size) -= sizeof(uint32); - break; - } + format_push_char_safe('\x17'); + *((uint32*)(*dest)) = (uint32)value; + (*dest) += sizeof(uint32); + (*size) -= sizeof(uint32); + break; + } } static void format_string_part_from_raw(utf8 **dest, size_t *size, const utf8 *src, char **args) { #ifdef DEBUG - if (gDebugStringFormatting) { - printf("format_string_part_from_raw(\"%s\")\n", src); - } + if (gDebugStringFormatting) { + printf("format_string_part_from_raw(\"%s\")\n", src); + } #endif - while (*size > 1) { - uint32 code = utf8_get_next(src, &src); - if (code < ' ') { - if (code == 0) { - break; - } else if (code <= 4) { - format_handle_overflow(2); - format_push_char_safe(code); - format_push_char_safe(*src++); - } else if (code <= 16) { - format_handle_overflow(1); - format_push_char_safe(code); - } else if (code <= 22) { - format_handle_overflow(3); - format_push_char_safe(code); - format_push_char_safe(*src++); - format_push_char_safe(*src++); - } else { - format_handle_overflow(5); - format_push_char_safe(code); - format_push_char_safe(*src++); - format_push_char_safe(*src++); - format_push_char_safe(*src++); - format_push_char_safe(*src++); - } - } else if (code <= 'z') { - format_push_char(code); - } else if (code < FORMAT_COLOUR_CODE_START || code == FORMAT_COMMA1DP16) { - format_string_code(code, dest, size, args); - } else { - size_t codepointLength = (size_t)utf8_get_codepoint_length(code); - format_handle_overflow(codepointLength); - if (*size > codepointLength) { - *dest = utf8_write_codepoint(*dest, code); - *size -= codepointLength; - } - } - } + while (*size > 1) { + uint32 code = utf8_get_next(src, &src); + if (code < ' ') { + if (code == 0) { + break; + } else if (code <= 4) { + format_handle_overflow(2); + format_push_char_safe(code); + format_push_char_safe(*src++); + } else if (code <= 16) { + format_handle_overflow(1); + format_push_char_safe(code); + } else if (code <= 22) { + format_handle_overflow(3); + format_push_char_safe(code); + format_push_char_safe(*src++); + format_push_char_safe(*src++); + } else { + format_handle_overflow(5); + format_push_char_safe(code); + format_push_char_safe(*src++); + format_push_char_safe(*src++); + format_push_char_safe(*src++); + format_push_char_safe(*src++); + } + } else if (code <= 'z') { + format_push_char(code); + } else if (code < FORMAT_COLOUR_CODE_START || code == FORMAT_COMMA1DP16) { + format_string_code(code, dest, size, args); + } else { + size_t codepointLength = (size_t)utf8_get_codepoint_length(code); + format_handle_overflow(codepointLength); + if (*size > codepointLength) { + *dest = utf8_write_codepoint(*dest, code); + *size -= codepointLength; + } + } + } } static void format_string_part(utf8 **dest, size_t *size, rct_string_id format, char **args) { - if (format == STR_NONE) { - if (*size > 0) { - *(*dest) = '\0'; - } - } else if (format < 0x8000) { - // Language string - const utf8 * rawString = language_get_string(format); - format_string_part_from_raw(dest, size, rawString, args); - } else if (format < 0x9000) { - // Custom string - format -= 0x8000; + if (format == STR_NONE) { + if (*size > 0) { + *(*dest) = '\0'; + } + } else if (format < 0x8000) { + // Language string + const utf8 * rawString = language_get_string(format); + format_string_part_from_raw(dest, size, rawString, args); + } else if (format < 0x9000) { + // Custom string + format -= 0x8000; - // Bits 10, 11 represent number of bytes to pop off arguments - *args += (format & 0xC00) >> 9; - format &= ~0xC00; + // Bits 10, 11 represent number of bytes to pop off arguments + *args += (format & 0xC00) >> 9; + format &= ~0xC00; - format_append_string_n(dest, size, &gUserStrings[format * 32], 32); - if ((*size) > 0) *(*dest) = '\0'; - } else if (format < 0xE000) { - // Real name - format -= -0xA000; + format_append_string_n(dest, size, &gUserStrings[format * 32], 32); + if ((*size) > 0) *(*dest) = '\0'; + } else if (format < 0xE000) { + // Real name + format -= -0xA000; - format_append_string(dest, size, real_names[format % countof(real_names)]); - if ((*size) == 0) return; - format_push_char(' '); - format_push_char(real_name_initials[(format >> 10) % countof(real_name_initials)]); - format_push_char('.'); - *(*dest) = '\0'; + format_append_string(dest, size, real_names[format % countof(real_names)]); + if ((*size) == 0) return; + format_push_char(' '); + format_push_char(real_name_initials[(format >> 10) % countof(real_name_initials)]); + format_push_char('.'); + *(*dest) = '\0'; - *args += 4; - } else { - // ? - log_error("Localisation CALLPROC reached. Please contact a dev"); - assert(false); - } + *args += 4; + } else { + // ? + log_error("Localisation CALLPROC reached. Please contact a dev"); + assert(false); + } } /** @@ -1128,60 +1128,60 @@ static void format_string_part(utf8 **dest, size_t *size, rct_string_id format, void format_string(utf8 *dest, size_t size, rct_string_id format, void *args) { #ifdef DEBUG - if (gDebugStringFormatting) { - printf("format_string(%hu)\n", format); - } + if (gDebugStringFormatting) { + printf("format_string(%hu)\n", format); + } #endif - if (size == 0) { - return; - } + if (size == 0) { + return; + } - utf8 *end = dest; - size_t left = size; - format_string_part(&end, &left, format, (char**)&args); - if (left == 0) { - // Replace last character with null terminator - *(end - 1) = '\0'; - log_warning("Truncating formatted string \"%s\" to %d bytes.", dest, size); - } else { - // Null terminate - *end = '\0'; - } + utf8 *end = dest; + size_t left = size; + format_string_part(&end, &left, format, (char**)&args); + if (left == 0) { + // Replace last character with null terminator + *(end - 1) = '\0'; + log_warning("Truncating formatted string \"%s\" to %d bytes.", dest, size); + } else { + // Null terminate + *end = '\0'; + } #ifdef DEBUG - // Check if characters were written past the end of the buffer - assert(end <= dest + size); + // Check if characters were written past the end of the buffer + assert(end <= dest + size); #endif } void format_string_raw(utf8 *dest, size_t size, utf8 *src, void *args) { #ifdef DEBUG - if (gDebugStringFormatting) { - printf("format_string_raw(\"%s\")\n", src); - } + if (gDebugStringFormatting) { + printf("format_string_raw(\"%s\")\n", src); + } #endif - if (size == 0) { - return; - } + if (size == 0) { + return; + } - utf8 *end = dest; - size_t left = size; - format_string_part_from_raw(&end, &left, src, (char**)&args); - if (left == 0) { - // Replace last character with null terminator - *(end - 1) = '\0'; - log_warning("Truncating formatted string \"%s\" to %d bytes.", dest, size); - } else { - // Null terminate - *end = '\0'; - } + utf8 *end = dest; + size_t left = size; + format_string_part_from_raw(&end, &left, src, (char**)&args); + if (left == 0) { + // Replace last character with null terminator + *(end - 1) = '\0'; + log_warning("Truncating formatted string \"%s\" to %d bytes.", dest, size); + } else { + // Null terminate + *end = '\0'; + } #ifdef DEBUG - // Check if characters were written past the end of the buffer - assert(end <= dest + size); + // Check if characters were written past the end of the buffer + assert(end <= dest + size); #endif } @@ -1195,208 +1195,208 @@ void format_string_raw(utf8 *dest, size_t size, utf8 *src, void *args) void format_string_to_upper(utf8 *dest, size_t size, rct_string_id format, void *args) { #ifdef DEBUG - if (gDebugStringFormatting) { - printf("format_string_to_upper(%hu)\n", format); - } + if (gDebugStringFormatting) { + printf("format_string_to_upper(%hu)\n", format); + } #endif - if (size == 0) { - return; - } + if (size == 0) { + return; + } - format_string(dest, size, format, args); + format_string(dest, size, format, args); - // Convert to upper case - utf8 *ch = dest; - while (*ch != '\0') { - *ch = toupper(*ch); - ch++; - } + // Convert to upper case + utf8 *ch = dest; + while (*ch != '\0') { + *ch = toupper(*ch); + ch++; + } } money32 string_to_money(char * string_to_monetise) { - const char* decimal_char = language_get_string(STR_LOCALE_DECIMAL_POINT); - char * text_ptr = string_to_monetise; - int i, j, sign; - // Remove everything except numbers decimal, and minus sign(s) - for (i = 0; text_ptr[i] != '\0'; ++i) { - while (!( - (text_ptr[i] >= '0' && text_ptr[i] <= '9') || - (text_ptr[i] == decimal_char[0]) || - (text_ptr[i] == '-') || - (text_ptr[i] == '\0') - )) { - // Move everything over to the left by one - for (j = i; text_ptr[j] != '\0'; ++j) { - text_ptr[j] = text_ptr[j + 1]; - } - text_ptr[j] = '\0'; - } - } + const char* decimal_char = language_get_string(STR_LOCALE_DECIMAL_POINT); + char * text_ptr = string_to_monetise; + int i, j, sign; + // Remove everything except numbers decimal, and minus sign(s) + for (i = 0; text_ptr[i] != '\0'; ++i) { + while (!( + (text_ptr[i] >= '0' && text_ptr[i] <= '9') || + (text_ptr[i] == decimal_char[0]) || + (text_ptr[i] == '-') || + (text_ptr[i] == '\0') + )) { + // Move everything over to the left by one + for (j = i; text_ptr[j] != '\0'; ++j) { + text_ptr[j] = text_ptr[j + 1]; + } + text_ptr[j] = '\0'; + } + } - // If first character of shortened string is a minus, consider number negative - if (text_ptr[0] == '-') { - sign = -1; - } - else { - sign = 1; - } + // If first character of shortened string is a minus, consider number negative + if (text_ptr[0] == '-') { + sign = -1; + } + else { + sign = 1; + } - // Now minus signs can be removed from string - for (i = 0; text_ptr[i] != '\0'; ++i) { - if (text_ptr[i] == '-') { - for (j = i; text_ptr[j] != '\0'; ++j) { - text_ptr[j] = text_ptr[j + 1]; - } - text_ptr[j] = '\0'; - } - } + // Now minus signs can be removed from string + for (i = 0; text_ptr[i] != '\0'; ++i) { + if (text_ptr[i] == '-') { + for (j = i; text_ptr[j] != '\0'; ++j) { + text_ptr[j] = text_ptr[j + 1]; + } + text_ptr[j] = '\0'; + } + } - // Due to the nature of strstr and strtok, decimals at the very beginning will be ignored, causing - // ".1" to be interpreted as "1". To prevent this, prefix with "0" if decimal is at the beginning. - char * buffer = (char *)malloc(strlen(string_to_monetise) + 4); - if (string_to_monetise[0] == decimal_char[0]) { - strcpy(buffer, "0"); - strcpy(buffer + 1, string_to_monetise); - } - else { - strcpy(buffer, string_to_monetise); - } + // Due to the nature of strstr and strtok, decimals at the very beginning will be ignored, causing + // ".1" to be interpreted as "1". To prevent this, prefix with "0" if decimal is at the beginning. + char * buffer = (char *)malloc(strlen(string_to_monetise) + 4); + if (string_to_monetise[0] == decimal_char[0]) { + strcpy(buffer, "0"); + strcpy(buffer + 1, string_to_monetise); + } + else { + strcpy(buffer, string_to_monetise); + } - int number = 0, decimal = 0; - if (strstr(buffer, decimal_char) == NULL) { - // If decimal char does not exist, no tokenising is needed. - number = atoi(buffer); - } - else { - char *numberText = strtok(buffer, decimal_char); - char *decimalText = strtok(NULL, decimal_char); + int number = 0, decimal = 0; + if (strstr(buffer, decimal_char) == NULL) { + // If decimal char does not exist, no tokenising is needed. + number = atoi(buffer); + } + else { + char *numberText = strtok(buffer, decimal_char); + char *decimalText = strtok(NULL, decimal_char); - if (numberText != NULL) number = atoi(numberText); - if (decimalText != NULL) decimal = atoi(decimalText); + if (numberText != NULL) number = atoi(numberText); + if (decimalText != NULL) decimal = atoi(decimalText); - // The second parameter in MONEY must be two digits in length, while the game only ever uses - // the first of the two digits. - // Convert invalid numbers, such as ".6", ".234", ".05", to ".60", ".20", ".00" (respectively) - while (decimal > 10) decimal /= 10; - if (decimal < 10) decimal *= 10; - } - free(buffer); + // The second parameter in MONEY must be two digits in length, while the game only ever uses + // the first of the two digits. + // Convert invalid numbers, such as ".6", ".234", ".05", to ".60", ".20", ".00" (respectively) + while (decimal > 10) decimal /= 10; + if (decimal < 10) decimal *= 10; + } + free(buffer); - money32 result = MONEY(number, decimal); - // Check if MONEY resulted in overflow - if ((number > 0 && result < 0) || result / 10 < number) { - result = INT_MAX; - } - result *= sign; - return result; + money32 result = MONEY(number, decimal); + // Check if MONEY resulted in overflow + if ((number > 0 && result < 0) || result / 10 < number) { + result = INT_MAX; + } + result *= sign; + return result; } void money_to_string(money32 amount, char * buffer_to_put_value_to, size_t buffer_len) { - if (amount == MONEY32_UNDEFINED) { - snprintf(buffer_to_put_value_to, buffer_len, "0"); - return; - } - int sign = amount >= 0 ? 1 : -1; - int a = abs(amount); - if (a / 10 > 0 && a % 10 > 0) { // If whole and decimal exist - const char* decimal_char = language_get_string(STR_LOCALE_DECIMAL_POINT); - snprintf(buffer_to_put_value_to, buffer_len, "%d%s%d0", (a / 10) * sign, decimal_char, a % 10); - } - else if (a / 10 > 0 && a % 10 == 0) { // If whole exists, but not decimal - snprintf(buffer_to_put_value_to, buffer_len, "%d", (a / 10) * sign); - } - else if (a / 10 == 0 && a % 10 > 0) { // If decimal exists, but not whole - const char* decimal_char = language_get_string(STR_LOCALE_DECIMAL_POINT); - snprintf(buffer_to_put_value_to, buffer_len, "%s0%s%d0", sign < 0 ? "-" : "", decimal_char, a % 10); - } - else { - snprintf(buffer_to_put_value_to, buffer_len, "0"); - } + if (amount == MONEY32_UNDEFINED) { + snprintf(buffer_to_put_value_to, buffer_len, "0"); + return; + } + int sign = amount >= 0 ? 1 : -1; + int a = abs(amount); + if (a / 10 > 0 && a % 10 > 0) { // If whole and decimal exist + const char* decimal_char = language_get_string(STR_LOCALE_DECIMAL_POINT); + snprintf(buffer_to_put_value_to, buffer_len, "%d%s%d0", (a / 10) * sign, decimal_char, a % 10); + } + else if (a / 10 > 0 && a % 10 == 0) { // If whole exists, but not decimal + snprintf(buffer_to_put_value_to, buffer_len, "%d", (a / 10) * sign); + } + else if (a / 10 == 0 && a % 10 > 0) { // If decimal exists, but not whole + const char* decimal_char = language_get_string(STR_LOCALE_DECIMAL_POINT); + snprintf(buffer_to_put_value_to, buffer_len, "%s0%s%d0", sign < 0 ? "-" : "", decimal_char, a % 10); + } + else { + snprintf(buffer_to_put_value_to, buffer_len, "0"); + } } utf8 *win1252_to_utf8_alloc(const char *src, size_t srcMaxSize) { - size_t stringLength = strnlen(src, srcMaxSize); - size_t reservedSpace = (stringLength * 4) + 1; - utf8 *result = malloc(reservedSpace); - sint32 actualSpace = win1252_to_utf8(result, src, stringLength, reservedSpace); - return (utf8*)realloc(result, actualSpace); + size_t stringLength = strnlen(src, srcMaxSize); + size_t reservedSpace = (stringLength * 4) + 1; + utf8 *result = malloc(reservedSpace); + sint32 actualSpace = win1252_to_utf8(result, src, stringLength, reservedSpace); + return (utf8*)realloc(result, actualSpace); } sint32 win1252_to_utf8(utf8string dst, const char *src, size_t srcLength, size_t maxBufferLength) { #ifdef __WINDOWS__ - utf16 stackBuffer[256]; - utf16 *heapBuffer = NULL; - utf16 *intermediateBuffer = stackBuffer; - size_t bufferCount = countof(stackBuffer); - if (maxBufferLength > bufferCount) { - if (srcLength > bufferCount) { - bufferCount = srcLength + 4; - heapBuffer = malloc(bufferCount * sizeof(utf16)); - assert(heapBuffer != NULL); - intermediateBuffer = heapBuffer; - } - } - MultiByteToWideChar(CP_ACP, 0, src, -1, intermediateBuffer, (sint32)bufferCount); - sint32 result = WideCharToMultiByte(CP_UTF8, 0, intermediateBuffer, -1, dst, (sint32)maxBufferLength, NULL, NULL); + utf16 stackBuffer[256]; + utf16 *heapBuffer = NULL; + utf16 *intermediateBuffer = stackBuffer; + size_t bufferCount = countof(stackBuffer); + if (maxBufferLength > bufferCount) { + if (srcLength > bufferCount) { + bufferCount = srcLength + 4; + heapBuffer = malloc(bufferCount * sizeof(utf16)); + assert(heapBuffer != NULL); + intermediateBuffer = heapBuffer; + } + } + MultiByteToWideChar(CP_ACP, 0, src, -1, intermediateBuffer, (sint32)bufferCount); + sint32 result = WideCharToMultiByte(CP_UTF8, 0, intermediateBuffer, -1, dst, (sint32)maxBufferLength, NULL, NULL); - free(heapBuffer); + free(heapBuffer); #else - //log_warning("converting %s of size %d", src, srcLength); - char *buffer_conv = strndup(src, srcLength); - char *buffer_orig = buffer_conv; - const char *to_charset = "UTF8"; - const char *from_charset = "CP1252"; - iconv_t cd = iconv_open(to_charset, from_charset); - if ((iconv_t)-1 == cd) - { - sint32 error = errno; - switch (error) - { - case EINVAL: - log_error("Unsupported conversion from %s to %s, errno = %d", from_charset, to_charset, error); - break; - default: - log_error("Unknown error while initialising iconv, errno = %d", error); - } - return 0; - } - size_t obl = maxBufferLength; - char *outBuf = dst; - size_t conversion_result = iconv(cd, &buffer_conv, &srcLength, &outBuf, &obl); - if (conversion_result == (size_t)-1) - { - sint32 error = errno; - switch (error) - { - case EILSEQ: - log_error("Encountered invalid sequence"); - break; - case EINVAL: - log_error("Encountered incomplete sequence"); - break; - case E2BIG: - log_error("Ran out of space"); - break; - default: - log_error("Unknown error encountered, errno = %d", error); - } - } - sint32 close_result = iconv_close(cd); - if (close_result == -1) - { - log_error("Failed to close iconv, errno = %d", errno); - } - size_t byte_diff = maxBufferLength - obl + 1; - dst[byte_diff - 1] = '\0'; - //log_warning("converted %s of size %d, %d", dst, byte_diff, strlen(dst)); - sint32 result = byte_diff; - free(buffer_orig); + //log_warning("converting %s of size %d", src, srcLength); + char *buffer_conv = strndup(src, srcLength); + char *buffer_orig = buffer_conv; + const char *to_charset = "UTF8"; + const char *from_charset = "CP1252"; + iconv_t cd = iconv_open(to_charset, from_charset); + if ((iconv_t)-1 == cd) + { + sint32 error = errno; + switch (error) + { + case EINVAL: + log_error("Unsupported conversion from %s to %s, errno = %d", from_charset, to_charset, error); + break; + default: + log_error("Unknown error while initialising iconv, errno = %d", error); + } + return 0; + } + size_t obl = maxBufferLength; + char *outBuf = dst; + size_t conversion_result = iconv(cd, &buffer_conv, &srcLength, &outBuf, &obl); + if (conversion_result == (size_t)-1) + { + sint32 error = errno; + switch (error) + { + case EILSEQ: + log_error("Encountered invalid sequence"); + break; + case EINVAL: + log_error("Encountered incomplete sequence"); + break; + case E2BIG: + log_error("Ran out of space"); + break; + default: + log_error("Unknown error encountered, errno = %d", error); + } + } + sint32 close_result = iconv_close(cd); + if (close_result == -1) + { + log_error("Failed to close iconv, errno = %d", errno); + } + size_t byte_diff = maxBufferLength - obl + 1; + dst[byte_diff - 1] = '\0'; + //log_warning("converted %s of size %d, %d", dst, byte_diff, strlen(dst)); + sint32 result = byte_diff; + free(buffer_orig); #endif // __WINDOWS__ - return result; + return result; } diff --git a/src/openrct2/localisation/localisation.h b/src/openrct2/localisation/localisation.h index 46512a87e8..936196a6e1 100644 --- a/src/openrct2/localisation/localisation.h +++ b/src/openrct2/localisation/localisation.h @@ -61,8 +61,8 @@ wchar_t encoding_convert_big5_to_unicode(wchar_t big5); // Constants used by user_string_allocate enum { - USER_STRING_HIGH_ID_NUMBER = 1 << 2, - USER_STRING_DUPLICATION_PERMITTED = 1 << 7 + USER_STRING_HIGH_ID_NUMBER = 1 << 2, + USER_STRING_DUPLICATION_PERMITTED = 1 << 7 }; // Real name data @@ -87,15 +87,15 @@ extern const rct_string_id DateGameShortMonthNames[MONTH_COUNT]; static inline void set_format_arg_body(uint8 *args, size_t offset, uintptr_t value, size_t size) { - memcpy(args + offset, &value, size); + memcpy(args + offset, &value, size); } -#define set_format_arg(offset, type, value) \ - do { static_assert(sizeof(type) <= sizeof(uintptr_t), "Type too large"); \ - set_format_arg_body(gCommonFormatArgs, offset, (uintptr_t)value, sizeof(type)); } while (0) +#define set_format_arg(offset, type, value) \ + do { static_assert(sizeof(type) <= sizeof(uintptr_t), "Type too large"); \ + set_format_arg_body(gCommonFormatArgs, offset, (uintptr_t)value, sizeof(type)); } while (0) #define set_map_tooltip_format_arg(offset, type, value) \ - do { static_assert(sizeof(type) <= sizeof(uintptr_t), "Type too large"); \ - set_format_arg_body(gMapTooltipFormatArgs, offset, (uintptr_t)value, sizeof(type)); } while (0) + do { static_assert(sizeof(type) <= sizeof(uintptr_t), "Type too large"); \ + set_format_arg_body(gMapTooltipFormatArgs, offset, (uintptr_t)value, sizeof(type)); } while (0) #endif diff --git a/src/openrct2/localisation/real_names.c b/src/openrct2/localisation/real_names.c index f85d5940bd..e35dadb7c3 100644 --- a/src/openrct2/localisation/real_names.c +++ b/src/openrct2/localisation/real_names.c @@ -17,1033 +17,1033 @@ #include "localisation.h" const char real_name_initials[] = { - 'B', 'C', 'D', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'W' + 'B', 'C', 'D', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'W' }; // The peep sorter assumes this array is alphabetically ordered const char *real_names[] = { - "Aaron", - "Abdul", - "Abraham", - "Abu", - "Adam", - "Adrian", - "Adriane", - "Aileen", - "Aisha", - "Akiko", - "Akira", - "Al", - "Alan", - "Alana", - "Albert", - "Alberta", - "Alec", - "Alesia", - "Alex", - "Alexa", - "Alexander", - "Alexandra", - "Alexis", - "Alf", - "Alfonso", - "Alfred", - "Ali", - "Alice", - "Alicia", - "Alison", - "Alistair", - "Allan", - "Allen", - "Allison", - "Allister", - "Alma", - "Alvin", - "Alyson", - "Amanda", - "Amber", - "Amilio", - "Amos", - "Amy", - "Ana", - "Anabel", - "Anastasia", - "Andie", - "Andrea", - "Andres", - "Andrew", - "Andy", - "Angel", - "Angela", - "Angelica", - "Angie", - "Angus", - "Anika", - "Ann", - "Anna", - "Anne", - "Annette", - "Annie", - "Annika", - "Anthony", - "Anton", - "Antonio", - "April", - "Archer", - "Archie", - "Arlene", - "Arnie", - "Arnold", - "Art", - "Arthur", - "Asaf", - "Ashley", - "Astrid", - "Aubrey", - "Austin", - "Austine", - "Avon", - "Avril", - "Axel", - "Aziz", - "Bailey", - "Barbara", - "Barney", - "Barry", - "Bart", - "Barton", - "Baxter", - "Beck", - "Becket", - "Becky", - "Belinda", - "Bella", - "Belle", - "Ben", - "Benjamin", - "Benny", - "Bernadette", - "Bernard", - "Bernard", - "Bernardette", - "Bernice", - "Bernice", - "Berty", - "Bess", - "Beth", - "Bethany", - "Bette", - "Betty", - "Bev", - "Beverley", - "Beverly", - "Bianca", - "Bill", - "Billie", - "Billy", - "Bjorn", - "Blaire", - "Blake", - "Blanche", - "Bo", - "Bob", - "Bobbie", - "Bobby", - "Bonnie", - "Boris", - "Brad", - "Bradley", - "Brady", - "Brandi", - "Brandon", - "Brandy", - "Brenda", - "Brendan", - "Brendon", - "Brent", - "Brett", - "Brian", - "Bridgit", - "Brigitte", - "Britney", - "Bruce", - "Bruno", - "Brutus", - "Bryan", - "Buck", - "Bucky", - "Bug", - "Burton", - "Byron", - "Cailin", - "Caitlyn", - "Cal", - "Caley", - "Callum", - "Calvin", - "Cameron", - "Camille", - "Campbell", - "Candy", - "Carl", - "Carla", - "Carlene", - "Carlos", - "Carmela", - "Carmen", - "Carol", - "Carole", - "Caroline", - "Carolyn", - "Carrie", - "Casey", - "Cassandra", - "Cassey", - "Cassie", - "Catherina", - "Catherine", - "Cathy", - "Caz", - "Cecelia", - "Cecil", - "Cecille", - "Ceilidh", - "Celeste", - "Chad", - "Charlene", - "Charles", - "Charlie", - "Charlotte", - "Chelsea", - "Cher", - "Cheri", - "Cheryll", - "Chip", - "Chloe", - "Chris", - "Christel", - "Christian", - "Christie", - "Christina", - "Christine", - "Christopher", - "Chuck", - "Cindy", - "Clair", - "Claire", - "Clara", - "Clarabell", - "Clark", - "Claude", - "Claudette", - "Claudia", - "Clayton", - "Cliff", - "Clifford", - "Clint", - "Clive", - "Clyde", - "Codey", - "Cody", - "Colin", - "Colleen", - "Connie", - "Coral", - "Corina", - "Craig", - "Curtis", - "Cynthia", - "Cyril", - "Daisy", - "Dale", - "Damien", - "Damon", - "Dan", - "Dana", - "Daniel", - "Danielle", - "Danni", - "Danny", - "Daphne", - "Darby", - "Darla", - "Darlene", - "Darrell", - "Darren", - "Darryl", - "Dave", - "David", - "Davie", - "Davis", - "Dawn", - "Dean", - "Debbie", - "Debby", - "Deborah", - "Debra", - "Debs", - "Deidre", - "Delores", - "Denise", - "Dennis", - "Denzel", - "Derek", - "Desmond", - "Diana", - "Diane", - "Dianna", - "Dick", - "Dillon", - "Dina", - "Dominic", - "Dominik", - "Don", - "Donald", - "Donna", - "Donovan", - "Doreen", - "Doris", - "Dorothy", - "Doug", - "Dougal", - "Douglas", - "Doyle", - "Drew", - "Duane", - "Dudley", - "Duncan", - "Dwight", - "Dylan", - "Earl", - "Ed", - "Eddie", - "Edgar", - "Edith", - "Edmond", - "Edward", - "Edwin", - "Edwina", - "Eileen", - "Elaine", - "Elina", - "Elisa", - "Elisabeth", - "Eliza", - "Elizabeth", - "Ella", - "Ellen", - "Elmer", - "Elsie", - "Emile", - "Emilio", - "Emily", - "Emma", - "Emmett", - "Enrique", - "Eric", - "Erica", - "Ericka", - "Erik", - "Erika", - "Erin", - "Erinn", - "Ernest", - "Esmeralda", - "Esta", - "Estella", - "Esther", - "Ethan", - "Eugene", - "Eva", - "Evan", - "Eve", - "Evelyn", - "Everett", - "Fabio", - "Falicia", - "Farah", - "Felicity", - "Felix", - "Fergus", - "Fernando", - "Fidelia", - "Finlay", - "Fiona", - "Fletcher", - "Flora", - "Florence", - "Floyd", - "Fly", - "Frances", - "Francesca", - "Francis", - "Francisco", - "Frank", - "Franklin", - "Franky", - "Fraser", - "Fred", - "Freda", - "Freddy", - "Fuzz", - "Gabriel", - "Gabriela", - "Gail", - "Garrett", - "Garth", - "Gary", - "Gavin", - "Gayle", - "Gene", - "Genevieve", - "Geoff", - "Geoffrey", - "George", - "Gerald", - "Geraldine", - "Gerard", - "Geri", - "Gerry", - "Gilbert", - "Gillian", - "Gina", - "Ginger", - "Giuseppe", - "Gladys", - "Glen", - "Glenda", - "Glenn", - "Gloria", - "Glyne", - "Goldie", - "Gordon", - "Grace", - "Graeme", - "Graham", - "Grant", - "Grayson", - "Greg", - "Gregor", - "Gregory", - "Gretchen", - "Gus", - "Guy", - "Gwen", - "Gwendoline", - "Hadrian", - "Hamish", - "Hank", - "Hannah", - "Hans", - "Harley", - "Harold", - "Harry", - "Harvey", - "Haseem", - "Hayley", - "Hazel", - "Heather", - "Hector", - "Heidi", - "Helen", - "Helena", - "Henri", - "Henry", - "Herbert", - "Herbie", - "Hermann", - "Hilda", - "Hollie", - "Holly", - "Homer", - "Horace", - "Howard", - "Hugh", - "Hugo", - "Iain", - "Ian", - "Imani", - "Imelda", - "Imran", - "Ingrid", - "Irene", - "Irma", - "Irving", - "Isaac", - "Isabella", - "Isabelle", - "Ishan", - "Isla", - "Ivan", - "Ivanna", - "Ivy", - "Izola", - "Jack", - "Jacob", - "Jacque", - "Jacqueline", - "Jacqui", - "Jake", - "Jakob", - "James", - "Jan", - "Jane", - "Janet", - "Janice", - "Jason", - "Jasper", - "Jay", - "Jayne", - "Jean", - "Jeanette", - "Jeff", - "Jeffrey", - "Jennifer", - "Jenny", - "Jeremy", - "Jerry", - "Jesse", - "Jessica", - "Jessie", - "Jessy", - "Jill", - "Jillian", - "Jim", - "Jimbo", - "Jimmy", - "Jo", - "Joan", - "Joann", - "Joanne", - "Jock", - "Jodi", - "Joe", - "Joel", - "Joelyn", - "Joey", - "Johan", - "John", - "Johnathan", - "Johnnie", - "Johnny", - "Jolynn", - "Jon", - "Jonah", - "Jonas", - "Jonathan", - "Joni", - "Jonny", - "Jordan", - "Jorge", - "Jose", - "Joseph", - "Josephine", - "Josh", - "Joshua", - "Joyce", - "Juan", - "Juana", - "Juanita", - "Judge", - "Judie", - "Judith", - "Judy", - "Julia", - "Julian", - "Julie", - "Juliette", - "Julio", - "Julius", - "June", - "Justin", - "Kaitlyn", - "Kaley", - "Kandice", - "Kara", - "Kareen", - "Karen", - "Karl", - "Karolyne", - "Karri", - "Kate", - "Katelyn", - "Katey", - "Katherine", - "Kathie", - "Kathleen", - "Kathryn", - "Kathy", - "Katie", - "Katrina", - "Katy", - "Katya", - "Kay", - "Keiko", - "Keith", - "Kelly", - "Kelsey", - "Ken", - "Kenneth", - "Kenny", - "Kerry", - "Kev", - "Kevin", - "Kieran", - "Kim", - "Kimberly", - "Kiriaki", - "Kirk", - "Klaus", - "Kris", - "Krista", - "Kristian", - "Kristy", - "Kurt", - "Kurtis", - "Kyle", - "Kylie", - "Laila", - "Lana", - "Lance", - "Larry", - "Lasse", - "Latisha", - "Laura", - "Lauren", - "Laurie", - "Lauryn", - "Lawrence", - "Leah", - "Lee", - "Leigh", - "Len", - "Lena", - "Lenore", - "Leo", - "Leon", - "Leonard", - "Leonardo", - "Leone", - "Leroy", - "Les", - "Lesley", - "Leslie", - "Lester", - "Lewis", - "Liam", - "Lillian", - "Lilly", - "Lily", - "Linda", - "Lindsay", - "Lindsey", - "Lisa", - "Lita", - "Logan", - "Lone", - "Loren", - "Loretta", - "Lori", - "Lorraine", - "Lottie", - "Louis", - "Louise", - "Lowell", - "Lucas", - "Lucy", - "Luis", - "Luke", - "Luther", - "Lydia", - "Lynn", - "Lynne", - "Lyssa", - "Mabel", - "Madeline", - "Maggie", - "Magnus", - "Mahamed", - "Malcolm", - "Mandy", - "Manuel", - "Marc", - "Marcela", - "Marci", - "Marcia", - "Marco", - "Marcus", - "Marcy", - "Margaret", - "Margarita", - "Maria", - "Mariah", - "Marian", - "Marianna", - "Marie", - "Marilyn", - "Marina", - "Marion", - "Marisa", - "Marissa", - "Marjorie", - "Mark", - "Markus", - "Marlene", - "Marlin", - "Marlon", - "Marshall", - "Martha", - "Martin", - "Martyn", - "Marvin", - "Mary", - "Mathew", - "Matt", - "Matthew", - "Maude", - "Maureen", - "Maurice", - "Mauricio", - "Mavis", - "Max", - "Maxine", - "May", - "Megan", - "Meghan", - "Mel", - "Melanie", - "Melany", - "Melinda", - "Melissa", - "Melody", - "Melvin", - "Mervin", - "Mhairi", - "Mia", - "Michael", - "Michelle", - "Mick", - "Mickey", - "Miguel", - "Mikael", - "Mike", - "Mikey", - "Miki", - "Mikko", - "Mildred", - "Millie", - "Milly", - "Milton", - "Miranda", - "Miriam", - "Mirriam", - "Mitchell", - "Mo", - "Molly", - "Monica", - "Monique", - "Monty", - "Morgan", - "Morris", - "Morten", - "Moses", - "Muriel", - "Murphy", - "Murray", - "Mustafa", - "Myles", - "Myrissa", - "Myrtle", - "Nadine", - "Nancy", - "Nanette", - "Naomi", - "Natalia", - "Natalie", - "Natasha", - "Nathan", - "Nathaniel", - "Neil", - "Nellie", - "Nelly", - "Nelson", - "Neville", - "Nicholas", - "Nichole", - "Nick", - "Nico", - "Nicola", - "Nicolas", - "Nicole", - "Nigel", - "Nikia", - "Nikki", - "Nina", - "Noah", - "Noel", - "Norma", - "Norman", - "Norris", - "Norvall", - "Olga", - "Olive", - "Oliver", - "Ollie", - "Omar", - "Oona", - "Orve", - "Orville", - "Oscar", - "Otto", - "Owen", - "Paisley", - "Pam", - "Pamela", - "Pandora", - "Pat", - "Patricia", - "Patrick", - "Patty", - "Paul", - "Paula", - "Pauline", - "Pedro", - "Peggy", - "Penelope", - "Penny", - "Perry", - "Pete", - "Peter", - "Phil", - "Philip", - "Phillip", - "Phyllis", - "Polly", - "Preston", - "Qasim", - "Quentin", - "Quinn", - "Rachel", - "Rae", - "Rafael", - "Raj", - "Raja", - "Ralph", - "Ramon", - "Randal", - "Raquel", - "Rashid", - "Raul", - "Ray", - "Raymond", - "Raymondo", - "Rebecca", - "Reg", - "Regina", - "Reginald", - "Reinhold", - "Rene", - "Reuben", - "Rex", - "Rhonda", - "Richard", - "Rick", - "Ricky", - "Rita", - "Robb", - "Robert", - "Roberta", - "Robin", - "Robina", - "Robyn", - "Robynne", - "Rock", - "Rockie", - "Rod", - "Rodney", - "Rodrigo", - "Roger", - "Roland", - "Rolf", - "Romeo", - "Ronald", - "Ronan", - "Ronnie", - "Rosalind", - "Rosanna", - "Rosanned", - "Rose", - "Rosemary", - "Rosetta", - "Rosie", - "Ross", - "Rosty", - "Roxanne", - "Roy", - "Ruben", - "Ruby", - "Russell", - "Ruth", - "Ryan", - "Sabrina", - "Sadie", - "Sally", - "Sam", - "Samantha", - "Sammy", - "Samuel", - "Sandra", - "Sandy", - "Sara", - "Sarah", - "Sasha", - "Saul", - "Scot", - "Scott", - "Sean", - "Sebastian", - "Sergio", - "Shakira", - "Shannon", - "Shari", - "Sharnell", - "Sharon", - "Sharyn", - "Shawn", - "Shelby", - "Shelley", - "Sherene", - "Sheri", - "Sherman", - "Sherry", - "Sheryl", - "Shirley", - "Shivani", - "Shona", - "Sian", - "Sid", - "Sidney", - "Simon", - "Sindy", - "Sinead", - "Sofia", - "Sonja", - "Sonny", - "Sonya", - "Sophia", - "Sophie", - "Spencer", - "Stacey", - "Stan", - "Stanley", - "Stefan", - "Stephanie", - "Stephen", - "Steve", - "Steven", - "Stewart", - "Stuart", - "Sue", - "Suki", - "Susan", - "Susana", - "Susanne", - "Susie", - "Suzanne", - "Sven", - "Sylvester", - "Sylvia", - "Tabatha", - "Tamara", - "Tammie", - "Tamsin", - "Tania", - "Tanya", - "Tara", - "Taylor", - "Ted", - "Teresa", - "Terrance", - "Terry", - "Tess", - "Tessa", - "Tex", - "Thelma", - "Theodore", - "Theresa", - "Thomas", - "Tiffany", - "Tiger", - "Tiko", - "Tillie", - "Tim", - "Timmy", - "Timothy", - "Tina", - "Toby", - "Todd", - "Tom", - "Tomaki", - "Tommy", - "Tonia", - "Tonie", - "Tony", - "Tracy", - "Travis", - "Trevor", - "Tricia", - "Trixie", - "Troy", - "Tucker", - "Tyler", - "Tyson", - "Ulysses", - "Uri", - "Val", - "Valerie", - "Vanessa", - "Vani", - "Vaughn", - "Velma", - "Vernon", - "Veronica", - "Vicki", - "Vicky", - "Victor", - "Victoria", - "Vijay", - "Vince", - "Vincent", - "Vinnie", - "Virginia", - "Viv", - "Vivian", - "Viviene", - "Wally", - "Walt", - "Walter", - "Walton", - "Wanda", - "Warren", - "Wayne", - "Wendell", - "Wendy", - "Wes", - "Wesley", - "Whitney", - "Will", - "William", - "Willie", - "Willis", - "Wilson", - "Winston", - "Wyatt", - "Xavier", - "Yasmin", - "Yogi", - "Ysabel", - "Yvonne", - "Zachary", - "Zachery", - "Zola" + "Aaron", + "Abdul", + "Abraham", + "Abu", + "Adam", + "Adrian", + "Adriane", + "Aileen", + "Aisha", + "Akiko", + "Akira", + "Al", + "Alan", + "Alana", + "Albert", + "Alberta", + "Alec", + "Alesia", + "Alex", + "Alexa", + "Alexander", + "Alexandra", + "Alexis", + "Alf", + "Alfonso", + "Alfred", + "Ali", + "Alice", + "Alicia", + "Alison", + "Alistair", + "Allan", + "Allen", + "Allison", + "Allister", + "Alma", + "Alvin", + "Alyson", + "Amanda", + "Amber", + "Amilio", + "Amos", + "Amy", + "Ana", + "Anabel", + "Anastasia", + "Andie", + "Andrea", + "Andres", + "Andrew", + "Andy", + "Angel", + "Angela", + "Angelica", + "Angie", + "Angus", + "Anika", + "Ann", + "Anna", + "Anne", + "Annette", + "Annie", + "Annika", + "Anthony", + "Anton", + "Antonio", + "April", + "Archer", + "Archie", + "Arlene", + "Arnie", + "Arnold", + "Art", + "Arthur", + "Asaf", + "Ashley", + "Astrid", + "Aubrey", + "Austin", + "Austine", + "Avon", + "Avril", + "Axel", + "Aziz", + "Bailey", + "Barbara", + "Barney", + "Barry", + "Bart", + "Barton", + "Baxter", + "Beck", + "Becket", + "Becky", + "Belinda", + "Bella", + "Belle", + "Ben", + "Benjamin", + "Benny", + "Bernadette", + "Bernard", + "Bernard", + "Bernardette", + "Bernice", + "Bernice", + "Berty", + "Bess", + "Beth", + "Bethany", + "Bette", + "Betty", + "Bev", + "Beverley", + "Beverly", + "Bianca", + "Bill", + "Billie", + "Billy", + "Bjorn", + "Blaire", + "Blake", + "Blanche", + "Bo", + "Bob", + "Bobbie", + "Bobby", + "Bonnie", + "Boris", + "Brad", + "Bradley", + "Brady", + "Brandi", + "Brandon", + "Brandy", + "Brenda", + "Brendan", + "Brendon", + "Brent", + "Brett", + "Brian", + "Bridgit", + "Brigitte", + "Britney", + "Bruce", + "Bruno", + "Brutus", + "Bryan", + "Buck", + "Bucky", + "Bug", + "Burton", + "Byron", + "Cailin", + "Caitlyn", + "Cal", + "Caley", + "Callum", + "Calvin", + "Cameron", + "Camille", + "Campbell", + "Candy", + "Carl", + "Carla", + "Carlene", + "Carlos", + "Carmela", + "Carmen", + "Carol", + "Carole", + "Caroline", + "Carolyn", + "Carrie", + "Casey", + "Cassandra", + "Cassey", + "Cassie", + "Catherina", + "Catherine", + "Cathy", + "Caz", + "Cecelia", + "Cecil", + "Cecille", + "Ceilidh", + "Celeste", + "Chad", + "Charlene", + "Charles", + "Charlie", + "Charlotte", + "Chelsea", + "Cher", + "Cheri", + "Cheryll", + "Chip", + "Chloe", + "Chris", + "Christel", + "Christian", + "Christie", + "Christina", + "Christine", + "Christopher", + "Chuck", + "Cindy", + "Clair", + "Claire", + "Clara", + "Clarabell", + "Clark", + "Claude", + "Claudette", + "Claudia", + "Clayton", + "Cliff", + "Clifford", + "Clint", + "Clive", + "Clyde", + "Codey", + "Cody", + "Colin", + "Colleen", + "Connie", + "Coral", + "Corina", + "Craig", + "Curtis", + "Cynthia", + "Cyril", + "Daisy", + "Dale", + "Damien", + "Damon", + "Dan", + "Dana", + "Daniel", + "Danielle", + "Danni", + "Danny", + "Daphne", + "Darby", + "Darla", + "Darlene", + "Darrell", + "Darren", + "Darryl", + "Dave", + "David", + "Davie", + "Davis", + "Dawn", + "Dean", + "Debbie", + "Debby", + "Deborah", + "Debra", + "Debs", + "Deidre", + "Delores", + "Denise", + "Dennis", + "Denzel", + "Derek", + "Desmond", + "Diana", + "Diane", + "Dianna", + "Dick", + "Dillon", + "Dina", + "Dominic", + "Dominik", + "Don", + "Donald", + "Donna", + "Donovan", + "Doreen", + "Doris", + "Dorothy", + "Doug", + "Dougal", + "Douglas", + "Doyle", + "Drew", + "Duane", + "Dudley", + "Duncan", + "Dwight", + "Dylan", + "Earl", + "Ed", + "Eddie", + "Edgar", + "Edith", + "Edmond", + "Edward", + "Edwin", + "Edwina", + "Eileen", + "Elaine", + "Elina", + "Elisa", + "Elisabeth", + "Eliza", + "Elizabeth", + "Ella", + "Ellen", + "Elmer", + "Elsie", + "Emile", + "Emilio", + "Emily", + "Emma", + "Emmett", + "Enrique", + "Eric", + "Erica", + "Ericka", + "Erik", + "Erika", + "Erin", + "Erinn", + "Ernest", + "Esmeralda", + "Esta", + "Estella", + "Esther", + "Ethan", + "Eugene", + "Eva", + "Evan", + "Eve", + "Evelyn", + "Everett", + "Fabio", + "Falicia", + "Farah", + "Felicity", + "Felix", + "Fergus", + "Fernando", + "Fidelia", + "Finlay", + "Fiona", + "Fletcher", + "Flora", + "Florence", + "Floyd", + "Fly", + "Frances", + "Francesca", + "Francis", + "Francisco", + "Frank", + "Franklin", + "Franky", + "Fraser", + "Fred", + "Freda", + "Freddy", + "Fuzz", + "Gabriel", + "Gabriela", + "Gail", + "Garrett", + "Garth", + "Gary", + "Gavin", + "Gayle", + "Gene", + "Genevieve", + "Geoff", + "Geoffrey", + "George", + "Gerald", + "Geraldine", + "Gerard", + "Geri", + "Gerry", + "Gilbert", + "Gillian", + "Gina", + "Ginger", + "Giuseppe", + "Gladys", + "Glen", + "Glenda", + "Glenn", + "Gloria", + "Glyne", + "Goldie", + "Gordon", + "Grace", + "Graeme", + "Graham", + "Grant", + "Grayson", + "Greg", + "Gregor", + "Gregory", + "Gretchen", + "Gus", + "Guy", + "Gwen", + "Gwendoline", + "Hadrian", + "Hamish", + "Hank", + "Hannah", + "Hans", + "Harley", + "Harold", + "Harry", + "Harvey", + "Haseem", + "Hayley", + "Hazel", + "Heather", + "Hector", + "Heidi", + "Helen", + "Helena", + "Henri", + "Henry", + "Herbert", + "Herbie", + "Hermann", + "Hilda", + "Hollie", + "Holly", + "Homer", + "Horace", + "Howard", + "Hugh", + "Hugo", + "Iain", + "Ian", + "Imani", + "Imelda", + "Imran", + "Ingrid", + "Irene", + "Irma", + "Irving", + "Isaac", + "Isabella", + "Isabelle", + "Ishan", + "Isla", + "Ivan", + "Ivanna", + "Ivy", + "Izola", + "Jack", + "Jacob", + "Jacque", + "Jacqueline", + "Jacqui", + "Jake", + "Jakob", + "James", + "Jan", + "Jane", + "Janet", + "Janice", + "Jason", + "Jasper", + "Jay", + "Jayne", + "Jean", + "Jeanette", + "Jeff", + "Jeffrey", + "Jennifer", + "Jenny", + "Jeremy", + "Jerry", + "Jesse", + "Jessica", + "Jessie", + "Jessy", + "Jill", + "Jillian", + "Jim", + "Jimbo", + "Jimmy", + "Jo", + "Joan", + "Joann", + "Joanne", + "Jock", + "Jodi", + "Joe", + "Joel", + "Joelyn", + "Joey", + "Johan", + "John", + "Johnathan", + "Johnnie", + "Johnny", + "Jolynn", + "Jon", + "Jonah", + "Jonas", + "Jonathan", + "Joni", + "Jonny", + "Jordan", + "Jorge", + "Jose", + "Joseph", + "Josephine", + "Josh", + "Joshua", + "Joyce", + "Juan", + "Juana", + "Juanita", + "Judge", + "Judie", + "Judith", + "Judy", + "Julia", + "Julian", + "Julie", + "Juliette", + "Julio", + "Julius", + "June", + "Justin", + "Kaitlyn", + "Kaley", + "Kandice", + "Kara", + "Kareen", + "Karen", + "Karl", + "Karolyne", + "Karri", + "Kate", + "Katelyn", + "Katey", + "Katherine", + "Kathie", + "Kathleen", + "Kathryn", + "Kathy", + "Katie", + "Katrina", + "Katy", + "Katya", + "Kay", + "Keiko", + "Keith", + "Kelly", + "Kelsey", + "Ken", + "Kenneth", + "Kenny", + "Kerry", + "Kev", + "Kevin", + "Kieran", + "Kim", + "Kimberly", + "Kiriaki", + "Kirk", + "Klaus", + "Kris", + "Krista", + "Kristian", + "Kristy", + "Kurt", + "Kurtis", + "Kyle", + "Kylie", + "Laila", + "Lana", + "Lance", + "Larry", + "Lasse", + "Latisha", + "Laura", + "Lauren", + "Laurie", + "Lauryn", + "Lawrence", + "Leah", + "Lee", + "Leigh", + "Len", + "Lena", + "Lenore", + "Leo", + "Leon", + "Leonard", + "Leonardo", + "Leone", + "Leroy", + "Les", + "Lesley", + "Leslie", + "Lester", + "Lewis", + "Liam", + "Lillian", + "Lilly", + "Lily", + "Linda", + "Lindsay", + "Lindsey", + "Lisa", + "Lita", + "Logan", + "Lone", + "Loren", + "Loretta", + "Lori", + "Lorraine", + "Lottie", + "Louis", + "Louise", + "Lowell", + "Lucas", + "Lucy", + "Luis", + "Luke", + "Luther", + "Lydia", + "Lynn", + "Lynne", + "Lyssa", + "Mabel", + "Madeline", + "Maggie", + "Magnus", + "Mahamed", + "Malcolm", + "Mandy", + "Manuel", + "Marc", + "Marcela", + "Marci", + "Marcia", + "Marco", + "Marcus", + "Marcy", + "Margaret", + "Margarita", + "Maria", + "Mariah", + "Marian", + "Marianna", + "Marie", + "Marilyn", + "Marina", + "Marion", + "Marisa", + "Marissa", + "Marjorie", + "Mark", + "Markus", + "Marlene", + "Marlin", + "Marlon", + "Marshall", + "Martha", + "Martin", + "Martyn", + "Marvin", + "Mary", + "Mathew", + "Matt", + "Matthew", + "Maude", + "Maureen", + "Maurice", + "Mauricio", + "Mavis", + "Max", + "Maxine", + "May", + "Megan", + "Meghan", + "Mel", + "Melanie", + "Melany", + "Melinda", + "Melissa", + "Melody", + "Melvin", + "Mervin", + "Mhairi", + "Mia", + "Michael", + "Michelle", + "Mick", + "Mickey", + "Miguel", + "Mikael", + "Mike", + "Mikey", + "Miki", + "Mikko", + "Mildred", + "Millie", + "Milly", + "Milton", + "Miranda", + "Miriam", + "Mirriam", + "Mitchell", + "Mo", + "Molly", + "Monica", + "Monique", + "Monty", + "Morgan", + "Morris", + "Morten", + "Moses", + "Muriel", + "Murphy", + "Murray", + "Mustafa", + "Myles", + "Myrissa", + "Myrtle", + "Nadine", + "Nancy", + "Nanette", + "Naomi", + "Natalia", + "Natalie", + "Natasha", + "Nathan", + "Nathaniel", + "Neil", + "Nellie", + "Nelly", + "Nelson", + "Neville", + "Nicholas", + "Nichole", + "Nick", + "Nico", + "Nicola", + "Nicolas", + "Nicole", + "Nigel", + "Nikia", + "Nikki", + "Nina", + "Noah", + "Noel", + "Norma", + "Norman", + "Norris", + "Norvall", + "Olga", + "Olive", + "Oliver", + "Ollie", + "Omar", + "Oona", + "Orve", + "Orville", + "Oscar", + "Otto", + "Owen", + "Paisley", + "Pam", + "Pamela", + "Pandora", + "Pat", + "Patricia", + "Patrick", + "Patty", + "Paul", + "Paula", + "Pauline", + "Pedro", + "Peggy", + "Penelope", + "Penny", + "Perry", + "Pete", + "Peter", + "Phil", + "Philip", + "Phillip", + "Phyllis", + "Polly", + "Preston", + "Qasim", + "Quentin", + "Quinn", + "Rachel", + "Rae", + "Rafael", + "Raj", + "Raja", + "Ralph", + "Ramon", + "Randal", + "Raquel", + "Rashid", + "Raul", + "Ray", + "Raymond", + "Raymondo", + "Rebecca", + "Reg", + "Regina", + "Reginald", + "Reinhold", + "Rene", + "Reuben", + "Rex", + "Rhonda", + "Richard", + "Rick", + "Ricky", + "Rita", + "Robb", + "Robert", + "Roberta", + "Robin", + "Robina", + "Robyn", + "Robynne", + "Rock", + "Rockie", + "Rod", + "Rodney", + "Rodrigo", + "Roger", + "Roland", + "Rolf", + "Romeo", + "Ronald", + "Ronan", + "Ronnie", + "Rosalind", + "Rosanna", + "Rosanned", + "Rose", + "Rosemary", + "Rosetta", + "Rosie", + "Ross", + "Rosty", + "Roxanne", + "Roy", + "Ruben", + "Ruby", + "Russell", + "Ruth", + "Ryan", + "Sabrina", + "Sadie", + "Sally", + "Sam", + "Samantha", + "Sammy", + "Samuel", + "Sandra", + "Sandy", + "Sara", + "Sarah", + "Sasha", + "Saul", + "Scot", + "Scott", + "Sean", + "Sebastian", + "Sergio", + "Shakira", + "Shannon", + "Shari", + "Sharnell", + "Sharon", + "Sharyn", + "Shawn", + "Shelby", + "Shelley", + "Sherene", + "Sheri", + "Sherman", + "Sherry", + "Sheryl", + "Shirley", + "Shivani", + "Shona", + "Sian", + "Sid", + "Sidney", + "Simon", + "Sindy", + "Sinead", + "Sofia", + "Sonja", + "Sonny", + "Sonya", + "Sophia", + "Sophie", + "Spencer", + "Stacey", + "Stan", + "Stanley", + "Stefan", + "Stephanie", + "Stephen", + "Steve", + "Steven", + "Stewart", + "Stuart", + "Sue", + "Suki", + "Susan", + "Susana", + "Susanne", + "Susie", + "Suzanne", + "Sven", + "Sylvester", + "Sylvia", + "Tabatha", + "Tamara", + "Tammie", + "Tamsin", + "Tania", + "Tanya", + "Tara", + "Taylor", + "Ted", + "Teresa", + "Terrance", + "Terry", + "Tess", + "Tessa", + "Tex", + "Thelma", + "Theodore", + "Theresa", + "Thomas", + "Tiffany", + "Tiger", + "Tiko", + "Tillie", + "Tim", + "Timmy", + "Timothy", + "Tina", + "Toby", + "Todd", + "Tom", + "Tomaki", + "Tommy", + "Tonia", + "Tonie", + "Tony", + "Tracy", + "Travis", + "Trevor", + "Tricia", + "Trixie", + "Troy", + "Tucker", + "Tyler", + "Tyson", + "Ulysses", + "Uri", + "Val", + "Valerie", + "Vanessa", + "Vani", + "Vaughn", + "Velma", + "Vernon", + "Veronica", + "Vicki", + "Vicky", + "Victor", + "Victoria", + "Vijay", + "Vince", + "Vincent", + "Vinnie", + "Virginia", + "Viv", + "Vivian", + "Viviene", + "Wally", + "Walt", + "Walter", + "Walton", + "Wanda", + "Warren", + "Wayne", + "Wendell", + "Wendy", + "Wes", + "Wesley", + "Whitney", + "Will", + "William", + "Willie", + "Willis", + "Wilson", + "Winston", + "Wyatt", + "Xavier", + "Yasmin", + "Yogi", + "Ysabel", + "Yvonne", + "Zachary", + "Zachery", + "Zola" }; diff --git a/src/openrct2/localisation/string_ids.h b/src/openrct2/localisation/string_ids.h index 0c3d3a89a5..108b55087e 100644 --- a/src/openrct2/localisation/string_ids.h +++ b/src/openrct2/localisation/string_ids.h @@ -22,1024 +22,1024 @@ #define STR_NONE ((rct_string_id)-1) enum { - STR_EMPTY = 0, - // STR_0001 :{STRINGID} {COMMA16} - STR_RIDE_NAME_SPIRAL_ROLLER_COASTER = 2, - STR_RIDE_NAME_STAND_UP_ROLLER_COASTER = 3, - STR_RIDE_NAME_SUSPENDED_SWINGING_COASTER = 4, - STR_RIDE_NAME_INVERTED_ROLLER_COASTER = 5, - STR_RIDE_NAME_JUNIOR_ROLLER_COASTER = 6, - STR_RIDE_NAME_MINIATURE_RAILWAY = 7, - STR_RIDE_NAME_MONORAIL = 8, - STR_RIDE_NAME_MINI_SUSPENDED_COASTER = 9, - STR_RIDE_NAME_BOAT_RIDE = 10, - STR_RIDE_NAME_WOODEN_WILD_MOUSE = 11, - STR_RIDE_NAME_STEEPLECHASE = 12, - STR_RIDE_NAME_CAR_RIDE = 13, - STR_RIDE_NAME_LAUNCHED_FREEFALL = 14, - STR_RIDE_NAME_BOBSLEIGH_COASTER = 15, - STR_RIDE_NAME_OBSERVATION_TOWER = 16, - STR_RIDE_NAME_LOOPING_ROLLER_COASTER = 17, - STR_RIDE_NAME_DINGHY_SLIDE = 18, - STR_RIDE_NAME_MINE_TRAIN_COASTER = 19, - STR_RIDE_NAME_CHAIRLIFT = 20, - STR_RIDE_NAME_CORKSCREW_ROLLER_COASTER = 21, - STR_RIDE_NAME_MAZE = 22, - STR_RIDE_NAME_SPIRAL_SLIDE = 23, - STR_RIDE_NAME_GO_KARTS = 24, - STR_RIDE_NAME_LOG_FLUME = 25, - STR_RIDE_NAME_RIVER_RAPIDS = 26, - STR_RIDE_NAME_DODGEMS = 27, - STR_RIDE_NAME_PIRATE_SHIP = 28, - STR_RIDE_NAME_SWINGING_INVERTER_SHIP = 29, - STR_RIDE_NAME_FOOD_STALL = 30, - STR_RIDE_NAME_1D = 31, - STR_RIDE_NAME_DRINK_STALL = 32, - STR_RIDE_NAME_1F = 33, - STR_RIDE_NAME_SHOP = 34, - STR_RIDE_NAME_MERRY_GO_ROUND = 35, - STR_RIDE_NAME_22 = 36, - STR_RIDE_NAME_INFORMATION_KIOSK = 37, - STR_RIDE_NAME_TOILETS = 38, - STR_RIDE_NAME_FERRIS_WHEEL = 39, - STR_RIDE_NAME_MOTION_SIMULATOR = 40, - STR_RIDE_NAME_3D_CINEMA = 41, - STR_RIDE_NAME_TOP_SPIN = 42, - STR_RIDE_NAME_SPACE_RINGS = 43, - STR_RIDE_NAME_REVERSE_FREEFALL_COASTER = 44, - STR_RIDE_NAME_LIFT = 45, - STR_RIDE_NAME_VERTICAL_DROP_ROLLER_COASTER = 46, - STR_RIDE_NAME_CASH_MACHINE = 47, - STR_RIDE_NAME_TWIST = 48, - STR_RIDE_NAME_HAUNTED_HOUSE = 49, - STR_RIDE_NAME_FIRST_AID = 50, - STR_RIDE_NAME_CIRCUS_SHOW = 51, - STR_RIDE_NAME_GHOST_TRAIN = 52, - STR_RIDE_NAME_TWISTER_ROLLER_COASTER = 53, - STR_RIDE_NAME_WOODEN_ROLLER_COASTER = 54, - STR_RIDE_NAME_SIDE_FRICTION_ROLLER_COASTER = 55, - STR_RIDE_NAME_WILD_MOUSE = 56, - STR_RIDE_NAME_MULTI_DIMENSION_ROLLER_COASTER = 57, - STR_RIDE_NAME_38 = 58, - STR_RIDE_NAME_FLYING_ROLLER_COASTER = 59, - STR_RIDE_NAME_3A = 60, - STR_RIDE_NAME_VIRGINIA_REEL = 61, - STR_RIDE_NAME_SPLASH_BOATS = 62, - STR_RIDE_NAME_MINI_HELICOPTERS = 63, - STR_RIDE_NAME_LAY_DOWN_ROLLER_COASTER = 64, - STR_RIDE_NAME_SUSPENDED_MONORAIL = 65, - STR_RIDE_NAME_40 = 66, - STR_RIDE_NAME_REVERSER_ROLLER_COASTER = 67, - STR_RIDE_NAME_HEARTLINE_TWISTER_COASTER = 68, - STR_RIDE_NAME_MINI_GOLF = 69, - STR_RIDE_NAME_GIGA_COASTER = 70, - STR_RIDE_NAME_ROTO_DROP = 71, - STR_RIDE_NAME_FLYING_SAUCERS = 72, - STR_RIDE_NAME_CROOKED_HOUSE = 73, - STR_RIDE_NAME_MONORAIL_CYCLES = 74, - STR_RIDE_NAME_COMPACT_INVERTED_COASTER = 75, - STR_RIDE_NAME_WATER_COASTER = 76, - STR_RIDE_NAME_AIR_POWERED_VERTICAL_COASTER = 77, - STR_RIDE_NAME_INVERTED_HAIRPIN_COASTER = 78, - STR_RIDE_NAME_MAGIC_CARPET = 79, - STR_RIDE_NAME_SUBMARINE_RIDE = 80, - STR_RIDE_NAME_RIVER_RAFTS = 81, - STR_RIDE_NAME_50 = 82, - STR_RIDE_NAME_ENTERPRISE = 83, - STR_RIDE_NAME_52 = 84, - STR_RIDE_NAME_53 = 85, - STR_RIDE_NAME_54 = 86, - STR_RIDE_NAME_55 = 87, - STR_RIDE_NAME_INVERTED_IMPULSE_COASTER = 88, - STR_RIDE_NAME_MINI_ROLLER_COASTER = 89, - STR_RIDE_NAME_MINE_RIDE = 90, - STR_RIDE_NAME_59 = 91, - STR_RIDE_NAME_LIM_LAUNCHED_ROLLER_COASTER = 92, + STR_EMPTY = 0, + // STR_0001 :{STRINGID} {COMMA16} + STR_RIDE_NAME_SPIRAL_ROLLER_COASTER = 2, + STR_RIDE_NAME_STAND_UP_ROLLER_COASTER = 3, + STR_RIDE_NAME_SUSPENDED_SWINGING_COASTER = 4, + STR_RIDE_NAME_INVERTED_ROLLER_COASTER = 5, + STR_RIDE_NAME_JUNIOR_ROLLER_COASTER = 6, + STR_RIDE_NAME_MINIATURE_RAILWAY = 7, + STR_RIDE_NAME_MONORAIL = 8, + STR_RIDE_NAME_MINI_SUSPENDED_COASTER = 9, + STR_RIDE_NAME_BOAT_RIDE = 10, + STR_RIDE_NAME_WOODEN_WILD_MOUSE = 11, + STR_RIDE_NAME_STEEPLECHASE = 12, + STR_RIDE_NAME_CAR_RIDE = 13, + STR_RIDE_NAME_LAUNCHED_FREEFALL = 14, + STR_RIDE_NAME_BOBSLEIGH_COASTER = 15, + STR_RIDE_NAME_OBSERVATION_TOWER = 16, + STR_RIDE_NAME_LOOPING_ROLLER_COASTER = 17, + STR_RIDE_NAME_DINGHY_SLIDE = 18, + STR_RIDE_NAME_MINE_TRAIN_COASTER = 19, + STR_RIDE_NAME_CHAIRLIFT = 20, + STR_RIDE_NAME_CORKSCREW_ROLLER_COASTER = 21, + STR_RIDE_NAME_MAZE = 22, + STR_RIDE_NAME_SPIRAL_SLIDE = 23, + STR_RIDE_NAME_GO_KARTS = 24, + STR_RIDE_NAME_LOG_FLUME = 25, + STR_RIDE_NAME_RIVER_RAPIDS = 26, + STR_RIDE_NAME_DODGEMS = 27, + STR_RIDE_NAME_PIRATE_SHIP = 28, + STR_RIDE_NAME_SWINGING_INVERTER_SHIP = 29, + STR_RIDE_NAME_FOOD_STALL = 30, + STR_RIDE_NAME_1D = 31, + STR_RIDE_NAME_DRINK_STALL = 32, + STR_RIDE_NAME_1F = 33, + STR_RIDE_NAME_SHOP = 34, + STR_RIDE_NAME_MERRY_GO_ROUND = 35, + STR_RIDE_NAME_22 = 36, + STR_RIDE_NAME_INFORMATION_KIOSK = 37, + STR_RIDE_NAME_TOILETS = 38, + STR_RIDE_NAME_FERRIS_WHEEL = 39, + STR_RIDE_NAME_MOTION_SIMULATOR = 40, + STR_RIDE_NAME_3D_CINEMA = 41, + STR_RIDE_NAME_TOP_SPIN = 42, + STR_RIDE_NAME_SPACE_RINGS = 43, + STR_RIDE_NAME_REVERSE_FREEFALL_COASTER = 44, + STR_RIDE_NAME_LIFT = 45, + STR_RIDE_NAME_VERTICAL_DROP_ROLLER_COASTER = 46, + STR_RIDE_NAME_CASH_MACHINE = 47, + STR_RIDE_NAME_TWIST = 48, + STR_RIDE_NAME_HAUNTED_HOUSE = 49, + STR_RIDE_NAME_FIRST_AID = 50, + STR_RIDE_NAME_CIRCUS_SHOW = 51, + STR_RIDE_NAME_GHOST_TRAIN = 52, + STR_RIDE_NAME_TWISTER_ROLLER_COASTER = 53, + STR_RIDE_NAME_WOODEN_ROLLER_COASTER = 54, + STR_RIDE_NAME_SIDE_FRICTION_ROLLER_COASTER = 55, + STR_RIDE_NAME_WILD_MOUSE = 56, + STR_RIDE_NAME_MULTI_DIMENSION_ROLLER_COASTER = 57, + STR_RIDE_NAME_38 = 58, + STR_RIDE_NAME_FLYING_ROLLER_COASTER = 59, + STR_RIDE_NAME_3A = 60, + STR_RIDE_NAME_VIRGINIA_REEL = 61, + STR_RIDE_NAME_SPLASH_BOATS = 62, + STR_RIDE_NAME_MINI_HELICOPTERS = 63, + STR_RIDE_NAME_LAY_DOWN_ROLLER_COASTER = 64, + STR_RIDE_NAME_SUSPENDED_MONORAIL = 65, + STR_RIDE_NAME_40 = 66, + STR_RIDE_NAME_REVERSER_ROLLER_COASTER = 67, + STR_RIDE_NAME_HEARTLINE_TWISTER_COASTER = 68, + STR_RIDE_NAME_MINI_GOLF = 69, + STR_RIDE_NAME_GIGA_COASTER = 70, + STR_RIDE_NAME_ROTO_DROP = 71, + STR_RIDE_NAME_FLYING_SAUCERS = 72, + STR_RIDE_NAME_CROOKED_HOUSE = 73, + STR_RIDE_NAME_MONORAIL_CYCLES = 74, + STR_RIDE_NAME_COMPACT_INVERTED_COASTER = 75, + STR_RIDE_NAME_WATER_COASTER = 76, + STR_RIDE_NAME_AIR_POWERED_VERTICAL_COASTER = 77, + STR_RIDE_NAME_INVERTED_HAIRPIN_COASTER = 78, + STR_RIDE_NAME_MAGIC_CARPET = 79, + STR_RIDE_NAME_SUBMARINE_RIDE = 80, + STR_RIDE_NAME_RIVER_RAFTS = 81, + STR_RIDE_NAME_50 = 82, + STR_RIDE_NAME_ENTERPRISE = 83, + STR_RIDE_NAME_52 = 84, + STR_RIDE_NAME_53 = 85, + STR_RIDE_NAME_54 = 86, + STR_RIDE_NAME_55 = 87, + STR_RIDE_NAME_INVERTED_IMPULSE_COASTER = 88, + STR_RIDE_NAME_MINI_ROLLER_COASTER = 89, + STR_RIDE_NAME_MINE_RIDE = 90, + STR_RIDE_NAME_59 = 91, + STR_RIDE_NAME_LIM_LAUNCHED_ROLLER_COASTER = 92, - STR_RIDE_DESCRIPTION_SPIRAL_ROLLER_COASTER = 512, - STR_RIDE_DESCRIPTION_STAND_UP_ROLLER_COASTER = 513, - STR_RIDE_DESCRIPTION_SUSPENDED_SWINGING_COASTER = 514, - STR_RIDE_DESCRIPTION_INVERTED_ROLLER_COASTER = 515, - STR_RIDE_DESCRIPTION_JUNIOR_ROLLER_COASTER = 516, - STR_RIDE_DESCRIPTION_MINIATURE_RAILWAY = 517, - STR_RIDE_DESCRIPTION_MONORAIL = 518, - STR_RIDE_DESCRIPTION_MINI_SUSPENDED_COASTER = 519, - STR_RIDE_DESCRIPTION_BOAT_RIDE = 520, - STR_RIDE_DESCRIPTION_WOODEN_WILD_MOUSE = 521, - STR_RIDE_DESCRIPTION_STEEPLECHASE = 522, - STR_RIDE_DESCRIPTION_CAR_RIDE = 523, - STR_RIDE_DESCRIPTION_LAUNCHED_FREEFALL = 524, - STR_RIDE_DESCRIPTION_BOBSLEIGH_COASTER = 525, - STR_RIDE_DESCRIPTION_OBSERVATION_TOWER = 526, - STR_RIDE_DESCRIPTION_LOOPING_ROLLER_COASTER = 527, - STR_RIDE_DESCRIPTION_DINGHY_SLIDE = 528, - STR_RIDE_DESCRIPTION_MINE_TRAIN_COASTER = 529, - STR_RIDE_DESCRIPTION_CHAIRLIFT = 530, - STR_RIDE_DESCRIPTION_CORKSCREW_ROLLER_COASTER = 531, - STR_RIDE_DESCRIPTION_MAZE = 532, - STR_RIDE_DESCRIPTION_SPIRAL_SLIDE = 533, - STR_RIDE_DESCRIPTION_GO_KARTS = 534, - STR_RIDE_DESCRIPTION_LOG_FLUME = 535, - STR_RIDE_DESCRIPTION_RIVER_RAPIDS = 536, - STR_RIDE_DESCRIPTION_DODGEMS = 537, - STR_RIDE_DESCRIPTION_PIRATE_SHIP = 538, - STR_RIDE_DESCRIPTION_SWINGING_INVERTER_SHIP = 539, - STR_RIDE_DESCRIPTION_FOOD_STALL = 540, + STR_RIDE_DESCRIPTION_SPIRAL_ROLLER_COASTER = 512, + STR_RIDE_DESCRIPTION_STAND_UP_ROLLER_COASTER = 513, + STR_RIDE_DESCRIPTION_SUSPENDED_SWINGING_COASTER = 514, + STR_RIDE_DESCRIPTION_INVERTED_ROLLER_COASTER = 515, + STR_RIDE_DESCRIPTION_JUNIOR_ROLLER_COASTER = 516, + STR_RIDE_DESCRIPTION_MINIATURE_RAILWAY = 517, + STR_RIDE_DESCRIPTION_MONORAIL = 518, + STR_RIDE_DESCRIPTION_MINI_SUSPENDED_COASTER = 519, + STR_RIDE_DESCRIPTION_BOAT_RIDE = 520, + STR_RIDE_DESCRIPTION_WOODEN_WILD_MOUSE = 521, + STR_RIDE_DESCRIPTION_STEEPLECHASE = 522, + STR_RIDE_DESCRIPTION_CAR_RIDE = 523, + STR_RIDE_DESCRIPTION_LAUNCHED_FREEFALL = 524, + STR_RIDE_DESCRIPTION_BOBSLEIGH_COASTER = 525, + STR_RIDE_DESCRIPTION_OBSERVATION_TOWER = 526, + STR_RIDE_DESCRIPTION_LOOPING_ROLLER_COASTER = 527, + STR_RIDE_DESCRIPTION_DINGHY_SLIDE = 528, + STR_RIDE_DESCRIPTION_MINE_TRAIN_COASTER = 529, + STR_RIDE_DESCRIPTION_CHAIRLIFT = 530, + STR_RIDE_DESCRIPTION_CORKSCREW_ROLLER_COASTER = 531, + STR_RIDE_DESCRIPTION_MAZE = 532, + STR_RIDE_DESCRIPTION_SPIRAL_SLIDE = 533, + STR_RIDE_DESCRIPTION_GO_KARTS = 534, + STR_RIDE_DESCRIPTION_LOG_FLUME = 535, + STR_RIDE_DESCRIPTION_RIVER_RAPIDS = 536, + STR_RIDE_DESCRIPTION_DODGEMS = 537, + STR_RIDE_DESCRIPTION_PIRATE_SHIP = 538, + STR_RIDE_DESCRIPTION_SWINGING_INVERTER_SHIP = 539, + STR_RIDE_DESCRIPTION_FOOD_STALL = 540, - STR_RIDE_DESCRIPTION_DRINK_STALL = 542, + STR_RIDE_DESCRIPTION_DRINK_STALL = 542, - STR_RIDE_DESCRIPTION_SHOP = 544, - STR_RIDE_DESCRIPTION_MERRY_GO_ROUND = 545, + STR_RIDE_DESCRIPTION_SHOP = 544, + STR_RIDE_DESCRIPTION_MERRY_GO_ROUND = 545, - STR_RIDE_DESCRIPTION_INFORMATION_KIOSK = 547, - STR_RIDE_DESCRIPTION_TOILETS = 548, - STR_RIDE_DESCRIPTION_FERRIS_WHEEL = 549, - STR_RIDE_DESCRIPTION_MOTION_SIMULATOR = 550, - STR_RIDE_DESCRIPTION_3D_CINEMA = 551, - STR_RIDE_DESCRIPTION_TOP_SPIN = 552, - STR_RIDE_DESCRIPTION_SPACE_RINGS = 553, - STR_RIDE_DESCRIPTION_REVERSE_FREEFALL_COASTER = 554, - STR_RIDE_DESCRIPTION_LIFT = 555, - STR_RIDE_DESCRIPTION_VERTICAL_DROP_ROLLER_COASTER = 556, - STR_RIDE_DESCRIPTION_CASH_MACHINE = 557, - STR_RIDE_DESCRIPTION_TWIST = 558, - STR_RIDE_DESCRIPTION_HAUNTED_HOUSE = 559, - STR_RIDE_DESCRIPTION_FIRST_AID = 560, - STR_RIDE_DESCRIPTION_CIRCUS_SHOW = 561, - STR_RIDE_DESCRIPTION_GHOST_TRAIN = 562, - STR_RIDE_DESCRIPTION_TWISTER_ROLLER_COASTER = 563, - STR_RIDE_DESCRIPTION_WOODEN_ROLLER_COASTER = 564, - STR_RIDE_DESCRIPTION_SIDE_FRICTION_ROLLER_COASTER = 565, - STR_RIDE_DESCRIPTION_WILD_MOUSE = 566, - STR_RIDE_DESCRIPTION_MULTI_DIMENSION_ROLLER_COASTER = 567, + STR_RIDE_DESCRIPTION_INFORMATION_KIOSK = 547, + STR_RIDE_DESCRIPTION_TOILETS = 548, + STR_RIDE_DESCRIPTION_FERRIS_WHEEL = 549, + STR_RIDE_DESCRIPTION_MOTION_SIMULATOR = 550, + STR_RIDE_DESCRIPTION_3D_CINEMA = 551, + STR_RIDE_DESCRIPTION_TOP_SPIN = 552, + STR_RIDE_DESCRIPTION_SPACE_RINGS = 553, + STR_RIDE_DESCRIPTION_REVERSE_FREEFALL_COASTER = 554, + STR_RIDE_DESCRIPTION_LIFT = 555, + STR_RIDE_DESCRIPTION_VERTICAL_DROP_ROLLER_COASTER = 556, + STR_RIDE_DESCRIPTION_CASH_MACHINE = 557, + STR_RIDE_DESCRIPTION_TWIST = 558, + STR_RIDE_DESCRIPTION_HAUNTED_HOUSE = 559, + STR_RIDE_DESCRIPTION_FIRST_AID = 560, + STR_RIDE_DESCRIPTION_CIRCUS_SHOW = 561, + STR_RIDE_DESCRIPTION_GHOST_TRAIN = 562, + STR_RIDE_DESCRIPTION_TWISTER_ROLLER_COASTER = 563, + STR_RIDE_DESCRIPTION_WOODEN_ROLLER_COASTER = 564, + STR_RIDE_DESCRIPTION_SIDE_FRICTION_ROLLER_COASTER = 565, + STR_RIDE_DESCRIPTION_WILD_MOUSE = 566, + STR_RIDE_DESCRIPTION_MULTI_DIMENSION_ROLLER_COASTER = 567, - STR_RIDE_DESCRIPTION_FLYING_ROLLER_COASTER = 569, + STR_RIDE_DESCRIPTION_FLYING_ROLLER_COASTER = 569, - STR_RIDE_DESCRIPTION_VIRGINIA_REEL = 571, - STR_RIDE_DESCRIPTION_SPLASH_BOATS = 572, - STR_RIDE_DESCRIPTION_MINI_HELICOPTERS = 573, - STR_RIDE_DESCRIPTION_LAY_DOWN_ROLLER_COASTER = 574, - STR_RIDE_DESCRIPTION_SUSPENDED_MONORAIL = 575, + STR_RIDE_DESCRIPTION_VIRGINIA_REEL = 571, + STR_RIDE_DESCRIPTION_SPLASH_BOATS = 572, + STR_RIDE_DESCRIPTION_MINI_HELICOPTERS = 573, + STR_RIDE_DESCRIPTION_LAY_DOWN_ROLLER_COASTER = 574, + STR_RIDE_DESCRIPTION_SUSPENDED_MONORAIL = 575, - STR_RIDE_DESCRIPTION_REVERSER_ROLLER_COASTER = 577, - STR_RIDE_DESCRIPTION_HEARTLINE_TWISTER_COASTER = 578, - STR_RIDE_DESCRIPTION_MINI_GOLF = 579, - STR_RIDE_DESCRIPTION_GIGA_COASTER = 580, - STR_RIDE_DESCRIPTION_ROTO_DROP = 581, - STR_RIDE_DESCRIPTION_FLYING_SAUCERS = 582, - STR_RIDE_DESCRIPTION_CROOKED_HOUSE = 583, - STR_RIDE_DESCRIPTION_MONORAIL_CYCLES = 584, - STR_RIDE_DESCRIPTION_COMPACT_INVERTED_COASTER = 585, - STR_RIDE_DESCRIPTION_WATER_COASTER = 586, - STR_RIDE_DESCRIPTION_AIR_POWERED_VERTICAL_COASTER = 587, - STR_RIDE_DESCRIPTION_INVERTED_HAIRPIN_COASTER = 588, - STR_RIDE_DESCRIPTION_MAGIC_CARPET = 589, - STR_RIDE_DESCRIPTION_SUBMARINE_RIDE = 590, - STR_RIDE_DESCRIPTION_RIVER_RAFTS = 591, + STR_RIDE_DESCRIPTION_REVERSER_ROLLER_COASTER = 577, + STR_RIDE_DESCRIPTION_HEARTLINE_TWISTER_COASTER = 578, + STR_RIDE_DESCRIPTION_MINI_GOLF = 579, + STR_RIDE_DESCRIPTION_GIGA_COASTER = 580, + STR_RIDE_DESCRIPTION_ROTO_DROP = 581, + STR_RIDE_DESCRIPTION_FLYING_SAUCERS = 582, + STR_RIDE_DESCRIPTION_CROOKED_HOUSE = 583, + STR_RIDE_DESCRIPTION_MONORAIL_CYCLES = 584, + STR_RIDE_DESCRIPTION_COMPACT_INVERTED_COASTER = 585, + STR_RIDE_DESCRIPTION_WATER_COASTER = 586, + STR_RIDE_DESCRIPTION_AIR_POWERED_VERTICAL_COASTER = 587, + STR_RIDE_DESCRIPTION_INVERTED_HAIRPIN_COASTER = 588, + STR_RIDE_DESCRIPTION_MAGIC_CARPET = 589, + STR_RIDE_DESCRIPTION_SUBMARINE_RIDE = 590, + STR_RIDE_DESCRIPTION_RIVER_RAFTS = 591, - STR_RIDE_DESCRIPTION_ENTERPRISE = 593, + STR_RIDE_DESCRIPTION_ENTERPRISE = 593, - STR_RIDE_DESCRIPTION_INVERTED_IMPULSE_COASTER = 598, - STR_RIDE_DESCRIPTION_MINI_ROLLER_COASTER = 599, - STR_RIDE_DESCRIPTION_MINE_RIDE = 600, + STR_RIDE_DESCRIPTION_INVERTED_IMPULSE_COASTER = 598, + STR_RIDE_DESCRIPTION_MINI_ROLLER_COASTER = 599, + STR_RIDE_DESCRIPTION_MINE_RIDE = 600, - STR_RIDE_DESCRIPTION_LIM_LAUNCHED_ROLLER_COASTER = 602, + STR_RIDE_DESCRIPTION_LIM_LAUNCHED_ROLLER_COASTER = 602, - STR_GUEST_X = 767, - STR_HANDYMAN_X = 768, - STR_MECHANIC_X = 769, - STR_SECURITY_GUARD_X = 770, - STR_ENTERTAINER_X = 771, + STR_GUEST_X = 767, + STR_HANDYMAN_X = 768, + STR_MECHANIC_X = 769, + STR_SECURITY_GUARD_X = 770, + STR_ENTERTAINER_X = 771, - STR_UNNAMED_PARK = 777, - STR_DEFAULT_SIGN = 778, - STR_DATE_DAY_1 = 779, - STR_DATE_DAY_2 = STR_DATE_DAY_1 + 1, - STR_DATE_DAY_3 = STR_DATE_DAY_1 + 2, - STR_DATE_DAY_4 = STR_DATE_DAY_1 + 3, - STR_DATE_DAY_5 = STR_DATE_DAY_1 + 4, - STR_DATE_DAY_6 = STR_DATE_DAY_1 + 5, - STR_DATE_DAY_7 = STR_DATE_DAY_1 + 6, - STR_DATE_DAY_8 = STR_DATE_DAY_1 + 7, - STR_DATE_DAY_9 = STR_DATE_DAY_1 + 8, - STR_DATE_DAY_10 = STR_DATE_DAY_1 + 9, - STR_DATE_DAY_11 = STR_DATE_DAY_1 + 10, - STR_DATE_DAY_12 = STR_DATE_DAY_1 + 11, - STR_DATE_DAY_13 = STR_DATE_DAY_1 + 12, - STR_DATE_DAY_14 = STR_DATE_DAY_1 + 13, - STR_DATE_DAY_15 = STR_DATE_DAY_1 + 14, - STR_DATE_DAY_16 = STR_DATE_DAY_1 + 15, - STR_DATE_DAY_17 = STR_DATE_DAY_1 + 16, - STR_DATE_DAY_18 = STR_DATE_DAY_1 + 17, - STR_DATE_DAY_19 = STR_DATE_DAY_1 + 18, - STR_DATE_DAY_20 = STR_DATE_DAY_1 + 19, - STR_DATE_DAY_21 = STR_DATE_DAY_1 + 20, - STR_DATE_DAY_22 = STR_DATE_DAY_1 + 21, - STR_DATE_DAY_23 = STR_DATE_DAY_1 + 22, - STR_DATE_DAY_24 = STR_DATE_DAY_1 + 23, - STR_DATE_DAY_25 = STR_DATE_DAY_1 + 24, - STR_DATE_DAY_26 = STR_DATE_DAY_1 + 25, - STR_DATE_DAY_27 = STR_DATE_DAY_1 + 26, - STR_DATE_DAY_28 = STR_DATE_DAY_1 + 27, - STR_DATE_DAY_29 = STR_DATE_DAY_1 + 28, - STR_DATE_DAY_30 = STR_DATE_DAY_1 + 29, - STR_DATE_DAY_31 = STR_DATE_DAY_1 + 30, - STR_MONTH_SHORT_JAN = 810, // Unused - STR_MONTH_SHORT_FEB = 811, // Unused - STR_MONTH_SHORT_MAR = 812, - STR_MONTH_SHORT_APR = 813, - STR_MONTH_SHORT_MAY = 814, - STR_MONTH_SHORT_JUN = 815, - STR_MONTH_SHORT_JUL = 816, - STR_MONTH_SHORT_AUG = 817, - STR_MONTH_SHORT_SEP = 818, - STR_MONTH_SHORT_OCT = 819, - STR_MONTH_SHORT_NOV = 820, // Unused - STR_MONTH_SHORT_DEC = 821, // Unused + STR_UNNAMED_PARK = 777, + STR_DEFAULT_SIGN = 778, + STR_DATE_DAY_1 = 779, + STR_DATE_DAY_2 = STR_DATE_DAY_1 + 1, + STR_DATE_DAY_3 = STR_DATE_DAY_1 + 2, + STR_DATE_DAY_4 = STR_DATE_DAY_1 + 3, + STR_DATE_DAY_5 = STR_DATE_DAY_1 + 4, + STR_DATE_DAY_6 = STR_DATE_DAY_1 + 5, + STR_DATE_DAY_7 = STR_DATE_DAY_1 + 6, + STR_DATE_DAY_8 = STR_DATE_DAY_1 + 7, + STR_DATE_DAY_9 = STR_DATE_DAY_1 + 8, + STR_DATE_DAY_10 = STR_DATE_DAY_1 + 9, + STR_DATE_DAY_11 = STR_DATE_DAY_1 + 10, + STR_DATE_DAY_12 = STR_DATE_DAY_1 + 11, + STR_DATE_DAY_13 = STR_DATE_DAY_1 + 12, + STR_DATE_DAY_14 = STR_DATE_DAY_1 + 13, + STR_DATE_DAY_15 = STR_DATE_DAY_1 + 14, + STR_DATE_DAY_16 = STR_DATE_DAY_1 + 15, + STR_DATE_DAY_17 = STR_DATE_DAY_1 + 16, + STR_DATE_DAY_18 = STR_DATE_DAY_1 + 17, + STR_DATE_DAY_19 = STR_DATE_DAY_1 + 18, + STR_DATE_DAY_20 = STR_DATE_DAY_1 + 19, + STR_DATE_DAY_21 = STR_DATE_DAY_1 + 20, + STR_DATE_DAY_22 = STR_DATE_DAY_1 + 21, + STR_DATE_DAY_23 = STR_DATE_DAY_1 + 22, + STR_DATE_DAY_24 = STR_DATE_DAY_1 + 23, + STR_DATE_DAY_25 = STR_DATE_DAY_1 + 24, + STR_DATE_DAY_26 = STR_DATE_DAY_1 + 25, + STR_DATE_DAY_27 = STR_DATE_DAY_1 + 26, + STR_DATE_DAY_28 = STR_DATE_DAY_1 + 27, + STR_DATE_DAY_29 = STR_DATE_DAY_1 + 28, + STR_DATE_DAY_30 = STR_DATE_DAY_1 + 29, + STR_DATE_DAY_31 = STR_DATE_DAY_1 + 30, + STR_MONTH_SHORT_JAN = 810, // Unused + STR_MONTH_SHORT_FEB = 811, // Unused + STR_MONTH_SHORT_MAR = 812, + STR_MONTH_SHORT_APR = 813, + STR_MONTH_SHORT_MAY = 814, + STR_MONTH_SHORT_JUN = 815, + STR_MONTH_SHORT_JUL = 816, + STR_MONTH_SHORT_AUG = 817, + STR_MONTH_SHORT_SEP = 818, + STR_MONTH_SHORT_OCT = 819, + STR_MONTH_SHORT_NOV = 820, // Unused + STR_MONTH_SHORT_DEC = 821, // Unused // STR_0822 :Unable to access graphic data file // STR_0823 :Missing or inaccessible data file - STR_CLOSE_X = 824, - STR_CHOSEN_NAME_IN_USE_ALREADY = 825, - STR_TOO_MANY_NAMES_DEFINED = 826, - STR_NOT_ENOUGH_CASH_REQUIRES = 827, - STR_CLOSE_WINDOW_TIP = 828, - STR_WINDOW_TITLE_TIP = 829, - STR_ZOOM_IN_TIP = 830, - STR_ZOOM_OUT_TIP = 831, - STR_ROTATE_TIP = 832, - STR_PAUSE_GAME_TIP = 833, - STR_DISC_AND_GAME_OPTIONS_TIP = 834, - STR_ERR_GAME_INITIALISATION_FAILED = 835, + STR_CLOSE_X = 824, + STR_CHOSEN_NAME_IN_USE_ALREADY = 825, + STR_TOO_MANY_NAMES_DEFINED = 826, + STR_NOT_ENOUGH_CASH_REQUIRES = 827, + STR_CLOSE_WINDOW_TIP = 828, + STR_WINDOW_TITLE_TIP = 829, + STR_ZOOM_IN_TIP = 830, + STR_ZOOM_OUT_TIP = 831, + STR_ROTATE_TIP = 832, + STR_PAUSE_GAME_TIP = 833, + STR_DISC_AND_GAME_OPTIONS_TIP = 834, + STR_ERR_GAME_INITIALISATION_FAILED = 835, // STR_0835 :Game initialisation failed // STR_0836 :Unable to start game in a minimised state // STR_0837 :Unable to initialise graphics system // STR_0838 : - STR_RESOLUTION_X_BY_Y = 839, - STR_ARG_16_RESOLUTION_X_BY_Y = 840, + STR_RESOLUTION_X_BY_Y = 839, + STR_ARG_16_RESOLUTION_X_BY_Y = 840, // STR_0841 : // STR_0842 : // STR_0843 : // STR_0844 : // STR_0845 : // STR_0846 : - STR_ABOUT = 847, - STR_ROLLERCOASTER_TYCOON_2 = 848, - STR_VERSION_X = 849, - STR_COPYRIGHT_CS = 850, - STR_DESIGNED_AND_PROGRAMMED_BY_CS = 851, - STR_GRAPHICS_BY_SF = 852, - STR_SOUND_AND_MUSIC_BY_AB = 853, - STR_ADDITIONAL_SOUNDS_RECORDED_BY_DE = 854, - STR_REPRESENTATION_BY_JL = 855, - STR_THANKS_TO = 856, - STR_THANKS_TO_PEOPLE = 857, - STR_CREDIT_SPARE_1 = 858, - STR_CREDIT_SPARE_2 = 859, - STR_CREDIT_SPARE_3 = 860, - STR_CREDIT_SPARE_4 = 861, - STR_CREDIT_SPARE_5 = 862, - STR_CREDIT_SPARE_6 = 863, - STR_CREDIT_SPARE_7 = 864, - STR_STRINGID = 865, - STR_ARG_2_STRINGID = 866, // Unused - STR_ARG_4_STRINGID = 867, // Unused - STR_ARG_6_STRINGID = 868, - STR_ARG_8_STRINGID = 869, // Unused - STR_ARG_10_STRINGID = 870, - STR_ARG_12_STRINGID = 871, - STR_ARG_14_STRINGID = 872, - STR_ARG_16_STRINGID = 873, // Unused - STR_ARG_18_STRINGID = 874, - STR_ARG_20_STRINGID = 875, - STR_DROPDOWN_GLYPH = 876, - STR_TOO_LOW = 877, - STR_TOO_HIGH = 878, - STR_CANT_LOWER_LAND_HERE = 879, - STR_CANT_RAISE_LAND_HERE = 880, - STR_OBJECT_IN_THE_WAY = 881, - STR_LOAD_GAME = 882, - STR_SAVE_GAME = 883, - STR_LOAD_LANDSCAPE = 884, - STR_SAVE_LANDSCAPE = 885, + STR_ABOUT = 847, + STR_ROLLERCOASTER_TYCOON_2 = 848, + STR_VERSION_X = 849, + STR_COPYRIGHT_CS = 850, + STR_DESIGNED_AND_PROGRAMMED_BY_CS = 851, + STR_GRAPHICS_BY_SF = 852, + STR_SOUND_AND_MUSIC_BY_AB = 853, + STR_ADDITIONAL_SOUNDS_RECORDED_BY_DE = 854, + STR_REPRESENTATION_BY_JL = 855, + STR_THANKS_TO = 856, + STR_THANKS_TO_PEOPLE = 857, + STR_CREDIT_SPARE_1 = 858, + STR_CREDIT_SPARE_2 = 859, + STR_CREDIT_SPARE_3 = 860, + STR_CREDIT_SPARE_4 = 861, + STR_CREDIT_SPARE_5 = 862, + STR_CREDIT_SPARE_6 = 863, + STR_CREDIT_SPARE_7 = 864, + STR_STRINGID = 865, + STR_ARG_2_STRINGID = 866, // Unused + STR_ARG_4_STRINGID = 867, // Unused + STR_ARG_6_STRINGID = 868, + STR_ARG_8_STRINGID = 869, // Unused + STR_ARG_10_STRINGID = 870, + STR_ARG_12_STRINGID = 871, + STR_ARG_14_STRINGID = 872, + STR_ARG_16_STRINGID = 873, // Unused + STR_ARG_18_STRINGID = 874, + STR_ARG_20_STRINGID = 875, + STR_DROPDOWN_GLYPH = 876, + STR_TOO_LOW = 877, + STR_TOO_HIGH = 878, + STR_CANT_LOWER_LAND_HERE = 879, + STR_CANT_RAISE_LAND_HERE = 880, + STR_OBJECT_IN_THE_WAY = 881, + STR_LOAD_GAME = 882, + STR_SAVE_GAME = 883, + STR_LOAD_LANDSCAPE = 884, + STR_SAVE_LANDSCAPE = 885, - STR_QUIT_SCENARIO_EDITOR = 887, - STR_QUIT_ROLLERCOASTER_DESIGNER = 888, - STR_QUIT_TRACK_DESIGNS_MANAGER = 889, + STR_QUIT_SCENARIO_EDITOR = 887, + STR_QUIT_ROLLERCOASTER_DESIGNER = 888, + STR_QUIT_TRACK_DESIGNS_MANAGER = 889, // STR_0890 : - STR_SCREENSHOT = 891, - STR_SCREENSHOT_SAVED_AS = 892, - STR_SCREENSHOT_FAILED = 893, - STR_ERR_LANDSCAPE_DATA_AREA_FULL = 894, - STR_CANT_BUILD_PARTLY_ABOVE_AND_PARTLY_BELOW_GROUND = 895, - STR_RIDE_CONSTRUCTION_WINDOW_TITLE = 896, - STR_RIDE_CONSTRUCTION_DIRECTION = 897, - STR_RIDE_CONSTRUCTION_LEFT_CURVE_TIP = 898, - STR_RIDE_CONSTRUCTION_RIGHT_CURVE_TIP = 899, - STR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL_TIP = 900, - STR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL_TIP = 901, - STR_RIDE_CONSTRUCTION_LEFT_CURVE_VERY_SMALL_TIP = 902, - STR_RIDE_CONSTRUCTION_RIGHT_CURVE_VERY_SMALL_TIP = 903, - STR_RIDE_CONSTRUCTION_LEFT_CURVE_LARGE_TIP = 904, - STR_RIDE_CONSTRUCTION_RIGHT_CURVE_LARGE_TIP = 905, - STR_RIDE_CONSTRUCTION_STRAIGHT_TIP = 906, - STR_RIDE_CONSTRUCTION_SLOPE = 907, - STR_RIDE_CONSTRUCTION_ROLL_BANKING = 908, - STR_RIDE_CONSTRUCTION_SEAT_ROT = 909, - STR_RIDE_CONSTRUCTION_ROLL_FOR_LEFT_CURVE_TIP = 910, - STR_RIDE_CONSTRUCTION_ROLL_FOR_RIGHT_CURVE_TIP = 911, - STR_RIDE_CONSTRUCTION_NO_ROLL_TIP = 912, - STR_RIDE_CONSTRUCTION_MOVE_TO_PREVIOUS_SECTION_TIP = 913, - STR_RIDE_CONSTRUCTION_MOVE_TO_NEXT_SECTION_TIP = 914, - STR_RIDE_CONSTRUCTION_CONSTRUCT_SELECTED_SECTION_TIP = 915, - STR_RIDE_CONSTRUCTION_REMOVE_HIGHLIGHTED_SECTION_TIP = 916, - STR_RIDE_CONSTRUCTION_VERTICAL_DROP_TIP = 917, - STR_RIDE_CONSTRUCTION_STEEP_SLOPE_DOWN_TIP = 918, - STR_RIDE_CONSTRUCTION_SLOPE_DOWN_TIP = 919, - STR_RIDE_CONSTRUCTION_LEVEL_TIP = 920, - STR_RIDE_CONSTRUCTION_SLOPE_UP_TIP = 921, - STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP = 922, - STR_RIDE_CONSTRUCTION_VERTICAL_RISE_TIP = 923, - STR_RIDE_CONSTRUCTION_HELIX_DOWN_TIP = 924, - STR_RIDE_CONSTRUCTION_HELIX_UP_TIP = 925, - STR_RIDE_CONSTRUCTION_CANT_REMOVE_THIS = 926, - STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE = 927, - STR_RIDE_CONSTRUCTION_CHAIN_LIFT_TIP = 928, - STR_S_BEND_LEFT = 929, - STR_S_BEND_RIGHT = 930, - STR_VERTICAL_LOOP_LEFT = 931, - STR_VERTICAL_LOOP_RIGHT = 932, - STR_RAISE_OR_LOWER_LAND_FIRST = 933, - STR_RIDE_ENTRANCE_IN_THE_WAY = 934, - STR_RIDE_EXIT_IN_THE_WAY = 935, - STR_PARK_ENTRANCE_IN_THE_WAY = 936, - STR_VIEW_OPTIONS_TIP = 937, - STR_ADJUST_LAND_TIP = 938, - STR_UNDERGROUND_VIEW = 939, - STR_REMOVE_BASE_LAND = 940, - STR_REMOVE_VERTICAL_FACES = 941, - STR_SEE_THROUGH_RIDES = 942, - STR_SEE_THROUGH_SCENERY = 943, - STR_SAVE_PROMPT_SAVE = 944, - STR_SAVE_PROMPT_DONT_SAVE = 945, - STR_SAVE_PROMPT_CANCEL = 946, - STR_SAVE_BEFORE_LOADING = 947, - STR_SAVE_BEFORE_QUITTING = 948, - STR_SAVE_BEFORE_QUITTING_2 = 949, - STR_LOAD_GAME_PROMPT_TITLE = 950, - STR_QUIT_GAME_PROMPT_TITLE = 951, - STR_QUIT_GAME_2_PROMPT_TITLE = 952, - STR_LOAD_LANDSCAPE_PROMPT_TITLE = 953, - STR_CONSTRUCTION_ERR_UNKNOWN = 954, - STR_RIDE_CONSTRUCTION_SELECT_SEAT_ROTATION_ANGLE_TIP = 955, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_180 = 956, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_135 = 957, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_90 = 958, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_45 = 959, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_0 = 960, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_45 = 961, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_90 = 962, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_135 = 963, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_180 = 964, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_225 = 965, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_270 = 966, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_315 = 967, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_360 = 968, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_405 = 969, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_450 = 970, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_495 = 971, - STR_CANCEL = 972, - STR_OK = 973, - STR_RIDES = 974, - STR_SHOPS_AND_STALLS = 975, - STR_RESTROOMS_AND_INFORMATION_KIOSKS = 976, - STR_NEW_TRANSPORT_RIDES = 977, - STR_NEW_GENTLE_RIDES = 978, - STR_NEW_ROLLER_COASTERS = 979, - STR_NEW_THRILL_RIDES = 980, - STR_NEW_WATER_RIDES = 981, - STR_NEW_SHOPS_STALLS = 982, - STR_RESEARCH_AND_DEVELOPMENT = 983, - STR_RAISE_COST_AMOUNT = 984, - STR_LOWER_COST_AMOUNT = 985, - STR_COST_AMOUNT = 986, - STR_TOO_MANY_RIDES = 987, - STR_CANT_CREATE_NEW_RIDE_ATTRACTION = 988, - STR_RIDE_WINDOW_TITLE = 989, - STR_CONSTRUCTION = 990, - STR_STATION_PLATFORM = 991, - STR_DEMOLISH_RIDE_TIP = 992, - STR_DEMOLISH_RIDE = 993, - STR_DEMOLISH = 994, - STR_DEMOLISH_RIDE_ID = 995, - STR_OVERALL_VIEW = 996, - STR_VIEW_SELECTION = 997, - STR_NO_MORE_STATIONS_ALLOWED_ON_THIS_RIDE = 998, - STR_REQUIRES_A_STATION_PLATFORM = 999, - STR_TRACK_IS_NOT_A_COMPLETE_CIRCUIT = 1000, - STR_TRACK_UNSUITABLE_FOR_TYPE_OF_TRAIN = 1001, - STR_CANT_OPEN = 1002, - STR_CANT_TEST = 1003, - STR_CANT_CLOSE = 1004, - STR_CANT_START_CONSTRUCTION_ON = 1005, - STR_MUST_BE_CLOSED_FIRST = 1006, - STR_UNABLE_TO_CREATE_ENOUGH_VEHICLES = 1007, - STR_OPEN_CLOSE_OR_TEST_RIDE = 1008, - STR_OPEN_OR_CLOSE_ALL_RIDES = 1009, - STR_OPEN_OR_CLOSE_PARK_TIP = 1010, - STR_CLOSE_ALL = 1011, - STR_OPEN_ALL = 1012, - STR_CLOSE_PARK = 1013, - STR_OPEN_PARK = 1014, - STR_UNABLE_TO_OPERATE_WITH_MORE_THAN_ONE_STATION_IN_THIS_MODE = 1015, - STR_UNABLE_TO_OPERATE_WITH_LESS_THAN_TWO_STATIONS_IN_THIS_MODE = 1016, - STR_CANT_CHANGE_OPERATING_MODE = 1017, - STR_RIDE_SET_VEHICLE_TYPE_FAIL = 1018, - STR_RIDE_SET_VEHICLE_SET_NUM_CARS_PER_TRAIN_FAIL = 1019, - STR_RIDE_SET_VEHICLE_SET_NUM_TRAINS_FAIL = 1020, - STR_RIDE_VEHICLE_COUNT = 1021, - STR_1_CAR_PER_TRAIN = 1022, - STR_X_CARS_PER_TRAIN = 1023, + STR_SCREENSHOT = 891, + STR_SCREENSHOT_SAVED_AS = 892, + STR_SCREENSHOT_FAILED = 893, + STR_ERR_LANDSCAPE_DATA_AREA_FULL = 894, + STR_CANT_BUILD_PARTLY_ABOVE_AND_PARTLY_BELOW_GROUND = 895, + STR_RIDE_CONSTRUCTION_WINDOW_TITLE = 896, + STR_RIDE_CONSTRUCTION_DIRECTION = 897, + STR_RIDE_CONSTRUCTION_LEFT_CURVE_TIP = 898, + STR_RIDE_CONSTRUCTION_RIGHT_CURVE_TIP = 899, + STR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL_TIP = 900, + STR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL_TIP = 901, + STR_RIDE_CONSTRUCTION_LEFT_CURVE_VERY_SMALL_TIP = 902, + STR_RIDE_CONSTRUCTION_RIGHT_CURVE_VERY_SMALL_TIP = 903, + STR_RIDE_CONSTRUCTION_LEFT_CURVE_LARGE_TIP = 904, + STR_RIDE_CONSTRUCTION_RIGHT_CURVE_LARGE_TIP = 905, + STR_RIDE_CONSTRUCTION_STRAIGHT_TIP = 906, + STR_RIDE_CONSTRUCTION_SLOPE = 907, + STR_RIDE_CONSTRUCTION_ROLL_BANKING = 908, + STR_RIDE_CONSTRUCTION_SEAT_ROT = 909, + STR_RIDE_CONSTRUCTION_ROLL_FOR_LEFT_CURVE_TIP = 910, + STR_RIDE_CONSTRUCTION_ROLL_FOR_RIGHT_CURVE_TIP = 911, + STR_RIDE_CONSTRUCTION_NO_ROLL_TIP = 912, + STR_RIDE_CONSTRUCTION_MOVE_TO_PREVIOUS_SECTION_TIP = 913, + STR_RIDE_CONSTRUCTION_MOVE_TO_NEXT_SECTION_TIP = 914, + STR_RIDE_CONSTRUCTION_CONSTRUCT_SELECTED_SECTION_TIP = 915, + STR_RIDE_CONSTRUCTION_REMOVE_HIGHLIGHTED_SECTION_TIP = 916, + STR_RIDE_CONSTRUCTION_VERTICAL_DROP_TIP = 917, + STR_RIDE_CONSTRUCTION_STEEP_SLOPE_DOWN_TIP = 918, + STR_RIDE_CONSTRUCTION_SLOPE_DOWN_TIP = 919, + STR_RIDE_CONSTRUCTION_LEVEL_TIP = 920, + STR_RIDE_CONSTRUCTION_SLOPE_UP_TIP = 921, + STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP = 922, + STR_RIDE_CONSTRUCTION_VERTICAL_RISE_TIP = 923, + STR_RIDE_CONSTRUCTION_HELIX_DOWN_TIP = 924, + STR_RIDE_CONSTRUCTION_HELIX_UP_TIP = 925, + STR_RIDE_CONSTRUCTION_CANT_REMOVE_THIS = 926, + STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE = 927, + STR_RIDE_CONSTRUCTION_CHAIN_LIFT_TIP = 928, + STR_S_BEND_LEFT = 929, + STR_S_BEND_RIGHT = 930, + STR_VERTICAL_LOOP_LEFT = 931, + STR_VERTICAL_LOOP_RIGHT = 932, + STR_RAISE_OR_LOWER_LAND_FIRST = 933, + STR_RIDE_ENTRANCE_IN_THE_WAY = 934, + STR_RIDE_EXIT_IN_THE_WAY = 935, + STR_PARK_ENTRANCE_IN_THE_WAY = 936, + STR_VIEW_OPTIONS_TIP = 937, + STR_ADJUST_LAND_TIP = 938, + STR_UNDERGROUND_VIEW = 939, + STR_REMOVE_BASE_LAND = 940, + STR_REMOVE_VERTICAL_FACES = 941, + STR_SEE_THROUGH_RIDES = 942, + STR_SEE_THROUGH_SCENERY = 943, + STR_SAVE_PROMPT_SAVE = 944, + STR_SAVE_PROMPT_DONT_SAVE = 945, + STR_SAVE_PROMPT_CANCEL = 946, + STR_SAVE_BEFORE_LOADING = 947, + STR_SAVE_BEFORE_QUITTING = 948, + STR_SAVE_BEFORE_QUITTING_2 = 949, + STR_LOAD_GAME_PROMPT_TITLE = 950, + STR_QUIT_GAME_PROMPT_TITLE = 951, + STR_QUIT_GAME_2_PROMPT_TITLE = 952, + STR_LOAD_LANDSCAPE_PROMPT_TITLE = 953, + STR_CONSTRUCTION_ERR_UNKNOWN = 954, + STR_RIDE_CONSTRUCTION_SELECT_SEAT_ROTATION_ANGLE_TIP = 955, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_180 = 956, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_135 = 957, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_90 = 958, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_45 = 959, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_0 = 960, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_45 = 961, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_90 = 962, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_135 = 963, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_180 = 964, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_225 = 965, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_270 = 966, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_315 = 967, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_360 = 968, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_405 = 969, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_450 = 970, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_495 = 971, + STR_CANCEL = 972, + STR_OK = 973, + STR_RIDES = 974, + STR_SHOPS_AND_STALLS = 975, + STR_RESTROOMS_AND_INFORMATION_KIOSKS = 976, + STR_NEW_TRANSPORT_RIDES = 977, + STR_NEW_GENTLE_RIDES = 978, + STR_NEW_ROLLER_COASTERS = 979, + STR_NEW_THRILL_RIDES = 980, + STR_NEW_WATER_RIDES = 981, + STR_NEW_SHOPS_STALLS = 982, + STR_RESEARCH_AND_DEVELOPMENT = 983, + STR_RAISE_COST_AMOUNT = 984, + STR_LOWER_COST_AMOUNT = 985, + STR_COST_AMOUNT = 986, + STR_TOO_MANY_RIDES = 987, + STR_CANT_CREATE_NEW_RIDE_ATTRACTION = 988, + STR_RIDE_WINDOW_TITLE = 989, + STR_CONSTRUCTION = 990, + STR_STATION_PLATFORM = 991, + STR_DEMOLISH_RIDE_TIP = 992, + STR_DEMOLISH_RIDE = 993, + STR_DEMOLISH = 994, + STR_DEMOLISH_RIDE_ID = 995, + STR_OVERALL_VIEW = 996, + STR_VIEW_SELECTION = 997, + STR_NO_MORE_STATIONS_ALLOWED_ON_THIS_RIDE = 998, + STR_REQUIRES_A_STATION_PLATFORM = 999, + STR_TRACK_IS_NOT_A_COMPLETE_CIRCUIT = 1000, + STR_TRACK_UNSUITABLE_FOR_TYPE_OF_TRAIN = 1001, + STR_CANT_OPEN = 1002, + STR_CANT_TEST = 1003, + STR_CANT_CLOSE = 1004, + STR_CANT_START_CONSTRUCTION_ON = 1005, + STR_MUST_BE_CLOSED_FIRST = 1006, + STR_UNABLE_TO_CREATE_ENOUGH_VEHICLES = 1007, + STR_OPEN_CLOSE_OR_TEST_RIDE = 1008, + STR_OPEN_OR_CLOSE_ALL_RIDES = 1009, + STR_OPEN_OR_CLOSE_PARK_TIP = 1010, + STR_CLOSE_ALL = 1011, + STR_OPEN_ALL = 1012, + STR_CLOSE_PARK = 1013, + STR_OPEN_PARK = 1014, + STR_UNABLE_TO_OPERATE_WITH_MORE_THAN_ONE_STATION_IN_THIS_MODE = 1015, + STR_UNABLE_TO_OPERATE_WITH_LESS_THAN_TWO_STATIONS_IN_THIS_MODE = 1016, + STR_CANT_CHANGE_OPERATING_MODE = 1017, + STR_RIDE_SET_VEHICLE_TYPE_FAIL = 1018, + STR_RIDE_SET_VEHICLE_SET_NUM_CARS_PER_TRAIN_FAIL = 1019, + STR_RIDE_SET_VEHICLE_SET_NUM_TRAINS_FAIL = 1020, + STR_RIDE_VEHICLE_COUNT = 1021, + STR_1_CAR_PER_TRAIN = 1022, + STR_X_CARS_PER_TRAIN = 1023, // STR_1024 :{COMMA16} car per train // STR_1025 :{COMMA16} cars per train - STR_STATION_PLATFORM_TOO_LONG = 1026, - STR_LOCATE_SUBJECT_TIP = 1027, - STR_OFF_EDGE_OF_MAP = 1028, - STR_CANNOT_BUILD_PARTLY_ABOVE_AND_PARTLY_BELOW_WATER = 1029, - STR_CAN_ONLY_BUILD_THIS_UNDERWATER = 1030, - STR_RIDE_CANT_BUILD_THIS_UNDERWATER = 1031, - STR_CAN_ONLY_BUILD_THIS_ON_WATER = 1032, - STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND = 1033, - STR_CAN_ONLY_BUILD_THIS_ON_LAND = 1034, - STR_LOCAL_AUTHORITY_WONT_ALLOW_CONSTRUCTION_ABOVE_TREE_HEIGHT = 1035, - STR_FILE_DIALOG_TITLE_LOAD_GAME = 1036, - STR_FILE_DIALOG_TITLE_LOAD_LANDSCAPE = 1037, - STR_FILE_DIALOG_TITLE_CONVERT_SAVED_GAME_TO_SCENARIO = 1038, // Unused - STR_FILE_DIALOG_TITLE_INSTALL_NEW_TRACK_DESIGN = 1039, - STR_FILE_DIALOG_TITLE_SAVE_GAME = 1040, - STR_FILE_DIALOG_TITLE_SAVE_SCENARIO = 1041, - STR_FILE_DIALOG_TITLE_SAVE_LANDSCAPE = 1042, - STR_OPENRCT2_SAVED_GAME = 1043, - STR_OPENRCT2_SCENARIO_FILE = 1044, - STR_OPENRCT2_LANDSCAPE_FILE = 1045, - STR_OPENRCT2_TRACK_DESIGN_FILE = 1046, - STR_GAME_SAVE_FAILED = 1047, - STR_SCENARIO_SAVE_FAILED = 1048, - STR_LANDSCAPE_SAVE_FAILED = 1049, - STR_FAILED_TO_LOAD_FILE_CONTAINS_INVALID_DATA = 1050, - STR_INVISIBLE_SUPPORTS = 1051, - STR_INVISIBLE_PEOPLE = 1052, - STR_RIDES_IN_PARK_TIP = 1053, - STR_NAME_RIDE_TIP = 1054, - STR_NAME_GUEST_TIP = 1055, - STR_NAME_STAFF_TIP = 1056, - STR_RIDE_ATTRACTION_NAME = 1057, - STR_ENTER_NEW_NAME_FOR_THIS_RIDE_ATTRACTION = 1058, - STR_CANT_RENAME_RIDE_ATTRACTION = 1059, - STR_INVALID_RIDE_ATTRACTION_NAME = 1060, - STR_RIDE_MODE_NORMAL = 1061, - STR_RIDE_MODE_CONTINUOUS_CIRCUIT = 1062, - STR_RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE = 1063, - STR_RIDE_MODE_POWERED_LAUNCH_PASSTROUGH = 1064, - STR_RIDE_MODE_SHUTTLE = 1065, - STR_RIDE_MODE_BOAT_HIRE = 1066, - STR_RIDE_MODE_UPWARD_LAUNCH = 1067, - STR_RIDE_MODE_ROTATING_LIFT = 1068, - STR_RIDE_MODE_STATION_TO_STATION = 1069, - STR_RIDE_MODE_SINGLE_RIDE_PER_ADMISSION = 1070, - STR_RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION = 1071, - STR_RIDE_MODE_MAZE = 1072, - STR_RIDE_MODE_RACE = 1073, - STR_RIDE_MODE_DODGEMS = 1074, - STR_RIDE_MODE_SWING = 1075, - STR_RIDE_MODE_SHOP_STALL = 1076, - STR_RIDE_MODE_ROTATION = 1077, - STR_RIDE_MODE_FORWARD_ROTATION = 1078, - STR_RIDE_MODE_BACKWARD_ROTATION = 1079, - STR_RIDE_MODE_FILM_AVENGING_AVIATORS = 1080, - STR_RIDE_MODE_3D_FILM_MOUSE_TAILS = 1081, - STR_RIDE_MODE_SPACE_RINGS = 1082, - STR_RIDE_MODE_BEGINNERS = 1083, - STR_RIDE_MODE_LIM_POWERED_LAUNCH = 1084, - STR_RIDE_MODE_FILM_THRILL_RIDERS = 1085, - STR_RIDE_MODE_3D_FILM_STORM_CHASERS = 1086, - STR_RIDE_MODE_3D_FILM_SPACE_RAIDERS = 1087, - STR_RIDE_MODE_INTENSE = 1088, - STR_RIDE_MODE_BERSERK = 1089, - STR_RIDE_MODE_HAUNTED_HOUSE = 1090, - STR_RIDE_MODE_CIRCUS_SHOW = 1091, - STR_RIDE_MODE_DOWNWARD_LAUNCH = 1092, - STR_RIDE_MODE_CROOKED_HOUSE = 1093, - STR_RIDE_MODE_FREEFALL_DROP = 1094, - STR_RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED = 1095, - STR_RIDE_MODE_POWERED_LAUNCH = 1096, - STR_RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED_MODE = 1097, - STR_MOVING_TO_END_OF = 1098, - STR_WAITING_FOR_PASSENGERS_AT = 1099, - STR_WAITING_TO_DEPART = 1100, - STR_DEPARTING = 1101, - STR_TRAVELLING_AT_0 = 1102, - STR_ARRIVING_AT = 1103, - STR_UNLOADING_PASSENGERS_AT = 1104, - STR_TRAVELLING_AT_1 = 1105, - STR_CRASHING = 1106, - STR_CRASHED_0 = 1107, - STR_TRAVELLING_AT_2 = 1108, - STR_SWINGING = 1109, - STR_ROTATING_0 = 1110, - STR_ROTATING_1 = 1111, - STR_OPERATING_0 = 1112, - STR_SHOWING_FILM = 1113, - STR_ROTATING_2 = 1114, - STR_OPERATING_1 = 1115, - STR_OPERATING_2 = 1116, - STR_DOING_CIRCUS_SHOW = 1117, - STR_OPERATING_3 = 1118, - STR_WAITING_FOR_CABLE_LIFT = 1119, - STR_TRAVELLING_AT_3 = 1120, - STR_STOPPING_0 = 1121, - STR_WAITING_FOR_PASSENGERS = 1122, - STR_WAITING_TO_START = 1123, - STR_STARTING = 1124, - STR_OPERATING = 1125, - STR_STOPPING_1 = 1126, - STR_UNLOADING_PASSENGERS = 1127, - STR_STOPPED_BY_BLOCK_BRAKES = 1128, - STR_ALL_VEHICLES_IN_SAME_COLOURS = 1129, - STR_DIFFERENT_COLOURS_PER = 1130, - STR_DIFFERENT_COLOURS_PER_VEHICLE = 1131, - STR_RIDE_COLOUR_VEHICLE_VALUE = 1132, - STR_RIDE_COLOUR_VEHICLE_OPTION = 1133, - STR_RIDE_COLOUR_TRAIN_VALUE = 1134, - STR_RIDE_COLOUR_TRAIN_OPTION = 1135, - STR_SELECT_MAIN_COLOUR_TIP = 1136, - STR_SELECT_ADDITIONAL_COLOUR_1_TIP = 1137, - STR_SELECT_ADDITIONAL_COLOUR_2_TIP = 1138, - STR_SELECT_SUPPORT_STRUCTURE_COLOUR_TIP = 1139, - STR_SELECT_VEHICLE_COLOUR_SCHEME_TIP = 1140, - STR_SELECT_VEHICLE_TO_MODIFY_TIP = 1141, - STR_DROPDOWN_MENU_LABEL = 1142, + STR_STATION_PLATFORM_TOO_LONG = 1026, + STR_LOCATE_SUBJECT_TIP = 1027, + STR_OFF_EDGE_OF_MAP = 1028, + STR_CANNOT_BUILD_PARTLY_ABOVE_AND_PARTLY_BELOW_WATER = 1029, + STR_CAN_ONLY_BUILD_THIS_UNDERWATER = 1030, + STR_RIDE_CANT_BUILD_THIS_UNDERWATER = 1031, + STR_CAN_ONLY_BUILD_THIS_ON_WATER = 1032, + STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND = 1033, + STR_CAN_ONLY_BUILD_THIS_ON_LAND = 1034, + STR_LOCAL_AUTHORITY_WONT_ALLOW_CONSTRUCTION_ABOVE_TREE_HEIGHT = 1035, + STR_FILE_DIALOG_TITLE_LOAD_GAME = 1036, + STR_FILE_DIALOG_TITLE_LOAD_LANDSCAPE = 1037, + STR_FILE_DIALOG_TITLE_CONVERT_SAVED_GAME_TO_SCENARIO = 1038, // Unused + STR_FILE_DIALOG_TITLE_INSTALL_NEW_TRACK_DESIGN = 1039, + STR_FILE_DIALOG_TITLE_SAVE_GAME = 1040, + STR_FILE_DIALOG_TITLE_SAVE_SCENARIO = 1041, + STR_FILE_DIALOG_TITLE_SAVE_LANDSCAPE = 1042, + STR_OPENRCT2_SAVED_GAME = 1043, + STR_OPENRCT2_SCENARIO_FILE = 1044, + STR_OPENRCT2_LANDSCAPE_FILE = 1045, + STR_OPENRCT2_TRACK_DESIGN_FILE = 1046, + STR_GAME_SAVE_FAILED = 1047, + STR_SCENARIO_SAVE_FAILED = 1048, + STR_LANDSCAPE_SAVE_FAILED = 1049, + STR_FAILED_TO_LOAD_FILE_CONTAINS_INVALID_DATA = 1050, + STR_INVISIBLE_SUPPORTS = 1051, + STR_INVISIBLE_PEOPLE = 1052, + STR_RIDES_IN_PARK_TIP = 1053, + STR_NAME_RIDE_TIP = 1054, + STR_NAME_GUEST_TIP = 1055, + STR_NAME_STAFF_TIP = 1056, + STR_RIDE_ATTRACTION_NAME = 1057, + STR_ENTER_NEW_NAME_FOR_THIS_RIDE_ATTRACTION = 1058, + STR_CANT_RENAME_RIDE_ATTRACTION = 1059, + STR_INVALID_RIDE_ATTRACTION_NAME = 1060, + STR_RIDE_MODE_NORMAL = 1061, + STR_RIDE_MODE_CONTINUOUS_CIRCUIT = 1062, + STR_RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE = 1063, + STR_RIDE_MODE_POWERED_LAUNCH_PASSTROUGH = 1064, + STR_RIDE_MODE_SHUTTLE = 1065, + STR_RIDE_MODE_BOAT_HIRE = 1066, + STR_RIDE_MODE_UPWARD_LAUNCH = 1067, + STR_RIDE_MODE_ROTATING_LIFT = 1068, + STR_RIDE_MODE_STATION_TO_STATION = 1069, + STR_RIDE_MODE_SINGLE_RIDE_PER_ADMISSION = 1070, + STR_RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION = 1071, + STR_RIDE_MODE_MAZE = 1072, + STR_RIDE_MODE_RACE = 1073, + STR_RIDE_MODE_DODGEMS = 1074, + STR_RIDE_MODE_SWING = 1075, + STR_RIDE_MODE_SHOP_STALL = 1076, + STR_RIDE_MODE_ROTATION = 1077, + STR_RIDE_MODE_FORWARD_ROTATION = 1078, + STR_RIDE_MODE_BACKWARD_ROTATION = 1079, + STR_RIDE_MODE_FILM_AVENGING_AVIATORS = 1080, + STR_RIDE_MODE_3D_FILM_MOUSE_TAILS = 1081, + STR_RIDE_MODE_SPACE_RINGS = 1082, + STR_RIDE_MODE_BEGINNERS = 1083, + STR_RIDE_MODE_LIM_POWERED_LAUNCH = 1084, + STR_RIDE_MODE_FILM_THRILL_RIDERS = 1085, + STR_RIDE_MODE_3D_FILM_STORM_CHASERS = 1086, + STR_RIDE_MODE_3D_FILM_SPACE_RAIDERS = 1087, + STR_RIDE_MODE_INTENSE = 1088, + STR_RIDE_MODE_BERSERK = 1089, + STR_RIDE_MODE_HAUNTED_HOUSE = 1090, + STR_RIDE_MODE_CIRCUS_SHOW = 1091, + STR_RIDE_MODE_DOWNWARD_LAUNCH = 1092, + STR_RIDE_MODE_CROOKED_HOUSE = 1093, + STR_RIDE_MODE_FREEFALL_DROP = 1094, + STR_RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED = 1095, + STR_RIDE_MODE_POWERED_LAUNCH = 1096, + STR_RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED_MODE = 1097, + STR_MOVING_TO_END_OF = 1098, + STR_WAITING_FOR_PASSENGERS_AT = 1099, + STR_WAITING_TO_DEPART = 1100, + STR_DEPARTING = 1101, + STR_TRAVELLING_AT_0 = 1102, + STR_ARRIVING_AT = 1103, + STR_UNLOADING_PASSENGERS_AT = 1104, + STR_TRAVELLING_AT_1 = 1105, + STR_CRASHING = 1106, + STR_CRASHED_0 = 1107, + STR_TRAVELLING_AT_2 = 1108, + STR_SWINGING = 1109, + STR_ROTATING_0 = 1110, + STR_ROTATING_1 = 1111, + STR_OPERATING_0 = 1112, + STR_SHOWING_FILM = 1113, + STR_ROTATING_2 = 1114, + STR_OPERATING_1 = 1115, + STR_OPERATING_2 = 1116, + STR_DOING_CIRCUS_SHOW = 1117, + STR_OPERATING_3 = 1118, + STR_WAITING_FOR_CABLE_LIFT = 1119, + STR_TRAVELLING_AT_3 = 1120, + STR_STOPPING_0 = 1121, + STR_WAITING_FOR_PASSENGERS = 1122, + STR_WAITING_TO_START = 1123, + STR_STARTING = 1124, + STR_OPERATING = 1125, + STR_STOPPING_1 = 1126, + STR_UNLOADING_PASSENGERS = 1127, + STR_STOPPED_BY_BLOCK_BRAKES = 1128, + STR_ALL_VEHICLES_IN_SAME_COLOURS = 1129, + STR_DIFFERENT_COLOURS_PER = 1130, + STR_DIFFERENT_COLOURS_PER_VEHICLE = 1131, + STR_RIDE_COLOUR_VEHICLE_VALUE = 1132, + STR_RIDE_COLOUR_VEHICLE_OPTION = 1133, + STR_RIDE_COLOUR_TRAIN_VALUE = 1134, + STR_RIDE_COLOUR_TRAIN_OPTION = 1135, + STR_SELECT_MAIN_COLOUR_TIP = 1136, + STR_SELECT_ADDITIONAL_COLOUR_1_TIP = 1137, + STR_SELECT_ADDITIONAL_COLOUR_2_TIP = 1138, + STR_SELECT_SUPPORT_STRUCTURE_COLOUR_TIP = 1139, + STR_SELECT_VEHICLE_COLOUR_SCHEME_TIP = 1140, + STR_SELECT_VEHICLE_TO_MODIFY_TIP = 1141, + STR_DROPDOWN_MENU_LABEL = 1142, // STR_1143 :{RIGHTGUILLEMET}{MOVE_X}{SMALLFONT}{STRINGID} - STR_CANT_BUILD_MOVE_ENTRANCE_FOR_THIS_RIDE_ATTRACTION = 1144, - STR_CANT_BUILD_MOVE_EXIT_FOR_THIS_RIDE_ATTRACTION = 1145, - STR_ENTRANCE_NOT_YET_BUILT = 1146, - STR_EXIT_NOT_YET_BUILT = 1147, - STR_QUARTER_LOAD = 1148, - STR_HALF_LOAD = 1149, - STR_THREE_QUARTER_LOAD = 1150, - STR_FULL_LOAD = 1151, - STR_ANY_LOAD = 1152, - STR_HEIGHT_MARKS_ON_RIDE_TRACKS = 1153, - STR_HEIGHT_MARKS_ON_LAND = 1154, - STR_HEIGHT_MARKS_ON_PATHS = 1155, - STR_TOGGLE_OPTION = 1156, - STR_TOGGLE_OPTION_CHECKED = 1157, // Used as STR_TOGGLE_OPTION + 1 - STR_CANT_REMOVE_THIS = 1158, - STR_PLACE_SCENERY_TIP = 1159, - STR_ADJUST_WATER_TIP = 1160, - STR_CANT_POSITION_THIS_HERE = 1161, - STR_MAP_TOOLTIP_STRINGID = 1162, - STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY = 1163, - STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE = 1164, - STR_MAP_TOOLTIP_STRINGID_STRINGID = 1165, - STR_CANT_LOWER_WATER_LEVEL_HERE = 1166, - STR_CANT_RAISE_WATER_LEVEL_HERE = 1167, - STR_OPTIONS_TITLE = 1168, - STR_SOUND_NONE = 1169, - STR_STRING = 1170, - STR_RIDE_ENTRANCE_CLOSED = 1171, - STR_RIDE_ENTRANCE_NAME = 1172, - STR_BUILD_FOOTPATH_TIP = 1173, - STR_BANNER_SIGN_IN_THE_WAY = 1174, - STR_CANT_BUILD_THIS_ON_SLOPED_FOOTPATH = 1175, - STR_CANT_BUILD_FOOTPATH_HERE = 1176, - STR_CANT_REMOVE_FOOTPATH_FROM_HERE = 1177, - STR_LAND_SLOPE_UNSUITABLE = 1178, - STR_FOOTPATH_IN_THE_WAY = 1179, - STR_CANT_BUILD_THIS_UNDERWATER = 1180, - STR_FOOTPATHS = 1181, - STR_TYPE = 1182, - STR_DIRECTION = 1183, - STR_SLOPE = 1184, - STR_DIRECTION_TIP = 1185, - STR_SLOPE_DOWN_TIP = 1186, - STR_LEVEL_TIP = 1187, - STR_SLOPE_UP_TIP = 1188, - STR_CONSTRUCT_THE_SELECTED_FOOTPATH_SECTION_TIP = 1189, - STR_REMOVE_PREVIOUS_FOOTPATH_SECTION_TIP = 1190, - STR_BLACK_STRING = 1191, - STR_RED_OUTLINED_STRING = 1192, - STR_WINDOW_COLOUR_2_STRINGID = 1193, - STR_CLOSED = 1194, - STR_TEST_RUN = 1195, - STR_OPEN = 1196, - STR_BROKEN_DOWN = 1197, - STR_CRASHED = 1198, - STR_PERSON_ON_RIDE = 1199, - STR_PEOPLE_ON_RIDE = 1200, - STR_QUEUE_EMPTY = 1201, - STR_QUEUE_ONE_PERSON = 1202, - STR_QUEUE_PEOPLE = 1203, - STR_QUEUE_TIME_LABEL = 1204, - STR_QUEUE_TIME_PLURAL_LABEL = 1205, - STR_WAIT_FOR = 1206, - STR_LEAVE_IF_ANOTHER_TRAIN_ARRIVES = 1207, - STR_LEAVE_IF_ANOTHER_BOAT_ARRIVES = 1208, - STR_WAIT_FOR_PASSENGERS_BEFORE_DEPARTING_TIP = 1209, - STR_LEAVE_IF_ANOTHER_VEHICLE_ARRIVES_TIP = 1210, - STR_MINIMUM_WAITING_TIME = 1211, - STR_MAXIMUM_WAITING_TIME = 1212, - STR_MINIMUM_LENGTH_BEFORE_DEPARTING_TIP = 1213, - STR_MAXIMUM_LENGTH_BEFORE_DEPARTING_TIP = 1214, - STR_SYNCHRONISE_WITH_ADJACENT_STATIONS = 1215, - STR_SYNCHRONISE_WITH_ADJACENT_STATIONS_TIP = 1216, - STR_FORMAT_SECONDS = 1217, - STR_NUMERIC_UP = 1218, - STR_NUMERIC_DOWN = 1219, - STR_EXIT_ONLY = 1220, - STR_NO_ENTRANCE = 1221, - STR_NO_EXIT = 1222, - STR_TRANSPORT_RIDES_TIP = 1223, - STR_GENTLE_RIDES_TIP = 1224, - STR_ROLLER_COASTERS_TIP = 1225, - STR_THRILL_RIDES_TIP = 1226, - STR_WATER_RIDES_TIP = 1227, - STR_SHOPS_STALLS_TIP = 1228, - STR_RIDE_COMPONENT_TRAIN = 1229, - STR_RIDE_COMPONENT_TRAIN_PLURAL = 1230, - STR_RIDE_COMPONENT_TRAIN_CAPITALISED = 1231, - STR_RIDE_COMPONENT_TRAIN_CAPITALISED_PLURAL = 1232, - STR_RIDE_COMPONENT_TRAIN_COUNT = 1233, - STR_RIDE_COMPONENT_TRAIN_COUNT_PLURAL = 1234, - STR_RIDE_COMPONENT_TRAIN_NO = 1235, - STR_RIDE_COMPONENT_BOAT = 1236, - STR_RIDE_COMPONENT_BOAT_PLURAL = 1237, - STR_RIDE_COMPONENT_BOAT_CAPITALISED = 1238, - STR_RIDE_COMPONENT_BOAT_CAPITALISED_PLURAL = 1239, - STR_RIDE_COMPONENT_BOAT_COUNT = 1240, - STR_RIDE_COMPONENT_BOAT_COUNT_PLURAL = 1241, - STR_RIDE_COMPONENT_BOAT_NO = 1242, - STR_RIDE_COMPONENT_TRACK = 1243, - STR_RIDE_COMPONENT_TRACK_PLURAL = 1244, - STR_RIDE_COMPONENT_TRACK_CAPITALISED = 1245, - STR_RIDE_COMPONENT_TRACK_CAPITALISED_PLURAL = 1246, - STR_RIDE_COMPONENT_TRACK_COUNT = 1247, - STR_RIDE_COMPONENT_TRACK_COUNT_PLURAL = 1248, - STR_RIDE_COMPONENT_TRACK_NO = 1249, - STR_RIDE_COMPONENT_DOCKING_PLATFORM = 1250, - STR_RIDE_COMPONENT_DOCKING_PLATFORM_PLURAL = 1251, - STR_RIDE_COMPONENT_DOCKING_PLATFORM_CAPITALISED = 1252, - STR_RIDE_COMPONENT_DOCKING_PLATFORM_CAPITALISED_PLURAL = 1253, - STR_RIDE_COMPONENT_DOCKING_PLATFORM_COUNT = 1254, - STR_RIDE_COMPONENT_DOCKING_PLATFORM_COUNT_PLURAL = 1255, - STR_RIDE_COMPONENT_DOCKING_PLATFORM_NO = 1256, - STR_RIDE_COMPONENT_STATION = 1257, - STR_RIDE_COMPONENT_STATION_PLURAL = 1258, - STR_RIDE_COMPONENT_STATION_CAPITALISED = 1259, - STR_RIDE_COMPONENT_STATION_CAPITALISED_PLURAL = 1260, - STR_RIDE_COMPONENT_STATION_COUNT = 1261, - STR_RIDE_COMPONENT_STATION_COUNT_PLURAL = 1262, - STR_RIDE_COMPONENT_STATION_NO = 1263, - STR_RIDE_COMPONENT_CAR = 1264, - STR_RIDE_COMPONENT_CAR_PLURAL = 1265, - STR_RIDE_COMPONENT_CAR_CAPITALISED = 1266, - STR_RIDE_COMPONENT_CAR_CAPITALISED_PLURAL = 1267, - STR_RIDE_COMPONENT_CAR_COUNT = 1268, - STR_RIDE_COMPONENT_CAR_COUNT_PLURAL = 1269, - STR_RIDE_COMPONENT_CAR_NO = 1270, - STR_RIDE_COMPONENT_BUILDING = 1271, - STR_RIDE_COMPONENT_BUILDING_PLURAL = 1272, - STR_RIDE_COMPONENT_BUILDING_CAPITALISED = 1273, - STR_RIDE_COMPONENT_BUILDING_CAPITALISED_PLURAL = 1274, - STR_RIDE_COMPONENT_BUILDING_COUNT = 1275, - STR_RIDE_COMPONENT_BUILDING_COUNT_PLURAL = 1276, - STR_RIDE_COMPONENT_BUILDING_NO = 1277, - STR_RIDE_COMPONENT_STRUCTURE = 1278, - STR_RIDE_COMPONENT_STRUCTURE_PLURAL = 1279, - STR_RIDE_COMPONENT_STRUCTURE_CAPITALISED = 1280, - STR_RIDE_COMPONENT_STRUCTURE_CAPITALISED_PLURAL = 1281, - STR_RIDE_COMPONENT_STRUCTURE_COUNT = 1282, - STR_RIDE_COMPONENT_STRUCTURE_COUNT_PLURAL = 1283, - STR_RIDE_COMPONENT_STRUCTURE_NO = 1284, - STR_RIDE_COMPONENT_SHIP = 1285, - STR_RIDE_COMPONENT_SHIP_PLURAL = 1286, - STR_RIDE_COMPONENT_SHIP_CAPITALISED = 1287, - STR_RIDE_COMPONENT_SHIP_CAPITALISED_PLURAL = 1288, - STR_RIDE_COMPONENT_SHIP_COUNT = 1289, - STR_RIDE_COMPONENT_SHIP_COUNT_PLURAL = 1290, - STR_RIDE_COMPONENT_SHIP_NO = 1291, - STR_RIDE_COMPONENT_CABIN = 1292, - STR_RIDE_COMPONENT_CABIN_PLURAL = 1293, - STR_RIDE_COMPONENT_CABIN_CAPITALISED = 1294, - STR_RIDE_COMPONENT_CABIN_CAPITALISED_PLURAL = 1295, - STR_RIDE_COMPONENT_CABIN_COUNT = 1296, - STR_RIDE_COMPONENT_CABIN_COUNT_PLURAL = 1297, - STR_RIDE_COMPONENT_CABIN_NO = 1298, - STR_RIDE_COMPONENT_WHEEL = 1299, - STR_RIDE_COMPONENT_WHEEL_PLURAL = 1300, - STR_RIDE_COMPONENT_WHEEL_CAPITALISED = 1301, - STR_RIDE_COMPONENT_WHEEL_CAPITALISED_PLURAL = 1302, - STR_RIDE_COMPONENT_WHEEL_COUNT = 1303, - STR_RIDE_COMPONENT_WHEEL_COUNT_PLURAL = 1304, - STR_RIDE_COMPONENT_WHEEL_NO = 1305, - STR_RIDE_COMPONENT_RING = 1306, - STR_RIDE_COMPONENT_RING_PLURAL = 1307, - STR_RIDE_COMPONENT_RING_CAPITALISED = 1308, - STR_RIDE_COMPONENT_RING_CAPITALISED_PLURAL = 1309, - STR_RIDE_COMPONENT_RING_COUNT = 1310, - STR_RIDE_COMPONENT_RING_COUNT_PLURAL = 1311, - STR_RIDE_COMPONENT_RING_NO = 1312, - STR_RIDE_COMPONENT_PLAYER = 1313, - STR_RIDE_COMPONENT_PLAYER_PLURAL = 1314, - STR_RIDE_COMPONENT_PLAYER_CAPITALISED = 1315, - STR_RIDE_COMPONENT_PLAYER_CAPITALISED_PLURAL = 1316, - STR_RIDE_COMPONENT_PLAYER_COUNT = 1317, - STR_RIDE_COMPONENT_PLAYER_COUNT_PLURAL = 1318, - STR_RIDE_COMPONENT_PLAYER_NO = 1319, - STR_RIDE_COMPONENT_COURSE = 1320, - STR_RIDE_COMPONENT_COURSE_PLURAL = 1321, - STR_RIDE_COMPONENT_COURSE_CAPITALISED = 1322, - STR_RIDE_COMPONENT_COURSE_CAPITALISED_PLURAL = 1323, - STR_RIDE_COMPONENT_COURSE_COUNT = 1324, - STR_RIDE_COMPONENT_COURSE_COUNT_PLURAL = 1325, - STR_RIDE_COMPONENT_COURSE_NO = 1326, - STR_ROTATE_OBJECTS_90 = 1327, - STR_LEVEL_LAND_REQUIRED = 1328, - STR_LAUNCH_SPEED = 1329, - STR_LAUNCH_SPEED_TIP = 1330, - STR_RIDE_MODE_SPEED_VALUE = 1331, + STR_CANT_BUILD_MOVE_ENTRANCE_FOR_THIS_RIDE_ATTRACTION = 1144, + STR_CANT_BUILD_MOVE_EXIT_FOR_THIS_RIDE_ATTRACTION = 1145, + STR_ENTRANCE_NOT_YET_BUILT = 1146, + STR_EXIT_NOT_YET_BUILT = 1147, + STR_QUARTER_LOAD = 1148, + STR_HALF_LOAD = 1149, + STR_THREE_QUARTER_LOAD = 1150, + STR_FULL_LOAD = 1151, + STR_ANY_LOAD = 1152, + STR_HEIGHT_MARKS_ON_RIDE_TRACKS = 1153, + STR_HEIGHT_MARKS_ON_LAND = 1154, + STR_HEIGHT_MARKS_ON_PATHS = 1155, + STR_TOGGLE_OPTION = 1156, + STR_TOGGLE_OPTION_CHECKED = 1157, // Used as STR_TOGGLE_OPTION + 1 + STR_CANT_REMOVE_THIS = 1158, + STR_PLACE_SCENERY_TIP = 1159, + STR_ADJUST_WATER_TIP = 1160, + STR_CANT_POSITION_THIS_HERE = 1161, + STR_MAP_TOOLTIP_STRINGID = 1162, + STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY = 1163, + STR_MAP_TOOLTIP_STRINGID_CLICK_TO_REMOVE = 1164, + STR_MAP_TOOLTIP_STRINGID_STRINGID = 1165, + STR_CANT_LOWER_WATER_LEVEL_HERE = 1166, + STR_CANT_RAISE_WATER_LEVEL_HERE = 1167, + STR_OPTIONS_TITLE = 1168, + STR_SOUND_NONE = 1169, + STR_STRING = 1170, + STR_RIDE_ENTRANCE_CLOSED = 1171, + STR_RIDE_ENTRANCE_NAME = 1172, + STR_BUILD_FOOTPATH_TIP = 1173, + STR_BANNER_SIGN_IN_THE_WAY = 1174, + STR_CANT_BUILD_THIS_ON_SLOPED_FOOTPATH = 1175, + STR_CANT_BUILD_FOOTPATH_HERE = 1176, + STR_CANT_REMOVE_FOOTPATH_FROM_HERE = 1177, + STR_LAND_SLOPE_UNSUITABLE = 1178, + STR_FOOTPATH_IN_THE_WAY = 1179, + STR_CANT_BUILD_THIS_UNDERWATER = 1180, + STR_FOOTPATHS = 1181, + STR_TYPE = 1182, + STR_DIRECTION = 1183, + STR_SLOPE = 1184, + STR_DIRECTION_TIP = 1185, + STR_SLOPE_DOWN_TIP = 1186, + STR_LEVEL_TIP = 1187, + STR_SLOPE_UP_TIP = 1188, + STR_CONSTRUCT_THE_SELECTED_FOOTPATH_SECTION_TIP = 1189, + STR_REMOVE_PREVIOUS_FOOTPATH_SECTION_TIP = 1190, + STR_BLACK_STRING = 1191, + STR_RED_OUTLINED_STRING = 1192, + STR_WINDOW_COLOUR_2_STRINGID = 1193, + STR_CLOSED = 1194, + STR_TEST_RUN = 1195, + STR_OPEN = 1196, + STR_BROKEN_DOWN = 1197, + STR_CRASHED = 1198, + STR_PERSON_ON_RIDE = 1199, + STR_PEOPLE_ON_RIDE = 1200, + STR_QUEUE_EMPTY = 1201, + STR_QUEUE_ONE_PERSON = 1202, + STR_QUEUE_PEOPLE = 1203, + STR_QUEUE_TIME_LABEL = 1204, + STR_QUEUE_TIME_PLURAL_LABEL = 1205, + STR_WAIT_FOR = 1206, + STR_LEAVE_IF_ANOTHER_TRAIN_ARRIVES = 1207, + STR_LEAVE_IF_ANOTHER_BOAT_ARRIVES = 1208, + STR_WAIT_FOR_PASSENGERS_BEFORE_DEPARTING_TIP = 1209, + STR_LEAVE_IF_ANOTHER_VEHICLE_ARRIVES_TIP = 1210, + STR_MINIMUM_WAITING_TIME = 1211, + STR_MAXIMUM_WAITING_TIME = 1212, + STR_MINIMUM_LENGTH_BEFORE_DEPARTING_TIP = 1213, + STR_MAXIMUM_LENGTH_BEFORE_DEPARTING_TIP = 1214, + STR_SYNCHRONISE_WITH_ADJACENT_STATIONS = 1215, + STR_SYNCHRONISE_WITH_ADJACENT_STATIONS_TIP = 1216, + STR_FORMAT_SECONDS = 1217, + STR_NUMERIC_UP = 1218, + STR_NUMERIC_DOWN = 1219, + STR_EXIT_ONLY = 1220, + STR_NO_ENTRANCE = 1221, + STR_NO_EXIT = 1222, + STR_TRANSPORT_RIDES_TIP = 1223, + STR_GENTLE_RIDES_TIP = 1224, + STR_ROLLER_COASTERS_TIP = 1225, + STR_THRILL_RIDES_TIP = 1226, + STR_WATER_RIDES_TIP = 1227, + STR_SHOPS_STALLS_TIP = 1228, + STR_RIDE_COMPONENT_TRAIN = 1229, + STR_RIDE_COMPONENT_TRAIN_PLURAL = 1230, + STR_RIDE_COMPONENT_TRAIN_CAPITALISED = 1231, + STR_RIDE_COMPONENT_TRAIN_CAPITALISED_PLURAL = 1232, + STR_RIDE_COMPONENT_TRAIN_COUNT = 1233, + STR_RIDE_COMPONENT_TRAIN_COUNT_PLURAL = 1234, + STR_RIDE_COMPONENT_TRAIN_NO = 1235, + STR_RIDE_COMPONENT_BOAT = 1236, + STR_RIDE_COMPONENT_BOAT_PLURAL = 1237, + STR_RIDE_COMPONENT_BOAT_CAPITALISED = 1238, + STR_RIDE_COMPONENT_BOAT_CAPITALISED_PLURAL = 1239, + STR_RIDE_COMPONENT_BOAT_COUNT = 1240, + STR_RIDE_COMPONENT_BOAT_COUNT_PLURAL = 1241, + STR_RIDE_COMPONENT_BOAT_NO = 1242, + STR_RIDE_COMPONENT_TRACK = 1243, + STR_RIDE_COMPONENT_TRACK_PLURAL = 1244, + STR_RIDE_COMPONENT_TRACK_CAPITALISED = 1245, + STR_RIDE_COMPONENT_TRACK_CAPITALISED_PLURAL = 1246, + STR_RIDE_COMPONENT_TRACK_COUNT = 1247, + STR_RIDE_COMPONENT_TRACK_COUNT_PLURAL = 1248, + STR_RIDE_COMPONENT_TRACK_NO = 1249, + STR_RIDE_COMPONENT_DOCKING_PLATFORM = 1250, + STR_RIDE_COMPONENT_DOCKING_PLATFORM_PLURAL = 1251, + STR_RIDE_COMPONENT_DOCKING_PLATFORM_CAPITALISED = 1252, + STR_RIDE_COMPONENT_DOCKING_PLATFORM_CAPITALISED_PLURAL = 1253, + STR_RIDE_COMPONENT_DOCKING_PLATFORM_COUNT = 1254, + STR_RIDE_COMPONENT_DOCKING_PLATFORM_COUNT_PLURAL = 1255, + STR_RIDE_COMPONENT_DOCKING_PLATFORM_NO = 1256, + STR_RIDE_COMPONENT_STATION = 1257, + STR_RIDE_COMPONENT_STATION_PLURAL = 1258, + STR_RIDE_COMPONENT_STATION_CAPITALISED = 1259, + STR_RIDE_COMPONENT_STATION_CAPITALISED_PLURAL = 1260, + STR_RIDE_COMPONENT_STATION_COUNT = 1261, + STR_RIDE_COMPONENT_STATION_COUNT_PLURAL = 1262, + STR_RIDE_COMPONENT_STATION_NO = 1263, + STR_RIDE_COMPONENT_CAR = 1264, + STR_RIDE_COMPONENT_CAR_PLURAL = 1265, + STR_RIDE_COMPONENT_CAR_CAPITALISED = 1266, + STR_RIDE_COMPONENT_CAR_CAPITALISED_PLURAL = 1267, + STR_RIDE_COMPONENT_CAR_COUNT = 1268, + STR_RIDE_COMPONENT_CAR_COUNT_PLURAL = 1269, + STR_RIDE_COMPONENT_CAR_NO = 1270, + STR_RIDE_COMPONENT_BUILDING = 1271, + STR_RIDE_COMPONENT_BUILDING_PLURAL = 1272, + STR_RIDE_COMPONENT_BUILDING_CAPITALISED = 1273, + STR_RIDE_COMPONENT_BUILDING_CAPITALISED_PLURAL = 1274, + STR_RIDE_COMPONENT_BUILDING_COUNT = 1275, + STR_RIDE_COMPONENT_BUILDING_COUNT_PLURAL = 1276, + STR_RIDE_COMPONENT_BUILDING_NO = 1277, + STR_RIDE_COMPONENT_STRUCTURE = 1278, + STR_RIDE_COMPONENT_STRUCTURE_PLURAL = 1279, + STR_RIDE_COMPONENT_STRUCTURE_CAPITALISED = 1280, + STR_RIDE_COMPONENT_STRUCTURE_CAPITALISED_PLURAL = 1281, + STR_RIDE_COMPONENT_STRUCTURE_COUNT = 1282, + STR_RIDE_COMPONENT_STRUCTURE_COUNT_PLURAL = 1283, + STR_RIDE_COMPONENT_STRUCTURE_NO = 1284, + STR_RIDE_COMPONENT_SHIP = 1285, + STR_RIDE_COMPONENT_SHIP_PLURAL = 1286, + STR_RIDE_COMPONENT_SHIP_CAPITALISED = 1287, + STR_RIDE_COMPONENT_SHIP_CAPITALISED_PLURAL = 1288, + STR_RIDE_COMPONENT_SHIP_COUNT = 1289, + STR_RIDE_COMPONENT_SHIP_COUNT_PLURAL = 1290, + STR_RIDE_COMPONENT_SHIP_NO = 1291, + STR_RIDE_COMPONENT_CABIN = 1292, + STR_RIDE_COMPONENT_CABIN_PLURAL = 1293, + STR_RIDE_COMPONENT_CABIN_CAPITALISED = 1294, + STR_RIDE_COMPONENT_CABIN_CAPITALISED_PLURAL = 1295, + STR_RIDE_COMPONENT_CABIN_COUNT = 1296, + STR_RIDE_COMPONENT_CABIN_COUNT_PLURAL = 1297, + STR_RIDE_COMPONENT_CABIN_NO = 1298, + STR_RIDE_COMPONENT_WHEEL = 1299, + STR_RIDE_COMPONENT_WHEEL_PLURAL = 1300, + STR_RIDE_COMPONENT_WHEEL_CAPITALISED = 1301, + STR_RIDE_COMPONENT_WHEEL_CAPITALISED_PLURAL = 1302, + STR_RIDE_COMPONENT_WHEEL_COUNT = 1303, + STR_RIDE_COMPONENT_WHEEL_COUNT_PLURAL = 1304, + STR_RIDE_COMPONENT_WHEEL_NO = 1305, + STR_RIDE_COMPONENT_RING = 1306, + STR_RIDE_COMPONENT_RING_PLURAL = 1307, + STR_RIDE_COMPONENT_RING_CAPITALISED = 1308, + STR_RIDE_COMPONENT_RING_CAPITALISED_PLURAL = 1309, + STR_RIDE_COMPONENT_RING_COUNT = 1310, + STR_RIDE_COMPONENT_RING_COUNT_PLURAL = 1311, + STR_RIDE_COMPONENT_RING_NO = 1312, + STR_RIDE_COMPONENT_PLAYER = 1313, + STR_RIDE_COMPONENT_PLAYER_PLURAL = 1314, + STR_RIDE_COMPONENT_PLAYER_CAPITALISED = 1315, + STR_RIDE_COMPONENT_PLAYER_CAPITALISED_PLURAL = 1316, + STR_RIDE_COMPONENT_PLAYER_COUNT = 1317, + STR_RIDE_COMPONENT_PLAYER_COUNT_PLURAL = 1318, + STR_RIDE_COMPONENT_PLAYER_NO = 1319, + STR_RIDE_COMPONENT_COURSE = 1320, + STR_RIDE_COMPONENT_COURSE_PLURAL = 1321, + STR_RIDE_COMPONENT_COURSE_CAPITALISED = 1322, + STR_RIDE_COMPONENT_COURSE_CAPITALISED_PLURAL = 1323, + STR_RIDE_COMPONENT_COURSE_COUNT = 1324, + STR_RIDE_COMPONENT_COURSE_COUNT_PLURAL = 1325, + STR_RIDE_COMPONENT_COURSE_NO = 1326, + STR_ROTATE_OBJECTS_90 = 1327, + STR_LEVEL_LAND_REQUIRED = 1328, + STR_LAUNCH_SPEED = 1329, + STR_LAUNCH_SPEED_TIP = 1330, + STR_RIDE_MODE_SPEED_VALUE = 1331, // 1332 not used. Likely ride_mode_speed value - STR_RIDE_STATION = 1333, - STR_RIDE_STATION_X = 1334, - STR_RIDE_ENTRANCE = 1335, - STR_RIDE_STATION_X_ENTRANCE = 1336, - STR_RIDE_EXIT = 1337, - STR_RIDE_STATION_X_EXIT = 1338, - STR_NO_TEST_RESULTS_YET = 1339, - STR_MAX_SPEED = 1340, - STR_RIDE_TIME = 1341, - STR_RIDE_TIME_ENTRY = 1342, - STR_RIDE_TIME_ENTRY_WITH_SEPARATOR = 1343, - STR_RIDE_LENGTH = 1344, - STR_RIDE_LENGTH_ENTRY = 1345, - STR_RIDE_LENGTH_ENTRY_WITH_SEPARATOR = 1346, - STR_AVERAGE_SPEED = 1347, - STR_MAX_POSITIVE_VERTICAL_G = 1348, - STR_MAX_POSITIVE_VERTICAL_G_RED = 1349, - STR_MAX_NEGATIVE_VERTICAL_G = 1350, - STR_MAX_NEGATIVE_VERTICAL_G_RED = 1351, - STR_MAX_LATERAL_G = 1352, - STR_MAX_LATERAL_G_RED = 1353, - STR_HIGHEST_DROP_HEIGHT = 1354, - STR_DROPS = 1355, - STR_INVERSIONS = 1356, - STR_HOLES = 1357, - STR_TOTAL_AIR_TIME = 1358, - STR_QUEUE_TIME_MINUTE = 1359, - STR_QUEUE_TIME_MINUTES = 1360, - STR_CANT_CHANGE_SPEED = 1361, - STR_CANT_CHANGE_LAUNCH_SPEED = 1362, - STR_TOO_HIGH_FOR_SUPPORTS = 1363, - STR_SUPPORTS_CANT_BE_EXTENDED = 1364, - STR_IN_LINE_TWIST_LEFT = 1365, - STR_IN_LINE_TWIST_RIGHT = 1366, - STR_HALF_LOOP = 1367, - STR_HALF_CORKSCREW_LEFT = 1368, - STR_HALF_CORKSCREW_RIGHT = 1369, - STR_BARREL_ROLL_LEFT = 1370, - STR_BARREL_ROLL_RIGHT = 1371, - STR_LAUNCHED_LIFT_HILL = 1372, - STR_LARGE_HALF_LOOP_LEFT = 1373, - STR_LARGE_HALF_LOOP_RIGHT = 1374, - STR_UPPER_TRANSFER = 1375, - STR_LOWER_TRANSFER = 1376, - STR_HEARTLINE_ROLL_LEFT = 1377, - STR_HEARTLINE_ROLL_RIGHT = 1378, - STR_REVERSER_LEFT = 1379, - STR_REVERSER_RIGHT = 1380, - STR_CURVED_LIFT_HILL_LEFT = 1381, - STR_CURVED_LIFT_HILL_RIGHT = 1382, - STR_QUARTER_LOOP = 1383, - STR_YELLOW_STRING = 1384, - STR_RIDE_CONSTRUCTION_OTHER_TRACK_CONFIGURATIONS_TIP = 1385, - STR_RIDE_CONSTRUCTION_SPECIAL = 1386, - STR_CANT_CHANGE_LAND_TYPE = 1387, - STR_MONEY_EFFECT_RECEIVE = 1388, - STR_MONEY_EFFECT_SPEND = 1389, - STR_BOTTOM_TOOLBAR_CASH = 1390, - STR_BOTTOM_TOOLBAR_CASH_NEGATIVE = 1391, - STR_VIEW_OF_RIDE_ATTRACTION_TIP = 1392, - STR_VEHICLE_DETAILS_AND_OPTIONS_TIP = 1393, - STR_OPERATING_OPTIONS_TIP = 1394, - STR_MAINTENANCE_OPTIONS_TIP = 1395, - STR_COLOUR_SCHEME_OPTIONS_TIP = 1396, - STR_SOUND_AND_MUSIC_OPTIONS_TIP = 1397, - STR_MEASUREMENTS_AND_TEST_DATA_TIP = 1398, - STR_GRAPHS_TIP = 1399, - STR_RIDE_CONSTRUCTION_ENTRANCE = 1400, - STR_RIDE_CONSTRUCTION_EXIT = 1401, - STR_RIDE_CONSTRUCTION_ENTRANCE_TIP = 1402, - STR_RIDE_CONSTRUCTION_EXIT_TIP = 1403, - STR_ROTATE_90_TIP = 1404, - STR_MIRROR_IMAGE_TIP = 1405, - STR_TOGGLE_SCENERY_TIP = 1406, - STR_BUILD_THIS = 1407, - STR_COST_LABEL = 1408, - STR_ENTRY_EXIT_PLATFORM = 1409, - STR_VERTICAL_TOWER = 1410, - STR_X_IN_THE_WAY = 1411, - STR_DATA_LOGGING_NOT_AVAILABLE_FOR_THIS_TYPE_OF_RIDE = 1412, - STR_DATA_LOGGING_WILL_START_WHEN_NEXT_LEAVES = 1413, - STR_RIDE_STATS_TIME = 1414, - STR_RIDE_STATS_VELOCITY = 1415, - STR_RIDE_STATS_ALTITUDE = 1416, - STR_RIDE_STATS_VERT_G = 1417, - STR_RIDE_STATS_LAT_G = 1418, - STR_RIDE_STATS_VELOCITY_FORMAT = 1419, - STR_RIDE_STATS_ALTITUDE_FORMAT = 1420, - STR_RIDE_STATS_G_FORCE_FORMAT = 1421, - STR_LOGGING_DATA_FROM_TIP = 1422, - STR_QUEUE_LINE_PATH_TIP = 1423, - STR_FOOTPATH_TIP = 1424, - STR_FOOTPATH_MAP_TIP = 1425, - STR_QUEUE_LINE_MAP_TIP = 1426, - STR_CUSTOMERS_PER_HOUR = 1427, - STR_RIDE_INCOME_ADMISSION_PRICE = 1428, - STR_ARG_6_CURRENCY2DP = 1429, - STR_FREE = 1430, - STR_WALKING = 1431, - STR_HEADING_FOR = 1432, - STR_QUEUING_FOR = 1433, - STR_DROWNING = 1434, - STR_ON_RIDE = 1435, - STR_IN_RIDE = 1436, - STR_AT_RIDE = 1437, - STR_SITTING = 1438, - STR_SELECT_LOCATION = 1439, - STR_MOWING_GRASS = 1440, - STR_SWEEPING_FOOTPATH = 1441, - STR_EMPTYING_LITTER_BIN = 1442, - STR_WATERING_GARDENS = 1443, - STR_WATCHING_RIDE = 1444, - STR_WATCHING_CONSTRUCTION_OF = 1445, - STR_LOOKING_AT_SCENERY = 1446, - STR_LEAVING_PARK = 1447, - STR_WATCHING_NEW_RIDE_BEING_CONSTRUCTED = 1448, - STR_GUEST_MAP_TIP = 1449, - STR_TRACKED_GUEST_MAP_TIP = 1450, - STR_STAFF_MAP_TIP = 1451, - STR_GUEST_RENAME_TITLE = 1452, - STR_GUEST_RENAME_PROMPT = 1453, - STR_CANT_NAME_GUEST = 1454, - STR_ERR_INVALID_NAME_FOR_GUEST = 1455, - STR_GUEST_STAT_CASH_SPENT = 1456, - STR_GUEST_STAT_CASH_IN_POCKET = 1457, - STR_GUEST_STAT_TIME_IN_PARK = 1458, - STR_RIDE_CONSTRUCTION_TRACK_STYLE = 1459, - STR_RIDE_CONSTRUCTION_U_SHAPED_OPEN_TRACK_TIP = 1460, - STR_RIDE_CONSTRUCTION_O_SHAPED_ENCLOSED_TRACK_TIP = 1461, - STR_TOO_STEEP_FOR_LIFT_HILL = 1462, - STR_GUESTS = 1463, - STR_HELIX_UP_SMALL = 1464, - STR_HELIX_UP_LARGE = 1465, - STR_HELIX_DOWN_SMALL = 1466, - STR_HELIX_DOWN_LARGE = 1467, - STR_STAFF = 1468, - STR_RIDE_MUST_START_AND_END_WITH_STATIONS = 1469, - STR_STATION_NOT_LONG_ENOUGH = 1470, - STR_SPEED = 1471, - STR_SPEED_TIP = 1472, - STR_EXCITEMENT_RATING = 1473, - STR_EXCITEMENT_RATING_NOT_YET_AVAILABLE = 1474, - STR_INTENSITY_RATING = 1475, - STR_INTENSITY_RATING_NOT_YET_AVAILABLE = 1476, - STR_INTENSITY_RATING_RED = 1477, - STR_NAUSEA_RATING = 1478, - STR_NAUSEA_RATING_NOT_YET_AVAILABLE = 1479, - STR_PEEP_THOUGHT_TYPE_CANT_AFFORD_0 = 1480, - STR_PEEP_THOUGHT_TYPE_SPENT_MONEY = 1481, - STR_PEEP_THOUGHT_TYPE_SICK = 1482, - STR_PEEP_THOUGHT_TYPE_VERY_SICK = 1483, - STR_PEEP_THOUGHT_TYPE_MORE_THRILLING = 1484, - STR_PEEP_THOUGHT_TYPE_INTENSE = 1485, - STR_PEEP_THOUGHT_TYPE_HAVENT_FINISHED = 1486, - STR_PEEP_THOUGHT_TYPE_SICKENING = 1487, - STR_PEEP_THOUGHT_TYPE_BAD_VALUE = 1488, - STR_PEEP_THOUGHT_TYPE_GO_HOME = 1489, - STR_PEEP_THOUGHT_TYPE_GOOD_VALUE = 1490, - STR_PEEP_THOUGHT_TYPE_ALREADY_GOT = 1491, - STR_PEEP_THOUGHT_TYPE_CANT_AFFORD = 1492, - STR_PEEP_THOUGHT_TYPE_NOT_HUNGRY = 1493, - STR_PEEP_THOUGHT_TYPE_NOT_THIRSTY = 1494, - STR_PEEP_THOUGHT_TYPE_DROWNING = 1495, - STR_PEEP_THOUGHT_TYPE_LOST = 1496, - STR_PEEP_THOUGHT_TYPE_WAS_GREAT = 1497, - STR_PEEP_THOUGHT_TYPE_QUEUING_AGES = 1498, - STR_PEEP_THOUGHT_TYPE_TIRED = 1499, - STR_PEEP_THOUGHT_TYPE_HUNGRY = 1500, - STR_PEEP_THOUGHT_TYPE_THIRSTY = 1501, - STR_PEEP_THOUGHT_TYPE_BATHROOM = 1502, - STR_PEEP_THOUGHT_TYPE_CANT_FIND = 1503, - STR_PEEP_THOUGHT_TYPE_NOT_PAYING = 1504, - STR_PEEP_THOUGHT_TYPE_NOT_WHILE_RAINING = 1505, - STR_PEEP_THOUGHT_TYPE_BAD_LITTER = 1506, - STR_PEEP_THOUGHT_TYPE_CANT_FIND_EXIT = 1507, - STR_PEEP_THOUGHT_TYPE_GET_OFF = 1508, - STR_PEEP_THOUGHT_TYPE_GET_OUT = 1509, - STR_PEEP_THOUGHT_TYPE_NOT_SAFE = 1510, - STR_PEEP_THOUGHT_TYPE_PATH_DISGUSTING = 1511, - STR_PEEP_THOUGHT_TYPE_CROWDED = 1512, - STR_PEEP_THOUGHT_TYPE_VANDALISM = 1513, - STR_PEEP_THOUGHT_TYPE_SCENERY = 1514, - STR_PEEP_THOUGHT_TYPE_VERY_CLEAN = 1515, - STR_PEEP_THOUGHT_TYPE_FOUNTAINS = 1516, - STR_PEEP_THOUGHT_TYPE_MUSIC = 1517, - STR_PEEP_THOUGHT_TYPE_BALLOON = 1518, - STR_PEEP_THOUGHT_TYPE_TOY = 1519, - STR_PEEP_THOUGHT_TYPE_MAP = 1520, - STR_PEEP_THOUGHT_TYPE_PHOTO = 1521, - STR_PEEP_THOUGHT_TYPE_UMBRELLA = 1522, - STR_PEEP_THOUGHT_TYPE_DRINK = 1523, - STR_PEEP_THOUGHT_TYPE_BURGER = 1524, - STR_PEEP_THOUGHT_TYPE_CHIPS = 1525, - STR_PEEP_THOUGHT_TYPE_ICE_CREAM = 1526, - STR_PEEP_THOUGHT_TYPE_CANDYFLOSS = 1527, + STR_RIDE_STATION = 1333, + STR_RIDE_STATION_X = 1334, + STR_RIDE_ENTRANCE = 1335, + STR_RIDE_STATION_X_ENTRANCE = 1336, + STR_RIDE_EXIT = 1337, + STR_RIDE_STATION_X_EXIT = 1338, + STR_NO_TEST_RESULTS_YET = 1339, + STR_MAX_SPEED = 1340, + STR_RIDE_TIME = 1341, + STR_RIDE_TIME_ENTRY = 1342, + STR_RIDE_TIME_ENTRY_WITH_SEPARATOR = 1343, + STR_RIDE_LENGTH = 1344, + STR_RIDE_LENGTH_ENTRY = 1345, + STR_RIDE_LENGTH_ENTRY_WITH_SEPARATOR = 1346, + STR_AVERAGE_SPEED = 1347, + STR_MAX_POSITIVE_VERTICAL_G = 1348, + STR_MAX_POSITIVE_VERTICAL_G_RED = 1349, + STR_MAX_NEGATIVE_VERTICAL_G = 1350, + STR_MAX_NEGATIVE_VERTICAL_G_RED = 1351, + STR_MAX_LATERAL_G = 1352, + STR_MAX_LATERAL_G_RED = 1353, + STR_HIGHEST_DROP_HEIGHT = 1354, + STR_DROPS = 1355, + STR_INVERSIONS = 1356, + STR_HOLES = 1357, + STR_TOTAL_AIR_TIME = 1358, + STR_QUEUE_TIME_MINUTE = 1359, + STR_QUEUE_TIME_MINUTES = 1360, + STR_CANT_CHANGE_SPEED = 1361, + STR_CANT_CHANGE_LAUNCH_SPEED = 1362, + STR_TOO_HIGH_FOR_SUPPORTS = 1363, + STR_SUPPORTS_CANT_BE_EXTENDED = 1364, + STR_IN_LINE_TWIST_LEFT = 1365, + STR_IN_LINE_TWIST_RIGHT = 1366, + STR_HALF_LOOP = 1367, + STR_HALF_CORKSCREW_LEFT = 1368, + STR_HALF_CORKSCREW_RIGHT = 1369, + STR_BARREL_ROLL_LEFT = 1370, + STR_BARREL_ROLL_RIGHT = 1371, + STR_LAUNCHED_LIFT_HILL = 1372, + STR_LARGE_HALF_LOOP_LEFT = 1373, + STR_LARGE_HALF_LOOP_RIGHT = 1374, + STR_UPPER_TRANSFER = 1375, + STR_LOWER_TRANSFER = 1376, + STR_HEARTLINE_ROLL_LEFT = 1377, + STR_HEARTLINE_ROLL_RIGHT = 1378, + STR_REVERSER_LEFT = 1379, + STR_REVERSER_RIGHT = 1380, + STR_CURVED_LIFT_HILL_LEFT = 1381, + STR_CURVED_LIFT_HILL_RIGHT = 1382, + STR_QUARTER_LOOP = 1383, + STR_YELLOW_STRING = 1384, + STR_RIDE_CONSTRUCTION_OTHER_TRACK_CONFIGURATIONS_TIP = 1385, + STR_RIDE_CONSTRUCTION_SPECIAL = 1386, + STR_CANT_CHANGE_LAND_TYPE = 1387, + STR_MONEY_EFFECT_RECEIVE = 1388, + STR_MONEY_EFFECT_SPEND = 1389, + STR_BOTTOM_TOOLBAR_CASH = 1390, + STR_BOTTOM_TOOLBAR_CASH_NEGATIVE = 1391, + STR_VIEW_OF_RIDE_ATTRACTION_TIP = 1392, + STR_VEHICLE_DETAILS_AND_OPTIONS_TIP = 1393, + STR_OPERATING_OPTIONS_TIP = 1394, + STR_MAINTENANCE_OPTIONS_TIP = 1395, + STR_COLOUR_SCHEME_OPTIONS_TIP = 1396, + STR_SOUND_AND_MUSIC_OPTIONS_TIP = 1397, + STR_MEASUREMENTS_AND_TEST_DATA_TIP = 1398, + STR_GRAPHS_TIP = 1399, + STR_RIDE_CONSTRUCTION_ENTRANCE = 1400, + STR_RIDE_CONSTRUCTION_EXIT = 1401, + STR_RIDE_CONSTRUCTION_ENTRANCE_TIP = 1402, + STR_RIDE_CONSTRUCTION_EXIT_TIP = 1403, + STR_ROTATE_90_TIP = 1404, + STR_MIRROR_IMAGE_TIP = 1405, + STR_TOGGLE_SCENERY_TIP = 1406, + STR_BUILD_THIS = 1407, + STR_COST_LABEL = 1408, + STR_ENTRY_EXIT_PLATFORM = 1409, + STR_VERTICAL_TOWER = 1410, + STR_X_IN_THE_WAY = 1411, + STR_DATA_LOGGING_NOT_AVAILABLE_FOR_THIS_TYPE_OF_RIDE = 1412, + STR_DATA_LOGGING_WILL_START_WHEN_NEXT_LEAVES = 1413, + STR_RIDE_STATS_TIME = 1414, + STR_RIDE_STATS_VELOCITY = 1415, + STR_RIDE_STATS_ALTITUDE = 1416, + STR_RIDE_STATS_VERT_G = 1417, + STR_RIDE_STATS_LAT_G = 1418, + STR_RIDE_STATS_VELOCITY_FORMAT = 1419, + STR_RIDE_STATS_ALTITUDE_FORMAT = 1420, + STR_RIDE_STATS_G_FORCE_FORMAT = 1421, + STR_LOGGING_DATA_FROM_TIP = 1422, + STR_QUEUE_LINE_PATH_TIP = 1423, + STR_FOOTPATH_TIP = 1424, + STR_FOOTPATH_MAP_TIP = 1425, + STR_QUEUE_LINE_MAP_TIP = 1426, + STR_CUSTOMERS_PER_HOUR = 1427, + STR_RIDE_INCOME_ADMISSION_PRICE = 1428, + STR_ARG_6_CURRENCY2DP = 1429, + STR_FREE = 1430, + STR_WALKING = 1431, + STR_HEADING_FOR = 1432, + STR_QUEUING_FOR = 1433, + STR_DROWNING = 1434, + STR_ON_RIDE = 1435, + STR_IN_RIDE = 1436, + STR_AT_RIDE = 1437, + STR_SITTING = 1438, + STR_SELECT_LOCATION = 1439, + STR_MOWING_GRASS = 1440, + STR_SWEEPING_FOOTPATH = 1441, + STR_EMPTYING_LITTER_BIN = 1442, + STR_WATERING_GARDENS = 1443, + STR_WATCHING_RIDE = 1444, + STR_WATCHING_CONSTRUCTION_OF = 1445, + STR_LOOKING_AT_SCENERY = 1446, + STR_LEAVING_PARK = 1447, + STR_WATCHING_NEW_RIDE_BEING_CONSTRUCTED = 1448, + STR_GUEST_MAP_TIP = 1449, + STR_TRACKED_GUEST_MAP_TIP = 1450, + STR_STAFF_MAP_TIP = 1451, + STR_GUEST_RENAME_TITLE = 1452, + STR_GUEST_RENAME_PROMPT = 1453, + STR_CANT_NAME_GUEST = 1454, + STR_ERR_INVALID_NAME_FOR_GUEST = 1455, + STR_GUEST_STAT_CASH_SPENT = 1456, + STR_GUEST_STAT_CASH_IN_POCKET = 1457, + STR_GUEST_STAT_TIME_IN_PARK = 1458, + STR_RIDE_CONSTRUCTION_TRACK_STYLE = 1459, + STR_RIDE_CONSTRUCTION_U_SHAPED_OPEN_TRACK_TIP = 1460, + STR_RIDE_CONSTRUCTION_O_SHAPED_ENCLOSED_TRACK_TIP = 1461, + STR_TOO_STEEP_FOR_LIFT_HILL = 1462, + STR_GUESTS = 1463, + STR_HELIX_UP_SMALL = 1464, + STR_HELIX_UP_LARGE = 1465, + STR_HELIX_DOWN_SMALL = 1466, + STR_HELIX_DOWN_LARGE = 1467, + STR_STAFF = 1468, + STR_RIDE_MUST_START_AND_END_WITH_STATIONS = 1469, + STR_STATION_NOT_LONG_ENOUGH = 1470, + STR_SPEED = 1471, + STR_SPEED_TIP = 1472, + STR_EXCITEMENT_RATING = 1473, + STR_EXCITEMENT_RATING_NOT_YET_AVAILABLE = 1474, + STR_INTENSITY_RATING = 1475, + STR_INTENSITY_RATING_NOT_YET_AVAILABLE = 1476, + STR_INTENSITY_RATING_RED = 1477, + STR_NAUSEA_RATING = 1478, + STR_NAUSEA_RATING_NOT_YET_AVAILABLE = 1479, + STR_PEEP_THOUGHT_TYPE_CANT_AFFORD_0 = 1480, + STR_PEEP_THOUGHT_TYPE_SPENT_MONEY = 1481, + STR_PEEP_THOUGHT_TYPE_SICK = 1482, + STR_PEEP_THOUGHT_TYPE_VERY_SICK = 1483, + STR_PEEP_THOUGHT_TYPE_MORE_THRILLING = 1484, + STR_PEEP_THOUGHT_TYPE_INTENSE = 1485, + STR_PEEP_THOUGHT_TYPE_HAVENT_FINISHED = 1486, + STR_PEEP_THOUGHT_TYPE_SICKENING = 1487, + STR_PEEP_THOUGHT_TYPE_BAD_VALUE = 1488, + STR_PEEP_THOUGHT_TYPE_GO_HOME = 1489, + STR_PEEP_THOUGHT_TYPE_GOOD_VALUE = 1490, + STR_PEEP_THOUGHT_TYPE_ALREADY_GOT = 1491, + STR_PEEP_THOUGHT_TYPE_CANT_AFFORD = 1492, + STR_PEEP_THOUGHT_TYPE_NOT_HUNGRY = 1493, + STR_PEEP_THOUGHT_TYPE_NOT_THIRSTY = 1494, + STR_PEEP_THOUGHT_TYPE_DROWNING = 1495, + STR_PEEP_THOUGHT_TYPE_LOST = 1496, + STR_PEEP_THOUGHT_TYPE_WAS_GREAT = 1497, + STR_PEEP_THOUGHT_TYPE_QUEUING_AGES = 1498, + STR_PEEP_THOUGHT_TYPE_TIRED = 1499, + STR_PEEP_THOUGHT_TYPE_HUNGRY = 1500, + STR_PEEP_THOUGHT_TYPE_THIRSTY = 1501, + STR_PEEP_THOUGHT_TYPE_BATHROOM = 1502, + STR_PEEP_THOUGHT_TYPE_CANT_FIND = 1503, + STR_PEEP_THOUGHT_TYPE_NOT_PAYING = 1504, + STR_PEEP_THOUGHT_TYPE_NOT_WHILE_RAINING = 1505, + STR_PEEP_THOUGHT_TYPE_BAD_LITTER = 1506, + STR_PEEP_THOUGHT_TYPE_CANT_FIND_EXIT = 1507, + STR_PEEP_THOUGHT_TYPE_GET_OFF = 1508, + STR_PEEP_THOUGHT_TYPE_GET_OUT = 1509, + STR_PEEP_THOUGHT_TYPE_NOT_SAFE = 1510, + STR_PEEP_THOUGHT_TYPE_PATH_DISGUSTING = 1511, + STR_PEEP_THOUGHT_TYPE_CROWDED = 1512, + STR_PEEP_THOUGHT_TYPE_VANDALISM = 1513, + STR_PEEP_THOUGHT_TYPE_SCENERY = 1514, + STR_PEEP_THOUGHT_TYPE_VERY_CLEAN = 1515, + STR_PEEP_THOUGHT_TYPE_FOUNTAINS = 1516, + STR_PEEP_THOUGHT_TYPE_MUSIC = 1517, + STR_PEEP_THOUGHT_TYPE_BALLOON = 1518, + STR_PEEP_THOUGHT_TYPE_TOY = 1519, + STR_PEEP_THOUGHT_TYPE_MAP = 1520, + STR_PEEP_THOUGHT_TYPE_PHOTO = 1521, + STR_PEEP_THOUGHT_TYPE_UMBRELLA = 1522, + STR_PEEP_THOUGHT_TYPE_DRINK = 1523, + STR_PEEP_THOUGHT_TYPE_BURGER = 1524, + STR_PEEP_THOUGHT_TYPE_CHIPS = 1525, + STR_PEEP_THOUGHT_TYPE_ICE_CREAM = 1526, + STR_PEEP_THOUGHT_TYPE_CANDYFLOSS = 1527, // STR_1528 : // STR_1529 : // STR_1530 : - STR_PEEP_THOUGHT_TYPE_PIZZA = 1531, + STR_PEEP_THOUGHT_TYPE_PIZZA = 1531, // STR_1532 : - STR_PEEP_THOUGHT_TYPE_POPCORN = 1533, - STR_PEEP_THOUGHT_TYPE_HOT_DOG = 1534, - STR_PEEP_THOUGHT_TYPE_TENTACLE = 1535, - STR_PEEP_THOUGHT_TYPE_HAT = 1536, - STR_PEEP_THOUGHT_TYPE_CANDY_APPLE = 1537, - STR_PEEP_THOUGHT_TYPE_TSHIRT = 1538, - STR_PEEP_THOUGHT_TYPE_DONUT = 1539, - STR_PEEP_THOUGHT_TYPE_COFFEE = 1540, + STR_PEEP_THOUGHT_TYPE_POPCORN = 1533, + STR_PEEP_THOUGHT_TYPE_HOT_DOG = 1534, + STR_PEEP_THOUGHT_TYPE_TENTACLE = 1535, + STR_PEEP_THOUGHT_TYPE_HAT = 1536, + STR_PEEP_THOUGHT_TYPE_CANDY_APPLE = 1537, + STR_PEEP_THOUGHT_TYPE_TSHIRT = 1538, + STR_PEEP_THOUGHT_TYPE_DONUT = 1539, + STR_PEEP_THOUGHT_TYPE_COFFEE = 1540, // STR_1541 : - STR_PEEP_THOUGHT_TYPE_CHICKEN = 1542, - STR_PEEP_THOUGHT_TYPE_LEMONADE = 1543, + STR_PEEP_THOUGHT_TYPE_CHICKEN = 1542, + STR_PEEP_THOUGHT_TYPE_LEMONADE = 1543, // STR_1544 : // STR_1545 : // STR_1546 : - STR_PEEP_THOUGHT_TYPE_WOW = 1547, // This string is empty! STR_1547 : + STR_PEEP_THOUGHT_TYPE_WOW = 1547, // This string is empty! STR_1547 : // STR_1548 : // STR_1549 : - STR_PEEP_THOUGHT_TYPE_WOW2 = 1550, - STR_PEEP_THOUGHT_TYPE_WATCHED = 1551, - STR_PEEP_THOUGHT_TYPE_BALLOON_MUCH = 1552, - STR_PEEP_THOUGHT_TYPE_TOY_MUCH = 1553, - STR_PEEP_THOUGHT_TYPE_MAP_MUCH = 1554, - STR_PEEP_THOUGHT_TYPE_PHOTO_MUCH = 1555, - STR_PEEP_THOUGHT_TYPE_UMBRELLA_MUCH = 1556, - STR_PEEP_THOUGHT_TYPE_DRINK_MUCH = 1557, - STR_PEEP_THOUGHT_TYPE_BURGER_MUCH = 1558, - STR_PEEP_THOUGHT_TYPE_CHIPS_MUCH = 1559, - STR_PEEP_THOUGHT_TYPE_ICE_CREAM_MUCH = 1560, - STR_PEEP_THOUGHT_TYPE_CANDYFLOSS_MUCH = 1561, + STR_PEEP_THOUGHT_TYPE_WOW2 = 1550, + STR_PEEP_THOUGHT_TYPE_WATCHED = 1551, + STR_PEEP_THOUGHT_TYPE_BALLOON_MUCH = 1552, + STR_PEEP_THOUGHT_TYPE_TOY_MUCH = 1553, + STR_PEEP_THOUGHT_TYPE_MAP_MUCH = 1554, + STR_PEEP_THOUGHT_TYPE_PHOTO_MUCH = 1555, + STR_PEEP_THOUGHT_TYPE_UMBRELLA_MUCH = 1556, + STR_PEEP_THOUGHT_TYPE_DRINK_MUCH = 1557, + STR_PEEP_THOUGHT_TYPE_BURGER_MUCH = 1558, + STR_PEEP_THOUGHT_TYPE_CHIPS_MUCH = 1559, + STR_PEEP_THOUGHT_TYPE_ICE_CREAM_MUCH = 1560, + STR_PEEP_THOUGHT_TYPE_CANDYFLOSS_MUCH = 1561, // STR_1562 : // STR_1563 : // STR_1564 : - STR_PEEP_THOUGHT_TYPE_PIZZA_MUCH = 1565, + STR_PEEP_THOUGHT_TYPE_PIZZA_MUCH = 1565, // STR_1566 : - STR_PEEP_THOUGHT_TYPE_POPCORN_MUCH = 1567, - STR_PEEP_THOUGHT_TYPE_HOT_DOG_MUCH = 1568, - STR_PEEP_THOUGHT_TYPE_TENTACLE_MUCH = 1569, - STR_PEEP_THOUGHT_TYPE_HAT_MUCH = 1570, - STR_PEEP_THOUGHT_TYPE_CANDY_APPLE_MUCH = 1571, - STR_PEEP_THOUGHT_TYPE_TSHIRT_MUCH = 1572, - STR_PEEP_THOUGHT_TYPE_DONUT_MUCH = 1573, - STR_PEEP_THOUGHT_TYPE_COFFEE_MUCH = 1574, + STR_PEEP_THOUGHT_TYPE_POPCORN_MUCH = 1567, + STR_PEEP_THOUGHT_TYPE_HOT_DOG_MUCH = 1568, + STR_PEEP_THOUGHT_TYPE_TENTACLE_MUCH = 1569, + STR_PEEP_THOUGHT_TYPE_HAT_MUCH = 1570, + STR_PEEP_THOUGHT_TYPE_CANDY_APPLE_MUCH = 1571, + STR_PEEP_THOUGHT_TYPE_TSHIRT_MUCH = 1572, + STR_PEEP_THOUGHT_TYPE_DONUT_MUCH = 1573, + STR_PEEP_THOUGHT_TYPE_COFFEE_MUCH = 1574, // STR_1575 : - STR_PEEP_THOUGHT_TYPE_CHICKEN_MUCH = 1576, - STR_PEEP_THOUGHT_TYPE_LEMONADE_MUCH = 1577, + STR_PEEP_THOUGHT_TYPE_CHICKEN_MUCH = 1576, + STR_PEEP_THOUGHT_TYPE_LEMONADE_MUCH = 1577, // STR_1578 : // STR_1579 : // STR_1580 : // STR_1581 : // STR_1582 : // STR_1583 : - STR_PEEP_THOUGHT_TYPE_PHOTO2 = 1584, - STR_PEEP_THOUGHT_TYPE_PHOTO3 = 1585, - STR_PEEP_THOUGHT_TYPE_PHOTO4 = 1586, - STR_PEEP_THOUGHT_TYPE_PRETZEL = 1587, - STR_PEEP_THOUGHT_TYPE_HOT_CHOCOLATE = 1588, - STR_PEEP_THOUGHT_TYPE_ICED_TEA = 1589, - STR_PEEP_THOUGHT_TYPE_FUNNEL_CAKE = 1590, - STR_PEEP_THOUGHT_TYPE_SUNGLASSES = 1591, - STR_PEEP_THOUGHT_TYPE_BEEF_NOODLES = 1592, - STR_PEEP_THOUGHT_TYPE_FRIED_RICE_NOODLES = 1593, - STR_PEEP_THOUGHT_TYPE_WONTON_SOUP = 1594, - STR_PEEP_THOUGHT_TYPE_MEATBALL_SOUP = 1595, - STR_PEEP_THOUGHT_TYPE_FRUIT_JUICE = 1596, - STR_PEEP_THOUGHT_TYPE_SOYBEAN_MILK = 1597, - STR_PEEP_THOUGHT_TYPE_SU_JONGKWA = 1598, - STR_PEEP_THOUGHT_TYPE_SUB_SANDWICH = 1599, - STR_PEEP_THOUGHT_TYPE_COOKIE = 1600, + STR_PEEP_THOUGHT_TYPE_PHOTO2 = 1584, + STR_PEEP_THOUGHT_TYPE_PHOTO3 = 1585, + STR_PEEP_THOUGHT_TYPE_PHOTO4 = 1586, + STR_PEEP_THOUGHT_TYPE_PRETZEL = 1587, + STR_PEEP_THOUGHT_TYPE_HOT_CHOCOLATE = 1588, + STR_PEEP_THOUGHT_TYPE_ICED_TEA = 1589, + STR_PEEP_THOUGHT_TYPE_FUNNEL_CAKE = 1590, + STR_PEEP_THOUGHT_TYPE_SUNGLASSES = 1591, + STR_PEEP_THOUGHT_TYPE_BEEF_NOODLES = 1592, + STR_PEEP_THOUGHT_TYPE_FRIED_RICE_NOODLES = 1593, + STR_PEEP_THOUGHT_TYPE_WONTON_SOUP = 1594, + STR_PEEP_THOUGHT_TYPE_MEATBALL_SOUP = 1595, + STR_PEEP_THOUGHT_TYPE_FRUIT_JUICE = 1596, + STR_PEEP_THOUGHT_TYPE_SOYBEAN_MILK = 1597, + STR_PEEP_THOUGHT_TYPE_SU_JONGKWA = 1598, + STR_PEEP_THOUGHT_TYPE_SUB_SANDWICH = 1599, + STR_PEEP_THOUGHT_TYPE_COOKIE = 1600, // STR_1601 : // STR_1602 : // STR_1603 : - STR_PEEP_THOUGHT_TYPE_ROAST_SAUSAGE = 1604, + STR_PEEP_THOUGHT_TYPE_ROAST_SAUSAGE = 1604, // STR_1605 : // STR_1606 : // STR_1607 : @@ -1051,27 +1051,27 @@ enum { // STR_1613 : // STR_1614 : // STR_1615 : - STR_PEEP_THOUGHT_TYPE_PHOTO2_MUCH = 1616, - STR_PEEP_THOUGHT_TYPE_PHOTO3_MUCH = 1617, - STR_PEEP_THOUGHT_TYPE_PHOTO4_MUCH = 1618, - STR_PEEP_THOUGHT_TYPE_PRETZEL_MUCH = 1619, - STR_PEEP_THOUGHT_TYPE_HOT_CHOCOLATE_MUCH = 1620, - STR_PEEP_THOUGHT_TYPE_ICED_TEA_MUCH = 1621, - STR_PEEP_THOUGHT_TYPE_FUNNEL_CAKE_MUCH = 1622, - STR_PEEP_THOUGHT_TYPE_SUNGLASSES_MUCH = 1623, - STR_PEEP_THOUGHT_TYPE_BEEF_NOODLES_MUCH = 1624, - STR_PEEP_THOUGHT_TYPE_FRIED_RICE_NOODLES_MUCH = 1625, - STR_PEEP_THOUGHT_TYPE_WONTON_SOUP_MUCH = 1626, - STR_PEEP_THOUGHT_TYPE_MEATBALL_SOUP_MUCH = 1627, - STR_PEEP_THOUGHT_TYPE_FRUIT_JUICE_MUCH = 1628, - STR_PEEP_THOUGHT_TYPE_SOYBEAN_MILK_MUCH = 1629, - STR_PEEP_THOUGHT_TYPE_SU_JONGKWA_MUCH = 1630, - STR_PEEP_THOUGHT_TYPE_SUB_SANDWICH_MUCH = 1631, - STR_PEEP_THOUGHT_TYPE_COOKIE_MUCH = 1632, + STR_PEEP_THOUGHT_TYPE_PHOTO2_MUCH = 1616, + STR_PEEP_THOUGHT_TYPE_PHOTO3_MUCH = 1617, + STR_PEEP_THOUGHT_TYPE_PHOTO4_MUCH = 1618, + STR_PEEP_THOUGHT_TYPE_PRETZEL_MUCH = 1619, + STR_PEEP_THOUGHT_TYPE_HOT_CHOCOLATE_MUCH = 1620, + STR_PEEP_THOUGHT_TYPE_ICED_TEA_MUCH = 1621, + STR_PEEP_THOUGHT_TYPE_FUNNEL_CAKE_MUCH = 1622, + STR_PEEP_THOUGHT_TYPE_SUNGLASSES_MUCH = 1623, + STR_PEEP_THOUGHT_TYPE_BEEF_NOODLES_MUCH = 1624, + STR_PEEP_THOUGHT_TYPE_FRIED_RICE_NOODLES_MUCH = 1625, + STR_PEEP_THOUGHT_TYPE_WONTON_SOUP_MUCH = 1626, + STR_PEEP_THOUGHT_TYPE_MEATBALL_SOUP_MUCH = 1627, + STR_PEEP_THOUGHT_TYPE_FRUIT_JUICE_MUCH = 1628, + STR_PEEP_THOUGHT_TYPE_SOYBEAN_MILK_MUCH = 1629, + STR_PEEP_THOUGHT_TYPE_SU_JONGKWA_MUCH = 1630, + STR_PEEP_THOUGHT_TYPE_SUB_SANDWICH_MUCH = 1631, + STR_PEEP_THOUGHT_TYPE_COOKIE_MUCH = 1632, // STR_1633 : // STR_1634 : // STR_1635 : - STR_PEEP_THOUGHT_TYPE_ROAST_SAUSAGE_MUCH = 1636, + STR_PEEP_THOUGHT_TYPE_ROAST_SAUSAGE_MUCH = 1636, // STR_1637 : // STR_1638 : // STR_1639 : @@ -1083,885 +1083,885 @@ enum { // STR_1645 : // STR_1646 : // STR_1647 : - STR_PEEP_THOUGHT_TYPE_HELP = 1648, - STR_PEEP_THOUGHT_TYPE_RUNNING_OUT = 1649, - STR_PEEP_THOUGHT_TYPE_NEW_RIDE = 1650, - STR_PEEP_THOUGHT_TYPE_NICE_RIDE_DEPRECATED = 1651, - STR_PEEP_THOUGHT_TYPE_EXCITED_DEPRECATED = 1652, - STR_PEEP_THOUGHT_TYPE_HERE_WE_ARE = 1653, - STR_GUEST_RECENT_THOUGHTS_LABEL = 1654, - STR_CONSTRUCT_FOOTPATH_ON_LAND_TIP = 1655, - STR_CONSTRUCT_BRIDGE_OR_TUNNEL_FOOTPATH_TIP = 1656, - STR_GUEST_STAT_PREFERRED_RIDE = 1657, - STR_GUEST_STAT_PREFERRED_INTESITY_BELOW = 1658, - STR_GUEST_STAT_PREFERRED_INTESITY_BETWEEN = 1659, - STR_GUEST_STAT_PREFERRED_INTESITY_ABOVE = 1660, - STR_GUEST_STAT_NAUSEA_TOLERANCE = 1661, - STR_GUEST_STAT_HAPPINESS_LABEL = 1662, - STR_GUEST_STAT_NAUSEA_LABEL = 1663, - STR_GUEST_STAT_ENERGY_LABEL = 1664, - STR_GUEST_STAT_HUNGER_LABEL = 1665, - STR_GUEST_STAT_THIRST_LABEL = 1666, - STR_GUEST_STAT_TOILET_LABEL = 1667, - STR_SATISFACTION_UNKNOWN = 1668, - STR_SATISFACTION_PERCENT = 1669, - STR_TOTAL_CUSTOMERS = 1670, - STR_TOTAL_PROFIT = 1671, - STR_BRAKES = 1672, - STR_SPINNING_CONTROL_TOGGLE_TRACK = 1673, - STR_RIDE_CONSTRUCTION_BRAKE_SPEED = 1674, - STR_RIDE_CONSTRUCTION_BRAKE_SPEED_VELOCITY = 1675, - STR_RIDE_CONSTRUCTION_BRAKE_SPEED_LIMIT_TIP = 1676, - STR_POPULARITY_UNKNOWN = 1677, - STR_POPULARITY_PERCENT = 1678, - STR_HELIX_UP_LEFT = 1679, - STR_HELIX_UP_RIGHT = 1680, - STR_HELIX_DOWN_LEFT = 1681, - STR_HELIX_DOWN_RIGHT = 1682, - STR_BASE_SIZE_2_X_2 = 1683, - STR_BASE_SIZE_4_X_4 = 1684, - STR_BASE_SIZE_2_X_4 = 1685, - STR_BASE_SIZE_5_X_1 = 1686, - STR_WATER_SPLASH = 1687, - STR_BASE_SIZE_4_X_1 = 1688, // Unused - STR_BLOCK_BRAKES = 1689, - STR_NEW_RIDE_NAME_AND_DESCRIPTION = 1690, - STR_NEW_RIDE_COST = 1691, - STR_NEW_RIDE_COST_FROM = 1692, - STR_GUESTS_TIP = 1693, - STR_STAFF_TIP = 1694, - STR_INCOME_AND_COSTS_TIP = 1695, - STR_CUSTOMER_INFORMATION_TIP = 1696, - STR_CANNOT_PLACE_THESE_ON_QUEUE_LINE_AREA = 1697, - STR_CAN_ONLY_PLACE_THESE_ON_QUEUE_AREA = 1698, - STR_TOO_MANY_PEOPLE_IN_GAME = 1699, - STR_HIRE_HANDYMAN = 1700, - STR_HIRE_MECHANIC = 1701, - STR_HIRE_SECURITY_GUARD = 1702, - STR_HIRE_ENTERTAINER = 1703, - STR_CANT_HIRE_NEW_STAFF = 1704, - STR_FIRE_STAFF_TIP = 1705, - STR_PICKUP_TIP = 1706, - STR_TOO_MANY_STAFF_IN_GAME = 1707, - STR_SET_PATROL_TIP = 1708, - STR_SACK_STAFF = 1709, - STR_YES = 1710, - STR_FIRE_STAFF_ID = 1711, - STR_STAFF_OPTION_SWEEP_FOOTPATHS = 1712, - STR_STAFF_OPTION_WATER_GARDENS = 1713, - STR_STAFF_OPTION_EMPTY_LITTER = 1714, - STR_STAFF_OPTION_MOW_GRASS = 1715, - STR_INVALID_NAME_FOR_PARK = 1716, - STR_CANT_RENAME_PARK = 1717, - STR_PARK_NAME = 1718, - STR_ENTER_PARK_NAME = 1719, - STR_NAME_PARK_TIP = 1720, - STR_PARK_CLOSED = 1721, - STR_PARK_OPEN = 1722, - STR_CANT_OPEN_PARK = 1723, - STR_CANT_CLOSE_PARK = 1724, - STR_CANT_BUY_LAND = 1725, - STR_LAND_NOT_FOR_SALE = 1726, - STR_CONSTRUCTION_RIGHTS_NOT_FOR_SALE = 1727, - STR_CANT_BUY_CONSTRUCTION_RIGHTS_HERE = 1728, - STR_LAND_NOT_OWNED_BY_PARK = 1729, - STR_BANNER_TEXT_CLOSED = 1730, - STR_BANNER_TEXT_FORMAT = 1731, - STR_RIDE_CONSTRUCTION_BUILD = 1732, - STR_RIDE_CONSTRUCTION_MODE = 1733, - STR_NUMBER_OF_LAPS = 1734, - STR_NUMBER_OF_LAPS_TIP = 1735, - STR_NUMBER_OF_LAPS_VALUE = 1736, + STR_PEEP_THOUGHT_TYPE_HELP = 1648, + STR_PEEP_THOUGHT_TYPE_RUNNING_OUT = 1649, + STR_PEEP_THOUGHT_TYPE_NEW_RIDE = 1650, + STR_PEEP_THOUGHT_TYPE_NICE_RIDE_DEPRECATED = 1651, + STR_PEEP_THOUGHT_TYPE_EXCITED_DEPRECATED = 1652, + STR_PEEP_THOUGHT_TYPE_HERE_WE_ARE = 1653, + STR_GUEST_RECENT_THOUGHTS_LABEL = 1654, + STR_CONSTRUCT_FOOTPATH_ON_LAND_TIP = 1655, + STR_CONSTRUCT_BRIDGE_OR_TUNNEL_FOOTPATH_TIP = 1656, + STR_GUEST_STAT_PREFERRED_RIDE = 1657, + STR_GUEST_STAT_PREFERRED_INTESITY_BELOW = 1658, + STR_GUEST_STAT_PREFERRED_INTESITY_BETWEEN = 1659, + STR_GUEST_STAT_PREFERRED_INTESITY_ABOVE = 1660, + STR_GUEST_STAT_NAUSEA_TOLERANCE = 1661, + STR_GUEST_STAT_HAPPINESS_LABEL = 1662, + STR_GUEST_STAT_NAUSEA_LABEL = 1663, + STR_GUEST_STAT_ENERGY_LABEL = 1664, + STR_GUEST_STAT_HUNGER_LABEL = 1665, + STR_GUEST_STAT_THIRST_LABEL = 1666, + STR_GUEST_STAT_TOILET_LABEL = 1667, + STR_SATISFACTION_UNKNOWN = 1668, + STR_SATISFACTION_PERCENT = 1669, + STR_TOTAL_CUSTOMERS = 1670, + STR_TOTAL_PROFIT = 1671, + STR_BRAKES = 1672, + STR_SPINNING_CONTROL_TOGGLE_TRACK = 1673, + STR_RIDE_CONSTRUCTION_BRAKE_SPEED = 1674, + STR_RIDE_CONSTRUCTION_BRAKE_SPEED_VELOCITY = 1675, + STR_RIDE_CONSTRUCTION_BRAKE_SPEED_LIMIT_TIP = 1676, + STR_POPULARITY_UNKNOWN = 1677, + STR_POPULARITY_PERCENT = 1678, + STR_HELIX_UP_LEFT = 1679, + STR_HELIX_UP_RIGHT = 1680, + STR_HELIX_DOWN_LEFT = 1681, + STR_HELIX_DOWN_RIGHT = 1682, + STR_BASE_SIZE_2_X_2 = 1683, + STR_BASE_SIZE_4_X_4 = 1684, + STR_BASE_SIZE_2_X_4 = 1685, + STR_BASE_SIZE_5_X_1 = 1686, + STR_WATER_SPLASH = 1687, + STR_BASE_SIZE_4_X_1 = 1688, // Unused + STR_BLOCK_BRAKES = 1689, + STR_NEW_RIDE_NAME_AND_DESCRIPTION = 1690, + STR_NEW_RIDE_COST = 1691, + STR_NEW_RIDE_COST_FROM = 1692, + STR_GUESTS_TIP = 1693, + STR_STAFF_TIP = 1694, + STR_INCOME_AND_COSTS_TIP = 1695, + STR_CUSTOMER_INFORMATION_TIP = 1696, + STR_CANNOT_PLACE_THESE_ON_QUEUE_LINE_AREA = 1697, + STR_CAN_ONLY_PLACE_THESE_ON_QUEUE_AREA = 1698, + STR_TOO_MANY_PEOPLE_IN_GAME = 1699, + STR_HIRE_HANDYMAN = 1700, + STR_HIRE_MECHANIC = 1701, + STR_HIRE_SECURITY_GUARD = 1702, + STR_HIRE_ENTERTAINER = 1703, + STR_CANT_HIRE_NEW_STAFF = 1704, + STR_FIRE_STAFF_TIP = 1705, + STR_PICKUP_TIP = 1706, + STR_TOO_MANY_STAFF_IN_GAME = 1707, + STR_SET_PATROL_TIP = 1708, + STR_SACK_STAFF = 1709, + STR_YES = 1710, + STR_FIRE_STAFF_ID = 1711, + STR_STAFF_OPTION_SWEEP_FOOTPATHS = 1712, + STR_STAFF_OPTION_WATER_GARDENS = 1713, + STR_STAFF_OPTION_EMPTY_LITTER = 1714, + STR_STAFF_OPTION_MOW_GRASS = 1715, + STR_INVALID_NAME_FOR_PARK = 1716, + STR_CANT_RENAME_PARK = 1717, + STR_PARK_NAME = 1718, + STR_ENTER_PARK_NAME = 1719, + STR_NAME_PARK_TIP = 1720, + STR_PARK_CLOSED = 1721, + STR_PARK_OPEN = 1722, + STR_CANT_OPEN_PARK = 1723, + STR_CANT_CLOSE_PARK = 1724, + STR_CANT_BUY_LAND = 1725, + STR_LAND_NOT_FOR_SALE = 1726, + STR_CONSTRUCTION_RIGHTS_NOT_FOR_SALE = 1727, + STR_CANT_BUY_CONSTRUCTION_RIGHTS_HERE = 1728, + STR_LAND_NOT_OWNED_BY_PARK = 1729, + STR_BANNER_TEXT_CLOSED = 1730, + STR_BANNER_TEXT_FORMAT = 1731, + STR_RIDE_CONSTRUCTION_BUILD = 1732, + STR_RIDE_CONSTRUCTION_MODE = 1733, + STR_NUMBER_OF_LAPS = 1734, + STR_NUMBER_OF_LAPS_TIP = 1735, + STR_NUMBER_OF_LAPS_VALUE = 1736, // STR_1737 :{COMMA16} - STR_CANT_CHANGE_NUMBER_OF_LAPS = 1738, - STR_RACE_WON_BY_GUEST = 1739, - STR_RACE_WON_BY = 1740, - STR_NOT_YET_CONSTRUCTED = 1741, - STR_MAX_PEOPLE_ON_RIDE = 1742, - STR_MAX_PEOPLE_ON_RIDE_TIP = 1743, - STR_MAX_PEOPLE_ON_RIDE_VALUE = 1744, + STR_CANT_CHANGE_NUMBER_OF_LAPS = 1738, + STR_RACE_WON_BY_GUEST = 1739, + STR_RACE_WON_BY = 1740, + STR_NOT_YET_CONSTRUCTED = 1741, + STR_MAX_PEOPLE_ON_RIDE = 1742, + STR_MAX_PEOPLE_ON_RIDE_TIP = 1743, + STR_MAX_PEOPLE_ON_RIDE_VALUE = 1744, // STR_1745 :{COMMA16} - STR_CANT_CHANGE_THIS = 1746, - STR_TIME_LIMIT = 1747, - STR_TIME_LIMIT_TIP = 1748, - STR_RIDE_MODE_TIME_LIMIT_VALUE = 1749, + STR_CANT_CHANGE_THIS = 1746, + STR_TIME_LIMIT = 1747, + STR_TIME_LIMIT_TIP = 1748, + STR_RIDE_MODE_TIME_LIMIT_VALUE = 1749, // STR_1750 :{DURATION} - STR_CANT_CHANGE_TIME_LIMIT = 1751, - STR_INDIVIDUAL_GUESTS_TIP = 1752, - STR_SUMMARISED_GUESTS_TIP = 1753, - STR_FORMAT_NUM_GUESTS_PLURAL = 1754, - STR_FORMAT_NUM_GUESTS_SINGULAR = 1755, - STR_ADMISSION_PRICE = 1756, - STR_RELIABILITY_LABEL_1757 = 1757, - STR_RIDE_CONSTRUCTION_BUILD_MODE = 1758, - STR_RIDE_CONSTRUCTION_MOVE_MODE = 1759, - STR_RIDE_CONSTRUCTION_FILL_IN_MODE = 1760, - STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP = 1761, - STR_WATERFALLS = 1762, - STR_RAPIDS = 1763, - STR_LOG_BUMPS = 1764, - STR_ON_RIDE_PHOTO_SECTION = 1765, - STR_REVERSER_TURNTABLE = 1766, - STR_SPINNING_TUNNEL = 1767, - STR_CANT_CHANGE_NUMBER_OF_SWINGS = 1768, - STR_NUMBER_OF_SWINGS = 1769, - STR_NUMBER_OF_SWINGS_TIP = 1770, - STR_RIDE_MODE_NUMBER_OF_SWINGS_VALUE = 1771, + STR_CANT_CHANGE_TIME_LIMIT = 1751, + STR_INDIVIDUAL_GUESTS_TIP = 1752, + STR_SUMMARISED_GUESTS_TIP = 1753, + STR_FORMAT_NUM_GUESTS_PLURAL = 1754, + STR_FORMAT_NUM_GUESTS_SINGULAR = 1755, + STR_ADMISSION_PRICE = 1756, + STR_RELIABILITY_LABEL_1757 = 1757, + STR_RIDE_CONSTRUCTION_BUILD_MODE = 1758, + STR_RIDE_CONSTRUCTION_MOVE_MODE = 1759, + STR_RIDE_CONSTRUCTION_FILL_IN_MODE = 1760, + STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP = 1761, + STR_WATERFALLS = 1762, + STR_RAPIDS = 1763, + STR_LOG_BUMPS = 1764, + STR_ON_RIDE_PHOTO_SECTION = 1765, + STR_REVERSER_TURNTABLE = 1766, + STR_SPINNING_TUNNEL = 1767, + STR_CANT_CHANGE_NUMBER_OF_SWINGS = 1768, + STR_NUMBER_OF_SWINGS = 1769, + STR_NUMBER_OF_SWINGS_TIP = 1770, + STR_RIDE_MODE_NUMBER_OF_SWINGS_VALUE = 1771, // STR_1772 :{COMMA16} - STR_ONLY_ONE_ON_RIDE_PHOTO_PER_RIDE = 1773, - STR_ONLY_ONE_CABLE_LIFT_HILL_PER_RIDE = 1774, - STR_OPTIONS_RIDE_MUSIC_OFF = 1775, - STR_OPTIONS_RIDE_MUSIC_ON = 1776, - STR_RIDE_MUSIC = 1777, - STR_SCROLLING_SIGN_TEXT = 1778, - STR_STAFF_OPTION_COSTUME_PANDA = 1779, - STR_STAFF_OPTION_COSTUME_TIGER = 1780, - STR_STAFF_OPTION_COSTUME_ELEPHANT = 1781, - STR_STAFF_OPTION_COSTUME_ROMAN = 1782, - STR_STAFF_OPTION_COSTUME_GORILLA = 1783, - STR_STAFF_OPTION_COSTUME_SNOWMAN = 1784, - STR_STAFF_OPTION_COSTUME_KNIGHT = 1785, - STR_STAFF_OPTION_COSTUME_ASTRONAUT = 1786, - STR_STAFF_OPTION_COSTUME_BANDIT = 1787, - STR_STAFF_OPTION_COSTUME_SHERIFF = 1788, - STR_STAFF_OPTION_COSTUME_PIRATE = 1789, - STR_UNIFORM_COLOUR_TIP = 1790, - STR_UNIFORM_COLOUR = 1791, - STR_RESPONDING_TO_RIDE_BREAKDOWN_CALL = 1792, - STR_HEADING_TO_RIDE_FOR_INSPECTION = 1793, - STR_FIXING_RIDE = 1794, - STR_ANSWERING_RADIO_CALL = 1795, - STR_HAS_BROKEN_DOWN_AND_REQUIRES_FIXING = 1796, + STR_ONLY_ONE_ON_RIDE_PHOTO_PER_RIDE = 1773, + STR_ONLY_ONE_CABLE_LIFT_HILL_PER_RIDE = 1774, + STR_OPTIONS_RIDE_MUSIC_OFF = 1775, + STR_OPTIONS_RIDE_MUSIC_ON = 1776, + STR_RIDE_MUSIC = 1777, + STR_SCROLLING_SIGN_TEXT = 1778, + STR_STAFF_OPTION_COSTUME_PANDA = 1779, + STR_STAFF_OPTION_COSTUME_TIGER = 1780, + STR_STAFF_OPTION_COSTUME_ELEPHANT = 1781, + STR_STAFF_OPTION_COSTUME_ROMAN = 1782, + STR_STAFF_OPTION_COSTUME_GORILLA = 1783, + STR_STAFF_OPTION_COSTUME_SNOWMAN = 1784, + STR_STAFF_OPTION_COSTUME_KNIGHT = 1785, + STR_STAFF_OPTION_COSTUME_ASTRONAUT = 1786, + STR_STAFF_OPTION_COSTUME_BANDIT = 1787, + STR_STAFF_OPTION_COSTUME_SHERIFF = 1788, + STR_STAFF_OPTION_COSTUME_PIRATE = 1789, + STR_UNIFORM_COLOUR_TIP = 1790, + STR_UNIFORM_COLOUR = 1791, + STR_RESPONDING_TO_RIDE_BREAKDOWN_CALL = 1792, + STR_HEADING_TO_RIDE_FOR_INSPECTION = 1793, + STR_FIXING_RIDE = 1794, + STR_ANSWERING_RADIO_CALL = 1795, + STR_HAS_BROKEN_DOWN_AND_REQUIRES_FIXING = 1796, // STR_1797 :This option cannot be changed for this ride - STR_WHIRLPOOL = 1798, - STR_RIDE_SECONDARY_PRICE_VALUE = 1799, - STR_RIDE_BREAKDOWN_SAFETY_CUT_OUT = 1800, - STR_RIDE_BREAKDOWN_RESTRAINTS_STUCK_CLOSED = 1801, - STR_RIDE_BREAKDOWN_RESTRAINTS_STUCK_OPEN = 1802, - STR_RIDE_BREAKDOWN_DOORS_STUCK_CLOSED = 1803, - STR_RIDE_BREAKDOWN_DOORS_STUCK_OPEN = 1804, - STR_RIDE_BREAKDOWN_VEHICLE_MALFUNCTION = 1805, - STR_RIDE_BREAKDOWN_BRAKES_FAILURE = 1806, - STR_RIDE_BREAKDOWN_CONTROL_FAILURE = 1807, - STR_LAST_BREAKDOWN = 1808, - STR_CURRENT_BREAKDOWN = 1809, - STR_CARRYING = 1810, - STR_CANT_BUILD_PARK_ENTRANCE_HERE = 1811, - STR_STRING_DEFINED_TOOLTIP = 1812, - STR_MISCELLANEOUS = 1813, - STR_ACTIONS = 1814, - STR_THOUGHTS = 1815, - STR_INFORMATION_TYPE_TIP = 1816, - STR_GUESTS_COUNT_COMMA_SEP = 1817, - STR_ALL_GUESTS = 1818, - STR_ALL_GUESTS_SUMMARISED = 1819, - STR_GUESTS_FILTER = 1820, - STR_GUESTS_FILTER_THINKING = 1821, - STR_GUESTS_FILTER_THINKING_ABOUT = 1822, - STR_SHOW_GUESTS_THOUGHTS_ABOUT_THIS_RIDE_ATTRACTION_TIP = 1823, - STR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION_TIP = 1824, - STR_SHOW_GUESTS_QUEUING_FOR_THIS_RIDE_ATTRACTION_TIP = 1825, - STR_STATUS = 1826, - STR_POPULARITY = 1827, - STR_SATISFACTION = 1828, - STR_PROFIT = 1829, - STR_QUEUE_LENGTH = 1830, - STR_QUEUE_TIME = 1831, - STR_RELIABILITY = 1832, - STR_DOWN_TIME = 1833, - STR_GUESTS_FAVOURITE = 1834, - STR_POPULARITY_UNKNOWN_LABEL = 1835, - STR_POPULARITY_LABEL = 1836, - STR_SATISFACTION_UNKNOWN_LABEL = 1837, - STR_SATISFACTION_LABEL = 1838, - STR_RELIABILITY_LABEL = 1839, - STR_DOWN_TIME_LABEL = 1840, - STR_PROFIT_LABEL = 1841, - STR_GUESTS_FAVOURITE_LABEL = 1842, - STR_GUESTS_FAVOURITE_PLURAL_LABEL = 1843, - STR_RIDE_LIST_INFORMATION_TYPE_TIP = 1844, + STR_WHIRLPOOL = 1798, + STR_RIDE_SECONDARY_PRICE_VALUE = 1799, + STR_RIDE_BREAKDOWN_SAFETY_CUT_OUT = 1800, + STR_RIDE_BREAKDOWN_RESTRAINTS_STUCK_CLOSED = 1801, + STR_RIDE_BREAKDOWN_RESTRAINTS_STUCK_OPEN = 1802, + STR_RIDE_BREAKDOWN_DOORS_STUCK_CLOSED = 1803, + STR_RIDE_BREAKDOWN_DOORS_STUCK_OPEN = 1804, + STR_RIDE_BREAKDOWN_VEHICLE_MALFUNCTION = 1805, + STR_RIDE_BREAKDOWN_BRAKES_FAILURE = 1806, + STR_RIDE_BREAKDOWN_CONTROL_FAILURE = 1807, + STR_LAST_BREAKDOWN = 1808, + STR_CURRENT_BREAKDOWN = 1809, + STR_CARRYING = 1810, + STR_CANT_BUILD_PARK_ENTRANCE_HERE = 1811, + STR_STRING_DEFINED_TOOLTIP = 1812, + STR_MISCELLANEOUS = 1813, + STR_ACTIONS = 1814, + STR_THOUGHTS = 1815, + STR_INFORMATION_TYPE_TIP = 1816, + STR_GUESTS_COUNT_COMMA_SEP = 1817, + STR_ALL_GUESTS = 1818, + STR_ALL_GUESTS_SUMMARISED = 1819, + STR_GUESTS_FILTER = 1820, + STR_GUESTS_FILTER_THINKING = 1821, + STR_GUESTS_FILTER_THINKING_ABOUT = 1822, + STR_SHOW_GUESTS_THOUGHTS_ABOUT_THIS_RIDE_ATTRACTION_TIP = 1823, + STR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION_TIP = 1824, + STR_SHOW_GUESTS_QUEUING_FOR_THIS_RIDE_ATTRACTION_TIP = 1825, + STR_STATUS = 1826, + STR_POPULARITY = 1827, + STR_SATISFACTION = 1828, + STR_PROFIT = 1829, + STR_QUEUE_LENGTH = 1830, + STR_QUEUE_TIME = 1831, + STR_RELIABILITY = 1832, + STR_DOWN_TIME = 1833, + STR_GUESTS_FAVOURITE = 1834, + STR_POPULARITY_UNKNOWN_LABEL = 1835, + STR_POPULARITY_LABEL = 1836, + STR_SATISFACTION_UNKNOWN_LABEL = 1837, + STR_SATISFACTION_LABEL = 1838, + STR_RELIABILITY_LABEL = 1839, + STR_DOWN_TIME_LABEL = 1840, + STR_PROFIT_LABEL = 1841, + STR_GUESTS_FAVOURITE_LABEL = 1842, + STR_GUESTS_FAVOURITE_PLURAL_LABEL = 1843, + STR_RIDE_LIST_INFORMATION_TYPE_TIP = 1844, // STR_1845 :{MONTHYEAR} // Used in window_game_bottom_toolbar_onpaint - STR_BOTTOM_TOOLBAR_NUM_GUESTS_STABLE = 1846, - STR_BOTTOM_TOOLBAR_NUM_GUESTS_DECREASE = 1847, - STR_BOTTOM_TOOLBAR_NUM_GUESTS_INCREASE = 1848, - STR_PLAY_MUSIC = 1849, - STR_SELECT_MUSIC_TIP = 1850, - STR_RUNNING_COST_PER_HOUR = 1851, - STR_RUNNING_COST_UNKNOWN = 1852, - STR_BUILT_THIS_YEAR = 1853, - STR_BUILT_LAST_YEAR = 1854, - STR_BUILT_YEARS_AGO = 1855, - STR_PROFIT_PER_ITEM_SOLD = 1856, - STR_LOSS_PER_ITEM_SOLD = 1857, - STR_COST_PER_MONTH = 1858, - STR_HANDYMAN_PLURAL = 1859, - STR_MECHANIC_PLURAL = 1860, - STR_SECURITY_GUARD_PLURAL = 1861, - STR_ENTERTAINER_PLURAL = 1862, - STR_HANDYMAN_SINGULAR = 1863, - STR_MECHANIC_SINGULAR = 1864, - STR_SECURITY_GUARD_SINGULAR = 1865, - STR_ENTERTAINER_SINGULAR = 1866, - STR_STAFF_LIST_COUNTER = 1867, - STR_CANT_CHANGE_NUMBER_OF_ROTATIONS = 1868, - STR_NUMBER_OF_ROTATIONS = 1869, - STR_NUMBER_OF_ROTATIONS_TIP = 1870, - STR_NUMBER_OF_ROTATIONS_VALUE = 1871, + STR_BOTTOM_TOOLBAR_NUM_GUESTS_STABLE = 1846, + STR_BOTTOM_TOOLBAR_NUM_GUESTS_DECREASE = 1847, + STR_BOTTOM_TOOLBAR_NUM_GUESTS_INCREASE = 1848, + STR_PLAY_MUSIC = 1849, + STR_SELECT_MUSIC_TIP = 1850, + STR_RUNNING_COST_PER_HOUR = 1851, + STR_RUNNING_COST_UNKNOWN = 1852, + STR_BUILT_THIS_YEAR = 1853, + STR_BUILT_LAST_YEAR = 1854, + STR_BUILT_YEARS_AGO = 1855, + STR_PROFIT_PER_ITEM_SOLD = 1856, + STR_LOSS_PER_ITEM_SOLD = 1857, + STR_COST_PER_MONTH = 1858, + STR_HANDYMAN_PLURAL = 1859, + STR_MECHANIC_PLURAL = 1860, + STR_SECURITY_GUARD_PLURAL = 1861, + STR_ENTERTAINER_PLURAL = 1862, + STR_HANDYMAN_SINGULAR = 1863, + STR_MECHANIC_SINGULAR = 1864, + STR_SECURITY_GUARD_SINGULAR = 1865, + STR_ENTERTAINER_SINGULAR = 1866, + STR_STAFF_LIST_COUNTER = 1867, + STR_CANT_CHANGE_NUMBER_OF_ROTATIONS = 1868, + STR_NUMBER_OF_ROTATIONS = 1869, + STR_NUMBER_OF_ROTATIONS_TIP = 1870, + STR_NUMBER_OF_ROTATIONS_VALUE = 1871, // STR_1872 :{COMMA16} - STR_INCOME_PER_HOUR = 1873, - STR_PROFIT_PER_HOUR = 1874, - STR_GUEST_ITEM_FORMAT = 1875, - STR_INSPECT_RIDES = 1876, - STR_FIX_RIDES = 1877, - STR_INSPECTION = 1878, - STR_EVERY_10_MINUTES = 1879, - STR_EVERY_20_MINUTES = 1880, - STR_EVERY_30_MINUTES = 1881, - STR_EVERY_45_MINUTES = 1882, - STR_EVERY_HOUR = 1883, - STR_EVERY_2_HOURS = 1884, - STR_NEVER = 1885, - STR_INSPECTING_RIDE = 1886, - STR_TIME_SINCE_LAST_INSPECTION_MINUTES = 1887, - STR_TIME_SINCE_LAST_INSPECTION_MORE_THAN_4_HOURS = 1888, - STR_DOWN_TIME_LABEL_1889 = 1889, - STR_SELECT_HOW_OFTEN_A_MECHANIC_SHOULD_CHECK_THIS_RIDE = 1890, - STR_NO_THING_IN_PARK_YET = 1891, + STR_INCOME_PER_HOUR = 1873, + STR_PROFIT_PER_HOUR = 1874, + STR_GUEST_ITEM_FORMAT = 1875, + STR_INSPECT_RIDES = 1876, + STR_FIX_RIDES = 1877, + STR_INSPECTION = 1878, + STR_EVERY_10_MINUTES = 1879, + STR_EVERY_20_MINUTES = 1880, + STR_EVERY_30_MINUTES = 1881, + STR_EVERY_45_MINUTES = 1882, + STR_EVERY_HOUR = 1883, + STR_EVERY_2_HOURS = 1884, + STR_NEVER = 1885, + STR_INSPECTING_RIDE = 1886, + STR_TIME_SINCE_LAST_INSPECTION_MINUTES = 1887, + STR_TIME_SINCE_LAST_INSPECTION_MORE_THAN_4_HOURS = 1888, + STR_DOWN_TIME_LABEL_1889 = 1889, + STR_SELECT_HOW_OFTEN_A_MECHANIC_SHOULD_CHECK_THIS_RIDE = 1890, + STR_NO_THING_IN_PARK_YET = 1891, // STR_1892 : // STR_1893 : - STR_ITEMS_SOLD = 1894, - STR_BUILD_RIDE_TIP = 1895, - STR_FINANCES_SUMMARY_EXPENDITURE_INCOME = 1896, - STR_FINANCES_SUMMARY_RIDE_CONSTRUCTION = 1897, - STR_FINANCES_SUMMARY_RIDE_RUNNING_COSTS = 1898, - STR_FINANCES_SUMMARY_LAND_PURCHASE = 1899, - STR_FINANCES_SUMMARY_LANDSCAPING = 1900, - STR_FINANCES_SUMMARY_PARK_ENTRANCE_TICKETS = 1901, - STR_FINANCES_SUMMARY_RIDE_TICKETS = 1902, - STR_FINANCES_SUMMARY_SHOP_SALES = 1903, - STR_FINANCES_SUMMARY_SHOP_STOCK = 1904, - STR_FINANCES_SUMMARY_FOOD_DRINK_SALES = 1905, - STR_FINANCES_SUMMARY_FOOD_DRINK_STOCK = 1906, - STR_FINANCES_SUMMARY_STAFF_WAGES = 1907, - STR_FINANCES_SUMMARY_MARKETING = 1908, - STR_FINANCES_SUMMARY_RESEARCH = 1909, - STR_FINANCES_SUMMARY_LOAN_INTEREST = 1910, - STR_FINANCES_SUMMARY_AT_X_PER_YEAR = 1911, - STR_FINANCES_SUMMARY_MONTH_HEADING = 1912, - STR_FINANCES_SUMMARY_INCOME_VALUE = 1913, - STR_FINANCES_SUMMARY_EXPENDITURE_VALUE = 1914, - STR_FINANCES_SUMMARY_LOSS_VALUE = 1915, - STR_FINANCES_SUMMARY_LOAN = 1916, - STR_FINANCES_SUMMARY_LOAN_VALUE = 1917, - STR_CANT_BORROW_ANY_MORE_MONEY = 1918, - STR_NOT_ENOUGH_CASH_AVAILABLE = 1919, - STR_CANT_PAY_BACK_LOAN = 1920, - STR_START_NEW_GAME_TIP = 1921, - STR_CONTINUE_SAVED_GAME_TIP = 1922, - STR_SHOW_TUTORIAL_TIP = 1923, - STR_EXIT = 1924, - STR_ERR_CANT_PLACE_PERSON_HERE = 1925, + STR_ITEMS_SOLD = 1894, + STR_BUILD_RIDE_TIP = 1895, + STR_FINANCES_SUMMARY_EXPENDITURE_INCOME = 1896, + STR_FINANCES_SUMMARY_RIDE_CONSTRUCTION = 1897, + STR_FINANCES_SUMMARY_RIDE_RUNNING_COSTS = 1898, + STR_FINANCES_SUMMARY_LAND_PURCHASE = 1899, + STR_FINANCES_SUMMARY_LANDSCAPING = 1900, + STR_FINANCES_SUMMARY_PARK_ENTRANCE_TICKETS = 1901, + STR_FINANCES_SUMMARY_RIDE_TICKETS = 1902, + STR_FINANCES_SUMMARY_SHOP_SALES = 1903, + STR_FINANCES_SUMMARY_SHOP_STOCK = 1904, + STR_FINANCES_SUMMARY_FOOD_DRINK_SALES = 1905, + STR_FINANCES_SUMMARY_FOOD_DRINK_STOCK = 1906, + STR_FINANCES_SUMMARY_STAFF_WAGES = 1907, + STR_FINANCES_SUMMARY_MARKETING = 1908, + STR_FINANCES_SUMMARY_RESEARCH = 1909, + STR_FINANCES_SUMMARY_LOAN_INTEREST = 1910, + STR_FINANCES_SUMMARY_AT_X_PER_YEAR = 1911, + STR_FINANCES_SUMMARY_MONTH_HEADING = 1912, + STR_FINANCES_SUMMARY_INCOME_VALUE = 1913, + STR_FINANCES_SUMMARY_EXPENDITURE_VALUE = 1914, + STR_FINANCES_SUMMARY_LOSS_VALUE = 1915, + STR_FINANCES_SUMMARY_LOAN = 1916, + STR_FINANCES_SUMMARY_LOAN_VALUE = 1917, + STR_CANT_BORROW_ANY_MORE_MONEY = 1918, + STR_NOT_ENOUGH_CASH_AVAILABLE = 1919, + STR_CANT_PAY_BACK_LOAN = 1920, + STR_START_NEW_GAME_TIP = 1921, + STR_CONTINUE_SAVED_GAME_TIP = 1922, + STR_SHOW_TUTORIAL_TIP = 1923, + STR_EXIT = 1924, + STR_ERR_CANT_PLACE_PERSON_HERE = 1925, // STR_1926 :{SMALLFONT} // Used in window_game_bottom_toolbar_onpaint and window_news_onscrollpaint - STR_RIDE_IS_BROKEN_DOWN = 1927, - STR_RIDE_HAS_CRASHED = 1928, - STR_RIDE_IS_STILL_NOT_FIXED = 1929, - STR_TOGGLE_GUEST_TRACKING_TIP = 1930, - STR_PEEP_TRACKING_PEEP_JOINED_QUEUE_FOR_X = 1931, - STR_PEEP_TRACKING_PEEP_IS_ON_X = 1932, - STR_PEEP_TRACKING_PEEP_IS_IN_X = 1933, - STR_PEEP_TRACKING_LEFT_RIDE_X = 1934, - STR_PEEP_TRACKING_LEFT_PARK = 1935, - STR_PEEP_TRACKING_NOTIFICATION_BOUGHT_X = 1936, - STR_SHOW_SUBJECT_TIP = 1937, - STR_SHOW_GUEST_VIEW_TIP = 1938, - STR_STAFF_OVERVIEW_TIP = 1939, - STR_SHOW_GUEST_NEEDS_TIP = 1940, - STR_SHOW_GUEST_VISITED_RIDES_TIP = 1941, - STR_SHOW_GUEST_FINANCE_TIP = 1942, - STR_SHOW_GUEST_THOUGHTS_TIP = 1943, - STR_SHOW_GUEST_ITEMS_TIP = 1944, - STR_STAFF_OPTIONS_TIP = 1945, - STR_SELECT_COSTUME_TIP = 1946, - STR_SHOW_PATROL_AREA_TIP = 1947, - STR_HIRE_STAFF_TIP = 1948, - STR_FINANCIAL_SUMMARY = 1949, - STR_FINANCIAL_GRAPH = 1950, - STR_PARK_VALUE_GRAPH = 1951, - STR_PROFIT_GRAPH = 1952, - STR_MARKETING = 1953, - STR_RESEARCH_FUNDING = 1954, - STR_NUMBER_OF_CIRCUITS = 1955, - STR_NUMBER_OF_CIRCUITS_TIP = 1956, - STR_NUMBER_OF_CIRCUITS_VALUE = 1957, + STR_RIDE_IS_BROKEN_DOWN = 1927, + STR_RIDE_HAS_CRASHED = 1928, + STR_RIDE_IS_STILL_NOT_FIXED = 1929, + STR_TOGGLE_GUEST_TRACKING_TIP = 1930, + STR_PEEP_TRACKING_PEEP_JOINED_QUEUE_FOR_X = 1931, + STR_PEEP_TRACKING_PEEP_IS_ON_X = 1932, + STR_PEEP_TRACKING_PEEP_IS_IN_X = 1933, + STR_PEEP_TRACKING_LEFT_RIDE_X = 1934, + STR_PEEP_TRACKING_LEFT_PARK = 1935, + STR_PEEP_TRACKING_NOTIFICATION_BOUGHT_X = 1936, + STR_SHOW_SUBJECT_TIP = 1937, + STR_SHOW_GUEST_VIEW_TIP = 1938, + STR_STAFF_OVERVIEW_TIP = 1939, + STR_SHOW_GUEST_NEEDS_TIP = 1940, + STR_SHOW_GUEST_VISITED_RIDES_TIP = 1941, + STR_SHOW_GUEST_FINANCE_TIP = 1942, + STR_SHOW_GUEST_THOUGHTS_TIP = 1943, + STR_SHOW_GUEST_ITEMS_TIP = 1944, + STR_STAFF_OPTIONS_TIP = 1945, + STR_SELECT_COSTUME_TIP = 1946, + STR_SHOW_PATROL_AREA_TIP = 1947, + STR_HIRE_STAFF_TIP = 1948, + STR_FINANCIAL_SUMMARY = 1949, + STR_FINANCIAL_GRAPH = 1950, + STR_PARK_VALUE_GRAPH = 1951, + STR_PROFIT_GRAPH = 1952, + STR_MARKETING = 1953, + STR_RESEARCH_FUNDING = 1954, + STR_NUMBER_OF_CIRCUITS = 1955, + STR_NUMBER_OF_CIRCUITS_TIP = 1956, + STR_NUMBER_OF_CIRCUITS_VALUE = 1957, // STR_1958 :{COMMA16} // STR_1959 :Can't change number of circuits... - STR_SHOP_ITEM_PRICE_LABEL_BALLOON = 1960, - STR_SHOP_ITEM_PRICE_LABEL_CUDDLY_TOY = 1961, - STR_SHOP_ITEM_PRICE_LABEL_PARK_MAP = 1962, - STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO = 1963, - STR_SHOP_ITEM_PRICE_LABEL_UMBRELLA = 1964, - STR_SHOP_ITEM_PRICE_LABEL_DRINK = 1965, - STR_SHOP_ITEM_PRICE_LABEL_BURGER = 1966, - STR_SHOP_ITEM_PRICE_LABEL_CHIPS = 1967, - STR_SHOP_ITEM_PRICE_LABEL_ICE_CREAM = 1968, - STR_SHOP_ITEM_PRICE_LABEL_CANDYFLOSS = 1969, - STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CAN = 1970, // Empty - STR_SHOP_ITEM_PRICE_LABEL_RUBBISH = 1971, // Empty - STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BURGER_BOX = 1972, // Empty - STR_SHOP_ITEM_PRICE_LABEL_PIZZA = 1973, - STR_SHOP_ITEM_PRICE_LABEL_VOUCHER = 1974, // Empty - STR_SHOP_ITEM_PRICE_LABEL_POPCORN = 1975, - STR_SHOP_ITEM_PRICE_LABEL_HOT_DOG = 1976, - STR_SHOP_ITEM_PRICE_LABEL_TENTACLE = 1977, - STR_SHOP_ITEM_PRICE_LABEL_HAT = 1978, - STR_SHOP_ITEM_PRICE_LABEL_TOFFEE_APPLE = 1979, - STR_SHOP_ITEM_PRICE_LABEL_T_SHIRT = 1980, - STR_SHOP_ITEM_PRICE_LABEL_DOUGHNUT = 1981, - STR_SHOP_ITEM_PRICE_LABEL_COFFEE = 1982, - STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CUP = 1983, // Empty - STR_SHOP_ITEM_PRICE_LABEL_FRIED_CHICKEN = 1984, - STR_SHOP_ITEM_PRICE_LABEL_LEMONADE = 1985, - STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOX = 1986, // Empty - STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOTTLE = 1987, // Empty - STR_SHOP_ITEM_SINGULAR_BALLOON = 1988, - STR_SHOP_ITEM_SINGULAR_CUDDLY_TOY = 1989, - STR_SHOP_ITEM_SINGULAR_PARK_MAP = 1990, - STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO = 1991, - STR_SHOP_ITEM_SINGULAR_UMBRELLA = 1992, - STR_SHOP_ITEM_SINGULAR_DRINK = 1993, - STR_SHOP_ITEM_SINGULAR_BURGER = 1994, - STR_SHOP_ITEM_SINGULAR_CHIPS = 1995, - STR_SHOP_ITEM_SINGULAR_ICE_CREAM = 1996, - STR_SHOP_ITEM_SINGULAR_CANDYFLOSS = 1997, - STR_SHOP_ITEM_SINGULAR_EMPTY_CAN = 1998, - STR_SHOP_ITEM_SINGULAR_RUBBISH = 1999, - STR_SHOP_ITEM_SINGULAR_EMPTY_BURGER_BOX = 2000, - STR_SHOP_ITEM_SINGULAR_PIZZA = 2001, - STR_SHOP_ITEM_SINGULAR_VOUCHER = 2002, - STR_SHOP_ITEM_SINGULAR_POPCORN = 2003, - STR_SHOP_ITEM_SINGULAR_HOT_DOG = 2004, - STR_SHOP_ITEM_SINGULAR_TENTACLE = 2005, - STR_SHOP_ITEM_SINGULAR_HAT = 2006, - STR_SHOP_ITEM_SINGULAR_TOFFEE_APPLE = 2007, - STR_SHOP_ITEM_SINGULAR_T_SHIRT = 2008, - STR_SHOP_ITEM_SINGULAR_DOUGHNUT = 2009, - STR_SHOP_ITEM_SINGULAR_COFFEE = 2010, - STR_SHOP_ITEM_SINGULAR_EMPTY_CUP = 2011, - STR_SHOP_ITEM_SINGULAR_FRIED_CHICKEN = 2012, - STR_SHOP_ITEM_SINGULAR_LEMONADE = 2013, - STR_SHOP_ITEM_SINGULAR_EMPTY_BOX = 2014, - STR_SHOP_ITEM_SINGULAR_EMPTY_BOTTLE = 2015, - STR_SHOP_ITEM_PLURAL_BALLOON = 2016, - STR_SHOP_ITEM_PLURAL_CUDDLY_TOY = 2017, - STR_SHOP_ITEM_PLURAL_PARK_MAP = 2018, - STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO = 2019, - STR_SHOP_ITEM_PLURAL_UMBRELLA = 2020, - STR_SHOP_ITEM_PLURAL_DRINK = 2021, - STR_SHOP_ITEM_PLURAL_BURGER = 2022, - STR_SHOP_ITEM_PLURAL_CHIPS = 2023, - STR_SHOP_ITEM_PLURAL_ICE_CREAM = 2024, - STR_SHOP_ITEM_PLURAL_CANDYFLOSS = 2025, - STR_SHOP_ITEM_PLURAL_EMPTY_CAN = 2026, - STR_SHOP_ITEM_PLURAL_RUBBISH = 2027, - STR_SHOP_ITEM_PLURAL_EMPTY_BURGER_BOX = 2028, - STR_SHOP_ITEM_PLURAL_PIZZA = 2029, - STR_SHOP_ITEM_PLURAL_VOUCHER = 2030, - STR_SHOP_ITEM_PLURAL_POPCORN = 2031, - STR_SHOP_ITEM_PLURAL_HOT_DOG = 2032, - STR_SHOP_ITEM_PLURAL_TENTACLE = 2033, - STR_SHOP_ITEM_PLURAL_HAT = 2034, - STR_SHOP_ITEM_PLURAL_TOFFEE_APPLE = 2035, - STR_SHOP_ITEM_PLURAL_T_SHIRT = 2036, - STR_SHOP_ITEM_PLURAL_DOUGHNUT = 2037, - STR_SHOP_ITEM_PLURAL_COFFEE = 2038, - STR_SHOP_ITEM_PLURAL_EMPTY_CUP = 2039, - STR_SHOP_ITEM_PLURAL_FRIED_CHICKEN = 2040, - STR_SHOP_ITEM_PLURAL_LEMONADE = 2041, - STR_SHOP_ITEM_PLURAL_EMPTY_BOX = 2042, - STR_SHOP_ITEM_PLURAL_EMPTY_BOTTLE = 2043, - STR_SHOP_ITEM_INDEFINITE_BALLOON = 2044, - STR_SHOP_ITEM_INDEFINITE_CUDDLY_TOY = 2045, - STR_SHOP_ITEM_INDEFINITE_PARK_MAP = 2046, - STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO = 2047, - STR_SHOP_ITEM_INDEFINITE_UMBRELLA = 2048, - STR_SHOP_ITEM_INDEFINITE_DRINK = 2049, - STR_SHOP_ITEM_INDEFINITE_BURGER = 2050, - STR_SHOP_ITEM_INDEFINITE_CHIPS = 2051, - STR_SHOP_ITEM_INDEFINITE_ICE_CREAM = 2052, - STR_SHOP_ITEM_INDEFINITE_CANDYFLOSS = 2053, - STR_SHOP_ITEM_INDEFINITE_EMPTY_CAN = 2054, - STR_SHOP_ITEM_INDEFINITE_RUBBISH = 2055, - STR_SHOP_ITEM_INDEFINITE_EMPTY_BURGER_BOX = 2056, - STR_SHOP_ITEM_INDEFINITE_PIZZA = 2057, - STR_SHOP_ITEM_INDEFINITE_VOUCHER = 2058, - STR_SHOP_ITEM_INDEFINITE_POPCORN = 2059, - STR_SHOP_ITEM_INDEFINITE_HOT_DOG = 2060, - STR_SHOP_ITEM_INDEFINITE_TENTACLE = 2061, - STR_SHOP_ITEM_INDEFINITE_HAT = 2062, - STR_SHOP_ITEM_INDEFINITE_TOFFEE_APPLE = 2063, - STR_SHOP_ITEM_INDEFINITE_T_SHIRT = 2064, - STR_SHOP_ITEM_INDEFINITE_DOUGHNUT = 2065, - STR_SHOP_ITEM_INDEFINITE_COFFEE = 2066, - STR_SHOP_ITEM_INDEFINITE_EMPTY_CUP = 2067, - STR_SHOP_ITEM_INDEFINITE_FRIED_CHICKEN = 2068, - STR_SHOP_ITEM_INDEFINITE_LEMONADE = 2069, - STR_SHOP_ITEM_INDEFINITE_EMPTY_BOX = 2070, - STR_SHOP_ITEM_INDEFINITE_EMPTY_BOTTLE = 2071, - STR_SHOP_ITEM_DISPLAY_BALLOON = 2072, - STR_SHOP_ITEM_DISPLAY_CUDDLY_TOY = 2073, - STR_SHOP_ITEM_DISPLAY_PARK_MAP = 2074, - STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO = 2075, - STR_SHOP_ITEM_DISPLAY_UMBRELLA = 2076, - STR_SHOP_ITEM_DISPLAY_DRINK = 2077, - STR_SHOP_ITEM_DISPLAY_BURGER = 2078, - STR_SHOP_ITEM_DISPLAY_CHIPS = 2079, - STR_SHOP_ITEM_DISPLAY_ICE_CREAM = 2080, - STR_SHOP_ITEM_DISPLAY_CANDYFLOSS = 2081, - STR_SHOP_ITEM_DISPLAY_EMPTY_CAN = 2082, - STR_SHOP_ITEM_DISPLAY_RUBBISH = 2083, - STR_SHOP_ITEM_DISPLAY_EMPTY_BURGER_BOX = 2084, - STR_SHOP_ITEM_DISPLAY_PIZZA = 2085, - STR_SHOP_ITEM_DISPLAY_VOUCHER = 2086, - STR_SHOP_ITEM_DISPLAY_POPCORN = 2087, - STR_SHOP_ITEM_DISPLAY_HOT_DOG = 2088, - STR_SHOP_ITEM_DISPLAY_TENTACLE = 2089, - STR_SHOP_ITEM_DISPLAY_HAT = 2090, - STR_SHOP_ITEM_DISPLAY_TOFFEE_APPLE = 2091, - STR_SHOP_ITEM_DISPLAY_T_SHIRT = 2092, - STR_SHOP_ITEM_DISPLAY_DOUGHNUT = 2093, - STR_SHOP_ITEM_DISPLAY_COFFEE = 2094, - STR_SHOP_ITEM_DISPLAY_EMPTY_CUP = 2095, - STR_SHOP_ITEM_DISPLAY_FRIED_CHICKEN = 2096, - STR_SHOP_ITEM_DISPLAY_LEMONADE = 2097, - STR_SHOP_ITEM_DISPLAY_EMPTY_BOX = 2098, - STR_SHOP_ITEM_DISPLAY_EMPTY_BOTTLE = 2099, - STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO2 = 2100, // Unused - STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO3 = 2101, // Unused - STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO4 = 2102, // Unused - STR_SHOP_ITEM_PRICE_LABEL_PRETZEL = 2103, - STR_SHOP_ITEM_PRICE_LABEL_HOT_CHOCOLATE = 2104, - STR_SHOP_ITEM_PRICE_LABEL_ICED_TEA = 2105, - STR_SHOP_ITEM_PRICE_LABEL_FUNNEL_CAKE = 2106, - STR_SHOP_ITEM_PRICE_LABEL_SUNGLASSES = 2107, - STR_SHOP_ITEM_PRICE_LABEL_BEEF_NOODLES = 2108, - STR_SHOP_ITEM_PRICE_LABEL_FRIED_RICE_NOODLES = 2109, - STR_SHOP_ITEM_PRICE_LABEL_WONTON_SOUP = 2110, - STR_SHOP_ITEM_PRICE_LABEL_MEATBALL_SOUP = 2111, - STR_SHOP_ITEM_PRICE_LABEL_FRUIT_JUICE = 2112, - STR_SHOP_ITEM_PRICE_LABEL_SOYBEAN_MILK = 2113, - STR_SHOP_ITEM_PRICE_LABEL_SUJONGKWA = 2114, - STR_SHOP_ITEM_PRICE_LABEL_SUB_SANDWICH = 2115, - STR_SHOP_ITEM_PRICE_LABEL_COOKIE = 2116, - STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_RED = 2117, // Empty - STR_SHOP_ITEM_PRICE_LABEL_EMPTY_DRINK_CARTON = 2118, // Empty - STR_SHOP_ITEM_PRICE_LABEL_EMPTY_JUICE_CUP = 2119, // Empty - STR_SHOP_ITEM_PRICE_LABEL_ROAST_SAUSAGE = 2120, - STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_BLUE = 2121, // Empty - STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO2 = 2122, // Unused - STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO3 = 2123, // Unused - STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO4 = 2124, // Unused - STR_SHOP_ITEM_SINGULAR_PRETZEL = 2125, - STR_SHOP_ITEM_SINGULAR_HOT_CHOCOLATE = 2126, - STR_SHOP_ITEM_SINGULAR_ICED_TEA = 2127, - STR_SHOP_ITEM_SINGULAR_FUNNEL_CAKE = 2128, - STR_SHOP_ITEM_SINGULAR_SUNGLASSES = 2129, - STR_SHOP_ITEM_SINGULAR_BEEF_NOODLES = 2130, - STR_SHOP_ITEM_SINGULAR_FRIED_RICE_NOODLES = 2131, - STR_SHOP_ITEM_SINGULAR_WONTON_SOUP = 2132, - STR_SHOP_ITEM_SINGULAR_MEATBALL_SOUP = 2133, - STR_SHOP_ITEM_SINGULAR_FRUIT_JUICE = 2134, - STR_SHOP_ITEM_SINGULAR_SOYBEAN_MILK = 2135, - STR_SHOP_ITEM_SINGULAR_SUJONGKWA = 2136, - STR_SHOP_ITEM_SINGULAR_SUB_SANDWICH = 2137, - STR_SHOP_ITEM_SINGULAR_COOKIE = 2138, - STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_RED = 2139, - STR_SHOP_ITEM_SINGULAR_EMPTY_DRINK_CARTON = 2140, - STR_SHOP_ITEM_SINGULAR_EMPTY_JUICE_CUP = 2141, - STR_SHOP_ITEM_SINGULAR_ROAST_SAUSAGE = 2142, - STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE = 2143, - STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO2 = 2144, // Unused - STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO3 = 2145, // Unused - STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO4 = 2146, // Unused - STR_SHOP_ITEM_PLURAL_PRETZEL = 2147, - STR_SHOP_ITEM_PLURAL_HOT_CHOCOLATE = 2148, - STR_SHOP_ITEM_PLURAL_ICED_TEA = 2149, - STR_SHOP_ITEM_PLURAL_FUNNEL_CAKE = 2150, - STR_SHOP_ITEM_PLURAL_SUNGLASSES = 2151, - STR_SHOP_ITEM_PLURAL_BEEF_NOODLES = 2152, - STR_SHOP_ITEM_PLURAL_FRIED_RICE_NOODLES = 2153, - STR_SHOP_ITEM_PLURAL_WONTON_SOUP = 2154, - STR_SHOP_ITEM_PLURAL_MEATBALL_SOUP = 2155, - STR_SHOP_ITEM_PLURAL_FRUIT_JUICE = 2156, - STR_SHOP_ITEM_PLURAL_SOYBEAN_MILK = 2157, - STR_SHOP_ITEM_PLURAL_SUJONGKWA = 2158, - STR_SHOP_ITEM_PLURAL_SUB_SANDWICH = 2159, - STR_SHOP_ITEM_PLURAL_COOKIE = 2160, - STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_RED = 2161, - STR_SHOP_ITEM_PLURAL_EMPTY_DRINK_CARTON = 2162, - STR_SHOP_ITEM_PLURAL_EMPTY_JUICE_CUP = 2163, - STR_SHOP_ITEM_PLURAL_ROAST_SAUSAGE = 2164, - STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_BLUE = 2165, - STR_SHOP_ITEM_INDEFINITE_PHOTO2 = 2166, // Unused - STR_SHOP_ITEM_INDEFINITE_PHOTO3 = 2167, // Unused - STR_SHOP_ITEM_INDEFINITE_PHOTO4 = 2168, // Unused - STR_SHOP_ITEM_INDEFINITE_PRETZEL = 2169, - STR_SHOP_ITEM_INDEFINITE_HOT_CHOCOLATE = 2170, - STR_SHOP_ITEM_INDEFINITE_ICED_TEA = 2171, - STR_SHOP_ITEM_INDEFINITE_FUNNEL_CAKE = 2172, - STR_SHOP_ITEM_INDEFINITE_SUNGLASSES = 2173, - STR_SHOP_ITEM_INDEFINITE_BEEF_NOODLES = 2174, - STR_SHOP_ITEM_INDEFINITE_FRIED_RICE_NOODLES = 2175, - STR_SHOP_ITEM_INDEFINITE_WONTON_SOUP = 2176, - STR_SHOP_ITEM_INDEFINITE_MEATBALL_SOUP = 2177, - STR_SHOP_ITEM_INDEFINITE_FRUIT_JUICE = 2178, - STR_SHOP_ITEM_INDEFINITE_SOYBEAN_MILK = 2179, - STR_SHOP_ITEM_INDEFINITE_SUJONGKWA = 2180, - STR_SHOP_ITEM_INDEFINITE_SUB_SANDWICH = 2181, - STR_SHOP_ITEM_INDEFINITE_COOKIE = 2182, - STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_RED = 2183, - STR_SHOP_ITEM_INDEFINITE_EMPTY_DRINK_CARTON = 2184, - STR_SHOP_ITEM_INDEFINITE_EMPTY_JUICE_CUP = 2185, - STR_SHOP_ITEM_INDEFINITE_ROAST_SAUSAGE = 2186, - STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_BLUE = 2187, - STR_SHOP_ITEM_DISPLAY_PHOTO2 = 2188, // Unused - STR_SHOP_ITEM_DISPLAY_PHOTO3 = 2189, // Unused - STR_SHOP_ITEM_DISPLAY_PHOTO4 = 2190, // Unused - STR_SHOP_ITEM_DISPLAY_PRETZEL = 2191, - STR_SHOP_ITEM_DISPLAY_HOT_CHOCOLATE = 2192, - STR_SHOP_ITEM_DISPLAY_ICED_TEA = 2193, - STR_SHOP_ITEM_DISPLAY_FUNNEL_CAKE = 2194, - STR_SHOP_ITEM_DISPLAY_SUNGLASSES = 2195, - STR_SHOP_ITEM_DISPLAY_BEEF_NOODLES = 2196, - STR_SHOP_ITEM_DISPLAY_FRIED_RICE_NOODLES = 2197, - STR_SHOP_ITEM_DISPLAY_WONTON_SOUP = 2198, - STR_SHOP_ITEM_DISPLAY_MEATBALL_SOUP = 2199, - STR_SHOP_ITEM_DISPLAY_FRUIT_JUICE = 2200, - STR_SHOP_ITEM_DISPLAY_SOYBEAN_MILK = 2201, - STR_SHOP_ITEM_DISPLAY_SUJONGKWA = 2202, - STR_SHOP_ITEM_DISPLAY_SUB_SANDWICH = 2203, - STR_SHOP_ITEM_DISPLAY_COOKIE = 2204, - STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_RED = 2205, - STR_SHOP_ITEM_DISPLAY_EMPTY_DRINK_CARTON = 2206, - STR_SHOP_ITEM_DISPLAY_EMPTY_JUICE_CUP = 2207, - STR_SHOP_ITEM_DISPLAY_ROAST_SAUSAGE = 2208, - STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_BLUE = 2209, - STR_STAFF_HANDYMEN_TAB_TIP = 2210, - STR_STAFF_MECHANICS_TAB_TIP = 2211, - STR_STAFF_SECURITY_TAB_TIP = 2212, - STR_STAFF_ENTERTAINERS_TAB_TIP = 2213, - STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED = 2214, - STR_RIDE_MAP_TIP = 2215, - STR_CELSIUS_VALUE = 2216, - STR_FAHRENHEIT_VALUE = 2217, - STR_NEWS_VEHICLE_HAS_STALLED = 2218, - STR_X_PEOPLE_DIED_ON_X = 2219, - STR_PARK_RATING_LABEL = 2220, - STR_PARK_RATING_TIP = 2221, - STR_GRAPH_LABEL = 2222, - STR_GUESTS_IN_PARK_LABEL = 2223, - STR_CASH_LABEL = 2224, - STR_CASH_NEGATIVE_LABEL = 2225, - STR_PARK_VALUE_LABEL = 2226, - STR_COMPANY_VALUE_LABEL = 2227, - STR_LAST_MONTH_PROFIT_FROM_FOOD_DRINK_MERCHANDISE_SALES_LABEL = 2228, - STR_SLOPE_UP_TO_VERTICAL = 2229, - STR_VERTICAL_TRACK = 2230, - STR_HOLDING_BRAKE_FOR_DROP = 2231, - STR_CABLE_LIFT_HILL = 2232, - STR_PARK_INFORMATION_TIP = 2233, - STR_RECENT_MESSAGES = 2234, - STR_NEWS_DATE_FORMAT = 2235, - STR_MONTH_JANUARY = 2236, // unused - STR_MONTH_FEBRUARY = 2237, // unused - STR_MONTH_MARCH = 2238, - STR_MONTH_APRIL = 2239, - STR_MONTH_MAY = 2240, - STR_MONTH_JUNE = 2241, - STR_MONTH_JULY = 2242, - STR_MONTH_AUGUST = 2243, - STR_MONTH_SEPTEMBER = 2244, - STR_MONTH_OCTOBER = 2245, - STR_MONTH_NOVEMBER = 2246, // unused - STR_MONTH_DECEMBER = 2247, // unused - STR_CANT_DEMOLISH_RIDE = 2248, - STR_NEWS_ITEM_RESEARCH_NEW_RIDE_AVAILABLE = 2249, - STR_NEWS_ITEM_RESEARCH_NEW_SCENERY_SET_AVAILABLE = 2250, + STR_SHOP_ITEM_PRICE_LABEL_BALLOON = 1960, + STR_SHOP_ITEM_PRICE_LABEL_CUDDLY_TOY = 1961, + STR_SHOP_ITEM_PRICE_LABEL_PARK_MAP = 1962, + STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO = 1963, + STR_SHOP_ITEM_PRICE_LABEL_UMBRELLA = 1964, + STR_SHOP_ITEM_PRICE_LABEL_DRINK = 1965, + STR_SHOP_ITEM_PRICE_LABEL_BURGER = 1966, + STR_SHOP_ITEM_PRICE_LABEL_CHIPS = 1967, + STR_SHOP_ITEM_PRICE_LABEL_ICE_CREAM = 1968, + STR_SHOP_ITEM_PRICE_LABEL_CANDYFLOSS = 1969, + STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CAN = 1970, // Empty + STR_SHOP_ITEM_PRICE_LABEL_RUBBISH = 1971, // Empty + STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BURGER_BOX = 1972, // Empty + STR_SHOP_ITEM_PRICE_LABEL_PIZZA = 1973, + STR_SHOP_ITEM_PRICE_LABEL_VOUCHER = 1974, // Empty + STR_SHOP_ITEM_PRICE_LABEL_POPCORN = 1975, + STR_SHOP_ITEM_PRICE_LABEL_HOT_DOG = 1976, + STR_SHOP_ITEM_PRICE_LABEL_TENTACLE = 1977, + STR_SHOP_ITEM_PRICE_LABEL_HAT = 1978, + STR_SHOP_ITEM_PRICE_LABEL_TOFFEE_APPLE = 1979, + STR_SHOP_ITEM_PRICE_LABEL_T_SHIRT = 1980, + STR_SHOP_ITEM_PRICE_LABEL_DOUGHNUT = 1981, + STR_SHOP_ITEM_PRICE_LABEL_COFFEE = 1982, + STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CUP = 1983, // Empty + STR_SHOP_ITEM_PRICE_LABEL_FRIED_CHICKEN = 1984, + STR_SHOP_ITEM_PRICE_LABEL_LEMONADE = 1985, + STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOX = 1986, // Empty + STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOTTLE = 1987, // Empty + STR_SHOP_ITEM_SINGULAR_BALLOON = 1988, + STR_SHOP_ITEM_SINGULAR_CUDDLY_TOY = 1989, + STR_SHOP_ITEM_SINGULAR_PARK_MAP = 1990, + STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO = 1991, + STR_SHOP_ITEM_SINGULAR_UMBRELLA = 1992, + STR_SHOP_ITEM_SINGULAR_DRINK = 1993, + STR_SHOP_ITEM_SINGULAR_BURGER = 1994, + STR_SHOP_ITEM_SINGULAR_CHIPS = 1995, + STR_SHOP_ITEM_SINGULAR_ICE_CREAM = 1996, + STR_SHOP_ITEM_SINGULAR_CANDYFLOSS = 1997, + STR_SHOP_ITEM_SINGULAR_EMPTY_CAN = 1998, + STR_SHOP_ITEM_SINGULAR_RUBBISH = 1999, + STR_SHOP_ITEM_SINGULAR_EMPTY_BURGER_BOX = 2000, + STR_SHOP_ITEM_SINGULAR_PIZZA = 2001, + STR_SHOP_ITEM_SINGULAR_VOUCHER = 2002, + STR_SHOP_ITEM_SINGULAR_POPCORN = 2003, + STR_SHOP_ITEM_SINGULAR_HOT_DOG = 2004, + STR_SHOP_ITEM_SINGULAR_TENTACLE = 2005, + STR_SHOP_ITEM_SINGULAR_HAT = 2006, + STR_SHOP_ITEM_SINGULAR_TOFFEE_APPLE = 2007, + STR_SHOP_ITEM_SINGULAR_T_SHIRT = 2008, + STR_SHOP_ITEM_SINGULAR_DOUGHNUT = 2009, + STR_SHOP_ITEM_SINGULAR_COFFEE = 2010, + STR_SHOP_ITEM_SINGULAR_EMPTY_CUP = 2011, + STR_SHOP_ITEM_SINGULAR_FRIED_CHICKEN = 2012, + STR_SHOP_ITEM_SINGULAR_LEMONADE = 2013, + STR_SHOP_ITEM_SINGULAR_EMPTY_BOX = 2014, + STR_SHOP_ITEM_SINGULAR_EMPTY_BOTTLE = 2015, + STR_SHOP_ITEM_PLURAL_BALLOON = 2016, + STR_SHOP_ITEM_PLURAL_CUDDLY_TOY = 2017, + STR_SHOP_ITEM_PLURAL_PARK_MAP = 2018, + STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO = 2019, + STR_SHOP_ITEM_PLURAL_UMBRELLA = 2020, + STR_SHOP_ITEM_PLURAL_DRINK = 2021, + STR_SHOP_ITEM_PLURAL_BURGER = 2022, + STR_SHOP_ITEM_PLURAL_CHIPS = 2023, + STR_SHOP_ITEM_PLURAL_ICE_CREAM = 2024, + STR_SHOP_ITEM_PLURAL_CANDYFLOSS = 2025, + STR_SHOP_ITEM_PLURAL_EMPTY_CAN = 2026, + STR_SHOP_ITEM_PLURAL_RUBBISH = 2027, + STR_SHOP_ITEM_PLURAL_EMPTY_BURGER_BOX = 2028, + STR_SHOP_ITEM_PLURAL_PIZZA = 2029, + STR_SHOP_ITEM_PLURAL_VOUCHER = 2030, + STR_SHOP_ITEM_PLURAL_POPCORN = 2031, + STR_SHOP_ITEM_PLURAL_HOT_DOG = 2032, + STR_SHOP_ITEM_PLURAL_TENTACLE = 2033, + STR_SHOP_ITEM_PLURAL_HAT = 2034, + STR_SHOP_ITEM_PLURAL_TOFFEE_APPLE = 2035, + STR_SHOP_ITEM_PLURAL_T_SHIRT = 2036, + STR_SHOP_ITEM_PLURAL_DOUGHNUT = 2037, + STR_SHOP_ITEM_PLURAL_COFFEE = 2038, + STR_SHOP_ITEM_PLURAL_EMPTY_CUP = 2039, + STR_SHOP_ITEM_PLURAL_FRIED_CHICKEN = 2040, + STR_SHOP_ITEM_PLURAL_LEMONADE = 2041, + STR_SHOP_ITEM_PLURAL_EMPTY_BOX = 2042, + STR_SHOP_ITEM_PLURAL_EMPTY_BOTTLE = 2043, + STR_SHOP_ITEM_INDEFINITE_BALLOON = 2044, + STR_SHOP_ITEM_INDEFINITE_CUDDLY_TOY = 2045, + STR_SHOP_ITEM_INDEFINITE_PARK_MAP = 2046, + STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO = 2047, + STR_SHOP_ITEM_INDEFINITE_UMBRELLA = 2048, + STR_SHOP_ITEM_INDEFINITE_DRINK = 2049, + STR_SHOP_ITEM_INDEFINITE_BURGER = 2050, + STR_SHOP_ITEM_INDEFINITE_CHIPS = 2051, + STR_SHOP_ITEM_INDEFINITE_ICE_CREAM = 2052, + STR_SHOP_ITEM_INDEFINITE_CANDYFLOSS = 2053, + STR_SHOP_ITEM_INDEFINITE_EMPTY_CAN = 2054, + STR_SHOP_ITEM_INDEFINITE_RUBBISH = 2055, + STR_SHOP_ITEM_INDEFINITE_EMPTY_BURGER_BOX = 2056, + STR_SHOP_ITEM_INDEFINITE_PIZZA = 2057, + STR_SHOP_ITEM_INDEFINITE_VOUCHER = 2058, + STR_SHOP_ITEM_INDEFINITE_POPCORN = 2059, + STR_SHOP_ITEM_INDEFINITE_HOT_DOG = 2060, + STR_SHOP_ITEM_INDEFINITE_TENTACLE = 2061, + STR_SHOP_ITEM_INDEFINITE_HAT = 2062, + STR_SHOP_ITEM_INDEFINITE_TOFFEE_APPLE = 2063, + STR_SHOP_ITEM_INDEFINITE_T_SHIRT = 2064, + STR_SHOP_ITEM_INDEFINITE_DOUGHNUT = 2065, + STR_SHOP_ITEM_INDEFINITE_COFFEE = 2066, + STR_SHOP_ITEM_INDEFINITE_EMPTY_CUP = 2067, + STR_SHOP_ITEM_INDEFINITE_FRIED_CHICKEN = 2068, + STR_SHOP_ITEM_INDEFINITE_LEMONADE = 2069, + STR_SHOP_ITEM_INDEFINITE_EMPTY_BOX = 2070, + STR_SHOP_ITEM_INDEFINITE_EMPTY_BOTTLE = 2071, + STR_SHOP_ITEM_DISPLAY_BALLOON = 2072, + STR_SHOP_ITEM_DISPLAY_CUDDLY_TOY = 2073, + STR_SHOP_ITEM_DISPLAY_PARK_MAP = 2074, + STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO = 2075, + STR_SHOP_ITEM_DISPLAY_UMBRELLA = 2076, + STR_SHOP_ITEM_DISPLAY_DRINK = 2077, + STR_SHOP_ITEM_DISPLAY_BURGER = 2078, + STR_SHOP_ITEM_DISPLAY_CHIPS = 2079, + STR_SHOP_ITEM_DISPLAY_ICE_CREAM = 2080, + STR_SHOP_ITEM_DISPLAY_CANDYFLOSS = 2081, + STR_SHOP_ITEM_DISPLAY_EMPTY_CAN = 2082, + STR_SHOP_ITEM_DISPLAY_RUBBISH = 2083, + STR_SHOP_ITEM_DISPLAY_EMPTY_BURGER_BOX = 2084, + STR_SHOP_ITEM_DISPLAY_PIZZA = 2085, + STR_SHOP_ITEM_DISPLAY_VOUCHER = 2086, + STR_SHOP_ITEM_DISPLAY_POPCORN = 2087, + STR_SHOP_ITEM_DISPLAY_HOT_DOG = 2088, + STR_SHOP_ITEM_DISPLAY_TENTACLE = 2089, + STR_SHOP_ITEM_DISPLAY_HAT = 2090, + STR_SHOP_ITEM_DISPLAY_TOFFEE_APPLE = 2091, + STR_SHOP_ITEM_DISPLAY_T_SHIRT = 2092, + STR_SHOP_ITEM_DISPLAY_DOUGHNUT = 2093, + STR_SHOP_ITEM_DISPLAY_COFFEE = 2094, + STR_SHOP_ITEM_DISPLAY_EMPTY_CUP = 2095, + STR_SHOP_ITEM_DISPLAY_FRIED_CHICKEN = 2096, + STR_SHOP_ITEM_DISPLAY_LEMONADE = 2097, + STR_SHOP_ITEM_DISPLAY_EMPTY_BOX = 2098, + STR_SHOP_ITEM_DISPLAY_EMPTY_BOTTLE = 2099, + STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO2 = 2100, // Unused + STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO3 = 2101, // Unused + STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO4 = 2102, // Unused + STR_SHOP_ITEM_PRICE_LABEL_PRETZEL = 2103, + STR_SHOP_ITEM_PRICE_LABEL_HOT_CHOCOLATE = 2104, + STR_SHOP_ITEM_PRICE_LABEL_ICED_TEA = 2105, + STR_SHOP_ITEM_PRICE_LABEL_FUNNEL_CAKE = 2106, + STR_SHOP_ITEM_PRICE_LABEL_SUNGLASSES = 2107, + STR_SHOP_ITEM_PRICE_LABEL_BEEF_NOODLES = 2108, + STR_SHOP_ITEM_PRICE_LABEL_FRIED_RICE_NOODLES = 2109, + STR_SHOP_ITEM_PRICE_LABEL_WONTON_SOUP = 2110, + STR_SHOP_ITEM_PRICE_LABEL_MEATBALL_SOUP = 2111, + STR_SHOP_ITEM_PRICE_LABEL_FRUIT_JUICE = 2112, + STR_SHOP_ITEM_PRICE_LABEL_SOYBEAN_MILK = 2113, + STR_SHOP_ITEM_PRICE_LABEL_SUJONGKWA = 2114, + STR_SHOP_ITEM_PRICE_LABEL_SUB_SANDWICH = 2115, + STR_SHOP_ITEM_PRICE_LABEL_COOKIE = 2116, + STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_RED = 2117, // Empty + STR_SHOP_ITEM_PRICE_LABEL_EMPTY_DRINK_CARTON = 2118, // Empty + STR_SHOP_ITEM_PRICE_LABEL_EMPTY_JUICE_CUP = 2119, // Empty + STR_SHOP_ITEM_PRICE_LABEL_ROAST_SAUSAGE = 2120, + STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_BLUE = 2121, // Empty + STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO2 = 2122, // Unused + STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO3 = 2123, // Unused + STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO4 = 2124, // Unused + STR_SHOP_ITEM_SINGULAR_PRETZEL = 2125, + STR_SHOP_ITEM_SINGULAR_HOT_CHOCOLATE = 2126, + STR_SHOP_ITEM_SINGULAR_ICED_TEA = 2127, + STR_SHOP_ITEM_SINGULAR_FUNNEL_CAKE = 2128, + STR_SHOP_ITEM_SINGULAR_SUNGLASSES = 2129, + STR_SHOP_ITEM_SINGULAR_BEEF_NOODLES = 2130, + STR_SHOP_ITEM_SINGULAR_FRIED_RICE_NOODLES = 2131, + STR_SHOP_ITEM_SINGULAR_WONTON_SOUP = 2132, + STR_SHOP_ITEM_SINGULAR_MEATBALL_SOUP = 2133, + STR_SHOP_ITEM_SINGULAR_FRUIT_JUICE = 2134, + STR_SHOP_ITEM_SINGULAR_SOYBEAN_MILK = 2135, + STR_SHOP_ITEM_SINGULAR_SUJONGKWA = 2136, + STR_SHOP_ITEM_SINGULAR_SUB_SANDWICH = 2137, + STR_SHOP_ITEM_SINGULAR_COOKIE = 2138, + STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_RED = 2139, + STR_SHOP_ITEM_SINGULAR_EMPTY_DRINK_CARTON = 2140, + STR_SHOP_ITEM_SINGULAR_EMPTY_JUICE_CUP = 2141, + STR_SHOP_ITEM_SINGULAR_ROAST_SAUSAGE = 2142, + STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE = 2143, + STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO2 = 2144, // Unused + STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO3 = 2145, // Unused + STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO4 = 2146, // Unused + STR_SHOP_ITEM_PLURAL_PRETZEL = 2147, + STR_SHOP_ITEM_PLURAL_HOT_CHOCOLATE = 2148, + STR_SHOP_ITEM_PLURAL_ICED_TEA = 2149, + STR_SHOP_ITEM_PLURAL_FUNNEL_CAKE = 2150, + STR_SHOP_ITEM_PLURAL_SUNGLASSES = 2151, + STR_SHOP_ITEM_PLURAL_BEEF_NOODLES = 2152, + STR_SHOP_ITEM_PLURAL_FRIED_RICE_NOODLES = 2153, + STR_SHOP_ITEM_PLURAL_WONTON_SOUP = 2154, + STR_SHOP_ITEM_PLURAL_MEATBALL_SOUP = 2155, + STR_SHOP_ITEM_PLURAL_FRUIT_JUICE = 2156, + STR_SHOP_ITEM_PLURAL_SOYBEAN_MILK = 2157, + STR_SHOP_ITEM_PLURAL_SUJONGKWA = 2158, + STR_SHOP_ITEM_PLURAL_SUB_SANDWICH = 2159, + STR_SHOP_ITEM_PLURAL_COOKIE = 2160, + STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_RED = 2161, + STR_SHOP_ITEM_PLURAL_EMPTY_DRINK_CARTON = 2162, + STR_SHOP_ITEM_PLURAL_EMPTY_JUICE_CUP = 2163, + STR_SHOP_ITEM_PLURAL_ROAST_SAUSAGE = 2164, + STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_BLUE = 2165, + STR_SHOP_ITEM_INDEFINITE_PHOTO2 = 2166, // Unused + STR_SHOP_ITEM_INDEFINITE_PHOTO3 = 2167, // Unused + STR_SHOP_ITEM_INDEFINITE_PHOTO4 = 2168, // Unused + STR_SHOP_ITEM_INDEFINITE_PRETZEL = 2169, + STR_SHOP_ITEM_INDEFINITE_HOT_CHOCOLATE = 2170, + STR_SHOP_ITEM_INDEFINITE_ICED_TEA = 2171, + STR_SHOP_ITEM_INDEFINITE_FUNNEL_CAKE = 2172, + STR_SHOP_ITEM_INDEFINITE_SUNGLASSES = 2173, + STR_SHOP_ITEM_INDEFINITE_BEEF_NOODLES = 2174, + STR_SHOP_ITEM_INDEFINITE_FRIED_RICE_NOODLES = 2175, + STR_SHOP_ITEM_INDEFINITE_WONTON_SOUP = 2176, + STR_SHOP_ITEM_INDEFINITE_MEATBALL_SOUP = 2177, + STR_SHOP_ITEM_INDEFINITE_FRUIT_JUICE = 2178, + STR_SHOP_ITEM_INDEFINITE_SOYBEAN_MILK = 2179, + STR_SHOP_ITEM_INDEFINITE_SUJONGKWA = 2180, + STR_SHOP_ITEM_INDEFINITE_SUB_SANDWICH = 2181, + STR_SHOP_ITEM_INDEFINITE_COOKIE = 2182, + STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_RED = 2183, + STR_SHOP_ITEM_INDEFINITE_EMPTY_DRINK_CARTON = 2184, + STR_SHOP_ITEM_INDEFINITE_EMPTY_JUICE_CUP = 2185, + STR_SHOP_ITEM_INDEFINITE_ROAST_SAUSAGE = 2186, + STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_BLUE = 2187, + STR_SHOP_ITEM_DISPLAY_PHOTO2 = 2188, // Unused + STR_SHOP_ITEM_DISPLAY_PHOTO3 = 2189, // Unused + STR_SHOP_ITEM_DISPLAY_PHOTO4 = 2190, // Unused + STR_SHOP_ITEM_DISPLAY_PRETZEL = 2191, + STR_SHOP_ITEM_DISPLAY_HOT_CHOCOLATE = 2192, + STR_SHOP_ITEM_DISPLAY_ICED_TEA = 2193, + STR_SHOP_ITEM_DISPLAY_FUNNEL_CAKE = 2194, + STR_SHOP_ITEM_DISPLAY_SUNGLASSES = 2195, + STR_SHOP_ITEM_DISPLAY_BEEF_NOODLES = 2196, + STR_SHOP_ITEM_DISPLAY_FRIED_RICE_NOODLES = 2197, + STR_SHOP_ITEM_DISPLAY_WONTON_SOUP = 2198, + STR_SHOP_ITEM_DISPLAY_MEATBALL_SOUP = 2199, + STR_SHOP_ITEM_DISPLAY_FRUIT_JUICE = 2200, + STR_SHOP_ITEM_DISPLAY_SOYBEAN_MILK = 2201, + STR_SHOP_ITEM_DISPLAY_SUJONGKWA = 2202, + STR_SHOP_ITEM_DISPLAY_SUB_SANDWICH = 2203, + STR_SHOP_ITEM_DISPLAY_COOKIE = 2204, + STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_RED = 2205, + STR_SHOP_ITEM_DISPLAY_EMPTY_DRINK_CARTON = 2206, + STR_SHOP_ITEM_DISPLAY_EMPTY_JUICE_CUP = 2207, + STR_SHOP_ITEM_DISPLAY_ROAST_SAUSAGE = 2208, + STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_BLUE = 2209, + STR_STAFF_HANDYMEN_TAB_TIP = 2210, + STR_STAFF_MECHANICS_TAB_TIP = 2211, + STR_STAFF_SECURITY_TAB_TIP = 2212, + STR_STAFF_ENTERTAINERS_TAB_TIP = 2213, + STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED = 2214, + STR_RIDE_MAP_TIP = 2215, + STR_CELSIUS_VALUE = 2216, + STR_FAHRENHEIT_VALUE = 2217, + STR_NEWS_VEHICLE_HAS_STALLED = 2218, + STR_X_PEOPLE_DIED_ON_X = 2219, + STR_PARK_RATING_LABEL = 2220, + STR_PARK_RATING_TIP = 2221, + STR_GRAPH_LABEL = 2222, + STR_GUESTS_IN_PARK_LABEL = 2223, + STR_CASH_LABEL = 2224, + STR_CASH_NEGATIVE_LABEL = 2225, + STR_PARK_VALUE_LABEL = 2226, + STR_COMPANY_VALUE_LABEL = 2227, + STR_LAST_MONTH_PROFIT_FROM_FOOD_DRINK_MERCHANDISE_SALES_LABEL = 2228, + STR_SLOPE_UP_TO_VERTICAL = 2229, + STR_VERTICAL_TRACK = 2230, + STR_HOLDING_BRAKE_FOR_DROP = 2231, + STR_CABLE_LIFT_HILL = 2232, + STR_PARK_INFORMATION_TIP = 2233, + STR_RECENT_MESSAGES = 2234, + STR_NEWS_DATE_FORMAT = 2235, + STR_MONTH_JANUARY = 2236, // unused + STR_MONTH_FEBRUARY = 2237, // unused + STR_MONTH_MARCH = 2238, + STR_MONTH_APRIL = 2239, + STR_MONTH_MAY = 2240, + STR_MONTH_JUNE = 2241, + STR_MONTH_JULY = 2242, + STR_MONTH_AUGUST = 2243, + STR_MONTH_SEPTEMBER = 2244, + STR_MONTH_OCTOBER = 2245, + STR_MONTH_NOVEMBER = 2246, // unused + STR_MONTH_DECEMBER = 2247, // unused + STR_CANT_DEMOLISH_RIDE = 2248, + STR_NEWS_ITEM_RESEARCH_NEW_RIDE_AVAILABLE = 2249, + STR_NEWS_ITEM_RESEARCH_NEW_SCENERY_SET_AVAILABLE = 2250, // STR_2251 :Can only be built on paths! - STR_CAN_ONLY_BE_BUILT_ACROSS_PATHS = 2252, - STR_RESEARCH_NEW_TRANSPORT_RIDES = 2253, - STR_RESEARCH_NEW_GENTLE_RIDES = 2254, - STR_RESEARCH_NEW_ROLLER_COASTERS = 2255, - STR_RESEARCH_NEW_THRILL_RIDES = 2256, - STR_RESEARCH_NEW_WATER_RIDES = 2257, - STR_RESEARCH_NEW_SHOPS_AND_STALLS = 2258, - STR_RESEARCH_NEW_SCENERY_AND_THEMING = 2259, - STR_RESEARCH_FUNDING_NONE = 2260, - STR_RESEARCH_FUNDING_MINIMUM = 2261, - STR_RESEARCH_FUNDING_NORMAL = 2262, - STR_RESEARCH_FUNDING_MAXIMUM = 2263, - STR_RESEARCH_FUNDING_ = 2264, - STR_RESEARCH_COST_PER_MONTH = 2265, - STR_RESEARCH_PRIORITIES = 2266, - STR_CURRENTLY_IN_DEVELOPMENT = 2267, - STR_LAST_DEVELOPMENT = 2268, - STR_RESEARCH_TYPE_LABEL = 2269, - STR_RESEARCH_PROGRESS_LABEL = 2270, - STR_RESEARCH_EXPECTED_LABEL = 2271, - STR_RESEARCH_RIDE_LABEL = 2272, - STR_RESEARCH_SCENERY_LABEL = 2273, - STR_RESEARCH_SHOW_DETAILS_TIP = 2274, - STR_FINANCES_RESEARCH_TIP = 2275, - STR_RESEARCH_AND_DEVELOPMENT_TIP = 2276, - STR_RESEARCH_UNKNOWN = 2277, - STR_RESEARCH_CATEGORY_TRANSPORT = 2278, - STR_RESEARCH_CATEGORY_GENTLE = 2279, - STR_RESEARCH_CATEGORY_ROLLERCOASTER = 2280, - STR_RESEARCH_CATEGORY_THRILL = 2281, - STR_RESEARCH_CATEGORY_WATER = 2282, - STR_RESEARCH_CATEGORY_SHOP = 2283, - STR_RESEARCH_CATEGORY_SCENERYSET = 2284, - STR_RESEARCH_STAGE_INITIAL_RESEARCH = 2285, - STR_RESEARCH_STAGE_DESIGNING = 2286, - STR_RESEARCH_STAGE_COMPLETING_DESIGN = 2287, - STR_RESEARCH_STAGE_UNKNOWN = 2288, - STR_RESEARCH_EXPECTED_FORMAT = 2289, + STR_CAN_ONLY_BE_BUILT_ACROSS_PATHS = 2252, + STR_RESEARCH_NEW_TRANSPORT_RIDES = 2253, + STR_RESEARCH_NEW_GENTLE_RIDES = 2254, + STR_RESEARCH_NEW_ROLLER_COASTERS = 2255, + STR_RESEARCH_NEW_THRILL_RIDES = 2256, + STR_RESEARCH_NEW_WATER_RIDES = 2257, + STR_RESEARCH_NEW_SHOPS_AND_STALLS = 2258, + STR_RESEARCH_NEW_SCENERY_AND_THEMING = 2259, + STR_RESEARCH_FUNDING_NONE = 2260, + STR_RESEARCH_FUNDING_MINIMUM = 2261, + STR_RESEARCH_FUNDING_NORMAL = 2262, + STR_RESEARCH_FUNDING_MAXIMUM = 2263, + STR_RESEARCH_FUNDING_ = 2264, + STR_RESEARCH_COST_PER_MONTH = 2265, + STR_RESEARCH_PRIORITIES = 2266, + STR_CURRENTLY_IN_DEVELOPMENT = 2267, + STR_LAST_DEVELOPMENT = 2268, + STR_RESEARCH_TYPE_LABEL = 2269, + STR_RESEARCH_PROGRESS_LABEL = 2270, + STR_RESEARCH_EXPECTED_LABEL = 2271, + STR_RESEARCH_RIDE_LABEL = 2272, + STR_RESEARCH_SCENERY_LABEL = 2273, + STR_RESEARCH_SHOW_DETAILS_TIP = 2274, + STR_FINANCES_RESEARCH_TIP = 2275, + STR_RESEARCH_AND_DEVELOPMENT_TIP = 2276, + STR_RESEARCH_UNKNOWN = 2277, + STR_RESEARCH_CATEGORY_TRANSPORT = 2278, + STR_RESEARCH_CATEGORY_GENTLE = 2279, + STR_RESEARCH_CATEGORY_ROLLERCOASTER = 2280, + STR_RESEARCH_CATEGORY_THRILL = 2281, + STR_RESEARCH_CATEGORY_WATER = 2282, + STR_RESEARCH_CATEGORY_SHOP = 2283, + STR_RESEARCH_CATEGORY_SCENERYSET = 2284, + STR_RESEARCH_STAGE_INITIAL_RESEARCH = 2285, + STR_RESEARCH_STAGE_DESIGNING = 2286, + STR_RESEARCH_STAGE_COMPLETING_DESIGN = 2287, + STR_RESEARCH_STAGE_UNKNOWN = 2288, + STR_RESEARCH_EXPECTED_FORMAT = 2289, // STR_2290 : - STR_SELECT_SCENARIO = 2291, - STR_GUEST_LABEL_RIDES_BEEN_ON = 2292, - STR_NOTHING = 2293, - STR_CHANGE_BASE_LAND_TIP = 2294, - STR_CHANGE_VERTICAL_LAND_TIP = 2295, - STR_GUEST_EXPENSES_ENTRANCE_FEE = 2296, - STR_GUEST_EXPENSES_RIDE = 2297, - STR_GUEST_EXPENSES_RIDE_PLURAL = 2298, - STR_GUEST_EXPENSES_FOOD = 2299, - STR_GUEST_EXPENSES_FOOD_PLURAL = 2300, - STR_GUEST_EXPENSES_DRINK = 2301, - STR_GUEST_EXPENSES_DRINK_PLURAL = 2302, - STR_GUEST_EXPENSES_SOUVENIR = 2303, - STR_GUEST_EXPENSES_SOUVENIR_PLURAL = 2304, + STR_SELECT_SCENARIO = 2291, + STR_GUEST_LABEL_RIDES_BEEN_ON = 2292, + STR_NOTHING = 2293, + STR_CHANGE_BASE_LAND_TIP = 2294, + STR_CHANGE_VERTICAL_LAND_TIP = 2295, + STR_GUEST_EXPENSES_ENTRANCE_FEE = 2296, + STR_GUEST_EXPENSES_RIDE = 2297, + STR_GUEST_EXPENSES_RIDE_PLURAL = 2298, + STR_GUEST_EXPENSES_FOOD = 2299, + STR_GUEST_EXPENSES_FOOD_PLURAL = 2300, + STR_GUEST_EXPENSES_DRINK = 2301, + STR_GUEST_EXPENSES_DRINK_PLURAL = 2302, + STR_GUEST_EXPENSES_SOUVENIR = 2303, + STR_GUEST_EXPENSES_SOUVENIR_PLURAL = 2304, // STR_2305 :Track design files // STR_2306 :Save track design - STR_SELECT_DESIGN = 2307, - STR_TRACK_DESIGNS = 2308, - STR_TRACK_DESIGN_INSTALL_WINDOW_TITLE = 2309, - STR_BUILD_CUSTOM_DESIGN = 2310, - STR_TRACK_LIST_EXCITEMENT_RATING = 2311, - STR_TRACK_LIST_INTENSITY_RATING = 2312, - STR_TRACK_LIST_NAUSEA_RATING = 2313, - STR_TRACK_LIST_RIDE_LENGTH = 2314, - STR_TRACK_LIST_COST_AROUND = 2315, - STR_TRACK_LIST_SPACE_REQUIRED = 2316, + STR_SELECT_DESIGN = 2307, + STR_TRACK_DESIGNS = 2308, + STR_TRACK_DESIGN_INSTALL_WINDOW_TITLE = 2309, + STR_BUILD_CUSTOM_DESIGN = 2310, + STR_TRACK_LIST_EXCITEMENT_RATING = 2311, + STR_TRACK_LIST_INTENSITY_RATING = 2312, + STR_TRACK_LIST_NAUSEA_RATING = 2313, + STR_TRACK_LIST_RIDE_LENGTH = 2314, + STR_TRACK_LIST_COST_AROUND = 2315, + STR_TRACK_LIST_SPACE_REQUIRED = 2316, // STR_2317 : // STR_2318 : // STR_2319 : // STR_2320 : - STR_NUMBER_OF_RIDES_LABEL = 2321, - STR_STAFF_LABEL = 2322, - STR_PARK_SIZE_METRIC_LABEL = 2323, - STR_PARK_SIZE_IMPERIAL_LABEL = 2324, - STR_BUY_LAND_RIGHTS_TIP = 2325, - STR_BUY_CONSTRUCTION_RIGHTS_TIP = 2326, - STR_OPTIONS = 2327, - STR_CURRENCY = 2328, - STR_DISTANCE_AND_SPEED = 2329, - STR_TEMPERATURE = 2330, - STR_HEIGHT_LABELS = 2331, - STR_UNITS = 2332, - STR_SOUND_EFFECTS = 2333, - STR_POUNDS = 2334, - STR_DOLLARS = 2335, - STR_FRANC = 2336, - STR_DEUTSCHMARK = 2337, - STR_YEN = 2338, - STR_PESETA = 2339, - STR_LIRA = 2340, - STR_GUILDERS = 2341, - STR_KRONA = 2342, - STR_EUROS = 2343, - STR_IMPERIAL = 2344, - STR_METRIC = 2345, - STR_DISPLAY = 2346, // Unused - STR_NEWS_ITEM_GUEST_DROWNED = 2347, - STR_STAFF_STATS_TIP = 2348, - STR_STAFF_STAT_WAGES = 2349, - STR_STAFF_STAT_EMPLOYED_FOR = 2350, - STR_STAFF_STAT_LAWNS_MOWN = 2351, - STR_STAFF_STAT_GARDENS_WATERED = 2352, - STR_STAFF_STAT_LITTER_SWEPT = 2353, - STR_STAFF_STAT_BINS_EMPTIED = 2354, - STR_STAFF_STAT_RIDES_FIXED = 2355, - STR_STAFF_STAT_RIDES_INSPECTED = 2356, + STR_NUMBER_OF_RIDES_LABEL = 2321, + STR_STAFF_LABEL = 2322, + STR_PARK_SIZE_METRIC_LABEL = 2323, + STR_PARK_SIZE_IMPERIAL_LABEL = 2324, + STR_BUY_LAND_RIGHTS_TIP = 2325, + STR_BUY_CONSTRUCTION_RIGHTS_TIP = 2326, + STR_OPTIONS = 2327, + STR_CURRENCY = 2328, + STR_DISTANCE_AND_SPEED = 2329, + STR_TEMPERATURE = 2330, + STR_HEIGHT_LABELS = 2331, + STR_UNITS = 2332, + STR_SOUND_EFFECTS = 2333, + STR_POUNDS = 2334, + STR_DOLLARS = 2335, + STR_FRANC = 2336, + STR_DEUTSCHMARK = 2337, + STR_YEN = 2338, + STR_PESETA = 2339, + STR_LIRA = 2340, + STR_GUILDERS = 2341, + STR_KRONA = 2342, + STR_EUROS = 2343, + STR_IMPERIAL = 2344, + STR_METRIC = 2345, + STR_DISPLAY = 2346, // Unused + STR_NEWS_ITEM_GUEST_DROWNED = 2347, + STR_STAFF_STATS_TIP = 2348, + STR_STAFF_STAT_WAGES = 2349, + STR_STAFF_STAT_EMPLOYED_FOR = 2350, + STR_STAFF_STAT_LAWNS_MOWN = 2351, + STR_STAFF_STAT_GARDENS_WATERED = 2352, + STR_STAFF_STAT_LITTER_SWEPT = 2353, + STR_STAFF_STAT_BINS_EMPTIED = 2354, + STR_STAFF_STAT_RIDES_FIXED = 2355, + STR_STAFF_STAT_RIDES_INSPECTED = 2356, // STR_2357 :House // STR_2358 :Units - //STR_UNITS = 2358, - STR_REAL_VALUES = 2359, - STR_DISPLAY_RESOLUTION = 2360, - STR_TILE_SMOOTHING = 2361, - STR_TILE_SMOOTHING_TIP = 2362, - STR_GRIDLINES = 2363, - STR_GRIDLINES_TIP = 2364, - STR_BANK_REFUSES_TO_INCREASE_LOAN = 2365, - STR_CELSIUS = 2366, - STR_FAHRENHEIT = 2367, - STR_PEEP_STAT_NAUSEA_TOLERANCE_NONE = 2368, - STR_PEEP_STAT_NAUSEA_TOLERANCE_LOW = 2369, - STR_PEEP_STAT_NAUSEA_TOLERANCE_AVERAGE = 2370, - STR_PEEP_STAT_NAUSEA_TOLERANCE_HIGH = 2371, - STR_RATING_LOW = 2372, - STR_RATING_MEDIUM = 2373, - STR_RATING_HIGH = 2374, - STR_RATING_VERY_HIGH = 2375, - STR_RATING_EXTREME = 2376, - STR_RATING_ULTRA_EXTREME = 2377, - STR_ADJUST_SMALLER_LAND_TIP = 2378, - STR_ADJUST_LARGER_LAND_TIP = 2379, - STR_ADJUST_SMALLER_WATER_TIP = 2380, - STR_ADJUST_LARGER_WATER_TIP = 2381, - STR_LAND = 2382, - STR_WATER = 2383, - STR_OBJECTIVE_LABEL = 2384, - STR_OBJECTIVE_NONE = 2385, - STR_OBJECTIVE_GUESTS_BY = STR_OBJECTIVE_NONE + 1, - STR_OBJECTIVE_PARK_VALUE_BY = STR_OBJECTIVE_NONE + 2, - STR_OBJECTIVE_HAVE_FUN = STR_OBJECTIVE_NONE + 3, - STR_OBJECTIVE_BUILD_THE_BEST = STR_OBJECTIVE_NONE + 4, - STR_OBJECTIVE_10_ROLLERCOASTERS = STR_OBJECTIVE_NONE + 5, - STR_OBJECTIVE_GUESTS_AND_RATING = STR_OBJECTIVE_NONE + 6, - STR_OBJECTIVE_MONTHLY_RIDE_INCOME = STR_OBJECTIVE_NONE + 7, - STR_OBJECTIVE_10_ROLLERCOASTERS_LENGTH = STR_OBJECTIVE_NONE + 8, - STR_OBJECTIVE_FINISH_5_ROLLERCOASTERS = STR_OBJECTIVE_NONE + 9, - STR_OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE = STR_OBJECTIVE_NONE + 10, - STR_OBJECTIVE_MONTHLY_FOOD_INCOME = STR_OBJECTIVE_NONE + 11, - STR_OBJECTIVE_DROPDOWN_NONE = 2397, - STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_AT_A_GIVEN_DATE = STR_OBJECTIVE_DROPDOWN_NONE + 1, - STR_OBJECTIVE_DROPDOWN_PARK_VALUE_AT_A_GIVEN_DATE = STR_OBJECTIVE_DROPDOWN_NONE + 2, - STR_OBJECTIVE_DROPDOWN_HAVE_FUN = STR_OBJECTIVE_DROPDOWN_NONE + 3, - STR_OBJECTIVE_DROPDOWN_BUILD_THE_BEST_RIDE_YOU_CAN = STR_OBJECTIVE_DROPDOWN_NONE + 4, - STR_OBJECTIVE_DROPDOWN_BUILD_10_ROLLER_COASTERS = STR_OBJECTIVE_DROPDOWN_NONE + 5, - STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_IN_PARK = STR_OBJECTIVE_DROPDOWN_NONE + 6, - STR_OBJECTIVE_DROPDOWN_MONTHLY_INCOME_FROM_RIDE_TICKETS = STR_OBJECTIVE_DROPDOWN_NONE + 7, - STR_OBJECTIVE_DROPDOWN_BUILD_10_ROLLER_COASTERS_OF_A_GIVEN_LENGTH = STR_OBJECTIVE_DROPDOWN_NONE + 8, - STR_OBJECTIVE_DROPDOWN_FINISH_BUILDING_5_ROLLER_COASTERS = STR_OBJECTIVE_DROPDOWN_NONE + 9, - STR_OBJECTIVE_DROPDOWN_REPAY_LOAN_AND_ACHIEVE_A_GIVEN_PARK_VALUE = STR_OBJECTIVE_DROPDOWN_NONE + 10, - STR_OBJECTIVE_DROPDOWN_MONTHLY_PROFIT_FROM_FOOD_MERCHANDISE = STR_OBJECTIVE_DROPDOWN_NONE + 11, - STR_MARKETING_CAMPAIGNS_IN_OPERATION = 2409, - STR_MARKETING_CAMPAGINS_NONE = 2410, - STR_MARKETING_CAMPAIGNS_AVAILABLE = 2411, - STR_START_THIS_MARKETING_CAMPAIGN = 2412, - STR_MARKETING_PER_WEEK = 2413, - STR_MARKETING_NOT_SELECTED = 2414, - STR_MARKETING_RIDE = 2415, - STR_MARKETING_ITEM = 2416, - STR_LENGTH_OF_TIME = 2417, - STR_PEEP_INVENTORY_VOUCHER_PARK_ENTRY_FREE = 2418, - STR_PEEP_INVENTORY_VOUCHER_RIDE_FREE = 2419, - STR_PEEP_INVENTORY_VOUCHER_PARK_ENTRY_HALF_PRICE = 2420, - STR_PEEP_INVENTORY_VOUCHER_FOOD_OR_DRINK_FREE = 2421, + //STR_UNITS = 2358, + STR_REAL_VALUES = 2359, + STR_DISPLAY_RESOLUTION = 2360, + STR_TILE_SMOOTHING = 2361, + STR_TILE_SMOOTHING_TIP = 2362, + STR_GRIDLINES = 2363, + STR_GRIDLINES_TIP = 2364, + STR_BANK_REFUSES_TO_INCREASE_LOAN = 2365, + STR_CELSIUS = 2366, + STR_FAHRENHEIT = 2367, + STR_PEEP_STAT_NAUSEA_TOLERANCE_NONE = 2368, + STR_PEEP_STAT_NAUSEA_TOLERANCE_LOW = 2369, + STR_PEEP_STAT_NAUSEA_TOLERANCE_AVERAGE = 2370, + STR_PEEP_STAT_NAUSEA_TOLERANCE_HIGH = 2371, + STR_RATING_LOW = 2372, + STR_RATING_MEDIUM = 2373, + STR_RATING_HIGH = 2374, + STR_RATING_VERY_HIGH = 2375, + STR_RATING_EXTREME = 2376, + STR_RATING_ULTRA_EXTREME = 2377, + STR_ADJUST_SMALLER_LAND_TIP = 2378, + STR_ADJUST_LARGER_LAND_TIP = 2379, + STR_ADJUST_SMALLER_WATER_TIP = 2380, + STR_ADJUST_LARGER_WATER_TIP = 2381, + STR_LAND = 2382, + STR_WATER = 2383, + STR_OBJECTIVE_LABEL = 2384, + STR_OBJECTIVE_NONE = 2385, + STR_OBJECTIVE_GUESTS_BY = STR_OBJECTIVE_NONE + 1, + STR_OBJECTIVE_PARK_VALUE_BY = STR_OBJECTIVE_NONE + 2, + STR_OBJECTIVE_HAVE_FUN = STR_OBJECTIVE_NONE + 3, + STR_OBJECTIVE_BUILD_THE_BEST = STR_OBJECTIVE_NONE + 4, + STR_OBJECTIVE_10_ROLLERCOASTERS = STR_OBJECTIVE_NONE + 5, + STR_OBJECTIVE_GUESTS_AND_RATING = STR_OBJECTIVE_NONE + 6, + STR_OBJECTIVE_MONTHLY_RIDE_INCOME = STR_OBJECTIVE_NONE + 7, + STR_OBJECTIVE_10_ROLLERCOASTERS_LENGTH = STR_OBJECTIVE_NONE + 8, + STR_OBJECTIVE_FINISH_5_ROLLERCOASTERS = STR_OBJECTIVE_NONE + 9, + STR_OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE = STR_OBJECTIVE_NONE + 10, + STR_OBJECTIVE_MONTHLY_FOOD_INCOME = STR_OBJECTIVE_NONE + 11, + STR_OBJECTIVE_DROPDOWN_NONE = 2397, + STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_AT_A_GIVEN_DATE = STR_OBJECTIVE_DROPDOWN_NONE + 1, + STR_OBJECTIVE_DROPDOWN_PARK_VALUE_AT_A_GIVEN_DATE = STR_OBJECTIVE_DROPDOWN_NONE + 2, + STR_OBJECTIVE_DROPDOWN_HAVE_FUN = STR_OBJECTIVE_DROPDOWN_NONE + 3, + STR_OBJECTIVE_DROPDOWN_BUILD_THE_BEST_RIDE_YOU_CAN = STR_OBJECTIVE_DROPDOWN_NONE + 4, + STR_OBJECTIVE_DROPDOWN_BUILD_10_ROLLER_COASTERS = STR_OBJECTIVE_DROPDOWN_NONE + 5, + STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_IN_PARK = STR_OBJECTIVE_DROPDOWN_NONE + 6, + STR_OBJECTIVE_DROPDOWN_MONTHLY_INCOME_FROM_RIDE_TICKETS = STR_OBJECTIVE_DROPDOWN_NONE + 7, + STR_OBJECTIVE_DROPDOWN_BUILD_10_ROLLER_COASTERS_OF_A_GIVEN_LENGTH = STR_OBJECTIVE_DROPDOWN_NONE + 8, + STR_OBJECTIVE_DROPDOWN_FINISH_BUILDING_5_ROLLER_COASTERS = STR_OBJECTIVE_DROPDOWN_NONE + 9, + STR_OBJECTIVE_DROPDOWN_REPAY_LOAN_AND_ACHIEVE_A_GIVEN_PARK_VALUE = STR_OBJECTIVE_DROPDOWN_NONE + 10, + STR_OBJECTIVE_DROPDOWN_MONTHLY_PROFIT_FROM_FOOD_MERCHANDISE = STR_OBJECTIVE_DROPDOWN_NONE + 11, + STR_MARKETING_CAMPAIGNS_IN_OPERATION = 2409, + STR_MARKETING_CAMPAGINS_NONE = 2410, + STR_MARKETING_CAMPAIGNS_AVAILABLE = 2411, + STR_START_THIS_MARKETING_CAMPAIGN = 2412, + STR_MARKETING_PER_WEEK = 2413, + STR_MARKETING_NOT_SELECTED = 2414, + STR_MARKETING_RIDE = 2415, + STR_MARKETING_ITEM = 2416, + STR_LENGTH_OF_TIME = 2417, + STR_PEEP_INVENTORY_VOUCHER_PARK_ENTRY_FREE = 2418, + STR_PEEP_INVENTORY_VOUCHER_RIDE_FREE = 2419, + STR_PEEP_INVENTORY_VOUCHER_PARK_ENTRY_HALF_PRICE = 2420, + STR_PEEP_INVENTORY_VOUCHER_FOOD_OR_DRINK_FREE = 2421, // STR_2422 :Advertising campaign for {STRINGID} // STR_2423 :Advertising campaign for {STRINGID} - STR_MARKETING_VOUCHERS_FOR_FREE_ENTRY_TO_THE_PARK = 2424, - STR_MARKETING_VOUCHERS_FOR_FREE_RIDES_ON_A_PARTICULAR_RIDE = 2425, - STR_MARKETING_VOUCHERS_FOR_HALF_PRICE_ENTRY_TO_THE_PARK = 2426, - STR_MARKETING_VOUCHERS_FOR_FREE_FOOD_OR_DRINK = 2427, - STR_MARKETING_ADVERTISING_CAMPAIGN_FOR_THE_PARK = 2428, - STR_MARKETING_ADVERTISING_CAMPAIGN_FOR_A_PARTICULAR_RIDE = 2429, - STR_VOUCHERS_FOR_FREE_ENTRY_TO = 2430, - STR_VOUCHERS_FOR_FREE_RIDE_ON = 2431, - STR_VOUCHERS_FOR_HALF_PRICE_ENTRY_TO = 2432, - STR_VOUCHERS_FOR_FREE = 2433, - STR_ADVERTISING_CAMPAIGN_FOR_1 = 2434, - STR_ADVERTISING_CAMPAIGN_FOR_2 = 2435, - STR_MARKETING_1_WEEK = 2436, + STR_MARKETING_VOUCHERS_FOR_FREE_ENTRY_TO_THE_PARK = 2424, + STR_MARKETING_VOUCHERS_FOR_FREE_RIDES_ON_A_PARTICULAR_RIDE = 2425, + STR_MARKETING_VOUCHERS_FOR_HALF_PRICE_ENTRY_TO_THE_PARK = 2426, + STR_MARKETING_VOUCHERS_FOR_FREE_FOOD_OR_DRINK = 2427, + STR_MARKETING_ADVERTISING_CAMPAIGN_FOR_THE_PARK = 2428, + STR_MARKETING_ADVERTISING_CAMPAIGN_FOR_A_PARTICULAR_RIDE = 2429, + STR_VOUCHERS_FOR_FREE_ENTRY_TO = 2430, + STR_VOUCHERS_FOR_FREE_RIDE_ON = 2431, + STR_VOUCHERS_FOR_HALF_PRICE_ENTRY_TO = 2432, + STR_VOUCHERS_FOR_FREE = 2433, + STR_ADVERTISING_CAMPAIGN_FOR_1 = 2434, + STR_ADVERTISING_CAMPAIGN_FOR_2 = 2435, + STR_MARKETING_1_WEEK = 2436, // STR_2437 : // STR_2438 : // STR_2439 : // STR_2440 : // STR_2441 : // STR_2442 : - STR_MARKETING_COST_PER_WEEK = 2443, - STR_MARKETING_TOTAL_COST = 2444, - STR_MARKETING_START_THIS_MARKETING_CAMPAIGN = 2445, - STR_MARKETING_FINISHED_FREE_ENTRY = 2446, - STR_MARKETING_FINISHED_FREE_RIDES = 2447, - STR_MARKETING_FINISHED_HALF_PRICE_ENTRY = 2448, - STR_MARKETING_FINISHED_FREE_RIDE = 2449, - STR_MARKETING_FINISHED_PARK_ADS = 2450, - STR_MARKETING_FINISHED_RIDE_ADS = 2451, - STR_FINANCES_FINANCIAL_GRAPH_CASH_LESS_LOAN_POSITIVE = 2452, - STR_FINANCES_FINANCIAL_GRAPH_CASH_LESS_LOAN_NEGATIVE = 2453, - STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE = 2454, - STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE_POSITIVE = 2455, // Unused - STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE_NEGATIVE = 2456, // Unused - STR_FINANCES_SHOW_SUMMARY_TAB_TIP = 2457, - STR_FINANCES_SHOW_CASH_TAB_TIP = 2458, - STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP = 2459, - STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP = 2460, - STR_FINANCES_SHOW_MARKETING_TAB_TIP = 2461, - STR_PARK_ENTRANCE_TAB_TIP = 2462, - STR_PARK_RATING_TAB_TIP = 2463, - STR_PARK_GUESTS_TAB_TIP = 2464, - STR_PARK_PRICE_TAB_TIP = 2465, - STR_PARK_STATS_TAB_TIP = 2466, - STR_PARK_OBJECTIVE_TAB_TIP = 2467, - STR_PARK_AWARDS_TAB_TIP = 2468, - STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT = 2469, - STR_RESEARCH_NEW_TRANSPORT_RIDES_TIP = 2470, - STR_RESEARCH_NEW_GENTLE_RIDES_TIP = 2471, - STR_RESEARCH_NEW_ROLLER_COASTERS_TIP = 2472, - STR_RESEARCH_NEW_THRILL_RIDES_TIP = 2473, - STR_RESEARCH_NEW_WATER_RIDES_TIP = 2474, - STR_RESEARCH_NEW_SHOPS_AND_STALLS_TIP = 2475, - STR_RESEARCH_NEW_SCENERY_AND_THEMING_TIP = 2476, - STR_SELECT_OPERATING_MODE = 2477, - STR_SHOW_GRAPH_OF_VELOCITY_AGAINST_TIME_TIP = 2478, - STR_SHOW_GRAPH_OF_ALTITUDE_AGAINST_TIME_TIP = 2479, - STR_SHOW_GRAPH_OF_VERTICAL_ACCELERATION_AGAINST_TIME_TIP = 2480, - STR_SHOW_GRAPH_OF_LATERAL_ACCELERATION_AGAINST_TIME_TIP = 2481, - STR_PROFIT_PER_WEEK_AND_PARK_VALUE_TIP = 2482, - STR_FINANCES_WEEKLY_PROFIT_POSITIVE = 2483, - STR_FINANCES_WEEKLY_PROFIT_LOSS = 2484, - STR_CONTROLS = 2485, // Unused - STR_GENERAL = 2486, // Unused - STR_REAL_NAME = 2487, - STR_REAL_NAME_TIP = 2488, - STR_HOTKEY = 2489, - STR_SHORTCUTS_TITLE = 2490, - STR_SHORTCUT_ACTION_RESET = 2491, - STR_SHORTCUT_ACTION_RESET_TIP = 2492, - STR_SHORTCUT_CLOSE_TOP_MOST_WINDOW = 2493, - STR_SHORTCUT_CLOSE_ALL_FLOATING_WINDOWS = 2494, - STR_SHORTCUT_CANCEL_CONSTRUCTION_MODE = 2495, - STR_SHORTCUT_PAUSE_GAME = 2496, - STR_SHORTCUT_ZOOM_VIEW_OUT = 2497, - STR_SHORTCUT_ZOOM_VIEW_IN = 2498, - STR_SHORTCUT_ROTATE_VIEW_CLOCKWISE = 2499, - STR_SHORTCUT_ROTATE_CONSTRUCTION_OBJECT = 2500, - STR_SHORTCUT_UNDERGROUND_VIEW_TOGGLE = 2501, - STR_SHORTCUT_REMOVE_BASE_LAND_TOGGLE = 2502, - STR_SHORTCUT_REMOVE_VERTICAL_LAND_TOGGLE = 2503, - STR_SHORTCUT_SEE_THROUGH_RIDES_TOGGLE = 2504, - STR_SHORTCUT_SEE_THROUGH_SCENERY_TOGGLE = 2505, - STR_SHORTCUT_INVISIBLE_SUPPORTS_TOGGLE = 2506, - STR_SHORTCUT_INVISIBLE_PEOPLE_TOGGLE = 2507, - STR_SHORTCUT_HEIGHT_MARKS_ON_LAND_TOGGLE = 2508, - STR_SHORTCUT_HEIGHT_MARKS_ON_RIDE_TRACKS_TOGGLE = 2509, - STR_SHORTCUT_HEIGHT_MARKS_ON_PATHS_TOGGLE = 2510, - STR_SHORTCUT_ADJUST_LAND = 2511, - STR_SHORTCUT_ADJUST_WATER = 2512, - STR_SHORTCUT_BUILD_SCENERY = 2513, - STR_SHORTCUT_BUILD_PATHS = 2514, - STR_SHORTCUT_BUILD_NEW_RIDE = 2515, - STR_SHORTCUT_SHOW_FINANCIAL_INFORMATION = 2516, - STR_SHORTCUT_SHOW_RESEARCH_INFORMATION = 2517, - STR_SHORTCUT_SHOW_RIDES_LIST = 2518, - STR_SHORTCUT_SHOW_PARK_INFORMATION = 2519, - STR_SHORTCUT_SHOW_GUEST_LIST = 2520, - STR_SHORTCUT_SHOW_STAFF_LIST = 2521, - STR_SHORTCUT_SHOW_RECENT_MESSAGES = 2522, - STR_SHORTCUT_SHOW_MAP = 2523, - STR_SHORTCUT_SCREENSHOT = 2524, - STR_SHORTCUT_KEY_UNKNOWN = 2525, + STR_MARKETING_COST_PER_WEEK = 2443, + STR_MARKETING_TOTAL_COST = 2444, + STR_MARKETING_START_THIS_MARKETING_CAMPAIGN = 2445, + STR_MARKETING_FINISHED_FREE_ENTRY = 2446, + STR_MARKETING_FINISHED_FREE_RIDES = 2447, + STR_MARKETING_FINISHED_HALF_PRICE_ENTRY = 2448, + STR_MARKETING_FINISHED_FREE_RIDE = 2449, + STR_MARKETING_FINISHED_PARK_ADS = 2450, + STR_MARKETING_FINISHED_RIDE_ADS = 2451, + STR_FINANCES_FINANCIAL_GRAPH_CASH_LESS_LOAN_POSITIVE = 2452, + STR_FINANCES_FINANCIAL_GRAPH_CASH_LESS_LOAN_NEGATIVE = 2453, + STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE = 2454, + STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE_POSITIVE = 2455, // Unused + STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE_NEGATIVE = 2456, // Unused + STR_FINANCES_SHOW_SUMMARY_TAB_TIP = 2457, + STR_FINANCES_SHOW_CASH_TAB_TIP = 2458, + STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP = 2459, + STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP = 2460, + STR_FINANCES_SHOW_MARKETING_TAB_TIP = 2461, + STR_PARK_ENTRANCE_TAB_TIP = 2462, + STR_PARK_RATING_TAB_TIP = 2463, + STR_PARK_GUESTS_TAB_TIP = 2464, + STR_PARK_PRICE_TAB_TIP = 2465, + STR_PARK_STATS_TAB_TIP = 2466, + STR_PARK_OBJECTIVE_TAB_TIP = 2467, + STR_PARK_AWARDS_TAB_TIP = 2468, + STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT = 2469, + STR_RESEARCH_NEW_TRANSPORT_RIDES_TIP = 2470, + STR_RESEARCH_NEW_GENTLE_RIDES_TIP = 2471, + STR_RESEARCH_NEW_ROLLER_COASTERS_TIP = 2472, + STR_RESEARCH_NEW_THRILL_RIDES_TIP = 2473, + STR_RESEARCH_NEW_WATER_RIDES_TIP = 2474, + STR_RESEARCH_NEW_SHOPS_AND_STALLS_TIP = 2475, + STR_RESEARCH_NEW_SCENERY_AND_THEMING_TIP = 2476, + STR_SELECT_OPERATING_MODE = 2477, + STR_SHOW_GRAPH_OF_VELOCITY_AGAINST_TIME_TIP = 2478, + STR_SHOW_GRAPH_OF_ALTITUDE_AGAINST_TIME_TIP = 2479, + STR_SHOW_GRAPH_OF_VERTICAL_ACCELERATION_AGAINST_TIME_TIP = 2480, + STR_SHOW_GRAPH_OF_LATERAL_ACCELERATION_AGAINST_TIME_TIP = 2481, + STR_PROFIT_PER_WEEK_AND_PARK_VALUE_TIP = 2482, + STR_FINANCES_WEEKLY_PROFIT_POSITIVE = 2483, + STR_FINANCES_WEEKLY_PROFIT_LOSS = 2484, + STR_CONTROLS = 2485, // Unused + STR_GENERAL = 2486, // Unused + STR_REAL_NAME = 2487, + STR_REAL_NAME_TIP = 2488, + STR_HOTKEY = 2489, + STR_SHORTCUTS_TITLE = 2490, + STR_SHORTCUT_ACTION_RESET = 2491, + STR_SHORTCUT_ACTION_RESET_TIP = 2492, + STR_SHORTCUT_CLOSE_TOP_MOST_WINDOW = 2493, + STR_SHORTCUT_CLOSE_ALL_FLOATING_WINDOWS = 2494, + STR_SHORTCUT_CANCEL_CONSTRUCTION_MODE = 2495, + STR_SHORTCUT_PAUSE_GAME = 2496, + STR_SHORTCUT_ZOOM_VIEW_OUT = 2497, + STR_SHORTCUT_ZOOM_VIEW_IN = 2498, + STR_SHORTCUT_ROTATE_VIEW_CLOCKWISE = 2499, + STR_SHORTCUT_ROTATE_CONSTRUCTION_OBJECT = 2500, + STR_SHORTCUT_UNDERGROUND_VIEW_TOGGLE = 2501, + STR_SHORTCUT_REMOVE_BASE_LAND_TOGGLE = 2502, + STR_SHORTCUT_REMOVE_VERTICAL_LAND_TOGGLE = 2503, + STR_SHORTCUT_SEE_THROUGH_RIDES_TOGGLE = 2504, + STR_SHORTCUT_SEE_THROUGH_SCENERY_TOGGLE = 2505, + STR_SHORTCUT_INVISIBLE_SUPPORTS_TOGGLE = 2506, + STR_SHORTCUT_INVISIBLE_PEOPLE_TOGGLE = 2507, + STR_SHORTCUT_HEIGHT_MARKS_ON_LAND_TOGGLE = 2508, + STR_SHORTCUT_HEIGHT_MARKS_ON_RIDE_TRACKS_TOGGLE = 2509, + STR_SHORTCUT_HEIGHT_MARKS_ON_PATHS_TOGGLE = 2510, + STR_SHORTCUT_ADJUST_LAND = 2511, + STR_SHORTCUT_ADJUST_WATER = 2512, + STR_SHORTCUT_BUILD_SCENERY = 2513, + STR_SHORTCUT_BUILD_PATHS = 2514, + STR_SHORTCUT_BUILD_NEW_RIDE = 2515, + STR_SHORTCUT_SHOW_FINANCIAL_INFORMATION = 2516, + STR_SHORTCUT_SHOW_RESEARCH_INFORMATION = 2517, + STR_SHORTCUT_SHOW_RIDES_LIST = 2518, + STR_SHORTCUT_SHOW_PARK_INFORMATION = 2519, + STR_SHORTCUT_SHOW_GUEST_LIST = 2520, + STR_SHORTCUT_SHOW_STAFF_LIST = 2521, + STR_SHORTCUT_SHOW_RECENT_MESSAGES = 2522, + STR_SHORTCUT_SHOW_MAP = 2523, + STR_SHORTCUT_SCREENSHOT = 2524, + STR_SHORTCUT_KEY_UNKNOWN = 2525, // STR_2525 :??? // STR_2526 :??? // STR_2527 :??? @@ -2117,37 +2117,37 @@ enum { // STR_2677 :??? // STR_2678 :??? // STR_2679 :??? - STR_RESEARCH_COMPLETED_AL = 2680, - STR_CHEAT_5K_MONEY_TIP = 2681, + STR_RESEARCH_COMPLETED_AL = 2680, + STR_CHEAT_5K_MONEY_TIP = 2681, // STR_2682 : // STR_2683 : - STR_CHEAT_LARGE_TRAM_GUESTS_TIP = 2684, - STR_MAPGEN_SIMPLEX_NOISE = 2685, - STR_MAPGEN_SIMPLEX_NOISE_LOW_ = 2686, - STR_MAPGEN_SIMPLEX_NOISE_HIGH = 2687, - STR_MAPGEN_SIMPLEX_NOISE_BASE_FREQUENCY = 2688, - STR_MAPGEN_SIMPLEX_NOISE_OCTAVES = 2689, - STR_MAPGEN_WINDOW_TITLE = 2690, - STR_BASE_HEIGHT_LABEL = 2691, - STR_WATER_LEVEL_LABEL = 2692, - STR_TERRAIN_LABEL = 2693, - STR_MAPGEN_ACTION_GENERATE = 2694, - STR_MAPGEN_OPTION_RANDOM_TERRAIN = 2695, - STR_MAPGEN_OPTION_PLACE_TREES = 2696, + STR_CHEAT_LARGE_TRAM_GUESTS_TIP = 2684, + STR_MAPGEN_SIMPLEX_NOISE = 2685, + STR_MAPGEN_SIMPLEX_NOISE_LOW_ = 2686, + STR_MAPGEN_SIMPLEX_NOISE_HIGH = 2687, + STR_MAPGEN_SIMPLEX_NOISE_BASE_FREQUENCY = 2688, + STR_MAPGEN_SIMPLEX_NOISE_OCTAVES = 2689, + STR_MAPGEN_WINDOW_TITLE = 2690, + STR_BASE_HEIGHT_LABEL = 2691, + STR_WATER_LEVEL_LABEL = 2692, + STR_TERRAIN_LABEL = 2693, + STR_MAPGEN_ACTION_GENERATE = 2694, + STR_MAPGEN_OPTION_RANDOM_TERRAIN = 2695, + STR_MAPGEN_OPTION_PLACE_TREES = 2696, // STR_2697 :??? // STR_2698 :??? // STR_2699 :??? - STR_OPTIONS_AUTOSAVE_FREQUENCY_LABEL = 2700, - STR_SAVE_EVERY_MINUTE = 2701, - STR_SAVE_EVERY_5MINUTES = 2702, - STR_SAVE_EVERY_15MINUTES = 2703, - STR_SAVE_EVERY_30MINUTES = 2704, - STR_SAVE_EVERY_HOUR = 2705, - STR_SAVE_NEVER = 2706, - STR_FILEBROWSER_USE_SYSTEM_WINDOW = 2707, - STR_FILEBROWSER_OVERWRITE_PROMPT = 2708, - STR_FILEBROWSER_OVERWRITE_TITLE = 2709, - STR_FILEBROWSER_FILE_NAME_PROMPT = 2710, + STR_OPTIONS_AUTOSAVE_FREQUENCY_LABEL = 2700, + STR_SAVE_EVERY_MINUTE = 2701, + STR_SAVE_EVERY_5MINUTES = 2702, + STR_SAVE_EVERY_15MINUTES = 2703, + STR_SAVE_EVERY_30MINUTES = 2704, + STR_SAVE_EVERY_HOUR = 2705, + STR_SAVE_NEVER = 2706, + STR_FILEBROWSER_USE_SYSTEM_WINDOW = 2707, + STR_FILEBROWSER_OVERWRITE_PROMPT = 2708, + STR_FILEBROWSER_OVERWRITE_TITLE = 2709, + STR_FILEBROWSER_FILE_NAME_PROMPT = 2710, // STR_2711 :; // STR_2712 := // STR_2713 :, @@ -2155,1618 +2155,1618 @@ enum { // STR_2715 :. // STR_2716 :/ // STR_2717 :' - STR_FILEBROWSER_ACTION_UP = 2718, - STR_FILEBROWSER_ACTION_NEW_FILE = 2719, - STR_DURATION_SEC = 2720, - STR_DURATION_SECS = 2721, - STR_DURATION_MIN_SEC = 2722, - STR_DURATION_MIN_SECS = 2723, - STR_DURATION_MINS_SEC = 2724, - STR_DURATION_MINS_SECS = 2725, - STR_REALTIME_MIN = 2726, - STR_REALTIME_MINS = 2727, - STR_REALTIME_HOUR_MIN = 2728, - STR_REALTIME_HOUR_MINS = 2729, - STR_REALTIME_HOURS_MIN = 2730, - STR_REALTIME_HOURS_MINS = 2731, - STR_UNIT_SUFFIX_FEET = 2732, - STR_UNIT_SUFFIX_METRES = 2733, - STR_UNIT_SUFFIX_MILES_PER_HOUR = 2734, - STR_UNIT_SUFFIX_KILOMETRES_PER_HOUR = 2735, - STR_DATE_FORMAT_MY = 2736, - STR_DATE_FORMAT_DMY = 2737, - STR_OPTIONS_MUSIC_LABEL = 2738, - STR_OPTIONS_MUSIC_VALUE_NONE = 2739, - STR_ROLLERCOASTER_TYCOON_1_DROPDOWN = 2740, - STR_ROLLERCOASTER_TYCOON_2_DROPDOWN = 2741, - STR_OPTIONS_MUSIC_ERR_CSS50_NOT_FOUND = 2742, - STR_OPTIONS_MUSIC_ERR_CSS50_NOT_FOUND_HINT = 2743, + STR_FILEBROWSER_ACTION_UP = 2718, + STR_FILEBROWSER_ACTION_NEW_FILE = 2719, + STR_DURATION_SEC = 2720, + STR_DURATION_SECS = 2721, + STR_DURATION_MIN_SEC = 2722, + STR_DURATION_MIN_SECS = 2723, + STR_DURATION_MINS_SEC = 2724, + STR_DURATION_MINS_SECS = 2725, + STR_REALTIME_MIN = 2726, + STR_REALTIME_MINS = 2727, + STR_REALTIME_HOUR_MIN = 2728, + STR_REALTIME_HOUR_MINS = 2729, + STR_REALTIME_HOURS_MIN = 2730, + STR_REALTIME_HOURS_MINS = 2731, + STR_UNIT_SUFFIX_FEET = 2732, + STR_UNIT_SUFFIX_METRES = 2733, + STR_UNIT_SUFFIX_MILES_PER_HOUR = 2734, + STR_UNIT_SUFFIX_KILOMETRES_PER_HOUR = 2735, + STR_DATE_FORMAT_MY = 2736, + STR_DATE_FORMAT_DMY = 2737, + STR_OPTIONS_MUSIC_LABEL = 2738, + STR_OPTIONS_MUSIC_VALUE_NONE = 2739, + STR_ROLLERCOASTER_TYCOON_1_DROPDOWN = 2740, + STR_ROLLERCOASTER_TYCOON_2_DROPDOWN = 2741, + STR_OPTIONS_MUSIC_ERR_CSS50_NOT_FOUND = 2742, + STR_OPTIONS_MUSIC_ERR_CSS50_NOT_FOUND_HINT = 2743, // STR_2744 :[ // STR_2745 :\ // STR_2746 :] // STR_2747 :{ENDQUOTES} // STR_2748 :Bar - STR_MY_NEW_SCENARIO = 2749, - STR_MOVE_ALL_TOP = 2750, - STR_MOVE_ALL_BOTTOM = 2751, - STR_CHEAT_CLEAR_GRASS = 2752, - STR_CHEAT_MOWED_GRASS = 2753, - STR_CHEAT_WATER_PLANTS = 2754, - STR_CHEAT_FIX_VANDALISM = 2755, - STR_CHEAT_REMOVE_LITTER = 2756, - STR_CHEAT_FORCE_SUN = 2757, // - STR_CHEAT_FORCE_THUNDER = 2758, // - STR_CHEAT_ZERO_CLEARANCE = 2759, // - STR_CHEAT_5K_MONEY = 2760, + STR_MY_NEW_SCENARIO = 2749, + STR_MOVE_ALL_TOP = 2750, + STR_MOVE_ALL_BOTTOM = 2751, + STR_CHEAT_CLEAR_GRASS = 2752, + STR_CHEAT_MOWED_GRASS = 2753, + STR_CHEAT_WATER_PLANTS = 2754, + STR_CHEAT_FIX_VANDALISM = 2755, + STR_CHEAT_REMOVE_LITTER = 2756, + STR_CHEAT_FORCE_SUN = 2757, // + STR_CHEAT_FORCE_THUNDER = 2758, // + STR_CHEAT_ZERO_CLEARANCE = 2759, // + STR_CHEAT_5K_MONEY = 2760, // STR_2761 : // STR_2762 : // STR_2763 :??? // STR_2764 : - STR_CHEAT_LARGE_TRAM_GUESTS = 2765, - STR_CHEAT_WIN_SCENARIO = 2766, - STR_CHEAT_FREEZE_CLIMATE = 2767, - STR_CHEAT_UNFREEZE_CLIMATE = 2768, - STR_CHEAT_OPEN_PARK = 2769, - STR_CHEAT_CLOSE_PARK = 2770, + STR_CHEAT_LARGE_TRAM_GUESTS = 2765, + STR_CHEAT_WIN_SCENARIO = 2766, + STR_CHEAT_FREEZE_CLIMATE = 2767, + STR_CHEAT_UNFREEZE_CLIMATE = 2768, + STR_CHEAT_OPEN_PARK = 2769, + STR_CHEAT_CLOSE_PARK = 2770, // STR_2771 :Slower Gamespeed // STR_2772 :Faster Gamespeed - STR_OPTIONS_DISPLAY_WINDOWED = 2773, - STR_OPTIONS_DISPLAY_FULLSCREEN = 2774, - STR_OPTIONS_DISPLAY_FULLSCREEN_BORDERLESS = 2775, - STR_OPTIONS_LANGUAGE = 2776, - STR_OPTIONS_DROPDOWN_ITEM = 2777, - STR_OPTIONS_DROPDOWN_ITEM_SELECTED = 2778, // used as STR_OPTIONS_DROPDOWN_ITEM + 1 - STR_VIEWPORT_NO = 2779, - STR_EXTRA_VIEWPORT = 2780, - STR_SHORTCUT_ENTRY_FORMAT = 2781, - STR_SHIFT_PLUS = 2782, - STR_CTRL_PLUS = 2783, - STR_SHORTCUT_CHANGE_TITLE = 2784, - STR_SHORTCUT_CHANGE_PROMPT = 2785, - STR_SHORTCUT_LIST_TIP = 2786, - STR_FINANCES_PARK_VALUE = 2787, - STR_OBJECTIVE_ACHIEVED = 2788, - STR_OBJECTIVE_FAILED = 2789, - STR_ENTER_NAME_INTO_SCENARIO_CHART = 2790, - STR_ENTER_NAME = 2791, - STR_PLEASE_ENTER_YOUR_NAME_FOR_THE_SCENARIO_CHART = 2792, - STR_COMPLETED_BY = 2793, - STR_COMPLETED_BY_WITH_COMPANY_VALUE = 2794, - STR_SORT = 2795, - STR_RIDE_LIST_SORT_TIP = 2796, - STR_SCREEN_EDGE_SCROLLING = 2797, - STR_SCREEN_EDGE_SCROLLING_TIP = 2798, - STR_HOTKEY_TIP = 2799, - STR_TOTAL_ADMISSIONS = 2800, - STR_INCOME_FROM_ADMISSIONS = 2801, - STR_MAP_LABEL = 2802, - STR_SHOW_GUESTS_ON_MAP_TIP = 2803, - STR_SHOW_STAFF_ON_MAP_TIP = 2804, - STR_SHOW_MAP_TIP = 2805, - STR_PEEPS_DISGUSTED_BY_PATHS = 2806, - STR_PEEPS_DISLIKE_LITTER = 2807, - STR_PEEPS_DISLIKE_VANDALISM = 2808, - STR_PEEPS_ARE_HUNGRY = 2809, - STR_PEEPS_ARE_THIRSTY = 2810, - STR_PEEPS_CANT_FIND_BATHROOM = 2811, - STR_PEEPS_GETTING_LOST_OR_STUCK = 2812, - STR_ENTRANCE_FEE_TOO_HI = 2813, - STR_AWARD_MOST_UNTIDY = 2814, - STR_AWARD_MOST_TIDY = STR_AWARD_MOST_UNTIDY + 1, - STR_AWARD_BEST_ROLLERCOASTERS = STR_AWARD_MOST_UNTIDY + 2, - STR_AWARD_BEST_VALUE = STR_AWARD_MOST_UNTIDY + 3, - STR_AWARD_MOST_BEAUTIFUL = STR_AWARD_MOST_UNTIDY + 4, - STR_AWARD_WORST_VALUE = STR_AWARD_MOST_UNTIDY + 5, - STR_AWARD_SAFEST = STR_AWARD_MOST_UNTIDY + 6, - STR_AWARD_BEST_STAFF = STR_AWARD_MOST_UNTIDY + 7, - STR_AWARD_BEST_FOOD = STR_AWARD_MOST_UNTIDY + 8, - STR_AWARD_WORST_FOOD = STR_AWARD_MOST_UNTIDY + 9, - STR_AWARD_BEST_RESTROOMS = STR_AWARD_MOST_UNTIDY + 10, - STR_AWARD_MOST_DISAPPOINTING = STR_AWARD_MOST_UNTIDY + 11, - STR_AWARD_BEST_WATER_RIDES = STR_AWARD_MOST_UNTIDY + 12, - STR_AWARD_BEST_CUSTOM_DESIGNED_RIDES = STR_AWARD_MOST_UNTIDY + 13, - STR_AWARD_MOST_DAZZLING_RIDE_COLOURS = STR_AWARD_MOST_UNTIDY + 14, - STR_AWARD_MOST_CONFUSING_LAYOUT = STR_AWARD_MOST_UNTIDY + 15, - STR_AWARD_BEST_GENTLE_RIDES = STR_AWARD_MOST_UNTIDY + 16, - STR_NEWS_ITEM_AWARD_MOST_UNTIDY = 2831, - STR_NEWS_ITEM_MOST_TIDY = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 1, - STR_NEWS_ITEM_BEST_ROLLERCOASTERS = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 2, - STR_NEWS_ITEM_BEST_VALUE = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 3, - STR_NEWS_ITEM_MOST_BEAUTIFUL = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 4, - STR_NEWS_ITEM_WORST_VALUE = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 5, - STR_NEWS_ITEM_SAFEST = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 6, - STR_NEWS_ITEM_BEST_STAFF = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 7, - STR_NEWS_ITEM_BEST_FOOD = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 8, - STR_NEWS_ITEM_WORST_FOOD = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 9, - STR_NEWS_ITEM_BEST_RESTROOMS = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 10, - STR_NEWS_ITEM_MOST_DISAPPOINTING = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 11, - STR_NEWS_ITEM_BEST_WATER_RIDES = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 12, - STR_NEWS_ITEM_BEST_CUSTOM_DESIGNED_RIDES = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 13, - STR_NEWS_ITEM_MOST_DAZZLING_RIDE_COLOURS = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 14, - STR_NEWS_ITEM_MOST_CONFUSING_LAYOUT = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 15, - STR_NEWS_ITEM_BEST_GENTLE_RIDES = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 16, - STR_NO_RECENT_AWARDS = 2848, + STR_OPTIONS_DISPLAY_WINDOWED = 2773, + STR_OPTIONS_DISPLAY_FULLSCREEN = 2774, + STR_OPTIONS_DISPLAY_FULLSCREEN_BORDERLESS = 2775, + STR_OPTIONS_LANGUAGE = 2776, + STR_OPTIONS_DROPDOWN_ITEM = 2777, + STR_OPTIONS_DROPDOWN_ITEM_SELECTED = 2778, // used as STR_OPTIONS_DROPDOWN_ITEM + 1 + STR_VIEWPORT_NO = 2779, + STR_EXTRA_VIEWPORT = 2780, + STR_SHORTCUT_ENTRY_FORMAT = 2781, + STR_SHIFT_PLUS = 2782, + STR_CTRL_PLUS = 2783, + STR_SHORTCUT_CHANGE_TITLE = 2784, + STR_SHORTCUT_CHANGE_PROMPT = 2785, + STR_SHORTCUT_LIST_TIP = 2786, + STR_FINANCES_PARK_VALUE = 2787, + STR_OBJECTIVE_ACHIEVED = 2788, + STR_OBJECTIVE_FAILED = 2789, + STR_ENTER_NAME_INTO_SCENARIO_CHART = 2790, + STR_ENTER_NAME = 2791, + STR_PLEASE_ENTER_YOUR_NAME_FOR_THE_SCENARIO_CHART = 2792, + STR_COMPLETED_BY = 2793, + STR_COMPLETED_BY_WITH_COMPANY_VALUE = 2794, + STR_SORT = 2795, + STR_RIDE_LIST_SORT_TIP = 2796, + STR_SCREEN_EDGE_SCROLLING = 2797, + STR_SCREEN_EDGE_SCROLLING_TIP = 2798, + STR_HOTKEY_TIP = 2799, + STR_TOTAL_ADMISSIONS = 2800, + STR_INCOME_FROM_ADMISSIONS = 2801, + STR_MAP_LABEL = 2802, + STR_SHOW_GUESTS_ON_MAP_TIP = 2803, + STR_SHOW_STAFF_ON_MAP_TIP = 2804, + STR_SHOW_MAP_TIP = 2805, + STR_PEEPS_DISGUSTED_BY_PATHS = 2806, + STR_PEEPS_DISLIKE_LITTER = 2807, + STR_PEEPS_DISLIKE_VANDALISM = 2808, + STR_PEEPS_ARE_HUNGRY = 2809, + STR_PEEPS_ARE_THIRSTY = 2810, + STR_PEEPS_CANT_FIND_BATHROOM = 2811, + STR_PEEPS_GETTING_LOST_OR_STUCK = 2812, + STR_ENTRANCE_FEE_TOO_HI = 2813, + STR_AWARD_MOST_UNTIDY = 2814, + STR_AWARD_MOST_TIDY = STR_AWARD_MOST_UNTIDY + 1, + STR_AWARD_BEST_ROLLERCOASTERS = STR_AWARD_MOST_UNTIDY + 2, + STR_AWARD_BEST_VALUE = STR_AWARD_MOST_UNTIDY + 3, + STR_AWARD_MOST_BEAUTIFUL = STR_AWARD_MOST_UNTIDY + 4, + STR_AWARD_WORST_VALUE = STR_AWARD_MOST_UNTIDY + 5, + STR_AWARD_SAFEST = STR_AWARD_MOST_UNTIDY + 6, + STR_AWARD_BEST_STAFF = STR_AWARD_MOST_UNTIDY + 7, + STR_AWARD_BEST_FOOD = STR_AWARD_MOST_UNTIDY + 8, + STR_AWARD_WORST_FOOD = STR_AWARD_MOST_UNTIDY + 9, + STR_AWARD_BEST_RESTROOMS = STR_AWARD_MOST_UNTIDY + 10, + STR_AWARD_MOST_DISAPPOINTING = STR_AWARD_MOST_UNTIDY + 11, + STR_AWARD_BEST_WATER_RIDES = STR_AWARD_MOST_UNTIDY + 12, + STR_AWARD_BEST_CUSTOM_DESIGNED_RIDES = STR_AWARD_MOST_UNTIDY + 13, + STR_AWARD_MOST_DAZZLING_RIDE_COLOURS = STR_AWARD_MOST_UNTIDY + 14, + STR_AWARD_MOST_CONFUSING_LAYOUT = STR_AWARD_MOST_UNTIDY + 15, + STR_AWARD_BEST_GENTLE_RIDES = STR_AWARD_MOST_UNTIDY + 16, + STR_NEWS_ITEM_AWARD_MOST_UNTIDY = 2831, + STR_NEWS_ITEM_MOST_TIDY = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 1, + STR_NEWS_ITEM_BEST_ROLLERCOASTERS = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 2, + STR_NEWS_ITEM_BEST_VALUE = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 3, + STR_NEWS_ITEM_MOST_BEAUTIFUL = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 4, + STR_NEWS_ITEM_WORST_VALUE = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 5, + STR_NEWS_ITEM_SAFEST = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 6, + STR_NEWS_ITEM_BEST_STAFF = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 7, + STR_NEWS_ITEM_BEST_FOOD = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 8, + STR_NEWS_ITEM_WORST_FOOD = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 9, + STR_NEWS_ITEM_BEST_RESTROOMS = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 10, + STR_NEWS_ITEM_MOST_DISAPPOINTING = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 11, + STR_NEWS_ITEM_BEST_WATER_RIDES = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 12, + STR_NEWS_ITEM_BEST_CUSTOM_DESIGNED_RIDES = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 13, + STR_NEWS_ITEM_MOST_DAZZLING_RIDE_COLOURS = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 14, + STR_NEWS_ITEM_MOST_CONFUSING_LAYOUT = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 15, + STR_NEWS_ITEM_BEST_GENTLE_RIDES = STR_NEWS_ITEM_AWARD_MOST_UNTIDY + 16, + STR_NO_RECENT_AWARDS = 2848, // STR_2849 :New scenario installed successfully // STR_2850 :New track design installed successfully // STR_2851 :Scenario already installed // STR_2852 :Track design already installed - STR_FORBIDDEN_BY_THE_LOCAL_AUTHORITY = 2853, - STR_ENTRANCE_NOT_CONNECTED = 2854, - STR_EXIT_NOT_CONNECTED = 2855, + STR_FORBIDDEN_BY_THE_LOCAL_AUTHORITY = 2853, + STR_ENTRANCE_NOT_CONNECTED = 2854, + STR_EXIT_NOT_CONNECTED = 2855, // STR_2856 :{WINDOW_COLOUR_2}Tutorial // STR_2857 :{WINDOW_COLOUR_2}(Press a key or mouse button to take control) - STR_CANT_START_MARKETING_CAMPAIGN = 2858, + STR_CANT_START_MARKETING_CAMPAIGN = 2858, // STR_2859 :Another instance of OpenRCT2 is already running - STR_INFOGRAMES_INTERACTIVE_CREDITS = 2860, - STR_LICENSED_TO_INFOGRAMES_INTERACTIVE_INC = 2861, - STR_MUSIC_ACKNOWLEDGEMENTS_ELLIPSIS = 2862, - STR_MUSIC_ACKNOWLEDGEMENTS = 2863, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MARCH_CHILDREN_OF_THE_REGIMENT = 2864, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_HEYKENS_SERENADE = 2865, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_IN_CONTINENTAL_MOOD = 2866, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WEDDING_JOURNEY = 2867, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TALES_FROM_THE_VIENNA_WOODS = 2868, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SLAVONIC_DANCE = 2869, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DAS_ALPENHORN = 2870, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_THE_BLOND_SAILOR = 2871, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_OVERTURE_POET_AND_PEASANT = 2872, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WALTZ_MEDLEY = 2873, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BELLA_BELLA_BIMBA = 2874, - STR_MUSIC_ACKNOWLEDGEMENTS_ORIGINAL_RECORDINGS = 2875, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_RCT2_TITLE_MUSIC = 2876, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DODGEMS_BEAT = 2877, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MIS_SUMMERS_HEAT = 2878, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_PHARAOS_TOMB = 2879, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_CAESARS_MARCH = 2880, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DRIFTING_TO_HEAVEN = 2881, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_INVADERS = 2882, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_ETERNAL_TOYBOX = 2883, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_JUNGLE_JUICE = 2884, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_NINJAS_NOODLES = 2885, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_VOYAGE_TO_ANDROMEDA = 2886, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BRIMBLES_BEAT = 2887, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_ATLANTIS = 2888, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WILD_WEST_KID = 2889, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_VAMPIRES_LAIR = 2890, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BLOCKUBSTER = 2891, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_AIRTIME_ROCK = 2892, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SEARCHLIGHT_RAG = 2893, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_FLIGHT_OF_FANTASY = 2894, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BIG_ROCK = 2895, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_HYPOTHERMIA = 2896, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_LAST_SLEIGH_RIDE = 2897, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_PIPES_OF_GLENCAIRN = 2898, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TRAFFIC_JAM = 2899, + STR_INFOGRAMES_INTERACTIVE_CREDITS = 2860, + STR_LICENSED_TO_INFOGRAMES_INTERACTIVE_INC = 2861, + STR_MUSIC_ACKNOWLEDGEMENTS_ELLIPSIS = 2862, + STR_MUSIC_ACKNOWLEDGEMENTS = 2863, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MARCH_CHILDREN_OF_THE_REGIMENT = 2864, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_HEYKENS_SERENADE = 2865, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_IN_CONTINENTAL_MOOD = 2866, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WEDDING_JOURNEY = 2867, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TALES_FROM_THE_VIENNA_WOODS = 2868, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SLAVONIC_DANCE = 2869, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DAS_ALPENHORN = 2870, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_THE_BLOND_SAILOR = 2871, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_OVERTURE_POET_AND_PEASANT = 2872, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WALTZ_MEDLEY = 2873, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BELLA_BELLA_BIMBA = 2874, + STR_MUSIC_ACKNOWLEDGEMENTS_ORIGINAL_RECORDINGS = 2875, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_RCT2_TITLE_MUSIC = 2876, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DODGEMS_BEAT = 2877, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MIS_SUMMERS_HEAT = 2878, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_PHARAOS_TOMB = 2879, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_CAESARS_MARCH = 2880, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DRIFTING_TO_HEAVEN = 2881, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_INVADERS = 2882, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_ETERNAL_TOYBOX = 2883, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_JUNGLE_JUICE = 2884, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_NINJAS_NOODLES = 2885, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_VOYAGE_TO_ANDROMEDA = 2886, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BRIMBLES_BEAT = 2887, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_ATLANTIS = 2888, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WILD_WEST_KID = 2889, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_VAMPIRES_LAIR = 2890, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BLOCKUBSTER = 2891, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_AIRTIME_ROCK = 2892, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SEARCHLIGHT_RAG = 2893, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_FLIGHT_OF_FANTASY = 2894, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BIG_ROCK = 2895, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_HYPOTHERMIA = 2896, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_LAST_SLEIGH_RIDE = 2897, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_PIPES_OF_GLENCAIRN = 2898, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TRAFFIC_JAM = 2899, - STR_MUSIC_ACKNOWLEDGEMENTS_SAMPLES_COURTESY = 2901, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TOCCATA = 2902, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SPACE_ROCK = 2903, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MANIC_MECHANIC = 2904, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TECHNO_TORTURE = 2905, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SWEET_DREAMS = 2906, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WHAT_SHALL_WE_DO_WITH_THE_DRUNKEN_SAILOR = 2907, - STR_CREDITS_PUBLISHER_TILE = 2908, - STR_CREDITS_PUBLISHER_LINE_0 = 2909, - STR_CREDITS_PUBLISHER_LINE_1 = 2910, - STR_CREDITS_PUBLISHER_LINE_2 = 2911, - STR_CREDITS_PUBLISHER_LINE_3 = 2912, - STR_CREDITS_PUBLISHER_LINE_4 = 2913, - STR_CREDITS_PUBLISHER_LINE_5 = 2914, - STR_CREDITS_PUBLISHER_LINE_6 = 2915, - STR_CREDITS_PUBLISHER_LINE_7 = 2916, - STR_CREDITS_PUBLISHER_LINE_10 = 2917, - STR_CREDITS_PUBLISHER_LINE_11 = 2918, - STR_CREDITS_PUBLISHER_LINE_14 = 2919, - STR_CREDITS_PUBLISHER_LINE_15 = 2920, - STR_CREDITS_PUBLISHER_LINE_16 = 2921, - STR_CREDITS_PUBLISHER_LINE_17 = 2922, - STR_CREDITS_PUBLISHER_LINE_18 = 2923, - STR_CREDITS_PUBLISHER_LINE_21 = 2924, - STR_CREDITS_PUBLISHER_LINE_19 = 2925, - STR_CREDITS_PUBLISHER_LINE_20 = 2926, - STR_CREDITS_PUBLISHER_LINE_12 = 2927, - STR_CREDITS_PUBLISHER_LINE_13 = 2928, - STR_CREDITS_PUBLISHER_LINE_9 = 2929, - STR_CREDITS_PUBLISHER_LINE_8 = 2930, + STR_MUSIC_ACKNOWLEDGEMENTS_SAMPLES_COURTESY = 2901, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TOCCATA = 2902, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SPACE_ROCK = 2903, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MANIC_MECHANIC = 2904, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TECHNO_TORTURE = 2905, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SWEET_DREAMS = 2906, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WHAT_SHALL_WE_DO_WITH_THE_DRUNKEN_SAILOR = 2907, + STR_CREDITS_PUBLISHER_TILE = 2908, + STR_CREDITS_PUBLISHER_LINE_0 = 2909, + STR_CREDITS_PUBLISHER_LINE_1 = 2910, + STR_CREDITS_PUBLISHER_LINE_2 = 2911, + STR_CREDITS_PUBLISHER_LINE_3 = 2912, + STR_CREDITS_PUBLISHER_LINE_4 = 2913, + STR_CREDITS_PUBLISHER_LINE_5 = 2914, + STR_CREDITS_PUBLISHER_LINE_6 = 2915, + STR_CREDITS_PUBLISHER_LINE_7 = 2916, + STR_CREDITS_PUBLISHER_LINE_10 = 2917, + STR_CREDITS_PUBLISHER_LINE_11 = 2918, + STR_CREDITS_PUBLISHER_LINE_14 = 2919, + STR_CREDITS_PUBLISHER_LINE_15 = 2920, + STR_CREDITS_PUBLISHER_LINE_16 = 2921, + STR_CREDITS_PUBLISHER_LINE_17 = 2922, + STR_CREDITS_PUBLISHER_LINE_18 = 2923, + STR_CREDITS_PUBLISHER_LINE_21 = 2924, + STR_CREDITS_PUBLISHER_LINE_19 = 2925, + STR_CREDITS_PUBLISHER_LINE_20 = 2926, + STR_CREDITS_PUBLISHER_LINE_12 = 2927, + STR_CREDITS_PUBLISHER_LINE_13 = 2928, + STR_CREDITS_PUBLISHER_LINE_9 = 2929, + STR_CREDITS_PUBLISHER_LINE_8 = 2930, - STR_MAIN_COLOUR_SCHEME = 2971, - STR_ALTERNATIVE_COLOUR_SCHEME_1 = 2972, - STR_ALTERNATIVE_COLOUR_SCHEME_2 = 2973, - STR_ALTERNATIVE_COLOUR_SCHEME_3 = 2974, - STR_COLOUR_SCHEME_TO_CHANGE_TIP = 2975, - STR_PAINT_INDIVIDUAL_AREA_TIP = 2976, - STR_STAFF_TITLE_STAFF_MEMBER_NAME = 2977, - STR_STAFF_PROMPT_ENTER_NAME = 2978, - STR_STAFF_ERROR_CANT_NAME_STAFF_MEMBER = 2979, - STR_TOO_MANY_BANNERS_IN_GAME = 2980, - STR_NO_ENTRY = 2981, - STR_BANNER_TEXT = 2982, - STR_ENTER_BANNER_TEXT = 2983, - STR_ERR_CANT_SET_BANNER_TEXT = 2984, - STR_BANNER_WINDOW_TITLE = 2985, - STR_CHANGE_BANNER_TEXT_TIP = 2986, - STR_SET_AS_NO_ENTRY_BANNER_TIP = 2987, - STR_DEMOLISH_BANNER_TIP = 2988, - STR_SELECT_MAIN_SIGN_COLOUR_TIP = 2989, - STR_SELECT_TEXT_COLOUR_TIP = 2990, - STR_SIGN = 2991, - STR_SIGN_TEXT_TITLE = 2992, - STR_SIGN_TEXT_PROMPT = 2993, - STR_CHANGE_SIGN_TEXT_TIP = 2994, - STR_DEMOLISH_SIGN_TIP = 2995, - STR_TEXT_COLOR_BLACK = 2996, - STR_TEXT_COLOR_GREY = 2997, - STR_TEXT_COLOR_WHITE = 2998, - STR_TEXT_COLOR_RED = 2999, - STR_TEXT_COLOR_GREEN = 3000, - STR_TEXT_COLOR_YELLOW = 3001, - STR_TEXT_COLOR_TOPAZ = 3002, - STR_TEXT_COLOR_CELADON = 3003, - STR_TEXT_COLOR_BABYBLUE = 3004, - STR_TEXT_COLOR_PALELAVENDER = 3005, - STR_TEXT_COLOR_PALEGOLD = 3006, - STR_TEXT_COLOR_LIGHTPINK = 3007, - STR_TEXT_COLOR_PEARLAQUA = 3008, - STR_TEXT_COLOR_PALESILVER = 3009, - STR_UNABLE_TO_LOAD_FILE = 3010, - STR_FILE_CONTAINS_INVALID_DATA = 3011, - STR_MUSIC_STYLE_DODGEMS_BEAT = 3012, - STR_MUSIC_STYLE_FAIRGROUND_ORGAN = 3013, - STR_MUSIC_STYLE_ROMAN_FANFARE = 3014, - STR_MUSIC_STYLE_ORIENTAL = 3015, - STR_MUSIC_STYLE_MARTIAN = 3016, - STR_MUSIC_STYLE_JUNGLE_DRUMS = 3017, - STR_MUSIC_STYLE_EGYPTIAN = 3018, - STR_MUSIC_STYLE_TOYLAND = 3019, - STR_MUSIC_STYLE_CIRCUS_SHOW = 3020, - STR_MUSIC_STYLE_SPACE = 3021, - STR_MUSIC_STYLE_HORROR = 3022, - STR_MUSIC_STYLE_TECHNO = 3023, - STR_MUSIC_STYLE_GENTLE = 3024, - STR_MUSIC_STYLE_SUMMER = 3025, - STR_MUSIC_STYLE_WATER = 3026, - STR_MUSIC_STYLE_WILD_WEST = 3027, - STR_MUSIC_STYLE_JURASSIC = 3028, - STR_MUSIC_STYLE_ROCK = 3029, - STR_MUSIC_STYLE_RAGTIME = 3030, - STR_MUSIC_STYLE_FANTASY = 3031, - STR_MUSIC_STYLE_ROCK_STYLE_2 = 3032, - STR_MUSIC_STYLE_ICE = 3033, - STR_MUSIC_STYLE_SNOW = 3034, - STR_MUSIC_STYLE_CUSTOM_MUSIC_1 = 3035, - STR_MUSIC_STYLE_CUSTOM_MUSIC_2 = 3036, - STR_MUSIC_STYLE_MEDIEVAL = 3037, - STR_MUSIC_STYLE_URBAN = 3038, - STR_MUSIC_STYLE_ORGAN = 3039, - STR_MUSIC_STYLE_MECHANICAL = 3040, - STR_MUSIC_STYLE_MODERN = 3041, - STR_MUSIC_STYLE_PIRATES = 3042, - STR_MUSIC_STYLE_ROCK_STYLE_3 = 3043, - STR_MUSIC_STYLE_CANDY_STYLE = 3044, - STR_SELECT_MUSIC_STYLE_TIP = 3045, - STR_THIS_RIDE_CANNOT_BE_MODIFIED = 3046, // Unused - STR_LOCAL_AUTHORITY_FORBIDS_DEMOLITION_OR_MODIFICATIONS_TO_THIS_RIDE = 3047, - STR_MARKETING_CAMPAIGNS_FORBIDDEN_BY_LOCAL_AUTHORITY = 3048, - STR_GOLF_HOLE_A = 3049, - STR_GOLF_HOLE_B = 3050, - STR_GOLF_HOLE_C = 3051, - STR_GOLF_HOLE_D = 3052, - STR_GOLF_HOLE_E = 3053, + STR_MAIN_COLOUR_SCHEME = 2971, + STR_ALTERNATIVE_COLOUR_SCHEME_1 = 2972, + STR_ALTERNATIVE_COLOUR_SCHEME_2 = 2973, + STR_ALTERNATIVE_COLOUR_SCHEME_3 = 2974, + STR_COLOUR_SCHEME_TO_CHANGE_TIP = 2975, + STR_PAINT_INDIVIDUAL_AREA_TIP = 2976, + STR_STAFF_TITLE_STAFF_MEMBER_NAME = 2977, + STR_STAFF_PROMPT_ENTER_NAME = 2978, + STR_STAFF_ERROR_CANT_NAME_STAFF_MEMBER = 2979, + STR_TOO_MANY_BANNERS_IN_GAME = 2980, + STR_NO_ENTRY = 2981, + STR_BANNER_TEXT = 2982, + STR_ENTER_BANNER_TEXT = 2983, + STR_ERR_CANT_SET_BANNER_TEXT = 2984, + STR_BANNER_WINDOW_TITLE = 2985, + STR_CHANGE_BANNER_TEXT_TIP = 2986, + STR_SET_AS_NO_ENTRY_BANNER_TIP = 2987, + STR_DEMOLISH_BANNER_TIP = 2988, + STR_SELECT_MAIN_SIGN_COLOUR_TIP = 2989, + STR_SELECT_TEXT_COLOUR_TIP = 2990, + STR_SIGN = 2991, + STR_SIGN_TEXT_TITLE = 2992, + STR_SIGN_TEXT_PROMPT = 2993, + STR_CHANGE_SIGN_TEXT_TIP = 2994, + STR_DEMOLISH_SIGN_TIP = 2995, + STR_TEXT_COLOR_BLACK = 2996, + STR_TEXT_COLOR_GREY = 2997, + STR_TEXT_COLOR_WHITE = 2998, + STR_TEXT_COLOR_RED = 2999, + STR_TEXT_COLOR_GREEN = 3000, + STR_TEXT_COLOR_YELLOW = 3001, + STR_TEXT_COLOR_TOPAZ = 3002, + STR_TEXT_COLOR_CELADON = 3003, + STR_TEXT_COLOR_BABYBLUE = 3004, + STR_TEXT_COLOR_PALELAVENDER = 3005, + STR_TEXT_COLOR_PALEGOLD = 3006, + STR_TEXT_COLOR_LIGHTPINK = 3007, + STR_TEXT_COLOR_PEARLAQUA = 3008, + STR_TEXT_COLOR_PALESILVER = 3009, + STR_UNABLE_TO_LOAD_FILE = 3010, + STR_FILE_CONTAINS_INVALID_DATA = 3011, + STR_MUSIC_STYLE_DODGEMS_BEAT = 3012, + STR_MUSIC_STYLE_FAIRGROUND_ORGAN = 3013, + STR_MUSIC_STYLE_ROMAN_FANFARE = 3014, + STR_MUSIC_STYLE_ORIENTAL = 3015, + STR_MUSIC_STYLE_MARTIAN = 3016, + STR_MUSIC_STYLE_JUNGLE_DRUMS = 3017, + STR_MUSIC_STYLE_EGYPTIAN = 3018, + STR_MUSIC_STYLE_TOYLAND = 3019, + STR_MUSIC_STYLE_CIRCUS_SHOW = 3020, + STR_MUSIC_STYLE_SPACE = 3021, + STR_MUSIC_STYLE_HORROR = 3022, + STR_MUSIC_STYLE_TECHNO = 3023, + STR_MUSIC_STYLE_GENTLE = 3024, + STR_MUSIC_STYLE_SUMMER = 3025, + STR_MUSIC_STYLE_WATER = 3026, + STR_MUSIC_STYLE_WILD_WEST = 3027, + STR_MUSIC_STYLE_JURASSIC = 3028, + STR_MUSIC_STYLE_ROCK = 3029, + STR_MUSIC_STYLE_RAGTIME = 3030, + STR_MUSIC_STYLE_FANTASY = 3031, + STR_MUSIC_STYLE_ROCK_STYLE_2 = 3032, + STR_MUSIC_STYLE_ICE = 3033, + STR_MUSIC_STYLE_SNOW = 3034, + STR_MUSIC_STYLE_CUSTOM_MUSIC_1 = 3035, + STR_MUSIC_STYLE_CUSTOM_MUSIC_2 = 3036, + STR_MUSIC_STYLE_MEDIEVAL = 3037, + STR_MUSIC_STYLE_URBAN = 3038, + STR_MUSIC_STYLE_ORGAN = 3039, + STR_MUSIC_STYLE_MECHANICAL = 3040, + STR_MUSIC_STYLE_MODERN = 3041, + STR_MUSIC_STYLE_PIRATES = 3042, + STR_MUSIC_STYLE_ROCK_STYLE_3 = 3043, + STR_MUSIC_STYLE_CANDY_STYLE = 3044, + STR_SELECT_MUSIC_STYLE_TIP = 3045, + STR_THIS_RIDE_CANNOT_BE_MODIFIED = 3046, // Unused + STR_LOCAL_AUTHORITY_FORBIDS_DEMOLITION_OR_MODIFICATIONS_TO_THIS_RIDE = 3047, + STR_MARKETING_CAMPAIGNS_FORBIDDEN_BY_LOCAL_AUTHORITY = 3048, + STR_GOLF_HOLE_A = 3049, + STR_GOLF_HOLE_B = 3050, + STR_GOLF_HOLE_C = 3051, + STR_GOLF_HOLE_D = 3052, + STR_GOLF_HOLE_E = 3053, // STR_3054 :Loading... - STR_CONSTRUCTION_MARKER_COLOUR_WHITE = 3055, - STR_CONSTRUCTION_MARKER_COLOUR_TRANSLUCENT = 3056, - STR_CONSTRUCTION_MARKER = 3057, - STR_RIDE_DESIGN_MAZE_BRICK_WALLS = 3058, - STR_RIDE_DESIGN_MAZE_HEDGES = 3059, - STR_RIDE_DESIGN_MAZE_ICE_BLOCKS = 3060, - STR_RIDE_DESIGN_MAZE_WOODEN_FENCES = 3061, - STR_RIDE_CONSTRUCTION_STANDARD_RC_TRACK_TIP = 3062, - STR_RIDE_CONSTRUCTION_WATER_CHANNEL_TIP = 3063, - STR_BEGINNER_PARKS = 3064, - STR_CHALLENGING_PARKS = STR_BEGINNER_PARKS + 1, - STR_EXPERT_PARKS = STR_BEGINNER_PARKS + 2, - STR_REAL_PARKS = STR_BEGINNER_PARKS + 3, - STR_OTHER_PARKS = STR_BEGINNER_PARKS + 4, - STR_TOP_SECTION = 3069, - STR_SLOPE_TO_LEVEL = 3070, - STR_SAME_PRICE_THROUGHOUT_PARK = 3071, - STR_SAME_PRICE_THROUGHOUT_PARK_TIP = 3072, - STR_PARK_RATING_WARNING_4_WEEKS_REMAINING = 3073, - STR_PARK_RATING_WARNING_3_WEEKS_REMAINING = 3074, - STR_PARK_RATING_WARNING_2_WEEKS_REMAINING = 3075, - STR_PARK_RATING_WARNING_1_WEEK_REMAINING = 3076, - STR_PARK_HAS_BEEN_CLOSED_DOWN = 3077, - STR_PLAIN_ENTRANCE = 3078, - STR_WOODEN_ENTRANCE = 3079, - STR_CANVAS_TENT_ENTRANCE = 3080, - STR_CASTLE_ENTRANCE_GREY = 3081, - STR_CASTLE_ENTRANCE_BROWN = 3082, - STR_JUNGLE_ENTRANCE = 3083, - STR_LOG_CABIN_ENTRANCE = 3084, - STR_CLASSICAL_ROMAN_ENTRANCE = 3085, - STR_ABSTRACT_ENTRANCE = 3086, - STR_SNOW_ICE_ENTRANCE = 3087, - STR_PAGODA_ENTRANCE = 3088, - STR_SPACE_ENTRANCE = 3089, - STR_SELECT_STYLE_OF_ENTRANCE_EXIT_STATION_TIP = 3090, - STR_YOU_ARE_NOT_ALLOWED_TO_REMOVE_THIS_SECTION = 3091, - STR_NOT_ALLOWED_TO_MODIFY_STATION = 3092, - STR_FAVOURITE_RIDE = 3093, - STR_PEEP_FAVOURITE_RIDE_NOT_AVAILABLE = 3094, - STR_LIFT_HILL_CHAIN_SPEED = 3095, - STR_LIFT_HILL_CHAIN_SPEED_VALUE = 3096, - STR_SELECT_LIFT_HILL_CHAIN_SPEED_TIP = 3097, + STR_CONSTRUCTION_MARKER_COLOUR_WHITE = 3055, + STR_CONSTRUCTION_MARKER_COLOUR_TRANSLUCENT = 3056, + STR_CONSTRUCTION_MARKER = 3057, + STR_RIDE_DESIGN_MAZE_BRICK_WALLS = 3058, + STR_RIDE_DESIGN_MAZE_HEDGES = 3059, + STR_RIDE_DESIGN_MAZE_ICE_BLOCKS = 3060, + STR_RIDE_DESIGN_MAZE_WOODEN_FENCES = 3061, + STR_RIDE_CONSTRUCTION_STANDARD_RC_TRACK_TIP = 3062, + STR_RIDE_CONSTRUCTION_WATER_CHANNEL_TIP = 3063, + STR_BEGINNER_PARKS = 3064, + STR_CHALLENGING_PARKS = STR_BEGINNER_PARKS + 1, + STR_EXPERT_PARKS = STR_BEGINNER_PARKS + 2, + STR_REAL_PARKS = STR_BEGINNER_PARKS + 3, + STR_OTHER_PARKS = STR_BEGINNER_PARKS + 4, + STR_TOP_SECTION = 3069, + STR_SLOPE_TO_LEVEL = 3070, + STR_SAME_PRICE_THROUGHOUT_PARK = 3071, + STR_SAME_PRICE_THROUGHOUT_PARK_TIP = 3072, + STR_PARK_RATING_WARNING_4_WEEKS_REMAINING = 3073, + STR_PARK_RATING_WARNING_3_WEEKS_REMAINING = 3074, + STR_PARK_RATING_WARNING_2_WEEKS_REMAINING = 3075, + STR_PARK_RATING_WARNING_1_WEEK_REMAINING = 3076, + STR_PARK_HAS_BEEN_CLOSED_DOWN = 3077, + STR_PLAIN_ENTRANCE = 3078, + STR_WOODEN_ENTRANCE = 3079, + STR_CANVAS_TENT_ENTRANCE = 3080, + STR_CASTLE_ENTRANCE_GREY = 3081, + STR_CASTLE_ENTRANCE_BROWN = 3082, + STR_JUNGLE_ENTRANCE = 3083, + STR_LOG_CABIN_ENTRANCE = 3084, + STR_CLASSICAL_ROMAN_ENTRANCE = 3085, + STR_ABSTRACT_ENTRANCE = 3086, + STR_SNOW_ICE_ENTRANCE = 3087, + STR_PAGODA_ENTRANCE = 3088, + STR_SPACE_ENTRANCE = 3089, + STR_SELECT_STYLE_OF_ENTRANCE_EXIT_STATION_TIP = 3090, + STR_YOU_ARE_NOT_ALLOWED_TO_REMOVE_THIS_SECTION = 3091, + STR_NOT_ALLOWED_TO_MODIFY_STATION = 3092, + STR_FAVOURITE_RIDE = 3093, + STR_PEEP_FAVOURITE_RIDE_NOT_AVAILABLE = 3094, + STR_LIFT_HILL_CHAIN_SPEED = 3095, + STR_LIFT_HILL_CHAIN_SPEED_VALUE = 3096, + STR_SELECT_LIFT_HILL_CHAIN_SPEED_TIP = 3097, // STR_3098 :Can't change lift hill speed... - STR_SELECT_COLOUR = 3099, - STR_SELECT_SECONDARY_COLOUR = 3100, - STR_SELECT_TERNARY_COLOUR = 3101, - STR_SCENERY_PAINTBRUSH_TIP = 3102, - STR_CANT_REPAINT_THIS = 3103, - STR_LIST_RIDES_TIP = 3104, - STR_LIST_SHOPS_AND_STALLS_TIP = 3105, - STR_LIST_KIOSKS_AND_FACILITIES_TIP = 3106, - STR_CLOSE_RIDE = 3107, - STR_TEST_RIDE = 3108, - STR_OPEN_RIDE = 3109, - STR_BLOCK_SECTIONS = 3110, - STR_CLICK_ON_DESIGN_TO_BUILD_IT_TIP = 3111, - STR_CLICK_ON_DESIGN_TO_RENAME_OR_DELETE_IT = 3112, - STR_SELECT_A_DIFFERENT_DESIGN = 3113, - STR_GO_BACK_TO_DESIGN_SELECTION_WINDOW_TIP = 3114, - STR_SAVE_TRACK_DESIGN = 3115, - STR_SAVE_TRACK_DESIGN_NOT_POSSIBLE = 3116, - STR_CALLING_MECHANIC = 3117, - STR_MEHCANIC_IS_HEADING_FOR_THE_RIDE = 3118, - STR_MEHCANIC_IS_FIXING_THE_RIDE = 3119, - STR_LOCATE_NEAREST_AVAILABLE_MECHANIC_TIP = 3120, - STR_UNABLE_TO_LOCATE_MECHANIC = 3121, - STR_FAVOURITE_RIDE_OF_GUEST = 3122, - STR_FAVOURITE_RIDE_OF_GUESTS = 3123, - STR_BROKEN = 3124, - STR_EXCITEMENT_FACTOR = 3125, - STR_INTENSITY_FACTOR = 3126, - STR_NAUSEA_FACTOR = 3127, - STR_SAVE_TRACK_DESIGN_ITEM = 3128, - STR_SAVE_TRACK_DESIGN_WITH_SCENERY_ITEM = 3129, - STR_DESIGN_SAVE = 3130, - STR_DESIGN_CANCEL = 3131, - STR_CLICK_ITEMS_OF_SCENERY_TO_SELECT = 3132, - STR_ERR_UNABLE_TO_BUILD_THIS_ON_SLOPE = 3133, - STR_DESIGN_INCLUDES_SCENERY_WHICH_IS_UNAVAILABLE = 3134, - STR_VEHICLE_DESIGN_UNAVAILABLE = 3135, - STR_THIS_DESIGN_WILL_BE_BUILT_WITH_AN_ALTERNATIVE_VEHICLE_TYPE = 3136, - STR_SELECT_NEARBY_SCENERY = 3137, - STR_RESET_SELECTION = 3138, - STR_CABLE_LIFT_UNABLE_TO_WORK_IN_THIS_OPERATING_MODE = 3139, - STR_CABLE_LIFT_HILL_MUST_START_IMMEDIATELY_AFTER_STATION = 3140, - STR_MULTICIRCUIT_NOT_POSSIBLE_WITH_CABLE_LIFT_HILL = 3141, - STR_CAPACITY = 3142, - STR_SHOW_PEOPLE_ON_MAP_TIP = 3143, - STR_SHOW_RIDES_STALLS_ON_MAP_TIP = 3144, - STR_SCROLL_LEFT_TIP = 3145, // Unused - STR_SCROLL_RIGHT_TIP = STR_SCROLL_LEFT_TIP + 1, // Unused - STR_SCROLL_LEFT_FAST_TIP = STR_SCROLL_LEFT_TIP + 2, // Unused - STR_SCROLL_RIGHT_FAST_TIP = STR_SCROLL_LEFT_TIP + 3, // Unused - STR_SCROLL_LEFT_RIGHT_TIP = STR_SCROLL_LEFT_TIP + 4, // Unused - STR_SCROLL_UP_TIP = STR_SCROLL_LEFT_TIP + 5, // Unused - STR_SCROLL_DOWN_TIP = STR_SCROLL_LEFT_TIP + 6, // Unused - STR_SCROLL_UP_FAST_TIP = STR_SCROLL_LEFT_TIP + 7, // Unused - STR_SCROLL_DOWN_FAST_TIP = STR_SCROLL_LEFT_TIP + 8, // Unused - STR_SCROLL_UP_DOWN_TIP = STR_SCROLL_LEFT_TIP + 9, // Unused + STR_SELECT_COLOUR = 3099, + STR_SELECT_SECONDARY_COLOUR = 3100, + STR_SELECT_TERNARY_COLOUR = 3101, + STR_SCENERY_PAINTBRUSH_TIP = 3102, + STR_CANT_REPAINT_THIS = 3103, + STR_LIST_RIDES_TIP = 3104, + STR_LIST_SHOPS_AND_STALLS_TIP = 3105, + STR_LIST_KIOSKS_AND_FACILITIES_TIP = 3106, + STR_CLOSE_RIDE = 3107, + STR_TEST_RIDE = 3108, + STR_OPEN_RIDE = 3109, + STR_BLOCK_SECTIONS = 3110, + STR_CLICK_ON_DESIGN_TO_BUILD_IT_TIP = 3111, + STR_CLICK_ON_DESIGN_TO_RENAME_OR_DELETE_IT = 3112, + STR_SELECT_A_DIFFERENT_DESIGN = 3113, + STR_GO_BACK_TO_DESIGN_SELECTION_WINDOW_TIP = 3114, + STR_SAVE_TRACK_DESIGN = 3115, + STR_SAVE_TRACK_DESIGN_NOT_POSSIBLE = 3116, + STR_CALLING_MECHANIC = 3117, + STR_MEHCANIC_IS_HEADING_FOR_THE_RIDE = 3118, + STR_MEHCANIC_IS_FIXING_THE_RIDE = 3119, + STR_LOCATE_NEAREST_AVAILABLE_MECHANIC_TIP = 3120, + STR_UNABLE_TO_LOCATE_MECHANIC = 3121, + STR_FAVOURITE_RIDE_OF_GUEST = 3122, + STR_FAVOURITE_RIDE_OF_GUESTS = 3123, + STR_BROKEN = 3124, + STR_EXCITEMENT_FACTOR = 3125, + STR_INTENSITY_FACTOR = 3126, + STR_NAUSEA_FACTOR = 3127, + STR_SAVE_TRACK_DESIGN_ITEM = 3128, + STR_SAVE_TRACK_DESIGN_WITH_SCENERY_ITEM = 3129, + STR_DESIGN_SAVE = 3130, + STR_DESIGN_CANCEL = 3131, + STR_CLICK_ITEMS_OF_SCENERY_TO_SELECT = 3132, + STR_ERR_UNABLE_TO_BUILD_THIS_ON_SLOPE = 3133, + STR_DESIGN_INCLUDES_SCENERY_WHICH_IS_UNAVAILABLE = 3134, + STR_VEHICLE_DESIGN_UNAVAILABLE = 3135, + STR_THIS_DESIGN_WILL_BE_BUILT_WITH_AN_ALTERNATIVE_VEHICLE_TYPE = 3136, + STR_SELECT_NEARBY_SCENERY = 3137, + STR_RESET_SELECTION = 3138, + STR_CABLE_LIFT_UNABLE_TO_WORK_IN_THIS_OPERATING_MODE = 3139, + STR_CABLE_LIFT_HILL_MUST_START_IMMEDIATELY_AFTER_STATION = 3140, + STR_MULTICIRCUIT_NOT_POSSIBLE_WITH_CABLE_LIFT_HILL = 3141, + STR_CAPACITY = 3142, + STR_SHOW_PEOPLE_ON_MAP_TIP = 3143, + STR_SHOW_RIDES_STALLS_ON_MAP_TIP = 3144, + STR_SCROLL_LEFT_TIP = 3145, // Unused + STR_SCROLL_RIGHT_TIP = STR_SCROLL_LEFT_TIP + 1, // Unused + STR_SCROLL_LEFT_FAST_TIP = STR_SCROLL_LEFT_TIP + 2, // Unused + STR_SCROLL_RIGHT_FAST_TIP = STR_SCROLL_LEFT_TIP + 3, // Unused + STR_SCROLL_LEFT_RIGHT_TIP = STR_SCROLL_LEFT_TIP + 4, // Unused + STR_SCROLL_UP_TIP = STR_SCROLL_LEFT_TIP + 5, // Unused + STR_SCROLL_DOWN_TIP = STR_SCROLL_LEFT_TIP + 6, // Unused + STR_SCROLL_UP_FAST_TIP = STR_SCROLL_LEFT_TIP + 7, // Unused + STR_SCROLL_DOWN_FAST_TIP = STR_SCROLL_LEFT_TIP + 8, // Unused + STR_SCROLL_UP_DOWN_TIP = STR_SCROLL_LEFT_TIP + 9, // Unused // STR_3155 : // STR_3156 : - STR_MAP = 3157, - STR_GRAPH = 3158, - STR_LIST = 3159, - STR_SELECT_NUMBER_OF_CIRCUITS_TIP = 3160, + STR_MAP = 3157, + STR_GRAPH = 3158, + STR_LIST = 3159, + STR_SELECT_NUMBER_OF_CIRCUITS_TIP = 3160, // STR_3161 : - STR_ERR_REASON_NOT_ENOUGH_MEMORY = 3162, + STR_ERR_REASON_NOT_ENOUGH_MEMORY = 3162, // STR_3163 :Installing new data: - STR_OBJECT_SELECTION_SELECTION_SIZE = 3164, + STR_OBJECT_SELECTION_SELECTION_SIZE = 3164, // STR_PLACEHOLDER = 3165, // STR_3166 :{BLACK}(ID: // STR_3167 :{WINDOW_COLOUR_2}Includes: {BLACK}{COMMA16} objects - STR_OBJECT_SELECTION_DESCRIPTION_SCENARIO_TEXT = 3168, - STR_OBJECT_SELECTION_ERR_OBJECT_DATA_NOT_FOUND = 3169, - STR_OBJECT_SELECTION_ERR_NOT_ENOUGH_SPACE_FOR_GRAPHICS = 3170, - STR_OBJECT_SELECTION_ERR_TOO_MANY_OF_TYPE_SELECTED = 3171, - STR_OBJECT_SELECTION_ERR_SHOULD_SELECT_X_FIRST = 3172, - STR_OBJECT_SELECTION_ERR_CURRENTLY_IN_USE = 3173, - STR_OBJECT_SELECTION_ERR_IS_REQUIRED_BY_ANOTHER = 3174, - STR_OBJECT_SELECTION_ERR_ALWAYS_REQUIRED = 3175, - STR_UNABLE_TO_SELECT_THIS_OBJECT = 3176, - STR_UNABLE_TO_DE_SELECT_THIS_OBJECT = 3177, - STR_AT_LEAST_ONE_PATH_OBJECT_MUST_BE_SELECTED = 3178, - STR_AT_LEAST_ONE_RIDE_OBJECT_MUST_BE_SELECTED = 3179, - STR_INVALID_SELECTION_OF_OBJECTS = 3180, - STR_OBJECT_SELECTION = 3181, - STR_PARK_ENTRANCE_TYPE_MUST_BE_SELECTED = 3182, - STR_WATER_TYPE_MUST_BE_SELECTED = 3183, - STR_OBJECT_SELECTION_RIDE_VEHICLES_ATTRACTIONS = 3184, - STR_OBJECT_SELECTION_SMALL_SCENERY = 3185, - STR_OBJECT_SELECTION_LARGE_SCENERY = 3186, - STR_OBJECT_SELECTION_WALLS_FENCES = 3187, - STR_OBJECT_SELECTION_PATH_SIGNS = 3188, - STR_OBJECT_SELECTION_FOOTPATHS = 3189, - STR_OBJECT_SELECTION_PATH_EXTRAS = 3190, - STR_OBJECT_SELECTION_SCENERY_GROUPS = 3191, - STR_OBJECT_SELECTION_PARK_ENTRANCE = 3192, - STR_OBJECT_SELECTION_WATER = 3193, - STR_OBJECT_SELECTION_SCENARIO_DESCRIPTION = 3194, - STR_INVENTION_LIST = 3195, - STR_INVENTION_RESEARCH_GROUP = 3196, - STR_INVENTION_PREINVENTED_ITEMS = 3197, - STR_INVENTION_TO_BE_INVENTED_ITEMS = 3198, - STR_RANDOM_SHUFFLE = 3199, - STR_RANDOM_SHUFFLE_TIP = 3200, - STR_EDITOR_STEP_OBJECT_SELECTION = 3201, - STR_EDITOR_STEP_LANDSCAPE_EDITOR = 3202, - STR_EDITOR_STEP_INVENTIONS_LIST_SET_UP = 3203, - STR_EDITOR_STEP_OPTIONS_SELECTION = 3204, - STR_EDITOR_STEP_OBJECTIVE_SELECTION = 3205, - STR_EDITOR_STEP_SAVE_SCENARIO = 3206, - STR_EDITOR_STEP_ROLLERCOASTER_DESIGNER = 3207, - STR_EDITOR_STEP_TRACK_DESIGNS_MANAGER = 3208, - STR_BACK_TO_PREVIOUS_STEP = 3209, - STR_FORWARD_TO_NEXT_STEP = 3210, - STR_MAP_SIZE = 3211, - STR_MAP_SIZE_VALUE = 3212, - STR_CANT_DECREASE_MAP_SIZE_ANY_FURTHER = 3213, - STR_CANT_INCREASE_MAP_SIZE_ANY_FURTHER = 3214, - STR_TOO_CLOSE_TO_EDGE_OF_MAP = 3215, - STR_SELECT_PARK_OWNED_LAND_TIP = 3216, - STR_LAND_OWNED = 3217, - STR_CONSTRUCTION_RIGHTS_OWNED = 3218, - STR_LAND_SALE = 3219, - STR_CONSTRUCTION_RIGHTS_SALE = 3220, - STR_SET_LAND_TO_BE_OWNED_TIP = 3221, - STR_SET_CONSTRUCTION_RIGHTS_TO_BE_OWNED_TIP = 3222, - STR_SET_LAND_TO_BE_AVAILABLE_TIP = 3223, - STR_SET_CONSTRUCTION_RIGHTS_TO_BE_AVAILABLE_TIP = 3224, - STR_SCENERY_CLUSTER_TIP = 3225, - STR_BUILD_PARK_ENTRANCE_TIP = 3226, - STR_ERR_TOO_MANY_PARK_ENTRANCES = 3227, - STR_SET_STARTING_POSITIONS_TIP = 3228, - STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_STATION = 3229, - STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_EACH_OTHER = 3230, - STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_THE_TOP_OF_THIS_LIFT_HILL = 3231, - STR_SCENARIO_OPTIONS_FINANCIAL = 3232, - STR_SCENARIO_OPTIONS_GUESTS = 3233, - STR_SCENARIO_OPTIONS_PARK = 3234, - STR_SCENARIO_OPTIONS_FINANCIAL_TIP = 3235, - STR_SCENARIO_OPTIONS_GUESTS_TIP = 3236, - STR_SCENARIO_OPTIONS_PARK_TIP = 3237, - STR_MAKE_PARK_NO_MONEY = 3238, - STR_MAKE_PARK_NO_MONEY_TIP = 3239, - STR_INIT_CASH_LABEL = 3240, - STR_INIT_LOAN_LABEL = 3241, - STR_MAX_LOAN_LABEL = 3242, - STR_INTEREST_RATE_LABEL = 3243, - STR_FORBID_MARKETING = 3244, - STR_FORBID_MARKETING_TIP = 3245, - STR_CURRENCY_FORMAT_LABEL = 3246, - STR_PERCENT_FORMAT_LABEL = 3247, - STR_CANT_INCREASE_CASH = 3248, - STR_CANT_REDUCE_CASH = 3249, - STR_CANT_INCREASE_INIT_LOAN = 3250, - STR_CANT_REDUCE_INIT_LOAN = 3251, - STR_CANT_INCREASE_MAX_LOAN = 3252, - STR_CANT_REDUCE_MAX_LOAN = 3253, - STR_CANT_INCREASE_INTEREST_RATE = 3254, - STR_CANT_REDUCE_INTEREST_RATE = 3255, - STR_GUESTS_PREFER_LESS_INTENSE_RIDES = 3256, - STR_GUESTS_PREFER_LESS_INTENSE_RIDES_TIP = 3257, - STR_GUESTS_PREFER_MORE_INTENSE_RIDES = 3258, - STR_GUESTS_PREFER_MORE_INTENSE_RIDES_TIP = 3259, - STR_CASH_PER_GUEST_LABEL = 3260, - STR_GUEST_INIT_HAPPINESS = 3261, - STR_GUEST_INIT_HUNGER = 3262, - STR_GUEST_INIT_THIRST = 3263, - STR_CANT_INCREASE_FURTHER = 3264, - STR_CANT_REDUCE_FURTHER = 3265, - STR_PAY_FOR_PARK_PAY_FOR_RIDES_TIP = 3266, - STR_FORBID_TREE_REMOVAL = 3267, - STR_FORBID_TREE_REMOVAL_TIP = 3268, - STR_FORBID_LANDSCAPE_CHANGES = 3269, - STR_FORBID_LANDSCAPE_CHANGES_TIP = 3270, - STR_FORBID_HIGH_CONSTRUCTION = 3271, - STR_FORBID_HIGH_CONSTRUCTION_TIP = 3272, - STR_HARD_PARK_RATING = 3273, - STR_HARD_PARK_RATING_TIP = 3274, - STR_HARD_GUEST_GENERATION = 3275, - STR_HARD_GUEST_GENERATION_TIP = 3276, - STR_LAND_COST_LABEL = 3277, - STR_RIGHTS_COST_LABEL = 3278, - STR_FREE_PARK_ENTER = 3279, - STR_PAY_PARK_ENTER = 3280, - STR_ENTRY_PRICE_LABEL = 3281, - STR_SELECT_OBJECTIVE_AND_PARK_NAME_TIP = 3282, - STR_SELECT_RIDES_TO_BE_PRESERVED_TIP = 3283, - STR_OBJECTIVE_SELECTION = 3284, - STR_OBJECTIVE_PRESERVED_RIDES_TITLE = 3285, - STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP = 3286, - STR_OBJECTIVE_WINDOW = 3287, - STR_SELECT_CLIMATE_TIP = 3288, - STR_CLIMATE_LABEL = 3289, - STR_CLIMATE_COOL_AND_WET = 3290, - STR_CLIMATE_WARM = STR_CLIMATE_COOL_AND_WET + 1, - STR_CLIMATE_HOT_AND_DRY = STR_CLIMATE_COOL_AND_WET + 2, - STR_CLIMATE_COLD = STR_CLIMATE_COOL_AND_WET + 3, - STR_CHANGE = 3294, - STR_CHANGE_NAME_OF_PARK_TIP = 3295, - STR_CHANGE_NAME_OF_SCENARIO_TIP = 3296, - STR_CHANGE_DETAIL_NOTES_ABOUT_PARK_SCENARIO_TIP = 3297, - STR_WINDOW_PARK_NAME = 3298, // Unused - STR_WINDOW_PARK_DETAILS = 3299, - STR_WINDOW_SCENARIO_NAME = 3300, - STR_WINDOW_OBJECTIVE_DATE = 3301, - STR_WINDOW_OBJECTIVE_VALUE_DATE = 3302, - STR_WINDOW_OBJECTIVE_GUEST_COUNT = 3303, - STR_WINDOW_OBJECTIVE_PARK_VALUE = 3304, - STR_WINDOW_OBJECTIVE_MONTHLY_INCOME = 3305, - STR_WINDOW_OBJECTIVE_MONTHLY_PROFIT = 3306, - STR_WINDOW_OBJECTIVE_MINIMUM_LENGTH = 3307, - STR_WINDOW_OBJECTIVE_EXCITEMENT_RATING = 3308, - STR_WINDOW_OBJECTIVE_VALUE_GUEST_COUNT = 3309, - STR_WINDOW_OBJECTIVE_VALUE_LENGTH = 3310, - STR_WINDOW_OBJECTIVE_VALUE_RATING = 3311, - STR_WINDOW_PRESERVATION_ORDER = 3312, - STR_SCENARIO_NAME = 3313, - STR_ENTER_SCENARIO_NAME = 3314, - STR_PARK_SCENARIO_DETAILS = 3315, - STR_ENTER_SCENARIO_DESCRIPTION = 3316, - STR_NO_DETAILS_YET = 3317, - STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN = 3318, - STR_WINDOW_SCENARIO_GROUP = 3319, - STR_UNABLE_TO_SAVE_SCENARIO_FILE = 3320, + STR_OBJECT_SELECTION_DESCRIPTION_SCENARIO_TEXT = 3168, + STR_OBJECT_SELECTION_ERR_OBJECT_DATA_NOT_FOUND = 3169, + STR_OBJECT_SELECTION_ERR_NOT_ENOUGH_SPACE_FOR_GRAPHICS = 3170, + STR_OBJECT_SELECTION_ERR_TOO_MANY_OF_TYPE_SELECTED = 3171, + STR_OBJECT_SELECTION_ERR_SHOULD_SELECT_X_FIRST = 3172, + STR_OBJECT_SELECTION_ERR_CURRENTLY_IN_USE = 3173, + STR_OBJECT_SELECTION_ERR_IS_REQUIRED_BY_ANOTHER = 3174, + STR_OBJECT_SELECTION_ERR_ALWAYS_REQUIRED = 3175, + STR_UNABLE_TO_SELECT_THIS_OBJECT = 3176, + STR_UNABLE_TO_DE_SELECT_THIS_OBJECT = 3177, + STR_AT_LEAST_ONE_PATH_OBJECT_MUST_BE_SELECTED = 3178, + STR_AT_LEAST_ONE_RIDE_OBJECT_MUST_BE_SELECTED = 3179, + STR_INVALID_SELECTION_OF_OBJECTS = 3180, + STR_OBJECT_SELECTION = 3181, + STR_PARK_ENTRANCE_TYPE_MUST_BE_SELECTED = 3182, + STR_WATER_TYPE_MUST_BE_SELECTED = 3183, + STR_OBJECT_SELECTION_RIDE_VEHICLES_ATTRACTIONS = 3184, + STR_OBJECT_SELECTION_SMALL_SCENERY = 3185, + STR_OBJECT_SELECTION_LARGE_SCENERY = 3186, + STR_OBJECT_SELECTION_WALLS_FENCES = 3187, + STR_OBJECT_SELECTION_PATH_SIGNS = 3188, + STR_OBJECT_SELECTION_FOOTPATHS = 3189, + STR_OBJECT_SELECTION_PATH_EXTRAS = 3190, + STR_OBJECT_SELECTION_SCENERY_GROUPS = 3191, + STR_OBJECT_SELECTION_PARK_ENTRANCE = 3192, + STR_OBJECT_SELECTION_WATER = 3193, + STR_OBJECT_SELECTION_SCENARIO_DESCRIPTION = 3194, + STR_INVENTION_LIST = 3195, + STR_INVENTION_RESEARCH_GROUP = 3196, + STR_INVENTION_PREINVENTED_ITEMS = 3197, + STR_INVENTION_TO_BE_INVENTED_ITEMS = 3198, + STR_RANDOM_SHUFFLE = 3199, + STR_RANDOM_SHUFFLE_TIP = 3200, + STR_EDITOR_STEP_OBJECT_SELECTION = 3201, + STR_EDITOR_STEP_LANDSCAPE_EDITOR = 3202, + STR_EDITOR_STEP_INVENTIONS_LIST_SET_UP = 3203, + STR_EDITOR_STEP_OPTIONS_SELECTION = 3204, + STR_EDITOR_STEP_OBJECTIVE_SELECTION = 3205, + STR_EDITOR_STEP_SAVE_SCENARIO = 3206, + STR_EDITOR_STEP_ROLLERCOASTER_DESIGNER = 3207, + STR_EDITOR_STEP_TRACK_DESIGNS_MANAGER = 3208, + STR_BACK_TO_PREVIOUS_STEP = 3209, + STR_FORWARD_TO_NEXT_STEP = 3210, + STR_MAP_SIZE = 3211, + STR_MAP_SIZE_VALUE = 3212, + STR_CANT_DECREASE_MAP_SIZE_ANY_FURTHER = 3213, + STR_CANT_INCREASE_MAP_SIZE_ANY_FURTHER = 3214, + STR_TOO_CLOSE_TO_EDGE_OF_MAP = 3215, + STR_SELECT_PARK_OWNED_LAND_TIP = 3216, + STR_LAND_OWNED = 3217, + STR_CONSTRUCTION_RIGHTS_OWNED = 3218, + STR_LAND_SALE = 3219, + STR_CONSTRUCTION_RIGHTS_SALE = 3220, + STR_SET_LAND_TO_BE_OWNED_TIP = 3221, + STR_SET_CONSTRUCTION_RIGHTS_TO_BE_OWNED_TIP = 3222, + STR_SET_LAND_TO_BE_AVAILABLE_TIP = 3223, + STR_SET_CONSTRUCTION_RIGHTS_TO_BE_AVAILABLE_TIP = 3224, + STR_SCENERY_CLUSTER_TIP = 3225, + STR_BUILD_PARK_ENTRANCE_TIP = 3226, + STR_ERR_TOO_MANY_PARK_ENTRANCES = 3227, + STR_SET_STARTING_POSITIONS_TIP = 3228, + STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_STATION = 3229, + STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_EACH_OTHER = 3230, + STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_THE_TOP_OF_THIS_LIFT_HILL = 3231, + STR_SCENARIO_OPTIONS_FINANCIAL = 3232, + STR_SCENARIO_OPTIONS_GUESTS = 3233, + STR_SCENARIO_OPTIONS_PARK = 3234, + STR_SCENARIO_OPTIONS_FINANCIAL_TIP = 3235, + STR_SCENARIO_OPTIONS_GUESTS_TIP = 3236, + STR_SCENARIO_OPTIONS_PARK_TIP = 3237, + STR_MAKE_PARK_NO_MONEY = 3238, + STR_MAKE_PARK_NO_MONEY_TIP = 3239, + STR_INIT_CASH_LABEL = 3240, + STR_INIT_LOAN_LABEL = 3241, + STR_MAX_LOAN_LABEL = 3242, + STR_INTEREST_RATE_LABEL = 3243, + STR_FORBID_MARKETING = 3244, + STR_FORBID_MARKETING_TIP = 3245, + STR_CURRENCY_FORMAT_LABEL = 3246, + STR_PERCENT_FORMAT_LABEL = 3247, + STR_CANT_INCREASE_CASH = 3248, + STR_CANT_REDUCE_CASH = 3249, + STR_CANT_INCREASE_INIT_LOAN = 3250, + STR_CANT_REDUCE_INIT_LOAN = 3251, + STR_CANT_INCREASE_MAX_LOAN = 3252, + STR_CANT_REDUCE_MAX_LOAN = 3253, + STR_CANT_INCREASE_INTEREST_RATE = 3254, + STR_CANT_REDUCE_INTEREST_RATE = 3255, + STR_GUESTS_PREFER_LESS_INTENSE_RIDES = 3256, + STR_GUESTS_PREFER_LESS_INTENSE_RIDES_TIP = 3257, + STR_GUESTS_PREFER_MORE_INTENSE_RIDES = 3258, + STR_GUESTS_PREFER_MORE_INTENSE_RIDES_TIP = 3259, + STR_CASH_PER_GUEST_LABEL = 3260, + STR_GUEST_INIT_HAPPINESS = 3261, + STR_GUEST_INIT_HUNGER = 3262, + STR_GUEST_INIT_THIRST = 3263, + STR_CANT_INCREASE_FURTHER = 3264, + STR_CANT_REDUCE_FURTHER = 3265, + STR_PAY_FOR_PARK_PAY_FOR_RIDES_TIP = 3266, + STR_FORBID_TREE_REMOVAL = 3267, + STR_FORBID_TREE_REMOVAL_TIP = 3268, + STR_FORBID_LANDSCAPE_CHANGES = 3269, + STR_FORBID_LANDSCAPE_CHANGES_TIP = 3270, + STR_FORBID_HIGH_CONSTRUCTION = 3271, + STR_FORBID_HIGH_CONSTRUCTION_TIP = 3272, + STR_HARD_PARK_RATING = 3273, + STR_HARD_PARK_RATING_TIP = 3274, + STR_HARD_GUEST_GENERATION = 3275, + STR_HARD_GUEST_GENERATION_TIP = 3276, + STR_LAND_COST_LABEL = 3277, + STR_RIGHTS_COST_LABEL = 3278, + STR_FREE_PARK_ENTER = 3279, + STR_PAY_PARK_ENTER = 3280, + STR_ENTRY_PRICE_LABEL = 3281, + STR_SELECT_OBJECTIVE_AND_PARK_NAME_TIP = 3282, + STR_SELECT_RIDES_TO_BE_PRESERVED_TIP = 3283, + STR_OBJECTIVE_SELECTION = 3284, + STR_OBJECTIVE_PRESERVED_RIDES_TITLE = 3285, + STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP = 3286, + STR_OBJECTIVE_WINDOW = 3287, + STR_SELECT_CLIMATE_TIP = 3288, + STR_CLIMATE_LABEL = 3289, + STR_CLIMATE_COOL_AND_WET = 3290, + STR_CLIMATE_WARM = STR_CLIMATE_COOL_AND_WET + 1, + STR_CLIMATE_HOT_AND_DRY = STR_CLIMATE_COOL_AND_WET + 2, + STR_CLIMATE_COLD = STR_CLIMATE_COOL_AND_WET + 3, + STR_CHANGE = 3294, + STR_CHANGE_NAME_OF_PARK_TIP = 3295, + STR_CHANGE_NAME_OF_SCENARIO_TIP = 3296, + STR_CHANGE_DETAIL_NOTES_ABOUT_PARK_SCENARIO_TIP = 3297, + STR_WINDOW_PARK_NAME = 3298, // Unused + STR_WINDOW_PARK_DETAILS = 3299, + STR_WINDOW_SCENARIO_NAME = 3300, + STR_WINDOW_OBJECTIVE_DATE = 3301, + STR_WINDOW_OBJECTIVE_VALUE_DATE = 3302, + STR_WINDOW_OBJECTIVE_GUEST_COUNT = 3303, + STR_WINDOW_OBJECTIVE_PARK_VALUE = 3304, + STR_WINDOW_OBJECTIVE_MONTHLY_INCOME = 3305, + STR_WINDOW_OBJECTIVE_MONTHLY_PROFIT = 3306, + STR_WINDOW_OBJECTIVE_MINIMUM_LENGTH = 3307, + STR_WINDOW_OBJECTIVE_EXCITEMENT_RATING = 3308, + STR_WINDOW_OBJECTIVE_VALUE_GUEST_COUNT = 3309, + STR_WINDOW_OBJECTIVE_VALUE_LENGTH = 3310, + STR_WINDOW_OBJECTIVE_VALUE_RATING = 3311, + STR_WINDOW_PRESERVATION_ORDER = 3312, + STR_SCENARIO_NAME = 3313, + STR_ENTER_SCENARIO_NAME = 3314, + STR_PARK_SCENARIO_DETAILS = 3315, + STR_ENTER_SCENARIO_DESCRIPTION = 3316, + STR_NO_DETAILS_YET = 3317, + STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN = 3318, + STR_WINDOW_SCENARIO_GROUP = 3319, + STR_UNABLE_TO_SAVE_SCENARIO_FILE = 3320, // STR_3321 :New objects installed successfully - STR_OBJECTIVE = 3322, - STR_MISSING_OBJECT_DATA_ID = 3323, - STR_REQUIRES_THE_FOLLOWING_ADDON_PACK = 3324, - STR_REQUIRES_AN_ADDON_PACK = 3325, - STR_WINDOW_NO_IMAGE = 3326, - STR_PEEP_SPAWNS_NOT_SET = 3327, - STR_CANT_ADVANCE_TO_NEXT_EDITOR_STAGE = 3328, - STR_NO_PARK_ENTRANCES = 3329, - STR_PARK_MUST_OWN_SOME_LAND = 3330, - STR_PARK_ENTRANCE_PATH_INCOMPLETE_OR_COMPLEX = 3331, - STR_PARK_ENTRANCE_WRONG_DIRECTION_OR_NO_PATH = 3332, - STR_SAVE_PLUGIN_DATA = 3333, - STR_SAVE_PLUGIN_DATA_TIP = 3334, - STR_ROLLER_COASTER_DESIGNER_SELECT_RIDE_TYPES_VEHICLES = 3335, - STR_TRACK_DESIGNS_MANAGER_SELECT_RIDE_TYPE = 3336, + STR_OBJECTIVE = 3322, + STR_MISSING_OBJECT_DATA_ID = 3323, + STR_REQUIRES_THE_FOLLOWING_ADDON_PACK = 3324, + STR_REQUIRES_AN_ADDON_PACK = 3325, + STR_WINDOW_NO_IMAGE = 3326, + STR_PEEP_SPAWNS_NOT_SET = 3327, + STR_CANT_ADVANCE_TO_NEXT_EDITOR_STAGE = 3328, + STR_NO_PARK_ENTRANCES = 3329, + STR_PARK_MUST_OWN_SOME_LAND = 3330, + STR_PARK_ENTRANCE_PATH_INCOMPLETE_OR_COMPLEX = 3331, + STR_PARK_ENTRANCE_WRONG_DIRECTION_OR_NO_PATH = 3332, + STR_SAVE_PLUGIN_DATA = 3333, + STR_SAVE_PLUGIN_DATA_TIP = 3334, + STR_ROLLER_COASTER_DESIGNER_SELECT_RIDE_TYPES_VEHICLES = 3335, + STR_TRACK_DESIGNS_MANAGER_SELECT_RIDE_TYPE = 3336, // STR_3337 : - STR_CUSTOM_DESIGNED_LAYOUT = 3338, - STR_1_DESIGN_AVAILABLE = 3339, - STR_X_DESIGNS_AVAILABLE = 3340, - STR_GAME_TOOLS_TIP = 3341, - STR_SCENARIO_EDITOR = 3342, - STR_CONVERT_SAVED_GAME_TO_SCENARIO = 3343, - STR_ROLLER_COASTER_DESIGNER = 3344, - STR_TRACK_DESIGNS_MANAGER = 3345, - STR_CANT_SAVE_TRACK_DESIGN = 3346, - STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY = 3347, - STR_TRACK_MANAGE_RENAME = 3348, - STR_TRACK_MANAGE_DELETE = 3349, - STR_TRACK_DESIGN_RENAME_TITLE = 3350, - STR_TRACK_DESIGN_RENAME_DESC = 3351, - STR_CANT_RENAME_TRACK_DESIGN = 3352, - STR_NEW_NAME_CONTAINS_INVALID_CHARACTERS = 3353, - STR_ANOTHER_FILE_EXISTS_WITH_NAME_OR_FILE_IS_WRITE_PROTECTED = 3354, - STR_FILE_IS_WRITE_PROTECTED_OR_LOCKED = 3355, - STR_DELETE_FILE = 3356, - STR_ARE_YOU_SURE_YOU_WANT_TO_PERMANENTLY_DELETE_TRACK = 3357, - STR_CANT_DELETE_TRACK_DESIGN = 3358, - STR_NO_TRACK_DESIGNS_OF_THIS_TYPE = 3359, - STR_WARNING = 3360, - STR_TOO_MANY_TRACK_DESIGNS_OF_THIS_TYPE = 3361, + STR_CUSTOM_DESIGNED_LAYOUT = 3338, + STR_1_DESIGN_AVAILABLE = 3339, + STR_X_DESIGNS_AVAILABLE = 3340, + STR_GAME_TOOLS_TIP = 3341, + STR_SCENARIO_EDITOR = 3342, + STR_CONVERT_SAVED_GAME_TO_SCENARIO = 3343, + STR_ROLLER_COASTER_DESIGNER = 3344, + STR_TRACK_DESIGNS_MANAGER = 3345, + STR_CANT_SAVE_TRACK_DESIGN = 3346, + STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY = 3347, + STR_TRACK_MANAGE_RENAME = 3348, + STR_TRACK_MANAGE_DELETE = 3349, + STR_TRACK_DESIGN_RENAME_TITLE = 3350, + STR_TRACK_DESIGN_RENAME_DESC = 3351, + STR_CANT_RENAME_TRACK_DESIGN = 3352, + STR_NEW_NAME_CONTAINS_INVALID_CHARACTERS = 3353, + STR_ANOTHER_FILE_EXISTS_WITH_NAME_OR_FILE_IS_WRITE_PROTECTED = 3354, + STR_FILE_IS_WRITE_PROTECTED_OR_LOCKED = 3355, + STR_DELETE_FILE = 3356, + STR_ARE_YOU_SURE_YOU_WANT_TO_PERMANENTLY_DELETE_TRACK = 3357, + STR_CANT_DELETE_TRACK_DESIGN = 3358, + STR_NO_TRACK_DESIGNS_OF_THIS_TYPE = 3359, + STR_WARNING = 3360, + STR_TOO_MANY_TRACK_DESIGNS_OF_THIS_TYPE = 3361, // STR_3362 : // STR_3363 : - STR_OBJECT_SELECTION_ADVANCED = 3364, - STR_OBJECT_SELECTION_ADVANCED_TIP = 3365, - STR_MAP_RIDE = 3366, - STR_MAP_FOOD_STALL = 3367, - STR_MAP_DRINK_STALL = 3368, - STR_MAP_SOUVENIR_STALL = 3369, - STR_MAP_INFO_KIOSK = 3370, - STR_MAP_FIRST_AID = 3371, - STR_MAP_CASH_MACHINE = 3372, - STR_MAP_TOILET = 3373, - STR_WARNING_TOO_MANY_OBJECTS_SELECTED = 3374, - STR_NOT_ALL_OBJECTS_IN_THIS_SCENERY_GROUP_COULD_BE_SELECTED = 3375, - STR_INSTALL_NEW_TRACK_DESIGN = 3376, - STR_INSTALL_NEW_TRACK_DESIGN_TIP = 3377, - STR_INSTALL_NEW_TRACK_DESIGN_INSTALL = 3378, - STR_INSTALL_NEW_TRACK_DESIGN_CANCEL = 3379, - STR_UNABLE_TO_INSTALL_THIS_TRACK_DESIGN = 3380, + STR_OBJECT_SELECTION_ADVANCED = 3364, + STR_OBJECT_SELECTION_ADVANCED_TIP = 3365, + STR_MAP_RIDE = 3366, + STR_MAP_FOOD_STALL = 3367, + STR_MAP_DRINK_STALL = 3368, + STR_MAP_SOUVENIR_STALL = 3369, + STR_MAP_INFO_KIOSK = 3370, + STR_MAP_FIRST_AID = 3371, + STR_MAP_CASH_MACHINE = 3372, + STR_MAP_TOILET = 3373, + STR_WARNING_TOO_MANY_OBJECTS_SELECTED = 3374, + STR_NOT_ALL_OBJECTS_IN_THIS_SCENERY_GROUP_COULD_BE_SELECTED = 3375, + STR_INSTALL_NEW_TRACK_DESIGN = 3376, + STR_INSTALL_NEW_TRACK_DESIGN_TIP = 3377, + STR_INSTALL_NEW_TRACK_DESIGN_INSTALL = 3378, + STR_INSTALL_NEW_TRACK_DESIGN_CANCEL = 3379, + STR_UNABLE_TO_INSTALL_THIS_TRACK_DESIGN = 3380, // STR_3381 :File is not compatible or contains invalid data // STR_3382 :File copy failed - STR_SELECT_NEW_NAME_FOR_TRACK_DESIGN = 3383, - STR_AN_EXISTING_TRACK_DESIGN_ALREADY_HAS_THIS_NAME = 3384, + STR_SELECT_NEW_NAME_FOR_TRACK_DESIGN = 3383, + STR_AN_EXISTING_TRACK_DESIGN_ALREADY_HAS_THIS_NAME = 3384, // STR_3385 :Beginners Tutorial // STR_3386 :Custom Rides Tutorial // STR_3387 :Roller Coaster Building Tutorial // STR_3388 :Unable to switch to selected mode - STR_SAVE_TRACK_SCENERY_UNABLE_TO_SELECT_ADDITIONAL_ITEM_OF_SCENERY = 3389, - STR_SAVE_TRACK_SCENERY_TOO_MANY_ITEMS_SELECTED = 3390, + STR_SAVE_TRACK_SCENERY_UNABLE_TO_SELECT_ADDITIONAL_ITEM_OF_SCENERY = 3389, + STR_SAVE_TRACK_SCENERY_TOO_MANY_ITEMS_SELECTED = 3390, // TUTORIAL - STR_CLEAR_SCENERY_TIP = 3437, - STR_UNABLE_TO_REMOVE_ALL_SCENERY_FROM_HERE = 3438, - STR_CLEAR_SCENERY = 3439, - STR_PAGE_1 = 3440, - STR_PAGE_2 = STR_PAGE_1 + 1, - STR_PAGE_3 = STR_PAGE_1 + 2, - STR_PAGE_4 = STR_PAGE_1 + 3, - STR_PAGE_5 = STR_PAGE_1 + 4, - STR_SET_PATROL_AREA = 3445, - STR_CLEAR_PATROL_AREA = 3446, + STR_CLEAR_SCENERY_TIP = 3437, + STR_UNABLE_TO_REMOVE_ALL_SCENERY_FROM_HERE = 3438, + STR_CLEAR_SCENERY = 3439, + STR_PAGE_1 = 3440, + STR_PAGE_2 = STR_PAGE_1 + 1, + STR_PAGE_3 = STR_PAGE_1 + 2, + STR_PAGE_4 = STR_PAGE_1 + 3, + STR_PAGE_5 = STR_PAGE_1 + 4, + STR_SET_PATROL_AREA = 3445, + STR_CLEAR_PATROL_AREA = 3446, - STR_OPENRCT2_BEGIN_STRING_ID = 5120, + STR_OPENRCT2_BEGIN_STRING_ID = 5120, - STR_FINANCES_BUTTON_ON_TOOLBAR = 5120, - STR_RESEARCH_BUTTON_ON_TOOLBAR = 5121, - STR_SELECT_BY_TRACK_TYPE = 5122, - STR_CHEAT_RENEW_RIDES = 5123, + STR_FINANCES_BUTTON_ON_TOOLBAR = 5120, + STR_RESEARCH_BUTTON_ON_TOOLBAR = 5121, + STR_SELECT_BY_TRACK_TYPE = 5122, + STR_CHEAT_RENEW_RIDES = 5123, // STR_5124 : - STR_CHEAT_MAKE_DESTRUCTABLE = 5125, - STR_OPTIONS_MUSIC_VALUE_RANDOM = 5126, - STR_DISABLE_ELEVATION = 5127, - STR_SELECTION_SIZE = 5128, - STR_ENTER_SELECTION_SIZE = 5129, - STR_MAP_SIZE_2 = 5130, - STR_ENTER_MAP_SIZE = 5131, - STR_CHEAT_FIX_ALL_RIDES = 5132, - STR_ADJUST_SMALLER_LAND_RIGHTS_TIP = 5133, - STR_ADJUST_LARGER_LAND_RIGHTS_TIP = 5134, - STR_BUY_LAND_AND_CONSTRUCTION_RIGHTS_TIP = 5135, - STR_LAND_RIGHTS = 5136, - STR_CHEAT_UNLOCK_OPERATING_LIMITS = 5137, - STR_SMALL_WINDOW_COLOUR_2_STRINGID = 5138, - STR_WHITE_STRING = 5139, - STR_CHEAT_DISABLE_BRAKES_FAILURE = 5140, - STR_CHEAT_DISABLE_BREAKDOWNS = 5141, - STR_SPEED_NORMAL = 5142, - STR_SPEED_QUICK = 5143, - STR_SPEED_FAST = 5144, - STR_SPEED_TURBO = 5145, - STR_SPEED_HYPER = 5146, - STR_CHEATS_BUTTON_ON_TOOLBAR = 5147, - STR_GAME_SPEED_TIP = 5148, - STR_CHEATS_TIP = 5149, - STR_ENABLE_DEBUGGING_TOOLS = 5150, - STR_LOCALE_THOUSANDS_SEPARATOR = 5151, - STR_LOCALE_DECIMAL_POINT = 5152, - STR_EDIT_THEMES_BUTTON = 5153, - STR_HARDWARE_DISPLAY = 5154, // Unused - STR_TEST_UNFINISHED_TRACKS = 5155, - STR_TEST_UNFINISHED_TRACKS_TIP = 5156, - STR_CHEAT_UNLOCK_PRICES = 5157, - STR_QUIT_TO_MENU = 5158, - STR_EXIT_OPENRCT2 = 5159, - STR_DATE_FORMAT_MDY = 5160, - STR_DATE_FORMAT = 5161, - STR_DATE_FORMAT_DAY_MONTH_YEAR = 5162, - STR_DATE_FORMAT_MONTH_DAY_YEAR = 5163, - STR_TWITCH_NAME = 5164, - STR_TWITCH_PEEP_FOLLOWERS = 5165, - STR_TWITCH_PEEP_FOLLOWERS_TIP = 5166, - STR_TWITCH_FOLLOWERS_TRACK = 5167, - STR_TWITCH_FOLLOWERS_TRACK_TIP = 5168, - STR_TWITCH_PEEP_CHAT = 5169, - STR_TWITCH_PEEP_CHAT_TIP = 5170, - STR_TWITCH_CHAT_TRACK = 5171, - STR_TWITCH_CHAT_TRACK_TIP = 5172, - STR_TWITCH_CHAT_NEWS = 5173, - STR_TWITCH_CHAT_NEWS_TIP = 5174, - STR_TWITCH_NAME_DESC = 5175, - STR_TWITCH_ENABLE = 5176, - STR_FULLSCREEN_MODE = 5177, - STR_FINANCIAL_CHEATS_TIP = 5178, - STR_GUEST_CHEATS_TIP = 5179, - STR_PARK_CHEATS_TIP = 5180, - STR_RIDE_CHEATS_TIP = 5181, - STR_FORMAT_INTEGER = 5182, - STR_BASE_HEIGHT = 5183, - STR_ENTER_BASE_HEIGHT = 5184, - STR_WATER_LEVEL = 5185, - STR_ENTER_WATER_LEVEL = 5186, - STR_THEMES_WINDOW_FINANCES = 5187, - STR_THEMES_WINDOW_NEW_CAMPAIGN = 5188, - STR_THEMES_WINDOW_RESEARCH = 5189, - STR_THEMES_WINDOW_MAP = 5190, - STR_THEMES_WINDOW_VIEWPORT = 5191, - STR_THEMES_WINDOW_RECENT_NEWS = 5192, - STR_THEMES_WINDOW_LAND = 5193, - STR_THEMES_WINDOW_WATER = 5194, - STR_THEMES_WINDOW_CLEAR_SCENERY = 5195, - STR_THEMES_WINDOW_LAND_RIGHTS = 5196, - STR_THEMES_WINDOW_SCENERY = 5197, - STR_THEMES_WINDOW_FOOTPATH = 5198, - STR_THEMES_WINDOW_RIDE_CONSTRUCTION = 5199, - STR_THEMES_WINDOW_TRACK_DESIGN_PLACE = 5200, - STR_THEMES_WINDOW_CONSTRUCT_RIDE = 5201, - STR_THEMES_WINDOW_TRACK_DESIGN_LIST = 5202, - STR_THEMES_WINDOW_RIDE = 5203, - STR_THEMES_WINDOW_RIDE_LIST = 5204, - STR_THEMES_WINDOW_PEEP = 5205, - STR_THEMES_WINDOW_GUEST_LIST = 5206, - STR_THEMES_WINDOW_STAFF = 5207, - STR_THEMES_WINDOW_STAFF_LIST = 5208, - STR_THEMES_WINDOW_BANNER = 5209, - STR_THEMES_WINDOW_EDITOR_OBJECT_SELECTION = 5210, - STR_THEMES_WINDOW_EDITOR_INVENTION_LIST = 5211, - STR_THEMES_WINDOW_EDITOR_SCENARIO_OPTIONS = 5212, - STR_THEMES_WINDOW_EDTIOR_OBJECTIVE_OPTIONS = 5213, - STR_THEMES_WINDOW_MAPGEN = 5214, - STR_THEMES_WINDOW_MANAGE_TRACK_DESIGN = 5215, - STR_THEMES_WINDOW_INSTALL_TRACK = 5216, - STR_CHEAT_TITLE = 5217, - STR_THEMES_WINDOW_THEMES = 5218, - STR_THEMES_WINDOW_OPTIONS = 5219, - STR_THEMES_WINDOW_KEYBOARD_SHORTCUT_LIST = 5220, - STR_THEMES_WINDOW_CHANGE_KEYBOARD_SHORTCUT = 5221, - STR_THEMES_WINDOW_LOADSAVE = 5222, - STR_THEMES_WINDOW_SAVE_PROMPT = 5223, - STR_THEMES_WINDOW_DEMOLISH_RIDE_PROMPT = 5224, - STR_THEMES_WINDOW_FIRE_PROMPT = 5225, - STR_THEMES_WINDOW_TRACK_DELETE_PROMPT = 5226, - STR_THEMES_WINDOW_LOADSAVE_OVERWRITE_PROMPT = 5227, - STR_THEMES_TAB_MAIN_TIP = 5228, - STR_THEMES_TAB_PARK_TIP = 5229, - STR_THEMES_TAB_TOOLS_TIP = 5230, - STR_THEMES_TAB_RIDES_AND_GUESTS_TIP = 5231, - STR_THEMES_TAB_EDITORS_TIP = 5232, - STR_THEMES_TAB_MISC_TIP = 5233, - STR_THEMES_TAB_PROMPTS_TIP = 5234, - STR_THEMES_TAB_SETTINGS_TIP = 5235, - STR_THEMES_HEADER_WINDOW = 5236, - STR_THEMES_HEADER_PALETTE = 5237, - STR_THEMES_LABEL_CURRENT_THEME = 5238, - STR_TITLE_EDITOR_ACTION_DUPLICATE = 5239, - STR_THEMES_PROMPT_ENTER_THEME_NAME = 5240, - STR_THEMES_ERR_CANT_CHANGE_THIS_THEME = 5241, - STR_THEMES_ERR_NAME_ALREADY_EXISTS = 5242, - STR_ERROR_INVALID_CHARACTERS = 5243, - STR_THEMES_TITLE = 5244, - STR_THEMES_WINDOW_TOP_TOOLBAR = 5245, - STR_THEMES_WINDOW_BOTTOM_TOOLBAR = 5246, - STR_THEMES_WINDOW_BOTTOM_TOOLBAR_TRACK_EDITOR = 5247, - STR_THEMES_WINDOW_BOTTOM_TOOLBAR_SCENARIO_EDITOR = 5248, - STR_THEMES_WINDOW_TITLE_MENU_BUTTONS = 5249, - STR_THEMES_WINDOW_TITLE_MENU_EXIT = 5250, - STR_THEMES_WINDOW_TITLE_MENU_OPTIONS = 5251, - STR_THEMES_WINDOW_TITLE_MENU_SCENARIO_SELECTION = 5252, - STR_THEMES_WINDOW_PARK_INFORMATION = 5253, - STR_TITLE_EDITOR_ACTION_CREATE = 5254, - STR_TITLE_EDITOR_ACTION_CREATE_SEQUENCE_TIP = 5255, - STR_THEMES_DESC_CANT_CHANGE_THIS_THEME = 5256, - STR_THEMES_ACTION_DUPLICATE_TIP = 5257, - STR_THEMES_ACTION_DELETE_TIP = 5258, - STR_THEMES_ACTION_RENAME_TIP = 5259, - STR_GIANT_SCREENSHOT = 5260, - STR_OBJECT_FILTER = 5261, - STR_OBJECT_FILTER_WW = 5262, - STR_OBJECT_FILTER_TT = 5263, - STR_OBJECT_FILTER_CUSTOM = 5264, - STR_OBJECT_FILTER_TIP = 5265, - STR_OPTIONS_DISPLAY_TIP = 5266, - STR_OPTIONS_CULTURE_TIP = 5267, - STR_OPTIONS_AUDIO_TIP = 5268, - STR_OPTIONS_CONTROLS_AND_INTERFACE_TIP = 5269, - STR_OPTIONS_MISCELLANEOUS_TIP = 5270, - STR_OPTIONS_TWITCH_TIP = 5271, - STR_CLEAR_SCENERY_REMOVE_SMALL_SCENERY_TIP = 5272, - STR_CLEAR_SCENERY_REMOVE_LARGE_SCENERY_TIP = 5273, - STR_CLEAR_SCENERY_REMOVE_FOOTPATHS_TIP = 5274, - STR_OBJECT_SEARCH = 5275, // Unused (commented out) - STR_OBJECT_SEARCH_DESC = 5276, // Unused (commented out) - STR_OBJECT_SEARCH_CLEAR = 5277, - STR_CHEAT_SANDBOX_MODE = 5278, - STR_CHEAT_SANDBOX_MODE_DISABLE = 5279, - STR_CHEAT_SANDBOX_MODE_TIP = 5280, - STR_THEMES_TAB_FEATURES_TIP = 5281, - STR_THEMES_OPTION_RCT1_RIDE_CONTROLS = 5282, - STR_THEMES_OPTION_RCT1_PARK_CONTROLS = 5283, - STR_THEMES_OPTION_RCT1_SCENARIO_SELECTION_FONT = 5284, - STR_CHEAT_EXPLODE = 5285, - STR_CHEAT_EXPLODE_TIP = 5286, - STR_DEBUG_RIDE_ALREADY_BROKEN = 5287, - STR_DEBUG_RIDE_IS_CLOSED = 5288, - STR_DEBUG_NO_BREAKDOWNS_AVAILABLE = 5289, - STR_DEBUG_FIX_RIDE = 5290, - STR_DEBUG_CANT_FORCE_BREAKDOWN = 5291, - STR_DEBUG_FORCE_BREAKDOWN_TIP = 5292, - STR_CLOSE_RIDE_TIP = 5293, - STR_TEST_RIDE_TIP = 5294, - STR_OPEN_RIDE_TIP = 5295, - STR_CLOSE_PARK_TIP = 5296, - STR_OPEN_PARK_TIP = 5297, - STR_RED_STRINGID = 5298, - STR_LIGHTPINK_STRINGID = 5299, - STR_QUICK_FIRE_STAFF = 5300, - STR_CHEAT_CLEAR_LOAN_TIP = 5301, - STR_CHEAT_CLEAR_LOAN = 5302, - STR_CHEAT_BUILD_IN_PAUSE_MODE = 5303, - STR_TITLE_SEQUENCE = 5304, - STR_TITLE_SEQUENCE_RCT1 = 5305, - STR_TITLE_SEQUENCE_RCT1_AA = 5306, - STR_TITLE_SEQUENCE_RCT1_AA_LL = 5307, - STR_TITLE_SEQUENCE_RCT2 = 5308, - STR_TITLE_SEQUENCE_OPENRCT2 = 5309, - STR_TITLE_SEQUENCE_RANDOM = 5310, // Unused - STR_DEBUG_TIP = 5311, - STR_DEBUG_DROPDOWN_CONSOLE = 5312, - STR_DEBUG_DROPDOWN_TILE_INSPECTOR = 5313, - STR_TILE_INSPECTOR_TITLE = 5314, - STR_TILE_INSPECTOR_TERRAIN_GRASS = 5315, - STR_TILE_INSPECTOR_TERRAIN_SAND = 5316, - STR_TILE_INSPECTOR_TERRAIN_DIRT = 5317, - STR_TILE_INSPECTOR_TERRAIN_ROCK = 5318, - STR_TILE_INSPECTOR_TERRAIN_MARTIAN = 5319, - STR_TILE_INSPECTOR_TERRAIN_CHECKERBOARD = 5320, - STR_TILE_INSPECTOR_TERRAIN_GRASS_CLUMPS = 5321, - STR_TILE_INSPECTOR_TERRAIN_ICE = 5322, - STR_TILE_INSPECTOR_TERRAIN_GRID_RED = 5323, - STR_TILE_INSPECTOR_TERRAIN_GRID_YELLOW = 5324, - STR_TILE_INSPECTOR_TERRAIN_GRID_BLUE = 5325, - STR_TILE_INSPECTOR_TERRAIN_GRID_GREEN = 5326, - STR_TILE_INSPECTOR_TERRAIN_SAND_DARK = 5327, - STR_TILE_INSPECTOR_TERRAIN_SAND_LIGHT = 5328, - STR_TILE_INSPECTOR_TERRAIN_CHECKERBOARD_INVERTED = 5329, - STR_TILE_INSPECTOR_TERRAIN_UNDERGROUND_VIEW = 5330, - STR_TILE_INSPECTOR_TERRAIN_EDGE_ROCK = 5331, - STR_TILE_INSPECTOR_TERRAIN_EDGE_WOOD_RED = 5332, - STR_TILE_INSPECTOR_TERRAIN_EDGE_WOOD_BLACK = 5333, - STR_TILE_INSPECTOR_TERRAIN_EDGE_ICE = 5334, - STR_TILE_INSPECTOR_ENTRANCE_TYPE_RIDE_ENTRANCE = 5335, - STR_TILE_INSPECTOR_ENTRANCE_TYPE_RIDE_EXIT = 5336, - STR_TILE_INSPECTOR_ENTRANCE_TYPE_PARK_ENTRANC = 5337, - STR_TILE_INSPECTOR_ELEMENT_TYPE = 5338, - STR_TILE_INSPECTOR_BASE_HEIGHT = 5339, - STR_TILE_INSPECTOR_CLEARANCE_HEIGHT = 5340, - STR_AUTO_STAFF_PLACEMENT = 5343, - STR_CHANGELOG_TITLE = 5344, - STR_CHEAT_TITLE_FINANCIAL = 5345, - STR_CHEAT_TITLE_GUEST = 5346, - STR_CHEAT_TITLE_PARK = 5347, - STR_CHEAT_TITLE_RIDE = 5348, - STR_OBJECT_FILTER_ALL_RIDES_TIP = 5349, - STR_MAX = 5350, - STR_MIN = 5351, - STR_CHEAT_GUEST_HAPPINESS = 5352, - STR_CHEAT_GUEST_ENERGY = 5353, - STR_CHEAT_GUEST_HUNGER = 5354, - STR_CHEAT_GUEST_THIRST = 5355, - STR_CHEAT_GUEST_NAUSEA = 5356, - STR_CHEAT_GUEST_NAUSEA_TOLERANCE = 5357, - STR_CHEAT_GUEST_BATHROOM = 5358, - STR_CHEAT_REMOVE_ALL_GUESTS = 5359, - STR_CHEAT_REMOVE_ALL_GUESTS_TIP = 5360, - STR_CHEAT_GIVE_ALL_GUESTS = 5361, - STR_CHEAT_GUEST_PREFERRED_INTENSITY = 5362, - STR_CHEAT_MORE_THAN_1 = 5363, - STR_CHEAT_LESS_THAN_15 = 5364, - STR_CHEAT_STAFF_SPEED = 5365, - STR_NORMAL = 5366, - STR_FAST = 5367, - STR_CHEAT_RESET_CRASH_STATUS = 5368, - STR_CHEAT_PARK_PARAMETERS = 5369, - STR_CHEAT_PARK_PARAMETERS_TIP = 5370, - STR_DEBUG_DROPDOWN_OBJECT_SELECTION = 5371, - STR_INVERT_RIGHT_MOUSE_DRAG = 5372, - STR_NAME = 5373, - STR_DATE = 5374, - STR_UP = 5375, - STR_DOWN = 5376, - STR_TITLE_EDITOR_SAVES_TAB_TIP = 5377, - STR_TITLE_EDITOR_SCRIPT_TAB_TIP = 5378, - STR_TITLE_EDITOR_ACTION_SKIP_TIP = 5379, - STR_TITLE_EDITOR_ACTION_PLAY_TIP = 5380, - STR_TITLE_EDITOR_ACTION_STOP_TIP = 5381, - STR_TITLE_EDITOR_ACTION_REPLAY_TIP = 5382, - STR_TITLE_EDITOR_ACTION_DUPLICATE_SEQUENCE_TIP = 5383, - STR_TITLE_EDITOR_ACTION_DELETE_SEQUENCE_TIP = 5384, - STR_TITLE_EDITOR_ACTION_RENAME_SEQUENCE_TIP = 5385, - STR_TITLE_EDITOR_ACTION_INSERT_TIP = 5386, - STR_TITLE_EDITOR_ACTION_EDIT_TIP = 5387, - STR_TITLE_EDITOR_ACTION_DELETE_TIP = 5388, - STR_TITLE_EDITOR_ACTION_SKIP_TO_TIP = 5389, - STR_TITLE_EDITOR_ACTION_MOVE_DOWN_TIP = 5390, - STR_TITLE_EDITOR_ACTION_MOVE_UP_TIP = 5391, - STR_TITLE_EDITOR_ACTION_ADD_TIP = 5392, - STR_TITLE_EDITOR_ACTION_REMOVE_TIP = 5393, - STR_TITLE_EDITOR_ACTION_RENAME_TIP = 5394, - STR_TITLE_EDITOR_ACTION_LOAD_TIP = 5395, - STR_TITLE_EDITOR_ACTION_RELOAD_TIP = 5396, + STR_CHEAT_MAKE_DESTRUCTABLE = 5125, + STR_OPTIONS_MUSIC_VALUE_RANDOM = 5126, + STR_DISABLE_ELEVATION = 5127, + STR_SELECTION_SIZE = 5128, + STR_ENTER_SELECTION_SIZE = 5129, + STR_MAP_SIZE_2 = 5130, + STR_ENTER_MAP_SIZE = 5131, + STR_CHEAT_FIX_ALL_RIDES = 5132, + STR_ADJUST_SMALLER_LAND_RIGHTS_TIP = 5133, + STR_ADJUST_LARGER_LAND_RIGHTS_TIP = 5134, + STR_BUY_LAND_AND_CONSTRUCTION_RIGHTS_TIP = 5135, + STR_LAND_RIGHTS = 5136, + STR_CHEAT_UNLOCK_OPERATING_LIMITS = 5137, + STR_SMALL_WINDOW_COLOUR_2_STRINGID = 5138, + STR_WHITE_STRING = 5139, + STR_CHEAT_DISABLE_BRAKES_FAILURE = 5140, + STR_CHEAT_DISABLE_BREAKDOWNS = 5141, + STR_SPEED_NORMAL = 5142, + STR_SPEED_QUICK = 5143, + STR_SPEED_FAST = 5144, + STR_SPEED_TURBO = 5145, + STR_SPEED_HYPER = 5146, + STR_CHEATS_BUTTON_ON_TOOLBAR = 5147, + STR_GAME_SPEED_TIP = 5148, + STR_CHEATS_TIP = 5149, + STR_ENABLE_DEBUGGING_TOOLS = 5150, + STR_LOCALE_THOUSANDS_SEPARATOR = 5151, + STR_LOCALE_DECIMAL_POINT = 5152, + STR_EDIT_THEMES_BUTTON = 5153, + STR_HARDWARE_DISPLAY = 5154, // Unused + STR_TEST_UNFINISHED_TRACKS = 5155, + STR_TEST_UNFINISHED_TRACKS_TIP = 5156, + STR_CHEAT_UNLOCK_PRICES = 5157, + STR_QUIT_TO_MENU = 5158, + STR_EXIT_OPENRCT2 = 5159, + STR_DATE_FORMAT_MDY = 5160, + STR_DATE_FORMAT = 5161, + STR_DATE_FORMAT_DAY_MONTH_YEAR = 5162, + STR_DATE_FORMAT_MONTH_DAY_YEAR = 5163, + STR_TWITCH_NAME = 5164, + STR_TWITCH_PEEP_FOLLOWERS = 5165, + STR_TWITCH_PEEP_FOLLOWERS_TIP = 5166, + STR_TWITCH_FOLLOWERS_TRACK = 5167, + STR_TWITCH_FOLLOWERS_TRACK_TIP = 5168, + STR_TWITCH_PEEP_CHAT = 5169, + STR_TWITCH_PEEP_CHAT_TIP = 5170, + STR_TWITCH_CHAT_TRACK = 5171, + STR_TWITCH_CHAT_TRACK_TIP = 5172, + STR_TWITCH_CHAT_NEWS = 5173, + STR_TWITCH_CHAT_NEWS_TIP = 5174, + STR_TWITCH_NAME_DESC = 5175, + STR_TWITCH_ENABLE = 5176, + STR_FULLSCREEN_MODE = 5177, + STR_FINANCIAL_CHEATS_TIP = 5178, + STR_GUEST_CHEATS_TIP = 5179, + STR_PARK_CHEATS_TIP = 5180, + STR_RIDE_CHEATS_TIP = 5181, + STR_FORMAT_INTEGER = 5182, + STR_BASE_HEIGHT = 5183, + STR_ENTER_BASE_HEIGHT = 5184, + STR_WATER_LEVEL = 5185, + STR_ENTER_WATER_LEVEL = 5186, + STR_THEMES_WINDOW_FINANCES = 5187, + STR_THEMES_WINDOW_NEW_CAMPAIGN = 5188, + STR_THEMES_WINDOW_RESEARCH = 5189, + STR_THEMES_WINDOW_MAP = 5190, + STR_THEMES_WINDOW_VIEWPORT = 5191, + STR_THEMES_WINDOW_RECENT_NEWS = 5192, + STR_THEMES_WINDOW_LAND = 5193, + STR_THEMES_WINDOW_WATER = 5194, + STR_THEMES_WINDOW_CLEAR_SCENERY = 5195, + STR_THEMES_WINDOW_LAND_RIGHTS = 5196, + STR_THEMES_WINDOW_SCENERY = 5197, + STR_THEMES_WINDOW_FOOTPATH = 5198, + STR_THEMES_WINDOW_RIDE_CONSTRUCTION = 5199, + STR_THEMES_WINDOW_TRACK_DESIGN_PLACE = 5200, + STR_THEMES_WINDOW_CONSTRUCT_RIDE = 5201, + STR_THEMES_WINDOW_TRACK_DESIGN_LIST = 5202, + STR_THEMES_WINDOW_RIDE = 5203, + STR_THEMES_WINDOW_RIDE_LIST = 5204, + STR_THEMES_WINDOW_PEEP = 5205, + STR_THEMES_WINDOW_GUEST_LIST = 5206, + STR_THEMES_WINDOW_STAFF = 5207, + STR_THEMES_WINDOW_STAFF_LIST = 5208, + STR_THEMES_WINDOW_BANNER = 5209, + STR_THEMES_WINDOW_EDITOR_OBJECT_SELECTION = 5210, + STR_THEMES_WINDOW_EDITOR_INVENTION_LIST = 5211, + STR_THEMES_WINDOW_EDITOR_SCENARIO_OPTIONS = 5212, + STR_THEMES_WINDOW_EDTIOR_OBJECTIVE_OPTIONS = 5213, + STR_THEMES_WINDOW_MAPGEN = 5214, + STR_THEMES_WINDOW_MANAGE_TRACK_DESIGN = 5215, + STR_THEMES_WINDOW_INSTALL_TRACK = 5216, + STR_CHEAT_TITLE = 5217, + STR_THEMES_WINDOW_THEMES = 5218, + STR_THEMES_WINDOW_OPTIONS = 5219, + STR_THEMES_WINDOW_KEYBOARD_SHORTCUT_LIST = 5220, + STR_THEMES_WINDOW_CHANGE_KEYBOARD_SHORTCUT = 5221, + STR_THEMES_WINDOW_LOADSAVE = 5222, + STR_THEMES_WINDOW_SAVE_PROMPT = 5223, + STR_THEMES_WINDOW_DEMOLISH_RIDE_PROMPT = 5224, + STR_THEMES_WINDOW_FIRE_PROMPT = 5225, + STR_THEMES_WINDOW_TRACK_DELETE_PROMPT = 5226, + STR_THEMES_WINDOW_LOADSAVE_OVERWRITE_PROMPT = 5227, + STR_THEMES_TAB_MAIN_TIP = 5228, + STR_THEMES_TAB_PARK_TIP = 5229, + STR_THEMES_TAB_TOOLS_TIP = 5230, + STR_THEMES_TAB_RIDES_AND_GUESTS_TIP = 5231, + STR_THEMES_TAB_EDITORS_TIP = 5232, + STR_THEMES_TAB_MISC_TIP = 5233, + STR_THEMES_TAB_PROMPTS_TIP = 5234, + STR_THEMES_TAB_SETTINGS_TIP = 5235, + STR_THEMES_HEADER_WINDOW = 5236, + STR_THEMES_HEADER_PALETTE = 5237, + STR_THEMES_LABEL_CURRENT_THEME = 5238, + STR_TITLE_EDITOR_ACTION_DUPLICATE = 5239, + STR_THEMES_PROMPT_ENTER_THEME_NAME = 5240, + STR_THEMES_ERR_CANT_CHANGE_THIS_THEME = 5241, + STR_THEMES_ERR_NAME_ALREADY_EXISTS = 5242, + STR_ERROR_INVALID_CHARACTERS = 5243, + STR_THEMES_TITLE = 5244, + STR_THEMES_WINDOW_TOP_TOOLBAR = 5245, + STR_THEMES_WINDOW_BOTTOM_TOOLBAR = 5246, + STR_THEMES_WINDOW_BOTTOM_TOOLBAR_TRACK_EDITOR = 5247, + STR_THEMES_WINDOW_BOTTOM_TOOLBAR_SCENARIO_EDITOR = 5248, + STR_THEMES_WINDOW_TITLE_MENU_BUTTONS = 5249, + STR_THEMES_WINDOW_TITLE_MENU_EXIT = 5250, + STR_THEMES_WINDOW_TITLE_MENU_OPTIONS = 5251, + STR_THEMES_WINDOW_TITLE_MENU_SCENARIO_SELECTION = 5252, + STR_THEMES_WINDOW_PARK_INFORMATION = 5253, + STR_TITLE_EDITOR_ACTION_CREATE = 5254, + STR_TITLE_EDITOR_ACTION_CREATE_SEQUENCE_TIP = 5255, + STR_THEMES_DESC_CANT_CHANGE_THIS_THEME = 5256, + STR_THEMES_ACTION_DUPLICATE_TIP = 5257, + STR_THEMES_ACTION_DELETE_TIP = 5258, + STR_THEMES_ACTION_RENAME_TIP = 5259, + STR_GIANT_SCREENSHOT = 5260, + STR_OBJECT_FILTER = 5261, + STR_OBJECT_FILTER_WW = 5262, + STR_OBJECT_FILTER_TT = 5263, + STR_OBJECT_FILTER_CUSTOM = 5264, + STR_OBJECT_FILTER_TIP = 5265, + STR_OPTIONS_DISPLAY_TIP = 5266, + STR_OPTIONS_CULTURE_TIP = 5267, + STR_OPTIONS_AUDIO_TIP = 5268, + STR_OPTIONS_CONTROLS_AND_INTERFACE_TIP = 5269, + STR_OPTIONS_MISCELLANEOUS_TIP = 5270, + STR_OPTIONS_TWITCH_TIP = 5271, + STR_CLEAR_SCENERY_REMOVE_SMALL_SCENERY_TIP = 5272, + STR_CLEAR_SCENERY_REMOVE_LARGE_SCENERY_TIP = 5273, + STR_CLEAR_SCENERY_REMOVE_FOOTPATHS_TIP = 5274, + STR_OBJECT_SEARCH = 5275, // Unused (commented out) + STR_OBJECT_SEARCH_DESC = 5276, // Unused (commented out) + STR_OBJECT_SEARCH_CLEAR = 5277, + STR_CHEAT_SANDBOX_MODE = 5278, + STR_CHEAT_SANDBOX_MODE_DISABLE = 5279, + STR_CHEAT_SANDBOX_MODE_TIP = 5280, + STR_THEMES_TAB_FEATURES_TIP = 5281, + STR_THEMES_OPTION_RCT1_RIDE_CONTROLS = 5282, + STR_THEMES_OPTION_RCT1_PARK_CONTROLS = 5283, + STR_THEMES_OPTION_RCT1_SCENARIO_SELECTION_FONT = 5284, + STR_CHEAT_EXPLODE = 5285, + STR_CHEAT_EXPLODE_TIP = 5286, + STR_DEBUG_RIDE_ALREADY_BROKEN = 5287, + STR_DEBUG_RIDE_IS_CLOSED = 5288, + STR_DEBUG_NO_BREAKDOWNS_AVAILABLE = 5289, + STR_DEBUG_FIX_RIDE = 5290, + STR_DEBUG_CANT_FORCE_BREAKDOWN = 5291, + STR_DEBUG_FORCE_BREAKDOWN_TIP = 5292, + STR_CLOSE_RIDE_TIP = 5293, + STR_TEST_RIDE_TIP = 5294, + STR_OPEN_RIDE_TIP = 5295, + STR_CLOSE_PARK_TIP = 5296, + STR_OPEN_PARK_TIP = 5297, + STR_RED_STRINGID = 5298, + STR_LIGHTPINK_STRINGID = 5299, + STR_QUICK_FIRE_STAFF = 5300, + STR_CHEAT_CLEAR_LOAN_TIP = 5301, + STR_CHEAT_CLEAR_LOAN = 5302, + STR_CHEAT_BUILD_IN_PAUSE_MODE = 5303, + STR_TITLE_SEQUENCE = 5304, + STR_TITLE_SEQUENCE_RCT1 = 5305, + STR_TITLE_SEQUENCE_RCT1_AA = 5306, + STR_TITLE_SEQUENCE_RCT1_AA_LL = 5307, + STR_TITLE_SEQUENCE_RCT2 = 5308, + STR_TITLE_SEQUENCE_OPENRCT2 = 5309, + STR_TITLE_SEQUENCE_RANDOM = 5310, // Unused + STR_DEBUG_TIP = 5311, + STR_DEBUG_DROPDOWN_CONSOLE = 5312, + STR_DEBUG_DROPDOWN_TILE_INSPECTOR = 5313, + STR_TILE_INSPECTOR_TITLE = 5314, + STR_TILE_INSPECTOR_TERRAIN_GRASS = 5315, + STR_TILE_INSPECTOR_TERRAIN_SAND = 5316, + STR_TILE_INSPECTOR_TERRAIN_DIRT = 5317, + STR_TILE_INSPECTOR_TERRAIN_ROCK = 5318, + STR_TILE_INSPECTOR_TERRAIN_MARTIAN = 5319, + STR_TILE_INSPECTOR_TERRAIN_CHECKERBOARD = 5320, + STR_TILE_INSPECTOR_TERRAIN_GRASS_CLUMPS = 5321, + STR_TILE_INSPECTOR_TERRAIN_ICE = 5322, + STR_TILE_INSPECTOR_TERRAIN_GRID_RED = 5323, + STR_TILE_INSPECTOR_TERRAIN_GRID_YELLOW = 5324, + STR_TILE_INSPECTOR_TERRAIN_GRID_BLUE = 5325, + STR_TILE_INSPECTOR_TERRAIN_GRID_GREEN = 5326, + STR_TILE_INSPECTOR_TERRAIN_SAND_DARK = 5327, + STR_TILE_INSPECTOR_TERRAIN_SAND_LIGHT = 5328, + STR_TILE_INSPECTOR_TERRAIN_CHECKERBOARD_INVERTED = 5329, + STR_TILE_INSPECTOR_TERRAIN_UNDERGROUND_VIEW = 5330, + STR_TILE_INSPECTOR_TERRAIN_EDGE_ROCK = 5331, + STR_TILE_INSPECTOR_TERRAIN_EDGE_WOOD_RED = 5332, + STR_TILE_INSPECTOR_TERRAIN_EDGE_WOOD_BLACK = 5333, + STR_TILE_INSPECTOR_TERRAIN_EDGE_ICE = 5334, + STR_TILE_INSPECTOR_ENTRANCE_TYPE_RIDE_ENTRANCE = 5335, + STR_TILE_INSPECTOR_ENTRANCE_TYPE_RIDE_EXIT = 5336, + STR_TILE_INSPECTOR_ENTRANCE_TYPE_PARK_ENTRANC = 5337, + STR_TILE_INSPECTOR_ELEMENT_TYPE = 5338, + STR_TILE_INSPECTOR_BASE_HEIGHT = 5339, + STR_TILE_INSPECTOR_CLEARANCE_HEIGHT = 5340, + STR_AUTO_STAFF_PLACEMENT = 5343, + STR_CHANGELOG_TITLE = 5344, + STR_CHEAT_TITLE_FINANCIAL = 5345, + STR_CHEAT_TITLE_GUEST = 5346, + STR_CHEAT_TITLE_PARK = 5347, + STR_CHEAT_TITLE_RIDE = 5348, + STR_OBJECT_FILTER_ALL_RIDES_TIP = 5349, + STR_MAX = 5350, + STR_MIN = 5351, + STR_CHEAT_GUEST_HAPPINESS = 5352, + STR_CHEAT_GUEST_ENERGY = 5353, + STR_CHEAT_GUEST_HUNGER = 5354, + STR_CHEAT_GUEST_THIRST = 5355, + STR_CHEAT_GUEST_NAUSEA = 5356, + STR_CHEAT_GUEST_NAUSEA_TOLERANCE = 5357, + STR_CHEAT_GUEST_BATHROOM = 5358, + STR_CHEAT_REMOVE_ALL_GUESTS = 5359, + STR_CHEAT_REMOVE_ALL_GUESTS_TIP = 5360, + STR_CHEAT_GIVE_ALL_GUESTS = 5361, + STR_CHEAT_GUEST_PREFERRED_INTENSITY = 5362, + STR_CHEAT_MORE_THAN_1 = 5363, + STR_CHEAT_LESS_THAN_15 = 5364, + STR_CHEAT_STAFF_SPEED = 5365, + STR_NORMAL = 5366, + STR_FAST = 5367, + STR_CHEAT_RESET_CRASH_STATUS = 5368, + STR_CHEAT_PARK_PARAMETERS = 5369, + STR_CHEAT_PARK_PARAMETERS_TIP = 5370, + STR_DEBUG_DROPDOWN_OBJECT_SELECTION = 5371, + STR_INVERT_RIGHT_MOUSE_DRAG = 5372, + STR_NAME = 5373, + STR_DATE = 5374, + STR_UP = 5375, + STR_DOWN = 5376, + STR_TITLE_EDITOR_SAVES_TAB_TIP = 5377, + STR_TITLE_EDITOR_SCRIPT_TAB_TIP = 5378, + STR_TITLE_EDITOR_ACTION_SKIP_TIP = 5379, + STR_TITLE_EDITOR_ACTION_PLAY_TIP = 5380, + STR_TITLE_EDITOR_ACTION_STOP_TIP = 5381, + STR_TITLE_EDITOR_ACTION_REPLAY_TIP = 5382, + STR_TITLE_EDITOR_ACTION_DUPLICATE_SEQUENCE_TIP = 5383, + STR_TITLE_EDITOR_ACTION_DELETE_SEQUENCE_TIP = 5384, + STR_TITLE_EDITOR_ACTION_RENAME_SEQUENCE_TIP = 5385, + STR_TITLE_EDITOR_ACTION_INSERT_TIP = 5386, + STR_TITLE_EDITOR_ACTION_EDIT_TIP = 5387, + STR_TITLE_EDITOR_ACTION_DELETE_TIP = 5388, + STR_TITLE_EDITOR_ACTION_SKIP_TO_TIP = 5389, + STR_TITLE_EDITOR_ACTION_MOVE_DOWN_TIP = 5390, + STR_TITLE_EDITOR_ACTION_MOVE_UP_TIP = 5391, + STR_TITLE_EDITOR_ACTION_ADD_TIP = 5392, + STR_TITLE_EDITOR_ACTION_REMOVE_TIP = 5393, + STR_TITLE_EDITOR_ACTION_RENAME_TIP = 5394, + STR_TITLE_EDITOR_ACTION_LOAD_TIP = 5395, + STR_TITLE_EDITOR_ACTION_RELOAD_TIP = 5396, // STR_5397 :Can only be used on the title screen - STR_TITLE_EDITOR_ERR_CANT_EDIT_WHILE_PLAYING = 5398, - STR_TITLE_EDITOR_PRESS_STOP_TO_CONTINUE_EDITING = 5399, - STR_ERROR_CANT_CHANGE_TITLE_SEQUENCE = 5400, + STR_TITLE_EDITOR_ERR_CANT_EDIT_WHILE_PLAYING = 5398, + STR_TITLE_EDITOR_PRESS_STOP_TO_CONTINUE_EDITING = 5399, + STR_ERROR_CANT_CHANGE_TITLE_SEQUENCE = 5400, // STR_5401 :Create a new title sequence to make changes to - STR_ERR_FAILED_TO_LOAD_TITLE_SEQUENCE = 5402, + STR_ERR_FAILED_TO_LOAD_TITLE_SEQUENCE = 5402, // STR_5403 :There may be no Load or Wait command or a save may be invalid - STR_ERROR_EXISTING_NAME = 5404, - STR_TITLE_EDITOR_ENTER_NAME_FOR_SAVE = 5405, - STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE = 5406, - STR_TITLE_EDITOR_ACTION_ADD = 5407, - STR_TITLE_EDITOR_ACTION_REMOVE = 5408, - STR_TITLE_EDITOR_ACTION_INSERT = 5409, - STR_TITLE_EDITOR_ACTION_EDIT = 5410, - STR_TITLE_EDITOR_ACTION_RELOAD = 5411, // unused (commented out) - STR_TITLE_EDITOR_ACTION_SKIP_TO = 5412, - STR_TITLE_EDITOR_ACTION_LOAD = 5413, - STR_TITLE_EDITOR_COMMAND_LOAD_SFMM = 5414, - STR_TITLE_EDITOR_COMMAND_LOAD_FILE = 5415, - STR_TITLE_EDITOR_COMMAND_LOAD_NO_SAVE = 5416, - STR_TITLE_EDITOR_COMMAND_TYPE_LOCATION = 5417, - STR_TITLE_EDITOR_COMMAND_LOCATION = 5418, - STR_TITLE_EDITOR_COMMAND_TYPE_ROTATE = 5419, - STR_TITLE_EDITOR_COMMAND_ROTATE = 5420, - STR_TITLE_EDITOR_COMMAND_TYPE_ZOOM = 5421, - STR_TITLE_EDITOR_COMMAND_ZOOM = 5422, - STR_TITLE_EDITOR_COMMAND_TYPE_WAIT = 5423, - STR_TITLE_EDITOR_COMMAND_WAIT = 5424, - STR_TITLE_EDITOR_RESTART = 5425, - STR_TITLE_EDITOR_END = 5426, - STR_TITLE_EDITOR_ARGUMENT_COORDINATES = 5427, - STR_TITLE_EDITOR_ARGUMENT_ROTATIONS = 5428, - STR_TITLE_EDITOR_ARGUMENT_ZOOM_LEVEL = 5429, - STR_TITLE_EDITOR_ARGUMENT_WAIT_SECONDS = 5430, - STR_TITLE_EDITOR_ARGUMENT_SAVEFILE = 5431, - STR_TITLE_COMMAND_EDITOR_COMMAND_LABEL = 5432, - STR_TITLE_EDITOR_TITLE = 5433, - STR_TITLE_COMMAND_EDITOR_TITLE = 5434, - STR_FILEBROWSER_RENAME_SAVE_TITLE = 5435, - STR_EDIT_TITLE_SEQUENCES_BUTTON = 5436, - STR_TITLE_COMMAND_EDITOR_NO_SAVE_SELECTED = 5437, - STR_TITLE_EDITOR_ERR_CANT_CHANGE_WHILE_EDITOR_IS_OPEN = 5438, - STR_TITLE_EDITOR_ERR_RESTART_REQUIRES_WAIT = 5439, - STR_MINIMISE_FULLSCREEN_ON_FOCUS_LOSS = 5440, - STR_SELECT_BY_TRACK_TYPE_TIP = 5441, - STR_FORCE_PARK_RATING = 5442, - STR_TITLE_EDITOR_COMMAND_SPEED = 5443, - STR_TITLE_EDITOR_ARGUMENT_SPEED = 5444, - STR_TITLE_EDITOR_COMMAND_TYPE_SPEED = 5445, - STR_TITLE_COMMAND_EDITOR_ACTION_GET_LOCATION = 5446, - STR_OBJECTS_SORT_TYPE = 5447, - STR_OBJECTS_SORT_RIDE = 5448, - STR_SHORTCUT_REDUCE_GAME_SPEED = 5449, - STR_SHORTCUT_INCREASE_GAME_SPEED = 5450, - STR_SHORTCUT_OPEN_CHEATS_WINDOW = 5451, - STR_SHORTCUT_TOGGLE_VISIBILITY_OF_TOOLBARS = 5452, - STR_SELECT_OTHER_RIDE = 5453, - STR_UNCAP_FPS = 5454, - STR_ENABLE_SANDBOX_MODE = 5455, - STR_DISABLE_CLEARANCE_CHECKS = 5456, - STR_DISABLE_SUPPORT_LIMITS = 5457, - STR_ROTATE_CLOCKWISE = 5458, - STR_ROTATE_ANTI_CLOCKWISE = 5459, - STR_SHORTCUT_ROTATE_VIEW_ANTICLOCKWISE = 5460, - STR_CHEAT_SET_GUESTS_PARAMETERS = 5461, - STR_CHEAT_CURRENCY_FORMAT = 5462, - STR_CHEAT_HAVE_FUN = 5463, - STR_CHEAT_GENERAL_GROUP = 5464, - STR_CHEAT_CLIMATE_GROUP = 5465, - STR_CHEAT_STAFF_GROUP = 5466, - STR_ALT_PLUS = 5467, - STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR = 5468, - STR_SHORTCUT_SCROLL_MAP_UP = 5469, - STR_SHORTCUT_SCROLL_MAP_LEFT = 5470, - STR_SHORTCUT_SCROLL_MAP_DOWN = 5471, - STR_SHORTCUT_SCROLL_MAP_RIGHT = 5472, - STR_CYCLE_DAY_NIGHT = 5473, - STR_UPPERCASE_BANNERS = 5474, - STR_X_WEEKS = 5475, - STR_HARDWARE_GROUP = 5476, - STR_RENDERING_GROUP = 5477, - STR_CONTROLS_GROUP = 5478, - STR_TOOLBAR_BUTTONS_GROUP = 5479, - STR_SHOW_TOOLBAR_BUTTONS_FOR = 5480, - STR_THEMES_GROUP = 5481, - STR_TIME_SINCE_LAST_INSPECTION_MINUTE = 5482, - STR_X_WEEKS_REMAINING = 5483, - STR_1_WEEK_REMAINING = 5484, - STR_BOTTOM_TOOLBAR_NEWS_TEXT = 5485, - STR_LAND_TOOL_SIZE_VALUE = 5486, - STR_SHOW_RECENT_MESSAGES_TIP = 5487, - STR_ENTRANCE_NONE = 5488, - STR_TRACKED_GUESTS_ONLY_TIP = 5489, - STR_AUDIO_FOCUS = 5490, - STR_DEBUG_DROPDOWN_INVENTIONS_LIST = 5491, - STR_DEBUG_DROPDOWN_SCENARIO_OPTIONS = 5492, - STR_SEND_MESSAGE = 5493, + STR_ERROR_EXISTING_NAME = 5404, + STR_TITLE_EDITOR_ENTER_NAME_FOR_SAVE = 5405, + STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE = 5406, + STR_TITLE_EDITOR_ACTION_ADD = 5407, + STR_TITLE_EDITOR_ACTION_REMOVE = 5408, + STR_TITLE_EDITOR_ACTION_INSERT = 5409, + STR_TITLE_EDITOR_ACTION_EDIT = 5410, + STR_TITLE_EDITOR_ACTION_RELOAD = 5411, // unused (commented out) + STR_TITLE_EDITOR_ACTION_SKIP_TO = 5412, + STR_TITLE_EDITOR_ACTION_LOAD = 5413, + STR_TITLE_EDITOR_COMMAND_LOAD_SFMM = 5414, + STR_TITLE_EDITOR_COMMAND_LOAD_FILE = 5415, + STR_TITLE_EDITOR_COMMAND_LOAD_NO_SAVE = 5416, + STR_TITLE_EDITOR_COMMAND_TYPE_LOCATION = 5417, + STR_TITLE_EDITOR_COMMAND_LOCATION = 5418, + STR_TITLE_EDITOR_COMMAND_TYPE_ROTATE = 5419, + STR_TITLE_EDITOR_COMMAND_ROTATE = 5420, + STR_TITLE_EDITOR_COMMAND_TYPE_ZOOM = 5421, + STR_TITLE_EDITOR_COMMAND_ZOOM = 5422, + STR_TITLE_EDITOR_COMMAND_TYPE_WAIT = 5423, + STR_TITLE_EDITOR_COMMAND_WAIT = 5424, + STR_TITLE_EDITOR_RESTART = 5425, + STR_TITLE_EDITOR_END = 5426, + STR_TITLE_EDITOR_ARGUMENT_COORDINATES = 5427, + STR_TITLE_EDITOR_ARGUMENT_ROTATIONS = 5428, + STR_TITLE_EDITOR_ARGUMENT_ZOOM_LEVEL = 5429, + STR_TITLE_EDITOR_ARGUMENT_WAIT_SECONDS = 5430, + STR_TITLE_EDITOR_ARGUMENT_SAVEFILE = 5431, + STR_TITLE_COMMAND_EDITOR_COMMAND_LABEL = 5432, + STR_TITLE_EDITOR_TITLE = 5433, + STR_TITLE_COMMAND_EDITOR_TITLE = 5434, + STR_FILEBROWSER_RENAME_SAVE_TITLE = 5435, + STR_EDIT_TITLE_SEQUENCES_BUTTON = 5436, + STR_TITLE_COMMAND_EDITOR_NO_SAVE_SELECTED = 5437, + STR_TITLE_EDITOR_ERR_CANT_CHANGE_WHILE_EDITOR_IS_OPEN = 5438, + STR_TITLE_EDITOR_ERR_RESTART_REQUIRES_WAIT = 5439, + STR_MINIMISE_FULLSCREEN_ON_FOCUS_LOSS = 5440, + STR_SELECT_BY_TRACK_TYPE_TIP = 5441, + STR_FORCE_PARK_RATING = 5442, + STR_TITLE_EDITOR_COMMAND_SPEED = 5443, + STR_TITLE_EDITOR_ARGUMENT_SPEED = 5444, + STR_TITLE_EDITOR_COMMAND_TYPE_SPEED = 5445, + STR_TITLE_COMMAND_EDITOR_ACTION_GET_LOCATION = 5446, + STR_OBJECTS_SORT_TYPE = 5447, + STR_OBJECTS_SORT_RIDE = 5448, + STR_SHORTCUT_REDUCE_GAME_SPEED = 5449, + STR_SHORTCUT_INCREASE_GAME_SPEED = 5450, + STR_SHORTCUT_OPEN_CHEATS_WINDOW = 5451, + STR_SHORTCUT_TOGGLE_VISIBILITY_OF_TOOLBARS = 5452, + STR_SELECT_OTHER_RIDE = 5453, + STR_UNCAP_FPS = 5454, + STR_ENABLE_SANDBOX_MODE = 5455, + STR_DISABLE_CLEARANCE_CHECKS = 5456, + STR_DISABLE_SUPPORT_LIMITS = 5457, + STR_ROTATE_CLOCKWISE = 5458, + STR_ROTATE_ANTI_CLOCKWISE = 5459, + STR_SHORTCUT_ROTATE_VIEW_ANTICLOCKWISE = 5460, + STR_CHEAT_SET_GUESTS_PARAMETERS = 5461, + STR_CHEAT_CURRENCY_FORMAT = 5462, + STR_CHEAT_HAVE_FUN = 5463, + STR_CHEAT_GENERAL_GROUP = 5464, + STR_CHEAT_CLIMATE_GROUP = 5465, + STR_CHEAT_STAFF_GROUP = 5466, + STR_ALT_PLUS = 5467, + STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR = 5468, + STR_SHORTCUT_SCROLL_MAP_UP = 5469, + STR_SHORTCUT_SCROLL_MAP_LEFT = 5470, + STR_SHORTCUT_SCROLL_MAP_DOWN = 5471, + STR_SHORTCUT_SCROLL_MAP_RIGHT = 5472, + STR_CYCLE_DAY_NIGHT = 5473, + STR_UPPERCASE_BANNERS = 5474, + STR_X_WEEKS = 5475, + STR_HARDWARE_GROUP = 5476, + STR_RENDERING_GROUP = 5477, + STR_CONTROLS_GROUP = 5478, + STR_TOOLBAR_BUTTONS_GROUP = 5479, + STR_SHOW_TOOLBAR_BUTTONS_FOR = 5480, + STR_THEMES_GROUP = 5481, + STR_TIME_SINCE_LAST_INSPECTION_MINUTE = 5482, + STR_X_WEEKS_REMAINING = 5483, + STR_1_WEEK_REMAINING = 5484, + STR_BOTTOM_TOOLBAR_NEWS_TEXT = 5485, + STR_LAND_TOOL_SIZE_VALUE = 5486, + STR_SHOW_RECENT_MESSAGES_TIP = 5487, + STR_ENTRANCE_NONE = 5488, + STR_TRACKED_GUESTS_ONLY_TIP = 5489, + STR_AUDIO_FOCUS = 5490, + STR_DEBUG_DROPDOWN_INVENTIONS_LIST = 5491, + STR_DEBUG_DROPDOWN_SCENARIO_OPTIONS = 5492, + STR_SEND_MESSAGE = 5493, // STR_5494 : - STR_PLAYER_LIST = 5495, // Unused - STR_PLAYER = 5496, - STR_PING = 5497, - STR_SERVER_LIST = 5498, - STR_PLAYER_NAME = 5499, - STR_ADD_SERVER = 5500, - STR_START_SERVER = 5501, - STR_MULTIPLAYER = 5502, - STR_ENTER_HOSTNAME_OR_IP_ADDRESS = 5503, - STR_SHOW_MULTIPLAYER_STATUS_TIP = 5504, - STR_UNABLE_TO_CONNECT_TO_SERVER = 5505, - STR_CHEAT_IGNORE_INTENSITY = 5506, - STR_HANDYMEN_MOW_BY_DEFAULT = 5507, - STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM = 5508, - STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM_TIP = 5509, - STR_OPTIONS_SOUND_VALUE_DEFAULT = 5510, - STR_OPTIONS_SOUND_VALUE_UNKNOWN = 5511, - STR_SAVE_GAME_AS = 5512, - STR_SHORTCUT_QUICK_SAVE_GAME = 5513, - STR_CHEAT_DISABLE_VANDALISM = 5514, - STR_CHEAT_DISABLE_VANDALISM_TIP = 5515, - STR_COLOUR_BLACK_TIP = 5516, - STR_COLOUR_GREY_TIP = 5517, - STR_COLOUR_WHITE_TIP = 5518, - STR_COLOUR_DARK_PURPLE_TIP = 5519, - STR_COLOUR_LIGHT_PURPLE_TIP = 5520, - STR_COLOUR_BRIGHT_PURPLE_TIP = 5521, - STR_COLOUR_DARK_BLUE_TIP = 5522, - STR_COLOUR_LIGHT_BLUE_TIP = 5523, - STR_COLOUR_ICY_BLUE_TIP = 5524, - STR_COLOUR_TEAL_TIP = 5525, - STR_COLOUR_AQUAMARINE_TIP = 5526, - STR_COLOUR_SATURATED_GREEN_TIP = 5527, - STR_COLOUR_DARK_GREEN_TIP = 5528, - STR_COLOUR_MOSS_GREEN_TIP = 5529, - STR_COLOUR_BRIGHT_GREEN_TIP = 5530, - STR_COLOUR_OLIVE_GREEN_TIP = 5531, - STR_COLOUR_DARK_OLIVE_GREEN_TIP = 5532, - STR_COLOUR_BRIGHT_YELLOW_TIP = 5533, - STR_COLOUR_YELLOW_TIP = 5534, - STR_COLOUR_DARK_YELLOW_TIP = 5535, - STR_COLOUR_LIGHT_ORANGE_TIP = 5536, - STR_COLOUR_DARK_ORANGE_TIP = 5537, - STR_COLOUR_LIGHT_BROWN_TIP = 5538, - STR_COLOUR_SATURATED_BROWN_TIP = 5539, - STR_COLOUR_DARK_BROWN_TIP = 5540, - STR_COLOUR_SALMON_PINK_TIP = 5541, - STR_COLOUR_BORDEAUX_RED_TIP = 5542, - STR_COLOUR_SATURATED_RED_TIP = 5543, - STR_COLOUR_BRIGHT_RED_TIP = 5544, - STR_COLOUR_DARK_PINK_TIP = 5545, - STR_COLOUR_BRIGHT_PINK_TIP = 5546, - STR_COLOUR_LIGHT_PINK_TIP = 5547, - STR_CHEAT_SHOW_ALL_OPERATING_MODES = 5548, - STR_DATE_FORMAT_YEAR_MONTH_DAY = 5549, - STR_DATE_FORMAT_YMD = 5550, - STR_DATE_FORMAT_YEAR_DAY_MONTH = 5551, - STR_DATE_FORMAT_YDM = 5552, - STR_STEAM_OVERLAY_PAUSE = 5553, - STR_ENABLE_MOUNTAIN_TOOL_TIP = 5554, - STR_CHEAT_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES = 5555, - STR_KICK_PLAYER_TIP = 5556, - STR_STAY_CONNECTED_AFTER_DESYNC = 5557, - STR_RESTART_REQUIRED = 5558, - STR_CHEAT_10_MINUTE_INSPECTIONS = 5559, - STR_CHEAT_10_MINUTE_INSPECTIONS_TIP = 5560, - STR_LANGUAGE_LOAD_FAILED = 5561, - STR_WARNING_IN_CAPS = 5562, - STR_THIS_FEATURE_IS_CURRENTLY_UNSTABLE = 5563, - STR_INSERT_CORRUPT = 5564, // Unused - STR_INSERT_CORRUPT_TIP = 5565, - STR_PASSWORD = 5566, - STR_ADVERTISE = 5567, - STR_PASSWORD_REQUIRED = 5568, - STR_PASSWORD_REQUIRED_DESC = 5569, - STR_FETCH_SERVERS = 5570, - STR_JOIN_GAME = 5571, - STR_ADD_TO_FAVOURITES = 5572, - STR_REMOVE_FROM_FAVOURITES = 5573, - STR_SERVER_NAME = 5574, - STR_MAX_PLAYERS = 5575, - STR_PORT = 5576, - STR_WON = 5577, - STR_ROUBLE = 5578, - STR_UI_SCALING_DESC = 5579, - STR_CZECH_KORUNA = 5580, - STR_SHOW_FPS = 5581, - STR_TRAP_MOUSE = 5582, - STR_UNIT_SUFFIX_METRES_PER_SECOND = 5583, - STR_SI = 5584, - STR_CHEAT_UNLOCK_OPERATING_LIMITS_TIP = 5585, - STR_AUTO_OPEN_SHOPS = 5586, - STR_AUTO_OPEN_SHOPS_TIP = 5587, - STR_SHOW_MULTIPLAYER_TIP = 5588, - STR_NOTIFICATION_SETTINGS = 5589, - STR_NOTIFICATION_PARK_AWARD = 5590, - STR_NOTIFICATION_PARK_MARKETING_CAMPAIGN_FINISHED = 5591, - STR_NOTIFICATION_PARK_WARNINGS = 5592, - STR_NOTIFICATION_PARK_RATING_WARNINGS = 5593, - STR_NOTIFICATION_RIDE_BROKEN_DOWN = 5594, - STR_NOTIFICATION_RIDE_CRASHED = 5595, - STR_NOTIFICATION_RIDE_WARNINGS = 5596, - STR_NOTIFICATION_RIDE_RESEARCHED = 5597, - STR_NOTIFICATION_GUEST_WARNINGS = 5598, - STR_NOTIFICATION_GUEST_LOST = 5599, - STR_NOTIFICATION_GUEST_LEFT_PARK = 5600, - STR_NOTIFICATION_GUEST_QUEUING_FOR_RIDE = 5601, - STR_NOTIFICATION_GUEST_ON_RIDE = 5602, - STR_NOTIFICATION_GUEST_LEFT_RIDE = 5603, - STR_NOTIFICATION_GUEST_BOUGHT_ITEM = 5604, - STR_NOTIFICATION_GUEST_USED_FACILITY = 5605, - STR_NOTIFICATION_GUEST_DIED = 5606, - STR_TILE_INSPECTOR_BASE_HEIGHT_SHORT = 5608, - STR_TILE_INSPECTOR_CLEARANGE_HEIGHT_SHORT = 5609, + STR_PLAYER_LIST = 5495, // Unused + STR_PLAYER = 5496, + STR_PING = 5497, + STR_SERVER_LIST = 5498, + STR_PLAYER_NAME = 5499, + STR_ADD_SERVER = 5500, + STR_START_SERVER = 5501, + STR_MULTIPLAYER = 5502, + STR_ENTER_HOSTNAME_OR_IP_ADDRESS = 5503, + STR_SHOW_MULTIPLAYER_STATUS_TIP = 5504, + STR_UNABLE_TO_CONNECT_TO_SERVER = 5505, + STR_CHEAT_IGNORE_INTENSITY = 5506, + STR_HANDYMEN_MOW_BY_DEFAULT = 5507, + STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM = 5508, + STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM_TIP = 5509, + STR_OPTIONS_SOUND_VALUE_DEFAULT = 5510, + STR_OPTIONS_SOUND_VALUE_UNKNOWN = 5511, + STR_SAVE_GAME_AS = 5512, + STR_SHORTCUT_QUICK_SAVE_GAME = 5513, + STR_CHEAT_DISABLE_VANDALISM = 5514, + STR_CHEAT_DISABLE_VANDALISM_TIP = 5515, + STR_COLOUR_BLACK_TIP = 5516, + STR_COLOUR_GREY_TIP = 5517, + STR_COLOUR_WHITE_TIP = 5518, + STR_COLOUR_DARK_PURPLE_TIP = 5519, + STR_COLOUR_LIGHT_PURPLE_TIP = 5520, + STR_COLOUR_BRIGHT_PURPLE_TIP = 5521, + STR_COLOUR_DARK_BLUE_TIP = 5522, + STR_COLOUR_LIGHT_BLUE_TIP = 5523, + STR_COLOUR_ICY_BLUE_TIP = 5524, + STR_COLOUR_TEAL_TIP = 5525, + STR_COLOUR_AQUAMARINE_TIP = 5526, + STR_COLOUR_SATURATED_GREEN_TIP = 5527, + STR_COLOUR_DARK_GREEN_TIP = 5528, + STR_COLOUR_MOSS_GREEN_TIP = 5529, + STR_COLOUR_BRIGHT_GREEN_TIP = 5530, + STR_COLOUR_OLIVE_GREEN_TIP = 5531, + STR_COLOUR_DARK_OLIVE_GREEN_TIP = 5532, + STR_COLOUR_BRIGHT_YELLOW_TIP = 5533, + STR_COLOUR_YELLOW_TIP = 5534, + STR_COLOUR_DARK_YELLOW_TIP = 5535, + STR_COLOUR_LIGHT_ORANGE_TIP = 5536, + STR_COLOUR_DARK_ORANGE_TIP = 5537, + STR_COLOUR_LIGHT_BROWN_TIP = 5538, + STR_COLOUR_SATURATED_BROWN_TIP = 5539, + STR_COLOUR_DARK_BROWN_TIP = 5540, + STR_COLOUR_SALMON_PINK_TIP = 5541, + STR_COLOUR_BORDEAUX_RED_TIP = 5542, + STR_COLOUR_SATURATED_RED_TIP = 5543, + STR_COLOUR_BRIGHT_RED_TIP = 5544, + STR_COLOUR_DARK_PINK_TIP = 5545, + STR_COLOUR_BRIGHT_PINK_TIP = 5546, + STR_COLOUR_LIGHT_PINK_TIP = 5547, + STR_CHEAT_SHOW_ALL_OPERATING_MODES = 5548, + STR_DATE_FORMAT_YEAR_MONTH_DAY = 5549, + STR_DATE_FORMAT_YMD = 5550, + STR_DATE_FORMAT_YEAR_DAY_MONTH = 5551, + STR_DATE_FORMAT_YDM = 5552, + STR_STEAM_OVERLAY_PAUSE = 5553, + STR_ENABLE_MOUNTAIN_TOOL_TIP = 5554, + STR_CHEAT_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES = 5555, + STR_KICK_PLAYER_TIP = 5556, + STR_STAY_CONNECTED_AFTER_DESYNC = 5557, + STR_RESTART_REQUIRED = 5558, + STR_CHEAT_10_MINUTE_INSPECTIONS = 5559, + STR_CHEAT_10_MINUTE_INSPECTIONS_TIP = 5560, + STR_LANGUAGE_LOAD_FAILED = 5561, + STR_WARNING_IN_CAPS = 5562, + STR_THIS_FEATURE_IS_CURRENTLY_UNSTABLE = 5563, + STR_INSERT_CORRUPT = 5564, // Unused + STR_INSERT_CORRUPT_TIP = 5565, + STR_PASSWORD = 5566, + STR_ADVERTISE = 5567, + STR_PASSWORD_REQUIRED = 5568, + STR_PASSWORD_REQUIRED_DESC = 5569, + STR_FETCH_SERVERS = 5570, + STR_JOIN_GAME = 5571, + STR_ADD_TO_FAVOURITES = 5572, + STR_REMOVE_FROM_FAVOURITES = 5573, + STR_SERVER_NAME = 5574, + STR_MAX_PLAYERS = 5575, + STR_PORT = 5576, + STR_WON = 5577, + STR_ROUBLE = 5578, + STR_UI_SCALING_DESC = 5579, + STR_CZECH_KORUNA = 5580, + STR_SHOW_FPS = 5581, + STR_TRAP_MOUSE = 5582, + STR_UNIT_SUFFIX_METRES_PER_SECOND = 5583, + STR_SI = 5584, + STR_CHEAT_UNLOCK_OPERATING_LIMITS_TIP = 5585, + STR_AUTO_OPEN_SHOPS = 5586, + STR_AUTO_OPEN_SHOPS_TIP = 5587, + STR_SHOW_MULTIPLAYER_TIP = 5588, + STR_NOTIFICATION_SETTINGS = 5589, + STR_NOTIFICATION_PARK_AWARD = 5590, + STR_NOTIFICATION_PARK_MARKETING_CAMPAIGN_FINISHED = 5591, + STR_NOTIFICATION_PARK_WARNINGS = 5592, + STR_NOTIFICATION_PARK_RATING_WARNINGS = 5593, + STR_NOTIFICATION_RIDE_BROKEN_DOWN = 5594, + STR_NOTIFICATION_RIDE_CRASHED = 5595, + STR_NOTIFICATION_RIDE_WARNINGS = 5596, + STR_NOTIFICATION_RIDE_RESEARCHED = 5597, + STR_NOTIFICATION_GUEST_WARNINGS = 5598, + STR_NOTIFICATION_GUEST_LOST = 5599, + STR_NOTIFICATION_GUEST_LEFT_PARK = 5600, + STR_NOTIFICATION_GUEST_QUEUING_FOR_RIDE = 5601, + STR_NOTIFICATION_GUEST_ON_RIDE = 5602, + STR_NOTIFICATION_GUEST_LEFT_RIDE = 5603, + STR_NOTIFICATION_GUEST_BOUGHT_ITEM = 5604, + STR_NOTIFICATION_GUEST_USED_FACILITY = 5605, + STR_NOTIFICATION_GUEST_DIED = 5606, + STR_TILE_INSPECTOR_BASE_HEIGHT_SHORT = 5608, + STR_TILE_INSPECTOR_CLEARANGE_HEIGHT_SHORT = 5609, // STR_5610 :{SMALLFONT}{BLACK}Remove the currently selected map element. This will forcefully remove it, so no cash will be used/gained. Use with caution. - STR_REMOVE_SELECTED_ELEMENT_TIP = 5610, - STR_TILE_INSPECTOR_FLAG_GHOST_SHORT = 5611, - STR_TILE_INSPECTOR_FLAG_GHOST = 5612, - STR_TILE_INSPECTOR_FLAG_BROKEN_SHORT = 5613, - STR_TILE_INSPECTOR_FLAG_BROKEN = 5614, - STR_TILE_INSPECTOR_FLAG_LAST_SHORT = 5615, - STR_TILE_INSPECTOR_FLAG_LAST = 5616, - STR_MOVE_SELECTED_ELEMENT_UP_TIP = 5617, - STR_MOVE_SELECTED_ELEMENT_DOWN_TIP = 5618, - STR_SCENARIO_CATEGORY_RCT1 = 5619, - STR_SCENARIO_CATEGORY_RCT1_AA = 5620, - STR_SCENARIO_CATEGORY_RCT1_LL = 5621, - STR_SCENARIO_CATEGORY_RCT2 = 5622, - STR_SCENARIO_CATEGORY_RCT2_WW = 5623, - STR_SCENARIO_CATEGORY_RCT2_TT = 5624, - STR_SCENARIO_CATEGORY_REAL_PARKS = 5625, - STR_SCENARIO_CATEGORY_OTHER_PARKS = 5626, - STR_OPTIONS_SCENARIO_GROUPING = 5627, - STR_OPTIONS_SCENARIO_ORIGIN = 5628, - STR_OPTIONS_SCENARIO_DIFFICULTY = 5629, - STR_OPTIONS_SCENARIO_UNLOCKING = 5630, - STR_DLC_PARKS = 5631, - STR_BUILD_YOUR_OWN_PARKS = 5632, - STR_CMD_PLUS = 5633, - STR_OPTION_PLUS = 5634, - STR_MONEY_SPENT = 5635, - STR_COMMANDS_RAN = 5636, - STR_CANT_DO_THIS = 5637, - STR_PERMISSION_DENIED = 5638, - STR_PLAYERS_TIP = 5639, - STR_GROUPS_TIP = 5640, - STR_DEFAULT_GROUP = 5641, - STR_GROUP = 5642, - STR_ADD_GROUP = 5643, - STR_REMOVE_GROUP = 5644, - STR_ACTION_CHAT = 5645, - STR_ACTION_TERRAFORM = 5646, - STR_ACTION_TOGGLE_PAUSE = 5647, - STR_ACTION_SET_WATER_LEVEL = 5648, - STR_ACTION_CREATE_RIDE = 5649, - STR_ACTION_REMOVE_RIDE = 5650, - STR_ACTION_BUILD_RIDE = 5651, - STR_ACTION_RIDE_PROPERTIES = 5652, - STR_ACTION_SCENERY = 5653, - STR_ACTION_PATH = 5654, - STR_ACTION_GUEST = 5655, - STR_ACTION_STAFF = 5656, - STR_ACTION_PARK_PROPERTIES = 5657, - STR_ACTION_PARK_FUNDING = 5658, - STR_ACTION_KICK_PLAYER = 5659, - STR_ACTION_MODIFY_GROUPS = 5660, - STR_ACTION_SET_PLAYER_GROUP = 5661, - STR_ACTION_NA = 5662, - STR_ACTION_CLEAR_LANDSCAPE = 5663, - STR_ACTION_CHEAT = 5664, - STR_ACTION_TOGGLE_SCENERY_CLUSTER = 5665, - STR_ACTION_PASSWORDLESS_LOGIN = 5666, + STR_REMOVE_SELECTED_ELEMENT_TIP = 5610, + STR_TILE_INSPECTOR_FLAG_GHOST_SHORT = 5611, + STR_TILE_INSPECTOR_FLAG_GHOST = 5612, + STR_TILE_INSPECTOR_FLAG_BROKEN_SHORT = 5613, + STR_TILE_INSPECTOR_FLAG_BROKEN = 5614, + STR_TILE_INSPECTOR_FLAG_LAST_SHORT = 5615, + STR_TILE_INSPECTOR_FLAG_LAST = 5616, + STR_MOVE_SELECTED_ELEMENT_UP_TIP = 5617, + STR_MOVE_SELECTED_ELEMENT_DOWN_TIP = 5618, + STR_SCENARIO_CATEGORY_RCT1 = 5619, + STR_SCENARIO_CATEGORY_RCT1_AA = 5620, + STR_SCENARIO_CATEGORY_RCT1_LL = 5621, + STR_SCENARIO_CATEGORY_RCT2 = 5622, + STR_SCENARIO_CATEGORY_RCT2_WW = 5623, + STR_SCENARIO_CATEGORY_RCT2_TT = 5624, + STR_SCENARIO_CATEGORY_REAL_PARKS = 5625, + STR_SCENARIO_CATEGORY_OTHER_PARKS = 5626, + STR_OPTIONS_SCENARIO_GROUPING = 5627, + STR_OPTIONS_SCENARIO_ORIGIN = 5628, + STR_OPTIONS_SCENARIO_DIFFICULTY = 5629, + STR_OPTIONS_SCENARIO_UNLOCKING = 5630, + STR_DLC_PARKS = 5631, + STR_BUILD_YOUR_OWN_PARKS = 5632, + STR_CMD_PLUS = 5633, + STR_OPTION_PLUS = 5634, + STR_MONEY_SPENT = 5635, + STR_COMMANDS_RAN = 5636, + STR_CANT_DO_THIS = 5637, + STR_PERMISSION_DENIED = 5638, + STR_PLAYERS_TIP = 5639, + STR_GROUPS_TIP = 5640, + STR_DEFAULT_GROUP = 5641, + STR_GROUP = 5642, + STR_ADD_GROUP = 5643, + STR_REMOVE_GROUP = 5644, + STR_ACTION_CHAT = 5645, + STR_ACTION_TERRAFORM = 5646, + STR_ACTION_TOGGLE_PAUSE = 5647, + STR_ACTION_SET_WATER_LEVEL = 5648, + STR_ACTION_CREATE_RIDE = 5649, + STR_ACTION_REMOVE_RIDE = 5650, + STR_ACTION_BUILD_RIDE = 5651, + STR_ACTION_RIDE_PROPERTIES = 5652, + STR_ACTION_SCENERY = 5653, + STR_ACTION_PATH = 5654, + STR_ACTION_GUEST = 5655, + STR_ACTION_STAFF = 5656, + STR_ACTION_PARK_PROPERTIES = 5657, + STR_ACTION_PARK_FUNDING = 5658, + STR_ACTION_KICK_PLAYER = 5659, + STR_ACTION_MODIFY_GROUPS = 5660, + STR_ACTION_SET_PLAYER_GROUP = 5661, + STR_ACTION_NA = 5662, + STR_ACTION_CLEAR_LANDSCAPE = 5663, + STR_ACTION_CHEAT = 5664, + STR_ACTION_TOGGLE_SCENERY_CLUSTER = 5665, + STR_ACTION_PASSWORDLESS_LOGIN = 5666, // Empty block - STR_LAST_ACTION_RAN = 5701, - STR_LOCATE_PLAYER_TIP = 5702, - STR_CANT_KICK_THE_HOST = 5703, - STR_LAST_ACTION = 5704, - STR_CANT_SET_TO_THIS_GROUP = 5705, - STR_CANT_REMOVE_GROUP_THAT_PLAYERS_BELONG_TO = 5706, - STR_THIS_GROUP_CANNOT_BE_MODIFIED = 5707, - STR_CANT_CHANGE_GROUP_THAT_THE_HOST_BELONGS_TO = 5708, - STR_RENAME_GROUP = 5709, - STR_GROUP_NAME = 5710, - STR_ENTER_NEW_NAME_FOR_THIS_GROUP = 5711, - STR_CANT_MODIFY_PERMISSION_THAT_YOU_DO_NOT_HAVE_YOURSELF = 5712, + STR_LAST_ACTION_RAN = 5701, + STR_LOCATE_PLAYER_TIP = 5702, + STR_CANT_KICK_THE_HOST = 5703, + STR_LAST_ACTION = 5704, + STR_CANT_SET_TO_THIS_GROUP = 5705, + STR_CANT_REMOVE_GROUP_THAT_PLAYERS_BELONG_TO = 5706, + STR_THIS_GROUP_CANNOT_BE_MODIFIED = 5707, + STR_CANT_CHANGE_GROUP_THAT_THE_HOST_BELONGS_TO = 5708, + STR_RENAME_GROUP = 5709, + STR_GROUP_NAME = 5710, + STR_ENTER_NEW_NAME_FOR_THIS_GROUP = 5711, + STR_CANT_MODIFY_PERMISSION_THAT_YOU_DO_NOT_HAVE_YOURSELF = 5712, // STR_5713 :Kick Player (unused) - STR_SHORTCUT_SHOW_OPTIONS = 5714, - STR_NEW_GAME = 5715, - STR_NOT_ALLOWED_IN_MULTIPLAYER = 5716, // Unused - STR_NETWORK_VERSION = 5717, - STR_NETWORK_VERSION_TIP = 5718, - STR_SUNNY = 5719, - STR_PARTIALLY_CLOUDY = STR_SUNNY + 1, - STR_CLOUDY = STR_SUNNY + 2, - STR_RAIN = STR_SUNNY + 3, - STR_HEAVY_RAIN = STR_SUNNY + 4, - STR_THUNDERSTORM = STR_SUNNY + 5, - STR_FORCE_WEATHER = 5725, - STR_FORCE_WEATHER_TOOLTIP = 5726, - STR_SCALING_QUALITY = 5727, - STR_REQUIRES_HW_DISPLAY = 5728, // unused - STR_REQUIRES_HW_DISPLAY_TIP = 5729, // unused - STR_SCALING_QUALITY_NN = 5730, - STR_SCALING_QUALITY_LINEAR = 5731, - STR_SCALING_QUALITY_ANISOTROPIC = 5732, - STR_USE_NN_AT_INTEGER_SCALE = 5733, - STR_OPTIONS_RENDERING_TIP = 5734, - STR_THEMES_WINDOW_NETWORK_STATUS = 5735, - STR_THEMES_WINDOW_PLAYER = 5736, - STR_CLOSED_WITH_PERSON = 5737, - STR_CLOSED_WITH_PEOPLE = 5738, - STR_CUSTOMERS_ON_RIDE = 5739, - STR_CHEAT_NEVERENDING_MARKETING = 5740, - STR_CHEAT_NEVERENDING_MARKETING_TIP = 5741, - STR_MULTIPLAYER_AUTHENTICATING = 5742, - STR_MULTIPLAYER_CONNECTING = 5743, - STR_MULTIPLAYER_RESOLVING = 5744, - STR_MULTIPLAYER_DESYNC = 5745, - STR_MULTIPLAYER_DISCONNECTED_NO_REASON = 5746, - STR_MULTIPLAYER_DISCONNECTED_WITH_REASON = 5747, - STR_MULTIPLAYER_KICKED = 5748, - STR_MULTIPLAYER_KICKED_REASON = 5749, - STR_MULTIPLAYER_CONNECTION_CLOSED = 5750, - STR_MULTIPLAYER_NO_DATA = 5751, - STR_MULTIPLAYER_PLAYER_HAS_DISCONNECTED_NO_REASON = 5752, - STR_MULTIPLAYER_PLAYER_HAS_DISCONNECTED_WITH_REASON = 5753, - STR_MULTIPLAYER_BAD_PLAYER_NAME = 5754, - STR_MULTIPLAYER_INCORRECT_SOFTWARE_VERSION = 5755, - STR_MULTIPLAYER_BAD_PASSWORD = 5756, - STR_MULTIPLAYER_SERVER_FULL = 5757, - STR_MULTIPLAYER_PLAYER_HAS_JOINED_THE_GAME = 5758, - STR_MULTIPLAYER_DOWNLOADING_MAP = 5759, - STR_HONG_KONG_DOLLAR = 5760, - STR_NEW_TAIWAN_DOLLAR = 5761, - STR_CHINESE_YUAN = 5762, - STR_ALL_FILES = 5763, - STR_INVALID_RIDE_TYPE = 5764, - STR_CANT_EDIT_INVALID_RIDE_TYPE = 5765, + STR_SHORTCUT_SHOW_OPTIONS = 5714, + STR_NEW_GAME = 5715, + STR_NOT_ALLOWED_IN_MULTIPLAYER = 5716, // Unused + STR_NETWORK_VERSION = 5717, + STR_NETWORK_VERSION_TIP = 5718, + STR_SUNNY = 5719, + STR_PARTIALLY_CLOUDY = STR_SUNNY + 1, + STR_CLOUDY = STR_SUNNY + 2, + STR_RAIN = STR_SUNNY + 3, + STR_HEAVY_RAIN = STR_SUNNY + 4, + STR_THUNDERSTORM = STR_SUNNY + 5, + STR_FORCE_WEATHER = 5725, + STR_FORCE_WEATHER_TOOLTIP = 5726, + STR_SCALING_QUALITY = 5727, + STR_REQUIRES_HW_DISPLAY = 5728, // unused + STR_REQUIRES_HW_DISPLAY_TIP = 5729, // unused + STR_SCALING_QUALITY_NN = 5730, + STR_SCALING_QUALITY_LINEAR = 5731, + STR_SCALING_QUALITY_ANISOTROPIC = 5732, + STR_USE_NN_AT_INTEGER_SCALE = 5733, + STR_OPTIONS_RENDERING_TIP = 5734, + STR_THEMES_WINDOW_NETWORK_STATUS = 5735, + STR_THEMES_WINDOW_PLAYER = 5736, + STR_CLOSED_WITH_PERSON = 5737, + STR_CLOSED_WITH_PEOPLE = 5738, + STR_CUSTOMERS_ON_RIDE = 5739, + STR_CHEAT_NEVERENDING_MARKETING = 5740, + STR_CHEAT_NEVERENDING_MARKETING_TIP = 5741, + STR_MULTIPLAYER_AUTHENTICATING = 5742, + STR_MULTIPLAYER_CONNECTING = 5743, + STR_MULTIPLAYER_RESOLVING = 5744, + STR_MULTIPLAYER_DESYNC = 5745, + STR_MULTIPLAYER_DISCONNECTED_NO_REASON = 5746, + STR_MULTIPLAYER_DISCONNECTED_WITH_REASON = 5747, + STR_MULTIPLAYER_KICKED = 5748, + STR_MULTIPLAYER_KICKED_REASON = 5749, + STR_MULTIPLAYER_CONNECTION_CLOSED = 5750, + STR_MULTIPLAYER_NO_DATA = 5751, + STR_MULTIPLAYER_PLAYER_HAS_DISCONNECTED_NO_REASON = 5752, + STR_MULTIPLAYER_PLAYER_HAS_DISCONNECTED_WITH_REASON = 5753, + STR_MULTIPLAYER_BAD_PLAYER_NAME = 5754, + STR_MULTIPLAYER_INCORRECT_SOFTWARE_VERSION = 5755, + STR_MULTIPLAYER_BAD_PASSWORD = 5756, + STR_MULTIPLAYER_SERVER_FULL = 5757, + STR_MULTIPLAYER_PLAYER_HAS_JOINED_THE_GAME = 5758, + STR_MULTIPLAYER_DOWNLOADING_MAP = 5759, + STR_HONG_KONG_DOLLAR = 5760, + STR_NEW_TAIWAN_DOLLAR = 5761, + STR_CHINESE_YUAN = 5762, + STR_ALL_FILES = 5763, + STR_INVALID_RIDE_TYPE = 5764, + STR_CANT_EDIT_INVALID_RIDE_TYPE = 5765, // 5766 is unused - STR_RIDE_LIST_INCOME = 5767, - STR_RIDE_LIST_TOTAL_CUSTOMERS = 5768, - STR_RIDE_LIST_TOTAL_PROFIT = 5769, - STR_RIDE_LIST_CUSTOMERS_PER_HOUR = 5770, - STR_RIDE_LIST_RUNNING_COST = 5771, - STR_RIDE_LIST_AGE = 5772, - STR_RIDE_LIST_TOTAL_CUSTOMERS_LABEL = 5773, - STR_RIDE_LIST_TOTAL_PROFIT_LABEL = 5774, - STR_RIDE_LIST_CUSTOMERS_PER_HOUR_LABEL = 5775, - STR_RIDE_LIST_BUILT_THIS_YEAR_LABEL = 5776, - STR_RIDE_LIST_BUILT_LAST_YEAR_LABEL = 5777, - STR_RIDE_LIST_BUILT_X_YEARS_AGO_LABEL = 5778, - STR_RIDE_LIST_INCOME_LABEL = 5779, - STR_RIDE_LIST_RUNNING_COST_LABEL = 5780, - STR_RIDE_LIST_RUNNING_COST_UNKNOWN = 5781, - STR_MULTIPLAYER_CONNECTED_CHAT_HINT = 5782, - STR_SCENARIO_LOCKED = 5783, - STR_SCENARIO_LOCKED_DESC = 5784, - STR_CANT_RENAME_GROUP = 5785, - STR_INVALID_GROUP_NAME = 5786, - STR_X_PLAYERS_ONLINE = 5787, - STR_DEFAULT_INSPECTION_INTERVAL = 5788, - STR_DISABLE_LIGHTNING_EFFECT = 5789, - STR_CHEAT_UNLOCK_PRICES_TIP = 5790, - STR_CHEAT_RENEW_RIDES_TIP = 5791, - STR_CHEAT_FIX_ALL_RIDES_TIP = 5792, - STR_CHEAT_RESET_CRASH_STATUS_TIP = 5793, - STR_CHEAT_MAKE_DESTRUCTABLE_TIP = 5794, - STR_CHEAT_IGNORE_INTENSITY_TIP = 5795, - STR_CHEAT_OPEN_PARK_TIP = 5796, - STR_CHEAT_FREEZE_CLIMATE_TIP = 5797, - STR_CHEAT_BUILD_IN_PAUSE_MODE_TIP = 5798, - STR_CHEAT_DISABLE_BRAKES_FAILURE_TIP = 5799, - STR_CHEAT_DISABLE_BREAKDOWNS_TIP = 5800, - STR_CHEAT_DISABLE_LITTERING = 5801, - STR_CHEAT_DISABLE_LITTERING_TIP = 5802, - STR_ROTATE_SELECTED_ELEMENT_TIP = 5803, - STR_SHORTCUT_MUTE_SOUND = 5804, - STR_ADVERTISE_SERVER_TIP = 5805, - STR_SHORTCUT_WINDOWED_MODE_TOGGLE = 5806, - STR_NUMBER_RIDES = 5807, - STR_NUMBER_SHOPS_AND_STALLS = 5808, - STR_NUMBER_RESTROOMS_AND_INFORMATION_KIOSKS = 5809, - STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT = 5810, - STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT_TIP = 5811, - STR_SHORTCUT_SHOW_MULTIPLAYER = 5812, - STR_TRACK_LIST_NAME_FORMAT = 5813, - STR_TRACK_PREVIEW_NAME_FORMAT = 5814, - STR_SHOW_FPS_TIP = 5815, - STR_WINDOW_SCALE_TIP = 5816, - STR_SCALE_QUALITY_TIP = 5817, - STR_USE_NN_AT_INTEGER_SCALE_TIP = 5818, - STR_STEAM_OVERLAY_PAUSE_TIP = 5819, - STR_MINIMISE_FULLSCREEN_ON_FOCUS_LOSS_TIP = 5820, - STR_CONSTRUCTION_MARKER_COLOUR_TIP = 5821, - STR_CYCLE_DAY_NIGHT_TIP = 5822, - STR_UPPERCASE_BANNERS_TIP = 5823, - STR_DISABLE_LIGHTNING_EFFECT_TIP = 5824, - STR_TRAP_MOUSE_TIP = 5825, - STR_INVERT_RIGHT_MOUSE_DRAG_TIP = 5826, - STR_CURRENT_THEME_TIP = 5827, - STR_DISTANCE_AND_SPEED_TIP = 5828, - STR_CURRENCY_TIP = 5829, - STR_LANGUAGE_TIP = 5830, - STR_TEMPERATURE_FORMAT_TIP = 5831, - STR_HEIGHT_LABELS_UNITS_TIP = 5832, - STR_DATE_FORMAT_TIP = 5833, - STR_AUDIO_DEVICE_TIP = 5834, - STR_AUDIO_FOCUS_TIP = 5835, - STR_TITLE_MUSIC_TIP = 5836, - STR_EDIT_THEMES_BUTTON_TIP = 5837, - STR_FINANCES_BUTTON_ON_TOOLBAR_TIP = 5838, - STR_RESEARCH_BUTTON_ON_TOOLBAR_TIP = 5839, - STR_CHEATS_BUTTON_ON_TOOLBAR_TIP = 5840, - STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR_TIP = 5841, - STR_SCENARIO_GROUPING_TIP = 5842, - STR_SCENARIO_UNLOCKING_TIP = 5843, - STR_STAY_CONNECTED_AFTER_DESYNC_TIP = 5844, - STR_ENABLE_DEBUGGING_TOOLS_TIP = 5845, - STR_AUTOSAVE_FREQUENCY_TIP = 5846, - STR_TITLE_SEQUENCE_TIP = 5847, - STR_EDIT_TITLE_SEQUENCES_BUTTON_TIP = 5848, - STR_AUTO_STAFF_PLACEMENT_TIP = 5849, - STR_HANDYMEN_MOW_BY_DEFAULT_TIP = 5850, - STR_DEFAULT_INSPECTION_INTERVAL_TIP = 5851, - STR_TWITCH_NAME_TIP = 5852, - STR_SOUND_EFFECTS_TIP = 5853, - STR_RIDE_MUSIC_TIP = 5854, - STR_FULLSCREEN_MODE_TIP = 5855, - STR_DISPLAY_RESOLUTION_TIP = 5856, - STR_OPTIONS_TIP = 5857, - STR_HARDWARE_DISPLAY_TIP = 5858, // Unused - STR_UNCAP_FPS_TIP = 5859, - STR_SHORTCUT_PAINT_ORIGINAL = 5860, - STR_MULTIPLAYER_VERIFICATION_FAILURE = 5861, - STR_ALLOW_KNOWN_KEYS_ONLY = 5862, - STR_ALLOW_KNOWN_KEYS_ONLY_TIP = 5863, - STR_MULTIPLAYER_UNKNOWN_KEY_DISALLOWED = 5864, - STR_LOG_CHAT = 5865, - STR_LOG_CHAT_TIP = 5866, - STR_PROVIDER_NAME = 5867, - STR_PROVIDER_EMAIL = 5868, - STR_PROVIDER_WEBSITE = 5869, - STR_SHOW_SERVER_INFO_TIP = 5870, - STR_CHEAT_DISABLE_PLANT_AGING = 5871, - STR_CHEAT_DISABLE_PLANT_AGING_TIP = 5872, - STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK = 5873, - STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK_TIP = 5874, - STR_DRAWING_ENGINE = 5875, - STR_DRAWING_ENGINE_TIP = 5876, - STR_DRAWING_ENGINE_SOFTWARE = 5877, - STR_DRAWING_ENGINE_SOFTWARE_WITH_HARDWARE_DISPLAY = 5878, - STR_DRAWING_ENGINE_OPENGL = 5879, - STR_SELECTED_ONLY = 5880, - STR_NON_SELECTED_ONLY = 5881, - STR_CUSTOM_CURRENCY = 5882, - STR_CUSTOM_CURRENCY_WINDOW_TITLE = 5883, - STR_RATE = 5884, - STR_CUSTOM_CURRENCY_EQUIVALENCY = 5885, - STR_CURRENCY_SYMBOL_TEXT = 5886, - STR_PREFIX = 5887, - STR_SUFFIX = 5888, - STR_CUSTOM_CURRENCY_SYMBOL_INPUT_TITLE = 5889, - STR_CUSTOM_CURRENCY_SYMBOL_INPUT_DESC = 5890, - STR_LOADSAVE_DEFAULT = 5891, - STR_LOADSAVE_DEFAULT_TIP = 5892, - STR_RATE_INPUT_TITLE = 5893, - STR_RATE_INPUT_DESC = 5894, - STR_FILE_DIALOG_TITLE_SAVE_TRACK = 5895, - STR_TRACK_SAVE_FAILED = 5896, - STR_WINDOW_LIMIT = 5897, - STR_TRACK_LOAD_FAILED_ERROR = 5898, - STR_SHORTCUT_DEBUG_PAINT_TOGGLE = 5899, - STR_DEBUG_PAINT_USE_OLD_DRAWING = 5900, - STR_DEBUG_PAINT_SHOW_SEGMENT_HEIGHTS = 5901, - STR_DEBUG_PAINT_SHOW_BOUND_BOXES = 5902, - STR_DEBUG_DROPDOWN_DEBUG_PAINT = 5903, - STR_CHEAT_RESET_DATE = 5904, - STR_MAP_GENERATOR_TIP = 5905, - STR_ZOOM_TO_CURSOR = 5906, - STR_ZOOM_TO_CURSOR_TIP = 5907, - STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES = 5908, - STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES_TIP = 5909, - STR_APPLY = 5910, - STR_SEE_THROUGH_PATHS = 5911, - STR_SHORTCUT_SEE_THROUGH_PATHS_TOGGLE = 5912, - STR_CHAT = 5913, - STR_RIDE_DESCRIPTION_UNKNOWN = 5914, - STR_MULTIPLAYER_DEFAULT_NAME = 5915, - STR_MULTIPLAYER_PLAYER_COUNT = 5916, - STR_MULTIPLAYER_PLAYER_COUNT_PLURAL = 5917, - STR_SERVER_MAX_PLAYERS_VALUE = 5918, - STR_COMMA16 = 5919, - STR_RENDER_WEATHER_EFFECTS = 5920, - STR_RENDER_WEATHER_EFFECTS_TIP = 5921, - STR_MAX_VEHICLES_TIP = 5922, - STR_MAX_CARS_PER_TRAIN_TIP = 5923, - STR_TILE_INSPECTOR_GROUPBOX_SURFACE_INFO = 5924, - STR_TILE_INSPECTOR_GROUPBOX_PATH_INFO = 5925, - STR_TILE_INSPECTOR_GROUPBOX_TRACK_INFO = 5926, - STR_TILE_INSPECTOR_GROUPBOX_SCENERY_INFO = 5927, - STR_TILE_INSPECTOR_GROUPBOX_ENTRANCE_INFO = 5928, - STR_TILE_INSPECTOR_GROUPBOX_WALL_INFO = 5929, - STR_TILE_INSPECTOR_GROUPBOX_LARGE_SCENERY_INFO = 5930, - STR_TILE_INSPECTOR_GROUPBOX_BANNER_INFO = 5931, - STR_TILE_INSPECTOR_GROUPBOX_CORRUPT_INFO = 5932, - STR_TILE_INSPECTOR_GROUPBOX_PROPERTIES = 5933, - STR_TILE_INSPECTOR_SURFACE_TERAIN = 5934, - STR_TILE_INSPECTOR_SURFACE_EDGE = 5935, - STR_TILE_INSPECTOR_SURFACE_OWNERSHIP = 5936, - STR_TILE_INSPECTOR_LAND_NOT_OWNED_AND_NOT_AVAILABLE = 5937, - STR_TILE_INSPECTOR_SURFACE_WATER_LEVEL = 5938, - STR_TILE_INSPECTOR_SURFACE_REMOVE_FENCES = 5939, - STR_TILE_INSPECTOR_SURFACE_RESTORE_FENCES = 5940, - STR_TILE_INSPECTOR_BASE_HEIGHT_FULL = 5941, - STR_TILE_INSPECTOR_PATH_NAME = 5942, - STR_TILE_INSPECTOR_PATH_ADDITIONS = 5943, - STR_TILE_INSPECTOR_PATH_ADDITIONS_NONE = 5944, - STR_TILE_INSPECTOR_PATH_CONECTED_EDGES = 5945, - STR_TILE_INSPECTOR_TRACK_RIDE_TYPE = 5946, - STR_TILE_INSPECTOR_TRACK_RIDE_ID = 5947, - STR_TILE_INSPECTOR_TRACK_RIDE_NAME = 5948, - STR_TILE_INSPECTOR_TRACK_CHAIN_LIFT = 5949, - STR_TILE_INSPECTOR_TRACK_ENTIRE_TRACK_PIECE = 5950, - STR_TILE_INSPECTOR_TRACK_PIECE_ID = 5951, - STR_TILE_INSPECTOR_TRACK_SEQUENCE = 5952, - STR_TILE_INSPECTOR_SORT_TIP = 5953, - STR_TILE_INSPECTOR_SCENERY_AGE = 5954, - STR_TILE_INSPECTOR_SCENERY_QUADRANT = 5955, - STR_TILE_INSPECTOR_SCENERY_QUADRANT_SW = 5956, - STR_TILE_INSPECTOR_SCENERY_QUADRANT_NW = 5957, - STR_TILE_INSPECTOR_SCENERY_QUADRANT_NE = 5958, - STR_TILE_INSPECTOR_SCENERY_QUADRANT_SE = 5959, - STR_TILE_INSPECTOR_SCENERY_QUADRANT_LABEL = 5960, - STR_TILE_INSPECTOR_SCENERY_ENTRY_IDX = 5961, - STR_TILE_INSPECTOR_COLLISSION = 5962, - STR_TILE_INSPECTOR_SURFACE_CORNERS = 5963, - STR_TILE_INSPECTOR_SURFACE_DIAGONAL = 5964, - STR_TILE_INSPECTOR_ENTRANCE_TYPE = 5965, - STR_TILE_INSPECTOR_ENTRANCE_PART = 5966, - STR_TILE_INSPECTOR_ENTRANCE_MIDDLE = 5967, - STR_TILE_INSPECTOR_ENTRANCE_LEFT = 5968, - STR_TILE_INSPECTOR_ENTRANCE_RIGHT = 5969, - STR_TILE_INSPECTOR_ENTRANCE_ENTRANCE_ID = 5970, - STR_TILE_INSPECTOR_ENTRANCE_EXIT_ID = 5971, - STR_TILE_INSPECTOR_ENTRANCE_RIDE_ID = 5972, - STR_TILE_INSPECTOR_CLAMP_TO_NEXT = 5973, - STR_TILE_INSPECTOR_CLAMP_TO_NEXT_TIP = 5974, - STR_TILE_INSPECTOR_WALL_SLOPE = 5975, - STR_TILE_INSPECTOR_WALL_FLAT = 5976, - STR_TILE_INSPECTOR_WALL_SLOPED_LEFT = 5977, - STR_TILE_INSPECTOR_WALL_SLOPED_RIGHT = 5978, - STR_TILE_INSPECTOR_WALL_TYPE = 5979, - STR_TILE_INSPECTOR_ENTRY_BANNER_TEXT = 5980, - STR_TILE_INSPECTOR_ENTRY_BANNER_NONE = 5981, - STR_TILE_INSPECTOR_LARGE_SCENERY_TYPE = 5982, - STR_TILE_INSPECTOR_LARGE_SCENERY_PIECE_ID = 5983, - STR_TILE_INSPECTOR_BANNER_BLOCKED_PATHS = 5984, - STR_FILEBROWSER_ACTION_NEW_FOLDER = 5985, - STR_FILEBROWSER_FOLDER_NAME_PROMPT = 5986, - STR_UNABLE_TO_CREATE_FOLDER = 5987, - STR_NO_LAND_RIGHTS_FOR_SALE_TIP = 5988, - STR_NO_CONSTRUCTION_RIGHTS_FOR_SALE_TIP = 5989, - STR_NO_LAND_OR_CONSTRUCTION_RIGHTS_FOR_SALE_TIP = 5990, - STR_CANT_PASTE = 5991, - STR_MAP_ELEMENT_LIMIT_REACHED = 5992, - STR_TILE_INSPECTOR_COPY_TIP = 5993, - STR_TILE_INSPECTOR_PASTE_TIP = 5994, - STR_BOOSTER = 5995, - STR_RIDE_CONSTRUCTION_BOOSTER_SPEED = 5996, + STR_RIDE_LIST_INCOME = 5767, + STR_RIDE_LIST_TOTAL_CUSTOMERS = 5768, + STR_RIDE_LIST_TOTAL_PROFIT = 5769, + STR_RIDE_LIST_CUSTOMERS_PER_HOUR = 5770, + STR_RIDE_LIST_RUNNING_COST = 5771, + STR_RIDE_LIST_AGE = 5772, + STR_RIDE_LIST_TOTAL_CUSTOMERS_LABEL = 5773, + STR_RIDE_LIST_TOTAL_PROFIT_LABEL = 5774, + STR_RIDE_LIST_CUSTOMERS_PER_HOUR_LABEL = 5775, + STR_RIDE_LIST_BUILT_THIS_YEAR_LABEL = 5776, + STR_RIDE_LIST_BUILT_LAST_YEAR_LABEL = 5777, + STR_RIDE_LIST_BUILT_X_YEARS_AGO_LABEL = 5778, + STR_RIDE_LIST_INCOME_LABEL = 5779, + STR_RIDE_LIST_RUNNING_COST_LABEL = 5780, + STR_RIDE_LIST_RUNNING_COST_UNKNOWN = 5781, + STR_MULTIPLAYER_CONNECTED_CHAT_HINT = 5782, + STR_SCENARIO_LOCKED = 5783, + STR_SCENARIO_LOCKED_DESC = 5784, + STR_CANT_RENAME_GROUP = 5785, + STR_INVALID_GROUP_NAME = 5786, + STR_X_PLAYERS_ONLINE = 5787, + STR_DEFAULT_INSPECTION_INTERVAL = 5788, + STR_DISABLE_LIGHTNING_EFFECT = 5789, + STR_CHEAT_UNLOCK_PRICES_TIP = 5790, + STR_CHEAT_RENEW_RIDES_TIP = 5791, + STR_CHEAT_FIX_ALL_RIDES_TIP = 5792, + STR_CHEAT_RESET_CRASH_STATUS_TIP = 5793, + STR_CHEAT_MAKE_DESTRUCTABLE_TIP = 5794, + STR_CHEAT_IGNORE_INTENSITY_TIP = 5795, + STR_CHEAT_OPEN_PARK_TIP = 5796, + STR_CHEAT_FREEZE_CLIMATE_TIP = 5797, + STR_CHEAT_BUILD_IN_PAUSE_MODE_TIP = 5798, + STR_CHEAT_DISABLE_BRAKES_FAILURE_TIP = 5799, + STR_CHEAT_DISABLE_BREAKDOWNS_TIP = 5800, + STR_CHEAT_DISABLE_LITTERING = 5801, + STR_CHEAT_DISABLE_LITTERING_TIP = 5802, + STR_ROTATE_SELECTED_ELEMENT_TIP = 5803, + STR_SHORTCUT_MUTE_SOUND = 5804, + STR_ADVERTISE_SERVER_TIP = 5805, + STR_SHORTCUT_WINDOWED_MODE_TOGGLE = 5806, + STR_NUMBER_RIDES = 5807, + STR_NUMBER_SHOPS_AND_STALLS = 5808, + STR_NUMBER_RESTROOMS_AND_INFORMATION_KIOSKS = 5809, + STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT = 5810, + STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT_TIP = 5811, + STR_SHORTCUT_SHOW_MULTIPLAYER = 5812, + STR_TRACK_LIST_NAME_FORMAT = 5813, + STR_TRACK_PREVIEW_NAME_FORMAT = 5814, + STR_SHOW_FPS_TIP = 5815, + STR_WINDOW_SCALE_TIP = 5816, + STR_SCALE_QUALITY_TIP = 5817, + STR_USE_NN_AT_INTEGER_SCALE_TIP = 5818, + STR_STEAM_OVERLAY_PAUSE_TIP = 5819, + STR_MINIMISE_FULLSCREEN_ON_FOCUS_LOSS_TIP = 5820, + STR_CONSTRUCTION_MARKER_COLOUR_TIP = 5821, + STR_CYCLE_DAY_NIGHT_TIP = 5822, + STR_UPPERCASE_BANNERS_TIP = 5823, + STR_DISABLE_LIGHTNING_EFFECT_TIP = 5824, + STR_TRAP_MOUSE_TIP = 5825, + STR_INVERT_RIGHT_MOUSE_DRAG_TIP = 5826, + STR_CURRENT_THEME_TIP = 5827, + STR_DISTANCE_AND_SPEED_TIP = 5828, + STR_CURRENCY_TIP = 5829, + STR_LANGUAGE_TIP = 5830, + STR_TEMPERATURE_FORMAT_TIP = 5831, + STR_HEIGHT_LABELS_UNITS_TIP = 5832, + STR_DATE_FORMAT_TIP = 5833, + STR_AUDIO_DEVICE_TIP = 5834, + STR_AUDIO_FOCUS_TIP = 5835, + STR_TITLE_MUSIC_TIP = 5836, + STR_EDIT_THEMES_BUTTON_TIP = 5837, + STR_FINANCES_BUTTON_ON_TOOLBAR_TIP = 5838, + STR_RESEARCH_BUTTON_ON_TOOLBAR_TIP = 5839, + STR_CHEATS_BUTTON_ON_TOOLBAR_TIP = 5840, + STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR_TIP = 5841, + STR_SCENARIO_GROUPING_TIP = 5842, + STR_SCENARIO_UNLOCKING_TIP = 5843, + STR_STAY_CONNECTED_AFTER_DESYNC_TIP = 5844, + STR_ENABLE_DEBUGGING_TOOLS_TIP = 5845, + STR_AUTOSAVE_FREQUENCY_TIP = 5846, + STR_TITLE_SEQUENCE_TIP = 5847, + STR_EDIT_TITLE_SEQUENCES_BUTTON_TIP = 5848, + STR_AUTO_STAFF_PLACEMENT_TIP = 5849, + STR_HANDYMEN_MOW_BY_DEFAULT_TIP = 5850, + STR_DEFAULT_INSPECTION_INTERVAL_TIP = 5851, + STR_TWITCH_NAME_TIP = 5852, + STR_SOUND_EFFECTS_TIP = 5853, + STR_RIDE_MUSIC_TIP = 5854, + STR_FULLSCREEN_MODE_TIP = 5855, + STR_DISPLAY_RESOLUTION_TIP = 5856, + STR_OPTIONS_TIP = 5857, + STR_HARDWARE_DISPLAY_TIP = 5858, // Unused + STR_UNCAP_FPS_TIP = 5859, + STR_SHORTCUT_PAINT_ORIGINAL = 5860, + STR_MULTIPLAYER_VERIFICATION_FAILURE = 5861, + STR_ALLOW_KNOWN_KEYS_ONLY = 5862, + STR_ALLOW_KNOWN_KEYS_ONLY_TIP = 5863, + STR_MULTIPLAYER_UNKNOWN_KEY_DISALLOWED = 5864, + STR_LOG_CHAT = 5865, + STR_LOG_CHAT_TIP = 5866, + STR_PROVIDER_NAME = 5867, + STR_PROVIDER_EMAIL = 5868, + STR_PROVIDER_WEBSITE = 5869, + STR_SHOW_SERVER_INFO_TIP = 5870, + STR_CHEAT_DISABLE_PLANT_AGING = 5871, + STR_CHEAT_DISABLE_PLANT_AGING_TIP = 5872, + STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK = 5873, + STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK_TIP = 5874, + STR_DRAWING_ENGINE = 5875, + STR_DRAWING_ENGINE_TIP = 5876, + STR_DRAWING_ENGINE_SOFTWARE = 5877, + STR_DRAWING_ENGINE_SOFTWARE_WITH_HARDWARE_DISPLAY = 5878, + STR_DRAWING_ENGINE_OPENGL = 5879, + STR_SELECTED_ONLY = 5880, + STR_NON_SELECTED_ONLY = 5881, + STR_CUSTOM_CURRENCY = 5882, + STR_CUSTOM_CURRENCY_WINDOW_TITLE = 5883, + STR_RATE = 5884, + STR_CUSTOM_CURRENCY_EQUIVALENCY = 5885, + STR_CURRENCY_SYMBOL_TEXT = 5886, + STR_PREFIX = 5887, + STR_SUFFIX = 5888, + STR_CUSTOM_CURRENCY_SYMBOL_INPUT_TITLE = 5889, + STR_CUSTOM_CURRENCY_SYMBOL_INPUT_DESC = 5890, + STR_LOADSAVE_DEFAULT = 5891, + STR_LOADSAVE_DEFAULT_TIP = 5892, + STR_RATE_INPUT_TITLE = 5893, + STR_RATE_INPUT_DESC = 5894, + STR_FILE_DIALOG_TITLE_SAVE_TRACK = 5895, + STR_TRACK_SAVE_FAILED = 5896, + STR_WINDOW_LIMIT = 5897, + STR_TRACK_LOAD_FAILED_ERROR = 5898, + STR_SHORTCUT_DEBUG_PAINT_TOGGLE = 5899, + STR_DEBUG_PAINT_USE_OLD_DRAWING = 5900, + STR_DEBUG_PAINT_SHOW_SEGMENT_HEIGHTS = 5901, + STR_DEBUG_PAINT_SHOW_BOUND_BOXES = 5902, + STR_DEBUG_DROPDOWN_DEBUG_PAINT = 5903, + STR_CHEAT_RESET_DATE = 5904, + STR_MAP_GENERATOR_TIP = 5905, + STR_ZOOM_TO_CURSOR = 5906, + STR_ZOOM_TO_CURSOR_TIP = 5907, + STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES = 5908, + STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES_TIP = 5909, + STR_APPLY = 5910, + STR_SEE_THROUGH_PATHS = 5911, + STR_SHORTCUT_SEE_THROUGH_PATHS_TOGGLE = 5912, + STR_CHAT = 5913, + STR_RIDE_DESCRIPTION_UNKNOWN = 5914, + STR_MULTIPLAYER_DEFAULT_NAME = 5915, + STR_MULTIPLAYER_PLAYER_COUNT = 5916, + STR_MULTIPLAYER_PLAYER_COUNT_PLURAL = 5917, + STR_SERVER_MAX_PLAYERS_VALUE = 5918, + STR_COMMA16 = 5919, + STR_RENDER_WEATHER_EFFECTS = 5920, + STR_RENDER_WEATHER_EFFECTS_TIP = 5921, + STR_MAX_VEHICLES_TIP = 5922, + STR_MAX_CARS_PER_TRAIN_TIP = 5923, + STR_TILE_INSPECTOR_GROUPBOX_SURFACE_INFO = 5924, + STR_TILE_INSPECTOR_GROUPBOX_PATH_INFO = 5925, + STR_TILE_INSPECTOR_GROUPBOX_TRACK_INFO = 5926, + STR_TILE_INSPECTOR_GROUPBOX_SCENERY_INFO = 5927, + STR_TILE_INSPECTOR_GROUPBOX_ENTRANCE_INFO = 5928, + STR_TILE_INSPECTOR_GROUPBOX_WALL_INFO = 5929, + STR_TILE_INSPECTOR_GROUPBOX_LARGE_SCENERY_INFO = 5930, + STR_TILE_INSPECTOR_GROUPBOX_BANNER_INFO = 5931, + STR_TILE_INSPECTOR_GROUPBOX_CORRUPT_INFO = 5932, + STR_TILE_INSPECTOR_GROUPBOX_PROPERTIES = 5933, + STR_TILE_INSPECTOR_SURFACE_TERAIN = 5934, + STR_TILE_INSPECTOR_SURFACE_EDGE = 5935, + STR_TILE_INSPECTOR_SURFACE_OWNERSHIP = 5936, + STR_TILE_INSPECTOR_LAND_NOT_OWNED_AND_NOT_AVAILABLE = 5937, + STR_TILE_INSPECTOR_SURFACE_WATER_LEVEL = 5938, + STR_TILE_INSPECTOR_SURFACE_REMOVE_FENCES = 5939, + STR_TILE_INSPECTOR_SURFACE_RESTORE_FENCES = 5940, + STR_TILE_INSPECTOR_BASE_HEIGHT_FULL = 5941, + STR_TILE_INSPECTOR_PATH_NAME = 5942, + STR_TILE_INSPECTOR_PATH_ADDITIONS = 5943, + STR_TILE_INSPECTOR_PATH_ADDITIONS_NONE = 5944, + STR_TILE_INSPECTOR_PATH_CONECTED_EDGES = 5945, + STR_TILE_INSPECTOR_TRACK_RIDE_TYPE = 5946, + STR_TILE_INSPECTOR_TRACK_RIDE_ID = 5947, + STR_TILE_INSPECTOR_TRACK_RIDE_NAME = 5948, + STR_TILE_INSPECTOR_TRACK_CHAIN_LIFT = 5949, + STR_TILE_INSPECTOR_TRACK_ENTIRE_TRACK_PIECE = 5950, + STR_TILE_INSPECTOR_TRACK_PIECE_ID = 5951, + STR_TILE_INSPECTOR_TRACK_SEQUENCE = 5952, + STR_TILE_INSPECTOR_SORT_TIP = 5953, + STR_TILE_INSPECTOR_SCENERY_AGE = 5954, + STR_TILE_INSPECTOR_SCENERY_QUADRANT = 5955, + STR_TILE_INSPECTOR_SCENERY_QUADRANT_SW = 5956, + STR_TILE_INSPECTOR_SCENERY_QUADRANT_NW = 5957, + STR_TILE_INSPECTOR_SCENERY_QUADRANT_NE = 5958, + STR_TILE_INSPECTOR_SCENERY_QUADRANT_SE = 5959, + STR_TILE_INSPECTOR_SCENERY_QUADRANT_LABEL = 5960, + STR_TILE_INSPECTOR_SCENERY_ENTRY_IDX = 5961, + STR_TILE_INSPECTOR_COLLISSION = 5962, + STR_TILE_INSPECTOR_SURFACE_CORNERS = 5963, + STR_TILE_INSPECTOR_SURFACE_DIAGONAL = 5964, + STR_TILE_INSPECTOR_ENTRANCE_TYPE = 5965, + STR_TILE_INSPECTOR_ENTRANCE_PART = 5966, + STR_TILE_INSPECTOR_ENTRANCE_MIDDLE = 5967, + STR_TILE_INSPECTOR_ENTRANCE_LEFT = 5968, + STR_TILE_INSPECTOR_ENTRANCE_RIGHT = 5969, + STR_TILE_INSPECTOR_ENTRANCE_ENTRANCE_ID = 5970, + STR_TILE_INSPECTOR_ENTRANCE_EXIT_ID = 5971, + STR_TILE_INSPECTOR_ENTRANCE_RIDE_ID = 5972, + STR_TILE_INSPECTOR_CLAMP_TO_NEXT = 5973, + STR_TILE_INSPECTOR_CLAMP_TO_NEXT_TIP = 5974, + STR_TILE_INSPECTOR_WALL_SLOPE = 5975, + STR_TILE_INSPECTOR_WALL_FLAT = 5976, + STR_TILE_INSPECTOR_WALL_SLOPED_LEFT = 5977, + STR_TILE_INSPECTOR_WALL_SLOPED_RIGHT = 5978, + STR_TILE_INSPECTOR_WALL_TYPE = 5979, + STR_TILE_INSPECTOR_ENTRY_BANNER_TEXT = 5980, + STR_TILE_INSPECTOR_ENTRY_BANNER_NONE = 5981, + STR_TILE_INSPECTOR_LARGE_SCENERY_TYPE = 5982, + STR_TILE_INSPECTOR_LARGE_SCENERY_PIECE_ID = 5983, + STR_TILE_INSPECTOR_BANNER_BLOCKED_PATHS = 5984, + STR_FILEBROWSER_ACTION_NEW_FOLDER = 5985, + STR_FILEBROWSER_FOLDER_NAME_PROMPT = 5986, + STR_UNABLE_TO_CREATE_FOLDER = 5987, + STR_NO_LAND_RIGHTS_FOR_SALE_TIP = 5988, + STR_NO_CONSTRUCTION_RIGHTS_FOR_SALE_TIP = 5989, + STR_NO_LAND_OR_CONSTRUCTION_RIGHTS_FOR_SALE_TIP = 5990, + STR_CANT_PASTE = 5991, + STR_MAP_ELEMENT_LIMIT_REACHED = 5992, + STR_TILE_INSPECTOR_COPY_TIP = 5993, + STR_TILE_INSPECTOR_PASTE_TIP = 5994, + STR_BOOSTER = 5995, + STR_RIDE_CONSTRUCTION_BOOSTER_SPEED = 5996, - STR_ADD_SET_MONEY = 5997, - STR_ADD_MONEY = 5998, - STR_SET_MONEY = 5999, - STR_ENTER_NEW_VALUE = 6000, + STR_ADD_SET_MONEY = 5997, + STR_ADD_MONEY = 5998, + STR_SET_MONEY = 5999, + STR_ENTER_NEW_VALUE = 6000, - STR_ENABLE_LIGHTING_EFFECTS = 6001, - STR_ENABLE_LIGHTING_EFFECTS_TIP = 6002, + STR_ENABLE_LIGHTING_EFFECTS = 6001, + STR_ENABLE_LIGHTING_EFFECTS_TIP = 6002, - STR_VIEW_CLIPPING_MENU = 6003, - STR_VIEW_CLIPPING_TITLE = 6004, - STR_VIEW_CLIPPING_HEIGHT_ENABLE = 6005, - STR_VIEW_CLIPPING_HEIGHT_ENABLE_TIP = 6006, - STR_VIEW_CLIPPING_HEIGHT_VALUE = 6007, - STR_VIEW_CLIPPING_HEIGHT_VALUE_TOGGLE = 6008, - STR_VIEW_CLIPPING_HEIGHT_SCROLL_TIP = 6009, - STR_UNIT2DP_SUFFIX_METRES = 6010, - STR_UNIT1DP_SUFFIX_FEET = 6011, - STR_UNIT1DP_NO_SUFFIX = 6012, - STR_RIDE_INCOME_ADMISSION_PAY_FOR_ENTRY_TIP = 6013, - STR_ADMISSION_PRICE_PAY_PER_RIDE_TIP = 6014, - STR_TILE_INSPECTOR_PATH_SLOPED = 6015, - STR_ACTION_MODIFY_TILE = 6016, - STR_NETWORK_ACTION_RATE_LIMIT_MESSAGE = 6017, - STR_SHORTCUT_RIDE_CONSTRUCTION_TURN_LEFT = 6018, - STR_SHORTCUT_RIDE_CONSTRUCTION_TURN_RIGHT = 6019, - STR_SHORTCUT_RIDE_CONSTRUCTION_USE_TRACK_DEFAULT = 6020, - STR_SHORTCUT_RIDE_CONSTRUCTION_SLOPE_DOWN = 6021, - STR_SHORTCUT_RIDE_CONSTRUCTION_SLOPE_UP = 6022, - STR_SHORTCUT_RIDE_CONSTRUCTION_CHAIN_LIFT_TOGGLE = 6023, - STR_SHORTCUT_RIDE_CONSTRUCTION_BANK_LEFT = 6024, - STR_SHORTCUT_RIDE_CONSTRUCTION_BANK_RIGHT = 6025, - STR_SHORTCUT_RIDE_CONSTRUCTION_PREVIOUS_TRACK = 6026, - STR_SHORTCUT_RIDE_CONSTRUCTION_NEXT_TRACK = 6027, - STR_SHORTCUT_RIDE_CONSTRUCTION_BUILD_CURRENT = 6028, - STR_SHORTCUT_RIDE_CONSTRUCTION_DEMOLISH_CURRENT = 6029, + STR_VIEW_CLIPPING_MENU = 6003, + STR_VIEW_CLIPPING_TITLE = 6004, + STR_VIEW_CLIPPING_HEIGHT_ENABLE = 6005, + STR_VIEW_CLIPPING_HEIGHT_ENABLE_TIP = 6006, + STR_VIEW_CLIPPING_HEIGHT_VALUE = 6007, + STR_VIEW_CLIPPING_HEIGHT_VALUE_TOGGLE = 6008, + STR_VIEW_CLIPPING_HEIGHT_SCROLL_TIP = 6009, + STR_UNIT2DP_SUFFIX_METRES = 6010, + STR_UNIT1DP_SUFFIX_FEET = 6011, + STR_UNIT1DP_NO_SUFFIX = 6012, + STR_RIDE_INCOME_ADMISSION_PAY_FOR_ENTRY_TIP = 6013, + STR_ADMISSION_PRICE_PAY_PER_RIDE_TIP = 6014, + STR_TILE_INSPECTOR_PATH_SLOPED = 6015, + STR_ACTION_MODIFY_TILE = 6016, + STR_NETWORK_ACTION_RATE_LIMIT_MESSAGE = 6017, + STR_SHORTCUT_RIDE_CONSTRUCTION_TURN_LEFT = 6018, + STR_SHORTCUT_RIDE_CONSTRUCTION_TURN_RIGHT = 6019, + STR_SHORTCUT_RIDE_CONSTRUCTION_USE_TRACK_DEFAULT = 6020, + STR_SHORTCUT_RIDE_CONSTRUCTION_SLOPE_DOWN = 6021, + STR_SHORTCUT_RIDE_CONSTRUCTION_SLOPE_UP = 6022, + STR_SHORTCUT_RIDE_CONSTRUCTION_CHAIN_LIFT_TOGGLE = 6023, + STR_SHORTCUT_RIDE_CONSTRUCTION_BANK_LEFT = 6024, + STR_SHORTCUT_RIDE_CONSTRUCTION_BANK_RIGHT = 6025, + STR_SHORTCUT_RIDE_CONSTRUCTION_PREVIOUS_TRACK = 6026, + STR_SHORTCUT_RIDE_CONSTRUCTION_NEXT_TRACK = 6027, + STR_SHORTCUT_RIDE_CONSTRUCTION_BUILD_CURRENT = 6028, + STR_SHORTCUT_RIDE_CONSTRUCTION_DEMOLISH_CURRENT = 6029, - STR_SCENERY_EYEDROPPER_TIP = 6030, + STR_SCENERY_EYEDROPPER_TIP = 6030, - STR_SERVER_DESCRIPTION = 6031, - STR_SERVER_GREETING = 6032, + STR_SERVER_DESCRIPTION = 6031, + STR_SERVER_GREETING = 6032, - STR_PATH_TO_RCT1 = 6033, - STR_STRING_TOOLTIP = 6034, - STR_PATH_TO_RCT1_BROWSER = 6035, - STR_PATH_TO_RCT1_CLEAR_TIP = 6036, - STR_PATH_TO_RCT1_WRONG_ERROR = 6037, - STR_PATH_TO_RCT1_TIP = 6038, + STR_PATH_TO_RCT1 = 6033, + STR_STRING_TOOLTIP = 6034, + STR_PATH_TO_RCT1_BROWSER = 6035, + STR_PATH_TO_RCT1_CLEAR_TIP = 6036, + STR_PATH_TO_RCT1_WRONG_ERROR = 6037, + STR_PATH_TO_RCT1_TIP = 6038, - STR_QUICK_DEMOLISH_RIDE = 6039, + STR_QUICK_DEMOLISH_RIDE = 6039, - STR_ACTION_EDIT_SCENARIO_OPTIONS = 6040, - - STR_NO_MECHANICS_ARE_HIRED_MESSAGE = 6041, + STR_ACTION_EDIT_SCENARIO_OPTIONS = 6040, - STR_FILE_DIALOG_TITLE_LOAD_HEIGHTMAP = 6042, - STR_MAPGEN_SELECT_HEIGHTMAP = 6043, - STR_MAPGEN_SMOOTH_HEIGHTMAP = 6044, - STR_MAPGEN_SMOOTH_STRENGTH = 6045, - STR_MAPGEN_NORMALIZE = 6046, - STR_MAPGEN_SMOOTH_TILE = 6047, - STR_HEIGHT_MAP_ERROR = 6048, - STR_ERROR_READING_PNG = 6049, - STR_ERROR_READING_BITMAP = 6050, - STR_ERROR_WIDTH_AND_HEIGHT_DO_NOT_MATCH = 6051, - STR_ERROR_HEIHGT_MAP_TOO_BIG = 6052, - STR_ERROR_CANNOT_NORMALIZE = 6053, - STR_ERROR_24_BIT_BITMAP = 6054, - STR_OPENRCT2_HEIGHTMAP_FILE = 6055, + STR_NO_MECHANICS_ARE_HIRED_MESSAGE = 6041, - STR_TOOLBAR_MUTE_TIP = 6056, - STR_MUTE_BUTTON_ON_TOOLBAR_TIP = 6057, - STR_MUTE_BUTTON_ON_TOOLBAR = 6058, + STR_FILE_DIALOG_TITLE_LOAD_HEIGHTMAP = 6042, + STR_MAPGEN_SELECT_HEIGHTMAP = 6043, + STR_MAPGEN_SMOOTH_HEIGHTMAP = 6044, + STR_MAPGEN_SMOOTH_STRENGTH = 6045, + STR_MAPGEN_NORMALIZE = 6046, + STR_MAPGEN_SMOOTH_TILE = 6047, + STR_HEIGHT_MAP_ERROR = 6048, + STR_ERROR_READING_PNG = 6049, + STR_ERROR_READING_BITMAP = 6050, + STR_ERROR_WIDTH_AND_HEIGHT_DO_NOT_MATCH = 6051, + STR_ERROR_HEIHGT_MAP_TOO_BIG = 6052, + STR_ERROR_CANNOT_NORMALIZE = 6053, + STR_ERROR_24_BIT_BITMAP = 6054, + STR_OPENRCT2_HEIGHTMAP_FILE = 6055, - STR_RIGHTGUILLEMET = 6059, + STR_TOOLBAR_MUTE_TIP = 6056, + STR_MUTE_BUTTON_ON_TOOLBAR_TIP = 6057, + STR_MUTE_BUTTON_ON_TOOLBAR = 6058, - STR_SHOW_GUEST_PURCHASES = 6060, - STR_SHOW_GUEST_PURCHASES_TIP = 6061, - STR_MONEY_EFFECT_RECEIVE_HIGHP = 6062, - STR_MONEY_EFFECT_SPEND_HIGHP = 6063, + STR_RIGHTGUILLEMET = 6059, - STR_CHEAT_OWN_ALL_LAND = 6064, + STR_SHOW_GUEST_PURCHASES = 6060, + STR_SHOW_GUEST_PURCHASES_TIP = 6061, + STR_MONEY_EFFECT_RECEIVE_HIGHP = 6062, + STR_MONEY_EFFECT_SPEND_HIGHP = 6063, - STR_LOG_SERVER_ACTIONS = 6065, - STR_LOG_SERVER_ACTIONS_TIP = 6066, - STR_LOG_SERVER_STARTED = 6067, - STR_LOG_SERVER_STOPPED = 6068, - STR_LOG_PLAYER_KICKED = 6069, - STR_LOG_SET_PLAYER_GROUP = 6070, - STR_LOG_ADD_PLAYER_GROUP = 6071, - STR_LOG_REMOVE_PLAYER_GROUP = 6072, - STR_LOG_EDIT_PLAYER_GROUP_PERMISSIONS = 6073, - STR_LOG_EDIT_PLAYER_GROUP_NAME = 6074, - STR_LOG_EDIT_DEFAULT_PLAYER_GROUP = 6075, - STR_LOG_CHEAT_USED = 6076, - STR_LOG_CHEAT_ADD_MONEY = 6077, - STR_LOG_CREATE_RIDE = 6078, - STR_LOG_DEMOLISH_RIDE = 6079, - STR_LOG_RIDE_APPEARANCE = 6080, - STR_LOG_RIDE_STATUS_CLOSED = 6081, - STR_LOG_RIDE_STATUS_OPEN = 6082, - STR_LOG_RIDE_STATUS_TESTING = 6083, - STR_LOG_RIDE_VEHICLES = 6084, - STR_LOG_RIDE_SETTINGS = 6085, - STR_LOG_RIDE_NAME = 6086, - STR_LOG_RIDE_PRICE = 6087, - STR_LOG_RIDE_SECONDARY_PRICE = 6088, - STR_LOG_PARK_NAME = 6089, - STR_LOG_PARK_CLOSED = 6090, - STR_LOG_PARK_OPEN = 6091, - STR_LOG_PARK_ENTRANCE_FEE = 6092, - STR_LOG_PLACE_SCENERY = 6093, - STR_LOG_REMOVE_SCENERY = 6094, - STR_LOG_EDIT_SCENERY = 6095, - STR_LOG_SET_SIGN_NAME = 6096, - STR_LOG_PLACE_TRACK = 6097, - STR_LOG_REMOVE_TRACK = 6098, - STR_LOG_CLIENT_STARTED = 6099, - STR_LOG_CLIENT_STOPPED = 6100, + STR_CHEAT_OWN_ALL_LAND = 6064, - // Have to include resource strings (from scenarios and objects) for the time being now that language is partially working - STR_COUNT = 32768 + STR_LOG_SERVER_ACTIONS = 6065, + STR_LOG_SERVER_ACTIONS_TIP = 6066, + STR_LOG_SERVER_STARTED = 6067, + STR_LOG_SERVER_STOPPED = 6068, + STR_LOG_PLAYER_KICKED = 6069, + STR_LOG_SET_PLAYER_GROUP = 6070, + STR_LOG_ADD_PLAYER_GROUP = 6071, + STR_LOG_REMOVE_PLAYER_GROUP = 6072, + STR_LOG_EDIT_PLAYER_GROUP_PERMISSIONS = 6073, + STR_LOG_EDIT_PLAYER_GROUP_NAME = 6074, + STR_LOG_EDIT_DEFAULT_PLAYER_GROUP = 6075, + STR_LOG_CHEAT_USED = 6076, + STR_LOG_CHEAT_ADD_MONEY = 6077, + STR_LOG_CREATE_RIDE = 6078, + STR_LOG_DEMOLISH_RIDE = 6079, + STR_LOG_RIDE_APPEARANCE = 6080, + STR_LOG_RIDE_STATUS_CLOSED = 6081, + STR_LOG_RIDE_STATUS_OPEN = 6082, + STR_LOG_RIDE_STATUS_TESTING = 6083, + STR_LOG_RIDE_VEHICLES = 6084, + STR_LOG_RIDE_SETTINGS = 6085, + STR_LOG_RIDE_NAME = 6086, + STR_LOG_RIDE_PRICE = 6087, + STR_LOG_RIDE_SECONDARY_PRICE = 6088, + STR_LOG_PARK_NAME = 6089, + STR_LOG_PARK_CLOSED = 6090, + STR_LOG_PARK_OPEN = 6091, + STR_LOG_PARK_ENTRANCE_FEE = 6092, + STR_LOG_PLACE_SCENERY = 6093, + STR_LOG_REMOVE_SCENERY = 6094, + STR_LOG_EDIT_SCENERY = 6095, + STR_LOG_SET_SIGN_NAME = 6096, + STR_LOG_PLACE_TRACK = 6097, + STR_LOG_REMOVE_TRACK = 6098, + STR_LOG_CLIENT_STARTED = 6099, + STR_LOG_CLIENT_STOPPED = 6100, + + // Have to include resource strings (from scenarios and objects) for the time being now that language is partially working + STR_COUNT = 32768 }; #endif diff --git a/src/openrct2/localisation/user.c b/src/openrct2/localisation/user.c index 7440c57ad0..3d6c882017 100644 --- a/src/openrct2/localisation/user.c +++ b/src/openrct2/localisation/user.c @@ -30,7 +30,7 @@ static bool user_string_exists(const utf8 *text); */ void user_string_clear_all() { - memset(gUserStrings, 0, MAX_USER_STRINGS * USER_STRING_MAX_LENGTH); + memset(gUserStrings, 0, MAX_USER_STRINGS * USER_STRING_MAX_LENGTH); } /** @@ -39,24 +39,24 @@ void user_string_clear_all() */ rct_string_id user_string_allocate(sint32 base, const utf8 *text) { - sint32 highBits = (base & 0x7F) << 9; - bool allowDuplicates = base & 0x80; + sint32 highBits = (base & 0x7F) << 9; + bool allowDuplicates = base & 0x80; - if (!allowDuplicates && user_string_exists(text)) { - gGameCommandErrorText = STR_CHOSEN_NAME_IN_USE_ALREADY; - return 0; - } + if (!allowDuplicates && user_string_exists(text)) { + gGameCommandErrorText = STR_CHOSEN_NAME_IN_USE_ALREADY; + return 0; + } - char *userString = gUserStrings; - for (sint32 i = 0; i < MAX_USER_STRINGS; i++, userString += USER_STRING_MAX_LENGTH) { - if (userString[0] != 0) - continue; + char *userString = gUserStrings; + for (sint32 i = 0; i < MAX_USER_STRINGS; i++, userString += USER_STRING_MAX_LENGTH) { + if (userString[0] != 0) + continue; - safe_strcpy(userString, text, USER_STRING_MAX_LENGTH); - return 0x8000 + (i | highBits); - } - gGameCommandErrorText = STR_TOO_MANY_NAMES_DEFINED; - return 0; + safe_strcpy(userString, text, USER_STRING_MAX_LENGTH); + return 0x8000 + (i | highBits); + } + gGameCommandErrorText = STR_TOO_MANY_NAMES_DEFINED; + return 0; } /** @@ -65,38 +65,38 @@ rct_string_id user_string_allocate(sint32 base, const utf8 *text) */ void user_string_free(rct_string_id id) { - if (!is_user_string_id(id)) - return; + if (!is_user_string_id(id)) + return; - id %= MAX_USER_STRINGS; - gUserStrings[id * USER_STRING_MAX_LENGTH] = 0; + id %= MAX_USER_STRINGS; + gUserStrings[id * USER_STRING_MAX_LENGTH] = 0; } static bool user_string_exists(const utf8 *text) { - char *userString = gUserStrings; - for (sint32 i = 0; i < MAX_USER_STRINGS; i++, userString += USER_STRING_MAX_LENGTH) { - if (userString[0] == 0) - continue; + char *userString = gUserStrings; + for (sint32 i = 0; i < MAX_USER_STRINGS; i++, userString += USER_STRING_MAX_LENGTH) { + if (userString[0] == 0) + continue; - if (strcmp(userString, text) == 0) - return true; - } - return false; + if (strcmp(userString, text) == 0) + return true; + } + return false; } bool is_user_string_id(rct_string_id stringId) { - return stringId >= 0x8000 && stringId < 0x9000; + return stringId >= 0x8000 && stringId < 0x9000; } void reset_user_strings() { - char *userString = gUserStrings; + char *userString = gUserStrings; - for (sint32 i = 0; i < MAX_USER_STRINGS; i++, userString += USER_STRING_MAX_LENGTH) { - userString[0] = 0; - } + for (sint32 i = 0; i < MAX_USER_STRINGS; i++, userString += USER_STRING_MAX_LENGTH) { + userString[0] = 0; + } - ride_reset_all_names(); + ride_reset_all_names(); } diff --git a/src/openrct2/localisation/utf8.c b/src/openrct2/localisation/utf8.c index 0e219bf32d..a2e790df26 100644 --- a/src/openrct2/localisation/utf8.c +++ b/src/openrct2/localisation/utf8.c @@ -19,53 +19,53 @@ uint32 utf8_get_next(const utf8 *char_ptr, const utf8 **nextchar_ptr) { - sint32 result; - sint32 numBytes; + sint32 result; + sint32 numBytes; - if (!(char_ptr[0] & 0x80)) { - result = char_ptr[0]; - numBytes = 1; - } else if ((char_ptr[0] & 0xE0) == 0xC0) { - result = ((char_ptr[0] & 0x1F) << 6) | (char_ptr[1] & 0x3F); - numBytes = 2; - } else if ((char_ptr[0] & 0xF0) == 0xE0) { - result = ((char_ptr[0] & 0x0F) << 12) | ((char_ptr[1] & 0x3F) << 6) | (char_ptr[2] & 0x3F); - numBytes = 3; - } else if ((char_ptr[0] & 0xF8) == 0xF0) { - result = ((char_ptr[0] & 0x07) << 18) | ((char_ptr[1] & 0x3F) << 12) | ((char_ptr[1] & 0x3F) << 6) | (char_ptr[2] & 0x3F); - numBytes = 4; - } else { - // TODO 4 bytes - result = ' '; - numBytes = 1; - } + if (!(char_ptr[0] & 0x80)) { + result = char_ptr[0]; + numBytes = 1; + } else if ((char_ptr[0] & 0xE0) == 0xC0) { + result = ((char_ptr[0] & 0x1F) << 6) | (char_ptr[1] & 0x3F); + numBytes = 2; + } else if ((char_ptr[0] & 0xF0) == 0xE0) { + result = ((char_ptr[0] & 0x0F) << 12) | ((char_ptr[1] & 0x3F) << 6) | (char_ptr[2] & 0x3F); + numBytes = 3; + } else if ((char_ptr[0] & 0xF8) == 0xF0) { + result = ((char_ptr[0] & 0x07) << 18) | ((char_ptr[1] & 0x3F) << 12) | ((char_ptr[1] & 0x3F) << 6) | (char_ptr[2] & 0x3F); + numBytes = 4; + } else { + // TODO 4 bytes + result = ' '; + numBytes = 1; + } - if (nextchar_ptr != NULL) - *nextchar_ptr = char_ptr + numBytes; - return result; + if (nextchar_ptr != NULL) + *nextchar_ptr = char_ptr + numBytes; + return result; } utf8 *utf8_write_codepoint(utf8 *dst, uint32 codepoint) { - if (codepoint <= 0x7F) { - dst[0] = (utf8)codepoint; - return dst + 1; - } else if (codepoint <= 0x7FF) { - dst[0] = 0xC0 | ((codepoint >> 6) & 0x1F); - dst[1] = 0x80 | (codepoint & 0x3F); - return dst + 2; - } else if (codepoint <= 0xFFFF) { - dst[0] = 0xE0 | ((codepoint >> 12) & 0x0F); - dst[1] = 0x80 | ((codepoint >> 6) & 0x3F); - dst[2] = 0x80 | (codepoint & 0x3F); - return dst + 3; - } else { - dst[0] = 0xF0 | ((codepoint >> 18) & 0x07); - dst[1] = 0x80 | ((codepoint >> 12) & 0x3F); - dst[2] = 0x80 | ((codepoint >> 6) & 0x3F); - dst[3] = 0x80 | (codepoint & 0x3F); - return dst + 4; - } + if (codepoint <= 0x7F) { + dst[0] = (utf8)codepoint; + return dst + 1; + } else if (codepoint <= 0x7FF) { + dst[0] = 0xC0 | ((codepoint >> 6) & 0x1F); + dst[1] = 0x80 | (codepoint & 0x3F); + return dst + 2; + } else if (codepoint <= 0xFFFF) { + dst[0] = 0xE0 | ((codepoint >> 12) & 0x0F); + dst[1] = 0x80 | ((codepoint >> 6) & 0x3F); + dst[2] = 0x80 | (codepoint & 0x3F); + return dst + 3; + } else { + dst[0] = 0xF0 | ((codepoint >> 18) & 0x07); + dst[1] = 0x80 | ((codepoint >> 12) & 0x3F); + dst[2] = 0x80 | ((codepoint >> 6) & 0x3F); + dst[3] = 0x80 | (codepoint & 0x3F); + return dst + 4; + } } /** @@ -74,31 +74,31 @@ utf8 *utf8_write_codepoint(utf8 *dst, uint32 codepoint) */ sint32 utf8_insert_codepoint(utf8 *dst, uint32 codepoint) { - sint32 shift = utf8_get_codepoint_length(codepoint); - utf8 *endPoint = get_string_end(dst); - memmove(dst + shift, dst, endPoint - dst + 1); - utf8_write_codepoint(dst, codepoint); - return shift; + sint32 shift = utf8_get_codepoint_length(codepoint); + utf8 *endPoint = get_string_end(dst); + memmove(dst + shift, dst, endPoint - dst + 1); + utf8_write_codepoint(dst, codepoint); + return shift; } bool utf8_is_codepoint_start(const utf8 *text) { - if ((text[0] & 0x80) == 0) return true; - if ((text[0] & 0xC0) == 0xC0) return true; - return false; + if ((text[0] & 0x80) == 0) return true; + if ((text[0] & 0xC0) == 0xC0) return true; + return false; } sint32 utf8_get_codepoint_length(sint32 codepoint) { - if (codepoint <= 0x7F) { - return 1; - } else if (codepoint <= 0x7FF) { - return 2; - } else if (codepoint <= 0xFFFF) { - return 3; - } else { - return 4; - } + if (codepoint <= 0x7F) { + return 1; + } else if (codepoint <= 0x7FF) { + return 2; + } else if (codepoint <= 0xFFFF) { + return 3; + } else { + return 4; + } } /** @@ -107,47 +107,47 @@ sint32 utf8_get_codepoint_length(sint32 codepoint) */ sint32 utf8_length(const utf8 *text) { - sint32 codepoint; - const utf8 *ch = text; + sint32 codepoint; + const utf8 *ch = text; - sint32 count = 0; - while ((codepoint = utf8_get_next(ch, &ch)) != 0) { - count++; - } - return count; + sint32 count = 0; + while ((codepoint = utf8_get_next(ch, &ch)) != 0) { + count++; + } + return count; } wchar_t *utf8_to_widechar(const utf8 *src) { - wchar_t *result = malloc((utf8_length(src) + 1) * sizeof(wchar_t)); - wchar_t *dst = result; + wchar_t *result = malloc((utf8_length(src) + 1) * sizeof(wchar_t)); + wchar_t *dst = result; - const utf8 *ch = src; - sint32 codepoint; - while ((codepoint = utf8_get_next(ch, &ch)) != 0) { - if ((uint32)codepoint > 0xFFFF) { - *dst++ = '?'; - } else { - *dst++ = codepoint; - } - } - *dst = 0; + const utf8 *ch = src; + sint32 codepoint; + while ((codepoint = utf8_get_next(ch, &ch)) != 0) { + if ((uint32)codepoint > 0xFFFF) { + *dst++ = '?'; + } else { + *dst++ = codepoint; + } + } + *dst = 0; - return result; + return result; } utf8 *widechar_to_utf8(const wchar_t *src) { - utf8 *result = malloc((wcslen(src) * 4) + 1); - utf8 *dst = result; + utf8 *result = malloc((wcslen(src) * 4) + 1); + utf8 *dst = result; - for (; *src != 0; src++) { - dst = utf8_write_codepoint(dst, *src); - } - *dst++ = 0; + for (; *src != 0; src++) { + dst = utf8_write_codepoint(dst, *src); + } + *dst++ = 0; - size_t size = (size_t)(dst - result); - return realloc(result, size); + size_t size = (size_t)(dst - result); + return realloc(result, size); } @@ -156,14 +156,14 @@ utf8 *widechar_to_utf8(const wchar_t *src) */ utf8 *get_string_end(const utf8 *text) { - sint32 codepoint; - const utf8 *ch = text; + sint32 codepoint; + const utf8 *ch = text; - while ((codepoint = utf8_get_next(ch, &ch)) != 0) { - sint32 argLength = utf8_get_format_code_arg_length(codepoint); - ch += argLength; - } - return (utf8*)(ch - 1); + while ((codepoint = utf8_get_next(ch, &ch)) != 0) { + sint32 argLength = utf8_get_format_code_arg_length(codepoint); + ch += argLength; + } + return (utf8*)(ch - 1); } /** @@ -171,7 +171,7 @@ utf8 *get_string_end(const utf8 *text) */ size_t get_string_size(const utf8 *text) { - return get_string_end(text) - text + 1; + return get_string_end(text) - text + 1; } /** @@ -179,64 +179,64 @@ size_t get_string_size(const utf8 *text) */ sint32 get_string_length(const utf8 *text) { - sint32 codepoint; - const utf8 *ch = text; + sint32 codepoint; + const utf8 *ch = text; - sint32 count = 0; - while ((codepoint = utf8_get_next(ch, &ch)) != 0) { - if (utf8_is_format_code(codepoint)) { - ch += utf8_get_format_code_arg_length(codepoint); - } else { - count++; - } - } - return count; + sint32 count = 0; + while ((codepoint = utf8_get_next(ch, &ch)) != 0) { + if (utf8_is_format_code(codepoint)) { + ch += utf8_get_format_code_arg_length(codepoint); + } else { + count++; + } + } + return count; } sint32 utf8_get_format_code_arg_length(sint32 codepoint) { - switch (codepoint) { - case FORMAT_MOVE_X: - case FORMAT_ADJUST_PALETTE: - case 3: - case 4: - return 1; - case FORMAT_NEWLINE_X_Y: - return 2; - case FORMAT_INLINE_SPRITE: - return 4; - default: - return 0; - } + switch (codepoint) { + case FORMAT_MOVE_X: + case FORMAT_ADJUST_PALETTE: + case 3: + case 4: + return 1; + case FORMAT_NEWLINE_X_Y: + return 2; + case FORMAT_INLINE_SPRITE: + return 4; + default: + return 0; + } } void utf8_remove_formatting(utf8* string, bool allowColours) { - utf8* readPtr = string; - utf8* writePtr = string; + utf8* readPtr = string; + utf8* writePtr = string; - while (true) { - uint32 code = utf8_get_next(readPtr, (const utf8**)&readPtr); + while (true) { + uint32 code = utf8_get_next(readPtr, (const utf8**)&readPtr); - if (code == 0) { - *writePtr = 0; - break; - } else if (!utf8_is_format_code(code) || (allowColours && utf8_is_colour_code(code))) { - writePtr = utf8_write_codepoint(writePtr, code); - } - } + if (code == 0) { + *writePtr = 0; + break; + } else if (!utf8_is_format_code(code) || (allowColours && utf8_is_colour_code(code))) { + writePtr = utf8_write_codepoint(writePtr, code); + } + } } bool utf8_is_format_code(sint32 codepoint) { - if (codepoint < 32) return true; - if (codepoint >= FORMAT_ARGUMENT_CODE_START && codepoint <= FORMAT_ARGUMENT_CODE_END) return true; - if (codepoint >= FORMAT_COLOUR_CODE_START && codepoint <= FORMAT_COLOUR_CODE_END) return true; - if (codepoint == FORMAT_COMMA1DP16) return true; - return false; + if (codepoint < 32) return true; + if (codepoint >= FORMAT_ARGUMENT_CODE_START && codepoint <= FORMAT_ARGUMENT_CODE_END) return true; + if (codepoint >= FORMAT_COLOUR_CODE_START && codepoint <= FORMAT_COLOUR_CODE_END) return true; + if (codepoint == FORMAT_COMMA1DP16) return true; + return false; } bool utf8_is_colour_code(sint32 codepoint) { - if (codepoint >= FORMAT_COLOUR_CODE_START && codepoint <= FORMAT_COLOUR_CODE_END) return true; - return false; + if (codepoint >= FORMAT_COLOUR_CODE_START && codepoint <= FORMAT_COLOUR_CODE_END) return true; + return false; } diff --git a/src/openrct2/management/award.c b/src/openrct2/management/award.c index 34dbeca8fe..aceb7c8ed1 100644 --- a/src/openrct2/management/award.c +++ b/src/openrct2/management/award.c @@ -28,50 +28,50 @@ #define POSITIVE 1 static const uint8 AwardPositiveMap[] = { - NEGATIVE, // PARK_AWARD_MOST_UNTIDY - POSITIVE, // PARK_AWARD_MOST_TIDY - POSITIVE, // PARK_AWARD_BEST_ROLLERCOASTERS - POSITIVE, // PARK_AWARD_BEST_VALUE - POSITIVE, // PARK_AWARD_MOST_BEAUTIFUL - NEGATIVE, // PARK_AWARD_WORST_VALUE - POSITIVE, // PARK_AWARD_SAFEST - POSITIVE, // PARK_AWARD_BEST_STAFF - POSITIVE, // PARK_AWARD_BEST_FOOD - NEGATIVE, // PARK_AWARD_WORST_FOOD - POSITIVE, // PARK_AWARD_BEST_RESTROOMS - NEGATIVE, // PARK_AWARD_MOST_DISAPPOINTING - POSITIVE, // PARK_AWARD_BEST_WATER_RIDES - POSITIVE, // PARK_AWARD_BEST_CUSTOM_DESIGNED_RIDES - POSITIVE, // PARK_AWARD_MOST_DAZZLING_RIDE_COLOURS - NEGATIVE, // PARK_AWARD_MOST_CONFUSING_LAYOUT - POSITIVE, // PARK_AWARD_BEST_GENTLE_RIDES + NEGATIVE, // PARK_AWARD_MOST_UNTIDY + POSITIVE, // PARK_AWARD_MOST_TIDY + POSITIVE, // PARK_AWARD_BEST_ROLLERCOASTERS + POSITIVE, // PARK_AWARD_BEST_VALUE + POSITIVE, // PARK_AWARD_MOST_BEAUTIFUL + NEGATIVE, // PARK_AWARD_WORST_VALUE + POSITIVE, // PARK_AWARD_SAFEST + POSITIVE, // PARK_AWARD_BEST_STAFF + POSITIVE, // PARK_AWARD_BEST_FOOD + NEGATIVE, // PARK_AWARD_WORST_FOOD + POSITIVE, // PARK_AWARD_BEST_RESTROOMS + NEGATIVE, // PARK_AWARD_MOST_DISAPPOINTING + POSITIVE, // PARK_AWARD_BEST_WATER_RIDES + POSITIVE, // PARK_AWARD_BEST_CUSTOM_DESIGNED_RIDES + POSITIVE, // PARK_AWARD_MOST_DAZZLING_RIDE_COLOURS + NEGATIVE, // PARK_AWARD_MOST_CONFUSING_LAYOUT + POSITIVE, // PARK_AWARD_BEST_GENTLE_RIDES }; static const rct_string_id AwardNewsStrings[] = { - STR_NEWS_ITEM_AWARD_MOST_UNTIDY, - STR_NEWS_ITEM_MOST_TIDY, - STR_NEWS_ITEM_BEST_ROLLERCOASTERS, - STR_NEWS_ITEM_BEST_VALUE, - STR_NEWS_ITEM_MOST_BEAUTIFUL, - STR_NEWS_ITEM_WORST_VALUE, - STR_NEWS_ITEM_SAFEST, - STR_NEWS_ITEM_BEST_STAFF, - STR_NEWS_ITEM_BEST_FOOD, - STR_NEWS_ITEM_WORST_FOOD, - STR_NEWS_ITEM_BEST_RESTROOMS, - STR_NEWS_ITEM_MOST_DISAPPOINTING, - STR_NEWS_ITEM_BEST_WATER_RIDES, - STR_NEWS_ITEM_BEST_CUSTOM_DESIGNED_RIDES, - STR_NEWS_ITEM_MOST_DAZZLING_RIDE_COLOURS, - STR_NEWS_ITEM_MOST_CONFUSING_LAYOUT, - STR_NEWS_ITEM_BEST_GENTLE_RIDES, + STR_NEWS_ITEM_AWARD_MOST_UNTIDY, + STR_NEWS_ITEM_MOST_TIDY, + STR_NEWS_ITEM_BEST_ROLLERCOASTERS, + STR_NEWS_ITEM_BEST_VALUE, + STR_NEWS_ITEM_MOST_BEAUTIFUL, + STR_NEWS_ITEM_WORST_VALUE, + STR_NEWS_ITEM_SAFEST, + STR_NEWS_ITEM_BEST_STAFF, + STR_NEWS_ITEM_BEST_FOOD, + STR_NEWS_ITEM_WORST_FOOD, + STR_NEWS_ITEM_BEST_RESTROOMS, + STR_NEWS_ITEM_MOST_DISAPPOINTING, + STR_NEWS_ITEM_BEST_WATER_RIDES, + STR_NEWS_ITEM_BEST_CUSTOM_DESIGNED_RIDES, + STR_NEWS_ITEM_MOST_DAZZLING_RIDE_COLOURS, + STR_NEWS_ITEM_MOST_CONFUSING_LAYOUT, + STR_NEWS_ITEM_BEST_GENTLE_RIDES, }; Award gCurrentAwards[MAX_AWARDS]; bool award_is_positive(sint32 type) { - return AwardPositiveMap[type]; + return AwardPositiveMap[type]; } #pragma region Award checks @@ -79,545 +79,545 @@ bool award_is_positive(sint32 type) /** More than 1/16 of the total guests must be thinking untidy thoughts. */ static sint32 award_is_deserved_most_untidy(sint32 awardType, sint32 activeAwardTypes) { - uint16 spriteIndex; - rct_peep *peep; - sint32 negativeCount; + uint16 spriteIndex; + rct_peep *peep; + sint32 negativeCount; - if (activeAwardTypes & (1 << PARK_AWARD_MOST_BEAUTIFUL)) - return 0; - if (activeAwardTypes & (1 << PARK_AWARD_BEST_STAFF)) - return 0; - if (activeAwardTypes & (1 << PARK_AWARD_MOST_TIDY)) - return 0; + if (activeAwardTypes & (1 << PARK_AWARD_MOST_BEAUTIFUL)) + return 0; + if (activeAwardTypes & (1 << PARK_AWARD_BEST_STAFF)) + return 0; + if (activeAwardTypes & (1 << PARK_AWARD_MOST_TIDY)) + return 0; - negativeCount = 0; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0) - continue; + negativeCount = 0; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0) + continue; - if (peep->thoughts[0].var_2 > 5) - continue; + if (peep->thoughts[0].var_2 > 5) + continue; - if (peep->thoughts[0].type == PEEP_THOUGHT_TYPE_BAD_LITTER || - peep->thoughts[0].type == PEEP_THOUGHT_TYPE_PATH_DISGUSTING || - peep->thoughts[0].type == PEEP_THOUGHT_TYPE_VANDALISM - ) { - negativeCount++; - } - } + if (peep->thoughts[0].type == PEEP_THOUGHT_TYPE_BAD_LITTER || + peep->thoughts[0].type == PEEP_THOUGHT_TYPE_PATH_DISGUSTING || + peep->thoughts[0].type == PEEP_THOUGHT_TYPE_VANDALISM + ) { + negativeCount++; + } + } - return (negativeCount > gNumGuestsInPark / 16); + return (negativeCount > gNumGuestsInPark / 16); } /** More than 1/64 of the total guests must be thinking tidy thoughts and less than 6 guests thinking untidy thoughts. */ static sint32 award_is_deserved_most_tidy(sint32 awardType, sint32 activeAwardTypes) { - uint16 spriteIndex; - rct_peep *peep; - sint32 positiveCount; - sint32 negativeCount; + uint16 spriteIndex; + rct_peep *peep; + sint32 positiveCount; + sint32 negativeCount; - if (activeAwardTypes & (1 << PARK_AWARD_MOST_UNTIDY)) - return 0; - if (activeAwardTypes & (1 << PARK_AWARD_MOST_DISAPPOINTING)) - return 0; + if (activeAwardTypes & (1 << PARK_AWARD_MOST_UNTIDY)) + return 0; + if (activeAwardTypes & (1 << PARK_AWARD_MOST_DISAPPOINTING)) + return 0; - positiveCount = 0; - negativeCount = 0; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0) - continue; + positiveCount = 0; + negativeCount = 0; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0) + continue; - if (peep->thoughts[0].var_2 > 5) - continue; + if (peep->thoughts[0].var_2 > 5) + continue; - if (peep->thoughts[0].type == PEEP_THOUGHT_TYPE_VERY_CLEAN) - positiveCount++; + if (peep->thoughts[0].type == PEEP_THOUGHT_TYPE_VERY_CLEAN) + positiveCount++; - if (peep->thoughts[0].type == PEEP_THOUGHT_TYPE_BAD_LITTER || - peep->thoughts[0].type == PEEP_THOUGHT_TYPE_PATH_DISGUSTING || - peep->thoughts[0].type == PEEP_THOUGHT_TYPE_VANDALISM - ) { - negativeCount++; - } - } + if (peep->thoughts[0].type == PEEP_THOUGHT_TYPE_BAD_LITTER || + peep->thoughts[0].type == PEEP_THOUGHT_TYPE_PATH_DISGUSTING || + peep->thoughts[0].type == PEEP_THOUGHT_TYPE_VANDALISM + ) { + negativeCount++; + } + } - return (negativeCount <= 5 && positiveCount > gNumGuestsInPark / 64); + return (negativeCount <= 5 && positiveCount > gNumGuestsInPark / 64); } /** At least 6 open roller coasters. */ static sint32 award_is_deserved_best_rollercoasters(sint32 awardType, sint32 activeAwardTypes) { - sint32 i, rollerCoasters; - rct_ride *ride; - rct_ride_entry *rideType; + sint32 i, rollerCoasters; + rct_ride *ride; + rct_ride_entry *rideType; - rollerCoasters = 0; - FOR_ALL_RIDES(i, ride) { - rideType = get_ride_entry(ride->subtype); - if (rideType == NULL) { - continue; - } - if (rideType->category[0] != RIDE_GROUP_ROLLERCOASTER && rideType->category[1] != RIDE_GROUP_ROLLERCOASTER) - continue; + rollerCoasters = 0; + FOR_ALL_RIDES(i, ride) { + rideType = get_ride_entry(ride->subtype); + if (rideType == NULL) { + continue; + } + if (rideType->category[0] != RIDE_GROUP_ROLLERCOASTER && rideType->category[1] != RIDE_GROUP_ROLLERCOASTER) + continue; - if (ride->status != RIDE_STATUS_OPEN || (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) - continue; + if (ride->status != RIDE_STATUS_OPEN || (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) + continue; - rollerCoasters++; - } + rollerCoasters++; + } - return (rollerCoasters >= 6); + return (rollerCoasters >= 6); } /** Entrance fee is 0.10 less than half of the total ride value. */ static sint32 award_is_deserved_best_value(sint32 awardType, sint32 activeAwardTypes) { - if (activeAwardTypes & (1 << PARK_AWARD_WORST_VALUE)) - return 0; - if (activeAwardTypes & (1 << PARK_AWARD_MOST_DISAPPOINTING)) - return 0; - if (gParkFlags & (PARK_FLAGS_NO_MONEY | PARK_FLAGS_PARK_FREE_ENTRY)) - return 0; - if (gTotalRideValue < MONEY(10, 00)) - return 0; - if (park_get_entrance_fee() + MONEY(0, 10) >= gTotalRideValue / 2) - return 0; - return 1; + if (activeAwardTypes & (1 << PARK_AWARD_WORST_VALUE)) + return 0; + if (activeAwardTypes & (1 << PARK_AWARD_MOST_DISAPPOINTING)) + return 0; + if (gParkFlags & (PARK_FLAGS_NO_MONEY | PARK_FLAGS_PARK_FREE_ENTRY)) + return 0; + if (gTotalRideValue < MONEY(10, 00)) + return 0; + if (park_get_entrance_fee() + MONEY(0, 10) >= gTotalRideValue / 2) + return 0; + return 1; } /** More than 1/128 of the total guests must be thinking scenic thoughts and less than 16 untidy thoughts. */ static sint32 award_is_deserved_most_beautiful(sint32 awardType, sint32 activeAwardTypes) { - uint16 spriteIndex; - rct_peep *peep; - sint32 positiveCount; - sint32 negativeCount; + uint16 spriteIndex; + rct_peep *peep; + sint32 positiveCount; + sint32 negativeCount; - if (activeAwardTypes & (1 << PARK_AWARD_MOST_UNTIDY)) - return 0; - if (activeAwardTypes & (1 << PARK_AWARD_MOST_DISAPPOINTING)) - return 0; + if (activeAwardTypes & (1 << PARK_AWARD_MOST_UNTIDY)) + return 0; + if (activeAwardTypes & (1 << PARK_AWARD_MOST_DISAPPOINTING)) + return 0; - positiveCount = 0; - negativeCount = 0; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0) - continue; + positiveCount = 0; + negativeCount = 0; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0) + continue; - if (peep->thoughts[0].var_2 > 5) - continue; + if (peep->thoughts[0].var_2 > 5) + continue; - if (peep->thoughts[0].type == PEEP_THOUGHT_TYPE_SCENERY) - positiveCount++; + if (peep->thoughts[0].type == PEEP_THOUGHT_TYPE_SCENERY) + positiveCount++; - if (peep->thoughts[0].type == PEEP_THOUGHT_TYPE_BAD_LITTER || - peep->thoughts[0].type == PEEP_THOUGHT_TYPE_PATH_DISGUSTING || - peep->thoughts[0].type == PEEP_THOUGHT_TYPE_VANDALISM - ) { - negativeCount++; - } - } + if (peep->thoughts[0].type == PEEP_THOUGHT_TYPE_BAD_LITTER || + peep->thoughts[0].type == PEEP_THOUGHT_TYPE_PATH_DISGUSTING || + peep->thoughts[0].type == PEEP_THOUGHT_TYPE_VANDALISM + ) { + negativeCount++; + } + } - return (negativeCount <= 15 && positiveCount > gNumGuestsInPark / 128); + return (negativeCount <= 15 && positiveCount > gNumGuestsInPark / 128); } /** Entrance fee is more than total ride value. */ static sint32 award_is_deserved_worse_value(sint32 awardType, sint32 activeAwardTypes) { - if (activeAwardTypes & (1 << PARK_AWARD_BEST_VALUE)) - return 0; - if (gParkFlags & PARK_FLAGS_NO_MONEY) - return 0; + if (activeAwardTypes & (1 << PARK_AWARD_BEST_VALUE)) + return 0; + if (gParkFlags & PARK_FLAGS_NO_MONEY) + return 0; - money32 parkEntranceFee = park_get_entrance_fee(); - if (parkEntranceFee == MONEY(0, 00)) - return 0; - if (gTotalRideValue >= parkEntranceFee) - return 0; - return 1; + money32 parkEntranceFee = park_get_entrance_fee(); + if (parkEntranceFee == MONEY(0, 00)) + return 0; + if (gTotalRideValue >= parkEntranceFee) + return 0; + return 1; } /** No more than 2 people who think the vandalism is bad and no crashes. */ static sint32 award_is_deserved_safest(sint32 awardType, sint32 activeAwardTypes) { - sint32 i, peepsWhoDislikeVandalism; - uint16 spriteIndex; - rct_peep *peep; - rct_ride *ride; + sint32 i, peepsWhoDislikeVandalism; + uint16 spriteIndex; + rct_peep *peep; + rct_ride *ride; - peepsWhoDislikeVandalism = 0; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0) - continue; - if (peep->thoughts[0].var_2 <= 5 && peep->thoughts[0].type == PEEP_THOUGHT_TYPE_VANDALISM) - peepsWhoDislikeVandalism++; - } + peepsWhoDislikeVandalism = 0; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0) + continue; + if (peep->thoughts[0].var_2 <= 5 && peep->thoughts[0].type == PEEP_THOUGHT_TYPE_VANDALISM) + peepsWhoDislikeVandalism++; + } - if (peepsWhoDislikeVandalism > 2) - return 0; + if (peepsWhoDislikeVandalism > 2) + return 0; - // Check for rides that have crashed maybe? - FOR_ALL_RIDES(i, ride) - if (ride->last_crash_type != RIDE_CRASH_TYPE_NONE) - return 0; + // Check for rides that have crashed maybe? + FOR_ALL_RIDES(i, ride) + if (ride->last_crash_type != RIDE_CRASH_TYPE_NONE) + return 0; - return 1; + return 1; } /** All staff types, at least 20 staff, one staff per 32 peeps. */ static sint32 award_is_deserved_best_staff(sint32 awardType, sint32 activeAwardTypes) { - uint16 spriteIndex; - rct_peep *peep; - sint32 peepCount, staffCount; - sint32 staffTypeFlags; + uint16 spriteIndex; + rct_peep *peep; + sint32 peepCount, staffCount; + sint32 staffTypeFlags; - if (activeAwardTypes & (1 << PARK_AWARD_MOST_UNTIDY)) - return 0; + if (activeAwardTypes & (1 << PARK_AWARD_MOST_UNTIDY)) + return 0; - peepCount = 0; - staffCount = 0; - staffTypeFlags = 0; - FOR_ALL_PEEPS(spriteIndex, peep) { - if (peep->type == PEEP_TYPE_STAFF) { - staffCount++; - staffTypeFlags |= (1 << peep->staff_type); - } else { - peepCount++; - } - } + peepCount = 0; + staffCount = 0; + staffTypeFlags = 0; + FOR_ALL_PEEPS(spriteIndex, peep) { + if (peep->type == PEEP_TYPE_STAFF) { + staffCount++; + staffTypeFlags |= (1 << peep->staff_type); + } else { + peepCount++; + } + } - return ((staffTypeFlags & 0xF) && staffCount >= 20 && staffCount >= peepCount / 32); + return ((staffTypeFlags & 0xF) && staffCount >= 20 && staffCount >= peepCount / 32); } /** At least 7 shops, 4 unique, one shop per 128 guests and no more than 12 hungry guests. */ static sint32 award_is_deserved_best_food(sint32 awardType, sint32 activeAwardTypes) { - sint32 i, hungryPeeps, shops, uniqueShops; - uint64 shopTypes; - rct_ride *ride; - rct_ride_entry *rideType; - uint16 spriteIndex; - rct_peep *peep; + sint32 i, hungryPeeps, shops, uniqueShops; + uint64 shopTypes; + rct_ride *ride; + rct_ride_entry *rideType; + uint16 spriteIndex; + rct_peep *peep; - if (activeAwardTypes & (1 << PARK_AWARD_WORST_FOOD)) - return 0; + if (activeAwardTypes & (1 << PARK_AWARD_WORST_FOOD)) + return 0; - shops = 0; - uniqueShops = 0; - shopTypes = 0; - FOR_ALL_RIDES(i, ride) { - if (ride->status != RIDE_STATUS_OPEN) - continue; - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SELLS_FOOD)) - continue; + shops = 0; + uniqueShops = 0; + shopTypes = 0; + FOR_ALL_RIDES(i, ride) { + if (ride->status != RIDE_STATUS_OPEN) + continue; + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SELLS_FOOD)) + continue; - shops++; - rideType = get_ride_entry(ride->subtype); - if (rideType == NULL) { - continue; - } - if (!(shopTypes & (1ULL << rideType->shop_item))) { - shopTypes |= (1ULL << rideType->shop_item); - uniqueShops++; - } - } + shops++; + rideType = get_ride_entry(ride->subtype); + if (rideType == NULL) { + continue; + } + if (!(shopTypes & (1ULL << rideType->shop_item))) { + shopTypes |= (1ULL << rideType->shop_item); + uniqueShops++; + } + } - if (shops < 7 || uniqueShops < 4 || shops < gNumGuestsInPark / 128) - return 0; + if (shops < 7 || uniqueShops < 4 || shops < gNumGuestsInPark / 128) + return 0; - // Count hungry peeps - hungryPeeps = 0; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0) - continue; + // Count hungry peeps + hungryPeeps = 0; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0) + continue; - if (peep->thoughts[0].var_2 <= 5 && peep->thoughts[0].type == PEEP_THOUGHT_TYPE_HUNGRY) - hungryPeeps++; - } + if (peep->thoughts[0].var_2 <= 5 && peep->thoughts[0].type == PEEP_THOUGHT_TYPE_HUNGRY) + hungryPeeps++; + } - return (hungryPeeps <= 12); + return (hungryPeeps <= 12); } /** No more than 2 unique shops, less than one shop per 256 guests and more than 15 hungry guests. */ static sint32 award_is_deserved_worst_food(sint32 awardType, sint32 activeAwardTypes) { - sint32 i, hungryPeeps, shops, uniqueShops; - uint64 shopTypes; - rct_ride *ride; - rct_ride_entry *rideType; - uint16 spriteIndex; - rct_peep *peep; + sint32 i, hungryPeeps, shops, uniqueShops; + uint64 shopTypes; + rct_ride *ride; + rct_ride_entry *rideType; + uint16 spriteIndex; + rct_peep *peep; - if (activeAwardTypes & (1 << PARK_AWARD_BEST_FOOD)) - return 0; + if (activeAwardTypes & (1 << PARK_AWARD_BEST_FOOD)) + return 0; - shops = 0; - uniqueShops = 0; - shopTypes = 0; - FOR_ALL_RIDES(i, ride) { - if (ride->status != RIDE_STATUS_OPEN) - continue; - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SELLS_FOOD)) - continue; + shops = 0; + uniqueShops = 0; + shopTypes = 0; + FOR_ALL_RIDES(i, ride) { + if (ride->status != RIDE_STATUS_OPEN) + continue; + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SELLS_FOOD)) + continue; - shops++; - rideType = get_ride_entry(ride->subtype); - if (rideType == NULL) { - continue; - } - if (!(shopTypes & (1ULL << rideType->shop_item))) { - shopTypes |= (1ULL << rideType->shop_item); - uniqueShops++; - } - } + shops++; + rideType = get_ride_entry(ride->subtype); + if (rideType == NULL) { + continue; + } + if (!(shopTypes & (1ULL << rideType->shop_item))) { + shopTypes |= (1ULL << rideType->shop_item); + uniqueShops++; + } + } - if (uniqueShops > 2 || shops > gNumGuestsInPark / 256) - return 0; + if (uniqueShops > 2 || shops > gNumGuestsInPark / 256) + return 0; - // Count hungry peeps - hungryPeeps = 0; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0) - continue; + // Count hungry peeps + hungryPeeps = 0; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0) + continue; - if (peep->thoughts[0].var_2 <= 5 && peep->thoughts[0].type == PEEP_THOUGHT_TYPE_HUNGRY) - hungryPeeps++; - } + if (peep->thoughts[0].var_2 <= 5 && peep->thoughts[0].type == PEEP_THOUGHT_TYPE_HUNGRY) + hungryPeeps++; + } - return (hungryPeeps > 15); + return (hungryPeeps > 15); } /** At least 4 restrooms, 1 restroom per 128 guests and no more than 16 guests who think they need the restroom. */ static sint32 award_is_deserved_best_restrooms(sint32 awardType, sint32 activeAwardTypes) { - uint32 i, numRestrooms, guestsWhoNeedRestroom; - rct_ride *ride; - uint16 spriteIndex; - rct_peep *peep; + uint32 i, numRestrooms, guestsWhoNeedRestroom; + rct_ride *ride; + uint16 spriteIndex; + rct_peep *peep; - // Count open restrooms - numRestrooms = 0; - FOR_ALL_RIDES(i, ride) - if (ride->type == RIDE_TYPE_TOILETS && ride->status == RIDE_STATUS_OPEN) - numRestrooms++; + // Count open restrooms + numRestrooms = 0; + FOR_ALL_RIDES(i, ride) + if (ride->type == RIDE_TYPE_TOILETS && ride->status == RIDE_STATUS_OPEN) + numRestrooms++; - // At least 4 open restrooms - if (numRestrooms < 4) - return 0; + // At least 4 open restrooms + if (numRestrooms < 4) + return 0; - // At least one open restroom for every 128 guests - if (numRestrooms < gNumGuestsInPark / 128U) - return 0; + // At least one open restroom for every 128 guests + if (numRestrooms < gNumGuestsInPark / 128U) + return 0; - // Count number of guests who are thinking they need the restroom - guestsWhoNeedRestroom = 0; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0) - continue; + // Count number of guests who are thinking they need the restroom + guestsWhoNeedRestroom = 0; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0) + continue; - if (peep->thoughts[0].var_2 <= 5 && peep->thoughts[0].type == PEEP_THOUGHT_TYPE_BATHROOM) - guestsWhoNeedRestroom++; - } + if (peep->thoughts[0].var_2 <= 5 && peep->thoughts[0].type == PEEP_THOUGHT_TYPE_BATHROOM) + guestsWhoNeedRestroom++; + } - return (guestsWhoNeedRestroom <= 16); + return (guestsWhoNeedRestroom <= 16); } /** More than half of the rides have satisfaction <= 6 and park rating <= 650. */ static sint32 award_is_deserved_most_disappointing(sint32 awardType, sint32 activeAwardTypes) { - uint32 i, countedRides, disappointingRides; - rct_ride *ride; + uint32 i, countedRides, disappointingRides; + rct_ride *ride; - if (activeAwardTypes & (1 << PARK_AWARD_BEST_VALUE)) - return 0; - if (gParkRating > 650) - return 0; + if (activeAwardTypes & (1 << PARK_AWARD_BEST_VALUE)) + return 0; + if (gParkRating > 650) + return 0; - // Count the number of disappointing rides - countedRides = 0; - disappointingRides = 0; + // Count the number of disappointing rides + countedRides = 0; + disappointingRides = 0; - FOR_ALL_RIDES(i, ride) { - if (ride->excitement == RIDE_RATING_UNDEFINED || ride->popularity == 0xFF) - continue; + FOR_ALL_RIDES(i, ride) { + if (ride->excitement == RIDE_RATING_UNDEFINED || ride->popularity == 0xFF) + continue; - countedRides++; + countedRides++; - // Unpopular - if (ride->popularity <= 6) - disappointingRides++; - } + // Unpopular + if (ride->popularity <= 6) + disappointingRides++; + } - // Half of the rides are disappointing - return (disappointingRides >= countedRides / 2); + // Half of the rides are disappointing + return (disappointingRides >= countedRides / 2); } /** At least 6 open water rides. */ static sint32 award_is_deserved_best_water_rides(sint32 awardType, sint32 activeAwardTypes) { - sint32 i, waterRides; - rct_ride *ride; - rct_ride_entry *rideType; + sint32 i, waterRides; + rct_ride *ride; + rct_ride_entry *rideType; - waterRides = 0; - FOR_ALL_RIDES(i, ride) { - rideType = get_ride_entry(ride->subtype); - if (rideType == NULL) { - continue; - } - if (rideType->category[0] != RIDE_GROUP_WATER && rideType->category[1] != RIDE_GROUP_WATER) - continue; + waterRides = 0; + FOR_ALL_RIDES(i, ride) { + rideType = get_ride_entry(ride->subtype); + if (rideType == NULL) { + continue; + } + if (rideType->category[0] != RIDE_GROUP_WATER && rideType->category[1] != RIDE_GROUP_WATER) + continue; - if (ride->status != RIDE_STATUS_OPEN || (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) - continue; + if (ride->status != RIDE_STATUS_OPEN || (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) + continue; - waterRides++; - } + waterRides++; + } - return (waterRides >= 6); + return (waterRides >= 6); } /** At least 6 custom designed rides. */ static sint32 award_is_deserved_best_custom_designed_rides(sint32 awardType, sint32 activeAwardTypes) { - sint32 i, customDesignedRides; - rct_ride *ride; + sint32 i, customDesignedRides; + rct_ride *ride; - if (activeAwardTypes & (1 << PARK_AWARD_MOST_DISAPPOINTING)) - return 0; + if (activeAwardTypes & (1 << PARK_AWARD_MOST_DISAPPOINTING)) + return 0; - customDesignedRides = 0; - FOR_ALL_RIDES(i, ride) { - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK)) - continue; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_NOT_CUSTOM_DESIGN) - continue; - if (ride->excitement < RIDE_RATING(5, 50)) - continue; - if (ride->status != RIDE_STATUS_OPEN || (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) - continue; + customDesignedRides = 0; + FOR_ALL_RIDES(i, ride) { + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK)) + continue; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_NOT_CUSTOM_DESIGN) + continue; + if (ride->excitement < RIDE_RATING(5, 50)) + continue; + if (ride->status != RIDE_STATUS_OPEN || (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) + continue; - customDesignedRides++; - } + customDesignedRides++; + } - return (customDesignedRides >= 6); + return (customDesignedRides >= 6); } /** At least 5 colourful rides and more than half of the rides are colourful. */ const uint8 dazzling_ride_colours[] = { 5, 14, 20, 30 }; static sint32 award_is_deserved_most_dazzling_ride_colours(sint32 awardType, sint32 activeAwardTypes) { - sint32 i, j, countedRides, colourfulRides; - rct_ride *ride; - uint8 mainTrackColour; + sint32 i, j, countedRides, colourfulRides; + rct_ride *ride; + uint8 mainTrackColour; - if (activeAwardTypes & (1 << PARK_AWARD_MOST_DISAPPOINTING)) - return 0; + if (activeAwardTypes & (1 << PARK_AWARD_MOST_DISAPPOINTING)) + return 0; - countedRides = 0; - colourfulRides = 0; - FOR_ALL_RIDES(i, ride) { - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK)) - continue; + countedRides = 0; + colourfulRides = 0; + FOR_ALL_RIDES(i, ride) { + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK)) + continue; - countedRides++; + countedRides++; - mainTrackColour = ride->track_colour_main[0]; - for (j = 0; j < countof(dazzling_ride_colours); j++) { - if (mainTrackColour == dazzling_ride_colours[j]) { - colourfulRides++; - break; - } - } - } + mainTrackColour = ride->track_colour_main[0]; + for (j = 0; j < countof(dazzling_ride_colours); j++) { + if (mainTrackColour == dazzling_ride_colours[j]) { + colourfulRides++; + break; + } + } + } - return (colourfulRides >= 5 && colourfulRides >= countedRides - colourfulRides); + return (colourfulRides >= 5 && colourfulRides >= countedRides - colourfulRides); } /** At least 10 peeps and more than 1/64 of total guests are lost or can't find something. */ static sint32 award_is_deserved_most_confusing_layout(sint32 awardType, sint32 activeAwardTypes) { - uint32 peepsCounted, peepsLost; - uint16 spriteIndex; - rct_peep *peep; + uint32 peepsCounted, peepsLost; + uint16 spriteIndex; + rct_peep *peep; - peepsCounted = 0; - peepsLost = 0; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0) - continue; + peepsCounted = 0; + peepsLost = 0; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0) + continue; - peepsCounted++; - if (peep->thoughts[0].var_2 <= 5 && (peep->thoughts[0].type == PEEP_THOUGHT_TYPE_LOST || peep->thoughts[0].type == PEEP_THOUGHT_TYPE_CANT_FIND)) - peepsLost++; - } + peepsCounted++; + if (peep->thoughts[0].var_2 <= 5 && (peep->thoughts[0].type == PEEP_THOUGHT_TYPE_LOST || peep->thoughts[0].type == PEEP_THOUGHT_TYPE_CANT_FIND)) + peepsLost++; + } - return (peepsLost >= 10 && peepsLost >= peepsCounted / 64); + return (peepsLost >= 10 && peepsLost >= peepsCounted / 64); } /** At least 10 open gentle rides. */ static sint32 award_is_deserved_best_gentle_rides(sint32 awardType, sint32 activeAwardTypes) { - sint32 i, gentleRides; - rct_ride *ride; - rct_ride_entry *rideType; + sint32 i, gentleRides; + rct_ride *ride; + rct_ride_entry *rideType; - gentleRides = 0; - FOR_ALL_RIDES(i, ride) { - rideType = get_ride_entry(ride->subtype); - if (rideType == NULL) { - continue; - } - if (rideType->category[0] != RIDE_GROUP_GENTLE && rideType->category[1] != RIDE_GROUP_GENTLE) - continue; + gentleRides = 0; + FOR_ALL_RIDES(i, ride) { + rideType = get_ride_entry(ride->subtype); + if (rideType == NULL) { + continue; + } + if (rideType->category[0] != RIDE_GROUP_GENTLE && rideType->category[1] != RIDE_GROUP_GENTLE) + continue; - if (ride->status != RIDE_STATUS_OPEN || (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) - continue; + if (ride->status != RIDE_STATUS_OPEN || (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) + continue; - gentleRides++; - } + gentleRides++; + } - return (gentleRides >= 10); + return (gentleRides >= 10); } typedef sint32 (*award_deserved_check)(sint32, sint32); award_deserved_check _awardChecks[] = { - award_is_deserved_most_untidy, - award_is_deserved_most_tidy, - award_is_deserved_best_rollercoasters, - award_is_deserved_best_value, - award_is_deserved_most_beautiful, - award_is_deserved_worse_value, - award_is_deserved_safest, - award_is_deserved_best_staff, - award_is_deserved_best_food, - award_is_deserved_worst_food, - award_is_deserved_best_restrooms, - award_is_deserved_most_disappointing, - award_is_deserved_best_water_rides, - award_is_deserved_best_custom_designed_rides, - award_is_deserved_most_dazzling_ride_colours, - award_is_deserved_most_confusing_layout, - award_is_deserved_best_gentle_rides + award_is_deserved_most_untidy, + award_is_deserved_most_tidy, + award_is_deserved_best_rollercoasters, + award_is_deserved_best_value, + award_is_deserved_most_beautiful, + award_is_deserved_worse_value, + award_is_deserved_safest, + award_is_deserved_best_staff, + award_is_deserved_best_food, + award_is_deserved_worst_food, + award_is_deserved_best_restrooms, + award_is_deserved_most_disappointing, + award_is_deserved_best_water_rides, + award_is_deserved_best_custom_designed_rides, + award_is_deserved_most_dazzling_ride_colours, + award_is_deserved_most_confusing_layout, + award_is_deserved_best_gentle_rides }; static sint32 award_is_deserved(sint32 awardType, sint32 activeAwardTypes) { - return _awardChecks[awardType](awardType, activeAwardTypes); + return _awardChecks[awardType](awardType, activeAwardTypes); } #pragma endregion void award_reset() { - for (sint32 i = 0; i < MAX_AWARDS; i++) { - gCurrentAwards[i].Time = 0; - gCurrentAwards[i].Type = 0; - } + for (sint32 i = 0; i < MAX_AWARDS; i++) { + gCurrentAwards[i].Time = 0; + gCurrentAwards[i].Type = 0; + } } /** @@ -626,42 +626,42 @@ void award_reset() */ void award_update_all() { - // Only add new awards if park is open - if (gParkFlags & PARK_FLAGS_PARK_OPEN) { - // Set active award types as flags - sint32 activeAwardTypes = 0; - sint32 freeAwardEntryIndex = -1; - for (sint32 i = 0; i < MAX_AWARDS; i++) { - if (gCurrentAwards[i].Time != 0) - activeAwardTypes |= (1 << gCurrentAwards[i].Type); - else if (freeAwardEntryIndex == -1) - freeAwardEntryIndex = i; - } + // Only add new awards if park is open + if (gParkFlags & PARK_FLAGS_PARK_OPEN) { + // Set active award types as flags + sint32 activeAwardTypes = 0; + sint32 freeAwardEntryIndex = -1; + for (sint32 i = 0; i < MAX_AWARDS; i++) { + if (gCurrentAwards[i].Time != 0) + activeAwardTypes |= (1 << gCurrentAwards[i].Type); + else if (freeAwardEntryIndex == -1) + freeAwardEntryIndex = i; + } - // Check if there was a free award entry - if (freeAwardEntryIndex != -1) { - // Get a random award type not already active - sint32 awardType; - do { - awardType = (((scenario_rand() & 0xFF) * 17) >> 8) & 0xFF; - } while (activeAwardTypes & (1 << awardType)); + // Check if there was a free award entry + if (freeAwardEntryIndex != -1) { + // Get a random award type not already active + sint32 awardType; + do { + awardType = (((scenario_rand() & 0xFF) * 17) >> 8) & 0xFF; + } while (activeAwardTypes & (1 << awardType)); - // Check if award is deserved - if (award_is_deserved(awardType, activeAwardTypes)) { - // Add award - gCurrentAwards[freeAwardEntryIndex].Type = awardType; - gCurrentAwards[freeAwardEntryIndex].Time = 5; - if (gConfigNotifications.park_award) { - news_item_add_to_queue(NEWS_ITEM_AWARD, AwardNewsStrings[awardType], 0); - } - window_invalidate_by_class(WC_PARK_INFORMATION); - } - } - } + // Check if award is deserved + if (award_is_deserved(awardType, activeAwardTypes)) { + // Add award + gCurrentAwards[freeAwardEntryIndex].Type = awardType; + gCurrentAwards[freeAwardEntryIndex].Time = 5; + if (gConfigNotifications.park_award) { + news_item_add_to_queue(NEWS_ITEM_AWARD, AwardNewsStrings[awardType], 0); + } + window_invalidate_by_class(WC_PARK_INFORMATION); + } + } + } - // Decrease award times - for (sint32 i = 0; i < MAX_AWARDS; i++) - if (gCurrentAwards[i].Time != 0) - if (--gCurrentAwards[i].Time == 0) - window_invalidate_by_class(WC_PARK_INFORMATION); + // Decrease award times + for (sint32 i = 0; i < MAX_AWARDS; i++) + if (gCurrentAwards[i].Time != 0) + if (--gCurrentAwards[i].Time == 0) + window_invalidate_by_class(WC_PARK_INFORMATION); } diff --git a/src/openrct2/management/finance.c b/src/openrct2/management/finance.c index 589a27f04e..38650e26e0 100644 --- a/src/openrct2/management/finance.c +++ b/src/openrct2/management/finance.c @@ -31,18 +31,18 @@ * rct2: 0x00992A00 */ const money32 wage_table[4] = { - MONEY(50,00), // Handyman - MONEY(80,00), // Mechanic - MONEY(60,00), // Security guard - MONEY(55,00) // Entertainer + MONEY(50,00), // Handyman + MONEY(80,00), // Mechanic + MONEY(60,00), // Security guard + MONEY(55,00) // Entertainer }; // Monthly research funding costs const money32 research_cost_table[4] = { - MONEY( 0,00), // No funding - MONEY(100,00), // Minimum funding - MONEY(200,00), // Normal funding - MONEY(400,00) // Maximum funding + MONEY( 0,00), // No funding + MONEY(100,00), // Minimum funding + MONEY(200,00), // Normal funding + MONEY(400,00) // Maximum funding }; sint32 dword_988E60[] = { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0 }; @@ -72,20 +72,20 @@ uint8 gCommandExpenditureType; */ void finance_payment(money32 amount, rct_expenditure_type type) { - money32 cur_money = DECRYPT_MONEY(gCashEncrypted); - money32 new_money; + money32 cur_money = DECRYPT_MONEY(gCashEncrypted); + money32 new_money; - //overflow check - new_money = add_clamp_money32(cur_money, -amount); + //overflow check + new_money = add_clamp_money32(cur_money, -amount); - gCashEncrypted = ENCRYPT_MONEY(new_money); - gExpenditureTable[type] -= amount; - if (dword_988E60[type] & 1) - gCurrentExpenditure -= amount; // Cumulative amount of money spent this day + gCashEncrypted = ENCRYPT_MONEY(new_money); + gExpenditureTable[type] -= amount; + if (dword_988E60[type] & 1) + gCurrentExpenditure -= amount; // Cumulative amount of money spent this day - gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_MONEY; - window_invalidate_by_class(WC_FINANCES); + gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_MONEY; + window_invalidate_by_class(WC_FINANCES); } /** @@ -94,14 +94,14 @@ void finance_payment(money32 amount, rct_expenditure_type type) */ void finance_pay_wages() { - rct_peep* peep; - uint16 spriteIndex; + rct_peep* peep; + uint16 spriteIndex; - if (gParkFlags & PARK_FLAGS_NO_MONEY) - return; + if (gParkFlags & PARK_FLAGS_NO_MONEY) + return; - FOR_ALL_STAFF(spriteIndex, peep) - finance_payment(wage_table[peep->staff_type] / 4, RCT_EXPENDITURE_TYPE_WAGES); + FOR_ALL_STAFF(spriteIndex, peep) + finance_payment(wage_table[peep->staff_type] / 4, RCT_EXPENDITURE_TYPE_WAGES); } /** @@ -110,13 +110,13 @@ void finance_pay_wages() **/ void finance_pay_research() { - uint8 level; + uint8 level; - if (gParkFlags & PARK_FLAGS_NO_MONEY) - return; + if (gParkFlags & PARK_FLAGS_NO_MONEY) + return; - level = gResearchFundingLevel; - finance_payment(research_cost_table[level] / 4, RCT_EXPENDITURE_TYPE_RESEARCH); + level = gResearchFundingLevel; + finance_payment(research_cost_table[level] / 4, RCT_EXPENDITURE_TYPE_RESEARCH); } /** @@ -125,14 +125,14 @@ void finance_pay_research() */ void finance_pay_interest() { - money32 current_loan = gBankLoan; - sint16 current_interest = gBankLoanInterestRate; - money32 tempcost = (current_loan * 5 * current_interest) >> 14; // (5 * interest) / 2^14 is pretty close to + money32 current_loan = gBankLoan; + sint16 current_interest = gBankLoanInterestRate; + money32 tempcost = (current_loan * 5 * current_interest) >> 14; // (5 * interest) / 2^14 is pretty close to - if (gParkFlags & PARK_FLAGS_NO_MONEY) - return; + if (gParkFlags & PARK_FLAGS_NO_MONEY) + return; - finance_payment(tempcost, RCT_EXPENDITURE_TYPE_INTEREST); + finance_payment(tempcost, RCT_EXPENDITURE_TYPE_INTEREST); } /** @@ -141,37 +141,37 @@ void finance_pay_interest() */ void finance_pay_ride_upkeep() { - sint32 i; - rct_ride* ride; + sint32 i; + rct_ride* ride; - FOR_ALL_RIDES(i, ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_EVER_BEEN_OPENED)) { - ride->build_date = gDateMonthsElapsed; - ride->reliability = RIDE_INITIAL_RELIABILITY; - } + FOR_ALL_RIDES(i, ride) { + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_EVER_BEEN_OPENED)) { + ride->build_date = gDateMonthsElapsed; + ride->reliability = RIDE_INITIAL_RELIABILITY; + } - if (ride->status != RIDE_STATUS_CLOSED && !(gParkFlags & PARK_FLAGS_NO_MONEY)) { - sint16 upkeep = ride->upkeep_cost; - if (upkeep != -1) { - ride->total_profit -= upkeep; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - finance_payment(upkeep, RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS); - } - } + if (ride->status != RIDE_STATUS_CLOSED && !(gParkFlags & PARK_FLAGS_NO_MONEY)) { + sint16 upkeep = ride->upkeep_cost; + if (upkeep != -1) { + ride->total_profit -= upkeep; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + finance_payment(upkeep, RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS); + } + } - if (ride->last_crash_type != RIDE_CRASH_TYPE_NONE) { - ride->last_crash_type--; - } - } + if (ride->last_crash_type != RIDE_CRASH_TYPE_NONE) { + ride->last_crash_type--; + } + } } void finance_reset_history() { - for (sint32 i = 0; i < 128; i++) { - gCashHistory[i] = MONEY32_UNDEFINED; - gWeeklyProfitHistory[i] = MONEY32_UNDEFINED; - gParkValueHistory[i] = MONEY32_UNDEFINED; - } + for (sint32 i = 0; i < 128; i++) { + gCashHistory[i] = MONEY32_UNDEFINED; + gWeeklyProfitHistory[i] = MONEY32_UNDEFINED; + gParkValueHistory[i] = MONEY32_UNDEFINED; + } } /** @@ -180,32 +180,32 @@ void finance_reset_history() */ void finance_init() { - // It only initialises the first month - for (uint32 i = 0; i < RCT_EXPENDITURE_TYPE_COUNT; i++) { - gExpenditureTable[i] = 0; - } + // It only initialises the first month + for (uint32 i = 0; i < RCT_EXPENDITURE_TYPE_COUNT; i++) { + gExpenditureTable[i] = 0; + } - gCurrentExpenditure = 0; - gCurrentProfit = 0; + gCurrentExpenditure = 0; + gCurrentProfit = 0; - gWeeklyProfitAverageDividend = 0; - gWeeklyProfitAverageDivisor = 0; + gWeeklyProfitAverageDividend = 0; + gWeeklyProfitAverageDivisor = 0; - gInitialCash = MONEY(10000,00); // Cheat detection + gInitialCash = MONEY(10000,00); // Cheat detection - gCashEncrypted = ENCRYPT_MONEY(MONEY(10000,00)); - gBankLoan = MONEY(10000,00); - gMaxBankLoan = MONEY(20000,00); + gCashEncrypted = ENCRYPT_MONEY(MONEY(10000,00)); + gBankLoan = MONEY(10000,00); + gMaxBankLoan = MONEY(20000,00); - gHistoricalProfit = 0; + gHistoricalProfit = 0; - gBankLoanInterestRate = 10; - gParkValue = 0; - gCompanyValue = 0; - gScenarioCompletedCompanyValue = MONEY32_UNDEFINED; - gTotalAdmissions = 0; - gTotalIncomeFromAdmissions = 0; - safe_strcpy(gScenarioCompletedBy, "?", sizeof(gScenarioCompletedBy)); + gBankLoanInterestRate = 10; + gParkValue = 0; + gCompanyValue = 0; + gScenarioCompletedCompanyValue = MONEY32_UNDEFINED; + gTotalAdmissions = 0; + gTotalIncomeFromAdmissions = 0; + safe_strcpy(gScenarioCompletedBy, "?", sizeof(gScenarioCompletedBy)); } /** @@ -214,74 +214,74 @@ void finance_init() { */ void finance_update_daily_profit() { - gCurrentProfit = 7 * gCurrentExpenditure; - gCurrentExpenditure = 0; // Reset daily expenditure + gCurrentProfit = 7 * gCurrentExpenditure; + gCurrentExpenditure = 0; // Reset daily expenditure - money32 current_profit = 0; + money32 current_profit = 0; - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) - { - // Staff costs - uint16 sprite_index; - rct_peep *peep; + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) + { + // Staff costs + uint16 sprite_index; + rct_peep *peep; - FOR_ALL_STAFF(sprite_index, peep) { - current_profit -= wage_table[peep->staff_type]; - } + FOR_ALL_STAFF(sprite_index, peep) { + current_profit -= wage_table[peep->staff_type]; + } - // Research costs - uint8 level = gResearchFundingLevel; - current_profit -= research_cost_table[level]; + // Research costs + uint8 level = gResearchFundingLevel; + current_profit -= research_cost_table[level]; - // Loan costs - money32 current_loan = gBankLoan; - current_profit -= current_loan / 600; + // Loan costs + money32 current_loan = gBankLoan; + current_profit -= current_loan / 600; - // Ride costs - rct_ride *ride; - sint32 i; - FOR_ALL_RIDES(i, ride) { - if (ride->status != RIDE_STATUS_CLOSED && ride->upkeep_cost != -1) { - current_profit -= 2 * ride->upkeep_cost; - } - } - } + // Ride costs + rct_ride *ride; + sint32 i; + FOR_ALL_RIDES(i, ride) { + if (ride->status != RIDE_STATUS_CLOSED && ride->upkeep_cost != -1) { + current_profit -= 2 * ride->upkeep_cost; + } + } + } - // This is not equivalent to / 4 due to rounding of negative numbers - current_profit = current_profit >> 2; + // This is not equivalent to / 4 due to rounding of negative numbers + current_profit = current_profit >> 2; - gCurrentProfit += current_profit; + gCurrentProfit += current_profit; - // These are related to weekly profit graph - gWeeklyProfitAverageDividend += gCurrentProfit; - gWeeklyProfitAverageDivisor += 1; + // These are related to weekly profit graph + gWeeklyProfitAverageDividend += gCurrentProfit; + gWeeklyProfitAverageDivisor += 1; - window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_FINANCES); } void finance_set_loan(money32 loan) { - game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, loan, GAME_COMMAND_SET_CURRENT_LOAN, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, loan, GAME_COMMAND_SET_CURRENT_LOAN, 0, 0); } money32 finance_get_initial_cash() { - return gInitialCash; + return gInitialCash; } money32 finance_get_current_loan() { - return gBankLoan; + return gBankLoan; } money32 finance_get_maximum_loan() { - return gMaxBankLoan; + return gMaxBankLoan; } money32 finance_get_current_cash() { - return DECRYPT_MONEY(gCashEncrypted); + return DECRYPT_MONEY(gCashEncrypted); } /** @@ -290,39 +290,39 @@ money32 finance_get_current_cash() */ void game_command_set_current_loan(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - money32 money, loanDifference, currentLoan; - money32 newLoan = *edx; + money32 money, loanDifference, currentLoan; + money32 newLoan = *edx; - currentLoan = gBankLoan; - money = DECRYPT_MONEY(gCashEncrypted); - loanDifference = currentLoan - newLoan; + currentLoan = gBankLoan; + money = DECRYPT_MONEY(gCashEncrypted); + loanDifference = currentLoan - newLoan; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_INTEREST; - if (newLoan > currentLoan) { - if (newLoan > gMaxBankLoan) { - gGameCommandErrorText = STR_BANK_REFUSES_TO_INCREASE_LOAN; - *ebx = MONEY32_UNDEFINED; - return; - } - } else { - if (loanDifference > money) { - gGameCommandErrorText = STR_NOT_ENOUGH_CASH_AVAILABLE; - *ebx = MONEY32_UNDEFINED; - return; - } - } + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_INTEREST; + if (newLoan > currentLoan) { + if (newLoan > gMaxBankLoan) { + gGameCommandErrorText = STR_BANK_REFUSES_TO_INCREASE_LOAN; + *ebx = MONEY32_UNDEFINED; + return; + } + } else { + if (loanDifference > money) { + gGameCommandErrorText = STR_NOT_ENOUGH_CASH_AVAILABLE; + *ebx = MONEY32_UNDEFINED; + return; + } + } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - money -= loanDifference; - gBankLoan = newLoan; - gInitialCash = money; - gCashEncrypted = ENCRYPT_MONEY(money); + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + money -= loanDifference; + gBankLoan = newLoan; + gInitialCash = money; + gCashEncrypted = ENCRYPT_MONEY(money); - window_invalidate_by_class(WC_FINANCES); - gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_MONEY; - } + window_invalidate_by_class(WC_FINANCES); + gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_MONEY; + } - *ebx = 0; + *ebx = 0; } /** @@ -332,26 +332,26 @@ void game_command_set_current_loan(sint32* eax, sint32* ebx, sint32* ecx, sint32 */ void finance_shift_expenditure_table() { - // If EXPENDITURE_TABLE_MONTH_COUNT months have passed then is full, sum the oldest month - if (gDateMonthsElapsed >= EXPENDITURE_TABLE_MONTH_COUNT) { - money32 sum = 0; - for (uint32 i = EXPENDITURE_TABLE_TOTAL_COUNT - RCT_EXPENDITURE_TYPE_COUNT; i < EXPENDITURE_TABLE_TOTAL_COUNT; i++) { - sum += gExpenditureTable[i]; - } - gHistoricalProfit += sum; - } + // If EXPENDITURE_TABLE_MONTH_COUNT months have passed then is full, sum the oldest month + if (gDateMonthsElapsed >= EXPENDITURE_TABLE_MONTH_COUNT) { + money32 sum = 0; + for (uint32 i = EXPENDITURE_TABLE_TOTAL_COUNT - RCT_EXPENDITURE_TYPE_COUNT; i < EXPENDITURE_TABLE_TOTAL_COUNT; i++) { + sum += gExpenditureTable[i]; + } + gHistoricalProfit += sum; + } - // Shift the table - for (uint32 i = EXPENDITURE_TABLE_TOTAL_COUNT - 1; i >= RCT_EXPENDITURE_TYPE_COUNT; i--) { - gExpenditureTable[i] = gExpenditureTable[i - RCT_EXPENDITURE_TYPE_COUNT]; - } + // Shift the table + for (uint32 i = EXPENDITURE_TABLE_TOTAL_COUNT - 1; i >= RCT_EXPENDITURE_TYPE_COUNT; i--) { + gExpenditureTable[i] = gExpenditureTable[i - RCT_EXPENDITURE_TYPE_COUNT]; + } - // Zero the beginning of the table, which is the new month - for (uint32 i = 0; i < RCT_EXPENDITURE_TYPE_COUNT; i++) { - gExpenditureTable[i] = 0; - } + // Zero the beginning of the table, which is the new month + for (uint32 i = 0; i < RCT_EXPENDITURE_TYPE_COUNT; i++) { + gExpenditureTable[i] = 0; + } - window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_FINANCES); } /** @@ -360,7 +360,7 @@ void finance_shift_expenditure_table() */ void finance_reset_cash_to_initial() { - gCashEncrypted = ENCRYPT_MONEY(gInitialCash); + gCashEncrypted = ENCRYPT_MONEY(gInitialCash); } /** @@ -368,13 +368,13 @@ void finance_reset_cash_to_initial() */ money32 finance_get_last_month_shop_profit() { - money32 profit = 0; - if (gDateMonthsElapsed != 0) { - money32 * lastMonthExpenditure = &gExpenditureTable[1 * RCT_EXPENDITURE_TYPE_COUNT]; - profit += lastMonthExpenditure[RCT_EXPENDITURE_TYPE_SHOP_SHOP_SALES]; - profit += lastMonthExpenditure[RCT_EXPENDITURE_TYPE_SHOP_STOCK]; - profit += lastMonthExpenditure[RCT_EXPENDITURE_TYPE_FOODDRINK_SALES]; - profit += lastMonthExpenditure[RCT_EXPENDITURE_TYPE_FOODDRINK_STOCK]; - } - return profit; + money32 profit = 0; + if (gDateMonthsElapsed != 0) { + money32 * lastMonthExpenditure = &gExpenditureTable[1 * RCT_EXPENDITURE_TYPE_COUNT]; + profit += lastMonthExpenditure[RCT_EXPENDITURE_TYPE_SHOP_SHOP_SALES]; + profit += lastMonthExpenditure[RCT_EXPENDITURE_TYPE_SHOP_STOCK]; + profit += lastMonthExpenditure[RCT_EXPENDITURE_TYPE_FOODDRINK_SALES]; + profit += lastMonthExpenditure[RCT_EXPENDITURE_TYPE_FOODDRINK_STOCK]; + } + return profit; } diff --git a/src/openrct2/management/finance.h b/src/openrct2/management/finance.h index f846199dac..c9dba0c5a5 100644 --- a/src/openrct2/management/finance.h +++ b/src/openrct2/management/finance.h @@ -22,21 +22,21 @@ typedef sint32 rct_expenditure_type; enum { - RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION, - RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS, - RCT_EXPENDITURE_TYPE_LAND_PURCHASE, - RCT_EXPENDITURE_TYPE_LANDSCAPING, - RCT_EXPENDITURE_TYPE_PARK_ENTRANCE_TICKETS, - RCT_EXPENDITURE_TYPE_PARK_RIDE_TICKETS, - RCT_EXPENDITURE_TYPE_SHOP_SHOP_SALES, - RCT_EXPENDITURE_TYPE_SHOP_STOCK, - RCT_EXPENDITURE_TYPE_FOODDRINK_SALES, - RCT_EXPENDITURE_TYPE_FOODDRINK_STOCK, - RCT_EXPENDITURE_TYPE_WAGES, - RCT_EXPENDITURE_TYPE_MARKETING, - RCT_EXPENDITURE_TYPE_RESEARCH, - RCT_EXPENDITURE_TYPE_INTEREST, - RCT_EXPENDITURE_TYPE_COUNT + RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION, + RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS, + RCT_EXPENDITURE_TYPE_LAND_PURCHASE, + RCT_EXPENDITURE_TYPE_LANDSCAPING, + RCT_EXPENDITURE_TYPE_PARK_ENTRANCE_TICKETS, + RCT_EXPENDITURE_TYPE_PARK_RIDE_TICKETS, + RCT_EXPENDITURE_TYPE_SHOP_SHOP_SALES, + RCT_EXPENDITURE_TYPE_SHOP_STOCK, + RCT_EXPENDITURE_TYPE_FOODDRINK_SALES, + RCT_EXPENDITURE_TYPE_FOODDRINK_STOCK, + RCT_EXPENDITURE_TYPE_WAGES, + RCT_EXPENDITURE_TYPE_MARKETING, + RCT_EXPENDITURE_TYPE_RESEARCH, + RCT_EXPENDITURE_TYPE_INTEREST, + RCT_EXPENDITURE_TYPE_COUNT }; #define EXPENDITURE_TABLE_MONTH_COUNT 16 diff --git a/src/openrct2/management/marketing.c b/src/openrct2/management/marketing.c index a03d560241..eec32109e5 100644 --- a/src/openrct2/management/marketing.c +++ b/src/openrct2/management/marketing.c @@ -26,12 +26,12 @@ #include "news_item.h" const money16 AdvertisingCampaignPricePerWeek[] = { - MONEY(50,00), // PARK_ENTRY_FREE - MONEY(50,00), // RIDE_FREE - MONEY(50,00), // PARK_ENTRY_HALF_PRICE - MONEY(50,00), // FOOD_OR_DRINK_FREE - MONEY(350,00), // PARK - MONEY(200,00) // RIDE + MONEY(50,00), // PARK_ENTRY_FREE + MONEY(50,00), // RIDE_FREE + MONEY(50,00), // PARK_ENTRY_HALF_PRICE + MONEY(50,00), // FOOD_OR_DRINK_FREE + MONEY(350,00), // PARK + MONEY(200,00) // RIDE }; static const sint32 AdvertisingCampaignGuestGenerationProbabilities[] = { 400, 300, 200, 200, 250, 200 }; @@ -41,27 +41,27 @@ uint8 gMarketingCampaignRideIndex[22]; sint32 marketing_get_campaign_guest_generation_probability(sint32 campaign) { - sint32 probability = AdvertisingCampaignGuestGenerationProbabilities[campaign]; - rct_ride *ride; + sint32 probability = AdvertisingCampaignGuestGenerationProbabilities[campaign]; + rct_ride *ride; - // Lower probability of guest generation if price was already low - switch (campaign) { - case ADVERTISING_CAMPAIGN_PARK_ENTRY_FREE: - if (park_get_entrance_fee() < 4) - probability /= 8; - break; - case ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE: - if (park_get_entrance_fee() < 6) - probability /= 8; - break; - case ADVERTISING_CAMPAIGN_RIDE_FREE: - ride = get_ride(gMarketingCampaignRideIndex[campaign]); - if (ride->price < 3) - probability /= 8; - break; - } + // Lower probability of guest generation if price was already low + switch (campaign) { + case ADVERTISING_CAMPAIGN_PARK_ENTRY_FREE: + if (park_get_entrance_fee() < 4) + probability /= 8; + break; + case ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE: + if (park_get_entrance_fee() < 6) + probability /= 8; + break; + case ADVERTISING_CAMPAIGN_RIDE_FREE: + ride = get_ride(gMarketingCampaignRideIndex[campaign]); + if (ride->price < 3) + probability /= 8; + break; + } - return probability; + return probability; } /** @@ -70,87 +70,87 @@ sint32 marketing_get_campaign_guest_generation_probability(sint32 campaign) */ void marketing_update() { - for (sint32 campaign = 0; campaign < ADVERTISING_CAMPAIGN_COUNT; campaign++) { - if (gCheatsNeverendingMarketing) - continue; + for (sint32 campaign = 0; campaign < ADVERTISING_CAMPAIGN_COUNT; campaign++) { + if (gCheatsNeverendingMarketing) + continue; - sint32 active = (gMarketingCampaignDaysLeft[campaign] & CAMPAIGN_ACTIVE_FLAG) != 0; - if (gMarketingCampaignDaysLeft[campaign] == 0) - continue; + sint32 active = (gMarketingCampaignDaysLeft[campaign] & CAMPAIGN_ACTIVE_FLAG) != 0; + if (gMarketingCampaignDaysLeft[campaign] == 0) + continue; - window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_FINANCES); - // High bit marks the campaign as inactive, on first check the campaign is set active - // this makes campaigns run a full x weeks even when started in the middle of a week - gMarketingCampaignDaysLeft[campaign] &= ~CAMPAIGN_ACTIVE_FLAG; - if (active) - continue; + // High bit marks the campaign as inactive, on first check the campaign is set active + // this makes campaigns run a full x weeks even when started in the middle of a week + gMarketingCampaignDaysLeft[campaign] &= ~CAMPAIGN_ACTIVE_FLAG; + if (active) + continue; - if (--gMarketingCampaignDaysLeft[campaign] != 0) - continue; + if (--gMarketingCampaignDaysLeft[campaign] != 0) + continue; - sint32 campaignItem = gMarketingCampaignRideIndex[campaign]; + sint32 campaignItem = gMarketingCampaignRideIndex[campaign]; - // This sets the string parameters for the marketing types that have an argument. - if (campaign == ADVERTISING_CAMPAIGN_RIDE_FREE || campaign == ADVERTISING_CAMPAIGN_RIDE) { - rct_ride* ride = get_ride(campaignItem); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); - } else if (campaign == ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE) { - set_format_arg(0, rct_string_id, ShopItemStringIds[campaignItem].plural); - } + // This sets the string parameters for the marketing types that have an argument. + if (campaign == ADVERTISING_CAMPAIGN_RIDE_FREE || campaign == ADVERTISING_CAMPAIGN_RIDE) { + rct_ride* ride = get_ride(campaignItem); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); + } else if (campaign == ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE) { + set_format_arg(0, rct_string_id, ShopItemStringIds[campaignItem].plural); + } - if (gConfigNotifications.park_marketing_campaign_finished) { - news_item_add_to_queue(NEWS_ITEM_MONEY, MarketingCampaignNames[campaign][2], 0); - } - } + if (gConfigNotifications.park_marketing_campaign_finished) { + news_item_add_to_queue(NEWS_ITEM_MONEY, MarketingCampaignNames[campaign][2], 0); + } + } } void marketing_set_guest_campaign(rct_peep *peep, sint32 campaign) { - switch (campaign) { - case ADVERTISING_CAMPAIGN_PARK_ENTRY_FREE: - peep->item_standard_flags |= PEEP_ITEM_VOUCHER; - peep->voucher_type = VOUCHER_TYPE_PARK_ENTRY_FREE; - break; - case ADVERTISING_CAMPAIGN_RIDE_FREE: - peep->item_standard_flags |= PEEP_ITEM_VOUCHER; - peep->voucher_type = VOUCHER_TYPE_RIDE_FREE; - peep->voucher_arguments = gMarketingCampaignRideIndex[campaign]; - peep->guest_heading_to_ride_id = gMarketingCampaignRideIndex[campaign]; - peep->peep_is_lost_countdown = 240; - break; - case ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE: - peep->item_standard_flags |= PEEP_ITEM_VOUCHER; - peep->voucher_type = VOUCHER_TYPE_PARK_ENTRY_HALF_PRICE; - break; - case ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE: - peep->item_standard_flags |= PEEP_ITEM_VOUCHER; - peep->voucher_type = VOUCHER_TYPE_FOOD_OR_DRINK_FREE; - peep->voucher_arguments = gMarketingCampaignRideIndex[campaign]; - break; - case ADVERTISING_CAMPAIGN_PARK: - break; - case ADVERTISING_CAMPAIGN_RIDE: - peep->guest_heading_to_ride_id = gMarketingCampaignRideIndex[campaign]; - peep->peep_is_lost_countdown = 240; - break; - } + switch (campaign) { + case ADVERTISING_CAMPAIGN_PARK_ENTRY_FREE: + peep->item_standard_flags |= PEEP_ITEM_VOUCHER; + peep->voucher_type = VOUCHER_TYPE_PARK_ENTRY_FREE; + break; + case ADVERTISING_CAMPAIGN_RIDE_FREE: + peep->item_standard_flags |= PEEP_ITEM_VOUCHER; + peep->voucher_type = VOUCHER_TYPE_RIDE_FREE; + peep->voucher_arguments = gMarketingCampaignRideIndex[campaign]; + peep->guest_heading_to_ride_id = gMarketingCampaignRideIndex[campaign]; + peep->peep_is_lost_countdown = 240; + break; + case ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE: + peep->item_standard_flags |= PEEP_ITEM_VOUCHER; + peep->voucher_type = VOUCHER_TYPE_PARK_ENTRY_HALF_PRICE; + break; + case ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE: + peep->item_standard_flags |= PEEP_ITEM_VOUCHER; + peep->voucher_type = VOUCHER_TYPE_FOOD_OR_DRINK_FREE; + peep->voucher_arguments = gMarketingCampaignRideIndex[campaign]; + break; + case ADVERTISING_CAMPAIGN_PARK: + break; + case ADVERTISING_CAMPAIGN_RIDE: + peep->guest_heading_to_ride_id = gMarketingCampaignRideIndex[campaign]; + peep->peep_is_lost_countdown = 240; + break; + } } void game_command_callback_marketing_start_campaign(sint32 eax, sint32 ebx, sint32 ecx, sint32 edx, sint32 esi, sint32 edi, sint32 ebp) { - if (ebx != MONEY32_UNDEFINED) - { - window_close_by_class(WC_NEW_CAMPAIGN); - } + if (ebx != MONEY32_UNDEFINED) + { + window_close_by_class(WC_NEW_CAMPAIGN); + } } void marketing_start_campaign(sint32 type, sint32 rideOrItem, sint32 numWeeks) { - gGameCommandErrorTitle = STR_CANT_START_MARKETING_CAMPAIGN; - game_command_callback = game_command_callback_marketing_start_campaign; - game_do_command(0, (numWeeks << 8) | GAME_COMMAND_FLAG_APPLY, 0, (rideOrItem << 8) | type, GAME_COMMAND_START_MARKETING_CAMPAIGN, 0, 0); + gGameCommandErrorTitle = STR_CANT_START_MARKETING_CAMPAIGN; + game_command_callback = game_command_callback_marketing_start_campaign; + game_do_command(0, (numWeeks << 8) | GAME_COMMAND_FLAG_APPLY, 0, (rideOrItem << 8) | type, GAME_COMMAND_START_MARKETING_CAMPAIGN, 0, 0); } /** @@ -159,78 +159,78 @@ void marketing_start_campaign(sint32 type, sint32 rideOrItem, sint32 numWeeks) */ void game_command_start_campaign(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - sint32 type = *edx & 0xFF; - sint32 rideOrItem = (*edx >> 8) & 0xFF; - sint32 numWeeks = (*ebx >> 8) & 0xFF; + sint32 type = *edx & 0xFF; + sint32 rideOrItem = (*edx >> 8) & 0xFF; + sint32 numWeeks = (*ebx >> 8) & 0xFF; - if (type < 0 || type >= countof(AdvertisingCampaignPricePerWeek)) - { - log_warning("Invalid game command, type = %d", type); - *ebx = MONEY32_UNDEFINED; - return; - } + if (type < 0 || type >= countof(AdvertisingCampaignPricePerWeek)) + { + log_warning("Invalid game command, type = %d", type); + *ebx = MONEY32_UNDEFINED; + return; + } - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_MARKETING; - if (gParkFlags & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN) { - gGameCommandErrorText = STR_MARKETING_CAMPAIGNS_FORBIDDEN_BY_LOCAL_AUTHORITY; - *ebx = MONEY32_UNDEFINED; - return; - } + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_MARKETING; + if (gParkFlags & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN) { + gGameCommandErrorText = STR_MARKETING_CAMPAIGNS_FORBIDDEN_BY_LOCAL_AUTHORITY; + *ebx = MONEY32_UNDEFINED; + return; + } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - gMarketingCampaignDaysLeft[type] = numWeeks | CAMPAIGN_ACTIVE_FLAG; - gMarketingCampaignRideIndex[type] = rideOrItem; + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + gMarketingCampaignDaysLeft[type] = numWeeks | CAMPAIGN_ACTIVE_FLAG; + gMarketingCampaignRideIndex[type] = rideOrItem; - window_invalidate_by_class(WC_FINANCES); - } + window_invalidate_by_class(WC_FINANCES); + } - *ebx = numWeeks * AdvertisingCampaignPricePerWeek[type]; + *ebx = numWeeks * AdvertisingCampaignPricePerWeek[type]; } bool marketing_is_campaign_type_applicable(sint32 campaignType) { - sint32 i; - rct_ride *ride; - rct_ride_entry *rideEntry; + sint32 i; + rct_ride *ride; + rct_ride_entry *rideEntry; - switch (campaignType) { - case ADVERTISING_CAMPAIGN_PARK_ENTRY_FREE: - case ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE: - if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) - return false; - return true; + switch (campaignType) { + case ADVERTISING_CAMPAIGN_PARK_ENTRY_FREE: + case ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE: + if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) + return false; + return true; - case ADVERTISING_CAMPAIGN_RIDE_FREE: - if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) - return false; + case ADVERTISING_CAMPAIGN_RIDE_FREE: + if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) + return false; - // fall-through - case ADVERTISING_CAMPAIGN_RIDE: - // Check if any rides exist - FOR_ALL_RIDES(i, ride) { - if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { - return true; - } - } - return false; + // fall-through + case ADVERTISING_CAMPAIGN_RIDE: + // Check if any rides exist + FOR_ALL_RIDES(i, ride) { + if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { + return true; + } + } + return false; - case ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE: - // Check if any food or drink stalls exist - FOR_ALL_RIDES(i, ride) { - rideEntry = get_ride_entry(ride->subtype); - if (rideEntry == NULL) { - continue; - } - if ( - shop_item_is_food_or_drink(rideEntry->shop_item) || - shop_item_is_food_or_drink(rideEntry->shop_item_secondary) - ) { - return true; - } - } - return false; + case ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE: + // Check if any food or drink stalls exist + FOR_ALL_RIDES(i, ride) { + rideEntry = get_ride_entry(ride->subtype); + if (rideEntry == NULL) { + continue; + } + if ( + shop_item_is_food_or_drink(rideEntry->shop_item) || + shop_item_is_food_or_drink(rideEntry->shop_item_secondary) + ) { + return true; + } + } + return false; - default: - return true; - } + default: + return true; + } } diff --git a/src/openrct2/management/marketing.h b/src/openrct2/management/marketing.h index 6a30b08131..4556cdb6b0 100644 --- a/src/openrct2/management/marketing.h +++ b/src/openrct2/management/marketing.h @@ -22,20 +22,20 @@ #include "../peep/peep.h" enum { - ADVERTISING_CAMPAIGN_PARK_ENTRY_FREE, - ADVERTISING_CAMPAIGN_RIDE_FREE, - ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE, - ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE, - ADVERTISING_CAMPAIGN_PARK, - ADVERTISING_CAMPAIGN_RIDE, - ADVERTISING_CAMPAIGN_COUNT + ADVERTISING_CAMPAIGN_PARK_ENTRY_FREE, + ADVERTISING_CAMPAIGN_RIDE_FREE, + ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE, + ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE, + ADVERTISING_CAMPAIGN_PARK, + ADVERTISING_CAMPAIGN_RIDE, + ADVERTISING_CAMPAIGN_COUNT }; enum{ - VOUCHER_TYPE_PARK_ENTRY_FREE, - VOUCHER_TYPE_RIDE_FREE, - VOUCHER_TYPE_PARK_ENTRY_HALF_PRICE, - VOUCHER_TYPE_FOOD_OR_DRINK_FREE, + VOUCHER_TYPE_PARK_ENTRY_FREE, + VOUCHER_TYPE_RIDE_FREE, + VOUCHER_TYPE_PARK_ENTRY_HALF_PRICE, + VOUCHER_TYPE_FOOD_OR_DRINK_FREE, }; #define CAMPAIGN_ACTIVE_FLAG (1 << 7) diff --git a/src/openrct2/management/news_item.c b/src/openrct2/management/news_item.c index 27a371ea1a..cd86e7126a 100644 --- a/src/openrct2/management/news_item.c +++ b/src/openrct2/management/news_item.c @@ -29,47 +29,47 @@ NewsItem gNewsItems[MAX_NEWS_ITEMS]; /** rct2: 0x0097BE7C */ -const uint8 news_type_properties[] = { - 0, // NEWS_ITEM_NULL - NEWS_TYPE_HAS_LOCATION | NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_RIDE - NEWS_TYPE_HAS_LOCATION | NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_PEEP_ON_RIDE - NEWS_TYPE_HAS_LOCATION | NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_PEEP - NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_MONEY - NEWS_TYPE_HAS_LOCATION, // NEWS_ITEM_BLANK - NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_RESEARCH - NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_PEEPS - NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_AWARD - NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_GRAPH +const uint8 news_type_properties[] = { + 0, // NEWS_ITEM_NULL + NEWS_TYPE_HAS_LOCATION | NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_RIDE + NEWS_TYPE_HAS_LOCATION | NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_PEEP_ON_RIDE + NEWS_TYPE_HAS_LOCATION | NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_PEEP + NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_MONEY + NEWS_TYPE_HAS_LOCATION, // NEWS_ITEM_BLANK + NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_RESEARCH + NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_PEEPS + NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_AWARD + NEWS_TYPE_HAS_SUBJECT, // NEWS_ITEM_GRAPH }; static sint32 news_item_get_new_history_slot(); bool news_item_is_valid_idx(sint32 index) { - if (index >= MAX_NEWS_ITEMS) { - log_error("Tried to get news item past MAX_NEWS."); - return false; - } - return true; + if (index >= MAX_NEWS_ITEMS) { + log_error("Tried to get news item past MAX_NEWS."); + return false; + } + return true; } NewsItem *news_item_get(sint32 index) { - if (news_item_is_valid_idx(index)) { - return &gNewsItems[index]; - } else { - return NULL; - } + if (news_item_is_valid_idx(index)) { + return &gNewsItems[index]; + } else { + return NULL; + } } bool news_item_is_empty(sint32 index) { - return news_item_get(index)->Type == NEWS_ITEM_NULL; + return news_item_get(index)->Type == NEWS_ITEM_NULL; } bool news_item_is_queue_empty() { - return news_item_is_empty(0); + return news_item_is_empty(0); } /** @@ -78,43 +78,43 @@ bool news_item_is_queue_empty() */ void news_item_init_queue() { - sint32 i; + sint32 i; - news_item_get(0)->Type = NEWS_ITEM_NULL; - news_item_get(11)->Type = NEWS_ITEM_NULL; + news_item_get(0)->Type = NEWS_ITEM_NULL; + news_item_get(11)->Type = NEWS_ITEM_NULL; - // Throttles for warning types (PEEP_*_WARNING) - for (i = 0; i < 16; i++) { - gPeepWarningThrottle[i] = 0; - } + // Throttles for warning types (PEEP_*_WARNING) + for (i = 0; i < 16; i++) { + gPeepWarningThrottle[i] = 0; + } - window_game_bottom_toolbar_invalidate_news_item(); + window_game_bottom_toolbar_invalidate_news_item(); } static void news_item_tick_current() { - sint32 ticks; - ticks = ++news_item_get(0)->Ticks; - // Only play news item sound when in normal playing mode - if (ticks == 1 && (gScreenFlags == SCREEN_FLAGS_PLAYING)) { - // Play sound - audio_play_sound(SOUND_NEWS_ITEM, 0, context_get_width() / 2); - } + sint32 ticks; + ticks = ++news_item_get(0)->Ticks; + // Only play news item sound when in normal playing mode + if (ticks == 1 && (gScreenFlags == SCREEN_FLAGS_PLAYING)) { + // Play sound + audio_play_sound(SOUND_NEWS_ITEM, 0, context_get_width() / 2); + } } static bool news_item_is_current_old() { - sint32 remove_time = 320; - if (!news_item_is_empty(5) && - !news_item_is_empty(4) && - !news_item_is_empty(3) && - !news_item_is_empty(2)) - remove_time = 256; + sint32 remove_time = 320; + if (!news_item_is_empty(5) && + !news_item_is_empty(4) && + !news_item_is_empty(3) && + !news_item_is_empty(2)) + remove_time = 256; - if (news_item_get(0)->Ticks >= remove_time) - return true; + if (news_item_get(0)->Ticks >= remove_time) + return true; - return false; + return false; } /** @@ -123,18 +123,18 @@ static bool news_item_is_current_old() */ void news_item_update_current() { - // Check if there is a current news item - if (news_item_is_queue_empty()) - return; + // Check if there is a current news item + if (news_item_is_queue_empty()) + return; - window_game_bottom_toolbar_invalidate_news_item(); + window_game_bottom_toolbar_invalidate_news_item(); - // Update the current news item - news_item_tick_current(); + // Update the current news item + news_item_tick_current(); - // Removal of current news item - if (news_item_is_current_old()) - news_item_close_current(); + // Removal of current news item + if (news_item_is_current_old()) + news_item_close_current(); } /** @@ -143,41 +143,41 @@ void news_item_update_current() */ void news_item_close_current() { - sint32 i; - NewsItem *newsItems = gNewsItems; + sint32 i; + NewsItem *newsItems = gNewsItems; - // Check if there is a current message - if (news_item_is_queue_empty()) - return; + // Check if there is a current message + if (news_item_is_queue_empty()) + return; - // Find an available history news item slot for current message - i = news_item_get_new_history_slot(); + // Find an available history news item slot for current message + i = news_item_get_new_history_slot(); - // Set the history news item slot to the current news item - newsItems[i] = newsItems[0]; + // Set the history news item slot to the current news item + newsItems[i] = newsItems[0]; - // Set the end of the end of the history list - if (i < MAX_NEWS_ITEMS - 1) - newsItems[i + 1].Type = NEWS_ITEM_NULL; + // Set the end of the end of the history list + if (i < MAX_NEWS_ITEMS - 1) + newsItems[i + 1].Type = NEWS_ITEM_NULL; - // Invalidate the news window - window_invalidate_by_class(WC_RECENT_NEWS); + // Invalidate the news window + window_invalidate_by_class(WC_RECENT_NEWS); - // Dequeue the current news item, shift news up - for (i = 0; i < 10; i++) - newsItems[i] = newsItems[i + 1]; - newsItems[10].Type = NEWS_ITEM_NULL; + // Dequeue the current news item, shift news up + for (i = 0; i < 10; i++) + newsItems[i] = newsItems[i + 1]; + newsItems[10].Type = NEWS_ITEM_NULL; - // Invalidate current news item bar - window_game_bottom_toolbar_invalidate_news_item(); + // Invalidate current news item bar + window_game_bottom_toolbar_invalidate_news_item(); } static void news_item_shift_history_up() { - const sint32 history_idx = 11; - NewsItem *history_start = news_item_get(history_idx); - const size_t count = sizeof(NewsItem) * (MAX_NEWS_ITEMS - 1 - history_idx); - memmove(history_start, history_start + 1, count); + const sint32 history_idx = 11; + NewsItem *history_start = news_item_get(history_idx); + const size_t count = sizeof(NewsItem) * (MAX_NEWS_ITEMS - 1 - history_idx); + memmove(history_start, history_start + 1, count); } @@ -187,16 +187,16 @@ static void news_item_shift_history_up() */ static sint32 news_item_get_new_history_slot() { - sint32 i; + sint32 i; - // Find an available history news item slot - for (i = 11; i < MAX_NEWS_ITEMS; i++) - if (news_item_is_empty(i)) - return i; + // Find an available history news item slot + for (i = 11; i < MAX_NEWS_ITEMS; i++) + if (news_item_is_empty(i)) + return i; - // Dequeue the first history news item, shift history up - news_item_shift_history_up(); - return MAX_NEWS_ITEMS - 1; + // Dequeue the first history news item, shift history up + news_item_shift_history_up(); + return MAX_NEWS_ITEMS - 1; } /** @@ -207,66 +207,66 @@ static sint32 news_item_get_new_history_slot() */ void news_item_get_subject_location(sint32 type, sint32 subject, sint32 *x, sint32 *y, sint32 *z) { - sint32 i; - rct_ride *ride; - rct_peep *peep; - rct_vehicle *vehicle; + sint32 i; + rct_ride *ride; + rct_peep *peep; + rct_vehicle *vehicle; - switch (type) { - case NEWS_ITEM_RIDE: - ride = get_ride(subject); - if (ride->overall_view == 0xFFFF) { - *x = SPRITE_LOCATION_NULL; - break; - } - *x = (ride->overall_view & 0xFF) * 32 + 16; - *y = (ride->overall_view >> 8) * 32 + 16; - *z = map_element_height(*x, *y); - break; - case NEWS_ITEM_PEEP_ON_RIDE: - peep = GET_PEEP(subject); - *x = peep->x; - *y = peep->y; - *z = peep->z; - if (*x != SPRITE_LOCATION_NULL) - break; + switch (type) { + case NEWS_ITEM_RIDE: + ride = get_ride(subject); + if (ride->overall_view == 0xFFFF) { + *x = SPRITE_LOCATION_NULL; + break; + } + *x = (ride->overall_view & 0xFF) * 32 + 16; + *y = (ride->overall_view >> 8) * 32 + 16; + *z = map_element_height(*x, *y); + break; + case NEWS_ITEM_PEEP_ON_RIDE: + peep = GET_PEEP(subject); + *x = peep->x; + *y = peep->y; + *z = peep->z; + if (*x != SPRITE_LOCATION_NULL) + break; - if (peep->state != 3 && peep->state != 7) { - *x = SPRITE_LOCATION_NULL; - break; - } + if (peep->state != 3 && peep->state != 7) { + *x = SPRITE_LOCATION_NULL; + break; + } - // Find which ride peep is on - ride = get_ride(peep->current_ride); - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) { - *x = SPRITE_LOCATION_NULL; - break; - } + // Find which ride peep is on + ride = get_ride(peep->current_ride); + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) { + *x = SPRITE_LOCATION_NULL; + break; + } - // Find the first car of the train peep is on - vehicle = &(get_sprite(ride->vehicles[peep->current_train])->vehicle); - // Find the actual car peep is on - for (i = 0; i < peep->current_car; i++) - vehicle = &(get_sprite(vehicle->next_vehicle_on_train)->vehicle); - *x = vehicle->x; - *y = vehicle->y; - *z = vehicle->z; - break; - case NEWS_ITEM_PEEP: - peep = GET_PEEP(subject); - *x = peep->x; - *y = peep->y; - *z = peep->z; - break; - case NEWS_ITEM_BLANK: - *x = subject; - *y = subject >> 16; - *z = map_element_height(*x, *y); - break; - default: - *x = SPRITE_LOCATION_NULL; - break; - } + // Find the first car of the train peep is on + vehicle = &(get_sprite(ride->vehicles[peep->current_train])->vehicle); + // Find the actual car peep is on + for (i = 0; i < peep->current_car; i++) + vehicle = &(get_sprite(vehicle->next_vehicle_on_train)->vehicle); + *x = vehicle->x; + *y = vehicle->y; + *z = vehicle->z; + break; + case NEWS_ITEM_PEEP: + peep = GET_PEEP(subject); + *x = peep->x; + *y = peep->y; + *z = peep->z; + break; + case NEWS_ITEM_BLANK: + *x = subject; + *y = subject >> 16; + *z = map_element_height(*x, *y); + break; + default: + *x = SPRITE_LOCATION_NULL; + break; + } } @@ -280,38 +280,38 @@ void news_item_get_subject_location(sint32 type, sint32 subject, sint32 *x, sint */ void news_item_add_to_queue(uint8 type, rct_string_id string_id, uint32 assoc) { - utf8 buffer[256]; - void *args = gCommonFormatArgs; + utf8 buffer[256]; + void *args = gCommonFormatArgs; - format_string(buffer, 256, string_id, args); // overflows possible? - news_item_add_to_queue_raw(type, buffer, assoc); + format_string(buffer, 256, string_id, args); // overflows possible? + news_item_add_to_queue_raw(type, buffer, assoc); } void news_item_add_to_queue_raw(uint8 type, const utf8 *text, uint32 assoc) { - NewsItem *newsItem = gNewsItems; + NewsItem *newsItem = gNewsItems; - // find first open slot - while (newsItem->Type != NEWS_ITEM_NULL) { - if (newsItem + 1 >= &gNewsItems[10]) // &news_list[10] - news_item_close_current(); - else - newsItem++; - } + // find first open slot + while (newsItem->Type != NEWS_ITEM_NULL) { + if (newsItem + 1 >= &gNewsItems[10]) // &news_list[10] + news_item_close_current(); + else + newsItem++; + } - //now we have found an item slot to place the new news in - newsItem->Type = type; - newsItem->Flags = 0; - newsItem->Assoc = assoc; - newsItem->Ticks = 0; - newsItem->MonthYear = gDateMonthsElapsed; - newsItem->Day = ((days_in_month[(newsItem->MonthYear & 7)] * gDateMonthTicks) >> 16) + 1; - safe_strcpy(newsItem->Text, text, sizeof(newsItem->Text)); + //now we have found an item slot to place the new news in + newsItem->Type = type; + newsItem->Flags = 0; + newsItem->Assoc = assoc; + newsItem->Ticks = 0; + newsItem->MonthYear = gDateMonthsElapsed; + newsItem->Day = ((days_in_month[(newsItem->MonthYear & 7)] * gDateMonthTicks) >> 16) + 1; + safe_strcpy(newsItem->Text, text, sizeof(newsItem->Text)); - // blatant disregard for what happens on the last element. - // Change this when we implement the queue ourselves. - newsItem++; - newsItem->Type = NEWS_ITEM_NULL; + // blatant disregard for what happens on the last element. + // Change this when we implement the queue ourselves. + newsItem++; + newsItem->Type = NEWS_ITEM_NULL; } /** @@ -322,62 +322,62 @@ void news_item_add_to_queue_raw(uint8 type, const utf8 *text, uint32 assoc) */ void news_item_open_subject(sint32 type, sint32 subject) { - rct_peep* peep; - rct_window* window; + rct_peep* peep; + rct_window* window; - switch (type) { - case NEWS_ITEM_RIDE: - window_ride_main_open(subject); - break; - case NEWS_ITEM_PEEP_ON_RIDE: - case NEWS_ITEM_PEEP: - peep = GET_PEEP(subject); - window_guest_open(peep); - break; - case NEWS_ITEM_MONEY: - window_finances_open(); - break; - case NEWS_ITEM_RESEARCH: - if (subject >= 0x10000) { - // Open ride list window - window_new_ride_open(); + switch (type) { + case NEWS_ITEM_RIDE: + window_ride_main_open(subject); + break; + case NEWS_ITEM_PEEP_ON_RIDE: + case NEWS_ITEM_PEEP: + peep = GET_PEEP(subject); + window_guest_open(peep); + break; + case NEWS_ITEM_MONEY: + window_finances_open(); + break; + case NEWS_ITEM_RESEARCH: + if (subject >= 0x10000) { + // Open ride list window + window_new_ride_open(); - // Switch to right tab and scroll to ride location - ride_list_item rideItem; - rideItem.type = subject >> 8; - rideItem.entry_index = subject & 0xFF; - window_new_ride_focus(rideItem); - break; - } + // Switch to right tab and scroll to ride location + ride_list_item rideItem; + rideItem.type = subject >> 8; + rideItem.entry_index = subject & 0xFF; + window_new_ride_focus(rideItem); + break; + } - // Check if window is already open - window = window_bring_to_front_by_class(WC_SCENERY); - if (window == NULL) { - window = window_find_by_class(WC_TOP_TOOLBAR); - if (window != NULL) { - window_invalidate(window); - if (!tool_set(window, WC_TOP_TOOLBAR__WIDX_SCENERY, TOOL_ARROW)) { - input_set_flag(INPUT_FLAG_6, true); - window_scenery_open(); - } - } - } + // Check if window is already open + window = window_bring_to_front_by_class(WC_SCENERY); + if (window == NULL) { + window = window_find_by_class(WC_TOP_TOOLBAR); + if (window != NULL) { + window_invalidate(window); + if (!tool_set(window, WC_TOP_TOOLBAR__WIDX_SCENERY, TOOL_ARROW)) { + input_set_flag(INPUT_FLAG_6, true); + window_scenery_open(); + } + } + } - // Switch to new scenery tab - window = window_find_by_class(WC_SCENERY); - if (window != NULL) - window_event_mouse_down_call(window, WC_SCENERY__WIDX_SCENERY_TAB_1 + subject); - break; - case NEWS_ITEM_PEEPS: - window_guest_list_open_with_filter(GLFT_GUESTS_THINKING_X, subject);; - break; - case NEWS_ITEM_AWARD: - window_park_awards_open(); - break; - case NEWS_ITEM_GRAPH: - window_park_rating_open(); - break; - } + // Switch to new scenery tab + window = window_find_by_class(WC_SCENERY); + if (window != NULL) + window_event_mouse_down_call(window, WC_SCENERY__WIDX_SCENERY_TAB_1 + subject); + break; + case NEWS_ITEM_PEEPS: + window_guest_list_open_with_filter(GLFT_GUESTS_THINKING_X, subject);; + break; + case NEWS_ITEM_AWARD: + window_park_awards_open(); + break; + case NEWS_ITEM_GRAPH: + window_park_rating_open(); + break; + } } /** @@ -386,47 +386,47 @@ void news_item_open_subject(sint32 type, sint32 subject) */ void news_item_disable_news(uint8 type, uint32 assoc) { - // TODO: write test invalidating windows - for (sint32 i = 0; i < 11; i++) { - if (!news_item_is_empty(i)) { - NewsItem * const newsItem = news_item_get(i); - if (type == newsItem->Type && assoc == newsItem->Assoc) { - newsItem->Flags |= NEWS_FLAG_HAS_BUTTON; - if (i == 0) { - window_game_bottom_toolbar_invalidate_news_item(); - } - } - } else { - break; - } - } + // TODO: write test invalidating windows + for (sint32 i = 0; i < 11; i++) { + if (!news_item_is_empty(i)) { + NewsItem * const newsItem = news_item_get(i); + if (type == newsItem->Type && assoc == newsItem->Assoc) { + newsItem->Flags |= NEWS_FLAG_HAS_BUTTON; + if (i == 0) { + window_game_bottom_toolbar_invalidate_news_item(); + } + } + } else { + break; + } + } - for (sint32 i = 11; i < MAX_NEWS_ITEMS; i++) { - if (!news_item_is_empty(i)) { - NewsItem * const newsItem = news_item_get(i); - if (type == newsItem->Type && assoc == newsItem->Assoc) { - newsItem->Flags |= NEWS_FLAG_HAS_BUTTON; - window_invalidate_by_class(WC_RECENT_NEWS); - } - } else { - break; - } - } + for (sint32 i = 11; i < MAX_NEWS_ITEMS; i++) { + if (!news_item_is_empty(i)) { + NewsItem * const newsItem = news_item_get(i); + if (type == newsItem->Type && assoc == newsItem->Assoc) { + newsItem->Flags |= NEWS_FLAG_HAS_BUTTON; + window_invalidate_by_class(WC_RECENT_NEWS); + } + } else { + break; + } + } } void news_item_add_to_queue_custom(NewsItem *newNewsItem) { - NewsItem *newsItem = gNewsItems; + NewsItem *newsItem = gNewsItems; - // Find first open slot - while (newsItem->Type != NEWS_ITEM_NULL) { - if (newsItem + 1 >= &gNewsItems[10]) - news_item_close_current(); - else - newsItem++; - } + // Find first open slot + while (newsItem->Type != NEWS_ITEM_NULL) { + if (newsItem + 1 >= &gNewsItems[10]) + news_item_close_current(); + else + newsItem++; + } - *newsItem = *newNewsItem; - newsItem++; - newsItem->Type = NEWS_ITEM_NULL; + *newsItem = *newNewsItem; + newsItem++; + newsItem->Type = NEWS_ITEM_NULL; } diff --git a/src/openrct2/management/news_item.h b/src/openrct2/management/news_item.h index c22d6f695d..66b8b117d7 100644 --- a/src/openrct2/management/news_item.h +++ b/src/openrct2/management/news_item.h @@ -20,25 +20,25 @@ #include "../common.h" enum { - NEWS_ITEM_NULL, - NEWS_ITEM_RIDE, - NEWS_ITEM_PEEP_ON_RIDE, - NEWS_ITEM_PEEP, - NEWS_ITEM_MONEY, - NEWS_ITEM_BLANK, - NEWS_ITEM_RESEARCH, - NEWS_ITEM_PEEPS, - NEWS_ITEM_AWARD, - NEWS_ITEM_GRAPH + NEWS_ITEM_NULL, + NEWS_ITEM_RIDE, + NEWS_ITEM_PEEP_ON_RIDE, + NEWS_ITEM_PEEP, + NEWS_ITEM_MONEY, + NEWS_ITEM_BLANK, + NEWS_ITEM_RESEARCH, + NEWS_ITEM_PEEPS, + NEWS_ITEM_AWARD, + NEWS_ITEM_GRAPH }; enum { - NEWS_TYPE_HAS_LOCATION = 1, - NEWS_TYPE_HAS_SUBJECT = 2, + NEWS_TYPE_HAS_LOCATION = 1, + NEWS_TYPE_HAS_SUBJECT = 2, }; enum { - NEWS_FLAG_HAS_BUTTON = 1 << 0, + NEWS_FLAG_HAS_BUTTON = 1 << 0, }; extern const uint8 news_type_properties[10]; @@ -47,13 +47,13 @@ extern const uint8 news_type_properties[10]; * A single news item / message. */ typedef struct NewsItem { - uint8 Type; - uint8 Flags; - uint32 Assoc; - uint16 Ticks; - uint16 MonthYear; - uint8 Day; - utf8 Text[256]; + uint8 Type; + uint8 Flags; + uint32 Assoc; + uint16 Ticks; + uint16 MonthYear; + uint8 Day; + utf8 Text[256]; } NewsItem; #define MAX_NEWS_ITEMS 61 diff --git a/src/openrct2/management/research.c b/src/openrct2/management/research.c index 1058f67eab..db0fc9edf7 100644 --- a/src/openrct2/management/research.c +++ b/src/openrct2/management/research.c @@ -66,9 +66,9 @@ static void ride_entry_set_invented(sint32 rideEntryIndex); */ void research_reset_items() { - gResearchItems[0].entryIndex = RESEARCHED_ITEMS_SEPARATOR; - gResearchItems[1].entryIndex = RESEARCHED_ITEMS_END; - gResearchItems[2].entryIndex = RESEARCHED_ITEMS_END_2; + gResearchItems[0].entryIndex = RESEARCHED_ITEMS_SEPARATOR; + gResearchItems[1].entryIndex = RESEARCHED_ITEMS_END; + gResearchItems[2].entryIndex = RESEARCHED_ITEMS_END_2; } /** @@ -77,14 +77,14 @@ void research_reset_items() */ void research_update_uncompleted_types() { - sint32 uncompletedResearchTypes = 0; - rct_research_item *researchItem = gResearchItems; - while (researchItem++->entryIndex != RESEARCHED_ITEMS_SEPARATOR); + sint32 uncompletedResearchTypes = 0; + rct_research_item *researchItem = gResearchItems; + while (researchItem++->entryIndex != RESEARCHED_ITEMS_SEPARATOR); - for (; researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++) - uncompletedResearchTypes |= (1 << researchItem->category); + for (; researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++) + uncompletedResearchTypes |= (1 << researchItem->category); - gResearchUncompletedCategories = uncompletedResearchTypes; + gResearchUncompletedCategories = uncompletedResearchTypes; } /** @@ -93,29 +93,29 @@ void research_update_uncompleted_types() */ static void research_calculate_expected_date() { - if (gResearchProgressStage == RESEARCH_STAGE_INITIAL_RESEARCH || gResearchFundingLevel == RESEARCH_FUNDING_NONE) { - gResearchExpectedDay = 255; - } else { - sint32 progressRemaining = gResearchProgressStage == RESEARCH_STAGE_COMPLETING_DESIGN ? 0x10000 : 0x20000; - progressRemaining -= gResearchProgress; - sint32 daysRemaining = (progressRemaining / _researchRate[gResearchFundingLevel]) * 128; + if (gResearchProgressStage == RESEARCH_STAGE_INITIAL_RESEARCH || gResearchFundingLevel == RESEARCH_FUNDING_NONE) { + gResearchExpectedDay = 255; + } else { + sint32 progressRemaining = gResearchProgressStage == RESEARCH_STAGE_COMPLETING_DESIGN ? 0x10000 : 0x20000; + progressRemaining -= gResearchProgress; + sint32 daysRemaining = (progressRemaining / _researchRate[gResearchFundingLevel]) * 128; - sint32 expectedDay = gDateMonthTicks + (daysRemaining & 0xFFFF); - sint32 dayQuotient = expectedDay / 0x10000; - sint32 dayRemainder = expectedDay % 0x10000; + sint32 expectedDay = gDateMonthTicks + (daysRemaining & 0xFFFF); + sint32 dayQuotient = expectedDay / 0x10000; + sint32 dayRemainder = expectedDay % 0x10000; - sint32 expectedMonth = date_get_month(gDateMonthsElapsed + dayQuotient + (daysRemaining >> 16)); - expectedDay = (dayRemainder * days_in_month[expectedMonth]) >> 16; + sint32 expectedMonth = date_get_month(gDateMonthsElapsed + dayQuotient + (daysRemaining >> 16)); + expectedDay = (dayRemainder * days_in_month[expectedMonth]) >> 16; - gResearchExpectedDay = expectedDay; - gResearchExpectedMonth = expectedMonth; - } + gResearchExpectedDay = expectedDay; + gResearchExpectedMonth = expectedMonth; + } } static void research_invalidate_related_windows() { - window_invalidate_by_class(WC_CONSTRUCT_RIDE); - window_invalidate_by_class(WC_RESEARCH); + window_invalidate_by_class(WC_CONSTRUCT_RIDE); + window_invalidate_by_class(WC_RESEARCH); } /** @@ -124,50 +124,50 @@ static void research_invalidate_related_windows() */ static void research_next_design() { - rct_research_item *firstUnresearchedItem, *researchItem, tmp; - sint32 ignoreActiveResearchTypes; + rct_research_item *firstUnresearchedItem, *researchItem, tmp; + sint32 ignoreActiveResearchTypes; - // Skip already researched items - firstUnresearchedItem = gResearchItems; - while (firstUnresearchedItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR) - firstUnresearchedItem++; + // Skip already researched items + firstUnresearchedItem = gResearchItems; + while (firstUnresearchedItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR) + firstUnresearchedItem++; - ignoreActiveResearchTypes = 0; - researchItem = firstUnresearchedItem; - for (;;) { - researchItem++; - if (researchItem->entryIndex == RESEARCHED_ITEMS_END) { - if (!ignoreActiveResearchTypes) { - ignoreActiveResearchTypes = 1; - researchItem = firstUnresearchedItem; - continue; - } else { - gResearchProgress = 0; - gResearchProgressStage = RESEARCH_STAGE_FINISHED_ALL; - research_invalidate_related_windows(); - // Reset funding to 0 if no more rides. - research_set_funding(0); - return; - } - } else if (ignoreActiveResearchTypes || (gResearchPriorities & (1 << researchItem->category))) { - break; - } - } + ignoreActiveResearchTypes = 0; + researchItem = firstUnresearchedItem; + for (;;) { + researchItem++; + if (researchItem->entryIndex == RESEARCHED_ITEMS_END) { + if (!ignoreActiveResearchTypes) { + ignoreActiveResearchTypes = 1; + researchItem = firstUnresearchedItem; + continue; + } else { + gResearchProgress = 0; + gResearchProgressStage = RESEARCH_STAGE_FINISHED_ALL; + research_invalidate_related_windows(); + // Reset funding to 0 if no more rides. + research_set_funding(0); + return; + } + } else if (ignoreActiveResearchTypes || (gResearchPriorities & (1 << researchItem->category))) { + break; + } + } - gResearchNextItem = researchItem->entryIndex; - gResearchNextCategory = researchItem->category; - gResearchProgress = 0; - gResearchProgressStage = RESEARCH_STAGE_DESIGNING; + gResearchNextItem = researchItem->entryIndex; + gResearchNextCategory = researchItem->category; + gResearchProgress = 0; + gResearchProgressStage = RESEARCH_STAGE_DESIGNING; - // Bubble research item up until it is above the researched items separator - do { - tmp = *researchItem; - *researchItem = *(researchItem - 1); - *(researchItem - 1) = tmp; - researchItem--; - } while ((researchItem + 1)->entryIndex != RESEARCHED_ITEMS_SEPARATOR); + // Bubble research item up until it is above the researched items separator + do { + tmp = *researchItem; + *researchItem = *(researchItem - 1); + *(researchItem - 1) = tmp; + researchItem--; + } while ((researchItem + 1)->entryIndex != RESEARCHED_ITEMS_SEPARATOR); - research_invalidate_related_windows(); + research_invalidate_related_windows(); } /** @@ -176,71 +176,71 @@ static void research_next_design() */ void research_finish_item(sint32 entryIndex) { - gResearchLastItemSubject = (uint32)entryIndex; - research_invalidate_related_windows(); + gResearchLastItemSubject = (uint32)entryIndex; + research_invalidate_related_windows(); - if (entryIndex >= 0x10000) { - // Ride - sint32 base_ride_type = (entryIndex >> 8) & 0xFF; - sint32 rideEntryIndex = entryIndex & 0xFF; - rct_ride_entry *rideEntry = get_ride_entry(rideEntryIndex); - if (rideEntry != NULL && rideEntry != (rct_ride_entry *)-1 && base_ride_type != RIDE_TYPE_NULL) - { - ride_type_set_invented(base_ride_type); - openrct2_assert(base_ride_type < countof(RideTypePossibleTrackConfigurations), "Invalid base_ride_type = %d", base_ride_type); + if (entryIndex >= 0x10000) { + // Ride + sint32 base_ride_type = (entryIndex >> 8) & 0xFF; + sint32 rideEntryIndex = entryIndex & 0xFF; + rct_ride_entry *rideEntry = get_ride_entry(rideEntryIndex); + if (rideEntry != NULL && rideEntry != (rct_ride_entry *)-1 && base_ride_type != RIDE_TYPE_NULL) + { + ride_type_set_invented(base_ride_type); + openrct2_assert(base_ride_type < countof(RideTypePossibleTrackConfigurations), "Invalid base_ride_type = %d", base_ride_type); - ride_entry_set_invented(rideEntryIndex); + ride_entry_set_invented(rideEntryIndex); - if (!(rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE)) { - for (sint32 i = 0; i < 128; i++) { - rct_ride_entry *rideEntry2 = get_ride_entry(i); - if (rideEntry2 == (rct_ride_entry*)-1) - continue; - if ((rideEntry2->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE)) - continue; + if (!(rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE)) { + for (sint32 i = 0; i < 128; i++) { + rct_ride_entry *rideEntry2 = get_ride_entry(i); + if (rideEntry2 == (rct_ride_entry*)-1) + continue; + if ((rideEntry2->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE)) + continue; - for (uint8 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { - if (rideEntry2->ride_type[j] == base_ride_type) { - ride_entry_set_invented(i); - break; - } - } - } - } + for (uint8 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { + if (rideEntry2->ride_type[j] == base_ride_type) { + ride_entry_set_invented(i); + break; + } + } + } + } - set_format_arg(0, rct_string_id, ((rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME)) ? - rideEntry->name : RideNaming[base_ride_type].name); + set_format_arg(0, rct_string_id, ((rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME)) ? + rideEntry->name : RideNaming[base_ride_type].name); - if (!gSilentResearch) { - if (gConfigNotifications.ride_researched) { - news_item_add_to_queue(NEWS_ITEM_RESEARCH, STR_NEWS_ITEM_RESEARCH_NEW_RIDE_AVAILABLE, entryIndex); - } - } + if (!gSilentResearch) { + if (gConfigNotifications.ride_researched) { + news_item_add_to_queue(NEWS_ITEM_RESEARCH, STR_NEWS_ITEM_RESEARCH_NEW_RIDE_AVAILABLE, entryIndex); + } + } - research_invalidate_related_windows(); - } - } else { - // Scenery - rct_scenery_set_entry *scenerySetEntry = get_scenery_group_entry(entryIndex & 0xFFFF); - if (scenerySetEntry != NULL && scenerySetEntry != (rct_scenery_set_entry *)-1) - { - for (sint32 i = 0; i < scenerySetEntry->entry_count; i++) { - sint32 subSceneryEntryIndex = scenerySetEntry->scenery_entries[i]; - gResearchedSceneryItems[subSceneryEntryIndex >> 5] |= 1UL << (subSceneryEntryIndex & 0x1F); - } + research_invalidate_related_windows(); + } + } else { + // Scenery + rct_scenery_set_entry *scenerySetEntry = get_scenery_group_entry(entryIndex & 0xFFFF); + if (scenerySetEntry != NULL && scenerySetEntry != (rct_scenery_set_entry *)-1) + { + for (sint32 i = 0; i < scenerySetEntry->entry_count; i++) { + sint32 subSceneryEntryIndex = scenerySetEntry->scenery_entries[i]; + gResearchedSceneryItems[subSceneryEntryIndex >> 5] |= 1UL << (subSceneryEntryIndex & 0x1F); + } - set_format_arg(0, rct_string_id, scenerySetEntry->name); + set_format_arg(0, rct_string_id, scenerySetEntry->name); - if (!gSilentResearch) { - if (gConfigNotifications.ride_researched) { - news_item_add_to_queue(NEWS_ITEM_RESEARCH, STR_NEWS_ITEM_RESEARCH_NEW_SCENERY_SET_AVAILABLE, entryIndex); - } - } + if (!gSilentResearch) { + if (gConfigNotifications.ride_researched) { + news_item_add_to_queue(NEWS_ITEM_RESEARCH, STR_NEWS_ITEM_RESEARCH_NEW_SCENERY_SET_AVAILABLE, entryIndex); + } + } - research_invalidate_related_windows(); - init_scenery(); - } - } + research_invalidate_related_windows(); + init_scenery(); + } + } } /** @@ -249,43 +249,43 @@ void research_finish_item(sint32 entryIndex) */ void research_update() { - sint32 editorScreenFlags, researchLevel, currentResearchProgress; + sint32 editorScreenFlags, researchLevel, currentResearchProgress; - editorScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER; - if (gScreenFlags & editorScreenFlags) - return; + editorScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER; + if (gScreenFlags & editorScreenFlags) + return; - if (gScenarioTicks % 32 != 0) - return; + if (gScenarioTicks % 32 != 0) + return; - researchLevel = gResearchFundingLevel; + researchLevel = gResearchFundingLevel; - currentResearchProgress = gResearchProgress; - currentResearchProgress += _researchRate[researchLevel]; - if (currentResearchProgress <= 0xFFFF) { - gResearchProgress = currentResearchProgress; - } else { - switch (gResearchProgressStage) { - case RESEARCH_STAGE_INITIAL_RESEARCH: - research_next_design(); - research_calculate_expected_date(); - break; - case RESEARCH_STAGE_DESIGNING: - gResearchProgress = 0; - gResearchProgressStage = RESEARCH_STAGE_COMPLETING_DESIGN; - research_calculate_expected_date(); - research_invalidate_related_windows(); - break; - case RESEARCH_STAGE_COMPLETING_DESIGN: - research_finish_item((sint32)gResearchNextItem); - gResearchProgress = 0; - gResearchProgressStage = 0; - research_calculate_expected_date(); - research_update_uncompleted_types(); - research_invalidate_related_windows(); - break; - } - } + currentResearchProgress = gResearchProgress; + currentResearchProgress += _researchRate[researchLevel]; + if (currentResearchProgress <= 0xFFFF) { + gResearchProgress = currentResearchProgress; + } else { + switch (gResearchProgressStage) { + case RESEARCH_STAGE_INITIAL_RESEARCH: + research_next_design(); + research_calculate_expected_date(); + break; + case RESEARCH_STAGE_DESIGNING: + gResearchProgress = 0; + gResearchProgressStage = RESEARCH_STAGE_COMPLETING_DESIGN; + research_calculate_expected_date(); + research_invalidate_related_windows(); + break; + case RESEARCH_STAGE_COMPLETING_DESIGN: + research_finish_item((sint32)gResearchNextItem); + gResearchProgress = 0; + gResearchProgressStage = 0; + research_calculate_expected_date(); + research_update_uncompleted_types(); + research_invalidate_related_windows(); + break; + } + } } /** @@ -293,61 +293,61 @@ void research_update() * rct2: 0x00684AC3 */ void research_reset_current_item(){ - rct_research_item* research = gResearchItems; - for (; research->entryIndex != RESEARCHED_ITEMS_END; research++); + rct_research_item* research = gResearchItems; + for (; research->entryIndex != RESEARCHED_ITEMS_END; research++); - research++; - for (; research->entryIndex != RESEARCHED_ITEMS_END_2; research += 2){ - if (scenario_rand() & 1) continue; + research++; + for (; research->entryIndex != RESEARCHED_ITEMS_END_2; research += 2){ + if (scenario_rand() & 1) continue; - rct_research_item* edx = NULL; - rct_research_item* ebp = NULL; - rct_research_item* inner_research = gResearchItems; - do { - if (research->entryIndex == inner_research->entryIndex){ - edx = inner_research; - } - if ((research + 1)->entryIndex == inner_research->entryIndex){ - ebp = inner_research; - } - } while ((inner_research++)->entryIndex != RESEARCHED_ITEMS_END); - assert(edx != NULL); - edx->entryIndex = research->entryIndex; - assert(ebp != NULL); - ebp->entryIndex = (research + 1)->entryIndex; + rct_research_item* edx = NULL; + rct_research_item* ebp = NULL; + rct_research_item* inner_research = gResearchItems; + do { + if (research->entryIndex == inner_research->entryIndex){ + edx = inner_research; + } + if ((research + 1)->entryIndex == inner_research->entryIndex){ + ebp = inner_research; + } + } while ((inner_research++)->entryIndex != RESEARCHED_ITEMS_END); + assert(edx != NULL); + edx->entryIndex = research->entryIndex; + assert(ebp != NULL); + ebp->entryIndex = (research + 1)->entryIndex; - uint8 cat = edx->category; - edx->category = ebp->category; - ebp->category = cat; - } + uint8 cat = edx->category; + edx->category = ebp->category; + ebp->category = cat; + } - for (sint32 i = 0; i < 8; ++i){ - gResearchedRideTypes[i] = 0; - gResearchedRideEntries[i] = 0; - } + for (sint32 i = 0; i < 8; ++i){ + gResearchedRideTypes[i] = 0; + gResearchedRideEntries[i] = 0; + } - for (sint32 i = 0; i < 56; i++) { - gResearchedSceneryItems[i] = 0xFFFFFFFF; - } + for (sint32 i = 0; i < 56; i++) { + gResearchedSceneryItems[i] = 0xFFFFFFFF; + } - for (sint32 i = 0; i < 19; ++i){ - rct_scenery_set_entry* scenery_set = get_scenery_group_entry(i); - if ((intptr_t)scenery_set == -1)continue; + for (sint32 i = 0; i < 19; ++i){ + rct_scenery_set_entry* scenery_set = get_scenery_group_entry(i); + if ((intptr_t)scenery_set == -1)continue; - for (sint32 j = 0; j < scenery_set->entry_count; ++j){ - uint8 value = scenery_set->scenery_entries[j] & 0x1F; - gResearchedSceneryItems[scenery_set->scenery_entries[j] >> 5] &= ~(1UL << value); - } - } + for (sint32 j = 0; j < scenery_set->entry_count; ++j){ + uint8 value = scenery_set->scenery_entries[j] & 0x1F; + gResearchedSceneryItems[scenery_set->scenery_entries[j] >> 5] &= ~(1UL << value); + } + } - for (research = gResearchItems; research->entryIndex != RESEARCHED_ITEMS_SEPARATOR; research++){ - research_finish_item(research->entryIndex); - } + for (research = gResearchItems; research->entryIndex != RESEARCHED_ITEMS_SEPARATOR; research++){ + research_finish_item(research->entryIndex); + } - gResearchLastItemSubject = (uint32)-1; - gResearchProgressStage = 0; - gResearchProgress = 0; + gResearchLastItemSubject = (uint32)-1; + gResearchProgressStage = 0; + gResearchProgress = 0; } /** @@ -356,47 +356,47 @@ void research_reset_current_item(){ */ void research_remove_non_separate_vehicle_types() { - rct_research_item *researchItem, *researchItem2; + rct_research_item *researchItem, *researchItem2; - researchItem = gResearchItems; - while ((researchItem + 1)->entryIndex != RESEARCHED_ITEMS_END) { - researchItem++; - } + researchItem = gResearchItems; + while ((researchItem + 1)->entryIndex != RESEARCHED_ITEMS_END) { + researchItem++; + } - do { - loopBeginning: - if ( - researchItem != gResearchItems && - researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR && - researchItem->entryIndex != RESEARCHED_ITEMS_END && - researchItem->entryIndex >= 0x10000 - ) { - rct_ride_entry *rideEntry = get_ride_entry(researchItem->entryIndex & 0xFF); - if (!(rideEntry->flags & (RIDE_ENTRY_FLAG_SEPARATE_RIDE | RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME))) { - // Check if ride type already exists further up for a vehicle type that isn't displayed as a ride - researchItem2 = researchItem - 1; - do { - if ( - researchItem2->entryIndex != RESEARCHED_ITEMS_SEPARATOR && - researchItem2->entryIndex >= 0x10000 - ) { - rideEntry = get_ride_entry(researchItem2->entryIndex & 0xFF); - if (!(rideEntry->flags & (RIDE_ENTRY_FLAG_SEPARATE_RIDE | RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME))) { + do { + loopBeginning: + if ( + researchItem != gResearchItems && + researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR && + researchItem->entryIndex != RESEARCHED_ITEMS_END && + researchItem->entryIndex >= 0x10000 + ) { + rct_ride_entry *rideEntry = get_ride_entry(researchItem->entryIndex & 0xFF); + if (!(rideEntry->flags & (RIDE_ENTRY_FLAG_SEPARATE_RIDE | RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME))) { + // Check if ride type already exists further up for a vehicle type that isn't displayed as a ride + researchItem2 = researchItem - 1; + do { + if ( + researchItem2->entryIndex != RESEARCHED_ITEMS_SEPARATOR && + researchItem2->entryIndex >= 0x10000 + ) { + rideEntry = get_ride_entry(researchItem2->entryIndex & 0xFF); + if (!(rideEntry->flags & (RIDE_ENTRY_FLAG_SEPARATE_RIDE | RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME))) { - if (((researchItem->entryIndex >> 8) & 0xFF) == ((researchItem2->entryIndex >> 8) & 0xFF)) { - // Remove item - researchItem2 = researchItem; - do { - *researchItem2 = *(researchItem2 + 1); - } while ((researchItem2++)->entryIndex != RESEARCHED_ITEMS_END_2); - goto loopBeginning; - } - } - } - } while ((researchItem2--) != gResearchItems); - } - } - } while ((researchItem--) != gResearchItems); + if (((researchItem->entryIndex >> 8) & 0xFF) == ((researchItem2->entryIndex >> 8) & 0xFF)) { + // Remove item + researchItem2 = researchItem; + do { + *researchItem2 = *(researchItem2 + 1); + } while ((researchItem2++)->entryIndex != RESEARCHED_ITEMS_END_2); + goto loopBeginning; + } + } + } + } while ((researchItem2--) != gResearchItems); + } + } + } while ((researchItem--) != gResearchItems); } /** @@ -405,24 +405,24 @@ void research_remove_non_separate_vehicle_types() */ static void research_insert_unresearched(sint32 entryIndex, sint32 category) { - rct_research_item *researchItem, *researchItem2; + rct_research_item *researchItem, *researchItem2; - researchItem = gResearchItems; - do { - if (researchItem->entryIndex == RESEARCHED_ITEMS_END) { - // Insert slot - researchItem2 = researchItem; - while (researchItem2->entryIndex != RESEARCHED_ITEMS_END_2) { - researchItem2++; - } - memmove(researchItem + 1, researchItem, (researchItem2 - researchItem + 1) * sizeof(rct_research_item)); + researchItem = gResearchItems; + do { + if (researchItem->entryIndex == RESEARCHED_ITEMS_END) { + // Insert slot + researchItem2 = researchItem; + while (researchItem2->entryIndex != RESEARCHED_ITEMS_END_2) { + researchItem2++; + } + memmove(researchItem + 1, researchItem, (researchItem2 - researchItem + 1) * sizeof(rct_research_item)); - // Place new item - researchItem->entryIndex = entryIndex; - researchItem->category = category; - break; - } - } while (entryIndex != (researchItem++)->entryIndex); + // Place new item + researchItem->entryIndex = entryIndex; + researchItem->category = category; + break; + } + } while (entryIndex != (researchItem++)->entryIndex); } /** @@ -431,30 +431,30 @@ static void research_insert_unresearched(sint32 entryIndex, sint32 category) */ static void research_insert_researched(sint32 entryIndex, sint32 category) { - rct_research_item *researchItem, *researchItem2; + rct_research_item *researchItem, *researchItem2; - researchItem = gResearchItems; - // First check to make sure that entry is not already accounted for - for (; researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++) { - if (researchItem->entryIndex == entryIndex) - return; - } - researchItem = gResearchItems; - do { - if (researchItem->entryIndex == RESEARCHED_ITEMS_SEPARATOR) { - // Insert slot - researchItem2 = researchItem; - while (researchItem2->entryIndex != RESEARCHED_ITEMS_END_2) { - researchItem2++; - } - memmove(researchItem + 1, researchItem, (researchItem2 - researchItem + 1) * sizeof(rct_research_item)); + researchItem = gResearchItems; + // First check to make sure that entry is not already accounted for + for (; researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++) { + if (researchItem->entryIndex == entryIndex) + return; + } + researchItem = gResearchItems; + do { + if (researchItem->entryIndex == RESEARCHED_ITEMS_SEPARATOR) { + // Insert slot + researchItem2 = researchItem; + while (researchItem2->entryIndex != RESEARCHED_ITEMS_END_2) { + researchItem2++; + } + memmove(researchItem + 1, researchItem, (researchItem2 - researchItem + 1) * sizeof(rct_research_item)); - // Place new item - researchItem->entryIndex = entryIndex; - researchItem->category = category; - break; - } - } while (entryIndex != (researchItem++)->entryIndex); + // Place new item + researchItem->entryIndex = entryIndex; + researchItem->category = category; + break; + } + } while (entryIndex != (researchItem++)->entryIndex); } /** @@ -462,22 +462,22 @@ static void research_insert_researched(sint32 entryIndex, sint32 category) * rct2: 0x006857CF */ void research_remove(sint32 entryIndex){ - for (rct_research_item *researchItem = gResearchItems; researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++){ - if (researchItem->entryIndex == entryIndex){ - do{ - *researchItem = *(researchItem + 1); - } while (researchItem++->entryIndex != RESEARCHED_ITEMS_END_2); - return; - } - } + for (rct_research_item *researchItem = gResearchItems; researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++){ + if (researchItem->entryIndex == entryIndex){ + do{ + *researchItem = *(researchItem + 1); + } while (researchItem++->entryIndex != RESEARCHED_ITEMS_END_2); + return; + } + } } void research_insert(sint32 researched, sint32 entryIndex, sint32 category) { - if (researched) - research_insert_researched(entryIndex, category); - else - research_insert_unresearched(entryIndex, category); + if (researched) + research_insert_researched(entryIndex, category); + else + research_insert_unresearched(entryIndex, category); } /** @@ -486,65 +486,65 @@ void research_insert(sint32 researched, sint32 entryIndex, sint32 category) */ void research_populate_list_random() { - // Rides - for (sint32 i = 0; i < 128; i++) { - rct_ride_entry *rideEntry = get_ride_entry(i); - if (rideEntry == (rct_ride_entry*)-1) - continue; + // Rides + for (sint32 i = 0; i < 128; i++) { + rct_ride_entry *rideEntry = get_ride_entry(i); + if (rideEntry == (rct_ride_entry*)-1) + continue; - sint32 researched = (scenario_rand() & 0xFF) > 128; - for (sint32 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { - sint32 rideType = rideEntry->ride_type[j]; - if (rideType != 255) - research_insert(researched, 0x10000 | (rideType << 8) | i, rideEntry->category[0]); - } - } + sint32 researched = (scenario_rand() & 0xFF) > 128; + for (sint32 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { + sint32 rideType = rideEntry->ride_type[j]; + if (rideType != 255) + research_insert(researched, 0x10000 | (rideType << 8) | i, rideEntry->category[0]); + } + } - // Scenery - for (sint32 i = 0; i < 19; i++) { - rct_scenery_set_entry *scenerySetEntry = get_scenery_group_entry(i); - if (scenerySetEntry == (rct_scenery_set_entry*)-1) - continue; + // Scenery + for (sint32 i = 0; i < 19; i++) { + rct_scenery_set_entry *scenerySetEntry = get_scenery_group_entry(i); + if (scenerySetEntry == (rct_scenery_set_entry*)-1) + continue; - sint32 researched = (scenario_rand() & 0xFF) > 85; - research_insert(researched, i, RESEARCH_CATEGORY_SCENERYSET); - } + sint32 researched = (scenario_rand() & 0xFF) > 85; + research_insert(researched, i, RESEARCH_CATEGORY_SCENERYSET); + } } void research_populate_list_researched() { - // Rides - for (sint32 i = 0; i < 128; i++) { - rct_ride_entry *rideEntry = get_ride_entry(i); - if (rideEntry == (rct_ride_entry*)-1) - continue; + // Rides + for (sint32 i = 0; i < 128; i++) { + rct_ride_entry *rideEntry = get_ride_entry(i); + if (rideEntry == (rct_ride_entry*)-1) + continue; - for (sint32 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { - sint32 rideType = rideEntry->ride_type[j]; - if (rideType != 255) - research_insert(true, 0x10000 | (rideType << 8) | i, rideEntry->category[0]); - } - } + for (sint32 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { + sint32 rideType = rideEntry->ride_type[j]; + if (rideType != 255) + research_insert(true, 0x10000 | (rideType << 8) | i, rideEntry->category[0]); + } + } - // Scenery - for (sint32 i = 0; i < 19; i++) { - rct_scenery_set_entry *scenerySetEntry = get_scenery_group_entry(i); - if (scenerySetEntry == (rct_scenery_set_entry*)-1) - continue; + // Scenery + for (sint32 i = 0; i < 19; i++) { + rct_scenery_set_entry *scenerySetEntry = get_scenery_group_entry(i); + if (scenerySetEntry == (rct_scenery_set_entry*)-1) + continue; - research_insert(true, i, RESEARCH_CATEGORY_SCENERYSET); - } + research_insert(true, i, RESEARCH_CATEGORY_SCENERYSET); + } } void research_set_funding(sint32 amount) { - game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, amount, GAME_COMMAND_SET_RESEARCH_FUNDING, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, amount, GAME_COMMAND_SET_RESEARCH_FUNDING, 0, 0); } void research_set_priority(sint32 activeCategories) { - game_do_command(0, (1 << 8) | GAME_COMMAND_FLAG_APPLY, 0, activeCategories, GAME_COMMAND_SET_RESEARCH_FUNDING, 0, 0); + game_do_command(0, (1 << 8) | GAME_COMMAND_FLAG_APPLY, 0, activeCategories, GAME_COMMAND_SET_RESEARCH_FUNDING, 0, 0); } /** @@ -553,105 +553,105 @@ void research_set_priority(sint32 activeCategories) */ void game_command_set_research_funding(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - sint32 setPriorities = (*ebx & (1 << 8)) != 0; - sint32 fundingAmount = *edx; - sint32 activeCategories = *edx; + sint32 setPriorities = (*ebx & (1 << 8)) != 0; + sint32 fundingAmount = *edx; + sint32 activeCategories = *edx; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RESEARCH; - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - if (!setPriorities) { - if (fundingAmount < 0 || fundingAmount >= countof(_researchRate)) { - *ebx = MONEY32_UNDEFINED; - log_warning("Invalid research rate %d", fundingAmount); - return; - } - gResearchFundingLevel = fundingAmount; - } - else - gResearchPriorities = activeCategories; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RESEARCH; + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + if (!setPriorities) { + if (fundingAmount < 0 || fundingAmount >= countof(_researchRate)) { + *ebx = MONEY32_UNDEFINED; + log_warning("Invalid research rate %d", fundingAmount); + return; + } + gResearchFundingLevel = fundingAmount; + } + else + gResearchPriorities = activeCategories; - window_invalidate_by_class(WC_FINANCES); - window_invalidate_by_class(WC_RESEARCH); - } + window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_RESEARCH); + } - *ebx = 0; + *ebx = 0; } void research_insert_ride_entry(uint8 entryIndex, bool researched) { - rct_ride_entry *rideEntry = get_ride_entry(entryIndex); - uint8 category = rideEntry->category[0]; - for (sint32 i = 0; i < MAX_RIDE_TYPES_PER_RIDE_ENTRY; i++) { - uint8 rideType = rideEntry->ride_type[i]; - if (rideType != 255) { - research_insert(researched, 0x10000 | (rideType << 8) | entryIndex, category); - } - } + rct_ride_entry *rideEntry = get_ride_entry(entryIndex); + uint8 category = rideEntry->category[0]; + for (sint32 i = 0; i < MAX_RIDE_TYPES_PER_RIDE_ENTRY; i++) { + uint8 rideType = rideEntry->ride_type[i]; + if (rideType != 255) { + research_insert(researched, 0x10000 | (rideType << 8) | entryIndex, category); + } + } } void research_insert_scenery_group_entry(uint8 entryIndex, bool researched) { - research_insert(researched, entryIndex, RESEARCH_CATEGORY_SCENERYSET); + research_insert(researched, entryIndex, RESEARCH_CATEGORY_SCENERYSET); } bool ride_type_is_invented(sint32 rideType) { - sint32 quadIndex = rideType >> 5; - sint32 bitIndex = rideType & 0x1F; - bool invented = (gResearchedRideTypes[quadIndex] & ((uint32)1 << bitIndex)); - return invented; + sint32 quadIndex = rideType >> 5; + sint32 bitIndex = rideType & 0x1F; + bool invented = (gResearchedRideTypes[quadIndex] & ((uint32)1 << bitIndex)); + return invented; } bool ride_entry_is_invented(sint32 rideEntryIndex) { - sint32 quadIndex = rideEntryIndex >> 5; - sint32 bitIndex = rideEntryIndex & 0x1F; - bool invented = (gResearchedRideEntries[quadIndex] & ((uint32)1 << bitIndex)); - return invented; + sint32 quadIndex = rideEntryIndex >> 5; + sint32 bitIndex = rideEntryIndex & 0x1F; + bool invented = (gResearchedRideEntries[quadIndex] & ((uint32)1 << bitIndex)); + return invented; } bool track_piece_is_available_for_ride_type(uint8 rideType, sint32 trackType) { - return RideTypePossibleTrackConfigurations[rideType] & (1ULL << trackType); + return RideTypePossibleTrackConfigurations[rideType] & (1ULL << trackType); } static void ride_type_set_invented(sint32 rideType) { - sint32 quadIndex = rideType >> 5; - sint32 bitIndex = rideType & 0x1F; - gResearchedRideTypes[quadIndex] |= (uint32)1 << bitIndex; + sint32 quadIndex = rideType >> 5; + sint32 bitIndex = rideType & 0x1F; + gResearchedRideTypes[quadIndex] |= (uint32)1 << bitIndex; } static void ride_entry_set_invented(sint32 rideEntryIndex) { - sint32 quadIndex = rideEntryIndex >> 5; - sint32 bitIndex = rideEntryIndex & 0x1F; - gResearchedRideEntries[quadIndex] |= (uint32)1 << bitIndex; + sint32 quadIndex = rideEntryIndex >> 5; + sint32 bitIndex = rideEntryIndex & 0x1F; + gResearchedRideEntries[quadIndex] |= (uint32)1 << bitIndex; } bool scenery_is_invented(uint16 sceneryItem) { - sint32 quadIndex = sceneryItem >> 5; - sint32 bitIndex = sceneryItem & 0x1F; - bool invented = (gResearchedSceneryItems[quadIndex] & ((uint32)1 << bitIndex)); - return invented; + sint32 quadIndex = sceneryItem >> 5; + sint32 bitIndex = sceneryItem & 0x1F; + bool invented = (gResearchedSceneryItems[quadIndex] & ((uint32)1 << bitIndex)); + return invented; } void reset_researched_scenery_items() { - for (sint32 i = 0; i < MAX_RESEARCHED_SCENERY_ITEMS; i++) { - gResearchedSceneryItems[i] = 0xFFFFFFFF; - } + for (sint32 i = 0; i < MAX_RESEARCHED_SCENERY_ITEMS; i++) { + gResearchedSceneryItems[i] = 0xFFFFFFFF; + } } void reset_researched_ride_types_and_entries() { - // Iteration endpoint used to be 4 for unknown reasons, likely a mistake - for (sint32 i = 0; i < MAX_RESEARCHED_RIDE_TYPES; i++) { - gResearchedRideTypes[i] = 0xFFFFFFFF; - } + // Iteration endpoint used to be 4 for unknown reasons, likely a mistake + for (sint32 i = 0; i < MAX_RESEARCHED_RIDE_TYPES; i++) { + gResearchedRideTypes[i] = 0xFFFFFFFF; + } - for (sint32 i = 0; i < MAX_RESEARCHED_RIDE_ENTRIES; i++) { - gResearchedRideEntries[i] = 0xFFFFFFFF; - } + for (sint32 i = 0; i < MAX_RESEARCHED_RIDE_ENTRIES; i++) { + gResearchedRideEntries[i] = 0xFFFFFFFF; + } } diff --git a/src/openrct2/management/research.h b/src/openrct2/management/research.h index 8c5fa85d09..f2631e5f2a 100644 --- a/src/openrct2/management/research.h +++ b/src/openrct2/management/research.h @@ -21,16 +21,16 @@ #pragma pack(push, 1) typedef struct rct_research_item { - // Bit 16 (0: scenery entry, 1: ride entry) - sint32 entryIndex; - uint8 category; + // Bit 16 (0: scenery entry, 1: ride entry) + sint32 entryIndex; + uint8 category; } rct_research_item; assert_struct_size(rct_research_item, 5); #pragma pack(pop) enum{ - RESEARCH_ENTRY_FLAG_SCENERY_SET_ALWAYS_RESEARCHED = (1 << 29), - RESEARCH_ENTRY_FLAG_RIDE_ALWAYS_RESEARCHED = (1 << 30), + RESEARCH_ENTRY_FLAG_SCENERY_SET_ALWAYS_RESEARCHED = (1 << 29), + RESEARCH_ENTRY_FLAG_RIDE_ALWAYS_RESEARCHED = (1 << 30), }; // Everything before this point has been researched @@ -47,28 +47,28 @@ enum{ #define MAX_RESEARCHED_TRACK_TYPES 128 enum { - RESEARCH_FUNDING_NONE, - RESEARCH_FUNDING_MINIMUM, - RESEARCH_FUNDING_NORMAL, - RESEARCH_FUNDING_MAXIMUM + RESEARCH_FUNDING_NONE, + RESEARCH_FUNDING_MINIMUM, + RESEARCH_FUNDING_NORMAL, + RESEARCH_FUNDING_MAXIMUM }; enum { - RESEARCH_STAGE_INITIAL_RESEARCH, - RESEARCH_STAGE_DESIGNING, - RESEARCH_STAGE_COMPLETING_DESIGN, - RESEARCH_STAGE_UNKNOWN, - RESEARCH_STAGE_FINISHED_ALL + RESEARCH_STAGE_INITIAL_RESEARCH, + RESEARCH_STAGE_DESIGNING, + RESEARCH_STAGE_COMPLETING_DESIGN, + RESEARCH_STAGE_UNKNOWN, + RESEARCH_STAGE_FINISHED_ALL }; enum { - RESEARCH_CATEGORY_TRANSPORT, - RESEARCH_CATEGORY_GENTLE, - RESEARCH_CATEGORY_ROLLERCOASTER, - RESEARCH_CATEGORY_THRILL, - RESEARCH_CATEGORY_WATER, - RESEARCH_CATEGORY_SHOP, - RESEARCH_CATEGORY_SCENERYSET + RESEARCH_CATEGORY_TRANSPORT, + RESEARCH_CATEGORY_GENTLE, + RESEARCH_CATEGORY_ROLLERCOASTER, + RESEARCH_CATEGORY_THRILL, + RESEARCH_CATEGORY_WATER, + RESEARCH_CATEGORY_SHOP, + RESEARCH_CATEGORY_SCENERYSET }; extern uint8 gResearchFundingLevel; diff --git a/src/openrct2/network/NetworkGroup.cpp b/src/openrct2/network/NetworkGroup.cpp index 07ce5c6862..98e06c4e95 100644 --- a/src/openrct2/network/NetworkGroup.cpp +++ b/src/openrct2/network/NetworkGroup.cpp @@ -23,7 +23,7 @@ NetworkGroup::NetworkGroup() { - ActionsAllowed = { 0 }; + ActionsAllowed = { 0 }; } NetworkGroup::~NetworkGroup() diff --git a/src/openrct2/network/http.cpp b/src/openrct2/network/http.cpp index 87c222a15a..3f422b0fc0 100644 --- a/src/openrct2/network/http.cpp +++ b/src/openrct2/network/http.cpp @@ -294,48 +294,48 @@ const char *http_get_extension_from_url(const char *url, const char *fallback) bool http_download_park(const char *url, char tmpPath[L_tmpnam + 10]) { - // Download park to buffer in memory - HttpRequest2 request; - request.Url = url; - request.Method = "GET"; - request.Type = HTTP_DATA_NONE; + // Download park to buffer in memory + HttpRequest2 request; + request.Url = url; + request.Method = "GET"; + request.Type = HTTP_DATA_NONE; - http_response_t *response = http_request(request); + http_response_t *response = http_request(request); - if (response == NULL || response->status_code != 200) { - Console::Error::WriteLine("Failed to download '%s'", request.Url.c_str()); - if (response != NULL) { - http_request_dispose(response); - } - return false; - } + if (response == NULL || response->status_code != 200) { + Console::Error::WriteLine("Failed to download '%s'", request.Url.c_str()); + if (response != NULL) { + http_request_dispose(response); + } + return false; + } - // Generate temporary filename that includes the original extension - if (tmpnam(tmpPath) == NULL) { - Console::Error::WriteLine("Failed to generate temporary filename for downloaded park '%s'", request.Url.c_str()); - http_request_dispose(response); - return false; - } - size_t remainingBytes = L_tmpnam + 10 - strlen(tmpPath); + // Generate temporary filename that includes the original extension + if (tmpnam(tmpPath) == NULL) { + Console::Error::WriteLine("Failed to generate temporary filename for downloaded park '%s'", request.Url.c_str()); + http_request_dispose(response); + return false; + } + size_t remainingBytes = L_tmpnam + 10 - strlen(tmpPath); - const char *ext = http_get_extension_from_url(request.Url.c_str(), ".sv6"); - strncat(tmpPath, ext, remainingBytes); + const char *ext = http_get_extension_from_url(request.Url.c_str(), ".sv6"); + strncat(tmpPath, ext, remainingBytes); - // Store park in temporary file and load it (discard ending NUL in response body) - FILE* tmpFile = fopen(tmpPath, "wb"); + // Store park in temporary file and load it (discard ending NUL in response body) + FILE* tmpFile = fopen(tmpPath, "wb"); - if (tmpFile == NULL) { - Console::Error::WriteLine("Failed to write downloaded park '%s' to temporary file", request.Url.c_str()); - http_request_dispose(response); - return false; - } + if (tmpFile == NULL) { + Console::Error::WriteLine("Failed to write downloaded park '%s' to temporary file", request.Url.c_str()); + http_request_dispose(response); + return false; + } - fwrite(response->body, 1, response->size - 1, tmpFile); - fclose(tmpFile); + fwrite(response->body, 1, response->size - 1, tmpFile); + fclose(tmpFile); - http_request_dispose(response); + http_request_dispose(response); - return true; + return true; } #endif diff --git a/src/openrct2/network/http.h b/src/openrct2/network/http.h index 1384dbbf7d..44b8dd22c4 100644 --- a/src/openrct2/network/http.h +++ b/src/openrct2/network/http.h @@ -22,38 +22,38 @@ #include "../common.h" typedef enum http_data_type_T { - HTTP_DATA_NONE, - HTTP_DATA_RAW, - HTTP_DATA_JSON + HTTP_DATA_NONE, + HTTP_DATA_RAW, + HTTP_DATA_JSON } http_data_type; typedef struct http_request_t { - void *tag; - const char *method; - const char *url; - http_data_type type; - size_t size; - union { - const json_t *root; - char* body; - }; + void *tag; + const char *method; + const char *url; + http_data_type type; + size_t size; + union { + const json_t *root; + char* body; + }; } http_request_t; typedef struct http_response_t { - void *tag; - sint32 status_code; - http_data_type type; - size_t size; - union { - json_t *root; - char* body; - }; + void *tag; + sint32 status_code; + http_data_type type; + size_t size; + union { + json_t *root; + char* body; + }; } http_response_t; -#define HTTP_METHOD_GET "GET" -#define HTTP_METHOD_POST "POST" -#define HTTP_METHOD_PUT "PUT" -#define HTTP_METHOD_DELETE "DELETE" +#define HTTP_METHOD_GET "GET" +#define HTTP_METHOD_POST "POST" +#define HTTP_METHOD_PUT "PUT" +#define HTTP_METHOD_DELETE "DELETE" void http_request_async(const http_request_t *request, void (*callback)(http_response_t*)); void http_request_dispose(http_response_t *response); diff --git a/src/openrct2/network/network.cpp b/src/openrct2/network/network.cpp index f56676c7b1..920ee17f38 100644 --- a/src/openrct2/network/network.cpp +++ b/src/openrct2/network/network.cpp @@ -19,14 +19,14 @@ #include "../PlatformEnvironment.h" extern "C" { - #include "../platform/platform.h" - #include "../util/sawyercoding.h" + #include "../platform/platform.h" + #include "../util/sawyercoding.h" } #include "network.h" -#define ACTION_COOLDOWN_TIME_PLACE_SCENERY 20 -#define ACTION_COOLDOWN_TIME_DEMOLISH_RIDE 1000 +#define ACTION_COOLDOWN_TIME_PLACE_SCENERY 20 +#define ACTION_COOLDOWN_TIME_DEMOLISH_RIDE 1000 rct_peep* _pickup_peep = 0; sint32 _pickup_peep_old_x = SPRITE_LOCATION_NULL; @@ -77,8 +77,8 @@ extern "C" { Network gNetwork; enum { - SERVER_EVENT_PLAYER_JOINED, - SERVER_EVENT_PLAYER_DISCONNECTED, + SERVER_EVENT_PLAYER_JOINED, + SERVER_EVENT_PLAYER_DISCONNECTED, }; void network_chat_show_connected_message(); @@ -89,801 +89,801 @@ static void network_get_public_key_path(utf8 *buffer, size_t bufferSize, const u Network::Network() { - wsa_initialized = false; - mode = NETWORK_MODE_NONE; - status = NETWORK_STATUS_NONE; - last_tick_sent_time = 0; - last_ping_sent_time = 0; - client_command_handlers.resize(NETWORK_COMMAND_MAX, 0); - client_command_handlers[NETWORK_COMMAND_AUTH] = &Network::Client_Handle_AUTH; - client_command_handlers[NETWORK_COMMAND_MAP] = &Network::Client_Handle_MAP; - client_command_handlers[NETWORK_COMMAND_CHAT] = &Network::Client_Handle_CHAT; - client_command_handlers[NETWORK_COMMAND_GAMECMD] = &Network::Client_Handle_GAMECMD; - client_command_handlers[NETWORK_COMMAND_TICK] = &Network::Client_Handle_TICK; - client_command_handlers[NETWORK_COMMAND_PLAYERLIST] = &Network::Client_Handle_PLAYERLIST; - client_command_handlers[NETWORK_COMMAND_PING] = &Network::Client_Handle_PING; - client_command_handlers[NETWORK_COMMAND_PINGLIST] = &Network::Client_Handle_PINGLIST; - client_command_handlers[NETWORK_COMMAND_SETDISCONNECTMSG] = &Network::Client_Handle_SETDISCONNECTMSG; - client_command_handlers[NETWORK_COMMAND_SHOWERROR] = &Network::Client_Handle_SHOWERROR; - client_command_handlers[NETWORK_COMMAND_GROUPLIST] = &Network::Client_Handle_GROUPLIST; - client_command_handlers[NETWORK_COMMAND_EVENT] = &Network::Client_Handle_EVENT; - client_command_handlers[NETWORK_COMMAND_GAMEINFO] = &Network::Client_Handle_GAMEINFO; - client_command_handlers[NETWORK_COMMAND_TOKEN] = &Network::Client_Handle_TOKEN; - client_command_handlers[NETWORK_COMMAND_OBJECTS] = &Network::Client_Handle_OBJECTS; - server_command_handlers.resize(NETWORK_COMMAND_MAX, 0); - server_command_handlers[NETWORK_COMMAND_AUTH] = &Network::Server_Handle_AUTH; - server_command_handlers[NETWORK_COMMAND_CHAT] = &Network::Server_Handle_CHAT; - server_command_handlers[NETWORK_COMMAND_GAMECMD] = &Network::Server_Handle_GAMECMD; - server_command_handlers[NETWORK_COMMAND_PING] = &Network::Server_Handle_PING; - server_command_handlers[NETWORK_COMMAND_GAMEINFO] = &Network::Server_Handle_GAMEINFO; - server_command_handlers[NETWORK_COMMAND_TOKEN] = &Network::Server_Handle_TOKEN; - server_command_handlers[NETWORK_COMMAND_OBJECTS] = &Network::Server_Handle_OBJECTS; - OpenSSL_add_all_algorithms(); + wsa_initialized = false; + mode = NETWORK_MODE_NONE; + status = NETWORK_STATUS_NONE; + last_tick_sent_time = 0; + last_ping_sent_time = 0; + client_command_handlers.resize(NETWORK_COMMAND_MAX, 0); + client_command_handlers[NETWORK_COMMAND_AUTH] = &Network::Client_Handle_AUTH; + client_command_handlers[NETWORK_COMMAND_MAP] = &Network::Client_Handle_MAP; + client_command_handlers[NETWORK_COMMAND_CHAT] = &Network::Client_Handle_CHAT; + client_command_handlers[NETWORK_COMMAND_GAMECMD] = &Network::Client_Handle_GAMECMD; + client_command_handlers[NETWORK_COMMAND_TICK] = &Network::Client_Handle_TICK; + client_command_handlers[NETWORK_COMMAND_PLAYERLIST] = &Network::Client_Handle_PLAYERLIST; + client_command_handlers[NETWORK_COMMAND_PING] = &Network::Client_Handle_PING; + client_command_handlers[NETWORK_COMMAND_PINGLIST] = &Network::Client_Handle_PINGLIST; + client_command_handlers[NETWORK_COMMAND_SETDISCONNECTMSG] = &Network::Client_Handle_SETDISCONNECTMSG; + client_command_handlers[NETWORK_COMMAND_SHOWERROR] = &Network::Client_Handle_SHOWERROR; + client_command_handlers[NETWORK_COMMAND_GROUPLIST] = &Network::Client_Handle_GROUPLIST; + client_command_handlers[NETWORK_COMMAND_EVENT] = &Network::Client_Handle_EVENT; + client_command_handlers[NETWORK_COMMAND_GAMEINFO] = &Network::Client_Handle_GAMEINFO; + client_command_handlers[NETWORK_COMMAND_TOKEN] = &Network::Client_Handle_TOKEN; + client_command_handlers[NETWORK_COMMAND_OBJECTS] = &Network::Client_Handle_OBJECTS; + server_command_handlers.resize(NETWORK_COMMAND_MAX, 0); + server_command_handlers[NETWORK_COMMAND_AUTH] = &Network::Server_Handle_AUTH; + server_command_handlers[NETWORK_COMMAND_CHAT] = &Network::Server_Handle_CHAT; + server_command_handlers[NETWORK_COMMAND_GAMECMD] = &Network::Server_Handle_GAMECMD; + server_command_handlers[NETWORK_COMMAND_PING] = &Network::Server_Handle_PING; + server_command_handlers[NETWORK_COMMAND_GAMEINFO] = &Network::Server_Handle_GAMEINFO; + server_command_handlers[NETWORK_COMMAND_TOKEN] = &Network::Server_Handle_TOKEN; + server_command_handlers[NETWORK_COMMAND_OBJECTS] = &Network::Server_Handle_OBJECTS; + OpenSSL_add_all_algorithms(); } Network::~Network() { - Close(); + Close(); } void Network::SetEnvironment(IPlatformEnvironment * env) { - _env = env; + _env = env; } bool Network::Init() { - if (!InitialiseWSA()) { - return false; - } + if (!InitialiseWSA()) { + return false; + } - status = NETWORK_STATUS_READY; + status = NETWORK_STATUS_READY; - server_connection = new NetworkConnection(); - ServerName = std::string(); - ServerDescription = std::string(); - ServerGreeting = std::string(); - ServerProviderName = std::string(); - ServerProviderEmail = std::string(); - ServerProviderWebsite = std::string(); - return true; + server_connection = new NetworkConnection(); + ServerName = std::string(); + ServerDescription = std::string(); + ServerGreeting = std::string(); + ServerProviderName = std::string(); + ServerProviderEmail = std::string(); + ServerProviderWebsite = std::string(); + return true; } void Network::Close() { - if (status == NETWORK_STATUS_NONE) - { - // Already closed. This prevents a call in ~Network() to gfx_invalidate_screen() - // which may no longer be valid on Linux and would cause a segfault. - return; - } + if (status == NETWORK_STATUS_NONE) + { + // Already closed. This prevents a call in ~Network() to gfx_invalidate_screen() + // which may no longer be valid on Linux and would cause a segfault. + return; + } - // HACK Because Close() is closed all over the place, it sometimes gets called inside an Update - // call. This then causes disposed data to be accessed. Therefore, save closing until the - // end of the update loop. - if (_closeLock) { - _requireClose = true; - return; - } + // HACK Because Close() is closed all over the place, it sometimes gets called inside an Update + // call. This then causes disposed data to be accessed. Therefore, save closing until the + // end of the update loop. + if (_closeLock) { + _requireClose = true; + return; + } - if (mode == NETWORK_MODE_CLIENT) { - delete server_connection->Socket; - server_connection->Socket = nullptr; - } else if (mode == NETWORK_MODE_SERVER) { - delete listening_socket; - listening_socket = nullptr; - delete _advertiser; - _advertiser = nullptr; - } + if (mode == NETWORK_MODE_CLIENT) { + delete server_connection->Socket; + server_connection->Socket = nullptr; + } else if (mode == NETWORK_MODE_SERVER) { + delete listening_socket; + listening_socket = nullptr; + delete _advertiser; + _advertiser = nullptr; + } - CloseChatLog(); - CloseServerLog(); + CloseChatLog(); + CloseServerLog(); - mode = NETWORK_MODE_NONE; - status = NETWORK_STATUS_NONE; - _lastConnectStatus = SOCKET_STATUS_CLOSED; - server_connection->AuthStatus = NETWORK_AUTH_NONE; - server_connection->InboundPacket.Clear(); - server_connection->SetLastDisconnectReason(nullptr); - SafeDelete(server_connection); + mode = NETWORK_MODE_NONE; + status = NETWORK_STATUS_NONE; + _lastConnectStatus = SOCKET_STATUS_CLOSED; + server_connection->AuthStatus = NETWORK_AUTH_NONE; + server_connection->InboundPacket.Clear(); + server_connection->SetLastDisconnectReason(nullptr); + SafeDelete(server_connection); - client_connection_list.clear(); - game_command_queue.clear(); - player_list.clear(); - group_list.clear(); + client_connection_list.clear(); + game_command_queue.clear(); + player_list.clear(); + group_list.clear(); - DisposeWSA(); + DisposeWSA(); - gfx_invalidate_screen(); + gfx_invalidate_screen(); - _requireClose = false; + _requireClose = false; } bool Network::BeginClient(const char* host, uint16 port) { - if (GetMode() != NETWORK_MODE_NONE) { - return false; - } + if (GetMode() != NETWORK_MODE_NONE) { + return false; + } - Close(); - if (!Init()) - return false; + Close(); + if (!Init()) + return false; - mode = NETWORK_MODE_CLIENT; + mode = NETWORK_MODE_CLIENT; - assert(server_connection->Socket == nullptr); - server_connection->Socket = CreateTcpSocket(); - server_connection->Socket->ConnectAsync(host, port); - status = NETWORK_STATUS_CONNECTING; - _lastConnectStatus = SOCKET_STATUS_CLOSED; + assert(server_connection->Socket == nullptr); + server_connection->Socket = CreateTcpSocket(); + server_connection->Socket->ConnectAsync(host, port); + status = NETWORK_STATUS_CONNECTING; + _lastConnectStatus = SOCKET_STATUS_CLOSED; - BeginChatLog(); - BeginServerLog(); + BeginChatLog(); + BeginServerLog(); - utf8 keyPath[MAX_PATH]; - network_get_private_key_path(keyPath, sizeof(keyPath), gConfigNetwork.player_name); - if (!platform_file_exists(keyPath)) { - Console::WriteLine("Generating key... This may take a while"); - Console::WriteLine("Need to collect enough entropy from the system"); - _key.Generate(); - Console::WriteLine("Key generated, saving private bits as %s", keyPath); + utf8 keyPath[MAX_PATH]; + network_get_private_key_path(keyPath, sizeof(keyPath), gConfigNetwork.player_name); + if (!platform_file_exists(keyPath)) { + Console::WriteLine("Generating key... This may take a while"); + Console::WriteLine("Need to collect enough entropy from the system"); + _key.Generate(); + Console::WriteLine("Key generated, saving private bits as %s", keyPath); - utf8 keysDirectory[MAX_PATH]; - network_get_keys_directory(keysDirectory, sizeof(keysDirectory)); - if (!platform_ensure_directory_exists(keysDirectory)) { - log_error("Unable to create directory %s.", keysDirectory); - return false; - } + utf8 keysDirectory[MAX_PATH]; + network_get_keys_directory(keysDirectory, sizeof(keysDirectory)); + if (!platform_ensure_directory_exists(keysDirectory)) { + log_error("Unable to create directory %s.", keysDirectory); + return false; + } - try - { - auto fs = FileStream(keyPath, FILE_MODE_WRITE); - _key.SavePrivate(&fs); - } - catch (Exception) - { - log_error("Unable to save private key at %s.", keyPath); - return false; - } + try + { + auto fs = FileStream(keyPath, FILE_MODE_WRITE); + _key.SavePrivate(&fs); + } + catch (Exception) + { + log_error("Unable to save private key at %s.", keyPath); + return false; + } - const std::string hash = _key.PublicKeyHash(); - const utf8 *publicKeyHash = hash.c_str(); - network_get_public_key_path(keyPath, sizeof(keyPath), gConfigNetwork.player_name, publicKeyHash); - Console::WriteLine("Key generated, saving public bits as %s", keyPath); + const std::string hash = _key.PublicKeyHash(); + const utf8 *publicKeyHash = hash.c_str(); + network_get_public_key_path(keyPath, sizeof(keyPath), gConfigNetwork.player_name, publicKeyHash); + Console::WriteLine("Key generated, saving public bits as %s", keyPath); - try - { - auto fs = FileStream(keyPath, FILE_MODE_WRITE); - _key.SavePublic(&fs); - } - catch (Exception) - { - log_error("Unable to save public key at %s.", keyPath); - return false; - } - } else { - // LoadPrivate returns validity of loaded key - bool ok = false; - try - { - log_verbose("Loading key from %s", keyPath); - auto fs = FileStream(keyPath, FILE_MODE_OPEN); - ok = _key.LoadPrivate(&fs); - } - catch (Exception) - { - log_error("Unable to read private key from %s.", keyPath); - return false; - } + try + { + auto fs = FileStream(keyPath, FILE_MODE_WRITE); + _key.SavePublic(&fs); + } + catch (Exception) + { + log_error("Unable to save public key at %s.", keyPath); + return false; + } + } else { + // LoadPrivate returns validity of loaded key + bool ok = false; + try + { + log_verbose("Loading key from %s", keyPath); + auto fs = FileStream(keyPath, FILE_MODE_OPEN); + ok = _key.LoadPrivate(&fs); + } + catch (Exception) + { + log_error("Unable to read private key from %s.", keyPath); + return false; + } - // Don't store private key in memory when it's not in use. - _key.Unload(); - return ok; - } + // Don't store private key in memory when it's not in use. + _key.Unload(); + return ok; + } - return true; + return true; } bool Network::BeginServer(uint16 port, const char* address) { - Close(); - if (!Init()) - return false; + Close(); + if (!Init()) + return false; - mode = NETWORK_MODE_SERVER; + mode = NETWORK_MODE_SERVER; - _userManager.Load(); + _userManager.Load(); - if (strlen(address) == 0) - address = nullptr; + if (strlen(address) == 0) + address = nullptr; - log_verbose("Begin listening for clients"); + log_verbose("Begin listening for clients"); - assert(listening_socket == nullptr); - listening_socket = CreateTcpSocket(); - try - { - listening_socket->Listen(address, port); - } - catch (const Exception &ex) - { - Console::Error::WriteLine(ex.GetMessage()); - Close(); - return false; - } + assert(listening_socket == nullptr); + listening_socket = CreateTcpSocket(); + try + { + listening_socket->Listen(address, port); + } + catch (const Exception &ex) + { + Console::Error::WriteLine(ex.GetMessage()); + Close(); + return false; + } - ServerName = String::ToStd(gConfigNetwork.server_name); - ServerDescription = String::ToStd(gConfigNetwork.server_description); - ServerGreeting = String::ToStd(gConfigNetwork.server_greeting); - ServerProviderName = String::ToStd(gConfigNetwork.provider_name); - ServerProviderEmail = String::ToStd(gConfigNetwork.provider_email); - ServerProviderWebsite = String::ToStd(gConfigNetwork.provider_website); + ServerName = String::ToStd(gConfigNetwork.server_name); + ServerDescription = String::ToStd(gConfigNetwork.server_description); + ServerGreeting = String::ToStd(gConfigNetwork.server_greeting); + ServerProviderName = String::ToStd(gConfigNetwork.provider_name); + ServerProviderEmail = String::ToStd(gConfigNetwork.provider_email); + ServerProviderWebsite = String::ToStd(gConfigNetwork.provider_website); - cheats_reset(); - LoadGroups(); - BeginChatLog(); - BeginServerLog(); + cheats_reset(); + LoadGroups(); + BeginChatLog(); + BeginServerLog(); - NetworkPlayer *player = AddPlayer(gConfigNetwork.player_name, ""); - player->Flags |= NETWORK_PLAYER_FLAG_ISSERVER; - player->Group = 0; - player_id = player->Id; + NetworkPlayer *player = AddPlayer(gConfigNetwork.player_name, ""); + player->Flags |= NETWORK_PLAYER_FLAG_ISSERVER; + player->Group = 0; + player_id = player->Id; - if (network_get_mode() == NETWORK_MODE_SERVER) { - // Add SERVER to users.json and save. - NetworkUser *networkUser = _userManager.GetOrAddUser(player->KeyHash); - networkUser->GroupId = player->Group; - networkUser->Name = player->Name; - _userManager.Save(); - } + if (network_get_mode() == NETWORK_MODE_SERVER) { + // Add SERVER to users.json and save. + NetworkUser *networkUser = _userManager.GetOrAddUser(player->KeyHash); + networkUser->GroupId = player->Group; + networkUser->Name = player->Name; + _userManager.Save(); + } - printf("Ready for clients...\n"); - network_chat_show_connected_message(); - network_chat_show_server_greeting(); + printf("Ready for clients...\n"); + network_chat_show_connected_message(); + network_chat_show_server_greeting(); - status = NETWORK_STATUS_CONNECTED; - listening_port = port; - if (gConfigNetwork.advertise) { - _advertiser = CreateServerAdvertiser(listening_port); - } + status = NETWORK_STATUS_CONNECTED; + listening_port = port; + if (gConfigNetwork.advertise) { + _advertiser = CreateServerAdvertiser(listening_port); + } - return true; + return true; } sint32 Network::GetMode() { - return mode; + return mode; } sint32 Network::GetStatus() { - return status; + return status; } sint32 Network::GetAuthStatus() { - if (GetMode() == NETWORK_MODE_CLIENT) { - return server_connection->AuthStatus; - } else - if (GetMode() == NETWORK_MODE_SERVER) { - return NETWORK_AUTH_OK; - } - return NETWORK_AUTH_NONE; + if (GetMode() == NETWORK_MODE_CLIENT) { + return server_connection->AuthStatus; + } else + if (GetMode() == NETWORK_MODE_SERVER) { + return NETWORK_AUTH_OK; + } + return NETWORK_AUTH_NONE; } uint32 Network::GetServerTick() { - return server_tick; + return server_tick; } uint8 Network::GetPlayerID() { - return player_id; + return player_id; } void Network::Update() { - _closeLock = true; + _closeLock = true; - switch (GetMode()) { - case NETWORK_MODE_SERVER: - UpdateServer(); - break; - case NETWORK_MODE_CLIENT: - UpdateClient(); - break; - } + switch (GetMode()) { + case NETWORK_MODE_SERVER: + UpdateServer(); + break; + case NETWORK_MODE_CLIENT: + UpdateClient(); + break; + } - // If the Close() was called during the update, close it for real - _closeLock = false; - if (_requireClose) { - Close(); - } + // If the Close() was called during the update, close it for real + _closeLock = false; + if (_requireClose) { + Close(); + } } void Network::UpdateServer() { - auto it = client_connection_list.begin(); - while (it != client_connection_list.end()) { - if (!ProcessConnection(*(*it))) { - RemoveClient((*it)); - it = client_connection_list.begin(); - } else { - it++; - } - } + auto it = client_connection_list.begin(); + while (it != client_connection_list.end()) { + if (!ProcessConnection(*(*it))) { + RemoveClient((*it)); + it = client_connection_list.begin(); + } else { + it++; + } + } - uint32 ticks = platform_get_ticks(); - if (ticks > last_tick_sent_time + 25) { - Server_Send_TICK(); - } - if (ticks > last_ping_sent_time + 3000) { - Server_Send_PING(); - Server_Send_PINGLIST(); - } + uint32 ticks = platform_get_ticks(); + if (ticks > last_tick_sent_time + 25) { + Server_Send_TICK(); + } + if (ticks > last_ping_sent_time + 3000) { + Server_Send_PING(); + Server_Send_PINGLIST(); + } - if (_advertiser != nullptr) { - _advertiser->Update(); - } + if (_advertiser != nullptr) { + _advertiser->Update(); + } - ITcpSocket * tcpSocket = listening_socket->Accept(); - if (tcpSocket != nullptr) { - AddClient(tcpSocket); - } + ITcpSocket * tcpSocket = listening_socket->Accept(); + if (tcpSocket != nullptr) { + AddClient(tcpSocket); + } } void Network::UpdateClient() { - assert(server_connection != nullptr); + assert(server_connection != nullptr); - switch(status){ - case NETWORK_STATUS_CONNECTING: - { - switch (server_connection->Socket->GetStatus()) { - case SOCKET_STATUS_RESOLVING: - { - if (_lastConnectStatus != SOCKET_STATUS_RESOLVING) - { - _lastConnectStatus = SOCKET_STATUS_RESOLVING; - char str_resolving[256]; - format_string(str_resolving, 256, STR_MULTIPLAYER_RESOLVING, NULL); - window_network_status_open(str_resolving, []() -> void { - gNetwork.Close(); - }); - } - break; - } - case SOCKET_STATUS_CONNECTING: - { - if (_lastConnectStatus != SOCKET_STATUS_CONNECTING) - { - _lastConnectStatus = SOCKET_STATUS_CONNECTING; - char str_connecting[256]; - format_string(str_connecting, 256, STR_MULTIPLAYER_CONNECTING, NULL); - window_network_status_open(str_connecting, []() -> void { - gNetwork.Close(); - }); - server_connect_time = platform_get_ticks(); - } - break; - } - case SOCKET_STATUS_CONNECTED: - { - status = NETWORK_STATUS_CONNECTED; - server_connection->ResetLastPacketTime(); - Client_Send_TOKEN(); - char str_authenticating[256]; - format_string(str_authenticating, 256, STR_MULTIPLAYER_AUTHENTICATING, NULL); - window_network_status_open(str_authenticating, []() -> void { - gNetwork.Close(); - }); - break; - } - default: - { - const char * error = server_connection->Socket->GetError(); - if (error != nullptr) { - Console::Error::WriteLine(error); - } + switch(status){ + case NETWORK_STATUS_CONNECTING: + { + switch (server_connection->Socket->GetStatus()) { + case SOCKET_STATUS_RESOLVING: + { + if (_lastConnectStatus != SOCKET_STATUS_RESOLVING) + { + _lastConnectStatus = SOCKET_STATUS_RESOLVING; + char str_resolving[256]; + format_string(str_resolving, 256, STR_MULTIPLAYER_RESOLVING, NULL); + window_network_status_open(str_resolving, []() -> void { + gNetwork.Close(); + }); + } + break; + } + case SOCKET_STATUS_CONNECTING: + { + if (_lastConnectStatus != SOCKET_STATUS_CONNECTING) + { + _lastConnectStatus = SOCKET_STATUS_CONNECTING; + char str_connecting[256]; + format_string(str_connecting, 256, STR_MULTIPLAYER_CONNECTING, NULL); + window_network_status_open(str_connecting, []() -> void { + gNetwork.Close(); + }); + server_connect_time = platform_get_ticks(); + } + break; + } + case SOCKET_STATUS_CONNECTED: + { + status = NETWORK_STATUS_CONNECTED; + server_connection->ResetLastPacketTime(); + Client_Send_TOKEN(); + char str_authenticating[256]; + format_string(str_authenticating, 256, STR_MULTIPLAYER_AUTHENTICATING, NULL); + window_network_status_open(str_authenticating, []() -> void { + gNetwork.Close(); + }); + break; + } + default: + { + const char * error = server_connection->Socket->GetError(); + if (error != nullptr) { + Console::Error::WriteLine(error); + } - Close(); - window_network_status_close(); - window_error_open(STR_UNABLE_TO_CONNECT_TO_SERVER, STR_NONE); - break; - } - } - break; - } - case NETWORK_STATUS_CONNECTED: - { - if (!ProcessConnection(*server_connection)) { - // Do not show disconnect message window when password window closed/canceled - if (server_connection->AuthStatus == NETWORK_AUTH_REQUIREPASSWORD) { - window_network_status_close(); - } else { - char str_disconnected[256]; + Close(); + window_network_status_close(); + window_error_open(STR_UNABLE_TO_CONNECT_TO_SERVER, STR_NONE); + break; + } + } + break; + } + case NETWORK_STATUS_CONNECTED: + { + if (!ProcessConnection(*server_connection)) { + // Do not show disconnect message window when password window closed/canceled + if (server_connection->AuthStatus == NETWORK_AUTH_REQUIREPASSWORD) { + window_network_status_close(); + } else { + char str_disconnected[256]; - if (server_connection->GetLastDisconnectReason()) { - const char * disconnect_reason = server_connection->GetLastDisconnectReason(); - format_string(str_disconnected, 256, STR_MULTIPLAYER_DISCONNECTED_WITH_REASON, &disconnect_reason); - } else { - format_string(str_disconnected, 256, STR_MULTIPLAYER_DISCONNECTED_NO_REASON, NULL); - } + if (server_connection->GetLastDisconnectReason()) { + const char * disconnect_reason = server_connection->GetLastDisconnectReason(); + format_string(str_disconnected, 256, STR_MULTIPLAYER_DISCONNECTED_WITH_REASON, &disconnect_reason); + } else { + format_string(str_disconnected, 256, STR_MULTIPLAYER_DISCONNECTED_NO_REASON, NULL); + } - window_network_status_open(str_disconnected, NULL); - } - Close(); - } + window_network_status_open(str_disconnected, NULL); + } + Close(); + } - // Check synchronisation - if (!_desynchronised && !CheckSRAND(gCurrentTicks, gScenarioSrand0)) { - _desynchronised = true; - char str_desync[256]; - format_string(str_desync, 256, STR_MULTIPLAYER_DESYNC, NULL); - window_network_status_open(str_desync, NULL); - if (!gConfigNetwork.stay_connected) { - Close(); - } - } + // Check synchronisation + if (!_desynchronised && !CheckSRAND(gCurrentTicks, gScenarioSrand0)) { + _desynchronised = true; + char str_desync[256]; + format_string(str_desync, 256, STR_MULTIPLAYER_DESYNC, NULL); + window_network_status_open(str_desync, NULL); + if (!gConfigNetwork.stay_connected) { + Close(); + } + } - ProcessGameCommandQueue(); - break; - } - } + ProcessGameCommandQueue(); + break; + } + } } std::vector>::iterator Network::GetPlayerIteratorByID(uint8 id) { - auto it = std::find_if(player_list.begin(), player_list.end(), [&id](std::unique_ptr const& player) { return player->Id == id; }); - if (it != player_list.end()) { - return it; - } - return player_list.end(); + auto it = std::find_if(player_list.begin(), player_list.end(), [&id](std::unique_ptr const& player) { return player->Id == id; }); + if (it != player_list.end()) { + return it; + } + return player_list.end(); } NetworkPlayer* Network::GetPlayerByID(uint8 id) { - auto it = GetPlayerIteratorByID(id); - if (it != player_list.end()) { - return it->get(); - } - return nullptr; + auto it = GetPlayerIteratorByID(id); + if (it != player_list.end()) { + return it->get(); + } + return nullptr; } std::vector>::iterator Network::GetGroupIteratorByID(uint8 id) { - auto it = std::find_if(group_list.begin(), group_list.end(), [&id](std::unique_ptr const& group) { return group->Id == id; }); - if (it != group_list.end()) { - return it; - } - return group_list.end(); + auto it = std::find_if(group_list.begin(), group_list.end(), [&id](std::unique_ptr const& group) { return group->Id == id; }); + if (it != group_list.end()) { + return it; + } + return group_list.end(); } NetworkGroup* Network::GetGroupByID(uint8 id) { - auto it = GetGroupIteratorByID(id); - if (it != group_list.end()) { - return it->get(); - } - return nullptr; + auto it = GetGroupIteratorByID(id); + if (it != group_list.end()) { + return it->get(); + } + return nullptr; } const char* Network::FormatChat(NetworkPlayer* fromplayer, const char* text) { - static char formatted[1024]; - char* lineCh = formatted; - formatted[0] = 0; - if (fromplayer) { - lineCh = utf8_write_codepoint(lineCh, FORMAT_OUTLINE); - lineCh = utf8_write_codepoint(lineCh, FORMAT_BABYBLUE); - safe_strcpy(lineCh, (const char *) fromplayer->Name.c_str(), sizeof(formatted) - (lineCh - formatted)); - safe_strcat(lineCh, ": ", sizeof(formatted) - (lineCh - formatted)); - lineCh = strchr(lineCh, '\0'); - } - lineCh = utf8_write_codepoint(lineCh, FORMAT_OUTLINE); - lineCh = utf8_write_codepoint(lineCh, FORMAT_WHITE); - char* ptrtext = lineCh; - safe_strcpy(lineCh, text, 800); - utf8_remove_format_codes((utf8*)ptrtext, true); - return formatted; + static char formatted[1024]; + char* lineCh = formatted; + formatted[0] = 0; + if (fromplayer) { + lineCh = utf8_write_codepoint(lineCh, FORMAT_OUTLINE); + lineCh = utf8_write_codepoint(lineCh, FORMAT_BABYBLUE); + safe_strcpy(lineCh, (const char *) fromplayer->Name.c_str(), sizeof(formatted) - (lineCh - formatted)); + safe_strcat(lineCh, ": ", sizeof(formatted) - (lineCh - formatted)); + lineCh = strchr(lineCh, '\0'); + } + lineCh = utf8_write_codepoint(lineCh, FORMAT_OUTLINE); + lineCh = utf8_write_codepoint(lineCh, FORMAT_WHITE); + char* ptrtext = lineCh; + safe_strcpy(lineCh, text, 800); + utf8_remove_format_codes((utf8*)ptrtext, true); + return formatted; } void Network::SendPacketToClients(NetworkPacket& packet, bool front) { - for (auto it = client_connection_list.begin(); it != client_connection_list.end(); it++) { - (*it)->QueuePacket(NetworkPacket::Duplicate(packet), front); - } + for (auto it = client_connection_list.begin(); it != client_connection_list.end(); it++) { + (*it)->QueuePacket(NetworkPacket::Duplicate(packet), front); + } } bool Network::CheckSRAND(uint32 tick, uint32 srand0) { - if (server_srand0_tick == 0) - return true; + if (server_srand0_tick == 0) + return true; - if (tick > server_srand0_tick) { - server_srand0_tick = 0; - return true; - } + if (tick > server_srand0_tick) { + server_srand0_tick = 0; + return true; + } - if (game_commands_processed_this_tick != 0) { - // SRAND/sprite hash is only updated once at beginning of tick so it is invalid otherwise - return true; - } + if (game_commands_processed_this_tick != 0) { + // SRAND/sprite hash is only updated once at beginning of tick so it is invalid otherwise + return true; + } - if (tick == server_srand0_tick) { - server_srand0_tick = 0; - // Check that the server and client sprite hashes match - const bool sprites_mismatch = server_sprite_hash[0] != '\0' && strcmp(sprite_checksum(), server_sprite_hash); - // Check PRNG values and sprite hashes, if exist - if ((srand0 != server_srand0) || sprites_mismatch) { - return false; - } - } - return true; + if (tick == server_srand0_tick) { + server_srand0_tick = 0; + // Check that the server and client sprite hashes match + const bool sprites_mismatch = server_sprite_hash[0] != '\0' && strcmp(sprite_checksum(), server_sprite_hash); + // Check PRNG values and sprite hashes, if exist + if ((srand0 != server_srand0) || sprites_mismatch) { + return false; + } + } + return true; } void Network::KickPlayer(sint32 playerId) { - for(auto it = client_connection_list.begin(); it != client_connection_list.end(); it++) { - if ((*it)->Player->Id == playerId) { - // Disconnect the client gracefully - (*it)->SetLastDisconnectReason(STR_MULTIPLAYER_KICKED); - char str_disconnect_msg[256]; - format_string(str_disconnect_msg, 256, STR_MULTIPLAYER_KICKED_REASON, NULL); - Server_Send_SETDISCONNECTMSG(*(*it), str_disconnect_msg); - (*it)->Socket->Disconnect(); - break; - } - } + for(auto it = client_connection_list.begin(); it != client_connection_list.end(); it++) { + if ((*it)->Player->Id == playerId) { + // Disconnect the client gracefully + (*it)->SetLastDisconnectReason(STR_MULTIPLAYER_KICKED); + char str_disconnect_msg[256]; + format_string(str_disconnect_msg, 256, STR_MULTIPLAYER_KICKED_REASON, NULL); + Server_Send_SETDISCONNECTMSG(*(*it), str_disconnect_msg); + (*it)->Socket->Disconnect(); + break; + } + } } void Network::SetPassword(const char* password) { - _password = password == nullptr ? "" : password; + _password = password == nullptr ? "" : password; } void Network::ShutdownClient() { - if (GetMode() == NETWORK_MODE_CLIENT) { - server_connection->Socket->Disconnect(); - } + if (GetMode() == NETWORK_MODE_CLIENT) { + server_connection->Socket->Disconnect(); + } } std::string Network::GenerateAdvertiseKey() { - // Generate a string of 16 random hex characters (64-integer key as a hex formatted string) - static char hexChars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; - char key[17]; - for (sint32 i = 0; i < 16; i++) { - sint32 hexCharIndex = util_rand() % Util::CountOf(hexChars); - key[i] = hexChars[hexCharIndex]; - } - key[Util::CountOf(key) - 1] = 0; + // Generate a string of 16 random hex characters (64-integer key as a hex formatted string) + static char hexChars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; + char key[17]; + for (sint32 i = 0; i < 16; i++) { + sint32 hexCharIndex = util_rand() % Util::CountOf(hexChars); + key[i] = hexChars[hexCharIndex]; + } + key[Util::CountOf(key) - 1] = 0; - return key; + return key; } const char *Network::GetMasterServerUrl() { - if (str_is_null_or_empty(gConfigNetwork.master_server_url)) { - return OPENRCT2_MASTER_SERVER_URL; - } else { - return gConfigNetwork.master_server_url; - } + if (str_is_null_or_empty(gConfigNetwork.master_server_url)) { + return OPENRCT2_MASTER_SERVER_URL; + } else { + return gConfigNetwork.master_server_url; + } } NetworkGroup* Network::AddGroup() { - NetworkGroup* addedgroup = nullptr; - sint32 newid = -1; - // Find first unused group id - for (sint32 id = 0; id < 255; id++) { - if (std::find_if(group_list.begin(), group_list.end(), [&id](std::unique_ptr const& group) { - return group->Id == id; - }) == group_list.end()) { - newid = id; - break; - } - } - if (newid != -1) { - std::unique_ptr group(new NetworkGroup); // change to make_unique in c++14 - group->Id = newid; - group->SetName("Group #" + std::to_string(newid)); - addedgroup = group.get(); - group_list.push_back(std::move(group)); - } - return addedgroup; + NetworkGroup* addedgroup = nullptr; + sint32 newid = -1; + // Find first unused group id + for (sint32 id = 0; id < 255; id++) { + if (std::find_if(group_list.begin(), group_list.end(), [&id](std::unique_ptr const& group) { + return group->Id == id; + }) == group_list.end()) { + newid = id; + break; + } + } + if (newid != -1) { + std::unique_ptr group(new NetworkGroup); // change to make_unique in c++14 + group->Id = newid; + group->SetName("Group #" + std::to_string(newid)); + addedgroup = group.get(); + group_list.push_back(std::move(group)); + } + return addedgroup; } void Network::RemoveGroup(uint8 id) { - auto group = GetGroupIteratorByID(id); - if (group != group_list.end()) { - group_list.erase(group); - } + auto group = GetGroupIteratorByID(id); + if (group != group_list.end()) { + group_list.erase(group); + } - if (GetMode() == NETWORK_MODE_SERVER) { - _userManager.UnsetUsersOfGroup(id); - _userManager.Save(); - } + if (GetMode() == NETWORK_MODE_SERVER) { + _userManager.UnsetUsersOfGroup(id); + _userManager.Save(); + } } uint8 Network::GetGroupIDByHash(const std::string &keyhash) { - const NetworkUser * networkUser = _userManager.GetUserByHash(keyhash); + const NetworkUser * networkUser = _userManager.GetUserByHash(keyhash); - uint8 groupId = GetDefaultGroup(); - if (networkUser != nullptr && networkUser->GroupId.HasValue()) { - const uint8 assignedGroup = networkUser->GroupId.GetValue(); - if (GetGroupByID(assignedGroup) != nullptr) { - groupId = assignedGroup; - } else { - log_warning("User %s is assigned to non-existent group %u. Assigning to default group (%u)", - keyhash.c_str(), assignedGroup, groupId); - } - } - return groupId; + uint8 groupId = GetDefaultGroup(); + if (networkUser != nullptr && networkUser->GroupId.HasValue()) { + const uint8 assignedGroup = networkUser->GroupId.GetValue(); + if (GetGroupByID(assignedGroup) != nullptr) { + groupId = assignedGroup; + } else { + log_warning("User %s is assigned to non-existent group %u. Assigning to default group (%u)", + keyhash.c_str(), assignedGroup, groupId); + } + } + return groupId; } uint8 Network::GetDefaultGroup() { - return default_group; + return default_group; } void Network::SetDefaultGroup(uint8 id) { - if (GetGroupByID(id)) { - default_group = id; - } + if (GetGroupByID(id)) { + default_group = id; + } } void Network::SaveGroups() { - if (GetMode() == NETWORK_MODE_SERVER) { - utf8 path[MAX_PATH]; + if (GetMode() == NETWORK_MODE_SERVER) { + utf8 path[MAX_PATH]; - platform_get_user_directory(path, NULL, sizeof(path)); - safe_strcat_path(path, "groups.json", sizeof(path)); + platform_get_user_directory(path, NULL, sizeof(path)); + safe_strcat_path(path, "groups.json", sizeof(path)); - json_t * jsonGroupsCfg = json_object(); - json_t * jsonGroups = json_array(); - for (auto it = group_list.begin(); it != group_list.end(); it++) { - json_array_append_new(jsonGroups, (*it)->ToJson()); - } - json_object_set_new(jsonGroupsCfg, "default_group", json_integer(default_group)); - json_object_set_new(jsonGroupsCfg, "groups", jsonGroups); - try - { - Json::WriteToFile(path, jsonGroupsCfg, JSON_INDENT(4) | JSON_PRESERVE_ORDER); - } - catch (const Exception &ex) - { - log_error("Unable to save %s: %s", path, ex.GetMessage()); - } + json_t * jsonGroupsCfg = json_object(); + json_t * jsonGroups = json_array(); + for (auto it = group_list.begin(); it != group_list.end(); it++) { + json_array_append_new(jsonGroups, (*it)->ToJson()); + } + json_object_set_new(jsonGroupsCfg, "default_group", json_integer(default_group)); + json_object_set_new(jsonGroupsCfg, "groups", jsonGroups); + try + { + Json::WriteToFile(path, jsonGroupsCfg, JSON_INDENT(4) | JSON_PRESERVE_ORDER); + } + catch (const Exception &ex) + { + log_error("Unable to save %s: %s", path, ex.GetMessage()); + } - json_decref(jsonGroupsCfg); - } + json_decref(jsonGroupsCfg); + } } void Network::SetupDefaultGroups() { - std::unique_ptr admin(new NetworkGroup()); // change to make_unique in c++14 - admin->SetName("Admin"); - admin->ActionsAllowed.fill(0xFF); - admin->Id = 0; - group_list.push_back(std::move(admin)); - std::unique_ptr spectator(new NetworkGroup()); // change to make_unique in c++14 - spectator->SetName("Spectator"); - spectator->ToggleActionPermission(0); // Chat - spectator->Id = 1; - group_list.push_back(std::move(spectator)); - std::unique_ptr user(new NetworkGroup()); // change to make_unique in c++14 - user->SetName("User"); - user->ActionsAllowed.fill(0xFF); - user->ToggleActionPermission(15); // Kick Player - user->ToggleActionPermission(16); // Modify Groups - user->ToggleActionPermission(17); // Set Player Group - user->ToggleActionPermission(18); // Cheat - user->ToggleActionPermission(20); // Passwordless login - user->ToggleActionPermission(21); // Modify Tile - user->ToggleActionPermission(22); // Edit Scenario Options - user->Id = 2; - group_list.push_back(std::move(user)); - SetDefaultGroup(1); + std::unique_ptr admin(new NetworkGroup()); // change to make_unique in c++14 + admin->SetName("Admin"); + admin->ActionsAllowed.fill(0xFF); + admin->Id = 0; + group_list.push_back(std::move(admin)); + std::unique_ptr spectator(new NetworkGroup()); // change to make_unique in c++14 + spectator->SetName("Spectator"); + spectator->ToggleActionPermission(0); // Chat + spectator->Id = 1; + group_list.push_back(std::move(spectator)); + std::unique_ptr user(new NetworkGroup()); // change to make_unique in c++14 + user->SetName("User"); + user->ActionsAllowed.fill(0xFF); + user->ToggleActionPermission(15); // Kick Player + user->ToggleActionPermission(16); // Modify Groups + user->ToggleActionPermission(17); // Set Player Group + user->ToggleActionPermission(18); // Cheat + user->ToggleActionPermission(20); // Passwordless login + user->ToggleActionPermission(21); // Modify Tile + user->ToggleActionPermission(22); // Edit Scenario Options + user->Id = 2; + group_list.push_back(std::move(user)); + SetDefaultGroup(1); } void Network::LoadGroups() { - group_list.clear(); + group_list.clear(); - utf8 path[MAX_PATH]; + utf8 path[MAX_PATH]; - platform_get_user_directory(path, NULL, sizeof(path)); - safe_strcat_path(path, "groups.json", sizeof(path)); + platform_get_user_directory(path, NULL, sizeof(path)); + safe_strcat_path(path, "groups.json", sizeof(path)); - json_t * json = nullptr; - if (platform_file_exists(path)) { - try { - json = Json::ReadFromFile(path); - } catch (const Exception &e) { - log_error("Failed to read %s as JSON. Setting default groups. %s", path, e.GetMessage()); - } - } + json_t * json = nullptr; + if (platform_file_exists(path)) { + try { + json = Json::ReadFromFile(path); + } catch (const Exception &e) { + log_error("Failed to read %s as JSON. Setting default groups. %s", path, e.GetMessage()); + } + } - if (json == nullptr) { - SetupDefaultGroups(); - } else { - json_t * json_groups = json_object_get(json, "groups"); - size_t groupCount = (size_t)json_array_size(json_groups); - for (size_t i = 0; i < groupCount; i++) { - json_t * jsonGroup = json_array_get(json_groups, i); + if (json == nullptr) { + SetupDefaultGroups(); + } else { + json_t * json_groups = json_object_get(json, "groups"); + size_t groupCount = (size_t)json_array_size(json_groups); + for (size_t i = 0; i < groupCount; i++) { + json_t * jsonGroup = json_array_get(json_groups, i); - std::unique_ptr newgroup(new NetworkGroup(NetworkGroup::FromJson(jsonGroup))); // change to make_unique in c++14 - group_list.push_back(std::move(newgroup)); - } - json_t * jsonDefaultGroup = json_object_get(json, "default_group"); - default_group = (uint8)json_integer_value(jsonDefaultGroup); - if (GetGroupByID(default_group) == nullptr) { - default_group = 0; - } - json_decref(json); - } + std::unique_ptr newgroup(new NetworkGroup(NetworkGroup::FromJson(jsonGroup))); // change to make_unique in c++14 + group_list.push_back(std::move(newgroup)); + } + json_t * jsonDefaultGroup = json_object_get(json, "default_group"); + default_group = (uint8)json_integer_value(jsonDefaultGroup); + if (GetGroupByID(default_group) == nullptr) { + default_group = 0; + } + json_decref(json); + } - // Host group should always contain all permissions. - group_list.at(0)->ActionsAllowed.fill(0xFF); + // Host group should always contain all permissions. + group_list.at(0)->ActionsAllowed.fill(0xFF); } std::string Network::BeginLog(const std::string &directory, const std::string &filenameFormat) { - utf8 filename[256]; - time_t timer; - time(&timer); - auto tmInfo = localtime(&timer); - if (strftime(filename, sizeof(filename), filenameFormat.c_str(), tmInfo) == 0) { - throw std::runtime_error("strftime failed"); - } + utf8 filename[256]; + time_t timer; + time(&timer); + auto tmInfo = localtime(&timer); + if (strftime(filename, sizeof(filename), filenameFormat.c_str(), tmInfo) == 0) { + throw std::runtime_error("strftime failed"); + } - return Path::Combine(directory, filename); + return Path::Combine(directory, filename); } void Network::AppendLog(const std::string &logPath, const std::string &s) { - std::string directory = Path::GetDirectory(logPath); - if (platform_ensure_directory_exists(directory.c_str())) { - try - { - auto fs = FileStream(logPath, FILE_MODE_APPEND); + std::string directory = Path::GetDirectory(logPath); + if (platform_ensure_directory_exists(directory.c_str())) { + try + { + auto fs = FileStream(logPath, FILE_MODE_APPEND); - utf8 buffer[256]; - time_t timer; - time(&timer); - auto tmInfo = localtime(&timer); - if (strftime(buffer, sizeof(buffer), "[%Y/%m/%d %H:%M:%S] ", tmInfo) != 0) { - String::Append(buffer, sizeof(buffer), s.c_str()); - utf8_remove_formatting(buffer, false); - String::Append(buffer, sizeof(buffer), PLATFORM_NEWLINE); + utf8 buffer[256]; + time_t timer; + time(&timer); + auto tmInfo = localtime(&timer); + if (strftime(buffer, sizeof(buffer), "[%Y/%m/%d %H:%M:%S] ", tmInfo) != 0) { + String::Append(buffer, sizeof(buffer), s.c_str()); + utf8_remove_formatting(buffer, false); + String::Append(buffer, sizeof(buffer), PLATFORM_NEWLINE); - fs.Write(buffer, strlen(buffer)); - } - } - catch (const Exception &ex) - { - log_error("%s", ex.GetMessage()); - } - } + fs.Write(buffer, strlen(buffer)); + } + } + catch (const Exception &ex) + { + log_error("%s", ex.GetMessage()); + } + } } void Network::BeginChatLog() { - auto directory = _env->GetDirectoryPath(DIRBASE::USER, DIRID::LOG_CHAT); - _chatLogPath = BeginLog(directory, _chatLogFilenameFormat); + auto directory = _env->GetDirectoryPath(DIRBASE::USER, DIRID::LOG_CHAT); + _chatLogPath = BeginLog(directory, _chatLogFilenameFormat); } void Network::AppendChatLog(const std::string &s) { - if (gConfigNetwork.log_chat) { - AppendLog(_chatLogPath, s); - } + if (gConfigNetwork.log_chat) { + AppendLog(_chatLogPath, s); + } } void Network::CloseChatLog() @@ -892,1924 +892,1924 @@ void Network::CloseChatLog() void Network::BeginServerLog() { - auto directory = _env->GetDirectoryPath(DIRBASE::USER, DIRID::LOG_SERVER); - _serverLogPath = BeginLog(directory, (ServerName + _serverLogFilenameFormat)); + auto directory = _env->GetDirectoryPath(DIRBASE::USER, DIRID::LOG_SERVER); + _serverLogPath = BeginLog(directory, (ServerName + _serverLogFilenameFormat)); - // Log server start event - utf8 logMessage[256]; - if (GetMode() == NETWORK_MODE_CLIENT) { - format_string(logMessage, sizeof(logMessage), STR_LOG_CLIENT_STARTED, NULL); - } else if (GetMode() == NETWORK_MODE_SERVER) { - format_string(logMessage, sizeof(logMessage), STR_LOG_SERVER_STARTED, NULL); - } - AppendServerLog(logMessage); + // Log server start event + utf8 logMessage[256]; + if (GetMode() == NETWORK_MODE_CLIENT) { + format_string(logMessage, sizeof(logMessage), STR_LOG_CLIENT_STARTED, NULL); + } else if (GetMode() == NETWORK_MODE_SERVER) { + format_string(logMessage, sizeof(logMessage), STR_LOG_SERVER_STARTED, NULL); + } + AppendServerLog(logMessage); } void Network::AppendServerLog(const std::string &s) { - if (gConfigNetwork.log_server_actions) { - AppendLog(_serverLogPath.c_str(), s); - } + if (gConfigNetwork.log_server_actions) { + AppendLog(_serverLogPath.c_str(), s); + } } void Network::CloseServerLog() { - // Log server stopped event - char logMessage[256]; - if (GetMode() == NETWORK_MODE_CLIENT) { - format_string(logMessage, sizeof(logMessage), STR_LOG_CLIENT_STOPPED, NULL); - } else if (GetMode() == NETWORK_MODE_SERVER) { - format_string(logMessage, sizeof(logMessage), STR_LOG_SERVER_STOPPED, NULL); - } - AppendServerLog(logMessage); + // Log server stopped event + char logMessage[256]; + if (GetMode() == NETWORK_MODE_CLIENT) { + format_string(logMessage, sizeof(logMessage), STR_LOG_CLIENT_STOPPED, NULL); + } else if (GetMode() == NETWORK_MODE_SERVER) { + format_string(logMessage, sizeof(logMessage), STR_LOG_SERVER_STOPPED, NULL); + } + AppendServerLog(logMessage); } void Network::Client_Send_TOKEN() { - log_verbose("requesting token"); - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_TOKEN; - server_connection->AuthStatus = NETWORK_AUTH_REQUESTED; - server_connection->QueuePacket(std::move(packet)); + log_verbose("requesting token"); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_TOKEN; + server_connection->AuthStatus = NETWORK_AUTH_REQUESTED; + server_connection->QueuePacket(std::move(packet)); } void Network::Client_Send_AUTH(const char* name, const char* password, const char* pubkey, const char *sig, size_t sigsize) { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_AUTH; - packet->WriteString(NETWORK_STREAM_ID); - packet->WriteString(name); - packet->WriteString(password); - packet->WriteString(pubkey); - assert(sigsize <= (size_t)UINT32_MAX); - *packet << (uint32)sigsize; - packet->Write((const uint8 *)sig, sigsize); - server_connection->AuthStatus = NETWORK_AUTH_REQUESTED; - server_connection->QueuePacket(std::move(packet)); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_AUTH; + packet->WriteString(NETWORK_STREAM_ID); + packet->WriteString(name); + packet->WriteString(password); + packet->WriteString(pubkey); + assert(sigsize <= (size_t)UINT32_MAX); + *packet << (uint32)sigsize; + packet->Write((const uint8 *)sig, sigsize); + server_connection->AuthStatus = NETWORK_AUTH_REQUESTED; + server_connection->QueuePacket(std::move(packet)); } void Network::Client_Send_OBJECTS(const std::vector &objects) { - log_verbose("client requests %u objects", uint32(objects.size())); - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_OBJECTS << (uint32)objects.size(); - for (uint32 i = 0; i < objects.size(); i++) - { - log_verbose("client requests object %s", objects[i].c_str()); - packet->Write((const uint8 *)objects[i].c_str(), 8); - } - server_connection->QueuePacket(std::move(packet)); + log_verbose("client requests %u objects", uint32(objects.size())); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_OBJECTS << (uint32)objects.size(); + for (uint32 i = 0; i < objects.size(); i++) + { + log_verbose("client requests object %s", objects[i].c_str()); + packet->Write((const uint8 *)objects[i].c_str(), 8); + } + server_connection->QueuePacket(std::move(packet)); } void Network::Server_Send_TOKEN(NetworkConnection& connection) { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_TOKEN << (uint32)connection.Challenge.size(); - packet->Write(connection.Challenge.data(), connection.Challenge.size()); - connection.QueuePacket(std::move(packet)); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_TOKEN << (uint32)connection.Challenge.size(); + packet->Write(connection.Challenge.data(), connection.Challenge.size()); + connection.QueuePacket(std::move(packet)); } void Network::Server_Send_OBJECTS(NetworkConnection& connection, const std::vector &objects) const { - log_verbose("Server sends objects list with %u items", objects.size()); - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_OBJECTS << (uint32)objects.size(); - for (size_t i = 0; i < objects.size(); i++) - { - log_verbose("Object %.8s (checksum %x)", objects[i]->ObjectEntry.name, objects[i]->ObjectEntry.checksum); - packet->Write((const uint8 *)objects[i]->ObjectEntry.name, 8); - *packet << objects[i]->ObjectEntry.checksum << objects[i]->ObjectEntry.flags; - } - connection.QueuePacket(std::move(packet)); + log_verbose("Server sends objects list with %u items", objects.size()); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_OBJECTS << (uint32)objects.size(); + for (size_t i = 0; i < objects.size(); i++) + { + log_verbose("Object %.8s (checksum %x)", objects[i]->ObjectEntry.name, objects[i]->ObjectEntry.checksum); + packet->Write((const uint8 *)objects[i]->ObjectEntry.name, 8); + *packet << objects[i]->ObjectEntry.checksum << objects[i]->ObjectEntry.flags; + } + connection.QueuePacket(std::move(packet)); } void Network::Server_Send_AUTH(NetworkConnection& connection) { - uint8 new_playerid = 0; - if (connection.Player) { - new_playerid = connection.Player->Id; - } - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_AUTH << (uint32)connection.AuthStatus << (uint8)new_playerid; - if (connection.AuthStatus == NETWORK_AUTH_BADVERSION) { - packet->WriteString(NETWORK_STREAM_ID); - } - connection.QueuePacket(std::move(packet)); - if (connection.AuthStatus != NETWORK_AUTH_OK && connection.AuthStatus != NETWORK_AUTH_REQUIREPASSWORD) { - connection.SendQueuedPackets(); - connection.Socket->Disconnect(); - } + uint8 new_playerid = 0; + if (connection.Player) { + new_playerid = connection.Player->Id; + } + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_AUTH << (uint32)connection.AuthStatus << (uint8)new_playerid; + if (connection.AuthStatus == NETWORK_AUTH_BADVERSION) { + packet->WriteString(NETWORK_STREAM_ID); + } + connection.QueuePacket(std::move(packet)); + if (connection.AuthStatus != NETWORK_AUTH_OK && connection.AuthStatus != NETWORK_AUTH_REQUIREPASSWORD) { + connection.SendQueuedPackets(); + connection.Socket->Disconnect(); + } } void Network::Server_Send_MAP(NetworkConnection* connection) { - std::vector objects; - if (connection) { - objects = connection->RequestedObjects; - } else { - // This will send all custom objects to connected clients - // TODO: fix it so custom objects negotiation is performed even in this case. - IObjectManager * objManager = GetObjectManager(); - objects = objManager->GetPackableObjects(); - } + std::vector objects; + if (connection) { + objects = connection->RequestedObjects; + } else { + // This will send all custom objects to connected clients + // TODO: fix it so custom objects negotiation is performed even in this case. + IObjectManager * objManager = GetObjectManager(); + objects = objManager->GetPackableObjects(); + } - size_t out_size; - uint8 * header = save_for_network(out_size, objects); - if (header == nullptr) { - if (connection) { - connection->SetLastDisconnectReason(STR_MULTIPLAYER_CONNECTION_CLOSED); - connection->Socket->Disconnect(); - } - return; - } - size_t chunksize = 65000; - for (size_t i = 0; i < out_size; i += chunksize) { - size_t datasize = Math::Min(chunksize, out_size - i); - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_MAP << (uint32)out_size << (uint32)i; - packet->Write(&header[i], datasize); - if (connection) { - connection->QueuePacket(std::move(packet)); - } else { - SendPacketToClients(*packet); - } - } - free(header); + size_t out_size; + uint8 * header = save_for_network(out_size, objects); + if (header == nullptr) { + if (connection) { + connection->SetLastDisconnectReason(STR_MULTIPLAYER_CONNECTION_CLOSED); + connection->Socket->Disconnect(); + } + return; + } + size_t chunksize = 65000; + for (size_t i = 0; i < out_size; i += chunksize) { + size_t datasize = Math::Min(chunksize, out_size - i); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_MAP << (uint32)out_size << (uint32)i; + packet->Write(&header[i], datasize); + if (connection) { + connection->QueuePacket(std::move(packet)); + } else { + SendPacketToClients(*packet); + } + } + free(header); } uint8 * Network::save_for_network(size_t &out_size, const std::vector &objects) const { - uint8 * header = nullptr; - out_size = 0; - bool RLEState = gUseRLE; - gUseRLE = false; + uint8 * header = nullptr; + out_size = 0; + bool RLEState = gUseRLE; + gUseRLE = false; - auto ms = MemoryStream(); - if (!SaveMap(&ms, objects)) { - log_warning("Failed to export map."); - return nullptr; - } - gUseRLE = RLEState; + auto ms = MemoryStream(); + if (!SaveMap(&ms, objects)) { + log_warning("Failed to export map."); + return nullptr; + } + gUseRLE = RLEState; - const void * data = ms.GetData(); - sint32 size = ms.GetLength(); + const void * data = ms.GetData(); + sint32 size = ms.GetLength(); - uint8 *compressed = util_zlib_deflate((const uint8 *)data, size, &out_size); - if (compressed != NULL) - { - header = (uint8 *)_strdup("open2_sv6_zlib"); - size_t header_len = strlen((char *)header) + 1; // account for null terminator - header = (uint8 *)realloc(header, header_len + out_size); - if (header == nullptr) { - log_error("Failed to allocate %u bytes.", header_len + out_size); - } else { - memcpy(&header[header_len], compressed, out_size); - out_size += header_len; - log_verbose("Sending map of size %u bytes, compressed to %u bytes", size, out_size); - } - free(compressed); - } else { - log_warning("Failed to compress the data, falling back to non-compressed sv6."); - header = (uint8 *)malloc(size); - if (header == nullptr) { - log_error("Failed to allocate %u bytes.", size); - } else { - out_size = size; - memcpy(header, data, size); - } - } - return header; + uint8 *compressed = util_zlib_deflate((const uint8 *)data, size, &out_size); + if (compressed != NULL) + { + header = (uint8 *)_strdup("open2_sv6_zlib"); + size_t header_len = strlen((char *)header) + 1; // account for null terminator + header = (uint8 *)realloc(header, header_len + out_size); + if (header == nullptr) { + log_error("Failed to allocate %u bytes.", header_len + out_size); + } else { + memcpy(&header[header_len], compressed, out_size); + out_size += header_len; + log_verbose("Sending map of size %u bytes, compressed to %u bytes", size, out_size); + } + free(compressed); + } else { + log_warning("Failed to compress the data, falling back to non-compressed sv6."); + header = (uint8 *)malloc(size); + if (header == nullptr) { + log_error("Failed to allocate %u bytes.", size); + } else { + out_size = size; + memcpy(header, data, size); + } + } + return header; } void Network::Client_Send_CHAT(const char* text) { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_CHAT; - packet->WriteString(text); - server_connection->QueuePacket(std::move(packet)); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_CHAT; + packet->WriteString(text); + server_connection->QueuePacket(std::move(packet)); } void Network::Server_Send_CHAT(const char* text) { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_CHAT; - packet->WriteString(text); - SendPacketToClients(*packet); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_CHAT; + packet->WriteString(text); + SendPacketToClients(*packet); } void Network::Client_Send_GAMECMD(uint32 eax, uint32 ebx, uint32 ecx, uint32 edx, uint32 esi, uint32 edi, uint32 ebp, uint8 callback) { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_GAMECMD << (uint32)gCurrentTicks << eax << (ebx | GAME_COMMAND_FLAG_NETWORKED) - << ecx << edx << esi << edi << ebp << callback; - server_connection->QueuePacket(std::move(packet)); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_GAMECMD << (uint32)gCurrentTicks << eax << (ebx | GAME_COMMAND_FLAG_NETWORKED) + << ecx << edx << esi << edi << ebp << callback; + server_connection->QueuePacket(std::move(packet)); } void Network::Server_Send_GAMECMD(uint32 eax, uint32 ebx, uint32 ecx, uint32 edx, uint32 esi, uint32 edi, uint32 ebp, uint8 playerid, uint8 callback) { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_GAMECMD << (uint32)gCurrentTicks << eax << (ebx | GAME_COMMAND_FLAG_NETWORKED) - << ecx << edx << esi << edi << ebp << playerid << callback; - SendPacketToClients(*packet); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_GAMECMD << (uint32)gCurrentTicks << eax << (ebx | GAME_COMMAND_FLAG_NETWORKED) + << ecx << edx << esi << edi << ebp << playerid << callback; + SendPacketToClients(*packet); } void Network::Server_Send_TICK() { - last_tick_sent_time = platform_get_ticks(); - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_TICK << (uint32)gCurrentTicks << (uint32)gScenarioSrand0; - uint32 flags = 0; - // Simple counter which limits how often a sprite checksum gets sent. - // This can get somewhat expensive, so we don't want to push it every tick in release, - // but debug version can check more often. - static sint32 checksum_counter = 0; - checksum_counter++; - if (checksum_counter >= 100) { - checksum_counter = 0; - flags |= NETWORK_TICK_FLAG_CHECKSUMS; - } - // Send flags always, so we can understand packet structure on the other end, - // and allow for some expansion. - *packet << flags; - if (flags & NETWORK_TICK_FLAG_CHECKSUMS) { - packet->WriteString(sprite_checksum()); - } - SendPacketToClients(*packet); + last_tick_sent_time = platform_get_ticks(); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_TICK << (uint32)gCurrentTicks << (uint32)gScenarioSrand0; + uint32 flags = 0; + // Simple counter which limits how often a sprite checksum gets sent. + // This can get somewhat expensive, so we don't want to push it every tick in release, + // but debug version can check more often. + static sint32 checksum_counter = 0; + checksum_counter++; + if (checksum_counter >= 100) { + checksum_counter = 0; + flags |= NETWORK_TICK_FLAG_CHECKSUMS; + } + // Send flags always, so we can understand packet structure on the other end, + // and allow for some expansion. + *packet << flags; + if (flags & NETWORK_TICK_FLAG_CHECKSUMS) { + packet->WriteString(sprite_checksum()); + } + SendPacketToClients(*packet); } void Network::Server_Send_PLAYERLIST() { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_PLAYERLIST << (uint8)player_list.size(); - for (uint32 i = 0; i < player_list.size(); i++) { - player_list[i]->Write(*packet); - } - SendPacketToClients(*packet); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_PLAYERLIST << (uint8)player_list.size(); + for (uint32 i = 0; i < player_list.size(); i++) { + player_list[i]->Write(*packet); + } + SendPacketToClients(*packet); } void Network::Client_Send_PING() { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_PING; - server_connection->QueuePacket(std::move(packet)); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_PING; + server_connection->QueuePacket(std::move(packet)); } void Network::Server_Send_PING() { - last_ping_sent_time = platform_get_ticks(); - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_PING; - for (auto it = client_connection_list.begin(); it != client_connection_list.end(); it++) { - (*it)->PingTime = platform_get_ticks(); - } - SendPacketToClients(*packet, true); + last_ping_sent_time = platform_get_ticks(); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_PING; + for (auto it = client_connection_list.begin(); it != client_connection_list.end(); it++) { + (*it)->PingTime = platform_get_ticks(); + } + SendPacketToClients(*packet, true); } void Network::Server_Send_PINGLIST() { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_PINGLIST << (uint8)player_list.size(); - for (size_t i = 0; i < player_list.size(); i++) { - *packet << player_list[i]->Id << player_list[i]->Ping; - } - SendPacketToClients(*packet); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_PINGLIST << (uint8)player_list.size(); + for (size_t i = 0; i < player_list.size(); i++) { + *packet << player_list[i]->Id << player_list[i]->Ping; + } + SendPacketToClients(*packet); } void Network::Server_Send_SETDISCONNECTMSG(NetworkConnection& connection, const char* msg) { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_SETDISCONNECTMSG; - packet->WriteString(msg); - connection.QueuePacket(std::move(packet)); - connection.SendQueuedPackets(); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_SETDISCONNECTMSG; + packet->WriteString(msg); + connection.QueuePacket(std::move(packet)); + connection.SendQueuedPackets(); } void Network::Server_Send_GAMEINFO(NetworkConnection& connection) { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_GAMEINFO; + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_GAMEINFO; #ifndef DISABLE_HTTP - json_t* obj = json_object(); - json_object_set_new(obj, "name", json_string(gConfigNetwork.server_name)); - json_object_set_new(obj, "requiresPassword", json_boolean(_password.size() > 0)); - json_object_set_new(obj, "version", json_string(NETWORK_STREAM_ID)); - json_object_set_new(obj, "players", json_integer(player_list.size())); - json_object_set_new(obj, "maxPlayers", json_integer(gConfigNetwork.maxplayers)); - json_object_set_new(obj, "description", json_string(gConfigNetwork.server_description)); - json_object_set_new(obj, "greeting", json_string(gConfigNetwork.server_greeting)); - json_object_set_new(obj, "dedicated", json_boolean(gOpenRCT2Headless)); + json_t* obj = json_object(); + json_object_set_new(obj, "name", json_string(gConfigNetwork.server_name)); + json_object_set_new(obj, "requiresPassword", json_boolean(_password.size() > 0)); + json_object_set_new(obj, "version", json_string(NETWORK_STREAM_ID)); + json_object_set_new(obj, "players", json_integer(player_list.size())); + json_object_set_new(obj, "maxPlayers", json_integer(gConfigNetwork.maxplayers)); + json_object_set_new(obj, "description", json_string(gConfigNetwork.server_description)); + json_object_set_new(obj, "greeting", json_string(gConfigNetwork.server_greeting)); + json_object_set_new(obj, "dedicated", json_boolean(gOpenRCT2Headless)); - // Provider details - json_t* jsonProvider = json_object(); - json_object_set_new(jsonProvider, "name", json_string(gConfigNetwork.provider_name)); - json_object_set_new(jsonProvider, "email", json_string(gConfigNetwork.provider_email)); - json_object_set_new(jsonProvider, "website", json_string(gConfigNetwork.provider_website)); - json_object_set_new(obj, "provider", jsonProvider); + // Provider details + json_t* jsonProvider = json_object(); + json_object_set_new(jsonProvider, "name", json_string(gConfigNetwork.provider_name)); + json_object_set_new(jsonProvider, "email", json_string(gConfigNetwork.provider_email)); + json_object_set_new(jsonProvider, "website", json_string(gConfigNetwork.provider_website)); + json_object_set_new(obj, "provider", jsonProvider); - packet->WriteString(json_dumps(obj, 0)); - json_decref(obj); + packet->WriteString(json_dumps(obj, 0)); + json_decref(obj); #endif - connection.QueuePacket(std::move(packet)); + connection.QueuePacket(std::move(packet)); } void Network::Server_Send_SHOWERROR(NetworkConnection& connection, rct_string_id title, rct_string_id message) { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_SHOWERROR << title << message; - connection.QueuePacket(std::move(packet)); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_SHOWERROR << title << message; + connection.QueuePacket(std::move(packet)); } void Network::Server_Send_GROUPLIST(NetworkConnection& connection) { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_GROUPLIST << (uint8)group_list.size() << default_group; - for (uint32 i = 0; i < group_list.size(); i++) { - group_list[i]->Write(*packet); - } - connection.QueuePacket(std::move(packet)); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_GROUPLIST << (uint8)group_list.size() << default_group; + for (uint32 i = 0; i < group_list.size(); i++) { + group_list[i]->Write(*packet); + } + connection.QueuePacket(std::move(packet)); } void Network::Server_Send_EVENT_PLAYER_JOINED(const char *playerName) { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_EVENT; - *packet << (uint16)SERVER_EVENT_PLAYER_JOINED; - packet->WriteString(playerName); - SendPacketToClients(*packet); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_EVENT; + *packet << (uint16)SERVER_EVENT_PLAYER_JOINED; + packet->WriteString(playerName); + SendPacketToClients(*packet); } void Network::Server_Send_EVENT_PLAYER_DISCONNECTED(const char *playerName, const char *reason) { - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_EVENT; - *packet << (uint16)SERVER_EVENT_PLAYER_DISCONNECTED; - packet->WriteString(playerName); - packet->WriteString(reason); - SendPacketToClients(*packet); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_EVENT; + *packet << (uint16)SERVER_EVENT_PLAYER_DISCONNECTED; + packet->WriteString(playerName); + packet->WriteString(reason); + SendPacketToClients(*packet); } bool Network::ProcessConnection(NetworkConnection& connection) { - sint32 packetStatus; - do { - packetStatus = connection.ReadPacket(); - switch(packetStatus) { - case NETWORK_READPACKET_DISCONNECTED: - // closed connection or network error - if (!connection.GetLastDisconnectReason()) { - connection.SetLastDisconnectReason(STR_MULTIPLAYER_CONNECTION_CLOSED); - } - return false; - break; - case NETWORK_READPACKET_SUCCESS: - // done reading in packet - ProcessPacket(connection, connection.InboundPacket); - if (connection.Socket == nullptr) { - return false; - } - break; - case NETWORK_READPACKET_MORE_DATA: - // more data required to be read - break; - case NETWORK_READPACKET_NO_DATA: - // could not read anything from socket - break; - } - } while (packetStatus == NETWORK_READPACKET_MORE_DATA || packetStatus == NETWORK_READPACKET_SUCCESS); - connection.SendQueuedPackets(); - if (!connection.ReceivedPacketRecently()) { - if (!connection.GetLastDisconnectReason()) { - connection.SetLastDisconnectReason(STR_MULTIPLAYER_NO_DATA); - } - return false; - } - return true; + sint32 packetStatus; + do { + packetStatus = connection.ReadPacket(); + switch(packetStatus) { + case NETWORK_READPACKET_DISCONNECTED: + // closed connection or network error + if (!connection.GetLastDisconnectReason()) { + connection.SetLastDisconnectReason(STR_MULTIPLAYER_CONNECTION_CLOSED); + } + return false; + break; + case NETWORK_READPACKET_SUCCESS: + // done reading in packet + ProcessPacket(connection, connection.InboundPacket); + if (connection.Socket == nullptr) { + return false; + } + break; + case NETWORK_READPACKET_MORE_DATA: + // more data required to be read + break; + case NETWORK_READPACKET_NO_DATA: + // could not read anything from socket + break; + } + } while (packetStatus == NETWORK_READPACKET_MORE_DATA || packetStatus == NETWORK_READPACKET_SUCCESS); + connection.SendQueuedPackets(); + if (!connection.ReceivedPacketRecently()) { + if (!connection.GetLastDisconnectReason()) { + connection.SetLastDisconnectReason(STR_MULTIPLAYER_NO_DATA); + } + return false; + } + return true; } void Network::ProcessPacket(NetworkConnection& connection, NetworkPacket& packet) { - uint32 command; - packet >> command; - if (command < NETWORK_COMMAND_MAX) { - switch (gNetwork.GetMode()) { - case NETWORK_MODE_SERVER: - if (server_command_handlers[command]) { - if (connection.AuthStatus == NETWORK_AUTH_OK || !packet.CommandRequiresAuth()) { - (this->*server_command_handlers[command])(connection, packet); - } - } - break; - case NETWORK_MODE_CLIENT: - if (client_command_handlers[command]) { - (this->*client_command_handlers[command])(connection, packet); - } - break; - } - } - packet.Clear(); + uint32 command; + packet >> command; + if (command < NETWORK_COMMAND_MAX) { + switch (gNetwork.GetMode()) { + case NETWORK_MODE_SERVER: + if (server_command_handlers[command]) { + if (connection.AuthStatus == NETWORK_AUTH_OK || !packet.CommandRequiresAuth()) { + (this->*server_command_handlers[command])(connection, packet); + } + } + break; + case NETWORK_MODE_CLIENT: + if (client_command_handlers[command]) { + (this->*client_command_handlers[command])(connection, packet); + } + break; + } + } + packet.Clear(); } void Network::ProcessGameCommandQueue() { - while (game_command_queue.begin() != game_command_queue.end() && game_command_queue.begin()->tick == gCurrentTicks) { - // run all the game commands at the current tick - const GameCommand& gc = (*game_command_queue.begin()); - if (GetPlayerID() == gc.playerid) { - game_command_callback = game_command_callback_get_callback(gc.callback); - } - game_command_playerid = gc.playerid; - sint32 command = gc.esi; - money32 cost = game_do_command_p(command, (sint32*)&gc.eax, (sint32*)&gc.ebx, (sint32*)&gc.ecx, (sint32*)&gc.edx, (sint32*)&gc.esi, (sint32*)&gc.edi, (sint32*)&gc.ebp); - if (cost != MONEY32_UNDEFINED) { - game_commands_processed_this_tick++; - NetworkPlayer* player = GetPlayerByID(gc.playerid); - if (player) { - player->LastAction = NetworkActions::FindCommand(command); - player->LastActionTime = platform_get_ticks(); - player->AddMoneySpent(cost); - } - } - game_command_queue.erase(game_command_queue.begin()); - } + while (game_command_queue.begin() != game_command_queue.end() && game_command_queue.begin()->tick == gCurrentTicks) { + // run all the game commands at the current tick + const GameCommand& gc = (*game_command_queue.begin()); + if (GetPlayerID() == gc.playerid) { + game_command_callback = game_command_callback_get_callback(gc.callback); + } + game_command_playerid = gc.playerid; + sint32 command = gc.esi; + money32 cost = game_do_command_p(command, (sint32*)&gc.eax, (sint32*)&gc.ebx, (sint32*)&gc.ecx, (sint32*)&gc.edx, (sint32*)&gc.esi, (sint32*)&gc.edi, (sint32*)&gc.ebp); + if (cost != MONEY32_UNDEFINED) { + game_commands_processed_this_tick++; + NetworkPlayer* player = GetPlayerByID(gc.playerid); + if (player) { + player->LastAction = NetworkActions::FindCommand(command); + player->LastActionTime = platform_get_ticks(); + player->AddMoneySpent(cost); + } + } + game_command_queue.erase(game_command_queue.begin()); + } } void Network::AddClient(ITcpSocket * socket) { - auto connection = std::unique_ptr(new NetworkConnection); // change to make_unique in c++14 - connection->Socket = socket; - char addr[128]; - snprintf(addr, sizeof(addr), "Client joined from %s", socket->GetHostName()); - AppendServerLog(addr); - client_connection_list.push_back(std::move(connection)); + auto connection = std::unique_ptr(new NetworkConnection); // change to make_unique in c++14 + connection->Socket = socket; + char addr[128]; + snprintf(addr, sizeof(addr), "Client joined from %s", socket->GetHostName()); + AppendServerLog(addr); + client_connection_list.push_back(std::move(connection)); } void Network::RemoveClient(std::unique_ptr& connection) { - NetworkPlayer* connection_player = connection->Player; - if (connection_player) { - char text[256]; - const char * has_disconnected_args[2] = { - (char *) connection_player->Name.c_str(), - connection->GetLastDisconnectReason() - }; - if (has_disconnected_args[1]) { - format_string(text, 256, STR_MULTIPLAYER_PLAYER_HAS_DISCONNECTED_WITH_REASON, has_disconnected_args); - } else { - format_string(text, 256, STR_MULTIPLAYER_PLAYER_HAS_DISCONNECTED_NO_REASON, &(has_disconnected_args[0])); - } + NetworkPlayer* connection_player = connection->Player; + if (connection_player) { + char text[256]; + const char * has_disconnected_args[2] = { + (char *) connection_player->Name.c_str(), + connection->GetLastDisconnectReason() + }; + if (has_disconnected_args[1]) { + format_string(text, 256, STR_MULTIPLAYER_PLAYER_HAS_DISCONNECTED_WITH_REASON, has_disconnected_args); + } else { + format_string(text, 256, STR_MULTIPLAYER_PLAYER_HAS_DISCONNECTED_NO_REASON, &(has_disconnected_args[0])); + } - chat_history_add(text); - rct_peep* pickup_peep = network_get_pickup_peep(connection_player->Id); - if(pickup_peep) { - game_command_playerid = connection_player->Id; - game_do_command(pickup_peep->sprite_index, GAME_COMMAND_FLAG_APPLY, 1, 0, pickup_peep->type == PEEP_TYPE_GUEST ? GAME_COMMAND_PICKUP_GUEST : GAME_COMMAND_PICKUP_STAFF, network_get_pickup_peep_old_x(connection_player->Id), 0); - } - gNetwork.Server_Send_EVENT_PLAYER_DISCONNECTED((char*)connection_player->Name.c_str(), connection->GetLastDisconnectReason()); + chat_history_add(text); + rct_peep* pickup_peep = network_get_pickup_peep(connection_player->Id); + if(pickup_peep) { + game_command_playerid = connection_player->Id; + game_do_command(pickup_peep->sprite_index, GAME_COMMAND_FLAG_APPLY, 1, 0, pickup_peep->type == PEEP_TYPE_GUEST ? GAME_COMMAND_PICKUP_GUEST : GAME_COMMAND_PICKUP_STAFF, network_get_pickup_peep_old_x(connection_player->Id), 0); + } + gNetwork.Server_Send_EVENT_PLAYER_DISCONNECTED((char*)connection_player->Name.c_str(), connection->GetLastDisconnectReason()); - // Log player disconnected event - AppendServerLog(text); - } - player_list.erase(std::remove_if(player_list.begin(), player_list.end(), [connection_player](std::unique_ptr& player){ - return player.get() == connection_player; - }), player_list.end()); - client_connection_list.remove(connection); - Server_Send_PLAYERLIST(); + // Log player disconnected event + AppendServerLog(text); + } + player_list.erase(std::remove_if(player_list.begin(), player_list.end(), [connection_player](std::unique_ptr& player){ + return player.get() == connection_player; + }), player_list.end()); + client_connection_list.remove(connection); + Server_Send_PLAYERLIST(); } NetworkPlayer* Network::AddPlayer(const utf8 *name, const std::string &keyhash) { - NetworkPlayer* addedplayer = nullptr; - sint32 newid = -1; - if (GetMode() == NETWORK_MODE_SERVER) { - // Find first unused player id - for (sint32 id = 0; id < 255; id++) { - if (std::find_if(player_list.begin(), player_list.end(), [&id](std::unique_ptr const& player) { - return player->Id == id; - }) == player_list.end()) { - newid = id; - break; - } - } - } else { - newid = 0; - } - if (newid != -1) { - std::unique_ptr player; - if (GetMode() == NETWORK_MODE_SERVER) { - // Load keys host may have added manually - _userManager.Load(); + NetworkPlayer* addedplayer = nullptr; + sint32 newid = -1; + if (GetMode() == NETWORK_MODE_SERVER) { + // Find first unused player id + for (sint32 id = 0; id < 255; id++) { + if (std::find_if(player_list.begin(), player_list.end(), [&id](std::unique_ptr const& player) { + return player->Id == id; + }) == player_list.end()) { + newid = id; + break; + } + } + } else { + newid = 0; + } + if (newid != -1) { + std::unique_ptr player; + if (GetMode() == NETWORK_MODE_SERVER) { + // Load keys host may have added manually + _userManager.Load(); - // Check if the key is registered - const NetworkUser * networkUser = _userManager.GetUserByHash(keyhash); + // Check if the key is registered + const NetworkUser * networkUser = _userManager.GetUserByHash(keyhash); - player = std::unique_ptr(new NetworkPlayer); // change to make_unique in c++14 - player->Id = newid; - player->KeyHash = keyhash; - if (networkUser == nullptr) { - player->Group = GetDefaultGroup(); - if (!String::IsNullOrEmpty(name)) { - player->SetName(MakePlayerNameUnique(std::string(name))); - } - } else { - player->Group = networkUser->GroupId.GetValueOrDefault(GetDefaultGroup()); - player->SetName(networkUser->Name); - } - } else { - player = std::unique_ptr(new NetworkPlayer); // change to make_unique in c++14 - player->Id = newid; - player->Group = GetDefaultGroup(); - player->SetName(name); - } + player = std::unique_ptr(new NetworkPlayer); // change to make_unique in c++14 + player->Id = newid; + player->KeyHash = keyhash; + if (networkUser == nullptr) { + player->Group = GetDefaultGroup(); + if (!String::IsNullOrEmpty(name)) { + player->SetName(MakePlayerNameUnique(std::string(name))); + } + } else { + player->Group = networkUser->GroupId.GetValueOrDefault(GetDefaultGroup()); + player->SetName(networkUser->Name); + } + } else { + player = std::unique_ptr(new NetworkPlayer); // change to make_unique in c++14 + player->Id = newid; + player->Group = GetDefaultGroup(); + player->SetName(name); + } - addedplayer = player.get(); - player_list.push_back(std::move(player)); - } - return addedplayer; + addedplayer = player.get(); + player_list.push_back(std::move(player)); + } + return addedplayer; } std::string Network::MakePlayerNameUnique(const std::string &name) { - // Note: Player names are case-insensitive + // Note: Player names are case-insensitive - std::string new_name = name.substr(0, 31); - sint32 counter = 1; - bool unique; - do { - unique = true; + std::string new_name = name.substr(0, 31); + sint32 counter = 1; + bool unique; + do { + unique = true; - // Check if there is already a player with this name in the server - for (const auto &player : player_list) { - if (String::Equals(player->Name.c_str(), new_name.c_str(), true)) { - unique = false; - break; - } - } + // Check if there is already a player with this name in the server + for (const auto &player : player_list) { + if (String::Equals(player->Name.c_str(), new_name.c_str(), true)) { + unique = false; + break; + } + } - if (unique) { - // Check if there is already a registered player with this name - if (_userManager.GetUserByName(new_name) != nullptr) { - unique = false; - } - } + if (unique) { + // Check if there is already a registered player with this name + if (_userManager.GetUserByName(new_name) != nullptr) { + unique = false; + } + } - if (!unique) { - // Increment name counter - counter++; - new_name = name.substr(0, 31) + " #" + std::to_string(counter); - } - } while (!unique); - return new_name; + if (!unique) { + // Increment name counter + counter++; + new_name = name.substr(0, 31) + " #" + std::to_string(counter); + } + } while (!unique); + return new_name; } void Network::Client_Handle_TOKEN(NetworkConnection& connection, NetworkPacket& packet) { - utf8 keyPath[MAX_PATH]; - network_get_private_key_path(keyPath, sizeof(keyPath), gConfigNetwork.player_name); - if (!platform_file_exists(keyPath)) { - log_error("Key file (%s) was not found. Restart client to re-generate it.", keyPath); - return; - } + utf8 keyPath[MAX_PATH]; + network_get_private_key_path(keyPath, sizeof(keyPath), gConfigNetwork.player_name); + if (!platform_file_exists(keyPath)) { + log_error("Key file (%s) was not found. Restart client to re-generate it.", keyPath); + return; + } - try - { - auto fs = FileStream(keyPath, FILE_MODE_OPEN); - if (!_key.LoadPrivate(&fs)) - { - throw Exception(); - } - } - catch (Exception) - { - log_error("Failed to load key %s", keyPath); - connection.SetLastDisconnectReason(STR_MULTIPLAYER_VERIFICATION_FAILURE); - connection.Socket->Disconnect(); - return; - } + try + { + auto fs = FileStream(keyPath, FILE_MODE_OPEN); + if (!_key.LoadPrivate(&fs)) + { + throw Exception(); + } + } + catch (Exception) + { + log_error("Failed to load key %s", keyPath); + connection.SetLastDisconnectReason(STR_MULTIPLAYER_VERIFICATION_FAILURE); + connection.Socket->Disconnect(); + return; + } - uint32 challenge_size; - packet >> challenge_size; - const char *challenge = (const char *)packet.Read(challenge_size); - size_t sigsize; - char *signature; - const std::string pubkey = _key.PublicKeyString(); - _challenge.resize(challenge_size); - memcpy(_challenge.data(), challenge, challenge_size); - bool ok = _key.Sign(_challenge.data(), _challenge.size(), &signature, &sigsize); - if (!ok) { - log_error("Failed to sign server's challenge."); - connection.SetLastDisconnectReason(STR_MULTIPLAYER_VERIFICATION_FAILURE); - connection.Socket->Disconnect(); - return; - } - // Don't keep private key in memory. There's no need and it may get leaked - // when process dump gets collected at some point in future. - _key.Unload(); - Client_Send_AUTH(gConfigNetwork.player_name, "", pubkey.c_str(), signature, sigsize); - delete [] signature; + uint32 challenge_size; + packet >> challenge_size; + const char *challenge = (const char *)packet.Read(challenge_size); + size_t sigsize; + char *signature; + const std::string pubkey = _key.PublicKeyString(); + _challenge.resize(challenge_size); + memcpy(_challenge.data(), challenge, challenge_size); + bool ok = _key.Sign(_challenge.data(), _challenge.size(), &signature, &sigsize); + if (!ok) { + log_error("Failed to sign server's challenge."); + connection.SetLastDisconnectReason(STR_MULTIPLAYER_VERIFICATION_FAILURE); + connection.Socket->Disconnect(); + return; + } + // Don't keep private key in memory. There's no need and it may get leaked + // when process dump gets collected at some point in future. + _key.Unload(); + Client_Send_AUTH(gConfigNetwork.player_name, "", pubkey.c_str(), signature, sigsize); + delete [] signature; } void Network::Client_Handle_AUTH(NetworkConnection& connection, NetworkPacket& packet) { - uint32 auth_status; - packet >> auth_status >> (uint8&)player_id; - connection.AuthStatus = (NETWORK_AUTH)auth_status; - switch(connection.AuthStatus) { - case NETWORK_AUTH_OK: - Client_Send_GAMEINFO(); - break; - case NETWORK_AUTH_BADNAME: - connection.SetLastDisconnectReason(STR_MULTIPLAYER_BAD_PLAYER_NAME); - connection.Socket->Disconnect(); - break; - case NETWORK_AUTH_BADVERSION: - { - const char *version = packet.ReadString(); - connection.SetLastDisconnectReason(STR_MULTIPLAYER_INCORRECT_SOFTWARE_VERSION, &version); - connection.Socket->Disconnect(); - break; - } - case NETWORK_AUTH_BADPASSWORD: - connection.SetLastDisconnectReason(STR_MULTIPLAYER_BAD_PASSWORD); - connection.Socket->Disconnect(); - break; - case NETWORK_AUTH_VERIFICATIONFAILURE: - connection.SetLastDisconnectReason(STR_MULTIPLAYER_VERIFICATION_FAILURE); - connection.Socket->Disconnect(); - break; - case NETWORK_AUTH_FULL: - connection.SetLastDisconnectReason(STR_MULTIPLAYER_SERVER_FULL); - connection.Socket->Disconnect(); - break; - case NETWORK_AUTH_REQUIREPASSWORD: - window_network_status_open_password(); - break; - case NETWORK_AUTH_UNKNOWN_KEY_DISALLOWED: - connection.SetLastDisconnectReason(STR_MULTIPLAYER_UNKNOWN_KEY_DISALLOWED); - connection.Socket->Disconnect(); - break; - default: - connection.SetLastDisconnectReason(STR_MULTIPLAYER_INCORRECT_SOFTWARE_VERSION); - connection.Socket->Disconnect(); - break; - } + uint32 auth_status; + packet >> auth_status >> (uint8&)player_id; + connection.AuthStatus = (NETWORK_AUTH)auth_status; + switch(connection.AuthStatus) { + case NETWORK_AUTH_OK: + Client_Send_GAMEINFO(); + break; + case NETWORK_AUTH_BADNAME: + connection.SetLastDisconnectReason(STR_MULTIPLAYER_BAD_PLAYER_NAME); + connection.Socket->Disconnect(); + break; + case NETWORK_AUTH_BADVERSION: + { + const char *version = packet.ReadString(); + connection.SetLastDisconnectReason(STR_MULTIPLAYER_INCORRECT_SOFTWARE_VERSION, &version); + connection.Socket->Disconnect(); + break; + } + case NETWORK_AUTH_BADPASSWORD: + connection.SetLastDisconnectReason(STR_MULTIPLAYER_BAD_PASSWORD); + connection.Socket->Disconnect(); + break; + case NETWORK_AUTH_VERIFICATIONFAILURE: + connection.SetLastDisconnectReason(STR_MULTIPLAYER_VERIFICATION_FAILURE); + connection.Socket->Disconnect(); + break; + case NETWORK_AUTH_FULL: + connection.SetLastDisconnectReason(STR_MULTIPLAYER_SERVER_FULL); + connection.Socket->Disconnect(); + break; + case NETWORK_AUTH_REQUIREPASSWORD: + window_network_status_open_password(); + break; + case NETWORK_AUTH_UNKNOWN_KEY_DISALLOWED: + connection.SetLastDisconnectReason(STR_MULTIPLAYER_UNKNOWN_KEY_DISALLOWED); + connection.Socket->Disconnect(); + break; + default: + connection.SetLastDisconnectReason(STR_MULTIPLAYER_INCORRECT_SOFTWARE_VERSION); + connection.Socket->Disconnect(); + break; + } } void Network::Server_Client_Joined(const char* name, const std::string &keyhash, NetworkConnection& connection) { - NetworkPlayer* player = AddPlayer(name, keyhash); - connection.Player = player; - if (player) { - char text[256]; - const char * player_name = (const char *) player->Name.c_str(); - format_string(text, 256, STR_MULTIPLAYER_PLAYER_HAS_JOINED_THE_GAME, &player_name); - chat_history_add(text); + NetworkPlayer* player = AddPlayer(name, keyhash); + connection.Player = player; + if (player) { + char text[256]; + const char * player_name = (const char *) player->Name.c_str(); + format_string(text, 256, STR_MULTIPLAYER_PLAYER_HAS_JOINED_THE_GAME, &player_name); + chat_history_add(text); - IObjectManager * objManager = GetObjectManager(); - auto objects = objManager->GetPackableObjects(); - Server_Send_OBJECTS(connection, objects); + IObjectManager * objManager = GetObjectManager(); + auto objects = objManager->GetPackableObjects(); + Server_Send_OBJECTS(connection, objects); - // Log player joining event - AppendServerLog(text); - } + // Log player joining event + AppendServerLog(text); + } } void Network::Server_Handle_TOKEN(NetworkConnection& connection, NetworkPacket& packet) { - uint8 token_size = 10 + (rand() & 0x7f); - connection.Challenge.resize(token_size); - for (sint32 i = 0; i < token_size; i++) { - connection.Challenge[i] = (uint8)(rand() & 0xff); - } - Server_Send_TOKEN(connection); + uint8 token_size = 10 + (rand() & 0x7f); + connection.Challenge.resize(token_size); + for (sint32 i = 0; i < token_size; i++) { + connection.Challenge[i] = (uint8)(rand() & 0xff); + } + Server_Send_TOKEN(connection); } void Network::Client_Handle_OBJECTS(NetworkConnection& connection, NetworkPacket& packet) { - IObjectRepository * repo = GetObjectRepository(); - uint32 size; - packet >> size; - log_verbose("client received object list, it has %u entries", size); - std::vector requested_objects; - for (uint32 i = 0; i < size; i++) - { - const char * name = (const char *)packet.Read(8); - // Required, as packet has no null terminators. - std::string s(name, name + 8); - uint32 checksum, flags; - packet >> checksum >> flags; - const ObjectRepositoryItem * ori = repo->FindObject(s.c_str()); - // This could potentially request the object if checksums don't match, but since client - // won't replace its version with server-provided one, we don't do that. - if (ori == nullptr) { - log_verbose("Requesting object %s with checksum %x from server", - s.c_str(), checksum); - requested_objects.push_back(s); - } else if (ori->ObjectEntry.checksum != checksum || ori->ObjectEntry.flags != flags) { - log_warning("Object %s has different checksum/flags (%x/%x) than server (%x/%x).", - s.c_str(), ori->ObjectEntry.checksum, ori->ObjectEntry.flags, checksum, flags); - } - } - Client_Send_OBJECTS(requested_objects); + IObjectRepository * repo = GetObjectRepository(); + uint32 size; + packet >> size; + log_verbose("client received object list, it has %u entries", size); + std::vector requested_objects; + for (uint32 i = 0; i < size; i++) + { + const char * name = (const char *)packet.Read(8); + // Required, as packet has no null terminators. + std::string s(name, name + 8); + uint32 checksum, flags; + packet >> checksum >> flags; + const ObjectRepositoryItem * ori = repo->FindObject(s.c_str()); + // This could potentially request the object if checksums don't match, but since client + // won't replace its version with server-provided one, we don't do that. + if (ori == nullptr) { + log_verbose("Requesting object %s with checksum %x from server", + s.c_str(), checksum); + requested_objects.push_back(s); + } else if (ori->ObjectEntry.checksum != checksum || ori->ObjectEntry.flags != flags) { + log_warning("Object %s has different checksum/flags (%x/%x) than server (%x/%x).", + s.c_str(), ori->ObjectEntry.checksum, ori->ObjectEntry.flags, checksum, flags); + } + } + Client_Send_OBJECTS(requested_objects); } void Network::Server_Handle_OBJECTS(NetworkConnection& connection, NetworkPacket& packet) { - uint32 size; - packet >> size; - log_verbose("Client requested %u objects", size); - IObjectRepository * repo = GetObjectRepository(); - for (uint32 i = 0; i < size; i++) - { - const char * name = (const char *)packet.Read(8); - // This is required, as packet does not have null terminator - std::string s(name, name + 8); - log_verbose("Client requested object %s", s.c_str()); - const ObjectRepositoryItem * item = repo->FindObject(s.c_str()); - if (item == nullptr) { - log_warning("Client tried getting non-existent object %s from us.", s.c_str()); - } else { - connection.RequestedObjects.push_back(item); - } - } + uint32 size; + packet >> size; + log_verbose("Client requested %u objects", size); + IObjectRepository * repo = GetObjectRepository(); + for (uint32 i = 0; i < size; i++) + { + const char * name = (const char *)packet.Read(8); + // This is required, as packet does not have null terminator + std::string s(name, name + 8); + log_verbose("Client requested object %s", s.c_str()); + const ObjectRepositoryItem * item = repo->FindObject(s.c_str()); + if (item == nullptr) { + log_warning("Client tried getting non-existent object %s from us.", s.c_str()); + } else { + connection.RequestedObjects.push_back(item); + } + } - const char * player_name = (const char *) connection.Player->Name.c_str(); - Server_Send_MAP(&connection); - gNetwork.Server_Send_EVENT_PLAYER_JOINED(player_name); - Server_Send_GROUPLIST(connection); - Server_Send_PLAYERLIST(); + const char * player_name = (const char *) connection.Player->Name.c_str(); + Server_Send_MAP(&connection); + gNetwork.Server_Send_EVENT_PLAYER_JOINED(player_name); + Server_Send_GROUPLIST(connection); + Server_Send_PLAYERLIST(); } void Network::Server_Handle_AUTH(NetworkConnection& connection, NetworkPacket& packet) { - if (connection.AuthStatus != NETWORK_AUTH_OK) { - const char* gameversion = packet.ReadString(); - const char* name = packet.ReadString(); - const char* password = packet.ReadString(); - const char *pubkey = (const char *)packet.ReadString(); - uint32 sigsize; - packet >> sigsize; - if (pubkey == nullptr) { - connection.AuthStatus = NETWORK_AUTH_VERIFICATIONFAILURE; - } else { - try - { - const char *signature = (const char *)packet.Read(sigsize); - if (signature == nullptr) - { - throw Exception(); - } + if (connection.AuthStatus != NETWORK_AUTH_OK) { + const char* gameversion = packet.ReadString(); + const char* name = packet.ReadString(); + const char* password = packet.ReadString(); + const char *pubkey = (const char *)packet.ReadString(); + uint32 sigsize; + packet >> sigsize; + if (pubkey == nullptr) { + connection.AuthStatus = NETWORK_AUTH_VERIFICATIONFAILURE; + } else { + try + { + const char *signature = (const char *)packet.Read(sigsize); + if (signature == nullptr) + { + throw Exception(); + } - auto ms = MemoryStream(pubkey, strlen(pubkey)); - if (!connection.Key.LoadPublic(&ms)) - { - throw Exception(); - } + auto ms = MemoryStream(pubkey, strlen(pubkey)); + if (!connection.Key.LoadPublic(&ms)) + { + throw Exception(); + } - bool verified = connection.Key.Verify(connection.Challenge.data(), connection.Challenge.size(), signature, sigsize); - const std::string hash = connection.Key.PublicKeyHash(); - if (verified) - { - log_verbose("Signature verification ok. Hash %s", hash.c_str()); - if (gConfigNetwork.known_keys_only && _userManager.GetUserByHash(hash) == nullptr) - { - log_verbose("Hash %s, not known", hash.c_str()); - connection.AuthStatus = NETWORK_AUTH_UNKNOWN_KEY_DISALLOWED; - } - else - { - connection.AuthStatus = NETWORK_AUTH_VERIFIED; - } - } - else - { - connection.AuthStatus = NETWORK_AUTH_VERIFICATIONFAILURE; - log_verbose("Signature verification failed!"); - } - } - catch (Exception) - { - connection.AuthStatus = NETWORK_AUTH_VERIFICATIONFAILURE; - log_verbose("Signature verification failed, invalid data!"); - } - } + bool verified = connection.Key.Verify(connection.Challenge.data(), connection.Challenge.size(), signature, sigsize); + const std::string hash = connection.Key.PublicKeyHash(); + if (verified) + { + log_verbose("Signature verification ok. Hash %s", hash.c_str()); + if (gConfigNetwork.known_keys_only && _userManager.GetUserByHash(hash) == nullptr) + { + log_verbose("Hash %s, not known", hash.c_str()); + connection.AuthStatus = NETWORK_AUTH_UNKNOWN_KEY_DISALLOWED; + } + else + { + connection.AuthStatus = NETWORK_AUTH_VERIFIED; + } + } + else + { + connection.AuthStatus = NETWORK_AUTH_VERIFICATIONFAILURE; + log_verbose("Signature verification failed!"); + } + } + catch (Exception) + { + connection.AuthStatus = NETWORK_AUTH_VERIFICATIONFAILURE; + log_verbose("Signature verification failed, invalid data!"); + } + } - bool passwordless = false; - if (connection.AuthStatus == NETWORK_AUTH_VERIFIED) { - const NetworkGroup * group = GetGroupByID(GetGroupIDByHash(connection.Key.PublicKeyHash())); - passwordless = group->CanPerformCommand(MISC_COMMAND_PASSWORDLESS_LOGIN); - } - if (!gameversion || strcmp(gameversion, NETWORK_STREAM_ID) != 0) { - connection.AuthStatus = NETWORK_AUTH_BADVERSION; - } else - if (!name) { - connection.AuthStatus = NETWORK_AUTH_BADNAME; - } else - if (!passwordless) { - if ((!password || strlen(password) == 0) && _password.size() > 0) { - connection.AuthStatus = NETWORK_AUTH_REQUIREPASSWORD; - } else - if (password && _password != password) { - connection.AuthStatus = NETWORK_AUTH_BADPASSWORD; - } - } + bool passwordless = false; + if (connection.AuthStatus == NETWORK_AUTH_VERIFIED) { + const NetworkGroup * group = GetGroupByID(GetGroupIDByHash(connection.Key.PublicKeyHash())); + passwordless = group->CanPerformCommand(MISC_COMMAND_PASSWORDLESS_LOGIN); + } + if (!gameversion || strcmp(gameversion, NETWORK_STREAM_ID) != 0) { + connection.AuthStatus = NETWORK_AUTH_BADVERSION; + } else + if (!name) { + connection.AuthStatus = NETWORK_AUTH_BADNAME; + } else + if (!passwordless) { + if ((!password || strlen(password) == 0) && _password.size() > 0) { + connection.AuthStatus = NETWORK_AUTH_REQUIREPASSWORD; + } else + if (password && _password != password) { + connection.AuthStatus = NETWORK_AUTH_BADPASSWORD; + } + } - if ((size_t)gConfigNetwork.maxplayers <= player_list.size()) { - connection.AuthStatus = NETWORK_AUTH_FULL; - } else - if (connection.AuthStatus == NETWORK_AUTH_VERIFIED) { - connection.AuthStatus = NETWORK_AUTH_OK; - const std::string hash = connection.Key.PublicKeyHash(); - Server_Client_Joined(name, hash, connection); - } else - if (connection.AuthStatus != NETWORK_AUTH_REQUIREPASSWORD) { - log_error("Unknown failure (%d) while authenticating client", connection.AuthStatus); - } - Server_Send_AUTH(connection); - } + if ((size_t)gConfigNetwork.maxplayers <= player_list.size()) { + connection.AuthStatus = NETWORK_AUTH_FULL; + } else + if (connection.AuthStatus == NETWORK_AUTH_VERIFIED) { + connection.AuthStatus = NETWORK_AUTH_OK; + const std::string hash = connection.Key.PublicKeyHash(); + Server_Client_Joined(name, hash, connection); + } else + if (connection.AuthStatus != NETWORK_AUTH_REQUIREPASSWORD) { + log_error("Unknown failure (%d) while authenticating client", connection.AuthStatus); + } + Server_Send_AUTH(connection); + } } void Network::Client_Handle_MAP(NetworkConnection& connection, NetworkPacket& packet) { - uint32 size, offset; - packet >> size >> offset; - sint32 chunksize = (sint32)(packet.Size - packet.BytesRead); - if (chunksize <= 0) { - return; - } - if (size > chunk_buffer.size()) { - chunk_buffer.resize(size); - } - char str_downloading_map[256]; - uint32 downloading_map_args[2] = {(offset + chunksize) / 1024, size / 1024}; - format_string(str_downloading_map, 256, STR_MULTIPLAYER_DOWNLOADING_MAP, downloading_map_args); - window_network_status_open(str_downloading_map, []() -> void { - gNetwork.Close(); - }); - memcpy(&chunk_buffer[offset], (void*)packet.Read(chunksize), chunksize); - if (offset + chunksize == size) { - window_network_status_close(); - bool has_to_free = false; - uint8 *data = &chunk_buffer[0]; - size_t data_size = size; - // zlib-compressed - if (strcmp("open2_sv6_zlib", (char *)&chunk_buffer[0]) == 0) - { - log_verbose("Received zlib-compressed sv6 map"); - has_to_free = true; - size_t header_len = strlen("open2_sv6_zlib") + 1; - data = util_zlib_inflate(&chunk_buffer[header_len], size - header_len, &data_size); - if (data == NULL) - { - log_warning("Failed to decompress data sent from server."); - Close(); - return; - } - } else { - log_verbose("Assuming received map is in plain sv6 format"); - } + uint32 size, offset; + packet >> size >> offset; + sint32 chunksize = (sint32)(packet.Size - packet.BytesRead); + if (chunksize <= 0) { + return; + } + if (size > chunk_buffer.size()) { + chunk_buffer.resize(size); + } + char str_downloading_map[256]; + uint32 downloading_map_args[2] = {(offset + chunksize) / 1024, size / 1024}; + format_string(str_downloading_map, 256, STR_MULTIPLAYER_DOWNLOADING_MAP, downloading_map_args); + window_network_status_open(str_downloading_map, []() -> void { + gNetwork.Close(); + }); + memcpy(&chunk_buffer[offset], (void*)packet.Read(chunksize), chunksize); + if (offset + chunksize == size) { + window_network_status_close(); + bool has_to_free = false; + uint8 *data = &chunk_buffer[0]; + size_t data_size = size; + // zlib-compressed + if (strcmp("open2_sv6_zlib", (char *)&chunk_buffer[0]) == 0) + { + log_verbose("Received zlib-compressed sv6 map"); + has_to_free = true; + size_t header_len = strlen("open2_sv6_zlib") + 1; + data = util_zlib_inflate(&chunk_buffer[header_len], size - header_len, &data_size); + if (data == NULL) + { + log_warning("Failed to decompress data sent from server."); + Close(); + return; + } + } else { + log_verbose("Assuming received map is in plain sv6 format"); + } - auto ms = MemoryStream(data, data_size); - if (LoadMap(&ms)) - { - game_load_init(); - game_command_queue.clear(); - server_tick = gCurrentTicks; - server_srand0_tick = 0; - // window_network_status_open("Loaded new map from network"); - _desynchronised = false; - gFirstTimeSave = 1; + auto ms = MemoryStream(data, data_size); + if (LoadMap(&ms)) + { + game_load_init(); + game_command_queue.clear(); + server_tick = gCurrentTicks; + server_srand0_tick = 0; + // window_network_status_open("Loaded new map from network"); + _desynchronised = false; + gFirstTimeSave = 1; - // Notify user he is now online and which shortcut key enables chat - network_chat_show_connected_message(); - } - else - { - //Something went wrong, game is not loaded. Return to main screen. - game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 1, 0); - } - if (has_to_free) - { - free(data); - } - } + // Notify user he is now online and which shortcut key enables chat + network_chat_show_connected_message(); + } + else + { + //Something went wrong, game is not loaded. Return to main screen. + game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 1, 0); + } + if (has_to_free) + { + free(data); + } + } } bool Network::LoadMap(IStream * stream) { - bool result = false; - try - { - auto importer = std::unique_ptr(ParkImporter::CreateS6()); - importer->LoadFromStream(stream, false); - importer->Import(); + bool result = false; + try + { + auto importer = std::unique_ptr(ParkImporter::CreateS6()); + importer->LoadFromStream(stream, false); + importer->Import(); - sprite_position_tween_reset(); + sprite_position_tween_reset(); - // Read checksum - uint32 checksum = stream->ReadValue(); - UNUSED(checksum); + // Read checksum + uint32 checksum = stream->ReadValue(); + UNUSED(checksum); - // Read other data not in normal save files - stream->Read(gSpriteSpatialIndex, 0x10001 * sizeof(uint16)); - gGamePaused = stream->ReadValue(); - _guestGenerationProbability = stream->ReadValue(); - _suggestedGuestMaximum = stream->ReadValue(); - gCheatsSandboxMode = stream->ReadValue() != 0; - gCheatsDisableClearanceChecks = stream->ReadValue() != 0; - gCheatsDisableSupportLimits = stream->ReadValue() != 0; - gCheatsDisableTrainLengthLimit = stream->ReadValue() != 0; - gCheatsEnableChainLiftOnAllTrack = stream->ReadValue() != 0; - gCheatsShowAllOperatingModes = stream->ReadValue() != 0; - gCheatsShowVehiclesFromOtherTrackTypes = stream->ReadValue() != 0; - gCheatsFastLiftHill = stream->ReadValue() != 0; - gCheatsDisableBrakesFailure = stream->ReadValue() != 0; - gCheatsDisableAllBreakdowns = stream->ReadValue() != 0; - gCheatsUnlockAllPrices = stream->ReadValue() != 0; - gCheatsBuildInPauseMode = stream->ReadValue() != 0; - gCheatsIgnoreRideIntensity = stream->ReadValue() != 0; - gCheatsDisableVandalism = stream->ReadValue() != 0; - gCheatsDisableLittering = stream->ReadValue() != 0; - gCheatsNeverendingMarketing = stream->ReadValue() != 0; - gCheatsFreezeClimate = stream->ReadValue() != 0; - gCheatsDisablePlantAging = stream->ReadValue() != 0; - gCheatsAllowArbitraryRideTypeChanges = stream->ReadValue() != 0; + // Read other data not in normal save files + stream->Read(gSpriteSpatialIndex, 0x10001 * sizeof(uint16)); + gGamePaused = stream->ReadValue(); + _guestGenerationProbability = stream->ReadValue(); + _suggestedGuestMaximum = stream->ReadValue(); + gCheatsSandboxMode = stream->ReadValue() != 0; + gCheatsDisableClearanceChecks = stream->ReadValue() != 0; + gCheatsDisableSupportLimits = stream->ReadValue() != 0; + gCheatsDisableTrainLengthLimit = stream->ReadValue() != 0; + gCheatsEnableChainLiftOnAllTrack = stream->ReadValue() != 0; + gCheatsShowAllOperatingModes = stream->ReadValue() != 0; + gCheatsShowVehiclesFromOtherTrackTypes = stream->ReadValue() != 0; + gCheatsFastLiftHill = stream->ReadValue() != 0; + gCheatsDisableBrakesFailure = stream->ReadValue() != 0; + gCheatsDisableAllBreakdowns = stream->ReadValue() != 0; + gCheatsUnlockAllPrices = stream->ReadValue() != 0; + gCheatsBuildInPauseMode = stream->ReadValue() != 0; + gCheatsIgnoreRideIntensity = stream->ReadValue() != 0; + gCheatsDisableVandalism = stream->ReadValue() != 0; + gCheatsDisableLittering = stream->ReadValue() != 0; + gCheatsNeverendingMarketing = stream->ReadValue() != 0; + gCheatsFreezeClimate = stream->ReadValue() != 0; + gCheatsDisablePlantAging = stream->ReadValue() != 0; + gCheatsAllowArbitraryRideTypeChanges = stream->ReadValue() != 0; - gLastAutoSaveUpdate = AUTOSAVE_PAUSE; - result = true; - } - catch (const Exception &) - { - } - return result; + gLastAutoSaveUpdate = AUTOSAVE_PAUSE; + result = true; + } + catch (const Exception &) + { + } + return result; } bool Network::SaveMap(IStream * stream, const std::vector &objects) const { - bool result = false; - viewport_set_saved_view(); - try - { - auto s6exporter = std::make_unique(); - s6exporter->ExportObjectsList = objects; - s6exporter->Export(); - s6exporter->SaveGame(stream); + bool result = false; + viewport_set_saved_view(); + try + { + auto s6exporter = std::make_unique(); + s6exporter->ExportObjectsList = objects; + s6exporter->Export(); + s6exporter->SaveGame(stream); - // Write other data not in normal save files - stream->Write(gSpriteSpatialIndex, 0x10001 * sizeof(uint16)); - stream->WriteValue(gGamePaused); - stream->WriteValue(_guestGenerationProbability); - stream->WriteValue(_suggestedGuestMaximum); - stream->WriteValue(gCheatsSandboxMode); - stream->WriteValue(gCheatsDisableClearanceChecks); - stream->WriteValue(gCheatsDisableSupportLimits); - stream->WriteValue(gCheatsDisableTrainLengthLimit); - stream->WriteValue(gCheatsEnableChainLiftOnAllTrack); - stream->WriteValue(gCheatsShowAllOperatingModes); - stream->WriteValue(gCheatsShowVehiclesFromOtherTrackTypes); - stream->WriteValue(gCheatsFastLiftHill); - stream->WriteValue(gCheatsDisableBrakesFailure); - stream->WriteValue(gCheatsDisableAllBreakdowns); - stream->WriteValue(gCheatsUnlockAllPrices); - stream->WriteValue(gCheatsBuildInPauseMode); - stream->WriteValue(gCheatsIgnoreRideIntensity); - stream->WriteValue(gCheatsDisableVandalism); - stream->WriteValue(gCheatsDisableLittering); - stream->WriteValue(gCheatsNeverendingMarketing); - stream->WriteValue(gCheatsFreezeClimate); - stream->WriteValue(gCheatsDisablePlantAging); - stream->WriteValue(gCheatsAllowArbitraryRideTypeChanges); + // Write other data not in normal save files + stream->Write(gSpriteSpatialIndex, 0x10001 * sizeof(uint16)); + stream->WriteValue(gGamePaused); + stream->WriteValue(_guestGenerationProbability); + stream->WriteValue(_suggestedGuestMaximum); + stream->WriteValue(gCheatsSandboxMode); + stream->WriteValue(gCheatsDisableClearanceChecks); + stream->WriteValue(gCheatsDisableSupportLimits); + stream->WriteValue(gCheatsDisableTrainLengthLimit); + stream->WriteValue(gCheatsEnableChainLiftOnAllTrack); + stream->WriteValue(gCheatsShowAllOperatingModes); + stream->WriteValue(gCheatsShowVehiclesFromOtherTrackTypes); + stream->WriteValue(gCheatsFastLiftHill); + stream->WriteValue(gCheatsDisableBrakesFailure); + stream->WriteValue(gCheatsDisableAllBreakdowns); + stream->WriteValue(gCheatsUnlockAllPrices); + stream->WriteValue(gCheatsBuildInPauseMode); + stream->WriteValue(gCheatsIgnoreRideIntensity); + stream->WriteValue(gCheatsDisableVandalism); + stream->WriteValue(gCheatsDisableLittering); + stream->WriteValue(gCheatsNeverendingMarketing); + stream->WriteValue(gCheatsFreezeClimate); + stream->WriteValue(gCheatsDisablePlantAging); + stream->WriteValue(gCheatsAllowArbitraryRideTypeChanges); - result = true; - } - catch (const Exception &) - { - } - return result; + result = true; + } + catch (const Exception &) + { + } + return result; } void Network::Client_Handle_CHAT(NetworkConnection& connection, NetworkPacket& packet) { - const char* text = packet.ReadString(); - if (text) { - chat_history_add(text); - } + const char* text = packet.ReadString(); + if (text) { + chat_history_add(text); + } } void Network::Server_Handle_CHAT(NetworkConnection& connection, NetworkPacket& packet) { - if (connection.Player) { - NetworkGroup* group = GetGroupByID(connection.Player->Group); - if (!group || (group && !group->CanPerformCommand(MISC_COMMAND_CHAT))) { - return; - } - } - const char* text = packet.ReadString(); - if (text) { - const char* formatted = FormatChat(connection.Player, text); - chat_history_add(formatted); - Server_Send_CHAT(formatted); - } + if (connection.Player) { + NetworkGroup* group = GetGroupByID(connection.Player->Group); + if (!group || (group && !group->CanPerformCommand(MISC_COMMAND_CHAT))) { + return; + } + } + const char* text = packet.ReadString(); + if (text) { + const char* formatted = FormatChat(connection.Player, text); + chat_history_add(formatted); + Server_Send_CHAT(formatted); + } } void Network::Client_Handle_GAMECMD(NetworkConnection& connection, NetworkPacket& packet) { - uint32 tick; - uint32 args[7]; - uint8 playerid; - uint8 callback; - packet >> tick >> args[0] >> args[1] >> args[2] >> args[3] >> args[4] >> args[5] >> args[6] >> playerid >> callback; + uint32 tick; + uint32 args[7]; + uint8 playerid; + uint8 callback; + packet >> tick >> args[0] >> args[1] >> args[2] >> args[3] >> args[4] >> args[5] >> args[6] >> playerid >> callback; - GameCommand gc = GameCommand(tick, args, playerid, callback); - game_command_queue.insert(gc); + GameCommand gc = GameCommand(tick, args, playerid, callback); + game_command_queue.insert(gc); } void Network::Server_Handle_GAMECMD(NetworkConnection& connection, NetworkPacket& packet) { - uint32 tick; - uint32 args[7]; - uint8 playerid; - uint8 callback; + uint32 tick; + uint32 args[7]; + uint8 playerid; + uint8 callback; - if (!connection.Player) { - return; - } + if (!connection.Player) { + return; + } - playerid = connection.Player->Id; + playerid = connection.Player->Id; - packet >> tick >> args[0] >> args[1] >> args[2] >> args[3] >> args[4] >> args[5] >> args[6] >> callback; + packet >> tick >> args[0] >> args[1] >> args[2] >> args[3] >> args[4] >> args[5] >> args[6] >> callback; - sint32 commandCommand = args[4]; + sint32 commandCommand = args[4]; - uint32 ticks = platform_get_ticks(); //tick count is different by time last_action_time is set, keep same value. + uint32 ticks = platform_get_ticks(); //tick count is different by time last_action_time is set, keep same value. - // Check if player's group permission allows command to run - NetworkGroup* group = GetGroupByID(connection.Player->Group); - if (!group || (group && !group->CanPerformCommand(commandCommand))) { - Server_Send_SHOWERROR(connection, STR_CANT_DO_THIS, STR_PERMISSION_DENIED); - return; - } + // Check if player's group permission allows command to run + NetworkGroup* group = GetGroupByID(connection.Player->Group); + if (!group || (group && !group->CanPerformCommand(commandCommand))) { + Server_Send_SHOWERROR(connection, STR_CANT_DO_THIS, STR_PERMISSION_DENIED); + return; + } - // In case someone modifies the code / memory to enable cluster build, - // require a small delay in between placing scenery to provide some security, as - // cluster mode is a for loop that runs the place_scenery code multiple times. - if (commandCommand == GAME_COMMAND_PLACE_SCENERY) { - if ( - ticks - connection.Player->LastPlaceSceneryTime < ACTION_COOLDOWN_TIME_PLACE_SCENERY && - // In case platform_get_ticks() wraps after ~49 days, ignore larger logged times. - ticks > connection.Player->LastPlaceSceneryTime - ) { - if (!(group->CanPerformCommand(MISC_COMMAND_TOGGLE_SCENERY_CLUSTER))) { - Server_Send_SHOWERROR(connection, STR_CANT_DO_THIS, STR_NETWORK_ACTION_RATE_LIMIT_MESSAGE); - return; - } - } - } - // This is to prevent abuse of demolishing rides. Anyone that is not the server - // host will have to wait a small amount of time in between deleting rides. - else if (commandCommand == GAME_COMMAND_DEMOLISH_RIDE) { - if ( - ticks - connection.Player->LastDemolishRideTime < ACTION_COOLDOWN_TIME_DEMOLISH_RIDE && - // In case platform_get_ticks() wraps after ~49 days, ignore larger logged times. - ticks > connection.Player->LastDemolishRideTime - ) { - Server_Send_SHOWERROR(connection, STR_CANT_DO_THIS, STR_NETWORK_ACTION_RATE_LIMIT_MESSAGE); - return; - } - } - // Don't let clients send pause or quit - else if (commandCommand == GAME_COMMAND_TOGGLE_PAUSE || - commandCommand == GAME_COMMAND_LOAD_OR_QUIT - ) { - return; - } + // In case someone modifies the code / memory to enable cluster build, + // require a small delay in between placing scenery to provide some security, as + // cluster mode is a for loop that runs the place_scenery code multiple times. + if (commandCommand == GAME_COMMAND_PLACE_SCENERY) { + if ( + ticks - connection.Player->LastPlaceSceneryTime < ACTION_COOLDOWN_TIME_PLACE_SCENERY && + // In case platform_get_ticks() wraps after ~49 days, ignore larger logged times. + ticks > connection.Player->LastPlaceSceneryTime + ) { + if (!(group->CanPerformCommand(MISC_COMMAND_TOGGLE_SCENERY_CLUSTER))) { + Server_Send_SHOWERROR(connection, STR_CANT_DO_THIS, STR_NETWORK_ACTION_RATE_LIMIT_MESSAGE); + return; + } + } + } + // This is to prevent abuse of demolishing rides. Anyone that is not the server + // host will have to wait a small amount of time in between deleting rides. + else if (commandCommand == GAME_COMMAND_DEMOLISH_RIDE) { + if ( + ticks - connection.Player->LastDemolishRideTime < ACTION_COOLDOWN_TIME_DEMOLISH_RIDE && + // In case platform_get_ticks() wraps after ~49 days, ignore larger logged times. + ticks > connection.Player->LastDemolishRideTime + ) { + Server_Send_SHOWERROR(connection, STR_CANT_DO_THIS, STR_NETWORK_ACTION_RATE_LIMIT_MESSAGE); + return; + } + } + // Don't let clients send pause or quit + else if (commandCommand == GAME_COMMAND_TOGGLE_PAUSE || + commandCommand == GAME_COMMAND_LOAD_OR_QUIT + ) { + return; + } - // Set this to reference inside of game command functions - game_command_playerid = playerid; - // Run game command, and if it is successful send to clients - money32 cost = game_do_command(args[0], args[1] | GAME_COMMAND_FLAG_NETWORKED, args[2], args[3], args[4], args[5], args[6]); - if (cost == MONEY32_UNDEFINED) { - return; - } + // Set this to reference inside of game command functions + game_command_playerid = playerid; + // Run game command, and if it is successful send to clients + money32 cost = game_do_command(args[0], args[1] | GAME_COMMAND_FLAG_NETWORKED, args[2], args[3], args[4], args[5], args[6]); + if (cost == MONEY32_UNDEFINED) { + return; + } - connection.Player->LastAction = NetworkActions::FindCommand(commandCommand); - connection.Player->LastActionTime = platform_get_ticks(); - connection.Player->AddMoneySpent(cost); + connection.Player->LastAction = NetworkActions::FindCommand(commandCommand); + connection.Player->LastActionTime = platform_get_ticks(); + connection.Player->AddMoneySpent(cost); - if (commandCommand == GAME_COMMAND_PLACE_SCENERY) { - connection.Player->LastPlaceSceneryTime = connection.Player->LastActionTime; - } - else if (commandCommand == GAME_COMMAND_DEMOLISH_RIDE) { - connection.Player->LastDemolishRideTime = connection.Player->LastActionTime; - } + if (commandCommand == GAME_COMMAND_PLACE_SCENERY) { + connection.Player->LastPlaceSceneryTime = connection.Player->LastActionTime; + } + else if (commandCommand == GAME_COMMAND_DEMOLISH_RIDE) { + connection.Player->LastDemolishRideTime = connection.Player->LastActionTime; + } - Server_Send_GAMECMD(args[0], args[1], args[2], args[3], args[4], args[5], args[6], playerid, callback); + Server_Send_GAMECMD(args[0], args[1], args[2], args[3], args[4], args[5], args[6], playerid, callback); } void Network::Client_Handle_TICK(NetworkConnection& connection, NetworkPacket& packet) { - uint32 srand0; - uint32 flags; - // Note: older server version may not advertise flags at all. - // NetworkPacket will return 0, if trying to read past end of buffer, - // so flags == 0 is expected in such cases. - packet >> server_tick >> srand0 >> flags; - if (server_srand0_tick == 0) { - server_srand0 = srand0; - server_srand0_tick = server_tick; - server_sprite_hash[0] = '\0'; - if (flags & NETWORK_TICK_FLAG_CHECKSUMS) - { - const char* text = packet.ReadString(); - if (text != nullptr) - { - safe_strcpy(server_sprite_hash, text, sizeof(server_sprite_hash)); - } - } - } - game_commands_processed_this_tick = 0; + uint32 srand0; + uint32 flags; + // Note: older server version may not advertise flags at all. + // NetworkPacket will return 0, if trying to read past end of buffer, + // so flags == 0 is expected in such cases. + packet >> server_tick >> srand0 >> flags; + if (server_srand0_tick == 0) { + server_srand0 = srand0; + server_srand0_tick = server_tick; + server_sprite_hash[0] = '\0'; + if (flags & NETWORK_TICK_FLAG_CHECKSUMS) + { + const char* text = packet.ReadString(); + if (text != nullptr) + { + safe_strcpy(server_sprite_hash, text, sizeof(server_sprite_hash)); + } + } + } + game_commands_processed_this_tick = 0; } void Network::Client_Handle_PLAYERLIST(NetworkConnection& connection, NetworkPacket& packet) { - uint8 size; - packet >> size; - std::vector ids; - for (uint32 i = 0; i < size; i++) { - NetworkPlayer tempplayer; - tempplayer.Read(packet); - ids.push_back(tempplayer.Id); - if (!GetPlayerByID(tempplayer.Id)) { - NetworkPlayer* player = AddPlayer("", ""); - if (player) { - *player = tempplayer; - if (player->Flags & NETWORK_PLAYER_FLAG_ISSERVER) { - server_connection->Player = player; - } - } - } - } - // Remove any players that are not in newly received list - auto it = player_list.begin(); - while (it != player_list.end()) { - if (std::find(ids.begin(), ids.end(), (*it)->Id) == ids.end()) { - it = player_list.erase(it); - } else { - it++; - } - } + uint8 size; + packet >> size; + std::vector ids; + for (uint32 i = 0; i < size; i++) { + NetworkPlayer tempplayer; + tempplayer.Read(packet); + ids.push_back(tempplayer.Id); + if (!GetPlayerByID(tempplayer.Id)) { + NetworkPlayer* player = AddPlayer("", ""); + if (player) { + *player = tempplayer; + if (player->Flags & NETWORK_PLAYER_FLAG_ISSERVER) { + server_connection->Player = player; + } + } + } + } + // Remove any players that are not in newly received list + auto it = player_list.begin(); + while (it != player_list.end()) { + if (std::find(ids.begin(), ids.end(), (*it)->Id) == ids.end()) { + it = player_list.erase(it); + } else { + it++; + } + } } void Network::Client_Handle_PING(NetworkConnection& connection, NetworkPacket& packet) { - Client_Send_PING(); + Client_Send_PING(); } void Network::Server_Handle_PING(NetworkConnection& connection, NetworkPacket& packet) { - sint32 ping = platform_get_ticks() - connection.PingTime; - if (ping < 0) { - ping = 0; - } - if (connection.Player) { - connection.Player->Ping = ping; - window_invalidate_by_number(WC_PLAYER, connection.Player->Id); - } + sint32 ping = platform_get_ticks() - connection.PingTime; + if (ping < 0) { + ping = 0; + } + if (connection.Player) { + connection.Player->Ping = ping; + window_invalidate_by_number(WC_PLAYER, connection.Player->Id); + } } void Network::Client_Handle_PINGLIST(NetworkConnection& connection, NetworkPacket& packet) { - uint8 size; - packet >> size; - for (uint32 i = 0; i < size; i++) { - uint8 id; - uint16 ping; - packet >> id >> ping; - NetworkPlayer* player = GetPlayerByID(id); - if (player) { - player->Ping = ping; - } - } - window_invalidate_by_class(WC_PLAYER); + uint8 size; + packet >> size; + for (uint32 i = 0; i < size; i++) { + uint8 id; + uint16 ping; + packet >> id >> ping; + NetworkPlayer* player = GetPlayerByID(id); + if (player) { + player->Ping = ping; + } + } + window_invalidate_by_class(WC_PLAYER); } void Network::Client_Handle_SETDISCONNECTMSG(NetworkConnection& connection, NetworkPacket& packet) { - static std::string msg; - const char* disconnectmsg = packet.ReadString(); - if (disconnectmsg) { - msg = disconnectmsg; - connection.SetLastDisconnectReason(msg.c_str()); - } + static std::string msg; + const char* disconnectmsg = packet.ReadString(); + if (disconnectmsg) { + msg = disconnectmsg; + connection.SetLastDisconnectReason(msg.c_str()); + } } void Network::Server_Handle_GAMEINFO(NetworkConnection& connection, NetworkPacket& packet) { - Server_Send_GAMEINFO(connection); + Server_Send_GAMEINFO(connection); } void Network::Client_Handle_SHOWERROR(NetworkConnection& connection, NetworkPacket& packet) { - rct_string_id title, message; - packet >> title >> message; - window_error_open(title, message); + rct_string_id title, message; + packet >> title >> message; + window_error_open(title, message); } void Network::Client_Handle_GROUPLIST(NetworkConnection& connection, NetworkPacket& packet) { - group_list.clear(); - uint8 size; - packet >> size >> default_group; - for (uint32 i = 0; i < size; i++) { - NetworkGroup group; - group.Read(packet); - std::unique_ptr newgroup(new NetworkGroup(group)); // change to make_unique in c++14 - group_list.push_back(std::move(newgroup)); - } + group_list.clear(); + uint8 size; + packet >> size >> default_group; + for (uint32 i = 0; i < size; i++) { + NetworkGroup group; + group.Read(packet); + std::unique_ptr newgroup(new NetworkGroup(group)); // change to make_unique in c++14 + group_list.push_back(std::move(newgroup)); + } } void Network::Client_Handle_EVENT(NetworkConnection& connection, NetworkPacket& packet) { - char text[256]; - uint16 eventType; - packet >> eventType; - switch (eventType) { - case SERVER_EVENT_PLAYER_JOINED: - { - const char *playerName = packet.ReadString(); - format_string(text, 256, STR_MULTIPLAYER_PLAYER_HAS_JOINED_THE_GAME, &playerName); - chat_history_add(text); - break; - } - case SERVER_EVENT_PLAYER_DISCONNECTED: - { - const char *playerName = packet.ReadString(); - const char *reason = packet.ReadString(); - const char *args[] = { playerName, reason }; - if (str_is_null_or_empty(reason)) { - format_string(text, 256, STR_MULTIPLAYER_PLAYER_HAS_DISCONNECTED_NO_REASON, args); - } else { - format_string(text, 256, STR_MULTIPLAYER_PLAYER_HAS_DISCONNECTED_WITH_REASON, args); - } - chat_history_add(text); - break; - } - } + char text[256]; + uint16 eventType; + packet >> eventType; + switch (eventType) { + case SERVER_EVENT_PLAYER_JOINED: + { + const char *playerName = packet.ReadString(); + format_string(text, 256, STR_MULTIPLAYER_PLAYER_HAS_JOINED_THE_GAME, &playerName); + chat_history_add(text); + break; + } + case SERVER_EVENT_PLAYER_DISCONNECTED: + { + const char *playerName = packet.ReadString(); + const char *reason = packet.ReadString(); + const char *args[] = { playerName, reason }; + if (str_is_null_or_empty(reason)) { + format_string(text, 256, STR_MULTIPLAYER_PLAYER_HAS_DISCONNECTED_NO_REASON, args); + } else { + format_string(text, 256, STR_MULTIPLAYER_PLAYER_HAS_DISCONNECTED_WITH_REASON, args); + } + chat_history_add(text); + break; + } + } } void Network::Client_Send_GAMEINFO() { - log_verbose("requesting gameinfo"); - std::unique_ptr packet(NetworkPacket::Allocate()); - *packet << (uint32)NETWORK_COMMAND_GAMEINFO; - server_connection->QueuePacket(std::move(packet)); + log_verbose("requesting gameinfo"); + std::unique_ptr packet(NetworkPacket::Allocate()); + *packet << (uint32)NETWORK_COMMAND_GAMEINFO; + server_connection->QueuePacket(std::move(packet)); } static std::string json_stdstring_value(const json_t * string) { - const char * cstr = json_string_value(string); - return cstr == nullptr ? std::string() : std::string(cstr); + const char * cstr = json_string_value(string); + return cstr == nullptr ? std::string() : std::string(cstr); } void Network::Client_Handle_GAMEINFO(NetworkConnection& connection, NetworkPacket& packet) { - const char * jsonString = packet.ReadString(); + const char * jsonString = packet.ReadString(); - json_error_t error; - json_t *root = json_loads(jsonString, 0, &error); + json_error_t error; + json_t *root = json_loads(jsonString, 0, &error); - ServerName = json_stdstring_value(json_object_get(root, "name")); - ServerDescription = json_stdstring_value(json_object_get(root, "description")); - ServerGreeting = json_stdstring_value(json_object_get(root, "greeting")); + ServerName = json_stdstring_value(json_object_get(root, "name")); + ServerDescription = json_stdstring_value(json_object_get(root, "description")); + ServerGreeting = json_stdstring_value(json_object_get(root, "greeting")); - json_t *jsonProvider = json_object_get(root, "provider"); - if (jsonProvider != nullptr) { - ServerProviderName = json_stdstring_value(json_object_get(jsonProvider, "name")); - ServerProviderEmail = json_stdstring_value(json_object_get(jsonProvider, "email")); - ServerProviderWebsite = json_stdstring_value(json_object_get(jsonProvider, "website")); - } - json_decref(root); + json_t *jsonProvider = json_object_get(root, "provider"); + if (jsonProvider != nullptr) { + ServerProviderName = json_stdstring_value(json_object_get(jsonProvider, "name")); + ServerProviderEmail = json_stdstring_value(json_object_get(jsonProvider, "email")); + ServerProviderWebsite = json_stdstring_value(json_object_get(jsonProvider, "website")); + } + json_decref(root); - network_chat_show_server_greeting(); + network_chat_show_server_greeting(); } void network_set_env(void * env) { - gNetwork.SetEnvironment((IPlatformEnvironment *)env); + gNetwork.SetEnvironment((IPlatformEnvironment *)env); } void network_close() { - gNetwork.Close(); + gNetwork.Close(); } void network_shutdown_client() { - gNetwork.ShutdownClient(); + gNetwork.ShutdownClient(); } sint32 network_begin_client(const char *host, sint32 port) { - return gNetwork.BeginClient(host, port); + return gNetwork.BeginClient(host, port); } sint32 network_begin_server(sint32 port, const char* address) { - return gNetwork.BeginServer(port, address); + return gNetwork.BeginServer(port, address); } void network_update() { - gNetwork.Update(); + gNetwork.Update(); } sint32 network_get_mode() { - return gNetwork.GetMode(); + return gNetwork.GetMode(); } sint32 network_get_status() { - return gNetwork.GetStatus(); + return gNetwork.GetStatus(); } sint32 network_get_authstatus() { - return gNetwork.GetAuthStatus(); + return gNetwork.GetAuthStatus(); } uint32 network_get_server_tick() { - return gNetwork.GetServerTick(); + return gNetwork.GetServerTick(); } uint8 network_get_current_player_id() { - return gNetwork.GetPlayerID(); + return gNetwork.GetPlayerID(); } sint32 network_get_num_players() { - return (sint32)gNetwork.player_list.size(); + return (sint32)gNetwork.player_list.size(); } const char* network_get_player_name(uint32 index) { - return (const char*)gNetwork.player_list[index]->Name.c_str(); + return (const char*)gNetwork.player_list[index]->Name.c_str(); } uint32 network_get_player_flags(uint32 index) { - return gNetwork.player_list[index]->Flags; + return gNetwork.player_list[index]->Flags; } sint32 network_get_player_ping(uint32 index) { - return gNetwork.player_list[index]->Ping; + return gNetwork.player_list[index]->Ping; } sint32 network_get_player_id(uint32 index) { - return gNetwork.player_list[index]->Id; + return gNetwork.player_list[index]->Id; } money32 network_get_player_money_spent(uint32 index) { - return gNetwork.player_list[index]->MoneySpent; + return gNetwork.player_list[index]->MoneySpent; } void network_add_player_money_spent(uint32 index, money32 cost) { - gNetwork.player_list[index]->AddMoneySpent(cost); + gNetwork.player_list[index]->AddMoneySpent(cost); } sint32 network_get_player_last_action(uint32 index, sint32 time) { - if (time && platform_get_ticks() > gNetwork.player_list[index]->LastActionTime + time) { - return -999; - } - return gNetwork.player_list[index]->LastAction; + if (time && platform_get_ticks() > gNetwork.player_list[index]->LastActionTime + time) { + return -999; + } + return gNetwork.player_list[index]->LastAction; } void network_set_player_last_action(uint32 index, sint32 command) { - gNetwork.player_list[index]->LastAction = NetworkActions::FindCommand(command); - gNetwork.player_list[index]->LastActionTime = platform_get_ticks(); + gNetwork.player_list[index]->LastAction = NetworkActions::FindCommand(command); + gNetwork.player_list[index]->LastActionTime = platform_get_ticks(); } rct_xyz16 network_get_player_last_action_coord(uint32 index) { - return gNetwork.player_list[index]->LastActionCoord; + return gNetwork.player_list[index]->LastActionCoord; } void network_set_player_last_action_coord(uint32 index, rct_xyz16 coord) { - if (index < gNetwork.player_list.size()) { - gNetwork.player_list[index]->LastActionCoord = coord; - } + if (index < gNetwork.player_list.size()) { + gNetwork.player_list[index]->LastActionCoord = coord; + } } uint32 network_get_player_commands_ran(uint32 index) { - return gNetwork.player_list[index]->CommandsRan; + return gNetwork.player_list[index]->CommandsRan; } sint32 network_get_player_index(uint8 id) { - auto it = gNetwork.GetPlayerIteratorByID(id); - if(it == gNetwork.player_list.end()){ - return -1; - } - return (sint32)(gNetwork.GetPlayerIteratorByID(id) - gNetwork.player_list.begin()); + auto it = gNetwork.GetPlayerIteratorByID(id); + if(it == gNetwork.player_list.end()){ + return -1; + } + return (sint32)(gNetwork.GetPlayerIteratorByID(id) - gNetwork.player_list.begin()); } uint8 network_get_player_group(uint32 index) { - return gNetwork.player_list[index]->Group; + return gNetwork.player_list[index]->Group; } void network_set_player_group(uint32 index, uint32 groupindex) { - gNetwork.player_list[index]->Group = gNetwork.group_list[groupindex]->Id; + gNetwork.player_list[index]->Group = gNetwork.group_list[groupindex]->Id; } sint32 network_get_group_index(uint8 id) { - auto it = gNetwork.GetGroupIteratorByID(id); - if(it == gNetwork.group_list.end()){ - return -1; - } - return (sint32)(gNetwork.GetGroupIteratorByID(id) - gNetwork.group_list.begin()); + auto it = gNetwork.GetGroupIteratorByID(id); + if(it == gNetwork.group_list.end()){ + return -1; + } + return (sint32)(gNetwork.GetGroupIteratorByID(id) - gNetwork.group_list.begin()); } uint8 network_get_group_id(uint32 index) { - return gNetwork.group_list[index]->Id; + return gNetwork.group_list[index]->Id; } sint32 network_get_num_groups() { - return (sint32)gNetwork.group_list.size(); + return (sint32)gNetwork.group_list.size(); } const char* network_get_group_name(uint32 index) { - return gNetwork.group_list[index]->GetName().c_str(); + return gNetwork.group_list[index]->GetName().c_str(); } void network_chat_show_connected_message() { - char templateBuffer[128]; - char *templateString = templateBuffer; - keyboard_shortcut_format_string(templateBuffer, 128, gShortcutKeys[SHORTCUT_OPEN_CHAT_WINDOW]); - utf8 buffer[256]; - NetworkPlayer server; - server.Name = "Server"; - format_string(buffer, 256, STR_MULTIPLAYER_CONNECTED_CHAT_HINT, &templateString); - const char *formatted = Network::FormatChat(&server, buffer); - chat_history_add(formatted); + char templateBuffer[128]; + char *templateString = templateBuffer; + keyboard_shortcut_format_string(templateBuffer, 128, gShortcutKeys[SHORTCUT_OPEN_CHAT_WINDOW]); + utf8 buffer[256]; + NetworkPlayer server; + server.Name = "Server"; + format_string(buffer, 256, STR_MULTIPLAYER_CONNECTED_CHAT_HINT, &templateString); + const char *formatted = Network::FormatChat(&server, buffer); + chat_history_add(formatted); } // Display server greeting if one exists void network_chat_show_server_greeting() { - const char* greeting = network_get_server_greeting(); - if (!str_is_null_or_empty(greeting)) { - static char greeting_formatted[CHAT_INPUT_SIZE]; - char* lineCh = greeting_formatted; - greeting_formatted[0] = 0; - lineCh = utf8_write_codepoint(lineCh, FORMAT_OUTLINE); - lineCh = utf8_write_codepoint(lineCh, FORMAT_GREEN); - char* ptrtext = lineCh; - safe_strcpy(lineCh, greeting, CHAT_INPUT_SIZE - 24); // Limit to 1000 characters so we don't overflow the buffer - utf8_remove_format_codes((utf8*)ptrtext, true); - chat_history_add(greeting_formatted); - } + const char* greeting = network_get_server_greeting(); + if (!str_is_null_or_empty(greeting)) { + static char greeting_formatted[CHAT_INPUT_SIZE]; + char* lineCh = greeting_formatted; + greeting_formatted[0] = 0; + lineCh = utf8_write_codepoint(lineCh, FORMAT_OUTLINE); + lineCh = utf8_write_codepoint(lineCh, FORMAT_GREEN); + char* ptrtext = lineCh; + safe_strcpy(lineCh, greeting, CHAT_INPUT_SIZE - 24); // Limit to 1000 characters so we don't overflow the buffer + utf8_remove_format_codes((utf8*)ptrtext, true); + chat_history_add(greeting_formatted); + } } void game_command_set_player_group(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - uint8 playerid = (uint8)*ecx; - uint8 groupid = (uint8)*edx; - NetworkPlayer* player = gNetwork.GetPlayerByID(playerid); - NetworkGroup* fromgroup = gNetwork.GetGroupByID(game_command_playerid); - if (!player) { - gGameCommandErrorTitle = STR_CANT_DO_THIS; - gGameCommandErrorText = STR_NONE; - *ebx = MONEY32_UNDEFINED; - return; - } - if (!gNetwork.GetGroupByID(groupid)) { - gGameCommandErrorTitle = STR_CANT_DO_THIS; - gGameCommandErrorText = STR_NONE; - *ebx = MONEY32_UNDEFINED; - return; - } - if (player->Flags & NETWORK_PLAYER_FLAG_ISSERVER) { - gGameCommandErrorTitle = STR_CANT_CHANGE_GROUP_THAT_THE_HOST_BELONGS_TO; - gGameCommandErrorText = STR_NONE; - *ebx = MONEY32_UNDEFINED; - return; - } - if (groupid == 0 && fromgroup && fromgroup->Id != 0) { - gGameCommandErrorTitle = STR_CANT_SET_TO_THIS_GROUP; - gGameCommandErrorText = STR_NONE; - *ebx = MONEY32_UNDEFINED; - return; - } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - player->Group = groupid; + uint8 playerid = (uint8)*ecx; + uint8 groupid = (uint8)*edx; + NetworkPlayer* player = gNetwork.GetPlayerByID(playerid); + NetworkGroup* fromgroup = gNetwork.GetGroupByID(game_command_playerid); + if (!player) { + gGameCommandErrorTitle = STR_CANT_DO_THIS; + gGameCommandErrorText = STR_NONE; + *ebx = MONEY32_UNDEFINED; + return; + } + if (!gNetwork.GetGroupByID(groupid)) { + gGameCommandErrorTitle = STR_CANT_DO_THIS; + gGameCommandErrorText = STR_NONE; + *ebx = MONEY32_UNDEFINED; + return; + } + if (player->Flags & NETWORK_PLAYER_FLAG_ISSERVER) { + gGameCommandErrorTitle = STR_CANT_CHANGE_GROUP_THAT_THE_HOST_BELONGS_TO; + gGameCommandErrorText = STR_NONE; + *ebx = MONEY32_UNDEFINED; + return; + } + if (groupid == 0 && fromgroup && fromgroup->Id != 0) { + gGameCommandErrorTitle = STR_CANT_SET_TO_THIS_GROUP; + gGameCommandErrorText = STR_NONE; + *ebx = MONEY32_UNDEFINED; + return; + } + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + player->Group = groupid; - if (network_get_mode() == NETWORK_MODE_SERVER) { - // Add or update saved user - NetworkUserManager *userManager = &gNetwork._userManager; - NetworkUser *networkUser = userManager->GetOrAddUser(player->KeyHash); - networkUser->GroupId = groupid; - networkUser->Name = player->Name; - userManager->Save(); - } + if (network_get_mode() == NETWORK_MODE_SERVER) { + // Add or update saved user + NetworkUserManager *userManager = &gNetwork._userManager; + NetworkUser *networkUser = userManager->GetOrAddUser(player->KeyHash); + networkUser->GroupId = groupid; + networkUser->Name = player->Name; + userManager->Save(); + } - window_invalidate_by_number(WC_PLAYER, playerid); + window_invalidate_by_number(WC_PLAYER, playerid); - // Log set player group event - NetworkPlayer* game_command_player = gNetwork.GetPlayerByID(game_command_playerid); - NetworkGroup* new_player_group = gNetwork.GetGroupByID(groupid); - char log_msg[256]; - const char * args[3] = { - (char *) player->Name.c_str(), - (char *) new_player_group->GetName().c_str(), - (char *) game_command_player->Name.c_str() - }; - format_string(log_msg, 256, STR_LOG_SET_PLAYER_GROUP, args); - network_append_server_log(log_msg); - } - *ebx = 0; + // Log set player group event + NetworkPlayer* game_command_player = gNetwork.GetPlayerByID(game_command_playerid); + NetworkGroup* new_player_group = gNetwork.GetGroupByID(groupid); + char log_msg[256]; + const char * args[3] = { + (char *) player->Name.c_str(), + (char *) new_player_group->GetName().c_str(), + (char *) game_command_player->Name.c_str() + }; + format_string(log_msg, 256, STR_LOG_SET_PLAYER_GROUP, args); + network_append_server_log(log_msg); + } + *ebx = 0; } void game_command_modify_groups(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - uint8 action = (uint8)*eax; - uint8 groupid = (uint8)(*eax >> 8); - uint8 nameChunkIndex = (uint8)(*eax >> 16); + uint8 action = (uint8)*eax; + uint8 groupid = (uint8)(*eax >> 8); + uint8 nameChunkIndex = (uint8)(*eax >> 16); - switch (action) - { - case 0:{ // add group - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - NetworkGroup* newgroup = gNetwork.AddGroup(); - if (!newgroup) { - gGameCommandErrorTitle = STR_CANT_DO_THIS; - gGameCommandErrorText = STR_NONE; - *ebx = MONEY32_UNDEFINED; - return; - } - - // Log add player group event - NetworkPlayer* game_command_player = gNetwork.GetPlayerByID(game_command_playerid); - char log_msg[256]; - const char * args[2] = { - (char *) game_command_player->Name.c_str(), - (char *) newgroup->GetName().c_str() - }; - format_string(log_msg, 256, STR_LOG_ADD_PLAYER_GROUP, args); - network_append_server_log(log_msg); - } - }break; - case 1:{ // remove group - if (groupid == 0) { - gGameCommandErrorTitle = STR_THIS_GROUP_CANNOT_BE_MODIFIED; - gGameCommandErrorText = STR_NONE; - *ebx = MONEY32_UNDEFINED; - return; - } - for (auto it = gNetwork.player_list.begin(); it != gNetwork.player_list.end(); it++) { - if((*it)->Group == groupid) { - gGameCommandErrorTitle = STR_CANT_REMOVE_GROUP_THAT_PLAYERS_BELONG_TO; - gGameCommandErrorText = STR_NONE; - *ebx = MONEY32_UNDEFINED; - return; - } - } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - // Log remove player group event - NetworkPlayer* game_command_player = gNetwork.GetPlayerByID(game_command_playerid); - NetworkGroup* group = gNetwork.GetGroupByID(groupid); - char* groupName = (char *)group->GetName().c_str(); - char log_msg[256]; - const char * args[2] = { - (char *) game_command_player->Name.c_str(), - groupName - }; - format_string(log_msg, 256, STR_LOG_REMOVE_PLAYER_GROUP, args); - network_append_server_log(log_msg); + switch (action) + { + case 0:{ // add group + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + NetworkGroup* newgroup = gNetwork.AddGroup(); + if (!newgroup) { + gGameCommandErrorTitle = STR_CANT_DO_THIS; + gGameCommandErrorText = STR_NONE; + *ebx = MONEY32_UNDEFINED; + return; + } - gNetwork.RemoveGroup(groupid); - } - }break; - case 2:{ // set permissions - sint32 index = *ecx; - bool all = *edx & 1; - bool allvalue = (*edx >> 1) & 1; - if (groupid == 0) { // cant change admin group permissions - gGameCommandErrorTitle = STR_THIS_GROUP_CANNOT_BE_MODIFIED; - gGameCommandErrorText = STR_NONE; - *ebx = MONEY32_UNDEFINED; - return; - } - NetworkGroup* mygroup = nullptr; - NetworkPlayer* player = gNetwork.GetPlayerByID(game_command_playerid); - if (player && !all) { - mygroup = gNetwork.GetGroupByID(player->Group); - if (!mygroup || (mygroup && !mygroup->CanPerformAction(index))) { - gGameCommandErrorTitle = STR_CANT_MODIFY_PERMISSION_THAT_YOU_DO_NOT_HAVE_YOURSELF; - gGameCommandErrorText = STR_NONE; - *ebx = MONEY32_UNDEFINED; - return; - } - } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - NetworkGroup* group = gNetwork.GetGroupByID(groupid); - if (group) { - if (all) { - if (mygroup) { - if (allvalue) { - group->ActionsAllowed = mygroup->ActionsAllowed; - } else { - group->ActionsAllowed.fill(0x00); - } - } - } else { - group->ToggleActionPermission(index); - } - } + // Log add player group event + NetworkPlayer* game_command_player = gNetwork.GetPlayerByID(game_command_playerid); + char log_msg[256]; + const char * args[2] = { + (char *) game_command_player->Name.c_str(), + (char *) newgroup->GetName().c_str() + }; + format_string(log_msg, 256, STR_LOG_ADD_PLAYER_GROUP, args); + network_append_server_log(log_msg); + } + }break; + case 1:{ // remove group + if (groupid == 0) { + gGameCommandErrorTitle = STR_THIS_GROUP_CANNOT_BE_MODIFIED; + gGameCommandErrorText = STR_NONE; + *ebx = MONEY32_UNDEFINED; + return; + } + for (auto it = gNetwork.player_list.begin(); it != gNetwork.player_list.end(); it++) { + if((*it)->Group == groupid) { + gGameCommandErrorTitle = STR_CANT_REMOVE_GROUP_THAT_PLAYERS_BELONG_TO; + gGameCommandErrorText = STR_NONE; + *ebx = MONEY32_UNDEFINED; + return; + } + } + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + // Log remove player group event + NetworkPlayer* game_command_player = gNetwork.GetPlayerByID(game_command_playerid); + NetworkGroup* group = gNetwork.GetGroupByID(groupid); + char* groupName = (char *)group->GetName().c_str(); + char log_msg[256]; + const char * args[2] = { + (char *) game_command_player->Name.c_str(), + groupName + }; + format_string(log_msg, 256, STR_LOG_REMOVE_PLAYER_GROUP, args); + network_append_server_log(log_msg); - // Log edit player group permissions event - char log_msg[256]; - const char * args[2] = { - (char *) player->Name.c_str(), - (char *) group->GetName().c_str() - }; - format_string(log_msg, 256, STR_LOG_EDIT_PLAYER_GROUP_PERMISSIONS, args); - network_append_server_log(log_msg); - } - }break; - case 3:{ // set group name - NetworkGroup* group = gNetwork.GetGroupByID(groupid); - const char * oldName = group->GetName().c_str(); - static char newName[128]; + gNetwork.RemoveGroup(groupid); + } + }break; + case 2:{ // set permissions + sint32 index = *ecx; + bool all = *edx & 1; + bool allvalue = (*edx >> 1) & 1; + if (groupid == 0) { // cant change admin group permissions + gGameCommandErrorTitle = STR_THIS_GROUP_CANNOT_BE_MODIFIED; + gGameCommandErrorText = STR_NONE; + *ebx = MONEY32_UNDEFINED; + return; + } + NetworkGroup* mygroup = nullptr; + NetworkPlayer* player = gNetwork.GetPlayerByID(game_command_playerid); + if (player && !all) { + mygroup = gNetwork.GetGroupByID(player->Group); + if (!mygroup || (mygroup && !mygroup->CanPerformAction(index))) { + gGameCommandErrorTitle = STR_CANT_MODIFY_PERMISSION_THAT_YOU_DO_NOT_HAVE_YOURSELF; + gGameCommandErrorText = STR_NONE; + *ebx = MONEY32_UNDEFINED; + return; + } + } + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + NetworkGroup* group = gNetwork.GetGroupByID(groupid); + if (group) { + if (all) { + if (mygroup) { + if (allvalue) { + group->ActionsAllowed = mygroup->ActionsAllowed; + } else { + group->ActionsAllowed.fill(0x00); + } + } + } else { + group->ToggleActionPermission(index); + } + } - size_t nameChunkOffset = nameChunkIndex - 1; - if (nameChunkIndex == 0) - nameChunkOffset = 2; - nameChunkOffset *= 12; - nameChunkOffset = (std::min)(nameChunkOffset, Util::CountOf(newName) - 12); - memcpy((void*)((uintptr_t)newName + (uintptr_t)nameChunkOffset + 0), edx, sizeof(uint32)); - memcpy((void*)((uintptr_t)newName + (uintptr_t)nameChunkOffset + 4), ebp, sizeof(uint32)); - memcpy((void*)((uintptr_t)newName + (uintptr_t)nameChunkOffset + 8), edi, sizeof(uint32)); + // Log edit player group permissions event + char log_msg[256]; + const char * args[2] = { + (char *) player->Name.c_str(), + (char *) group->GetName().c_str() + }; + format_string(log_msg, 256, STR_LOG_EDIT_PLAYER_GROUP_PERMISSIONS, args); + network_append_server_log(log_msg); + } + }break; + case 3:{ // set group name + NetworkGroup* group = gNetwork.GetGroupByID(groupid); + const char * oldName = group->GetName().c_str(); + static char newName[128]; - if (nameChunkIndex != 0) { - *ebx = 0; - return; - } + size_t nameChunkOffset = nameChunkIndex - 1; + if (nameChunkIndex == 0) + nameChunkOffset = 2; + nameChunkOffset *= 12; + nameChunkOffset = (std::min)(nameChunkOffset, Util::CountOf(newName) - 12); + memcpy((void*)((uintptr_t)newName + (uintptr_t)nameChunkOffset + 0), edx, sizeof(uint32)); + memcpy((void*)((uintptr_t)newName + (uintptr_t)nameChunkOffset + 4), ebp, sizeof(uint32)); + memcpy((void*)((uintptr_t)newName + (uintptr_t)nameChunkOffset + 8), edi, sizeof(uint32)); - if (strcmp(oldName, newName) == 0) { - *ebx = 0; - return; - } + if (nameChunkIndex != 0) { + *ebx = 0; + return; + } - if (newName[0] == 0) { - gGameCommandErrorTitle = STR_CANT_RENAME_GROUP; - gGameCommandErrorText = STR_INVALID_GROUP_NAME; - *ebx = MONEY32_UNDEFINED; - return; - } + if (strcmp(oldName, newName) == 0) { + *ebx = 0; + return; + } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - if (group) { - // Log edit player group name event - NetworkPlayer* player = gNetwork.GetPlayerByID(game_command_playerid); - char log_msg[256]; - const char * args[3] = { - (char *) player->Name.c_str(), - oldName, - newName - }; - format_string(log_msg, 256, STR_LOG_EDIT_PLAYER_GROUP_NAME, args); - network_append_server_log(log_msg); + if (newName[0] == 0) { + gGameCommandErrorTitle = STR_CANT_RENAME_GROUP; + gGameCommandErrorText = STR_INVALID_GROUP_NAME; + *ebx = MONEY32_UNDEFINED; + return; + } - group->SetName(newName); - } - } - }break; - case 4:{ // set default group - if (groupid == 0) { - gGameCommandErrorTitle = STR_CANT_SET_TO_THIS_GROUP; - gGameCommandErrorText = STR_NONE; - *ebx = MONEY32_UNDEFINED; - return; - } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - gNetwork.SetDefaultGroup(groupid); + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + if (group) { + // Log edit player group name event + NetworkPlayer* player = gNetwork.GetPlayerByID(game_command_playerid); + char log_msg[256]; + const char * args[3] = { + (char *) player->Name.c_str(), + oldName, + newName + }; + format_string(log_msg, 256, STR_LOG_EDIT_PLAYER_GROUP_NAME, args); + network_append_server_log(log_msg); - // Log edit default player group event - NetworkPlayer* player = gNetwork.GetPlayerByID(game_command_playerid); - NetworkGroup* group = gNetwork.GetGroupByID(groupid); - char log_msg[256]; - const char * args[2] = { - (char *) player->Name.c_str(), - (char *) group->GetName().c_str() - }; - format_string(log_msg, 256, STR_LOG_EDIT_DEFAULT_PLAYER_GROUP, args); - network_append_server_log(log_msg); - } - }break; - } + group->SetName(newName); + } + } + }break; + case 4:{ // set default group + if (groupid == 0) { + gGameCommandErrorTitle = STR_CANT_SET_TO_THIS_GROUP; + gGameCommandErrorText = STR_NONE; + *ebx = MONEY32_UNDEFINED; + return; + } + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + gNetwork.SetDefaultGroup(groupid); - gNetwork.SaveGroups(); + // Log edit default player group event + NetworkPlayer* player = gNetwork.GetPlayerByID(game_command_playerid); + NetworkGroup* group = gNetwork.GetGroupByID(groupid); + char log_msg[256]; + const char * args[2] = { + (char *) player->Name.c_str(), + (char *) group->GetName().c_str() + }; + format_string(log_msg, 256, STR_LOG_EDIT_DEFAULT_PLAYER_GROUP, args); + network_append_server_log(log_msg); + } + }break; + } - *ebx = 0; + gNetwork.SaveGroups(); + + *ebx = 0; } void game_command_kick_player(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - uint8 playerid = (uint8)*eax; - NetworkPlayer* player = gNetwork.GetPlayerByID(playerid); - if (player && player->Flags & NETWORK_PLAYER_FLAG_ISSERVER) { - gGameCommandErrorTitle = STR_CANT_KICK_THE_HOST; - gGameCommandErrorText = STR_NONE; - *ebx = MONEY32_UNDEFINED; - return; - } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - if (gNetwork.GetMode() == NETWORK_MODE_SERVER) { - gNetwork.KickPlayer(playerid); + uint8 playerid = (uint8)*eax; + NetworkPlayer* player = gNetwork.GetPlayerByID(playerid); + if (player && player->Flags & NETWORK_PLAYER_FLAG_ISSERVER) { + gGameCommandErrorTitle = STR_CANT_KICK_THE_HOST; + gGameCommandErrorText = STR_NONE; + *ebx = MONEY32_UNDEFINED; + return; + } + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + if (gNetwork.GetMode() == NETWORK_MODE_SERVER) { + gNetwork.KickPlayer(playerid); - NetworkUserManager * networkUserManager = &gNetwork._userManager; - networkUserManager->Load(); - networkUserManager->RemoveUser(player->KeyHash); - networkUserManager->Save(); - } + NetworkUserManager * networkUserManager = &gNetwork._userManager; + networkUserManager->Load(); + networkUserManager->RemoveUser(player->KeyHash); + networkUserManager->Save(); + } - // Log kick player event - NetworkPlayer* kicker = gNetwork.GetPlayerByID(game_command_playerid); - char log_msg[256]; - const char * args[2] = { - (char *) player->Name.c_str(), - (char *) kicker->Name.c_str(), - }; - format_string(log_msg, 256, STR_LOG_PLAYER_KICKED, args); - network_append_server_log(log_msg); - } - *ebx = 0; + // Log kick player event + NetworkPlayer* kicker = gNetwork.GetPlayerByID(game_command_playerid); + char log_msg[256]; + const char * args[2] = { + (char *) player->Name.c_str(), + (char *) kicker->Name.c_str(), + }; + format_string(log_msg, 256, STR_LOG_PLAYER_KICKED, args); + network_append_server_log(log_msg); + } + *ebx = 0; } uint8 network_get_default_group() { - return gNetwork.GetDefaultGroup(); + return gNetwork.GetDefaultGroup(); } sint32 network_get_num_actions() { - return (sint32)NetworkActions::Actions.size(); + return (sint32)NetworkActions::Actions.size(); } rct_string_id network_get_action_name_string_id(uint32 index) { - if (index < NetworkActions::Actions.size()) - { - return NetworkActions::Actions[index].Name; - } else { - return STR_NONE; - } + if (index < NetworkActions::Actions.size()) + { + return NetworkActions::Actions[index].Name; + } else { + return STR_NONE; + } } sint32 network_can_perform_action(uint32 groupindex, uint32 index) { - return gNetwork.group_list[groupindex]->CanPerformAction(index); + return gNetwork.group_list[groupindex]->CanPerformAction(index); } sint32 network_can_perform_command(uint32 groupindex, uint32 index) { - return gNetwork.group_list[groupindex]->CanPerformCommand(index); + return gNetwork.group_list[groupindex]->CanPerformCommand(index); } void network_set_pickup_peep(uint8 playerid, rct_peep* peep) { - gNetwork.GetMode() == NETWORK_MODE_NONE ? _pickup_peep = peep : gNetwork.GetPlayerByID(playerid)->PickupPeep = peep; + gNetwork.GetMode() == NETWORK_MODE_NONE ? _pickup_peep = peep : gNetwork.GetPlayerByID(playerid)->PickupPeep = peep; } rct_peep* network_get_pickup_peep(uint8 playerid) { - return gNetwork.GetMode() == NETWORK_MODE_NONE ? _pickup_peep : gNetwork.GetPlayerByID(playerid)->PickupPeep; + return gNetwork.GetMode() == NETWORK_MODE_NONE ? _pickup_peep : gNetwork.GetPlayerByID(playerid)->PickupPeep; } void network_set_pickup_peep_old_x(uint8 playerid, sint32 x) { - gNetwork.GetMode() == NETWORK_MODE_NONE ? _pickup_peep_old_x = x : gNetwork.GetPlayerByID(playerid)->PickupPeepOldX = x; + gNetwork.GetMode() == NETWORK_MODE_NONE ? _pickup_peep_old_x = x : gNetwork.GetPlayerByID(playerid)->PickupPeepOldX = x; } sint32 network_get_pickup_peep_old_x(uint8 playerid) { - return gNetwork.GetMode() == NETWORK_MODE_NONE ? _pickup_peep_old_x : gNetwork.GetPlayerByID(playerid)->PickupPeepOldX; + return gNetwork.GetMode() == NETWORK_MODE_NONE ? _pickup_peep_old_x : gNetwork.GetPlayerByID(playerid)->PickupPeepOldX; } sint32 network_get_current_player_group_index() { - return network_get_group_index(gNetwork.GetPlayerByID(gNetwork.GetPlayerID())->Group); + return network_get_group_index(gNetwork.GetPlayerByID(gNetwork.GetPlayerID())->Group); } void network_send_map() { - gNetwork.Server_Send_MAP(); + gNetwork.Server_Send_MAP(); } void network_send_chat(const char* text) { - if (gNetwork.GetMode() == NETWORK_MODE_CLIENT) { - gNetwork.Client_Send_CHAT(text); - } else - if (gNetwork.GetMode() == NETWORK_MODE_SERVER) { - NetworkPlayer* player = gNetwork.GetPlayerByID(gNetwork.GetPlayerID()); - const char* formatted = gNetwork.FormatChat(player, text); - chat_history_add(formatted); - gNetwork.Server_Send_CHAT(formatted); - } + if (gNetwork.GetMode() == NETWORK_MODE_CLIENT) { + gNetwork.Client_Send_CHAT(text); + } else + if (gNetwork.GetMode() == NETWORK_MODE_SERVER) { + NetworkPlayer* player = gNetwork.GetPlayerByID(gNetwork.GetPlayerID()); + const char* formatted = gNetwork.FormatChat(player, text); + chat_history_add(formatted); + gNetwork.Server_Send_CHAT(formatted); + } } void network_send_gamecmd(uint32 eax, uint32 ebx, uint32 ecx, uint32 edx, uint32 esi, uint32 edi, uint32 ebp, uint8 callback) { - switch (gNetwork.GetMode()) { - case NETWORK_MODE_SERVER: - gNetwork.Server_Send_GAMECMD(eax, ebx, ecx, edx, esi, edi, ebp, gNetwork.GetPlayerID(), callback); - break; - case NETWORK_MODE_CLIENT: - gNetwork.Client_Send_GAMECMD(eax, ebx, ecx, edx, esi, edi, ebp, callback); - break; - } + switch (gNetwork.GetMode()) { + case NETWORK_MODE_SERVER: + gNetwork.Server_Send_GAMECMD(eax, ebx, ecx, edx, esi, edi, ebp, gNetwork.GetPlayerID(), callback); + break; + case NETWORK_MODE_CLIENT: + gNetwork.Client_Send_GAMECMD(eax, ebx, ecx, edx, esi, edi, ebp, callback); + break; + } } void network_send_password(const char* password) { - utf8 keyPath[MAX_PATH]; - network_get_private_key_path(keyPath, sizeof(keyPath), gConfigNetwork.player_name); - if (!platform_file_exists(keyPath)) { - log_error("Private key %s missing! Restart the game to generate it.", keyPath); - return; - } - try - { - auto fs = FileStream(keyPath, FILE_MODE_OPEN); - gNetwork._key.LoadPrivate(&fs); - } - catch (Exception) - { - log_error("Error reading private key from %s.", keyPath); - return; - } - const std::string pubkey = gNetwork._key.PublicKeyString(); - size_t sigsize; - char *signature; - gNetwork._key.Sign(gNetwork._challenge.data(), gNetwork._challenge.size(), &signature, &sigsize); - // Don't keep private key in memory. There's no need and it may get leaked - // when process dump gets collected at some point in future. - gNetwork._key.Unload(); - gNetwork.Client_Send_AUTH(gConfigNetwork.player_name, password, pubkey.c_str(), signature, sigsize); - delete [] signature; + utf8 keyPath[MAX_PATH]; + network_get_private_key_path(keyPath, sizeof(keyPath), gConfigNetwork.player_name); + if (!platform_file_exists(keyPath)) { + log_error("Private key %s missing! Restart the game to generate it.", keyPath); + return; + } + try + { + auto fs = FileStream(keyPath, FILE_MODE_OPEN); + gNetwork._key.LoadPrivate(&fs); + } + catch (Exception) + { + log_error("Error reading private key from %s.", keyPath); + return; + } + const std::string pubkey = gNetwork._key.PublicKeyString(); + size_t sigsize; + char *signature; + gNetwork._key.Sign(gNetwork._challenge.data(), gNetwork._challenge.size(), &signature, &sigsize); + // Don't keep private key in memory. There's no need and it may get leaked + // when process dump gets collected at some point in future. + gNetwork._key.Unload(); + gNetwork.Client_Send_AUTH(gConfigNetwork.player_name, password, pubkey.c_str(), signature, sigsize); + delete [] signature; } void network_set_password(const char* password) { - gNetwork.SetPassword(password); + gNetwork.SetPassword(password); } void network_append_chat_log(const utf8 *text) { - gNetwork.AppendChatLog(text); + gNetwork.AppendChatLog(text); } void network_append_server_log(const utf8 *text) { - gNetwork.AppendServerLog(text); + gNetwork.AppendServerLog(text); } static void network_get_keys_directory(utf8 *buffer, size_t bufferSize) { - platform_get_user_directory(buffer, "keys", bufferSize); + platform_get_user_directory(buffer, "keys", bufferSize); } static void network_get_private_key_path(utf8 *buffer, size_t bufferSize, const utf8 * playerName) { - network_get_keys_directory(buffer, bufferSize); - Path::Append(buffer, bufferSize, playerName); - String::Append(buffer, bufferSize, ".privkey"); + network_get_keys_directory(buffer, bufferSize); + Path::Append(buffer, bufferSize, playerName); + String::Append(buffer, bufferSize, ".privkey"); } static void network_get_public_key_path(utf8 *buffer, size_t bufferSize, const utf8 * playerName, const utf8 * hash) { - network_get_keys_directory(buffer, bufferSize); - Path::Append(buffer, bufferSize, playerName); - String::Append(buffer, bufferSize, "-"); - String::Append(buffer, bufferSize, hash); - String::Append(buffer, bufferSize, ".pubkey"); + network_get_keys_directory(buffer, bufferSize); + Path::Append(buffer, bufferSize, playerName); + String::Append(buffer, bufferSize, "-"); + String::Append(buffer, bufferSize, hash); + String::Append(buffer, bufferSize, ".pubkey"); } const utf8 * network_get_server_name() { return gNetwork.ServerName.c_str(); } diff --git a/src/openrct2/network/network.h b/src/openrct2/network/network.h index 01fa4aff51..c724b5bbb7 100644 --- a/src/openrct2/network/network.h +++ b/src/openrct2/network/network.h @@ -18,20 +18,20 @@ #define _NETWORK_H_ enum { - NETWORK_MODE_NONE, - NETWORK_MODE_CLIENT, - NETWORK_MODE_SERVER + NETWORK_MODE_NONE, + NETWORK_MODE_CLIENT, + NETWORK_MODE_SERVER }; enum { - NETWORK_PLAYER_FLAG_ISSERVER = 1 << 0, + NETWORK_PLAYER_FLAG_ISSERVER = 1 << 0, }; enum { - NETWORK_STATUS_NONE, - NETWORK_STATUS_READY, - NETWORK_STATUS_CONNECTING, - NETWORK_STATUS_CONNECTED + NETWORK_STATUS_NONE, + NETWORK_STATUS_READY, + NETWORK_STATUS_CONNECTING, + NETWORK_STATUS_CONNECTED }; #define NETWORK_DEFAULT_PORT 11753 @@ -82,188 +82,188 @@ extern "C" { enum { - NETWORK_TICK_FLAG_CHECKSUMS = 1 << 0, + NETWORK_TICK_FLAG_CHECKSUMS = 1 << 0, }; -interface IPlatformEnvironment; -struct ObjectRepositoryItem; +interface IPlatformEnvironment; +struct ObjectRepositoryItem; class Network { public: - Network(); - ~Network(); - void SetEnvironment(IPlatformEnvironment * env); - bool Init(); - void Close(); - bool BeginClient(const char* host, uint16 port); - bool BeginServer(uint16 port, const char* address); - sint32 GetMode(); - sint32 GetStatus(); - sint32 GetAuthStatus(); - uint32 GetServerTick(); - uint8 GetPlayerID(); - void Update(); - std::vector>::iterator GetPlayerIteratorByID(uint8 id); - NetworkPlayer* GetPlayerByID(uint8 id); - std::vector>::iterator GetGroupIteratorByID(uint8 id); - NetworkGroup* GetGroupByID(uint8 id); - static const char* FormatChat(NetworkPlayer* fromplayer, const char* text); - void SendPacketToClients(NetworkPacket& packet, bool front = false); - bool CheckSRAND(uint32 tick, uint32 srand0); - void KickPlayer(sint32 playerId); - void SetPassword(const char* password); - void ShutdownClient(); - NetworkGroup* AddGroup(); - void RemoveGroup(uint8 id); - uint8 GetDefaultGroup(); - uint8 GetGroupIDByHash(const std::string &keyhash); - void SetDefaultGroup(uint8 id); - void SaveGroups(); - void LoadGroups(); + Network(); + ~Network(); + void SetEnvironment(IPlatformEnvironment * env); + bool Init(); + void Close(); + bool BeginClient(const char* host, uint16 port); + bool BeginServer(uint16 port, const char* address); + sint32 GetMode(); + sint32 GetStatus(); + sint32 GetAuthStatus(); + uint32 GetServerTick(); + uint8 GetPlayerID(); + void Update(); + std::vector>::iterator GetPlayerIteratorByID(uint8 id); + NetworkPlayer* GetPlayerByID(uint8 id); + std::vector>::iterator GetGroupIteratorByID(uint8 id); + NetworkGroup* GetGroupByID(uint8 id); + static const char* FormatChat(NetworkPlayer* fromplayer, const char* text); + void SendPacketToClients(NetworkPacket& packet, bool front = false); + bool CheckSRAND(uint32 tick, uint32 srand0); + void KickPlayer(sint32 playerId); + void SetPassword(const char* password); + void ShutdownClient(); + NetworkGroup* AddGroup(); + void RemoveGroup(uint8 id); + uint8 GetDefaultGroup(); + uint8 GetGroupIDByHash(const std::string &keyhash); + void SetDefaultGroup(uint8 id); + void SaveGroups(); + void LoadGroups(); - std::string BeginLog(const std::string &directory, const std::string &filenameFormat); - void AppendLog(const std::string &logPath, const std::string &s); + std::string BeginLog(const std::string &directory, const std::string &filenameFormat); + void AppendLog(const std::string &logPath, const std::string &s); - void BeginChatLog(); - void AppendChatLog(const std::string &s); - void CloseChatLog(); + void BeginChatLog(); + void AppendChatLog(const std::string &s); + void CloseChatLog(); - void BeginServerLog(); - void AppendServerLog(const std::string &s); - void CloseServerLog(); + void BeginServerLog(); + void AppendServerLog(const std::string &s); + void CloseServerLog(); - void Client_Send_TOKEN(); - void Client_Send_AUTH(const char* name, const char* password, const char *pubkey, const char *sig, size_t sigsize); - void Client_Send_AUTH(const char* name, const char* password, const char *pubkey); - void Server_Send_AUTH(NetworkConnection& connection); - void Server_Send_TOKEN(NetworkConnection& connection); - void Server_Send_MAP(NetworkConnection* connection = nullptr); - void Client_Send_CHAT(const char* text); - void Server_Send_CHAT(const char* text); - void Client_Send_GAMECMD(uint32 eax, uint32 ebx, uint32 ecx, uint32 edx, uint32 esi, uint32 edi, uint32 ebp, uint8 callback); - void Server_Send_GAMECMD(uint32 eax, uint32 ebx, uint32 ecx, uint32 edx, uint32 esi, uint32 edi, uint32 ebp, uint8 playerid, uint8 callback); - void Server_Send_TICK(); - void Server_Send_PLAYERLIST(); - void Client_Send_PING(); - void Server_Send_PING(); - void Server_Send_PINGLIST(); - void Server_Send_SETDISCONNECTMSG(NetworkConnection& connection, const char* msg); - void Server_Send_GAMEINFO(NetworkConnection& connection); - void Server_Send_SHOWERROR(NetworkConnection& connection, rct_string_id title, rct_string_id message); - void Server_Send_GROUPLIST(NetworkConnection& connection); - void Server_Send_EVENT_PLAYER_JOINED(const char *playerName); - void Server_Send_EVENT_PLAYER_DISCONNECTED(const char *playerName, const char *reason); - void Client_Send_GAMEINFO(); - void Client_Send_OBJECTS(const std::vector &objects); - void Server_Send_OBJECTS(NetworkConnection& connection, const std::vector &objects) const; + void Client_Send_TOKEN(); + void Client_Send_AUTH(const char* name, const char* password, const char *pubkey, const char *sig, size_t sigsize); + void Client_Send_AUTH(const char* name, const char* password, const char *pubkey); + void Server_Send_AUTH(NetworkConnection& connection); + void Server_Send_TOKEN(NetworkConnection& connection); + void Server_Send_MAP(NetworkConnection* connection = nullptr); + void Client_Send_CHAT(const char* text); + void Server_Send_CHAT(const char* text); + void Client_Send_GAMECMD(uint32 eax, uint32 ebx, uint32 ecx, uint32 edx, uint32 esi, uint32 edi, uint32 ebp, uint8 callback); + void Server_Send_GAMECMD(uint32 eax, uint32 ebx, uint32 ecx, uint32 edx, uint32 esi, uint32 edi, uint32 ebp, uint8 playerid, uint8 callback); + void Server_Send_TICK(); + void Server_Send_PLAYERLIST(); + void Client_Send_PING(); + void Server_Send_PING(); + void Server_Send_PINGLIST(); + void Server_Send_SETDISCONNECTMSG(NetworkConnection& connection, const char* msg); + void Server_Send_GAMEINFO(NetworkConnection& connection); + void Server_Send_SHOWERROR(NetworkConnection& connection, rct_string_id title, rct_string_id message); + void Server_Send_GROUPLIST(NetworkConnection& connection); + void Server_Send_EVENT_PLAYER_JOINED(const char *playerName); + void Server_Send_EVENT_PLAYER_DISCONNECTED(const char *playerName, const char *reason); + void Client_Send_GAMEINFO(); + void Client_Send_OBJECTS(const std::vector &objects); + void Server_Send_OBJECTS(NetworkConnection& connection, const std::vector &objects) const; - std::vector> player_list; - std::vector> group_list; - NetworkKey _key; - std::vector _challenge; - NetworkUserManager _userManager; + std::vector> player_list; + std::vector> group_list; + NetworkKey _key; + std::vector _challenge; + NetworkUserManager _userManager; - std::string ServerName; - std::string ServerDescription; - std::string ServerGreeting; - std::string ServerProviderName; - std::string ServerProviderEmail; - std::string ServerProviderWebsite; + std::string ServerName; + std::string ServerDescription; + std::string ServerGreeting; + std::string ServerProviderName; + std::string ServerProviderEmail; + std::string ServerProviderWebsite; private: - bool ProcessConnection(NetworkConnection& connection); - void ProcessPacket(NetworkConnection& connection, NetworkPacket& packet); - void ProcessGameCommandQueue(); - void AddClient(ITcpSocket * socket); - void RemoveClient(std::unique_ptr& connection); - NetworkPlayer* AddPlayer(const utf8 *name, const std::string &keyhash); - std::string MakePlayerNameUnique(const std::string &name); - void PrintError(); - const char* GetMasterServerUrl(); - std::string GenerateAdvertiseKey(); - void SetupDefaultGroups(); + bool ProcessConnection(NetworkConnection& connection); + void ProcessPacket(NetworkConnection& connection, NetworkPacket& packet); + void ProcessGameCommandQueue(); + void AddClient(ITcpSocket * socket); + void RemoveClient(std::unique_ptr& connection); + NetworkPlayer* AddPlayer(const utf8 *name, const std::string &keyhash); + std::string MakePlayerNameUnique(const std::string &name); + void PrintError(); + const char* GetMasterServerUrl(); + std::string GenerateAdvertiseKey(); + void SetupDefaultGroups(); - bool LoadMap(IStream * stream); - bool SaveMap(IStream * stream, const std::vector &objects) const; + bool LoadMap(IStream * stream); + bool SaveMap(IStream * stream, const std::vector &objects) const; - struct GameCommand - { - GameCommand(uint32 t, uint32* args, uint8 p, uint8 cb) { - tick = t; eax = args[0]; ebx = args[1]; ecx = args[2]; edx = args[3]; - esi = args[4]; edi = args[5]; ebp = args[6]; playerid = p; callback = cb; - } - uint32 tick; - uint32 eax, ebx, ecx, edx, esi, edi, ebp; - uint8 playerid; - uint8 callback; - bool operator<(const GameCommand& comp) const { - return tick < comp.tick; - } - }; + struct GameCommand + { + GameCommand(uint32 t, uint32* args, uint8 p, uint8 cb) { + tick = t; eax = args[0]; ebx = args[1]; ecx = args[2]; edx = args[3]; + esi = args[4]; edi = args[5]; ebp = args[6]; playerid = p; callback = cb; + } + uint32 tick; + uint32 eax, ebx, ecx, edx, esi, edi, ebp; + uint8 playerid; + uint8 callback; + bool operator<(const GameCommand& comp) const { + return tick < comp.tick; + } + }; - sint32 mode = NETWORK_MODE_NONE; - sint32 status = NETWORK_STATUS_NONE; - bool _closeLock = false; - bool _requireClose = false; - bool wsa_initialized = false; - ITcpSocket * listening_socket = nullptr; - uint16 listening_port = 0; - NetworkConnection * server_connection = nullptr; - SOCKET_STATUS _lastConnectStatus = SOCKET_STATUS_CLOSED; - uint32 last_tick_sent_time = 0; - uint32 last_ping_sent_time = 0; - uint32 server_tick = 0; - uint32 server_srand0 = 0; - uint32 server_srand0_tick = 0; - char server_sprite_hash[EVP_MAX_MD_SIZE + 1]; - uint8 player_id = 0; - std::list> client_connection_list; - std::multiset game_command_queue; - std::vector chunk_buffer; - std::string _password; - bool _desynchronised = false; - INetworkServerAdvertiser * _advertiser = nullptr; - uint32 server_connect_time = 0; - uint8 default_group = 0; - uint32 game_commands_processed_this_tick = 0; - std::string _chatLogPath; - std::string _chatLogFilenameFormat = "%Y%m%d-%H%M%S.txt"; - std::string _serverLogPath; - std::string _serverLogFilenameFormat = "-%Y%m%d-%H%M%S.txt"; - IPlatformEnvironment * _env; + sint32 mode = NETWORK_MODE_NONE; + sint32 status = NETWORK_STATUS_NONE; + bool _closeLock = false; + bool _requireClose = false; + bool wsa_initialized = false; + ITcpSocket * listening_socket = nullptr; + uint16 listening_port = 0; + NetworkConnection * server_connection = nullptr; + SOCKET_STATUS _lastConnectStatus = SOCKET_STATUS_CLOSED; + uint32 last_tick_sent_time = 0; + uint32 last_ping_sent_time = 0; + uint32 server_tick = 0; + uint32 server_srand0 = 0; + uint32 server_srand0_tick = 0; + char server_sprite_hash[EVP_MAX_MD_SIZE + 1]; + uint8 player_id = 0; + std::list> client_connection_list; + std::multiset game_command_queue; + std::vector chunk_buffer; + std::string _password; + bool _desynchronised = false; + INetworkServerAdvertiser * _advertiser = nullptr; + uint32 server_connect_time = 0; + uint8 default_group = 0; + uint32 game_commands_processed_this_tick = 0; + std::string _chatLogPath; + std::string _chatLogFilenameFormat = "%Y%m%d-%H%M%S.txt"; + std::string _serverLogPath; + std::string _serverLogFilenameFormat = "-%Y%m%d-%H%M%S.txt"; + IPlatformEnvironment * _env; - void UpdateServer(); - void UpdateClient(); + void UpdateServer(); + void UpdateClient(); private: - std::vector client_command_handlers; - std::vector server_command_handlers; - void Client_Handle_AUTH(NetworkConnection& connection, NetworkPacket& packet); - void Server_Handle_AUTH(NetworkConnection& connection, NetworkPacket& packet); - void Server_Client_Joined(const char* name, const std::string &keyhash, NetworkConnection& connection); - void Client_Handle_MAP(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_CHAT(NetworkConnection& connection, NetworkPacket& packet); - void Server_Handle_CHAT(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_GAMECMD(NetworkConnection& connection, NetworkPacket& packet); - void Server_Handle_GAMECMD(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_TICK(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_PLAYERLIST(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_PING(NetworkConnection& connection, NetworkPacket& packet); - void Server_Handle_PING(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_PINGLIST(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_SETDISCONNECTMSG(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_GAMEINFO(NetworkConnection& connection, NetworkPacket& packet); - void Server_Handle_GAMEINFO(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_SHOWERROR(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_GROUPLIST(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_EVENT(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_TOKEN(NetworkConnection& connection, NetworkPacket& packet); - void Server_Handle_TOKEN(NetworkConnection& connection, NetworkPacket& packet); - void Client_Handle_OBJECTS(NetworkConnection& connection, NetworkPacket& packet); - void Server_Handle_OBJECTS(NetworkConnection& connection, NetworkPacket& packet); + std::vector client_command_handlers; + std::vector server_command_handlers; + void Client_Handle_AUTH(NetworkConnection& connection, NetworkPacket& packet); + void Server_Handle_AUTH(NetworkConnection& connection, NetworkPacket& packet); + void Server_Client_Joined(const char* name, const std::string &keyhash, NetworkConnection& connection); + void Client_Handle_MAP(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_CHAT(NetworkConnection& connection, NetworkPacket& packet); + void Server_Handle_CHAT(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_GAMECMD(NetworkConnection& connection, NetworkPacket& packet); + void Server_Handle_GAMECMD(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_TICK(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_PLAYERLIST(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_PING(NetworkConnection& connection, NetworkPacket& packet); + void Server_Handle_PING(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_PINGLIST(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_SETDISCONNECTMSG(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_GAMEINFO(NetworkConnection& connection, NetworkPacket& packet); + void Server_Handle_GAMEINFO(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_SHOWERROR(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_GROUPLIST(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_EVENT(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_TOKEN(NetworkConnection& connection, NetworkPacket& packet); + void Server_Handle_TOKEN(NetworkConnection& connection, NetworkPacket& packet); + void Client_Handle_OBJECTS(NetworkConnection& connection, NetworkPacket& packet); + void Server_Handle_OBJECTS(NetworkConnection& connection, NetworkPacket& packet); - uint8 * save_for_network(size_t &out_size, const std::vector &objects) const; + uint8 * save_for_network(size_t &out_size, const std::vector &objects) const; }; #endif // __cplusplus diff --git a/src/openrct2/object.h b/src/openrct2/object.h index 3a563d3650..d3bd17d83a 100644 --- a/src/openrct2/object.h +++ b/src/openrct2/object.h @@ -22,28 +22,28 @@ // First 0xF of rct_object_entry->flags typedef enum{ - OBJECT_TYPE_RIDE, - OBJECT_TYPE_SMALL_SCENERY, - OBJECT_TYPE_LARGE_SCENERY, - OBJECT_TYPE_WALLS, - OBJECT_TYPE_BANNERS, - OBJECT_TYPE_PATHS, - OBJECT_TYPE_PATH_BITS, - OBJECT_TYPE_SCENERY_SETS, - OBJECT_TYPE_PARK_ENTRANCE, - OBJECT_TYPE_WATER, - OBJECT_TYPE_SCENARIO_TEXT + OBJECT_TYPE_RIDE, + OBJECT_TYPE_SMALL_SCENERY, + OBJECT_TYPE_LARGE_SCENERY, + OBJECT_TYPE_WALLS, + OBJECT_TYPE_BANNERS, + OBJECT_TYPE_PATHS, + OBJECT_TYPE_PATH_BITS, + OBJECT_TYPE_SCENERY_SETS, + OBJECT_TYPE_PARK_ENTRANCE, + OBJECT_TYPE_WATER, + OBJECT_TYPE_SCENARIO_TEXT }OBJECT_TYPE; typedef enum{ - OBJECT_SELECTION_FLAG_SELECTED = (1 << 0), - OBJECT_SELECTION_FLAG_2 = (1 << 1), - OBJECT_SELECTION_FLAG_IN_USE = (1 << 2), - // OBJECT_SELECTION_FLAG_REQUIRED = (1 << 3), // Unused feature - OBJECT_SELECTION_FLAG_ALWAYS_REQUIRED = (1 << 4), - OBJECT_SELECTION_FLAG_6 = (1 << 5), - OBJECT_SELECTION_FLAG_7 = (1 << 6), - OBJECT_SELECTION_FLAG_8 = (1 << 7), + OBJECT_SELECTION_FLAG_SELECTED = (1 << 0), + OBJECT_SELECTION_FLAG_2 = (1 << 1), + OBJECT_SELECTION_FLAG_IN_USE = (1 << 2), + // OBJECT_SELECTION_FLAG_REQUIRED = (1 << 3), // Unused feature + OBJECT_SELECTION_FLAG_ALWAYS_REQUIRED = (1 << 4), + OBJECT_SELECTION_FLAG_6 = (1 << 5), + OBJECT_SELECTION_FLAG_7 = (1 << 6), + OBJECT_SELECTION_FLAG_8 = (1 << 7), }OBJECT_SELECTION_FLAGS; #define OBJECT_ENTRY_GROUP_COUNT 11 @@ -55,9 +55,9 @@ typedef enum{ * size: 0x10 */ typedef struct rct_object_entry { - uint32 flags; - char name[8]; - uint32 checksum; + uint32 flags; + char name[8]; + uint32 checksum; } rct_object_entry; assert_struct_size(rct_object_entry, 0x10); @@ -66,15 +66,15 @@ assert_struct_size(rct_object_entry, 0x10); * size: 0x14 */ typedef struct rct_object_entry_extended { - union { - rct_object_entry entry; - struct { - uint32 flags; - char name[8]; - uint32 checksum; - uint32 chunk_size; - }; - }; + union { + rct_object_entry entry; + struct { + uint32 flags; + char name[8]; + uint32 checksum; + uint32 chunk_size; + }; + }; } rct_object_entry_extended; assert_struct_size(rct_object_entry_extended, 0x14); @@ -82,23 +82,23 @@ extern sint32 object_entry_group_counts[]; extern sint32 object_entry_group_encoding[]; typedef struct rct_object_entry_group { - void **chunks; - rct_object_entry_extended *entries; + void **chunks; + rct_object_entry_extended *entries; } rct_object_entry_group; #ifdef PLATFORM_32BIT assert_struct_size(rct_object_entry_group, 8); #endif typedef struct rct_ride_filters { - uint8 category[2]; - uint8 ride_type; + uint8 category[2]; + uint8 ride_type; } rct_ride_filters; assert_struct_size(rct_ride_filters, 3); typedef struct rct_object_filters { - union { - rct_ride_filters ride; - }; + union { + rct_ride_filters ride; + }; } rct_object_filters; assert_struct_size(rct_object_filters, 3); #pragma pack(pop) diff --git a/src/openrct2/object_list.c b/src/openrct2/object_list.c index 90c8a1a1bb..10af4128a7 100644 --- a/src/openrct2/object_list.c +++ b/src/openrct2/object_list.c @@ -23,99 +23,99 @@ // 98DA00 sint32 object_entry_group_counts[] = { - 128, // rides - 252, // small scenery - 128, // large scenery - 128, // walls - 32, // banners - 16, // paths - 15, // path bits - 19, // scenery sets - 1, // park entrance - 1, // water - 1 // scenario text + 128, // rides + 252, // small scenery + 128, // large scenery + 128, // walls + 32, // banners + 16, // paths + 15, // path bits + 19, // scenery sets + 1, // park entrance + 1, // water + 1 // scenario text }; // 98DA2C sint32 object_entry_group_encoding[] = { - CHUNK_ENCODING_RLE, - CHUNK_ENCODING_RLE, - CHUNK_ENCODING_RLE, - CHUNK_ENCODING_RLE, - CHUNK_ENCODING_RLE, - CHUNK_ENCODING_RLE, - CHUNK_ENCODING_RLE, - CHUNK_ENCODING_RLE, - CHUNK_ENCODING_RLE, - CHUNK_ENCODING_RLE, - CHUNK_ENCODING_ROTATE + CHUNK_ENCODING_RLE, + CHUNK_ENCODING_RLE, + CHUNK_ENCODING_RLE, + CHUNK_ENCODING_RLE, + CHUNK_ENCODING_RLE, + CHUNK_ENCODING_RLE, + CHUNK_ENCODING_RLE, + CHUNK_ENCODING_RLE, + CHUNK_ENCODING_RLE, + CHUNK_ENCODING_RLE, + CHUNK_ENCODING_ROTATE }; #ifdef NO_RCT2 - rct_ride_entry *gRideEntries[128]; - rct_small_scenery_entry *gSmallSceneryEntries[252]; - rct_large_scenery_entry *gLargeSceneryEntries[128]; - rct_wall_scenery_entry *gWallSceneryEntries[128]; - rct_banner *gBannerSceneryEntries[32]; - rct_footpath_entry *gFootpathEntries[16]; - rct_path_bit_scenery_entry *gFootpathAdditionEntries[15]; - rct_scenery_set_entry *gSceneryGroupEntries[19]; - rct_entrance_type *gParkEntranceEntries[1]; - rct_water_type *gWaterEntries[1]; - rct_stex_entry *gStexEntries[1]; + rct_ride_entry *gRideEntries[128]; + rct_small_scenery_entry *gSmallSceneryEntries[252]; + rct_large_scenery_entry *gLargeSceneryEntries[128]; + rct_wall_scenery_entry *gWallSceneryEntries[128]; + rct_banner *gBannerSceneryEntries[32]; + rct_footpath_entry *gFootpathEntries[16]; + rct_path_bit_scenery_entry *gFootpathAdditionEntries[15]; + rct_scenery_set_entry *gSceneryGroupEntries[19]; + rct_entrance_type *gParkEntranceEntries[1]; + rct_water_type *gWaterEntries[1]; + rct_stex_entry *gStexEntries[1]; #endif #ifdef NO_RCT2 - rct_object_entry_extended _objectEntriesRides[128]; - rct_object_entry_extended _objectEntriesSmallScenery[252]; - rct_object_entry_extended _objectEntriesLargeScenery[128]; - rct_object_entry_extended _objectEntriesWalls[128]; - rct_object_entry_extended _objectEntriesBanners[32]; - rct_object_entry_extended _objectEntriesFootpaths[16]; - rct_object_entry_extended _objectEntriesFootpathAdditions[15]; - rct_object_entry_extended _objectEntriesSceneryGroups[19]; - rct_object_entry_extended _objectEntriesParkEntrances[1]; - rct_object_entry_extended _objectEntriesWaters[1]; - rct_object_entry_extended _objectEntriesStexs[1]; + rct_object_entry_extended _objectEntriesRides[128]; + rct_object_entry_extended _objectEntriesSmallScenery[252]; + rct_object_entry_extended _objectEntriesLargeScenery[128]; + rct_object_entry_extended _objectEntriesWalls[128]; + rct_object_entry_extended _objectEntriesBanners[32]; + rct_object_entry_extended _objectEntriesFootpaths[16]; + rct_object_entry_extended _objectEntriesFootpathAdditions[15]; + rct_object_entry_extended _objectEntriesSceneryGroups[19]; + rct_object_entry_extended _objectEntriesParkEntrances[1]; + rct_object_entry_extended _objectEntriesWaters[1]; + rct_object_entry_extended _objectEntriesStexs[1]; #else - #define _objectEntriesRides RCT2_ADDRESS(0x00F3F03C ,rct_object_entry_extended) - #define _objectEntriesSmallScenery RCT2_ADDRESS(0x00F3F03C + (128 * 20),rct_object_entry_extended) - #define _objectEntriesLargeScenery RCT2_ADDRESS(0x00F3F03C + (380 * 20),rct_object_entry_extended) - #define _objectEntriesWalls RCT2_ADDRESS(0x00F3F03C + (508 * 20),rct_object_entry_extended) - #define _objectEntriesBanners RCT2_ADDRESS(0x00F3F03C + (636 * 20),rct_object_entry_extended) - #define _objectEntriesFootpaths RCT2_ADDRESS(0x00F3F03C + (668 * 20),rct_object_entry_extended) - #define _objectEntriesFootpathAdditions RCT2_ADDRESS(0x00F3F03C + (684 * 20),rct_object_entry_extended) - #define _objectEntriesSceneryGroups RCT2_ADDRESS(0x00F3F03C + (699 * 20),rct_object_entry_extended) - #define _objectEntriesParkEntrances RCT2_ADDRESS(0x00F3F03C + (718 * 20),rct_object_entry_extended) - #define _objectEntriesWaters RCT2_ADDRESS(0x00F3F03C + (719 * 20),rct_object_entry_extended) - #define _objectEntriesStexs RCT2_ADDRESS(0x00F3F03C + (720 * 20),rct_object_entry_extended) + #define _objectEntriesRides RCT2_ADDRESS(0x00F3F03C ,rct_object_entry_extended) + #define _objectEntriesSmallScenery RCT2_ADDRESS(0x00F3F03C + (128 * 20),rct_object_entry_extended) + #define _objectEntriesLargeScenery RCT2_ADDRESS(0x00F3F03C + (380 * 20),rct_object_entry_extended) + #define _objectEntriesWalls RCT2_ADDRESS(0x00F3F03C + (508 * 20),rct_object_entry_extended) + #define _objectEntriesBanners RCT2_ADDRESS(0x00F3F03C + (636 * 20),rct_object_entry_extended) + #define _objectEntriesFootpaths RCT2_ADDRESS(0x00F3F03C + (668 * 20),rct_object_entry_extended) + #define _objectEntriesFootpathAdditions RCT2_ADDRESS(0x00F3F03C + (684 * 20),rct_object_entry_extended) + #define _objectEntriesSceneryGroups RCT2_ADDRESS(0x00F3F03C + (699 * 20),rct_object_entry_extended) + #define _objectEntriesParkEntrances RCT2_ADDRESS(0x00F3F03C + (718 * 20),rct_object_entry_extended) + #define _objectEntriesWaters RCT2_ADDRESS(0x00F3F03C + (719 * 20),rct_object_entry_extended) + #define _objectEntriesStexs RCT2_ADDRESS(0x00F3F03C + (720 * 20),rct_object_entry_extended) #endif // NO_RCT2 // 0x98D97C chunk address', 0x98D980 object_entries const rct_object_entry_group object_entry_groups[] = { - (void**)(gRideEntries ), _objectEntriesRides, // rides - (void**)(gSmallSceneryEntries ), _objectEntriesSmallScenery, // small scenery 0x009AD1A4, 0xF2FA3C - (void**)(gLargeSceneryEntries ), _objectEntriesLargeScenery, // large scenery 0x009AD594, 0xF40DEC - (void**)(gWallSceneryEntries ), _objectEntriesWalls, // walls 0x009AD794, 0xF417EC - (void**)(gBannerSceneryEntries ), _objectEntriesBanners, // banners 0x009AD994, 0xF421EC - (void**)(gFootpathEntries ), _objectEntriesFootpaths, // paths 0x009ADA14, 0xF4246C - (void**)(gFootpathAdditionEntries ), _objectEntriesFootpathAdditions, // path bits 0x009ADA54, 0xF425AC - (void**)(gSceneryGroupEntries ), _objectEntriesSceneryGroups, // scenery sets 0x009ADA90, 0xF426D8 - (void**)(gParkEntranceEntries ), _objectEntriesParkEntrances, // park entrance 0x009ADADC, 0xF42854 - (void**)(gWaterEntries ), _objectEntriesWaters, // water 0x009ADAE0, 0xF42868 - (void**)(gStexEntries ), _objectEntriesStexs, // scenario text 0x009ADAE4, 0xF4287C + (void**)(gRideEntries ), _objectEntriesRides, // rides + (void**)(gSmallSceneryEntries ), _objectEntriesSmallScenery, // small scenery 0x009AD1A4, 0xF2FA3C + (void**)(gLargeSceneryEntries ), _objectEntriesLargeScenery, // large scenery 0x009AD594, 0xF40DEC + (void**)(gWallSceneryEntries ), _objectEntriesWalls, // walls 0x009AD794, 0xF417EC + (void**)(gBannerSceneryEntries ), _objectEntriesBanners, // banners 0x009AD994, 0xF421EC + (void**)(gFootpathEntries ), _objectEntriesFootpaths, // paths 0x009ADA14, 0xF4246C + (void**)(gFootpathAdditionEntries ), _objectEntriesFootpathAdditions, // path bits 0x009ADA54, 0xF425AC + (void**)(gSceneryGroupEntries ), _objectEntriesSceneryGroups, // scenery sets 0x009ADA90, 0xF426D8 + (void**)(gParkEntranceEntries ), _objectEntriesParkEntrances, // park entrance 0x009ADADC, 0xF42854 + (void**)(gWaterEntries ), _objectEntriesWaters, // water 0x009ADAE0, 0xF42868 + (void**)(gStexEntries ), _objectEntriesStexs, // scenario text 0x009ADAE4, 0xF4287C }; bool object_entry_is_empty(const rct_object_entry *entry) { - uint64 a, b; - memcpy(&a, (uint8 *)entry, 8); - memcpy(&b, (uint8 *)entry + 8, 8); + uint64 a, b; + memcpy(&a, (uint8 *)entry, 8); + memcpy(&b, (uint8 *)entry + 8, 8); - if (a == 0xFFFFFFFFFFFFFFFF && b == 0xFFFFFFFFFFFFFFFF) return true; - if (a == 0 && b == 0) return true; - return false; + if (a == 0xFFFFFFFFFFFFFFFF && b == 0xFFFFFFFFFFFFFFFF) return true; + if (a == 0 && b == 0) return true; + return false; } /** @@ -124,7 +124,7 @@ bool object_entry_is_empty(const rct_object_entry *entry) */ void object_create_identifier_name(char* string_buffer, size_t size, const rct_object_entry* object) { - snprintf(string_buffer, size, "%.8s/%4X%4X", object->name, object->flags, object->checksum); + snprintf(string_buffer, size, "%.8s/%4X%4X", object->name, object->flags, object->checksum); } /** @@ -134,76 +134,76 @@ void object_create_identifier_name(char* string_buffer, size_t size, const rct_o * ecx = entry_type */ sint32 find_object_in_entry_group(const rct_object_entry* entry, uint8* entry_type, uint8* entry_index){ - *entry_type = entry->flags & 0xF; + *entry_type = entry->flags & 0xF; - rct_object_entry_group entry_group = object_entry_groups[*entry_type]; - for (*entry_index = 0; - *entry_index < object_entry_group_counts[*entry_type]; - ++(*entry_index), - entry_group.chunks++, - entry_group.entries++){ + rct_object_entry_group entry_group = object_entry_groups[*entry_type]; + for (*entry_index = 0; + *entry_index < object_entry_group_counts[*entry_type]; + ++(*entry_index), + entry_group.chunks++, + entry_group.entries++){ - if (*entry_group.chunks == (uint8*)-1) continue; + if (*entry_group.chunks == (uint8*)-1) continue; - if (object_entry_compare((rct_object_entry*)entry_group.entries, entry))break; - } + if (object_entry_compare((rct_object_entry*)entry_group.entries, entry))break; + } - if (*entry_index == object_entry_group_counts[*entry_type])return 0; - return 1; + if (*entry_index == object_entry_group_counts[*entry_type])return 0; + return 1; } void get_type_entry_index(size_t index, uint8 * outObjectType, uint8 * outEntryIndex) { - uint8 objectType = OBJECT_TYPE_RIDE; - for (size_t i = 0; i < OBJECT_ENTRY_GROUP_COUNT; i++) { - size_t groupCount = object_entry_group_counts[i]; - if (index >= groupCount) { - index -= groupCount; - objectType++; - } else { - break; - } - } + uint8 objectType = OBJECT_TYPE_RIDE; + for (size_t i = 0; i < OBJECT_ENTRY_GROUP_COUNT; i++) { + size_t groupCount = object_entry_group_counts[i]; + if (index >= groupCount) { + index -= groupCount; + objectType++; + } else { + break; + } + } - if (outObjectType != NULL) *outObjectType = objectType; - if (outEntryIndex != NULL) *outEntryIndex = (uint8)index; + if (outObjectType != NULL) *outObjectType = objectType; + if (outEntryIndex != NULL) *outEntryIndex = (uint8)index; } const rct_object_entry * get_loaded_object_entry(size_t index) { - uint8 objectType, entryIndex; - get_type_entry_index(index, &objectType, &entryIndex); + uint8 objectType, entryIndex; + get_type_entry_index(index, &objectType, &entryIndex); - rct_object_entry * entry = (rct_object_entry *)&(object_entry_groups[objectType].entries[entryIndex]); - return entry; + rct_object_entry * entry = (rct_object_entry *)&(object_entry_groups[objectType].entries[entryIndex]); + return entry; } void * get_loaded_object_chunk(size_t index) { - uint8 objectType, entryIndex; - get_type_entry_index(index, &objectType, &entryIndex); + uint8 objectType, entryIndex; + get_type_entry_index(index, &objectType, &entryIndex); - void *entry = object_entry_groups[objectType].chunks[entryIndex]; - return entry; + void *entry = object_entry_groups[objectType].chunks[entryIndex]; + return entry; } void object_entry_get_name(utf8 * buffer, size_t bufferSize, const rct_object_entry * entry) { - size_t nameLength = 8; - const char * end = memchr(entry->name, ' ', 8); - if (end != NULL) - { - nameLength = (size_t)(end - entry->name); - } + size_t nameLength = 8; + const char * end = memchr(entry->name, ' ', 8); + if (end != NULL) + { + nameLength = (size_t)(end - entry->name); + } - bufferSize = min(nameLength + 1, bufferSize); - memcpy(buffer, entry->name, bufferSize - 1); - buffer[bufferSize - 1] = 0; + bufferSize = min(nameLength + 1, bufferSize); + memcpy(buffer, entry->name, bufferSize - 1); + buffer[bufferSize - 1] = 0; } void object_entry_get_name_fixed(utf8 * buffer, size_t bufferSize, const rct_object_entry * entry) { - bufferSize = min(9, bufferSize); - memcpy(buffer, entry->name, bufferSize - 1); - buffer[bufferSize - 1] = 0; + bufferSize = min(9, bufferSize); + memcpy(buffer, entry->name, bufferSize - 1); + buffer[bufferSize - 1] = 0; } diff --git a/src/openrct2/object_list.h b/src/openrct2/object_list.h index ea44b2ce81..5504bce22c 100644 --- a/src/openrct2/object_list.h +++ b/src/openrct2/object_list.h @@ -9,31 +9,31 @@ #include "world/water.h" #ifdef NO_RCT2 - extern rct_ride_entry *gRideEntries[128]; - extern rct_small_scenery_entry *gSmallSceneryEntries[252]; - extern rct_large_scenery_entry *gLargeSceneryEntries[128]; - extern rct_wall_scenery_entry *gWallSceneryEntries[128]; - extern rct_banner *gBannerSceneryEntries[32]; - extern rct_footpath_entry *gFootpathEntries[16]; - extern rct_path_bit_scenery_entry *gFootpathAdditionEntries[15]; - extern rct_scenery_set_entry *gSceneryGroupEntries[19]; - extern rct_entrance_type *gParkEntranceEntries[1]; - extern rct_water_type *gWaterEntries[1]; - extern rct_stex_entry *gStexEntries[1]; + extern rct_ride_entry *gRideEntries[128]; + extern rct_small_scenery_entry *gSmallSceneryEntries[252]; + extern rct_large_scenery_entry *gLargeSceneryEntries[128]; + extern rct_wall_scenery_entry *gWallSceneryEntries[128]; + extern rct_banner *gBannerSceneryEntries[32]; + extern rct_footpath_entry *gFootpathEntries[16]; + extern rct_path_bit_scenery_entry *gFootpathAdditionEntries[15]; + extern rct_scenery_set_entry *gSceneryGroupEntries[19]; + extern rct_entrance_type *gParkEntranceEntries[1]; + extern rct_water_type *gWaterEntries[1]; + extern rct_stex_entry *gStexEntries[1]; #else - #define gRideEntries RCT2_ADDRESS(RCT2_ADDRESS_RIDE_ENTRIES, rct_ride_entry*) - #define gSmallSceneryEntries RCT2_ADDRESS(RCT2_ADDRESS_SMALL_SCENERY_ENTRIES, rct_small_scenery_entry*) - #define gLargeSceneryEntries RCT2_ADDRESS(RCT2_ADDRESS_LARGE_SCENERY_ENTRIES, rct_large_scenery_entry*) - #define gWallSceneryEntries RCT2_ADDRESS(RCT2_ADDRESS_WALL_SCENERY_ENTRIES, rct_wall_scenery_entry*) - #define gBannerSceneryEntries RCT2_ADDRESS(RCT2_ADDRESS_BANNER_SCENERY_ENTRIES, rct_banner*) - #define gFootpathEntries RCT2_ADDRESS(RCT2_ADDRESS_PATH_TYPES, rct_footpath_entry*) - #define gFootpathAdditionEntries RCT2_ADDRESS(RCT2_ADDRESS_PATH_BIT_SCENERY_ENTRIES, rct_path_bit_scenery_entry*) - #define gSceneryGroupEntries RCT2_ADDRESS(RCT2_ADDRESS_SCENERY_SET_ENTRIES, rct_scenery_set_entry*) - #define gParkEntranceEntries RCT2_ADDRESS(RCT2_ADDRESS_PARK_ENTRANCE_ENTRIES, rct_entrance_type*) - #define gWaterEntries RCT2_ADDRESS(RCT2_ADDRESS_WATER_ENTRIES, rct_water_type*) - #define gStexEntries RCT2_ADDRESS(RCT2_ADDRESS_SCENARIO_TEXT_ENTRIES, rct_stex_entry*) + #define gRideEntries RCT2_ADDRESS(RCT2_ADDRESS_RIDE_ENTRIES, rct_ride_entry*) + #define gSmallSceneryEntries RCT2_ADDRESS(RCT2_ADDRESS_SMALL_SCENERY_ENTRIES, rct_small_scenery_entry*) + #define gLargeSceneryEntries RCT2_ADDRESS(RCT2_ADDRESS_LARGE_SCENERY_ENTRIES, rct_large_scenery_entry*) + #define gWallSceneryEntries RCT2_ADDRESS(RCT2_ADDRESS_WALL_SCENERY_ENTRIES, rct_wall_scenery_entry*) + #define gBannerSceneryEntries RCT2_ADDRESS(RCT2_ADDRESS_BANNER_SCENERY_ENTRIES, rct_banner*) + #define gFootpathEntries RCT2_ADDRESS(RCT2_ADDRESS_PATH_TYPES, rct_footpath_entry*) + #define gFootpathAdditionEntries RCT2_ADDRESS(RCT2_ADDRESS_PATH_BIT_SCENERY_ENTRIES, rct_path_bit_scenery_entry*) + #define gSceneryGroupEntries RCT2_ADDRESS(RCT2_ADDRESS_SCENERY_SET_ENTRIES, rct_scenery_set_entry*) + #define gParkEntranceEntries RCT2_ADDRESS(RCT2_ADDRESS_PARK_ENTRANCE_ENTRIES, rct_entrance_type*) + #define gWaterEntries RCT2_ADDRESS(RCT2_ADDRESS_WATER_ENTRIES, rct_water_type*) + #define gStexEntries RCT2_ADDRESS(RCT2_ADDRESS_SCENARIO_TEXT_ENTRIES, rct_stex_entry*) #endif void get_type_entry_index(size_t index, uint8 * outObjectType, uint8 * outEntryIndex); diff --git a/src/openrct2/paint/map_element/banner.c b/src/openrct2/paint/map_element/banner.c index d7e40d5b2e..b78dfae6f1 100644 --- a/src/openrct2/paint/map_element/banner.c +++ b/src/openrct2/paint/map_element/banner.c @@ -25,10 +25,10 @@ /** rct2: 0x0098D884 */ const rct_xy16 BannerBoundBoxes[][2] = { - {{ 1, 2}, { 1, 29}}, - {{ 2, 32}, {29, 32}}, - {{32, 2}, {32, 29}}, - {{ 2, 1}, {29, 1}}, + {{ 1, 2}, { 1, 29}}, + {{ 2, 32}, {29, 32}}, + {{32, 2}, {32, 29}}, + {{ 2, 1}, {29, 1}}, }; /** @@ -37,81 +37,81 @@ const rct_xy16 BannerBoundBoxes[][2] = { */ void banner_paint(uint8 direction, sint32 height, rct_map_element* map_element) { - uint16 boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ; - rct_drawpixelinfo* dpi = unk_140E9A8; + uint16 boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ; + rct_drawpixelinfo* dpi = unk_140E9A8; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_BANNER; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_BANNER; - if (dpi->zoom_level > 1 || gTrackDesignSaveMode) return; + if (dpi->zoom_level > 1 || gTrackDesignSaveMode) return; - height -= 16; + height -= 16; - rct_scenery_entry* banner_scenery = get_banner_entry(gBanners[map_element->properties.banner.index].type); + rct_scenery_entry* banner_scenery = get_banner_entry(gBanners[map_element->properties.banner.index].type); - if ((banner_scenery == (rct_scenery_entry *)-1) || (banner_scenery == NULL)) { - return; - } + if ((banner_scenery == (rct_scenery_entry *)-1) || (banner_scenery == NULL)) { + return; + } - direction += map_element->properties.banner.position; - direction &= 3; + direction += map_element->properties.banner.position; + direction &= 3; - boundBoxOffsetX = BannerBoundBoxes[direction][0].x; - boundBoxOffsetY = BannerBoundBoxes[direction][0].y; - boundBoxOffsetZ = height + 2; + boundBoxOffsetX = BannerBoundBoxes[direction][0].x; + boundBoxOffsetY = BannerBoundBoxes[direction][0].y; + boundBoxOffsetZ = height + 2; - uint32 base_id = (direction << 1) + banner_scenery->image; - uint32 image_id = base_id; + uint32 base_id = (direction << 1) + banner_scenery->image; + uint32 image_id = base_id; - if (map_element->flags & MAP_ELEMENT_FLAG_GHOST) // if being placed - { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - image_id |= construction_markers[gConfigGeneral.construction_marker_colour]; - } - else{ - image_id |= - (gBanners[map_element->properties.banner.index].colour << 19) | - 0x20000000; - } + if (map_element->flags & MAP_ELEMENT_FLAG_GHOST) // if being placed + { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + image_id |= construction_markers[gConfigGeneral.construction_marker_colour]; + } + else{ + image_id |= + (gBanners[map_element->properties.banner.index].colour << 19) | + 0x20000000; + } - sub_98197C(image_id, 0, 0, 1, 1, 0x15, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, get_current_rotation()); - boundBoxOffsetX = BannerBoundBoxes[direction][1].x; - boundBoxOffsetY = BannerBoundBoxes[direction][1].y; + sub_98197C(image_id, 0, 0, 1, 1, 0x15, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, get_current_rotation()); + boundBoxOffsetX = BannerBoundBoxes[direction][1].x; + boundBoxOffsetY = BannerBoundBoxes[direction][1].y; - image_id++; - sub_98197C(image_id, 0, 0, 1, 1, 0x15, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, get_current_rotation()); + image_id++; + sub_98197C(image_id, 0, 0, 1, 1, 0x15, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, get_current_rotation()); - // Opposite direction - direction ^= 2; - direction--; - // If text not showing / ghost - if (direction >= 2 || (map_element->flags & MAP_ELEMENT_FLAG_GHOST)) return; + // Opposite direction + direction ^= 2; + direction--; + // If text not showing / ghost + if (direction >= 2 || (map_element->flags & MAP_ELEMENT_FLAG_GHOST)) return; - uint16 scrollingMode = banner_scenery->banner.scrolling_mode; - if (scrollingMode >= MAX_SCROLLING_TEXT_MODES) { - return; - } + uint16 scrollingMode = banner_scenery->banner.scrolling_mode; + if (scrollingMode >= MAX_SCROLLING_TEXT_MODES) { + return; + } - scrollingMode += direction; + scrollingMode += direction; - set_format_arg(0, uint32, 0); - set_format_arg(4, uint32, 0); + set_format_arg(0, uint32, 0); + set_format_arg(4, uint32, 0); - rct_string_id string_id = STR_NO_ENTRY; - if (!(gBanners[map_element->properties.banner.index].flags & BANNER_FLAG_NO_ENTRY)) - { - set_format_arg(0, rct_string_id, gBanners[map_element->properties.banner.index].string_idx); - string_id = STR_BANNER_TEXT_FORMAT; - } - if (gConfigGeneral.upper_case_banners) { - format_string_to_upper(gCommonStringFormatBuffer, 256, string_id, gCommonFormatArgs); - } else { - format_string(gCommonStringFormatBuffer, 256, string_id, gCommonFormatArgs); - } + rct_string_id string_id = STR_NO_ENTRY; + if (!(gBanners[map_element->properties.banner.index].flags & BANNER_FLAG_NO_ENTRY)) + { + set_format_arg(0, rct_string_id, gBanners[map_element->properties.banner.index].string_idx); + string_id = STR_BANNER_TEXT_FORMAT; + } + if (gConfigGeneral.upper_case_banners) { + format_string_to_upper(gCommonStringFormatBuffer, 256, string_id, gCommonFormatArgs); + } else { + format_string(gCommonStringFormatBuffer, 256, string_id, gCommonFormatArgs); + } - gCurrentFontSpriteBase = FONT_SPRITE_BASE_TINY; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_TINY; - uint16 string_width = gfx_get_string_width(gCommonStringFormatBuffer); - uint16 scroll = (gCurrentTicks / 2) % string_width; + uint16 string_width = gfx_get_string_width(gCommonStringFormatBuffer); + uint16 scroll = (gCurrentTicks / 2) % string_width; - sub_98199C(scrolling_text_setup(string_id, scroll, scrollingMode), 0, 0, 1, 1, 0x15, height + 22, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, get_current_rotation()); + sub_98199C(scrolling_text_setup(string_id, scroll, scrollingMode), 0, 0, 1, 1, 0x15, height + 22, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, get_current_rotation()); } diff --git a/src/openrct2/paint/map_element/entrance.c b/src/openrct2/paint/map_element/entrance.c index ddc0dfd5d4..3f7ba3aeac 100644 --- a/src/openrct2/paint/map_element/entrance.c +++ b/src/openrct2/paint/map_element/entrance.c @@ -35,150 +35,150 @@ static uint32 _unk9E32BC; static void ride_entrance_exit_paint(uint8 direction, sint32 height, rct_map_element* map_element) { - uint8 is_exit = map_element->properties.entrance.type == ENTRANCE_TYPE_RIDE_EXIT; + uint8 is_exit = map_element->properties.entrance.type == ENTRANCE_TYPE_RIDE_EXIT; - if (gTrackDesignSaveMode) { - if (map_element->properties.entrance.ride_index != gTrackDesignSaveRideIndex) - return; - } + if (gTrackDesignSaveMode) { + if (map_element->properties.entrance.ride_index != gTrackDesignSaveRideIndex) + return; + } #ifdef __ENABLE_LIGHTFX__ - if (gConfigGeneral.enable_light_fx) { - if (!is_exit) { - lightfx_add_3d_light_magic_from_drawing_tile(0, 0, height + 45, LIGHTFX_LIGHT_TYPE_LANTERN_3); - } + if (gConfigGeneral.enable_light_fx) { + if (!is_exit) { + lightfx_add_3d_light_magic_from_drawing_tile(0, 0, height + 45, LIGHTFX_LIGHT_TYPE_LANTERN_3); + } - switch (map_element->type & MAP_ELEMENT_DIRECTION_MASK) { - case 0: - lightfx_add_3d_light_magic_from_drawing_tile(16, 0, height + 16, LIGHTFX_LIGHT_TYPE_LANTERN_2); - break; - case 1: - lightfx_add_3d_light_magic_from_drawing_tile(0, -16, height + 16, LIGHTFX_LIGHT_TYPE_LANTERN_2); - break; - case 2: - lightfx_add_3d_light_magic_from_drawing_tile(-16, 0, height + 16, LIGHTFX_LIGHT_TYPE_LANTERN_2); - break; - case 3: - lightfx_add_3d_light_magic_from_drawing_tile(0, 16, height + 16, LIGHTFX_LIGHT_TYPE_LANTERN_2); - break; - }; - } + switch (map_element->type & MAP_ELEMENT_DIRECTION_MASK) { + case 0: + lightfx_add_3d_light_magic_from_drawing_tile(16, 0, height + 16, LIGHTFX_LIGHT_TYPE_LANTERN_2); + break; + case 1: + lightfx_add_3d_light_magic_from_drawing_tile(0, -16, height + 16, LIGHTFX_LIGHT_TYPE_LANTERN_2); + break; + case 2: + lightfx_add_3d_light_magic_from_drawing_tile(-16, 0, height + 16, LIGHTFX_LIGHT_TYPE_LANTERN_2); + break; + case 3: + lightfx_add_3d_light_magic_from_drawing_tile(0, 16, height + 16, LIGHTFX_LIGHT_TYPE_LANTERN_2); + break; + }; + } #endif - rct_ride* ride = get_ride(map_element->properties.entrance.ride_index); - if (ride->entrance_style == RIDE_ENTRANCE_STYLE_NONE) return; + rct_ride* ride = get_ride(map_element->properties.entrance.ride_index); + if (ride->entrance_style == RIDE_ENTRANCE_STYLE_NONE) return; - const rct_ride_entrance_definition *style = &RideEntranceDefinitions[ride->entrance_style]; + const rct_ride_entrance_definition *style = &RideEntranceDefinitions[ride->entrance_style]; - uint8 colour_1, colour_2; - uint32 transparant_image_id = 0, image_id = 0; - if (style->base_image_id & 0x40000000) { - colour_1 = GlassPaletteIds[ride->track_colour_main[0]]; - transparant_image_id = (colour_1 << 19) | 0x40000000; - } + uint8 colour_1, colour_2; + uint32 transparant_image_id = 0, image_id = 0; + if (style->base_image_id & 0x40000000) { + colour_1 = GlassPaletteIds[ride->track_colour_main[0]]; + transparant_image_id = (colour_1 << 19) | 0x40000000; + } - colour_1 = ride->track_colour_main[0]; - colour_2 = ride->track_colour_additional[0]; - image_id = (colour_1 << 19) | (colour_2 << 24) | 0xA0000000; + colour_1 = ride->track_colour_main[0]; + colour_2 = ride->track_colour_additional[0]; + image_id = (colour_1 << 19) | (colour_2 << 24) | 0xA0000000; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; - _unk9E32BC = 0; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + _unk9E32BC = 0; - if (map_element->flags & MAP_ELEMENT_FLAG_GHOST){ - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - image_id = construction_markers[gConfigGeneral.construction_marker_colour]; - _unk9E32BC = image_id; - if (transparant_image_id) - transparant_image_id = image_id; - } + if (map_element->flags & MAP_ELEMENT_FLAG_GHOST){ + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + image_id = construction_markers[gConfigGeneral.construction_marker_colour]; + _unk9E32BC = image_id; + if (transparant_image_id) + transparant_image_id = image_id; + } - if (is_exit){ - image_id |= style->sprite_index + direction + 8; - } - else{ - image_id |= style->sprite_index + direction; - } - // Format modified to stop repeated code + if (is_exit){ + image_id |= style->sprite_index + direction + 8; + } + else{ + image_id |= style->sprite_index + direction; + } + // Format modified to stop repeated code - // Each entrance is split into 2 images for drawing - // Certain entrance styles have another 2 images to draw for coloured windows + // Each entrance is split into 2 images for drawing + // Certain entrance styles have another 2 images to draw for coloured windows - sint8 ah = is_exit ? 0x23 : 0x33; + sint8 ah = is_exit ? 0x23 : 0x33; - sint16 lengthY = (direction & 1) ? 28 : 2; - sint16 lengthX = (direction & 1) ? 2 : 28; + sint16 lengthY = (direction & 1) ? 28 : 2; + sint16 lengthX = (direction & 1) ? 2 : 28; - sub_98197C(image_id, 0, 0, lengthX, lengthY, ah, height, 2, 2, height, get_current_rotation()); + sub_98197C(image_id, 0, 0, lengthX, lengthY, ah, height, 2, 2, height, get_current_rotation()); - if (transparant_image_id){ - if (is_exit){ - transparant_image_id |= style->sprite_index + direction + 24; - } - else{ - transparant_image_id |= style->sprite_index + direction + 16; - } + if (transparant_image_id){ + if (is_exit){ + transparant_image_id |= style->sprite_index + direction + 24; + } + else{ + transparant_image_id |= style->sprite_index + direction + 16; + } - sub_98199C(transparant_image_id, 0, 0, lengthX, lengthY, ah, height, 2, 2, height, get_current_rotation()); - } + sub_98199C(transparant_image_id, 0, 0, lengthX, lengthY, ah, height, 2, 2, height, get_current_rotation()); + } - image_id += 4; + image_id += 4; - sub_98197C(image_id, 0, 0, lengthX, lengthY, ah, height, (direction & 1) ? 28 : 2, (direction & 1) ? 2 : 28, height, get_current_rotation()); + sub_98197C(image_id, 0, 0, lengthX, lengthY, ah, height, (direction & 1) ? 28 : 2, (direction & 1) ? 2 : 28, height, get_current_rotation()); - if (transparant_image_id){ - transparant_image_id += 4; - sub_98199C(transparant_image_id, 0, 0, lengthX, lengthY, ah, height, (direction & 1) ? 28 : 2, (direction & 1) ? 2 : 28, height, get_current_rotation()); - } + if (transparant_image_id){ + transparant_image_id += 4; + sub_98199C(transparant_image_id, 0, 0, lengthX, lengthY, ah, height, (direction & 1) ? 28 : 2, (direction & 1) ? 2 : 28, height, get_current_rotation()); + } - if (direction & 1) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } else { - paint_util_push_tunnel_left(height, TUNNEL_6); - } + if (direction & 1) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } else { + paint_util_push_tunnel_left(height, TUNNEL_6); + } - if (!is_exit && - !(map_element->flags & MAP_ELEMENT_FLAG_GHOST) && - map_element->properties.entrance.ride_index != 0xFF){ + if (!is_exit && + !(map_element->flags & MAP_ELEMENT_FLAG_GHOST) && + map_element->properties.entrance.ride_index != 0xFF){ - set_format_arg(0, uint32, 0); - set_format_arg(4, uint32, 0); + set_format_arg(0, uint32, 0); + set_format_arg(4, uint32, 0); - rct_string_id string_id = STR_RIDE_ENTRANCE_CLOSED; + rct_string_id string_id = STR_RIDE_ENTRANCE_CLOSED; - if (ride->status == RIDE_STATUS_OPEN && - !(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)){ + if (ride->status == RIDE_STATUS_OPEN && + !(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)){ - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); - string_id = STR_RIDE_ENTRANCE_NAME; - } + string_id = STR_RIDE_ENTRANCE_NAME; + } - utf8 entrance_string[MAX_PATH]; - if (gConfigGeneral.upper_case_banners) { - format_string_to_upper(entrance_string, MAX_PATH, string_id, gCommonFormatArgs); - } else { - format_string(entrance_string, MAX_PATH, string_id, gCommonFormatArgs); - } + utf8 entrance_string[MAX_PATH]; + if (gConfigGeneral.upper_case_banners) { + format_string_to_upper(entrance_string, MAX_PATH, string_id, gCommonFormatArgs); + } else { + format_string(entrance_string, MAX_PATH, string_id, gCommonFormatArgs); + } - gCurrentFontSpriteBase = FONT_SPRITE_BASE_TINY; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_TINY; - uint16 string_width = gfx_get_string_width(entrance_string); - uint16 scroll = (gCurrentTicks / 2) % string_width; + uint16 string_width = gfx_get_string_width(entrance_string); + uint16 scroll = (gCurrentTicks / 2) % string_width; - sub_98199C(scrolling_text_setup(string_id, scroll, style->scrolling_mode), 0, 0, 0x1C, 0x1C, 0x33, height + style->height, 2, 2, height + style->height, get_current_rotation()); - } + sub_98199C(scrolling_text_setup(string_id, scroll, style->scrolling_mode), 0, 0, 0x1C, 0x1C, 0x33, height + style->height, 2, 2, height + style->height, get_current_rotation()); + } - image_id = _unk9E32BC; - if (image_id == 0) { - image_id = SPRITE_ID_PALETTE_COLOUR_1(COLOUR_SATURATED_BROWN); - } - wooden_a_supports_paint_setup(direction & 1, 0, height, image_id, NULL); + image_id = _unk9E32BC; + if (image_id == 0) { + image_id = SPRITE_ID_PALETTE_COLOUR_1(COLOUR_SATURATED_BROWN); + } + wooden_a_supports_paint_setup(direction & 1, 0, height, image_id, NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - height += is_exit ? 40 : 56; - paint_util_set_general_support_height(height, 0x20); + height += is_exit ? 40 : 56; + paint_util_set_general_support_height(height, 0x20); } /** @@ -186,89 +186,89 @@ static void ride_entrance_exit_paint(uint8 direction, sint32 height, rct_map_ele * rct2: 0x006658ED */ static void park_entrance_paint(uint8 direction, sint32 height, rct_map_element* map_element){ - if (gTrackDesignSaveMode) - return; + if (gTrackDesignSaveMode) + return; #ifdef __ENABLE_LIGHTFX__ - if (gConfigGeneral.enable_light_fx) { - lightfx_add_3d_light_magic_from_drawing_tile(0, 0, 155, LIGHTFX_LIGHT_TYPE_LANTERN_3); - } + if (gConfigGeneral.enable_light_fx) { + lightfx_add_3d_light_magic_from_drawing_tile(0, 0, 155, LIGHTFX_LIGHT_TYPE_LANTERN_3); + } #endif - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_PARK; - _unk9E32BC = 0; - uint32 image_id, ghost_id = 0; - if (map_element->flags & MAP_ELEMENT_FLAG_GHOST){ - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - ghost_id = construction_markers[gConfigGeneral.construction_marker_colour]; - _unk9E32BC = ghost_id; - } + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_PARK; + _unk9E32BC = 0; + uint32 image_id, ghost_id = 0; + if (map_element->flags & MAP_ELEMENT_FLAG_GHOST){ + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + ghost_id = construction_markers[gConfigGeneral.construction_marker_colour]; + _unk9E32BC = ghost_id; + } - rct_footpath_entry* path_entry = get_footpath_entry(map_element->properties.entrance.path_type); + rct_footpath_entry* path_entry = get_footpath_entry(map_element->properties.entrance.path_type); - // Index to which part of the entrance - // Middle, left, right - uint8 part_index = map_element->properties.entrance.index & 0xF; - rct_entrance_type* entrance; - uint8 di = ((direction / 2 + part_index / 2) & 1) ? 0x1A : 0x20; + // Index to which part of the entrance + // Middle, left, right + uint8 part_index = map_element->properties.entrance.index & 0xF; + rct_entrance_type* entrance; + uint8 di = ((direction / 2 + part_index / 2) & 1) ? 0x1A : 0x20; - switch (part_index){ - case 0: - image_id = (path_entry->image + 5 * (1 + (direction & 1))) | ghost_id; - sub_98197C(image_id, 0, 0, 32, 0x1C, 0, height, 0, 2, height, get_current_rotation()); + switch (part_index){ + case 0: + image_id = (path_entry->image + 5 * (1 + (direction & 1))) | ghost_id; + sub_98197C(image_id, 0, 0, 32, 0x1C, 0, height, 0, 2, height, get_current_rotation()); - entrance = (rct_entrance_type*)object_entry_groups[OBJECT_TYPE_PARK_ENTRANCE].chunks[0]; - image_id = (entrance->image_id + direction * 3) | ghost_id; - sub_98197C(image_id, 0, 0, 0x1C, 0x1C, 0x2F, height, 2, 2, height + 32, get_current_rotation()); + entrance = (rct_entrance_type*)object_entry_groups[OBJECT_TYPE_PARK_ENTRANCE].chunks[0]; + image_id = (entrance->image_id + direction * 3) | ghost_id; + sub_98197C(image_id, 0, 0, 0x1C, 0x1C, 0x2F, height, 2, 2, height + 32, get_current_rotation()); - if ((direction + 1) & (1 << 1)) - break; - if (ghost_id != 0) - break; + if ((direction + 1) & (1 << 1)) + break; + if (ghost_id != 0) + break; - rct_string_id park_text_id = STR_BANNER_TEXT_CLOSED; - set_format_arg(0, uint32, 0); - set_format_arg(4, uint32, 0); + rct_string_id park_text_id = STR_BANNER_TEXT_CLOSED; + set_format_arg(0, uint32, 0); + set_format_arg(4, uint32, 0); - if (gParkFlags & PARK_FLAGS_PARK_OPEN){ - set_format_arg(0, rct_string_id, gParkName); - set_format_arg(2, uint32, gParkNameArgs); + if (gParkFlags & PARK_FLAGS_PARK_OPEN){ + set_format_arg(0, rct_string_id, gParkName); + set_format_arg(2, uint32, gParkNameArgs); - park_text_id = STR_BANNER_TEXT_FORMAT; - } + park_text_id = STR_BANNER_TEXT_FORMAT; + } - utf8 park_name[MAX_PATH]; - if (gConfigGeneral.upper_case_banners) { - format_string_to_upper(park_name, MAX_PATH, park_text_id, gCommonFormatArgs); - } else { - format_string(park_name, MAX_PATH, park_text_id, gCommonFormatArgs); - } + utf8 park_name[MAX_PATH]; + if (gConfigGeneral.upper_case_banners) { + format_string_to_upper(park_name, MAX_PATH, park_text_id, gCommonFormatArgs); + } else { + format_string(park_name, MAX_PATH, park_text_id, gCommonFormatArgs); + } - gCurrentFontSpriteBase = FONT_SPRITE_BASE_TINY; - uint16 string_width = gfx_get_string_width(park_name); - uint16 scroll = (gCurrentTicks / 2) % string_width; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_TINY; + uint16 string_width = gfx_get_string_width(park_name); + uint16 scroll = (gCurrentTicks / 2) % string_width; - if (entrance->scrolling_mode == 0xFF) - break; + if (entrance->scrolling_mode == 0xFF) + break; - sub_98199C(scrolling_text_setup(park_text_id, scroll, entrance->scrolling_mode + direction / 2), 0, 0, 0x1C, 0x1C, 0x2F, height + entrance->text_height, 2, 2, height + entrance->text_height, get_current_rotation()); - break; - case 1: - case 2: - entrance = (rct_entrance_type*)object_entry_groups[OBJECT_TYPE_PARK_ENTRANCE].chunks[0]; - image_id = (entrance->image_id + part_index + direction * 3) | ghost_id; - sub_98197C(image_id, 0, 0, 0x1A, di, 0x4F, height, 3, 3, height, get_current_rotation()); - break; - } + sub_98199C(scrolling_text_setup(park_text_id, scroll, entrance->scrolling_mode + direction / 2), 0, 0, 0x1C, 0x1C, 0x2F, height + entrance->text_height, 2, 2, height + entrance->text_height, get_current_rotation()); + break; + case 1: + case 2: + entrance = (rct_entrance_type*)object_entry_groups[OBJECT_TYPE_PARK_ENTRANCE].chunks[0]; + image_id = (entrance->image_id + part_index + direction * 3) | ghost_id; + sub_98197C(image_id, 0, 0, 0x1A, di, 0x4F, height, 3, 3, height, get_current_rotation()); + break; + } - image_id = ghost_id; - if (image_id == 0) { - image_id = SPRITE_ID_PALETTE_COLOUR_1(COLOUR_SATURATED_BROWN); - } - wooden_a_supports_paint_setup(direction & 1, 0, height, image_id, NULL); + image_id = ghost_id; + if (image_id == 0) { + image_id = SPRITE_ID_PALETTE_COLOUR_1(COLOUR_SATURATED_BROWN); + } + wooden_a_supports_paint_setup(direction & 1, 0, height, image_id, NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); } /** @@ -276,30 +276,30 @@ static void park_entrance_paint(uint8 direction, sint32 height, rct_map_element* * rct2: 0x00664FD4 */ void entrance_paint(uint8 direction, sint32 height, rct_map_element* map_element){ - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_LABEL; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_LABEL; - rct_drawpixelinfo* dpi = unk_140E9A8; + rct_drawpixelinfo* dpi = unk_140E9A8; - if (gCurrentViewportFlags & VIEWPORT_FLAG_PATH_HEIGHTS && - dpi->zoom_level == 0){ + if (gCurrentViewportFlags & VIEWPORT_FLAG_PATH_HEIGHTS && + dpi->zoom_level == 0){ - if (entrance_get_directions(map_element) & 0xF){ + if (entrance_get_directions(map_element) & 0xF){ - sint32 z = map_element->base_height * 8 + 3; - uint32 image_id = 0x20101689 + get_height_marker_offset() + (z / 16); - image_id -= gMapBaseZ; + sint32 z = map_element->base_height * 8 + 3; + uint32 image_id = 0x20101689 + get_height_marker_offset() + (z / 16); + image_id -= gMapBaseZ; - sub_98197C(image_id, 16, 16, 1, 1, 0, height, 31, 31, z + 64, get_current_rotation()); - } - } + sub_98197C(image_id, 16, 16, 1, 1, 0, height, 31, 31, z + 64, get_current_rotation()); + } + } - switch (map_element->properties.entrance.type){ - case ENTRANCE_TYPE_RIDE_ENTRANCE: - case ENTRANCE_TYPE_RIDE_EXIT: - ride_entrance_exit_paint(direction, height, map_element); - break; - case ENTRANCE_TYPE_PARK_ENTRANCE: - park_entrance_paint(direction, height, map_element); - break; - } + switch (map_element->properties.entrance.type){ + case ENTRANCE_TYPE_RIDE_ENTRANCE: + case ENTRANCE_TYPE_RIDE_EXIT: + ride_entrance_exit_paint(direction, height, map_element); + break; + case ENTRANCE_TYPE_PARK_ENTRANCE: + park_entrance_paint(direction, height, map_element); + break; + } } diff --git a/src/openrct2/paint/map_element/fence.c b/src/openrct2/paint/map_element/fence.c index cd95203b4c..0efa160dea 100644 --- a/src/openrct2/paint/map_element/fence.c +++ b/src/openrct2/paint/map_element/fence.c @@ -272,7 +272,7 @@ void fence_paint(uint8 direction, sint32 height, rct_map_element * map_element) offset = (rct_xyz16){0, 0, height}; bounds = (rct_xyz16){1, 28, ah}; boundsOffset = (rct_xyz16){1, 1, height + 1}; - break; + break; case 1: if (map_element->type & 0x80) { diff --git a/src/openrct2/paint/map_element/map_element.c b/src/openrct2/paint/map_element/map_element.c index a9fbe9ea12..3a926fd0a2 100644 --- a/src/openrct2/paint/map_element/map_element.c +++ b/src/openrct2/paint/map_element/map_element.c @@ -60,21 +60,21 @@ const sint32 SEGMENTS_ALL = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | */ void map_element_paint_setup(sint32 x, sint32 y) { - if ( - x < gMapSizeUnits && - y < gMapSizeUnits && - x >= 32 && - y >= 32 - ) { - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_force_set_general_support_height(-1, 0); - g141E9DB = 0; - gUnk141E9DC = 0xFFFF; + if ( + x < gMapSizeUnits && + y < gMapSizeUnits && + x >= 32 && + y >= 32 + ) { + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_force_set_general_support_height(-1, 0); + g141E9DB = 0; + gUnk141E9DC = 0xFFFF; - sub_68B3FB(x, y); - } else { - blank_tiles_paint(x, y); - } + sub_68B3FB(x, y); + } else { + blank_tiles_paint(x, y); + } } /** @@ -83,21 +83,21 @@ void map_element_paint_setup(sint32 x, sint32 y) */ void sub_68B2B7(sint32 x, sint32 y) { - if ( - x < gMapSizeUnits && - y < gMapSizeUnits && - x >= 32 && - y >= 32 - ) { - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_force_set_general_support_height(-1, 0); - gUnk141E9DC = 0xFFFF; - g141E9DB = G141E9DB_FLAG_2; + if ( + x < gMapSizeUnits && + y < gMapSizeUnits && + x >= 32 && + y >= 32 + ) { + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_force_set_general_support_height(-1, 0); + gUnk141E9DC = 0xFFFF; + g141E9DB = G141E9DB_FLAG_2; - sub_68B3FB(x, y); - } else { - blank_tiles_paint(x, y); - } + sub_68B3FB(x, y); + } else { + blank_tiles_paint(x, y); + } } /** @@ -106,38 +106,38 @@ void sub_68B2B7(sint32 x, sint32 y) */ static void blank_tiles_paint(sint32 x, sint32 y) { - rct_drawpixelinfo *dpi = unk_140E9A8; + rct_drawpixelinfo *dpi = unk_140E9A8; - sint32 dx = 0; - switch (get_current_rotation()) { - case 0: - dx = x + y; - break; - case 1: - x += 32; - dx = y - x; - break; - case 2: - x += 32; - y += 32; - dx = -(x + y); - break; - case 3: - y += 32; - dx = x - y; - break; - } - dx /= 2; - dx -= 16; - sint32 bx = dx + 32; - if (bx <= dpi->y) return; - dx -= 20; - dx -= dpi->height; - if (dx >= dpi->y) return; - gUnk9DE568 = x; - gUnk9DE56C = y; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - sub_98196C(3123, 0, 0, 32, 32, -1, 16, get_current_rotation()); + sint32 dx = 0; + switch (get_current_rotation()) { + case 0: + dx = x + y; + break; + case 1: + x += 32; + dx = y - x; + break; + case 2: + x += 32; + y += 32; + dx = -(x + y); + break; + case 3: + y += 32; + dx = x - y; + break; + } + dx /= 2; + dx -= 16; + sint32 bx = dx + 32; + if (bx <= dpi->y) return; + dx -= 20; + dx -= dpi->height; + if (dx >= dpi->y) return; + gUnk9DE568 = x; + gUnk9DE56C = y; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + sub_98196C(3123, 0, 0, 32, 32, -1, 16, get_current_rotation()); } bool gShowSupportSegmentHeights = false; @@ -148,257 +148,257 @@ bool gShowSupportSegmentHeights = false; */ static void sub_68B3FB(sint32 x, sint32 y) { - rct_drawpixelinfo *dpi = unk_140E9A8; + rct_drawpixelinfo *dpi = unk_140E9A8; - gLeftTunnelCount = 0; - gRightTunnelCount = 0; - gLeftTunnels[0] = (tunnel_entry){0xFF, 0xFF}; - gRightTunnels[0] = (tunnel_entry){0xFF, 0xFF}; + gLeftTunnelCount = 0; + gRightTunnelCount = 0; + gLeftTunnels[0] = (tunnel_entry){0xFF, 0xFF}; + gRightTunnels[0] = (tunnel_entry){0xFF, 0xFF}; - gVerticalTunnelHeight = 0xFF; + gVerticalTunnelHeight = 0xFF; #ifndef NO_RCT2 - RCT2_GLOBAL(0x009DE56A, uint16) = x; - RCT2_GLOBAL(0x009DE56E, uint16) = y; + RCT2_GLOBAL(0x009DE56A, uint16) = x; + RCT2_GLOBAL(0x009DE56E, uint16) = y; #endif - gPaintMapPosition.x = x; - gPaintMapPosition.y = y; + gPaintMapPosition.x = x; + gPaintMapPosition.y = y; - rct_map_element* map_element = map_get_first_element_at(x >> 5, y >> 5); - uint8 rotation = get_current_rotation(); + rct_map_element* map_element = map_get_first_element_at(x >> 5, y >> 5); + uint8 rotation = get_current_rotation(); - /* Check if the first (lowest) map_element is below the clip - * height. */ - if ((gCurrentViewportFlags & VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT) && (map_element->base_height > gClipHeight)) { - blank_tiles_paint(x, y); - return; - } + /* Check if the first (lowest) map_element is below the clip + * height. */ + if ((gCurrentViewportFlags & VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT) && (map_element->base_height > gClipHeight)) { + blank_tiles_paint(x, y); + return; + } - sint32 dx = 0; - switch (rotation) { - case 0: - dx = x + y; - break; - case 1: - x += 32; - dx = y - x; - break; - case 2: - x += 32; - y += 32; - dx = -(x + y); - break; - case 3: - y += 32; - dx = x - y; - break; - } - dx >>= 1; - // Display little yellow arrow when building footpaths? - if ((gMapSelectFlags & MAP_SELECT_FLAG_ENABLE_ARROW) && - gPaintMapPosition.x == gMapSelectArrowPosition.x && - gPaintMapPosition.y == gMapSelectArrowPosition.y - ) { - uint8 arrowRotation = - (rotation - + (gMapSelectArrowDirection & 3)) & 3; + sint32 dx = 0; + switch (rotation) { + case 0: + dx = x + y; + break; + case 1: + x += 32; + dx = y - x; + break; + case 2: + x += 32; + y += 32; + dx = -(x + y); + break; + case 3: + y += 32; + dx = x - y; + break; + } + dx >>= 1; + // Display little yellow arrow when building footpaths? + if ((gMapSelectFlags & MAP_SELECT_FLAG_ENABLE_ARROW) && + gPaintMapPosition.x == gMapSelectArrowPosition.x && + gPaintMapPosition.y == gMapSelectArrowPosition.y + ) { + uint8 arrowRotation = + (rotation + + (gMapSelectArrowDirection & 3)) & 3; - uint32 imageId = - arrowRotation + - (gMapSelectArrowDirection & 0xFC) + - 0x20900C27; - sint32 arrowZ = gMapSelectArrowPosition.z; + uint32 imageId = + arrowRotation + + (gMapSelectArrowDirection & 0xFC) + + 0x20900C27; + sint32 arrowZ = gMapSelectArrowPosition.z; - gUnk9DE568 = x; - gUnk9DE56C = y; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + gUnk9DE568 = x; + gUnk9DE56C = y; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - sub_98197C(imageId, 0, 0, 32, 32, 0xFF, arrowZ, 0, 0, arrowZ + 18, rotation); - } - sint32 bx = dx + 52; + sub_98197C(imageId, 0, 0, 32, 32, 0xFF, arrowZ, 0, 0, arrowZ + 18, rotation); + } + sint32 bx = dx + 52; - if (bx <= dpi->y) - return; + if (bx <= dpi->y) + return; - const rct_map_element* element = map_element;//push map_element + const rct_map_element* element = map_element;//push map_element - sint16 max_height = 0; - do{ - max_height = max(max_height, element->clearance_height); - } while (!map_element_is_last_for_tile(element++)); + sint16 max_height = 0; + do{ + max_height = max(max_height, element->clearance_height); + } while (!map_element_is_last_for_tile(element++)); - element--; + element--; - if (map_element_get_type(element) == MAP_ELEMENT_TYPE_SURFACE && - (element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) != 0){ - max_height = (element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) << 1; - } + if (map_element_get_type(element) == MAP_ELEMENT_TYPE_SURFACE && + (element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) != 0){ + max_height = (element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) << 1; + } - max_height *= 8; + max_height *= 8; - dx -= max_height + 32; + dx -= max_height + 32; - element = map_element;//pop map_element - dx -= dpi->height; - if (dx >= dpi->y) - return; + element = map_element;//pop map_element + dx -= dpi->height; + if (dx >= dpi->y) + return; - gUnk9DE568 = x; - gUnk9DE56C = y; - gDidPassSurface = false; - do { - // Only paint map_elements below the clip height. - if ((gCurrentViewportFlags & VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT) && (map_element->base_height > gClipHeight)) break; + gUnk9DE568 = x; + gUnk9DE56C = y; + gDidPassSurface = false; + do { + // Only paint map_elements below the clip height. + if ((gCurrentViewportFlags & VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT) && (map_element->base_height > gClipHeight)) break; - sint32 direction = (map_element->type + rotation) & MAP_ELEMENT_DIRECTION_MASK; - sint32 height = map_element->base_height * 8; + sint32 direction = (map_element->type + rotation) & MAP_ELEMENT_DIRECTION_MASK; + sint32 height = map_element->base_height * 8; - rct_xy16 dword_9DE574 = gPaintMapPosition; - g_currently_drawn_item = map_element; - // Setup the painting of for example: the underground, signs, rides, scenery, etc. - switch (map_element_get_type(map_element)) - { - case MAP_ELEMENT_TYPE_SURFACE: - surface_paint(direction, height, map_element); - break; - case MAP_ELEMENT_TYPE_PATH: - path_paint(direction, height, map_element); - break; - case MAP_ELEMENT_TYPE_TRACK: - track_paint(direction, height, map_element); - break; - case MAP_ELEMENT_TYPE_SCENERY: - scenery_paint(direction, height, map_element); - break; - case MAP_ELEMENT_TYPE_ENTRANCE: - entrance_paint(direction, height, map_element); - break; - case MAP_ELEMENT_TYPE_WALL: - fence_paint(direction, height, map_element); - break; - case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - scenery_multiple_paint(direction, height, map_element); - break; - case MAP_ELEMENT_TYPE_BANNER: - banner_paint(direction, height, map_element); - break; - // A corrupt element inserted by OpenRCT2 itself, which skips the drawing of the next element only. - case MAP_ELEMENT_TYPE_CORRUPT: - if (map_element_is_last_for_tile(map_element)) - return; - map_element++; - break; - default: - // An undefined map element is most likely a corrupt element inserted by 8 cars' MOM feature to skip drawing of all elements after it. - return; - } - gPaintMapPosition = dword_9DE574; - } while (!map_element_is_last_for_tile(map_element++)); + rct_xy16 dword_9DE574 = gPaintMapPosition; + g_currently_drawn_item = map_element; + // Setup the painting of for example: the underground, signs, rides, scenery, etc. + switch (map_element_get_type(map_element)) + { + case MAP_ELEMENT_TYPE_SURFACE: + surface_paint(direction, height, map_element); + break; + case MAP_ELEMENT_TYPE_PATH: + path_paint(direction, height, map_element); + break; + case MAP_ELEMENT_TYPE_TRACK: + track_paint(direction, height, map_element); + break; + case MAP_ELEMENT_TYPE_SCENERY: + scenery_paint(direction, height, map_element); + break; + case MAP_ELEMENT_TYPE_ENTRANCE: + entrance_paint(direction, height, map_element); + break; + case MAP_ELEMENT_TYPE_WALL: + fence_paint(direction, height, map_element); + break; + case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: + scenery_multiple_paint(direction, height, map_element); + break; + case MAP_ELEMENT_TYPE_BANNER: + banner_paint(direction, height, map_element); + break; + // A corrupt element inserted by OpenRCT2 itself, which skips the drawing of the next element only. + case MAP_ELEMENT_TYPE_CORRUPT: + if (map_element_is_last_for_tile(map_element)) + return; + map_element++; + break; + default: + // An undefined map element is most likely a corrupt element inserted by 8 cars' MOM feature to skip drawing of all elements after it. + return; + } + gPaintMapPosition = dword_9DE574; + } while (!map_element_is_last_for_tile(map_element++)); - if (!gShowSupportSegmentHeights) { - return; - } + if (!gShowSupportSegmentHeights) { + return; + } - if (map_element_get_type(map_element - 1) == MAP_ELEMENT_TYPE_SURFACE) { - return; - } + if (map_element_get_type(map_element - 1) == MAP_ELEMENT_TYPE_SURFACE) { + return; + } - static const sint32 segmentPositions[][3] = { - {0, 6, 2}, - {5, 4, 8}, - {1, 7, 3}, - }; + static const sint32 segmentPositions[][3] = { + {0, 6, 2}, + {5, 4, 8}, + {1, 7, 3}, + }; - for (sint32 sy = 0; sy < 3; sy++) { - for (sint32 sx = 0; sx < 3; sx++) { - uint16 segmentHeight = gSupportSegments[segmentPositions[sy][sx]].height; - sint32 imageColourFlats = 0b101111 << 19 | 0x40000000; - if (segmentHeight == 0xFFFF) { - segmentHeight = gSupport.height; - // white: 0b101101 - imageColourFlats = 0b111011 << 19 | 0x40000000; - } + for (sint32 sy = 0; sy < 3; sy++) { + for (sint32 sx = 0; sx < 3; sx++) { + uint16 segmentHeight = gSupportSegments[segmentPositions[sy][sx]].height; + sint32 imageColourFlats = 0b101111 << 19 | 0x40000000; + if (segmentHeight == 0xFFFF) { + segmentHeight = gSupport.height; + // white: 0b101101 + imageColourFlats = 0b111011 << 19 | 0x40000000; + } - // Only draw supports below the clipping height. - if ((gCurrentViewportFlags & VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT) && (segmentHeight > gClipHeight)) continue; + // Only draw supports below the clipping height. + if ((gCurrentViewportFlags & VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT) && (segmentHeight > gClipHeight)) continue; - sint32 xOffset = sy * 10; - sint32 yOffset = -22 + sx * 10; - paint_struct * ps = sub_98197C(5504 | imageColourFlats, xOffset, yOffset, 10, 10, 1, segmentHeight, xOffset + 1, yOffset + 16, segmentHeight, get_current_rotation()); - if (ps != NULL) { - ps->flags &= PAINT_STRUCT_FLAG_IS_MASKED; - ps->colour_image_id = COLOUR_BORDEAUX_RED; - } + sint32 xOffset = sy * 10; + sint32 yOffset = -22 + sx * 10; + paint_struct * ps = sub_98197C(5504 | imageColourFlats, xOffset, yOffset, 10, 10, 1, segmentHeight, xOffset + 1, yOffset + 16, segmentHeight, get_current_rotation()); + if (ps != NULL) { + ps->flags &= PAINT_STRUCT_FLAG_IS_MASKED; + ps->colour_image_id = COLOUR_BORDEAUX_RED; + } - } - } + } + } } void paint_util_push_tunnel_left(uint16 height, uint8 type) { - gLeftTunnels[gLeftTunnelCount] = (tunnel_entry){.height = (height / 16), .type = type}; - gLeftTunnels[gLeftTunnelCount + 1] = (tunnel_entry){0xFF, 0xFF}; - gLeftTunnelCount++; + gLeftTunnels[gLeftTunnelCount] = (tunnel_entry){.height = (height / 16), .type = type}; + gLeftTunnels[gLeftTunnelCount + 1] = (tunnel_entry){0xFF, 0xFF}; + gLeftTunnelCount++; } void paint_util_push_tunnel_right(uint16 height, uint8 type) { - gRightTunnels[gRightTunnelCount] = (tunnel_entry){.height = (height / 16), .type = type}; - gRightTunnels[gRightTunnelCount + 1] = (tunnel_entry){0xFF, 0xFF}; - gRightTunnelCount++; + gRightTunnels[gRightTunnelCount] = (tunnel_entry){.height = (height / 16), .type = type}; + gRightTunnels[gRightTunnelCount + 1] = (tunnel_entry){0xFF, 0xFF}; + gRightTunnelCount++; } void paint_util_set_vertical_tunnel(uint16 height) { #ifdef __TESTPAINT__ - testPaintVerticalTunnelHeight = height; + testPaintVerticalTunnelHeight = height; #endif - gVerticalTunnelHeight = height / 16; + gVerticalTunnelHeight = height / 16; } void paint_util_set_general_support_height(sint16 height, uint8 slope) { - if (gSupport.height >= height) { - return; - } + if (gSupport.height >= height) { + return; + } - paint_util_force_set_general_support_height(height, slope); + paint_util_force_set_general_support_height(height, slope); } void paint_util_force_set_general_support_height(sint16 height, uint8 slope) { - gSupport.height = height; - gSupport.slope = slope; + gSupport.height = height; + gSupport.slope = slope; } const uint16 segment_offsets[9] = { - SEGMENT_B4, - SEGMENT_B8, - SEGMENT_BC, - SEGMENT_C0, - SEGMENT_C4, - SEGMENT_C8, - SEGMENT_CC, - SEGMENT_D0, - SEGMENT_D4 + SEGMENT_B4, + SEGMENT_B8, + SEGMENT_BC, + SEGMENT_C0, + SEGMENT_C4, + SEGMENT_C8, + SEGMENT_CC, + SEGMENT_D0, + SEGMENT_D4 }; void paint_util_set_segment_support_height(sint32 segments, uint16 height, uint8 slope) { - for (sint32 s = 0; s < 9; s++) { - if (segments & segment_offsets[s]) { - gSupportSegments[s].height = height; - if (height != 0xFFFF) { - gSupportSegments[s].slope = slope; - } - } - } + for (sint32 s = 0; s < 9; s++) { + if (segments & segment_offsets[s]) { + gSupportSegments[s].height = height; + if (height != 0xFFFF) { + gSupportSegments[s].slope = slope; + } + } + } } uint16 paint_util_rotate_segments(uint16 segments, uint8 rotation) { - uint8 temp = segments & 0xFF; - temp = rol8(temp, rotation * 2); + uint8 temp = segments & 0xFF; + temp = rol8(temp, rotation * 2); - return (segments & 0xFF00) | temp; + return (segments & 0xFF00) | temp; } diff --git a/src/openrct2/paint/map_element/map_element.h b/src/openrct2/paint/map_element/map_element.h index d3810e85ef..5ff8d9fc42 100644 --- a/src/openrct2/paint/map_element/map_element.h +++ b/src/openrct2/paint/map_element/map_element.h @@ -23,27 +23,27 @@ typedef enum edge_t { - EDGE_NE = (1 << 0), - EDGE_SE = (1 << 1), - EDGE_SW = (1 << 2), - EDGE_NW = (1 << 3), - EDGE_BOTTOMLEFT = EDGE_SW, - EDGE_BOTTOMRIGHT = EDGE_SE, - EDGE_TOPLEFT = EDGE_NW, - EDGE_TOPRIGHT = EDGE_NE + EDGE_NE = (1 << 0), + EDGE_SE = (1 << 1), + EDGE_SW = (1 << 2), + EDGE_NW = (1 << 3), + EDGE_BOTTOMLEFT = EDGE_SW, + EDGE_BOTTOMRIGHT = EDGE_SE, + EDGE_TOPLEFT = EDGE_NW, + EDGE_TOPRIGHT = EDGE_NE } edge_t; enum { - SEGMENT_B4 = (1 << 0), // 0 - SEGMENT_CC = (1 << 1), // 6 - SEGMENT_BC = (1 << 2), // 2 - SEGMENT_D4 = (1 << 3), // 8 - SEGMENT_C0 = (1 << 4), // 3 - SEGMENT_D0 = (1 << 5), // 7 - SEGMENT_B8 = (1 << 6), // 1 - SEGMENT_C8 = (1 << 7), // 5 - SEGMENT_C4 = (1 << 8), // 4 + SEGMENT_B4 = (1 << 0), // 0 + SEGMENT_CC = (1 << 1), // 6 + SEGMENT_BC = (1 << 2), // 2 + SEGMENT_D4 = (1 << 3), // 8 + SEGMENT_C0 = (1 << 4), // 3 + SEGMENT_D0 = (1 << 5), // 7 + SEGMENT_B8 = (1 << 6), // 1 + SEGMENT_C8 = (1 << 7), // 5 + SEGMENT_C4 = (1 << 8), // 4 }; extern const sint32 SEGMENTS_ALL; @@ -51,33 +51,33 @@ extern const uint16 segment_offsets[9]; enum { - TUNNEL_0 = 0, - TUNNEL_1 = 1, - TUNNEL_2 = 2, - TUNNEL_3 = 3, - TUNNEL_4 = 4, - TUNNEL_5 = 5, - TUNNEL_6 = 6, - TUNNEL_7 = 7, - TUNNEL_8 = 8, - TUNNEL_9 = 9, - TUNNEL_10 = 0x0A, - TUNNEL_11 = 0x0B, - TUNNEL_12 = 0x0C, - TUNNEL_13 = 0x0D, - TUNNEL_14 = 0x0E, - TUNNEL_15 = 0x0F, + TUNNEL_0 = 0, + TUNNEL_1 = 1, + TUNNEL_2 = 2, + TUNNEL_3 = 3, + TUNNEL_4 = 4, + TUNNEL_5 = 5, + TUNNEL_6 = 6, + TUNNEL_7 = 7, + TUNNEL_8 = 8, + TUNNEL_9 = 9, + TUNNEL_10 = 0x0A, + TUNNEL_11 = 0x0B, + TUNNEL_12 = 0x0C, + TUNNEL_13 = 0x0D, + TUNNEL_14 = 0x0E, + TUNNEL_15 = 0x0F, }; typedef struct tunnel_entry { - uint8 height; - uint8 type; + uint8 height; + uint8 type; } tunnel_entry; enum { - G141E9DB_FLAG_1 = 1, - G141E9DB_FLAG_2 = 2, + G141E9DB_FLAG_1 = 1, + G141E9DB_FLAG_2 = 2, }; #define TUNNEL_MAX_COUNT 65 @@ -94,16 +94,16 @@ extern tunnel_entry gRightTunnels[TUNNEL_MAX_COUNT]; extern uint8 gRightTunnelCount; extern uint8 gVerticalTunnelHeight; #else -#define g141E9DB RCT2_GLOBAL(0x0141E9DB, uint8) -#define gUnk141E9DC RCT2_GLOBAL(0x0141E9DC, uint16) -#define gPaintMapPosition RCT2_GLOBAL(0x009DE574, rct_xy16) -#define gDidPassSurface RCT2_GLOBAL(0x009DE57C, bool) -#define gSurfaceElement RCT2_GLOBAL(0x009E3250, rct_map_element *) -#define gLeftTunnels RCT2_ADDRESS(0x009E3138, tunnel_entry) -#define gLeftTunnelCount RCT2_GLOBAL(0x0141F56A, uint8) -#define gRightTunnels RCT2_ADDRESS(0x009E30B6, tunnel_entry) -#define gRightTunnelCount RCT2_GLOBAL(0x0141F56B, uint8) -#define gVerticalTunnelHeight RCT2_GLOBAL(0x009E323C, uint8) +#define g141E9DB RCT2_GLOBAL(0x0141E9DB, uint8) +#define gUnk141E9DC RCT2_GLOBAL(0x0141E9DC, uint16) +#define gPaintMapPosition RCT2_GLOBAL(0x009DE574, rct_xy16) +#define gDidPassSurface RCT2_GLOBAL(0x009DE57C, bool) +#define gSurfaceElement RCT2_GLOBAL(0x009E3250, rct_map_element *) +#define gLeftTunnels RCT2_ADDRESS(0x009E3138, tunnel_entry) +#define gLeftTunnelCount RCT2_GLOBAL(0x0141F56A, uint8) +#define gRightTunnels RCT2_ADDRESS(0x009E30B6, tunnel_entry) +#define gRightTunnelCount RCT2_GLOBAL(0x0141F56B, uint8) +#define gVerticalTunnelHeight RCT2_GLOBAL(0x009E323C, uint8) #endif #ifdef __TESTPAINT__ diff --git a/src/openrct2/paint/map_element/path.c b/src/openrct2/paint/map_element/path.c index af90f1aab0..9772b4a514 100644 --- a/src/openrct2/paint/map_element/path.c +++ b/src/openrct2/paint/map_element/path.c @@ -37,49 +37,49 @@ bool TempForScrollText = false; const uint8 byte_98D800[] = { - 12, 9, 3, 6 + 12, 9, 3, 6 }; const uint8 byte_98D6E0[] = { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 20, 4, 5, 6, 22, 8, 9, 10, 26, 12, 13, 14, 36, - 0, 1, 2, 3, 4, 5, 21, 23, 8, 9, 10, 11, 12, 13, 33, 37, - 0, 1, 2, 3, 4, 5, 6, 24, 8, 9, 10, 11, 12, 13, 14, 38, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 29, 30, 34, 39, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 40, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 35, 41, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 42, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 25, 10, 27, 12, 31, 14, 43, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 28, 12, 13, 14, 44, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 45, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 46, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 32, 14, 47, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 48, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 49, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 50 + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 20, 4, 5, 6, 22, 8, 9, 10, 26, 12, 13, 14, 36, + 0, 1, 2, 3, 4, 5, 21, 23, 8, 9, 10, 11, 12, 13, 33, 37, + 0, 1, 2, 3, 4, 5, 6, 24, 8, 9, 10, 11, 12, 13, 14, 38, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 29, 30, 34, 39, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 40, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 35, 41, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 42, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 25, 10, 27, 12, 31, 14, 43, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 28, 12, 13, 14, 44, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 45, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 46, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 32, 14, 47, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 48, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 49, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 50 }; const sint16 stru_98D804[][4] = { - {3, 3, 26, 26}, - {0, 3, 29, 26}, - {3, 3, 26, 29}, - {0, 3, 29, 29}, - {3, 3, 29, 26}, - {0, 3, 32, 26}, - {3, 3, 29, 29}, - {0, 3, 32, 29}, - {3, 0, 26, 29}, - {0, 0, 29, 29}, - {3, 0, 26, 32}, - {0, 0, 29, 32}, - {3, 0, 29, 29}, - {0, 0, 32, 29}, - {3, 0, 29, 32}, - {0, 0, 32, 32}, + {3, 3, 26, 26}, + {0, 3, 29, 26}, + {3, 3, 26, 29}, + {0, 3, 29, 29}, + {3, 3, 29, 26}, + {0, 3, 32, 26}, + {3, 3, 29, 29}, + {0, 3, 32, 29}, + {3, 0, 26, 29}, + {0, 0, 29, 29}, + {3, 0, 26, 32}, + {0, 0, 29, 32}, + {3, 0, 29, 29}, + {0, 0, 32, 29}, + {3, 0, 29, 32}, + {0, 0, 32, 32}, }; const uint8 byte_98D8A4[] = { - 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0 + 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0 }; void path_paint_pole_support(rct_map_element * mapElement, sint32 height, rct_footpath_entry * footpathEntry, bool hasFences, uint32 imageFlags, uint32 sceneryImageFlags); @@ -88,194 +88,194 @@ void path_paint_box_support(rct_map_element* mapElement, sint16 height, rct_foot /* rct2: 0x006A5AE5 */ static void path_bit_lights_paint(rct_scenery_entry* pathBitEntry, rct_map_element* mapElement, sint32 height, uint8 edges, uint32 pathBitImageFlags) { - if (footpath_element_is_sloped(mapElement)) - height += 8; + if (footpath_element_is_sloped(mapElement)) + height += 8; - uint32 imageId; + uint32 imageId; - if (!(edges & (1 << 0))) { - imageId = pathBitEntry->image + 1; + if (!(edges & (1 << 0))) { + imageId = pathBitEntry->image + 1; - if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) - imageId += 4; + if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) + imageId += 4; - imageId |= pathBitImageFlags; + imageId |= pathBitImageFlags; - sub_98197C(imageId, 2, 16, 1, 1, 23, height, 3, 16, height + 2, get_current_rotation()); - } - if (!(edges & (1 << 1))) { - imageId = pathBitEntry->image + 2; + sub_98197C(imageId, 2, 16, 1, 1, 23, height, 3, 16, height + 2, get_current_rotation()); + } + if (!(edges & (1 << 1))) { + imageId = pathBitEntry->image + 2; - if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) - imageId += 4; + if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) + imageId += 4; - imageId |= pathBitImageFlags; + imageId |= pathBitImageFlags; - sub_98197C(imageId, 16, 30, 1, 0, 23, height, 16, 29, height + 2, get_current_rotation()); - } + sub_98197C(imageId, 16, 30, 1, 0, 23, height, 16, 29, height + 2, get_current_rotation()); + } - if (!(edges & (1 << 2))) { - imageId = pathBitEntry->image + 3; + if (!(edges & (1 << 2))) { + imageId = pathBitEntry->image + 3; - if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) - imageId += 4; + if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) + imageId += 4; - imageId |= pathBitImageFlags; + imageId |= pathBitImageFlags; - sub_98197C(imageId, 30, 16, 0, 1, 23, height, 29, 16, height + 2, get_current_rotation()); - } + sub_98197C(imageId, 30, 16, 0, 1, 23, height, 29, 16, height + 2, get_current_rotation()); + } - if (!(edges & (1 << 3))) { - imageId = pathBitEntry->image + 4; + if (!(edges & (1 << 3))) { + imageId = pathBitEntry->image + 4; - if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) - imageId += 4; + if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) + imageId += 4; - imageId |= pathBitImageFlags; + imageId |= pathBitImageFlags; - sub_98197C(imageId, 16, 2, 1, 1, 23, height, 16, 3, height + 2, get_current_rotation()); - } + sub_98197C(imageId, 16, 2, 1, 1, 23, height, 16, 3, height + 2, get_current_rotation()); + } } /* rct2: 0x006A5C94 */ static void path_bit_bins_paint(rct_scenery_entry* pathBitEntry, rct_map_element* mapElement, sint32 height, uint8 edges, uint32 pathBitImageFlags) { - if (footpath_element_is_sloped(mapElement)) - height += 8; + if (footpath_element_is_sloped(mapElement)) + height += 8; - uint32 imageId; + uint32 imageId; - if (!(edges & (1 << 0))) { - imageId = pathBitEntry->image + 5; + if (!(edges & (1 << 0))) { + imageId = pathBitEntry->image + 5; - imageId |= pathBitImageFlags; + imageId |= pathBitImageFlags; - if (!(mapElement->flags & MAP_ELEMENT_FLAG_BROKEN)) { - imageId -= 4; + if (!(mapElement->flags & MAP_ELEMENT_FLAG_BROKEN)) { + imageId -= 4; - // Edges have been rotated around the rotation to check addition status - // this will also need to be rotated. - if (!(mapElement->properties.path.addition_status & ror8(0x3,(2 * get_current_rotation())))) - imageId += 8; - } + // Edges have been rotated around the rotation to check addition status + // this will also need to be rotated. + if (!(mapElement->properties.path.addition_status & ror8(0x3,(2 * get_current_rotation())))) + imageId += 8; + } - sub_98197C(imageId, 7, 16, 1, 1, 7, height, 7, 16, height + 2, get_current_rotation()); - } - if (!(edges & (1 << 1))) { - imageId = pathBitEntry->image + 6; + sub_98197C(imageId, 7, 16, 1, 1, 7, height, 7, 16, height + 2, get_current_rotation()); + } + if (!(edges & (1 << 1))) { + imageId = pathBitEntry->image + 6; - imageId |= pathBitImageFlags; + imageId |= pathBitImageFlags; - if (!(mapElement->flags & MAP_ELEMENT_FLAG_BROKEN)) { - imageId -= 4; + if (!(mapElement->flags & MAP_ELEMENT_FLAG_BROKEN)) { + imageId -= 4; - // Edges have been rotated around the rotation to check addition status - // this will also need to be rotated. - if (!(mapElement->properties.path.addition_status & ror8(0xC, (2 * get_current_rotation())))) - imageId += 8; - } + // Edges have been rotated around the rotation to check addition status + // this will also need to be rotated. + if (!(mapElement->properties.path.addition_status & ror8(0xC, (2 * get_current_rotation())))) + imageId += 8; + } - sub_98197C(imageId, 16, 25, 1, 1, 7, height, 16, 25, height + 2, get_current_rotation()); - } + sub_98197C(imageId, 16, 25, 1, 1, 7, height, 16, 25, height + 2, get_current_rotation()); + } - if (!(edges & (1 << 2))) { - imageId = pathBitEntry->image + 7; + if (!(edges & (1 << 2))) { + imageId = pathBitEntry->image + 7; - imageId |= pathBitImageFlags; + imageId |= pathBitImageFlags; - if (!(mapElement->flags & MAP_ELEMENT_FLAG_BROKEN)) { - imageId -= 4; + if (!(mapElement->flags & MAP_ELEMENT_FLAG_BROKEN)) { + imageId -= 4; - // Edges have been rotated around the rotation to check addition status - // this will also need to be rotated. - if (!(mapElement->properties.path.addition_status & ror8(0x30, (2 * get_current_rotation())))) - imageId += 8; - } + // Edges have been rotated around the rotation to check addition status + // this will also need to be rotated. + if (!(mapElement->properties.path.addition_status & ror8(0x30, (2 * get_current_rotation())))) + imageId += 8; + } - sub_98197C(imageId, 25, 16, 1, 1, 7, height, 25, 16, height + 2, get_current_rotation()); - } + sub_98197C(imageId, 25, 16, 1, 1, 7, height, 25, 16, height + 2, get_current_rotation()); + } - if (!(edges & (1 << 3))) { - imageId = pathBitEntry->image + 8; + if (!(edges & (1 << 3))) { + imageId = pathBitEntry->image + 8; - imageId |= pathBitImageFlags; + imageId |= pathBitImageFlags; - if (!(mapElement->flags & MAP_ELEMENT_FLAG_BROKEN)) { - imageId -= 4; + if (!(mapElement->flags & MAP_ELEMENT_FLAG_BROKEN)) { + imageId -= 4; - // Edges have been rotated around the rotation to check addition status - // this will also need to be rotated. - if (!(mapElement->properties.path.addition_status & ror8(0xC0, (2 * get_current_rotation())))) - imageId += 8; - } + // Edges have been rotated around the rotation to check addition status + // this will also need to be rotated. + if (!(mapElement->properties.path.addition_status & ror8(0xC0, (2 * get_current_rotation())))) + imageId += 8; + } - sub_98197C(imageId, 16, 7, 1, 1, 7, height, 16, 7, height + 2, get_current_rotation()); - } + sub_98197C(imageId, 16, 7, 1, 1, 7, height, 16, 7, height + 2, get_current_rotation()); + } } /* rct2: 0x006A5E81 */ static void path_bit_benches_paint(rct_scenery_entry* pathBitEntry, rct_map_element* mapElement, sint32 height, uint8 edges, uint32 pathBitImageFlags) { - uint32 imageId; + uint32 imageId; - if (!(edges & (1 << 0))) { - imageId = pathBitEntry->image + 1; + if (!(edges & (1 << 0))) { + imageId = pathBitEntry->image + 1; - if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) - imageId += 4; + if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) + imageId += 4; - imageId |= pathBitImageFlags; + imageId |= pathBitImageFlags; - sub_98197C(imageId, 7, 16, 0, 16, 7, height, 6, 8, height + 2, get_current_rotation()); - } - if (!(edges & (1 << 1))) { - imageId = pathBitEntry->image + 2; + sub_98197C(imageId, 7, 16, 0, 16, 7, height, 6, 8, height + 2, get_current_rotation()); + } + if (!(edges & (1 << 1))) { + imageId = pathBitEntry->image + 2; - if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) - imageId += 4; + if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) + imageId += 4; - imageId |= pathBitImageFlags; + imageId |= pathBitImageFlags; - sub_98197C(imageId, 16, 25, 16, 0, 7, height, 8, 23, height + 2, get_current_rotation()); - } + sub_98197C(imageId, 16, 25, 16, 0, 7, height, 8, 23, height + 2, get_current_rotation()); + } - if (!(edges & (1 << 2))) { - imageId = pathBitEntry->image + 3; + if (!(edges & (1 << 2))) { + imageId = pathBitEntry->image + 3; - if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) - imageId += 4; + if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) + imageId += 4; - imageId |= pathBitImageFlags; + imageId |= pathBitImageFlags; - sub_98197C(imageId, 25, 16, 0, 16, 7, height, 23, 8, height + 2, get_current_rotation()); - } + sub_98197C(imageId, 25, 16, 0, 16, 7, height, 23, 8, height + 2, get_current_rotation()); + } - if (!(edges & (1 << 3))) { - imageId = pathBitEntry->image + 4; + if (!(edges & (1 << 3))) { + imageId = pathBitEntry->image + 4; - if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) - imageId += 4; + if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) + imageId += 4; - imageId |= pathBitImageFlags; + imageId |= pathBitImageFlags; - sub_98197C(imageId, 16, 7, 16, 0, 7, height, 8, 6, height + 2, get_current_rotation()); - } + sub_98197C(imageId, 16, 7, 16, 0, 7, height, 8, 6, height + 2, get_current_rotation()); + } } /* rct2: 0x006A6008 */ static void path_bit_jumping_fountains_paint(rct_scenery_entry* pathBitEntry, rct_map_element* mapElement, sint32 height, uint8 edges, uint32 pathBitImageFlags, rct_drawpixelinfo* dpi) { - if (dpi->zoom_level != 0) - return; + if (dpi->zoom_level != 0) + return; - uint32 imageId = pathBitEntry->image; - imageId |= pathBitImageFlags; + uint32 imageId = pathBitEntry->image; + imageId |= pathBitImageFlags; - sub_98197C(imageId + 1, 0, 0, 1, 1, 2, height, 3, 3, height + 2, get_current_rotation()); - sub_98197C(imageId + 2, 0, 0, 1, 1, 2, height, 3, 29, height + 2, get_current_rotation()); - sub_98197C(imageId + 3, 0, 0, 1, 1, 2, height, 29, 29, height + 2, get_current_rotation()); - sub_98197C(imageId + 4, 0, 0, 1, 1, 2, height, 29, 3, height + 2, get_current_rotation()); + sub_98197C(imageId + 1, 0, 0, 1, 1, 2, height, 3, 3, height + 2, get_current_rotation()); + sub_98197C(imageId + 2, 0, 0, 1, 1, 2, height, 3, 29, height + 2, get_current_rotation()); + sub_98197C(imageId + 3, 0, 0, 1, 1, 2, height, 29, 29, height + 2, get_current_rotation()); + sub_98197C(imageId + 4, 0, 0, 1, 1, 2, height, 29, 3, height + 2, get_current_rotation()); } /** @@ -287,290 +287,290 @@ static void path_bit_jumping_fountains_paint(rct_scenery_entry* pathBitEntry, rc */ static void sub_6A4101(rct_map_element * map_element, uint16 height, uint32 ebp, bool word_F3F038, rct_footpath_entry * footpathEntry, uint32 base_image_id, uint32 imageFlags) { - if (footpath_element_is_queue(map_element)) { - uint8 local_ebp = ebp & 0x0F; - if (footpath_element_is_sloped(map_element)) { - switch ((map_element->properties.path.type + get_current_rotation()) & 0x03) { - case 0: - sub_98197C(95 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(95 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2, get_current_rotation()); - break; - case 1: - sub_98197C(94 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(94 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2, get_current_rotation()); - break; - case 2: - sub_98197C(96 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(96 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2, get_current_rotation()); - break; - case 3: - sub_98197C(93 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(93 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2, get_current_rotation()); - break; - } - } else { - switch (local_ebp) { - case 1: - sub_98197C(90 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(90 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation()); - break; - case 2: - sub_98197C(91 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(91 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation()); - break; - case 3: - sub_98197C(90 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(91 + base_image_id, 28, 0, 1, 28, 7, height, 28, 4, height + 2, get_current_rotation()); // bound_box_offset_y seems to be a bug - sub_98197C(98 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation()); - break; - case 4: - sub_98197C(92 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(92 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation()); - break; - case 5: - sub_98197C(88 + base_image_id, 0, 4, 32, 1, 7, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(88 + base_image_id, 0, 28, 32, 1, 7, height, 0, 28, height + 2, get_current_rotation()); - break; - case 6: - sub_98197C(91 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(92 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(99 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation()); - break; - case 8: - sub_98197C(89 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(89 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation()); - break; - case 9: - sub_98197C(89 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation()); - sub_98197C(90 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation()); - sub_98197C(97 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation()); - break; - case 10: - sub_98197C(87 + base_image_id, 4, 0, 1, 32, 7, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(87 + base_image_id, 28, 0, 1, 32, 7, height, 28, 0, height + 2, get_current_rotation()); - break; - case 12: - sub_98197C(89 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(92 + base_image_id, 0, 28, 28, 1, 7, height, 4, 28, height + 2, get_current_rotation()); // bound_box_offset_x seems to be a bug - sub_98197C(100 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation()); - break; - default: - // purposely left empty - break; - } - } + if (footpath_element_is_queue(map_element)) { + uint8 local_ebp = ebp & 0x0F; + if (footpath_element_is_sloped(map_element)) { + switch ((map_element->properties.path.type + get_current_rotation()) & 0x03) { + case 0: + sub_98197C(95 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(95 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2, get_current_rotation()); + break; + case 1: + sub_98197C(94 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(94 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2, get_current_rotation()); + break; + case 2: + sub_98197C(96 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(96 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2, get_current_rotation()); + break; + case 3: + sub_98197C(93 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(93 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2, get_current_rotation()); + break; + } + } else { + switch (local_ebp) { + case 1: + sub_98197C(90 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(90 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation()); + break; + case 2: + sub_98197C(91 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(91 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation()); + break; + case 3: + sub_98197C(90 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(91 + base_image_id, 28, 0, 1, 28, 7, height, 28, 4, height + 2, get_current_rotation()); // bound_box_offset_y seems to be a bug + sub_98197C(98 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation()); + break; + case 4: + sub_98197C(92 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(92 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation()); + break; + case 5: + sub_98197C(88 + base_image_id, 0, 4, 32, 1, 7, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(88 + base_image_id, 0, 28, 32, 1, 7, height, 0, 28, height + 2, get_current_rotation()); + break; + case 6: + sub_98197C(91 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(92 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(99 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation()); + break; + case 8: + sub_98197C(89 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(89 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation()); + break; + case 9: + sub_98197C(89 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation()); + sub_98197C(90 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation()); + sub_98197C(97 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation()); + break; + case 10: + sub_98197C(87 + base_image_id, 4, 0, 1, 32, 7, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(87 + base_image_id, 28, 0, 1, 32, 7, height, 28, 0, height + 2, get_current_rotation()); + break; + case 12: + sub_98197C(89 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(92 + base_image_id, 0, 28, 28, 1, 7, height, 4, 28, height + 2, get_current_rotation()); // bound_box_offset_x seems to be a bug + sub_98197C(100 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation()); + break; + default: + // purposely left empty + break; + } + } - if (!(map_element->properties.path.type & 0x08)) { - return; - } + if (!(map_element->properties.path.type & 0x08)) { + return; + } - uint8 direction = ((map_element->type & 0xC0) >> 6); - // Draw ride sign - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; - if (footpath_element_is_sloped(map_element)) { - if (footpath_element_get_slope_direction(map_element) == direction) - height += 16; - } - direction += get_current_rotation(); - direction &= 3; + uint8 direction = ((map_element->type & 0xC0) >> 6); + // Draw ride sign + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + if (footpath_element_is_sloped(map_element)) { + if (footpath_element_get_slope_direction(map_element) == direction) + height += 16; + } + direction += get_current_rotation(); + direction &= 3; - rct_xyz16 boundBoxOffsets = { - .x = BannerBoundBoxes[direction][0].x, - .y = BannerBoundBoxes[direction][0].y, - .z = height + 2 - }; + rct_xyz16 boundBoxOffsets = { + .x = BannerBoundBoxes[direction][0].x, + .y = BannerBoundBoxes[direction][0].y, + .z = height + 2 + }; - uint32 imageId = (direction << 1) + base_image_id + 101; + uint32 imageId = (direction << 1) + base_image_id + 101; - sub_98197C(imageId, 0, 0, 1, 1, 21, height, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z, get_current_rotation()); + sub_98197C(imageId, 0, 0, 1, 1, 21, height, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z, get_current_rotation()); - boundBoxOffsets.x = BannerBoundBoxes[direction][1].x; - boundBoxOffsets.y = BannerBoundBoxes[direction][1].y; - imageId++; - sub_98197C(imageId, 0, 0, 1, 1, 21, height, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z, get_current_rotation()); + boundBoxOffsets.x = BannerBoundBoxes[direction][1].x; + boundBoxOffsets.y = BannerBoundBoxes[direction][1].y; + imageId++; + sub_98197C(imageId, 0, 0, 1, 1, 21, height, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z, get_current_rotation()); - direction--; - // If text shown - if (direction < 2 && map_element->properties.path.ride_index != 255 && imageFlags == 0) { - uint16 scrollingMode = footpathEntry->scrolling_mode; - scrollingMode += direction; + direction--; + // If text shown + if (direction < 2 && map_element->properties.path.ride_index != 255 && imageFlags == 0) { + uint16 scrollingMode = footpathEntry->scrolling_mode; + scrollingMode += direction; - set_format_arg(0, uint32, 0); - set_format_arg(4, uint32, 0); + set_format_arg(0, uint32, 0); + set_format_arg(4, uint32, 0); - rct_ride* ride = get_ride(map_element->properties.path.ride_index); - rct_string_id string_id = STR_RIDE_ENTRANCE_CLOSED; - if (ride->status == RIDE_STATUS_OPEN && !(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)){ - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); - string_id = STR_RIDE_ENTRANCE_NAME; - } - if (gConfigGeneral.upper_case_banners) { - format_string_to_upper(gCommonStringFormatBuffer, 256, string_id, gCommonFormatArgs); - } else { - format_string(gCommonStringFormatBuffer, 256, string_id, gCommonFormatArgs); - } + rct_ride* ride = get_ride(map_element->properties.path.ride_index); + rct_string_id string_id = STR_RIDE_ENTRANCE_CLOSED; + if (ride->status == RIDE_STATUS_OPEN && !(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)){ + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); + string_id = STR_RIDE_ENTRANCE_NAME; + } + if (gConfigGeneral.upper_case_banners) { + format_string_to_upper(gCommonStringFormatBuffer, 256, string_id, gCommonFormatArgs); + } else { + format_string(gCommonStringFormatBuffer, 256, string_id, gCommonFormatArgs); + } - gCurrentFontSpriteBase = FONT_SPRITE_BASE_TINY; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_TINY; - uint16 string_width = gfx_get_string_width(gCommonStringFormatBuffer); - uint16 scroll = (gCurrentTicks / 2) % string_width; + uint16 string_width = gfx_get_string_width(gCommonStringFormatBuffer); + uint16 scroll = (gCurrentTicks / 2) % string_width; - sub_98199C(scrolling_text_setup(string_id, scroll, scrollingMode), 0, 0, 1, 1, 21, height + 7, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z, get_current_rotation()); - } + sub_98199C(scrolling_text_setup(string_id, scroll, scrollingMode), 0, 0, 1, 1, 21, height + 7, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z, get_current_rotation()); + } - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH; - if (imageFlags != 0) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - } - return; - } + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH; + if (imageFlags != 0) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + } + return; + } - // save ecx, ebp, esi - uint32 dword_F3EF80 = ebp; - if (!(footpathEntry->flags & FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE)) { - dword_F3EF80 &= 0x0F; - } + // save ecx, ebp, esi + uint32 dword_F3EF80 = ebp; + if (!(footpathEntry->flags & FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE)) { + dword_F3EF80 &= 0x0F; + } - if (footpath_element_is_sloped(map_element)) { - switch ((map_element->properties.path.type + get_current_rotation()) & 0x03) { - case 0: - sub_98197C(81 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(81 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2, get_current_rotation()); - break; - case 1: - sub_98197C(80 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(80 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2, get_current_rotation()); - break; - case 2: - sub_98197C(82 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(82 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2, get_current_rotation()); - break; - case 3: - sub_98197C(79 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(79 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2, get_current_rotation()); - break; - } - } else { - if (!word_F3F038) { - return; - } + if (footpath_element_is_sloped(map_element)) { + switch ((map_element->properties.path.type + get_current_rotation()) & 0x03) { + case 0: + sub_98197C(81 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(81 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2, get_current_rotation()); + break; + case 1: + sub_98197C(80 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(80 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2, get_current_rotation()); + break; + case 2: + sub_98197C(82 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(82 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2, get_current_rotation()); + break; + case 3: + sub_98197C(79 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(79 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2, get_current_rotation()); + break; + } + } else { + if (!word_F3F038) { + return; + } - uint8 local_ebp = ebp & 0x0F; - switch (local_ebp) { - case 0: - // purposely left empty - break; - case 1: - sub_98197C(76 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(76 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation()); - break; - case 2: - sub_98197C(77 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(77 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation()); - break; - case 4: - sub_98197C(78 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(78 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation()); - break; - case 5: - sub_98197C(74 + base_image_id, 0, 4, 32, 1, 7, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(74 + base_image_id, 0, 28, 32, 1, 7, height, 0, 28, height + 2, get_current_rotation()); - break; - case 8: - sub_98197C(75 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(75 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation()); - break; - case 10: - sub_98197C(73 + base_image_id, 4, 0, 1, 32, 7, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(73 + base_image_id, 28, 0, 1, 32, 7, height, 28, 0, height + 2, get_current_rotation()); - break; + uint8 local_ebp = ebp & 0x0F; + switch (local_ebp) { + case 0: + // purposely left empty + break; + case 1: + sub_98197C(76 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(76 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation()); + break; + case 2: + sub_98197C(77 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(77 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation()); + break; + case 4: + sub_98197C(78 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(78 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation()); + break; + case 5: + sub_98197C(74 + base_image_id, 0, 4, 32, 1, 7, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(74 + base_image_id, 0, 28, 32, 1, 7, height, 0, 28, height + 2, get_current_rotation()); + break; + case 8: + sub_98197C(75 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(75 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation()); + break; + case 10: + sub_98197C(73 + base_image_id, 4, 0, 1, 32, 7, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(73 + base_image_id, 28, 0, 1, 32, 7, height, 28, 0, height + 2, get_current_rotation()); + break; - case 3: - sub_98197C(76 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); - sub_98197C(77 + base_image_id, 28, 0, 1, 28, 7, height, 28, 4, height + 2, get_current_rotation()); // bound_box_offset_y seems to be a bug - if (!(dword_F3EF80 & 0x10)) { - sub_98197C(84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation()); - } - break; - case 6: - sub_98197C(77 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(78 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); - if (!(dword_F3EF80 & 0x20)) { - sub_98197C(85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation()); - } - break; - case 9: - sub_98197C(75 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation()); - sub_98197C(76 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation()); - if (!(dword_F3EF80 & 0x80)) { - sub_98197C(83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation()); - } - break; - case 12: - sub_98197C(75 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); - sub_98197C(78 + base_image_id, 0, 28, 28, 1, 7, height, 4, 28, height + 2, get_current_rotation()); // bound_box_offset_x seems to be a bug - if (!(dword_F3EF80 & 0x40)) { - sub_98197C(86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation()); - } - break; + case 3: + sub_98197C(76 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); + sub_98197C(77 + base_image_id, 28, 0, 1, 28, 7, height, 28, 4, height + 2, get_current_rotation()); // bound_box_offset_y seems to be a bug + if (!(dword_F3EF80 & 0x10)) { + sub_98197C(84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation()); + } + break; + case 6: + sub_98197C(77 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(78 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation()); + if (!(dword_F3EF80 & 0x20)) { + sub_98197C(85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation()); + } + break; + case 9: + sub_98197C(75 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation()); + sub_98197C(76 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation()); + if (!(dword_F3EF80 & 0x80)) { + sub_98197C(83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation()); + } + break; + case 12: + sub_98197C(75 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation()); + sub_98197C(78 + base_image_id, 0, 28, 28, 1, 7, height, 4, 28, height + 2, get_current_rotation()); // bound_box_offset_x seems to be a bug + if (!(dword_F3EF80 & 0x40)) { + sub_98197C(86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation()); + } + break; - case 7: - sub_98197C(74 + base_image_id, 0, 4, 32, 1, 7, height, 0, 4, height + 2, get_current_rotation()); - if (!(dword_F3EF80 & 0x10)) { - sub_98197C(84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation()); - } - if (!(dword_F3EF80 & 0x20)) { - sub_98197C(85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation()); - } - break; - case 13: - sub_98197C(74 + base_image_id, 0, 28, 32, 1, 7, height, 0, 28, height + 2, get_current_rotation()); - if (!(dword_F3EF80 & 0x40)) { - sub_98197C(86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation()); - } - if (!(dword_F3EF80 & 0x80)) { - sub_98197C(83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation()); - } - break; - case 14: - sub_98197C(73 + base_image_id, 4, 0, 1, 32, 7, height, 4, 0, height + 2, get_current_rotation()); - if (!(dword_F3EF80 & 0x20)) { - sub_98197C(85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation()); - } - if (!(dword_F3EF80 & 0x40)) { - sub_98197C(86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation()); - } - break; - case 11: - sub_98197C(73 + base_image_id, 28, 0, 1, 32, 7, height, 28, 0, height + 2, get_current_rotation()); - if (!(dword_F3EF80 & 0x10)) { - sub_98197C(84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation()); - } - if (!(dword_F3EF80 & 0x80)) { - sub_98197C(83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation()); - } - break; + case 7: + sub_98197C(74 + base_image_id, 0, 4, 32, 1, 7, height, 0, 4, height + 2, get_current_rotation()); + if (!(dword_F3EF80 & 0x10)) { + sub_98197C(84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation()); + } + if (!(dword_F3EF80 & 0x20)) { + sub_98197C(85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation()); + } + break; + case 13: + sub_98197C(74 + base_image_id, 0, 28, 32, 1, 7, height, 0, 28, height + 2, get_current_rotation()); + if (!(dword_F3EF80 & 0x40)) { + sub_98197C(86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation()); + } + if (!(dword_F3EF80 & 0x80)) { + sub_98197C(83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation()); + } + break; + case 14: + sub_98197C(73 + base_image_id, 4, 0, 1, 32, 7, height, 4, 0, height + 2, get_current_rotation()); + if (!(dword_F3EF80 & 0x20)) { + sub_98197C(85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation()); + } + if (!(dword_F3EF80 & 0x40)) { + sub_98197C(86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation()); + } + break; + case 11: + sub_98197C(73 + base_image_id, 28, 0, 1, 32, 7, height, 28, 0, height + 2, get_current_rotation()); + if (!(dword_F3EF80 & 0x10)) { + sub_98197C(84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation()); + } + if (!(dword_F3EF80 & 0x80)) { + sub_98197C(83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation()); + } + break; - case 15: - if (!(dword_F3EF80 & 0x10)) { - sub_98197C(84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation()); - } - if (!(dword_F3EF80 & 0x20)) { - sub_98197C(85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation()); - } - if (!(dword_F3EF80 & 0x40)) { - sub_98197C(86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation()); - } - if (!(dword_F3EF80 & 0x80)) { - sub_98197C(83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation()); - } - break; + case 15: + if (!(dword_F3EF80 & 0x10)) { + sub_98197C(84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation()); + } + if (!(dword_F3EF80 & 0x20)) { + sub_98197C(85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation()); + } + if (!(dword_F3EF80 & 0x40)) { + sub_98197C(86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation()); + } + if (!(dword_F3EF80 & 0x80)) { + sub_98197C(83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation()); + } + break; - } - } + } + } } @@ -585,86 +585,86 @@ static void sub_6A4101(rct_map_element * map_element, uint16 height, uint32 ebp, */ static void sub_6A3F61(rct_map_element * map_element, uint16 bp, uint16 height, rct_footpath_entry * footpathEntry, uint32 imageFlags, uint32 sceneryImageFlags, bool word_F3F038) { - // eax -- - // ebx -- - // ecx - // edx - // esi -- - // edi -- - // ebp - // esp: [ esi, ???, 000] + // eax -- + // ebx -- + // ecx + // edx + // esi -- + // edi -- + // ebp + // esp: [ esi, ???, 000] - // Probably drawing benches etc. + // Probably drawing benches etc. - rct_drawpixelinfo * dpi = unk_140E9A8; + rct_drawpixelinfo * dpi = unk_140E9A8; - if (dpi->zoom_level <= 1) { - if (!gTrackDesignSaveMode) { - uint8 additions = map_element->properties.path.additions & 0xF; - if (additions != 0) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM; - if (sceneryImageFlags != 0) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - } + if (dpi->zoom_level <= 1) { + if (!gTrackDesignSaveMode) { + uint8 additions = map_element->properties.path.additions & 0xF; + if (additions != 0) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM; + if (sceneryImageFlags != 0) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + } - // Draw additional path bits (bins, benches, lamps, queue screens) - rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); - switch (sceneryEntry->path_bit.draw_type) { - case PATH_BIT_DRAW_TYPE_LIGHTS: - path_bit_lights_paint(sceneryEntry, map_element, height, (uint8)bp, sceneryImageFlags); - break; - case PATH_BIT_DRAW_TYPE_BINS: - path_bit_bins_paint(sceneryEntry, map_element, height, (uint8)bp, sceneryImageFlags); - break; - case PATH_BIT_DRAW_TYPE_BENCHES: - path_bit_benches_paint(sceneryEntry, map_element, height, (uint8)bp, sceneryImageFlags); - break; - case PATH_BIT_DRAW_TYPE_JUMPING_FOUNTAINS: - path_bit_jumping_fountains_paint(sceneryEntry, map_element, height, (uint8)bp, sceneryImageFlags, dpi); - break; - } + // Draw additional path bits (bins, benches, lamps, queue screens) + rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); + switch (sceneryEntry->path_bit.draw_type) { + case PATH_BIT_DRAW_TYPE_LIGHTS: + path_bit_lights_paint(sceneryEntry, map_element, height, (uint8)bp, sceneryImageFlags); + break; + case PATH_BIT_DRAW_TYPE_BINS: + path_bit_bins_paint(sceneryEntry, map_element, height, (uint8)bp, sceneryImageFlags); + break; + case PATH_BIT_DRAW_TYPE_BENCHES: + path_bit_benches_paint(sceneryEntry, map_element, height, (uint8)bp, sceneryImageFlags); + break; + case PATH_BIT_DRAW_TYPE_JUMPING_FOUNTAINS: + path_bit_jumping_fountains_paint(sceneryEntry, map_element, height, (uint8)bp, sceneryImageFlags, dpi); + break; + } - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH; - if (sceneryImageFlags != 0) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - } - } - } + if (sceneryImageFlags != 0) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + } + } + } - // Redundant zoom-level check removed + // Redundant zoom-level check removed - sub_6A4101(map_element, height, bp, word_F3F038, footpathEntry, footpathEntry->image | imageFlags, imageFlags); - } + sub_6A4101(map_element, height, bp, word_F3F038, footpathEntry, footpathEntry->image | imageFlags, imageFlags); + } - // This is about tunnel drawing - uint8 direction = (map_element->properties.path.type + get_current_rotation()) & 0x03; - uint8 diagonal = map_element->properties.path.type & 0x04; - uint8 bl = direction | diagonal; + // This is about tunnel drawing + uint8 direction = (map_element->properties.path.type + get_current_rotation()) & 0x03; + uint8 diagonal = map_element->properties.path.type & 0x04; + uint8 bl = direction | diagonal; - if (bp & 2) { - // Bottom right of tile is a tunnel - if (bl == 5) { - paint_util_push_tunnel_right(height + 16, TUNNEL_10); - } else if (bp & 1) { - paint_util_push_tunnel_right(height, TUNNEL_11); - } else { - paint_util_push_tunnel_right(height, TUNNEL_10); - } - } + if (bp & 2) { + // Bottom right of tile is a tunnel + if (bl == 5) { + paint_util_push_tunnel_right(height + 16, TUNNEL_10); + } else if (bp & 1) { + paint_util_push_tunnel_right(height, TUNNEL_11); + } else { + paint_util_push_tunnel_right(height, TUNNEL_10); + } + } - if (!(bp & 4)) { - return; - } + if (!(bp & 4)) { + return; + } - // Bottom left of the tile is a tunnel - if (bl == 6) { - paint_util_push_tunnel_left(height + 16, TUNNEL_10); - } else if (bp & 8) { - paint_util_push_tunnel_left(height , TUNNEL_11); - } else { - paint_util_push_tunnel_left(height , TUNNEL_10); - } + // Bottom left of the tile is a tunnel + if (bl == 6) { + paint_util_push_tunnel_left(height + 16, TUNNEL_10); + } else if (bp & 8) { + paint_util_push_tunnel_left(height , TUNNEL_11); + } else { + paint_util_push_tunnel_left(height , TUNNEL_10); + } } /** @@ -672,353 +672,353 @@ static void sub_6A3F61(rct_map_element * map_element, uint16 bp, uint16 height, */ void path_paint(uint8 direction, uint16 height, rct_map_element * map_element) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH; - bool word_F3F038 = false; + bool word_F3F038 = false; - uint32 sceneryImageFlags = 0; - uint32 imageFlags = 0; + uint32 sceneryImageFlags = 0; + uint32 imageFlags = 0; - if (gTrackDesignSaveMode) { - if (footpath_element_is_queue(map_element)) { - if (map_element->properties.path.ride_index != gTrackDesignSaveRideIndex) { - return; - } - } + if (gTrackDesignSaveMode) { + if (footpath_element_is_queue(map_element)) { + if (map_element->properties.path.ride_index != gTrackDesignSaveRideIndex) { + return; + } + } - if (!track_design_save_contains_map_element(map_element)) { - imageFlags = 0x21700000; - } - } + if (!track_design_save_contains_map_element(map_element)) { + imageFlags = 0x21700000; + } + } - if (footpath_element_path_scenery_is_ghost(map_element)) { - sceneryImageFlags = construction_markers[gConfigGeneral.construction_marker_colour]; - } + if (footpath_element_path_scenery_is_ghost(map_element)) { + sceneryImageFlags = construction_markers[gConfigGeneral.construction_marker_colour]; + } - if (map_element->flags & MAP_ELEMENT_FLAG_GHOST) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - imageFlags = construction_markers[gConfigGeneral.construction_marker_colour]; - } + if (map_element->flags & MAP_ELEMENT_FLAG_GHOST) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + imageFlags = construction_markers[gConfigGeneral.construction_marker_colour]; + } - sint16 x = gPaintMapPosition.x, y = gPaintMapPosition.y; + sint16 x = gPaintMapPosition.x, y = gPaintMapPosition.y; - rct_map_element * surface = map_get_surface_element_at(x / 32, y / 32); + rct_map_element * surface = map_get_surface_element_at(x / 32, y / 32); - uint16 bl = height / 8; - if (surface == NULL) { - word_F3F038 = true; - } else if (surface->base_height != bl) { - word_F3F038 = true; - } else { - if (footpath_element_is_sloped(map_element)) { - // Diagonal path + uint16 bl = height / 8; + if (surface == NULL) { + word_F3F038 = true; + } else if (surface->base_height != bl) { + word_F3F038 = true; + } else { + if (footpath_element_is_sloped(map_element)) { + // Diagonal path - if ((surface->properties.surface.slope & 0x1F) != byte_98D800[map_element->properties.path.type & 0x03]) { - word_F3F038 = true; - } - } else { - if (surface->properties.surface.slope & 0x1F) { - word_F3F038 = true; - } - } - } + if ((surface->properties.surface.slope & 0x1F) != byte_98D800[map_element->properties.path.type & 0x03]) { + word_F3F038 = true; + } + } else { + if (surface->properties.surface.slope & 0x1F) { + word_F3F038 = true; + } + } + } - if (gStaffDrawPatrolAreas != 0xFFFF) { - sint32 staffIndex = gStaffDrawPatrolAreas; - uint8 staffType = staffIndex & 0x7FFF; - bool is_staff_list = staffIndex & 0x8000; - x = gPaintMapPosition.x; - y = gPaintMapPosition.y; + if (gStaffDrawPatrolAreas != 0xFFFF) { + sint32 staffIndex = gStaffDrawPatrolAreas; + uint8 staffType = staffIndex & 0x7FFF; + bool is_staff_list = staffIndex & 0x8000; + x = gPaintMapPosition.x; + y = gPaintMapPosition.y; - uint8 patrolColour = COLOUR_LIGHT_BLUE; + uint8 patrolColour = COLOUR_LIGHT_BLUE; - if (!is_staff_list) { - rct_peep * staff = GET_PEEP(staffIndex); - if (!staff_is_patrol_area_set(staff->staff_id, x, y)) { - patrolColour = COLOUR_GREY; - } - staffType = staff->staff_type; - } + if (!is_staff_list) { + rct_peep * staff = GET_PEEP(staffIndex); + if (!staff_is_patrol_area_set(staff->staff_id, x, y)) { + patrolColour = COLOUR_GREY; + } + staffType = staff->staff_type; + } - if (staff_is_patrol_area_set(200 + staffType, x, y)) { - uint32 imageId = 2618; - sint32 height2 = map_element->base_height * 8; - if (footpath_element_is_sloped(map_element)) { - imageId = 2619 + ((map_element->properties.path.type + get_current_rotation()) & 3); - height2 += 16; - } + if (staff_is_patrol_area_set(200 + staffType, x, y)) { + uint32 imageId = 2618; + sint32 height2 = map_element->base_height * 8; + if (footpath_element_is_sloped(map_element)) { + imageId = 2619 + ((map_element->properties.path.type + get_current_rotation()) & 3); + height2 += 16; + } - sub_98196C(imageId | patrolColour << 19 | 0x20000000, 16, 16, 1, 1, 0, height2 + 2, get_current_rotation()); - } - } + sub_98196C(imageId | patrolColour << 19 | 0x20000000, 16, 16, 1, 1, 0, height2 + 2, get_current_rotation()); + } + } - if (gCurrentViewportFlags & VIEWPORT_FLAG_PATH_HEIGHTS) { - uint16 height2 = 3 + map_element->base_height * 8; - if (footpath_element_is_sloped(map_element)) { - height2 += 8; - } - uint32 imageId = (SPR_HEIGHT_MARKER_BASE + height2 / 16) | COLOUR_GREY << 19 | 0x20000000; - imageId += get_height_marker_offset(); - imageId -= gMapBaseZ; - sub_98196C(imageId, 16, 16, 1, 1, 0, height2, get_current_rotation()); - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_PATH_HEIGHTS) { + uint16 height2 = 3 + map_element->base_height * 8; + if (footpath_element_is_sloped(map_element)) { + height2 += 8; + } + uint32 imageId = (SPR_HEIGHT_MARKER_BASE + height2 / 16) | COLOUR_GREY << 19 | 0x20000000; + imageId += get_height_marker_offset(); + imageId -= gMapBaseZ; + sub_98196C(imageId, 16, 16, 1, 1, 0, height2, get_current_rotation()); + } - uint8 pathType = (map_element->properties.path.type & 0xF0) >> 4; - rct_footpath_entry * footpathEntry = gFootpathEntries[pathType]; + uint8 pathType = (map_element->properties.path.type & 0xF0) >> 4; + rct_footpath_entry * footpathEntry = gFootpathEntries[pathType]; - if (footpathEntry->support_type == FOOTPATH_ENTRY_SUPPORT_TYPE_POLE) { - path_paint_pole_support(map_element, height, footpathEntry, word_F3F038, imageFlags, sceneryImageFlags); - } else { - path_paint_box_support(map_element, height, footpathEntry, word_F3F038, imageFlags, sceneryImageFlags); - } + if (footpathEntry->support_type == FOOTPATH_ENTRY_SUPPORT_TYPE_POLE) { + path_paint_pole_support(map_element, height, footpathEntry, word_F3F038, imageFlags, sceneryImageFlags); + } else { + path_paint_box_support(map_element, height, footpathEntry, word_F3F038, imageFlags, sceneryImageFlags); + } #ifdef __ENABLE_LIGHTFX__ - if (gConfigGeneral.enable_light_fx) { - if (footpath_element_has_path_scenery(map_element) && !(map_element->flags & MAP_ELEMENT_FLAG_BROKEN)) { - rct_scenery_entry *sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); - if (sceneryEntry->path_bit.flags & PATH_BIT_FLAG_LAMP) { - if (!(map_element->properties.path.edges & (1 << 0))) { - lightfx_add_3d_light_magic_from_drawing_tile(-16, 0, height + 23, LIGHTFX_LIGHT_TYPE_LANTERN_3); - } - if (!(map_element->properties.path.edges & (1 << 1))) { - lightfx_add_3d_light_magic_from_drawing_tile(0, 16, height + 23, LIGHTFX_LIGHT_TYPE_LANTERN_3); - } - if (!(map_element->properties.path.edges & (1 << 2))) { - lightfx_add_3d_light_magic_from_drawing_tile(16, 0, height + 23, LIGHTFX_LIGHT_TYPE_LANTERN_3); - } - if (!(map_element->properties.path.edges & (1 << 3))) { - lightfx_add_3d_light_magic_from_drawing_tile(0, -16, height + 23, LIGHTFX_LIGHT_TYPE_LANTERN_3); - } - } - } - } + if (gConfigGeneral.enable_light_fx) { + if (footpath_element_has_path_scenery(map_element) && !(map_element->flags & MAP_ELEMENT_FLAG_BROKEN)) { + rct_scenery_entry *sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); + if (sceneryEntry->path_bit.flags & PATH_BIT_FLAG_LAMP) { + if (!(map_element->properties.path.edges & (1 << 0))) { + lightfx_add_3d_light_magic_from_drawing_tile(-16, 0, height + 23, LIGHTFX_LIGHT_TYPE_LANTERN_3); + } + if (!(map_element->properties.path.edges & (1 << 1))) { + lightfx_add_3d_light_magic_from_drawing_tile(0, 16, height + 23, LIGHTFX_LIGHT_TYPE_LANTERN_3); + } + if (!(map_element->properties.path.edges & (1 << 2))) { + lightfx_add_3d_light_magic_from_drawing_tile(16, 0, height + 23, LIGHTFX_LIGHT_TYPE_LANTERN_3); + } + if (!(map_element->properties.path.edges & (1 << 3))) { + lightfx_add_3d_light_magic_from_drawing_tile(0, -16, height + 23, LIGHTFX_LIGHT_TYPE_LANTERN_3); + } + } + } + } #endif } void path_paint_pole_support(rct_map_element * mapElement, sint32 height, rct_footpath_entry * footpathEntry, bool hasFences, uint32 imageFlags, uint32 sceneryImageFlags) { - // Rol edges around rotation - uint8 edges = ((mapElement->properties.path.edges << get_current_rotation()) & 0xF) | - (((mapElement->properties.path.edges & 0xF) << get_current_rotation()) >> 4); + // Rol edges around rotation + uint8 edges = ((mapElement->properties.path.edges << get_current_rotation()) & 0xF) | + (((mapElement->properties.path.edges & 0xF) << get_current_rotation()) >> 4); - uint8 corners = (((mapElement->properties.path.edges >> 4) << get_current_rotation()) & 0xF) | - (((mapElement->properties.path.edges >> 4) << get_current_rotation()) >> 4); + uint8 corners = (((mapElement->properties.path.edges >> 4) << get_current_rotation()) & 0xF) | + (((mapElement->properties.path.edges >> 4) << get_current_rotation()) >> 4); - rct_xy16 boundBoxOffset = {.x =stru_98D804[edges][0], .y = stru_98D804[edges][1]}; - rct_xy16 boundBoxSize = {.x =stru_98D804[edges][2], .y = stru_98D804[edges][3]}; + rct_xy16 boundBoxOffset = {.x =stru_98D804[edges][0], .y = stru_98D804[edges][1]}; + rct_xy16 boundBoxSize = {.x =stru_98D804[edges][2], .y = stru_98D804[edges][3]}; - uint16 edi = edges | (corners << 4); + uint16 edi = edges | (corners << 4); - uint32 imageId; - if (footpath_element_is_sloped(mapElement)) { - imageId = ((mapElement->properties.path.type + get_current_rotation()) & 3) + 16; - } else { - imageId = byte_98D6E0[edi]; - } + uint32 imageId; + if (footpath_element_is_sloped(mapElement)) { + imageId = ((mapElement->properties.path.type + get_current_rotation()) & 3) + 16; + } else { + imageId = byte_98D6E0[edi]; + } - imageId += footpathEntry->image; - if (footpath_element_is_queue(mapElement)) { - imageId += 51; - } + imageId += footpathEntry->image; + if (footpath_element_is_queue(mapElement)) { + imageId += 51; + } - if (!gDidPassSurface) { - boundBoxOffset.x = 3; - boundBoxOffset.y = 3; - boundBoxSize.x = 26; - boundBoxSize.y = 26; - } + if (!gDidPassSurface) { + boundBoxOffset.x = 3; + boundBoxOffset.y = 3; + boundBoxSize.x = 26; + boundBoxSize.y = 26; + } - if (!hasFences || !gDidPassSurface) { - sub_98197C(imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 1, get_current_rotation()); - } else { - uint32 image_id; - if (footpath_element_is_sloped(mapElement)) { - image_id = ((mapElement->properties.path.type + get_current_rotation()) & 3) + footpathEntry->bridge_image + 51; - } else { - image_id = byte_98D8A4[edges] + footpathEntry->bridge_image + 49; - } + if (!hasFences || !gDidPassSurface) { + sub_98197C(imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 1, get_current_rotation()); + } else { + uint32 image_id; + if (footpath_element_is_sloped(mapElement)) { + image_id = ((mapElement->properties.path.type + get_current_rotation()) & 3) + footpathEntry->bridge_image + 51; + } else { + image_id = byte_98D8A4[edges] + footpathEntry->bridge_image + 49; + } - sub_98197C(image_id | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 1, get_current_rotation()); + sub_98197C(image_id | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 1, get_current_rotation()); - if (!footpath_element_is_queue(mapElement) && !(footpathEntry->flags & FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE)) { - // don't draw - } else { - sub_98199C(imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 1, get_current_rotation()); - } - } + if (!footpath_element_is_queue(mapElement) && !(footpathEntry->flags & FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE)) { + // don't draw + } else { + sub_98199C(imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 1, get_current_rotation()); + } + } - sub_6A3F61(mapElement, edi, height, footpathEntry, imageFlags, sceneryImageFlags, hasFences); + sub_6A3F61(mapElement, edi, height, footpathEntry, imageFlags, sceneryImageFlags, hasFences); - uint16 ax = 0; - if (footpath_element_is_sloped(mapElement)) { - ax = ((mapElement->properties.path.type + get_current_rotation()) & 0x3) + 1; - } + uint16 ax = 0; + if (footpath_element_is_sloped(mapElement)) { + ax = ((mapElement->properties.path.type + get_current_rotation()) & 0x3) + 1; + } - if (byte_98D8A4[edges] == 0) { - path_a_supports_paint_setup(0, ax, height, imageFlags, footpathEntry, NULL); - } else { - path_a_supports_paint_setup(1, ax, height, imageFlags, footpathEntry, NULL); - } + if (byte_98D8A4[edges] == 0) { + path_a_supports_paint_setup(0, ax, height, imageFlags, footpathEntry, NULL); + } else { + path_a_supports_paint_setup(1, ax, height, imageFlags, footpathEntry, NULL); + } - height += 32; - if (footpath_element_is_sloped(mapElement)) { - height += 16; - } + height += 32; + if (footpath_element_is_sloped(mapElement)) { + height += 16; + } - paint_util_set_general_support_height(height, 0x20); + paint_util_set_general_support_height(height, 0x20); - if (footpath_element_is_queue(mapElement) - || (mapElement->properties.path.edges != 0xFF && hasFences) - ) { - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - return; - } + if (footpath_element_is_queue(mapElement) + || (mapElement->properties.path.edges != 0xFF && hasFences) + ) { + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + return; + } - if (mapElement->properties.path.edges == 0xFF) { - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, 0xFFFF, 0); - return; - } + if (mapElement->properties.path.edges == 0xFF) { + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, 0xFFFF, 0); + return; + } - paint_util_set_segment_support_height(SEGMENT_C4, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENT_C4, 0xFFFF, 0); - if (edges & 1) { - paint_util_set_segment_support_height(SEGMENT_CC, 0xFFFF, 0); - } + if (edges & 1) { + paint_util_set_segment_support_height(SEGMENT_CC, 0xFFFF, 0); + } - if (edges & 2) { - paint_util_set_segment_support_height(SEGMENT_D4, 0xFFFF, 0); - } + if (edges & 2) { + paint_util_set_segment_support_height(SEGMENT_D4, 0xFFFF, 0); + } - if (edges & 4) { - paint_util_set_segment_support_height(SEGMENT_D0, 0xFFFF, 0); - } + if (edges & 4) { + paint_util_set_segment_support_height(SEGMENT_D0, 0xFFFF, 0); + } - if (edges & 8) { - paint_util_set_segment_support_height(SEGMENT_C8, 0xFFFF, 0); - } + if (edges & 8) { + paint_util_set_segment_support_height(SEGMENT_C8, 0xFFFF, 0); + } } void path_paint_box_support(rct_map_element* mapElement, sint16 height, rct_footpath_entry* footpathEntry, bool hasFences, uint32 imageFlags, uint32 sceneryImageFlags) { - // Rol edges around rotation - uint8 edges = ((mapElement->properties.path.edges << get_current_rotation()) & 0xF) | - (((mapElement->properties.path.edges & 0xF) << get_current_rotation()) >> 4); + // Rol edges around rotation + uint8 edges = ((mapElement->properties.path.edges << get_current_rotation()) & 0xF) | + (((mapElement->properties.path.edges & 0xF) << get_current_rotation()) >> 4); - rct_xy16 boundBoxOffset = { - .x = stru_98D804[edges][0], - .y = stru_98D804[edges][1] - }; + rct_xy16 boundBoxOffset = { + .x = stru_98D804[edges][0], + .y = stru_98D804[edges][1] + }; - rct_xy16 boundBoxSize = { - .x = stru_98D804[edges][2], - .y = stru_98D804[edges][3] - }; + rct_xy16 boundBoxSize = { + .x = stru_98D804[edges][2], + .y = stru_98D804[edges][3] + }; - uint8 corners = (((mapElement->properties.path.edges >> 4) << get_current_rotation()) & 0xF) | - (((mapElement->properties.path.edges >> 4) << get_current_rotation()) >> 4); + uint8 corners = (((mapElement->properties.path.edges >> 4) << get_current_rotation()) & 0xF) | + (((mapElement->properties.path.edges >> 4) << get_current_rotation()) >> 4); - uint16 edi = edges | (corners << 4); + uint16 edi = edges | (corners << 4); - uint32 imageId; - if (footpath_element_is_sloped(mapElement)) { - imageId = ((mapElement->properties.path.type + get_current_rotation()) & 3) + 16; - } - else { - imageId = byte_98D6E0[edi]; - } + uint32 imageId; + if (footpath_element_is_sloped(mapElement)) { + imageId = ((mapElement->properties.path.type + get_current_rotation()) & 3) + 16; + } + else { + imageId = byte_98D6E0[edi]; + } - imageId += footpathEntry->image; - if (footpath_element_is_queue(mapElement)) { - imageId += 51; - } + imageId += footpathEntry->image; + if (footpath_element_is_queue(mapElement)) { + imageId += 51; + } - // Below Surface - if (!gDidPassSurface) { - boundBoxOffset.x = 3; - boundBoxOffset.y = 3; - boundBoxSize.x = 26; - boundBoxSize.y = 26; - } + // Below Surface + if (!gDidPassSurface) { + boundBoxOffset.x = 3; + boundBoxOffset.y = 3; + boundBoxSize.x = 26; + boundBoxSize.y = 26; + } - if (!hasFences || !gDidPassSurface) { - sub_98197C(imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 1, get_current_rotation()); - } - else { - uint32 bridgeImage; - if (footpath_element_is_sloped(mapElement)) { - bridgeImage = ((mapElement->properties.path.type + get_current_rotation()) & 3) + footpathEntry->bridge_image + 16; - } - else { - bridgeImage = edges + footpathEntry->bridge_image; - bridgeImage |= imageFlags; - } + if (!hasFences || !gDidPassSurface) { + sub_98197C(imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 1, get_current_rotation()); + } + else { + uint32 bridgeImage; + if (footpath_element_is_sloped(mapElement)) { + bridgeImage = ((mapElement->properties.path.type + get_current_rotation()) & 3) + footpathEntry->bridge_image + 16; + } + else { + bridgeImage = edges + footpathEntry->bridge_image; + bridgeImage |= imageFlags; + } - sub_98197C(bridgeImage | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 1, get_current_rotation()); + sub_98197C(bridgeImage | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 1, get_current_rotation()); - if (footpath_element_is_queue(mapElement) || (footpathEntry->flags & FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE)) { - sub_98199C(imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 1, get_current_rotation()); - } - } + if (footpath_element_is_queue(mapElement) || (footpathEntry->flags & FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE)) { + sub_98199C(imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 1, get_current_rotation()); + } + } - sub_6A3F61(mapElement, edi, height, footpathEntry, imageFlags, sceneryImageFlags, hasFences); // TODO: arguments + sub_6A3F61(mapElement, edi, height, footpathEntry, imageFlags, sceneryImageFlags, hasFences); // TODO: arguments - uint16 ax = 0; - if (footpath_element_is_sloped(mapElement)) { - ax = 8; - } + uint16 ax = 0; + if (footpath_element_is_sloped(mapElement)) { + ax = 8; + } - uint8 supports[] = { - 6, - 8, - 7, - 5 - }; + uint8 supports[] = { + 6, + 8, + 7, + 5 + }; - for (sint8 i = 3; i > -1; --i) { - if (!(edges & (1 << i))) { - path_b_supports_paint_setup(supports[i], ax, height, imageFlags, footpathEntry); - } - } + for (sint8 i = 3; i > -1; --i) { + if (!(edges & (1 << i))) { + path_b_supports_paint_setup(supports[i], ax, height, imageFlags, footpathEntry); + } + } - height += 32; - if (footpath_element_is_sloped(mapElement)) { - height += 16; - } + height += 32; + if (footpath_element_is_sloped(mapElement)) { + height += 16; + } - paint_util_set_general_support_height(height, 0x20); + paint_util_set_general_support_height(height, 0x20); - if (footpath_element_is_queue(mapElement) - || (mapElement->properties.path.edges != 0xFF && hasFences) - ) { + if (footpath_element_is_queue(mapElement) + || (mapElement->properties.path.edges != 0xFF && hasFences) + ) { - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - return; - } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + return; + } - if (mapElement->properties.path.edges == 0xFF) { - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, 0xFFFF, 0); - return; - } + if (mapElement->properties.path.edges == 0xFF) { + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, 0xFFFF, 0); + return; + } - paint_util_set_segment_support_height(SEGMENT_C4, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENT_C4, 0xFFFF, 0); - if (edges & 1) { - paint_util_set_segment_support_height(SEGMENT_CC, 0xFFFF, 0); - } + if (edges & 1) { + paint_util_set_segment_support_height(SEGMENT_CC, 0xFFFF, 0); + } - if (edges & 2) { - paint_util_set_segment_support_height(SEGMENT_D4, 0xFFFF, 0); - } + if (edges & 2) { + paint_util_set_segment_support_height(SEGMENT_D4, 0xFFFF, 0); + } - if (edges & 4) { - paint_util_set_segment_support_height(SEGMENT_D0, 0xFFFF, 0); - } + if (edges & 4) { + paint_util_set_segment_support_height(SEGMENT_D0, 0xFFFF, 0); + } - if (edges & 8) { - paint_util_set_segment_support_height(SEGMENT_C8, 0xFFFF, 0); - } + if (edges & 8) { + paint_util_set_segment_support_height(SEGMENT_C8, 0xFFFF, 0); + } } diff --git a/src/openrct2/paint/map_element/scenery.c b/src/openrct2/paint/map_element/scenery.c index 5050c86a8f..34d42e546d 100644 --- a/src/openrct2/paint/map_element/scenery.c +++ b/src/openrct2/paint/map_element/scenery.c @@ -25,17 +25,17 @@ #include "../../world/scenery.h" static const rct_xy16 offsets[] = { - { 3, 3 }, - { 3, 17 }, - { 17, 3 }, - { 3, 3 } + { 3, 3 }, + { 3, 17 }, + { 17, 3 }, + { 3, 3 } }; static const rct_xy16 lengths[] = { - { 12, 26 }, - { 26, 12 }, - { 12, 26 }, - { 26, 12 } + { 12, 26 }, + { 26, 12 }, + { 12, 26 }, + { 26, 12 } }; /** @@ -43,275 +43,275 @@ static const rct_xy16 lengths[] = { * rct2: 0x006DFF47 */ void scenery_paint(uint8 direction, sint32 height, rct_map_element* mapElement) { - //RCT2_CALLPROC_X(0x6DFF47, 0, 0, direction, height, (sint32)mapElement, 0, 0); return; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SCENERY; - rct_xyz16 boxlength; - rct_xyz16 boxoffset; - boxoffset.x = 0; - boxoffset.y = 0; - boxoffset.z = height; - sint32 baseImageid = 0; - const sint32 rotation = get_current_rotation(); - if (gTrackDesignSaveMode) { - if (!track_design_save_contains_map_element(mapElement)) { - baseImageid = 0x21700000; - } - } - if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - baseImageid = construction_markers[gConfigGeneral.construction_marker_colour]; - } - uint32 dword_F64EB0 = baseImageid; + //RCT2_CALLPROC_X(0x6DFF47, 0, 0, direction, height, (sint32)mapElement, 0, 0); return; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SCENERY; + rct_xyz16 boxlength; + rct_xyz16 boxoffset; + boxoffset.x = 0; + boxoffset.y = 0; + boxoffset.z = height; + sint32 baseImageid = 0; + const sint32 rotation = get_current_rotation(); + if (gTrackDesignSaveMode) { + if (!track_design_save_contains_map_element(mapElement)) { + baseImageid = 0x21700000; + } + } + if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + baseImageid = construction_markers[gConfigGeneral.construction_marker_colour]; + } + uint32 dword_F64EB0 = baseImageid; - rct_scenery_entry *entry = get_small_scenery_entry(mapElement->properties.scenery.type); - baseImageid = entry->image + direction; - boxlength.x = 2; - boxlength.y = 2; - sint8 x_offset = 0; - sint8 y_offset = 0; - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE) { - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG24) { - // 6DFFE3: - boxoffset.x = offsets[direction].x; - boxoffset.y = offsets[direction].y; - boxlength.x = lengths[direction].x; - boxlength.y = lengths[direction].y; - x_offset = 3; - y_offset = 3; - } else { - x_offset = 15; - y_offset = 15; - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { - x_offset = 3; - y_offset = 3; - boxlength.x = 26; - boxlength.y = 26; - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_ALLOW_WALLS) { - x_offset = 1; - y_offset = 1; - boxlength.x = 30; - boxlength.y = 30; - } - } - boxoffset.x = x_offset; - boxoffset.y = y_offset; - } - } else { - // 6DFFC2: - uint8 ecx = (map_element_get_scenery_quadrant(mapElement) + rotation) & 3; - x_offset = ScenerySubTileOffsets[ecx].x; - y_offset = ScenerySubTileOffsets[ecx].y; - boxoffset.x = x_offset; - boxoffset.y = y_offset; - } - // 6E007F: - boxlength.z = entry->small_scenery.height - 4; - if (boxlength.z > 128 || boxlength.z < 0) { - boxlength.z = 128; - } - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG6) { - if (mapElement->properties.scenery.age >= 40) { - baseImageid += 4; - } - if (mapElement->properties.scenery.age >= 55) { - baseImageid += 4; - } - } - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR) { - baseImageid |= ((mapElement->properties.scenery.colour_1 & 0x1F) << 19) | 0x20000000; - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR) { - baseImageid |= ((mapElement->properties.scenery.colour_2 & 0x1F) << 24) | 0x80000000; - } - } - if (dword_F64EB0 != 0) { - baseImageid = (baseImageid & 0x7FFFF) | dword_F64EB0; - } - if (!(entry->small_scenery.flags & SMALL_SCENERY_FLAG21)) { - sub_98197C(baseImageid, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); - } + rct_scenery_entry *entry = get_small_scenery_entry(mapElement->properties.scenery.type); + baseImageid = entry->image + direction; + boxlength.x = 2; + boxlength.y = 2; + sint8 x_offset = 0; + sint8 y_offset = 0; + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE) { + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG24) { + // 6DFFE3: + boxoffset.x = offsets[direction].x; + boxoffset.y = offsets[direction].y; + boxlength.x = lengths[direction].x; + boxlength.y = lengths[direction].y; + x_offset = 3; + y_offset = 3; + } else { + x_offset = 15; + y_offset = 15; + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { + x_offset = 3; + y_offset = 3; + boxlength.x = 26; + boxlength.y = 26; + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_ALLOW_WALLS) { + x_offset = 1; + y_offset = 1; + boxlength.x = 30; + boxlength.y = 30; + } + } + boxoffset.x = x_offset; + boxoffset.y = y_offset; + } + } else { + // 6DFFC2: + uint8 ecx = (map_element_get_scenery_quadrant(mapElement) + rotation) & 3; + x_offset = ScenerySubTileOffsets[ecx].x; + y_offset = ScenerySubTileOffsets[ecx].y; + boxoffset.x = x_offset; + boxoffset.y = y_offset; + } + // 6E007F: + boxlength.z = entry->small_scenery.height - 4; + if (boxlength.z > 128 || boxlength.z < 0) { + boxlength.z = 128; + } + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG6) { + if (mapElement->properties.scenery.age >= 40) { + baseImageid += 4; + } + if (mapElement->properties.scenery.age >= 55) { + baseImageid += 4; + } + } + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR) { + baseImageid |= ((mapElement->properties.scenery.colour_1 & 0x1F) << 19) | 0x20000000; + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR) { + baseImageid |= ((mapElement->properties.scenery.colour_2 & 0x1F) << 24) | 0x80000000; + } + } + if (dword_F64EB0 != 0) { + baseImageid = (baseImageid & 0x7FFFF) | dword_F64EB0; + } + if (!(entry->small_scenery.flags & SMALL_SCENERY_FLAG21)) { + sub_98197C(baseImageid, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); + } - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_GLASS) { - if (dword_F64EB0 == 0) { - // Draw translucent overlay: - // TODO: Name palette entries - sint32 image_id = (baseImageid & 0x7FFFF) + (GlassPaletteIds[(mapElement->properties.scenery.colour_1 & 0x1F)] << 19) + 0x40000004; - sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); - } - } + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_GLASS) { + if (dword_F64EB0 == 0) { + // Draw translucent overlay: + // TODO: Name palette entries + sint32 image_id = (baseImageid & 0x7FFFF) + (GlassPaletteIds[(mapElement->properties.scenery.colour_1 & 0x1F)] << 19) + 0x40000004; + sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); + } + } - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_ANIMATED) { - rct_drawpixelinfo* dpi = unk_140E9A8; - if ( (entry->small_scenery.flags & SMALL_SCENERY_FLAG21) || (dpi->zoom_level <= 1) ) { - // 6E01A9: - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG12) { - // 6E0512: - sint32 image_id = ((gCurrentTicks / 2) & 0xF) + entry->image + 4; - if (dword_F64EB0 != 0) { - image_id = (image_id & 0x7FFFF) | dword_F64EB0; - } - sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); - } else - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG13) { - // 6E043B: - sint32 image_id = ((gCurrentTicks / 2) & 0xF) + entry->image + 8; - if (dword_F64EB0 != 0) { - image_id = (image_id & 0x7FFFF) | dword_F64EB0; - } - sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_ANIMATED) { + rct_drawpixelinfo* dpi = unk_140E9A8; + if ( (entry->small_scenery.flags & SMALL_SCENERY_FLAG21) || (dpi->zoom_level <= 1) ) { + // 6E01A9: + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG12) { + // 6E0512: + sint32 image_id = ((gCurrentTicks / 2) & 0xF) + entry->image + 4; + if (dword_F64EB0 != 0) { + image_id = (image_id & 0x7FFFF) | dword_F64EB0; + } + sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); + } else + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG13) { + // 6E043B: + sint32 image_id = ((gCurrentTicks / 2) & 0xF) + entry->image + 8; + if (dword_F64EB0 != 0) { + image_id = (image_id & 0x7FFFF) | dword_F64EB0; + } + sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); - image_id = direction + entry->image + 4; - if (dword_F64EB0 != 0) { - image_id = (image_id & 0x7FFFF) | dword_F64EB0; - } - sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); + image_id = direction + entry->image + 4; + if (dword_F64EB0 != 0) { + image_id = (image_id & 0x7FFFF) | dword_F64EB0; + } + sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); - image_id = ((gCurrentTicks / 2) & 0xF) + entry->image + 24; - if (dword_F64EB0 != 0) { - image_id = (image_id & 0x7FFFF) | dword_F64EB0; - } - sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); - } else - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_IS_CLOCK) { - // 6E035C: - sint32 minuteImageOffset = ((gRealTimeOfDay.minute + 6) * 17) / 256; - sint32 timeImageBase = gRealTimeOfDay.hour; - while (timeImageBase >= 12) { - timeImageBase -= 12; - } - timeImageBase = (timeImageBase * 4) + minuteImageOffset; - if (timeImageBase >= 48) { - timeImageBase -= 48; - } - sint32 image_id = timeImageBase + (direction * 12); - if (image_id >= 48) { - image_id -= 48; - } + image_id = ((gCurrentTicks / 2) & 0xF) + entry->image + 24; + if (dword_F64EB0 != 0) { + image_id = (image_id & 0x7FFFF) | dword_F64EB0; + } + sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); + } else + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_IS_CLOCK) { + // 6E035C: + sint32 minuteImageOffset = ((gRealTimeOfDay.minute + 6) * 17) / 256; + sint32 timeImageBase = gRealTimeOfDay.hour; + while (timeImageBase >= 12) { + timeImageBase -= 12; + } + timeImageBase = (timeImageBase * 4) + minuteImageOffset; + if (timeImageBase >= 48) { + timeImageBase -= 48; + } + sint32 image_id = timeImageBase + (direction * 12); + if (image_id >= 48) { + image_id -= 48; + } - image_id = image_id + entry->image + 68; - if (dword_F64EB0 != 0) { - image_id = (image_id & 0x7FFFF) | dword_F64EB0; - } - sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); + image_id = image_id + entry->image + 68; + if (dword_F64EB0 != 0) { + image_id = (image_id & 0x7FFFF) | dword_F64EB0; + } + sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); - image_id = gRealTimeOfDay.minute + (direction * 15); - if (image_id >= 60) { - image_id -= 60; - } - image_id = image_id + entry->image + 8; - if (dword_F64EB0 != 0) { - image_id = (image_id & 0x7FFFF) | dword_F64EB0; - } - sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); - } else - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG15) { - // 6E02F6: - sint32 image_id = gCurrentTicks; - image_id += gUnk9DE568 / 4; - image_id += gUnk9DE56C / 4; - image_id = (image_id / 4) & 15; - image_id += entry->image; - if (dword_F64EB0 != 0) { - image_id = (image_id & 0x7FFFF) | dword_F64EB0; - } - sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); - } else { - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG16) { - // nothing - } - sint32 esi = gCurrentTicks; - if (!(entry->small_scenery.flags & SMALL_SCENERY_FLAG22)) { - // 6E01F8: - esi += ((gUnk9DE568 / 4) + (gUnk9DE56C / 4)); - esi += (mapElement->type & 0xC0) / 16; - } - // 6E0222: - uint16 cx = entry->small_scenery.var_14; - uint8 cl = cx & 0xFF; - esi >>= cl; - esi &= entry->small_scenery.var_16; - sint32 image_id = 0; - if (esi < entry->small_scenery.var_18) { - image_id = entry->small_scenery.var_10[esi]; - } - image_id = (image_id * 4) + direction + entry->image; - if (entry->small_scenery.flags & (SMALL_SCENERY_FLAG21 | SMALL_SCENERY_FLAG17)) { - image_id += 4; - } - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR) { - image_id |= ((mapElement->properties.scenery.colour_1 & 0x1F) << 19) | 0x20000000; - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR) { - image_id |= ((mapElement->properties.scenery.colour_2 & 0x1F) << 24) | 0x80000000; - } - } - if (dword_F64EB0 != 0) { - image_id = (image_id & 0x7FFFF) | dword_F64EB0; - } - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG21) { - sub_98197C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); - } else { - sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); - } - } - } - } - // 6E0556: Draw supports: - if (mapElement->properties.scenery.colour_1 & 0x20) { - if (!(entry->small_scenery.flags & SMALL_SCENERY_FLAG20)) { - sint32 ax = 0; - sint32 supportHeight = height; - if (supportHeight & 0xF) { - supportHeight &= 0xFFFFFFF0; - ax = 49; - } - uint32 supportImageColourFlags = 0x20000000; - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG26) { - supportImageColourFlags = ((mapElement->properties.scenery.colour_1 & 0x1F) << 19) | 0x20000000; - } - if (dword_F64EB0 != 0) { - supportImageColourFlags = dword_F64EB0; - } - if (direction & 1) { - wooden_b_supports_paint_setup(1, ax, supportHeight, supportImageColourFlags, NULL); - } else { - wooden_b_supports_paint_setup(0, ax, supportHeight, supportImageColourFlags, NULL); - } - } - } - // 6E05D1: - height += entry->small_scenery.height; - uint16 word_F64F2A = height; - height += 7; - height &= 0xFFF8; - paint_util_set_general_support_height(height, 0x20); - // 6E05FF: - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG23) { - height = word_F64F2A; - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE) { - // 6E0825: - paint_util_set_segment_support_height(SEGMENT_C4, height, 0x20); - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { - paint_util_set_segment_support_height(SEGMENTS_ALL & ~SEGMENT_C4, height, 0x20); - } - return; - } - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { - // 6E075C: - direction = (map_element_get_scenery_quadrant(mapElement) + rotation) % 4; - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), height, 0x20); - return; - } - return; - } - if (entry->small_scenery.flags & (SMALL_SCENERY_FLAG27 | SMALL_SCENERY_FLAG_FULL_TILE)) { - paint_util_set_segment_support_height(SEGMENT_C4, 0xFFFF, 0); - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { - paint_util_set_segment_support_height(SEGMENTS_ALL & ~SEGMENT_C4, 0xFFFF, 0); - } - return; - } - if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { - direction = (map_element_get_scenery_quadrant(mapElement) + rotation) % 4; - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - return; - } + image_id = gRealTimeOfDay.minute + (direction * 15); + if (image_id >= 60) { + image_id -= 60; + } + image_id = image_id + entry->image + 8; + if (dword_F64EB0 != 0) { + image_id = (image_id & 0x7FFFF) | dword_F64EB0; + } + sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); + } else + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG15) { + // 6E02F6: + sint32 image_id = gCurrentTicks; + image_id += gUnk9DE568 / 4; + image_id += gUnk9DE56C / 4; + image_id = (image_id / 4) & 15; + image_id += entry->image; + if (dword_F64EB0 != 0) { + image_id = (image_id & 0x7FFFF) | dword_F64EB0; + } + sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); + } else { + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG16) { + // nothing + } + sint32 esi = gCurrentTicks; + if (!(entry->small_scenery.flags & SMALL_SCENERY_FLAG22)) { + // 6E01F8: + esi += ((gUnk9DE568 / 4) + (gUnk9DE56C / 4)); + esi += (mapElement->type & 0xC0) / 16; + } + // 6E0222: + uint16 cx = entry->small_scenery.var_14; + uint8 cl = cx & 0xFF; + esi >>= cl; + esi &= entry->small_scenery.var_16; + sint32 image_id = 0; + if (esi < entry->small_scenery.var_18) { + image_id = entry->small_scenery.var_10[esi]; + } + image_id = (image_id * 4) + direction + entry->image; + if (entry->small_scenery.flags & (SMALL_SCENERY_FLAG21 | SMALL_SCENERY_FLAG17)) { + image_id += 4; + } + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR) { + image_id |= ((mapElement->properties.scenery.colour_1 & 0x1F) << 19) | 0x20000000; + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR) { + image_id |= ((mapElement->properties.scenery.colour_2 & 0x1F) << 24) | 0x80000000; + } + } + if (dword_F64EB0 != 0) { + image_id = (image_id & 0x7FFFF) | dword_F64EB0; + } + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG21) { + sub_98197C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); + } else { + sub_98199C(image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation); + } + } + } + } + // 6E0556: Draw supports: + if (mapElement->properties.scenery.colour_1 & 0x20) { + if (!(entry->small_scenery.flags & SMALL_SCENERY_FLAG20)) { + sint32 ax = 0; + sint32 supportHeight = height; + if (supportHeight & 0xF) { + supportHeight &= 0xFFFFFFF0; + ax = 49; + } + uint32 supportImageColourFlags = 0x20000000; + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG26) { + supportImageColourFlags = ((mapElement->properties.scenery.colour_1 & 0x1F) << 19) | 0x20000000; + } + if (dword_F64EB0 != 0) { + supportImageColourFlags = dword_F64EB0; + } + if (direction & 1) { + wooden_b_supports_paint_setup(1, ax, supportHeight, supportImageColourFlags, NULL); + } else { + wooden_b_supports_paint_setup(0, ax, supportHeight, supportImageColourFlags, NULL); + } + } + } + // 6E05D1: + height += entry->small_scenery.height; + uint16 word_F64F2A = height; + height += 7; + height &= 0xFFF8; + paint_util_set_general_support_height(height, 0x20); + // 6E05FF: + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG23) { + height = word_F64F2A; + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE) { + // 6E0825: + paint_util_set_segment_support_height(SEGMENT_C4, height, 0x20); + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { + paint_util_set_segment_support_height(SEGMENTS_ALL & ~SEGMENT_C4, height, 0x20); + } + return; + } + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { + // 6E075C: + direction = (map_element_get_scenery_quadrant(mapElement) + rotation) % 4; + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), height, 0x20); + return; + } + return; + } + if (entry->small_scenery.flags & (SMALL_SCENERY_FLAG27 | SMALL_SCENERY_FLAG_FULL_TILE)) { + paint_util_set_segment_support_height(SEGMENT_C4, 0xFFFF, 0); + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { + paint_util_set_segment_support_height(SEGMENTS_ALL & ~SEGMENT_C4, 0xFFFF, 0); + } + return; + } + if (entry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { + direction = (map_element_get_scenery_quadrant(mapElement) + rotation) % 4; + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + return; + } } diff --git a/src/openrct2/paint/map_element/scenery_multiple.c b/src/openrct2/paint/map_element/scenery_multiple.c index 022359c4e7..6752283d71 100644 --- a/src/openrct2/paint/map_element/scenery_multiple.c +++ b/src/openrct2/paint/map_element/scenery_multiple.c @@ -28,155 +28,155 @@ // 6B8172: static void scenery_multiple_paint_supports(uint8 direction, uint16 height, rct_map_element *mapElement, uint32 dword_F4387C, rct_large_scenery_tile *tile) { - if (tile->var_7 & 0x20) { - return; - } + if (tile->var_7 & 0x20) { + return; + } - sint32 ax = 0; - sint32 supportHeight = height; + sint32 ax = 0; + sint32 supportHeight = height; - if (supportHeight & 0xF) { - supportHeight &= 0xFFFFFFF0; - ax = 49; - } + if (supportHeight & 0xF) { + supportHeight &= 0xFFFFFFF0; + ax = 49; + } - sint32 supportImageColourFlags = 0x20000000; + sint32 supportImageColourFlags = 0x20000000; - if (dword_F4387C) { - supportImageColourFlags = dword_F4387C; - } + if (dword_F4387C) { + supportImageColourFlags = dword_F4387C; + } - wooden_b_supports_paint_setup((direction & 1), ax, supportHeight, supportImageColourFlags, NULL); + wooden_b_supports_paint_setup((direction & 1), ax, supportHeight, supportImageColourFlags, NULL); - sint32 clearanceHeight = ceil2(mapElement->clearance_height * 8 + 15, 16); + sint32 clearanceHeight = ceil2(mapElement->clearance_height * 8 + 15, 16); - if (tile->var_7 & 0x40) { - paint_util_set_segment_support_height(SEGMENTS_ALL, clearanceHeight, 0x20); - } else { - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - } + if (tile->var_7 & 0x40) { + paint_util_set_segment_support_height(SEGMENTS_ALL, clearanceHeight, 0x20); + } else { + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + } - paint_util_set_general_support_height(clearanceHeight, 0x20); + paint_util_set_general_support_height(clearanceHeight, 0x20); } static rct_large_scenery_text_glyph *scenery_multiple_sign_get_glyph(rct_large_scenery_text *text, uint32 codepoint) { - if (codepoint >= countof(text->glyphs)) { - return &text->glyphs['?']; - } - return &text->glyphs[codepoint]; + if (codepoint >= countof(text->glyphs)) { + return &text->glyphs['?']; + } + return &text->glyphs[codepoint]; } static sint32 scenery_multiple_sign_text_width(const utf8 *str, rct_large_scenery_text *text) { - sint32 width = 0; - uint32 codepoint; - while ((codepoint = utf8_get_next(str, &str)) != 0) { - width += scenery_multiple_sign_get_glyph(text, codepoint)->width; - } - return width; + sint32 width = 0; + uint32 codepoint; + while ((codepoint = utf8_get_next(str, &str)) != 0) { + width += scenery_multiple_sign_get_glyph(text, codepoint)->width; + } + return width; } static sint32 scenery_multiple_sign_text_height(const utf8 *str, rct_large_scenery_text *text) { - sint32 height = 0; - uint32 codepoint; - while ((codepoint = utf8_get_next(str, &str)) != 0) { - height += scenery_multiple_sign_get_glyph(text, codepoint)->height; - } - return height; + sint32 height = 0; + uint32 codepoint; + while ((codepoint = utf8_get_next(str, &str)) != 0) { + height += scenery_multiple_sign_get_glyph(text, codepoint)->height; + } + return height; } static const utf8 *scenery_multiple_sign_fit_text(const utf8 *str, rct_large_scenery_text *text, bool height) { - static utf8 fitStr[32]; - utf8 *fitStrEnd = fitStr; - safe_strcpy(fitStr, str, sizeof(fitStr)); - sint32 w = 0; - uint32 codepoint; - while (w <= text->max_width && (codepoint = utf8_get_next(fitStrEnd, (const utf8**)&fitStrEnd)) != 0) { - if (height) { - w += scenery_multiple_sign_get_glyph(text, codepoint)->height; - } else { - w += scenery_multiple_sign_get_glyph(text, codepoint)->width; - } - } - *fitStrEnd = 0; - return fitStr; + static utf8 fitStr[32]; + utf8 *fitStrEnd = fitStr; + safe_strcpy(fitStr, str, sizeof(fitStr)); + sint32 w = 0; + uint32 codepoint; + while (w <= text->max_width && (codepoint = utf8_get_next(fitStrEnd, (const utf8**)&fitStrEnd)) != 0) { + if (height) { + w += scenery_multiple_sign_get_glyph(text, codepoint)->height; + } else { + w += scenery_multiple_sign_get_glyph(text, codepoint)->width; + } + } + *fitStrEnd = 0; + return fitStr; } static sint32 div_to_minus_infinity(sint32 a, sint32 b) { - return (a / b) - (a % b < 0); + return (a / b) - (a % b < 0); } static void scenery_multiple_sign_paint_line(const utf8 *str, rct_large_scenery_text *text, sint32 textImage, sint32 textColour, uint8 direction, sint32 y_offset) { - const utf8 *fitStr = scenery_multiple_sign_fit_text(str, text, false); - sint32 width = scenery_multiple_sign_text_width(fitStr, text); - sint32 x_offset = text->offset[(direction & 1)].x; - sint32 acc = y_offset * ((direction & 1) ? -1 : 1); - if (!(text->flags & LARGE_SCENERY_TEXT_FLAG_VERTICAL)) { - // sign is horizontal, center text: - x_offset -= (width / 2); - acc -= (width / 2); - } - uint32 codepoint; - while ((codepoint = utf8_get_next(fitStr, &fitStr)) != 0) { - sint32 glyph_offset = scenery_multiple_sign_get_glyph(text, codepoint)->image_offset; - uint8 glyph_type = direction & 1; - if (text->flags & LARGE_SCENERY_TEXT_FLAG_VERTICAL) { // vertical sign - glyph_offset *= 2; - } else { - glyph_offset *= 4; - // set slightly different glyph on horizontal sign, which was rendered 1/2 pixel lower to deal with aliasing: - if (direction & 1) { - if (!(acc & 1)) { - glyph_type += 2; - } - } else { - if ((acc & 1)) { - glyph_type += 2; - } - } - } - sint32 image_id = (textImage + glyph_offset + glyph_type) | textColour; - if (direction == 3) { - paint_attach_to_previous_ps(image_id, x_offset, -div_to_minus_infinity(acc, 2)); - } else { - if (text->flags & LARGE_SCENERY_TEXT_FLAG_VERTICAL) { - paint_attach_to_previous_ps(image_id, x_offset, div_to_minus_infinity(acc, 2)); - } else { - paint_attach_to_previous_attach(image_id, x_offset, div_to_minus_infinity(acc, 2)); - } - } - x_offset += scenery_multiple_sign_get_glyph(text, codepoint)->width; - acc += scenery_multiple_sign_get_glyph(text, codepoint)->width; - } + const utf8 *fitStr = scenery_multiple_sign_fit_text(str, text, false); + sint32 width = scenery_multiple_sign_text_width(fitStr, text); + sint32 x_offset = text->offset[(direction & 1)].x; + sint32 acc = y_offset * ((direction & 1) ? -1 : 1); + if (!(text->flags & LARGE_SCENERY_TEXT_FLAG_VERTICAL)) { + // sign is horizontal, center text: + x_offset -= (width / 2); + acc -= (width / 2); + } + uint32 codepoint; + while ((codepoint = utf8_get_next(fitStr, &fitStr)) != 0) { + sint32 glyph_offset = scenery_multiple_sign_get_glyph(text, codepoint)->image_offset; + uint8 glyph_type = direction & 1; + if (text->flags & LARGE_SCENERY_TEXT_FLAG_VERTICAL) { // vertical sign + glyph_offset *= 2; + } else { + glyph_offset *= 4; + // set slightly different glyph on horizontal sign, which was rendered 1/2 pixel lower to deal with aliasing: + if (direction & 1) { + if (!(acc & 1)) { + glyph_type += 2; + } + } else { + if ((acc & 1)) { + glyph_type += 2; + } + } + } + sint32 image_id = (textImage + glyph_offset + glyph_type) | textColour; + if (direction == 3) { + paint_attach_to_previous_ps(image_id, x_offset, -div_to_minus_infinity(acc, 2)); + } else { + if (text->flags & LARGE_SCENERY_TEXT_FLAG_VERTICAL) { + paint_attach_to_previous_ps(image_id, x_offset, div_to_minus_infinity(acc, 2)); + } else { + paint_attach_to_previous_attach(image_id, x_offset, div_to_minus_infinity(acc, 2)); + } + } + x_offset += scenery_multiple_sign_get_glyph(text, codepoint)->width; + acc += scenery_multiple_sign_get_glyph(text, codepoint)->width; + } } typedef struct boundbox { - rct_xy16 offset; - rct_xy16 length; + rct_xy16 offset; + rct_xy16 length; } boundbox; static const boundbox s98E3C4[] = { - { 3, 3, 26, 26 }, - { 17, 17, 12, 12 }, - { 17, 3, 12, 12 }, - { 17, 3, 12, 26 }, - { 3, 3, 12, 12 }, - { 3, 3, 26, 26 }, - { 3, 3, 28, 12 }, - { 3, 3, 26, 26 }, - { 3, 17, 12, 12 }, - { 3, 17, 26, 12 }, - { 3, 3, 26, 26 }, - { 3, 3, 26, 26 }, - { 3, 3, 12, 28 }, - { 3, 3, 26, 26 }, - { 3, 3, 26, 26 }, - { 3, 3, 26, 26 }, - { 1, 1, 30, 30 } + { 3, 3, 26, 26 }, + { 17, 17, 12, 12 }, + { 17, 3, 12, 12 }, + { 17, 3, 12, 26 }, + { 3, 3, 12, 12 }, + { 3, 3, 26, 26 }, + { 3, 3, 28, 12 }, + { 3, 3, 26, 26 }, + { 3, 17, 12, 12 }, + { 3, 17, 26, 12 }, + { 3, 3, 26, 26 }, + { 3, 3, 26, 26 }, + { 3, 3, 12, 28 }, + { 3, 3, 26, 26 }, + { 3, 3, 26, 26 }, + { 3, 3, 26, 26 }, + { 1, 1, 30, 30 } }; /* @@ -184,187 +184,187 @@ static const boundbox s98E3C4[] = { * rct2: 0x006B7F0C */ void scenery_multiple_paint(uint8 direction, uint16 height, rct_map_element *mapElement) { - //RCT2_CALLPROC_X(0x6B7F0C, 0, 0, direction, height, (sint32)mapElement, 0, 0); return; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY; - uint32 ebp = mapElement->properties.scenerymultiple.type >> 10; - rct_scenery_entry *entry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); - uint32 image_id = (ebp << 2) + entry->image + 4 + direction; - rct_large_scenery_tile *tile = &entry->large_scenery.tiles[ebp]; - uint32 dword_F4387C = 0; - image_id |= ((mapElement->properties.scenerymultiple.colour[0] & 0x1F) << 19) | ((mapElement->properties.scenerymultiple.colour[1] & 0x1F) << 24) | 0xA0000000; - rct_xyz16 boxlength; - rct_xyz16 boxoffset; - if (gTrackDesignSaveMode) { - if (!track_design_save_contains_map_element(mapElement)) { - ebp = 0x21700000; - image_id &= 0x7FFFF; - dword_F4387C = ebp; - image_id |= dword_F4387C; - } - } - if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - ebp = construction_markers[gConfigGeneral.construction_marker_colour]; - image_id &= 0x7FFFF; - dword_F4387C = ebp; - image_id |= dword_F4387C; - } - sint32 ah = tile->z_clearance; - if (ah > 0x80) { - ah = 0x80; - } - ah -= 3; - uint16 edi = tile->var_7; - sint32 esi = 16; - if (edi & 0xF00) { - edi &= 0xF000; - edi = rol16(edi, direction); - esi = (edi & 0xF) | (edi >> 12); - } - boxoffset.x = s98E3C4[esi].offset.x; - boxoffset.y = s98E3C4[esi].offset.y; - boxoffset.z = height; - boxlength.x = s98E3C4[esi].length.x; - boxlength.y = s98E3C4[esi].length.y; - boxlength.z = ah; - sub_98197C(image_id, 0, 0, boxlength.x, boxlength.y, ah, height, boxoffset.x, boxoffset.y, boxoffset.z, get_current_rotation()); - if (entry->large_scenery.var_11 == 0xFF || direction == 1 || direction == 2) { - scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); - return; - } - if (entry->large_scenery.flags & LARGE_SCENERY_FLAG_3D_TEXT) { - if (entry->large_scenery.tiles[1].x_offset != (sint16)(uint16)0xFFFF) { - sint32 al = ((mapElement->properties.surface.terrain >> 2) - 1) & 3; - if (al != direction) { - scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); - return; - } - } - rct_drawpixelinfo* dpi = unk_140E9A8; - if (dpi->zoom_level > 1) { - scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); - return; - } - // 6B8331: - // Draw sign text: - set_format_arg(0, uint32, 0); - set_format_arg(4, uint32, 0); - sint32 textColour = mapElement->properties.scenerymultiple.colour[1] & 0x1F; - if (dword_F4387C) { - textColour = COLOUR_GREY; - } - textColour = (textColour << 19) | 0x20000000; - uint32 bannerIndex = (mapElement->type & 0xC0) | ((mapElement->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | ((mapElement->properties.scenerymultiple.colour[1] & 0xE0) >> 5); - rct_banner *banner = &gBanners[bannerIndex]; - rct_string_id stringId = banner->string_idx; - if (banner->flags & BANNER_FLAG_LINKED_TO_RIDE) { - rct_ride * ride = get_ride(banner->colour); - stringId = ride->name; - set_format_arg(0, uint32, ride->name_arguments); - } - utf8 signString[MAX_PATH]; - format_string(signString, MAX_PATH, stringId, gCommonFormatArgs); - rct_large_scenery_text *text = entry->large_scenery.text; - sint32 y_offset = (text->offset[(direction & 1)].y * 2); - if (text->flags & LARGE_SCENERY_TEXT_FLAG_VERTICAL) { - // Draw vertical sign: - y_offset += 1; - utf8 fitStr[32]; - const utf8 *fitStrPtr = fitStr; - safe_strcpy(fitStr, scenery_multiple_sign_fit_text(signString, text, true), sizeof(fitStr)); - sint32 height2 = scenery_multiple_sign_text_height(fitStr, text); - uint32 codepoint; - while ((codepoint = utf8_get_next(fitStrPtr, &fitStrPtr)) != 0) { - utf8 str[5] = {0}; - utf8_write_codepoint(str, codepoint); - scenery_multiple_sign_paint_line(str, entry->large_scenery.text, entry->large_scenery.text_image, textColour, direction, y_offset - height2); - y_offset += scenery_multiple_sign_get_glyph(text, codepoint)->height * 2; - } - } else { - y_offset -= (direction & 1); - if (text->flags & LARGE_SCENERY_TEXT_FLAG_TWO_LINE) { - // Draw two-line sign: - sint32 width = scenery_multiple_sign_text_width(signString, text); - if (width > text->max_width) { - y_offset -= scenery_multiple_sign_get_glyph(text, 'A')->height + 1; - utf8 *src = signString; - for (sint32 i = 0; i < 2; i++) { - utf8 str1[64] = {0}; - utf8 *dst = str1; - utf8 *srcold = src; - utf8 *spacesrc = 0; - utf8 *spacedst = 0; - sint32 w = 0; - uint32 codepoint = utf8_get_next(src, (const utf8**)&src); - do { - w += scenery_multiple_sign_get_glyph(text, codepoint)->width; - if (codepoint == ' ') { - spacesrc = src; - spacedst = dst; - } - } while(w <= text->max_width && (dst = utf8_write_codepoint(dst, codepoint)) != NULL && (srcold = src) != NULL && (codepoint = utf8_get_next(src, (const utf8**)&src)) != '\0'); - src = srcold; - if (spacesrc && codepoint) { - *spacedst = 0; - src = spacesrc; - } - scenery_multiple_sign_paint_line(str1, entry->large_scenery.text, entry->large_scenery.text_image, textColour, direction, y_offset); - y_offset += (scenery_multiple_sign_get_glyph(text, 'A')->height + 1) * 2; - } - } else { - scenery_multiple_sign_paint_line(signString, entry->large_scenery.text, entry->large_scenery.text_image, textColour, direction, y_offset); - } - } else { - // Draw one-line sign: - scenery_multiple_sign_paint_line(signString, entry->large_scenery.text, entry->large_scenery.text_image, textColour, direction, y_offset); - } - } - return; - } - rct_drawpixelinfo* dpi = unk_140E9A8; - if (dpi->zoom_level > 0) { - scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); - return; - } - uint8 al = ((mapElement->properties.surface.terrain >> 2) - 1) & 3; - if (al != direction) { - scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); - return; - } - // Draw scrolling text: - set_format_arg(0, uint32, 0); - set_format_arg(4, uint32, 0); - uint8 textColour = mapElement->properties.banner.unused & 0x1F; - if (dword_F4387C) { - textColour = COLOUR_GREY; - } - if (direction == 3) { - textColour |= (1 << 7); - } - // 6B809A: - set_format_arg(7, uint8, textColour); - uint32 bannerIndex = (mapElement->type & 0xC0) | ((mapElement->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | ((mapElement->properties.scenerymultiple.colour[1] & 0xE0) >> 5); - uint16 scrollMode = entry->large_scenery.var_11 + ((direction + 1) & 0x3); - rct_banner *banner = &gBanners[bannerIndex]; - set_format_arg(0, rct_string_id, banner->string_idx); - if (banner->flags & BANNER_FLAG_LINKED_TO_RIDE) { - rct_ride * ride = get_ride(banner->colour); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); - } - utf8 signString[MAX_PATH]; - rct_string_id stringId = STR_SCROLLING_SIGN_TEXT; - if (gConfigGeneral.upper_case_banners) { - format_string_to_upper(signString, MAX_PATH, stringId, gCommonFormatArgs); - } else { - format_string(signString, MAX_PATH, stringId, gCommonFormatArgs); - } + //RCT2_CALLPROC_X(0x6B7F0C, 0, 0, direction, height, (sint32)mapElement, 0, 0); return; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY; + uint32 ebp = mapElement->properties.scenerymultiple.type >> 10; + rct_scenery_entry *entry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); + uint32 image_id = (ebp << 2) + entry->image + 4 + direction; + rct_large_scenery_tile *tile = &entry->large_scenery.tiles[ebp]; + uint32 dword_F4387C = 0; + image_id |= ((mapElement->properties.scenerymultiple.colour[0] & 0x1F) << 19) | ((mapElement->properties.scenerymultiple.colour[1] & 0x1F) << 24) | 0xA0000000; + rct_xyz16 boxlength; + rct_xyz16 boxoffset; + if (gTrackDesignSaveMode) { + if (!track_design_save_contains_map_element(mapElement)) { + ebp = 0x21700000; + image_id &= 0x7FFFF; + dword_F4387C = ebp; + image_id |= dword_F4387C; + } + } + if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + ebp = construction_markers[gConfigGeneral.construction_marker_colour]; + image_id &= 0x7FFFF; + dword_F4387C = ebp; + image_id |= dword_F4387C; + } + sint32 ah = tile->z_clearance; + if (ah > 0x80) { + ah = 0x80; + } + ah -= 3; + uint16 edi = tile->var_7; + sint32 esi = 16; + if (edi & 0xF00) { + edi &= 0xF000; + edi = rol16(edi, direction); + esi = (edi & 0xF) | (edi >> 12); + } + boxoffset.x = s98E3C4[esi].offset.x; + boxoffset.y = s98E3C4[esi].offset.y; + boxoffset.z = height; + boxlength.x = s98E3C4[esi].length.x; + boxlength.y = s98E3C4[esi].length.y; + boxlength.z = ah; + sub_98197C(image_id, 0, 0, boxlength.x, boxlength.y, ah, height, boxoffset.x, boxoffset.y, boxoffset.z, get_current_rotation()); + if (entry->large_scenery.var_11 == 0xFF || direction == 1 || direction == 2) { + scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); + return; + } + if (entry->large_scenery.flags & LARGE_SCENERY_FLAG_3D_TEXT) { + if (entry->large_scenery.tiles[1].x_offset != (sint16)(uint16)0xFFFF) { + sint32 al = ((mapElement->properties.surface.terrain >> 2) - 1) & 3; + if (al != direction) { + scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); + return; + } + } + rct_drawpixelinfo* dpi = unk_140E9A8; + if (dpi->zoom_level > 1) { + scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); + return; + } + // 6B8331: + // Draw sign text: + set_format_arg(0, uint32, 0); + set_format_arg(4, uint32, 0); + sint32 textColour = mapElement->properties.scenerymultiple.colour[1] & 0x1F; + if (dword_F4387C) { + textColour = COLOUR_GREY; + } + textColour = (textColour << 19) | 0x20000000; + uint32 bannerIndex = (mapElement->type & 0xC0) | ((mapElement->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | ((mapElement->properties.scenerymultiple.colour[1] & 0xE0) >> 5); + rct_banner *banner = &gBanners[bannerIndex]; + rct_string_id stringId = banner->string_idx; + if (banner->flags & BANNER_FLAG_LINKED_TO_RIDE) { + rct_ride * ride = get_ride(banner->colour); + stringId = ride->name; + set_format_arg(0, uint32, ride->name_arguments); + } + utf8 signString[MAX_PATH]; + format_string(signString, MAX_PATH, stringId, gCommonFormatArgs); + rct_large_scenery_text *text = entry->large_scenery.text; + sint32 y_offset = (text->offset[(direction & 1)].y * 2); + if (text->flags & LARGE_SCENERY_TEXT_FLAG_VERTICAL) { + // Draw vertical sign: + y_offset += 1; + utf8 fitStr[32]; + const utf8 *fitStrPtr = fitStr; + safe_strcpy(fitStr, scenery_multiple_sign_fit_text(signString, text, true), sizeof(fitStr)); + sint32 height2 = scenery_multiple_sign_text_height(fitStr, text); + uint32 codepoint; + while ((codepoint = utf8_get_next(fitStrPtr, &fitStrPtr)) != 0) { + utf8 str[5] = {0}; + utf8_write_codepoint(str, codepoint); + scenery_multiple_sign_paint_line(str, entry->large_scenery.text, entry->large_scenery.text_image, textColour, direction, y_offset - height2); + y_offset += scenery_multiple_sign_get_glyph(text, codepoint)->height * 2; + } + } else { + y_offset -= (direction & 1); + if (text->flags & LARGE_SCENERY_TEXT_FLAG_TWO_LINE) { + // Draw two-line sign: + sint32 width = scenery_multiple_sign_text_width(signString, text); + if (width > text->max_width) { + y_offset -= scenery_multiple_sign_get_glyph(text, 'A')->height + 1; + utf8 *src = signString; + for (sint32 i = 0; i < 2; i++) { + utf8 str1[64] = {0}; + utf8 *dst = str1; + utf8 *srcold = src; + utf8 *spacesrc = 0; + utf8 *spacedst = 0; + sint32 w = 0; + uint32 codepoint = utf8_get_next(src, (const utf8**)&src); + do { + w += scenery_multiple_sign_get_glyph(text, codepoint)->width; + if (codepoint == ' ') { + spacesrc = src; + spacedst = dst; + } + } while(w <= text->max_width && (dst = utf8_write_codepoint(dst, codepoint)) != NULL && (srcold = src) != NULL && (codepoint = utf8_get_next(src, (const utf8**)&src)) != '\0'); + src = srcold; + if (spacesrc && codepoint) { + *spacedst = 0; + src = spacesrc; + } + scenery_multiple_sign_paint_line(str1, entry->large_scenery.text, entry->large_scenery.text_image, textColour, direction, y_offset); + y_offset += (scenery_multiple_sign_get_glyph(text, 'A')->height + 1) * 2; + } + } else { + scenery_multiple_sign_paint_line(signString, entry->large_scenery.text, entry->large_scenery.text_image, textColour, direction, y_offset); + } + } else { + // Draw one-line sign: + scenery_multiple_sign_paint_line(signString, entry->large_scenery.text, entry->large_scenery.text_image, textColour, direction, y_offset); + } + } + return; + } + rct_drawpixelinfo* dpi = unk_140E9A8; + if (dpi->zoom_level > 0) { + scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); + return; + } + uint8 al = ((mapElement->properties.surface.terrain >> 2) - 1) & 3; + if (al != direction) { + scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); + return; + } + // Draw scrolling text: + set_format_arg(0, uint32, 0); + set_format_arg(4, uint32, 0); + uint8 textColour = mapElement->properties.banner.unused & 0x1F; + if (dword_F4387C) { + textColour = COLOUR_GREY; + } + if (direction == 3) { + textColour |= (1 << 7); + } + // 6B809A: + set_format_arg(7, uint8, textColour); + uint32 bannerIndex = (mapElement->type & 0xC0) | ((mapElement->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | ((mapElement->properties.scenerymultiple.colour[1] & 0xE0) >> 5); + uint16 scrollMode = entry->large_scenery.var_11 + ((direction + 1) & 0x3); + rct_banner *banner = &gBanners[bannerIndex]; + set_format_arg(0, rct_string_id, banner->string_idx); + if (banner->flags & BANNER_FLAG_LINKED_TO_RIDE) { + rct_ride * ride = get_ride(banner->colour); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); + } + utf8 signString[MAX_PATH]; + rct_string_id stringId = STR_SCROLLING_SIGN_TEXT; + if (gConfigGeneral.upper_case_banners) { + format_string_to_upper(signString, MAX_PATH, stringId, gCommonFormatArgs); + } else { + format_string(signString, MAX_PATH, stringId, gCommonFormatArgs); + } - gCurrentFontSpriteBase = FONT_SPRITE_BASE_TINY; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_TINY; - uint16 string_width = gfx_get_string_width(signString); - uint16 scroll = (gCurrentTicks / 2) % string_width; - sub_98199C(scrolling_text_setup(stringId, scroll, scrollMode), 0, 0, 1, 1, 21, height + 25, boxoffset.x, boxoffset.y, boxoffset.z, get_current_rotation()); + uint16 string_width = gfx_get_string_width(signString); + uint16 scroll = (gCurrentTicks / 2) % string_width; + sub_98199C(scrolling_text_setup(stringId, scroll, scrollMode), 0, 0, 1, 1, 21, height + 25, boxoffset.x, boxoffset.y, boxoffset.z, get_current_rotation()); - scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); + scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); } diff --git a/src/openrct2/paint/map_element/surface.c b/src/openrct2/paint/map_element/surface.c index 2926cee9d3..10ad04b44c 100644 --- a/src/openrct2/paint/map_element/surface.c +++ b/src/openrct2/paint/map_element/surface.c @@ -24,56 +24,56 @@ #include "surface.h" const uint8 byte_97B444[] = { - 0, 2, 1, 3, 8, 10, 9, 11, 4, 6, - 5, 7, 12, 14, 13, 15, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 16, 0, 18, - 15, 0 + 0, 2, 1, 3, 8, 10, 9, 11, 4, 6, + 5, 7, 12, 14, 13, 15, 0, 0, 0, 0, + 0, 0, 0, 17, 0, 0, 0, 16, 0, 18, + 15, 0 }; // rct2: 0x97B464, 0x97B474, 0x97B484, 0x97B494 const rct_xy16 viewport_surface_paint_data[][4] = { - { - {32, 0}, - {-32, 32}, - {-64, -32}, - {0, -64} - }, - { - {0, 32}, - {-64, 0}, - {-32, -64}, - {32, -32} - }, - { - {0, -32}, - {0, 0}, - {-32, 0}, - {-32, -32} - }, - { - {-32, 0}, - {-32, -32}, - {0, -32}, - {0, 0} - } + { + {32, 0}, + {-32, 32}, + {-64, -32}, + {0, -64} + }, + { + {0, 32}, + {-64, 0}, + {-32, -64}, + {32, -32} + }, + { + {0, -32}, + {0, 0}, + {-32, 0}, + {-32, -32} + }, + { + {-32, 0}, + {-32, -32}, + {0, -32}, + {0, 0} + } }; enum { - CORNER_TOP, - CORNER_RIGHT, - CORNER_BOTTOM, - CORNER_LEFT + CORNER_TOP, + CORNER_RIGHT, + CORNER_BOTTOM, + CORNER_LEFT }; typedef struct corner_height corner_height; struct corner_height { - uint8 top; - uint8 right; - uint8 bottom; - uint8 left; + uint8 top; + uint8 right; + uint8 bottom; + uint8 left; }; /** @@ -81,273 +81,273 @@ struct corner_height */ const corner_height corner_heights[] = { // T R B L - {0, 0, 0, 0}, - {0, 0, 1, 0}, - {0, 0, 0, 1}, - {0, 0, 1, 1}, - {1, 0, 0, 0}, - {1, 0, 1, 0}, - {1, 0, 0, 1}, - {1, 0, 1, 1}, - {0, 1, 0, 0}, - {0, 1, 1, 0}, - {0, 1, 0, 1}, - {0, 1, 1, 1}, - {1, 1, 0, 0}, - {1, 1, 1, 0}, - {1, 1, 0, 1}, - {1, 1, 1, 1}, - {0, 0, 0, 0}, - {0, 0, 1, 0}, - {0, 0, 0, 1}, - {0, 0, 1, 1}, - {1, 0, 0, 0}, - {1, 0, 1, 0}, - {1, 0, 0, 1}, - {1, 0, 1, 2}, - {0, 1, 0, 0}, - {0, 1, 1, 0}, - {0, 1, 0, 1}, - {0, 1, 2, 1}, - {1, 1, 0, 0}, - {1, 2, 1, 0}, - {2, 1, 0, 1}, - {1, 1, 1, 1}, + {0, 0, 0, 0}, + {0, 0, 1, 0}, + {0, 0, 0, 1}, + {0, 0, 1, 1}, + {1, 0, 0, 0}, + {1, 0, 1, 0}, + {1, 0, 0, 1}, + {1, 0, 1, 1}, + {0, 1, 0, 0}, + {0, 1, 1, 0}, + {0, 1, 0, 1}, + {0, 1, 1, 1}, + {1, 1, 0, 0}, + {1, 1, 1, 0}, + {1, 1, 0, 1}, + {1, 1, 1, 1}, + {0, 0, 0, 0}, + {0, 0, 1, 0}, + {0, 0, 0, 1}, + {0, 0, 1, 1}, + {1, 0, 0, 0}, + {1, 0, 1, 0}, + {1, 0, 0, 1}, + {1, 0, 1, 2}, + {0, 1, 0, 0}, + {0, 1, 1, 0}, + {0, 1, 0, 1}, + {0, 1, 2, 1}, + {1, 1, 0, 0}, + {1, 2, 1, 0}, + {2, 1, 0, 1}, + {1, 1, 1, 1}, }; // bottom left tint const uint8 byte_97B524[] = { - 2, 5, 1, 4, 2, 5, 1, 2, 2, 4, - 1, 2, 1, 3, 0, 3, 1, 5, 0 + 2, 5, 1, 4, 2, 5, 1, 2, 2, 4, + 1, 2, 1, 3, 0, 3, 1, 5, 0 }; // top left tint const uint32 byte_97B537[] = { - 2, 5, 2, 4, 2, 5, 1, 1, 3, 4, - 3, 2, 1, 2, 0, 3, 1, 5, 0 + 2, 5, 2, 4, 2, 5, 1, 1, 3, 4, + 3, 2, 1, 2, 0, 3, 1, 5, 0 }; // top right tint const uint8 byte_97B54A[] = { - 2, 2, 2, 4, 0, 0, 1, 1, 3, 4, - 3, 5, 1, 2, 2, 3, 1, 5, 0 + 2, 2, 2, 4, 0, 0, 1, 1, 3, 4, + 3, 5, 1, 2, 2, 3, 1, 5, 0 }; // bottom right tint const uint8 byte_97B55D[] = { - 2, 2, 1, 4, 0, 0, 1, 2, 2, 4, - 1, 5, 1, 3, 2, 3, 1, 5, 0 + 2, 2, 1, 4, 0, 0, 1, 2, 2, 4, + 1, 5, 1, 3, 2, 3, 1, 5, 0 }; const uint8 stru_97B570[][2] = { - {2, 2}, - {3, 3}, - {3, 5}, - {3, 3}, - {4, 4}, - {4, 6}, - {2, 2}, - {3, 3}, - {3, 5}, - {3, 3}, - {2, 3}, - {2, 3}, - {2, 3}, - {3, 4}, - {2, 3}, - {3, 4} + {2, 2}, + {3, 3}, + {3, 5}, + {3, 3}, + {4, 4}, + {4, 6}, + {2, 2}, + {3, 3}, + {3, 5}, + {3, 3}, + {2, 3}, + {2, 3}, + {2, 3}, + {3, 4}, + {2, 3}, + {3, 4} }; const sint16 word_97B590[] = { - 0, - 0, - -32, - 0, - 0, - -48, - 0, - 0, - -32, - 0, - -16, - -16, - -16, - -16, - -16, - -16, + 0, + 0, + -32, + 0, + 0, + -48, + 0, + 0, + -32, + 0, + -16, + -16, + -16, + -16, + -16, + -16, }; // tunnel offset const uint8 byte_97B5B0[] = { - 0, 0, 0, 3, 3, 3, 6, 6, 6, 6, - 10, 11, 12, 13, 14, 14 + 0, 0, 0, 3, 3, 3, 6, 6, 6, 6, + 10, 11, 12, 13, 14, 14 }; #define DEFINE_EDGE_SPRITES(base) { \ - (base) + 0, \ - (base) + 20, \ - (base) + 10, \ - (base) + 30, \ + (base) + 0, \ + (base) + 20, \ + (base) + 10, \ + (base) + 30, \ } #define DEFINE_EDGE_TUNNEL_SPRITES(base) { \ - (base) + 36, \ - (base) + 40, \ - (base) + 44, \ - (base) + 48, \ - (base) + 52, \ - (base) + 56, \ - (base) + 60, \ - (base) + 64, \ - (base) + 68, \ - (base) + 72, \ - (base) + 76, \ - (base) + 80, \ - (base) + 36, \ - (base) + 48, \ - (base) + 60, \ - (base) + 72, \ + (base) + 36, \ + (base) + 40, \ + (base) + 44, \ + (base) + 48, \ + (base) + 52, \ + (base) + 56, \ + (base) + 60, \ + (base) + 64, \ + (base) + 68, \ + (base) + 72, \ + (base) + 76, \ + (base) + 80, \ + (base) + 36, \ + (base) + 48, \ + (base) + 60, \ + (base) + 72, \ } static const uint32 _terrainEdgeSpriteIds[][4] = { - DEFINE_EDGE_SPRITES(SPR_EDGE_ROCK_BASE), - DEFINE_EDGE_SPRITES(SPR_EDGE_WOOD_RED_BASE), - DEFINE_EDGE_SPRITES(SPR_EDGE_WOOD_BLACK_BASE), - DEFINE_EDGE_SPRITES(SPR_EDGE_ICE_BASE), + DEFINE_EDGE_SPRITES(SPR_EDGE_ROCK_BASE), + DEFINE_EDGE_SPRITES(SPR_EDGE_WOOD_RED_BASE), + DEFINE_EDGE_SPRITES(SPR_EDGE_WOOD_BLACK_BASE), + DEFINE_EDGE_SPRITES(SPR_EDGE_ICE_BASE), }; static const uint32 _terrainEdgeTunnelSpriteIds[][16] = { - DEFINE_EDGE_TUNNEL_SPRITES(SPR_EDGE_ROCK_BASE), - DEFINE_EDGE_TUNNEL_SPRITES(SPR_EDGE_WOOD_RED_BASE), - DEFINE_EDGE_TUNNEL_SPRITES(SPR_EDGE_WOOD_BLACK_BASE), - DEFINE_EDGE_TUNNEL_SPRITES(SPR_EDGE_ICE_BASE), + DEFINE_EDGE_TUNNEL_SPRITES(SPR_EDGE_ROCK_BASE), + DEFINE_EDGE_TUNNEL_SPRITES(SPR_EDGE_WOOD_RED_BASE), + DEFINE_EDGE_TUNNEL_SPRITES(SPR_EDGE_WOOD_BLACK_BASE), + DEFINE_EDGE_TUNNEL_SPRITES(SPR_EDGE_ICE_BASE), }; const uint8 byte_97B740[] = { - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, - 0, 3, 0, 1, 4, 0 + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 0, 3, 0, 1, 4, 0 }; const uint32 dword_97B750[][2] = { - {SPR_TERRAIN_GRASS, SPR_TERRAIN_GRASS_GRID}, - {SPR_TERRAIN_SAND_YELLOW, SPR_TERRAIN_SAND_YELLOW_GRID}, - {SPR_TERRAIN_DIRT, SPR_TERRAIN_DIRT_GRID}, - {SPR_TERRAIN_ROCK, SPR_TERRAIN_ROCK_GRID}, - {SPR_TERRAIN_MARTIAN, SPR_TERRAIN_MARTIAN_GRID}, - {SPR_TERRAIN_CHECKERBOARD, SPR_TERRAIN_CHECKERBOARD_GRID}, - {SPR_TERRAIN_GRASS_CLUMPS, SPR_TERRAIN_GRASS_CLUMPS_GRID}, - {SPR_TERRAIN_ICE, SPR_TERRAIN_ICE_GRID}, - {SPR_TERRAIN_GRID | COLOUR_BRIGHT_RED << 19 | 0x20000000, SPR_TERRAIN_GRID_GRID | COLOUR_BRIGHT_RED << 19 | 0x20000000}, - {SPR_TERRAIN_GRID | COLOUR_YELLOW << 19 | 0x20000000, SPR_TERRAIN_GRID_GRID | COLOUR_YELLOW << 19 | 0x20000000}, - {SPR_TERRAIN_GRID | COLOUR_BRIGHT_PURPLE << 19 | 0x20000000, SPR_TERRAIN_GRID_GRID | COLOUR_BRIGHT_PURPLE << 19 | 0x20000000}, - {SPR_TERRAIN_GRID | COLOUR_BRIGHT_GREEN << 19 | 0x20000000, SPR_TERRAIN_GRID_GRID | COLOUR_BRIGHT_GREEN << 19 | 0x20000000}, - {SPR_TERRAIN_SAND_RED, SPR_TERRAIN_SAND_RED_GRID}, - {SPR_TERRAIN_SAND, SPR_TERRAIN_SAND_GRID}, - {SPR_TERRAIN_CHECKERBOARD_INVERTED, SPR_TERRAIN_CHECKERBOARD_INVERTED_GRID}, + {SPR_TERRAIN_GRASS, SPR_TERRAIN_GRASS_GRID}, + {SPR_TERRAIN_SAND_YELLOW, SPR_TERRAIN_SAND_YELLOW_GRID}, + {SPR_TERRAIN_DIRT, SPR_TERRAIN_DIRT_GRID}, + {SPR_TERRAIN_ROCK, SPR_TERRAIN_ROCK_GRID}, + {SPR_TERRAIN_MARTIAN, SPR_TERRAIN_MARTIAN_GRID}, + {SPR_TERRAIN_CHECKERBOARD, SPR_TERRAIN_CHECKERBOARD_GRID}, + {SPR_TERRAIN_GRASS_CLUMPS, SPR_TERRAIN_GRASS_CLUMPS_GRID}, + {SPR_TERRAIN_ICE, SPR_TERRAIN_ICE_GRID}, + {SPR_TERRAIN_GRID | COLOUR_BRIGHT_RED << 19 | 0x20000000, SPR_TERRAIN_GRID_GRID | COLOUR_BRIGHT_RED << 19 | 0x20000000}, + {SPR_TERRAIN_GRID | COLOUR_YELLOW << 19 | 0x20000000, SPR_TERRAIN_GRID_GRID | COLOUR_YELLOW << 19 | 0x20000000}, + {SPR_TERRAIN_GRID | COLOUR_BRIGHT_PURPLE << 19 | 0x20000000, SPR_TERRAIN_GRID_GRID | COLOUR_BRIGHT_PURPLE << 19 | 0x20000000}, + {SPR_TERRAIN_GRID | COLOUR_BRIGHT_GREEN << 19 | 0x20000000, SPR_TERRAIN_GRID_GRID | COLOUR_BRIGHT_GREEN << 19 | 0x20000000}, + {SPR_TERRAIN_SAND_RED, SPR_TERRAIN_SAND_RED_GRID}, + {SPR_TERRAIN_SAND, SPR_TERRAIN_SAND_GRID}, + {SPR_TERRAIN_CHECKERBOARD_INVERTED, SPR_TERRAIN_CHECKERBOARD_INVERTED_GRID}, }; const uint32 dword_97B7C8[] = { - SPR_TERRAIN_GRASS_UNDERGROUND, - SPR_TERRAIN_SAND_YELLOW_UNDERGROUND, - SPR_TERRAIN_DIRT_UNDERGROUND, - SPR_TERRAIN_ROCK_UNDERGROUND, - SPR_TERRAIN_MARTIAN_UNDERGROUND, - SPR_TERRAIN_CHECKERBOARD_UNDERGROUND, - SPR_TERRAIN_GRASS_CLUMPS_UNDERGROUND, - SPR_TERRAIN_ICE_UNDERGROUND, - SPR_TERRAIN_GRID_UNDERGROUND | COLOUR_BRIGHT_RED << 19 | 0x20000000, - SPR_TERRAIN_GRID_UNDERGROUND | COLOUR_YELLOW << 19 | 0x20000000, - SPR_TERRAIN_GRID_UNDERGROUND | COLOUR_BRIGHT_PURPLE << 19 | 0x20000000, - SPR_TERRAIN_GRID_UNDERGROUND | COLOUR_BRIGHT_GREEN << 19 | 0x20000000, - SPR_TERRAIN_SAND_RED_UNDERGROUND, - SPR_TERRAIN_SAND_UNDERGROUND, - SPR_TERRAIN_CHECKERBOARD_INVERTED_UNDERGROUND, + SPR_TERRAIN_GRASS_UNDERGROUND, + SPR_TERRAIN_SAND_YELLOW_UNDERGROUND, + SPR_TERRAIN_DIRT_UNDERGROUND, + SPR_TERRAIN_ROCK_UNDERGROUND, + SPR_TERRAIN_MARTIAN_UNDERGROUND, + SPR_TERRAIN_CHECKERBOARD_UNDERGROUND, + SPR_TERRAIN_GRASS_CLUMPS_UNDERGROUND, + SPR_TERRAIN_ICE_UNDERGROUND, + SPR_TERRAIN_GRID_UNDERGROUND | COLOUR_BRIGHT_RED << 19 | 0x20000000, + SPR_TERRAIN_GRID_UNDERGROUND | COLOUR_YELLOW << 19 | 0x20000000, + SPR_TERRAIN_GRID_UNDERGROUND | COLOUR_BRIGHT_PURPLE << 19 | 0x20000000, + SPR_TERRAIN_GRID_UNDERGROUND | COLOUR_BRIGHT_GREEN << 19 | 0x20000000, + SPR_TERRAIN_SAND_RED_UNDERGROUND, + SPR_TERRAIN_SAND_UNDERGROUND, + SPR_TERRAIN_CHECKERBOARD_INVERTED_UNDERGROUND, }; const uint32 dword_97B804[] = { - SPR_TERRAIN_PATTERN_GRASS, - SPR_TERRAIN_PATTERN_SAND_YELLOW, - SPR_TERRAIN_PATTERN_DIRT, - SPR_TERRAIN_PATTERN_ROCK, - SPR_TERRAIN_PATTERN_MARTIAN, - SPR_TERRAIN_PATTERN_GRASS, - SPR_TERRAIN_PATTERN_GRASS_CLUMPS, - SPR_TERRAIN_PATTERN_ICE, - SPR_TERRAIN_PATTERN_GRASS, - SPR_TERRAIN_PATTERN_GRASS, - SPR_TERRAIN_PATTERN_GRASS, - SPR_TERRAIN_PATTERN_GRASS, - SPR_TERRAIN_PATTERN_SAND_RED, - SPR_TERRAIN_PATTERN_SAND + SPR_TERRAIN_PATTERN_GRASS, + SPR_TERRAIN_PATTERN_SAND_YELLOW, + SPR_TERRAIN_PATTERN_DIRT, + SPR_TERRAIN_PATTERN_ROCK, + SPR_TERRAIN_PATTERN_MARTIAN, + SPR_TERRAIN_PATTERN_GRASS, + SPR_TERRAIN_PATTERN_GRASS_CLUMPS, + SPR_TERRAIN_PATTERN_ICE, + SPR_TERRAIN_PATTERN_GRASS, + SPR_TERRAIN_PATTERN_GRASS, + SPR_TERRAIN_PATTERN_GRASS, + SPR_TERRAIN_PATTERN_GRASS, + SPR_TERRAIN_PATTERN_SAND_RED, + SPR_TERRAIN_PATTERN_SAND }; enum { - FLAG_DONT_SMOOTHEN = (1 << 0), - FLAG_DONT_SMOOTHEN_SELF = (1 << 1), + FLAG_DONT_SMOOTHEN = (1 << 0), + FLAG_DONT_SMOOTHEN_SELF = (1 << 1), }; const uint8 byte_97B83C[] = { - 0, // GRASS - 0, // SAND (YELLOW) - 0, // DIRT - FLAG_DONT_SMOOTHEN_SELF, // ROCK - FLAG_DONT_SMOOTHEN_SELF, // MARTIAN - FLAG_DONT_SMOOTHEN_SELF | FLAG_DONT_SMOOTHEN, // GRASS - 0, // GRASS_CLUMPS - 0, // ICE - FLAG_DONT_SMOOTHEN_SELF | FLAG_DONT_SMOOTHEN, // GRASS - FLAG_DONT_SMOOTHEN_SELF | FLAG_DONT_SMOOTHEN, // GRASS - FLAG_DONT_SMOOTHEN_SELF | FLAG_DONT_SMOOTHEN, // GRASS - FLAG_DONT_SMOOTHEN_SELF | FLAG_DONT_SMOOTHEN, // GRASS - 0, // SAND_RED - 0 // SAND + 0, // GRASS + 0, // SAND (YELLOW) + 0, // DIRT + FLAG_DONT_SMOOTHEN_SELF, // ROCK + FLAG_DONT_SMOOTHEN_SELF, // MARTIAN + FLAG_DONT_SMOOTHEN_SELF | FLAG_DONT_SMOOTHEN, // GRASS + 0, // GRASS_CLUMPS + 0, // ICE + FLAG_DONT_SMOOTHEN_SELF | FLAG_DONT_SMOOTHEN, // GRASS + FLAG_DONT_SMOOTHEN_SELF | FLAG_DONT_SMOOTHEN, // GRASS + FLAG_DONT_SMOOTHEN_SELF | FLAG_DONT_SMOOTHEN, // GRASS + FLAG_DONT_SMOOTHEN_SELF | FLAG_DONT_SMOOTHEN, // GRASS + 0, // SAND_RED + 0 // SAND }; const uint8 byte_97B84A[] = { - 0, 1, 2, 3, 4, 14, 6, 7, 8, 9, - 10, 11, 12, 13 + 0, 1, 2, 3, 4, 14, 6, 7, 8, 9, + 10, 11, 12, 13 }; const uint32 dword_97B858[][2] = { - {SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_1, SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_1_GRID}, - {SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_2, SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_2_GRID}, - {SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_3, SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_3_GRID}, - {SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_4, SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_4_GRID}, + {SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_1, SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_1_GRID}, + {SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_2, SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_2_GRID}, + {SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_3, SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_3_GRID}, + {SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_4, SPR_TERRAIN_GRASS_LENGTH_4_VARIANT_4_GRID}, }; const uint32 dword_97B878[][2] = { - {SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_1, SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_1_GRID}, - {SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_2, SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_2_GRID}, - {SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_3, SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_3_GRID}, - {SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_4, SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_4_GRID}, + {SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_1, SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_1_GRID}, + {SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_2, SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_2_GRID}, + {SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_3, SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_3_GRID}, + {SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_4, SPR_TERRAIN_GRASS_LENGTH_6_VARIANT_4_GRID}, }; const uint32 dword_97B898[][2] = { - {SPR_TERRAIN_GRASS_MOWED_90, SPR_TERRAIN_GRASS_MOWED_90_GRID}, - {SPR_TERRAIN_GRASS_MOWED, SPR_TERRAIN_GRASS_MOWED_GRID}, - {SPR_TERRAIN_GRASS_MOWED_90, SPR_TERRAIN_GRASS_MOWED_90_GRID}, - {SPR_TERRAIN_GRASS_MOWED, SPR_TERRAIN_GRASS_MOWED_GRID} + {SPR_TERRAIN_GRASS_MOWED_90, SPR_TERRAIN_GRASS_MOWED_90_GRID}, + {SPR_TERRAIN_GRASS_MOWED, SPR_TERRAIN_GRASS_MOWED_GRID}, + {SPR_TERRAIN_GRASS_MOWED_90, SPR_TERRAIN_GRASS_MOWED_90_GRID}, + {SPR_TERRAIN_GRASS_MOWED, SPR_TERRAIN_GRASS_MOWED_GRID} }; typedef struct tile_descriptor tile_descriptor; struct tile_descriptor { - rct_map_element * map_element; - uint8 terrain; - uint8 slope; - corner_height corner_heights; + rct_map_element * map_element; + uint8 terrain; + uint8 slope; + corner_height corner_heights; }; static uint8 viewport_surface_paint_setup_get_relative_slope(rct_map_element * mapElement, sint32 rotation) { - uint8 slope = mapElement->properties.surface.slope; + uint8 slope = mapElement->properties.surface.slope; - uint16 di = (slope & 0x0F) << rotation; - uint8 ebx = slope & 0x10; + uint16 di = (slope & 0x0F) << rotation; + uint8 ebx = slope & 0x10; - di = ((di >> 4) | di) & 0x0F; - return ebx | di; + di = ((di >> 4) | di) & 0x0F; + return ebx | di; } /** @@ -356,101 +356,101 @@ static uint8 viewport_surface_paint_setup_get_relative_slope(rct_map_element * m static void viewport_surface_smoothen_edge(enum edge_t edge, struct tile_descriptor self, struct tile_descriptor neighbour) { - if (neighbour.map_element == NULL) { - return; - } + if (neighbour.map_element == NULL) { + return; + } - uint32 maskImageBase = 0; - uint8 neighbourCorners[2] = { 0 }; - uint8 ownCorners[2] = { 0 }; + uint32 maskImageBase = 0; + uint8 neighbourCorners[2] = { 0 }; + uint8 ownCorners[2] = { 0 }; - switch (edge) { - case EDGE_BOTTOMLEFT: - maskImageBase = SPR_TERRAIN_EDGE_MASK_BOTTOM_LEFT; - neighbourCorners[0] = neighbour.corner_heights.top; - neighbourCorners[1] = neighbour.corner_heights.right; - ownCorners[0] = self.corner_heights.left; - ownCorners[1] = self.corner_heights.bottom; - break; - case EDGE_BOTTOMRIGHT: - maskImageBase = SPR_TERRAIN_EDGE_MASK_BOTTOM_RIGHT; - neighbourCorners[0] = neighbour.corner_heights.top; - neighbourCorners[1] = neighbour.corner_heights.left; - ownCorners[0] = self.corner_heights.right; - ownCorners[1] = self.corner_heights.bottom; - break; - case EDGE_TOPLEFT: - maskImageBase = SPR_TERRAIN_EDGE_MASK_TOP_LEFT; - neighbourCorners[0] = neighbour.corner_heights.right; - neighbourCorners[1] = neighbour.corner_heights.bottom; - ownCorners[0] = self.corner_heights.top; - ownCorners[1] = self.corner_heights.left; - break; - case EDGE_TOPRIGHT: - maskImageBase = SPR_TERRAIN_EDGE_MASK_TOP_RIGHT; - neighbourCorners[0] = neighbour.corner_heights.left; - neighbourCorners[1] = neighbour.corner_heights.bottom; - ownCorners[0] = self.corner_heights.top; - ownCorners[1] = self.corner_heights.right; - break; - } + switch (edge) { + case EDGE_BOTTOMLEFT: + maskImageBase = SPR_TERRAIN_EDGE_MASK_BOTTOM_LEFT; + neighbourCorners[0] = neighbour.corner_heights.top; + neighbourCorners[1] = neighbour.corner_heights.right; + ownCorners[0] = self.corner_heights.left; + ownCorners[1] = self.corner_heights.bottom; + break; + case EDGE_BOTTOMRIGHT: + maskImageBase = SPR_TERRAIN_EDGE_MASK_BOTTOM_RIGHT; + neighbourCorners[0] = neighbour.corner_heights.top; + neighbourCorners[1] = neighbour.corner_heights.left; + ownCorners[0] = self.corner_heights.right; + ownCorners[1] = self.corner_heights.bottom; + break; + case EDGE_TOPLEFT: + maskImageBase = SPR_TERRAIN_EDGE_MASK_TOP_LEFT; + neighbourCorners[0] = neighbour.corner_heights.right; + neighbourCorners[1] = neighbour.corner_heights.bottom; + ownCorners[0] = self.corner_heights.top; + ownCorners[1] = self.corner_heights.left; + break; + case EDGE_TOPRIGHT: + maskImageBase = SPR_TERRAIN_EDGE_MASK_TOP_RIGHT; + neighbourCorners[0] = neighbour.corner_heights.left; + neighbourCorners[1] = neighbour.corner_heights.bottom; + ownCorners[0] = self.corner_heights.top; + ownCorners[1] = self.corner_heights.right; + break; + } - if (ownCorners[0] != neighbourCorners[0] || ownCorners[1] != neighbourCorners[1]) { - // Only smoothen tiles that align - return; - } + if (ownCorners[0] != neighbourCorners[0] || ownCorners[1] != neighbourCorners[1]) { + // Only smoothen tiles that align + return; + } - uint8 dh = 0, cl = 0; - switch(edge) { - case EDGE_BOTTOMLEFT: - dh = byte_97B524[byte_97B444[self.slope]]; - cl = byte_97B54A[byte_97B444[neighbour.slope]]; - break; + uint8 dh = 0, cl = 0; + switch(edge) { + case EDGE_BOTTOMLEFT: + dh = byte_97B524[byte_97B444[self.slope]]; + cl = byte_97B54A[byte_97B444[neighbour.slope]]; + break; - case EDGE_TOPLEFT: - dh = byte_97B537[byte_97B444[self.slope]]; - cl = byte_97B55D[byte_97B444[neighbour.slope]]; - break; + case EDGE_TOPLEFT: + dh = byte_97B537[byte_97B444[self.slope]]; + cl = byte_97B55D[byte_97B444[neighbour.slope]]; + break; - case EDGE_BOTTOMRIGHT: - dh = byte_97B55D[byte_97B444[self.slope]]; - cl = byte_97B537[byte_97B444[neighbour.slope]]; - break; + case EDGE_BOTTOMRIGHT: + dh = byte_97B55D[byte_97B444[self.slope]]; + cl = byte_97B537[byte_97B444[neighbour.slope]]; + break; - case EDGE_TOPRIGHT: - dh = byte_97B54A[byte_97B444[self.slope]]; - cl = byte_97B524[byte_97B444[neighbour.slope]]; - break; + case EDGE_TOPRIGHT: + dh = byte_97B54A[byte_97B444[self.slope]]; + cl = byte_97B524[byte_97B444[neighbour.slope]]; + break; - } + } - if (self.terrain == neighbour.terrain) { - // same tint - if (cl == dh) { - return; - } + if (self.terrain == neighbour.terrain) { + // same tint + if (cl == dh) { + return; + } - if (byte_97B83C[self.terrain] & FLAG_DONT_SMOOTHEN_SELF) { - return; - } - } else { - if (byte_97B83C[self.terrain] & FLAG_DONT_SMOOTHEN) { - return; - } + if (byte_97B83C[self.terrain] & FLAG_DONT_SMOOTHEN_SELF) { + return; + } + } else { + if (byte_97B83C[self.terrain] & FLAG_DONT_SMOOTHEN) { + return; + } - if (byte_97B83C[neighbour.terrain] & FLAG_DONT_SMOOTHEN) { - return; - } - } + if (byte_97B83C[neighbour.terrain] & FLAG_DONT_SMOOTHEN) { + return; + } + } - uint32 image_id = maskImageBase + byte_97B444[self.slope]; + uint32 image_id = maskImageBase + byte_97B444[self.slope]; - if (paint_attach_to_previous_ps(image_id, 0, 0)) { - attached_paint_struct * out = g_aps_F1AD2C; - // set content and enable masking - out->colour_image_id = dword_97B804[neighbour.terrain] + cl; - out->flags |= PAINT_STRUCT_FLAG_IS_MASKED; - } + if (paint_attach_to_previous_ps(image_id, 0, 0)) { + attached_paint_struct * out = g_aps_F1AD2C; + // set content and enable masking + out->colour_image_id = dword_97B804[neighbour.terrain] + cl; + out->flags |= PAINT_STRUCT_FLAG_IS_MASKED; + } } /** @@ -458,97 +458,97 @@ static void viewport_surface_smoothen_edge(enum edge_t edge, struct tile_descrip */ static void viewport_surface_draw_land_side_top(enum edge_t edge, uint8 height, uint8 terrain, struct tile_descriptor self, struct tile_descriptor neighbour) { - registers regs; + registers regs; - rct_xy8 offset = {0, 0}; - rct_xy8 bounds = {0, 0}; - switch (edge) { - case EDGE_TOPLEFT: - regs.al = self.corner_heights.top; - regs.cl = self.corner_heights.left; + rct_xy8 offset = {0, 0}; + rct_xy8 bounds = {0, 0}; + switch (edge) { + case EDGE_TOPLEFT: + regs.al = self.corner_heights.top; + regs.cl = self.corner_heights.left; - regs.ah = neighbour.corner_heights.right; - regs.ch = neighbour.corner_heights.bottom; + regs.ah = neighbour.corner_heights.right; + regs.ch = neighbour.corner_heights.bottom; - offset.y = -2; - bounds.x = 30; - break; + offset.y = -2; + bounds.x = 30; + break; - case EDGE_TOPRIGHT: - regs.al = self.corner_heights.top; - regs.cl = self.corner_heights.right; + case EDGE_TOPRIGHT: + regs.al = self.corner_heights.top; + regs.cl = self.corner_heights.right; - regs.ah = neighbour.corner_heights.left; - regs.ch = neighbour.corner_heights.bottom; + regs.ah = neighbour.corner_heights.left; + regs.ch = neighbour.corner_heights.bottom; - offset.x = -2; - bounds.y = 30; - break; + offset.x = -2; + bounds.y = 30; + break; - default: - return; - } + default: + return; + } - regs.dl = height; + regs.dl = height; - // save ecx - if (neighbour.map_element == NULL) { - regs.ah = 1; - regs.ch = 1; - } + // save ecx + if (neighbour.map_element == NULL) { + regs.ah = 1; + regs.ch = 1; + } - // al + cl probably are self tile corners, while ah/ch are neighbour tile corners - if (regs.al <= regs.ah && regs.cl <= regs.ch) { - return; - } + // al + cl probably are self tile corners, while ah/ch are neighbour tile corners + if (regs.al <= regs.ah && regs.cl <= regs.ch) { + return; + } - assert(terrain < countof(_terrainEdgeSpriteIds)); + assert(terrain < countof(_terrainEdgeSpriteIds)); - if (!(gCurrentViewportFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE)) { - uint8 incline = (regs.cl - regs.al) + 1; + if (!(gCurrentViewportFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE)) { + uint8 incline = (regs.cl - regs.al) + 1; - uint32 image_id = _terrainEdgeSpriteIds[terrain][3] + (edge == EDGE_TOPLEFT ? 3 : 0) + incline; // var_c; - sint16 y = (regs.dl - regs.al) * 16; - paint_attach_to_previous_ps(image_id, 0, y); - return; - } + uint32 image_id = _terrainEdgeSpriteIds[terrain][3] + (edge == EDGE_TOPLEFT ? 3 : 0) + incline; // var_c; + sint16 y = (regs.dl - regs.al) * 16; + paint_attach_to_previous_ps(image_id, 0, y); + return; + } - uint32 base_image_id = _terrainEdgeSpriteIds[terrain][1] + (edge == EDGE_TOPLEFT ? 5 : 0); // var_04 + uint32 base_image_id = _terrainEdgeSpriteIds[terrain][1] + (edge == EDGE_TOPLEFT ? 5 : 0); // var_04 - const uint8 rotation = get_current_rotation(); - uint8 cur_height = min(regs.ch, regs.ah); - if (regs.ch != regs.ah) { - // neighbour tile corners aren't level - uint32 image_offset = 3; - if (regs.ch > regs.ah) { - image_offset = 4; - } + const uint8 rotation = get_current_rotation(); + uint8 cur_height = min(regs.ch, regs.ah); + if (regs.ch != regs.ah) { + // neighbour tile corners aren't level + uint32 image_offset = 3; + if (regs.ch > regs.ah) { + image_offset = 4; + } - if (cur_height != regs.al && cur_height != regs.cl) { - uint32 image_id = base_image_id + image_offset; - sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation); - cur_height++; - } - } + if (cur_height != regs.al && cur_height != regs.cl) { + uint32 image_id = base_image_id + image_offset; + sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation); + cur_height++; + } + } - regs.ah = regs.cl; + regs.ah = regs.cl; - while (cur_height < regs.al && cur_height < regs.ah) { - sub_98196C(base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation); - cur_height++; - } + while (cur_height < regs.al && cur_height < regs.ah) { + sub_98196C(base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation); + cur_height++; + } - uint32 image_offset = 1; - if (cur_height >= regs.al) { - image_offset = 2; + uint32 image_offset = 1; + if (cur_height >= regs.al) { + image_offset = 2; - if (cur_height >= regs.ah) { - return; - } - } + if (cur_height >= regs.ah) { + return; + } + } - uint32 image_id = base_image_id + image_offset; - sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation); + uint32 image_id = base_image_id + image_offset; + sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation); } /** @@ -556,159 +556,159 @@ static void viewport_surface_draw_land_side_top(enum edge_t edge, uint8 height, */ static void viewport_surface_draw_land_side_bottom(enum edge_t edge, uint8 height, uint8 edgeStyle, struct tile_descriptor self, struct tile_descriptor neighbour) { - registers regs; + registers regs; - rct_xy8 offset = {0, 0}; - rct_xy8 bounds = {0, 0}; - rct_xy16 tunnelBounds = {1, 1}; - rct_xy16 tunnelTopBoundBoxOffset = {0, 0}; + rct_xy8 offset = {0, 0}; + rct_xy8 bounds = {0, 0}; + rct_xy16 tunnelBounds = {1, 1}; + rct_xy16 tunnelTopBoundBoxOffset = {0, 0}; - tunnel_entry * tunnelArray; - switch (edge) { - case EDGE_BOTTOMLEFT: - regs.al = self.corner_heights.left; - regs.cl = self.corner_heights.bottom; + tunnel_entry * tunnelArray; + switch (edge) { + case EDGE_BOTTOMLEFT: + regs.al = self.corner_heights.left; + regs.cl = self.corner_heights.bottom; - regs.ah = neighbour.corner_heights.top; - regs.ch = neighbour.corner_heights.right; + regs.ah = neighbour.corner_heights.top; + regs.ch = neighbour.corner_heights.right; - offset.x = 30; - bounds.y = 30; - tunnelBounds.x = 32; - tunnelTopBoundBoxOffset.y = 31; + offset.x = 30; + bounds.y = 30; + tunnelBounds.x = 32; + tunnelTopBoundBoxOffset.y = 31; - tunnelArray = gLeftTunnels; - break; + tunnelArray = gLeftTunnels; + break; - case EDGE_BOTTOMRIGHT: - regs.al = self.corner_heights.right; - regs.cl = self.corner_heights.bottom; + case EDGE_BOTTOMRIGHT: + regs.al = self.corner_heights.right; + regs.cl = self.corner_heights.bottom; - regs.ah = neighbour.corner_heights.top; - regs.ch = neighbour.corner_heights.left; + regs.ah = neighbour.corner_heights.top; + regs.ch = neighbour.corner_heights.left; - offset.y = 30; - bounds.x = 30; - tunnelBounds.y = 32; - tunnelTopBoundBoxOffset.x = 31; + offset.y = 30; + bounds.x = 30; + tunnelBounds.y = 32; + tunnelTopBoundBoxOffset.x = 31; - tunnelArray = gRightTunnels; - break; + tunnelArray = gRightTunnels; + break; - default: - return; - } + default: + return; + } - if (neighbour.map_element == 0) { - regs.ch = 1; - regs.ah = 1; - } + if (neighbour.map_element == 0) { + regs.ch = 1; + regs.ah = 1; + } - if (regs.al <= regs.ah && regs.cl <= regs.ch) { - return; - } + if (regs.al <= regs.ah && regs.cl <= regs.ch) { + return; + } - uint32 base_image_id = _terrainEdgeSpriteIds[edgeStyle][0]; - if (gCurrentViewportFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) { - base_image_id = _terrainEdgeSpriteIds[edgeStyle][1]; - } + uint32 base_image_id = _terrainEdgeSpriteIds[edgeStyle][0]; + if (gCurrentViewportFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) { + base_image_id = _terrainEdgeSpriteIds[edgeStyle][1]; + } - if (edge == EDGE_BOTTOMRIGHT) { - base_image_id += 5; - } + if (edge == EDGE_BOTTOMRIGHT) { + base_image_id += 5; + } - const uint8 rotation = get_current_rotation(); - uint8 curHeight = min(regs.ah, regs.ch); - if (regs.ch != regs.ah) { - // If bottom part of edge isn't straight, add a filler - uint32 image_offset = 3; + const uint8 rotation = get_current_rotation(); + uint8 curHeight = min(regs.ah, regs.ch); + if (regs.ch != regs.ah) { + // If bottom part of edge isn't straight, add a filler + uint32 image_offset = 3; - if (regs.ch >= regs.ah) { - image_offset = 4; - } + if (regs.ch >= regs.ah) { + image_offset = 4; + } - if (curHeight != regs.al && curHeight != regs.cl) { - uint32 image_id = base_image_id + image_offset; - sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation); - curHeight++; - } - } + if (curHeight != regs.al && curHeight != regs.cl) { + uint32 image_id = base_image_id + image_offset; + sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation); + curHeight++; + } + } - regs.ah = regs.cl; + regs.ah = regs.cl; - while (true) { - if (curHeight >= regs.al || curHeight >= regs.cl) { - // If top of edge isn't straight, add a filler - uint32 image_offset = 1; - if (curHeight >= regs.al) { - image_offset = 2; + while (true) { + if (curHeight >= regs.al || curHeight >= regs.cl) { + // If top of edge isn't straight, add a filler + uint32 image_offset = 1; + if (curHeight >= regs.al) { + image_offset = 2; - if (curHeight >= regs.cl) { - return; - } - } + if (curHeight >= regs.cl) { + return; + } + } - uint32 image_id = base_image_id + image_offset; + uint32 image_id = base_image_id + image_offset; - sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation); + sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation); - return; - } + return; + } - if (curHeight != tunnelArray[0].height) { - // Normal walls - while (curHeight > tunnelArray[0].height) { - // TODO: Should probably be done by just keeping track of the current index - memmove(&tunnelArray[0], &tunnelArray[1], sizeof(tunnel_entry) * (TUNNEL_MAX_COUNT - 1)); - } + if (curHeight != tunnelArray[0].height) { + // Normal walls + while (curHeight > tunnelArray[0].height) { + // TODO: Should probably be done by just keeping track of the current index + memmove(&tunnelArray[0], &tunnelArray[1], sizeof(tunnel_entry) * (TUNNEL_MAX_COUNT - 1)); + } - if (curHeight != tunnelArray[0].height) { - sub_98196C(base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation); + if (curHeight != tunnelArray[0].height) { + sub_98196C(base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation); - curHeight++; - continue; - } - } + curHeight++; + continue; + } + } - // Tunnels - uint8 tunnelType = tunnelArray[0].type; - uint8 tunnelHeight = stru_97B570[tunnelType][0]; - sint16 zOffset = curHeight; + // Tunnels + uint8 tunnelType = tunnelArray[0].type; + uint8 tunnelHeight = stru_97B570[tunnelType][0]; + sint16 zOffset = curHeight; - if ((zOffset + tunnelHeight) > regs.ah || (zOffset + tunnelHeight) > regs.al) { - tunnelType = byte_97B5B0[tunnelType]; - } + if ((zOffset + tunnelHeight) > regs.ah || (zOffset + tunnelHeight) > regs.al) { + tunnelType = byte_97B5B0[tunnelType]; + } - zOffset *= 16; + zOffset *= 16; - sint16 boundBoxOffsetZ = zOffset + word_97B590[tunnelType]; - sint8 boundBoxLength = stru_97B570[tunnelType][1] * 16; - if (boundBoxOffsetZ < 16) { - boundBoxOffsetZ += 16; - boundBoxLength -= 16; - } + sint16 boundBoxOffsetZ = zOffset + word_97B590[tunnelType]; + sint8 boundBoxLength = stru_97B570[tunnelType][1] * 16; + if (boundBoxOffsetZ < 16) { + boundBoxOffsetZ += 16; + boundBoxLength -= 16; + } - uint32 image_id = _terrainEdgeTunnelSpriteIds[edgeStyle][tunnelType] + (edge == EDGE_BOTTOMRIGHT ? 2 : 0); - sub_98197C(image_id, offset.x, offset.y, tunnelBounds.x, tunnelBounds.y, boundBoxLength - 1, zOffset, 0, 0, boundBoxOffsetZ, rotation); + uint32 image_id = _terrainEdgeTunnelSpriteIds[edgeStyle][tunnelType] + (edge == EDGE_BOTTOMRIGHT ? 2 : 0); + sub_98197C(image_id, offset.x, offset.y, tunnelBounds.x, tunnelBounds.y, boundBoxLength - 1, zOffset, 0, 0, boundBoxOffsetZ, rotation); - boundBoxOffsetZ = curHeight * 16; - boundBoxLength = stru_97B570[tunnelType][1] * 16; - boundBoxOffsetZ += word_97B590[tunnelType]; - if (boundBoxOffsetZ == 0) { - boundBoxOffsetZ += 16; - boundBoxLength -= 16; - } + boundBoxOffsetZ = curHeight * 16; + boundBoxLength = stru_97B570[tunnelType][1] * 16; + boundBoxOffsetZ += word_97B590[tunnelType]; + if (boundBoxOffsetZ == 0) { + boundBoxOffsetZ += 16; + boundBoxLength -= 16; + } - image_id = _terrainEdgeTunnelSpriteIds[edgeStyle][tunnelType] + (edge == EDGE_BOTTOMRIGHT ? 2 : 0) + 1; - sub_98197C(image_id, offset.x, offset.y, tunnelBounds.x, tunnelBounds.y, boundBoxLength - 1, curHeight * 16, tunnelTopBoundBoxOffset.x, tunnelTopBoundBoxOffset.y, boundBoxOffsetZ, rotation); + image_id = _terrainEdgeTunnelSpriteIds[edgeStyle][tunnelType] + (edge == EDGE_BOTTOMRIGHT ? 2 : 0) + 1; + sub_98197C(image_id, offset.x, offset.y, tunnelBounds.x, tunnelBounds.y, boundBoxLength - 1, curHeight * 16, tunnelTopBoundBoxOffset.x, tunnelTopBoundBoxOffset.y, boundBoxOffsetZ, rotation); - curHeight += stru_97B570[tunnelType][0]; + curHeight += stru_97B570[tunnelType][0]; - // TODO: Should probably be done by just keeping track of the current index - memmove(&tunnelArray[0], &tunnelArray[1], sizeof(tunnel_entry) * (TUNNEL_MAX_COUNT - 1)); - } + // TODO: Should probably be done by just keeping track of the current index + memmove(&tunnelArray[0], &tunnelArray[1], sizeof(tunnel_entry) * (TUNNEL_MAX_COUNT - 1)); + } } /** @@ -716,101 +716,101 @@ static void viewport_surface_draw_land_side_bottom(enum edge_t edge, uint8 heigh */ static void viewport_surface_draw_water_side_top(enum edge_t edge, uint8 height, uint8 terrain, struct tile_descriptor self, struct tile_descriptor neighbour) { - registers regs; + registers regs; - rct_xy8 offset = {0, 0}; - rct_xy8 bounds = {0, 0}; - switch (edge) { - case EDGE_TOPLEFT: - regs.al = self.corner_heights.top; - regs.cl = self.corner_heights.left; + rct_xy8 offset = {0, 0}; + rct_xy8 bounds = {0, 0}; + switch (edge) { + case EDGE_TOPLEFT: + regs.al = self.corner_heights.top; + regs.cl = self.corner_heights.left; - regs.ah = neighbour.corner_heights.right; - regs.ch = neighbour.corner_heights.bottom; + regs.ah = neighbour.corner_heights.right; + regs.ch = neighbour.corner_heights.bottom; - offset.y = -2; - bounds.x = 30; - break; + offset.y = -2; + bounds.x = 30; + break; - case EDGE_TOPRIGHT: - regs.al = self.corner_heights.top; - regs.cl = self.corner_heights.right; + case EDGE_TOPRIGHT: + regs.al = self.corner_heights.top; + regs.cl = self.corner_heights.right; - regs.ah = neighbour.corner_heights.left; - regs.ch = neighbour.corner_heights.bottom; + regs.ah = neighbour.corner_heights.left; + regs.ch = neighbour.corner_heights.bottom; - offset.x = -2; - bounds.y = 30; - break; + offset.x = -2; + bounds.y = 30; + break; - default: - return; - } + default: + return; + } - regs.dl = height; + regs.dl = height; - // save ecx - if (neighbour.map_element == NULL) { - regs.ah = 1; - regs.ch = 1; - } else { - regs.dh = neighbour.map_element->properties.surface.terrain & 0x1F; - if (regs.dl == regs.dh) { - return; - } + // save ecx + if (neighbour.map_element == NULL) { + regs.ah = 1; + regs.ch = 1; + } else { + regs.dh = neighbour.map_element->properties.surface.terrain & 0x1F; + if (regs.dl == regs.dh) { + return; + } - regs.al = regs.dl; - regs.cl = regs.dl; - } + regs.al = regs.dl; + regs.cl = regs.dl; + } - // al + cl probably are self tile corners, while ah/ch are neighbour tile corners - if (regs.al <= regs.ah && regs.cl <= regs.ch) { - return; - } + // al + cl probably are self tile corners, while ah/ch are neighbour tile corners + if (regs.al <= regs.ah && regs.cl <= regs.ch) { + return; + } - uint32 base_image_id = _terrainEdgeSpriteIds[terrain][2]; // var_08 + uint32 base_image_id = _terrainEdgeSpriteIds[terrain][2]; // var_08 - if (gCurrentViewportFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) { - base_image_id = _terrainEdgeSpriteIds[terrain][1]; // var_04 - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) { + base_image_id = _terrainEdgeSpriteIds[terrain][1]; // var_04 + } - base_image_id += (edge == EDGE_TOPLEFT ? 5 : 0); + base_image_id += (edge == EDGE_TOPLEFT ? 5 : 0); - const uint8 rotation = get_current_rotation(); - uint8 cur_height = min(regs.ch, regs.ah); - if (regs.ch != regs.ah) { - // neighbour tile corners aren't level - uint32 image_offset = 3; - if (regs.ch > regs.ah) { - image_offset = 4; - } + const uint8 rotation = get_current_rotation(); + uint8 cur_height = min(regs.ch, regs.ah); + if (regs.ch != regs.ah) { + // neighbour tile corners aren't level + uint32 image_offset = 3; + if (regs.ch > regs.ah) { + image_offset = 4; + } - if (cur_height != regs.al && cur_height != regs.cl) { - uint32 image_id = base_image_id + image_offset; - sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation); - cur_height++; - } - } + if (cur_height != regs.al && cur_height != regs.cl) { + uint32 image_id = base_image_id + image_offset; + sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation); + cur_height++; + } + } - regs.ah = regs.cl; + regs.ah = regs.cl; - while (cur_height < regs.al && cur_height < regs.ah) { - sub_98196C(base_image_id, 0, 0, bounds.x, bounds.y, 15, cur_height * 16, rotation); - cur_height++; - } + while (cur_height < regs.al && cur_height < regs.ah) { + sub_98196C(base_image_id, 0, 0, bounds.x, bounds.y, 15, cur_height * 16, rotation); + cur_height++; + } - uint32 image_offset = 1; - if (cur_height >= regs.al) { - image_offset = 2; + uint32 image_offset = 1; + if (cur_height >= regs.al) { + image_offset = 2; - if (cur_height >= regs.ah) { - return; - } - } + if (cur_height >= regs.ah) { + return; + } + } - uint32 image_id = base_image_id + image_offset; - sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation); + uint32 image_id = base_image_id + image_offset; + sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation); } /** @@ -818,167 +818,167 @@ static void viewport_surface_draw_water_side_top(enum edge_t edge, uint8 height, */ static void viewport_surface_draw_water_side_bottom(enum edge_t edge, uint8 height, uint8 edgeStyle, struct tile_descriptor self, struct tile_descriptor neighbour) { - registers regs; + registers regs; - rct_xy8 offset = {0, 0}; - rct_xy8 bounds = {0, 0}; - rct_xy16 tunnelBounds = {1, 1}; - rct_xy16 tunnelTopBoundBoxOffset = {0, 0}; + rct_xy8 offset = {0, 0}; + rct_xy8 bounds = {0, 0}; + rct_xy16 tunnelBounds = {1, 1}; + rct_xy16 tunnelTopBoundBoxOffset = {0, 0}; - tunnel_entry * tunnelArray; - switch (edge) { - case EDGE_BOTTOMLEFT: - regs.al = self.corner_heights.left; - regs.cl = self.corner_heights.bottom; + tunnel_entry * tunnelArray; + switch (edge) { + case EDGE_BOTTOMLEFT: + regs.al = self.corner_heights.left; + regs.cl = self.corner_heights.bottom; - regs.ah = neighbour.corner_heights.top; - regs.ch = neighbour.corner_heights.right; + regs.ah = neighbour.corner_heights.top; + regs.ch = neighbour.corner_heights.right; - offset.x = 30; - bounds.y = 30; - tunnelBounds.x = 32; - tunnelTopBoundBoxOffset.y = 31; + offset.x = 30; + bounds.y = 30; + tunnelBounds.x = 32; + tunnelTopBoundBoxOffset.y = 31; - tunnelArray = gLeftTunnels; - break; + tunnelArray = gLeftTunnels; + break; - case EDGE_BOTTOMRIGHT: - regs.al = self.corner_heights.right; - regs.cl = self.corner_heights.bottom; + case EDGE_BOTTOMRIGHT: + regs.al = self.corner_heights.right; + regs.cl = self.corner_heights.bottom; - regs.ah = neighbour.corner_heights.top; - regs.ch = neighbour.corner_heights.left; + regs.ah = neighbour.corner_heights.top; + regs.ch = neighbour.corner_heights.left; - offset.y = 30; - bounds.x = 30; - tunnelBounds.y = 32; - tunnelTopBoundBoxOffset.x = 31; + offset.y = 30; + bounds.x = 30; + tunnelBounds.y = 32; + tunnelTopBoundBoxOffset.x = 31; - tunnelArray = gRightTunnels; - break; + tunnelArray = gRightTunnels; + break; - default: - return; - } + default: + return; + } - regs.dl = height; + regs.dl = height; - if (neighbour.map_element == 0) { - regs.ch = 1; - regs.ah = 1; - } else { - regs.dh = neighbour.map_element->properties.surface.terrain & 0x1F; - if (regs.dl == regs.dh) { - return; - } + if (neighbour.map_element == 0) { + regs.ch = 1; + regs.ah = 1; + } else { + regs.dh = neighbour.map_element->properties.surface.terrain & 0x1F; + if (regs.dl == regs.dh) { + return; + } - regs.al = regs.dl; - regs.cl = regs.dl; - } + regs.al = regs.dl; + regs.cl = regs.dl; + } - if (regs.al <= regs.ah && regs.cl <= regs.ch) { - return; - } + if (regs.al <= regs.ah && regs.cl <= regs.ch) { + return; + } - uint32 base_image_id = _terrainEdgeSpriteIds[edgeStyle][0]; - if (gCurrentViewportFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) { - base_image_id = _terrainEdgeSpriteIds[edgeStyle][1]; - } + uint32 base_image_id = _terrainEdgeSpriteIds[edgeStyle][0]; + if (gCurrentViewportFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) { + base_image_id = _terrainEdgeSpriteIds[edgeStyle][1]; + } - if (edge == EDGE_BOTTOMRIGHT) { - base_image_id += 5; - } + if (edge == EDGE_BOTTOMRIGHT) { + base_image_id += 5; + } - const uint8 rotation = get_current_rotation(); - uint8 curHeight = min(regs.ah, regs.ch); - if (regs.ch != regs.ah) { - // If bottom part of edge isn't straight, add a filler - uint32 image_offset = 3; + const uint8 rotation = get_current_rotation(); + uint8 curHeight = min(regs.ah, regs.ch); + if (regs.ch != regs.ah) { + // If bottom part of edge isn't straight, add a filler + uint32 image_offset = 3; - if (regs.ch >= regs.ah) { - image_offset = 4; - } + if (regs.ch >= regs.ah) { + image_offset = 4; + } - if (curHeight != regs.al && curHeight != regs.cl) { - uint32 image_id = base_image_id + image_offset; - sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation); - curHeight++; - } - } + if (curHeight != regs.al && curHeight != regs.cl) { + uint32 image_id = base_image_id + image_offset; + sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation); + curHeight++; + } + } - regs.ah = regs.cl; + regs.ah = regs.cl; - while (true) { - if (curHeight >= regs.al || curHeight >= regs.cl) { - // If top of edge isn't straight, add a filler - uint32 image_offset = 1; - if (curHeight >= regs.al) { - image_offset = 2; + while (true) { + if (curHeight >= regs.al || curHeight >= regs.cl) { + // If top of edge isn't straight, add a filler + uint32 image_offset = 1; + if (curHeight >= regs.al) { + image_offset = 2; - if (curHeight >= regs.cl) { - return; - } - } + if (curHeight >= regs.cl) { + return; + } + } - uint32 image_id = base_image_id + image_offset; + uint32 image_id = base_image_id + image_offset; - sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation); + sub_98196C(image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation); - return; - } + return; + } - if (curHeight != tunnelArray[0].height) { - // Normal walls - while (curHeight > tunnelArray[0].height) { - // TODO: Should probably be done by just keeping track of the current index - memmove(&tunnelArray[0], &tunnelArray[1], sizeof(tunnel_entry) * (TUNNEL_MAX_COUNT - 1)); - } + if (curHeight != tunnelArray[0].height) { + // Normal walls + while (curHeight > tunnelArray[0].height) { + // TODO: Should probably be done by just keeping track of the current index + memmove(&tunnelArray[0], &tunnelArray[1], sizeof(tunnel_entry) * (TUNNEL_MAX_COUNT - 1)); + } - sub_98196C(base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation); + sub_98196C(base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation); - curHeight++; - continue; - } + curHeight++; + continue; + } - // Tunnels - uint8 tunnelType = tunnelArray[0].type; - uint8 tunnelHeight = stru_97B570[tunnelType][0]; - sint16 zOffset = curHeight; + // Tunnels + uint8 tunnelType = tunnelArray[0].type; + uint8 tunnelHeight = stru_97B570[tunnelType][0]; + sint16 zOffset = curHeight; - if ((zOffset + tunnelHeight) > regs.ah || (zOffset + tunnelHeight) > regs.al) { - tunnelType = byte_97B5B0[tunnelType]; - } + if ((zOffset + tunnelHeight) > regs.ah || (zOffset + tunnelHeight) > regs.al) { + tunnelType = byte_97B5B0[tunnelType]; + } - zOffset *= 16; + zOffset *= 16; - sint16 boundBoxOffsetZ = zOffset + word_97B590[tunnelType]; - sint8 boundBoxLength = stru_97B570[tunnelType][1] * 16; - if (boundBoxOffsetZ < 16) { - boundBoxOffsetZ += 16; - boundBoxLength -= 16; - } + sint16 boundBoxOffsetZ = zOffset + word_97B590[tunnelType]; + sint8 boundBoxLength = stru_97B570[tunnelType][1] * 16; + if (boundBoxOffsetZ < 16) { + boundBoxOffsetZ += 16; + boundBoxLength -= 16; + } - uint32 image_id = _terrainEdgeTunnelSpriteIds[edgeStyle][tunnelType] + (edge == EDGE_BOTTOMRIGHT ? 2 : 0); - sub_98197C(image_id, offset.x, offset.y, tunnelBounds.x, tunnelBounds.y, boundBoxLength - 1, zOffset, 0, 0, boundBoxOffsetZ, rotation); + uint32 image_id = _terrainEdgeTunnelSpriteIds[edgeStyle][tunnelType] + (edge == EDGE_BOTTOMRIGHT ? 2 : 0); + sub_98197C(image_id, offset.x, offset.y, tunnelBounds.x, tunnelBounds.y, boundBoxLength - 1, zOffset, 0, 0, boundBoxOffsetZ, rotation); - boundBoxOffsetZ = curHeight * 16; - boundBoxLength = stru_97B570[tunnelType][1] * 16; - boundBoxOffsetZ += word_97B590[tunnelType]; - if (boundBoxOffsetZ == 0) { - boundBoxOffsetZ += 16; - boundBoxLength -= 16; - } + boundBoxOffsetZ = curHeight * 16; + boundBoxLength = stru_97B570[tunnelType][1] * 16; + boundBoxOffsetZ += word_97B590[tunnelType]; + if (boundBoxOffsetZ == 0) { + boundBoxOffsetZ += 16; + boundBoxLength -= 16; + } - image_id = _terrainEdgeTunnelSpriteIds[edgeStyle][tunnelType] + (edge == EDGE_BOTTOMRIGHT ? 2 : 0) + 1; - sub_98197C(image_id, offset.x, offset.y, tunnelBounds.x, tunnelBounds.y, boundBoxLength - 1, curHeight * 16, tunnelTopBoundBoxOffset.x, tunnelTopBoundBoxOffset.y, boundBoxOffsetZ, rotation); + image_id = _terrainEdgeTunnelSpriteIds[edgeStyle][tunnelType] + (edge == EDGE_BOTTOMRIGHT ? 2 : 0) + 1; + sub_98197C(image_id, offset.x, offset.y, tunnelBounds.x, tunnelBounds.y, boundBoxLength - 1, curHeight * 16, tunnelTopBoundBoxOffset.x, tunnelTopBoundBoxOffset.y, boundBoxOffsetZ, rotation); - curHeight += stru_97B570[tunnelType][0]; + curHeight += stru_97B570[tunnelType][0]; - // TODO: Should probably be done by just keeping track of the current index - memmove(&tunnelArray[0], &tunnelArray[1], sizeof(tunnel_entry) * (TUNNEL_MAX_COUNT - 1)); - } + // TODO: Should probably be done by just keeping track of the current index + memmove(&tunnelArray[0], &tunnelArray[1], sizeof(tunnel_entry) * (TUNNEL_MAX_COUNT - 1)); + } } /** @@ -990,760 +990,760 @@ static void viewport_surface_draw_water_side_bottom(enum edge_t edge, uint8 heig */ void surface_paint(uint8 direction, uint16 height, rct_map_element * mapElement) { - rct_drawpixelinfo * dpi = unk_140E9A8; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_TERRAIN; - gDidPassSurface = true; - gSurfaceElement = mapElement; + rct_drawpixelinfo * dpi = unk_140E9A8; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_TERRAIN; + gDidPassSurface = true; + gSurfaceElement = mapElement; - uint16 zoomLevel = dpi->zoom_level; + uint16 zoomLevel = dpi->zoom_level; - const uint8 rotation = get_current_rotation(); - uint32 terrain_type = map_element_get_terrain(mapElement); - uint32 surfaceShape = viewport_surface_paint_setup_get_relative_slope(mapElement, rotation); + const uint8 rotation = get_current_rotation(); + uint32 terrain_type = map_element_get_terrain(mapElement); + uint32 surfaceShape = viewport_surface_paint_setup_get_relative_slope(mapElement, rotation); - rct_xy16 base = { - .x = gUnk9DE568, - .y = gUnk9DE56C - }; + rct_xy16 base = { + .x = gUnk9DE568, + .y = gUnk9DE56C + }; - corner_height ch = corner_heights[surfaceShape]; - tile_descriptor selfDescriptor = { - .map_element = mapElement, - .slope = surfaceShape, - .terrain = terrain_type, - .corner_heights = { - .top = height / 16 + ch.top, - .right = height / 16 + ch.right, - .bottom = height / 16 + ch.bottom, - .left = height / 16 + ch.left, - } - }; + corner_height ch = corner_heights[surfaceShape]; + tile_descriptor selfDescriptor = { + .map_element = mapElement, + .slope = surfaceShape, + .terrain = terrain_type, + .corner_heights = { + .top = height / 16 + ch.top, + .right = height / 16 + ch.right, + .bottom = height / 16 + ch.bottom, + .left = height / 16 + ch.left, + } + }; - tile_descriptor tileDescriptors[5]; - tileDescriptors[0] = selfDescriptor; + tile_descriptor tileDescriptors[5]; + tileDescriptors[0] = selfDescriptor; - for (sint32 i = 0; i < 4; i++) { - rct_xy16 offset = viewport_surface_paint_data[i][rotation]; - rct_xy16 position = {.x = base.x + offset.x, .y = base.y + offset.y}; + for (sint32 i = 0; i < 4; i++) { + rct_xy16 offset = viewport_surface_paint_data[i][rotation]; + rct_xy16 position = {.x = base.x + offset.x, .y = base.y + offset.y}; - tileDescriptors[i + 1].map_element = NULL; - if (position.x > 0x2000 || position.y > 0x2000) { - continue; - } + tileDescriptors[i + 1].map_element = NULL; + if (position.x > 0x2000 || position.y > 0x2000) { + continue; + } - rct_map_element * surfaceElement = map_get_surface_element_at(position.x / 32, position.y / 32); - if (surfaceElement == NULL) { - continue; - } + rct_map_element * surfaceElement = map_get_surface_element_at(position.x / 32, position.y / 32); + if (surfaceElement == NULL) { + continue; + } - tileDescriptors[i + 1].map_element = surfaceElement; - tileDescriptors[i + 1].terrain = map_element_get_terrain(surfaceElement); - uint32 ebx = viewport_surface_paint_setup_get_relative_slope(surfaceElement, rotation); - tileDescriptors[i + 1].slope = ebx; + tileDescriptors[i + 1].map_element = surfaceElement; + tileDescriptors[i + 1].terrain = map_element_get_terrain(surfaceElement); + uint32 ebx = viewport_surface_paint_setup_get_relative_slope(surfaceElement, rotation); + tileDescriptors[i + 1].slope = ebx; - uint8 baseHeight = surfaceElement->base_height / 2; - ch = corner_heights[ebx]; - tileDescriptors[i + 1].corner_heights.top = baseHeight + ch.top; - tileDescriptors[i + 1].corner_heights.right = baseHeight + ch.right; - tileDescriptors[i + 1].corner_heights.bottom = baseHeight + ch.bottom; - tileDescriptors[i + 1].corner_heights.left = baseHeight + ch.left; - } + uint8 baseHeight = surfaceElement->base_height / 2; + ch = corner_heights[ebx]; + tileDescriptors[i + 1].corner_heights.top = baseHeight + ch.top; + tileDescriptors[i + 1].corner_heights.right = baseHeight + ch.right; + tileDescriptors[i + 1].corner_heights.bottom = baseHeight + ch.bottom; + tileDescriptors[i + 1].corner_heights.left = baseHeight + ch.left; + } - if ((gCurrentViewportFlags & VIEWPORT_FLAG_LAND_HEIGHTS) && (zoomLevel == 0)) { - sint16 x = gPaintMapPosition.x, y = gPaintMapPosition.y; + if ((gCurrentViewportFlags & VIEWPORT_FLAG_LAND_HEIGHTS) && (zoomLevel == 0)) { + sint16 x = gPaintMapPosition.x, y = gPaintMapPosition.y; - sint32 dx = map_element_height(x + 16, y + 16) & 0xFFFF; - dx += 3; + sint32 dx = map_element_height(x + 16, y + 16) & 0xFFFF; + dx += 3; - sint32 image_id = (SPR_HEIGHT_MARKER_BASE + dx / 16) | 0x20780000; - image_id += get_height_marker_offset(); - image_id -= gMapBaseZ; + sint32 image_id = (SPR_HEIGHT_MARKER_BASE + dx / 16) | 0x20780000; + image_id += get_height_marker_offset(); + image_id -= gMapBaseZ; - sub_98196C(image_id, 16, 16, 1, 1, 0, height, rotation); - } + sub_98196C(image_id, 16, 16, 1, 1, 0, height, rotation); + } - bool has_surface = false; - if (gVerticalTunnelHeight * 16 == height) { - // Vertical tunnels - sub_98197C(1575, 0, 0, 1, 30, 39, height, -2, 1, height - 40, rotation); - sub_98197C(1576, 0, 0, 30, 1, 0, height, 1, 31, height, rotation); - sub_98197C(1577, 0, 0, 1, 30, 0, height, 31, 1, height, rotation); - sub_98197C(1578, 0, 0, 30, 1, 39, height, 1, -2, height - 40, rotation); - } else { - bool showGridlines = (gCurrentViewportFlags & VIEWPORT_FLAG_GRIDLINES); + bool has_surface = false; + if (gVerticalTunnelHeight * 16 == height) { + // Vertical tunnels + sub_98197C(1575, 0, 0, 1, 30, 39, height, -2, 1, height - 40, rotation); + sub_98197C(1576, 0, 0, 30, 1, 0, height, 1, 31, height, rotation); + sub_98197C(1577, 0, 0, 1, 30, 0, height, 31, 1, height, rotation); + sub_98197C(1578, 0, 0, 30, 1, 39, height, 1, -2, height - 40, rotation); + } else { + bool showGridlines = (gCurrentViewportFlags & VIEWPORT_FLAG_GRIDLINES); - sint32 branch = -1; - if ((mapElement->properties.surface.terrain & 0xE0) == 0) { - if ((mapElement->type & 0x3) == 0) { - if (zoomLevel == 0) { - if ((gCurrentViewportFlags & (VIEWPORT_FLAG_HIDE_BASE | VIEWPORT_FLAG_UNDERGROUND_INSIDE)) == 0) { - branch = mapElement->properties.surface.grass_length & 0x7; - } - } - } - } + sint32 branch = -1; + if ((mapElement->properties.surface.terrain & 0xE0) == 0) { + if ((mapElement->type & 0x3) == 0) { + if (zoomLevel == 0) { + if ((gCurrentViewportFlags & (VIEWPORT_FLAG_HIDE_BASE | VIEWPORT_FLAG_UNDERGROUND_INSIDE)) == 0) { + branch = mapElement->properties.surface.grass_length & 0x7; + } + } + } + } - assert(surfaceShape < countof(byte_97B444)); - uint8 image_offset = byte_97B444[surfaceShape]; - sint32 image_id; - uint32 ebp = terrain_type; - switch (branch) { - case 0: - // loc_660C90 - image_id = dword_97B898[rotation][showGridlines ? 1 : 0] + image_offset; - break; + assert(surfaceShape < countof(byte_97B444)); + uint8 image_offset = byte_97B444[surfaceShape]; + sint32 image_id; + uint32 ebp = terrain_type; + switch (branch) { + case 0: + // loc_660C90 + image_id = dword_97B898[rotation][showGridlines ? 1 : 0] + image_offset; + break; - case 1: - case 2: - case 3: - default: - // loc_660C9F - if (rotation & 1) { - assert(ebp < countof(byte_97B84A)); - ebp = byte_97B84A[ebp]; - } - assert(ebp < countof(dword_97B750)); - image_id = dword_97B750[ebp][showGridlines ? 1 : 0] + image_offset; + case 1: + case 2: + case 3: + default: + // loc_660C9F + if (rotation & 1) { + assert(ebp < countof(byte_97B84A)); + ebp = byte_97B84A[ebp]; + } + assert(ebp < countof(dword_97B750)); + image_id = dword_97B750[ebp][showGridlines ? 1 : 0] + image_offset; - if (gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { - image_id = SPR_TERRAIN_TRACK_DESIGNER; - } + if (gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { + image_id = SPR_TERRAIN_TRACK_DESIGNER; + } - if (gCurrentViewportFlags & (VIEWPORT_FLAG_UNDERGROUND_INSIDE | VIEWPORT_FLAG_HIDE_BASE)) { - image_id &= 0xDC07FFFF; // remove colour - image_id |= 0x41880000; - } - break; + if (gCurrentViewportFlags & (VIEWPORT_FLAG_UNDERGROUND_INSIDE | VIEWPORT_FLAG_HIDE_BASE)) { + image_id &= 0xDC07FFFF; // remove colour + image_id |= 0x41880000; + } + break; - case 4: - case 5: - // loc_660C44 - case 6: - // loc_660C6A - { - sint16 x = gPaintMapPosition.x & 0x20; - sint16 y = gPaintMapPosition.y & 0x20; - sint32 index = (y | (x << 1)) >> 5; + case 4: + case 5: + // loc_660C44 + case 6: + // loc_660C6A + { + sint16 x = gPaintMapPosition.x & 0x20; + sint16 y = gPaintMapPosition.y & 0x20; + sint32 index = (y | (x << 1)) >> 5; - if (branch == 6) { - image_id = dword_97B878[index][showGridlines ? 1 : 0] + image_offset; - } else { - image_id = dword_97B858[index][showGridlines ? 1 : 0] + image_offset; - } - break; - } + if (branch == 6) { + image_id = dword_97B878[index][showGridlines ? 1 : 0] + image_offset; + } else { + image_id = dword_97B858[index][showGridlines ? 1 : 0] + image_offset; + } + break; + } - } + } - sub_98196C(image_id, 0, 0, 32, 32, -1, height, rotation); - has_surface = true; - } + sub_98196C(image_id, 0, 0, 32, 32, -1, height, rotation); + has_surface = true; + } // Draw Staff Patrol Areas - // loc_660D02 - if (gStaffDrawPatrolAreas != 0xFFFF) { - sint32 staffIndex = gStaffDrawPatrolAreas; - bool is_staff_list = staffIndex & 0x8000; - uint8 staffType = staffIndex & 0x7FFF; - sint16 x = gPaintMapPosition.x, y = gPaintMapPosition.y; + // loc_660D02 + if (gStaffDrawPatrolAreas != 0xFFFF) { + sint32 staffIndex = gStaffDrawPatrolAreas; + bool is_staff_list = staffIndex & 0x8000; + uint8 staffType = staffIndex & 0x7FFF; + sint16 x = gPaintMapPosition.x, y = gPaintMapPosition.y; - uint32 image_id = 0x20000000; - uint8 patrolColour = 7; + uint32 image_id = 0x20000000; + uint8 patrolColour = 7; - if (!is_staff_list) { - rct_peep * staff = GET_PEEP(staffIndex); - if (!staff_is_patrol_area_set(staff->staff_id, x, y)) { - patrolColour = 1; - } - staffType = staff->staff_type; - } + if (!is_staff_list) { + rct_peep * staff = GET_PEEP(staffIndex); + if (!staff_is_patrol_area_set(staff->staff_id, x, y)) { + patrolColour = 1; + } + staffType = staff->staff_type; + } - if (staff_is_patrol_area_set(200 + staffType, x, y)) { - assert(surfaceShape < countof(byte_97B444)); + if (staff_is_patrol_area_set(200 + staffType, x, y)) { + assert(surfaceShape < countof(byte_97B444)); - image_id |= SPR_TERRAIN_SELECTION_PATROL_AREA + byte_97B444[surfaceShape]; - image_id |= patrolColour << 19; - paint_attach_to_previous_ps(image_id, 0, 0); - } - } + image_id |= SPR_TERRAIN_SELECTION_PATROL_AREA + byte_97B444[surfaceShape]; + image_id |= patrolColour << 19; + paint_attach_to_previous_ps(image_id, 0, 0); + } + } - // Draw Peep Spawns - if (((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) && - gCurrentViewportFlags & VIEWPORT_FLAG_LAND_OWNERSHIP - ) { - rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - for (sint32 i = 0; i < MAX_PEEP_SPAWNS; ++i) { - rct2_peep_spawn * spawn = &gPeepSpawns[i]; + // Draw Peep Spawns + if (((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) && + gCurrentViewportFlags & VIEWPORT_FLAG_LAND_OWNERSHIP + ) { + rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + for (sint32 i = 0; i < MAX_PEEP_SPAWNS; ++i) { + rct2_peep_spawn * spawn = &gPeepSpawns[i]; - if ((spawn->x & 0xFFE0) == pos.x && (spawn->y & 0xFFE0) == pos.y) { - sub_98196C(SPR_TERRAIN_SELECTION_SQUARE_SIMPLE, 0, 0, 32, 32, 16, spawn->z * 16, rotation); + if ((spawn->x & 0xFFE0) == pos.x && (spawn->y & 0xFFE0) == pos.y) { + sub_98196C(SPR_TERRAIN_SELECTION_SQUARE_SIMPLE, 0, 0, 32, 32, 16, spawn->z * 16, rotation); - sint32 offset = ((spawn->direction ^ 2) + rotation) & 3; - uint32 image_id = (PEEP_SPAWN_ARROW_0 + offset) | 0x20380000; - sub_98196C(image_id, 0, 0, 32, 32, 19, spawn->z * 16, rotation); - } - } - } + sint32 offset = ((spawn->direction ^ 2) + rotation) & 3; + uint32 image_id = (PEEP_SPAWN_ARROW_0 + offset) | 0x20380000; + sub_98196C(image_id, 0, 0, 32, 32, 19, spawn->z * 16, rotation); + } + } + } - if (gCurrentViewportFlags & VIEWPORT_FLAG_LAND_OWNERSHIP) { - // loc_660E9A: - if (mapElement->properties.surface.ownership & OWNERSHIP_OWNED) { - assert(surfaceShape < countof(byte_97B444)); - paint_attach_to_previous_ps(SPR_TERRAIN_SELECTION_SQUARE + byte_97B444[surfaceShape], 0, 0); - } else if (mapElement->properties.surface.ownership & OWNERSHIP_AVAILABLE) { - rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - paint_struct * backup = g_ps_F1AD28; - sint32 height2 = (map_element_height(pos.x + 16, pos.y + 16) & 0xFFFF) + 3; - sub_98196C(SPR_LAND_OWNERSHIP_AVAILABLE, 16, 16, 1, 1, 0, height2, rotation); - g_ps_F1AD28 = backup; - } - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_LAND_OWNERSHIP) { + // loc_660E9A: + if (mapElement->properties.surface.ownership & OWNERSHIP_OWNED) { + assert(surfaceShape < countof(byte_97B444)); + paint_attach_to_previous_ps(SPR_TERRAIN_SELECTION_SQUARE + byte_97B444[surfaceShape], 0, 0); + } else if (mapElement->properties.surface.ownership & OWNERSHIP_AVAILABLE) { + rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + paint_struct * backup = g_ps_F1AD28; + sint32 height2 = (map_element_height(pos.x + 16, pos.y + 16) & 0xFFFF) + 3; + sub_98196C(SPR_LAND_OWNERSHIP_AVAILABLE, 16, 16, 1, 1, 0, height2, rotation); + g_ps_F1AD28 = backup; + } + } - if (gCurrentViewportFlags & VIEWPORT_FLAG_CONSTRUCTION_RIGHTS - && !(mapElement->properties.surface.ownership & OWNERSHIP_OWNED)) { - if (mapElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED) { - assert(surfaceShape < countof(byte_97B444)); - paint_attach_to_previous_ps(SPR_TERRAIN_SELECTION_DOTTED + byte_97B444[surfaceShape], 0, 0); - } else if (mapElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE) { - paint_struct * backup = g_ps_F1AD28; - rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - sint32 height2 = map_element_height(pos.x + 16, pos.y + 16) & 0xFFFF; - sub_98196C(SPR_LAND_CONSTRUCTION_RIGHTS_AVAILABLE, 16, 16, 1, 1, 0, height2 + 3, rotation); - g_ps_F1AD28 = backup; - } - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_CONSTRUCTION_RIGHTS + && !(mapElement->properties.surface.ownership & OWNERSHIP_OWNED)) { + if (mapElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED) { + assert(surfaceShape < countof(byte_97B444)); + paint_attach_to_previous_ps(SPR_TERRAIN_SELECTION_DOTTED + byte_97B444[surfaceShape], 0, 0); + } else if (mapElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE) { + paint_struct * backup = g_ps_F1AD28; + rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 height2 = map_element_height(pos.x + 16, pos.y + 16) & 0xFFFF; + sub_98196C(SPR_LAND_CONSTRUCTION_RIGHTS_AVAILABLE, 16, 16, 1, 1, 0, height2 + 3, rotation); + g_ps_F1AD28 = backup; + } + } - // ebx[0] = esi; - // ebp[4] = ebp; - // ebp[8] = ebx + // ebx[0] = esi; + // ebp[4] = ebp; + // ebp[8] = ebx - if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE) { - // loc_660FB8: - rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (pos.x >= gMapSelectPositionA.x && - pos.x <= gMapSelectPositionB.x && - pos.y >= gMapSelectPositionA.y && - pos.y <= gMapSelectPositionB.y - ) { - uint16 mapSelectionType = gMapSelectType; - if (mapSelectionType >= MAP_SELECT_TYPE_EDGE_0) { - // Walls - // loc_661089: - uint32 eax = ((((mapSelectionType - 9) + rotation) & 3) + 0x21) << 19; - uint32 image_id = (SPR_TERRAIN_SELECTION_EDGE + byte_97B444[surfaceShape]) | eax | 0x20000000; - paint_attach_to_previous_ps(image_id, 0, 0); - } else if (mapSelectionType >= MAP_SELECT_TYPE_QUARTER_0) { - // loc_661051:(no jump) - // Selection split into four quarter segments - uint32 eax = ((((mapSelectionType - MAP_SELECT_TYPE_QUARTER_0) + rotation) & 3) + 0x27) << 19; - uint32 image_id = (SPR_TERRAIN_SELECTION_QUARTER + byte_97B444[surfaceShape]) | eax | 0x20000000; - paint_attach_to_previous_ps(image_id, 0, 0); - } else if (mapSelectionType <= MAP_SELECT_TYPE_FULL) { - // Corners - uint32 eax = mapSelectionType; - if (mapSelectionType != MAP_SELECT_TYPE_FULL) { - eax = (mapSelectionType + rotation) & 3; - } + if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE) { + // loc_660FB8: + rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + if (pos.x >= gMapSelectPositionA.x && + pos.x <= gMapSelectPositionB.x && + pos.y >= gMapSelectPositionA.y && + pos.y <= gMapSelectPositionB.y + ) { + uint16 mapSelectionType = gMapSelectType; + if (mapSelectionType >= MAP_SELECT_TYPE_EDGE_0) { + // Walls + // loc_661089: + uint32 eax = ((((mapSelectionType - 9) + rotation) & 3) + 0x21) << 19; + uint32 image_id = (SPR_TERRAIN_SELECTION_EDGE + byte_97B444[surfaceShape]) | eax | 0x20000000; + paint_attach_to_previous_ps(image_id, 0, 0); + } else if (mapSelectionType >= MAP_SELECT_TYPE_QUARTER_0) { + // loc_661051:(no jump) + // Selection split into four quarter segments + uint32 eax = ((((mapSelectionType - MAP_SELECT_TYPE_QUARTER_0) + rotation) & 3) + 0x27) << 19; + uint32 image_id = (SPR_TERRAIN_SELECTION_QUARTER + byte_97B444[surfaceShape]) | eax | 0x20000000; + paint_attach_to_previous_ps(image_id, 0, 0); + } else if (mapSelectionType <= MAP_SELECT_TYPE_FULL) { + // Corners + uint32 eax = mapSelectionType; + if (mapSelectionType != MAP_SELECT_TYPE_FULL) { + eax = (mapSelectionType + rotation) & 3; + } - eax = (eax + 0x21) << 19; - uint32 image_id = (SPR_TERRAIN_SELECTION_CORNER + byte_97B444[surfaceShape]) | eax | 0x20000000; - paint_attach_to_previous_ps(image_id, 0, 0); - } else { - sint32 local_surfaceShape = surfaceShape; - sint32 local_height = height; - // Water tool - if (mapElement->properties.surface.terrain & 0x1F) { - sint32 waterHeight = (mapElement->properties.surface.terrain & 0x1F) * 16; - if (waterHeight > height) { - local_height += 16; + eax = (eax + 0x21) << 19; + uint32 image_id = (SPR_TERRAIN_SELECTION_CORNER + byte_97B444[surfaceShape]) | eax | 0x20000000; + paint_attach_to_previous_ps(image_id, 0, 0); + } else { + sint32 local_surfaceShape = surfaceShape; + sint32 local_height = height; + // Water tool + if (mapElement->properties.surface.terrain & 0x1F) { + sint32 waterHeight = (mapElement->properties.surface.terrain & 0x1F) * 16; + if (waterHeight > height) { + local_height += 16; - if (waterHeight != local_height - || !(local_surfaceShape & 0x10)) { - local_height = waterHeight; - local_surfaceShape = 0; - } else { - registers regs = { 0 }; + if (waterHeight != local_height + || !(local_surfaceShape & 0x10)) { + local_height = waterHeight; + local_surfaceShape = 0; + } else { + registers regs = { 0 }; - regs.bl = (surfaceShape ^ 0xF) << 2; - regs.bh = regs.bl >> 4; - local_surfaceShape = (regs.bh & 0x3) | (regs.bl & 0xC); - } - } - } + regs.bl = (surfaceShape ^ 0xF) << 2; + regs.bh = regs.bl >> 4; + local_surfaceShape = (regs.bh & 0x3) | (regs.bl & 0xC); + } + } + } - sint32 image_id = (SPR_TERRAIN_SELECTION_CORNER + byte_97B444[local_surfaceShape]) | 0x21300000; + sint32 image_id = (SPR_TERRAIN_SELECTION_CORNER + byte_97B444[local_surfaceShape]) | 0x21300000; - paint_struct * backup = g_ps_F1AD28; - sub_98196C(image_id, 0, 0, 32, 32, 1, local_height, rotation); - g_ps_F1AD28 = backup; - } - } - } + paint_struct * backup = g_ps_F1AD28; + sub_98196C(image_id, 0, 0, 32, 32, 1, local_height, rotation); + g_ps_F1AD28 = backup; + } + } + } - if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE_CONSTRUCT) { - rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE_CONSTRUCT) { + rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - rct_xy16 * tile; - for (tile = gMapSelectionTiles; tile->x != -1; tile++) { - if (tile->x != pos.x || tile->y != pos.y) { - continue; - } + rct_xy16 * tile; + for (tile = gMapSelectionTiles; tile->x != -1; tile++) { + if (tile->x != pos.x || tile->y != pos.y) { + continue; + } - uint32 colours = COLOUR_GREY << 24 | COLOUR_BRIGHT_PURPLE << 19; - if (gMapSelectFlags & MAP_SELECT_FLAG_GREEN) { - colours = COLOUR_GREY << 24 | COLOUR_SATURATED_GREEN << 19; - } + uint32 colours = COLOUR_GREY << 24 | COLOUR_BRIGHT_PURPLE << 19; + if (gMapSelectFlags & MAP_SELECT_FLAG_GREEN) { + colours = COLOUR_GREY << 24 | COLOUR_SATURATED_GREEN << 19; + } - uint32 image_id = (SPR_TERRAIN_SELECTION_CORNER + byte_97B444[surfaceShape]) | colours | 0x20000000; - paint_attach_to_previous_ps(image_id, 0, 0); - break; - } - } + uint32 image_id = (SPR_TERRAIN_SELECTION_CORNER + byte_97B444[surfaceShape]) | colours | 0x20000000; + paint_attach_to_previous_ps(image_id, 0, 0); + break; + } + } - if (zoomLevel == 0 - && has_surface - && !(gCurrentViewportFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) - && !(gCurrentViewportFlags & VIEWPORT_FLAG_HIDE_BASE) - && gConfigGeneral.landscape_smoothing) { - viewport_surface_smoothen_edge(EDGE_TOPLEFT, tileDescriptors[0], tileDescriptors[3]); - viewport_surface_smoothen_edge(EDGE_TOPRIGHT, tileDescriptors[0], tileDescriptors[4]); - viewport_surface_smoothen_edge(EDGE_BOTTOMLEFT, tileDescriptors[0], tileDescriptors[1]); - viewport_surface_smoothen_edge(EDGE_BOTTOMRIGHT, tileDescriptors[0], tileDescriptors[2]); - } + if (zoomLevel == 0 + && has_surface + && !(gCurrentViewportFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) + && !(gCurrentViewportFlags & VIEWPORT_FLAG_HIDE_BASE) + && gConfigGeneral.landscape_smoothing) { + viewport_surface_smoothen_edge(EDGE_TOPLEFT, tileDescriptors[0], tileDescriptors[3]); + viewport_surface_smoothen_edge(EDGE_TOPRIGHT, tileDescriptors[0], tileDescriptors[4]); + viewport_surface_smoothen_edge(EDGE_BOTTOMLEFT, tileDescriptors[0], tileDescriptors[1]); + viewport_surface_smoothen_edge(EDGE_BOTTOMRIGHT, tileDescriptors[0], tileDescriptors[2]); + } - if (gCurrentViewportFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE - && !(gCurrentViewportFlags & VIEWPORT_FLAG_HIDE_BASE) - && !(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { + if (gCurrentViewportFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE + && !(gCurrentViewportFlags & VIEWPORT_FLAG_HIDE_BASE) + && !(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { - uint8 image_offset = byte_97B444[surfaceShape]; - uint32 base_image = terrain_type; - if (rotation & 1) { - base_image = byte_97B84A[terrain_type]; - } - uint32 image_id = dword_97B7C8[base_image] + image_offset; - paint_attach_to_previous_ps(image_id, 0, 0); - } + uint8 image_offset = byte_97B444[surfaceShape]; + uint32 base_image = terrain_type; + if (rotation & 1) { + base_image = byte_97B84A[terrain_type]; + } + uint32 image_id = dword_97B7C8[base_image] + image_offset; + paint_attach_to_previous_ps(image_id, 0, 0); + } - if (!(gCurrentViewportFlags & VIEWPORT_FLAG_HIDE_VERTICAL)) { - // loc_66122C: - uint8 al_edgeStyle = mapElement->properties.surface.slope & 0xE0; - uint8 di_type = mapElement->type & 0x80; + if (!(gCurrentViewportFlags & VIEWPORT_FLAG_HIDE_VERTICAL)) { + // loc_66122C: + uint8 al_edgeStyle = mapElement->properties.surface.slope & 0xE0; + uint8 di_type = mapElement->type & 0x80; - uint32 eax = al_edgeStyle + di_type * 2; - if (eax != 32 && eax != 0 && eax != 96 && eax != 64) { - log_verbose("eax: %d", eax); - } + uint32 eax = al_edgeStyle + di_type * 2; + if (eax != 32 && eax != 0 && eax != 96 && eax != 64) { + log_verbose("eax: %d", eax); + } - tunnel_entry backupLeftTunnels[TUNNEL_MAX_COUNT]; - tunnel_entry backupRightTunnels[TUNNEL_MAX_COUNT]; + tunnel_entry backupLeftTunnels[TUNNEL_MAX_COUNT]; + tunnel_entry backupRightTunnels[TUNNEL_MAX_COUNT]; #ifdef __MINGW32__ - // The other code crashes mingw 4.8.2, as available on Travis - for (sint32 i = 0; i < TUNNEL_MAX_COUNT; i++) { - backupLeftTunnels[i] = gLeftTunnels[i]; - backupRightTunnels[i] = gRightTunnels[i]; - } + // The other code crashes mingw 4.8.2, as available on Travis + for (sint32 i = 0; i < TUNNEL_MAX_COUNT; i++) { + backupLeftTunnels[i] = gLeftTunnels[i]; + backupRightTunnels[i] = gRightTunnels[i]; + } #else - memcpy(backupLeftTunnels, gLeftTunnels, sizeof(tunnel_entry) * TUNNEL_MAX_COUNT); - memcpy(backupRightTunnels, gRightTunnels, sizeof(tunnel_entry) * TUNNEL_MAX_COUNT); + memcpy(backupLeftTunnels, gLeftTunnels, sizeof(tunnel_entry) * TUNNEL_MAX_COUNT); + memcpy(backupRightTunnels, gRightTunnels, sizeof(tunnel_entry) * TUNNEL_MAX_COUNT); #endif - viewport_surface_draw_land_side_top(EDGE_TOPLEFT, height / 16, eax / 32, tileDescriptors[0], tileDescriptors[3]); - viewport_surface_draw_land_side_top(EDGE_TOPRIGHT, height / 16, eax / 32, tileDescriptors[0], tileDescriptors[4]); - viewport_surface_draw_land_side_bottom(EDGE_BOTTOMLEFT, height / 16, eax / 32, tileDescriptors[0], tileDescriptors[1]); - viewport_surface_draw_land_side_bottom(EDGE_BOTTOMRIGHT, height / 16, eax / 32, tileDescriptors[0], tileDescriptors[2]); + viewport_surface_draw_land_side_top(EDGE_TOPLEFT, height / 16, eax / 32, tileDescriptors[0], tileDescriptors[3]); + viewport_surface_draw_land_side_top(EDGE_TOPRIGHT, height / 16, eax / 32, tileDescriptors[0], tileDescriptors[4]); + viewport_surface_draw_land_side_bottom(EDGE_BOTTOMLEFT, height / 16, eax / 32, tileDescriptors[0], tileDescriptors[1]); + viewport_surface_draw_land_side_bottom(EDGE_BOTTOMRIGHT, height / 16, eax / 32, tileDescriptors[0], tileDescriptors[2]); #ifdef __MINGW32__ - // The other code crashes mingw 4.8.2, as available on Travis - for (sint32 i = 0; i < TUNNEL_MAX_COUNT; i++) { - gLeftTunnels[i] = backupLeftTunnels[i]; - gRightTunnels[i] = backupRightTunnels[i]; - } + // The other code crashes mingw 4.8.2, as available on Travis + for (sint32 i = 0; i < TUNNEL_MAX_COUNT; i++) { + gLeftTunnels[i] = backupLeftTunnels[i]; + gRightTunnels[i] = backupRightTunnels[i]; + } #else - memcpy(gLeftTunnels, backupLeftTunnels, sizeof(tunnel_entry) * TUNNEL_MAX_COUNT); - memcpy(gRightTunnels, backupRightTunnels, sizeof(tunnel_entry) * TUNNEL_MAX_COUNT); + memcpy(gLeftTunnels, backupLeftTunnels, sizeof(tunnel_entry) * TUNNEL_MAX_COUNT); + memcpy(gRightTunnels, backupRightTunnels, sizeof(tunnel_entry) * TUNNEL_MAX_COUNT); #endif - } + } - if (mapElement->properties.surface.terrain & 0x1F) { - // loc_6615A9: (water height) - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_WATER; + if (mapElement->properties.surface.terrain & 0x1F) { + // loc_6615A9: (water height) + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_WATER; - uint16 localHeight = height + 16; - uint16 waterHeight = (mapElement->properties.surface.terrain & 0x1F) * 16; + uint16 localHeight = height + 16; + uint16 waterHeight = (mapElement->properties.surface.terrain & 0x1F) * 16; - if (!gTrackDesignSaveMode) { - gUnk141E9DC = waterHeight; + if (!gTrackDesignSaveMode) { + gUnk141E9DC = waterHeight; - sint32 image_offset = 0; - if (waterHeight <= localHeight) { - image_offset = byte_97B740[surfaceShape & 0xF]; - } + sint32 image_offset = 0; + if (waterHeight <= localHeight) { + image_offset = byte_97B740[surfaceShape & 0xF]; + } - sint32 image_id = (SPR_WATER_MASK + image_offset) | 0x60000000 | PALETTE_WATER << 19; - sub_98196C(image_id, 0, 0, 32, 32, -1, waterHeight, rotation); + sint32 image_id = (SPR_WATER_MASK + image_offset) | 0x60000000 | PALETTE_WATER << 19; + sub_98196C(image_id, 0, 0, 32, 32, -1, waterHeight, rotation); - paint_attach_to_previous_ps(SPR_WATER_OVERLAY + image_offset, 0, 0); + paint_attach_to_previous_ps(SPR_WATER_OVERLAY + image_offset, 0, 0); - // This wasn't in the original, but the code depended on globals that were only set in a different conditional - uint8 al_edgeStyle = mapElement->properties.surface.slope & 0xE0; - uint8 di_type = mapElement->type & 0x80; + // This wasn't in the original, but the code depended on globals that were only set in a different conditional + uint8 al_edgeStyle = mapElement->properties.surface.slope & 0xE0; + uint8 di_type = mapElement->type & 0x80; - uint32 eax = al_edgeStyle + di_type * 2; - assert(eax % 32 == 0); - // end new code + uint32 eax = al_edgeStyle + di_type * 2; + assert(eax % 32 == 0); + // end new code - viewport_surface_draw_water_side_top(EDGE_TOPLEFT, waterHeight / 16, eax / 32, tileDescriptors[0], tileDescriptors[3]); - viewport_surface_draw_water_side_top(EDGE_TOPRIGHT, waterHeight / 16, eax / 32, tileDescriptors[0], tileDescriptors[4]); - viewport_surface_draw_water_side_bottom(EDGE_BOTTOMLEFT, waterHeight / 16, eax / 32, tileDescriptors[0], tileDescriptors[1]); - viewport_surface_draw_water_side_bottom(EDGE_BOTTOMRIGHT, waterHeight / 16, eax / 32, tileDescriptors[0], tileDescriptors[2]); - } - } + viewport_surface_draw_water_side_top(EDGE_TOPLEFT, waterHeight / 16, eax / 32, tileDescriptors[0], tileDescriptors[3]); + viewport_surface_draw_water_side_top(EDGE_TOPRIGHT, waterHeight / 16, eax / 32, tileDescriptors[0], tileDescriptors[4]); + viewport_surface_draw_water_side_bottom(EDGE_BOTTOMLEFT, waterHeight / 16, eax / 32, tileDescriptors[0], tileDescriptors[1]); + viewport_surface_draw_water_side_bottom(EDGE_BOTTOMRIGHT, waterHeight / 16, eax / 32, tileDescriptors[0], tileDescriptors[2]); + } + } - if ((mapElement->properties.surface.ownership & 0x0F) && - !gTrackDesignSaveMode - ) { - // Owned land boundary fences - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_PARK; + if ((mapElement->properties.surface.ownership & 0x0F) && + !gTrackDesignSaveMode + ) { + // Owned land boundary fences + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_PARK; - registers regs = { 0 }; - regs.al = mapElement->properties.surface.ownership & 0x0F; - regs.ax = regs.ax << rotation; - regs.ah = regs.al >> 4; + registers regs = { 0 }; + regs.al = mapElement->properties.surface.ownership & 0x0F; + regs.ax = regs.ax << rotation; + regs.ah = regs.al >> 4; - uint8 al = regs.al | regs.ah; + uint8 al = regs.al | regs.ah; - for (sint32 i = 0; i < 4; i++) { - sint32 bit = al & 1; - al >>= 1; + for (sint32 i = 0; i < 4; i++) { + sint32 bit = al & 1; + al >>= 1; - if (bit == 0) { - continue; - } + if (bit == 0) { + continue; + } - sint32 bit_1, bit_8, bit_4, bit_2; - rct_xy8 offset; - rct_xy16 box_offset, box_size; - uint32 image_1, image_2, image_3; - switch (i) { - default: - case 0: - // Bottom right - bit_1 = 1; - bit_8 = 8; - bit_4 = 4; - bit_2 = 2; - image_1 = 22872; - image_2 = 22876; - image_3 = 22874; - offset = (rct_xy8) {1, 31}; - box_size = (struct rct_xy16) {.x=30, .y=1}; - box_offset = (struct rct_xy16) {.x=1, .y=31}; - break; + sint32 bit_1, bit_8, bit_4, bit_2; + rct_xy8 offset; + rct_xy16 box_offset, box_size; + uint32 image_1, image_2, image_3; + switch (i) { + default: + case 0: + // Bottom right + bit_1 = 1; + bit_8 = 8; + bit_4 = 4; + bit_2 = 2; + image_1 = 22872; + image_2 = 22876; + image_3 = 22874; + offset = (rct_xy8) {1, 31}; + box_size = (struct rct_xy16) {.x=30, .y=1}; + box_offset = (struct rct_xy16) {.x=1, .y=31}; + break; - case 1: - // Bottom left - bit_1 = 1; - bit_8 = 2; - bit_4 = 4; - bit_2 = 8; - image_1 = 22873; - image_2 = 22877; - image_3 = 22875; - offset = (rct_xy8) {31, 0}; - box_size = (struct rct_xy16) {.x=1, .y=30}; - box_offset = (struct rct_xy16) {.x=31, .y=1}; - break; + case 1: + // Bottom left + bit_1 = 1; + bit_8 = 2; + bit_4 = 4; + bit_2 = 8; + image_1 = 22873; + image_2 = 22877; + image_3 = 22875; + offset = (rct_xy8) {31, 0}; + box_size = (struct rct_xy16) {.x=1, .y=30}; + box_offset = (struct rct_xy16) {.x=31, .y=1}; + break; - case 2: - // Top left - bit_1 = 4; - bit_8 = 2; - bit_4 = 8; - bit_2 = 1; - image_1 = 22872; - image_2 = 22874; - image_3 = 22876; - offset = (rct_xy8) {1, 0}; - box_size = (struct rct_xy16) {30, 1}; - box_offset = (struct rct_xy16) {1, 1}; - // TODO: Fences on top tile get clipped after a while - break; + case 2: + // Top left + bit_1 = 4; + bit_8 = 2; + bit_4 = 8; + bit_2 = 1; + image_1 = 22872; + image_2 = 22874; + image_3 = 22876; + offset = (rct_xy8) {1, 0}; + box_size = (struct rct_xy16) {30, 1}; + box_offset = (struct rct_xy16) {1, 1}; + // TODO: Fences on top tile get clipped after a while + break; - case 3: - // Top right - bit_1 = 4; - bit_8 = 8; - bit_4 = 2; - bit_2 = 1; - image_1 = 22873; - image_2 = 22875; - image_3 = 22877; - offset = (rct_xy8) {1, 1}; - box_size = (struct rct_xy16) {1, 30}; - box_offset = (struct rct_xy16) {1, 1}; - break; - } + case 3: + // Top right + bit_1 = 4; + bit_8 = 8; + bit_4 = 2; + bit_2 = 1; + image_1 = 22873; + image_2 = 22875; + image_3 = 22877; + offset = (rct_xy8) {1, 1}; + box_size = (struct rct_xy16) {1, 30}; + box_offset = (struct rct_xy16) {1, 1}; + break; + } - uint32 image_4, image_5; - if (i == 0 || i == 1) { - image_4 = image_3; - image_5 = image_2; - } else { - image_4 = image_2; - image_5 = image_3; - } + uint32 image_4, image_5; + if (i == 0 || i == 1) { + image_4 = image_3; + image_5 = image_2; + } else { + image_4 = image_2; + image_5 = image_3; + } - sint32 local_ebx = surfaceShape; - sint32 local_height = height; - sint32 image_id = 0; - if (!(local_ebx & bit_1)) { // first - if (local_ebx & bit_8) { // second - image_id = image_3; - } else { - image_id = image_1; - } - } else if (!(local_ebx & bit_8)) { // loc_6619A2: - image_id = image_2; - } else { - local_height += 16; + sint32 local_ebx = surfaceShape; + sint32 local_height = height; + sint32 image_id = 0; + if (!(local_ebx & bit_1)) { // first + if (local_ebx & bit_8) { // second + image_id = image_3; + } else { + image_id = image_1; + } + } else if (!(local_ebx & bit_8)) { // loc_6619A2: + image_id = image_2; + } else { + local_height += 16; - if (!(local_ebx & 0x10)) { // loc_6619B5 (first) - image_id = image_1; - } else if (local_ebx & bit_4) { // loc_6619B5 (second) - image_id = image_4; - } else if (local_ebx & bit_2) { // loc_6619B5 (third) - image_id = image_5; - } else { - image_id = image_1; - } - } + if (!(local_ebx & 0x10)) { // loc_6619B5 (first) + image_id = image_1; + } else if (local_ebx & bit_4) { // loc_6619B5 (second) + image_id = image_4; + } else if (local_ebx & bit_2) { // loc_6619B5 (third) + image_id = image_5; + } else { + image_id = image_1; + } + } - sub_98197C(image_id, offset.x, offset.y, box_size.x, box_size.y, 9, local_height, box_offset.x, box_offset.y, local_height + 1, rotation); - } - } + sub_98197C(image_id, offset.x, offset.y, box_size.x, box_size.y, 9, local_height, box_offset.x, box_offset.y, local_height + 1, rotation); + } + } - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_TERRAIN; - g141E9DB |= G141E9DB_FLAG_1; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_TERRAIN; + g141E9DB |= G141E9DB_FLAG_1; - switch (surfaceShape) { - default: - // loc_661C2C - // 00 - // 00 00 - // 00 00 00 - // 00 00 - // 00 - paint_util_set_segment_support_height( - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, - height, - 0 - ); - paint_util_force_set_general_support_height(height, 0); - break; + switch (surfaceShape) { + default: + // loc_661C2C + // 00 + // 00 00 + // 00 00 00 + // 00 00 + // 00 + paint_util_set_segment_support_height( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, + height, + 0 + ); + paint_util_force_set_general_support_height(height, 0); + break; - case 1: - // loc_661CB9 - // 00 - // 00 00 - // 01 01 01 - // 1B 1B - // 1B - paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, height, 0); - paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height, 1); - paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_D4, height + 6, 0x1B); - paint_util_set_segment_support_height(SEGMENT_C0, height + 6 + 6, 0x1B); - paint_util_force_set_general_support_height(height, 1); - break; + case 1: + // loc_661CB9 + // 00 + // 00 00 + // 01 01 01 + // 1B 1B + // 1B + paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, height, 0); + paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height, 1); + paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_D4, height + 6, 0x1B); + paint_util_set_segment_support_height(SEGMENT_C0, height + 6 + 6, 0x1B); + paint_util_force_set_general_support_height(height, 1); + break; - case 2: - // loc_661D4E - // 02 - // 17 00 - // 17 02 00 - // 17 00 - // 02 - paint_util_set_segment_support_height(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, height, 0); - paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height, 2); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_D0, height + 6, 0x17); - paint_util_set_segment_support_height(SEGMENT_B8, height + 6 + 6, 0x17); - paint_util_force_set_general_support_height(height, 2); - break; + case 2: + // loc_661D4E + // 02 + // 17 00 + // 17 02 00 + // 17 00 + // 02 + paint_util_set_segment_support_height(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, height, 0); + paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height, 2); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_D0, height + 6, 0x17); + paint_util_set_segment_support_height(SEGMENT_B8, height + 6 + 6, 0x17); + paint_util_force_set_general_support_height(height, 2); + break; - case 3: - // loc_661DE3 - // 03 - // 03 03 - // 03 03 03 - // 03 03 - // 03 - paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC, height + 2, 3); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, height + 2 + 6, 3); - paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0, height + 2 + 6 + 6, 3); - paint_util_force_set_general_support_height(height, 3); - break; + case 3: + // loc_661DE3 + // 03 + // 03 03 + // 03 03 03 + // 03 03 + // 03 + paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC, height + 2, 3); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, height + 2 + 6, 3); + paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0, height + 2 + 6 + 6, 3); + paint_util_force_set_general_support_height(height, 3); + break; - case 4: - // loc_661E7C - // 1E - // 1E 1E - // 04 04 04 - // 00 00 - // 00 - paint_util_set_segment_support_height(SEGMENT_C0 | SEGMENT_D0 | SEGMENT_D4, height, 0); - paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height, 4); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC, height + 6, 0x1E); - paint_util_set_segment_support_height(SEGMENT_B4, height + 6 + 6, 0x1E); - paint_util_force_set_general_support_height(height, 4); - break; + case 4: + // loc_661E7C + // 1E + // 1E 1E + // 04 04 04 + // 00 00 + // 00 + paint_util_set_segment_support_height(SEGMENT_C0 | SEGMENT_D0 | SEGMENT_D4, height, 0); + paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height, 4); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC, height + 6, 0x1E); + paint_util_set_segment_support_height(SEGMENT_B4, height + 6 + 6, 0x1E); + paint_util_force_set_general_support_height(height, 4); + break; - case 5: - // loc_661F11 - // 1E â–“â–“ - // 1E 1E â–’â–’ â–’â–’ - // 05 05 05 â–‘â–‘ â–‘â–‘ â–‘â–‘ - // 1B 1B â–’â–’ â–’â–’ - // 1B â–“â–“ - paint_util_set_segment_support_height(SEGMENT_B4, height + 6 + 6, 0x1E); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC, height + 6, 0x1E); - paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height, 5); - paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_D4, height + 6, 0x1B); - paint_util_set_segment_support_height(SEGMENT_C0, height + 6 + 6, 0x1B); - paint_util_force_set_general_support_height(height, 5); - break; + case 5: + // loc_661F11 + // 1E â–“â–“ + // 1E 1E â–’â–’ â–’â–’ + // 05 05 05 â–‘â–‘ â–‘â–‘ â–‘â–‘ + // 1B 1B â–’â–’ â–’â–’ + // 1B â–“â–“ + paint_util_set_segment_support_height(SEGMENT_B4, height + 6 + 6, 0x1E); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC, height + 6, 0x1E); + paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height, 5); + paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_D4, height + 6, 0x1B); + paint_util_set_segment_support_height(SEGMENT_C0, height + 6 + 6, 0x1B); + paint_util_force_set_general_support_height(height, 5); + break; - case 6: - // loc_661FA6 - // 06 â–“â–“ - // 06 06 â–“â–“ â–’â–’ - // 06 06 06 â–“â–“ â–’â–’ â–‘â–‘ - // 06 06 â–’â–’ â–‘â–‘ - // 06 â–‘â–‘ - paint_util_set_segment_support_height(SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0, height + 2, 6); - paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, height + 2 + 6, 6); - paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4, height + 2 + 6 + 6, 6); - paint_util_force_set_general_support_height(height, 6); - break; + case 6: + // loc_661FA6 + // 06 â–“â–“ + // 06 06 â–“â–“ â–’â–’ + // 06 06 06 â–“â–“ â–’â–’ â–‘â–‘ + // 06 06 â–’â–’ â–‘â–‘ + // 06 â–‘â–‘ + paint_util_set_segment_support_height(SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0, height + 2, 6); + paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, height + 2 + 6, 6); + paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4, height + 2 + 6 + 6, 6); + paint_util_force_set_general_support_height(height, 6); + break; - case 7: - // loc_66203F - // 07 â–“â–“ - // 00 17 â–“â–“ â–’â–’ - // 00 07 17 â–“â–“ â–“â–“ â–‘â–‘ - // 00 17 â–“â–“ â–’â–’ - // 07 â–“â–“ - paint_util_set_segment_support_height(SEGMENT_BC, height + 4, 0x17); - paint_util_set_segment_support_height(SEGMENT_CC | SEGMENT_D4, height + 4 + 6, 0x17); - paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height + 4 + 6 + 6, 7); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_D0 | SEGMENT_B8, height + 4 + 6 + 6, 0); - paint_util_force_set_general_support_height(height, 7); - break; + case 7: + // loc_66203F + // 07 â–“â–“ + // 00 17 â–“â–“ â–’â–’ + // 00 07 17 â–“â–“ â–“â–“ â–‘â–‘ + // 00 17 â–“â–“ â–’â–’ + // 07 â–“â–“ + paint_util_set_segment_support_height(SEGMENT_BC, height + 4, 0x17); + paint_util_set_segment_support_height(SEGMENT_CC | SEGMENT_D4, height + 4 + 6, 0x17); + paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height + 4 + 6 + 6, 7); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_D0 | SEGMENT_B8, height + 4 + 6 + 6, 0); + paint_util_force_set_general_support_height(height, 7); + break; - case 8: - // loc_6620D8 - paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_D0, height, 0); - paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height, 8); - paint_util_set_segment_support_height(SEGMENT_CC | SEGMENT_D4, height + 6, 0x1D); - paint_util_set_segment_support_height(SEGMENT_BC, height + 6 + 6, 0x1D); - paint_util_force_set_general_support_height(height, 8); - break; + case 8: + // loc_6620D8 + paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_D0, height, 0); + paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height, 8); + paint_util_set_segment_support_height(SEGMENT_CC | SEGMENT_D4, height + 6, 0x1D); + paint_util_set_segment_support_height(SEGMENT_BC, height + 6 + 6, 0x1D); + paint_util_force_set_general_support_height(height, 8); + break; - case 9: - // loc_66216D - paint_util_force_set_general_support_height(height, 9); - paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8, height + 2, 9); - paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, height + 2 + 6, 9); - paint_util_set_segment_support_height(SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC, height + 2 + 6 + 6, 9); - break; + case 9: + // loc_66216D + paint_util_force_set_general_support_height(height, 9); + paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8, height + 2, 9); + paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, height + 2 + 6, 9); + paint_util_set_segment_support_height(SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC, height + 2 + 6 + 6, 9); + break; - case 10: - // loc_662206 - paint_util_force_set_general_support_height(height, 0xA); - paint_util_set_segment_support_height(SEGMENT_B8, height + 6 + 6, 0x17); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_D0, height + 6, 0x17); - paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height, 0xA); - paint_util_set_segment_support_height(SEGMENT_CC | SEGMENT_D4, height + 6, 0x1D); - paint_util_set_segment_support_height(SEGMENT_BC, height + 6 + 6, 0x1D); - break; + case 10: + // loc_662206 + paint_util_force_set_general_support_height(height, 0xA); + paint_util_set_segment_support_height(SEGMENT_B8, height + 6 + 6, 0x17); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_D0, height + 6, 0x17); + paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height, 0xA); + paint_util_set_segment_support_height(SEGMENT_CC | SEGMENT_D4, height + 6, 0x1D); + paint_util_set_segment_support_height(SEGMENT_BC, height + 6 + 6, 0x1D); + break; - case 11: - // loc_66229B - paint_util_force_set_general_support_height(height, 0xB); - paint_util_set_segment_support_height(SEGMENT_B4, height + 4, 0x1B); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC, height + 4 + 6, 0x1B); - paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height + 4 + 6 + 6, 0xB); - paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C0, height + 4 + 6 + 6, 0); - break; + case 11: + // loc_66229B + paint_util_force_set_general_support_height(height, 0xB); + paint_util_set_segment_support_height(SEGMENT_B4, height + 4, 0x1B); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC, height + 4 + 6, 0x1B); + paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height + 4 + 6 + 6, 0xB); + paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C0, height + 4 + 6 + 6, 0); + break; - case 12: - // loc_662334 - paint_util_force_set_general_support_height(height, 0xC); - paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0, height + 2, 0xC); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, height + 2 + 6, 0xC); - paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC, height + 2 + 6 + 6, 0xC); - break; + case 12: + // loc_662334 + paint_util_force_set_general_support_height(height, 0xC); + paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0, height + 2, 0xC); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, height + 2 + 6, 0xC); + paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC, height + 2 + 6 + 6, 0xC); + break; - case 13: - // loc_6623CD - paint_util_force_set_general_support_height(height, 0xD); - paint_util_set_segment_support_height(SEGMENT_B8, height + 4, 0x1D); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_D0, height + 4 + 6, 0x1D); - paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height + 4 + 6 + 6, 0xD); - paint_util_set_segment_support_height(SEGMENT_CC | SEGMENT_D4 | SEGMENT_BC, height + 4 + 6 + 6, 0); - break; + case 13: + // loc_6623CD + paint_util_force_set_general_support_height(height, 0xD); + paint_util_set_segment_support_height(SEGMENT_B8, height + 4, 0x1D); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_D0, height + 4 + 6, 0x1D); + paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height + 4 + 6 + 6, 0xD); + paint_util_set_segment_support_height(SEGMENT_CC | SEGMENT_D4 | SEGMENT_BC, height + 4 + 6 + 6, 0); + break; - case 14: - // loc_662466 - paint_util_force_set_general_support_height(height, 0xE); - paint_util_set_segment_support_height(SEGMENT_C0, height + 4, 0x1E); - paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_D4, height + 4 + 6, 0x1E); - paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height + 4 + 6 + 6, 0xE); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC | SEGMENT_B4, height + 4 + 6 + 6, 0); - break; + case 14: + // loc_662466 + paint_util_force_set_general_support_height(height, 0xE); + paint_util_set_segment_support_height(SEGMENT_C0, height + 4, 0x1E); + paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_D4, height + 4 + 6, 0x1E); + paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height + 4 + 6 + 6, 0xE); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC | SEGMENT_B4, height + 4 + 6 + 6, 0); + break; - case 23: - // loc_6624FF - paint_util_force_set_general_support_height(height, 0x17); - paint_util_set_segment_support_height(SEGMENT_BC, height + 4, 0x17); - paint_util_set_segment_support_height(SEGMENT_CC | SEGMENT_D4, height + 4 + 6, 0x17); - paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height + 4 + 6 + 6, 0x17); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_D0, height + 4 + 6 + 6 + 6, 0x17); - paint_util_set_segment_support_height(SEGMENT_B8, height + 4 + 6 + 6 + 6 + 6, 0x17); - break; + case 23: + // loc_6624FF + paint_util_force_set_general_support_height(height, 0x17); + paint_util_set_segment_support_height(SEGMENT_BC, height + 4, 0x17); + paint_util_set_segment_support_height(SEGMENT_CC | SEGMENT_D4, height + 4 + 6, 0x17); + paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height + 4 + 6 + 6, 0x17); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_D0, height + 4 + 6 + 6 + 6, 0x17); + paint_util_set_segment_support_height(SEGMENT_B8, height + 4 + 6 + 6 + 6 + 6, 0x17); + break; - case 27: - // loc_6625A0 - paint_util_force_set_general_support_height(height, 0x1B); - paint_util_set_segment_support_height(SEGMENT_B4, height + 4, 0x1B); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC, height + 4 + 6, 0x1B); - paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height + 4 + 6 + 6, 0x1B); - paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_D4, height + 4 + 6 + 6 + 6, 0x1B); - paint_util_set_segment_support_height(SEGMENT_C0, height + 4 + 6 + 6 + 6 + 6, 0x1B); - break; + case 27: + // loc_6625A0 + paint_util_force_set_general_support_height(height, 0x1B); + paint_util_set_segment_support_height(SEGMENT_B4, height + 4, 0x1B); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC, height + 4 + 6, 0x1B); + paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height + 4 + 6 + 6, 0x1B); + paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_D4, height + 4 + 6 + 6 + 6, 0x1B); + paint_util_set_segment_support_height(SEGMENT_C0, height + 4 + 6 + 6 + 6 + 6, 0x1B); + break; - case 29: - // loc_662641 - paint_util_force_set_general_support_height(height, 0x1D); - paint_util_set_segment_support_height(SEGMENT_B8, height + 4, 0x1D); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_D0, height + 4 + 6, 0x1D); - paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height + 4 + 6 + 6, 0x1D); - paint_util_set_segment_support_height(SEGMENT_CC | SEGMENT_D4, height + 4 + 6 + 6 + 6, 0x1D); - paint_util_set_segment_support_height(SEGMENT_BC, height + 4 + 6 + 6 + 6 + 6, 0x1D); - break; + case 29: + // loc_662641 + paint_util_force_set_general_support_height(height, 0x1D); + paint_util_set_segment_support_height(SEGMENT_B8, height + 4, 0x1D); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_D0, height + 4 + 6, 0x1D); + paint_util_set_segment_support_height(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C0, height + 4 + 6 + 6, 0x1D); + paint_util_set_segment_support_height(SEGMENT_CC | SEGMENT_D4, height + 4 + 6 + 6 + 6, 0x1D); + paint_util_set_segment_support_height(SEGMENT_BC, height + 4 + 6 + 6 + 6 + 6, 0x1D); + break; - case 30: - // loc_6626E2 - paint_util_force_set_general_support_height(height, 0x1E); - paint_util_set_segment_support_height(SEGMENT_C0, height + 4, 0x1E); - paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_D4, height + 4 + 6, 0x1E); - paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height + 4 + 6 + 6, 0x1E); - paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC, height + 4 + 6 + 6 + 6, 0x1E); - paint_util_set_segment_support_height(SEGMENT_B4, height + 4 + 6 + 6 + 6 + 6, 0x1E); - break; - } + case 30: + // loc_6626E2 + paint_util_force_set_general_support_height(height, 0x1E); + paint_util_set_segment_support_height(SEGMENT_C0, height + 4, 0x1E); + paint_util_set_segment_support_height(SEGMENT_D0 | SEGMENT_D4, height + 4 + 6, 0x1E); + paint_util_set_segment_support_height(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_BC, height + 4 + 6 + 6, 0x1E); + paint_util_set_segment_support_height(SEGMENT_C8 | SEGMENT_CC, height + 4 + 6 + 6 + 6, 0x1E); + paint_util_set_segment_support_height(SEGMENT_B4, height + 4 + 6 + 6 + 6 + 6, 0x1E); + break; + } } diff --git a/src/openrct2/paint/paint.c b/src/openrct2/paint/paint.c index d0c621ca57..fecac29b02 100644 --- a/src/openrct2/paint/paint.c +++ b/src/openrct2/paint/paint.c @@ -27,8 +27,8 @@ uint8 gClipHeight = 128; // Default to middle value const uint32 construction_markers[] = { - COLOUR_DARK_GREEN << 19 | COLOUR_GREY << 24 | IMAGE_TYPE_REMAP, // White - PALETTE_DARKEN_2 << 19 | IMAGE_TYPE_TRANSPARENT, // Translucent + COLOUR_DARK_GREEN << 19 | COLOUR_GREY << 24 | IMAGE_TYPE_REMAP, // White + PALETTE_DARKEN_2 << 19 | IMAGE_TYPE_TRANSPARENT, // Translucent }; paint_struct * g_ps_F1AD28; @@ -60,19 +60,19 @@ support_height gSupport; #endif static const uint8 BoundBoxDebugColours[] = { - 0, // NONE - 102, // TERRAIN - 114, // SPRITE - 229, // RIDE - 126, // WATER - 138, // SCENERY - 150, // FOOTPATH - 162, // FOOTPATH_ITEM - 174, // PARK - 186, // WALL - 198, // LARGE_SCENERY - 210, // LABEL - 222, // BANNER + 0, // NONE + 102, // TERRAIN + 114, // SPRITE + 229, // RIDE + 126, // WATER + 138, // SCENERY + 150, // FOOTPATH + 162, // FOOTPATH_ITEM + 174, // PARK + 186, // WALL + 198, // LARGE_SCENERY + 210, // LABEL + 222, // BANNER }; bool gPaintBoundingBoxes; @@ -88,31 +88,31 @@ static uint32 paint_ps_colourify_image(uint32 imageId, uint8 spriteType, uint32 */ void paint_init(rct_drawpixelinfo * dpi) { - unk_140E9A8 = dpi; - gEndOfPaintStructArray = &gPaintStructs[4000 - 1]; - gNextFreePaintStruct = gPaintStructs; - g_ps_F1AD28 = NULL; - g_aps_F1AD2C = NULL; - for (sint32 i = 0; i < 512; i++) { - _paintQuadrants[i] = NULL; - } - _paintQuadrantBackIndex = -1; - _paintQuadrantFrontIndex = 0; - gPaintPSStringHead = NULL; - _paintLastPSString = NULL; - gWoodenSupportsPrependTo = NULL; + unk_140E9A8 = dpi; + gEndOfPaintStructArray = &gPaintStructs[4000 - 1]; + gNextFreePaintStruct = gPaintStructs; + g_ps_F1AD28 = NULL; + g_aps_F1AD2C = NULL; + for (sint32 i = 0; i < 512; i++) { + _paintQuadrants[i] = NULL; + } + _paintQuadrantBackIndex = -1; + _paintQuadrantFrontIndex = 0; + gPaintPSStringHead = NULL; + _paintLastPSString = NULL; + gWoodenSupportsPrependTo = NULL; } static void paint_add_ps_to_quadrant(paint_struct * ps, sint32 positionHash) { - uint32 paintQuadrantIndex = clamp(0, positionHash / 32, MAX_PAINT_QUADRANTS - 1); + uint32 paintQuadrantIndex = clamp(0, positionHash / 32, MAX_PAINT_QUADRANTS - 1); - ps->var_18 = paintQuadrantIndex; - ps->next_quadrant_ps = _paintQuadrants[paintQuadrantIndex]; - _paintQuadrants[paintQuadrantIndex] = ps; + ps->var_18 = paintQuadrantIndex; + ps->next_quadrant_ps = _paintQuadrants[paintQuadrantIndex]; + _paintQuadrants[paintQuadrantIndex] = ps; - _paintQuadrantBackIndex = min(_paintQuadrantBackIndex, paintQuadrantIndex); - _paintQuadrantFrontIndex = max(_paintQuadrantFrontIndex, paintQuadrantIndex); + _paintQuadrantBackIndex = min(_paintQuadrantBackIndex, paintQuadrantIndex); + _paintQuadrantFrontIndex = max(_paintQuadrantFrontIndex, paintQuadrantIndex); } /** @@ -120,90 +120,90 @@ static void paint_add_ps_to_quadrant(paint_struct * ps, sint32 positionHash) */ static paint_struct * sub_9819_c(uint32 image_id, rct_xyz16 offset, rct_xyz16 boundBoxSize, rct_xyz16 boundBoxOffset, uint8 rotation) { - if (gNextFreePaintStruct >= gEndOfPaintStructArray) return NULL; - paint_struct * ps = &gNextFreePaintStruct->basic; + if (gNextFreePaintStruct >= gEndOfPaintStructArray) return NULL; + paint_struct * ps = &gNextFreePaintStruct->basic; - ps->image_id = image_id; + ps->image_id = image_id; - uint32 image_element = image_id & 0x7FFFF; - rct_g1_element * g1Element = gfx_get_g1_element(image_element); + uint32 image_element = image_id & 0x7FFFF; + rct_g1_element * g1Element = gfx_get_g1_element(image_element); - switch (rotation) { - case 0: - rotate_map_coordinates(&offset.x, &offset.y, 0); - break; - case 1: - rotate_map_coordinates(&offset.x, &offset.y, 3); - break; - case 2: - rotate_map_coordinates(&offset.x, &offset.y, 2); - break; - case 3: - rotate_map_coordinates(&offset.x, &offset.y, 1); - break; - } - offset.x += gUnk9DE568; - offset.y += gUnk9DE56C; + switch (rotation) { + case 0: + rotate_map_coordinates(&offset.x, &offset.y, 0); + break; + case 1: + rotate_map_coordinates(&offset.x, &offset.y, 3); + break; + case 2: + rotate_map_coordinates(&offset.x, &offset.y, 2); + break; + case 3: + rotate_map_coordinates(&offset.x, &offset.y, 1); + break; + } + offset.x += gUnk9DE568; + offset.y += gUnk9DE56C; - rct_xy16 map = coordinate_3d_to_2d(&offset, rotation); + rct_xy16 map = coordinate_3d_to_2d(&offset, rotation); - ps->x = map.x; - ps->y = map.y; + ps->x = map.x; + ps->y = map.y; - sint32 left = map.x + g1Element->x_offset; - sint32 bottom = map.y + g1Element->y_offset; + sint32 left = map.x + g1Element->x_offset; + sint32 bottom = map.y + g1Element->y_offset; - sint32 right = left + g1Element->width; - sint32 top = bottom + g1Element->height; + sint32 right = left + g1Element->width; + sint32 top = bottom + g1Element->height; - rct_drawpixelinfo * dpi = unk_140E9A8; + rct_drawpixelinfo * dpi = unk_140E9A8; - if (right <= dpi->x)return NULL; - if (top <= dpi->y)return NULL; - if (left >= dpi->x + dpi->width)return NULL; - if (bottom >= dpi->y + dpi->height)return NULL; + if (right <= dpi->x)return NULL; + if (top <= dpi->y)return NULL; + if (left >= dpi->x + dpi->width)return NULL; + if (bottom >= dpi->y + dpi->height)return NULL; - // This probably rotates the variables so they're relative to rotation 0. - switch (rotation) { - case 0: - boundBoxSize.x--; - boundBoxSize.y--; - rotate_map_coordinates(&boundBoxOffset.x, &boundBoxOffset.y, 0); - rotate_map_coordinates(&boundBoxSize.x, &boundBoxSize.y, 0); - break; - case 1: - boundBoxSize.x--; - rotate_map_coordinates(&boundBoxOffset.x, &boundBoxOffset.y, 3); - rotate_map_coordinates(&boundBoxSize.x, &boundBoxSize.y, 3); - break; - case 2: - rotate_map_coordinates(&boundBoxSize.x, &boundBoxSize.y, 2); - rotate_map_coordinates(&boundBoxOffset.x, &boundBoxOffset.y, 2); - break; - case 3: - boundBoxSize.y--; - rotate_map_coordinates(&boundBoxSize.x, &boundBoxSize.y, 1); - rotate_map_coordinates(&boundBoxOffset.x, &boundBoxOffset.y, 1); - break; - } + // This probably rotates the variables so they're relative to rotation 0. + switch (rotation) { + case 0: + boundBoxSize.x--; + boundBoxSize.y--; + rotate_map_coordinates(&boundBoxOffset.x, &boundBoxOffset.y, 0); + rotate_map_coordinates(&boundBoxSize.x, &boundBoxSize.y, 0); + break; + case 1: + boundBoxSize.x--; + rotate_map_coordinates(&boundBoxOffset.x, &boundBoxOffset.y, 3); + rotate_map_coordinates(&boundBoxSize.x, &boundBoxSize.y, 3); + break; + case 2: + rotate_map_coordinates(&boundBoxSize.x, &boundBoxSize.y, 2); + rotate_map_coordinates(&boundBoxOffset.x, &boundBoxOffset.y, 2); + break; + case 3: + boundBoxSize.y--; + rotate_map_coordinates(&boundBoxSize.x, &boundBoxSize.y, 1); + rotate_map_coordinates(&boundBoxOffset.x, &boundBoxOffset.y, 1); + break; + } - ps->bound_box_x_end = boundBoxSize.x + boundBoxOffset.x + gUnk9DE568; - ps->bound_box_z = boundBoxOffset.z; - ps->bound_box_z_end = boundBoxOffset.z + boundBoxSize.z; - ps->bound_box_y_end = boundBoxSize.y + boundBoxOffset.y + gUnk9DE56C; - ps->flags = 0; - ps->bound_box_x = boundBoxOffset.x + gUnk9DE568; - ps->bound_box_y = boundBoxOffset.y + gUnk9DE56C; - ps->attached_ps = NULL; - ps->var_20 = NULL; - ps->sprite_type = gPaintInteractionType; - ps->var_29 = 0; - ps->map_x = gPaintMapPosition.x; - ps->map_y = gPaintMapPosition.y; - ps->mapElement = g_currently_drawn_item; + ps->bound_box_x_end = boundBoxSize.x + boundBoxOffset.x + gUnk9DE568; + ps->bound_box_z = boundBoxOffset.z; + ps->bound_box_z_end = boundBoxOffset.z + boundBoxSize.z; + ps->bound_box_y_end = boundBoxSize.y + boundBoxOffset.y + gUnk9DE56C; + ps->flags = 0; + ps->bound_box_x = boundBoxOffset.x + gUnk9DE568; + ps->bound_box_y = boundBoxOffset.y + gUnk9DE56C; + ps->attached_ps = NULL; + ps->var_20 = NULL; + ps->sprite_type = gPaintInteractionType; + ps->var_29 = 0; + ps->map_x = gPaintMapPosition.x; + ps->map_y = gPaintMapPosition.y; + ps->mapElement = g_currently_drawn_item; - return ps; + return ps; } /** @@ -220,130 +220,130 @@ static paint_struct * sub_9819_c(uint32 image_id, rct_xyz16 offset, rct_xyz16 bo * @return (ebp) paint_struct on success (CF == 0), NULL on failure (CF == 1) */ paint_struct * sub_98196C( - uint32 image_id, - sint8 x_offset, sint8 y_offset, - sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, - sint16 z_offset, - uint32 rotation + uint32 image_id, + sint8 x_offset, sint8 y_offset, + sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, + sint16 z_offset, + uint32 rotation ) { - assert((uint16) bound_box_length_x == (sint16) bound_box_length_x); - assert((uint16) bound_box_length_y == (sint16) bound_box_length_y); + assert((uint16) bound_box_length_x == (sint16) bound_box_length_x); + assert((uint16) bound_box_length_y == (sint16) bound_box_length_y); - g_ps_F1AD28 = 0; - g_aps_F1AD2C = NULL; + g_ps_F1AD28 = 0; + g_aps_F1AD2C = NULL; - if (gNextFreePaintStruct >= gEndOfPaintStructArray) { - return NULL; - } + if (gNextFreePaintStruct >= gEndOfPaintStructArray) { + return NULL; + } - paint_struct *ps = &gNextFreePaintStruct->basic; - ps->image_id = image_id; + paint_struct *ps = &gNextFreePaintStruct->basic; + ps->image_id = image_id; - uint32 image_element = image_id & 0x7FFFF; - rct_g1_element *g1Element = gfx_get_g1_element(image_element); + uint32 image_element = image_id & 0x7FFFF; + rct_g1_element *g1Element = gfx_get_g1_element(image_element); - rct_xyz16 coord_3d = { - .x = x_offset, // ax - .y = y_offset, // cx - .z = z_offset - }; + rct_xyz16 coord_3d = { + .x = x_offset, // ax + .y = y_offset, // cx + .z = z_offset + }; - rct_xyz16 boundBox = { - .x = bound_box_length_x, // di - .y = bound_box_length_y, // si - .z = bound_box_length_z, - }; + rct_xyz16 boundBox = { + .x = bound_box_length_x, // di + .y = bound_box_length_y, // si + .z = bound_box_length_z, + }; - switch (rotation) { - case 0: - rotate_map_coordinates(&coord_3d.x, &coord_3d.y, MAP_ELEMENT_DIRECTION_WEST); + switch (rotation) { + case 0: + rotate_map_coordinates(&coord_3d.x, &coord_3d.y, MAP_ELEMENT_DIRECTION_WEST); - boundBox.x--; - boundBox.y--; - rotate_map_coordinates(&boundBox.x, &boundBox.y, MAP_ELEMENT_DIRECTION_WEST); - break; + boundBox.x--; + boundBox.y--; + rotate_map_coordinates(&boundBox.x, &boundBox.y, MAP_ELEMENT_DIRECTION_WEST); + break; - case 1: - rotate_map_coordinates(&coord_3d.x, &coord_3d.y, MAP_ELEMENT_DIRECTION_SOUTH); + case 1: + rotate_map_coordinates(&coord_3d.x, &coord_3d.y, MAP_ELEMENT_DIRECTION_SOUTH); - boundBox.x--; - rotate_map_coordinates(&boundBox.x, &boundBox.y, MAP_ELEMENT_DIRECTION_SOUTH); - break; + boundBox.x--; + rotate_map_coordinates(&boundBox.x, &boundBox.y, MAP_ELEMENT_DIRECTION_SOUTH); + break; - case 2: - rotate_map_coordinates(&coord_3d.x, &coord_3d.y, MAP_ELEMENT_DIRECTION_EAST); - rotate_map_coordinates(&boundBox.x, &boundBox.y, MAP_ELEMENT_DIRECTION_EAST); - break; + case 2: + rotate_map_coordinates(&coord_3d.x, &coord_3d.y, MAP_ELEMENT_DIRECTION_EAST); + rotate_map_coordinates(&boundBox.x, &boundBox.y, MAP_ELEMENT_DIRECTION_EAST); + break; - case 3: - rotate_map_coordinates(&coord_3d.x, &coord_3d.y, MAP_ELEMENT_DIRECTION_NORTH); + case 3: + rotate_map_coordinates(&coord_3d.x, &coord_3d.y, MAP_ELEMENT_DIRECTION_NORTH); - boundBox.y--; - rotate_map_coordinates(&boundBox.x, &boundBox.y, MAP_ELEMENT_DIRECTION_NORTH); - break; - } + boundBox.y--; + rotate_map_coordinates(&boundBox.x, &boundBox.y, MAP_ELEMENT_DIRECTION_NORTH); + break; + } - coord_3d.x += gUnk9DE568; - coord_3d.y += gUnk9DE56C; + coord_3d.x += gUnk9DE568; + coord_3d.y += gUnk9DE56C; - ps->bound_box_x_end = coord_3d.x + boundBox.x; - ps->bound_box_y_end = coord_3d.y + boundBox.y; + ps->bound_box_x_end = coord_3d.x + boundBox.x; + ps->bound_box_y_end = coord_3d.y + boundBox.y; - // TODO: check whether this is right. edx is ((bound_box_length_z + z_offset) << 16 | z_offset) - ps->bound_box_z = coord_3d.z; - ps->bound_box_z_end = (boundBox.z + coord_3d.z); + // TODO: check whether this is right. edx is ((bound_box_length_z + z_offset) << 16 | z_offset) + ps->bound_box_z = coord_3d.z; + ps->bound_box_z_end = (boundBox.z + coord_3d.z); - rct_xy16 map = coordinate_3d_to_2d(&coord_3d, rotation); + rct_xy16 map = coordinate_3d_to_2d(&coord_3d, rotation); - ps->x = map.x; - ps->y = map.y; + ps->x = map.x; + ps->y = map.y; - sint16 left = map.x + g1Element->x_offset; - sint16 bottom = map.y + g1Element->y_offset; + sint16 left = map.x + g1Element->x_offset; + sint16 bottom = map.y + g1Element->y_offset; - sint16 right = left + g1Element->width; - sint16 top = bottom + g1Element->height; + sint16 right = left + g1Element->width; + sint16 top = bottom + g1Element->height; - rct_drawpixelinfo *dpi = unk_140E9A8; + rct_drawpixelinfo *dpi = unk_140E9A8; - if (right <= dpi->x) return NULL; - if (top <= dpi->y) return NULL; - if (left >= (dpi->x + dpi->width)) return NULL; - if (bottom >= (dpi->y + dpi->height)) return NULL; + if (right <= dpi->x) return NULL; + if (top <= dpi->y) return NULL; + if (left >= (dpi->x + dpi->width)) return NULL; + if (bottom >= (dpi->y + dpi->height)) return NULL; - ps->flags = 0; - ps->bound_box_x = coord_3d.x; - ps->bound_box_y = coord_3d.y; - ps->attached_ps = NULL; - ps->var_20 = NULL; - ps->sprite_type = gPaintInteractionType; - ps->var_29 = 0; - ps->map_x = gPaintMapPosition.x; - ps->map_y = gPaintMapPosition.y; - ps->mapElement = g_currently_drawn_item; + ps->flags = 0; + ps->bound_box_x = coord_3d.x; + ps->bound_box_y = coord_3d.y; + ps->attached_ps = NULL; + ps->var_20 = NULL; + ps->sprite_type = gPaintInteractionType; + ps->var_29 = 0; + ps->map_x = gPaintMapPosition.x; + ps->map_y = gPaintMapPosition.y; + ps->mapElement = g_currently_drawn_item; - g_ps_F1AD28 = ps; + g_ps_F1AD28 = ps; - sint32 positionHash = 0; - switch (rotation) { - case 0: - positionHash = coord_3d.y + coord_3d.x; - break; - case 1: - positionHash = coord_3d.y - coord_3d.x + 0x2000; - break; - case 2: - positionHash = -(coord_3d.y + coord_3d.x) + 0x4000; - break; - case 3: - positionHash = coord_3d.x - coord_3d.y + 0x2000; - break; - } - paint_add_ps_to_quadrant(ps, positionHash); + sint32 positionHash = 0; + switch (rotation) { + case 0: + positionHash = coord_3d.y + coord_3d.x; + break; + case 1: + positionHash = coord_3d.y - coord_3d.x + 0x2000; + break; + case 2: + positionHash = -(coord_3d.y + coord_3d.x) + 0x4000; + break; + case 3: + positionHash = coord_3d.x - coord_3d.y + 0x2000; + break; + } + paint_add_ps_to_quadrant(ps, positionHash); - gNextFreePaintStruct++; + gNextFreePaintStruct++; - return ps; + return ps; } /** @@ -363,50 +363,50 @@ paint_struct * sub_98196C( * @return (ebp) paint_struct on success (CF == 0), NULL on failure (CF == 1) */ paint_struct * sub_98197C( - uint32 image_id, - sint8 x_offset, sint8 y_offset, - sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, - sint16 z_offset, - sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, - uint32 rotation + uint32 image_id, + sint8 x_offset, sint8 y_offset, + sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, + sint16 z_offset, + sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, + uint32 rotation ) { - g_ps_F1AD28 = 0; - g_aps_F1AD2C = NULL; + g_ps_F1AD28 = 0; + g_aps_F1AD2C = NULL; - rct_xyz16 offset = {.x = x_offset, .y = y_offset, .z = z_offset}; - rct_xyz16 boundBoxSize = {.x = bound_box_length_x, .y = bound_box_length_y, .z = bound_box_length_z}; - rct_xyz16 boundBoxOffset = {.x = bound_box_offset_x, .y = bound_box_offset_y, .z = bound_box_offset_z}; - paint_struct * ps = sub_9819_c(image_id, offset, boundBoxSize, boundBoxOffset, rotation); + rct_xyz16 offset = {.x = x_offset, .y = y_offset, .z = z_offset}; + rct_xyz16 boundBoxSize = {.x = bound_box_length_x, .y = bound_box_length_y, .z = bound_box_length_z}; + rct_xyz16 boundBoxOffset = {.x = bound_box_offset_x, .y = bound_box_offset_y, .z = bound_box_offset_z}; + paint_struct * ps = sub_9819_c(image_id, offset, boundBoxSize, boundBoxOffset, rotation); - if (ps == NULL) { - return NULL; - } + if (ps == NULL) { + return NULL; + } - g_ps_F1AD28 = ps; + g_ps_F1AD28 = ps; - rct_xy16 attach = { - .x = ps->bound_box_x, - .y = ps->bound_box_y - }; + rct_xy16 attach = { + .x = ps->bound_box_x, + .y = ps->bound_box_y + }; - rotate_map_coordinates(&attach.x, &attach.y, rotation); - switch (rotation) { - case 0: - break; - case 1: - case 3: - attach.x += 0x2000; - break; - case 2: - attach.x += 0x4000; - break; - } + rotate_map_coordinates(&attach.x, &attach.y, rotation); + switch (rotation) { + case 0: + break; + case 1: + case 3: + attach.x += 0x2000; + break; + case 2: + attach.x += 0x4000; + break; + } - sint32 positionHash = attach.x + attach.y; - paint_add_ps_to_quadrant(ps, positionHash); + sint32 positionHash = attach.x + attach.y; + paint_add_ps_to_quadrant(ps, positionHash); - gNextFreePaintStruct++; - return ps; + gNextFreePaintStruct++; + return ps; } /** @@ -427,31 +427,31 @@ paint_struct * sub_98197C( * @return (ebp) paint_struct on success (CF == 0), NULL on failure (CF == 1) */ paint_struct * sub_98198C( - uint32 image_id, - sint8 x_offset, sint8 y_offset, - sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, - sint16 z_offset, - sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, - uint32 rotation + uint32 image_id, + sint8 x_offset, sint8 y_offset, + sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, + sint16 z_offset, + sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, + uint32 rotation ) { - assert((uint16) bound_box_length_x == (sint16) bound_box_length_x); - assert((uint16) bound_box_length_y == (sint16) bound_box_length_y); + assert((uint16) bound_box_length_x == (sint16) bound_box_length_x); + assert((uint16) bound_box_length_y == (sint16) bound_box_length_y); - g_ps_F1AD28 = 0; - g_aps_F1AD2C = NULL; + g_ps_F1AD28 = 0; + g_aps_F1AD2C = NULL; - rct_xyz16 offset = {.x = x_offset, .y = y_offset, .z = z_offset}; - rct_xyz16 boundBoxSize = {.x = bound_box_length_x, .y = bound_box_length_y, .z = bound_box_length_z}; - rct_xyz16 boundBoxOffset = {.x = bound_box_offset_x, .y = bound_box_offset_y, .z = bound_box_offset_z}; - paint_struct * ps = sub_9819_c(image_id, offset, boundBoxSize, boundBoxOffset, rotation); + rct_xyz16 offset = {.x = x_offset, .y = y_offset, .z = z_offset}; + rct_xyz16 boundBoxSize = {.x = bound_box_length_x, .y = bound_box_length_y, .z = bound_box_length_z}; + rct_xyz16 boundBoxOffset = {.x = bound_box_offset_x, .y = bound_box_offset_y, .z = bound_box_offset_z}; + paint_struct * ps = sub_9819_c(image_id, offset, boundBoxSize, boundBoxOffset, rotation); - if (ps == NULL) { - return NULL; - } + if (ps == NULL) { + return NULL; + } - g_ps_F1AD28 = ps; - gNextFreePaintStruct++; - return ps; + g_ps_F1AD28 = ps; + gNextFreePaintStruct++; + return ps; } /** @@ -472,42 +472,42 @@ paint_struct * sub_98198C( * @return (ebp) paint_struct on success (CF == 0), NULL on failure (CF == 1) */ paint_struct * sub_98199C( - uint32 image_id, - sint8 x_offset, sint8 y_offset, - sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, - sint16 z_offset, - sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, - uint32 rotation + uint32 image_id, + sint8 x_offset, sint8 y_offset, + sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, + sint16 z_offset, + sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, + uint32 rotation ) { - assert((uint16) bound_box_length_x == (sint16) bound_box_length_x); - assert((uint16) bound_box_length_y == (sint16) bound_box_length_y); + assert((uint16) bound_box_length_x == (sint16) bound_box_length_x); + assert((uint16) bound_box_length_y == (sint16) bound_box_length_y); - if (g_ps_F1AD28 == NULL) { - return sub_98197C( - image_id, - x_offset, y_offset, - bound_box_length_x, bound_box_length_y, bound_box_length_z, - z_offset, - bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, - rotation - ); - } + if (g_ps_F1AD28 == NULL) { + return sub_98197C( + image_id, + x_offset, y_offset, + bound_box_length_x, bound_box_length_y, bound_box_length_z, + z_offset, + bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, + rotation + ); + } - rct_xyz16 offset = {.x = x_offset, .y = y_offset, .z = z_offset}; - rct_xyz16 boundBox = {.x = bound_box_length_x, .y = bound_box_length_y, .z = bound_box_length_z}; - rct_xyz16 boundBoxOffset = {.x = bound_box_offset_x, .y = bound_box_offset_y, .z = bound_box_offset_z}; - paint_struct * ps = sub_9819_c(image_id, offset, boundBox, boundBoxOffset, rotation); + rct_xyz16 offset = {.x = x_offset, .y = y_offset, .z = z_offset}; + rct_xyz16 boundBox = {.x = bound_box_length_x, .y = bound_box_length_y, .z = bound_box_length_z}; + rct_xyz16 boundBoxOffset = {.x = bound_box_offset_x, .y = bound_box_offset_y, .z = bound_box_offset_z}; + paint_struct * ps = sub_9819_c(image_id, offset, boundBox, boundBoxOffset, rotation); - if (ps == NULL) { - return NULL; - } + if (ps == NULL) { + return NULL; + } - paint_struct *old_ps = g_ps_F1AD28; - old_ps->var_20 = ps; + paint_struct *old_ps = g_ps_F1AD28; + old_ps->var_20 = ps; - g_ps_F1AD28 = ps; - gNextFreePaintStruct++; - return ps; + g_ps_F1AD28 = ps; + gNextFreePaintStruct++; + return ps; } /** @@ -520,29 +520,29 @@ paint_struct * sub_98199C( */ bool paint_attach_to_previous_attach(uint32 image_id, uint16 x, uint16 y) { - if (g_aps_F1AD2C == NULL) { - return paint_attach_to_previous_ps(image_id, x, y); - } + if (g_aps_F1AD2C == NULL) { + return paint_attach_to_previous_ps(image_id, x, y); + } - if (gNextFreePaintStruct >= gEndOfPaintStructArray) { - return false; - } - attached_paint_struct * ps = &gNextFreePaintStruct->attached; - ps->image_id = image_id; - ps->x = x; - ps->y = y; - ps->flags = 0; + if (gNextFreePaintStruct >= gEndOfPaintStructArray) { + return false; + } + attached_paint_struct * ps = &gNextFreePaintStruct->attached; + ps->image_id = image_id; + ps->x = x; + ps->y = y; + ps->flags = 0; - attached_paint_struct * ebx = g_aps_F1AD2C; + attached_paint_struct * ebx = g_aps_F1AD2C; - ps->next = NULL; - ebx->next = ps; + ps->next = NULL; + ebx->next = ps; - g_aps_F1AD2C = ps; + g_aps_F1AD2C = ps; - gNextFreePaintStruct++; + gNextFreePaintStruct++; - return true; + return true; } /** @@ -555,31 +555,31 @@ bool paint_attach_to_previous_attach(uint32 image_id, uint16 x, uint16 y) */ bool paint_attach_to_previous_ps(uint32 image_id, uint16 x, uint16 y) { - if (gNextFreePaintStruct >= gEndOfPaintStructArray) { - return false; - } - attached_paint_struct * ps = &gNextFreePaintStruct->attached; + if (gNextFreePaintStruct >= gEndOfPaintStructArray) { + return false; + } + attached_paint_struct * ps = &gNextFreePaintStruct->attached; - ps->image_id = image_id; - ps->x = x; - ps->y = y; - ps->flags = 0; + ps->image_id = image_id; + ps->x = x; + ps->y = y; + ps->flags = 0; - paint_struct * masterPs = g_ps_F1AD28; - if (masterPs == NULL) { - return false; - } + paint_struct * masterPs = g_ps_F1AD28; + if (masterPs == NULL) { + return false; + } - gNextFreePaintStruct++; + gNextFreePaintStruct++; - attached_paint_struct * oldFirstAttached = masterPs->attached_ps; - masterPs->attached_ps = ps; + attached_paint_struct * oldFirstAttached = masterPs->attached_ps; + masterPs->attached_ps = ps; - ps->next = oldFirstAttached; + ps->next = oldFirstAttached; - g_aps_F1AD2C = ps; + g_aps_F1AD2C = ps; - return true; + return true; } /** @@ -594,33 +594,33 @@ bool paint_attach_to_previous_ps(uint32 image_id, uint16 x, uint16 y) */ void paint_floating_money_effect(money32 amount, rct_string_id string_id, sint16 y, sint16 z, sint8 y_offsets[], sint16 offset_x, uint32 rotation) { - if (gNextFreePaintStruct >= gEndOfPaintStructArray) { - return; - } - paint_string_struct * ps = &gNextFreePaintStruct->string; + if (gNextFreePaintStruct >= gEndOfPaintStructArray) { + return; + } + paint_string_struct * ps = &gNextFreePaintStruct->string; - ps->string_id = string_id; - ps->next = 0; - ps->args[0] = amount; - ps->args[1] = y; - ps->args[2] = 0; - ps->args[3] = 0; - ps->y_offsets = (uint8 *) y_offsets; + ps->string_id = string_id; + ps->next = 0; + ps->args[0] = amount; + ps->args[1] = y; + ps->args[2] = 0; + ps->args[3] = 0; + ps->y_offsets = (uint8 *) y_offsets; - rct_xyz16 position = {.x = gUnk9DE568, .y = gUnk9DE56C, .z = z}; - rct_xy16 coord = coordinate_3d_to_2d(&position, rotation); + rct_xyz16 position = {.x = gUnk9DE568, .y = gUnk9DE56C, .z = z}; + rct_xy16 coord = coordinate_3d_to_2d(&position, rotation); - ps->x = coord.x + offset_x; - ps->y = coord.y; + ps->x = coord.x + offset_x; + ps->y = coord.y; - gNextFreePaintStruct++; + gNextFreePaintStruct++; - if (_paintLastPSString == NULL) { - gPaintPSStringHead = ps; - } else { - _paintLastPSString->next = ps; - } - _paintLastPSString = ps; + if (_paintLastPSString == NULL) { + gPaintPSStringHead = ps; + } else { + _paintLastPSString->next = ps; + } + _paintLastPSString = ps; } /** @@ -629,210 +629,210 @@ void paint_floating_money_effect(money32 amount, rct_string_id string_id, sint16 */ void paint_generate_structs(rct_drawpixelinfo * dpi) { - rct_xy16 mapTile = { - .x = dpi->x & 0xFFE0, - .y = (dpi->y - 16) & 0xFFE0 - }; + rct_xy16 mapTile = { + .x = dpi->x & 0xFFE0, + .y = (dpi->y - 16) & 0xFFE0 + }; - sint16 half_x = mapTile.x >> 1; + sint16 half_x = mapTile.x >> 1; - uint16 num_vertical_quadrants = (dpi->height + 2128) >> 5; + uint16 num_vertical_quadrants = (dpi->height + 2128) >> 5; - switch (get_current_rotation()){ - case 0: - mapTile.x = mapTile.y - half_x; - mapTile.y = mapTile.y + half_x; + switch (get_current_rotation()){ + case 0: + mapTile.x = mapTile.y - half_x; + mapTile.y = mapTile.y + half_x; - mapTile.x &= 0xFFE0; - mapTile.y &= 0xFFE0; + mapTile.x &= 0xFFE0; + mapTile.y &= 0xFFE0; - for (; num_vertical_quadrants > 0; --num_vertical_quadrants){ - map_element_paint_setup(mapTile.x, mapTile.y); - sprite_paint_setup(mapTile.x, mapTile.y); + for (; num_vertical_quadrants > 0; --num_vertical_quadrants){ + map_element_paint_setup(mapTile.x, mapTile.y); + sprite_paint_setup(mapTile.x, mapTile.y); - sprite_paint_setup(mapTile.x - 32, mapTile.y + 32); + sprite_paint_setup(mapTile.x - 32, mapTile.y + 32); - map_element_paint_setup(mapTile.x, mapTile.y + 32); - sprite_paint_setup(mapTile.x, mapTile.y + 32); + map_element_paint_setup(mapTile.x, mapTile.y + 32); + sprite_paint_setup(mapTile.x, mapTile.y + 32); - mapTile.x += 32; - sprite_paint_setup(mapTile.x, mapTile.y); + mapTile.x += 32; + sprite_paint_setup(mapTile.x, mapTile.y); - mapTile.y += 32; - } - break; - case 1: - mapTile.x = -mapTile.y - half_x; - mapTile.y = mapTile.y - half_x - 16; + mapTile.y += 32; + } + break; + case 1: + mapTile.x = -mapTile.y - half_x; + mapTile.y = mapTile.y - half_x - 16; - mapTile.x &= 0xFFE0; - mapTile.y &= 0xFFE0; + mapTile.x &= 0xFFE0; + mapTile.y &= 0xFFE0; - for (; num_vertical_quadrants > 0; --num_vertical_quadrants){ - map_element_paint_setup(mapTile.x, mapTile.y); - sprite_paint_setup(mapTile.x, mapTile.y); + for (; num_vertical_quadrants > 0; --num_vertical_quadrants){ + map_element_paint_setup(mapTile.x, mapTile.y); + sprite_paint_setup(mapTile.x, mapTile.y); - sprite_paint_setup(mapTile.x - 32, mapTile.y - 32); + sprite_paint_setup(mapTile.x - 32, mapTile.y - 32); - map_element_paint_setup(mapTile.x - 32, mapTile.y); - sprite_paint_setup(mapTile.x - 32, mapTile.y); + map_element_paint_setup(mapTile.x - 32, mapTile.y); + sprite_paint_setup(mapTile.x - 32, mapTile.y); - mapTile.y += 32; - sprite_paint_setup(mapTile.x, mapTile.y); + mapTile.y += 32; + sprite_paint_setup(mapTile.x, mapTile.y); - mapTile.x -= 32; - } - break; - case 2: - mapTile.x = -mapTile.y + half_x; - mapTile.y = -mapTile.y - half_x; + mapTile.x -= 32; + } + break; + case 2: + mapTile.x = -mapTile.y + half_x; + mapTile.y = -mapTile.y - half_x; - mapTile.x &= 0xFFE0; - mapTile.y &= 0xFFE0; + mapTile.x &= 0xFFE0; + mapTile.y &= 0xFFE0; - for (; num_vertical_quadrants > 0; --num_vertical_quadrants){ - map_element_paint_setup(mapTile.x, mapTile.y); - sprite_paint_setup(mapTile.x, mapTile.y); + for (; num_vertical_quadrants > 0; --num_vertical_quadrants){ + map_element_paint_setup(mapTile.x, mapTile.y); + sprite_paint_setup(mapTile.x, mapTile.y); - sprite_paint_setup(mapTile.x + 32, mapTile.y - 32); + sprite_paint_setup(mapTile.x + 32, mapTile.y - 32); - map_element_paint_setup(mapTile.x, mapTile.y - 32); - sprite_paint_setup(mapTile.x, mapTile.y - 32); + map_element_paint_setup(mapTile.x, mapTile.y - 32); + sprite_paint_setup(mapTile.x, mapTile.y - 32); - mapTile.x -= 32; + mapTile.x -= 32; - sprite_paint_setup(mapTile.x, mapTile.y); + sprite_paint_setup(mapTile.x, mapTile.y); - mapTile.y -= 32; - } - break; - case 3: - mapTile.x = mapTile.y + half_x; - mapTile.y = -mapTile.y + half_x - 16; + mapTile.y -= 32; + } + break; + case 3: + mapTile.x = mapTile.y + half_x; + mapTile.y = -mapTile.y + half_x - 16; - mapTile.x &= 0xFFE0; - mapTile.y &= 0xFFE0; + mapTile.x &= 0xFFE0; + mapTile.y &= 0xFFE0; - for (; num_vertical_quadrants > 0; --num_vertical_quadrants){ - map_element_paint_setup(mapTile.x, mapTile.y); - sprite_paint_setup(mapTile.x, mapTile.y); + for (; num_vertical_quadrants > 0; --num_vertical_quadrants){ + map_element_paint_setup(mapTile.x, mapTile.y); + sprite_paint_setup(mapTile.x, mapTile.y); - sprite_paint_setup(mapTile.x + 32, mapTile.y + 32); + sprite_paint_setup(mapTile.x + 32, mapTile.y + 32); - map_element_paint_setup(mapTile.x + 32, mapTile.y); - sprite_paint_setup(mapTile.x + 32, mapTile.y); + map_element_paint_setup(mapTile.x + 32, mapTile.y); + sprite_paint_setup(mapTile.x + 32, mapTile.y); - mapTile.y -= 32; + mapTile.y -= 32; - sprite_paint_setup(mapTile.x, mapTile.y); + sprite_paint_setup(mapTile.x, mapTile.y); - mapTile.x += 32; - } - break; - } + mapTile.x += 32; + } + break; + } } static void paint_arrange_structs_helper(paint_struct * ps_next, uint16 ax, uint8 flag) { - paint_struct * ps; - paint_struct * ps_temp; - do { - ps = ps_next; - ps_next = ps_next->next_quadrant_ps; - if (ps_next == NULL) return; - } while (ax > ps_next->var_18); + paint_struct * ps; + paint_struct * ps_temp; + do { + ps = ps_next; + ps_next = ps_next->next_quadrant_ps; + if (ps_next == NULL) return; + } while (ax > ps_next->var_18); - ps_temp = ps; - do { - ps = ps->next_quadrant_ps; - if (ps == NULL) break; + ps_temp = ps; + do { + ps = ps->next_quadrant_ps; + if (ps == NULL) break; - if (ps->var_18 > ax + 1) { - ps->var_1B = 1 << 7; - } - else if (ps->var_18 == ax + 1) { - ps->var_1B = (1 << 1) | (1 << 0); - } - else if (ps->var_18 == ax) { - ps->var_1B = flag | (1 << 0); - } - } while (ps->var_18 <= ax + 1); - ps = ps_temp; + if (ps->var_18 > ax + 1) { + ps->var_1B = 1 << 7; + } + else if (ps->var_18 == ax + 1) { + ps->var_1B = (1 << 1) | (1 << 0); + } + else if (ps->var_18 == ax) { + ps->var_1B = flag | (1 << 0); + } + } while (ps->var_18 <= ax + 1); + ps = ps_temp; - uint8 rotation = get_current_rotation(); - while (true) { - while (true) { - ps_next = ps->next_quadrant_ps; - if (ps_next == NULL) return; - if (ps_next->var_1B & (1 << 7)) return; - if (ps_next->var_1B & (1 << 0)) break; - ps = ps_next; - } + uint8 rotation = get_current_rotation(); + while (true) { + while (true) { + ps_next = ps->next_quadrant_ps; + if (ps_next == NULL) return; + if (ps_next->var_1B & (1 << 7)) return; + if (ps_next->var_1B & (1 << 0)) break; + ps = ps_next; + } - ps_next->var_1B &= ~(1 << 0); - ps_temp = ps; + ps_next->var_1B &= ~(1 << 0); + ps_temp = ps; - typedef struct bound_box { - uint16 x; - uint16 y; - uint16 z; - uint16 x_end; - uint16 y_end; - uint16 z_end; - } bound_box; + typedef struct bound_box { + uint16 x; + uint16 y; + uint16 z; + uint16 x_end; + uint16 y_end; + uint16 z_end; + } bound_box; - bound_box initialBBox = { - .x = ps_next->bound_box_x, - .y = ps_next->bound_box_y, - .z = ps_next->bound_box_z, - .x_end = ps_next->bound_box_x_end, - .y_end = ps_next->bound_box_y_end, - .z_end = ps_next->bound_box_z_end - }; + bound_box initialBBox = { + .x = ps_next->bound_box_x, + .y = ps_next->bound_box_y, + .z = ps_next->bound_box_z, + .x_end = ps_next->bound_box_x_end, + .y_end = ps_next->bound_box_y_end, + .z_end = ps_next->bound_box_z_end + }; - while (true) { - ps = ps_next; - ps_next = ps_next->next_quadrant_ps; - if (ps_next == NULL) break; - if (ps_next->var_1B & (1 << 7)) break; - if (!(ps_next->var_1B & (1 << 1))) continue; + while (true) { + ps = ps_next; + ps_next = ps_next->next_quadrant_ps; + if (ps_next == NULL) break; + if (ps_next->var_1B & (1 << 7)) break; + if (!(ps_next->var_1B & (1 << 1))) continue; - sint32 yes = 0; - switch (rotation) { - case 0: - if (initialBBox.z_end >= ps_next->bound_box_z && initialBBox.y_end >= ps_next->bound_box_y && initialBBox.x_end >= ps_next->bound_box_x - && !(initialBBox.z < ps_next->bound_box_z_end && initialBBox.y < ps_next->bound_box_y_end && initialBBox.x < ps_next->bound_box_x_end)) - yes = 1; - break; - case 1: - if (initialBBox.z_end >= ps_next->bound_box_z && initialBBox.y_end >= ps_next->bound_box_y && initialBBox.x_end < ps_next->bound_box_x - && !(initialBBox.z < ps_next->bound_box_z_end && initialBBox.y < ps_next->bound_box_y_end && initialBBox.x >= ps_next->bound_box_x_end)) - yes = 1; - break; - case 2: - if (initialBBox.z_end >= ps_next->bound_box_z && initialBBox.y_end < ps_next->bound_box_y && initialBBox.x_end < ps_next->bound_box_x - && !(initialBBox.z < ps_next->bound_box_z_end && initialBBox.y >= ps_next->bound_box_y_end && initialBBox.x >= ps_next->bound_box_x_end)) - yes = 1; - break; - case 3: - if (initialBBox.z_end >= ps_next->bound_box_z && initialBBox.y_end < ps_next->bound_box_y && initialBBox.x_end >= ps_next->bound_box_x - && !(initialBBox.z < ps_next->bound_box_z_end && initialBBox.y >= ps_next->bound_box_y_end && initialBBox.x < ps_next->bound_box_x_end)) - yes = 1; - break; - } + sint32 yes = 0; + switch (rotation) { + case 0: + if (initialBBox.z_end >= ps_next->bound_box_z && initialBBox.y_end >= ps_next->bound_box_y && initialBBox.x_end >= ps_next->bound_box_x + && !(initialBBox.z < ps_next->bound_box_z_end && initialBBox.y < ps_next->bound_box_y_end && initialBBox.x < ps_next->bound_box_x_end)) + yes = 1; + break; + case 1: + if (initialBBox.z_end >= ps_next->bound_box_z && initialBBox.y_end >= ps_next->bound_box_y && initialBBox.x_end < ps_next->bound_box_x + && !(initialBBox.z < ps_next->bound_box_z_end && initialBBox.y < ps_next->bound_box_y_end && initialBBox.x >= ps_next->bound_box_x_end)) + yes = 1; + break; + case 2: + if (initialBBox.z_end >= ps_next->bound_box_z && initialBBox.y_end < ps_next->bound_box_y && initialBBox.x_end < ps_next->bound_box_x + && !(initialBBox.z < ps_next->bound_box_z_end && initialBBox.y >= ps_next->bound_box_y_end && initialBBox.x >= ps_next->bound_box_x_end)) + yes = 1; + break; + case 3: + if (initialBBox.z_end >= ps_next->bound_box_z && initialBBox.y_end < ps_next->bound_box_y && initialBBox.x_end >= ps_next->bound_box_x + && !(initialBBox.z < ps_next->bound_box_z_end && initialBBox.y >= ps_next->bound_box_y_end && initialBBox.x < ps_next->bound_box_x_end)) + yes = 1; + break; + } - if (yes) { - ps->next_quadrant_ps = ps_next->next_quadrant_ps; - paint_struct *ps_temp2 = ps_temp->next_quadrant_ps; - ps_temp->next_quadrant_ps = ps_next; - ps_next->next_quadrant_ps = ps_temp2; - ps_next = ps; - } - } + if (yes) { + ps->next_quadrant_ps = ps_next->next_quadrant_ps; + paint_struct *ps_temp2 = ps_temp->next_quadrant_ps; + ps_temp->next_quadrant_ps = ps_next; + ps_next->next_quadrant_ps = ps_temp2; + ps_next = ps; + } + } - ps = ps_temp; - } + ps = ps_temp; + } } /** @@ -841,30 +841,30 @@ static void paint_arrange_structs_helper(paint_struct * ps_next, uint16 ax, uint */ paint_struct paint_arrange_structs() { - paint_struct psHead = { 0 }; - paint_struct * ps = &psHead; - ps->next_quadrant_ps = NULL; - uint32 quadrantIndex = _paintQuadrantBackIndex; - if (quadrantIndex != UINT32_MAX) { - do { - paint_struct * ps_next = _paintQuadrants[quadrantIndex]; - if (ps_next != NULL) { - ps->next_quadrant_ps = ps_next; - do { - ps = ps_next; - ps_next = ps_next->next_quadrant_ps; - } while (ps_next != NULL); - } - } while (++quadrantIndex <= _paintQuadrantFrontIndex); + paint_struct psHead = { 0 }; + paint_struct * ps = &psHead; + ps->next_quadrant_ps = NULL; + uint32 quadrantIndex = _paintQuadrantBackIndex; + if (quadrantIndex != UINT32_MAX) { + do { + paint_struct * ps_next = _paintQuadrants[quadrantIndex]; + if (ps_next != NULL) { + ps->next_quadrant_ps = ps_next; + do { + ps = ps_next; + ps_next = ps_next->next_quadrant_ps; + } while (ps_next != NULL); + } + } while (++quadrantIndex <= _paintQuadrantFrontIndex); - paint_arrange_structs_helper(&psHead, _paintQuadrantBackIndex & 0xFFFF, 1 << 1); + paint_arrange_structs_helper(&psHead, _paintQuadrantBackIndex & 0xFFFF, 1 << 1); - quadrantIndex = _paintQuadrantBackIndex; - while (++quadrantIndex < _paintQuadrantFrontIndex) { - paint_arrange_structs_helper(&psHead, quadrantIndex & 0xFFFF, 0); - } - } - return psHead; + quadrantIndex = _paintQuadrantBackIndex; + while (++quadrantIndex < _paintQuadrantFrontIndex) { + paint_arrange_structs_helper(&psHead, quadrantIndex & 0xFFFF, 0); + } + } + return psHead; } /** @@ -873,36 +873,36 @@ paint_struct paint_arrange_structs() */ void paint_draw_structs(rct_drawpixelinfo * dpi, paint_struct * ps, uint32 viewFlags) { - paint_struct* previous_ps = ps->next_quadrant_ps; - for (ps = ps->next_quadrant_ps; ps;) { - sint16 x = ps->x; - sint16 y = ps->y; - if (ps->sprite_type == VIEWPORT_INTERACTION_ITEM_SPRITE) { - if (dpi->zoom_level >= 1) { - x = floor2(x, 2); - y = floor2(y, 2); - if (dpi->zoom_level >= 2) { - x = floor2(x, 4); - y = floor2(y, 4); - } - } - } + paint_struct* previous_ps = ps->next_quadrant_ps; + for (ps = ps->next_quadrant_ps; ps;) { + sint16 x = ps->x; + sint16 y = ps->y; + if (ps->sprite_type == VIEWPORT_INTERACTION_ITEM_SPRITE) { + if (dpi->zoom_level >= 1) { + x = floor2(x, 2); + y = floor2(y, 2); + if (dpi->zoom_level >= 2) { + x = floor2(x, 4); + y = floor2(y, 4); + } + } + } - uint32 imageId = paint_ps_colourify_image(ps->image_id, ps->sprite_type, viewFlags); - if (gPaintBoundingBoxes && dpi->zoom_level == 0) { - paint_ps_image_with_bounding_boxes(dpi, ps, imageId, x, y); - } else { - paint_ps_image(dpi, ps, imageId, x, y); - } + uint32 imageId = paint_ps_colourify_image(ps->image_id, ps->sprite_type, viewFlags); + if (gPaintBoundingBoxes && dpi->zoom_level == 0) { + paint_ps_image_with_bounding_boxes(dpi, ps, imageId, x, y); + } else { + paint_ps_image(dpi, ps, imageId, x, y); + } - if (ps->var_20 != 0) { - ps = ps->var_20; - } else { - paint_attached_ps(dpi, ps, viewFlags); - ps = previous_ps->next_quadrant_ps; - previous_ps = ps; - } - } + if (ps->var_20 != 0) { + ps = ps->var_20; + } else { + paint_attached_ps(dpi, ps, viewFlags); + ps = previous_ps->next_quadrant_ps; + previous_ps = ps; + } + } } /** @@ -912,131 +912,131 @@ void paint_draw_structs(rct_drawpixelinfo * dpi, paint_struct * ps, uint32 viewF */ static void paint_attached_ps(rct_drawpixelinfo * dpi, paint_struct * ps, uint32 viewFlags) { - attached_paint_struct * attached_ps = ps->attached_ps; - for (; attached_ps; attached_ps = attached_ps->next) { - sint16 x = attached_ps->x + ps->x; - sint16 y = attached_ps->y + ps->y; + attached_paint_struct * attached_ps = ps->attached_ps; + for (; attached_ps; attached_ps = attached_ps->next) { + sint16 x = attached_ps->x + ps->x; + sint16 y = attached_ps->y + ps->y; - uint32 imageId = paint_ps_colourify_image(attached_ps->image_id, ps->sprite_type, viewFlags); - if (attached_ps->flags & PAINT_STRUCT_FLAG_IS_MASKED) { - gfx_draw_sprite_raw_masked(dpi, x, y, imageId, attached_ps->colour_image_id); - } else { - gfx_draw_sprite(dpi, imageId, x, y, ps->tertiary_colour); - } - } + uint32 imageId = paint_ps_colourify_image(attached_ps->image_id, ps->sprite_type, viewFlags); + if (attached_ps->flags & PAINT_STRUCT_FLAG_IS_MASKED) { + gfx_draw_sprite_raw_masked(dpi, x, y, imageId, attached_ps->colour_image_id); + } else { + gfx_draw_sprite(dpi, imageId, x, y, ps->tertiary_colour); + } + } } static void paint_ps_image_with_bounding_boxes(rct_drawpixelinfo * dpi, paint_struct * ps, uint32 imageId, sint16 x, sint16 y) { - uint8 colour = BoundBoxDebugColours[ps->sprite_type]; + uint8 colour = BoundBoxDebugColours[ps->sprite_type]; - rct_xyz16 frontTop = {.x = ps->bound_box_x_end, .y = ps->bound_box_y_end, .z = ps->bound_box_z_end}; - rct_xy16 screenCoordFrontTop = coordinate_3d_to_2d(&frontTop, get_current_rotation()); - rct_xyz16 frontBottom = {.x = ps->bound_box_x_end, .y = ps->bound_box_y_end, .z = ps->bound_box_z}; - rct_xy16 screenCoordFrontBottom = coordinate_3d_to_2d(&frontBottom, get_current_rotation()); + rct_xyz16 frontTop = {.x = ps->bound_box_x_end, .y = ps->bound_box_y_end, .z = ps->bound_box_z_end}; + rct_xy16 screenCoordFrontTop = coordinate_3d_to_2d(&frontTop, get_current_rotation()); + rct_xyz16 frontBottom = {.x = ps->bound_box_x_end, .y = ps->bound_box_y_end, .z = ps->bound_box_z}; + rct_xy16 screenCoordFrontBottom = coordinate_3d_to_2d(&frontBottom, get_current_rotation()); - rct_xyz16 leftTop = {.x = ps->bound_box_x, .y = ps->bound_box_y_end, .z = ps->bound_box_z_end}; - rct_xy16 screenCoordLeftTop = coordinate_3d_to_2d(&leftTop, get_current_rotation()); - rct_xyz16 leftBottom = {.x = ps->bound_box_x, .y = ps->bound_box_y_end, .z = ps->bound_box_z}; - rct_xy16 screenCoordLeftBottom = coordinate_3d_to_2d(&leftBottom, get_current_rotation()); + rct_xyz16 leftTop = {.x = ps->bound_box_x, .y = ps->bound_box_y_end, .z = ps->bound_box_z_end}; + rct_xy16 screenCoordLeftTop = coordinate_3d_to_2d(&leftTop, get_current_rotation()); + rct_xyz16 leftBottom = {.x = ps->bound_box_x, .y = ps->bound_box_y_end, .z = ps->bound_box_z}; + rct_xy16 screenCoordLeftBottom = coordinate_3d_to_2d(&leftBottom, get_current_rotation()); - rct_xyz16 rightTop = {.x = ps->bound_box_x_end, .y = ps->bound_box_y, .z = ps->bound_box_z_end}; - rct_xy16 screenCoordRightTop = coordinate_3d_to_2d(&rightTop, get_current_rotation()); - rct_xyz16 rightBottom = {.x = ps->bound_box_x_end, .y = ps->bound_box_y, .z = ps->bound_box_z}; - rct_xy16 screenCoordRightBottom = coordinate_3d_to_2d(&rightBottom, get_current_rotation()); + rct_xyz16 rightTop = {.x = ps->bound_box_x_end, .y = ps->bound_box_y, .z = ps->bound_box_z_end}; + rct_xy16 screenCoordRightTop = coordinate_3d_to_2d(&rightTop, get_current_rotation()); + rct_xyz16 rightBottom = {.x = ps->bound_box_x_end, .y = ps->bound_box_y, .z = ps->bound_box_z}; + rct_xy16 screenCoordRightBottom = coordinate_3d_to_2d(&rightBottom, get_current_rotation()); - rct_xyz16 backTop = {.x = ps->bound_box_x, .y = ps->bound_box_y, .z = ps->bound_box_z_end}; - rct_xy16 screenCoordBackTop = coordinate_3d_to_2d(&backTop, get_current_rotation()); - rct_xyz16 backBottom = {.x = ps->bound_box_x, .y = ps->bound_box_y, .z = ps->bound_box_z}; - rct_xy16 screenCoordBackBottom = coordinate_3d_to_2d(&backBottom, get_current_rotation()); + rct_xyz16 backTop = {.x = ps->bound_box_x, .y = ps->bound_box_y, .z = ps->bound_box_z_end}; + rct_xy16 screenCoordBackTop = coordinate_3d_to_2d(&backTop, get_current_rotation()); + rct_xyz16 backBottom = {.x = ps->bound_box_x, .y = ps->bound_box_y, .z = ps->bound_box_z}; + rct_xy16 screenCoordBackBottom = coordinate_3d_to_2d(&backBottom, get_current_rotation()); - // bottom square - gfx_draw_line(dpi, screenCoordFrontBottom.x, screenCoordFrontBottom.y, screenCoordLeftBottom.x, screenCoordLeftBottom.y, colour); - gfx_draw_line(dpi, screenCoordBackBottom.x, screenCoordBackBottom.y, screenCoordLeftBottom.x, screenCoordLeftBottom.y, colour); - gfx_draw_line(dpi, screenCoordBackBottom.x, screenCoordBackBottom.y, screenCoordRightBottom.x, screenCoordRightBottom.y, colour); - gfx_draw_line(dpi, screenCoordFrontBottom.x, screenCoordFrontBottom.y, screenCoordRightBottom.x, screenCoordRightBottom.y, colour); + // bottom square + gfx_draw_line(dpi, screenCoordFrontBottom.x, screenCoordFrontBottom.y, screenCoordLeftBottom.x, screenCoordLeftBottom.y, colour); + gfx_draw_line(dpi, screenCoordBackBottom.x, screenCoordBackBottom.y, screenCoordLeftBottom.x, screenCoordLeftBottom.y, colour); + gfx_draw_line(dpi, screenCoordBackBottom.x, screenCoordBackBottom.y, screenCoordRightBottom.x, screenCoordRightBottom.y, colour); + gfx_draw_line(dpi, screenCoordFrontBottom.x, screenCoordFrontBottom.y, screenCoordRightBottom.x, screenCoordRightBottom.y, colour); - //vertical back + sides - gfx_draw_line(dpi, screenCoordBackTop.x, screenCoordBackTop.y, screenCoordBackBottom.x, screenCoordBackBottom.y, colour); - gfx_draw_line(dpi, screenCoordLeftTop.x, screenCoordLeftTop.y, screenCoordLeftBottom.x, screenCoordLeftBottom.y, colour); - gfx_draw_line(dpi, screenCoordRightTop.x, screenCoordRightTop.y, screenCoordRightBottom.x, screenCoordRightBottom.y, colour); + //vertical back + sides + gfx_draw_line(dpi, screenCoordBackTop.x, screenCoordBackTop.y, screenCoordBackBottom.x, screenCoordBackBottom.y, colour); + gfx_draw_line(dpi, screenCoordLeftTop.x, screenCoordLeftTop.y, screenCoordLeftBottom.x, screenCoordLeftBottom.y, colour); + gfx_draw_line(dpi, screenCoordRightTop.x, screenCoordRightTop.y, screenCoordRightBottom.x, screenCoordRightBottom.y, colour); - // top square back - gfx_draw_line(dpi, screenCoordBackTop.x, screenCoordBackTop.y, screenCoordLeftTop.x, screenCoordLeftTop.y, colour); - gfx_draw_line(dpi, screenCoordBackTop.x, screenCoordBackTop.y, screenCoordRightTop.x, screenCoordRightTop.y, colour); + // top square back + gfx_draw_line(dpi, screenCoordBackTop.x, screenCoordBackTop.y, screenCoordLeftTop.x, screenCoordLeftTop.y, colour); + gfx_draw_line(dpi, screenCoordBackTop.x, screenCoordBackTop.y, screenCoordRightTop.x, screenCoordRightTop.y, colour); - paint_ps_image(dpi, ps, imageId, x, y); + paint_ps_image(dpi, ps, imageId, x, y); - // vertical front - gfx_draw_line(dpi, screenCoordFrontTop.x, screenCoordFrontTop.y, screenCoordFrontBottom.x, screenCoordFrontBottom.y, colour); + // vertical front + gfx_draw_line(dpi, screenCoordFrontTop.x, screenCoordFrontTop.y, screenCoordFrontBottom.x, screenCoordFrontBottom.y, colour); - // top square - gfx_draw_line(dpi, screenCoordFrontTop.x, screenCoordFrontTop.y, screenCoordLeftTop.x, screenCoordLeftTop.y, colour); - gfx_draw_line(dpi, screenCoordFrontTop.x, screenCoordFrontTop.y, screenCoordRightTop.x, screenCoordRightTop.y, colour); + // top square + gfx_draw_line(dpi, screenCoordFrontTop.x, screenCoordFrontTop.y, screenCoordLeftTop.x, screenCoordLeftTop.y, colour); + gfx_draw_line(dpi, screenCoordFrontTop.x, screenCoordFrontTop.y, screenCoordRightTop.x, screenCoordRightTop.y, colour); } static void paint_ps_image(rct_drawpixelinfo * dpi, paint_struct * ps, uint32 imageId, sint16 x, sint16 y) { - if (ps->flags & PAINT_STRUCT_FLAG_IS_MASKED) { - gfx_draw_sprite_raw_masked(dpi, x, y, imageId, ps->colour_image_id); - } else { - gfx_draw_sprite(dpi, imageId, x, y, ps->tertiary_colour); - } + if (ps->flags & PAINT_STRUCT_FLAG_IS_MASKED) { + gfx_draw_sprite_raw_masked(dpi, x, y, imageId, ps->colour_image_id); + } else { + gfx_draw_sprite(dpi, imageId, x, y, ps->tertiary_colour); + } } static uint32 paint_ps_colourify_image(uint32 imageId, uint8 spriteType, uint32 viewFlags) { - if (viewFlags & VIEWPORT_FLAG_SEETHROUGH_RIDES) { - if (spriteType == VIEWPORT_INTERACTION_ITEM_RIDE) { - if (!(imageId & 0x40000000)) { - imageId &= 0x7FFFF; - imageId |= 0x41880000; - } - } - } - if (viewFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) { - if (spriteType == VIEWPORT_INTERACTION_ITEM_WALL) { - if (!(imageId & 0x40000000)) { - imageId &= 0x7FFFF; - imageId |= 0x41880000; - } - } - } - if (viewFlags & VIEWPORT_FLAG_SEETHROUGH_PATHS) { - switch (spriteType) { - case VIEWPORT_INTERACTION_ITEM_FOOTPATH: - case VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM: - case VIEWPORT_INTERACTION_ITEM_BANNER: - if (!(imageId & 0x40000000)) { - imageId &= 0x7FFFF; - imageId |= 0x41880000; - } - break; - } - } - if (viewFlags & VIEWPORT_FLAG_SEETHROUGH_SCENERY) { - switch (spriteType) { - case VIEWPORT_INTERACTION_ITEM_SCENERY: - case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: - case VIEWPORT_INTERACTION_ITEM_WALL: - if (!(imageId & 0x40000000)) { - imageId &= 0x7FFFF; - imageId |= 0x41880000; - } - break; - } - } - return imageId; + if (viewFlags & VIEWPORT_FLAG_SEETHROUGH_RIDES) { + if (spriteType == VIEWPORT_INTERACTION_ITEM_RIDE) { + if (!(imageId & 0x40000000)) { + imageId &= 0x7FFFF; + imageId |= 0x41880000; + } + } + } + if (viewFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) { + if (spriteType == VIEWPORT_INTERACTION_ITEM_WALL) { + if (!(imageId & 0x40000000)) { + imageId &= 0x7FFFF; + imageId |= 0x41880000; + } + } + } + if (viewFlags & VIEWPORT_FLAG_SEETHROUGH_PATHS) { + switch (spriteType) { + case VIEWPORT_INTERACTION_ITEM_FOOTPATH: + case VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM: + case VIEWPORT_INTERACTION_ITEM_BANNER: + if (!(imageId & 0x40000000)) { + imageId &= 0x7FFFF; + imageId |= 0x41880000; + } + break; + } + } + if (viewFlags & VIEWPORT_FLAG_SEETHROUGH_SCENERY) { + switch (spriteType) { + case VIEWPORT_INTERACTION_ITEM_SCENERY: + case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: + case VIEWPORT_INTERACTION_ITEM_WALL: + if (!(imageId & 0x40000000)) { + imageId &= 0x7FFFF; + imageId |= 0x41880000; + } + break; + } + } + return imageId; } static void draw_pixel_info_crop_by_zoom(rct_drawpixelinfo *dpi) { - sint32 zoom = dpi->zoom_level; - dpi->zoom_level = 0; - dpi->x >>= zoom; - dpi->y >>= zoom; - dpi->width >>= zoom; - dpi->height >>= zoom; + sint32 zoom = dpi->zoom_level; + dpi->zoom_level = 0; + dpi->x >>= zoom; + dpi->y >>= zoom; + dpi->width >>= zoom; + dpi->height >>= zoom; } /** @@ -1045,21 +1045,21 @@ static void draw_pixel_info_crop_by_zoom(rct_drawpixelinfo *dpi) */ void paint_draw_money_structs(rct_drawpixelinfo * dpi, paint_string_struct * ps) { - rct_drawpixelinfo dpi2 = *dpi; - draw_pixel_info_crop_by_zoom(&dpi2); + rct_drawpixelinfo dpi2 = *dpi; + draw_pixel_info_crop_by_zoom(&dpi2); - do { - utf8 buffer[256]; - format_string(buffer, 256, ps->string_id, &ps->args); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + do { + utf8 buffer[256]; + format_string(buffer, 256, ps->string_id, &ps->args); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - // Use sprite font unless the currency contains characters unsupported by the sprite font - bool forceSpriteFont = false; - const currency_descriptor *currencyDesc = &CurrencyDescriptors[gConfigGeneral.currency_format]; - if (gUseTrueTypeFont && font_supports_string_sprite(currencyDesc->symbol_unicode)) { - forceSpriteFont = true; - } + // Use sprite font unless the currency contains characters unsupported by the sprite font + bool forceSpriteFont = false; + const currency_descriptor *currencyDesc = &CurrencyDescriptors[gConfigGeneral.currency_format]; + if (gUseTrueTypeFont && font_supports_string_sprite(currencyDesc->symbol_unicode)) { + forceSpriteFont = true; + } - gfx_draw_string_with_y_offsets(&dpi2, buffer, COLOUR_BLACK, ps->x, ps->y, (sint8 *)ps->y_offsets, forceSpriteFont); - } while ((ps = ps->next) != NULL); + gfx_draw_string_with_y_offsets(&dpi2, buffer, COLOUR_BLACK, ps->x, ps->y, (sint8 *)ps->y_offsets, forceSpriteFont); + } while ((ps = ps->next) != NULL); } diff --git a/src/openrct2/paint/paint.h b/src/openrct2/paint/paint.h index 442cd246e0..ebebd0939e 100644 --- a/src/openrct2/paint/paint.h +++ b/src/openrct2/paint/paint.h @@ -34,17 +34,17 @@ typedef union paint_entry paint_entry; #pragma pack(push, 1) /* size 0x12 */ struct attached_paint_struct { - uint32 image_id; // 0x00 + uint32 image_id; // 0x00 union { uint32 tertiary_colour; // If masked image_id is masked_id uint32 colour_image_id; }; - uint16 x; // 0x08 - uint16 y; // 0x0A + uint16 x; // 0x08 + uint16 y; // 0x0A uint8 flags; // 0x0C uint8 pad_0D; - attached_paint_struct* next; //0x0E + attached_paint_struct* next; //0x0E }; #ifdef PLATFORM_32BIT // TODO: drop packing from this when all rendering is done. @@ -53,32 +53,32 @@ assert_struct_size(attached_paint_struct, 0x12); /* size 0x34 */ struct paint_struct { - uint32 image_id; // 0x00 - union { - uint32 tertiary_colour; // 0x04 - // If masked image_id is masked_id - uint32 colour_image_id; // 0x04 - }; - uint16 bound_box_x; // 0x08 - uint16 bound_box_y; // 0x0A - uint16 bound_box_z; // 0x0C - uint16 bound_box_z_end; // 0x0E - uint16 bound_box_x_end; // 0x10 - uint16 bound_box_y_end; // 0x12 - uint16 x; // 0x14 - uint16 y; // 0x16 - uint16 var_18; - uint8 flags; - uint8 var_1B; - attached_paint_struct* attached_ps; //0x1C - paint_struct* var_20; - paint_struct* next_quadrant_ps; // 0x24 - uint8 sprite_type; //0x28 - uint8 var_29; - uint16 pad_2A; - uint16 map_x; // 0x2C - uint16 map_y; // 0x2E - rct_map_element *mapElement; // 0x30 (or sprite pointer) + uint32 image_id; // 0x00 + union { + uint32 tertiary_colour; // 0x04 + // If masked image_id is masked_id + uint32 colour_image_id; // 0x04 + }; + uint16 bound_box_x; // 0x08 + uint16 bound_box_y; // 0x0A + uint16 bound_box_z; // 0x0C + uint16 bound_box_z_end; // 0x0E + uint16 bound_box_x_end; // 0x10 + uint16 bound_box_y_end; // 0x12 + uint16 x; // 0x14 + uint16 y; // 0x16 + uint16 var_18; + uint8 flags; + uint8 var_1B; + attached_paint_struct* attached_ps; //0x1C + paint_struct* var_20; + paint_struct* next_quadrant_ps; // 0x24 + uint8 sprite_type; //0x28 + uint8 var_29; + uint16 pad_2A; + uint16 map_x; // 0x2C + uint16 map_y; // 0x2E + rct_map_element *mapElement; // 0x30 (or sprite pointer) }; #ifdef PLATFORM_32BIT // TODO: drop packing from this when all rendering is done. @@ -92,12 +92,12 @@ typedef struct paint_string_struct paint_string_struct; /* size 0x1E */ struct paint_string_struct { - rct_string_id string_id; // 0x00 - paint_string_struct *next; // 0x02 - uint16 x; // 0x06 - uint16 y; // 0x08 - uint32 args[4]; // 0x0A - uint8 *y_offsets; // 0x1A + rct_string_id string_id; // 0x00 + paint_string_struct *next; // 0x02 + uint16 x; // 0x06 + uint16 y; // 0x08 + uint32 args[4]; // 0x0A + uint8 *y_offsets; // 0x1A }; #ifdef PLATFORM_32BIT assert_struct_size(paint_string_struct, 0x1e); @@ -105,26 +105,26 @@ assert_struct_size(paint_string_struct, 0x1e); #pragma pack(pop) union paint_entry{ - paint_struct basic; - attached_paint_struct attached; - paint_string_struct string; + paint_struct basic; + attached_paint_struct attached; + paint_string_struct string; }; typedef struct sprite_bb { - uint32 sprite_id; - rct_xyz16 offset; - rct_xyz16 bb_offset; - rct_xyz16 bb_size; + uint32 sprite_id; + rct_xyz16 offset; + rct_xyz16 bb_offset; + rct_xyz16 bb_size; } sprite_bb; enum PAINT_STRUCT_FLAGS { - PAINT_STRUCT_FLAG_IS_MASKED = (1 << 0) + PAINT_STRUCT_FLAG_IS_MASKED = (1 << 0) }; typedef struct support_height { - uint16 height; - uint8 slope; - uint8 pad; + uint16 height; + uint8 slope; + uint8 pad; } support_height; #ifdef NO_RCT2 @@ -135,16 +135,16 @@ extern sint16 gUnk9DE56C; extern paint_entry gPaintStructs[4000]; #else #define gPaintStructs RCT2_ADDRESS(0x00EE788C, paint_entry) -#define g_currently_drawn_item RCT2_GLOBAL(0x009DE578, void*) -#define gEndOfPaintStructArray RCT2_GLOBAL(0x00EE7880, paint_entry *) -#define gUnk9DE568 RCT2_GLOBAL(0x009DE568, sint16) -#define gUnk9DE56C RCT2_GLOBAL(0x009DE56C, sint16) +#define g_currently_drawn_item RCT2_GLOBAL(0x009DE578, void*) +#define gEndOfPaintStructArray RCT2_GLOBAL(0x00EE7880, paint_entry *) +#define gUnk9DE568 RCT2_GLOBAL(0x009DE568, sint16) +#define gUnk9DE56C RCT2_GLOBAL(0x009DE56C, sint16) #endif #ifndef NO_RCT2 -#define gPaintInteractionType RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) -#define gSupportSegments RCT2_ADDRESS(RCT2_ADDRESS_CURRENT_SUPPORT_SEGMENTS, support_height) -#define gSupport RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, support_height) +#define gPaintInteractionType RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) +#define gSupportSegments RCT2_ADDRESS(RCT2_ADDRESS_CURRENT_SUPPORT_SEGMENTS, support_height) +#define gSupport RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, support_height) #else extern uint8 gPaintInteractionType; extern support_height gSupportSegments[9]; @@ -180,16 +180,16 @@ void paint_draw_money_structs(rct_drawpixelinfo * dpi, paint_string_struct * ps) // TESTING #ifdef __TESTPAINT__ - void testpaint_clear_ignore(); - void testpaint_ignore(uint8 direction, uint8 trackSequence); - void testpaint_ignore_all(); - bool testpaint_is_ignored(uint8 direction, uint8 trackSequence); + void testpaint_clear_ignore(); + void testpaint_ignore(uint8 direction, uint8 trackSequence); + void testpaint_ignore_all(); + bool testpaint_is_ignored(uint8 direction, uint8 trackSequence); - #define TESTPAINT_IGNORE(direction, trackSequence) testpaint_ignore(direction, trackSequence) - #define TESTPAINT_IGNORE_ALL() testpaint_ignore_all() + #define TESTPAINT_IGNORE(direction, trackSequence) testpaint_ignore(direction, trackSequence) + #define TESTPAINT_IGNORE_ALL() testpaint_ignore_all() #else - #define TESTPAINT_IGNORE(direction, trackSequence) - #define TESTPAINT_IGNORE_ALL() + #define TESTPAINT_IGNORE(direction, trackSequence) + #define TESTPAINT_IGNORE_ALL() #endif #endif diff --git a/src/openrct2/paint/paint_helpers.c b/src/openrct2/paint/paint_helpers.c index 2c5680f7da..2e6d1d8a5b 100644 --- a/src/openrct2/paint/paint_helpers.c +++ b/src/openrct2/paint/paint_helpers.c @@ -19,54 +19,54 @@ #include "paint.h" paint_struct * sub_98196C_rotated( - uint8 direction, - uint32 image_id, - sint8 x_offset, sint8 y_offset, - sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, - sint16 z_offset) + uint8 direction, + uint32 image_id, + sint8 x_offset, sint8 y_offset, + sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, + sint16 z_offset) { - if (direction & 1) { - return sub_98196C(image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, get_current_rotation()); - } else { - return sub_98196C(image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, get_current_rotation()); - } + if (direction & 1) { + return sub_98196C(image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, get_current_rotation()); + } else { + return sub_98196C(image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, get_current_rotation()); + } } paint_struct * sub_98197C_rotated( - uint8 direction, - uint32 image_id, - sint8 x_offset, sint8 y_offset, - sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, - sint16 z_offset, - sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z) + uint8 direction, + uint32 image_id, + sint8 x_offset, sint8 y_offset, + sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, + sint16 z_offset, + sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z) { - if (direction & 1) { - return sub_98197C(image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, bound_box_offset_y, bound_box_offset_x, bound_box_offset_z, get_current_rotation()); - } else { - return sub_98197C(image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, get_current_rotation()); - } + if (direction & 1) { + return sub_98197C(image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, bound_box_offset_y, bound_box_offset_x, bound_box_offset_z, get_current_rotation()); + } else { + return sub_98197C(image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, get_current_rotation()); + } } paint_struct * sub_98199C_rotated( - uint8 direction, - uint32 image_id, - sint8 x_offset, sint8 y_offset, - sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, - sint16 z_offset, - sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z) + uint8 direction, + uint32 image_id, + sint8 x_offset, sint8 y_offset, + sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, + sint16 z_offset, + sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z) { - if (direction & 1) { - return sub_98199C(image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, bound_box_offset_y, bound_box_offset_x, bound_box_offset_z, get_current_rotation()); - } else { - return sub_98199C(image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, get_current_rotation()); - } + if (direction & 1) { + return sub_98199C(image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, bound_box_offset_y, bound_box_offset_x, bound_box_offset_z, get_current_rotation()); + } else { + return sub_98199C(image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, get_current_rotation()); + } } void paint_util_push_tunnel_rotated(uint8 direction, uint16 height, uint8 type) { - if (direction & 1) { - paint_util_push_tunnel_right(height, type); - } else { - paint_util_push_tunnel_left(height, type); - } + if (direction & 1) { + paint_util_push_tunnel_right(height, type); + } else { + paint_util_push_tunnel_left(height, type); + } } diff --git a/src/openrct2/paint/sprite/litter.c b/src/openrct2/paint/sprite/litter.c index a2f7a1a25d..1dfffd128b 100644 --- a/src/openrct2/paint/sprite/litter.c +++ b/src/openrct2/paint/sprite/litter.c @@ -20,50 +20,50 @@ #include "../paint.h" enum { - SPR_LITTER_SICK = 23101, + SPR_LITTER_SICK = 23101, - SPR_LITTER_SICK_ALT = 23103, + SPR_LITTER_SICK_ALT = 23103, - SPR_LITTER_EMPTY_CAN = 23105, + SPR_LITTER_EMPTY_CAN = 23105, - SPR_LITTER_RUBBISH = 23107, + SPR_LITTER_RUBBISH = 23107, - SPR_LITTER_EMPTY_BURGER_BOX = 23109, + SPR_LITTER_EMPTY_BURGER_BOX = 23109, - SPR_LITTER_EMPTY_CUP = 23111, + SPR_LITTER_EMPTY_CUP = 23111, - SPR_LITTER_EMPTY_BOX = 23113, + SPR_LITTER_EMPTY_BOX = 23113, - SPR_LITTER_EMPTY_BOTTLE = 23115, + SPR_LITTER_EMPTY_BOTTLE = 23115, - SPR_LITTER_EMPTY_BOWL_RED = 23117, + SPR_LITTER_EMPTY_BOWL_RED = 23117, - SPR_LITTER_EMPTY_DRINK_CART = 23121, + SPR_LITTER_EMPTY_DRINK_CART = 23121, - SPR_LITTER_EMPTY_JUICE_CUP = 23125, + SPR_LITTER_EMPTY_JUICE_CUP = 23125, - SPR_LITTER_EMPTY_BOWL_BLUE = 23129, + SPR_LITTER_EMPTY_BOWL_BLUE = 23129, }; typedef struct litter_sprite { - uint16 base_id; - uint8 direction_mask; + uint16 base_id; + uint8 direction_mask; } litter_sprite; /** rct2: 0x0097EF6C */ static const litter_sprite litter_sprites[] = { - { SPR_LITTER_SICK, 0x1 }, - { SPR_LITTER_SICK_ALT, 0x1 }, - { SPR_LITTER_EMPTY_CAN, 0x1 }, - { SPR_LITTER_RUBBISH, 0x1 }, - { SPR_LITTER_EMPTY_BURGER_BOX, 0x1 }, - { SPR_LITTER_EMPTY_CUP, 0x1 }, - { SPR_LITTER_EMPTY_BOX, 0x1 }, - { SPR_LITTER_EMPTY_BOTTLE, 0x1 }, - { SPR_LITTER_EMPTY_BOWL_RED, 0x3 }, - { SPR_LITTER_EMPTY_DRINK_CART, 0x3 }, - { SPR_LITTER_EMPTY_JUICE_CUP, 0x3 }, - { SPR_LITTER_EMPTY_BOWL_BLUE, 0x3 }, + { SPR_LITTER_SICK, 0x1 }, + { SPR_LITTER_SICK_ALT, 0x1 }, + { SPR_LITTER_EMPTY_CAN, 0x1 }, + { SPR_LITTER_RUBBISH, 0x1 }, + { SPR_LITTER_EMPTY_BURGER_BOX, 0x1 }, + { SPR_LITTER_EMPTY_CUP, 0x1 }, + { SPR_LITTER_EMPTY_BOX, 0x1 }, + { SPR_LITTER_EMPTY_BOTTLE, 0x1 }, + { SPR_LITTER_EMPTY_BOWL_RED, 0x3 }, + { SPR_LITTER_EMPTY_DRINK_CART, 0x3 }, + { SPR_LITTER_EMPTY_JUICE_CUP, 0x3 }, + { SPR_LITTER_EMPTY_BOWL_BLUE, 0x3 }, }; /** @@ -72,18 +72,18 @@ static const litter_sprite litter_sprites[] = { */ void litter_paint(rct_litter *litter, sint32 imageDirection) { - rct_drawpixelinfo *dpi; + rct_drawpixelinfo *dpi; - dpi = unk_140E9A8; - if (dpi->zoom_level != 0) return; // If zoomed at all no litter drawn + dpi = unk_140E9A8; + if (dpi->zoom_level != 0) return; // If zoomed at all no litter drawn - // litter has no sprite direction so remove that - imageDirection >>= 3; - // Some litter types have only 1 direction so remove - // anything that isn't required. - imageDirection &= litter_sprites[litter->type].direction_mask; + // litter has no sprite direction so remove that + imageDirection >>= 3; + // Some litter types have only 1 direction so remove + // anything that isn't required. + imageDirection &= litter_sprites[litter->type].direction_mask; - uint32 image_id = imageDirection + litter_sprites[litter->type].base_id; + uint32 image_id = imageDirection + litter_sprites[litter->type].base_id; - sub_98197C(image_id, 0, 0, 4, 4, -1, litter->z, -4, -4, litter->z + 2, get_current_rotation()); + sub_98197C(image_id, 0, 0, 4, 4, -1, litter->z, -4, -4, litter->z + 2, get_current_rotation()); } diff --git a/src/openrct2/paint/sprite/misc.c b/src/openrct2/paint/sprite/misc.c index ef5ea3b091..acf1134bfe 100644 --- a/src/openrct2/paint/sprite/misc.c +++ b/src/openrct2/paint/sprite/misc.c @@ -23,13 +23,13 @@ /** rct2: 0x0097EDA4 */ const sint8 money_wave[] = { - 0, 1, 2, 2, 3, 3, 3, 3, 2, 2, 1, 0, -1, -2, -2, -3, -3, -3, -3, -2, -2, -1, - 0, 1, 2, 2, 3, 3, 3, 3, 2, 2, 1, 0, -1, -2, -2, -3, -3, -3, -3, -2, -2, -1 + 0, 1, 2, 2, 3, 3, 3, 3, 2, 2, 1, 0, -1, -2, -2, -3, -3, -3, -3, -2, -2, -1, + 0, 1, 2, 2, 3, 3, 3, 3, 2, 2, 1, 0, -1, -2, -2, -3, -3, -3, -3, -2, -2, -1 }; /** rct2: 0x0097ED90 */ const uint32 vehicle_particle_base_sprites[] = { - 22577, 22589, 22601, 22613, 22625 + 22577, 22589, 22601, 22613, 22625 }; extern const uint8 * DuckAnimations[]; @@ -39,151 +39,151 @@ extern const uint8 * DuckAnimations[]; */ void misc_paint(rct_sprite *misc, sint32 imageDirection) { - rct_drawpixelinfo * dpi = unk_140E9A8; + rct_drawpixelinfo * dpi = unk_140E9A8; - switch (misc->steam_particle.misc_identifier) { - case SPRITE_MISC_STEAM_PARTICLE: // 0 - { - uint32 imageId = 22637 + (misc->steam_particle.frame / 256); - sub_98196C(imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation()); - break; - } + switch (misc->steam_particle.misc_identifier) { + case SPRITE_MISC_STEAM_PARTICLE: // 0 + { + uint32 imageId = 22637 + (misc->steam_particle.frame / 256); + sub_98196C(imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation()); + break; + } - case SPRITE_MISC_MONEY_EFFECT: // 1 - { - if (dpi->zoom_level != 0) { - return; - } + case SPRITE_MISC_MONEY_EFFECT: // 1 + { + if (dpi->zoom_level != 0) { + return; + } - rct_money_effect * moneyEffect = &misc->money_effect; - money32 value; - rct_string_id stringId = money_effect_get_string_id(moneyEffect, &value); - paint_floating_money_effect(value, stringId, moneyEffect->y, moneyEffect->z, (sint8 *) &money_wave[moneyEffect->wiggle % 22], moneyEffect->offset_x, get_current_rotation()); - break; - } + rct_money_effect * moneyEffect = &misc->money_effect; + money32 value; + rct_string_id stringId = money_effect_get_string_id(moneyEffect, &value); + paint_floating_money_effect(value, stringId, moneyEffect->y, moneyEffect->z, (sint8 *) &money_wave[moneyEffect->wiggle % 22], moneyEffect->offset_x, get_current_rotation()); + break; + } - case SPRITE_MISC_CRASHED_VEHICLE_PARTICLE: // 2 - { - if (dpi->zoom_level != 0) { - return; - } + case SPRITE_MISC_CRASHED_VEHICLE_PARTICLE: // 2 + { + if (dpi->zoom_level != 0) { + return; + } - rct_crashed_vehicle_particle particle = misc->crashed_vehicle_particle; - uint32 imageId = vehicle_particle_base_sprites[particle.var_2E] + particle.frame / 256; - imageId = imageId | (particle.colour[0] << 19) | (particle.colour[1] << 24) | 0xA0000000; - sub_98196C(imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation()); - break; - } + rct_crashed_vehicle_particle particle = misc->crashed_vehicle_particle; + uint32 imageId = vehicle_particle_base_sprites[particle.var_2E] + particle.frame / 256; + imageId = imageId | (particle.colour[0] << 19) | (particle.colour[1] << 24) | 0xA0000000; + sub_98196C(imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation()); + break; + } - case SPRITE_MISC_EXPLOSION_CLOUD: // 3 - { - uint32 imageId = 22878 + (misc->unknown.frame / 256); - sub_98196C(imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation()); - break; - } + case SPRITE_MISC_EXPLOSION_CLOUD: // 3 + { + uint32 imageId = 22878 + (misc->unknown.frame / 256); + sub_98196C(imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation()); + break; + } - case SPRITE_MISC_CRASH_SPLASH: // 4 - { - rct_crash_splash crashSplash = misc->crash_splash; - uint32 imageId = 22927 + (crashSplash.frame / 256); - sub_98196C(imageId, 0, 0, 1, 1, 0, crashSplash.z, get_current_rotation()); - break; - } + case SPRITE_MISC_CRASH_SPLASH: // 4 + { + rct_crash_splash crashSplash = misc->crash_splash; + uint32 imageId = 22927 + (crashSplash.frame / 256); + sub_98196C(imageId, 0, 0, 1, 1, 0, crashSplash.z, get_current_rotation()); + break; + } - case SPRITE_MISC_EXPLOSION_FLARE: // 5 - { - // Like a flare - uint32 imageId = 22896 + (misc->unknown.frame / 256); - sub_98196C(imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation()); - break; - } + case SPRITE_MISC_EXPLOSION_FLARE: // 5 + { + // Like a flare + uint32 imageId = 22896 + (misc->unknown.frame / 256); + sub_98196C(imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation()); + break; + } - case SPRITE_MISC_JUMPING_FOUNTAIN_WATER: // 6 - case SPRITE_MISC_JUMPING_FOUNTAIN_SNOW: // 9 - { - if (dpi->zoom_level != 0) { - return; - } + case SPRITE_MISC_JUMPING_FOUNTAIN_WATER: // 6 + case SPRITE_MISC_JUMPING_FOUNTAIN_SNOW: // 9 + { + if (dpi->zoom_level != 0) { + return; + } - rct_jumping_fountain jumpingFountain = misc->jumping_fountain; + rct_jumping_fountain jumpingFountain = misc->jumping_fountain; - uint16 height = jumpingFountain.z + 6; - sint32 ebx = imageDirection / 8; + uint16 height = jumpingFountain.z + 6; + sint32 ebx = imageDirection / 8; - uint8 al = (jumpingFountain.fountain_flags / 128) & 1; - uint8 ah = (jumpingFountain.sprite_direction / 16) & 1; + uint8 al = (jumpingFountain.fountain_flags / 128) & 1; + uint8 ah = (jumpingFountain.sprite_direction / 16) & 1; - if (al == ah) { - al = ebx / 2; - } else { - al = ebx / 2; - al = al ^ 1; - } + if (al == ah) { + al = ebx / 2; + } else { + al = ebx / 2; + al = al ^ 1; + } - uint32 baseImageId = (jumpingFountain.misc_identifier == SPRITE_MISC_JUMPING_FOUNTAIN_SNOW) ? 23037 : 22973; - uint32 imageId = baseImageId + ebx * 16 + jumpingFountain.var_26b; - if (al & 1) { - switch (ebx) { - case 0: - sub_98197C(imageId, 0, 0, 32, 1, 3, height, -32, -3, height, get_current_rotation()); - break; + uint32 baseImageId = (jumpingFountain.misc_identifier == SPRITE_MISC_JUMPING_FOUNTAIN_SNOW) ? 23037 : 22973; + uint32 imageId = baseImageId + ebx * 16 + jumpingFountain.var_26b; + if (al & 1) { + switch (ebx) { + case 0: + sub_98197C(imageId, 0, 0, 32, 1, 3, height, -32, -3, height, get_current_rotation()); + break; - case 1: - sub_98197C(imageId, 0, 0, 1, 32, 3, height, -3, 0, height, get_current_rotation()); - break; + case 1: + sub_98197C(imageId, 0, 0, 1, 32, 3, height, -3, 0, height, get_current_rotation()); + break; - case 2: - sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, -3, height, get_current_rotation()); - break; + case 2: + sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, -3, height, get_current_rotation()); + break; - case 3: - sub_98197C(imageId, 0, 0, 1, 32, 3, height, -3, -32, height, get_current_rotation()); - break; - } - } else { - switch (ebx) { - case 0: - sub_98197C(imageId, 0, 0, 32, 1, 3, height, -32, 3, height, get_current_rotation()); - break; + case 3: + sub_98197C(imageId, 0, 0, 1, 32, 3, height, -3, -32, height, get_current_rotation()); + break; + } + } else { + switch (ebx) { + case 0: + sub_98197C(imageId, 0, 0, 32, 1, 3, height, -32, 3, height, get_current_rotation()); + break; - case 1: - sub_98197C(imageId, 0, 0, 1, 32, 3, height, 3, 0, height, get_current_rotation()); - break; + case 1: + sub_98197C(imageId, 0, 0, 1, 32, 3, height, 3, 0, height, get_current_rotation()); + break; - case 2: - sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 3, height, get_current_rotation()); - break; + case 2: + sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 3, height, get_current_rotation()); + break; - case 3: - sub_98197C(imageId, 0, 0, 1, 32, 3, height, 3, -32, height, get_current_rotation()); - break; - } - } - break; - } + case 3: + sub_98197C(imageId, 0, 0, 1, 32, 3, height, 3, -32, height, get_current_rotation()); + break; + } + } + break; + } - case SPRITE_MISC_BALLOON: // 7 - { - rct_balloon balloon = misc->balloon; + case SPRITE_MISC_BALLOON: // 7 + { + rct_balloon balloon = misc->balloon; - uint32 imageId = 22651 + ((balloon.frame / 256) & 7); - if (balloon.popped != 0) { - imageId += 8; - } + uint32 imageId = 22651 + ((balloon.frame / 256) & 7); + if (balloon.popped != 0) { + imageId += 8; + } - imageId = imageId | (balloon.colour << 19) | 0x20000000; - sub_98196C(imageId, 0, 0, 1, 1, 0, balloon.z, get_current_rotation()); - break; - } + imageId = imageId | (balloon.colour << 19) | 0x20000000; + sub_98196C(imageId, 0, 0, 1, 1, 0, balloon.z, get_current_rotation()); + break; + } - case SPRITE_MISC_DUCK: - if (dpi->zoom_level == 0) { - rct_duck * duck = &misc->duck; - uint32 imageId = duck_get_frame_image(&misc->duck, imageDirection); - if (imageId != 0) { - sub_98196C(imageId, 0, 0, 1, 1, 0, duck->z, get_current_rotation()); - } - } - break; - } + case SPRITE_MISC_DUCK: + if (dpi->zoom_level == 0) { + rct_duck * duck = &misc->duck; + uint32 imageId = duck_get_frame_image(&misc->duck, imageDirection); + if (imageId != 0) { + sub_98196C(imageId, 0, 0, 1, 1, 0, duck->z, get_current_rotation()); + } + } + break; + } } diff --git a/src/openrct2/paint/sprite/peep.c b/src/openrct2/paint/sprite/peep.c index 2958faeca6..5a806adbc4 100644 --- a/src/openrct2/paint/sprite/peep.c +++ b/src/openrct2/paint/sprite/peep.c @@ -29,74 +29,74 @@ void peep_paint(rct_peep * peep, sint32 imageDirection) { #ifdef __ENABLE_LIGHTFX__ - if (gConfigGeneral.enable_light_fx) { - if (peep->type == PEEP_TYPE_STAFF) { - sint16 peep_x, peep_y, peep_z; + if (gConfigGeneral.enable_light_fx) { + if (peep->type == PEEP_TYPE_STAFF) { + sint16 peep_x, peep_y, peep_z; - peep_x = peep->x; - peep_y = peep->y; - peep_z = peep->z; + peep_x = peep->x; + peep_y = peep->y; + peep_z = peep->z; - switch (peep->sprite_direction) { - case 0: - peep_x -= 10; - break; - case 8: - peep_y += 10; - break; - case 16: - peep_x += 10; - break; - case 24: - peep_y -= 10; - break; - default: - return; - }; + switch (peep->sprite_direction) { + case 0: + peep_x -= 10; + break; + case 8: + peep_y += 10; + break; + case 16: + peep_x += 10; + break; + case 24: + peep_y -= 10; + break; + default: + return; + }; - lightfx_add_3d_light(peep->sprite_index, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, peep_x, peep_y, peep_z, LIGHTFX_LIGHT_TYPE_SPOT_1); - } - } + lightfx_add_3d_light(peep->sprite_index, 0x0000 | LIGHTFX_LIGHT_QUALIFIER_SPRITE, peep_x, peep_y, peep_z, LIGHTFX_LIGHT_TYPE_SPOT_1); + } + } #endif - rct_drawpixelinfo * dpi = unk_140E9A8; - if (dpi->zoom_level > 2) { - return; - } + rct_drawpixelinfo * dpi = unk_140E9A8; + if (dpi->zoom_level > 2) { + return; + } - if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_PEEPS) { - return; - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_PEEPS) { + return; + } - rct_peep_animation_entry sprite = g_peep_animation_entries[peep->sprite_type]; + rct_peep_animation_entry sprite = g_peep_animation_entries[peep->sprite_type]; - uint8 spriteType = peep->action_sprite_type; - uint8 imageOffset = peep->action_sprite_image_offset; + uint8 spriteType = peep->action_sprite_type; + uint8 imageOffset = peep->action_sprite_image_offset; - if (peep->action == PEEP_ACTION_NONE_1) { - spriteType = peep->next_action_sprite_type; - imageOffset = 0; - } + if (peep->action == PEEP_ACTION_NONE_1) { + spriteType = peep->next_action_sprite_type; + imageOffset = 0; + } - uint32 baseImageId = (imageDirection >> 3) + sprite.sprite_animation[spriteType].base_image + imageOffset * 4; - uint32 imageId = baseImageId | peep->tshirt_colour << 19 | peep->trousers_colour << 24 | 0xA0000000; - sub_98197C(imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 3, get_current_rotation()); + uint32 baseImageId = (imageDirection >> 3) + sprite.sprite_animation[spriteType].base_image + imageOffset * 4; + uint32 imageId = baseImageId | peep->tshirt_colour << 19 | peep->trousers_colour << 24 | 0xA0000000; + sub_98197C(imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 3, get_current_rotation()); - if (baseImageId >= 10717 && baseImageId < 10749) { - imageId = (baseImageId + 32) | peep->hat_colour << 19 | 0x20000000; - sub_98199C(imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 3, get_current_rotation()); - return; - } + if (baseImageId >= 10717 && baseImageId < 10749) { + imageId = (baseImageId + 32) | peep->hat_colour << 19 | 0x20000000; + sub_98199C(imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 3, get_current_rotation()); + return; + } - if (baseImageId >= 10781 && baseImageId < 10813) { - imageId = (baseImageId + 32) | peep->balloon_colour << 19 | 0x20000000; - sub_98199C(imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 3, get_current_rotation()); - return; - } + if (baseImageId >= 10781 && baseImageId < 10813) { + imageId = (baseImageId + 32) | peep->balloon_colour << 19 | 0x20000000; + sub_98199C(imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 3, get_current_rotation()); + return; + } - if (baseImageId >= 11197 && baseImageId < 11229) { - imageId = (baseImageId + 32) | peep->umbrella_colour << 19 | 0x20000000; - sub_98199C(imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 3, get_current_rotation()); - return; - } + if (baseImageId >= 11197 && baseImageId < 11229) { + imageId = (baseImageId + 32) | peep->umbrella_colour << 19 | 0x20000000; + sub_98199C(imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 3, get_current_rotation()); + return; + } } diff --git a/src/openrct2/paint/sprite/sprite.c b/src/openrct2/paint/sprite/sprite.c index 13f48c555b..266fbed8f7 100644 --- a/src/openrct2/paint/sprite/sprite.c +++ b/src/openrct2/paint/sprite/sprite.c @@ -27,65 +27,65 @@ * rct2: 0x0069E8B0 */ void sprite_paint_setup(const uint16 eax, const uint16 ecx) { - rct_drawpixelinfo* dpi; + rct_drawpixelinfo* dpi; - if ((eax & 0xe000) | (ecx & 0xe000)) return; + if ((eax & 0xe000) | (ecx & 0xe000)) return; - uint16 sprite_idx = sprite_get_first_in_quadrant(eax, ecx); - if (sprite_idx == SPRITE_INDEX_NULL) return; + uint16 sprite_idx = sprite_get_first_in_quadrant(eax, ecx); + if (sprite_idx == SPRITE_INDEX_NULL) return; - if (gTrackDesignSaveMode) return; + if (gTrackDesignSaveMode) return; - if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SPRITES) return; + if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SPRITES) return; - dpi = unk_140E9A8; - if (dpi->zoom_level > 2) return; + dpi = unk_140E9A8; + if (dpi->zoom_level > 2) return; - for (rct_sprite* spr = get_sprite(sprite_idx); sprite_idx != SPRITE_INDEX_NULL; sprite_idx = spr->unknown.next_in_quadrant) { - spr = get_sprite(sprite_idx); + for (rct_sprite* spr = get_sprite(sprite_idx); sprite_idx != SPRITE_INDEX_NULL; sprite_idx = spr->unknown.next_in_quadrant) { + spr = get_sprite(sprite_idx); - // Only paint sprites that are below the clip height. - // Here converting from land/path/etc height scale to pixel height scale. - // Note: peeps/scenery on slopes will be above the base - // height of the slope element, and consequently clipped. - if ((gCurrentViewportFlags & VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT) && (spr->unknown.z > (gClipHeight * 8) )) continue; + // Only paint sprites that are below the clip height. + // Here converting from land/path/etc height scale to pixel height scale. + // Note: peeps/scenery on slopes will be above the base + // height of the slope element, and consequently clipped. + if ((gCurrentViewportFlags & VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT) && (spr->unknown.z > (gClipHeight * 8) )) continue; - dpi = unk_140E9A8; + dpi = unk_140E9A8; - if (dpi->y + dpi->height <= spr->unknown.sprite_top) continue; - if (spr->unknown.sprite_bottom <= dpi->y)continue; - if (dpi->x + dpi->width <= spr->unknown.sprite_left)continue; - if (spr->unknown.sprite_right <= dpi->x)continue; + if (dpi->y + dpi->height <= spr->unknown.sprite_top) continue; + if (spr->unknown.sprite_bottom <= dpi->y)continue; + if (dpi->x + dpi->width <= spr->unknown.sprite_left)continue; + if (spr->unknown.sprite_right <= dpi->x)continue; - sint32 image_direction = get_current_rotation(); - image_direction <<= 3; - image_direction += spr->unknown.sprite_direction; - image_direction &= 0x1F; + sint32 image_direction = get_current_rotation(); + image_direction <<= 3; + image_direction += spr->unknown.sprite_direction; + image_direction &= 0x1F; - g_currently_drawn_item = spr; + g_currently_drawn_item = spr; - gUnk9DE568 = spr->unknown.x; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - gUnk9DE56C = spr->unknown.y; + gUnk9DE568 = spr->unknown.x; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + gUnk9DE56C = spr->unknown.y; - switch (spr->unknown.sprite_identifier) { - case SPRITE_IDENTIFIER_VEHICLE: - vehicle_paint((rct_vehicle*)spr, image_direction); - break; - case SPRITE_IDENTIFIER_PEEP: - peep_paint((rct_peep*)spr, image_direction); - break; - case SPRITE_IDENTIFIER_MISC: - misc_paint(spr, image_direction); - break; - case SPRITE_IDENTIFIER_LITTER: - litter_paint((rct_litter*)spr, image_direction); - break; - default: - assert(false); - break; - } - } + switch (spr->unknown.sprite_identifier) { + case SPRITE_IDENTIFIER_VEHICLE: + vehicle_paint((rct_vehicle*)spr, image_direction); + break; + case SPRITE_IDENTIFIER_PEEP: + peep_paint((rct_peep*)spr, image_direction); + break; + case SPRITE_IDENTIFIER_MISC: + misc_paint(spr, image_direction); + break; + case SPRITE_IDENTIFIER_LITTER: + litter_paint((rct_litter*)spr, image_direction); + break; + default: + assert(false); + break; + } + } } diff --git a/src/openrct2/paint/supports.c b/src/openrct2/paint/supports.c index 243ec9467e..393f1f3fa9 100644 --- a/src/openrct2/paint/supports.c +++ b/src/openrct2/paint/supports.c @@ -21,312 +21,312 @@ /** rct2: 0x0097AF20, 0x0097AF21 */ const rct_xy8 loc_97AF20[] = { - {4, 4}, - {28, 4}, - {4, 28}, - {28, 28}, - {16, 16}, - {16, 4}, - {4, 16}, - {28, 16}, - {16, 28} + {4, 4}, + {28, 4}, + {4, 28}, + {28, 28}, + {16, 16}, + {16, 4}, + {4, 16}, + {28, 16}, + {16, 28} }; /** rct2: 0x0097AF32 */ static const uint8 _97AF32[] = { - 5, 2, 5, 2, 5, 2, 5, 2, - 7, 1, 7, 1, 7, 1, 7, 1, - 6, 3, 6, 3, 6, 3, 6, 3, - 8, 0, 8, 0, 8, 0, 8, 0, - 5, 3, 6, 0, 8, 1, 7, 2, - 1, 2, 1, 2, 1, 2, 1, 2, - 0, 3, 0, 3, 0, 3, 0, 3, - 3, 1, 3, 1, 3, 1, 3, 1, - 2, 0, 2, 0, 2, 0, 2, 0, + 5, 2, 5, 2, 5, 2, 5, 2, + 7, 1, 7, 1, 7, 1, 7, 1, + 6, 3, 6, 3, 6, 3, 6, 3, + 8, 0, 8, 0, 8, 0, 8, 0, + 5, 3, 6, 0, 8, 1, 7, 2, + 1, 2, 1, 2, 1, 2, 1, 2, + 0, 3, 0, 3, 0, 3, 0, 3, + 3, 1, 3, 1, 3, 1, 3, 1, + 2, 0, 2, 0, 2, 0, 2, 0, - 6, 1, 6, 1, 6, 1, 6, 1, - 5, 0, 5, 0, 5, 0, 5, 0, - 8, 2, 8, 2, 8, 2, 8, 2, - 7, 3, 7, 3, 7, 3, 7, 3, - 6, 0, 8, 1, 7, 2, 5, 3, - 0, 0, 0, 0, 0, 0, 0, 0, - 2, 1, 2, 1, 2, 1, 2, 1, - 1, 3, 1, 3, 1, 3, 1, 3, - 3, 2, 3, 2, 3, 2, 3, 2, + 6, 1, 6, 1, 6, 1, 6, 1, + 5, 0, 5, 0, 5, 0, 5, 0, + 8, 2, 8, 2, 8, 2, 8, 2, + 7, 3, 7, 3, 7, 3, 7, 3, + 6, 0, 8, 1, 7, 2, 5, 3, + 0, 0, 0, 0, 0, 0, 0, 0, + 2, 1, 2, 1, 2, 1, 2, 1, + 1, 3, 1, 3, 1, 3, 1, 3, + 3, 2, 3, 2, 3, 2, 3, 2, - 1, 6, 1, 6, 1, 6, 1, 6, - 3, 5, 3, 5, 3, 5, 3, 5, - 0, 7, 0, 7, 0, 7, 0, 7, - 2, 4, 2, 4, 2, 4, 2, 4, - 8, 1, 7, 2, 5, 3, 6, 0, - 4, 1, 4, 1, 4, 1, 4, 1, - 4, 2, 4, 2, 4, 2, 4, 2, - 4, 0, 4, 0, 4, 0, 4, 0, - 4, 3, 4, 3, 4, 3, 4, 3, + 1, 6, 1, 6, 1, 6, 1, 6, + 3, 5, 3, 5, 3, 5, 3, 5, + 0, 7, 0, 7, 0, 7, 0, 7, + 2, 4, 2, 4, 2, 4, 2, 4, + 8, 1, 7, 2, 5, 3, 6, 0, + 4, 1, 4, 1, 4, 1, 4, 1, + 4, 2, 4, 2, 4, 2, 4, 2, + 4, 0, 4, 0, 4, 0, 4, 0, + 4, 3, 4, 3, 4, 3, 4, 3, - 2, 5, 2, 5, 2, 5, 2, 5, - 0, 4, 0, 4, 0, 4, 0, 4, - 3, 6, 3, 6, 3, 6, 3, 6, - 1, 7, 1, 7, 1, 7, 1, 7, - 7, 2, 5, 3, 6, 0, 8, 1, - 8, 5, 8, 5, 8, 5, 8, 5, - 7, 6, 7, 6, 7, 6, 7, 6, - 6, 4, 6, 4, 6, 4, 6, 4, - 5, 7, 5, 7, 5, 7, 5, 7, + 2, 5, 2, 5, 2, 5, 2, 5, + 0, 4, 0, 4, 0, 4, 0, 4, + 3, 6, 3, 6, 3, 6, 3, 6, + 1, 7, 1, 7, 1, 7, 1, 7, + 7, 2, 5, 3, 6, 0, 8, 1, + 8, 5, 8, 5, 8, 5, 8, 5, + 7, 6, 7, 6, 7, 6, 7, 6, + 6, 4, 6, 4, 6, 4, 6, 4, + 5, 7, 5, 7, 5, 7, 5, 7, }; /** rct2: 0x0097B052, 0x0097B053 */ const rct_xy16 loc_97B052[] = { - {-15, -1}, - {0, -2}, - {-2, -1}, - {-1, -15}, - {-26, -1}, - {0, -2}, - {-2, -1}, - {-1, -26} + {-15, -1}, + {0, -2}, + {-2, -1}, + {-1, -15}, + {-26, -1}, + {0, -2}, + {-2, -1}, + {-1, -26} }; /** rct2: 0x0097B062, 0x0097B063 */ const rct_xy8 _97B062[] = { - { 18, 3 }, - { 3, 18 }, - { 18, 3 }, - { 3, 18 }, - { 32, 3 }, - { 3, 32 }, - { 32, 3 }, - { 3, 32 } + { 18, 3 }, + { 3, 18 }, + { 18, 3 }, + { 3, 18 }, + { 32, 3 }, + { 3, 32 }, + { 32, 3 }, + { 3, 32 } }; /** rct2: 0x0097B072 */ const uint32 _metalSupportTypeToCrossbeamImages[][8] = { - { 3370, 3371, 3370, 3371, 3372, 3373, 3372, 3373 }, // METAL_SUPPORTS_TUBES - { 3374, 3375, 3374, 3375, 3376, 3377, 3376, 3377 }, // METAL_SUPPORTS_FORK - { 3374, 3375, 3374, 3375, 3376, 3377, 3376, 3377 }, // METAL_SUPPORTS_FORK_ALT - { 3370, 3371, 3370, 3371, 3372, 3373, 3372, 3373 }, // METAL_SUPPORTS_BOXED - { 3374, 3375, 3374, 3375, 3376, 3377, 3376, 3377 }, // METAL_SUPPORTS_STICK - { 3374, 3375, 3374, 3375, 3376, 3377, 3376, 3377 }, // METAL_SUPPORTS_STICK_ALT - { 3378, 3383, 3378, 3383, 3380, 3385, 3380, 3385 }, // METAL_SUPPORTS_THICK_CENTRED - { 3378, 3383, 3378, 3383, 3380, 3385, 3380, 3385 }, // METAL_SUPPORTS_THICK - { 3382, 3379, 3382, 3379, 3384, 3381, 3384, 3381 }, // METAL_SUPPORTS_THICK_ALT - { 3382, 3379, 3382, 3379, 3384, 3381, 3384, 3381 }, // METAL_SUPPORTS_THICK_ALT_CENTRED - { 3378, 3379, 3378, 3379, 3380, 3381, 3380, 3381 }, // METAL_SUPPORTS_TRUSS - { 3386, 3387, 3386, 3387, 3388, 3389, 3388, 3389 }, // METAL_SUPPORTS_TUBES_INVERTED - { 3370, 3371, 3370, 3371, 3372, 3373, 3372, 3373 }, // METAL_SUPPORTS_BOXED_COATED + { 3370, 3371, 3370, 3371, 3372, 3373, 3372, 3373 }, // METAL_SUPPORTS_TUBES + { 3374, 3375, 3374, 3375, 3376, 3377, 3376, 3377 }, // METAL_SUPPORTS_FORK + { 3374, 3375, 3374, 3375, 3376, 3377, 3376, 3377 }, // METAL_SUPPORTS_FORK_ALT + { 3370, 3371, 3370, 3371, 3372, 3373, 3372, 3373 }, // METAL_SUPPORTS_BOXED + { 3374, 3375, 3374, 3375, 3376, 3377, 3376, 3377 }, // METAL_SUPPORTS_STICK + { 3374, 3375, 3374, 3375, 3376, 3377, 3376, 3377 }, // METAL_SUPPORTS_STICK_ALT + { 3378, 3383, 3378, 3383, 3380, 3385, 3380, 3385 }, // METAL_SUPPORTS_THICK_CENTRED + { 3378, 3383, 3378, 3383, 3380, 3385, 3380, 3385 }, // METAL_SUPPORTS_THICK + { 3382, 3379, 3382, 3379, 3384, 3381, 3384, 3381 }, // METAL_SUPPORTS_THICK_ALT + { 3382, 3379, 3382, 3379, 3384, 3381, 3384, 3381 }, // METAL_SUPPORTS_THICK_ALT_CENTRED + { 3378, 3379, 3378, 3379, 3380, 3381, 3380, 3381 }, // METAL_SUPPORTS_TRUSS + { 3386, 3387, 3386, 3387, 3388, 3389, 3388, 3389 }, // METAL_SUPPORTS_TUBES_INVERTED + { 3370, 3371, 3370, 3371, 3372, 3373, 3372, 3373 }, // METAL_SUPPORTS_BOXED_COATED }; /** rct2: 0x0097B142 */ static const uint8 supportTypeToHeight[] = { - 6, - 3, - 3, - 6, - 3, - 3, - 6, - 6, - 6, - 6, - 4, - 3, - 6, + 6, + 3, + 3, + 6, + 3, + 3, + 6, + 6, + 6, + 6, + 4, + 3, + 6, }; typedef struct metal_supports_images { - uint16 base_id; - uint16 beam_id; + uint16 base_id; + uint16 beam_id; } metal_supports_images; /** rct2: 0x0097B15C */ static const metal_supports_images _97B15C[] = { - { 3243, 3209 }, - { 3279, 3262 }, - { 3298, 3262 }, - { 3334, 3317 }, - { 0, 3658 }, - { 0, 3658 }, - { 0, 3141 }, - { 0, 3158 }, - { 0, 3175 }, - { 0, 3192 }, - { 0, 3124 }, - { 3243, 3209 }, - { 3334, 3353 }, + { 3243, 3209 }, + { 3279, 3262 }, + { 3298, 3262 }, + { 3334, 3317 }, + { 0, 3658 }, + { 0, 3658 }, + { 0, 3141 }, + { 0, 3158 }, + { 0, 3175 }, + { 0, 3192 }, + { 0, 3124 }, + { 3243, 3209 }, + { 3334, 3353 }, }; /** rct2: 0x0097B190 */ static const metal_supports_images _97B190[] = { - { 3243, 3226 }, // 3209 - { 3279, 3262 }, - { 3298, 3262 }, - { 3334, 3317 }, - { 0, 3658 }, - { 0, 3658 }, - { 0, 3141 }, - { 0, 3158 }, - { 0, 3175 }, - { 0, 3192 }, - { 0, 3124 }, - { 3243, 3226 }, // 3209 - { 3334, 3353 }, + { 3243, 3226 }, // 3209 + { 3279, 3262 }, + { 3298, 3262 }, + { 3334, 3317 }, + { 0, 3658 }, + { 0, 3658 }, + { 0, 3141 }, + { 0, 3158 }, + { 0, 3175 }, + { 0, 3192 }, + { 0, 3124 }, + { 3243, 3226 }, // 3209 + { 3334, 3353 }, }; /** rct2: 0x0097B404 */ static const uint8 metal_supports_slope_image_map[] = { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, - 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, 17, 18, 0, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, + 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, 17, 18, 0, }; typedef struct supports_id_desc { - uint16 full; - uint16 half; - uint16 flat; - uint16 slope; + uint16 full; + uint16 half; + uint16 flat; + uint16 slope; } supports_id_desc; /* 0x0097B1C4 */ const supports_id_desc WoodenSupportImageIds[] = { - { 3392, 3393, 3394, 3536 }, - { 3390, 3391, 3394, 3514 }, - { 3558, 3559, 3560, 3570 }, - { 3561, 3562, 3563, 3592 }, - { 3564, 3565, 3566, 3614 }, - { 3567, 3568, 3569, 3636 }, - { 3677, 3678, 3680, 3739 }, - { 3675, 3676, 3679, 3717 }, - { 3761, 3762, 3763, 3773 }, - { 3764, 3765, 3766, 3795 }, - { 3767, 3768, 3769, 3817 }, - { 3770, 3771, 3772, 3839 }, + { 3392, 3393, 3394, 3536 }, + { 3390, 3391, 3394, 3514 }, + { 3558, 3559, 3560, 3570 }, + { 3561, 3562, 3563, 3592 }, + { 3564, 3565, 3566, 3614 }, + { 3567, 3568, 3569, 3636 }, + { 3677, 3678, 3680, 3739 }, + { 3675, 3676, 3679, 3717 }, + { 3761, 3762, 3763, 3773 }, + { 3764, 3765, 3766, 3795 }, + { 3767, 3768, 3769, 3817 }, + { 3770, 3771, 3772, 3839 }, }; /* 0x0097B224 */ const uint16 WoodenCurveSupportImageIds[] = { - 3465, - 3465, - 0, - 0, - 0, - 0, - 3681, - 3681, - 0, - 0, - 0, - 0, + 3465, + 3465, + 0, + 0, + 0, + 0, + 3681, + 3681, + 0, + 0, + 0, + 0, }; typedef struct unk_supports_desc_bound_box { - struct { - uint8 x, y, z; - } offset; - struct { - uint8 x, y, z; - } length; + struct { + uint8 x, y, z; + } offset; + struct { + uint8 x, y, z; + } length; } unk_supports_desc_bound_box; typedef struct unk_supports_desc { - unk_supports_desc_bound_box bounding_box; - uint8 var_6; - uint8 var_7; + unk_supports_desc_bound_box bounding_box; + uint8 var_6; + uint8 var_7; } unk_supports_desc; /* 0x0097B23C */ const unk_supports_desc byte_97B23C[] = { - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{10, 0, 0}, {10, 32, 44}}, 1, 1}, - {{{0, 10, 0}, {32, 10, 44}}, 1, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{10, 0, 0}, {10, 32, 44}}, 1, 1}, - {{{0, 10, 0}, {32, 10, 44}}, 1, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{10, 0, 2}, {10, 32, 76}}, 1, 1}, - {{{0, 10, 2}, {32, 10, 76}}, 1, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, - {{{2, 2, 1}, {28, 28, 2}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{10, 0, 0}, {10, 32, 44}}, 1, 1}, + {{{0, 10, 0}, {32, 10, 44}}, 1, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{10, 0, 0}, {10, 32, 44}}, 1, 1}, + {{{0, 10, 0}, {32, 10, 44}}, 1, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{10, 0, 2}, {10, 32, 76}}, 1, 1}, + {{{0, 10, 2}, {32, 10, 76}}, 1, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 8}}, 0, 1}, + {{{2, 2, 1}, {28, 28, 2}}, 0, 1}, }; /* 0x0098D8D4 */ static const unk_supports_desc byte_98D8D4[] = { - {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, - {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, + {{{0, 0, 0}, {1, 1, 4}}, 0, 1}, }; /* 0x0097B3C4 */ const uint16 word_97B3C4[] = { - 0, - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 14, - 0, - 0, - 0, - 17, - 0, - 16, - 15, - 0, + 0, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 14, + 0, + 0, + 0, + 17, + 0, + 16, + 15, + 0, }; extern bool gUseOriginalRidePaint; @@ -347,137 +347,137 @@ paint_struct * gWoodenSupportsPrependTo; */ bool wooden_a_supports_paint_setup(sint32 supportType, sint32 special, sint32 height, uint32 imageColourFlags, bool* underground) { - if (underground != NULL){ - *underground = false; - } + if (underground != NULL){ + *underground = false; + } - if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { - return false; - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { + return false; + } - if (!(g141E9DB & G141E9DB_FLAG_1)) { - return false; - } + if (!(g141E9DB & G141E9DB_FLAG_1)) { + return false; + } - sint32 z = floor2(gSupport.height + 15, 16); - height -= z; - if (height < 0) { - if (underground != NULL) { - *underground = true; - } - return false; - } - height /= 16; + sint32 z = floor2(gSupport.height + 15, 16); + height -= z; + if (height < 0) { + if (underground != NULL) { + *underground = true; + } + return false; + } + height /= 16; - bool hasSupports = false; - bool drawFlatPiece = false; - sint32 rotation = get_current_rotation(); + bool hasSupports = false; + bool drawFlatPiece = false; + sint32 rotation = get_current_rotation(); - // Draw base support (usually shaped to the slope) - sint32 slope = gSupport.slope; - if (slope & (1 << 5)) { - // Above scenery (just put a base piece above it) - drawFlatPiece = true; - } else if (slope & (1 << 4)) { - // Steep diagonal (place the correct shaped support for the slope) - height -= 2; - if (height < 0) { - if (underground != NULL) { - *underground = true; - } - return false; - } + // Draw base support (usually shaped to the slope) + sint32 slope = gSupport.slope; + if (slope & (1 << 5)) { + // Above scenery (just put a base piece above it) + drawFlatPiece = true; + } else if (slope & (1 << 4)) { + // Steep diagonal (place the correct shaped support for the slope) + height -= 2; + if (height < 0) { + if (underground != NULL) { + *underground = true; + } + return false; + } - sint32 imageId = WoodenSupportImageIds[supportType].slope; - if (imageId == 0) { - drawFlatPiece = true; - } else { - imageId += word_97B3C4[slope & 0x1F]; - imageId |= imageColourFlags; - sub_98197C(imageId, 0, 0, 32, 32, 11, z, 0, 0, z + 2, rotation); + sint32 imageId = WoodenSupportImageIds[supportType].slope; + if (imageId == 0) { + drawFlatPiece = true; + } else { + imageId += word_97B3C4[slope & 0x1F]; + imageId |= imageColourFlags; + sub_98197C(imageId, 0, 0, 32, 32, 11, z, 0, 0, z + 2, rotation); - sub_98197C(imageId + 4, 0, 0, 32, 32, 11, z + 16, 0, 0, z + 16 + 2, rotation); + sub_98197C(imageId + 4, 0, 0, 32, 32, 11, z + 16, 0, 0, z + 16 + 2, rotation); - hasSupports = true; - } - z += 32; - } else if ((slope & 0x0F) != 0) { - // 1 to 3 quarters up - height--; - if (height < 0) { - if (underground != NULL) { - *underground = true; - } - return false; - } + hasSupports = true; + } + z += 32; + } else if ((slope & 0x0F) != 0) { + // 1 to 3 quarters up + height--; + if (height < 0) { + if (underground != NULL) { + *underground = true; + } + return false; + } - sint32 imageId = WoodenSupportImageIds[supportType].slope; - if (imageId == 0) { - drawFlatPiece = true; - } else { - imageId += word_97B3C4[slope & 0x1F]; - imageId |= imageColourFlags; + sint32 imageId = WoodenSupportImageIds[supportType].slope; + if (imageId == 0) { + drawFlatPiece = true; + } else { + imageId += word_97B3C4[slope & 0x1F]; + imageId |= imageColourFlags; - sub_98197C(imageId, 0, 0, 32, 32, 11, z, 0, 0, z + 2, rotation); - hasSupports = true; - } - z += 16; - } + sub_98197C(imageId, 0, 0, 32, 32, 11, z, 0, 0, z + 2, rotation); + hasSupports = true; + } + z += 16; + } - // Draw flat base support - if (drawFlatPiece) { - sint32 imageId = WoodenSupportImageIds[supportType].flat | imageColourFlags; - sub_98196C(imageId, 0, 0, 32, 32, 0, z - 2, rotation); - hasSupports = true; - } + // Draw flat base support + if (drawFlatPiece) { + sint32 imageId = WoodenSupportImageIds[supportType].flat | imageColourFlags; + sub_98196C(imageId, 0, 0, 32, 32, 0, z - 2, rotation); + hasSupports = true; + } - // Draw repeated supports for left over space - while (height != 0) { - if ((z & 16) == 0 && height >= 2 && z + 16 != gUnk141E9DC) { - // Full support - sint32 imageId = WoodenSupportImageIds[supportType].full | imageColourFlags; - uint8 ah = height == 2 ? 23 : 28; - sub_98196C(imageId, 0, 0, 32, 32, ah, z, rotation); - hasSupports = true; - z += 32; - height -= 2; - } else { - // Half support - sint32 imageId = WoodenSupportImageIds[supportType].half | imageColourFlags; - uint8 ah = height == 1 ? 7 : 12; - sub_98196C(imageId, 0, 0, 32, 32, ah, z, rotation); - hasSupports = true; - z += 16; - height -= 1; - } - } + // Draw repeated supports for left over space + while (height != 0) { + if ((z & 16) == 0 && height >= 2 && z + 16 != gUnk141E9DC) { + // Full support + sint32 imageId = WoodenSupportImageIds[supportType].full | imageColourFlags; + uint8 ah = height == 2 ? 23 : 28; + sub_98196C(imageId, 0, 0, 32, 32, ah, z, rotation); + hasSupports = true; + z += 32; + height -= 2; + } else { + // Half support + sint32 imageId = WoodenSupportImageIds[supportType].half | imageColourFlags; + uint8 ah = height == 1 ? 7 : 12; + sub_98196C(imageId, 0, 0, 32, 32, ah, z, rotation); + hasSupports = true; + z += 16; + height -= 1; + } + } - // Draw special pieces, e.g. curved supports - if (special != 0) { - special = (special - 1) & 0xFFFF; + // Draw special pieces, e.g. curved supports + if (special != 0) { + special = (special - 1) & 0xFFFF; - sint32 imageId = WoodenCurveSupportImageIds[supportType]; - if (imageId != 0 && byte_97B23C[special].var_7 != 0) { - imageId += special; - imageId |= imageColourFlags; + sint32 imageId = WoodenCurveSupportImageIds[supportType]; + if (imageId != 0 && byte_97B23C[special].var_7 != 0) { + imageId += special; + imageId |= imageColourFlags; - unk_supports_desc_bound_box bBox = byte_97B23C[special].bounding_box; + unk_supports_desc_bound_box bBox = byte_97B23C[special].bounding_box; - if (byte_97B23C[special].var_6 == 0 || gWoodenSupportsPrependTo == NULL) { - sub_98197C(imageId, 0, 0, bBox.length.x, bBox.length.y, bBox.length.z, z, bBox.offset.x, bBox.offset.y, bBox.offset.z + z, rotation); - hasSupports = true; - } else { - hasSupports = true; - paint_struct* ps = sub_98198C(imageId, 0, 0, bBox.length.x, bBox.length.y, bBox.length.z, z, bBox.offset.x, bBox.offset.y, bBox.offset.z + z, rotation); - if (ps != NULL) { - paint_struct* edi = gWoodenSupportsPrependTo; - edi->var_20 = ps; - } - } - } - } + if (byte_97B23C[special].var_6 == 0 || gWoodenSupportsPrependTo == NULL) { + sub_98197C(imageId, 0, 0, bBox.length.x, bBox.length.y, bBox.length.z, z, bBox.offset.x, bBox.offset.y, bBox.offset.z + z, rotation); + hasSupports = true; + } else { + hasSupports = true; + paint_struct* ps = sub_98198C(imageId, 0, 0, bBox.length.x, bBox.length.y, bBox.length.z, z, bBox.offset.x, bBox.offset.y, bBox.offset.z + z, rotation); + if (ps != NULL) { + paint_struct* edi = gWoodenSupportsPrependTo; + edi->var_20 = ps; + } + } + } + } - return hasSupports; + return hasSupports; } /** @@ -495,187 +495,187 @@ bool wooden_a_supports_paint_setup(sint32 supportType, sint32 special, sint32 he bool wooden_b_supports_paint_setup(sint32 supportType, sint32 special, sint32 height, uint32 imageColourFlags, bool * underground) { #ifndef NO_RCT2 - if (gUseOriginalRidePaint) { - sint32 eax = special, ebx = 0, ecx = 0, edx = height, esi = 0, _edi = supportType, ebp = imageColourFlags; - RCT2_CALLFUNC_X(0x00662D5C, &eax, &ebx, &ecx, &edx, &esi, &_edi, &ebp); - return eax & 0xFF; - } + if (gUseOriginalRidePaint) { + sint32 eax = special, ebx = 0, ecx = 0, edx = height, esi = 0, _edi = supportType, ebp = imageColourFlags; + RCT2_CALLFUNC_X(0x00662D5C, &eax, &ebx, &ecx, &edx, &esi, &_edi, &ebp); + return eax & 0xFF; + } #endif - bool _9E32B1 = false; + bool _9E32B1 = false; - if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { - if (underground != NULL) *underground = false; // AND - return false; - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { + if (underground != NULL) *underground = false; // AND + return false; + } - if (!(g141E9DB & G141E9DB_FLAG_1)) { - if (underground != NULL) *underground = false; // AND - return false; - } + if (!(g141E9DB & G141E9DB_FLAG_1)) { + if (underground != NULL) *underground = false; // AND + return false; + } - uint16 baseHeight = ceil2(gSupport.height, 16); - sint16 supportLength = height - baseHeight; + uint16 baseHeight = ceil2(gSupport.height, 16); + sint16 supportLength = height - baseHeight; - if (supportLength < 0) { - if (underground != NULL) *underground = true; // STC - return false; - } + if (supportLength < 0) { + if (underground != NULL) *underground = true; // STC + return false; + } - sint16 heightSteps = supportLength / 16; + sint16 heightSteps = supportLength / 16; - bool goTo662E8B = false; + bool goTo662E8B = false; - if (gSupport.slope & 0x20) { - goTo662E8B = true; - } else if (gSupport.slope & 0x10) { - heightSteps -= 2; - if (heightSteps < 0) { - if (underground != NULL) *underground = true; // STC - return false; - } + if (gSupport.slope & 0x20) { + goTo662E8B = true; + } else if (gSupport.slope & 0x10) { + heightSteps -= 2; + if (heightSteps < 0) { + if (underground != NULL) *underground = true; // STC + return false; + } - uint32 imageId = WoodenSupportImageIds[supportType].slope; - if (imageId == 0) { - baseHeight += 32; - goTo662E8B = true; - } else { - imageId += word_97B3C4[gSupport.slope & 0x1F]; + uint32 imageId = WoodenSupportImageIds[supportType].slope; + if (imageId == 0) { + baseHeight += 32; + goTo662E8B = true; + } else { + imageId += word_97B3C4[gSupport.slope & 0x1F]; - sub_98197C( - imageId | imageColourFlags, - 0, 0, - 32, 32, 11, - baseHeight, - 0, 0, baseHeight + 2, - get_current_rotation() - ); - baseHeight += 16; + sub_98197C( + imageId | imageColourFlags, + 0, 0, + 32, 32, 11, + baseHeight, + 0, 0, baseHeight + 2, + get_current_rotation() + ); + baseHeight += 16; - sub_98197C( - (imageId + 4) | imageColourFlags, - 0, 0, - 32, 32, 3, - baseHeight, - 0, 0, baseHeight + 2, - get_current_rotation() - ); - baseHeight += 16; + sub_98197C( + (imageId + 4) | imageColourFlags, + 0, 0, + 32, 32, 3, + baseHeight, + 0, 0, baseHeight + 2, + get_current_rotation() + ); + baseHeight += 16; - _9E32B1 = true; - } - } else if ((gSupport.slope & 0x0F) != 0) { - heightSteps -= 1; - if (heightSteps < 0) { - if (underground != NULL) *underground = true; // STC - return false; - } + _9E32B1 = true; + } + } else if ((gSupport.slope & 0x0F) != 0) { + heightSteps -= 1; + if (heightSteps < 0) { + if (underground != NULL) *underground = true; // STC + return false; + } - uint32 imageId = WoodenSupportImageIds[supportType].slope; - if (imageId == 0) { - baseHeight += 16; - goTo662E8B = true; - } else { - imageId += word_97B3C4[gSupport.slope & 0x1F]; + uint32 imageId = WoodenSupportImageIds[supportType].slope; + if (imageId == 0) { + baseHeight += 16; + goTo662E8B = true; + } else { + imageId += word_97B3C4[gSupport.slope & 0x1F]; - sub_98197C( - imageId | imageColourFlags, - 0, 0, - 32, 32, 3, - baseHeight, - 0, 0, baseHeight + 2, - get_current_rotation() - ); - baseHeight += 16; + sub_98197C( + imageId | imageColourFlags, + 0, 0, + 32, 32, 3, + baseHeight, + 0, 0, baseHeight + 2, + get_current_rotation() + ); + baseHeight += 16; - _9E32B1 = true; - } - } + _9E32B1 = true; + } + } - bool skipTo663004 = false; - if (goTo662E8B) { - if (heightSteps == 0) { - skipTo663004 = true; - } else { - sub_98196C( - WoodenSupportImageIds[supportType].flat | imageColourFlags, - 0, 0, - 32, 32, 0, - baseHeight - 2, - get_current_rotation() - ); - _9E32B1 = true; - } - } + bool skipTo663004 = false; + if (goTo662E8B) { + if (heightSteps == 0) { + skipTo663004 = true; + } else { + sub_98196C( + WoodenSupportImageIds[supportType].flat | imageColourFlags, + 0, 0, + 32, 32, 0, + baseHeight - 2, + get_current_rotation() + ); + _9E32B1 = true; + } + } - if (!skipTo663004) { - while (heightSteps > 0) { - if (baseHeight & 0x10 || heightSteps == 1 || baseHeight + 16 == gUnk141E9DC) { - sub_98196C( - WoodenSupportImageIds[supportType].half | imageColourFlags, - 0, 0, - 32, 32, ((heightSteps == 1) ? 7 : 12), - baseHeight, - get_current_rotation() - ); - heightSteps -= 1; - baseHeight += 16; - _9E32B1 = true; - } else { - sub_98196C( - WoodenSupportImageIds[supportType].full | imageColourFlags, - 0, 0, - 32, 32, ((heightSteps == 2) ? 23 : 28), - baseHeight, - get_current_rotation() - ); - heightSteps -= 2; - baseHeight += 32; - _9E32B1 = true; - } - } - } + if (!skipTo663004) { + while (heightSteps > 0) { + if (baseHeight & 0x10 || heightSteps == 1 || baseHeight + 16 == gUnk141E9DC) { + sub_98196C( + WoodenSupportImageIds[supportType].half | imageColourFlags, + 0, 0, + 32, 32, ((heightSteps == 1) ? 7 : 12), + baseHeight, + get_current_rotation() + ); + heightSteps -= 1; + baseHeight += 16; + _9E32B1 = true; + } else { + sub_98196C( + WoodenSupportImageIds[supportType].full | imageColourFlags, + 0, 0, + 32, 32, ((heightSteps == 2) ? 23 : 28), + baseHeight, + get_current_rotation() + ); + heightSteps -= 2; + baseHeight += 32; + _9E32B1 = true; + } + } + } - if (special != 0) { - uint16 specialIndex = (special - 1) & 0xFFFF; + if (special != 0) { + uint16 specialIndex = (special - 1) & 0xFFFF; - uint32 imageId = WoodenCurveSupportImageIds[supportType]; - unk_supports_desc supportsDesc = byte_97B23C[specialIndex]; + uint32 imageId = WoodenCurveSupportImageIds[supportType]; + unk_supports_desc supportsDesc = byte_97B23C[specialIndex]; - if (imageId != 0 && supportsDesc.var_7 != 0) { // byte_97B23C[special].var_7 is never 0 - imageId = (imageId + specialIndex) | imageColourFlags; + if (imageId != 0 && supportsDesc.var_7 != 0) { // byte_97B23C[special].var_7 is never 0 + imageId = (imageId + specialIndex) | imageColourFlags; - unk_supports_desc_bound_box boundBox = supportsDesc.bounding_box; + unk_supports_desc_bound_box boundBox = supportsDesc.bounding_box; - if (supportsDesc.var_6 == 0 || gWoodenSupportsPrependTo == NULL) { - sub_98197C( - imageId | imageColourFlags, - 0, 0, - boundBox.length.x, boundBox.length.y, boundBox.length.z, - baseHeight, - boundBox.offset.x, boundBox.offset.y, boundBox.offset.z + baseHeight, - get_current_rotation() - ); - _9E32B1 = true; - } else { - paint_struct * paintStruct = sub_98198C( - imageId | imageColourFlags, - 0, 0, - boundBox.length.x, boundBox.length.y, boundBox.length.z, - baseHeight, - boundBox.offset.x, boundBox.offset.y, boundBox.offset.z + baseHeight, - get_current_rotation() - ); - _9E32B1 = true; - if (paintStruct != NULL) { - gWoodenSupportsPrependTo->var_20 = paintStruct; - } - } - } - } + if (supportsDesc.var_6 == 0 || gWoodenSupportsPrependTo == NULL) { + sub_98197C( + imageId | imageColourFlags, + 0, 0, + boundBox.length.x, boundBox.length.y, boundBox.length.z, + baseHeight, + boundBox.offset.x, boundBox.offset.y, boundBox.offset.z + baseHeight, + get_current_rotation() + ); + _9E32B1 = true; + } else { + paint_struct * paintStruct = sub_98198C( + imageId | imageColourFlags, + 0, 0, + boundBox.length.x, boundBox.length.y, boundBox.length.z, + baseHeight, + boundBox.offset.x, boundBox.offset.y, boundBox.offset.z + baseHeight, + get_current_rotation() + ); + _9E32B1 = true; + if (paintStruct != NULL) { + gWoodenSupportsPrependTo->var_20 = paintStruct; + } + } + } + } - if (underground != NULL) *underground = false; // AND - return _9E32B1; + if (underground != NULL) *underground = false; // AND + return _9E32B1; } /** @@ -689,179 +689,179 @@ bool wooden_b_supports_paint_setup(sint32 supportType, sint32 special, sint32 he */ bool metal_a_supports_paint_setup(uint8 supportType, uint8 segment, sint32 special, sint32 height, uint32 imageColourFlags) { - if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { - return false; - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { + return false; + } - if (!(g141E9DB & G141E9DB_FLAG_1)) { - return false; - } + if (!(g141E9DB & G141E9DB_FLAG_1)) { + return false; + } - sint16 originalHeight = height; - sint32 originalSegment = segment; + sint16 originalHeight = height; + sint32 originalSegment = segment; - const uint8 rotation = get_current_rotation(); - sint16 unk9E3294 = -1; - if (height < gSupportSegments[segment].height){ - unk9E3294 = height; + const uint8 rotation = get_current_rotation(); + sint16 unk9E3294 = -1; + if (height < gSupportSegments[segment].height){ + unk9E3294 = height; - height -= supportTypeToHeight[supportType]; - if (height < 0) - return false; + height -= supportTypeToHeight[supportType]; + if (height < 0) + return false; - const uint8* esi = &(_97AF32[rotation * 2]); + const uint8* esi = &(_97AF32[rotation * 2]); - uint8 newSegment = esi[segment * 8]; - if (height <= gSupportSegments[newSegment].height) { - esi += 72; - newSegment = esi[segment * 8]; - if (height <= gSupportSegments[newSegment].height) { - esi += 72; - newSegment = esi[segment * 8]; - if (height <= gSupportSegments[newSegment].height) { - esi += 72; - newSegment = esi[segment * 8]; - if (height <= gSupportSegments[newSegment].height) { - return false; - } - } - } - } + uint8 newSegment = esi[segment * 8]; + if (height <= gSupportSegments[newSegment].height) { + esi += 72; + newSegment = esi[segment * 8]; + if (height <= gSupportSegments[newSegment].height) { + esi += 72; + newSegment = esi[segment * 8]; + if (height <= gSupportSegments[newSegment].height) { + esi += 72; + newSegment = esi[segment * 8]; + if (height <= gSupportSegments[newSegment].height) { + return false; + } + } + } + } - uint8 ebp = esi[segment * 8 + 1]; + uint8 ebp = esi[segment * 8 + 1]; - sint8 xOffset = loc_97AF20[segment].x; - sint8 yOffset = loc_97AF20[segment].y; - xOffset += loc_97B052[ebp].x; - yOffset += loc_97B052[ebp].y; + sint8 xOffset = loc_97AF20[segment].x; + sint8 yOffset = loc_97AF20[segment].y; + xOffset += loc_97B052[ebp].x; + yOffset += loc_97B052[ebp].y; - sint16 boundBoxLengthX = _97B062[ebp].x; - sint16 boundBoxLengthY = _97B062[ebp].y; + sint16 boundBoxLengthX = _97B062[ebp].x; + sint16 boundBoxLengthY = _97B062[ebp].y; - uint32 image_id = _metalSupportTypeToCrossbeamImages[supportType][ebp]; - image_id |= imageColourFlags; - sub_98196C(image_id, xOffset, yOffset, boundBoxLengthX, boundBoxLengthY, 1, height, rotation); + uint32 image_id = _metalSupportTypeToCrossbeamImages[supportType][ebp]; + image_id |= imageColourFlags; + sub_98196C(image_id, xOffset, yOffset, boundBoxLengthX, boundBoxLengthY, 1, height, rotation); - segment = newSegment; - } - sint16 si = height; - if (gSupportSegments[segment].slope & (1 << 5) || - height - gSupportSegments[segment].height < 6 || - _97B15C[supportType].base_id == 0 - ) { + segment = newSegment; + } + sint16 si = height; + if (gSupportSegments[segment].slope & (1 << 5) || + height - gSupportSegments[segment].height < 6 || + _97B15C[supportType].base_id == 0 + ) { - height = gSupportSegments[segment].height; - }else{ - sint8 xOffset = loc_97AF20[segment].x; - sint8 yOffset = loc_97AF20[segment].y; + height = gSupportSegments[segment].height; + }else{ + sint8 xOffset = loc_97AF20[segment].x; + sint8 yOffset = loc_97AF20[segment].y; - uint32 image_id = _97B15C[supportType].base_id; - image_id += metal_supports_slope_image_map[gSupportSegments[segment].slope & 0x1F]; - image_id |= imageColourFlags; + uint32 image_id = _97B15C[supportType].base_id; + image_id += metal_supports_slope_image_map[gSupportSegments[segment].slope & 0x1F]; + image_id |= imageColourFlags; - sub_98196C(image_id, xOffset, yOffset, 0, 0, 5, gSupportSegments[segment].height, rotation); + sub_98196C(image_id, xOffset, yOffset, 0, 0, 5, gSupportSegments[segment].height, rotation); - height = gSupportSegments[segment].height + 6; - } + height = gSupportSegments[segment].height + 6; + } - // Work out if a small support segment required to bring support to normal - // size (aka floor2(x, 16)) - sint16 heightDiff = floor2(height + 16, 16); - if (heightDiff > si) { - heightDiff = si; - } + // Work out if a small support segment required to bring support to normal + // size (aka floor2(x, 16)) + sint16 heightDiff = floor2(height + 16, 16); + if (heightDiff > si) { + heightDiff = si; + } - heightDiff -= height; + heightDiff -= height; - if (heightDiff > 0) { - sint8 xOffset = loc_97AF20[segment].x; - sint8 yOffset = loc_97AF20[segment].y; + if (heightDiff > 0) { + sint8 xOffset = loc_97AF20[segment].x; + sint8 yOffset = loc_97AF20[segment].y; - uint32 image_id = _97B15C[supportType].beam_id; - image_id += heightDiff - 1; - image_id |= imageColourFlags; + uint32 image_id = _97B15C[supportType].beam_id; + image_id += heightDiff - 1; + image_id |= imageColourFlags; - sub_98196C(image_id, xOffset, yOffset, 0, 0, heightDiff - 1, height, rotation); - } + sub_98196C(image_id, xOffset, yOffset, 0, 0, heightDiff - 1, height, rotation); + } - height += heightDiff; - //6632e6 + height += heightDiff; + //6632e6 - for (uint8 count = 0; ;count++) { - if (count >= 4) - count = 0; + for (uint8 count = 0; ;count++) { + if (count >= 4) + count = 0; - sint16 z = height + 16; - if (z > si) { - z = si; - } + sint16 z = height + 16; + if (z > si) { + z = si; + } - z -= height; - if (z <= 0) - break; + z -= height; + if (z <= 0) + break; - sint8 xOffset = loc_97AF20[segment].x; - sint8 yOffset = loc_97AF20[segment].y; + sint8 xOffset = loc_97AF20[segment].x; + sint8 yOffset = loc_97AF20[segment].y; - uint32 image_id = _97B15C[supportType].beam_id; - image_id += z - 1; - image_id |= imageColourFlags; + uint32 image_id = _97B15C[supportType].beam_id; + image_id += z - 1; + image_id |= imageColourFlags; - if (count == 3 && z == 0x10) - image_id++; + if (count == 3 && z == 0x10) + image_id++; - sub_98196C(image_id, xOffset, yOffset, 0, 0, z - 1, height, rotation); + sub_98196C(image_id, xOffset, yOffset, 0, 0, z - 1, height, rotation); - height += z; - } + height += z; + } - gSupportSegments[segment].height = unk9E3294; - gSupportSegments[segment].slope = 0x20; + gSupportSegments[segment].height = unk9E3294; + gSupportSegments[segment].slope = 0x20; - height = originalHeight; - segment = originalSegment; - if (special == 0) - return true; + height = originalHeight; + segment = originalSegment; + if (special == 0) + return true; - if (special < 0) { - special = -special; - height--; - } + if (special < 0) { + special = -special; + height--; + } - sint16 boundBoxOffsetX = loc_97AF20[segment].x; - sint16 boundBoxOffsetY = loc_97AF20[segment].y; - sint16 boundBoxOffsetZ = height; - si = height + special; + sint16 boundBoxOffsetX = loc_97AF20[segment].x; + sint16 boundBoxOffsetY = loc_97AF20[segment].y; + sint16 boundBoxOffsetZ = height; + si = height + special; - while (1) { - sint16 z = height + 16; - if (z > si) { - z = si; - } + while (1) { + sint16 z = height + 16; + if (z > si) { + z = si; + } - z -= height; - if (z <= 0) - break; + z -= height; + if (z <= 0) + break; - sint8 xOffset = loc_97AF20[segment].x; - sint8 yOffset = loc_97AF20[segment].y; + sint8 xOffset = loc_97AF20[segment].x; + sint8 yOffset = loc_97AF20[segment].y; - uint32 image_id = _97B190[supportType].beam_id; - image_id += z - 1; - image_id |= imageColourFlags; + uint32 image_id = _97B190[supportType].beam_id; + image_id += z - 1; + image_id |= imageColourFlags; - sub_98197C(image_id, xOffset, yOffset, 0, 0, 0, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); + sub_98197C(image_id, xOffset, yOffset, 0, 0, 0, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); - height += z; - } + height += z; + } - return true; + return true; - //sint32 eax = special, ebx = 0, ecx = 0, edx = height, esi = 0, _edi = supportType, ebp = imageColourFlags; - //RCT2_CALLFUNC_X(0x00663105, &eax, &ebx, &ecx, &edx, &esi, &_edi, &ebp); - //return eax & 0xFF; + //sint32 eax = special, ebx = 0, ecx = 0, edx = height, esi = 0, _edi = supportType, ebp = imageColourFlags; + //RCT2_CALLFUNC_X(0x00663105, &eax, &ebx, &ecx, &edx, &esi, &_edi, &ebp); + //return eax & 0xFF; } /** @@ -879,180 +879,180 @@ bool metal_a_supports_paint_setup(uint8 supportType, uint8 segment, sint32 speci bool metal_b_supports_paint_setup(uint8 supportType, uint8 segment, sint32 special, sint32 height, uint32 imageColourFlags) { #ifndef NO_RCT2 - if (gUseOriginalRidePaint) { - sint32 eax = special, ebx = segment, ecx = 0, edx = height, esi = 0, _edi = supportType, ebp = imageColourFlags; - RCT2_CALLFUNC_X(0x00663584, &eax, &ebx, &ecx, &edx, &esi, &_edi, &ebp); - return eax & 0xFF; - } + if (gUseOriginalRidePaint) { + sint32 eax = special, ebx = segment, ecx = 0, edx = height, esi = 0, _edi = supportType, ebp = imageColourFlags; + RCT2_CALLFUNC_X(0x00663584, &eax, &ebx, &ecx, &edx, &esi, &_edi, &ebp); + return eax & 0xFF; + } #endif - uint8 originalSegment = segment; + uint8 originalSegment = segment; - if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { - return false; // AND - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { + return false; // AND + } - if (!(g141E9DB & G141E9DB_FLAG_1)) { - return false; // AND - } + if (!(g141E9DB & G141E9DB_FLAG_1)) { + return false; // AND + } - uint16 _9E3294 = 0xFFFF; - sint32 baseHeight = height; + uint16 _9E3294 = 0xFFFF; + sint32 baseHeight = height; - if (height < gSupportSegments[segment].height) { - _9E3294 = height; + if (height < gSupportSegments[segment].height) { + _9E3294 = height; - baseHeight -= supportTypeToHeight[supportType]; - if (baseHeight < 0) { - return false; // AND - } + baseHeight -= supportTypeToHeight[supportType]; + if (baseHeight < 0) { + return false; // AND + } - uint16 baseIndex = get_current_rotation() * 2; + uint16 baseIndex = get_current_rotation() * 2; - uint8 ebp = _97AF32[baseIndex + segment * 8]; - if (baseHeight <= gSupportSegments[ebp].height) { - baseIndex += 9 * 4 * 2; // 9 segments, 4 directions, 2 values - uint8 ebp2 = _97AF32[baseIndex + segment * 8]; - if (baseHeight <= gSupportSegments[ebp2].height) { - baseIndex += 9 * 4 * 2; - uint8 ebp3 = _97AF32[baseIndex + segment * 8]; - if (baseHeight <= gSupportSegments[ebp3].height) { - baseIndex += 9 * 4 * 2; - uint8 ebp4 = _97AF32[baseIndex + segment * 8]; - if (baseHeight <= gSupportSegments[ebp4].height) { - return true; // STC - } - } + uint8 ebp = _97AF32[baseIndex + segment * 8]; + if (baseHeight <= gSupportSegments[ebp].height) { + baseIndex += 9 * 4 * 2; // 9 segments, 4 directions, 2 values + uint8 ebp2 = _97AF32[baseIndex + segment * 8]; + if (baseHeight <= gSupportSegments[ebp2].height) { + baseIndex += 9 * 4 * 2; + uint8 ebp3 = _97AF32[baseIndex + segment * 8]; + if (baseHeight <= gSupportSegments[ebp3].height) { + baseIndex += 9 * 4 * 2; + uint8 ebp4 = _97AF32[baseIndex + segment * 8]; + if (baseHeight <= gSupportSegments[ebp4].height) { + return true; // STC + } + } - } - } + } + } - segment = ebp; + segment = ebp; - // save ebp - // save supportType + // save ebp + // save supportType - ebp = _97AF32[baseIndex + segment * 8 + 1]; - if (ebp >= 4) { - return true; // STC - } + ebp = _97AF32[baseIndex + segment * 8 + 1]; + if (ebp >= 4) { + return true; // STC + } - sub_98196C( - _metalSupportTypeToCrossbeamImages[supportType][ebp] | imageColourFlags, - loc_97AF20[originalSegment].x + loc_97B052[ebp].x, loc_97AF20[originalSegment].y + loc_97B052[ebp].y, - _97B062[ebp].x, _97B062[ebp].y, 1, - baseHeight, - get_current_rotation() - ); - } + sub_98196C( + _metalSupportTypeToCrossbeamImages[supportType][ebp] | imageColourFlags, + loc_97AF20[originalSegment].x + loc_97B052[ebp].x, loc_97AF20[originalSegment].y + loc_97B052[ebp].y, + _97B062[ebp].x, _97B062[ebp].y, 1, + baseHeight, + get_current_rotation() + ); + } - sint32 si = baseHeight; + sint32 si = baseHeight; - if ((gSupportSegments[segment].slope & 0x20) - || (baseHeight - gSupportSegments[segment].height < 6) - || (_97B15C[supportType].base_id == 0)) { - baseHeight = gSupportSegments[segment].height; - } else { - uint32 imageOffset = metal_supports_slope_image_map[gSupportSegments[segment].slope & 0x1F]; - uint32 imageId = _97B15C[supportType].base_id + imageOffset; + if ((gSupportSegments[segment].slope & 0x20) + || (baseHeight - gSupportSegments[segment].height < 6) + || (_97B15C[supportType].base_id == 0)) { + baseHeight = gSupportSegments[segment].height; + } else { + uint32 imageOffset = metal_supports_slope_image_map[gSupportSegments[segment].slope & 0x1F]; + uint32 imageId = _97B15C[supportType].base_id + imageOffset; - sub_98196C( - imageId | imageColourFlags, - loc_97AF20[segment].x, loc_97AF20[segment].y, - 0, 0, 5, - gSupportSegments[segment].height, - get_current_rotation() - ); + sub_98196C( + imageId | imageColourFlags, + loc_97AF20[segment].x, loc_97AF20[segment].y, + 0, 0, 5, + gSupportSegments[segment].height, + get_current_rotation() + ); - baseHeight = gSupportSegments[segment].height + 6; - } + baseHeight = gSupportSegments[segment].height + 6; + } - sint16 heightDiff = floor2(baseHeight + 16, 16); - if (heightDiff > si) { - heightDiff = si; - } + sint16 heightDiff = floor2(baseHeight + 16, 16); + if (heightDiff > si) { + heightDiff = si; + } - heightDiff -= baseHeight; - if (heightDiff > 0) { - sub_98196C( - (_97B15C[supportType].beam_id + (heightDiff - 1)) | imageColourFlags, - loc_97AF20[segment].x, loc_97AF20[segment].y, - 0, 0, heightDiff - 1, - baseHeight, - get_current_rotation() - ); - } + heightDiff -= baseHeight; + if (heightDiff > 0) { + sub_98196C( + (_97B15C[supportType].beam_id + (heightDiff - 1)) | imageColourFlags, + loc_97AF20[segment].x, loc_97AF20[segment].y, + 0, 0, heightDiff - 1, + baseHeight, + get_current_rotation() + ); + } - baseHeight += heightDiff; + baseHeight += heightDiff; - sint16 endHeight; + sint16 endHeight; - sint32 i = 1; - while (true) { - endHeight = baseHeight + 16; - if (endHeight > si) { - endHeight = si; - } + sint32 i = 1; + while (true) { + endHeight = baseHeight + 16; + if (endHeight > si) { + endHeight = si; + } - sint16 beamLength = endHeight - baseHeight; + sint16 beamLength = endHeight - baseHeight; - if (beamLength <= 0) { - break; - } + if (beamLength <= 0) { + break; + } - uint32 imageId = _97B15C[supportType].beam_id + (beamLength - 1); + uint32 imageId = _97B15C[supportType].beam_id + (beamLength - 1); - if (i % 4 == 0) { - // Each fourth run, draw a special image - if (beamLength == 16) { - imageId += 1; - } - } + if (i % 4 == 0) { + // Each fourth run, draw a special image + if (beamLength == 16) { + imageId += 1; + } + } - sub_98196C( - imageId | imageColourFlags, - loc_97AF20[segment].x, loc_97AF20[segment].y, - 0, 0, beamLength - 1, - baseHeight, - get_current_rotation() - ); + sub_98196C( + imageId | imageColourFlags, + loc_97AF20[segment].x, loc_97AF20[segment].y, + 0, 0, beamLength - 1, + baseHeight, + get_current_rotation() + ); - baseHeight += beamLength; - i++; - } + baseHeight += beamLength; + i++; + } - gSupportSegments[segment].height = _9E3294; - gSupportSegments[segment].slope = 0x20; + gSupportSegments[segment].height = _9E3294; + gSupportSegments[segment].slope = 0x20; - if (special != 0) { - baseHeight = height; - si = height + special; - while (true) { - endHeight = baseHeight + 16; - if (endHeight > si) { - endHeight = si; - } + if (special != 0) { + baseHeight = height; + si = height + special; + while (true) { + endHeight = baseHeight + 16; + if (endHeight > si) { + endHeight = si; + } - sint16 beamLength = endHeight - baseHeight; - if (beamLength <= 0) { - break; - } + sint16 beamLength = endHeight - baseHeight; + if (beamLength <= 0) { + break; + } - uint32 imageId = _97B15C[supportType].beam_id + (beamLength - 1); - sub_98197C( - imageId | imageColourFlags, - loc_97AF20[originalSegment].x, loc_97AF20[originalSegment].y, - 0, 0, 0, - baseHeight, - loc_97AF20[originalSegment].x, loc_97AF20[originalSegment].y, height, - get_current_rotation() - ); - baseHeight += beamLength; - } - } + uint32 imageId = _97B15C[supportType].beam_id + (beamLength - 1); + sub_98197C( + imageId | imageColourFlags, + loc_97AF20[originalSegment].x, loc_97AF20[originalSegment].y, + 0, 0, 0, + baseHeight, + loc_97AF20[originalSegment].x, loc_97AF20[originalSegment].y, height, + get_current_rotation() + ); + baseHeight += beamLength; + } + } - return false; // AND + return false; // AND } /** @@ -1068,171 +1068,171 @@ bool metal_b_supports_paint_setup(uint8 supportType, uint8 segment, sint32 speci * @return Whether supports were drawn */ bool path_a_supports_paint_setup(sint32 supportType, sint32 special, sint32 height, uint32 imageColourFlags, - rct_footpath_entry * pathEntry, bool * underground) + rct_footpath_entry * pathEntry, bool * underground) { #ifndef NO_RCT2 - if (gUseOriginalRidePaint) { - RCT2_GLOBAL(0xF3EF6C, rct_footpath_entry *) = pathEntry; - sint32 eax = special, ebx = 0, ecx = 0, edx = height, esi = 0, _edi = supportType, ebp = imageColourFlags; - RCT2_CALLFUNC_X(0x006A2ECC, &eax, &ebx, &ecx, &edx, &esi, &_edi, &ebp); - return eax & 0xFF; - } + if (gUseOriginalRidePaint) { + RCT2_GLOBAL(0xF3EF6C, rct_footpath_entry *) = pathEntry; + sint32 eax = special, ebx = 0, ecx = 0, edx = height, esi = 0, _edi = supportType, ebp = imageColourFlags; + RCT2_CALLFUNC_X(0x006A2ECC, &eax, &ebx, &ecx, &edx, &esi, &_edi, &ebp); + return eax & 0xFF; + } #endif - if (underground != NULL) { - *underground = false; // AND - } + if (underground != NULL) { + *underground = false; // AND + } - if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { - return false; - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { + return false; + } - if (!(g141E9DB & G141E9DB_FLAG_1)) { - return false; - } + if (!(g141E9DB & G141E9DB_FLAG_1)) { + return false; + } - uint16 baseHeight = ceil2(gSupport.height, 16); - sint32 supportLength = height - baseHeight; - if (supportLength < 0) { - if (underground != NULL) *underground = true; // STC - return false; - } + uint16 baseHeight = ceil2(gSupport.height, 16); + sint32 supportLength = height - baseHeight; + if (supportLength < 0) { + if (underground != NULL) *underground = true; // STC + return false; + } - bool hasSupports = false; + bool hasSupports = false; - sint16 heightSteps = supportLength / 16; + sint16 heightSteps = supportLength / 16; - if (gSupport.slope & 0x20) { - //save dx2 - sub_98196C( - (pathEntry->bridge_image + 48) | imageColourFlags, - 0, 0, - 32, 32, 0, - baseHeight - 2, - get_current_rotation() - ); - hasSupports = true; - } else if (gSupport.slope & 0x10) { - heightSteps -= 2; - if (heightSteps < 0) { - if (underground != NULL) *underground = true; // STC - return false; - } + if (gSupport.slope & 0x20) { + //save dx2 + sub_98196C( + (pathEntry->bridge_image + 48) | imageColourFlags, + 0, 0, + 32, 32, 0, + baseHeight - 2, + get_current_rotation() + ); + hasSupports = true; + } else if (gSupport.slope & 0x10) { + heightSteps -= 2; + if (heightSteps < 0) { + if (underground != NULL) *underground = true; // STC + return false; + } - uint32 imageId = (supportType * 24) + word_97B3C4[gSupport.slope & 0x1F] + pathEntry->bridge_image; + uint32 imageId = (supportType * 24) + word_97B3C4[gSupport.slope & 0x1F] + pathEntry->bridge_image; - sub_98197C( - imageId | imageColourFlags, - 0, 0, - 32, 32, 11, - baseHeight, - 0, 0, baseHeight + 2, - get_current_rotation() - ); - baseHeight += 16; + sub_98197C( + imageId | imageColourFlags, + 0, 0, + 32, 32, 11, + baseHeight, + 0, 0, baseHeight + 2, + get_current_rotation() + ); + baseHeight += 16; - sub_98197C( - (imageId + 4) | imageColourFlags, - 0, 0, - 32, 32, 11, - baseHeight, - 0, 0, baseHeight + 2, - get_current_rotation() - ); - baseHeight += 16; + sub_98197C( + (imageId + 4) | imageColourFlags, + 0, 0, + 32, 32, 11, + baseHeight, + 0, 0, baseHeight + 2, + get_current_rotation() + ); + baseHeight += 16; - hasSupports = true; + hasSupports = true; - } else if (gSupport.slope & 0x0F) { - heightSteps -= 1; - if (heightSteps < 0) { - if (underground != NULL) *underground = true; // STC - return false; - } + } else if (gSupport.slope & 0x0F) { + heightSteps -= 1; + if (heightSteps < 0) { + if (underground != NULL) *underground = true; // STC + return false; + } - uint32 ebx = (supportType * 24) + word_97B3C4[gSupport.slope & 0x1F] + pathEntry->bridge_image; + uint32 ebx = (supportType * 24) + word_97B3C4[gSupport.slope & 0x1F] + pathEntry->bridge_image; - sub_98197C( - ebx | imageColourFlags, - 0, 0, - 32, 32, 11, - baseHeight, - 0, 0, baseHeight + 2, - get_current_rotation() - ); + sub_98197C( + ebx | imageColourFlags, + 0, 0, + 32, 32, 11, + baseHeight, + 0, 0, baseHeight + 2, + get_current_rotation() + ); - hasSupports = true; - baseHeight += 16; - } + hasSupports = true; + baseHeight += 16; + } - while (heightSteps > 0) { - if (baseHeight & 0x10 || heightSteps == 1 || baseHeight + 16 == gUnk141E9DC) { + while (heightSteps > 0) { + if (baseHeight & 0x10 || heightSteps == 1 || baseHeight + 16 == gUnk141E9DC) { - uint32 imageId = (supportType * 24) + pathEntry->bridge_image + 23; + uint32 imageId = (supportType * 24) + pathEntry->bridge_image + 23; - sub_98196C( - imageId | imageColourFlags, - 0, 0, - 32, 32, ((heightSteps == 1) ? 7 : 12), - baseHeight, - get_current_rotation() - ); - heightSteps -= 1; - baseHeight += 16; - hasSupports = true; - } else { - uint32 imageId = (supportType * 24) + pathEntry->bridge_image + 22; + sub_98196C( + imageId | imageColourFlags, + 0, 0, + 32, 32, ((heightSteps == 1) ? 7 : 12), + baseHeight, + get_current_rotation() + ); + heightSteps -= 1; + baseHeight += 16; + hasSupports = true; + } else { + uint32 imageId = (supportType * 24) + pathEntry->bridge_image + 22; - sub_98196C( - imageId | imageColourFlags, - 0, 0, - 32, 32, ((heightSteps == 2) ? 23 : 28), - baseHeight, - get_current_rotation() - ); - heightSteps -= 2; - baseHeight += 32; - hasSupports = true; - } - } + sub_98196C( + imageId | imageColourFlags, + 0, 0, + 32, 32, ((heightSteps == 2) ? 23 : 28), + baseHeight, + get_current_rotation() + ); + heightSteps -= 2; + baseHeight += 32; + hasSupports = true; + } + } - if (special != 0) { - uint16 specialIndex = (special - 1) & 0xFFFF; + if (special != 0) { + uint16 specialIndex = (special - 1) & 0xFFFF; - uint32 imageId = pathEntry->bridge_image + 55 + specialIndex; + uint32 imageId = pathEntry->bridge_image + 55 + specialIndex; - unk_supports_desc supportsDesc = byte_98D8D4[specialIndex]; - unk_supports_desc_bound_box boundBox = supportsDesc.bounding_box; + unk_supports_desc supportsDesc = byte_98D8D4[specialIndex]; + unk_supports_desc_bound_box boundBox = supportsDesc.bounding_box; - if (supportsDesc.var_6 == 0 || gWoodenSupportsPrependTo == NULL) { - sub_98197C( - imageId | imageColourFlags, - 0, 0, - boundBox.length.y, boundBox.length.x, boundBox.length.z, - baseHeight, - boundBox.offset.x, boundBox.offset.y, baseHeight + boundBox.offset.z, - get_current_rotation() - ); - hasSupports = true; - } else { - paint_struct * paintStruct = sub_98198C( - imageId | imageColourFlags, - 0, 0, - boundBox.length.y, boundBox.length.x, boundBox.length.z, - baseHeight, - boundBox.offset.x, boundBox.offset.y, baseHeight + boundBox.offset.z, - get_current_rotation() - ); - hasSupports = true; - if (paintStruct != NULL) { - gWoodenSupportsPrependTo->var_20 = paintStruct; - } - } - } + if (supportsDesc.var_6 == 0 || gWoodenSupportsPrependTo == NULL) { + sub_98197C( + imageId | imageColourFlags, + 0, 0, + boundBox.length.y, boundBox.length.x, boundBox.length.z, + baseHeight, + boundBox.offset.x, boundBox.offset.y, baseHeight + boundBox.offset.z, + get_current_rotation() + ); + hasSupports = true; + } else { + paint_struct * paintStruct = sub_98198C( + imageId | imageColourFlags, + 0, 0, + boundBox.length.y, boundBox.length.x, boundBox.length.z, + baseHeight, + boundBox.offset.x, boundBox.offset.y, baseHeight + boundBox.offset.z, + get_current_rotation() + ); + hasSupports = true; + if (paintStruct != NULL) { + gWoodenSupportsPrependTo->var_20 = paintStruct; + } + } + } - if (underground != NULL) *underground = false; // AND + if (underground != NULL) *underground = false; // AND - return hasSupports; + return hasSupports; } /** @@ -1248,154 +1248,154 @@ bool path_a_supports_paint_setup(sint32 supportType, sint32 special, sint32 heig * @return Whether supports were drawn */ bool path_b_supports_paint_setup(sint32 segment, sint32 special, sint32 height, uint32 imageColourFlags, - rct_footpath_entry * pathEntry) + rct_footpath_entry * pathEntry) { #ifndef NO_RCT2 - if (gUseOriginalRidePaint) { - RCT2_GLOBAL(0xF3EF6C, rct_footpath_entry *) = pathEntry; - sint32 eax = special, ebx = segment, ecx = 0, edx = height, esi = 0, _edi = 0, ebp = imageColourFlags; - RCT2_CALLFUNC_X(0x006A326B, &eax, &ebx, &ecx, &edx, &esi, &_edi, &ebp); - return eax & 0xFF; - } + if (gUseOriginalRidePaint) { + RCT2_GLOBAL(0xF3EF6C, rct_footpath_entry *) = pathEntry; + sint32 eax = special, ebx = segment, ecx = 0, edx = height, esi = 0, _edi = 0, ebp = imageColourFlags; + RCT2_CALLFUNC_X(0x006A326B, &eax, &ebx, &ecx, &edx, &esi, &_edi, &ebp); + return eax & 0xFF; + } #endif - if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { - return false; // AND - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { + return false; // AND + } - if (!(g141E9DB & G141E9DB_FLAG_1)) { - return false; // AND - } + if (!(g141E9DB & G141E9DB_FLAG_1)) { + return false; // AND + } - if (height < gSupportSegments[segment].height) { - return true; // STC - } + if (height < gSupportSegments[segment].height) { + return true; // STC + } - uint16 baseHeight; + uint16 baseHeight; - if ((gSupportSegments[segment].slope & 0x20) - || (height - gSupportSegments[segment].height < 6) - || !(pathEntry->flags & FOOTPATH_ENTRY_FLAG_HAS_SUPPORT_BASE_SPRITE)) { - baseHeight = gSupportSegments[segment].height; - } else { - uint8 imageOffset = metal_supports_slope_image_map[gSupportSegments[segment].slope & 0x1F]; - baseHeight = gSupportSegments[segment].height; + if ((gSupportSegments[segment].slope & 0x20) + || (height - gSupportSegments[segment].height < 6) + || !(pathEntry->flags & FOOTPATH_ENTRY_FLAG_HAS_SUPPORT_BASE_SPRITE)) { + baseHeight = gSupportSegments[segment].height; + } else { + uint8 imageOffset = metal_supports_slope_image_map[gSupportSegments[segment].slope & 0x1F]; + baseHeight = gSupportSegments[segment].height; - sub_98196C( - (pathEntry->bridge_image + 37 + imageOffset) | imageColourFlags, - loc_97AF20[segment].x, loc_97AF20[segment].y, - 0, 0, 5, - baseHeight, - get_current_rotation() - ); - baseHeight += 6; - } + sub_98196C( + (pathEntry->bridge_image + 37 + imageOffset) | imageColourFlags, + loc_97AF20[segment].x, loc_97AF20[segment].y, + 0, 0, 5, + baseHeight, + get_current_rotation() + ); + baseHeight += 6; + } - // si = height - // dx = baseHeight + // si = height + // dx = baseHeight - sint16 heightDiff = floor2(baseHeight + 16, 16); - if (heightDiff > height) { - heightDiff = height; - } + sint16 heightDiff = floor2(baseHeight + 16, 16); + if (heightDiff > height) { + heightDiff = height; + } - heightDiff -= baseHeight; + heightDiff -= baseHeight; - if (heightDiff > 0) { - sub_98196C( - (pathEntry->bridge_image + 20 + (heightDiff - 1)) | imageColourFlags, - loc_97AF20[segment].x, loc_97AF20[segment].y, - 0, 0, heightDiff - 1, - baseHeight, - get_current_rotation() - ); - } + if (heightDiff > 0) { + sub_98196C( + (pathEntry->bridge_image + 20 + (heightDiff - 1)) | imageColourFlags, + loc_97AF20[segment].x, loc_97AF20[segment].y, + 0, 0, heightDiff - 1, + baseHeight, + get_current_rotation() + ); + } - baseHeight += heightDiff; + baseHeight += heightDiff; - bool keepGoing = true; - while (keepGoing) { - sint16 z; + bool keepGoing = true; + while (keepGoing) { + sint16 z; - for (sint32 i = 0; i < 4; ++i) { - z = baseHeight + 16; - if (z > height) { - z = height; - } - z -= baseHeight; + for (sint32 i = 0; i < 4; ++i) { + z = baseHeight + 16; + if (z > height) { + z = height; + } + z -= baseHeight; - if (z <= 0) { - keepGoing = false; - break; - } + if (z <= 0) { + keepGoing = false; + break; + } - if (i == 3) { - // Only do the z check in the fourth run. - break; - } + if (i == 3) { + // Only do the z check in the fourth run. + break; + } - sub_98196C( - (pathEntry->bridge_image + 20 + (z - 1)) | imageColourFlags, - loc_97AF20[segment].x, loc_97AF20[segment].y, - 0, 0, (z - 1), - baseHeight, - get_current_rotation() - ); + sub_98196C( + (pathEntry->bridge_image + 20 + (z - 1)) | imageColourFlags, + loc_97AF20[segment].x, loc_97AF20[segment].y, + 0, 0, (z - 1), + baseHeight, + get_current_rotation() + ); - baseHeight += z; - } + baseHeight += z; + } - if (keepGoing == false) { - break; - } + if (keepGoing == false) { + break; + } - uint32 imageId = pathEntry->bridge_image + 20 + (z - 1); - if (z == 16) { - imageId += 1; - } + uint32 imageId = pathEntry->bridge_image + 20 + (z - 1); + if (z == 16) { + imageId += 1; + } - sub_98196C( - imageId | imageColourFlags, - loc_97AF20[segment].x, loc_97AF20[segment].y, - 0, 0, (z - 1), - baseHeight, - get_current_rotation() - ); + sub_98196C( + imageId | imageColourFlags, + loc_97AF20[segment].x, loc_97AF20[segment].y, + 0, 0, (z - 1), + baseHeight, + get_current_rotation() + ); - baseHeight += z; - } + baseHeight += z; + } - // loc_6A34D8 - gSupportSegments[segment].height = 0xFFFF; - gSupportSegments[segment].slope = 0x20; + // loc_6A34D8 + gSupportSegments[segment].height = 0xFFFF; + gSupportSegments[segment].slope = 0x20; - if (special != 0) { - sint16 si = special + baseHeight; + if (special != 0) { + sint16 si = special + baseHeight; - while (true) { - sint16 z = baseHeight + 16; - if (z > si) { - z = si; - } + while (true) { + sint16 z = baseHeight + 16; + if (z > si) { + z = si; + } - z -= baseHeight; - if (z <= 0) { - break; - } + z -= baseHeight; + if (z <= 0) { + break; + } - uint32 imageId = pathEntry->bridge_image + 20 + (z - 1); - sub_98197C( - imageId | imageColourFlags, - loc_97AF20[segment].x, loc_97AF20[segment].y, - 0, 0, 0, - baseHeight, - loc_97AF20[segment].x, loc_97AF20[segment].y, baseHeight, - get_current_rotation() - ); + uint32 imageId = pathEntry->bridge_image + 20 + (z - 1); + sub_98197C( + imageId | imageColourFlags, + loc_97AF20[segment].x, loc_97AF20[segment].y, + 0, 0, 0, + baseHeight, + loc_97AF20[segment].x, loc_97AF20[segment].y, baseHeight, + get_current_rotation() + ); - baseHeight += z; - } - } + baseHeight += z; + } + } - return false; // AND + return false; // AND } diff --git a/src/openrct2/paint/supports.h b/src/openrct2/paint/supports.h index eee18069af..9da05bba9f 100644 --- a/src/openrct2/paint/supports.h +++ b/src/openrct2/paint/supports.h @@ -23,7 +23,7 @@ #ifdef NO_RCT2 extern paint_struct * gWoodenSupportsPrependTo; #else -#define gWoodenSupportsPrependTo RCT2_GLOBAL(0x009DEA58, paint_struct *) +#define gWoodenSupportsPrependTo RCT2_GLOBAL(0x009DEA58, paint_struct *) #endif bool wooden_a_supports_paint_setup(sint32 supportType, sint32 special, sint32 height, uint32 imageColourFlags, bool* underground); diff --git a/src/openrct2/peep/peep.c b/src/openrct2/peep/peep.c index 19972ab65c..e152b0dc8b 100644 --- a/src/openrct2/peep/peep.c +++ b/src/openrct2/peep/peep.c @@ -80,8 +80,8 @@ static uint8 _peepPathFindFewestNumSteps; * peep_pathfind_get_max_number_junctions() which should eventually * be declared properly. */ static struct { - rct_xyz8 location; - uint8 direction; + rct_xyz8 location; + uint8 direction; } _peepPathFindHistory[16]; static uint8 _unk_F1AEF0; @@ -91,19 +91,19 @@ static uint32 _peepRideConsideration[8]; static uint8 _peepPotentialRides[256]; enum { - PATH_SEARCH_DEAD_END, - PATH_SEARCH_WIDE, - PATH_SEARCH_THIN, - PATH_SEARCH_JUNCTION, - PATH_SEARCH_RIDE_QUEUE, - PATH_SEARCH_RIDE_ENTRANCE, - PATH_SEARCH_RIDE_EXIT, - PATH_SEARCH_PARK_EXIT, - PATH_SEARCH_SHOP_ENTRANCE, - PATH_SEARCH_LIMIT_REACHED, - PATH_SEARCH_LOOP, - PATH_SEARCH_OTHER, - PATH_SEARCH_FAILED + PATH_SEARCH_DEAD_END, + PATH_SEARCH_WIDE, + PATH_SEARCH_THIN, + PATH_SEARCH_JUNCTION, + PATH_SEARCH_RIDE_QUEUE, + PATH_SEARCH_RIDE_ENTRANCE, + PATH_SEARCH_RIDE_EXIT, + PATH_SEARCH_PARK_EXIT, + PATH_SEARCH_SHOP_ENTRANCE, + PATH_SEARCH_LIMIT_REACHED, + PATH_SEARCH_LOOP, + PATH_SEARCH_OTHER, + PATH_SEARCH_FAILED }; // Some text descriptions corresponding to the above enum for understandable debug messages @@ -112,10 +112,10 @@ const char *gPathFindSearchText[] = {"DeadEnd", "Wide", "Thin", "Junction", "Rid enum { - F1EE18_DESTINATION_REACHED = 1 << 0, - F1EE18_OUTSIDE_PARK = 1 << 1, - F1EE18_RIDE_EXIT = 1 << 2, - F1EE18_RIDE_ENTRANCE = 1 << 3, + F1EE18_DESTINATION_REACHED = 1 << 0, + F1EE18_OUTSIDE_PARK = 1 << 1, + F1EE18_RIDE_EXIT = 1 << 2, + F1EE18_RIDE_ENTRANCE = 1 << 3, }; static void * _crowdSoundChannel = NULL; @@ -175,351 +175,351 @@ static void peep_update_ride_inspected(sint32 rideIndex); bool loc_690FD0(rct_peep *peep, uint8 *rideToView, uint8 *rideSeatToView, rct_map_element *esi); const char *gPeepEasterEggNames[] = { - "MICHAEL SCHUMACHER", - "JACQUES VILLENEUVE", - "DAMON HILL", - "MR BEAN", - "CHRIS SAWYER", - "KATIE BRAYSHAW", - "MELANIE WARN", - "SIMON FOSTER", - "JOHN WARDLEY", - "LISA STIRLING", - "DONALD MACRAE", - "KATHERINE MCGOWAN", - "FRANCES MCGOWAN", - "CORINA MASSOURA", - "CAROL YOUNG", - "MIA SHERIDAN", - "KATIE RODGER", - "EMMA GARRELL", - "JOANNE BARTON", - "FELICITY ANDERSON", - "KATIE SMITH", - "EILIDH BELL", - "NANCY STILLWAGON", - "DAVID ELLIS" + "MICHAEL SCHUMACHER", + "JACQUES VILLENEUVE", + "DAMON HILL", + "MR BEAN", + "CHRIS SAWYER", + "KATIE BRAYSHAW", + "MELANIE WARN", + "SIMON FOSTER", + "JOHN WARDLEY", + "LISA STIRLING", + "DONALD MACRAE", + "KATHERINE MCGOWAN", + "FRANCES MCGOWAN", + "CORINA MASSOURA", + "CAROL YOUNG", + "MIA SHERIDAN", + "KATIE RODGER", + "EMMA GARRELL", + "JOANNE BARTON", + "FELICITY ANDERSON", + "KATIE SMITH", + "EILIDH BELL", + "NANCY STILLWAGON", + "DAVID ELLIS" }; /** rct2: 0x00981DB0 */ static struct { - uint8 action; - uint8 flags; + uint8 action; + uint8 flags; } PeepThoughtToActionMap[] = { - { PEEP_ACTION_SHAKE_HEAD, 1 }, - { PEEP_ACTION_EMPTY_POCKETS, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_WOW, 1 }, - { PEEP_ACTION_NONE_2, 2 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 4 }, - { PEEP_ACTION_SHAKE_HEAD, 4 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_WAVE, 0 }, - { PEEP_ACTION_JOY, 1 }, - { PEEP_ACTION_CHECK_TIME, 1 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_WAVE, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_WAVE, 0 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_DISGUST, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_BEING_WATCHED, 0 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 1 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_SHAKE_HEAD, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_NONE_2, 0 }, - { PEEP_ACTION_JOY, 0 }, - { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_SHAKE_HEAD, 1 }, + { PEEP_ACTION_EMPTY_POCKETS, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_WOW, 1 }, + { PEEP_ACTION_NONE_2, 2 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 4 }, + { PEEP_ACTION_SHAKE_HEAD, 4 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_WAVE, 0 }, + { PEEP_ACTION_JOY, 1 }, + { PEEP_ACTION_CHECK_TIME, 1 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_WAVE, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_WAVE, 0 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_DISGUST, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_BEING_WATCHED, 0 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 1 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_SHAKE_HEAD, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_NONE_2, 0 }, + { PEEP_ACTION_JOY, 0 }, + { PEEP_ACTION_NONE_2, 1 }, }; static uint8 PeepSpecialSpriteToSpriteTypeMap[] = { - PEEP_ACTION_SPRITE_TYPE_NONE, - PEEP_ACTION_SPRITE_TYPE_HOLD_MAT, - PEEP_ACTION_SPRITE_TYPE_STAFF_MOWER + PEEP_ACTION_SPRITE_TYPE_NONE, + PEEP_ACTION_SPRITE_TYPE_HOLD_MAT, + PEEP_ACTION_SPRITE_TYPE_STAFF_MOWER }; static uint8 PeepActionToSpriteTypeMap[] = { - PEEP_ACTION_SPRITE_TYPE_CHECK_TIME, - PEEP_ACTION_SPRITE_TYPE_EAT_FOOD, - PEEP_ACTION_SPRITE_TYPE_SHAKE_HEAD, - PEEP_ACTION_SPRITE_TYPE_EMPTY_POCKETS, - PEEP_ACTION_SPRITE_TYPE_SITTING_EAT_FOOD, - PEEP_ACTION_SPRITE_TYPE_SITTING_LOOK_AROUND_LEFT, - PEEP_ACTION_SPRITE_TYPE_SITTING_LOOK_AROUND_RIGHT, - PEEP_ACTION_SPRITE_TYPE_WOW, - PEEP_ACTION_SPRITE_TYPE_THROW_UP, - PEEP_ACTION_SPRITE_TYPE_JUMP, - PEEP_ACTION_SPRITE_TYPE_STAFF_SWEEP, - PEEP_ACTION_SPRITE_TYPE_DROWNING, - PEEP_ACTION_SPRITE_TYPE_STAFF_ANSWER_CALL, - PEEP_ACTION_SPRITE_TYPE_STAFF_ANSWER_CALL_2, - PEEP_ACTION_SPRITE_TYPE_STAFF_CHECKBOARD, - PEEP_ACTION_SPRITE_TYPE_STAFF_FIX, - PEEP_ACTION_SPRITE_TYPE_STAFF_FIX_2, - PEEP_ACTION_SPRITE_TYPE_STAFF_FIX_GROUND, - PEEP_ACTION_SPRITE_TYPE_STAFF_FIX_3, - PEEP_ACTION_SPRITE_TYPE_STAFF_WATERING, - PEEP_ACTION_SPRITE_TYPE_JOY, - PEEP_ACTION_SPRITE_TYPE_READ_MAP, - PEEP_ACTION_SPRITE_TYPE_WAVE, - PEEP_ACTION_SPRITE_TYPE_STAFF_EMPTY_BIN, - PEEP_ACTION_SPRITE_TYPE_WAVE_2, - PEEP_ACTION_SPRITE_TYPE_TAKE_PHOTO, - PEEP_ACTION_SPRITE_TYPE_CLAP, - PEEP_ACTION_SPRITE_TYPE_DISGUST, - PEEP_ACTION_SPRITE_TYPE_DRAW_PICTURE, - PEEP_ACTION_SPRITE_TYPE_BEING_WATCHED, - PEEP_ACTION_SPRITE_TYPE_WITHDRAW_MONEY + PEEP_ACTION_SPRITE_TYPE_CHECK_TIME, + PEEP_ACTION_SPRITE_TYPE_EAT_FOOD, + PEEP_ACTION_SPRITE_TYPE_SHAKE_HEAD, + PEEP_ACTION_SPRITE_TYPE_EMPTY_POCKETS, + PEEP_ACTION_SPRITE_TYPE_SITTING_EAT_FOOD, + PEEP_ACTION_SPRITE_TYPE_SITTING_LOOK_AROUND_LEFT, + PEEP_ACTION_SPRITE_TYPE_SITTING_LOOK_AROUND_RIGHT, + PEEP_ACTION_SPRITE_TYPE_WOW, + PEEP_ACTION_SPRITE_TYPE_THROW_UP, + PEEP_ACTION_SPRITE_TYPE_JUMP, + PEEP_ACTION_SPRITE_TYPE_STAFF_SWEEP, + PEEP_ACTION_SPRITE_TYPE_DROWNING, + PEEP_ACTION_SPRITE_TYPE_STAFF_ANSWER_CALL, + PEEP_ACTION_SPRITE_TYPE_STAFF_ANSWER_CALL_2, + PEEP_ACTION_SPRITE_TYPE_STAFF_CHECKBOARD, + PEEP_ACTION_SPRITE_TYPE_STAFF_FIX, + PEEP_ACTION_SPRITE_TYPE_STAFF_FIX_2, + PEEP_ACTION_SPRITE_TYPE_STAFF_FIX_GROUND, + PEEP_ACTION_SPRITE_TYPE_STAFF_FIX_3, + PEEP_ACTION_SPRITE_TYPE_STAFF_WATERING, + PEEP_ACTION_SPRITE_TYPE_JOY, + PEEP_ACTION_SPRITE_TYPE_READ_MAP, + PEEP_ACTION_SPRITE_TYPE_WAVE, + PEEP_ACTION_SPRITE_TYPE_STAFF_EMPTY_BIN, + PEEP_ACTION_SPRITE_TYPE_WAVE_2, + PEEP_ACTION_SPRITE_TYPE_TAKE_PHOTO, + PEEP_ACTION_SPRITE_TYPE_CLAP, + PEEP_ACTION_SPRITE_TYPE_DISGUST, + PEEP_ACTION_SPRITE_TYPE_DRAW_PICTURE, + PEEP_ACTION_SPRITE_TYPE_BEING_WATCHED, + PEEP_ACTION_SPRITE_TYPE_WITHDRAW_MONEY }; static const bool SpriteTypeToSlowWalkMap[] = { - false, false, false, false, false, false, false, false, - false, false, false, true, false, false, true, true, - true, true, true, false, true, false, true, true, - true, false, false, true, true, false, false, true, - true, true, true, true, true, true, false, true, - false, true, true, true, true, true, true, true, + false, false, false, false, false, false, false, false, + false, false, false, true, false, false, true, true, + true, true, true, false, true, false, true, true, + true, false, false, true, true, false, false, true, + true, true, true, true, true, true, false, true, + false, true, true, true, true, true, true, true, }; // These arrays contain the base minimum and maximum nausea ratings for peeps, based on their nausea tolerance level. static const ride_rating NauseaMinimumThresholds[] = { - 0, 0, 200, 400 + 0, 0, 200, 400 }; static const ride_rating NauseaMaximumThresholds[] = { - 300, 600, 800, 1000 + 300, 600, 800, 1000 }; // Locations of the spiral slide platform that a peep walks from the entrance of the ride to the // entrance of the slide. Up to 4 locations for each 4 sides that an ride entrance can be located // and 4 different rotations of the ride. 4 * 4 * 4 = 64 locations. static const rct_xy16 SpiralSlideWalkingPath[64] = { - { 56, 8 }, - { 8, 8 }, - { 8, 32 }, - { 32, 32 }, - { 8, 8 }, - { 8, 8 }, - { 8, 32 }, - { 32, 32 }, - { 8, 32 }, - { 8, 32 }, - { 8, 32 }, - { 32, 32 }, - { 8, 56 }, - { 8, 32 }, - { 8, 32 }, - { 32, 32 }, - { 56, 24 }, - { 32, 24 }, - { 32, 24 }, - { 32, 0 }, - { 56, -24 }, - { 56, 24 }, - { 32, 24 }, - { 32, 0 }, - { 8, 24 }, - { 32, 24 }, - { 32, 24 }, - { 32, 0 }, - { 32, 24 }, - { 32, 24 }, - { 32, 24 }, - { 32, 0 }, - { 24, 0 }, - { 24, 0 }, - { 24, 0 }, - { 0, 0 }, - { 24, -24 }, - { 24, 0 }, - { 24, 0 }, - { 0, 0 }, - { -24, -24 }, - { 24, -24 }, - { 24, 0 }, - { 0, 0 }, - { 24, 24 }, - { 24, 0 }, - { 24, 0 }, - { 0, 0 }, - { 24, 8 }, - { 0, 8 }, - { 0, 8 }, - { 0, 32 }, - { 0, 8 }, - { 0, 8 }, - { 0, 8 }, - { 0, 32 }, - { -24, 8 }, - { 0, 8 }, - { 0, 8 }, - { 0, 32 }, - { -24, 56 }, - { -24, 8 }, - { 0, 8 }, - { 0, 32 }, + { 56, 8 }, + { 8, 8 }, + { 8, 32 }, + { 32, 32 }, + { 8, 8 }, + { 8, 8 }, + { 8, 32 }, + { 32, 32 }, + { 8, 32 }, + { 8, 32 }, + { 8, 32 }, + { 32, 32 }, + { 8, 56 }, + { 8, 32 }, + { 8, 32 }, + { 32, 32 }, + { 56, 24 }, + { 32, 24 }, + { 32, 24 }, + { 32, 0 }, + { 56, -24 }, + { 56, 24 }, + { 32, 24 }, + { 32, 0 }, + { 8, 24 }, + { 32, 24 }, + { 32, 24 }, + { 32, 0 }, + { 32, 24 }, + { 32, 24 }, + { 32, 24 }, + { 32, 0 }, + { 24, 0 }, + { 24, 0 }, + { 24, 0 }, + { 0, 0 }, + { 24, -24 }, + { 24, 0 }, + { 24, 0 }, + { 0, 0 }, + { -24, -24 }, + { 24, -24 }, + { 24, 0 }, + { 0, 0 }, + { 24, 24 }, + { 24, 0 }, + { 24, 0 }, + { 0, 0 }, + { 24, 8 }, + { 0, 8 }, + { 0, 8 }, + { 0, 32 }, + { 0, 8 }, + { 0, 8 }, + { 0, 8 }, + { 0, 32 }, + { -24, 8 }, + { 0, 8 }, + { 0, 8 }, + { 0, 32 }, + { -24, 56 }, + { -24, 8 }, + { 0, 8 }, + { 0, 32 }, }; sint32 peep_get_staff_count() { - uint16 spriteIndex; - rct_peep *peep; - sint32 count = 0; + uint16 spriteIndex; + rct_peep *peep; + sint32 count = 0; - FOR_ALL_STAFF(spriteIndex, peep) - count++; + FOR_ALL_STAFF(spriteIndex, peep) + count++; - return count; + return count; } /** @@ -528,30 +528,30 @@ sint32 peep_get_staff_count() */ void peep_update_all() { - sint32 i; - uint16 spriteIndex; - rct_peep* peep; + sint32 i; + uint16 spriteIndex; + rct_peep* peep; - if (gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) - return; + if (gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) + return; - spriteIndex = gSpriteListHead[SPRITE_LIST_PEEP]; - i = 0; - while (spriteIndex != SPRITE_INDEX_NULL) { - peep = &(get_sprite(spriteIndex)->peep); - spriteIndex = peep->next; + spriteIndex = gSpriteListHead[SPRITE_LIST_PEEP]; + i = 0; + while (spriteIndex != SPRITE_INDEX_NULL) { + peep = &(get_sprite(spriteIndex)->peep); + spriteIndex = peep->next; - if ((uint32)(i & 0x7F) != (gCurrentTicks & 0x7F)) { - peep_update(peep); - } else { - sub_68F41A(peep, i); - if (peep->linked_list_type_offset == SPRITE_LIST_PEEP * 2) { - peep_update(peep); - } - } + if ((uint32)(i & 0x7F) != (gCurrentTicks & 0x7F)) { + peep_update(peep); + } else { + sub_68F41A(peep, i); + if (peep->linked_list_type_offset == SPRITE_LIST_PEEP * 2) { + peep_update(peep); + } + } - i++; - } + i++; + } } /** @@ -559,105 +559,105 @@ void peep_update_all() * rct2: 0x0069BC9A */ static uint8 peep_assess_surroundings(sint16 center_x, sint16 center_y, sint16 center_z){ - if ((map_element_height(center_x, center_y) & 0xFFFF) > center_z) - return PEEP_THOUGHT_TYPE_NONE; + if ((map_element_height(center_x, center_y) & 0xFFFF) > center_z) + return PEEP_THOUGHT_TYPE_NONE; - uint16 num_scenery = 0; - uint16 num_fountains = 0; - uint16 nearby_music = 0; - uint16 num_rubbish = 0; + uint16 num_scenery = 0; + uint16 num_fountains = 0; + uint16 nearby_music = 0; + uint16 num_rubbish = 0; - sint16 initial_x = max(center_x - 160, 0); - sint16 initial_y = max(center_y - 160, 0); - sint16 final_x = min(center_x + 160, 8192); - sint16 final_y = min(center_y + 160, 8192); + sint16 initial_x = max(center_x - 160, 0); + sint16 initial_y = max(center_y - 160, 0); + sint16 final_x = min(center_x + 160, 8192); + sint16 final_y = min(center_y + 160, 8192); - for (sint16 x = initial_x; x < final_x; x += 32){ - for (sint16 y = initial_y; y < final_y; y += 32){ - rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); + for (sint16 x = initial_x; x < final_x; x += 32){ + for (sint16 y = initial_y; y < final_y; y += 32){ + rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); - do{ - rct_ride* ride; - rct_scenery_entry* scenery; + do{ + rct_ride* ride; + rct_scenery_entry* scenery; - switch (map_element_get_type(mapElement)){ - case MAP_ELEMENT_TYPE_PATH: - if (!footpath_element_has_path_scenery(mapElement)) - break; + switch (map_element_get_type(mapElement)){ + case MAP_ELEMENT_TYPE_PATH: + if (!footpath_element_has_path_scenery(mapElement)) + break; - scenery = get_footpath_item_entry(footpath_element_get_path_scenery_index(mapElement)); - if (scenery == NULL) { - return PEEP_THOUGHT_TYPE_NONE; - } - if (footpath_element_path_scenery_is_ghost(mapElement)) - break; + scenery = get_footpath_item_entry(footpath_element_get_path_scenery_index(mapElement)); + if (scenery == NULL) { + return PEEP_THOUGHT_TYPE_NONE; + } + if (footpath_element_path_scenery_is_ghost(mapElement)) + break; - if (scenery->path_bit.flags & - (PATH_BIT_FLAG_JUMPING_FOUNTAIN_WATER | - PATH_BIT_FLAG_JUMPING_FOUNTAIN_SNOW)){ - num_fountains++; - break; - } - if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN){ - num_rubbish++; - } - break; - case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - case MAP_ELEMENT_TYPE_SCENERY: - num_scenery++; - break; - case MAP_ELEMENT_TYPE_TRACK: - ride = get_ride(mapElement->properties.track.ride_index); - if (ride->lifecycle_flags & RIDE_LIFECYCLE_MUSIC && - ride->status != RIDE_STATUS_CLOSED && - !(ride->lifecycle_flags & (RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED))){ + if (scenery->path_bit.flags & + (PATH_BIT_FLAG_JUMPING_FOUNTAIN_WATER | + PATH_BIT_FLAG_JUMPING_FOUNTAIN_SNOW)){ + num_fountains++; + break; + } + if (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN){ + num_rubbish++; + } + break; + case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: + case MAP_ELEMENT_TYPE_SCENERY: + num_scenery++; + break; + case MAP_ELEMENT_TYPE_TRACK: + ride = get_ride(mapElement->properties.track.ride_index); + if (ride->lifecycle_flags & RIDE_LIFECYCLE_MUSIC && + ride->status != RIDE_STATUS_CLOSED && + !(ride->lifecycle_flags & (RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED))){ - if (ride->type == RIDE_TYPE_MERRY_GO_ROUND){ - nearby_music |= 1; - break; - } + if (ride->type == RIDE_TYPE_MERRY_GO_ROUND){ + nearby_music |= 1; + break; + } - if (ride->music == MUSIC_STYLE_ORGAN){ - nearby_music |= 1; - break; - } + if (ride->music == MUSIC_STYLE_ORGAN){ + nearby_music |= 1; + break; + } - if (ride->type == RIDE_TYPE_DODGEMS){ - // Dodgems drown out music? - nearby_music |= 2; - } - } - break; - } - } while (!map_element_is_last_for_tile(mapElement++)); - } - } + if (ride->type == RIDE_TYPE_DODGEMS){ + // Dodgems drown out music? + nearby_music |= 2; + } + } + break; + } + } while (!map_element_is_last_for_tile(mapElement++)); + } + } - rct_litter* litter; - for (uint16 sprite_idx = gSpriteListHead[SPRITE_LIST_LITTER]; sprite_idx != SPRITE_INDEX_NULL; sprite_idx = litter->next) { - litter = &(get_sprite(sprite_idx)->litter); + rct_litter* litter; + for (uint16 sprite_idx = gSpriteListHead[SPRITE_LIST_LITTER]; sprite_idx != SPRITE_INDEX_NULL; sprite_idx = litter->next) { + litter = &(get_sprite(sprite_idx)->litter); - sint16 dist_x = abs(litter->x - center_x); - sint16 dist_y = abs(litter->y - center_y); - if (max(dist_x, dist_y) <= 160) { - num_rubbish++; - } - } + sint16 dist_x = abs(litter->x - center_x); + sint16 dist_y = abs(litter->y - center_y); + if (max(dist_x, dist_y) <= 160) { + num_rubbish++; + } + } - if (num_fountains >= 5 && num_rubbish < 20) - return PEEP_THOUGHT_TYPE_FOUNTAINS; + if (num_fountains >= 5 && num_rubbish < 20) + return PEEP_THOUGHT_TYPE_FOUNTAINS; - if (num_scenery >= 40 && num_rubbish < 8) - return PEEP_THOUGHT_TYPE_SCENERY; + if (num_scenery >= 40 && num_rubbish < 8) + return PEEP_THOUGHT_TYPE_SCENERY; - if (nearby_music == 1 && num_rubbish < 20) - return PEEP_THOUGHT_TYPE_MUSIC; + if (nearby_music == 1 && num_rubbish < 20) + return PEEP_THOUGHT_TYPE_MUSIC; - if (num_rubbish < 2 && !gCheatsDisableLittering) - // if disable littering cheat is enabled, peeps will not have the "clean and tidy park" thought - return PEEP_THOUGHT_TYPE_VERY_CLEAN; + if (num_rubbish < 2 && !gCheatsDisableLittering) + // if disable littering cheat is enabled, peeps will not have the "clean and tidy park" thought + return PEEP_THOUGHT_TYPE_VERY_CLEAN; - return PEEP_THOUGHT_TYPE_NONE; + return PEEP_THOUGHT_TYPE_NONE; } /** @@ -665,11 +665,11 @@ static uint8 peep_assess_surroundings(sint16 center_x, sint16 center_y, sint16 c * rct2: 0x0068F9A9 */ static void peep_update_hunger(rct_peep *peep){ - if (peep->hunger >= 3){ - peep->hunger -= 2; - peep->energy_growth_rate = min(peep->energy_growth_rate + 2, 255); - peep->bathroom = min(peep->bathroom + 1, 255); - } + if (peep->hunger >= 3){ + peep->hunger -= 2; + peep->energy_growth_rate = min(peep->energy_growth_rate + 2, 255); + peep->bathroom = min(peep->bathroom + 1, 255); + } } /** @@ -677,23 +677,23 @@ static void peep_update_hunger(rct_peep *peep){ * rct2: 0x0068F93E */ static void peep_leave_park(rct_peep* peep){ - peep->guest_heading_to_ride_id = 0xFF; - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK){ - if (peep->peep_is_lost_countdown < 60){ - return; - } - } - else{ - peep->peep_is_lost_countdown = 254; - peep->peep_flags |= PEEP_FLAGS_LEAVING_PARK; - peep->peep_flags &= ~PEEP_FLAGS_PARK_ENTRANCE_CHOSEN; - } + peep->guest_heading_to_ride_id = 0xFF; + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK){ + if (peep->peep_is_lost_countdown < 60){ + return; + } + } + else{ + peep->peep_is_lost_countdown = 254; + peep->peep_flags |= PEEP_FLAGS_LEAVING_PARK; + peep->peep_flags &= ~PEEP_FLAGS_PARK_ENTRANCE_CHOSEN; + } - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_GO_HOME, 0xFF); + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_GO_HOME, 0xFF); - rct_window* w = window_find_by_number(WC_PEEP, peep->sprite_index); - if (w != NULL) window_event_invalidate_call(w); - window_invalidate_by_number(WC_PEEP, peep->sprite_index); + rct_window* w = window_find_by_number(WC_PEEP, peep->sprite_index); + if (w != NULL) window_event_invalidate_call(w); + window_invalidate_by_number(WC_PEEP, peep->sprite_index); } /** @@ -704,180 +704,180 @@ static void peep_leave_park(rct_peep* peep){ */ static void peep_decide_whether_to_leave_park(rct_peep *peep) { - if (peep->energy_growth_rate >= 33) { - peep->energy_growth_rate -= 2; - } + if (peep->energy_growth_rate >= 33) { + peep->energy_growth_rate -= 2; + } - if (gClimateCurrentTemperature >= 21 && peep->thirst >= 5) { - peep->thirst--; - } + if (gClimateCurrentTemperature >= 21 && peep->thirst >= 5) { + peep->thirst--; + } - if (peep->outside_of_park != 0) { - return; - } + if (peep->outside_of_park != 0) { + return; + } - /* Peeps that are happy enough, have enough energy and - * (if appropriate) have enough money will always stay - * in the park. */ - if (!(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)){ - if (gParkFlags & PARK_FLAGS_NO_MONEY) { - if (peep->energy >= 70 && peep->happiness >= 60) { - return; - } - } else { - if ( - peep->energy >= 55 && - peep->happiness >= 45 && - peep->cash_in_pocket >= MONEY(5, 00) - ) { - return; - } - } - } + /* Peeps that are happy enough, have enough energy and + * (if appropriate) have enough money will always stay + * in the park. */ + if (!(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)){ + if (gParkFlags & PARK_FLAGS_NO_MONEY) { + if (peep->energy >= 70 && peep->happiness >= 60) { + return; + } + } else { + if ( + peep->energy >= 55 && + peep->happiness >= 45 && + peep->cash_in_pocket >= MONEY(5, 00) + ) { + return; + } + } + } - // Approx 95% chance of staying in the park - if ((scenario_rand() & 0xFFFF) > 3276) { - return; - } + // Approx 95% chance of staying in the park + if ((scenario_rand() & 0xFFFF) > 3276) { + return; + } - // In the remaining 5% chance the peep leaves the park. - peep_leave_park(peep); + // In the remaining 5% chance the peep leaves the park. + peep_leave_park(peep); } /** rct2: 0x009822F4, 0x00982310 */ static const uint8 byte_9822F4[] = { - 0, // SHOP_ITEM_BALLOON - 0, // SHOP_ITEM_TOY - 0, // SHOP_ITEM_MAP - 0, // SHOP_ITEM_PHOTO - 0, // SHOP_ITEM_UMBRELLA - 100, // SHOP_ITEM_DRINK - 150, // SHOP_ITEM_BURGER - 120, // SHOP_ITEM_CHIPS - 60, // SHOP_ITEM_ICE_CREAM - 50, // SHOP_ITEM_CANDYFLOSS - 0, // SHOP_ITEM_EMPTY_CAN - 0, // SHOP_ITEM_RUBBISH - 0, // SHOP_ITEM_EMPTY_BURGER_BOX - 150, // SHOP_ITEM_PIZZA - 0, // SHOP_ITEM_VOUCHER - 75, // SHOP_ITEM_POPCORN - 133, // SHOP_ITEM_HOT_DOG - 110, // SHOP_ITEM_TENTACLE - 0, // SHOP_ITEM_HAT - 50, // SHOP_ITEM_CANDY_APPLE - 0, // SHOP_ITEM_TSHIRT - 80, // SHOP_ITEM_DONUT - 90, // SHOP_ITEM_COFFEE - 0, // SHOP_ITEM_EMPTY_CUP - 170, // SHOP_ITEM_CHICKEN - 115, // SHOP_ITEM_LEMONADE - 0, // SHOP_ITEM_EMPTY_BOX - 0, // SHOP_ITEM_EMPTY_BOTTLE - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0, // SHOP_ITEM_PHOTO2 - 0, // SHOP_ITEM_PHOTO3 - 0, // SHOP_ITEM_PHOTO4 - 70, // SHOP_ITEM_PRETZEL - 85, // SHOP_ITEM_CHOCOLATE - 95, // SHOP_ITEM_ICED_TEA - 90, // SHOP_ITEM_FUNNEL_CAKE - 0, // SHOP_ITEM_SUNGLASSES - 130, // SHOP_ITEM_BEEF_NOODLES - 120, // SHOP_ITEM_FRIED_RICE_NOODLES - 100, // SHOP_ITEM_WONTON_SOUP - 110, // SHOP_ITEM_MEATBALL_SOUP - 110, // SHOP_ITEM_FRUIT_JUICE - 90, // SHOP_ITEM_SOYBEAN_MILK - 100, // SHOP_ITEM_SU_JONGKWA - 130, // SHOP_ITEM_SUB_SANDWICH - 75, // SHOP_ITEM_COOKIE - 0, // SHOP_ITEM_EMPTY_BOWL_RED - 0, // SHOP_ITEM_EMPTY_DRINK_CARTON - 0, // SHOP_ITEM_EMPTY_JUICE_CUP - 115, // SHOP_ITEM_ROAST_SAUSAGE - 0 // SHOP_ITEM_EMPTY_BOWL_BLUE + 0, // SHOP_ITEM_BALLOON + 0, // SHOP_ITEM_TOY + 0, // SHOP_ITEM_MAP + 0, // SHOP_ITEM_PHOTO + 0, // SHOP_ITEM_UMBRELLA + 100, // SHOP_ITEM_DRINK + 150, // SHOP_ITEM_BURGER + 120, // SHOP_ITEM_CHIPS + 60, // SHOP_ITEM_ICE_CREAM + 50, // SHOP_ITEM_CANDYFLOSS + 0, // SHOP_ITEM_EMPTY_CAN + 0, // SHOP_ITEM_RUBBISH + 0, // SHOP_ITEM_EMPTY_BURGER_BOX + 150, // SHOP_ITEM_PIZZA + 0, // SHOP_ITEM_VOUCHER + 75, // SHOP_ITEM_POPCORN + 133, // SHOP_ITEM_HOT_DOG + 110, // SHOP_ITEM_TENTACLE + 0, // SHOP_ITEM_HAT + 50, // SHOP_ITEM_CANDY_APPLE + 0, // SHOP_ITEM_TSHIRT + 80, // SHOP_ITEM_DONUT + 90, // SHOP_ITEM_COFFEE + 0, // SHOP_ITEM_EMPTY_CUP + 170, // SHOP_ITEM_CHICKEN + 115, // SHOP_ITEM_LEMONADE + 0, // SHOP_ITEM_EMPTY_BOX + 0, // SHOP_ITEM_EMPTY_BOTTLE + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0, // SHOP_ITEM_PHOTO2 + 0, // SHOP_ITEM_PHOTO3 + 0, // SHOP_ITEM_PHOTO4 + 70, // SHOP_ITEM_PRETZEL + 85, // SHOP_ITEM_CHOCOLATE + 95, // SHOP_ITEM_ICED_TEA + 90, // SHOP_ITEM_FUNNEL_CAKE + 0, // SHOP_ITEM_SUNGLASSES + 130, // SHOP_ITEM_BEEF_NOODLES + 120, // SHOP_ITEM_FRIED_RICE_NOODLES + 100, // SHOP_ITEM_WONTON_SOUP + 110, // SHOP_ITEM_MEATBALL_SOUP + 110, // SHOP_ITEM_FRUIT_JUICE + 90, // SHOP_ITEM_SOYBEAN_MILK + 100, // SHOP_ITEM_SU_JONGKWA + 130, // SHOP_ITEM_SUB_SANDWICH + 75, // SHOP_ITEM_COOKIE + 0, // SHOP_ITEM_EMPTY_BOWL_RED + 0, // SHOP_ITEM_EMPTY_DRINK_CARTON + 0, // SHOP_ITEM_EMPTY_JUICE_CUP + 115, // SHOP_ITEM_ROAST_SAUSAGE + 0 // SHOP_ITEM_EMPTY_BOWL_BLUE }; /** rct2: 009823AC */ static const uint8 crowded_thoughts[] = { - PEEP_THOUGHT_TYPE_LOST, - PEEP_THOUGHT_TYPE_TIRED, - PEEP_THOUGHT_TYPE_BAD_LITTER, - PEEP_THOUGHT_TYPE_HUNGRY, - PEEP_THOUGHT_TYPE_THIRSTY, - PEEP_THOUGHT_TYPE_VERY_CLEAN, - PEEP_THOUGHT_TYPE_CROWDED, - PEEP_THOUGHT_TYPE_SCENERY, - PEEP_THOUGHT_TYPE_VERY_CLEAN, - PEEP_THOUGHT_TYPE_MUSIC, - PEEP_THOUGHT_TYPE_WATCHED, - PEEP_THOUGHT_TYPE_NOT_HUNGRY, - PEEP_THOUGHT_TYPE_NOT_THIRSTY, - PEEP_THOUGHT_TYPE_BATHROOM, - PEEP_THOUGHT_TYPE_NONE, - PEEP_THOUGHT_TYPE_NONE, + PEEP_THOUGHT_TYPE_LOST, + PEEP_THOUGHT_TYPE_TIRED, + PEEP_THOUGHT_TYPE_BAD_LITTER, + PEEP_THOUGHT_TYPE_HUNGRY, + PEEP_THOUGHT_TYPE_THIRSTY, + PEEP_THOUGHT_TYPE_VERY_CLEAN, + PEEP_THOUGHT_TYPE_CROWDED, + PEEP_THOUGHT_TYPE_SCENERY, + PEEP_THOUGHT_TYPE_VERY_CLEAN, + PEEP_THOUGHT_TYPE_MUSIC, + PEEP_THOUGHT_TYPE_WATCHED, + PEEP_THOUGHT_TYPE_NOT_HUNGRY, + PEEP_THOUGHT_TYPE_NOT_THIRSTY, + PEEP_THOUGHT_TYPE_BATHROOM, + PEEP_THOUGHT_TYPE_NONE, + PEEP_THOUGHT_TYPE_NONE, }; /** rct2: 0x00982326 */ static const uint8 peep_item_containers[] = { - 0xFF, // PEEP_ITEM_BALLOON - 0xFF, // PEEP_ITEM_TOY - 0xFF, // PEEP_ITEM_MAP - 0xFF, // PEEP_ITEM_PHOTO - 0xFF, // PEEP_ITEM_UMBRELLA - SHOP_ITEM_EMPTY_CAN, // PEEP_ITEM_DRINK - SHOP_ITEM_EMPTY_BURGER_BOX, // PEEP_ITEM_BURGER - SHOP_ITEM_RUBBISH, // PEEP_ITEM_CHIPS - 0xFF, // PEEP_ITEM_ICE_CREAM - 0xFF, // PEEP_ITEM_CANDYFLOSS - 0xFF, // PEEP_ITEM_EMPTY_CAN - 0xFF, // PEEP_ITEM_RUBBISH - 0xFF, // PEEP_ITEM_EMPTY_BURGER_BOX - SHOP_ITEM_RUBBISH, // PEEP_ITEM_PIZZA - 0xFF, // PEEP_ITEM_VOUCHER - SHOP_ITEM_RUBBISH, // PEEP_ITEM_POPCORN - 0xFF, // PEEP_ITEM_HOT_DOG - 0xFF, // PEEP_ITEM_TENTACLE - 0xFF, // PEEP_ITEM_HAT - 0xFF, // PEEP_ITEM_CANDY_APPLE - 0xFF, // PEEP_ITEM_TSHIRT - 0xFF, // PEEP_ITEM_DONUT - SHOP_ITEM_EMPTY_CUP, // PEEP_ITEM_COFFEE - 0xFF, // PEEP_ITEM_EMPTY_CUP - SHOP_ITEM_EMPTY_BOX, // PEEP_ITEM_CHICKEN - SHOP_ITEM_EMPTY_BOTTLE, // PEEP_ITEM_LEMONADE - 0xFF, // PEEP_ITEM_EMPTY_BOX - 0xFF, // PEEP_ITEM_EMPTY_BOTTLE + 0xFF, // PEEP_ITEM_BALLOON + 0xFF, // PEEP_ITEM_TOY + 0xFF, // PEEP_ITEM_MAP + 0xFF, // PEEP_ITEM_PHOTO + 0xFF, // PEEP_ITEM_UMBRELLA + SHOP_ITEM_EMPTY_CAN, // PEEP_ITEM_DRINK + SHOP_ITEM_EMPTY_BURGER_BOX, // PEEP_ITEM_BURGER + SHOP_ITEM_RUBBISH, // PEEP_ITEM_CHIPS + 0xFF, // PEEP_ITEM_ICE_CREAM + 0xFF, // PEEP_ITEM_CANDYFLOSS + 0xFF, // PEEP_ITEM_EMPTY_CAN + 0xFF, // PEEP_ITEM_RUBBISH + 0xFF, // PEEP_ITEM_EMPTY_BURGER_BOX + SHOP_ITEM_RUBBISH, // PEEP_ITEM_PIZZA + 0xFF, // PEEP_ITEM_VOUCHER + SHOP_ITEM_RUBBISH, // PEEP_ITEM_POPCORN + 0xFF, // PEEP_ITEM_HOT_DOG + 0xFF, // PEEP_ITEM_TENTACLE + 0xFF, // PEEP_ITEM_HAT + 0xFF, // PEEP_ITEM_CANDY_APPLE + 0xFF, // PEEP_ITEM_TSHIRT + 0xFF, // PEEP_ITEM_DONUT + SHOP_ITEM_EMPTY_CUP, // PEEP_ITEM_COFFEE + 0xFF, // PEEP_ITEM_EMPTY_CUP + SHOP_ITEM_EMPTY_BOX, // PEEP_ITEM_CHICKEN + SHOP_ITEM_EMPTY_BOTTLE, // PEEP_ITEM_LEMONADE + 0xFF, // PEEP_ITEM_EMPTY_BOX + 0xFF, // PEEP_ITEM_EMPTY_BOTTLE }; /** rct2: 0x00982342 */ static const uint8 peep_extra_item_containers[] = { - 0xFF, // PEEP_ITEM_PHOTO2 - 0xFF, // PEEP_ITEM_PHOTO3 - 0xFF, // PEEP_ITEM_PHOTO4 - 0xFF, // PEEP_ITEM_PRETZEL - SHOP_ITEM_EMPTY_CUP, // PEEP_ITEM_CHOCOLATE - SHOP_ITEM_EMPTY_CUP, // PEEP_ITEM_ICED_TEA - 0xFF, // PEEP_ITEM_FUNNEL_CAKE - 0xFF, // PEEP_ITEM_SUNGLASSES - SHOP_ITEM_EMPTY_BOWL_BLUE, // PEEP_ITEM_BEEF_NOODLES - SHOP_ITEM_EMPTY_BOWL_BLUE, // PEEP_ITEM_FRIED_RICE_NOODLES - SHOP_ITEM_EMPTY_BOWL_RED, // PEEP_ITEM_WONTON_SOUP - SHOP_ITEM_EMPTY_BOWL_RED, // PEEP_ITEM_MEATBALL_SOUP - SHOP_ITEM_EMPTY_JUICE_CUP, // PEEP_ITEM_FRUIT_JUICE - SHOP_ITEM_EMPTY_DRINK_CARTON, // PEEP_ITEM_SOYBEAN_MILK - SHOP_ITEM_EMPTY_DRINK_CARTON, // PEEP_ITEM_SU_JONGKWA - 0xFF, // PEEP_ITEM_SUB_SANDWICH - 0xFF, // PEEP_ITEM_COOKIE - 0xFF, // PEEP_ITEM_EMPTY_BOWL_RED - 0xFF, // PEEP_ITEM_EMPTY_DRINK_CARTON - 0xFF, // PEEP_ITEM_EMPTY_JUICE_CUP - 0xFF, // PEEP_ITEM_ROAST_SAUSAGE - 0xFF, // PEEP_ITEM_EMPTY_BOWL_BLUE + 0xFF, // PEEP_ITEM_PHOTO2 + 0xFF, // PEEP_ITEM_PHOTO3 + 0xFF, // PEEP_ITEM_PHOTO4 + 0xFF, // PEEP_ITEM_PRETZEL + SHOP_ITEM_EMPTY_CUP, // PEEP_ITEM_CHOCOLATE + SHOP_ITEM_EMPTY_CUP, // PEEP_ITEM_ICED_TEA + 0xFF, // PEEP_ITEM_FUNNEL_CAKE + 0xFF, // PEEP_ITEM_SUNGLASSES + SHOP_ITEM_EMPTY_BOWL_BLUE, // PEEP_ITEM_BEEF_NOODLES + SHOP_ITEM_EMPTY_BOWL_BLUE, // PEEP_ITEM_FRIED_RICE_NOODLES + SHOP_ITEM_EMPTY_BOWL_RED, // PEEP_ITEM_WONTON_SOUP + SHOP_ITEM_EMPTY_BOWL_RED, // PEEP_ITEM_MEATBALL_SOUP + SHOP_ITEM_EMPTY_JUICE_CUP, // PEEP_ITEM_FRUIT_JUICE + SHOP_ITEM_EMPTY_DRINK_CARTON, // PEEP_ITEM_SOYBEAN_MILK + SHOP_ITEM_EMPTY_DRINK_CARTON, // PEEP_ITEM_SU_JONGKWA + 0xFF, // PEEP_ITEM_SUB_SANDWICH + 0xFF, // PEEP_ITEM_COOKIE + 0xFF, // PEEP_ITEM_EMPTY_BOWL_RED + 0xFF, // PEEP_ITEM_EMPTY_DRINK_CARTON + 0xFF, // PEEP_ITEM_EMPTY_JUICE_CUP + 0xFF, // PEEP_ITEM_ROAST_SAUSAGE + 0xFF, // PEEP_ITEM_EMPTY_BOWL_BLUE }; /** @@ -886,460 +886,460 @@ static const uint8 peep_extra_item_containers[] = { */ static void sub_68F41A(rct_peep *peep, sint32 index) { - if (peep->type == PEEP_TYPE_STAFF){ - if (peep->staff_type != STAFF_TYPE_SECURITY) - return; - - uint8 sprite_type = PEEP_SPRITE_TYPE_SECURITY_ALT; - if (peep->state != PEEP_STATE_PATROLLING) - sprite_type = PEEP_SPRITE_TYPE_SECURITY; - - if (peep->sprite_type == sprite_type) - return; - - peep->sprite_type = sprite_type; - peep->action_sprite_image_offset = 0; - peep->no_action_frame_no = 0; - if (peep->action < PEEP_ACTION_NONE_1) - peep->action = PEEP_ACTION_NONE_2; - - peep->peep_flags &= ~PEEP_FLAGS_SLOW_WALK; - if (SpriteTypeToSlowWalkMap[sprite_type]) { - peep->peep_flags |= PEEP_FLAGS_SLOW_WALK; - } - - peep->action_sprite_type = 0xFF; - peep_update_current_action_sprite_type(peep); - return; - } - - if ((uint32)(index & 0x1FF) == (gCurrentTicks & 0x1FF)){ - /* Effect of masking with 0x1FF here vs mask 0x7F, - * which is the condition for calling this function, is - * to reduce how often the content in this conditional - * is executed to once every four calls. */ - if (peep->peep_flags & PEEP_FLAGS_CROWDED){ - uint8 thought_type = crowded_thoughts[scenario_rand() & 0xF]; - if (thought_type != PEEP_THOUGHT_TYPE_NONE){ - peep_insert_new_thought(peep, thought_type, 0xFF); - } - } - - if (peep->peep_flags & PEEP_FLAGS_EXPLODE && peep->x != MAP_LOCATION_NULL){ - audio_play_sound_at_location(SOUND_CRASH, peep->x, peep->y, peep->z); - - sprite_misc_explosion_cloud_create(peep->x, peep->y, peep->z + 16); - sprite_misc_explosion_flare_create(peep->x, peep->y, peep->z + 16); - - peep_remove(peep); - return; - } - - if (peep->peep_flags & PEEP_FLAGS_HUNGER){ - if (peep->hunger >= 15)peep->hunger -= 15; - } - - if (peep->peep_flags & PEEP_FLAGS_BATHROOM){ - if (peep->bathroom <= 180)peep->bathroom += 50; - } - - if (peep->peep_flags & PEEP_FLAGS_HAPPINESS){ - peep->happiness_growth_rate = 5; - } - - if (peep->peep_flags & PEEP_FLAGS_NAUSEA){ - peep->nausea_growth_rate = 200; - if (peep->nausea <= 130)peep->nausea = 130; - } - - if (peep->angriness != 0) - peep->angriness--; - - if (peep->state == PEEP_STATE_WALKING || peep->state == PEEP_STATE_SITTING){ - peep->var_F2++; - if (peep->var_F2 >= 18){ - peep->var_F2 = 0; - if (peep->x != MAP_LOCATION_NULL){ - - uint8 thought_type = peep_assess_surroundings(peep->x & 0xFFE0, peep->y & 0xFFE0, peep->z); - - if (thought_type != PEEP_THOUGHT_TYPE_NONE) { - peep_insert_new_thought(peep, thought_type, 0xFF); - peep->happiness_growth_rate = min(255, peep->happiness_growth_rate + 45); - } - } - } - } - - peep_update_sprite_type(peep); - - if (peep->state == PEEP_STATE_ON_RIDE || peep->state == PEEP_STATE_ENTERING_RIDE){ - peep->time_on_ride = min(255, peep->time_on_ride + 1); - - if (peep->peep_flags & PEEP_FLAGS_WOW){ - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_WOW2, 0xFF); - } - - if (peep->time_on_ride > 15){ - peep->happiness_growth_rate = min(0, peep->happiness_growth_rate - 5); - - if (peep->time_on_ride > 22){ - rct_ride* ride = get_ride(peep->current_ride); - - uint8 thought_type = ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IN_RIDE) ? - PEEP_THOUGHT_TYPE_GET_OUT : - PEEP_THOUGHT_TYPE_GET_OFF; - - peep_insert_new_thought(peep, thought_type, peep->current_ride); - } - } - } - - if (peep->state == PEEP_STATE_WALKING && - peep->outside_of_park == 0 && - !(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) && - peep->no_of_rides == 0 && - peep->guest_heading_to_ride_id == 0xFF){ - - uint32 time_duration = gScenarioTicks - peep->time_in_park; - time_duration /= 2048; - - if (time_duration >= 5){ - peep_pick_ride_to_go_on(peep); - - if (peep->guest_heading_to_ride_id == 0xFF){ - peep->happiness_growth_rate = max(peep->happiness_growth_rate - 128, 0); - peep_leave_park(peep); - peep_update_hunger(peep); - goto loc_68F9F3; - } - } - } - - if ((scenario_rand() & 0xFFFF) <= ((peep->item_standard_flags & PEEP_ITEM_MAP) ? 8192U : 2184U)){ - peep_pick_ride_to_go_on(peep); - } - - if ((uint32)(index & 0x3FF) == (gCurrentTicks & 0x3FF)){ - /* Effect of masking with 0x3FF here vs mask 0x1FF, - * which is used in the encompassing conditional, is - * to reduce how often the content in this conditional - * is executed to once every second time the encompassing - * conditional executes. */ - - if (peep->outside_of_park == 0 && - (peep->state == PEEP_STATE_WALKING || peep->state == PEEP_STATE_SITTING)){ - - uint8 num_thoughts = 0; - uint8 possible_thoughts[5] = { 0 }; - - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK){ - possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_GO_HOME; - } - else{ - if (peep->energy <= 70 && - peep->happiness < 128){ - possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_TIRED; - } - - if (peep->hunger <= 10 && - !peep_has_food(peep)){ - possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_HUNGRY; - } - - if (peep->thirst <= 25 && - !peep_has_food(peep)){ - possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_THIRSTY; - } - - if (peep->bathroom >= 160){ - possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_BATHROOM; - } - - if (!(gParkFlags & PARK_FLAGS_NO_MONEY) && - peep->cash_in_pocket <= MONEY(9, 00) && - peep->happiness >= 105 && - peep->energy >= 70){ - /* The energy check was originally a second check on happiness. - * This was superfluous so should probably check something else. - * Guessed that this should really be checking energy, since - * the addresses for happiness and energy are quite close, - * 70 is also the threshold for tired thoughts (see above) and - * it makes sense that a tired peep might not think about getting - * more money. */ - possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_RUNNING_OUT; - } - } - - if (num_thoughts != 0){ - uint8 chosen_thought = possible_thoughts[scenario_rand() % num_thoughts]; - - peep_insert_new_thought(peep, chosen_thought, 0xFF); - - switch (chosen_thought){ - case PEEP_THOUGHT_TYPE_HUNGRY: - peep_head_for_nearest_ride_with_flags(peep, RIDE_TYPE_FLAG_SELLS_FOOD); - break; - case PEEP_THOUGHT_TYPE_THIRSTY: - peep_head_for_nearest_ride_with_flags(peep, RIDE_TYPE_FLAG_SELLS_DRINKS); - break; - case PEEP_THOUGHT_TYPE_BATHROOM: - peep_head_for_nearest_ride_with_flags(peep, RIDE_TYPE_FLAG_IS_BATHROOM); - break; - case PEEP_THOUGHT_TYPE_RUNNING_OUT: - peep_head_for_nearest_ride_type(peep, RIDE_TYPE_CASH_MACHINE); - break; - } - } - } - } - else{ - /* This branch of the conditional is executed on the - * remaining times the encompassing conditional is - * executed (which is also every second time, but - * the alternate time to the true branch). */ - if (peep->nausea >= 140){ - uint8 thought_type = PEEP_THOUGHT_TYPE_SICK; - if (peep->nausea >= 200){ - thought_type = PEEP_THOUGHT_TYPE_VERY_SICK; - peep_head_for_nearest_ride_type(peep, RIDE_TYPE_FIRST_AID); - } - peep_insert_new_thought(peep, thought_type, 0xFF); - } - } - - - switch (peep->state){ - case PEEP_STATE_WALKING: - case PEEP_STATE_LEAVING_PARK: - case PEEP_STATE_ENTERING_PARK: - peep_decide_whether_to_leave_park(peep); - peep_update_hunger(peep); - break; - - case PEEP_STATE_SITTING: - if (peep->energy_growth_rate <= 135) - peep->energy_growth_rate += 5; - - if (peep->thirst >= 5){ - peep->thirst -= 4; - peep->bathroom = min(255, peep->bathroom + 3); - } - - if (peep->nausea_growth_rate >= 50) - peep->nausea_growth_rate -= 6; - - // In the original this branched differently - // but it would mean setting the peep happiness from - // a thought type entry which i think is incorrect. - peep_update_hunger(peep); - break; - - case PEEP_STATE_QUEUING: - if (peep->time_in_queue >= 2000){ - /* Peep happiness is affected once the peep has been waiting - * too long in a queue. */ - rct_map_element* mapElement = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); - uint8 found = 0; - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; - if (mapElement->base_height != peep->next_z) - continue; - - // Check if the footpath has a queue line TV monitor on it - if (footpath_element_has_path_scenery(mapElement) && !footpath_element_path_scenery_is_ghost(mapElement)){ - uint8 pathSceneryIndex = footpath_element_get_path_scenery_index(mapElement); - rct_scenery_entry *sceneryEntry = get_footpath_item_entry(pathSceneryIndex); - if (sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_QUEUE_SCREEN){ - found = 1; - } - } - break; - } while (!map_element_is_last_for_tile(mapElement++)); - - if (found){ - /* Queue line TV monitors make the peeps waiting in the queue - * slowly happier, up to a certain level. */ - /* Why don't queue line TV monitors start affecting the peeps - * as soon as they join the queue?? */ - if (peep->happiness_growth_rate < 90) - peep->happiness_growth_rate = 90; - - if (peep->happiness_growth_rate < 165) - peep->happiness_growth_rate += 2; - } - else{ - /* Without a queue line TV monitor peeps waiting too long - * in a queue get less happy. */ - peep->happiness_growth_rate = max(peep->happiness_growth_rate - 4, 0); - } - } - peep_update_hunger(peep); - break; - case PEEP_STATE_ENTERING_RIDE: - if (peep->sub_state == 17 || - peep->sub_state == 15){ - peep_decide_whether_to_leave_park(peep); - } - peep_update_hunger(peep); - break; - } - - loc_68F9F3: - // Idle peep happiness tends towards 127 (50%). - if (peep->happiness_growth_rate >= 128) - peep->happiness_growth_rate--; - else - peep->happiness_growth_rate++; - - peep->nausea_growth_rate = max(peep->nausea_growth_rate - 2, 0); - - if (peep->energy <= 50){ - peep->energy = max(peep->energy - 2, 0); - } - - if (peep->hunger < 10){ - peep->hunger = max(peep->hunger - 1, 0); - } - - if (peep->thirst < 10){ - peep->thirst = max(peep->thirst - 1, 0); - } - - if (peep->bathroom >= 195){ - peep->bathroom--; - } - - if (peep->state == PEEP_STATE_WALKING && - peep->nausea_growth_rate >= 128){ - - if ((scenario_rand() & 0xFF) <= (uint8)((peep->nausea - 128) / 2)){ - if (peep->action >= PEEP_ACTION_NONE_1){ - peep->action = PEEP_ACTION_THROW_UP; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - } - } - } - } - - // Remaining content is executed every call. - - // 68FA89 - if (peep->var_42 == 0 && - peep_has_food(peep)){ - peep->var_42 += 3; - } - - if (peep->var_42 != 0 && - peep->state != PEEP_STATE_ON_RIDE){ - - peep->var_42 = max(peep->var_42 - 3, 0); - - if (peep_has_drink(peep)){ - peep->thirst = min(peep->thirst + 7, 255); - } - else{ - peep->hunger = min(peep->hunger + 7, 255); - peep->thirst = max(peep->thirst - 3, 0); - peep->bathroom = min(peep->bathroom + 2, 255); - } - - if (peep->var_42 == 0){ - sint32 chosen_food = bitscanforward(peep_has_food_standard_flag(peep)); - if (chosen_food != -1){ - peep->item_standard_flags &= ~(1 << chosen_food); - - uint8 discard_container = peep_item_containers[chosen_food]; - if (discard_container != 0xFF){ - peep->item_standard_flags |= (1 << discard_container); - } - - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - peep_update_sprite_type(peep); - } - else{ - chosen_food = bitscanforward(peep_has_food_extra_flag(peep)); - if (chosen_food != -1){ - peep->item_extra_flags &= ~(1 << chosen_food); - uint8 discard_container = peep_extra_item_containers[chosen_food]; - if (discard_container != 0xFF){ - if (discard_container >= 32) - peep->item_extra_flags |= (1 << (discard_container - 32)); - else - peep->item_standard_flags |= (1 << discard_container); - } - - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - peep_update_sprite_type(peep); - } - } - } - } - - uint8 energy = peep->energy; - uint8 energy_growth = peep->energy_growth_rate; - if (energy >= energy_growth){ - energy -= 2; - if (energy < energy_growth) - energy = energy_growth; - } - else{ - energy = min(255, energy + 4); - if (energy > energy_growth) - energy = energy_growth; - } - - if (energy < 32) - energy = 32; - - /* This suggests 100% energy is 128. */ - if (energy > 128) - energy = 128; - - if (energy != peep->energy){ - peep->energy = energy; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_2; - } - - uint8 happiness = peep->happiness; - uint8 happiness_growth = peep->happiness_growth_rate; - if (happiness >= happiness_growth){ - happiness = max(happiness - 4, 0); - if (happiness < happiness_growth) - happiness = happiness_growth; - } - else{ - happiness = min(255, happiness + 4); - if (happiness > happiness_growth) - happiness = happiness_growth; - } - - if (happiness != peep->happiness){ - peep->happiness = happiness; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_2; - } - - uint8 nausea = peep->nausea; - uint8 nausea_growth = peep->nausea_growth_rate; - if (nausea >= nausea_growth){ - nausea = max(nausea - 4, 0); - if (nausea < nausea_growth) - nausea = nausea_growth; - } - else{ - nausea = min(255, nausea + 4); - if (nausea > nausea_growth) - nausea = nausea_growth; - } - - if (nausea != peep->nausea){ - peep->nausea = nausea; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_2; - } + if (peep->type == PEEP_TYPE_STAFF){ + if (peep->staff_type != STAFF_TYPE_SECURITY) + return; + + uint8 sprite_type = PEEP_SPRITE_TYPE_SECURITY_ALT; + if (peep->state != PEEP_STATE_PATROLLING) + sprite_type = PEEP_SPRITE_TYPE_SECURITY; + + if (peep->sprite_type == sprite_type) + return; + + peep->sprite_type = sprite_type; + peep->action_sprite_image_offset = 0; + peep->no_action_frame_no = 0; + if (peep->action < PEEP_ACTION_NONE_1) + peep->action = PEEP_ACTION_NONE_2; + + peep->peep_flags &= ~PEEP_FLAGS_SLOW_WALK; + if (SpriteTypeToSlowWalkMap[sprite_type]) { + peep->peep_flags |= PEEP_FLAGS_SLOW_WALK; + } + + peep->action_sprite_type = 0xFF; + peep_update_current_action_sprite_type(peep); + return; + } + + if ((uint32)(index & 0x1FF) == (gCurrentTicks & 0x1FF)){ + /* Effect of masking with 0x1FF here vs mask 0x7F, + * which is the condition for calling this function, is + * to reduce how often the content in this conditional + * is executed to once every four calls. */ + if (peep->peep_flags & PEEP_FLAGS_CROWDED){ + uint8 thought_type = crowded_thoughts[scenario_rand() & 0xF]; + if (thought_type != PEEP_THOUGHT_TYPE_NONE){ + peep_insert_new_thought(peep, thought_type, 0xFF); + } + } + + if (peep->peep_flags & PEEP_FLAGS_EXPLODE && peep->x != MAP_LOCATION_NULL){ + audio_play_sound_at_location(SOUND_CRASH, peep->x, peep->y, peep->z); + + sprite_misc_explosion_cloud_create(peep->x, peep->y, peep->z + 16); + sprite_misc_explosion_flare_create(peep->x, peep->y, peep->z + 16); + + peep_remove(peep); + return; + } + + if (peep->peep_flags & PEEP_FLAGS_HUNGER){ + if (peep->hunger >= 15)peep->hunger -= 15; + } + + if (peep->peep_flags & PEEP_FLAGS_BATHROOM){ + if (peep->bathroom <= 180)peep->bathroom += 50; + } + + if (peep->peep_flags & PEEP_FLAGS_HAPPINESS){ + peep->happiness_growth_rate = 5; + } + + if (peep->peep_flags & PEEP_FLAGS_NAUSEA){ + peep->nausea_growth_rate = 200; + if (peep->nausea <= 130)peep->nausea = 130; + } + + if (peep->angriness != 0) + peep->angriness--; + + if (peep->state == PEEP_STATE_WALKING || peep->state == PEEP_STATE_SITTING){ + peep->var_F2++; + if (peep->var_F2 >= 18){ + peep->var_F2 = 0; + if (peep->x != MAP_LOCATION_NULL){ + + uint8 thought_type = peep_assess_surroundings(peep->x & 0xFFE0, peep->y & 0xFFE0, peep->z); + + if (thought_type != PEEP_THOUGHT_TYPE_NONE) { + peep_insert_new_thought(peep, thought_type, 0xFF); + peep->happiness_growth_rate = min(255, peep->happiness_growth_rate + 45); + } + } + } + } + + peep_update_sprite_type(peep); + + if (peep->state == PEEP_STATE_ON_RIDE || peep->state == PEEP_STATE_ENTERING_RIDE){ + peep->time_on_ride = min(255, peep->time_on_ride + 1); + + if (peep->peep_flags & PEEP_FLAGS_WOW){ + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_WOW2, 0xFF); + } + + if (peep->time_on_ride > 15){ + peep->happiness_growth_rate = min(0, peep->happiness_growth_rate - 5); + + if (peep->time_on_ride > 22){ + rct_ride* ride = get_ride(peep->current_ride); + + uint8 thought_type = ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IN_RIDE) ? + PEEP_THOUGHT_TYPE_GET_OUT : + PEEP_THOUGHT_TYPE_GET_OFF; + + peep_insert_new_thought(peep, thought_type, peep->current_ride); + } + } + } + + if (peep->state == PEEP_STATE_WALKING && + peep->outside_of_park == 0 && + !(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) && + peep->no_of_rides == 0 && + peep->guest_heading_to_ride_id == 0xFF){ + + uint32 time_duration = gScenarioTicks - peep->time_in_park; + time_duration /= 2048; + + if (time_duration >= 5){ + peep_pick_ride_to_go_on(peep); + + if (peep->guest_heading_to_ride_id == 0xFF){ + peep->happiness_growth_rate = max(peep->happiness_growth_rate - 128, 0); + peep_leave_park(peep); + peep_update_hunger(peep); + goto loc_68F9F3; + } + } + } + + if ((scenario_rand() & 0xFFFF) <= ((peep->item_standard_flags & PEEP_ITEM_MAP) ? 8192U : 2184U)){ + peep_pick_ride_to_go_on(peep); + } + + if ((uint32)(index & 0x3FF) == (gCurrentTicks & 0x3FF)){ + /* Effect of masking with 0x3FF here vs mask 0x1FF, + * which is used in the encompassing conditional, is + * to reduce how often the content in this conditional + * is executed to once every second time the encompassing + * conditional executes. */ + + if (peep->outside_of_park == 0 && + (peep->state == PEEP_STATE_WALKING || peep->state == PEEP_STATE_SITTING)){ + + uint8 num_thoughts = 0; + uint8 possible_thoughts[5] = { 0 }; + + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK){ + possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_GO_HOME; + } + else{ + if (peep->energy <= 70 && + peep->happiness < 128){ + possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_TIRED; + } + + if (peep->hunger <= 10 && + !peep_has_food(peep)){ + possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_HUNGRY; + } + + if (peep->thirst <= 25 && + !peep_has_food(peep)){ + possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_THIRSTY; + } + + if (peep->bathroom >= 160){ + possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_BATHROOM; + } + + if (!(gParkFlags & PARK_FLAGS_NO_MONEY) && + peep->cash_in_pocket <= MONEY(9, 00) && + peep->happiness >= 105 && + peep->energy >= 70){ + /* The energy check was originally a second check on happiness. + * This was superfluous so should probably check something else. + * Guessed that this should really be checking energy, since + * the addresses for happiness and energy are quite close, + * 70 is also the threshold for tired thoughts (see above) and + * it makes sense that a tired peep might not think about getting + * more money. */ + possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_RUNNING_OUT; + } + } + + if (num_thoughts != 0){ + uint8 chosen_thought = possible_thoughts[scenario_rand() % num_thoughts]; + + peep_insert_new_thought(peep, chosen_thought, 0xFF); + + switch (chosen_thought){ + case PEEP_THOUGHT_TYPE_HUNGRY: + peep_head_for_nearest_ride_with_flags(peep, RIDE_TYPE_FLAG_SELLS_FOOD); + break; + case PEEP_THOUGHT_TYPE_THIRSTY: + peep_head_for_nearest_ride_with_flags(peep, RIDE_TYPE_FLAG_SELLS_DRINKS); + break; + case PEEP_THOUGHT_TYPE_BATHROOM: + peep_head_for_nearest_ride_with_flags(peep, RIDE_TYPE_FLAG_IS_BATHROOM); + break; + case PEEP_THOUGHT_TYPE_RUNNING_OUT: + peep_head_for_nearest_ride_type(peep, RIDE_TYPE_CASH_MACHINE); + break; + } + } + } + } + else{ + /* This branch of the conditional is executed on the + * remaining times the encompassing conditional is + * executed (which is also every second time, but + * the alternate time to the true branch). */ + if (peep->nausea >= 140){ + uint8 thought_type = PEEP_THOUGHT_TYPE_SICK; + if (peep->nausea >= 200){ + thought_type = PEEP_THOUGHT_TYPE_VERY_SICK; + peep_head_for_nearest_ride_type(peep, RIDE_TYPE_FIRST_AID); + } + peep_insert_new_thought(peep, thought_type, 0xFF); + } + } + + + switch (peep->state){ + case PEEP_STATE_WALKING: + case PEEP_STATE_LEAVING_PARK: + case PEEP_STATE_ENTERING_PARK: + peep_decide_whether_to_leave_park(peep); + peep_update_hunger(peep); + break; + + case PEEP_STATE_SITTING: + if (peep->energy_growth_rate <= 135) + peep->energy_growth_rate += 5; + + if (peep->thirst >= 5){ + peep->thirst -= 4; + peep->bathroom = min(255, peep->bathroom + 3); + } + + if (peep->nausea_growth_rate >= 50) + peep->nausea_growth_rate -= 6; + + // In the original this branched differently + // but it would mean setting the peep happiness from + // a thought type entry which i think is incorrect. + peep_update_hunger(peep); + break; + + case PEEP_STATE_QUEUING: + if (peep->time_in_queue >= 2000){ + /* Peep happiness is affected once the peep has been waiting + * too long in a queue. */ + rct_map_element* mapElement = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); + uint8 found = 0; + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; + if (mapElement->base_height != peep->next_z) + continue; + + // Check if the footpath has a queue line TV monitor on it + if (footpath_element_has_path_scenery(mapElement) && !footpath_element_path_scenery_is_ghost(mapElement)){ + uint8 pathSceneryIndex = footpath_element_get_path_scenery_index(mapElement); + rct_scenery_entry *sceneryEntry = get_footpath_item_entry(pathSceneryIndex); + if (sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_QUEUE_SCREEN){ + found = 1; + } + } + break; + } while (!map_element_is_last_for_tile(mapElement++)); + + if (found){ + /* Queue line TV monitors make the peeps waiting in the queue + * slowly happier, up to a certain level. */ + /* Why don't queue line TV monitors start affecting the peeps + * as soon as they join the queue?? */ + if (peep->happiness_growth_rate < 90) + peep->happiness_growth_rate = 90; + + if (peep->happiness_growth_rate < 165) + peep->happiness_growth_rate += 2; + } + else{ + /* Without a queue line TV monitor peeps waiting too long + * in a queue get less happy. */ + peep->happiness_growth_rate = max(peep->happiness_growth_rate - 4, 0); + } + } + peep_update_hunger(peep); + break; + case PEEP_STATE_ENTERING_RIDE: + if (peep->sub_state == 17 || + peep->sub_state == 15){ + peep_decide_whether_to_leave_park(peep); + } + peep_update_hunger(peep); + break; + } + + loc_68F9F3: + // Idle peep happiness tends towards 127 (50%). + if (peep->happiness_growth_rate >= 128) + peep->happiness_growth_rate--; + else + peep->happiness_growth_rate++; + + peep->nausea_growth_rate = max(peep->nausea_growth_rate - 2, 0); + + if (peep->energy <= 50){ + peep->energy = max(peep->energy - 2, 0); + } + + if (peep->hunger < 10){ + peep->hunger = max(peep->hunger - 1, 0); + } + + if (peep->thirst < 10){ + peep->thirst = max(peep->thirst - 1, 0); + } + + if (peep->bathroom >= 195){ + peep->bathroom--; + } + + if (peep->state == PEEP_STATE_WALKING && + peep->nausea_growth_rate >= 128){ + + if ((scenario_rand() & 0xFF) <= (uint8)((peep->nausea - 128) / 2)){ + if (peep->action >= PEEP_ACTION_NONE_1){ + peep->action = PEEP_ACTION_THROW_UP; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + } + } + } + } + + // Remaining content is executed every call. + + // 68FA89 + if (peep->var_42 == 0 && + peep_has_food(peep)){ + peep->var_42 += 3; + } + + if (peep->var_42 != 0 && + peep->state != PEEP_STATE_ON_RIDE){ + + peep->var_42 = max(peep->var_42 - 3, 0); + + if (peep_has_drink(peep)){ + peep->thirst = min(peep->thirst + 7, 255); + } + else{ + peep->hunger = min(peep->hunger + 7, 255); + peep->thirst = max(peep->thirst - 3, 0); + peep->bathroom = min(peep->bathroom + 2, 255); + } + + if (peep->var_42 == 0){ + sint32 chosen_food = bitscanforward(peep_has_food_standard_flag(peep)); + if (chosen_food != -1){ + peep->item_standard_flags &= ~(1 << chosen_food); + + uint8 discard_container = peep_item_containers[chosen_food]; + if (discard_container != 0xFF){ + peep->item_standard_flags |= (1 << discard_container); + } + + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + peep_update_sprite_type(peep); + } + else{ + chosen_food = bitscanforward(peep_has_food_extra_flag(peep)); + if (chosen_food != -1){ + peep->item_extra_flags &= ~(1 << chosen_food); + uint8 discard_container = peep_extra_item_containers[chosen_food]; + if (discard_container != 0xFF){ + if (discard_container >= 32) + peep->item_extra_flags |= (1 << (discard_container - 32)); + else + peep->item_standard_flags |= (1 << discard_container); + } + + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + peep_update_sprite_type(peep); + } + } + } + } + + uint8 energy = peep->energy; + uint8 energy_growth = peep->energy_growth_rate; + if (energy >= energy_growth){ + energy -= 2; + if (energy < energy_growth) + energy = energy_growth; + } + else{ + energy = min(255, energy + 4); + if (energy > energy_growth) + energy = energy_growth; + } + + if (energy < 32) + energy = 32; + + /* This suggests 100% energy is 128. */ + if (energy > 128) + energy = 128; + + if (energy != peep->energy){ + peep->energy = energy; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_2; + } + + uint8 happiness = peep->happiness; + uint8 happiness_growth = peep->happiness_growth_rate; + if (happiness >= happiness_growth){ + happiness = max(happiness - 4, 0); + if (happiness < happiness_growth) + happiness = happiness_growth; + } + else{ + happiness = min(255, happiness + 4); + if (happiness > happiness_growth) + happiness = happiness_growth; + } + + if (happiness != peep->happiness){ + peep->happiness = happiness; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_2; + } + + uint8 nausea = peep->nausea; + uint8 nausea_growth = peep->nausea_growth_rate; + if (nausea >= nausea_growth){ + nausea = max(nausea - 4, 0); + if (nausea < nausea_growth) + nausea = nausea_growth; + } + else{ + nausea = min(255, nausea + 4); + if (nausea > nausea_growth) + nausea = nausea_growth; + } + + if (nausea != peep->nausea){ + peep->nausea = nausea; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_2; + } } /* @@ -1347,49 +1347,49 @@ static void sub_68F41A(rct_peep *peep, sint32 index) * Set peep state to falling if path below has gone missing, return 1 if current path is valid, 0 if peep starts falling */ static sint32 checkForPath(rct_peep *peep){ - peep->var_C4++; - if ((peep->var_C4 & 0xF) != (peep->sprite_index & 0xF)){ - // This condition makes the check happen less often so the peeps hover for a short, - // random time when a path below them has been deleted - return 1; - } + peep->var_C4++; + if ((peep->var_C4 & 0xF) != (peep->sprite_index & 0xF)){ + // This condition makes the check happen less often so the peeps hover for a short, + // random time when a path below them has been deleted + return 1; + } - rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); + rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); - uint8 map_type = MAP_ELEMENT_TYPE_PATH; - if (peep->next_var_29 & ((1 << 4) | (1 << 3))){ - map_type = MAP_ELEMENT_TYPE_SURFACE; - } + uint8 map_type = MAP_ELEMENT_TYPE_PATH; + if (peep->next_var_29 & ((1 << 4) | (1 << 3))){ + map_type = MAP_ELEMENT_TYPE_SURFACE; + } - sint32 z = peep->next_z; + sint32 z = peep->next_z; - do { - if (map_element_get_type(map_element) == map_type){ - if (z == map_element->base_height) { - // Found a suitable path - return 1; - } - } - } while (!map_element_is_last_for_tile(map_element++)); + do { + if (map_element_get_type(map_element) == map_type){ + if (z == map_element->base_height) { + // Found a suitable path + return 1; + } + } + } while (!map_element_is_last_for_tile(map_element++)); - // Found no suitable path - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - return 0; + // Found no suitable path + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + return 0; } static uint8 peep_get_action_sprite_type(rct_peep* peep) { - if (peep->action >= PEEP_ACTION_NONE_1){ // PEEP_ACTION_NONE_1 or PEEP_ACTION_NONE_2 - return PeepSpecialSpriteToSpriteTypeMap[peep->special_sprite]; - } else if (peep->action < countof(PeepActionToSpriteTypeMap)) { - return PeepActionToSpriteTypeMap[peep->action]; - } else { - openrct2_assert(peep->action >= countof(PeepActionToSpriteTypeMap) && peep->action < PEEP_ACTION_NONE_1, - "Invalid peep action %u", peep->action); - return 0; - } + if (peep->action >= PEEP_ACTION_NONE_1){ // PEEP_ACTION_NONE_1 or PEEP_ACTION_NONE_2 + return PeepSpecialSpriteToSpriteTypeMap[peep->special_sprite]; + } else if (peep->action < countof(PeepActionToSpriteTypeMap)) { + return PeepActionToSpriteTypeMap[peep->action]; + } else { + openrct2_assert(peep->action >= countof(PeepActionToSpriteTypeMap) && peep->action < PEEP_ACTION_NONE_1, + "Invalid peep action %u", peep->action); + return 0; + } } @@ -1397,36 +1397,36 @@ static uint8 peep_get_action_sprite_type(rct_peep* peep) * rct2: 0x00693B58 */ void peep_update_current_action_sprite_type(rct_peep* peep){ - if (peep->sprite_type >= countof(g_peep_animation_entries)) { - return; - } - uint8 action_sprite_type = peep_get_action_sprite_type(peep); - if (action_sprite_type == peep->action_sprite_type) { - return; - } + if (peep->sprite_type >= countof(g_peep_animation_entries)) { + return; + } + uint8 action_sprite_type = peep_get_action_sprite_type(peep); + if (action_sprite_type == peep->action_sprite_type) { + return; + } - invalidate_sprite_2((rct_sprite*)peep); - peep->action_sprite_type = action_sprite_type; + invalidate_sprite_2((rct_sprite*)peep); + peep->action_sprite_type = action_sprite_type; - const rct_sprite_bounds* spriteBounds = g_peep_animation_entries[peep->sprite_type].sprite_bounds; - peep->sprite_width = spriteBounds[action_sprite_type].sprite_width; - peep->sprite_height_negative = spriteBounds[action_sprite_type].sprite_height_negative; - peep->sprite_height_positive = spriteBounds[action_sprite_type].sprite_height_positive; - // This is pointless as nothing will have changed. - invalidate_sprite_2((rct_sprite*)peep); + const rct_sprite_bounds* spriteBounds = g_peep_animation_entries[peep->sprite_type].sprite_bounds; + peep->sprite_width = spriteBounds[action_sprite_type].sprite_width; + peep->sprite_height_negative = spriteBounds[action_sprite_type].sprite_height_negative; + peep->sprite_height_positive = spriteBounds[action_sprite_type].sprite_height_positive; + // This is pointless as nothing will have changed. + invalidate_sprite_2((rct_sprite*)peep); } /* 0x00693BE5 */ void peep_switch_to_special_sprite(rct_peep* peep, uint8 special_sprite_id){ - if (special_sprite_id == peep->special_sprite)return; + if (special_sprite_id == peep->special_sprite)return; - peep->special_sprite = special_sprite_id; + peep->special_sprite = special_sprite_id; - // If NONE_1 or NONE_2 - if (peep->action >= PEEP_ACTION_NONE_1){ - peep->action_sprite_image_offset = 0; - } - peep_update_current_action_sprite_type(peep); + // If NONE_1 or NONE_2 + if (peep->action >= PEEP_ACTION_NONE_1){ + peep->action_sprite_image_offset = 0; + } + peep_update_current_action_sprite_type(peep); } /** @@ -1435,21 +1435,21 @@ void peep_switch_to_special_sprite(rct_peep* peep, uint8 special_sprite_id){ */ void remove_peep_from_ride(rct_peep* peep) { - if (peep->state == PEEP_STATE_QUEUING) { - remove_peep_from_queue(peep); - } - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_1; - peep_window_state_update(peep); - peep_switch_to_special_sprite(peep, 0); + if (peep->state == PEEP_STATE_QUEUING) { + remove_peep_from_queue(peep); + } + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_1; + peep_window_state_update(peep); + peep_switch_to_special_sprite(peep, 0); } static void peep_state_reset(rct_peep* peep){ - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_1; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_1; + peep_window_state_update(peep); - peep_switch_to_special_sprite(peep, 0); + peep_switch_to_special_sprite(peep, 0); } /** @@ -1458,19 +1458,19 @@ static void peep_state_reset(rct_peep* peep){ * Check if lost. */ static void peep_check_if_lost(rct_peep* peep){ - if (!(peep->peep_flags & PEEP_FLAGS_LOST)){ - if (gRideCount < 2) return; - peep->peep_flags ^= PEEP_FLAGS_21; + if (!(peep->peep_flags & PEEP_FLAGS_LOST)){ + if (gRideCount < 2) return; + peep->peep_flags ^= PEEP_FLAGS_21; - if (!(peep->peep_flags & PEEP_FLAGS_21)) return; + if (!(peep->peep_flags & PEEP_FLAGS_21)) return; - peep->var_F4++; - if (peep->var_F4 != 254)return; - peep->var_F4 = 230; - } - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_LOST, 0xFF); + peep->var_F4++; + if (peep->var_F4 != 254)return; + peep->var_F4 = 230; + } + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_LOST, 0xFF); - peep->happiness_growth_rate = max(peep->happiness_growth_rate - 30, 0); + peep->happiness_growth_rate = max(peep->happiness_growth_rate - 30, 0); } /** @@ -1479,27 +1479,27 @@ static void peep_check_if_lost(rct_peep* peep){ * Check if cant find ride. */ static void peep_check_cant_find_ride(rct_peep* peep){ - if (peep->guest_heading_to_ride_id == 0xFF) - return; + if (peep->guest_heading_to_ride_id == 0xFF) + return; - // Peeps will think "I can't find ride X" twice before giving up completely. - if (peep->peep_is_lost_countdown == 30 || peep->peep_is_lost_countdown == 60) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CANT_FIND, peep->guest_heading_to_ride_id); - peep->happiness_growth_rate = max(peep->happiness_growth_rate - 30, 0); - } + // Peeps will think "I can't find ride X" twice before giving up completely. + if (peep->peep_is_lost_countdown == 30 || peep->peep_is_lost_countdown == 60) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CANT_FIND, peep->guest_heading_to_ride_id); + peep->happiness_growth_rate = max(peep->happiness_growth_rate - 30, 0); + } - peep->peep_is_lost_countdown--; - if (peep->peep_is_lost_countdown != 0) - return; + peep->peep_is_lost_countdown--; + if (peep->peep_is_lost_countdown != 0) + return; - peep->guest_heading_to_ride_id = 0xFF; - rct_window* w = window_find_by_number(WC_PEEP, peep->sprite_index); + peep->guest_heading_to_ride_id = 0xFF; + rct_window* w = window_find_by_number(WC_PEEP, peep->sprite_index); - if (w){ - window_event_invalidate_call(w); - } + if (w){ + window_event_invalidate_call(w); + } - window_invalidate_by_number(WC_PEEP, peep->sprite_index); + window_invalidate_by_number(WC_PEEP, peep->sprite_index); } /** @@ -1508,25 +1508,25 @@ static void peep_check_cant_find_ride(rct_peep* peep){ * Check if cant find exit. */ static void peep_check_cant_find_exit(rct_peep* peep){ - if (!(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)) - return; + if (!(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)) + return; - // Peeps who can't find the park exit will continue to get less happy until they find it. - if (peep->peep_is_lost_countdown == 1) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CANT_FIND_EXIT, 0xFF); - peep->happiness_growth_rate = max(peep->happiness_growth_rate - 30, 0); - } + // Peeps who can't find the park exit will continue to get less happy until they find it. + if (peep->peep_is_lost_countdown == 1) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CANT_FIND_EXIT, 0xFF); + peep->happiness_growth_rate = max(peep->happiness_growth_rate - 30, 0); + } - if (--peep->peep_is_lost_countdown == 0) - peep->peep_is_lost_countdown = 90; + if (--peep->peep_is_lost_countdown == 0) + peep->peep_is_lost_countdown = 90; } /** rct2: 0x00981D7C, 0x00981D7E */ const rct_xy16 word_981D7C[4] = { - { -2, 0 }, - { 0, 2 }, - { 2, 0 }, - { 0, -2 } + { -2, 0 }, + { 0, 2 }, + { 2, 0 }, + { 0, -2 } }; /** @@ -1543,93 +1543,93 @@ const rct_xy16 word_981D7C[4] = { * @param peep (esi) */ static sint32 peep_update_action(sint16* x, sint16* y, sint16* xy_distance, rct_peep* peep){ - _unk_F1AEF0 = peep->action_sprite_image_offset; - if (peep->action == 0xFE){ - peep->action = 0xFF; - } + _unk_F1AEF0 = peep->action_sprite_image_offset; + if (peep->action == 0xFE){ + peep->action = 0xFF; + } - *x = peep->x - peep->destination_x; - *y = peep->y - peep->destination_y; + *x = peep->x - peep->destination_x; + *y = peep->y - peep->destination_y; - sint32 x_delta = abs(*x); - sint32 y_delta = abs(*y); + sint32 x_delta = abs(*x); + sint32 y_delta = abs(*y); - *xy_distance = x_delta + y_delta; + *xy_distance = x_delta + y_delta; - if (peep->action >= 0xFE){ - if (*xy_distance <= peep->destination_tolerence){ - return 0; - } - sint32 direction = 0; - if (x_delta < y_delta){ - direction = 8; - if (*y >= 0){ - direction = 24; - } - } - else{ - direction = 16; - if (*x >= 0){ - direction = 0; - } - } - peep->sprite_direction = direction; - *x = peep->x + word_981D7C[direction / 8].x; - *y = peep->y + word_981D7C[direction / 8].y; - peep->no_action_frame_no++; - const rct_peep_animation * peepAnimation = g_peep_animation_entries[peep->sprite_type].sprite_animation; - const uint8* imageOffset = peepAnimation[peep->action_sprite_type].frame_offsets; - if (peep->no_action_frame_no >= peepAnimation[peep->action_sprite_type].num_frames){ - peep->no_action_frame_no = 0; - } - peep->action_sprite_image_offset = imageOffset[peep->no_action_frame_no]; - return 1; - } + if (peep->action >= 0xFE){ + if (*xy_distance <= peep->destination_tolerence){ + return 0; + } + sint32 direction = 0; + if (x_delta < y_delta){ + direction = 8; + if (*y >= 0){ + direction = 24; + } + } + else{ + direction = 16; + if (*x >= 0){ + direction = 0; + } + } + peep->sprite_direction = direction; + *x = peep->x + word_981D7C[direction / 8].x; + *y = peep->y + word_981D7C[direction / 8].y; + peep->no_action_frame_no++; + const rct_peep_animation * peepAnimation = g_peep_animation_entries[peep->sprite_type].sprite_animation; + const uint8* imageOffset = peepAnimation[peep->action_sprite_type].frame_offsets; + if (peep->no_action_frame_no >= peepAnimation[peep->action_sprite_type].num_frames){ + peep->no_action_frame_no = 0; + } + peep->action_sprite_image_offset = imageOffset[peep->no_action_frame_no]; + return 1; + } - const rct_peep_animation * peepAnimation = g_peep_animation_entries[peep->sprite_type].sprite_animation; - peep->action_frame++; + const rct_peep_animation * peepAnimation = g_peep_animation_entries[peep->sprite_type].sprite_animation; + peep->action_frame++; - // If last frame of action - if (peep->action_frame >= peepAnimation[peep->action_sprite_type].num_frames){ - peep->action_sprite_image_offset = 0; - peep->action = 0xFF; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - *x = peep->x; - *y = peep->y; - return 1; - } - peep->action_sprite_image_offset = peepAnimation[peep->action_sprite_type].frame_offsets[peep->action_frame]; + // If last frame of action + if (peep->action_frame >= peepAnimation[peep->action_sprite_type].num_frames){ + peep->action_sprite_image_offset = 0; + peep->action = 0xFF; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + *x = peep->x; + *y = peep->y; + return 1; + } + peep->action_sprite_image_offset = peepAnimation[peep->action_sprite_type].frame_offsets[peep->action_frame]; - // If not throwing up and not at the frame where sick appears. - if (peep->action != PEEP_ACTION_THROW_UP || peep->action_frame != 15){ - invalidate_sprite_2((rct_sprite*)peep); - *x = peep->x; - *y = peep->y; - return 1; - } + // If not throwing up and not at the frame where sick appears. + if (peep->action != PEEP_ACTION_THROW_UP || peep->action_frame != 15){ + invalidate_sprite_2((rct_sprite*)peep); + *x = peep->x; + *y = peep->y; + return 1; + } - // We are throwing up - peep->hunger /= 2; - peep->nausea_growth_rate /= 2; + // We are throwing up + peep->hunger /= 2; + peep->nausea_growth_rate /= 2; - if (peep->nausea < 30) - peep->nausea = 0; - else - peep->nausea -= 30; + if (peep->nausea < 30) + peep->nausea = 0; + else + peep->nausea -= 30; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_2; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_2; - // Create sick at location - litter_create(peep->x, peep->y, peep->z, peep->sprite_direction, (peep->sprite_index & 1) ? LITTER_TYPE_SICK_ALT: LITTER_TYPE_SICK); + // Create sick at location + litter_create(peep->x, peep->y, peep->z, peep->sprite_direction, (peep->sprite_index & 1) ? LITTER_TYPE_SICK_ALT: LITTER_TYPE_SICK); - sint32 sound_id = SOUND_COUGH_1 + (scenario_rand() & 3); - audio_play_sound_at_location(sound_id, peep->x, peep->y, peep->z); + sint32 sound_id = SOUND_COUGH_1 + (scenario_rand() & 3); + audio_play_sound_at_location(sound_id, peep->x, peep->y, peep->z); - invalidate_sprite_2((rct_sprite*)peep); - *x = peep->x; - *y = peep->y; - return 1; + invalidate_sprite_2((rct_sprite*)peep); + *x = peep->x; + *y = peep->y; + return 1; } /** @@ -1637,86 +1637,86 @@ static sint32 peep_update_action(sint16* x, sint16* y, sint16* xy_distance, rct_ * Decreases rider count if on/entering a ride. */ void peep_decrement_num_riders(rct_peep* peep){ - if (peep->state == PEEP_STATE_ON_RIDE - || peep->state == PEEP_STATE_ENTERING_RIDE){ + if (peep->state == PEEP_STATE_ON_RIDE + || peep->state == PEEP_STATE_ENTERING_RIDE){ - rct_ride* ride = get_ride(peep->current_ride); - ride->num_riders--; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; - } + rct_ride* ride = get_ride(peep->current_ride); + ride->num_riders--; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + } } /* Part of 0x0069B8CC rct2: 0x0069BC31 */ static void set_sprite_type(rct_peep* peep, uint8 type){ - if (peep->sprite_type == type)return; + if (peep->sprite_type == type)return; - peep->sprite_type = type; - peep->action_sprite_image_offset = 0; - peep->no_action_frame_no = 0; + peep->sprite_type = type; + peep->action_sprite_image_offset = 0; + peep->no_action_frame_no = 0; - if (peep->action >= PEEP_ACTION_NONE_1) - peep->action = PEEP_ACTION_NONE_2; + if (peep->action >= PEEP_ACTION_NONE_1) + peep->action = PEEP_ACTION_NONE_2; - peep->peep_flags &= ~PEEP_FLAGS_SLOW_WALK; - assert(type < countof(SpriteTypeToSlowWalkMap)); - if (SpriteTypeToSlowWalkMap[type]) { - peep->peep_flags |= PEEP_FLAGS_SLOW_WALK; - } + peep->peep_flags &= ~PEEP_FLAGS_SLOW_WALK; + assert(type < countof(SpriteTypeToSlowWalkMap)); + if (SpriteTypeToSlowWalkMap[type]) { + peep->peep_flags |= PEEP_FLAGS_SLOW_WALK; + } - peep->action_sprite_type = 0xFF; - peep_update_current_action_sprite_type(peep); + peep->action_sprite_type = 0xFF; + peep_update_current_action_sprite_type(peep); - if (peep->state == PEEP_STATE_SITTING){ - peep->action = PEEP_ACTION_NONE_1; - peep->next_action_sprite_type = 7; - peep_switch_to_next_action_sprite_type(peep); - } - if (peep->state == PEEP_STATE_WATCHING){ - peep->action = PEEP_ACTION_NONE_1; - peep->next_action_sprite_type = 2; - peep_switch_to_next_action_sprite_type(peep); - } + if (peep->state == PEEP_STATE_SITTING){ + peep->action = PEEP_ACTION_NONE_1; + peep->next_action_sprite_type = 7; + peep_switch_to_next_action_sprite_type(peep); + } + if (peep->state == PEEP_STATE_WATCHING){ + peep->action = PEEP_ACTION_NONE_1; + peep->next_action_sprite_type = 2; + peep_switch_to_next_action_sprite_type(peep); + } } typedef struct item_pref_t { - uint8 type; // 0 for standard, 1 for extra - uint32 item; // And this with the relevant flags - uint8 sprite_type; + uint8 type; // 0 for standard, 1 for extra + uint32 item; // And this with the relevant flags + uint8 sprite_type; } item_pref_t; item_pref_t item_order_preference[] = { - { 0, PEEP_ITEM_ICE_CREAM, PEEP_SPRITE_TYPE_ICE_CREAM }, - { 0, PEEP_ITEM_CHIPS, PEEP_SPRITE_TYPE_CHIPS }, - { 0, PEEP_ITEM_PIZZA, PEEP_SPRITE_TYPE_PIZZA }, - { 0, PEEP_ITEM_BURGER, PEEP_SPRITE_TYPE_BURGER }, - { 0, PEEP_ITEM_DRINK, PEEP_SPRITE_TYPE_DRINK }, - { 0, PEEP_ITEM_COFFEE, PEEP_SPRITE_TYPE_COFFEE }, - { 0, PEEP_ITEM_CHICKEN, PEEP_SPRITE_TYPE_CHICKEN }, - { 0, PEEP_ITEM_LEMONADE, PEEP_SPRITE_TYPE_LEMONADE }, - { 0, PEEP_ITEM_CANDYFLOSS, PEEP_SPRITE_TYPE_CANDYFLOSS }, - { 0, PEEP_ITEM_POPCORN, PEEP_SPRITE_TYPE_PIZZA }, - { 0, PEEP_ITEM_HOT_DOG, PEEP_SPRITE_TYPE_HOT_DOG }, - { 0, PEEP_ITEM_TENTACLE, PEEP_SPRITE_TYPE_TENTACLE }, - { 0, PEEP_ITEM_CANDY_APPLE, PEEP_SPRITE_TYPE_TOFFEE_APPLE }, - { 0, PEEP_ITEM_DONUT, PEEP_SPRITE_TYPE_DONUT }, - { 1, PEEP_ITEM_PRETZEL, PEEP_SPRITE_TYPE_PRETZEL }, - { 1, PEEP_ITEM_COOKIE, PEEP_SPRITE_TYPE_PRETZEL }, - { 1, PEEP_ITEM_CHOCOLATE, PEEP_SPRITE_TYPE_COFFEE }, - { 1, PEEP_ITEM_ICED_TEA, PEEP_SPRITE_TYPE_COFFEE }, - { 1, PEEP_ITEM_FUNNEL_CAKE, PEEP_SPRITE_TYPE_FUNNEL_CAKE }, - { 1, PEEP_ITEM_BEEF_NOODLES, PEEP_SPRITE_TYPE_NOODLES }, - { 1, PEEP_ITEM_FRIED_RICE_NOODLES, PEEP_SPRITE_TYPE_NOODLES }, - { 1, PEEP_ITEM_WONTON_SOUP, PEEP_SPRITE_TYPE_SOUP }, - { 1, PEEP_ITEM_MEATBALL_SOUP, PEEP_SPRITE_TYPE_SOUP }, - { 1, PEEP_ITEM_FRUIT_JUICE, PEEP_SPRITE_TYPE_JUICE }, - { 1, PEEP_ITEM_SOYBEAN_MILK, PEEP_SPRITE_TYPE_SU_JONGKWA }, - { 1, PEEP_ITEM_SU_JONGKWA, PEEP_SPRITE_TYPE_SU_JONGKWA }, - { 1, PEEP_ITEM_SUB_SANDWICH, PEEP_SPRITE_TYPE_SANDWICH }, - { 1, PEEP_ITEM_ROAST_SAUSAGE, PEEP_SPRITE_TYPE_SAUSAGE }, - { 0, PEEP_ITEM_BALLOON, PEEP_SPRITE_TYPE_BALLOON }, - { 0, PEEP_ITEM_HAT, PEEP_SPRITE_TYPE_HAT }, - { 1, PEEP_ITEM_SUNGLASSES, PEEP_SPRITE_TYPE_SUNGLASSES }, - { 0xFF, 0xFFFFFFFF, 0xFF} + { 0, PEEP_ITEM_ICE_CREAM, PEEP_SPRITE_TYPE_ICE_CREAM }, + { 0, PEEP_ITEM_CHIPS, PEEP_SPRITE_TYPE_CHIPS }, + { 0, PEEP_ITEM_PIZZA, PEEP_SPRITE_TYPE_PIZZA }, + { 0, PEEP_ITEM_BURGER, PEEP_SPRITE_TYPE_BURGER }, + { 0, PEEP_ITEM_DRINK, PEEP_SPRITE_TYPE_DRINK }, + { 0, PEEP_ITEM_COFFEE, PEEP_SPRITE_TYPE_COFFEE }, + { 0, PEEP_ITEM_CHICKEN, PEEP_SPRITE_TYPE_CHICKEN }, + { 0, PEEP_ITEM_LEMONADE, PEEP_SPRITE_TYPE_LEMONADE }, + { 0, PEEP_ITEM_CANDYFLOSS, PEEP_SPRITE_TYPE_CANDYFLOSS }, + { 0, PEEP_ITEM_POPCORN, PEEP_SPRITE_TYPE_PIZZA }, + { 0, PEEP_ITEM_HOT_DOG, PEEP_SPRITE_TYPE_HOT_DOG }, + { 0, PEEP_ITEM_TENTACLE, PEEP_SPRITE_TYPE_TENTACLE }, + { 0, PEEP_ITEM_CANDY_APPLE, PEEP_SPRITE_TYPE_TOFFEE_APPLE }, + { 0, PEEP_ITEM_DONUT, PEEP_SPRITE_TYPE_DONUT }, + { 1, PEEP_ITEM_PRETZEL, PEEP_SPRITE_TYPE_PRETZEL }, + { 1, PEEP_ITEM_COOKIE, PEEP_SPRITE_TYPE_PRETZEL }, + { 1, PEEP_ITEM_CHOCOLATE, PEEP_SPRITE_TYPE_COFFEE }, + { 1, PEEP_ITEM_ICED_TEA, PEEP_SPRITE_TYPE_COFFEE }, + { 1, PEEP_ITEM_FUNNEL_CAKE, PEEP_SPRITE_TYPE_FUNNEL_CAKE }, + { 1, PEEP_ITEM_BEEF_NOODLES, PEEP_SPRITE_TYPE_NOODLES }, + { 1, PEEP_ITEM_FRIED_RICE_NOODLES, PEEP_SPRITE_TYPE_NOODLES }, + { 1, PEEP_ITEM_WONTON_SOUP, PEEP_SPRITE_TYPE_SOUP }, + { 1, PEEP_ITEM_MEATBALL_SOUP, PEEP_SPRITE_TYPE_SOUP }, + { 1, PEEP_ITEM_FRUIT_JUICE, PEEP_SPRITE_TYPE_JUICE }, + { 1, PEEP_ITEM_SOYBEAN_MILK, PEEP_SPRITE_TYPE_SU_JONGKWA }, + { 1, PEEP_ITEM_SU_JONGKWA, PEEP_SPRITE_TYPE_SU_JONGKWA }, + { 1, PEEP_ITEM_SUB_SANDWICH, PEEP_SPRITE_TYPE_SANDWICH }, + { 1, PEEP_ITEM_ROAST_SAUSAGE, PEEP_SPRITE_TYPE_SAUSAGE }, + { 0, PEEP_ITEM_BALLOON, PEEP_SPRITE_TYPE_BALLOON }, + { 0, PEEP_ITEM_HAT, PEEP_SPRITE_TYPE_HAT }, + { 1, PEEP_ITEM_SUNGLASSES, PEEP_SPRITE_TYPE_SUNGLASSES }, + { 0xFF, 0xFFFFFFFF, 0xFF} }; /** @@ -1725,89 +1725,89 @@ item_pref_t item_order_preference[] = { */ void peep_update_sprite_type(rct_peep* peep) { - if ( - peep->sprite_type == PEEP_SPRITE_TYPE_BALLOON && - (scenario_rand() & 0xFFFF) <= 327 - ) { - bool isBalloonPopped = false; - if (peep->x != SPRITE_LOCATION_NULL) { - if ((scenario_rand() & 0xFFFF) <= 13107) { - isBalloonPopped = true; - audio_play_sound_at_location(SOUND_BALLOON_POP, peep->x, peep->y, peep->z); - } - create_balloon(peep->x, peep->y, peep->z + 9, peep->balloon_colour, isBalloonPopped); - } - peep->item_standard_flags &= ~PEEP_ITEM_BALLOON; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - } + if ( + peep->sprite_type == PEEP_SPRITE_TYPE_BALLOON && + (scenario_rand() & 0xFFFF) <= 327 + ) { + bool isBalloonPopped = false; + if (peep->x != SPRITE_LOCATION_NULL) { + if ((scenario_rand() & 0xFFFF) <= 13107) { + isBalloonPopped = true; + audio_play_sound_at_location(SOUND_BALLOON_POP, peep->x, peep->y, peep->z); + } + create_balloon(peep->x, peep->y, peep->z + 9, peep->balloon_colour, isBalloonPopped); + } + peep->item_standard_flags &= ~PEEP_ITEM_BALLOON; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + } - if ( - gClimateCurrentRainLevel != 0 && - (peep->item_standard_flags & PEEP_ITEM_UMBRELLA) && - peep->x != SPRITE_LOCATION_NULL - ) { - sint32 x = peep->x & 0xFFE0; - sint32 y = peep->y & 0xFFE0; + if ( + gClimateCurrentRainLevel != 0 && + (peep->item_standard_flags & PEEP_ITEM_UMBRELLA) && + peep->x != SPRITE_LOCATION_NULL + ) { + sint32 x = peep->x & 0xFFE0; + sint32 y = peep->y & 0xFFE0; - if (x < 0x1FFF && y < 0x1FFF) { - rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); - while (1) { - if ((peep->z / 8) < map_element->base_height) break; + if (x < 0x1FFF && y < 0x1FFF) { + rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); + while (1) { + if ((peep->z / 8) < map_element->base_height) break; - if (map_element_is_last_for_tile(map_element)) { - set_sprite_type(peep, PEEP_SPRITE_TYPE_UMBRELLA); - return; - } - map_element++; - } - } - } + if (map_element_is_last_for_tile(map_element)) { + set_sprite_type(peep, PEEP_SPRITE_TYPE_UMBRELLA); + return; + } + map_element++; + } + } + } - for (item_pref_t* item_pref = item_order_preference; item_pref->type != 0xFF; item_pref++) { - if (item_pref->type == 0){ - if (peep->item_standard_flags & item_pref->item) { - set_sprite_type(peep, item_pref->sprite_type); - return; - } - } else { - if (peep->item_extra_flags & item_pref->item) { - set_sprite_type(peep, item_pref->sprite_type); - return; - } - } - } + for (item_pref_t* item_pref = item_order_preference; item_pref->type != 0xFF; item_pref++) { + if (item_pref->type == 0){ + if (peep->item_standard_flags & item_pref->item) { + set_sprite_type(peep, item_pref->sprite_type); + return; + } + } else { + if (peep->item_extra_flags & item_pref->item) { + set_sprite_type(peep, item_pref->sprite_type); + return; + } + } + } - if (peep->state == PEEP_STATE_WATCHING && peep->standing_flags & (1 << 1)) { - set_sprite_type(peep, PEEP_SPRITE_TYPE_WATCHING); - return; - } + if (peep->state == PEEP_STATE_WATCHING && peep->standing_flags & (1 << 1)) { + set_sprite_type(peep, PEEP_SPRITE_TYPE_WATCHING); + return; + } - if (peep->nausea > 170) { - set_sprite_type(peep, PEEP_SPRITE_TYPE_VERY_NAUSEOUS); - return; - } + if (peep->nausea > 170) { + set_sprite_type(peep, PEEP_SPRITE_TYPE_VERY_NAUSEOUS); + return; + } - if (peep->nausea > 140) { - set_sprite_type(peep, PEEP_SPRITE_TYPE_NAUSEOUS); - return; - } + if (peep->nausea > 140) { + set_sprite_type(peep, PEEP_SPRITE_TYPE_NAUSEOUS); + return; + } - if (peep->energy <= 64 && peep->happiness < 128) { - set_sprite_type(peep, PEEP_SPRITE_TYPE_HEAD_DOWN); - return; - } + if (peep->energy <= 64 && peep->happiness < 128) { + set_sprite_type(peep, PEEP_SPRITE_TYPE_HEAD_DOWN); + return; + } - if (peep->energy <= 80 && peep->happiness < 128) { - set_sprite_type(peep, PEEP_SPRITE_TYPE_ARMS_CROSSED); - return; - } + if (peep->energy <= 80 && peep->happiness < 128) { + set_sprite_type(peep, PEEP_SPRITE_TYPE_ARMS_CROSSED); + return; + } - if (peep->bathroom > 220) { - set_sprite_type(peep, PEEP_SPRITE_TYPE_REQUIRE_BATHROOM); - return; - } + if (peep->bathroom > 220) { + set_sprite_type(peep, PEEP_SPRITE_TYPE_REQUIRE_BATHROOM); + return; + } - set_sprite_type(peep, PEEP_SPRITE_TYPE_NORMAL); + set_sprite_type(peep, PEEP_SPRITE_TYPE_NORMAL); } /** @@ -1817,193 +1817,193 @@ void peep_update_sprite_type(rct_peep* peep) */ void peep_window_state_update(rct_peep* peep) { - rct_window* w = window_find_by_number(WC_PEEP, peep->sprite_index); - if (w != NULL) - window_event_invalidate_call(w); + rct_window* w = window_find_by_number(WC_PEEP, peep->sprite_index); + if (w != NULL) + window_event_invalidate_call(w); - if (peep->type == PEEP_TYPE_GUEST) { - if (peep->state == PEEP_STATE_ON_RIDE || peep->state == PEEP_STATE_ENTERING_RIDE) { - rct_ride* ride = get_ride(peep->current_ride); - ride->num_riders++; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; - } + if (peep->type == PEEP_TYPE_GUEST) { + if (peep->state == PEEP_STATE_ON_RIDE || peep->state == PEEP_STATE_ENTERING_RIDE) { + rct_ride* ride = get_ride(peep->current_ride); + ride->num_riders++; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + } - window_invalidate_by_number(WC_PEEP, peep->sprite_index); - window_invalidate_by_class(WC_GUEST_LIST); - } else { - window_invalidate_by_number(WC_PEEP, peep->sprite_index); - window_invalidate_by_class(WC_STAFF_LIST); - } + window_invalidate_by_number(WC_PEEP, peep->sprite_index); + window_invalidate_by_class(WC_GUEST_LIST); + } else { + window_invalidate_by_number(WC_PEEP, peep->sprite_index); + window_invalidate_by_class(WC_STAFF_LIST); + } } void peep_pickup(rct_peep* peep) { - remove_peep_from_ride(peep); - invalidate_sprite_2((rct_sprite*)peep); + remove_peep_from_ride(peep); + invalidate_sprite_2((rct_sprite*)peep); - sprite_move(SPRITE_LOCATION_NULL, peep->y, peep->z, (rct_sprite*)peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_PICKED; - peep->sub_state = 0; - peep_window_state_update(peep); + sprite_move(SPRITE_LOCATION_NULL, peep->y, peep->z, (rct_sprite*)peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_PICKED; + peep->sub_state = 0; + peep_window_state_update(peep); } void peep_pickup_abort(rct_peep* peep, sint32 old_x) { - if (!peep) - return; + if (!peep) + return; - if (peep->state != PEEP_STATE_PICKED) - return; + if (peep->state != PEEP_STATE_PICKED) + return; - sprite_move(old_x, peep->y, peep->z + 8, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); + sprite_move(old_x, peep->y, peep->z + 8, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - if (peep->x != (sint16)SPRITE_LOCATION_NULL){ - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - peep->action = 0xFF; - peep->special_sprite = 0; - peep->action_sprite_image_offset = 0; - peep->action_sprite_type = 0; - peep->var_C4 = 0; - } + if (peep->x != (sint16)SPRITE_LOCATION_NULL){ + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + peep->action = 0xFF; + peep->special_sprite = 0; + peep->action_sprite_image_offset = 0; + peep->action_sprite_type = 0; + peep->var_C4 = 0; + } - gPickupPeepImage = UINT32_MAX; + gPickupPeepImage = UINT32_MAX; } bool peep_pickup_place(rct_peep* peep, sint32 x, sint32 y, sint32 z, bool apply) { - if (!peep) - return false; + if (!peep) + return false; - rct_map_element *mapElement = map_get_path_element_at(x / 32, y / 32, z); + rct_map_element *mapElement = map_get_path_element_at(x / 32, y / 32, z); - if (!mapElement) { - mapElement = map_get_surface_element_at(x / 32, y / 32); - } + if (!mapElement) { + mapElement = map_get_surface_element_at(x / 32, y / 32); + } - if (!mapElement) - return false; + if (!mapElement) + return false; - sint32 dest_x = x & 0xFFE0; - sint32 dest_y = y & 0xFFE0; + sint32 dest_x = x & 0xFFE0; + sint32 dest_y = y & 0xFFE0; - // Set the coordinate of destination to be exactly - // in the middle of a tile. - dest_x += 16; - dest_y += 16; - // Set the tile coordinate to top left of tile - sint32 tile_y = dest_y & 0xFFE0; - sint32 tile_x = dest_x & 0xFFE0; + // Set the coordinate of destination to be exactly + // in the middle of a tile. + dest_x += 16; + dest_y += 16; + // Set the tile coordinate to top left of tile + sint32 tile_y = dest_y & 0xFFE0; + sint32 tile_x = dest_x & 0xFFE0; - sint32 dest_z = mapElement->base_height * 8 + 16; + sint32 dest_z = mapElement->base_height * 8 + 16; - if (!map_is_location_owned(tile_x, tile_y, dest_z)){ - gGameCommandErrorTitle = STR_ERR_CANT_PLACE_PERSON_HERE; - return false; - } + if (!map_is_location_owned(tile_x, tile_y, dest_z)){ + gGameCommandErrorTitle = STR_ERR_CANT_PLACE_PERSON_HERE; + return false; + } - if (!map_can_construct_at(tile_x, tile_y, dest_z / 8, (dest_z / 8) + 1, 15)){ - if (gGameCommandErrorText != STR_RAISE_OR_LOWER_LAND_FIRST) { - if (gGameCommandErrorText != STR_FOOTPATH_IN_THE_WAY) { - gGameCommandErrorTitle = STR_ERR_CANT_PLACE_PERSON_HERE; - return false; - } - } - } + if (!map_can_construct_at(tile_x, tile_y, dest_z / 8, (dest_z / 8) + 1, 15)){ + if (gGameCommandErrorText != STR_RAISE_OR_LOWER_LAND_FIRST) { + if (gGameCommandErrorText != STR_FOOTPATH_IN_THE_WAY) { + gGameCommandErrorTitle = STR_ERR_CANT_PLACE_PERSON_HERE; + return false; + } + } + } - if (apply) { - sprite_move(dest_x, dest_y, dest_z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - peep_decrement_num_riders(peep); - peep->state = 0; - peep_window_state_update(peep); - peep->action = 0xFF; - peep->special_sprite = 0; - peep->action_sprite_image_offset = 0; - peep->action_sprite_type = 0; - peep->var_C4 = 0; - sprite_position_tween_reset(); + if (apply) { + sprite_move(dest_x, dest_y, dest_z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + peep_decrement_num_riders(peep); + peep->state = 0; + peep_window_state_update(peep); + peep->action = 0xFF; + peep->special_sprite = 0; + peep->action_sprite_image_offset = 0; + peep->action_sprite_type = 0; + peep->var_C4 = 0; + sprite_position_tween_reset(); - if (peep->type == PEEP_TYPE_GUEST) { - peep->action_sprite_type = 0xFF; - peep->happiness_growth_rate = max(peep->happiness_growth_rate - 10, 0); - peep_update_current_action_sprite_type(peep); - } + if (peep->type == PEEP_TYPE_GUEST) { + peep->action_sprite_type = 0xFF; + peep->happiness_growth_rate = max(peep->happiness_growth_rate - 10, 0); + peep_update_current_action_sprite_type(peep); + } - network_set_pickup_peep(game_command_playerid, 0); - } + network_set_pickup_peep(game_command_playerid, 0); + } - return true; + return true; } bool peep_pickup_command(uint32 peepnum, sint32 x, sint32 y, sint32 z, sint32 action, bool apply) { - if (peepnum >= MAX_SPRITES) { - log_error("Failed to pick up peep for sprite %d", peepnum); - return false; - } - rct_peep* peep = GET_PEEP(peepnum); - if (!peep || peep->sprite_identifier != SPRITE_IDENTIFIER_PEEP) { - return false; - } - switch (action) { - case 0: // pickup - if (!peep_can_be_picked_up(peep)) { - return false; - } - rct_peep* existing = network_get_pickup_peep(game_command_playerid); - if (existing) { - // already picking up a peep - bool result = peep_pickup_command(existing->sprite_index, network_get_pickup_peep_old_x(game_command_playerid), 0, 0, 1, apply); - if (existing == peep) { - return result; - } - if (game_command_playerid == network_get_current_player_id()) { - // prevent tool_cancel() - input_set_flag(INPUT_FLAG_TOOL_ACTIVE, false); - } - } - if (apply) { - network_set_pickup_peep(game_command_playerid, peep); - network_set_pickup_peep_old_x(game_command_playerid, peep->x); - peep_pickup(peep); - } - break; - case 1: // cancel - if (apply) { - peep_pickup_abort(network_get_pickup_peep(game_command_playerid), x); - network_set_pickup_peep(game_command_playerid, 0); - } - break; - case 2: // place - if (network_get_pickup_peep(game_command_playerid) != peep) { - return false; - } - if (!peep_pickup_place(peep, x, y, z, apply)) { - return false; - } - break; - } - return true; + if (peepnum >= MAX_SPRITES) { + log_error("Failed to pick up peep for sprite %d", peepnum); + return false; + } + rct_peep* peep = GET_PEEP(peepnum); + if (!peep || peep->sprite_identifier != SPRITE_IDENTIFIER_PEEP) { + return false; + } + switch (action) { + case 0: // pickup + if (!peep_can_be_picked_up(peep)) { + return false; + } + rct_peep* existing = network_get_pickup_peep(game_command_playerid); + if (existing) { + // already picking up a peep + bool result = peep_pickup_command(existing->sprite_index, network_get_pickup_peep_old_x(game_command_playerid), 0, 0, 1, apply); + if (existing == peep) { + return result; + } + if (game_command_playerid == network_get_current_player_id()) { + // prevent tool_cancel() + input_set_flag(INPUT_FLAG_TOOL_ACTIVE, false); + } + } + if (apply) { + network_set_pickup_peep(game_command_playerid, peep); + network_set_pickup_peep_old_x(game_command_playerid, peep->x); + peep_pickup(peep); + } + break; + case 1: // cancel + if (apply) { + peep_pickup_abort(network_get_pickup_peep(game_command_playerid), x); + network_set_pickup_peep(game_command_playerid, 0); + } + break; + case 2: // place + if (network_get_pickup_peep(game_command_playerid) != peep) { + return false; + } + if (!peep_pickup_place(peep, x, y, z, apply)) { + return false; + } + break; + } + return true; } void game_command_pickup_guest(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - sint32 peepnum = *eax; - sint32 x = *edi; - sint32 y = *ebp; - sint32 z = *edx; - sint32 action = *ecx; - if (peep_pickup_command(peepnum, x, y, z, action, *ebx & GAME_COMMAND_FLAG_APPLY)) { - *ebx = 0; - } - else - { - *ebx = MONEY32_UNDEFINED; - } + sint32 peepnum = *eax; + sint32 x = *edi; + sint32 y = *ebp; + sint32 z = *edx; + sint32 action = *ecx; + if (peep_pickup_command(peepnum, x, y, z, action, *ebx & GAME_COMMAND_FLAG_APPLY)) { + *ebx = 0; + } + else + { + *ebx = MONEY32_UNDEFINED; + } } /** @@ -2011,45 +2011,45 @@ void game_command_pickup_guest(sint32* eax, sint32* ebx, sint32* ecx, sint32* ed * rct2: 0x0069A535 */ void peep_sprite_remove(rct_peep* peep){ - remove_peep_from_ride(peep); - invalidate_sprite_2((rct_sprite*)peep); + remove_peep_from_ride(peep); + invalidate_sprite_2((rct_sprite*)peep); - window_close_by_number(WC_PEEP, peep->sprite_index); + window_close_by_number(WC_PEEP, peep->sprite_index); - window_close_by_number(WC_FIRE_PROMPT, peep->sprite_identifier); + window_close_by_number(WC_FIRE_PROMPT, peep->sprite_identifier); - if (peep->type == PEEP_TYPE_GUEST){ - window_invalidate_by_class(WC_GUEST_LIST); + if (peep->type == PEEP_TYPE_GUEST){ + window_invalidate_by_class(WC_GUEST_LIST); - news_item_disable_news(NEWS_ITEM_PEEP_ON_RIDE, peep->sprite_index); - } - else{ - window_invalidate_by_class(WC_STAFF_LIST); + news_item_disable_news(NEWS_ITEM_PEEP_ON_RIDE, peep->sprite_index); + } + else{ + window_invalidate_by_class(WC_STAFF_LIST); - gStaffModes[peep->staff_id] = 0; - peep->type = 0xFF; - staff_update_greyed_patrol_areas(); - peep->type = PEEP_TYPE_STAFF; + gStaffModes[peep->staff_id] = 0; + peep->type = 0xFF; + staff_update_greyed_patrol_areas(); + peep->type = PEEP_TYPE_STAFF; - news_item_disable_news(NEWS_ITEM_PEEP, peep->sprite_index); - } - sprite_remove((rct_sprite*)peep); + news_item_disable_news(NEWS_ITEM_PEEP, peep->sprite_index); + } + sprite_remove((rct_sprite*)peep); } /** * New function removes peep from park existence. Works with staff. */ void peep_remove(rct_peep* peep){ - if (peep->type == PEEP_TYPE_GUEST){ - if (peep->outside_of_park == 0){ - decrement_guests_in_park(); - gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PEEP_COUNT; - } - if (peep->state == PEEP_STATE_ENTERING_PARK){ - decrement_guests_heading_for_park(); - } - } - peep_sprite_remove(peep); + if (peep->type == PEEP_TYPE_GUEST){ + if (peep->outside_of_park == 0){ + decrement_guests_in_park(); + gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PEEP_COUNT; + } + if (peep->state == PEEP_STATE_ENTERING_PARK){ + decrement_guests_heading_for_park(); + } + } + peep_sprite_remove(peep); } /** @@ -2057,112 +2057,112 @@ void peep_remove(rct_peep* peep){ * rct2: 0x690028 */ static void peep_update_falling(rct_peep* peep){ - if (peep->action == PEEP_ACTION_DROWNING){ - // Check to see if we are ready to drown. - sint16 x, y, xy_distance; + if (peep->action == PEEP_ACTION_DROWNING){ + // Check to see if we are ready to drown. + sint16 x, y, xy_distance; - peep_update_action(&x, &y, &xy_distance, peep); - if (peep->action == PEEP_ACTION_DROWNING) return; + peep_update_action(&x, &y, &xy_distance, peep); + if (peep->action == PEEP_ACTION_DROWNING) return; - if (gConfigNotifications.guest_died) { - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); - news_item_add_to_queue(NEWS_ITEM_BLANK, STR_NEWS_ITEM_GUEST_DROWNED, peep->x | (peep->y << 16)); - } + if (gConfigNotifications.guest_died) { + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); + news_item_add_to_queue(NEWS_ITEM_BLANK, STR_NEWS_ITEM_GUEST_DROWNED, peep->x | (peep->y << 16)); + } - gParkRatingCasualtyPenalty = min(gParkRatingCasualtyPenalty + 25, 1000); - peep_remove(peep); - return; - } + gParkRatingCasualtyPenalty = min(gParkRatingCasualtyPenalty + 25, 1000); + peep_remove(peep); + return; + } - // If not drowning then falling. Note: peeps 'fall' after leaving a ride/enter the park. - rct_map_element *map_element = map_get_first_element_at(peep->x / 32, peep->y / 32); - rct_map_element *saved_map = NULL; - sint32 saved_height = 0; + // If not drowning then falling. Note: peeps 'fall' after leaving a ride/enter the park. + rct_map_element *map_element = map_get_first_element_at(peep->x / 32, peep->y / 32); + rct_map_element *saved_map = NULL; + sint32 saved_height = 0; - if (map_element != NULL) { - do { - // If a path check if we are on it - if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH) { - sint32 height = map_height_from_slope(peep->x, peep->y, map_element->properties.surface.slope) - + map_element->base_height * 8; + if (map_element != NULL) { + do { + // If a path check if we are on it + if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH) { + sint32 height = map_height_from_slope(peep->x, peep->y, map_element->properties.surface.slope) + + map_element->base_height * 8; - if (height < peep->z - 1 || height > peep->z + 4) continue; + if (height < peep->z - 1 || height > peep->z + 4) continue; - saved_height = height; - saved_map = map_element; - break; - } // If a surface get the height and see if we are on it - else if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_SURFACE) { - // If the surface is water check to see if we could be drowning - if (map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) { - sint32 height = (map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) * 16; + saved_height = height; + saved_map = map_element; + break; + } // If a surface get the height and see if we are on it + else if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_SURFACE) { + // If the surface is water check to see if we could be drowning + if (map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) { + sint32 height = (map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) * 16; - if (height - 4 >= peep->z && height < peep->z + 20) { - // Looks like we are drowning! - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(peep->x, peep->y, height, (rct_sprite*)peep); - // Drop balloon if held - if (peep->item_standard_flags & PEEP_ITEM_BALLOON) { - peep->item_standard_flags &= ~PEEP_ITEM_BALLOON; + if (height - 4 >= peep->z && height < peep->z + 20) { + // Looks like we are drowning! + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(peep->x, peep->y, height, (rct_sprite*)peep); + // Drop balloon if held + if (peep->item_standard_flags & PEEP_ITEM_BALLOON) { + peep->item_standard_flags &= ~PEEP_ITEM_BALLOON; - if (peep->sprite_type == PEEP_SPRITE_TYPE_BALLOON && peep->x != MAP_LOCATION_NULL) { - create_balloon(peep->x, peep->y, height, peep->balloon_colour, false); - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - peep_update_sprite_type(peep); - } - } + if (peep->sprite_type == PEEP_SPRITE_TYPE_BALLOON && peep->x != MAP_LOCATION_NULL) { + create_balloon(peep->x, peep->y, height, peep->balloon_colour, false); + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + peep_update_sprite_type(peep); + } + } - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_DROWNING, -1); + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_DROWNING, -1); - peep->action = PEEP_ACTION_DROWNING; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; + peep->action = PEEP_ACTION_DROWNING; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - peep_window_state_update(peep); - return; - } - } - sint32 map_height = map_element_height(0xFFFF & peep->x, 0xFFFF & peep->y) & 0xFFFF; - if (map_height < peep->z || map_height - 4 > peep->z) continue; - saved_height = map_height; - saved_map = map_element; - } // If not a path or surface go see next element - else continue; - } while (!map_element_is_last_for_tile(map_element++)); - } + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + peep_window_state_update(peep); + return; + } + } + sint32 map_height = map_element_height(0xFFFF & peep->x, 0xFFFF & peep->y) & 0xFFFF; + if (map_height < peep->z || map_height - 4 > peep->z) continue; + saved_height = map_height; + saved_map = map_element; + } // If not a path or surface go see next element + else continue; + } while (!map_element_is_last_for_tile(map_element++)); + } - // This will be null if peep is falling - if (saved_map == NULL){ - invalidate_sprite_2((rct_sprite*)peep); - if (peep->z <= 1){ - // Remove peep if it has gone to the void - peep_remove(peep); - return; - } - sprite_move(peep->x, peep->y, peep->z - 2, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + // This will be null if peep is falling + if (saved_map == NULL){ + invalidate_sprite_2((rct_sprite*)peep); + if (peep->z <= 1){ + // Remove peep if it has gone to the void + peep_remove(peep); + return; + } + sprite_move(peep->x, peep->y, peep->z - 2, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(peep->x, peep->y, saved_height, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(peep->x, peep->y, saved_height, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - peep->next_x = peep->x & 0xFFE0; - peep->next_y = peep->y & 0xFFE0; - peep->next_z = saved_map->base_height; + peep->next_x = peep->x & 0xFFE0; + peep->next_y = peep->y & 0xFFE0; + peep->next_z = saved_map->base_height; - sint32 edx = saved_map->properties.surface.slope & 0x7; - if (map_element_get_type(saved_map) != MAP_ELEMENT_TYPE_PATH){ - edx = 8; - } - peep->next_var_29 = edx; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_1; - peep_window_state_update(peep); + sint32 edx = saved_map->properties.surface.slope & 0x7; + if (map_element_get_type(saved_map) != MAP_ELEMENT_TYPE_PATH){ + edx = 8; + } + peep->next_var_29 = edx; + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_1; + peep_window_state_update(peep); } /** @@ -2170,33 +2170,33 @@ static void peep_update_falling(rct_peep* peep){ * rct2: 0x00691677 */ static void peep_try_get_up_from_sitting(rct_peep* peep){ - // Eats all food first - if (peep_has_food(peep))return; + // Eats all food first + if (peep_has_food(peep))return; - peep->time_to_sitdown--; - if (peep->time_to_sitdown) return; + peep->time_to_sitdown--; + if (peep->time_to_sitdown) return; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_WALKING; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_WALKING; + peep_window_state_update(peep); - // Set destination to the center of the tile. - peep->destination_x = (peep->x & 0xFFE0) + 16; - peep->destination_y = (peep->y & 0xFFE0) + 16; - peep->destination_tolerence = 5; - peep_update_current_action_sprite_type(peep); + // Set destination to the center of the tile. + peep->destination_x = (peep->x & 0xFFE0) + 16; + peep->destination_y = (peep->y & 0xFFE0) + 16; + peep->destination_tolerence = 5; + peep_update_current_action_sprite_type(peep); } /** rct2: 0x00981F2C, 0x00981F2E */ static const rct_xy16 _981F2C[] = { - { 7, 12 }, - { 12, 25 }, - { 25, 20 }, - { 20, 7 }, - { 7, 20 }, - { 20, 25 }, - { 25, 12 }, - { 12, 7 }, + { 7, 12 }, + { 12, 25 }, + { 25, 20 }, + { 20, 7 }, + { 7, 20 }, + { 20, 25 }, + { 25, 12 }, + { 12, 7 }, }; /** @@ -2204,98 +2204,98 @@ static const rct_xy16 _981F2C[] = { * rct2: 0x0069152B */ static void peep_update_sitting(rct_peep* peep){ - if (peep->sub_state == 0){ - if (!checkForPath(peep))return; - //691541 + if (peep->sub_state == 0){ + if (!checkForPath(peep))return; + //691541 - peep_perform_next_action(peep); - if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; + peep_perform_next_action(peep); + if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; - sint32 ebx = peep->var_37 & 0x7; - sint32 x = (peep->x & 0xFFE0) + _981F2C[ebx].x; - sint32 y = (peep->y & 0xFFE0) + _981F2C[ebx].y; - sint32 z = peep->z; + sint32 ebx = peep->var_37 & 0x7; + sint32 x = (peep->x & 0xFFE0) + _981F2C[ebx].x; + sint32 y = (peep->y & 0xFFE0) + _981F2C[ebx].y; + sint32 z = peep->z; - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, z, (rct_sprite*)peep); - peep->sprite_direction = ((peep->var_37 + 2) & 3) * 8; - invalidate_sprite_2((rct_sprite*)peep); - peep->action = 254; - peep->next_action_sprite_type = 7; - peep_switch_to_next_action_sprite_type(peep); + peep->sprite_direction = ((peep->var_37 + 2) & 3) * 8; + invalidate_sprite_2((rct_sprite*)peep); + peep->action = 254; + peep->next_action_sprite_type = 7; + peep_switch_to_next_action_sprite_type(peep); - peep->sub_state++; + peep->sub_state++; - // Sets time to sit on seat - peep->time_to_sitdown = (129 - peep->energy) * 16 + 50; - } - else if (peep->sub_state == 1){ - if (peep->action < 0xFE){ - sint16 x, y, xy_distance; - peep_update_action(&x, &y, &xy_distance, peep); - if (peep->action != 0xFF) return; + // Sets time to sit on seat + peep->time_to_sitdown = (129 - peep->energy) * 16 + 50; + } + else if (peep->sub_state == 1){ + if (peep->action < 0xFE){ + sint16 x, y, xy_distance; + peep_update_action(&x, &y, &xy_distance, peep); + if (peep->action != 0xFF) return; - peep->action = 0xFE; - peep_try_get_up_from_sitting(peep); - return; - } + peep->action = 0xFE; + peep_try_get_up_from_sitting(peep); + return; + } - if ((peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)){ - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_WALKING; - peep_window_state_update(peep); + if ((peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)){ + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_WALKING; + peep_window_state_update(peep); - // Set destination to the center of the tile - peep->destination_x = (peep->x & 0xFFE0) + 16; - peep->destination_y = (peep->y & 0xFFE0) + 16; - peep->destination_tolerence = 5; - peep_update_current_action_sprite_type(peep); - return; - } + // Set destination to the center of the tile + peep->destination_x = (peep->x & 0xFFE0) + 16; + peep->destination_y = (peep->y & 0xFFE0) + 16; + peep->destination_tolerence = 5; + peep_update_current_action_sprite_type(peep); + return; + } - if (peep->sprite_type == PEEP_SPRITE_TYPE_UMBRELLA) { - peep_try_get_up_from_sitting(peep); - return; - } + if (peep->sprite_type == PEEP_SPRITE_TYPE_UMBRELLA) { + peep_try_get_up_from_sitting(peep); + return; + } - if (peep_has_food(peep)){ - if ((scenario_rand() & 0xFFFF) > 1310){ - peep_try_get_up_from_sitting(peep); - return; - } - peep->action = PEEP_ACTION_SITTING_EAT_FOOD; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + if (peep_has_food(peep)){ + if ((scenario_rand() & 0xFFFF) > 1310){ + peep_try_get_up_from_sitting(peep); + return; + } + peep->action = PEEP_ACTION_SITTING_EAT_FOOD; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - sint32 rand = scenario_rand(); - if ((rand & 0xFFFF) > 131){ - peep_try_get_up_from_sitting(peep); - return; - } - if (peep->sprite_type == PEEP_SPRITE_TYPE_BALLOON || peep->sprite_type == PEEP_SPRITE_TYPE_HAT) { - peep_try_get_up_from_sitting(peep); - return; - } + sint32 rand = scenario_rand(); + if ((rand & 0xFFFF) > 131){ + peep_try_get_up_from_sitting(peep); + return; + } + if (peep->sprite_type == PEEP_SPRITE_TYPE_BALLOON || peep->sprite_type == PEEP_SPRITE_TYPE_HAT) { + peep_try_get_up_from_sitting(peep); + return; + } - peep->action = PEEP_ACTION_SITTING_LOOK_AROUND_LEFT; - if (rand & 0x80000000){ - peep->action = PEEP_ACTION_SITTING_LOOK_AROUND_RIGHT; - } + peep->action = PEEP_ACTION_SITTING_LOOK_AROUND_LEFT; + if (rand & 0x80000000){ + peep->action = PEEP_ACTION_SITTING_LOOK_AROUND_RIGHT; + } - if (rand & 0x40000000){ - peep->action = PEEP_ACTION_SITTING_CHECK_WATCH; - } - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + if (rand & 0x40000000){ + peep->action = PEEP_ACTION_SITTING_CHECK_WATCH; + } + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } } /** @@ -2304,25 +2304,25 @@ static void peep_update_sitting(rct_peep* peep){ */ void remove_peep_from_queue(rct_peep* peep) { - rct_ride* ride = get_ride(peep->current_ride); + rct_ride* ride = get_ride(peep->current_ride); - uint8 cur_station = peep->current_ride_station; - ride->queue_length[cur_station]--; - if (peep->sprite_index == ride->last_peep_in_queue[cur_station]) - { - ride->last_peep_in_queue[cur_station] = peep->next_in_queue; - return; - } + uint8 cur_station = peep->current_ride_station; + ride->queue_length[cur_station]--; + if (peep->sprite_index == ride->last_peep_in_queue[cur_station]) + { + ride->last_peep_in_queue[cur_station] = peep->next_in_queue; + return; + } - uint16 spriteId = ride->last_peep_in_queue[cur_station]; - while (spriteId != SPRITE_INDEX_NULL) { - rct_peep* other_peep = GET_PEEP(spriteId); - if (peep->sprite_index == other_peep->next_in_queue){ - other_peep->next_in_queue = peep->next_in_queue; - return; - } - spriteId = other_peep->next_in_queue; - } + uint16 spriteId = ride->last_peep_in_queue[cur_station]; + while (spriteId != SPRITE_INDEX_NULL) { + rct_peep* other_peep = GET_PEEP(spriteId); + if (peep->sprite_index == other_peep->next_in_queue){ + other_peep->next_in_queue = peep->next_in_queue; + return; + } + spriteId = other_peep->next_in_queue; + } } /** @@ -2330,24 +2330,24 @@ void remove_peep_from_queue(rct_peep* peep) * rct2: 0x00691C6E */ static rct_vehicle* peep_choose_car_from_ride(rct_peep* peep, rct_ride* ride, uint8* car_array, uint8 car_array_size){ - uint8 chosen_car = scenario_rand(); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_G_FORCES) - && ((chosen_car & 0xC) != 0xC)){ - chosen_car = (scenario_rand() & 1) ? 0 : car_array_size - 1; - } - else{ - chosen_car = (chosen_car * (uint16)car_array_size) >> 8; - } + uint8 chosen_car = scenario_rand(); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_G_FORCES) + && ((chosen_car & 0xC) != 0xC)){ + chosen_car = (scenario_rand() & 1) ? 0 : car_array_size - 1; + } + else{ + chosen_car = (chosen_car * (uint16)car_array_size) >> 8; + } - peep->current_car = car_array[chosen_car]; + peep->current_car = car_array[chosen_car]; - rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); + rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); - for (sint32 i = peep->current_car; i > 0; --i){ - vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); - } + for (sint32 i = peep->current_car; i > 0; --i){ + vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); + } - return vehicle; + return vehicle; } /** @@ -2355,21 +2355,21 @@ static rct_vehicle* peep_choose_car_from_ride(rct_peep* peep, rct_ride* ride, ui * rct2: 0x00691CD1 */ static void peep_choose_seat_from_car(rct_peep* peep, rct_ride* ride, rct_vehicle* vehicle){ - uint8 chosen_seat = vehicle->next_free_seat; + uint8 chosen_seat = vehicle->next_free_seat; - if (ride->mode == RIDE_MODE_FORWARD_ROTATION || - ride->mode == RIDE_MODE_BACKWARD_ROTATION){ + if (ride->mode == RIDE_MODE_FORWARD_ROTATION || + ride->mode == RIDE_MODE_BACKWARD_ROTATION){ - chosen_seat = (((~vehicle->vehicle_sprite_type + 1) >> 3) & 0xF) * 2; - if (vehicle->next_free_seat & 1){ - chosen_seat++; - } - } - peep->current_seat = chosen_seat; - vehicle->next_free_seat++; + chosen_seat = (((~vehicle->vehicle_sprite_type + 1) >> 3) & 0xF) * 2; + if (vehicle->next_free_seat & 1){ + chosen_seat++; + } + } + peep->current_seat = chosen_seat; + vehicle->next_free_seat++; - vehicle->peep[peep->current_seat] = peep->sprite_index; - vehicle->peep_tshirt_colours[peep->current_seat] = peep->tshirt_colour; + vehicle->peep[peep->current_seat] = peep->sprite_index; + vehicle->peep_tshirt_colours[peep->current_seat] = peep->tshirt_colour; } /** @@ -2377,50 +2377,50 @@ static void peep_choose_seat_from_car(rct_peep* peep, rct_ride* ride, rct_vehicl * rct2: 0x00691D27 */ static void peep_go_to_ride_entrance(rct_peep* peep, rct_ride* ride){ - sint32 x = ride->entrances[peep->current_ride_station] & 0xFF; - sint32 y = ride->entrances[peep->current_ride_station] >> 8; - sint32 z = ride->station_heights[peep->current_ride_station]; + sint32 x = ride->entrances[peep->current_ride_station] & 0xFF; + sint32 y = ride->entrances[peep->current_ride_station] >> 8; + sint32 z = ride->station_heights[peep->current_ride_station]; - rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); + rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); - uint8 direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + uint8 direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - x *= 32; - y *= 32; - x += 16; - y += 16; + x *= 32; + y *= 32; + x += 16; + y += 16; - sint16 x_shift = word_981D6C[direction].x; - sint16 y_shift = word_981D6C[direction].y; + sint16 x_shift = word_981D6C[direction].x; + sint16 y_shift = word_981D6C[direction].y; - uint8 shift_multiplier = 21; - rct_ride_entry* ride_type = get_ride_entry(ride->subtype); - if (ride_type != NULL) { - if (ride_type->vehicles[ride_type->default_vehicle].flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF || - ride_type->vehicles[ride_type->default_vehicle].flags_b & (VEHICLE_ENTRY_FLAG_B_12 | VEHICLE_ENTRY_FLAG_B_14)){ - shift_multiplier = 32; - } - } + uint8 shift_multiplier = 21; + rct_ride_entry* ride_type = get_ride_entry(ride->subtype); + if (ride_type != NULL) { + if (ride_type->vehicles[ride_type->default_vehicle].flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF || + ride_type->vehicles[ride_type->default_vehicle].flags_b & (VEHICLE_ENTRY_FLAG_B_12 | VEHICLE_ENTRY_FLAG_B_14)){ + shift_multiplier = 32; + } + } - x_shift *= shift_multiplier; - y_shift *= shift_multiplier; + x_shift *= shift_multiplier; + y_shift *= shift_multiplier; - x += x_shift; - y += y_shift; + x += x_shift; + y += y_shift; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 2; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 2; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_ENTERING_RIDE; - peep->sub_state = 1; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_ENTERING_RIDE; + peep->sub_state = 1; + peep_window_state_update(peep); - peep->var_AC = 0; - peep->time_on_ride = 0; + peep->var_AC = 0; + peep->time_on_ride = 0; - remove_peep_from_queue(peep); + remove_peep_from_queue(peep); } /** @@ -2428,173 +2428,173 @@ static void peep_go_to_ride_entrance(rct_peep* peep, rct_ride* ride){ * rct2: 0x00691A3B */ static void peep_update_ride_sub_state_0(rct_peep* peep){ - rct_ride* ride = get_ride(peep->current_ride); + rct_ride* ride = get_ride(peep->current_ride); - if (peep->destination_tolerence != 0){ - invalidate_sprite_2((rct_sprite*)peep); + if (peep->destination_tolerence != 0){ + invalidate_sprite_2((rct_sprite*)peep); - sint16 x, y, xy_distance; + sint16 x, y, xy_distance; - if (peep_update_action(&x, &y, &xy_distance, peep)){ - sint16 z = peep->z; - if (xy_distance < 16){ - z = ride->station_heights[peep->current_ride_station] * 8 + 2; - } - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - } - else{ - peep->destination_tolerence = 0; - peep->sprite_direction ^= (1 << 4); - } - } + if (peep_update_action(&x, &y, &xy_distance, peep)){ + sint16 z = peep->z; + if (xy_distance < 16){ + z = ride->station_heights[peep->current_ride_station] * 8 + 2; + } + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + } + else{ + peep->destination_tolerence = 0; + peep->sprite_direction ^= (1 << 4); + } + } - uint8 car_array_size = 0xFF; - uint8 car_array[255]; + uint8 car_array_size = 0xFF; + uint8 car_array[255]; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)){ - if (ride->num_riders >= ride->operation_option) - return; - } - else{ - uint8 chosen_train = 0xFF; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)){ + if (ride->num_riders >= ride->operation_option) + return; + } + else{ + uint8 chosen_train = 0xFF; - if (ride->mode == RIDE_MODE_BUMPERCAR || ride->mode == RIDE_MODE_RACE){ - if (ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) - return; + if (ride->mode == RIDE_MODE_BUMPERCAR || ride->mode == RIDE_MODE_RACE){ + if (ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) + return; - for (sint32 i = 0; i < ride->num_vehicles; ++i){ - rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[i]); + for (sint32 i = 0; i < ride->num_vehicles; ++i){ + rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[i]); - if (vehicle->next_free_seat >= vehicle->num_seats) - continue; + if (vehicle->next_free_seat >= vehicle->num_seats) + continue; - if (vehicle->status != VEHICLE_STATUS_WAITING_FOR_PASSENGERS) - continue; - chosen_train = i; - break; - } - } - else{ - chosen_train = ride->train_at_station[peep->current_ride_station]; - } - if (chosen_train == 0xFF){ - return; - } + if (vehicle->status != VEHICLE_STATUS_WAITING_FOR_PASSENGERS) + continue; + chosen_train = i; + break; + } + } + else{ + chosen_train = ride->train_at_station[peep->current_ride_station]; + } + if (chosen_train == 0xFF){ + return; + } - peep->current_train = chosen_train; - uint8* car_array_pointer = car_array; + peep->current_train = chosen_train; + uint8* car_array_pointer = car_array; - sint32 i = 0; + sint32 i = 0; - uint16 vehicle_id = ride->vehicles[chosen_train]; - rct_vehicle* vehicle = GET_VEHICLE(vehicle_id); + uint16 vehicle_id = ride->vehicles[chosen_train]; + rct_vehicle* vehicle = GET_VEHICLE(vehicle_id); - for (; vehicle_id != SPRITE_INDEX_NULL; - vehicle_id = vehicle->next_vehicle_on_train, - i++){ - vehicle = GET_VEHICLE(vehicle_id); + for (; vehicle_id != SPRITE_INDEX_NULL; + vehicle_id = vehicle->next_vehicle_on_train, + i++){ + vehicle = GET_VEHICLE(vehicle_id); - uint8 num_seats = vehicle->num_seats; - if (vehicle_is_used_in_pairs(vehicle)){ - num_seats &= VEHICLE_SEAT_NUM_MASK; - if (vehicle->next_free_seat & 1){ - peep->current_car = i; - peep_choose_seat_from_car(peep, ride, vehicle); - peep_go_to_ride_entrance(peep, ride); - return; - } - } - if (num_seats == vehicle->next_free_seat) - continue; + uint8 num_seats = vehicle->num_seats; + if (vehicle_is_used_in_pairs(vehicle)){ + num_seats &= VEHICLE_SEAT_NUM_MASK; + if (vehicle->next_free_seat & 1){ + peep->current_car = i; + peep_choose_seat_from_car(peep, ride, vehicle); + peep_go_to_ride_entrance(peep, ride); + return; + } + } + if (num_seats == vehicle->next_free_seat) + continue; - if (ride->mode == RIDE_MODE_FORWARD_ROTATION || - ride->mode == RIDE_MODE_BACKWARD_ROTATION) - { - uint8 position = (((~vehicle->vehicle_sprite_type + 1) >> 3) & 0xF) * 2; - if (vehicle->peep[position] != SPRITE_INDEX_NULL) - continue; - } + if (ride->mode == RIDE_MODE_FORWARD_ROTATION || + ride->mode == RIDE_MODE_BACKWARD_ROTATION) + { + uint8 position = (((~vehicle->vehicle_sprite_type + 1) >> 3) & 0xF) * 2; + if (vehicle->peep[position] != SPRITE_INDEX_NULL) + continue; + } - *car_array_pointer++ = i; - } + *car_array_pointer++ = i; + } - car_array_size = (uint8)(car_array_pointer - car_array); + car_array_size = (uint8)(car_array_pointer - car_array); - if (car_array_size == 0)return; - } + if (car_array_size == 0)return; + } - if (ride->status != RIDE_STATUS_OPEN || - ride->vehicle_change_timeout != 0){ - if (peep->destination_tolerence == 0){ - remove_peep_from_queue(peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - } - return; - } + if (ride->status != RIDE_STATUS_OPEN || + ride->vehicle_change_timeout != 0){ + if (peep->destination_tolerence == 0){ + remove_peep_from_queue(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + } + return; + } - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) - return; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) + return; - money16 ridePrice = ride_get_price(ride); - if (ridePrice != 0) { - if (!(peep->item_standard_flags & PEEP_ITEM_VOUCHER) || - !(peep->voucher_type == VOUCHER_TYPE_RIDE_FREE) || - !(peep->voucher_arguments == peep->current_ride)){ + money16 ridePrice = ride_get_price(ride); + if (ridePrice != 0) { + if (!(peep->item_standard_flags & PEEP_ITEM_VOUCHER) || + !(peep->voucher_type == VOUCHER_TYPE_RIDE_FREE) || + !(peep->voucher_arguments == peep->current_ride)){ - if (peep->cash_in_pocket <= 0){ - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_SPENT_MONEY, 0xFF); - if (peep->destination_tolerence == 0){ - remove_peep_from_queue(peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - } - return; - } + if (peep->cash_in_pocket <= 0){ + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_SPENT_MONEY, 0xFF); + if (peep->destination_tolerence == 0){ + remove_peep_from_queue(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + } + return; + } - if (ridePrice > peep->cash_in_pocket){ - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CANT_AFFORD_0, peep->current_ride); - if (peep->destination_tolerence == 0){ - remove_peep_from_queue(peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - } - return; - } + if (ridePrice > peep->cash_in_pocket){ + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CANT_AFFORD_0, peep->current_ride); + if (peep->destination_tolerence == 0){ + remove_peep_from_queue(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + } + return; + } - uint16 value = ride->value; - if (value != RIDE_VALUE_UNDEFINED){ - if (value * 2 < ridePrice) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_BAD_VALUE, peep->current_ride); - if (peep->destination_tolerence == 0){ - remove_peep_from_queue(peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - } - return; - } - } - } - } + uint16 value = ride->value; + if (value != RIDE_VALUE_UNDEFINED){ + if (value * 2 < ridePrice) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_BAD_VALUE, peep->current_ride); + if (peep->destination_tolerence == 0){ + remove_peep_from_queue(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + } + return; + } + } + } + } - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)){ - rct_vehicle* vehicle = peep_choose_car_from_ride(peep, ride, car_array, car_array_size); - peep_choose_seat_from_car(peep, ride, vehicle); - } - peep_go_to_ride_entrance(peep, ride); + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)){ + rct_vehicle* vehicle = peep_choose_car_from_ride(peep, ride, car_array, car_array_size); + peep_choose_seat_from_car(peep, ride, vehicle); + } + peep_go_to_ride_entrance(peep, ride); } /** rct2: 0x00981FD4, 0x00981FD6 */ static const rct_xy16 _981FD4[] = { - { 8, 8 }, - { 8, 24 }, - { 24, 24 }, - { 24, 8 }, + { 8, 8 }, + { 8, 24 }, + { 24, 24 }, + { 24, 8 }, }; /** @@ -2602,201 +2602,201 @@ static const rct_xy16 _981FD4[] = { * rct2: 0x006921D3 */ static void peep_update_ride_sub_state_1(rct_peep* peep){ - sint16 x, y, z, xy_distance; + sint16 x, y, z, xy_distance; - rct_ride* ride = get_ride(peep->current_ride); - rct_ride_entry* ride_entry = get_ride_entry(ride->subtype); + rct_ride* ride = get_ride(peep->current_ride); + rct_ride_entry* ride_entry = get_ride_entry(ride->subtype); - if (peep_update_action(&x, &y, &xy_distance, peep)) - { - uint16 distanceThreshold = 16; - if (ride_entry != NULL) { - uint8 vehicle = ride_entry->default_vehicle; - if (ride_entry->vehicles[vehicle].flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF || - ride_entry->vehicles[vehicle].flags_b & (VEHICLE_ENTRY_FLAG_B_12 | VEHICLE_ENTRY_FLAG_B_14)) { - distanceThreshold = 28; - } - } + if (peep_update_action(&x, &y, &xy_distance, peep)) + { + uint16 distanceThreshold = 16; + if (ride_entry != NULL) { + uint8 vehicle = ride_entry->default_vehicle; + if (ride_entry->vehicles[vehicle].flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF || + ride_entry->vehicles[vehicle].flags_b & (VEHICLE_ENTRY_FLAG_B_12 | VEHICLE_ENTRY_FLAG_B_14)) { + distanceThreshold = 28; + } + } - if (peep->sub_state == 1 && xy_distance < distanceThreshold) { - peep->sub_state = 2; - } + if (peep->sub_state == 1 && xy_distance < distanceThreshold) { + peep->sub_state = 2; + } - invalidate_sprite_2((rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - z = ride->station_heights[peep->current_ride_station] * 8; + z = ride->station_heights[peep->current_ride_station] * 8; - distanceThreshold += 4; - if (xy_distance < distanceThreshold) { - z += RideData5[ride->type].z; - } + distanceThreshold += 4; + if (xy_distance < distanceThreshold) { + z += RideData5[ride->type].z; + } - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)) - { - x = ride->entrances[peep->current_ride_station] & 0xFF; - y = ride->entrances[peep->current_ride_station] >> 8; - z = ride->station_heights[peep->current_ride_station]; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)) + { + x = ride->entrances[peep->current_ride_station] & 0xFF; + y = ride->entrances[peep->current_ride_station] >> 8; + z = ride->station_heights[peep->current_ride_station]; - rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); + rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); - uint8 direction_entrance = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + uint8 direction_entrance = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - if (ride->type == RIDE_TYPE_MAZE){ - peep->maze_last_edge = direction_entrance + 1; - x *= 32; - y *= 32; + if (ride->type == RIDE_TYPE_MAZE){ + peep->maze_last_edge = direction_entrance + 1; + x *= 32; + y *= 32; - x += TileDirectionDelta[direction_entrance].x; - y += TileDirectionDelta[direction_entrance].y; + x += TileDirectionDelta[direction_entrance].x; + y += TileDirectionDelta[direction_entrance].y; - uint8 direction = direction_entrance * 4 + 11; - if (scenario_rand() & 0x40){ - direction += 4; - peep->maze_last_edge += 2; - } + uint8 direction = direction_entrance * 4 + 11; + if (scenario_rand() & 0x40){ + direction += 4; + peep->maze_last_edge += 2; + } - direction &= 0xF; - // Direction is 11, 15, 3, or 7 - peep->var_37 = direction; - peep->maze_last_edge &= 3; + direction &= 0xF; + // Direction is 11, 15, 3, or 7 + peep->var_37 = direction; + peep->maze_last_edge &= 3; - x += _981FD4[direction / 4].x; - y += _981FD4[direction / 4].y; + x += _981FD4[direction / 4].x; + y += _981FD4[direction / 4].y; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 3; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 3; - ride->cur_num_customers++; - peep_on_enter_or_exit_ride(peep, peep->current_ride, 0); - peep->sub_state = 17; - return; - } + ride->cur_num_customers++; + peep_on_enter_or_exit_ride(peep, peep->current_ride, 0); + peep->sub_state = 17; + return; + } - x = ride->station_starts[peep->current_ride_station] & 0xFF; - y = ride->station_starts[peep->current_ride_station] >> 8; + x = ride->station_starts[peep->current_ride_station] & 0xFF; + y = ride->station_starts[peep->current_ride_station] >> 8; - map_element = ride_get_station_start_track_element(ride, peep->current_ride_station); + map_element = ride_get_station_start_track_element(ride, peep->current_ride_station); - uint8 direction_track = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + uint8 direction_track = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - peep->var_37 = (direction_entrance << 2) | (direction_track << 4); + peep->var_37 = (direction_entrance << 2) | (direction_track << 4); - x *= 32; - y *= 32; + x *= 32; + y *= 32; - assert(ride->type == RIDE_TYPE_SPIRAL_SLIDE); - const rct_xy16 slidePlatformDestination = SpiralSlideWalkingPath[peep->var_37]; + assert(ride->type == RIDE_TYPE_SPIRAL_SLIDE); + const rct_xy16 slidePlatformDestination = SpiralSlideWalkingPath[peep->var_37]; - x += slidePlatformDestination.x; - y += slidePlatformDestination.y; + x += slidePlatformDestination.x; + y += slidePlatformDestination.y; - peep->destination_x = x; - peep->destination_y = y; - peep->current_car = 0; + peep->destination_x = x; + peep->destination_y = y; + peep->current_car = 0; - ride->cur_num_customers++; - peep_on_enter_or_exit_ride(peep, peep->current_ride, 0); - peep->sub_state = 14; - return; - } + ride->cur_num_customers++; + peep_on_enter_or_exit_ride(peep, peep->current_ride, 0); + peep->sub_state = 14; + return; + } - rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); - for (sint32 i = peep->current_car; i != 0; --i){ - vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); - } + rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); + for (sint32 i = peep->current_car; i != 0; --i){ + vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); + } - ride_entry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicle_type = &ride_entry->vehicles[vehicle->vehicle_type]; + ride_entry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry_vehicle* vehicle_type = &ride_entry->vehicles[vehicle->vehicle_type]; - if (vehicle_type->flags_b & VEHICLE_ENTRY_FLAG_B_10){ - x = ride->entrances[peep->current_ride_station] & 0xFF; - y = ride->entrances[peep->current_ride_station] >> 8; - z = ride->station_heights[peep->current_ride_station]; + if (vehicle_type->flags_b & VEHICLE_ENTRY_FLAG_B_10){ + x = ride->entrances[peep->current_ride_station] & 0xFF; + y = ride->entrances[peep->current_ride_station] >> 8; + z = ride->station_heights[peep->current_ride_station]; - rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); + rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); - uint8 direction_entrance = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + uint8 direction_entrance = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - x = ride->station_starts[peep->current_ride_station] & 0xFF; - y = ride->station_starts[peep->current_ride_station] >> 8; + x = ride->station_starts[peep->current_ride_station] & 0xFF; + y = ride->station_starts[peep->current_ride_station] >> 8; - map_element = ride_get_station_start_track_element(ride, peep->current_ride_station); + map_element = ride_get_station_start_track_element(ride, peep->current_ride_station); - uint8 direction_track = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + uint8 direction_track = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); - ride_entry = get_ride_entry(vehicle->ride_subtype); - vehicle_type = &ride_entry->vehicles[vehicle->vehicle_type]; + vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); + ride_entry = get_ride_entry(vehicle->ride_subtype); + vehicle_type = &ride_entry->vehicles[vehicle->vehicle_type]; - uint8 cl = peep->current_seat; - uint8 ch = peep->current_seat & 0xF8; + uint8 cl = peep->current_seat; + uint8 ch = peep->current_seat & 0xF8; - if (ride->type != RIDE_TYPE_ENTERPRISE) - direction_track *= 2; + if (ride->type != RIDE_TYPE_ENTERPRISE) + direction_track *= 2; - if (*vehicle_type->peep_loading_positions == 0){ - direction_track /= 2; - cl = 0; - ch = 0; - } - cl += direction_track; - cl &= 0x7; - cl += ch; - peep->var_37 = (direction_entrance | cl * 4) * 4; + if (*vehicle_type->peep_loading_positions == 0){ + direction_track /= 2; + cl = 0; + ch = 0; + } + cl += direction_track; + cl &= 0x7; + cl += ch; + peep->var_37 = (direction_entrance | cl * 4) * 4; - x *= 32; - y *= 32; - x += 16; - y += 16; + x *= 32; + y *= 32; + x += 16; + y += 16; - if (ride->type == RIDE_TYPE_ENTERPRISE) - { - x = vehicle->x; - y = vehicle->y; - } + if (ride->type == RIDE_TYPE_ENTERPRISE) + { + x = vehicle->x; + y = vehicle->y; + } - x += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 1]; - y += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 2]; + x += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 1]; + y += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 2]; - peep->destination_x = x; - peep->destination_y = y; - peep->sub_state = 12; - return; - } + peep->destination_x = x; + peep->destination_y = y; + peep->sub_state = 12; + return; + } - if (vehicle_type->flags_b & VEHICLE_ENTRY_FLAG_B_15){ - peep->destination_x = vehicle->x; - peep->destination_y = vehicle->y; - peep->destination_tolerence = 15; - peep->sub_state = 4; - return; - } + if (vehicle_type->flags_b & VEHICLE_ENTRY_FLAG_B_15){ + peep->destination_x = vehicle->x; + peep->destination_y = vehicle->y; + peep->destination_tolerence = 15; + peep->sub_state = 4; + return; + } - sint8 load_position = vehicle_type->peep_loading_positions[peep->current_seat]; + sint8 load_position = vehicle_type->peep_loading_positions[peep->current_seat]; - switch (vehicle->sprite_direction / 8){ - case 0: - peep->destination_x = vehicle->x - load_position; - break; - case 1: - peep->destination_y = vehicle->y + load_position; - break; - case 2: - peep->destination_x = vehicle->x + load_position; - break; - case 3: - peep->destination_y = vehicle->y - load_position; - break; - } + switch (vehicle->sprite_direction / 8){ + case 0: + peep->destination_x = vehicle->x - load_position; + break; + case 1: + peep->destination_y = vehicle->y + load_position; + break; + case 2: + peep->destination_x = vehicle->x + load_position; + break; + case 3: + peep->destination_y = vehicle->y - load_position; + break; + } - peep->sub_state = 4; - return; + peep->sub_state = 4; + return; } /** @@ -2804,46 +2804,46 @@ static void peep_update_ride_sub_state_1(rct_peep* peep){ * rct2: 0x0069321D */ static void peep_go_to_ride_exit(rct_peep* peep, rct_ride* ride, sint16 x, sint16 y, sint16 z, uint8 exit_direction){ - z += RideData5[ride->type].z; + z += RideData5[ride->type].z; - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - assert(peep->current_ride_station < 4); - x = ride->exits[peep->current_ride_station] & 0xFF; - y = ride->exits[peep->current_ride_station] >> 8; - x *= 32; - y *= 32; - x += 16; - y += 16; + assert(peep->current_ride_station < 4); + x = ride->exits[peep->current_ride_station] & 0xFF; + y = ride->exits[peep->current_ride_station] >> 8; + x *= 32; + y *= 32; + x += 16; + y += 16; - sint16 x_shift = word_981D6C[exit_direction].x; - sint16 y_shift = word_981D6C[exit_direction].y; + sint16 x_shift = word_981D6C[exit_direction].x; + sint16 y_shift = word_981D6C[exit_direction].y; - sint16 shift_multiplier = 20; + sint16 shift_multiplier = 20; - rct_ride_entry* ride_type = get_ride_entry(ride->subtype); - if (ride_type != NULL) { - rct_ride_entry_vehicle* vehicle_entry = &ride_type->vehicles[ride_type->default_vehicle]; - if (vehicle_entry->flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF || - vehicle_entry->flags_b & (VEHICLE_ENTRY_FLAG_B_12 | VEHICLE_ENTRY_FLAG_B_14)){ - shift_multiplier = 32; - } - } + rct_ride_entry* ride_type = get_ride_entry(ride->subtype); + if (ride_type != NULL) { + rct_ride_entry_vehicle* vehicle_entry = &ride_type->vehicles[ride_type->default_vehicle]; + if (vehicle_entry->flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF || + vehicle_entry->flags_b & (VEHICLE_ENTRY_FLAG_B_12 | VEHICLE_ENTRY_FLAG_B_14)){ + shift_multiplier = 32; + } + } - x_shift *= shift_multiplier; - y_shift *= shift_multiplier; + x_shift *= shift_multiplier; + y_shift *= shift_multiplier; - x -= x_shift; - y -= y_shift; + x -= x_shift; + y -= y_shift; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 2; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 2; - peep->sprite_direction = exit_direction * 8; - peep->sub_state = 8; - return; + peep->sprite_direction = exit_direction * 8; + peep->sub_state = 8; + return; } /** @@ -2852,55 +2852,55 @@ static void peep_go_to_ride_exit(rct_peep* peep, rct_ride* ride, sint16 x, sint1 */ static void peep_update_ride_sub_state_2_enter_ride(rct_peep* peep, rct_ride* ride) { - money16 ridePrice = ride_get_price(ride); - if (ridePrice != 0) { - if ((peep->item_standard_flags & PEEP_ITEM_VOUCHER) && - (peep->voucher_type == VOUCHER_TYPE_RIDE_FREE) && - (peep->voucher_arguments == peep->current_ride)){ + money16 ridePrice = ride_get_price(ride); + if (ridePrice != 0) { + if ((peep->item_standard_flags & PEEP_ITEM_VOUCHER) && + (peep->voucher_type == VOUCHER_TYPE_RIDE_FREE) && + (peep->voucher_arguments == peep->current_ride)){ - peep->item_standard_flags &= ~PEEP_ITEM_VOUCHER; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - } - else{ - ride->total_profit += ridePrice; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_RIDE_TICKETS; - peep_spend_money(peep, &peep->paid_on_rides, ridePrice); - } - } + peep->item_standard_flags &= ~PEEP_ITEM_VOUCHER; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + } + else{ + ride->total_profit += ridePrice; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_RIDE_TICKETS; + peep_spend_money(peep, &peep->paid_on_rides, ridePrice); + } + } - peep->sub_state++; - uint8 queue_time = peep->days_in_queue; - if (queue_time < 253)queue_time += 3; + peep->sub_state++; + uint8 queue_time = peep->days_in_queue; + if (queue_time < 253)queue_time += 3; - queue_time /= 2; - if (queue_time != ride->queue_time[peep->current_ride_station]){ - ride->queue_time[peep->current_ride_station] = queue_time; - window_invalidate_by_number(WC_RIDE, peep->current_ride); - } + queue_time /= 2; + if (queue_time != ride->queue_time[peep->current_ride_station]){ + ride->queue_time[peep->current_ride_station] = queue_time; + window_invalidate_by_number(WC_RIDE, peep->current_ride); + } - if (peep->peep_flags & PEEP_FLAGS_TRACKING){ - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); + if (peep->peep_flags & PEEP_FLAGS_TRACKING){ + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); - rct_string_id msg_string; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IN_RIDE)) - msg_string = STR_PEEP_TRACKING_PEEP_IS_IN_X; - else - msg_string = STR_PEEP_TRACKING_PEEP_IS_ON_X; + rct_string_id msg_string; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IN_RIDE)) + msg_string = STR_PEEP_TRACKING_PEEP_IS_IN_X; + else + msg_string = STR_PEEP_TRACKING_PEEP_IS_ON_X; - if (gConfigNotifications.guest_on_ride) { - news_item_add_to_queue(NEWS_ITEM_PEEP_ON_RIDE, msg_string, peep->sprite_index); - } - } + if (gConfigNotifications.guest_on_ride) { + news_item_add_to_queue(NEWS_ITEM_PEEP_ON_RIDE, msg_string, peep->sprite_index); + } + } - if (ride->type == RIDE_TYPE_SPIRAL_SLIDE){ - peep_switch_to_special_sprite(peep, 1); - } + if (ride->type == RIDE_TYPE_SPIRAL_SLIDE){ + peep_switch_to_special_sprite(peep, 1); + } - peep_update_ride_sub_state_1(peep); + peep_update_ride_sub_state_1(peep); } /** @@ -2908,45 +2908,45 @@ static void peep_update_ride_sub_state_2_enter_ride(rct_peep* peep, rct_ride* ri * rct2: 0x00691FD4 */ static void peep_update_ride_sub_state_2_rejoin_queue(rct_peep* peep, rct_ride* ride){ - sint16 x, y, z; - x = ride->entrances[peep->current_ride_station] & 0xFF; - y = ride->entrances[peep->current_ride_station] >> 8; - z = ride->station_heights[peep->current_ride_station]; + sint16 x, y, z; + x = ride->entrances[peep->current_ride_station] & 0xFF; + y = ride->entrances[peep->current_ride_station] >> 8; + z = ride->station_heights[peep->current_ride_station]; - rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); + rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); - uint8 direction_entrance = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + uint8 direction_entrance = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - x *= 32; - y *= 32; - x += 16 - word_981D6C[direction_entrance].x * 20; - y += 16 - word_981D6C[direction_entrance].y * 20; + x *= 32; + y *= 32; + x += 16 - word_981D6C[direction_entrance].x * 20; + y += 16 - word_981D6C[direction_entrance].y * 20; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 2; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 2; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_QUEUING_FRONT; - peep->sub_state = 0; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_QUEUING_FRONT; + peep->sub_state = 0; + peep_window_state_update(peep); - peep->next_in_queue = SPRITE_INDEX_NULL; + peep->next_in_queue = SPRITE_INDEX_NULL; - ride->queue_length[peep->current_ride_station]++; + ride->queue_length[peep->current_ride_station]++; - uint16 current_last = ride->last_peep_in_queue[peep->current_ride_station]; - if (current_last == SPRITE_INDEX_NULL) { - ride->last_peep_in_queue[peep->current_ride_station] = peep->sprite_index; - return; - } + uint16 current_last = ride->last_peep_in_queue[peep->current_ride_station]; + if (current_last == SPRITE_INDEX_NULL) { + ride->last_peep_in_queue[peep->current_ride_station] = peep->sprite_index; + return; + } - rct_peep* queue_peep; - for (queue_peep = GET_PEEP(current_last); - queue_peep->next_in_queue != SPRITE_INDEX_NULL; - queue_peep = GET_PEEP(queue_peep->next_in_queue)); + rct_peep* queue_peep; + for (queue_peep = GET_PEEP(current_last); + queue_peep->next_in_queue != SPRITE_INDEX_NULL; + queue_peep = GET_PEEP(queue_peep->next_in_queue)); - queue_peep->next_in_queue = peep->sprite_index; + queue_peep->next_in_queue = peep->sprite_index; } /** * @@ -2958,141 +2958,141 @@ static void peep_update_ride_sub_state_2_rejoin_queue(rct_peep* peep, rct_ride* * separate functions. */ static void peep_update_ride_sub_state_2(rct_peep* peep){ - rct_ride* ride = get_ride(peep->current_ride); + rct_ride* ride = get_ride(peep->current_ride); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)){ - if (ride->status != RIDE_STATUS_OPEN || - ride->vehicle_change_timeout != 0 || - (++peep->var_AC) == 0){ + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)){ + if (ride->status != RIDE_STATUS_OPEN || + ride->vehicle_change_timeout != 0 || + (++peep->var_AC) == 0){ - peep_update_ride_sub_state_2_rejoin_queue(peep, ride); - return; - } + peep_update_ride_sub_state_2_rejoin_queue(peep, ride); + return; + } - peep_update_ride_sub_state_2_enter_ride(peep, ride); - return; - } + peep_update_ride_sub_state_2_enter_ride(peep, ride); + return; + } - rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); - for (sint32 i = peep->current_car; i != 0; --i){ - vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); - } + rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); + for (sint32 i = peep->current_car; i != 0; --i){ + vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); + } - rct_ride_entry* ride_entry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry* ride_entry = get_ride_entry(vehicle->ride_subtype); - if (ride_entry->vehicles[0].flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF){ - vehicle->mini_golf_flags &= ~(1 << 5); + if (ride_entry->vehicles[0].flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF){ + vehicle->mini_golf_flags &= ~(1 << 5); - for (size_t i = 0; i < ride->num_vehicles; ++i){ - if (ride->vehicles[i] == SPRITE_INDEX_NULL) - continue; + for (size_t i = 0; i < ride->num_vehicles; ++i){ + if (ride->vehicles[i] == SPRITE_INDEX_NULL) + continue; - rct_vehicle* train = GET_VEHICLE(ride->vehicles[i]); - rct_vehicle* second_vehicle = GET_VEHICLE(train->next_vehicle_on_train); + rct_vehicle* train = GET_VEHICLE(ride->vehicles[i]); + rct_vehicle* second_vehicle = GET_VEHICLE(train->next_vehicle_on_train); - if (second_vehicle->num_peeps == 0) - continue; + if (second_vehicle->num_peeps == 0) + continue; - if (second_vehicle->mini_golf_flags & (1 << 5)) - continue; + if (second_vehicle->mini_golf_flags & (1 << 5)) + continue; - return; - } - } + return; + } + } - if (!vehicle_is_used_in_pairs(vehicle)){ - peep_update_ride_sub_state_2_enter_ride(peep, ride); - return; - } + if (!vehicle_is_used_in_pairs(vehicle)){ + peep_update_ride_sub_state_2_enter_ride(peep, ride); + return; + } - if (ride->mode == RIDE_MODE_FORWARD_ROTATION || - ride->mode == RIDE_MODE_BACKWARD_ROTATION){ - if (peep->current_seat & 1 || - !(vehicle->next_free_seat & 1)){ - peep_update_ride_sub_state_2_enter_ride(peep, ride); - return; - } - } - else{ - uint8 current_seat = (peep->current_seat & 0xFE) + 1; - if (current_seat < vehicle->next_free_seat) - { - peep_update_ride_sub_state_2_enter_ride(peep, ride); - return; - } - } + if (ride->mode == RIDE_MODE_FORWARD_ROTATION || + ride->mode == RIDE_MODE_BACKWARD_ROTATION){ + if (peep->current_seat & 1 || + !(vehicle->next_free_seat & 1)){ + peep_update_ride_sub_state_2_enter_ride(peep, ride); + return; + } + } + else{ + uint8 current_seat = (peep->current_seat & 0xFE) + 1; + if (current_seat < vehicle->next_free_seat) + { + peep_update_ride_sub_state_2_enter_ride(peep, ride); + return; + } + } - rct_vehicle *currentTrain = GET_VEHICLE(ride->vehicles[peep->current_train]); - if (ride->status == RIDE_STATUS_OPEN && - ++peep->var_AC != 0 && - !(currentTrain->update_flags & VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART)){ - return; - } + rct_vehicle *currentTrain = GET_VEHICLE(ride->vehicles[peep->current_train]); + if (ride->status == RIDE_STATUS_OPEN && + ++peep->var_AC != 0 && + !(currentTrain->update_flags & VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART)){ + return; + } - if (ride->mode != RIDE_MODE_FORWARD_ROTATION && - ride->mode != RIDE_MODE_BACKWARD_ROTATION){ - if (vehicle->next_free_seat - 1 != peep->current_seat) - return; - } + if (ride->mode != RIDE_MODE_FORWARD_ROTATION && + ride->mode != RIDE_MODE_BACKWARD_ROTATION){ + if (vehicle->next_free_seat - 1 != peep->current_seat) + return; + } - vehicle->next_free_seat--; - vehicle->peep[peep->current_seat] = SPRITE_INDEX_NULL; + vehicle->next_free_seat--; + vehicle->peep[peep->current_seat] = SPRITE_INDEX_NULL; - peep_update_ride_sub_state_2_rejoin_queue(peep, ride); + peep_update_ride_sub_state_2_rejoin_queue(peep, ride); } static void peep_update_ride_sub_state_5(rct_peep* peep){ - rct_ride* ride = get_ride(peep->current_ride); + rct_ride* ride = get_ride(peep->current_ride); - rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); - for (sint32 i = peep->current_car; i != 0; --i){ - vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); - } + rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); + for (sint32 i = peep->current_car; i != 0; --i){ + vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); + } - if (ride->mode != RIDE_MODE_FORWARD_ROTATION && - ride->mode != RIDE_MODE_BACKWARD_ROTATION){ - if (peep->current_seat != vehicle->num_peeps) - return; - } + if (ride->mode != RIDE_MODE_FORWARD_ROTATION && + ride->mode != RIDE_MODE_BACKWARD_ROTATION){ + if (peep->current_seat != vehicle->num_peeps) + return; + } - if (vehicle_is_used_in_pairs(vehicle)){ - rct_peep* seated_peep = GET_PEEP(vehicle->peep[peep->current_seat ^ 1]); - if (seated_peep->sub_state != 5) - return; + if (vehicle_is_used_in_pairs(vehicle)){ + rct_peep* seated_peep = GET_PEEP(vehicle->peep[peep->current_seat ^ 1]); + if (seated_peep->sub_state != 5) + return; - vehicle->num_peeps++; - ride->cur_num_customers++; + vehicle->num_peeps++; + ride->cur_num_customers++; - vehicle->friction += seated_peep->var_41; - invalidate_sprite_2((rct_sprite*)seated_peep); - sprite_move(0x8000, 0, 0, (rct_sprite*)seated_peep); + vehicle->friction += seated_peep->var_41; + invalidate_sprite_2((rct_sprite*)seated_peep); + sprite_move(0x8000, 0, 0, (rct_sprite*)seated_peep); - peep_decrement_num_riders(seated_peep); - seated_peep->state = PEEP_STATE_ON_RIDE; - peep_window_state_update(seated_peep); - seated_peep->time_on_ride = 0; - seated_peep->sub_state = 6; - peep_on_enter_or_exit_ride(seated_peep, peep->current_ride, 0); - } + peep_decrement_num_riders(seated_peep); + seated_peep->state = PEEP_STATE_ON_RIDE; + peep_window_state_update(seated_peep); + seated_peep->time_on_ride = 0; + seated_peep->sub_state = 6; + peep_on_enter_or_exit_ride(seated_peep, peep->current_ride, 0); + } - vehicle->num_peeps++; - ride->cur_num_customers++; + vehicle->num_peeps++; + ride->cur_num_customers++; - vehicle->friction += peep->var_41; - invalidate_sprite_2((rct_sprite*)vehicle); + vehicle->friction += peep->var_41; + invalidate_sprite_2((rct_sprite*)vehicle); - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(0x8000, 0, 0, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(0x8000, 0, 0, (rct_sprite*)peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_ON_RIDE; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_ON_RIDE; + peep_window_state_update(peep); - peep->time_on_ride = 0; - peep->sub_state = 6; + peep->time_on_ride = 0; + peep->sub_state = 6; - peep_on_enter_or_exit_ride(peep, peep->current_ride, 0); + peep_on_enter_or_exit_ride(peep, peep->current_ride, 0); } /** @@ -3100,195 +3100,195 @@ static void peep_update_ride_sub_state_5(rct_peep* peep){ * rct2: 0x00693028 */ static void peep_update_ride_sub_state_7(rct_peep* peep){ - rct_ride* ride = get_ride(peep->current_ride); + rct_ride* ride = get_ride(peep->current_ride); - rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); - uint8 ride_station = vehicle->current_station; + rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); + uint8 ride_station = vehicle->current_station; - for (sint32 i = peep->current_car; i != 0; --i){ - vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); - } + for (sint32 i = peep->current_car; i != 0; --i){ + vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); + } - // Check if ride is NOT Ferris Wheel. - if (ride->mode != RIDE_MODE_FORWARD_ROTATION && - ride->mode != RIDE_MODE_BACKWARD_ROTATION){ - if (vehicle->num_peeps - 1 != peep->current_seat) - return; - } + // Check if ride is NOT Ferris Wheel. + if (ride->mode != RIDE_MODE_FORWARD_ROTATION && + ride->mode != RIDE_MODE_BACKWARD_ROTATION){ + if (vehicle->num_peeps - 1 != peep->current_seat) + return; + } - peep->action_sprite_image_offset++; - if (peep->action_sprite_image_offset & 3) - return; + peep->action_sprite_image_offset++; + if (peep->action_sprite_image_offset & 3) + return; - peep->action_sprite_image_offset = 0; + peep->action_sprite_image_offset = 0; - vehicle->num_peeps--; - vehicle->friction -= peep->var_41; - invalidate_sprite_2((rct_sprite*)vehicle); + vehicle->num_peeps--; + vehicle->friction -= peep->var_41; + invalidate_sprite_2((rct_sprite*)vehicle); - peep->current_ride_station = ride_station; + peep->current_ride_station = ride_station; - rct_ride_entry* ride_entry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicle_entry = &ride_entry->vehicles[vehicle->vehicle_type]; + rct_ride_entry* ride_entry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry_vehicle* vehicle_entry = &ride_entry->vehicles[vehicle->vehicle_type]; - if (!(vehicle_entry->flags_b & VEHICLE_ENTRY_FLAG_B_10)){ - sint16 x, y, z; - assert(peep->current_ride_station < 4); - x = ride->exits[peep->current_ride_station] & 0xFF; - y = ride->exits[peep->current_ride_station] >> 8; - z = ride->station_heights[peep->current_ride_station]; + if (!(vehicle_entry->flags_b & VEHICLE_ENTRY_FLAG_B_10)){ + sint16 x, y, z; + assert(peep->current_ride_station < 4); + x = ride->exits[peep->current_ride_station] & 0xFF; + y = ride->exits[peep->current_ride_station] >> 8; + z = ride->station_heights[peep->current_ride_station]; - rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); + rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); - uint8 exit_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - exit_direction ^= (1 << 1); + uint8 exit_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + exit_direction ^= (1 << 1); - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_16)){ + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_16)){ - for (; vehicle->is_child; vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride)){ - uint16 trackType = vehicle->track_type >> 2; - if (trackType == TRACK_ELEM_FLAT || trackType > TRACK_ELEM_MIDDLE_STATION) - continue; + for (; vehicle->is_child; vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride)){ + uint16 trackType = vehicle->track_type >> 2; + if (trackType == TRACK_ELEM_FLAT || trackType > TRACK_ELEM_MIDDLE_STATION) + continue; - rct_map_element* inner_map = map_get_first_element_at(vehicle->track_x / 32, vehicle->track_y / 32); - for (;; inner_map++){ - if (map_element_get_type(inner_map) != MAP_ELEMENT_TYPE_TRACK) - continue; - if (inner_map->base_height == vehicle->track_z / 8) - break; - } + rct_map_element* inner_map = map_get_first_element_at(vehicle->track_x / 32, vehicle->track_y / 32); + for (;; inner_map++){ + if (map_element_get_type(inner_map) != MAP_ELEMENT_TYPE_TRACK) + continue; + if (inner_map->base_height == vehicle->track_z / 8) + break; + } - uint8 al = (inner_map->properties.track.sequence & 0x70) >> 4; - if (al == peep->current_ride_station) - break; - } + uint8 al = (inner_map->properties.track.sequence & 0x70) >> 4; + if (al == peep->current_ride_station) + break; + } - uint8 shift_multiplier = 12; - uint8 direction = exit_direction; + uint8 shift_multiplier = 12; + uint8 direction = exit_direction; - ride_entry = get_ride_entry(ride->subtype); + ride_entry = get_ride_entry(ride->subtype); - if (ride_entry != NULL) { - vehicle_entry = &ride_entry->vehicles[ride_entry->default_vehicle]; + if (ride_entry != NULL) { + vehicle_entry = &ride_entry->vehicles[ride_entry->default_vehicle]; - if (vehicle_entry->flags_b & VEHICLE_ENTRY_FLAG_B_14){ - shift_multiplier = 9; - } + if (vehicle_entry->flags_b & VEHICLE_ENTRY_FLAG_B_14){ + shift_multiplier = 9; + } - if (vehicle_entry->flags_b & (VEHICLE_ENTRY_FLAG_B_12 | VEHICLE_ENTRY_FLAG_B_14)){ - direction = ((vehicle->sprite_direction + 3) / 8) + 1; - direction &= 3; + if (vehicle_entry->flags_b & (VEHICLE_ENTRY_FLAG_B_12 | VEHICLE_ENTRY_FLAG_B_14)){ + direction = ((vehicle->sprite_direction + 3) / 8) + 1; + direction &= 3; - if (vehicle->var_CD == 6) - direction ^= (1 << 1); - } - } + if (vehicle->var_CD == 6) + direction ^= (1 << 1); + } + } - sint16 x_shift = word_981D6C[direction].x; - sint16 y_shift = word_981D6C[direction].y; + sint16 x_shift = word_981D6C[direction].x; + sint16 y_shift = word_981D6C[direction].y; - x = vehicle->x + x_shift * shift_multiplier; - y = vehicle->y + y_shift * shift_multiplier; - z *= 8; + x = vehicle->x + x_shift * shift_multiplier; + y = vehicle->y + y_shift * shift_multiplier; + z *= 8; - peep_go_to_ride_exit(peep, ride, x, y, z, exit_direction); - return; - } + peep_go_to_ride_exit(peep, ride, x, y, z, exit_direction); + return; + } - x = vehicle->x + word_981D6C[exit_direction].x * 12; - y = vehicle->y + word_981D6C[exit_direction].y * 12; + x = vehicle->x + word_981D6C[exit_direction].x * 12; + y = vehicle->y + word_981D6C[exit_direction].y * 12; - sint8 load_position = vehicle_entry->peep_loading_positions[peep->current_seat]; + sint8 load_position = vehicle_entry->peep_loading_positions[peep->current_seat]; - switch (vehicle->sprite_direction / 8){ - case 0: - x -= load_position; - break; - case 1: - y += load_position; - break; - case 2: - x += load_position; - break; - case 3: - y -= load_position; - break; - } + switch (vehicle->sprite_direction / 8){ + case 0: + x -= load_position; + break; + case 1: + y += load_position; + break; + case 2: + x += load_position; + break; + case 3: + y -= load_position; + break; + } - z = ride->station_heights[peep->current_ride_station] * 8; + z = ride->station_heights[peep->current_ride_station] * 8; - peep_go_to_ride_exit(peep, ride, x, y, z, exit_direction); - return; - } + peep_go_to_ride_exit(peep, ride, x, y, z, exit_direction); + return; + } - sint16 x, y, z; - x = ride->exits[peep->current_ride_station] & 0xFF; - y = ride->exits[peep->current_ride_station] >> 8; - z = ride->station_heights[peep->current_ride_station]; + sint16 x, y, z; + x = ride->exits[peep->current_ride_station] & 0xFF; + y = ride->exits[peep->current_ride_station] >> 8; + z = ride->station_heights[peep->current_ride_station]; - rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); + rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); - uint8 exit_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + uint8 exit_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - x = ride->station_starts[peep->current_ride_station] & 0xFF; - y = ride->station_starts[peep->current_ride_station] >> 8; + x = ride->station_starts[peep->current_ride_station] & 0xFF; + y = ride->station_starts[peep->current_ride_station] >> 8; - map_element = ride_get_station_start_track_element(ride, peep->current_ride_station); + map_element = ride_get_station_start_track_element(ride, peep->current_ride_station); - uint8 station_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + uint8 station_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); + vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); - ride_entry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicle_type = &ride_entry->vehicles[vehicle->vehicle_type]; + ride_entry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry_vehicle* vehicle_type = &ride_entry->vehicles[vehicle->vehicle_type]; - uint8 cl = peep->current_seat; - uint8 ch = peep->current_seat & 0xF8; + uint8 cl = peep->current_seat; + uint8 ch = peep->current_seat & 0xF8; - if (ride->type != RIDE_TYPE_ENTERPRISE) - station_direction *= 2; + if (ride->type != RIDE_TYPE_ENTERPRISE) + station_direction *= 2; - if (*vehicle_type->peep_loading_positions == 0){ - station_direction /= 2; - cl = 0; - ch = 0; - } - cl += station_direction; - cl &= 0x7; - cl += ch; - peep->var_37 = ((exit_direction | cl * 4) * 4) | 1; + if (*vehicle_type->peep_loading_positions == 0){ + station_direction /= 2; + cl = 0; + ch = 0; + } + cl += station_direction; + cl &= 0x7; + cl += ch; + peep->var_37 = ((exit_direction | cl * 4) * 4) | 1; - x *= 32; - y *= 32; - x += 16; - y += 16; + x *= 32; + y *= 32; + x += 16; + y += 16; - if (ride->type == RIDE_TYPE_ENTERPRISE) - { - x = vehicle->x; - y = vehicle->y; - } + if (ride->type == RIDE_TYPE_ENTERPRISE) + { + x = vehicle->x; + y = vehicle->y; + } - sint16 exit_x = x + vehicle_type->peep_loading_positions[(peep->var_37 + 1) * 2 + 1]; - sint16 exit_y = y + vehicle_type->peep_loading_positions[(peep->var_37 + 1) * 2 + 2]; + sint16 exit_x = x + vehicle_type->peep_loading_positions[(peep->var_37 + 1) * 2 + 1]; + sint16 exit_y = y + vehicle_type->peep_loading_positions[(peep->var_37 + 1) * 2 + 2]; - z *= 8; - z += RideData5[ride->type].z; + z *= 8; + z += RideData5[ride->type].z; - if (ride->type == RIDE_TYPE_MOTION_SIMULATOR) - z += 15; + if (ride->type == RIDE_TYPE_MOTION_SIMULATOR) + z += 15; - sprite_move(exit_x, exit_y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); + sprite_move(exit_x, exit_y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - x += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 1]; - y += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 2]; + x += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 1]; + y += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 2]; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 2; - peep->sub_state = 13; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 2; + peep->sub_state = 13; } /** @@ -3296,44 +3296,44 @@ static void peep_update_ride_sub_state_7(rct_peep* peep){ * rct2: 0x0069376A */ static void peep_update_ride_prepare_for_state_9(rct_peep* peep){ - rct_ride* ride = get_ride(peep->current_ride); + rct_ride* ride = get_ride(peep->current_ride); - sint16 x = ride->exits[peep->current_ride_station] & 0xFF; - sint16 y = ride->exits[peep->current_ride_station] >> 8; - sint16 z = ride->station_heights[peep->current_ride_station]; + sint16 x = ride->exits[peep->current_ride_station] & 0xFF; + sint16 y = ride->exits[peep->current_ride_station] >> 8; + sint16 z = ride->station_heights[peep->current_ride_station]; - rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); + rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); - uint8 exit_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + uint8 exit_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - x *= 32; - y *= 32; - x += 16; - y += 16; + x *= 32; + y *= 32; + x += 16; + y += 16; - sint16 x_shift = word_981D6C[exit_direction].x; - sint16 y_shift = word_981D6C[exit_direction].y; + sint16 x_shift = word_981D6C[exit_direction].x; + sint16 y_shift = word_981D6C[exit_direction].y; - sint16 shift_multiplier = 20; + sint16 shift_multiplier = 20; - rct_ride_entry* ride_type = get_ride_entry(ride->subtype); - if (ride_type != NULL) { - rct_ride_entry_vehicle* vehicle_entry = &ride_type->vehicles[ride_type->default_vehicle]; - if (vehicle_entry->flags_b & (VEHICLE_ENTRY_FLAG_B_12 | VEHICLE_ENTRY_FLAG_B_14)){ - shift_multiplier = 32; - } - } + rct_ride_entry* ride_type = get_ride_entry(ride->subtype); + if (ride_type != NULL) { + rct_ride_entry_vehicle* vehicle_entry = &ride_type->vehicles[ride_type->default_vehicle]; + if (vehicle_entry->flags_b & (VEHICLE_ENTRY_FLAG_B_12 | VEHICLE_ENTRY_FLAG_B_14)){ + shift_multiplier = 32; + } + } - x_shift *= shift_multiplier; - y_shift *= shift_multiplier; + x_shift *= shift_multiplier; + y_shift *= shift_multiplier; - x -= x_shift; - y -= y_shift; + x -= x_shift; + y -= y_shift; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 2; - peep->sub_state = 9; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 2; + peep->sub_state = 9; } /** @@ -3341,15 +3341,15 @@ static void peep_update_ride_prepare_for_state_9(rct_peep* peep){ * rct2: 0x0069374F */ static void peep_update_ride_sub_state_8(rct_peep* peep){ - sint16 x, y, xy_distance; - if (peep_update_action(&x, &y, &xy_distance, peep)){ - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + sint16 x, y, xy_distance; + if (peep_update_action(&x, &y, &xy_distance, peep)){ + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - peep_update_ride_prepare_for_state_9(peep); + peep_update_ride_prepare_for_state_9(peep); } /** @@ -3357,33 +3357,33 @@ static void peep_update_ride_sub_state_8(rct_peep* peep){ * rct2: 0x0069382E */ static void peep_update_ride_sub_state_9(rct_peep* peep){ - sint16 x, y, xy_distance; - rct_ride* ride = get_ride(peep->current_ride); + sint16 x, y, xy_distance; + rct_ride* ride = get_ride(peep->current_ride); - if (peep_update_action(&x, &y, &xy_distance, peep)){ - invalidate_sprite_2((rct_sprite*)peep); + if (peep_update_action(&x, &y, &xy_distance, peep)){ + invalidate_sprite_2((rct_sprite*)peep); - if (xy_distance >= 16){ - sint16 z = ride->station_heights[peep->current_ride_station] * 8; + if (xy_distance >= 16){ + sint16 z = ride->station_heights[peep->current_ride_station] * 8; - z += RideData5[ride->type].z; - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + z += RideData5[ride->type].z; + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - peep_switch_to_special_sprite(peep, 0); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - } + peep_switch_to_special_sprite(peep, 0); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + } - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO){ - uint8 secondaryItem = RidePhotoItems[ride->type]; - if (peep_decide_and_buy_item(peep, peep->current_ride, secondaryItem, ride->price_secondary)) { - ride->no_secondary_items_sold++; - } - } - peep->sub_state = 18; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO){ + uint8 secondaryItem = RidePhotoItems[ride->type]; + if (peep_decide_and_buy_item(peep, peep->current_ride, secondaryItem, ride->price_secondary)) { + ride->no_secondary_items_sold++; + } + } + peep->sub_state = 18; } /** @@ -3391,63 +3391,63 @@ static void peep_update_ride_sub_state_9(rct_peep* peep){ * rct2: 0x006926AD */ static void peep_update_ride_sub_state_12(rct_peep* peep){ - sint16 x, y, xy_distance; - rct_ride* ride = get_ride(peep->current_ride); + sint16 x, y, xy_distance; + rct_ride* ride = get_ride(peep->current_ride); - if (peep_update_action(&x, &y, &xy_distance, peep)){ - sint16 z; - if (ride->type == RIDE_TYPE_MOTION_SIMULATOR){ - z = ride->station_heights[peep->current_ride_station] * 8 + 2; + if (peep_update_action(&x, &y, &xy_distance, peep)){ + sint16 z; + if (ride->type == RIDE_TYPE_MOTION_SIMULATOR){ + z = ride->station_heights[peep->current_ride_station] * 8 + 2; - if ((peep->var_37 & 3) == 2){ - xy_distance -= 12; - if (xy_distance < 0) - xy_distance = 0; + if ((peep->var_37 & 3) == 2){ + xy_distance -= 12; + if (xy_distance < 0) + xy_distance = 0; - if (xy_distance <= 15){ - z += 15 - xy_distance; - } - } - } - else{ - z = peep->z; - } - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + if (xy_distance <= 15){ + z += 15 - xy_distance; + } + } + } + else{ + z = peep->z; + } + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - if ((peep->var_37 & 3) == 2){ - peep->sub_state = 5; - return; - } + if ((peep->var_37 & 3) == 2){ + peep->sub_state = 5; + return; + } - peep->var_37++; + peep->var_37++; - rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); + rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); - x = ride->station_starts[peep->current_ride_station] & 0xFF; - y = ride->station_starts[peep->current_ride_station] >> 8; + x = ride->station_starts[peep->current_ride_station] & 0xFF; + y = ride->station_starts[peep->current_ride_station] >> 8; - x *= 32; - y *= 32; - x += 16; - y += 16; + x *= 32; + y *= 32; + x += 16; + y += 16; - if (ride->type == RIDE_TYPE_ENTERPRISE){ - x = vehicle->x; - y = vehicle->y; - } + if (ride->type == RIDE_TYPE_ENTERPRISE){ + x = vehicle->x; + y = vehicle->y; + } - rct_ride_entry* ride_entry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicle_type = &ride_entry->vehicles[vehicle->vehicle_type]; + rct_ride_entry* ride_entry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry_vehicle* vehicle_type = &ride_entry->vehicles[vehicle->vehicle_type]; - x += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 1]; - y += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 2]; + x += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 1]; + y += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 2]; - peep->destination_x = x; - peep->destination_y = y; + peep->destination_x = x; + peep->destination_y = y; } /** @@ -3455,99 +3455,99 @@ static void peep_update_ride_sub_state_12(rct_peep* peep){ * rct2: 0x0069357D */ static void peep_update_ride_sub_state_13(rct_peep* peep){ - sint16 x, y, xy_distance; - rct_ride* ride = get_ride(peep->current_ride); + sint16 x, y, xy_distance; + rct_ride* ride = get_ride(peep->current_ride); - if (peep_update_action(&x, &y, &xy_distance, peep)){ - sint16 z; - if (ride->type == RIDE_TYPE_MOTION_SIMULATOR){ - z = ride->station_heights[peep->current_ride_station] * 8 + 2; + if (peep_update_action(&x, &y, &xy_distance, peep)){ + sint16 z; + if (ride->type == RIDE_TYPE_MOTION_SIMULATOR){ + z = ride->station_heights[peep->current_ride_station] * 8 + 2; - if ((peep->var_37 & 3) == 1){ + if ((peep->var_37 & 3) == 1){ - if (xy_distance > 15) - xy_distance = 15; + if (xy_distance > 15) + xy_distance = 15; - z += xy_distance; - } - } - else{ - z = peep->z; - } - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + z += xy_distance; + } + } + else{ + z = peep->z; + } + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - if ((peep->var_37 & 3) != 0){ - if ((peep->var_37 & 3) == 3){ - peep_update_ride_prepare_for_state_9(peep); - return; - } + if ((peep->var_37 & 3) != 0){ + if ((peep->var_37 & 3) == 3){ + peep_update_ride_prepare_for_state_9(peep); + return; + } - peep->var_37--; - rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); + peep->var_37--; + rct_vehicle* vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]); - x = ride->station_starts[peep->current_ride_station] & 0xFF; - y = ride->station_starts[peep->current_ride_station] >> 8; + x = ride->station_starts[peep->current_ride_station] & 0xFF; + y = ride->station_starts[peep->current_ride_station] >> 8; - x *= 32; - y *= 32; - x += 16; - y += 16; + x *= 32; + y *= 32; + x += 16; + y += 16; - if (ride->type == RIDE_TYPE_ENTERPRISE){ - x = vehicle->x; - y = vehicle->y; - } + if (ride->type == RIDE_TYPE_ENTERPRISE){ + x = vehicle->x; + y = vehicle->y; + } - rct_ride_entry* ride_entry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicle_type = &ride_entry->vehicles[vehicle->vehicle_type]; + rct_ride_entry* ride_entry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry_vehicle* vehicle_type = &ride_entry->vehicles[vehicle->vehicle_type]; - x += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 1]; - y += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 2]; + x += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 1]; + y += vehicle_type->peep_loading_positions[peep->var_37 * 2 + 2]; - peep->destination_x = x; - peep->destination_y = y; - return; - } + peep->destination_x = x; + peep->destination_y = y; + return; + } - peep->var_37 |= 3; + peep->var_37 |= 3; - x = ride->exits[peep->current_ride_station] & 0xFF; - y = ride->exits[peep->current_ride_station] >> 8; - sint16 z = ride->station_heights[peep->current_ride_station]; + x = ride->exits[peep->current_ride_station] & 0xFF; + y = ride->exits[peep->current_ride_station] >> 8; + sint16 z = ride->station_heights[peep->current_ride_station]; - rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); + rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); - uint8 exit_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - exit_direction ^= (1 << 1); + uint8 exit_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + exit_direction ^= (1 << 1); - x *= 32; - y *= 32; - x += 16; - y += 16; + x *= 32; + y *= 32; + x += 16; + y += 16; - sint16 x_shift = word_981D6C[exit_direction].x; - sint16 y_shift = word_981D6C[exit_direction].y; + sint16 x_shift = word_981D6C[exit_direction].x; + sint16 y_shift = word_981D6C[exit_direction].y; - sint16 shift_multiplier = 20; + sint16 shift_multiplier = 20; - rct_ride_entry* ride_type = get_ride_entry(ride->subtype); - rct_ride_entry_vehicle* vehicle_entry = &ride_type->vehicles[ride_type->default_vehicle]; - if (vehicle_entry->flags_b & (VEHICLE_ENTRY_FLAG_B_12 | VEHICLE_ENTRY_FLAG_B_14)){ - shift_multiplier = 32; - } + rct_ride_entry* ride_type = get_ride_entry(ride->subtype); + rct_ride_entry_vehicle* vehicle_entry = &ride_type->vehicles[ride_type->default_vehicle]; + if (vehicle_entry->flags_b & (VEHICLE_ENTRY_FLAG_B_12 | VEHICLE_ENTRY_FLAG_B_14)){ + shift_multiplier = 32; + } - x_shift *= shift_multiplier; - y_shift *= shift_multiplier; + x_shift *= shift_multiplier; + y_shift *= shift_multiplier; - x -= x_shift; - y -= y_shift; + x -= x_shift; + y -= y_shift; - peep->destination_x = x; - peep->destination_y = y; + peep->destination_x = x; + peep->destination_y = y; } /** @@ -3555,94 +3555,94 @@ static void peep_update_ride_sub_state_13(rct_peep* peep){ * rct2: 0x006927B3 */ static void peep_update_ride_sub_state_14(rct_peep* peep){ - sint16 x, y, xy_distance; - rct_ride* ride = get_ride(peep->current_ride); + sint16 x, y, xy_distance; + rct_ride* ride = get_ride(peep->current_ride); - if (peep_update_action(&x, &y, &xy_distance, peep)){ - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + if (peep_update_action(&x, &y, &xy_distance, peep)){ + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - if ((peep->var_37 & 3) == 3){ - peep->sub_state = 15; - peep->destination_x = 0; - peep->destination_y = 0; - peep->var_37 = (peep->var_37 / 4) & 0xC; - sprite_move(0x8000, y, peep->z, (rct_sprite*)peep); - return; - } - else if ((peep->var_37 & 3) == 2){ - uint8 last_ride = 0; - if (ride->status != RIDE_STATUS_OPEN) - last_ride = 1; - else if (peep->current_car++ != 0){ - if (ride->mode == RIDE_MODE_SINGLE_RIDE_PER_ADMISSION) - last_ride = 1; - if ((uint8)(peep->current_car - 1) > (scenario_rand() & 0xF)) - last_ride = 1; - } + if ((peep->var_37 & 3) == 3){ + peep->sub_state = 15; + peep->destination_x = 0; + peep->destination_y = 0; + peep->var_37 = (peep->var_37 / 4) & 0xC; + sprite_move(0x8000, y, peep->z, (rct_sprite*)peep); + return; + } + else if ((peep->var_37 & 3) == 2){ + uint8 last_ride = 0; + if (ride->status != RIDE_STATUS_OPEN) + last_ride = 1; + else if (peep->current_car++ != 0){ + if (ride->mode == RIDE_MODE_SINGLE_RIDE_PER_ADMISSION) + last_ride = 1; + if ((uint8)(peep->current_car - 1) > (scenario_rand() & 0xF)) + last_ride = 1; + } - if (last_ride){ - x = ride->exits[peep->current_ride_station] & 0xFF; - y = ride->exits[peep->current_ride_station] >> 8; - sint16 z = ride->station_heights[peep->current_ride_station]; + if (last_ride){ + x = ride->exits[peep->current_ride_station] & 0xFF; + y = ride->exits[peep->current_ride_station] >> 8; + sint16 z = ride->station_heights[peep->current_ride_station]; - rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); + rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); - uint8 exit_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + uint8 exit_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - peep->var_37 = (exit_direction * 4) | (peep->var_37 & 0x30) | 1; - x = ride->station_starts[peep->current_ride_station] & 0xFF; - y = ride->station_starts[peep->current_ride_station] >> 8; + peep->var_37 = (exit_direction * 4) | (peep->var_37 & 0x30) | 1; + x = ride->station_starts[peep->current_ride_station] & 0xFF; + y = ride->station_starts[peep->current_ride_station] >> 8; - x *= 32; - y *= 32; - assert(ride->type == RIDE_TYPE_SPIRAL_SLIDE); - const rct_xy16 slidePlatformDestination = SpiralSlideWalkingPath[peep->var_37]; + x *= 32; + y *= 32; + assert(ride->type == RIDE_TYPE_SPIRAL_SLIDE); + const rct_xy16 slidePlatformDestination = SpiralSlideWalkingPath[peep->var_37]; - x += slidePlatformDestination.x; - y += slidePlatformDestination.y; + x += slidePlatformDestination.x; + y += slidePlatformDestination.y; - peep->destination_x = x; - peep->destination_y = y; - peep->sub_state = 16; - return; - } - } - peep->var_37++; + peep->destination_x = x; + peep->destination_y = y; + peep->sub_state = 16; + return; + } + } + peep->var_37++; - x = ride->station_starts[peep->current_ride_station] & 0xFF; - y = ride->station_starts[peep->current_ride_station] >> 8; + x = ride->station_starts[peep->current_ride_station] & 0xFF; + y = ride->station_starts[peep->current_ride_station] >> 8; - x *= 32; - y *= 32; + x *= 32; + y *= 32; - assert(ride->type == RIDE_TYPE_SPIRAL_SLIDE); - const rct_xy16 slidePlatformDestination = SpiralSlideWalkingPath[peep->var_37]; + assert(ride->type == RIDE_TYPE_SPIRAL_SLIDE); + const rct_xy16 slidePlatformDestination = SpiralSlideWalkingPath[peep->var_37]; - x += slidePlatformDestination.x; - y += slidePlatformDestination.y; + x += slidePlatformDestination.x; + y += slidePlatformDestination.y; - peep->destination_x = x; - peep->destination_y = y; + peep->destination_x = x; + peep->destination_y = y; } /** rct2: 0x00981F0C, 0x00981F0E */ static const rct_xy16 _981F0C[] = { - {25, 56}, - {56, 7}, - {7, -24}, - {-24, 25}, + {25, 56}, + {56, 7}, + {7, -24}, + {-24, 25}, }; /** rct2: 0x00981F1C, 0x00981F1E */ static const rct_xy16 _981F1C[] = { - {8, 56}, - {56, 24}, - {24, -24}, - {-24, 8}, + {8, 56}, + {56, 24}, + {24, -24}, + {-24, 8}, }; /** @@ -3650,88 +3650,88 @@ static const rct_xy16 _981F1C[] = { * rct2: 0x00692D83 */ static void peep_update_ride_sub_state_15(rct_peep* peep){ - rct_ride* ride = get_ride(peep->current_ride); + rct_ride* ride = get_ride(peep->current_ride); - if (ride->type != RIDE_TYPE_SPIRAL_SLIDE) - return; + if (ride->type != RIDE_TYPE_SPIRAL_SLIDE) + return; - if ((peep->var_37 & 3) == 0){ - switch (peep->destination_x){ - case 0: - peep->destination_y++; - if (peep->destination_y >= 30) - peep->destination_x++; - return; - case 1: - if (ride->slide_in_use != 0) - return; + if ((peep->var_37 & 3) == 0){ + switch (peep->destination_x){ + case 0: + peep->destination_y++; + if (peep->destination_y >= 30) + peep->destination_x++; + return; + case 1: + if (ride->slide_in_use != 0) + return; - ride->slide_in_use++; - ride->slide_peep = peep->sprite_index; - ride->slide_peep_t_shirt_colour = peep->tshirt_colour; - ride->spiral_slide_progress = 0; - peep->destination_x++; - return; - case 2: - return; - case 3: - { - sint16 x = ride->station_starts[peep->current_ride_station] & 0xFF; - sint16 y = ride->station_starts[peep->current_ride_station] >> 8; + ride->slide_in_use++; + ride->slide_peep = peep->sprite_index; + ride->slide_peep_t_shirt_colour = peep->tshirt_colour; + ride->spiral_slide_progress = 0; + peep->destination_x++; + return; + case 2: + return; + case 3: + { + sint16 x = ride->station_starts[peep->current_ride_station] & 0xFF; + sint16 y = ride->station_starts[peep->current_ride_station] >> 8; - x *= 32; - y *= 32; + x *= 32; + y *= 32; - uint8 direction = (peep->var_37 / 4) & 3; - sint16 dest_x = x + _981F1C[direction].x; - sint16 dest_y = y + _981F1C[direction].y; + uint8 direction = (peep->var_37 / 4) & 3; + sint16 dest_x = x + _981F1C[direction].x; + sint16 dest_y = y + _981F1C[direction].y; - peep->destination_x = dest_x; - peep->destination_y = dest_y; + peep->destination_x = dest_x; + peep->destination_y = dest_y; - x += _981F0C[direction].x; - y += _981F0C[direction].y; + x += _981F0C[direction].x; + y += _981F0C[direction].y; - sprite_move(x, y, peep->z, (rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); - peep->sprite_direction = (peep->var_37 & 0xC) * 2; + peep->sprite_direction = (peep->var_37 & 0xC) * 2; - invalidate_sprite_2((rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - peep->var_37++; - return; - } - default: - return; - } - } + peep->var_37++; + return; + } + default: + return; + } + } - sint16 x, y, xy_distance; + sint16 x, y, xy_distance; - if (peep_update_action(&x, &y, &xy_distance, peep)){ - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + if (peep_update_action(&x, &y, &xy_distance, peep)){ + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - peep->var_37 = (peep->var_37 * 4 & 0x30) + 2; + peep->var_37 = (peep->var_37 * 4 & 0x30) + 2; - x = ride->station_starts[peep->current_ride_station] & 0xFF; - y = ride->station_starts[peep->current_ride_station] >> 8; + x = ride->station_starts[peep->current_ride_station] & 0xFF; + y = ride->station_starts[peep->current_ride_station] >> 8; - x *= 32; - y *= 32; + x *= 32; + y *= 32; - assert(ride->type == RIDE_TYPE_SPIRAL_SLIDE); - const rct_xy16 slidePlatformDestination = SpiralSlideWalkingPath[peep->var_37]; + assert(ride->type == RIDE_TYPE_SPIRAL_SLIDE); + const rct_xy16 slidePlatformDestination = SpiralSlideWalkingPath[peep->var_37]; - x += slidePlatformDestination.x; - y += slidePlatformDestination.y; + x += slidePlatformDestination.x; + y += slidePlatformDestination.y; - peep->destination_x = x; - peep->destination_y = y; - peep->sub_state = 14; + peep->destination_x = x; + peep->destination_y = y; + peep->sub_state = 14; } /** @@ -3739,86 +3739,86 @@ static void peep_update_ride_sub_state_15(rct_peep* peep){ * rct2: 0x00692C6B */ static void peep_update_ride_sub_state_16(rct_peep* peep){ - sint16 x, y, xy_distance; + sint16 x, y, xy_distance; - if (peep_update_action(&x, &y, &xy_distance, peep)){ - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + if (peep_update_action(&x, &y, &xy_distance, peep)){ + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - rct_ride* ride = get_ride(peep->current_ride); + rct_ride* ride = get_ride(peep->current_ride); - if ((peep->var_37 & 0x3) != 0){ - if ((peep->var_37 & 0x3) == 3){ - peep_update_ride_prepare_for_state_9(peep); - return; - } + if ((peep->var_37 & 0x3) != 0){ + if ((peep->var_37 & 0x3) == 3){ + peep_update_ride_prepare_for_state_9(peep); + return; + } - peep->var_37--; - x = ride->station_starts[peep->current_ride_station] & 0xFF; - y = ride->station_starts[peep->current_ride_station] >> 8; + peep->var_37--; + x = ride->station_starts[peep->current_ride_station] & 0xFF; + y = ride->station_starts[peep->current_ride_station] >> 8; - x *= 32; - y *= 32; + x *= 32; + y *= 32; - assert(ride->type == RIDE_TYPE_SPIRAL_SLIDE); - const rct_xy16 slidePlatformDestination = SpiralSlideWalkingPath[peep->var_37]; + assert(ride->type == RIDE_TYPE_SPIRAL_SLIDE); + const rct_xy16 slidePlatformDestination = SpiralSlideWalkingPath[peep->var_37]; - x += slidePlatformDestination.x; - y += slidePlatformDestination.y; + x += slidePlatformDestination.x; + y += slidePlatformDestination.y; - peep->destination_x = x; - peep->destination_y = y; - return; - } + peep->destination_x = x; + peep->destination_y = y; + return; + } - peep->var_37 |= 3; + peep->var_37 |= 3; - x = ride->exits[peep->current_ride_station] & 0xFF; - y = ride->exits[peep->current_ride_station] >> 8; - sint16 z = ride->station_heights[peep->current_ride_station]; + x = ride->exits[peep->current_ride_station] & 0xFF; + y = ride->exits[peep->current_ride_station] >> 8; + sint16 z = ride->station_heights[peep->current_ride_station]; - rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); + rct_map_element* map_element = ride_get_station_exit_element(ride, x, y, z); - uint8 exit_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); - exit_direction ^= (1 << 1); + uint8 exit_direction = (map_element == NULL ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK); + exit_direction ^= (1 << 1); - x *= 32; - y *= 32; - x += 16; - y += 16; + x *= 32; + y *= 32; + x += 16; + y += 16; - sint16 x_shift = word_981D6C[exit_direction].x; - sint16 y_shift = word_981D6C[exit_direction].y; + sint16 x_shift = word_981D6C[exit_direction].x; + sint16 y_shift = word_981D6C[exit_direction].y; - sint16 shift_multiplier = 20; + sint16 shift_multiplier = 20; - x_shift *= shift_multiplier; - y_shift *= shift_multiplier; + x_shift *= shift_multiplier; + y_shift *= shift_multiplier; - x -= x_shift; - y -= y_shift; + x -= x_shift; + y -= y_shift; - peep->destination_x = x; - peep->destination_y = y; + peep->destination_x = x; + peep->destination_y = y; } /** rct2: 0x00981FE4 */ static const uint8 _981FE4[][4] = { - { 15, 7, 15, 7 }, - { 11, 3, 11, 3 }, - { 7, 15, 7, 15 }, - { 3, 11, 3, 11 }, + { 15, 7, 15, 7 }, + { 11, 3, 11, 3 }, + { 7, 15, 7, 15 }, + { 3, 11, 3, 11 }, }; /** rct2: 0x00981FF4 */ static const uint8 _981FF4[][4] = { - { 1, 2, 14, 0 }, - { 4, 5, 6, 2 }, - { 6, 8, 9, 10 }, - { 14, 10, 12, 13 }, + { 1, 2, 14, 0 }, + { 4, 5, 6, 2 }, + { 6, 8, 9, 10 }, + { 14, 10, 12, 13 }, }; /** @@ -3826,141 +3826,141 @@ static const uint8 _981FF4[][4] = { * rct2: 0x00692A83 */ static void peep_update_ride_sub_state_17(rct_peep* peep){ - sint16 x, y, xy_distance; + sint16 x, y, xy_distance; - if (peep_update_action(&x, &y, &xy_distance, peep)){ - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + if (peep_update_action(&x, &y, &xy_distance, peep)){ + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - rct_ride* ride = get_ride(peep->current_ride); - if (peep->var_37 == 16){ - peep_update_ride_prepare_for_state_9(peep); - return; - } + rct_ride* ride = get_ride(peep->current_ride); + if (peep->var_37 == 16){ + peep_update_ride_prepare_for_state_9(peep); + return; + } - if (peep->action >= PEEP_ACTION_NONE_1){ - if (peep->energy > 64 && - (scenario_rand() & 0xFFFF) <= 2427){ + if (peep->action >= PEEP_ACTION_NONE_1){ + if (peep->energy > 64 && + (scenario_rand() & 0xFFFF) <= 2427){ - peep->action = PEEP_ACTION_JUMP; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - } - } + peep->action = PEEP_ACTION_JUMP; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + } + } - x = peep->destination_x & 0xFFE0; - y = peep->destination_y & 0xFFE0; - sint16 z = ride->station_heights[0]; + x = peep->destination_x & 0xFFE0; + y = peep->destination_y & 0xFFE0; + sint16 z = ride->station_heights[0]; - // Find the station track element - rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK && z == mapElement->base_height) - break; + // Find the station track element + rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK && z == mapElement->base_height) + break; - } while (!map_element_is_last_for_tile(mapElement++)); + } while (!map_element_is_last_for_tile(mapElement++)); - uint16 maze_entry = mapElement->properties.track.maze_entry; - uint16 open_hedges = 0; - uint8 var_37 = peep->var_37; - // var_37 is 3, 7, 11 or 15 + uint16 maze_entry = mapElement->properties.track.maze_entry; + uint16 open_hedges = 0; + uint8 var_37 = peep->var_37; + // var_37 is 3, 7, 11 or 15 - if (maze_entry & (1 << _981FF4[var_37 / 4][3])) { - open_hedges = 1; - } - open_hedges <<= 1; - if (maze_entry & (1 << _981FF4[var_37 / 4][2])) { - open_hedges |= 1; - } - open_hedges <<= 1; - if (maze_entry & (1 << _981FF4[var_37 / 4][1])) { - open_hedges |= 1; - } - open_hedges <<= 1; - if (maze_entry & (1 << _981FF4[var_37 / 4][0])) { - open_hedges |= 1; - } + if (maze_entry & (1 << _981FF4[var_37 / 4][3])) { + open_hedges = 1; + } + open_hedges <<= 1; + if (maze_entry & (1 << _981FF4[var_37 / 4][2])) { + open_hedges |= 1; + } + open_hedges <<= 1; + if (maze_entry & (1 << _981FF4[var_37 / 4][1])) { + open_hedges |= 1; + } + open_hedges <<= 1; + if (maze_entry & (1 << _981FF4[var_37 / 4][0])) { + open_hedges |= 1; + } - open_hedges ^= 0xF; - if (open_hedges == 0) - return; + open_hedges ^= 0xF; + if (open_hedges == 0) + return; - uint8 maze_last_edge = peep->maze_last_edge ^ (1 << 1); - open_hedges &= ~(1 << maze_last_edge); - if (open_hedges == 0) - open_hedges |= (1 << maze_last_edge); + uint8 maze_last_edge = peep->maze_last_edge ^ (1 << 1); + open_hedges &= ~(1 << maze_last_edge); + if (open_hedges == 0) + open_hedges |= (1 << maze_last_edge); - uint8 chosen_edge = scenario_rand() & 0x3; - while (!(open_hedges & (1 << chosen_edge))){ - chosen_edge = (chosen_edge + 1) & 3; - } + uint8 chosen_edge = scenario_rand() & 0x3; + while (!(open_hedges & (1 << chosen_edge))){ + chosen_edge = (chosen_edge + 1) & 3; + } - x = TileDirectionDelta[chosen_edge].x / 2; - y = TileDirectionDelta[chosen_edge].y / 2; + x = TileDirectionDelta[chosen_edge].x / 2; + y = TileDirectionDelta[chosen_edge].y / 2; - x += peep->destination_x; - y += peep->destination_y; + x += peep->destination_x; + y += peep->destination_y; - uint8 type = 0; + uint8 type = 0; - mapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (z != mapElement->base_height) - continue; + mapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (z != mapElement->base_height) + continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK){ - type = 1; - break; - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK){ + type = 1; + break; + } - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE && - mapElement->properties.entrance.type == ENTRANCE_TYPE_RIDE_EXIT){ - type = 2; - break; - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE && + mapElement->properties.entrance.type == ENTRANCE_TYPE_RIDE_EXIT){ + type = 2; + break; + } + } while (!map_element_is_last_for_tile(mapElement++)); - switch (type){ - case 0: - peep->maze_last_edge++; - peep->maze_last_edge &= 3; - return; - case 1: - peep->destination_x = x; - peep->destination_y = y; + switch (type){ + case 0: + peep->maze_last_edge++; + peep->maze_last_edge &= 3; + return; + case 1: + peep->destination_x = x; + peep->destination_y = y; - peep->var_37 = _981FE4[peep->var_37 / 4][chosen_edge]; - peep->maze_last_edge = chosen_edge; - break; - case 2: - x = peep->destination_x; - y = peep->destination_y; - if (chosen_edge & 1){ - x &= 0xFFE0; - x += 16; - } - else{ - y &= 0xFFE0; - y += 16; - } - peep->destination_x = x; - peep->destination_y = y; - peep->var_37 = 16; - peep->maze_last_edge = chosen_edge; - break; - } + peep->var_37 = _981FE4[peep->var_37 / 4][chosen_edge]; + peep->maze_last_edge = chosen_edge; + break; + case 2: + x = peep->destination_x; + y = peep->destination_y; + if (chosen_edge & 1){ + x &= 0xFFE0; + x += 16; + } + else{ + y &= 0xFFE0; + y += 16; + } + peep->destination_x = x; + peep->destination_y = y; + peep->var_37 = 16; + peep->maze_last_edge = chosen_edge; + break; + } - if (peep_update_action(&x, &y, &xy_distance, peep)){ - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + if (peep_update_action(&x, &y, &xy_distance, peep)){ + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } } /** @@ -3968,54 +3968,54 @@ static void peep_update_ride_sub_state_17(rct_peep* peep){ * rct2: 0x006938D2 */ static void peep_update_ride_sub_state_18(rct_peep* peep){ - sint16 x, y, xy_distance; - rct_ride* ride = get_ride(peep->current_ride); + sint16 x, y, xy_distance; + rct_ride* ride = get_ride(peep->current_ride); - if (peep_update_action(&x, &y, &xy_distance, peep)){ - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, ride->station_heights[peep->current_ride_station] * 8, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + if (peep_update_action(&x, &y, &xy_distance, peep)){ + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, ride->station_heights[peep->current_ride_station] * 8, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - peep_on_enter_or_exit_ride(peep, peep->current_ride, 1); + peep_on_enter_or_exit_ride(peep, peep->current_ride, 1); - if (peep->peep_flags & PEEP_FLAGS_TRACKING){ - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); + if (peep->peep_flags & PEEP_FLAGS_TRACKING){ + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); - if (gConfigNotifications.guest_left_ride) { - news_item_add_to_queue(NEWS_ITEM_PEEP_ON_RIDE, STR_PEEP_TRACKING_LEFT_RIDE_X, peep->sprite_index); - } - } + if (gConfigNotifications.guest_left_ride) { + news_item_add_to_queue(NEWS_ITEM_PEEP_ON_RIDE, STR_PEEP_TRACKING_LEFT_RIDE_X, peep->sprite_index); + } + } - peep->interaction_ride_index = 0xFF; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); + peep->interaction_ride_index = 0xFF; + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); - x = peep->x & 0xFFE0; - y = peep->y & 0xFFE0; + x = peep->x & 0xFFE0; + y = peep->y & 0xFFE0; - // Find the station track element - rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; + // Find the station track element + rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; - sint16 z = map_height_from_slope(peep->x, peep->y, mapElement->properties.path.type); - z += mapElement->base_height * 8; + sint16 z = map_height_from_slope(peep->x, peep->y, mapElement->properties.path.type); + z += mapElement->base_height * 8; - sint16 z_diff = peep->z - z; - if (z_diff > 0 || z_diff < -16) - continue; + sint16 z_diff = peep->z - z; + if (z_diff > 0 || z_diff < -16) + continue; - sprite_move(peep->x, peep->y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } while (!map_element_is_last_for_tile(mapElement++)); + sprite_move(peep->x, peep->y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } while (!map_element_is_last_for_tile(mapElement++)); } /** @@ -4023,16 +4023,16 @@ static void peep_update_ride_sub_state_18(rct_peep* peep){ * rct2: 0x0069299C */ static void peep_update_ride_sub_state_19(rct_peep* peep){ - sint16 x, y, xy_distance; + sint16 x, y, xy_distance; - if (peep_update_action(&x, &y, &xy_distance, peep)){ - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + if (peep_update_action(&x, &y, &xy_distance, peep)){ + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - peep->sub_state++; + peep->sub_state++; } /** @@ -4040,50 +4040,50 @@ static void peep_update_ride_sub_state_19(rct_peep* peep){ * rct2: 0x006929BB */ static void peep_update_ride_sub_state_20(rct_peep* peep){ - sint16 x, y; - rct_ride* ride = get_ride(peep->current_ride); + sint16 x, y; + rct_ride* ride = get_ride(peep->current_ride); - if (ride->type == RIDE_TYPE_FIRST_AID){ - if (peep->nausea <= 35){ - peep->sub_state++; + if (ride->type == RIDE_TYPE_FIRST_AID){ + if (peep->nausea <= 35){ + peep->sub_state++; - x = peep->next_x + 16; - y = peep->next_y + 16; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 3; - peep->happiness_growth_rate = min(peep->happiness_growth_rate + 30, 0xFF); - peep->happiness = peep->happiness_growth_rate; - } - else{ - peep->nausea--; - peep->nausea_growth_rate = peep->nausea; - } - return; - } + x = peep->next_x + 16; + y = peep->next_y + 16; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 3; + peep->happiness_growth_rate = min(peep->happiness_growth_rate + 30, 0xFF); + peep->happiness = peep->happiness_growth_rate; + } + else{ + peep->nausea--; + peep->nausea_growth_rate = peep->nausea; + } + return; + } - if (peep->bathroom != 0){ - peep->bathroom--; - return; - } + if (peep->bathroom != 0){ + peep->bathroom--; + return; + } - // Do not play toilet flush sound on title screen as it's considered loud and annoying - if (!(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) { - audio_play_sound_at_location(SOUND_TOILET_FLUSH, peep->x, peep->y, peep->z); - } + // Do not play toilet flush sound on title screen as it's considered loud and annoying + if (!(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) { + audio_play_sound_at_location(SOUND_TOILET_FLUSH, peep->x, peep->y, peep->z); + } - peep->sub_state++; + peep->sub_state++; - x = peep->next_x + 16; - y = peep->next_y + 16; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 3; + x = peep->next_x + 16; + y = peep->next_y + 16; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 3; - peep->happiness_growth_rate = min(peep->happiness_growth_rate + 30, 0xFF); - peep->happiness = peep->happiness_growth_rate; + peep->happiness_growth_rate = min(peep->happiness_growth_rate + 30, 0xFF); + peep->happiness = peep->happiness_growth_rate; - peep_stop_purchase_thought(peep, ride->type); + peep_stop_purchase_thought(peep, ride->type); } /** @@ -4091,30 +4091,30 @@ static void peep_update_ride_sub_state_20(rct_peep* peep){ * rct2: 0x00692935 */ static void peep_update_ride_sub_state_21(rct_peep* peep){ - sint16 x, y, xy_distance; + sint16 x, y, xy_distance; - if (peep_update_action(&x, &y, &xy_distance, peep)){ - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); + if (peep_update_action(&x, &y, &xy_distance, peep)){ + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - x = peep->x & 0xFFE0; - y = peep->y & 0xFFE0; - if (x != peep->next_x) - return; - if (y != peep->next_y) - return; - } + x = peep->x & 0xFFE0; + y = peep->y & 0xFFE0; + if (x != peep->next_x) + return; + if (y != peep->next_y) + return; + } - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_WALKING; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_WALKING; + peep_window_state_update(peep); - rct_ride* ride = get_ride(peep->current_ride); - ride->total_customers++; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; + rct_ride* ride = get_ride(peep->current_ride); + ride->total_customers++; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; - ride_update_satisfaction(ride, peep->happiness / 64); + ride_update_satisfaction(ride, peep->happiness / 64); } /** @@ -4122,99 +4122,99 @@ static void peep_update_ride_sub_state_21(rct_peep* peep){ * rct2: 0x691A30 * Used by entering_ride and queueing_front */ static void peep_update_ride(rct_peep* peep){ - switch (peep->sub_state){ - case 0: - peep_update_ride_sub_state_0(peep); - break; - case 1: - peep_update_ride_sub_state_1(peep); - break; - case 2: - peep_update_ride_sub_state_2(peep); - break; - case 3: - peep_update_ride_sub_state_1(peep); - break; - case 4: - { - sint16 x, y, xy_distance; - if (!peep_update_action(&x, &y, &xy_distance, peep)) - { - peep->sub_state = 5; - break; - } + switch (peep->sub_state){ + case 0: + peep_update_ride_sub_state_0(peep); + break; + case 1: + peep_update_ride_sub_state_1(peep); + break; + case 2: + peep_update_ride_sub_state_2(peep); + break; + case 3: + peep_update_ride_sub_state_1(peep); + break; + case 4: + { + sint16 x, y, xy_distance; + if (!peep_update_action(&x, &y, &xy_distance, peep)) + { + peep->sub_state = 5; + break; + } - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - break; - } - case 5: - peep_update_ride_sub_state_5(peep); - break; - case 6: - // No action, on ride. - break; - case 7: - peep_update_ride_sub_state_7(peep); - break; - case 8: - peep_update_ride_sub_state_8(peep); - break; - case 9: - peep_update_ride_sub_state_9(peep); - break; - case 10: - case 11: - assert(false); - break; - case 12: - peep_update_ride_sub_state_12(peep); - break; - case 13: - peep_update_ride_sub_state_13(peep); - break; - case 14: - peep_update_ride_sub_state_14(peep); - break; - case 15: - peep_update_ride_sub_state_15(peep); - break; - case 16: - peep_update_ride_sub_state_16(peep); - break; - case 17: - peep_update_ride_sub_state_17(peep); - break; - case 18: - peep_update_ride_sub_state_18(peep); - break; - case 19: - peep_update_ride_sub_state_19(peep); - break; - case 20: - peep_update_ride_sub_state_20(peep); - break; - case 21: - peep_update_ride_sub_state_21(peep); - break; - default: - // Invalid peep sub-state - assert(false); - break; - } + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + break; + } + case 5: + peep_update_ride_sub_state_5(peep); + break; + case 6: + // No action, on ride. + break; + case 7: + peep_update_ride_sub_state_7(peep); + break; + case 8: + peep_update_ride_sub_state_8(peep); + break; + case 9: + peep_update_ride_sub_state_9(peep); + break; + case 10: + case 11: + assert(false); + break; + case 12: + peep_update_ride_sub_state_12(peep); + break; + case 13: + peep_update_ride_sub_state_13(peep); + break; + case 14: + peep_update_ride_sub_state_14(peep); + break; + case 15: + peep_update_ride_sub_state_15(peep); + break; + case 16: + peep_update_ride_sub_state_16(peep); + break; + case 17: + peep_update_ride_sub_state_17(peep); + break; + case 18: + peep_update_ride_sub_state_18(peep); + break; + case 19: + peep_update_ride_sub_state_19(peep); + break; + case 20: + peep_update_ride_sub_state_20(peep); + break; + case 21: + peep_update_ride_sub_state_21(peep); + break; + default: + // Invalid peep sub-state + assert(false); + break; + } } static const uint32 loc_992A18[9] = { - (1 << 14) | (1 << 13) | (1 << 12) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 7), - (1 << 14) | (1 << 13) | (1 << 12) | (1 << 2) | (1 << 1), - (1 << 14) | (1 << 13) | (1 << 12) | (1 << 4) | (1 << 1), - (1 << 14) | (1 << 13) | (1 << 12) | (1 << 3) | (1 << 1), - (1 << 14) | (1 << 13) | (1 << 12) | (1 << 5) | (1 << 1), - (1 << 14) | (1 << 13) | (1 << 12) | (1 << 6) | (1 << 1), - (1 << 14) | (1 << 13) | (1 << 12) | (1 << 11)| (1 << 9), - (1 << 14) | (1 << 13) | (1 << 12) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 7), - (1 << 14) | (1 << 13) | (1 << 12) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 7), + (1 << 14) | (1 << 13) | (1 << 12) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 7), + (1 << 14) | (1 << 13) | (1 << 12) | (1 << 2) | (1 << 1), + (1 << 14) | (1 << 13) | (1 << 12) | (1 << 4) | (1 << 1), + (1 << 14) | (1 << 13) | (1 << 12) | (1 << 3) | (1 << 1), + (1 << 14) | (1 << 13) | (1 << 12) | (1 << 5) | (1 << 1), + (1 << 14) | (1 << 13) | (1 << 12) | (1 << 6) | (1 << 1), + (1 << 14) | (1 << 13) | (1 << 12) | (1 << 11)| (1 << 9), + (1 << 14) | (1 << 13) | (1 << 12) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 7), + (1 << 14) | (1 << 13) | (1 << 12) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 7), }; /** @@ -4223,606 +4223,606 @@ static const uint32 loc_992A18[9] = { * Also used by inspecting. */ static void peep_update_fixing(sint32 steps, rct_peep* peep){ - rct_ride* ride = get_ride(peep->current_ride); + rct_ride* ride = get_ride(peep->current_ride); - if (ride->type == RIDE_TYPE_NULL) - { - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - return; - } + if (ride->type == RIDE_TYPE_NULL) + { + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + return; + } - bool progressToNextSubstate = true; - bool firstRun = true; + bool progressToNextSubstate = true; + bool firstRun = true; - while (progressToNextSubstate) { - switch (peep->sub_state) { - case 0: - progressToNextSubstate = peep_update_fixing_sub_state_0(ride); - break; + while (progressToNextSubstate) { + switch (peep->sub_state) { + case 0: + progressToNextSubstate = peep_update_fixing_sub_state_0(ride); + break; - case 1: - progressToNextSubstate = peep_update_fixing_sub_state_1(firstRun, peep, ride); - break; + case 1: + progressToNextSubstate = peep_update_fixing_sub_state_1(firstRun, peep, ride); + break; - case 2: - case 3: - case 4: - case 5: - progressToNextSubstate = peep_update_fixing_sub_state_2345(firstRun, peep, ride); - break; + case 2: + case 3: + case 4: + case 5: + progressToNextSubstate = peep_update_fixing_sub_state_2345(firstRun, peep, ride); + break; - case 6: - progressToNextSubstate = peep_update_fixing_sub_state_6(firstRun, peep, ride); - break; + case 6: + progressToNextSubstate = peep_update_fixing_sub_state_6(firstRun, peep, ride); + break; - case 7: - progressToNextSubstate = peep_update_fixing_sub_state_7(firstRun, peep, ride); - break; + case 7: + progressToNextSubstate = peep_update_fixing_sub_state_7(firstRun, peep, ride); + break; - case 8: - progressToNextSubstate = peep_update_fixing_sub_state_8(firstRun, peep); - break; + case 8: + progressToNextSubstate = peep_update_fixing_sub_state_8(firstRun, peep); + break; - case 9: - progressToNextSubstate = peep_update_fixing_sub_state_9(firstRun, peep, ride); - break; + case 9: + progressToNextSubstate = peep_update_fixing_sub_state_9(firstRun, peep, ride); + break; - case 10: - progressToNextSubstate = peep_update_fixing_sub_state_10(firstRun, peep, ride); - break; + case 10: + progressToNextSubstate = peep_update_fixing_sub_state_10(firstRun, peep, ride); + break; - case 11: - progressToNextSubstate = peep_update_fixing_sub_state_11(firstRun, peep, ride); - break; + case 11: + progressToNextSubstate = peep_update_fixing_sub_state_11(firstRun, peep, ride); + break; - case 12: - progressToNextSubstate = peep_update_fixing_sub_state_12(firstRun, peep, ride); - break; + case 12: + progressToNextSubstate = peep_update_fixing_sub_state_12(firstRun, peep, ride); + break; - case 13: - progressToNextSubstate = peep_update_fixing_sub_state_13(firstRun, steps, peep, ride); - break; + case 13: + progressToNextSubstate = peep_update_fixing_sub_state_13(firstRun, steps, peep, ride); + break; - case 14: - progressToNextSubstate = peep_update_fixing_sub_state_14(firstRun, peep, ride); - break; + case 14: + progressToNextSubstate = peep_update_fixing_sub_state_14(firstRun, peep, ride); + break; - default: - log_error("Invalid substate"); - progressToNextSubstate = false; - } + default: + log_error("Invalid substate"); + progressToNextSubstate = false; + } - firstRun = false; + firstRun = false; - if (!progressToNextSubstate) { - break; - } + if (!progressToNextSubstate) { + break; + } - sint32 subState = peep->sub_state; - uint32 ebp = loc_992A18[8]; + sint32 subState = peep->sub_state; + uint32 ebp = loc_992A18[8]; - if (peep->state != PEEP_STATE_INSPECTING) { - ebp = loc_992A18[ride->breakdown_reason_pending]; - } + if (peep->state != PEEP_STATE_INSPECTING) { + ebp = loc_992A18[ride->breakdown_reason_pending]; + } - do { - subState++; - } while ((ebp & (1 << subState)) == 0); + do { + subState++; + } while ((ebp & (1 << subState)) == 0); - peep->sub_state = subState & 0xFF; - } + peep->sub_state = subState & 0xFF; + } } /** * rct2: 0x006C0EEC */ static bool peep_update_fixing_sub_state_0(rct_ride *ride) { - ride->mechanic_status = RIDE_MECHANIC_STATUS_FIXING; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; + ride->mechanic_status = RIDE_MECHANIC_STATUS_FIXING; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; - return true; + return true; } /** * rct2: 0x006C0F09 */ static bool peep_update_fixing_sub_state_1(bool firstRun, rct_peep *peep, rct_ride *ride) { - sint16 x, y, tmp_xy_distance; + sint16 x, y, tmp_xy_distance; - if (!firstRun) { - rct_vehicle *vehicle = ride_get_broken_vehicle(ride); - if (vehicle == NULL) { - return true; - } + if (!firstRun) { + rct_vehicle *vehicle = ride_get_broken_vehicle(ride); + if (vehicle == NULL) { + return true; + } - while (true) { - if (vehicle->is_child == 0) { - break; - } + while (true) { + if (vehicle->is_child == 0) { + break; + } - uint8 trackType = vehicle->track_type >> 2; - if (trackType == TRACK_ELEM_END_STATION) { - break; - } + uint8 trackType = vehicle->track_type >> 2; + if (trackType == TRACK_ELEM_END_STATION) { + break; + } - if (trackType == TRACK_ELEM_BEGIN_STATION) { - break; - } + if (trackType == TRACK_ELEM_BEGIN_STATION) { + break; + } - if (trackType == TRACK_ELEM_MIDDLE_STATION) { - break; - } + if (trackType == TRACK_ELEM_MIDDLE_STATION) { + break; + } - vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); - } + vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); + } - rct_xy16 offset = word_981D6C[peep->direction]; - peep->destination_x = (offset.x * -12) + vehicle->x; - peep->destination_y = (offset.y * -12) + vehicle->y; - peep->destination_tolerence = 2; - } + rct_xy16 offset = word_981D6C[peep->direction]; + peep->destination_x = (offset.x * -12) + vehicle->x; + peep->destination_y = (offset.y * -12) + vehicle->y; + peep->destination_tolerence = 2; + } - invalidate_sprite_2((rct_sprite *) peep); - if (peep_update_action(&x, &y, &tmp_xy_distance, peep)) { - sprite_move(x, y, peep->z, (rct_sprite *) peep); - invalidate_sprite_2((rct_sprite *) peep); - return false; - } + invalidate_sprite_2((rct_sprite *) peep); + if (peep_update_action(&x, &y, &tmp_xy_distance, peep)) { + sprite_move(x, y, peep->z, (rct_sprite *) peep); + invalidate_sprite_2((rct_sprite *) peep); + return false; + } - return true; + return true; } /** * rct2: 0x006C0FD3 */ static bool peep_update_fixing_sub_state_2345(bool firstRun, rct_peep *peep, rct_ride *ride) { - sint16 tmp_x, tmp_y, tmp_distance; + sint16 tmp_x, tmp_y, tmp_distance; - if (!firstRun) { - peep->sprite_direction = peep->direction << 3; + if (!firstRun) { + peep->sprite_direction = peep->direction << 3; - peep->action = (scenario_rand() & 1) ? PEEP_ACTION_STAFF_FIX_2 : PEEP_ACTION_STAFF_FIX; - peep->action_sprite_image_offset = 0; - peep->action_frame = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite *) peep); - } + peep->action = (scenario_rand() & 1) ? PEEP_ACTION_STAFF_FIX_2 : PEEP_ACTION_STAFF_FIX; + peep->action_sprite_image_offset = 0; + peep->action_frame = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite *) peep); + } - if (peep->action == PEEP_ACTION_NONE_2) { - return true; - } + if (peep->action == PEEP_ACTION_NONE_2) { + return true; + } - peep_update_action(&tmp_x, &tmp_y, &tmp_distance, peep); + peep_update_action(&tmp_x, &tmp_y, &tmp_distance, peep); - uint8 actionFrame = (peep->action == PEEP_ACTION_STAFF_FIX) ? 0x25 : 0x50; - if (peep->action_frame != actionFrame) { - return false; - } + uint8 actionFrame = (peep->action == PEEP_ACTION_STAFF_FIX) ? 0x25 : 0x50; + if (peep->action_frame != actionFrame) { + return false; + } - rct_vehicle *vehicle = ride_get_broken_vehicle(ride); - if (vehicle == NULL) { - return true; - } + rct_vehicle *vehicle = ride_get_broken_vehicle(ride); + if (vehicle == NULL) { + return true; + } - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_BROKEN_CAR; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_BROKEN_CAR; - return false; + return false; } /** * rct2: 0x006C107B */ static bool peep_update_fixing_sub_state_6(bool firstRun, rct_peep *peep, rct_ride *ride) { - sint16 tmp_x, tmp_y, tmp_distance; + sint16 tmp_x, tmp_y, tmp_distance; - if (!firstRun) { - peep->sprite_direction = peep->direction << 3; - peep->action = PEEP_ACTION_STAFF_FIX_3; - peep->action_sprite_image_offset = 0; - peep->action_frame = 0; + if (!firstRun) { + peep->sprite_direction = peep->direction << 3; + peep->action = PEEP_ACTION_STAFF_FIX_3; + peep->action_sprite_image_offset = 0; + peep->action_frame = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite *) peep); - } + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite *) peep); + } - if (peep->action == PEEP_ACTION_NONE_2) { - return true; - } + if (peep->action == PEEP_ACTION_NONE_2) { + return true; + } - peep_update_action(&tmp_x, &tmp_y, &tmp_distance, peep); - if (peep->action_frame != 0x65) { - return false; - } + peep_update_action(&tmp_x, &tmp_y, &tmp_distance, peep); + if (peep->action_frame != 0x65) { + return false; + } - rct_vehicle *vehicle = ride_get_broken_vehicle(ride); - if (vehicle == NULL) { - return true; - } + rct_vehicle *vehicle = ride_get_broken_vehicle(ride); + if (vehicle == NULL) { + return true; + } - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_BROKEN_TRAIN; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_BROKEN_TRAIN; - return false; + return false; } /** rct2: 0x00992A3C */ static const rct_xy16 _992A3C[] = { - { -12, 0 }, - { 0, 12 }, - { 12, 0 }, - { 0, -12 }, + { -12, 0 }, + { 0, 12 }, + { 12, 0 }, + { 0, -12 }, }; /** * rct2: 0x006C1114 */ static bool peep_update_fixing_sub_state_7(bool firstRun, rct_peep *peep, rct_ride *ride) { - sint16 x, y, tmp_distance; + sint16 x, y, tmp_distance; - if (!firstRun) { - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_HAS_NO_TRACK)) { - return true; - } + if (!firstRun) { + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_HAS_NO_TRACK)) { + return true; + } - uint16 stationPosition = ride->station_starts[peep->current_ride_station]; - if (stationPosition == 0xFFFF) { - return true; - } + uint16 stationPosition = ride->station_starts[peep->current_ride_station]; + if (stationPosition == 0xFFFF) { + return true; + } - uint8 stationZ = ride->station_heights[peep->current_ride_station]; - uint16 stationX = (stationPosition & 0xFF) * 32; - uint16 stationY = (stationPosition >> 8) * 32; + uint8 stationZ = ride->station_heights[peep->current_ride_station]; + uint16 stationX = (stationPosition & 0xFF) * 32; + uint16 stationY = (stationPosition >> 8) * 32; - rct_map_element *mapElement = map_get_track_element_at(stationX, stationY, stationZ); - if (mapElement == NULL) { - log_error("Couldn't find map_element"); - return false; - } + rct_map_element *mapElement = map_get_track_element_at(stationX, stationY, stationZ); + if (mapElement == NULL) { + log_error("Couldn't find map_element"); + return false; + } - sint32 direction = map_element_get_direction(mapElement); - rct_xy16 offset = _992A3C[direction]; + sint32 direction = map_element_get_direction(mapElement); + rct_xy16 offset = _992A3C[direction]; - stationX += 16 + offset.x; - if (offset.x == 0) { - stationX = peep->destination_x; - } + stationX += 16 + offset.x; + if (offset.x == 0) { + stationX = peep->destination_x; + } - stationY += 16 + offset.y; - if (offset.y == 0) { - stationY = peep->destination_y; - } + stationY += 16 + offset.y; + if (offset.y == 0) { + stationY = peep->destination_y; + } - peep->destination_x = stationX; - peep->destination_y = stationY; - peep->destination_tolerence = 2; - } + peep->destination_x = stationX; + peep->destination_y = stationY; + peep->destination_tolerence = 2; + } - invalidate_sprite_2((rct_sprite *) peep); - if (!peep_update_action(&x, &y, &tmp_distance, peep)) { - return true; - } + invalidate_sprite_2((rct_sprite *) peep); + if (!peep_update_action(&x, &y, &tmp_distance, peep)) { + return true; + } - sprite_move(x, y, peep->z, (rct_sprite *) peep); - invalidate_sprite_2((rct_sprite *) peep); + sprite_move(x, y, peep->z, (rct_sprite *) peep); + invalidate_sprite_2((rct_sprite *) peep); - return false; + return false; } /** * rct2: 0x006C11F5 */ static bool peep_update_fixing_sub_state_8(bool firstRun, rct_peep *peep) { - sint16 tmp_x, tmp_y, tmp_xy_distance; + sint16 tmp_x, tmp_y, tmp_xy_distance; - if (!firstRun) { - peep->sprite_direction = peep->direction << 3; - peep->action = PEEP_ACTION_STAFF_CHECKBOARD; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; + if (!firstRun) { + peep->sprite_direction = peep->direction << 3; + peep->action = PEEP_ACTION_STAFF_CHECKBOARD; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite *) peep); - } + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite *) peep); + } - if (peep->action == PEEP_ACTION_NONE_2) { - return true; - } + if (peep->action == PEEP_ACTION_NONE_2) { + return true; + } - peep_update_action(&tmp_x, &tmp_y, &tmp_xy_distance, peep); + peep_update_action(&tmp_x, &tmp_y, &tmp_xy_distance, peep); - return false; + return false; } /** * rct2: 0x006C1239 */ static bool peep_update_fixing_sub_state_9(bool firstRun, rct_peep *peep, rct_ride *ride) { - sint16 x, y, tmp_xy_distance; + sint16 x, y, tmp_xy_distance; - if (!firstRun) { - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_HAS_NO_TRACK)) { - return true; - } + if (!firstRun) { + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_HAS_NO_TRACK)) { + return true; + } - uint16 stationPosition = ride->station_starts[peep->current_ride_station]; - if (stationPosition == 0xFFFF) { - return true; - } + uint16 stationPosition = ride->station_starts[peep->current_ride_station]; + if (stationPosition == 0xFFFF) { + return true; + } - uint8 stationZ = ride->station_heights[peep->current_ride_station]; + uint8 stationZ = ride->station_heights[peep->current_ride_station]; - rct_xy_element input; - input.x = (stationPosition & 0xFF) * 32; - input.y = (stationPosition >> 8) * 32; - input.element = map_get_track_element_at_from_ride(input.x, input.y, stationZ, peep->current_ride); - if (input.element == NULL) { - return true; - } + rct_xy_element input; + input.x = (stationPosition & 0xFF) * 32; + input.y = (stationPosition >> 8) * 32; + input.element = map_get_track_element_at_from_ride(input.x, input.y, stationZ, peep->current_ride); + if (input.element == NULL) { + return true; + } - uint8 direction = 0; - track_begin_end trackBeginEnd; - while (track_block_get_previous(input.x, input.y, input.element, &trackBeginEnd)) { - uint8 trackType = trackBeginEnd.begin_element->properties.track.type; - if (trackType == TRACK_ELEM_BEGIN_STATION || trackType == TRACK_ELEM_MIDDLE_STATION || trackType == TRACK_ELEM_END_STATION) { - input.x = trackBeginEnd.begin_x; - input.y = trackBeginEnd.begin_y; - input.element = trackBeginEnd.begin_element; + uint8 direction = 0; + track_begin_end trackBeginEnd; + while (track_block_get_previous(input.x, input.y, input.element, &trackBeginEnd)) { + uint8 trackType = trackBeginEnd.begin_element->properties.track.type; + if (trackType == TRACK_ELEM_BEGIN_STATION || trackType == TRACK_ELEM_MIDDLE_STATION || trackType == TRACK_ELEM_END_STATION) { + input.x = trackBeginEnd.begin_x; + input.y = trackBeginEnd.begin_y; + input.element = trackBeginEnd.begin_element; - direction = trackBeginEnd.begin_element->type & 3; - continue; - } + direction = trackBeginEnd.begin_element->type & 3; + continue; + } - break; - } + break; + } - // loc_6C12ED: - uint16 destinationX = input.x + 16; - uint16 destinationY = input.y + 16; + // loc_6C12ED: + uint16 destinationX = input.x + 16; + uint16 destinationY = input.y + 16; - rct_xy16 offset = _992A3C[direction]; + rct_xy16 offset = _992A3C[direction]; - destinationX -= offset.x; - if (offset.x == 0) { - destinationX = peep->destination_x; - } + destinationX -= offset.x; + if (offset.x == 0) { + destinationX = peep->destination_x; + } - destinationY -= offset.y; - if (offset.y == 0) { - destinationY = peep->destination_y; - } + destinationY -= offset.y; + if (offset.y == 0) { + destinationY = peep->destination_y; + } - peep->destination_x = destinationX; - peep->destination_y = destinationY; - peep->destination_tolerence = 2; - } + peep->destination_x = destinationX; + peep->destination_y = destinationY; + peep->destination_tolerence = 2; + } - invalidate_sprite_2((rct_sprite *) peep); + invalidate_sprite_2((rct_sprite *) peep); - if (!peep_update_action(&x, &y, &tmp_xy_distance, peep)) { - return true; - } + if (!peep_update_action(&x, &y, &tmp_xy_distance, peep)) { + return true; + } - sprite_move(x, y, peep->z, (rct_sprite *) peep); - invalidate_sprite_2((rct_sprite *) peep); + sprite_move(x, y, peep->z, (rct_sprite *) peep); + invalidate_sprite_2((rct_sprite *) peep); - return false; + return false; } /** * rct2: 0x006C1368 */ static bool peep_update_fixing_sub_state_10(bool firstRun, rct_peep *peep, rct_ride *ride) { - sint16 tmp_x, tmp_y, tmp_xy_distance; + sint16 tmp_x, tmp_y, tmp_xy_distance; - if (!firstRun) { - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_HAS_NO_TRACK)) { - return true; - } + if (!firstRun) { + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_HAS_NO_TRACK)) { + return true; + } - peep->sprite_direction = peep->direction << 3; + peep->sprite_direction = peep->direction << 3; - peep->action = PEEP_ACTION_STAFF_FIX; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; + peep->action = PEEP_ACTION_STAFF_FIX; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite *) peep); - } + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite *) peep); + } - if (peep->action == PEEP_ACTION_NONE_2) { - return true; - } + if (peep->action == PEEP_ACTION_NONE_2) { + return true; + } - peep_update_action(&tmp_x, &tmp_y, &tmp_xy_distance, peep); + peep_update_action(&tmp_x, &tmp_y, &tmp_xy_distance, peep); - return false; + return false; } /** * rct2: 0x006C13CE */ static bool peep_update_fixing_sub_state_11(bool firstRun, rct_peep *peep, rct_ride *ride) { - sint16 tmp_x, tmp_y, tmp_xy_distance; + sint16 tmp_x, tmp_y, tmp_xy_distance; - if (!firstRun) { - peep->sprite_direction = peep->direction << 3; + if (!firstRun) { + peep->sprite_direction = peep->direction << 3; - peep->action = PEEP_ACTION_STAFF_FIX_GROUND; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; + peep->action = PEEP_ACTION_STAFF_FIX_GROUND; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite *) peep); - } + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite *) peep); + } - if (peep->action == PEEP_ACTION_NONE_2) { - return true; - } + if (peep->action == PEEP_ACTION_NONE_2) { + return true; + } - peep_update_action(&tmp_x, &tmp_y, &tmp_xy_distance, peep); - if (peep->action_frame == 0x28) { - ride->mechanic_status = RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; - } + peep_update_action(&tmp_x, &tmp_y, &tmp_xy_distance, peep); + if (peep->action_frame == 0x28) { + ride->mechanic_status = RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; + } - if (peep->action_frame == 0x13 || - peep->action_frame == 0x19 || - peep->action_frame == 0x1F || - peep->action_frame == 0x25 || - peep->action_frame == 0x2B) { - audio_play_sound_at_location(SOUND_MECHANIC_FIX, peep->x, peep->y, peep->z); - } + if (peep->action_frame == 0x13 || + peep->action_frame == 0x19 || + peep->action_frame == 0x1F || + peep->action_frame == 0x25 || + peep->action_frame == 0x2B) { + audio_play_sound_at_location(SOUND_MECHANIC_FIX, peep->x, peep->y, peep->z); + } - return false; + return false; } /** * rct2: 0x006C1474 */ static bool peep_update_fixing_sub_state_12(bool firstRun, rct_peep *peep, rct_ride *ride) { - sint16 x, y, tmp_xy_distance; + sint16 x, y, tmp_xy_distance; - if (!firstRun) { - uint16 stationPosition = ride->exits[peep->current_ride_station]; - if (stationPosition == 0xFFFF) { - stationPosition = ride->entrances[peep->current_ride_station]; + if (!firstRun) { + uint16 stationPosition = ride->exits[peep->current_ride_station]; + if (stationPosition == 0xFFFF) { + stationPosition = ride->entrances[peep->current_ride_station]; - if (stationPosition == 0xFFFF) { - return true; - } - } + if (stationPosition == 0xFFFF) { + return true; + } + } - uint16 stationX = (stationPosition & 0xFF) * 32; - uint16 stationY = (stationPosition >> 8) * 32; + uint16 stationX = (stationPosition & 0xFF) * 32; + uint16 stationY = (stationPosition >> 8) * 32; - stationX += 16; - stationY += 16; + stationX += 16; + stationY += 16; - rct_xy16 direction = word_981D6C[peep->direction]; + rct_xy16 direction = word_981D6C[peep->direction]; - stationX += direction.x * 20; - stationY += direction.y * 20; + stationX += direction.x * 20; + stationY += direction.y * 20; - peep->destination_x = stationX; - peep->destination_y = stationY; - peep->destination_tolerence = 2; - } + peep->destination_x = stationX; + peep->destination_y = stationY; + peep->destination_tolerence = 2; + } - invalidate_sprite_2((rct_sprite *) peep); - if (peep_update_action(&x, &y, &tmp_xy_distance, peep) == 0) { - return true; - } else { - sprite_move(x, y, peep->z, (rct_sprite *) peep); - invalidate_sprite_2((rct_sprite *) peep); - } + invalidate_sprite_2((rct_sprite *) peep); + if (peep_update_action(&x, &y, &tmp_xy_distance, peep) == 0) { + return true; + } else { + sprite_move(x, y, peep->z, (rct_sprite *) peep); + invalidate_sprite_2((rct_sprite *) peep); + } - return false; + return false; } /** * rct2: 0x006C1504 */ static bool peep_update_fixing_sub_state_13(bool firstRun, sint32 steps, rct_peep *peep, rct_ride *ride) { - sint16 tmp_x, tmp_y, tmp_xy_distance; + sint16 tmp_x, tmp_y, tmp_xy_distance; - if (!firstRun) { - if (peep->state == PEEP_STATE_INSPECTING) { - peep_update_ride_inspected(peep->current_ride); + if (!firstRun) { + if (peep->state == PEEP_STATE_INSPECTING) { + peep_update_ride_inspected(peep->current_ride); - peep->staff_rides_inspected++; - peep->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME | RIDE_INVALIDATE_RIDE_LIST; + peep->staff_rides_inspected++; + peep->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME | RIDE_INVALIDATE_RIDE_LIST; - return true; - } + return true; + } - peep->staff_rides_fixed++; - peep->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME | RIDE_INVALIDATE_RIDE_LIST; + peep->staff_rides_fixed++; + peep->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME | RIDE_INVALIDATE_RIDE_LIST; - peep->sprite_direction = peep->direction << 3; - peep->action = PEEP_ACTION_STAFF_ANSWER_CALL_2; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; + peep->sprite_direction = peep->direction << 3; + peep->action = PEEP_ACTION_STAFF_ANSWER_CALL_2; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite *) peep); - } + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite *) peep); + } - if (peep->action != 0xFF) { - peep_update_action(&tmp_x, &tmp_y, &tmp_xy_distance, peep); - return false; - } + if (peep->action != 0xFF) { + peep_update_action(&tmp_x, &tmp_y, &tmp_xy_distance, peep); + return false; + } - ride_fix_breakdown(peep->current_ride, steps); + ride_fix_breakdown(peep->current_ride, steps); - return true; + return true; } /** * rct2: 0x006C157E */ static bool peep_update_fixing_sub_state_14(bool firstRun, rct_peep *peep, rct_ride *ride) { - sint16 x, y, xy_distance; + sint16 x, y, xy_distance; - if (!firstRun) { - uint16 exitPosition = ride->exits[peep->current_ride_station]; - if (exitPosition == 0xFFFF) { - exitPosition = ride->entrances[peep->current_ride_station]; + if (!firstRun) { + uint16 exitPosition = ride->exits[peep->current_ride_station]; + if (exitPosition == 0xFFFF) { + exitPosition = ride->entrances[peep->current_ride_station]; - if (exitPosition == 0xFFFF) { - peep_decrement_num_riders(peep); - peep->state = 0; - peep_window_state_update(peep); - return false; - } - } + if (exitPosition == 0xFFFF) { + peep_decrement_num_riders(peep); + peep->state = 0; + peep_window_state_update(peep); + return false; + } + } - uint16 exitX = (exitPosition & 0xFF) * 32; - uint16 exitY = (exitPosition >> 8) * 32; + uint16 exitX = (exitPosition & 0xFF) * 32; + uint16 exitY = (exitPosition >> 8) * 32; - exitX += 16; - exitY += 16; + exitX += 16; + exitY += 16; - rct_xy16 ebx_direction = word_981D6C[peep->direction]; - exitX -= ebx_direction.x * 19; - exitY -= ebx_direction.y * 19; + rct_xy16 ebx_direction = word_981D6C[peep->direction]; + exitX -= ebx_direction.x * 19; + exitY -= ebx_direction.y * 19; - peep->destination_x = exitX; - peep->destination_y = exitY; - peep->destination_tolerence = 2; - } + peep->destination_x = exitX; + peep->destination_y = exitY; + peep->destination_tolerence = 2; + } - invalidate_sprite_2((rct_sprite *) peep); - if (peep_update_action(&x, &y, &xy_distance, peep) == 0) { - peep_decrement_num_riders(peep); - peep->state = 0; - peep_window_state_update(peep); + invalidate_sprite_2((rct_sprite *) peep); + if (peep_update_action(&x, &y, &xy_distance, peep) == 0) { + peep_decrement_num_riders(peep); + peep->state = 0; + peep_window_state_update(peep); - return false; - } + return false; + } - uint16 z = ride->station_heights[peep->current_ride_station] * 8; + uint16 z = ride->station_heights[peep->current_ride_station] * 8; - if (xy_distance >= 16) { - z += RideData5[ride->type].z; - } + if (xy_distance >= 16) { + z += RideData5[ride->type].z; + } - sprite_move(x, y, z, (rct_sprite *) peep); - invalidate_sprite_2((rct_sprite *) peep); + sprite_move(x, y, z, (rct_sprite *) peep); + invalidate_sprite_2((rct_sprite *) peep); - return false; + return false; } /** * rct2: 0x6B7588 */ static void peep_update_ride_inspected(sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_DUE_INSPECTION; + rct_ride *ride = get_ride(rideIndex); + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_DUE_INSPECTION; - ride->reliability += ((100 - (ride->reliability >> 8)) >> 2) * (scenario_rand() & 0xFF); - ride->last_inspection = 0; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE | RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + ride->reliability += ((100 - (ride->reliability >> 8)) >> 2) * (scenario_rand() & 0xFF); + ride->last_inspection = 0; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE | RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; } /** @@ -4830,127 +4830,127 @@ static void peep_update_ride_inspected(sint32 rideIndex) { * rct2: 0x69185D */ static void peep_update_queuing(rct_peep* peep){ - if (!checkForPath(peep)){ - remove_peep_from_queue(peep); - return; - } - rct_ride* ride = get_ride(peep->current_ride); - if (ride->status == RIDE_STATUS_CLOSED || ride->status == RIDE_STATUS_TESTING){ - remove_peep_from_queue(peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_1; - peep_window_state_update(peep); - return; - } + if (!checkForPath(peep)){ + remove_peep_from_queue(peep); + return; + } + rct_ride* ride = get_ride(peep->current_ride); + if (ride->status == RIDE_STATUS_CLOSED || ride->status == RIDE_STATUS_TESTING){ + remove_peep_from_queue(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_1; + peep_window_state_update(peep); + return; + } - if (peep->sub_state != 10){ - bool is_front = true; - if (peep->next_in_queue != SPRITE_INDEX_NULL) { - // Fix #4819: Occasionally the peep->next_in_queue is incorrectly set - // to prevent this from causing the peeps to enter a loop - // first check if the next in queue is actually nearby - // if they are not then it's safe to assume that this is - // the front of the queue. - rct_peep* next_peep = GET_PEEP(peep->next_in_queue); - if (abs(next_peep->x - peep->x) < 32 && - abs(next_peep->y - peep->y) < 32) { - is_front = false; - } - } - if (is_front){ - //Happens every time peep goes onto ride. - peep->destination_tolerence = 0; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_QUEUING_FRONT; - peep_window_state_update(peep); - peep->sub_state = 0; - return; - } - //Give up queueing for the ride - peep->sprite_direction ^= (1 << 4); - invalidate_sprite_2((rct_sprite*)peep); - remove_peep_from_queue(peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_1; - peep_window_state_update(peep); - return; - } + if (peep->sub_state != 10){ + bool is_front = true; + if (peep->next_in_queue != SPRITE_INDEX_NULL) { + // Fix #4819: Occasionally the peep->next_in_queue is incorrectly set + // to prevent this from causing the peeps to enter a loop + // first check if the next in queue is actually nearby + // if they are not then it's safe to assume that this is + // the front of the queue. + rct_peep* next_peep = GET_PEEP(peep->next_in_queue); + if (abs(next_peep->x - peep->x) < 32 && + abs(next_peep->y - peep->y) < 32) { + is_front = false; + } + } + if (is_front){ + //Happens every time peep goes onto ride. + peep->destination_tolerence = 0; + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_QUEUING_FRONT; + peep_window_state_update(peep); + peep->sub_state = 0; + return; + } + //Give up queueing for the ride + peep->sprite_direction ^= (1 << 4); + invalidate_sprite_2((rct_sprite*)peep); + remove_peep_from_queue(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_1; + peep_window_state_update(peep); + return; + } - peep_perform_next_action(peep); - if (peep->action < 0xFE)return; - if (peep->sprite_type == PEEP_SPRITE_TYPE_NORMAL) { - if (peep->time_in_queue >= 2000 && (0xFFFF & scenario_rand()) <= 119){ - // Eat Food/Look at watch - peep->action = PEEP_ACTION_EAT_FOOD; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - } - if (peep->time_in_queue >= 3500 && (0xFFFF & scenario_rand()) <= 93) - { - //Create the I have been waiting in line ages thought - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_QUEUING_AGES, peep->current_ride); - } - } - else{ - if (!(peep->time_in_queue & 0x3F) && peep->action == 0xFE && peep->next_action_sprite_type == 2){ - switch (peep->sprite_type) { - case PEEP_SPRITE_TYPE_ICE_CREAM: - case PEEP_SPRITE_TYPE_CHIPS: - case PEEP_SPRITE_TYPE_BURGER: - case PEEP_SPRITE_TYPE_DRINK: - case PEEP_SPRITE_TYPE_CANDYFLOSS: - case PEEP_SPRITE_TYPE_PIZZA: - case PEEP_SPRITE_TYPE_POPCORN: - case PEEP_SPRITE_TYPE_HOT_DOG: - case PEEP_SPRITE_TYPE_TENTACLE: - case PEEP_SPRITE_TYPE_TOFFEE_APPLE: - case PEEP_SPRITE_TYPE_DONUT: - case PEEP_SPRITE_TYPE_COFFEE: - case PEEP_SPRITE_TYPE_CHICKEN: - case PEEP_SPRITE_TYPE_LEMONADE: - case PEEP_SPRITE_TYPE_PRETZEL: - case PEEP_SPRITE_TYPE_SU_JONGKWA: - case PEEP_SPRITE_TYPE_JUICE: - case PEEP_SPRITE_TYPE_FUNNEL_CAKE: - case PEEP_SPRITE_TYPE_NOODLES: - case PEEP_SPRITE_TYPE_SAUSAGE: - case PEEP_SPRITE_TYPE_SOUP: - case PEEP_SPRITE_TYPE_SANDWICH: - // Eat food - peep->action = PEEP_ACTION_EAT_FOOD; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - break; - } - } - } - if (peep->time_in_queue < 4300) return; + peep_perform_next_action(peep); + if (peep->action < 0xFE)return; + if (peep->sprite_type == PEEP_SPRITE_TYPE_NORMAL) { + if (peep->time_in_queue >= 2000 && (0xFFFF & scenario_rand()) <= 119){ + // Eat Food/Look at watch + peep->action = PEEP_ACTION_EAT_FOOD; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + } + if (peep->time_in_queue >= 3500 && (0xFFFF & scenario_rand()) <= 93) + { + //Create the I have been waiting in line ages thought + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_QUEUING_AGES, peep->current_ride); + } + } + else{ + if (!(peep->time_in_queue & 0x3F) && peep->action == 0xFE && peep->next_action_sprite_type == 2){ + switch (peep->sprite_type) { + case PEEP_SPRITE_TYPE_ICE_CREAM: + case PEEP_SPRITE_TYPE_CHIPS: + case PEEP_SPRITE_TYPE_BURGER: + case PEEP_SPRITE_TYPE_DRINK: + case PEEP_SPRITE_TYPE_CANDYFLOSS: + case PEEP_SPRITE_TYPE_PIZZA: + case PEEP_SPRITE_TYPE_POPCORN: + case PEEP_SPRITE_TYPE_HOT_DOG: + case PEEP_SPRITE_TYPE_TENTACLE: + case PEEP_SPRITE_TYPE_TOFFEE_APPLE: + case PEEP_SPRITE_TYPE_DONUT: + case PEEP_SPRITE_TYPE_COFFEE: + case PEEP_SPRITE_TYPE_CHICKEN: + case PEEP_SPRITE_TYPE_LEMONADE: + case PEEP_SPRITE_TYPE_PRETZEL: + case PEEP_SPRITE_TYPE_SU_JONGKWA: + case PEEP_SPRITE_TYPE_JUICE: + case PEEP_SPRITE_TYPE_FUNNEL_CAKE: + case PEEP_SPRITE_TYPE_NOODLES: + case PEEP_SPRITE_TYPE_SAUSAGE: + case PEEP_SPRITE_TYPE_SOUP: + case PEEP_SPRITE_TYPE_SANDWICH: + // Eat food + peep->action = PEEP_ACTION_EAT_FOOD; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + break; + } + } + } + if (peep->time_in_queue < 4300) return; - if (peep->happiness <= 65 && (0xFFFF & scenario_rand()) < 2184){ - //Give up queueing for the ride - peep->sprite_direction ^= (1 << 4); - invalidate_sprite_2((rct_sprite*)peep); - remove_peep_from_queue(peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_1; - peep_window_state_update(peep); - } + if (peep->happiness <= 65 && (0xFFFF & scenario_rand()) < 2184){ + //Give up queueing for the ride + peep->sprite_direction ^= (1 << 4); + invalidate_sprite_2((rct_sprite*)peep); + remove_peep_from_queue(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_1; + peep_window_state_update(peep); + } } /** rct2: 0x009929C8 */ static const rct_xy16 _9929C8[] = { - { 28, 28 }, - { 28, 4 }, - { 20, 4 }, - { 20, 28 }, - { 12, 28 }, - { 12, 4 }, - { 4, 4 }, - { 4, 28 }, + { 28, 28 }, + { 28, 4 }, + { 20, 4 }, + { 20, 28 }, + { 12, 28 }, + { 12, 4 }, + { 4, 4 }, + { 4, 28 }, }; /** @@ -4958,45 +4958,45 @@ static const rct_xy16 _9929C8[] = { * rct2: 0x006BF567 */ static void peep_update_mowing(rct_peep* peep){ - if (!checkForPath(peep))return; + if (!checkForPath(peep))return; - invalidate_sprite_2((rct_sprite*)peep); - while (1){ - sint16 x = 0, y = 0, z, xy_distance; - if (peep_update_action(&x, &y, &xy_distance, peep)){ - z = map_element_height(x, y) & 0xFFFF; - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + invalidate_sprite_2((rct_sprite*)peep); + while (1){ + sint16 x = 0, y = 0, z, xy_distance; + if (peep_update_action(&x, &y, &xy_distance, peep)){ + z = map_element_height(x, y) & 0xFFFF; + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - peep->var_37++; + peep->var_37++; - if (peep->var_37 == 1){ - peep_switch_to_special_sprite(peep, 2); - } + if (peep->var_37 == 1){ + peep_switch_to_special_sprite(peep, 2); + } - if (peep->var_37 == countof(_9929C8)) { - peep_state_reset(peep); - return; - } + if (peep->var_37 == countof(_9929C8)) { + peep_state_reset(peep); + return; + } - peep->destination_x = _9929C8[peep->var_37].x + peep->next_x; - peep->destination_y = _9929C8[peep->var_37].y + peep->next_y; + peep->destination_x = _9929C8[peep->var_37].x + peep->next_x; + peep->destination_y = _9929C8[peep->var_37].y + peep->next_y; - if (peep->var_37 != 7)continue; + if (peep->var_37 != 7)continue; - rct_map_element *map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); + rct_map_element *map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); - for (; (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_SURFACE); map_element++); + for (; (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_SURFACE); map_element++); - if ((map_element->properties.surface.terrain & MAP_ELEMENT_SURFACE_TERRAIN_MASK) == (TERRAIN_GRASS << 5)){ - map_element->properties.surface.grass_length = GRASS_LENGTH_MOWED; - map_invalidate_tile_zoom0(peep->next_x, peep->next_y, map_element->base_height * 8, map_element->base_height * 8 + 16); - } - peep->staff_lawns_mown++; - peep->window_invalidate_flags |= PEEP_INVALIDATE_STAFF_STATS; - } + if ((map_element->properties.surface.terrain & MAP_ELEMENT_SURFACE_TERRAIN_MASK) == (TERRAIN_GRASS << 5)){ + map_element->properties.surface.grass_length = GRASS_LENGTH_MOWED; + map_invalidate_tile_zoom0(peep->next_x, peep->next_y, map_element->base_height * 8, map_element->base_height * 8 + 16); + } + peep->staff_lawns_mown++; + peep->window_invalidate_flags |= PEEP_INVALIDATE_STAFF_STATS; + } } /** @@ -5004,54 +5004,54 @@ static void peep_update_mowing(rct_peep* peep){ * rct2: 0x006BF7E6 */ static void peep_update_watering(rct_peep* peep){ - peep->var_E2 = 0; - if (peep->sub_state == 0){ - if (!checkForPath(peep))return; + peep->var_E2 = 0; + if (peep->sub_state == 0){ + if (!checkForPath(peep))return; - peep_perform_next_action(peep); - if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; + peep_perform_next_action(peep); + if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; - peep->sprite_direction = (peep->var_37 & 3) << 3; - peep->action = PEEP_ACTION_STAFF_WATERING; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); + peep->sprite_direction = (peep->var_37 & 3) << 3; + peep->action = PEEP_ACTION_STAFF_WATERING; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); - peep->sub_state = 1; - } - else if (peep->sub_state == 1){ - if (peep->action != PEEP_ACTION_NONE_2){ - sint16 x, y, xy_distance; - peep_update_action(&x, &y, &xy_distance, peep); - return; - } + peep->sub_state = 1; + } + else if (peep->sub_state == 1){ + if (peep->action != PEEP_ACTION_NONE_2){ + sint16 x, y, xy_distance; + peep_update_action(&x, &y, &xy_distance, peep); + return; + } - sint32 x = peep->next_x + TileDirectionDelta[peep->var_37].x; - sint32 y = peep->next_y + TileDirectionDelta[peep->var_37].y; + sint32 x = peep->next_x + TileDirectionDelta[peep->var_37].x; + sint32 y = peep->next_y + TileDirectionDelta[peep->var_37].y; - rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); + rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); - do{ - if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_SCENERY) - continue; + do{ + if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_SCENERY) + continue; - if (abs(((sint32)peep->next_z) - map_element->base_height) > 4) - continue; + if (abs(((sint32)peep->next_z) - map_element->base_height) > 4) + continue; - rct_scenery_entry* scenery_entry = get_small_scenery_entry(map_element->properties.scenery.type); + rct_scenery_entry* scenery_entry = get_small_scenery_entry(map_element->properties.scenery.type); - if (!(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_CAN_BE_WATERED)) - continue; + if (!(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_CAN_BE_WATERED)) + continue; - map_element->properties.scenery.age = 0; - map_invalidate_tile_zoom0(x, y, map_element->base_height * 8, map_element->clearance_height * 8); - peep->staff_gardens_watered++; - peep->window_invalidate_flags |= PEEP_INVALIDATE_STAFF_STATS; - } while (!map_element_is_last_for_tile(map_element++)); + map_element->properties.scenery.age = 0; + map_invalidate_tile_zoom0(x, y, map_element->base_height * 8, map_element->clearance_height * 8); + peep->staff_gardens_watered++; + peep->window_invalidate_flags |= PEEP_INVALIDATE_STAFF_STATS; + } while (!map_element_is_last_for_tile(map_element++)); - peep_state_reset(peep); - } + peep_state_reset(peep); + } } /** @@ -5059,70 +5059,70 @@ static void peep_update_watering(rct_peep* peep){ * rct2: 0x006BF6C9 */ static void peep_update_emptying_bin(rct_peep* peep){ - peep->var_E2 = 0; + peep->var_E2 = 0; - if (peep->sub_state == 0){ - if (!checkForPath(peep))return; + if (peep->sub_state == 0){ + if (!checkForPath(peep))return; - peep_perform_next_action(peep); - if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; + peep_perform_next_action(peep); + if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; - peep->sprite_direction = (peep->var_37 & 3) << 3; - peep->action = PEEP_ACTION_STAFF_EMPTY_BIN; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); + peep->sprite_direction = (peep->var_37 & 3) << 3; + peep->action = PEEP_ACTION_STAFF_EMPTY_BIN; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); - peep->sub_state = 1; - } - else if (peep->sub_state == 1){ + peep->sub_state = 1; + } + else if (peep->sub_state == 1){ - if (peep->action == PEEP_ACTION_NONE_2){ - peep_state_reset(peep); - return; - } + if (peep->action == PEEP_ACTION_NONE_2){ + peep_state_reset(peep); + return; + } - sint16 x = 0, y = 0, xy_distance; - peep_update_action(&x, &y, &xy_distance, peep); + sint16 x = 0, y = 0, xy_distance; + peep_update_action(&x, &y, &xy_distance, peep); - if (peep->action_frame != 11)return; + if (peep->action_frame != 11)return; - rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); + rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); - for (;; map_element++) { - if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH) { - if (peep->next_z == map_element->base_height) - break; - } - if (map_element_is_last_for_tile(map_element)) { - peep_state_reset(peep); - return; - } - } + for (;; map_element++) { + if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH) { + if (peep->next_z == map_element->base_height) + break; + } + if (map_element_is_last_for_tile(map_element)) { + peep_state_reset(peep); + return; + } + } - if (!footpath_element_has_path_scenery(map_element)) { - peep_state_reset(peep); - return; - } + if (!footpath_element_has_path_scenery(map_element)) { + peep_state_reset(peep); + return; + } - rct_scenery_entry* scenery_entry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); - if ( - !(scenery_entry->path_bit.flags & PATH_BIT_FLAG_IS_BIN) - || map_element->flags & (1 << 5) - || footpath_element_path_scenery_is_ghost(map_element) - ) { - peep_state_reset(peep); - return; - } + rct_scenery_entry* scenery_entry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); + if ( + !(scenery_entry->path_bit.flags & PATH_BIT_FLAG_IS_BIN) + || map_element->flags & (1 << 5) + || footpath_element_path_scenery_is_ghost(map_element) + ) { + peep_state_reset(peep); + return; + } - map_element->properties.path.addition_status |= ((3 << peep->var_37) << peep->var_37); + map_element->properties.path.addition_status |= ((3 << peep->var_37) << peep->var_37); - map_invalidate_tile_zoom0(peep->next_x, peep->next_y, map_element->base_height * 8, map_element->clearance_height * 8); + map_invalidate_tile_zoom0(peep->next_x, peep->next_y, map_element->base_height * 8, map_element->clearance_height * 8); - peep->staff_bins_emptied++; - peep->window_invalidate_flags |= PEEP_INVALIDATE_STAFF_STATS; - } + peep->staff_bins_emptied++; + peep->window_invalidate_flags |= PEEP_INVALIDATE_STAFF_STATS; + } } /** @@ -5130,35 +5130,35 @@ static void peep_update_emptying_bin(rct_peep* peep){ * rct2: 0x6BF641 */ static void peep_update_sweeping(rct_peep* peep){ - peep->var_E2 = 0; - if (!checkForPath(peep))return; + peep->var_E2 = 0; + if (!checkForPath(peep))return; - invalidate_sprite_2((rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - if (peep->action == PEEP_ACTION_STAFF_SWEEP && peep->action_frame == 8){ - // Remove sick at this location - litter_remove_at(peep->x, peep->y, peep->z); - peep->staff_litter_swept++; - peep->window_invalidate_flags |= PEEP_INVALIDATE_STAFF_STATS; - } - sint16 x = 0, y = 0, z, xy_distance; - if (peep_update_action(&x, &y, &xy_distance, peep)){ - z = peep_get_height_on_slope(peep, x, y); - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + if (peep->action == PEEP_ACTION_STAFF_SWEEP && peep->action_frame == 8){ + // Remove sick at this location + litter_remove_at(peep->x, peep->y, peep->z); + peep->staff_litter_swept++; + peep->window_invalidate_flags |= PEEP_INVALIDATE_STAFF_STATS; + } + sint16 x = 0, y = 0, z, xy_distance; + if (peep_update_action(&x, &y, &xy_distance, peep)){ + z = peep_get_height_on_slope(peep, x, y); + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - peep->var_37++; - if (peep->var_37 != 2){ - peep->action = PEEP_ACTION_STAFF_SWEEP; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } - peep_state_reset(peep); + peep->var_37++; + if (peep->var_37 != 2){ + peep->action = PEEP_ACTION_STAFF_SWEEP; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } + peep_state_reset(peep); } /** @@ -5166,22 +5166,22 @@ static void peep_update_sweeping(rct_peep* peep){ * rct2: 0x6902A2 */ static void peep_update_1(rct_peep* peep){ - if (!checkForPath(peep))return; + if (!checkForPath(peep))return; - peep_decrement_num_riders(peep); + peep_decrement_num_riders(peep); - if (peep->type == PEEP_TYPE_GUEST){ - peep->state = PEEP_STATE_WALKING; - } - else{ - peep->state = PEEP_STATE_PATROLLING; - } - peep_window_state_update(peep); - peep->destination_x = peep->x; - peep->destination_y = peep->y; - peep->destination_tolerence = 10; - peep->var_76 = 0; - peep->direction = peep->sprite_direction >> 3; + if (peep->type == PEEP_TYPE_GUEST){ + peep->state = PEEP_STATE_WALKING; + } + else{ + peep->state = PEEP_STATE_PATROLLING; + } + peep_window_state_update(peep); + peep->destination_x = peep->x; + peep->destination_y = peep->y; + peep->destination_tolerence = 10; + peep->var_76 = 0; + peep->direction = peep->sprite_direction >> 3; } /** @@ -5189,11 +5189,11 @@ static void peep_update_1(rct_peep* peep){ * rct2: 0x690009 */ static void peep_update_picked(rct_peep* peep){ - if (gCurrentTicks & 0x1F) return; - peep->sub_state++; - if (peep->sub_state == 13){ - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_HELP, 0xFF); - } + if (gCurrentTicks & 0x1F) return; + peep->sub_state++; + if (peep->sub_state == 13){ + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_HELP, 0xFF); + } } /** @@ -5201,32 +5201,32 @@ static void peep_update_picked(rct_peep* peep){ * rct2: 0x6914CD */ static void peep_update_leaving_park(rct_peep* peep){ - if (peep->var_37 != 0){ - peep_perform_next_action(peep); - if (!(_unk_F1EE18 & F1EE18_OUTSIDE_PARK)) return; - peep_sprite_remove(peep); - return; - } + if (peep->var_37 != 0){ + peep_perform_next_action(peep); + if (!(_unk_F1EE18 & F1EE18_OUTSIDE_PARK)) return; + peep_sprite_remove(peep); + return; + } - sint16 x = 0, y = 0, xy_distance; - if (peep_update_action(&x, &y, &xy_distance, peep)){ - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + sint16 x = 0, y = 0, xy_distance; + if (peep_update_action(&x, &y, &xy_distance, peep)){ + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - peep->outside_of_park = 1; - peep->destination_tolerence = 5; - decrement_guests_in_park(); - gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PEEP_COUNT; - peep->var_37 = 1; + peep->outside_of_park = 1; + peep->destination_tolerence = 5; + decrement_guests_in_park(); + gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PEEP_COUNT; + peep->var_37 = 1; - window_invalidate_by_class(WC_GUEST_LIST); + window_invalidate_by_class(WC_GUEST_LIST); - peep_perform_next_action(peep); - if (!(_unk_F1EE18 & F1EE18_OUTSIDE_PARK)) return; - peep_sprite_remove(peep); + peep_perform_next_action(peep); + if (!(_unk_F1EE18 & F1EE18_OUTSIDE_PARK)) return; + peep_sprite_remove(peep); } /** @@ -5234,117 +5234,117 @@ static void peep_update_leaving_park(rct_peep* peep){ * rct2: 0x6916D6 */ static void peep_update_watching(rct_peep* peep){ - if (peep->sub_state == 0){ - if (!checkForPath(peep))return; + if (peep->sub_state == 0){ + if (!checkForPath(peep))return; - peep_perform_next_action(peep); - if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; + peep_perform_next_action(peep); + if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; - peep->destination_x = peep->x; - peep->destination_y = peep->y; + peep->destination_x = peep->x; + peep->destination_y = peep->y; - peep->sprite_direction = (peep->var_37 & 3) * 8; - invalidate_sprite_2((rct_sprite*)peep); + peep->sprite_direction = (peep->var_37 & 3) * 8; + invalidate_sprite_2((rct_sprite*)peep); - peep->action = 0xFE; - peep->next_action_sprite_type = 2; + peep->action = 0xFE; + peep->next_action_sprite_type = 2; - peep_switch_to_next_action_sprite_type(peep); + peep_switch_to_next_action_sprite_type(peep); - peep->sub_state++; + peep->sub_state++; - peep->time_to_stand = clamp(0, ((129 - peep->energy) * 16 + 50) / 2, 255); - peep_update_sprite_type(peep); - } - else if (peep->sub_state == 1){ - if (peep->action < 0xFE){ - //6917F6 - sint16 x = 0, y = 0, xy_distance; - peep_update_action(&x, &y, &xy_distance, peep); + peep->time_to_stand = clamp(0, ((129 - peep->energy) * 16 + 50) / 2, 255); + peep_update_sprite_type(peep); + } + else if (peep->sub_state == 1){ + if (peep->action < 0xFE){ + //6917F6 + sint16 x = 0, y = 0, xy_distance; + peep_update_action(&x, &y, &xy_distance, peep); - if (peep->action != 0xFF)return; - peep->action = 0xFE; - } - else{ - if (peep_has_food(peep)){ - if ((scenario_rand() & 0xFFFF) <= 1310){ - peep->action = PEEP_ACTION_EAT_FOOD; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } - } + if (peep->action != 0xFF)return; + peep->action = 0xFE; + } + else{ + if (peep_has_food(peep)){ + if ((scenario_rand() & 0xFFFF) <= 1310){ + peep->action = PEEP_ACTION_EAT_FOOD; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } + } - if ((scenario_rand() & 0xFFFF) <= 655){ - peep->action = PEEP_ACTION_TAKE_PHOTO; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } + if ((scenario_rand() & 0xFFFF) <= 655){ + peep->action = PEEP_ACTION_TAKE_PHOTO; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } - if ((peep->standing_flags & 1)){ - if ((scenario_rand() & 0xFFFF) <= 655){ - peep->action = PEEP_ACTION_WAVE; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } - } - } + if ((peep->standing_flags & 1)){ + if ((scenario_rand() & 0xFFFF) <= 655){ + peep->action = PEEP_ACTION_WAVE; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } + } + } - peep->standing_flags ^= (1 << 7); - if (!(peep->standing_flags & (1 << 7)))return; + peep->standing_flags ^= (1 << 7); + if (!(peep->standing_flags & (1 << 7)))return; - peep->time_to_stand--; - if (peep->time_to_stand != 0)return; + peep->time_to_stand--; + if (peep->time_to_stand != 0)return; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_WALKING; - peep_window_state_update(peep); - peep_update_sprite_type(peep); - // Send peep to the center of current tile. - peep->destination_x = (peep->x & 0xFFE0) + 16; - peep->destination_y = (peep->y & 0xFFE0) + 16; - peep->destination_tolerence = 5; - peep_update_current_action_sprite_type(peep); - } + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_WALKING; + peep_window_state_update(peep); + peep_update_sprite_type(peep); + // Send peep to the center of current tile. + peep->destination_x = (peep->x & 0xFFE0) + 16; + peep->destination_y = (peep->y & 0xFFE0) + 16; + peep->destination_tolerence = 5; + peep_update_current_action_sprite_type(peep); + } } /** * rct2: 0x691451 */ static void peep_update_entering_park(rct_peep* peep){ - if (peep->var_37 != 1){ - peep_perform_next_action(peep); - if ((_unk_F1EE18 & F1EE18_OUTSIDE_PARK)) { - decrement_guests_heading_for_park(); - peep_sprite_remove(peep); - } - return; - } - sint16 x = 0, y = 0, xy_distance; - if (peep_update_action(&x, &y, &xy_distance, peep)){ - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return; - } - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); + if (peep->var_37 != 1){ + peep_perform_next_action(peep); + if ((_unk_F1EE18 & F1EE18_OUTSIDE_PARK)) { + decrement_guests_heading_for_park(); + peep_sprite_remove(peep); + } + return; + } + sint16 x = 0, y = 0, xy_distance; + if (peep_update_action(&x, &y, &xy_distance, peep)){ + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return; + } + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); - peep->outside_of_park = 0; - peep->time_in_park = gScenarioTicks; - increment_guests_in_park(); - decrement_guests_heading_for_park(); - gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PEEP_COUNT; - window_invalidate_by_class(WC_GUEST_LIST); + peep->outside_of_park = 0; + peep->time_in_park = gScenarioTicks; + increment_guests_in_park(); + decrement_guests_heading_for_park(); + gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PEEP_COUNT; + window_invalidate_by_class(WC_GUEST_LIST); } /** @@ -5352,149 +5352,149 @@ static void peep_update_entering_park(rct_peep* peep){ * rct2: 0x00690582 */ static sint32 peep_update_walking_find_bench(rct_peep* peep){ - if (!peep_should_find_bench(peep))return 0; + if (!peep_should_find_bench(peep))return 0; - rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); + rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); - for (;; map_element++){ - if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH) { - if (peep->next_z == map_element->base_height)break; - } - if (map_element_is_last_for_tile(map_element)){ - return 0; - } - } + for (;; map_element++){ + if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH) { + if (peep->next_z == map_element->base_height)break; + } + if (map_element_is_last_for_tile(map_element)){ + return 0; + } + } - if (!footpath_element_has_path_scenery(map_element)) return 0; - rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); + if (!footpath_element_has_path_scenery(map_element)) return 0; + rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); - if (!(sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_BENCH))return 0; + if (!(sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_BENCH))return 0; - if (map_element->flags & MAP_ELEMENT_FLAG_BROKEN)return 0; + if (map_element->flags & MAP_ELEMENT_FLAG_BROKEN)return 0; - if (footpath_element_path_scenery_is_ghost(map_element)) return 0; + if (footpath_element_path_scenery_is_ghost(map_element)) return 0; - sint32 edges = (map_element->properties.path.edges & 0xF) ^ 0xF; - if (edges == 0) return 0; + sint32 edges = (map_element->properties.path.edges & 0xF) ^ 0xF; + if (edges == 0) return 0; - uint8 chosen_edge = scenario_rand() & 0x3; + uint8 chosen_edge = scenario_rand() & 0x3; - for (; !(edges & (1 << chosen_edge));)chosen_edge = (chosen_edge + 1) & 0x3; + for (; !(edges & (1 << chosen_edge));)chosen_edge = (chosen_edge + 1) & 0x3; - uint16 sprite_id = sprite_get_first_in_quadrant(peep->x, peep->y); - uint8 free_edge = 3; + uint16 sprite_id = sprite_get_first_in_quadrant(peep->x, peep->y); + uint8 free_edge = 3; - for (rct_sprite* sprite; sprite_id != SPRITE_INDEX_NULL; sprite_id = sprite->unknown.next_in_quadrant){ - sprite = get_sprite(sprite_id); + for (rct_sprite* sprite; sprite_id != SPRITE_INDEX_NULL; sprite_id = sprite->unknown.next_in_quadrant){ + sprite = get_sprite(sprite_id); - if (sprite->unknown.linked_list_type_offset != SPRITE_LIST_PEEP * 2) continue; + if (sprite->unknown.linked_list_type_offset != SPRITE_LIST_PEEP * 2) continue; - if (sprite->peep.state != PEEP_STATE_SITTING)continue; + if (sprite->peep.state != PEEP_STATE_SITTING)continue; - if (peep->z != sprite->peep.z)continue; + if (peep->z != sprite->peep.z)continue; - if ((sprite->peep.var_37 & 0x3) != chosen_edge)continue; + if ((sprite->peep.var_37 & 0x3) != chosen_edge)continue; - free_edge &= ~(1 << ((sprite->peep.var_37 & 0x4) >> 2)); - } + free_edge &= ~(1 << ((sprite->peep.var_37 & 0x4) >> 2)); + } - if (!free_edge) return 0; + if (!free_edge) return 0; - free_edge ^= 0x3; - if (!free_edge){ - if (scenario_rand() & 0x8000000) free_edge = 1; - } + free_edge ^= 0x3; + if (!free_edge){ + if (scenario_rand() & 0x8000000) free_edge = 1; + } - peep->var_37 = ((free_edge & 1) << 2) | chosen_edge; + peep->var_37 = ((free_edge & 1) << 2) | chosen_edge; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_SITTING; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_SITTING; + peep_window_state_update(peep); - peep->sub_state = 0; + peep->sub_state = 0; - sint32 ebx = peep->var_37 & 0x7; - sint32 x = (peep->x & 0xFFE0) + _981F2C[ebx].x; - sint32 y = (peep->y & 0xFFE0) + _981F2C[ebx].y; + sint32 ebx = peep->var_37 & 0x7; + sint32 x = (peep->x & 0xFFE0) + _981F2C[ebx].x; + sint32 y = (peep->y & 0xFFE0) + _981F2C[ebx].y; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 3; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 3; - return 1; + return 1; } /** rct2: 0x00992A4C */ static const rct_xy16 _992A4C[] = { - { 11, 16 }, - { 16, 21 }, - { 21, 16 }, - { 16, 11 }, + { 11, 16 }, + { 16, 21 }, + { 21, 16 }, + { 16, 11 }, }; static sint32 peep_update_walking_find_bin(rct_peep* peep){ - if (!peep_has_empty_container(peep)) return 0; + if (!peep_has_empty_container(peep)) return 0; - if (peep->next_var_29 & 0x18)return 0; + if (peep->next_var_29 & 0x18)return 0; - rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); + rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); - for (;; map_element++){ - if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH){ - if (peep->next_z == map_element->base_height)break; - } - if (map_element_is_last_for_tile(map_element)){ - return 0; - } - } + for (;; map_element++){ + if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH){ + if (peep->next_z == map_element->base_height)break; + } + if (map_element_is_last_for_tile(map_element)){ + return 0; + } + } - if (!footpath_element_has_path_scenery(map_element)) return 0; - rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); + if (!footpath_element_has_path_scenery(map_element)) return 0; + rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); - if (!(sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_BIN))return 0; + if (!(sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_BIN))return 0; - if (map_element->flags & MAP_ELEMENT_FLAG_BROKEN)return 0; + if (map_element->flags & MAP_ELEMENT_FLAG_BROKEN)return 0; - if (footpath_element_path_scenery_is_ghost(map_element)) return 0; + if (footpath_element_path_scenery_is_ghost(map_element)) return 0; - sint32 edges = (map_element->properties.path.edges & 0xF) ^ 0xF; - if (edges == 0) return 0; + sint32 edges = (map_element->properties.path.edges & 0xF) ^ 0xF; + if (edges == 0) return 0; - uint8 chosen_edge = scenario_rand() & 0x3; + uint8 chosen_edge = scenario_rand() & 0x3; - // Note: Bin quantity is inverted 0 = full, 3 = empty - uint8 bin_quantities = map_element->properties.path.addition_status; + // Note: Bin quantity is inverted 0 = full, 3 = empty + uint8 bin_quantities = map_element->properties.path.addition_status; - // Rotate the bin to the correct edge. Makes it easier for next calc. - bin_quantities = ror8(ror8(bin_quantities, chosen_edge), chosen_edge); + // Rotate the bin to the correct edge. Makes it easier for next calc. + bin_quantities = ror8(ror8(bin_quantities, chosen_edge), chosen_edge); - for (uint8 free_edge = 4; free_edge != 0; free_edge--){ - // If not full - if (bin_quantities & 0x3){ - if (edges&(1 << chosen_edge))break; - } - chosen_edge = (chosen_edge + 1) & 0x3; - bin_quantities = ror8(bin_quantities, 2); - if ((free_edge - 1) == 0) return 0; - } + for (uint8 free_edge = 4; free_edge != 0; free_edge--){ + // If not full + if (bin_quantities & 0x3){ + if (edges&(1 << chosen_edge))break; + } + chosen_edge = (chosen_edge + 1) & 0x3; + bin_quantities = ror8(bin_quantities, 2); + if ((free_edge - 1) == 0) return 0; + } - peep->var_37 = chosen_edge; + peep->var_37 = chosen_edge; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_USING_BIN; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_USING_BIN; + peep_window_state_update(peep); - peep->sub_state = 0; + peep->sub_state = 0; - sint32 ebx = peep->var_37 & 0x3; - sint32 x = (peep->x & 0xFFE0) + _992A4C[ebx].x; - sint32 y = (peep->y & 0xFFE0) + _992A4C[ebx].y; + sint32 ebx = peep->var_37 & 0x3; + sint32 x = (peep->x & 0xFFE0) + _992A4C[ebx].x; + sint32 y = (peep->y & 0xFFE0) + _992A4C[ebx].y; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 3; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 3; - return 1; + return 1; } /** @@ -5502,70 +5502,70 @@ static sint32 peep_update_walking_find_bin(rct_peep* peep){ * rct2: 0x00690848 */ static void peep_update_walking_break_scenery(rct_peep* peep){ - if(gCheatsDisableVandalism) - return; + if(gCheatsDisableVandalism) + return; - if (!(peep->peep_flags & PEEP_FLAGS_ANGRY)){ - if (peep->happiness >= 48) return; - if (peep->energy < 85) return; - if (peep->state != PEEP_STATE_WALKING) return; + if (!(peep->peep_flags & PEEP_FLAGS_ANGRY)){ + if (peep->happiness >= 48) return; + if (peep->energy < 85) return; + if (peep->state != PEEP_STATE_WALKING) return; - if ((peep->litter_count & 0xC0) != 0xC0 && - (peep->disgusting_count & 0xC0) != 0xC0) return; + if ((peep->litter_count & 0xC0) != 0xC0 && + (peep->disgusting_count & 0xC0) != 0xC0) return; - if ((scenario_rand() & 0xFFFF) > 3276) return; - } + if ((scenario_rand() & 0xFFFF) > 3276) return; + } - if (peep->next_var_29 & 0x18) return; + if (peep->next_var_29 & 0x18) return; - rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); + rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); - for (;; map_element++){ - if ( map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH){ - if (peep->next_z == map_element->base_height)break; - } - if (map_element_is_last_for_tile(map_element)){ - return; - } - } + for (;; map_element++){ + if ( map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH){ + if (peep->next_z == map_element->base_height)break; + } + if (map_element_is_last_for_tile(map_element)){ + return; + } + } - if (!footpath_element_has_path_scenery(map_element)) return; - rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); + if (!footpath_element_has_path_scenery(map_element)) return; + rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); - if (!(sceneryEntry->path_bit.flags & PATH_BIT_FLAG_BREAKABLE))return; + if (!(sceneryEntry->path_bit.flags & PATH_BIT_FLAG_BREAKABLE))return; - if (map_element->flags & MAP_ELEMENT_FLAG_BROKEN)return; + if (map_element->flags & MAP_ELEMENT_FLAG_BROKEN)return; - if (footpath_element_path_scenery_is_ghost(map_element))return; + if (footpath_element_path_scenery_is_ghost(map_element))return; - sint32 edges = map_element->properties.path.edges & 0xF; - if (edges == 0xF) return; + sint32 edges = map_element->properties.path.edges & 0xF; + if (edges == 0xF) return; - rct_peep* inner_peep; - uint16 sprite_index; + rct_peep* inner_peep; + uint16 sprite_index; - FOR_ALL_STAFF(sprite_index, inner_peep){ - if (inner_peep->staff_type != STAFF_TYPE_SECURITY) continue; + FOR_ALL_STAFF(sprite_index, inner_peep){ + if (inner_peep->staff_type != STAFF_TYPE_SECURITY) continue; - if (inner_peep->x == SPRITE_LOCATION_NULL) continue; + if (inner_peep->x == SPRITE_LOCATION_NULL) continue; - sint32 x_diff = abs(inner_peep->x - peep->x); - sint32 y_diff = abs(inner_peep->y - peep->y); + sint32 x_diff = abs(inner_peep->x - peep->x); + sint32 y_diff = abs(inner_peep->y - peep->y); - if (max(x_diff, y_diff) < 224)return; - } + if (max(x_diff, y_diff) < 224)return; + } - map_element->flags |= MAP_ELEMENT_FLAG_BROKEN; + map_element->flags |= MAP_ELEMENT_FLAG_BROKEN; - map_invalidate_tile_zoom1( - peep->next_x, - peep->next_y, - (map_element->base_height << 3) + 32, - map_element->base_height << 3); + map_invalidate_tile_zoom1( + peep->next_x, + peep->next_y, + (map_element->base_height << 3) + 32, + map_element->base_height << 3); - peep->angriness = 16; + peep->angriness = 16; - return; + return; } /** @@ -5574,149 +5574,149 @@ static void peep_update_walking_break_scenery(rct_peep* peep){ */ static void peep_update_buying(rct_peep* peep) { - if (!checkForPath(peep))return; + if (!checkForPath(peep))return; - rct_ride* ride = get_ride(peep->current_ride); - if (ride->type == RIDE_TYPE_NULL || ride->status != RIDE_STATUS_OPEN){ - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - return; - } + rct_ride* ride = get_ride(peep->current_ride); + if (ride->type == RIDE_TYPE_NULL || ride->status != RIDE_STATUS_OPEN){ + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + return; + } - if (peep->sub_state == 1){ - if (peep->action != 0xFF){ - sint16 x, y, xy_distance; - peep_update_action(&x, &y, &xy_distance, peep); - return; - } + if (peep->sub_state == 1){ + if (peep->action != 0xFF){ + sint16 x, y, xy_distance; + peep_update_action(&x, &y, &xy_distance, peep); + return; + } - if (ride->type == RIDE_TYPE_CASH_MACHINE){ - if (peep->current_ride != peep->previous_ride){ - peep->cash_in_pocket += MONEY(50,00); - } - window_invalidate_by_number(WC_PEEP, peep->sprite_index); - } - peep->sprite_direction ^= 0x10; - peep->destination_x = peep->next_x + 16; - peep->destination_y = peep->next_y + 16; - peep->direction ^= 2; + if (ride->type == RIDE_TYPE_CASH_MACHINE){ + if (peep->current_ride != peep->previous_ride){ + peep->cash_in_pocket += MONEY(50,00); + } + window_invalidate_by_number(WC_PEEP, peep->sprite_index); + } + peep->sprite_direction ^= 0x10; + peep->destination_x = peep->next_x + 16; + peep->destination_y = peep->next_y + 16; + peep->direction ^= 2; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_WALKING; - peep_window_state_update(peep); - return; - } + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_WALKING; + peep_window_state_update(peep); + return; + } - uint8 item_bought = 0; + uint8 item_bought = 0; - if (peep->current_ride != peep->previous_ride){ - if (ride->type == RIDE_TYPE_CASH_MACHINE){ - item_bought = peep_should_use_cash_machine(peep, peep->current_ride); - if (!item_bought) { - peep->previous_ride = peep->current_ride; - peep->previous_ride_time_out = 0; - } else { - peep->action = PEEP_ACTION_WITHDRAW_MONEY; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; + if (peep->current_ride != peep->previous_ride){ + if (ride->type == RIDE_TYPE_CASH_MACHINE){ + item_bought = peep_should_use_cash_machine(peep, peep->current_ride); + if (!item_bought) { + peep->previous_ride = peep->current_ride; + peep->previous_ride_time_out = 0; + } else { + peep->action = PEEP_ACTION_WITHDRAW_MONEY; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); - ride->no_primary_items_sold++; - } - } - else{ - rct_ride_entry* ride_type = get_ride_entry(ride->subtype); - if (ride_type->shop_item_secondary != 0xFF){ - money16 price = ride->price_secondary; + ride->no_primary_items_sold++; + } + } + else{ + rct_ride_entry* ride_type = get_ride_entry(ride->subtype); + if (ride_type->shop_item_secondary != 0xFF){ + money16 price = ride->price_secondary; - item_bought = peep_decide_and_buy_item(peep, peep->current_ride, ride_type->shop_item_secondary, price); - if (item_bought) { - ride->no_secondary_items_sold++; - } - } + item_bought = peep_decide_and_buy_item(peep, peep->current_ride, ride_type->shop_item_secondary, price); + if (item_bought) { + ride->no_secondary_items_sold++; + } + } - if (!item_bought && ride_type->shop_item != 0xFF){ - money16 price = ride->price; + if (!item_bought && ride_type->shop_item != 0xFF){ + money16 price = ride->price; - item_bought = peep_decide_and_buy_item(peep, peep->current_ride, ride_type->shop_item, price); - if (item_bought) { - ride->no_primary_items_sold++; - } - } - } - } + item_bought = peep_decide_and_buy_item(peep, peep->current_ride, ride_type->shop_item, price); + if (item_bought) { + ride->no_primary_items_sold++; + } + } + } + } - if (item_bought){ - ride_update_popularity(ride, 1); + if (item_bought){ + ride_update_popularity(ride, 1); - peep_stop_purchase_thought(peep, ride->type); - } - else{ - ride_update_popularity(ride, 0); - } - peep->sub_state = 1; - return; + peep_stop_purchase_thought(peep, ride->type); + } + else{ + ride_update_popularity(ride, 0); + } + peep->sub_state = 1; + return; } /** rct2: 0x0097EFCC */ static const uint8 item_standard_litter[32] = { - LITTER_TYPE_RUBBISH, // PEEP_ITEM_BALLOON - LITTER_TYPE_RUBBISH, // PEEP_ITEM_TOY - LITTER_TYPE_RUBBISH, // PEEP_ITEM_MAP - LITTER_TYPE_RUBBISH, // PEEP_ITEM_PHOTO - LITTER_TYPE_RUBBISH, // PEEP_ITEM_UMBRELLA - LITTER_TYPE_RUBBISH, // PEEP_ITEM_DRINK - LITTER_TYPE_RUBBISH, // PEEP_ITEM_BURGER - LITTER_TYPE_RUBBISH, // PEEP_ITEM_CHIPS - LITTER_TYPE_RUBBISH, // PEEP_ITEM_ICE_CREAM - LITTER_TYPE_RUBBISH, // PEEP_ITEM_CANDYFLOSS - LITTER_TYPE_EMPTY_CAN, // PEEP_ITEM_EMPTY_CAN - LITTER_TYPE_RUBBISH, // PEEP_ITEM_RUBBISH - LITTER_TYPE_EMPTY_BURGER_BOX, // PEEP_ITEM_EMPTY_BURGER_BOX - LITTER_TYPE_RUBBISH, // PEEP_ITEM_PIZZA - LITTER_TYPE_RUBBISH, // PEEP_ITEM_VOUCHER - LITTER_TYPE_RUBBISH, // PEEP_ITEM_POPCORN - LITTER_TYPE_RUBBISH, // PEEP_ITEM_HOT_DOG - LITTER_TYPE_RUBBISH, // PEEP_ITEM_TENTACLE - LITTER_TYPE_RUBBISH, // PEEP_ITEM_HAT - LITTER_TYPE_RUBBISH, // PEEP_ITEM_CANDY_APPLE - LITTER_TYPE_RUBBISH, // PEEP_ITEM_TSHIRT - LITTER_TYPE_RUBBISH, // PEEP_ITEM_DONUT - LITTER_TYPE_RUBBISH, // PEEP_ITEM_COFFEE - LITTER_TYPE_EMPTY_CUP, // PEEP_ITEM_EMPTY_CUP - LITTER_TYPE_EMPTY_BOX, // PEEP_ITEM_CHICKEN - LITTER_TYPE_EMPTY_BOTTLE, // PEEP_ITEM_LEMONADE - LITTER_TYPE_EMPTY_BOX, // PEEP_ITEM_EMPTY_BOX - LITTER_TYPE_EMPTY_BOTTLE, // PEEP_ITEM_EMPTY_BOTTLE + LITTER_TYPE_RUBBISH, // PEEP_ITEM_BALLOON + LITTER_TYPE_RUBBISH, // PEEP_ITEM_TOY + LITTER_TYPE_RUBBISH, // PEEP_ITEM_MAP + LITTER_TYPE_RUBBISH, // PEEP_ITEM_PHOTO + LITTER_TYPE_RUBBISH, // PEEP_ITEM_UMBRELLA + LITTER_TYPE_RUBBISH, // PEEP_ITEM_DRINK + LITTER_TYPE_RUBBISH, // PEEP_ITEM_BURGER + LITTER_TYPE_RUBBISH, // PEEP_ITEM_CHIPS + LITTER_TYPE_RUBBISH, // PEEP_ITEM_ICE_CREAM + LITTER_TYPE_RUBBISH, // PEEP_ITEM_CANDYFLOSS + LITTER_TYPE_EMPTY_CAN, // PEEP_ITEM_EMPTY_CAN + LITTER_TYPE_RUBBISH, // PEEP_ITEM_RUBBISH + LITTER_TYPE_EMPTY_BURGER_BOX, // PEEP_ITEM_EMPTY_BURGER_BOX + LITTER_TYPE_RUBBISH, // PEEP_ITEM_PIZZA + LITTER_TYPE_RUBBISH, // PEEP_ITEM_VOUCHER + LITTER_TYPE_RUBBISH, // PEEP_ITEM_POPCORN + LITTER_TYPE_RUBBISH, // PEEP_ITEM_HOT_DOG + LITTER_TYPE_RUBBISH, // PEEP_ITEM_TENTACLE + LITTER_TYPE_RUBBISH, // PEEP_ITEM_HAT + LITTER_TYPE_RUBBISH, // PEEP_ITEM_CANDY_APPLE + LITTER_TYPE_RUBBISH, // PEEP_ITEM_TSHIRT + LITTER_TYPE_RUBBISH, // PEEP_ITEM_DONUT + LITTER_TYPE_RUBBISH, // PEEP_ITEM_COFFEE + LITTER_TYPE_EMPTY_CUP, // PEEP_ITEM_EMPTY_CUP + LITTER_TYPE_EMPTY_BOX, // PEEP_ITEM_CHICKEN + LITTER_TYPE_EMPTY_BOTTLE, // PEEP_ITEM_LEMONADE + LITTER_TYPE_EMPTY_BOX, // PEEP_ITEM_EMPTY_BOX + LITTER_TYPE_EMPTY_BOTTLE, // PEEP_ITEM_EMPTY_BOTTLE }; /** rct2: 0x0097EFE8 */ static const uint8 item_extra_litter[32] = { - LITTER_TYPE_RUBBISH, // PEEP_ITEM_PHOTO2 - LITTER_TYPE_RUBBISH, // PEEP_ITEM_PHOTO3 - LITTER_TYPE_RUBBISH, // PEEP_ITEM_PHOTO4 - LITTER_TYPE_RUBBISH, // PEEP_ITEM_PRETZEL - LITTER_TYPE_RUBBISH, // PEEP_ITEM_CHOCOLATE - LITTER_TYPE_RUBBISH, // PEEP_ITEM_ICED_TEA - LITTER_TYPE_RUBBISH, // PEEP_ITEM_FUNNEL_CAKE - LITTER_TYPE_RUBBISH, // PEEP_ITEM_SUNGLASSES - LITTER_TYPE_RUBBISH, // PEEP_ITEM_BEEF_NOODLES - LITTER_TYPE_RUBBISH, // PEEP_ITEM_FRIED_RICE_NOODLES - LITTER_TYPE_RUBBISH, // PEEP_ITEM_WONTON_SOUP - LITTER_TYPE_RUBBISH, // PEEP_ITEM_MEATBALL_SOUP - LITTER_TYPE_RUBBISH, // PEEP_ITEM_FRUIT_JUICE - LITTER_TYPE_RUBBISH, // PEEP_ITEM_SOYBEAN_MILK - LITTER_TYPE_RUBBISH, // PEEP_ITEM_SU_JONGKWA - LITTER_TYPE_RUBBISH, // PEEP_ITEM_SUB_SANDWICH - LITTER_TYPE_RUBBISH, // PEEP_ITEM_COOKIE - LITTER_TYPE_EMPTY_BOWL_RED, // PEEP_ITEM_EMPTY_BOWL_RED - LITTER_TYPE_EMPTY_DRINK_CARTON, // PEEP_ITEM_EMPTY_DRINK_CARTON - LITTER_TYPE_EMPTY_JUICE_CUP, // PEEP_ITEM_EMPTY_JUICE_CUP - LITTER_TYPE_RUBBISH, // PEEP_ITEM_ROAST_SAUSAGE - LITTER_TYPE_EMPTY_BOWL_BLUE, // PEEP_ITEM_EMPTY_BOWL_BLUE + LITTER_TYPE_RUBBISH, // PEEP_ITEM_PHOTO2 + LITTER_TYPE_RUBBISH, // PEEP_ITEM_PHOTO3 + LITTER_TYPE_RUBBISH, // PEEP_ITEM_PHOTO4 + LITTER_TYPE_RUBBISH, // PEEP_ITEM_PRETZEL + LITTER_TYPE_RUBBISH, // PEEP_ITEM_CHOCOLATE + LITTER_TYPE_RUBBISH, // PEEP_ITEM_ICED_TEA + LITTER_TYPE_RUBBISH, // PEEP_ITEM_FUNNEL_CAKE + LITTER_TYPE_RUBBISH, // PEEP_ITEM_SUNGLASSES + LITTER_TYPE_RUBBISH, // PEEP_ITEM_BEEF_NOODLES + LITTER_TYPE_RUBBISH, // PEEP_ITEM_FRIED_RICE_NOODLES + LITTER_TYPE_RUBBISH, // PEEP_ITEM_WONTON_SOUP + LITTER_TYPE_RUBBISH, // PEEP_ITEM_MEATBALL_SOUP + LITTER_TYPE_RUBBISH, // PEEP_ITEM_FRUIT_JUICE + LITTER_TYPE_RUBBISH, // PEEP_ITEM_SOYBEAN_MILK + LITTER_TYPE_RUBBISH, // PEEP_ITEM_SU_JONGKWA + LITTER_TYPE_RUBBISH, // PEEP_ITEM_SUB_SANDWICH + LITTER_TYPE_RUBBISH, // PEEP_ITEM_COOKIE + LITTER_TYPE_EMPTY_BOWL_RED, // PEEP_ITEM_EMPTY_BOWL_RED + LITTER_TYPE_EMPTY_DRINK_CARTON, // PEEP_ITEM_EMPTY_DRINK_CARTON + LITTER_TYPE_EMPTY_JUICE_CUP, // PEEP_ITEM_EMPTY_JUICE_CUP + LITTER_TYPE_RUBBISH, // PEEP_ITEM_ROAST_SAUSAGE + LITTER_TYPE_EMPTY_BOWL_BLUE, // PEEP_ITEM_EMPTY_BOWL_BLUE }; /** @@ -5724,130 +5724,130 @@ static const uint8 item_extra_litter[32] = { * rct2: 0x00691089 */ static void peep_update_using_bin(rct_peep* peep){ - if (peep->sub_state == 0){ - if (!checkForPath(peep))return; + if (peep->sub_state == 0){ + if (!checkForPath(peep))return; - peep_perform_next_action(peep); - if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; + peep_perform_next_action(peep); + if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; - peep->sub_state = 1; - } - else if (peep->sub_state == 1){ + peep->sub_state = 1; + } + else if (peep->sub_state == 1){ - if (peep->action != PEEP_ACTION_NONE_2){ - sint16 x, y, xy_distance; - peep_update_action(&x, &y, &xy_distance, peep); - return; - } + if (peep->action != PEEP_ACTION_NONE_2){ + sint16 x, y, xy_distance; + peep_update_action(&x, &y, &xy_distance, peep); + return; + } - rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); + rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); - for (;;map_element++){ - if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_PATH){ - continue; - } + for (;;map_element++){ + if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_PATH){ + continue; + } - if (map_element->base_height == peep->next_z)break; + if (map_element->base_height == peep->next_z)break; - if (map_element_is_last_for_tile(map_element)){ - peep_state_reset(peep); - return; - } - } + if (map_element_is_last_for_tile(map_element)){ + peep_state_reset(peep); + return; + } + } - if (!footpath_element_has_path_scenery(map_element)){ - peep_state_reset(peep); - return; - } + if (!footpath_element_has_path_scenery(map_element)){ + peep_state_reset(peep); + return; + } - rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); - if (!(sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_BIN)){ - peep_state_reset(peep); - return; - } + rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); + if (!(sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_BIN)){ + peep_state_reset(peep); + return; + } - if (map_element->flags & MAP_ELEMENT_FLAG_BROKEN){ - peep_state_reset(peep); - return; - } + if (map_element->flags & MAP_ELEMENT_FLAG_BROKEN){ + peep_state_reset(peep); + return; + } - if (footpath_element_path_scenery_is_ghost(map_element)){ - peep_state_reset(peep); - return; - } + if (footpath_element_path_scenery_is_ghost(map_element)){ + peep_state_reset(peep); + return; + } - // Bin selection is one of 4 corners - uint8 selected_bin = peep->var_37 * 2; + // Bin selection is one of 4 corners + uint8 selected_bin = peep->var_37 * 2; - // This counts down 2 = No rubbish, 0 = full - uint8 space_left_in_bin = 0x3 & (map_element->properties.path.addition_status >> selected_bin); - uint32 empty_containers = peep_empty_container_standard_flag(peep); + // This counts down 2 = No rubbish, 0 = full + uint8 space_left_in_bin = 0x3 & (map_element->properties.path.addition_status >> selected_bin); + uint32 empty_containers = peep_empty_container_standard_flag(peep); - for (uint8 cur_container = 0; cur_container < 32; cur_container++){ - if (!(empty_containers & (1u << cur_container))) continue; + for (uint8 cur_container = 0; cur_container < 32; cur_container++){ + if (!(empty_containers & (1u << cur_container))) continue; - if (space_left_in_bin != 0){ - // OpenRCT2 modification: This previously used - // the tick count as a simple random function - // switched to scenario_rand as it is more reliable - if ((scenario_rand() & 7) == 0) space_left_in_bin--; - peep->item_standard_flags &= ~(1 << cur_container); - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - peep_update_sprite_type(peep); - continue; - } - uint8 bp = item_standard_litter[cur_container]; + if (space_left_in_bin != 0){ + // OpenRCT2 modification: This previously used + // the tick count as a simple random function + // switched to scenario_rand as it is more reliable + if ((scenario_rand() & 7) == 0) space_left_in_bin--; + peep->item_standard_flags &= ~(1 << cur_container); + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + peep_update_sprite_type(peep); + continue; + } + uint8 bp = item_standard_litter[cur_container]; - sint32 x, y; - x = peep->x + (scenario_rand() & 7) - 3; - y = peep->y + (scenario_rand() & 7) - 3; + sint32 x, y; + x = peep->x + (scenario_rand() & 7) - 3; + y = peep->y + (scenario_rand() & 7) - 3; - litter_create(x, y, peep->z, scenario_rand() & 3, bp); - peep->item_standard_flags &= ~(1 << cur_container); - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + litter_create(x, y, peep->z, scenario_rand() & 3, bp); + peep->item_standard_flags &= ~(1 << cur_container); + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - peep_update_sprite_type(peep); - } + peep_update_sprite_type(peep); + } - // Original bug: This would clear any rubbish placed by the previous function - //space_left_in_bin = 0x3 & (map_element->properties.path.addition_status >> selected_bin); - empty_containers = peep_empty_container_extra_flag(peep); + // Original bug: This would clear any rubbish placed by the previous function + //space_left_in_bin = 0x3 & (map_element->properties.path.addition_status >> selected_bin); + empty_containers = peep_empty_container_extra_flag(peep); - for (uint8 cur_container = 0; cur_container < 32; cur_container++){ - if (!(empty_containers & (1u << cur_container))) continue; + for (uint8 cur_container = 0; cur_container < 32; cur_container++){ + if (!(empty_containers & (1u << cur_container))) continue; - if (space_left_in_bin != 0){ - // OpenRCT2 modification: This previously used - // the tick count as a simple random function - // switched to scenario_rand as it is more reliable - if ((scenario_rand() & 7) == 0) space_left_in_bin--; - peep->item_extra_flags &= ~(1 << cur_container); - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + if (space_left_in_bin != 0){ + // OpenRCT2 modification: This previously used + // the tick count as a simple random function + // switched to scenario_rand as it is more reliable + if ((scenario_rand() & 7) == 0) space_left_in_bin--; + peep->item_extra_flags &= ~(1 << cur_container); + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - peep_update_sprite_type(peep); - continue; - } - uint8 bp = item_extra_litter[cur_container]; + peep_update_sprite_type(peep); + continue; + } + uint8 bp = item_extra_litter[cur_container]; - sint32 x, y; - x = peep->x + (scenario_rand() & 7) - 3; - y = peep->y + (scenario_rand() & 7) - 3; + sint32 x, y; + x = peep->x + (scenario_rand() & 7) - 3; + y = peep->y + (scenario_rand() & 7) - 3; - litter_create(x, y, peep->z, scenario_rand() & 3, bp); - peep->item_extra_flags &= ~(1 << cur_container); - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + litter_create(x, y, peep->z, scenario_rand() & 3, bp); + peep->item_extra_flags &= ~(1 << cur_container); + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - peep_update_sprite_type(peep); - } + peep_update_sprite_type(peep); + } - // Place new amount in bin by first clearing the value - map_element->properties.path.addition_status &= ~(3 << selected_bin); - // Then placing the new value. - map_element->properties.path.addition_status |= space_left_in_bin << selected_bin; + // Place new amount in bin by first clearing the value + map_element->properties.path.addition_status &= ~(3 << selected_bin); + // Then placing the new value. + map_element->properties.path.addition_status |= space_left_in_bin << selected_bin; - map_invalidate_tile_zoom0(peep->next_x, peep->next_y, map_element->base_height << 3, map_element->clearance_height << 3); - peep_state_reset(peep); - } + map_invalidate_tile_zoom0(peep->next_x, peep->next_y, map_element->base_height << 3, map_element->clearance_height << 3); + peep_state_reset(peep); + } } /** @@ -5855,112 +5855,112 @@ static void peep_update_using_bin(rct_peep* peep){ * rct2: 0x006C16D7 */ static void peep_update_heading_to_inspect(rct_peep* peep){ - rct_ride* ride = get_ride(peep->current_ride); + rct_ride* ride = get_ride(peep->current_ride); - if (ride->type == RIDE_TYPE_NULL){ - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - return; - } + if (ride->type == RIDE_TYPE_NULL){ + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + return; + } - if (ride->exits[peep->current_ride_station] == 0xFFFF){ - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_DUE_INSPECTION; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - return; - } + if (ride->exits[peep->current_ride_station] == 0xFFFF){ + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_DUE_INSPECTION; + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + return; + } - if (ride->mechanic_status != RIDE_MECHANIC_STATUS_HEADING || - !(ride->lifecycle_flags & RIDE_LIFECYCLE_DUE_INSPECTION)){ - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - return; - } + if (ride->mechanic_status != RIDE_MECHANIC_STATUS_HEADING || + !(ride->lifecycle_flags & RIDE_LIFECYCLE_DUE_INSPECTION)){ + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + return; + } - if (peep->sub_state == 0){ - peep->var_74 = 0; - peep_reset_pathfind_goal(peep); - peep->sub_state = 2; - } + if (peep->sub_state == 0){ + peep->var_74 = 0; + peep_reset_pathfind_goal(peep); + peep->sub_state = 2; + } - if (peep->sub_state <= 3){ - peep->var_74++; - if (peep->var_74 > 2500){ - if (ride->lifecycle_flags & RIDE_LIFECYCLE_DUE_INSPECTION&& - ride->mechanic_status == RIDE_MECHANIC_STATUS_HEADING){ - ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; - } - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - return; - } + if (peep->sub_state <= 3){ + peep->var_74++; + if (peep->var_74 > 2500){ + if (ride->lifecycle_flags & RIDE_LIFECYCLE_DUE_INSPECTION&& + ride->mechanic_status == RIDE_MECHANIC_STATUS_HEADING){ + ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; + } + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + return; + } - if (!checkForPath(peep))return; + if (!checkForPath(peep))return; - peep_perform_next_action(peep); + peep_perform_next_action(peep); - if (!(_unk_F1EE18 & F1EE18_RIDE_EXIT) && - !(_unk_F1EE18 & F1EE18_RIDE_ENTRANCE) - ) { - return; - } + if (!(_unk_F1EE18 & F1EE18_RIDE_EXIT) && + !(_unk_F1EE18 & F1EE18_RIDE_ENTRANCE) + ) { + return; + } - rct_map_element* map_element = _peepRideEntranceExitElement; + rct_map_element* map_element = _peepRideEntranceExitElement; - if (peep->current_ride != - map_element->properties.entrance.ride_index) - return; + if (peep->current_ride != + map_element->properties.entrance.ride_index) + return; - uint8 exit_index = ((map_element->properties.entrance.index & 0x70) >> 4); + uint8 exit_index = ((map_element->properties.entrance.index & 0x70) >> 4); - if (peep->current_ride_station != exit_index) - return; + if (peep->current_ride_station != exit_index) + return; - if (_unk_F1EE18 & F1EE18_RIDE_ENTRANCE) { - if (ride->exits[exit_index] != 0xFFFF)return; - } + if (_unk_F1EE18 & F1EE18_RIDE_ENTRANCE) { + if (ride->exits[exit_index] != 0xFFFF)return; + } - uint8 direction = map_element->type & MAP_ELEMENT_DIRECTION_MASK; - peep->direction = direction; + uint8 direction = map_element->type & MAP_ELEMENT_DIRECTION_MASK; + peep->direction = direction; - sint32 x = peep->next_x + 16 + word_981D6C[direction].x * 53; - sint32 y = peep->next_y + 16 + word_981D6C[direction].y * 53; + sint32 x = peep->next_x + 16 + word_981D6C[direction].x * 53; + sint32 y = peep->next_y + 16 + word_981D6C[direction].y * 53; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 2; - peep->sprite_direction = direction << 3; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 2; + peep->sprite_direction = direction << 3; - peep->z = map_element->base_height * 4; - peep->sub_state = 4; - // Falls through into sub_state 4 - } + peep->z = map_element->base_height * 4; + peep->sub_state = 4; + // Falls through into sub_state 4 + } - invalidate_sprite_2((rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - sint16 delta_y = abs(peep->y - peep->destination_y); + sint16 delta_y = abs(peep->y - peep->destination_y); - sint16 x, y, xy_distance; - if (!peep_update_action(&x, &y, &xy_distance, peep)){ - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_INSPECTING; - peep->sub_state = 0; - peep_window_state_update(peep); - return; - } + sint16 x, y, xy_distance; + if (!peep_update_action(&x, &y, &xy_distance, peep)){ + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_INSPECTING; + peep->sub_state = 0; + peep_window_state_update(peep); + return; + } - sint32 z = ride->station_heights[peep->current_ride_station] * 8; + sint32 z = ride->station_heights[peep->current_ride_station] * 8; - if (delta_y < 20){ - z += RideData5[ride->type].z; - } + if (delta_y < 20){ + z += RideData5[ride->type].z; + } - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); } /** @@ -5968,128 +5968,128 @@ static void peep_update_heading_to_inspect(rct_peep* peep){ * rct2: 0x006C0CB8 */ static void peep_update_answering(rct_peep* peep){ - rct_ride* ride = get_ride(peep->current_ride); + rct_ride* ride = get_ride(peep->current_ride); - if (ride->type == RIDE_TYPE_NULL || - ride->mechanic_status != RIDE_MECHANIC_STATUS_HEADING){ + if (ride->type == RIDE_TYPE_NULL || + ride->mechanic_status != RIDE_MECHANIC_STATUS_HEADING){ - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - return; - } + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + return; + } - if (peep->sub_state == 0){ - peep->action = PEEP_ACTION_STAFF_ANSWER_CALL; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; + if (peep->sub_state == 0){ + peep->action = PEEP_ACTION_STAFF_ANSWER_CALL; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); - peep->sub_state = 1; - peep_window_state_update(peep); - return; - } - else if (peep->sub_state == 1){ - if (peep->action == PEEP_ACTION_NONE_2){ - peep->sub_state = 2; - peep_window_state_update(peep); - peep->var_74 = 0; - peep_reset_pathfind_goal(peep); - return; - } - sint16 x, y, xy_distance; - peep_update_action(&x, &y, &xy_distance, peep); - return; - } - else if (peep->sub_state <= 3){ - peep->var_74++; - if (peep->var_74 > 2500){ - if (ride->mechanic_status == RIDE_MECHANIC_STATUS_HEADING){ - ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; - } - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - return; - } + peep->sub_state = 1; + peep_window_state_update(peep); + return; + } + else if (peep->sub_state == 1){ + if (peep->action == PEEP_ACTION_NONE_2){ + peep->sub_state = 2; + peep_window_state_update(peep); + peep->var_74 = 0; + peep_reset_pathfind_goal(peep); + return; + } + sint16 x, y, xy_distance; + peep_update_action(&x, &y, &xy_distance, peep); + return; + } + else if (peep->sub_state <= 3){ + peep->var_74++; + if (peep->var_74 > 2500){ + if (ride->mechanic_status == RIDE_MECHANIC_STATUS_HEADING){ + ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; + } + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + return; + } - if (!checkForPath(peep))return; + if (!checkForPath(peep))return; - peep_perform_next_action(peep); + peep_perform_next_action(peep); - if (!(_unk_F1EE18 & F1EE18_RIDE_EXIT) && - !(_unk_F1EE18 & F1EE18_RIDE_ENTRANCE) - ) { - return; - } + if (!(_unk_F1EE18 & F1EE18_RIDE_EXIT) && + !(_unk_F1EE18 & F1EE18_RIDE_ENTRANCE) + ) { + return; + } - rct_map_element* map_element = _peepRideEntranceExitElement; + rct_map_element* map_element = _peepRideEntranceExitElement; - if (peep->current_ride != - map_element->properties.entrance.ride_index) - return; + if (peep->current_ride != + map_element->properties.entrance.ride_index) + return; - uint8 exit_index = ((map_element->properties.entrance.index & 0x70) >> 4); + uint8 exit_index = ((map_element->properties.entrance.index & 0x70) >> 4); - if (peep->current_ride_station != exit_index) - return; + if (peep->current_ride_station != exit_index) + return; - if (_unk_F1EE18 & F1EE18_RIDE_ENTRANCE) { - if (ride->exits[exit_index] != 0xFFFF)return; - } + if (_unk_F1EE18 & F1EE18_RIDE_ENTRANCE) { + if (ride->exits[exit_index] != 0xFFFF)return; + } - uint8 direction = map_element->type & MAP_ELEMENT_DIRECTION_MASK; - peep->direction = direction; + uint8 direction = map_element->type & MAP_ELEMENT_DIRECTION_MASK; + peep->direction = direction; - sint32 x = peep->next_x + 16 + word_981D6C[direction].x * 53; - sint32 y = peep->next_y + 16 + word_981D6C[direction].y * 53; + sint32 x = peep->next_x + 16 + word_981D6C[direction].x * 53; + sint32 y = peep->next_y + 16 + word_981D6C[direction].y * 53; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 2; - peep->sprite_direction = direction << 3; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 2; + peep->sprite_direction = direction << 3; - peep->z = map_element->base_height * 4; - peep->sub_state = 4; - // Falls through into sub_state 4 - } + peep->z = map_element->base_height * 4; + peep->sub_state = 4; + // Falls through into sub_state 4 + } - invalidate_sprite_2((rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - sint16 delta_y = abs(peep->y - peep->destination_y); + sint16 delta_y = abs(peep->y - peep->destination_y); - sint16 x, y, xy_distance; - if (!peep_update_action(&x, &y, &xy_distance, peep)){ - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FIXING; - peep->sub_state = 0; - peep_window_state_update(peep); - return; - } + sint16 x, y, xy_distance; + if (!peep_update_action(&x, &y, &xy_distance, peep)){ + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FIXING; + peep->sub_state = 0; + peep_window_state_update(peep); + return; + } - sint32 z = ride->station_heights[peep->current_ride_station] * 8; + sint32 z = ride->station_heights[peep->current_ride_station] * 8; - if (delta_y < 20){ - z += RideData5[ride->type].z; - } + if (delta_y < 20){ + z += RideData5[ride->type].z; + } - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); } /** rct2: 0x00992A5C */ static const rct_xy16 _992A5C[] = { - { 3, 16 }, - { 16, 29 }, - { 29, 16 }, - { 16, 3 }, - { 3, 29 }, - { 29, 29 }, - { 29, 3 }, - { 3, 3 }, + { 3, 16 }, + { 16, 29 }, + { 29, 16 }, + { 16, 3 }, + { 3, 29 }, + { 29, 29 }, + { 29, 3 }, + { 3, 3 }, }; /** @@ -6097,64 +6097,64 @@ static const rct_xy16 _992A5C[] = { * rct2: 0x006BF483 */ static sint32 peep_update_patrolling_find_watering(rct_peep* peep){ - if (!(peep->staff_orders & STAFF_ORDERS_WATER_FLOWERS)) - return 0; + if (!(peep->staff_orders & STAFF_ORDERS_WATER_FLOWERS)) + return 0; - uint8 chosen_position = scenario_rand() & 7; - for (sint32 i = 0; i < 8; ++i, ++chosen_position){ - chosen_position &= 7; + uint8 chosen_position = scenario_rand() & 7; + for (sint32 i = 0; i < 8; ++i, ++chosen_position){ + chosen_position &= 7; - sint32 x = peep->next_x + TileDirectionDelta[chosen_position].x; - sint32 y = peep->next_y + TileDirectionDelta[chosen_position].y; + sint32 x = peep->next_x + TileDirectionDelta[chosen_position].x; + sint32 y = peep->next_y + TileDirectionDelta[chosen_position].y; - rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); + rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); - // This seems to happen in some SV4 files. - if (map_element == NULL) { - continue; - } + // This seems to happen in some SV4 files. + if (map_element == NULL) { + continue; + } - do { - if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_SCENERY){ - continue; - } + do { + if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_SCENERY){ + continue; + } - uint8 z_diff = abs(peep->next_z - map_element->base_height); + uint8 z_diff = abs(peep->next_z - map_element->base_height); - if (z_diff >= 4){ - continue; - } + if (z_diff >= 4){ + continue; + } - rct_scenery_entry* sceneryEntry = get_small_scenery_entry(map_element->properties.scenery.type); + rct_scenery_entry* sceneryEntry = get_small_scenery_entry(map_element->properties.scenery.type); - if (!(sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_CAN_BE_WATERED)){ - continue; - } + if (!(sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_CAN_BE_WATERED)){ + continue; + } - if (map_element->properties.scenery.age < 55){ - if (chosen_position >= 4){ - continue; - } + if (map_element->properties.scenery.age < 55){ + if (chosen_position >= 4){ + continue; + } - if (map_element->properties.scenery.age < 40){ - continue; - } - } + if (map_element->properties.scenery.age < 40){ + continue; + } + } - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_WATERING; - peep->var_37 = chosen_position; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_WATERING; + peep->var_37 = chosen_position; + peep_window_state_update(peep); - peep->sub_state = 0; - peep->destination_x = (peep->x & 0xFFE0) + _992A5C[chosen_position].x; - peep->destination_y = (peep->y & 0xFFE0) + _992A5C[chosen_position].y; - peep->destination_tolerence = 3; + peep->sub_state = 0; + peep->destination_x = (peep->x & 0xFFE0) + _992A5C[chosen_position].x; + peep->destination_y = (peep->y & 0xFFE0) + _992A5C[chosen_position].y; + peep->destination_tolerence = 3; - return 1; - } while (!map_element_is_last_for_tile(map_element++)); - } - return 0; + return 1; + } while (!map_element_is_last_for_tile(map_element++)); + } + return 0; } /** @@ -6162,60 +6162,60 @@ static sint32 peep_update_patrolling_find_watering(rct_peep* peep){ * rct2: 0x006BF3A1 */ static sint32 peep_update_patrolling_find_bin(rct_peep* peep){ - if (!(peep->staff_orders & STAFF_ORDERS_EMPTY_BINS)) - return 0; + if (!(peep->staff_orders & STAFF_ORDERS_EMPTY_BINS)) + return 0; - if ((peep->next_var_29 & 0x18) != 0) return 0; + if ((peep->next_var_29 & 0x18) != 0) return 0; - rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); - if (map_element == NULL)return 0; + rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); + if (map_element == NULL)return 0; - for (;; map_element++){ + for (;; map_element++){ - if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH - && (map_element->base_height == peep->next_z)) - break; + if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH + && (map_element->base_height == peep->next_z)) + break; - if (map_element_is_last_for_tile(map_element)) - return 0; - } + if (map_element_is_last_for_tile(map_element)) + return 0; + } - if (!footpath_element_has_path_scenery(map_element)) return 0; - rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); + if (!footpath_element_has_path_scenery(map_element)) return 0; + rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); - if (!(sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_BIN)) - return 0; + if (!(sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_BIN)) + return 0; - if (map_element->flags & MAP_ELEMENT_FLAG_BROKEN) - return 0; + if (map_element->flags & MAP_ELEMENT_FLAG_BROKEN) + return 0; - if (footpath_element_path_scenery_is_ghost(map_element)) - return 0; + if (footpath_element_path_scenery_is_ghost(map_element)) + return 0; - uint8 bin_positions = map_element->properties.path.edges & 0xF; - uint8 bin_quantity = map_element->properties.path.addition_status; - uint8 chosen_position = 0; + uint8 bin_positions = map_element->properties.path.edges & 0xF; + uint8 bin_quantity = map_element->properties.path.addition_status; + uint8 chosen_position = 0; - for (; chosen_position < 4; ++chosen_position){ - if (!(bin_positions & 1) && - !(bin_quantity & 3)) - break; - bin_positions >>= 1; - bin_quantity >>= 2; - } + for (; chosen_position < 4; ++chosen_position){ + if (!(bin_positions & 1) && + !(bin_quantity & 3)) + break; + bin_positions >>= 1; + bin_quantity >>= 2; + } - if (chosen_position == 4)return 0; + if (chosen_position == 4)return 0; - peep->var_37 = chosen_position; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_EMPTYING_BIN; - peep_window_state_update(peep); + peep->var_37 = chosen_position; + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_EMPTYING_BIN; + peep_window_state_update(peep); - peep->sub_state = 0; - peep->destination_x = (peep->x & 0xFFE0) + _992A4C[chosen_position].x; - peep->destination_y = (peep->y & 0xFFE0) + _992A4C[chosen_position].y; - peep->destination_tolerence = 3; - return 1; + peep->sub_state = 0; + peep->destination_x = (peep->x & 0xFFE0) + _992A4C[chosen_position].x; + peep->destination_y = (peep->y & 0xFFE0) + _992A4C[chosen_position].y; + peep->destination_tolerence = 3; + return 1; } /** @@ -6223,30 +6223,30 @@ static sint32 peep_update_patrolling_find_bin(rct_peep* peep){ * rct2: 0x006BF322 */ static sint32 peep_update_patrolling_find_grass(rct_peep* peep){ - if (!(peep->staff_orders & STAFF_ORDERS_MOWING)) - return 0; + if (!(peep->staff_orders & STAFF_ORDERS_MOWING)) + return 0; - if (peep->var_E2 < 12)return 0; + if (peep->var_E2 < 12)return 0; - if ((peep->next_var_29 & 0x18) != 8) return 0; + if ((peep->next_var_29 & 0x18) != 8) return 0; - rct_map_element* map_element = map_get_surface_element_at(peep->next_x / 32, peep->next_y / 32); + rct_map_element* map_element = map_get_surface_element_at(peep->next_x / 32, peep->next_y / 32); - if ((map_element->properties.surface.terrain & MAP_ELEMENT_SURFACE_TERRAIN_MASK) != TERRAIN_GRASS) - return 0; + if ((map_element->properties.surface.terrain & MAP_ELEMENT_SURFACE_TERRAIN_MASK) != TERRAIN_GRASS) + return 0; - if ((map_element->properties.surface.grass_length & 0x7) < GRASS_LENGTH_CLEAR_1) - return 0; + if ((map_element->properties.surface.grass_length & 0x7) < GRASS_LENGTH_CLEAR_1) + return 0; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_MOWING; - peep_window_state_update(peep); - peep->var_37 = 0; - // Original code used .y for both x and y. Changed to .x to make more sense (both x and y are 28) - peep->destination_x = peep->next_x + _9929C8[0].x; - peep->destination_y = peep->next_y + _9929C8[0].y; - peep->destination_tolerence = 3; - return 1; + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_MOWING; + peep_window_state_update(peep); + peep->var_37 = 0; + // Original code used .y for both x and y. Changed to .x to make more sense (both x and y are 28) + peep->destination_x = peep->next_x + _9929C8[0].x; + peep->destination_y = peep->next_y + _9929C8[0].y; + peep->destination_tolerence = 3; + return 1; } /** @@ -6254,34 +6254,34 @@ static sint32 peep_update_patrolling_find_grass(rct_peep* peep){ * rct2: 0x006BF295 */ static sint32 peep_update_patrolling_find_sweeping(rct_peep* peep){ - if (!(peep->staff_orders & STAFF_ORDERS_SWEEPING)) - return 0; + if (!(peep->staff_orders & STAFF_ORDERS_SWEEPING)) + return 0; - uint16 sprite_id = sprite_get_first_in_quadrant(peep->x, peep->y); + uint16 sprite_id = sprite_get_first_in_quadrant(peep->x, peep->y); - for (rct_sprite* sprite = NULL; - sprite_id != SPRITE_INDEX_NULL; - sprite_id = sprite->unknown.next_in_quadrant){ + for (rct_sprite* sprite = NULL; + sprite_id != SPRITE_INDEX_NULL; + sprite_id = sprite->unknown.next_in_quadrant){ - sprite = get_sprite(sprite_id); + sprite = get_sprite(sprite_id); - if (sprite->unknown.linked_list_type_offset != SPRITE_LIST_LITTER * 2) continue; + if (sprite->unknown.linked_list_type_offset != SPRITE_LIST_LITTER * 2) continue; - uint16 z_diff = abs(peep->z - sprite->litter.z); + uint16 z_diff = abs(peep->z - sprite->litter.z); - if (z_diff >= 16)continue; + if (z_diff >= 16)continue; - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_SWEEPING; - peep_window_state_update(peep); - peep->var_37 = 0; - peep->destination_x = sprite->litter.x; - peep->destination_y = sprite->litter.y; - peep->destination_tolerence = 5; - return 1; - } + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_SWEEPING; + peep_window_state_update(peep); + peep->var_37 = 0; + peep->destination_x = sprite->litter.x; + peep->destination_y = sprite->litter.y; + peep->destination_tolerence = 5; + return 1; + } - return 0; + return 0; } /** @@ -6290,75 +6290,75 @@ static sint32 peep_update_patrolling_find_sweeping(rct_peep* peep){ */ static void peep_update_patrolling(rct_peep* peep){ - if (!checkForPath(peep))return; + if (!checkForPath(peep))return; - peep_perform_next_action(peep); - if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; + peep_perform_next_action(peep); + if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; - if ((peep->next_var_29 & 0x18) == 8){ - rct_map_element* map_element = map_get_surface_element_at(peep->next_x / 32, peep->next_y / 32); + if ((peep->next_var_29 & 0x18) == 8){ + rct_map_element* map_element = map_get_surface_element_at(peep->next_x / 32, peep->next_y / 32); - if (map_element != NULL){ - sint32 water_height = map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; - if (water_height){ - invalidate_sprite_2((rct_sprite*)peep); - water_height *= 16; - sprite_move(peep->x, peep->y, water_height, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); + if (map_element != NULL){ + sint32 water_height = map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; + if (water_height){ + invalidate_sprite_2((rct_sprite*)peep); + water_height *= 16; + sprite_move(peep->x, peep->y, water_height, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - return; - } - } - } + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + return; + } + } + } - if (peep->staff_type != STAFF_TYPE_HANDYMAN) return; + if (peep->staff_type != STAFF_TYPE_HANDYMAN) return; - if (peep_update_patrolling_find_sweeping(peep))return; + if (peep_update_patrolling_find_sweeping(peep))return; - if (peep_update_patrolling_find_grass(peep))return; + if (peep_update_patrolling_find_grass(peep))return; - if (peep_update_patrolling_find_bin(peep))return; + if (peep_update_patrolling_find_bin(peep))return; - peep_update_patrolling_find_watering(peep); + peep_update_patrolling_find_watering(peep); } /** rct2: 0x00981F4C, 0x00981F4E */ static const rct_xy16 _981F4C[] = { - { 7, 5 }, - { 5, 25 }, - { 25, 5 }, - { 5, 7 }, - { 7, 9 }, - { 9, 25 }, - { 25, 9 }, - { 9, 7 }, - { 7, 23 }, - { 23, 25 }, - { 25, 23 }, - { 23, 7 }, - { 7, 27 }, - { 27, 25 }, - { 25, 27 }, - { 27, 7 }, - { 7, 0 }, - { 0, 25 }, - { 25, 0 }, - { 0, 7 }, - { 7, 0 }, - { 0, 25 }, - { 25, 0 }, - { 0, 7 }, - { 7, 0 }, - { 0, 25 }, - { 25, 0 }, - { 0, 7 }, - { 7, 0 }, - { 0, 25 }, - { 25, 0 }, - { 0, 7 }, + { 7, 5 }, + { 5, 25 }, + { 25, 5 }, + { 5, 7 }, + { 7, 9 }, + { 9, 25 }, + { 25, 9 }, + { 9, 7 }, + { 7, 23 }, + { 23, 25 }, + { 25, 23 }, + { 23, 7 }, + { 7, 27 }, + { 27, 25 }, + { 25, 27 }, + { 27, 7 }, + { 7, 0 }, + { 0, 25 }, + { 25, 0 }, + { 0, 7 }, + { 7, 0 }, + { 0, 25 }, + { 25, 0 }, + { 0, 7 }, + { 7, 0 }, + { 0, 25 }, + { 25, 0 }, + { 0, 7 }, + { 7, 0 }, + { 0, 25 }, + { 25, 0 }, + { 0, 7 }, }; /** @@ -6366,281 +6366,281 @@ static const rct_xy16 _981F4C[] = { * rct2: 0x0069030A */ static void peep_update_walking(rct_peep* peep){ - if (!checkForPath(peep))return; + if (!checkForPath(peep))return; - if (peep->peep_flags & PEEP_FLAGS_WAVING){ - if (peep->action >= PEEP_ACTION_NONE_1){ - if ((0xFFFF & scenario_rand()) < 936){ - invalidate_sprite_2((rct_sprite*)peep); + if (peep->peep_flags & PEEP_FLAGS_WAVING){ + if (peep->action >= PEEP_ACTION_NONE_1){ + if ((0xFFFF & scenario_rand()) < 936){ + invalidate_sprite_2((rct_sprite*)peep); - peep->action = PEEP_ACTION_WAVE_2; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; + peep->action = PEEP_ACTION_WAVE_2; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - } - } - } + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + } + } + } - if (peep->peep_flags & PEEP_FLAGS_PHOTO){ - if (peep->action >= PEEP_ACTION_NONE_1){ - if ((0xFFFF & scenario_rand()) < 936){ - invalidate_sprite_2((rct_sprite*)peep); + if (peep->peep_flags & PEEP_FLAGS_PHOTO){ + if (peep->action >= PEEP_ACTION_NONE_1){ + if ((0xFFFF & scenario_rand()) < 936){ + invalidate_sprite_2((rct_sprite*)peep); - peep->action = PEEP_ACTION_TAKE_PHOTO; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; + peep->action = PEEP_ACTION_TAKE_PHOTO; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - } - } - } + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + } + } + } - if (peep->peep_flags & PEEP_FLAGS_PAINTING){ - if (peep->action >= PEEP_ACTION_NONE_1){ - if ((0xFFFF & scenario_rand()) < 936){ - invalidate_sprite_2((rct_sprite*)peep); + if (peep->peep_flags & PEEP_FLAGS_PAINTING){ + if (peep->action >= PEEP_ACTION_NONE_1){ + if ((0xFFFF & scenario_rand()) < 936){ + invalidate_sprite_2((rct_sprite*)peep); - peep->action = PEEP_ACTION_DRAW_PICTURE; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; + peep->action = PEEP_ACTION_DRAW_PICTURE; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - } - } - } + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + } + } + } - if (peep->peep_flags & PEEP_FLAGS_LITTER){ - if (!(peep->next_var_29 & 0x18)){ - if ((0xFFFF & scenario_rand()) <= 4096){ - static const uint8 litter_types[] = { - LITTER_TYPE_EMPTY_CAN, - LITTER_TYPE_RUBBISH, - LITTER_TYPE_EMPTY_BURGER_BOX, - LITTER_TYPE_EMPTY_CUP, - }; - sint32 ebp = litter_types[scenario_rand() & 0x3]; - sint32 x = peep->x + (scenario_rand() & 0x7) - 3; - sint32 y = peep->y + (scenario_rand() & 0x7) - 3; - sint32 direction = (scenario_rand() & 0x3); + if (peep->peep_flags & PEEP_FLAGS_LITTER){ + if (!(peep->next_var_29 & 0x18)){ + if ((0xFFFF & scenario_rand()) <= 4096){ + static const uint8 litter_types[] = { + LITTER_TYPE_EMPTY_CAN, + LITTER_TYPE_RUBBISH, + LITTER_TYPE_EMPTY_BURGER_BOX, + LITTER_TYPE_EMPTY_CUP, + }; + sint32 ebp = litter_types[scenario_rand() & 0x3]; + sint32 x = peep->x + (scenario_rand() & 0x7) - 3; + sint32 y = peep->y + (scenario_rand() & 0x7) - 3; + sint32 direction = (scenario_rand() & 0x3); - litter_create(x, y, peep->z, direction, ebp); - } - } - } - else if (peep_has_empty_container(peep)){ - if ((!(peep->next_var_29 & 0x18)) && - ((uint32)(peep->sprite_index & 0x1FF) == (gCurrentTicks & 0x1FF))&& - ((0xFFFF & scenario_rand()) <= 4096)){ + litter_create(x, y, peep->z, direction, ebp); + } + } + } + else if (peep_has_empty_container(peep)){ + if ((!(peep->next_var_29 & 0x18)) && + ((uint32)(peep->sprite_index & 0x1FF) == (gCurrentTicks & 0x1FF))&& + ((0xFFFF & scenario_rand()) <= 4096)){ - uint8 pos_stnd = 0; - for (sint32 container = peep_empty_container_standard_flag(peep); pos_stnd < 32; pos_stnd++) - if (container & (1u << pos_stnd)) - break; + uint8 pos_stnd = 0; + for (sint32 container = peep_empty_container_standard_flag(peep); pos_stnd < 32; pos_stnd++) + if (container & (1u << pos_stnd)) + break; - sint32 bp = 0; + sint32 bp = 0; - if (pos_stnd != 32){ - peep->item_standard_flags &= ~(1u << pos_stnd); - bp = item_standard_litter[pos_stnd]; - } - else{ - uint8 pos_extr = 0; - for (sint32 container = peep_empty_container_extra_flag(peep); pos_extr < 32; pos_extr++) - if (container & (1u << pos_extr)) - break; - peep->item_extra_flags &= ~(1u << pos_extr); - bp = item_extra_litter[pos_extr]; - } + if (pos_stnd != 32){ + peep->item_standard_flags &= ~(1u << pos_stnd); + bp = item_standard_litter[pos_stnd]; + } + else{ + uint8 pos_extr = 0; + for (sint32 container = peep_empty_container_extra_flag(peep); pos_extr < 32; pos_extr++) + if (container & (1u << pos_extr)) + break; + peep->item_extra_flags &= ~(1u << pos_extr); + bp = item_extra_litter[pos_extr]; + } - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - peep_update_sprite_type(peep); + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + peep_update_sprite_type(peep); - sint32 x = peep->x + (scenario_rand() & 0x7) - 3; - sint32 y = peep->y + (scenario_rand() & 0x7) - 3; - sint32 direction = (scenario_rand() & 0x3); + sint32 x = peep->x + (scenario_rand() & 0x7) - 3; + sint32 y = peep->y + (scenario_rand() & 0x7) - 3; + sint32 direction = (scenario_rand() & 0x3); - litter_create(x, y, peep->z, direction, bp); - } - } + litter_create(x, y, peep->z, direction, bp); + } + } - peep_perform_next_action(peep); - if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; + peep_perform_next_action(peep); + if (!(_unk_F1EE18 & F1EE18_DESTINATION_REACHED)) return; - if ((peep->next_var_29 & 0x18) == 8){ - rct_map_element* map_element = map_get_surface_element_at(peep->next_x / 32, peep->next_y / 32); + if ((peep->next_var_29 & 0x18) == 8){ + rct_map_element* map_element = map_get_surface_element_at(peep->next_x / 32, peep->next_y / 32); - sint32 water_height = map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; - if (water_height){ - invalidate_sprite_2((rct_sprite*)peep); - water_height *= 16; - sprite_move(peep->x, peep->y, water_height, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); + sint32 water_height = map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; + if (water_height){ + invalidate_sprite_2((rct_sprite*)peep); + water_height *= 16; + sprite_move(peep->x, peep->y, water_height, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - return; - } - } + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_FALLING; + peep_window_state_update(peep); + return; + } + } - peep_check_if_lost(peep); - peep_check_cant_find_ride(peep); - peep_check_cant_find_exit(peep); + peep_check_if_lost(peep); + peep_check_cant_find_ride(peep); + peep_check_cant_find_exit(peep); - if (peep_update_walking_find_bench(peep))return; + if (peep_update_walking_find_bench(peep))return; - if (peep_update_walking_find_bin(peep))return; + if (peep_update_walking_find_bin(peep))return; - peep_update_walking_break_scenery(peep); + peep_update_walking_break_scenery(peep); - if (peep->state != PEEP_STATE_WALKING)return; + if (peep->state != PEEP_STATE_WALKING)return; - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)return; + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)return; - if (peep->nausea > 140)return; + if (peep->nausea > 140)return; - if (peep->happiness < 120)return; + if (peep->happiness < 120)return; - if (peep->bathroom > 140)return; + if (peep->bathroom > 140)return; - uint16 chance = peep_has_food(peep) ? 13107 : 2849; + uint16 chance = peep_has_food(peep) ? 13107 : 2849; - if ((scenario_rand() & 0xFFFF) > chance)return; + if ((scenario_rand() & 0xFFFF) > chance)return; - if (peep->next_var_29 & 0x1C)return; + if (peep->next_var_29 & 0x1C)return; - rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); + rct_map_element* map_element = map_get_first_element_at(peep->next_x / 32, peep->next_y / 32); - for (;; map_element++){ - if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH){ - if (peep->next_z == map_element->base_height)break; - } - if (map_element_is_last_for_tile(map_element)){ - return; - } - } + for (;; map_element++){ + if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH){ + if (peep->next_z == map_element->base_height)break; + } + if (map_element_is_last_for_tile(map_element)){ + return; + } + } - sint32 ebp = 15; + sint32 ebp = 15; - if (footpath_element_has_path_scenery(map_element)) { - if (!footpath_element_path_scenery_is_ghost(map_element)) { - rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); + if (footpath_element_has_path_scenery(map_element)) { + if (!footpath_element_path_scenery_is_ghost(map_element)) { + rct_scenery_entry* sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(map_element)); - if (!(sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_BENCH)) ebp = 9; - } - } + if (!(sceneryEntry->path_bit.flags & PATH_BIT_FLAG_IS_BENCH)) ebp = 9; + } + } - sint32 edges = (map_element->properties.path.edges & 0xF) ^ 0xF; - if (edges == 0) return; + sint32 edges = (map_element->properties.path.edges & 0xF) ^ 0xF; + if (edges == 0) return; - uint8 chosen_edge = scenario_rand() & 0x3; + uint8 chosen_edge = scenario_rand() & 0x3; - for (; !(edges & (1 << chosen_edge));)chosen_edge = (chosen_edge + 1) & 3; + for (; !(edges & (1 << chosen_edge));)chosen_edge = (chosen_edge + 1) & 3; - uint8 ride_to_view, ride_seat_to_view; - if (!peep_find_ride_to_look_at(peep, chosen_edge, &ride_to_view, &ride_seat_to_view)) - return; + uint8 ride_to_view, ride_seat_to_view; + if (!peep_find_ride_to_look_at(peep, chosen_edge, &ride_to_view, &ride_seat_to_view)) + return; - uint16 sprite_id = sprite_get_first_in_quadrant(peep->x, peep->y); - for (rct_sprite* sprite; sprite_id != SPRITE_INDEX_NULL; sprite_id = sprite->unknown.next_in_quadrant){ - sprite = get_sprite(sprite_id); + uint16 sprite_id = sprite_get_first_in_quadrant(peep->x, peep->y); + for (rct_sprite* sprite; sprite_id != SPRITE_INDEX_NULL; sprite_id = sprite->unknown.next_in_quadrant){ + sprite = get_sprite(sprite_id); - if (sprite->unknown.linked_list_type_offset != SPRITE_LIST_PEEP * 2) continue; + if (sprite->unknown.linked_list_type_offset != SPRITE_LIST_PEEP * 2) continue; - if (sprite->peep.state != PEEP_STATE_WATCHING)continue; + if (sprite->peep.state != PEEP_STATE_WATCHING)continue; - if (peep->z != sprite->peep.z)continue; + if (peep->z != sprite->peep.z)continue; - if ((sprite->peep.var_37 & 0x3) != chosen_edge)continue; + if ((sprite->peep.var_37 & 0x3) != chosen_edge)continue; - ebp &= ~(1 << ((sprite->peep.var_37 & 0x1C) >> 2)); - } + ebp &= ~(1 << ((sprite->peep.var_37 & 0x1C) >> 2)); + } - if (!ebp)return; + if (!ebp)return; - uint8 chosen_position = scenario_rand() & 0x3; + uint8 chosen_position = scenario_rand() & 0x3; - for (; !(ebp & (1 << chosen_position));)chosen_position = (chosen_position + 1) & 3; + for (; !(ebp & (1 << chosen_position));)chosen_position = (chosen_position + 1) & 3; - peep->current_ride = ride_to_view; - peep->current_seat = ride_seat_to_view; - peep->var_37 = chosen_edge | (chosen_position << 2); + peep->current_ride = ride_to_view; + peep->current_seat = ride_seat_to_view; + peep->var_37 = chosen_edge | (chosen_position << 2); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_WATCHING; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_WATCHING; + peep_window_state_update(peep); - peep->sub_state = 0; + peep->sub_state = 0; - sint32 ebx = peep->var_37 & 0x1F; - sint32 x = (peep->x & 0xFFE0) + _981F4C[ebx].x; - sint32 y = (peep->y & 0xFFE0) + _981F4C[ebx].y; + sint32 ebx = peep->var_37 & 0x1F; + sint32 x = (peep->x & 0xFFE0) + _981F4C[ebx].x; + sint32 y = (peep->y & 0xFFE0) + _981F4C[ebx].y; - peep->destination_x = x; - peep->destination_y = y; - peep->destination_tolerence = 3; + peep->destination_x = x; + peep->destination_y = y; + peep->destination_tolerence = 3; - if (peep->current_seat&1){ - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_NEW_RIDE, 0xFF); - } - if (peep->current_ride == 0xFF){ - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_SCENERY, 0xFF); - } + if (peep->current_seat&1){ + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_NEW_RIDE, 0xFF); + } + if (peep->current_ride == 0xFF){ + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_SCENERY, 0xFF); + } } /* From peep_update */ static void peep_update_thoughts(rct_peep* peep){ - // Thoughts must always have a gap of at least - // 220 ticks in age between them. In order to - // allow this when a thought is new it enters - // a holding zone. Before it becomes fresh. - sint32 add_fresh = 1; - sint32 fresh_thought = -1; - for (sint32 i = 0; i < PEEP_MAX_THOUGHTS; i++) { - if (peep->thoughts[i].type == PEEP_THOUGHT_TYPE_NONE) - break; + // Thoughts must always have a gap of at least + // 220 ticks in age between them. In order to + // allow this when a thought is new it enters + // a holding zone. Before it becomes fresh. + sint32 add_fresh = 1; + sint32 fresh_thought = -1; + for (sint32 i = 0; i < PEEP_MAX_THOUGHTS; i++) { + if (peep->thoughts[i].type == PEEP_THOUGHT_TYPE_NONE) + break; - if (peep->thoughts[i].var_2 == 1) { - add_fresh = 0; - // If thought is fresh we wait 220 ticks - // before allowing a new thought to become fresh. - if (++peep->thoughts[i].var_3 >= 220) { - peep->thoughts[i].var_3 = 0; - // Thought is no longer fresh - peep->thoughts[i].var_2++; - add_fresh = 1; - } - } - else if (peep->thoughts[i].var_2 > 1) { - if (++peep->thoughts[i].var_3 == 0) { - // When thought is older than ~6900 ticks remove it - if (++peep->thoughts[i].var_2 >= 28) { - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_THOUGHTS; + if (peep->thoughts[i].var_2 == 1) { + add_fresh = 0; + // If thought is fresh we wait 220 ticks + // before allowing a new thought to become fresh. + if (++peep->thoughts[i].var_3 >= 220) { + peep->thoughts[i].var_3 = 0; + // Thought is no longer fresh + peep->thoughts[i].var_2++; + add_fresh = 1; + } + } + else if (peep->thoughts[i].var_2 > 1) { + if (++peep->thoughts[i].var_3 == 0) { + // When thought is older than ~6900 ticks remove it + if (++peep->thoughts[i].var_2 >= 28) { + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_THOUGHTS; - // Clear top thought, push others up - if (i < PEEP_MAX_THOUGHTS - 2) { - memmove(&peep->thoughts[i], &peep->thoughts[i + 1], sizeof(rct_peep_thought)*(PEEP_MAX_THOUGHTS - i - 1)); - } - peep->thoughts[PEEP_MAX_THOUGHTS - 1].type = PEEP_THOUGHT_TYPE_NONE; - } - } - } - else { - fresh_thought = i; - } - } - // If there are no fresh thoughts - // a previously new thought can become - // fresh. - if (add_fresh && fresh_thought != -1) { - peep->thoughts[fresh_thought].var_2 = 1; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_THOUGHTS; - } + // Clear top thought, push others up + if (i < PEEP_MAX_THOUGHTS - 2) { + memmove(&peep->thoughts[i], &peep->thoughts[i + 1], sizeof(rct_peep_thought)*(PEEP_MAX_THOUGHTS - i - 1)); + } + peep->thoughts[PEEP_MAX_THOUGHTS - 1].type = PEEP_THOUGHT_TYPE_NONE; + } + } + } + else { + fresh_thought = i; + } + } + // If there are no fresh thoughts + // a previously new thought can become + // fresh. + if (add_fresh && fresh_thought != -1) { + peep->thoughts[fresh_thought].var_2 = 1; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_THOUGHTS; + } } /** @@ -6649,111 +6649,111 @@ static void peep_update_thoughts(rct_peep* peep){ */ static void peep_update(rct_peep *peep) { - if (peep->type == PEEP_TYPE_GUEST) { - if (peep->previous_ride != 255) - if (++peep->previous_ride_time_out >= 720) - peep->previous_ride = 255; + if (peep->type == PEEP_TYPE_GUEST) { + if (peep->previous_ride != 255) + if (++peep->previous_ride_time_out >= 720) + peep->previous_ride = 255; - peep_update_thoughts(peep); - } + peep_update_thoughts(peep); + } - // Walking speed logic - uint32 stepsToTake = peep->energy; - if (stepsToTake < 95 && peep->state == PEEP_STATE_QUEUING) - stepsToTake = 95; - if ((peep->peep_flags & PEEP_FLAGS_SLOW_WALK) && peep->state != PEEP_STATE_QUEUING) - stepsToTake /= 2; - if (peep->action == 255 && (peep->next_var_29 & 4)) { - stepsToTake /= 2; - if (peep->state == PEEP_STATE_QUEUING) - stepsToTake += stepsToTake / 2; - } + // Walking speed logic + uint32 stepsToTake = peep->energy; + if (stepsToTake < 95 && peep->state == PEEP_STATE_QUEUING) + stepsToTake = 95; + if ((peep->peep_flags & PEEP_FLAGS_SLOW_WALK) && peep->state != PEEP_STATE_QUEUING) + stepsToTake /= 2; + if (peep->action == 255 && (peep->next_var_29 & 4)) { + stepsToTake /= 2; + if (peep->state == PEEP_STATE_QUEUING) + stepsToTake += stepsToTake / 2; + } - uint32 carryCheck = peep->var_73 + stepsToTake; - peep->var_73 = carryCheck; - if (carryCheck <= 255) { - peep_easter_egg_peep_interactions(peep); - } else { - // loc_68FD2F - switch (peep->state) { - case PEEP_STATE_FALLING: - peep_update_falling(peep); - break; - case PEEP_STATE_1: - peep_update_1(peep); - break; - case PEEP_STATE_QUEUING_FRONT: - peep_update_ride(peep); - break; - case PEEP_STATE_ON_RIDE: - // No action - break; - case PEEP_STATE_LEAVING_RIDE: - peep_update_ride(peep); - break; - case PEEP_STATE_WALKING: - peep_update_walking(peep); - break; - case PEEP_STATE_QUEUING: - peep_update_queuing(peep); - break; - case PEEP_STATE_ENTERING_RIDE: - peep_update_ride(peep); - break; - case PEEP_STATE_SITTING: - peep_update_sitting(peep); - break; - case PEEP_STATE_PICKED: - peep_update_picked(peep); - break; - case PEEP_STATE_PATROLLING: - peep_update_patrolling(peep); - break; - case PEEP_STATE_MOWING: - peep_update_mowing(peep); - break; - case PEEP_STATE_SWEEPING: - peep_update_sweeping(peep); - break; - case PEEP_STATE_ENTERING_PARK: - peep_update_entering_park(peep); - break; - case PEEP_STATE_LEAVING_PARK: - peep_update_leaving_park(peep); - break; - case PEEP_STATE_ANSWERING: - peep_update_answering(peep); - break; - case PEEP_STATE_FIXING: - peep_update_fixing(stepsToTake, peep); - break; - case PEEP_STATE_BUYING: - peep_update_buying(peep); - break; - case PEEP_STATE_WATCHING: - peep_update_watching(peep); - break; - case PEEP_STATE_EMPTYING_BIN: - peep_update_emptying_bin(peep); - break; - case PEEP_STATE_USING_BIN: - peep_update_using_bin(peep); - break; - case PEEP_STATE_WATERING: - peep_update_watering(peep); - break; - case PEEP_STATE_HEADING_TO_INSPECTION: - peep_update_heading_to_inspect(peep); - break; - case PEEP_STATE_INSPECTING: - peep_update_fixing(stepsToTake, peep); - break; - //There shouldn't be any more - default: - assert(0); - break; - } - } + uint32 carryCheck = peep->var_73 + stepsToTake; + peep->var_73 = carryCheck; + if (carryCheck <= 255) { + peep_easter_egg_peep_interactions(peep); + } else { + // loc_68FD2F + switch (peep->state) { + case PEEP_STATE_FALLING: + peep_update_falling(peep); + break; + case PEEP_STATE_1: + peep_update_1(peep); + break; + case PEEP_STATE_QUEUING_FRONT: + peep_update_ride(peep); + break; + case PEEP_STATE_ON_RIDE: + // No action + break; + case PEEP_STATE_LEAVING_RIDE: + peep_update_ride(peep); + break; + case PEEP_STATE_WALKING: + peep_update_walking(peep); + break; + case PEEP_STATE_QUEUING: + peep_update_queuing(peep); + break; + case PEEP_STATE_ENTERING_RIDE: + peep_update_ride(peep); + break; + case PEEP_STATE_SITTING: + peep_update_sitting(peep); + break; + case PEEP_STATE_PICKED: + peep_update_picked(peep); + break; + case PEEP_STATE_PATROLLING: + peep_update_patrolling(peep); + break; + case PEEP_STATE_MOWING: + peep_update_mowing(peep); + break; + case PEEP_STATE_SWEEPING: + peep_update_sweeping(peep); + break; + case PEEP_STATE_ENTERING_PARK: + peep_update_entering_park(peep); + break; + case PEEP_STATE_LEAVING_PARK: + peep_update_leaving_park(peep); + break; + case PEEP_STATE_ANSWERING: + peep_update_answering(peep); + break; + case PEEP_STATE_FIXING: + peep_update_fixing(stepsToTake, peep); + break; + case PEEP_STATE_BUYING: + peep_update_buying(peep); + break; + case PEEP_STATE_WATCHING: + peep_update_watching(peep); + break; + case PEEP_STATE_EMPTYING_BIN: + peep_update_emptying_bin(peep); + break; + case PEEP_STATE_USING_BIN: + peep_update_using_bin(peep); + break; + case PEEP_STATE_WATERING: + peep_update_watering(peep); + break; + case PEEP_STATE_HEADING_TO_INSPECTION: + peep_update_heading_to_inspect(peep); + break; + case PEEP_STATE_INSPECTING: + peep_update_fixing(stepsToTake, peep); + break; + //There shouldn't be any more + default: + assert(0); + break; + } + } } @@ -6763,147 +6763,147 @@ static void peep_update(rct_peep *peep) */ void peep_problem_warnings_update() { - rct_peep* peep; - rct_ride* ride; - uint16 spriteIndex; - uint16 guests_in_park = gNumGuestsInPark; - sint32 hunger_counter = 0, lost_counter = 0, noexit_counter = 0, thirst_counter = 0, - litter_counter = 0, disgust_counter = 0, bathroom_counter = 0 ,vandalism_counter = 0; - uint8 *warning_throttle = gPeepWarningThrottle; + rct_peep* peep; + rct_ride* ride; + uint16 spriteIndex; + uint16 guests_in_park = gNumGuestsInPark; + sint32 hunger_counter = 0, lost_counter = 0, noexit_counter = 0, thirst_counter = 0, + litter_counter = 0, disgust_counter = 0, bathroom_counter = 0 ,vandalism_counter = 0; + uint8 *warning_throttle = gPeepWarningThrottle; - gRideCount = ride_get_count(); // refactor this to somewhere else + gRideCount = ride_get_count(); // refactor this to somewhere else - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0 || peep->thoughts[0].var_2 > 5) - continue; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0 || peep->thoughts[0].var_2 > 5) + continue; - switch (peep->thoughts[0].type) { - case PEEP_THOUGHT_TYPE_LOST: //0x10 - lost_counter++; - break; + switch (peep->thoughts[0].type) { + case PEEP_THOUGHT_TYPE_LOST: //0x10 + lost_counter++; + break; - case PEEP_THOUGHT_TYPE_HUNGRY: // 0x14 - if (peep->guest_heading_to_ride_id == 0xFF){ - hunger_counter++; - break; - } - ride = get_ride(peep->guest_heading_to_ride_id); - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) - hunger_counter++; - break; + case PEEP_THOUGHT_TYPE_HUNGRY: // 0x14 + if (peep->guest_heading_to_ride_id == 0xFF){ + hunger_counter++; + break; + } + ride = get_ride(peep->guest_heading_to_ride_id); + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) + hunger_counter++; + break; - case PEEP_THOUGHT_TYPE_THIRSTY: - if (peep->guest_heading_to_ride_id == 0xFF){ - thirst_counter++; - break; - } - ride = get_ride(peep->guest_heading_to_ride_id); - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SELLS_DRINKS)) - thirst_counter++; - break; + case PEEP_THOUGHT_TYPE_THIRSTY: + if (peep->guest_heading_to_ride_id == 0xFF){ + thirst_counter++; + break; + } + ride = get_ride(peep->guest_heading_to_ride_id); + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SELLS_DRINKS)) + thirst_counter++; + break; - case PEEP_THOUGHT_TYPE_BATHROOM: - if (peep->guest_heading_to_ride_id == 0xFF){ - bathroom_counter++; - break; - } - ride = get_ride(peep->guest_heading_to_ride_id); - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_BATHROOM)) - bathroom_counter++; - break; + case PEEP_THOUGHT_TYPE_BATHROOM: + if (peep->guest_heading_to_ride_id == 0xFF){ + bathroom_counter++; + break; + } + ride = get_ride(peep->guest_heading_to_ride_id); + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_BATHROOM)) + bathroom_counter++; + break; - case PEEP_THOUGHT_TYPE_BAD_LITTER: // 0x1a - litter_counter++; - break; - case PEEP_THOUGHT_TYPE_CANT_FIND_EXIT: // 0x1b - noexit_counter++; - break; - case PEEP_THOUGHT_TYPE_PATH_DISGUSTING: // 0x1f - disgust_counter++; - break; - case PEEP_THOUGHT_TYPE_VANDALISM: //0x21 - vandalism_counter++; - break; - default: - break; - } - } - // could maybe be packed into a loop, would lose a lot of clarity though - if (warning_throttle[0]) - --warning_throttle[0]; - else if ( hunger_counter >= PEEP_HUNGER_WARNING_THRESHOLD && hunger_counter >= guests_in_park / 16) { - warning_throttle[0] = 4; - if (gConfigNotifications.guest_warnings) { - news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_ARE_HUNGRY, 20); - } - } + case PEEP_THOUGHT_TYPE_BAD_LITTER: // 0x1a + litter_counter++; + break; + case PEEP_THOUGHT_TYPE_CANT_FIND_EXIT: // 0x1b + noexit_counter++; + break; + case PEEP_THOUGHT_TYPE_PATH_DISGUSTING: // 0x1f + disgust_counter++; + break; + case PEEP_THOUGHT_TYPE_VANDALISM: //0x21 + vandalism_counter++; + break; + default: + break; + } + } + // could maybe be packed into a loop, would lose a lot of clarity though + if (warning_throttle[0]) + --warning_throttle[0]; + else if ( hunger_counter >= PEEP_HUNGER_WARNING_THRESHOLD && hunger_counter >= guests_in_park / 16) { + warning_throttle[0] = 4; + if (gConfigNotifications.guest_warnings) { + news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_ARE_HUNGRY, 20); + } + } - if (warning_throttle[1]) - --warning_throttle[1]; - else if (thirst_counter >= PEEP_THIRST_WARNING_THRESHOLD && thirst_counter >= guests_in_park / 16) { - warning_throttle[1] = 4; - if (gConfigNotifications.guest_warnings) { - news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_ARE_THIRSTY, 21); - } - } + if (warning_throttle[1]) + --warning_throttle[1]; + else if (thirst_counter >= PEEP_THIRST_WARNING_THRESHOLD && thirst_counter >= guests_in_park / 16) { + warning_throttle[1] = 4; + if (gConfigNotifications.guest_warnings) { + news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_ARE_THIRSTY, 21); + } + } - if (warning_throttle[2]) - --warning_throttle[2]; - else if (bathroom_counter >= PEEP_BATHROOM_WARNING_THRESHOLD && bathroom_counter >= guests_in_park / 16) { - warning_throttle[2] = 4; - if (gConfigNotifications.guest_warnings) { - news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_CANT_FIND_BATHROOM, 22); - } - } + if (warning_throttle[2]) + --warning_throttle[2]; + else if (bathroom_counter >= PEEP_BATHROOM_WARNING_THRESHOLD && bathroom_counter >= guests_in_park / 16) { + warning_throttle[2] = 4; + if (gConfigNotifications.guest_warnings) { + news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_CANT_FIND_BATHROOM, 22); + } + } - if (warning_throttle[3]) - --warning_throttle[3]; - else if (litter_counter >= PEEP_LITTER_WARNING_THRESHOLD && litter_counter >= guests_in_park / 32) { - warning_throttle[3] = 4; - if (gConfigNotifications.guest_warnings) { - news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_DISLIKE_LITTER, 26); - } - } + if (warning_throttle[3]) + --warning_throttle[3]; + else if (litter_counter >= PEEP_LITTER_WARNING_THRESHOLD && litter_counter >= guests_in_park / 32) { + warning_throttle[3] = 4; + if (gConfigNotifications.guest_warnings) { + news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_DISLIKE_LITTER, 26); + } + } - if (warning_throttle[4]) - --warning_throttle[4]; - else if (disgust_counter >= PEEP_DISGUST_WARNING_THRESHOLD && disgust_counter >= guests_in_park / 32) { - warning_throttle[4] = 4; - if (gConfigNotifications.guest_warnings) { - news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_DISGUSTED_BY_PATHS, 31); - } - } + if (warning_throttle[4]) + --warning_throttle[4]; + else if (disgust_counter >= PEEP_DISGUST_WARNING_THRESHOLD && disgust_counter >= guests_in_park / 32) { + warning_throttle[4] = 4; + if (gConfigNotifications.guest_warnings) { + news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_DISGUSTED_BY_PATHS, 31); + } + } - if (warning_throttle[5]) - --warning_throttle[5]; - else if (vandalism_counter >= PEEP_VANDALISM_WARNING_THRESHOLD && vandalism_counter >= guests_in_park / 32) { - warning_throttle[5] = 4; - if (gConfigNotifications.guest_warnings) { - news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_DISLIKE_VANDALISM, 33); - } - } + if (warning_throttle[5]) + --warning_throttle[5]; + else if (vandalism_counter >= PEEP_VANDALISM_WARNING_THRESHOLD && vandalism_counter >= guests_in_park / 32) { + warning_throttle[5] = 4; + if (gConfigNotifications.guest_warnings) { + news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_DISLIKE_VANDALISM, 33); + } + } - if (warning_throttle[6]) - --warning_throttle[6]; - else if (noexit_counter >= PEEP_NOEXIT_WARNING_THRESHOLD) { - warning_throttle[6] = 4; - if (gConfigNotifications.guest_warnings) { - news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_GETTING_LOST_OR_STUCK, 27); - } - } else if (lost_counter >= PEEP_LOST_WARNING_THRESHOLD) { - warning_throttle[6] = 4; - if (gConfigNotifications.guest_warnings) { - news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_GETTING_LOST_OR_STUCK, 16); - } - } + if (warning_throttle[6]) + --warning_throttle[6]; + else if (noexit_counter >= PEEP_NOEXIT_WARNING_THRESHOLD) { + warning_throttle[6] = 4; + if (gConfigNotifications.guest_warnings) { + news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_GETTING_LOST_OR_STUCK, 27); + } + } else if (lost_counter >= PEEP_LOST_WARNING_THRESHOLD) { + warning_throttle[6] = 4; + if (gConfigNotifications.guest_warnings) { + news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_GETTING_LOST_OR_STUCK, 16); + } + } } void peep_stop_crowd_noise() { - if (_crowdSoundChannel != NULL) { - Mixer_Stop_Channel(_crowdSoundChannel); - _crowdSoundChannel = NULL; - } + if (_crowdSoundChannel != NULL) { + Mixer_Stop_Channel(_crowdSoundChannel); + _crowdSoundChannel = NULL; + } } /** @@ -6912,74 +6912,74 @@ void peep_stop_crowd_noise() */ void peep_update_crowd_noise() { - rct_viewport *viewport; - uint16 spriteIndex; - rct_peep *peep; - sint32 visiblePeeps; + rct_viewport *viewport; + uint16 spriteIndex; + rct_peep *peep; + sint32 visiblePeeps; - if (gGameSoundsOff) - return; + if (gGameSoundsOff) + return; - if (!gConfigSound.sound_enabled) - return; + if (!gConfigSound.sound_enabled) + return; - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) - return; + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) + return; - viewport = g_music_tracking_viewport; - if (viewport == (rct_viewport*)-1) - return; + viewport = g_music_tracking_viewport; + if (viewport == (rct_viewport*)-1) + return; - // Count the number of peeps visible - visiblePeeps = 0; + // Count the number of peeps visible + visiblePeeps = 0; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->sprite_left == (sint16)(uint16)0x8000) - continue; - if (viewport->view_x > peep->sprite_right) - continue; - if (viewport->view_x + viewport->view_width < peep->sprite_left) - continue; - if (viewport->view_y > peep->sprite_bottom) - continue; - if (viewport->view_y + viewport->view_height < peep->sprite_top) - continue; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->sprite_left == (sint16)(uint16)0x8000) + continue; + if (viewport->view_x > peep->sprite_right) + continue; + if (viewport->view_x + viewport->view_width < peep->sprite_left) + continue; + if (viewport->view_y > peep->sprite_bottom) + continue; + if (viewport->view_y + viewport->view_height < peep->sprite_top) + continue; - visiblePeeps += peep->state == PEEP_STATE_QUEUING ? 1 : 2; - } + visiblePeeps += peep->state == PEEP_STATE_QUEUING ? 1 : 2; + } - // This function doesn't account for the fact that the screen might be so big that 100 peeps could potentially be very - // spread out and therefore not produce any crowd noise. Perhaps a more sophisticated solution would check how many peeps - // were in close proximity to each other. + // This function doesn't account for the fact that the screen might be so big that 100 peeps could potentially be very + // spread out and therefore not produce any crowd noise. Perhaps a more sophisticated solution would check how many peeps + // were in close proximity to each other. - // Allows queuing peeps to make half as much noise, and at least 6 peeps must be visible for any crowd noise - visiblePeeps = (visiblePeeps / 2) - 6; - if (visiblePeeps < 0) { - // Mute crowd noise - if (_crowdSoundChannel != NULL) { - Mixer_Stop_Channel(_crowdSoundChannel); - _crowdSoundChannel = NULL; - } - } else { - sint32 volume; + // Allows queuing peeps to make half as much noise, and at least 6 peeps must be visible for any crowd noise + visiblePeeps = (visiblePeeps / 2) - 6; + if (visiblePeeps < 0) { + // Mute crowd noise + if (_crowdSoundChannel != NULL) { + Mixer_Stop_Channel(_crowdSoundChannel); + _crowdSoundChannel = NULL; + } + } else { + sint32 volume; - // Formula to scale peeps to dB where peeps [0, 120] scales approximately logarithmically to [-3314, -150] dB/100 - // 207360000 maybe related to DSBVOLUME_MIN which is -10,000 (dB/100) - volume = 120 - min(visiblePeeps, 120); - volume = volume * volume * volume * volume; - volume = (((207360000 - volume) >> viewport->zoom) - 207360000) / 65536 - 150; + // Formula to scale peeps to dB where peeps [0, 120] scales approximately logarithmically to [-3314, -150] dB/100 + // 207360000 maybe related to DSBVOLUME_MIN which is -10,000 (dB/100) + volume = 120 - min(visiblePeeps, 120); + volume = volume * volume * volume * volume; + volume = (((207360000 - volume) >> viewport->zoom) - 207360000) / 65536 - 150; - // Load and play crowd noise if needed and set volume - if (_crowdSoundChannel == NULL) { - _crowdSoundChannel = Mixer_Play_Music(PATH_ID_CSS2, MIXER_LOOP_INFINITE, false); - if (_crowdSoundChannel != NULL) { - Mixer_Channel_SetGroup(_crowdSoundChannel, MIXER_GROUP_SOUND); - } - } - if (_crowdSoundChannel != NULL) { - Mixer_Channel_Volume(_crowdSoundChannel, DStoMixerVolume(volume)); - } - } + // Load and play crowd noise if needed and set volume + if (_crowdSoundChannel == NULL) { + _crowdSoundChannel = Mixer_Play_Music(PATH_ID_CSS2, MIXER_LOOP_INFINITE, false); + if (_crowdSoundChannel != NULL) { + Mixer_Channel_SetGroup(_crowdSoundChannel, MIXER_GROUP_SOUND); + } + } + if (_crowdSoundChannel != NULL) { + Mixer_Channel_Volume(_crowdSoundChannel, DStoMixerVolume(volume)); + } + } } /** @@ -6988,35 +6988,35 @@ void peep_update_crowd_noise() */ void peep_applause() { - uint16 spriteIndex; - rct_peep* peep; + uint16 spriteIndex; + rct_peep* peep; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0) - continue; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0) + continue; - // Release balloon - if (peep->item_standard_flags & PEEP_ITEM_BALLOON) { - peep->item_standard_flags &= ~PEEP_ITEM_BALLOON; - if (peep->x != MAP_LOCATION_NULL) { - create_balloon(peep->x, peep->y, peep->z + 9, peep->balloon_colour, false); - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - peep_update_sprite_type(peep); - } - } + // Release balloon + if (peep->item_standard_flags & PEEP_ITEM_BALLOON) { + peep->item_standard_flags &= ~PEEP_ITEM_BALLOON; + if (peep->x != MAP_LOCATION_NULL) { + create_balloon(peep->x, peep->y, peep->z + 9, peep->balloon_colour, false); + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + peep_update_sprite_type(peep); + } + } - // Clap - if ((peep->state == PEEP_STATE_WALKING || peep->state == PEEP_STATE_QUEUING) && peep->action >= 254) { - peep->action = PEEP_ACTION_CLAP; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - } - } + // Clap + if ((peep->state == PEEP_STATE_WALKING || peep->state == PEEP_STATE_QUEUING) && peep->action >= 254) { + peep->action = PEEP_ACTION_CLAP; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + } + } - // Play applause noise - audio_play_sound(SOUND_APPLAUSE, 0, context_get_width() / 2); + // Play applause noise + audio_play_sound(SOUND_APPLAUSE, 0, context_get_width() / 2); } /** @@ -7025,90 +7025,90 @@ void peep_applause() */ void peep_update_days_in_queue() { - uint16 sprite_index; - rct_peep *peep; + uint16 sprite_index; + rct_peep *peep; - FOR_ALL_GUESTS(sprite_index, peep) { - if (peep->outside_of_park == 0 && peep->state == PEEP_STATE_QUEUING) { - if (peep->days_in_queue < 255) { - peep->days_in_queue += 1; - } - } - } + FOR_ALL_GUESTS(sprite_index, peep) { + if (peep->outside_of_park == 0 && peep->state == PEEP_STATE_QUEUING) { + if (peep->days_in_queue < 255) { + peep->days_in_queue += 1; + } + } + } } /** rct2: 0x009823A0 */ static const enum PEEP_NAUSEA_TOLERANCE nausea_tolerance_distribution[] = { - PEEP_NAUSEA_TOLERANCE_NONE, - PEEP_NAUSEA_TOLERANCE_LOW, PEEP_NAUSEA_TOLERANCE_LOW, - PEEP_NAUSEA_TOLERANCE_AVERAGE, PEEP_NAUSEA_TOLERANCE_AVERAGE, PEEP_NAUSEA_TOLERANCE_AVERAGE, - PEEP_NAUSEA_TOLERANCE_HIGH, PEEP_NAUSEA_TOLERANCE_HIGH, PEEP_NAUSEA_TOLERANCE_HIGH, PEEP_NAUSEA_TOLERANCE_HIGH, PEEP_NAUSEA_TOLERANCE_HIGH, PEEP_NAUSEA_TOLERANCE_HIGH, + PEEP_NAUSEA_TOLERANCE_NONE, + PEEP_NAUSEA_TOLERANCE_LOW, PEEP_NAUSEA_TOLERANCE_LOW, + PEEP_NAUSEA_TOLERANCE_AVERAGE, PEEP_NAUSEA_TOLERANCE_AVERAGE, PEEP_NAUSEA_TOLERANCE_AVERAGE, + PEEP_NAUSEA_TOLERANCE_HIGH, PEEP_NAUSEA_TOLERANCE_HIGH, PEEP_NAUSEA_TOLERANCE_HIGH, PEEP_NAUSEA_TOLERANCE_HIGH, PEEP_NAUSEA_TOLERANCE_HIGH, PEEP_NAUSEA_TOLERANCE_HIGH, }; /** rct2: 0x009823BC */ static const uint8 trouser_colours[] = { - COLOUR_BLACK, - COLOUR_GREY, - COLOUR_LIGHT_BROWN, - COLOUR_SATURATED_BROWN, - COLOUR_DARK_BROWN, - COLOUR_SALMON_PINK, - COLOUR_BLACK, - COLOUR_GREY, - COLOUR_LIGHT_BROWN, - COLOUR_SATURATED_BROWN, - COLOUR_DARK_BROWN, - COLOUR_SALMON_PINK, - COLOUR_BLACK, - COLOUR_GREY, - COLOUR_LIGHT_BROWN, - COLOUR_SATURATED_BROWN, - COLOUR_DARK_BROWN, - COLOUR_SALMON_PINK, - COLOUR_DARK_PURPLE, - COLOUR_LIGHT_PURPLE, - COLOUR_DARK_BLUE, - COLOUR_SATURATED_GREEN, - COLOUR_SATURATED_RED, - COLOUR_DARK_ORANGE, - COLOUR_BORDEAUX_RED, + COLOUR_BLACK, + COLOUR_GREY, + COLOUR_LIGHT_BROWN, + COLOUR_SATURATED_BROWN, + COLOUR_DARK_BROWN, + COLOUR_SALMON_PINK, + COLOUR_BLACK, + COLOUR_GREY, + COLOUR_LIGHT_BROWN, + COLOUR_SATURATED_BROWN, + COLOUR_DARK_BROWN, + COLOUR_SALMON_PINK, + COLOUR_BLACK, + COLOUR_GREY, + COLOUR_LIGHT_BROWN, + COLOUR_SATURATED_BROWN, + COLOUR_DARK_BROWN, + COLOUR_SALMON_PINK, + COLOUR_DARK_PURPLE, + COLOUR_LIGHT_PURPLE, + COLOUR_DARK_BLUE, + COLOUR_SATURATED_GREEN, + COLOUR_SATURATED_RED, + COLOUR_DARK_ORANGE, + COLOUR_BORDEAUX_RED, }; /** rct2: 0x009823D5 */ static const uint8 tshirt_colours[] = { - COLOUR_BLACK, - COLOUR_GREY, - COLOUR_LIGHT_BROWN, - COLOUR_SATURATED_BROWN, - COLOUR_DARK_BROWN, - COLOUR_SALMON_PINK, - COLOUR_BLACK, - COLOUR_GREY, - COLOUR_LIGHT_BROWN, - COLOUR_SATURATED_BROWN, - COLOUR_DARK_BROWN, - COLOUR_SALMON_PINK, - COLOUR_DARK_PURPLE, - COLOUR_LIGHT_PURPLE, - COLOUR_DARK_BLUE, - COLOUR_SATURATED_GREEN, - COLOUR_SATURATED_RED, - COLOUR_DARK_ORANGE, - COLOUR_BORDEAUX_RED, - COLOUR_WHITE, - COLOUR_BRIGHT_PURPLE, - COLOUR_LIGHT_BLUE, - COLOUR_TEAL, - COLOUR_DARK_GREEN, - COLOUR_MOSS_GREEN, - COLOUR_BRIGHT_GREEN, - COLOUR_OLIVE_GREEN, - COLOUR_DARK_OLIVE_GREEN, - COLOUR_YELLOW, - COLOUR_LIGHT_ORANGE, - COLOUR_BRIGHT_RED, - COLOUR_DARK_PINK, - COLOUR_BRIGHT_PINK, + COLOUR_BLACK, + COLOUR_GREY, + COLOUR_LIGHT_BROWN, + COLOUR_SATURATED_BROWN, + COLOUR_DARK_BROWN, + COLOUR_SALMON_PINK, + COLOUR_BLACK, + COLOUR_GREY, + COLOUR_LIGHT_BROWN, + COLOUR_SATURATED_BROWN, + COLOUR_DARK_BROWN, + COLOUR_SALMON_PINK, + COLOUR_DARK_PURPLE, + COLOUR_LIGHT_PURPLE, + COLOUR_DARK_BLUE, + COLOUR_SATURATED_GREEN, + COLOUR_SATURATED_RED, + COLOUR_DARK_ORANGE, + COLOUR_BORDEAUX_RED, + COLOUR_WHITE, + COLOUR_BRIGHT_PURPLE, + COLOUR_LIGHT_BLUE, + COLOUR_TEAL, + COLOUR_DARK_GREEN, + COLOUR_MOSS_GREEN, + COLOUR_BRIGHT_GREEN, + COLOUR_OLIVE_GREEN, + COLOUR_DARK_OLIVE_GREEN, + COLOUR_YELLOW, + COLOUR_LIGHT_ORANGE, + COLOUR_BRIGHT_RED, + COLOUR_DARK_PINK, + COLOUR_BRIGHT_PINK, }; /** @@ -7117,171 +7117,171 @@ static const uint8 tshirt_colours[] = { */ rct_peep *peep_generate(sint32 x, sint32 y, sint32 z) { - if (gSpriteListCount[SPRITE_LIST_NULL] < 400) - return NULL; + if (gSpriteListCount[SPRITE_LIST_NULL] < 400) + return NULL; - rct_peep* peep = (rct_peep*)create_sprite(1); + rct_peep* peep = (rct_peep*)create_sprite(1); - move_sprite_to_list((rct_sprite*)peep, SPRITE_LIST_PEEP * 2); + move_sprite_to_list((rct_sprite*)peep, SPRITE_LIST_PEEP * 2); - peep->sprite_identifier = SPRITE_IDENTIFIER_PEEP; - peep->sprite_type = PEEP_SPRITE_TYPE_NORMAL; - peep->outside_of_park = 1; - peep->state = PEEP_STATE_FALLING; - peep->action = PEEP_ACTION_NONE_2; - peep->special_sprite = 0; - peep->action_sprite_image_offset = 0; - peep->no_action_frame_no = 0; - peep->action_sprite_type = 0; - peep->peep_flags = 0; - peep->favourite_ride = 0xFF; - peep->favourite_ride_rating = 0; + peep->sprite_identifier = SPRITE_IDENTIFIER_PEEP; + peep->sprite_type = PEEP_SPRITE_TYPE_NORMAL; + peep->outside_of_park = 1; + peep->state = PEEP_STATE_FALLING; + peep->action = PEEP_ACTION_NONE_2; + peep->special_sprite = 0; + peep->action_sprite_image_offset = 0; + peep->no_action_frame_no = 0; + peep->action_sprite_type = 0; + peep->peep_flags = 0; + peep->favourite_ride = 0xFF; + peep->favourite_ride_rating = 0; - const rct_sprite_bounds* spriteBounds = g_peep_animation_entries[peep->sprite_type].sprite_bounds; - peep->sprite_width = spriteBounds[peep->action_sprite_type].sprite_width; - peep->sprite_height_negative = spriteBounds[peep->action_sprite_type].sprite_height_negative; - peep->sprite_height_positive = spriteBounds[peep->action_sprite_type].sprite_height_positive; + const rct_sprite_bounds* spriteBounds = g_peep_animation_entries[peep->sprite_type].sprite_bounds; + peep->sprite_width = spriteBounds[peep->action_sprite_type].sprite_width; + peep->sprite_height_negative = spriteBounds[peep->action_sprite_type].sprite_height_negative; + peep->sprite_height_positive = spriteBounds[peep->action_sprite_type].sprite_height_positive; - peep->sprite_direction = 0; + peep->sprite_direction = 0; - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - peep->var_41 = (scenario_rand() & 0x1F) + 45; - peep->var_C4 = 0; - peep->interaction_ride_index = 0xFF; - peep->type = PEEP_TYPE_GUEST; - peep->previous_ride = 0xFF; - peep->thoughts->type = PEEP_THOUGHT_TYPE_NONE; - peep->window_invalidate_flags = 0; + peep->var_41 = (scenario_rand() & 0x1F) + 45; + peep->var_C4 = 0; + peep->interaction_ride_index = 0xFF; + peep->type = PEEP_TYPE_GUEST; + peep->previous_ride = 0xFF; + peep->thoughts->type = PEEP_THOUGHT_TYPE_NONE; + peep->window_invalidate_flags = 0; - uint8 al = (scenario_rand() & 0x7) + 3; - uint8 ah = min(al, 7) - 3; + uint8 al = (scenario_rand() & 0x7) + 3; + uint8 ah = min(al, 7) - 3; - if (al >= 7) al = 15; + if (al >= 7) al = 15; - if (gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES){ - ah = 0; - al = 4; - } + if (gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES){ + ah = 0; + al = 4; + } - if (gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES){ - ah = 9; - al = 15; - } + if (gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES){ + ah = 9; + al = 15; + } - peep->intensity = (al << 4) | ah; + peep->intensity = (al << 4) | ah; - uint8 nausea_tolerance = scenario_rand() & 0x7; - if (gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES){ - nausea_tolerance += 4; - } + uint8 nausea_tolerance = scenario_rand() & 0x7; + if (gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES){ + nausea_tolerance += 4; + } - peep->nausea_tolerance = nausea_tolerance_distribution[nausea_tolerance]; + peep->nausea_tolerance = nausea_tolerance_distribution[nausea_tolerance]; - /* Scenario editor limits initial guest happiness to between 37..253. - * To be on the safe side, assume the value could have been hacked - * to any value 0..255. */ - peep->happiness = gGuestInitialHappiness; - /* Assume a default initial happiness of 0 is wrong and set - * to 128 (50%) instead. */ - if (gGuestInitialHappiness == 0) - peep->happiness = 128; - /* Initial value will vary by -15..16 */ - sint8 happiness_delta = (scenario_rand() & 0x1F) - 15; - /* Adjust by the delta, clamping at min=0 and max=255. */ - peep->happiness = clamp(0, peep->happiness + happiness_delta, 255); - peep->happiness_growth_rate = peep->happiness; - peep->nausea = 0; - peep->nausea_growth_rate = 0; + /* Scenario editor limits initial guest happiness to between 37..253. + * To be on the safe side, assume the value could have been hacked + * to any value 0..255. */ + peep->happiness = gGuestInitialHappiness; + /* Assume a default initial happiness of 0 is wrong and set + * to 128 (50%) instead. */ + if (gGuestInitialHappiness == 0) + peep->happiness = 128; + /* Initial value will vary by -15..16 */ + sint8 happiness_delta = (scenario_rand() & 0x1F) - 15; + /* Adjust by the delta, clamping at min=0 and max=255. */ + peep->happiness = clamp(0, peep->happiness + happiness_delta, 255); + peep->happiness_growth_rate = peep->happiness; + peep->nausea = 0; + peep->nausea_growth_rate = 0; - /* Scenario editor limits initial guest hunger to between 37..253. - * To be on the safe side, assume the value could have been hacked - * to any value 0..255. */ - peep->hunger = gGuestInitialHunger; - /* Initial value will vary by -15..16 */ - sint8 hunger_delta = (scenario_rand() & 0x1F) - 15; - /* Adjust by the delta, clamping at min=0 and max=255. */ - peep->hunger = clamp(0, peep->hunger + hunger_delta, 255); + /* Scenario editor limits initial guest hunger to between 37..253. + * To be on the safe side, assume the value could have been hacked + * to any value 0..255. */ + peep->hunger = gGuestInitialHunger; + /* Initial value will vary by -15..16 */ + sint8 hunger_delta = (scenario_rand() & 0x1F) - 15; + /* Adjust by the delta, clamping at min=0 and max=255. */ + peep->hunger = clamp(0, peep->hunger + hunger_delta, 255); - /* Scenario editor limits initial guest thirst to between 37..253. - * To be on the safe side, assume the value could have been hacked - * to any value 0..255. */ - peep->thirst = gGuestInitialThirst; - /* Initial value will vary by -15..16 */ - sint8 thirst_delta = (scenario_rand() & 0x1F) - 15; - /* Adjust by the delta, clamping at min=0 and max=255. */ - peep->thirst = clamp(0, peep->thirst + thirst_delta, 0xFF); + /* Scenario editor limits initial guest thirst to between 37..253. + * To be on the safe side, assume the value could have been hacked + * to any value 0..255. */ + peep->thirst = gGuestInitialThirst; + /* Initial value will vary by -15..16 */ + sint8 thirst_delta = (scenario_rand() & 0x1F) - 15; + /* Adjust by the delta, clamping at min=0 and max=255. */ + peep->thirst = clamp(0, peep->thirst + thirst_delta, 0xFF); - peep->bathroom = 0; - peep->var_42 = 0; - memset(&peep->rides_been_on, 0, 32); + peep->bathroom = 0; + peep->var_42 = 0; + memset(&peep->rides_been_on, 0, 32); - peep->no_of_rides = 0; - memset(&peep->ride_types_been_on, 0, 16); - peep->id = gNextGuestNumber++; - peep->name_string_idx = STR_GUEST_X; + peep->no_of_rides = 0; + memset(&peep->ride_types_been_on, 0, 16); + peep->id = gNextGuestNumber++; + peep->name_string_idx = STR_GUEST_X; - money32 cash = (scenario_rand() & 0x3) * 100 - 100 + gGuestInitialCash; - if (cash < 0) cash = 0; + money32 cash = (scenario_rand() & 0x3) * 100 - 100 + gGuestInitialCash; + if (cash < 0) cash = 0; - if (gGuestInitialCash == 0){ - cash = 500; - } + if (gGuestInitialCash == 0){ + cash = 500; + } - if (gParkFlags & PARK_FLAGS_NO_MONEY){ - cash = 0; - } + if (gParkFlags & PARK_FLAGS_NO_MONEY){ + cash = 0; + } - if (gGuestInitialCash == (money16)(uint16)0xFFFF){ - cash = 0; - } + if (gGuestInitialCash == (money16)(uint16)0xFFFF){ + cash = 0; + } - peep->cash_in_pocket = cash; - peep->cash_spent = 0; - peep->time_in_park = -1; - peep->pathfind_goal.x = 0xFF; - peep->pathfind_goal.y = 0xFF; - peep->pathfind_goal.z = 0xFF; - peep->pathfind_goal.direction = 0xFF; - peep->item_standard_flags = 0; - peep->item_extra_flags = 0; - peep->guest_heading_to_ride_id = 0xFF; - peep->litter_count = 0; - peep->disgusting_count = 0; - peep->var_EF = 0; - peep->paid_to_enter = 0; - peep->paid_on_rides = 0; - peep->paid_on_food = 0; - peep->paid_on_drink = 0; - peep->paid_on_souvenirs = 0; - peep->no_of_food = 0; - peep->no_of_drinks = 0; - peep->no_of_souvenirs = 0; - peep->var_F2 = 0; - peep->angriness = 0; - peep->var_F4 = 0; + peep->cash_in_pocket = cash; + peep->cash_spent = 0; + peep->time_in_park = -1; + peep->pathfind_goal.x = 0xFF; + peep->pathfind_goal.y = 0xFF; + peep->pathfind_goal.z = 0xFF; + peep->pathfind_goal.direction = 0xFF; + peep->item_standard_flags = 0; + peep->item_extra_flags = 0; + peep->guest_heading_to_ride_id = 0xFF; + peep->litter_count = 0; + peep->disgusting_count = 0; + peep->var_EF = 0; + peep->paid_to_enter = 0; + peep->paid_on_rides = 0; + peep->paid_on_food = 0; + peep->paid_on_drink = 0; + peep->paid_on_souvenirs = 0; + peep->no_of_food = 0; + peep->no_of_drinks = 0; + peep->no_of_souvenirs = 0; + peep->var_F2 = 0; + peep->angriness = 0; + peep->var_F4 = 0; - uint8 tshirt_colour = scenario_rand() % countof(tshirt_colours); - peep->tshirt_colour = tshirt_colours[tshirt_colour]; + uint8 tshirt_colour = scenario_rand() % countof(tshirt_colours); + peep->tshirt_colour = tshirt_colours[tshirt_colour]; - uint8 trousers_colour = scenario_rand() % countof(trouser_colours); - peep->trousers_colour = trouser_colours[trousers_colour]; + uint8 trousers_colour = scenario_rand() % countof(trouser_colours); + peep->trousers_colour = trouser_colours[trousers_colour]; - /* It looks like 65 is about 50% energy level, so this initialises - * a peep with approx 50%-100% energy. */ - uint8 energy = (scenario_rand() & 0x3F) + 65; - peep->energy = energy; - peep->energy_growth_rate = energy; + /* It looks like 65 is about 50% energy level, so this initialises + * a peep with approx 50%-100% energy. */ + uint8 energy = (scenario_rand() & 0x3F) + 65; + peep->energy = energy; + peep->energy_growth_rate = energy; - if (gParkFlags & PARK_FLAGS_SHOW_REAL_GUEST_NAMES){ - peep_give_real_name(peep); - } - peep_update_name_sort(peep); + if (gParkFlags & PARK_FLAGS_SHOW_REAL_GUEST_NAMES){ + peep_give_real_name(peep); + } + peep_update_name_sort(peep); - increment_guests_heading_for_park(); + increment_guests_heading_for_park(); - return peep; + return peep; } /** @@ -7292,126 +7292,126 @@ rct_peep *peep_generate(sint32 x, sint32 y, sint32 z) * argument_2 (edx) */ void get_arguments_from_action(rct_peep* peep, uint32 *argument_1, uint32* argument_2){ - rct_ride *ride; + rct_ride *ride; - switch (peep->state){ - case PEEP_STATE_FALLING: - *argument_1 = peep->action == PEEP_ACTION_DROWNING ? STR_DROWNING : STR_WALKING; - *argument_2 = 0; - break; - case PEEP_STATE_1: - *argument_1 = STR_WALKING; - *argument_2 = 0; - break; - case PEEP_STATE_ON_RIDE: - case PEEP_STATE_LEAVING_RIDE: - case PEEP_STATE_ENTERING_RIDE: - *argument_1 = STR_ON_RIDE; - ride = get_ride(peep->current_ride); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IN_RIDE)) - *argument_1 = STR_IN_RIDE; - *argument_1 |= ((uint32)ride->name << 16); - *argument_2 = ride->name_arguments; - break; - case PEEP_STATE_BUYING: - ride = get_ride(peep->current_ride); - *argument_1 = STR_AT_RIDE | ((uint32)ride->name << 16); - *argument_2 = ride->name_arguments; - break; - case PEEP_STATE_WALKING: - case PEEP_STATE_USING_BIN: - if (peep->guest_heading_to_ride_id != 0xFF){ - ride = get_ride(peep->guest_heading_to_ride_id); - *argument_1 = STR_HEADING_FOR | ((uint32)ride->name << 16); - *argument_2 = ride->name_arguments; - } - else{ - *argument_1 = (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) ? STR_LEAVING_PARK : STR_WALKING; - *argument_2 = 0; - } - break; - case PEEP_STATE_QUEUING_FRONT: - case PEEP_STATE_QUEUING: - ride = get_ride(peep->current_ride); - *argument_1 = STR_QUEUING_FOR | ((uint32)ride->name << 16); - *argument_2 = ride->name_arguments; - break; - case PEEP_STATE_SITTING: - *argument_1 = STR_SITTING; - *argument_2 = 0; - break; - case PEEP_STATE_WATCHING: - if (peep->current_ride != 0xFF){ - ride = get_ride(peep->current_ride); - *argument_1 = STR_WATCHING_RIDE | ((uint32)ride->name << 16); - *argument_2 = ride->name_arguments; - if (peep->current_seat & 0x1) - *argument_1 = STR_WATCHING_CONSTRUCTION_OF | ((uint32)ride->name << 16); - else - *argument_1 = STR_WATCHING_RIDE | ((uint32)ride->name << 16); - } - else{ - *argument_1 = (peep->current_seat & 0x1) ? STR_WATCHING_NEW_RIDE_BEING_CONSTRUCTED : STR_LOOKING_AT_SCENERY; - *argument_2 = 0; - } - break; - case PEEP_STATE_PICKED: - *argument_1 = STR_SELECT_LOCATION; - *argument_2 = 0; - break; - case PEEP_STATE_PATROLLING: - case PEEP_STATE_ENTERING_PARK: - case PEEP_STATE_LEAVING_PARK: - *argument_1 = STR_WALKING; - *argument_2 = 0; - break; - case PEEP_STATE_MOWING: - *argument_1 = STR_MOWING_GRASS; - *argument_2 = 0; - break; - case PEEP_STATE_SWEEPING: - *argument_1 = STR_SWEEPING_FOOTPATH; - *argument_2 = 0; - break; - case PEEP_STATE_WATERING: - *argument_1 = STR_WATERING_GARDENS; - *argument_2 = 0; - break; - case PEEP_STATE_EMPTYING_BIN: - *argument_1 = STR_EMPTYING_LITTER_BIN; - *argument_2 = 0; - break; - case PEEP_STATE_ANSWERING: - if (peep->sub_state == 0){ - *argument_1 = STR_WALKING; - *argument_2 = 0; - } - else if (peep->sub_state == 1){ - *argument_1 = STR_ANSWERING_RADIO_CALL; - *argument_2 = 0; - } - else{ - ride = get_ride(peep->current_ride); - *argument_1 = STR_RESPONDING_TO_RIDE_BREAKDOWN_CALL | ((uint32)ride->name << 16); - *argument_2 = ride->name_arguments; - } - break; - case PEEP_STATE_FIXING: - ride = get_ride(peep->current_ride); - *argument_1 = STR_FIXING_RIDE | ((uint32)ride->name << 16); - *argument_2 = ride->name_arguments; - break; - case PEEP_STATE_HEADING_TO_INSPECTION: - ride = get_ride(peep->current_ride); - *argument_1 = STR_HEADING_TO_RIDE_FOR_INSPECTION | ((uint32)ride->name << 16); - *argument_2 = ride->name_arguments; - break; - case PEEP_STATE_INSPECTING: - ride = get_ride(peep->current_ride); - *argument_1 = STR_INSPECTING_RIDE | ((uint32)ride->name << 16); - *argument_2 = ride->name_arguments; - break; - } + switch (peep->state){ + case PEEP_STATE_FALLING: + *argument_1 = peep->action == PEEP_ACTION_DROWNING ? STR_DROWNING : STR_WALKING; + *argument_2 = 0; + break; + case PEEP_STATE_1: + *argument_1 = STR_WALKING; + *argument_2 = 0; + break; + case PEEP_STATE_ON_RIDE: + case PEEP_STATE_LEAVING_RIDE: + case PEEP_STATE_ENTERING_RIDE: + *argument_1 = STR_ON_RIDE; + ride = get_ride(peep->current_ride); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IN_RIDE)) + *argument_1 = STR_IN_RIDE; + *argument_1 |= ((uint32)ride->name << 16); + *argument_2 = ride->name_arguments; + break; + case PEEP_STATE_BUYING: + ride = get_ride(peep->current_ride); + *argument_1 = STR_AT_RIDE | ((uint32)ride->name << 16); + *argument_2 = ride->name_arguments; + break; + case PEEP_STATE_WALKING: + case PEEP_STATE_USING_BIN: + if (peep->guest_heading_to_ride_id != 0xFF){ + ride = get_ride(peep->guest_heading_to_ride_id); + *argument_1 = STR_HEADING_FOR | ((uint32)ride->name << 16); + *argument_2 = ride->name_arguments; + } + else{ + *argument_1 = (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) ? STR_LEAVING_PARK : STR_WALKING; + *argument_2 = 0; + } + break; + case PEEP_STATE_QUEUING_FRONT: + case PEEP_STATE_QUEUING: + ride = get_ride(peep->current_ride); + *argument_1 = STR_QUEUING_FOR | ((uint32)ride->name << 16); + *argument_2 = ride->name_arguments; + break; + case PEEP_STATE_SITTING: + *argument_1 = STR_SITTING; + *argument_2 = 0; + break; + case PEEP_STATE_WATCHING: + if (peep->current_ride != 0xFF){ + ride = get_ride(peep->current_ride); + *argument_1 = STR_WATCHING_RIDE | ((uint32)ride->name << 16); + *argument_2 = ride->name_arguments; + if (peep->current_seat & 0x1) + *argument_1 = STR_WATCHING_CONSTRUCTION_OF | ((uint32)ride->name << 16); + else + *argument_1 = STR_WATCHING_RIDE | ((uint32)ride->name << 16); + } + else{ + *argument_1 = (peep->current_seat & 0x1) ? STR_WATCHING_NEW_RIDE_BEING_CONSTRUCTED : STR_LOOKING_AT_SCENERY; + *argument_2 = 0; + } + break; + case PEEP_STATE_PICKED: + *argument_1 = STR_SELECT_LOCATION; + *argument_2 = 0; + break; + case PEEP_STATE_PATROLLING: + case PEEP_STATE_ENTERING_PARK: + case PEEP_STATE_LEAVING_PARK: + *argument_1 = STR_WALKING; + *argument_2 = 0; + break; + case PEEP_STATE_MOWING: + *argument_1 = STR_MOWING_GRASS; + *argument_2 = 0; + break; + case PEEP_STATE_SWEEPING: + *argument_1 = STR_SWEEPING_FOOTPATH; + *argument_2 = 0; + break; + case PEEP_STATE_WATERING: + *argument_1 = STR_WATERING_GARDENS; + *argument_2 = 0; + break; + case PEEP_STATE_EMPTYING_BIN: + *argument_1 = STR_EMPTYING_LITTER_BIN; + *argument_2 = 0; + break; + case PEEP_STATE_ANSWERING: + if (peep->sub_state == 0){ + *argument_1 = STR_WALKING; + *argument_2 = 0; + } + else if (peep->sub_state == 1){ + *argument_1 = STR_ANSWERING_RADIO_CALL; + *argument_2 = 0; + } + else{ + ride = get_ride(peep->current_ride); + *argument_1 = STR_RESPONDING_TO_RIDE_BREAKDOWN_CALL | ((uint32)ride->name << 16); + *argument_2 = ride->name_arguments; + } + break; + case PEEP_STATE_FIXING: + ride = get_ride(peep->current_ride); + *argument_1 = STR_FIXING_RIDE | ((uint32)ride->name << 16); + *argument_2 = ride->name_arguments; + break; + case PEEP_STATE_HEADING_TO_INSPECTION: + ride = get_ride(peep->current_ride); + *argument_1 = STR_HEADING_TO_RIDE_FOR_INSPECTION | ((uint32)ride->name << 16); + *argument_2 = ride->name_arguments; + break; + case PEEP_STATE_INSPECTING: + ride = get_ride(peep->current_ride); + *argument_1 = STR_INSPECTING_RIDE | ((uint32)ride->name << 16); + *argument_2 = ride->name_arguments; + break; + } } @@ -7424,47 +7424,47 @@ void get_arguments_from_action(rct_peep* peep, uint32 *argument_1, uint32* argum */ void peep_thought_set_format_args(rct_peep_thought *thought) { - set_format_arg(0, rct_string_id, PeepThoughts[thought->type]); + set_format_arg(0, rct_string_id, PeepThoughts[thought->type]); - uint8 flags = PeepThoughtToActionMap[thought->type].flags; - if (flags & 1) { - rct_ride *ride = get_ride(thought->item); - set_format_arg(2, rct_string_id, ride->name); - set_format_arg(4, uint32, ride->name_arguments); - } else if (flags & 2) { - set_format_arg(2, rct_string_id, ShopItemStringIds[thought->item].singular); - } else if (flags & 4) { - set_format_arg(2, rct_string_id, ShopItemStringIds[thought->item].indefinite); - } else { - } + uint8 flags = PeepThoughtToActionMap[thought->type].flags; + if (flags & 1) { + rct_ride *ride = get_ride(thought->item); + set_format_arg(2, rct_string_id, ride->name); + set_format_arg(4, uint32, ride->name_arguments); + } else if (flags & 2) { + set_format_arg(2, rct_string_id, ShopItemStringIds[thought->item].singular); + } else if (flags & 4) { + set_format_arg(2, rct_string_id, ShopItemStringIds[thought->item].indefinite); + } else { + } } /** rct2: 0x00982004 */ static const bool peep_allow_pick_up[] = { - true, // PEEP_STATE_FALLING - false, // PEEP_STATE_1 - false, // PEEP_STATE_QUEUING_FRONT - false, // PEEP_STATE_ON_RIDE - false, // PEEP_STATE_LEAVING_RIDE - true, // PEEP_STATE_WALKING - true, // PEEP_STATE_QUEUING - false, // PEEP_STATE_ENTERING_RIDE - true, // PEEP_STATE_SITTING - true, // PEEP_STATE_PICKED - true, // PEEP_STATE_PATROLLING - true, // PEEP_STATE_MOWING - true, // PEEP_STATE_SWEEPING - false, // PEEP_STATE_ENTERING_PARK - false, // PEEP_STATE_LEAVING_PARK - true, // PEEP_STATE_ANSWERING - false, // PEEP_STATE_FIXING - false, // PEEP_STATE_BUYING - true, // PEEP_STATE_WATCHING - true, // PEEP_STATE_EMPTYING_BIN - true, // PEEP_STATE_USING_BIN - true, // PEEP_STATE_WATERING - true, // PEEP_STATE_HEADING_TO_INSPECTION - false, // PEEP_STATE_INSPECTING + true, // PEEP_STATE_FALLING + false, // PEEP_STATE_1 + false, // PEEP_STATE_QUEUING_FRONT + false, // PEEP_STATE_ON_RIDE + false, // PEEP_STATE_LEAVING_RIDE + true, // PEEP_STATE_WALKING + true, // PEEP_STATE_QUEUING + false, // PEEP_STATE_ENTERING_RIDE + true, // PEEP_STATE_SITTING + true, // PEEP_STATE_PICKED + true, // PEEP_STATE_PATROLLING + true, // PEEP_STATE_MOWING + true, // PEEP_STATE_SWEEPING + false, // PEEP_STATE_ENTERING_PARK + false, // PEEP_STATE_LEAVING_PARK + true, // PEEP_STATE_ANSWERING + false, // PEEP_STATE_FIXING + false, // PEEP_STATE_BUYING + true, // PEEP_STATE_WATCHING + true, // PEEP_STATE_EMPTYING_BIN + true, // PEEP_STATE_USING_BIN + true, // PEEP_STATE_WATERING + true, // PEEP_STATE_HEADING_TO_INSPECTION + false, // PEEP_STATE_INSPECTING }; /** @@ -7473,85 +7473,85 @@ static const bool peep_allow_pick_up[] = { * returns 1 on pickup (CF not set) */ sint32 peep_can_be_picked_up(rct_peep* peep){ - return peep_allow_pick_up[peep->state]; + return peep_allow_pick_up[peep->state]; } enum{ - PEEP_FACE_OFFSET_ANGRY = 0, - PEEP_FACE_OFFSET_VERY_VERY_SICK, - PEEP_FACE_OFFSET_VERY_SICK, - PEEP_FACE_OFFSET_SICK, - PEEP_FACE_OFFSET_VERY_TIRED, - PEEP_FACE_OFFSET_TIRED, - PEEP_FACE_OFFSET_VERY_VERY_UNHAPPY, - PEEP_FACE_OFFSET_VERY_UNHAPPY, - PEEP_FACE_OFFSET_UNHAPPY, - PEEP_FACE_OFFSET_NORMAL, - PEEP_FACE_OFFSET_HAPPY, - PEEP_FACE_OFFSET_VERY_HAPPY, - PEEP_FACE_OFFSET_VERY_VERY_HAPPY, + PEEP_FACE_OFFSET_ANGRY = 0, + PEEP_FACE_OFFSET_VERY_VERY_SICK, + PEEP_FACE_OFFSET_VERY_SICK, + PEEP_FACE_OFFSET_SICK, + PEEP_FACE_OFFSET_VERY_TIRED, + PEEP_FACE_OFFSET_TIRED, + PEEP_FACE_OFFSET_VERY_VERY_UNHAPPY, + PEEP_FACE_OFFSET_VERY_UNHAPPY, + PEEP_FACE_OFFSET_UNHAPPY, + PEEP_FACE_OFFSET_NORMAL, + PEEP_FACE_OFFSET_HAPPY, + PEEP_FACE_OFFSET_VERY_HAPPY, + PEEP_FACE_OFFSET_VERY_VERY_HAPPY, }; const sint32 face_sprite_small[] = { - SPR_PEEP_SMALL_FACE_ANGRY, - SPR_PEEP_SMALL_FACE_VERY_VERY_SICK, - SPR_PEEP_SMALL_FACE_VERY_SICK, - SPR_PEEP_SMALL_FACE_SICK, - SPR_PEEP_SMALL_FACE_VERY_TIRED, - SPR_PEEP_SMALL_FACE_TIRED, - SPR_PEEP_SMALL_FACE_VERY_VERY_UNHAPPY, - SPR_PEEP_SMALL_FACE_VERY_UNHAPPY, - SPR_PEEP_SMALL_FACE_UNHAPPY, - SPR_PEEP_SMALL_FACE_NORMAL, - SPR_PEEP_SMALL_FACE_HAPPY, - SPR_PEEP_SMALL_FACE_VERY_HAPPY, - SPR_PEEP_SMALL_FACE_VERY_VERY_HAPPY, + SPR_PEEP_SMALL_FACE_ANGRY, + SPR_PEEP_SMALL_FACE_VERY_VERY_SICK, + SPR_PEEP_SMALL_FACE_VERY_SICK, + SPR_PEEP_SMALL_FACE_SICK, + SPR_PEEP_SMALL_FACE_VERY_TIRED, + SPR_PEEP_SMALL_FACE_TIRED, + SPR_PEEP_SMALL_FACE_VERY_VERY_UNHAPPY, + SPR_PEEP_SMALL_FACE_VERY_UNHAPPY, + SPR_PEEP_SMALL_FACE_UNHAPPY, + SPR_PEEP_SMALL_FACE_NORMAL, + SPR_PEEP_SMALL_FACE_HAPPY, + SPR_PEEP_SMALL_FACE_VERY_HAPPY, + SPR_PEEP_SMALL_FACE_VERY_VERY_HAPPY, }; const sint32 face_sprite_large[] = { - SPR_PEEP_LARGE_FACE_ANGRY_0, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0, - SPR_PEEP_LARGE_FACE_VERY_SICK_0, - SPR_PEEP_LARGE_FACE_SICK, - SPR_PEEP_LARGE_FACE_VERY_TIRED, - SPR_PEEP_LARGE_FACE_TIRED, - SPR_PEEP_LARGE_FACE_VERY_VERY_UNHAPPY, - SPR_PEEP_LARGE_FACE_VERY_UNHAPPY, - SPR_PEEP_LARGE_FACE_UNHAPPY, - SPR_PEEP_LARGE_FACE_NORMAL, - SPR_PEEP_LARGE_FACE_HAPPY, - SPR_PEEP_LARGE_FACE_VERY_HAPPY, - SPR_PEEP_LARGE_FACE_VERY_VERY_HAPPY, + SPR_PEEP_LARGE_FACE_ANGRY_0, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0, + SPR_PEEP_LARGE_FACE_VERY_SICK_0, + SPR_PEEP_LARGE_FACE_SICK, + SPR_PEEP_LARGE_FACE_VERY_TIRED, + SPR_PEEP_LARGE_FACE_TIRED, + SPR_PEEP_LARGE_FACE_VERY_VERY_UNHAPPY, + SPR_PEEP_LARGE_FACE_VERY_UNHAPPY, + SPR_PEEP_LARGE_FACE_UNHAPPY, + SPR_PEEP_LARGE_FACE_NORMAL, + SPR_PEEP_LARGE_FACE_HAPPY, + SPR_PEEP_LARGE_FACE_VERY_HAPPY, + SPR_PEEP_LARGE_FACE_VERY_VERY_HAPPY, }; static sint32 get_face_sprite_offset(rct_peep *peep){ - // ANGRY - if (peep->angriness > 0) return PEEP_FACE_OFFSET_ANGRY; + // ANGRY + if (peep->angriness > 0) return PEEP_FACE_OFFSET_ANGRY; - // VERY_VERY_SICK - if (peep->nausea > 200) return PEEP_FACE_OFFSET_VERY_VERY_SICK; + // VERY_VERY_SICK + if (peep->nausea > 200) return PEEP_FACE_OFFSET_VERY_VERY_SICK; - // VERY_SICK - if (peep->nausea > 170) return PEEP_FACE_OFFSET_VERY_SICK; + // VERY_SICK + if (peep->nausea > 170) return PEEP_FACE_OFFSET_VERY_SICK; - // SICK - if (peep->nausea > 140) return PEEP_FACE_OFFSET_SICK; + // SICK + if (peep->nausea > 140) return PEEP_FACE_OFFSET_SICK; - // VERY_TIRED - if (peep->energy < 46) return PEEP_FACE_OFFSET_VERY_TIRED; + // VERY_TIRED + if (peep->energy < 46) return PEEP_FACE_OFFSET_VERY_TIRED; - // TIRED - if (peep->energy < 70) return PEEP_FACE_OFFSET_TIRED; + // TIRED + if (peep->energy < 70) return PEEP_FACE_OFFSET_TIRED; - sint32 offset = PEEP_FACE_OFFSET_VERY_VERY_UNHAPPY; - //There are 7 different happiness based faces - for (sint32 i = 37; peep->happiness >= i; i += 37) - { - offset++; - } + sint32 offset = PEEP_FACE_OFFSET_VERY_VERY_UNHAPPY; + //There are 7 different happiness based faces + for (sint32 i = 37; peep->happiness >= i; i += 37) + { + offset++; + } - return offset; + return offset; } /** @@ -7559,7 +7559,7 @@ static sint32 get_face_sprite_offset(rct_peep *peep){ * rct2: 0x00698721 */ sint32 get_peep_face_sprite_small(rct_peep *peep){ - return face_sprite_small[get_face_sprite_offset(peep)]; + return face_sprite_small[get_face_sprite_offset(peep)]; } /** @@ -7567,7 +7567,7 @@ sint32 get_peep_face_sprite_small(rct_peep *peep){ * rct2: 0x00698721 */ sint32 get_peep_face_sprite_large(rct_peep *peep){ - return face_sprite_large[get_face_sprite_offset(peep)]; + return face_sprite_large[get_face_sprite_offset(peep)]; } /** @@ -7579,80 +7579,80 @@ sint32 get_peep_face_sprite_large(rct_peep *peep){ */ sint32 peep_check_easteregg_name(sint32 index, rct_peep *peep) { - char buffer[256]; + char buffer[256]; - format_string(buffer, 256, peep->name_string_idx, &peep->id); - return _stricmp(buffer, gPeepEasterEggNames[index]) == 0; + format_string(buffer, 256, peep->name_string_idx, &peep->id); + return _stricmp(buffer, gPeepEasterEggNames[index]) == 0; } sint32 peep_get_easteregg_name_id(rct_peep *peep) { - char buffer[256]; - sint32 i; + char buffer[256]; + sint32 i; - format_string(buffer, 256, peep->name_string_idx, &peep->id); + format_string(buffer, 256, peep->name_string_idx, &peep->id); - for (i = 0; i < countof(gPeepEasterEggNames); i++) - if (_stricmp(buffer, gPeepEasterEggNames[i]) == 0) - return i; + for (i = 0; i < countof(gPeepEasterEggNames); i++) + if (_stricmp(buffer, gPeepEasterEggNames[i]) == 0) + return i; - return -1; + return -1; } sint32 peep_is_mechanic(rct_peep *peep) { - return ( - peep->sprite_identifier == SPRITE_IDENTIFIER_PEEP && - peep->type == PEEP_TYPE_STAFF && - peep->staff_type == STAFF_TYPE_MECHANIC - ); + return ( + peep->sprite_identifier == SPRITE_IDENTIFIER_PEEP && + peep->type == PEEP_TYPE_STAFF && + peep->staff_type == STAFF_TYPE_MECHANIC + ); } bool peep_has_item(rct_peep *peep, sint32 peepItem) { - if (peepItem < 32) { - return peep->item_standard_flags & (1u << peepItem); - } else { - return peep->item_extra_flags & (1u << (peepItem - 32)); - } + if (peepItem < 32) { + return peep->item_standard_flags & (1u << peepItem); + } else { + return peep->item_extra_flags & (1u << (peepItem - 32)); + } } static sint32 peep_has_food_standard_flag(rct_peep* peep){ - return peep->item_standard_flags &( - PEEP_ITEM_DRINK | - PEEP_ITEM_BURGER | - PEEP_ITEM_CHIPS | - PEEP_ITEM_ICE_CREAM | - PEEP_ITEM_CANDYFLOSS | - PEEP_ITEM_PIZZA | - PEEP_ITEM_POPCORN | - PEEP_ITEM_HOT_DOG | - PEEP_ITEM_TENTACLE | - PEEP_ITEM_CANDY_APPLE | - PEEP_ITEM_DONUT | - PEEP_ITEM_COFFEE | - PEEP_ITEM_CHICKEN | - PEEP_ITEM_LEMONADE); + return peep->item_standard_flags &( + PEEP_ITEM_DRINK | + PEEP_ITEM_BURGER | + PEEP_ITEM_CHIPS | + PEEP_ITEM_ICE_CREAM | + PEEP_ITEM_CANDYFLOSS | + PEEP_ITEM_PIZZA | + PEEP_ITEM_POPCORN | + PEEP_ITEM_HOT_DOG | + PEEP_ITEM_TENTACLE | + PEEP_ITEM_CANDY_APPLE | + PEEP_ITEM_DONUT | + PEEP_ITEM_COFFEE | + PEEP_ITEM_CHICKEN | + PEEP_ITEM_LEMONADE); } static sint32 peep_has_food_extra_flag(rct_peep* peep){ - return peep->item_extra_flags &( - PEEP_ITEM_PRETZEL | - PEEP_ITEM_CHOCOLATE | - PEEP_ITEM_ICED_TEA | - PEEP_ITEM_FUNNEL_CAKE | - PEEP_ITEM_BEEF_NOODLES | - PEEP_ITEM_FRIED_RICE_NOODLES | - PEEP_ITEM_WONTON_SOUP | - PEEP_ITEM_MEATBALL_SOUP | - PEEP_ITEM_FRUIT_JUICE | - PEEP_ITEM_SOYBEAN_MILK | - PEEP_ITEM_SU_JONGKWA | - PEEP_ITEM_SUB_SANDWICH | - PEEP_ITEM_COOKIE | - PEEP_ITEM_ROAST_SAUSAGE - ); + return peep->item_extra_flags &( + PEEP_ITEM_PRETZEL | + PEEP_ITEM_CHOCOLATE | + PEEP_ITEM_ICED_TEA | + PEEP_ITEM_FUNNEL_CAKE | + PEEP_ITEM_BEEF_NOODLES | + PEEP_ITEM_FRIED_RICE_NOODLES | + PEEP_ITEM_WONTON_SOUP | + PEEP_ITEM_MEATBALL_SOUP | + PEEP_ITEM_FRUIT_JUICE | + PEEP_ITEM_SOYBEAN_MILK | + PEEP_ITEM_SU_JONGKWA | + PEEP_ITEM_SUB_SANDWICH | + PEEP_ITEM_COOKIE | + PEEP_ITEM_ROAST_SAUSAGE + ); } /** @@ -7660,25 +7660,25 @@ static sint32 peep_has_food_extra_flag(rct_peep* peep){ * returns 0 on no food. */ sint32 peep_has_food(rct_peep* peep){ - return peep_has_food_standard_flag(peep) || - peep_has_food_extra_flag(peep); + return peep_has_food_standard_flag(peep) || + peep_has_food_extra_flag(peep); } static sint32 peep_has_drink_standard_flag(rct_peep* peep){ - return peep->item_standard_flags &( - PEEP_ITEM_DRINK | - PEEP_ITEM_COFFEE | - PEEP_ITEM_LEMONADE); + return peep->item_standard_flags &( + PEEP_ITEM_DRINK | + PEEP_ITEM_COFFEE | + PEEP_ITEM_LEMONADE); } static sint32 peep_has_drink_extra_flag(rct_peep* peep){ - return peep->item_extra_flags &( - PEEP_ITEM_CHOCOLATE | - PEEP_ITEM_ICED_TEA | - PEEP_ITEM_FRUIT_JUICE | - PEEP_ITEM_SOYBEAN_MILK | - PEEP_ITEM_SU_JONGKWA - ); + return peep->item_extra_flags &( + PEEP_ITEM_CHOCOLATE | + PEEP_ITEM_ICED_TEA | + PEEP_ITEM_FRUIT_JUICE | + PEEP_ITEM_SOYBEAN_MILK | + PEEP_ITEM_SU_JONGKWA + ); } /** @@ -7686,54 +7686,54 @@ static sint32 peep_has_drink_extra_flag(rct_peep* peep){ * returns 0 on no food. */ static sint32 peep_has_drink(rct_peep* peep){ - return peep_has_drink_standard_flag(peep) || - peep_has_drink_extra_flag(peep); + return peep_has_drink_standard_flag(peep) || + peep_has_drink_extra_flag(peep); } static sint32 peep_empty_container_standard_flag(rct_peep* peep){ - return peep->item_standard_flags &( - PEEP_ITEM_EMPTY_CAN | - PEEP_ITEM_EMPTY_BURGER_BOX | - PEEP_ITEM_EMPTY_CUP | - PEEP_ITEM_RUBBISH | - PEEP_ITEM_EMPTY_BOX | - PEEP_ITEM_EMPTY_BOTTLE - ); + return peep->item_standard_flags &( + PEEP_ITEM_EMPTY_CAN | + PEEP_ITEM_EMPTY_BURGER_BOX | + PEEP_ITEM_EMPTY_CUP | + PEEP_ITEM_RUBBISH | + PEEP_ITEM_EMPTY_BOX | + PEEP_ITEM_EMPTY_BOTTLE + ); } static sint32 peep_empty_container_extra_flag(rct_peep* peep){ - return peep->item_extra_flags &( - PEEP_ITEM_EMPTY_BOWL_RED | - PEEP_ITEM_EMPTY_DRINK_CARTON | - PEEP_ITEM_EMPTY_JUICE_CUP | - PEEP_ITEM_EMPTY_BOWL_BLUE - ); + return peep->item_extra_flags &( + PEEP_ITEM_EMPTY_BOWL_RED | + PEEP_ITEM_EMPTY_DRINK_CARTON | + PEEP_ITEM_EMPTY_JUICE_CUP | + PEEP_ITEM_EMPTY_BOWL_BLUE + ); } static sint32 peep_has_empty_container(rct_peep* peep){ - return peep_empty_container_standard_flag(peep) || - peep_empty_container_extra_flag(peep); + return peep_empty_container_standard_flag(peep) || + peep_empty_container_extra_flag(peep); } /* Simplifies 0x690582. Returns 1 if should find bench*/ static sint32 peep_should_find_bench(rct_peep* peep){ - if (!(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)){ - if (peep_has_food(peep)){ - if (peep->hunger < 128 || peep->happiness < 128){ - if (!(peep->next_var_29 & 0x1C)){ - return 1; - } - } - } - if (peep->nausea <= 170 && peep->energy > 50){ - return 0; - } + if (!(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)){ + if (peep_has_food(peep)){ + if (peep->hunger < 128 || peep->happiness < 128){ + if (!(peep->next_var_29 & 0x1C)){ + return 1; + } + } + } + if (peep->nausea <= 170 && peep->energy > 50){ + return 0; + } - if (!(peep->next_var_29 & 0x1C)){ - return 1; - } - } - return 0; + if (!(peep->next_var_29 & 0x1C)){ + return 1; + } + } + return 0; } /** @@ -7745,39 +7745,39 @@ static sint32 peep_should_find_bench(rct_peep* peep){ */ void peep_insert_new_thought(rct_peep *peep, uint8 thought_type, uint8 thought_arguments) { - uint8 action = PeepThoughtToActionMap[thought_type].action; - if (action != 0xFF && peep->action >= 254){ - peep->action = action; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - } + uint8 action = PeepThoughtToActionMap[thought_type].action; + if (action != 0xFF && peep->action >= 254){ + peep->action = action; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + } - for (sint32 i = 0; i < PEEP_MAX_THOUGHTS; ++i){ - rct_peep_thought* thought = &peep->thoughts[i]; - // Remove the oldest thought by setting it to NONE. - if (thought->type == PEEP_THOUGHT_TYPE_NONE) break; + for (sint32 i = 0; i < PEEP_MAX_THOUGHTS; ++i){ + rct_peep_thought* thought = &peep->thoughts[i]; + // Remove the oldest thought by setting it to NONE. + if (thought->type == PEEP_THOUGHT_TYPE_NONE) break; - if (thought->type == thought_type && thought->item == thought_arguments){ - // If the thought type has not changed then we need to move - // it to the top of the thought list. This is done by first removing the - // existing thought and placing it at the top. - if (i < PEEP_MAX_THOUGHTS - 2) { - memmove(thought, thought + 1, sizeof(rct_peep_thought)*(PEEP_MAX_THOUGHTS - i - 1)); - } - break; - } - } + if (thought->type == thought_type && thought->item == thought_arguments){ + // If the thought type has not changed then we need to move + // it to the top of the thought list. This is done by first removing the + // existing thought and placing it at the top. + if (i < PEEP_MAX_THOUGHTS - 2) { + memmove(thought, thought + 1, sizeof(rct_peep_thought)*(PEEP_MAX_THOUGHTS - i - 1)); + } + break; + } + } - memmove(&peep->thoughts[1], &peep->thoughts[0], sizeof(rct_peep_thought)*(PEEP_MAX_THOUGHTS - 1)); + memmove(&peep->thoughts[1], &peep->thoughts[0], sizeof(rct_peep_thought)*(PEEP_MAX_THOUGHTS - 1)); - peep->thoughts[0].type = thought_type; - peep->thoughts[0].item = thought_arguments; - peep->thoughts[0].var_2 = 0; - peep->thoughts[0].var_3 = 0; + peep->thoughts[0].type = thought_type; + peep->thoughts[0].item = thought_arguments; + peep->thoughts[0].var_2 = 0; + peep->thoughts[0].var_3 = 0; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_THOUGHTS; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_THOUGHTS; } /** @@ -7789,80 +7789,80 @@ void peep_insert_new_thought(rct_peep *peep, uint8 thought_type, uint8 thought_a */ static void peep_stop_purchase_thought(rct_peep* peep, uint8 ride_type){ - uint8 thought_type = PEEP_THOUGHT_TYPE_HUNGRY; + uint8 thought_type = PEEP_THOUGHT_TYPE_HUNGRY; - if (!ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_SELLS_FOOD)){ - thought_type = PEEP_THOUGHT_TYPE_THIRSTY; - if (!ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_SELLS_DRINKS)){ - thought_type = PEEP_THOUGHT_TYPE_RUNNING_OUT; - if (ride_type != RIDE_TYPE_CASH_MACHINE){ - thought_type = PEEP_THOUGHT_TYPE_BATHROOM; - if (!ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_IS_BATHROOM)){ - return; - } - } - } - } + if (!ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_SELLS_FOOD)){ + thought_type = PEEP_THOUGHT_TYPE_THIRSTY; + if (!ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_SELLS_DRINKS)){ + thought_type = PEEP_THOUGHT_TYPE_RUNNING_OUT; + if (ride_type != RIDE_TYPE_CASH_MACHINE){ + thought_type = PEEP_THOUGHT_TYPE_BATHROOM; + if (!ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_IS_BATHROOM)){ + return; + } + } + } + } - //Remove the related thought - for (sint32 i = 0; i < PEEP_MAX_THOUGHTS; ++i){ - rct_peep_thought* thought = &peep->thoughts[i]; + //Remove the related thought + for (sint32 i = 0; i < PEEP_MAX_THOUGHTS; ++i){ + rct_peep_thought* thought = &peep->thoughts[i]; - if (thought->type == PEEP_THOUGHT_TYPE_NONE) break; + if (thought->type == PEEP_THOUGHT_TYPE_NONE) break; - if (thought->type != thought_type)continue; + if (thought->type != thought_type)continue; - if (i < PEEP_MAX_THOUGHTS - 1) { - memmove(thought, thought + 1, sizeof(rct_peep_thought)*(PEEP_MAX_THOUGHTS - i - 1)); - } + if (i < PEEP_MAX_THOUGHTS - 1) { + memmove(thought, thought + 1, sizeof(rct_peep_thought)*(PEEP_MAX_THOUGHTS - i - 1)); + } - peep->thoughts[PEEP_MAX_THOUGHTS - 1].type = PEEP_THOUGHT_TYPE_NONE; + peep->thoughts[PEEP_MAX_THOUGHTS - 1].type = PEEP_THOUGHT_TYPE_NONE; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_THOUGHTS; - i--; - } + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_THOUGHTS; + i--; + } } void peep_set_map_tooltip(rct_peep *peep) { - if (peep->type == PEEP_TYPE_GUEST) { - set_map_tooltip_format_arg(0, rct_string_id, (peep->peep_flags & PEEP_FLAGS_TRACKING) ? STR_TRACKED_GUEST_MAP_TIP : STR_GUEST_MAP_TIP); - set_map_tooltip_format_arg(2, uint32, get_peep_face_sprite_small(peep)); - set_map_tooltip_format_arg(6, rct_string_id, peep->name_string_idx); - set_map_tooltip_format_arg(8, uint32, peep->id); + if (peep->type == PEEP_TYPE_GUEST) { + set_map_tooltip_format_arg(0, rct_string_id, (peep->peep_flags & PEEP_FLAGS_TRACKING) ? STR_TRACKED_GUEST_MAP_TIP : STR_GUEST_MAP_TIP); + set_map_tooltip_format_arg(2, uint32, get_peep_face_sprite_small(peep)); + set_map_tooltip_format_arg(6, rct_string_id, peep->name_string_idx); + set_map_tooltip_format_arg(8, uint32, peep->id); - uint32 arg0, arg1; - get_arguments_from_action(peep, &arg0, &arg1); - set_map_tooltip_format_arg(12, uint32, arg0); - set_map_tooltip_format_arg(16, uint32, arg1); - } else { - set_map_tooltip_format_arg(0, rct_string_id, STR_STAFF_MAP_TIP); - set_map_tooltip_format_arg(2, rct_string_id, peep->name_string_idx); - set_map_tooltip_format_arg(4, uint32, peep->id); + uint32 arg0, arg1; + get_arguments_from_action(peep, &arg0, &arg1); + set_map_tooltip_format_arg(12, uint32, arg0); + set_map_tooltip_format_arg(16, uint32, arg1); + } else { + set_map_tooltip_format_arg(0, rct_string_id, STR_STAFF_MAP_TIP); + set_map_tooltip_format_arg(2, rct_string_id, peep->name_string_idx); + set_map_tooltip_format_arg(4, uint32, peep->id); - uint32 arg0, arg1; - get_arguments_from_action(peep, &arg0, &arg1); - set_map_tooltip_format_arg(8, uint32, arg0); - set_map_tooltip_format_arg(12, uint32, arg1); - } + uint32 arg0, arg1; + get_arguments_from_action(peep, &arg0, &arg1); + set_map_tooltip_format_arg(8, uint32, arg0); + set_map_tooltip_format_arg(12, uint32, arg1); + } } /** * rct2: 0x00693BAB */ void peep_switch_to_next_action_sprite_type(rct_peep* peep) { - // TBD: Add nextActionSpriteType as function parameter and make peep->next_action_sprite_type obsolete? - uint8 nextActionSpriteType = peep->next_action_sprite_type; - if (nextActionSpriteType != peep->action_sprite_type) { - invalidate_sprite_2((rct_sprite*)peep); - peep->action_sprite_type = nextActionSpriteType; - const rct_sprite_bounds* spriteBounds = g_peep_animation_entries[peep->sprite_type].sprite_bounds; - peep->sprite_width = spriteBounds[nextActionSpriteType].sprite_width; - peep->sprite_height_negative = spriteBounds[nextActionSpriteType].sprite_height_negative; - peep->sprite_height_positive = spriteBounds[nextActionSpriteType].sprite_height_positive; - invalidate_sprite_2((rct_sprite*)peep); - } + // TBD: Add nextActionSpriteType as function parameter and make peep->next_action_sprite_type obsolete? + uint8 nextActionSpriteType = peep->next_action_sprite_type; + if (nextActionSpriteType != peep->action_sprite_type) { + invalidate_sprite_2((rct_sprite*)peep); + peep->action_sprite_type = nextActionSpriteType; + const rct_sprite_bounds* spriteBounds = g_peep_animation_entries[peep->sprite_type].sprite_bounds; + peep->sprite_width = spriteBounds[nextActionSpriteType].sprite_width; + peep->sprite_height_negative = spriteBounds[nextActionSpriteType].sprite_height_negative; + peep->sprite_height_positive = spriteBounds[nextActionSpriteType].sprite_height_positive; + invalidate_sprite_2((rct_sprite*)peep); + } } /** @@ -7870,68 +7870,68 @@ void peep_switch_to_next_action_sprite_type(rct_peep* peep) { * rct2: 0x00693CBB */ static sint32 peep_update_queue_position(rct_peep* peep, uint8 previous_action){ - peep->time_in_queue++; - if (peep->next_in_queue == SPRITE_INDEX_NULL) - return 0; + peep->time_in_queue++; + if (peep->next_in_queue == SPRITE_INDEX_NULL) + return 0; - rct_peep* peep_next = GET_PEEP(peep->next_in_queue); + rct_peep* peep_next = GET_PEEP(peep->next_in_queue); - sint16 x_diff = abs(peep_next->x - peep->x); - sint16 y_diff = abs(peep_next->y - peep->y); - sint16 z_diff = abs(peep_next->z - peep->z); + sint16 x_diff = abs(peep_next->x - peep->x); + sint16 y_diff = abs(peep_next->y - peep->y); + sint16 z_diff = abs(peep_next->z - peep->z); - if (z_diff > 10) - return 0; + if (z_diff > 10) + return 0; - if (x_diff < y_diff){ - sint16 temp_x = x_diff; - x_diff = y_diff; - y_diff = temp_x; - } + if (x_diff < y_diff){ + sint16 temp_x = x_diff; + x_diff = y_diff; + y_diff = temp_x; + } - x_diff += y_diff / 2; - if (x_diff > 7){ - if (x_diff > 13){ - if ((peep->x & 0xFFE0) != (peep_next->x & 0xFFE0) || - (peep->y & 0xFFE0) != (peep_next->y & 0xFFE0)) - return 0; - } + x_diff += y_diff / 2; + if (x_diff > 7){ + if (x_diff > 13){ + if ((peep->x & 0xFFE0) != (peep_next->x & 0xFFE0) || + (peep->y & 0xFFE0) != (peep_next->y & 0xFFE0)) + return 0; + } - if (peep->sprite_direction != peep_next->sprite_direction) - return 0; + if (peep->sprite_direction != peep_next->sprite_direction) + return 0; - switch (peep_next->sprite_direction / 8){ - case 0: - if (peep->x >= peep_next->x) - return 0; - break; - case 1: - if (peep->y <= peep_next->y) - return 0; - break; - case 2: - if (peep->x <= peep_next->x) - return 0; - break; - case 3: - if (peep->y >= peep_next->y) - return 0; - break; - } - } + switch (peep_next->sprite_direction / 8){ + case 0: + if (peep->x >= peep_next->x) + return 0; + break; + case 1: + if (peep->y <= peep_next->y) + return 0; + break; + case 2: + if (peep->x <= peep_next->x) + return 0; + break; + case 3: + if (peep->y >= peep_next->y) + return 0; + break; + } + } - sint16 xy_dist, x, y; - if (peep->action < PEEP_ACTION_NONE_1) - peep_update_action(&x, &y, &xy_dist, peep); + sint16 xy_dist, x, y; + if (peep->action < PEEP_ACTION_NONE_1) + peep_update_action(&x, &y, &xy_dist, peep); - if (peep->action != PEEP_ACTION_NONE_2) - return 1; + if (peep->action != PEEP_ACTION_NONE_2) + return 1; - peep->action = PEEP_ACTION_NONE_1; - peep->next_action_sprite_type = 2; - if (previous_action != PEEP_ACTION_NONE_1) - invalidate_sprite_2((rct_sprite*)peep); - return 1; + peep->action = PEEP_ACTION_NONE_1; + peep->next_action_sprite_type = 2; + if (previous_action != PEEP_ACTION_NONE_1) + invalidate_sprite_2((rct_sprite*)peep); + return 1; } /** @@ -7939,11 +7939,11 @@ static sint32 peep_update_queue_position(rct_peep* peep, uint8 previous_action){ * rct2: 0x00693EF2 */ static sint32 peep_return_to_center_of_tile(rct_peep* peep){ - peep->direction ^= (1 << 1); - peep->destination_x = (peep->x & 0xFFE0) + 16; - peep->destination_y = (peep->y & 0xFFE0) + 16; - peep->destination_tolerence = 5; - return 1; + peep->direction ^= (1 << 1); + peep->destination_x = (peep->x & 0xFFE0) + 16; + peep->destination_y = (peep->y & 0xFFE0) + 16; + peep->destination_tolerence = 5; + return 1; } /** @@ -7951,250 +7951,250 @@ static sint32 peep_return_to_center_of_tile(rct_peep* peep){ * rct2: 0x00693f2C */ static sint32 peep_interact_with_entrance(rct_peep* peep, sint16 x, sint16 y, rct_map_element* map_element){ - uint8 entranceType = map_element->properties.entrance.type; - uint8 rideIndex = map_element->properties.entrance.ride_index; + uint8 entranceType = map_element->properties.entrance.type; + uint8 rideIndex = map_element->properties.entrance.ride_index; - // Store some details to determine when to override the default - // behaviour (defined below) for when staff attempt to enter a ride - // to fix/inspect it. - if (entranceType == ENTRANCE_TYPE_RIDE_EXIT){ - _unk_F1EE18 |= F1EE18_RIDE_EXIT; - _peepRideEntranceExitElement = map_element; - } - else if (entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE){ - _unk_F1EE18 |= F1EE18_RIDE_ENTRANCE; - _peepRideEntranceExitElement = map_element; - } + // Store some details to determine when to override the default + // behaviour (defined below) for when staff attempt to enter a ride + // to fix/inspect it. + if (entranceType == ENTRANCE_TYPE_RIDE_EXIT){ + _unk_F1EE18 |= F1EE18_RIDE_EXIT; + _peepRideEntranceExitElement = map_element; + } + else if (entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE){ + _unk_F1EE18 |= F1EE18_RIDE_ENTRANCE; + _peepRideEntranceExitElement = map_element; + } - if (entranceType == ENTRANCE_TYPE_RIDE_EXIT){ - // Default guest/staff behaviour attempting to enter a - // ride exit is to turn around. - peep->interaction_ride_index = 0xFF; - return peep_return_to_center_of_tile(peep); - } + if (entranceType == ENTRANCE_TYPE_RIDE_EXIT){ + // Default guest/staff behaviour attempting to enter a + // ride exit is to turn around. + peep->interaction_ride_index = 0xFF; + return peep_return_to_center_of_tile(peep); + } - if (entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE){ - if (peep->type == PEEP_TYPE_STAFF){ - // Default staff behaviour attempting to enter a - // ride entrance is to turn around. - peep->interaction_ride_index = 0xFF; - return peep_return_to_center_of_tile(peep); - } + if (entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE){ + if (peep->type == PEEP_TYPE_STAFF){ + // Default staff behaviour attempting to enter a + // ride entrance is to turn around. + peep->interaction_ride_index = 0xFF; + return peep_return_to_center_of_tile(peep); + } - if (peep->state == PEEP_STATE_QUEUING){ - // Guest is in the ride queue. - peep->sub_state = 11; - peep->action_sprite_image_offset = _unk_F1AEF0; - return 1; - } + if (peep->state == PEEP_STATE_QUEUING){ + // Guest is in the ride queue. + peep->sub_state = 11; + peep->action_sprite_image_offset = _unk_F1AEF0; + return 1; + } - // Guest is on a normal path, i.e. ride has no queue. - if (peep->interaction_ride_index == rideIndex) - // Peep is retrying the ride entrance without leaving - // the path tile and without trying any other ride - // attached to this path tile. i.e. stick with the - // peeps previous decision not to go on the ride. - return peep_return_to_center_of_tile(peep); + // Guest is on a normal path, i.e. ride has no queue. + if (peep->interaction_ride_index == rideIndex) + // Peep is retrying the ride entrance without leaving + // the path tile and without trying any other ride + // attached to this path tile. i.e. stick with the + // peeps previous decision not to go on the ride. + return peep_return_to_center_of_tile(peep); - peep->var_F4 = 0; - uint8 stationNum = (map_element->properties.entrance.index >> 4) & 0x7; - // Guest walks up to the ride for the first time since entering - // the path tile or since considering another ride attached to - // the path tile. - if (!peep_should_go_on_ride(peep, rideIndex, stationNum, 0)){ - // Peep remembers that this is the last ride they - // considered while on this path tile. - peep->interaction_ride_index = rideIndex; - return peep_return_to_center_of_tile(peep); - } + peep->var_F4 = 0; + uint8 stationNum = (map_element->properties.entrance.index >> 4) & 0x7; + // Guest walks up to the ride for the first time since entering + // the path tile or since considering another ride attached to + // the path tile. + if (!peep_should_go_on_ride(peep, rideIndex, stationNum, 0)){ + // Peep remembers that this is the last ride they + // considered while on this path tile. + peep->interaction_ride_index = rideIndex; + return peep_return_to_center_of_tile(peep); + } - // Guest has decided to go on the ride. - peep->action_sprite_image_offset = _unk_F1AEF0; - peep->interaction_ride_index = rideIndex; + // Guest has decided to go on the ride. + peep->action_sprite_image_offset = _unk_F1AEF0; + peep->interaction_ride_index = rideIndex; - rct_ride* ride = get_ride(rideIndex); - uint16 previous_last = ride->last_peep_in_queue[stationNum]; - ride->last_peep_in_queue[stationNum] = peep->sprite_index; - peep->next_in_queue = previous_last; - ride->queue_length[stationNum]++; + rct_ride* ride = get_ride(rideIndex); + uint16 previous_last = ride->last_peep_in_queue[stationNum]; + ride->last_peep_in_queue[stationNum] = peep->sprite_index; + peep->next_in_queue = previous_last; + ride->queue_length[stationNum]++; - peep_decrement_num_riders(peep); - peep->current_ride = rideIndex; - peep->current_ride_station = stationNum; - peep->state = PEEP_STATE_QUEUING; - peep->days_in_queue = 0; - peep_window_state_update(peep); - peep->sub_state = 11; - peep->time_in_queue = 0; - if (peep->peep_flags & PEEP_FLAGS_TRACKING){ - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); - if (gConfigNotifications.guest_queuing_for_ride) { - news_item_add_to_queue(NEWS_ITEM_PEEP_ON_RIDE, STR_PEEP_TRACKING_PEEP_JOINED_QUEUE_FOR_X, peep->sprite_index); - } - } - return 1; - } - else{ - // PARK_ENTRANCE - if (peep->type == PEEP_TYPE_STAFF) - // Staff cannot leave the park, so go back. - return peep_return_to_center_of_tile(peep); + peep_decrement_num_riders(peep); + peep->current_ride = rideIndex; + peep->current_ride_station = stationNum; + peep->state = PEEP_STATE_QUEUING; + peep->days_in_queue = 0; + peep_window_state_update(peep); + peep->sub_state = 11; + peep->time_in_queue = 0; + if (peep->peep_flags & PEEP_FLAGS_TRACKING){ + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); + if (gConfigNotifications.guest_queuing_for_ride) { + news_item_add_to_queue(NEWS_ITEM_PEEP_ON_RIDE, STR_PEEP_TRACKING_PEEP_JOINED_QUEUE_FOR_X, peep->sprite_index); + } + } + return 1; + } + else{ + // PARK_ENTRANCE + if (peep->type == PEEP_TYPE_STAFF) + // Staff cannot leave the park, so go back. + return peep_return_to_center_of_tile(peep); - // If not the center of the entrance arch - if (map_element->properties.entrance.index & 0xF) - return peep_return_to_center_of_tile(peep); + // If not the center of the entrance arch + if (map_element->properties.entrance.index & 0xF) + return peep_return_to_center_of_tile(peep); - uint8 entranceDirection = map_element->type & MAP_ELEMENT_DIRECTION_MASK; - if (entranceDirection != peep->direction){ - if ((entranceDirection ^ (1 << 1)) != peep->direction) - return peep_return_to_center_of_tile(peep); - // Peep is leaving the park. - if (peep->state != PEEP_STATE_WALKING) - return peep_return_to_center_of_tile(peep); + uint8 entranceDirection = map_element->type & MAP_ELEMENT_DIRECTION_MASK; + if (entranceDirection != peep->direction){ + if ((entranceDirection ^ (1 << 1)) != peep->direction) + return peep_return_to_center_of_tile(peep); + // Peep is leaving the park. + if (peep->state != PEEP_STATE_WALKING) + return peep_return_to_center_of_tile(peep); - if (!(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)){ - // If the park is open and leaving flag isn't set return to center - if (gParkFlags & PARK_FLAGS_PARK_OPEN) - return peep_return_to_center_of_tile(peep); - } + if (!(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)){ + // If the park is open and leaving flag isn't set return to center + if (gParkFlags & PARK_FLAGS_PARK_OPEN) + return peep_return_to_center_of_tile(peep); + } - peep->destination_x += TileDirectionDelta[peep->direction].x; - peep->destination_y += TileDirectionDelta[peep->direction].y; - peep->destination_tolerence = 9; - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); + peep->destination_x += TileDirectionDelta[peep->direction].x; + peep->destination_y += TileDirectionDelta[peep->direction].y; + peep->destination_tolerence = 9; + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_LEAVING_PARK; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_LEAVING_PARK; + peep_window_state_update(peep); - peep->var_37 = 0; - if (peep->peep_flags & PEEP_FLAGS_TRACKING){ - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); - if (gConfigNotifications.guest_left_park) { - news_item_add_to_queue(NEWS_ITEM_PEEP_ON_RIDE, STR_PEEP_TRACKING_LEFT_PARK, peep->sprite_index); - } - } - return 1; - } + peep->var_37 = 0; + if (peep->peep_flags & PEEP_FLAGS_TRACKING){ + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); + if (gConfigNotifications.guest_left_park) { + news_item_add_to_queue(NEWS_ITEM_PEEP_ON_RIDE, STR_PEEP_TRACKING_LEFT_PARK, peep->sprite_index); + } + } + return 1; + } - // Peep is entering the park. + // Peep is entering the park. - if (peep->state != PEEP_STATE_ENTERING_PARK) - return peep_return_to_center_of_tile(peep); + if (peep->state != PEEP_STATE_ENTERING_PARK) + return peep_return_to_center_of_tile(peep); - if (!(gParkFlags & PARK_FLAGS_PARK_OPEN)){ - peep->state = PEEP_STATE_LEAVING_PARK; - peep->var_37 = 1; - decrement_guests_heading_for_park(); - peep_window_state_update(peep); - return peep_return_to_center_of_tile(peep); - } + if (!(gParkFlags & PARK_FLAGS_PARK_OPEN)){ + peep->state = PEEP_STATE_LEAVING_PARK; + peep->var_37 = 1; + decrement_guests_heading_for_park(); + peep_window_state_update(peep); + return peep_return_to_center_of_tile(peep); + } - uint8 entranceIndex = 0; - for (entranceIndex = 0; entranceIndex < MAX_PARK_ENTRANCES; entranceIndex++) { - if (gParkEntrances[entranceIndex].x == (x & 0xFFE0) && - gParkEntrances[entranceIndex].y == (y & 0xFFE0)) - break; - } + uint8 entranceIndex = 0; + for (entranceIndex = 0; entranceIndex < MAX_PARK_ENTRANCES; entranceIndex++) { + if (gParkEntrances[entranceIndex].x == (x & 0xFFE0) && + gParkEntrances[entranceIndex].y == (y & 0xFFE0)) + break; + } - sint16 z = gParkEntrances[entranceIndex].z / 8; - entranceDirection = gParkEntrances[entranceIndex].direction; + sint16 z = gParkEntrances[entranceIndex].z / 8; + entranceDirection = gParkEntrances[entranceIndex].direction; - sint16 next_x = (x & 0xFFE0) + TileDirectionDelta[entranceDirection].x; - sint16 next_y = (y & 0xFFE0) + TileDirectionDelta[entranceDirection].y; + sint16 next_x = (x & 0xFFE0) + TileDirectionDelta[entranceDirection].x; + sint16 next_y = (y & 0xFFE0) + TileDirectionDelta[entranceDirection].y; - uint8 found = 0; - rct_map_element* nextMapElement = map_get_first_element_at(next_x / 32, next_y / 32); - do{ - if (map_element_get_type(nextMapElement) != MAP_ELEMENT_TYPE_PATH) - continue; + uint8 found = 0; + rct_map_element* nextMapElement = map_get_first_element_at(next_x / 32, next_y / 32); + do{ + if (map_element_get_type(nextMapElement) != MAP_ELEMENT_TYPE_PATH) + continue; - if (nextMapElement->type & 1) - continue; + if (nextMapElement->type & 1) + continue; - if (footpath_element_is_sloped(nextMapElement)){ - uint8 slopeDirection = footpath_element_get_slope_direction(nextMapElement); - if (slopeDirection == entranceDirection){ - if (z != nextMapElement->base_height){ - continue; - } - found = 1; - break; - } + if (footpath_element_is_sloped(nextMapElement)){ + uint8 slopeDirection = footpath_element_get_slope_direction(nextMapElement); + if (slopeDirection == entranceDirection){ + if (z != nextMapElement->base_height){ + continue; + } + found = 1; + break; + } - if ((slopeDirection ^ (1 << 1)) != entranceDirection) - continue; + if ((slopeDirection ^ (1 << 1)) != entranceDirection) + continue; - if (z - 2 != nextMapElement->base_height) - continue; - found = 1; - break; - } - else{ - if (z != nextMapElement->base_height){ - continue; - } - found = 1; - break; - } - } while (!map_element_is_last_for_tile(nextMapElement++)); + if (z - 2 != nextMapElement->base_height) + continue; + found = 1; + break; + } + else{ + if (z != nextMapElement->base_height){ + continue; + } + found = 1; + break; + } + } while (!map_element_is_last_for_tile(nextMapElement++)); - if (!found){ - peep->state = PEEP_STATE_LEAVING_PARK; - peep->var_37 = 1; - decrement_guests_heading_for_park(); - peep_window_state_update(peep); - return peep_return_to_center_of_tile(peep); - } + if (!found){ + peep->state = PEEP_STATE_LEAVING_PARK; + peep->var_37 = 1; + decrement_guests_heading_for_park(); + peep_window_state_update(peep); + return peep_return_to_center_of_tile(peep); + } - money16 entranceFee = park_get_entrance_fee(); - if (entranceFee != 0) { - if (peep->item_standard_flags & PEEP_ITEM_VOUCHER){ - if (peep->voucher_type == VOUCHER_TYPE_PARK_ENTRY_HALF_PRICE){ - entranceFee /= 2; - peep->item_standard_flags &= ~PEEP_ITEM_VOUCHER; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - } - else if (peep->voucher_type == VOUCHER_TYPE_PARK_ENTRY_FREE){ - entranceFee = 0; - peep->item_standard_flags &= ~PEEP_ITEM_VOUCHER; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - } - } - if (entranceFee > peep->cash_in_pocket){ - peep->state = PEEP_STATE_LEAVING_PARK; - peep->var_37 = 1; - decrement_guests_heading_for_park(); - peep_window_state_update(peep); - return peep_return_to_center_of_tile(peep); - } + money16 entranceFee = park_get_entrance_fee(); + if (entranceFee != 0) { + if (peep->item_standard_flags & PEEP_ITEM_VOUCHER){ + if (peep->voucher_type == VOUCHER_TYPE_PARK_ENTRY_HALF_PRICE){ + entranceFee /= 2; + peep->item_standard_flags &= ~PEEP_ITEM_VOUCHER; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + } + else if (peep->voucher_type == VOUCHER_TYPE_PARK_ENTRY_FREE){ + entranceFee = 0; + peep->item_standard_flags &= ~PEEP_ITEM_VOUCHER; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + } + } + if (entranceFee > peep->cash_in_pocket){ + peep->state = PEEP_STATE_LEAVING_PARK; + peep->var_37 = 1; + decrement_guests_heading_for_park(); + peep_window_state_update(peep); + return peep_return_to_center_of_tile(peep); + } - gTotalIncomeFromAdmissions += entranceFee; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_ENTRANCE_TICKETS; - peep_spend_money(peep, &peep->paid_to_enter, entranceFee); - peep->peep_flags |= PEEP_FLAGS_HAS_PAID_FOR_PARK_ENTRY; - } + gTotalIncomeFromAdmissions += entranceFee; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_ENTRANCE_TICKETS; + peep_spend_money(peep, &peep->paid_to_enter, entranceFee); + peep->peep_flags |= PEEP_FLAGS_HAS_PAID_FOR_PARK_ENTRY; + } - gTotalAdmissions++; - window_invalidate_by_number(WC_PARK_INFORMATION, 0); + gTotalAdmissions++; + window_invalidate_by_number(WC_PARK_INFORMATION, 0); - peep->var_37 = 1; - peep->destination_x += TileDirectionDelta[peep->direction].x; - peep->destination_y += TileDirectionDelta[peep->direction].y; - peep->destination_tolerence = 7; + peep->var_37 = 1; + peep->destination_x += TileDirectionDelta[peep->direction].x; + peep->destination_y += TileDirectionDelta[peep->direction].y; + peep->destination_tolerence = 7; - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, peep->z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, peep->z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - return 1; - } + return 1; + } } /** @@ -8202,135 +8202,135 @@ static sint32 peep_interact_with_entrance(rct_peep* peep, sint16 x, sint16 y, rc * rct2: 0x006946D8 */ static sint32 peep_footpath_move_forward(rct_peep* peep, sint16 x, sint16 y, rct_map_element* map_element, bool vandalism){ - peep->next_x = (x & 0xFFE0); - peep->next_y = (y & 0xFFE0); - peep->next_z = map_element->base_height; - peep->next_var_29 = map_element->properties.path.type & 7; + peep->next_x = (x & 0xFFE0); + peep->next_y = (y & 0xFFE0); + peep->next_z = map_element->base_height; + peep->next_var_29 = map_element->properties.path.type & 7; - sint16 z = peep_get_height_on_slope(peep, x, y); + sint16 z = peep_get_height_on_slope(peep, x, y); - if (peep->type == PEEP_TYPE_STAFF){ - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return 1; - } + if (peep->type == PEEP_TYPE_STAFF){ + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return 1; + } - uint8 var_EF = (peep->var_EF * 2) & 0x3F; - peep->var_EF &= 0xC0; - peep->var_EF |= var_EF; + uint8 var_EF = (peep->var_EF * 2) & 0x3F; + peep->var_EF &= 0xC0; + peep->var_EF |= var_EF; - if (vandalism == true){ - peep->var_EF |= 1; - if (peep->var_EF & 0x3E && - !(peep->var_EF & 0xC0)){ + if (vandalism == true){ + peep->var_EF |= 1; + if (peep->var_EF & 0x3E && + !(peep->var_EF & 0xC0)){ - if ((scenario_rand() & 0xFFFF) <= 10922){ - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_VANDALISM, 0xFF); - peep->happiness_growth_rate = max(0, peep->happiness_growth_rate - 17); - } - peep->var_EF |= 0xC0; - } - } + if ((scenario_rand() & 0xFFFF) <= 10922){ + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_VANDALISM, 0xFF); + peep->happiness_growth_rate = max(0, peep->happiness_growth_rate - 17); + } + peep->var_EF |= 0xC0; + } + } - if (peep->var_EF & 0xC0 && - (scenario_rand()&0xFFFF) <= 4369){ - peep->var_EF -= 0x40; - } + if (peep->var_EF & 0xC0 && + (scenario_rand()&0xFFFF) <= 4369){ + peep->var_EF -= 0x40; + } - uint16 crowded = 0; - uint8 litter_count = 0; - uint8 sick_count = 0; - uint16 sprite_id = sprite_get_first_in_quadrant(x, y); - for (rct_sprite* sprite; sprite_id != SPRITE_INDEX_NULL; sprite_id = sprite->unknown.next_in_quadrant){ - sprite = get_sprite(sprite_id); - if (sprite->unknown.sprite_identifier == SPRITE_IDENTIFIER_PEEP){ - rct_peep* other_peep = (rct_peep*)sprite; - if (other_peep->state != PEEP_STATE_WALKING) - continue; + uint16 crowded = 0; + uint8 litter_count = 0; + uint8 sick_count = 0; + uint16 sprite_id = sprite_get_first_in_quadrant(x, y); + for (rct_sprite* sprite; sprite_id != SPRITE_INDEX_NULL; sprite_id = sprite->unknown.next_in_quadrant){ + sprite = get_sprite(sprite_id); + if (sprite->unknown.sprite_identifier == SPRITE_IDENTIFIER_PEEP){ + rct_peep* other_peep = (rct_peep*)sprite; + if (other_peep->state != PEEP_STATE_WALKING) + continue; - if (abs(other_peep->z - peep->next_z * 8) > 16) - continue; - crowded++; - continue; - } - else if (sprite->unknown.sprite_identifier == SPRITE_IDENTIFIER_LITTER){ - rct_litter* litter = (rct_litter*)sprite; - if (abs(litter->z - peep->next_z * 8) > 16) - continue; + if (abs(other_peep->z - peep->next_z * 8) > 16) + continue; + crowded++; + continue; + } + else if (sprite->unknown.sprite_identifier == SPRITE_IDENTIFIER_LITTER){ + rct_litter* litter = (rct_litter*)sprite; + if (abs(litter->z - peep->next_z * 8) > 16) + continue; - litter_count++; - if (litter->type != LITTER_TYPE_SICK && litter->type != LITTER_TYPE_SICK_ALT) - continue; + litter_count++; + if (litter->type != LITTER_TYPE_SICK && litter->type != LITTER_TYPE_SICK_ALT) + continue; - litter_count--; - sick_count++; - } - } + litter_count--; + sick_count++; + } + } - if (crowded >= 10 && - peep->state == PEEP_STATE_WALKING && - (scenario_rand() & 0xFFFF) <= 21845){ + if (crowded >= 10 && + peep->state == PEEP_STATE_WALKING && + (scenario_rand() & 0xFFFF) <= 21845){ - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CROWDED, 0xFF); - peep->happiness_growth_rate = max(0, peep->happiness_growth_rate - 14); - } + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CROWDED, 0xFF); + peep->happiness_growth_rate = max(0, peep->happiness_growth_rate - 14); + } - litter_count = min(3, litter_count); - sick_count = min(3, sick_count); + litter_count = min(3, litter_count); + sick_count = min(3, sick_count); - uint8 disgusting_time = peep->disgusting_count & 0xC0; - uint8 disgusting_count = ((peep->disgusting_count & 0xF) << 2) | sick_count; - peep->disgusting_count = disgusting_count | disgusting_time; + uint8 disgusting_time = peep->disgusting_count & 0xC0; + uint8 disgusting_count = ((peep->disgusting_count & 0xF) << 2) | sick_count; + peep->disgusting_count = disgusting_count | disgusting_time; - if (disgusting_time & 0xC0 && - (scenario_rand() & 0xFFFF) <= 4369){ - // Reduce the disgusting time - peep->disgusting_count -= 0x40; - } - else{ - uint8 total_sick = 0; - for (uint8 time = 0; time < 3; time++){ - total_sick += (disgusting_count >> (2 * time)) & 0x3; - } + if (disgusting_time & 0xC0 && + (scenario_rand() & 0xFFFF) <= 4369){ + // Reduce the disgusting time + peep->disgusting_count -= 0x40; + } + else{ + uint8 total_sick = 0; + for (uint8 time = 0; time < 3; time++){ + total_sick += (disgusting_count >> (2 * time)) & 0x3; + } - if (total_sick >= 3 && - (scenario_rand() & 0xFFFF) <= 10922){ - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_PATH_DISGUSTING, 0xFF); - peep->happiness_growth_rate = max(0, peep->happiness_growth_rate - 17); - // Reset disgusting time - peep->disgusting_count |= 0xC0; - } - } + if (total_sick >= 3 && + (scenario_rand() & 0xFFFF) <= 10922){ + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_PATH_DISGUSTING, 0xFF); + peep->happiness_growth_rate = max(0, peep->happiness_growth_rate - 17); + // Reset disgusting time + peep->disgusting_count |= 0xC0; + } + } - uint8 litter_time = peep->litter_count & 0xC0; - litter_count = ((peep->litter_count & 0xF) << 2) | litter_count; - peep->litter_count = litter_count | litter_time; + uint8 litter_time = peep->litter_count & 0xC0; + litter_count = ((peep->litter_count & 0xF) << 2) | litter_count; + peep->litter_count = litter_count | litter_time; - if (litter_time & 0xC0 && - (scenario_rand() & 0xFFFF) <= 4369){ - // Reduce the litter time - peep->litter_count -= 0x40; - } - else{ - uint8 total_litter = 0; - for (uint8 time = 0; time < 3; time++){ - total_litter += (litter_count >> (2 * time)) & 0x3; - } + if (litter_time & 0xC0 && + (scenario_rand() & 0xFFFF) <= 4369){ + // Reduce the litter time + peep->litter_count -= 0x40; + } + else{ + uint8 total_litter = 0; + for (uint8 time = 0; time < 3; time++){ + total_litter += (litter_count >> (2 * time)) & 0x3; + } - if (total_litter >= 3 && - (scenario_rand() & 0xFFFF) <= 10922){ - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_BAD_LITTER, 0xFF); - peep->happiness_growth_rate = max(0, peep->happiness_growth_rate - 17); - // Reset litter time - peep->litter_count |= 0xC0; - } - } + if (total_litter >= 3 && + (scenario_rand() & 0xFFFF) <= 10922){ + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_BAD_LITTER, 0xFF); + peep->happiness_growth_rate = max(0, peep->happiness_growth_rate - 17); + // Reset litter time + peep->litter_count |= 0xC0; + } + } - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return 1; + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return 1; } /** @@ -8339,116 +8339,116 @@ static sint32 peep_footpath_move_forward(rct_peep* peep, sint16 x, sint16 y, rct */ static sint32 peep_interact_with_path(rct_peep* peep, sint16 x, sint16 y, rct_map_element* map_element){ - // 0x00F1AEE2 - bool vandalism_present = false; - if (footpath_element_has_path_scenery(map_element) && - (map_element->flags & MAP_ELEMENT_FLAG_BROKEN) && - (map_element->properties.path.edges & 0xF) != 0xF){ - vandalism_present = 1; - } + // 0x00F1AEE2 + bool vandalism_present = false; + if (footpath_element_has_path_scenery(map_element) && + (map_element->flags & MAP_ELEMENT_FLAG_BROKEN) && + (map_element->properties.path.edges & 0xF) != 0xF){ + vandalism_present = 1; + } - sint16 z = map_element->base_height * 8; - if (!map_is_location_owned(x, y, z)){ - if (peep->outside_of_park == 0) - return peep_return_to_center_of_tile(peep); - } - else{ - if (peep->outside_of_park == 1) - return peep_return_to_center_of_tile(peep); - } + sint16 z = map_element->base_height * 8; + if (!map_is_location_owned(x, y, z)){ + if (peep->outside_of_park == 0) + return peep_return_to_center_of_tile(peep); + } + else{ + if (peep->outside_of_park == 1) + return peep_return_to_center_of_tile(peep); + } - if (peep->type == PEEP_TYPE_GUEST && - footpath_element_is_queue(map_element)){ + if (peep->type == PEEP_TYPE_GUEST && + footpath_element_is_queue(map_element)){ - uint8 rideIndex = map_element->properties.path.ride_index; + uint8 rideIndex = map_element->properties.path.ride_index; - // Check if this queue path tile is connected to a ride. - if (rideIndex == 0xFF){ - // Queue is not connected to a ride. - peep->interaction_ride_index = 0xFF; - return peep_footpath_move_forward(peep, x, y, map_element, vandalism_present); - } + // Check if this queue path tile is connected to a ride. + if (rideIndex == 0xFF){ + // Queue is not connected to a ride. + peep->interaction_ride_index = 0xFF; + return peep_footpath_move_forward(peep, x, y, map_element, vandalism_present); + } - // Queue is connected to a ride. - if (peep->state == PEEP_STATE_QUEUING){ - // Check if this queue is connected to the ride the - // peep is queuing for, i.e. the player hasn't edited - // the queue. - if (peep->current_ride == rideIndex){ - return peep_footpath_move_forward(peep, x, y, map_element, vandalism_present); - } - // Queue got disconnected from the ride. - remove_peep_from_queue(peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_1; - peep_window_state_update(peep); - return peep_footpath_move_forward(peep, x, y, map_element, vandalism_present); - } + // Queue is connected to a ride. + if (peep->state == PEEP_STATE_QUEUING){ + // Check if this queue is connected to the ride the + // peep is queuing for, i.e. the player hasn't edited + // the queue. + if (peep->current_ride == rideIndex){ + return peep_footpath_move_forward(peep, x, y, map_element, vandalism_present); + } + // Queue got disconnected from the ride. + remove_peep_from_queue(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_1; + peep_window_state_update(peep); + return peep_footpath_move_forward(peep, x, y, map_element, vandalism_present); + } - // One of two cases applies here: - // 1. Peep is in the ride queue but no longer queuing. - // This usually means the ride was closed. - // 2. Peep is walking up to the queue entrance from - // a normal path tile. + // One of two cases applies here: + // 1. Peep is in the ride queue but no longer queuing. + // This usually means the ride was closed. + // 2. Peep is walking up to the queue entrance from + // a normal path tile. - if (peep->interaction_ride_index == rideIndex){ - // Case 1 above applies, so walk the queue. - return peep_footpath_move_forward(peep, x, y, map_element, vandalism_present); - } + if (peep->interaction_ride_index == rideIndex){ + // Case 1 above applies, so walk the queue. + return peep_footpath_move_forward(peep, x, y, map_element, vandalism_present); + } - // Case 2 above applies - decide whether to go on the ride. - peep->var_F4 = 0; - uint8 stationNum = (map_element->properties.path.additions & 0x70) >> 4; - if (!peep_should_go_on_ride(peep, rideIndex, stationNum, PEEP_RIDE_DECISION_AT_QUEUE)){ - // Peep has decided not to go on the ride. - return peep_return_to_center_of_tile(peep); - } + // Case 2 above applies - decide whether to go on the ride. + peep->var_F4 = 0; + uint8 stationNum = (map_element->properties.path.additions & 0x70) >> 4; + if (!peep_should_go_on_ride(peep, rideIndex, stationNum, PEEP_RIDE_DECISION_AT_QUEUE)){ + // Peep has decided not to go on the ride. + return peep_return_to_center_of_tile(peep); + } - // Peep has decided to go on the ride at the queue. - // Set the following so the peep will correctly walk up - // and back down the queue if the ride is closed - // while they are queuing. - peep->interaction_ride_index = rideIndex; - rct_ride* ride = get_ride(rideIndex); + // Peep has decided to go on the ride at the queue. + // Set the following so the peep will correctly walk up + // and back down the queue if the ride is closed + // while they are queuing. + peep->interaction_ride_index = rideIndex; + rct_ride* ride = get_ride(rideIndex); - // Add the peep to the ride queue. - uint16 old_last_peep = ride->last_peep_in_queue[stationNum]; - ride->last_peep_in_queue[stationNum] = peep->sprite_index; - peep->next_in_queue = old_last_peep; - ride->queue_length[stationNum]++; + // Add the peep to the ride queue. + uint16 old_last_peep = ride->last_peep_in_queue[stationNum]; + ride->last_peep_in_queue[stationNum] = peep->sprite_index; + peep->next_in_queue = old_last_peep; + ride->queue_length[stationNum]++; - peep_decrement_num_riders(peep); - peep->current_ride = rideIndex; - peep->current_ride_station = stationNum; - peep->state = PEEP_STATE_QUEUING; - peep->days_in_queue = 0; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->current_ride = rideIndex; + peep->current_ride_station = stationNum; + peep->state = PEEP_STATE_QUEUING; + peep->days_in_queue = 0; + peep_window_state_update(peep); - peep->sub_state = 10; - peep->destination_tolerence = 2; - peep->time_in_queue = 0; - if (peep->peep_flags & PEEP_FLAGS_TRACKING){ - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); - if (gConfigNotifications.guest_queuing_for_ride) { - news_item_add_to_queue(NEWS_ITEM_PEEP_ON_RIDE, STR_PEEP_TRACKING_PEEP_JOINED_QUEUE_FOR_X, peep->sprite_index); - } - } + peep->sub_state = 10; + peep->destination_tolerence = 2; + peep->time_in_queue = 0; + if (peep->peep_flags & PEEP_FLAGS_TRACKING){ + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); + if (gConfigNotifications.guest_queuing_for_ride) { + news_item_add_to_queue(NEWS_ITEM_PEEP_ON_RIDE, STR_PEEP_TRACKING_PEEP_JOINED_QUEUE_FOR_X, peep->sprite_index); + } + } - return peep_footpath_move_forward(peep, x, y, map_element, vandalism_present); - } - else{ - peep->interaction_ride_index = 0xFF; - if (peep->state == PEEP_STATE_QUEUING){ - remove_peep_from_queue(peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_1; - peep_window_state_update(peep); - } - return peep_footpath_move_forward(peep, x, y, map_element, vandalism_present); - } + return peep_footpath_move_forward(peep, x, y, map_element, vandalism_present); + } + else{ + peep->interaction_ride_index = 0xFF; + if (peep->state == PEEP_STATE_QUEUING){ + remove_peep_from_queue(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_1; + peep_window_state_update(peep); + } + return peep_footpath_move_forward(peep, x, y, map_element, vandalism_present); + } } /** @@ -8456,73 +8456,73 @@ static sint32 peep_interact_with_path(rct_peep* peep, sint16 x, sint16 y, rct_ma * rct2: 0x00693F70 */ static sint32 peep_interact_with_shop(rct_peep* peep, sint16 x, sint16 y, rct_map_element* map_element){ - uint8 rideIndex = map_element->properties.track.ride_index; - rct_ride* ride = get_ride(rideIndex); + uint8 rideIndex = map_element->properties.track.ride_index; + rct_ride* ride = get_ride(rideIndex); - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) - return 0; + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) + return 0; - if (peep->type == PEEP_TYPE_STAFF) - return peep_return_to_center_of_tile(peep); + if (peep->type == PEEP_TYPE_STAFF) + return peep_return_to_center_of_tile(peep); - peep->var_F4 = 0; + peep->var_F4 = 0; - if (ride->status != RIDE_STATUS_OPEN) - return peep_return_to_center_of_tile(peep); + if (ride->status != RIDE_STATUS_OPEN) + return peep_return_to_center_of_tile(peep); - if (peep->interaction_ride_index == rideIndex) - return peep_return_to_center_of_tile(peep); + if (peep->interaction_ride_index == rideIndex) + return peep_return_to_center_of_tile(peep); - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) - return peep_return_to_center_of_tile(peep); + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) + return peep_return_to_center_of_tile(peep); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY)){ - peep->var_F4 = 0; - if (!peep_should_go_on_ride(peep, rideIndex, 0, 0)) - return peep_return_to_center_of_tile(peep); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY)){ + peep->var_F4 = 0; + if (!peep_should_go_on_ride(peep, rideIndex, 0, 0)) + return peep_return_to_center_of_tile(peep); - money16 cost = ride->price; - if (cost != 0 && !(gParkFlags & PARK_FLAGS_NO_MONEY)) { - ride->total_profit += cost; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_RIDE_TICKETS; - peep_spend_money(peep, NULL, cost); - } - peep->destination_x = (x & 0xFFE0) + 16; - peep->destination_y = (y & 0xFFE0) + 16; - peep->destination_tolerence = 3; + money16 cost = ride->price; + if (cost != 0 && !(gParkFlags & PARK_FLAGS_NO_MONEY)) { + ride->total_profit += cost; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_RIDE_TICKETS; + peep_spend_money(peep, NULL, cost); + } + peep->destination_x = (x & 0xFFE0) + 16; + peep->destination_y = (y & 0xFFE0) + 16; + peep->destination_tolerence = 3; - peep_decrement_num_riders(peep); - peep->current_ride = rideIndex; - peep->state = PEEP_STATE_ENTERING_RIDE; - peep->sub_state = 19; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->current_ride = rideIndex; + peep->state = PEEP_STATE_ENTERING_RIDE; + peep->sub_state = 19; + peep_window_state_update(peep); - peep->time_on_ride = 0; - ride->cur_num_customers++; - if (peep->peep_flags & PEEP_FLAGS_TRACKING){ - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); - rct_string_id string_id = ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IN_RIDE) ? STR_PEEP_TRACKING_PEEP_IS_IN_X : STR_PEEP_TRACKING_PEEP_IS_ON_X; - if (gConfigNotifications.guest_used_facility) { - news_item_add_to_queue(NEWS_ITEM_PEEP_ON_RIDE, string_id, peep->sprite_index); - } - } - return 1; - } - else{ - if (peep->guest_heading_to_ride_id == rideIndex) - peep->guest_heading_to_ride_id = 0xFF; - peep->action_sprite_image_offset = _unk_F1AEF0; - peep_decrement_num_riders(peep); - peep->current_ride = rideIndex; - peep->state = PEEP_STATE_BUYING; - peep->sub_state = 0; - peep_window_state_update(peep); - return 1; - } + peep->time_on_ride = 0; + ride->cur_num_customers++; + if (peep->peep_flags & PEEP_FLAGS_TRACKING){ + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); + rct_string_id string_id = ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IN_RIDE) ? STR_PEEP_TRACKING_PEEP_IS_IN_X : STR_PEEP_TRACKING_PEEP_IS_ON_X; + if (gConfigNotifications.guest_used_facility) { + news_item_add_to_queue(NEWS_ITEM_PEEP_ON_RIDE, string_id, peep->sprite_index); + } + } + return 1; + } + else{ + if (peep->guest_heading_to_ride_id == rideIndex) + peep->guest_heading_to_ride_id = 0xFF; + peep->action_sprite_image_offset = _unk_F1AEF0; + peep_decrement_num_riders(peep); + peep->current_ride = rideIndex; + peep->state = PEEP_STATE_BUYING; + peep->sub_state = 0; + peep_window_state_update(peep); + return 1; + } } /** @@ -8530,25 +8530,25 @@ static sint32 peep_interact_with_shop(rct_peep* peep, sint16 x, sint16 y, rct_ma * rct2: 0x0069524E */ static sint32 peep_move_one_tile(uint8 direction, rct_peep* peep){ - assert(direction <= 3); - sint16 x = peep->next_x; - sint16 y = peep->next_y; - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; + assert(direction <= 3); + sint16 x = peep->next_x; + sint16 y = peep->next_y; + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; - if (x >= 8192 || y >= 8192){ - // This could loop! - return guest_surface_path_finding(peep); - } + if (x >= 8192 || y >= 8192){ + // This could loop! + return guest_surface_path_finding(peep); + } - peep->direction = direction; - peep->destination_x = x + 16; - peep->destination_y = y + 16; - peep->destination_tolerence = 2; - if (peep->state != PEEP_STATE_QUEUING){ - peep->destination_tolerence = (scenario_rand() & 7) + 2; - } - return 0; + peep->direction = direction; + peep->destination_x = x + 16; + peep->destination_y = y + 16; + peep->destination_tolerence = 2; + if (peep->state != PEEP_STATE_QUEUING){ + peep->destination_tolerence = (scenario_rand() & 7) + 2; + } + return 0; } /** @@ -8556,103 +8556,103 @@ static sint32 peep_move_one_tile(uint8 direction, rct_peep* peep){ * rct2: 0x00694C41 */ static sint32 guest_surface_path_finding(rct_peep* peep){ - sint16 x = peep->next_x; - sint16 y = peep->next_y; - sint16 z = peep->next_z; - uint8 randDirection = scenario_rand() & 3; + sint16 x = peep->next_x; + sint16 y = peep->next_y; + sint16 z = peep->next_z; + uint8 randDirection = scenario_rand() & 3; - if (!fence_in_the_way(x, y, z, z + 4, randDirection)){ - x += TileDirectionDelta[randDirection].x; - y += TileDirectionDelta[randDirection].y; - uint8 backwardsDirection = randDirection ^ (1 << 1); + if (!fence_in_the_way(x, y, z, z + 4, randDirection)){ + x += TileDirectionDelta[randDirection].x; + y += TileDirectionDelta[randDirection].y; + uint8 backwardsDirection = randDirection ^ (1 << 1); - if (!fence_in_the_way(x, y, z, z + 4, backwardsDirection)){ - if (!map_surface_is_blocked(x, y)){ - return peep_move_one_tile(randDirection, peep); - } - } - } + if (!fence_in_the_way(x, y, z, z + 4, backwardsDirection)){ + if (!map_surface_is_blocked(x, y)){ + return peep_move_one_tile(randDirection, peep); + } + } + } - randDirection++; - uint8 rand_backwards = scenario_rand() & 1; - if (rand_backwards){ - randDirection -= 2; - } - randDirection &= 3; + randDirection++; + uint8 rand_backwards = scenario_rand() & 1; + if (rand_backwards){ + randDirection -= 2; + } + randDirection &= 3; - x = peep->next_x; - y = peep->next_y; - if (!fence_in_the_way(x, y, z, z + 4, randDirection)){ - x += TileDirectionDelta[randDirection].x; - y += TileDirectionDelta[randDirection].y; - uint8 backwardsDirection = randDirection ^ (1 << 1); + x = peep->next_x; + y = peep->next_y; + if (!fence_in_the_way(x, y, z, z + 4, randDirection)){ + x += TileDirectionDelta[randDirection].x; + y += TileDirectionDelta[randDirection].y; + uint8 backwardsDirection = randDirection ^ (1 << 1); - if (!fence_in_the_way(x, y, z, z + 4, backwardsDirection)){ - if (!map_surface_is_blocked(x, y)){ - return peep_move_one_tile(randDirection, peep); - } - } - } + if (!fence_in_the_way(x, y, z, z + 4, backwardsDirection)){ + if (!map_surface_is_blocked(x, y)){ + return peep_move_one_tile(randDirection, peep); + } + } + } - randDirection -= 2; - randDirection &= 3; + randDirection -= 2; + randDirection &= 3; - x = peep->next_x; - y = peep->next_y; - if (!fence_in_the_way(x, y, z, z + 4, randDirection)){ - x += TileDirectionDelta[randDirection].x; - y += TileDirectionDelta[randDirection].y; - uint8 backwardsDirection = randDirection ^ (1 << 1); + x = peep->next_x; + y = peep->next_y; + if (!fence_in_the_way(x, y, z, z + 4, randDirection)){ + x += TileDirectionDelta[randDirection].x; + y += TileDirectionDelta[randDirection].y; + uint8 backwardsDirection = randDirection ^ (1 << 1); - if (!fence_in_the_way(x, y, z, z + 4, backwardsDirection)){ - if (!map_surface_is_blocked(x, y)){ - return peep_move_one_tile(randDirection, peep); - } - } - } + if (!fence_in_the_way(x, y, z, z + 4, backwardsDirection)){ + if (!map_surface_is_blocked(x, y)){ + return peep_move_one_tile(randDirection, peep); + } + } + } - randDirection--; - if (rand_backwards){ - randDirection += 2; - } - randDirection &= 3; - return peep_move_one_tile(randDirection, peep); + randDirection--; + if (rand_backwards){ + randDirection += 2; + } + randDirection &= 3; + return peep_move_one_tile(randDirection, peep); } static rct_map_element* get_banner_on_path(rct_map_element *path_element) { - // This is an improved version of original. - // That only checked for one fence in the way. - if (map_element_is_last_for_tile(path_element)) - return NULL; + // This is an improved version of original. + // That only checked for one fence in the way. + if (map_element_is_last_for_tile(path_element)) + return NULL; - rct_map_element *bannerElement = path_element + 1; - do { - // Path on top, so no banners - if (map_element_get_type(bannerElement) == MAP_ELEMENT_TYPE_PATH) - return NULL; - // Found a banner - if (map_element_get_type(bannerElement) == MAP_ELEMENT_TYPE_BANNER) - return bannerElement; - // Last element so there cant be any other banners - if (map_element_is_last_for_tile(bannerElement)) - return NULL; + rct_map_element *bannerElement = path_element + 1; + do { + // Path on top, so no banners + if (map_element_get_type(bannerElement) == MAP_ELEMENT_TYPE_PATH) + return NULL; + // Found a banner + if (map_element_get_type(bannerElement) == MAP_ELEMENT_TYPE_BANNER) + return bannerElement; + // Last element so there cant be any other banners + if (map_element_is_last_for_tile(bannerElement)) + return NULL; - } while (bannerElement++); + } while (bannerElement++); - return NULL; + return NULL; } static sint32 banner_clear_path_edges(rct_map_element *mapElement, sint32 edges) { - if (_peepPathFindIsStaff) return edges; - rct_map_element *bannerElement = get_banner_on_path(mapElement); - if (bannerElement != NULL) { - do { - edges &= bannerElement->properties.banner.flags; - } while ((bannerElement = get_banner_on_path(bannerElement)) != NULL); - } - return edges; + if (_peepPathFindIsStaff) return edges; + rct_map_element *bannerElement = get_banner_on_path(mapElement); + if (bannerElement != NULL) { + do { + edges &= bannerElement->properties.banner.flags; + } while ((bannerElement = get_banner_on_path(bannerElement)) != NULL); + } + return edges; } /** @@ -8660,24 +8660,24 @@ static sint32 banner_clear_path_edges(rct_map_element *mapElement, sint32 edges) */ static sint32 path_get_permitted_edges(rct_map_element *mapElement) { - return banner_clear_path_edges(mapElement, mapElement->properties.path.edges) & 0x0F; + return banner_clear_path_edges(mapElement, mapElement->properties.path.edges) & 0x0F; } static bool is_valid_path_z_and_direction(rct_map_element *mapElement, sint32 currentZ, sint32 currentDirection) { - if (footpath_element_is_sloped(mapElement)) { - sint32 slopeDirection = footpath_element_get_slope_direction(mapElement); - if (slopeDirection == currentDirection) { - if (currentZ != mapElement->base_height) return false; - } else { - slopeDirection ^= 2; - if (slopeDirection != currentDirection) return false; - if (currentZ != mapElement->base_height + 2) return false; - } - } else { - if (currentZ != mapElement->base_height) return false; - } - return true; + if (footpath_element_is_sloped(mapElement)) { + sint32 slopeDirection = footpath_element_get_slope_direction(mapElement); + if (slopeDirection == currentDirection) { + if (currentZ != mapElement->base_height) return false; + } else { + slopeDirection ^= 2; + if (slopeDirection != currentDirection) return false; + if (currentZ != mapElement->base_height + 2) return false; + } + } else { + if (currentZ != mapElement->base_height) return false; + } + return true; } /** @@ -8695,29 +8695,29 @@ static bool is_valid_path_z_and_direction(rct_map_element *mapElement, sint32 cu */ static uint8 footpath_element_next_in_direction(sint16 x, sint16 y, sint16 z, rct_map_element *mapElement, uint8 chosenDirection) { - rct_map_element *nextMapElement; + rct_map_element *nextMapElement; - if (footpath_element_is_sloped(mapElement)) { - if (footpath_element_get_slope_direction(mapElement) == chosenDirection) { - z += 2; - } - } + if (footpath_element_is_sloped(mapElement)) { + if (footpath_element_get_slope_direction(mapElement) == chosenDirection) { + z += 2; + } + } - x += TileDirectionDelta[chosenDirection].x; - y += TileDirectionDelta[chosenDirection].y; - nextMapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (nextMapElement->flags & MAP_ELEMENT_FLAG_GHOST) continue; - if (map_element_get_type(nextMapElement) != MAP_ELEMENT_TYPE_PATH) continue; - if (!is_valid_path_z_and_direction(nextMapElement, z, chosenDirection)) continue; - if (footpath_element_is_wide(nextMapElement)) return PATH_SEARCH_WIDE; - // Only queue tiles that are connected to a ride are returned as ride queues. - if (footpath_element_is_queue(nextMapElement) && nextMapElement->properties.path.ride_index != 0xFF) return PATH_SEARCH_RIDE_QUEUE; + x += TileDirectionDelta[chosenDirection].x; + y += TileDirectionDelta[chosenDirection].y; + nextMapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (nextMapElement->flags & MAP_ELEMENT_FLAG_GHOST) continue; + if (map_element_get_type(nextMapElement) != MAP_ELEMENT_TYPE_PATH) continue; + if (!is_valid_path_z_and_direction(nextMapElement, z, chosenDirection)) continue; + if (footpath_element_is_wide(nextMapElement)) return PATH_SEARCH_WIDE; + // Only queue tiles that are connected to a ride are returned as ride queues. + if (footpath_element_is_queue(nextMapElement) && nextMapElement->properties.path.ride_index != 0xFF) return PATH_SEARCH_RIDE_QUEUE; - return PATH_SEARCH_OTHER; - } while (!map_element_is_last_for_tile(nextMapElement++)); + return PATH_SEARCH_OTHER; + } while (!map_element_is_last_for_tile(nextMapElement++)); - return PATH_SEARCH_FAILED; + return PATH_SEARCH_FAILED; } /** @@ -8739,77 +8739,77 @@ static uint8 footpath_element_next_in_direction(sint16 x, sint16 y, sint16 z, rc * This is the recursive portion of footpath_element_destination_in_direction(). */ static uint8 footpath_element_dest_in_dir( - sint16 x, sint16 y, sint16 z, rct_map_element *inputMapElement, uint8 chosenDirection, uint8 *outRideIndex, - sint32 level + sint16 x, sint16 y, sint16 z, rct_map_element *inputMapElement, uint8 chosenDirection, uint8 *outRideIndex, + sint32 level ) { - rct_map_element *mapElement; - sint32 direction; + rct_map_element *mapElement; + sint32 direction; - if (level > 25) return PATH_SEARCH_LIMIT_REACHED; + if (level > 25) return PATH_SEARCH_LIMIT_REACHED; - x += TileDirectionDelta[chosenDirection].x; - y += TileDirectionDelta[chosenDirection].y; - mapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) continue; + x += TileDirectionDelta[chosenDirection].x; + y += TileDirectionDelta[chosenDirection].y; + mapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) continue; - switch (map_element_get_type(mapElement)) { - case MAP_ELEMENT_TYPE_TRACK: - if (z != mapElement->base_height) continue; - sint32 rideIndex = mapElement->properties.track.ride_index; - rct_ride *ride = get_ride(rideIndex); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) { - *outRideIndex = rideIndex; - return PATH_SEARCH_SHOP_ENTRANCE; - } - break; - case MAP_ELEMENT_TYPE_ENTRANCE: - if (z != mapElement->base_height) continue; - switch (mapElement->properties.entrance.type) { - case ENTRANCE_TYPE_RIDE_ENTRANCE: - direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - if (direction == chosenDirection) { - *outRideIndex = mapElement->properties.entrance.ride_index; - return PATH_SEARCH_RIDE_ENTRANCE; - } - break; - case ENTRANCE_TYPE_RIDE_EXIT: - direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - if (direction == chosenDirection) { - *outRideIndex = mapElement->properties.entrance.ride_index; - return PATH_SEARCH_RIDE_EXIT; - } - break; - case ENTRANCE_TYPE_PARK_ENTRANCE: - return PATH_SEARCH_PARK_EXIT; - } - break; - case MAP_ELEMENT_TYPE_PATH: - if (!is_valid_path_z_and_direction(mapElement, z, chosenDirection)) continue; - if (footpath_element_is_wide(mapElement)) return PATH_SEARCH_WIDE; + switch (map_element_get_type(mapElement)) { + case MAP_ELEMENT_TYPE_TRACK: + if (z != mapElement->base_height) continue; + sint32 rideIndex = mapElement->properties.track.ride_index; + rct_ride *ride = get_ride(rideIndex); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) { + *outRideIndex = rideIndex; + return PATH_SEARCH_SHOP_ENTRANCE; + } + break; + case MAP_ELEMENT_TYPE_ENTRANCE: + if (z != mapElement->base_height) continue; + switch (mapElement->properties.entrance.type) { + case ENTRANCE_TYPE_RIDE_ENTRANCE: + direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + if (direction == chosenDirection) { + *outRideIndex = mapElement->properties.entrance.ride_index; + return PATH_SEARCH_RIDE_ENTRANCE; + } + break; + case ENTRANCE_TYPE_RIDE_EXIT: + direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + if (direction == chosenDirection) { + *outRideIndex = mapElement->properties.entrance.ride_index; + return PATH_SEARCH_RIDE_EXIT; + } + break; + case ENTRANCE_TYPE_PARK_ENTRANCE: + return PATH_SEARCH_PARK_EXIT; + } + break; + case MAP_ELEMENT_TYPE_PATH: + if (!is_valid_path_z_and_direction(mapElement, z, chosenDirection)) continue; + if (footpath_element_is_wide(mapElement)) return PATH_SEARCH_WIDE; - uint8 edges = path_get_permitted_edges(mapElement); - edges &= ~(1 << (chosenDirection ^ 2)); - z = mapElement->base_height; + uint8 edges = path_get_permitted_edges(mapElement); + edges &= ~(1 << (chosenDirection ^ 2)); + z = mapElement->base_height; - for (direction = 0; direction < 4; direction++) { - if (!(edges & (1 << direction))) continue; + for (direction = 0; direction < 4; direction++) { + if (!(edges & (1 << direction))) continue; - edges &= ~(1 << direction); - if (edges != 0) return PATH_SEARCH_JUNCTION; + edges &= ~(1 << direction); + if (edges != 0) return PATH_SEARCH_JUNCTION; - if (footpath_element_is_sloped(mapElement)) { - if (footpath_element_get_slope_direction(mapElement) == direction) { - z += 2; - } - } - return footpath_element_dest_in_dir(x, y, z, mapElement, direction, outRideIndex, level + 1); - } - return PATH_SEARCH_DEAD_END; - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (footpath_element_is_sloped(mapElement)) { + if (footpath_element_get_slope_direction(mapElement) == direction) { + z += 2; + } + } + return footpath_element_dest_in_dir(x, y, z, mapElement, direction, outRideIndex, level + 1); + } + return PATH_SEARCH_DEAD_END; + } + } while (!map_element_is_last_for_tile(mapElement++)); - return PATH_SEARCH_FAILED; + return PATH_SEARCH_FAILED; } /** @@ -8837,13 +8837,13 @@ static uint8 footpath_element_dest_in_dir( */ static uint8 footpath_element_destination_in_direction(sint16 x, sint16 y, sint16 z, rct_map_element *inputMapElement, uint8 chosenDirection, uint8 *outRideIndex) { - if (footpath_element_is_sloped(inputMapElement)) { - if (footpath_element_get_slope_direction(inputMapElement) == chosenDirection) { - z += 2; - } - } + if (footpath_element_is_sloped(inputMapElement)) { + if (footpath_element_get_slope_direction(inputMapElement) == chosenDirection) { + z += 2; + } + } - return footpath_element_dest_in_dir(x, y, z, inputMapElement, chosenDirection, outRideIndex, 0); + return footpath_element_dest_in_dir(x, y, z, inputMapElement, chosenDirection, outRideIndex, 0); } /** @@ -8851,20 +8851,20 @@ static uint8 footpath_element_destination_in_direction(sint16 x, sint16 y, sint1 * rct2: 0x00695225 */ static sint32 guest_path_find_aimless(rct_peep* peep, uint8 edges){ - if (scenario_rand() & 1){ - // If possible go straight - if (edges & (1 << peep->direction)){ - return peep_move_one_tile(peep->direction, peep); - } - } + if (scenario_rand() & 1){ + // If possible go straight + if (edges & (1 << peep->direction)){ + return peep_move_one_tile(peep->direction, peep); + } + } - while (1){ - uint8 direction = scenario_rand() & 3; - // Otherwise go in a random direction allowed from the tile. - if (edges & (1 << direction)){ - return peep_move_one_tile(direction, peep); - } - } + while (1){ + uint8 direction = scenario_rand() & 3; + // Otherwise go in a random direction allowed from the tile. + if (edges & (1 << direction)){ + return peep_move_one_tile(direction, peep); + } + } } /** @@ -8872,29 +8872,29 @@ static sint32 guest_path_find_aimless(rct_peep* peep, uint8 edges){ * rct2: 0x0069A60A */ static uint8 peep_pathfind_get_max_number_junctions(rct_peep* peep){ - if (peep->type == PEEP_TYPE_STAFF) - return 8; + if (peep->type == PEEP_TYPE_STAFF) + return 8; - // PEEP_FLAGS_2? It's cleared here but not set anywhere! - if ((peep->peep_flags & PEEP_FLAGS_2)){ - if ((scenario_rand() & 0xFFFF) <= 7281) - peep->peep_flags &= ~PEEP_FLAGS_2; + // PEEP_FLAGS_2? It's cleared here but not set anywhere! + if ((peep->peep_flags & PEEP_FLAGS_2)){ + if ((scenario_rand() & 0xFFFF) <= 7281) + peep->peep_flags &= ~PEEP_FLAGS_2; - return 8; - } + return 8; + } - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK && - peep->peep_is_lost_countdown < 90){ - return 8; - } + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK && + peep->peep_is_lost_countdown < 90){ + return 8; + } - if (peep->item_standard_flags & PEEP_ITEM_MAP) - return 7; + if (peep->item_standard_flags & PEEP_ITEM_MAP) + return 7; - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) - return 7; + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) + return 7; - return 5; + return 5; } /** @@ -8906,33 +8906,33 @@ static uint8 peep_pathfind_get_max_number_junctions(rct_peep* peep){ * considered a junction. */ static bool path_is_thin_junction(rct_map_element *path, sint16 x, sint16 y, uint8 z) { - uint8 edges = path_get_permitted_edges(path); + uint8 edges = path_get_permitted_edges(path); - sint32 test_edge = bitscanforward(edges); - if (test_edge == -1) return false; + sint32 test_edge = bitscanforward(edges); + if (test_edge == -1) return false; - bool thin_junction = false; - sint32 thin_count = 0; - do - { - sint32 fp_result = footpath_element_next_in_direction(x, y, z, path, test_edge); + bool thin_junction = false; + sint32 thin_count = 0; + do + { + sint32 fp_result = footpath_element_next_in_direction(x, y, z, path, test_edge); - /* Ignore non-paths (e.g. ride entrances, shops), wide paths - * and ride queues (per ignoreQueues) when counting - * neighbouring tiles. */ - if (fp_result != PATH_SEARCH_FAILED && - fp_result != PATH_SEARCH_WIDE && - fp_result != PATH_SEARCH_RIDE_QUEUE) { - thin_count++; - } + /* Ignore non-paths (e.g. ride entrances, shops), wide paths + * and ride queues (per ignoreQueues) when counting + * neighbouring tiles. */ + if (fp_result != PATH_SEARCH_FAILED && + fp_result != PATH_SEARCH_WIDE && + fp_result != PATH_SEARCH_RIDE_QUEUE) { + thin_count++; + } - if (thin_count > 2) { - thin_junction = true; - break; - } - edges &= ~(1 << test_edge); - } while ((test_edge = bitscanforward(edges)) != -1); - return thin_junction; + if (thin_count > 2) { + thin_junction = true; + break; + } + edges &= ~(1 << test_edge); + } while ((test_edge = bitscanforward(edges)) != -1); + return thin_junction; } /** @@ -9012,507 +9012,507 @@ static bool path_is_thin_junction(rct_map_element *path, sint16 x, sint16 y, uin * rct2: 0x0069A997 */ static void peep_pathfind_heuristic_search(sint16 x, sint16 y, uint8 z, rct_peep *peep, rct_map_element *currentMapElement, bool inPatrolArea, uint8 counter, uint16 *endScore, sint32 test_edge, uint8 *endJunctions, rct_xyz8 junctionList[16], uint8 directionList[16], rct_xyz8 *endXYZ, uint8 *endSteps) { - uint8 searchResult = PATH_SEARCH_FAILED; + uint8 searchResult = PATH_SEARCH_FAILED; - x += TileDirectionDelta[test_edge].x; - y += TileDirectionDelta[test_edge].y; + x += TileDirectionDelta[test_edge].x; + y += TileDirectionDelta[test_edge].y; - ++counter; - _peepPathFindTilesChecked--; + ++counter; + _peepPathFindTilesChecked--; - /* If this is where the search started this is a search loop and the - * current search path ends here. - * Return without updating the parameters (best result so far). */ - if ((_peepPathFindHistory[0].location.x == (uint8)(x >> 5)) && - (_peepPathFindHistory[0].location.y == (uint8)(y >> 5)) && - (_peepPathFindHistory[0].location.z == (uint8)z)) { - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Return from %d,%d,%d; At start", counter, x >> 5, y >> 5, z); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - return; - } + /* If this is where the search started this is a search loop and the + * current search path ends here. + * Return without updating the parameters (best result so far). */ + if ((_peepPathFindHistory[0].location.x == (uint8)(x >> 5)) && + (_peepPathFindHistory[0].location.y == (uint8)(y >> 5)) && + (_peepPathFindHistory[0].location.z == (uint8)z)) { + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Return from %d,%d,%d; At start", counter, x >> 5, y >> 5, z); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + return; + } - bool nextInPatrolArea = inPatrolArea; - if (peep->type == PEEP_TYPE_STAFF && peep->staff_type == STAFF_TYPE_MECHANIC) { - nextInPatrolArea = staff_is_location_in_patrol(peep, x, y); - if (inPatrolArea && !nextInPatrolArea) { - /* The mechanic will leave his patrol area by taking - * the test_edge so the current search path ends here. - * Return without updating the parameters (best result so far). */ - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Return from %d,%d,%d; Left patrol area", counter, x >> 5, y >> 5, z); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - return; - } - } + bool nextInPatrolArea = inPatrolArea; + if (peep->type == PEEP_TYPE_STAFF && peep->staff_type == STAFF_TYPE_MECHANIC) { + nextInPatrolArea = staff_is_location_in_patrol(peep, x, y); + if (inPatrolArea && !nextInPatrolArea) { + /* The mechanic will leave his patrol area by taking + * the test_edge so the current search path ends here. + * Return without updating the parameters (best result so far). */ + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Return from %d,%d,%d; Left patrol area", counter, x >> 5, y >> 5, z); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + return; + } + } - /* Get the next map element of interest in the direction of test_edge. */ - bool found = false; - rct_map_element *mapElement = map_get_first_element_at(x / 32, y / 32); - do { - /* Look for all map elements that the peep could walk onto while - * navigating to the goal, including the goal tile. */ + /* Get the next map element of interest in the direction of test_edge. */ + bool found = false; + rct_map_element *mapElement = map_get_first_element_at(x / 32, y / 32); + do { + /* Look for all map elements that the peep could walk onto while + * navigating to the goal, including the goal tile. */ - if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) continue; + if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) continue; - uint8 rideIndex = 0xFF; - switch (map_element_get_type(mapElement)) { - case MAP_ELEMENT_TYPE_TRACK: - if (z != mapElement->base_height) continue; - /* For peeps heading for a shop, the goal is the shop - * tile. */ - rideIndex = mapElement->properties.track.ride_index; - rct_ride *ride = get_ride(rideIndex); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) { - found = true; - searchResult = PATH_SEARCH_SHOP_ENTRANCE; - break; - } else { - continue; - } - case MAP_ELEMENT_TYPE_ENTRANCE: - if (z != mapElement->base_height) continue; - sint32 direction; - searchResult = PATH_SEARCH_OTHER; - switch (mapElement->properties.entrance.type) { - case ENTRANCE_TYPE_RIDE_ENTRANCE: - /* For peeps heading for a ride without a queue, the - * goal is the ride entrance tile. - * For mechanics heading for the ride entrance - * (in the case when the station has no exit), - * the goal is the ride entrance tile. */ - direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - if (direction == test_edge) { - /* The rideIndex will be useful for - * adding transport rides later. */ - rideIndex = mapElement->properties.entrance.ride_index; - searchResult = PATH_SEARCH_RIDE_ENTRANCE; - found = true; - break; - } - continue; // Ride entrance is not facing the right direction. - case ENTRANCE_TYPE_PARK_ENTRANCE: - /* For peeps leaving the park, the goal is the park - * entrance/exit tile. */ - searchResult = PATH_SEARCH_PARK_EXIT; - found = true; - break; - case ENTRANCE_TYPE_RIDE_EXIT: - /* For mechanics heading for the ride exit, the - * goal is the ride exit tile. */ - direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - if (direction == test_edge) { - searchResult = PATH_SEARCH_RIDE_EXIT; - found = true; - break; - } - continue; // Ride exit is not facing the right direction. - default: continue; - } - break; - case MAP_ELEMENT_TYPE_PATH: - /* For peeps heading for a ride with a queue, the goal is the last - * queue path. - * Otherwise, peeps walk on path tiles to get to the goal. */ + uint8 rideIndex = 0xFF; + switch (map_element_get_type(mapElement)) { + case MAP_ELEMENT_TYPE_TRACK: + if (z != mapElement->base_height) continue; + /* For peeps heading for a shop, the goal is the shop + * tile. */ + rideIndex = mapElement->properties.track.ride_index; + rct_ride *ride = get_ride(rideIndex); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) { + found = true; + searchResult = PATH_SEARCH_SHOP_ENTRANCE; + break; + } else { + continue; + } + case MAP_ELEMENT_TYPE_ENTRANCE: + if (z != mapElement->base_height) continue; + sint32 direction; + searchResult = PATH_SEARCH_OTHER; + switch (mapElement->properties.entrance.type) { + case ENTRANCE_TYPE_RIDE_ENTRANCE: + /* For peeps heading for a ride without a queue, the + * goal is the ride entrance tile. + * For mechanics heading for the ride entrance + * (in the case when the station has no exit), + * the goal is the ride entrance tile. */ + direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + if (direction == test_edge) { + /* The rideIndex will be useful for + * adding transport rides later. */ + rideIndex = mapElement->properties.entrance.ride_index; + searchResult = PATH_SEARCH_RIDE_ENTRANCE; + found = true; + break; + } + continue; // Ride entrance is not facing the right direction. + case ENTRANCE_TYPE_PARK_ENTRANCE: + /* For peeps leaving the park, the goal is the park + * entrance/exit tile. */ + searchResult = PATH_SEARCH_PARK_EXIT; + found = true; + break; + case ENTRANCE_TYPE_RIDE_EXIT: + /* For mechanics heading for the ride exit, the + * goal is the ride exit tile. */ + direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + if (direction == test_edge) { + searchResult = PATH_SEARCH_RIDE_EXIT; + found = true; + break; + } + continue; // Ride exit is not facing the right direction. + default: continue; + } + break; + case MAP_ELEMENT_TYPE_PATH: + /* For peeps heading for a ride with a queue, the goal is the last + * queue path. + * Otherwise, peeps walk on path tiles to get to the goal. */ - if (!is_valid_path_z_and_direction(mapElement, z, test_edge)) continue; + if (!is_valid_path_z_and_direction(mapElement, z, test_edge)) continue; - // Path may be sloped, so set z to path base height. - z = mapElement->base_height; + // Path may be sloped, so set z to path base height. + z = mapElement->base_height; - if (footpath_element_is_wide(mapElement)) { - if (peep->type == PEEP_TYPE_STAFF && peep->staff_type == STAFF_TYPE_MECHANIC) { - // Check whether the tile is not on the - // edge of the mechanic patrol zone. - bool onZoneEdge = false; - int neighbourDir = 0; - while (!onZoneEdge && neighbourDir <= 7) { - int neighbourX = x + TileDirectionDelta[neighbourDir].x; - int neighbourY = y + TileDirectionDelta[neighbourDir].y; - onZoneEdge = !staff_is_location_in_patrol(peep, neighbourX, neighbourY); - neighbourDir++; - } - // Wide paths not on the edge of the - // mechanic patrol zone are observed. - if (!onZoneEdge) { - searchResult = PATH_SEARCH_WIDE; - found = true; - break; - } - // Wide path flag for path tiles on the - // edge of the mechanic patrol zone are - // ignored. - } else { - searchResult = PATH_SEARCH_WIDE; - found = true; - break; - } - } + if (footpath_element_is_wide(mapElement)) { + if (peep->type == PEEP_TYPE_STAFF && peep->staff_type == STAFF_TYPE_MECHANIC) { + // Check whether the tile is not on the + // edge of the mechanic patrol zone. + bool onZoneEdge = false; + int neighbourDir = 0; + while (!onZoneEdge && neighbourDir <= 7) { + int neighbourX = x + TileDirectionDelta[neighbourDir].x; + int neighbourY = y + TileDirectionDelta[neighbourDir].y; + onZoneEdge = !staff_is_location_in_patrol(peep, neighbourX, neighbourY); + neighbourDir++; + } + // Wide paths not on the edge of the + // mechanic patrol zone are observed. + if (!onZoneEdge) { + searchResult = PATH_SEARCH_WIDE; + found = true; + break; + } + // Wide path flag for path tiles on the + // edge of the mechanic patrol zone are + // ignored. + } else { + searchResult = PATH_SEARCH_WIDE; + found = true; + break; + } + } - searchResult = PATH_SEARCH_THIN; + searchResult = PATH_SEARCH_THIN; - uint8 numEdges = bitcount(path_get_permitted_edges(mapElement)); + uint8 numEdges = bitcount(path_get_permitted_edges(mapElement)); - if (numEdges < 2) { - searchResult = PATH_SEARCH_DEAD_END; - } else if (numEdges > 2) { - searchResult = PATH_SEARCH_JUNCTION; - } else { // numEdges == 2 - if (footpath_element_is_queue(mapElement) && mapElement->properties.path.ride_index != gPeepPathFindQueueRideIndex) { - if (gPeepPathFindIgnoreForeignQueues && (mapElement->properties.path.ride_index != 0xFF)) { - // Path is a queue we aren't interested in - /* The rideIndex will be useful for - * adding transport rides later. */ - rideIndex = mapElement->properties.path.ride_index; - searchResult = PATH_SEARCH_RIDE_QUEUE; - } - } - } - found = true; - break; - default: - continue; - } + if (numEdges < 2) { + searchResult = PATH_SEARCH_DEAD_END; + } else if (numEdges > 2) { + searchResult = PATH_SEARCH_JUNCTION; + } else { // numEdges == 2 + if (footpath_element_is_queue(mapElement) && mapElement->properties.path.ride_index != gPeepPathFindQueueRideIndex) { + if (gPeepPathFindIgnoreForeignQueues && (mapElement->properties.path.ride_index != 0xFF)) { + // Path is a queue we aren't interested in + /* The rideIndex will be useful for + * adding transport rides later. */ + rideIndex = mapElement->properties.path.ride_index; + searchResult = PATH_SEARCH_RIDE_QUEUE; + } + } + } + found = true; + break; + default: + continue; + } - # - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Checking map element at %d,%d,%d; Type: %s", counter, x >> 5, y >> 5, z, gPathFindSearchText[searchResult]); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + # + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Checking map element at %d,%d,%d; Type: %s", counter, x >> 5, y >> 5, z, gPathFindSearchText[searchResult]); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - /* At this point mapElement is of interest to the pathfinding. */ + /* At this point mapElement is of interest to the pathfinding. */ - /* Should we check that this mapElement is connected in the - * reverse direction? For some mapElement types this was - * already done above (e.g. ride entrances), but for others not. - * Ignore for now. */ + /* Should we check that this mapElement is connected in the + * reverse direction? For some mapElement types this was + * already done above (e.g. ride entrances), but for others not. + * Ignore for now. */ - // Calculate the heuristic score of this map element. - uint16 x_delta = abs(gPeepPathFindGoalPosition.x - x); - uint16 y_delta = abs(gPeepPathFindGoalPosition.y - y); - if (x_delta < y_delta) x_delta >>= 4; - else y_delta >>= 4; - uint16 new_score = x_delta + y_delta; - uint16 z_delta = abs(gPeepPathFindGoalPosition.z - z); - z_delta <<= 1; - new_score += z_delta; + // Calculate the heuristic score of this map element. + uint16 x_delta = abs(gPeepPathFindGoalPosition.x - x); + uint16 y_delta = abs(gPeepPathFindGoalPosition.y - y); + if (x_delta < y_delta) x_delta >>= 4; + else y_delta >>= 4; + uint16 new_score = x_delta + y_delta; + uint16 z_delta = abs(gPeepPathFindGoalPosition.z - z); + z_delta <<= 1; + new_score += z_delta; - /* If this map element is the search goal the current search path ends here. */ - if (new_score == 0) { - /* If the search result is better than the best so far (in the parameters), - * then update the parameters with this search before continuing to the next map element. */ - if (new_score < *endScore || (new_score == *endScore && counter < *endSteps )) { - // Update the search results - *endScore = new_score; - *endSteps = counter; - // Update the end x,y,z - endXYZ->x = x >> 5; - endXYZ->y = y >> 5; - endXYZ->z = z; - // Update the telemetry - *endJunctions = _peepPathFindMaxJunctions - _peepPathFindNumJunctions; - for (uint8 junctInd = 0; junctInd < *endJunctions; junctInd++) { - uint8 histIdx = _peepPathFindMaxJunctions - junctInd; - junctionList[junctInd].x = _peepPathFindHistory[histIdx].location.x; - junctionList[junctInd].y = _peepPathFindHistory[histIdx].location.y; - junctionList[junctInd].z = _peepPathFindHistory[histIdx].location.z; - directionList[junctInd] = _peepPathFindHistory[histIdx].direction; - } - } - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Search path ends at %d,%d,%d; At goal; Score: %d", counter, x >> 5, y >> 5, z, new_score); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - continue; - } + /* If this map element is the search goal the current search path ends here. */ + if (new_score == 0) { + /* If the search result is better than the best so far (in the parameters), + * then update the parameters with this search before continuing to the next map element. */ + if (new_score < *endScore || (new_score == *endScore && counter < *endSteps )) { + // Update the search results + *endScore = new_score; + *endSteps = counter; + // Update the end x,y,z + endXYZ->x = x >> 5; + endXYZ->y = y >> 5; + endXYZ->z = z; + // Update the telemetry + *endJunctions = _peepPathFindMaxJunctions - _peepPathFindNumJunctions; + for (uint8 junctInd = 0; junctInd < *endJunctions; junctInd++) { + uint8 histIdx = _peepPathFindMaxJunctions - junctInd; + junctionList[junctInd].x = _peepPathFindHistory[histIdx].location.x; + junctionList[junctInd].y = _peepPathFindHistory[histIdx].location.y; + junctionList[junctInd].z = _peepPathFindHistory[histIdx].location.z; + directionList[junctInd] = _peepPathFindHistory[histIdx].direction; + } + } + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Search path ends at %d,%d,%d; At goal; Score: %d", counter, x >> 5, y >> 5, z, new_score); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + continue; + } - /* At this point the map element tile is not the goal. */ + /* At this point the map element tile is not the goal. */ - /* If this map element is not a path, the search cannot be continued. - * Continue to the next map element without updating the parameters (best result so far). */ - if (searchResult != PATH_SEARCH_DEAD_END && - searchResult != PATH_SEARCH_THIN && - searchResult != PATH_SEARCH_JUNCTION && - searchResult != PATH_SEARCH_WIDE) { - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Search path ends at %d,%d,%d; Not a path", counter, x >> 5, y >> 5, z); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - continue; - } + /* If this map element is not a path, the search cannot be continued. + * Continue to the next map element without updating the parameters (best result so far). */ + if (searchResult != PATH_SEARCH_DEAD_END && + searchResult != PATH_SEARCH_THIN && + searchResult != PATH_SEARCH_JUNCTION && + searchResult != PATH_SEARCH_WIDE) { + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Search path ends at %d,%d,%d; Not a path", counter, x >> 5, y >> 5, z); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + continue; + } - /* At this point the map element is a path. */ + /* At this point the map element is a path. */ - /* If this is a wide path the search ends here. */ - if (searchResult == PATH_SEARCH_WIDE) { - /* Ignore Wide paths as continuing paths UNLESS the current path is also Wide. - * i.e. search across wide paths from a wide path to get onto a thin path, - * thereafter stay on thin paths. */ - /* So, if the current path is also wide the goal could still - * be reachable from here. - * If the search result is better than the best so far (in the parameters), - * then update the parameters with this search before continuing to the next map element. */ - if (footpath_element_is_wide(currentMapElement) && - (new_score < *endScore || (new_score == *endScore && counter < *endSteps ))) { - // Update the search results - *endScore = new_score; - *endSteps = counter; - // Update the end x,y,z - endXYZ->x = x >> 5; - endXYZ->y = y >> 5; - endXYZ->z = z; - // Update the telemetry - *endJunctions = _peepPathFindMaxJunctions - _peepPathFindNumJunctions; - for (uint8 junctInd = 0; junctInd < *endJunctions; junctInd++) { - uint8 histIdx = _peepPathFindMaxJunctions - junctInd; - junctionList[junctInd].x = _peepPathFindHistory[histIdx].location.x; - junctionList[junctInd].y = _peepPathFindHistory[histIdx].location.y; - junctionList[junctInd].z = _peepPathFindHistory[histIdx].location.z; - directionList[junctInd] = _peepPathFindHistory[histIdx].direction; - } - } - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Search path ends at %d,%d,%d; Wide path; Score: %d", counter, x >> 5, y >> 5, z, new_score); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - continue; - } + /* If this is a wide path the search ends here. */ + if (searchResult == PATH_SEARCH_WIDE) { + /* Ignore Wide paths as continuing paths UNLESS the current path is also Wide. + * i.e. search across wide paths from a wide path to get onto a thin path, + * thereafter stay on thin paths. */ + /* So, if the current path is also wide the goal could still + * be reachable from here. + * If the search result is better than the best so far (in the parameters), + * then update the parameters with this search before continuing to the next map element. */ + if (footpath_element_is_wide(currentMapElement) && + (new_score < *endScore || (new_score == *endScore && counter < *endSteps ))) { + // Update the search results + *endScore = new_score; + *endSteps = counter; + // Update the end x,y,z + endXYZ->x = x >> 5; + endXYZ->y = y >> 5; + endXYZ->z = z; + // Update the telemetry + *endJunctions = _peepPathFindMaxJunctions - _peepPathFindNumJunctions; + for (uint8 junctInd = 0; junctInd < *endJunctions; junctInd++) { + uint8 histIdx = _peepPathFindMaxJunctions - junctInd; + junctionList[junctInd].x = _peepPathFindHistory[histIdx].location.x; + junctionList[junctInd].y = _peepPathFindHistory[histIdx].location.y; + junctionList[junctInd].z = _peepPathFindHistory[histIdx].location.z; + directionList[junctInd] = _peepPathFindHistory[histIdx].direction; + } + } + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Search path ends at %d,%d,%d; Wide path; Score: %d", counter, x >> 5, y >> 5, z, new_score); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + continue; + } - /* At this point the map element is a non-wide path.*/ + /* At this point the map element is a non-wide path.*/ - /* Get all the permitted_edges of the map element. */ - uint8 edges = path_get_permitted_edges(mapElement); + /* Get all the permitted_edges of the map element. */ + uint8 edges = path_get_permitted_edges(mapElement); - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Path element at %d,%d,%d; Edges (0123):%d%d%d%d; Reverse: %d", counter, x >> 5, y >> 5, z, edges & 1, (edges & 2) >> 1, (edges & 4) >> 2, (edges & 8) >> 3, test_edge ^ 2); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Path element at %d,%d,%d; Edges (0123):%d%d%d%d; Reverse: %d", counter, x >> 5, y >> 5, z, edges & 1, (edges & 2) >> 1, (edges & 4) >> 2, (edges & 8) >> 3, test_edge ^ 2); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - /* Remove the reverse edge (i.e. the edge back to the previous map element.) */ - edges &= ~(1 << (test_edge ^ 2)); + /* Remove the reverse edge (i.e. the edge back to the previous map element.) */ + edges &= ~(1 << (test_edge ^ 2)); - sint32 next_test_edge = bitscanforward(edges); + sint32 next_test_edge = bitscanforward(edges); - /* If there are no other edges the current search ends here. - * Continue to the next map element without updating the parameters (best result so far). */ - if (next_test_edge == -1) { - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Search path ends at %d,%d,%d; No more edges/dead end", counter, x >> 5, y >> 5, z); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - continue; - } + /* If there are no other edges the current search ends here. + * Continue to the next map element without updating the parameters (best result so far). */ + if (next_test_edge == -1) { + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Search path ends at %d,%d,%d; No more edges/dead end", counter, x >> 5, y >> 5, z); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + continue; + } - /* Check if either of the search limits has been reached: - * - max number of steps or max tiles checked. */ - if (counter >= 200 || _peepPathFindTilesChecked <= 0) { - /* The current search ends here. - * The path continues, so the goal could still be reachable from here. - * If the search result is better than the best so far (in the parameters), - * then update the parameters with this search before continuing to the next map element. */ - if (new_score < *endScore || (new_score == *endScore && counter < *endSteps )) { - // Update the search results - *endScore = new_score; - *endSteps = counter; - // Update the end x,y,z - endXYZ->x = x >> 5; - endXYZ->y = y >> 5; - endXYZ->z = z; - // Update the telemetry - *endJunctions = _peepPathFindMaxJunctions - _peepPathFindNumJunctions; - for (uint8 junctInd = 0; junctInd < *endJunctions; junctInd++) { - uint8 histIdx = _peepPathFindMaxJunctions - junctInd; - junctionList[junctInd].x = _peepPathFindHistory[histIdx].location.x; - junctionList[junctInd].y = _peepPathFindHistory[histIdx].location.y; - junctionList[junctInd].z = _peepPathFindHistory[histIdx].location.z; - directionList[junctInd] = _peepPathFindHistory[histIdx].direction; - } - } - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Search path ends at %d,%d,%d; Search limit reached; Score: %d", counter, x >> 5, y >> 5, z, new_score); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - continue; - } + /* Check if either of the search limits has been reached: + * - max number of steps or max tiles checked. */ + if (counter >= 200 || _peepPathFindTilesChecked <= 0) { + /* The current search ends here. + * The path continues, so the goal could still be reachable from here. + * If the search result is better than the best so far (in the parameters), + * then update the parameters with this search before continuing to the next map element. */ + if (new_score < *endScore || (new_score == *endScore && counter < *endSteps )) { + // Update the search results + *endScore = new_score; + *endSteps = counter; + // Update the end x,y,z + endXYZ->x = x >> 5; + endXYZ->y = y >> 5; + endXYZ->z = z; + // Update the telemetry + *endJunctions = _peepPathFindMaxJunctions - _peepPathFindNumJunctions; + for (uint8 junctInd = 0; junctInd < *endJunctions; junctInd++) { + uint8 histIdx = _peepPathFindMaxJunctions - junctInd; + junctionList[junctInd].x = _peepPathFindHistory[histIdx].location.x; + junctionList[junctInd].y = _peepPathFindHistory[histIdx].location.y; + junctionList[junctInd].z = _peepPathFindHistory[histIdx].location.z; + directionList[junctInd] = _peepPathFindHistory[histIdx].direction; + } + } + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Search path ends at %d,%d,%d; Search limit reached; Score: %d", counter, x >> 5, y >> 5, z, new_score); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + continue; + } - bool thin_junction = false; - if (searchResult == PATH_SEARCH_JUNCTION) { - /* Check if this is a thin junction. And perform additional - * necessary checks. */ - thin_junction = path_is_thin_junction(mapElement, x, y, z); + bool thin_junction = false; + if (searchResult == PATH_SEARCH_JUNCTION) { + /* Check if this is a thin junction. And perform additional + * necessary checks. */ + thin_junction = path_is_thin_junction(mapElement, x, y, z); - if (thin_junction) { - /* The current search path is passing through a thin - * junction on this map element. Only 'thin' junctions - * are counted towards the junction search limit. */ + if (thin_junction) { + /* The current search path is passing through a thin + * junction on this map element. Only 'thin' junctions + * are counted towards the junction search limit. */ - /* First check if going through the junction would be - * a loop. If so, the current search path ends here. - * Path finding loop detection can take advantage of both the - * peep->pathfind_history - loops through remembered junctions - * the peep has already passed through getting to its - * current position while on the way to its current goal; - * _peepPathFindHistory - loops in the current search path. */ - bool pathLoop = false; - /* Check the peep->pathfind_history to see if this junction has - * already been visited by the peep while heading for this goal. */ - for (sint32 i = 0; i < 4; ++i) { - if (peep->pathfind_history[i].x == x >> 5 && - peep->pathfind_history[i].y == y >> 5 && - peep->pathfind_history[i].z == z) { - if (peep->pathfind_history[i].direction == 0) { - /* If all directions have already been tried while - * heading to this goal, this is a loop. */ - pathLoop = true; - } - else { - /* The peep remembers walking through this junction - * before, but has not yet tried all directions. - * Limit the edges to search to those not yet tried. */ - edges &= peep->pathfind_history[i].direction; - } - break; - } - } + /* First check if going through the junction would be + * a loop. If so, the current search path ends here. + * Path finding loop detection can take advantage of both the + * peep->pathfind_history - loops through remembered junctions + * the peep has already passed through getting to its + * current position while on the way to its current goal; + * _peepPathFindHistory - loops in the current search path. */ + bool pathLoop = false; + /* Check the peep->pathfind_history to see if this junction has + * already been visited by the peep while heading for this goal. */ + for (sint32 i = 0; i < 4; ++i) { + if (peep->pathfind_history[i].x == x >> 5 && + peep->pathfind_history[i].y == y >> 5 && + peep->pathfind_history[i].z == z) { + if (peep->pathfind_history[i].direction == 0) { + /* If all directions have already been tried while + * heading to this goal, this is a loop. */ + pathLoop = true; + } + else { + /* The peep remembers walking through this junction + * before, but has not yet tried all directions. + * Limit the edges to search to those not yet tried. */ + edges &= peep->pathfind_history[i].direction; + } + break; + } + } - if (!pathLoop) { - /* Check the _peepPathFindHistory to see if this junction has been - * previously passed through in the current search path. - * i.e. this is a loop in the current search path. */ - for (sint32 junctionNum = _peepPathFindNumJunctions + 1; junctionNum <= _peepPathFindMaxJunctions; junctionNum++) { - if ((_peepPathFindHistory[junctionNum].location.x == (uint8)(x >> 5)) && - (_peepPathFindHistory[junctionNum].location.y == (uint8)(y >> 5)) && - (_peepPathFindHistory[junctionNum].location.z == (uint8)z)) { - pathLoop = true; - break; - } - } - } - if (pathLoop) { - /* Loop detected. The current search path ends here. - * Continue to the next map element without updating the parameters (best result so far). */ - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Search path ends at %d,%d,%d; Loop", counter, x >> 5, y >> 5, z); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - continue; - } + if (!pathLoop) { + /* Check the _peepPathFindHistory to see if this junction has been + * previously passed through in the current search path. + * i.e. this is a loop in the current search path. */ + for (sint32 junctionNum = _peepPathFindNumJunctions + 1; junctionNum <= _peepPathFindMaxJunctions; junctionNum++) { + if ((_peepPathFindHistory[junctionNum].location.x == (uint8)(x >> 5)) && + (_peepPathFindHistory[junctionNum].location.y == (uint8)(y >> 5)) && + (_peepPathFindHistory[junctionNum].location.z == (uint8)z)) { + pathLoop = true; + break; + } + } + } + if (pathLoop) { + /* Loop detected. The current search path ends here. + * Continue to the next map element without updating the parameters (best result so far). */ + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Search path ends at %d,%d,%d; Loop", counter, x >> 5, y >> 5, z); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + continue; + } - /* If the junction search limit is reached, the - * current search path ends here. The goal may still - * be reachable from here. - * If the search result is better than the best so far (in the parameters), - * then update the parameters with this search before continuing to the next map element. */ - if (_peepPathFindNumJunctions <= 0) { - if (new_score < *endScore || (new_score == *endScore && counter < *endSteps )) { - // Update the search results - *endScore = new_score; - *endSteps = counter; - // Update the end x,y,z - endXYZ->x = x >> 5; - endXYZ->y = y >> 5; - endXYZ->z = z; - // Update the telemetry - *endJunctions = _peepPathFindMaxJunctions; // - _peepPathFindNumJunctions; - for (uint8 junctInd = 0; junctInd < *endJunctions; junctInd++) { - uint8 histIdx = _peepPathFindMaxJunctions - junctInd; - junctionList[junctInd].x = _peepPathFindHistory[histIdx].location.x; - junctionList[junctInd].y = _peepPathFindHistory[histIdx].location.y; - junctionList[junctInd].z = _peepPathFindHistory[histIdx].location.z; - directionList[junctInd] = _peepPathFindHistory[histIdx].direction; - } - } - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Search path ends at %d,%d,%d; NumJunctions < 0; Score: %d", counter, x >> 5, y >> 5, z, new_score); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - continue; - } + /* If the junction search limit is reached, the + * current search path ends here. The goal may still + * be reachable from here. + * If the search result is better than the best so far (in the parameters), + * then update the parameters with this search before continuing to the next map element. */ + if (_peepPathFindNumJunctions <= 0) { + if (new_score < *endScore || (new_score == *endScore && counter < *endSteps )) { + // Update the search results + *endScore = new_score; + *endSteps = counter; + // Update the end x,y,z + endXYZ->x = x >> 5; + endXYZ->y = y >> 5; + endXYZ->z = z; + // Update the telemetry + *endJunctions = _peepPathFindMaxJunctions; // - _peepPathFindNumJunctions; + for (uint8 junctInd = 0; junctInd < *endJunctions; junctInd++) { + uint8 histIdx = _peepPathFindMaxJunctions - junctInd; + junctionList[junctInd].x = _peepPathFindHistory[histIdx].location.x; + junctionList[junctInd].y = _peepPathFindHistory[histIdx].location.y; + junctionList[junctInd].z = _peepPathFindHistory[histIdx].location.z; + directionList[junctInd] = _peepPathFindHistory[histIdx].direction; + } + } + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Search path ends at %d,%d,%d; NumJunctions < 0; Score: %d", counter, x >> 5, y >> 5, z, new_score); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + continue; + } - /* This junction was NOT previously visited in the current - * search path, so add the junction to the history. */ - _peepPathFindHistory[_peepPathFindNumJunctions].location.x = (uint8)(x >> 5); - _peepPathFindHistory[_peepPathFindNumJunctions].location.y = (uint8)(y >> 5); - _peepPathFindHistory[_peepPathFindNumJunctions].location.z = (uint8)z; - // .direction take is added below. + /* This junction was NOT previously visited in the current + * search path, so add the junction to the history. */ + _peepPathFindHistory[_peepPathFindNumJunctions].location.x = (uint8)(x >> 5); + _peepPathFindHistory[_peepPathFindNumJunctions].location.y = (uint8)(y >> 5); + _peepPathFindHistory[_peepPathFindNumJunctions].location.z = (uint8)z; + // .direction take is added below. - _peepPathFindNumJunctions--; - } - } + _peepPathFindNumJunctions--; + } + } - /* Continue searching down each remaining edge of the path - * (recursive call). */ - do { - edges &= ~(1 << next_test_edge); - uint8 savedNumJunctions = _peepPathFindNumJunctions; + /* Continue searching down each remaining edge of the path + * (recursive call). */ + do { + edges &= ~(1 << next_test_edge); + uint8 savedNumJunctions = _peepPathFindNumJunctions; - uint8 height = z; - if (footpath_element_is_sloped(mapElement) && - footpath_element_get_slope_direction(mapElement) == next_test_edge) { - height += 2; - } - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - if (searchResult == PATH_SEARCH_JUNCTION) { - if (thin_junction) - log_info("[%03d] Recurse from %d,%d,%d edge: %d; Thin-Junction", counter, x >> 5, y >> 5, z, next_test_edge); - else - log_info("[%03d] Recurse from %d,%d,%d edge: %d; Wide-Junction", counter, x >> 5, y >> 5, z, next_test_edge); - } else { - log_info("[%03d] Recurse from %d,%d,%d edge: %d; Segment", counter, x >> 5, y >> 5, z, next_test_edge); - } - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + uint8 height = z; + if (footpath_element_is_sloped(mapElement) && + footpath_element_get_slope_direction(mapElement) == next_test_edge) { + height += 2; + } + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + if (searchResult == PATH_SEARCH_JUNCTION) { + if (thin_junction) + log_info("[%03d] Recurse from %d,%d,%d edge: %d; Thin-Junction", counter, x >> 5, y >> 5, z, next_test_edge); + else + log_info("[%03d] Recurse from %d,%d,%d edge: %d; Wide-Junction", counter, x >> 5, y >> 5, z, next_test_edge); + } else { + log_info("[%03d] Recurse from %d,%d,%d edge: %d; Segment", counter, x >> 5, y >> 5, z, next_test_edge); + } + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (thin_junction) { - /* Add the current test_edge to the history. */ - _peepPathFindHistory[_peepPathFindNumJunctions + 1].direction = next_test_edge; - } + if (thin_junction) { + /* Add the current test_edge to the history. */ + _peepPathFindHistory[_peepPathFindNumJunctions + 1].direction = next_test_edge; + } - peep_pathfind_heuristic_search(x, y, height, peep, mapElement, nextInPatrolArea, counter, endScore, next_test_edge, endJunctions, junctionList, directionList, endXYZ, endSteps); - _peepPathFindNumJunctions = savedNumJunctions; + peep_pathfind_heuristic_search(x, y, height, peep, mapElement, nextInPatrolArea, counter, endScore, next_test_edge, endJunctions, junctionList, directionList, endXYZ, endSteps); + _peepPathFindNumJunctions = savedNumJunctions; - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Returned to %d,%d,%d edge: %d; Score: %d", counter, x >> 5, y >> 5, z, next_test_edge, *endScore); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - } while ((next_test_edge = bitscanforward(edges)) != -1); + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Returned to %d,%d,%d edge: %d; Score: %d", counter, x >> 5, y >> 5, z, next_test_edge, *endScore); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + } while ((next_test_edge = bitscanforward(edges)) != -1); - } while (!map_element_is_last_for_tile(mapElement++)); + } while (!map_element_is_last_for_tile(mapElement++)); - if (!found) { - /* No map element could be found. - * Return without updating the parameters (best result so far). */ - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Returning from %d,%d,%d; No relevant map element found", counter, x >> 5, y >> 5, z); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - } else { - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_info("[%03d] Returning from %d,%d,%d; All map elements checked", counter, x >> 5, y >> 5, z); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - } + if (!found) { + /* No map element could be found. + * Return without updating the parameters (best result so far). */ + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Returning from %d,%d,%d; No relevant map element found", counter, x >> 5, y >> 5, z); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + } else { + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_info("[%03d] Returning from %d,%d,%d; All map elements checked", counter, x >> 5, y >> 5, z); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + } - return; + return; } /** @@ -9524,340 +9524,340 @@ static void peep_pathfind_heuristic_search(sint16 x, sint16 y, uint8 z, rct_peep */ sint32 peep_pathfind_choose_direction(sint16 x, sint16 y, uint8 z, rct_peep *peep) { - // The max number of thin junctions searched - a per-search-path limit. - _peepPathFindMaxJunctions = peep_pathfind_get_max_number_junctions(peep); + // The max number of thin junctions searched - a per-search-path limit. + _peepPathFindMaxJunctions = peep_pathfind_get_max_number_junctions(peep); - /* The max number of tiles to check - a whole-search limit. - * Mainly to limit the performance impact of the path finding. */ - sint32 maxTilesChecked = (peep->type == PEEP_TYPE_STAFF) ? 50000 : 15000; - // Used to allow walking through no entry banners - _peepPathFindIsStaff = (peep->type == PEEP_TYPE_STAFF); + /* The max number of tiles to check - a whole-search limit. + * Mainly to limit the performance impact of the path finding. */ + sint32 maxTilesChecked = (peep->type == PEEP_TYPE_STAFF) ? 50000 : 15000; + // Used to allow walking through no entry banners + _peepPathFindIsStaff = (peep->type == PEEP_TYPE_STAFF); - rct_xyz8 goal = { - .x = (uint8)(gPeepPathFindGoalPosition.x >> 5), - .y = (uint8)(gPeepPathFindGoalPosition.y >> 5), - .z = (uint8)(gPeepPathFindGoalPosition.z) - }; + rct_xyz8 goal = { + .x = (uint8)(gPeepPathFindGoalPosition.x >> 5), + .y = (uint8)(gPeepPathFindGoalPosition.y >> 5), + .z = (uint8)(gPeepPathFindGoalPosition.z) + }; - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_verbose("Choose direction for %s for goal %d,%d,%d from %d,%d,%d", gPathFindDebugPeepName, goal.x, goal.y, goal.z, x >> 5, y >> 5, z); - } - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_verbose("Choose direction for %s for goal %d,%d,%d from %d,%d,%d", gPathFindDebugPeepName, goal.x, goal.y, goal.z, x >> 5, y >> 5, z); + } + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - // Get the path element at this location - rct_map_element *dest_map_element = map_get_first_element_at(x / 32, y / 32); - /* Where there are multiple matching map elements placed with zero - * clearance, save the first one for later use to determine the path - * slope - this maintains the original behaviour (which only processes - * the first matching map element found) and is consistent with peep - * placement (i.e. height) on such paths with differing slopes. - * - * I cannot see a legitimate reason for building overlaid paths with - * differing slopes and do not recall ever seeing this in practise. - * Normal cases I have seen in practise are overlaid paths with the - * same slope (flat) in order to place scenery (e.g. benches) in the - * middle of a wide path that can still be walked through. - * Anyone attempting to overlay paths with different slopes should - * EXPECT to experience path finding irregularities due to those paths! - * In particular common edges at different heights will not work - * in a useful way. Simply do not do it! :-) */ - rct_map_element *first_map_element = NULL; + // Get the path element at this location + rct_map_element *dest_map_element = map_get_first_element_at(x / 32, y / 32); + /* Where there are multiple matching map elements placed with zero + * clearance, save the first one for later use to determine the path + * slope - this maintains the original behaviour (which only processes + * the first matching map element found) and is consistent with peep + * placement (i.e. height) on such paths with differing slopes. + * + * I cannot see a legitimate reason for building overlaid paths with + * differing slopes and do not recall ever seeing this in practise. + * Normal cases I have seen in practise are overlaid paths with the + * same slope (flat) in order to place scenery (e.g. benches) in the + * middle of a wide path that can still be walked through. + * Anyone attempting to overlay paths with different slopes should + * EXPECT to experience path finding irregularities due to those paths! + * In particular common edges at different heights will not work + * in a useful way. Simply do not do it! :-) */ + rct_map_element *first_map_element = NULL; - bool found = false; - uint8 permitted_edges = 0; - bool isThin = false; - do { - if (dest_map_element->base_height != z) continue; - if (map_element_get_type(dest_map_element) != MAP_ELEMENT_TYPE_PATH) continue; - found = true; - if (first_map_element == NULL) { - first_map_element = dest_map_element; - } + bool found = false; + uint8 permitted_edges = 0; + bool isThin = false; + do { + if (dest_map_element->base_height != z) continue; + if (map_element_get_type(dest_map_element) != MAP_ELEMENT_TYPE_PATH) continue; + found = true; + if (first_map_element == NULL) { + first_map_element = dest_map_element; + } - /* Check if this path element is a thin junction. - * Only 'thin' junctions are remembered in peep->pathfind_history. - * NO attempt is made to merge the overlaid path elements and - * check if the combination is 'thin'! - * The junction is considered 'thin' simply if any of the - * overlaid path elements there is a 'thin junction'. */ - isThin = isThin || path_is_thin_junction(dest_map_element, x, y, z); + /* Check if this path element is a thin junction. + * Only 'thin' junctions are remembered in peep->pathfind_history. + * NO attempt is made to merge the overlaid path elements and + * check if the combination is 'thin'! + * The junction is considered 'thin' simply if any of the + * overlaid path elements there is a 'thin junction'. */ + isThin = isThin || path_is_thin_junction(dest_map_element, x, y, z); - // Collect the permitted edges of ALL matching path elements at this location. - permitted_edges |= path_get_permitted_edges(dest_map_element); - } while (!map_element_is_last_for_tile(dest_map_element++)); - // Peep is not on a path. - if (!found) return -1; + // Collect the permitted edges of ALL matching path elements at this location. + permitted_edges |= path_get_permitted_edges(dest_map_element); + } while (!map_element_is_last_for_tile(dest_map_element++)); + // Peep is not on a path. + if (!found) return -1; - permitted_edges &= 0xF; - uint8 edges = permitted_edges; - if (isThin && peep->pathfind_goal.x == goal.x && - peep->pathfind_goal.y == goal.y && - peep->pathfind_goal.z == goal.z - ) { - /* Use of peep->pathfind_history[]: - * When walking to a goal, the peep pathfind_history stores - * the last 4 thin junctions that the peep walked through. - * For each of these 4 thin junctions the peep remembers - * those edges it has not yet taken. + permitted_edges &= 0xF; + uint8 edges = permitted_edges; + if (isThin && peep->pathfind_goal.x == goal.x && + peep->pathfind_goal.y == goal.y && + peep->pathfind_goal.z == goal.z + ) { + /* Use of peep->pathfind_history[]: + * When walking to a goal, the peep pathfind_history stores + * the last 4 thin junctions that the peep walked through. + * For each of these 4 thin junctions the peep remembers + * those edges it has not yet taken. * If a peep returns to one of the 4 thin junctions that it - * remembers, it will only choose from the directions that it - * did not try yet. - * This forces to the peep pathfinding to try the "next best" - * direction after trying the "best" direction(s) and finding - * that the goal could not be reached. */ + * remembers, it will only choose from the directions that it + * did not try yet. + * This forces to the peep pathfinding to try the "next best" + * direction after trying the "best" direction(s) and finding + * that the goal could not be reached. */ - /* If the peep remembers walking through this junction - * previously while heading for its goal, retrieve the - * directions it has not yet tried. */ - for (sint32 i = 0; i < 4; ++i) { - if (peep->pathfind_history[i].x == x / 32 && - peep->pathfind_history[i].y == y / 32 && - peep->pathfind_history[i].z == z) { + /* If the peep remembers walking through this junction + * previously while heading for its goal, retrieve the + * directions it has not yet tried. */ + for (sint32 i = 0; i < 4; ++i) { + if (peep->pathfind_history[i].x == x / 32 && + peep->pathfind_history[i].y == y / 32 && + peep->pathfind_history[i].z == z) { - /* Fix broken pathfind_history[i].direction - * which have untried directions that are not - * currently possible - could be due to pathing - * changes or in earlier code .directions was - * initialised to 0xF rather than the permitted - * edges. */ - peep->pathfind_history[i].direction &= permitted_edges; + /* Fix broken pathfind_history[i].direction + * which have untried directions that are not + * currently possible - could be due to pathing + * changes or in earlier code .directions was + * initialised to 0xF rather than the permitted + * edges. */ + peep->pathfind_history[i].direction &= permitted_edges; - edges = peep->pathfind_history[i].direction; + edges = peep->pathfind_history[i].direction; - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_verbose("Getting untried edges from pf_history for %d,%d,%d: %s,%s,%s,%s", x >> 5, y >> 5, z, (edges & 1) ? "0" : "-", (edges & 2) ? "1" : "-", (edges & 4) ? "2" : "-", (edges & 8) ? "3" : "-"); - } - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_verbose("Getting untried edges from pf_history for %d,%d,%d: %s,%s,%s,%s", x >> 5, y >> 5, z, (edges & 1) ? "0" : "-", (edges & 2) ? "1" : "-", (edges & 4) ? "2" : "-", (edges & 8) ? "3" : "-"); + } + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (edges == 0) { - /* If peep has tried all edges, reset to - * all edges are untried. - * This permits the pathfinding to try - * again, which is good for getting - * unstuck when the player has edited - * the paths or the pathfinding itself - * has changed (been fixed) since - * the game was saved. */ - peep->pathfind_history[i].direction = permitted_edges; - edges = peep->pathfind_history[i].direction; + if (edges == 0) { + /* If peep has tried all edges, reset to + * all edges are untried. + * This permits the pathfinding to try + * again, which is good for getting + * unstuck when the player has edited + * the paths or the pathfinding itself + * has changed (been fixed) since + * the game was saved. */ + peep->pathfind_history[i].direction = permitted_edges; + edges = peep->pathfind_history[i].direction; - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_verbose("All edges tried for %d,%d,%d - resetting to all untried", x >> 5, y >> 5, z); - } - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - } - break; - } - } - } + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_verbose("All edges tried for %d,%d,%d - resetting to all untried", x >> 5, y >> 5, z); + } + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + } + break; + } + } + } - /* If this is a new goal for the peep. Store it and reset the peep's - * pathfind_history. */ - if (peep->pathfind_goal.direction > 3 || - peep->pathfind_goal.x != goal.x || - peep->pathfind_goal.y != goal.y || - peep->pathfind_goal.z != goal.z - ) { - peep->pathfind_goal.x = goal.x; - peep->pathfind_goal.y = goal.y; - peep->pathfind_goal.z = goal.z; - peep->pathfind_goal.direction = 0; + /* If this is a new goal for the peep. Store it and reset the peep's + * pathfind_history. */ + if (peep->pathfind_goal.direction > 3 || + peep->pathfind_goal.x != goal.x || + peep->pathfind_goal.y != goal.y || + peep->pathfind_goal.z != goal.z + ) { + peep->pathfind_goal.x = goal.x; + peep->pathfind_goal.y = goal.y; + peep->pathfind_goal.z = goal.z; + peep->pathfind_goal.direction = 0; - // Clear pathfinding history - memset(peep->pathfind_history, 0xFF, sizeof(peep->pathfind_history)); - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_verbose("New goal; clearing pf_history."); - } - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - } + // Clear pathfinding history + memset(peep->pathfind_history, 0xFF, sizeof(peep->pathfind_history)); + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_verbose("New goal; clearing pf_history."); + } + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + } - // Peep has tried all edges. - if (edges == 0) return -1; + // Peep has tried all edges. + if (edges == 0) return -1; - sint32 chosen_edge = bitscanforward(edges); + sint32 chosen_edge = bitscanforward(edges); - // Peep has multiple edges still to try. - if (edges & ~(1 << chosen_edge)) { - uint16 best_score = 0xFFFF; - uint8 best_sub = 0xFF; + // Peep has multiple edges still to try. + if (edges & ~(1 << chosen_edge)) { + uint16 best_score = 0xFFFF; + uint8 best_sub = 0xFF; - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - uint8 bestJunctions = 0; - rct_xyz8 bestJunctionList[16] = { 0 }; - uint8 bestDirectionList[16] = { 0 }; - rct_xyz8 bestXYZ = { 0, 0, 0 }; + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + uint8 bestJunctions = 0; + rct_xyz8 bestJunctionList[16] = { 0 }; + uint8 bestDirectionList[16] = { 0 }; + rct_xyz8 bestXYZ = { 0, 0, 0 }; - if (gPathFindDebug) { - log_verbose("Pathfind start for goal %d,%d,%d from %d,%d,%d", goal.x, goal.y, goal.z, x >> 5, y >> 5, z); - } - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_verbose("Pathfind start for goal %d,%d,%d from %d,%d,%d", goal.x, goal.y, goal.z, x >> 5, y >> 5, z); + } + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - /* Call the search heuristic on each edge, keeping track of the - * edge that gives the best (i.e. smallest) value (best_score) - * or for different edges with equal value, the edge with the - * least steps (best_sub). */ - sint32 numEdges = bitcount(edges); - for (sint32 test_edge = chosen_edge; test_edge != -1; test_edge = bitscanforward(edges)) { - edges &= ~(1 << test_edge); - uint8 height = z; + /* Call the search heuristic on each edge, keeping track of the + * edge that gives the best (i.e. smallest) value (best_score) + * or for different edges with equal value, the edge with the + * least steps (best_sub). */ + sint32 numEdges = bitcount(edges); + for (sint32 test_edge = chosen_edge; test_edge != -1; test_edge = bitscanforward(edges)) { + edges &= ~(1 << test_edge); + uint8 height = z; - if (footpath_element_is_sloped(first_map_element) && - footpath_element_get_slope_direction(first_map_element) == test_edge - ) { - height += 0x2; - } + if (footpath_element_is_sloped(first_map_element) && + footpath_element_get_slope_direction(first_map_element) == test_edge + ) { + height += 0x2; + } - _peepPathFindFewestNumSteps = 255; - /* Divide the maxTilesChecked global search limit - * between the remaining edges to ensure the search - * covers all of the remaining edges. */ - _peepPathFindTilesChecked = maxTilesChecked / numEdges; - _peepPathFindNumJunctions = _peepPathFindMaxJunctions; + _peepPathFindFewestNumSteps = 255; + /* Divide the maxTilesChecked global search limit + * between the remaining edges to ensure the search + * covers all of the remaining edges. */ + _peepPathFindTilesChecked = maxTilesChecked / numEdges; + _peepPathFindNumJunctions = _peepPathFindMaxJunctions; - // Initialise _peepPathFindHistory. - memset(_peepPathFindHistory, 0xFF, sizeof(_peepPathFindHistory)); + // Initialise _peepPathFindHistory. + memset(_peepPathFindHistory, 0xFF, sizeof(_peepPathFindHistory)); - /* The pathfinding will only use elements - * 1.._peepPathFindMaxJunctions, so the starting point - * is placed in element 0 */ - _peepPathFindHistory[0].location.x = (uint8)(x >> 5); - _peepPathFindHistory[0].location.y = (uint8)(y >> 5); - _peepPathFindHistory[0].location.z = (uint8)z; - _peepPathFindHistory[0].direction = 0xF; + /* The pathfinding will only use elements + * 1.._peepPathFindMaxJunctions, so the starting point + * is placed in element 0 */ + _peepPathFindHistory[0].location.x = (uint8)(x >> 5); + _peepPathFindHistory[0].location.y = (uint8)(y >> 5); + _peepPathFindHistory[0].location.z = (uint8)z; + _peepPathFindHistory[0].direction = 0xF; - uint16 score = 0xFFFF; - /* Variable endXYZ contains the end location of the - * search path. */ - rct_xyz8 endXYZ; - endXYZ.x = 0; - endXYZ.y = 0; - endXYZ.z = 0; + uint16 score = 0xFFFF; + /* Variable endXYZ contains the end location of the + * search path. */ + rct_xyz8 endXYZ; + endXYZ.x = 0; + endXYZ.y = 0; + endXYZ.z = 0; - uint8 endSteps = 255; + uint8 endSteps = 255; - /* Variable endJunctions is the number of junctions - * passed through in the search path. - * Variables endJunctionList and endDirectionList - * contain the junctions and corresponding directions - * of the search path. - * In the future these could be used to visualise the - * pathfinding on the map. */ - uint8 endJunctions = 0; - rct_xyz8 endJunctionList[16] = { 0 }; - uint8 endDirectionList[16] = { 0 }; + /* Variable endJunctions is the number of junctions + * passed through in the search path. + * Variables endJunctionList and endDirectionList + * contain the junctions and corresponding directions + * of the search path. + * In the future these could be used to visualise the + * pathfinding on the map. */ + uint8 endJunctions = 0; + rct_xyz8 endJunctionList[16] = { 0 }; + uint8 endDirectionList[16] = { 0 }; - bool inPatrolArea = false; - if (peep->type == PEEP_TYPE_STAFF && peep->staff_type == STAFF_TYPE_MECHANIC) { - /* Mechanics are the only staff type that - * pathfind to a destination. Determine if the - * mechanic is in their patrol area. */ - inPatrolArea = staff_is_location_in_patrol(peep, peep->next_x, peep->next_y); - } + bool inPatrolArea = false; + if (peep->type == PEEP_TYPE_STAFF && peep->staff_type == STAFF_TYPE_MECHANIC) { + /* Mechanics are the only staff type that + * pathfind to a destination. Determine if the + * mechanic is in their patrol area. */ + inPatrolArea = staff_is_location_in_patrol(peep, peep->next_x, peep->next_y); + } - #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - if (gPathFindDebug) { - log_verbose("Pathfind searching in direction: %d from %d,%d,%d", test_edge, x >> 5, y >> 5, z); - } - #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 + if (gPathFindDebug) { + log_verbose("Pathfind searching in direction: %d from %d,%d,%d", test_edge, x >> 5, y >> 5, z); + } + #endif // defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 - peep_pathfind_heuristic_search(x, y, height, peep, first_map_element, inPatrolArea, 0, &score, test_edge, &endJunctions, endJunctionList, endDirectionList, &endXYZ, &endSteps); + peep_pathfind_heuristic_search(x, y, height, peep, first_map_element, inPatrolArea, 0, &score, test_edge, &endJunctions, endJunctionList, endDirectionList, &endXYZ, &endSteps); - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_verbose("Pathfind test edge: %d score: %d steps: %d end: %d,%d,%d junctions: %d", test_edge, score, endSteps, endXYZ.x, endXYZ.y, endXYZ.z, endJunctions); - for (uint8 listIdx = 0; listIdx < endJunctions; listIdx++) { - log_info("Junction#%d %d,%d,%d Direction %d", listIdx + 1, endJunctionList[listIdx].x, endJunctionList[listIdx].y, endJunctionList[listIdx].z, endDirectionList[listIdx]); - } - } - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_verbose("Pathfind test edge: %d score: %d steps: %d end: %d,%d,%d junctions: %d", test_edge, score, endSteps, endXYZ.x, endXYZ.y, endXYZ.z, endJunctions); + for (uint8 listIdx = 0; listIdx < endJunctions; listIdx++) { + log_info("Junction#%d %d,%d,%d Direction %d", listIdx + 1, endJunctionList[listIdx].x, endJunctionList[listIdx].y, endJunctionList[listIdx].z, endDirectionList[listIdx]); + } + } + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (score < best_score || (score == best_score && endSteps < best_sub)) { - chosen_edge = test_edge; - best_score = score; - best_sub = endSteps; - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - bestJunctions = endJunctions; - for (uint8 index = 0; index < endJunctions; index++) { - bestJunctionList[index].x = endJunctionList[index].x; - bestJunctionList[index].y = endJunctionList[index].y; - bestJunctionList[index].z = endJunctionList[index].z; - bestDirectionList[index] = endDirectionList[index]; - } - bestXYZ.x = endXYZ.x; - bestXYZ.y = endXYZ.y; - bestXYZ.z = endXYZ.z; - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - } - } + if (score < best_score || (score == best_score && endSteps < best_sub)) { + chosen_edge = test_edge; + best_score = score; + best_sub = endSteps; + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + bestJunctions = endJunctions; + for (uint8 index = 0; index < endJunctions; index++) { + bestJunctionList[index].x = endJunctionList[index].x; + bestJunctionList[index].y = endJunctionList[index].y; + bestJunctionList[index].z = endJunctionList[index].z; + bestDirectionList[index] = endDirectionList[index]; + } + bestXYZ.x = endXYZ.x; + bestXYZ.y = endXYZ.y; + bestXYZ.z = endXYZ.z; + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + } + } - /* Check if the heuristic search failed. e.g. all connected - * paths are within the search limits and none reaches the - * goal. */ - if (best_score == 0xFFFF) { - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_verbose("Pathfind heuristic search failed."); - } - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - return -1; - } - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_verbose("Pathfind best edge %d with score %d steps %d", chosen_edge, best_score, best_sub); - for (uint8 listIdx = 0; listIdx < bestJunctions; listIdx++) { - log_verbose("Junction#%d %d,%d,%d Direction %d", listIdx + 1, bestJunctionList[listIdx].x, bestJunctionList[listIdx].y, bestJunctionList[listIdx].z, bestDirectionList[listIdx]); - } - log_verbose("End at %d,%d,%d", bestXYZ.x, bestXYZ.y, bestXYZ.z); - } - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - } + /* Check if the heuristic search failed. e.g. all connected + * paths are within the search limits and none reaches the + * goal. */ + if (best_score == 0xFFFF) { + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_verbose("Pathfind heuristic search failed."); + } + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + return -1; + } + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_verbose("Pathfind best edge %d with score %d steps %d", chosen_edge, best_score, best_sub); + for (uint8 listIdx = 0; listIdx < bestJunctions; listIdx++) { + log_verbose("Junction#%d %d,%d,%d Direction %d", listIdx + 1, bestJunctionList[listIdx].x, bestJunctionList[listIdx].y, bestJunctionList[listIdx].z, bestDirectionList[listIdx]); + } + log_verbose("End at %d,%d,%d", bestXYZ.x, bestXYZ.y, bestXYZ.z); + } + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + } - if (isThin) { - for (sint32 i = 0; i < 4; ++i) { - if (peep->pathfind_history[i].x == x >> 5 && - peep->pathfind_history[i].y == y >> 5 && - peep->pathfind_history[i].z == z - ) { - /* Peep remembers this junction, so remove the - * chosen_edge from those left to try. */ - peep->pathfind_history[i].direction &= ~(1 << chosen_edge); - /* Also remove the edge through which the peep - * entered the junction from those left to try. */ - peep->pathfind_history[i].direction &= ~(1 << (peep->direction ^ 2)); - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_verbose("Updating existing pf_history (in index: %d) for %d,%d,%d without entry edge %d & exit edge %d.", i, x >> 5, y >> 5, z, peep->direction ^ 2, chosen_edge); - } - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - return chosen_edge; - } - } + if (isThin) { + for (sint32 i = 0; i < 4; ++i) { + if (peep->pathfind_history[i].x == x >> 5 && + peep->pathfind_history[i].y == y >> 5 && + peep->pathfind_history[i].z == z + ) { + /* Peep remembers this junction, so remove the + * chosen_edge from those left to try. */ + peep->pathfind_history[i].direction &= ~(1 << chosen_edge); + /* Also remove the edge through which the peep + * entered the junction from those left to try. */ + peep->pathfind_history[i].direction &= ~(1 << (peep->direction ^ 2)); + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_verbose("Updating existing pf_history (in index: %d) for %d,%d,%d without entry edge %d & exit edge %d.", i, x >> 5, y >> 5, z, peep->direction ^ 2, chosen_edge); + } + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + return chosen_edge; + } + } - /* Peep does not remember this junction, so forget a junction - * and remember this junction. */ - sint32 i = peep->pathfind_goal.direction++; - peep->pathfind_goal.direction &= 3; - peep->pathfind_history[i].x = x >> 5; - peep->pathfind_history[i].y = y >> 5; - peep->pathfind_history[i].z = z; - peep->pathfind_history[i].direction = permitted_edges; - /* Remove the chosen_edge from those left to try. */ - peep->pathfind_history[i].direction &= ~(1 << chosen_edge); - /* Also remove the edge through which the peep - * entered the junction from those left to try. */ - peep->pathfind_history[i].direction &= ~(1 << (peep->direction ^ 2)); - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_verbose("Storing new pf_history (in index: %d) for %d,%d,%d without entry edge %d & exit edge %d.", i, x >> 5, y >> 5, z, peep->direction ^ 2, chosen_edge); - } - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - } + /* Peep does not remember this junction, so forget a junction + * and remember this junction. */ + sint32 i = peep->pathfind_goal.direction++; + peep->pathfind_goal.direction &= 3; + peep->pathfind_history[i].x = x >> 5; + peep->pathfind_history[i].y = y >> 5; + peep->pathfind_history[i].z = z; + peep->pathfind_history[i].direction = permitted_edges; + /* Remove the chosen_edge from those left to try. */ + peep->pathfind_history[i].direction &= ~(1 << chosen_edge); + /* Also remove the edge through which the peep + * entered the junction from those left to try. */ + peep->pathfind_history[i].direction &= ~(1 << (peep->direction ^ 2)); + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_verbose("Storing new pf_history (in index: %d) for %d,%d,%d without entry edge %d & exit edge %d.", i, x >> 5, y >> 5, z, peep->direction ^ 2, chosen_edge); + } + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + } - return chosen_edge; + return chosen_edge; } /** @@ -9868,21 +9868,21 @@ sint32 peep_pathfind_choose_direction(sint16 x, sint16 y, uint8 z, rct_peep *pee */ static uint8 get_nearest_park_entrance_index(uint16 x, uint16 y) { - uint8 chosenEntrance = 0xFF; - uint16 nearestDist = 0xFFFF; - for (uint8 i = 0; i < MAX_PARK_ENTRANCES; i++) { - if (gParkEntrances[i].x == MAP_LOCATION_NULL) - continue; + uint8 chosenEntrance = 0xFF; + uint16 nearestDist = 0xFFFF; + for (uint8 i = 0; i < MAX_PARK_ENTRANCES; i++) { + if (gParkEntrances[i].x == MAP_LOCATION_NULL) + continue; - uint16 dist = abs(gParkEntrances[i].x - x) + abs(gParkEntrances[i].y - y); + uint16 dist = abs(gParkEntrances[i].x - x) + abs(gParkEntrances[i].y - y); - if (dist >= nearestDist) - continue; + if (dist >= nearestDist) + continue; - nearestDist = dist; - chosenEntrance = i; - } - return chosenEntrance; + nearestDist = dist; + chosenEntrance = i; + } + return chosenEntrance; } /** @@ -9891,27 +9891,27 @@ static uint8 get_nearest_park_entrance_index(uint16 x, uint16 y) */ static sint32 guest_path_find_entering_park(rct_peep *peep, rct_map_element *map_element, uint8 edges) { - // Send peeps to the nearest park entrance. - uint8 chosenEntrance = get_nearest_park_entrance_index(peep->next_x, peep->next_y); + // Send peeps to the nearest park entrance. + uint8 chosenEntrance = get_nearest_park_entrance_index(peep->next_x, peep->next_y); - // If no defined park entrances are found, walk aimlessly. - if (chosenEntrance == 0xFF) - return guest_path_find_aimless(peep, edges); + // If no defined park entrances are found, walk aimlessly. + if (chosenEntrance == 0xFF) + return guest_path_find_aimless(peep, edges); - sint16 x = gParkEntrances[chosenEntrance].x; - sint16 y = gParkEntrances[chosenEntrance].y; - sint16 z = gParkEntrances[chosenEntrance].z; + sint16 x = gParkEntrances[chosenEntrance].x; + sint16 y = gParkEntrances[chosenEntrance].y; + sint16 z = gParkEntrances[chosenEntrance].z; - gPeepPathFindGoalPosition = (rct_xyz16){ x, y, z >> 3 }; - gPeepPathFindIgnoreForeignQueues = true; - gPeepPathFindQueueRideIndex = 255; + gPeepPathFindGoalPosition = (rct_xyz16){ x, y, z >> 3 }; + gPeepPathFindIgnoreForeignQueues = true; + gPeepPathFindQueueRideIndex = 255; - sint32 chosenDirection = peep_pathfind_choose_direction(peep->next_x, peep->next_y, peep->next_z, peep); + sint32 chosenDirection = peep_pathfind_choose_direction(peep->next_x, peep->next_y, peep->next_z, peep); - if (chosenDirection == -1) - return guest_path_find_aimless(peep, edges); - else - return peep_move_one_tile(chosenDirection, peep); + if (chosenDirection == -1) + return guest_path_find_aimless(peep, edges); + else + return peep_move_one_tile(chosenDirection, peep); } /** @@ -9922,21 +9922,21 @@ static sint32 guest_path_find_entering_park(rct_peep *peep, rct_map_element *map */ static uint8 get_nearest_peep_spawn_index(uint16 x, uint16 y) { - uint8 chosenSpawn = 0xFF; - uint16 nearestDist = 0xFFFF; - for (uint8 i = 0; i < MAX_PEEP_SPAWNS; ++i) { - if (gPeepSpawns[i].x == PEEP_SPAWN_UNDEFINED) - continue; + uint8 chosenSpawn = 0xFF; + uint16 nearestDist = 0xFFFF; + for (uint8 i = 0; i < MAX_PEEP_SPAWNS; ++i) { + if (gPeepSpawns[i].x == PEEP_SPAWN_UNDEFINED) + continue; - uint16 dist = abs(gPeepSpawns[i].x - x) + abs(gPeepSpawns[i].y - y); + uint16 dist = abs(gPeepSpawns[i].x - x) + abs(gPeepSpawns[i].y - y); - if (dist >= nearestDist) - continue; + if (dist >= nearestDist) + continue; - nearestDist = dist; - chosenSpawn = i; - } - return chosenSpawn; + nearestDist = dist; + chosenSpawn = i; + } + return chosenSpawn; } /** @@ -9944,32 +9944,32 @@ static uint8 get_nearest_peep_spawn_index(uint16 x, uint16 y) * rct2: 0x0069536C */ static sint32 guest_path_find_leaving_park(rct_peep *peep, rct_map_element *map_element, uint8 edges){ - // Send peeps to the nearest spawn point. - uint8 chosenSpawn = get_nearest_peep_spawn_index(peep->next_x, peep->next_y); + // Send peeps to the nearest spawn point. + uint8 chosenSpawn = get_nearest_peep_spawn_index(peep->next_x, peep->next_y); - // If no defined spawns were found, walk aimlessly. - if (chosenSpawn == 0xFF) - return guest_path_find_aimless(peep, edges); + // If no defined spawns were found, walk aimlessly. + if (chosenSpawn == 0xFF) + return guest_path_find_aimless(peep, edges); - rct2_peep_spawn* peepSpawn = &gPeepSpawns[chosenSpawn]; + rct2_peep_spawn* peepSpawn = &gPeepSpawns[chosenSpawn]; - sint16 x = peepSpawn->x & 0xFFE0; - sint16 y = peepSpawn->y & 0xFFE0; - uint8 z = peepSpawn->z * 2; - uint8 direction = peepSpawn->direction; + sint16 x = peepSpawn->x & 0xFFE0; + sint16 y = peepSpawn->y & 0xFFE0; + uint8 z = peepSpawn->z * 2; + uint8 direction = peepSpawn->direction; - gPeepPathFindGoalPosition = (rct_xyz16){ x, y, z }; - if (x == peep->next_x && y == peep->next_y){ - return peep_move_one_tile(direction, peep); - } + gPeepPathFindGoalPosition = (rct_xyz16){ x, y, z }; + if (x == peep->next_x && y == peep->next_y){ + return peep_move_one_tile(direction, peep); + } - gPeepPathFindIgnoreForeignQueues = true; - gPeepPathFindQueueRideIndex = 255; - direction = peep_pathfind_choose_direction(peep->next_x, peep->next_y, peep->next_z, peep); - if (direction == 0xFF) - return guest_path_find_aimless(peep, edges); - else - return peep_move_one_tile(direction, peep); + gPeepPathFindIgnoreForeignQueues = true; + gPeepPathFindQueueRideIndex = 255; + direction = peep_pathfind_choose_direction(peep->next_x, peep->next_y, peep->next_z, peep); + if (direction == 0xFF) + return guest_path_find_aimless(peep, edges); + else + return peep_move_one_tile(direction, peep); } /** @@ -9977,62 +9977,62 @@ static sint32 guest_path_find_leaving_park(rct_peep *peep, rct_map_element *map_ * rct2: 0x00695161 */ static sint32 guest_path_find_park_entrance(rct_peep* peep, rct_map_element *map_element, uint8 edges){ - uint8 entranceNum; + uint8 entranceNum; - // Resolves already-corrupt guests (e.g. loaded from save) - if (peep->peep_flags & PEEP_FLAGS_PARK_ENTRANCE_CHOSEN && - (peep->current_ride >= 4 || gParkEntrances[peep->current_ride].x == MAP_LOCATION_NULL) - ) { - peep->peep_flags &= ~(PEEP_FLAGS_PARK_ENTRANCE_CHOSEN); - } + // Resolves already-corrupt guests (e.g. loaded from save) + if (peep->peep_flags & PEEP_FLAGS_PARK_ENTRANCE_CHOSEN && + (peep->current_ride >= 4 || gParkEntrances[peep->current_ride].x == MAP_LOCATION_NULL) + ) { + peep->peep_flags &= ~(PEEP_FLAGS_PARK_ENTRANCE_CHOSEN); + } - if (!(peep->peep_flags & PEEP_FLAGS_PARK_ENTRANCE_CHOSEN)){ - uint8 chosenEntrance = 0xFF; - uint16 nearestDist = 0xFFFF; - for (entranceNum = 0; entranceNum < MAX_PARK_ENTRANCES; ++entranceNum){ - if (gParkEntrances[entranceNum].x == MAP_LOCATION_NULL) - continue; + if (!(peep->peep_flags & PEEP_FLAGS_PARK_ENTRANCE_CHOSEN)){ + uint8 chosenEntrance = 0xFF; + uint16 nearestDist = 0xFFFF; + for (entranceNum = 0; entranceNum < MAX_PARK_ENTRANCES; ++entranceNum){ + if (gParkEntrances[entranceNum].x == MAP_LOCATION_NULL) + continue; - uint16 dist = abs(gParkEntrances[entranceNum].x - peep->next_x) + - abs(gParkEntrances[entranceNum].y - peep->next_y); + uint16 dist = abs(gParkEntrances[entranceNum].x - peep->next_x) + + abs(gParkEntrances[entranceNum].y - peep->next_y); - if (dist >= nearestDist) - continue; + if (dist >= nearestDist) + continue; - nearestDist = dist; - chosenEntrance = entranceNum; - } + nearestDist = dist; + chosenEntrance = entranceNum; + } - if (chosenEntrance == 0xFF) - return guest_path_find_aimless(peep, edges); + if (chosenEntrance == 0xFF) + return guest_path_find_aimless(peep, edges); - peep->current_ride = chosenEntrance; - peep->peep_flags |= PEEP_FLAGS_PARK_ENTRANCE_CHOSEN; - } + peep->current_ride = chosenEntrance; + peep->peep_flags |= PEEP_FLAGS_PARK_ENTRANCE_CHOSEN; + } - entranceNum = peep->current_ride; - sint16 x = gParkEntrances[entranceNum].x; - sint16 y = gParkEntrances[entranceNum].y; - sint16 z = gParkEntrances[entranceNum].z; + entranceNum = peep->current_ride; + sint16 x = gParkEntrances[entranceNum].x; + sint16 y = gParkEntrances[entranceNum].y; + sint16 z = gParkEntrances[entranceNum].z; - gPeepPathFindGoalPosition = (rct_xyz16) { x, y, z >> 3 }; - gPeepPathFindIgnoreForeignQueues = true; - gPeepPathFindQueueRideIndex = 255; + gPeepPathFindGoalPosition = (rct_xyz16) { x, y, z >> 3 }; + gPeepPathFindIgnoreForeignQueues = true; + gPeepPathFindQueueRideIndex = 255; - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - pathfind_logging_enable(peep); - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + pathfind_logging_enable(peep); + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - sint32 chosenDirection = peep_pathfind_choose_direction(peep->next_x, peep->next_y, peep->next_z, peep); + sint32 chosenDirection = peep_pathfind_choose_direction(peep->next_x, peep->next_y, peep->next_z, peep); - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - pathfind_logging_disable(); - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + pathfind_logging_disable(); + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (chosenDirection == -1) - return guest_path_find_aimless(peep, edges); - else - return peep_move_one_tile(chosenDirection, peep); + if (chosenDirection == -1) + return guest_path_find_aimless(peep, edges); + else + return peep_move_one_tile(chosenDirection, peep); } /** @@ -10044,125 +10044,125 @@ static sint32 guest_path_find_park_entrance(rct_peep* peep, rct_map_element *map * or queue leading to it the function will not update its arguments. */ static void get_ride_queue_end(sint16 *x, sint16 *y, sint16 *z){ - rct_xy16 result = { 0, 0 }; - rct_map_element *mapElement = map_get_first_element_at(*x / 32, *y / 32); + rct_xy16 result = { 0, 0 }; + rct_map_element *mapElement = map_get_first_element_at(*x / 32, *y / 32); - if (mapElement == NULL) { - return; - } + if (mapElement == NULL) { + return; + } - bool found = false; - do{ - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) - continue; + bool found = false; + do{ + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) + continue; - if (*z != mapElement->base_height) - continue; + if (*z != mapElement->base_height) + continue; - found = true; - break; - } while (!map_element_is_last_for_tile(mapElement++)); + found = true; + break; + } while (!map_element_is_last_for_tile(mapElement++)); - if (!found) - return; + if (!found) + return; - uint8 direction = (mapElement->type & 3) ^ (1 << 1); - rct_map_element* lastPathElement = NULL; - rct_map_element* firstPathElement = NULL; + uint8 direction = (mapElement->type & 3) ^ (1 << 1); + rct_map_element* lastPathElement = NULL; + rct_map_element* firstPathElement = NULL; - sint16 baseZ = mapElement->base_height; - sint16 nextX = *x; - sint16 nextY = *y; - while (1){ - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH){ - lastPathElement = mapElement; - result.x = nextX; - result.y = nextY; - // result.direction = direction; - if (footpath_element_is_sloped(mapElement)){ - if (footpath_element_get_slope_direction(mapElement) == direction){ - baseZ += 2; - } - } - } - nextX += TileDirectionDelta[direction].x; - nextY += TileDirectionDelta[direction].y; + sint16 baseZ = mapElement->base_height; + sint16 nextX = *x; + sint16 nextY = *y; + while (1){ + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH){ + lastPathElement = mapElement; + result.x = nextX; + result.y = nextY; + // result.direction = direction; + if (footpath_element_is_sloped(mapElement)){ + if (footpath_element_get_slope_direction(mapElement) == direction){ + baseZ += 2; + } + } + } + nextX += TileDirectionDelta[direction].x; + nextY += TileDirectionDelta[direction].y; - mapElement = map_get_first_element_at(nextX / 32, nextY / 32); - found = false; - do{ - if (mapElement == firstPathElement) - continue; + mapElement = map_get_first_element_at(nextX / 32, nextY / 32); + found = false; + do{ + if (mapElement == firstPathElement) + continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; - if (baseZ == mapElement->base_height){ - if (footpath_element_is_sloped(mapElement)){ - if (footpath_element_get_slope_direction(mapElement) != direction){ - break; - } - } - found = true; - break; - } + if (baseZ == mapElement->base_height){ + if (footpath_element_is_sloped(mapElement)){ + if (footpath_element_get_slope_direction(mapElement) != direction){ + break; + } + } + found = true; + break; + } - if (baseZ - 2 == mapElement->base_height){ - if (!footpath_element_is_sloped(mapElement)) - break; + if (baseZ - 2 == mapElement->base_height){ + if (!footpath_element_is_sloped(mapElement)) + break; - if (footpath_element_get_slope_direction(mapElement) != (direction ^ 2)) - break; + if (footpath_element_get_slope_direction(mapElement) != (direction ^ 2)) + break; - baseZ -= 2; - found = true; - break; - } - } while (!map_element_is_last_for_tile(mapElement++)); + baseZ -= 2; + found = true; + break; + } + } while (!map_element_is_last_for_tile(mapElement++)); - if (found == false) - break; + if (found == false) + break; - if (!footpath_element_is_queue(mapElement)) - break; + if (!footpath_element_is_queue(mapElement)) + break; - if (!(mapElement->properties.path.edges & (1 << (direction ^ (1 << 1))))) - break; + if (!(mapElement->properties.path.edges & (1 << (direction ^ (1 << 1))))) + break; - if (firstPathElement == NULL) - firstPathElement = mapElement; + if (firstPathElement == NULL) + firstPathElement = mapElement; - // More queue to go. - if (mapElement->properties.path.edges & (1 << (direction))) - continue; + // More queue to go. + if (mapElement->properties.path.edges & (1 << (direction))) + continue; - direction++; - direction &= 3; - // More queue to go. - if (mapElement->properties.path.edges & (1 << (direction))) - continue; + direction++; + direction &= 3; + // More queue to go. + if (mapElement->properties.path.edges & (1 << (direction))) + continue; - direction ^= (1 << 1); - // More queue to go. - if (mapElement->properties.path.edges & (1 << (direction))) - continue; + direction ^= (1 << 1); + // More queue to go. + if (mapElement->properties.path.edges & (1 << (direction))) + continue; - break; - } + break; + } - if ((uint8)*z == 0xFF) - return; + if ((uint8)*z == 0xFF) + return; - mapElement = lastPathElement; - if (mapElement == NULL) - return; + mapElement = lastPathElement; + if (mapElement == NULL) + return; - if (!footpath_element_is_queue(mapElement)) - return; + if (!footpath_element_is_queue(mapElement)) + return; - *x = result.x; - *y = result.y; - *z = mapElement->base_height; + *x = result.x; + *y = result.y; + *z = mapElement->base_height; } /** @@ -10171,274 +10171,274 @@ static void get_ride_queue_end(sint16 *x, sint16 *y, sint16 *z){ */ static sint32 guest_path_finding(rct_peep* peep) { - sint16 x, y, z; + sint16 x, y, z; - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - pathfind_logging_enable(peep); - if (gPathFindDebug) { - log_info("Starting guest_path_finding for %s", gPathFindDebugPeepName); - } - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + pathfind_logging_enable(peep); + if (gPathFindDebug) { + log_info("Starting guest_path_finding for %s", gPathFindDebugPeepName); + } + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (peep->next_var_29 & 0x18) { - return guest_surface_path_finding(peep); - } + if (peep->next_var_29 & 0x18) { + return guest_surface_path_finding(peep); + } - x = peep->next_x; - y = peep->next_y; - z = peep->next_z; + x = peep->next_x; + y = peep->next_y; + z = peep->next_z; - rct_map_element *mapElement = map_get_path_element_at(x / 32, y / 32, z); - if (mapElement == NULL) { - return 1; - } + rct_map_element *mapElement = map_get_path_element_at(x / 32, y / 32, z); + if (mapElement == NULL) { + return 1; + } - _peepPathFindIsStaff = false; - uint8 edges = path_get_permitted_edges(mapElement); + _peepPathFindIsStaff = false; + uint8 edges = path_get_permitted_edges(mapElement); - if (edges == 0) { - return guest_surface_path_finding(peep); - } + if (edges == 0) { + return guest_surface_path_finding(peep); + } - if (peep->outside_of_park == 0 && peep_heading_for_ride_or_park_exit(peep)) { - /* If this mapElement is adjacent to any non-wide paths, - * remove all of the edges to wide paths. */ - uint8 adjustedEdges = edges; - for (sint32 chosenDirection = 0; chosenDirection < 4; chosenDirection++) { - // If there is no path in that direction try another - if (!(adjustedEdges & (1 << chosenDirection))) - continue; + if (peep->outside_of_park == 0 && peep_heading_for_ride_or_park_exit(peep)) { + /* If this mapElement is adjacent to any non-wide paths, + * remove all of the edges to wide paths. */ + uint8 adjustedEdges = edges; + for (sint32 chosenDirection = 0; chosenDirection < 4; chosenDirection++) { + // If there is no path in that direction try another + if (!(adjustedEdges & (1 << chosenDirection))) + continue; - /* If there is a wide path in that direction, - remove that edge and try another */ - if (footpath_element_next_in_direction(peep->next_x, peep->next_y, peep->next_z, mapElement, chosenDirection) == PATH_SEARCH_WIDE) { - adjustedEdges &= ~(1 << chosenDirection); - } - } - if (adjustedEdges != 0) - edges = adjustedEdges; - } + /* If there is a wide path in that direction, + remove that edge and try another */ + if (footpath_element_next_in_direction(peep->next_x, peep->next_y, peep->next_z, mapElement, chosenDirection) == PATH_SEARCH_WIDE) { + adjustedEdges &= ~(1 << chosenDirection); + } + } + if (adjustedEdges != 0) + edges = adjustedEdges; + } - sint8 direction = peep->direction ^ (1 << 1); - // Check if in a dead end (i.e. only edge is where the peep came from) - if (!(edges & ~(1 << direction))) { - // In a dead end. Check if peep is lost, etc. - peep_check_if_lost(peep); - peep_check_cant_find_ride(peep); - peep_check_cant_find_exit(peep); - } else { - /* Not a dead end. Remove edge peep came from so peep will - * continue on rather than going back where it came from */ - edges &= ~(1 << direction); - } + sint8 direction = peep->direction ^ (1 << 1); + // Check if in a dead end (i.e. only edge is where the peep came from) + if (!(edges & ~(1 << direction))) { + // In a dead end. Check if peep is lost, etc. + peep_check_if_lost(peep); + peep_check_cant_find_ride(peep); + peep_check_cant_find_exit(peep); + } else { + /* Not a dead end. Remove edge peep came from so peep will + * continue on rather than going back where it came from */ + edges &= ~(1 << direction); + } - direction = bitscanforward(edges); - // IF only one edge to choose from - if ((edges & ~(1 << direction)) == 0) { - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_info("Completed guest_path_finding for %s - taking only direction available: %d.", gPathFindDebugPeepName, direction); - } - pathfind_logging_disable(); - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - return peep_move_one_tile(direction, peep); - } + direction = bitscanforward(edges); + // IF only one edge to choose from + if ((edges & ~(1 << direction)) == 0) { + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_info("Completed guest_path_finding for %s - taking only direction available: %d.", gPathFindDebugPeepName, direction); + } + pathfind_logging_disable(); + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + return peep_move_one_tile(direction, peep); + } - // Peep still has multiple edges to choose from. + // Peep still has multiple edges to choose from. - // Peep is outside the park. - // loc_694F19: - if (peep->outside_of_park != 0){ - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_info("Completed guest_path_finding for %s - peep is outside the park.", gPathFindDebugPeepName); - } - pathfind_logging_disable(); - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - switch (peep->state) { - case PEEP_STATE_ENTERING_PARK: - return guest_path_find_entering_park(peep, mapElement, edges); - case PEEP_STATE_LEAVING_PARK: - return guest_path_find_leaving_park(peep, mapElement, edges); - default: - return guest_path_find_aimless(peep, edges); - } - } + // Peep is outside the park. + // loc_694F19: + if (peep->outside_of_park != 0){ + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_info("Completed guest_path_finding for %s - peep is outside the park.", gPathFindDebugPeepName); + } + pathfind_logging_disable(); + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + switch (peep->state) { + case PEEP_STATE_ENTERING_PARK: + return guest_path_find_entering_park(peep, mapElement, edges); + case PEEP_STATE_LEAVING_PARK: + return guest_path_find_leaving_park(peep, mapElement, edges); + default: + return guest_path_find_aimless(peep, edges); + } + } - /* Peep is inside the park. - * If the peep does not have food, randomly cull the useless directions - * (dead ends, ride exits, wide paths) from the edges. - * In principle, peeps with food are not paying as much attention to - * where they are going and are consequently more like to walk up - * dead end paths, paths to ride exits, etc. */ - if (!peep_has_food(peep) && (scenario_rand() & 0xFFFF) >= 2184) { - uint8 adjustedEdges = edges; - for (sint32 chosenDirection = 0; chosenDirection < 4; chosenDirection++) { - // If there is no path in that direction try another - if (!(adjustedEdges & (1 << chosenDirection))) - continue; + /* Peep is inside the park. + * If the peep does not have food, randomly cull the useless directions + * (dead ends, ride exits, wide paths) from the edges. + * In principle, peeps with food are not paying as much attention to + * where they are going and are consequently more like to walk up + * dead end paths, paths to ride exits, etc. */ + if (!peep_has_food(peep) && (scenario_rand() & 0xFFFF) >= 2184) { + uint8 adjustedEdges = edges; + for (sint32 chosenDirection = 0; chosenDirection < 4; chosenDirection++) { + // If there is no path in that direction try another + if (!(adjustedEdges & (1 << chosenDirection))) + continue; - uint8 rideIndex, pathSearchResult; - pathSearchResult = footpath_element_destination_in_direction(peep->next_x, peep->next_y, peep->next_z, mapElement, chosenDirection, &rideIndex); - switch (pathSearchResult) { - case PATH_SEARCH_DEAD_END: - case PATH_SEARCH_RIDE_EXIT: - case PATH_SEARCH_WIDE: - adjustedEdges &= ~(1 << chosenDirection); - break; - } - } - if (adjustedEdges != 0) - edges = adjustedEdges; - } + uint8 rideIndex, pathSearchResult; + pathSearchResult = footpath_element_destination_in_direction(peep->next_x, peep->next_y, peep->next_z, mapElement, chosenDirection, &rideIndex); + switch (pathSearchResult) { + case PATH_SEARCH_DEAD_END: + case PATH_SEARCH_RIDE_EXIT: + case PATH_SEARCH_WIDE: + adjustedEdges &= ~(1 << chosenDirection); + break; + } + } + if (adjustedEdges != 0) + edges = adjustedEdges; + } - /* If there are still multiple directions to choose from, + /* If there are still multiple directions to choose from, * peeps with maps will randomly read the map: probability of doing so - * is much higher when heading for a ride or the park exit. */ - if (peep->item_standard_flags & PEEP_ITEM_MAP) { - // If at least 2 directions consult map - if (bitcount(edges) >= 2) { - uint16 probability = 1638; - if (peep_heading_for_ride_or_park_exit(peep)) { - probability = 9362; - } - if ((scenario_rand() & 0xFFFF) < probability) { - peep_read_map(peep); - } - } - } + * is much higher when heading for a ride or the park exit. */ + if (peep->item_standard_flags & PEEP_ITEM_MAP) { + // If at least 2 directions consult map + if (bitcount(edges) >= 2) { + uint16 probability = 1638; + if (peep_heading_for_ride_or_park_exit(peep)) { + probability = 9362; + } + if ((scenario_rand() & 0xFFFF) < probability) { + peep_read_map(peep); + } + } + } - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) { - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_info("Completed guest_path_finding for %s - peep is leaving the park.", gPathFindDebugPeepName); - } - pathfind_logging_disable(); - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - return guest_path_find_park_entrance(peep, mapElement, edges); - } + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) { + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_info("Completed guest_path_finding for %s - peep is leaving the park.", gPathFindDebugPeepName); + } + pathfind_logging_disable(); + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + return guest_path_find_park_entrance(peep, mapElement, edges); + } - if (peep->guest_heading_to_ride_id == 0xFF) { - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_info("Completed guest_path_finding for %s - peep is aimless.", gPathFindDebugPeepName); - } - pathfind_logging_disable(); - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - return guest_path_find_aimless(peep, edges); - } + if (peep->guest_heading_to_ride_id == 0xFF) { + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_info("Completed guest_path_finding for %s - peep is aimless.", gPathFindDebugPeepName); + } + pathfind_logging_disable(); + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + return guest_path_find_aimless(peep, edges); + } - // Peep is heading for a ride. - uint8 rideIndex = peep->guest_heading_to_ride_id; - rct_ride* ride = get_ride(rideIndex); + // Peep is heading for a ride. + uint8 rideIndex = peep->guest_heading_to_ride_id; + rct_ride* ride = get_ride(rideIndex); - if (ride->status != RIDE_STATUS_OPEN) { - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_info("Completed guest_path_finding for %s - peep is heading to closed ride == aimless.", gPathFindDebugPeepName); - } - pathfind_logging_disable(); - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - return guest_path_find_aimless(peep, edges); - } + if (ride->status != RIDE_STATUS_OPEN) { + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_info("Completed guest_path_finding for %s - peep is heading to closed ride == aimless.", gPathFindDebugPeepName); + } + pathfind_logging_disable(); + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + return guest_path_find_aimless(peep, edges); + } - // The ride is open. - gPeepPathFindQueueRideIndex = rideIndex; + // The ride is open. + gPeepPathFindQueueRideIndex = rideIndex; - /* Find the ride's closest entrance station to the peep. - * At the same time, count how many entrance stations there are and - * which stations are entrance stations. */ - uint16 closestDist = 0xFFFF; - uint8 closestStationNum = 0; + /* Find the ride's closest entrance station to the peep. + * At the same time, count how many entrance stations there are and + * which stations are entrance stations. */ + uint16 closestDist = 0xFFFF; + uint8 closestStationNum = 0; - sint32 numEntranceStations = 0; - uint8 entranceStations = 0; + sint32 numEntranceStations = 0; + uint8 entranceStations = 0; - for (uint8 stationNum = 0; stationNum < 4; ++stationNum){ - if (ride->entrances[stationNum] == 0xFFFF) // stationNum has no entrance (so presumably an exit only station). - continue; + for (uint8 stationNum = 0; stationNum < 4; ++stationNum){ + if (ride->entrances[stationNum] == 0xFFFF) // stationNum has no entrance (so presumably an exit only station). + continue; - numEntranceStations++; - entranceStations |= (1 << stationNum); + numEntranceStations++; + entranceStations |= (1 << stationNum); - sint16 stationX = (ride->entrances[stationNum] & 0xFF) * 32; - sint16 stationY = (ride->entrances[stationNum] & 0xFF00) / 8; - uint16 dist = abs(stationX - peep->next_x) + abs(stationY - peep->next_y); + sint16 stationX = (ride->entrances[stationNum] & 0xFF) * 32; + sint16 stationY = (ride->entrances[stationNum] & 0xFF00) / 8; + uint16 dist = abs(stationX - peep->next_x) + abs(stationY - peep->next_y); - if (dist < closestDist){ - closestDist = dist; - closestStationNum = stationNum; - continue; - } - } + if (dist < closestDist){ + closestDist = dist; + closestStationNum = stationNum; + continue; + } + } - // Ride has no stations with an entrance, so head to station 0. - if (numEntranceStations == 0) - closestStationNum = 0; + // Ride has no stations with an entrance, so head to station 0. + if (numEntranceStations == 0) + closestStationNum = 0; - /* If a ride has multiple entrance stations and is set to sync with - * adjacent stations, cycle through the entrance stations (based on - * number of rides the peep has been on) so the peep will try the - * different sections of the ride. - * In this case, the ride's various entrance stations will typically, - * though not necessarily, be adjacent to one another and consequently - * not too far for the peep to walk when cycling between them. - * Note: the same choice of station must made while the peep navigates - * to the station. Consequently a random station selection here is not - * appropriate. */ - if (numEntranceStations > 1 && - (ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS)) { - sint32 select = peep->no_of_rides % numEntranceStations; - while (select > 0) { - closestStationNum = bitscanforward(entranceStations); - entranceStations &= ~(1 << closestStationNum); - select--; - } - closestStationNum = bitscanforward(entranceStations); - } + /* If a ride has multiple entrance stations and is set to sync with + * adjacent stations, cycle through the entrance stations (based on + * number of rides the peep has been on) so the peep will try the + * different sections of the ride. + * In this case, the ride's various entrance stations will typically, + * though not necessarily, be adjacent to one another and consequently + * not too far for the peep to walk when cycling between them. + * Note: the same choice of station must made while the peep navigates + * to the station. Consequently a random station selection here is not + * appropriate. */ + if (numEntranceStations > 1 && + (ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS)) { + sint32 select = peep->no_of_rides % numEntranceStations; + while (select > 0) { + closestStationNum = bitscanforward(entranceStations); + entranceStations &= ~(1 << closestStationNum); + select--; + } + closestStationNum = bitscanforward(entranceStations); + } - uint16 entranceXY; - if (numEntranceStations == 0) - entranceXY = ride->station_starts[closestStationNum]; // closestStationNum is always 0 here. - else - entranceXY = ride->entrances[closestStationNum]; + uint16 entranceXY; + if (numEntranceStations == 0) + entranceXY = ride->station_starts[closestStationNum]; // closestStationNum is always 0 here. + else + entranceXY = ride->entrances[closestStationNum]; - x = (entranceXY & 0xFF) * 32; - y = (entranceXY & 0xFF00) / 8; - z = ride->station_heights[closestStationNum]; + x = (entranceXY & 0xFF) * 32; + y = (entranceXY & 0xFF00) / 8; + z = ride->station_heights[closestStationNum]; - get_ride_queue_end(&x, &y, &z); + get_ride_queue_end(&x, &y, &z); - gPeepPathFindGoalPosition = (rct_xyz16) { x, y, z }; - gPeepPathFindIgnoreForeignQueues = true; + gPeepPathFindGoalPosition = (rct_xyz16) { x, y, z }; + gPeepPathFindIgnoreForeignQueues = true; - direction = peep_pathfind_choose_direction(peep->next_x, peep->next_y, peep->next_z, peep); + direction = peep_pathfind_choose_direction(peep->next_x, peep->next_y, peep->next_z, peep); - if (direction == -1){ - /* Heuristic search failed for all directions. - * Reset the pathfind_goal - this means that the pathfind_history - * will be reset in the next call to peep_pathfind_choose_direction(). - * This lets the heuristic search "try again" in case the player has - * edited the path layout or the mechanic was already stuck in the - * save game (e.g. with a worse version of the pathfinding). */ - peep_reset_pathfind_goal(peep); + if (direction == -1){ + /* Heuristic search failed for all directions. + * Reset the pathfind_goal - this means that the pathfind_history + * will be reset in the next call to peep_pathfind_choose_direction(). + * This lets the heuristic search "try again" in case the player has + * edited the path layout or the mechanic was already stuck in the + * save game (e.g. with a worse version of the pathfinding). */ + peep_reset_pathfind_goal(peep); - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_info("Completed guest_path_finding for %s - failed to choose a direction == aimless.", gPathFindDebugPeepName); - } - pathfind_logging_disable(); - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_info("Completed guest_path_finding for %s - failed to choose a direction == aimless.", gPathFindDebugPeepName); + } + pathfind_logging_disable(); + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - return guest_path_find_aimless(peep, edges); - } - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_info("Completed guest_path_finding for %s - direction chosen: %d.", gPathFindDebugPeepName, direction); - } - pathfind_logging_disable(); - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - return peep_move_one_tile(direction, peep); + return guest_path_find_aimless(peep, edges); + } + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_info("Completed guest_path_finding for %s - direction chosen: %d.", gPathFindDebugPeepName, direction); + } + pathfind_logging_disable(); + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + return peep_move_one_tile(direction, peep); } /** @@ -10447,113 +10447,113 @@ static sint32 guest_path_finding(rct_peep* peep) */ static sint32 peep_perform_next_action(rct_peep *peep) { - _unk_F1EE18 = 0; - uint8 previousAction = peep->action; + _unk_F1EE18 = 0; + uint8 previousAction = peep->action; - if (peep->action == PEEP_ACTION_NONE_1) - peep->action = PEEP_ACTION_NONE_2; + if (peep->action == PEEP_ACTION_NONE_1) + peep->action = PEEP_ACTION_NONE_2; - if (peep->state == PEEP_STATE_QUEUING){ - if (peep_update_queue_position(peep, previousAction)) - return 1; - } + if (peep->state == PEEP_STATE_QUEUING){ + if (peep_update_queue_position(peep, previousAction)) + return 1; + } - sint16 x, y, xy_dist; - if (!peep_update_action(&x, &y, &xy_dist, peep)){ - _unk_F1EE18 |= F1EE18_DESTINATION_REACHED; - uint8 result = 0; - if (peep->type == PEEP_TYPE_GUEST){ - result = guest_path_finding(peep); - } - else{ - result = staff_path_finding(peep); - } + sint16 x, y, xy_dist; + if (!peep_update_action(&x, &y, &xy_dist, peep)){ + _unk_F1EE18 |= F1EE18_DESTINATION_REACHED; + uint8 result = 0; + if (peep->type == PEEP_TYPE_GUEST){ + result = guest_path_finding(peep); + } + else{ + result = staff_path_finding(peep); + } - if (result != 0) - return 1; + if (result != 0) + return 1; - if (!peep_update_action(&x, &y, &xy_dist, peep)) - return 1; - } + if (!peep_update_action(&x, &y, &xy_dist, peep)) + return 1; + } - if ((x & 0xFFE0) == peep->next_x && (y & 0xFFE0) == peep->next_y){ - sint16 z = peep_get_height_on_slope(peep, x, y); - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return 1; - } + if ((x & 0xFFE0) == peep->next_x && (y & 0xFFE0) == peep->next_y){ + sint16 z = peep_get_height_on_slope(peep, x, y); + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return 1; + } - if (x < 32 || y < 32 || x >= gMapSizeUnits || y >= gMapSizeUnits){ - if (peep->outside_of_park == 1){ - _unk_F1EE18 |= F1EE18_OUTSIDE_PARK; - } - return peep_return_to_center_of_tile(peep); - } + if (x < 32 || y < 32 || x >= gMapSizeUnits || y >= gMapSizeUnits){ + if (peep->outside_of_park == 1){ + _unk_F1EE18 |= F1EE18_OUTSIDE_PARK; + } + return peep_return_to_center_of_tile(peep); + } - rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); - sint16 base_z = max(0, (peep->z / 8) - 2); - sint16 top_z = (peep->z / 8) + 1; + rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); + sint16 base_z = max(0, (peep->z / 8) - 2); + sint16 top_z = (peep->z / 8) + 1; - do{ - if (base_z > mapElement->base_height) - continue; - if (top_z < mapElement->base_height) - continue; - if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) - continue; + do{ + if (base_z > mapElement->base_height) + continue; + if (top_z < mapElement->base_height) + continue; + if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) + continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH){ - if (peep_interact_with_path(peep, x, y, mapElement)) - return 1; - } - else if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK){ - if (peep_interact_with_shop(peep, x, y, mapElement)) - return 1; - } - else if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE){ - if (peep_interact_with_entrance(peep, x, y, mapElement)) - return 1; - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH){ + if (peep_interact_with_path(peep, x, y, mapElement)) + return 1; + } + else if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK){ + if (peep_interact_with_shop(peep, x, y, mapElement)) + return 1; + } + else if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE){ + if (peep_interact_with_entrance(peep, x, y, mapElement)) + return 1; + } + } while (!map_element_is_last_for_tile(mapElement++)); - if (peep->type == PEEP_TYPE_STAFF || (peep->next_var_29 & 0x18)){ - sint16 z = abs(map_element_height(x, y) - peep->z); + if (peep->type == PEEP_TYPE_STAFF || (peep->next_var_29 & 0x18)){ + sint16 z = abs(map_element_height(x, y) - peep->z); - if (z <= 3 || (peep->type == PEEP_TYPE_STAFF && z <= 32)){ - peep->interaction_ride_index = 0xFF; - if (peep->state == PEEP_STATE_QUEUING){ - remove_peep_from_queue(peep); - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_1; - peep_window_state_update(peep); - } + if (z <= 3 || (peep->type == PEEP_TYPE_STAFF && z <= 32)){ + peep->interaction_ride_index = 0xFF; + if (peep->state == PEEP_STATE_QUEUING){ + remove_peep_from_queue(peep); + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_1; + peep_window_state_update(peep); + } - if (!map_is_location_in_park(x & 0xFFE0, y & 0xFFE0)){ - return peep_return_to_center_of_tile(peep); - } + if (!map_is_location_in_park(x & 0xFFE0, y & 0xFFE0)){ + return peep_return_to_center_of_tile(peep); + } - mapElement = map_get_surface_element_at(x / 32, y / 32); - if (mapElement == NULL) - return peep_return_to_center_of_tile(peep); + mapElement = map_get_surface_element_at(x / 32, y / 32); + if (mapElement == NULL) + return peep_return_to_center_of_tile(peep); - sint16 water_height = mapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; - if (water_height) - return peep_return_to_center_of_tile(peep); + sint16 water_height = mapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; + if (water_height) + return peep_return_to_center_of_tile(peep); - peep->next_x = x & 0xFFE0; - peep->next_y = y & 0xFFE0; - peep->next_z = mapElement->base_height; - peep->next_var_29 = 8; + peep->next_x = x & 0xFFE0; + peep->next_y = y & 0xFFE0; + peep->next_z = mapElement->base_height; + peep->next_var_29 = 8; - z = peep_get_height_on_slope(peep, x, y); - invalidate_sprite_2((rct_sprite*)peep); - sprite_move(x, y, z, (rct_sprite*)peep); - invalidate_sprite_2((rct_sprite*)peep); - return 1; - } - } - return peep_return_to_center_of_tile(peep); + z = peep_get_height_on_slope(peep, x, y); + invalidate_sprite_2((rct_sprite*)peep); + sprite_move(x, y, z, (rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); + return 1; + } + } + return peep_return_to_center_of_tile(peep); } /** @@ -10563,49 +10563,49 @@ static sint32 peep_perform_next_action(rct_peep *peep) */ static void peep_spend_money(rct_peep *peep, money16 *peep_expend_type, money32 amount) { - assert(!(gParkFlags & PARK_FLAGS_NO_MONEY)); + assert(!(gParkFlags & PARK_FLAGS_NO_MONEY)); - peep->cash_in_pocket = max(0, peep->cash_in_pocket - amount); - peep->cash_spent += amount; - if (peep_expend_type != NULL) { - *peep_expend_type += (money16)amount; - } - window_invalidate_by_number(WC_PEEP, peep->sprite_index); + peep->cash_in_pocket = max(0, peep->cash_in_pocket - amount); + peep->cash_spent += amount; + if (peep_expend_type != NULL) { + *peep_expend_type += (money16)amount; + } + window_invalidate_by_number(WC_PEEP, peep->sprite_index); - gUnk141F568 = gUnk13CA740; - finance_payment(-amount, gCommandExpenditureType); + gUnk141F568 = gUnk13CA740; + finance_payment(-amount, gCommandExpenditureType); - if (gConfigGeneral.show_guest_purchases) { - // HACK Currently disabled for multiplayer due to limitation of all sprites - // needing to be synchronised - if (network_get_mode() == NETWORK_MODE_NONE) { - money_effect_create_at(amount, peep->x, peep->y, peep->z, true); - } - } + if (gConfigGeneral.show_guest_purchases) { + // HACK Currently disabled for multiplayer due to limitation of all sprites + // needing to be synchronised + if (network_get_mode() == NETWORK_MODE_NONE) { + money_effect_create_at(amount, peep->x, peep->y, peep->z, true); + } + } - audio_play_sound_at_location(SOUND_PURCHASE, peep->x, peep->y, peep->z); + audio_play_sound_at_location(SOUND_PURCHASE, peep->x, peep->y, peep->z); } static void peep_set_has_ridden(rct_peep *peep, sint32 rideIndex) { - peep->rides_been_on[rideIndex / 8] |= 1 << (rideIndex % 8); - rct_ride *ride = get_ride(rideIndex); - peep_set_has_ridden_ride_type(peep, ride->type); + peep->rides_been_on[rideIndex / 8] |= 1 << (rideIndex % 8); + rct_ride *ride = get_ride(rideIndex); + peep_set_has_ridden_ride_type(peep, ride->type); } static bool peep_has_ridden(rct_peep *peep, sint32 rideIndex) { - return peep->rides_been_on[rideIndex / 8] & (1 << (rideIndex % 8)); + return peep->rides_been_on[rideIndex / 8] & (1 << (rideIndex % 8)); } static void peep_set_has_ridden_ride_type(rct_peep *peep, sint32 rideType) { - peep->ride_types_been_on[rideType / 8] |= 1 << (rideType % 8); + peep->ride_types_been_on[rideType / 8] |= 1 << (rideType % 8); } static bool peep_has_ridden_ride_type(rct_peep *peep, sint32 rideType) { - return peep->ride_types_been_on[rideType / 8] & (1 << (rideType % 8)); + return peep->ride_types_been_on[rideType / 8] & (1 << (rideType % 8)); } /** @@ -10615,30 +10615,30 @@ static bool peep_has_ridden_ride_type(rct_peep *peep, sint32 rideType) */ static void peep_on_enter_ride(rct_peep *peep, sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - // Calculate how satisfying the ride is for the peep. Can range from -140 to +105. - sint16 satisfaction = peep_calculate_ride_satisfaction(peep, ride); + // Calculate how satisfying the ride is for the peep. Can range from -140 to +105. + sint16 satisfaction = peep_calculate_ride_satisfaction(peep, ride); - // Update the satisfaction stat of the ride. - uint8 rideSatisfaction = 0; - if (satisfaction >= 40) - rideSatisfaction = 3; - else if (satisfaction >= 20) - rideSatisfaction = 2; - else if (satisfaction >= 0) - rideSatisfaction = 1; + // Update the satisfaction stat of the ride. + uint8 rideSatisfaction = 0; + if (satisfaction >= 40) + rideSatisfaction = 3; + else if (satisfaction >= 20) + rideSatisfaction = 2; + else if (satisfaction >= 0) + rideSatisfaction = 1; - ride_update_satisfaction(ride, rideSatisfaction); + ride_update_satisfaction(ride, rideSatisfaction); - // Update various peep stats. - if (peep->no_of_rides < 255) - peep->no_of_rides++; + // Update various peep stats. + if (peep->no_of_rides < 255) + peep->no_of_rides++; - peep_set_has_ridden(peep, peep->current_ride); - peep_update_favourite_ride(peep, ride); - peep->happiness_growth_rate = clamp(0, peep->happiness_growth_rate + satisfaction, 255); - peep_update_ride_nausea_growth(peep, ride); + peep_set_has_ridden(peep, peep->current_ride); + peep_update_favourite_ride(peep, ride); + peep->happiness_growth_rate = clamp(0, peep->happiness_growth_rate + satisfaction, 255); + peep_update_ride_nausea_growth(peep, ride); } /** @@ -10653,14 +10653,14 @@ static void peep_on_enter_ride(rct_peep *peep, sint32 rideIndex) */ static void peep_update_favourite_ride(rct_peep *peep, rct_ride *ride) { - peep->peep_flags &= ~PEEP_FLAGS_RIDE_SHOULD_BE_MARKED_AS_FAVOURITE; - uint8 peepRideRating = clamp(0, (ride->excitement / 4) + peep->happiness, 255); - if (peepRideRating >= peep->favourite_ride_rating) { - if (peep->happiness >= 160 && peep->happiness_growth_rate >= 160) { - peep->favourite_ride_rating = peepRideRating; - peep->peep_flags |= PEEP_FLAGS_RIDE_SHOULD_BE_MARKED_AS_FAVOURITE; - } - } + peep->peep_flags &= ~PEEP_FLAGS_RIDE_SHOULD_BE_MARKED_AS_FAVOURITE; + uint8 peepRideRating = clamp(0, (ride->excitement / 4) + peep->happiness, 255); + if (peepRideRating >= peep->favourite_ride_rating) { + if (peep->happiness >= 160 && peep->happiness_growth_rate >= 160) { + peep->favourite_ride_rating = peepRideRating; + peep->peep_flags |= PEEP_FLAGS_RIDE_SHOULD_BE_MARKED_AS_FAVOURITE; + } + } } /* rct2: 0x00695555 */ @@ -10693,75 +10693,75 @@ static sint16 peep_calculate_ride_value_satisfaction(rct_peep* peep, rct_ride* r */ static sint16 peep_calculate_ride_intensity_nausea_satisfaction(rct_peep * peep, rct_ride * ride) { - if (!ride_has_ratings(ride)) { - return 70; - } + if (!ride_has_ratings(ride)) { + return 70; + } - uint8 intensitySatisfaction = 3; - uint8 nauseaSatisfaction = 3; - ride_rating maxIntensity = (peep->intensity >> 4) * 100; - ride_rating minIntensity = (peep->intensity & 0xF) * 100; - if (minIntensity <= ride->intensity && maxIntensity >= ride->intensity) { - intensitySatisfaction--; - } - minIntensity -= peep->happiness * 2; - maxIntensity += peep->happiness; - if (minIntensity <= ride->intensity && maxIntensity >= ride->intensity) { - intensitySatisfaction--; - } - minIntensity -= peep->happiness * 2; - maxIntensity += peep->happiness; - if (minIntensity <= ride->intensity && maxIntensity >= ride->intensity) { - intensitySatisfaction--; - } + uint8 intensitySatisfaction = 3; + uint8 nauseaSatisfaction = 3; + ride_rating maxIntensity = (peep->intensity >> 4) * 100; + ride_rating minIntensity = (peep->intensity & 0xF) * 100; + if (minIntensity <= ride->intensity && maxIntensity >= ride->intensity) { + intensitySatisfaction--; + } + minIntensity -= peep->happiness * 2; + maxIntensity += peep->happiness; + if (minIntensity <= ride->intensity && maxIntensity >= ride->intensity) { + intensitySatisfaction--; + } + minIntensity -= peep->happiness * 2; + maxIntensity += peep->happiness; + if (minIntensity <= ride->intensity && maxIntensity >= ride->intensity) { + intensitySatisfaction--; + } - // Although it's not shown in the interface, a peep with Average or High nausea tolerance - // has a minimum preferred nausea value. (For peeps with None or Low, this is set to zero.) - ride_rating minNausea = NauseaMinimumThresholds[(peep->nausea_tolerance & 3)]; - ride_rating maxNausea = NauseaMaximumThresholds[(peep->nausea_tolerance & 3)]; - if (minNausea <= ride->nausea && maxNausea >= ride->nausea) { - nauseaSatisfaction--; - } - minNausea -= peep->happiness * 2; - maxNausea += peep->happiness; - if (minNausea <= ride->nausea && maxNausea >= ride->nausea) { - nauseaSatisfaction--; - } - minNausea -= peep->happiness * 2; - maxNausea += peep->happiness; - if (minNausea <= ride->nausea && maxNausea >= ride->nausea) { - nauseaSatisfaction--; - } + // Although it's not shown in the interface, a peep with Average or High nausea tolerance + // has a minimum preferred nausea value. (For peeps with None or Low, this is set to zero.) + ride_rating minNausea = NauseaMinimumThresholds[(peep->nausea_tolerance & 3)]; + ride_rating maxNausea = NauseaMaximumThresholds[(peep->nausea_tolerance & 3)]; + if (minNausea <= ride->nausea && maxNausea >= ride->nausea) { + nauseaSatisfaction--; + } + minNausea -= peep->happiness * 2; + maxNausea += peep->happiness; + if (minNausea <= ride->nausea && maxNausea >= ride->nausea) { + nauseaSatisfaction--; + } + minNausea -= peep->happiness * 2; + maxNausea += peep->happiness; + if (minNausea <= ride->nausea && maxNausea >= ride->nausea) { + nauseaSatisfaction--; + } - uint8 highestSatisfaction = max(intensitySatisfaction, nauseaSatisfaction); - uint8 lowestSatisfaction = min(intensitySatisfaction, nauseaSatisfaction); + uint8 highestSatisfaction = max(intensitySatisfaction, nauseaSatisfaction); + uint8 lowestSatisfaction = min(intensitySatisfaction, nauseaSatisfaction); - switch (highestSatisfaction) { - default: - case 0: - return 70; - case 1: - switch (lowestSatisfaction) { - default: - case 0: return 50; - case 1: return 35; - } - case 2: - switch (lowestSatisfaction) { - default: - case 0: return 35; - case 1: return 20; - case 2: return 10; - } - case 3: - switch (lowestSatisfaction) { - default: - case 0: return -35; - case 1: return -50; - case 2: return -60; - case 3: return -60; - } - } + switch (highestSatisfaction) { + default: + case 0: + return 70; + case 1: + switch (lowestSatisfaction) { + default: + case 0: return 50; + case 1: return 35; + } + case 2: + switch (lowestSatisfaction) { + default: + case 0: return 35; + case 1: return 20; + case 2: return 10; + } + case 3: + switch (lowestSatisfaction) { + default: + case 0: return -35; + case 1: return -50; + case 2: return -60; + case 3: return -60; + } + } } /** @@ -10774,28 +10774,28 @@ static sint16 peep_calculate_ride_intensity_nausea_satisfaction(rct_peep * peep, */ static sint16 peep_calculate_ride_satisfaction(rct_peep *peep, rct_ride *ride) { - sint16 satisfaction = peep_calculate_ride_value_satisfaction(peep, ride); - satisfaction += peep_calculate_ride_intensity_nausea_satisfaction(peep, ride); + sint16 satisfaction = peep_calculate_ride_value_satisfaction(peep, ride); + satisfaction += peep_calculate_ride_intensity_nausea_satisfaction(peep, ride); - // Calculate satisfaction based on how long the peep has been in the queue for. - // (For comparison: peeps start thinking "I've been queueing for a long time" at 3500 and - // start leaving the queue at 4300.) - if (peep->time_in_queue >= 4500) - satisfaction -= 35; - else if (peep->time_in_queue >= 2250) - satisfaction -= 10; - else if (peep->time_in_queue <= 750) - satisfaction += 10; + // Calculate satisfaction based on how long the peep has been in the queue for. + // (For comparison: peeps start thinking "I've been queueing for a long time" at 3500 and + // start leaving the queue at 4300.) + if (peep->time_in_queue >= 4500) + satisfaction -= 35; + else if (peep->time_in_queue >= 2250) + satisfaction -= 10; + else if (peep->time_in_queue <= 750) + satisfaction += 10; - // Peeps get a small boost in satisfaction if they've been on a ride of the same type before, - // and this boost is doubled if they've already been on this particular ride. - if (peep_has_ridden_ride_type(peep, ride->type)) - satisfaction += 10; + // Peeps get a small boost in satisfaction if they've been on a ride of the same type before, + // and this boost is doubled if they've already been on this particular ride. + if (peep_has_ridden_ride_type(peep, ride->type)) + satisfaction += 10; - if (peep_has_ridden(peep, peep->current_ride)) - satisfaction += 10; + if (peep_has_ridden(peep, peep->current_ride)) + satisfaction += 10; - return satisfaction; + return satisfaction; } /** @@ -10807,49 +10807,49 @@ static sint16 peep_calculate_ride_satisfaction(rct_peep *peep, rct_ride *ride) */ static void peep_update_ride_nausea_growth(rct_peep *peep, rct_ride *ride) { - uint32 nauseaMultiplier = clamp(64, 256 - peep->happiness_growth_rate, 200); - uint32 nauseaGrowthRateChange = (ride->nausea * nauseaMultiplier) / 512; - nauseaGrowthRateChange *= max(128, peep->hunger) / 64; - nauseaGrowthRateChange >>= (peep->nausea_tolerance & 3); - peep->nausea_growth_rate = (uint8)clamp(0, peep->nausea_growth_rate + nauseaGrowthRateChange, 255); + uint32 nauseaMultiplier = clamp(64, 256 - peep->happiness_growth_rate, 200); + uint32 nauseaGrowthRateChange = (ride->nausea * nauseaMultiplier) / 512; + nauseaGrowthRateChange *= max(128, peep->hunger) / 64; + nauseaGrowthRateChange >>= (peep->nausea_tolerance & 3); + peep->nausea_growth_rate = (uint8)clamp(0, peep->nausea_growth_rate + nauseaGrowthRateChange, 255); } static bool peep_should_go_on_ride_again(rct_peep *peep, rct_ride *ride) { - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN)) return false; - if (!ride_has_ratings(ride)) return false; - if (ride->intensity > RIDE_RATING(10,00) && !gCheatsIgnoreRideIntensity) return false; - if (peep->happiness < 180) return false; - if (peep->energy < 100) return false; - if (peep->nausea > 160) return false; - if (peep->hunger < 30) return false; - if (peep->thirst < 20) return false; - if (peep->balloon_colour > 170) return false; + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN)) return false; + if (!ride_has_ratings(ride)) return false; + if (ride->intensity > RIDE_RATING(10,00) && !gCheatsIgnoreRideIntensity) return false; + if (peep->happiness < 180) return false; + if (peep->energy < 100) return false; + if (peep->nausea > 160) return false; + if (peep->hunger < 30) return false; + if (peep->thirst < 20) return false; + if (peep->balloon_colour > 170) return false; - uint8 r = (scenario_rand() & 0xFF); - if (r <= 128) { - if (peep->no_of_rides > 7) return false; - if (r > 64) return false; - } + uint8 r = (scenario_rand() & 0xFF); + if (r <= 128) { + if (peep->no_of_rides > 7) return false; + if (r > 64) return false; + } - return true; + return true; } static bool peep_should_preferred_intensity_increase(rct_peep *peep) { - if (gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES) return false; - if (peep->happiness < 200) return false; + if (gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES) return false; + if (peep->happiness < 200) return false; - return (scenario_rand() & 0xFF) >= peep->intensity; + return (scenario_rand() & 0xFF) >= peep->intensity; } static bool peep_really_liked_ride(rct_peep *peep, rct_ride *ride) { - if (peep->happiness < 215) return false; - if (peep->nausea > 120) return false; - if (!ride_has_ratings(ride)) return false; - if (ride->intensity > RIDE_RATING(10, 00) && !gCheatsIgnoreRideIntensity) return false; - return true; + if (peep->happiness < 215) return false; + if (peep->nausea > 120) return false; + if (!ride_has_ratings(ride)) return false; + if (ride->intensity > RIDE_RATING(10, 00) && !gCheatsIgnoreRideIntensity) return false; + return true; } /** @@ -10858,50 +10858,50 @@ static bool peep_really_liked_ride(rct_peep *peep, rct_ride *ride) */ static void peep_on_exit_ride(rct_peep *peep, sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - if (peep->peep_flags & PEEP_FLAGS_RIDE_SHOULD_BE_MARKED_AS_FAVOURITE) { - peep->peep_flags &= ~PEEP_FLAGS_RIDE_SHOULD_BE_MARKED_AS_FAVOURITE; - peep->favourite_ride = rideIndex; - // TODO fix this flag name or add another one - peep->window_invalidate_flags |= PEEP_INVALIDATE_STAFF_STATS; - } - peep->happiness = peep->happiness_growth_rate; - peep->nausea = peep->nausea_growth_rate; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_STATS; + if (peep->peep_flags & PEEP_FLAGS_RIDE_SHOULD_BE_MARKED_AS_FAVOURITE) { + peep->peep_flags &= ~PEEP_FLAGS_RIDE_SHOULD_BE_MARKED_AS_FAVOURITE; + peep->favourite_ride = rideIndex; + // TODO fix this flag name or add another one + peep->window_invalidate_flags |= PEEP_INVALIDATE_STAFF_STATS; + } + peep->happiness = peep->happiness_growth_rate; + peep->nausea = peep->nausea_growth_rate; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_STATS; - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) - peep->peep_flags &= ~(PEEP_FLAGS_PARK_ENTRANCE_CHOSEN); + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) + peep->peep_flags &= ~(PEEP_FLAGS_PARK_ENTRANCE_CHOSEN); - if (peep_should_go_on_ride_again(peep, ride)) { - peep->guest_heading_to_ride_id = rideIndex; - peep->peep_is_lost_countdown = 200; - peep_reset_pathfind_goal(peep); + if (peep_should_go_on_ride_again(peep, ride)) { + peep->guest_heading_to_ride_id = rideIndex; + peep->peep_is_lost_countdown = 200; + peep_reset_pathfind_goal(peep); - rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index); - if (w != NULL) { - window_event_invalidate_call(w); - widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL); - } - } + rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index); + if (w != NULL) { + window_event_invalidate_call(w); + widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL); + } + } - if (peep_should_preferred_intensity_increase(peep)) { - if (peep->intensity <= 255 - 16) { - peep->intensity += 16; - } - } + if (peep_should_preferred_intensity_increase(peep)) { + if (peep->intensity <= 255 - 16) { + peep->intensity += 16; + } + } - if (peep_really_liked_ride(peep, ride)) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_WAS_GREAT, rideIndex); + if (peep_really_liked_ride(peep, ride)) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_WAS_GREAT, rideIndex); - sint32 laugh = scenario_rand() & 7; - if (laugh < 3) { - audio_play_sound_at_location(SOUND_LAUGH_1 + laugh, peep->x, peep->y, peep->z); - } - } + sint32 laugh = scenario_rand() & 7; + if (laugh < 3) { + audio_play_sound_at_location(SOUND_LAUGH_1 + laugh, peep->x, peep->y, peep->z); + } + } - ride->total_customers++; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; + ride->total_customers++; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; } /** @@ -10910,11 +10910,11 @@ static void peep_on_exit_ride(rct_peep *peep, sint32 rideIndex) */ static void peep_on_enter_or_exit_ride(rct_peep *peep, sint32 rideIndex, sint32 flags) { - if (flags & 1) { - peep_on_exit_ride(peep, rideIndex); - } else { - peep_on_enter_ride(peep, rideIndex); - } + if (flags & 1) { + peep_on_exit_ride(peep, rideIndex); + } else { + peep_on_enter_ride(peep, rideIndex); + } } /** Main logic to decide whether a peep should buy an item in question @@ -10932,236 +10932,236 @@ static void peep_on_enter_or_exit_ride(rct_peep *peep, sint32 rideIndex, sint32 */ static bool peep_decide_and_buy_item(rct_peep *peep, sint32 rideIndex, sint32 shopItem, money32 price) { - rct_ride* ride = get_ride(rideIndex); - money32 value; + rct_ride* ride = get_ride(rideIndex); + money32 value; - bool has_voucher = false; + bool has_voucher = false; - if ((peep->item_standard_flags & PEEP_ITEM_VOUCHER) && - (peep->voucher_type == VOUCHER_TYPE_FOOD_OR_DRINK_FREE) && - (peep->voucher_arguments == shopItem)) { - has_voucher = true; - } + if ((peep->item_standard_flags & PEEP_ITEM_VOUCHER) && + (peep->voucher_type == VOUCHER_TYPE_FOOD_OR_DRINK_FREE) && + (peep->voucher_arguments == shopItem)) { + has_voucher = true; + } - if (peep_has_item(peep, shopItem)) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_ALREADY_GOT, shopItem); - return 0; - } + if (peep_has_item(peep, shopItem)) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_ALREADY_GOT, shopItem); + return 0; + } - if (shop_item_is_food_or_drink(shopItem)) { - sint32 food = -1; - if ((food = peep_has_food_standard_flag(peep)) != 0) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_HAVENT_FINISHED, bitscanforward(food)); - return 0; - } else if ((food = peep_has_food_extra_flag(peep)) != 0) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_HAVENT_FINISHED, bitscanforward(food) + 32); - return 0; - } else if (peep->nausea >= 145) - return 0; - } + if (shop_item_is_food_or_drink(shopItem)) { + sint32 food = -1; + if ((food = peep_has_food_standard_flag(peep)) != 0) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_HAVENT_FINISHED, bitscanforward(food)); + return 0; + } else if ((food = peep_has_food_extra_flag(peep)) != 0) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_HAVENT_FINISHED, bitscanforward(food) + 32); + return 0; + } else if (peep->nausea >= 145) + return 0; + } - if ((shopItem == SHOP_ITEM_BALLOON) || (shopItem == SHOP_ITEM_ICE_CREAM) - || (shopItem == SHOP_ITEM_CANDYFLOSS) || (shopItem == SHOP_ITEM_SUNGLASSES)) { - if (gClimateCurrentRainLevel != 0) - return 0; - } + if ((shopItem == SHOP_ITEM_BALLOON) || (shopItem == SHOP_ITEM_ICE_CREAM) + || (shopItem == SHOP_ITEM_CANDYFLOSS) || (shopItem == SHOP_ITEM_SUNGLASSES)) { + if (gClimateCurrentRainLevel != 0) + return 0; + } - if ((shopItem == SHOP_ITEM_SUNGLASSES) || (shopItem == SHOP_ITEM_ICE_CREAM)) { - if (gClimateCurrentTemperature < 12) - return 0; - } + if ((shopItem == SHOP_ITEM_SUNGLASSES) || (shopItem == SHOP_ITEM_ICE_CREAM)) { + if (gClimateCurrentTemperature < 12) + return 0; + } - if (shop_item_is_food(shopItem) && (peep->hunger > 75)) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_NOT_HUNGRY, 0xFF); - return 0; - } + if (shop_item_is_food(shopItem) && (peep->hunger > 75)) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_NOT_HUNGRY, 0xFF); + return 0; + } - if (shop_item_is_drink(shopItem) && (peep->thirst > 75)) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_NOT_THIRSTY, 0xFF); - return 0; - } + if (shop_item_is_drink(shopItem) && (peep->thirst > 75)) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_NOT_THIRSTY, 0xFF); + return 0; + } - if ((shopItem == SHOP_ITEM_UMBRELLA) && (gClimateCurrentRainLevel != 0)) - goto loc_69B119; + if ((shopItem == SHOP_ITEM_UMBRELLA) && (gClimateCurrentRainLevel != 0)) + goto loc_69B119; - if ((shopItem != SHOP_ITEM_MAP) && shop_item_is_souvenir(shopItem) && !has_voucher) { - if (((scenario_rand() & 0x7F) + 0x73) > peep->happiness) - return 0; - else if (peep->no_of_rides < 3) - return 0; - } + if ((shopItem != SHOP_ITEM_MAP) && shop_item_is_souvenir(shopItem) && !has_voucher) { + if (((scenario_rand() & 0x7F) + 0x73) > peep->happiness) + return 0; + else if (peep->no_of_rides < 3) + return 0; + } loc_69B119: - if (!has_voucher) { - if (price != 0) { - if (peep->cash_in_pocket == 0) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_SPENT_MONEY, 0xFF); - return 0; - } - if (price > peep->cash_in_pocket) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CANT_AFFORD, shopItem); - return 0; - } - } + if (!has_voucher) { + if (price != 0) { + if (peep->cash_in_pocket == 0) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_SPENT_MONEY, 0xFF); + return 0; + } + if (price > peep->cash_in_pocket) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CANT_AFFORD, shopItem); + return 0; + } + } - if (gClimateCurrentTemperature >= 21) - value = get_shop_hot_value(shopItem); - else if (gClimateCurrentTemperature <= 11) - value = get_shop_cold_value(shopItem); - else - value = get_shop_base_value(shopItem); + if (gClimateCurrentTemperature >= 21) + value = get_shop_hot_value(shopItem); + else if (gClimateCurrentTemperature <= 11) + value = get_shop_cold_value(shopItem); + else + value = get_shop_base_value(shopItem); - if (value < price) { - value -= price; - if (shopItem == SHOP_ITEM_UMBRELLA) { - if (gClimateCurrentRainLevel != 0) - goto loc_69B221; - } + if (value < price) { + value -= price; + if (shopItem == SHOP_ITEM_UMBRELLA) { + if (gClimateCurrentRainLevel != 0) + goto loc_69B221; + } - value = -value; - if (peep->happiness >= 128) - value /= 2; + value = -value; + if (peep->happiness >= 128) + value /= 2; - if (peep->happiness >= 180) - value /= 2; + if (peep->happiness >= 180) + value /= 2; - if (value > ((money16)(scenario_rand() & 0x07))) { - // "I'm not paying that much for x" - uint8 thought_type = (shopItem >= 32 ? (PEEP_THOUGHT_TYPE_PHOTO2_MUCH + (shopItem - 32)) : (PEEP_THOUGHT_TYPE_BALLOON_MUCH + shopItem)); - peep_insert_new_thought(peep, thought_type, rideIndex); - return 0; - } - } - else { - value -= price; - value = max(8, value); + if (value > ((money16)(scenario_rand() & 0x07))) { + // "I'm not paying that much for x" + uint8 thought_type = (shopItem >= 32 ? (PEEP_THOUGHT_TYPE_PHOTO2_MUCH + (shopItem - 32)) : (PEEP_THOUGHT_TYPE_BALLOON_MUCH + shopItem)); + peep_insert_new_thought(peep, thought_type, rideIndex); + return 0; + } + } + else { + value -= price; + value = max(8, value); - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { - if (value >= (money32)(scenario_rand() & 0x07)) { - // "This x is a really good value" - uint8 thought_item = (shopItem >= 32 ? (PEEP_THOUGHT_TYPE_PHOTO2 + (shopItem - 32)) : (PEEP_THOUGHT_TYPE_BALLOON + shopItem)); - peep_insert_new_thought(peep, thought_item, rideIndex); - } - } + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { + if (value >= (money32)(scenario_rand() & 0x07)) { + // "This x is a really good value" + uint8 thought_item = (shopItem >= 32 ? (PEEP_THOUGHT_TYPE_PHOTO2 + (shopItem - 32)) : (PEEP_THOUGHT_TYPE_BALLOON + shopItem)); + peep_insert_new_thought(peep, thought_item, rideIndex); + } + } - sint32 happinessGrowth = value * 4; - peep->happiness_growth_rate = min((peep->happiness_growth_rate + happinessGrowth), 255); - peep->happiness = min((peep->happiness + happinessGrowth), 255); - } - } + sint32 happinessGrowth = value * 4; + peep->happiness_growth_rate = min((peep->happiness_growth_rate + happinessGrowth), 255); + peep->happiness = min((peep->happiness + happinessGrowth), 255); + } + } loc_69B221: - if (!has_voucher) { - if (gClimateCurrentTemperature >= 21) - value = get_shop_hot_value(shopItem); - else if (gClimateCurrentTemperature <= 11) - value = get_shop_cold_value(shopItem); - else - value = get_shop_base_value(shopItem); + if (!has_voucher) { + if (gClimateCurrentTemperature >= 21) + value = get_shop_hot_value(shopItem); + else if (gClimateCurrentTemperature <= 11) + value = get_shop_cold_value(shopItem); + else + value = get_shop_base_value(shopItem); - value -= price; - uint8 satisfaction = 0; - if (value > -8) { - satisfaction++; - if (value > -3) { - satisfaction++; - if (value > 3) - satisfaction++; - } - } + value -= price; + uint8 satisfaction = 0; + if (value > -8) { + satisfaction++; + if (value > -3) { + satisfaction++; + if (value > 3) + satisfaction++; + } + } - ride_update_satisfaction(ride, satisfaction); - } + ride_update_satisfaction(ride, satisfaction); + } - // The peep has now decided to buy the item (or, specifically, has not been - // dissuaded so far). - if (shopItem >= 32) - peep->item_extra_flags |= (1u << (shopItem - 32)); - else - peep->item_standard_flags |= (1u << shopItem); + // The peep has now decided to buy the item (or, specifically, has not been + // dissuaded so far). + if (shopItem >= 32) + peep->item_extra_flags |= (1u << (shopItem - 32)); + else + peep->item_standard_flags |= (1u << shopItem); - if (shopItem == SHOP_ITEM_TSHIRT) - peep->tshirt_colour = ride->track_colour_main[0]; + if (shopItem == SHOP_ITEM_TSHIRT) + peep->tshirt_colour = ride->track_colour_main[0]; - if (shopItem == SHOP_ITEM_HAT) - peep->hat_colour = ride->track_colour_main[0]; + if (shopItem == SHOP_ITEM_HAT) + peep->hat_colour = ride->track_colour_main[0]; - if (shopItem == SHOP_ITEM_BALLOON) - peep->balloon_colour = ride->track_colour_main[0]; + if (shopItem == SHOP_ITEM_BALLOON) + peep->balloon_colour = ride->track_colour_main[0]; - if (shopItem == SHOP_ITEM_UMBRELLA) - peep->umbrella_colour = ride->track_colour_main[0]; + if (shopItem == SHOP_ITEM_UMBRELLA) + peep->umbrella_colour = ride->track_colour_main[0]; - if (shopItem == SHOP_ITEM_MAP) - peep_reset_pathfind_goal(peep); + if (shopItem == SHOP_ITEM_MAP) + peep_reset_pathfind_goal(peep); - uint16 dl = byte_9822F4[shopItem]; - peep->var_42 = min((peep->var_42 + dl), 255); + uint16 dl = byte_9822F4[shopItem]; + peep->var_42 = min((peep->var_42 + dl), 255); - if (shopItem == SHOP_ITEM_PHOTO) - peep->photo1_ride_ref = rideIndex; + if (shopItem == SHOP_ITEM_PHOTO) + peep->photo1_ride_ref = rideIndex; - if (shopItem == SHOP_ITEM_PHOTO2) - peep->photo2_ride_ref = rideIndex; + if (shopItem == SHOP_ITEM_PHOTO2) + peep->photo2_ride_ref = rideIndex; - if (shopItem == SHOP_ITEM_PHOTO3) - peep->photo3_ride_ref = rideIndex; + if (shopItem == SHOP_ITEM_PHOTO3) + peep->photo3_ride_ref = rideIndex; - if (shopItem == SHOP_ITEM_PHOTO4) - peep->photo4_ride_ref = rideIndex; + if (shopItem == SHOP_ITEM_PHOTO4) + peep->photo4_ride_ref = rideIndex; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - peep_update_sprite_type(peep); - if (peep->peep_flags & PEEP_FLAGS_TRACKING) { - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); - set_format_arg(6, rct_string_id, ShopItemStringIds[shopItem].indefinite); - if (gConfigNotifications.guest_bought_item) { - news_item_add_to_queue(2, STR_PEEP_TRACKING_NOTIFICATION_BOUGHT_X, peep->sprite_index); - } - } + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + peep_update_sprite_type(peep); + if (peep->peep_flags & PEEP_FLAGS_TRACKING) { + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); + set_format_arg(6, rct_string_id, ShopItemStringIds[shopItem].indefinite); + if (gConfigNotifications.guest_bought_item) { + news_item_add_to_queue(2, STR_PEEP_TRACKING_NOTIFICATION_BOUGHT_X, peep->sprite_index); + } + } - if (shop_item_is_food(shopItem)) - peep->no_of_food++; + if (shop_item_is_food(shopItem)) + peep->no_of_food++; - if (shop_item_is_drink(shopItem)) - peep->no_of_drinks++; + if (shop_item_is_drink(shopItem)) + peep->no_of_drinks++; - if (shop_item_is_souvenir(shopItem)) - peep->no_of_souvenirs++; + if (shop_item_is_souvenir(shopItem)) + peep->no_of_souvenirs++; - money16* expend_type = &peep->paid_on_souvenirs; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_SHOP_STOCK; + money16* expend_type = &peep->paid_on_souvenirs; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_SHOP_STOCK; - if (shop_item_is_food(shopItem)) { - expend_type = &peep->paid_on_food; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_FOODDRINK_STOCK; - } + if (shop_item_is_food(shopItem)) { + expend_type = &peep->paid_on_food; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_FOODDRINK_STOCK; + } - if (shop_item_is_drink(shopItem)) { - expend_type = &peep->paid_on_drink; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_FOODDRINK_STOCK; - } + if (shop_item_is_drink(shopItem)) { + expend_type = &peep->paid_on_drink; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_FOODDRINK_STOCK; + } - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) - finance_payment(get_shop_item_cost(shopItem), gCommandExpenditureType); + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) + finance_payment(get_shop_item_cost(shopItem), gCommandExpenditureType); - // Sets the expenditure type to *_FOODDRINK_SALES or *_SHOP_SALES appropriately. - gCommandExpenditureType--; - if (has_voucher) { - peep->item_standard_flags &= ~PEEP_ITEM_VOUCHER; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; - } - else if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { - peep_spend_money(peep, expend_type, price); - } - ride->total_profit += (price - get_shop_item_cost(shopItem)); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->cur_num_customers++; - ride->total_customers++; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; + // Sets the expenditure type to *_FOODDRINK_SALES or *_SHOP_SALES appropriately. + gCommandExpenditureType--; + if (has_voucher) { + peep->item_standard_flags &= ~PEEP_ITEM_VOUCHER; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_INVENTORY; + } + else if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { + peep_spend_money(peep, expend_type, price); + } + ride->total_profit += (price - get_shop_item_cost(shopItem)); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->cur_num_customers++; + ride->total_customers++; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; - return 1; + return 1; } /** @@ -11170,18 +11170,18 @@ loc_69B221: */ static bool peep_should_use_cash_machine(rct_peep *peep, sint32 rideIndex) { - if (gParkFlags & PARK_FLAGS_NO_MONEY) return false; - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) return false; - if (peep->cash_in_pocket > MONEY(20,00)) return false; - if (115 + (scenario_rand() % 128) > peep->happiness) return false; - if (peep->energy < 80) return false; + if (gParkFlags & PARK_FLAGS_NO_MONEY) return false; + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) return false; + if (peep->cash_in_pocket > MONEY(20,00)) return false; + if (115 + (scenario_rand() % 128) > peep->happiness) return false; + if (peep->energy < 80) return false; - rct_ride *ride = get_ride(rideIndex); - ride_update_satisfaction(ride, peep->happiness >> 6); - ride->cur_num_customers++; - ride->total_customers++; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; - return true; + rct_ride *ride = get_ride(rideIndex); + ride_update_satisfaction(ride, peep->happiness >> 6); + ride->cur_num_customers++; + ride->total_customers++; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; + return true; } /** @@ -11191,112 +11191,112 @@ static bool peep_should_use_cash_machine(rct_peep *peep, sint32 rideIndex) void peep_reset_pathfind_goal(rct_peep *peep) { - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (gPathFindDebug) { - log_info("Resetting pathfind_goal for %s", gPathFindDebugPeepName); - } - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + if (gPathFindDebug) { + log_info("Resetting pathfind_goal for %s", gPathFindDebugPeepName); + } + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - peep->pathfind_goal.x = 0xFF; - peep->pathfind_goal.y = 0xFF; - peep->pathfind_goal.z = 0xFF; - peep->pathfind_goal.direction = 0xFF; + peep->pathfind_goal.x = 0xFF; + peep->pathfind_goal.y = 0xFF; + peep->pathfind_goal.z = 0xFF; + peep->pathfind_goal.direction = 0xFF; } static bool peep_has_valid_xy(rct_peep *peep) { - if (peep->x != MAP_LOCATION_NULL) { - if (peep->x < (256 * 32) && peep->y < (256 * 32)) { - return true; - } - } + if (peep->x != MAP_LOCATION_NULL) { + if (peep->x < (256 * 32) && peep->y < (256 * 32)) { + return true; + } + } - return false; + return false; } typedef void(*easter_egg_function)(rct_peep* peep, rct_peep* otherPeep); static void peep_apply_easter_egg_to_nearby_guests(rct_peep *peep, easter_egg_function easter_egg) { - if (!peep_has_valid_xy(peep)) - return; + if (!peep_has_valid_xy(peep)) + return; - uint16 spriteIndex = sprite_get_first_in_quadrant(peep->x, peep->y); - if (spriteIndex == SPRITE_INDEX_NULL) - return; + uint16 spriteIndex = sprite_get_first_in_quadrant(peep->x, peep->y); + if (spriteIndex == SPRITE_INDEX_NULL) + return; - rct_peep * otherPeep = GET_PEEP(spriteIndex); - for (; spriteIndex != SPRITE_INDEX_NULL; spriteIndex = otherPeep->next_in_quadrant) { - otherPeep = GET_PEEP(spriteIndex); + rct_peep * otherPeep = GET_PEEP(spriteIndex); + for (; spriteIndex != SPRITE_INDEX_NULL; spriteIndex = otherPeep->next_in_quadrant) { + otherPeep = GET_PEEP(spriteIndex); - if (otherPeep->sprite_identifier != SPRITE_IDENTIFIER_PEEP) - continue; + if (otherPeep->sprite_identifier != SPRITE_IDENTIFIER_PEEP) + continue; - if (otherPeep->type != PEEP_TYPE_GUEST) - continue; + if (otherPeep->type != PEEP_TYPE_GUEST) + continue; - sint32 zDiff = abs(otherPeep->z - peep->z); - if (zDiff > 32) - continue; + sint32 zDiff = abs(otherPeep->z - peep->z); + if (zDiff > 32) + continue; - easter_egg(peep, otherPeep); - } + easter_egg(peep, otherPeep); + } } static void peep_give_passing_peeps_purple_clothes(rct_peep *peep, rct_peep *otherPeep) { - otherPeep->tshirt_colour = COLOUR_BRIGHT_PURPLE; - otherPeep->trousers_colour = COLOUR_BRIGHT_PURPLE; - invalidate_sprite_2((rct_sprite*)otherPeep); + otherPeep->tshirt_colour = COLOUR_BRIGHT_PURPLE; + otherPeep->trousers_colour = COLOUR_BRIGHT_PURPLE; + invalidate_sprite_2((rct_sprite*)otherPeep); } static void peep_give_passing_peeps_pizza(rct_peep *peep, rct_peep *otherPeep) { - if ((otherPeep->item_standard_flags & PEEP_ITEM_PIZZA)) - return; + if ((otherPeep->item_standard_flags & PEEP_ITEM_PIZZA)) + return; - otherPeep->item_standard_flags |= PEEP_ITEM_PIZZA; + otherPeep->item_standard_flags |= PEEP_ITEM_PIZZA; - sint32 peepDirection = (peep->sprite_direction >> 3) ^ 2; - sint32 otherPeepOppositeDirection = otherPeep->sprite_direction >> 3; - if (peepDirection == otherPeepOppositeDirection) { - if (otherPeep->action == PEEP_ACTION_NONE_1 || otherPeep->action == PEEP_ACTION_NONE_2) { - invalidate_sprite_2((rct_sprite*)peep); - otherPeep->action = PEEP_ACTION_WAVE_2; - otherPeep->action_frame = 0; - otherPeep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(otherPeep); - invalidate_sprite_2((rct_sprite*)otherPeep); - } - } - invalidate_sprite_2((rct_sprite*)otherPeep); + sint32 peepDirection = (peep->sprite_direction >> 3) ^ 2; + sint32 otherPeepOppositeDirection = otherPeep->sprite_direction >> 3; + if (peepDirection == otherPeepOppositeDirection) { + if (otherPeep->action == PEEP_ACTION_NONE_1 || otherPeep->action == PEEP_ACTION_NONE_2) { + invalidate_sprite_2((rct_sprite*)peep); + otherPeep->action = PEEP_ACTION_WAVE_2; + otherPeep->action_frame = 0; + otherPeep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(otherPeep); + invalidate_sprite_2((rct_sprite*)otherPeep); + } + } + invalidate_sprite_2((rct_sprite*)otherPeep); } static void peep_make_passing_peeps_sick(rct_peep *peep, rct_peep *otherPeep) { - if (peep == otherPeep) - return; - if (otherPeep->state == PEEP_STATE_QUEUING) - return; + if (peep == otherPeep) + return; + if (otherPeep->state == PEEP_STATE_QUEUING) + return; - if (otherPeep->action == PEEP_ACTION_NONE_1 || otherPeep->action == PEEP_ACTION_NONE_2) { - otherPeep->action = PEEP_ACTION_THROW_UP; - otherPeep->action_frame = 0; - otherPeep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(otherPeep); - invalidate_sprite_2((rct_sprite*)otherPeep); - } + if (otherPeep->action == PEEP_ACTION_NONE_1 || otherPeep->action == PEEP_ACTION_NONE_2) { + otherPeep->action = PEEP_ACTION_THROW_UP; + otherPeep->action_frame = 0; + otherPeep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(otherPeep); + invalidate_sprite_2((rct_sprite*)otherPeep); + } } static void peep_give_passing_peeps_ice_cream(rct_peep *peep, rct_peep *otherPeep) { - if (peep == otherPeep) - return; - if (otherPeep->item_standard_flags & PEEP_ITEM_ICE_CREAM) - return; + if (peep == otherPeep) + return; + if (otherPeep->item_standard_flags & PEEP_ITEM_ICE_CREAM) + return; - otherPeep->item_standard_flags |= PEEP_ITEM_ICE_CREAM; - peep_update_sprite_type(otherPeep); + otherPeep->item_standard_flags |= PEEP_ITEM_ICE_CREAM; + peep_update_sprite_type(otherPeep); } /** @@ -11305,33 +11305,33 @@ static void peep_give_passing_peeps_ice_cream(rct_peep *peep, rct_peep *otherPee */ static void peep_easter_egg_peep_interactions(rct_peep *peep) { - if (peep->peep_flags & PEEP_FLAGS_PURPLE) { - peep_apply_easter_egg_to_nearby_guests(peep, &peep_give_passing_peeps_purple_clothes); - } + if (peep->peep_flags & PEEP_FLAGS_PURPLE) { + peep_apply_easter_egg_to_nearby_guests(peep, &peep_give_passing_peeps_purple_clothes); + } - if (peep->peep_flags & PEEP_FLAGS_PIZZA) { - peep_apply_easter_egg_to_nearby_guests(peep, &peep_give_passing_peeps_pizza); - } + if (peep->peep_flags & PEEP_FLAGS_PIZZA) { + peep_apply_easter_egg_to_nearby_guests(peep, &peep_give_passing_peeps_pizza); + } - if (peep->peep_flags & PEEP_FLAGS_CONTAGIOUS) { - peep_apply_easter_egg_to_nearby_guests(peep, &peep_make_passing_peeps_sick); - } + if (peep->peep_flags & PEEP_FLAGS_CONTAGIOUS) { + peep_apply_easter_egg_to_nearby_guests(peep, &peep_make_passing_peeps_sick); + } - if (peep->peep_flags & PEEP_FLAGS_JOY) { - if (scenario_rand() <= 1456) { - if (peep->action == PEEP_ACTION_NONE_1 || peep->action == PEEP_ACTION_NONE_2) { - peep->action = PEEP_ACTION_JOY; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - } - } - } + if (peep->peep_flags & PEEP_FLAGS_JOY) { + if (scenario_rand() <= 1456) { + if (peep->action == PEEP_ACTION_NONE_1 || peep->action == PEEP_ACTION_NONE_2) { + peep->action = PEEP_ACTION_JOY; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + } + } + } - if (peep->peep_flags & PEEP_FLAGS_ICE_CREAM) { - peep_apply_easter_egg_to_nearby_guests(peep, &peep_give_passing_peeps_ice_cream); - } + if (peep->peep_flags & PEEP_FLAGS_ICE_CREAM) { + peep_apply_easter_egg_to_nearby_guests(peep, &peep_give_passing_peeps_ice_cream); + } } /** @@ -11340,37 +11340,37 @@ static void peep_easter_egg_peep_interactions(rct_peep *peep) * @return (CF) */ static bool peep_should_watch_ride(rct_map_element *mapElement) { - rct_ride *ride = get_ride(mapElement->properties.track.ride_index); - if (gRideClassifications[ride->type] != RIDE_CLASS_RIDE) { - return false; - } + rct_ride *ride = get_ride(mapElement->properties.track.ride_index); + if (gRideClassifications[ride->type] != RIDE_CLASS_RIDE) { + return false; + } - // This is most likely to have peeps watch new rides - if (ride->excitement == RIDE_RATING_UNDEFINED) { - return true; - } + // This is most likely to have peeps watch new rides + if (ride->excitement == RIDE_RATING_UNDEFINED) { + return true; + } - if (ride->excitement >= RIDE_RATING(4, 70)) { - return true; - } + if (ride->excitement >= RIDE_RATING(4, 70)) { + return true; + } - if (ride->intensity >= RIDE_RATING(4, 50)) { - return true; - } + if (ride->intensity >= RIDE_RATING(4, 50)) { + return true; + } - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT) { - if ((scenario_rand() & 0xFFFF) > 0x3333) { - return false; - } - } else if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT) { - if ((scenario_rand() & 0xFFFF) > 0x1000) { - return false; - } - } else { - return false; - } + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT) { + if ((scenario_rand() & 0xFFFF) > 0x3333) { + return false; + } + } else if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT) { + if ((scenario_rand() & 0xFFFF) > 0x1000) { + return false; + } + } else { + return false; + } - return true; + return true; } /** @@ -11385,237 +11385,237 @@ static bool peep_should_watch_ride(rct_map_element *mapElement) { */ static bool peep_find_ride_to_look_at(rct_peep *peep, uint8 edge, uint8 *rideToView, uint8 *rideSeatToView) { - rct_map_element *mapElement, *surfaceElement; + rct_map_element *mapElement, *surfaceElement; - surfaceElement = map_get_surface_element_at(peep->next_x / 32, peep->next_y / 32); + surfaceElement = map_get_surface_element_at(peep->next_x / 32, peep->next_y / 32); - mapElement = surfaceElement; - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) continue; - if (map_element_get_direction(mapElement) != edge) continue; - if (get_wall_entry(mapElement->properties.wall.type)->wall.flags2 & WALL_SCENERY_2_FLAG4) continue; - if (peep->next_z + 4 <= mapElement->base_height) continue; - if (peep->next_z + 1 >= mapElement->clearance_height) continue; + mapElement = surfaceElement; + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) continue; + if (map_element_get_direction(mapElement) != edge) continue; + if (get_wall_entry(mapElement->properties.wall.type)->wall.flags2 & WALL_SCENERY_2_FLAG4) continue; + if (peep->next_z + 4 <= mapElement->base_height) continue; + if (peep->next_z + 1 >= mapElement->clearance_height) continue; - return false; - } while (!map_element_is_last_for_tile(mapElement++)); + return false; + } while (!map_element_is_last_for_tile(mapElement++)); - uint16 x = peep->next_x + TileDirectionDelta[edge].x; - uint16 y = peep->next_y + TileDirectionDelta[edge].y; - if (x > 255 * 32 || y > 255 * 32) { - return false; - } + uint16 x = peep->next_x + TileDirectionDelta[edge].x; + uint16 y = peep->next_y + TileDirectionDelta[edge].y; + if (x > 255 * 32 || y > 255 * 32) { + return false; + } - surfaceElement = map_get_surface_element_at(x / 32, y / 32); + surfaceElement = map_get_surface_element_at(x / 32, y / 32); - mapElement = surfaceElement; - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) continue; - if ((map_element_get_direction(mapElement) ^ 0x2) != edge) continue; - if (get_wall_entry(mapElement->properties.wall.type)->wall.flags2 & WALL_SCENERY_2_FLAG4) continue; - // TODO: Check whether this shouldn't be <=, as the other loops use. If so, also extract as loop A. - if (peep->next_z + 4 >= mapElement->base_height) continue; - if (peep->next_z + 1 >= mapElement->clearance_height) continue; + mapElement = surfaceElement; + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) continue; + if ((map_element_get_direction(mapElement) ^ 0x2) != edge) continue; + if (get_wall_entry(mapElement->properties.wall.type)->wall.flags2 & WALL_SCENERY_2_FLAG4) continue; + // TODO: Check whether this shouldn't be <=, as the other loops use. If so, also extract as loop A. + if (peep->next_z + 4 >= mapElement->base_height) continue; + if (peep->next_z + 1 >= mapElement->clearance_height) continue; - return false; - } while (!map_element_is_last_for_tile(mapElement++)); + return false; + } while (!map_element_is_last_for_tile(mapElement++)); - // TODO: Extract loop B - mapElement = surfaceElement; - do { - if (mapElement->clearance_height + 1 < peep->next_z) continue; - if (peep->next_z + 6 < mapElement->base_height) continue; + // TODO: Extract loop B + mapElement = surfaceElement; + do { + if (mapElement->clearance_height + 1 < peep->next_z) continue; + if (peep->next_z + 6 < mapElement->base_height) continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK) { - if (peep_should_watch_ride(mapElement)) { - return loc_690FD0(peep, rideToView, rideSeatToView, mapElement); - } - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK) { + if (peep_should_watch_ride(mapElement)) { + return loc_690FD0(peep, rideToView, rideSeatToView, mapElement); + } + } - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { - if (!(get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF)->large_scenery.flags & LARGE_SCENERY_FLAG5)) { - continue; - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { + if (!(get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF)->large_scenery.flags & LARGE_SCENERY_FLAG5)) { + continue; + } - *rideSeatToView = 0; - if (mapElement->clearance_height >= peep->next_z + 8) { - *rideSeatToView = 0x02; - } + *rideSeatToView = 0; + if (mapElement->clearance_height >= peep->next_z + 8) { + *rideSeatToView = 0x02; + } - *rideToView = 0xFF; + *rideToView = 0xFF; - return true; - } - } while (!map_element_is_last_for_tile(mapElement++)); + return true; + } + } while (!map_element_is_last_for_tile(mapElement++)); - // TODO: Extract loop C - mapElement = surfaceElement; - do { - if (mapElement->clearance_height + 1 < peep->next_z) continue; - if (peep->next_z + 6 < mapElement->base_height) continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SURFACE) continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) continue; + // TODO: Extract loop C + mapElement = surfaceElement; + do { + if (mapElement->clearance_height + 1 < peep->next_z) continue; + if (peep->next_z + 6 < mapElement->base_height) continue; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SURFACE) continue; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_WALL) { - if (get_wall_entry(mapElement->properties.wall.type)->wall.flags2 & WALL_SCENERY_2_FLAG4) { - continue; - } - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_WALL) { + if (get_wall_entry(mapElement->properties.wall.type)->wall.flags2 & WALL_SCENERY_2_FLAG4) { + continue; + } + } - return false; - } while (!map_element_is_last_for_tile(mapElement++)); + return false; + } while (!map_element_is_last_for_tile(mapElement++)); - x += TileDirectionDelta[edge].x; - y += TileDirectionDelta[edge].y; - if (x > 255 * 32 || y > 255 * 32) { - return false; - } + x += TileDirectionDelta[edge].x; + y += TileDirectionDelta[edge].y; + if (x > 255 * 32 || y > 255 * 32) { + return false; + } - surfaceElement = map_get_surface_element_at(x / 32, y / 32); + surfaceElement = map_get_surface_element_at(x / 32, y / 32); - // TODO: extract loop A - mapElement = surfaceElement; - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) continue; - if ((map_element_get_direction(mapElement) ^ 0x2) != edge) continue; - if (get_wall_entry(mapElement->properties.wall.type)->wall.flags2 & WALL_SCENERY_2_FLAG4) continue; - if (peep->next_z + 6 <= mapElement->base_height) continue; - if (peep->next_z >= mapElement->clearance_height) continue; + // TODO: extract loop A + mapElement = surfaceElement; + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) continue; + if ((map_element_get_direction(mapElement) ^ 0x2) != edge) continue; + if (get_wall_entry(mapElement->properties.wall.type)->wall.flags2 & WALL_SCENERY_2_FLAG4) continue; + if (peep->next_z + 6 <= mapElement->base_height) continue; + if (peep->next_z >= mapElement->clearance_height) continue; - return false; - } while (!map_element_is_last_for_tile(mapElement++)); + return false; + } while (!map_element_is_last_for_tile(mapElement++)); - // TODO: Extract loop B - mapElement = surfaceElement; - do { - if (mapElement->clearance_height + 1 < peep->next_z) continue; - if (peep->next_z + 8 < mapElement->base_height) continue; + // TODO: Extract loop B + mapElement = surfaceElement; + do { + if (mapElement->clearance_height + 1 < peep->next_z) continue; + if (peep->next_z + 8 < mapElement->base_height) continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK) { - if (peep_should_watch_ride(mapElement)) { - return loc_690FD0(peep, rideToView, rideSeatToView, mapElement); - } - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK) { + if (peep_should_watch_ride(mapElement)) { + return loc_690FD0(peep, rideToView, rideSeatToView, mapElement); + } + } - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { - if (!(get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF)->large_scenery.flags & LARGE_SCENERY_FLAG5)) { - continue; - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { + if (!(get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF)->large_scenery.flags & LARGE_SCENERY_FLAG5)) { + continue; + } - *rideSeatToView = 0; - if (mapElement->clearance_height >= peep->next_z + 8) { - *rideSeatToView = 0x02; - } + *rideSeatToView = 0; + if (mapElement->clearance_height >= peep->next_z + 8) { + *rideSeatToView = 0x02; + } - *rideToView = 0xFF; + *rideToView = 0xFF; - return true; - } - } while (!map_element_is_last_for_tile(mapElement++)); + return true; + } + } while (!map_element_is_last_for_tile(mapElement++)); - // TODO: Extract loop C - mapElement = surfaceElement; - do { - if (mapElement->clearance_height + 1 < peep->next_z) continue; - if (peep->next_z + 8 < mapElement->base_height) continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SURFACE) continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) continue; + // TODO: Extract loop C + mapElement = surfaceElement; + do { + if (mapElement->clearance_height + 1 < peep->next_z) continue; + if (peep->next_z + 8 < mapElement->base_height) continue; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SURFACE) continue; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_WALL) { - if (get_wall_entry(mapElement->properties.wall.type)->wall.flags2 & WALL_SCENERY_2_FLAG4) { - continue; - } - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_WALL) { + if (get_wall_entry(mapElement->properties.wall.type)->wall.flags2 & WALL_SCENERY_2_FLAG4) { + continue; + } + } - return false; - } while (!map_element_is_last_for_tile(mapElement++)); + return false; + } while (!map_element_is_last_for_tile(mapElement++)); - x += TileDirectionDelta[edge].x; - y += TileDirectionDelta[edge].y; - if (x > 255 * 32 || y > 255 * 32) { - return false; - } + x += TileDirectionDelta[edge].x; + y += TileDirectionDelta[edge].y; + if (x > 255 * 32 || y > 255 * 32) { + return false; + } - surfaceElement = map_get_surface_element_at(x / 32, y / 32); + surfaceElement = map_get_surface_element_at(x / 32, y / 32); - // TODO: extract loop A - mapElement = surfaceElement; - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) continue; - if ((map_element_get_direction(mapElement) ^ 0x2) != edge) continue; - if (get_wall_entry(mapElement->properties.wall.type)->wall.flags2 & WALL_SCENERY_2_FLAG4) continue; - if (peep->next_z + 8 <= mapElement->base_height) continue; - if (peep->next_z >= mapElement->clearance_height) continue; + // TODO: extract loop A + mapElement = surfaceElement; + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) continue; + if ((map_element_get_direction(mapElement) ^ 0x2) != edge) continue; + if (get_wall_entry(mapElement->properties.wall.type)->wall.flags2 & WALL_SCENERY_2_FLAG4) continue; + if (peep->next_z + 8 <= mapElement->base_height) continue; + if (peep->next_z >= mapElement->clearance_height) continue; - return false; - } while (!map_element_is_last_for_tile(mapElement++)); + return false; + } while (!map_element_is_last_for_tile(mapElement++)); - // TODO: Extract loop B - mapElement = surfaceElement; - do { - if (mapElement->clearance_height + 1 < peep->next_z) continue; - if (peep->next_z + 10 < mapElement->base_height) continue; + // TODO: Extract loop B + mapElement = surfaceElement; + do { + if (mapElement->clearance_height + 1 < peep->next_z) continue; + if (peep->next_z + 10 < mapElement->base_height) continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK) { - if (peep_should_watch_ride(mapElement)) { - return loc_690FD0(peep, rideToView, rideSeatToView, mapElement); - } - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK) { + if (peep_should_watch_ride(mapElement)) { + return loc_690FD0(peep, rideToView, rideSeatToView, mapElement); + } + } - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { - if (!(get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF)->large_scenery.flags & LARGE_SCENERY_FLAG5)) { - continue; - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { + if (!(get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF)->large_scenery.flags & LARGE_SCENERY_FLAG5)) { + continue; + } - *rideSeatToView = 0; - if (mapElement->clearance_height >= peep->next_z + 8) { - *rideSeatToView = 0x02; - } + *rideSeatToView = 0; + if (mapElement->clearance_height >= peep->next_z + 8) { + *rideSeatToView = 0x02; + } - *rideToView = 0xFF; + *rideToView = 0xFF; - return true; - } - } while (!map_element_is_last_for_tile(mapElement++)); + return true; + } + } while (!map_element_is_last_for_tile(mapElement++)); - return false; + return false; } bool loc_690FD0(rct_peep *peep, uint8 *rideToView, uint8 *rideSeatToView, rct_map_element *esi) { - rct_ride *ride = get_ride(esi->properties.track.ride_index); + rct_ride *ride = get_ride(esi->properties.track.ride_index); - *rideToView = esi->properties.track.ride_index; - if (ride->excitement == RIDE_RATING_UNDEFINED) { - *rideSeatToView = 1; - if (ride->status != RIDE_STATUS_OPEN) { - if (esi->clearance_height > peep->next_z + 8) { - *rideSeatToView |= (1 << 1); - } + *rideToView = esi->properties.track.ride_index; + if (ride->excitement == RIDE_RATING_UNDEFINED) { + *rideSeatToView = 1; + if (ride->status != RIDE_STATUS_OPEN) { + if (esi->clearance_height > peep->next_z + 8) { + *rideSeatToView |= (1 << 1); + } - return true; - } - } else { - *rideSeatToView = 0; - if (ride->status == RIDE_STATUS_OPEN && !(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)) { - if (esi->clearance_height > peep->next_z + 8) { - *rideSeatToView = 0x02; - } + return true; + } + } else { + *rideSeatToView = 0; + if (ride->status == RIDE_STATUS_OPEN && !(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)) { + if (esi->clearance_height > peep->next_z + 8) { + *rideSeatToView = 0x02; + } - return true; - } - } + return true; + } + } - return false; + return false; } /** @@ -11625,36 +11625,36 @@ bool loc_690FD0(rct_peep *peep, uint8 *rideToView, uint8 *rideSeatToView, rct_ma */ static sint32 peep_get_height_on_slope(rct_peep *peep, sint32 x, sint32 y) { - if (x == MAP_LOCATION_NULL) - return 0; + if (x == MAP_LOCATION_NULL) + return 0; - if (peep->next_var_29 & 0x18){ - return map_element_height(x, y) & 0xFFFF; - } + if (peep->next_var_29 & 0x18){ + return map_element_height(x, y) & 0xFFFF; + } - sint32 z = peep->next_z * 8; + sint32 z = peep->next_z * 8; - return z + map_height_from_slope(x, y, peep->next_var_29); + return z + map_height_from_slope(x, y, peep->next_var_29); } static bool peep_has_voucher_for_free_ride(rct_peep *peep, sint32 rideIndex) { - return - peep->item_standard_flags & PEEP_ITEM_VOUCHER && - peep->voucher_type == VOUCHER_TYPE_RIDE_FREE && - peep->voucher_arguments == rideIndex; + return + peep->item_standard_flags & PEEP_ITEM_VOUCHER && + peep->voucher_type == VOUCHER_TYPE_RIDE_FREE && + peep->voucher_arguments == rideIndex; } static void peep_reset_ride_heading(rct_peep *peep) { - rct_window *w; + rct_window *w; - peep->guest_heading_to_ride_id = 255; - w = window_find_by_number(WC_PEEP, peep->sprite_index); - if (w != NULL) { - window_event_invalidate_call(w); - widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL); - } + peep->guest_heading_to_ride_id = 255; + w = window_find_by_number(WC_PEEP, peep->sprite_index); + if (w != NULL) { + window_event_invalidate_call(w); + widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL); + } } /** @@ -11665,276 +11665,276 @@ static void peep_reset_ride_heading(rct_peep *peep) */ static bool peep_should_go_on_ride(rct_peep *peep, sint32 rideIndex, sint32 entranceNum, sint32 flags) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - // Indicates if the peep is about to enter a queue (as opposed to entering an entrance directly from a path) - bool peepAtQueue = flags & PEEP_RIDE_DECISION_AT_QUEUE; + // Indicates if the peep is about to enter a queue (as opposed to entering an entrance directly from a path) + bool peepAtQueue = flags & PEEP_RIDE_DECISION_AT_QUEUE; - // Indicates whether a peep is physically at the ride, or is just thinking about going on the ride. - bool peepAtRide = !(flags & PEEP_RIDE_DECISION_THINKING); + // Indicates whether a peep is physically at the ride, or is just thinking about going on the ride. + bool peepAtRide = !(flags & PEEP_RIDE_DECISION_THINKING); - if (ride->status == RIDE_STATUS_OPEN && !(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)) { + if (ride->status == RIDE_STATUS_OPEN && !(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)) { - // Peeps that are leaving the park will refuse to go on any rides, with the exception of free transport rides. - if (!(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_TRANSPORT_RIDE) || - ride->value == 0xFFFF || - ride_get_price(ride) != 0 - ) { - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) { - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, false); - return false; - } - } + // Peeps that are leaving the park will refuse to go on any rides, with the exception of free transport rides. + if (!(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_TRANSPORT_RIDE) || + ride->value == 0xFFFF || + ride_get_price(ride) != 0 + ) { + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) { + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, false); + return false; + } + } - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) { - return peep_should_go_to_shop(peep, rideIndex, peepAtRide); - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) { + return peep_should_go_to_shop(peep, rideIndex, peepAtRide); + } - // This used to check !(flags & 2), but the function is only ever called with flags = 0, 1 or 6. - // This means we can use the existing !(flags & 4) check. - if (peepAtRide) { - // Peeps won't join a queue that has 1000 peeps already in it. - if (ride->queue_length[entranceNum] >= 1000) { - peep_tried_to_enter_full_queue(peep, rideIndex); - return false; - } + // This used to check !(flags & 2), but the function is only ever called with flags = 0, 1 or 6. + // This means we can use the existing !(flags & 4) check. + if (peepAtRide) { + // Peeps won't join a queue that has 1000 peeps already in it. + if (ride->queue_length[entranceNum] >= 1000) { + peep_tried_to_enter_full_queue(peep, rideIndex); + return false; + } - // Rides without queues can only have one peep waiting at a time. - if (!peepAtQueue) { - if (ride->last_peep_in_queue[entranceNum] != 0xFFFF) { - peep_tried_to_enter_full_queue(peep, rideIndex); - return false; - } - } - else { - // Check if there's room in the queue for the peep to enter. - if (ride->last_peep_in_queue[entranceNum] != 0xFFFF) { - rct_peep *lastPeepInQueue = GET_PEEP(ride->last_peep_in_queue[entranceNum]); - if (abs(lastPeepInQueue->z - peep->z) <= 6) { - sint32 dx = abs(lastPeepInQueue->x - peep->x); - sint32 dy = abs(lastPeepInQueue->y - peep->y); - sint32 maxD = max(dx, dy); + // Rides without queues can only have one peep waiting at a time. + if (!peepAtQueue) { + if (ride->last_peep_in_queue[entranceNum] != 0xFFFF) { + peep_tried_to_enter_full_queue(peep, rideIndex); + return false; + } + } + else { + // Check if there's room in the queue for the peep to enter. + if (ride->last_peep_in_queue[entranceNum] != 0xFFFF) { + rct_peep *lastPeepInQueue = GET_PEEP(ride->last_peep_in_queue[entranceNum]); + if (abs(lastPeepInQueue->z - peep->z) <= 6) { + sint32 dx = abs(lastPeepInQueue->x - peep->x); + sint32 dy = abs(lastPeepInQueue->y - peep->y); + sint32 maxD = max(dx, dy); - // Unlike normal paths, peeps cannot overlap when queueing for a ride. - // This check enforces a minimum distance between peeps entering the queue. - if (maxD < 8) { - peep_tried_to_enter_full_queue(peep, rideIndex); - return false; - } + // Unlike normal paths, peeps cannot overlap when queueing for a ride. + // This check enforces a minimum distance between peeps entering the queue. + if (maxD < 8) { + peep_tried_to_enter_full_queue(peep, rideIndex); + return false; + } - // This checks if there's a peep standing still at the very end of the queue. - if (maxD <= 13 - && lastPeepInQueue->time_in_queue > 10) { - peep_tried_to_enter_full_queue(peep, rideIndex); - return false; - } - } - } - } - } + // This checks if there's a peep standing still at the very end of the queue. + if (maxD <= 13 + && lastPeepInQueue->time_in_queue > 10) { + peep_tried_to_enter_full_queue(peep, rideIndex); + return false; + } + } + } + } + } - // Assuming the queue conditions are met, peeps will always go on free transport rides. - // Ride ratings, recent crashes and weather will all be ignored. - money16 ridePrice = ride_get_price(ride); - if (!(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_TRANSPORT_RIDE) || ride->value == 0xFFFF || ridePrice != 0) { - if (peep->previous_ride == rideIndex) { - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, false); - return false; - } + // Assuming the queue conditions are met, peeps will always go on free transport rides. + // Ride ratings, recent crashes and weather will all be ignored. + money16 ridePrice = ride_get_price(ride); + if (!(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_TRANSPORT_RIDE) || ride->value == 0xFFFF || ridePrice != 0) { + if (peep->previous_ride == rideIndex) { + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, false); + return false; + } - // Basic price checks - if (ridePrice != 0 && !peep_has_voucher_for_free_ride(peep, rideIndex)) { + // Basic price checks + if (ridePrice != 0 && !peep_has_voucher_for_free_ride(peep, rideIndex)) { - if (ridePrice > peep->cash_in_pocket) { - if (peepAtRide) { - if (peep->cash_in_pocket <= 0) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_SPENT_MONEY, 255); - } - else { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CANT_AFFORD_0, rideIndex); - } - } - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); - return false; - } - } + if (ridePrice > peep->cash_in_pocket) { + if (peepAtRide) { + if (peep->cash_in_pocket <= 0) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_SPENT_MONEY, 255); + } + else { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CANT_AFFORD_0, rideIndex); + } + } + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); + return false; + } + } - // If happy enough, peeps will ignore the fact that a ride has recently crashed. - if (ride->last_crash_type != RIDE_CRASH_TYPE_NONE && peep->happiness < 225) { - if (peepAtRide) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_NOT_SAFE, rideIndex); - if (peep->happiness_growth_rate >= 64) { - peep->happiness_growth_rate -= 8; - } - ride_update_popularity(ride, 0); - } - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); - return false; - } + // If happy enough, peeps will ignore the fact that a ride has recently crashed. + if (ride->last_crash_type != RIDE_CRASH_TYPE_NONE && peep->happiness < 225) { + if (peepAtRide) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_NOT_SAFE, rideIndex); + if (peep->happiness_growth_rate >= 64) { + peep->happiness_growth_rate -= 8; + } + ride_update_popularity(ride, 0); + } + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); + return false; + } - if (ride_has_ratings(ride)) { - // If a peep has already decided that they're going to go on a ride, they'll skip the weather and - // excitement check and will only do a basic intensity check when they arrive at the ride itself. - if (rideIndex == peep->guest_heading_to_ride_id) { - if (ride->intensity > RIDE_RATING(10, 00) && !gCheatsIgnoreRideIntensity) { - peep_ride_is_too_intense(peep, rideIndex, peepAtRide); - return false; - } - } + if (ride_has_ratings(ride)) { + // If a peep has already decided that they're going to go on a ride, they'll skip the weather and + // excitement check and will only do a basic intensity check when they arrive at the ride itself. + if (rideIndex == peep->guest_heading_to_ride_id) { + if (ride->intensity > RIDE_RATING(10, 00) && !gCheatsIgnoreRideIntensity) { + peep_ride_is_too_intense(peep, rideIndex, peepAtRide); + return false; + } + } - // Peeps won't go on rides that aren't sufficiently undercover while it's raining. - // The threshold is fairly low and only requires about 10-15% of the ride to be undercover. - if (gClimateCurrentRainLevel != 0 && (ride->sheltered_eighths >> 5) < 3) { - if (peepAtRide) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_NOT_WHILE_RAINING, rideIndex); - if (peep->happiness_growth_rate >= 64) { - peep->happiness_growth_rate -= 8; - } - ride_update_popularity(ride, 0); - } - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); - return false; - } + // Peeps won't go on rides that aren't sufficiently undercover while it's raining. + // The threshold is fairly low and only requires about 10-15% of the ride to be undercover. + if (gClimateCurrentRainLevel != 0 && (ride->sheltered_eighths >> 5) < 3) { + if (peepAtRide) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_NOT_WHILE_RAINING, rideIndex); + if (peep->happiness_growth_rate >= 64) { + peep->happiness_growth_rate -= 8; + } + ride_update_popularity(ride, 0); + } + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); + return false; + } - if (!gCheatsIgnoreRideIntensity) { - // Intensity calculations. Even though the max intensity can go up to 15, it's capped - // at 10.0 (before happiness calculations). A full happiness bar will increase the max - // intensity and decrease the min intensity by about 2.5. - ride_rating maxIntensity = min((peep->intensity >> 4) * 100, 1000) + peep->happiness; - ride_rating minIntensity = ((peep->intensity & 0x0F) * 100) - peep->happiness; - if (ride->intensity < minIntensity) { - if (peepAtRide) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_MORE_THRILLING, rideIndex); - if (peep->happiness_growth_rate >= 64) { - peep->happiness_growth_rate -= 8; - } - ride_update_popularity(ride, 0); - } - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); - return false; - } - if (ride->intensity > maxIntensity) { - peep_ride_is_too_intense(peep, rideIndex, peepAtRide); - return false; - } + if (!gCheatsIgnoreRideIntensity) { + // Intensity calculations. Even though the max intensity can go up to 15, it's capped + // at 10.0 (before happiness calculations). A full happiness bar will increase the max + // intensity and decrease the min intensity by about 2.5. + ride_rating maxIntensity = min((peep->intensity >> 4) * 100, 1000) + peep->happiness; + ride_rating minIntensity = ((peep->intensity & 0x0F) * 100) - peep->happiness; + if (ride->intensity < minIntensity) { + if (peepAtRide) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_MORE_THRILLING, rideIndex); + if (peep->happiness_growth_rate >= 64) { + peep->happiness_growth_rate -= 8; + } + ride_update_popularity(ride, 0); + } + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); + return false; + } + if (ride->intensity > maxIntensity) { + peep_ride_is_too_intense(peep, rideIndex, peepAtRide); + return false; + } - // Nausea calculations. - ride_rating maxNausea = NauseaMaximumThresholds[(peep->nausea_tolerance & 3)] + peep->happiness; + // Nausea calculations. + ride_rating maxNausea = NauseaMaximumThresholds[(peep->nausea_tolerance & 3)] + peep->happiness; - if (ride->nausea > maxNausea) { - if (peepAtRide) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_SICKENING, rideIndex); - if (peep->happiness_growth_rate >= 64) { - peep->happiness_growth_rate -= 8; - } - ride_update_popularity(ride, 0); - } - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); - return false; - } + if (ride->nausea > maxNausea) { + if (peepAtRide) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_SICKENING, rideIndex); + if (peep->happiness_growth_rate >= 64) { + peep->happiness_growth_rate -= 8; + } + ride_update_popularity(ride, 0); + } + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); + return false; + } - // Very nauseous peeps will only go on very gentle rides. - if (ride->nausea >= FIXED_2DP(1, 40) && peep->nausea > 160) { - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, false); - return false; - } - } - } + // Very nauseous peeps will only go on very gentle rides. + if (ride->nausea >= FIXED_2DP(1, 40) && peep->nausea > 160) { + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, false); + return false; + } + } + } - // If the ride has not yet been rated and is capable of having g-forces, - // there's a 90% chance that the peep will ignore it. - if (!ride_has_ratings(ride) && (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES)) { - if ((scenario_rand() & 0xFFFF) > 0x1999U) { - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, false); - return false; - } + // If the ride has not yet been rated and is capable of having g-forces, + // there's a 90% chance that the peep will ignore it. + if (!ride_has_ratings(ride) && (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES)) { + if ((scenario_rand() & 0xFFFF) > 0x1999U) { + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, false); + return false; + } - if (!gCheatsIgnoreRideIntensity) { - if (ride->max_positive_vertical_g > FIXED_2DP(5, 00) - || ride->max_negative_vertical_g < FIXED_2DP(-4, 00) - || ride->max_lateral_g > FIXED_2DP(4, 00)) { - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, false); - return false; - } - } - } + if (!gCheatsIgnoreRideIntensity) { + if (ride->max_positive_vertical_g > FIXED_2DP(5, 00) + || ride->max_negative_vertical_g < FIXED_2DP(-4, 00) + || ride->max_lateral_g > FIXED_2DP(4, 00)) { + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, false); + return false; + } + } + } - uint32 value = ride->value; + uint32 value = ride->value; - // If the value of the ride hasn't yet been calculated, peeps will be willing to pay any amount for the ride. - if (value != 0xFFFF && !peep_has_voucher_for_free_ride(peep, rideIndex) && !(gParkFlags & PARK_FLAGS_NO_MONEY)) { + // If the value of the ride hasn't yet been calculated, peeps will be willing to pay any amount for the ride. + if (value != 0xFFFF && !peep_has_voucher_for_free_ride(peep, rideIndex) && !(gParkFlags & PARK_FLAGS_NO_MONEY)) { - // The amount peeps are willing to pay is decreased by 75% if they had to pay to enter the park. - if (peep->peep_flags & PEEP_FLAGS_HAS_PAID_FOR_PARK_ENTRY) - value /= 4; + // The amount peeps are willing to pay is decreased by 75% if they had to pay to enter the park. + if (peep->peep_flags & PEEP_FLAGS_HAS_PAID_FOR_PARK_ENTRY) + value /= 4; - // Peeps won't pay more than twice the value of the ride. - ridePrice = ride_get_price(ride); - if (ridePrice > (money16)(value * 2)) { - if (peepAtRide) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_BAD_VALUE, rideIndex); - if (peep->happiness_growth_rate < 60) { - peep->happiness_growth_rate -= 16; - } - ride_update_popularity(ride, 0); - } - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); - return false; - } + // Peeps won't pay more than twice the value of the ride. + ridePrice = ride_get_price(ride); + if (ridePrice > (money16)(value * 2)) { + if (peepAtRide) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_BAD_VALUE, rideIndex); + if (peep->happiness_growth_rate < 60) { + peep->happiness_growth_rate -= 16; + } + ride_update_popularity(ride, 0); + } + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); + return false; + } - // A ride is good value if the price is 50% or less of the ride value and the peep didn't pay to enter the park. - if (ridePrice <= (money16)(value / 2) && peepAtRide) { - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { - if (!(peep->peep_flags & PEEP_FLAGS_HAS_PAID_FOR_PARK_ENTRY)) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_GOOD_VALUE, rideIndex); - } - } - } - } - } + // A ride is good value if the price is 50% or less of the ride value and the peep didn't pay to enter the park. + if (ridePrice <= (money16)(value / 2) && peepAtRide) { + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { + if (!(peep->peep_flags & PEEP_FLAGS_HAS_PAID_FOR_PARK_ENTRY)) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_GOOD_VALUE, rideIndex); + } + } + } + } + } - // At this point, the peep has decided to go on the ride. - if (peepAtRide) { - ride_update_popularity(ride, 1); - } + // At this point, the peep has decided to go on the ride. + if (peepAtRide) { + ride_update_popularity(ride, 1); + } - if (rideIndex == peep->guest_heading_to_ride_id) { - peep_reset_ride_heading(peep); - } + if (rideIndex == peep->guest_heading_to_ride_id) { + peep_reset_ride_heading(peep); + } - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_QUEUE_FULL; - return true; - } + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_QUEUE_FULL; + return true; + } - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, false); - return false; + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, false); + return false; } static void peep_ride_is_too_intense(rct_peep *peep, sint32 rideIndex, bool peepAtRide) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - if (peepAtRide) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_INTENSE, rideIndex); - if (peep->happiness_growth_rate >= 64) { - peep->happiness_growth_rate -= 8; - } - ride_update_popularity(ride, 0); - } - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); + if (peepAtRide) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_INTENSE, rideIndex); + if (peep->happiness_growth_rate >= 64) { + peep->happiness_growth_rate -= 8; + } + ride_update_popularity(ride, 0); + } + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtRide, true); } static void peep_chose_not_to_go_on_ride(rct_peep *peep, sint32 rideIndex, bool peepAtRide, bool updateLastRide) { - if (peepAtRide && updateLastRide) { - peep->previous_ride = rideIndex; - peep->previous_ride_time_out = 0; - } + if (peepAtRide && updateLastRide) { + peep->previous_ride = rideIndex; + peep->previous_ride_time_out = 0; + } - if (rideIndex == peep->guest_heading_to_ride_id) { - peep_reset_ride_heading(peep); - } + if (rideIndex == peep->guest_heading_to_ride_id) { + peep_reset_ride_heading(peep); + } } /** @@ -11944,76 +11944,76 @@ static void peep_chose_not_to_go_on_ride(rct_peep *peep, sint32 rideIndex, bool */ static void peep_tried_to_enter_full_queue(rct_peep *peep, sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - ride->lifecycle_flags |= RIDE_LIFECYCLE_QUEUE_FULL; - peep->previous_ride = rideIndex; - peep->previous_ride_time_out = 0; - //Change status "Heading to" to "Walking" if queue is full - if (rideIndex == peep->guest_heading_to_ride_id) { - peep_reset_ride_heading(peep); - } + ride->lifecycle_flags |= RIDE_LIFECYCLE_QUEUE_FULL; + peep->previous_ride = rideIndex; + peep->previous_ride_time_out = 0; + //Change status "Heading to" to "Walking" if queue is full + if (rideIndex == peep->guest_heading_to_ride_id) { + peep_reset_ride_heading(peep); + } } static bool peep_should_go_to_shop(rct_peep *peep, sint32 rideIndex, bool peepAtShop) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - // Peeps won't go to the same shop twice in a row. - if (rideIndex == peep->previous_ride) { - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtShop, true); - return false; - } + // Peeps won't go to the same shop twice in a row. + if (rideIndex == peep->previous_ride) { + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtShop, true); + return false; + } - if (ride->type == RIDE_TYPE_TOILETS) { - if (peep->bathroom < 70) { - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtShop, true); - return false; - } + if (ride->type == RIDE_TYPE_TOILETS) { + if (peep->bathroom < 70) { + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtShop, true); + return false; + } - // The amount that peeps are willing to pay to use the Toilets scales with their bathroom stat. - // It effectively has a minimum of $0.10 (due to the check above) and a maximum of $0.60. - if (ride->price * 40 > peep->bathroom) { - if (peepAtShop) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_NOT_PAYING, rideIndex); - if (peep->happiness_growth_rate >= 60) { - peep->happiness_growth_rate -= 16; - } - ride_update_popularity(ride, 0); - } - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtShop, true); - return false; - } - } + // The amount that peeps are willing to pay to use the Toilets scales with their bathroom stat. + // It effectively has a minimum of $0.10 (due to the check above) and a maximum of $0.60. + if (ride->price * 40 > peep->bathroom) { + if (peepAtShop) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_NOT_PAYING, rideIndex); + if (peep->happiness_growth_rate >= 60) { + peep->happiness_growth_rate -= 16; + } + ride_update_popularity(ride, 0); + } + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtShop, true); + return false; + } + } - if (ride->type == RIDE_TYPE_FIRST_AID) { - if (peep->nausea < 128) { - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtShop, true); - return false; - } - } + if (ride->type == RIDE_TYPE_FIRST_AID) { + if (peep->nausea < 128) { + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtShop, true); + return false; + } + } - // Basic price checks - if (ride->price != 0 && ride->price > peep->cash_in_pocket) { - if (peepAtShop) { - if (peep->cash_in_pocket <= 0) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_SPENT_MONEY, 255); - } - else { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CANT_AFFORD_0, rideIndex); - } - } - peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtShop, true); - return false; - } + // Basic price checks + if (ride->price != 0 && ride->price > peep->cash_in_pocket) { + if (peepAtShop) { + if (peep->cash_in_pocket <= 0) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_SPENT_MONEY, 255); + } + else { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_CANT_AFFORD_0, rideIndex); + } + } + peep_chose_not_to_go_on_ride(peep, rideIndex, peepAtShop, true); + return false; + } - if (peepAtShop) { - ride_update_popularity(ride, 1); - if (rideIndex == peep->guest_heading_to_ride_id) { - peep_reset_ride_heading(peep); - } - } - return true; + if (peepAtShop) { + ride_update_popularity(ride, 1); + if (rideIndex == peep->guest_heading_to_ride_id) { + peep_reset_ride_heading(peep); + } + } + return true; } /** @@ -12022,105 +12022,105 @@ static bool peep_should_go_to_shop(rct_peep *peep, sint32 rideIndex, bool peepAt */ static void peep_pick_ride_to_go_on(rct_peep *peep) { - rct_ride *ride; + rct_ride *ride; - if (peep->state != PEEP_STATE_WALKING) return; - if (peep->guest_heading_to_ride_id != 255) return; - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) return; - if (peep_has_food(peep)) return; - if (peep->x == MAP_LOCATION_NULL) return; + if (peep->state != PEEP_STATE_WALKING) return; + if (peep->guest_heading_to_ride_id != 255) return; + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) return; + if (peep_has_food(peep)) return; + if (peep->x == MAP_LOCATION_NULL) return; - for (sint32 i = 0; i < countof(_peepRideConsideration); i++) { - _peepRideConsideration[i] = 0; - } + for (sint32 i = 0; i < countof(_peepRideConsideration); i++) { + _peepRideConsideration[i] = 0; + } - // FIX Originally checked for a toy, likely a mistake and should be a map, - // but then again this seems to only allow the peep to go on - // rides they haven't been on before. - if (peep->item_standard_flags & PEEP_ITEM_MAP) { - // Consider rides that peep hasn't been on yet - sint32 i; - FOR_ALL_RIDES(i, ride) { - if (!peep_has_ridden(peep, i)) { - _peepRideConsideration[i >> 5] |= (1u << (i & 0x1F)); - } - } - } else { - // Take nearby rides into consideration - sint32 cx = floor2(peep->x, 32); - sint32 cy = floor2(peep->y, 32); - for (sint32 x = cx - 320; x <= cx + 320; x += 32) { - for (sint32 y = cy - 320; y <= cy + 320; y += 32) { - if (x >= 0 && y >= 0 && x < (256 * 32) && y < (256 * 32)) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + // FIX Originally checked for a toy, likely a mistake and should be a map, + // but then again this seems to only allow the peep to go on + // rides they haven't been on before. + if (peep->item_standard_flags & PEEP_ITEM_MAP) { + // Consider rides that peep hasn't been on yet + sint32 i; + FOR_ALL_RIDES(i, ride) { + if (!peep_has_ridden(peep, i)) { + _peepRideConsideration[i >> 5] |= (1u << (i & 0x1F)); + } + } + } else { + // Take nearby rides into consideration + sint32 cx = floor2(peep->x, 32); + sint32 cy = floor2(peep->y, 32); + for (sint32 x = cx - 320; x <= cx + 320; x += 32) { + for (sint32 y = cy - 320; y <= cy + 320; y += 32) { + if (x >= 0 && y >= 0 && x < (256 * 32) && y < (256 * 32)) { + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - sint32 rideIndex = mapElement->properties.track.ride_index; - _peepRideConsideration[rideIndex >> 5] |= (1u << (rideIndex & 0x1F)); - } while (!map_element_is_last_for_tile(mapElement++)); - } - } - } + sint32 rideIndex = mapElement->properties.track.ride_index; + _peepRideConsideration[rideIndex >> 5] |= (1u << (rideIndex & 0x1F)); + } while (!map_element_is_last_for_tile(mapElement++)); + } + } + } - // Always take the tall rides into consideration (realistic as you can usually see them from anywhere in the park) - sint32 i; - FOR_ALL_RIDES(i, ride) { - if (ride->status != RIDE_STATUS_OPEN) continue; - if (!ride_has_ratings(ride)) continue; - if (ride->highest_drop_height <= 66 && ride->excitement < RIDE_RATING(8,00)) continue; + // Always take the tall rides into consideration (realistic as you can usually see them from anywhere in the park) + sint32 i; + FOR_ALL_RIDES(i, ride) { + if (ride->status != RIDE_STATUS_OPEN) continue; + if (!ride_has_ratings(ride)) continue; + if (ride->highest_drop_height <= 66 && ride->excitement < RIDE_RATING(8,00)) continue; - _peepRideConsideration[i >> 5] |= (1u << (i & 0x1F)); - } - } + _peepRideConsideration[i >> 5] |= (1u << (i & 0x1F)); + } + } - // Filter the considered rides - uint8 *potentialRides = _peepPotentialRides; - uint8 *nextPotentialRide = potentialRides; - sint32 numPotentialRides = 0; - for (sint32 i = 0; i < MAX_RIDES; i++) { - if (!(_peepRideConsideration[i >> 5] & (1u << (i & 0x1F)))) - continue; + // Filter the considered rides + uint8 *potentialRides = _peepPotentialRides; + uint8 *nextPotentialRide = potentialRides; + sint32 numPotentialRides = 0; + for (sint32 i = 0; i < MAX_RIDES; i++) { + if (!(_peepRideConsideration[i >> 5] & (1u << (i & 0x1F)))) + continue; - ride = get_ride(i); - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_QUEUE_FULL)) { - if (peep_should_go_on_ride(peep, i, 0, PEEP_RIDE_DECISION_THINKING)) { - *nextPotentialRide++ = i; - numPotentialRides++; - } - } - } + ride = get_ride(i); + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_QUEUE_FULL)) { + if (peep_should_go_on_ride(peep, i, 0, PEEP_RIDE_DECISION_THINKING)) { + *nextPotentialRide++ = i; + numPotentialRides++; + } + } + } - // Pick the most exciting ride - sint32 mostExcitingRideIndex = -1; - ride_rating mostExcitingRideRating = 0; - for (sint32 i = 0; i < numPotentialRides; i++) { - ride = get_ride(potentialRides[i]); - if (!ride_has_ratings(ride)) continue; - if (ride->excitement > mostExcitingRideRating) { - mostExcitingRideIndex = potentialRides[i]; - mostExcitingRideRating = ride->excitement; - } - } - if (mostExcitingRideIndex == -1) - return; + // Pick the most exciting ride + sint32 mostExcitingRideIndex = -1; + ride_rating mostExcitingRideRating = 0; + for (sint32 i = 0; i < numPotentialRides; i++) { + ride = get_ride(potentialRides[i]); + if (!ride_has_ratings(ride)) continue; + if (ride->excitement > mostExcitingRideRating) { + mostExcitingRideIndex = potentialRides[i]; + mostExcitingRideRating = ride->excitement; + } + } + if (mostExcitingRideIndex == -1) + return; - // Head to that ride - peep->guest_heading_to_ride_id = mostExcitingRideIndex; - peep->peep_is_lost_countdown = 200; - peep_reset_pathfind_goal(peep); + // Head to that ride + peep->guest_heading_to_ride_id = mostExcitingRideIndex; + peep->peep_is_lost_countdown = 200; + peep_reset_pathfind_goal(peep); - // Invalidate windows - rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index); - if (w != NULL) { - window_event_invalidate_call(w); - widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL); - } + // Invalidate windows + rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index); + if (w != NULL) { + window_event_invalidate_call(w); + widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL); + } - // Make peep look at their map if they have one - if (peep->item_standard_flags & PEEP_ITEM_MAP) { - peep_read_map(peep); - } + // Make peep look at their map if they have one + if (peep->item_standard_flags & PEEP_ITEM_MAP) { + peep_read_map(peep); + } } /** @@ -12129,101 +12129,101 @@ static void peep_pick_ride_to_go_on(rct_peep *peep) */ static void peep_head_for_nearest_ride_type(rct_peep *peep, sint32 rideType) { - rct_ride *ride; + rct_ride *ride; - if (peep->state != PEEP_STATE_SITTING && peep->state != PEEP_STATE_WATCHING && peep->state != PEEP_STATE_WALKING) { - return; - } - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) return; - if (peep->x == MAP_LOCATION_NULL) return; - if (peep->guest_heading_to_ride_id != 255) { - ride = get_ride(peep->guest_heading_to_ride_id); - if (ride->type == rideType) { - return; - } - } + if (peep->state != PEEP_STATE_SITTING && peep->state != PEEP_STATE_WATCHING && peep->state != PEEP_STATE_WALKING) { + return; + } + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) return; + if (peep->x == MAP_LOCATION_NULL) return; + if (peep->guest_heading_to_ride_id != 255) { + ride = get_ride(peep->guest_heading_to_ride_id); + if (ride->type == rideType) { + return; + } + } - for (sint32 i = 0; i < countof(_peepRideConsideration); i++) { - _peepRideConsideration[i] = 0; - } + for (sint32 i = 0; i < countof(_peepRideConsideration); i++) { + _peepRideConsideration[i] = 0; + } - // FIX Originally checked for a toy,.likely a mistake and should be a map - if ((peep->item_standard_flags & PEEP_ITEM_MAP) && rideType != RIDE_TYPE_FIRST_AID) { - // Consider all rides in the park - sint32 i; - FOR_ALL_RIDES(i, ride) { - if (ride->type == rideType) { - _peepRideConsideration[i >> 5] |= (1u << (i & 0x1F)); - } - } - } else { - // Take nearby rides into consideration - sint32 cx = floor2(peep->x, 32); - sint32 cy = floor2(peep->y, 32); - for (sint32 x = cx - 320; x <= cx + 320; x += 32) { - for (sint32 y = cy - 320; y <= cy + 320; y += 32) { - if (x >= 0 && y >= 0 && x < (256 * 32) && y < (256 * 32)) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + // FIX Originally checked for a toy,.likely a mistake and should be a map + if ((peep->item_standard_flags & PEEP_ITEM_MAP) && rideType != RIDE_TYPE_FIRST_AID) { + // Consider all rides in the park + sint32 i; + FOR_ALL_RIDES(i, ride) { + if (ride->type == rideType) { + _peepRideConsideration[i >> 5] |= (1u << (i & 0x1F)); + } + } + } else { + // Take nearby rides into consideration + sint32 cx = floor2(peep->x, 32); + sint32 cy = floor2(peep->y, 32); + for (sint32 x = cx - 320; x <= cx + 320; x += 32) { + for (sint32 y = cy - 320; y <= cy + 320; y += 32) { + if (x >= 0 && y >= 0 && x < (256 * 32) && y < (256 * 32)) { + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - sint32 rideIndex = mapElement->properties.track.ride_index; - ride = get_ride(rideIndex); - if (ride->type == rideType) { - _peepRideConsideration[rideIndex >> 5] |= (1u << (rideIndex & 0x1F)); - } - } while (!map_element_is_last_for_tile(mapElement++)); - } - } - } - } + sint32 rideIndex = mapElement->properties.track.ride_index; + ride = get_ride(rideIndex); + if (ride->type == rideType) { + _peepRideConsideration[rideIndex >> 5] |= (1u << (rideIndex & 0x1F)); + } + } while (!map_element_is_last_for_tile(mapElement++)); + } + } + } + } - // Filter the considered rides - uint8 *potentialRides = _peepPotentialRides; - uint8 *nextPotentialRide = potentialRides; - sint32 numPotentialRides = 0; - for (sint32 i = 0; i < MAX_RIDES; i++) { - if (!(_peepRideConsideration[i >> 5] & (1u << (i & 0x1F)))) - continue; + // Filter the considered rides + uint8 *potentialRides = _peepPotentialRides; + uint8 *nextPotentialRide = potentialRides; + sint32 numPotentialRides = 0; + for (sint32 i = 0; i < MAX_RIDES; i++) { + if (!(_peepRideConsideration[i >> 5] & (1u << (i & 0x1F)))) + continue; - ride = get_ride(i); - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_QUEUE_FULL)) { - if (peep_should_go_on_ride(peep, i, 0, PEEP_RIDE_DECISION_THINKING)) { - *nextPotentialRide++ = i; - numPotentialRides++; - } - } - } + ride = get_ride(i); + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_QUEUE_FULL)) { + if (peep_should_go_on_ride(peep, i, 0, PEEP_RIDE_DECISION_THINKING)) { + *nextPotentialRide++ = i; + numPotentialRides++; + } + } + } - // Pick the closest ride - sint32 closestRideIndex = -1; - sint32 closestRideDistance = INT_MAX; - for (sint32 i = 0; i < numPotentialRides; i++) { - ride = get_ride(potentialRides[i]); - sint32 rideX = (ride->station_starts[0] & 0xFF) * 32; - sint32 rideY = (ride->station_starts[0] >> 8) * 32; - sint32 distance = abs(rideX - peep->x) + abs(rideY - peep->y); - if (distance < closestRideDistance) { - closestRideIndex = potentialRides[i]; - closestRideDistance = distance; - } - } - if (closestRideIndex == -1) - return; + // Pick the closest ride + sint32 closestRideIndex = -1; + sint32 closestRideDistance = INT_MAX; + for (sint32 i = 0; i < numPotentialRides; i++) { + ride = get_ride(potentialRides[i]); + sint32 rideX = (ride->station_starts[0] & 0xFF) * 32; + sint32 rideY = (ride->station_starts[0] >> 8) * 32; + sint32 distance = abs(rideX - peep->x) + abs(rideY - peep->y); + if (distance < closestRideDistance) { + closestRideIndex = potentialRides[i]; + closestRideDistance = distance; + } + } + if (closestRideIndex == -1) + return; - // Head to that ride - peep->guest_heading_to_ride_id = closestRideIndex; - peep->peep_is_lost_countdown = 200; - peep_reset_pathfind_goal(peep); + // Head to that ride + peep->guest_heading_to_ride_id = closestRideIndex; + peep->peep_is_lost_countdown = 200; + peep_reset_pathfind_goal(peep); - // Invalidate windows - rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index); - if (w != NULL) { - window_event_invalidate_call(w); - widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL); - } + // Invalidate windows + rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index); + if (w != NULL) { + window_event_invalidate_call(w); + widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL); + } - peep->var_F4 = 0; + peep->var_F4 = 0; } /** @@ -12232,105 +12232,105 @@ static void peep_head_for_nearest_ride_type(rct_peep *peep, sint32 rideType) */ static void peep_head_for_nearest_ride_with_flags(rct_peep *peep, sint32 rideTypeFlags) { - rct_ride *ride; + rct_ride *ride; - if (peep->state != PEEP_STATE_SITTING && peep->state != PEEP_STATE_WATCHING && peep->state != PEEP_STATE_WALKING) { - return; - } - if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) return; - if (peep->x == MAP_LOCATION_NULL) return; - if (peep->guest_heading_to_ride_id != 255) { - ride = get_ride(peep->guest_heading_to_ride_id); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_BATHROOM | RIDE_TYPE_FLAG_SELLS_DRINKS | RIDE_TYPE_FLAG_SELLS_FOOD)) { - return; - } - } + if (peep->state != PEEP_STATE_SITTING && peep->state != PEEP_STATE_WATCHING && peep->state != PEEP_STATE_WALKING) { + return; + } + if (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) return; + if (peep->x == MAP_LOCATION_NULL) return; + if (peep->guest_heading_to_ride_id != 255) { + ride = get_ride(peep->guest_heading_to_ride_id); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_BATHROOM | RIDE_TYPE_FLAG_SELLS_DRINKS | RIDE_TYPE_FLAG_SELLS_FOOD)) { + return; + } + } - if ((rideTypeFlags & RIDE_TYPE_FLAG_IS_BATHROOM) && peep_has_food(peep)) { - return; - } + if ((rideTypeFlags & RIDE_TYPE_FLAG_IS_BATHROOM) && peep_has_food(peep)) { + return; + } - for (sint32 i = 0; i < countof(_peepRideConsideration); i++) { - _peepRideConsideration[i] = 0; - } + for (sint32 i = 0; i < countof(_peepRideConsideration); i++) { + _peepRideConsideration[i] = 0; + } - // FIX Originally checked for a toy,.likely a mistake and should be a map - if (peep->item_standard_flags & PEEP_ITEM_MAP) { - // Consider all rides in the park - sint32 i; - FOR_ALL_RIDES(i, ride) { - if (ride_type_has_flag(ride->type, rideTypeFlags)) { - _peepRideConsideration[i >> 5] |= (1u << (i & 0x1F)); - } - } - } else { - // Take nearby rides into consideration - sint32 cx = floor2(peep->x, 32); - sint32 cy = floor2(peep->y, 32); - for (sint32 x = cx - 320; x <= cx + 320; x += 32) { - for (sint32 y = cy - 320; y <= cy + 320; y += 32) { - if (x >= 0 && y >= 0 && x < (256 * 32) && y < (256 * 32)) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + // FIX Originally checked for a toy,.likely a mistake and should be a map + if (peep->item_standard_flags & PEEP_ITEM_MAP) { + // Consider all rides in the park + sint32 i; + FOR_ALL_RIDES(i, ride) { + if (ride_type_has_flag(ride->type, rideTypeFlags)) { + _peepRideConsideration[i >> 5] |= (1u << (i & 0x1F)); + } + } + } else { + // Take nearby rides into consideration + sint32 cx = floor2(peep->x, 32); + sint32 cy = floor2(peep->y, 32); + for (sint32 x = cx - 320; x <= cx + 320; x += 32) { + for (sint32 y = cy - 320; y <= cy + 320; y += 32) { + if (x >= 0 && y >= 0 && x < (256 * 32) && y < (256 * 32)) { + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - sint32 rideIndex = mapElement->properties.track.ride_index; - ride = get_ride(rideIndex); - if (ride_type_has_flag(ride->type, rideTypeFlags)) { - _peepRideConsideration[rideIndex >> 5] |= (1u << (rideIndex & 0x1F)); - } - } while (!map_element_is_last_for_tile(mapElement++)); - } - } - } - } + sint32 rideIndex = mapElement->properties.track.ride_index; + ride = get_ride(rideIndex); + if (ride_type_has_flag(ride->type, rideTypeFlags)) { + _peepRideConsideration[rideIndex >> 5] |= (1u << (rideIndex & 0x1F)); + } + } while (!map_element_is_last_for_tile(mapElement++)); + } + } + } + } - // Filter the considered rides - uint8 *potentialRides = _peepPotentialRides; - uint8 *nextPotentialRide = potentialRides; - sint32 numPotentialRides = 0; - for (sint32 i = 0; i < MAX_RIDES; i++) { - if (!(_peepRideConsideration[i >> 5] & (1u << (i & 0x1F)))) - continue; + // Filter the considered rides + uint8 *potentialRides = _peepPotentialRides; + uint8 *nextPotentialRide = potentialRides; + sint32 numPotentialRides = 0; + for (sint32 i = 0; i < MAX_RIDES; i++) { + if (!(_peepRideConsideration[i >> 5] & (1u << (i & 0x1F)))) + continue; - ride = get_ride(i); - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_QUEUE_FULL)) { - if (peep_should_go_on_ride(peep, i, 0, PEEP_RIDE_DECISION_THINKING)) { - *nextPotentialRide++ = i; - numPotentialRides++; - } - } - } + ride = get_ride(i); + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_QUEUE_FULL)) { + if (peep_should_go_on_ride(peep, i, 0, PEEP_RIDE_DECISION_THINKING)) { + *nextPotentialRide++ = i; + numPotentialRides++; + } + } + } - // Pick the closest ride - sint32 closestRideIndex = -1; - sint32 closestRideDistance = INT_MAX; - for (sint32 i = 0; i < numPotentialRides; i++) { - ride = get_ride(potentialRides[i]); - sint32 rideX = (ride->station_starts[0] & 0xFF) * 32; - sint32 rideY = (ride->station_starts[0] >> 8) * 32; - sint32 distance = abs(rideX - peep->x) + abs(rideY - peep->y); - if (distance < closestRideDistance) { - closestRideIndex = potentialRides[i]; - closestRideDistance = distance; - } - } - if (closestRideIndex == -1) - return; + // Pick the closest ride + sint32 closestRideIndex = -1; + sint32 closestRideDistance = INT_MAX; + for (sint32 i = 0; i < numPotentialRides; i++) { + ride = get_ride(potentialRides[i]); + sint32 rideX = (ride->station_starts[0] & 0xFF) * 32; + sint32 rideY = (ride->station_starts[0] >> 8) * 32; + sint32 distance = abs(rideX - peep->x) + abs(rideY - peep->y); + if (distance < closestRideDistance) { + closestRideIndex = potentialRides[i]; + closestRideDistance = distance; + } + } + if (closestRideIndex == -1) + return; - // Head to that ride - peep->guest_heading_to_ride_id = closestRideIndex; - peep->peep_is_lost_countdown = 200; - peep_reset_pathfind_goal(peep); + // Head to that ride + peep->guest_heading_to_ride_id = closestRideIndex; + peep->peep_is_lost_countdown = 200; + peep_reset_pathfind_goal(peep); - // Invalidate windows - rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index); - if (w != NULL) { - window_event_invalidate_call(w); - window_invalidate(w); - } + // Invalidate windows + rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index); + if (w != NULL) { + window_event_invalidate_call(w); + window_invalidate(w); + } - peep->var_F4 = 0; + peep->var_F4 = 0; } /** @@ -12339,82 +12339,82 @@ static void peep_head_for_nearest_ride_with_flags(rct_peep *peep, sint32 rideTyp */ static void peep_give_real_name(rct_peep *peep) { - // Generate a name_string_idx from the peep id using bit twiddling - uint16 ax = (uint16)(peep->id + 0xF0B); - uint16 dx = 0; - dx |= ((ax & 0x400) ? 1 : 0) << 13; - dx |= ((ax & 0x2000) ? 1 : 0) << 12; - dx |= ((ax & 0x800) ? 1 : 0) << 11; - dx |= ((ax & 0x400) ? 1 : 0) << 10; - dx |= ((ax & 0x1) ? 1 : 0) << 9; - dx |= ((ax & 0x40) ? 1 : 0) << 8; - dx |= ((ax & 0x2) ? 1 : 0) << 7; - dx |= ((ax & 0x4) ? 1 : 0) << 6; - dx |= ((ax & 0x100) ? 1 : 0) << 5; - dx |= ((ax & 0x20) ? 1 : 0) << 4; - dx |= ((ax & 0x80) ? 1 : 0) << 3; - dx |= ((ax & 0x8) ? 1 : 0) << 2; - dx |= ((ax & 0x200) ? 1 : 0) << 1; - dx |= ((ax & 0x10) ? 1 : 0) << 0; - ax = dx & 0xF; - dx *= 4; - ax *= 4096; - dx += ax; - if (dx < ax) { - dx += 0x1000; - } - dx /= 4; - dx += 0xA000; - peep->name_string_idx = dx; + // Generate a name_string_idx from the peep id using bit twiddling + uint16 ax = (uint16)(peep->id + 0xF0B); + uint16 dx = 0; + dx |= ((ax & 0x400) ? 1 : 0) << 13; + dx |= ((ax & 0x2000) ? 1 : 0) << 12; + dx |= ((ax & 0x800) ? 1 : 0) << 11; + dx |= ((ax & 0x400) ? 1 : 0) << 10; + dx |= ((ax & 0x1) ? 1 : 0) << 9; + dx |= ((ax & 0x40) ? 1 : 0) << 8; + dx |= ((ax & 0x2) ? 1 : 0) << 7; + dx |= ((ax & 0x4) ? 1 : 0) << 6; + dx |= ((ax & 0x100) ? 1 : 0) << 5; + dx |= ((ax & 0x20) ? 1 : 0) << 4; + dx |= ((ax & 0x80) ? 1 : 0) << 3; + dx |= ((ax & 0x8) ? 1 : 0) << 2; + dx |= ((ax & 0x200) ? 1 : 0) << 1; + dx |= ((ax & 0x10) ? 1 : 0) << 0; + ax = dx & 0xF; + dx *= 4; + ax *= 4096; + dx += ax; + if (dx < ax) { + dx += 0x1000; + } + dx /= 4; + dx += 0xA000; + peep->name_string_idx = dx; } static sint32 peep_compare(const void *sprite_index_a, const void *sprite_index_b) { - rct_peep const *peep_a = GET_PEEP(*(uint16*)sprite_index_a); - rct_peep const *peep_b = GET_PEEP(*(uint16*)sprite_index_b); + rct_peep const *peep_a = GET_PEEP(*(uint16*)sprite_index_a); + rct_peep const *peep_b = GET_PEEP(*(uint16*)sprite_index_b); - // Compare types - if (peep_a->type != peep_b->type) { - return peep_a->type - peep_b->type; - } + // Compare types + if (peep_a->type != peep_b->type) { + return peep_a->type - peep_b->type; + } - // Simple ID comparison for when both peeps use a number or a generated name - const bool both_numbers = ( - peep_a->name_string_idx >= 767 && peep_a->name_string_idx <= 771 && - peep_b->name_string_idx >= 767 && peep_b->name_string_idx <= 771 - ); - if (both_numbers) { - return peep_a->id - peep_b->id; - } - const bool both_have_generated_names = ( - peep_a->name_string_idx >= 0xA000 && peep_a->name_string_idx < 0xE000 && - peep_b->name_string_idx >= 0xA000 && peep_b->name_string_idx < 0xE000 - ); - if (both_have_generated_names) { - rct_string_id peep_a_format = peep_a->name_string_idx + 0xA000; - rct_string_id peep_b_format = peep_b->name_string_idx + 0xA000; + // Simple ID comparison for when both peeps use a number or a generated name + const bool both_numbers = ( + peep_a->name_string_idx >= 767 && peep_a->name_string_idx <= 771 && + peep_b->name_string_idx >= 767 && peep_b->name_string_idx <= 771 + ); + if (both_numbers) { + return peep_a->id - peep_b->id; + } + const bool both_have_generated_names = ( + peep_a->name_string_idx >= 0xA000 && peep_a->name_string_idx < 0xE000 && + peep_b->name_string_idx >= 0xA000 && peep_b->name_string_idx < 0xE000 + ); + if (both_have_generated_names) { + rct_string_id peep_a_format = peep_a->name_string_idx + 0xA000; + rct_string_id peep_b_format = peep_b->name_string_idx + 0xA000; - uint16 peep_a_name = (peep_a_format % countof(real_names)); - uint16 peep_b_name = (peep_b_format % countof(real_names)); + uint16 peep_a_name = (peep_a_format % countof(real_names)); + uint16 peep_b_name = (peep_b_format % countof(real_names)); - if (peep_a_name == peep_b_name) { - uint16 peep_a_initial = ((peep_a_format >> 10) % countof(real_name_initials)); - uint16 peep_b_initial = ((peep_b_format >> 10) % countof(real_name_initials)); - return peep_a_initial - peep_b_initial; - } else { - return peep_a_name - peep_b_name; - } - } + if (peep_a_name == peep_b_name) { + uint16 peep_a_initial = ((peep_a_format >> 10) % countof(real_name_initials)); + uint16 peep_b_initial = ((peep_b_format >> 10) % countof(real_name_initials)); + return peep_a_initial - peep_b_initial; + } else { + return peep_a_name - peep_b_name; + } + } - // At least one of them has a custom name assigned - // Compare their names as strings - utf8 name_a[256]; - utf8 name_b[256]; - uint32 peepIndex = peep_a->id; - format_string(name_a, 256, peep_a->name_string_idx, &peepIndex); - peepIndex = peep_b->id; - format_string(name_b, 256, peep_b->name_string_idx, &peepIndex); - return strlogicalcmp(name_a, name_b); + // At least one of them has a custom name assigned + // Compare their names as strings + utf8 name_a[256]; + utf8 name_b[256]; + uint32 peepIndex = peep_a->id; + format_string(name_a, 256, peep_a->name_string_idx, &peepIndex); + peepIndex = peep_b->id; + format_string(name_b, 256, peep_b->name_string_idx, &peepIndex); + return strlogicalcmp(name_a, name_b); } /** @@ -12423,99 +12423,99 @@ static sint32 peep_compare(const void *sprite_index_a, const void *sprite_index_ */ void peep_update_name_sort(rct_peep *peep) { - // Remove peep from sprite list - uint16 nextSpriteIndex = peep->next; - uint16 prevSpriteIndex = peep->previous; - if (prevSpriteIndex != SPRITE_INDEX_NULL) { - rct_peep *prevPeep = GET_PEEP(prevSpriteIndex); - prevPeep->next = nextSpriteIndex; - } else { - gSpriteListHead[SPRITE_LIST_PEEP] = nextSpriteIndex; - } + // Remove peep from sprite list + uint16 nextSpriteIndex = peep->next; + uint16 prevSpriteIndex = peep->previous; + if (prevSpriteIndex != SPRITE_INDEX_NULL) { + rct_peep *prevPeep = GET_PEEP(prevSpriteIndex); + prevPeep->next = nextSpriteIndex; + } else { + gSpriteListHead[SPRITE_LIST_PEEP] = nextSpriteIndex; + } - if (nextSpriteIndex != SPRITE_INDEX_NULL) { - rct_peep *nextPeep = GET_PEEP(nextSpriteIndex); - nextPeep->previous = prevSpriteIndex; - } + if (nextSpriteIndex != SPRITE_INDEX_NULL) { + rct_peep *nextPeep = GET_PEEP(nextSpriteIndex); + nextPeep->previous = prevSpriteIndex; + } - rct_peep *otherPeep; - uint16 spriteIndex; - FOR_ALL_PEEPS(spriteIndex, otherPeep) { - // Check if peep should go before this one - if (peep_compare(&peep->sprite_index, &otherPeep->sprite_index) >= 0) { - continue; - } + rct_peep *otherPeep; + uint16 spriteIndex; + FOR_ALL_PEEPS(spriteIndex, otherPeep) { + // Check if peep should go before this one + if (peep_compare(&peep->sprite_index, &otherPeep->sprite_index) >= 0) { + continue; + } - // Place peep before this one - peep->previous = otherPeep->previous; - otherPeep->previous = peep->sprite_index; - if (peep->previous != SPRITE_INDEX_NULL) { - rct_peep *prevPeep = GET_PEEP(peep->previous); - peep->next = prevPeep->next; - prevPeep->next = peep->sprite_index; - } else { - peep->next = gSpriteListHead[SPRITE_LIST_PEEP]; - gSpriteListHead[SPRITE_LIST_PEEP] = peep->sprite_index; - } - goto finish_peep_sort; - } + // Place peep before this one + peep->previous = otherPeep->previous; + otherPeep->previous = peep->sprite_index; + if (peep->previous != SPRITE_INDEX_NULL) { + rct_peep *prevPeep = GET_PEEP(peep->previous); + peep->next = prevPeep->next; + prevPeep->next = peep->sprite_index; + } else { + peep->next = gSpriteListHead[SPRITE_LIST_PEEP]; + gSpriteListHead[SPRITE_LIST_PEEP] = peep->sprite_index; + } + goto finish_peep_sort; + } - // Place peep at the end - FOR_ALL_PEEPS(spriteIndex, otherPeep) { - if (otherPeep->next == SPRITE_INDEX_NULL) { - otherPeep->next = peep->sprite_index; - peep->previous = otherPeep->sprite_index; - peep->next = SPRITE_INDEX_NULL; - goto finish_peep_sort; - } - } + // Place peep at the end + FOR_ALL_PEEPS(spriteIndex, otherPeep) { + if (otherPeep->next == SPRITE_INDEX_NULL) { + otherPeep->next = peep->sprite_index; + peep->previous = otherPeep->sprite_index; + peep->next = SPRITE_INDEX_NULL; + goto finish_peep_sort; + } + } - gSpriteListHead[SPRITE_LIST_PEEP] = peep->sprite_index; - peep->next = SPRITE_INDEX_NULL; - peep->previous = SPRITE_INDEX_NULL; + gSpriteListHead[SPRITE_LIST_PEEP] = peep->sprite_index; + peep->next = SPRITE_INDEX_NULL; + peep->previous = SPRITE_INDEX_NULL; finish_peep_sort: - // This is required at the moment because this function reorders peeps in the sprite list - sprite_position_tween_reset(); + // This is required at the moment because this function reorders peeps in the sprite list + sprite_position_tween_reset(); } void peep_sort() { - // Count number of peeps - uint16 sprite_index, num_peeps = 0; - rct_peep *peep; - FOR_ALL_PEEPS(sprite_index, peep) { - num_peeps++; - } + // Count number of peeps + uint16 sprite_index, num_peeps = 0; + rct_peep *peep; + FOR_ALL_PEEPS(sprite_index, peep) { + num_peeps++; + } - // No need to sort - if (num_peeps < 2) - return; + // No need to sort + if (num_peeps < 2) + return; - // Create a copy of the peep list and sort it using peep_compare - uint16 *peep_list = (uint16*)malloc(num_peeps * sizeof(uint16)); - sint32 i = 0; - FOR_ALL_PEEPS(sprite_index, peep) { - peep_list[i++] = peep->sprite_index; - } - qsort(peep_list, num_peeps, sizeof(uint16), peep_compare); + // Create a copy of the peep list and sort it using peep_compare + uint16 *peep_list = (uint16*)malloc(num_peeps * sizeof(uint16)); + sint32 i = 0; + FOR_ALL_PEEPS(sprite_index, peep) { + peep_list[i++] = peep->sprite_index; + } + qsort(peep_list, num_peeps, sizeof(uint16), peep_compare); - // Set the correct peep->next and peep->previous using the sorted list - for (i = 0; i < num_peeps; i++) { - peep = GET_PEEP(peep_list[i]); - peep->previous = (i > 0) ? peep_list[i - 1] : SPRITE_INDEX_NULL; - peep->next = (i + 1 < num_peeps) ? peep_list[i + 1] : SPRITE_INDEX_NULL; - } - // Make sure the first peep is set - gSpriteListHead[SPRITE_LIST_PEEP] = peep_list[0]; + // Set the correct peep->next and peep->previous using the sorted list + for (i = 0; i < num_peeps; i++) { + peep = GET_PEEP(peep_list[i]); + peep->previous = (i > 0) ? peep_list[i - 1] : SPRITE_INDEX_NULL; + peep->next = (i + 1 < num_peeps) ? peep_list[i + 1] : SPRITE_INDEX_NULL; + } + // Make sure the first peep is set + gSpriteListHead[SPRITE_LIST_PEEP] = peep_list[0]; - free(peep_list); + free(peep_list); - i = 0; - FOR_ALL_PEEPS(sprite_index, peep) { - i++; - } - assert(i == num_peeps); + i = 0; + FOR_ALL_PEEPS(sprite_index, peep) { + i++; + } + assert(i == num_peeps); } /** @@ -12524,195 +12524,195 @@ void peep_sort() */ void peep_update_names(bool realNames) { - if (realNames) { - gParkFlags |= PARK_FLAGS_SHOW_REAL_GUEST_NAMES; - rct_peep *peep; - uint16 spriteIndex; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->name_string_idx == STR_GUEST_X) { - peep_give_real_name(peep); - } - } - } else { - gParkFlags &= ~PARK_FLAGS_SHOW_REAL_GUEST_NAMES; - rct_peep *peep; - uint16 spriteIndex; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->name_string_idx >= 0xA000 && peep->name_string_idx < 0xE000) { - peep->name_string_idx = STR_GUEST_X; - } - } - } + if (realNames) { + gParkFlags |= PARK_FLAGS_SHOW_REAL_GUEST_NAMES; + rct_peep *peep; + uint16 spriteIndex; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->name_string_idx == STR_GUEST_X) { + peep_give_real_name(peep); + } + } + } else { + gParkFlags &= ~PARK_FLAGS_SHOW_REAL_GUEST_NAMES; + rct_peep *peep; + uint16 spriteIndex; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->name_string_idx >= 0xA000 && peep->name_string_idx < 0xE000) { + peep->name_string_idx = STR_GUEST_X; + } + } + } - peep_sort(); - gfx_invalidate_screen(); + peep_sort(); + gfx_invalidate_screen(); } static void peep_read_map(rct_peep *peep) { - if (peep->action == PEEP_ACTION_NONE_1 || peep->action == PEEP_ACTION_NONE_2) { - peep->action = PEEP_ACTION_READ_MAP; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - } + if (peep->action == PEEP_ACTION_NONE_1 || peep->action == PEEP_ACTION_NONE_2) { + peep->action = PEEP_ACTION_READ_MAP; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + } } static bool peep_heading_for_ride_or_park_exit(rct_peep *peep) { - return (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) || peep->guest_heading_to_ride_id != 0xFF; + return (peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) || peep->guest_heading_to_ride_id != 0xFF; } money32 set_peep_name(sint32 flags, sint32 state, uint16 sprite_index, uint8* text_1, uint8* text_2, uint8* text_3) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - static char newName[128]; - //if (flags & GAME_COMMAND_FLAG_APPLY) { // this check seems to be useless and causes problems in multiplayer - uint8 position = (state - 1) & 3; - memcpy(newName + position * 12, text_1, 4); - memcpy(newName + 4 + position * 12, text_2, 4); - memcpy(newName + 8 + position * 12, text_3, 4); - //} + static char newName[128]; + //if (flags & GAME_COMMAND_FLAG_APPLY) { // this check seems to be useless and causes problems in multiplayer + uint8 position = (state - 1) & 3; + memcpy(newName + position * 12, text_1, 4); + memcpy(newName + 4 + position * 12, text_2, 4); + memcpy(newName + 8 + position * 12, text_3, 4); + //} - if (state != 0) - return 0; + if (state != 0) + return 0; - rct_peep* peep = GET_PEEP(sprite_index); - set_format_arg(0, uint32, peep->id); - utf8* curName = gCommonStringFormatBuffer; - rct_string_id curId = peep->name_string_idx; - format_string(curName, 256, curId, gCommonFormatArgs); + rct_peep* peep = GET_PEEP(sprite_index); + set_format_arg(0, uint32, peep->id); + utf8* curName = gCommonStringFormatBuffer; + rct_string_id curId = peep->name_string_idx; + format_string(curName, 256, curId, gCommonFormatArgs); - if (strcmp(curName, newName) == 0) - return 0; + if (strcmp(curName, newName) == 0) + return 0; - if (*newName == '\0') { - gGameCommandErrorText = STR_ERR_INVALID_NAME_FOR_GUEST; - return MONEY32_UNDEFINED; - } + if (*newName == '\0') { + gGameCommandErrorText = STR_ERR_INVALID_NAME_FOR_GUEST; + return MONEY32_UNDEFINED; + } - rct_string_id newId = user_string_allocate(USER_STRING_HIGH_ID_NUMBER, newName); - if (newId == 0) { - return MONEY32_UNDEFINED; - } + rct_string_id newId = user_string_allocate(USER_STRING_HIGH_ID_NUMBER, newName); + if (newId == 0) { + return MONEY32_UNDEFINED; + } - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - user_string_free(newId); - return 0; - } + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + user_string_free(newId); + return 0; + } - user_string_free(curId); - peep->name_string_idx = newId; + user_string_free(curId); + peep->name_string_idx = newId; - peep_update_name_sort(peep); + peep_update_name_sort(peep); - peep->peep_flags &= ~PEEP_FLAGS_WAVING; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_KATIE_BRAYSHAW, peep)) { - peep->peep_flags |= PEEP_FLAGS_WAVING; - } + peep->peep_flags &= ~PEEP_FLAGS_WAVING; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_KATIE_BRAYSHAW, peep)) { + peep->peep_flags |= PEEP_FLAGS_WAVING; + } - peep->peep_flags &= ~PEEP_FLAGS_PHOTO; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_CHRIS_SAWYER, peep)) { - peep->peep_flags |= PEEP_FLAGS_PHOTO; - } + peep->peep_flags &= ~PEEP_FLAGS_PHOTO; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_CHRIS_SAWYER, peep)) { + peep->peep_flags |= PEEP_FLAGS_PHOTO; + } - peep->peep_flags &= ~PEEP_FLAGS_PAINTING; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_SIMON_FOSTER, peep)) { - peep->peep_flags |= PEEP_FLAGS_PAINTING; - } + peep->peep_flags &= ~PEEP_FLAGS_PAINTING; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_SIMON_FOSTER, peep)) { + peep->peep_flags |= PEEP_FLAGS_PAINTING; + } - peep->peep_flags &= ~PEEP_FLAGS_WOW; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_JOHN_WARDLEY, peep)) { - peep->peep_flags |= PEEP_FLAGS_WOW; - } + peep->peep_flags &= ~PEEP_FLAGS_WOW; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_JOHN_WARDLEY, peep)) { + peep->peep_flags |= PEEP_FLAGS_WOW; + } - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_MELANIE_WARN, peep)) { - peep->happiness = 250; - peep->happiness_growth_rate = 250; - peep->energy = 127; - peep->energy_growth_rate = 127; - peep->nausea = 0; - peep->nausea_growth_rate = 0; - } + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_MELANIE_WARN, peep)) { + peep->happiness = 250; + peep->happiness_growth_rate = 250; + peep->energy = 127; + peep->energy_growth_rate = 127; + peep->nausea = 0; + peep->nausea_growth_rate = 0; + } - peep->peep_flags &= ~PEEP_FLAGS_LITTER; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_LISA_STIRLING, peep)) { - peep->peep_flags |= PEEP_FLAGS_LITTER; - } + peep->peep_flags &= ~PEEP_FLAGS_LITTER; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_LISA_STIRLING, peep)) { + peep->peep_flags |= PEEP_FLAGS_LITTER; + } - peep->peep_flags &= ~PEEP_FLAGS_LOST; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_DONALD_MACRAE, peep)) { - peep->peep_flags |= PEEP_FLAGS_LOST; - } + peep->peep_flags &= ~PEEP_FLAGS_LOST; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_DONALD_MACRAE, peep)) { + peep->peep_flags |= PEEP_FLAGS_LOST; + } - peep->peep_flags &= ~PEEP_FLAGS_HUNGER; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_KATHERINE_MCGOWAN, peep)) { - peep->peep_flags |= PEEP_FLAGS_HUNGER; - } + peep->peep_flags &= ~PEEP_FLAGS_HUNGER; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_KATHERINE_MCGOWAN, peep)) { + peep->peep_flags |= PEEP_FLAGS_HUNGER; + } - peep->peep_flags &= ~PEEP_FLAGS_BATHROOM; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_FRANCES_MCGOWAN, peep)) { - peep->peep_flags |= PEEP_FLAGS_BATHROOM; - } + peep->peep_flags &= ~PEEP_FLAGS_BATHROOM; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_FRANCES_MCGOWAN, peep)) { + peep->peep_flags |= PEEP_FLAGS_BATHROOM; + } - peep->peep_flags &= ~PEEP_FLAGS_CROWDED; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_CORINA_MASSOURA, peep)) { - peep->peep_flags |= PEEP_FLAGS_CROWDED; - } + peep->peep_flags &= ~PEEP_FLAGS_CROWDED; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_CORINA_MASSOURA, peep)) { + peep->peep_flags |= PEEP_FLAGS_CROWDED; + } - peep->peep_flags &= ~PEEP_FLAGS_HAPPINESS; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_CAROL_YOUNG, peep)) { - peep->peep_flags |= PEEP_FLAGS_HAPPINESS; - } + peep->peep_flags &= ~PEEP_FLAGS_HAPPINESS; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_CAROL_YOUNG, peep)) { + peep->peep_flags |= PEEP_FLAGS_HAPPINESS; + } - peep->peep_flags &= ~PEEP_FLAGS_NAUSEA; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_MIA_SHERIDAN, peep)) { - peep->peep_flags |= PEEP_FLAGS_NAUSEA; - } + peep->peep_flags &= ~PEEP_FLAGS_NAUSEA; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_MIA_SHERIDAN, peep)) { + peep->peep_flags |= PEEP_FLAGS_NAUSEA; + } - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_KATIE_RODGER, peep)) { - peep->peep_flags |= PEEP_FLAGS_LEAVING_PARK; - peep->peep_flags &= ~PEEP_FLAGS_PARK_ENTRANCE_CHOSEN; - } + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_KATIE_RODGER, peep)) { + peep->peep_flags |= PEEP_FLAGS_LEAVING_PARK; + peep->peep_flags &= ~PEEP_FLAGS_PARK_ENTRANCE_CHOSEN; + } - peep->peep_flags &= ~PEEP_FLAGS_PURPLE; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_EMMA_GARRELL, peep)) { - peep->peep_flags |= PEEP_FLAGS_PURPLE; - } + peep->peep_flags &= ~PEEP_FLAGS_PURPLE; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_EMMA_GARRELL, peep)) { + peep->peep_flags |= PEEP_FLAGS_PURPLE; + } - peep->peep_flags &= ~PEEP_FLAGS_PIZZA; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_JOANNE_BARTON, peep)) { - peep->peep_flags |= PEEP_FLAGS_PIZZA; - } + peep->peep_flags &= ~PEEP_FLAGS_PIZZA; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_JOANNE_BARTON, peep)) { + peep->peep_flags |= PEEP_FLAGS_PIZZA; + } - peep->peep_flags &= ~PEEP_FLAGS_CONTAGIOUS; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_FELICITY_ANDERSON, peep)) { - peep->peep_flags |= PEEP_FLAGS_CONTAGIOUS; - } + peep->peep_flags &= ~PEEP_FLAGS_CONTAGIOUS; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_FELICITY_ANDERSON, peep)) { + peep->peep_flags |= PEEP_FLAGS_CONTAGIOUS; + } - peep->peep_flags &= ~PEEP_FLAGS_JOY; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_KATIE_SMITH, peep)) { - peep->peep_flags |= PEEP_FLAGS_JOY; - } + peep->peep_flags &= ~PEEP_FLAGS_JOY; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_KATIE_SMITH, peep)) { + peep->peep_flags |= PEEP_FLAGS_JOY; + } - peep->peep_flags &= ~PEEP_FLAGS_ANGRY; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_EILIDH_BELL, peep)) { - peep->peep_flags |= PEEP_FLAGS_ANGRY; - } + peep->peep_flags &= ~PEEP_FLAGS_ANGRY; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_EILIDH_BELL, peep)) { + peep->peep_flags |= PEEP_FLAGS_ANGRY; + } - peep->peep_flags &= ~PEEP_FLAGS_ICE_CREAM; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_NANCY_STILLWAGON, peep)) { - peep->peep_flags |= PEEP_FLAGS_ICE_CREAM; - } + peep->peep_flags &= ~PEEP_FLAGS_ICE_CREAM; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_NANCY_STILLWAGON, peep)) { + peep->peep_flags |= PEEP_FLAGS_ICE_CREAM; + } - peep->peep_flags &= ~PEEP_FLAGS_HERE_WE_ARE; - if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_DAVID_ELLIS, peep)) { - peep->peep_flags |= PEEP_FLAGS_HERE_WE_ARE; - } + peep->peep_flags &= ~PEEP_FLAGS_HERE_WE_ARE; + if (peep_check_easteregg_name(EASTEREGG_PEEP_NAME_DAVID_ELLIS, peep)) { + peep->peep_flags |= PEEP_FLAGS_HERE_WE_ARE; + } - gfx_invalidate_screen(); - return 0; + gfx_invalidate_screen(); + return 0; } /** @@ -12720,53 +12720,53 @@ money32 set_peep_name(sint32 flags, sint32 state, uint16 sprite_index, uint8* te * rct2: 0x00698D6C */ void game_command_set_guest_name(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - uint16 sprite_index = *ecx & 0xFFFF; + uint16 sprite_index = *ecx & 0xFFFF; - if (sprite_index >= MAX_SPRITES) { - *ebx = MONEY32_UNDEFINED; - return; - } - rct_peep *peep = GET_PEEP(sprite_index); - if (peep->type != PEEP_TYPE_GUEST) { - *ebx = MONEY32_UNDEFINED; - return; - } + if (sprite_index >= MAX_SPRITES) { + *ebx = MONEY32_UNDEFINED; + return; + } + rct_peep *peep = GET_PEEP(sprite_index); + if (peep->type != PEEP_TYPE_GUEST) { + *ebx = MONEY32_UNDEFINED; + return; + } - *ebx = set_peep_name( - *ebx & 0xFF, - *eax & 0xFFFF, - sprite_index, - (uint8*)edx, - (uint8*)ebp, - (uint8*)edi - ); + *ebx = set_peep_name( + *ebx & 0xFF, + *eax & 0xFFFF, + sprite_index, + (uint8*)edx, + (uint8*)ebp, + (uint8*)edi + ); } #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 void pathfind_logging_enable(rct_peep* peep) { - #if defined(PATHFIND_DEBUG) && PATHFIND_DEBUG - /* Determine if the pathfinding debugging is wanted for this peep. */ - format_string(gPathFindDebugPeepName, sizeof(gPathFindDebugPeepName), peep->name_string_idx, &(peep->id)); + #if defined(PATHFIND_DEBUG) && PATHFIND_DEBUG + /* Determine if the pathfinding debugging is wanted for this peep. */ + format_string(gPathFindDebugPeepName, sizeof(gPathFindDebugPeepName), peep->name_string_idx, &(peep->id)); - /* For guests, use the existing PEEP_FLAGS_TRACKING flag to - * determine for which guest(s) the pathfinding debugging will - * be output for. */ - if (peep->type == PEEP_TYPE_GUEST){ - gPathFindDebug = peep->peep_flags & PEEP_FLAGS_TRACKING; - } - /* For staff, there is no tracking button (any other similar - * suitable existing mechanism?), so fall back to a crude - * string comparison with a compile time hardcoded name. */ - else { - gPathFindDebug = strcmp(gPathFindDebugPeepName, "Mechanic Debug") == 0; - } - #endif // defined(PATHFIND_DEBUG) && PATHFIND_DEBUG + /* For guests, use the existing PEEP_FLAGS_TRACKING flag to + * determine for which guest(s) the pathfinding debugging will + * be output for. */ + if (peep->type == PEEP_TYPE_GUEST){ + gPathFindDebug = peep->peep_flags & PEEP_FLAGS_TRACKING; + } + /* For staff, there is no tracking button (any other similar + * suitable existing mechanism?), so fall back to a crude + * string comparison with a compile time hardcoded name. */ + else { + gPathFindDebug = strcmp(gPathFindDebugPeepName, "Mechanic Debug") == 0; + } + #endif // defined(PATHFIND_DEBUG) && PATHFIND_DEBUG } void pathfind_logging_disable() { - #if defined(PATHFIND_DEBUG) && PATHFIND_DEBUG - gPathFindDebug = false; - #endif // defined(PATHFIND_DEBUG) && PATHFIND_DEBUG + #if defined(PATHFIND_DEBUG) && PATHFIND_DEBUG + gPathFindDebug = false; + #endif // defined(PATHFIND_DEBUG) && PATHFIND_DEBUG } #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 @@ -12840,33 +12840,33 @@ void peep_autoposition(rct_peep *newPeep) } void increment_guests_in_park(){ - if (gNumGuestsInPark < UINT16_MAX){ - gNumGuestsInPark++; - } else { - openrct2_assert(false, "Attempt to increment guests in park above max value (65535)."); - } + if (gNumGuestsInPark < UINT16_MAX){ + gNumGuestsInPark++; + } else { + openrct2_assert(false, "Attempt to increment guests in park above max value (65535)."); + } } void increment_guests_heading_for_park(){ - if (gNumGuestsHeadingForPark < UINT16_MAX){ - gNumGuestsHeadingForPark++; - } else { - openrct2_assert(false, "Attempt to increment guests heading for park above max value (65535)."); - } + if (gNumGuestsHeadingForPark < UINT16_MAX){ + gNumGuestsHeadingForPark++; + } else { + openrct2_assert(false, "Attempt to increment guests heading for park above max value (65535)."); + } } void decrement_guests_in_park(){ - if (gNumGuestsInPark > 0){ - gNumGuestsInPark--; - } else { - log_error("Attempt to decrement guests in park below zero."); - } + if (gNumGuestsInPark > 0){ + gNumGuestsInPark--; + } else { + log_error("Attempt to decrement guests in park below zero."); + } } void decrement_guests_heading_for_park(){ - if (gNumGuestsHeadingForPark > 0){ - gNumGuestsHeadingForPark--; - } else { - log_error("Attempt to decrement guests heading for park below zero."); - } + if (gNumGuestsHeadingForPark > 0){ + gNumGuestsHeadingForPark--; + } else { + log_error("Attempt to decrement guests heading for park below zero."); + } } diff --git a/src/openrct2/peep/peep.h b/src/openrct2/peep/peep.h index 617d5b0139..abb289cb8f 100644 --- a/src/openrct2/peep/peep.h +++ b/src/openrct2/peep/peep.h @@ -32,648 +32,648 @@ #define PEEP_LOST_WARNING_THRESHOLD 8 enum PEEP_TYPE { - PEEP_TYPE_GUEST, - PEEP_TYPE_STAFF + PEEP_TYPE_GUEST, + PEEP_TYPE_STAFF }; enum PEEP_THOUGHT_TYPE { - PEEP_THOUGHT_TYPE_CANT_AFFORD_0 = 0, // "I can't afford" - PEEP_THOUGHT_TYPE_SPENT_MONEY = 1, // "I've spent all my money" - PEEP_THOUGHT_TYPE_SICK = 2, // "I feel sick" - PEEP_THOUGHT_TYPE_VERY_SICK = 3, // "I feel very sick" - PEEP_THOUGHT_TYPE_MORE_THRILLING = 4, // "I want to go on something more thrilling than X" - PEEP_THOUGHT_TYPE_INTENSE = 5, // "X looks too intense for me" - PEEP_THOUGHT_TYPE_HAVENT_FINISHED = 6, // "I haven't finished my X yet" - PEEP_THOUGHT_TYPE_SICKENING = 7, // "Just looking at X makes me feel sick" - PEEP_THOUGHT_TYPE_BAD_VALUE = 8, // "I'm not paying that much to go on X" - PEEP_THOUGHT_TYPE_GO_HOME = 9, // "I want to go home" - PEEP_THOUGHT_TYPE_GOOD_VALUE = 10, // "X is really good value" - PEEP_THOUGHT_TYPE_ALREADY_GOT = 11, // "I've already got" - PEEP_THOUGHT_TYPE_CANT_AFFORD = 12, // "I can't afford" - PEEP_THOUGHT_TYPE_NOT_HUNGRY = 13, // "I'm not hungry" - PEEP_THOUGHT_TYPE_NOT_THIRSTY = 14, // "I'm not thirsty" - PEEP_THOUGHT_TYPE_DROWNING = 15, // "Help! I'm drowning!" - PEEP_THOUGHT_TYPE_LOST = 16, // "I'm lost!" - PEEP_THOUGHT_TYPE_WAS_GREAT = 17, // "X was great" - PEEP_THOUGHT_TYPE_QUEUING_AGES = 18, // "I've been queuing for X for ages" - PEEP_THOUGHT_TYPE_TIRED = 19, // "I'm tired" - PEEP_THOUGHT_TYPE_HUNGRY = 20, // "I'm hungry" - PEEP_THOUGHT_TYPE_THIRSTY = 21, // "I'm thirsty" - PEEP_THOUGHT_TYPE_BATHROOM = 22, // "I need to go to the bathroom" - PEEP_THOUGHT_TYPE_CANT_FIND = 23, // "I can't find X" - PEEP_THOUGHT_TYPE_NOT_PAYING = 24, // "I'm not paying that much to use X" - PEEP_THOUGHT_TYPE_NOT_WHILE_RAINING = 25, // "I'm not going on X while it's raining" - PEEP_THOUGHT_TYPE_BAD_LITTER = 26, // "The litter here is really bad" - PEEP_THOUGHT_TYPE_CANT_FIND_EXIT = 27, // "I can't find the exit" - PEEP_THOUGHT_TYPE_GET_OFF = 28, // "I want to get off X" - PEEP_THOUGHT_TYPE_GET_OUT = 29, // "I want to get out of X" - PEEP_THOUGHT_TYPE_NOT_SAFE = 30, // "I'm not going on X - it isn't safe" - PEEP_THOUGHT_TYPE_PATH_DISGUSTING = 31, // "This path is disgusting" - PEEP_THOUGHT_TYPE_CROWDED = 32, // "It's too crowded here" - PEEP_THOUGHT_TYPE_VANDALISM = 33, // "The vandalism here is really bad" - PEEP_THOUGHT_TYPE_SCENERY = 34, // "Great scenery!" - PEEP_THOUGHT_TYPE_VERY_CLEAN = 35, // "This park is very clean and tidy" - PEEP_THOUGHT_TYPE_FOUNTAINS = 36, // "The jumping fountains are great" - PEEP_THOUGHT_TYPE_MUSIC = 37, // "The music is nice here" - PEEP_THOUGHT_TYPE_BALLOON = 38, // "This balloon from X is really good value" - PEEP_THOUGHT_TYPE_TOY = 39, // "This cuddly toy from X is really good value" - PEEP_THOUGHT_TYPE_MAP = 40, - PEEP_THOUGHT_TYPE_PHOTO = 41, // "This on ride photo from X is really good value" - PEEP_THOUGHT_TYPE_UMBRELLA = 42, - PEEP_THOUGHT_TYPE_DRINK = 43, - PEEP_THOUGHT_TYPE_BURGER = 44, - PEEP_THOUGHT_TYPE_CHIPS = 45, - PEEP_THOUGHT_TYPE_ICE_CREAM = 46, - PEEP_THOUGHT_TYPE_CANDYFLOSS = 47, + PEEP_THOUGHT_TYPE_CANT_AFFORD_0 = 0, // "I can't afford" + PEEP_THOUGHT_TYPE_SPENT_MONEY = 1, // "I've spent all my money" + PEEP_THOUGHT_TYPE_SICK = 2, // "I feel sick" + PEEP_THOUGHT_TYPE_VERY_SICK = 3, // "I feel very sick" + PEEP_THOUGHT_TYPE_MORE_THRILLING = 4, // "I want to go on something more thrilling than X" + PEEP_THOUGHT_TYPE_INTENSE = 5, // "X looks too intense for me" + PEEP_THOUGHT_TYPE_HAVENT_FINISHED = 6, // "I haven't finished my X yet" + PEEP_THOUGHT_TYPE_SICKENING = 7, // "Just looking at X makes me feel sick" + PEEP_THOUGHT_TYPE_BAD_VALUE = 8, // "I'm not paying that much to go on X" + PEEP_THOUGHT_TYPE_GO_HOME = 9, // "I want to go home" + PEEP_THOUGHT_TYPE_GOOD_VALUE = 10, // "X is really good value" + PEEP_THOUGHT_TYPE_ALREADY_GOT = 11, // "I've already got" + PEEP_THOUGHT_TYPE_CANT_AFFORD = 12, // "I can't afford" + PEEP_THOUGHT_TYPE_NOT_HUNGRY = 13, // "I'm not hungry" + PEEP_THOUGHT_TYPE_NOT_THIRSTY = 14, // "I'm not thirsty" + PEEP_THOUGHT_TYPE_DROWNING = 15, // "Help! I'm drowning!" + PEEP_THOUGHT_TYPE_LOST = 16, // "I'm lost!" + PEEP_THOUGHT_TYPE_WAS_GREAT = 17, // "X was great" + PEEP_THOUGHT_TYPE_QUEUING_AGES = 18, // "I've been queuing for X for ages" + PEEP_THOUGHT_TYPE_TIRED = 19, // "I'm tired" + PEEP_THOUGHT_TYPE_HUNGRY = 20, // "I'm hungry" + PEEP_THOUGHT_TYPE_THIRSTY = 21, // "I'm thirsty" + PEEP_THOUGHT_TYPE_BATHROOM = 22, // "I need to go to the bathroom" + PEEP_THOUGHT_TYPE_CANT_FIND = 23, // "I can't find X" + PEEP_THOUGHT_TYPE_NOT_PAYING = 24, // "I'm not paying that much to use X" + PEEP_THOUGHT_TYPE_NOT_WHILE_RAINING = 25, // "I'm not going on X while it's raining" + PEEP_THOUGHT_TYPE_BAD_LITTER = 26, // "The litter here is really bad" + PEEP_THOUGHT_TYPE_CANT_FIND_EXIT = 27, // "I can't find the exit" + PEEP_THOUGHT_TYPE_GET_OFF = 28, // "I want to get off X" + PEEP_THOUGHT_TYPE_GET_OUT = 29, // "I want to get out of X" + PEEP_THOUGHT_TYPE_NOT_SAFE = 30, // "I'm not going on X - it isn't safe" + PEEP_THOUGHT_TYPE_PATH_DISGUSTING = 31, // "This path is disgusting" + PEEP_THOUGHT_TYPE_CROWDED = 32, // "It's too crowded here" + PEEP_THOUGHT_TYPE_VANDALISM = 33, // "The vandalism here is really bad" + PEEP_THOUGHT_TYPE_SCENERY = 34, // "Great scenery!" + PEEP_THOUGHT_TYPE_VERY_CLEAN = 35, // "This park is very clean and tidy" + PEEP_THOUGHT_TYPE_FOUNTAINS = 36, // "The jumping fountains are great" + PEEP_THOUGHT_TYPE_MUSIC = 37, // "The music is nice here" + PEEP_THOUGHT_TYPE_BALLOON = 38, // "This balloon from X is really good value" + PEEP_THOUGHT_TYPE_TOY = 39, // "This cuddly toy from X is really good value" + PEEP_THOUGHT_TYPE_MAP = 40, + PEEP_THOUGHT_TYPE_PHOTO = 41, // "This on ride photo from X is really good value" + PEEP_THOUGHT_TYPE_UMBRELLA = 42, + PEEP_THOUGHT_TYPE_DRINK = 43, + PEEP_THOUGHT_TYPE_BURGER = 44, + PEEP_THOUGHT_TYPE_CHIPS = 45, + PEEP_THOUGHT_TYPE_ICE_CREAM = 46, + PEEP_THOUGHT_TYPE_CANDYFLOSS = 47, - PEEP_THOUGHT_TYPE_PIZZA = 51, + PEEP_THOUGHT_TYPE_PIZZA = 51, - PEEP_THOUGHT_TYPE_POPCORN = 53, - PEEP_THOUGHT_TYPE_HOT_DOG = 54, - PEEP_THOUGHT_TYPE_TENTACLE = 55, - PEEP_THOUGHT_TYPE_HAT = 56, - PEEP_THOUGHT_TYPE_CANDY_APPLE = 57, - PEEP_THOUGHT_TYPE_TSHIRT = 58, - PEEP_THOUGHT_TYPE_DONUT = 59, - PEEP_THOUGHT_TYPE_COFFEE = 60, + PEEP_THOUGHT_TYPE_POPCORN = 53, + PEEP_THOUGHT_TYPE_HOT_DOG = 54, + PEEP_THOUGHT_TYPE_TENTACLE = 55, + PEEP_THOUGHT_TYPE_HAT = 56, + PEEP_THOUGHT_TYPE_CANDY_APPLE = 57, + PEEP_THOUGHT_TYPE_TSHIRT = 58, + PEEP_THOUGHT_TYPE_DONUT = 59, + PEEP_THOUGHT_TYPE_COFFEE = 60, - PEEP_THOUGHT_TYPE_CHICKEN = 62, - PEEP_THOUGHT_TYPE_LEMONADE = 63, + PEEP_THOUGHT_TYPE_CHICKEN = 62, + PEEP_THOUGHT_TYPE_LEMONADE = 63, - PEEP_THOUGHT_TYPE_WOW = 67, // "Wow!" + PEEP_THOUGHT_TYPE_WOW = 67, // "Wow!" - PEEP_THOUGHT_TYPE_WOW2 = 70,// "Wow!" - PEEP_THOUGHT_TYPE_WATCHED = 71, // "I have the strangest feeling someone is watching me" - PEEP_THOUGHT_TYPE_BALLOON_MUCH = 72, // "I'm not paying that much to get a balloon from X" - PEEP_THOUGHT_TYPE_TOY_MUCH = 73, - PEEP_THOUGHT_TYPE_MAP_MUCH = 74, - PEEP_THOUGHT_TYPE_PHOTO_MUCH = 75, - PEEP_THOUGHT_TYPE_UMBRELLA_MUCH = 76, - PEEP_THOUGHT_TYPE_DRINK_MUCH = 77, - PEEP_THOUGHT_TYPE_BURGER_MUCH = 78, - PEEP_THOUGHT_TYPE_CHIPS_MUCH = 79, - PEEP_THOUGHT_TYPE_ICE_CREAM_MUCH = 80, - PEEP_THOUGHT_TYPE_CANDYFLOSS_MUCH = 81, + PEEP_THOUGHT_TYPE_WOW2 = 70,// "Wow!" + PEEP_THOUGHT_TYPE_WATCHED = 71, // "I have the strangest feeling someone is watching me" + PEEP_THOUGHT_TYPE_BALLOON_MUCH = 72, // "I'm not paying that much to get a balloon from X" + PEEP_THOUGHT_TYPE_TOY_MUCH = 73, + PEEP_THOUGHT_TYPE_MAP_MUCH = 74, + PEEP_THOUGHT_TYPE_PHOTO_MUCH = 75, + PEEP_THOUGHT_TYPE_UMBRELLA_MUCH = 76, + PEEP_THOUGHT_TYPE_DRINK_MUCH = 77, + PEEP_THOUGHT_TYPE_BURGER_MUCH = 78, + PEEP_THOUGHT_TYPE_CHIPS_MUCH = 79, + PEEP_THOUGHT_TYPE_ICE_CREAM_MUCH = 80, + PEEP_THOUGHT_TYPE_CANDYFLOSS_MUCH = 81, - PEEP_THOUGHT_TYPE_PIZZA_MUCH = 85, + PEEP_THOUGHT_TYPE_PIZZA_MUCH = 85, - PEEP_THOUGHT_TYPE_POPCORN_MUCH = 87, - PEEP_THOUGHT_TYPE_HOT_DOG_MUCH = 88, - PEEP_THOUGHT_TYPE_TENTACLE_MUCH = 89, - PEEP_THOUGHT_TYPE_HAT_MUCH = 90, - PEEP_THOUGHT_TYPE_CANDY_APPLE_MUCH = 91, - PEEP_THOUGHT_TYPE_TSHIRT_MUCH = 92, - PEEP_THOUGHT_TYPE_DONUT_MUCH = 93, - PEEP_THOUGHT_TYPE_COFFEE_MUCH = 94, + PEEP_THOUGHT_TYPE_POPCORN_MUCH = 87, + PEEP_THOUGHT_TYPE_HOT_DOG_MUCH = 88, + PEEP_THOUGHT_TYPE_TENTACLE_MUCH = 89, + PEEP_THOUGHT_TYPE_HAT_MUCH = 90, + PEEP_THOUGHT_TYPE_CANDY_APPLE_MUCH = 91, + PEEP_THOUGHT_TYPE_TSHIRT_MUCH = 92, + PEEP_THOUGHT_TYPE_DONUT_MUCH = 93, + PEEP_THOUGHT_TYPE_COFFEE_MUCH = 94, - PEEP_THOUGHT_TYPE_CHICKEN_MUCH = 96, - PEEP_THOUGHT_TYPE_LEMONADE_MUCH = 97, + PEEP_THOUGHT_TYPE_CHICKEN_MUCH = 96, + PEEP_THOUGHT_TYPE_LEMONADE_MUCH = 97, - PEEP_THOUGHT_TYPE_PHOTO2 = 104, // "This on-ride photo from X is really good value" - PEEP_THOUGHT_TYPE_PHOTO3 = 105, - PEEP_THOUGHT_TYPE_PHOTO4 = 106, - PEEP_THOUGHT_TYPE_PRETZEL = 107, - PEEP_THOUGHT_TYPE_HOT_CHOCOLATE = 108, - PEEP_THOUGHT_TYPE_ICED_TEA = 109, - PEEP_THOUGHT_TYPE_FUNNEL_CAKE = 110, - PEEP_THOUGHT_TYPE_SUNGLASSES = 111, - PEEP_THOUGHT_TYPE_BEEF_NOODLES = 112, - PEEP_THOUGHT_TYPE_FRIED_RICE_NOODLES = 113, - PEEP_THOUGHT_TYPE_WONTON_SOUP = 114, - PEEP_THOUGHT_TYPE_MEATBALL_SOUP = 115, - PEEP_THOUGHT_TYPE_FRUIT_JUICE = 116, - PEEP_THOUGHT_TYPE_SOYBEAN_MILK = 117, - PEEP_THOUGHT_TYPE_SU_JONGKWA = 118, - PEEP_THOUGHT_TYPE_SUB_SANDWICH = 119, - PEEP_THOUGHT_TYPE_COOKIE = 120, + PEEP_THOUGHT_TYPE_PHOTO2 = 104, // "This on-ride photo from X is really good value" + PEEP_THOUGHT_TYPE_PHOTO3 = 105, + PEEP_THOUGHT_TYPE_PHOTO4 = 106, + PEEP_THOUGHT_TYPE_PRETZEL = 107, + PEEP_THOUGHT_TYPE_HOT_CHOCOLATE = 108, + PEEP_THOUGHT_TYPE_ICED_TEA = 109, + PEEP_THOUGHT_TYPE_FUNNEL_CAKE = 110, + PEEP_THOUGHT_TYPE_SUNGLASSES = 111, + PEEP_THOUGHT_TYPE_BEEF_NOODLES = 112, + PEEP_THOUGHT_TYPE_FRIED_RICE_NOODLES = 113, + PEEP_THOUGHT_TYPE_WONTON_SOUP = 114, + PEEP_THOUGHT_TYPE_MEATBALL_SOUP = 115, + PEEP_THOUGHT_TYPE_FRUIT_JUICE = 116, + PEEP_THOUGHT_TYPE_SOYBEAN_MILK = 117, + PEEP_THOUGHT_TYPE_SU_JONGKWA = 118, + PEEP_THOUGHT_TYPE_SUB_SANDWICH = 119, + PEEP_THOUGHT_TYPE_COOKIE = 120, - PEEP_THOUGHT_TYPE_ROAST_SAUSAGE = 124, + PEEP_THOUGHT_TYPE_ROAST_SAUSAGE = 124, - PEEP_THOUGHT_TYPE_PHOTO2_MUCH = 136, - PEEP_THOUGHT_TYPE_PHOTO3_MUCH = 137, - PEEP_THOUGHT_TYPE_PHOTO4_MUCH = 138, - PEEP_THOUGHT_TYPE_PRETZEL_MUCH = 139, - PEEP_THOUGHT_TYPE_HOT_CHOCOLATE_MUCH = 140, - PEEP_THOUGHT_TYPE_ICED_TEA_MUCH = 141, - PEEP_THOUGHT_TYPE_FUNNEL_CAKE_MUCH = 142, - PEEP_THOUGHT_TYPE_SUNGLASSES_MUCH = 143, - PEEP_THOUGHT_TYPE_BEEF_NOODLES_MUCH = 144, - PEEP_THOUGHT_TYPE_FRIED_RICE_NOODLES_MUCH = 145, - PEEP_THOUGHT_TYPE_WONTON_SOUP_MUCH = 146, - PEEP_THOUGHT_TYPE_MEATBALL_SOUP_MUCH = 147, - PEEP_THOUGHT_TYPE_FRUIT_JUICE_MUCH = 148, - PEEP_THOUGHT_TYPE_SOYBEAN_MILK_MUCH = 149, - PEEP_THOUGHT_TYPE_SU_JONGKWA_MUCH = 150, - PEEP_THOUGHT_TYPE_SUB_SANDWICH_MUCH = 151, - PEEP_THOUGHT_TYPE_COOKIE_MUCH = 152, + PEEP_THOUGHT_TYPE_PHOTO2_MUCH = 136, + PEEP_THOUGHT_TYPE_PHOTO3_MUCH = 137, + PEEP_THOUGHT_TYPE_PHOTO4_MUCH = 138, + PEEP_THOUGHT_TYPE_PRETZEL_MUCH = 139, + PEEP_THOUGHT_TYPE_HOT_CHOCOLATE_MUCH = 140, + PEEP_THOUGHT_TYPE_ICED_TEA_MUCH = 141, + PEEP_THOUGHT_TYPE_FUNNEL_CAKE_MUCH = 142, + PEEP_THOUGHT_TYPE_SUNGLASSES_MUCH = 143, + PEEP_THOUGHT_TYPE_BEEF_NOODLES_MUCH = 144, + PEEP_THOUGHT_TYPE_FRIED_RICE_NOODLES_MUCH = 145, + PEEP_THOUGHT_TYPE_WONTON_SOUP_MUCH = 146, + PEEP_THOUGHT_TYPE_MEATBALL_SOUP_MUCH = 147, + PEEP_THOUGHT_TYPE_FRUIT_JUICE_MUCH = 148, + PEEP_THOUGHT_TYPE_SOYBEAN_MILK_MUCH = 149, + PEEP_THOUGHT_TYPE_SU_JONGKWA_MUCH = 150, + PEEP_THOUGHT_TYPE_SUB_SANDWICH_MUCH = 151, + PEEP_THOUGHT_TYPE_COOKIE_MUCH = 152, - PEEP_THOUGHT_TYPE_ROAST_SAUSAGE_MUCH = 156, + PEEP_THOUGHT_TYPE_ROAST_SAUSAGE_MUCH = 156, - PEEP_THOUGHT_TYPE_HELP = 168, // "Help! Put me down!" - PEEP_THOUGHT_TYPE_RUNNING_OUT = 169, // "I'm running out of cash!" - PEEP_THOUGHT_TYPE_NEW_RIDE = 170, // "Wow! A new ride being built!" - PEEP_THOUGHT_TYPE_NICE_RIDE_DEPRECATED = 171, // "Nice ride! But not as good as the Phoenix..." - PEEP_THOUGHT_TYPE_EXCITED_DEPRECATED = 172, // "I'm so excited - It's an Intamin ride!" - PEEP_THOUGHT_TYPE_HERE_WE_ARE = 173, // "...and here we are on X!" + PEEP_THOUGHT_TYPE_HELP = 168, // "Help! Put me down!" + PEEP_THOUGHT_TYPE_RUNNING_OUT = 169, // "I'm running out of cash!" + PEEP_THOUGHT_TYPE_NEW_RIDE = 170, // "Wow! A new ride being built!" + PEEP_THOUGHT_TYPE_NICE_RIDE_DEPRECATED = 171, // "Nice ride! But not as good as the Phoenix..." + PEEP_THOUGHT_TYPE_EXCITED_DEPRECATED = 172, // "I'm so excited - It's an Intamin ride!" + PEEP_THOUGHT_TYPE_HERE_WE_ARE = 173, // "...and here we are on X!" - PEEP_THOUGHT_TYPE_NONE = 255 + PEEP_THOUGHT_TYPE_NONE = 255 }; enum PEEP_STATE { - PEEP_STATE_FALLING = 0, // Drowning is part of falling - PEEP_STATE_1 = 1, - PEEP_STATE_QUEUING_FRONT = 2, - PEEP_STATE_ON_RIDE = 3, - PEEP_STATE_LEAVING_RIDE = 4, - PEEP_STATE_WALKING = 5, - PEEP_STATE_QUEUING = 6, - PEEP_STATE_ENTERING_RIDE = 7, - PEEP_STATE_SITTING = 8, - PEEP_STATE_PICKED = 9, - PEEP_STATE_PATROLLING = 10, // Not sure - PEEP_STATE_MOWING = 11, - PEEP_STATE_SWEEPING = 12, - PEEP_STATE_ENTERING_PARK = 13, - PEEP_STATE_LEAVING_PARK = 14, - PEEP_STATE_ANSWERING = 15, - PEEP_STATE_FIXING = 16, - PEEP_STATE_BUYING = 17, - PEEP_STATE_WATCHING = 18, - PEEP_STATE_EMPTYING_BIN = 19, - PEEP_STATE_USING_BIN = 20, - PEEP_STATE_WATERING = 21, - PEEP_STATE_HEADING_TO_INSPECTION = 22, - PEEP_STATE_INSPECTING = 23 + PEEP_STATE_FALLING = 0, // Drowning is part of falling + PEEP_STATE_1 = 1, + PEEP_STATE_QUEUING_FRONT = 2, + PEEP_STATE_ON_RIDE = 3, + PEEP_STATE_LEAVING_RIDE = 4, + PEEP_STATE_WALKING = 5, + PEEP_STATE_QUEUING = 6, + PEEP_STATE_ENTERING_RIDE = 7, + PEEP_STATE_SITTING = 8, + PEEP_STATE_PICKED = 9, + PEEP_STATE_PATROLLING = 10, // Not sure + PEEP_STATE_MOWING = 11, + PEEP_STATE_SWEEPING = 12, + PEEP_STATE_ENTERING_PARK = 13, + PEEP_STATE_LEAVING_PARK = 14, + PEEP_STATE_ANSWERING = 15, + PEEP_STATE_FIXING = 16, + PEEP_STATE_BUYING = 17, + PEEP_STATE_WATCHING = 18, + PEEP_STATE_EMPTYING_BIN = 19, + PEEP_STATE_USING_BIN = 20, + PEEP_STATE_WATERING = 21, + PEEP_STATE_HEADING_TO_INSPECTION = 22, + PEEP_STATE_INSPECTING = 23 }; enum PEEP_ACTION_EVENTS { - PEEP_ACTION_CHECK_TIME = 0, - // If no food then check watch - PEEP_ACTION_EAT_FOOD = 1, - PEEP_ACTION_SHAKE_HEAD = 2, - PEEP_ACTION_EMPTY_POCKETS = 3, - PEEP_ACTION_SITTING_EAT_FOOD = 4, - PEEP_ACTION_SITTING_CHECK_WATCH = 4, - PEEP_ACTION_SITTING_LOOK_AROUND_LEFT = 5, - PEEP_ACTION_SITTING_LOOK_AROUND_RIGHT = 6, - PEEP_ACTION_WOW = 7, - PEEP_ACTION_THROW_UP = 8, - PEEP_ACTION_JUMP = 9, - PEEP_ACTION_STAFF_SWEEP = 10, - PEEP_ACTION_DROWNING = 11, - PEEP_ACTION_STAFF_ANSWER_CALL = 12, - PEEP_ACTION_STAFF_ANSWER_CALL_2 = 13, - PEEP_ACTION_STAFF_CHECKBOARD = 14, - PEEP_ACTION_STAFF_FIX = 15, - PEEP_ACTION_STAFF_FIX_2 = 16, - PEEP_ACTION_STAFF_FIX_GROUND = 17, - PEEP_ACTION_STAFF_FIX_3 = 18, - PEEP_ACTION_STAFF_WATERING = 19, - PEEP_ACTION_JOY = 20, - PEEP_ACTION_READ_MAP = 21, - PEEP_ACTION_WAVE = 22, - PEEP_ACTION_STAFF_EMPTY_BIN = 23, - PEEP_ACTION_WAVE_2 = 24, - PEEP_ACTION_TAKE_PHOTO = 25, - PEEP_ACTION_CLAP = 26, - PEEP_ACTION_DISGUST = 27, - PEEP_ACTION_DRAW_PICTURE = 28, - PEEP_ACTION_BEING_WATCHED = 29, - PEEP_ACTION_WITHDRAW_MONEY = 30, + PEEP_ACTION_CHECK_TIME = 0, + // If no food then check watch + PEEP_ACTION_EAT_FOOD = 1, + PEEP_ACTION_SHAKE_HEAD = 2, + PEEP_ACTION_EMPTY_POCKETS = 3, + PEEP_ACTION_SITTING_EAT_FOOD = 4, + PEEP_ACTION_SITTING_CHECK_WATCH = 4, + PEEP_ACTION_SITTING_LOOK_AROUND_LEFT = 5, + PEEP_ACTION_SITTING_LOOK_AROUND_RIGHT = 6, + PEEP_ACTION_WOW = 7, + PEEP_ACTION_THROW_UP = 8, + PEEP_ACTION_JUMP = 9, + PEEP_ACTION_STAFF_SWEEP = 10, + PEEP_ACTION_DROWNING = 11, + PEEP_ACTION_STAFF_ANSWER_CALL = 12, + PEEP_ACTION_STAFF_ANSWER_CALL_2 = 13, + PEEP_ACTION_STAFF_CHECKBOARD = 14, + PEEP_ACTION_STAFF_FIX = 15, + PEEP_ACTION_STAFF_FIX_2 = 16, + PEEP_ACTION_STAFF_FIX_GROUND = 17, + PEEP_ACTION_STAFF_FIX_3 = 18, + PEEP_ACTION_STAFF_WATERING = 19, + PEEP_ACTION_JOY = 20, + PEEP_ACTION_READ_MAP = 21, + PEEP_ACTION_WAVE = 22, + PEEP_ACTION_STAFF_EMPTY_BIN = 23, + PEEP_ACTION_WAVE_2 = 24, + PEEP_ACTION_TAKE_PHOTO = 25, + PEEP_ACTION_CLAP = 26, + PEEP_ACTION_DISGUST = 27, + PEEP_ACTION_DRAW_PICTURE = 28, + PEEP_ACTION_BEING_WATCHED = 29, + PEEP_ACTION_WITHDRAW_MONEY = 30, - PEEP_ACTION_NONE_1 = 254, - PEEP_ACTION_NONE_2 = 255 + PEEP_ACTION_NONE_1 = 254, + PEEP_ACTION_NONE_2 = 255 }; enum PEEP_ACTION_SPRITE_TYPE { - PEEP_ACTION_SPRITE_TYPE_NONE = 0, - PEEP_ACTION_SPRITE_TYPE_CHECK_TIME = 1, - PEEP_ACTION_SPRITE_TYPE_2 = 2, - PEEP_ACTION_SPRITE_TYPE_EAT_FOOD = 3, - PEEP_ACTION_SPRITE_TYPE_SHAKE_HEAD = 4, - PEEP_ACTION_SPRITE_TYPE_EMPTY_POCKETS = 5, - PEEP_ACTION_SPRITE_TYPE_HOLD_MAT = 6, - PEEP_ACTION_SPRITE_TYPE_7 = 7, - PEEP_ACTION_SPRITE_TYPE_SITTING_EAT_FOOD = 8, - PEEP_ACTION_SPRITE_TYPE_SITTING_LOOK_AROUND_LEFT = 9, - PEEP_ACTION_SPRITE_TYPE_SITTING_LOOK_AROUND_RIGHT = 10, - PEEP_ACTION_SPRITE_TYPE_UI = 11, - PEEP_ACTION_SPRITE_TYPE_STAFF_MOWER = 12, - PEEP_ACTION_SPRITE_TYPE_WOW = 13, - PEEP_ACTION_SPRITE_TYPE_THROW_UP = 14, - PEEP_ACTION_SPRITE_TYPE_JUMP = 15, - PEEP_ACTION_SPRITE_TYPE_STAFF_SWEEP = 16, - PEEP_ACTION_SPRITE_TYPE_DROWNING = 17, - PEEP_ACTION_SPRITE_TYPE_STAFF_ANSWER_CALL = 18, - PEEP_ACTION_SPRITE_TYPE_STAFF_ANSWER_CALL_2 = 19, - PEEP_ACTION_SPRITE_TYPE_STAFF_CHECKBOARD = 20, - PEEP_ACTION_SPRITE_TYPE_STAFF_FIX = 21, - PEEP_ACTION_SPRITE_TYPE_STAFF_FIX_2 = 22, - PEEP_ACTION_SPRITE_TYPE_STAFF_FIX_GROUND = 23, - PEEP_ACTION_SPRITE_TYPE_STAFF_FIX_3 = 24, - PEEP_ACTION_SPRITE_TYPE_STAFF_WATERING = 25, - PEEP_ACTION_SPRITE_TYPE_JOY = 26, - PEEP_ACTION_SPRITE_TYPE_READ_MAP = 27, - PEEP_ACTION_SPRITE_TYPE_WAVE = 28, - PEEP_ACTION_SPRITE_TYPE_STAFF_EMPTY_BIN = 29, - PEEP_ACTION_SPRITE_TYPE_WAVE_2 = 30, - PEEP_ACTION_SPRITE_TYPE_TAKE_PHOTO = 31, - PEEP_ACTION_SPRITE_TYPE_CLAP = 32, - PEEP_ACTION_SPRITE_TYPE_DISGUST = 33, - PEEP_ACTION_SPRITE_TYPE_DRAW_PICTURE = 34, - PEEP_ACTION_SPRITE_TYPE_BEING_WATCHED = 35, - PEEP_ACTION_SPRITE_TYPE_WITHDRAW_MONEY = 36 + PEEP_ACTION_SPRITE_TYPE_NONE = 0, + PEEP_ACTION_SPRITE_TYPE_CHECK_TIME = 1, + PEEP_ACTION_SPRITE_TYPE_2 = 2, + PEEP_ACTION_SPRITE_TYPE_EAT_FOOD = 3, + PEEP_ACTION_SPRITE_TYPE_SHAKE_HEAD = 4, + PEEP_ACTION_SPRITE_TYPE_EMPTY_POCKETS = 5, + PEEP_ACTION_SPRITE_TYPE_HOLD_MAT = 6, + PEEP_ACTION_SPRITE_TYPE_7 = 7, + PEEP_ACTION_SPRITE_TYPE_SITTING_EAT_FOOD = 8, + PEEP_ACTION_SPRITE_TYPE_SITTING_LOOK_AROUND_LEFT = 9, + PEEP_ACTION_SPRITE_TYPE_SITTING_LOOK_AROUND_RIGHT = 10, + PEEP_ACTION_SPRITE_TYPE_UI = 11, + PEEP_ACTION_SPRITE_TYPE_STAFF_MOWER = 12, + PEEP_ACTION_SPRITE_TYPE_WOW = 13, + PEEP_ACTION_SPRITE_TYPE_THROW_UP = 14, + PEEP_ACTION_SPRITE_TYPE_JUMP = 15, + PEEP_ACTION_SPRITE_TYPE_STAFF_SWEEP = 16, + PEEP_ACTION_SPRITE_TYPE_DROWNING = 17, + PEEP_ACTION_SPRITE_TYPE_STAFF_ANSWER_CALL = 18, + PEEP_ACTION_SPRITE_TYPE_STAFF_ANSWER_CALL_2 = 19, + PEEP_ACTION_SPRITE_TYPE_STAFF_CHECKBOARD = 20, + PEEP_ACTION_SPRITE_TYPE_STAFF_FIX = 21, + PEEP_ACTION_SPRITE_TYPE_STAFF_FIX_2 = 22, + PEEP_ACTION_SPRITE_TYPE_STAFF_FIX_GROUND = 23, + PEEP_ACTION_SPRITE_TYPE_STAFF_FIX_3 = 24, + PEEP_ACTION_SPRITE_TYPE_STAFF_WATERING = 25, + PEEP_ACTION_SPRITE_TYPE_JOY = 26, + PEEP_ACTION_SPRITE_TYPE_READ_MAP = 27, + PEEP_ACTION_SPRITE_TYPE_WAVE = 28, + PEEP_ACTION_SPRITE_TYPE_STAFF_EMPTY_BIN = 29, + PEEP_ACTION_SPRITE_TYPE_WAVE_2 = 30, + PEEP_ACTION_SPRITE_TYPE_TAKE_PHOTO = 31, + PEEP_ACTION_SPRITE_TYPE_CLAP = 32, + PEEP_ACTION_SPRITE_TYPE_DISGUST = 33, + PEEP_ACTION_SPRITE_TYPE_DRAW_PICTURE = 34, + PEEP_ACTION_SPRITE_TYPE_BEING_WATCHED = 35, + PEEP_ACTION_SPRITE_TYPE_WITHDRAW_MONEY = 36 }; enum PEEP_FLAGS { - PEEP_FLAGS_LEAVING_PARK = (1 << 0), - PEEP_FLAGS_SLOW_WALK = (1 << 1), - PEEP_FLAGS_2 = (1 << 2), - PEEP_FLAGS_TRACKING = (1 << 3), - PEEP_FLAGS_WAVING = (1 << 4), // Makes the peep wave - PEEP_FLAGS_HAS_PAID_FOR_PARK_ENTRY = (1 << 5), // Set on paying to enter park - PEEP_FLAGS_PHOTO = (1 << 6), // Makes the peep take a picture - PEEP_FLAGS_PAINTING = (1 << 7), - PEEP_FLAGS_WOW = (1 << 8), // Makes a peep WOW2 - PEEP_FLAGS_LITTER = (1 << 9), // Makes the peep throw litter - PEEP_FLAGS_LOST = (1 << 10), // Makes the peep feel lost (animation triggered) - PEEP_FLAGS_HUNGER = (1 << 11), // Makes the peep become hungry quicker - PEEP_FLAGS_BATHROOM = (1 << 12), // Makes the peep want to go to the bathroom - PEEP_FLAGS_CROWDED = (1 << 13), // The peep will start feeling crowded - PEEP_FLAGS_HAPPINESS = (1 << 14), // The peep will start increasing happiness - PEEP_FLAGS_NAUSEA = (1 << 15), // Makes the peep feel sick (e.g. after an extreme ride) - PEEP_FLAGS_PURPLE = (1 << 16), // Makes surrounding peeps purple - PEEP_FLAGS_PIZZA = (1 << 17), // Gives passing peeps pizza - PEEP_FLAGS_EXPLODE = (1 << 18), - PEEP_FLAGS_RIDE_SHOULD_BE_MARKED_AS_FAVOURITE = (1 << 19), - PEEP_FLAGS_PARK_ENTRANCE_CHOSEN = (1 << 20), //Set when the nearest park entrance has been chosen - PEEP_FLAGS_21 = (1 << 21), - PEEP_FLAGS_CONTAGIOUS = (1 << 22), // Makes any peeps in surrounding tiles sick - PEEP_FLAGS_JOY = (1 << 23), // Makes the peep jump in joy - PEEP_FLAGS_ANGRY = (1 << 24), - PEEP_FLAGS_ICE_CREAM = (1 << 25), // Gives passing peeps ice cream and they wave back - PEEP_FLAGS_NICE_RIDE_DEPRECATED = (1 << 26), // Used to make the peep think "Nice ride! But not as good as the Phoenix..." on exiting a ride - PEEP_FLAGS_INTAMIN_DEPRECATED = (1 << 27), // Used to make the peep think "I'm so excited - It's an Intamin ride!" while riding on a Intamin ride. - PEEP_FLAGS_HERE_WE_ARE = (1 << 28), // Makes the peep think "...and here we are on X!" while riding a ride - PEEP_FLAGS_TWITCH = (1u << 31) // Added for twitch integration + PEEP_FLAGS_LEAVING_PARK = (1 << 0), + PEEP_FLAGS_SLOW_WALK = (1 << 1), + PEEP_FLAGS_2 = (1 << 2), + PEEP_FLAGS_TRACKING = (1 << 3), + PEEP_FLAGS_WAVING = (1 << 4), // Makes the peep wave + PEEP_FLAGS_HAS_PAID_FOR_PARK_ENTRY = (1 << 5), // Set on paying to enter park + PEEP_FLAGS_PHOTO = (1 << 6), // Makes the peep take a picture + PEEP_FLAGS_PAINTING = (1 << 7), + PEEP_FLAGS_WOW = (1 << 8), // Makes a peep WOW2 + PEEP_FLAGS_LITTER = (1 << 9), // Makes the peep throw litter + PEEP_FLAGS_LOST = (1 << 10), // Makes the peep feel lost (animation triggered) + PEEP_FLAGS_HUNGER = (1 << 11), // Makes the peep become hungry quicker + PEEP_FLAGS_BATHROOM = (1 << 12), // Makes the peep want to go to the bathroom + PEEP_FLAGS_CROWDED = (1 << 13), // The peep will start feeling crowded + PEEP_FLAGS_HAPPINESS = (1 << 14), // The peep will start increasing happiness + PEEP_FLAGS_NAUSEA = (1 << 15), // Makes the peep feel sick (e.g. after an extreme ride) + PEEP_FLAGS_PURPLE = (1 << 16), // Makes surrounding peeps purple + PEEP_FLAGS_PIZZA = (1 << 17), // Gives passing peeps pizza + PEEP_FLAGS_EXPLODE = (1 << 18), + PEEP_FLAGS_RIDE_SHOULD_BE_MARKED_AS_FAVOURITE = (1 << 19), + PEEP_FLAGS_PARK_ENTRANCE_CHOSEN = (1 << 20), //Set when the nearest park entrance has been chosen + PEEP_FLAGS_21 = (1 << 21), + PEEP_FLAGS_CONTAGIOUS = (1 << 22), // Makes any peeps in surrounding tiles sick + PEEP_FLAGS_JOY = (1 << 23), // Makes the peep jump in joy + PEEP_FLAGS_ANGRY = (1 << 24), + PEEP_FLAGS_ICE_CREAM = (1 << 25), // Gives passing peeps ice cream and they wave back + PEEP_FLAGS_NICE_RIDE_DEPRECATED = (1 << 26), // Used to make the peep think "Nice ride! But not as good as the Phoenix..." on exiting a ride + PEEP_FLAGS_INTAMIN_DEPRECATED = (1 << 27), // Used to make the peep think "I'm so excited - It's an Intamin ride!" while riding on a Intamin ride. + PEEP_FLAGS_HERE_WE_ARE = (1 << 28), // Makes the peep think "...and here we are on X!" while riding a ride + PEEP_FLAGS_TWITCH = (1u << 31) // Added for twitch integration }; enum PEEP_NAUSEA_TOLERANCE { - PEEP_NAUSEA_TOLERANCE_NONE, - PEEP_NAUSEA_TOLERANCE_LOW, - PEEP_NAUSEA_TOLERANCE_AVERAGE, - PEEP_NAUSEA_TOLERANCE_HIGH + PEEP_NAUSEA_TOLERANCE_NONE, + PEEP_NAUSEA_TOLERANCE_LOW, + PEEP_NAUSEA_TOLERANCE_AVERAGE, + PEEP_NAUSEA_TOLERANCE_HIGH }; enum PEEP_ITEM { - // item_standard_flags - PEEP_ITEM_BALLOON = (1 << 0), - PEEP_ITEM_TOY = (1 << 1), - PEEP_ITEM_MAP = (1 << 2), - PEEP_ITEM_PHOTO = (1 << 3), - PEEP_ITEM_UMBRELLA = (1 << 4), - PEEP_ITEM_DRINK = (1 << 5), - PEEP_ITEM_BURGER = (1 << 6), - PEEP_ITEM_CHIPS = (1 << 7), - PEEP_ITEM_ICE_CREAM = (1 << 8), - PEEP_ITEM_CANDYFLOSS = (1 << 9), - PEEP_ITEM_EMPTY_CAN = (1 << 10), - PEEP_ITEM_RUBBISH = (1 << 11), - PEEP_ITEM_EMPTY_BURGER_BOX = (1 << 12), - PEEP_ITEM_PIZZA = (1 << 13), - PEEP_ITEM_VOUCHER = (1 << 14), - PEEP_ITEM_POPCORN = (1 << 15), - PEEP_ITEM_HOT_DOG = (1 << 16), - PEEP_ITEM_TENTACLE = (1 << 17), - PEEP_ITEM_HAT = (1 << 18), - PEEP_ITEM_CANDY_APPLE = (1 << 19), - PEEP_ITEM_TSHIRT = (1 << 20), - PEEP_ITEM_DONUT = (1 << 21), - PEEP_ITEM_COFFEE = (1 << 22), - PEEP_ITEM_EMPTY_CUP = (1 << 23), - PEEP_ITEM_CHICKEN = (1 << 24), - PEEP_ITEM_LEMONADE = (1 << 25), - PEEP_ITEM_EMPTY_BOX = (1 << 26), - PEEP_ITEM_EMPTY_BOTTLE = (1 << 27), + // item_standard_flags + PEEP_ITEM_BALLOON = (1 << 0), + PEEP_ITEM_TOY = (1 << 1), + PEEP_ITEM_MAP = (1 << 2), + PEEP_ITEM_PHOTO = (1 << 3), + PEEP_ITEM_UMBRELLA = (1 << 4), + PEEP_ITEM_DRINK = (1 << 5), + PEEP_ITEM_BURGER = (1 << 6), + PEEP_ITEM_CHIPS = (1 << 7), + PEEP_ITEM_ICE_CREAM = (1 << 8), + PEEP_ITEM_CANDYFLOSS = (1 << 9), + PEEP_ITEM_EMPTY_CAN = (1 << 10), + PEEP_ITEM_RUBBISH = (1 << 11), + PEEP_ITEM_EMPTY_BURGER_BOX = (1 << 12), + PEEP_ITEM_PIZZA = (1 << 13), + PEEP_ITEM_VOUCHER = (1 << 14), + PEEP_ITEM_POPCORN = (1 << 15), + PEEP_ITEM_HOT_DOG = (1 << 16), + PEEP_ITEM_TENTACLE = (1 << 17), + PEEP_ITEM_HAT = (1 << 18), + PEEP_ITEM_CANDY_APPLE = (1 << 19), + PEEP_ITEM_TSHIRT = (1 << 20), + PEEP_ITEM_DONUT = (1 << 21), + PEEP_ITEM_COFFEE = (1 << 22), + PEEP_ITEM_EMPTY_CUP = (1 << 23), + PEEP_ITEM_CHICKEN = (1 << 24), + PEEP_ITEM_LEMONADE = (1 << 25), + PEEP_ITEM_EMPTY_BOX = (1 << 26), + PEEP_ITEM_EMPTY_BOTTLE = (1 << 27), - // item_extra_flags - PEEP_ITEM_PHOTO2 = (1 << 0), - PEEP_ITEM_PHOTO3 = (1 << 1), - PEEP_ITEM_PHOTO4 = (1 << 2), - PEEP_ITEM_PRETZEL = (1 << 3), - PEEP_ITEM_CHOCOLATE = (1 << 4), - PEEP_ITEM_ICED_TEA = (1 << 5), - PEEP_ITEM_FUNNEL_CAKE = (1 << 6), - PEEP_ITEM_SUNGLASSES = (1 << 7), - PEEP_ITEM_BEEF_NOODLES = (1 << 8), - PEEP_ITEM_FRIED_RICE_NOODLES = (1 << 9), - PEEP_ITEM_WONTON_SOUP = (1 << 10), - PEEP_ITEM_MEATBALL_SOUP = (1 << 11), - PEEP_ITEM_FRUIT_JUICE = (1 << 12), - PEEP_ITEM_SOYBEAN_MILK = (1 << 13), - PEEP_ITEM_SU_JONGKWA = (1 << 14), - PEEP_ITEM_SUB_SANDWICH = (1 << 15), - PEEP_ITEM_COOKIE = (1 << 16), - PEEP_ITEM_EMPTY_BOWL_RED = (1 << 17), - PEEP_ITEM_EMPTY_DRINK_CARTON = (1 << 18), - PEEP_ITEM_EMPTY_JUICE_CUP = (1 << 19), - PEEP_ITEM_ROAST_SAUSAGE = (1 << 20), - PEEP_ITEM_EMPTY_BOWL_BLUE = (1 << 21) + // item_extra_flags + PEEP_ITEM_PHOTO2 = (1 << 0), + PEEP_ITEM_PHOTO3 = (1 << 1), + PEEP_ITEM_PHOTO4 = (1 << 2), + PEEP_ITEM_PRETZEL = (1 << 3), + PEEP_ITEM_CHOCOLATE = (1 << 4), + PEEP_ITEM_ICED_TEA = (1 << 5), + PEEP_ITEM_FUNNEL_CAKE = (1 << 6), + PEEP_ITEM_SUNGLASSES = (1 << 7), + PEEP_ITEM_BEEF_NOODLES = (1 << 8), + PEEP_ITEM_FRIED_RICE_NOODLES = (1 << 9), + PEEP_ITEM_WONTON_SOUP = (1 << 10), + PEEP_ITEM_MEATBALL_SOUP = (1 << 11), + PEEP_ITEM_FRUIT_JUICE = (1 << 12), + PEEP_ITEM_SOYBEAN_MILK = (1 << 13), + PEEP_ITEM_SU_JONGKWA = (1 << 14), + PEEP_ITEM_SUB_SANDWICH = (1 << 15), + PEEP_ITEM_COOKIE = (1 << 16), + PEEP_ITEM_EMPTY_BOWL_RED = (1 << 17), + PEEP_ITEM_EMPTY_DRINK_CARTON = (1 << 18), + PEEP_ITEM_EMPTY_JUICE_CUP = (1 << 19), + PEEP_ITEM_ROAST_SAUSAGE = (1 << 20), + PEEP_ITEM_EMPTY_BOWL_BLUE = (1 << 21) }; enum PEEP_SPRITE_TYPE { - PEEP_SPRITE_TYPE_NORMAL = 0, - PEEP_SPRITE_TYPE_HANDYMAN = 1, - PEEP_SPRITE_TYPE_MECHANIC = 2, - PEEP_SPRITE_TYPE_SECURITY = 3, - PEEP_SPRITE_TYPE_ENTERTAINER_PANDA = 4, - PEEP_SPRITE_TYPE_ENTERTAINER_TIGER = 5, - PEEP_SPRITE_TYPE_ENTERTAINER_ELEPHANT = 6, - PEEP_SPRITE_TYPE_ENTERTAINER_ROMAN = 7, - PEEP_SPRITE_TYPE_ENTERTAINER_GORILLA = 8, - PEEP_SPRITE_TYPE_ENTERTAINER_SNOWMAN = 9, - PEEP_SPRITE_TYPE_ENTERTAINER_KNIGHT = 10, - PEEP_SPRITE_TYPE_ENTERTAINER_ASTRONAUT = 11, - PEEP_SPRITE_TYPE_ENTERTAINER_BANDIT = 12, - PEEP_SPRITE_TYPE_ENTERTAINER_SHERIFF = 13, - PEEP_SPRITE_TYPE_ENTERTAINER_PIRATE = 14, - PEEP_SPRITE_TYPE_ICE_CREAM = 15, - PEEP_SPRITE_TYPE_CHIPS = 16, - PEEP_SPRITE_TYPE_BURGER = 17, - PEEP_SPRITE_TYPE_DRINK = 18, - PEEP_SPRITE_TYPE_BALLOON = 19, - PEEP_SPRITE_TYPE_CANDYFLOSS = 20, - PEEP_SPRITE_TYPE_UMBRELLA = 21, - PEEP_SPRITE_TYPE_PIZZA = 22, - PEEP_SPRITE_TYPE_SECURITY_ALT = 23, - PEEP_SPRITE_TYPE_POPCORN = 24, - PEEP_SPRITE_TYPE_ARMS_CROSSED = 25, - PEEP_SPRITE_TYPE_HEAD_DOWN = 26, - PEEP_SPRITE_TYPE_NAUSEOUS = 27, - PEEP_SPRITE_TYPE_VERY_NAUSEOUS = 28, - PEEP_SPRITE_TYPE_REQUIRE_BATHROOM = 29, - PEEP_SPRITE_TYPE_HAT = 30, - PEEP_SPRITE_TYPE_HOT_DOG = 31, - PEEP_SPRITE_TYPE_TENTACLE = 32, - PEEP_SPRITE_TYPE_TOFFEE_APPLE = 33, - PEEP_SPRITE_TYPE_DONUT = 34, - PEEP_SPRITE_TYPE_COFFEE = 35, - PEEP_SPRITE_TYPE_CHICKEN = 36, - PEEP_SPRITE_TYPE_LEMONADE = 37, - PEEP_SPRITE_TYPE_WATCHING = 38, - PEEP_SPRITE_TYPE_PRETZEL = 39, - PEEP_SPRITE_TYPE_SUNGLASSES = 40, - PEEP_SPRITE_TYPE_SU_JONGKWA = 41, - PEEP_SPRITE_TYPE_JUICE = 42, - PEEP_SPRITE_TYPE_FUNNEL_CAKE = 43, - PEEP_SPRITE_TYPE_NOODLES = 44, - PEEP_SPRITE_TYPE_SAUSAGE = 45, - PEEP_SPRITE_TYPE_SOUP = 46, - PEEP_SPRITE_TYPE_SANDWICH = 47, - PEEP_SPRITE_TYPE_COUNT + PEEP_SPRITE_TYPE_NORMAL = 0, + PEEP_SPRITE_TYPE_HANDYMAN = 1, + PEEP_SPRITE_TYPE_MECHANIC = 2, + PEEP_SPRITE_TYPE_SECURITY = 3, + PEEP_SPRITE_TYPE_ENTERTAINER_PANDA = 4, + PEEP_SPRITE_TYPE_ENTERTAINER_TIGER = 5, + PEEP_SPRITE_TYPE_ENTERTAINER_ELEPHANT = 6, + PEEP_SPRITE_TYPE_ENTERTAINER_ROMAN = 7, + PEEP_SPRITE_TYPE_ENTERTAINER_GORILLA = 8, + PEEP_SPRITE_TYPE_ENTERTAINER_SNOWMAN = 9, + PEEP_SPRITE_TYPE_ENTERTAINER_KNIGHT = 10, + PEEP_SPRITE_TYPE_ENTERTAINER_ASTRONAUT = 11, + PEEP_SPRITE_TYPE_ENTERTAINER_BANDIT = 12, + PEEP_SPRITE_TYPE_ENTERTAINER_SHERIFF = 13, + PEEP_SPRITE_TYPE_ENTERTAINER_PIRATE = 14, + PEEP_SPRITE_TYPE_ICE_CREAM = 15, + PEEP_SPRITE_TYPE_CHIPS = 16, + PEEP_SPRITE_TYPE_BURGER = 17, + PEEP_SPRITE_TYPE_DRINK = 18, + PEEP_SPRITE_TYPE_BALLOON = 19, + PEEP_SPRITE_TYPE_CANDYFLOSS = 20, + PEEP_SPRITE_TYPE_UMBRELLA = 21, + PEEP_SPRITE_TYPE_PIZZA = 22, + PEEP_SPRITE_TYPE_SECURITY_ALT = 23, + PEEP_SPRITE_TYPE_POPCORN = 24, + PEEP_SPRITE_TYPE_ARMS_CROSSED = 25, + PEEP_SPRITE_TYPE_HEAD_DOWN = 26, + PEEP_SPRITE_TYPE_NAUSEOUS = 27, + PEEP_SPRITE_TYPE_VERY_NAUSEOUS = 28, + PEEP_SPRITE_TYPE_REQUIRE_BATHROOM = 29, + PEEP_SPRITE_TYPE_HAT = 30, + PEEP_SPRITE_TYPE_HOT_DOG = 31, + PEEP_SPRITE_TYPE_TENTACLE = 32, + PEEP_SPRITE_TYPE_TOFFEE_APPLE = 33, + PEEP_SPRITE_TYPE_DONUT = 34, + PEEP_SPRITE_TYPE_COFFEE = 35, + PEEP_SPRITE_TYPE_CHICKEN = 36, + PEEP_SPRITE_TYPE_LEMONADE = 37, + PEEP_SPRITE_TYPE_WATCHING = 38, + PEEP_SPRITE_TYPE_PRETZEL = 39, + PEEP_SPRITE_TYPE_SUNGLASSES = 40, + PEEP_SPRITE_TYPE_SU_JONGKWA = 41, + PEEP_SPRITE_TYPE_JUICE = 42, + PEEP_SPRITE_TYPE_FUNNEL_CAKE = 43, + PEEP_SPRITE_TYPE_NOODLES = 44, + PEEP_SPRITE_TYPE_SAUSAGE = 45, + PEEP_SPRITE_TYPE_SOUP = 46, + PEEP_SPRITE_TYPE_SANDWICH = 47, + PEEP_SPRITE_TYPE_COUNT }; // Flags used by peep->window_invalidate_flags enum PEEP_INVALIDATE { - PEEP_INVALIDATE_PEEP_THOUGHTS = 1, - PEEP_INVALIDATE_PEEP_STATS = 1 << 1, - PEEP_INVALIDATE_PEEP_2 = 1 << 2, - PEEP_INVALIDATE_PEEP_INVENTORY = 1 << 3, - PEEP_INVALIDATE_STAFF_STATS = 1 << 4, + PEEP_INVALIDATE_PEEP_THOUGHTS = 1, + PEEP_INVALIDATE_PEEP_STATS = 1 << 1, + PEEP_INVALIDATE_PEEP_2 = 1 << 2, + PEEP_INVALIDATE_PEEP_INVENTORY = 1 << 3, + PEEP_INVALIDATE_STAFF_STATS = 1 << 4, }; // Flags used by peep_should_go_on_ride() enum PEEP_RIDE_DECISION { - PEEP_RIDE_DECISION_AT_QUEUE = 1, - PEEP_RIDE_DECISION_THINKING = 1 << 2 + PEEP_RIDE_DECISION_AT_QUEUE = 1, + PEEP_RIDE_DECISION_THINKING = 1 << 2 }; #pragma pack(push, 1) typedef struct rct_peep_thought { - uint8 type; //0 - uint8 item; //1 - uint8 var_2; //2 - uint8 var_3; //3 + uint8 type; //0 + uint8 item; //1 + uint8 var_2; //2 + uint8 var_3; //3 } rct_peep_thought; assert_struct_size(rct_peep_thought, 4); typedef struct rct_peep { - uint8 sprite_identifier; // 0x00 - uint8 var_01; - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - // Height from center of sprite to bottom - uint8 sprite_height_negative; // 0x09 - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - // Width from center of sprite to edge - uint8 sprite_width; // 0x14 - // Height from center of sprite to top - uint8 sprite_height_positive; // 0x15 - sint16 sprite_left; // 0x16 - sint16 sprite_top; // 0x18 - sint16 sprite_right; // 0x1A - sint16 sprite_bottom; // 0x1C - uint8 sprite_direction; // 0x1E - uint8 pad_1F[3]; - rct_string_id name_string_idx; // 0x22 - uint16 next_x; // 0x24 - uint16 next_y; // 0x26 - uint8 next_z; // 0x28 - uint8 next_var_29; // 0x29 - uint8 outside_of_park; // 0x2A - uint8 state; // 0x2B - uint8 sub_state; // 0x2C - uint8 sprite_type; // 0x2D - uint8 type; // 0x2E - union{ - uint8 staff_type; // 0x2F - uint8 no_of_rides; // 0x2F - }; - uint8 tshirt_colour; // 0x30 - uint8 trousers_colour; // 0x31 - uint16 destination_x; // 0x32 Location that the peep is trying to get to - uint16 destination_y; // 0x34 - uint8 destination_tolerence; // 0x36 How close to destination before next action/state 0 = exact - uint8 var_37; - uint8 energy; // 0x38 - uint8 energy_growth_rate; // 0x39 - uint8 happiness; // 0x3A - uint8 happiness_growth_rate; // 0x3B - uint8 nausea; // 0x3C - uint8 nausea_growth_rate; // 0x3D - uint8 hunger; // 0x3E - uint8 thirst; // 0x3F - uint8 bathroom; // 0x40 - uint8 var_41; - uint8 var_42; - uint8 intensity; // 0x43 The max intensity is stored in the first 4 bits, and the min intensity in the second 4 bits - uint8 nausea_tolerance; // 0x44 - uint8 window_invalidate_flags; // 0x45 - money16 paid_on_drink; // 0x46 - uint8 ride_types_been_on[16]; // 0x48 - uint32 item_extra_flags; // 0x58 - uint8 photo2_ride_ref; // 0x5C - uint8 photo3_ride_ref; // 0x5D - uint8 photo4_ride_ref; // 0x5E - uint8 pad_5F[0x09]; // 0x5F - uint8 current_ride; // 0x68 - uint8 current_ride_station; // 0x69 - uint8 current_train; // 0x6A - union{ - struct{ - uint8 current_car; // 0x6B - uint8 current_seat; // 0x6C - }; - uint16 time_to_sitdown; //0x6B - struct{ - uint8 time_to_stand; //0x6B - uint8 standing_flags; //0x6C - }; - }; - // Normally 0, 1 for carrying sliding board on spiral slide ride, 2 for carrying lawn mower - uint8 special_sprite; // 0x6D - uint8 action_sprite_type; // 0x6E - // Seems to be used like a local variable, as it's always set before calling peep_switch_to_next_action_sprite_type, which reads this again - uint8 next_action_sprite_type; // 0x6F - uint8 action_sprite_image_offset; // 0x70 - uint8 action; // 0x71 - uint8 action_frame; // 0x72 - uint8 var_73; - union { - uint16 var_74; // time getting to ride to fix - uint16 next_in_queue; // 0x74 - }; - uint8 var_76; - uint8 pad_77; - union{ - uint8 maze_last_edge; // 0x78 - uint8 direction; //Direction ? - }; - uint8 interaction_ride_index; - uint16 time_in_queue; // 0x7A - uint8 rides_been_on[32]; // 0x7C - // 255 bit bitmap of every ride the peep has been on see - // window_peep_rides_update for how to use. - uint32 id; // 0x9C - money32 cash_in_pocket; // 0xA0 - money32 cash_spent; // 0xA4 - sint32 time_in_park; // 0xA8 - sint8 var_AC; // 0xAC - uint8 previous_ride; // 0xAD - uint16 previous_ride_time_out; // 0xAE - rct_peep_thought thoughts[PEEP_MAX_THOUGHTS]; // 0xB0 - uint8 var_C4; // 0xC4 has something to do with peep falling, see peep.checkForPath - union { - uint8 staff_id; // 0xC5 - uint8 guest_heading_to_ride_id; // 0xC5 - }; - union { - uint8 staff_orders; // 0xC6 - uint8 peep_is_lost_countdown; // 0xC6 - }; - uint8 photo1_ride_ref; // 0xC7 - uint32 peep_flags; // 0xC8 - rct_xyzd8 pathfind_goal; // 0xCC - rct_xyzd8 pathfind_history[4]; // 0xD0 - uint8 no_action_frame_no; // 0xE0 - // 0x3F Litter Count split into lots of 3 with time, 0xC0 Time since last recalc - uint8 litter_count; // 0xE1 - union{ - uint8 time_on_ride; // 0xE2 - uint8 var_E2; // 0xE2 - }; - // 0x3F Sick Count split into lots of 3 with time, 0xC0 Time since last recalc - uint8 disgusting_count; // 0xE3 - union{ - money16 paid_to_enter; // 0xE4 - uint16 staff_lawns_mown; // 0xE4 - uint16 staff_rides_fixed; // 0xE4 - }; - union{ - money16 paid_on_rides; // 0xE6 - uint16 staff_gardens_watered; // 0xE6 - uint16 staff_rides_inspected; // 0xE6 - }; - union { - money16 paid_on_food; // 0xE8 - uint16 staff_litter_swept; // 0xE8 - }; - union{ - money16 paid_on_souvenirs; // 0xEA - uint16 staff_bins_emptied; // 0xEA - }; - uint8 no_of_food; // 0xEC - uint8 no_of_drinks; // 0xED - uint8 no_of_souvenirs; // 0xEE - uint8 var_EF; - uint8 voucher_type; // 0xF0 - uint8 voucher_arguments; // 0xF1 ride_id or string_offset_id - uint8 var_F2; - uint8 angriness; - uint8 var_F4; - uint8 days_in_queue; // 0xF5 - uint8 balloon_colour; // 0xF6 - uint8 umbrella_colour; // 0xF7 - uint8 hat_colour; // 0xF8 - uint8 favourite_ride; // 0xF9 - uint8 favourite_ride_rating; // 0xFA - uint8 pad_FB; - uint32 item_standard_flags; // 0xFC + uint8 sprite_identifier; // 0x00 + uint8 var_01; + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + // Height from center of sprite to bottom + uint8 sprite_height_negative; // 0x09 + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + // Width from center of sprite to edge + uint8 sprite_width; // 0x14 + // Height from center of sprite to top + uint8 sprite_height_positive; // 0x15 + sint16 sprite_left; // 0x16 + sint16 sprite_top; // 0x18 + sint16 sprite_right; // 0x1A + sint16 sprite_bottom; // 0x1C + uint8 sprite_direction; // 0x1E + uint8 pad_1F[3]; + rct_string_id name_string_idx; // 0x22 + uint16 next_x; // 0x24 + uint16 next_y; // 0x26 + uint8 next_z; // 0x28 + uint8 next_var_29; // 0x29 + uint8 outside_of_park; // 0x2A + uint8 state; // 0x2B + uint8 sub_state; // 0x2C + uint8 sprite_type; // 0x2D + uint8 type; // 0x2E + union{ + uint8 staff_type; // 0x2F + uint8 no_of_rides; // 0x2F + }; + uint8 tshirt_colour; // 0x30 + uint8 trousers_colour; // 0x31 + uint16 destination_x; // 0x32 Location that the peep is trying to get to + uint16 destination_y; // 0x34 + uint8 destination_tolerence; // 0x36 How close to destination before next action/state 0 = exact + uint8 var_37; + uint8 energy; // 0x38 + uint8 energy_growth_rate; // 0x39 + uint8 happiness; // 0x3A + uint8 happiness_growth_rate; // 0x3B + uint8 nausea; // 0x3C + uint8 nausea_growth_rate; // 0x3D + uint8 hunger; // 0x3E + uint8 thirst; // 0x3F + uint8 bathroom; // 0x40 + uint8 var_41; + uint8 var_42; + uint8 intensity; // 0x43 The max intensity is stored in the first 4 bits, and the min intensity in the second 4 bits + uint8 nausea_tolerance; // 0x44 + uint8 window_invalidate_flags; // 0x45 + money16 paid_on_drink; // 0x46 + uint8 ride_types_been_on[16]; // 0x48 + uint32 item_extra_flags; // 0x58 + uint8 photo2_ride_ref; // 0x5C + uint8 photo3_ride_ref; // 0x5D + uint8 photo4_ride_ref; // 0x5E + uint8 pad_5F[0x09]; // 0x5F + uint8 current_ride; // 0x68 + uint8 current_ride_station; // 0x69 + uint8 current_train; // 0x6A + union{ + struct{ + uint8 current_car; // 0x6B + uint8 current_seat; // 0x6C + }; + uint16 time_to_sitdown; //0x6B + struct{ + uint8 time_to_stand; //0x6B + uint8 standing_flags; //0x6C + }; + }; + // Normally 0, 1 for carrying sliding board on spiral slide ride, 2 for carrying lawn mower + uint8 special_sprite; // 0x6D + uint8 action_sprite_type; // 0x6E + // Seems to be used like a local variable, as it's always set before calling peep_switch_to_next_action_sprite_type, which reads this again + uint8 next_action_sprite_type; // 0x6F + uint8 action_sprite_image_offset; // 0x70 + uint8 action; // 0x71 + uint8 action_frame; // 0x72 + uint8 var_73; + union { + uint16 var_74; // time getting to ride to fix + uint16 next_in_queue; // 0x74 + }; + uint8 var_76; + uint8 pad_77; + union{ + uint8 maze_last_edge; // 0x78 + uint8 direction; //Direction ? + }; + uint8 interaction_ride_index; + uint16 time_in_queue; // 0x7A + uint8 rides_been_on[32]; // 0x7C + // 255 bit bitmap of every ride the peep has been on see + // window_peep_rides_update for how to use. + uint32 id; // 0x9C + money32 cash_in_pocket; // 0xA0 + money32 cash_spent; // 0xA4 + sint32 time_in_park; // 0xA8 + sint8 var_AC; // 0xAC + uint8 previous_ride; // 0xAD + uint16 previous_ride_time_out; // 0xAE + rct_peep_thought thoughts[PEEP_MAX_THOUGHTS]; // 0xB0 + uint8 var_C4; // 0xC4 has something to do with peep falling, see peep.checkForPath + union { + uint8 staff_id; // 0xC5 + uint8 guest_heading_to_ride_id; // 0xC5 + }; + union { + uint8 staff_orders; // 0xC6 + uint8 peep_is_lost_countdown; // 0xC6 + }; + uint8 photo1_ride_ref; // 0xC7 + uint32 peep_flags; // 0xC8 + rct_xyzd8 pathfind_goal; // 0xCC + rct_xyzd8 pathfind_history[4]; // 0xD0 + uint8 no_action_frame_no; // 0xE0 + // 0x3F Litter Count split into lots of 3 with time, 0xC0 Time since last recalc + uint8 litter_count; // 0xE1 + union{ + uint8 time_on_ride; // 0xE2 + uint8 var_E2; // 0xE2 + }; + // 0x3F Sick Count split into lots of 3 with time, 0xC0 Time since last recalc + uint8 disgusting_count; // 0xE3 + union{ + money16 paid_to_enter; // 0xE4 + uint16 staff_lawns_mown; // 0xE4 + uint16 staff_rides_fixed; // 0xE4 + }; + union{ + money16 paid_on_rides; // 0xE6 + uint16 staff_gardens_watered; // 0xE6 + uint16 staff_rides_inspected; // 0xE6 + }; + union { + money16 paid_on_food; // 0xE8 + uint16 staff_litter_swept; // 0xE8 + }; + union{ + money16 paid_on_souvenirs; // 0xEA + uint16 staff_bins_emptied; // 0xEA + }; + uint8 no_of_food; // 0xEC + uint8 no_of_drinks; // 0xED + uint8 no_of_souvenirs; // 0xEE + uint8 var_EF; + uint8 voucher_type; // 0xF0 + uint8 voucher_arguments; // 0xF1 ride_id or string_offset_id + uint8 var_F2; + uint8 angriness; + uint8 var_F4; + uint8 days_in_queue; // 0xF5 + uint8 balloon_colour; // 0xF6 + uint8 umbrella_colour; // 0xF7 + uint8 hat_colour; // 0xF8 + uint8 favourite_ride; // 0xF9 + uint8 favourite_ride_rating; // 0xFA + uint8 pad_FB; + uint32 item_standard_flags; // 0xFC } rct_peep; assert_struct_size(rct_peep, 0x100); #pragma pack(pop) typedef struct rct_sprite_bounds { - uint8 sprite_width; // 0x00 - uint8 sprite_height_negative; // 0x01 - uint8 sprite_height_positive; // 0x02 + uint8 sprite_width; // 0x00 + uint8 sprite_height_negative; // 0x01 + uint8 sprite_height_positive; // 0x02 } rct_sprite_bounds; typedef struct rct_peep_animation { - uint32 base_image; // 0x00 - uint32 num_frames; - const uint8* frame_offsets; + uint32 base_image; // 0x00 + uint32 num_frames; + const uint8* frame_offsets; } rct_peep_animation; typedef struct rct_peep_animation_entry { - const rct_peep_animation *sprite_animation; // 0x00 - const rct_sprite_bounds *sprite_bounds; // 0x04 + const rct_peep_animation *sprite_animation; // 0x00 + const rct_sprite_bounds *sprite_bounds; // 0x04 } rct_peep_animation_entry; // rct2: 0x00982708 extern rct_peep_animation_entry g_peep_animation_entries[PEEP_SPRITE_TYPE_COUNT]; enum { - EASTEREGG_PEEP_NAME_MICHAEL_SCHUMACHER, - EASTEREGG_PEEP_NAME_JACQUES_VILLENEUVE, - EASTEREGG_PEEP_NAME_DAMON_HILL, - EASTEREGG_PEEP_NAME_MR_BEAN, - EASTEREGG_PEEP_NAME_CHRIS_SAWYER, - EASTEREGG_PEEP_NAME_KATIE_BRAYSHAW, - EASTEREGG_PEEP_NAME_MELANIE_WARN, - EASTEREGG_PEEP_NAME_SIMON_FOSTER, - EASTEREGG_PEEP_NAME_JOHN_WARDLEY, - EASTEREGG_PEEP_NAME_LISA_STIRLING, - EASTEREGG_PEEP_NAME_DONALD_MACRAE, - EASTEREGG_PEEP_NAME_KATHERINE_MCGOWAN, - EASTEREGG_PEEP_NAME_FRANCES_MCGOWAN, - EASTEREGG_PEEP_NAME_CORINA_MASSOURA, - EASTEREGG_PEEP_NAME_CAROL_YOUNG, - EASTEREGG_PEEP_NAME_MIA_SHERIDAN, - EASTEREGG_PEEP_NAME_KATIE_RODGER, - EASTEREGG_PEEP_NAME_EMMA_GARRELL, - EASTEREGG_PEEP_NAME_JOANNE_BARTON, - EASTEREGG_PEEP_NAME_FELICITY_ANDERSON, - EASTEREGG_PEEP_NAME_KATIE_SMITH, - EASTEREGG_PEEP_NAME_EILIDH_BELL, - EASTEREGG_PEEP_NAME_NANCY_STILLWAGON, - EASTEREGG_PEEP_NAME_DAVID_ELLIS + EASTEREGG_PEEP_NAME_MICHAEL_SCHUMACHER, + EASTEREGG_PEEP_NAME_JACQUES_VILLENEUVE, + EASTEREGG_PEEP_NAME_DAMON_HILL, + EASTEREGG_PEEP_NAME_MR_BEAN, + EASTEREGG_PEEP_NAME_CHRIS_SAWYER, + EASTEREGG_PEEP_NAME_KATIE_BRAYSHAW, + EASTEREGG_PEEP_NAME_MELANIE_WARN, + EASTEREGG_PEEP_NAME_SIMON_FOSTER, + EASTEREGG_PEEP_NAME_JOHN_WARDLEY, + EASTEREGG_PEEP_NAME_LISA_STIRLING, + EASTEREGG_PEEP_NAME_DONALD_MACRAE, + EASTEREGG_PEEP_NAME_KATHERINE_MCGOWAN, + EASTEREGG_PEEP_NAME_FRANCES_MCGOWAN, + EASTEREGG_PEEP_NAME_CORINA_MASSOURA, + EASTEREGG_PEEP_NAME_CAROL_YOUNG, + EASTEREGG_PEEP_NAME_MIA_SHERIDAN, + EASTEREGG_PEEP_NAME_KATIE_RODGER, + EASTEREGG_PEEP_NAME_EMMA_GARRELL, + EASTEREGG_PEEP_NAME_JOANNE_BARTON, + EASTEREGG_PEEP_NAME_FELICITY_ANDERSON, + EASTEREGG_PEEP_NAME_KATIE_SMITH, + EASTEREGG_PEEP_NAME_EILIDH_BELL, + EASTEREGG_PEEP_NAME_NANCY_STILLWAGON, + EASTEREGG_PEEP_NAME_DAVID_ELLIS }; /** Helper macro until rides are stored in this module. */ @@ -684,16 +684,16 @@ enum { * applied in tautology if statements. */ #define FOR_ALL_PEEPS(sprite_index, peep) \ - for (sprite_index = gSpriteListHead[SPRITE_LIST_PEEP]; sprite_index != SPRITE_INDEX_NULL; sprite_index = peep->next) \ - if ((peep = GET_PEEP(sprite_index)) != NULL || 1) + for (sprite_index = gSpriteListHead[SPRITE_LIST_PEEP]; sprite_index != SPRITE_INDEX_NULL; sprite_index = peep->next) \ + if ((peep = GET_PEEP(sprite_index)) != NULL || 1) #define FOR_ALL_GUESTS(sprite_index, peep) \ - FOR_ALL_PEEPS(sprite_index, peep) \ - if (peep->type == PEEP_TYPE_GUEST) + FOR_ALL_PEEPS(sprite_index, peep) \ + if (peep->type == PEEP_TYPE_GUEST) #define FOR_ALL_STAFF(sprite_index, peep) \ - FOR_ALL_PEEPS(sprite_index, peep) \ - if (peep->type == PEEP_TYPE_STAFF) + FOR_ALL_PEEPS(sprite_index, peep) \ + if (peep->type == PEEP_TYPE_STAFF) extern uint8 gGuestChangeModifier; extern uint16 gNumGuestsInPark; @@ -768,7 +768,7 @@ void peep_reset_pathfind_goal(rct_peep *peep); #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 #define PATHFIND_DEBUG 0 // Set to 0 to disable pathfinding debugging; - // Set to 1 to enable pathfinding debugging. + // Set to 1 to enable pathfinding debugging. // Some variables used for the path finding debugging. extern bool gPathFindDebug; // Use to guard calls to log messages extern utf8 gPathFindDebugPeepName[256]; // Use to put the peep name in the log message diff --git a/src/openrct2/peep/peep_data.c b/src/openrct2/peep/peep_data.c index 80116cdede..625181578d 100644 --- a/src/openrct2/peep/peep_data.c +++ b/src/openrct2/peep/peep_data.c @@ -1842,3615 +1842,3615 @@ static const uint8 PeepSpriteImage_Sandwich_36_sequence[] = { 0, 1, 2, 3, 4, 5, static const rct_peep_animation PeepSpriteImage_Normal[] = { - { 6409, countof(PeepSpriteImage_Normal_00_sequence), PeepSpriteImage_Normal_00_sequence }, - { 6585, countof(PeepSpriteImage_Normal_01_sequence), PeepSpriteImage_Normal_01_sequence }, - { 6621, countof(PeepSpriteImage_Normal_02_sequence), PeepSpriteImage_Normal_02_sequence }, - { 6653, countof(PeepSpriteImage_Normal_03_sequence), PeepSpriteImage_Normal_03_sequence }, - { 6697, countof(PeepSpriteImage_Normal_04_sequence), PeepSpriteImage_Normal_04_sequence }, - { 6757, countof(PeepSpriteImage_Normal_05_sequence), PeepSpriteImage_Normal_05_sequence }, - { 6561, countof(PeepSpriteImage_Normal_06_sequence), PeepSpriteImage_Normal_06_sequence }, - { 6625, countof(PeepSpriteImage_Normal_07_sequence), PeepSpriteImage_Normal_07_sequence }, - { 6629, countof(PeepSpriteImage_Normal_08_sequence), PeepSpriteImage_Normal_08_sequence }, - { 6637, countof(PeepSpriteImage_Normal_09_sequence), PeepSpriteImage_Normal_09_sequence }, - { 6645, countof(PeepSpriteImage_Normal_10_sequence), PeepSpriteImage_Normal_10_sequence }, - { 6813, countof(PeepSpriteImage_Normal_11_sequence), PeepSpriteImage_Normal_11_sequence }, - { 11301, countof(PeepSpriteImage_Normal_12_sequence), PeepSpriteImage_Normal_12_sequence }, - { 6825, countof(PeepSpriteImage_Normal_13_sequence), PeepSpriteImage_Normal_13_sequence }, - { 6845, countof(PeepSpriteImage_Normal_14_sequence), PeepSpriteImage_Normal_14_sequence }, - { 6909, countof(PeepSpriteImage_Normal_15_sequence), PeepSpriteImage_Normal_15_sequence }, - { 11325, countof(PeepSpriteImage_Normal_16_sequence), PeepSpriteImage_Normal_16_sequence }, - { 6957, countof(PeepSpriteImage_Normal_17_sequence), PeepSpriteImage_Normal_17_sequence }, - { 11513, countof(PeepSpriteImage_Normal_18_sequence), PeepSpriteImage_Normal_18_sequence }, - { 11513, countof(PeepSpriteImage_Normal_19_sequence), PeepSpriteImage_Normal_19_sequence }, - { 11597, countof(PeepSpriteImage_Normal_20_sequence), PeepSpriteImage_Normal_20_sequence }, - { 11669, countof(PeepSpriteImage_Normal_21_sequence), PeepSpriteImage_Normal_21_sequence }, - { 11669, countof(PeepSpriteImage_Normal_22_sequence), PeepSpriteImage_Normal_22_sequence }, - { 11801, countof(PeepSpriteImage_Normal_23_sequence), PeepSpriteImage_Normal_23_sequence }, - { 11669, countof(PeepSpriteImage_Normal_24_sequence), PeepSpriteImage_Normal_24_sequence }, - { 11377, countof(PeepSpriteImage_Normal_25_sequence), PeepSpriteImage_Normal_25_sequence }, - { 6989, countof(PeepSpriteImage_Normal_26_sequence), PeepSpriteImage_Normal_26_sequence }, - { 7041, countof(PeepSpriteImage_Normal_27_sequence), PeepSpriteImage_Normal_27_sequence }, - { 7101, countof(PeepSpriteImage_Normal_28_sequence), PeepSpriteImage_Normal_28_sequence }, - { 11401, countof(PeepSpriteImage_Normal_29_sequence), PeepSpriteImage_Normal_29_sequence }, - { 7121, countof(PeepSpriteImage_Normal_30_sequence), PeepSpriteImage_Normal_30_sequence }, - { 7149, countof(PeepSpriteImage_Normal_31_sequence), PeepSpriteImage_Normal_31_sequence }, - { 7249, countof(PeepSpriteImage_Normal_32_sequence), PeepSpriteImage_Normal_32_sequence }, - { 7309, countof(PeepSpriteImage_Normal_33_sequence), PeepSpriteImage_Normal_33_sequence }, - { 7329, countof(PeepSpriteImage_Normal_34_sequence), PeepSpriteImage_Normal_34_sequence }, - { 7285, countof(PeepSpriteImage_Normal_35_sequence), PeepSpriteImage_Normal_35_sequence }, - { 7181, countof(PeepSpriteImage_Normal_36_sequence), PeepSpriteImage_Normal_36_sequence }, + { 6409, countof(PeepSpriteImage_Normal_00_sequence), PeepSpriteImage_Normal_00_sequence }, + { 6585, countof(PeepSpriteImage_Normal_01_sequence), PeepSpriteImage_Normal_01_sequence }, + { 6621, countof(PeepSpriteImage_Normal_02_sequence), PeepSpriteImage_Normal_02_sequence }, + { 6653, countof(PeepSpriteImage_Normal_03_sequence), PeepSpriteImage_Normal_03_sequence }, + { 6697, countof(PeepSpriteImage_Normal_04_sequence), PeepSpriteImage_Normal_04_sequence }, + { 6757, countof(PeepSpriteImage_Normal_05_sequence), PeepSpriteImage_Normal_05_sequence }, + { 6561, countof(PeepSpriteImage_Normal_06_sequence), PeepSpriteImage_Normal_06_sequence }, + { 6625, countof(PeepSpriteImage_Normal_07_sequence), PeepSpriteImage_Normal_07_sequence }, + { 6629, countof(PeepSpriteImage_Normal_08_sequence), PeepSpriteImage_Normal_08_sequence }, + { 6637, countof(PeepSpriteImage_Normal_09_sequence), PeepSpriteImage_Normal_09_sequence }, + { 6645, countof(PeepSpriteImage_Normal_10_sequence), PeepSpriteImage_Normal_10_sequence }, + { 6813, countof(PeepSpriteImage_Normal_11_sequence), PeepSpriteImage_Normal_11_sequence }, + { 11301, countof(PeepSpriteImage_Normal_12_sequence), PeepSpriteImage_Normal_12_sequence }, + { 6825, countof(PeepSpriteImage_Normal_13_sequence), PeepSpriteImage_Normal_13_sequence }, + { 6845, countof(PeepSpriteImage_Normal_14_sequence), PeepSpriteImage_Normal_14_sequence }, + { 6909, countof(PeepSpriteImage_Normal_15_sequence), PeepSpriteImage_Normal_15_sequence }, + { 11325, countof(PeepSpriteImage_Normal_16_sequence), PeepSpriteImage_Normal_16_sequence }, + { 6957, countof(PeepSpriteImage_Normal_17_sequence), PeepSpriteImage_Normal_17_sequence }, + { 11513, countof(PeepSpriteImage_Normal_18_sequence), PeepSpriteImage_Normal_18_sequence }, + { 11513, countof(PeepSpriteImage_Normal_19_sequence), PeepSpriteImage_Normal_19_sequence }, + { 11597, countof(PeepSpriteImage_Normal_20_sequence), PeepSpriteImage_Normal_20_sequence }, + { 11669, countof(PeepSpriteImage_Normal_21_sequence), PeepSpriteImage_Normal_21_sequence }, + { 11669, countof(PeepSpriteImage_Normal_22_sequence), PeepSpriteImage_Normal_22_sequence }, + { 11801, countof(PeepSpriteImage_Normal_23_sequence), PeepSpriteImage_Normal_23_sequence }, + { 11669, countof(PeepSpriteImage_Normal_24_sequence), PeepSpriteImage_Normal_24_sequence }, + { 11377, countof(PeepSpriteImage_Normal_25_sequence), PeepSpriteImage_Normal_25_sequence }, + { 6989, countof(PeepSpriteImage_Normal_26_sequence), PeepSpriteImage_Normal_26_sequence }, + { 7041, countof(PeepSpriteImage_Normal_27_sequence), PeepSpriteImage_Normal_27_sequence }, + { 7101, countof(PeepSpriteImage_Normal_28_sequence), PeepSpriteImage_Normal_28_sequence }, + { 11401, countof(PeepSpriteImage_Normal_29_sequence), PeepSpriteImage_Normal_29_sequence }, + { 7121, countof(PeepSpriteImage_Normal_30_sequence), PeepSpriteImage_Normal_30_sequence }, + { 7149, countof(PeepSpriteImage_Normal_31_sequence), PeepSpriteImage_Normal_31_sequence }, + { 7249, countof(PeepSpriteImage_Normal_32_sequence), PeepSpriteImage_Normal_32_sequence }, + { 7309, countof(PeepSpriteImage_Normal_33_sequence), PeepSpriteImage_Normal_33_sequence }, + { 7329, countof(PeepSpriteImage_Normal_34_sequence), PeepSpriteImage_Normal_34_sequence }, + { 7285, countof(PeepSpriteImage_Normal_35_sequence), PeepSpriteImage_Normal_35_sequence }, + { 7181, countof(PeepSpriteImage_Normal_36_sequence), PeepSpriteImage_Normal_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Handyman[] = { - { 11261, countof(PeepSpriteImage_Handyman_00_sequence), PeepSpriteImage_Handyman_00_sequence }, - { 6585, countof(PeepSpriteImage_Handyman_01_sequence), PeepSpriteImage_Handyman_01_sequence }, - { 11285, countof(PeepSpriteImage_Handyman_02_sequence), PeepSpriteImage_Handyman_02_sequence }, - { 6653, countof(PeepSpriteImage_Handyman_03_sequence), PeepSpriteImage_Handyman_03_sequence }, - { 6697, countof(PeepSpriteImage_Handyman_04_sequence), PeepSpriteImage_Handyman_04_sequence }, - { 6757, countof(PeepSpriteImage_Handyman_05_sequence), PeepSpriteImage_Handyman_05_sequence }, - { 6561, countof(PeepSpriteImage_Handyman_06_sequence), PeepSpriteImage_Handyman_06_sequence }, - { 6625, countof(PeepSpriteImage_Handyman_07_sequence), PeepSpriteImage_Handyman_07_sequence }, - { 6629, countof(PeepSpriteImage_Handyman_08_sequence), PeepSpriteImage_Handyman_08_sequence }, - { 6637, countof(PeepSpriteImage_Handyman_09_sequence), PeepSpriteImage_Handyman_09_sequence }, - { 6645, countof(PeepSpriteImage_Handyman_10_sequence), PeepSpriteImage_Handyman_10_sequence }, - { 11289, countof(PeepSpriteImage_Handyman_11_sequence), PeepSpriteImage_Handyman_11_sequence }, - { 11301, countof(PeepSpriteImage_Handyman_12_sequence), PeepSpriteImage_Handyman_12_sequence }, - { 6825, countof(PeepSpriteImage_Handyman_13_sequence), PeepSpriteImage_Handyman_13_sequence }, - { 6845, countof(PeepSpriteImage_Handyman_14_sequence), PeepSpriteImage_Handyman_14_sequence }, - { 6909, countof(PeepSpriteImage_Handyman_15_sequence), PeepSpriteImage_Handyman_15_sequence }, - { 11325, countof(PeepSpriteImage_Handyman_16_sequence), PeepSpriteImage_Handyman_16_sequence }, - { 11345, countof(PeepSpriteImage_Handyman_17_sequence), PeepSpriteImage_Handyman_17_sequence }, - { 11513, countof(PeepSpriteImage_Handyman_18_sequence), PeepSpriteImage_Handyman_18_sequence }, - { 11513, countof(PeepSpriteImage_Handyman_19_sequence), PeepSpriteImage_Handyman_19_sequence }, - { 11597, countof(PeepSpriteImage_Handyman_20_sequence), PeepSpriteImage_Handyman_20_sequence }, - { 11669, countof(PeepSpriteImage_Handyman_21_sequence), PeepSpriteImage_Handyman_21_sequence }, - { 11669, countof(PeepSpriteImage_Handyman_22_sequence), PeepSpriteImage_Handyman_22_sequence }, - { 11801, countof(PeepSpriteImage_Handyman_23_sequence), PeepSpriteImage_Handyman_23_sequence }, - { 11669, countof(PeepSpriteImage_Handyman_24_sequence), PeepSpriteImage_Handyman_24_sequence }, - { 11377, countof(PeepSpriteImage_Handyman_25_sequence), PeepSpriteImage_Handyman_25_sequence }, - { 6989, countof(PeepSpriteImage_Handyman_26_sequence), PeepSpriteImage_Handyman_26_sequence }, - { 7041, countof(PeepSpriteImage_Handyman_27_sequence), PeepSpriteImage_Handyman_27_sequence }, - { 7101, countof(PeepSpriteImage_Handyman_28_sequence), PeepSpriteImage_Handyman_28_sequence }, - { 11401, countof(PeepSpriteImage_Handyman_29_sequence), PeepSpriteImage_Handyman_29_sequence }, - { 7121, countof(PeepSpriteImage_Handyman_30_sequence), PeepSpriteImage_Handyman_30_sequence }, - { 7149, countof(PeepSpriteImage_Handyman_31_sequence), PeepSpriteImage_Handyman_31_sequence }, - { 7249, countof(PeepSpriteImage_Handyman_32_sequence), PeepSpriteImage_Handyman_32_sequence }, - { 7309, countof(PeepSpriteImage_Handyman_33_sequence), PeepSpriteImage_Handyman_33_sequence }, - { 7329, countof(PeepSpriteImage_Handyman_34_sequence), PeepSpriteImage_Handyman_34_sequence }, - { 7285, countof(PeepSpriteImage_Handyman_35_sequence), PeepSpriteImage_Handyman_35_sequence }, - { 7181, countof(PeepSpriteImage_Handyman_36_sequence), PeepSpriteImage_Handyman_36_sequence }, + { 11261, countof(PeepSpriteImage_Handyman_00_sequence), PeepSpriteImage_Handyman_00_sequence }, + { 6585, countof(PeepSpriteImage_Handyman_01_sequence), PeepSpriteImage_Handyman_01_sequence }, + { 11285, countof(PeepSpriteImage_Handyman_02_sequence), PeepSpriteImage_Handyman_02_sequence }, + { 6653, countof(PeepSpriteImage_Handyman_03_sequence), PeepSpriteImage_Handyman_03_sequence }, + { 6697, countof(PeepSpriteImage_Handyman_04_sequence), PeepSpriteImage_Handyman_04_sequence }, + { 6757, countof(PeepSpriteImage_Handyman_05_sequence), PeepSpriteImage_Handyman_05_sequence }, + { 6561, countof(PeepSpriteImage_Handyman_06_sequence), PeepSpriteImage_Handyman_06_sequence }, + { 6625, countof(PeepSpriteImage_Handyman_07_sequence), PeepSpriteImage_Handyman_07_sequence }, + { 6629, countof(PeepSpriteImage_Handyman_08_sequence), PeepSpriteImage_Handyman_08_sequence }, + { 6637, countof(PeepSpriteImage_Handyman_09_sequence), PeepSpriteImage_Handyman_09_sequence }, + { 6645, countof(PeepSpriteImage_Handyman_10_sequence), PeepSpriteImage_Handyman_10_sequence }, + { 11289, countof(PeepSpriteImage_Handyman_11_sequence), PeepSpriteImage_Handyman_11_sequence }, + { 11301, countof(PeepSpriteImage_Handyman_12_sequence), PeepSpriteImage_Handyman_12_sequence }, + { 6825, countof(PeepSpriteImage_Handyman_13_sequence), PeepSpriteImage_Handyman_13_sequence }, + { 6845, countof(PeepSpriteImage_Handyman_14_sequence), PeepSpriteImage_Handyman_14_sequence }, + { 6909, countof(PeepSpriteImage_Handyman_15_sequence), PeepSpriteImage_Handyman_15_sequence }, + { 11325, countof(PeepSpriteImage_Handyman_16_sequence), PeepSpriteImage_Handyman_16_sequence }, + { 11345, countof(PeepSpriteImage_Handyman_17_sequence), PeepSpriteImage_Handyman_17_sequence }, + { 11513, countof(PeepSpriteImage_Handyman_18_sequence), PeepSpriteImage_Handyman_18_sequence }, + { 11513, countof(PeepSpriteImage_Handyman_19_sequence), PeepSpriteImage_Handyman_19_sequence }, + { 11597, countof(PeepSpriteImage_Handyman_20_sequence), PeepSpriteImage_Handyman_20_sequence }, + { 11669, countof(PeepSpriteImage_Handyman_21_sequence), PeepSpriteImage_Handyman_21_sequence }, + { 11669, countof(PeepSpriteImage_Handyman_22_sequence), PeepSpriteImage_Handyman_22_sequence }, + { 11801, countof(PeepSpriteImage_Handyman_23_sequence), PeepSpriteImage_Handyman_23_sequence }, + { 11669, countof(PeepSpriteImage_Handyman_24_sequence), PeepSpriteImage_Handyman_24_sequence }, + { 11377, countof(PeepSpriteImage_Handyman_25_sequence), PeepSpriteImage_Handyman_25_sequence }, + { 6989, countof(PeepSpriteImage_Handyman_26_sequence), PeepSpriteImage_Handyman_26_sequence }, + { 7041, countof(PeepSpriteImage_Handyman_27_sequence), PeepSpriteImage_Handyman_27_sequence }, + { 7101, countof(PeepSpriteImage_Handyman_28_sequence), PeepSpriteImage_Handyman_28_sequence }, + { 11401, countof(PeepSpriteImage_Handyman_29_sequence), PeepSpriteImage_Handyman_29_sequence }, + { 7121, countof(PeepSpriteImage_Handyman_30_sequence), PeepSpriteImage_Handyman_30_sequence }, + { 7149, countof(PeepSpriteImage_Handyman_31_sequence), PeepSpriteImage_Handyman_31_sequence }, + { 7249, countof(PeepSpriteImage_Handyman_32_sequence), PeepSpriteImage_Handyman_32_sequence }, + { 7309, countof(PeepSpriteImage_Handyman_33_sequence), PeepSpriteImage_Handyman_33_sequence }, + { 7329, countof(PeepSpriteImage_Handyman_34_sequence), PeepSpriteImage_Handyman_34_sequence }, + { 7285, countof(PeepSpriteImage_Handyman_35_sequence), PeepSpriteImage_Handyman_35_sequence }, + { 7181, countof(PeepSpriteImage_Handyman_36_sequence), PeepSpriteImage_Handyman_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Mechanic[] = { - { 11441, countof(PeepSpriteImage_Mechanic_00_sequence), PeepSpriteImage_Mechanic_00_sequence }, - { 6585, countof(PeepSpriteImage_Mechanic_01_sequence), PeepSpriteImage_Mechanic_01_sequence }, - { 11465, countof(PeepSpriteImage_Mechanic_02_sequence), PeepSpriteImage_Mechanic_02_sequence }, - { 6653, countof(PeepSpriteImage_Mechanic_03_sequence), PeepSpriteImage_Mechanic_03_sequence }, - { 6697, countof(PeepSpriteImage_Mechanic_04_sequence), PeepSpriteImage_Mechanic_04_sequence }, - { 6757, countof(PeepSpriteImage_Mechanic_05_sequence), PeepSpriteImage_Mechanic_05_sequence }, - { 6561, countof(PeepSpriteImage_Mechanic_06_sequence), PeepSpriteImage_Mechanic_06_sequence }, - { 6625, countof(PeepSpriteImage_Mechanic_07_sequence), PeepSpriteImage_Mechanic_07_sequence }, - { 6629, countof(PeepSpriteImage_Mechanic_08_sequence), PeepSpriteImage_Mechanic_08_sequence }, - { 6637, countof(PeepSpriteImage_Mechanic_09_sequence), PeepSpriteImage_Mechanic_09_sequence }, - { 6645, countof(PeepSpriteImage_Mechanic_10_sequence), PeepSpriteImage_Mechanic_10_sequence }, - { 11469, countof(PeepSpriteImage_Mechanic_11_sequence), PeepSpriteImage_Mechanic_11_sequence }, - { 11301, countof(PeepSpriteImage_Mechanic_12_sequence), PeepSpriteImage_Mechanic_12_sequence }, - { 6825, countof(PeepSpriteImage_Mechanic_13_sequence), PeepSpriteImage_Mechanic_13_sequence }, - { 6845, countof(PeepSpriteImage_Mechanic_14_sequence), PeepSpriteImage_Mechanic_14_sequence }, - { 6909, countof(PeepSpriteImage_Mechanic_15_sequence), PeepSpriteImage_Mechanic_15_sequence }, - { 11325, countof(PeepSpriteImage_Mechanic_16_sequence), PeepSpriteImage_Mechanic_16_sequence }, - { 11481, countof(PeepSpriteImage_Mechanic_17_sequence), PeepSpriteImage_Mechanic_17_sequence }, - { 11513, countof(PeepSpriteImage_Mechanic_18_sequence), PeepSpriteImage_Mechanic_18_sequence }, - { 11513, countof(PeepSpriteImage_Mechanic_19_sequence), PeepSpriteImage_Mechanic_19_sequence }, - { 11597, countof(PeepSpriteImage_Mechanic_20_sequence), PeepSpriteImage_Mechanic_20_sequence }, - { 11669, countof(PeepSpriteImage_Mechanic_21_sequence), PeepSpriteImage_Mechanic_21_sequence }, - { 11669, countof(PeepSpriteImage_Mechanic_22_sequence), PeepSpriteImage_Mechanic_22_sequence }, - { 11801, countof(PeepSpriteImage_Mechanic_23_sequence), PeepSpriteImage_Mechanic_23_sequence }, - { 11669, countof(PeepSpriteImage_Mechanic_24_sequence), PeepSpriteImage_Mechanic_24_sequence }, - { 11377, countof(PeepSpriteImage_Mechanic_25_sequence), PeepSpriteImage_Mechanic_25_sequence }, - { 6989, countof(PeepSpriteImage_Mechanic_26_sequence), PeepSpriteImage_Mechanic_26_sequence }, - { 7041, countof(PeepSpriteImage_Mechanic_27_sequence), PeepSpriteImage_Mechanic_27_sequence }, - { 7101, countof(PeepSpriteImage_Mechanic_28_sequence), PeepSpriteImage_Mechanic_28_sequence }, - { 11401, countof(PeepSpriteImage_Mechanic_29_sequence), PeepSpriteImage_Mechanic_29_sequence }, - { 7121, countof(PeepSpriteImage_Mechanic_30_sequence), PeepSpriteImage_Mechanic_30_sequence }, - { 7149, countof(PeepSpriteImage_Mechanic_31_sequence), PeepSpriteImage_Mechanic_31_sequence }, - { 7249, countof(PeepSpriteImage_Mechanic_32_sequence), PeepSpriteImage_Mechanic_32_sequence }, - { 7309, countof(PeepSpriteImage_Mechanic_33_sequence), PeepSpriteImage_Mechanic_33_sequence }, - { 7329, countof(PeepSpriteImage_Mechanic_34_sequence), PeepSpriteImage_Mechanic_34_sequence }, - { 7285, countof(PeepSpriteImage_Mechanic_35_sequence), PeepSpriteImage_Mechanic_35_sequence }, - { 7181, countof(PeepSpriteImage_Mechanic_36_sequence), PeepSpriteImage_Mechanic_36_sequence }, + { 11441, countof(PeepSpriteImage_Mechanic_00_sequence), PeepSpriteImage_Mechanic_00_sequence }, + { 6585, countof(PeepSpriteImage_Mechanic_01_sequence), PeepSpriteImage_Mechanic_01_sequence }, + { 11465, countof(PeepSpriteImage_Mechanic_02_sequence), PeepSpriteImage_Mechanic_02_sequence }, + { 6653, countof(PeepSpriteImage_Mechanic_03_sequence), PeepSpriteImage_Mechanic_03_sequence }, + { 6697, countof(PeepSpriteImage_Mechanic_04_sequence), PeepSpriteImage_Mechanic_04_sequence }, + { 6757, countof(PeepSpriteImage_Mechanic_05_sequence), PeepSpriteImage_Mechanic_05_sequence }, + { 6561, countof(PeepSpriteImage_Mechanic_06_sequence), PeepSpriteImage_Mechanic_06_sequence }, + { 6625, countof(PeepSpriteImage_Mechanic_07_sequence), PeepSpriteImage_Mechanic_07_sequence }, + { 6629, countof(PeepSpriteImage_Mechanic_08_sequence), PeepSpriteImage_Mechanic_08_sequence }, + { 6637, countof(PeepSpriteImage_Mechanic_09_sequence), PeepSpriteImage_Mechanic_09_sequence }, + { 6645, countof(PeepSpriteImage_Mechanic_10_sequence), PeepSpriteImage_Mechanic_10_sequence }, + { 11469, countof(PeepSpriteImage_Mechanic_11_sequence), PeepSpriteImage_Mechanic_11_sequence }, + { 11301, countof(PeepSpriteImage_Mechanic_12_sequence), PeepSpriteImage_Mechanic_12_sequence }, + { 6825, countof(PeepSpriteImage_Mechanic_13_sequence), PeepSpriteImage_Mechanic_13_sequence }, + { 6845, countof(PeepSpriteImage_Mechanic_14_sequence), PeepSpriteImage_Mechanic_14_sequence }, + { 6909, countof(PeepSpriteImage_Mechanic_15_sequence), PeepSpriteImage_Mechanic_15_sequence }, + { 11325, countof(PeepSpriteImage_Mechanic_16_sequence), PeepSpriteImage_Mechanic_16_sequence }, + { 11481, countof(PeepSpriteImage_Mechanic_17_sequence), PeepSpriteImage_Mechanic_17_sequence }, + { 11513, countof(PeepSpriteImage_Mechanic_18_sequence), PeepSpriteImage_Mechanic_18_sequence }, + { 11513, countof(PeepSpriteImage_Mechanic_19_sequence), PeepSpriteImage_Mechanic_19_sequence }, + { 11597, countof(PeepSpriteImage_Mechanic_20_sequence), PeepSpriteImage_Mechanic_20_sequence }, + { 11669, countof(PeepSpriteImage_Mechanic_21_sequence), PeepSpriteImage_Mechanic_21_sequence }, + { 11669, countof(PeepSpriteImage_Mechanic_22_sequence), PeepSpriteImage_Mechanic_22_sequence }, + { 11801, countof(PeepSpriteImage_Mechanic_23_sequence), PeepSpriteImage_Mechanic_23_sequence }, + { 11669, countof(PeepSpriteImage_Mechanic_24_sequence), PeepSpriteImage_Mechanic_24_sequence }, + { 11377, countof(PeepSpriteImage_Mechanic_25_sequence), PeepSpriteImage_Mechanic_25_sequence }, + { 6989, countof(PeepSpriteImage_Mechanic_26_sequence), PeepSpriteImage_Mechanic_26_sequence }, + { 7041, countof(PeepSpriteImage_Mechanic_27_sequence), PeepSpriteImage_Mechanic_27_sequence }, + { 7101, countof(PeepSpriteImage_Mechanic_28_sequence), PeepSpriteImage_Mechanic_28_sequence }, + { 11401, countof(PeepSpriteImage_Mechanic_29_sequence), PeepSpriteImage_Mechanic_29_sequence }, + { 7121, countof(PeepSpriteImage_Mechanic_30_sequence), PeepSpriteImage_Mechanic_30_sequence }, + { 7149, countof(PeepSpriteImage_Mechanic_31_sequence), PeepSpriteImage_Mechanic_31_sequence }, + { 7249, countof(PeepSpriteImage_Mechanic_32_sequence), PeepSpriteImage_Mechanic_32_sequence }, + { 7309, countof(PeepSpriteImage_Mechanic_33_sequence), PeepSpriteImage_Mechanic_33_sequence }, + { 7329, countof(PeepSpriteImage_Mechanic_34_sequence), PeepSpriteImage_Mechanic_34_sequence }, + { 7285, countof(PeepSpriteImage_Mechanic_35_sequence), PeepSpriteImage_Mechanic_35_sequence }, + { 7181, countof(PeepSpriteImage_Mechanic_36_sequence), PeepSpriteImage_Mechanic_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Security[] = { - { 11881, countof(PeepSpriteImage_Security_00_sequence), PeepSpriteImage_Security_00_sequence }, - { 6585, countof(PeepSpriteImage_Security_01_sequence), PeepSpriteImage_Security_01_sequence }, - { 11905, countof(PeepSpriteImage_Security_02_sequence), PeepSpriteImage_Security_02_sequence }, - { 6653, countof(PeepSpriteImage_Security_03_sequence), PeepSpriteImage_Security_03_sequence }, - { 6697, countof(PeepSpriteImage_Security_04_sequence), PeepSpriteImage_Security_04_sequence }, - { 6757, countof(PeepSpriteImage_Security_05_sequence), PeepSpriteImage_Security_05_sequence }, - { 6561, countof(PeepSpriteImage_Security_06_sequence), PeepSpriteImage_Security_06_sequence }, - { 6625, countof(PeepSpriteImage_Security_07_sequence), PeepSpriteImage_Security_07_sequence }, - { 6629, countof(PeepSpriteImage_Security_08_sequence), PeepSpriteImage_Security_08_sequence }, - { 6637, countof(PeepSpriteImage_Security_09_sequence), PeepSpriteImage_Security_09_sequence }, - { 6645, countof(PeepSpriteImage_Security_10_sequence), PeepSpriteImage_Security_10_sequence }, - { 11909, countof(PeepSpriteImage_Security_11_sequence), PeepSpriteImage_Security_11_sequence }, - { 11301, countof(PeepSpriteImage_Security_12_sequence), PeepSpriteImage_Security_12_sequence }, - { 6825, countof(PeepSpriteImage_Security_13_sequence), PeepSpriteImage_Security_13_sequence }, - { 6845, countof(PeepSpriteImage_Security_14_sequence), PeepSpriteImage_Security_14_sequence }, - { 6909, countof(PeepSpriteImage_Security_15_sequence), PeepSpriteImage_Security_15_sequence }, - { 11325, countof(PeepSpriteImage_Security_16_sequence), PeepSpriteImage_Security_16_sequence }, - { 11921, countof(PeepSpriteImage_Security_17_sequence), PeepSpriteImage_Security_17_sequence }, - { 11513, countof(PeepSpriteImage_Security_18_sequence), PeepSpriteImage_Security_18_sequence }, - { 11513, countof(PeepSpriteImage_Security_19_sequence), PeepSpriteImage_Security_19_sequence }, - { 11597, countof(PeepSpriteImage_Security_20_sequence), PeepSpriteImage_Security_20_sequence }, - { 11669, countof(PeepSpriteImage_Security_21_sequence), PeepSpriteImage_Security_21_sequence }, - { 11669, countof(PeepSpriteImage_Security_22_sequence), PeepSpriteImage_Security_22_sequence }, - { 11801, countof(PeepSpriteImage_Security_23_sequence), PeepSpriteImage_Security_23_sequence }, - { 11669, countof(PeepSpriteImage_Security_24_sequence), PeepSpriteImage_Security_24_sequence }, - { 11377, countof(PeepSpriteImage_Security_25_sequence), PeepSpriteImage_Security_25_sequence }, - { 6989, countof(PeepSpriteImage_Security_26_sequence), PeepSpriteImage_Security_26_sequence }, - { 7041, countof(PeepSpriteImage_Security_27_sequence), PeepSpriteImage_Security_27_sequence }, - { 7101, countof(PeepSpriteImage_Security_28_sequence), PeepSpriteImage_Security_28_sequence }, - { 11401, countof(PeepSpriteImage_Security_29_sequence), PeepSpriteImage_Security_29_sequence }, - { 7121, countof(PeepSpriteImage_Security_30_sequence), PeepSpriteImage_Security_30_sequence }, - { 7149, countof(PeepSpriteImage_Security_31_sequence), PeepSpriteImage_Security_31_sequence }, - { 7249, countof(PeepSpriteImage_Security_32_sequence), PeepSpriteImage_Security_32_sequence }, - { 7309, countof(PeepSpriteImage_Security_33_sequence), PeepSpriteImage_Security_33_sequence }, - { 7329, countof(PeepSpriteImage_Security_34_sequence), PeepSpriteImage_Security_34_sequence }, - { 7285, countof(PeepSpriteImage_Security_35_sequence), PeepSpriteImage_Security_35_sequence }, - { 7181, countof(PeepSpriteImage_Security_36_sequence), PeepSpriteImage_Security_36_sequence }, + { 11881, countof(PeepSpriteImage_Security_00_sequence), PeepSpriteImage_Security_00_sequence }, + { 6585, countof(PeepSpriteImage_Security_01_sequence), PeepSpriteImage_Security_01_sequence }, + { 11905, countof(PeepSpriteImage_Security_02_sequence), PeepSpriteImage_Security_02_sequence }, + { 6653, countof(PeepSpriteImage_Security_03_sequence), PeepSpriteImage_Security_03_sequence }, + { 6697, countof(PeepSpriteImage_Security_04_sequence), PeepSpriteImage_Security_04_sequence }, + { 6757, countof(PeepSpriteImage_Security_05_sequence), PeepSpriteImage_Security_05_sequence }, + { 6561, countof(PeepSpriteImage_Security_06_sequence), PeepSpriteImage_Security_06_sequence }, + { 6625, countof(PeepSpriteImage_Security_07_sequence), PeepSpriteImage_Security_07_sequence }, + { 6629, countof(PeepSpriteImage_Security_08_sequence), PeepSpriteImage_Security_08_sequence }, + { 6637, countof(PeepSpriteImage_Security_09_sequence), PeepSpriteImage_Security_09_sequence }, + { 6645, countof(PeepSpriteImage_Security_10_sequence), PeepSpriteImage_Security_10_sequence }, + { 11909, countof(PeepSpriteImage_Security_11_sequence), PeepSpriteImage_Security_11_sequence }, + { 11301, countof(PeepSpriteImage_Security_12_sequence), PeepSpriteImage_Security_12_sequence }, + { 6825, countof(PeepSpriteImage_Security_13_sequence), PeepSpriteImage_Security_13_sequence }, + { 6845, countof(PeepSpriteImage_Security_14_sequence), PeepSpriteImage_Security_14_sequence }, + { 6909, countof(PeepSpriteImage_Security_15_sequence), PeepSpriteImage_Security_15_sequence }, + { 11325, countof(PeepSpriteImage_Security_16_sequence), PeepSpriteImage_Security_16_sequence }, + { 11921, countof(PeepSpriteImage_Security_17_sequence), PeepSpriteImage_Security_17_sequence }, + { 11513, countof(PeepSpriteImage_Security_18_sequence), PeepSpriteImage_Security_18_sequence }, + { 11513, countof(PeepSpriteImage_Security_19_sequence), PeepSpriteImage_Security_19_sequence }, + { 11597, countof(PeepSpriteImage_Security_20_sequence), PeepSpriteImage_Security_20_sequence }, + { 11669, countof(PeepSpriteImage_Security_21_sequence), PeepSpriteImage_Security_21_sequence }, + { 11669, countof(PeepSpriteImage_Security_22_sequence), PeepSpriteImage_Security_22_sequence }, + { 11801, countof(PeepSpriteImage_Security_23_sequence), PeepSpriteImage_Security_23_sequence }, + { 11669, countof(PeepSpriteImage_Security_24_sequence), PeepSpriteImage_Security_24_sequence }, + { 11377, countof(PeepSpriteImage_Security_25_sequence), PeepSpriteImage_Security_25_sequence }, + { 6989, countof(PeepSpriteImage_Security_26_sequence), PeepSpriteImage_Security_26_sequence }, + { 7041, countof(PeepSpriteImage_Security_27_sequence), PeepSpriteImage_Security_27_sequence }, + { 7101, countof(PeepSpriteImage_Security_28_sequence), PeepSpriteImage_Security_28_sequence }, + { 11401, countof(PeepSpriteImage_Security_29_sequence), PeepSpriteImage_Security_29_sequence }, + { 7121, countof(PeepSpriteImage_Security_30_sequence), PeepSpriteImage_Security_30_sequence }, + { 7149, countof(PeepSpriteImage_Security_31_sequence), PeepSpriteImage_Security_31_sequence }, + { 7249, countof(PeepSpriteImage_Security_32_sequence), PeepSpriteImage_Security_32_sequence }, + { 7309, countof(PeepSpriteImage_Security_33_sequence), PeepSpriteImage_Security_33_sequence }, + { 7329, countof(PeepSpriteImage_Security_34_sequence), PeepSpriteImage_Security_34_sequence }, + { 7285, countof(PeepSpriteImage_Security_35_sequence), PeepSpriteImage_Security_35_sequence }, + { 7181, countof(PeepSpriteImage_Security_36_sequence), PeepSpriteImage_Security_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_EntertainerPanda[] = { - { 11973, countof(PeepSpriteImage_EntertainerPanda_00_sequence), PeepSpriteImage_EntertainerPanda_00_sequence }, - { 6585, countof(PeepSpriteImage_EntertainerPanda_01_sequence), PeepSpriteImage_EntertainerPanda_01_sequence }, - { 11997, countof(PeepSpriteImage_EntertainerPanda_02_sequence), PeepSpriteImage_EntertainerPanda_02_sequence }, - { 12041, countof(PeepSpriteImage_EntertainerPanda_03_sequence), PeepSpriteImage_EntertainerPanda_03_sequence }, - { 6697, countof(PeepSpriteImage_EntertainerPanda_04_sequence), PeepSpriteImage_EntertainerPanda_04_sequence }, - { 6757, countof(PeepSpriteImage_EntertainerPanda_05_sequence), PeepSpriteImage_EntertainerPanda_05_sequence }, - { 6561, countof(PeepSpriteImage_EntertainerPanda_06_sequence), PeepSpriteImage_EntertainerPanda_06_sequence }, - { 6625, countof(PeepSpriteImage_EntertainerPanda_07_sequence), PeepSpriteImage_EntertainerPanda_07_sequence }, - { 6629, countof(PeepSpriteImage_EntertainerPanda_08_sequence), PeepSpriteImage_EntertainerPanda_08_sequence }, - { 6637, countof(PeepSpriteImage_EntertainerPanda_09_sequence), PeepSpriteImage_EntertainerPanda_09_sequence }, - { 6645, countof(PeepSpriteImage_EntertainerPanda_10_sequence), PeepSpriteImage_EntertainerPanda_10_sequence }, - { 12001, countof(PeepSpriteImage_EntertainerPanda_11_sequence), PeepSpriteImage_EntertainerPanda_11_sequence }, - { 11301, countof(PeepSpriteImage_EntertainerPanda_12_sequence), PeepSpriteImage_EntertainerPanda_12_sequence }, - { 6825, countof(PeepSpriteImage_EntertainerPanda_13_sequence), PeepSpriteImage_EntertainerPanda_13_sequence }, - { 6845, countof(PeepSpriteImage_EntertainerPanda_14_sequence), PeepSpriteImage_EntertainerPanda_14_sequence }, - { 6909, countof(PeepSpriteImage_EntertainerPanda_15_sequence), PeepSpriteImage_EntertainerPanda_15_sequence }, - { 11325, countof(PeepSpriteImage_EntertainerPanda_16_sequence), PeepSpriteImage_EntertainerPanda_16_sequence }, - { 12013, countof(PeepSpriteImage_EntertainerPanda_17_sequence), PeepSpriteImage_EntertainerPanda_17_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerPanda_18_sequence), PeepSpriteImage_EntertainerPanda_18_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerPanda_19_sequence), PeepSpriteImage_EntertainerPanda_19_sequence }, - { 11597, countof(PeepSpriteImage_EntertainerPanda_20_sequence), PeepSpriteImage_EntertainerPanda_20_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerPanda_21_sequence), PeepSpriteImage_EntertainerPanda_21_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerPanda_22_sequence), PeepSpriteImage_EntertainerPanda_22_sequence }, - { 11801, countof(PeepSpriteImage_EntertainerPanda_23_sequence), PeepSpriteImage_EntertainerPanda_23_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerPanda_24_sequence), PeepSpriteImage_EntertainerPanda_24_sequence }, - { 11377, countof(PeepSpriteImage_EntertainerPanda_25_sequence), PeepSpriteImage_EntertainerPanda_25_sequence }, - { 12065, countof(PeepSpriteImage_EntertainerPanda_26_sequence), PeepSpriteImage_EntertainerPanda_26_sequence }, - { 7041, countof(PeepSpriteImage_EntertainerPanda_27_sequence), PeepSpriteImage_EntertainerPanda_27_sequence }, - { 7101, countof(PeepSpriteImage_EntertainerPanda_28_sequence), PeepSpriteImage_EntertainerPanda_28_sequence }, - { 11401, countof(PeepSpriteImage_EntertainerPanda_29_sequence), PeepSpriteImage_EntertainerPanda_29_sequence }, - { 12041, countof(PeepSpriteImage_EntertainerPanda_30_sequence), PeepSpriteImage_EntertainerPanda_30_sequence }, - { 7149, countof(PeepSpriteImage_EntertainerPanda_31_sequence), PeepSpriteImage_EntertainerPanda_31_sequence }, - { 7249, countof(PeepSpriteImage_EntertainerPanda_32_sequence), PeepSpriteImage_EntertainerPanda_32_sequence }, - { 7309, countof(PeepSpriteImage_EntertainerPanda_33_sequence), PeepSpriteImage_EntertainerPanda_33_sequence }, - { 7329, countof(PeepSpriteImage_EntertainerPanda_34_sequence), PeepSpriteImage_EntertainerPanda_34_sequence }, - { 7285, countof(PeepSpriteImage_EntertainerPanda_35_sequence), PeepSpriteImage_EntertainerPanda_35_sequence }, - { 7181, countof(PeepSpriteImage_EntertainerPanda_36_sequence), PeepSpriteImage_EntertainerPanda_36_sequence }, + { 11973, countof(PeepSpriteImage_EntertainerPanda_00_sequence), PeepSpriteImage_EntertainerPanda_00_sequence }, + { 6585, countof(PeepSpriteImage_EntertainerPanda_01_sequence), PeepSpriteImage_EntertainerPanda_01_sequence }, + { 11997, countof(PeepSpriteImage_EntertainerPanda_02_sequence), PeepSpriteImage_EntertainerPanda_02_sequence }, + { 12041, countof(PeepSpriteImage_EntertainerPanda_03_sequence), PeepSpriteImage_EntertainerPanda_03_sequence }, + { 6697, countof(PeepSpriteImage_EntertainerPanda_04_sequence), PeepSpriteImage_EntertainerPanda_04_sequence }, + { 6757, countof(PeepSpriteImage_EntertainerPanda_05_sequence), PeepSpriteImage_EntertainerPanda_05_sequence }, + { 6561, countof(PeepSpriteImage_EntertainerPanda_06_sequence), PeepSpriteImage_EntertainerPanda_06_sequence }, + { 6625, countof(PeepSpriteImage_EntertainerPanda_07_sequence), PeepSpriteImage_EntertainerPanda_07_sequence }, + { 6629, countof(PeepSpriteImage_EntertainerPanda_08_sequence), PeepSpriteImage_EntertainerPanda_08_sequence }, + { 6637, countof(PeepSpriteImage_EntertainerPanda_09_sequence), PeepSpriteImage_EntertainerPanda_09_sequence }, + { 6645, countof(PeepSpriteImage_EntertainerPanda_10_sequence), PeepSpriteImage_EntertainerPanda_10_sequence }, + { 12001, countof(PeepSpriteImage_EntertainerPanda_11_sequence), PeepSpriteImage_EntertainerPanda_11_sequence }, + { 11301, countof(PeepSpriteImage_EntertainerPanda_12_sequence), PeepSpriteImage_EntertainerPanda_12_sequence }, + { 6825, countof(PeepSpriteImage_EntertainerPanda_13_sequence), PeepSpriteImage_EntertainerPanda_13_sequence }, + { 6845, countof(PeepSpriteImage_EntertainerPanda_14_sequence), PeepSpriteImage_EntertainerPanda_14_sequence }, + { 6909, countof(PeepSpriteImage_EntertainerPanda_15_sequence), PeepSpriteImage_EntertainerPanda_15_sequence }, + { 11325, countof(PeepSpriteImage_EntertainerPanda_16_sequence), PeepSpriteImage_EntertainerPanda_16_sequence }, + { 12013, countof(PeepSpriteImage_EntertainerPanda_17_sequence), PeepSpriteImage_EntertainerPanda_17_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerPanda_18_sequence), PeepSpriteImage_EntertainerPanda_18_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerPanda_19_sequence), PeepSpriteImage_EntertainerPanda_19_sequence }, + { 11597, countof(PeepSpriteImage_EntertainerPanda_20_sequence), PeepSpriteImage_EntertainerPanda_20_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerPanda_21_sequence), PeepSpriteImage_EntertainerPanda_21_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerPanda_22_sequence), PeepSpriteImage_EntertainerPanda_22_sequence }, + { 11801, countof(PeepSpriteImage_EntertainerPanda_23_sequence), PeepSpriteImage_EntertainerPanda_23_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerPanda_24_sequence), PeepSpriteImage_EntertainerPanda_24_sequence }, + { 11377, countof(PeepSpriteImage_EntertainerPanda_25_sequence), PeepSpriteImage_EntertainerPanda_25_sequence }, + { 12065, countof(PeepSpriteImage_EntertainerPanda_26_sequence), PeepSpriteImage_EntertainerPanda_26_sequence }, + { 7041, countof(PeepSpriteImage_EntertainerPanda_27_sequence), PeepSpriteImage_EntertainerPanda_27_sequence }, + { 7101, countof(PeepSpriteImage_EntertainerPanda_28_sequence), PeepSpriteImage_EntertainerPanda_28_sequence }, + { 11401, countof(PeepSpriteImage_EntertainerPanda_29_sequence), PeepSpriteImage_EntertainerPanda_29_sequence }, + { 12041, countof(PeepSpriteImage_EntertainerPanda_30_sequence), PeepSpriteImage_EntertainerPanda_30_sequence }, + { 7149, countof(PeepSpriteImage_EntertainerPanda_31_sequence), PeepSpriteImage_EntertainerPanda_31_sequence }, + { 7249, countof(PeepSpriteImage_EntertainerPanda_32_sequence), PeepSpriteImage_EntertainerPanda_32_sequence }, + { 7309, countof(PeepSpriteImage_EntertainerPanda_33_sequence), PeepSpriteImage_EntertainerPanda_33_sequence }, + { 7329, countof(PeepSpriteImage_EntertainerPanda_34_sequence), PeepSpriteImage_EntertainerPanda_34_sequence }, + { 7285, countof(PeepSpriteImage_EntertainerPanda_35_sequence), PeepSpriteImage_EntertainerPanda_35_sequence }, + { 7181, countof(PeepSpriteImage_EntertainerPanda_36_sequence), PeepSpriteImage_EntertainerPanda_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_EntertainerTiger[] = { - { 12129, countof(PeepSpriteImage_EntertainerTiger_00_sequence), PeepSpriteImage_EntertainerTiger_00_sequence }, - { 6585, countof(PeepSpriteImage_EntertainerTiger_01_sequence), PeepSpriteImage_EntertainerTiger_01_sequence }, - { 12153, countof(PeepSpriteImage_EntertainerTiger_02_sequence), PeepSpriteImage_EntertainerTiger_02_sequence }, - { 12197, countof(PeepSpriteImage_EntertainerTiger_03_sequence), PeepSpriteImage_EntertainerTiger_03_sequence }, - { 6697, countof(PeepSpriteImage_EntertainerTiger_04_sequence), PeepSpriteImage_EntertainerTiger_04_sequence }, - { 6757, countof(PeepSpriteImage_EntertainerTiger_05_sequence), PeepSpriteImage_EntertainerTiger_05_sequence }, - { 6561, countof(PeepSpriteImage_EntertainerTiger_06_sequence), PeepSpriteImage_EntertainerTiger_06_sequence }, - { 6625, countof(PeepSpriteImage_EntertainerTiger_07_sequence), PeepSpriteImage_EntertainerTiger_07_sequence }, - { 6629, countof(PeepSpriteImage_EntertainerTiger_08_sequence), PeepSpriteImage_EntertainerTiger_08_sequence }, - { 6637, countof(PeepSpriteImage_EntertainerTiger_09_sequence), PeepSpriteImage_EntertainerTiger_09_sequence }, - { 6645, countof(PeepSpriteImage_EntertainerTiger_10_sequence), PeepSpriteImage_EntertainerTiger_10_sequence }, - { 12157, countof(PeepSpriteImage_EntertainerTiger_11_sequence), PeepSpriteImage_EntertainerTiger_11_sequence }, - { 11301, countof(PeepSpriteImage_EntertainerTiger_12_sequence), PeepSpriteImage_EntertainerTiger_12_sequence }, - { 6825, countof(PeepSpriteImage_EntertainerTiger_13_sequence), PeepSpriteImage_EntertainerTiger_13_sequence }, - { 6845, countof(PeepSpriteImage_EntertainerTiger_14_sequence), PeepSpriteImage_EntertainerTiger_14_sequence }, - { 6909, countof(PeepSpriteImage_EntertainerTiger_15_sequence), PeepSpriteImage_EntertainerTiger_15_sequence }, - { 11325, countof(PeepSpriteImage_EntertainerTiger_16_sequence), PeepSpriteImage_EntertainerTiger_16_sequence }, - { 12169, countof(PeepSpriteImage_EntertainerTiger_17_sequence), PeepSpriteImage_EntertainerTiger_17_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerTiger_18_sequence), PeepSpriteImage_EntertainerTiger_18_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerTiger_19_sequence), PeepSpriteImage_EntertainerTiger_19_sequence }, - { 11597, countof(PeepSpriteImage_EntertainerTiger_20_sequence), PeepSpriteImage_EntertainerTiger_20_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerTiger_21_sequence), PeepSpriteImage_EntertainerTiger_21_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerTiger_22_sequence), PeepSpriteImage_EntertainerTiger_22_sequence }, - { 11801, countof(PeepSpriteImage_EntertainerTiger_23_sequence), PeepSpriteImage_EntertainerTiger_23_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerTiger_24_sequence), PeepSpriteImage_EntertainerTiger_24_sequence }, - { 11377, countof(PeepSpriteImage_EntertainerTiger_25_sequence), PeepSpriteImage_EntertainerTiger_25_sequence }, - { 12221, countof(PeepSpriteImage_EntertainerTiger_26_sequence), PeepSpriteImage_EntertainerTiger_26_sequence }, - { 7041, countof(PeepSpriteImage_EntertainerTiger_27_sequence), PeepSpriteImage_EntertainerTiger_27_sequence }, - { 7101, countof(PeepSpriteImage_EntertainerTiger_28_sequence), PeepSpriteImage_EntertainerTiger_28_sequence }, - { 11401, countof(PeepSpriteImage_EntertainerTiger_29_sequence), PeepSpriteImage_EntertainerTiger_29_sequence }, - { 12197, countof(PeepSpriteImage_EntertainerTiger_30_sequence), PeepSpriteImage_EntertainerTiger_30_sequence }, - { 7149, countof(PeepSpriteImage_EntertainerTiger_31_sequence), PeepSpriteImage_EntertainerTiger_31_sequence }, - { 7249, countof(PeepSpriteImage_EntertainerTiger_32_sequence), PeepSpriteImage_EntertainerTiger_32_sequence }, - { 7309, countof(PeepSpriteImage_EntertainerTiger_33_sequence), PeepSpriteImage_EntertainerTiger_33_sequence }, - { 7329, countof(PeepSpriteImage_EntertainerTiger_34_sequence), PeepSpriteImage_EntertainerTiger_34_sequence }, - { 7285, countof(PeepSpriteImage_EntertainerTiger_35_sequence), PeepSpriteImage_EntertainerTiger_35_sequence }, - { 7181, countof(PeepSpriteImage_EntertainerTiger_36_sequence), PeepSpriteImage_EntertainerTiger_36_sequence }, + { 12129, countof(PeepSpriteImage_EntertainerTiger_00_sequence), PeepSpriteImage_EntertainerTiger_00_sequence }, + { 6585, countof(PeepSpriteImage_EntertainerTiger_01_sequence), PeepSpriteImage_EntertainerTiger_01_sequence }, + { 12153, countof(PeepSpriteImage_EntertainerTiger_02_sequence), PeepSpriteImage_EntertainerTiger_02_sequence }, + { 12197, countof(PeepSpriteImage_EntertainerTiger_03_sequence), PeepSpriteImage_EntertainerTiger_03_sequence }, + { 6697, countof(PeepSpriteImage_EntertainerTiger_04_sequence), PeepSpriteImage_EntertainerTiger_04_sequence }, + { 6757, countof(PeepSpriteImage_EntertainerTiger_05_sequence), PeepSpriteImage_EntertainerTiger_05_sequence }, + { 6561, countof(PeepSpriteImage_EntertainerTiger_06_sequence), PeepSpriteImage_EntertainerTiger_06_sequence }, + { 6625, countof(PeepSpriteImage_EntertainerTiger_07_sequence), PeepSpriteImage_EntertainerTiger_07_sequence }, + { 6629, countof(PeepSpriteImage_EntertainerTiger_08_sequence), PeepSpriteImage_EntertainerTiger_08_sequence }, + { 6637, countof(PeepSpriteImage_EntertainerTiger_09_sequence), PeepSpriteImage_EntertainerTiger_09_sequence }, + { 6645, countof(PeepSpriteImage_EntertainerTiger_10_sequence), PeepSpriteImage_EntertainerTiger_10_sequence }, + { 12157, countof(PeepSpriteImage_EntertainerTiger_11_sequence), PeepSpriteImage_EntertainerTiger_11_sequence }, + { 11301, countof(PeepSpriteImage_EntertainerTiger_12_sequence), PeepSpriteImage_EntertainerTiger_12_sequence }, + { 6825, countof(PeepSpriteImage_EntertainerTiger_13_sequence), PeepSpriteImage_EntertainerTiger_13_sequence }, + { 6845, countof(PeepSpriteImage_EntertainerTiger_14_sequence), PeepSpriteImage_EntertainerTiger_14_sequence }, + { 6909, countof(PeepSpriteImage_EntertainerTiger_15_sequence), PeepSpriteImage_EntertainerTiger_15_sequence }, + { 11325, countof(PeepSpriteImage_EntertainerTiger_16_sequence), PeepSpriteImage_EntertainerTiger_16_sequence }, + { 12169, countof(PeepSpriteImage_EntertainerTiger_17_sequence), PeepSpriteImage_EntertainerTiger_17_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerTiger_18_sequence), PeepSpriteImage_EntertainerTiger_18_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerTiger_19_sequence), PeepSpriteImage_EntertainerTiger_19_sequence }, + { 11597, countof(PeepSpriteImage_EntertainerTiger_20_sequence), PeepSpriteImage_EntertainerTiger_20_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerTiger_21_sequence), PeepSpriteImage_EntertainerTiger_21_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerTiger_22_sequence), PeepSpriteImage_EntertainerTiger_22_sequence }, + { 11801, countof(PeepSpriteImage_EntertainerTiger_23_sequence), PeepSpriteImage_EntertainerTiger_23_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerTiger_24_sequence), PeepSpriteImage_EntertainerTiger_24_sequence }, + { 11377, countof(PeepSpriteImage_EntertainerTiger_25_sequence), PeepSpriteImage_EntertainerTiger_25_sequence }, + { 12221, countof(PeepSpriteImage_EntertainerTiger_26_sequence), PeepSpriteImage_EntertainerTiger_26_sequence }, + { 7041, countof(PeepSpriteImage_EntertainerTiger_27_sequence), PeepSpriteImage_EntertainerTiger_27_sequence }, + { 7101, countof(PeepSpriteImage_EntertainerTiger_28_sequence), PeepSpriteImage_EntertainerTiger_28_sequence }, + { 11401, countof(PeepSpriteImage_EntertainerTiger_29_sequence), PeepSpriteImage_EntertainerTiger_29_sequence }, + { 12197, countof(PeepSpriteImage_EntertainerTiger_30_sequence), PeepSpriteImage_EntertainerTiger_30_sequence }, + { 7149, countof(PeepSpriteImage_EntertainerTiger_31_sequence), PeepSpriteImage_EntertainerTiger_31_sequence }, + { 7249, countof(PeepSpriteImage_EntertainerTiger_32_sequence), PeepSpriteImage_EntertainerTiger_32_sequence }, + { 7309, countof(PeepSpriteImage_EntertainerTiger_33_sequence), PeepSpriteImage_EntertainerTiger_33_sequence }, + { 7329, countof(PeepSpriteImage_EntertainerTiger_34_sequence), PeepSpriteImage_EntertainerTiger_34_sequence }, + { 7285, countof(PeepSpriteImage_EntertainerTiger_35_sequence), PeepSpriteImage_EntertainerTiger_35_sequence }, + { 7181, countof(PeepSpriteImage_EntertainerTiger_36_sequence), PeepSpriteImage_EntertainerTiger_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_EntertainerElephant[] = { - { 12325, countof(PeepSpriteImage_EntertainerElephant_00_sequence), PeepSpriteImage_EntertainerElephant_00_sequence }, - { 6585, countof(PeepSpriteImage_EntertainerElephant_01_sequence), PeepSpriteImage_EntertainerElephant_01_sequence }, - { 12349, countof(PeepSpriteImage_EntertainerElephant_02_sequence), PeepSpriteImage_EntertainerElephant_02_sequence }, - { 12365, countof(PeepSpriteImage_EntertainerElephant_03_sequence), PeepSpriteImage_EntertainerElephant_03_sequence }, - { 6697, countof(PeepSpriteImage_EntertainerElephant_04_sequence), PeepSpriteImage_EntertainerElephant_04_sequence }, - { 6757, countof(PeepSpriteImage_EntertainerElephant_05_sequence), PeepSpriteImage_EntertainerElephant_05_sequence }, - { 6561, countof(PeepSpriteImage_EntertainerElephant_06_sequence), PeepSpriteImage_EntertainerElephant_06_sequence }, - { 6625, countof(PeepSpriteImage_EntertainerElephant_07_sequence), PeepSpriteImage_EntertainerElephant_07_sequence }, - { 6629, countof(PeepSpriteImage_EntertainerElephant_08_sequence), PeepSpriteImage_EntertainerElephant_08_sequence }, - { 6637, countof(PeepSpriteImage_EntertainerElephant_09_sequence), PeepSpriteImage_EntertainerElephant_09_sequence }, - { 6645, countof(PeepSpriteImage_EntertainerElephant_10_sequence), PeepSpriteImage_EntertainerElephant_10_sequence }, - { 12353, countof(PeepSpriteImage_EntertainerElephant_11_sequence), PeepSpriteImage_EntertainerElephant_11_sequence }, - { 11301, countof(PeepSpriteImage_EntertainerElephant_12_sequence), PeepSpriteImage_EntertainerElephant_12_sequence }, - { 6825, countof(PeepSpriteImage_EntertainerElephant_13_sequence), PeepSpriteImage_EntertainerElephant_13_sequence }, - { 6845, countof(PeepSpriteImage_EntertainerElephant_14_sequence), PeepSpriteImage_EntertainerElephant_14_sequence }, - { 6909, countof(PeepSpriteImage_EntertainerElephant_15_sequence), PeepSpriteImage_EntertainerElephant_15_sequence }, - { 11325, countof(PeepSpriteImage_EntertainerElephant_16_sequence), PeepSpriteImage_EntertainerElephant_16_sequence }, - { 12393, countof(PeepSpriteImage_EntertainerElephant_17_sequence), PeepSpriteImage_EntertainerElephant_17_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerElephant_18_sequence), PeepSpriteImage_EntertainerElephant_18_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerElephant_19_sequence), PeepSpriteImage_EntertainerElephant_19_sequence }, - { 11597, countof(PeepSpriteImage_EntertainerElephant_20_sequence), PeepSpriteImage_EntertainerElephant_20_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerElephant_21_sequence), PeepSpriteImage_EntertainerElephant_21_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerElephant_22_sequence), PeepSpriteImage_EntertainerElephant_22_sequence }, - { 11801, countof(PeepSpriteImage_EntertainerElephant_23_sequence), PeepSpriteImage_EntertainerElephant_23_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerElephant_24_sequence), PeepSpriteImage_EntertainerElephant_24_sequence }, - { 11377, countof(PeepSpriteImage_EntertainerElephant_25_sequence), PeepSpriteImage_EntertainerElephant_25_sequence }, - { 12433, countof(PeepSpriteImage_EntertainerElephant_26_sequence), PeepSpriteImage_EntertainerElephant_26_sequence }, - { 7041, countof(PeepSpriteImage_EntertainerElephant_27_sequence), PeepSpriteImage_EntertainerElephant_27_sequence }, - { 7101, countof(PeepSpriteImage_EntertainerElephant_28_sequence), PeepSpriteImage_EntertainerElephant_28_sequence }, - { 11401, countof(PeepSpriteImage_EntertainerElephant_29_sequence), PeepSpriteImage_EntertainerElephant_29_sequence }, - { 12365, countof(PeepSpriteImage_EntertainerElephant_30_sequence), PeepSpriteImage_EntertainerElephant_30_sequence }, - { 7149, countof(PeepSpriteImage_EntertainerElephant_31_sequence), PeepSpriteImage_EntertainerElephant_31_sequence }, - { 7249, countof(PeepSpriteImage_EntertainerElephant_32_sequence), PeepSpriteImage_EntertainerElephant_32_sequence }, - { 7309, countof(PeepSpriteImage_EntertainerElephant_33_sequence), PeepSpriteImage_EntertainerElephant_33_sequence }, - { 7329, countof(PeepSpriteImage_EntertainerElephant_34_sequence), PeepSpriteImage_EntertainerElephant_34_sequence }, - { 7285, countof(PeepSpriteImage_EntertainerElephant_35_sequence), PeepSpriteImage_EntertainerElephant_35_sequence }, - { 7181, countof(PeepSpriteImage_EntertainerElephant_36_sequence), PeepSpriteImage_EntertainerElephant_36_sequence }, + { 12325, countof(PeepSpriteImage_EntertainerElephant_00_sequence), PeepSpriteImage_EntertainerElephant_00_sequence }, + { 6585, countof(PeepSpriteImage_EntertainerElephant_01_sequence), PeepSpriteImage_EntertainerElephant_01_sequence }, + { 12349, countof(PeepSpriteImage_EntertainerElephant_02_sequence), PeepSpriteImage_EntertainerElephant_02_sequence }, + { 12365, countof(PeepSpriteImage_EntertainerElephant_03_sequence), PeepSpriteImage_EntertainerElephant_03_sequence }, + { 6697, countof(PeepSpriteImage_EntertainerElephant_04_sequence), PeepSpriteImage_EntertainerElephant_04_sequence }, + { 6757, countof(PeepSpriteImage_EntertainerElephant_05_sequence), PeepSpriteImage_EntertainerElephant_05_sequence }, + { 6561, countof(PeepSpriteImage_EntertainerElephant_06_sequence), PeepSpriteImage_EntertainerElephant_06_sequence }, + { 6625, countof(PeepSpriteImage_EntertainerElephant_07_sequence), PeepSpriteImage_EntertainerElephant_07_sequence }, + { 6629, countof(PeepSpriteImage_EntertainerElephant_08_sequence), PeepSpriteImage_EntertainerElephant_08_sequence }, + { 6637, countof(PeepSpriteImage_EntertainerElephant_09_sequence), PeepSpriteImage_EntertainerElephant_09_sequence }, + { 6645, countof(PeepSpriteImage_EntertainerElephant_10_sequence), PeepSpriteImage_EntertainerElephant_10_sequence }, + { 12353, countof(PeepSpriteImage_EntertainerElephant_11_sequence), PeepSpriteImage_EntertainerElephant_11_sequence }, + { 11301, countof(PeepSpriteImage_EntertainerElephant_12_sequence), PeepSpriteImage_EntertainerElephant_12_sequence }, + { 6825, countof(PeepSpriteImage_EntertainerElephant_13_sequence), PeepSpriteImage_EntertainerElephant_13_sequence }, + { 6845, countof(PeepSpriteImage_EntertainerElephant_14_sequence), PeepSpriteImage_EntertainerElephant_14_sequence }, + { 6909, countof(PeepSpriteImage_EntertainerElephant_15_sequence), PeepSpriteImage_EntertainerElephant_15_sequence }, + { 11325, countof(PeepSpriteImage_EntertainerElephant_16_sequence), PeepSpriteImage_EntertainerElephant_16_sequence }, + { 12393, countof(PeepSpriteImage_EntertainerElephant_17_sequence), PeepSpriteImage_EntertainerElephant_17_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerElephant_18_sequence), PeepSpriteImage_EntertainerElephant_18_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerElephant_19_sequence), PeepSpriteImage_EntertainerElephant_19_sequence }, + { 11597, countof(PeepSpriteImage_EntertainerElephant_20_sequence), PeepSpriteImage_EntertainerElephant_20_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerElephant_21_sequence), PeepSpriteImage_EntertainerElephant_21_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerElephant_22_sequence), PeepSpriteImage_EntertainerElephant_22_sequence }, + { 11801, countof(PeepSpriteImage_EntertainerElephant_23_sequence), PeepSpriteImage_EntertainerElephant_23_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerElephant_24_sequence), PeepSpriteImage_EntertainerElephant_24_sequence }, + { 11377, countof(PeepSpriteImage_EntertainerElephant_25_sequence), PeepSpriteImage_EntertainerElephant_25_sequence }, + { 12433, countof(PeepSpriteImage_EntertainerElephant_26_sequence), PeepSpriteImage_EntertainerElephant_26_sequence }, + { 7041, countof(PeepSpriteImage_EntertainerElephant_27_sequence), PeepSpriteImage_EntertainerElephant_27_sequence }, + { 7101, countof(PeepSpriteImage_EntertainerElephant_28_sequence), PeepSpriteImage_EntertainerElephant_28_sequence }, + { 11401, countof(PeepSpriteImage_EntertainerElephant_29_sequence), PeepSpriteImage_EntertainerElephant_29_sequence }, + { 12365, countof(PeepSpriteImage_EntertainerElephant_30_sequence), PeepSpriteImage_EntertainerElephant_30_sequence }, + { 7149, countof(PeepSpriteImage_EntertainerElephant_31_sequence), PeepSpriteImage_EntertainerElephant_31_sequence }, + { 7249, countof(PeepSpriteImage_EntertainerElephant_32_sequence), PeepSpriteImage_EntertainerElephant_32_sequence }, + { 7309, countof(PeepSpriteImage_EntertainerElephant_33_sequence), PeepSpriteImage_EntertainerElephant_33_sequence }, + { 7329, countof(PeepSpriteImage_EntertainerElephant_34_sequence), PeepSpriteImage_EntertainerElephant_34_sequence }, + { 7285, countof(PeepSpriteImage_EntertainerElephant_35_sequence), PeepSpriteImage_EntertainerElephant_35_sequence }, + { 7181, countof(PeepSpriteImage_EntertainerElephant_36_sequence), PeepSpriteImage_EntertainerElephant_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_EntertainerRoman[] = { - { 13897, countof(PeepSpriteImage_EntertainerRoman_00_sequence), PeepSpriteImage_EntertainerRoman_00_sequence }, - { 6585, countof(PeepSpriteImage_EntertainerRoman_01_sequence), PeepSpriteImage_EntertainerRoman_01_sequence }, - { 13921, countof(PeepSpriteImage_EntertainerRoman_02_sequence), PeepSpriteImage_EntertainerRoman_02_sequence }, - { 13937, countof(PeepSpriteImage_EntertainerRoman_03_sequence), PeepSpriteImage_EntertainerRoman_03_sequence }, - { 6697, countof(PeepSpriteImage_EntertainerRoman_04_sequence), PeepSpriteImage_EntertainerRoman_04_sequence }, - { 6757, countof(PeepSpriteImage_EntertainerRoman_05_sequence), PeepSpriteImage_EntertainerRoman_05_sequence }, - { 6561, countof(PeepSpriteImage_EntertainerRoman_06_sequence), PeepSpriteImage_EntertainerRoman_06_sequence }, - { 6625, countof(PeepSpriteImage_EntertainerRoman_07_sequence), PeepSpriteImage_EntertainerRoman_07_sequence }, - { 6629, countof(PeepSpriteImage_EntertainerRoman_08_sequence), PeepSpriteImage_EntertainerRoman_08_sequence }, - { 6637, countof(PeepSpriteImage_EntertainerRoman_09_sequence), PeepSpriteImage_EntertainerRoman_09_sequence }, - { 6645, countof(PeepSpriteImage_EntertainerRoman_10_sequence), PeepSpriteImage_EntertainerRoman_10_sequence }, - { 13925, countof(PeepSpriteImage_EntertainerRoman_11_sequence), PeepSpriteImage_EntertainerRoman_11_sequence }, - { 11301, countof(PeepSpriteImage_EntertainerRoman_12_sequence), PeepSpriteImage_EntertainerRoman_12_sequence }, - { 6825, countof(PeepSpriteImage_EntertainerRoman_13_sequence), PeepSpriteImage_EntertainerRoman_13_sequence }, - { 6845, countof(PeepSpriteImage_EntertainerRoman_14_sequence), PeepSpriteImage_EntertainerRoman_14_sequence }, - { 6909, countof(PeepSpriteImage_EntertainerRoman_15_sequence), PeepSpriteImage_EntertainerRoman_15_sequence }, - { 11325, countof(PeepSpriteImage_EntertainerRoman_16_sequence), PeepSpriteImage_EntertainerRoman_16_sequence }, - { 13969, countof(PeepSpriteImage_EntertainerRoman_17_sequence), PeepSpriteImage_EntertainerRoman_17_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerRoman_18_sequence), PeepSpriteImage_EntertainerRoman_18_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerRoman_19_sequence), PeepSpriteImage_EntertainerRoman_19_sequence }, - { 11597, countof(PeepSpriteImage_EntertainerRoman_20_sequence), PeepSpriteImage_EntertainerRoman_20_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerRoman_21_sequence), PeepSpriteImage_EntertainerRoman_21_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerRoman_22_sequence), PeepSpriteImage_EntertainerRoman_22_sequence }, - { 11801, countof(PeepSpriteImage_EntertainerRoman_23_sequence), PeepSpriteImage_EntertainerRoman_23_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerRoman_24_sequence), PeepSpriteImage_EntertainerRoman_24_sequence }, - { 11377, countof(PeepSpriteImage_EntertainerRoman_25_sequence), PeepSpriteImage_EntertainerRoman_25_sequence }, - { 14029, countof(PeepSpriteImage_EntertainerRoman_26_sequence), PeepSpriteImage_EntertainerRoman_26_sequence }, - { 7041, countof(PeepSpriteImage_EntertainerRoman_27_sequence), PeepSpriteImage_EntertainerRoman_27_sequence }, - { 7101, countof(PeepSpriteImage_EntertainerRoman_28_sequence), PeepSpriteImage_EntertainerRoman_28_sequence }, - { 11401, countof(PeepSpriteImage_EntertainerRoman_29_sequence), PeepSpriteImage_EntertainerRoman_29_sequence }, - { 13937, countof(PeepSpriteImage_EntertainerRoman_30_sequence), PeepSpriteImage_EntertainerRoman_30_sequence }, - { 7149, countof(PeepSpriteImage_EntertainerRoman_31_sequence), PeepSpriteImage_EntertainerRoman_31_sequence }, - { 7249, countof(PeepSpriteImage_EntertainerRoman_32_sequence), PeepSpriteImage_EntertainerRoman_32_sequence }, - { 7309, countof(PeepSpriteImage_EntertainerRoman_33_sequence), PeepSpriteImage_EntertainerRoman_33_sequence }, - { 7329, countof(PeepSpriteImage_EntertainerRoman_34_sequence), PeepSpriteImage_EntertainerRoman_34_sequence }, - { 7285, countof(PeepSpriteImage_EntertainerRoman_35_sequence), PeepSpriteImage_EntertainerRoman_35_sequence }, - { 7181, countof(PeepSpriteImage_EntertainerRoman_36_sequence), PeepSpriteImage_EntertainerRoman_36_sequence }, + { 13897, countof(PeepSpriteImage_EntertainerRoman_00_sequence), PeepSpriteImage_EntertainerRoman_00_sequence }, + { 6585, countof(PeepSpriteImage_EntertainerRoman_01_sequence), PeepSpriteImage_EntertainerRoman_01_sequence }, + { 13921, countof(PeepSpriteImage_EntertainerRoman_02_sequence), PeepSpriteImage_EntertainerRoman_02_sequence }, + { 13937, countof(PeepSpriteImage_EntertainerRoman_03_sequence), PeepSpriteImage_EntertainerRoman_03_sequence }, + { 6697, countof(PeepSpriteImage_EntertainerRoman_04_sequence), PeepSpriteImage_EntertainerRoman_04_sequence }, + { 6757, countof(PeepSpriteImage_EntertainerRoman_05_sequence), PeepSpriteImage_EntertainerRoman_05_sequence }, + { 6561, countof(PeepSpriteImage_EntertainerRoman_06_sequence), PeepSpriteImage_EntertainerRoman_06_sequence }, + { 6625, countof(PeepSpriteImage_EntertainerRoman_07_sequence), PeepSpriteImage_EntertainerRoman_07_sequence }, + { 6629, countof(PeepSpriteImage_EntertainerRoman_08_sequence), PeepSpriteImage_EntertainerRoman_08_sequence }, + { 6637, countof(PeepSpriteImage_EntertainerRoman_09_sequence), PeepSpriteImage_EntertainerRoman_09_sequence }, + { 6645, countof(PeepSpriteImage_EntertainerRoman_10_sequence), PeepSpriteImage_EntertainerRoman_10_sequence }, + { 13925, countof(PeepSpriteImage_EntertainerRoman_11_sequence), PeepSpriteImage_EntertainerRoman_11_sequence }, + { 11301, countof(PeepSpriteImage_EntertainerRoman_12_sequence), PeepSpriteImage_EntertainerRoman_12_sequence }, + { 6825, countof(PeepSpriteImage_EntertainerRoman_13_sequence), PeepSpriteImage_EntertainerRoman_13_sequence }, + { 6845, countof(PeepSpriteImage_EntertainerRoman_14_sequence), PeepSpriteImage_EntertainerRoman_14_sequence }, + { 6909, countof(PeepSpriteImage_EntertainerRoman_15_sequence), PeepSpriteImage_EntertainerRoman_15_sequence }, + { 11325, countof(PeepSpriteImage_EntertainerRoman_16_sequence), PeepSpriteImage_EntertainerRoman_16_sequence }, + { 13969, countof(PeepSpriteImage_EntertainerRoman_17_sequence), PeepSpriteImage_EntertainerRoman_17_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerRoman_18_sequence), PeepSpriteImage_EntertainerRoman_18_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerRoman_19_sequence), PeepSpriteImage_EntertainerRoman_19_sequence }, + { 11597, countof(PeepSpriteImage_EntertainerRoman_20_sequence), PeepSpriteImage_EntertainerRoman_20_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerRoman_21_sequence), PeepSpriteImage_EntertainerRoman_21_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerRoman_22_sequence), PeepSpriteImage_EntertainerRoman_22_sequence }, + { 11801, countof(PeepSpriteImage_EntertainerRoman_23_sequence), PeepSpriteImage_EntertainerRoman_23_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerRoman_24_sequence), PeepSpriteImage_EntertainerRoman_24_sequence }, + { 11377, countof(PeepSpriteImage_EntertainerRoman_25_sequence), PeepSpriteImage_EntertainerRoman_25_sequence }, + { 14029, countof(PeepSpriteImage_EntertainerRoman_26_sequence), PeepSpriteImage_EntertainerRoman_26_sequence }, + { 7041, countof(PeepSpriteImage_EntertainerRoman_27_sequence), PeepSpriteImage_EntertainerRoman_27_sequence }, + { 7101, countof(PeepSpriteImage_EntertainerRoman_28_sequence), PeepSpriteImage_EntertainerRoman_28_sequence }, + { 11401, countof(PeepSpriteImage_EntertainerRoman_29_sequence), PeepSpriteImage_EntertainerRoman_29_sequence }, + { 13937, countof(PeepSpriteImage_EntertainerRoman_30_sequence), PeepSpriteImage_EntertainerRoman_30_sequence }, + { 7149, countof(PeepSpriteImage_EntertainerRoman_31_sequence), PeepSpriteImage_EntertainerRoman_31_sequence }, + { 7249, countof(PeepSpriteImage_EntertainerRoman_32_sequence), PeepSpriteImage_EntertainerRoman_32_sequence }, + { 7309, countof(PeepSpriteImage_EntertainerRoman_33_sequence), PeepSpriteImage_EntertainerRoman_33_sequence }, + { 7329, countof(PeepSpriteImage_EntertainerRoman_34_sequence), PeepSpriteImage_EntertainerRoman_34_sequence }, + { 7285, countof(PeepSpriteImage_EntertainerRoman_35_sequence), PeepSpriteImage_EntertainerRoman_35_sequence }, + { 7181, countof(PeepSpriteImage_EntertainerRoman_36_sequence), PeepSpriteImage_EntertainerRoman_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_EntertainerGorilla[] = { - { 12549, countof(PeepSpriteImage_EntertainerGorilla_00_sequence), PeepSpriteImage_EntertainerGorilla_00_sequence }, - { 6585, countof(PeepSpriteImage_EntertainerGorilla_01_sequence), PeepSpriteImage_EntertainerGorilla_01_sequence }, - { 12545, countof(PeepSpriteImage_EntertainerGorilla_02_sequence), PeepSpriteImage_EntertainerGorilla_02_sequence }, - { 12573, countof(PeepSpriteImage_EntertainerGorilla_03_sequence), PeepSpriteImage_EntertainerGorilla_03_sequence }, - { 6697, countof(PeepSpriteImage_EntertainerGorilla_04_sequence), PeepSpriteImage_EntertainerGorilla_04_sequence }, - { 6757, countof(PeepSpriteImage_EntertainerGorilla_05_sequence), PeepSpriteImage_EntertainerGorilla_05_sequence }, - { 6561, countof(PeepSpriteImage_EntertainerGorilla_06_sequence), PeepSpriteImage_EntertainerGorilla_06_sequence }, - { 6625, countof(PeepSpriteImage_EntertainerGorilla_07_sequence), PeepSpriteImage_EntertainerGorilla_07_sequence }, - { 6629, countof(PeepSpriteImage_EntertainerGorilla_08_sequence), PeepSpriteImage_EntertainerGorilla_08_sequence }, - { 6637, countof(PeepSpriteImage_EntertainerGorilla_09_sequence), PeepSpriteImage_EntertainerGorilla_09_sequence }, - { 6645, countof(PeepSpriteImage_EntertainerGorilla_10_sequence), PeepSpriteImage_EntertainerGorilla_10_sequence }, - { 12665, countof(PeepSpriteImage_EntertainerGorilla_11_sequence), PeepSpriteImage_EntertainerGorilla_11_sequence }, - { 11301, countof(PeepSpriteImage_EntertainerGorilla_12_sequence), PeepSpriteImage_EntertainerGorilla_12_sequence }, - { 6825, countof(PeepSpriteImage_EntertainerGorilla_13_sequence), PeepSpriteImage_EntertainerGorilla_13_sequence }, - { 6845, countof(PeepSpriteImage_EntertainerGorilla_14_sequence), PeepSpriteImage_EntertainerGorilla_14_sequence }, - { 6909, countof(PeepSpriteImage_EntertainerGorilla_15_sequence), PeepSpriteImage_EntertainerGorilla_15_sequence }, - { 11325, countof(PeepSpriteImage_EntertainerGorilla_16_sequence), PeepSpriteImage_EntertainerGorilla_16_sequence }, - { 12617, countof(PeepSpriteImage_EntertainerGorilla_17_sequence), PeepSpriteImage_EntertainerGorilla_17_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerGorilla_18_sequence), PeepSpriteImage_EntertainerGorilla_18_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerGorilla_19_sequence), PeepSpriteImage_EntertainerGorilla_19_sequence }, - { 11597, countof(PeepSpriteImage_EntertainerGorilla_20_sequence), PeepSpriteImage_EntertainerGorilla_20_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerGorilla_21_sequence), PeepSpriteImage_EntertainerGorilla_21_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerGorilla_22_sequence), PeepSpriteImage_EntertainerGorilla_22_sequence }, - { 11801, countof(PeepSpriteImage_EntertainerGorilla_23_sequence), PeepSpriteImage_EntertainerGorilla_23_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerGorilla_24_sequence), PeepSpriteImage_EntertainerGorilla_24_sequence }, - { 11377, countof(PeepSpriteImage_EntertainerGorilla_25_sequence), PeepSpriteImage_EntertainerGorilla_25_sequence }, - { 12573, countof(PeepSpriteImage_EntertainerGorilla_26_sequence), PeepSpriteImage_EntertainerGorilla_26_sequence }, - { 7041, countof(PeepSpriteImage_EntertainerGorilla_27_sequence), PeepSpriteImage_EntertainerGorilla_27_sequence }, - { 7101, countof(PeepSpriteImage_EntertainerGorilla_28_sequence), PeepSpriteImage_EntertainerGorilla_28_sequence }, - { 11401, countof(PeepSpriteImage_EntertainerGorilla_29_sequence), PeepSpriteImage_EntertainerGorilla_29_sequence }, - { 12573, countof(PeepSpriteImage_EntertainerGorilla_30_sequence), PeepSpriteImage_EntertainerGorilla_30_sequence }, - { 7149, countof(PeepSpriteImage_EntertainerGorilla_31_sequence), PeepSpriteImage_EntertainerGorilla_31_sequence }, - { 7249, countof(PeepSpriteImage_EntertainerGorilla_32_sequence), PeepSpriteImage_EntertainerGorilla_32_sequence }, - { 7309, countof(PeepSpriteImage_EntertainerGorilla_33_sequence), PeepSpriteImage_EntertainerGorilla_33_sequence }, - { 7329, countof(PeepSpriteImage_EntertainerGorilla_34_sequence), PeepSpriteImage_EntertainerGorilla_34_sequence }, - { 7285, countof(PeepSpriteImage_EntertainerGorilla_35_sequence), PeepSpriteImage_EntertainerGorilla_35_sequence }, - { 7181, countof(PeepSpriteImage_EntertainerGorilla_36_sequence), PeepSpriteImage_EntertainerGorilla_36_sequence }, + { 12549, countof(PeepSpriteImage_EntertainerGorilla_00_sequence), PeepSpriteImage_EntertainerGorilla_00_sequence }, + { 6585, countof(PeepSpriteImage_EntertainerGorilla_01_sequence), PeepSpriteImage_EntertainerGorilla_01_sequence }, + { 12545, countof(PeepSpriteImage_EntertainerGorilla_02_sequence), PeepSpriteImage_EntertainerGorilla_02_sequence }, + { 12573, countof(PeepSpriteImage_EntertainerGorilla_03_sequence), PeepSpriteImage_EntertainerGorilla_03_sequence }, + { 6697, countof(PeepSpriteImage_EntertainerGorilla_04_sequence), PeepSpriteImage_EntertainerGorilla_04_sequence }, + { 6757, countof(PeepSpriteImage_EntertainerGorilla_05_sequence), PeepSpriteImage_EntertainerGorilla_05_sequence }, + { 6561, countof(PeepSpriteImage_EntertainerGorilla_06_sequence), PeepSpriteImage_EntertainerGorilla_06_sequence }, + { 6625, countof(PeepSpriteImage_EntertainerGorilla_07_sequence), PeepSpriteImage_EntertainerGorilla_07_sequence }, + { 6629, countof(PeepSpriteImage_EntertainerGorilla_08_sequence), PeepSpriteImage_EntertainerGorilla_08_sequence }, + { 6637, countof(PeepSpriteImage_EntertainerGorilla_09_sequence), PeepSpriteImage_EntertainerGorilla_09_sequence }, + { 6645, countof(PeepSpriteImage_EntertainerGorilla_10_sequence), PeepSpriteImage_EntertainerGorilla_10_sequence }, + { 12665, countof(PeepSpriteImage_EntertainerGorilla_11_sequence), PeepSpriteImage_EntertainerGorilla_11_sequence }, + { 11301, countof(PeepSpriteImage_EntertainerGorilla_12_sequence), PeepSpriteImage_EntertainerGorilla_12_sequence }, + { 6825, countof(PeepSpriteImage_EntertainerGorilla_13_sequence), PeepSpriteImage_EntertainerGorilla_13_sequence }, + { 6845, countof(PeepSpriteImage_EntertainerGorilla_14_sequence), PeepSpriteImage_EntertainerGorilla_14_sequence }, + { 6909, countof(PeepSpriteImage_EntertainerGorilla_15_sequence), PeepSpriteImage_EntertainerGorilla_15_sequence }, + { 11325, countof(PeepSpriteImage_EntertainerGorilla_16_sequence), PeepSpriteImage_EntertainerGorilla_16_sequence }, + { 12617, countof(PeepSpriteImage_EntertainerGorilla_17_sequence), PeepSpriteImage_EntertainerGorilla_17_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerGorilla_18_sequence), PeepSpriteImage_EntertainerGorilla_18_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerGorilla_19_sequence), PeepSpriteImage_EntertainerGorilla_19_sequence }, + { 11597, countof(PeepSpriteImage_EntertainerGorilla_20_sequence), PeepSpriteImage_EntertainerGorilla_20_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerGorilla_21_sequence), PeepSpriteImage_EntertainerGorilla_21_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerGorilla_22_sequence), PeepSpriteImage_EntertainerGorilla_22_sequence }, + { 11801, countof(PeepSpriteImage_EntertainerGorilla_23_sequence), PeepSpriteImage_EntertainerGorilla_23_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerGorilla_24_sequence), PeepSpriteImage_EntertainerGorilla_24_sequence }, + { 11377, countof(PeepSpriteImage_EntertainerGorilla_25_sequence), PeepSpriteImage_EntertainerGorilla_25_sequence }, + { 12573, countof(PeepSpriteImage_EntertainerGorilla_26_sequence), PeepSpriteImage_EntertainerGorilla_26_sequence }, + { 7041, countof(PeepSpriteImage_EntertainerGorilla_27_sequence), PeepSpriteImage_EntertainerGorilla_27_sequence }, + { 7101, countof(PeepSpriteImage_EntertainerGorilla_28_sequence), PeepSpriteImage_EntertainerGorilla_28_sequence }, + { 11401, countof(PeepSpriteImage_EntertainerGorilla_29_sequence), PeepSpriteImage_EntertainerGorilla_29_sequence }, + { 12573, countof(PeepSpriteImage_EntertainerGorilla_30_sequence), PeepSpriteImage_EntertainerGorilla_30_sequence }, + { 7149, countof(PeepSpriteImage_EntertainerGorilla_31_sequence), PeepSpriteImage_EntertainerGorilla_31_sequence }, + { 7249, countof(PeepSpriteImage_EntertainerGorilla_32_sequence), PeepSpriteImage_EntertainerGorilla_32_sequence }, + { 7309, countof(PeepSpriteImage_EntertainerGorilla_33_sequence), PeepSpriteImage_EntertainerGorilla_33_sequence }, + { 7329, countof(PeepSpriteImage_EntertainerGorilla_34_sequence), PeepSpriteImage_EntertainerGorilla_34_sequence }, + { 7285, countof(PeepSpriteImage_EntertainerGorilla_35_sequence), PeepSpriteImage_EntertainerGorilla_35_sequence }, + { 7181, countof(PeepSpriteImage_EntertainerGorilla_36_sequence), PeepSpriteImage_EntertainerGorilla_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_EntertainerSnowman[] = { - { 12681, countof(PeepSpriteImage_EntertainerSnowman_00_sequence), PeepSpriteImage_EntertainerSnowman_00_sequence }, - { 6585, countof(PeepSpriteImage_EntertainerSnowman_01_sequence), PeepSpriteImage_EntertainerSnowman_01_sequence }, - { 12677, countof(PeepSpriteImage_EntertainerSnowman_02_sequence), PeepSpriteImage_EntertainerSnowman_02_sequence }, - { 12705, countof(PeepSpriteImage_EntertainerSnowman_03_sequence), PeepSpriteImage_EntertainerSnowman_03_sequence }, - { 6697, countof(PeepSpriteImage_EntertainerSnowman_04_sequence), PeepSpriteImage_EntertainerSnowman_04_sequence }, - { 6757, countof(PeepSpriteImage_EntertainerSnowman_05_sequence), PeepSpriteImage_EntertainerSnowman_05_sequence }, - { 6561, countof(PeepSpriteImage_EntertainerSnowman_06_sequence), PeepSpriteImage_EntertainerSnowman_06_sequence }, - { 6625, countof(PeepSpriteImage_EntertainerSnowman_07_sequence), PeepSpriteImage_EntertainerSnowman_07_sequence }, - { 6629, countof(PeepSpriteImage_EntertainerSnowman_08_sequence), PeepSpriteImage_EntertainerSnowman_08_sequence }, - { 6637, countof(PeepSpriteImage_EntertainerSnowman_09_sequence), PeepSpriteImage_EntertainerSnowman_09_sequence }, - { 6645, countof(PeepSpriteImage_EntertainerSnowman_10_sequence), PeepSpriteImage_EntertainerSnowman_10_sequence }, - { 12881, countof(PeepSpriteImage_EntertainerSnowman_11_sequence), PeepSpriteImage_EntertainerSnowman_11_sequence }, - { 11301, countof(PeepSpriteImage_EntertainerSnowman_12_sequence), PeepSpriteImage_EntertainerSnowman_12_sequence }, - { 6825, countof(PeepSpriteImage_EntertainerSnowman_13_sequence), PeepSpriteImage_EntertainerSnowman_13_sequence }, - { 6845, countof(PeepSpriteImage_EntertainerSnowman_14_sequence), PeepSpriteImage_EntertainerSnowman_14_sequence }, - { 6909, countof(PeepSpriteImage_EntertainerSnowman_15_sequence), PeepSpriteImage_EntertainerSnowman_15_sequence }, - { 11325, countof(PeepSpriteImage_EntertainerSnowman_16_sequence), PeepSpriteImage_EntertainerSnowman_16_sequence }, - { 12841, countof(PeepSpriteImage_EntertainerSnowman_17_sequence), PeepSpriteImage_EntertainerSnowman_17_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerSnowman_18_sequence), PeepSpriteImage_EntertainerSnowman_18_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerSnowman_19_sequence), PeepSpriteImage_EntertainerSnowman_19_sequence }, - { 11597, countof(PeepSpriteImage_EntertainerSnowman_20_sequence), PeepSpriteImage_EntertainerSnowman_20_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerSnowman_21_sequence), PeepSpriteImage_EntertainerSnowman_21_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerSnowman_22_sequence), PeepSpriteImage_EntertainerSnowman_22_sequence }, - { 11801, countof(PeepSpriteImage_EntertainerSnowman_23_sequence), PeepSpriteImage_EntertainerSnowman_23_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerSnowman_24_sequence), PeepSpriteImage_EntertainerSnowman_24_sequence }, - { 11377, countof(PeepSpriteImage_EntertainerSnowman_25_sequence), PeepSpriteImage_EntertainerSnowman_25_sequence }, - { 12705, countof(PeepSpriteImage_EntertainerSnowman_26_sequence), PeepSpriteImage_EntertainerSnowman_26_sequence }, - { 7041, countof(PeepSpriteImage_EntertainerSnowman_27_sequence), PeepSpriteImage_EntertainerSnowman_27_sequence }, - { 7101, countof(PeepSpriteImage_EntertainerSnowman_28_sequence), PeepSpriteImage_EntertainerSnowman_28_sequence }, - { 11401, countof(PeepSpriteImage_EntertainerSnowman_29_sequence), PeepSpriteImage_EntertainerSnowman_29_sequence }, - { 12705, countof(PeepSpriteImage_EntertainerSnowman_30_sequence), PeepSpriteImage_EntertainerSnowman_30_sequence }, - { 7149, countof(PeepSpriteImage_EntertainerSnowman_31_sequence), PeepSpriteImage_EntertainerSnowman_31_sequence }, - { 7249, countof(PeepSpriteImage_EntertainerSnowman_32_sequence), PeepSpriteImage_EntertainerSnowman_32_sequence }, - { 7309, countof(PeepSpriteImage_EntertainerSnowman_33_sequence), PeepSpriteImage_EntertainerSnowman_33_sequence }, - { 7329, countof(PeepSpriteImage_EntertainerSnowman_34_sequence), PeepSpriteImage_EntertainerSnowman_34_sequence }, - { 7285, countof(PeepSpriteImage_EntertainerSnowman_35_sequence), PeepSpriteImage_EntertainerSnowman_35_sequence }, - { 7181, countof(PeepSpriteImage_EntertainerSnowman_36_sequence), PeepSpriteImage_EntertainerSnowman_36_sequence }, + { 12681, countof(PeepSpriteImage_EntertainerSnowman_00_sequence), PeepSpriteImage_EntertainerSnowman_00_sequence }, + { 6585, countof(PeepSpriteImage_EntertainerSnowman_01_sequence), PeepSpriteImage_EntertainerSnowman_01_sequence }, + { 12677, countof(PeepSpriteImage_EntertainerSnowman_02_sequence), PeepSpriteImage_EntertainerSnowman_02_sequence }, + { 12705, countof(PeepSpriteImage_EntertainerSnowman_03_sequence), PeepSpriteImage_EntertainerSnowman_03_sequence }, + { 6697, countof(PeepSpriteImage_EntertainerSnowman_04_sequence), PeepSpriteImage_EntertainerSnowman_04_sequence }, + { 6757, countof(PeepSpriteImage_EntertainerSnowman_05_sequence), PeepSpriteImage_EntertainerSnowman_05_sequence }, + { 6561, countof(PeepSpriteImage_EntertainerSnowman_06_sequence), PeepSpriteImage_EntertainerSnowman_06_sequence }, + { 6625, countof(PeepSpriteImage_EntertainerSnowman_07_sequence), PeepSpriteImage_EntertainerSnowman_07_sequence }, + { 6629, countof(PeepSpriteImage_EntertainerSnowman_08_sequence), PeepSpriteImage_EntertainerSnowman_08_sequence }, + { 6637, countof(PeepSpriteImage_EntertainerSnowman_09_sequence), PeepSpriteImage_EntertainerSnowman_09_sequence }, + { 6645, countof(PeepSpriteImage_EntertainerSnowman_10_sequence), PeepSpriteImage_EntertainerSnowman_10_sequence }, + { 12881, countof(PeepSpriteImage_EntertainerSnowman_11_sequence), PeepSpriteImage_EntertainerSnowman_11_sequence }, + { 11301, countof(PeepSpriteImage_EntertainerSnowman_12_sequence), PeepSpriteImage_EntertainerSnowman_12_sequence }, + { 6825, countof(PeepSpriteImage_EntertainerSnowman_13_sequence), PeepSpriteImage_EntertainerSnowman_13_sequence }, + { 6845, countof(PeepSpriteImage_EntertainerSnowman_14_sequence), PeepSpriteImage_EntertainerSnowman_14_sequence }, + { 6909, countof(PeepSpriteImage_EntertainerSnowman_15_sequence), PeepSpriteImage_EntertainerSnowman_15_sequence }, + { 11325, countof(PeepSpriteImage_EntertainerSnowman_16_sequence), PeepSpriteImage_EntertainerSnowman_16_sequence }, + { 12841, countof(PeepSpriteImage_EntertainerSnowman_17_sequence), PeepSpriteImage_EntertainerSnowman_17_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerSnowman_18_sequence), PeepSpriteImage_EntertainerSnowman_18_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerSnowman_19_sequence), PeepSpriteImage_EntertainerSnowman_19_sequence }, + { 11597, countof(PeepSpriteImage_EntertainerSnowman_20_sequence), PeepSpriteImage_EntertainerSnowman_20_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerSnowman_21_sequence), PeepSpriteImage_EntertainerSnowman_21_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerSnowman_22_sequence), PeepSpriteImage_EntertainerSnowman_22_sequence }, + { 11801, countof(PeepSpriteImage_EntertainerSnowman_23_sequence), PeepSpriteImage_EntertainerSnowman_23_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerSnowman_24_sequence), PeepSpriteImage_EntertainerSnowman_24_sequence }, + { 11377, countof(PeepSpriteImage_EntertainerSnowman_25_sequence), PeepSpriteImage_EntertainerSnowman_25_sequence }, + { 12705, countof(PeepSpriteImage_EntertainerSnowman_26_sequence), PeepSpriteImage_EntertainerSnowman_26_sequence }, + { 7041, countof(PeepSpriteImage_EntertainerSnowman_27_sequence), PeepSpriteImage_EntertainerSnowman_27_sequence }, + { 7101, countof(PeepSpriteImage_EntertainerSnowman_28_sequence), PeepSpriteImage_EntertainerSnowman_28_sequence }, + { 11401, countof(PeepSpriteImage_EntertainerSnowman_29_sequence), PeepSpriteImage_EntertainerSnowman_29_sequence }, + { 12705, countof(PeepSpriteImage_EntertainerSnowman_30_sequence), PeepSpriteImage_EntertainerSnowman_30_sequence }, + { 7149, countof(PeepSpriteImage_EntertainerSnowman_31_sequence), PeepSpriteImage_EntertainerSnowman_31_sequence }, + { 7249, countof(PeepSpriteImage_EntertainerSnowman_32_sequence), PeepSpriteImage_EntertainerSnowman_32_sequence }, + { 7309, countof(PeepSpriteImage_EntertainerSnowman_33_sequence), PeepSpriteImage_EntertainerSnowman_33_sequence }, + { 7329, countof(PeepSpriteImage_EntertainerSnowman_34_sequence), PeepSpriteImage_EntertainerSnowman_34_sequence }, + { 7285, countof(PeepSpriteImage_EntertainerSnowman_35_sequence), PeepSpriteImage_EntertainerSnowman_35_sequence }, + { 7181, countof(PeepSpriteImage_EntertainerSnowman_36_sequence), PeepSpriteImage_EntertainerSnowman_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_EntertainerKnight[] = { - { 12897, countof(PeepSpriteImage_EntertainerKnight_00_sequence), PeepSpriteImage_EntertainerKnight_00_sequence }, - { 6585, countof(PeepSpriteImage_EntertainerKnight_01_sequence), PeepSpriteImage_EntertainerKnight_01_sequence }, - { 12893, countof(PeepSpriteImage_EntertainerKnight_02_sequence), PeepSpriteImage_EntertainerKnight_02_sequence }, - { 12993, countof(PeepSpriteImage_EntertainerKnight_03_sequence), PeepSpriteImage_EntertainerKnight_03_sequence }, - { 6697, countof(PeepSpriteImage_EntertainerKnight_04_sequence), PeepSpriteImage_EntertainerKnight_04_sequence }, - { 6757, countof(PeepSpriteImage_EntertainerKnight_05_sequence), PeepSpriteImage_EntertainerKnight_05_sequence }, - { 6561, countof(PeepSpriteImage_EntertainerKnight_06_sequence), PeepSpriteImage_EntertainerKnight_06_sequence }, - { 6625, countof(PeepSpriteImage_EntertainerKnight_07_sequence), PeepSpriteImage_EntertainerKnight_07_sequence }, - { 6629, countof(PeepSpriteImage_EntertainerKnight_08_sequence), PeepSpriteImage_EntertainerKnight_08_sequence }, - { 6637, countof(PeepSpriteImage_EntertainerKnight_09_sequence), PeepSpriteImage_EntertainerKnight_09_sequence }, - { 6645, countof(PeepSpriteImage_EntertainerKnight_10_sequence), PeepSpriteImage_EntertainerKnight_10_sequence }, - { 12981, countof(PeepSpriteImage_EntertainerKnight_11_sequence), PeepSpriteImage_EntertainerKnight_11_sequence }, - { 11301, countof(PeepSpriteImage_EntertainerKnight_12_sequence), PeepSpriteImage_EntertainerKnight_12_sequence }, - { 6825, countof(PeepSpriteImage_EntertainerKnight_13_sequence), PeepSpriteImage_EntertainerKnight_13_sequence }, - { 6845, countof(PeepSpriteImage_EntertainerKnight_14_sequence), PeepSpriteImage_EntertainerKnight_14_sequence }, - { 6909, countof(PeepSpriteImage_EntertainerKnight_15_sequence), PeepSpriteImage_EntertainerKnight_15_sequence }, - { 11325, countof(PeepSpriteImage_EntertainerKnight_16_sequence), PeepSpriteImage_EntertainerKnight_16_sequence }, - { 12921, countof(PeepSpriteImage_EntertainerKnight_17_sequence), PeepSpriteImage_EntertainerKnight_17_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerKnight_18_sequence), PeepSpriteImage_EntertainerKnight_18_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerKnight_19_sequence), PeepSpriteImage_EntertainerKnight_19_sequence }, - { 11597, countof(PeepSpriteImage_EntertainerKnight_20_sequence), PeepSpriteImage_EntertainerKnight_20_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerKnight_21_sequence), PeepSpriteImage_EntertainerKnight_21_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerKnight_22_sequence), PeepSpriteImage_EntertainerKnight_22_sequence }, - { 11801, countof(PeepSpriteImage_EntertainerKnight_23_sequence), PeepSpriteImage_EntertainerKnight_23_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerKnight_24_sequence), PeepSpriteImage_EntertainerKnight_24_sequence }, - { 11377, countof(PeepSpriteImage_EntertainerKnight_25_sequence), PeepSpriteImage_EntertainerKnight_25_sequence }, - { 12993, countof(PeepSpriteImage_EntertainerKnight_26_sequence), PeepSpriteImage_EntertainerKnight_26_sequence }, - { 7041, countof(PeepSpriteImage_EntertainerKnight_27_sequence), PeepSpriteImage_EntertainerKnight_27_sequence }, - { 7101, countof(PeepSpriteImage_EntertainerKnight_28_sequence), PeepSpriteImage_EntertainerKnight_28_sequence }, - { 11401, countof(PeepSpriteImage_EntertainerKnight_29_sequence), PeepSpriteImage_EntertainerKnight_29_sequence }, - { 12993, countof(PeepSpriteImage_EntertainerKnight_30_sequence), PeepSpriteImage_EntertainerKnight_30_sequence }, - { 7149, countof(PeepSpriteImage_EntertainerKnight_31_sequence), PeepSpriteImage_EntertainerKnight_31_sequence }, - { 7249, countof(PeepSpriteImage_EntertainerKnight_32_sequence), PeepSpriteImage_EntertainerKnight_32_sequence }, - { 7309, countof(PeepSpriteImage_EntertainerKnight_33_sequence), PeepSpriteImage_EntertainerKnight_33_sequence }, - { 7329, countof(PeepSpriteImage_EntertainerKnight_34_sequence), PeepSpriteImage_EntertainerKnight_34_sequence }, - { 7285, countof(PeepSpriteImage_EntertainerKnight_35_sequence), PeepSpriteImage_EntertainerKnight_35_sequence }, - { 7181, countof(PeepSpriteImage_EntertainerKnight_36_sequence), PeepSpriteImage_EntertainerKnight_36_sequence }, + { 12897, countof(PeepSpriteImage_EntertainerKnight_00_sequence), PeepSpriteImage_EntertainerKnight_00_sequence }, + { 6585, countof(PeepSpriteImage_EntertainerKnight_01_sequence), PeepSpriteImage_EntertainerKnight_01_sequence }, + { 12893, countof(PeepSpriteImage_EntertainerKnight_02_sequence), PeepSpriteImage_EntertainerKnight_02_sequence }, + { 12993, countof(PeepSpriteImage_EntertainerKnight_03_sequence), PeepSpriteImage_EntertainerKnight_03_sequence }, + { 6697, countof(PeepSpriteImage_EntertainerKnight_04_sequence), PeepSpriteImage_EntertainerKnight_04_sequence }, + { 6757, countof(PeepSpriteImage_EntertainerKnight_05_sequence), PeepSpriteImage_EntertainerKnight_05_sequence }, + { 6561, countof(PeepSpriteImage_EntertainerKnight_06_sequence), PeepSpriteImage_EntertainerKnight_06_sequence }, + { 6625, countof(PeepSpriteImage_EntertainerKnight_07_sequence), PeepSpriteImage_EntertainerKnight_07_sequence }, + { 6629, countof(PeepSpriteImage_EntertainerKnight_08_sequence), PeepSpriteImage_EntertainerKnight_08_sequence }, + { 6637, countof(PeepSpriteImage_EntertainerKnight_09_sequence), PeepSpriteImage_EntertainerKnight_09_sequence }, + { 6645, countof(PeepSpriteImage_EntertainerKnight_10_sequence), PeepSpriteImage_EntertainerKnight_10_sequence }, + { 12981, countof(PeepSpriteImage_EntertainerKnight_11_sequence), PeepSpriteImage_EntertainerKnight_11_sequence }, + { 11301, countof(PeepSpriteImage_EntertainerKnight_12_sequence), PeepSpriteImage_EntertainerKnight_12_sequence }, + { 6825, countof(PeepSpriteImage_EntertainerKnight_13_sequence), PeepSpriteImage_EntertainerKnight_13_sequence }, + { 6845, countof(PeepSpriteImage_EntertainerKnight_14_sequence), PeepSpriteImage_EntertainerKnight_14_sequence }, + { 6909, countof(PeepSpriteImage_EntertainerKnight_15_sequence), PeepSpriteImage_EntertainerKnight_15_sequence }, + { 11325, countof(PeepSpriteImage_EntertainerKnight_16_sequence), PeepSpriteImage_EntertainerKnight_16_sequence }, + { 12921, countof(PeepSpriteImage_EntertainerKnight_17_sequence), PeepSpriteImage_EntertainerKnight_17_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerKnight_18_sequence), PeepSpriteImage_EntertainerKnight_18_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerKnight_19_sequence), PeepSpriteImage_EntertainerKnight_19_sequence }, + { 11597, countof(PeepSpriteImage_EntertainerKnight_20_sequence), PeepSpriteImage_EntertainerKnight_20_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerKnight_21_sequence), PeepSpriteImage_EntertainerKnight_21_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerKnight_22_sequence), PeepSpriteImage_EntertainerKnight_22_sequence }, + { 11801, countof(PeepSpriteImage_EntertainerKnight_23_sequence), PeepSpriteImage_EntertainerKnight_23_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerKnight_24_sequence), PeepSpriteImage_EntertainerKnight_24_sequence }, + { 11377, countof(PeepSpriteImage_EntertainerKnight_25_sequence), PeepSpriteImage_EntertainerKnight_25_sequence }, + { 12993, countof(PeepSpriteImage_EntertainerKnight_26_sequence), PeepSpriteImage_EntertainerKnight_26_sequence }, + { 7041, countof(PeepSpriteImage_EntertainerKnight_27_sequence), PeepSpriteImage_EntertainerKnight_27_sequence }, + { 7101, countof(PeepSpriteImage_EntertainerKnight_28_sequence), PeepSpriteImage_EntertainerKnight_28_sequence }, + { 11401, countof(PeepSpriteImage_EntertainerKnight_29_sequence), PeepSpriteImage_EntertainerKnight_29_sequence }, + { 12993, countof(PeepSpriteImage_EntertainerKnight_30_sequence), PeepSpriteImage_EntertainerKnight_30_sequence }, + { 7149, countof(PeepSpriteImage_EntertainerKnight_31_sequence), PeepSpriteImage_EntertainerKnight_31_sequence }, + { 7249, countof(PeepSpriteImage_EntertainerKnight_32_sequence), PeepSpriteImage_EntertainerKnight_32_sequence }, + { 7309, countof(PeepSpriteImage_EntertainerKnight_33_sequence), PeepSpriteImage_EntertainerKnight_33_sequence }, + { 7329, countof(PeepSpriteImage_EntertainerKnight_34_sequence), PeepSpriteImage_EntertainerKnight_34_sequence }, + { 7285, countof(PeepSpriteImage_EntertainerKnight_35_sequence), PeepSpriteImage_EntertainerKnight_35_sequence }, + { 7181, countof(PeepSpriteImage_EntertainerKnight_36_sequence), PeepSpriteImage_EntertainerKnight_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_EntertainerAstronaut[] = { - { 13769, countof(PeepSpriteImage_EntertainerAstronaut_00_sequence), PeepSpriteImage_EntertainerAstronaut_00_sequence }, - { 6585, countof(PeepSpriteImage_EntertainerAstronaut_01_sequence), PeepSpriteImage_EntertainerAstronaut_01_sequence }, - { 13765, countof(PeepSpriteImage_EntertainerAstronaut_02_sequence), PeepSpriteImage_EntertainerAstronaut_02_sequence }, - { 13857, countof(PeepSpriteImage_EntertainerAstronaut_03_sequence), PeepSpriteImage_EntertainerAstronaut_03_sequence }, - { 6697, countof(PeepSpriteImage_EntertainerAstronaut_04_sequence), PeepSpriteImage_EntertainerAstronaut_04_sequence }, - { 6757, countof(PeepSpriteImage_EntertainerAstronaut_05_sequence), PeepSpriteImage_EntertainerAstronaut_05_sequence }, - { 6561, countof(PeepSpriteImage_EntertainerAstronaut_06_sequence), PeepSpriteImage_EntertainerAstronaut_06_sequence }, - { 6625, countof(PeepSpriteImage_EntertainerAstronaut_07_sequence), PeepSpriteImage_EntertainerAstronaut_07_sequence }, - { 6629, countof(PeepSpriteImage_EntertainerAstronaut_08_sequence), PeepSpriteImage_EntertainerAstronaut_08_sequence }, - { 6637, countof(PeepSpriteImage_EntertainerAstronaut_09_sequence), PeepSpriteImage_EntertainerAstronaut_09_sequence }, - { 6645, countof(PeepSpriteImage_EntertainerAstronaut_10_sequence), PeepSpriteImage_EntertainerAstronaut_10_sequence }, - { 13845, countof(PeepSpriteImage_EntertainerAstronaut_11_sequence), PeepSpriteImage_EntertainerAstronaut_11_sequence }, - { 11301, countof(PeepSpriteImage_EntertainerAstronaut_12_sequence), PeepSpriteImage_EntertainerAstronaut_12_sequence }, - { 6825, countof(PeepSpriteImage_EntertainerAstronaut_13_sequence), PeepSpriteImage_EntertainerAstronaut_13_sequence }, - { 6845, countof(PeepSpriteImage_EntertainerAstronaut_14_sequence), PeepSpriteImage_EntertainerAstronaut_14_sequence }, - { 6909, countof(PeepSpriteImage_EntertainerAstronaut_15_sequence), PeepSpriteImage_EntertainerAstronaut_15_sequence }, - { 11325, countof(PeepSpriteImage_EntertainerAstronaut_16_sequence), PeepSpriteImage_EntertainerAstronaut_16_sequence }, - { 13793, countof(PeepSpriteImage_EntertainerAstronaut_17_sequence), PeepSpriteImage_EntertainerAstronaut_17_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerAstronaut_18_sequence), PeepSpriteImage_EntertainerAstronaut_18_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerAstronaut_19_sequence), PeepSpriteImage_EntertainerAstronaut_19_sequence }, - { 11597, countof(PeepSpriteImage_EntertainerAstronaut_20_sequence), PeepSpriteImage_EntertainerAstronaut_20_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerAstronaut_21_sequence), PeepSpriteImage_EntertainerAstronaut_21_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerAstronaut_22_sequence), PeepSpriteImage_EntertainerAstronaut_22_sequence }, - { 11801, countof(PeepSpriteImage_EntertainerAstronaut_23_sequence), PeepSpriteImage_EntertainerAstronaut_23_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerAstronaut_24_sequence), PeepSpriteImage_EntertainerAstronaut_24_sequence }, - { 11377, countof(PeepSpriteImage_EntertainerAstronaut_25_sequence), PeepSpriteImage_EntertainerAstronaut_25_sequence }, - { 13857, countof(PeepSpriteImage_EntertainerAstronaut_26_sequence), PeepSpriteImage_EntertainerAstronaut_26_sequence }, - { 7041, countof(PeepSpriteImage_EntertainerAstronaut_27_sequence), PeepSpriteImage_EntertainerAstronaut_27_sequence }, - { 7101, countof(PeepSpriteImage_EntertainerAstronaut_28_sequence), PeepSpriteImage_EntertainerAstronaut_28_sequence }, - { 11401, countof(PeepSpriteImage_EntertainerAstronaut_29_sequence), PeepSpriteImage_EntertainerAstronaut_29_sequence }, - { 13857, countof(PeepSpriteImage_EntertainerAstronaut_30_sequence), PeepSpriteImage_EntertainerAstronaut_30_sequence }, - { 7149, countof(PeepSpriteImage_EntertainerAstronaut_31_sequence), PeepSpriteImage_EntertainerAstronaut_31_sequence }, - { 7249, countof(PeepSpriteImage_EntertainerAstronaut_32_sequence), PeepSpriteImage_EntertainerAstronaut_32_sequence }, - { 7309, countof(PeepSpriteImage_EntertainerAstronaut_33_sequence), PeepSpriteImage_EntertainerAstronaut_33_sequence }, - { 7329, countof(PeepSpriteImage_EntertainerAstronaut_34_sequence), PeepSpriteImage_EntertainerAstronaut_34_sequence }, - { 7285, countof(PeepSpriteImage_EntertainerAstronaut_35_sequence), PeepSpriteImage_EntertainerAstronaut_35_sequence }, - { 7181, countof(PeepSpriteImage_EntertainerAstronaut_36_sequence), PeepSpriteImage_EntertainerAstronaut_36_sequence }, + { 13769, countof(PeepSpriteImage_EntertainerAstronaut_00_sequence), PeepSpriteImage_EntertainerAstronaut_00_sequence }, + { 6585, countof(PeepSpriteImage_EntertainerAstronaut_01_sequence), PeepSpriteImage_EntertainerAstronaut_01_sequence }, + { 13765, countof(PeepSpriteImage_EntertainerAstronaut_02_sequence), PeepSpriteImage_EntertainerAstronaut_02_sequence }, + { 13857, countof(PeepSpriteImage_EntertainerAstronaut_03_sequence), PeepSpriteImage_EntertainerAstronaut_03_sequence }, + { 6697, countof(PeepSpriteImage_EntertainerAstronaut_04_sequence), PeepSpriteImage_EntertainerAstronaut_04_sequence }, + { 6757, countof(PeepSpriteImage_EntertainerAstronaut_05_sequence), PeepSpriteImage_EntertainerAstronaut_05_sequence }, + { 6561, countof(PeepSpriteImage_EntertainerAstronaut_06_sequence), PeepSpriteImage_EntertainerAstronaut_06_sequence }, + { 6625, countof(PeepSpriteImage_EntertainerAstronaut_07_sequence), PeepSpriteImage_EntertainerAstronaut_07_sequence }, + { 6629, countof(PeepSpriteImage_EntertainerAstronaut_08_sequence), PeepSpriteImage_EntertainerAstronaut_08_sequence }, + { 6637, countof(PeepSpriteImage_EntertainerAstronaut_09_sequence), PeepSpriteImage_EntertainerAstronaut_09_sequence }, + { 6645, countof(PeepSpriteImage_EntertainerAstronaut_10_sequence), PeepSpriteImage_EntertainerAstronaut_10_sequence }, + { 13845, countof(PeepSpriteImage_EntertainerAstronaut_11_sequence), PeepSpriteImage_EntertainerAstronaut_11_sequence }, + { 11301, countof(PeepSpriteImage_EntertainerAstronaut_12_sequence), PeepSpriteImage_EntertainerAstronaut_12_sequence }, + { 6825, countof(PeepSpriteImage_EntertainerAstronaut_13_sequence), PeepSpriteImage_EntertainerAstronaut_13_sequence }, + { 6845, countof(PeepSpriteImage_EntertainerAstronaut_14_sequence), PeepSpriteImage_EntertainerAstronaut_14_sequence }, + { 6909, countof(PeepSpriteImage_EntertainerAstronaut_15_sequence), PeepSpriteImage_EntertainerAstronaut_15_sequence }, + { 11325, countof(PeepSpriteImage_EntertainerAstronaut_16_sequence), PeepSpriteImage_EntertainerAstronaut_16_sequence }, + { 13793, countof(PeepSpriteImage_EntertainerAstronaut_17_sequence), PeepSpriteImage_EntertainerAstronaut_17_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerAstronaut_18_sequence), PeepSpriteImage_EntertainerAstronaut_18_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerAstronaut_19_sequence), PeepSpriteImage_EntertainerAstronaut_19_sequence }, + { 11597, countof(PeepSpriteImage_EntertainerAstronaut_20_sequence), PeepSpriteImage_EntertainerAstronaut_20_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerAstronaut_21_sequence), PeepSpriteImage_EntertainerAstronaut_21_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerAstronaut_22_sequence), PeepSpriteImage_EntertainerAstronaut_22_sequence }, + { 11801, countof(PeepSpriteImage_EntertainerAstronaut_23_sequence), PeepSpriteImage_EntertainerAstronaut_23_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerAstronaut_24_sequence), PeepSpriteImage_EntertainerAstronaut_24_sequence }, + { 11377, countof(PeepSpriteImage_EntertainerAstronaut_25_sequence), PeepSpriteImage_EntertainerAstronaut_25_sequence }, + { 13857, countof(PeepSpriteImage_EntertainerAstronaut_26_sequence), PeepSpriteImage_EntertainerAstronaut_26_sequence }, + { 7041, countof(PeepSpriteImage_EntertainerAstronaut_27_sequence), PeepSpriteImage_EntertainerAstronaut_27_sequence }, + { 7101, countof(PeepSpriteImage_EntertainerAstronaut_28_sequence), PeepSpriteImage_EntertainerAstronaut_28_sequence }, + { 11401, countof(PeepSpriteImage_EntertainerAstronaut_29_sequence), PeepSpriteImage_EntertainerAstronaut_29_sequence }, + { 13857, countof(PeepSpriteImage_EntertainerAstronaut_30_sequence), PeepSpriteImage_EntertainerAstronaut_30_sequence }, + { 7149, countof(PeepSpriteImage_EntertainerAstronaut_31_sequence), PeepSpriteImage_EntertainerAstronaut_31_sequence }, + { 7249, countof(PeepSpriteImage_EntertainerAstronaut_32_sequence), PeepSpriteImage_EntertainerAstronaut_32_sequence }, + { 7309, countof(PeepSpriteImage_EntertainerAstronaut_33_sequence), PeepSpriteImage_EntertainerAstronaut_33_sequence }, + { 7329, countof(PeepSpriteImage_EntertainerAstronaut_34_sequence), PeepSpriteImage_EntertainerAstronaut_34_sequence }, + { 7285, countof(PeepSpriteImage_EntertainerAstronaut_35_sequence), PeepSpriteImage_EntertainerAstronaut_35_sequence }, + { 7181, countof(PeepSpriteImage_EntertainerAstronaut_36_sequence), PeepSpriteImage_EntertainerAstronaut_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_EntertainerBandit[] = { - { 13109, countof(PeepSpriteImage_EntertainerBandit_00_sequence), PeepSpriteImage_EntertainerBandit_00_sequence }, - { 6585, countof(PeepSpriteImage_EntertainerBandit_01_sequence), PeepSpriteImage_EntertainerBandit_01_sequence }, - { 13105, countof(PeepSpriteImage_EntertainerBandit_02_sequence), PeepSpriteImage_EntertainerBandit_02_sequence }, - { 13209, countof(PeepSpriteImage_EntertainerBandit_03_sequence), PeepSpriteImage_EntertainerBandit_03_sequence }, - { 6697, countof(PeepSpriteImage_EntertainerBandit_04_sequence), PeepSpriteImage_EntertainerBandit_04_sequence }, - { 6757, countof(PeepSpriteImage_EntertainerBandit_05_sequence), PeepSpriteImage_EntertainerBandit_05_sequence }, - { 6561, countof(PeepSpriteImage_EntertainerBandit_06_sequence), PeepSpriteImage_EntertainerBandit_06_sequence }, - { 6625, countof(PeepSpriteImage_EntertainerBandit_07_sequence), PeepSpriteImage_EntertainerBandit_07_sequence }, - { 6629, countof(PeepSpriteImage_EntertainerBandit_08_sequence), PeepSpriteImage_EntertainerBandit_08_sequence }, - { 6637, countof(PeepSpriteImage_EntertainerBandit_09_sequence), PeepSpriteImage_EntertainerBandit_09_sequence }, - { 6645, countof(PeepSpriteImage_EntertainerBandit_10_sequence), PeepSpriteImage_EntertainerBandit_10_sequence }, - { 13197, countof(PeepSpriteImage_EntertainerBandit_11_sequence), PeepSpriteImage_EntertainerBandit_11_sequence }, - { 11301, countof(PeepSpriteImage_EntertainerBandit_12_sequence), PeepSpriteImage_EntertainerBandit_12_sequence }, - { 6825, countof(PeepSpriteImage_EntertainerBandit_13_sequence), PeepSpriteImage_EntertainerBandit_13_sequence }, - { 6845, countof(PeepSpriteImage_EntertainerBandit_14_sequence), PeepSpriteImage_EntertainerBandit_14_sequence }, - { 6909, countof(PeepSpriteImage_EntertainerBandit_15_sequence), PeepSpriteImage_EntertainerBandit_15_sequence }, - { 11325, countof(PeepSpriteImage_EntertainerBandit_16_sequence), PeepSpriteImage_EntertainerBandit_16_sequence }, - { 13133, countof(PeepSpriteImage_EntertainerBandit_17_sequence), PeepSpriteImage_EntertainerBandit_17_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerBandit_18_sequence), PeepSpriteImage_EntertainerBandit_18_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerBandit_19_sequence), PeepSpriteImage_EntertainerBandit_19_sequence }, - { 11597, countof(PeepSpriteImage_EntertainerBandit_20_sequence), PeepSpriteImage_EntertainerBandit_20_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerBandit_21_sequence), PeepSpriteImage_EntertainerBandit_21_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerBandit_22_sequence), PeepSpriteImage_EntertainerBandit_22_sequence }, - { 11801, countof(PeepSpriteImage_EntertainerBandit_23_sequence), PeepSpriteImage_EntertainerBandit_23_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerBandit_24_sequence), PeepSpriteImage_EntertainerBandit_24_sequence }, - { 11377, countof(PeepSpriteImage_EntertainerBandit_25_sequence), PeepSpriteImage_EntertainerBandit_25_sequence }, - { 13209, countof(PeepSpriteImage_EntertainerBandit_26_sequence), PeepSpriteImage_EntertainerBandit_26_sequence }, - { 7041, countof(PeepSpriteImage_EntertainerBandit_27_sequence), PeepSpriteImage_EntertainerBandit_27_sequence }, - { 7101, countof(PeepSpriteImage_EntertainerBandit_28_sequence), PeepSpriteImage_EntertainerBandit_28_sequence }, - { 11401, countof(PeepSpriteImage_EntertainerBandit_29_sequence), PeepSpriteImage_EntertainerBandit_29_sequence }, - { 13209, countof(PeepSpriteImage_EntertainerBandit_30_sequence), PeepSpriteImage_EntertainerBandit_30_sequence }, - { 7149, countof(PeepSpriteImage_EntertainerBandit_31_sequence), PeepSpriteImage_EntertainerBandit_31_sequence }, - { 7249, countof(PeepSpriteImage_EntertainerBandit_32_sequence), PeepSpriteImage_EntertainerBandit_32_sequence }, - { 7309, countof(PeepSpriteImage_EntertainerBandit_33_sequence), PeepSpriteImage_EntertainerBandit_33_sequence }, - { 7329, countof(PeepSpriteImage_EntertainerBandit_34_sequence), PeepSpriteImage_EntertainerBandit_34_sequence }, - { 7285, countof(PeepSpriteImage_EntertainerBandit_35_sequence), PeepSpriteImage_EntertainerBandit_35_sequence }, - { 7181, countof(PeepSpriteImage_EntertainerBandit_36_sequence), PeepSpriteImage_EntertainerBandit_36_sequence }, + { 13109, countof(PeepSpriteImage_EntertainerBandit_00_sequence), PeepSpriteImage_EntertainerBandit_00_sequence }, + { 6585, countof(PeepSpriteImage_EntertainerBandit_01_sequence), PeepSpriteImage_EntertainerBandit_01_sequence }, + { 13105, countof(PeepSpriteImage_EntertainerBandit_02_sequence), PeepSpriteImage_EntertainerBandit_02_sequence }, + { 13209, countof(PeepSpriteImage_EntertainerBandit_03_sequence), PeepSpriteImage_EntertainerBandit_03_sequence }, + { 6697, countof(PeepSpriteImage_EntertainerBandit_04_sequence), PeepSpriteImage_EntertainerBandit_04_sequence }, + { 6757, countof(PeepSpriteImage_EntertainerBandit_05_sequence), PeepSpriteImage_EntertainerBandit_05_sequence }, + { 6561, countof(PeepSpriteImage_EntertainerBandit_06_sequence), PeepSpriteImage_EntertainerBandit_06_sequence }, + { 6625, countof(PeepSpriteImage_EntertainerBandit_07_sequence), PeepSpriteImage_EntertainerBandit_07_sequence }, + { 6629, countof(PeepSpriteImage_EntertainerBandit_08_sequence), PeepSpriteImage_EntertainerBandit_08_sequence }, + { 6637, countof(PeepSpriteImage_EntertainerBandit_09_sequence), PeepSpriteImage_EntertainerBandit_09_sequence }, + { 6645, countof(PeepSpriteImage_EntertainerBandit_10_sequence), PeepSpriteImage_EntertainerBandit_10_sequence }, + { 13197, countof(PeepSpriteImage_EntertainerBandit_11_sequence), PeepSpriteImage_EntertainerBandit_11_sequence }, + { 11301, countof(PeepSpriteImage_EntertainerBandit_12_sequence), PeepSpriteImage_EntertainerBandit_12_sequence }, + { 6825, countof(PeepSpriteImage_EntertainerBandit_13_sequence), PeepSpriteImage_EntertainerBandit_13_sequence }, + { 6845, countof(PeepSpriteImage_EntertainerBandit_14_sequence), PeepSpriteImage_EntertainerBandit_14_sequence }, + { 6909, countof(PeepSpriteImage_EntertainerBandit_15_sequence), PeepSpriteImage_EntertainerBandit_15_sequence }, + { 11325, countof(PeepSpriteImage_EntertainerBandit_16_sequence), PeepSpriteImage_EntertainerBandit_16_sequence }, + { 13133, countof(PeepSpriteImage_EntertainerBandit_17_sequence), PeepSpriteImage_EntertainerBandit_17_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerBandit_18_sequence), PeepSpriteImage_EntertainerBandit_18_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerBandit_19_sequence), PeepSpriteImage_EntertainerBandit_19_sequence }, + { 11597, countof(PeepSpriteImage_EntertainerBandit_20_sequence), PeepSpriteImage_EntertainerBandit_20_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerBandit_21_sequence), PeepSpriteImage_EntertainerBandit_21_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerBandit_22_sequence), PeepSpriteImage_EntertainerBandit_22_sequence }, + { 11801, countof(PeepSpriteImage_EntertainerBandit_23_sequence), PeepSpriteImage_EntertainerBandit_23_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerBandit_24_sequence), PeepSpriteImage_EntertainerBandit_24_sequence }, + { 11377, countof(PeepSpriteImage_EntertainerBandit_25_sequence), PeepSpriteImage_EntertainerBandit_25_sequence }, + { 13209, countof(PeepSpriteImage_EntertainerBandit_26_sequence), PeepSpriteImage_EntertainerBandit_26_sequence }, + { 7041, countof(PeepSpriteImage_EntertainerBandit_27_sequence), PeepSpriteImage_EntertainerBandit_27_sequence }, + { 7101, countof(PeepSpriteImage_EntertainerBandit_28_sequence), PeepSpriteImage_EntertainerBandit_28_sequence }, + { 11401, countof(PeepSpriteImage_EntertainerBandit_29_sequence), PeepSpriteImage_EntertainerBandit_29_sequence }, + { 13209, countof(PeepSpriteImage_EntertainerBandit_30_sequence), PeepSpriteImage_EntertainerBandit_30_sequence }, + { 7149, countof(PeepSpriteImage_EntertainerBandit_31_sequence), PeepSpriteImage_EntertainerBandit_31_sequence }, + { 7249, countof(PeepSpriteImage_EntertainerBandit_32_sequence), PeepSpriteImage_EntertainerBandit_32_sequence }, + { 7309, countof(PeepSpriteImage_EntertainerBandit_33_sequence), PeepSpriteImage_EntertainerBandit_33_sequence }, + { 7329, countof(PeepSpriteImage_EntertainerBandit_34_sequence), PeepSpriteImage_EntertainerBandit_34_sequence }, + { 7285, countof(PeepSpriteImage_EntertainerBandit_35_sequence), PeepSpriteImage_EntertainerBandit_35_sequence }, + { 7181, countof(PeepSpriteImage_EntertainerBandit_36_sequence), PeepSpriteImage_EntertainerBandit_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_EntertainerSheriff[] = { - { 13613, countof(PeepSpriteImage_EntertainerSheriff_00_sequence), PeepSpriteImage_EntertainerSheriff_00_sequence }, - { 6585, countof(PeepSpriteImage_EntertainerSheriff_01_sequence), PeepSpriteImage_EntertainerSheriff_01_sequence }, - { 13609, countof(PeepSpriteImage_EntertainerSheriff_02_sequence), PeepSpriteImage_EntertainerSheriff_02_sequence }, - { 13713, countof(PeepSpriteImage_EntertainerSheriff_03_sequence), PeepSpriteImage_EntertainerSheriff_03_sequence }, - { 6697, countof(PeepSpriteImage_EntertainerSheriff_04_sequence), PeepSpriteImage_EntertainerSheriff_04_sequence }, - { 6757, countof(PeepSpriteImage_EntertainerSheriff_05_sequence), PeepSpriteImage_EntertainerSheriff_05_sequence }, - { 6561, countof(PeepSpriteImage_EntertainerSheriff_06_sequence), PeepSpriteImage_EntertainerSheriff_06_sequence }, - { 6625, countof(PeepSpriteImage_EntertainerSheriff_07_sequence), PeepSpriteImage_EntertainerSheriff_07_sequence }, - { 6629, countof(PeepSpriteImage_EntertainerSheriff_08_sequence), PeepSpriteImage_EntertainerSheriff_08_sequence }, - { 6637, countof(PeepSpriteImage_EntertainerSheriff_09_sequence), PeepSpriteImage_EntertainerSheriff_09_sequence }, - { 6645, countof(PeepSpriteImage_EntertainerSheriff_10_sequence), PeepSpriteImage_EntertainerSheriff_10_sequence }, - { 13701, countof(PeepSpriteImage_EntertainerSheriff_11_sequence), PeepSpriteImage_EntertainerSheriff_11_sequence }, - { 11301, countof(PeepSpriteImage_EntertainerSheriff_12_sequence), PeepSpriteImage_EntertainerSheriff_12_sequence }, - { 6825, countof(PeepSpriteImage_EntertainerSheriff_13_sequence), PeepSpriteImage_EntertainerSheriff_13_sequence }, - { 6845, countof(PeepSpriteImage_EntertainerSheriff_14_sequence), PeepSpriteImage_EntertainerSheriff_14_sequence }, - { 6909, countof(PeepSpriteImage_EntertainerSheriff_15_sequence), PeepSpriteImage_EntertainerSheriff_15_sequence }, - { 11325, countof(PeepSpriteImage_EntertainerSheriff_16_sequence), PeepSpriteImage_EntertainerSheriff_16_sequence }, - { 13637, countof(PeepSpriteImage_EntertainerSheriff_17_sequence), PeepSpriteImage_EntertainerSheriff_17_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerSheriff_18_sequence), PeepSpriteImage_EntertainerSheriff_18_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerSheriff_19_sequence), PeepSpriteImage_EntertainerSheriff_19_sequence }, - { 11597, countof(PeepSpriteImage_EntertainerSheriff_20_sequence), PeepSpriteImage_EntertainerSheriff_20_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerSheriff_21_sequence), PeepSpriteImage_EntertainerSheriff_21_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerSheriff_22_sequence), PeepSpriteImage_EntertainerSheriff_22_sequence }, - { 11801, countof(PeepSpriteImage_EntertainerSheriff_23_sequence), PeepSpriteImage_EntertainerSheriff_23_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerSheriff_24_sequence), PeepSpriteImage_EntertainerSheriff_24_sequence }, - { 11377, countof(PeepSpriteImage_EntertainerSheriff_25_sequence), PeepSpriteImage_EntertainerSheriff_25_sequence }, - { 13713, countof(PeepSpriteImage_EntertainerSheriff_26_sequence), PeepSpriteImage_EntertainerSheriff_26_sequence }, - { 7041, countof(PeepSpriteImage_EntertainerSheriff_27_sequence), PeepSpriteImage_EntertainerSheriff_27_sequence }, - { 7101, countof(PeepSpriteImage_EntertainerSheriff_28_sequence), PeepSpriteImage_EntertainerSheriff_28_sequence }, - { 11401, countof(PeepSpriteImage_EntertainerSheriff_29_sequence), PeepSpriteImage_EntertainerSheriff_29_sequence }, - { 13713, countof(PeepSpriteImage_EntertainerSheriff_30_sequence), PeepSpriteImage_EntertainerSheriff_30_sequence }, - { 7149, countof(PeepSpriteImage_EntertainerSheriff_31_sequence), PeepSpriteImage_EntertainerSheriff_31_sequence }, - { 7249, countof(PeepSpriteImage_EntertainerSheriff_32_sequence), PeepSpriteImage_EntertainerSheriff_32_sequence }, - { 7309, countof(PeepSpriteImage_EntertainerSheriff_33_sequence), PeepSpriteImage_EntertainerSheriff_33_sequence }, - { 7329, countof(PeepSpriteImage_EntertainerSheriff_34_sequence), PeepSpriteImage_EntertainerSheriff_34_sequence }, - { 7285, countof(PeepSpriteImage_EntertainerSheriff_35_sequence), PeepSpriteImage_EntertainerSheriff_35_sequence }, - { 7181, countof(PeepSpriteImage_EntertainerSheriff_36_sequence), PeepSpriteImage_EntertainerSheriff_36_sequence }, + { 13613, countof(PeepSpriteImage_EntertainerSheriff_00_sequence), PeepSpriteImage_EntertainerSheriff_00_sequence }, + { 6585, countof(PeepSpriteImage_EntertainerSheriff_01_sequence), PeepSpriteImage_EntertainerSheriff_01_sequence }, + { 13609, countof(PeepSpriteImage_EntertainerSheriff_02_sequence), PeepSpriteImage_EntertainerSheriff_02_sequence }, + { 13713, countof(PeepSpriteImage_EntertainerSheriff_03_sequence), PeepSpriteImage_EntertainerSheriff_03_sequence }, + { 6697, countof(PeepSpriteImage_EntertainerSheriff_04_sequence), PeepSpriteImage_EntertainerSheriff_04_sequence }, + { 6757, countof(PeepSpriteImage_EntertainerSheriff_05_sequence), PeepSpriteImage_EntertainerSheriff_05_sequence }, + { 6561, countof(PeepSpriteImage_EntertainerSheriff_06_sequence), PeepSpriteImage_EntertainerSheriff_06_sequence }, + { 6625, countof(PeepSpriteImage_EntertainerSheriff_07_sequence), PeepSpriteImage_EntertainerSheriff_07_sequence }, + { 6629, countof(PeepSpriteImage_EntertainerSheriff_08_sequence), PeepSpriteImage_EntertainerSheriff_08_sequence }, + { 6637, countof(PeepSpriteImage_EntertainerSheriff_09_sequence), PeepSpriteImage_EntertainerSheriff_09_sequence }, + { 6645, countof(PeepSpriteImage_EntertainerSheriff_10_sequence), PeepSpriteImage_EntertainerSheriff_10_sequence }, + { 13701, countof(PeepSpriteImage_EntertainerSheriff_11_sequence), PeepSpriteImage_EntertainerSheriff_11_sequence }, + { 11301, countof(PeepSpriteImage_EntertainerSheriff_12_sequence), PeepSpriteImage_EntertainerSheriff_12_sequence }, + { 6825, countof(PeepSpriteImage_EntertainerSheriff_13_sequence), PeepSpriteImage_EntertainerSheriff_13_sequence }, + { 6845, countof(PeepSpriteImage_EntertainerSheriff_14_sequence), PeepSpriteImage_EntertainerSheriff_14_sequence }, + { 6909, countof(PeepSpriteImage_EntertainerSheriff_15_sequence), PeepSpriteImage_EntertainerSheriff_15_sequence }, + { 11325, countof(PeepSpriteImage_EntertainerSheriff_16_sequence), PeepSpriteImage_EntertainerSheriff_16_sequence }, + { 13637, countof(PeepSpriteImage_EntertainerSheriff_17_sequence), PeepSpriteImage_EntertainerSheriff_17_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerSheriff_18_sequence), PeepSpriteImage_EntertainerSheriff_18_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerSheriff_19_sequence), PeepSpriteImage_EntertainerSheriff_19_sequence }, + { 11597, countof(PeepSpriteImage_EntertainerSheriff_20_sequence), PeepSpriteImage_EntertainerSheriff_20_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerSheriff_21_sequence), PeepSpriteImage_EntertainerSheriff_21_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerSheriff_22_sequence), PeepSpriteImage_EntertainerSheriff_22_sequence }, + { 11801, countof(PeepSpriteImage_EntertainerSheriff_23_sequence), PeepSpriteImage_EntertainerSheriff_23_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerSheriff_24_sequence), PeepSpriteImage_EntertainerSheriff_24_sequence }, + { 11377, countof(PeepSpriteImage_EntertainerSheriff_25_sequence), PeepSpriteImage_EntertainerSheriff_25_sequence }, + { 13713, countof(PeepSpriteImage_EntertainerSheriff_26_sequence), PeepSpriteImage_EntertainerSheriff_26_sequence }, + { 7041, countof(PeepSpriteImage_EntertainerSheriff_27_sequence), PeepSpriteImage_EntertainerSheriff_27_sequence }, + { 7101, countof(PeepSpriteImage_EntertainerSheriff_28_sequence), PeepSpriteImage_EntertainerSheriff_28_sequence }, + { 11401, countof(PeepSpriteImage_EntertainerSheriff_29_sequence), PeepSpriteImage_EntertainerSheriff_29_sequence }, + { 13713, countof(PeepSpriteImage_EntertainerSheriff_30_sequence), PeepSpriteImage_EntertainerSheriff_30_sequence }, + { 7149, countof(PeepSpriteImage_EntertainerSheriff_31_sequence), PeepSpriteImage_EntertainerSheriff_31_sequence }, + { 7249, countof(PeepSpriteImage_EntertainerSheriff_32_sequence), PeepSpriteImage_EntertainerSheriff_32_sequence }, + { 7309, countof(PeepSpriteImage_EntertainerSheriff_33_sequence), PeepSpriteImage_EntertainerSheriff_33_sequence }, + { 7329, countof(PeepSpriteImage_EntertainerSheriff_34_sequence), PeepSpriteImage_EntertainerSheriff_34_sequence }, + { 7285, countof(PeepSpriteImage_EntertainerSheriff_35_sequence), PeepSpriteImage_EntertainerSheriff_35_sequence }, + { 7181, countof(PeepSpriteImage_EntertainerSheriff_36_sequence), PeepSpriteImage_EntertainerSheriff_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_EntertainerPirate[] = { - { 13381, countof(PeepSpriteImage_EntertainerPirate_00_sequence), PeepSpriteImage_EntertainerPirate_00_sequence }, - { 6585, countof(PeepSpriteImage_EntertainerPirate_01_sequence), PeepSpriteImage_EntertainerPirate_01_sequence }, - { 13377, countof(PeepSpriteImage_EntertainerPirate_02_sequence), PeepSpriteImage_EntertainerPirate_02_sequence }, - { 13481, countof(PeepSpriteImage_EntertainerPirate_03_sequence), PeepSpriteImage_EntertainerPirate_03_sequence }, - { 6697, countof(PeepSpriteImage_EntertainerPirate_04_sequence), PeepSpriteImage_EntertainerPirate_04_sequence }, - { 6757, countof(PeepSpriteImage_EntertainerPirate_05_sequence), PeepSpriteImage_EntertainerPirate_05_sequence }, - { 6561, countof(PeepSpriteImage_EntertainerPirate_06_sequence), PeepSpriteImage_EntertainerPirate_06_sequence }, - { 6625, countof(PeepSpriteImage_EntertainerPirate_07_sequence), PeepSpriteImage_EntertainerPirate_07_sequence }, - { 6629, countof(PeepSpriteImage_EntertainerPirate_08_sequence), PeepSpriteImage_EntertainerPirate_08_sequence }, - { 6637, countof(PeepSpriteImage_EntertainerPirate_09_sequence), PeepSpriteImage_EntertainerPirate_09_sequence }, - { 6645, countof(PeepSpriteImage_EntertainerPirate_10_sequence), PeepSpriteImage_EntertainerPirate_10_sequence }, - { 13469, countof(PeepSpriteImage_EntertainerPirate_11_sequence), PeepSpriteImage_EntertainerPirate_11_sequence }, - { 11301, countof(PeepSpriteImage_EntertainerPirate_12_sequence), PeepSpriteImage_EntertainerPirate_12_sequence }, - { 6825, countof(PeepSpriteImage_EntertainerPirate_13_sequence), PeepSpriteImage_EntertainerPirate_13_sequence }, - { 6845, countof(PeepSpriteImage_EntertainerPirate_14_sequence), PeepSpriteImage_EntertainerPirate_14_sequence }, - { 6909, countof(PeepSpriteImage_EntertainerPirate_15_sequence), PeepSpriteImage_EntertainerPirate_15_sequence }, - { 11325, countof(PeepSpriteImage_EntertainerPirate_16_sequence), PeepSpriteImage_EntertainerPirate_16_sequence }, - { 13405, countof(PeepSpriteImage_EntertainerPirate_17_sequence), PeepSpriteImage_EntertainerPirate_17_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerPirate_18_sequence), PeepSpriteImage_EntertainerPirate_18_sequence }, - { 11513, countof(PeepSpriteImage_EntertainerPirate_19_sequence), PeepSpriteImage_EntertainerPirate_19_sequence }, - { 11597, countof(PeepSpriteImage_EntertainerPirate_20_sequence), PeepSpriteImage_EntertainerPirate_20_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerPirate_21_sequence), PeepSpriteImage_EntertainerPirate_21_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerPirate_22_sequence), PeepSpriteImage_EntertainerPirate_22_sequence }, - { 11801, countof(PeepSpriteImage_EntertainerPirate_23_sequence), PeepSpriteImage_EntertainerPirate_23_sequence }, - { 11669, countof(PeepSpriteImage_EntertainerPirate_24_sequence), PeepSpriteImage_EntertainerPirate_24_sequence }, - { 11377, countof(PeepSpriteImage_EntertainerPirate_25_sequence), PeepSpriteImage_EntertainerPirate_25_sequence }, - { 13481, countof(PeepSpriteImage_EntertainerPirate_26_sequence), PeepSpriteImage_EntertainerPirate_26_sequence }, - { 7041, countof(PeepSpriteImage_EntertainerPirate_27_sequence), PeepSpriteImage_EntertainerPirate_27_sequence }, - { 7101, countof(PeepSpriteImage_EntertainerPirate_28_sequence), PeepSpriteImage_EntertainerPirate_28_sequence }, - { 11401, countof(PeepSpriteImage_EntertainerPirate_29_sequence), PeepSpriteImage_EntertainerPirate_29_sequence }, - { 13481, countof(PeepSpriteImage_EntertainerPirate_30_sequence), PeepSpriteImage_EntertainerPirate_30_sequence }, - { 7149, countof(PeepSpriteImage_EntertainerPirate_31_sequence), PeepSpriteImage_EntertainerPirate_31_sequence }, - { 7249, countof(PeepSpriteImage_EntertainerPirate_32_sequence), PeepSpriteImage_EntertainerPirate_32_sequence }, - { 7309, countof(PeepSpriteImage_EntertainerPirate_33_sequence), PeepSpriteImage_EntertainerPirate_33_sequence }, - { 7329, countof(PeepSpriteImage_EntertainerPirate_34_sequence), PeepSpriteImage_EntertainerPirate_34_sequence }, - { 7285, countof(PeepSpriteImage_EntertainerPirate_35_sequence), PeepSpriteImage_EntertainerPirate_35_sequence }, - { 7181, countof(PeepSpriteImage_EntertainerPirate_36_sequence), PeepSpriteImage_EntertainerPirate_36_sequence }, + { 13381, countof(PeepSpriteImage_EntertainerPirate_00_sequence), PeepSpriteImage_EntertainerPirate_00_sequence }, + { 6585, countof(PeepSpriteImage_EntertainerPirate_01_sequence), PeepSpriteImage_EntertainerPirate_01_sequence }, + { 13377, countof(PeepSpriteImage_EntertainerPirate_02_sequence), PeepSpriteImage_EntertainerPirate_02_sequence }, + { 13481, countof(PeepSpriteImage_EntertainerPirate_03_sequence), PeepSpriteImage_EntertainerPirate_03_sequence }, + { 6697, countof(PeepSpriteImage_EntertainerPirate_04_sequence), PeepSpriteImage_EntertainerPirate_04_sequence }, + { 6757, countof(PeepSpriteImage_EntertainerPirate_05_sequence), PeepSpriteImage_EntertainerPirate_05_sequence }, + { 6561, countof(PeepSpriteImage_EntertainerPirate_06_sequence), PeepSpriteImage_EntertainerPirate_06_sequence }, + { 6625, countof(PeepSpriteImage_EntertainerPirate_07_sequence), PeepSpriteImage_EntertainerPirate_07_sequence }, + { 6629, countof(PeepSpriteImage_EntertainerPirate_08_sequence), PeepSpriteImage_EntertainerPirate_08_sequence }, + { 6637, countof(PeepSpriteImage_EntertainerPirate_09_sequence), PeepSpriteImage_EntertainerPirate_09_sequence }, + { 6645, countof(PeepSpriteImage_EntertainerPirate_10_sequence), PeepSpriteImage_EntertainerPirate_10_sequence }, + { 13469, countof(PeepSpriteImage_EntertainerPirate_11_sequence), PeepSpriteImage_EntertainerPirate_11_sequence }, + { 11301, countof(PeepSpriteImage_EntertainerPirate_12_sequence), PeepSpriteImage_EntertainerPirate_12_sequence }, + { 6825, countof(PeepSpriteImage_EntertainerPirate_13_sequence), PeepSpriteImage_EntertainerPirate_13_sequence }, + { 6845, countof(PeepSpriteImage_EntertainerPirate_14_sequence), PeepSpriteImage_EntertainerPirate_14_sequence }, + { 6909, countof(PeepSpriteImage_EntertainerPirate_15_sequence), PeepSpriteImage_EntertainerPirate_15_sequence }, + { 11325, countof(PeepSpriteImage_EntertainerPirate_16_sequence), PeepSpriteImage_EntertainerPirate_16_sequence }, + { 13405, countof(PeepSpriteImage_EntertainerPirate_17_sequence), PeepSpriteImage_EntertainerPirate_17_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerPirate_18_sequence), PeepSpriteImage_EntertainerPirate_18_sequence }, + { 11513, countof(PeepSpriteImage_EntertainerPirate_19_sequence), PeepSpriteImage_EntertainerPirate_19_sequence }, + { 11597, countof(PeepSpriteImage_EntertainerPirate_20_sequence), PeepSpriteImage_EntertainerPirate_20_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerPirate_21_sequence), PeepSpriteImage_EntertainerPirate_21_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerPirate_22_sequence), PeepSpriteImage_EntertainerPirate_22_sequence }, + { 11801, countof(PeepSpriteImage_EntertainerPirate_23_sequence), PeepSpriteImage_EntertainerPirate_23_sequence }, + { 11669, countof(PeepSpriteImage_EntertainerPirate_24_sequence), PeepSpriteImage_EntertainerPirate_24_sequence }, + { 11377, countof(PeepSpriteImage_EntertainerPirate_25_sequence), PeepSpriteImage_EntertainerPirate_25_sequence }, + { 13481, countof(PeepSpriteImage_EntertainerPirate_26_sequence), PeepSpriteImage_EntertainerPirate_26_sequence }, + { 7041, countof(PeepSpriteImage_EntertainerPirate_27_sequence), PeepSpriteImage_EntertainerPirate_27_sequence }, + { 7101, countof(PeepSpriteImage_EntertainerPirate_28_sequence), PeepSpriteImage_EntertainerPirate_28_sequence }, + { 11401, countof(PeepSpriteImage_EntertainerPirate_29_sequence), PeepSpriteImage_EntertainerPirate_29_sequence }, + { 13481, countof(PeepSpriteImage_EntertainerPirate_30_sequence), PeepSpriteImage_EntertainerPirate_30_sequence }, + { 7149, countof(PeepSpriteImage_EntertainerPirate_31_sequence), PeepSpriteImage_EntertainerPirate_31_sequence }, + { 7249, countof(PeepSpriteImage_EntertainerPirate_32_sequence), PeepSpriteImage_EntertainerPirate_32_sequence }, + { 7309, countof(PeepSpriteImage_EntertainerPirate_33_sequence), PeepSpriteImage_EntertainerPirate_33_sequence }, + { 7329, countof(PeepSpriteImage_EntertainerPirate_34_sequence), PeepSpriteImage_EntertainerPirate_34_sequence }, + { 7285, countof(PeepSpriteImage_EntertainerPirate_35_sequence), PeepSpriteImage_EntertainerPirate_35_sequence }, + { 7181, countof(PeepSpriteImage_EntertainerPirate_36_sequence), PeepSpriteImage_EntertainerPirate_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_IceCream[] = { - { 7505, countof(PeepSpriteImage_IceCream_00_sequence), PeepSpriteImage_IceCream_00_sequence }, - { 6585, countof(PeepSpriteImage_IceCream_01_sequence), PeepSpriteImage_IceCream_01_sequence }, - { 7501, countof(PeepSpriteImage_IceCream_02_sequence), PeepSpriteImage_IceCream_02_sequence }, - { 7581, countof(PeepSpriteImage_IceCream_03_sequence), PeepSpriteImage_IceCream_03_sequence }, - { 6697, countof(PeepSpriteImage_IceCream_04_sequence), PeepSpriteImage_IceCream_04_sequence }, - { 6757, countof(PeepSpriteImage_IceCream_05_sequence), PeepSpriteImage_IceCream_05_sequence }, - { 6561, countof(PeepSpriteImage_IceCream_06_sequence), PeepSpriteImage_IceCream_06_sequence }, - { 7553, countof(PeepSpriteImage_IceCream_07_sequence), PeepSpriteImage_IceCream_07_sequence }, - { 7557, countof(PeepSpriteImage_IceCream_08_sequence), PeepSpriteImage_IceCream_08_sequence }, - { 6637, countof(PeepSpriteImage_IceCream_09_sequence), PeepSpriteImage_IceCream_09_sequence }, - { 6645, countof(PeepSpriteImage_IceCream_10_sequence), PeepSpriteImage_IceCream_10_sequence }, - { 6813, countof(PeepSpriteImage_IceCream_11_sequence), PeepSpriteImage_IceCream_11_sequence }, - { 11301, countof(PeepSpriteImage_IceCream_12_sequence), PeepSpriteImage_IceCream_12_sequence }, - { 6825, countof(PeepSpriteImage_IceCream_13_sequence), PeepSpriteImage_IceCream_13_sequence }, - { 6845, countof(PeepSpriteImage_IceCream_14_sequence), PeepSpriteImage_IceCream_14_sequence }, - { 6909, countof(PeepSpriteImage_IceCream_15_sequence), PeepSpriteImage_IceCream_15_sequence }, - { 11325, countof(PeepSpriteImage_IceCream_16_sequence), PeepSpriteImage_IceCream_16_sequence }, - { 6957, countof(PeepSpriteImage_IceCream_17_sequence), PeepSpriteImage_IceCream_17_sequence }, - { 11513, countof(PeepSpriteImage_IceCream_18_sequence), PeepSpriteImage_IceCream_18_sequence }, - { 11513, countof(PeepSpriteImage_IceCream_19_sequence), PeepSpriteImage_IceCream_19_sequence }, - { 11597, countof(PeepSpriteImage_IceCream_20_sequence), PeepSpriteImage_IceCream_20_sequence }, - { 11669, countof(PeepSpriteImage_IceCream_21_sequence), PeepSpriteImage_IceCream_21_sequence }, - { 11669, countof(PeepSpriteImage_IceCream_22_sequence), PeepSpriteImage_IceCream_22_sequence }, - { 11801, countof(PeepSpriteImage_IceCream_23_sequence), PeepSpriteImage_IceCream_23_sequence }, - { 11669, countof(PeepSpriteImage_IceCream_24_sequence), PeepSpriteImage_IceCream_24_sequence }, - { 11377, countof(PeepSpriteImage_IceCream_25_sequence), PeepSpriteImage_IceCream_25_sequence }, - { 6989, countof(PeepSpriteImage_IceCream_26_sequence), PeepSpriteImage_IceCream_26_sequence }, - { 7041, countof(PeepSpriteImage_IceCream_27_sequence), PeepSpriteImage_IceCream_27_sequence }, - { 7101, countof(PeepSpriteImage_IceCream_28_sequence), PeepSpriteImage_IceCream_28_sequence }, - { 11401, countof(PeepSpriteImage_IceCream_29_sequence), PeepSpriteImage_IceCream_29_sequence }, - { 7121, countof(PeepSpriteImage_IceCream_30_sequence), PeepSpriteImage_IceCream_30_sequence }, - { 7149, countof(PeepSpriteImage_IceCream_31_sequence), PeepSpriteImage_IceCream_31_sequence }, - { 7249, countof(PeepSpriteImage_IceCream_32_sequence), PeepSpriteImage_IceCream_32_sequence }, - { 7309, countof(PeepSpriteImage_IceCream_33_sequence), PeepSpriteImage_IceCream_33_sequence }, - { 7329, countof(PeepSpriteImage_IceCream_34_sequence), PeepSpriteImage_IceCream_34_sequence }, - { 7285, countof(PeepSpriteImage_IceCream_35_sequence), PeepSpriteImage_IceCream_35_sequence }, - { 7181, countof(PeepSpriteImage_IceCream_36_sequence), PeepSpriteImage_IceCream_36_sequence }, + { 7505, countof(PeepSpriteImage_IceCream_00_sequence), PeepSpriteImage_IceCream_00_sequence }, + { 6585, countof(PeepSpriteImage_IceCream_01_sequence), PeepSpriteImage_IceCream_01_sequence }, + { 7501, countof(PeepSpriteImage_IceCream_02_sequence), PeepSpriteImage_IceCream_02_sequence }, + { 7581, countof(PeepSpriteImage_IceCream_03_sequence), PeepSpriteImage_IceCream_03_sequence }, + { 6697, countof(PeepSpriteImage_IceCream_04_sequence), PeepSpriteImage_IceCream_04_sequence }, + { 6757, countof(PeepSpriteImage_IceCream_05_sequence), PeepSpriteImage_IceCream_05_sequence }, + { 6561, countof(PeepSpriteImage_IceCream_06_sequence), PeepSpriteImage_IceCream_06_sequence }, + { 7553, countof(PeepSpriteImage_IceCream_07_sequence), PeepSpriteImage_IceCream_07_sequence }, + { 7557, countof(PeepSpriteImage_IceCream_08_sequence), PeepSpriteImage_IceCream_08_sequence }, + { 6637, countof(PeepSpriteImage_IceCream_09_sequence), PeepSpriteImage_IceCream_09_sequence }, + { 6645, countof(PeepSpriteImage_IceCream_10_sequence), PeepSpriteImage_IceCream_10_sequence }, + { 6813, countof(PeepSpriteImage_IceCream_11_sequence), PeepSpriteImage_IceCream_11_sequence }, + { 11301, countof(PeepSpriteImage_IceCream_12_sequence), PeepSpriteImage_IceCream_12_sequence }, + { 6825, countof(PeepSpriteImage_IceCream_13_sequence), PeepSpriteImage_IceCream_13_sequence }, + { 6845, countof(PeepSpriteImage_IceCream_14_sequence), PeepSpriteImage_IceCream_14_sequence }, + { 6909, countof(PeepSpriteImage_IceCream_15_sequence), PeepSpriteImage_IceCream_15_sequence }, + { 11325, countof(PeepSpriteImage_IceCream_16_sequence), PeepSpriteImage_IceCream_16_sequence }, + { 6957, countof(PeepSpriteImage_IceCream_17_sequence), PeepSpriteImage_IceCream_17_sequence }, + { 11513, countof(PeepSpriteImage_IceCream_18_sequence), PeepSpriteImage_IceCream_18_sequence }, + { 11513, countof(PeepSpriteImage_IceCream_19_sequence), PeepSpriteImage_IceCream_19_sequence }, + { 11597, countof(PeepSpriteImage_IceCream_20_sequence), PeepSpriteImage_IceCream_20_sequence }, + { 11669, countof(PeepSpriteImage_IceCream_21_sequence), PeepSpriteImage_IceCream_21_sequence }, + { 11669, countof(PeepSpriteImage_IceCream_22_sequence), PeepSpriteImage_IceCream_22_sequence }, + { 11801, countof(PeepSpriteImage_IceCream_23_sequence), PeepSpriteImage_IceCream_23_sequence }, + { 11669, countof(PeepSpriteImage_IceCream_24_sequence), PeepSpriteImage_IceCream_24_sequence }, + { 11377, countof(PeepSpriteImage_IceCream_25_sequence), PeepSpriteImage_IceCream_25_sequence }, + { 6989, countof(PeepSpriteImage_IceCream_26_sequence), PeepSpriteImage_IceCream_26_sequence }, + { 7041, countof(PeepSpriteImage_IceCream_27_sequence), PeepSpriteImage_IceCream_27_sequence }, + { 7101, countof(PeepSpriteImage_IceCream_28_sequence), PeepSpriteImage_IceCream_28_sequence }, + { 11401, countof(PeepSpriteImage_IceCream_29_sequence), PeepSpriteImage_IceCream_29_sequence }, + { 7121, countof(PeepSpriteImage_IceCream_30_sequence), PeepSpriteImage_IceCream_30_sequence }, + { 7149, countof(PeepSpriteImage_IceCream_31_sequence), PeepSpriteImage_IceCream_31_sequence }, + { 7249, countof(PeepSpriteImage_IceCream_32_sequence), PeepSpriteImage_IceCream_32_sequence }, + { 7309, countof(PeepSpriteImage_IceCream_33_sequence), PeepSpriteImage_IceCream_33_sequence }, + { 7329, countof(PeepSpriteImage_IceCream_34_sequence), PeepSpriteImage_IceCream_34_sequence }, + { 7285, countof(PeepSpriteImage_IceCream_35_sequence), PeepSpriteImage_IceCream_35_sequence }, + { 7181, countof(PeepSpriteImage_IceCream_36_sequence), PeepSpriteImage_IceCream_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Chips[] = { - { 7609, countof(PeepSpriteImage_Chips_00_sequence), PeepSpriteImage_Chips_00_sequence }, - { 6585, countof(PeepSpriteImage_Chips_01_sequence), PeepSpriteImage_Chips_01_sequence }, - { 7605, countof(PeepSpriteImage_Chips_02_sequence), PeepSpriteImage_Chips_02_sequence }, - { 7733, countof(PeepSpriteImage_Chips_03_sequence), PeepSpriteImage_Chips_03_sequence }, - { 6697, countof(PeepSpriteImage_Chips_04_sequence), PeepSpriteImage_Chips_04_sequence }, - { 6757, countof(PeepSpriteImage_Chips_05_sequence), PeepSpriteImage_Chips_05_sequence }, - { 6561, countof(PeepSpriteImage_Chips_06_sequence), PeepSpriteImage_Chips_06_sequence }, - { 7681, countof(PeepSpriteImage_Chips_07_sequence), PeepSpriteImage_Chips_07_sequence }, - { 7685, countof(PeepSpriteImage_Chips_08_sequence), PeepSpriteImage_Chips_08_sequence }, - { 6637, countof(PeepSpriteImage_Chips_09_sequence), PeepSpriteImage_Chips_09_sequence }, - { 6645, countof(PeepSpriteImage_Chips_10_sequence), PeepSpriteImage_Chips_10_sequence }, - { 6813, countof(PeepSpriteImage_Chips_11_sequence), PeepSpriteImage_Chips_11_sequence }, - { 11301, countof(PeepSpriteImage_Chips_12_sequence), PeepSpriteImage_Chips_12_sequence }, - { 6825, countof(PeepSpriteImage_Chips_13_sequence), PeepSpriteImage_Chips_13_sequence }, - { 6845, countof(PeepSpriteImage_Chips_14_sequence), PeepSpriteImage_Chips_14_sequence }, - { 6909, countof(PeepSpriteImage_Chips_15_sequence), PeepSpriteImage_Chips_15_sequence }, - { 11325, countof(PeepSpriteImage_Chips_16_sequence), PeepSpriteImage_Chips_16_sequence }, - { 6957, countof(PeepSpriteImage_Chips_17_sequence), PeepSpriteImage_Chips_17_sequence }, - { 11513, countof(PeepSpriteImage_Chips_18_sequence), PeepSpriteImage_Chips_18_sequence }, - { 11513, countof(PeepSpriteImage_Chips_19_sequence), PeepSpriteImage_Chips_19_sequence }, - { 11597, countof(PeepSpriteImage_Chips_20_sequence), PeepSpriteImage_Chips_20_sequence }, - { 11669, countof(PeepSpriteImage_Chips_21_sequence), PeepSpriteImage_Chips_21_sequence }, - { 11669, countof(PeepSpriteImage_Chips_22_sequence), PeepSpriteImage_Chips_22_sequence }, - { 11801, countof(PeepSpriteImage_Chips_23_sequence), PeepSpriteImage_Chips_23_sequence }, - { 11669, countof(PeepSpriteImage_Chips_24_sequence), PeepSpriteImage_Chips_24_sequence }, - { 11377, countof(PeepSpriteImage_Chips_25_sequence), PeepSpriteImage_Chips_25_sequence }, - { 6989, countof(PeepSpriteImage_Chips_26_sequence), PeepSpriteImage_Chips_26_sequence }, - { 7041, countof(PeepSpriteImage_Chips_27_sequence), PeepSpriteImage_Chips_27_sequence }, - { 7101, countof(PeepSpriteImage_Chips_28_sequence), PeepSpriteImage_Chips_28_sequence }, - { 11401, countof(PeepSpriteImage_Chips_29_sequence), PeepSpriteImage_Chips_29_sequence }, - { 7121, countof(PeepSpriteImage_Chips_30_sequence), PeepSpriteImage_Chips_30_sequence }, - { 7149, countof(PeepSpriteImage_Chips_31_sequence), PeepSpriteImage_Chips_31_sequence }, - { 7249, countof(PeepSpriteImage_Chips_32_sequence), PeepSpriteImage_Chips_32_sequence }, - { 7309, countof(PeepSpriteImage_Chips_33_sequence), PeepSpriteImage_Chips_33_sequence }, - { 7329, countof(PeepSpriteImage_Chips_34_sequence), PeepSpriteImage_Chips_34_sequence }, - { 7285, countof(PeepSpriteImage_Chips_35_sequence), PeepSpriteImage_Chips_35_sequence }, - { 7181, countof(PeepSpriteImage_Chips_36_sequence), PeepSpriteImage_Chips_36_sequence }, + { 7609, countof(PeepSpriteImage_Chips_00_sequence), PeepSpriteImage_Chips_00_sequence }, + { 6585, countof(PeepSpriteImage_Chips_01_sequence), PeepSpriteImage_Chips_01_sequence }, + { 7605, countof(PeepSpriteImage_Chips_02_sequence), PeepSpriteImage_Chips_02_sequence }, + { 7733, countof(PeepSpriteImage_Chips_03_sequence), PeepSpriteImage_Chips_03_sequence }, + { 6697, countof(PeepSpriteImage_Chips_04_sequence), PeepSpriteImage_Chips_04_sequence }, + { 6757, countof(PeepSpriteImage_Chips_05_sequence), PeepSpriteImage_Chips_05_sequence }, + { 6561, countof(PeepSpriteImage_Chips_06_sequence), PeepSpriteImage_Chips_06_sequence }, + { 7681, countof(PeepSpriteImage_Chips_07_sequence), PeepSpriteImage_Chips_07_sequence }, + { 7685, countof(PeepSpriteImage_Chips_08_sequence), PeepSpriteImage_Chips_08_sequence }, + { 6637, countof(PeepSpriteImage_Chips_09_sequence), PeepSpriteImage_Chips_09_sequence }, + { 6645, countof(PeepSpriteImage_Chips_10_sequence), PeepSpriteImage_Chips_10_sequence }, + { 6813, countof(PeepSpriteImage_Chips_11_sequence), PeepSpriteImage_Chips_11_sequence }, + { 11301, countof(PeepSpriteImage_Chips_12_sequence), PeepSpriteImage_Chips_12_sequence }, + { 6825, countof(PeepSpriteImage_Chips_13_sequence), PeepSpriteImage_Chips_13_sequence }, + { 6845, countof(PeepSpriteImage_Chips_14_sequence), PeepSpriteImage_Chips_14_sequence }, + { 6909, countof(PeepSpriteImage_Chips_15_sequence), PeepSpriteImage_Chips_15_sequence }, + { 11325, countof(PeepSpriteImage_Chips_16_sequence), PeepSpriteImage_Chips_16_sequence }, + { 6957, countof(PeepSpriteImage_Chips_17_sequence), PeepSpriteImage_Chips_17_sequence }, + { 11513, countof(PeepSpriteImage_Chips_18_sequence), PeepSpriteImage_Chips_18_sequence }, + { 11513, countof(PeepSpriteImage_Chips_19_sequence), PeepSpriteImage_Chips_19_sequence }, + { 11597, countof(PeepSpriteImage_Chips_20_sequence), PeepSpriteImage_Chips_20_sequence }, + { 11669, countof(PeepSpriteImage_Chips_21_sequence), PeepSpriteImage_Chips_21_sequence }, + { 11669, countof(PeepSpriteImage_Chips_22_sequence), PeepSpriteImage_Chips_22_sequence }, + { 11801, countof(PeepSpriteImage_Chips_23_sequence), PeepSpriteImage_Chips_23_sequence }, + { 11669, countof(PeepSpriteImage_Chips_24_sequence), PeepSpriteImage_Chips_24_sequence }, + { 11377, countof(PeepSpriteImage_Chips_25_sequence), PeepSpriteImage_Chips_25_sequence }, + { 6989, countof(PeepSpriteImage_Chips_26_sequence), PeepSpriteImage_Chips_26_sequence }, + { 7041, countof(PeepSpriteImage_Chips_27_sequence), PeepSpriteImage_Chips_27_sequence }, + { 7101, countof(PeepSpriteImage_Chips_28_sequence), PeepSpriteImage_Chips_28_sequence }, + { 11401, countof(PeepSpriteImage_Chips_29_sequence), PeepSpriteImage_Chips_29_sequence }, + { 7121, countof(PeepSpriteImage_Chips_30_sequence), PeepSpriteImage_Chips_30_sequence }, + { 7149, countof(PeepSpriteImage_Chips_31_sequence), PeepSpriteImage_Chips_31_sequence }, + { 7249, countof(PeepSpriteImage_Chips_32_sequence), PeepSpriteImage_Chips_32_sequence }, + { 7309, countof(PeepSpriteImage_Chips_33_sequence), PeepSpriteImage_Chips_33_sequence }, + { 7329, countof(PeepSpriteImage_Chips_34_sequence), PeepSpriteImage_Chips_34_sequence }, + { 7285, countof(PeepSpriteImage_Chips_35_sequence), PeepSpriteImage_Chips_35_sequence }, + { 7181, countof(PeepSpriteImage_Chips_36_sequence), PeepSpriteImage_Chips_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Burger[] = { - { 8385, countof(PeepSpriteImage_Burger_00_sequence), PeepSpriteImage_Burger_00_sequence }, - { 6585, countof(PeepSpriteImage_Burger_01_sequence), PeepSpriteImage_Burger_01_sequence }, - { 8381, countof(PeepSpriteImage_Burger_02_sequence), PeepSpriteImage_Burger_02_sequence }, - { 8509, countof(PeepSpriteImage_Burger_03_sequence), PeepSpriteImage_Burger_03_sequence }, - { 6697, countof(PeepSpriteImage_Burger_04_sequence), PeepSpriteImage_Burger_04_sequence }, - { 6757, countof(PeepSpriteImage_Burger_05_sequence), PeepSpriteImage_Burger_05_sequence }, - { 6561, countof(PeepSpriteImage_Burger_06_sequence), PeepSpriteImage_Burger_06_sequence }, - { 8457, countof(PeepSpriteImage_Burger_07_sequence), PeepSpriteImage_Burger_07_sequence }, - { 8461, countof(PeepSpriteImage_Burger_08_sequence), PeepSpriteImage_Burger_08_sequence }, - { 6637, countof(PeepSpriteImage_Burger_09_sequence), PeepSpriteImage_Burger_09_sequence }, - { 6645, countof(PeepSpriteImage_Burger_10_sequence), PeepSpriteImage_Burger_10_sequence }, - { 6813, countof(PeepSpriteImage_Burger_11_sequence), PeepSpriteImage_Burger_11_sequence }, - { 11301, countof(PeepSpriteImage_Burger_12_sequence), PeepSpriteImage_Burger_12_sequence }, - { 6825, countof(PeepSpriteImage_Burger_13_sequence), PeepSpriteImage_Burger_13_sequence }, - { 6845, countof(PeepSpriteImage_Burger_14_sequence), PeepSpriteImage_Burger_14_sequence }, - { 6909, countof(PeepSpriteImage_Burger_15_sequence), PeepSpriteImage_Burger_15_sequence }, - { 11325, countof(PeepSpriteImage_Burger_16_sequence), PeepSpriteImage_Burger_16_sequence }, - { 6957, countof(PeepSpriteImage_Burger_17_sequence), PeepSpriteImage_Burger_17_sequence }, - { 11513, countof(PeepSpriteImage_Burger_18_sequence), PeepSpriteImage_Burger_18_sequence }, - { 11513, countof(PeepSpriteImage_Burger_19_sequence), PeepSpriteImage_Burger_19_sequence }, - { 11597, countof(PeepSpriteImage_Burger_20_sequence), PeepSpriteImage_Burger_20_sequence }, - { 11669, countof(PeepSpriteImage_Burger_21_sequence), PeepSpriteImage_Burger_21_sequence }, - { 11669, countof(PeepSpriteImage_Burger_22_sequence), PeepSpriteImage_Burger_22_sequence }, - { 11801, countof(PeepSpriteImage_Burger_23_sequence), PeepSpriteImage_Burger_23_sequence }, - { 11669, countof(PeepSpriteImage_Burger_24_sequence), PeepSpriteImage_Burger_24_sequence }, - { 11377, countof(PeepSpriteImage_Burger_25_sequence), PeepSpriteImage_Burger_25_sequence }, - { 6989, countof(PeepSpriteImage_Burger_26_sequence), PeepSpriteImage_Burger_26_sequence }, - { 7041, countof(PeepSpriteImage_Burger_27_sequence), PeepSpriteImage_Burger_27_sequence }, - { 7101, countof(PeepSpriteImage_Burger_28_sequence), PeepSpriteImage_Burger_28_sequence }, - { 11401, countof(PeepSpriteImage_Burger_29_sequence), PeepSpriteImage_Burger_29_sequence }, - { 7121, countof(PeepSpriteImage_Burger_30_sequence), PeepSpriteImage_Burger_30_sequence }, - { 7149, countof(PeepSpriteImage_Burger_31_sequence), PeepSpriteImage_Burger_31_sequence }, - { 7249, countof(PeepSpriteImage_Burger_32_sequence), PeepSpriteImage_Burger_32_sequence }, - { 7309, countof(PeepSpriteImage_Burger_33_sequence), PeepSpriteImage_Burger_33_sequence }, - { 7329, countof(PeepSpriteImage_Burger_34_sequence), PeepSpriteImage_Burger_34_sequence }, - { 7285, countof(PeepSpriteImage_Burger_35_sequence), PeepSpriteImage_Burger_35_sequence }, - { 7181, countof(PeepSpriteImage_Burger_36_sequence), PeepSpriteImage_Burger_36_sequence }, + { 8385, countof(PeepSpriteImage_Burger_00_sequence), PeepSpriteImage_Burger_00_sequence }, + { 6585, countof(PeepSpriteImage_Burger_01_sequence), PeepSpriteImage_Burger_01_sequence }, + { 8381, countof(PeepSpriteImage_Burger_02_sequence), PeepSpriteImage_Burger_02_sequence }, + { 8509, countof(PeepSpriteImage_Burger_03_sequence), PeepSpriteImage_Burger_03_sequence }, + { 6697, countof(PeepSpriteImage_Burger_04_sequence), PeepSpriteImage_Burger_04_sequence }, + { 6757, countof(PeepSpriteImage_Burger_05_sequence), PeepSpriteImage_Burger_05_sequence }, + { 6561, countof(PeepSpriteImage_Burger_06_sequence), PeepSpriteImage_Burger_06_sequence }, + { 8457, countof(PeepSpriteImage_Burger_07_sequence), PeepSpriteImage_Burger_07_sequence }, + { 8461, countof(PeepSpriteImage_Burger_08_sequence), PeepSpriteImage_Burger_08_sequence }, + { 6637, countof(PeepSpriteImage_Burger_09_sequence), PeepSpriteImage_Burger_09_sequence }, + { 6645, countof(PeepSpriteImage_Burger_10_sequence), PeepSpriteImage_Burger_10_sequence }, + { 6813, countof(PeepSpriteImage_Burger_11_sequence), PeepSpriteImage_Burger_11_sequence }, + { 11301, countof(PeepSpriteImage_Burger_12_sequence), PeepSpriteImage_Burger_12_sequence }, + { 6825, countof(PeepSpriteImage_Burger_13_sequence), PeepSpriteImage_Burger_13_sequence }, + { 6845, countof(PeepSpriteImage_Burger_14_sequence), PeepSpriteImage_Burger_14_sequence }, + { 6909, countof(PeepSpriteImage_Burger_15_sequence), PeepSpriteImage_Burger_15_sequence }, + { 11325, countof(PeepSpriteImage_Burger_16_sequence), PeepSpriteImage_Burger_16_sequence }, + { 6957, countof(PeepSpriteImage_Burger_17_sequence), PeepSpriteImage_Burger_17_sequence }, + { 11513, countof(PeepSpriteImage_Burger_18_sequence), PeepSpriteImage_Burger_18_sequence }, + { 11513, countof(PeepSpriteImage_Burger_19_sequence), PeepSpriteImage_Burger_19_sequence }, + { 11597, countof(PeepSpriteImage_Burger_20_sequence), PeepSpriteImage_Burger_20_sequence }, + { 11669, countof(PeepSpriteImage_Burger_21_sequence), PeepSpriteImage_Burger_21_sequence }, + { 11669, countof(PeepSpriteImage_Burger_22_sequence), PeepSpriteImage_Burger_22_sequence }, + { 11801, countof(PeepSpriteImage_Burger_23_sequence), PeepSpriteImage_Burger_23_sequence }, + { 11669, countof(PeepSpriteImage_Burger_24_sequence), PeepSpriteImage_Burger_24_sequence }, + { 11377, countof(PeepSpriteImage_Burger_25_sequence), PeepSpriteImage_Burger_25_sequence }, + { 6989, countof(PeepSpriteImage_Burger_26_sequence), PeepSpriteImage_Burger_26_sequence }, + { 7041, countof(PeepSpriteImage_Burger_27_sequence), PeepSpriteImage_Burger_27_sequence }, + { 7101, countof(PeepSpriteImage_Burger_28_sequence), PeepSpriteImage_Burger_28_sequence }, + { 11401, countof(PeepSpriteImage_Burger_29_sequence), PeepSpriteImage_Burger_29_sequence }, + { 7121, countof(PeepSpriteImage_Burger_30_sequence), PeepSpriteImage_Burger_30_sequence }, + { 7149, countof(PeepSpriteImage_Burger_31_sequence), PeepSpriteImage_Burger_31_sequence }, + { 7249, countof(PeepSpriteImage_Burger_32_sequence), PeepSpriteImage_Burger_32_sequence }, + { 7309, countof(PeepSpriteImage_Burger_33_sequence), PeepSpriteImage_Burger_33_sequence }, + { 7329, countof(PeepSpriteImage_Burger_34_sequence), PeepSpriteImage_Burger_34_sequence }, + { 7285, countof(PeepSpriteImage_Burger_35_sequence), PeepSpriteImage_Burger_35_sequence }, + { 7181, countof(PeepSpriteImage_Burger_36_sequence), PeepSpriteImage_Burger_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Drink[] = { - { 8713, countof(PeepSpriteImage_Drink_00_sequence), PeepSpriteImage_Drink_00_sequence }, - { 6585, countof(PeepSpriteImage_Drink_01_sequence), PeepSpriteImage_Drink_01_sequence }, - { 8709, countof(PeepSpriteImage_Drink_02_sequence), PeepSpriteImage_Drink_02_sequence }, - { 8837, countof(PeepSpriteImage_Drink_03_sequence), PeepSpriteImage_Drink_03_sequence }, - { 6697, countof(PeepSpriteImage_Drink_04_sequence), PeepSpriteImage_Drink_04_sequence }, - { 6757, countof(PeepSpriteImage_Drink_05_sequence), PeepSpriteImage_Drink_05_sequence }, - { 6561, countof(PeepSpriteImage_Drink_06_sequence), PeepSpriteImage_Drink_06_sequence }, - { 8785, countof(PeepSpriteImage_Drink_07_sequence), PeepSpriteImage_Drink_07_sequence }, - { 8789, countof(PeepSpriteImage_Drink_08_sequence), PeepSpriteImage_Drink_08_sequence }, - { 6637, countof(PeepSpriteImage_Drink_09_sequence), PeepSpriteImage_Drink_09_sequence }, - { 6645, countof(PeepSpriteImage_Drink_10_sequence), PeepSpriteImage_Drink_10_sequence }, - { 6813, countof(PeepSpriteImage_Drink_11_sequence), PeepSpriteImage_Drink_11_sequence }, - { 11301, countof(PeepSpriteImage_Drink_12_sequence), PeepSpriteImage_Drink_12_sequence }, - { 6825, countof(PeepSpriteImage_Drink_13_sequence), PeepSpriteImage_Drink_13_sequence }, - { 6845, countof(PeepSpriteImage_Drink_14_sequence), PeepSpriteImage_Drink_14_sequence }, - { 6909, countof(PeepSpriteImage_Drink_15_sequence), PeepSpriteImage_Drink_15_sequence }, - { 11325, countof(PeepSpriteImage_Drink_16_sequence), PeepSpriteImage_Drink_16_sequence }, - { 6957, countof(PeepSpriteImage_Drink_17_sequence), PeepSpriteImage_Drink_17_sequence }, - { 11513, countof(PeepSpriteImage_Drink_18_sequence), PeepSpriteImage_Drink_18_sequence }, - { 11513, countof(PeepSpriteImage_Drink_19_sequence), PeepSpriteImage_Drink_19_sequence }, - { 11597, countof(PeepSpriteImage_Drink_20_sequence), PeepSpriteImage_Drink_20_sequence }, - { 11669, countof(PeepSpriteImage_Drink_21_sequence), PeepSpriteImage_Drink_21_sequence }, - { 11669, countof(PeepSpriteImage_Drink_22_sequence), PeepSpriteImage_Drink_22_sequence }, - { 11801, countof(PeepSpriteImage_Drink_23_sequence), PeepSpriteImage_Drink_23_sequence }, - { 11669, countof(PeepSpriteImage_Drink_24_sequence), PeepSpriteImage_Drink_24_sequence }, - { 11377, countof(PeepSpriteImage_Drink_25_sequence), PeepSpriteImage_Drink_25_sequence }, - { 6989, countof(PeepSpriteImage_Drink_26_sequence), PeepSpriteImage_Drink_26_sequence }, - { 7041, countof(PeepSpriteImage_Drink_27_sequence), PeepSpriteImage_Drink_27_sequence }, - { 7101, countof(PeepSpriteImage_Drink_28_sequence), PeepSpriteImage_Drink_28_sequence }, - { 11401, countof(PeepSpriteImage_Drink_29_sequence), PeepSpriteImage_Drink_29_sequence }, - { 7121, countof(PeepSpriteImage_Drink_30_sequence), PeepSpriteImage_Drink_30_sequence }, - { 7149, countof(PeepSpriteImage_Drink_31_sequence), PeepSpriteImage_Drink_31_sequence }, - { 7249, countof(PeepSpriteImage_Drink_32_sequence), PeepSpriteImage_Drink_32_sequence }, - { 7309, countof(PeepSpriteImage_Drink_33_sequence), PeepSpriteImage_Drink_33_sequence }, - { 7329, countof(PeepSpriteImage_Drink_34_sequence), PeepSpriteImage_Drink_34_sequence }, - { 7285, countof(PeepSpriteImage_Drink_35_sequence), PeepSpriteImage_Drink_35_sequence }, - { 7181, countof(PeepSpriteImage_Drink_36_sequence), PeepSpriteImage_Drink_36_sequence }, + { 8713, countof(PeepSpriteImage_Drink_00_sequence), PeepSpriteImage_Drink_00_sequence }, + { 6585, countof(PeepSpriteImage_Drink_01_sequence), PeepSpriteImage_Drink_01_sequence }, + { 8709, countof(PeepSpriteImage_Drink_02_sequence), PeepSpriteImage_Drink_02_sequence }, + { 8837, countof(PeepSpriteImage_Drink_03_sequence), PeepSpriteImage_Drink_03_sequence }, + { 6697, countof(PeepSpriteImage_Drink_04_sequence), PeepSpriteImage_Drink_04_sequence }, + { 6757, countof(PeepSpriteImage_Drink_05_sequence), PeepSpriteImage_Drink_05_sequence }, + { 6561, countof(PeepSpriteImage_Drink_06_sequence), PeepSpriteImage_Drink_06_sequence }, + { 8785, countof(PeepSpriteImage_Drink_07_sequence), PeepSpriteImage_Drink_07_sequence }, + { 8789, countof(PeepSpriteImage_Drink_08_sequence), PeepSpriteImage_Drink_08_sequence }, + { 6637, countof(PeepSpriteImage_Drink_09_sequence), PeepSpriteImage_Drink_09_sequence }, + { 6645, countof(PeepSpriteImage_Drink_10_sequence), PeepSpriteImage_Drink_10_sequence }, + { 6813, countof(PeepSpriteImage_Drink_11_sequence), PeepSpriteImage_Drink_11_sequence }, + { 11301, countof(PeepSpriteImage_Drink_12_sequence), PeepSpriteImage_Drink_12_sequence }, + { 6825, countof(PeepSpriteImage_Drink_13_sequence), PeepSpriteImage_Drink_13_sequence }, + { 6845, countof(PeepSpriteImage_Drink_14_sequence), PeepSpriteImage_Drink_14_sequence }, + { 6909, countof(PeepSpriteImage_Drink_15_sequence), PeepSpriteImage_Drink_15_sequence }, + { 11325, countof(PeepSpriteImage_Drink_16_sequence), PeepSpriteImage_Drink_16_sequence }, + { 6957, countof(PeepSpriteImage_Drink_17_sequence), PeepSpriteImage_Drink_17_sequence }, + { 11513, countof(PeepSpriteImage_Drink_18_sequence), PeepSpriteImage_Drink_18_sequence }, + { 11513, countof(PeepSpriteImage_Drink_19_sequence), PeepSpriteImage_Drink_19_sequence }, + { 11597, countof(PeepSpriteImage_Drink_20_sequence), PeepSpriteImage_Drink_20_sequence }, + { 11669, countof(PeepSpriteImage_Drink_21_sequence), PeepSpriteImage_Drink_21_sequence }, + { 11669, countof(PeepSpriteImage_Drink_22_sequence), PeepSpriteImage_Drink_22_sequence }, + { 11801, countof(PeepSpriteImage_Drink_23_sequence), PeepSpriteImage_Drink_23_sequence }, + { 11669, countof(PeepSpriteImage_Drink_24_sequence), PeepSpriteImage_Drink_24_sequence }, + { 11377, countof(PeepSpriteImage_Drink_25_sequence), PeepSpriteImage_Drink_25_sequence }, + { 6989, countof(PeepSpriteImage_Drink_26_sequence), PeepSpriteImage_Drink_26_sequence }, + { 7041, countof(PeepSpriteImage_Drink_27_sequence), PeepSpriteImage_Drink_27_sequence }, + { 7101, countof(PeepSpriteImage_Drink_28_sequence), PeepSpriteImage_Drink_28_sequence }, + { 11401, countof(PeepSpriteImage_Drink_29_sequence), PeepSpriteImage_Drink_29_sequence }, + { 7121, countof(PeepSpriteImage_Drink_30_sequence), PeepSpriteImage_Drink_30_sequence }, + { 7149, countof(PeepSpriteImage_Drink_31_sequence), PeepSpriteImage_Drink_31_sequence }, + { 7249, countof(PeepSpriteImage_Drink_32_sequence), PeepSpriteImage_Drink_32_sequence }, + { 7309, countof(PeepSpriteImage_Drink_33_sequence), PeepSpriteImage_Drink_33_sequence }, + { 7329, countof(PeepSpriteImage_Drink_34_sequence), PeepSpriteImage_Drink_34_sequence }, + { 7285, countof(PeepSpriteImage_Drink_35_sequence), PeepSpriteImage_Drink_35_sequence }, + { 7181, countof(PeepSpriteImage_Drink_36_sequence), PeepSpriteImage_Drink_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Balloon[] = { - { 10785, countof(PeepSpriteImage_Balloon_00_sequence), PeepSpriteImage_Balloon_00_sequence }, - { 6585, countof(PeepSpriteImage_Balloon_01_sequence), PeepSpriteImage_Balloon_01_sequence }, - { 10781, countof(PeepSpriteImage_Balloon_02_sequence), PeepSpriteImage_Balloon_02_sequence }, - { 6653, countof(PeepSpriteImage_Balloon_03_sequence), PeepSpriteImage_Balloon_03_sequence }, - { 6697, countof(PeepSpriteImage_Balloon_04_sequence), PeepSpriteImage_Balloon_04_sequence }, - { 6757, countof(PeepSpriteImage_Balloon_05_sequence), PeepSpriteImage_Balloon_05_sequence }, - { 6561, countof(PeepSpriteImage_Balloon_06_sequence), PeepSpriteImage_Balloon_06_sequence }, - { 10809, countof(PeepSpriteImage_Balloon_07_sequence), PeepSpriteImage_Balloon_07_sequence }, - { 6629, countof(PeepSpriteImage_Balloon_08_sequence), PeepSpriteImage_Balloon_08_sequence }, - { 6637, countof(PeepSpriteImage_Balloon_09_sequence), PeepSpriteImage_Balloon_09_sequence }, - { 6645, countof(PeepSpriteImage_Balloon_10_sequence), PeepSpriteImage_Balloon_10_sequence }, - { 6813, countof(PeepSpriteImage_Balloon_11_sequence), PeepSpriteImage_Balloon_11_sequence }, - { 11301, countof(PeepSpriteImage_Balloon_12_sequence), PeepSpriteImage_Balloon_12_sequence }, - { 6825, countof(PeepSpriteImage_Balloon_13_sequence), PeepSpriteImage_Balloon_13_sequence }, - { 6845, countof(PeepSpriteImage_Balloon_14_sequence), PeepSpriteImage_Balloon_14_sequence }, - { 6909, countof(PeepSpriteImage_Balloon_15_sequence), PeepSpriteImage_Balloon_15_sequence }, - { 11325, countof(PeepSpriteImage_Balloon_16_sequence), PeepSpriteImage_Balloon_16_sequence }, - { 6957, countof(PeepSpriteImage_Balloon_17_sequence), PeepSpriteImage_Balloon_17_sequence }, - { 11513, countof(PeepSpriteImage_Balloon_18_sequence), PeepSpriteImage_Balloon_18_sequence }, - { 11513, countof(PeepSpriteImage_Balloon_19_sequence), PeepSpriteImage_Balloon_19_sequence }, - { 11597, countof(PeepSpriteImage_Balloon_20_sequence), PeepSpriteImage_Balloon_20_sequence }, - { 11669, countof(PeepSpriteImage_Balloon_21_sequence), PeepSpriteImage_Balloon_21_sequence }, - { 11669, countof(PeepSpriteImage_Balloon_22_sequence), PeepSpriteImage_Balloon_22_sequence }, - { 11801, countof(PeepSpriteImage_Balloon_23_sequence), PeepSpriteImage_Balloon_23_sequence }, - { 11669, countof(PeepSpriteImage_Balloon_24_sequence), PeepSpriteImage_Balloon_24_sequence }, - { 11377, countof(PeepSpriteImage_Balloon_25_sequence), PeepSpriteImage_Balloon_25_sequence }, - { 6989, countof(PeepSpriteImage_Balloon_26_sequence), PeepSpriteImage_Balloon_26_sequence }, - { 7041, countof(PeepSpriteImage_Balloon_27_sequence), PeepSpriteImage_Balloon_27_sequence }, - { 7101, countof(PeepSpriteImage_Balloon_28_sequence), PeepSpriteImage_Balloon_28_sequence }, - { 11401, countof(PeepSpriteImage_Balloon_29_sequence), PeepSpriteImage_Balloon_29_sequence }, - { 7121, countof(PeepSpriteImage_Balloon_30_sequence), PeepSpriteImage_Balloon_30_sequence }, - { 7149, countof(PeepSpriteImage_Balloon_31_sequence), PeepSpriteImage_Balloon_31_sequence }, - { 7249, countof(PeepSpriteImage_Balloon_32_sequence), PeepSpriteImage_Balloon_32_sequence }, - { 7309, countof(PeepSpriteImage_Balloon_33_sequence), PeepSpriteImage_Balloon_33_sequence }, - { 7329, countof(PeepSpriteImage_Balloon_34_sequence), PeepSpriteImage_Balloon_34_sequence }, - { 7285, countof(PeepSpriteImage_Balloon_35_sequence), PeepSpriteImage_Balloon_35_sequence }, - { 7181, countof(PeepSpriteImage_Balloon_36_sequence), PeepSpriteImage_Balloon_36_sequence }, + { 10785, countof(PeepSpriteImage_Balloon_00_sequence), PeepSpriteImage_Balloon_00_sequence }, + { 6585, countof(PeepSpriteImage_Balloon_01_sequence), PeepSpriteImage_Balloon_01_sequence }, + { 10781, countof(PeepSpriteImage_Balloon_02_sequence), PeepSpriteImage_Balloon_02_sequence }, + { 6653, countof(PeepSpriteImage_Balloon_03_sequence), PeepSpriteImage_Balloon_03_sequence }, + { 6697, countof(PeepSpriteImage_Balloon_04_sequence), PeepSpriteImage_Balloon_04_sequence }, + { 6757, countof(PeepSpriteImage_Balloon_05_sequence), PeepSpriteImage_Balloon_05_sequence }, + { 6561, countof(PeepSpriteImage_Balloon_06_sequence), PeepSpriteImage_Balloon_06_sequence }, + { 10809, countof(PeepSpriteImage_Balloon_07_sequence), PeepSpriteImage_Balloon_07_sequence }, + { 6629, countof(PeepSpriteImage_Balloon_08_sequence), PeepSpriteImage_Balloon_08_sequence }, + { 6637, countof(PeepSpriteImage_Balloon_09_sequence), PeepSpriteImage_Balloon_09_sequence }, + { 6645, countof(PeepSpriteImage_Balloon_10_sequence), PeepSpriteImage_Balloon_10_sequence }, + { 6813, countof(PeepSpriteImage_Balloon_11_sequence), PeepSpriteImage_Balloon_11_sequence }, + { 11301, countof(PeepSpriteImage_Balloon_12_sequence), PeepSpriteImage_Balloon_12_sequence }, + { 6825, countof(PeepSpriteImage_Balloon_13_sequence), PeepSpriteImage_Balloon_13_sequence }, + { 6845, countof(PeepSpriteImage_Balloon_14_sequence), PeepSpriteImage_Balloon_14_sequence }, + { 6909, countof(PeepSpriteImage_Balloon_15_sequence), PeepSpriteImage_Balloon_15_sequence }, + { 11325, countof(PeepSpriteImage_Balloon_16_sequence), PeepSpriteImage_Balloon_16_sequence }, + { 6957, countof(PeepSpriteImage_Balloon_17_sequence), PeepSpriteImage_Balloon_17_sequence }, + { 11513, countof(PeepSpriteImage_Balloon_18_sequence), PeepSpriteImage_Balloon_18_sequence }, + { 11513, countof(PeepSpriteImage_Balloon_19_sequence), PeepSpriteImage_Balloon_19_sequence }, + { 11597, countof(PeepSpriteImage_Balloon_20_sequence), PeepSpriteImage_Balloon_20_sequence }, + { 11669, countof(PeepSpriteImage_Balloon_21_sequence), PeepSpriteImage_Balloon_21_sequence }, + { 11669, countof(PeepSpriteImage_Balloon_22_sequence), PeepSpriteImage_Balloon_22_sequence }, + { 11801, countof(PeepSpriteImage_Balloon_23_sequence), PeepSpriteImage_Balloon_23_sequence }, + { 11669, countof(PeepSpriteImage_Balloon_24_sequence), PeepSpriteImage_Balloon_24_sequence }, + { 11377, countof(PeepSpriteImage_Balloon_25_sequence), PeepSpriteImage_Balloon_25_sequence }, + { 6989, countof(PeepSpriteImage_Balloon_26_sequence), PeepSpriteImage_Balloon_26_sequence }, + { 7041, countof(PeepSpriteImage_Balloon_27_sequence), PeepSpriteImage_Balloon_27_sequence }, + { 7101, countof(PeepSpriteImage_Balloon_28_sequence), PeepSpriteImage_Balloon_28_sequence }, + { 11401, countof(PeepSpriteImage_Balloon_29_sequence), PeepSpriteImage_Balloon_29_sequence }, + { 7121, countof(PeepSpriteImage_Balloon_30_sequence), PeepSpriteImage_Balloon_30_sequence }, + { 7149, countof(PeepSpriteImage_Balloon_31_sequence), PeepSpriteImage_Balloon_31_sequence }, + { 7249, countof(PeepSpriteImage_Balloon_32_sequence), PeepSpriteImage_Balloon_32_sequence }, + { 7309, countof(PeepSpriteImage_Balloon_33_sequence), PeepSpriteImage_Balloon_33_sequence }, + { 7329, countof(PeepSpriteImage_Balloon_34_sequence), PeepSpriteImage_Balloon_34_sequence }, + { 7285, countof(PeepSpriteImage_Balloon_35_sequence), PeepSpriteImage_Balloon_35_sequence }, + { 7181, countof(PeepSpriteImage_Balloon_36_sequence), PeepSpriteImage_Balloon_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Candyfloss[] = { - { 10849, countof(PeepSpriteImage_Candyfloss_00_sequence), PeepSpriteImage_Candyfloss_00_sequence }, - { 6585, countof(PeepSpriteImage_Candyfloss_01_sequence), PeepSpriteImage_Candyfloss_01_sequence }, - { 10845, countof(PeepSpriteImage_Candyfloss_02_sequence), PeepSpriteImage_Candyfloss_02_sequence }, - { 10973, countof(PeepSpriteImage_Candyfloss_03_sequence), PeepSpriteImage_Candyfloss_03_sequence }, - { 6697, countof(PeepSpriteImage_Candyfloss_04_sequence), PeepSpriteImage_Candyfloss_04_sequence }, - { 6757, countof(PeepSpriteImage_Candyfloss_05_sequence), PeepSpriteImage_Candyfloss_05_sequence }, - { 6561, countof(PeepSpriteImage_Candyfloss_06_sequence), PeepSpriteImage_Candyfloss_06_sequence }, - { 10921, countof(PeepSpriteImage_Candyfloss_07_sequence), PeepSpriteImage_Candyfloss_07_sequence }, - { 10925, countof(PeepSpriteImage_Candyfloss_08_sequence), PeepSpriteImage_Candyfloss_08_sequence }, - { 6637, countof(PeepSpriteImage_Candyfloss_09_sequence), PeepSpriteImage_Candyfloss_09_sequence }, - { 6645, countof(PeepSpriteImage_Candyfloss_10_sequence), PeepSpriteImage_Candyfloss_10_sequence }, - { 6813, countof(PeepSpriteImage_Candyfloss_11_sequence), PeepSpriteImage_Candyfloss_11_sequence }, - { 11301, countof(PeepSpriteImage_Candyfloss_12_sequence), PeepSpriteImage_Candyfloss_12_sequence }, - { 6825, countof(PeepSpriteImage_Candyfloss_13_sequence), PeepSpriteImage_Candyfloss_13_sequence }, - { 6845, countof(PeepSpriteImage_Candyfloss_14_sequence), PeepSpriteImage_Candyfloss_14_sequence }, - { 6909, countof(PeepSpriteImage_Candyfloss_15_sequence), PeepSpriteImage_Candyfloss_15_sequence }, - { 11325, countof(PeepSpriteImage_Candyfloss_16_sequence), PeepSpriteImage_Candyfloss_16_sequence }, - { 6957, countof(PeepSpriteImage_Candyfloss_17_sequence), PeepSpriteImage_Candyfloss_17_sequence }, - { 11513, countof(PeepSpriteImage_Candyfloss_18_sequence), PeepSpriteImage_Candyfloss_18_sequence }, - { 11513, countof(PeepSpriteImage_Candyfloss_19_sequence), PeepSpriteImage_Candyfloss_19_sequence }, - { 11597, countof(PeepSpriteImage_Candyfloss_20_sequence), PeepSpriteImage_Candyfloss_20_sequence }, - { 11669, countof(PeepSpriteImage_Candyfloss_21_sequence), PeepSpriteImage_Candyfloss_21_sequence }, - { 11669, countof(PeepSpriteImage_Candyfloss_22_sequence), PeepSpriteImage_Candyfloss_22_sequence }, - { 11801, countof(PeepSpriteImage_Candyfloss_23_sequence), PeepSpriteImage_Candyfloss_23_sequence }, - { 11669, countof(PeepSpriteImage_Candyfloss_24_sequence), PeepSpriteImage_Candyfloss_24_sequence }, - { 11377, countof(PeepSpriteImage_Candyfloss_25_sequence), PeepSpriteImage_Candyfloss_25_sequence }, - { 6989, countof(PeepSpriteImage_Candyfloss_26_sequence), PeepSpriteImage_Candyfloss_26_sequence }, - { 7041, countof(PeepSpriteImage_Candyfloss_27_sequence), PeepSpriteImage_Candyfloss_27_sequence }, - { 7101, countof(PeepSpriteImage_Candyfloss_28_sequence), PeepSpriteImage_Candyfloss_28_sequence }, - { 11401, countof(PeepSpriteImage_Candyfloss_29_sequence), PeepSpriteImage_Candyfloss_29_sequence }, - { 7121, countof(PeepSpriteImage_Candyfloss_30_sequence), PeepSpriteImage_Candyfloss_30_sequence }, - { 7149, countof(PeepSpriteImage_Candyfloss_31_sequence), PeepSpriteImage_Candyfloss_31_sequence }, - { 7249, countof(PeepSpriteImage_Candyfloss_32_sequence), PeepSpriteImage_Candyfloss_32_sequence }, - { 7309, countof(PeepSpriteImage_Candyfloss_33_sequence), PeepSpriteImage_Candyfloss_33_sequence }, - { 7329, countof(PeepSpriteImage_Candyfloss_34_sequence), PeepSpriteImage_Candyfloss_34_sequence }, - { 7285, countof(PeepSpriteImage_Candyfloss_35_sequence), PeepSpriteImage_Candyfloss_35_sequence }, - { 7181, countof(PeepSpriteImage_Candyfloss_36_sequence), PeepSpriteImage_Candyfloss_36_sequence }, + { 10849, countof(PeepSpriteImage_Candyfloss_00_sequence), PeepSpriteImage_Candyfloss_00_sequence }, + { 6585, countof(PeepSpriteImage_Candyfloss_01_sequence), PeepSpriteImage_Candyfloss_01_sequence }, + { 10845, countof(PeepSpriteImage_Candyfloss_02_sequence), PeepSpriteImage_Candyfloss_02_sequence }, + { 10973, countof(PeepSpriteImage_Candyfloss_03_sequence), PeepSpriteImage_Candyfloss_03_sequence }, + { 6697, countof(PeepSpriteImage_Candyfloss_04_sequence), PeepSpriteImage_Candyfloss_04_sequence }, + { 6757, countof(PeepSpriteImage_Candyfloss_05_sequence), PeepSpriteImage_Candyfloss_05_sequence }, + { 6561, countof(PeepSpriteImage_Candyfloss_06_sequence), PeepSpriteImage_Candyfloss_06_sequence }, + { 10921, countof(PeepSpriteImage_Candyfloss_07_sequence), PeepSpriteImage_Candyfloss_07_sequence }, + { 10925, countof(PeepSpriteImage_Candyfloss_08_sequence), PeepSpriteImage_Candyfloss_08_sequence }, + { 6637, countof(PeepSpriteImage_Candyfloss_09_sequence), PeepSpriteImage_Candyfloss_09_sequence }, + { 6645, countof(PeepSpriteImage_Candyfloss_10_sequence), PeepSpriteImage_Candyfloss_10_sequence }, + { 6813, countof(PeepSpriteImage_Candyfloss_11_sequence), PeepSpriteImage_Candyfloss_11_sequence }, + { 11301, countof(PeepSpriteImage_Candyfloss_12_sequence), PeepSpriteImage_Candyfloss_12_sequence }, + { 6825, countof(PeepSpriteImage_Candyfloss_13_sequence), PeepSpriteImage_Candyfloss_13_sequence }, + { 6845, countof(PeepSpriteImage_Candyfloss_14_sequence), PeepSpriteImage_Candyfloss_14_sequence }, + { 6909, countof(PeepSpriteImage_Candyfloss_15_sequence), PeepSpriteImage_Candyfloss_15_sequence }, + { 11325, countof(PeepSpriteImage_Candyfloss_16_sequence), PeepSpriteImage_Candyfloss_16_sequence }, + { 6957, countof(PeepSpriteImage_Candyfloss_17_sequence), PeepSpriteImage_Candyfloss_17_sequence }, + { 11513, countof(PeepSpriteImage_Candyfloss_18_sequence), PeepSpriteImage_Candyfloss_18_sequence }, + { 11513, countof(PeepSpriteImage_Candyfloss_19_sequence), PeepSpriteImage_Candyfloss_19_sequence }, + { 11597, countof(PeepSpriteImage_Candyfloss_20_sequence), PeepSpriteImage_Candyfloss_20_sequence }, + { 11669, countof(PeepSpriteImage_Candyfloss_21_sequence), PeepSpriteImage_Candyfloss_21_sequence }, + { 11669, countof(PeepSpriteImage_Candyfloss_22_sequence), PeepSpriteImage_Candyfloss_22_sequence }, + { 11801, countof(PeepSpriteImage_Candyfloss_23_sequence), PeepSpriteImage_Candyfloss_23_sequence }, + { 11669, countof(PeepSpriteImage_Candyfloss_24_sequence), PeepSpriteImage_Candyfloss_24_sequence }, + { 11377, countof(PeepSpriteImage_Candyfloss_25_sequence), PeepSpriteImage_Candyfloss_25_sequence }, + { 6989, countof(PeepSpriteImage_Candyfloss_26_sequence), PeepSpriteImage_Candyfloss_26_sequence }, + { 7041, countof(PeepSpriteImage_Candyfloss_27_sequence), PeepSpriteImage_Candyfloss_27_sequence }, + { 7101, countof(PeepSpriteImage_Candyfloss_28_sequence), PeepSpriteImage_Candyfloss_28_sequence }, + { 11401, countof(PeepSpriteImage_Candyfloss_29_sequence), PeepSpriteImage_Candyfloss_29_sequence }, + { 7121, countof(PeepSpriteImage_Candyfloss_30_sequence), PeepSpriteImage_Candyfloss_30_sequence }, + { 7149, countof(PeepSpriteImage_Candyfloss_31_sequence), PeepSpriteImage_Candyfloss_31_sequence }, + { 7249, countof(PeepSpriteImage_Candyfloss_32_sequence), PeepSpriteImage_Candyfloss_32_sequence }, + { 7309, countof(PeepSpriteImage_Candyfloss_33_sequence), PeepSpriteImage_Candyfloss_33_sequence }, + { 7329, countof(PeepSpriteImage_Candyfloss_34_sequence), PeepSpriteImage_Candyfloss_34_sequence }, + { 7285, countof(PeepSpriteImage_Candyfloss_35_sequence), PeepSpriteImage_Candyfloss_35_sequence }, + { 7181, countof(PeepSpriteImage_Candyfloss_36_sequence), PeepSpriteImage_Candyfloss_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Umbrella[] = { - { 11197, countof(PeepSpriteImage_Umbrella_00_sequence), PeepSpriteImage_Umbrella_00_sequence }, - { 6585, countof(PeepSpriteImage_Umbrella_01_sequence), PeepSpriteImage_Umbrella_01_sequence }, - { 11221, countof(PeepSpriteImage_Umbrella_02_sequence), PeepSpriteImage_Umbrella_02_sequence }, - { 6653, countof(PeepSpriteImage_Umbrella_03_sequence), PeepSpriteImage_Umbrella_03_sequence }, - { 6697, countof(PeepSpriteImage_Umbrella_04_sequence), PeepSpriteImage_Umbrella_04_sequence }, - { 6757, countof(PeepSpriteImage_Umbrella_05_sequence), PeepSpriteImage_Umbrella_05_sequence }, - { 6561, countof(PeepSpriteImage_Umbrella_06_sequence), PeepSpriteImage_Umbrella_06_sequence }, - { 11225, countof(PeepSpriteImage_Umbrella_07_sequence), PeepSpriteImage_Umbrella_07_sequence }, - { 6629, countof(PeepSpriteImage_Umbrella_08_sequence), PeepSpriteImage_Umbrella_08_sequence }, - { 6637, countof(PeepSpriteImage_Umbrella_09_sequence), PeepSpriteImage_Umbrella_09_sequence }, - { 6645, countof(PeepSpriteImage_Umbrella_10_sequence), PeepSpriteImage_Umbrella_10_sequence }, - { 6813, countof(PeepSpriteImage_Umbrella_11_sequence), PeepSpriteImage_Umbrella_11_sequence }, - { 11301, countof(PeepSpriteImage_Umbrella_12_sequence), PeepSpriteImage_Umbrella_12_sequence }, - { 6825, countof(PeepSpriteImage_Umbrella_13_sequence), PeepSpriteImage_Umbrella_13_sequence }, - { 6845, countof(PeepSpriteImage_Umbrella_14_sequence), PeepSpriteImage_Umbrella_14_sequence }, - { 6909, countof(PeepSpriteImage_Umbrella_15_sequence), PeepSpriteImage_Umbrella_15_sequence }, - { 11325, countof(PeepSpriteImage_Umbrella_16_sequence), PeepSpriteImage_Umbrella_16_sequence }, - { 6957, countof(PeepSpriteImage_Umbrella_17_sequence), PeepSpriteImage_Umbrella_17_sequence }, - { 11513, countof(PeepSpriteImage_Umbrella_18_sequence), PeepSpriteImage_Umbrella_18_sequence }, - { 11513, countof(PeepSpriteImage_Umbrella_19_sequence), PeepSpriteImage_Umbrella_19_sequence }, - { 11597, countof(PeepSpriteImage_Umbrella_20_sequence), PeepSpriteImage_Umbrella_20_sequence }, - { 11669, countof(PeepSpriteImage_Umbrella_21_sequence), PeepSpriteImage_Umbrella_21_sequence }, - { 11669, countof(PeepSpriteImage_Umbrella_22_sequence), PeepSpriteImage_Umbrella_22_sequence }, - { 11801, countof(PeepSpriteImage_Umbrella_23_sequence), PeepSpriteImage_Umbrella_23_sequence }, - { 11669, countof(PeepSpriteImage_Umbrella_24_sequence), PeepSpriteImage_Umbrella_24_sequence }, - { 11377, countof(PeepSpriteImage_Umbrella_25_sequence), PeepSpriteImage_Umbrella_25_sequence }, - { 6989, countof(PeepSpriteImage_Umbrella_26_sequence), PeepSpriteImage_Umbrella_26_sequence }, - { 7041, countof(PeepSpriteImage_Umbrella_27_sequence), PeepSpriteImage_Umbrella_27_sequence }, - { 7101, countof(PeepSpriteImage_Umbrella_28_sequence), PeepSpriteImage_Umbrella_28_sequence }, - { 11401, countof(PeepSpriteImage_Umbrella_29_sequence), PeepSpriteImage_Umbrella_29_sequence }, - { 7121, countof(PeepSpriteImage_Umbrella_30_sequence), PeepSpriteImage_Umbrella_30_sequence }, - { 7149, countof(PeepSpriteImage_Umbrella_31_sequence), PeepSpriteImage_Umbrella_31_sequence }, - { 7249, countof(PeepSpriteImage_Umbrella_32_sequence), PeepSpriteImage_Umbrella_32_sequence }, - { 7309, countof(PeepSpriteImage_Umbrella_33_sequence), PeepSpriteImage_Umbrella_33_sequence }, - { 7329, countof(PeepSpriteImage_Umbrella_34_sequence), PeepSpriteImage_Umbrella_34_sequence }, - { 7285, countof(PeepSpriteImage_Umbrella_35_sequence), PeepSpriteImage_Umbrella_35_sequence }, - { 7181, countof(PeepSpriteImage_Umbrella_36_sequence), PeepSpriteImage_Umbrella_36_sequence }, + { 11197, countof(PeepSpriteImage_Umbrella_00_sequence), PeepSpriteImage_Umbrella_00_sequence }, + { 6585, countof(PeepSpriteImage_Umbrella_01_sequence), PeepSpriteImage_Umbrella_01_sequence }, + { 11221, countof(PeepSpriteImage_Umbrella_02_sequence), PeepSpriteImage_Umbrella_02_sequence }, + { 6653, countof(PeepSpriteImage_Umbrella_03_sequence), PeepSpriteImage_Umbrella_03_sequence }, + { 6697, countof(PeepSpriteImage_Umbrella_04_sequence), PeepSpriteImage_Umbrella_04_sequence }, + { 6757, countof(PeepSpriteImage_Umbrella_05_sequence), PeepSpriteImage_Umbrella_05_sequence }, + { 6561, countof(PeepSpriteImage_Umbrella_06_sequence), PeepSpriteImage_Umbrella_06_sequence }, + { 11225, countof(PeepSpriteImage_Umbrella_07_sequence), PeepSpriteImage_Umbrella_07_sequence }, + { 6629, countof(PeepSpriteImage_Umbrella_08_sequence), PeepSpriteImage_Umbrella_08_sequence }, + { 6637, countof(PeepSpriteImage_Umbrella_09_sequence), PeepSpriteImage_Umbrella_09_sequence }, + { 6645, countof(PeepSpriteImage_Umbrella_10_sequence), PeepSpriteImage_Umbrella_10_sequence }, + { 6813, countof(PeepSpriteImage_Umbrella_11_sequence), PeepSpriteImage_Umbrella_11_sequence }, + { 11301, countof(PeepSpriteImage_Umbrella_12_sequence), PeepSpriteImage_Umbrella_12_sequence }, + { 6825, countof(PeepSpriteImage_Umbrella_13_sequence), PeepSpriteImage_Umbrella_13_sequence }, + { 6845, countof(PeepSpriteImage_Umbrella_14_sequence), PeepSpriteImage_Umbrella_14_sequence }, + { 6909, countof(PeepSpriteImage_Umbrella_15_sequence), PeepSpriteImage_Umbrella_15_sequence }, + { 11325, countof(PeepSpriteImage_Umbrella_16_sequence), PeepSpriteImage_Umbrella_16_sequence }, + { 6957, countof(PeepSpriteImage_Umbrella_17_sequence), PeepSpriteImage_Umbrella_17_sequence }, + { 11513, countof(PeepSpriteImage_Umbrella_18_sequence), PeepSpriteImage_Umbrella_18_sequence }, + { 11513, countof(PeepSpriteImage_Umbrella_19_sequence), PeepSpriteImage_Umbrella_19_sequence }, + { 11597, countof(PeepSpriteImage_Umbrella_20_sequence), PeepSpriteImage_Umbrella_20_sequence }, + { 11669, countof(PeepSpriteImage_Umbrella_21_sequence), PeepSpriteImage_Umbrella_21_sequence }, + { 11669, countof(PeepSpriteImage_Umbrella_22_sequence), PeepSpriteImage_Umbrella_22_sequence }, + { 11801, countof(PeepSpriteImage_Umbrella_23_sequence), PeepSpriteImage_Umbrella_23_sequence }, + { 11669, countof(PeepSpriteImage_Umbrella_24_sequence), PeepSpriteImage_Umbrella_24_sequence }, + { 11377, countof(PeepSpriteImage_Umbrella_25_sequence), PeepSpriteImage_Umbrella_25_sequence }, + { 6989, countof(PeepSpriteImage_Umbrella_26_sequence), PeepSpriteImage_Umbrella_26_sequence }, + { 7041, countof(PeepSpriteImage_Umbrella_27_sequence), PeepSpriteImage_Umbrella_27_sequence }, + { 7101, countof(PeepSpriteImage_Umbrella_28_sequence), PeepSpriteImage_Umbrella_28_sequence }, + { 11401, countof(PeepSpriteImage_Umbrella_29_sequence), PeepSpriteImage_Umbrella_29_sequence }, + { 7121, countof(PeepSpriteImage_Umbrella_30_sequence), PeepSpriteImage_Umbrella_30_sequence }, + { 7149, countof(PeepSpriteImage_Umbrella_31_sequence), PeepSpriteImage_Umbrella_31_sequence }, + { 7249, countof(PeepSpriteImage_Umbrella_32_sequence), PeepSpriteImage_Umbrella_32_sequence }, + { 7309, countof(PeepSpriteImage_Umbrella_33_sequence), PeepSpriteImage_Umbrella_33_sequence }, + { 7329, countof(PeepSpriteImage_Umbrella_34_sequence), PeepSpriteImage_Umbrella_34_sequence }, + { 7285, countof(PeepSpriteImage_Umbrella_35_sequence), PeepSpriteImage_Umbrella_35_sequence }, + { 7181, countof(PeepSpriteImage_Umbrella_36_sequence), PeepSpriteImage_Umbrella_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Pizza[] = { - { 7785, countof(PeepSpriteImage_Pizza_00_sequence), PeepSpriteImage_Pizza_00_sequence }, - { 6585, countof(PeepSpriteImage_Pizza_01_sequence), PeepSpriteImage_Pizza_01_sequence }, - { 7781, countof(PeepSpriteImage_Pizza_02_sequence), PeepSpriteImage_Pizza_02_sequence }, - { 7861, countof(PeepSpriteImage_Pizza_03_sequence), PeepSpriteImage_Pizza_03_sequence }, - { 6697, countof(PeepSpriteImage_Pizza_04_sequence), PeepSpriteImage_Pizza_04_sequence }, - { 6757, countof(PeepSpriteImage_Pizza_05_sequence), PeepSpriteImage_Pizza_05_sequence }, - { 6561, countof(PeepSpriteImage_Pizza_06_sequence), PeepSpriteImage_Pizza_06_sequence }, - { 7833, countof(PeepSpriteImage_Pizza_07_sequence), PeepSpriteImage_Pizza_07_sequence }, - { 7837, countof(PeepSpriteImage_Pizza_08_sequence), PeepSpriteImage_Pizza_08_sequence }, - { 6637, countof(PeepSpriteImage_Pizza_09_sequence), PeepSpriteImage_Pizza_09_sequence }, - { 6645, countof(PeepSpriteImage_Pizza_10_sequence), PeepSpriteImage_Pizza_10_sequence }, - { 6813, countof(PeepSpriteImage_Pizza_11_sequence), PeepSpriteImage_Pizza_11_sequence }, - { 11301, countof(PeepSpriteImage_Pizza_12_sequence), PeepSpriteImage_Pizza_12_sequence }, - { 6825, countof(PeepSpriteImage_Pizza_13_sequence), PeepSpriteImage_Pizza_13_sequence }, - { 6845, countof(PeepSpriteImage_Pizza_14_sequence), PeepSpriteImage_Pizza_14_sequence }, - { 6909, countof(PeepSpriteImage_Pizza_15_sequence), PeepSpriteImage_Pizza_15_sequence }, - { 11325, countof(PeepSpriteImage_Pizza_16_sequence), PeepSpriteImage_Pizza_16_sequence }, - { 6957, countof(PeepSpriteImage_Pizza_17_sequence), PeepSpriteImage_Pizza_17_sequence }, - { 11513, countof(PeepSpriteImage_Pizza_18_sequence), PeepSpriteImage_Pizza_18_sequence }, - { 11513, countof(PeepSpriteImage_Pizza_19_sequence), PeepSpriteImage_Pizza_19_sequence }, - { 11597, countof(PeepSpriteImage_Pizza_20_sequence), PeepSpriteImage_Pizza_20_sequence }, - { 11669, countof(PeepSpriteImage_Pizza_21_sequence), PeepSpriteImage_Pizza_21_sequence }, - { 11669, countof(PeepSpriteImage_Pizza_22_sequence), PeepSpriteImage_Pizza_22_sequence }, - { 11801, countof(PeepSpriteImage_Pizza_23_sequence), PeepSpriteImage_Pizza_23_sequence }, - { 11669, countof(PeepSpriteImage_Pizza_24_sequence), PeepSpriteImage_Pizza_24_sequence }, - { 11377, countof(PeepSpriteImage_Pizza_25_sequence), PeepSpriteImage_Pizza_25_sequence }, - { 6989, countof(PeepSpriteImage_Pizza_26_sequence), PeepSpriteImage_Pizza_26_sequence }, - { 7041, countof(PeepSpriteImage_Pizza_27_sequence), PeepSpriteImage_Pizza_27_sequence }, - { 7101, countof(PeepSpriteImage_Pizza_28_sequence), PeepSpriteImage_Pizza_28_sequence }, - { 11401, countof(PeepSpriteImage_Pizza_29_sequence), PeepSpriteImage_Pizza_29_sequence }, - { 7121, countof(PeepSpriteImage_Pizza_30_sequence), PeepSpriteImage_Pizza_30_sequence }, - { 7149, countof(PeepSpriteImage_Pizza_31_sequence), PeepSpriteImage_Pizza_31_sequence }, - { 7249, countof(PeepSpriteImage_Pizza_32_sequence), PeepSpriteImage_Pizza_32_sequence }, - { 7309, countof(PeepSpriteImage_Pizza_33_sequence), PeepSpriteImage_Pizza_33_sequence }, - { 7329, countof(PeepSpriteImage_Pizza_34_sequence), PeepSpriteImage_Pizza_34_sequence }, - { 7285, countof(PeepSpriteImage_Pizza_35_sequence), PeepSpriteImage_Pizza_35_sequence }, - { 7181, countof(PeepSpriteImage_Pizza_36_sequence), PeepSpriteImage_Pizza_36_sequence }, + { 7785, countof(PeepSpriteImage_Pizza_00_sequence), PeepSpriteImage_Pizza_00_sequence }, + { 6585, countof(PeepSpriteImage_Pizza_01_sequence), PeepSpriteImage_Pizza_01_sequence }, + { 7781, countof(PeepSpriteImage_Pizza_02_sequence), PeepSpriteImage_Pizza_02_sequence }, + { 7861, countof(PeepSpriteImage_Pizza_03_sequence), PeepSpriteImage_Pizza_03_sequence }, + { 6697, countof(PeepSpriteImage_Pizza_04_sequence), PeepSpriteImage_Pizza_04_sequence }, + { 6757, countof(PeepSpriteImage_Pizza_05_sequence), PeepSpriteImage_Pizza_05_sequence }, + { 6561, countof(PeepSpriteImage_Pizza_06_sequence), PeepSpriteImage_Pizza_06_sequence }, + { 7833, countof(PeepSpriteImage_Pizza_07_sequence), PeepSpriteImage_Pizza_07_sequence }, + { 7837, countof(PeepSpriteImage_Pizza_08_sequence), PeepSpriteImage_Pizza_08_sequence }, + { 6637, countof(PeepSpriteImage_Pizza_09_sequence), PeepSpriteImage_Pizza_09_sequence }, + { 6645, countof(PeepSpriteImage_Pizza_10_sequence), PeepSpriteImage_Pizza_10_sequence }, + { 6813, countof(PeepSpriteImage_Pizza_11_sequence), PeepSpriteImage_Pizza_11_sequence }, + { 11301, countof(PeepSpriteImage_Pizza_12_sequence), PeepSpriteImage_Pizza_12_sequence }, + { 6825, countof(PeepSpriteImage_Pizza_13_sequence), PeepSpriteImage_Pizza_13_sequence }, + { 6845, countof(PeepSpriteImage_Pizza_14_sequence), PeepSpriteImage_Pizza_14_sequence }, + { 6909, countof(PeepSpriteImage_Pizza_15_sequence), PeepSpriteImage_Pizza_15_sequence }, + { 11325, countof(PeepSpriteImage_Pizza_16_sequence), PeepSpriteImage_Pizza_16_sequence }, + { 6957, countof(PeepSpriteImage_Pizza_17_sequence), PeepSpriteImage_Pizza_17_sequence }, + { 11513, countof(PeepSpriteImage_Pizza_18_sequence), PeepSpriteImage_Pizza_18_sequence }, + { 11513, countof(PeepSpriteImage_Pizza_19_sequence), PeepSpriteImage_Pizza_19_sequence }, + { 11597, countof(PeepSpriteImage_Pizza_20_sequence), PeepSpriteImage_Pizza_20_sequence }, + { 11669, countof(PeepSpriteImage_Pizza_21_sequence), PeepSpriteImage_Pizza_21_sequence }, + { 11669, countof(PeepSpriteImage_Pizza_22_sequence), PeepSpriteImage_Pizza_22_sequence }, + { 11801, countof(PeepSpriteImage_Pizza_23_sequence), PeepSpriteImage_Pizza_23_sequence }, + { 11669, countof(PeepSpriteImage_Pizza_24_sequence), PeepSpriteImage_Pizza_24_sequence }, + { 11377, countof(PeepSpriteImage_Pizza_25_sequence), PeepSpriteImage_Pizza_25_sequence }, + { 6989, countof(PeepSpriteImage_Pizza_26_sequence), PeepSpriteImage_Pizza_26_sequence }, + { 7041, countof(PeepSpriteImage_Pizza_27_sequence), PeepSpriteImage_Pizza_27_sequence }, + { 7101, countof(PeepSpriteImage_Pizza_28_sequence), PeepSpriteImage_Pizza_28_sequence }, + { 11401, countof(PeepSpriteImage_Pizza_29_sequence), PeepSpriteImage_Pizza_29_sequence }, + { 7121, countof(PeepSpriteImage_Pizza_30_sequence), PeepSpriteImage_Pizza_30_sequence }, + { 7149, countof(PeepSpriteImage_Pizza_31_sequence), PeepSpriteImage_Pizza_31_sequence }, + { 7249, countof(PeepSpriteImage_Pizza_32_sequence), PeepSpriteImage_Pizza_32_sequence }, + { 7309, countof(PeepSpriteImage_Pizza_33_sequence), PeepSpriteImage_Pizza_33_sequence }, + { 7329, countof(PeepSpriteImage_Pizza_34_sequence), PeepSpriteImage_Pizza_34_sequence }, + { 7285, countof(PeepSpriteImage_Pizza_35_sequence), PeepSpriteImage_Pizza_35_sequence }, + { 7181, countof(PeepSpriteImage_Pizza_36_sequence), PeepSpriteImage_Pizza_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_SecurityAlt[] = { - { 11949, countof(PeepSpriteImage_SecurityAlt_00_sequence),PeepSpriteImage_SecurityAlt_00_sequence }, - { 6585, countof(PeepSpriteImage_SecurityAlt_01_sequence),PeepSpriteImage_SecurityAlt_01_sequence }, - { 11905, countof(PeepSpriteImage_SecurityAlt_02_sequence),PeepSpriteImage_SecurityAlt_02_sequence }, - { 6653, countof(PeepSpriteImage_SecurityAlt_03_sequence),PeepSpriteImage_SecurityAlt_03_sequence }, - { 6697, countof(PeepSpriteImage_SecurityAlt_04_sequence),PeepSpriteImage_SecurityAlt_04_sequence }, - { 6757, countof(PeepSpriteImage_SecurityAlt_05_sequence),PeepSpriteImage_SecurityAlt_05_sequence }, - { 6561, countof(PeepSpriteImage_SecurityAlt_06_sequence),PeepSpriteImage_SecurityAlt_06_sequence }, - { 6625, countof(PeepSpriteImage_SecurityAlt_07_sequence),PeepSpriteImage_SecurityAlt_07_sequence }, - { 6629, countof(PeepSpriteImage_SecurityAlt_08_sequence),PeepSpriteImage_SecurityAlt_08_sequence }, - { 6637, countof(PeepSpriteImage_SecurityAlt_09_sequence),PeepSpriteImage_SecurityAlt_09_sequence }, - { 6645, countof(PeepSpriteImage_SecurityAlt_10_sequence),PeepSpriteImage_SecurityAlt_10_sequence }, - { 11909, countof(PeepSpriteImage_SecurityAlt_11_sequence),PeepSpriteImage_SecurityAlt_11_sequence }, - { 11301, countof(PeepSpriteImage_SecurityAlt_12_sequence),PeepSpriteImage_SecurityAlt_12_sequence }, - { 6825, countof(PeepSpriteImage_SecurityAlt_13_sequence),PeepSpriteImage_SecurityAlt_13_sequence }, - { 6845, countof(PeepSpriteImage_SecurityAlt_14_sequence),PeepSpriteImage_SecurityAlt_14_sequence }, - { 6909, countof(PeepSpriteImage_SecurityAlt_15_sequence),PeepSpriteImage_SecurityAlt_15_sequence }, - { 11325, countof(PeepSpriteImage_SecurityAlt_16_sequence),PeepSpriteImage_SecurityAlt_16_sequence }, - { 11921, countof(PeepSpriteImage_SecurityAlt_17_sequence),PeepSpriteImage_SecurityAlt_17_sequence }, - { 11513, countof(PeepSpriteImage_SecurityAlt_18_sequence),PeepSpriteImage_SecurityAlt_18_sequence }, - { 11513, countof(PeepSpriteImage_SecurityAlt_19_sequence),PeepSpriteImage_SecurityAlt_19_sequence }, - { 11597, countof(PeepSpriteImage_SecurityAlt_20_sequence),PeepSpriteImage_SecurityAlt_20_sequence }, - { 11669, countof(PeepSpriteImage_SecurityAlt_21_sequence),PeepSpriteImage_SecurityAlt_21_sequence }, - { 11669, countof(PeepSpriteImage_SecurityAlt_22_sequence),PeepSpriteImage_SecurityAlt_22_sequence }, - { 11801, countof(PeepSpriteImage_SecurityAlt_23_sequence),PeepSpriteImage_SecurityAlt_23_sequence }, - { 11669, countof(PeepSpriteImage_SecurityAlt_24_sequence),PeepSpriteImage_SecurityAlt_24_sequence }, - { 11377, countof(PeepSpriteImage_SecurityAlt_25_sequence),PeepSpriteImage_SecurityAlt_25_sequence }, - { 6989, countof(PeepSpriteImage_SecurityAlt_26_sequence),PeepSpriteImage_SecurityAlt_26_sequence }, - { 7041, countof(PeepSpriteImage_SecurityAlt_27_sequence),PeepSpriteImage_SecurityAlt_27_sequence }, - { 7101, countof(PeepSpriteImage_SecurityAlt_28_sequence),PeepSpriteImage_SecurityAlt_28_sequence }, - { 11401, countof(PeepSpriteImage_SecurityAlt_29_sequence),PeepSpriteImage_SecurityAlt_29_sequence }, - { 7121, countof(PeepSpriteImage_SecurityAlt_30_sequence),PeepSpriteImage_SecurityAlt_30_sequence }, - { 7149, countof(PeepSpriteImage_SecurityAlt_31_sequence),PeepSpriteImage_SecurityAlt_31_sequence }, - { 7249, countof(PeepSpriteImage_SecurityAlt_32_sequence),PeepSpriteImage_SecurityAlt_32_sequence }, - { 7309, countof(PeepSpriteImage_SecurityAlt_33_sequence),PeepSpriteImage_SecurityAlt_33_sequence }, - { 7329, countof(PeepSpriteImage_SecurityAlt_34_sequence),PeepSpriteImage_SecurityAlt_34_sequence }, - { 7285, countof(PeepSpriteImage_SecurityAlt_35_sequence),PeepSpriteImage_SecurityAlt_35_sequence }, - { 7181, countof(PeepSpriteImage_SecurityAlt_36_sequence),PeepSpriteImage_SecurityAlt_36_sequence }, + { 11949, countof(PeepSpriteImage_SecurityAlt_00_sequence),PeepSpriteImage_SecurityAlt_00_sequence }, + { 6585, countof(PeepSpriteImage_SecurityAlt_01_sequence),PeepSpriteImage_SecurityAlt_01_sequence }, + { 11905, countof(PeepSpriteImage_SecurityAlt_02_sequence),PeepSpriteImage_SecurityAlt_02_sequence }, + { 6653, countof(PeepSpriteImage_SecurityAlt_03_sequence),PeepSpriteImage_SecurityAlt_03_sequence }, + { 6697, countof(PeepSpriteImage_SecurityAlt_04_sequence),PeepSpriteImage_SecurityAlt_04_sequence }, + { 6757, countof(PeepSpriteImage_SecurityAlt_05_sequence),PeepSpriteImage_SecurityAlt_05_sequence }, + { 6561, countof(PeepSpriteImage_SecurityAlt_06_sequence),PeepSpriteImage_SecurityAlt_06_sequence }, + { 6625, countof(PeepSpriteImage_SecurityAlt_07_sequence),PeepSpriteImage_SecurityAlt_07_sequence }, + { 6629, countof(PeepSpriteImage_SecurityAlt_08_sequence),PeepSpriteImage_SecurityAlt_08_sequence }, + { 6637, countof(PeepSpriteImage_SecurityAlt_09_sequence),PeepSpriteImage_SecurityAlt_09_sequence }, + { 6645, countof(PeepSpriteImage_SecurityAlt_10_sequence),PeepSpriteImage_SecurityAlt_10_sequence }, + { 11909, countof(PeepSpriteImage_SecurityAlt_11_sequence),PeepSpriteImage_SecurityAlt_11_sequence }, + { 11301, countof(PeepSpriteImage_SecurityAlt_12_sequence),PeepSpriteImage_SecurityAlt_12_sequence }, + { 6825, countof(PeepSpriteImage_SecurityAlt_13_sequence),PeepSpriteImage_SecurityAlt_13_sequence }, + { 6845, countof(PeepSpriteImage_SecurityAlt_14_sequence),PeepSpriteImage_SecurityAlt_14_sequence }, + { 6909, countof(PeepSpriteImage_SecurityAlt_15_sequence),PeepSpriteImage_SecurityAlt_15_sequence }, + { 11325, countof(PeepSpriteImage_SecurityAlt_16_sequence),PeepSpriteImage_SecurityAlt_16_sequence }, + { 11921, countof(PeepSpriteImage_SecurityAlt_17_sequence),PeepSpriteImage_SecurityAlt_17_sequence }, + { 11513, countof(PeepSpriteImage_SecurityAlt_18_sequence),PeepSpriteImage_SecurityAlt_18_sequence }, + { 11513, countof(PeepSpriteImage_SecurityAlt_19_sequence),PeepSpriteImage_SecurityAlt_19_sequence }, + { 11597, countof(PeepSpriteImage_SecurityAlt_20_sequence),PeepSpriteImage_SecurityAlt_20_sequence }, + { 11669, countof(PeepSpriteImage_SecurityAlt_21_sequence),PeepSpriteImage_SecurityAlt_21_sequence }, + { 11669, countof(PeepSpriteImage_SecurityAlt_22_sequence),PeepSpriteImage_SecurityAlt_22_sequence }, + { 11801, countof(PeepSpriteImage_SecurityAlt_23_sequence),PeepSpriteImage_SecurityAlt_23_sequence }, + { 11669, countof(PeepSpriteImage_SecurityAlt_24_sequence),PeepSpriteImage_SecurityAlt_24_sequence }, + { 11377, countof(PeepSpriteImage_SecurityAlt_25_sequence),PeepSpriteImage_SecurityAlt_25_sequence }, + { 6989, countof(PeepSpriteImage_SecurityAlt_26_sequence),PeepSpriteImage_SecurityAlt_26_sequence }, + { 7041, countof(PeepSpriteImage_SecurityAlt_27_sequence),PeepSpriteImage_SecurityAlt_27_sequence }, + { 7101, countof(PeepSpriteImage_SecurityAlt_28_sequence),PeepSpriteImage_SecurityAlt_28_sequence }, + { 11401, countof(PeepSpriteImage_SecurityAlt_29_sequence),PeepSpriteImage_SecurityAlt_29_sequence }, + { 7121, countof(PeepSpriteImage_SecurityAlt_30_sequence),PeepSpriteImage_SecurityAlt_30_sequence }, + { 7149, countof(PeepSpriteImage_SecurityAlt_31_sequence),PeepSpriteImage_SecurityAlt_31_sequence }, + { 7249, countof(PeepSpriteImage_SecurityAlt_32_sequence),PeepSpriteImage_SecurityAlt_32_sequence }, + { 7309, countof(PeepSpriteImage_SecurityAlt_33_sequence),PeepSpriteImage_SecurityAlt_33_sequence }, + { 7329, countof(PeepSpriteImage_SecurityAlt_34_sequence),PeepSpriteImage_SecurityAlt_34_sequence }, + { 7285, countof(PeepSpriteImage_SecurityAlt_35_sequence),PeepSpriteImage_SecurityAlt_35_sequence }, + { 7181, countof(PeepSpriteImage_SecurityAlt_36_sequence),PeepSpriteImage_SecurityAlt_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Popcorn[] = { - { 11025, countof(PeepSpriteImage_Popcorn_00_sequence), PeepSpriteImage_Popcorn_00_sequence }, - { 6585, countof(PeepSpriteImage_Popcorn_01_sequence), PeepSpriteImage_Popcorn_01_sequence }, - { 11021, countof(PeepSpriteImage_Popcorn_02_sequence), PeepSpriteImage_Popcorn_02_sequence }, - { 11149, countof(PeepSpriteImage_Popcorn_03_sequence), PeepSpriteImage_Popcorn_03_sequence }, - { 6697, countof(PeepSpriteImage_Popcorn_04_sequence), PeepSpriteImage_Popcorn_04_sequence }, - { 6757, countof(PeepSpriteImage_Popcorn_05_sequence), PeepSpriteImage_Popcorn_05_sequence }, - { 6561, countof(PeepSpriteImage_Popcorn_06_sequence), PeepSpriteImage_Popcorn_06_sequence }, - { 11097, countof(PeepSpriteImage_Popcorn_07_sequence), PeepSpriteImage_Popcorn_07_sequence }, - { 11101, countof(PeepSpriteImage_Popcorn_08_sequence), PeepSpriteImage_Popcorn_08_sequence }, - { 6637, countof(PeepSpriteImage_Popcorn_09_sequence), PeepSpriteImage_Popcorn_09_sequence }, - { 6645, countof(PeepSpriteImage_Popcorn_10_sequence), PeepSpriteImage_Popcorn_10_sequence }, - { 6813, countof(PeepSpriteImage_Popcorn_11_sequence), PeepSpriteImage_Popcorn_11_sequence }, - { 11301, countof(PeepSpriteImage_Popcorn_12_sequence), PeepSpriteImage_Popcorn_12_sequence }, - { 6825, countof(PeepSpriteImage_Popcorn_13_sequence), PeepSpriteImage_Popcorn_13_sequence }, - { 6845, countof(PeepSpriteImage_Popcorn_14_sequence), PeepSpriteImage_Popcorn_14_sequence }, - { 6909, countof(PeepSpriteImage_Popcorn_15_sequence), PeepSpriteImage_Popcorn_15_sequence }, - { 11325, countof(PeepSpriteImage_Popcorn_16_sequence), PeepSpriteImage_Popcorn_16_sequence }, - { 6957, countof(PeepSpriteImage_Popcorn_17_sequence), PeepSpriteImage_Popcorn_17_sequence }, - { 11513, countof(PeepSpriteImage_Popcorn_18_sequence), PeepSpriteImage_Popcorn_18_sequence }, - { 11513, countof(PeepSpriteImage_Popcorn_19_sequence), PeepSpriteImage_Popcorn_19_sequence }, - { 11597, countof(PeepSpriteImage_Popcorn_20_sequence), PeepSpriteImage_Popcorn_20_sequence }, - { 11669, countof(PeepSpriteImage_Popcorn_21_sequence), PeepSpriteImage_Popcorn_21_sequence }, - { 11669, countof(PeepSpriteImage_Popcorn_22_sequence), PeepSpriteImage_Popcorn_22_sequence }, - { 11801, countof(PeepSpriteImage_Popcorn_23_sequence), PeepSpriteImage_Popcorn_23_sequence }, - { 11669, countof(PeepSpriteImage_Popcorn_24_sequence), PeepSpriteImage_Popcorn_24_sequence }, - { 11377, countof(PeepSpriteImage_Popcorn_25_sequence), PeepSpriteImage_Popcorn_25_sequence }, - { 6989, countof(PeepSpriteImage_Popcorn_26_sequence), PeepSpriteImage_Popcorn_26_sequence }, - { 7041, countof(PeepSpriteImage_Popcorn_27_sequence), PeepSpriteImage_Popcorn_27_sequence }, - { 7101, countof(PeepSpriteImage_Popcorn_28_sequence), PeepSpriteImage_Popcorn_28_sequence }, - { 11401, countof(PeepSpriteImage_Popcorn_29_sequence), PeepSpriteImage_Popcorn_29_sequence }, - { 7121, countof(PeepSpriteImage_Popcorn_30_sequence), PeepSpriteImage_Popcorn_30_sequence }, - { 7149, countof(PeepSpriteImage_Popcorn_31_sequence), PeepSpriteImage_Popcorn_31_sequence }, - { 7249, countof(PeepSpriteImage_Popcorn_32_sequence), PeepSpriteImage_Popcorn_32_sequence }, - { 7309, countof(PeepSpriteImage_Popcorn_33_sequence), PeepSpriteImage_Popcorn_33_sequence }, - { 7329, countof(PeepSpriteImage_Popcorn_34_sequence), PeepSpriteImage_Popcorn_34_sequence }, - { 7285, countof(PeepSpriteImage_Popcorn_35_sequence), PeepSpriteImage_Popcorn_35_sequence }, - { 7181, countof(PeepSpriteImage_Popcorn_36_sequence), PeepSpriteImage_Popcorn_36_sequence }, + { 11025, countof(PeepSpriteImage_Popcorn_00_sequence), PeepSpriteImage_Popcorn_00_sequence }, + { 6585, countof(PeepSpriteImage_Popcorn_01_sequence), PeepSpriteImage_Popcorn_01_sequence }, + { 11021, countof(PeepSpriteImage_Popcorn_02_sequence), PeepSpriteImage_Popcorn_02_sequence }, + { 11149, countof(PeepSpriteImage_Popcorn_03_sequence), PeepSpriteImage_Popcorn_03_sequence }, + { 6697, countof(PeepSpriteImage_Popcorn_04_sequence), PeepSpriteImage_Popcorn_04_sequence }, + { 6757, countof(PeepSpriteImage_Popcorn_05_sequence), PeepSpriteImage_Popcorn_05_sequence }, + { 6561, countof(PeepSpriteImage_Popcorn_06_sequence), PeepSpriteImage_Popcorn_06_sequence }, + { 11097, countof(PeepSpriteImage_Popcorn_07_sequence), PeepSpriteImage_Popcorn_07_sequence }, + { 11101, countof(PeepSpriteImage_Popcorn_08_sequence), PeepSpriteImage_Popcorn_08_sequence }, + { 6637, countof(PeepSpriteImage_Popcorn_09_sequence), PeepSpriteImage_Popcorn_09_sequence }, + { 6645, countof(PeepSpriteImage_Popcorn_10_sequence), PeepSpriteImage_Popcorn_10_sequence }, + { 6813, countof(PeepSpriteImage_Popcorn_11_sequence), PeepSpriteImage_Popcorn_11_sequence }, + { 11301, countof(PeepSpriteImage_Popcorn_12_sequence), PeepSpriteImage_Popcorn_12_sequence }, + { 6825, countof(PeepSpriteImage_Popcorn_13_sequence), PeepSpriteImage_Popcorn_13_sequence }, + { 6845, countof(PeepSpriteImage_Popcorn_14_sequence), PeepSpriteImage_Popcorn_14_sequence }, + { 6909, countof(PeepSpriteImage_Popcorn_15_sequence), PeepSpriteImage_Popcorn_15_sequence }, + { 11325, countof(PeepSpriteImage_Popcorn_16_sequence), PeepSpriteImage_Popcorn_16_sequence }, + { 6957, countof(PeepSpriteImage_Popcorn_17_sequence), PeepSpriteImage_Popcorn_17_sequence }, + { 11513, countof(PeepSpriteImage_Popcorn_18_sequence), PeepSpriteImage_Popcorn_18_sequence }, + { 11513, countof(PeepSpriteImage_Popcorn_19_sequence), PeepSpriteImage_Popcorn_19_sequence }, + { 11597, countof(PeepSpriteImage_Popcorn_20_sequence), PeepSpriteImage_Popcorn_20_sequence }, + { 11669, countof(PeepSpriteImage_Popcorn_21_sequence), PeepSpriteImage_Popcorn_21_sequence }, + { 11669, countof(PeepSpriteImage_Popcorn_22_sequence), PeepSpriteImage_Popcorn_22_sequence }, + { 11801, countof(PeepSpriteImage_Popcorn_23_sequence), PeepSpriteImage_Popcorn_23_sequence }, + { 11669, countof(PeepSpriteImage_Popcorn_24_sequence), PeepSpriteImage_Popcorn_24_sequence }, + { 11377, countof(PeepSpriteImage_Popcorn_25_sequence), PeepSpriteImage_Popcorn_25_sequence }, + { 6989, countof(PeepSpriteImage_Popcorn_26_sequence), PeepSpriteImage_Popcorn_26_sequence }, + { 7041, countof(PeepSpriteImage_Popcorn_27_sequence), PeepSpriteImage_Popcorn_27_sequence }, + { 7101, countof(PeepSpriteImage_Popcorn_28_sequence), PeepSpriteImage_Popcorn_28_sequence }, + { 11401, countof(PeepSpriteImage_Popcorn_29_sequence), PeepSpriteImage_Popcorn_29_sequence }, + { 7121, countof(PeepSpriteImage_Popcorn_30_sequence), PeepSpriteImage_Popcorn_30_sequence }, + { 7149, countof(PeepSpriteImage_Popcorn_31_sequence), PeepSpriteImage_Popcorn_31_sequence }, + { 7249, countof(PeepSpriteImage_Popcorn_32_sequence), PeepSpriteImage_Popcorn_32_sequence }, + { 7309, countof(PeepSpriteImage_Popcorn_33_sequence), PeepSpriteImage_Popcorn_33_sequence }, + { 7329, countof(PeepSpriteImage_Popcorn_34_sequence), PeepSpriteImage_Popcorn_34_sequence }, + { 7285, countof(PeepSpriteImage_Popcorn_35_sequence), PeepSpriteImage_Popcorn_35_sequence }, + { 7181, countof(PeepSpriteImage_Popcorn_36_sequence), PeepSpriteImage_Popcorn_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_ArmsCrossed[] = { - { 6433, countof(PeepSpriteImage_ArmsCrossed_00_sequence), PeepSpriteImage_ArmsCrossed_00_sequence }, - { 6585, countof(PeepSpriteImage_ArmsCrossed_01_sequence), PeepSpriteImage_ArmsCrossed_01_sequence }, - { 6621, countof(PeepSpriteImage_ArmsCrossed_02_sequence), PeepSpriteImage_ArmsCrossed_02_sequence }, - { 6653, countof(PeepSpriteImage_ArmsCrossed_03_sequence), PeepSpriteImage_ArmsCrossed_03_sequence }, - { 6697, countof(PeepSpriteImage_ArmsCrossed_04_sequence), PeepSpriteImage_ArmsCrossed_04_sequence }, - { 6757, countof(PeepSpriteImage_ArmsCrossed_05_sequence), PeepSpriteImage_ArmsCrossed_05_sequence }, - { 6561, countof(PeepSpriteImage_ArmsCrossed_06_sequence), PeepSpriteImage_ArmsCrossed_06_sequence }, - { 6625, countof(PeepSpriteImage_ArmsCrossed_07_sequence), PeepSpriteImage_ArmsCrossed_07_sequence }, - { 6629, countof(PeepSpriteImage_ArmsCrossed_08_sequence), PeepSpriteImage_ArmsCrossed_08_sequence }, - { 6637, countof(PeepSpriteImage_ArmsCrossed_09_sequence), PeepSpriteImage_ArmsCrossed_09_sequence }, - { 6645, countof(PeepSpriteImage_ArmsCrossed_10_sequence), PeepSpriteImage_ArmsCrossed_10_sequence }, - { 6813, countof(PeepSpriteImage_ArmsCrossed_11_sequence), PeepSpriteImage_ArmsCrossed_11_sequence }, - { 11301, countof(PeepSpriteImage_ArmsCrossed_12_sequence), PeepSpriteImage_ArmsCrossed_12_sequence }, - { 6825, countof(PeepSpriteImage_ArmsCrossed_13_sequence), PeepSpriteImage_ArmsCrossed_13_sequence }, - { 6845, countof(PeepSpriteImage_ArmsCrossed_14_sequence), PeepSpriteImage_ArmsCrossed_14_sequence }, - { 6909, countof(PeepSpriteImage_ArmsCrossed_15_sequence), PeepSpriteImage_ArmsCrossed_15_sequence }, - { 11325, countof(PeepSpriteImage_ArmsCrossed_16_sequence), PeepSpriteImage_ArmsCrossed_16_sequence }, - { 6957, countof(PeepSpriteImage_ArmsCrossed_17_sequence), PeepSpriteImage_ArmsCrossed_17_sequence }, - { 11513, countof(PeepSpriteImage_ArmsCrossed_18_sequence), PeepSpriteImage_ArmsCrossed_18_sequence }, - { 11513, countof(PeepSpriteImage_ArmsCrossed_19_sequence), PeepSpriteImage_ArmsCrossed_19_sequence }, - { 11597, countof(PeepSpriteImage_ArmsCrossed_20_sequence), PeepSpriteImage_ArmsCrossed_20_sequence }, - { 11669, countof(PeepSpriteImage_ArmsCrossed_21_sequence), PeepSpriteImage_ArmsCrossed_21_sequence }, - { 11669, countof(PeepSpriteImage_ArmsCrossed_22_sequence), PeepSpriteImage_ArmsCrossed_22_sequence }, - { 11801, countof(PeepSpriteImage_ArmsCrossed_23_sequence), PeepSpriteImage_ArmsCrossed_23_sequence }, - { 11669, countof(PeepSpriteImage_ArmsCrossed_24_sequence), PeepSpriteImage_ArmsCrossed_24_sequence }, - { 11377, countof(PeepSpriteImage_ArmsCrossed_25_sequence), PeepSpriteImage_ArmsCrossed_25_sequence }, - { 6989, countof(PeepSpriteImage_ArmsCrossed_26_sequence), PeepSpriteImage_ArmsCrossed_26_sequence }, - { 7041, countof(PeepSpriteImage_ArmsCrossed_27_sequence), PeepSpriteImage_ArmsCrossed_27_sequence }, - { 7101, countof(PeepSpriteImage_ArmsCrossed_28_sequence), PeepSpriteImage_ArmsCrossed_28_sequence }, - { 11401, countof(PeepSpriteImage_ArmsCrossed_29_sequence), PeepSpriteImage_ArmsCrossed_29_sequence }, - { 7121, countof(PeepSpriteImage_ArmsCrossed_30_sequence), PeepSpriteImage_ArmsCrossed_30_sequence }, - { 7149, countof(PeepSpriteImage_ArmsCrossed_31_sequence), PeepSpriteImage_ArmsCrossed_31_sequence }, - { 7249, countof(PeepSpriteImage_ArmsCrossed_32_sequence), PeepSpriteImage_ArmsCrossed_32_sequence }, - { 7309, countof(PeepSpriteImage_ArmsCrossed_33_sequence), PeepSpriteImage_ArmsCrossed_33_sequence }, - { 7329, countof(PeepSpriteImage_ArmsCrossed_34_sequence), PeepSpriteImage_ArmsCrossed_34_sequence }, - { 7285, countof(PeepSpriteImage_ArmsCrossed_35_sequence), PeepSpriteImage_ArmsCrossed_35_sequence }, - { 7181, countof(PeepSpriteImage_ArmsCrossed_36_sequence), PeepSpriteImage_ArmsCrossed_36_sequence }, + { 6433, countof(PeepSpriteImage_ArmsCrossed_00_sequence), PeepSpriteImage_ArmsCrossed_00_sequence }, + { 6585, countof(PeepSpriteImage_ArmsCrossed_01_sequence), PeepSpriteImage_ArmsCrossed_01_sequence }, + { 6621, countof(PeepSpriteImage_ArmsCrossed_02_sequence), PeepSpriteImage_ArmsCrossed_02_sequence }, + { 6653, countof(PeepSpriteImage_ArmsCrossed_03_sequence), PeepSpriteImage_ArmsCrossed_03_sequence }, + { 6697, countof(PeepSpriteImage_ArmsCrossed_04_sequence), PeepSpriteImage_ArmsCrossed_04_sequence }, + { 6757, countof(PeepSpriteImage_ArmsCrossed_05_sequence), PeepSpriteImage_ArmsCrossed_05_sequence }, + { 6561, countof(PeepSpriteImage_ArmsCrossed_06_sequence), PeepSpriteImage_ArmsCrossed_06_sequence }, + { 6625, countof(PeepSpriteImage_ArmsCrossed_07_sequence), PeepSpriteImage_ArmsCrossed_07_sequence }, + { 6629, countof(PeepSpriteImage_ArmsCrossed_08_sequence), PeepSpriteImage_ArmsCrossed_08_sequence }, + { 6637, countof(PeepSpriteImage_ArmsCrossed_09_sequence), PeepSpriteImage_ArmsCrossed_09_sequence }, + { 6645, countof(PeepSpriteImage_ArmsCrossed_10_sequence), PeepSpriteImage_ArmsCrossed_10_sequence }, + { 6813, countof(PeepSpriteImage_ArmsCrossed_11_sequence), PeepSpriteImage_ArmsCrossed_11_sequence }, + { 11301, countof(PeepSpriteImage_ArmsCrossed_12_sequence), PeepSpriteImage_ArmsCrossed_12_sequence }, + { 6825, countof(PeepSpriteImage_ArmsCrossed_13_sequence), PeepSpriteImage_ArmsCrossed_13_sequence }, + { 6845, countof(PeepSpriteImage_ArmsCrossed_14_sequence), PeepSpriteImage_ArmsCrossed_14_sequence }, + { 6909, countof(PeepSpriteImage_ArmsCrossed_15_sequence), PeepSpriteImage_ArmsCrossed_15_sequence }, + { 11325, countof(PeepSpriteImage_ArmsCrossed_16_sequence), PeepSpriteImage_ArmsCrossed_16_sequence }, + { 6957, countof(PeepSpriteImage_ArmsCrossed_17_sequence), PeepSpriteImage_ArmsCrossed_17_sequence }, + { 11513, countof(PeepSpriteImage_ArmsCrossed_18_sequence), PeepSpriteImage_ArmsCrossed_18_sequence }, + { 11513, countof(PeepSpriteImage_ArmsCrossed_19_sequence), PeepSpriteImage_ArmsCrossed_19_sequence }, + { 11597, countof(PeepSpriteImage_ArmsCrossed_20_sequence), PeepSpriteImage_ArmsCrossed_20_sequence }, + { 11669, countof(PeepSpriteImage_ArmsCrossed_21_sequence), PeepSpriteImage_ArmsCrossed_21_sequence }, + { 11669, countof(PeepSpriteImage_ArmsCrossed_22_sequence), PeepSpriteImage_ArmsCrossed_22_sequence }, + { 11801, countof(PeepSpriteImage_ArmsCrossed_23_sequence), PeepSpriteImage_ArmsCrossed_23_sequence }, + { 11669, countof(PeepSpriteImage_ArmsCrossed_24_sequence), PeepSpriteImage_ArmsCrossed_24_sequence }, + { 11377, countof(PeepSpriteImage_ArmsCrossed_25_sequence), PeepSpriteImage_ArmsCrossed_25_sequence }, + { 6989, countof(PeepSpriteImage_ArmsCrossed_26_sequence), PeepSpriteImage_ArmsCrossed_26_sequence }, + { 7041, countof(PeepSpriteImage_ArmsCrossed_27_sequence), PeepSpriteImage_ArmsCrossed_27_sequence }, + { 7101, countof(PeepSpriteImage_ArmsCrossed_28_sequence), PeepSpriteImage_ArmsCrossed_28_sequence }, + { 11401, countof(PeepSpriteImage_ArmsCrossed_29_sequence), PeepSpriteImage_ArmsCrossed_29_sequence }, + { 7121, countof(PeepSpriteImage_ArmsCrossed_30_sequence), PeepSpriteImage_ArmsCrossed_30_sequence }, + { 7149, countof(PeepSpriteImage_ArmsCrossed_31_sequence), PeepSpriteImage_ArmsCrossed_31_sequence }, + { 7249, countof(PeepSpriteImage_ArmsCrossed_32_sequence), PeepSpriteImage_ArmsCrossed_32_sequence }, + { 7309, countof(PeepSpriteImage_ArmsCrossed_33_sequence), PeepSpriteImage_ArmsCrossed_33_sequence }, + { 7329, countof(PeepSpriteImage_ArmsCrossed_34_sequence), PeepSpriteImage_ArmsCrossed_34_sequence }, + { 7285, countof(PeepSpriteImage_ArmsCrossed_35_sequence), PeepSpriteImage_ArmsCrossed_35_sequence }, + { 7181, countof(PeepSpriteImage_ArmsCrossed_36_sequence), PeepSpriteImage_ArmsCrossed_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_HeadDown[] = { - { 6457, countof(PeepSpriteImage_HeadDown_00_sequence), PeepSpriteImage_HeadDown_00_sequence }, - { 6585, countof(PeepSpriteImage_HeadDown_01_sequence), PeepSpriteImage_HeadDown_01_sequence }, - { 6621, countof(PeepSpriteImage_HeadDown_02_sequence), PeepSpriteImage_HeadDown_02_sequence }, - { 6653, countof(PeepSpriteImage_HeadDown_03_sequence), PeepSpriteImage_HeadDown_03_sequence }, - { 6697, countof(PeepSpriteImage_HeadDown_04_sequence), PeepSpriteImage_HeadDown_04_sequence }, - { 6757, countof(PeepSpriteImage_HeadDown_05_sequence), PeepSpriteImage_HeadDown_05_sequence }, - { 6561, countof(PeepSpriteImage_HeadDown_06_sequence), PeepSpriteImage_HeadDown_06_sequence }, - { 6625, countof(PeepSpriteImage_HeadDown_07_sequence), PeepSpriteImage_HeadDown_07_sequence }, - { 6629, countof(PeepSpriteImage_HeadDown_08_sequence), PeepSpriteImage_HeadDown_08_sequence }, - { 6637, countof(PeepSpriteImage_HeadDown_09_sequence), PeepSpriteImage_HeadDown_09_sequence }, - { 6645, countof(PeepSpriteImage_HeadDown_10_sequence), PeepSpriteImage_HeadDown_10_sequence }, - { 6813, countof(PeepSpriteImage_HeadDown_11_sequence), PeepSpriteImage_HeadDown_11_sequence }, - { 11301, countof(PeepSpriteImage_HeadDown_12_sequence), PeepSpriteImage_HeadDown_12_sequence }, - { 6825, countof(PeepSpriteImage_HeadDown_13_sequence), PeepSpriteImage_HeadDown_13_sequence }, - { 6845, countof(PeepSpriteImage_HeadDown_14_sequence), PeepSpriteImage_HeadDown_14_sequence }, - { 6909, countof(PeepSpriteImage_HeadDown_15_sequence), PeepSpriteImage_HeadDown_15_sequence }, - { 11325, countof(PeepSpriteImage_HeadDown_16_sequence), PeepSpriteImage_HeadDown_16_sequence }, - { 6957, countof(PeepSpriteImage_HeadDown_17_sequence), PeepSpriteImage_HeadDown_17_sequence }, - { 11513, countof(PeepSpriteImage_HeadDown_18_sequence), PeepSpriteImage_HeadDown_18_sequence }, - { 11513, countof(PeepSpriteImage_HeadDown_19_sequence), PeepSpriteImage_HeadDown_19_sequence }, - { 11597, countof(PeepSpriteImage_HeadDown_20_sequence), PeepSpriteImage_HeadDown_20_sequence }, - { 11669, countof(PeepSpriteImage_HeadDown_21_sequence), PeepSpriteImage_HeadDown_21_sequence }, - { 11669, countof(PeepSpriteImage_HeadDown_22_sequence), PeepSpriteImage_HeadDown_22_sequence }, - { 11801, countof(PeepSpriteImage_HeadDown_23_sequence), PeepSpriteImage_HeadDown_23_sequence }, - { 11669, countof(PeepSpriteImage_HeadDown_24_sequence), PeepSpriteImage_HeadDown_24_sequence }, - { 11377, countof(PeepSpriteImage_HeadDown_25_sequence), PeepSpriteImage_HeadDown_25_sequence }, - { 6989, countof(PeepSpriteImage_HeadDown_26_sequence), PeepSpriteImage_HeadDown_26_sequence }, - { 7041, countof(PeepSpriteImage_HeadDown_27_sequence), PeepSpriteImage_HeadDown_27_sequence }, - { 7101, countof(PeepSpriteImage_HeadDown_28_sequence), PeepSpriteImage_HeadDown_28_sequence }, - { 11401, countof(PeepSpriteImage_HeadDown_29_sequence), PeepSpriteImage_HeadDown_29_sequence }, - { 7121, countof(PeepSpriteImage_HeadDown_30_sequence), PeepSpriteImage_HeadDown_30_sequence }, - { 7149, countof(PeepSpriteImage_HeadDown_31_sequence), PeepSpriteImage_HeadDown_31_sequence }, - { 7249, countof(PeepSpriteImage_HeadDown_32_sequence), PeepSpriteImage_HeadDown_32_sequence }, - { 7309, countof(PeepSpriteImage_HeadDown_33_sequence), PeepSpriteImage_HeadDown_33_sequence }, - { 7329, countof(PeepSpriteImage_HeadDown_34_sequence), PeepSpriteImage_HeadDown_34_sequence }, - { 7285, countof(PeepSpriteImage_HeadDown_35_sequence), PeepSpriteImage_HeadDown_35_sequence }, - { 7181, countof(PeepSpriteImage_HeadDown_36_sequence), PeepSpriteImage_HeadDown_36_sequence }, + { 6457, countof(PeepSpriteImage_HeadDown_00_sequence), PeepSpriteImage_HeadDown_00_sequence }, + { 6585, countof(PeepSpriteImage_HeadDown_01_sequence), PeepSpriteImage_HeadDown_01_sequence }, + { 6621, countof(PeepSpriteImage_HeadDown_02_sequence), PeepSpriteImage_HeadDown_02_sequence }, + { 6653, countof(PeepSpriteImage_HeadDown_03_sequence), PeepSpriteImage_HeadDown_03_sequence }, + { 6697, countof(PeepSpriteImage_HeadDown_04_sequence), PeepSpriteImage_HeadDown_04_sequence }, + { 6757, countof(PeepSpriteImage_HeadDown_05_sequence), PeepSpriteImage_HeadDown_05_sequence }, + { 6561, countof(PeepSpriteImage_HeadDown_06_sequence), PeepSpriteImage_HeadDown_06_sequence }, + { 6625, countof(PeepSpriteImage_HeadDown_07_sequence), PeepSpriteImage_HeadDown_07_sequence }, + { 6629, countof(PeepSpriteImage_HeadDown_08_sequence), PeepSpriteImage_HeadDown_08_sequence }, + { 6637, countof(PeepSpriteImage_HeadDown_09_sequence), PeepSpriteImage_HeadDown_09_sequence }, + { 6645, countof(PeepSpriteImage_HeadDown_10_sequence), PeepSpriteImage_HeadDown_10_sequence }, + { 6813, countof(PeepSpriteImage_HeadDown_11_sequence), PeepSpriteImage_HeadDown_11_sequence }, + { 11301, countof(PeepSpriteImage_HeadDown_12_sequence), PeepSpriteImage_HeadDown_12_sequence }, + { 6825, countof(PeepSpriteImage_HeadDown_13_sequence), PeepSpriteImage_HeadDown_13_sequence }, + { 6845, countof(PeepSpriteImage_HeadDown_14_sequence), PeepSpriteImage_HeadDown_14_sequence }, + { 6909, countof(PeepSpriteImage_HeadDown_15_sequence), PeepSpriteImage_HeadDown_15_sequence }, + { 11325, countof(PeepSpriteImage_HeadDown_16_sequence), PeepSpriteImage_HeadDown_16_sequence }, + { 6957, countof(PeepSpriteImage_HeadDown_17_sequence), PeepSpriteImage_HeadDown_17_sequence }, + { 11513, countof(PeepSpriteImage_HeadDown_18_sequence), PeepSpriteImage_HeadDown_18_sequence }, + { 11513, countof(PeepSpriteImage_HeadDown_19_sequence), PeepSpriteImage_HeadDown_19_sequence }, + { 11597, countof(PeepSpriteImage_HeadDown_20_sequence), PeepSpriteImage_HeadDown_20_sequence }, + { 11669, countof(PeepSpriteImage_HeadDown_21_sequence), PeepSpriteImage_HeadDown_21_sequence }, + { 11669, countof(PeepSpriteImage_HeadDown_22_sequence), PeepSpriteImage_HeadDown_22_sequence }, + { 11801, countof(PeepSpriteImage_HeadDown_23_sequence), PeepSpriteImage_HeadDown_23_sequence }, + { 11669, countof(PeepSpriteImage_HeadDown_24_sequence), PeepSpriteImage_HeadDown_24_sequence }, + { 11377, countof(PeepSpriteImage_HeadDown_25_sequence), PeepSpriteImage_HeadDown_25_sequence }, + { 6989, countof(PeepSpriteImage_HeadDown_26_sequence), PeepSpriteImage_HeadDown_26_sequence }, + { 7041, countof(PeepSpriteImage_HeadDown_27_sequence), PeepSpriteImage_HeadDown_27_sequence }, + { 7101, countof(PeepSpriteImage_HeadDown_28_sequence), PeepSpriteImage_HeadDown_28_sequence }, + { 11401, countof(PeepSpriteImage_HeadDown_29_sequence), PeepSpriteImage_HeadDown_29_sequence }, + { 7121, countof(PeepSpriteImage_HeadDown_30_sequence), PeepSpriteImage_HeadDown_30_sequence }, + { 7149, countof(PeepSpriteImage_HeadDown_31_sequence), PeepSpriteImage_HeadDown_31_sequence }, + { 7249, countof(PeepSpriteImage_HeadDown_32_sequence), PeepSpriteImage_HeadDown_32_sequence }, + { 7309, countof(PeepSpriteImage_HeadDown_33_sequence), PeepSpriteImage_HeadDown_33_sequence }, + { 7329, countof(PeepSpriteImage_HeadDown_34_sequence), PeepSpriteImage_HeadDown_34_sequence }, + { 7285, countof(PeepSpriteImage_HeadDown_35_sequence), PeepSpriteImage_HeadDown_35_sequence }, + { 7181, countof(PeepSpriteImage_HeadDown_36_sequence), PeepSpriteImage_HeadDown_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Nauseous[] = { - { 6481, countof(PeepSpriteImage_Nauseous_00_sequence), PeepSpriteImage_Nauseous_00_sequence }, - { 6585, countof(PeepSpriteImage_Nauseous_01_sequence), PeepSpriteImage_Nauseous_01_sequence }, - { 6621, countof(PeepSpriteImage_Nauseous_02_sequence), PeepSpriteImage_Nauseous_02_sequence }, - { 6653, countof(PeepSpriteImage_Nauseous_03_sequence), PeepSpriteImage_Nauseous_03_sequence }, - { 6697, countof(PeepSpriteImage_Nauseous_04_sequence), PeepSpriteImage_Nauseous_04_sequence }, - { 6757, countof(PeepSpriteImage_Nauseous_05_sequence), PeepSpriteImage_Nauseous_05_sequence }, - { 6561, countof(PeepSpriteImage_Nauseous_06_sequence), PeepSpriteImage_Nauseous_06_sequence }, - { 6625, countof(PeepSpriteImage_Nauseous_07_sequence), PeepSpriteImage_Nauseous_07_sequence }, - { 6629, countof(PeepSpriteImage_Nauseous_08_sequence), PeepSpriteImage_Nauseous_08_sequence }, - { 6637, countof(PeepSpriteImage_Nauseous_09_sequence), PeepSpriteImage_Nauseous_09_sequence }, - { 6645, countof(PeepSpriteImage_Nauseous_10_sequence), PeepSpriteImage_Nauseous_10_sequence }, - { 6813, countof(PeepSpriteImage_Nauseous_11_sequence), PeepSpriteImage_Nauseous_11_sequence }, - { 11301, countof(PeepSpriteImage_Nauseous_12_sequence), PeepSpriteImage_Nauseous_12_sequence }, - { 6825, countof(PeepSpriteImage_Nauseous_13_sequence), PeepSpriteImage_Nauseous_13_sequence }, - { 6845, countof(PeepSpriteImage_Nauseous_14_sequence), PeepSpriteImage_Nauseous_14_sequence }, - { 6909, countof(PeepSpriteImage_Nauseous_15_sequence), PeepSpriteImage_Nauseous_15_sequence }, - { 11325, countof(PeepSpriteImage_Nauseous_16_sequence), PeepSpriteImage_Nauseous_16_sequence }, - { 6957, countof(PeepSpriteImage_Nauseous_17_sequence), PeepSpriteImage_Nauseous_17_sequence }, - { 11513, countof(PeepSpriteImage_Nauseous_18_sequence), PeepSpriteImage_Nauseous_18_sequence }, - { 11513, countof(PeepSpriteImage_Nauseous_19_sequence), PeepSpriteImage_Nauseous_19_sequence }, - { 11597, countof(PeepSpriteImage_Nauseous_20_sequence), PeepSpriteImage_Nauseous_20_sequence }, - { 11669, countof(PeepSpriteImage_Nauseous_21_sequence), PeepSpriteImage_Nauseous_21_sequence }, - { 11669, countof(PeepSpriteImage_Nauseous_22_sequence), PeepSpriteImage_Nauseous_22_sequence }, - { 11801, countof(PeepSpriteImage_Nauseous_23_sequence), PeepSpriteImage_Nauseous_23_sequence }, - { 11669, countof(PeepSpriteImage_Nauseous_24_sequence), PeepSpriteImage_Nauseous_24_sequence }, - { 11377, countof(PeepSpriteImage_Nauseous_25_sequence), PeepSpriteImage_Nauseous_25_sequence }, - { 6989, countof(PeepSpriteImage_Nauseous_26_sequence), PeepSpriteImage_Nauseous_26_sequence }, - { 7041, countof(PeepSpriteImage_Nauseous_27_sequence), PeepSpriteImage_Nauseous_27_sequence }, - { 7101, countof(PeepSpriteImage_Nauseous_28_sequence), PeepSpriteImage_Nauseous_28_sequence }, - { 11401, countof(PeepSpriteImage_Nauseous_29_sequence), PeepSpriteImage_Nauseous_29_sequence }, - { 7121, countof(PeepSpriteImage_Nauseous_30_sequence), PeepSpriteImage_Nauseous_30_sequence }, - { 7149, countof(PeepSpriteImage_Nauseous_31_sequence), PeepSpriteImage_Nauseous_31_sequence }, - { 7249, countof(PeepSpriteImage_Nauseous_32_sequence), PeepSpriteImage_Nauseous_32_sequence }, - { 7309, countof(PeepSpriteImage_Nauseous_33_sequence), PeepSpriteImage_Nauseous_33_sequence }, - { 7329, countof(PeepSpriteImage_Nauseous_34_sequence), PeepSpriteImage_Nauseous_34_sequence }, - { 7285, countof(PeepSpriteImage_Nauseous_35_sequence), PeepSpriteImage_Nauseous_35_sequence }, - { 7181, countof(PeepSpriteImage_Nauseous_36_sequence), PeepSpriteImage_Nauseous_36_sequence }, + { 6481, countof(PeepSpriteImage_Nauseous_00_sequence), PeepSpriteImage_Nauseous_00_sequence }, + { 6585, countof(PeepSpriteImage_Nauseous_01_sequence), PeepSpriteImage_Nauseous_01_sequence }, + { 6621, countof(PeepSpriteImage_Nauseous_02_sequence), PeepSpriteImage_Nauseous_02_sequence }, + { 6653, countof(PeepSpriteImage_Nauseous_03_sequence), PeepSpriteImage_Nauseous_03_sequence }, + { 6697, countof(PeepSpriteImage_Nauseous_04_sequence), PeepSpriteImage_Nauseous_04_sequence }, + { 6757, countof(PeepSpriteImage_Nauseous_05_sequence), PeepSpriteImage_Nauseous_05_sequence }, + { 6561, countof(PeepSpriteImage_Nauseous_06_sequence), PeepSpriteImage_Nauseous_06_sequence }, + { 6625, countof(PeepSpriteImage_Nauseous_07_sequence), PeepSpriteImage_Nauseous_07_sequence }, + { 6629, countof(PeepSpriteImage_Nauseous_08_sequence), PeepSpriteImage_Nauseous_08_sequence }, + { 6637, countof(PeepSpriteImage_Nauseous_09_sequence), PeepSpriteImage_Nauseous_09_sequence }, + { 6645, countof(PeepSpriteImage_Nauseous_10_sequence), PeepSpriteImage_Nauseous_10_sequence }, + { 6813, countof(PeepSpriteImage_Nauseous_11_sequence), PeepSpriteImage_Nauseous_11_sequence }, + { 11301, countof(PeepSpriteImage_Nauseous_12_sequence), PeepSpriteImage_Nauseous_12_sequence }, + { 6825, countof(PeepSpriteImage_Nauseous_13_sequence), PeepSpriteImage_Nauseous_13_sequence }, + { 6845, countof(PeepSpriteImage_Nauseous_14_sequence), PeepSpriteImage_Nauseous_14_sequence }, + { 6909, countof(PeepSpriteImage_Nauseous_15_sequence), PeepSpriteImage_Nauseous_15_sequence }, + { 11325, countof(PeepSpriteImage_Nauseous_16_sequence), PeepSpriteImage_Nauseous_16_sequence }, + { 6957, countof(PeepSpriteImage_Nauseous_17_sequence), PeepSpriteImage_Nauseous_17_sequence }, + { 11513, countof(PeepSpriteImage_Nauseous_18_sequence), PeepSpriteImage_Nauseous_18_sequence }, + { 11513, countof(PeepSpriteImage_Nauseous_19_sequence), PeepSpriteImage_Nauseous_19_sequence }, + { 11597, countof(PeepSpriteImage_Nauseous_20_sequence), PeepSpriteImage_Nauseous_20_sequence }, + { 11669, countof(PeepSpriteImage_Nauseous_21_sequence), PeepSpriteImage_Nauseous_21_sequence }, + { 11669, countof(PeepSpriteImage_Nauseous_22_sequence), PeepSpriteImage_Nauseous_22_sequence }, + { 11801, countof(PeepSpriteImage_Nauseous_23_sequence), PeepSpriteImage_Nauseous_23_sequence }, + { 11669, countof(PeepSpriteImage_Nauseous_24_sequence), PeepSpriteImage_Nauseous_24_sequence }, + { 11377, countof(PeepSpriteImage_Nauseous_25_sequence), PeepSpriteImage_Nauseous_25_sequence }, + { 6989, countof(PeepSpriteImage_Nauseous_26_sequence), PeepSpriteImage_Nauseous_26_sequence }, + { 7041, countof(PeepSpriteImage_Nauseous_27_sequence), PeepSpriteImage_Nauseous_27_sequence }, + { 7101, countof(PeepSpriteImage_Nauseous_28_sequence), PeepSpriteImage_Nauseous_28_sequence }, + { 11401, countof(PeepSpriteImage_Nauseous_29_sequence), PeepSpriteImage_Nauseous_29_sequence }, + { 7121, countof(PeepSpriteImage_Nauseous_30_sequence), PeepSpriteImage_Nauseous_30_sequence }, + { 7149, countof(PeepSpriteImage_Nauseous_31_sequence), PeepSpriteImage_Nauseous_31_sequence }, + { 7249, countof(PeepSpriteImage_Nauseous_32_sequence), PeepSpriteImage_Nauseous_32_sequence }, + { 7309, countof(PeepSpriteImage_Nauseous_33_sequence), PeepSpriteImage_Nauseous_33_sequence }, + { 7329, countof(PeepSpriteImage_Nauseous_34_sequence), PeepSpriteImage_Nauseous_34_sequence }, + { 7285, countof(PeepSpriteImage_Nauseous_35_sequence), PeepSpriteImage_Nauseous_35_sequence }, + { 7181, countof(PeepSpriteImage_Nauseous_36_sequence), PeepSpriteImage_Nauseous_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_VeryNauseous[] = { - { 6505, countof(PeepSpriteImage_VeryNauseous_00_sequence), PeepSpriteImage_VeryNauseous_00_sequence }, - { 6585, countof(PeepSpriteImage_VeryNauseous_01_sequence), PeepSpriteImage_VeryNauseous_01_sequence }, - { 6529, countof(PeepSpriteImage_VeryNauseous_02_sequence), PeepSpriteImage_VeryNauseous_02_sequence }, - { 6653, countof(PeepSpriteImage_VeryNauseous_03_sequence), PeepSpriteImage_VeryNauseous_03_sequence }, - { 6697, countof(PeepSpriteImage_VeryNauseous_04_sequence), PeepSpriteImage_VeryNauseous_04_sequence }, - { 6757, countof(PeepSpriteImage_VeryNauseous_05_sequence), PeepSpriteImage_VeryNauseous_05_sequence }, - { 6561, countof(PeepSpriteImage_VeryNauseous_06_sequence), PeepSpriteImage_VeryNauseous_06_sequence }, - { 6533, countof(PeepSpriteImage_VeryNauseous_07_sequence), PeepSpriteImage_VeryNauseous_07_sequence }, - { 6629, countof(PeepSpriteImage_VeryNauseous_08_sequence), PeepSpriteImage_VeryNauseous_08_sequence }, - { 6637, countof(PeepSpriteImage_VeryNauseous_09_sequence), PeepSpriteImage_VeryNauseous_09_sequence }, - { 6645, countof(PeepSpriteImage_VeryNauseous_10_sequence), PeepSpriteImage_VeryNauseous_10_sequence }, - { 6813, countof(PeepSpriteImage_VeryNauseous_11_sequence), PeepSpriteImage_VeryNauseous_11_sequence }, - { 11301, countof(PeepSpriteImage_VeryNauseous_12_sequence), PeepSpriteImage_VeryNauseous_12_sequence }, - { 6825, countof(PeepSpriteImage_VeryNauseous_13_sequence), PeepSpriteImage_VeryNauseous_13_sequence }, - { 6845, countof(PeepSpriteImage_VeryNauseous_14_sequence), PeepSpriteImage_VeryNauseous_14_sequence }, - { 6909, countof(PeepSpriteImage_VeryNauseous_15_sequence), PeepSpriteImage_VeryNauseous_15_sequence }, - { 11325, countof(PeepSpriteImage_VeryNauseous_16_sequence), PeepSpriteImage_VeryNauseous_16_sequence }, - { 6957, countof(PeepSpriteImage_VeryNauseous_17_sequence), PeepSpriteImage_VeryNauseous_17_sequence }, - { 11513, countof(PeepSpriteImage_VeryNauseous_18_sequence), PeepSpriteImage_VeryNauseous_18_sequence }, - { 11513, countof(PeepSpriteImage_VeryNauseous_19_sequence), PeepSpriteImage_VeryNauseous_19_sequence }, - { 11597, countof(PeepSpriteImage_VeryNauseous_20_sequence), PeepSpriteImage_VeryNauseous_20_sequence }, - { 11669, countof(PeepSpriteImage_VeryNauseous_21_sequence), PeepSpriteImage_VeryNauseous_21_sequence }, - { 11669, countof(PeepSpriteImage_VeryNauseous_22_sequence), PeepSpriteImage_VeryNauseous_22_sequence }, - { 11801, countof(PeepSpriteImage_VeryNauseous_23_sequence), PeepSpriteImage_VeryNauseous_23_sequence }, - { 11669, countof(PeepSpriteImage_VeryNauseous_24_sequence), PeepSpriteImage_VeryNauseous_24_sequence }, - { 11377, countof(PeepSpriteImage_VeryNauseous_25_sequence), PeepSpriteImage_VeryNauseous_25_sequence }, - { 6989, countof(PeepSpriteImage_VeryNauseous_26_sequence), PeepSpriteImage_VeryNauseous_26_sequence }, - { 7041, countof(PeepSpriteImage_VeryNauseous_27_sequence), PeepSpriteImage_VeryNauseous_27_sequence }, - { 7101, countof(PeepSpriteImage_VeryNauseous_28_sequence), PeepSpriteImage_VeryNauseous_28_sequence }, - { 11401, countof(PeepSpriteImage_VeryNauseous_29_sequence), PeepSpriteImage_VeryNauseous_29_sequence }, - { 7121, countof(PeepSpriteImage_VeryNauseous_30_sequence), PeepSpriteImage_VeryNauseous_30_sequence }, - { 7149, countof(PeepSpriteImage_VeryNauseous_31_sequence), PeepSpriteImage_VeryNauseous_31_sequence }, - { 7249, countof(PeepSpriteImage_VeryNauseous_32_sequence), PeepSpriteImage_VeryNauseous_32_sequence }, - { 7309, countof(PeepSpriteImage_VeryNauseous_33_sequence), PeepSpriteImage_VeryNauseous_33_sequence }, - { 7329, countof(PeepSpriteImage_VeryNauseous_34_sequence), PeepSpriteImage_VeryNauseous_34_sequence }, - { 7285, countof(PeepSpriteImage_VeryNauseous_35_sequence), PeepSpriteImage_VeryNauseous_35_sequence }, - { 7181, countof(PeepSpriteImage_VeryNauseous_36_sequence), PeepSpriteImage_VeryNauseous_36_sequence }, + { 6505, countof(PeepSpriteImage_VeryNauseous_00_sequence), PeepSpriteImage_VeryNauseous_00_sequence }, + { 6585, countof(PeepSpriteImage_VeryNauseous_01_sequence), PeepSpriteImage_VeryNauseous_01_sequence }, + { 6529, countof(PeepSpriteImage_VeryNauseous_02_sequence), PeepSpriteImage_VeryNauseous_02_sequence }, + { 6653, countof(PeepSpriteImage_VeryNauseous_03_sequence), PeepSpriteImage_VeryNauseous_03_sequence }, + { 6697, countof(PeepSpriteImage_VeryNauseous_04_sequence), PeepSpriteImage_VeryNauseous_04_sequence }, + { 6757, countof(PeepSpriteImage_VeryNauseous_05_sequence), PeepSpriteImage_VeryNauseous_05_sequence }, + { 6561, countof(PeepSpriteImage_VeryNauseous_06_sequence), PeepSpriteImage_VeryNauseous_06_sequence }, + { 6533, countof(PeepSpriteImage_VeryNauseous_07_sequence), PeepSpriteImage_VeryNauseous_07_sequence }, + { 6629, countof(PeepSpriteImage_VeryNauseous_08_sequence), PeepSpriteImage_VeryNauseous_08_sequence }, + { 6637, countof(PeepSpriteImage_VeryNauseous_09_sequence), PeepSpriteImage_VeryNauseous_09_sequence }, + { 6645, countof(PeepSpriteImage_VeryNauseous_10_sequence), PeepSpriteImage_VeryNauseous_10_sequence }, + { 6813, countof(PeepSpriteImage_VeryNauseous_11_sequence), PeepSpriteImage_VeryNauseous_11_sequence }, + { 11301, countof(PeepSpriteImage_VeryNauseous_12_sequence), PeepSpriteImage_VeryNauseous_12_sequence }, + { 6825, countof(PeepSpriteImage_VeryNauseous_13_sequence), PeepSpriteImage_VeryNauseous_13_sequence }, + { 6845, countof(PeepSpriteImage_VeryNauseous_14_sequence), PeepSpriteImage_VeryNauseous_14_sequence }, + { 6909, countof(PeepSpriteImage_VeryNauseous_15_sequence), PeepSpriteImage_VeryNauseous_15_sequence }, + { 11325, countof(PeepSpriteImage_VeryNauseous_16_sequence), PeepSpriteImage_VeryNauseous_16_sequence }, + { 6957, countof(PeepSpriteImage_VeryNauseous_17_sequence), PeepSpriteImage_VeryNauseous_17_sequence }, + { 11513, countof(PeepSpriteImage_VeryNauseous_18_sequence), PeepSpriteImage_VeryNauseous_18_sequence }, + { 11513, countof(PeepSpriteImage_VeryNauseous_19_sequence), PeepSpriteImage_VeryNauseous_19_sequence }, + { 11597, countof(PeepSpriteImage_VeryNauseous_20_sequence), PeepSpriteImage_VeryNauseous_20_sequence }, + { 11669, countof(PeepSpriteImage_VeryNauseous_21_sequence), PeepSpriteImage_VeryNauseous_21_sequence }, + { 11669, countof(PeepSpriteImage_VeryNauseous_22_sequence), PeepSpriteImage_VeryNauseous_22_sequence }, + { 11801, countof(PeepSpriteImage_VeryNauseous_23_sequence), PeepSpriteImage_VeryNauseous_23_sequence }, + { 11669, countof(PeepSpriteImage_VeryNauseous_24_sequence), PeepSpriteImage_VeryNauseous_24_sequence }, + { 11377, countof(PeepSpriteImage_VeryNauseous_25_sequence), PeepSpriteImage_VeryNauseous_25_sequence }, + { 6989, countof(PeepSpriteImage_VeryNauseous_26_sequence), PeepSpriteImage_VeryNauseous_26_sequence }, + { 7041, countof(PeepSpriteImage_VeryNauseous_27_sequence), PeepSpriteImage_VeryNauseous_27_sequence }, + { 7101, countof(PeepSpriteImage_VeryNauseous_28_sequence), PeepSpriteImage_VeryNauseous_28_sequence }, + { 11401, countof(PeepSpriteImage_VeryNauseous_29_sequence), PeepSpriteImage_VeryNauseous_29_sequence }, + { 7121, countof(PeepSpriteImage_VeryNauseous_30_sequence), PeepSpriteImage_VeryNauseous_30_sequence }, + { 7149, countof(PeepSpriteImage_VeryNauseous_31_sequence), PeepSpriteImage_VeryNauseous_31_sequence }, + { 7249, countof(PeepSpriteImage_VeryNauseous_32_sequence), PeepSpriteImage_VeryNauseous_32_sequence }, + { 7309, countof(PeepSpriteImage_VeryNauseous_33_sequence), PeepSpriteImage_VeryNauseous_33_sequence }, + { 7329, countof(PeepSpriteImage_VeryNauseous_34_sequence), PeepSpriteImage_VeryNauseous_34_sequence }, + { 7285, countof(PeepSpriteImage_VeryNauseous_35_sequence), PeepSpriteImage_VeryNauseous_35_sequence }, + { 7181, countof(PeepSpriteImage_VeryNauseous_36_sequence), PeepSpriteImage_VeryNauseous_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_RequireBathroom[] = { - { 6537, countof(PeepSpriteImage_RequireBathroom_00_sequence), PeepSpriteImage_RequireBathroom_00_sequence }, - { 6585, countof(PeepSpriteImage_RequireBathroom_01_sequence), PeepSpriteImage_RequireBathroom_01_sequence }, - { 6621, countof(PeepSpriteImage_RequireBathroom_02_sequence), PeepSpriteImage_RequireBathroom_02_sequence }, - { 6653, countof(PeepSpriteImage_RequireBathroom_03_sequence), PeepSpriteImage_RequireBathroom_03_sequence }, - { 6697, countof(PeepSpriteImage_RequireBathroom_04_sequence), PeepSpriteImage_RequireBathroom_04_sequence }, - { 6757, countof(PeepSpriteImage_RequireBathroom_05_sequence), PeepSpriteImage_RequireBathroom_05_sequence }, - { 6561, countof(PeepSpriteImage_RequireBathroom_06_sequence), PeepSpriteImage_RequireBathroom_06_sequence }, - { 6625, countof(PeepSpriteImage_RequireBathroom_07_sequence), PeepSpriteImage_RequireBathroom_07_sequence }, - { 6629, countof(PeepSpriteImage_RequireBathroom_08_sequence), PeepSpriteImage_RequireBathroom_08_sequence }, - { 6637, countof(PeepSpriteImage_RequireBathroom_09_sequence), PeepSpriteImage_RequireBathroom_09_sequence }, - { 6645, countof(PeepSpriteImage_RequireBathroom_10_sequence), PeepSpriteImage_RequireBathroom_10_sequence }, - { 6813, countof(PeepSpriteImage_RequireBathroom_11_sequence), PeepSpriteImage_RequireBathroom_11_sequence }, - { 11301, countof(PeepSpriteImage_RequireBathroom_12_sequence), PeepSpriteImage_RequireBathroom_12_sequence }, - { 6825, countof(PeepSpriteImage_RequireBathroom_13_sequence), PeepSpriteImage_RequireBathroom_13_sequence }, - { 6845, countof(PeepSpriteImage_RequireBathroom_14_sequence), PeepSpriteImage_RequireBathroom_14_sequence }, - { 6909, countof(PeepSpriteImage_RequireBathroom_15_sequence), PeepSpriteImage_RequireBathroom_15_sequence }, - { 11325, countof(PeepSpriteImage_RequireBathroom_16_sequence), PeepSpriteImage_RequireBathroom_16_sequence }, - { 6957, countof(PeepSpriteImage_RequireBathroom_17_sequence), PeepSpriteImage_RequireBathroom_17_sequence }, - { 11513, countof(PeepSpriteImage_RequireBathroom_18_sequence), PeepSpriteImage_RequireBathroom_18_sequence }, - { 11513, countof(PeepSpriteImage_RequireBathroom_19_sequence), PeepSpriteImage_RequireBathroom_19_sequence }, - { 11597, countof(PeepSpriteImage_RequireBathroom_20_sequence), PeepSpriteImage_RequireBathroom_20_sequence }, - { 11669, countof(PeepSpriteImage_RequireBathroom_21_sequence), PeepSpriteImage_RequireBathroom_21_sequence }, - { 11669, countof(PeepSpriteImage_RequireBathroom_22_sequence), PeepSpriteImage_RequireBathroom_22_sequence }, - { 11801, countof(PeepSpriteImage_RequireBathroom_23_sequence), PeepSpriteImage_RequireBathroom_23_sequence }, - { 11669, countof(PeepSpriteImage_RequireBathroom_24_sequence), PeepSpriteImage_RequireBathroom_24_sequence }, - { 11377, countof(PeepSpriteImage_RequireBathroom_25_sequence), PeepSpriteImage_RequireBathroom_25_sequence }, - { 6989, countof(PeepSpriteImage_RequireBathroom_26_sequence), PeepSpriteImage_RequireBathroom_26_sequence }, - { 7041, countof(PeepSpriteImage_RequireBathroom_27_sequence), PeepSpriteImage_RequireBathroom_27_sequence }, - { 7101, countof(PeepSpriteImage_RequireBathroom_28_sequence), PeepSpriteImage_RequireBathroom_28_sequence }, - { 11401, countof(PeepSpriteImage_RequireBathroom_29_sequence), PeepSpriteImage_RequireBathroom_29_sequence }, - { 7121, countof(PeepSpriteImage_RequireBathroom_30_sequence), PeepSpriteImage_RequireBathroom_30_sequence }, - { 7149, countof(PeepSpriteImage_RequireBathroom_31_sequence), PeepSpriteImage_RequireBathroom_31_sequence }, - { 7249, countof(PeepSpriteImage_RequireBathroom_32_sequence), PeepSpriteImage_RequireBathroom_32_sequence }, - { 7309, countof(PeepSpriteImage_RequireBathroom_33_sequence), PeepSpriteImage_RequireBathroom_33_sequence }, - { 7329, countof(PeepSpriteImage_RequireBathroom_34_sequence), PeepSpriteImage_RequireBathroom_34_sequence }, - { 7285, countof(PeepSpriteImage_RequireBathroom_35_sequence), PeepSpriteImage_RequireBathroom_35_sequence }, - { 7181, countof(PeepSpriteImage_RequireBathroom_36_sequence), PeepSpriteImage_RequireBathroom_36_sequence }, + { 6537, countof(PeepSpriteImage_RequireBathroom_00_sequence), PeepSpriteImage_RequireBathroom_00_sequence }, + { 6585, countof(PeepSpriteImage_RequireBathroom_01_sequence), PeepSpriteImage_RequireBathroom_01_sequence }, + { 6621, countof(PeepSpriteImage_RequireBathroom_02_sequence), PeepSpriteImage_RequireBathroom_02_sequence }, + { 6653, countof(PeepSpriteImage_RequireBathroom_03_sequence), PeepSpriteImage_RequireBathroom_03_sequence }, + { 6697, countof(PeepSpriteImage_RequireBathroom_04_sequence), PeepSpriteImage_RequireBathroom_04_sequence }, + { 6757, countof(PeepSpriteImage_RequireBathroom_05_sequence), PeepSpriteImage_RequireBathroom_05_sequence }, + { 6561, countof(PeepSpriteImage_RequireBathroom_06_sequence), PeepSpriteImage_RequireBathroom_06_sequence }, + { 6625, countof(PeepSpriteImage_RequireBathroom_07_sequence), PeepSpriteImage_RequireBathroom_07_sequence }, + { 6629, countof(PeepSpriteImage_RequireBathroom_08_sequence), PeepSpriteImage_RequireBathroom_08_sequence }, + { 6637, countof(PeepSpriteImage_RequireBathroom_09_sequence), PeepSpriteImage_RequireBathroom_09_sequence }, + { 6645, countof(PeepSpriteImage_RequireBathroom_10_sequence), PeepSpriteImage_RequireBathroom_10_sequence }, + { 6813, countof(PeepSpriteImage_RequireBathroom_11_sequence), PeepSpriteImage_RequireBathroom_11_sequence }, + { 11301, countof(PeepSpriteImage_RequireBathroom_12_sequence), PeepSpriteImage_RequireBathroom_12_sequence }, + { 6825, countof(PeepSpriteImage_RequireBathroom_13_sequence), PeepSpriteImage_RequireBathroom_13_sequence }, + { 6845, countof(PeepSpriteImage_RequireBathroom_14_sequence), PeepSpriteImage_RequireBathroom_14_sequence }, + { 6909, countof(PeepSpriteImage_RequireBathroom_15_sequence), PeepSpriteImage_RequireBathroom_15_sequence }, + { 11325, countof(PeepSpriteImage_RequireBathroom_16_sequence), PeepSpriteImage_RequireBathroom_16_sequence }, + { 6957, countof(PeepSpriteImage_RequireBathroom_17_sequence), PeepSpriteImage_RequireBathroom_17_sequence }, + { 11513, countof(PeepSpriteImage_RequireBathroom_18_sequence), PeepSpriteImage_RequireBathroom_18_sequence }, + { 11513, countof(PeepSpriteImage_RequireBathroom_19_sequence), PeepSpriteImage_RequireBathroom_19_sequence }, + { 11597, countof(PeepSpriteImage_RequireBathroom_20_sequence), PeepSpriteImage_RequireBathroom_20_sequence }, + { 11669, countof(PeepSpriteImage_RequireBathroom_21_sequence), PeepSpriteImage_RequireBathroom_21_sequence }, + { 11669, countof(PeepSpriteImage_RequireBathroom_22_sequence), PeepSpriteImage_RequireBathroom_22_sequence }, + { 11801, countof(PeepSpriteImage_RequireBathroom_23_sequence), PeepSpriteImage_RequireBathroom_23_sequence }, + { 11669, countof(PeepSpriteImage_RequireBathroom_24_sequence), PeepSpriteImage_RequireBathroom_24_sequence }, + { 11377, countof(PeepSpriteImage_RequireBathroom_25_sequence), PeepSpriteImage_RequireBathroom_25_sequence }, + { 6989, countof(PeepSpriteImage_RequireBathroom_26_sequence), PeepSpriteImage_RequireBathroom_26_sequence }, + { 7041, countof(PeepSpriteImage_RequireBathroom_27_sequence), PeepSpriteImage_RequireBathroom_27_sequence }, + { 7101, countof(PeepSpriteImage_RequireBathroom_28_sequence), PeepSpriteImage_RequireBathroom_28_sequence }, + { 11401, countof(PeepSpriteImage_RequireBathroom_29_sequence), PeepSpriteImage_RequireBathroom_29_sequence }, + { 7121, countof(PeepSpriteImage_RequireBathroom_30_sequence), PeepSpriteImage_RequireBathroom_30_sequence }, + { 7149, countof(PeepSpriteImage_RequireBathroom_31_sequence), PeepSpriteImage_RequireBathroom_31_sequence }, + { 7249, countof(PeepSpriteImage_RequireBathroom_32_sequence), PeepSpriteImage_RequireBathroom_32_sequence }, + { 7309, countof(PeepSpriteImage_RequireBathroom_33_sequence), PeepSpriteImage_RequireBathroom_33_sequence }, + { 7329, countof(PeepSpriteImage_RequireBathroom_34_sequence), PeepSpriteImage_RequireBathroom_34_sequence }, + { 7285, countof(PeepSpriteImage_RequireBathroom_35_sequence), PeepSpriteImage_RequireBathroom_35_sequence }, + { 7181, countof(PeepSpriteImage_RequireBathroom_36_sequence), PeepSpriteImage_RequireBathroom_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Hat[] = { - { 10721, countof(PeepSpriteImage_Hat_00_sequence), PeepSpriteImage_Hat_00_sequence }, - { 6585, countof(PeepSpriteImage_Hat_01_sequence), PeepSpriteImage_Hat_01_sequence }, - { 10717, countof(PeepSpriteImage_Hat_02_sequence), PeepSpriteImage_Hat_02_sequence }, - { 6653, countof(PeepSpriteImage_Hat_03_sequence), PeepSpriteImage_Hat_03_sequence }, - { 6697, countof(PeepSpriteImage_Hat_04_sequence), PeepSpriteImage_Hat_04_sequence }, - { 6757, countof(PeepSpriteImage_Hat_05_sequence), PeepSpriteImage_Hat_05_sequence }, - { 6561, countof(PeepSpriteImage_Hat_06_sequence), PeepSpriteImage_Hat_06_sequence }, - { 10745, countof(PeepSpriteImage_Hat_07_sequence), PeepSpriteImage_Hat_07_sequence }, - { 6629, countof(PeepSpriteImage_Hat_08_sequence), PeepSpriteImage_Hat_08_sequence }, - { 6637, countof(PeepSpriteImage_Hat_09_sequence), PeepSpriteImage_Hat_09_sequence }, - { 6645, countof(PeepSpriteImage_Hat_10_sequence), PeepSpriteImage_Hat_10_sequence }, - { 6813, countof(PeepSpriteImage_Hat_11_sequence), PeepSpriteImage_Hat_11_sequence }, - { 11301, countof(PeepSpriteImage_Hat_12_sequence), PeepSpriteImage_Hat_12_sequence }, - { 6825, countof(PeepSpriteImage_Hat_13_sequence), PeepSpriteImage_Hat_13_sequence }, - { 6845, countof(PeepSpriteImage_Hat_14_sequence), PeepSpriteImage_Hat_14_sequence }, - { 6909, countof(PeepSpriteImage_Hat_15_sequence), PeepSpriteImage_Hat_15_sequence }, - { 11325, countof(PeepSpriteImage_Hat_16_sequence), PeepSpriteImage_Hat_16_sequence }, - { 6957, countof(PeepSpriteImage_Hat_17_sequence), PeepSpriteImage_Hat_17_sequence }, - { 11513, countof(PeepSpriteImage_Hat_18_sequence), PeepSpriteImage_Hat_18_sequence }, - { 11513, countof(PeepSpriteImage_Hat_19_sequence), PeepSpriteImage_Hat_19_sequence }, - { 11597, countof(PeepSpriteImage_Hat_20_sequence), PeepSpriteImage_Hat_20_sequence }, - { 11669, countof(PeepSpriteImage_Hat_21_sequence), PeepSpriteImage_Hat_21_sequence }, - { 11669, countof(PeepSpriteImage_Hat_22_sequence), PeepSpriteImage_Hat_22_sequence }, - { 11801, countof(PeepSpriteImage_Hat_23_sequence), PeepSpriteImage_Hat_23_sequence }, - { 11669, countof(PeepSpriteImage_Hat_24_sequence), PeepSpriteImage_Hat_24_sequence }, - { 11377, countof(PeepSpriteImage_Hat_25_sequence), PeepSpriteImage_Hat_25_sequence }, - { 6989, countof(PeepSpriteImage_Hat_26_sequence), PeepSpriteImage_Hat_26_sequence }, - { 7041, countof(PeepSpriteImage_Hat_27_sequence), PeepSpriteImage_Hat_27_sequence }, - { 7101, countof(PeepSpriteImage_Hat_28_sequence), PeepSpriteImage_Hat_28_sequence }, - { 11401, countof(PeepSpriteImage_Hat_29_sequence), PeepSpriteImage_Hat_29_sequence }, - { 7121, countof(PeepSpriteImage_Hat_30_sequence), PeepSpriteImage_Hat_30_sequence }, - { 7149, countof(PeepSpriteImage_Hat_31_sequence), PeepSpriteImage_Hat_31_sequence }, - { 7249, countof(PeepSpriteImage_Hat_32_sequence), PeepSpriteImage_Hat_32_sequence }, - { 7309, countof(PeepSpriteImage_Hat_33_sequence), PeepSpriteImage_Hat_33_sequence }, - { 7329, countof(PeepSpriteImage_Hat_34_sequence), PeepSpriteImage_Hat_34_sequence }, - { 7285, countof(PeepSpriteImage_Hat_35_sequence), PeepSpriteImage_Hat_35_sequence }, - { 7181, countof(PeepSpriteImage_Hat_36_sequence), PeepSpriteImage_Hat_36_sequence }, + { 10721, countof(PeepSpriteImage_Hat_00_sequence), PeepSpriteImage_Hat_00_sequence }, + { 6585, countof(PeepSpriteImage_Hat_01_sequence), PeepSpriteImage_Hat_01_sequence }, + { 10717, countof(PeepSpriteImage_Hat_02_sequence), PeepSpriteImage_Hat_02_sequence }, + { 6653, countof(PeepSpriteImage_Hat_03_sequence), PeepSpriteImage_Hat_03_sequence }, + { 6697, countof(PeepSpriteImage_Hat_04_sequence), PeepSpriteImage_Hat_04_sequence }, + { 6757, countof(PeepSpriteImage_Hat_05_sequence), PeepSpriteImage_Hat_05_sequence }, + { 6561, countof(PeepSpriteImage_Hat_06_sequence), PeepSpriteImage_Hat_06_sequence }, + { 10745, countof(PeepSpriteImage_Hat_07_sequence), PeepSpriteImage_Hat_07_sequence }, + { 6629, countof(PeepSpriteImage_Hat_08_sequence), PeepSpriteImage_Hat_08_sequence }, + { 6637, countof(PeepSpriteImage_Hat_09_sequence), PeepSpriteImage_Hat_09_sequence }, + { 6645, countof(PeepSpriteImage_Hat_10_sequence), PeepSpriteImage_Hat_10_sequence }, + { 6813, countof(PeepSpriteImage_Hat_11_sequence), PeepSpriteImage_Hat_11_sequence }, + { 11301, countof(PeepSpriteImage_Hat_12_sequence), PeepSpriteImage_Hat_12_sequence }, + { 6825, countof(PeepSpriteImage_Hat_13_sequence), PeepSpriteImage_Hat_13_sequence }, + { 6845, countof(PeepSpriteImage_Hat_14_sequence), PeepSpriteImage_Hat_14_sequence }, + { 6909, countof(PeepSpriteImage_Hat_15_sequence), PeepSpriteImage_Hat_15_sequence }, + { 11325, countof(PeepSpriteImage_Hat_16_sequence), PeepSpriteImage_Hat_16_sequence }, + { 6957, countof(PeepSpriteImage_Hat_17_sequence), PeepSpriteImage_Hat_17_sequence }, + { 11513, countof(PeepSpriteImage_Hat_18_sequence), PeepSpriteImage_Hat_18_sequence }, + { 11513, countof(PeepSpriteImage_Hat_19_sequence), PeepSpriteImage_Hat_19_sequence }, + { 11597, countof(PeepSpriteImage_Hat_20_sequence), PeepSpriteImage_Hat_20_sequence }, + { 11669, countof(PeepSpriteImage_Hat_21_sequence), PeepSpriteImage_Hat_21_sequence }, + { 11669, countof(PeepSpriteImage_Hat_22_sequence), PeepSpriteImage_Hat_22_sequence }, + { 11801, countof(PeepSpriteImage_Hat_23_sequence), PeepSpriteImage_Hat_23_sequence }, + { 11669, countof(PeepSpriteImage_Hat_24_sequence), PeepSpriteImage_Hat_24_sequence }, + { 11377, countof(PeepSpriteImage_Hat_25_sequence), PeepSpriteImage_Hat_25_sequence }, + { 6989, countof(PeepSpriteImage_Hat_26_sequence), PeepSpriteImage_Hat_26_sequence }, + { 7041, countof(PeepSpriteImage_Hat_27_sequence), PeepSpriteImage_Hat_27_sequence }, + { 7101, countof(PeepSpriteImage_Hat_28_sequence), PeepSpriteImage_Hat_28_sequence }, + { 11401, countof(PeepSpriteImage_Hat_29_sequence), PeepSpriteImage_Hat_29_sequence }, + { 7121, countof(PeepSpriteImage_Hat_30_sequence), PeepSpriteImage_Hat_30_sequence }, + { 7149, countof(PeepSpriteImage_Hat_31_sequence), PeepSpriteImage_Hat_31_sequence }, + { 7249, countof(PeepSpriteImage_Hat_32_sequence), PeepSpriteImage_Hat_32_sequence }, + { 7309, countof(PeepSpriteImage_Hat_33_sequence), PeepSpriteImage_Hat_33_sequence }, + { 7329, countof(PeepSpriteImage_Hat_34_sequence), PeepSpriteImage_Hat_34_sequence }, + { 7285, countof(PeepSpriteImage_Hat_35_sequence), PeepSpriteImage_Hat_35_sequence }, + { 7181, countof(PeepSpriteImage_Hat_36_sequence), PeepSpriteImage_Hat_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_HotDog[] = { - { 7889, countof(PeepSpriteImage_HotDog_00_sequence), PeepSpriteImage_HotDog_00_sequence }, - { 6585, countof(PeepSpriteImage_HotDog_01_sequence), PeepSpriteImage_HotDog_01_sequence }, - { 7885, countof(PeepSpriteImage_HotDog_02_sequence), PeepSpriteImage_HotDog_02_sequence }, - { 8013, countof(PeepSpriteImage_HotDog_03_sequence), PeepSpriteImage_HotDog_03_sequence }, - { 6697, countof(PeepSpriteImage_HotDog_04_sequence), PeepSpriteImage_HotDog_04_sequence }, - { 6757, countof(PeepSpriteImage_HotDog_05_sequence), PeepSpriteImage_HotDog_05_sequence }, - { 6561, countof(PeepSpriteImage_HotDog_06_sequence), PeepSpriteImage_HotDog_06_sequence }, - { 7961, countof(PeepSpriteImage_HotDog_07_sequence), PeepSpriteImage_HotDog_07_sequence }, - { 7965, countof(PeepSpriteImage_HotDog_08_sequence), PeepSpriteImage_HotDog_08_sequence }, - { 6637, countof(PeepSpriteImage_HotDog_09_sequence), PeepSpriteImage_HotDog_09_sequence }, - { 6645, countof(PeepSpriteImage_HotDog_10_sequence), PeepSpriteImage_HotDog_10_sequence }, - { 6813, countof(PeepSpriteImage_HotDog_11_sequence), PeepSpriteImage_HotDog_11_sequence }, - { 11301, countof(PeepSpriteImage_HotDog_12_sequence), PeepSpriteImage_HotDog_12_sequence }, - { 6825, countof(PeepSpriteImage_HotDog_13_sequence), PeepSpriteImage_HotDog_13_sequence }, - { 6845, countof(PeepSpriteImage_HotDog_14_sequence), PeepSpriteImage_HotDog_14_sequence }, - { 6909, countof(PeepSpriteImage_HotDog_15_sequence), PeepSpriteImage_HotDog_15_sequence }, - { 11325, countof(PeepSpriteImage_HotDog_16_sequence), PeepSpriteImage_HotDog_16_sequence }, - { 6957, countof(PeepSpriteImage_HotDog_17_sequence), PeepSpriteImage_HotDog_17_sequence }, - { 11513, countof(PeepSpriteImage_HotDog_18_sequence), PeepSpriteImage_HotDog_18_sequence }, - { 11513, countof(PeepSpriteImage_HotDog_19_sequence), PeepSpriteImage_HotDog_19_sequence }, - { 11597, countof(PeepSpriteImage_HotDog_20_sequence), PeepSpriteImage_HotDog_20_sequence }, - { 11669, countof(PeepSpriteImage_HotDog_21_sequence), PeepSpriteImage_HotDog_21_sequence }, - { 11669, countof(PeepSpriteImage_HotDog_22_sequence), PeepSpriteImage_HotDog_22_sequence }, - { 11801, countof(PeepSpriteImage_HotDog_23_sequence), PeepSpriteImage_HotDog_23_sequence }, - { 11669, countof(PeepSpriteImage_HotDog_24_sequence), PeepSpriteImage_HotDog_24_sequence }, - { 11377, countof(PeepSpriteImage_HotDog_25_sequence), PeepSpriteImage_HotDog_25_sequence }, - { 6989, countof(PeepSpriteImage_HotDog_26_sequence), PeepSpriteImage_HotDog_26_sequence }, - { 7041, countof(PeepSpriteImage_HotDog_27_sequence), PeepSpriteImage_HotDog_27_sequence }, - { 7101, countof(PeepSpriteImage_HotDog_28_sequence), PeepSpriteImage_HotDog_28_sequence }, - { 11401, countof(PeepSpriteImage_HotDog_29_sequence), PeepSpriteImage_HotDog_29_sequence }, - { 7121, countof(PeepSpriteImage_HotDog_30_sequence), PeepSpriteImage_HotDog_30_sequence }, - { 7149, countof(PeepSpriteImage_HotDog_31_sequence), PeepSpriteImage_HotDog_31_sequence }, - { 7249, countof(PeepSpriteImage_HotDog_32_sequence), PeepSpriteImage_HotDog_32_sequence }, - { 7309, countof(PeepSpriteImage_HotDog_33_sequence), PeepSpriteImage_HotDog_33_sequence }, - { 7329, countof(PeepSpriteImage_HotDog_34_sequence), PeepSpriteImage_HotDog_34_sequence }, - { 7285, countof(PeepSpriteImage_HotDog_35_sequence), PeepSpriteImage_HotDog_35_sequence }, - { 7181, countof(PeepSpriteImage_HotDog_36_sequence), PeepSpriteImage_HotDog_36_sequence }, + { 7889, countof(PeepSpriteImage_HotDog_00_sequence), PeepSpriteImage_HotDog_00_sequence }, + { 6585, countof(PeepSpriteImage_HotDog_01_sequence), PeepSpriteImage_HotDog_01_sequence }, + { 7885, countof(PeepSpriteImage_HotDog_02_sequence), PeepSpriteImage_HotDog_02_sequence }, + { 8013, countof(PeepSpriteImage_HotDog_03_sequence), PeepSpriteImage_HotDog_03_sequence }, + { 6697, countof(PeepSpriteImage_HotDog_04_sequence), PeepSpriteImage_HotDog_04_sequence }, + { 6757, countof(PeepSpriteImage_HotDog_05_sequence), PeepSpriteImage_HotDog_05_sequence }, + { 6561, countof(PeepSpriteImage_HotDog_06_sequence), PeepSpriteImage_HotDog_06_sequence }, + { 7961, countof(PeepSpriteImage_HotDog_07_sequence), PeepSpriteImage_HotDog_07_sequence }, + { 7965, countof(PeepSpriteImage_HotDog_08_sequence), PeepSpriteImage_HotDog_08_sequence }, + { 6637, countof(PeepSpriteImage_HotDog_09_sequence), PeepSpriteImage_HotDog_09_sequence }, + { 6645, countof(PeepSpriteImage_HotDog_10_sequence), PeepSpriteImage_HotDog_10_sequence }, + { 6813, countof(PeepSpriteImage_HotDog_11_sequence), PeepSpriteImage_HotDog_11_sequence }, + { 11301, countof(PeepSpriteImage_HotDog_12_sequence), PeepSpriteImage_HotDog_12_sequence }, + { 6825, countof(PeepSpriteImage_HotDog_13_sequence), PeepSpriteImage_HotDog_13_sequence }, + { 6845, countof(PeepSpriteImage_HotDog_14_sequence), PeepSpriteImage_HotDog_14_sequence }, + { 6909, countof(PeepSpriteImage_HotDog_15_sequence), PeepSpriteImage_HotDog_15_sequence }, + { 11325, countof(PeepSpriteImage_HotDog_16_sequence), PeepSpriteImage_HotDog_16_sequence }, + { 6957, countof(PeepSpriteImage_HotDog_17_sequence), PeepSpriteImage_HotDog_17_sequence }, + { 11513, countof(PeepSpriteImage_HotDog_18_sequence), PeepSpriteImage_HotDog_18_sequence }, + { 11513, countof(PeepSpriteImage_HotDog_19_sequence), PeepSpriteImage_HotDog_19_sequence }, + { 11597, countof(PeepSpriteImage_HotDog_20_sequence), PeepSpriteImage_HotDog_20_sequence }, + { 11669, countof(PeepSpriteImage_HotDog_21_sequence), PeepSpriteImage_HotDog_21_sequence }, + { 11669, countof(PeepSpriteImage_HotDog_22_sequence), PeepSpriteImage_HotDog_22_sequence }, + { 11801, countof(PeepSpriteImage_HotDog_23_sequence), PeepSpriteImage_HotDog_23_sequence }, + { 11669, countof(PeepSpriteImage_HotDog_24_sequence), PeepSpriteImage_HotDog_24_sequence }, + { 11377, countof(PeepSpriteImage_HotDog_25_sequence), PeepSpriteImage_HotDog_25_sequence }, + { 6989, countof(PeepSpriteImage_HotDog_26_sequence), PeepSpriteImage_HotDog_26_sequence }, + { 7041, countof(PeepSpriteImage_HotDog_27_sequence), PeepSpriteImage_HotDog_27_sequence }, + { 7101, countof(PeepSpriteImage_HotDog_28_sequence), PeepSpriteImage_HotDog_28_sequence }, + { 11401, countof(PeepSpriteImage_HotDog_29_sequence), PeepSpriteImage_HotDog_29_sequence }, + { 7121, countof(PeepSpriteImage_HotDog_30_sequence), PeepSpriteImage_HotDog_30_sequence }, + { 7149, countof(PeepSpriteImage_HotDog_31_sequence), PeepSpriteImage_HotDog_31_sequence }, + { 7249, countof(PeepSpriteImage_HotDog_32_sequence), PeepSpriteImage_HotDog_32_sequence }, + { 7309, countof(PeepSpriteImage_HotDog_33_sequence), PeepSpriteImage_HotDog_33_sequence }, + { 7329, countof(PeepSpriteImage_HotDog_34_sequence), PeepSpriteImage_HotDog_34_sequence }, + { 7285, countof(PeepSpriteImage_HotDog_35_sequence), PeepSpriteImage_HotDog_35_sequence }, + { 7181, countof(PeepSpriteImage_HotDog_36_sequence), PeepSpriteImage_HotDog_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Tentacle[] = { - { 8065, countof(PeepSpriteImage_Tentacle_00_sequence), PeepSpriteImage_Tentacle_00_sequence }, - { 6585, countof(PeepSpriteImage_Tentacle_01_sequence), PeepSpriteImage_Tentacle_01_sequence }, - { 8061, countof(PeepSpriteImage_Tentacle_02_sequence), PeepSpriteImage_Tentacle_02_sequence }, - { 8285, countof(PeepSpriteImage_Tentacle_03_sequence), PeepSpriteImage_Tentacle_03_sequence }, - { 6697, countof(PeepSpriteImage_Tentacle_04_sequence), PeepSpriteImage_Tentacle_04_sequence }, - { 6757, countof(PeepSpriteImage_Tentacle_05_sequence), PeepSpriteImage_Tentacle_05_sequence }, - { 6561, countof(PeepSpriteImage_Tentacle_06_sequence), PeepSpriteImage_Tentacle_06_sequence }, - { 8185, countof(PeepSpriteImage_Tentacle_07_sequence), PeepSpriteImage_Tentacle_07_sequence }, - { 8189, countof(PeepSpriteImage_Tentacle_08_sequence), PeepSpriteImage_Tentacle_08_sequence }, - { 6637, countof(PeepSpriteImage_Tentacle_09_sequence), PeepSpriteImage_Tentacle_09_sequence }, - { 6645, countof(PeepSpriteImage_Tentacle_10_sequence), PeepSpriteImage_Tentacle_10_sequence }, - { 6813, countof(PeepSpriteImage_Tentacle_11_sequence), PeepSpriteImage_Tentacle_11_sequence }, - { 11301, countof(PeepSpriteImage_Tentacle_12_sequence), PeepSpriteImage_Tentacle_12_sequence }, - { 6825, countof(PeepSpriteImage_Tentacle_13_sequence), PeepSpriteImage_Tentacle_13_sequence }, - { 6845, countof(PeepSpriteImage_Tentacle_14_sequence), PeepSpriteImage_Tentacle_14_sequence }, - { 6909, countof(PeepSpriteImage_Tentacle_15_sequence), PeepSpriteImage_Tentacle_15_sequence }, - { 11325, countof(PeepSpriteImage_Tentacle_16_sequence), PeepSpriteImage_Tentacle_16_sequence }, - { 6957, countof(PeepSpriteImage_Tentacle_17_sequence), PeepSpriteImage_Tentacle_17_sequence }, - { 11513, countof(PeepSpriteImage_Tentacle_18_sequence), PeepSpriteImage_Tentacle_18_sequence }, - { 11513, countof(PeepSpriteImage_Tentacle_19_sequence), PeepSpriteImage_Tentacle_19_sequence }, - { 11597, countof(PeepSpriteImage_Tentacle_20_sequence), PeepSpriteImage_Tentacle_20_sequence }, - { 11669, countof(PeepSpriteImage_Tentacle_21_sequence), PeepSpriteImage_Tentacle_21_sequence }, - { 11669, countof(PeepSpriteImage_Tentacle_22_sequence), PeepSpriteImage_Tentacle_22_sequence }, - { 11801, countof(PeepSpriteImage_Tentacle_23_sequence), PeepSpriteImage_Tentacle_23_sequence }, - { 11669, countof(PeepSpriteImage_Tentacle_24_sequence), PeepSpriteImage_Tentacle_24_sequence }, - { 11377, countof(PeepSpriteImage_Tentacle_25_sequence), PeepSpriteImage_Tentacle_25_sequence }, - { 6989, countof(PeepSpriteImage_Tentacle_26_sequence), PeepSpriteImage_Tentacle_26_sequence }, - { 7041, countof(PeepSpriteImage_Tentacle_27_sequence), PeepSpriteImage_Tentacle_27_sequence }, - { 7101, countof(PeepSpriteImage_Tentacle_28_sequence), PeepSpriteImage_Tentacle_28_sequence }, - { 11401, countof(PeepSpriteImage_Tentacle_29_sequence), PeepSpriteImage_Tentacle_29_sequence }, - { 7121, countof(PeepSpriteImage_Tentacle_30_sequence), PeepSpriteImage_Tentacle_30_sequence }, - { 7149, countof(PeepSpriteImage_Tentacle_31_sequence), PeepSpriteImage_Tentacle_31_sequence }, - { 7249, countof(PeepSpriteImage_Tentacle_32_sequence), PeepSpriteImage_Tentacle_32_sequence }, - { 7309, countof(PeepSpriteImage_Tentacle_33_sequence), PeepSpriteImage_Tentacle_33_sequence }, - { 7329, countof(PeepSpriteImage_Tentacle_34_sequence), PeepSpriteImage_Tentacle_34_sequence }, - { 7285, countof(PeepSpriteImage_Tentacle_35_sequence), PeepSpriteImage_Tentacle_35_sequence }, - { 7181, countof(PeepSpriteImage_Tentacle_36_sequence), PeepSpriteImage_Tentacle_36_sequence }, + { 8065, countof(PeepSpriteImage_Tentacle_00_sequence), PeepSpriteImage_Tentacle_00_sequence }, + { 6585, countof(PeepSpriteImage_Tentacle_01_sequence), PeepSpriteImage_Tentacle_01_sequence }, + { 8061, countof(PeepSpriteImage_Tentacle_02_sequence), PeepSpriteImage_Tentacle_02_sequence }, + { 8285, countof(PeepSpriteImage_Tentacle_03_sequence), PeepSpriteImage_Tentacle_03_sequence }, + { 6697, countof(PeepSpriteImage_Tentacle_04_sequence), PeepSpriteImage_Tentacle_04_sequence }, + { 6757, countof(PeepSpriteImage_Tentacle_05_sequence), PeepSpriteImage_Tentacle_05_sequence }, + { 6561, countof(PeepSpriteImage_Tentacle_06_sequence), PeepSpriteImage_Tentacle_06_sequence }, + { 8185, countof(PeepSpriteImage_Tentacle_07_sequence), PeepSpriteImage_Tentacle_07_sequence }, + { 8189, countof(PeepSpriteImage_Tentacle_08_sequence), PeepSpriteImage_Tentacle_08_sequence }, + { 6637, countof(PeepSpriteImage_Tentacle_09_sequence), PeepSpriteImage_Tentacle_09_sequence }, + { 6645, countof(PeepSpriteImage_Tentacle_10_sequence), PeepSpriteImage_Tentacle_10_sequence }, + { 6813, countof(PeepSpriteImage_Tentacle_11_sequence), PeepSpriteImage_Tentacle_11_sequence }, + { 11301, countof(PeepSpriteImage_Tentacle_12_sequence), PeepSpriteImage_Tentacle_12_sequence }, + { 6825, countof(PeepSpriteImage_Tentacle_13_sequence), PeepSpriteImage_Tentacle_13_sequence }, + { 6845, countof(PeepSpriteImage_Tentacle_14_sequence), PeepSpriteImage_Tentacle_14_sequence }, + { 6909, countof(PeepSpriteImage_Tentacle_15_sequence), PeepSpriteImage_Tentacle_15_sequence }, + { 11325, countof(PeepSpriteImage_Tentacle_16_sequence), PeepSpriteImage_Tentacle_16_sequence }, + { 6957, countof(PeepSpriteImage_Tentacle_17_sequence), PeepSpriteImage_Tentacle_17_sequence }, + { 11513, countof(PeepSpriteImage_Tentacle_18_sequence), PeepSpriteImage_Tentacle_18_sequence }, + { 11513, countof(PeepSpriteImage_Tentacle_19_sequence), PeepSpriteImage_Tentacle_19_sequence }, + { 11597, countof(PeepSpriteImage_Tentacle_20_sequence), PeepSpriteImage_Tentacle_20_sequence }, + { 11669, countof(PeepSpriteImage_Tentacle_21_sequence), PeepSpriteImage_Tentacle_21_sequence }, + { 11669, countof(PeepSpriteImage_Tentacle_22_sequence), PeepSpriteImage_Tentacle_22_sequence }, + { 11801, countof(PeepSpriteImage_Tentacle_23_sequence), PeepSpriteImage_Tentacle_23_sequence }, + { 11669, countof(PeepSpriteImage_Tentacle_24_sequence), PeepSpriteImage_Tentacle_24_sequence }, + { 11377, countof(PeepSpriteImage_Tentacle_25_sequence), PeepSpriteImage_Tentacle_25_sequence }, + { 6989, countof(PeepSpriteImage_Tentacle_26_sequence), PeepSpriteImage_Tentacle_26_sequence }, + { 7041, countof(PeepSpriteImage_Tentacle_27_sequence), PeepSpriteImage_Tentacle_27_sequence }, + { 7101, countof(PeepSpriteImage_Tentacle_28_sequence), PeepSpriteImage_Tentacle_28_sequence }, + { 11401, countof(PeepSpriteImage_Tentacle_29_sequence), PeepSpriteImage_Tentacle_29_sequence }, + { 7121, countof(PeepSpriteImage_Tentacle_30_sequence), PeepSpriteImage_Tentacle_30_sequence }, + { 7149, countof(PeepSpriteImage_Tentacle_31_sequence), PeepSpriteImage_Tentacle_31_sequence }, + { 7249, countof(PeepSpriteImage_Tentacle_32_sequence), PeepSpriteImage_Tentacle_32_sequence }, + { 7309, countof(PeepSpriteImage_Tentacle_33_sequence), PeepSpriteImage_Tentacle_33_sequence }, + { 7329, countof(PeepSpriteImage_Tentacle_34_sequence), PeepSpriteImage_Tentacle_34_sequence }, + { 7285, countof(PeepSpriteImage_Tentacle_35_sequence), PeepSpriteImage_Tentacle_35_sequence }, + { 7181, countof(PeepSpriteImage_Tentacle_36_sequence), PeepSpriteImage_Tentacle_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_ToffeeApple[] = { - { 7401, countof(PeepSpriteImage_ToffeeApple_00_sequence), PeepSpriteImage_ToffeeApple_00_sequence }, - { 6585, countof(PeepSpriteImage_ToffeeApple_01_sequence), PeepSpriteImage_ToffeeApple_01_sequence }, - { 7397, countof(PeepSpriteImage_ToffeeApple_02_sequence), PeepSpriteImage_ToffeeApple_02_sequence }, - { 7477, countof(PeepSpriteImage_ToffeeApple_03_sequence), PeepSpriteImage_ToffeeApple_03_sequence }, - { 6697, countof(PeepSpriteImage_ToffeeApple_04_sequence), PeepSpriteImage_ToffeeApple_04_sequence }, - { 6757, countof(PeepSpriteImage_ToffeeApple_05_sequence), PeepSpriteImage_ToffeeApple_05_sequence }, - { 6561, countof(PeepSpriteImage_ToffeeApple_06_sequence), PeepSpriteImage_ToffeeApple_06_sequence }, - { 7449, countof(PeepSpriteImage_ToffeeApple_07_sequence), PeepSpriteImage_ToffeeApple_07_sequence }, - { 7453, countof(PeepSpriteImage_ToffeeApple_08_sequence), PeepSpriteImage_ToffeeApple_08_sequence }, - { 6637, countof(PeepSpriteImage_ToffeeApple_09_sequence), PeepSpriteImage_ToffeeApple_09_sequence }, - { 6645, countof(PeepSpriteImage_ToffeeApple_10_sequence), PeepSpriteImage_ToffeeApple_10_sequence }, - { 6813, countof(PeepSpriteImage_ToffeeApple_11_sequence), PeepSpriteImage_ToffeeApple_11_sequence }, - { 11301, countof(PeepSpriteImage_ToffeeApple_12_sequence), PeepSpriteImage_ToffeeApple_12_sequence }, - { 6825, countof(PeepSpriteImage_ToffeeApple_13_sequence), PeepSpriteImage_ToffeeApple_13_sequence }, - { 6845, countof(PeepSpriteImage_ToffeeApple_14_sequence), PeepSpriteImage_ToffeeApple_14_sequence }, - { 6909, countof(PeepSpriteImage_ToffeeApple_15_sequence), PeepSpriteImage_ToffeeApple_15_sequence }, - { 11325, countof(PeepSpriteImage_ToffeeApple_16_sequence), PeepSpriteImage_ToffeeApple_16_sequence }, - { 6957, countof(PeepSpriteImage_ToffeeApple_17_sequence), PeepSpriteImage_ToffeeApple_17_sequence }, - { 11513, countof(PeepSpriteImage_ToffeeApple_18_sequence), PeepSpriteImage_ToffeeApple_18_sequence }, - { 11513, countof(PeepSpriteImage_ToffeeApple_19_sequence), PeepSpriteImage_ToffeeApple_19_sequence }, - { 11597, countof(PeepSpriteImage_ToffeeApple_20_sequence), PeepSpriteImage_ToffeeApple_20_sequence }, - { 11669, countof(PeepSpriteImage_ToffeeApple_21_sequence), PeepSpriteImage_ToffeeApple_21_sequence }, - { 11669, countof(PeepSpriteImage_ToffeeApple_22_sequence), PeepSpriteImage_ToffeeApple_22_sequence }, - { 11801, countof(PeepSpriteImage_ToffeeApple_23_sequence), PeepSpriteImage_ToffeeApple_23_sequence }, - { 11669, countof(PeepSpriteImage_ToffeeApple_24_sequence), PeepSpriteImage_ToffeeApple_24_sequence }, - { 11377, countof(PeepSpriteImage_ToffeeApple_25_sequence), PeepSpriteImage_ToffeeApple_25_sequence }, - { 6989, countof(PeepSpriteImage_ToffeeApple_26_sequence), PeepSpriteImage_ToffeeApple_26_sequence }, - { 7041, countof(PeepSpriteImage_ToffeeApple_27_sequence), PeepSpriteImage_ToffeeApple_27_sequence }, - { 7101, countof(PeepSpriteImage_ToffeeApple_28_sequence), PeepSpriteImage_ToffeeApple_28_sequence }, - { 11401, countof(PeepSpriteImage_ToffeeApple_29_sequence), PeepSpriteImage_ToffeeApple_29_sequence }, - { 7121, countof(PeepSpriteImage_ToffeeApple_30_sequence), PeepSpriteImage_ToffeeApple_30_sequence }, - { 7149, countof(PeepSpriteImage_ToffeeApple_31_sequence), PeepSpriteImage_ToffeeApple_31_sequence }, - { 7249, countof(PeepSpriteImage_ToffeeApple_32_sequence), PeepSpriteImage_ToffeeApple_32_sequence }, - { 7309, countof(PeepSpriteImage_ToffeeApple_33_sequence), PeepSpriteImage_ToffeeApple_33_sequence }, - { 7329, countof(PeepSpriteImage_ToffeeApple_34_sequence), PeepSpriteImage_ToffeeApple_34_sequence }, - { 7285, countof(PeepSpriteImage_ToffeeApple_35_sequence), PeepSpriteImage_ToffeeApple_35_sequence }, - { 7181, countof(PeepSpriteImage_ToffeeApple_36_sequence), PeepSpriteImage_ToffeeApple_36_sequence }, + { 7401, countof(PeepSpriteImage_ToffeeApple_00_sequence), PeepSpriteImage_ToffeeApple_00_sequence }, + { 6585, countof(PeepSpriteImage_ToffeeApple_01_sequence), PeepSpriteImage_ToffeeApple_01_sequence }, + { 7397, countof(PeepSpriteImage_ToffeeApple_02_sequence), PeepSpriteImage_ToffeeApple_02_sequence }, + { 7477, countof(PeepSpriteImage_ToffeeApple_03_sequence), PeepSpriteImage_ToffeeApple_03_sequence }, + { 6697, countof(PeepSpriteImage_ToffeeApple_04_sequence), PeepSpriteImage_ToffeeApple_04_sequence }, + { 6757, countof(PeepSpriteImage_ToffeeApple_05_sequence), PeepSpriteImage_ToffeeApple_05_sequence }, + { 6561, countof(PeepSpriteImage_ToffeeApple_06_sequence), PeepSpriteImage_ToffeeApple_06_sequence }, + { 7449, countof(PeepSpriteImage_ToffeeApple_07_sequence), PeepSpriteImage_ToffeeApple_07_sequence }, + { 7453, countof(PeepSpriteImage_ToffeeApple_08_sequence), PeepSpriteImage_ToffeeApple_08_sequence }, + { 6637, countof(PeepSpriteImage_ToffeeApple_09_sequence), PeepSpriteImage_ToffeeApple_09_sequence }, + { 6645, countof(PeepSpriteImage_ToffeeApple_10_sequence), PeepSpriteImage_ToffeeApple_10_sequence }, + { 6813, countof(PeepSpriteImage_ToffeeApple_11_sequence), PeepSpriteImage_ToffeeApple_11_sequence }, + { 11301, countof(PeepSpriteImage_ToffeeApple_12_sequence), PeepSpriteImage_ToffeeApple_12_sequence }, + { 6825, countof(PeepSpriteImage_ToffeeApple_13_sequence), PeepSpriteImage_ToffeeApple_13_sequence }, + { 6845, countof(PeepSpriteImage_ToffeeApple_14_sequence), PeepSpriteImage_ToffeeApple_14_sequence }, + { 6909, countof(PeepSpriteImage_ToffeeApple_15_sequence), PeepSpriteImage_ToffeeApple_15_sequence }, + { 11325, countof(PeepSpriteImage_ToffeeApple_16_sequence), PeepSpriteImage_ToffeeApple_16_sequence }, + { 6957, countof(PeepSpriteImage_ToffeeApple_17_sequence), PeepSpriteImage_ToffeeApple_17_sequence }, + { 11513, countof(PeepSpriteImage_ToffeeApple_18_sequence), PeepSpriteImage_ToffeeApple_18_sequence }, + { 11513, countof(PeepSpriteImage_ToffeeApple_19_sequence), PeepSpriteImage_ToffeeApple_19_sequence }, + { 11597, countof(PeepSpriteImage_ToffeeApple_20_sequence), PeepSpriteImage_ToffeeApple_20_sequence }, + { 11669, countof(PeepSpriteImage_ToffeeApple_21_sequence), PeepSpriteImage_ToffeeApple_21_sequence }, + { 11669, countof(PeepSpriteImage_ToffeeApple_22_sequence), PeepSpriteImage_ToffeeApple_22_sequence }, + { 11801, countof(PeepSpriteImage_ToffeeApple_23_sequence), PeepSpriteImage_ToffeeApple_23_sequence }, + { 11669, countof(PeepSpriteImage_ToffeeApple_24_sequence), PeepSpriteImage_ToffeeApple_24_sequence }, + { 11377, countof(PeepSpriteImage_ToffeeApple_25_sequence), PeepSpriteImage_ToffeeApple_25_sequence }, + { 6989, countof(PeepSpriteImage_ToffeeApple_26_sequence), PeepSpriteImage_ToffeeApple_26_sequence }, + { 7041, countof(PeepSpriteImage_ToffeeApple_27_sequence), PeepSpriteImage_ToffeeApple_27_sequence }, + { 7101, countof(PeepSpriteImage_ToffeeApple_28_sequence), PeepSpriteImage_ToffeeApple_28_sequence }, + { 11401, countof(PeepSpriteImage_ToffeeApple_29_sequence), PeepSpriteImage_ToffeeApple_29_sequence }, + { 7121, countof(PeepSpriteImage_ToffeeApple_30_sequence), PeepSpriteImage_ToffeeApple_30_sequence }, + { 7149, countof(PeepSpriteImage_ToffeeApple_31_sequence), PeepSpriteImage_ToffeeApple_31_sequence }, + { 7249, countof(PeepSpriteImage_ToffeeApple_32_sequence), PeepSpriteImage_ToffeeApple_32_sequence }, + { 7309, countof(PeepSpriteImage_ToffeeApple_33_sequence), PeepSpriteImage_ToffeeApple_33_sequence }, + { 7329, countof(PeepSpriteImage_ToffeeApple_34_sequence), PeepSpriteImage_ToffeeApple_34_sequence }, + { 7285, countof(PeepSpriteImage_ToffeeApple_35_sequence), PeepSpriteImage_ToffeeApple_35_sequence }, + { 7181, countof(PeepSpriteImage_ToffeeApple_36_sequence), PeepSpriteImage_ToffeeApple_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Donut[] = { - { 8561, countof(PeepSpriteImage_Donut_00_sequence), PeepSpriteImage_Donut_00_sequence }, - { 6585, countof(PeepSpriteImage_Donut_01_sequence), PeepSpriteImage_Donut_01_sequence }, - { 8557, countof(PeepSpriteImage_Donut_02_sequence), PeepSpriteImage_Donut_02_sequence }, - { 8661, countof(PeepSpriteImage_Donut_03_sequence), PeepSpriteImage_Donut_03_sequence }, - { 6697, countof(PeepSpriteImage_Donut_04_sequence), PeepSpriteImage_Donut_04_sequence }, - { 6757, countof(PeepSpriteImage_Donut_05_sequence), PeepSpriteImage_Donut_05_sequence }, - { 6561, countof(PeepSpriteImage_Donut_06_sequence), PeepSpriteImage_Donut_06_sequence }, - { 8633, countof(PeepSpriteImage_Donut_07_sequence), PeepSpriteImage_Donut_07_sequence }, - { 8637, countof(PeepSpriteImage_Donut_08_sequence), PeepSpriteImage_Donut_08_sequence }, - { 6637, countof(PeepSpriteImage_Donut_09_sequence), PeepSpriteImage_Donut_09_sequence }, - { 6645, countof(PeepSpriteImage_Donut_10_sequence), PeepSpriteImage_Donut_10_sequence }, - { 6813, countof(PeepSpriteImage_Donut_11_sequence), PeepSpriteImage_Donut_11_sequence }, - { 11301, countof(PeepSpriteImage_Donut_12_sequence), PeepSpriteImage_Donut_12_sequence }, - { 6825, countof(PeepSpriteImage_Donut_13_sequence), PeepSpriteImage_Donut_13_sequence }, - { 6845, countof(PeepSpriteImage_Donut_14_sequence), PeepSpriteImage_Donut_14_sequence }, - { 6909, countof(PeepSpriteImage_Donut_15_sequence), PeepSpriteImage_Donut_15_sequence }, - { 11325, countof(PeepSpriteImage_Donut_16_sequence), PeepSpriteImage_Donut_16_sequence }, - { 6957, countof(PeepSpriteImage_Donut_17_sequence), PeepSpriteImage_Donut_17_sequence }, - { 11513, countof(PeepSpriteImage_Donut_18_sequence), PeepSpriteImage_Donut_18_sequence }, - { 11513, countof(PeepSpriteImage_Donut_19_sequence), PeepSpriteImage_Donut_19_sequence }, - { 11597, countof(PeepSpriteImage_Donut_20_sequence), PeepSpriteImage_Donut_20_sequence }, - { 11669, countof(PeepSpriteImage_Donut_21_sequence), PeepSpriteImage_Donut_21_sequence }, - { 11669, countof(PeepSpriteImage_Donut_22_sequence), PeepSpriteImage_Donut_22_sequence }, - { 11801, countof(PeepSpriteImage_Donut_23_sequence), PeepSpriteImage_Donut_23_sequence }, - { 11669, countof(PeepSpriteImage_Donut_24_sequence), PeepSpriteImage_Donut_24_sequence }, - { 11377, countof(PeepSpriteImage_Donut_25_sequence), PeepSpriteImage_Donut_25_sequence }, - { 6989, countof(PeepSpriteImage_Donut_26_sequence), PeepSpriteImage_Donut_26_sequence }, - { 7041, countof(PeepSpriteImage_Donut_27_sequence), PeepSpriteImage_Donut_27_sequence }, - { 7101, countof(PeepSpriteImage_Donut_28_sequence), PeepSpriteImage_Donut_28_sequence }, - { 11401, countof(PeepSpriteImage_Donut_29_sequence), PeepSpriteImage_Donut_29_sequence }, - { 7121, countof(PeepSpriteImage_Donut_30_sequence), PeepSpriteImage_Donut_30_sequence }, - { 7149, countof(PeepSpriteImage_Donut_31_sequence), PeepSpriteImage_Donut_31_sequence }, - { 7249, countof(PeepSpriteImage_Donut_32_sequence), PeepSpriteImage_Donut_32_sequence }, - { 7309, countof(PeepSpriteImage_Donut_33_sequence), PeepSpriteImage_Donut_33_sequence }, - { 7329, countof(PeepSpriteImage_Donut_34_sequence), PeepSpriteImage_Donut_34_sequence }, - { 7285, countof(PeepSpriteImage_Donut_35_sequence), PeepSpriteImage_Donut_35_sequence }, - { 7181, countof(PeepSpriteImage_Donut_36_sequence), PeepSpriteImage_Donut_36_sequence }, + { 8561, countof(PeepSpriteImage_Donut_00_sequence), PeepSpriteImage_Donut_00_sequence }, + { 6585, countof(PeepSpriteImage_Donut_01_sequence), PeepSpriteImage_Donut_01_sequence }, + { 8557, countof(PeepSpriteImage_Donut_02_sequence), PeepSpriteImage_Donut_02_sequence }, + { 8661, countof(PeepSpriteImage_Donut_03_sequence), PeepSpriteImage_Donut_03_sequence }, + { 6697, countof(PeepSpriteImage_Donut_04_sequence), PeepSpriteImage_Donut_04_sequence }, + { 6757, countof(PeepSpriteImage_Donut_05_sequence), PeepSpriteImage_Donut_05_sequence }, + { 6561, countof(PeepSpriteImage_Donut_06_sequence), PeepSpriteImage_Donut_06_sequence }, + { 8633, countof(PeepSpriteImage_Donut_07_sequence), PeepSpriteImage_Donut_07_sequence }, + { 8637, countof(PeepSpriteImage_Donut_08_sequence), PeepSpriteImage_Donut_08_sequence }, + { 6637, countof(PeepSpriteImage_Donut_09_sequence), PeepSpriteImage_Donut_09_sequence }, + { 6645, countof(PeepSpriteImage_Donut_10_sequence), PeepSpriteImage_Donut_10_sequence }, + { 6813, countof(PeepSpriteImage_Donut_11_sequence), PeepSpriteImage_Donut_11_sequence }, + { 11301, countof(PeepSpriteImage_Donut_12_sequence), PeepSpriteImage_Donut_12_sequence }, + { 6825, countof(PeepSpriteImage_Donut_13_sequence), PeepSpriteImage_Donut_13_sequence }, + { 6845, countof(PeepSpriteImage_Donut_14_sequence), PeepSpriteImage_Donut_14_sequence }, + { 6909, countof(PeepSpriteImage_Donut_15_sequence), PeepSpriteImage_Donut_15_sequence }, + { 11325, countof(PeepSpriteImage_Donut_16_sequence), PeepSpriteImage_Donut_16_sequence }, + { 6957, countof(PeepSpriteImage_Donut_17_sequence), PeepSpriteImage_Donut_17_sequence }, + { 11513, countof(PeepSpriteImage_Donut_18_sequence), PeepSpriteImage_Donut_18_sequence }, + { 11513, countof(PeepSpriteImage_Donut_19_sequence), PeepSpriteImage_Donut_19_sequence }, + { 11597, countof(PeepSpriteImage_Donut_20_sequence), PeepSpriteImage_Donut_20_sequence }, + { 11669, countof(PeepSpriteImage_Donut_21_sequence), PeepSpriteImage_Donut_21_sequence }, + { 11669, countof(PeepSpriteImage_Donut_22_sequence), PeepSpriteImage_Donut_22_sequence }, + { 11801, countof(PeepSpriteImage_Donut_23_sequence), PeepSpriteImage_Donut_23_sequence }, + { 11669, countof(PeepSpriteImage_Donut_24_sequence), PeepSpriteImage_Donut_24_sequence }, + { 11377, countof(PeepSpriteImage_Donut_25_sequence), PeepSpriteImage_Donut_25_sequence }, + { 6989, countof(PeepSpriteImage_Donut_26_sequence), PeepSpriteImage_Donut_26_sequence }, + { 7041, countof(PeepSpriteImage_Donut_27_sequence), PeepSpriteImage_Donut_27_sequence }, + { 7101, countof(PeepSpriteImage_Donut_28_sequence), PeepSpriteImage_Donut_28_sequence }, + { 11401, countof(PeepSpriteImage_Donut_29_sequence), PeepSpriteImage_Donut_29_sequence }, + { 7121, countof(PeepSpriteImage_Donut_30_sequence), PeepSpriteImage_Donut_30_sequence }, + { 7149, countof(PeepSpriteImage_Donut_31_sequence), PeepSpriteImage_Donut_31_sequence }, + { 7249, countof(PeepSpriteImage_Donut_32_sequence), PeepSpriteImage_Donut_32_sequence }, + { 7309, countof(PeepSpriteImage_Donut_33_sequence), PeepSpriteImage_Donut_33_sequence }, + { 7329, countof(PeepSpriteImage_Donut_34_sequence), PeepSpriteImage_Donut_34_sequence }, + { 7285, countof(PeepSpriteImage_Donut_35_sequence), PeepSpriteImage_Donut_35_sequence }, + { 7181, countof(PeepSpriteImage_Donut_36_sequence), PeepSpriteImage_Donut_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Coffee[] = { - { 8885, countof(PeepSpriteImage_Coffee_00_sequence), PeepSpriteImage_Coffee_00_sequence }, - { 6585, countof(PeepSpriteImage_Coffee_01_sequence), PeepSpriteImage_Coffee_01_sequence }, - { 8981, countof(PeepSpriteImage_Coffee_02_sequence), PeepSpriteImage_Coffee_02_sequence }, - { 8981, countof(PeepSpriteImage_Coffee_03_sequence), PeepSpriteImage_Coffee_03_sequence }, - { 6697, countof(PeepSpriteImage_Coffee_04_sequence), PeepSpriteImage_Coffee_04_sequence }, - { 6757, countof(PeepSpriteImage_Coffee_05_sequence), PeepSpriteImage_Coffee_05_sequence }, - { 6561, countof(PeepSpriteImage_Coffee_06_sequence), PeepSpriteImage_Coffee_06_sequence }, - { 8957, countof(PeepSpriteImage_Coffee_07_sequence), PeepSpriteImage_Coffee_07_sequence }, - { 8957, countof(PeepSpriteImage_Coffee_08_sequence), PeepSpriteImage_Coffee_08_sequence }, - { 6637, countof(PeepSpriteImage_Coffee_09_sequence), PeepSpriteImage_Coffee_09_sequence }, - { 6645, countof(PeepSpriteImage_Coffee_10_sequence), PeepSpriteImage_Coffee_10_sequence }, - { 6813, countof(PeepSpriteImage_Coffee_11_sequence), PeepSpriteImage_Coffee_11_sequence }, - { 11301, countof(PeepSpriteImage_Coffee_12_sequence), PeepSpriteImage_Coffee_12_sequence }, - { 6825, countof(PeepSpriteImage_Coffee_13_sequence), PeepSpriteImage_Coffee_13_sequence }, - { 6845, countof(PeepSpriteImage_Coffee_14_sequence), PeepSpriteImage_Coffee_14_sequence }, - { 6909, countof(PeepSpriteImage_Coffee_15_sequence), PeepSpriteImage_Coffee_15_sequence }, - { 11325, countof(PeepSpriteImage_Coffee_16_sequence), PeepSpriteImage_Coffee_16_sequence }, - { 6957, countof(PeepSpriteImage_Coffee_17_sequence), PeepSpriteImage_Coffee_17_sequence }, - { 11513, countof(PeepSpriteImage_Coffee_18_sequence), PeepSpriteImage_Coffee_18_sequence }, - { 11513, countof(PeepSpriteImage_Coffee_19_sequence), PeepSpriteImage_Coffee_19_sequence }, - { 11597, countof(PeepSpriteImage_Coffee_20_sequence), PeepSpriteImage_Coffee_20_sequence }, - { 11669, countof(PeepSpriteImage_Coffee_21_sequence), PeepSpriteImage_Coffee_21_sequence }, - { 11669, countof(PeepSpriteImage_Coffee_22_sequence), PeepSpriteImage_Coffee_22_sequence }, - { 11801, countof(PeepSpriteImage_Coffee_23_sequence), PeepSpriteImage_Coffee_23_sequence }, - { 11669, countof(PeepSpriteImage_Coffee_24_sequence), PeepSpriteImage_Coffee_24_sequence }, - { 11377, countof(PeepSpriteImage_Coffee_25_sequence), PeepSpriteImage_Coffee_25_sequence }, - { 6989, countof(PeepSpriteImage_Coffee_26_sequence), PeepSpriteImage_Coffee_26_sequence }, - { 7041, countof(PeepSpriteImage_Coffee_27_sequence), PeepSpriteImage_Coffee_27_sequence }, - { 7101, countof(PeepSpriteImage_Coffee_28_sequence), PeepSpriteImage_Coffee_28_sequence }, - { 11401, countof(PeepSpriteImage_Coffee_29_sequence), PeepSpriteImage_Coffee_29_sequence }, - { 7121, countof(PeepSpriteImage_Coffee_30_sequence), PeepSpriteImage_Coffee_30_sequence }, - { 7149, countof(PeepSpriteImage_Coffee_31_sequence), PeepSpriteImage_Coffee_31_sequence }, - { 7249, countof(PeepSpriteImage_Coffee_32_sequence), PeepSpriteImage_Coffee_32_sequence }, - { 7309, countof(PeepSpriteImage_Coffee_33_sequence), PeepSpriteImage_Coffee_33_sequence }, - { 7329, countof(PeepSpriteImage_Coffee_34_sequence), PeepSpriteImage_Coffee_34_sequence }, - { 7285, countof(PeepSpriteImage_Coffee_35_sequence), PeepSpriteImage_Coffee_35_sequence }, - { 7181, countof(PeepSpriteImage_Coffee_36_sequence), PeepSpriteImage_Coffee_36_sequence }, + { 8885, countof(PeepSpriteImage_Coffee_00_sequence), PeepSpriteImage_Coffee_00_sequence }, + { 6585, countof(PeepSpriteImage_Coffee_01_sequence), PeepSpriteImage_Coffee_01_sequence }, + { 8981, countof(PeepSpriteImage_Coffee_02_sequence), PeepSpriteImage_Coffee_02_sequence }, + { 8981, countof(PeepSpriteImage_Coffee_03_sequence), PeepSpriteImage_Coffee_03_sequence }, + { 6697, countof(PeepSpriteImage_Coffee_04_sequence), PeepSpriteImage_Coffee_04_sequence }, + { 6757, countof(PeepSpriteImage_Coffee_05_sequence), PeepSpriteImage_Coffee_05_sequence }, + { 6561, countof(PeepSpriteImage_Coffee_06_sequence), PeepSpriteImage_Coffee_06_sequence }, + { 8957, countof(PeepSpriteImage_Coffee_07_sequence), PeepSpriteImage_Coffee_07_sequence }, + { 8957, countof(PeepSpriteImage_Coffee_08_sequence), PeepSpriteImage_Coffee_08_sequence }, + { 6637, countof(PeepSpriteImage_Coffee_09_sequence), PeepSpriteImage_Coffee_09_sequence }, + { 6645, countof(PeepSpriteImage_Coffee_10_sequence), PeepSpriteImage_Coffee_10_sequence }, + { 6813, countof(PeepSpriteImage_Coffee_11_sequence), PeepSpriteImage_Coffee_11_sequence }, + { 11301, countof(PeepSpriteImage_Coffee_12_sequence), PeepSpriteImage_Coffee_12_sequence }, + { 6825, countof(PeepSpriteImage_Coffee_13_sequence), PeepSpriteImage_Coffee_13_sequence }, + { 6845, countof(PeepSpriteImage_Coffee_14_sequence), PeepSpriteImage_Coffee_14_sequence }, + { 6909, countof(PeepSpriteImage_Coffee_15_sequence), PeepSpriteImage_Coffee_15_sequence }, + { 11325, countof(PeepSpriteImage_Coffee_16_sequence), PeepSpriteImage_Coffee_16_sequence }, + { 6957, countof(PeepSpriteImage_Coffee_17_sequence), PeepSpriteImage_Coffee_17_sequence }, + { 11513, countof(PeepSpriteImage_Coffee_18_sequence), PeepSpriteImage_Coffee_18_sequence }, + { 11513, countof(PeepSpriteImage_Coffee_19_sequence), PeepSpriteImage_Coffee_19_sequence }, + { 11597, countof(PeepSpriteImage_Coffee_20_sequence), PeepSpriteImage_Coffee_20_sequence }, + { 11669, countof(PeepSpriteImage_Coffee_21_sequence), PeepSpriteImage_Coffee_21_sequence }, + { 11669, countof(PeepSpriteImage_Coffee_22_sequence), PeepSpriteImage_Coffee_22_sequence }, + { 11801, countof(PeepSpriteImage_Coffee_23_sequence), PeepSpriteImage_Coffee_23_sequence }, + { 11669, countof(PeepSpriteImage_Coffee_24_sequence), PeepSpriteImage_Coffee_24_sequence }, + { 11377, countof(PeepSpriteImage_Coffee_25_sequence), PeepSpriteImage_Coffee_25_sequence }, + { 6989, countof(PeepSpriteImage_Coffee_26_sequence), PeepSpriteImage_Coffee_26_sequence }, + { 7041, countof(PeepSpriteImage_Coffee_27_sequence), PeepSpriteImage_Coffee_27_sequence }, + { 7101, countof(PeepSpriteImage_Coffee_28_sequence), PeepSpriteImage_Coffee_28_sequence }, + { 11401, countof(PeepSpriteImage_Coffee_29_sequence), PeepSpriteImage_Coffee_29_sequence }, + { 7121, countof(PeepSpriteImage_Coffee_30_sequence), PeepSpriteImage_Coffee_30_sequence }, + { 7149, countof(PeepSpriteImage_Coffee_31_sequence), PeepSpriteImage_Coffee_31_sequence }, + { 7249, countof(PeepSpriteImage_Coffee_32_sequence), PeepSpriteImage_Coffee_32_sequence }, + { 7309, countof(PeepSpriteImage_Coffee_33_sequence), PeepSpriteImage_Coffee_33_sequence }, + { 7329, countof(PeepSpriteImage_Coffee_34_sequence), PeepSpriteImage_Coffee_34_sequence }, + { 7285, countof(PeepSpriteImage_Coffee_35_sequence), PeepSpriteImage_Coffee_35_sequence }, + { 7181, countof(PeepSpriteImage_Coffee_36_sequence), PeepSpriteImage_Coffee_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Chicken[] = { - { 9005, countof(PeepSpriteImage_Chicken_00_sequence), PeepSpriteImage_Chicken_00_sequence }, - { 6585, countof(PeepSpriteImage_Chicken_01_sequence), PeepSpriteImage_Chicken_01_sequence }, - { 9125, countof(PeepSpriteImage_Chicken_02_sequence), PeepSpriteImage_Chicken_02_sequence }, - { 9125, countof(PeepSpriteImage_Chicken_03_sequence), PeepSpriteImage_Chicken_03_sequence }, - { 6697, countof(PeepSpriteImage_Chicken_04_sequence), PeepSpriteImage_Chicken_04_sequence }, - { 6757, countof(PeepSpriteImage_Chicken_05_sequence), PeepSpriteImage_Chicken_05_sequence }, - { 6561, countof(PeepSpriteImage_Chicken_06_sequence), PeepSpriteImage_Chicken_06_sequence }, - { 9077, countof(PeepSpriteImage_Chicken_07_sequence), PeepSpriteImage_Chicken_07_sequence }, - { 9077, countof(PeepSpriteImage_Chicken_08_sequence), PeepSpriteImage_Chicken_08_sequence }, - { 6637, countof(PeepSpriteImage_Chicken_09_sequence), PeepSpriteImage_Chicken_09_sequence }, - { 6645, countof(PeepSpriteImage_Chicken_10_sequence), PeepSpriteImage_Chicken_10_sequence }, - { 6813, countof(PeepSpriteImage_Chicken_11_sequence), PeepSpriteImage_Chicken_11_sequence }, - { 11301, countof(PeepSpriteImage_Chicken_12_sequence), PeepSpriteImage_Chicken_12_sequence }, - { 6825, countof(PeepSpriteImage_Chicken_13_sequence), PeepSpriteImage_Chicken_13_sequence }, - { 6845, countof(PeepSpriteImage_Chicken_14_sequence), PeepSpriteImage_Chicken_14_sequence }, - { 6909, countof(PeepSpriteImage_Chicken_15_sequence), PeepSpriteImage_Chicken_15_sequence }, - { 11325, countof(PeepSpriteImage_Chicken_16_sequence), PeepSpriteImage_Chicken_16_sequence }, - { 6957, countof(PeepSpriteImage_Chicken_17_sequence), PeepSpriteImage_Chicken_17_sequence }, - { 11513, countof(PeepSpriteImage_Chicken_18_sequence), PeepSpriteImage_Chicken_18_sequence }, - { 11513, countof(PeepSpriteImage_Chicken_19_sequence), PeepSpriteImage_Chicken_19_sequence }, - { 11597, countof(PeepSpriteImage_Chicken_20_sequence), PeepSpriteImage_Chicken_20_sequence }, - { 11669, countof(PeepSpriteImage_Chicken_21_sequence), PeepSpriteImage_Chicken_21_sequence }, - { 11669, countof(PeepSpriteImage_Chicken_22_sequence), PeepSpriteImage_Chicken_22_sequence }, - { 11801, countof(PeepSpriteImage_Chicken_23_sequence), PeepSpriteImage_Chicken_23_sequence }, - { 11669, countof(PeepSpriteImage_Chicken_24_sequence), PeepSpriteImage_Chicken_24_sequence }, - { 11377, countof(PeepSpriteImage_Chicken_25_sequence), PeepSpriteImage_Chicken_25_sequence }, - { 6989, countof(PeepSpriteImage_Chicken_26_sequence), PeepSpriteImage_Chicken_26_sequence }, - { 7041, countof(PeepSpriteImage_Chicken_27_sequence), PeepSpriteImage_Chicken_27_sequence }, - { 7101, countof(PeepSpriteImage_Chicken_28_sequence), PeepSpriteImage_Chicken_28_sequence }, - { 11401, countof(PeepSpriteImage_Chicken_29_sequence), PeepSpriteImage_Chicken_29_sequence }, - { 7121, countof(PeepSpriteImage_Chicken_30_sequence), PeepSpriteImage_Chicken_30_sequence }, - { 7149, countof(PeepSpriteImage_Chicken_31_sequence), PeepSpriteImage_Chicken_31_sequence }, - { 7249, countof(PeepSpriteImage_Chicken_32_sequence), PeepSpriteImage_Chicken_32_sequence }, - { 7309, countof(PeepSpriteImage_Chicken_33_sequence), PeepSpriteImage_Chicken_33_sequence }, - { 7329, countof(PeepSpriteImage_Chicken_34_sequence), PeepSpriteImage_Chicken_34_sequence }, - { 7285, countof(PeepSpriteImage_Chicken_35_sequence), PeepSpriteImage_Chicken_35_sequence }, - { 7181, countof(PeepSpriteImage_Chicken_36_sequence), PeepSpriteImage_Chicken_36_sequence }, + { 9005, countof(PeepSpriteImage_Chicken_00_sequence), PeepSpriteImage_Chicken_00_sequence }, + { 6585, countof(PeepSpriteImage_Chicken_01_sequence), PeepSpriteImage_Chicken_01_sequence }, + { 9125, countof(PeepSpriteImage_Chicken_02_sequence), PeepSpriteImage_Chicken_02_sequence }, + { 9125, countof(PeepSpriteImage_Chicken_03_sequence), PeepSpriteImage_Chicken_03_sequence }, + { 6697, countof(PeepSpriteImage_Chicken_04_sequence), PeepSpriteImage_Chicken_04_sequence }, + { 6757, countof(PeepSpriteImage_Chicken_05_sequence), PeepSpriteImage_Chicken_05_sequence }, + { 6561, countof(PeepSpriteImage_Chicken_06_sequence), PeepSpriteImage_Chicken_06_sequence }, + { 9077, countof(PeepSpriteImage_Chicken_07_sequence), PeepSpriteImage_Chicken_07_sequence }, + { 9077, countof(PeepSpriteImage_Chicken_08_sequence), PeepSpriteImage_Chicken_08_sequence }, + { 6637, countof(PeepSpriteImage_Chicken_09_sequence), PeepSpriteImage_Chicken_09_sequence }, + { 6645, countof(PeepSpriteImage_Chicken_10_sequence), PeepSpriteImage_Chicken_10_sequence }, + { 6813, countof(PeepSpriteImage_Chicken_11_sequence), PeepSpriteImage_Chicken_11_sequence }, + { 11301, countof(PeepSpriteImage_Chicken_12_sequence), PeepSpriteImage_Chicken_12_sequence }, + { 6825, countof(PeepSpriteImage_Chicken_13_sequence), PeepSpriteImage_Chicken_13_sequence }, + { 6845, countof(PeepSpriteImage_Chicken_14_sequence), PeepSpriteImage_Chicken_14_sequence }, + { 6909, countof(PeepSpriteImage_Chicken_15_sequence), PeepSpriteImage_Chicken_15_sequence }, + { 11325, countof(PeepSpriteImage_Chicken_16_sequence), PeepSpriteImage_Chicken_16_sequence }, + { 6957, countof(PeepSpriteImage_Chicken_17_sequence), PeepSpriteImage_Chicken_17_sequence }, + { 11513, countof(PeepSpriteImage_Chicken_18_sequence), PeepSpriteImage_Chicken_18_sequence }, + { 11513, countof(PeepSpriteImage_Chicken_19_sequence), PeepSpriteImage_Chicken_19_sequence }, + { 11597, countof(PeepSpriteImage_Chicken_20_sequence), PeepSpriteImage_Chicken_20_sequence }, + { 11669, countof(PeepSpriteImage_Chicken_21_sequence), PeepSpriteImage_Chicken_21_sequence }, + { 11669, countof(PeepSpriteImage_Chicken_22_sequence), PeepSpriteImage_Chicken_22_sequence }, + { 11801, countof(PeepSpriteImage_Chicken_23_sequence), PeepSpriteImage_Chicken_23_sequence }, + { 11669, countof(PeepSpriteImage_Chicken_24_sequence), PeepSpriteImage_Chicken_24_sequence }, + { 11377, countof(PeepSpriteImage_Chicken_25_sequence), PeepSpriteImage_Chicken_25_sequence }, + { 6989, countof(PeepSpriteImage_Chicken_26_sequence), PeepSpriteImage_Chicken_26_sequence }, + { 7041, countof(PeepSpriteImage_Chicken_27_sequence), PeepSpriteImage_Chicken_27_sequence }, + { 7101, countof(PeepSpriteImage_Chicken_28_sequence), PeepSpriteImage_Chicken_28_sequence }, + { 11401, countof(PeepSpriteImage_Chicken_29_sequence), PeepSpriteImage_Chicken_29_sequence }, + { 7121, countof(PeepSpriteImage_Chicken_30_sequence), PeepSpriteImage_Chicken_30_sequence }, + { 7149, countof(PeepSpriteImage_Chicken_31_sequence), PeepSpriteImage_Chicken_31_sequence }, + { 7249, countof(PeepSpriteImage_Chicken_32_sequence), PeepSpriteImage_Chicken_32_sequence }, + { 7309, countof(PeepSpriteImage_Chicken_33_sequence), PeepSpriteImage_Chicken_33_sequence }, + { 7329, countof(PeepSpriteImage_Chicken_34_sequence), PeepSpriteImage_Chicken_34_sequence }, + { 7285, countof(PeepSpriteImage_Chicken_35_sequence), PeepSpriteImage_Chicken_35_sequence }, + { 7181, countof(PeepSpriteImage_Chicken_36_sequence), PeepSpriteImage_Chicken_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Lemonade[] = { - { 9173, countof(PeepSpriteImage_Lemonade_00_sequence), PeepSpriteImage_Lemonade_00_sequence }, - { 6585, countof(PeepSpriteImage_Lemonade_01_sequence), PeepSpriteImage_Lemonade_01_sequence }, - { 9293, countof(PeepSpriteImage_Lemonade_02_sequence), PeepSpriteImage_Lemonade_02_sequence }, - { 9293, countof(PeepSpriteImage_Lemonade_03_sequence), PeepSpriteImage_Lemonade_03_sequence }, - { 6697, countof(PeepSpriteImage_Lemonade_04_sequence), PeepSpriteImage_Lemonade_04_sequence }, - { 6757, countof(PeepSpriteImage_Lemonade_05_sequence), PeepSpriteImage_Lemonade_05_sequence }, - { 6561, countof(PeepSpriteImage_Lemonade_06_sequence), PeepSpriteImage_Lemonade_06_sequence }, - { 9245, countof(PeepSpriteImage_Lemonade_07_sequence), PeepSpriteImage_Lemonade_07_sequence }, - { 9245, countof(PeepSpriteImage_Lemonade_08_sequence), PeepSpriteImage_Lemonade_08_sequence }, - { 6637, countof(PeepSpriteImage_Lemonade_09_sequence), PeepSpriteImage_Lemonade_09_sequence }, - { 6645, countof(PeepSpriteImage_Lemonade_10_sequence), PeepSpriteImage_Lemonade_10_sequence }, - { 6813, countof(PeepSpriteImage_Lemonade_11_sequence), PeepSpriteImage_Lemonade_11_sequence }, - { 11301, countof(PeepSpriteImage_Lemonade_12_sequence), PeepSpriteImage_Lemonade_12_sequence }, - { 6825, countof(PeepSpriteImage_Lemonade_13_sequence), PeepSpriteImage_Lemonade_13_sequence }, - { 6845, countof(PeepSpriteImage_Lemonade_14_sequence), PeepSpriteImage_Lemonade_14_sequence }, - { 6909, countof(PeepSpriteImage_Lemonade_15_sequence), PeepSpriteImage_Lemonade_15_sequence }, - { 11325, countof(PeepSpriteImage_Lemonade_16_sequence), PeepSpriteImage_Lemonade_16_sequence }, - { 6957, countof(PeepSpriteImage_Lemonade_17_sequence), PeepSpriteImage_Lemonade_17_sequence }, - { 11513, countof(PeepSpriteImage_Lemonade_18_sequence), PeepSpriteImage_Lemonade_18_sequence }, - { 11513, countof(PeepSpriteImage_Lemonade_19_sequence), PeepSpriteImage_Lemonade_19_sequence }, - { 11597, countof(PeepSpriteImage_Lemonade_20_sequence), PeepSpriteImage_Lemonade_20_sequence }, - { 11669, countof(PeepSpriteImage_Lemonade_21_sequence), PeepSpriteImage_Lemonade_21_sequence }, - { 11669, countof(PeepSpriteImage_Lemonade_22_sequence), PeepSpriteImage_Lemonade_22_sequence }, - { 11801, countof(PeepSpriteImage_Lemonade_23_sequence), PeepSpriteImage_Lemonade_23_sequence }, - { 11669, countof(PeepSpriteImage_Lemonade_24_sequence), PeepSpriteImage_Lemonade_24_sequence }, - { 11377, countof(PeepSpriteImage_Lemonade_25_sequence), PeepSpriteImage_Lemonade_25_sequence }, - { 6989, countof(PeepSpriteImage_Lemonade_26_sequence), PeepSpriteImage_Lemonade_26_sequence }, - { 7041, countof(PeepSpriteImage_Lemonade_27_sequence), PeepSpriteImage_Lemonade_27_sequence }, - { 7101, countof(PeepSpriteImage_Lemonade_28_sequence), PeepSpriteImage_Lemonade_28_sequence }, - { 11401, countof(PeepSpriteImage_Lemonade_29_sequence), PeepSpriteImage_Lemonade_29_sequence }, - { 7121, countof(PeepSpriteImage_Lemonade_30_sequence), PeepSpriteImage_Lemonade_30_sequence }, - { 7149, countof(PeepSpriteImage_Lemonade_31_sequence), PeepSpriteImage_Lemonade_31_sequence }, - { 7249, countof(PeepSpriteImage_Lemonade_32_sequence), PeepSpriteImage_Lemonade_32_sequence }, - { 7309, countof(PeepSpriteImage_Lemonade_33_sequence), PeepSpriteImage_Lemonade_33_sequence }, - { 7329, countof(PeepSpriteImage_Lemonade_34_sequence), PeepSpriteImage_Lemonade_34_sequence }, - { 7285, countof(PeepSpriteImage_Lemonade_35_sequence), PeepSpriteImage_Lemonade_35_sequence }, - { 7181, countof(PeepSpriteImage_Lemonade_36_sequence), PeepSpriteImage_Lemonade_36_sequence }, + { 9173, countof(PeepSpriteImage_Lemonade_00_sequence), PeepSpriteImage_Lemonade_00_sequence }, + { 6585, countof(PeepSpriteImage_Lemonade_01_sequence), PeepSpriteImage_Lemonade_01_sequence }, + { 9293, countof(PeepSpriteImage_Lemonade_02_sequence), PeepSpriteImage_Lemonade_02_sequence }, + { 9293, countof(PeepSpriteImage_Lemonade_03_sequence), PeepSpriteImage_Lemonade_03_sequence }, + { 6697, countof(PeepSpriteImage_Lemonade_04_sequence), PeepSpriteImage_Lemonade_04_sequence }, + { 6757, countof(PeepSpriteImage_Lemonade_05_sequence), PeepSpriteImage_Lemonade_05_sequence }, + { 6561, countof(PeepSpriteImage_Lemonade_06_sequence), PeepSpriteImage_Lemonade_06_sequence }, + { 9245, countof(PeepSpriteImage_Lemonade_07_sequence), PeepSpriteImage_Lemonade_07_sequence }, + { 9245, countof(PeepSpriteImage_Lemonade_08_sequence), PeepSpriteImage_Lemonade_08_sequence }, + { 6637, countof(PeepSpriteImage_Lemonade_09_sequence), PeepSpriteImage_Lemonade_09_sequence }, + { 6645, countof(PeepSpriteImage_Lemonade_10_sequence), PeepSpriteImage_Lemonade_10_sequence }, + { 6813, countof(PeepSpriteImage_Lemonade_11_sequence), PeepSpriteImage_Lemonade_11_sequence }, + { 11301, countof(PeepSpriteImage_Lemonade_12_sequence), PeepSpriteImage_Lemonade_12_sequence }, + { 6825, countof(PeepSpriteImage_Lemonade_13_sequence), PeepSpriteImage_Lemonade_13_sequence }, + { 6845, countof(PeepSpriteImage_Lemonade_14_sequence), PeepSpriteImage_Lemonade_14_sequence }, + { 6909, countof(PeepSpriteImage_Lemonade_15_sequence), PeepSpriteImage_Lemonade_15_sequence }, + { 11325, countof(PeepSpriteImage_Lemonade_16_sequence), PeepSpriteImage_Lemonade_16_sequence }, + { 6957, countof(PeepSpriteImage_Lemonade_17_sequence), PeepSpriteImage_Lemonade_17_sequence }, + { 11513, countof(PeepSpriteImage_Lemonade_18_sequence), PeepSpriteImage_Lemonade_18_sequence }, + { 11513, countof(PeepSpriteImage_Lemonade_19_sequence), PeepSpriteImage_Lemonade_19_sequence }, + { 11597, countof(PeepSpriteImage_Lemonade_20_sequence), PeepSpriteImage_Lemonade_20_sequence }, + { 11669, countof(PeepSpriteImage_Lemonade_21_sequence), PeepSpriteImage_Lemonade_21_sequence }, + { 11669, countof(PeepSpriteImage_Lemonade_22_sequence), PeepSpriteImage_Lemonade_22_sequence }, + { 11801, countof(PeepSpriteImage_Lemonade_23_sequence), PeepSpriteImage_Lemonade_23_sequence }, + { 11669, countof(PeepSpriteImage_Lemonade_24_sequence), PeepSpriteImage_Lemonade_24_sequence }, + { 11377, countof(PeepSpriteImage_Lemonade_25_sequence), PeepSpriteImage_Lemonade_25_sequence }, + { 6989, countof(PeepSpriteImage_Lemonade_26_sequence), PeepSpriteImage_Lemonade_26_sequence }, + { 7041, countof(PeepSpriteImage_Lemonade_27_sequence), PeepSpriteImage_Lemonade_27_sequence }, + { 7101, countof(PeepSpriteImage_Lemonade_28_sequence), PeepSpriteImage_Lemonade_28_sequence }, + { 11401, countof(PeepSpriteImage_Lemonade_29_sequence), PeepSpriteImage_Lemonade_29_sequence }, + { 7121, countof(PeepSpriteImage_Lemonade_30_sequence), PeepSpriteImage_Lemonade_30_sequence }, + { 7149, countof(PeepSpriteImage_Lemonade_31_sequence), PeepSpriteImage_Lemonade_31_sequence }, + { 7249, countof(PeepSpriteImage_Lemonade_32_sequence), PeepSpriteImage_Lemonade_32_sequence }, + { 7309, countof(PeepSpriteImage_Lemonade_33_sequence), PeepSpriteImage_Lemonade_33_sequence }, + { 7329, countof(PeepSpriteImage_Lemonade_34_sequence), PeepSpriteImage_Lemonade_34_sequence }, + { 7285, countof(PeepSpriteImage_Lemonade_35_sequence), PeepSpriteImage_Lemonade_35_sequence }, + { 7181, countof(PeepSpriteImage_Lemonade_36_sequence), PeepSpriteImage_Lemonade_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Watching[] = { - { 6409, countof(PeepSpriteImage_Watching_00_sequence), PeepSpriteImage_Watching_00_sequence }, - { 6585, countof(PeepSpriteImage_Watching_01_sequence), PeepSpriteImage_Watching_01_sequence }, - { 7245, countof(PeepSpriteImage_Watching_02_sequence), PeepSpriteImage_Watching_02_sequence }, - { 6653, countof(PeepSpriteImage_Watching_03_sequence), PeepSpriteImage_Watching_03_sequence }, - { 6697, countof(PeepSpriteImage_Watching_04_sequence), PeepSpriteImage_Watching_04_sequence }, - { 6757, countof(PeepSpriteImage_Watching_05_sequence), PeepSpriteImage_Watching_05_sequence }, - { 6561, countof(PeepSpriteImage_Watching_06_sequence), PeepSpriteImage_Watching_06_sequence }, - { 6625, countof(PeepSpriteImage_Watching_07_sequence), PeepSpriteImage_Watching_07_sequence }, - { 6629, countof(PeepSpriteImage_Watching_08_sequence), PeepSpriteImage_Watching_08_sequence }, - { 6637, countof(PeepSpriteImage_Watching_09_sequence), PeepSpriteImage_Watching_09_sequence }, - { 6645, countof(PeepSpriteImage_Watching_10_sequence), PeepSpriteImage_Watching_10_sequence }, - { 6813, countof(PeepSpriteImage_Watching_11_sequence), PeepSpriteImage_Watching_11_sequence }, - { 11301, countof(PeepSpriteImage_Watching_12_sequence), PeepSpriteImage_Watching_12_sequence }, - { 6825, countof(PeepSpriteImage_Watching_13_sequence), PeepSpriteImage_Watching_13_sequence }, - { 6845, countof(PeepSpriteImage_Watching_14_sequence), PeepSpriteImage_Watching_14_sequence }, - { 6909, countof(PeepSpriteImage_Watching_15_sequence), PeepSpriteImage_Watching_15_sequence }, - { 11325, countof(PeepSpriteImage_Watching_16_sequence), PeepSpriteImage_Watching_16_sequence }, - { 6957, countof(PeepSpriteImage_Watching_17_sequence), PeepSpriteImage_Watching_17_sequence }, - { 11513, countof(PeepSpriteImage_Watching_18_sequence), PeepSpriteImage_Watching_18_sequence }, - { 11513, countof(PeepSpriteImage_Watching_19_sequence), PeepSpriteImage_Watching_19_sequence }, - { 11597, countof(PeepSpriteImage_Watching_20_sequence), PeepSpriteImage_Watching_20_sequence }, - { 11669, countof(PeepSpriteImage_Watching_21_sequence), PeepSpriteImage_Watching_21_sequence }, - { 11669, countof(PeepSpriteImage_Watching_22_sequence), PeepSpriteImage_Watching_22_sequence }, - { 11801, countof(PeepSpriteImage_Watching_23_sequence), PeepSpriteImage_Watching_23_sequence }, - { 11669, countof(PeepSpriteImage_Watching_24_sequence), PeepSpriteImage_Watching_24_sequence }, - { 11377, countof(PeepSpriteImage_Watching_25_sequence), PeepSpriteImage_Watching_25_sequence }, - { 6989, countof(PeepSpriteImage_Watching_26_sequence), PeepSpriteImage_Watching_26_sequence }, - { 7041, countof(PeepSpriteImage_Watching_27_sequence), PeepSpriteImage_Watching_27_sequence }, - { 7101, countof(PeepSpriteImage_Watching_28_sequence), PeepSpriteImage_Watching_28_sequence }, - { 11401, countof(PeepSpriteImage_Watching_29_sequence), PeepSpriteImage_Watching_29_sequence }, - { 7121, countof(PeepSpriteImage_Watching_30_sequence), PeepSpriteImage_Watching_30_sequence }, - { 7149, countof(PeepSpriteImage_Watching_31_sequence), PeepSpriteImage_Watching_31_sequence }, - { 7249, countof(PeepSpriteImage_Watching_32_sequence), PeepSpriteImage_Watching_32_sequence }, - { 7309, countof(PeepSpriteImage_Watching_33_sequence), PeepSpriteImage_Watching_33_sequence }, - { 7329, countof(PeepSpriteImage_Watching_34_sequence), PeepSpriteImage_Watching_34_sequence }, - { 7285, countof(PeepSpriteImage_Watching_35_sequence), PeepSpriteImage_Watching_35_sequence }, - { 7181, countof(PeepSpriteImage_Watching_36_sequence), PeepSpriteImage_Watching_36_sequence }, + { 6409, countof(PeepSpriteImage_Watching_00_sequence), PeepSpriteImage_Watching_00_sequence }, + { 6585, countof(PeepSpriteImage_Watching_01_sequence), PeepSpriteImage_Watching_01_sequence }, + { 7245, countof(PeepSpriteImage_Watching_02_sequence), PeepSpriteImage_Watching_02_sequence }, + { 6653, countof(PeepSpriteImage_Watching_03_sequence), PeepSpriteImage_Watching_03_sequence }, + { 6697, countof(PeepSpriteImage_Watching_04_sequence), PeepSpriteImage_Watching_04_sequence }, + { 6757, countof(PeepSpriteImage_Watching_05_sequence), PeepSpriteImage_Watching_05_sequence }, + { 6561, countof(PeepSpriteImage_Watching_06_sequence), PeepSpriteImage_Watching_06_sequence }, + { 6625, countof(PeepSpriteImage_Watching_07_sequence), PeepSpriteImage_Watching_07_sequence }, + { 6629, countof(PeepSpriteImage_Watching_08_sequence), PeepSpriteImage_Watching_08_sequence }, + { 6637, countof(PeepSpriteImage_Watching_09_sequence), PeepSpriteImage_Watching_09_sequence }, + { 6645, countof(PeepSpriteImage_Watching_10_sequence), PeepSpriteImage_Watching_10_sequence }, + { 6813, countof(PeepSpriteImage_Watching_11_sequence), PeepSpriteImage_Watching_11_sequence }, + { 11301, countof(PeepSpriteImage_Watching_12_sequence), PeepSpriteImage_Watching_12_sequence }, + { 6825, countof(PeepSpriteImage_Watching_13_sequence), PeepSpriteImage_Watching_13_sequence }, + { 6845, countof(PeepSpriteImage_Watching_14_sequence), PeepSpriteImage_Watching_14_sequence }, + { 6909, countof(PeepSpriteImage_Watching_15_sequence), PeepSpriteImage_Watching_15_sequence }, + { 11325, countof(PeepSpriteImage_Watching_16_sequence), PeepSpriteImage_Watching_16_sequence }, + { 6957, countof(PeepSpriteImage_Watching_17_sequence), PeepSpriteImage_Watching_17_sequence }, + { 11513, countof(PeepSpriteImage_Watching_18_sequence), PeepSpriteImage_Watching_18_sequence }, + { 11513, countof(PeepSpriteImage_Watching_19_sequence), PeepSpriteImage_Watching_19_sequence }, + { 11597, countof(PeepSpriteImage_Watching_20_sequence), PeepSpriteImage_Watching_20_sequence }, + { 11669, countof(PeepSpriteImage_Watching_21_sequence), PeepSpriteImage_Watching_21_sequence }, + { 11669, countof(PeepSpriteImage_Watching_22_sequence), PeepSpriteImage_Watching_22_sequence }, + { 11801, countof(PeepSpriteImage_Watching_23_sequence), PeepSpriteImage_Watching_23_sequence }, + { 11669, countof(PeepSpriteImage_Watching_24_sequence), PeepSpriteImage_Watching_24_sequence }, + { 11377, countof(PeepSpriteImage_Watching_25_sequence), PeepSpriteImage_Watching_25_sequence }, + { 6989, countof(PeepSpriteImage_Watching_26_sequence), PeepSpriteImage_Watching_26_sequence }, + { 7041, countof(PeepSpriteImage_Watching_27_sequence), PeepSpriteImage_Watching_27_sequence }, + { 7101, countof(PeepSpriteImage_Watching_28_sequence), PeepSpriteImage_Watching_28_sequence }, + { 11401, countof(PeepSpriteImage_Watching_29_sequence), PeepSpriteImage_Watching_29_sequence }, + { 7121, countof(PeepSpriteImage_Watching_30_sequence), PeepSpriteImage_Watching_30_sequence }, + { 7149, countof(PeepSpriteImage_Watching_31_sequence), PeepSpriteImage_Watching_31_sequence }, + { 7249, countof(PeepSpriteImage_Watching_32_sequence), PeepSpriteImage_Watching_32_sequence }, + { 7309, countof(PeepSpriteImage_Watching_33_sequence), PeepSpriteImage_Watching_33_sequence }, + { 7329, countof(PeepSpriteImage_Watching_34_sequence), PeepSpriteImage_Watching_34_sequence }, + { 7285, countof(PeepSpriteImage_Watching_35_sequence), PeepSpriteImage_Watching_35_sequence }, + { 7181, countof(PeepSpriteImage_Watching_36_sequence), PeepSpriteImage_Watching_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Pretzel[] = { - { 9341, countof(PeepSpriteImage_Pretzel_00_sequence), PeepSpriteImage_Pretzel_00_sequence }, - { 6585, countof(PeepSpriteImage_Pretzel_01_sequence), PeepSpriteImage_Pretzel_01_sequence }, - { 9461, countof(PeepSpriteImage_Pretzel_02_sequence), PeepSpriteImage_Pretzel_02_sequence }, - { 9461, countof(PeepSpriteImage_Pretzel_03_sequence), PeepSpriteImage_Pretzel_03_sequence }, - { 6697, countof(PeepSpriteImage_Pretzel_04_sequence), PeepSpriteImage_Pretzel_04_sequence }, - { 6757, countof(PeepSpriteImage_Pretzel_05_sequence), PeepSpriteImage_Pretzel_05_sequence }, - { 6561, countof(PeepSpriteImage_Pretzel_06_sequence), PeepSpriteImage_Pretzel_06_sequence }, - { 9413, countof(PeepSpriteImage_Pretzel_07_sequence), PeepSpriteImage_Pretzel_07_sequence }, - { 9413, countof(PeepSpriteImage_Pretzel_08_sequence), PeepSpriteImage_Pretzel_08_sequence }, - { 6637, countof(PeepSpriteImage_Pretzel_09_sequence), PeepSpriteImage_Pretzel_09_sequence }, - { 6645, countof(PeepSpriteImage_Pretzel_10_sequence), PeepSpriteImage_Pretzel_10_sequence }, - { 6813, countof(PeepSpriteImage_Pretzel_11_sequence), PeepSpriteImage_Pretzel_11_sequence }, - { 11301, countof(PeepSpriteImage_Pretzel_12_sequence), PeepSpriteImage_Pretzel_12_sequence }, - { 6825, countof(PeepSpriteImage_Pretzel_13_sequence), PeepSpriteImage_Pretzel_13_sequence }, - { 6845, countof(PeepSpriteImage_Pretzel_14_sequence), PeepSpriteImage_Pretzel_14_sequence }, - { 6909, countof(PeepSpriteImage_Pretzel_15_sequence), PeepSpriteImage_Pretzel_15_sequence }, - { 11325, countof(PeepSpriteImage_Pretzel_16_sequence), PeepSpriteImage_Pretzel_16_sequence }, - { 6957, countof(PeepSpriteImage_Pretzel_17_sequence), PeepSpriteImage_Pretzel_17_sequence }, - { 11513, countof(PeepSpriteImage_Pretzel_18_sequence), PeepSpriteImage_Pretzel_18_sequence }, - { 11513, countof(PeepSpriteImage_Pretzel_19_sequence), PeepSpriteImage_Pretzel_19_sequence }, - { 11597, countof(PeepSpriteImage_Pretzel_20_sequence), PeepSpriteImage_Pretzel_20_sequence }, - { 11669, countof(PeepSpriteImage_Pretzel_21_sequence), PeepSpriteImage_Pretzel_21_sequence }, - { 11669, countof(PeepSpriteImage_Pretzel_22_sequence), PeepSpriteImage_Pretzel_22_sequence }, - { 11801, countof(PeepSpriteImage_Pretzel_23_sequence), PeepSpriteImage_Pretzel_23_sequence }, - { 11669, countof(PeepSpriteImage_Pretzel_24_sequence), PeepSpriteImage_Pretzel_24_sequence }, - { 11377, countof(PeepSpriteImage_Pretzel_25_sequence), PeepSpriteImage_Pretzel_25_sequence }, - { 6989, countof(PeepSpriteImage_Pretzel_26_sequence), PeepSpriteImage_Pretzel_26_sequence }, - { 7041, countof(PeepSpriteImage_Pretzel_27_sequence), PeepSpriteImage_Pretzel_27_sequence }, - { 7101, countof(PeepSpriteImage_Pretzel_28_sequence), PeepSpriteImage_Pretzel_28_sequence }, - { 11401, countof(PeepSpriteImage_Pretzel_29_sequence), PeepSpriteImage_Pretzel_29_sequence }, - { 7121, countof(PeepSpriteImage_Pretzel_30_sequence), PeepSpriteImage_Pretzel_30_sequence }, - { 7149, countof(PeepSpriteImage_Pretzel_31_sequence), PeepSpriteImage_Pretzel_31_sequence }, - { 7249, countof(PeepSpriteImage_Pretzel_32_sequence), PeepSpriteImage_Pretzel_32_sequence }, - { 7309, countof(PeepSpriteImage_Pretzel_33_sequence), PeepSpriteImage_Pretzel_33_sequence }, - { 7329, countof(PeepSpriteImage_Pretzel_34_sequence), PeepSpriteImage_Pretzel_34_sequence }, - { 7285, countof(PeepSpriteImage_Pretzel_35_sequence), PeepSpriteImage_Pretzel_35_sequence }, - { 7181, countof(PeepSpriteImage_Pretzel_36_sequence), PeepSpriteImage_Pretzel_36_sequence }, + { 9341, countof(PeepSpriteImage_Pretzel_00_sequence), PeepSpriteImage_Pretzel_00_sequence }, + { 6585, countof(PeepSpriteImage_Pretzel_01_sequence), PeepSpriteImage_Pretzel_01_sequence }, + { 9461, countof(PeepSpriteImage_Pretzel_02_sequence), PeepSpriteImage_Pretzel_02_sequence }, + { 9461, countof(PeepSpriteImage_Pretzel_03_sequence), PeepSpriteImage_Pretzel_03_sequence }, + { 6697, countof(PeepSpriteImage_Pretzel_04_sequence), PeepSpriteImage_Pretzel_04_sequence }, + { 6757, countof(PeepSpriteImage_Pretzel_05_sequence), PeepSpriteImage_Pretzel_05_sequence }, + { 6561, countof(PeepSpriteImage_Pretzel_06_sequence), PeepSpriteImage_Pretzel_06_sequence }, + { 9413, countof(PeepSpriteImage_Pretzel_07_sequence), PeepSpriteImage_Pretzel_07_sequence }, + { 9413, countof(PeepSpriteImage_Pretzel_08_sequence), PeepSpriteImage_Pretzel_08_sequence }, + { 6637, countof(PeepSpriteImage_Pretzel_09_sequence), PeepSpriteImage_Pretzel_09_sequence }, + { 6645, countof(PeepSpriteImage_Pretzel_10_sequence), PeepSpriteImage_Pretzel_10_sequence }, + { 6813, countof(PeepSpriteImage_Pretzel_11_sequence), PeepSpriteImage_Pretzel_11_sequence }, + { 11301, countof(PeepSpriteImage_Pretzel_12_sequence), PeepSpriteImage_Pretzel_12_sequence }, + { 6825, countof(PeepSpriteImage_Pretzel_13_sequence), PeepSpriteImage_Pretzel_13_sequence }, + { 6845, countof(PeepSpriteImage_Pretzel_14_sequence), PeepSpriteImage_Pretzel_14_sequence }, + { 6909, countof(PeepSpriteImage_Pretzel_15_sequence), PeepSpriteImage_Pretzel_15_sequence }, + { 11325, countof(PeepSpriteImage_Pretzel_16_sequence), PeepSpriteImage_Pretzel_16_sequence }, + { 6957, countof(PeepSpriteImage_Pretzel_17_sequence), PeepSpriteImage_Pretzel_17_sequence }, + { 11513, countof(PeepSpriteImage_Pretzel_18_sequence), PeepSpriteImage_Pretzel_18_sequence }, + { 11513, countof(PeepSpriteImage_Pretzel_19_sequence), PeepSpriteImage_Pretzel_19_sequence }, + { 11597, countof(PeepSpriteImage_Pretzel_20_sequence), PeepSpriteImage_Pretzel_20_sequence }, + { 11669, countof(PeepSpriteImage_Pretzel_21_sequence), PeepSpriteImage_Pretzel_21_sequence }, + { 11669, countof(PeepSpriteImage_Pretzel_22_sequence), PeepSpriteImage_Pretzel_22_sequence }, + { 11801, countof(PeepSpriteImage_Pretzel_23_sequence), PeepSpriteImage_Pretzel_23_sequence }, + { 11669, countof(PeepSpriteImage_Pretzel_24_sequence), PeepSpriteImage_Pretzel_24_sequence }, + { 11377, countof(PeepSpriteImage_Pretzel_25_sequence), PeepSpriteImage_Pretzel_25_sequence }, + { 6989, countof(PeepSpriteImage_Pretzel_26_sequence), PeepSpriteImage_Pretzel_26_sequence }, + { 7041, countof(PeepSpriteImage_Pretzel_27_sequence), PeepSpriteImage_Pretzel_27_sequence }, + { 7101, countof(PeepSpriteImage_Pretzel_28_sequence), PeepSpriteImage_Pretzel_28_sequence }, + { 11401, countof(PeepSpriteImage_Pretzel_29_sequence), PeepSpriteImage_Pretzel_29_sequence }, + { 7121, countof(PeepSpriteImage_Pretzel_30_sequence), PeepSpriteImage_Pretzel_30_sequence }, + { 7149, countof(PeepSpriteImage_Pretzel_31_sequence), PeepSpriteImage_Pretzel_31_sequence }, + { 7249, countof(PeepSpriteImage_Pretzel_32_sequence), PeepSpriteImage_Pretzel_32_sequence }, + { 7309, countof(PeepSpriteImage_Pretzel_33_sequence), PeepSpriteImage_Pretzel_33_sequence }, + { 7329, countof(PeepSpriteImage_Pretzel_34_sequence), PeepSpriteImage_Pretzel_34_sequence }, + { 7285, countof(PeepSpriteImage_Pretzel_35_sequence), PeepSpriteImage_Pretzel_35_sequence }, + { 7181, countof(PeepSpriteImage_Pretzel_36_sequence), PeepSpriteImage_Pretzel_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Sunglasses[] = { - { 10685, countof(PeepSpriteImage_Sunglasses_00_sequence), PeepSpriteImage_Sunglasses_00_sequence }, - { 6585, countof(PeepSpriteImage_Sunglasses_01_sequence), PeepSpriteImage_Sunglasses_01_sequence }, - { 10713, countof(PeepSpriteImage_Sunglasses_02_sequence), PeepSpriteImage_Sunglasses_02_sequence }, - { 6653, countof(PeepSpriteImage_Sunglasses_03_sequence), PeepSpriteImage_Sunglasses_03_sequence }, - { 6697, countof(PeepSpriteImage_Sunglasses_04_sequence), PeepSpriteImage_Sunglasses_04_sequence }, - { 6757, countof(PeepSpriteImage_Sunglasses_05_sequence), PeepSpriteImage_Sunglasses_05_sequence }, - { 6561, countof(PeepSpriteImage_Sunglasses_06_sequence), PeepSpriteImage_Sunglasses_06_sequence }, - { 10709, countof(PeepSpriteImage_Sunglasses_07_sequence), PeepSpriteImage_Sunglasses_07_sequence }, - { 6629, countof(PeepSpriteImage_Sunglasses_08_sequence), PeepSpriteImage_Sunglasses_08_sequence }, - { 6637, countof(PeepSpriteImage_Sunglasses_09_sequence), PeepSpriteImage_Sunglasses_09_sequence }, - { 6645, countof(PeepSpriteImage_Sunglasses_10_sequence), PeepSpriteImage_Sunglasses_10_sequence }, - { 6813, countof(PeepSpriteImage_Sunglasses_11_sequence), PeepSpriteImage_Sunglasses_11_sequence }, - { 11301, countof(PeepSpriteImage_Sunglasses_12_sequence), PeepSpriteImage_Sunglasses_12_sequence }, - { 6825, countof(PeepSpriteImage_Sunglasses_13_sequence), PeepSpriteImage_Sunglasses_13_sequence }, - { 6845, countof(PeepSpriteImage_Sunglasses_14_sequence), PeepSpriteImage_Sunglasses_14_sequence }, - { 6909, countof(PeepSpriteImage_Sunglasses_15_sequence), PeepSpriteImage_Sunglasses_15_sequence }, - { 11325, countof(PeepSpriteImage_Sunglasses_16_sequence), PeepSpriteImage_Sunglasses_16_sequence }, - { 6957, countof(PeepSpriteImage_Sunglasses_17_sequence), PeepSpriteImage_Sunglasses_17_sequence }, - { 11513, countof(PeepSpriteImage_Sunglasses_18_sequence), PeepSpriteImage_Sunglasses_18_sequence }, - { 11513, countof(PeepSpriteImage_Sunglasses_19_sequence), PeepSpriteImage_Sunglasses_19_sequence }, - { 11597, countof(PeepSpriteImage_Sunglasses_20_sequence), PeepSpriteImage_Sunglasses_20_sequence }, - { 11669, countof(PeepSpriteImage_Sunglasses_21_sequence), PeepSpriteImage_Sunglasses_21_sequence }, - { 11669, countof(PeepSpriteImage_Sunglasses_22_sequence), PeepSpriteImage_Sunglasses_22_sequence }, - { 11801, countof(PeepSpriteImage_Sunglasses_23_sequence), PeepSpriteImage_Sunglasses_23_sequence }, - { 11669, countof(PeepSpriteImage_Sunglasses_24_sequence), PeepSpriteImage_Sunglasses_24_sequence }, - { 11377, countof(PeepSpriteImage_Sunglasses_25_sequence), PeepSpriteImage_Sunglasses_25_sequence }, - { 6989, countof(PeepSpriteImage_Sunglasses_26_sequence), PeepSpriteImage_Sunglasses_26_sequence }, - { 7041, countof(PeepSpriteImage_Sunglasses_27_sequence), PeepSpriteImage_Sunglasses_27_sequence }, - { 7101, countof(PeepSpriteImage_Sunglasses_28_sequence), PeepSpriteImage_Sunglasses_28_sequence }, - { 11401, countof(PeepSpriteImage_Sunglasses_29_sequence), PeepSpriteImage_Sunglasses_29_sequence }, - { 7121, countof(PeepSpriteImage_Sunglasses_30_sequence), PeepSpriteImage_Sunglasses_30_sequence }, - { 7149, countof(PeepSpriteImage_Sunglasses_31_sequence), PeepSpriteImage_Sunglasses_31_sequence }, - { 7249, countof(PeepSpriteImage_Sunglasses_32_sequence), PeepSpriteImage_Sunglasses_32_sequence }, - { 7309, countof(PeepSpriteImage_Sunglasses_33_sequence), PeepSpriteImage_Sunglasses_33_sequence }, - { 7329, countof(PeepSpriteImage_Sunglasses_34_sequence), PeepSpriteImage_Sunglasses_34_sequence }, - { 7285, countof(PeepSpriteImage_Sunglasses_35_sequence), PeepSpriteImage_Sunglasses_35_sequence }, - { 7181, countof(PeepSpriteImage_Sunglasses_36_sequence), PeepSpriteImage_Sunglasses_36_sequence }, + { 10685, countof(PeepSpriteImage_Sunglasses_00_sequence), PeepSpriteImage_Sunglasses_00_sequence }, + { 6585, countof(PeepSpriteImage_Sunglasses_01_sequence), PeepSpriteImage_Sunglasses_01_sequence }, + { 10713, countof(PeepSpriteImage_Sunglasses_02_sequence), PeepSpriteImage_Sunglasses_02_sequence }, + { 6653, countof(PeepSpriteImage_Sunglasses_03_sequence), PeepSpriteImage_Sunglasses_03_sequence }, + { 6697, countof(PeepSpriteImage_Sunglasses_04_sequence), PeepSpriteImage_Sunglasses_04_sequence }, + { 6757, countof(PeepSpriteImage_Sunglasses_05_sequence), PeepSpriteImage_Sunglasses_05_sequence }, + { 6561, countof(PeepSpriteImage_Sunglasses_06_sequence), PeepSpriteImage_Sunglasses_06_sequence }, + { 10709, countof(PeepSpriteImage_Sunglasses_07_sequence), PeepSpriteImage_Sunglasses_07_sequence }, + { 6629, countof(PeepSpriteImage_Sunglasses_08_sequence), PeepSpriteImage_Sunglasses_08_sequence }, + { 6637, countof(PeepSpriteImage_Sunglasses_09_sequence), PeepSpriteImage_Sunglasses_09_sequence }, + { 6645, countof(PeepSpriteImage_Sunglasses_10_sequence), PeepSpriteImage_Sunglasses_10_sequence }, + { 6813, countof(PeepSpriteImage_Sunglasses_11_sequence), PeepSpriteImage_Sunglasses_11_sequence }, + { 11301, countof(PeepSpriteImage_Sunglasses_12_sequence), PeepSpriteImage_Sunglasses_12_sequence }, + { 6825, countof(PeepSpriteImage_Sunglasses_13_sequence), PeepSpriteImage_Sunglasses_13_sequence }, + { 6845, countof(PeepSpriteImage_Sunglasses_14_sequence), PeepSpriteImage_Sunglasses_14_sequence }, + { 6909, countof(PeepSpriteImage_Sunglasses_15_sequence), PeepSpriteImage_Sunglasses_15_sequence }, + { 11325, countof(PeepSpriteImage_Sunglasses_16_sequence), PeepSpriteImage_Sunglasses_16_sequence }, + { 6957, countof(PeepSpriteImage_Sunglasses_17_sequence), PeepSpriteImage_Sunglasses_17_sequence }, + { 11513, countof(PeepSpriteImage_Sunglasses_18_sequence), PeepSpriteImage_Sunglasses_18_sequence }, + { 11513, countof(PeepSpriteImage_Sunglasses_19_sequence), PeepSpriteImage_Sunglasses_19_sequence }, + { 11597, countof(PeepSpriteImage_Sunglasses_20_sequence), PeepSpriteImage_Sunglasses_20_sequence }, + { 11669, countof(PeepSpriteImage_Sunglasses_21_sequence), PeepSpriteImage_Sunglasses_21_sequence }, + { 11669, countof(PeepSpriteImage_Sunglasses_22_sequence), PeepSpriteImage_Sunglasses_22_sequence }, + { 11801, countof(PeepSpriteImage_Sunglasses_23_sequence), PeepSpriteImage_Sunglasses_23_sequence }, + { 11669, countof(PeepSpriteImage_Sunglasses_24_sequence), PeepSpriteImage_Sunglasses_24_sequence }, + { 11377, countof(PeepSpriteImage_Sunglasses_25_sequence), PeepSpriteImage_Sunglasses_25_sequence }, + { 6989, countof(PeepSpriteImage_Sunglasses_26_sequence), PeepSpriteImage_Sunglasses_26_sequence }, + { 7041, countof(PeepSpriteImage_Sunglasses_27_sequence), PeepSpriteImage_Sunglasses_27_sequence }, + { 7101, countof(PeepSpriteImage_Sunglasses_28_sequence), PeepSpriteImage_Sunglasses_28_sequence }, + { 11401, countof(PeepSpriteImage_Sunglasses_29_sequence), PeepSpriteImage_Sunglasses_29_sequence }, + { 7121, countof(PeepSpriteImage_Sunglasses_30_sequence), PeepSpriteImage_Sunglasses_30_sequence }, + { 7149, countof(PeepSpriteImage_Sunglasses_31_sequence), PeepSpriteImage_Sunglasses_31_sequence }, + { 7249, countof(PeepSpriteImage_Sunglasses_32_sequence), PeepSpriteImage_Sunglasses_32_sequence }, + { 7309, countof(PeepSpriteImage_Sunglasses_33_sequence), PeepSpriteImage_Sunglasses_33_sequence }, + { 7329, countof(PeepSpriteImage_Sunglasses_34_sequence), PeepSpriteImage_Sunglasses_34_sequence }, + { 7285, countof(PeepSpriteImage_Sunglasses_35_sequence), PeepSpriteImage_Sunglasses_35_sequence }, + { 7181, countof(PeepSpriteImage_Sunglasses_36_sequence), PeepSpriteImage_Sunglasses_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_SuJongkwa[] = { - { 9509, countof(PeepSpriteImage_SuJongkwa_00_sequence), PeepSpriteImage_SuJongkwa_00_sequence }, - { 6585, countof(PeepSpriteImage_SuJongkwa_01_sequence), PeepSpriteImage_SuJongkwa_01_sequence }, - { 9629, countof(PeepSpriteImage_SuJongkwa_02_sequence), PeepSpriteImage_SuJongkwa_02_sequence }, - { 9629, countof(PeepSpriteImage_SuJongkwa_03_sequence), PeepSpriteImage_SuJongkwa_03_sequence }, - { 6697, countof(PeepSpriteImage_SuJongkwa_04_sequence), PeepSpriteImage_SuJongkwa_04_sequence }, - { 6757, countof(PeepSpriteImage_SuJongkwa_05_sequence), PeepSpriteImage_SuJongkwa_05_sequence }, - { 6561, countof(PeepSpriteImage_SuJongkwa_06_sequence), PeepSpriteImage_SuJongkwa_06_sequence }, - { 9581, countof(PeepSpriteImage_SuJongkwa_07_sequence), PeepSpriteImage_SuJongkwa_07_sequence }, - { 9581, countof(PeepSpriteImage_SuJongkwa_08_sequence), PeepSpriteImage_SuJongkwa_08_sequence }, - { 6637, countof(PeepSpriteImage_SuJongkwa_09_sequence), PeepSpriteImage_SuJongkwa_09_sequence }, - { 6645, countof(PeepSpriteImage_SuJongkwa_10_sequence), PeepSpriteImage_SuJongkwa_10_sequence }, - { 6813, countof(PeepSpriteImage_SuJongkwa_11_sequence), PeepSpriteImage_SuJongkwa_11_sequence }, - { 11301, countof(PeepSpriteImage_SuJongkwa_12_sequence), PeepSpriteImage_SuJongkwa_12_sequence }, - { 6825, countof(PeepSpriteImage_SuJongkwa_13_sequence), PeepSpriteImage_SuJongkwa_13_sequence }, - { 6845, countof(PeepSpriteImage_SuJongkwa_14_sequence), PeepSpriteImage_SuJongkwa_14_sequence }, - { 6909, countof(PeepSpriteImage_SuJongkwa_15_sequence), PeepSpriteImage_SuJongkwa_15_sequence }, - { 11325, countof(PeepSpriteImage_SuJongkwa_16_sequence), PeepSpriteImage_SuJongkwa_16_sequence }, - { 6957, countof(PeepSpriteImage_SuJongkwa_17_sequence), PeepSpriteImage_SuJongkwa_17_sequence }, - { 11513, countof(PeepSpriteImage_SuJongkwa_18_sequence), PeepSpriteImage_SuJongkwa_18_sequence }, - { 11513, countof(PeepSpriteImage_SuJongkwa_19_sequence), PeepSpriteImage_SuJongkwa_19_sequence }, - { 11597, countof(PeepSpriteImage_SuJongkwa_20_sequence), PeepSpriteImage_SuJongkwa_20_sequence }, - { 11669, countof(PeepSpriteImage_SuJongkwa_21_sequence), PeepSpriteImage_SuJongkwa_21_sequence }, - { 11669, countof(PeepSpriteImage_SuJongkwa_22_sequence), PeepSpriteImage_SuJongkwa_22_sequence }, - { 11801, countof(PeepSpriteImage_SuJongkwa_23_sequence), PeepSpriteImage_SuJongkwa_23_sequence }, - { 11669, countof(PeepSpriteImage_SuJongkwa_24_sequence), PeepSpriteImage_SuJongkwa_24_sequence }, - { 11377, countof(PeepSpriteImage_SuJongkwa_25_sequence), PeepSpriteImage_SuJongkwa_25_sequence }, - { 6989, countof(PeepSpriteImage_SuJongkwa_26_sequence), PeepSpriteImage_SuJongkwa_26_sequence }, - { 7041, countof(PeepSpriteImage_SuJongkwa_27_sequence), PeepSpriteImage_SuJongkwa_27_sequence }, - { 7101, countof(PeepSpriteImage_SuJongkwa_28_sequence), PeepSpriteImage_SuJongkwa_28_sequence }, - { 11401, countof(PeepSpriteImage_SuJongkwa_29_sequence), PeepSpriteImage_SuJongkwa_29_sequence }, - { 7121, countof(PeepSpriteImage_SuJongkwa_30_sequence), PeepSpriteImage_SuJongkwa_30_sequence }, - { 7149, countof(PeepSpriteImage_SuJongkwa_31_sequence), PeepSpriteImage_SuJongkwa_31_sequence }, - { 7249, countof(PeepSpriteImage_SuJongkwa_32_sequence), PeepSpriteImage_SuJongkwa_32_sequence }, - { 7309, countof(PeepSpriteImage_SuJongkwa_33_sequence), PeepSpriteImage_SuJongkwa_33_sequence }, - { 7329, countof(PeepSpriteImage_SuJongkwa_34_sequence), PeepSpriteImage_SuJongkwa_34_sequence }, - { 7285, countof(PeepSpriteImage_SuJongkwa_35_sequence), PeepSpriteImage_SuJongkwa_35_sequence }, - { 7181, countof(PeepSpriteImage_SuJongkwa_36_sequence), PeepSpriteImage_SuJongkwa_36_sequence }, + { 9509, countof(PeepSpriteImage_SuJongkwa_00_sequence), PeepSpriteImage_SuJongkwa_00_sequence }, + { 6585, countof(PeepSpriteImage_SuJongkwa_01_sequence), PeepSpriteImage_SuJongkwa_01_sequence }, + { 9629, countof(PeepSpriteImage_SuJongkwa_02_sequence), PeepSpriteImage_SuJongkwa_02_sequence }, + { 9629, countof(PeepSpriteImage_SuJongkwa_03_sequence), PeepSpriteImage_SuJongkwa_03_sequence }, + { 6697, countof(PeepSpriteImage_SuJongkwa_04_sequence), PeepSpriteImage_SuJongkwa_04_sequence }, + { 6757, countof(PeepSpriteImage_SuJongkwa_05_sequence), PeepSpriteImage_SuJongkwa_05_sequence }, + { 6561, countof(PeepSpriteImage_SuJongkwa_06_sequence), PeepSpriteImage_SuJongkwa_06_sequence }, + { 9581, countof(PeepSpriteImage_SuJongkwa_07_sequence), PeepSpriteImage_SuJongkwa_07_sequence }, + { 9581, countof(PeepSpriteImage_SuJongkwa_08_sequence), PeepSpriteImage_SuJongkwa_08_sequence }, + { 6637, countof(PeepSpriteImage_SuJongkwa_09_sequence), PeepSpriteImage_SuJongkwa_09_sequence }, + { 6645, countof(PeepSpriteImage_SuJongkwa_10_sequence), PeepSpriteImage_SuJongkwa_10_sequence }, + { 6813, countof(PeepSpriteImage_SuJongkwa_11_sequence), PeepSpriteImage_SuJongkwa_11_sequence }, + { 11301, countof(PeepSpriteImage_SuJongkwa_12_sequence), PeepSpriteImage_SuJongkwa_12_sequence }, + { 6825, countof(PeepSpriteImage_SuJongkwa_13_sequence), PeepSpriteImage_SuJongkwa_13_sequence }, + { 6845, countof(PeepSpriteImage_SuJongkwa_14_sequence), PeepSpriteImage_SuJongkwa_14_sequence }, + { 6909, countof(PeepSpriteImage_SuJongkwa_15_sequence), PeepSpriteImage_SuJongkwa_15_sequence }, + { 11325, countof(PeepSpriteImage_SuJongkwa_16_sequence), PeepSpriteImage_SuJongkwa_16_sequence }, + { 6957, countof(PeepSpriteImage_SuJongkwa_17_sequence), PeepSpriteImage_SuJongkwa_17_sequence }, + { 11513, countof(PeepSpriteImage_SuJongkwa_18_sequence), PeepSpriteImage_SuJongkwa_18_sequence }, + { 11513, countof(PeepSpriteImage_SuJongkwa_19_sequence), PeepSpriteImage_SuJongkwa_19_sequence }, + { 11597, countof(PeepSpriteImage_SuJongkwa_20_sequence), PeepSpriteImage_SuJongkwa_20_sequence }, + { 11669, countof(PeepSpriteImage_SuJongkwa_21_sequence), PeepSpriteImage_SuJongkwa_21_sequence }, + { 11669, countof(PeepSpriteImage_SuJongkwa_22_sequence), PeepSpriteImage_SuJongkwa_22_sequence }, + { 11801, countof(PeepSpriteImage_SuJongkwa_23_sequence), PeepSpriteImage_SuJongkwa_23_sequence }, + { 11669, countof(PeepSpriteImage_SuJongkwa_24_sequence), PeepSpriteImage_SuJongkwa_24_sequence }, + { 11377, countof(PeepSpriteImage_SuJongkwa_25_sequence), PeepSpriteImage_SuJongkwa_25_sequence }, + { 6989, countof(PeepSpriteImage_SuJongkwa_26_sequence), PeepSpriteImage_SuJongkwa_26_sequence }, + { 7041, countof(PeepSpriteImage_SuJongkwa_27_sequence), PeepSpriteImage_SuJongkwa_27_sequence }, + { 7101, countof(PeepSpriteImage_SuJongkwa_28_sequence), PeepSpriteImage_SuJongkwa_28_sequence }, + { 11401, countof(PeepSpriteImage_SuJongkwa_29_sequence), PeepSpriteImage_SuJongkwa_29_sequence }, + { 7121, countof(PeepSpriteImage_SuJongkwa_30_sequence), PeepSpriteImage_SuJongkwa_30_sequence }, + { 7149, countof(PeepSpriteImage_SuJongkwa_31_sequence), PeepSpriteImage_SuJongkwa_31_sequence }, + { 7249, countof(PeepSpriteImage_SuJongkwa_32_sequence), PeepSpriteImage_SuJongkwa_32_sequence }, + { 7309, countof(PeepSpriteImage_SuJongkwa_33_sequence), PeepSpriteImage_SuJongkwa_33_sequence }, + { 7329, countof(PeepSpriteImage_SuJongkwa_34_sequence), PeepSpriteImage_SuJongkwa_34_sequence }, + { 7285, countof(PeepSpriteImage_SuJongkwa_35_sequence), PeepSpriteImage_SuJongkwa_35_sequence }, + { 7181, countof(PeepSpriteImage_SuJongkwa_36_sequence), PeepSpriteImage_SuJongkwa_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Juice[] = { - { 9677, countof(PeepSpriteImage_Juice_00_sequence), PeepSpriteImage_Juice_00_sequence }, - { 6585, countof(PeepSpriteImage_Juice_01_sequence), PeepSpriteImage_Juice_01_sequence }, - { 9797, countof(PeepSpriteImage_Juice_02_sequence), PeepSpriteImage_Juice_02_sequence }, - { 9797, countof(PeepSpriteImage_Juice_03_sequence), PeepSpriteImage_Juice_03_sequence }, - { 6697, countof(PeepSpriteImage_Juice_04_sequence), PeepSpriteImage_Juice_04_sequence }, - { 6757, countof(PeepSpriteImage_Juice_05_sequence), PeepSpriteImage_Juice_05_sequence }, - { 6561, countof(PeepSpriteImage_Juice_06_sequence), PeepSpriteImage_Juice_06_sequence }, - { 9749, countof(PeepSpriteImage_Juice_07_sequence), PeepSpriteImage_Juice_07_sequence }, - { 9749, countof(PeepSpriteImage_Juice_08_sequence), PeepSpriteImage_Juice_08_sequence }, - { 6637, countof(PeepSpriteImage_Juice_09_sequence), PeepSpriteImage_Juice_09_sequence }, - { 6645, countof(PeepSpriteImage_Juice_10_sequence), PeepSpriteImage_Juice_10_sequence }, - { 6813, countof(PeepSpriteImage_Juice_11_sequence), PeepSpriteImage_Juice_11_sequence }, - { 11301, countof(PeepSpriteImage_Juice_12_sequence), PeepSpriteImage_Juice_12_sequence }, - { 6825, countof(PeepSpriteImage_Juice_13_sequence), PeepSpriteImage_Juice_13_sequence }, - { 6845, countof(PeepSpriteImage_Juice_14_sequence), PeepSpriteImage_Juice_14_sequence }, - { 6909, countof(PeepSpriteImage_Juice_15_sequence), PeepSpriteImage_Juice_15_sequence }, - { 11325, countof(PeepSpriteImage_Juice_16_sequence), PeepSpriteImage_Juice_16_sequence }, - { 6957, countof(PeepSpriteImage_Juice_17_sequence), PeepSpriteImage_Juice_17_sequence }, - { 11513, countof(PeepSpriteImage_Juice_18_sequence), PeepSpriteImage_Juice_18_sequence }, - { 11513, countof(PeepSpriteImage_Juice_19_sequence), PeepSpriteImage_Juice_19_sequence }, - { 11597, countof(PeepSpriteImage_Juice_20_sequence), PeepSpriteImage_Juice_20_sequence }, - { 11669, countof(PeepSpriteImage_Juice_21_sequence), PeepSpriteImage_Juice_21_sequence }, - { 11669, countof(PeepSpriteImage_Juice_22_sequence), PeepSpriteImage_Juice_22_sequence }, - { 11801, countof(PeepSpriteImage_Juice_23_sequence), PeepSpriteImage_Juice_23_sequence }, - { 11669, countof(PeepSpriteImage_Juice_24_sequence), PeepSpriteImage_Juice_24_sequence }, - { 11377, countof(PeepSpriteImage_Juice_25_sequence), PeepSpriteImage_Juice_25_sequence }, - { 6989, countof(PeepSpriteImage_Juice_26_sequence), PeepSpriteImage_Juice_26_sequence }, - { 7041, countof(PeepSpriteImage_Juice_27_sequence), PeepSpriteImage_Juice_27_sequence }, - { 7101, countof(PeepSpriteImage_Juice_28_sequence), PeepSpriteImage_Juice_28_sequence }, - { 11401, countof(PeepSpriteImage_Juice_29_sequence), PeepSpriteImage_Juice_29_sequence }, - { 7121, countof(PeepSpriteImage_Juice_30_sequence), PeepSpriteImage_Juice_30_sequence }, - { 7149, countof(PeepSpriteImage_Juice_31_sequence), PeepSpriteImage_Juice_31_sequence }, - { 7249, countof(PeepSpriteImage_Juice_32_sequence), PeepSpriteImage_Juice_32_sequence }, - { 7309, countof(PeepSpriteImage_Juice_33_sequence), PeepSpriteImage_Juice_33_sequence }, - { 7329, countof(PeepSpriteImage_Juice_34_sequence), PeepSpriteImage_Juice_34_sequence }, - { 7285, countof(PeepSpriteImage_Juice_35_sequence), PeepSpriteImage_Juice_35_sequence }, - { 7181, countof(PeepSpriteImage_Juice_36_sequence), PeepSpriteImage_Juice_36_sequence }, + { 9677, countof(PeepSpriteImage_Juice_00_sequence), PeepSpriteImage_Juice_00_sequence }, + { 6585, countof(PeepSpriteImage_Juice_01_sequence), PeepSpriteImage_Juice_01_sequence }, + { 9797, countof(PeepSpriteImage_Juice_02_sequence), PeepSpriteImage_Juice_02_sequence }, + { 9797, countof(PeepSpriteImage_Juice_03_sequence), PeepSpriteImage_Juice_03_sequence }, + { 6697, countof(PeepSpriteImage_Juice_04_sequence), PeepSpriteImage_Juice_04_sequence }, + { 6757, countof(PeepSpriteImage_Juice_05_sequence), PeepSpriteImage_Juice_05_sequence }, + { 6561, countof(PeepSpriteImage_Juice_06_sequence), PeepSpriteImage_Juice_06_sequence }, + { 9749, countof(PeepSpriteImage_Juice_07_sequence), PeepSpriteImage_Juice_07_sequence }, + { 9749, countof(PeepSpriteImage_Juice_08_sequence), PeepSpriteImage_Juice_08_sequence }, + { 6637, countof(PeepSpriteImage_Juice_09_sequence), PeepSpriteImage_Juice_09_sequence }, + { 6645, countof(PeepSpriteImage_Juice_10_sequence), PeepSpriteImage_Juice_10_sequence }, + { 6813, countof(PeepSpriteImage_Juice_11_sequence), PeepSpriteImage_Juice_11_sequence }, + { 11301, countof(PeepSpriteImage_Juice_12_sequence), PeepSpriteImage_Juice_12_sequence }, + { 6825, countof(PeepSpriteImage_Juice_13_sequence), PeepSpriteImage_Juice_13_sequence }, + { 6845, countof(PeepSpriteImage_Juice_14_sequence), PeepSpriteImage_Juice_14_sequence }, + { 6909, countof(PeepSpriteImage_Juice_15_sequence), PeepSpriteImage_Juice_15_sequence }, + { 11325, countof(PeepSpriteImage_Juice_16_sequence), PeepSpriteImage_Juice_16_sequence }, + { 6957, countof(PeepSpriteImage_Juice_17_sequence), PeepSpriteImage_Juice_17_sequence }, + { 11513, countof(PeepSpriteImage_Juice_18_sequence), PeepSpriteImage_Juice_18_sequence }, + { 11513, countof(PeepSpriteImage_Juice_19_sequence), PeepSpriteImage_Juice_19_sequence }, + { 11597, countof(PeepSpriteImage_Juice_20_sequence), PeepSpriteImage_Juice_20_sequence }, + { 11669, countof(PeepSpriteImage_Juice_21_sequence), PeepSpriteImage_Juice_21_sequence }, + { 11669, countof(PeepSpriteImage_Juice_22_sequence), PeepSpriteImage_Juice_22_sequence }, + { 11801, countof(PeepSpriteImage_Juice_23_sequence), PeepSpriteImage_Juice_23_sequence }, + { 11669, countof(PeepSpriteImage_Juice_24_sequence), PeepSpriteImage_Juice_24_sequence }, + { 11377, countof(PeepSpriteImage_Juice_25_sequence), PeepSpriteImage_Juice_25_sequence }, + { 6989, countof(PeepSpriteImage_Juice_26_sequence), PeepSpriteImage_Juice_26_sequence }, + { 7041, countof(PeepSpriteImage_Juice_27_sequence), PeepSpriteImage_Juice_27_sequence }, + { 7101, countof(PeepSpriteImage_Juice_28_sequence), PeepSpriteImage_Juice_28_sequence }, + { 11401, countof(PeepSpriteImage_Juice_29_sequence), PeepSpriteImage_Juice_29_sequence }, + { 7121, countof(PeepSpriteImage_Juice_30_sequence), PeepSpriteImage_Juice_30_sequence }, + { 7149, countof(PeepSpriteImage_Juice_31_sequence), PeepSpriteImage_Juice_31_sequence }, + { 7249, countof(PeepSpriteImage_Juice_32_sequence), PeepSpriteImage_Juice_32_sequence }, + { 7309, countof(PeepSpriteImage_Juice_33_sequence), PeepSpriteImage_Juice_33_sequence }, + { 7329, countof(PeepSpriteImage_Juice_34_sequence), PeepSpriteImage_Juice_34_sequence }, + { 7285, countof(PeepSpriteImage_Juice_35_sequence), PeepSpriteImage_Juice_35_sequence }, + { 7181, countof(PeepSpriteImage_Juice_36_sequence), PeepSpriteImage_Juice_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_FunnelCake[] = { - { 9845, countof(PeepSpriteImage_FunnelCake_00_sequence), PeepSpriteImage_FunnelCake_00_sequence }, - { 6585, countof(PeepSpriteImage_FunnelCake_01_sequence), PeepSpriteImage_FunnelCake_01_sequence }, - { 9965, countof(PeepSpriteImage_FunnelCake_02_sequence), PeepSpriteImage_FunnelCake_02_sequence }, - { 9965, countof(PeepSpriteImage_FunnelCake_03_sequence), PeepSpriteImage_FunnelCake_03_sequence }, - { 6697, countof(PeepSpriteImage_FunnelCake_04_sequence), PeepSpriteImage_FunnelCake_04_sequence }, - { 6757, countof(PeepSpriteImage_FunnelCake_05_sequence), PeepSpriteImage_FunnelCake_05_sequence }, - { 6561, countof(PeepSpriteImage_FunnelCake_06_sequence), PeepSpriteImage_FunnelCake_06_sequence }, - { 9917, countof(PeepSpriteImage_FunnelCake_07_sequence), PeepSpriteImage_FunnelCake_07_sequence }, - { 9917, countof(PeepSpriteImage_FunnelCake_08_sequence), PeepSpriteImage_FunnelCake_08_sequence }, - { 6637, countof(PeepSpriteImage_FunnelCake_09_sequence), PeepSpriteImage_FunnelCake_09_sequence }, - { 6645, countof(PeepSpriteImage_FunnelCake_10_sequence), PeepSpriteImage_FunnelCake_10_sequence }, - { 6813, countof(PeepSpriteImage_FunnelCake_11_sequence), PeepSpriteImage_FunnelCake_11_sequence }, - { 11301, countof(PeepSpriteImage_FunnelCake_12_sequence), PeepSpriteImage_FunnelCake_12_sequence }, - { 6825, countof(PeepSpriteImage_FunnelCake_13_sequence), PeepSpriteImage_FunnelCake_13_sequence }, - { 6845, countof(PeepSpriteImage_FunnelCake_14_sequence), PeepSpriteImage_FunnelCake_14_sequence }, - { 6909, countof(PeepSpriteImage_FunnelCake_15_sequence), PeepSpriteImage_FunnelCake_15_sequence }, - { 11325, countof(PeepSpriteImage_FunnelCake_16_sequence), PeepSpriteImage_FunnelCake_16_sequence }, - { 6957, countof(PeepSpriteImage_FunnelCake_17_sequence), PeepSpriteImage_FunnelCake_17_sequence }, - { 11513, countof(PeepSpriteImage_FunnelCake_18_sequence), PeepSpriteImage_FunnelCake_18_sequence }, - { 11513, countof(PeepSpriteImage_FunnelCake_19_sequence), PeepSpriteImage_FunnelCake_19_sequence }, - { 11597, countof(PeepSpriteImage_FunnelCake_20_sequence), PeepSpriteImage_FunnelCake_20_sequence }, - { 11669, countof(PeepSpriteImage_FunnelCake_21_sequence), PeepSpriteImage_FunnelCake_21_sequence }, - { 11669, countof(PeepSpriteImage_FunnelCake_22_sequence), PeepSpriteImage_FunnelCake_22_sequence }, - { 11801, countof(PeepSpriteImage_FunnelCake_23_sequence), PeepSpriteImage_FunnelCake_23_sequence }, - { 11669, countof(PeepSpriteImage_FunnelCake_24_sequence), PeepSpriteImage_FunnelCake_24_sequence }, - { 11377, countof(PeepSpriteImage_FunnelCake_25_sequence), PeepSpriteImage_FunnelCake_25_sequence }, - { 6989, countof(PeepSpriteImage_FunnelCake_26_sequence), PeepSpriteImage_FunnelCake_26_sequence }, - { 7041, countof(PeepSpriteImage_FunnelCake_27_sequence), PeepSpriteImage_FunnelCake_27_sequence }, - { 7101, countof(PeepSpriteImage_FunnelCake_28_sequence), PeepSpriteImage_FunnelCake_28_sequence }, - { 11401, countof(PeepSpriteImage_FunnelCake_29_sequence), PeepSpriteImage_FunnelCake_29_sequence }, - { 7121, countof(PeepSpriteImage_FunnelCake_30_sequence), PeepSpriteImage_FunnelCake_30_sequence }, - { 7149, countof(PeepSpriteImage_FunnelCake_31_sequence), PeepSpriteImage_FunnelCake_31_sequence }, - { 7249, countof(PeepSpriteImage_FunnelCake_32_sequence), PeepSpriteImage_FunnelCake_32_sequence }, - { 7309, countof(PeepSpriteImage_FunnelCake_33_sequence), PeepSpriteImage_FunnelCake_33_sequence }, - { 7329, countof(PeepSpriteImage_FunnelCake_34_sequence), PeepSpriteImage_FunnelCake_34_sequence }, - { 7285, countof(PeepSpriteImage_FunnelCake_35_sequence), PeepSpriteImage_FunnelCake_35_sequence }, - { 7181, countof(PeepSpriteImage_FunnelCake_36_sequence), PeepSpriteImage_FunnelCake_36_sequence }, + { 9845, countof(PeepSpriteImage_FunnelCake_00_sequence), PeepSpriteImage_FunnelCake_00_sequence }, + { 6585, countof(PeepSpriteImage_FunnelCake_01_sequence), PeepSpriteImage_FunnelCake_01_sequence }, + { 9965, countof(PeepSpriteImage_FunnelCake_02_sequence), PeepSpriteImage_FunnelCake_02_sequence }, + { 9965, countof(PeepSpriteImage_FunnelCake_03_sequence), PeepSpriteImage_FunnelCake_03_sequence }, + { 6697, countof(PeepSpriteImage_FunnelCake_04_sequence), PeepSpriteImage_FunnelCake_04_sequence }, + { 6757, countof(PeepSpriteImage_FunnelCake_05_sequence), PeepSpriteImage_FunnelCake_05_sequence }, + { 6561, countof(PeepSpriteImage_FunnelCake_06_sequence), PeepSpriteImage_FunnelCake_06_sequence }, + { 9917, countof(PeepSpriteImage_FunnelCake_07_sequence), PeepSpriteImage_FunnelCake_07_sequence }, + { 9917, countof(PeepSpriteImage_FunnelCake_08_sequence), PeepSpriteImage_FunnelCake_08_sequence }, + { 6637, countof(PeepSpriteImage_FunnelCake_09_sequence), PeepSpriteImage_FunnelCake_09_sequence }, + { 6645, countof(PeepSpriteImage_FunnelCake_10_sequence), PeepSpriteImage_FunnelCake_10_sequence }, + { 6813, countof(PeepSpriteImage_FunnelCake_11_sequence), PeepSpriteImage_FunnelCake_11_sequence }, + { 11301, countof(PeepSpriteImage_FunnelCake_12_sequence), PeepSpriteImage_FunnelCake_12_sequence }, + { 6825, countof(PeepSpriteImage_FunnelCake_13_sequence), PeepSpriteImage_FunnelCake_13_sequence }, + { 6845, countof(PeepSpriteImage_FunnelCake_14_sequence), PeepSpriteImage_FunnelCake_14_sequence }, + { 6909, countof(PeepSpriteImage_FunnelCake_15_sequence), PeepSpriteImage_FunnelCake_15_sequence }, + { 11325, countof(PeepSpriteImage_FunnelCake_16_sequence), PeepSpriteImage_FunnelCake_16_sequence }, + { 6957, countof(PeepSpriteImage_FunnelCake_17_sequence), PeepSpriteImage_FunnelCake_17_sequence }, + { 11513, countof(PeepSpriteImage_FunnelCake_18_sequence), PeepSpriteImage_FunnelCake_18_sequence }, + { 11513, countof(PeepSpriteImage_FunnelCake_19_sequence), PeepSpriteImage_FunnelCake_19_sequence }, + { 11597, countof(PeepSpriteImage_FunnelCake_20_sequence), PeepSpriteImage_FunnelCake_20_sequence }, + { 11669, countof(PeepSpriteImage_FunnelCake_21_sequence), PeepSpriteImage_FunnelCake_21_sequence }, + { 11669, countof(PeepSpriteImage_FunnelCake_22_sequence), PeepSpriteImage_FunnelCake_22_sequence }, + { 11801, countof(PeepSpriteImage_FunnelCake_23_sequence), PeepSpriteImage_FunnelCake_23_sequence }, + { 11669, countof(PeepSpriteImage_FunnelCake_24_sequence), PeepSpriteImage_FunnelCake_24_sequence }, + { 11377, countof(PeepSpriteImage_FunnelCake_25_sequence), PeepSpriteImage_FunnelCake_25_sequence }, + { 6989, countof(PeepSpriteImage_FunnelCake_26_sequence), PeepSpriteImage_FunnelCake_26_sequence }, + { 7041, countof(PeepSpriteImage_FunnelCake_27_sequence), PeepSpriteImage_FunnelCake_27_sequence }, + { 7101, countof(PeepSpriteImage_FunnelCake_28_sequence), PeepSpriteImage_FunnelCake_28_sequence }, + { 11401, countof(PeepSpriteImage_FunnelCake_29_sequence), PeepSpriteImage_FunnelCake_29_sequence }, + { 7121, countof(PeepSpriteImage_FunnelCake_30_sequence), PeepSpriteImage_FunnelCake_30_sequence }, + { 7149, countof(PeepSpriteImage_FunnelCake_31_sequence), PeepSpriteImage_FunnelCake_31_sequence }, + { 7249, countof(PeepSpriteImage_FunnelCake_32_sequence), PeepSpriteImage_FunnelCake_32_sequence }, + { 7309, countof(PeepSpriteImage_FunnelCake_33_sequence), PeepSpriteImage_FunnelCake_33_sequence }, + { 7329, countof(PeepSpriteImage_FunnelCake_34_sequence), PeepSpriteImage_FunnelCake_34_sequence }, + { 7285, countof(PeepSpriteImage_FunnelCake_35_sequence), PeepSpriteImage_FunnelCake_35_sequence }, + { 7181, countof(PeepSpriteImage_FunnelCake_36_sequence), PeepSpriteImage_FunnelCake_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Noodles[] = { - { 10013, countof(PeepSpriteImage_Noodles_00_sequence), PeepSpriteImage_Noodles_00_sequence }, - { 6585, countof(PeepSpriteImage_Noodles_01_sequence), PeepSpriteImage_Noodles_01_sequence }, - { 10133, countof(PeepSpriteImage_Noodles_02_sequence), PeepSpriteImage_Noodles_02_sequence }, - { 10133, countof(PeepSpriteImage_Noodles_03_sequence), PeepSpriteImage_Noodles_03_sequence }, - { 6697, countof(PeepSpriteImage_Noodles_04_sequence), PeepSpriteImage_Noodles_04_sequence }, - { 6757, countof(PeepSpriteImage_Noodles_05_sequence), PeepSpriteImage_Noodles_05_sequence }, - { 6561, countof(PeepSpriteImage_Noodles_06_sequence), PeepSpriteImage_Noodles_06_sequence }, - { 10085, countof(PeepSpriteImage_Noodles_07_sequence), PeepSpriteImage_Noodles_07_sequence }, - { 10085, countof(PeepSpriteImage_Noodles_08_sequence), PeepSpriteImage_Noodles_08_sequence }, - { 6637, countof(PeepSpriteImage_Noodles_09_sequence), PeepSpriteImage_Noodles_09_sequence }, - { 6645, countof(PeepSpriteImage_Noodles_10_sequence), PeepSpriteImage_Noodles_10_sequence }, - { 6813, countof(PeepSpriteImage_Noodles_11_sequence), PeepSpriteImage_Noodles_11_sequence }, - { 11301, countof(PeepSpriteImage_Noodles_12_sequence), PeepSpriteImage_Noodles_12_sequence }, - { 6825, countof(PeepSpriteImage_Noodles_13_sequence), PeepSpriteImage_Noodles_13_sequence }, - { 6845, countof(PeepSpriteImage_Noodles_14_sequence), PeepSpriteImage_Noodles_14_sequence }, - { 6909, countof(PeepSpriteImage_Noodles_15_sequence), PeepSpriteImage_Noodles_15_sequence }, - { 11325, countof(PeepSpriteImage_Noodles_16_sequence), PeepSpriteImage_Noodles_16_sequence }, - { 6957, countof(PeepSpriteImage_Noodles_17_sequence), PeepSpriteImage_Noodles_17_sequence }, - { 11513, countof(PeepSpriteImage_Noodles_18_sequence), PeepSpriteImage_Noodles_18_sequence }, - { 11513, countof(PeepSpriteImage_Noodles_19_sequence), PeepSpriteImage_Noodles_19_sequence }, - { 11597, countof(PeepSpriteImage_Noodles_20_sequence), PeepSpriteImage_Noodles_20_sequence }, - { 11669, countof(PeepSpriteImage_Noodles_21_sequence), PeepSpriteImage_Noodles_21_sequence }, - { 11669, countof(PeepSpriteImage_Noodles_22_sequence), PeepSpriteImage_Noodles_22_sequence }, - { 11801, countof(PeepSpriteImage_Noodles_23_sequence), PeepSpriteImage_Noodles_23_sequence }, - { 11669, countof(PeepSpriteImage_Noodles_24_sequence), PeepSpriteImage_Noodles_24_sequence }, - { 11377, countof(PeepSpriteImage_Noodles_25_sequence), PeepSpriteImage_Noodles_25_sequence }, - { 6989, countof(PeepSpriteImage_Noodles_26_sequence), PeepSpriteImage_Noodles_26_sequence }, - { 7041, countof(PeepSpriteImage_Noodles_27_sequence), PeepSpriteImage_Noodles_27_sequence }, - { 7101, countof(PeepSpriteImage_Noodles_28_sequence), PeepSpriteImage_Noodles_28_sequence }, - { 11401, countof(PeepSpriteImage_Noodles_29_sequence), PeepSpriteImage_Noodles_29_sequence }, - { 7121, countof(PeepSpriteImage_Noodles_30_sequence), PeepSpriteImage_Noodles_30_sequence }, - { 7149, countof(PeepSpriteImage_Noodles_31_sequence), PeepSpriteImage_Noodles_31_sequence }, - { 7249, countof(PeepSpriteImage_Noodles_32_sequence), PeepSpriteImage_Noodles_32_sequence }, - { 7309, countof(PeepSpriteImage_Noodles_33_sequence), PeepSpriteImage_Noodles_33_sequence }, - { 7329, countof(PeepSpriteImage_Noodles_34_sequence), PeepSpriteImage_Noodles_34_sequence }, - { 7285, countof(PeepSpriteImage_Noodles_35_sequence), PeepSpriteImage_Noodles_35_sequence }, - { 7181, countof(PeepSpriteImage_Noodles_36_sequence), PeepSpriteImage_Noodles_36_sequence }, + { 10013, countof(PeepSpriteImage_Noodles_00_sequence), PeepSpriteImage_Noodles_00_sequence }, + { 6585, countof(PeepSpriteImage_Noodles_01_sequence), PeepSpriteImage_Noodles_01_sequence }, + { 10133, countof(PeepSpriteImage_Noodles_02_sequence), PeepSpriteImage_Noodles_02_sequence }, + { 10133, countof(PeepSpriteImage_Noodles_03_sequence), PeepSpriteImage_Noodles_03_sequence }, + { 6697, countof(PeepSpriteImage_Noodles_04_sequence), PeepSpriteImage_Noodles_04_sequence }, + { 6757, countof(PeepSpriteImage_Noodles_05_sequence), PeepSpriteImage_Noodles_05_sequence }, + { 6561, countof(PeepSpriteImage_Noodles_06_sequence), PeepSpriteImage_Noodles_06_sequence }, + { 10085, countof(PeepSpriteImage_Noodles_07_sequence), PeepSpriteImage_Noodles_07_sequence }, + { 10085, countof(PeepSpriteImage_Noodles_08_sequence), PeepSpriteImage_Noodles_08_sequence }, + { 6637, countof(PeepSpriteImage_Noodles_09_sequence), PeepSpriteImage_Noodles_09_sequence }, + { 6645, countof(PeepSpriteImage_Noodles_10_sequence), PeepSpriteImage_Noodles_10_sequence }, + { 6813, countof(PeepSpriteImage_Noodles_11_sequence), PeepSpriteImage_Noodles_11_sequence }, + { 11301, countof(PeepSpriteImage_Noodles_12_sequence), PeepSpriteImage_Noodles_12_sequence }, + { 6825, countof(PeepSpriteImage_Noodles_13_sequence), PeepSpriteImage_Noodles_13_sequence }, + { 6845, countof(PeepSpriteImage_Noodles_14_sequence), PeepSpriteImage_Noodles_14_sequence }, + { 6909, countof(PeepSpriteImage_Noodles_15_sequence), PeepSpriteImage_Noodles_15_sequence }, + { 11325, countof(PeepSpriteImage_Noodles_16_sequence), PeepSpriteImage_Noodles_16_sequence }, + { 6957, countof(PeepSpriteImage_Noodles_17_sequence), PeepSpriteImage_Noodles_17_sequence }, + { 11513, countof(PeepSpriteImage_Noodles_18_sequence), PeepSpriteImage_Noodles_18_sequence }, + { 11513, countof(PeepSpriteImage_Noodles_19_sequence), PeepSpriteImage_Noodles_19_sequence }, + { 11597, countof(PeepSpriteImage_Noodles_20_sequence), PeepSpriteImage_Noodles_20_sequence }, + { 11669, countof(PeepSpriteImage_Noodles_21_sequence), PeepSpriteImage_Noodles_21_sequence }, + { 11669, countof(PeepSpriteImage_Noodles_22_sequence), PeepSpriteImage_Noodles_22_sequence }, + { 11801, countof(PeepSpriteImage_Noodles_23_sequence), PeepSpriteImage_Noodles_23_sequence }, + { 11669, countof(PeepSpriteImage_Noodles_24_sequence), PeepSpriteImage_Noodles_24_sequence }, + { 11377, countof(PeepSpriteImage_Noodles_25_sequence), PeepSpriteImage_Noodles_25_sequence }, + { 6989, countof(PeepSpriteImage_Noodles_26_sequence), PeepSpriteImage_Noodles_26_sequence }, + { 7041, countof(PeepSpriteImage_Noodles_27_sequence), PeepSpriteImage_Noodles_27_sequence }, + { 7101, countof(PeepSpriteImage_Noodles_28_sequence), PeepSpriteImage_Noodles_28_sequence }, + { 11401, countof(PeepSpriteImage_Noodles_29_sequence), PeepSpriteImage_Noodles_29_sequence }, + { 7121, countof(PeepSpriteImage_Noodles_30_sequence), PeepSpriteImage_Noodles_30_sequence }, + { 7149, countof(PeepSpriteImage_Noodles_31_sequence), PeepSpriteImage_Noodles_31_sequence }, + { 7249, countof(PeepSpriteImage_Noodles_32_sequence), PeepSpriteImage_Noodles_32_sequence }, + { 7309, countof(PeepSpriteImage_Noodles_33_sequence), PeepSpriteImage_Noodles_33_sequence }, + { 7329, countof(PeepSpriteImage_Noodles_34_sequence), PeepSpriteImage_Noodles_34_sequence }, + { 7285, countof(PeepSpriteImage_Noodles_35_sequence), PeepSpriteImage_Noodles_35_sequence }, + { 7181, countof(PeepSpriteImage_Noodles_36_sequence), PeepSpriteImage_Noodles_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Sausage[] = { - { 10181, countof(PeepSpriteImage_Sausage_00_sequence), PeepSpriteImage_Sausage_00_sequence }, - { 6585, countof(PeepSpriteImage_Sausage_01_sequence), PeepSpriteImage_Sausage_01_sequence }, - { 10301, countof(PeepSpriteImage_Sausage_02_sequence), PeepSpriteImage_Sausage_02_sequence }, - { 10301, countof(PeepSpriteImage_Sausage_03_sequence), PeepSpriteImage_Sausage_03_sequence }, - { 6697, countof(PeepSpriteImage_Sausage_04_sequence), PeepSpriteImage_Sausage_04_sequence }, - { 6757, countof(PeepSpriteImage_Sausage_05_sequence), PeepSpriteImage_Sausage_05_sequence }, - { 6561, countof(PeepSpriteImage_Sausage_06_sequence), PeepSpriteImage_Sausage_06_sequence }, - { 10253, countof(PeepSpriteImage_Sausage_07_sequence), PeepSpriteImage_Sausage_07_sequence }, - { 10253, countof(PeepSpriteImage_Sausage_08_sequence), PeepSpriteImage_Sausage_08_sequence }, - { 6637, countof(PeepSpriteImage_Sausage_09_sequence), PeepSpriteImage_Sausage_09_sequence }, - { 6645, countof(PeepSpriteImage_Sausage_10_sequence), PeepSpriteImage_Sausage_10_sequence }, - { 6813, countof(PeepSpriteImage_Sausage_11_sequence), PeepSpriteImage_Sausage_11_sequence }, - { 11301, countof(PeepSpriteImage_Sausage_12_sequence), PeepSpriteImage_Sausage_12_sequence }, - { 6825, countof(PeepSpriteImage_Sausage_13_sequence), PeepSpriteImage_Sausage_13_sequence }, - { 6845, countof(PeepSpriteImage_Sausage_14_sequence), PeepSpriteImage_Sausage_14_sequence }, - { 6909, countof(PeepSpriteImage_Sausage_15_sequence), PeepSpriteImage_Sausage_15_sequence }, - { 11325, countof(PeepSpriteImage_Sausage_16_sequence), PeepSpriteImage_Sausage_16_sequence }, - { 6957, countof(PeepSpriteImage_Sausage_17_sequence), PeepSpriteImage_Sausage_17_sequence }, - { 11513, countof(PeepSpriteImage_Sausage_18_sequence), PeepSpriteImage_Sausage_18_sequence }, - { 11513, countof(PeepSpriteImage_Sausage_19_sequence), PeepSpriteImage_Sausage_19_sequence }, - { 11597, countof(PeepSpriteImage_Sausage_20_sequence), PeepSpriteImage_Sausage_20_sequence }, - { 11669, countof(PeepSpriteImage_Sausage_21_sequence), PeepSpriteImage_Sausage_21_sequence }, - { 11669, countof(PeepSpriteImage_Sausage_22_sequence), PeepSpriteImage_Sausage_22_sequence }, - { 11801, countof(PeepSpriteImage_Sausage_23_sequence), PeepSpriteImage_Sausage_23_sequence }, - { 11669, countof(PeepSpriteImage_Sausage_24_sequence), PeepSpriteImage_Sausage_24_sequence }, - { 11377, countof(PeepSpriteImage_Sausage_25_sequence), PeepSpriteImage_Sausage_25_sequence }, - { 6989, countof(PeepSpriteImage_Sausage_26_sequence), PeepSpriteImage_Sausage_26_sequence }, - { 7041, countof(PeepSpriteImage_Sausage_27_sequence), PeepSpriteImage_Sausage_27_sequence }, - { 7101, countof(PeepSpriteImage_Sausage_28_sequence), PeepSpriteImage_Sausage_28_sequence }, - { 11401, countof(PeepSpriteImage_Sausage_29_sequence), PeepSpriteImage_Sausage_29_sequence }, - { 7121, countof(PeepSpriteImage_Sausage_30_sequence), PeepSpriteImage_Sausage_30_sequence }, - { 7149, countof(PeepSpriteImage_Sausage_31_sequence), PeepSpriteImage_Sausage_31_sequence }, - { 7249, countof(PeepSpriteImage_Sausage_32_sequence), PeepSpriteImage_Sausage_32_sequence }, - { 7309, countof(PeepSpriteImage_Sausage_33_sequence), PeepSpriteImage_Sausage_33_sequence }, - { 7329, countof(PeepSpriteImage_Sausage_34_sequence), PeepSpriteImage_Sausage_34_sequence }, - { 7285, countof(PeepSpriteImage_Sausage_35_sequence), PeepSpriteImage_Sausage_35_sequence }, - { 7181, countof(PeepSpriteImage_Sausage_36_sequence), PeepSpriteImage_Sausage_36_sequence }, + { 10181, countof(PeepSpriteImage_Sausage_00_sequence), PeepSpriteImage_Sausage_00_sequence }, + { 6585, countof(PeepSpriteImage_Sausage_01_sequence), PeepSpriteImage_Sausage_01_sequence }, + { 10301, countof(PeepSpriteImage_Sausage_02_sequence), PeepSpriteImage_Sausage_02_sequence }, + { 10301, countof(PeepSpriteImage_Sausage_03_sequence), PeepSpriteImage_Sausage_03_sequence }, + { 6697, countof(PeepSpriteImage_Sausage_04_sequence), PeepSpriteImage_Sausage_04_sequence }, + { 6757, countof(PeepSpriteImage_Sausage_05_sequence), PeepSpriteImage_Sausage_05_sequence }, + { 6561, countof(PeepSpriteImage_Sausage_06_sequence), PeepSpriteImage_Sausage_06_sequence }, + { 10253, countof(PeepSpriteImage_Sausage_07_sequence), PeepSpriteImage_Sausage_07_sequence }, + { 10253, countof(PeepSpriteImage_Sausage_08_sequence), PeepSpriteImage_Sausage_08_sequence }, + { 6637, countof(PeepSpriteImage_Sausage_09_sequence), PeepSpriteImage_Sausage_09_sequence }, + { 6645, countof(PeepSpriteImage_Sausage_10_sequence), PeepSpriteImage_Sausage_10_sequence }, + { 6813, countof(PeepSpriteImage_Sausage_11_sequence), PeepSpriteImage_Sausage_11_sequence }, + { 11301, countof(PeepSpriteImage_Sausage_12_sequence), PeepSpriteImage_Sausage_12_sequence }, + { 6825, countof(PeepSpriteImage_Sausage_13_sequence), PeepSpriteImage_Sausage_13_sequence }, + { 6845, countof(PeepSpriteImage_Sausage_14_sequence), PeepSpriteImage_Sausage_14_sequence }, + { 6909, countof(PeepSpriteImage_Sausage_15_sequence), PeepSpriteImage_Sausage_15_sequence }, + { 11325, countof(PeepSpriteImage_Sausage_16_sequence), PeepSpriteImage_Sausage_16_sequence }, + { 6957, countof(PeepSpriteImage_Sausage_17_sequence), PeepSpriteImage_Sausage_17_sequence }, + { 11513, countof(PeepSpriteImage_Sausage_18_sequence), PeepSpriteImage_Sausage_18_sequence }, + { 11513, countof(PeepSpriteImage_Sausage_19_sequence), PeepSpriteImage_Sausage_19_sequence }, + { 11597, countof(PeepSpriteImage_Sausage_20_sequence), PeepSpriteImage_Sausage_20_sequence }, + { 11669, countof(PeepSpriteImage_Sausage_21_sequence), PeepSpriteImage_Sausage_21_sequence }, + { 11669, countof(PeepSpriteImage_Sausage_22_sequence), PeepSpriteImage_Sausage_22_sequence }, + { 11801, countof(PeepSpriteImage_Sausage_23_sequence), PeepSpriteImage_Sausage_23_sequence }, + { 11669, countof(PeepSpriteImage_Sausage_24_sequence), PeepSpriteImage_Sausage_24_sequence }, + { 11377, countof(PeepSpriteImage_Sausage_25_sequence), PeepSpriteImage_Sausage_25_sequence }, + { 6989, countof(PeepSpriteImage_Sausage_26_sequence), PeepSpriteImage_Sausage_26_sequence }, + { 7041, countof(PeepSpriteImage_Sausage_27_sequence), PeepSpriteImage_Sausage_27_sequence }, + { 7101, countof(PeepSpriteImage_Sausage_28_sequence), PeepSpriteImage_Sausage_28_sequence }, + { 11401, countof(PeepSpriteImage_Sausage_29_sequence), PeepSpriteImage_Sausage_29_sequence }, + { 7121, countof(PeepSpriteImage_Sausage_30_sequence), PeepSpriteImage_Sausage_30_sequence }, + { 7149, countof(PeepSpriteImage_Sausage_31_sequence), PeepSpriteImage_Sausage_31_sequence }, + { 7249, countof(PeepSpriteImage_Sausage_32_sequence), PeepSpriteImage_Sausage_32_sequence }, + { 7309, countof(PeepSpriteImage_Sausage_33_sequence), PeepSpriteImage_Sausage_33_sequence }, + { 7329, countof(PeepSpriteImage_Sausage_34_sequence), PeepSpriteImage_Sausage_34_sequence }, + { 7285, countof(PeepSpriteImage_Sausage_35_sequence), PeepSpriteImage_Sausage_35_sequence }, + { 7181, countof(PeepSpriteImage_Sausage_36_sequence), PeepSpriteImage_Sausage_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Soup[] = { - { 10349, countof(PeepSpriteImage_Soup_00_sequence), PeepSpriteImage_Soup_00_sequence }, - { 6585, countof(PeepSpriteImage_Soup_01_sequence), PeepSpriteImage_Soup_01_sequence }, - { 10469, countof(PeepSpriteImage_Soup_02_sequence), PeepSpriteImage_Soup_02_sequence }, - { 10469, countof(PeepSpriteImage_Soup_03_sequence), PeepSpriteImage_Soup_03_sequence }, - { 6697, countof(PeepSpriteImage_Soup_04_sequence), PeepSpriteImage_Soup_04_sequence }, - { 6757, countof(PeepSpriteImage_Soup_05_sequence), PeepSpriteImage_Soup_05_sequence }, - { 6561, countof(PeepSpriteImage_Soup_06_sequence), PeepSpriteImage_Soup_06_sequence }, - { 10421, countof(PeepSpriteImage_Soup_07_sequence), PeepSpriteImage_Soup_07_sequence }, - { 10421, countof(PeepSpriteImage_Soup_08_sequence), PeepSpriteImage_Soup_08_sequence }, - { 6637, countof(PeepSpriteImage_Soup_09_sequence), PeepSpriteImage_Soup_09_sequence }, - { 6645, countof(PeepSpriteImage_Soup_10_sequence), PeepSpriteImage_Soup_10_sequence }, - { 6813, countof(PeepSpriteImage_Soup_11_sequence), PeepSpriteImage_Soup_11_sequence }, - { 11301, countof(PeepSpriteImage_Soup_12_sequence), PeepSpriteImage_Soup_12_sequence }, - { 6825, countof(PeepSpriteImage_Soup_13_sequence), PeepSpriteImage_Soup_13_sequence }, - { 6845, countof(PeepSpriteImage_Soup_14_sequence), PeepSpriteImage_Soup_14_sequence }, - { 6909, countof(PeepSpriteImage_Soup_15_sequence), PeepSpriteImage_Soup_15_sequence }, - { 11325, countof(PeepSpriteImage_Soup_16_sequence), PeepSpriteImage_Soup_16_sequence }, - { 6957, countof(PeepSpriteImage_Soup_17_sequence), PeepSpriteImage_Soup_17_sequence }, - { 11513, countof(PeepSpriteImage_Soup_18_sequence), PeepSpriteImage_Soup_18_sequence }, - { 11513, countof(PeepSpriteImage_Soup_19_sequence), PeepSpriteImage_Soup_19_sequence }, - { 11597, countof(PeepSpriteImage_Soup_20_sequence), PeepSpriteImage_Soup_20_sequence }, - { 11669, countof(PeepSpriteImage_Soup_21_sequence), PeepSpriteImage_Soup_21_sequence }, - { 11669, countof(PeepSpriteImage_Soup_22_sequence), PeepSpriteImage_Soup_22_sequence }, - { 11801, countof(PeepSpriteImage_Soup_23_sequence), PeepSpriteImage_Soup_23_sequence }, - { 11669, countof(PeepSpriteImage_Soup_24_sequence), PeepSpriteImage_Soup_24_sequence }, - { 11377, countof(PeepSpriteImage_Soup_25_sequence), PeepSpriteImage_Soup_25_sequence }, - { 6989, countof(PeepSpriteImage_Soup_26_sequence), PeepSpriteImage_Soup_26_sequence }, - { 7041, countof(PeepSpriteImage_Soup_27_sequence), PeepSpriteImage_Soup_27_sequence }, - { 7101, countof(PeepSpriteImage_Soup_28_sequence), PeepSpriteImage_Soup_28_sequence }, - { 11401, countof(PeepSpriteImage_Soup_29_sequence), PeepSpriteImage_Soup_29_sequence }, - { 7121, countof(PeepSpriteImage_Soup_30_sequence), PeepSpriteImage_Soup_30_sequence }, - { 7149, countof(PeepSpriteImage_Soup_31_sequence), PeepSpriteImage_Soup_31_sequence }, - { 7249, countof(PeepSpriteImage_Soup_32_sequence), PeepSpriteImage_Soup_32_sequence }, - { 7309, countof(PeepSpriteImage_Soup_33_sequence), PeepSpriteImage_Soup_33_sequence }, - { 7329, countof(PeepSpriteImage_Soup_34_sequence), PeepSpriteImage_Soup_34_sequence }, - { 7285, countof(PeepSpriteImage_Soup_35_sequence), PeepSpriteImage_Soup_35_sequence }, - { 7181, countof(PeepSpriteImage_Soup_36_sequence), PeepSpriteImage_Soup_36_sequence }, + { 10349, countof(PeepSpriteImage_Soup_00_sequence), PeepSpriteImage_Soup_00_sequence }, + { 6585, countof(PeepSpriteImage_Soup_01_sequence), PeepSpriteImage_Soup_01_sequence }, + { 10469, countof(PeepSpriteImage_Soup_02_sequence), PeepSpriteImage_Soup_02_sequence }, + { 10469, countof(PeepSpriteImage_Soup_03_sequence), PeepSpriteImage_Soup_03_sequence }, + { 6697, countof(PeepSpriteImage_Soup_04_sequence), PeepSpriteImage_Soup_04_sequence }, + { 6757, countof(PeepSpriteImage_Soup_05_sequence), PeepSpriteImage_Soup_05_sequence }, + { 6561, countof(PeepSpriteImage_Soup_06_sequence), PeepSpriteImage_Soup_06_sequence }, + { 10421, countof(PeepSpriteImage_Soup_07_sequence), PeepSpriteImage_Soup_07_sequence }, + { 10421, countof(PeepSpriteImage_Soup_08_sequence), PeepSpriteImage_Soup_08_sequence }, + { 6637, countof(PeepSpriteImage_Soup_09_sequence), PeepSpriteImage_Soup_09_sequence }, + { 6645, countof(PeepSpriteImage_Soup_10_sequence), PeepSpriteImage_Soup_10_sequence }, + { 6813, countof(PeepSpriteImage_Soup_11_sequence), PeepSpriteImage_Soup_11_sequence }, + { 11301, countof(PeepSpriteImage_Soup_12_sequence), PeepSpriteImage_Soup_12_sequence }, + { 6825, countof(PeepSpriteImage_Soup_13_sequence), PeepSpriteImage_Soup_13_sequence }, + { 6845, countof(PeepSpriteImage_Soup_14_sequence), PeepSpriteImage_Soup_14_sequence }, + { 6909, countof(PeepSpriteImage_Soup_15_sequence), PeepSpriteImage_Soup_15_sequence }, + { 11325, countof(PeepSpriteImage_Soup_16_sequence), PeepSpriteImage_Soup_16_sequence }, + { 6957, countof(PeepSpriteImage_Soup_17_sequence), PeepSpriteImage_Soup_17_sequence }, + { 11513, countof(PeepSpriteImage_Soup_18_sequence), PeepSpriteImage_Soup_18_sequence }, + { 11513, countof(PeepSpriteImage_Soup_19_sequence), PeepSpriteImage_Soup_19_sequence }, + { 11597, countof(PeepSpriteImage_Soup_20_sequence), PeepSpriteImage_Soup_20_sequence }, + { 11669, countof(PeepSpriteImage_Soup_21_sequence), PeepSpriteImage_Soup_21_sequence }, + { 11669, countof(PeepSpriteImage_Soup_22_sequence), PeepSpriteImage_Soup_22_sequence }, + { 11801, countof(PeepSpriteImage_Soup_23_sequence), PeepSpriteImage_Soup_23_sequence }, + { 11669, countof(PeepSpriteImage_Soup_24_sequence), PeepSpriteImage_Soup_24_sequence }, + { 11377, countof(PeepSpriteImage_Soup_25_sequence), PeepSpriteImage_Soup_25_sequence }, + { 6989, countof(PeepSpriteImage_Soup_26_sequence), PeepSpriteImage_Soup_26_sequence }, + { 7041, countof(PeepSpriteImage_Soup_27_sequence), PeepSpriteImage_Soup_27_sequence }, + { 7101, countof(PeepSpriteImage_Soup_28_sequence), PeepSpriteImage_Soup_28_sequence }, + { 11401, countof(PeepSpriteImage_Soup_29_sequence), PeepSpriteImage_Soup_29_sequence }, + { 7121, countof(PeepSpriteImage_Soup_30_sequence), PeepSpriteImage_Soup_30_sequence }, + { 7149, countof(PeepSpriteImage_Soup_31_sequence), PeepSpriteImage_Soup_31_sequence }, + { 7249, countof(PeepSpriteImage_Soup_32_sequence), PeepSpriteImage_Soup_32_sequence }, + { 7309, countof(PeepSpriteImage_Soup_33_sequence), PeepSpriteImage_Soup_33_sequence }, + { 7329, countof(PeepSpriteImage_Soup_34_sequence), PeepSpriteImage_Soup_34_sequence }, + { 7285, countof(PeepSpriteImage_Soup_35_sequence), PeepSpriteImage_Soup_35_sequence }, + { 7181, countof(PeepSpriteImage_Soup_36_sequence), PeepSpriteImage_Soup_36_sequence }, }; static const rct_peep_animation PeepSpriteImage_Sandwich[] = { - { 10517, countof(PeepSpriteImage_Sandwich_00_sequence), PeepSpriteImage_Sandwich_00_sequence }, - { 6585, countof(PeepSpriteImage_Sandwich_01_sequence), PeepSpriteImage_Sandwich_01_sequence }, - { 10637, countof(PeepSpriteImage_Sandwich_02_sequence), PeepSpriteImage_Sandwich_02_sequence }, - { 10637, countof(PeepSpriteImage_Sandwich_03_sequence), PeepSpriteImage_Sandwich_03_sequence }, - { 6697, countof(PeepSpriteImage_Sandwich_04_sequence), PeepSpriteImage_Sandwich_04_sequence }, - { 6757, countof(PeepSpriteImage_Sandwich_05_sequence), PeepSpriteImage_Sandwich_05_sequence }, - { 6561, countof(PeepSpriteImage_Sandwich_06_sequence), PeepSpriteImage_Sandwich_06_sequence }, - { 10589, countof(PeepSpriteImage_Sandwich_07_sequence), PeepSpriteImage_Sandwich_07_sequence }, - { 10589, countof(PeepSpriteImage_Sandwich_08_sequence), PeepSpriteImage_Sandwich_08_sequence }, - { 6637, countof(PeepSpriteImage_Sandwich_09_sequence), PeepSpriteImage_Sandwich_09_sequence }, - { 6645, countof(PeepSpriteImage_Sandwich_10_sequence), PeepSpriteImage_Sandwich_10_sequence }, - { 6813, countof(PeepSpriteImage_Sandwich_11_sequence), PeepSpriteImage_Sandwich_11_sequence }, - { 11301, countof(PeepSpriteImage_Sandwich_12_sequence), PeepSpriteImage_Sandwich_12_sequence }, - { 6825, countof(PeepSpriteImage_Sandwich_13_sequence), PeepSpriteImage_Sandwich_13_sequence }, - { 6845, countof(PeepSpriteImage_Sandwich_14_sequence), PeepSpriteImage_Sandwich_14_sequence }, - { 6909, countof(PeepSpriteImage_Sandwich_15_sequence), PeepSpriteImage_Sandwich_15_sequence }, - { 11325, countof(PeepSpriteImage_Sandwich_16_sequence), PeepSpriteImage_Sandwich_16_sequence }, - { 6957, countof(PeepSpriteImage_Sandwich_17_sequence), PeepSpriteImage_Sandwich_17_sequence }, - { 11513, countof(PeepSpriteImage_Sandwich_18_sequence), PeepSpriteImage_Sandwich_18_sequence }, - { 11513, countof(PeepSpriteImage_Sandwich_19_sequence), PeepSpriteImage_Sandwich_19_sequence }, - { 11597, countof(PeepSpriteImage_Sandwich_20_sequence), PeepSpriteImage_Sandwich_20_sequence }, - { 11669, countof(PeepSpriteImage_Sandwich_21_sequence), PeepSpriteImage_Sandwich_21_sequence }, - { 11669, countof(PeepSpriteImage_Sandwich_22_sequence), PeepSpriteImage_Sandwich_22_sequence }, - { 11801, countof(PeepSpriteImage_Sandwich_23_sequence), PeepSpriteImage_Sandwich_23_sequence }, - { 11669, countof(PeepSpriteImage_Sandwich_24_sequence), PeepSpriteImage_Sandwich_24_sequence }, - { 11377, countof(PeepSpriteImage_Sandwich_25_sequence), PeepSpriteImage_Sandwich_25_sequence }, - { 6989, countof(PeepSpriteImage_Sandwich_26_sequence), PeepSpriteImage_Sandwich_26_sequence }, - { 7041, countof(PeepSpriteImage_Sandwich_27_sequence), PeepSpriteImage_Sandwich_27_sequence }, - { 7101, countof(PeepSpriteImage_Sandwich_28_sequence), PeepSpriteImage_Sandwich_28_sequence }, - { 11401, countof(PeepSpriteImage_Sandwich_29_sequence), PeepSpriteImage_Sandwich_29_sequence }, - { 7121, countof(PeepSpriteImage_Sandwich_30_sequence), PeepSpriteImage_Sandwich_30_sequence }, - { 7149, countof(PeepSpriteImage_Sandwich_31_sequence), PeepSpriteImage_Sandwich_31_sequence }, - { 7249, countof(PeepSpriteImage_Sandwich_32_sequence), PeepSpriteImage_Sandwich_32_sequence }, - { 7309, countof(PeepSpriteImage_Sandwich_33_sequence), PeepSpriteImage_Sandwich_33_sequence }, - { 7329, countof(PeepSpriteImage_Sandwich_34_sequence), PeepSpriteImage_Sandwich_34_sequence }, - { 7285, countof(PeepSpriteImage_Sandwich_35_sequence), PeepSpriteImage_Sandwich_35_sequence }, - { 7181, countof(PeepSpriteImage_Sandwich_36_sequence), PeepSpriteImage_Sandwich_36_sequence }, + { 10517, countof(PeepSpriteImage_Sandwich_00_sequence), PeepSpriteImage_Sandwich_00_sequence }, + { 6585, countof(PeepSpriteImage_Sandwich_01_sequence), PeepSpriteImage_Sandwich_01_sequence }, + { 10637, countof(PeepSpriteImage_Sandwich_02_sequence), PeepSpriteImage_Sandwich_02_sequence }, + { 10637, countof(PeepSpriteImage_Sandwich_03_sequence), PeepSpriteImage_Sandwich_03_sequence }, + { 6697, countof(PeepSpriteImage_Sandwich_04_sequence), PeepSpriteImage_Sandwich_04_sequence }, + { 6757, countof(PeepSpriteImage_Sandwich_05_sequence), PeepSpriteImage_Sandwich_05_sequence }, + { 6561, countof(PeepSpriteImage_Sandwich_06_sequence), PeepSpriteImage_Sandwich_06_sequence }, + { 10589, countof(PeepSpriteImage_Sandwich_07_sequence), PeepSpriteImage_Sandwich_07_sequence }, + { 10589, countof(PeepSpriteImage_Sandwich_08_sequence), PeepSpriteImage_Sandwich_08_sequence }, + { 6637, countof(PeepSpriteImage_Sandwich_09_sequence), PeepSpriteImage_Sandwich_09_sequence }, + { 6645, countof(PeepSpriteImage_Sandwich_10_sequence), PeepSpriteImage_Sandwich_10_sequence }, + { 6813, countof(PeepSpriteImage_Sandwich_11_sequence), PeepSpriteImage_Sandwich_11_sequence }, + { 11301, countof(PeepSpriteImage_Sandwich_12_sequence), PeepSpriteImage_Sandwich_12_sequence }, + { 6825, countof(PeepSpriteImage_Sandwich_13_sequence), PeepSpriteImage_Sandwich_13_sequence }, + { 6845, countof(PeepSpriteImage_Sandwich_14_sequence), PeepSpriteImage_Sandwich_14_sequence }, + { 6909, countof(PeepSpriteImage_Sandwich_15_sequence), PeepSpriteImage_Sandwich_15_sequence }, + { 11325, countof(PeepSpriteImage_Sandwich_16_sequence), PeepSpriteImage_Sandwich_16_sequence }, + { 6957, countof(PeepSpriteImage_Sandwich_17_sequence), PeepSpriteImage_Sandwich_17_sequence }, + { 11513, countof(PeepSpriteImage_Sandwich_18_sequence), PeepSpriteImage_Sandwich_18_sequence }, + { 11513, countof(PeepSpriteImage_Sandwich_19_sequence), PeepSpriteImage_Sandwich_19_sequence }, + { 11597, countof(PeepSpriteImage_Sandwich_20_sequence), PeepSpriteImage_Sandwich_20_sequence }, + { 11669, countof(PeepSpriteImage_Sandwich_21_sequence), PeepSpriteImage_Sandwich_21_sequence }, + { 11669, countof(PeepSpriteImage_Sandwich_22_sequence), PeepSpriteImage_Sandwich_22_sequence }, + { 11801, countof(PeepSpriteImage_Sandwich_23_sequence), PeepSpriteImage_Sandwich_23_sequence }, + { 11669, countof(PeepSpriteImage_Sandwich_24_sequence), PeepSpriteImage_Sandwich_24_sequence }, + { 11377, countof(PeepSpriteImage_Sandwich_25_sequence), PeepSpriteImage_Sandwich_25_sequence }, + { 6989, countof(PeepSpriteImage_Sandwich_26_sequence), PeepSpriteImage_Sandwich_26_sequence }, + { 7041, countof(PeepSpriteImage_Sandwich_27_sequence), PeepSpriteImage_Sandwich_27_sequence }, + { 7101, countof(PeepSpriteImage_Sandwich_28_sequence), PeepSpriteImage_Sandwich_28_sequence }, + { 11401, countof(PeepSpriteImage_Sandwich_29_sequence), PeepSpriteImage_Sandwich_29_sequence }, + { 7121, countof(PeepSpriteImage_Sandwich_30_sequence), PeepSpriteImage_Sandwich_30_sequence }, + { 7149, countof(PeepSpriteImage_Sandwich_31_sequence), PeepSpriteImage_Sandwich_31_sequence }, + { 7249, countof(PeepSpriteImage_Sandwich_32_sequence), PeepSpriteImage_Sandwich_32_sequence }, + { 7309, countof(PeepSpriteImage_Sandwich_33_sequence), PeepSpriteImage_Sandwich_33_sequence }, + { 7329, countof(PeepSpriteImage_Sandwich_34_sequence), PeepSpriteImage_Sandwich_34_sequence }, + { 7285, countof(PeepSpriteImage_Sandwich_35_sequence), PeepSpriteImage_Sandwich_35_sequence }, + { 7181, countof(PeepSpriteImage_Sandwich_36_sequence), PeepSpriteImage_Sandwich_36_sequence }, }; static const rct_sprite_bounds PeepSpriteBounds_Normal[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Handyman[] = { - { 12, 16, 6 }, - { 8, 16, 5 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 15, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 12, 16, 6 }, + { 8, 16, 5 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 15, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Mechanic[] = { - { 10, 16, 5 }, - { 8, 16, 5 }, - { 10, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 10, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 10, 16, 5 }, + { 8, 16, 5 }, + { 10, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 10, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Security[] = { - { 8, 18, 5 }, - { 8, 16, 5 }, - { 8, 17, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 15, 19, 6 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 18, 5 }, + { 8, 16, 5 }, + { 8, 17, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 15, 19, 6 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_EntertainerPanda[] = { - { 13, 24, 8 }, - { 8, 16, 5 }, - { 10, 23, 7 }, - { 14, 24, 7 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 19, 30, 8 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 13, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 14, 25, 8 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 14, 24, 7 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 13, 24, 8 }, + { 8, 16, 5 }, + { 10, 23, 7 }, + { 14, 24, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 19, 30, 8 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 13, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 14, 25, 8 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 14, 24, 7 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_EntertainerTiger[] = { - { 13, 24, 8 }, - { 8, 16, 5 }, - { 10, 23, 7 }, - { 16, 24, 8 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 23, 30, 8 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 13, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 16, 28, 9 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 16, 24, 8 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 13, 24, 8 }, + { 8, 16, 5 }, + { 10, 23, 7 }, + { 16, 24, 8 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 23, 30, 8 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 13, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 16, 28, 9 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 16, 24, 8 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_EntertainerElephant[] = { - { 13, 24, 8 }, - { 8, 16, 5 }, - { 10, 23, 7 }, - { 17, 24, 8 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 23, 30, 8 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 17, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 18, 25, 9 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 17, 24, 8 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 13, 24, 8 }, + { 8, 16, 5 }, + { 10, 23, 7 }, + { 17, 24, 8 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 23, 30, 8 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 17, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 18, 25, 9 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 17, 24, 8 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_EntertainerRoman[] = { - { 13, 24, 8 }, - { 8, 16, 5 }, - { 10, 23, 7 }, - { 17, 24, 8 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 23, 30, 8 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 17, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 18, 25, 9 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 17, 24, 8 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 13, 24, 8 }, + { 8, 16, 5 }, + { 10, 23, 7 }, + { 17, 24, 8 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 23, 30, 8 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 17, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 18, 25, 9 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 17, 24, 8 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_EntertainerGorilla[] = { - { 13, 24, 8 }, - { 8, 16, 5 }, - { 10, 23, 7 }, - { 17, 24, 8 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 23, 30, 8 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 17, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 18, 25, 9 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 17, 24, 8 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 13, 24, 8 }, + { 8, 16, 5 }, + { 10, 23, 7 }, + { 17, 24, 8 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 23, 30, 8 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 17, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 18, 25, 9 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 17, 24, 8 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_EntertainerSnowman[] = { - { 13, 24, 8 }, - { 8, 16, 5 }, - { 10, 23, 7 }, - { 17, 28, 9 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 23, 30, 8 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 17, 15, 9 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 18, 28, 9 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 17, 28, 9 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 13, 24, 8 }, + { 8, 16, 5 }, + { 10, 23, 7 }, + { 17, 28, 9 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 23, 30, 8 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 17, 15, 9 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 18, 28, 9 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 17, 28, 9 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_EntertainerKnight[] = { - { 16, 32, 8 }, - { 8, 16, 5 }, - { 10, 23, 7 }, - { 23, 30, 15 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 23, 30, 8 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 21, 32, 9 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 23, 30, 15 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 23, 30, 15 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 16, 32, 8 }, + { 8, 16, 5 }, + { 10, 23, 7 }, + { 23, 30, 15 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 23, 30, 8 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 21, 32, 9 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 23, 30, 15 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 23, 30, 15 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_EntertainerAstronaut[] = { - { 16, 32, 8 }, - { 8, 16, 5 }, - { 10, 23, 7 }, - { 23, 30, 15 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 23, 30, 8 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 21, 32, 9 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 23, 30, 15 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 23, 30, 15 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 16, 32, 8 }, + { 8, 16, 5 }, + { 10, 23, 7 }, + { 23, 30, 15 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 23, 30, 8 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 21, 32, 9 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 23, 30, 15 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 23, 30, 15 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_EntertainerBandit[] = { - { 16, 32, 8 }, - { 8, 16, 5 }, - { 10, 23, 7 }, - { 23, 30, 15 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 23, 30, 8 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 21, 32, 9 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 23, 30, 15 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 23, 30, 15 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 16, 32, 8 }, + { 8, 16, 5 }, + { 10, 23, 7 }, + { 23, 30, 15 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 23, 30, 8 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 21, 32, 9 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 23, 30, 15 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 23, 30, 15 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_EntertainerSheriff[] = { - { 16, 32, 8 }, - { 8, 16, 5 }, - { 10, 23, 7 }, - { 23, 30, 15 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 23, 30, 8 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 21, 32, 9 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 23, 30, 15 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 23, 30, 15 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 16, 32, 8 }, + { 8, 16, 5 }, + { 10, 23, 7 }, + { 23, 30, 15 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 23, 30, 8 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 21, 32, 9 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 23, 30, 15 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 23, 30, 15 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_EntertainerPirate[] = { - { 16, 32, 8 }, - { 8, 16, 5 }, - { 10, 23, 7 }, - { 23, 30, 15 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 23, 30, 8 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 21, 32, 9 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 23, 30, 15 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 23, 30, 15 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 16, 32, 8 }, + { 8, 16, 5 }, + { 10, 23, 7 }, + { 23, 30, 15 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 23, 30, 8 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 21, 32, 9 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 23, 30, 15 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 23, 30, 15 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_IceCream[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Chips[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Burger[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Drink[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Balloon[] = { - { 11, 28, 5 }, - { 8, 16, 5 }, - { 11, 28, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 11, 28, 5 }, + { 8, 16, 5 }, + { 11, 28, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Candyfloss[] = { - { 11, 19, 5 }, - { 8, 16, 5 }, - { 11, 19, 5 }, - { 11, 19, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 13, 16, 6 }, - { 13, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 11, 19, 5 }, + { 8, 16, 5 }, + { 11, 19, 5 }, + { 11, 19, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 13, 16, 6 }, + { 13, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Umbrella[] = { - { 14, 21, 5 }, - { 8, 16, 5 }, - { 14, 21, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 14, 19, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 14, 21, 5 }, + { 8, 16, 5 }, + { 14, 21, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 14, 19, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Pizza[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_SecurityAlt[] = { - { 8, 18, 5 }, - { 8, 16, 5 }, - { 8, 17, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 15, 19, 6 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 18, 5 }, + { 8, 16, 5 }, + { 8, 17, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 15, 19, 6 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Popcorn[] = { - { 11, 19, 5 }, - { 8, 16, 5 }, - { 11, 19, 5 }, - { 11, 19, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 13, 16, 6 }, - { 13, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 11, 19, 5 }, + { 8, 16, 5 }, + { 11, 19, 5 }, + { 11, 19, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 13, 16, 6 }, + { 13, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Hat[] = { - { 12, 32, 5 }, - { 8, 16, 5 }, - { 12, 32, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 10, 20, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 12, 32, 5 }, + { 8, 16, 5 }, + { 12, 32, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 10, 20, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_HotDog[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Tentacle[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_ToffeeApple[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Donut[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Coffee[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Chicken[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Lemonade[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Pretzel[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_SuJongkwa[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Juice[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_FunnelCake[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Noodles[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Sausage[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Soup[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; static const rct_sprite_bounds PeepSpriteBounds_Sandwich[] = { - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 8, 16, 5 }, - { 9, 16, 5 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 9, 16, 6 }, - { 8, 16, 5 }, - { 18, 16, 11 }, - { 12, 22, 5 }, - { 9, 16, 7 }, - { 10, 22, 5 }, - { 17, 16, 9 }, - { 9, 15, 6 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 13, 22, 7 }, - { 19, 16, 16 }, - { 13, 22, 7 }, - { 17, 16, 9 }, - { 11, 24, 6 }, - { 11, 16, 5 }, - { 11, 16, 5 }, - { 17, 16, 9 }, - { 11, 16, 5 }, - { 8, 16, 5 }, - { 9, 17, 6 }, - { 9, 16, 5 }, - { 9, 22, 7 }, - { 9, 22, 7 }, - { 9, 22, 7 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 8, 16, 5 }, + { 9, 16, 5 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 9, 16, 6 }, + { 8, 16, 5 }, + { 18, 16, 11 }, + { 12, 22, 5 }, + { 9, 16, 7 }, + { 10, 22, 5 }, + { 17, 16, 9 }, + { 9, 15, 6 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 13, 22, 7 }, + { 19, 16, 16 }, + { 13, 22, 7 }, + { 17, 16, 9 }, + { 11, 24, 6 }, + { 11, 16, 5 }, + { 11, 16, 5 }, + { 17, 16, 9 }, + { 11, 16, 5 }, + { 8, 16, 5 }, + { 9, 17, 6 }, + { 9, 16, 5 }, + { 9, 22, 7 }, + { 9, 22, 7 }, + { 9, 22, 7 }, }; rct_peep_animation_entry g_peep_animation_entries[] = { - { PeepSpriteImage_Normal, PeepSpriteBounds_Normal }, - { PeepSpriteImage_Handyman, PeepSpriteBounds_Handyman }, - { PeepSpriteImage_Mechanic, PeepSpriteBounds_Mechanic }, - { PeepSpriteImage_Security, PeepSpriteBounds_Security }, - { PeepSpriteImage_EntertainerPanda, PeepSpriteBounds_EntertainerPanda }, - { PeepSpriteImage_EntertainerTiger, PeepSpriteBounds_EntertainerTiger }, - { PeepSpriteImage_EntertainerElephant, PeepSpriteBounds_EntertainerElephant }, - { PeepSpriteImage_EntertainerRoman, PeepSpriteBounds_EntertainerRoman }, - { PeepSpriteImage_EntertainerGorilla, PeepSpriteBounds_EntertainerGorilla }, - { PeepSpriteImage_EntertainerSnowman, PeepSpriteBounds_EntertainerSnowman }, - { PeepSpriteImage_EntertainerKnight, PeepSpriteBounds_EntertainerKnight }, - { PeepSpriteImage_EntertainerAstronaut, PeepSpriteBounds_EntertainerAstronaut }, - { PeepSpriteImage_EntertainerBandit, PeepSpriteBounds_EntertainerBandit }, - { PeepSpriteImage_EntertainerSheriff, PeepSpriteBounds_EntertainerSheriff }, - { PeepSpriteImage_EntertainerPirate, PeepSpriteBounds_EntertainerPirate }, - { PeepSpriteImage_IceCream, PeepSpriteBounds_IceCream }, - { PeepSpriteImage_Chips, PeepSpriteBounds_Chips }, - { PeepSpriteImage_Burger, PeepSpriteBounds_Burger }, - { PeepSpriteImage_Drink, PeepSpriteBounds_Drink }, - { PeepSpriteImage_Balloon, PeepSpriteBounds_Balloon }, - { PeepSpriteImage_Candyfloss, PeepSpriteBounds_Candyfloss }, - { PeepSpriteImage_Umbrella, PeepSpriteBounds_Umbrella }, - { PeepSpriteImage_Pizza, PeepSpriteBounds_Pizza }, - { PeepSpriteImage_SecurityAlt, PeepSpriteBounds_SecurityAlt }, - { PeepSpriteImage_Popcorn, PeepSpriteBounds_Popcorn }, - { PeepSpriteImage_ArmsCrossed, PeepSpriteBounds_Normal }, - { PeepSpriteImage_HeadDown, PeepSpriteBounds_Normal }, - { PeepSpriteImage_Nauseous, PeepSpriteBounds_Normal }, - { PeepSpriteImage_VeryNauseous, PeepSpriteBounds_Normal }, - { PeepSpriteImage_RequireBathroom, PeepSpriteBounds_Normal }, - { PeepSpriteImage_Hat, PeepSpriteBounds_Hat }, - { PeepSpriteImage_HotDog, PeepSpriteBounds_HotDog }, - { PeepSpriteImage_Tentacle, PeepSpriteBounds_Tentacle }, - { PeepSpriteImage_ToffeeApple, PeepSpriteBounds_ToffeeApple }, - { PeepSpriteImage_Donut, PeepSpriteBounds_Donut }, - { PeepSpriteImage_Coffee, PeepSpriteBounds_Coffee }, - { PeepSpriteImage_Chicken, PeepSpriteBounds_Chicken }, - { PeepSpriteImage_Lemonade, PeepSpriteBounds_Lemonade }, - { PeepSpriteImage_Watching, PeepSpriteBounds_Normal }, - { PeepSpriteImage_Pretzel, PeepSpriteBounds_Pretzel }, - { PeepSpriteImage_Sunglasses, PeepSpriteBounds_Normal }, - { PeepSpriteImage_SuJongkwa, PeepSpriteBounds_SuJongkwa }, - { PeepSpriteImage_Juice, PeepSpriteBounds_Juice }, - { PeepSpriteImage_FunnelCake, PeepSpriteBounds_FunnelCake }, - { PeepSpriteImage_Noodles, PeepSpriteBounds_Noodles }, - { PeepSpriteImage_Sausage, PeepSpriteBounds_Sausage }, - { PeepSpriteImage_Soup, PeepSpriteBounds_Soup }, - { PeepSpriteImage_Sandwich, PeepSpriteBounds_Sandwich }, + { PeepSpriteImage_Normal, PeepSpriteBounds_Normal }, + { PeepSpriteImage_Handyman, PeepSpriteBounds_Handyman }, + { PeepSpriteImage_Mechanic, PeepSpriteBounds_Mechanic }, + { PeepSpriteImage_Security, PeepSpriteBounds_Security }, + { PeepSpriteImage_EntertainerPanda, PeepSpriteBounds_EntertainerPanda }, + { PeepSpriteImage_EntertainerTiger, PeepSpriteBounds_EntertainerTiger }, + { PeepSpriteImage_EntertainerElephant, PeepSpriteBounds_EntertainerElephant }, + { PeepSpriteImage_EntertainerRoman, PeepSpriteBounds_EntertainerRoman }, + { PeepSpriteImage_EntertainerGorilla, PeepSpriteBounds_EntertainerGorilla }, + { PeepSpriteImage_EntertainerSnowman, PeepSpriteBounds_EntertainerSnowman }, + { PeepSpriteImage_EntertainerKnight, PeepSpriteBounds_EntertainerKnight }, + { PeepSpriteImage_EntertainerAstronaut, PeepSpriteBounds_EntertainerAstronaut }, + { PeepSpriteImage_EntertainerBandit, PeepSpriteBounds_EntertainerBandit }, + { PeepSpriteImage_EntertainerSheriff, PeepSpriteBounds_EntertainerSheriff }, + { PeepSpriteImage_EntertainerPirate, PeepSpriteBounds_EntertainerPirate }, + { PeepSpriteImage_IceCream, PeepSpriteBounds_IceCream }, + { PeepSpriteImage_Chips, PeepSpriteBounds_Chips }, + { PeepSpriteImage_Burger, PeepSpriteBounds_Burger }, + { PeepSpriteImage_Drink, PeepSpriteBounds_Drink }, + { PeepSpriteImage_Balloon, PeepSpriteBounds_Balloon }, + { PeepSpriteImage_Candyfloss, PeepSpriteBounds_Candyfloss }, + { PeepSpriteImage_Umbrella, PeepSpriteBounds_Umbrella }, + { PeepSpriteImage_Pizza, PeepSpriteBounds_Pizza }, + { PeepSpriteImage_SecurityAlt, PeepSpriteBounds_SecurityAlt }, + { PeepSpriteImage_Popcorn, PeepSpriteBounds_Popcorn }, + { PeepSpriteImage_ArmsCrossed, PeepSpriteBounds_Normal }, + { PeepSpriteImage_HeadDown, PeepSpriteBounds_Normal }, + { PeepSpriteImage_Nauseous, PeepSpriteBounds_Normal }, + { PeepSpriteImage_VeryNauseous, PeepSpriteBounds_Normal }, + { PeepSpriteImage_RequireBathroom, PeepSpriteBounds_Normal }, + { PeepSpriteImage_Hat, PeepSpriteBounds_Hat }, + { PeepSpriteImage_HotDog, PeepSpriteBounds_HotDog }, + { PeepSpriteImage_Tentacle, PeepSpriteBounds_Tentacle }, + { PeepSpriteImage_ToffeeApple, PeepSpriteBounds_ToffeeApple }, + { PeepSpriteImage_Donut, PeepSpriteBounds_Donut }, + { PeepSpriteImage_Coffee, PeepSpriteBounds_Coffee }, + { PeepSpriteImage_Chicken, PeepSpriteBounds_Chicken }, + { PeepSpriteImage_Lemonade, PeepSpriteBounds_Lemonade }, + { PeepSpriteImage_Watching, PeepSpriteBounds_Normal }, + { PeepSpriteImage_Pretzel, PeepSpriteBounds_Pretzel }, + { PeepSpriteImage_Sunglasses, PeepSpriteBounds_Normal }, + { PeepSpriteImage_SuJongkwa, PeepSpriteBounds_SuJongkwa }, + { PeepSpriteImage_Juice, PeepSpriteBounds_Juice }, + { PeepSpriteImage_FunnelCake, PeepSpriteBounds_FunnelCake }, + { PeepSpriteImage_Noodles, PeepSpriteBounds_Noodles }, + { PeepSpriteImage_Sausage, PeepSpriteBounds_Sausage }, + { PeepSpriteImage_Soup, PeepSpriteBounds_Soup }, + { PeepSpriteImage_Sandwich, PeepSpriteBounds_Sandwich }, }; diff --git a/src/openrct2/peep/staff.c b/src/openrct2/peep/staff.c index a80e2ddfeb..3866313122 100644 --- a/src/openrct2/peep/staff.c +++ b/src/openrct2/peep/staff.c @@ -34,17 +34,17 @@ #include "staff.h" const rct_string_id StaffCostumeNames[] = { - STR_STAFF_OPTION_COSTUME_PANDA, - STR_STAFF_OPTION_COSTUME_TIGER, - STR_STAFF_OPTION_COSTUME_ELEPHANT, - STR_STAFF_OPTION_COSTUME_ROMAN, - STR_STAFF_OPTION_COSTUME_GORILLA, - STR_STAFF_OPTION_COSTUME_SNOWMAN, - STR_STAFF_OPTION_COSTUME_KNIGHT, - STR_STAFF_OPTION_COSTUME_ASTRONAUT, - STR_STAFF_OPTION_COSTUME_BANDIT, - STR_STAFF_OPTION_COSTUME_SHERIFF, - STR_STAFF_OPTION_COSTUME_PIRATE, + STR_STAFF_OPTION_COSTUME_PANDA, + STR_STAFF_OPTION_COSTUME_TIGER, + STR_STAFF_OPTION_COSTUME_ELEPHANT, + STR_STAFF_OPTION_COSTUME_ROMAN, + STR_STAFF_OPTION_COSTUME_GORILLA, + STR_STAFF_OPTION_COSTUME_SNOWMAN, + STR_STAFF_OPTION_COSTUME_KNIGHT, + STR_STAFF_OPTION_COSTUME_ASTRONAUT, + STR_STAFF_OPTION_COSTUME_BANDIT, + STR_STAFF_OPTION_COSTUME_SHERIFF, + STR_STAFF_OPTION_COSTUME_PIRATE, }; uint32 gStaffPatrolAreas[204 * 128]; @@ -60,13 +60,13 @@ colour_t gStaffSecurityColour; */ void staff_reset_modes() { - for (sint32 i = 0; i < 200; i++) - gStaffModes[i] = STAFF_MODE_NONE; + for (sint32 i = 0; i < 200; i++) + gStaffModes[i] = STAFF_MODE_NONE; - for (sint32 i = 200; i < 204; i++) - gStaffModes[i] = STAFF_MODE_WALK; + for (sint32 i = 200; i < 204; i++) + gStaffModes[i] = STAFF_MODE_WALK; - staff_update_greyed_patrol_areas(); + staff_update_greyed_patrol_areas(); } /** @@ -75,285 +75,285 @@ void staff_reset_modes() */ void game_command_update_staff_colour(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - uint8 staffType = (*ebx >> 8) & 0xFF; - uint8 colour = (*edx >> 8) & 0xFF; + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + uint8 staffType = (*ebx >> 8) & 0xFF; + uint8 colour = (*edx >> 8) & 0xFF; - // Client may send invalid data - bool ok = staff_set_colour(staffType, colour); - if (!ok) { - *ebx = MONEY32_UNDEFINED; - return; - } + // Client may send invalid data + bool ok = staff_set_colour(staffType, colour); + if (!ok) { + *ebx = MONEY32_UNDEFINED; + return; + } - sint32 spriteIndex; - rct_peep *peep; - FOR_ALL_PEEPS(spriteIndex, peep) { - if (peep->type == PEEP_TYPE_STAFF && peep->staff_type == staffType) { - peep->tshirt_colour = colour; - peep->trousers_colour = colour; - } - } - } + sint32 spriteIndex; + rct_peep *peep; + FOR_ALL_PEEPS(spriteIndex, peep) { + if (peep->type == PEEP_TYPE_STAFF && peep->staff_type == staffType) { + peep->tshirt_colour = colour; + peep->trousers_colour = colour; + } + } + } - gfx_invalidate_screen(); - *ebx = 0; + gfx_invalidate_screen(); + *ebx = 0; } static inline void staff_autoposition_new_staff_member(rct_peep *newPeep) { - // Find a location to place new staff member + // Find a location to place new staff member - newPeep->state = PEEP_STATE_FALLING; + newPeep->state = PEEP_STATE_FALLING; - sint16 x, y, z; - uint32 count = 0; - uint16 sprite_index; - rct_peep *guest = NULL; + sint16 x, y, z; + uint32 count = 0; + uint16 sprite_index; + rct_peep *guest = NULL; - // Count number of walking guests - FOR_ALL_GUESTS(sprite_index, guest) { - if (guest->state == PEEP_STATE_WALKING) - ++count; - } + // Count number of walking guests + FOR_ALL_GUESTS(sprite_index, guest) { + if (guest->state == PEEP_STATE_WALKING) + ++count; + } - if (count > 0) { - // Place staff at a random guest - uint32 rand = scenario_rand_max(count); - FOR_ALL_GUESTS(sprite_index, guest) { - if (guest->state == PEEP_STATE_WALKING) { - if (rand == 0) - break; - --rand; - } - } + if (count > 0) { + // Place staff at a random guest + uint32 rand = scenario_rand_max(count); + FOR_ALL_GUESTS(sprite_index, guest) { + if (guest->state == PEEP_STATE_WALKING) { + if (rand == 0) + break; + --rand; + } + } - x = guest->x; - y = guest->y; - z = guest->z; - } else { - // No walking guests; pick random park entrance - count = 0; - uint8 i; - for (i = 0; i < MAX_PARK_ENTRANCES; ++i) { - if (gParkEntrances[i].x != SPRITE_LOCATION_NULL) - ++count; - } + x = guest->x; + y = guest->y; + z = guest->z; + } else { + // No walking guests; pick random park entrance + count = 0; + uint8 i; + for (i = 0; i < MAX_PARK_ENTRANCES; ++i) { + if (gParkEntrances[i].x != SPRITE_LOCATION_NULL) + ++count; + } - if (count > 0) { - uint32 rand = scenario_rand_max(count); - for (i = 0; i < MAX_PARK_ENTRANCES; ++i) { - if (gParkEntrances[i].x != SPRITE_LOCATION_NULL) { - if (rand == 0) - break; - --rand; - } - } + if (count > 0) { + uint32 rand = scenario_rand_max(count); + for (i = 0; i < MAX_PARK_ENTRANCES; ++i) { + if (gParkEntrances[i].x != SPRITE_LOCATION_NULL) { + if (rand == 0) + break; + --rand; + } + } - uint8 dir = gParkEntrances[i].direction; - x = gParkEntrances[i].x; - y = gParkEntrances[i].y; - z = gParkEntrances[i].z; - x += 16 + ((dir & 1) == 0 ? ((dir & 2) ? 32 : -32) : 0); - y += 16 + ((dir & 1) == 1 ? ((dir & 2) ? -32 : 32) : 0); - } else { - // No more options; user must pick a location - newPeep->state = PEEP_STATE_PICKED; - x = newPeep->x; - y = newPeep->y; - z = newPeep->z; - } - } + uint8 dir = gParkEntrances[i].direction; + x = gParkEntrances[i].x; + y = gParkEntrances[i].y; + z = gParkEntrances[i].z; + x += 16 + ((dir & 1) == 0 ? ((dir & 2) ? 32 : -32) : 0); + y += 16 + ((dir & 1) == 1 ? ((dir & 2) ? -32 : 32) : 0); + } else { + // No more options; user must pick a location + newPeep->state = PEEP_STATE_PICKED; + x = newPeep->x; + y = newPeep->y; + z = newPeep->z; + } + } - sprite_move(x, y, z + 16, (rct_sprite *)newPeep); - invalidate_sprite_2((rct_sprite *)newPeep); + sprite_move(x, y, z + 16, (rct_sprite *)newPeep); + invalidate_sprite_2((rct_sprite *)newPeep); } static money32 staff_hire_new_staff_member(uint8 staff_type, uint8 flags, sint16 command_x, sint16 command_y, sint16 command_z, sint32 autoposition, sint32 *newPeep_sprite_index) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_WAGES; - gCommandPosition.x = command_x; - gCommandPosition.y = command_y; - gCommandPosition.z = command_z; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_WAGES; + gCommandPosition.x = command_x; + gCommandPosition.y = command_y; + gCommandPosition.z = command_z; - if (gSpriteListCount[SPRITE_LIST_NULL] < 400) { - gGameCommandErrorText = STR_TOO_MANY_PEOPLE_IN_GAME; - return MONEY32_UNDEFINED; - } + if (gSpriteListCount[SPRITE_LIST_NULL] < 400) { + gGameCommandErrorText = STR_TOO_MANY_PEOPLE_IN_GAME; + return MONEY32_UNDEFINED; + } - // Staff type matches STAFF_TYPE enum, but ENTERTAINER onwards will match - // the ENTERTAINER_COSTUME enum - uint8 entertainerType = ENTERTAINER_COSTUME_PANDA; - if (staff_type >= STAFF_TYPE_ENTERTAINER) - { - entertainerType = staff_type - STAFF_TYPE_ENTERTAINER; - if (entertainerType >= ENTERTAINER_COSTUME_COUNT) - { - // Invalid entertainer costume - return MONEY32_UNDEFINED; - } + // Staff type matches STAFF_TYPE enum, but ENTERTAINER onwards will match + // the ENTERTAINER_COSTUME enum + uint8 entertainerType = ENTERTAINER_COSTUME_PANDA; + if (staff_type >= STAFF_TYPE_ENTERTAINER) + { + entertainerType = staff_type - STAFF_TYPE_ENTERTAINER; + if (entertainerType >= ENTERTAINER_COSTUME_COUNT) + { + // Invalid entertainer costume + return MONEY32_UNDEFINED; + } - uint32 availableCostumes = staff_get_available_entertainer_costumes(); - if (!(availableCostumes & (1 << entertainerType))) - { - // Entertainer costume unavailable - return MONEY32_UNDEFINED; - } + uint32 availableCostumes = staff_get_available_entertainer_costumes(); + if (!(availableCostumes & (1 << entertainerType))) + { + // Entertainer costume unavailable + return MONEY32_UNDEFINED; + } - staff_type = STAFF_TYPE_ENTERTAINER; - } + staff_type = STAFF_TYPE_ENTERTAINER; + } - sint32 i; - for (i = 0; i < STAFF_MAX_COUNT; ++i) { - if (!(gStaffModes[i] & 1)) - break; - } + sint32 i; + for (i = 0; i < STAFF_MAX_COUNT; ++i) { + if (!(gStaffModes[i] & 1)) + break; + } - if (i == STAFF_MAX_COUNT) { - gGameCommandErrorText = STR_TOO_MANY_STAFF_IN_GAME; - return MONEY32_UNDEFINED; - } + if (i == STAFF_MAX_COUNT) { + gGameCommandErrorText = STR_TOO_MANY_STAFF_IN_GAME; + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - sint32 newStaffId = i; - const rct_sprite_bounds *spriteBounds; - rct_peep *newPeep = &(create_sprite(flags)->peep); + if (flags & GAME_COMMAND_FLAG_APPLY) + { + sint32 newStaffId = i; + const rct_sprite_bounds *spriteBounds; + rct_peep *newPeep = &(create_sprite(flags)->peep); - if (newPeep == NULL) { - gGameCommandErrorText = STR_TOO_MANY_PEOPLE_IN_GAME; - return MONEY32_UNDEFINED; - } + if (newPeep == NULL) { + gGameCommandErrorText = STR_TOO_MANY_PEOPLE_IN_GAME; + return MONEY32_UNDEFINED; + } - if (flags == 0) { - sprite_remove((rct_sprite *)newPeep); - } else { - move_sprite_to_list((rct_sprite *)newPeep, SPRITE_LIST_PEEP * 2); + if (flags == 0) { + sprite_remove((rct_sprite *)newPeep); + } else { + move_sprite_to_list((rct_sprite *)newPeep, SPRITE_LIST_PEEP * 2); - newPeep->sprite_identifier = 1; - newPeep->window_invalidate_flags = 0; - newPeep->action = PEEP_ACTION_NONE_2; - newPeep->special_sprite = 0; - newPeep->action_sprite_image_offset = 0; - newPeep->no_action_frame_no = 0; - newPeep->action_sprite_type = 0; - newPeep->var_C4 = 0; - newPeep->type = PEEP_TYPE_STAFF; - newPeep->outside_of_park = 0; - newPeep->peep_flags = 0; - newPeep->paid_to_enter = 0; - newPeep->paid_on_rides = 0; - newPeep->paid_on_food = 0; - newPeep->paid_on_souvenirs = 0; + newPeep->sprite_identifier = 1; + newPeep->window_invalidate_flags = 0; + newPeep->action = PEEP_ACTION_NONE_2; + newPeep->special_sprite = 0; + newPeep->action_sprite_image_offset = 0; + newPeep->no_action_frame_no = 0; + newPeep->action_sprite_type = 0; + newPeep->var_C4 = 0; + newPeep->type = PEEP_TYPE_STAFF; + newPeep->outside_of_park = 0; + newPeep->peep_flags = 0; + newPeep->paid_to_enter = 0; + newPeep->paid_on_rides = 0; + newPeep->paid_on_food = 0; + newPeep->paid_on_souvenirs = 0; - if (staff_type == STAFF_TYPE_HANDYMAN) - newPeep->staff_orders = STAFF_ORDERS_SWEEPING | - STAFF_ORDERS_WATER_FLOWERS | - STAFF_ORDERS_EMPTY_BINS; - else if (staff_type == STAFF_TYPE_MECHANIC) - newPeep->staff_orders = STAFF_ORDERS_INSPECT_RIDES | - STAFF_ORDERS_FIX_RIDES; - else - newPeep->staff_orders = 0; + if (staff_type == STAFF_TYPE_HANDYMAN) + newPeep->staff_orders = STAFF_ORDERS_SWEEPING | + STAFF_ORDERS_WATER_FLOWERS | + STAFF_ORDERS_EMPTY_BINS; + else if (staff_type == STAFF_TYPE_MECHANIC) + newPeep->staff_orders = STAFF_ORDERS_INSPECT_RIDES | + STAFF_ORDERS_FIX_RIDES; + else + newPeep->staff_orders = 0; - uint16 idSearchSpriteIndex; - rct_peep *idSearchPeep; + uint16 idSearchSpriteIndex; + rct_peep *idSearchPeep; - // We search for the first available id for a given staff type - uint32 newStaffIndex = 0; - for (;;) { - bool found = false; - ++newStaffIndex; + // We search for the first available id for a given staff type + uint32 newStaffIndex = 0; + for (;;) { + bool found = false; + ++newStaffIndex; - FOR_ALL_STAFF(idSearchSpriteIndex, idSearchPeep) { - if (idSearchPeep->staff_type != staff_type) - continue; + FOR_ALL_STAFF(idSearchSpriteIndex, idSearchPeep) { + if (idSearchPeep->staff_type != staff_type) + continue; - if (idSearchPeep->id == newStaffIndex) { - found = true; - break; - } - } + if (idSearchPeep->id == newStaffIndex) { + found = true; + break; + } + } - if (!found) - break; - } + if (!found) + break; + } - newPeep->id = newStaffIndex; - newPeep->staff_type = staff_type; + newPeep->id = newStaffIndex; + newPeep->staff_type = staff_type; - static const rct_string_id staffNames[] = { - STR_HANDYMAN_X, - STR_MECHANIC_X, - STR_SECURITY_GUARD_X, - STR_ENTERTAINER_X, - }; + static const rct_string_id staffNames[] = { + STR_HANDYMAN_X, + STR_MECHANIC_X, + STR_SECURITY_GUARD_X, + STR_ENTERTAINER_X, + }; - /* rct2: 0x009929FC */ - static const uint8 spriteTypes[] = { - PEEP_SPRITE_TYPE_HANDYMAN, - PEEP_SPRITE_TYPE_MECHANIC, - PEEP_SPRITE_TYPE_SECURITY, - PEEP_SPRITE_TYPE_ENTERTAINER_PANDA, - }; + /* rct2: 0x009929FC */ + static const uint8 spriteTypes[] = { + PEEP_SPRITE_TYPE_HANDYMAN, + PEEP_SPRITE_TYPE_MECHANIC, + PEEP_SPRITE_TYPE_SECURITY, + PEEP_SPRITE_TYPE_ENTERTAINER_PANDA, + }; - uint8 sprite_type = spriteTypes[staff_type]; - if (staff_type == STAFF_TYPE_ENTERTAINER) - { - sprite_type = PEEP_SPRITE_TYPE_ENTERTAINER_PANDA + entertainerType; - } - newPeep->name_string_idx = staffNames[staff_type]; - newPeep->sprite_type = sprite_type; + uint8 sprite_type = spriteTypes[staff_type]; + if (staff_type == STAFF_TYPE_ENTERTAINER) + { + sprite_type = PEEP_SPRITE_TYPE_ENTERTAINER_PANDA + entertainerType; + } + newPeep->name_string_idx = staffNames[staff_type]; + newPeep->sprite_type = sprite_type; - spriteBounds = g_peep_animation_entries[sprite_type].sprite_bounds; - newPeep->sprite_width = spriteBounds->sprite_width; - newPeep->sprite_height_negative = spriteBounds->sprite_height_negative; - newPeep->sprite_height_positive = spriteBounds->sprite_height_positive; + spriteBounds = g_peep_animation_entries[sprite_type].sprite_bounds; + newPeep->sprite_width = spriteBounds->sprite_width; + newPeep->sprite_height_negative = spriteBounds->sprite_height_negative; + newPeep->sprite_height_positive = spriteBounds->sprite_height_positive; - if (autoposition) { - staff_autoposition_new_staff_member(newPeep); - } else { - newPeep->state = PEEP_STATE_PICKED; + if (autoposition) { + staff_autoposition_new_staff_member(newPeep); + } else { + newPeep->state = PEEP_STATE_PICKED; - sprite_move(newPeep->x, newPeep->y, newPeep->z, (rct_sprite *)newPeep); - invalidate_sprite_2((rct_sprite *)newPeep); - } + sprite_move(newPeep->x, newPeep->y, newPeep->z, (rct_sprite *)newPeep); + invalidate_sprite_2((rct_sprite *)newPeep); + } - newPeep->time_in_park = gDateMonthsElapsed; - newPeep->pathfind_goal.x = 0xFF; - newPeep->pathfind_goal.y = 0xFF; - newPeep->pathfind_goal.z = 0xFF; - newPeep->pathfind_goal.direction = 0xFF; + newPeep->time_in_park = gDateMonthsElapsed; + newPeep->pathfind_goal.x = 0xFF; + newPeep->pathfind_goal.y = 0xFF; + newPeep->pathfind_goal.z = 0xFF; + newPeep->pathfind_goal.direction = 0xFF; - uint8 colour = staff_get_colour(staff_type); - newPeep->tshirt_colour = colour; - newPeep->trousers_colour = colour; + uint8 colour = staff_get_colour(staff_type); + newPeep->tshirt_colour = colour; + newPeep->trousers_colour = colour; - // Staff energy determines their walking speed - newPeep->energy = 0x60; - newPeep->energy_growth_rate = 0x60; - newPeep->var_E2 = 0; + // Staff energy determines their walking speed + newPeep->energy = 0x60; + newPeep->energy_growth_rate = 0x60; + newPeep->var_E2 = 0; - peep_update_name_sort(newPeep); + peep_update_name_sort(newPeep); - newPeep->staff_id = newStaffId; + newPeep->staff_id = newStaffId; - gStaffModes[newStaffId] = STAFF_MODE_WALK; + gStaffModes[newStaffId] = STAFF_MODE_WALK; - for (i = 0; i < 128; i++) { - uint32 *addr = (uint32*)((uintptr_t)gStaffPatrolAreas + (newStaffId << 9) + i * 4); - *addr = 0; - } - } + for (i = 0; i < 128; i++) { + uint32 *addr = (uint32*)((uintptr_t)gStaffPatrolAreas + (newStaffId << 9) + i * 4); + *addr = 0; + } + } - if ((staff_type == STAFF_TYPE_HANDYMAN) && gConfigGeneral.handymen_mow_default) { - uint8 new_orders = newPeep->staff_orders | STAFF_ORDERS_MOWING; - game_do_command(newPeep->x, ((sint32)new_orders << 8) | 1, newPeep->y, newPeep->sprite_index, GAME_COMMAND_SET_STAFF_ORDER, 0, 0); - } + if ((staff_type == STAFF_TYPE_HANDYMAN) && gConfigGeneral.handymen_mow_default) { + uint8 new_orders = newPeep->staff_orders | STAFF_ORDERS_MOWING; + game_do_command(newPeep->x, ((sint32)new_orders << 8) | 1, newPeep->y, newPeep->sprite_index, GAME_COMMAND_SET_STAFF_ORDER, 0, 0); + } - *newPeep_sprite_index = newPeep->sprite_index; - } - return 0; + *newPeep_sprite_index = newPeep->sprite_index; + } + return 0; } /** @@ -362,48 +362,48 @@ static money32 staff_hire_new_staff_member(uint8 staff_type, uint8 flags, sint16 */ void game_command_hire_new_staff_member(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - *ebx = staff_hire_new_staff_member((*ebx & 0xFF00) >> 8, - *ebx & 0xFF, - *eax & 0xFFFF, - *ecx & 0xFFFF, - *edx & 0xFFFF, - (*ebx & 0xFF0000) >> 16, - edi); + *ebx = staff_hire_new_staff_member((*ebx & 0xFF00) >> 8, + *ebx & 0xFF, + *eax & 0xFFFF, + *ecx & 0xFFFF, + *edx & 0xFFFF, + (*ebx & 0xFF0000) >> 16, + edi); } void game_command_callback_hire_new_staff_member(sint32 eax, sint32 ebx, sint32 ecx, sint32 edx, sint32 esi, sint32 edi, sint32 ebp) { - sint32 sprite_index = edi; - if (sprite_index == SPRITE_INDEX_NULL) - { - rct_window *window = window_find_by_class(WC_STAFF_LIST); - window_invalidate(window); - } - else - { - rct_peep *peep = &get_sprite(sprite_index)->peep; - window_staff_open(peep); - } + sint32 sprite_index = edi; + if (sprite_index == SPRITE_INDEX_NULL) + { + rct_window *window = window_find_by_class(WC_STAFF_LIST); + window_invalidate(window); + } + else + { + rct_peep *peep = &get_sprite(sprite_index)->peep; + window_staff_open(peep); + } } /** rct2: 0x00982134 */ static const bool peep_slow_walking_types[] = { - false, // PEEP_SPRITE_TYPE_NORMAL - false, // PEEP_SPRITE_TYPE_HANDYMAN - false, // PEEP_SPRITE_TYPE_MECHANIC - false, // PEEP_SPRITE_TYPE_SECURITY - false, // PEEP_SPRITE_TYPE_ENTERTAINER_PANDA - false, // PEEP_SPRITE_TYPE_ENTERTAINER_TIGER - false, // PEEP_SPRITE_TYPE_ENTERTAINER_ELEPHANT - false, // PEEP_SPRITE_TYPE_ENTERTAINER_ROMAN - false, // PEEP_SPRITE_TYPE_ENTERTAINER_GORILLA - false, // PEEP_SPRITE_TYPE_ENTERTAINER_SNOWMAN - false, // PEEP_SPRITE_TYPE_ENTERTAINER_KNIGHT - true, // PEEP_SPRITE_TYPE_ENTERTAINER_ASTRONAUT - false, // PEEP_SPRITE_TYPE_ENTERTAINER_BANDIT - false, // PEEP_SPRITE_TYPE_ENTERTAINER_SHERIFF - true, // PEEP_SPRITE_TYPE_ENTERTAINER_PIRATE - true, // PEEP_SPRITE_TYPE_BALLOON + false, // PEEP_SPRITE_TYPE_NORMAL + false, // PEEP_SPRITE_TYPE_HANDYMAN + false, // PEEP_SPRITE_TYPE_MECHANIC + false, // PEEP_SPRITE_TYPE_SECURITY + false, // PEEP_SPRITE_TYPE_ENTERTAINER_PANDA + false, // PEEP_SPRITE_TYPE_ENTERTAINER_TIGER + false, // PEEP_SPRITE_TYPE_ENTERTAINER_ELEPHANT + false, // PEEP_SPRITE_TYPE_ENTERTAINER_ROMAN + false, // PEEP_SPRITE_TYPE_ENTERTAINER_GORILLA + false, // PEEP_SPRITE_TYPE_ENTERTAINER_SNOWMAN + false, // PEEP_SPRITE_TYPE_ENTERTAINER_KNIGHT + true, // PEEP_SPRITE_TYPE_ENTERTAINER_ASTRONAUT + false, // PEEP_SPRITE_TYPE_ENTERTAINER_BANDIT + false, // PEEP_SPRITE_TYPE_ENTERTAINER_SHERIFF + true, // PEEP_SPRITE_TYPE_ENTERTAINER_PIRATE + true, // PEEP_SPRITE_TYPE_BALLOON }; /** @@ -412,42 +412,42 @@ static const bool peep_slow_walking_types[] = { */ void game_command_set_staff_order(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_WAGES; - uint8 order_id = *ebx >> 8; - uint16 sprite_id = *edx; - if (sprite_id >= MAX_SPRITES) - { - log_warning("Invalid game command, sprite_id = %u", sprite_id); - *ebx = MONEY32_UNDEFINED; - return; - } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - rct_peep *peep = &get_sprite(sprite_id)->peep; - if(order_id & 0x80){ // change costume - uint8 sprite_type = order_id & ~0x80; - sprite_type += 4; - if (sprite_type >= countof(peep_slow_walking_types)) { - log_error("Invalid change costume order for sprite_type %u", sprite_type); - *ebx = MONEY32_UNDEFINED; - return; - } - peep->sprite_type = sprite_type; - peep->peep_flags &= ~PEEP_FLAGS_SLOW_WALK; - if(peep_slow_walking_types[sprite_type]){ - peep->peep_flags |= PEEP_FLAGS_SLOW_WALK; - } - peep->action_frame = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - window_invalidate_by_number(WC_PEEP, sprite_id); - window_invalidate_by_class(WC_STAFF_LIST); - }else{ - peep->staff_orders = order_id; - window_invalidate_by_number(WC_PEEP, sprite_id); - window_invalidate_by_class(WC_STAFF_LIST); - } - } - *ebx = 0; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_WAGES; + uint8 order_id = *ebx >> 8; + uint16 sprite_id = *edx; + if (sprite_id >= MAX_SPRITES) + { + log_warning("Invalid game command, sprite_id = %u", sprite_id); + *ebx = MONEY32_UNDEFINED; + return; + } + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + rct_peep *peep = &get_sprite(sprite_id)->peep; + if(order_id & 0x80){ // change costume + uint8 sprite_type = order_id & ~0x80; + sprite_type += 4; + if (sprite_type >= countof(peep_slow_walking_types)) { + log_error("Invalid change costume order for sprite_type %u", sprite_type); + *ebx = MONEY32_UNDEFINED; + return; + } + peep->sprite_type = sprite_type; + peep->peep_flags &= ~PEEP_FLAGS_SLOW_WALK; + if(peep_slow_walking_types[sprite_type]){ + peep->peep_flags |= PEEP_FLAGS_SLOW_WALK; + } + peep->action_frame = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + window_invalidate_by_number(WC_PEEP, sprite_id); + window_invalidate_by_class(WC_STAFF_LIST); + }else{ + peep->staff_orders = order_id; + window_invalidate_by_number(WC_PEEP, sprite_id); + window_invalidate_by_class(WC_STAFF_LIST); + } + } + *ebx = 0; } /** @@ -456,46 +456,46 @@ void game_command_set_staff_order(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 */ void game_command_set_staff_patrol(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - if(*ebx & GAME_COMMAND_FLAG_APPLY){ - sint32 x = *eax; - sint32 y = *ecx; - uint16 sprite_id = *edx; - if (sprite_id >= MAX_SPRITES) - { - *ebx = MONEY32_UNDEFINED; - log_warning("Invalid sprite id %u", sprite_id); - return; - } - rct_sprite *sprite = get_sprite(sprite_id); - if (sprite->unknown.sprite_identifier != SPRITE_IDENTIFIER_PEEP || sprite->peep.type != PEEP_TYPE_STAFF) - { - *ebx = MONEY32_UNDEFINED; - log_warning("Invalid type of sprite %u for game command", sprite_id); - return; - } - rct_peep *peep = &sprite->peep; - sint32 patrolOffset = peep->staff_id * (64 * 64 / 8); + if(*ebx & GAME_COMMAND_FLAG_APPLY){ + sint32 x = *eax; + sint32 y = *ecx; + uint16 sprite_id = *edx; + if (sprite_id >= MAX_SPRITES) + { + *ebx = MONEY32_UNDEFINED; + log_warning("Invalid sprite id %u", sprite_id); + return; + } + rct_sprite *sprite = get_sprite(sprite_id); + if (sprite->unknown.sprite_identifier != SPRITE_IDENTIFIER_PEEP || sprite->peep.type != PEEP_TYPE_STAFF) + { + *ebx = MONEY32_UNDEFINED; + log_warning("Invalid type of sprite %u for game command", sprite_id); + return; + } + rct_peep *peep = &sprite->peep; + sint32 patrolOffset = peep->staff_id * (64 * 64 / 8); - staff_toggle_patrol_area(peep->staff_id, x, y); + staff_toggle_patrol_area(peep->staff_id, x, y); - sint32 ispatrolling = 0; - for(sint32 i = 0; i < 128; i++){ - ispatrolling |= *((uint32*)((uintptr_t)gStaffPatrolAreas + patrolOffset + (i * 4))); - } + sint32 ispatrolling = 0; + for(sint32 i = 0; i < 128; i++){ + ispatrolling |= *((uint32*)((uintptr_t)gStaffPatrolAreas + patrolOffset + (i * 4))); + } - gStaffModes[peep->staff_id] &= ~2; - if(ispatrolling){ - gStaffModes[peep->staff_id] |= 2; - } + gStaffModes[peep->staff_id] &= ~2; + if(ispatrolling){ + gStaffModes[peep->staff_id] |= 2; + } - for(sint32 y2 = 0; y2 < 4; y2++){ - for(sint32 x2 = 0; x2 < 4; x2++){ - map_invalidate_tile_full((x & 0x1F80) + (x2 * 32), (y & 0x1F80) + (y2 * 32)); - } - } - staff_update_greyed_patrol_areas(); - } - *ebx = 0; + for(sint32 y2 = 0; y2 < 4; y2++){ + for(sint32 x2 = 0; x2 < 4; x2++){ + map_invalidate_tile_full((x & 0x1F80) + (x2 * 32), (y & 0x1F80) + (y2 * 32)); + } + } + staff_update_greyed_patrol_areas(); + } + *ebx = 0; } /** @@ -504,31 +504,31 @@ void game_command_set_staff_patrol(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 */ void game_command_fire_staff_member(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_WAGES; - if(*ebx & GAME_COMMAND_FLAG_APPLY){ - window_close_by_class(WC_FIRE_PROMPT); - uint16 sprite_id = *edx; - if (sprite_id >= MAX_SPRITES) - { - log_warning("Invalid game command, sprite_id = %u", sprite_id); - *ebx = MONEY32_UNDEFINED; - return; - } - rct_peep *peep = &get_sprite(sprite_id)->peep; - if (peep->sprite_identifier != SPRITE_IDENTIFIER_PEEP || peep->type != PEEP_TYPE_STAFF) - { - log_warning("Invalid game command, peep->sprite_identifier = %u, peep->type = %u", peep->sprite_identifier, peep->type); - *ebx = MONEY32_UNDEFINED; - return; - } - if (peep->state == PEEP_STATE_PICKED) { - *ebx = MONEY32_UNDEFINED; - return; - } - remove_peep_from_ride(peep); - peep_sprite_remove(peep); - } - *ebx = 0; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_WAGES; + if(*ebx & GAME_COMMAND_FLAG_APPLY){ + window_close_by_class(WC_FIRE_PROMPT); + uint16 sprite_id = *edx; + if (sprite_id >= MAX_SPRITES) + { + log_warning("Invalid game command, sprite_id = %u", sprite_id); + *ebx = MONEY32_UNDEFINED; + return; + } + rct_peep *peep = &get_sprite(sprite_id)->peep; + if (peep->sprite_identifier != SPRITE_IDENTIFIER_PEEP || peep->type != PEEP_TYPE_STAFF) + { + log_warning("Invalid game command, peep->sprite_identifier = %u, peep->type = %u", peep->sprite_identifier, peep->type); + *ebx = MONEY32_UNDEFINED; + return; + } + if (peep->state == PEEP_STATE_PICKED) { + *ebx = MONEY32_UNDEFINED; + return; + } + remove_peep_from_ride(peep); + peep_sprite_remove(peep); + } + *ebx = 0; } /** @@ -536,7 +536,7 @@ void game_command_fire_staff_member(sint32 *eax, sint32 *ebx, sint32 *ecx, sint3 */ void update_staff_colour(uint8 staffType, uint16 colour) { - game_do_command(0, (staffType << 8) | GAME_COMMAND_FLAG_APPLY, 0, (colour << 8) | 4, GAME_COMMAND_SET_STAFF_COLOUR, 0, 0); + game_do_command(0, (staffType << 8) | GAME_COMMAND_FLAG_APPLY, 0, (colour << 8) | 4, GAME_COMMAND_SET_STAFF_COLOUR, 0, 0); } /** @@ -545,26 +545,26 @@ void update_staff_colour(uint8 staffType, uint16 colour) */ uint16 hire_new_staff_member(uint8 staffType) { - gGameCommandErrorTitle = STR_CANT_HIRE_NEW_STAFF; + gGameCommandErrorTitle = STR_CANT_HIRE_NEW_STAFF; - sint32 command_x, ebx, command_y, command_z, esi, new_sprite_index, ebp; - command_y = command_z = esi = new_sprite_index = ebp = 0; - command_x = 0x8000; + sint32 command_x, ebx, command_y, command_z, esi, new_sprite_index, ebp; + command_y = command_z = esi = new_sprite_index = ebp = 0; + command_x = 0x8000; - sint32 autoposition = gConfigGeneral.auto_staff_placement; - if (gInputPlaceObjectModifier & PLACE_OBJECT_MODIFIER_SHIFT_Z) { - autoposition = autoposition ^ 1; - } + sint32 autoposition = gConfigGeneral.auto_staff_placement; + if (gInputPlaceObjectModifier & PLACE_OBJECT_MODIFIER_SHIFT_Z) { + autoposition = autoposition ^ 1; + } - ebx = autoposition << 16 | staffType << 8 | GAME_COMMAND_FLAG_APPLY; + ebx = autoposition << 16 | staffType << 8 | GAME_COMMAND_FLAG_APPLY; - game_command_callback = game_command_callback_hire_new_staff_member; - sint32 result = game_do_command_p(GAME_COMMAND_HIRE_NEW_STAFF_MEMBER, &command_x, &ebx, &command_y, &command_z, &esi, &new_sprite_index, &ebp); + game_command_callback = game_command_callback_hire_new_staff_member; + sint32 result = game_do_command_p(GAME_COMMAND_HIRE_NEW_STAFF_MEMBER, &command_x, &ebx, &command_y, &command_z, &esi, &new_sprite_index, &ebp); - if (result == MONEY32_UNDEFINED) - return SPRITE_INDEX_NULL; + if (result == MONEY32_UNDEFINED) + return SPRITE_INDEX_NULL; - return new_sprite_index; + return new_sprite_index; } /** @@ -573,36 +573,36 @@ uint16 hire_new_staff_member(uint8 staffType) */ void staff_update_greyed_patrol_areas() { - rct_peep* peep; + rct_peep* peep; - for (sint32 staff_type = 0; staff_type < STAFF_TYPE_COUNT; ++staff_type) - { - uint32 *addr = (uint32*)((uintptr_t)gStaffPatrolAreas + ((staff_type + STAFF_MAX_COUNT) * 512)); - for (sint32 i = 0; i < 128; i++) { - addr[i] = 0; - } + for (sint32 staff_type = 0; staff_type < STAFF_TYPE_COUNT; ++staff_type) + { + uint32 *addr = (uint32*)((uintptr_t)gStaffPatrolAreas + ((staff_type + STAFF_MAX_COUNT) * 512)); + for (sint32 i = 0; i < 128; i++) { + addr[i] = 0; + } - for (uint16 sprite_index = gSpriteListHead[SPRITE_LIST_PEEP]; sprite_index != SPRITE_INDEX_NULL; sprite_index = peep->next) - { - peep = GET_PEEP(sprite_index); + for (uint16 sprite_index = gSpriteListHead[SPRITE_LIST_PEEP]; sprite_index != SPRITE_INDEX_NULL; sprite_index = peep->next) + { + peep = GET_PEEP(sprite_index); - if (peep->type == PEEP_TYPE_STAFF && staff_type == peep->staff_type) - { - uint32 *addr2 = (uint32*)((uintptr_t)gStaffPatrolAreas + (peep->staff_id * 512)); - for (sint32 i = 0; i < 128; i++) { - addr[i] |= addr2[i]; - } - } - } - } + if (peep->type == PEEP_TYPE_STAFF && staff_type == peep->staff_type) + { + uint32 *addr2 = (uint32*)((uintptr_t)gStaffPatrolAreas + (peep->staff_id * 512)); + for (sint32 i = 0; i < 128; i++) { + addr[i] |= addr2[i]; + } + } + } + } } static sint32 staff_is_location_in_patrol_area(rct_peep *peep, sint32 x, sint32 y) { - // Patrol quads are stored in a bit map (8 patrol quads per byte) - // Each patrol quad is 4x4 - // Therefore there are in total 64 x 64 patrol quads in the 256 x 256 map - return staff_is_patrol_area_set(peep->staff_id, x, y); + // Patrol quads are stored in a bit map (8 patrol quads per byte) + // Each patrol quad is 4x4 + // Therefore there are in total 64 x 64 patrol quads in the 256 x 256 map + return staff_is_patrol_area_set(peep->staff_id, x, y); } /** @@ -611,15 +611,15 @@ static sint32 staff_is_location_in_patrol_area(rct_peep *peep, sint32 x, sint32 */ sint32 staff_is_location_in_patrol(rct_peep *staff, sint32 x, sint32 y) { - // Check if location is in the park - if (!map_is_location_owned_or_has_rights(x, y)) - return 0; + // Check if location is in the park + if (!map_is_location_owned_or_has_rights(x, y)) + return 0; - // Check if staff has patrol area - if (!(gStaffModes[staff->staff_id] & 2)) - return 1; + // Check if staff has patrol area + if (!(gStaffModes[staff->staff_id] & 2)) + return 1; - return staff_is_location_in_patrol_area(staff, x, y); + return staff_is_location_in_patrol_area(staff, x, y); } /** @@ -628,29 +628,29 @@ sint32 staff_is_location_in_patrol(rct_peep *staff, sint32 x, sint32 y) * returns 0xF if not in a valid patrol area */ static uint8 staff_get_valid_patrol_directions(rct_peep* peep, sint16 x, sint16 y) { - uint8 directions = 0; + uint8 directions = 0; - if (staff_is_location_in_patrol(peep, x - 32, y)) { - directions |= (1 << 0); - } + if (staff_is_location_in_patrol(peep, x - 32, y)) { + directions |= (1 << 0); + } - if (staff_is_location_in_patrol(peep, x, y + 32)) { - directions |= (1 << 1); - } + if (staff_is_location_in_patrol(peep, x, y + 32)) { + directions |= (1 << 1); + } - if (staff_is_location_in_patrol(peep, x + 32, y)) { - directions |= (1 << 2); - } + if (staff_is_location_in_patrol(peep, x + 32, y)) { + directions |= (1 << 2); + } - if (staff_is_location_in_patrol(peep, x, y - 32)) { - directions |= (1 << 3); - } + if (staff_is_location_in_patrol(peep, x, y - 32)) { + directions |= (1 << 3); + } - if (directions == 0) { - directions = 0xF; - } + if (directions == 0) { + directions = 0xF; + } - return directions; + return directions; } /** @@ -659,56 +659,56 @@ static uint8 staff_get_valid_patrol_directions(rct_peep* peep, sint16 x, sint16 */ void staff_reset_stats() { - uint16 spriteIndex; - rct_peep *peep; + uint16 spriteIndex; + rct_peep *peep; - FOR_ALL_STAFF(spriteIndex, peep) { - peep->time_in_park = gDateMonthsElapsed; - peep->staff_lawns_mown = 0; - peep->staff_rides_fixed = 0; - peep->staff_gardens_watered = 0; - peep->staff_rides_inspected = 0; - peep->staff_litter_swept = 0; - peep->staff_bins_emptied = 0; - } + FOR_ALL_STAFF(spriteIndex, peep) { + peep->time_in_park = gDateMonthsElapsed; + peep->staff_lawns_mown = 0; + peep->staff_rides_fixed = 0; + peep->staff_gardens_watered = 0; + peep->staff_rides_inspected = 0; + peep->staff_litter_swept = 0; + peep->staff_bins_emptied = 0; + } } bool staff_is_patrol_area_set(sint32 staffIndex, sint32 x, sint32 y) { - x = (x & 0x1F80) >> 7; - y = (y & 0x1F80) >> 1; + x = (x & 0x1F80) >> 7; + y = (y & 0x1F80) >> 1; - sint32 peepOffset = staffIndex * 128; - sint32 offset = (x | y) >> 5; - sint32 bitIndex = (x | y) & 0x1F; - return gStaffPatrolAreas[peepOffset + offset] & (((uint32)1) << bitIndex); + sint32 peepOffset = staffIndex * 128; + sint32 offset = (x | y) >> 5; + sint32 bitIndex = (x | y) & 0x1F; + return gStaffPatrolAreas[peepOffset + offset] & (((uint32)1) << bitIndex); } void staff_set_patrol_area(sint32 staffIndex, sint32 x, sint32 y, bool value) { - x = (x & 0x1F80) >> 7; - y = (y & 0x1F80) >> 1; + x = (x & 0x1F80) >> 7; + y = (y & 0x1F80) >> 1; - sint32 peepOffset = staffIndex * 128; - sint32 offset = (x | y) >> 5; - sint32 bitIndex = (x | y) & 0x1F; - uint32 *addr = &gStaffPatrolAreas[peepOffset + offset]; - if (value) { - *addr |= (1 << bitIndex); - } else { - *addr &= ~(1 << bitIndex); - } + sint32 peepOffset = staffIndex * 128; + sint32 offset = (x | y) >> 5; + sint32 bitIndex = (x | y) & 0x1F; + uint32 *addr = &gStaffPatrolAreas[peepOffset + offset]; + if (value) { + *addr |= (1 << bitIndex); + } else { + *addr &= ~(1 << bitIndex); + } } void staff_toggle_patrol_area(sint32 staffIndex, sint32 x, sint32 y) { - x = (x & 0x1F80) >> 7; - y = (y & 0x1F80) >> 1; + x = (x & 0x1F80) >> 7; + y = (y & 0x1F80) >> 1; - sint32 peepOffset = staffIndex * 128; - sint32 offset = (x | y) >> 5; - sint32 bitIndex = (x | y) & 0x1F; - gStaffPatrolAreas[peepOffset + offset] ^= (1 << bitIndex); + sint32 peepOffset = staffIndex * 128; + sint32 offset = (x | y) >> 5; + sint32 bitIndex = (x | y) & 0x1F; + gStaffPatrolAreas[peepOffset + offset] ^= (1 << bitIndex); } /** @@ -718,85 +718,85 @@ void staff_toggle_patrol_area(sint32 staffIndex, sint32 x, sint32 y) * Returns 0xFF when no nearby litter or unpathable litter */ static uint8 staff_handyman_direction_to_nearest_litter(rct_peep* peep){ - uint16 nearestLitterDist = (uint16)-1; - rct_litter* nearestLitter = NULL; - rct_litter* litter = NULL; + uint16 nearestLitterDist = (uint16)-1; + rct_litter* nearestLitter = NULL; + rct_litter* litter = NULL; - for (uint16 litterIndex = gSpriteListHead[SPRITE_LIST_LITTER]; litterIndex != 0xFFFF; litterIndex = litter->next){ - litter = &get_sprite(litterIndex)->litter; + for (uint16 litterIndex = gSpriteListHead[SPRITE_LIST_LITTER]; litterIndex != 0xFFFF; litterIndex = litter->next){ + litter = &get_sprite(litterIndex)->litter; - uint16 distance = - abs(litter->x - peep->x) + - abs(litter->y - peep->y) + - abs(litter->z - peep->z) * 4; + uint16 distance = + abs(litter->x - peep->x) + + abs(litter->y - peep->y) + + abs(litter->z - peep->z) * 4; - if (distance < nearestLitterDist){ - nearestLitterDist = distance; - nearestLitter = litter; - } - } + if (distance < nearestLitterDist){ + nearestLitterDist = distance; + nearestLitter = litter; + } + } - if (nearestLitterDist > 0x60){ - return 0xFF; - } + if (nearestLitterDist > 0x60){ + return 0xFF; + } - rct_xy16 litterTile = { - .x = nearestLitter->x & 0xFFE0, - .y = nearestLitter->y & 0xFFE0 - }; + rct_xy16 litterTile = { + .x = nearestLitter->x & 0xFFE0, + .y = nearestLitter->y & 0xFFE0 + }; - if (!staff_is_location_in_patrol(peep, litterTile.x, litterTile.y)){ - return 0xFF; - } + if (!staff_is_location_in_patrol(peep, litterTile.x, litterTile.y)){ + return 0xFF; + } - litterTile.x += 16; - litterTile.y += 16; + litterTile.x += 16; + litterTile.y += 16; - sint16 x_diff = litterTile.x - peep->x; - sint16 y_diff = litterTile.y - peep->y; + sint16 x_diff = litterTile.x - peep->x; + sint16 y_diff = litterTile.y - peep->y; - uint8 nextDirection = 0; + uint8 nextDirection = 0; - if (abs(x_diff) <= abs(y_diff)){ - nextDirection = y_diff < 0 ? 3 : 1; - } - else { - nextDirection = x_diff < 0 ? 0 : 2; - } + if (abs(x_diff) <= abs(y_diff)){ + nextDirection = y_diff < 0 ? 3 : 1; + } + else { + nextDirection = x_diff < 0 ? 0 : 2; + } - rct_xy16 nextTile = { - .x = (nearestLitter->x & 0xFFE0) - TileDirectionDelta[nextDirection].x, - .y = (nearestLitter->y & 0xFFE0) - TileDirectionDelta[nextDirection].y - }; + rct_xy16 nextTile = { + .x = (nearestLitter->x & 0xFFE0) - TileDirectionDelta[nextDirection].x, + .y = (nearestLitter->y & 0xFFE0) - TileDirectionDelta[nextDirection].y + }; - sint16 nextZ = ((peep->z + 8) & 0xFFF0) / 8; + sint16 nextZ = ((peep->z + 8) & 0xFFF0) / 8; - rct_map_element* mapElement = map_get_first_element_at(nextTile.x / 32, nextTile.y / 32); + rct_map_element* mapElement = map_get_first_element_at(nextTile.x / 32, nextTile.y / 32); - do { - if (mapElement->base_height != nextZ) - continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE || - map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK){ - return 0xFF; - } - } while(!map_element_is_last_for_tile(mapElement++)); + do { + if (mapElement->base_height != nextZ) + continue; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE || + map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK){ + return 0xFF; + } + } while(!map_element_is_last_for_tile(mapElement++)); - nextTile.x = (peep->x & 0xFFE0) + TileDirectionDelta[nextDirection].x; - nextTile.y = (peep->y & 0xFFE0) + TileDirectionDelta[nextDirection].y; + nextTile.x = (peep->x & 0xFFE0) + TileDirectionDelta[nextDirection].x; + nextTile.y = (peep->y & 0xFFE0) + TileDirectionDelta[nextDirection].y; - mapElement = map_get_first_element_at(nextTile.x / 32, nextTile.y / 32); + mapElement = map_get_first_element_at(nextTile.x / 32, nextTile.y / 32); - do { - if (mapElement->base_height != nextZ) - continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE || - map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK){ - return 0xFF; - } - } while(!map_element_is_last_for_tile(mapElement++)); + do { + if (mapElement->base_height != nextZ) + continue; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE || + map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK){ + return 0xFF; + } + } while(!map_element_is_last_for_tile(mapElement++)); - return nextDirection; + return nextDirection; } extern const uint8 byte_98D800[4]; @@ -806,51 +806,51 @@ extern const uint8 byte_98D800[4]; * rct2: 0x006BF931 */ static uint8 staff_handyman_direction_to_uncut_grass(rct_peep* peep, uint8 valid_directions) { - if (!(peep->next_var_29 & 0x18)) { + if (!(peep->next_var_29 & 0x18)) { - rct_map_element* mapElement = map_get_surface_element_at(peep->next_x / 32, peep->next_y / 32); + rct_map_element* mapElement = map_get_surface_element_at(peep->next_x / 32, peep->next_y / 32); - if (peep->next_z != mapElement->base_height) - return 0xFF; + if (peep->next_z != mapElement->base_height) + return 0xFF; - if (peep->next_var_29 & 0x4) { - if ((mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK) != byte_98D800[peep->next_var_29 & 0x3]) - return 0xFF; - } - else if ((mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK) != 0) - return 0xFF; - } + if (peep->next_var_29 & 0x4) { + if ((mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK) != byte_98D800[peep->next_var_29 & 0x3]) + return 0xFF; + } + else if ((mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK) != 0) + return 0xFF; + } - uint8 chosenDirection = scenario_rand() & 0x3; - for (uint8 i = 0; i < 4; ++i, ++chosenDirection) { - chosenDirection &= 0x3; + uint8 chosenDirection = scenario_rand() & 0x3; + for (uint8 i = 0; i < 4; ++i, ++chosenDirection) { + chosenDirection &= 0x3; - if (!(valid_directions & (1 << chosenDirection))) { - continue; - } + if (!(valid_directions & (1 << chosenDirection))) { + continue; + } - rct_xy16 chosenTile = { - .x = peep->next_x + TileDirectionDelta[chosenDirection].x, - .y = peep->next_y + TileDirectionDelta[chosenDirection].y, - }; + rct_xy16 chosenTile = { + .x = peep->next_x + TileDirectionDelta[chosenDirection].x, + .y = peep->next_y + TileDirectionDelta[chosenDirection].y, + }; - if (chosenTile.x > 0x1FFF || chosenTile.y > 0x1FFF) - continue; + if (chosenTile.x > 0x1FFF || chosenTile.y > 0x1FFF) + continue; - rct_map_element* mapElement = map_get_surface_element_at(chosenTile.x / 32, chosenTile.y / 32); + rct_map_element* mapElement = map_get_surface_element_at(chosenTile.x / 32, chosenTile.y / 32); - if (map_element_get_terrain(mapElement) != 0) - continue; + if (map_element_get_terrain(mapElement) != 0) + continue; - if (abs(mapElement->base_height - peep->next_z) > 2) - continue; + if (abs(mapElement->base_height - peep->next_z) > 2) + continue; - if ((mapElement->properties.surface.grass_length & 0x7) < GRASS_LENGTH_CLEAR_1) - continue; + if ((mapElement->properties.surface.grass_length & 0x7) < GRASS_LENGTH_CLEAR_1) + continue; - return chosenDirection; - } - return 0xFF; + return chosenDirection; + } + return 0xFF; } /** @@ -858,27 +858,27 @@ static uint8 staff_handyman_direction_to_uncut_grass(rct_peep* peep, uint8 valid * rct2: 0x006BFD9C */ static sint32 staff_handyman_direction_rand_surface(rct_peep* peep, uint8 validDirections) { - uint8 direction = scenario_rand() & 3; - for (sint32 i = 0; i < 4; ++i, ++direction) { - direction &= 3; - if (!(validDirections & (1 << direction))) - continue; + uint8 direction = scenario_rand() & 3; + for (sint32 i = 0; i < 4; ++i, ++direction) { + direction &= 3; + if (!(validDirections & (1 << direction))) + continue; - rct_xy16 chosenTile = { - .x = peep->next_x + TileDirectionDelta[direction].x, - .y = peep->next_y + TileDirectionDelta[direction].y, - }; + rct_xy16 chosenTile = { + .x = peep->next_x + TileDirectionDelta[direction].x, + .y = peep->next_y + TileDirectionDelta[direction].y, + }; - if (map_surface_is_blocked(chosenTile.x, chosenTile.y)) - continue; + if (map_surface_is_blocked(chosenTile.x, chosenTile.y)) + continue; - break; - } - // If it tries all directions this is required - // to make it back to the first direction and - // override validDirections - direction &= 3; - return direction; + break; + } + // If it tries all directions this is required + // to make it back to the first direction and + // override validDirections + direction &= 3; + return direction; } /** @@ -887,130 +887,130 @@ static sint32 staff_handyman_direction_rand_surface(rct_peep* peep, uint8 validD */ static sint32 staff_path_finding_handyman(rct_peep* peep) { - peep->var_E2++; + peep->var_E2++; - uint8 litterDirection = 0xFF; - uint8 validDirections = staff_get_valid_patrol_directions(peep, peep->next_x, peep->next_y); + uint8 litterDirection = 0xFF; + uint8 validDirections = staff_get_valid_patrol_directions(peep, peep->next_x, peep->next_y); - if ((peep->staff_orders & STAFF_ORDERS_SWEEPING) && - ((gCurrentTicks + peep->sprite_index) & 0xFFF) > 110) { - litterDirection = staff_handyman_direction_to_nearest_litter(peep); - } + if ((peep->staff_orders & STAFF_ORDERS_SWEEPING) && + ((gCurrentTicks + peep->sprite_index) & 0xFFF) > 110) { + litterDirection = staff_handyman_direction_to_nearest_litter(peep); + } - uint8 direction = 0xFF; - if (litterDirection == 0xFF && - (peep->staff_orders & STAFF_ORDERS_MOWING) && - peep->var_E2 >= 12 - ) { - direction = staff_handyman_direction_to_uncut_grass(peep, validDirections); - } + uint8 direction = 0xFF; + if (litterDirection == 0xFF && + (peep->staff_orders & STAFF_ORDERS_MOWING) && + peep->var_E2 >= 12 + ) { + direction = staff_handyman_direction_to_uncut_grass(peep, validDirections); + } - if (direction == 0xFF) { - if (peep->next_var_29 & 0x18) { - direction = staff_handyman_direction_rand_surface(peep, validDirections); - } else { - rct_map_element* mapElement = map_get_path_element_at( - peep->next_x / 32, - peep->next_y / 32, - peep->next_z); + if (direction == 0xFF) { + if (peep->next_var_29 & 0x18) { + direction = staff_handyman_direction_rand_surface(peep, validDirections); + } else { + rct_map_element* mapElement = map_get_path_element_at( + peep->next_x / 32, + peep->next_y / 32, + peep->next_z); - if (mapElement == NULL) - return 1; + if (mapElement == NULL) + return 1; - uint8 pathDirections = (mapElement->properties.path.edges & validDirections) & 0xF; - if (pathDirections == 0) { - direction = staff_handyman_direction_rand_surface(peep, validDirections); - } else { - bool chooseRandom = true; - if (litterDirection != 0xFF && pathDirections & (1 << litterDirection)) { - if ((scenario_rand() & 0xFFFF) >= 0x1999) { - chooseRandom = false; - direction = litterDirection; - } - } else { - pathDirections &= ~(1 << (peep->direction ^ (1 << 1))); - if (pathDirections == 0) { - pathDirections |= 1 << (peep->direction ^ (1 << 1)); - } - } + uint8 pathDirections = (mapElement->properties.path.edges & validDirections) & 0xF; + if (pathDirections == 0) { + direction = staff_handyman_direction_rand_surface(peep, validDirections); + } else { + bool chooseRandom = true; + if (litterDirection != 0xFF && pathDirections & (1 << litterDirection)) { + if ((scenario_rand() & 0xFFFF) >= 0x1999) { + chooseRandom = false; + direction = litterDirection; + } + } else { + pathDirections &= ~(1 << (peep->direction ^ (1 << 1))); + if (pathDirections == 0) { + pathDirections |= 1 << (peep->direction ^ (1 << 1)); + } + } - if (chooseRandom == true) { - do { - direction = scenario_rand() & 3; - } while ((pathDirections & (1 << direction)) == 0); - } - } - } - } + if (chooseRandom == true) { + do { + direction = scenario_rand() & 3; + } while ((pathDirections & (1 << direction)) == 0); + } + } + } + } - // countof(TileDirectionDelta) - assert(direction < 8); + // countof(TileDirectionDelta) + assert(direction < 8); - rct_xy16 chosenTile = { - .x = peep->next_x + TileDirectionDelta[direction].x, - .y = peep->next_y + TileDirectionDelta[direction].y - }; + rct_xy16 chosenTile = { + .x = peep->next_x + TileDirectionDelta[direction].x, + .y = peep->next_y + TileDirectionDelta[direction].y + }; - while (chosenTile.x > 0x1FFF || chosenTile.y > 0x1FFF) { - direction = staff_handyman_direction_rand_surface(peep, validDirections); - chosenTile.x = peep->next_x + TileDirectionDelta[direction].x; - chosenTile.y = peep->next_y + TileDirectionDelta[direction].y; - } + while (chosenTile.x > 0x1FFF || chosenTile.y > 0x1FFF) { + direction = staff_handyman_direction_rand_surface(peep, validDirections); + chosenTile.x = peep->next_x + TileDirectionDelta[direction].x; + chosenTile.y = peep->next_y + TileDirectionDelta[direction].y; + } - peep->direction = direction; - peep->destination_x = chosenTile.x + 16; - peep->destination_y = chosenTile.y + 16; - peep->destination_tolerence = 3; - if (peep->state == PEEP_STATE_QUEUING) { - peep->destination_tolerence = (scenario_rand() & 7) + 2; - } - return 0; + peep->direction = direction; + peep->destination_x = chosenTile.x + 16; + peep->destination_y = chosenTile.y + 16; + peep->destination_tolerence = 3; + if (peep->state == PEEP_STATE_QUEUING) { + peep->destination_tolerence = (scenario_rand() & 7) + 2; + } + return 0; } static uint8 staff_direction_surface(rct_peep* peep, uint8 initialDirection) { - uint8 direction = initialDirection; - for (sint32 i = 0; i < 3; ++i) { - // Looks left and right from initial direction - switch (i) { - case 1: - direction++; - if (scenario_rand() & 1) { - direction -= 2; - } - break; - case 2: - direction -= 2; - break; - } + uint8 direction = initialDirection; + for (sint32 i = 0; i < 3; ++i) { + // Looks left and right from initial direction + switch (i) { + case 1: + direction++; + if (scenario_rand() & 1) { + direction -= 2; + } + break; + case 2: + direction -= 2; + break; + } - direction &= 3; + direction &= 3; - if (fence_in_the_way( - peep->next_x, - peep->next_y, - peep->next_z, - peep->next_z + 4, - direction) == true) - continue; + if (fence_in_the_way( + peep->next_x, + peep->next_y, + peep->next_z, + peep->next_z + 4, + direction) == true) + continue; - if (fence_in_the_way( - peep->next_x, - peep->next_y, - peep->next_z, - peep->next_z + 4, - direction ^ (1 << 1)) == true) - continue; + if (fence_in_the_way( + peep->next_x, + peep->next_y, + peep->next_z, + peep->next_z + 4, + direction ^ (1 << 1)) == true) + continue; - rct_xy16 chosenTile = { - .x = peep->next_x + TileDirectionDelta[direction].x, - .y = peep->next_y + TileDirectionDelta[direction].y - }; + rct_xy16 chosenTile = { + .x = peep->next_x + TileDirectionDelta[direction].x, + .y = peep->next_y + TileDirectionDelta[direction].y + }; - if (map_surface_is_blocked(chosenTile.x, chosenTile.y) == false) { - return direction; - } - } - return initialDirection; + if (map_surface_is_blocked(chosenTile.x, chosenTile.y) == false) { + return direction; + } + } + return initialDirection; } /** @@ -1018,35 +1018,35 @@ static uint8 staff_direction_surface(rct_peep* peep, uint8 initialDirection) { * rct2: 0x006BFF45 */ static uint8 staff_mechanic_direction_surface(rct_peep* peep) { - uint8 direction = scenario_rand() & 3; + uint8 direction = scenario_rand() & 3; - if ((peep->state == PEEP_STATE_ANSWERING || peep->state == PEEP_STATE_HEADING_TO_INSPECTION) && - scenario_rand() & 1) { + if ((peep->state == PEEP_STATE_ANSWERING || peep->state == PEEP_STATE_HEADING_TO_INSPECTION) && + scenario_rand() & 1) { - rct_ride* ride = get_ride(peep->current_ride); + rct_ride* ride = get_ride(peep->current_ride); - uint16 location = ride->exits[peep->current_ride_station]; - if (location == 0xFFFF) { - location = ride->entrances[peep->current_ride_station]; - } + uint16 location = ride->exits[peep->current_ride_station]; + if (location == 0xFFFF) { + location = ride->entrances[peep->current_ride_station]; + } - rct_xy16 chosenTile = { - .x = (location & 0xFF) * 32, - .y = (location >> 8) * 32 - }; + rct_xy16 chosenTile = { + .x = (location & 0xFF) * 32, + .y = (location >> 8) * 32 + }; - sint16 x_diff = chosenTile.x - peep->x; - sint16 y_diff = chosenTile.y - peep->y; + sint16 x_diff = chosenTile.x - peep->x; + sint16 y_diff = chosenTile.y - peep->y; - if (abs(x_diff) <= abs(y_diff)) { - direction = y_diff < 0 ? 3 : 1; - } - else { - direction = x_diff < 0 ? 0 : 2; - } - } + if (abs(x_diff) <= abs(y_diff)) { + direction = y_diff < 0 ? 3 : 1; + } + else { + direction = x_diff < 0 ? 0 : 2; + } + } - return staff_direction_surface(peep, direction); + return staff_direction_surface(peep, direction); } /** @@ -1054,20 +1054,20 @@ static uint8 staff_mechanic_direction_surface(rct_peep* peep) { * rct2: 0x006C02D1 */ static uint8 staff_mechanic_direction_path_rand(rct_peep* peep, uint8 pathDirections) { - if (scenario_rand() & 1) { - if (pathDirections & (1 << peep->direction)) - return peep->direction; - } + if (scenario_rand() & 1) { + if (pathDirections & (1 << peep->direction)) + return peep->direction; + } - // Modified from original to spam scenario_rand less - uint8 direction = scenario_rand() & 3; - for (sint32 i = 0; i < 4; ++i, ++direction) { - direction &= 3; - if (pathDirections & (1 << direction)) - return direction; - } - // This will never happen as pathDirections always has a bit set. - return peep->direction; + // Modified from original to spam scenario_rand less + uint8 direction = scenario_rand() & 3; + for (sint32 i = 0; i < 4; ++i, ++direction) { + direction &= 3; + if (pathDirections & (1 << direction)) + return direction; + } + // This will never happen as pathDirections always has a bit set. + return peep->direction; } /** @@ -1076,105 +1076,105 @@ static uint8 staff_mechanic_direction_path_rand(rct_peep* peep, uint8 pathDirect */ static uint8 staff_mechanic_direction_path(rct_peep* peep, uint8 validDirections, rct_map_element* pathElement) { - uint8 direction = 0xFF; - uint8 pathDirections = pathElement->properties.path.edges & 0xF; - pathDirections &= validDirections; + uint8 direction = 0xFF; + uint8 pathDirections = pathElement->properties.path.edges & 0xF; + pathDirections &= validDirections; - if (pathDirections == 0) { - return staff_mechanic_direction_surface(peep); - } + if (pathDirections == 0) { + return staff_mechanic_direction_surface(peep); + } - // Check if this is dead end - i.e. only way out is the reverse direction. - pathDirections &= ~(1 << (peep->direction ^ (1 << 1))); - if (pathDirections == 0) { - pathDirections |= (1 << (peep->direction ^ (1 << 1))); - } + // Check if this is dead end - i.e. only way out is the reverse direction. + pathDirections &= ~(1 << (peep->direction ^ (1 << 1))); + if (pathDirections == 0) { + pathDirections |= (1 << (peep->direction ^ (1 << 1))); + } - direction = bitscanforward(pathDirections); - pathDirections &= ~(1 << direction); - if (pathDirections == 0) { - if (peep->state != PEEP_STATE_ANSWERING && peep->state != PEEP_STATE_HEADING_TO_INSPECTION) { - return direction; - } + direction = bitscanforward(pathDirections); + pathDirections &= ~(1 << direction); + if (pathDirections == 0) { + if (peep->state != PEEP_STATE_ANSWERING && peep->state != PEEP_STATE_HEADING_TO_INSPECTION) { + return direction; + } - if (peep->sub_state != 2) { - return direction; - } - peep->sub_state = 3; - } + if (peep->sub_state != 2) { + return direction; + } + peep->sub_state = 3; + } - pathDirections |= (1 << direction); + pathDirections |= (1 << direction); - // Mechanic is heading to ride (either broken down or for inspection). - if (peep->state == PEEP_STATE_ANSWERING || peep->state == PEEP_STATE_HEADING_TO_INSPECTION) { - rct_ride* ride = get_ride(peep->current_ride); - uint8 z = ride->station_heights[peep->current_ride_station]; - gPeepPathFindGoalPosition.z = z; + // Mechanic is heading to ride (either broken down or for inspection). + if (peep->state == PEEP_STATE_ANSWERING || peep->state == PEEP_STATE_HEADING_TO_INSPECTION) { + rct_ride* ride = get_ride(peep->current_ride); + uint8 z = ride->station_heights[peep->current_ride_station]; + gPeepPathFindGoalPosition.z = z; - /* Find location of the exit for the target ride station - * or if the ride has no exit, the entrance. */ - uint16 location = ride->exits[peep->current_ride_station]; - if (location == 0xFFFF) { - location = ride->entrances[peep->current_ride_station]; - } + /* Find location of the exit for the target ride station + * or if the ride has no exit, the entrance. */ + uint16 location = ride->exits[peep->current_ride_station]; + if (location == 0xFFFF) { + location = ride->entrances[peep->current_ride_station]; + } - rct_xy16 chosenTile = { - .x = (location & 0xFF) * 32, - .y = (location >> 8) * 32 - }; + rct_xy16 chosenTile = { + .x = (location & 0xFF) * 32, + .y = (location >> 8) * 32 + }; - gPeepPathFindGoalPosition.x = chosenTile.x; - gPeepPathFindGoalPosition.y = chosenTile.y; + gPeepPathFindGoalPosition.x = chosenTile.x; + gPeepPathFindGoalPosition.y = chosenTile.y; - // Find the exit/entrance map_element - bool entranceFound = false; - rct_map_element* mapElement = map_get_first_element_at(chosenTile.x / 32, chosenTile.y / 32); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) - continue; + // Find the exit/entrance map_element + bool entranceFound = false; + rct_map_element* mapElement = map_get_first_element_at(chosenTile.x / 32, chosenTile.y / 32); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) + continue; - if (mapElement->base_height != z) - continue; + if (mapElement->base_height != z) + continue; - if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_ENTRANCE && - mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_EXIT) - continue; + if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_ENTRANCE && + mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_EXIT) + continue; - entranceFound = true; - break; - } while (!map_element_is_last_for_tile(mapElement++)); + entranceFound = true; + break; + } while (!map_element_is_last_for_tile(mapElement++)); - if (entranceFound == false) { - return staff_mechanic_direction_path_rand(peep, pathDirections); - } + if (entranceFound == false) { + return staff_mechanic_direction_path_rand(peep, pathDirections); + } - gPeepPathFindIgnoreForeignQueues = false; - gPeepPathFindQueueRideIndex = 255; + gPeepPathFindIgnoreForeignQueues = false; + gPeepPathFindQueueRideIndex = 255; - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - pathfind_logging_enable(peep); - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + pathfind_logging_enable(peep); + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - sint32 pathfindDirection = peep_pathfind_choose_direction(peep->next_x, peep->next_y, peep->next_z, peep); + sint32 pathfindDirection = peep_pathfind_choose_direction(peep->next_x, peep->next_y, peep->next_z, peep); - #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - pathfind_logging_disable(); - #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 + pathfind_logging_disable(); + #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - if (pathfindDirection == -1) { - /* Heuristic search failed for all directions. - * Reset the pathfind_goal - this means that the pathfind_history - * will be reset in the next call to peep_pathfind_choose_direction(). - * This lets the heuristic search "try again" in case the player has - * edited the path layout or the mechanic was already stuck in the - * save game (e.g. with a worse version of the pathfinding). */ - peep_reset_pathfind_goal(peep); - return staff_mechanic_direction_path_rand(peep, pathDirections); - } + if (pathfindDirection == -1) { + /* Heuristic search failed for all directions. + * Reset the pathfind_goal - this means that the pathfind_history + * will be reset in the next call to peep_pathfind_choose_direction(). + * This lets the heuristic search "try again" in case the player has + * edited the path layout or the mechanic was already stuck in the + * save game (e.g. with a worse version of the pathfinding). */ + peep_reset_pathfind_goal(peep); + return staff_mechanic_direction_path_rand(peep, pathDirections); + } - return (uint8)pathfindDirection; - } - return staff_mechanic_direction_path_rand(peep, pathDirections); + return (uint8)pathfindDirection; + } + return staff_mechanic_direction_path_rand(peep, pathDirections); } /** @@ -1182,39 +1182,39 @@ static uint8 staff_mechanic_direction_path(rct_peep* peep, uint8 validDirections * rct2: 0x006BFF2C */ static sint32 staff_path_finding_mechanic(rct_peep* peep) { - uint8 validDirections = staff_get_valid_patrol_directions(peep, peep->next_x, peep->next_y); - uint8 direction = 0xFF; - if (peep->next_var_29 & 0x18) { - direction = staff_mechanic_direction_surface(peep); - } - else { - rct_map_element* pathElement = map_get_path_element_at(peep->next_x / 32, peep->next_y / 32, peep->next_z); - if (pathElement == NULL) - return 1; + uint8 validDirections = staff_get_valid_patrol_directions(peep, peep->next_x, peep->next_y); + uint8 direction = 0xFF; + if (peep->next_var_29 & 0x18) { + direction = staff_mechanic_direction_surface(peep); + } + else { + rct_map_element* pathElement = map_get_path_element_at(peep->next_x / 32, peep->next_y / 32, peep->next_z); + if (pathElement == NULL) + return 1; - direction = staff_mechanic_direction_path(peep, validDirections, pathElement); - } + direction = staff_mechanic_direction_path(peep, validDirections, pathElement); + } - // countof(TileDirectionDelta) - assert(direction < 8); + // countof(TileDirectionDelta) + assert(direction < 8); - rct_xy16 chosenTile = { - .x = peep->next_x + TileDirectionDelta[direction].x, - .y = peep->next_y + TileDirectionDelta[direction].y - }; + rct_xy16 chosenTile = { + .x = peep->next_x + TileDirectionDelta[direction].x, + .y = peep->next_y + TileDirectionDelta[direction].y + }; - while (chosenTile.x > 0x1FFF || chosenTile.y > 0x1FFF) { - direction = staff_mechanic_direction_surface(peep); - chosenTile.x = peep->next_x + TileDirectionDelta[direction].x; - chosenTile.y = peep->next_y + TileDirectionDelta[direction].y; - } + while (chosenTile.x > 0x1FFF || chosenTile.y > 0x1FFF) { + direction = staff_mechanic_direction_surface(peep); + chosenTile.x = peep->next_x + TileDirectionDelta[direction].x; + chosenTile.y = peep->next_y + TileDirectionDelta[direction].y; + } - peep->direction = direction; - peep->destination_x = chosenTile.x + 16; - peep->destination_y = chosenTile.y + 16; - peep->destination_tolerence = (scenario_rand() & 7) + 2; + peep->direction = direction; + peep->destination_x = chosenTile.x + 16; + peep->destination_y = chosenTile.y + 16; + peep->destination_tolerence = (scenario_rand() & 7) + 2; - return 0; + return 0; } /** @@ -1222,38 +1222,38 @@ static sint32 staff_path_finding_mechanic(rct_peep* peep) { * rct2: 0x006C050B */ static uint8 staff_direction_path(rct_peep* peep, uint8 validDirections, rct_map_element* pathElement) { - uint8 direction = 0xFF; - uint8 pathDirections = pathElement->properties.path.edges & 0xF; - if (peep->state != PEEP_STATE_ANSWERING && peep->state != PEEP_STATE_HEADING_TO_INSPECTION) { - pathDirections &= validDirections; - } + uint8 direction = 0xFF; + uint8 pathDirections = pathElement->properties.path.edges & 0xF; + if (peep->state != PEEP_STATE_ANSWERING && peep->state != PEEP_STATE_HEADING_TO_INSPECTION) { + pathDirections &= validDirections; + } - if (pathDirections == 0) { - return staff_direction_surface(peep, scenario_rand() & 3); - } + if (pathDirections == 0) { + return staff_direction_surface(peep, scenario_rand() & 3); + } - pathDirections &= ~(1 << (peep->direction ^ (1 << 1))); - if (pathDirections == 0) { - pathDirections |= (1 << (peep->direction ^ (1 << 1))); - } + pathDirections &= ~(1 << (peep->direction ^ (1 << 1))); + if (pathDirections == 0) { + pathDirections |= (1 << (peep->direction ^ (1 << 1))); + } - direction = bitscanforward(pathDirections); - pathDirections &= ~(1 << direction); - if (pathDirections == 0) { - return direction; - } + direction = bitscanforward(pathDirections); + pathDirections &= ~(1 << direction); + if (pathDirections == 0) { + return direction; + } - pathDirections |= (1 << direction); + pathDirections |= (1 << direction); - direction = scenario_rand() & 3; - for (sint32 i = 0; i < 4; ++i, ++direction) { - direction &= 3; - if (pathDirections & (1 << direction)) - return direction; - } + direction = scenario_rand() & 3; + for (sint32 i = 0; i < 4; ++i, ++direction) { + direction &= 3; + if (pathDirections & (1 << direction)) + return direction; + } - // This will never happen as pathDirections will always have a bit set - return direction; + // This will never happen as pathDirections will always have a bit set + return direction; } /** @@ -1261,37 +1261,37 @@ static uint8 staff_direction_path(rct_peep* peep, uint8 validDirections, rct_map * rct2: 0x006C0351 */ static sint32 staff_path_finding_misc(rct_peep* peep) { - uint8 validDirections = staff_get_valid_patrol_directions(peep, peep->next_x, peep->next_y); + uint8 validDirections = staff_get_valid_patrol_directions(peep, peep->next_x, peep->next_y); - uint8 direction = 0xFF; - if (peep->next_var_29 & 0x18) { - direction = staff_direction_surface(peep, scenario_rand() & 3); - } - else { - rct_map_element* pathElement = map_get_path_element_at(peep->next_x / 32, peep->next_y / 32, peep->next_z); - if (pathElement == NULL) - return 1; + uint8 direction = 0xFF; + if (peep->next_var_29 & 0x18) { + direction = staff_direction_surface(peep, scenario_rand() & 3); + } + else { + rct_map_element* pathElement = map_get_path_element_at(peep->next_x / 32, peep->next_y / 32, peep->next_z); + if (pathElement == NULL) + return 1; - direction = staff_direction_path(peep, validDirections, pathElement); - } + direction = staff_direction_path(peep, validDirections, pathElement); + } - rct_xy16 chosenTile = { - .x = peep->next_x + TileDirectionDelta[direction].x, - .y = peep->next_y + TileDirectionDelta[direction].y - }; + rct_xy16 chosenTile = { + .x = peep->next_x + TileDirectionDelta[direction].x, + .y = peep->next_y + TileDirectionDelta[direction].y + }; - while (chosenTile.x > 0x1FFF || chosenTile.y > 0x1FFF) { - direction = staff_direction_surface(peep, scenario_rand() & 3); - chosenTile.x = peep->next_x + TileDirectionDelta[direction].x; - chosenTile.y = peep->next_y + TileDirectionDelta[direction].y; - } + while (chosenTile.x > 0x1FFF || chosenTile.y > 0x1FFF) { + direction = staff_direction_surface(peep, scenario_rand() & 3); + chosenTile.x = peep->next_x + TileDirectionDelta[direction].x; + chosenTile.y = peep->next_y + TileDirectionDelta[direction].y; + } - peep->direction = direction; - peep->destination_x = chosenTile.x + 16; - peep->destination_y = chosenTile.y + 16; - peep->destination_tolerence = (scenario_rand() & 7) + 2; + peep->direction = direction; + peep->destination_x = chosenTile.x + 16; + peep->destination_y = chosenTile.y + 16; + peep->destination_tolerence = (scenario_rand() & 7) + 2; - return 0; + return 0; } /** @@ -1299,39 +1299,39 @@ static sint32 staff_path_finding_misc(rct_peep* peep) { * rct2: 0x006C086D */ static void staff_entertainer_update_nearby_peeps(rct_peep* peep) { - uint16 spriteIndex; - rct_peep* guest; + uint16 spriteIndex; + rct_peep* guest; - FOR_ALL_GUESTS(spriteIndex, guest) { - if (guest->x == SPRITE_LOCATION_NULL) - continue; + FOR_ALL_GUESTS(spriteIndex, guest) { + if (guest->x == SPRITE_LOCATION_NULL) + continue; - sint16 z_dist = abs(peep->z - guest->z); - if (z_dist > 48) - continue; + sint16 z_dist = abs(peep->z - guest->z); + if (z_dist > 48) + continue; - sint16 x_dist = abs(peep->x - guest->x); - sint16 y_dist = abs(peep->y - guest->y); + sint16 x_dist = abs(peep->x - guest->x); + sint16 y_dist = abs(peep->y - guest->y); - if (x_dist > 96) - continue; + if (x_dist > 96) + continue; - if (y_dist > 96) - continue; + if (y_dist > 96) + continue; - if (peep->state == PEEP_STATE_WALKING) { - peep->happiness_growth_rate = min(peep->happiness_growth_rate + 4, 255); - } - else if (peep->state == PEEP_STATE_QUEUING) { - if(peep->time_in_queue > 200) { - peep->time_in_queue -= 200; - } - else { - peep->time_in_queue = 0; - } - peep->happiness_growth_rate = min(peep->happiness_growth_rate + 3, 255); - } - } + if (peep->state == PEEP_STATE_WALKING) { + peep->happiness_growth_rate = min(peep->happiness_growth_rate + 4, 255); + } + else if (peep->state == PEEP_STATE_QUEUING) { + if(peep->time_in_queue > 200) { + peep->time_in_queue -= 200; + } + else { + peep->time_in_queue = 0; + } + peep->happiness_growth_rate = min(peep->happiness_growth_rate + 3, 255); + } + } } /** @@ -1340,21 +1340,21 @@ static void staff_entertainer_update_nearby_peeps(rct_peep* peep) { */ static sint32 staff_path_finding_entertainer(rct_peep* peep) { - if (((scenario_rand() & 0xFFFF) <= 0x4000) && - (peep->action == PEEP_ACTION_NONE_1 || peep->action == PEEP_ACTION_NONE_2)) { + if (((scenario_rand() & 0xFFFF) <= 0x4000) && + (peep->action == PEEP_ACTION_NONE_1 || peep->action == PEEP_ACTION_NONE_2)) { - invalidate_sprite_2((rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - peep->action = (scenario_rand() & 1) ? PEEP_ACTION_WAVE_2 : PEEP_ACTION_JOY; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; + peep->action = (scenario_rand() & 1) ? PEEP_ACTION_WAVE_2 : PEEP_ACTION_JOY; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_2((rct_sprite*)peep); - staff_entertainer_update_nearby_peeps(peep); - } + peep_update_current_action_sprite_type(peep); + invalidate_sprite_2((rct_sprite*)peep); + staff_entertainer_update_nearby_peeps(peep); + } - return staff_path_finding_misc(peep); + return staff_path_finding_misc(peep); } /** @@ -1362,118 +1362,118 @@ static sint32 staff_path_finding_entertainer(rct_peep* peep) { * rct2: 0x006BF926 */ sint32 staff_path_finding(rct_peep* peep) { - switch (peep->staff_type) { - case STAFF_TYPE_HANDYMAN: - return staff_path_finding_handyman(peep); - case STAFF_TYPE_MECHANIC: - return staff_path_finding_mechanic(peep); - case STAFF_TYPE_SECURITY: - return staff_path_finding_misc(peep); - case STAFF_TYPE_ENTERTAINER: - return staff_path_finding_entertainer(peep); + switch (peep->staff_type) { + case STAFF_TYPE_HANDYMAN: + return staff_path_finding_handyman(peep); + case STAFF_TYPE_MECHANIC: + return staff_path_finding_mechanic(peep); + case STAFF_TYPE_SECURITY: + return staff_path_finding_misc(peep); + case STAFF_TYPE_ENTERTAINER: + return staff_path_finding_entertainer(peep); - default: - assert(false); - return 0; - } + default: + assert(false); + return 0; + } } void game_command_set_staff_name(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - uint16 sprite_index = *ecx & 0xFFFF; + uint16 sprite_index = *ecx & 0xFFFF; - if (sprite_index >= MAX_SPRITES) { - *ebx = MONEY32_UNDEFINED; - return; - } - rct_peep *peep = GET_PEEP(sprite_index); - if (peep->type != PEEP_TYPE_STAFF) { - *ebx = MONEY32_UNDEFINED; - return; - } + if (sprite_index >= MAX_SPRITES) { + *ebx = MONEY32_UNDEFINED; + return; + } + rct_peep *peep = GET_PEEP(sprite_index); + if (peep->type != PEEP_TYPE_STAFF) { + *ebx = MONEY32_UNDEFINED; + return; + } - *ebx = set_peep_name( - *ebx & 0xFF, - *eax & 0xFFFF, - sprite_index, - (uint8*)edx, - (uint8*)ebp, - (uint8*)edi - ); + *ebx = set_peep_name( + *ebx & 0xFF, + *eax & 0xFFFF, + sprite_index, + (uint8*)edx, + (uint8*)ebp, + (uint8*)edi + ); } void game_command_pickup_staff(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - sint32 peepnum = *eax; - sint32 x = *edi; - sint32 y = *ebp; - sint32 z = *edx; - sint32 action = *ecx; - if (peep_pickup_command(peepnum, x, y, z, action, *ebx & GAME_COMMAND_FLAG_APPLY)) { - *ebx = 0; - } - else - { - *ebx = MONEY32_UNDEFINED; - } + sint32 peepnum = *eax; + sint32 x = *edi; + sint32 y = *ebp; + sint32 z = *edx; + sint32 action = *ecx; + if (peep_pickup_command(peepnum, x, y, z, action, *ebx & GAME_COMMAND_FLAG_APPLY)) { + *ebx = 0; + } + else + { + *ebx = MONEY32_UNDEFINED; + } } colour_t staff_get_colour(uint8 staffType) { - switch (staffType) { - case STAFF_TYPE_HANDYMAN: return gStaffHandymanColour; - case STAFF_TYPE_MECHANIC: return gStaffMechanicColour; - case STAFF_TYPE_SECURITY: return gStaffSecurityColour; - case STAFF_TYPE_ENTERTAINER: return 0; - default: - assert(false); - return 0; - } + switch (staffType) { + case STAFF_TYPE_HANDYMAN: return gStaffHandymanColour; + case STAFF_TYPE_MECHANIC: return gStaffMechanicColour; + case STAFF_TYPE_SECURITY: return gStaffSecurityColour; + case STAFF_TYPE_ENTERTAINER: return 0; + default: + assert(false); + return 0; + } } bool staff_set_colour(uint8 staffType, colour_t value) { - switch (staffType) { - case STAFF_TYPE_HANDYMAN: - gStaffHandymanColour = value; - break; - case STAFF_TYPE_MECHANIC: - gStaffMechanicColour = value; - break; - case STAFF_TYPE_SECURITY: - gStaffSecurityColour = value; - break; - default: - return false; - } - return true; + switch (staffType) { + case STAFF_TYPE_HANDYMAN: + gStaffHandymanColour = value; + break; + case STAFF_TYPE_MECHANIC: + gStaffMechanicColour = value; + break; + case STAFF_TYPE_SECURITY: + gStaffSecurityColour = value; + break; + default: + return false; + } + return true; } uint32 staff_get_available_entertainer_costumes() { - init_scenery(); + init_scenery(); - uint32 entertainerCostumes = 0; - for (sint32 i = 0; i < 19; i++) { - if (window_scenery_tab_entries[i][0] != -1) { - rct_scenery_set_entry* scenery_entry = get_scenery_group_entry(i); - entertainerCostumes |= scenery_entry->entertainer_costumes; - } - } + uint32 entertainerCostumes = 0; + for (sint32 i = 0; i < 19; i++) { + if (window_scenery_tab_entries[i][0] != -1) { + rct_scenery_set_entry* scenery_entry = get_scenery_group_entry(i); + entertainerCostumes |= scenery_entry->entertainer_costumes; + } + } - // For some reason the flags are +4 from the actual costume IDs - entertainerCostumes >>= 4; + // For some reason the flags are +4 from the actual costume IDs + entertainerCostumes >>= 4; - return entertainerCostumes; + return entertainerCostumes; } sint32 staff_get_available_entertainer_costume_list(uint8 * costumeList) { - uint32 availableCostumes = staff_get_available_entertainer_costumes(); - sint32 numCostumes = 0; - for (uint8 i = 0; i < ENTERTAINER_COSTUME_COUNT; i++) { - if (availableCostumes & (1 << i)) { - costumeList[numCostumes++] = i; - } - } - return numCostumes; + uint32 availableCostumes = staff_get_available_entertainer_costumes(); + sint32 numCostumes = 0; + for (uint8 i = 0; i < ENTERTAINER_COSTUME_COUNT; i++) { + if (availableCostumes & (1 << i)) { + costumeList[numCostumes++] = i; + } + } + return numCostumes; } diff --git a/src/openrct2/peep/staff.h b/src/openrct2/peep/staff.h index d22bbb1a68..cb48237f34 100644 --- a/src/openrct2/peep/staff.h +++ b/src/openrct2/peep/staff.h @@ -20,45 +20,45 @@ #include "../common.h" #include "peep.h" -#define STAFF_MAX_COUNT 200 -#define STAFF_TYPE_COUNT 4 +#define STAFF_MAX_COUNT 200 +#define STAFF_TYPE_COUNT 4 enum STAFF_MODE { - STAFF_MODE_NONE, - STAFF_MODE_WALK, - STAFF_MODE_PATROL = 3 + STAFF_MODE_NONE, + STAFF_MODE_WALK, + STAFF_MODE_PATROL = 3 }; enum STAFF_TYPE { - STAFF_TYPE_HANDYMAN, - STAFF_TYPE_MECHANIC, - STAFF_TYPE_SECURITY, - STAFF_TYPE_ENTERTAINER + STAFF_TYPE_HANDYMAN, + STAFF_TYPE_MECHANIC, + STAFF_TYPE_SECURITY, + STAFF_TYPE_ENTERTAINER }; enum STAFF_ORDERS{ - STAFF_ORDERS_SWEEPING = (1 << 0), - STAFF_ORDERS_WATER_FLOWERS = (1 << 1), - STAFF_ORDERS_EMPTY_BINS = (1 << 2), - STAFF_ORDERS_MOWING = (1 << 3), - STAFF_ORDERS_INSPECT_RIDES = (1 << 0), - STAFF_ORDERS_FIX_RIDES = (1 << 1) + STAFF_ORDERS_SWEEPING = (1 << 0), + STAFF_ORDERS_WATER_FLOWERS = (1 << 1), + STAFF_ORDERS_EMPTY_BINS = (1 << 2), + STAFF_ORDERS_MOWING = (1 << 3), + STAFF_ORDERS_INSPECT_RIDES = (1 << 0), + STAFF_ORDERS_FIX_RIDES = (1 << 1) }; enum ENTERTAINER_COSTUME { - ENTERTAINER_COSTUME_PANDA, - ENTERTAINER_COSTUME_TIGER, - ENTERTAINER_COSTUME_ELEPHANT, - ENTERTAINER_COSTUME_ROMAN, - ENTERTAINER_COSTUME_GORILLA, - ENTERTAINER_COSTUME_SNOWMAN, - ENTERTAINER_COSTUME_KNIGHT, - ENTERTAINER_COSTUME_ASTRONAUT, - ENTERTAINER_COSTUME_BANDIT, - ENTERTAINER_COSTUME_SHERIFF, - ENTERTAINER_COSTUME_PIRATE, + ENTERTAINER_COSTUME_PANDA, + ENTERTAINER_COSTUME_TIGER, + ENTERTAINER_COSTUME_ELEPHANT, + ENTERTAINER_COSTUME_ROMAN, + ENTERTAINER_COSTUME_GORILLA, + ENTERTAINER_COSTUME_SNOWMAN, + ENTERTAINER_COSTUME_KNIGHT, + ENTERTAINER_COSTUME_ASTRONAUT, + ENTERTAINER_COSTUME_BANDIT, + ENTERTAINER_COSTUME_SHERIFF, + ENTERTAINER_COSTUME_PIRATE, - ENTERTAINER_COSTUME_COUNT + ENTERTAINER_COSTUME_COUNT }; extern const rct_string_id StaffCostumeNames[ENTERTAINER_COSTUME_COUNT]; diff --git a/src/openrct2/platform/linux.c b/src/openrct2/platform/linux.c index b5bb058f80..d1f9e684ed 100644 --- a/src/openrct2/platform/linux.c +++ b/src/openrct2/platform/linux.c @@ -41,34 +41,34 @@ void platform_get_exe_path(utf8 *outPath, size_t outSize) { - char exePath[MAX_PATH]; + char exePath[MAX_PATH]; #ifdef __LINUX__ - ssize_t bytesRead; - bytesRead = readlink("/proc/self/exe", exePath, MAX_PATH); - if (bytesRead == -1) { - log_fatal("failed to read /proc/self/exe"); - } - exePath[bytesRead - 1] = '\0'; + ssize_t bytesRead; + bytesRead = readlink("/proc/self/exe", exePath, MAX_PATH); + if (bytesRead == -1) { + log_fatal("failed to read /proc/self/exe"); + } + exePath[bytesRead - 1] = '\0'; #elif defined(__FREEBSD__) - size_t exeLen = sizeof(exePath); - const sint32 mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 }; - if (sysctl(mib, 4, exePath, &exeLen, NULL, 0) == -1) { - log_fatal("failed to get process path"); + size_t exeLen = sizeof(exePath); + const sint32 mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 }; + if (sysctl(mib, 4, exePath, &exeLen, NULL, 0) == -1) { + log_fatal("failed to get process path"); - } + } #else #error "Platform does not support full path exe retrieval" #endif - char *exeDelimiter = strrchr(exePath, *PATH_SEPARATOR); - if (exeDelimiter == NULL) - { - log_error("should never happen here"); - outPath[0] = '\0'; - return; - } - *exeDelimiter = '\0'; + char *exeDelimiter = strrchr(exePath, *PATH_SEPARATOR); + if (exeDelimiter == NULL) + { + log_error("should never happen here"); + outPath[0] = '\0'; + return; + } + *exeDelimiter = '\0'; - safe_strcpy(outPath, exePath, outSize); + safe_strcpy(outPath, exePath, outSize); } /** @@ -78,27 +78,27 @@ void platform_get_exe_path(utf8 *outPath, size_t outSize) * - /home/[uid]/.config/OpenRCT2 */ void platform_posix_sub_user_data_path(char *buffer, size_t size, const char *homedir) { - const char *configdir = getenv("XDG_CONFIG_HOME"); - log_verbose("configdir = '%s'", configdir); - if (configdir == NULL) - { - log_verbose("configdir was null, used getuid, now is = '%s'", homedir); - if (homedir == NULL) - { - log_fatal("Couldn't find user data directory"); - exit(-1); - return; - } + const char *configdir = getenv("XDG_CONFIG_HOME"); + log_verbose("configdir = '%s'", configdir); + if (configdir == NULL) + { + log_verbose("configdir was null, used getuid, now is = '%s'", homedir); + if (homedir == NULL) + { + log_fatal("Couldn't find user data directory"); + exit(-1); + return; + } - safe_strcpy(buffer, homedir, size); - safe_strcat_path(buffer, ".config", size); - } - else - { - safe_strcpy(buffer, configdir, size); - } - safe_strcat_path(buffer, "OpenRCT2", size); - path_end_with_separator(buffer, size); + safe_strcpy(buffer, homedir, size); + safe_strcat_path(buffer, ".config", size); + } + else + { + safe_strcpy(buffer, configdir, size); + } + safe_strcat_path(buffer, "OpenRCT2", size); + path_end_with_separator(buffer, size); } /** @@ -110,163 +110,163 @@ void platform_posix_sub_user_data_path(char *buffer, size_t size, const char *ho * - /usr/share/openrct2 */ void platform_posix_sub_resolve_openrct_data_path(utf8 *out, size_t size) { - static const utf8 *searchLocations[] = { - "../share/openrct2", + static const utf8 *searchLocations[] = { + "../share/openrct2", #ifdef ORCT2_RESOURCE_DIR - // defined in CMakeLists.txt - ORCT2_RESOURCE_DIR, + // defined in CMakeLists.txt + ORCT2_RESOURCE_DIR, #endif // ORCT2_RESOURCE_DIR - "/usr/local/share/openrct2", - "/var/lib/openrct2", - "/usr/share/openrct2", - }; - for (size_t i = 0; i < countof(searchLocations); i++) - { - log_verbose("Looking for OpenRCT2 data in %s", searchLocations[i]); - if (platform_directory_exists(searchLocations[i])) - { - safe_strcpy(out, searchLocations[i], size); - return; - } - } + "/usr/local/share/openrct2", + "/var/lib/openrct2", + "/usr/share/openrct2", + }; + for (size_t i = 0; i < countof(searchLocations); i++) + { + log_verbose("Looking for OpenRCT2 data in %s", searchLocations[i]); + if (platform_directory_exists(searchLocations[i])) + { + safe_strcpy(out, searchLocations[i], size); + return; + } + } } uint16 platform_get_locale_language(){ - const char *langString = setlocale(LC_MESSAGES, ""); - if(langString != NULL){ - // The locale has the following form: - // language[_territory[.codeset]][@modifier] - // (see https://www.gnu.org/software/libc/manual/html_node/Locale-Names.html) - // longest on my system is 29 with codeset and modifier, so 32 for the pattern should be more than enough - char pattern[32]; - //strip the codeset and modifier part - sint32 length = strlen(langString); - { - for(sint32 i = 0; i < length; ++i){ - if(langString[i] == '.' || langString[i] == '@'){ - length = i; - break; - } - } - } //end strip - memcpy(pattern, langString, length); //copy all until first '.' or '@' - pattern[length] = '\0'; - //find _ if present - const char *strip = strchr(pattern, '_'); - if(strip != NULL){ - // could also use '-', but '?' is more flexible. Maybe LanguagesDescriptors will change. - // pattern is now "language?territory" - pattern[strip - pattern] = '?'; - } + const char *langString = setlocale(LC_MESSAGES, ""); + if(langString != NULL){ + // The locale has the following form: + // language[_territory[.codeset]][@modifier] + // (see https://www.gnu.org/software/libc/manual/html_node/Locale-Names.html) + // longest on my system is 29 with codeset and modifier, so 32 for the pattern should be more than enough + char pattern[32]; + //strip the codeset and modifier part + sint32 length = strlen(langString); + { + for(sint32 i = 0; i < length; ++i){ + if(langString[i] == '.' || langString[i] == '@'){ + length = i; + break; + } + } + } //end strip + memcpy(pattern, langString, length); //copy all until first '.' or '@' + pattern[length] = '\0'; + //find _ if present + const char *strip = strchr(pattern, '_'); + if(strip != NULL){ + // could also use '-', but '?' is more flexible. Maybe LanguagesDescriptors will change. + // pattern is now "language?territory" + pattern[strip - pattern] = '?'; + } - // Iterate through all available languages - for(sint32 i = 1; i < LANGUAGE_COUNT; ++i){ - if(!fnmatch(pattern, LanguagesDescriptors[i].locale, 0)){ - return i; - } - } + // Iterate through all available languages + for(sint32 i = 1; i < LANGUAGE_COUNT; ++i){ + if(!fnmatch(pattern, LanguagesDescriptors[i].locale, 0)){ + return i; + } + } - //special cases :( - if(!fnmatch(pattern, "en_CA", 0)){ - return LANGUAGE_ENGLISH_US; - } - else if (!fnmatch(pattern, "zh_CN", 0)){ - return LANGUAGE_CHINESE_SIMPLIFIED; - } - else if (!fnmatch(pattern, "zh_TW", 0)){ - return LANGUAGE_CHINESE_TRADITIONAL; - } + //special cases :( + if(!fnmatch(pattern, "en_CA", 0)){ + return LANGUAGE_ENGLISH_US; + } + else if (!fnmatch(pattern, "zh_CN", 0)){ + return LANGUAGE_CHINESE_SIMPLIFIED; + } + else if (!fnmatch(pattern, "zh_TW", 0)){ + return LANGUAGE_CHINESE_TRADITIONAL; + } - //no exact match found trying only language part - if(strip != NULL){ - pattern[strip - pattern] = '*'; - pattern[strip - pattern +1] = '\0'; // pattern is now "language*" - for(sint32 i = 1; i < LANGUAGE_COUNT; ++i){ - if(!fnmatch(pattern, LanguagesDescriptors[i].locale, 0)){ - return i; - } - } - } - } - return LANGUAGE_ENGLISH_UK; + //no exact match found trying only language part + if(strip != NULL){ + pattern[strip - pattern] = '*'; + pattern[strip - pattern +1] = '\0'; // pattern is now "language*" + for(sint32 i = 1; i < LANGUAGE_COUNT; ++i){ + if(!fnmatch(pattern, LanguagesDescriptors[i].locale, 0)){ + return i; + } + } + } + } + return LANGUAGE_ENGLISH_UK; } uint8 platform_get_locale_currency(){ - char *langstring = setlocale(LC_MONETARY, ""); + char *langstring = setlocale(LC_MONETARY, ""); - if (langstring == NULL) { - return platform_get_currency_value(NULL); - } + if (langstring == NULL) { + return platform_get_currency_value(NULL); + } - struct lconv *lc = localeconv(); + struct lconv *lc = localeconv(); - return platform_get_currency_value(lc->int_curr_symbol); + return platform_get_currency_value(lc->int_curr_symbol); } uint8 platform_get_locale_measurement_format(){ - // LC_MEASUREMENT is GNU specific. - #ifdef LC_MEASUREMENT - const char *langstring = setlocale(LC_MEASUREMENT, ""); - #else - const char *langstring = setlocale(LC_ALL, ""); - #endif + // LC_MEASUREMENT is GNU specific. + #ifdef LC_MEASUREMENT + const char *langstring = setlocale(LC_MEASUREMENT, ""); + #else + const char *langstring = setlocale(LC_ALL, ""); + #endif - if(langstring != NULL){ - //using https://en.wikipedia.org/wiki/Metrication#Chronology_and_status_of_conversion_by_country as reference - if(!fnmatch("*_US*", langstring, 0) || !fnmatch("*_MM*", langstring, 0) || !fnmatch("*_LR*", langstring, 0)){ - return MEASUREMENT_FORMAT_IMPERIAL; - } - } - return MEASUREMENT_FORMAT_METRIC; + if(langstring != NULL){ + //using https://en.wikipedia.org/wiki/Metrication#Chronology_and_status_of_conversion_by_country as reference + if(!fnmatch("*_US*", langstring, 0) || !fnmatch("*_MM*", langstring, 0) || !fnmatch("*_LR*", langstring, 0)){ + return MEASUREMENT_FORMAT_IMPERIAL; + } + } + return MEASUREMENT_FORMAT_METRIC; } #ifndef NO_TTF bool platform_get_font_path(TTFFontDescriptor *font, utf8 *buffer, size_t size) { - assert(buffer != NULL); - assert(font != NULL); + assert(buffer != NULL); + assert(font != NULL); - log_verbose("Looking for font %s with FontConfig.", font->font_name); - FcConfig* config = FcInitLoadConfigAndFonts(); - if (!config) - { - log_error("Failed to initialize FontConfig library"); - FcFini(); - return false; - } - FcPattern* pat = FcNameParse((const FcChar8*) font->font_name); + log_verbose("Looking for font %s with FontConfig.", font->font_name); + FcConfig* config = FcInitLoadConfigAndFonts(); + if (!config) + { + log_error("Failed to initialize FontConfig library"); + FcFini(); + return false; + } + FcPattern* pat = FcNameParse((const FcChar8*) font->font_name); - FcConfigSubstitute(config, pat, FcMatchPattern); - FcDefaultSubstitute(pat); + FcConfigSubstitute(config, pat, FcMatchPattern); + FcDefaultSubstitute(pat); - bool found = false; - FcResult result = FcResultNoMatch; - FcPattern* match = FcFontMatch(config, pat, &result); + bool found = false; + FcResult result = FcResultNoMatch; + FcPattern* match = FcFontMatch(config, pat, &result); - if (match) - { - FcChar8* filename = NULL; - if (FcPatternGetString(match, FC_FILE, 0, &filename) == FcResultMatch) - { - found = true; - safe_strcpy(buffer, (utf8*) filename, size); - log_verbose("FontConfig provided font %s", filename); - } - FcPatternDestroy(match); - } else { - log_warning("Failed to find required font."); - } + if (match) + { + FcChar8* filename = NULL; + if (FcPatternGetString(match, FC_FILE, 0, &filename) == FcResultMatch) + { + found = true; + safe_strcpy(buffer, (utf8*) filename, size); + log_verbose("FontConfig provided font %s", filename); + } + FcPatternDestroy(match); + } else { + log_warning("Failed to find required font."); + } - FcPatternDestroy(pat); - FcConfigDestroy(config); - FcFini(); - return found; + FcPatternDestroy(pat); + FcConfigDestroy(config); + FcFini(); + return found; } #endif // NO_TTF sint32 platform_get_non_window_flags() { - return SDL_WINDOW_MAXIMIZED | SDL_WINDOW_MINIMIZED | SDL_WINDOW_FULLSCREEN | SDL_WINDOW_FULLSCREEN_DESKTOP; + return SDL_WINDOW_MAXIMIZED | SDL_WINDOW_MINIMIZED | SDL_WINDOW_FULLSCREEN | SDL_WINDOW_FULLSCREEN_DESKTOP; } #endif diff --git a/src/openrct2/platform/macos.m b/src/openrct2/platform/macos.m index 499fd74285..84dd8340bc 100644 --- a/src/openrct2/platform/macos.m +++ b/src/openrct2/platform/macos.m @@ -26,38 +26,38 @@ void macos_disallow_automatic_window_tabbing() { - @autoreleasepool { - if ([NSWindow respondsToSelector:@selector(setAllowsAutomaticWindowTabbing:)]) { - [NSWindow setAllowsAutomaticWindowTabbing:NO]; - } - } + @autoreleasepool { + if ([NSWindow respondsToSelector:@selector(setAllowsAutomaticWindowTabbing:)]) { + [NSWindow setAllowsAutomaticWindowTabbing:NO]; + } + } } bool platform_check_steam_overlay_attached() { - STUB(); - return false; + STUB(); + return false; } void platform_get_exe_path(utf8 *outPath, size_t outSize) { - if (outSize == 0) return; - char exePath[MAX_PATH]; - uint32_t size = MAX_PATH; - int result = _NSGetExecutablePath(exePath, &size); - if (result != 0) { - log_fatal("failed to get path"); - } - exePath[MAX_PATH - 1] = '\0'; - char *exeDelimiter = strrchr(exePath, *PATH_SEPARATOR); - if (exeDelimiter == NULL) - { - log_error("should never happen here"); - outPath[0] = '\0'; - return; - } - *exeDelimiter = '\0'; + if (outSize == 0) return; + char exePath[MAX_PATH]; + uint32_t size = MAX_PATH; + int result = _NSGetExecutablePath(exePath, &size); + if (result != 0) { + log_fatal("failed to get path"); + } + exePath[MAX_PATH - 1] = '\0'; + char *exeDelimiter = strrchr(exePath, *PATH_SEPARATOR); + if (exeDelimiter == NULL) + { + log_error("should never happen here"); + outPath[0] = '\0'; + return; + } + *exeDelimiter = '\0'; - safe_strcpy(outPath, exePath, outSize); + safe_strcpy(outPath, exePath, outSize); } /** @@ -66,18 +66,18 @@ void platform_get_exe_path(utf8 *outPath, size_t outSize) * - ~/Library/Application Support/OpenRCT2 */ void platform_posix_sub_user_data_path(char *buffer, size_t size, const char *homedir) { - if (homedir == NULL) - { - log_fatal("Couldn't find user data directory"); - exit(-1); - return; - } + if (homedir == NULL) + { + log_fatal("Couldn't find user data directory"); + exit(-1); + return; + } - safe_strcpy(buffer, homedir, size); - safe_strcat_path(buffer, "Library", size); - safe_strcat_path(buffer, "Application Support", size); - safe_strcat_path(buffer, "OpenRCT2", size); - path_end_with_separator(buffer, size); + safe_strcpy(buffer, homedir, size); + safe_strcat_path(buffer, "Library", size); + safe_strcat_path(buffer, "Application Support", size); + safe_strcat_path(buffer, "OpenRCT2", size); + path_end_with_separator(buffer, size); } /** @@ -87,147 +87,147 @@ void platform_posix_sub_user_data_path(char *buffer, size_t size, const char *ho * - */ void platform_posix_sub_resolve_openrct_data_path(utf8 *out, size_t size) { - @autoreleasepool - { - NSBundle *bundle = [NSBundle mainBundle]; - if (bundle) - { - const utf8 *resources = bundle.resourcePath.UTF8String; - if (platform_directory_exists(resources)) - { - out[0] = '\0'; - safe_strcpy(out, resources, size); - return; - } - } - } + @autoreleasepool + { + NSBundle *bundle = [NSBundle mainBundle]; + if (bundle) + { + const utf8 *resources = bundle.resourcePath.UTF8String; + if (platform_directory_exists(resources)) + { + out[0] = '\0'; + safe_strcpy(out, resources, size); + return; + } + } + } } void platform_show_messagebox(const char * message) { - @autoreleasepool - { - NSAlert *alert = [[[NSAlert alloc] init] autorelease]; - [alert addButtonWithTitle:@"OK"]; - alert.messageText = [NSString stringWithUTF8String:message]; - [alert runModal]; - } + @autoreleasepool + { + NSAlert *alert = [[[NSAlert alloc] init] autorelease]; + [alert addButtonWithTitle:@"OK"]; + alert.messageText = [NSString stringWithUTF8String:message]; + [alert runModal]; + } } utf8* macos_str_decomp_to_precomp(utf8 *input) { - @autoreleasepool - { - if (input == NULL) { - return NULL; - } + @autoreleasepool + { + if (input == NULL) { + return NULL; + } - NSString *inputDecomp = [NSString stringWithUTF8String:input]; - return strdup([inputDecomp.precomposedStringWithCanonicalMapping cStringUsingEncoding:NSUTF8StringEncoding]); - } + NSString *inputDecomp = [NSString stringWithUTF8String:input]; + return strdup([inputDecomp.precomposedStringWithCanonicalMapping cStringUsingEncoding:NSUTF8StringEncoding]); + } } bool platform_get_font_path(TTFFontDescriptor *font, utf8 *buffer, size_t size) { - @autoreleasepool - { - CTFontDescriptorRef fontRef = CTFontDescriptorCreateWithNameAndSize((CFStringRef)[NSString stringWithUTF8String:font->font_name], 0.0); - CFURLRef url = (CFURLRef)CTFontDescriptorCopyAttribute(fontRef, kCTFontURLAttribute); - if (url) { - NSString *fontPath = [NSString stringWithString:[(NSURL *)CFBridgingRelease(url) path]]; - safe_strcpy(buffer, fontPath.UTF8String, size); - return true; - } else { - return false; - } - } + @autoreleasepool + { + CTFontDescriptorRef fontRef = CTFontDescriptorCreateWithNameAndSize((CFStringRef)[NSString stringWithUTF8String:font->font_name], 0.0); + CFURLRef url = (CFURLRef)CTFontDescriptorCopyAttribute(fontRef, kCTFontURLAttribute); + if (url) { + NSString *fontPath = [NSString stringWithString:[(NSURL *)CFBridgingRelease(url) path]]; + safe_strcpy(buffer, fontPath.UTF8String, size); + return true; + } else { + return false; + } + } } bool platform_has_matching_language(NSString *preferredLocale, uint16* languageIdentifier) { - @autoreleasepool - { - if ([preferredLocale isEqualToString:@"en"] || [preferredLocale isEqualToString:@"en-CA"]) { - *languageIdentifier = LANGUAGE_ENGLISH_US; - return YES; - } + @autoreleasepool + { + if ([preferredLocale isEqualToString:@"en"] || [preferredLocale isEqualToString:@"en-CA"]) { + *languageIdentifier = LANGUAGE_ENGLISH_US; + return YES; + } - if ([preferredLocale isEqualToString:@"zh-CN"]) { - *languageIdentifier = LANGUAGE_CHINESE_SIMPLIFIED; - return YES; - } + if ([preferredLocale isEqualToString:@"zh-CN"]) { + *languageIdentifier = LANGUAGE_CHINESE_SIMPLIFIED; + return YES; + } - if ([preferredLocale isEqualToString:@"zh-TW"]) { - *languageIdentifier = LANGUAGE_CHINESE_TRADITIONAL; - return YES; - } + if ([preferredLocale isEqualToString:@"zh-TW"]) { + *languageIdentifier = LANGUAGE_CHINESE_TRADITIONAL; + return YES; + } - // Find an exact match (language and region) - for (int i = 1; i < LANGUAGE_COUNT; i++) { - if([preferredLocale isEqualToString:[NSString stringWithUTF8String:LanguagesDescriptors[i].locale]]) { - *languageIdentifier = i; - return YES; - } - } + // Find an exact match (language and region) + for (int i = 1; i < LANGUAGE_COUNT; i++) { + if([preferredLocale isEqualToString:[NSString stringWithUTF8String:LanguagesDescriptors[i].locale]]) { + *languageIdentifier = i; + return YES; + } + } - // Only check for a matching language - NSString *languageCode = [[preferredLocale componentsSeparatedByString:@"-"] firstObject]; - for (int i = 1; i < LANGUAGE_COUNT; i++) { - NSString *optionLanguageCode = [[[NSString stringWithUTF8String:LanguagesDescriptors[i].locale] componentsSeparatedByString:@"-"] firstObject]; - if([languageCode isEqualToString:optionLanguageCode]) { - *languageIdentifier = i; - return YES; - } - } + // Only check for a matching language + NSString *languageCode = [[preferredLocale componentsSeparatedByString:@"-"] firstObject]; + for (int i = 1; i < LANGUAGE_COUNT; i++) { + NSString *optionLanguageCode = [[[NSString stringWithUTF8String:LanguagesDescriptors[i].locale] componentsSeparatedByString:@"-"] firstObject]; + if([languageCode isEqualToString:optionLanguageCode]) { + *languageIdentifier = i; + return YES; + } + } - return NO; - } + return NO; + } } uint16 platform_get_locale_language() { - @autoreleasepool - { - NSArray *preferredLanguages = [NSLocale preferredLanguages]; - for (NSString *preferredLanguage in preferredLanguages) { - uint16 languageIdentifier; - if (platform_has_matching_language(preferredLanguage, &languageIdentifier)) { - return languageIdentifier; - } - } + @autoreleasepool + { + NSArray *preferredLanguages = [NSLocale preferredLanguages]; + for (NSString *preferredLanguage in preferredLanguages) { + uint16 languageIdentifier; + if (platform_has_matching_language(preferredLanguage, &languageIdentifier)) { + return languageIdentifier; + } + } - // Fallback - return LANGUAGE_ENGLISH_UK; - } + // Fallback + return LANGUAGE_ENGLISH_UK; + } } uint8 platform_get_locale_currency() { - @autoreleasepool - { - NSString *currencyCode = [[NSLocale currentLocale] objectForKey:NSLocaleCurrencyCode]; - return platform_get_currency_value(currencyCode.UTF8String); - } + @autoreleasepool + { + NSString *currencyCode = [[NSLocale currentLocale] objectForKey:NSLocaleCurrencyCode]; + return platform_get_currency_value(currencyCode.UTF8String); + } } uint8 platform_get_locale_measurement_format() { - @autoreleasepool - { - NSNumber *metricSystem = [[NSLocale currentLocale] objectForKey:NSLocaleUsesMetricSystem]; + @autoreleasepool + { + NSNumber *metricSystem = [[NSLocale currentLocale] objectForKey:NSLocaleUsesMetricSystem]; - if (metricSystem.boolValue) { - return MEASUREMENT_FORMAT_METRIC; - } + if (metricSystem.boolValue) { + return MEASUREMENT_FORMAT_METRIC; + } - return MEASUREMENT_FORMAT_IMPERIAL; - } + return MEASUREMENT_FORMAT_IMPERIAL; + } } sint32 platform_get_non_window_flags() { - return SDL_WINDOW_MINIMIZED | SDL_WINDOW_FULLSCREEN | SDL_WINDOW_FULLSCREEN_DESKTOP; + return SDL_WINDOW_MINIMIZED | SDL_WINDOW_FULLSCREEN | SDL_WINDOW_FULLSCREEN_DESKTOP; } #endif diff --git a/src/openrct2/platform/platform.h b/src/openrct2/platform/platform.h index f8b3c7fa9c..41bfef6643 100644 --- a/src/openrct2/platform/platform.h +++ b/src/openrct2/platform/platform.h @@ -23,9 +23,9 @@ #ifdef __WINDOWS__ #include "../rct2.h" - #ifndef HAVE_MATH_H - #define HAVE_MATH_H - #endif + #ifndef HAVE_MATH_H + #define HAVE_MATH_H + #endif #endif // __WINDOWS__ #include "../core/textinputbuffer.h" @@ -58,45 +58,45 @@ #define ALT 0x400 #define CMD 0x800 #ifdef __MACOSX__ - #define PLATFORM_MODIFIER CMD + #define PLATFORM_MODIFIER CMD #else - #define PLATFORM_MODIFIER CTRL + #define PLATFORM_MODIFIER CTRL #endif typedef struct resolution { - sint32 width, height; + sint32 width, height; } resolution_t; typedef struct file_info { - const char *path; - uint64 size; - uint64 last_modified; + const char *path; + uint64 size; + uint64 last_modified; } file_info; typedef struct rct2_date { - uint8 day; - uint8 month; - sint16 year; - uint8 day_of_week; + uint8 day; + uint8 month; + sint16 year; + uint8 day_of_week; } rct2_date; typedef struct rct2_time { - uint8 hour; - uint8 minute; - uint8 second; + uint8 hour; + uint8 minute; + uint8 second; } rct2_time; typedef enum {FD_OPEN, FD_SAVE} filedialog_type; typedef struct file_dialog_desc { - uint8 type; - const utf8 *title; - const utf8 *initial_directory; - const utf8 *default_filename; - struct { - const utf8 *name; // E.g. "Image Files" - const utf8 *pattern; // E.g. "*.png;*.jpg;*.gif" - } filters[8]; + uint8 type; + const utf8 *title; + const utf8 *initial_directory; + const utf8 *default_filename; + struct { + const utf8 *name; // E.g. "Image Files" + const utf8 *pattern; // E.g. "*.png;*.jpg;*.gif" + } filters[8]; } file_dialog_desc; // Platform shared definitions @@ -166,29 +166,29 @@ void core_init(); // Windows specific definitions #ifdef __WINDOWS__ - #ifndef WIN32_LEAN_AND_MEAN - #define WIN32_LEAN_AND_MEAN - #endif - #include - #undef GetMessage + #ifndef WIN32_LEAN_AND_MEAN + #define WIN32_LEAN_AND_MEAN + #endif + #include + #undef GetMessage - sint32 windows_get_registry_install_info(rct2_install_info *installInfo, char *source, char *font, uint8 charset); - void platform_setup_file_associations(); - void platform_remove_file_associations(); - bool platform_setup_uri_protocol(); - // This function cannot be marked as 'static', even though it may seem to be, - // as it requires external linkage, which 'static' prevents - __declspec(dllexport) sint32 StartOpenRCT(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, sint32 nCmdShow); + sint32 windows_get_registry_install_info(rct2_install_info *installInfo, char *source, char *font, uint8 charset); + void platform_setup_file_associations(); + void platform_remove_file_associations(); + bool platform_setup_uri_protocol(); + // This function cannot be marked as 'static', even though it may seem to be, + // as it requires external linkage, which 'static' prevents + __declspec(dllexport) sint32 StartOpenRCT(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, sint32 nCmdShow); #endif // __WINDOWS__ #if defined(__LINUX__) || defined(__MACOSX__) || defined(__FREEBSD__) - void platform_posix_sub_user_data_path(char *buffer, size_t size, const char *homedir); - void platform_posix_sub_resolve_openrct_data_path(utf8 *out, size_t size); + void platform_posix_sub_user_data_path(char *buffer, size_t size, const char *homedir); + void platform_posix_sub_resolve_openrct_data_path(utf8 *out, size_t size); #endif #ifdef __MACOSX__ - void macos_disallow_automatic_window_tabbing(); - utf8* macos_str_decomp_to_precomp(); + void macos_disallow_automatic_window_tabbing(); + utf8* macos_str_decomp_to_precomp(); #endif // On macOS the resizing behaviour effectively resizes the window in the same diff --git a/src/openrct2/platform/posix.c b/src/openrct2/platform/posix.c index 9992b07466..4046ff8a11 100644 --- a/src/openrct2/platform/posix.c +++ b/src/openrct2/platform/posix.c @@ -48,254 +48,254 @@ utf8 _openrctDataDirectoryPath[MAX_PATH] = { 0 }; void platform_get_date_utc(rct2_date *out_date) { - assert(out_date != NULL); - time_t rawtime; - struct tm * timeinfo; - time(&rawtime); - timeinfo = gmtime(&rawtime); - out_date->day = timeinfo->tm_mday; - out_date->month = timeinfo->tm_mon + 1; - out_date->year = timeinfo->tm_year + 1900; - out_date->day_of_week = timeinfo->tm_wday; + assert(out_date != NULL); + time_t rawtime; + struct tm * timeinfo; + time(&rawtime); + timeinfo = gmtime(&rawtime); + out_date->day = timeinfo->tm_mday; + out_date->month = timeinfo->tm_mon + 1; + out_date->year = timeinfo->tm_year + 1900; + out_date->day_of_week = timeinfo->tm_wday; } void platform_get_time_utc(rct2_time *out_time) { - assert(out_time != NULL); - time_t rawtime; - struct tm * timeinfo; - time(&rawtime); - timeinfo = gmtime(&rawtime); - out_time->second = timeinfo->tm_sec; - out_time->minute = timeinfo->tm_min; - out_time->hour = timeinfo->tm_hour; + assert(out_time != NULL); + time_t rawtime; + struct tm * timeinfo; + time(&rawtime); + timeinfo = gmtime(&rawtime); + out_time->second = timeinfo->tm_sec; + out_time->minute = timeinfo->tm_min; + out_time->hour = timeinfo->tm_hour; } void platform_get_date_local(rct2_date *out_date) { - assert(out_date != NULL); - time_t rawtime; - struct tm * timeinfo; - time(&rawtime); - timeinfo = localtime(&rawtime); - out_date->day = timeinfo->tm_mday; - out_date->month = timeinfo->tm_mon + 1; - out_date->year = timeinfo->tm_year + 1900; - out_date->day_of_week = timeinfo->tm_wday; + assert(out_date != NULL); + time_t rawtime; + struct tm * timeinfo; + time(&rawtime); + timeinfo = localtime(&rawtime); + out_date->day = timeinfo->tm_mday; + out_date->month = timeinfo->tm_mon + 1; + out_date->year = timeinfo->tm_year + 1900; + out_date->day_of_week = timeinfo->tm_wday; } void platform_get_time_local(rct2_time *out_time) { - assert(out_time != NULL); - time_t rawtime; - struct tm * timeinfo; - time(&rawtime); - timeinfo = localtime(&rawtime); - out_time->second = timeinfo->tm_sec; - out_time->minute = timeinfo->tm_min; - out_time->hour = timeinfo->tm_hour; + assert(out_time != NULL); + time_t rawtime; + struct tm * timeinfo; + time(&rawtime); + timeinfo = localtime(&rawtime); + out_time->second = timeinfo->tm_sec; + out_time->minute = timeinfo->tm_min; + out_time->hour = timeinfo->tm_hour; } static size_t platform_utf8_to_multibyte(const utf8 *path, char *buffer, size_t buffer_size) { - wchar_t *wpath = utf8_to_widechar(path); - setlocale(LC_CTYPE, "UTF-8"); - size_t len = wcstombs(NULL, wpath, 0); - bool truncated = false; - if (len > buffer_size - 1) { - truncated = true; - len = buffer_size - 1; - } - wcstombs(buffer, wpath, len); - buffer[len] = '\0'; - if (truncated) - log_warning("truncated string %s", buffer); - free(wpath); - return len; + wchar_t *wpath = utf8_to_widechar(path); + setlocale(LC_CTYPE, "UTF-8"); + size_t len = wcstombs(NULL, wpath, 0); + bool truncated = false; + if (len > buffer_size - 1) { + truncated = true; + len = buffer_size - 1; + } + wcstombs(buffer, wpath, len); + buffer[len] = '\0'; + if (truncated) + log_warning("truncated string %s", buffer); + free(wpath); + return len; } bool platform_file_exists(const utf8 *path) { - char buffer[MAX_PATH]; - platform_utf8_to_multibyte(path, buffer, MAX_PATH); - bool exists = access(buffer, F_OK) != -1; - log_verbose("file '%s' exists = %i", buffer, exists); - return exists; + char buffer[MAX_PATH]; + platform_utf8_to_multibyte(path, buffer, MAX_PATH); + bool exists = access(buffer, F_OK) != -1; + log_verbose("file '%s' exists = %i", buffer, exists); + return exists; } bool platform_directory_exists(const utf8 *path) { - char buffer[MAX_PATH]; - platform_utf8_to_multibyte(path, buffer, MAX_PATH); - struct stat dirinfo; - sint32 result = stat(buffer, &dirinfo); - log_verbose("checking dir %s, result = %d, is_dir = %d", buffer, result, S_ISDIR(dirinfo.st_mode)); - if ((result != 0) || !S_ISDIR(dirinfo.st_mode)) - { - return false; - } - return true; + char buffer[MAX_PATH]; + platform_utf8_to_multibyte(path, buffer, MAX_PATH); + struct stat dirinfo; + sint32 result = stat(buffer, &dirinfo); + log_verbose("checking dir %s, result = %d, is_dir = %d", buffer, result, S_ISDIR(dirinfo.st_mode)); + if ((result != 0) || !S_ISDIR(dirinfo.st_mode)) + { + return false; + } + return true; } bool platform_original_game_data_exists(const utf8 *path) { - char buffer[MAX_PATH]; - platform_utf8_to_multibyte(path, buffer, MAX_PATH); - char checkPath[MAX_PATH]; - safe_strcpy(checkPath, buffer, MAX_PATH); - safe_strcat_path(checkPath, "Data", MAX_PATH); - safe_strcat_path(checkPath, "g1.dat", MAX_PATH); - return platform_file_exists(checkPath); + char buffer[MAX_PATH]; + platform_utf8_to_multibyte(path, buffer, MAX_PATH); + char checkPath[MAX_PATH]; + safe_strcpy(checkPath, buffer, MAX_PATH); + safe_strcat_path(checkPath, "Data", MAX_PATH); + safe_strcat_path(checkPath, "g1.dat", MAX_PATH); + return platform_file_exists(checkPath); } static mode_t getumask() { - mode_t mask = umask(0); - umask(mask); - return 0777 & ~mask; // Keep in mind 0777 is octal + mode_t mask = umask(0); + umask(mask); + return 0777 & ~mask; // Keep in mind 0777 is octal } bool platform_ensure_directory_exists(const utf8 *path) { - mode_t mask = getumask(); - char buffer[MAX_PATH]; - platform_utf8_to_multibyte(path, buffer, MAX_PATH); + mode_t mask = getumask(); + char buffer[MAX_PATH]; + platform_utf8_to_multibyte(path, buffer, MAX_PATH); - log_verbose("Create directory: %s", buffer); - for (char *p = buffer + 1; *p != '\0'; p++) { - if (*p == '/') { - // Temporarily truncate - *p = '\0'; + log_verbose("Create directory: %s", buffer); + for (char *p = buffer + 1; *p != '\0'; p++) { + if (*p == '/') { + // Temporarily truncate + *p = '\0'; - log_verbose("mkdir(%s)", buffer); - if (mkdir(buffer, mask) != 0) { - if (errno != EEXIST) { - return false; - } - } + log_verbose("mkdir(%s)", buffer); + if (mkdir(buffer, mask) != 0) { + if (errno != EEXIST) { + return false; + } + } - // Restore truncation - *p = '/'; - } - } + // Restore truncation + *p = '/'; + } + } - log_verbose("mkdir(%s)", buffer); - if (mkdir(buffer, mask) != 0) { - if (errno != EEXIST) { - return false; - } - } + log_verbose("mkdir(%s)", buffer); + if (mkdir(buffer, mask) != 0) { + if (errno != EEXIST) { + return false; + } + } - return true; + return true; } bool platform_directory_delete(const utf8 *path) { - log_verbose("Recursively deleting directory %s", path); + log_verbose("Recursively deleting directory %s", path); - FTS *ftsp; - FTSENT *p, *chp; + FTS *ftsp; + FTSENT *p, *chp; - // fts_open only accepts non const paths, so we have to take a copy - char* ourPath = _strdup(path); + // fts_open only accepts non const paths, so we have to take a copy + char* ourPath = _strdup(path); - utf8* const patharray[2] = {ourPath, NULL}; - if ((ftsp = fts_open(patharray, FTS_COMFOLLOW | FTS_LOGICAL | FTS_NOCHDIR, NULL)) == NULL) { - log_error("fts_open returned NULL"); - free(ourPath); - return false; - } + utf8* const patharray[2] = {ourPath, NULL}; + if ((ftsp = fts_open(patharray, FTS_COMFOLLOW | FTS_LOGICAL | FTS_NOCHDIR, NULL)) == NULL) { + log_error("fts_open returned NULL"); + free(ourPath); + return false; + } - chp = fts_children(ftsp, 0); - if (chp == NULL) { - log_verbose("No files to traverse, deleting directory %s", path); - if (remove(path) != 0) - { - log_error("Failed to remove %s, errno = %d", path, errno); - } - free(ourPath); - return true; // No files to traverse - } + chp = fts_children(ftsp, 0); + if (chp == NULL) { + log_verbose("No files to traverse, deleting directory %s", path); + if (remove(path) != 0) + { + log_error("Failed to remove %s, errno = %d", path, errno); + } + free(ourPath); + return true; // No files to traverse + } - while ((p = fts_read(ftsp)) != NULL) { - switch (p->fts_info) { - case FTS_DP: // Directory postorder, which means - // the directory is empty + while ((p = fts_read(ftsp)) != NULL) { + switch (p->fts_info) { + case FTS_DP: // Directory postorder, which means + // the directory is empty - case FTS_F: // File - if(remove(p->fts_path)) { - log_error("Could not remove %s", p->fts_path); - fts_close(ftsp); - free(ourPath); - return false; - } - break; - case FTS_ERR: - log_error("Error traversing %s", path); - fts_close(ftsp); - free(ourPath); - return false; - } - } + case FTS_F: // File + if(remove(p->fts_path)) { + log_error("Could not remove %s", p->fts_path); + fts_close(ftsp); + free(ourPath); + return false; + } + break; + case FTS_ERR: + log_error("Error traversing %s", path); + fts_close(ftsp); + free(ourPath); + return false; + } + } - free(ourPath); - fts_close(ftsp); + free(ourPath); + fts_close(ftsp); - return true; + return true; } utf8 * platform_get_absolute_path(const utf8 * relative_path, const utf8 * base_path) { - utf8 path[MAX_PATH]; - - if (base_path != NULL) - { - snprintf(path, MAX_PATH, "%s/%s", base_path, relative_path); - } - else - { - safe_strcpy(path, base_path, MAX_PATH); - } - return realpath(path,NULL); + utf8 path[MAX_PATH]; + + if (base_path != NULL) + { + snprintf(path, MAX_PATH, "%s/%s", base_path, relative_path); + } + else + { + safe_strcpy(path, base_path, MAX_PATH); + } + return realpath(path,NULL); } bool platform_lock_single_instance() { - char pidFilePath[MAX_PATH]; + char pidFilePath[MAX_PATH]; - safe_strcpy(pidFilePath, _userDataDirectoryPath, sizeof(pidFilePath)); - safe_strcat_path(pidFilePath, SINGLE_INSTANCE_MUTEX_NAME, sizeof(pidFilePath)); + safe_strcpy(pidFilePath, _userDataDirectoryPath, sizeof(pidFilePath)); + safe_strcat_path(pidFilePath, SINGLE_INSTANCE_MUTEX_NAME, sizeof(pidFilePath)); - // We will never close this file manually. The operating system will - // take care of that, because flock keeps the lock as long as the - // file is open and closes it automatically on file close. - // This is intentional. - sint32 pidFile = open(pidFilePath, O_CREAT | O_RDWR, 0666); + // We will never close this file manually. The operating system will + // take care of that, because flock keeps the lock as long as the + // file is open and closes it automatically on file close. + // This is intentional. + sint32 pidFile = open(pidFilePath, O_CREAT | O_RDWR, 0666); - if (pidFile == -1) { - log_warning("Cannot open lock file for writing."); - return false; - } - if (flock(pidFile, LOCK_EX | LOCK_NB) == -1) { - if (errno == EWOULDBLOCK) { - log_warning("Another OpenRCT2 session has been found running."); - return false; - } - log_error("flock returned an uncatched errno: %d", errno); - return false; - } - return true; + if (pidFile == -1) { + log_warning("Cannot open lock file for writing."); + return false; + } + if (flock(pidFile, LOCK_EX | LOCK_NB) == -1) { + if (errno == EWOULDBLOCK) { + log_warning("Another OpenRCT2 session has been found running."); + return false; + } + log_error("flock returned an uncatched errno: %d", errno); + return false; + } + return true; } typedef struct enumerate_file_info { - char active; - char pattern[MAX_PATH]; - struct dirent **fileListTemp; - char **paths; - sint32 cnt; - sint32 handle; - void* data; + char active; + char pattern[MAX_PATH]; + struct dirent **fileListTemp; + char **paths; + sint32 cnt; + sint32 handle; + void* data; } enumerate_file_info; static enumerate_file_info _enumerateFileInfoList[8] = { 0 }; @@ -303,172 +303,172 @@ char *g_file_pattern; static sint32 winfilter(const struct dirent *d) { - sint32 entry_length = strnlen(d->d_name, MAX_PATH); - char *name_upper = malloc(entry_length + 1); - if (name_upper == NULL) - { - log_error("out of memory"); - return 0; - } - for (sint32 i = 0; i < entry_length; i++) - { - name_upper[i] = (char)toupper(d->d_name[i]); - } - name_upper[entry_length] = '\0'; - bool match = fnmatch(g_file_pattern, name_upper, FNM_PATHNAME) == 0; - //log_verbose("trying matching filename %s, result = %d", name_upper, match); - free(name_upper); - return match; + sint32 entry_length = strnlen(d->d_name, MAX_PATH); + char *name_upper = malloc(entry_length + 1); + if (name_upper == NULL) + { + log_error("out of memory"); + return 0; + } + for (sint32 i = 0; i < entry_length; i++) + { + name_upper[i] = (char)toupper(d->d_name[i]); + } + name_upper[entry_length] = '\0'; + bool match = fnmatch(g_file_pattern, name_upper, FNM_PATHNAME) == 0; + //log_verbose("trying matching filename %s, result = %d", name_upper, match); + free(name_upper); + return match; } sint32 platform_enumerate_files_begin(const utf8 *pattern) { - char npattern[MAX_PATH]; - platform_utf8_to_multibyte(pattern, npattern, MAX_PATH); - enumerate_file_info *enumFileInfo; - log_verbose("begin file search, pattern: %s", npattern); + char npattern[MAX_PATH]; + platform_utf8_to_multibyte(pattern, npattern, MAX_PATH); + enumerate_file_info *enumFileInfo; + log_verbose("begin file search, pattern: %s", npattern); - char *file_name = strrchr(npattern, *PATH_SEPARATOR); - char *dir_name; - if (file_name != NULL) - { - dir_name = strndup(npattern, file_name - npattern); - file_name = &file_name[1]; - } else { - file_name = npattern; - dir_name = strdup("."); - } + char *file_name = strrchr(npattern, *PATH_SEPARATOR); + char *dir_name; + if (file_name != NULL) + { + dir_name = strndup(npattern, file_name - npattern); + file_name = &file_name[1]; + } else { + file_name = npattern; + dir_name = strdup("."); + } - sint32 pattern_length = strlen(file_name); - g_file_pattern = strndup(file_name, pattern_length); - for (sint32 j = 0; j < pattern_length; j++) - { - g_file_pattern[j] = (char)toupper(g_file_pattern[j]); - } - log_verbose("looking for file matching %s", g_file_pattern); - sint32 cnt; - for (sint32 i = 0; i < countof(_enumerateFileInfoList); i++) { - enumFileInfo = &_enumerateFileInfoList[i]; - if (!enumFileInfo->active) { - safe_strcpy(enumFileInfo->pattern, npattern, sizeof(enumFileInfo->pattern)); - cnt = scandir(dir_name, &enumFileInfo->fileListTemp, winfilter, alphasort); - if (cnt < 0) - { - break; - } - log_verbose("found %d files matching in dir '%s'", cnt, dir_name); - enumFileInfo->cnt = cnt; - enumFileInfo->paths = malloc(cnt * sizeof(char *)); - char **paths = enumFileInfo->paths; - // 256 is size of dirent.d_name - const sint32 dir_name_len = strnlen(dir_name, MAX_PATH); - for (sint32 idx = 0; idx < cnt; idx++) - { - struct dirent *d = enumFileInfo->fileListTemp[idx]; - const sint32 entry_len = strnlen(d->d_name, MAX_PATH); - // 1 for separator, 1 for trailing null - size_t path_len = sizeof(char) * min(MAX_PATH, entry_len + dir_name_len + 2); - paths[idx] = malloc(path_len); - log_verbose("dir_name: %s", dir_name); - safe_strcpy(paths[idx], dir_name, path_len); - safe_strcat_path(paths[idx], d->d_name, path_len); - log_verbose("paths[%d] = %s", idx, paths[idx]); + sint32 pattern_length = strlen(file_name); + g_file_pattern = strndup(file_name, pattern_length); + for (sint32 j = 0; j < pattern_length; j++) + { + g_file_pattern[j] = (char)toupper(g_file_pattern[j]); + } + log_verbose("looking for file matching %s", g_file_pattern); + sint32 cnt; + for (sint32 i = 0; i < countof(_enumerateFileInfoList); i++) { + enumFileInfo = &_enumerateFileInfoList[i]; + if (!enumFileInfo->active) { + safe_strcpy(enumFileInfo->pattern, npattern, sizeof(enumFileInfo->pattern)); + cnt = scandir(dir_name, &enumFileInfo->fileListTemp, winfilter, alphasort); + if (cnt < 0) + { + break; + } + log_verbose("found %d files matching in dir '%s'", cnt, dir_name); + enumFileInfo->cnt = cnt; + enumFileInfo->paths = malloc(cnt * sizeof(char *)); + char **paths = enumFileInfo->paths; + // 256 is size of dirent.d_name + const sint32 dir_name_len = strnlen(dir_name, MAX_PATH); + for (sint32 idx = 0; idx < cnt; idx++) + { + struct dirent *d = enumFileInfo->fileListTemp[idx]; + const sint32 entry_len = strnlen(d->d_name, MAX_PATH); + // 1 for separator, 1 for trailing null + size_t path_len = sizeof(char) * min(MAX_PATH, entry_len + dir_name_len + 2); + paths[idx] = malloc(path_len); + log_verbose("dir_name: %s", dir_name); + safe_strcpy(paths[idx], dir_name, path_len); + safe_strcat_path(paths[idx], d->d_name, path_len); + log_verbose("paths[%d] = %s", idx, paths[idx]); // macOS uses decomposed Unicode strings (e.g. an 'e' and a combining accent) in filenames // This causes problems with the sprite font, as the font only contains precomposed characters // The block below converts all filename strings to their precomposed form, preventing mojibake #ifdef __MACOSX__ - utf8* precomp_path = macos_str_decomp_to_precomp(paths[idx]); - size_t precomp_len = sizeof(utf8) * min(MAX_PATH, strnlen(precomp_path, MAX_PATH) + 2); - paths[idx] = malloc(precomp_len); - safe_strcpy(paths[idx], precomp_path, precomp_len); - log_verbose("macOS decomp-to-precomp fix - paths[%d] = %s", idx, paths[idx]); + utf8* precomp_path = macos_str_decomp_to_precomp(paths[idx]); + size_t precomp_len = sizeof(utf8) * min(MAX_PATH, strnlen(precomp_path, MAX_PATH) + 2); + paths[idx] = malloc(precomp_len); + safe_strcpy(paths[idx], precomp_path, precomp_len); + log_verbose("macOS decomp-to-precomp fix - paths[%d] = %s", idx, paths[idx]); #endif - } - enumFileInfo->handle = 0; - enumFileInfo->active = 1; - free(dir_name); - free(g_file_pattern); - g_file_pattern = NULL; - return i; - } - } + } + enumFileInfo->handle = 0; + enumFileInfo->active = 1; + free(dir_name); + free(g_file_pattern); + g_file_pattern = NULL; + return i; + } + } - free(dir_name); - free(g_file_pattern); - g_file_pattern = NULL; - return -1; + free(dir_name); + free(g_file_pattern); + g_file_pattern = NULL; + return -1; } bool platform_enumerate_files_next(sint32 handle, file_info *outFileInfo) { - if (handle < 0) - { - return false; - } - enumerate_file_info *enumFileInfo = &_enumerateFileInfoList[handle]; - bool result; + if (handle < 0) + { + return false; + } + enumerate_file_info *enumFileInfo = &_enumerateFileInfoList[handle]; + bool result; - if (enumFileInfo->handle < enumFileInfo->cnt) { - result = true; - } else { - result = false; - } + if (enumFileInfo->handle < enumFileInfo->cnt) { + result = true; + } else { + result = false; + } - if (result) { - sint32 entryIdx = enumFileInfo->handle++; - struct stat fileInfo; - log_verbose("trying handle %d", entryIdx); - char *fileName = enumFileInfo->paths[entryIdx]; - sint32 statRes; - statRes = stat(fileName, &fileInfo); - if (statRes == -1) { - log_error("failed to stat file '%s'! errno = %i", fileName, errno); - return false; - } - outFileInfo->path = basename(fileName); - outFileInfo->size = fileInfo.st_size; - outFileInfo->last_modified = fileInfo.st_mtime; - return true; - } else { - return false; - } + if (result) { + sint32 entryIdx = enumFileInfo->handle++; + struct stat fileInfo; + log_verbose("trying handle %d", entryIdx); + char *fileName = enumFileInfo->paths[entryIdx]; + sint32 statRes; + statRes = stat(fileName, &fileInfo); + if (statRes == -1) { + log_error("failed to stat file '%s'! errno = %i", fileName, errno); + return false; + } + outFileInfo->path = basename(fileName); + outFileInfo->size = fileInfo.st_size; + outFileInfo->last_modified = fileInfo.st_mtime; + return true; + } else { + return false; + } } void platform_enumerate_files_end(sint32 handle) { - if (handle < 0) - { - return; - } - enumerate_file_info *enumFileInfo = &_enumerateFileInfoList[handle]; - sint32 cnt = enumFileInfo->cnt; - for (sint32 i = 0; i < cnt; i++) { - free(enumFileInfo->fileListTemp[i]); - free(enumFileInfo->paths[i]); - } - free(enumFileInfo->fileListTemp); - free(enumFileInfo->paths); - // FIXME: this here could have a bug - enumFileInfo->fileListTemp = NULL; - enumFileInfo->handle = 0; - enumFileInfo->active = 0; + if (handle < 0) + { + return; + } + enumerate_file_info *enumFileInfo = &_enumerateFileInfoList[handle]; + sint32 cnt = enumFileInfo->cnt; + for (sint32 i = 0; i < cnt; i++) { + free(enumFileInfo->fileListTemp[i]); + free(enumFileInfo->paths[i]); + } + free(enumFileInfo->fileListTemp); + free(enumFileInfo->paths); + // FIXME: this here could have a bug + enumFileInfo->fileListTemp = NULL; + enumFileInfo->handle = 0; + enumFileInfo->active = 0; } static sint32 dirfilter(const struct dirent *d) { - if (d->d_name[0] == '.') { - return 0; - } + if (d->d_name[0] == '.') { + return 0; + } #if defined(_DIRENT_HAVE_D_TYPE) || defined(DT_UNKNOWN) - if (d->d_type == DT_DIR || d->d_type == DT_LNK) - { - return 1; - } else { - return 0; - } + if (d->d_type == DT_DIR || d->d_type == DT_LNK) + { + return 1; + } else { + return 0; + } #else #error implement dirfilter! #endif // defined(_DIRENT_HAVE_D_TYPE) || defined(DT_UNKNOWN) @@ -476,197 +476,197 @@ static sint32 dirfilter(const struct dirent *d) sint32 platform_enumerate_directories_begin(const utf8 *directory) { - char npattern[MAX_PATH]; - sint32 length = platform_utf8_to_multibyte(directory, npattern, MAX_PATH) + 1; - enumerate_file_info *enumFileInfo; - log_verbose("begin directory listing, path: %s", npattern); + char npattern[MAX_PATH]; + sint32 length = platform_utf8_to_multibyte(directory, npattern, MAX_PATH) + 1; + enumerate_file_info *enumFileInfo; + log_verbose("begin directory listing, path: %s", npattern); - // TODO: add some checking for stringness and directoryness + // TODO: add some checking for stringness and directoryness - sint32 cnt; - for (sint32 i = 0; i < countof(_enumerateFileInfoList); i++) { - enumFileInfo = &_enumerateFileInfoList[i]; - if (!enumFileInfo->active) { - safe_strcpy(enumFileInfo->pattern, npattern, length); - cnt = scandir(npattern, &enumFileInfo->fileListTemp, dirfilter, alphasort); - if (cnt < 0) - { - break; - } - log_verbose("found %d files in dir '%s'", cnt, npattern); - enumFileInfo->cnt = cnt; - enumFileInfo->paths = malloc(cnt * sizeof(char *)); - char **paths = enumFileInfo->paths; - // 256 is size of dirent.d_name - const sint32 dir_name_len = strnlen(npattern, MAX_PATH); - for (sint32 idx = 0; idx < cnt; idx++) - { - struct dirent *d = enumFileInfo->fileListTemp[idx]; - const sint32 entry_len = strnlen(d->d_name, MAX_PATH); - // 1 for separator, 1 for trailing null - size_t path_len = sizeof(char) * min(MAX_PATH, entry_len + dir_name_len + 2); - paths[idx] = malloc(path_len); - log_verbose("dir_name: %s", npattern); - safe_strcpy(paths[idx], npattern, path_len); - safe_strcat_path(paths[idx], d->d_name, path_len); - log_verbose("paths[%d] = %s", idx, paths[idx]); - } - enumFileInfo->handle = 0; - enumFileInfo->active = 1; - return i; - } - } + sint32 cnt; + for (sint32 i = 0; i < countof(_enumerateFileInfoList); i++) { + enumFileInfo = &_enumerateFileInfoList[i]; + if (!enumFileInfo->active) { + safe_strcpy(enumFileInfo->pattern, npattern, length); + cnt = scandir(npattern, &enumFileInfo->fileListTemp, dirfilter, alphasort); + if (cnt < 0) + { + break; + } + log_verbose("found %d files in dir '%s'", cnt, npattern); + enumFileInfo->cnt = cnt; + enumFileInfo->paths = malloc(cnt * sizeof(char *)); + char **paths = enumFileInfo->paths; + // 256 is size of dirent.d_name + const sint32 dir_name_len = strnlen(npattern, MAX_PATH); + for (sint32 idx = 0; idx < cnt; idx++) + { + struct dirent *d = enumFileInfo->fileListTemp[idx]; + const sint32 entry_len = strnlen(d->d_name, MAX_PATH); + // 1 for separator, 1 for trailing null + size_t path_len = sizeof(char) * min(MAX_PATH, entry_len + dir_name_len + 2); + paths[idx] = malloc(path_len); + log_verbose("dir_name: %s", npattern); + safe_strcpy(paths[idx], npattern, path_len); + safe_strcat_path(paths[idx], d->d_name, path_len); + log_verbose("paths[%d] = %s", idx, paths[idx]); + } + enumFileInfo->handle = 0; + enumFileInfo->active = 1; + return i; + } + } - return -1; + return -1; } bool platform_enumerate_directories_next(sint32 handle, utf8 *path) { - if (handle < 0) - { - return false; - } + if (handle < 0) + { + return false; + } - bool result; - enumerate_file_info *enumFileInfo = &_enumerateFileInfoList[handle]; + bool result; + enumerate_file_info *enumFileInfo = &_enumerateFileInfoList[handle]; - log_verbose("handle = %d", handle); - if (enumFileInfo->handle < enumFileInfo->cnt) { - result = true; - } else { - result = false; - } + log_verbose("handle = %d", handle); + if (enumFileInfo->handle < enumFileInfo->cnt) { + result = true; + } else { + result = false; + } - if (result) { - sint32 entryIdx = enumFileInfo->handle++; - struct stat fileInfo; - char *fileName = enumFileInfo->paths[entryIdx]; - sint32 statRes; - statRes = stat(fileName, &fileInfo); - if (statRes == -1) { - log_error("failed to stat file '%s'! errno = %i", fileName, errno); - return false; - } - // so very, very wrong - safe_strcpy(path, basename(fileName), MAX_PATH); - path_end_with_separator(path, MAX_PATH); - return true; - } else { - return false; - } + if (result) { + sint32 entryIdx = enumFileInfo->handle++; + struct stat fileInfo; + char *fileName = enumFileInfo->paths[entryIdx]; + sint32 statRes; + statRes = stat(fileName, &fileInfo); + if (statRes == -1) { + log_error("failed to stat file '%s'! errno = %i", fileName, errno); + return false; + } + // so very, very wrong + safe_strcpy(path, basename(fileName), MAX_PATH); + path_end_with_separator(path, MAX_PATH); + return true; + } else { + return false; + } } void platform_enumerate_directories_end(sint32 handle) { - if (handle < 0) - { - return; - } - enumerate_file_info *enumFileInfo = &_enumerateFileInfoList[handle]; - sint32 cnt = enumFileInfo->cnt; - for (sint32 i = 0; i < cnt; i++) { - free(enumFileInfo->fileListTemp[i]); - free(enumFileInfo->paths[i]); - } - free(enumFileInfo->fileListTemp); - free(enumFileInfo->paths); - // FIXME: this here could have a bug - enumFileInfo->fileListTemp = NULL; - enumFileInfo->handle = 0; - enumFileInfo->active = 0; + if (handle < 0) + { + return; + } + enumerate_file_info *enumFileInfo = &_enumerateFileInfoList[handle]; + sint32 cnt = enumFileInfo->cnt; + for (sint32 i = 0; i < cnt; i++) { + free(enumFileInfo->fileListTemp[i]); + free(enumFileInfo->paths[i]); + } + free(enumFileInfo->fileListTemp); + free(enumFileInfo->paths); + // FIXME: this here could have a bug + enumFileInfo->fileListTemp = NULL; + enumFileInfo->handle = 0; + enumFileInfo->active = 0; } sint32 platform_get_drives(){ - // POSIX systems do not know drives. Return 0. - return 0; + // POSIX systems do not know drives. Return 0. + return 0; } bool platform_file_copy(const utf8 *srcPath, const utf8 *dstPath, bool overwrite) { - log_verbose("Copying %s to %s", srcPath, dstPath); + log_verbose("Copying %s to %s", srcPath, dstPath); - FILE *dstFile; + FILE *dstFile; - if (overwrite) { - dstFile = fopen(dstPath, "wb"); - } else { - // Portability note: check your libc's support for "wbx" - dstFile = fopen(dstPath, "wbx"); - } + if (overwrite) { + dstFile = fopen(dstPath, "wb"); + } else { + // Portability note: check your libc's support for "wbx" + dstFile = fopen(dstPath, "wbx"); + } - if (dstFile == NULL) { - if (errno == EEXIST) { - log_warning("platform_file_copy: Not overwriting %s, because overwrite flag == false", dstPath); - return false; - } + if (dstFile == NULL) { + if (errno == EEXIST) { + log_warning("platform_file_copy: Not overwriting %s, because overwrite flag == false", dstPath); + return false; + } - log_error("Could not open destination file %s for copying", dstPath); - return false; - } + log_error("Could not open destination file %s for copying", dstPath); + return false; + } - // Open both files and check whether they are opened correctly - FILE *srcFile = fopen(srcPath, "rb"); - if (srcFile == NULL) { - fclose(dstFile); - log_error("Could not open source file %s for copying", srcPath); - return false; - } + // Open both files and check whether they are opened correctly + FILE *srcFile = fopen(srcPath, "rb"); + if (srcFile == NULL) { + fclose(dstFile); + log_error("Could not open source file %s for copying", srcPath); + return false; + } - size_t amount_read = 0; - size_t file_offset = 0; + size_t amount_read = 0; + size_t file_offset = 0; - // Copy file in FILE_BUFFER_SIZE-d chunks - char* buffer = (char*) malloc(FILE_BUFFER_SIZE); - while ((amount_read = fread(buffer, FILE_BUFFER_SIZE, 1, srcFile))) { - fwrite(buffer, amount_read, 1, dstFile); - file_offset += amount_read; - } + // Copy file in FILE_BUFFER_SIZE-d chunks + char* buffer = (char*) malloc(FILE_BUFFER_SIZE); + while ((amount_read = fread(buffer, FILE_BUFFER_SIZE, 1, srcFile))) { + fwrite(buffer, amount_read, 1, dstFile); + file_offset += amount_read; + } - // Finish the left-over data from file, which may not be a full - // FILE_BUFFER_SIZE-d chunk. - fseek(srcFile, file_offset, SEEK_SET); - amount_read = fread(buffer, 1, FILE_BUFFER_SIZE, srcFile); - fwrite(buffer, amount_read, 1, dstFile); + // Finish the left-over data from file, which may not be a full + // FILE_BUFFER_SIZE-d chunk. + fseek(srcFile, file_offset, SEEK_SET); + amount_read = fread(buffer, 1, FILE_BUFFER_SIZE, srcFile); + fwrite(buffer, amount_read, 1, dstFile); - fclose(srcFile); - fclose(dstFile); - free(buffer); + fclose(srcFile); + fclose(dstFile); + free(buffer); - return true; + return true; } bool platform_file_move(const utf8 *srcPath, const utf8 *dstPath) { - return rename(srcPath, dstPath) == 0; + return rename(srcPath, dstPath) == 0; } bool platform_file_delete(const utf8 *path) { - sint32 ret = unlink(path); - return ret == 0; + sint32 ret = unlink(path); + return ret == 0; } static wchar_t *regular_to_wchar(const char* src) { - sint32 len = strnlen(src, MAX_PATH); - wchar_t *w_buffer = malloc((len + 1) * sizeof(wchar_t)); - mbtowc (NULL, NULL, 0); /* reset mbtowc */ + sint32 len = strnlen(src, MAX_PATH); + wchar_t *w_buffer = malloc((len + 1) * sizeof(wchar_t)); + mbtowc (NULL, NULL, 0); /* reset mbtowc */ - sint32 max = len; - sint32 i = 0; - while (max > 0) - { - sint32 length; - length = mbtowc(&w_buffer[i], &src[i], max); - if (length < 1) - { - w_buffer[i + 1] = '\0'; - break; - } - i += length; - max -= length; - } - return w_buffer; + sint32 max = len; + sint32 i = 0; + while (max > 0) + { + sint32 length; + length = mbtowc(&w_buffer[i], &src[i], max); + if (length < 1) + { + w_buffer[i + 1] = '\0'; + break; + } + i += length; + max -= length; + } + return w_buffer; } /** @@ -677,49 +677,49 @@ static wchar_t *regular_to_wchar(const char* src) void platform_resolve_user_data_path() { - if (gCustomUserDataPath[0] != 0) { - if (!platform_ensure_directory_exists(gCustomUserDataPath)) { - log_error("Failed to create directory \"%s\", make sure you have permissions.", gCustomUserDataPath); - return; - } - char *path; - if ((path = realpath(gCustomUserDataPath, NULL)) == NULL) { - log_error("Could not resolve path \"%s\"", gCustomUserDataPath); - return; - } + if (gCustomUserDataPath[0] != 0) { + if (!platform_ensure_directory_exists(gCustomUserDataPath)) { + log_error("Failed to create directory \"%s\", make sure you have permissions.", gCustomUserDataPath); + return; + } + char *path; + if ((path = realpath(gCustomUserDataPath, NULL)) == NULL) { + log_error("Could not resolve path \"%s\"", gCustomUserDataPath); + return; + } - safe_strcpy(_userDataDirectoryPath, path, MAX_PATH); - free(path); + safe_strcpy(_userDataDirectoryPath, path, MAX_PATH); + free(path); - // Ensure path ends with separator - path_end_with_separator(_userDataDirectoryPath, MAX_PATH); - log_verbose("User data path resolved to: %s", _userDataDirectoryPath); - if (!platform_directory_exists(_userDataDirectoryPath)) { - log_error("Custom user data directory %s does not exist", _userDataDirectoryPath); - } - return; - } + // Ensure path ends with separator + path_end_with_separator(_userDataDirectoryPath, MAX_PATH); + log_verbose("User data path resolved to: %s", _userDataDirectoryPath); + if (!platform_directory_exists(_userDataDirectoryPath)) { + log_error("Custom user data directory %s does not exist", _userDataDirectoryPath); + } + return; + } - char buffer[MAX_PATH]; - log_verbose("buffer = '%s'", buffer); + char buffer[MAX_PATH]; + log_verbose("buffer = '%s'", buffer); - const char *homedir = getpwuid(getuid())->pw_dir; - platform_posix_sub_user_data_path(buffer, MAX_PATH, homedir); + const char *homedir = getpwuid(getuid())->pw_dir; + platform_posix_sub_user_data_path(buffer, MAX_PATH, homedir); - log_verbose("OpenRCT2 user data directory = '%s'", buffer); - sint32 len = strnlen(buffer, MAX_PATH); - wchar_t *w_buffer = regular_to_wchar(buffer); - w_buffer[len] = '\0'; - utf8 *path = widechar_to_utf8(w_buffer); - free(w_buffer); - safe_strcpy(_userDataDirectoryPath, path, MAX_PATH); - free(path); - log_verbose("User data path resolved to: %s", _userDataDirectoryPath); + log_verbose("OpenRCT2 user data directory = '%s'", buffer); + sint32 len = strnlen(buffer, MAX_PATH); + wchar_t *w_buffer = regular_to_wchar(buffer); + w_buffer[len] = '\0'; + utf8 *path = widechar_to_utf8(w_buffer); + free(w_buffer); + safe_strcpy(_userDataDirectoryPath, path, MAX_PATH); + free(path); + log_verbose("User data path resolved to: %s", _userDataDirectoryPath); } void platform_get_openrct_data_path(utf8 *outPath, size_t outSize) { - safe_strcpy(outPath, _openrctDataDirectoryPath, outSize); + safe_strcpy(outPath, _openrctDataDirectoryPath, outSize); } /** @@ -730,114 +730,114 @@ void platform_get_openrct_data_path(utf8 *outPath, size_t outSize) */ void platform_resolve_openrct_data_path() { - if (gCustomOpenrctDataPath[0] != 0) { - // NOTE: second argument to `realpath` is meant to either be NULL or `PATH_MAX`-sized buffer, - // since our `MAX_PATH` macro is set to some other value, pass NULL to have `realpath` return - // a `malloc`ed buffer. - char *resolved_path = realpath(gCustomOpenrctDataPath, NULL); - if (resolved_path == NULL) { - log_error("Could not resolve path \"%s\", errno = %d", gCustomOpenrctDataPath, errno); - return; - } else { - safe_strcpy(_openrctDataDirectoryPath, resolved_path, MAX_PATH); - free(resolved_path); - } + if (gCustomOpenrctDataPath[0] != 0) { + // NOTE: second argument to `realpath` is meant to either be NULL or `PATH_MAX`-sized buffer, + // since our `MAX_PATH` macro is set to some other value, pass NULL to have `realpath` return + // a `malloc`ed buffer. + char *resolved_path = realpath(gCustomOpenrctDataPath, NULL); + if (resolved_path == NULL) { + log_error("Could not resolve path \"%s\", errno = %d", gCustomOpenrctDataPath, errno); + return; + } else { + safe_strcpy(_openrctDataDirectoryPath, resolved_path, MAX_PATH); + free(resolved_path); + } - path_end_with_separator(_openrctDataDirectoryPath, MAX_PATH); - return; - } + path_end_with_separator(_openrctDataDirectoryPath, MAX_PATH); + return; + } - char buffer[MAX_PATH]; - platform_get_exe_path(buffer, sizeof(buffer)); + char buffer[MAX_PATH]; + platform_get_exe_path(buffer, sizeof(buffer)); - safe_strcat_path(buffer, "data", MAX_PATH); - log_verbose("Looking for OpenRCT2 data in %s", buffer); - if (platform_directory_exists(buffer)) - { - _openrctDataDirectoryPath[0] = '\0'; - safe_strcpy(_openrctDataDirectoryPath, buffer, MAX_PATH); - log_verbose("Found OpenRCT2 data in %s", _openrctDataDirectoryPath); - return; - } + safe_strcat_path(buffer, "data", MAX_PATH); + log_verbose("Looking for OpenRCT2 data in %s", buffer); + if (platform_directory_exists(buffer)) + { + _openrctDataDirectoryPath[0] = '\0'; + safe_strcpy(_openrctDataDirectoryPath, buffer, MAX_PATH); + log_verbose("Found OpenRCT2 data in %s", _openrctDataDirectoryPath); + return; + } - platform_posix_sub_resolve_openrct_data_path(_openrctDataDirectoryPath, sizeof(_openrctDataDirectoryPath)); - log_verbose("Trying to use OpenRCT2 data in %s", _openrctDataDirectoryPath); + platform_posix_sub_resolve_openrct_data_path(_openrctDataDirectoryPath, sizeof(_openrctDataDirectoryPath)); + log_verbose("Trying to use OpenRCT2 data in %s", _openrctDataDirectoryPath); } void platform_get_user_directory(utf8 *outPath, const utf8 *subDirectory, size_t outSize) { - char buffer[MAX_PATH]; - safe_strcpy(buffer, _userDataDirectoryPath, sizeof(buffer)); - if (subDirectory != NULL && subDirectory[0] != 0) { - log_verbose("adding subDirectory '%s'", subDirectory); - safe_strcat_path(buffer, subDirectory, sizeof(buffer)); - path_end_with_separator(buffer, sizeof(buffer)); - } - sint32 len = strnlen(buffer, MAX_PATH); - wchar_t *w_buffer = regular_to_wchar(buffer); - w_buffer[len] = '\0'; - utf8 *path = widechar_to_utf8(w_buffer); - free(w_buffer); - safe_strcpy(outPath, path, outSize); - free(path); - log_verbose("outPath + subDirectory = '%s'", buffer); + char buffer[MAX_PATH]; + safe_strcpy(buffer, _userDataDirectoryPath, sizeof(buffer)); + if (subDirectory != NULL && subDirectory[0] != 0) { + log_verbose("adding subDirectory '%s'", subDirectory); + safe_strcat_path(buffer, subDirectory, sizeof(buffer)); + path_end_with_separator(buffer, sizeof(buffer)); + } + sint32 len = strnlen(buffer, MAX_PATH); + wchar_t *w_buffer = regular_to_wchar(buffer); + w_buffer[len] = '\0'; + utf8 *path = widechar_to_utf8(w_buffer); + free(w_buffer); + safe_strcpy(outPath, path, outSize); + free(path); + log_verbose("outPath + subDirectory = '%s'", buffer); } time_t platform_file_get_modified_time(const utf8* path){ - struct stat buf; - if (stat(path, &buf) == 0) { - return buf.st_mtime; - } - return 100; + struct stat buf; + if (stat(path, &buf) == 0) { + return buf.st_mtime; + } + return 100; } uint8 platform_get_locale_temperature_format(){ // LC_MEASUREMENT is GNU specific. #ifdef LC_MEASUREMENT - const char *langstring = setlocale(LC_MEASUREMENT, ""); + const char *langstring = setlocale(LC_MEASUREMENT, ""); #else - const char *langstring = setlocale(LC_ALL, ""); + const char *langstring = setlocale(LC_ALL, ""); #endif - if(langstring != NULL){ - if (!fnmatch("*_US*", langstring, 0) || - !fnmatch("*_BS*", langstring, 0) || - !fnmatch("*_BZ*", langstring, 0) || - !fnmatch("*_PW*", langstring, 0)) - { - return TEMPERATURE_FORMAT_F; - } - } - return TEMPERATURE_FORMAT_C; + if(langstring != NULL){ + if (!fnmatch("*_US*", langstring, 0) || + !fnmatch("*_BS*", langstring, 0) || + !fnmatch("*_BZ*", langstring, 0) || + !fnmatch("*_PW*", langstring, 0)) + { + return TEMPERATURE_FORMAT_F; + } + } + return TEMPERATURE_FORMAT_C; } uint8 platform_get_locale_date_format() { - return DATE_FORMAT_DAY_MONTH_YEAR; + return DATE_FORMAT_DAY_MONTH_YEAR; } datetime64 platform_get_datetime_now_utc() { - const datetime64 epochAsTicks = 621355968000000000; + const datetime64 epochAsTicks = 621355968000000000; - struct timeval tv; - gettimeofday(&tv, NULL); + struct timeval tv; + gettimeofday(&tv, NULL); - // Epoch starts from: 1970-01-01T00:00:00Z - // Convert to ticks from 0001-01-01T00:00:00Z - uint64 utcEpochTicks = (uint64)tv.tv_sec * 10000000ULL + tv.tv_usec * 10; - datetime64 utcNow = epochAsTicks + utcEpochTicks; - return utcNow; + // Epoch starts from: 1970-01-01T00:00:00Z + // Convert to ticks from 0001-01-01T00:00:00Z + uint64 utcEpochTicks = (uint64)tv.tv_sec * 10000000ULL + tv.tv_usec * 10; + datetime64 utcNow = epochAsTicks + utcEpochTicks; + return utcNow; } utf8* platform_get_username() { - struct passwd* pw = getpwuid(getuid()); + struct passwd* pw = getpwuid(getuid()); - if (pw) { - return pw->pw_name; - } else { - return NULL; - } + if (pw) { + return pw->pw_name; + } else { + return NULL; + } } #endif diff --git a/src/openrct2/platform/shared.c b/src/openrct2/platform/shared.c index 669f88da7b..b3d6d14231 100644 --- a/src/openrct2/platform/shared.c +++ b/src/openrct2/platform/shared.c @@ -40,15 +40,15 @@ #include "platform.h" #ifdef __APPLE__ - #include - #include - #ifndef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - #error Missing __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ define - #endif + #include + #include + #ifndef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ + #error Missing __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ define + #endif #endif #if defined(__APPLE__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101200) - mach_timebase_info_data_t _mach_base_info = { 0 }; + mach_timebase_info_data_t _mach_base_info = { 0 }; #endif typedef void(*update_palette_func)(const uint8*, sint32, sint32); @@ -57,120 +57,120 @@ rct_palette_entry gPalette[256]; void platform_draw() { - if (!gOpenRCT2Headless) { - drawing_engine_draw(); - } + if (!gOpenRCT2Headless) { + drawing_engine_draw(); + } } static uint8 soft_light(uint8 a, uint8 b) { - float fa = a / 255.0f; - float fb = b / 255.0f; - float fr; - if (fb < 0.5f) { - fr = (2 * fa * fb) + ((fa * fa) * (1 - (2 * fb))); - } else { - fr = (2 * fa * (1 - fb)) + (sqrtf(fa) * ((2 * fb) - 1)); - } - return (uint8)(clamp(0.0f, fr, 1.0f) * 255.0f); + float fa = a / 255.0f; + float fb = b / 255.0f; + float fr; + if (fb < 0.5f) { + fr = (2 * fa * fb) + ((fa * fa) * (1 - (2 * fb))); + } else { + fr = (2 * fa * (1 - fb)) + (sqrtf(fa) * ((2 * fb) - 1)); + } + return (uint8)(clamp(0.0f, fr, 1.0f) * 255.0f); } static uint8 lerp(uint8 a, uint8 b, float t) { - if (t <= 0) return a; - if (t >= 1) return b; + if (t <= 0) return a; + if (t >= 1) return b; - sint32 range = b - a; - sint32 amount = (sint32)(range * t); - return (uint8)(a + amount); + sint32 range = b - a; + sint32 amount = (sint32)(range * t); + return (uint8)(a + amount); } void platform_update_palette(const uint8* colours, sint32 start_index, sint32 num_colours) { - colours += start_index * 4; + colours += start_index * 4; - for (sint32 i = start_index; i < num_colours + start_index; i++) { - uint8 r = colours[2]; - uint8 g = colours[1]; - uint8 b = colours[0]; + for (sint32 i = start_index; i < num_colours + start_index; i++) { + uint8 r = colours[2]; + uint8 g = colours[1]; + uint8 b = colours[0]; #ifdef __ENABLE_LIGHTFX__ - if (gConfigGeneral.enable_light_fx) - { - lightfx_apply_palette_filter(i, &r, &g, &b); - } - else + if (gConfigGeneral.enable_light_fx) + { + lightfx_apply_palette_filter(i, &r, &g, &b); + } + else #endif - { - float night = gDayNightCycle; - if (night >= 0 && gClimateLightningFlash == 0) { - r = lerp(r, soft_light(r, 8), night); - g = lerp(g, soft_light(g, 8), night); - b = lerp(b, soft_light(b, 128), night); - } - } + { + float night = gDayNightCycle; + if (night >= 0 && gClimateLightningFlash == 0) { + r = lerp(r, soft_light(r, 8), night); + g = lerp(g, soft_light(g, 8), night); + b = lerp(b, soft_light(b, 128), night); + } + } - gPalette[i].red = r; - gPalette[i].green = g; - gPalette[i].blue = b; - gPalette[i].alpha = 0; - colours += 4; - } + gPalette[i].red = r; + gPalette[i].green = g; + gPalette[i].blue = b; + gPalette[i].alpha = 0; + colours += 4; + } - if (!gOpenRCT2Headless) { - drawing_engine_set_palette(gPalette); - } + if (!gOpenRCT2Headless) { + drawing_engine_set_palette(gPalette); + } } void platform_init() { - // gKeysPressed = malloc(sizeof(uint8) * 256); - // memset(gKeysPressed, 0, sizeof(uint8) * 256); + // gKeysPressed = malloc(sizeof(uint8) * 256); + // memset(gKeysPressed, 0, sizeof(uint8) * 256); - // Set the highest palette entry to white. - // This fixes a bug with the TT:rainbow road due to the - // image not using the correct white palette entry. - gPalette[255].alpha = 0; - gPalette[255].red = 255; - gPalette[255].green = 255; - gPalette[255].blue = 255; + // Set the highest palette entry to white. + // This fixes a bug with the TT:rainbow road due to the + // image not using the correct white palette entry. + gPalette[255].alpha = 0; + gPalette[255].red = 255; + gPalette[255].green = 255; + gPalette[255].blue = 255; } sint32 platform_scancode_to_rct_keycode(sint32 sdl_key) { - char keycode = (char)SDL_GetKeyFromScancode((SDL_Scancode)sdl_key); + char keycode = (char)SDL_GetKeyFromScancode((SDL_Scancode)sdl_key); - // Until we reshuffle the text files to use the new positions - // this will suffice to move the majority to the correct positions. - // Note any special buttons PgUp PgDwn are mapped wrong. - if (keycode >= 'a' && keycode <= 'z') - keycode = toupper(keycode); + // Until we reshuffle the text files to use the new positions + // this will suffice to move the majority to the correct positions. + // Note any special buttons PgUp PgDwn are mapped wrong. + if (keycode >= 'a' && keycode <= 'z') + keycode = toupper(keycode); - return keycode; + return keycode; } void platform_free() { - // free(gKeysPressed); + // free(gKeysPressed); } void platform_toggle_windowed_mode() { - sint32 targetMode = gConfigGeneral.fullscreen_mode == 0 ? 2 : 0; - context_set_fullscreen_mode(targetMode); - gConfigGeneral.fullscreen_mode = targetMode; - config_save_default(); + sint32 targetMode = gConfigGeneral.fullscreen_mode == 0 ? 2 : 0; + context_set_fullscreen_mode(targetMode); + gConfigGeneral.fullscreen_mode = targetMode; + config_save_default(); } void platform_refresh_video() { - SDL_SetHint(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, gConfigGeneral.minimize_fullscreen_focus_loss ? "1" : "0"); + SDL_SetHint(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, gConfigGeneral.minimize_fullscreen_focus_loss ? "1" : "0"); - drawing_engine_dispose(); - drawing_engine_init(); - drawing_engine_resize(); - drawing_engine_set_palette(gPalette); - gfx_invalidate_screen(); + drawing_engine_dispose(); + drawing_engine_init(); + drawing_engine_resize(); + drawing_engine_set_palette(gPalette); + gfx_invalidate_screen(); } uint32 platform_get_ticks() @@ -178,7 +178,7 @@ uint32 platform_get_ticks() #ifdef _WIN32 return GetTickCount(); #elif defined(__APPLE__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101200) - return (uint32)(((mach_absolute_time() * _mach_base_info.numer) / _mach_base_info.denom) / 1000000); + return (uint32)(((mach_absolute_time() * _mach_base_info.numer) / _mach_base_info.denom) / 1000000); #else struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts) != 0) { @@ -195,34 +195,34 @@ void platform_sleep(uint32 ms) } uint8 platform_get_currency_value(const char *currCode) { - if (currCode == NULL || strlen(currCode) < 3) { - return CURRENCY_POUNDS; - } + if (currCode == NULL || strlen(currCode) < 3) { + return CURRENCY_POUNDS; + } - for (sint32 currency = 0; currency < CURRENCY_END; ++currency) { - if (strncmp(currCode, CurrencyDescriptors[currency].isoCode, 3) == 0) { - return currency; - } - } + for (sint32 currency = 0; currency < CURRENCY_END; ++currency) { + if (strncmp(currCode, CurrencyDescriptors[currency].isoCode, 3) == 0) { + return currency; + } + } - return CURRENCY_POUNDS; + return CURRENCY_POUNDS; } void core_init() { - static bool initialised = false; - if (!initialised) - { - initialised = true; + static bool initialised = false; + if (!initialised) + { + initialised = true; - bitcount_init(); + bitcount_init(); #if defined(__APPLE__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101200) - kern_return_t ret = mach_timebase_info(&_mach_base_info); - if (ret != 0) { - log_fatal("Unable to get mach_timebase_info."); - exit(-1); - } + kern_return_t ret = mach_timebase_info(&_mach_base_info); + if (ret != 0) { + log_fatal("Unable to get mach_timebase_info."); + exit(-1); + } #endif - } + } } diff --git a/src/openrct2/platform/windows.c b/src/openrct2/platform/windows.c index 2dda401bac..232cc5677a 100644 --- a/src/openrct2/platform/windows.c +++ b/src/openrct2/platform/windows.c @@ -59,10 +59,10 @@ static HMODULE _dllModule = NULL; static HMODULE plaform_get_dll_module() { - if (_dllModule == NULL) { - _dllModule = GetModuleHandle(NULL); - } - return _dllModule; + if (_dllModule == NULL) { + _dllModule = GetModuleHandle(NULL); + } + return _dllModule; } #ifndef NO_RCT2 @@ -77,8 +77,8 @@ static HMODULE plaform_get_dll_module() */ BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, LPVOID lpReserved) { - _dllModule = hModule; - return TRUE; + _dllModule = hModule; + return TRUE; } #endif // __MINGW32__ @@ -88,190 +88,190 @@ BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, LPVOID lpReserved) */ __declspec(dllexport) sint32 StartOpenRCT(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, sint32 nCmdShow) { - sint32 argc; - char **argv; + sint32 argc; + char **argv; - if (_dllModule == NULL) { - _dllModule = GetModuleHandleA(OPENRCT2_DLL_MODULE_NAME); - } + if (_dllModule == NULL) { + _dllModule = GetModuleHandleA(OPENRCT2_DLL_MODULE_NAME); + } - core_init(); + core_init(); - argv = (char**)windows_get_command_line_args(&argc); - sint32 exitCode = cmdline_run((const char **)argv, argc); + argv = (char**)windows_get_command_line_args(&argc); + sint32 exitCode = cmdline_run((const char **)argv, argc); - // Free argv - for (sint32 i = 0; i < argc; i++) { - free(argv[i]); - } - free(argv); + // Free argv + for (sint32 i = 0; i < argc; i++) { + free(argv[i]); + } + free(argv); - if (exitCode == 1) { - openrct2_launch(); - exitCode = gExitCode; - } + if (exitCode == 1) { + openrct2_launch(); + exitCode = gExitCode; + } - exit(exitCode); + exit(exitCode); } #endif // NO_RCT2 utf8 **windows_get_command_line_args(int *outNumArgs) { - sint32 argc; + sint32 argc; - // Get command line arguments as widechar - LPWSTR commandLine = GetCommandLineW(); - LPWSTR *argvW = CommandLineToArgvW(commandLine, &argc); + // Get command line arguments as widechar + LPWSTR commandLine = GetCommandLineW(); + LPWSTR *argvW = CommandLineToArgvW(commandLine, &argc); - // Convert to UTF-8 - utf8 **argvUtf8 = (utf8**)malloc(argc * sizeof(utf8*)); - for (sint32 i = 0; i < argc; i++) { - argvUtf8[i] = widechar_to_utf8(argvW[i]); - } - LocalFree(argvW); + // Convert to UTF-8 + utf8 **argvUtf8 = (utf8**)malloc(argc * sizeof(utf8*)); + for (sint32 i = 0; i < argc; i++) { + argvUtf8[i] = widechar_to_utf8(argvW[i]); + } + LocalFree(argvW); - *outNumArgs = argc; - return argvUtf8; + *outNumArgs = argc; + return argvUtf8; } void platform_get_date_local(rct2_date *out_date) { - assert(out_date != NULL); - SYSTEMTIME systime; + assert(out_date != NULL); + SYSTEMTIME systime; - GetLocalTime(&systime); - out_date->day = systime.wDay; - out_date->month = systime.wMonth; - out_date->year = systime.wYear; - out_date->day_of_week = systime.wDayOfWeek; + GetLocalTime(&systime); + out_date->day = systime.wDay; + out_date->month = systime.wMonth; + out_date->year = systime.wYear; + out_date->day_of_week = systime.wDayOfWeek; } void platform_get_time_local(rct2_time *out_time) { - assert(out_time != NULL); - SYSTEMTIME systime; - GetLocalTime(&systime); - out_time->hour = systime.wHour; - out_time->minute = systime.wMinute; - out_time->second = systime.wSecond; + assert(out_time != NULL); + SYSTEMTIME systime; + GetLocalTime(&systime); + out_time->hour = systime.wHour; + out_time->minute = systime.wMinute; + out_time->second = systime.wSecond; } bool platform_file_exists(const utf8 *path) { - wchar_t *wPath = utf8_to_widechar(path); - DWORD result = GetFileAttributesW(wPath); - DWORD error = GetLastError(); - free(wPath); - return !(result == INVALID_FILE_ATTRIBUTES && (error == ERROR_FILE_NOT_FOUND || error == ERROR_PATH_NOT_FOUND)); + wchar_t *wPath = utf8_to_widechar(path); + DWORD result = GetFileAttributesW(wPath); + DWORD error = GetLastError(); + free(wPath); + return !(result == INVALID_FILE_ATTRIBUTES && (error == ERROR_FILE_NOT_FOUND || error == ERROR_PATH_NOT_FOUND)); } bool platform_directory_exists(const utf8 *path) { - wchar_t *wPath = utf8_to_widechar(path); - DWORD dwAttrib = GetFileAttributesW(wPath); - free(wPath); - return dwAttrib != INVALID_FILE_ATTRIBUTES && (dwAttrib & FILE_ATTRIBUTE_DIRECTORY); + wchar_t *wPath = utf8_to_widechar(path); + DWORD dwAttrib = GetFileAttributesW(wPath); + free(wPath); + return dwAttrib != INVALID_FILE_ATTRIBUTES && (dwAttrib & FILE_ATTRIBUTE_DIRECTORY); } bool platform_original_game_data_exists(const utf8 *path) { - utf8 checkPath[MAX_PATH]; - safe_strcpy(checkPath, path, MAX_PATH); - safe_strcat_path(checkPath, "Data", MAX_PATH); - safe_strcat_path(checkPath, "g1.dat", MAX_PATH); - return platform_file_exists(checkPath); + utf8 checkPath[MAX_PATH]; + safe_strcpy(checkPath, path, MAX_PATH); + safe_strcat_path(checkPath, "Data", MAX_PATH); + safe_strcat_path(checkPath, "g1.dat", MAX_PATH); + return platform_file_exists(checkPath); } bool platform_ensure_directory_exists(const utf8 *path) { - if (platform_directory_exists(path)) - return 1; + if (platform_directory_exists(path)) + return 1; - wchar_t *wPath = utf8_to_widechar(path); - BOOL success = CreateDirectoryW(wPath, NULL); - free(wPath); - return success == TRUE; + wchar_t *wPath = utf8_to_widechar(path); + BOOL success = CreateDirectoryW(wPath, NULL); + free(wPath); + return success == TRUE; } bool platform_directory_delete(const utf8 *path) { - wchar_t pszFrom[MAX_PATH]; + wchar_t pszFrom[MAX_PATH]; - wchar_t *wPath = utf8_to_widechar(path); - wcsncpy(pszFrom, wPath, MAX_PATH); + wchar_t *wPath = utf8_to_widechar(path); + wcsncpy(pszFrom, wPath, MAX_PATH); - // Needs to be double-null terminated for some weird reason - pszFrom[wcslen(wPath) + 1] = 0; - free(wPath); + // Needs to be double-null terminated for some weird reason + pszFrom[wcslen(wPath) + 1] = 0; + free(wPath); - SHFILEOPSTRUCTW fileop; - fileop.hwnd = NULL; // no status display - fileop.wFunc = FO_DELETE; // delete operation - fileop.pFrom = pszFrom; // source file name as double null terminated string - fileop.pTo = NULL; // no destination needed - fileop.fFlags = FOF_NOCONFIRMATION | FOF_SILENT; // do not prompt the user + SHFILEOPSTRUCTW fileop; + fileop.hwnd = NULL; // no status display + fileop.wFunc = FO_DELETE; // delete operation + fileop.pFrom = pszFrom; // source file name as double null terminated string + fileop.pTo = NULL; // no destination needed + fileop.fFlags = FOF_NOCONFIRMATION | FOF_SILENT; // do not prompt the user - fileop.fAnyOperationsAborted = FALSE; - fileop.lpszProgressTitle = NULL; - fileop.hNameMappings = NULL; + fileop.fAnyOperationsAborted = FALSE; + fileop.lpszProgressTitle = NULL; + fileop.hNameMappings = NULL; - sint32 ret = SHFileOperationW(&fileop); - return (ret == 0); + sint32 ret = SHFileOperationW(&fileop); + return (ret == 0); } bool platform_lock_single_instance() { - HANDLE mutex, status; + HANDLE mutex, status; - // Check if operating system mutex exists - mutex = OpenMutex(MUTEX_ALL_ACCESS, FALSE, SINGLE_INSTANCE_MUTEX_NAME); - if (mutex == NULL) { - // Create new mutex - status = CreateMutex(NULL, FALSE, SINGLE_INSTANCE_MUTEX_NAME); - if (status == NULL) - log_error("unable to create mutex\n"); + // Check if operating system mutex exists + mutex = OpenMutex(MUTEX_ALL_ACCESS, FALSE, SINGLE_INSTANCE_MUTEX_NAME); + if (mutex == NULL) { + // Create new mutex + status = CreateMutex(NULL, FALSE, SINGLE_INSTANCE_MUTEX_NAME); + if (status == NULL) + log_error("unable to create mutex\n"); - return true; - } else { - // Already running - CloseHandle(mutex); - return false; - } + return true; + } else { + // Already running + CloseHandle(mutex); + return false; + } } typedef struct { - bool active; - wchar_t pattern[MAX_PATH]; - HANDLE handle; - WIN32_FIND_DATAW data; - utf8 *outFilename; + bool active; + wchar_t pattern[MAX_PATH]; + HANDLE handle; + WIN32_FIND_DATAW data; + utf8 *outFilename; } enumerate_file_info; static enumerate_file_info _enumerateFileInfoList[8] = { 0 }; sint32 platform_enumerate_files_begin(const utf8 *pattern) { - sint32 i; - enumerate_file_info *enumFileInfo; + sint32 i; + enumerate_file_info *enumFileInfo; - wchar_t *wPattern = utf8_to_widechar(pattern); + wchar_t *wPattern = utf8_to_widechar(pattern); - for (i = 0; i < countof(_enumerateFileInfoList); i++) { - enumFileInfo = &_enumerateFileInfoList[i]; - if (!enumFileInfo->active) { - wcsncpy(enumFileInfo->pattern, wPattern, MAX_PATH); - enumFileInfo->handle = NULL; - enumFileInfo->active = true; - enumFileInfo->outFilename = NULL; + for (i = 0; i < countof(_enumerateFileInfoList); i++) { + enumFileInfo = &_enumerateFileInfoList[i]; + if (!enumFileInfo->active) { + wcsncpy(enumFileInfo->pattern, wPattern, MAX_PATH); + enumFileInfo->handle = NULL; + enumFileInfo->active = true; + enumFileInfo->outFilename = NULL; - free(wPattern); - return i; - } - } + free(wPattern); + return i; + } + } - free(wPattern); - return INVALID_HANDLE; + free(wPattern); + return INVALID_HANDLE; } /** @@ -281,250 +281,250 @@ sint32 platform_enumerate_files_begin(const utf8 *pattern) */ static bool match_wildcard(const wchar_t *fileName, const wchar_t *pattern) { - while (*fileName != '\0') { - switch (*pattern) { - case '?': - if (*fileName == '.') { - return false; - } - break; - case '*': - do { - pattern++; - } while (*pattern == '*'); - if (*pattern == '\0') { - return false; - } - while (*fileName != '\0') { - if (match_wildcard(fileName++, pattern)) { - return true; - } - } - return false; - default: - if (toupper(*fileName) != toupper(*pattern)) { - return false; - } - break; - } - pattern++; - fileName++; - } - while (*pattern == '*') { - ++fileName; - } - return *pattern == '\0'; + while (*fileName != '\0') { + switch (*pattern) { + case '?': + if (*fileName == '.') { + return false; + } + break; + case '*': + do { + pattern++; + } while (*pattern == '*'); + if (*pattern == '\0') { + return false; + } + while (*fileName != '\0') { + if (match_wildcard(fileName++, pattern)) { + return true; + } + } + return false; + default: + if (toupper(*fileName) != toupper(*pattern)) { + return false; + } + break; + } + pattern++; + fileName++; + } + while (*pattern == '*') { + ++fileName; + } + return *pattern == '\0'; } bool platform_enumerate_files_next(sint32 handle, file_info *outFileInfo) { - bool result; - enumerate_file_info *enumFileInfo; - HANDLE findFileHandle; + bool result; + enumerate_file_info *enumFileInfo; + HANDLE findFileHandle; - enumFileInfo = &_enumerateFileInfoList[handle]; + enumFileInfo = &_enumerateFileInfoList[handle]; - // Get pattern (just filename part) - const wchar_t *patternWithoutDirectory = wcsrchr(enumFileInfo->pattern, '\\'); - if (patternWithoutDirectory == NULL) { - patternWithoutDirectory = enumFileInfo->pattern; - } else { - patternWithoutDirectory++; - } + // Get pattern (just filename part) + const wchar_t *patternWithoutDirectory = wcsrchr(enumFileInfo->pattern, '\\'); + if (patternWithoutDirectory == NULL) { + patternWithoutDirectory = enumFileInfo->pattern; + } else { + patternWithoutDirectory++; + } - do { - if (enumFileInfo->handle == NULL) { - findFileHandle = FindFirstFileW(enumFileInfo->pattern, &enumFileInfo->data); - if (findFileHandle != INVALID_HANDLE_VALUE) { - enumFileInfo->handle = findFileHandle; - result = true; - } else { - result = false; - } - } else { - result = FindNextFileW(enumFileInfo->handle, &enumFileInfo->data); - } - } while (result && !match_wildcard(enumFileInfo->data.cFileName, patternWithoutDirectory)); + do { + if (enumFileInfo->handle == NULL) { + findFileHandle = FindFirstFileW(enumFileInfo->pattern, &enumFileInfo->data); + if (findFileHandle != INVALID_HANDLE_VALUE) { + enumFileInfo->handle = findFileHandle; + result = true; + } else { + result = false; + } + } else { + result = FindNextFileW(enumFileInfo->handle, &enumFileInfo->data); + } + } while (result && !match_wildcard(enumFileInfo->data.cFileName, patternWithoutDirectory)); - if (result) { - outFileInfo->path = enumFileInfo->outFilename = widechar_to_utf8(enumFileInfo->data.cFileName); - outFileInfo->size = ((uint64)enumFileInfo->data.nFileSizeHigh << 32ULL) | (uint64)enumFileInfo->data.nFileSizeLow; - outFileInfo->last_modified = ((uint64)enumFileInfo->data.ftLastWriteTime.dwHighDateTime << 32ULL) | (uint64)enumFileInfo->data.ftLastWriteTime.dwLowDateTime; - return true; - } else { - return false; - } + if (result) { + outFileInfo->path = enumFileInfo->outFilename = widechar_to_utf8(enumFileInfo->data.cFileName); + outFileInfo->size = ((uint64)enumFileInfo->data.nFileSizeHigh << 32ULL) | (uint64)enumFileInfo->data.nFileSizeLow; + outFileInfo->last_modified = ((uint64)enumFileInfo->data.ftLastWriteTime.dwHighDateTime << 32ULL) | (uint64)enumFileInfo->data.ftLastWriteTime.dwLowDateTime; + return true; + } else { + return false; + } } void platform_enumerate_files_end(sint32 handle) { - enumerate_file_info *enumFileInfo; + enumerate_file_info *enumFileInfo; - enumFileInfo = &_enumerateFileInfoList[handle]; - if (enumFileInfo->handle != NULL) { - FindClose(enumFileInfo->handle); - enumFileInfo->handle = NULL; - } - enumFileInfo->active = false; - SafeFree(enumFileInfo->outFilename); + enumFileInfo = &_enumerateFileInfoList[handle]; + if (enumFileInfo->handle != NULL) { + FindClose(enumFileInfo->handle); + enumFileInfo->handle = NULL; + } + enumFileInfo->active = false; + SafeFree(enumFileInfo->outFilename); } sint32 platform_enumerate_directories_begin(const utf8 *directory) { - sint32 i; - enumerate_file_info *enumFileInfo; + sint32 i; + enumerate_file_info *enumFileInfo; - wchar_t *wDirectory = utf8_to_widechar(directory); + wchar_t *wDirectory = utf8_to_widechar(directory); - if (wcslen(wDirectory) + 3 >= MAX_PATH) { - free(wDirectory); - return INVALID_HANDLE; - } + if (wcslen(wDirectory) + 3 >= MAX_PATH) { + free(wDirectory); + return INVALID_HANDLE; + } - for (i = 0; i < countof(_enumerateFileInfoList); i++) { - enumFileInfo = &_enumerateFileInfoList[i]; - if (!enumFileInfo->active) { - wcsncpy(enumFileInfo->pattern, wDirectory, MAX_PATH); + for (i = 0; i < countof(_enumerateFileInfoList); i++) { + enumFileInfo = &_enumerateFileInfoList[i]; + if (!enumFileInfo->active) { + wcsncpy(enumFileInfo->pattern, wDirectory, MAX_PATH); - // Ensure pattern ends with a slash - sint32 patternLength = lstrlenW(enumFileInfo->pattern); - wchar_t lastChar = enumFileInfo->pattern[patternLength - 1]; - if (lastChar != '\\' && lastChar != '/') { - wcsncat(enumFileInfo->pattern, L"\\", MAX_PATH); - } + // Ensure pattern ends with a slash + sint32 patternLength = lstrlenW(enumFileInfo->pattern); + wchar_t lastChar = enumFileInfo->pattern[patternLength - 1]; + if (lastChar != '\\' && lastChar != '/') { + wcsncat(enumFileInfo->pattern, L"\\", MAX_PATH); + } - wcsncat(enumFileInfo->pattern, L"*", MAX_PATH); - enumFileInfo->handle = NULL; - enumFileInfo->active = true; - enumFileInfo->outFilename = NULL; + wcsncat(enumFileInfo->pattern, L"*", MAX_PATH); + enumFileInfo->handle = NULL; + enumFileInfo->active = true; + enumFileInfo->outFilename = NULL; - free(wDirectory); - return i; - } - } + free(wDirectory); + return i; + } + } - free(wDirectory); - return INVALID_HANDLE; + free(wDirectory); + return INVALID_HANDLE; } bool platform_enumerate_directories_next(sint32 handle, utf8 *path) { - enumerate_file_info *enumFileInfo; - HANDLE fileHandle; + enumerate_file_info *enumFileInfo; + HANDLE fileHandle; - enumFileInfo = &_enumerateFileInfoList[handle]; + enumFileInfo = &_enumerateFileInfoList[handle]; - if (enumFileInfo->handle == NULL) { - fileHandle = FindFirstFileW(enumFileInfo->pattern, &enumFileInfo->data); - if (fileHandle != INVALID_HANDLE_VALUE) { - enumFileInfo->handle = fileHandle; - } else { - return false; - } - } else { - if (!FindNextFileW(enumFileInfo->handle, &enumFileInfo->data)) { - return false; - } - } + if (enumFileInfo->handle == NULL) { + fileHandle = FindFirstFileW(enumFileInfo->pattern, &enumFileInfo->data); + if (fileHandle != INVALID_HANDLE_VALUE) { + enumFileInfo->handle = fileHandle; + } else { + return false; + } + } else { + if (!FindNextFileW(enumFileInfo->handle, &enumFileInfo->data)) { + return false; + } + } - while ( - (enumFileInfo->data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0 || - wcschr(enumFileInfo->data.cFileName, '.') != NULL - ) { - if (!FindNextFileW(enumFileInfo->handle, &enumFileInfo->data)) { - return false; - } - } + while ( + (enumFileInfo->data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0 || + wcschr(enumFileInfo->data.cFileName, '.') != NULL + ) { + if (!FindNextFileW(enumFileInfo->handle, &enumFileInfo->data)) { + return false; + } + } - utf8 *filename = widechar_to_utf8(enumFileInfo->data.cFileName); - safe_strcpy(path, filename, MAX_PATH); - path_end_with_separator(path, MAX_PATH); - free(filename); - return true; + utf8 *filename = widechar_to_utf8(enumFileInfo->data.cFileName); + safe_strcpy(path, filename, MAX_PATH); + path_end_with_separator(path, MAX_PATH); + free(filename); + return true; } void platform_enumerate_directories_end(sint32 handle) { - enumerate_file_info *enumFileInfo; + enumerate_file_info *enumFileInfo; - enumFileInfo = &_enumerateFileInfoList[handle]; - if (enumFileInfo->handle != NULL) { - FindClose(enumFileInfo->handle); - enumFileInfo->handle = NULL; - } - enumFileInfo->active = false; + enumFileInfo = &_enumerateFileInfoList[handle]; + if (enumFileInfo->handle != NULL) { + FindClose(enumFileInfo->handle); + enumFileInfo->handle = NULL; + } + enumFileInfo->active = false; } sint32 platform_get_drives() { - return GetLogicalDrives(); + return GetLogicalDrives(); } bool platform_file_copy(const utf8 *srcPath, const utf8 *dstPath, bool overwrite) { - wchar_t *wSrcPath = utf8_to_widechar(srcPath); - wchar_t *wDstPath = utf8_to_widechar(dstPath); - BOOL success = CopyFileW(wSrcPath, wDstPath, overwrite ? FALSE : TRUE); - free(wSrcPath); - free(wDstPath); - return success == TRUE; + wchar_t *wSrcPath = utf8_to_widechar(srcPath); + wchar_t *wDstPath = utf8_to_widechar(dstPath); + BOOL success = CopyFileW(wSrcPath, wDstPath, overwrite ? FALSE : TRUE); + free(wSrcPath); + free(wDstPath); + return success == TRUE; } bool platform_file_move(const utf8 *srcPath, const utf8 *dstPath) { - wchar_t *wSrcPath = utf8_to_widechar(srcPath); - wchar_t *wDstPath = utf8_to_widechar(dstPath); - BOOL success = MoveFileW(wSrcPath, wDstPath); - free(wSrcPath); - free(wDstPath); - return success == TRUE; + wchar_t *wSrcPath = utf8_to_widechar(srcPath); + wchar_t *wDstPath = utf8_to_widechar(dstPath); + BOOL success = MoveFileW(wSrcPath, wDstPath); + free(wSrcPath); + free(wDstPath); + return success == TRUE; } bool platform_file_delete(const utf8 *path) { - wchar_t *wPath = utf8_to_widechar(path); - BOOL success = DeleteFileW(wPath); - free(wPath); - return success == TRUE; + wchar_t *wPath = utf8_to_widechar(path); + BOOL success = DeleteFileW(wPath); + free(wPath); + return success == TRUE; } void platform_resolve_openrct_data_path() { - wchar_t wOutPath[MAX_PATH]; + wchar_t wOutPath[MAX_PATH]; - if (gCustomOpenrctDataPath[0] != 0) { - wchar_t *customOpenrctDataPathW = utf8_to_widechar(gCustomOpenrctDataPath); - if (GetFullPathNameW(customOpenrctDataPathW, countof(wOutPath), wOutPath, NULL) == 0) { - log_fatal("Unable to resolve path '%s'.", gCustomOpenrctDataPath); - exit(-1); - } - utf8 *outPathTemp = widechar_to_utf8(wOutPath); - safe_strcpy(_openrctDataDirectoryPath, outPathTemp, sizeof(_openrctDataDirectoryPath)); - free(outPathTemp); - free(customOpenrctDataPathW); + if (gCustomOpenrctDataPath[0] != 0) { + wchar_t *customOpenrctDataPathW = utf8_to_widechar(gCustomOpenrctDataPath); + if (GetFullPathNameW(customOpenrctDataPathW, countof(wOutPath), wOutPath, NULL) == 0) { + log_fatal("Unable to resolve path '%s'.", gCustomOpenrctDataPath); + exit(-1); + } + utf8 *outPathTemp = widechar_to_utf8(wOutPath); + safe_strcpy(_openrctDataDirectoryPath, outPathTemp, sizeof(_openrctDataDirectoryPath)); + free(outPathTemp); + free(customOpenrctDataPathW); - path_end_with_separator(_openrctDataDirectoryPath, sizeof(_openrctDataDirectoryPath)); - return; - } - char buffer[MAX_PATH]; - platform_get_exe_path(buffer, sizeof(buffer)); + path_end_with_separator(_openrctDataDirectoryPath, sizeof(_openrctDataDirectoryPath)); + return; + } + char buffer[MAX_PATH]; + platform_get_exe_path(buffer, sizeof(buffer)); - safe_strcat_path(buffer, "data", MAX_PATH); + safe_strcat_path(buffer, "data", MAX_PATH); - if (platform_directory_exists(buffer)) - { - _openrctDataDirectoryPath[0] = '\0'; - safe_strcpy(_openrctDataDirectoryPath, buffer, sizeof(_openrctDataDirectoryPath)); - return; - } else { - log_fatal("Unable to resolve openrct data path."); - exit(-1); - } + if (platform_directory_exists(buffer)) + { + _openrctDataDirectoryPath[0] = '\0'; + safe_strcpy(_openrctDataDirectoryPath, buffer, sizeof(_openrctDataDirectoryPath)); + return; + } else { + log_fatal("Unable to resolve openrct data path."); + exit(-1); + } } void platform_get_openrct_data_path(utf8 *outPath, size_t outSize) { - safe_strcpy(outPath, _openrctDataDirectoryPath, outSize); + safe_strcpy(outPath, _openrctDataDirectoryPath, outSize); } /** @@ -534,43 +534,43 @@ void platform_get_openrct_data_path(utf8 *outPath, size_t outSize) */ void platform_resolve_user_data_path() { - wchar_t wOutPath[MAX_PATH]; + wchar_t wOutPath[MAX_PATH]; - if (gCustomUserDataPath[0] != 0) { - wchar_t *customUserDataPathW = utf8_to_widechar(gCustomUserDataPath); - if (GetFullPathNameW(customUserDataPathW, countof(wOutPath), wOutPath, NULL) == 0) { - log_fatal("Unable to resolve path '%s'.", gCustomUserDataPath); - exit(-1); - } - utf8 *outPathTemp = widechar_to_utf8(wOutPath); - safe_strcpy(_userDataDirectoryPath, outPathTemp, sizeof(_userDataDirectoryPath)); - free(outPathTemp); - free(customUserDataPathW); + if (gCustomUserDataPath[0] != 0) { + wchar_t *customUserDataPathW = utf8_to_widechar(gCustomUserDataPath); + if (GetFullPathNameW(customUserDataPathW, countof(wOutPath), wOutPath, NULL) == 0) { + log_fatal("Unable to resolve path '%s'.", gCustomUserDataPath); + exit(-1); + } + utf8 *outPathTemp = widechar_to_utf8(wOutPath); + safe_strcpy(_userDataDirectoryPath, outPathTemp, sizeof(_userDataDirectoryPath)); + free(outPathTemp); + free(customUserDataPathW); - path_end_with_separator(_userDataDirectoryPath, sizeof(_userDataDirectoryPath)); - return; - } + path_end_with_separator(_userDataDirectoryPath, sizeof(_userDataDirectoryPath)); + return; + } - if (SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_PERSONAL | CSIDL_FLAG_CREATE, NULL, 0, wOutPath))) { - utf8 *outPathTemp = widechar_to_utf8(wOutPath); - safe_strcpy(_userDataDirectoryPath, outPathTemp, sizeof(_userDataDirectoryPath)); - free(outPathTemp); + if (SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_PERSONAL | CSIDL_FLAG_CREATE, NULL, 0, wOutPath))) { + utf8 *outPathTemp = widechar_to_utf8(wOutPath); + safe_strcpy(_userDataDirectoryPath, outPathTemp, sizeof(_userDataDirectoryPath)); + free(outPathTemp); - safe_strcat_path(_userDataDirectoryPath, "OpenRCT2", sizeof(_userDataDirectoryPath)); - path_end_with_separator(_userDataDirectoryPath, sizeof(_userDataDirectoryPath)); - } else { - log_fatal("Unable to resolve user data path."); - exit(-1); - } + safe_strcat_path(_userDataDirectoryPath, "OpenRCT2", sizeof(_userDataDirectoryPath)); + path_end_with_separator(_userDataDirectoryPath, sizeof(_userDataDirectoryPath)); + } else { + log_fatal("Unable to resolve user data path."); + exit(-1); + } } void platform_get_user_directory(utf8 *outPath, const utf8 *subDirectory, size_t outSize) { - safe_strcpy(outPath, _userDataDirectoryPath, outSize); - if (subDirectory != NULL && subDirectory[0] != 0) { - safe_strcat_path(outPath, subDirectory, outSize); - path_end_with_separator(outPath, outSize); - } + safe_strcpy(outPath, _userDataDirectoryPath, outSize); + if (subDirectory != NULL && subDirectory[0] != 0) { + safe_strcat_path(outPath, subDirectory, outSize); + path_end_with_separator(outPath, outSize); + } } /** @@ -579,465 +579,465 @@ void platform_get_user_directory(utf8 *outPath, const utf8 *subDirectory, size_t */ sint32 windows_get_registry_install_info(rct2_install_info *installInfo, char *source, char *font, uint8 charset) { - char subkeyInfogrames[MAX_PATH], subkeyFishTechGroup[MAX_PATH], keyName[100]; - HKEY hKey; - DWORD type, size; + char subkeyInfogrames[MAX_PATH], subkeyFishTechGroup[MAX_PATH], keyName[100]; + HKEY hKey; + DWORD type, size; - safe_strcpy(subkeyInfogrames, "Software\\Infogrames\\", sizeof(subkeyInfogrames)); - safe_strcat(subkeyInfogrames, source, sizeof(subkeyInfogrames)); - safe_strcpy(subkeyFishTechGroup, "Software\\Fish Technology Group\\", sizeof(subkeyFishTechGroup)); - safe_strcat(subkeyFishTechGroup, source, sizeof(subkeyFishTechGroup)); + safe_strcpy(subkeyInfogrames, "Software\\Infogrames\\", sizeof(subkeyInfogrames)); + safe_strcat(subkeyInfogrames, source, sizeof(subkeyInfogrames)); + safe_strcpy(subkeyFishTechGroup, "Software\\Fish Technology Group\\", sizeof(subkeyFishTechGroup)); + safe_strcat(subkeyFishTechGroup, source, sizeof(subkeyFishTechGroup)); - if (RegOpenKeyA(HKEY_LOCAL_MACHINE, subkeyInfogrames, &hKey) != ERROR_SUCCESS) - return 0; + if (RegOpenKeyA(HKEY_LOCAL_MACHINE, subkeyInfogrames, &hKey) != ERROR_SUCCESS) + return 0; - if (RegOpenKeyA(HKEY_LOCAL_MACHINE, subkeyFishTechGroup, &hKey) != ERROR_SUCCESS) - return 0; + if (RegOpenKeyA(HKEY_LOCAL_MACHINE, subkeyFishTechGroup, &hKey) != ERROR_SUCCESS) + return 0; - size = 260; - RegQueryValueExA(hKey, "Title", 0, &type, (LPBYTE)installInfo->title, &size); + size = 260; + RegQueryValueExA(hKey, "Title", 0, &type, (LPBYTE)installInfo->title, &size); - size = 260; - RegQueryValueExA(hKey, "Path", 0, &type, (LPBYTE)installInfo->path, &size); + size = 260; + RegQueryValueExA(hKey, "Path", 0, &type, (LPBYTE)installInfo->path, &size); - installInfo->var_20C = 235960; + installInfo->var_20C = 235960; - size = 4; - RegQueryValueExA(hKey, "InstallLevel", 0, &type, (LPBYTE)&installInfo->installLevel, &size); - for (sint32 i = 0; i <= 15; i++) { - snprintf(keyName, 100, "AddonPack%d", i); - size = sizeof(installInfo->expansionPackNames[i]); - if (RegQueryValueExA(hKey, keyName, 0, &type, (LPBYTE)installInfo->expansionPackNames[i], &size) == ERROR_SUCCESS) - installInfo->activeExpansionPacks |= (1 << i); - } + size = 4; + RegQueryValueExA(hKey, "InstallLevel", 0, &type, (LPBYTE)&installInfo->installLevel, &size); + for (sint32 i = 0; i <= 15; i++) { + snprintf(keyName, 100, "AddonPack%d", i); + size = sizeof(installInfo->expansionPackNames[i]); + if (RegQueryValueExA(hKey, keyName, 0, &type, (LPBYTE)installInfo->expansionPackNames[i], &size) == ERROR_SUCCESS) + installInfo->activeExpansionPacks |= (1 << i); + } - RegCloseKey(hKey); - return 1; + RegCloseKey(hKey); + return 1; } uint16 platform_get_locale_language() { - CHAR langCode[4]; + CHAR langCode[4]; - if (GetLocaleInfo(LOCALE_USER_DEFAULT, - LOCALE_SABBREVLANGNAME, - (LPSTR)&langCode, - sizeof(langCode)) == 0){ - return LANGUAGE_UNDEFINED; - } + if (GetLocaleInfo(LOCALE_USER_DEFAULT, + LOCALE_SABBREVLANGNAME, + (LPSTR)&langCode, + sizeof(langCode)) == 0){ + return LANGUAGE_UNDEFINED; + } - if (strcmp(langCode, "ENG") == 0){ - return LANGUAGE_ENGLISH_UK; - } - else if (strcmp(langCode, "ENU") == 0){ - return LANGUAGE_ENGLISH_US; - } - else if (strcmp(langCode, "DEU") == 0){ - return LANGUAGE_GERMAN; - } - else if (strcmp(langCode, "NLD") == 0){ - return LANGUAGE_DUTCH; - } - else if (strcmp(langCode, "FRA") == 0){ - return LANGUAGE_FRENCH; - } - else if (strcmp(langCode, "HUN") == 0){ - return LANGUAGE_HUNGARIAN; - } - else if (strcmp(langCode, "PLK") == 0){ - return LANGUAGE_POLISH; - } - else if (strcmp(langCode, "ESP") == 0){ - return LANGUAGE_SPANISH; - } - else if (strcmp(langCode, "SVE") == 0){ - return LANGUAGE_SWEDISH; - } - else if (strcmp(langCode, "ITA") == 0){ - return LANGUAGE_ITALIAN; - } - else if (strcmp(langCode, "POR") == 0){ - return LANGUAGE_PORTUGUESE_BR; - } - else if (strcmp(langCode, "FIN") == 0){ - return LANGUAGE_FINNISH; - } - else if (strcmp(langCode, "NOR") == 0){ - return LANGUAGE_NORWEGIAN; - } - return LANGUAGE_UNDEFINED; + if (strcmp(langCode, "ENG") == 0){ + return LANGUAGE_ENGLISH_UK; + } + else if (strcmp(langCode, "ENU") == 0){ + return LANGUAGE_ENGLISH_US; + } + else if (strcmp(langCode, "DEU") == 0){ + return LANGUAGE_GERMAN; + } + else if (strcmp(langCode, "NLD") == 0){ + return LANGUAGE_DUTCH; + } + else if (strcmp(langCode, "FRA") == 0){ + return LANGUAGE_FRENCH; + } + else if (strcmp(langCode, "HUN") == 0){ + return LANGUAGE_HUNGARIAN; + } + else if (strcmp(langCode, "PLK") == 0){ + return LANGUAGE_POLISH; + } + else if (strcmp(langCode, "ESP") == 0){ + return LANGUAGE_SPANISH; + } + else if (strcmp(langCode, "SVE") == 0){ + return LANGUAGE_SWEDISH; + } + else if (strcmp(langCode, "ITA") == 0){ + return LANGUAGE_ITALIAN; + } + else if (strcmp(langCode, "POR") == 0){ + return LANGUAGE_PORTUGUESE_BR; + } + else if (strcmp(langCode, "FIN") == 0){ + return LANGUAGE_FINNISH; + } + else if (strcmp(langCode, "NOR") == 0){ + return LANGUAGE_NORWEGIAN; + } + return LANGUAGE_UNDEFINED; } time_t platform_file_get_modified_time(const utf8* path) { - WIN32_FILE_ATTRIBUTE_DATA data; + WIN32_FILE_ATTRIBUTE_DATA data; - wchar_t *wPath = utf8_to_widechar(path); - BOOL result = GetFileAttributesExW(wPath, GetFileExInfoStandard, &data); - free(wPath); + wchar_t *wPath = utf8_to_widechar(path); + BOOL result = GetFileAttributesExW(wPath, GetFileExInfoStandard, &data); + free(wPath); - if (result) { - ULARGE_INTEGER ull; - ull.LowPart = data.ftLastWriteTime.dwLowDateTime; - ull.HighPart = data.ftLastWriteTime.dwHighDateTime; - return ull.QuadPart / 10000000ULL - 11644473600ULL; - } else { - return 0; - } + if (result) { + ULARGE_INTEGER ull; + ull.LowPart = data.ftLastWriteTime.dwLowDateTime; + ull.HighPart = data.ftLastWriteTime.dwHighDateTime; + return ull.QuadPart / 10000000ULL - 11644473600ULL; + } else { + return 0; + } } uint8 platform_get_locale_currency() { - CHAR currCode[4]; - if (GetLocaleInfo(LOCALE_USER_DEFAULT, - LOCALE_SINTLSYMBOL, - (LPSTR)&currCode, - sizeof(currCode)) == 0 - ) { - return platform_get_currency_value(NULL); - } + CHAR currCode[4]; + if (GetLocaleInfo(LOCALE_USER_DEFAULT, + LOCALE_SINTLSYMBOL, + (LPSTR)&currCode, + sizeof(currCode)) == 0 + ) { + return platform_get_currency_value(NULL); + } - return platform_get_currency_value(currCode); + return platform_get_currency_value(currCode); } uint8 platform_get_locale_measurement_format() { - UINT measurement_system; - if (GetLocaleInfo(LOCALE_USER_DEFAULT, - LOCALE_IMEASURE | LOCALE_RETURN_NUMBER, - (LPSTR)&measurement_system, - sizeof(measurement_system)) == 0 - ) { - return MEASUREMENT_FORMAT_METRIC; - } + UINT measurement_system; + if (GetLocaleInfo(LOCALE_USER_DEFAULT, + LOCALE_IMEASURE | LOCALE_RETURN_NUMBER, + (LPSTR)&measurement_system, + sizeof(measurement_system)) == 0 + ) { + return MEASUREMENT_FORMAT_METRIC; + } - switch (measurement_system) { - case 1: - return MEASUREMENT_FORMAT_IMPERIAL; - case 0: - default: - return MEASUREMENT_FORMAT_METRIC; - } + switch (measurement_system) { + case 1: + return MEASUREMENT_FORMAT_IMPERIAL; + case 0: + default: + return MEASUREMENT_FORMAT_METRIC; + } } uint8 platform_get_locale_temperature_format() { - UINT fahrenheit; + UINT fahrenheit; - // GetLocaleInfo will set fahrenheit to 1 if the locale on this computer - // uses the United States measurement system or 0 otherwise. - if (GetLocaleInfo(LOCALE_USER_DEFAULT, - LOCALE_IMEASURE | LOCALE_RETURN_NUMBER, - (LPSTR)&fahrenheit, - sizeof(fahrenheit)) == 0 - ) { - // Assume celsius by default if function call fails - return TEMPERATURE_FORMAT_C; - } + // GetLocaleInfo will set fahrenheit to 1 if the locale on this computer + // uses the United States measurement system or 0 otherwise. + if (GetLocaleInfo(LOCALE_USER_DEFAULT, + LOCALE_IMEASURE | LOCALE_RETURN_NUMBER, + (LPSTR)&fahrenheit, + sizeof(fahrenheit)) == 0 + ) { + // Assume celsius by default if function call fails + return TEMPERATURE_FORMAT_C; + } - if(fahrenheit) - return TEMPERATURE_FORMAT_F; - else - return TEMPERATURE_FORMAT_C; + if(fahrenheit) + return TEMPERATURE_FORMAT_F; + else + return TEMPERATURE_FORMAT_C; } uint8 platform_get_locale_date_format() { - // Retrieve short date format, eg "MM/dd/yyyy" - wchar_t dateFormat[20]; - if (GetLocaleInfoEx(LOCALE_NAME_USER_DEFAULT, LOCALE_SSHORTDATE, dateFormat, sizeof(dateFormat)) == 0) - { - return DATE_FORMAT_DAY_MONTH_YEAR; - } + // Retrieve short date format, eg "MM/dd/yyyy" + wchar_t dateFormat[20]; + if (GetLocaleInfoEx(LOCALE_NAME_USER_DEFAULT, LOCALE_SSHORTDATE, dateFormat, sizeof(dateFormat)) == 0) + { + return DATE_FORMAT_DAY_MONTH_YEAR; + } - // The only valid characters for format types are: dgyM - // We try to find 3 strings of format types, ignore any characters in between. - // We also ignore 'g', as it represents 'era' and we don't have that concept - // in our date formats. - // https://msdn.microsoft.com/en-us/library/windows/desktop/dd317787(v=vs.85).aspx - // - wchar_t first[sizeof(dateFormat)]; - wchar_t second[sizeof(dateFormat)]; - if (swscanf(dateFormat, L"%l[dyM]%*l[^dyM]%l[dyM]%*l[^dyM]%*l[dyM]", first, second) != 2) { - return DATE_FORMAT_DAY_MONTH_YEAR; - } + // The only valid characters for format types are: dgyM + // We try to find 3 strings of format types, ignore any characters in between. + // We also ignore 'g', as it represents 'era' and we don't have that concept + // in our date formats. + // https://msdn.microsoft.com/en-us/library/windows/desktop/dd317787(v=vs.85).aspx + // + wchar_t first[sizeof(dateFormat)]; + wchar_t second[sizeof(dateFormat)]; + if (swscanf(dateFormat, L"%l[dyM]%*l[^dyM]%l[dyM]%*l[^dyM]%*l[dyM]", first, second) != 2) { + return DATE_FORMAT_DAY_MONTH_YEAR; + } - if (wcsncmp(L"d", first, 1) == 0) - { - return DATE_FORMAT_DAY_MONTH_YEAR; - } - else if (wcsncmp(L"M", first, 1) == 0) - { - return DATE_FORMAT_MONTH_DAY_YEAR; - } - else if (wcsncmp(L"y", first, 1) == 0) - { - if (wcsncmp(L"d", second, 1) == 0) { - return DATE_FORMAT_YEAR_DAY_MONTH; - } - else { - // Closest possible option - return DATE_FORMAT_YEAR_MONTH_DAY; - } - } - - // Default fallback - return DATE_FORMAT_DAY_MONTH_YEAR; + if (wcsncmp(L"d", first, 1) == 0) + { + return DATE_FORMAT_DAY_MONTH_YEAR; + } + else if (wcsncmp(L"M", first, 1) == 0) + { + return DATE_FORMAT_MONTH_DAY_YEAR; + } + else if (wcsncmp(L"y", first, 1) == 0) + { + if (wcsncmp(L"d", second, 1) == 0) { + return DATE_FORMAT_YEAR_DAY_MONTH; + } + else { + // Closest possible option + return DATE_FORMAT_YEAR_MONTH_DAY; + } + } + + // Default fallback + return DATE_FORMAT_DAY_MONTH_YEAR; } bool platform_check_steam_overlay_attached() { - return GetModuleHandle("GameOverlayRenderer.dll") != NULL; + return GetModuleHandle("GameOverlayRenderer.dll") != NULL; } char *strndup(const char *src, size_t size) { - size_t len = strnlen(src, size); - char *dst = (char *)malloc(len + 1); + size_t len = strnlen(src, size); + char *dst = (char *)malloc(len + 1); - if (dst == NULL) - { - return NULL; - } + if (dst == NULL) + { + return NULL; + } - dst = memcpy(dst, src, len); - dst[len] = '\0'; - return (char *)dst; + dst = memcpy(dst, src, len); + dst[len] = '\0'; + return (char *)dst; } void platform_get_exe_path(utf8 *outPath, size_t outSize) { - wchar_t exePath[MAX_PATH]; - wchar_t tempPath[MAX_PATH]; - wchar_t *exeDelimiter; + wchar_t exePath[MAX_PATH]; + wchar_t tempPath[MAX_PATH]; + wchar_t *exeDelimiter; - GetModuleFileNameW(NULL, exePath, MAX_PATH); - exeDelimiter = wcsrchr(exePath, *PATH_SEPARATOR); - *exeDelimiter = L'\0'; - wcscpy_s(tempPath, MAX_PATH, exePath); - _wfullpath(exePath, tempPath, MAX_PATH); - WideCharToMultiByte(CP_UTF8, 0, exePath, MAX_PATH, outPath, (sint32) outSize, NULL, NULL); + GetModuleFileNameW(NULL, exePath, MAX_PATH); + exeDelimiter = wcsrchr(exePath, *PATH_SEPARATOR); + *exeDelimiter = L'\0'; + wcscpy_s(tempPath, MAX_PATH, exePath); + _wfullpath(exePath, tempPath, MAX_PATH); + WideCharToMultiByte(CP_UTF8, 0, exePath, MAX_PATH, outPath, (sint32) outSize, NULL, NULL); } bool platform_get_font_path(TTFFontDescriptor *font, utf8 *buffer, size_t size) { #if !defined(__MINGW32__) && ((NTDDI_VERSION >= NTDDI_VISTA) && !defined(_USING_V110_SDK71_) && !defined(_ATL_XP_TARGETING)) - wchar_t *fontFolder; - if (SUCCEEDED(SHGetKnownFolderPath(&FOLDERID_Fonts, 0, NULL, &fontFolder))) - { - // Convert wchar to utf8, then copy the font folder path to the buffer. - utf8 *outPathTemp = widechar_to_utf8(fontFolder); - safe_strcpy(buffer, outPathTemp, size); - free(outPathTemp); + wchar_t *fontFolder; + if (SUCCEEDED(SHGetKnownFolderPath(&FOLDERID_Fonts, 0, NULL, &fontFolder))) + { + // Convert wchar to utf8, then copy the font folder path to the buffer. + utf8 *outPathTemp = widechar_to_utf8(fontFolder); + safe_strcpy(buffer, outPathTemp, size); + free(outPathTemp); - CoTaskMemFree(fontFolder); + CoTaskMemFree(fontFolder); - // Append the requested font's file name. - safe_strcat_path(buffer, font->filename, size); - return true; - } - else - { - return false; - } + // Append the requested font's file name. + safe_strcat_path(buffer, font->filename, size); + return true; + } + else + { + return false; + } #else - log_warning("Compatibility hack: falling back to C:\\Windows\\Fonts"); - safe_strcpy(buffer, "C:\\Windows\\Fonts\\", size); - safe_strcat_path(buffer, font->filename, size); - return true; + log_warning("Compatibility hack: falling back to C:\\Windows\\Fonts"); + safe_strcpy(buffer, "C:\\Windows\\Fonts\\", size); + safe_strcat_path(buffer, font->filename, size); + return true; #endif } utf8 * platform_get_absolute_path(const utf8 * relativePath, const utf8 * basePath) { - utf8 path[MAX_PATH]; - safe_strcpy(path, basePath, sizeof(path)); - safe_strcat_path(path, relativePath, sizeof(path)); + utf8 path[MAX_PATH]; + safe_strcpy(path, basePath, sizeof(path)); + safe_strcat_path(path, relativePath, sizeof(path)); - wchar_t * pathW = utf8_to_widechar(path); - wchar_t fullPathW[MAX_PATH]; - DWORD fullPathLen = GetFullPathNameW(pathW, countof(fullPathW), fullPathW, NULL); + wchar_t * pathW = utf8_to_widechar(path); + wchar_t fullPathW[MAX_PATH]; + DWORD fullPathLen = GetFullPathNameW(pathW, countof(fullPathW), fullPathW, NULL); - free(pathW); + free(pathW); - if (fullPathLen == 0) - { - return NULL; - } + if (fullPathLen == 0) + { + return NULL; + } - return widechar_to_utf8(fullPathW); + return widechar_to_utf8(fullPathW); } datetime64 platform_get_datetime_now_utc() { - // Get file time - FILETIME fileTime; - GetSystemTimeAsFileTime(&fileTime); - uint64 fileTime64 = ((uint64)fileTime.dwHighDateTime << 32ULL) | ((uint64)fileTime.dwLowDateTime); + // Get file time + FILETIME fileTime; + GetSystemTimeAsFileTime(&fileTime); + uint64 fileTime64 = ((uint64)fileTime.dwHighDateTime << 32ULL) | ((uint64)fileTime.dwLowDateTime); - // File time starts from: 1601-01-01T00:00:00Z - // Convert to start from: 0001-01-01T00:00:00Z - datetime64 utcNow = fileTime64 - 504911232000000000ULL; - return utcNow; + // File time starts from: 1601-01-01T00:00:00Z + // Convert to start from: 0001-01-01T00:00:00Z + datetime64 utcNow = fileTime64 - 504911232000000000ULL; + return utcNow; } utf8* platform_get_username() { - static char username[UNLEN + 1]; + static char username[UNLEN + 1]; - DWORD usernameLength = UNLEN + 1; - if (!GetUserName(username, &usernameLength)) { - return NULL; - } + DWORD usernameLength = UNLEN + 1; + if (!GetUserName(username, &usernameLength)) { + return NULL; + } - return username; + return username; } /////////////////////////////////////////////////////////////////////////////// // File association setup /////////////////////////////////////////////////////////////////////////////// -#define SOFTWARE_CLASSES L"Software\\Classes" -#define MUI_CACHE L"Local Settings\\Software\\Microsoft\\Windows\\Shell\\MuiCache" +#define SOFTWARE_CLASSES L"Software\\Classes" +#define MUI_CACHE L"Local Settings\\Software\\Microsoft\\Windows\\Shell\\MuiCache" static void get_progIdName(wchar_t *dst, const utf8 *extension) { - utf8 progIdName[128]; - safe_strcpy(progIdName, OPENRCT2_NAME, sizeof(progIdName)); - safe_strcat(progIdName, extension, sizeof(progIdName)); + utf8 progIdName[128]; + safe_strcpy(progIdName, OPENRCT2_NAME, sizeof(progIdName)); + safe_strcat(progIdName, extension, sizeof(progIdName)); - wchar_t *progIdNameW = utf8_to_widechar(progIdName); - lstrcpyW(dst, progIdNameW); - free(progIdNameW); + wchar_t *progIdNameW = utf8_to_widechar(progIdName); + lstrcpyW(dst, progIdNameW); + free(progIdNameW); } static bool windows_setup_file_association( - const utf8 * extension, - const utf8 * fileTypeText, - const utf8 * commandText, - const utf8 * commandArgs, - const uint32 iconIndex + const utf8 * extension, + const utf8 * fileTypeText, + const utf8 * commandText, + const utf8 * commandArgs, + const uint32 iconIndex ) { - wchar_t exePathW[MAX_PATH]; - wchar_t dllPathW[MAX_PATH]; + wchar_t exePathW[MAX_PATH]; + wchar_t dllPathW[MAX_PATH]; - sint32 printResult; + sint32 printResult; - GetModuleFileNameW(NULL, exePathW, sizeof(exePathW)); - GetModuleFileNameW(plaform_get_dll_module(), dllPathW, sizeof(dllPathW)); + GetModuleFileNameW(NULL, exePathW, sizeof(exePathW)); + GetModuleFileNameW(plaform_get_dll_module(), dllPathW, sizeof(dllPathW)); - wchar_t *extensionW = utf8_to_widechar(extension); - wchar_t *fileTypeTextW = utf8_to_widechar(fileTypeText); - wchar_t *commandTextW = utf8_to_widechar(commandText); - wchar_t *commandArgsW = utf8_to_widechar(commandArgs); + wchar_t *extensionW = utf8_to_widechar(extension); + wchar_t *fileTypeTextW = utf8_to_widechar(fileTypeText); + wchar_t *commandTextW = utf8_to_widechar(commandText); + wchar_t *commandArgsW = utf8_to_widechar(commandArgs); - wchar_t progIdNameW[128]; - get_progIdName(progIdNameW, extension); + wchar_t progIdNameW[128]; + get_progIdName(progIdNameW, extension); - bool result = false; - HKEY hKey = NULL; - HKEY hRootKey = NULL; + bool result = false; + HKEY hKey = NULL; + HKEY hRootKey = NULL; - // [HKEY_CURRENT_USER\Software\Classes] - if (RegOpenKeyW(HKEY_CURRENT_USER, SOFTWARE_CLASSES, &hRootKey) != ERROR_SUCCESS) { - goto fail; - } + // [HKEY_CURRENT_USER\Software\Classes] + if (RegOpenKeyW(HKEY_CURRENT_USER, SOFTWARE_CLASSES, &hRootKey) != ERROR_SUCCESS) { + goto fail; + } - // [hRootKey\.ext] - if (RegSetValueW(hRootKey, extensionW, REG_SZ, progIdNameW, 0) != ERROR_SUCCESS) { - goto fail; - } + // [hRootKey\.ext] + if (RegSetValueW(hRootKey, extensionW, REG_SZ, progIdNameW, 0) != ERROR_SUCCESS) { + goto fail; + } - if (RegCreateKeyW(hRootKey, progIdNameW, &hKey) != ERROR_SUCCESS) { - goto fail; - } + if (RegCreateKeyW(hRootKey, progIdNameW, &hKey) != ERROR_SUCCESS) { + goto fail; + } - // [hRootKey\OpenRCT2.ext] - if (RegSetValueW(hKey, NULL, REG_SZ, fileTypeTextW, 0) != ERROR_SUCCESS) { - goto fail; - } - // [hRootKey\OpenRCT2.ext\DefaultIcon] - wchar_t szIconW[MAX_PATH]; - printResult = swprintf_s(szIconW, MAX_PATH, L"\"%s\",%d", dllPathW, iconIndex); - assert(printResult >= 0); - UNUSED(printResult); - if (RegSetValueW(hKey, L"DefaultIcon", REG_SZ, szIconW, 0) != ERROR_SUCCESS) { - goto fail; - } + // [hRootKey\OpenRCT2.ext] + if (RegSetValueW(hKey, NULL, REG_SZ, fileTypeTextW, 0) != ERROR_SUCCESS) { + goto fail; + } + // [hRootKey\OpenRCT2.ext\DefaultIcon] + wchar_t szIconW[MAX_PATH]; + printResult = swprintf_s(szIconW, MAX_PATH, L"\"%s\",%d", dllPathW, iconIndex); + assert(printResult >= 0); + UNUSED(printResult); + if (RegSetValueW(hKey, L"DefaultIcon", REG_SZ, szIconW, 0) != ERROR_SUCCESS) { + goto fail; + } - // [hRootKey\OpenRCT2.sv6\shell] - if (RegSetValueW(hKey, L"shell", REG_SZ, L"open", 0) != ERROR_SUCCESS) { - goto fail; - } + // [hRootKey\OpenRCT2.sv6\shell] + if (RegSetValueW(hKey, L"shell", REG_SZ, L"open", 0) != ERROR_SUCCESS) { + goto fail; + } - // [hRootKey\OpenRCT2.sv6\shell\open] - if (RegSetValueW(hKey, L"shell\\open", REG_SZ, commandTextW, 0) != ERROR_SUCCESS) { - goto fail; - } + // [hRootKey\OpenRCT2.sv6\shell\open] + if (RegSetValueW(hKey, L"shell\\open", REG_SZ, commandTextW, 0) != ERROR_SUCCESS) { + goto fail; + } - // [hRootKey\OpenRCT2.sv6\shell\open\command] - wchar_t szCommandW[MAX_PATH]; - printResult = swprintf_s(szCommandW, MAX_PATH, L"\"%s\" %s", exePathW, commandArgsW); - UNUSED(printResult); - assert(printResult >= 0); - if (RegSetValueW(hKey, L"shell\\open\\command", REG_SZ, szCommandW, 0) != ERROR_SUCCESS) { - goto fail; - } + // [hRootKey\OpenRCT2.sv6\shell\open\command] + wchar_t szCommandW[MAX_PATH]; + printResult = swprintf_s(szCommandW, MAX_PATH, L"\"%s\" %s", exePathW, commandArgsW); + UNUSED(printResult); + assert(printResult >= 0); + if (RegSetValueW(hKey, L"shell\\open\\command", REG_SZ, szCommandW, 0) != ERROR_SUCCESS) { + goto fail; + } - result = true; + result = true; fail: - free(extensionW); - free(fileTypeTextW); - free(commandTextW); - free(commandArgsW); - RegCloseKey(hKey); - RegCloseKey(hRootKey); - return result; + free(extensionW); + free(fileTypeTextW); + free(commandTextW); + free(commandArgsW); + RegCloseKey(hKey); + RegCloseKey(hRootKey); + return result; } static void windows_remove_file_association(const utf8 * extension) { - // [HKEY_CURRENT_USER\Software\Classes] - HKEY hRootKey; - if (RegOpenKeyW(HKEY_CURRENT_USER, SOFTWARE_CLASSES, &hRootKey) == ERROR_SUCCESS) { - // [hRootKey\.ext] - RegDeleteTreeA(hRootKey, extension); + // [HKEY_CURRENT_USER\Software\Classes] + HKEY hRootKey; + if (RegOpenKeyW(HKEY_CURRENT_USER, SOFTWARE_CLASSES, &hRootKey) == ERROR_SUCCESS) { + // [hRootKey\.ext] + RegDeleteTreeA(hRootKey, extension); - // [hRootKey\OpenRCT2.ext] - wchar_t progIdName[128]; - get_progIdName(progIdName, extension); - RegDeleteTreeW(hRootKey, progIdName); + // [hRootKey\OpenRCT2.ext] + wchar_t progIdName[128]; + get_progIdName(progIdName, extension); + RegDeleteTreeW(hRootKey, progIdName); - RegCloseKey(hRootKey); - } + RegCloseKey(hRootKey); + } } void platform_setup_file_associations() { - // Setup file extensions - windows_setup_file_association(".sc4", "RCT1 Scenario (.sc4)", "Play", "\"%1\"", 0); - windows_setup_file_association(".sc6", "RCT2 Scenario (.sc6)", "Play", "\"%1\"", 0); - windows_setup_file_association(".sv4", "RCT1 Saved Game (.sc4)", "Play", "\"%1\"", 0); - windows_setup_file_association(".sv6", "RCT2 Saved Game (.sv6)", "Play", "\"%1\"", 0); - windows_setup_file_association(".td4", "RCT1 Track Design (.td4)", "Install", "\"%1\"", 0); - windows_setup_file_association(".td6", "RCT2 Track Design (.td6)", "Install", "\"%1\"", 0); + // Setup file extensions + windows_setup_file_association(".sc4", "RCT1 Scenario (.sc4)", "Play", "\"%1\"", 0); + windows_setup_file_association(".sc6", "RCT2 Scenario (.sc6)", "Play", "\"%1\"", 0); + windows_setup_file_association(".sv4", "RCT1 Saved Game (.sc4)", "Play", "\"%1\"", 0); + windows_setup_file_association(".sv6", "RCT2 Saved Game (.sv6)", "Play", "\"%1\"", 0); + windows_setup_file_association(".td4", "RCT1 Track Design (.td4)", "Install", "\"%1\"", 0); + windows_setup_file_association(".td6", "RCT2 Track Design (.td6)", "Install", "\"%1\"", 0); - // Refresh explorer - SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL); + // Refresh explorer + SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL); } void platform_remove_file_associations() { - // Remove file extensions - windows_remove_file_association(".sc4"); - windows_remove_file_association(".sc6"); - windows_remove_file_association(".sv4"); - windows_remove_file_association(".sv6"); - windows_remove_file_association(".td4"); - windows_remove_file_association(".td6"); + // Remove file extensions + windows_remove_file_association(".sc4"); + windows_remove_file_association(".sc6"); + windows_remove_file_association(".sv4"); + windows_remove_file_association(".sv6"); + windows_remove_file_association(".td4"); + windows_remove_file_association(".td6"); - // Refresh explorer - SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL); + // Refresh explorer + SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL); } /////////////////////////////////////////////////////////////////////////////// @@ -1048,51 +1048,51 @@ void platform_remove_file_associations() bool platform_setup_uri_protocol() { - log_verbose("Setting up URI protocol..."); + log_verbose("Setting up URI protocol..."); - // [HKEY_CURRENT_USER\Software\Classes] - HKEY hRootKey; - if (RegOpenKeyW(HKEY_CURRENT_USER, SOFTWARE_CLASSES, &hRootKey) == ERROR_SUCCESS) { - // [hRootKey\openrct2] - HKEY hClassKey; - if (RegCreateKeyA(hRootKey, "openrct2", &hClassKey) == ERROR_SUCCESS) { - if (RegSetValueA(hClassKey, NULL, REG_SZ, "URL:openrct2", 0) == ERROR_SUCCESS) { - if (RegSetKeyValueA(hClassKey, NULL, "URL Protocol", REG_SZ, "", 0) == ERROR_SUCCESS) { - // [hRootKey\openrct2\shell\open\command] - wchar_t exePath[MAX_PATH]; - GetModuleFileNameW(NULL, exePath, MAX_PATH); + // [HKEY_CURRENT_USER\Software\Classes] + HKEY hRootKey; + if (RegOpenKeyW(HKEY_CURRENT_USER, SOFTWARE_CLASSES, &hRootKey) == ERROR_SUCCESS) { + // [hRootKey\openrct2] + HKEY hClassKey; + if (RegCreateKeyA(hRootKey, "openrct2", &hClassKey) == ERROR_SUCCESS) { + if (RegSetValueA(hClassKey, NULL, REG_SZ, "URL:openrct2", 0) == ERROR_SUCCESS) { + if (RegSetKeyValueA(hClassKey, NULL, "URL Protocol", REG_SZ, "", 0) == ERROR_SUCCESS) { + // [hRootKey\openrct2\shell\open\command] + wchar_t exePath[MAX_PATH]; + GetModuleFileNameW(NULL, exePath, MAX_PATH); - wchar_t buffer[512]; - swprintf_s(buffer, sizeof(buffer), L"\"%s\" handle-uri \"%%1\"", exePath); - if (RegSetValueW(hClassKey, L"shell\\open\\command", REG_SZ, buffer, 0) == ERROR_SUCCESS) { - // Not compulsory, but gives the application a nicer name - // [HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache] - HKEY hMuiCacheKey; - if (RegCreateKeyW(hRootKey, MUI_CACHE, &hMuiCacheKey) == ERROR_SUCCESS) { - swprintf_s(buffer, sizeof(buffer), L"%s.FriendlyAppName", exePath); - // mingw-w64 used to define RegSetKeyValueW's signature incorrectly - // You need at least mingw-w64 5.0 including this commit: - // https://sourceforge.net/p/mingw-w64/mingw-w64/ci/da9341980a4b70be3563ac09b5927539e7da21f7/ - RegSetKeyValueW(hMuiCacheKey, NULL, buffer, REG_SZ, L"OpenRCT2", sizeof(L"OpenRCT2") + 1); - } + wchar_t buffer[512]; + swprintf_s(buffer, sizeof(buffer), L"\"%s\" handle-uri \"%%1\"", exePath); + if (RegSetValueW(hClassKey, L"shell\\open\\command", REG_SZ, buffer, 0) == ERROR_SUCCESS) { + // Not compulsory, but gives the application a nicer name + // [HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache] + HKEY hMuiCacheKey; + if (RegCreateKeyW(hRootKey, MUI_CACHE, &hMuiCacheKey) == ERROR_SUCCESS) { + swprintf_s(buffer, sizeof(buffer), L"%s.FriendlyAppName", exePath); + // mingw-w64 used to define RegSetKeyValueW's signature incorrectly + // You need at least mingw-w64 5.0 including this commit: + // https://sourceforge.net/p/mingw-w64/mingw-w64/ci/da9341980a4b70be3563ac09b5927539e7da21f7/ + RegSetKeyValueW(hMuiCacheKey, NULL, buffer, REG_SZ, L"OpenRCT2", sizeof(L"OpenRCT2") + 1); + } - log_verbose("URI protocol setup successful"); - return true; - } - } - } - } - } + log_verbose("URI protocol setup successful"); + return true; + } + } + } + } + } - log_verbose("URI protocol setup failed"); - return false; + log_verbose("URI protocol setup failed"); + return false; } /////////////////////////////////////////////////////////////////////////////// sint32 platform_get_non_window_flags() { - return SDL_WINDOW_MAXIMIZED | SDL_WINDOW_MINIMIZED | SDL_WINDOW_FULLSCREEN | SDL_WINDOW_FULLSCREEN_DESKTOP; + return SDL_WINDOW_MAXIMIZED | SDL_WINDOW_MINIMIZED | SDL_WINDOW_FULLSCREEN | SDL_WINDOW_FULLSCREEN_DESKTOP; } #endif diff --git a/src/openrct2/rct1.c b/src/openrct2/rct1.c index a4439afa27..2fe0790465 100644 --- a/src/openrct2/rct1.c +++ b/src/openrct2/rct1.c @@ -23,115 +23,115 @@ bool rideTypeShouldLoseSeparateFlag(const rct_ride_entry *rideEntry) { - if (!gConfigInterface.select_by_track_type) { - return false; - } + if (!gConfigInterface.select_by_track_type) { + return false; + } - bool remove_flag = true; - for (sint32 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { - if (rideEntry->ride_type[j] == RIDE_TYPE_NULL) { - continue; - } - if (ride_type_has_flag(rideEntry->ride_type[j], RIDE_TYPE_FLAG_FLAT_RIDE)) { - remove_flag = false; - } - if (rideEntry->ride_type[j] == RIDE_TYPE_MAZE || rideEntry->ride_type[j] == RIDE_TYPE_MINI_GOLF) { - remove_flag = false; - } - } - return remove_flag; + bool remove_flag = true; + for (sint32 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { + if (rideEntry->ride_type[j] == RIDE_TYPE_NULL) { + continue; + } + if (ride_type_has_flag(rideEntry->ride_type[j], RIDE_TYPE_FLAG_FLAT_RIDE)) { + remove_flag = false; + } + if (rideEntry->ride_type[j] == RIDE_TYPE_MAZE || rideEntry->ride_type[j] == RIDE_TYPE_MINI_GOLF) { + remove_flag = false; + } + } + return remove_flag; } const uint8 gRideCategories[] = { - 2, // Spiral Roller coaster - 2, // Stand Up Coaster - 2, // Suspended Swinging - 2, // Inverted - 2, // Steel Mini Coaster - 0, // Mini Railroad - 0, // Monorail - 2, // Mini Suspended Coaster - 4, // Boat ride - 2, // Wooden Wild Mine/Mouse - 2, // Steeplechase/Motorbike/Soap Box Derby - 1, // Car Ride - 3, // Launched Freefall - 2, // Bobsleigh Coaster - 1, // Observation Tower - 2, // Looping Roller Coaster - 4, // Dinghy Slide - 2, // Mine Train Coaster - 0, // Chairlift - 2, // Corkscrew Roller Coaster - 1, // Maze - 1, // Spiral Slide - 3, // Go Karts - 4, // Log Flume - 4, // River Rapids - 1, // Dodgems - 3, // Pirate Ship - 3, // Swinging Inverter Ship - 5, // Food Stall - 255, // (none) - 5, // Drink Stall - 255, // (none) - 5, // Shop (all types) - 1, // Merry Go Round - 5, // Balloon Stall (maybe) - 5, // Information Kiosk - 5, // Bathroom - 1, // Ferris Wheel - 3, // Motion Simulator - 3, // 3D Cinema - 3, // Top Spin - 1, // Space Rings - 2, // Reverse Freefall Coaster - 0, // Elevator - 2, // Vertical Drop Roller Coaster - 5, // ATM - 3, // Twist - 1, // Haunted House - 5, // First Aid - 1, // Circus Show - 1, // Ghost Train - 2, // Twister Roller Coaster - 2, // Wooden Roller Coaster - 2, // Side-Friction Roller Coaster - 2, // Wild Mouse - 2, // Multi Dimension Coaster - 255, // (none) - 2, // Flying Roller Coaster - 255, // (none) - 2, // Virginia Reel - 4, // Splash Boats - 1, // Mini Helicopters - 2, // Lay-down Roller Coaster - 0, // Suspended Monorail - 255, // (none) - 2, // Reverser Roller Coaster - 2, // Heartline Twister Roller Coaster - 1, // Mini Golf - 2, // Giga Coaster - 3, // Roto-Drop - 1, // Flying Saucers - 1, // Crooked House - 1, // Monorail Cycles - 2, // Compact Inverted Coaster - 2, // Water Coaster - 2, // Air Powered Vertical Coaster - 2, // Inverted Hairpin Coaster - 3, // Magic Carpet - 4, // Submarine Ride - 4, // River Rafts - 255, // (none) - 3, // Enterprise - 255, // (none) - 255, // (none) - 255, // (none) - 255, // (none) - 2, // Inverted Impulse Coaster - 2, // Mini Roller Coaster - 2, // Mine Ride - 255, // 59 Unknown Ride - 2 // LIM Launched Roller Coaster + 2, // Spiral Roller coaster + 2, // Stand Up Coaster + 2, // Suspended Swinging + 2, // Inverted + 2, // Steel Mini Coaster + 0, // Mini Railroad + 0, // Monorail + 2, // Mini Suspended Coaster + 4, // Boat ride + 2, // Wooden Wild Mine/Mouse + 2, // Steeplechase/Motorbike/Soap Box Derby + 1, // Car Ride + 3, // Launched Freefall + 2, // Bobsleigh Coaster + 1, // Observation Tower + 2, // Looping Roller Coaster + 4, // Dinghy Slide + 2, // Mine Train Coaster + 0, // Chairlift + 2, // Corkscrew Roller Coaster + 1, // Maze + 1, // Spiral Slide + 3, // Go Karts + 4, // Log Flume + 4, // River Rapids + 1, // Dodgems + 3, // Pirate Ship + 3, // Swinging Inverter Ship + 5, // Food Stall + 255, // (none) + 5, // Drink Stall + 255, // (none) + 5, // Shop (all types) + 1, // Merry Go Round + 5, // Balloon Stall (maybe) + 5, // Information Kiosk + 5, // Bathroom + 1, // Ferris Wheel + 3, // Motion Simulator + 3, // 3D Cinema + 3, // Top Spin + 1, // Space Rings + 2, // Reverse Freefall Coaster + 0, // Elevator + 2, // Vertical Drop Roller Coaster + 5, // ATM + 3, // Twist + 1, // Haunted House + 5, // First Aid + 1, // Circus Show + 1, // Ghost Train + 2, // Twister Roller Coaster + 2, // Wooden Roller Coaster + 2, // Side-Friction Roller Coaster + 2, // Wild Mouse + 2, // Multi Dimension Coaster + 255, // (none) + 2, // Flying Roller Coaster + 255, // (none) + 2, // Virginia Reel + 4, // Splash Boats + 1, // Mini Helicopters + 2, // Lay-down Roller Coaster + 0, // Suspended Monorail + 255, // (none) + 2, // Reverser Roller Coaster + 2, // Heartline Twister Roller Coaster + 1, // Mini Golf + 2, // Giga Coaster + 3, // Roto-Drop + 1, // Flying Saucers + 1, // Crooked House + 1, // Monorail Cycles + 2, // Compact Inverted Coaster + 2, // Water Coaster + 2, // Air Powered Vertical Coaster + 2, // Inverted Hairpin Coaster + 3, // Magic Carpet + 4, // Submarine Ride + 4, // River Rafts + 255, // (none) + 3, // Enterprise + 255, // (none) + 255, // (none) + 255, // (none) + 255, // (none) + 2, // Inverted Impulse Coaster + 2, // Mini Roller Coaster + 2, // Mine Ride + 255, // 59 Unknown Ride + 2 // LIM Launched Roller Coaster }; diff --git a/src/openrct2/rct1.h b/src/openrct2/rct1.h index 5dc3a17e05..4d5d9c999c 100644 --- a/src/openrct2/rct1.h +++ b/src/openrct2/rct1.h @@ -36,10 +36,10 @@ #pragma pack(push, 1) typedef struct rct1_entrance { - uint16 x; - uint16 y; - uint16 z; - uint8 direction; + uint16 x; + uint16 y; + uint16 z; + uint8 direction; } rct1_entrance; assert_struct_size(rct1_entrance, 7); @@ -48,520 +48,520 @@ assert_struct_size(rct1_entrance, 7); * size: 0x260 */ typedef struct rct1_ride { - uint8 type; - uint8 vehicle_type; - uint16 lifecycle_flags; - uint8 operating_mode; - uint8 colour_scheme; - struct { - colour_t body; - colour_t trim; - } vehicle_colours[RCT1_MAX_TRAINS_PER_RIDE]; - colour_t track_primary_colour; - colour_t track_secondary_colour; - colour_t track_support_colour; - uint8 status; - uint16 name; - uint16 name_argument_ride; - uint16 name_argument_number; - uint16 overall_view; - uint16 station_starts[RCT12_MAX_STATIONS_PER_RIDE]; - uint8 station_height[RCT12_MAX_STATIONS_PER_RIDE]; - uint8 station_length[RCT12_MAX_STATIONS_PER_RIDE]; - uint8 station_light[RCT12_MAX_STATIONS_PER_RIDE]; - uint8 station_depart[RCT12_MAX_STATIONS_PER_RIDE]; - uint16 entrance[RCT12_MAX_STATIONS_PER_RIDE]; - uint16 exit[RCT12_MAX_STATIONS_PER_RIDE]; - uint16 last_peep_in_queue[RCT12_MAX_STATIONS_PER_RIDE]; - uint8 num_peeps_in_queue[RCT12_MAX_STATIONS_PER_RIDE]; - uint16 vehicles[RCT1_MAX_TRAINS_PER_RIDE]; - uint8 depart_flags; - uint8 num_stations; - uint8 num_trains; - uint8 num_cars_per_train; - uint8 proposed_num_vehicles; // 0x7A - uint8 proposed_num_cars_per_train; // 0x7B - uint8 max_trains; - uint8 min_max_cars_per_train; // 0x7D - uint8 min_waiting_time; - uint8 max_waiting_time; - uint8 operation_option; - uint8 boat_hire_return_direction; - rct_xy8 boat_hire_return_position; - uint8 data_logging_index; - uint8 special_track_elements; - uint16 unk_86; - sint32 max_speed; - sint32 average_speed; - uint8 current_test_segment; // 0x90 - uint8 average_speed_test_timeout; // 0x91 - uint8 pad_0E2[0x2]; // 0x92 - sint32 length[RCT12_MAX_STATIONS_PER_RIDE]; - uint16 time[RCT12_MAX_STATIONS_PER_RIDE]; - fixed16_2dp max_positive_vertical_g; - fixed16_2dp max_negative_vertical_g; - fixed16_2dp max_lateral_g; - fixed16_2dp previous_vertical_g;// 0xB2 - fixed16_2dp previous_lateral_g; // 0xB4 - uint8 pad_106[0x2]; - uint32 testing_flags; // 0xB8 - // x y map location of the current track piece during a test - // this is to prevent counting special tracks multiple times - rct_xy8 cur_test_track_location; // 0xBC - // Next 3 variables are related (XXXX XYYY ZZZa aaaa) - uint16 turn_count_default; // 0xBE X = current turn count - uint16 turn_count_banked; // 0xC0 - uint16 turn_count_sloped; // 0xC2 X = number turns > 3 elements - union { - uint8 num_inversions; - uint8 num_holes; - }; - uint8 num_drops; - uint8 start_drop_height; - uint8 highest_drop_height; - sint32 sheltered_length; - uint8 unk_CC[2]; - uint8 num_sheltered_sections; - // see cur_test_track_location - uint8 cur_test_track_z; // 0xCF - sint16 unk_D0; - sint16 unk_D2; - sint16 customers_per_hour; - sint16 unk_D6; - sint16 unk_D8; - sint16 unk_DA; - sint16 unk_DC; - sint16 unk_DE; - uint16 age; - sint16 running_cost; - sint16 unk_E4; - sint16 unk_E6; - money16 price; - rct_xy8 chairlift_bullwheel_location[2]; // 0xEA - uint8 chairlift_bullwheel_z[2]; // 0xEE - union { - rating_tuple ratings; - struct { - ride_rating excitement; - ride_rating intensity; - ride_rating nausea; - }; - }; - uint16 value; - uint16 chairlift_bullwheel_rotation; // 0xF8 - uint8 satisfaction; - uint8 satisfaction_time_out; - uint8 satisfaction_next; - uint8 window_invalidate_flags; - uint8 unk_FE[2]; - uint32 total_customers; - money32 total_profit; - uint8 popularity; - uint8 popularity_time_out; - uint8 popularity_next; - uint8 num_riders; - uint8 music_tune_id; // 0x10C - uint8 slide_in_use; // 0x10D - union { - uint16 slide_peep; // 0x10E - uint16 maze_tiles; // 0x10E - }; - uint8 pad_110[0xE]; - uint8 slide_peep_t_shirt_colour;// 0x11E - uint8 pad_11F[0x7]; - uint8 spiral_slide_progress; // 0x126 - uint8 pad_127[0x9]; - sint16 build_date; // 0x130 - money16 upkeep_cost; // 0x131 - uint16 race_winner; // 0x132 - uint8 unk_134[2]; - uint32 music_position; // 0x138 - uint8 breakdown_reason_pending; // 0x13C - uint8 mechanic_status; // 0x13D - uint16 mechanic; // 0x13E - uint8 inspection_station; // 0x140 - uint8 broken_vehicle; // 0x141 - uint8 broken_car; // 0x142 - uint8 breakdown_reason; // 0x143 - uint8 unk_144[2]; - uint16 reliability; - uint8 unreliability_factor; - uint8 unk_148; - uint8 inspection_interval; - uint8 last_inspection; - uint8 unk_14C[20]; - money32 income_per_hour; - money32 profit; - uint8 queue_time[RCT12_MAX_STATIONS_PER_RIDE]; - colour_t track_colour_main[4]; - colour_t track_colour_additional[4]; - colour_t track_colour_supports[4]; - uint8 music; - uint8 entrance_style; - uint8 unk_17A[230]; + uint8 type; + uint8 vehicle_type; + uint16 lifecycle_flags; + uint8 operating_mode; + uint8 colour_scheme; + struct { + colour_t body; + colour_t trim; + } vehicle_colours[RCT1_MAX_TRAINS_PER_RIDE]; + colour_t track_primary_colour; + colour_t track_secondary_colour; + colour_t track_support_colour; + uint8 status; + uint16 name; + uint16 name_argument_ride; + uint16 name_argument_number; + uint16 overall_view; + uint16 station_starts[RCT12_MAX_STATIONS_PER_RIDE]; + uint8 station_height[RCT12_MAX_STATIONS_PER_RIDE]; + uint8 station_length[RCT12_MAX_STATIONS_PER_RIDE]; + uint8 station_light[RCT12_MAX_STATIONS_PER_RIDE]; + uint8 station_depart[RCT12_MAX_STATIONS_PER_RIDE]; + uint16 entrance[RCT12_MAX_STATIONS_PER_RIDE]; + uint16 exit[RCT12_MAX_STATIONS_PER_RIDE]; + uint16 last_peep_in_queue[RCT12_MAX_STATIONS_PER_RIDE]; + uint8 num_peeps_in_queue[RCT12_MAX_STATIONS_PER_RIDE]; + uint16 vehicles[RCT1_MAX_TRAINS_PER_RIDE]; + uint8 depart_flags; + uint8 num_stations; + uint8 num_trains; + uint8 num_cars_per_train; + uint8 proposed_num_vehicles; // 0x7A + uint8 proposed_num_cars_per_train; // 0x7B + uint8 max_trains; + uint8 min_max_cars_per_train; // 0x7D + uint8 min_waiting_time; + uint8 max_waiting_time; + uint8 operation_option; + uint8 boat_hire_return_direction; + rct_xy8 boat_hire_return_position; + uint8 data_logging_index; + uint8 special_track_elements; + uint16 unk_86; + sint32 max_speed; + sint32 average_speed; + uint8 current_test_segment; // 0x90 + uint8 average_speed_test_timeout; // 0x91 + uint8 pad_0E2[0x2]; // 0x92 + sint32 length[RCT12_MAX_STATIONS_PER_RIDE]; + uint16 time[RCT12_MAX_STATIONS_PER_RIDE]; + fixed16_2dp max_positive_vertical_g; + fixed16_2dp max_negative_vertical_g; + fixed16_2dp max_lateral_g; + fixed16_2dp previous_vertical_g;// 0xB2 + fixed16_2dp previous_lateral_g; // 0xB4 + uint8 pad_106[0x2]; + uint32 testing_flags; // 0xB8 + // x y map location of the current track piece during a test + // this is to prevent counting special tracks multiple times + rct_xy8 cur_test_track_location; // 0xBC + // Next 3 variables are related (XXXX XYYY ZZZa aaaa) + uint16 turn_count_default; // 0xBE X = current turn count + uint16 turn_count_banked; // 0xC0 + uint16 turn_count_sloped; // 0xC2 X = number turns > 3 elements + union { + uint8 num_inversions; + uint8 num_holes; + }; + uint8 num_drops; + uint8 start_drop_height; + uint8 highest_drop_height; + sint32 sheltered_length; + uint8 unk_CC[2]; + uint8 num_sheltered_sections; + // see cur_test_track_location + uint8 cur_test_track_z; // 0xCF + sint16 unk_D0; + sint16 unk_D2; + sint16 customers_per_hour; + sint16 unk_D6; + sint16 unk_D8; + sint16 unk_DA; + sint16 unk_DC; + sint16 unk_DE; + uint16 age; + sint16 running_cost; + sint16 unk_E4; + sint16 unk_E6; + money16 price; + rct_xy8 chairlift_bullwheel_location[2]; // 0xEA + uint8 chairlift_bullwheel_z[2]; // 0xEE + union { + rating_tuple ratings; + struct { + ride_rating excitement; + ride_rating intensity; + ride_rating nausea; + }; + }; + uint16 value; + uint16 chairlift_bullwheel_rotation; // 0xF8 + uint8 satisfaction; + uint8 satisfaction_time_out; + uint8 satisfaction_next; + uint8 window_invalidate_flags; + uint8 unk_FE[2]; + uint32 total_customers; + money32 total_profit; + uint8 popularity; + uint8 popularity_time_out; + uint8 popularity_next; + uint8 num_riders; + uint8 music_tune_id; // 0x10C + uint8 slide_in_use; // 0x10D + union { + uint16 slide_peep; // 0x10E + uint16 maze_tiles; // 0x10E + }; + uint8 pad_110[0xE]; + uint8 slide_peep_t_shirt_colour;// 0x11E + uint8 pad_11F[0x7]; + uint8 spiral_slide_progress; // 0x126 + uint8 pad_127[0x9]; + sint16 build_date; // 0x130 + money16 upkeep_cost; // 0x131 + uint16 race_winner; // 0x132 + uint8 unk_134[2]; + uint32 music_position; // 0x138 + uint8 breakdown_reason_pending; // 0x13C + uint8 mechanic_status; // 0x13D + uint16 mechanic; // 0x13E + uint8 inspection_station; // 0x140 + uint8 broken_vehicle; // 0x141 + uint8 broken_car; // 0x142 + uint8 breakdown_reason; // 0x143 + uint8 unk_144[2]; + uint16 reliability; + uint8 unreliability_factor; + uint8 unk_148; + uint8 inspection_interval; + uint8 last_inspection; + uint8 unk_14C[20]; + money32 income_per_hour; + money32 profit; + uint8 queue_time[RCT12_MAX_STATIONS_PER_RIDE]; + colour_t track_colour_main[4]; + colour_t track_colour_additional[4]; + colour_t track_colour_supports[4]; + uint8 music; + uint8 entrance_style; + uint8 unk_17A[230]; } rct1_ride; assert_struct_size(rct1_ride, 0x260); typedef struct rct1_unk_sprite { - uint8 sprite_identifier; // 0x00 - uint8 misc_identifier; // 0x01 - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - // Height from center of sprite to bottom - uint8 sprite_height_negative; // 0x09 - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - // Width from center of sprite to edge - uint8 sprite_width; // 0x14 - // Height from center of sprite to top - uint8 sprite_height_positive; // 0x15 - sint16 sprite_left; // 0x16 - sint16 sprite_top; // 0x18 - sint16 sprite_right; // 0x1A - sint16 sprite_bottom; // 0x1C - uint8 sprite_direction; //direction of sprite? 0x1e - uint8 pad_1F[3]; // 0x1f - rct_string_id name_string_idx; // 0x22 - uint16 var_24; - uint16 frame; // 0x26 - uint8 var_28[3]; - uint8 var_2B; - uint8 pad_2C[0x45]; - uint8 var_71; + uint8 sprite_identifier; // 0x00 + uint8 misc_identifier; // 0x01 + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + // Height from center of sprite to bottom + uint8 sprite_height_negative; // 0x09 + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + // Width from center of sprite to edge + uint8 sprite_width; // 0x14 + // Height from center of sprite to top + uint8 sprite_height_positive; // 0x15 + sint16 sprite_left; // 0x16 + sint16 sprite_top; // 0x18 + sint16 sprite_right; // 0x1A + sint16 sprite_bottom; // 0x1C + uint8 sprite_direction; //direction of sprite? 0x1e + uint8 pad_1F[3]; // 0x1f + rct_string_id name_string_idx; // 0x22 + uint16 var_24; + uint16 frame; // 0x26 + uint8 var_28[3]; + uint8 var_2B; + uint8 pad_2C[0x45]; + uint8 var_71; } rct1_unk_sprite; typedef struct rct1_vehicle { - uint8 sprite_identifier; // 0x00 - uint8 is_child; // 0x01 - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - // Height from center of sprite to bottom - uint8 sprite_height_negative; // 0x09 - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - // Width from center of sprite to edge - uint8 sprite_width; // 0x14 - // Height from center of sprite to top - uint8 sprite_height_positive; // 0x15 - sint16 sprite_left; // 0x16 - sint16 sprite_top; // 0x18 - sint16 sprite_right; // 0x1A - sint16 sprite_bottom; // 0x1C - uint8 sprite_direction; // 0x1E - uint8 vehicle_sprite_type; // 0x1F - uint8 bank_rotation; // 0x20 - uint8 pad_21[3]; - sint32 remaining_distance; // 0x24 - sint32 velocity; // 0x28 - sint32 acceleration; // 0x2C - uint8 ride; // 0x30 - uint8 vehicle_type; // 0x31 - rct_vehicle_colour colours; // 0x32 - union { - uint16 track_progress; // 0x34 - struct { - sint8 var_34; - uint8 var_35; - }; - }; - union { - sint16 track_direction; // 0x36 (0000 0000 0000 0011) - sint16 track_type; // 0x36 (0000 0011 1111 1100) - rct_xy8 boat_location; // 0x36 - }; - uint16 track_x; // 0x38 - uint16 track_y; // 0x3A - uint16 track_z; // 0x3C - uint16 next_vehicle_on_train; // 0x3E + uint8 sprite_identifier; // 0x00 + uint8 is_child; // 0x01 + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + // Height from center of sprite to bottom + uint8 sprite_height_negative; // 0x09 + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + // Width from center of sprite to edge + uint8 sprite_width; // 0x14 + // Height from center of sprite to top + uint8 sprite_height_positive; // 0x15 + sint16 sprite_left; // 0x16 + sint16 sprite_top; // 0x18 + sint16 sprite_right; // 0x1A + sint16 sprite_bottom; // 0x1C + uint8 sprite_direction; // 0x1E + uint8 vehicle_sprite_type; // 0x1F + uint8 bank_rotation; // 0x20 + uint8 pad_21[3]; + sint32 remaining_distance; // 0x24 + sint32 velocity; // 0x28 + sint32 acceleration; // 0x2C + uint8 ride; // 0x30 + uint8 vehicle_type; // 0x31 + rct_vehicle_colour colours; // 0x32 + union { + uint16 track_progress; // 0x34 + struct { + sint8 var_34; + uint8 var_35; + }; + }; + union { + sint16 track_direction; // 0x36 (0000 0000 0000 0011) + sint16 track_type; // 0x36 (0000 0011 1111 1100) + rct_xy8 boat_location; // 0x36 + }; + uint16 track_x; // 0x38 + uint16 track_y; // 0x3A + uint16 track_z; // 0x3C + uint16 next_vehicle_on_train; // 0x3E - // The previous vehicle on the same train or the last vehicle on the previous or only train. - uint16 prev_vehicle_on_ride; // 0x40 + // The previous vehicle on the same train or the last vehicle on the previous or only train. + uint16 prev_vehicle_on_ride; // 0x40 - // The next vehicle on the same train or the first vehicle on the next or only train - uint16 next_vehicle_on_ride; // 0x42 + // The next vehicle on the same train or the first vehicle on the next or only train + uint16 next_vehicle_on_ride; // 0x42 - uint16 var_44; - uint16 friction; // 0x46 - uint16 update_flags; // 0x48 - uint8 var_4A; - uint8 current_station; // 0x4B - union { - sint16 swinging_car_var_0; // 0x4C - sint16 current_time; // 0x4C - struct { - sint8 ferris_wheel_var_0; // 0x4C - sint8 ferris_wheel_var_1; // 0x4D - }; - }; - sint16 var_4E; - uint8 status; // 0x50 - uint8 sub_state; // 0x51 - uint16 peep[32]; // 0x52 - uint8 peep_tshirt_colours[32]; // 0x92 - uint8 num_seats; // 0xB2 - uint8 num_peeps; // 0xB3 - uint8 next_free_seat; // 0xB4 - uint8 restraints_position; // 0xB5 0 == Close, 255 == Open - sint16 var_B6; - uint16 var_B8; - uint8 var_BA; - uint8 sound1_id; // 0xBB - uint8 sound1_volume; // 0xBC - uint8 sound2_id; // 0xBD - uint8 sound2_volume; // 0xBE - sint8 var_BF; - union { - uint16 var_C0; - uint16 time_waiting; // 0xC0 - uint16 cable_lift_target; // 0xC0 - }; - uint8 speed; // 0xC2 - uint8 powered_acceleration; // 0xC3 - uint8 var_C4; - uint8 var_C5; - uint8 pad_C6[0x2]; - uint16 var_C8; - uint16 var_CA; - uint8 scream_sound_id; // 0xCC - uint8 var_CD; - union { - uint8 var_CE; - uint8 num_laps; // 0xCE - }; - union { - uint8 var_CF; - uint8 brake_speed; // 0xCF - }; - uint16 lost_time_out; // 0xD0 - sint8 vertical_drop_countdown; // 0xD1 - uint8 var_D3; - uint8 mini_golf_current_animation; - uint8 mini_golf_flags; // 0xD5 - uint8 ride_subtype; // 0xD6 - uint8 colours_extended; // 0xD7 + uint16 var_44; + uint16 friction; // 0x46 + uint16 update_flags; // 0x48 + uint8 var_4A; + uint8 current_station; // 0x4B + union { + sint16 swinging_car_var_0; // 0x4C + sint16 current_time; // 0x4C + struct { + sint8 ferris_wheel_var_0; // 0x4C + sint8 ferris_wheel_var_1; // 0x4D + }; + }; + sint16 var_4E; + uint8 status; // 0x50 + uint8 sub_state; // 0x51 + uint16 peep[32]; // 0x52 + uint8 peep_tshirt_colours[32]; // 0x92 + uint8 num_seats; // 0xB2 + uint8 num_peeps; // 0xB3 + uint8 next_free_seat; // 0xB4 + uint8 restraints_position; // 0xB5 0 == Close, 255 == Open + sint16 var_B6; + uint16 var_B8; + uint8 var_BA; + uint8 sound1_id; // 0xBB + uint8 sound1_volume; // 0xBC + uint8 sound2_id; // 0xBD + uint8 sound2_volume; // 0xBE + sint8 var_BF; + union { + uint16 var_C0; + uint16 time_waiting; // 0xC0 + uint16 cable_lift_target; // 0xC0 + }; + uint8 speed; // 0xC2 + uint8 powered_acceleration; // 0xC3 + uint8 var_C4; + uint8 var_C5; + uint8 pad_C6[0x2]; + uint16 var_C8; + uint16 var_CA; + uint8 scream_sound_id; // 0xCC + uint8 var_CD; + union { + uint8 var_CE; + uint8 num_laps; // 0xCE + }; + union { + uint8 var_CF; + uint8 brake_speed; // 0xCF + }; + uint16 lost_time_out; // 0xD0 + sint8 vertical_drop_countdown; // 0xD1 + uint8 var_D3; + uint8 mini_golf_current_animation; + uint8 mini_golf_flags; // 0xD5 + uint8 ride_subtype; // 0xD6 + uint8 colours_extended; // 0xD7 } rct1_vehicle; typedef struct rct1_peep { - uint8 sprite_identifier; // 0x00 - uint8 misc_identifier; // 0x01 - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - // Height from center of sprite to bottom - uint8 sprite_height_negative; // 0x09 - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - // Width from center of sprite to edge - uint8 sprite_width; // 0x14 - // Height from center of sprite to top - uint8 sprite_height_positive; // 0x15 - sint16 sprite_left; // 0x16 - sint16 sprite_top; // 0x18 - sint16 sprite_right; // 0x1A - sint16 sprite_bottom; // 0x1C - uint8 sprite_direction; // 0x1E - uint8 pad_1F[3]; - rct_string_id name_string_idx; // 0x22 - uint16 next_x; // 0x24 - uint16 next_y; // 0x26 - uint8 next_z; // 0x28 - uint8 next_var_29; // 0x29 - uint8 outside_of_park; // 0x2A - uint8 state; // 0x2B - uint8 sub_state; // 0x2C - uint8 sprite_type; // 0x2D - uint8 type; // 0x2E - union{ - uint8 staff_type; // 0x2F - uint8 no_of_rides; // 0x2F - }; - uint8 tshirt_colour; // 0x30 - uint8 trousers_colour; // 0x31 - uint16 destination_x; // 0x32 Location that the peep is trying to get to - uint16 destination_y; // 0x34 - uint8 destination_tolerence; // 0x36 How close to destination before next action/state 0 = exact - uint8 var_37; - uint8 energy; // 0x38 - uint8 energy_growth_rate; // 0x39 - uint8 happiness; // 0x3A - uint8 happiness_growth_rate; // 0x3B - uint8 nausea; // 0x3C - uint8 nausea_growth_rate; // 0x3D - uint8 hunger; // 0x3E - uint8 thirst; // 0x3F - uint8 bathroom; // 0x40 - uint8 var_41; - uint8 var_42; - uint8 intensity; // 0x43 The max intensity is stored in the first 4 bits, and the min intensity in the second 4 bits - uint8 nausea_tolerance; // 0x44 - uint8 window_invalidate_flags; // 0x45 - money16 paid_on_drink; // 0x46 - uint8 ride_types_been_on[16]; // 0x48 - uint32 item_extra_flags; // 0x58 - uint8 photo2_ride_ref; // 0x5C - uint8 photo3_ride_ref; // 0x5D - uint8 photo4_ride_ref; // 0x5E - uint8 pad_5F[0x09]; // 0x5F - uint8 current_ride; // 0x68 - uint8 current_ride_station; // 0x69 - uint8 current_train; // 0x6A - union{ - struct{ - uint8 current_car; // 0x6B - uint8 current_seat; // 0x6C - }; - uint16 time_to_sitdown; //0x6B - struct{ - uint8 time_to_stand; //0x6B - uint8 standing_flags; //0x6C - }; - }; - // Normally 0, 1 for carrying sliding board on spiral slide ride, 2 for carrying lawn mower - uint8 special_sprite; // 0x6D - uint8 action_sprite_type; // 0x6E - // Seems to be used like a local variable, as it's always set before calling peep_switch_to_next_action_sprite_type, which reads this again - uint8 next_action_sprite_type; // 0x6F - uint8 action_sprite_image_offset; // 0x70 - uint8 action; // 0x71 - uint8 action_frame; // 0x72 - uint8 var_73; - union { - uint16 var_74; // time getting to ride to fix - uint16 next_in_queue; // 0x74 - }; - uint8 var_76; - uint8 pad_77; - union{ - uint8 maze_last_edge; // 0x78 - uint8 direction; //Direction ? - }; - uint8 interaction_ride_index; - uint16 time_in_queue; // 0x7A - uint8 rides_been_on[32]; // 0x7C - // 255 bit bitmap of every ride the peep has been on see - // window_peep_rides_update for how to use. - uint32 id; // 0x9C - money32 cash_in_pocket; // 0xA0 - money32 cash_spent; // 0xA4 - sint32 time_in_park; // 0xA8 - sint8 var_AC; // 0xAC - uint8 previous_ride; // 0xAD - uint16 previous_ride_time_out; // 0xAE - rct_peep_thought thoughts[PEEP_MAX_THOUGHTS]; // 0xB0 - uint8 pad_C4; - union { - uint8 staff_id; // 0xC5 - uint8 guest_heading_to_ride_id; // 0xC5 - }; - union { - uint8 staff_orders; // 0xC6 - uint8 peep_is_lost_countdown; // 0xC6 - }; - uint8 photo1_ride_ref; // 0xC7 - uint32 peep_flags; // 0xC8 - rct_xyzd8 pathfind_goal; // 0xCC - rct_xyzd8 pathfind_history[4]; // 0xD0 - uint8 no_action_frame_no; // 0xE0 - // 0x3F Litter Count split into lots of 3 with time, 0xC0 Time since last recalc - uint8 litter_count; // 0xE1 - union{ - uint8 time_on_ride; // 0xE2 - uint8 var_E2; // 0xE2 - }; - // 0x3F Sick Count split into lots of 3 with time, 0xC0 Time since last recalc - uint8 disgusting_count; // 0xE3 - money16 paid_to_enter; // 0xE4 - money16 paid_on_rides; // 0xE6 - money16 paid_on_food; // 0xE8 - money16 paid_on_souvenirs; // 0xEA - uint8 no_of_food; // 0xEC - uint8 no_of_drinks; // 0xED - uint8 no_of_souvenirs; // 0xEE - uint8 var_EF; - uint8 voucher_type; // 0xF0 - uint8 voucher_arguments; // 0xF1 ride_id or string_offset_id - uint8 var_F2; - uint8 var_F3; - uint8 var_F4; - uint8 days_in_queue; // 0xF5 - uint8 balloon_colour; // 0xF6 - uint8 umbrella_colour; // 0xF7 - uint8 hat_colour; // 0xF8 - uint8 favourite_ride; // 0xF9 - uint8 favourite_ride_rating; // 0xFA - uint8 pad_FB; - uint32 item_standard_flags; // 0xFC + uint8 sprite_identifier; // 0x00 + uint8 misc_identifier; // 0x01 + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + // Height from center of sprite to bottom + uint8 sprite_height_negative; // 0x09 + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + // Width from center of sprite to edge + uint8 sprite_width; // 0x14 + // Height from center of sprite to top + uint8 sprite_height_positive; // 0x15 + sint16 sprite_left; // 0x16 + sint16 sprite_top; // 0x18 + sint16 sprite_right; // 0x1A + sint16 sprite_bottom; // 0x1C + uint8 sprite_direction; // 0x1E + uint8 pad_1F[3]; + rct_string_id name_string_idx; // 0x22 + uint16 next_x; // 0x24 + uint16 next_y; // 0x26 + uint8 next_z; // 0x28 + uint8 next_var_29; // 0x29 + uint8 outside_of_park; // 0x2A + uint8 state; // 0x2B + uint8 sub_state; // 0x2C + uint8 sprite_type; // 0x2D + uint8 type; // 0x2E + union{ + uint8 staff_type; // 0x2F + uint8 no_of_rides; // 0x2F + }; + uint8 tshirt_colour; // 0x30 + uint8 trousers_colour; // 0x31 + uint16 destination_x; // 0x32 Location that the peep is trying to get to + uint16 destination_y; // 0x34 + uint8 destination_tolerence; // 0x36 How close to destination before next action/state 0 = exact + uint8 var_37; + uint8 energy; // 0x38 + uint8 energy_growth_rate; // 0x39 + uint8 happiness; // 0x3A + uint8 happiness_growth_rate; // 0x3B + uint8 nausea; // 0x3C + uint8 nausea_growth_rate; // 0x3D + uint8 hunger; // 0x3E + uint8 thirst; // 0x3F + uint8 bathroom; // 0x40 + uint8 var_41; + uint8 var_42; + uint8 intensity; // 0x43 The max intensity is stored in the first 4 bits, and the min intensity in the second 4 bits + uint8 nausea_tolerance; // 0x44 + uint8 window_invalidate_flags; // 0x45 + money16 paid_on_drink; // 0x46 + uint8 ride_types_been_on[16]; // 0x48 + uint32 item_extra_flags; // 0x58 + uint8 photo2_ride_ref; // 0x5C + uint8 photo3_ride_ref; // 0x5D + uint8 photo4_ride_ref; // 0x5E + uint8 pad_5F[0x09]; // 0x5F + uint8 current_ride; // 0x68 + uint8 current_ride_station; // 0x69 + uint8 current_train; // 0x6A + union{ + struct{ + uint8 current_car; // 0x6B + uint8 current_seat; // 0x6C + }; + uint16 time_to_sitdown; //0x6B + struct{ + uint8 time_to_stand; //0x6B + uint8 standing_flags; //0x6C + }; + }; + // Normally 0, 1 for carrying sliding board on spiral slide ride, 2 for carrying lawn mower + uint8 special_sprite; // 0x6D + uint8 action_sprite_type; // 0x6E + // Seems to be used like a local variable, as it's always set before calling peep_switch_to_next_action_sprite_type, which reads this again + uint8 next_action_sprite_type; // 0x6F + uint8 action_sprite_image_offset; // 0x70 + uint8 action; // 0x71 + uint8 action_frame; // 0x72 + uint8 var_73; + union { + uint16 var_74; // time getting to ride to fix + uint16 next_in_queue; // 0x74 + }; + uint8 var_76; + uint8 pad_77; + union{ + uint8 maze_last_edge; // 0x78 + uint8 direction; //Direction ? + }; + uint8 interaction_ride_index; + uint16 time_in_queue; // 0x7A + uint8 rides_been_on[32]; // 0x7C + // 255 bit bitmap of every ride the peep has been on see + // window_peep_rides_update for how to use. + uint32 id; // 0x9C + money32 cash_in_pocket; // 0xA0 + money32 cash_spent; // 0xA4 + sint32 time_in_park; // 0xA8 + sint8 var_AC; // 0xAC + uint8 previous_ride; // 0xAD + uint16 previous_ride_time_out; // 0xAE + rct_peep_thought thoughts[PEEP_MAX_THOUGHTS]; // 0xB0 + uint8 pad_C4; + union { + uint8 staff_id; // 0xC5 + uint8 guest_heading_to_ride_id; // 0xC5 + }; + union { + uint8 staff_orders; // 0xC6 + uint8 peep_is_lost_countdown; // 0xC6 + }; + uint8 photo1_ride_ref; // 0xC7 + uint32 peep_flags; // 0xC8 + rct_xyzd8 pathfind_goal; // 0xCC + rct_xyzd8 pathfind_history[4]; // 0xD0 + uint8 no_action_frame_no; // 0xE0 + // 0x3F Litter Count split into lots of 3 with time, 0xC0 Time since last recalc + uint8 litter_count; // 0xE1 + union{ + uint8 time_on_ride; // 0xE2 + uint8 var_E2; // 0xE2 + }; + // 0x3F Sick Count split into lots of 3 with time, 0xC0 Time since last recalc + uint8 disgusting_count; // 0xE3 + money16 paid_to_enter; // 0xE4 + money16 paid_on_rides; // 0xE6 + money16 paid_on_food; // 0xE8 + money16 paid_on_souvenirs; // 0xEA + uint8 no_of_food; // 0xEC + uint8 no_of_drinks; // 0xED + uint8 no_of_souvenirs; // 0xEE + uint8 var_EF; + uint8 voucher_type; // 0xF0 + uint8 voucher_arguments; // 0xF1 ride_id or string_offset_id + uint8 var_F2; + uint8 var_F3; + uint8 var_F4; + uint8 days_in_queue; // 0xF5 + uint8 balloon_colour; // 0xF6 + uint8 umbrella_colour; // 0xF7 + uint8 hat_colour; // 0xF8 + uint8 favourite_ride; // 0xF9 + uint8 favourite_ride_rating; // 0xFA + uint8 pad_FB; + uint32 item_standard_flags; // 0xFC } rct1_peep; assert_struct_size(rct1_peep, 0x100); enum RCT1_PEEP_SPRITE_TYPE { - RCT1_PEEP_SPRITE_TYPE_NORMAL = 0, - RCT1_PEEP_SPRITE_TYPE_HANDYMAN = 1, - RCT1_PEEP_SPRITE_TYPE_MECHANIC = 2, - RCT1_PEEP_SPRITE_TYPE_SECURITY = 3, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_PANDA = 4, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_TIGER = 5, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_ELEPHANT = 6, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_ROMAN = 7, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_GORILLA = 8, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_SNOWMAN = 9, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_KNIGHT = 10, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_ASTRONAUT = 11, + RCT1_PEEP_SPRITE_TYPE_NORMAL = 0, + RCT1_PEEP_SPRITE_TYPE_HANDYMAN = 1, + RCT1_PEEP_SPRITE_TYPE_MECHANIC = 2, + RCT1_PEEP_SPRITE_TYPE_SECURITY = 3, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_PANDA = 4, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_TIGER = 5, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_ELEPHANT = 6, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_ROMAN = 7, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_GORILLA = 8, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_SNOWMAN = 9, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_KNIGHT = 10, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_ASTRONAUT = 11, - RCT1_PEEP_SPRITE_TYPE_BALLOON = 16, - RCT1_PEEP_SPRITE_TYPE_CANDYFLOSS = 17, - RCT1_PEEP_SPRITE_TYPE_UMBRELLA = 18, - RCT1_PEEP_SPRITE_TYPE_PIZZA = 19, // Unsure - RCT1_PEEP_SPRITE_TYPE_SECURITY_ALT = 20, // Unknown - RCT1_PEEP_SPRITE_TYPE_POPCORN = 21, - RCT1_PEEP_SPRITE_TYPE_ARMS_CROSSED = 22, - RCT1_PEEP_SPRITE_TYPE_HEAD_DOWN = 23, - RCT1_PEEP_SPRITE_TYPE_NAUSEOUS = 24, - RCT1_PEEP_SPRITE_TYPE_VERY_NAUSEOUS = 25, - RCT1_PEEP_SPRITE_TYPE_REQUIRE_BATHROOM = 26, - RCT1_PEEP_SPRITE_TYPE_HAT = 27, - RCT1_PEEP_SPRITE_TYPE_BURGER = 28, - RCT1_PEEP_SPRITE_TYPE_TENTACLE = 29, - RCT1_PEEP_SPRITE_TYPE_TOFFEE_APPLE = 30 + RCT1_PEEP_SPRITE_TYPE_BALLOON = 16, + RCT1_PEEP_SPRITE_TYPE_CANDYFLOSS = 17, + RCT1_PEEP_SPRITE_TYPE_UMBRELLA = 18, + RCT1_PEEP_SPRITE_TYPE_PIZZA = 19, // Unsure + RCT1_PEEP_SPRITE_TYPE_SECURITY_ALT = 20, // Unknown + RCT1_PEEP_SPRITE_TYPE_POPCORN = 21, + RCT1_PEEP_SPRITE_TYPE_ARMS_CROSSED = 22, + RCT1_PEEP_SPRITE_TYPE_HEAD_DOWN = 23, + RCT1_PEEP_SPRITE_TYPE_NAUSEOUS = 24, + RCT1_PEEP_SPRITE_TYPE_VERY_NAUSEOUS = 25, + RCT1_PEEP_SPRITE_TYPE_REQUIRE_BATHROOM = 26, + RCT1_PEEP_SPRITE_TYPE_HAT = 27, + RCT1_PEEP_SPRITE_TYPE_BURGER = 28, + RCT1_PEEP_SPRITE_TYPE_TENTACLE = 29, + RCT1_PEEP_SPRITE_TYPE_TOFFEE_APPLE = 30 }; typedef union rct1_sprite { - uint8 pad_00[0x100]; - rct1_unk_sprite unknown; - rct1_vehicle vehicle; - rct1_peep peep; - rct_litter litter; - rct_balloon balloon; - rct_sprite duck; - rct_jumping_fountain jumping_fountain; - rct_money_effect money_effect; - rct_crashed_vehicle_particle crashed_vehicle_particle; - rct_crash_splash crash_splash; - rct_steam_particle steam_particle; + uint8 pad_00[0x100]; + rct1_unk_sprite unknown; + rct1_vehicle vehicle; + rct1_peep peep; + rct_litter litter; + rct_balloon balloon; + rct_sprite duck; + rct_jumping_fountain jumping_fountain; + rct_money_effect money_effect; + rct_crashed_vehicle_particle crashed_vehicle_particle; + rct_crash_splash crash_splash; + rct_steam_particle steam_particle; } rct1_sprite; assert_struct_size(rct1_sprite, 0x100); typedef struct rct1_research_item { - uint8 item; - uint8 related_ride; - uint8 category; - uint8 flags; - uint8 expenditure_area; + uint8 item; + uint8 related_ride; + uint8 category; + uint8 flags; + uint8 expenditure_area; } rct1_research_item; assert_struct_size(rct1_research_item, 5); @@ -570,171 +570,171 @@ assert_struct_size(rct1_research_item, 5); * size: 0x1F850C */ typedef struct rct1_s4 { - uint16 month; - uint16 day; - uint32 ticks; - uint32 random_a; - uint32 random_b; - rct_map_element map_elements[RCT1_MAX_MAP_ELEMENTS]; - uint32 unk_counter; - rct1_sprite sprites[RCT1_MAX_SPRITES]; - uint16 next_sprite_index; - uint16 first_vehicle_sprite_index; - uint16 first_peep_sprite_index; - uint16 first_duck_sprite_index; - uint16 first_litter_sprite_index; - uint16 first_oversized_ride_car_sprite_index; - uint16 sprites_available; - uint16 num_vehicle_sprites; - uint16 num_peep_sprites; - uint16 num_duck_sprites; - uint16 num_litter_sprites; - uint16 num_oversized_ride_car_sprites; - uint32 park_name_string_index; - uint32 unk_198830; - money32 cash; - money32 loan; - uint32 park_flags; - money16 park_entrance_fee; - rct1_entrance park_entrance; - uint8 unk_198849; - rct2_peep_spawn peep_spawn[RCT12_MAX_PEEP_SPAWNS]; - uint8 unk_198856; - uint8 research_level; - uint32 unk_198858; - uint8 available_rides[32]; - uint8 available_vehicles[32]; - uint32 ride_feature_1[128]; - uint32 ride_feature_2[128]; - uint16 guests_in_park; - uint16 unk_198C9E; - money32 expenditure[14 * 16]; - uint32 guests_in_park_2; - uint8 unk_199024; - colour_t handman_colour; - colour_t mechanic_colour; - colour_t security_guard_colour; - uint8 available_scenery[128]; - uint16 available_banners; - uint8 unk_1990AA[94]; - uint16 park_rating; - uint8 park_rating_history[32]; - uint8 guests_in_park_history[32]; - uint8 research_priority; - uint8 research_progress; - uint8 last_research_item; - uint8 last_research_ride; - uint8 last_research_category; - uint8 last_research_flag; - rct1_research_item research_items[200]; - uint8 next_research_item; - uint8 next_research_ride; - uint8 next_research_category; - uint8 next_research_flag; - uint16 unk_19953C; - uint32 unk_19953E; - uint16 cheat_detection_land_owned; - uint16 unk_199544; - money16 median_recommended_park_entry_fee; - money32 max_loan; - money16 guest_initial_cash; - uint8 guest_initial_hunger; - uint8 guest_initial_thirst; - uint8 scenario_objective_type; - uint8 scenario_objective_years; - uint16 unk_199552; - money32 scenario_objective_currency; - uint16 scenario_objective_num_guests; - uint8 marketing_status[20]; - uint8 marketing_assoc[20]; - uint8 unk_199582[2]; - money32 cash_history[128]; - money32 total_expenditure; - money32 profit; - uint8 unk_199788[8]; - money32 weekly_profit_history[128]; - money32 park_value; - money32 park_value_history[128]; - uint32 scenario_objective_score; - uint32 num_admissions; - money32 admission_total_income; - money32 company_value; - uint8 thought_timer[16]; - rct12_award awards[RCT12_MAX_AWARDS]; - money16 land_price; - money16 construction_rights_price; - uint16 unk_199BCC; - uint16 unk_199BCE; - uint32 unk_199BD0; - char username[64]; - uint32 game_version; - money32 objective_completion_company_value; - uint32 finance_checksum; - uint16 num_rides; - uint16 cheat_detection_neg_num_rides; - uint16 cheat_detection_max_owned_tiles; - uint16 cheat_detection_neg_max_owned_tiles; - uint32 finance_checksum_3; - uint32 scenario_slot_index_checksum; - char scenario_winner[32]; - uint32 finance_checksum_2; - char copyright_notice[40]; - uint16 cheat_detection_sv6_sc4[4]; - uint16 unk_199C84; - uint16 unk_199C86; - uint16 map_size_units; - uint16 map_size_unk_b; - uint16 map_size; - uint16 map_size_max_xy; - uint32 same_price_flags; - uint16 unk_199C94; - uint8 unk_199C96[3]; - uint8 water_colour; - uint16 unk_199C9A; - rct1_research_item research_items_LL[180]; - uint8 unk_19A020[5468]; - rct_banner banners[100]; - char string_table[1024][32]; - uint32 game_time_counter; - rct1_ride rides[255]; - uint16 unk_game_time_counter; - uint16 view_x; - uint16 view_y; - uint8 view_zoom; - uint8 view_rotation; - uint8 map_animations[6000]; - uint32 num_map_animations; - uint8 unk_1CADBC[12]; - uint16 scrolling_text_step; - uint32 unk_1CADCA; - uint16 unk_1CADCE; - uint8 unk_1CADD0[116]; - rct_ride_measurement ride_measurements[8]; - uint32 next_guest_index; - uint16 game_counter_5; - uint8 patrol_areas[0x3C00]; - uint8 unk_1F42AA[116]; - uint8 unk_1F431E[4]; - uint8 unk_1F4322[8]; - uint8 climate; - uint8 unk_1F432B; - uint16 climate_timer; - uint8 weather; - uint8 target_weather; - uint8 temperature; - uint8 target_temperature; - uint8 thunder_frequency; - uint8 target_thunder_frequency; - uint8 weather_gloom; - uint8 target_weather_gloom; - uint8 rain; - uint8 target_rain; - rct12_news_item messages[RCT12_MAX_NEWS_ITEMS]; - char scenario_name[62]; - uint16 scenario_slot_index; - uint32 scenario_flags; - uint8 unk_1F8358[432]; - uint32 expansion_pack_checksum; + uint16 month; + uint16 day; + uint32 ticks; + uint32 random_a; + uint32 random_b; + rct_map_element map_elements[RCT1_MAX_MAP_ELEMENTS]; + uint32 unk_counter; + rct1_sprite sprites[RCT1_MAX_SPRITES]; + uint16 next_sprite_index; + uint16 first_vehicle_sprite_index; + uint16 first_peep_sprite_index; + uint16 first_duck_sprite_index; + uint16 first_litter_sprite_index; + uint16 first_oversized_ride_car_sprite_index; + uint16 sprites_available; + uint16 num_vehicle_sprites; + uint16 num_peep_sprites; + uint16 num_duck_sprites; + uint16 num_litter_sprites; + uint16 num_oversized_ride_car_sprites; + uint32 park_name_string_index; + uint32 unk_198830; + money32 cash; + money32 loan; + uint32 park_flags; + money16 park_entrance_fee; + rct1_entrance park_entrance; + uint8 unk_198849; + rct2_peep_spawn peep_spawn[RCT12_MAX_PEEP_SPAWNS]; + uint8 unk_198856; + uint8 research_level; + uint32 unk_198858; + uint8 available_rides[32]; + uint8 available_vehicles[32]; + uint32 ride_feature_1[128]; + uint32 ride_feature_2[128]; + uint16 guests_in_park; + uint16 unk_198C9E; + money32 expenditure[14 * 16]; + uint32 guests_in_park_2; + uint8 unk_199024; + colour_t handman_colour; + colour_t mechanic_colour; + colour_t security_guard_colour; + uint8 available_scenery[128]; + uint16 available_banners; + uint8 unk_1990AA[94]; + uint16 park_rating; + uint8 park_rating_history[32]; + uint8 guests_in_park_history[32]; + uint8 research_priority; + uint8 research_progress; + uint8 last_research_item; + uint8 last_research_ride; + uint8 last_research_category; + uint8 last_research_flag; + rct1_research_item research_items[200]; + uint8 next_research_item; + uint8 next_research_ride; + uint8 next_research_category; + uint8 next_research_flag; + uint16 unk_19953C; + uint32 unk_19953E; + uint16 cheat_detection_land_owned; + uint16 unk_199544; + money16 median_recommended_park_entry_fee; + money32 max_loan; + money16 guest_initial_cash; + uint8 guest_initial_hunger; + uint8 guest_initial_thirst; + uint8 scenario_objective_type; + uint8 scenario_objective_years; + uint16 unk_199552; + money32 scenario_objective_currency; + uint16 scenario_objective_num_guests; + uint8 marketing_status[20]; + uint8 marketing_assoc[20]; + uint8 unk_199582[2]; + money32 cash_history[128]; + money32 total_expenditure; + money32 profit; + uint8 unk_199788[8]; + money32 weekly_profit_history[128]; + money32 park_value; + money32 park_value_history[128]; + uint32 scenario_objective_score; + uint32 num_admissions; + money32 admission_total_income; + money32 company_value; + uint8 thought_timer[16]; + rct12_award awards[RCT12_MAX_AWARDS]; + money16 land_price; + money16 construction_rights_price; + uint16 unk_199BCC; + uint16 unk_199BCE; + uint32 unk_199BD0; + char username[64]; + uint32 game_version; + money32 objective_completion_company_value; + uint32 finance_checksum; + uint16 num_rides; + uint16 cheat_detection_neg_num_rides; + uint16 cheat_detection_max_owned_tiles; + uint16 cheat_detection_neg_max_owned_tiles; + uint32 finance_checksum_3; + uint32 scenario_slot_index_checksum; + char scenario_winner[32]; + uint32 finance_checksum_2; + char copyright_notice[40]; + uint16 cheat_detection_sv6_sc4[4]; + uint16 unk_199C84; + uint16 unk_199C86; + uint16 map_size_units; + uint16 map_size_unk_b; + uint16 map_size; + uint16 map_size_max_xy; + uint32 same_price_flags; + uint16 unk_199C94; + uint8 unk_199C96[3]; + uint8 water_colour; + uint16 unk_199C9A; + rct1_research_item research_items_LL[180]; + uint8 unk_19A020[5468]; + rct_banner banners[100]; + char string_table[1024][32]; + uint32 game_time_counter; + rct1_ride rides[255]; + uint16 unk_game_time_counter; + uint16 view_x; + uint16 view_y; + uint8 view_zoom; + uint8 view_rotation; + uint8 map_animations[6000]; + uint32 num_map_animations; + uint8 unk_1CADBC[12]; + uint16 scrolling_text_step; + uint32 unk_1CADCA; + uint16 unk_1CADCE; + uint8 unk_1CADD0[116]; + rct_ride_measurement ride_measurements[8]; + uint32 next_guest_index; + uint16 game_counter_5; + uint8 patrol_areas[0x3C00]; + uint8 unk_1F42AA[116]; + uint8 unk_1F431E[4]; + uint8 unk_1F4322[8]; + uint8 climate; + uint8 unk_1F432B; + uint16 climate_timer; + uint8 weather; + uint8 target_weather; + uint8 temperature; + uint8 target_temperature; + uint8 thunder_frequency; + uint8 target_thunder_frequency; + uint8 weather_gloom; + uint8 target_weather_gloom; + uint8 rain; + uint8 target_rain; + rct12_news_item messages[RCT12_MAX_NEWS_ITEMS]; + char scenario_name[62]; + uint16 scenario_slot_index; + uint32 scenario_flags; + uint8 unk_1F8358[432]; + uint32 expansion_pack_checksum; } rct1_s4; assert_struct_size(rct1_s4, 0x1F850C); @@ -743,465 +743,465 @@ assert_struct_size(rct1_s4, 0x1F850C); * size: 0x2006 */ typedef struct rct_track_td4 { - uint8 type; // 0x00 - uint8 vehicle_type; - uint32 flags; // 0x02 - uint8 mode; // 0x06 - uint8 version_and_colour_scheme; // 0x07 0b0000_VVCC - rct_vehicle_colour vehicle_colours[RCT1_MAX_TRAINS_PER_RIDE]; // 0x08 - uint8 track_spine_colour_v0; // 0x20 - uint8 track_rail_colour_v0; // 0x21 - uint8 track_support_colour_v0; // 0x22 - uint8 depart_flags; // 0x23 - uint8 number_of_trains; // 0x24 - uint8 number_of_cars_per_train; // 0x25 - uint8 min_waiting_time; // 0x26 - uint8 max_waiting_time; // 0x27 - union { - uint8 operation_setting; - uint8 launch_speed; - uint8 num_laps; - uint8 max_people; - }; - sint8 max_speed; // 0x29 - sint8 average_speed; // 0x2A - uint16 ride_length; // 0x2B - uint8 max_positive_vertical_g; // 0x2D - sint8 max_negative_vertical_g; // 0x2C - uint8 max_lateral_g; // 0x2F - union { - uint8 num_inversions; // 0x30 - uint8 num_holes; // 0x30 - }; - uint8 num_drops; // 0x31 - uint8 highest_drop_height; // 0x32 - uint8 excitement; // 0x33 - uint8 intensity; // 0x34 - uint8 nausea; // 0x35 - money16 upkeep_cost; // 0x36 + uint8 type; // 0x00 + uint8 vehicle_type; + uint32 flags; // 0x02 + uint8 mode; // 0x06 + uint8 version_and_colour_scheme; // 0x07 0b0000_VVCC + rct_vehicle_colour vehicle_colours[RCT1_MAX_TRAINS_PER_RIDE]; // 0x08 + uint8 track_spine_colour_v0; // 0x20 + uint8 track_rail_colour_v0; // 0x21 + uint8 track_support_colour_v0; // 0x22 + uint8 depart_flags; // 0x23 + uint8 number_of_trains; // 0x24 + uint8 number_of_cars_per_train; // 0x25 + uint8 min_waiting_time; // 0x26 + uint8 max_waiting_time; // 0x27 + union { + uint8 operation_setting; + uint8 launch_speed; + uint8 num_laps; + uint8 max_people; + }; + sint8 max_speed; // 0x29 + sint8 average_speed; // 0x2A + uint16 ride_length; // 0x2B + uint8 max_positive_vertical_g; // 0x2D + sint8 max_negative_vertical_g; // 0x2C + uint8 max_lateral_g; // 0x2F + union { + uint8 num_inversions; // 0x30 + uint8 num_holes; // 0x30 + }; + uint8 num_drops; // 0x31 + uint8 highest_drop_height; // 0x32 + uint8 excitement; // 0x33 + uint8 intensity; // 0x34 + uint8 nausea; // 0x35 + money16 upkeep_cost; // 0x36 - // Added Attractions / Loopy Landscapes only - uint8 track_spine_colour[4]; // 0x38 - uint8 track_rail_colour[4]; // 0x3C - uint8 track_support_colour[4]; // 0x40 - uint8 flags2; // 0x44 + // Added Attractions / Loopy Landscapes only + uint8 track_spine_colour[4]; // 0x38 + uint8 track_rail_colour[4]; // 0x3C + uint8 track_support_colour[4]; // 0x40 + uint8 flags2; // 0x44 - uint8 var_45[0x7F]; // 0x45 + uint8 var_45[0x7F]; // 0x45 - void *elements; // 0xC4 (data starts here in file, 38 for original RCT1) - size_t elementsSize; + void *elements; // 0xC4 (data starts here in file, 38 for original RCT1) + size_t elementsSize; } rct_track_td4; #pragma pack(pop) enum { - RCT1_RIDE_TYPE_NULL = 255, - RCT1_RIDE_TYPE_WOODEN_ROLLER_COASTER = 0, - RCT1_RIDE_TYPE_STAND_UP_STEEL_ROLLER_COASTER, - RCT1_RIDE_TYPE_SUSPENDED_ROLLER_COASTER, - RCT1_RIDE_TYPE_INVERTED_ROLLER_COASTER, - RCT1_RIDE_TYPE_STEEL_MINI_ROLLER_COASTER, - RCT1_RIDE_TYPE_MINIATURE_RAILROAD, - RCT1_RIDE_TYPE_MONORAIL, - RCT1_RIDE_TYPE_SUSPENDED_SINGLE_RAIL_ROLLER_COASTER, - RCT1_RIDE_TYPE_BOAT_HIRE, - RCT1_RIDE_TYPE_WOODEN_CRAZY_RODENT_ROLLER_COASTER, - RCT1_RIDE_TYPE_SINGLE_RAIL_ROLLER_COASTER, - RCT1_RIDE_TYPE_CAR_RIDE, - RCT1_RIDE_TYPE_LAUNCHED_FREEFALL, - RCT1_RIDE_TYPE_BOBSLED_ROLLER_COASTER, - RCT1_RIDE_TYPE_OBSERVATION_TOWER, - RCT1_RIDE_TYPE_STEEL_ROLLER_COASTER, - RCT1_RIDE_TYPE_WATER_SLIDE, - RCT1_RIDE_TYPE_MINE_TRAIN_ROLLER_COASTER, - RCT1_RIDE_TYPE_CHAIRLIFT, - RCT1_RIDE_TYPE_STEEL_CORKSCREW_ROLLER_COASTER, - RCT1_RIDE_TYPE_HEDGE_MAZE, - RCT1_RIDE_TYPE_SPIRAL_SLIDE, - RCT1_RIDE_TYPE_GO_KARTS, - RCT1_RIDE_TYPE_LOG_FLUME, - RCT1_RIDE_TYPE_RIVER_RAPIDS, - RCT1_RIDE_TYPE_DODGEMS, - RCT1_RIDE_TYPE_SWINGING_SHIP, - RCT1_RIDE_TYPE_SWINGING_INVERTER_SHIP, - RCT1_RIDE_TYPE_ICE_CREAM_STALL, - RCT1_RIDE_TYPE_CHIPS_STALL, - RCT1_RIDE_TYPE_DRINK_STALL, - RCT1_RIDE_TYPE_CANDYFLOSS_STALL, - RCT1_RIDE_TYPE_BURGER_BAR, - RCT1_RIDE_TYPE_MERRY_GO_ROUND, - RCT1_RIDE_TYPE_BALLOON_STALL, - RCT1_RIDE_TYPE_INFORMATION_KIOSK, - RCT1_RIDE_TYPE_TOILETS, - RCT1_RIDE_TYPE_FERRIS_WHEEL, - RCT1_RIDE_TYPE_MOTION_SIMULATOR, - RCT1_RIDE_TYPE_3D_CINEMA, - RCT1_RIDE_TYPE_GRAVITRON, - RCT1_RIDE_TYPE_SPACE_RINGS, - RCT1_RIDE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER, - RCT1_RIDE_TYPE_SOUVENIR_STALL, - RCT1_RIDE_TYPE_VERTICAL_ROLLER_COASTER, - RCT1_RIDE_TYPE_PIZZA_STALL, - RCT1_RIDE_TYPE_SCRAMBLED_EGGS, - RCT1_RIDE_TYPE_HAUNTED_HOUSE, - RCT1_RIDE_TYPE_POPCORN_STALL, - RCT1_RIDE_TYPE_CIRCUS_SHOW, - RCT1_RIDE_TYPE_GHOST_TRAIN, - RCT1_RIDE_TYPE_STEEL_TWISTER_ROLLER_COASTER, - RCT1_RIDE_TYPE_WOODEN_TWISTER_ROLLER_COASTER, - RCT1_RIDE_TYPE_WOODEN_SIDE_FRICTION_ROLLER_COASTER, - RCT1_RIDE_TYPE_STEEL_WILD_MOUSE_ROLLER_COASTER, - RCT1_RIDE_TYPE_HOT_DOG_STALL, - RCT1_RIDE_TYPE_EXOTIC_SEA_FOOD_STALL, - RCT1_RIDE_TYPE_HAT_STALL, - RCT1_RIDE_TYPE_CANDY_APPLE_STAND, - RCT1_RIDE_TYPE_VIRGINIA_REEL, - RCT1_RIDE_TYPE_RIVER_RIDE, - RCT1_RIDE_TYPE_CYCLE_MONORAIL, - RCT1_RIDE_TYPE_FLYING_ROLLER_COASTER, - RCT1_RIDE_TYPE_SUSPENDED_MONORAIL, - RCT1_RIDE_TYPE_40, - RCT1_RIDE_TYPE_WOODEN_REVERSER_ROLLER_COASTER, - RCT1_RIDE_TYPE_HEARTLINE_TWISTER_ROLLER_COASTER, - RCT1_RIDE_TYPE_MINIATURE_GOLF, - RCT1_RIDE_TYPE_44, - RCT1_RIDE_TYPE_ROTO_DROP, - RCT1_RIDE_TYPE_FLYING_SAUCERS, - RCT1_RIDE_TYPE_CROOKED_HOUSE, - RCT1_RIDE_TYPE_CYCLE_RAILWAY, - RCT1_RIDE_TYPE_SUSPENDED_LOOPING_ROLLER_COASTER, - RCT1_RIDE_TYPE_WATER_COASTER, - RCT1_RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER, - RCT1_RIDE_TYPE_INVERTED_WILD_MOUSE_COASTER, - RCT1_RIDE_TYPE_JET_SKIS, - RCT1_RIDE_TYPE_T_SHIRT_STALL, - RCT1_RIDE_TYPE_RAFT_RIDE, - RCT1_RIDE_TYPE_DOUGHNUT_SHOP, - RCT1_RIDE_TYPE_ENTERPRISE, - RCT1_RIDE_TYPE_COFFEE_SHOP, - RCT1_RIDE_TYPE_FRIED_CHICKEN_STALL, - RCT1_RIDE_TYPE_LEMONADE_STALL + RCT1_RIDE_TYPE_NULL = 255, + RCT1_RIDE_TYPE_WOODEN_ROLLER_COASTER = 0, + RCT1_RIDE_TYPE_STAND_UP_STEEL_ROLLER_COASTER, + RCT1_RIDE_TYPE_SUSPENDED_ROLLER_COASTER, + RCT1_RIDE_TYPE_INVERTED_ROLLER_COASTER, + RCT1_RIDE_TYPE_STEEL_MINI_ROLLER_COASTER, + RCT1_RIDE_TYPE_MINIATURE_RAILROAD, + RCT1_RIDE_TYPE_MONORAIL, + RCT1_RIDE_TYPE_SUSPENDED_SINGLE_RAIL_ROLLER_COASTER, + RCT1_RIDE_TYPE_BOAT_HIRE, + RCT1_RIDE_TYPE_WOODEN_CRAZY_RODENT_ROLLER_COASTER, + RCT1_RIDE_TYPE_SINGLE_RAIL_ROLLER_COASTER, + RCT1_RIDE_TYPE_CAR_RIDE, + RCT1_RIDE_TYPE_LAUNCHED_FREEFALL, + RCT1_RIDE_TYPE_BOBSLED_ROLLER_COASTER, + RCT1_RIDE_TYPE_OBSERVATION_TOWER, + RCT1_RIDE_TYPE_STEEL_ROLLER_COASTER, + RCT1_RIDE_TYPE_WATER_SLIDE, + RCT1_RIDE_TYPE_MINE_TRAIN_ROLLER_COASTER, + RCT1_RIDE_TYPE_CHAIRLIFT, + RCT1_RIDE_TYPE_STEEL_CORKSCREW_ROLLER_COASTER, + RCT1_RIDE_TYPE_HEDGE_MAZE, + RCT1_RIDE_TYPE_SPIRAL_SLIDE, + RCT1_RIDE_TYPE_GO_KARTS, + RCT1_RIDE_TYPE_LOG_FLUME, + RCT1_RIDE_TYPE_RIVER_RAPIDS, + RCT1_RIDE_TYPE_DODGEMS, + RCT1_RIDE_TYPE_SWINGING_SHIP, + RCT1_RIDE_TYPE_SWINGING_INVERTER_SHIP, + RCT1_RIDE_TYPE_ICE_CREAM_STALL, + RCT1_RIDE_TYPE_CHIPS_STALL, + RCT1_RIDE_TYPE_DRINK_STALL, + RCT1_RIDE_TYPE_CANDYFLOSS_STALL, + RCT1_RIDE_TYPE_BURGER_BAR, + RCT1_RIDE_TYPE_MERRY_GO_ROUND, + RCT1_RIDE_TYPE_BALLOON_STALL, + RCT1_RIDE_TYPE_INFORMATION_KIOSK, + RCT1_RIDE_TYPE_TOILETS, + RCT1_RIDE_TYPE_FERRIS_WHEEL, + RCT1_RIDE_TYPE_MOTION_SIMULATOR, + RCT1_RIDE_TYPE_3D_CINEMA, + RCT1_RIDE_TYPE_GRAVITRON, + RCT1_RIDE_TYPE_SPACE_RINGS, + RCT1_RIDE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER, + RCT1_RIDE_TYPE_SOUVENIR_STALL, + RCT1_RIDE_TYPE_VERTICAL_ROLLER_COASTER, + RCT1_RIDE_TYPE_PIZZA_STALL, + RCT1_RIDE_TYPE_SCRAMBLED_EGGS, + RCT1_RIDE_TYPE_HAUNTED_HOUSE, + RCT1_RIDE_TYPE_POPCORN_STALL, + RCT1_RIDE_TYPE_CIRCUS_SHOW, + RCT1_RIDE_TYPE_GHOST_TRAIN, + RCT1_RIDE_TYPE_STEEL_TWISTER_ROLLER_COASTER, + RCT1_RIDE_TYPE_WOODEN_TWISTER_ROLLER_COASTER, + RCT1_RIDE_TYPE_WOODEN_SIDE_FRICTION_ROLLER_COASTER, + RCT1_RIDE_TYPE_STEEL_WILD_MOUSE_ROLLER_COASTER, + RCT1_RIDE_TYPE_HOT_DOG_STALL, + RCT1_RIDE_TYPE_EXOTIC_SEA_FOOD_STALL, + RCT1_RIDE_TYPE_HAT_STALL, + RCT1_RIDE_TYPE_CANDY_APPLE_STAND, + RCT1_RIDE_TYPE_VIRGINIA_REEL, + RCT1_RIDE_TYPE_RIVER_RIDE, + RCT1_RIDE_TYPE_CYCLE_MONORAIL, + RCT1_RIDE_TYPE_FLYING_ROLLER_COASTER, + RCT1_RIDE_TYPE_SUSPENDED_MONORAIL, + RCT1_RIDE_TYPE_40, + RCT1_RIDE_TYPE_WOODEN_REVERSER_ROLLER_COASTER, + RCT1_RIDE_TYPE_HEARTLINE_TWISTER_ROLLER_COASTER, + RCT1_RIDE_TYPE_MINIATURE_GOLF, + RCT1_RIDE_TYPE_44, + RCT1_RIDE_TYPE_ROTO_DROP, + RCT1_RIDE_TYPE_FLYING_SAUCERS, + RCT1_RIDE_TYPE_CROOKED_HOUSE, + RCT1_RIDE_TYPE_CYCLE_RAILWAY, + RCT1_RIDE_TYPE_SUSPENDED_LOOPING_ROLLER_COASTER, + RCT1_RIDE_TYPE_WATER_COASTER, + RCT1_RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER, + RCT1_RIDE_TYPE_INVERTED_WILD_MOUSE_COASTER, + RCT1_RIDE_TYPE_JET_SKIS, + RCT1_RIDE_TYPE_T_SHIRT_STALL, + RCT1_RIDE_TYPE_RAFT_RIDE, + RCT1_RIDE_TYPE_DOUGHNUT_SHOP, + RCT1_RIDE_TYPE_ENTERPRISE, + RCT1_RIDE_TYPE_COFFEE_SHOP, + RCT1_RIDE_TYPE_FRIED_CHICKEN_STALL, + RCT1_RIDE_TYPE_LEMONADE_STALL }; enum { - RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN = 0, - RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN_BACKWARDS, - RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_INVERTED_COASTER_TRAIN, // Not in RCT2 - RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_CARS, - RCT1_VEHICLE_TYPE_LADYBIRD_CARS, - RCT1_VEHICLE_TYPE_STANDUP_ROLLER_COASTER_CARS, - RCT1_VEHICLE_TYPE_SPINNING_CARS, - RCT1_VEHICLE_TYPE_SINGLE_PERSON_SWINGING_CHAIRS, - RCT1_VEHICLE_TYPE_SWANS_PEDAL_BOATS, - RCT1_VEHICLE_TYPE_LARGE_MONORAIL_TRAIN, - RCT1_VEHICLE_TYPE_CANOES, - RCT1_VEHICLE_TYPE_ROWING_BOATS, - RCT1_VEHICLE_TYPE_STEAM_TRAIN, - RCT1_VEHICLE_TYPE_WOODEN_MOUSE_CARS, - RCT1_VEHICLE_TYPE_BUMPER_BOATS, - RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN_BACKWARDS, - RCT1_VEHICLE_TYPE_ROCKET_CARS, - RCT1_VEHICLE_TYPE_HORSES, // Steeplechase - RCT1_VEHICLE_TYPE_SPORTSCARS, - RCT1_VEHICLE_TYPE_LYING_DOWN_SWINGING_CARS, // Inverted single-rail - RCT1_VEHICLE_TYPE_WOODEN_MINE_CARS, - RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_AIRPLANE_CARS, - RCT1_VEHICLE_TYPE_SMALL_MONORAIL_CARS, - RCT1_VEHICLE_TYPE_WATER_TRICYCLES, - RCT1_VEHICLE_TYPE_LAUNCHED_FREEFALL_CAR, - RCT1_VEHICLE_TYPE_BOBSLEIGH_CARS, - RCT1_VEHICLE_TYPE_DINGHIES, - RCT1_VEHICLE_TYPE_ROTATING_CABIN, - RCT1_VEHICLE_TYPE_MINE_TRAIN, - RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS, - RCT1_VEHICLE_TYPE_CORKSCREW_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_MOTORBIKES, - RCT1_VEHICLE_TYPE_RACING_CARS, - RCT1_VEHICLE_TYPE_TRUCKS, - RCT1_VEHICLE_TYPE_GO_KARTS, - RCT1_VEHICLE_TYPE_RAPIDS_BOATS, - RCT1_VEHICLE_TYPE_LOG_FLUME_BOATS, - RCT1_VEHICLE_TYPE_DODGEMS, - RCT1_VEHICLE_TYPE_SWINGING_SHIP, - RCT1_VEHICLE_TYPE_SWINGING_INVERTER_SHIP, - RCT1_VEHICLE_TYPE_MERRY_GO_ROUND, - RCT1_VEHICLE_TYPE_FERRIS_WHEEL, - RCT1_VEHICLE_TYPE_SIMULATOR_POD, - RCT1_VEHICLE_TYPE_CINEMA_BUILDING, - RCT1_VEHICLE_TYPE_TOPSPIN_CAR, - RCT1_VEHICLE_TYPE_SPACE_RINGS, - RCT1_VEHICLE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER_CAR, - RCT1_VEHICLE_TYPE_VERTICAL_ROLLER_COASTER_CARS, - RCT1_VEHICLE_TYPE_CAT_CARS, - RCT1_VEHICLE_TYPE_TWIST_ARMS_AND_CARS, - RCT1_VEHICLE_TYPE_HAUNTED_HOUSE_BUILDING, - RCT1_VEHICLE_TYPE_LOG_CARS, - RCT1_VEHICLE_TYPE_CIRCUS_TENT, - RCT1_VEHICLE_TYPE_GHOST_TRAIN_CARS, - RCT1_VEHICLE_TYPE_STEEL_TWISTER_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_WOODEN_TWISTER_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_WOODEN_SIDE_FRICTION_CARS, - RCT1_VEHICLE_TYPE_VINTAGE_CARS, - RCT1_VEHICLE_TYPE_STEAM_TRAIN_COVERED_CARS, - RCT1_VEHICLE_TYPE_STAND_UP_STEEL_TWISTER_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_FLOORLESS_STEEL_TWISTER_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_STEEL_MOUSE_CARS, - RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS_ALTERNATIVE, - RCT1_VEHICLE_TYPE_SUSPENDED_MONORAIL_TRAIN, - RCT1_VEHICLE_TYPE_HELICOPTER_CARS, - RCT1_VEHICLE_TYPE_VIRGINIA_REEL_TUBS, - RCT1_VEHICLE_TYPE_REVERSER_CARS, - RCT1_VEHICLE_TYPE_GOLFERS, - RCT1_VEHICLE_TYPE_RIVER_RIDE_BOATS, - RCT1_VEHICLE_TYPE_FLYING_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_NON_LOOPING_STEEL_TWISTER_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS, - RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS_REVERSED, - RCT1_VEHICLE_TYPE_RESERVED, - RCT1_VEHICLE_TYPE_ROTODROP_CAR, - RCT1_VEHICLE_TYPE_FLYING_SAUCERS, - RCT1_VEHICLE_TYPE_CROOKED_HOUSE_BUILDING, - RCT1_VEHICLE_TYPE_BICYCLES, - RCT1_VEHICLE_TYPE_HYPERCOASTER_TRAIN, - RCT1_VEHICLE_TYPE_4_ACROSS_INVERTED_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_WATER_COASTER_BOATS, - RCT1_VEHICLE_TYPE_FACEOFF_CARS, - RCT1_VEHICLE_TYPE_JET_SKIS, - RCT1_VEHICLE_TYPE_RAFT_BOATS, - RCT1_VEHICLE_TYPE_AMERICAN_STYLE_STEAM_TRAIN, - RCT1_VEHICLE_TYPE_AIR_POWERED_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_SUSPENDED_WILD_MOUSE_CARS, // Inverted Hairpin in RCT2 - RCT1_VEHICLE_TYPE_ENTERPRISE_WHEEL + RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN = 0, + RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN_BACKWARDS, + RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_INVERTED_COASTER_TRAIN, // Not in RCT2 + RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_CARS, + RCT1_VEHICLE_TYPE_LADYBIRD_CARS, + RCT1_VEHICLE_TYPE_STANDUP_ROLLER_COASTER_CARS, + RCT1_VEHICLE_TYPE_SPINNING_CARS, + RCT1_VEHICLE_TYPE_SINGLE_PERSON_SWINGING_CHAIRS, + RCT1_VEHICLE_TYPE_SWANS_PEDAL_BOATS, + RCT1_VEHICLE_TYPE_LARGE_MONORAIL_TRAIN, + RCT1_VEHICLE_TYPE_CANOES, + RCT1_VEHICLE_TYPE_ROWING_BOATS, + RCT1_VEHICLE_TYPE_STEAM_TRAIN, + RCT1_VEHICLE_TYPE_WOODEN_MOUSE_CARS, + RCT1_VEHICLE_TYPE_BUMPER_BOATS, + RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN_BACKWARDS, + RCT1_VEHICLE_TYPE_ROCKET_CARS, + RCT1_VEHICLE_TYPE_HORSES, // Steeplechase + RCT1_VEHICLE_TYPE_SPORTSCARS, + RCT1_VEHICLE_TYPE_LYING_DOWN_SWINGING_CARS, // Inverted single-rail + RCT1_VEHICLE_TYPE_WOODEN_MINE_CARS, + RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_AIRPLANE_CARS, + RCT1_VEHICLE_TYPE_SMALL_MONORAIL_CARS, + RCT1_VEHICLE_TYPE_WATER_TRICYCLES, + RCT1_VEHICLE_TYPE_LAUNCHED_FREEFALL_CAR, + RCT1_VEHICLE_TYPE_BOBSLEIGH_CARS, + RCT1_VEHICLE_TYPE_DINGHIES, + RCT1_VEHICLE_TYPE_ROTATING_CABIN, + RCT1_VEHICLE_TYPE_MINE_TRAIN, + RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS, + RCT1_VEHICLE_TYPE_CORKSCREW_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_MOTORBIKES, + RCT1_VEHICLE_TYPE_RACING_CARS, + RCT1_VEHICLE_TYPE_TRUCKS, + RCT1_VEHICLE_TYPE_GO_KARTS, + RCT1_VEHICLE_TYPE_RAPIDS_BOATS, + RCT1_VEHICLE_TYPE_LOG_FLUME_BOATS, + RCT1_VEHICLE_TYPE_DODGEMS, + RCT1_VEHICLE_TYPE_SWINGING_SHIP, + RCT1_VEHICLE_TYPE_SWINGING_INVERTER_SHIP, + RCT1_VEHICLE_TYPE_MERRY_GO_ROUND, + RCT1_VEHICLE_TYPE_FERRIS_WHEEL, + RCT1_VEHICLE_TYPE_SIMULATOR_POD, + RCT1_VEHICLE_TYPE_CINEMA_BUILDING, + RCT1_VEHICLE_TYPE_TOPSPIN_CAR, + RCT1_VEHICLE_TYPE_SPACE_RINGS, + RCT1_VEHICLE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER_CAR, + RCT1_VEHICLE_TYPE_VERTICAL_ROLLER_COASTER_CARS, + RCT1_VEHICLE_TYPE_CAT_CARS, + RCT1_VEHICLE_TYPE_TWIST_ARMS_AND_CARS, + RCT1_VEHICLE_TYPE_HAUNTED_HOUSE_BUILDING, + RCT1_VEHICLE_TYPE_LOG_CARS, + RCT1_VEHICLE_TYPE_CIRCUS_TENT, + RCT1_VEHICLE_TYPE_GHOST_TRAIN_CARS, + RCT1_VEHICLE_TYPE_STEEL_TWISTER_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_WOODEN_TWISTER_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_WOODEN_SIDE_FRICTION_CARS, + RCT1_VEHICLE_TYPE_VINTAGE_CARS, + RCT1_VEHICLE_TYPE_STEAM_TRAIN_COVERED_CARS, + RCT1_VEHICLE_TYPE_STAND_UP_STEEL_TWISTER_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_FLOORLESS_STEEL_TWISTER_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_STEEL_MOUSE_CARS, + RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS_ALTERNATIVE, + RCT1_VEHICLE_TYPE_SUSPENDED_MONORAIL_TRAIN, + RCT1_VEHICLE_TYPE_HELICOPTER_CARS, + RCT1_VEHICLE_TYPE_VIRGINIA_REEL_TUBS, + RCT1_VEHICLE_TYPE_REVERSER_CARS, + RCT1_VEHICLE_TYPE_GOLFERS, + RCT1_VEHICLE_TYPE_RIVER_RIDE_BOATS, + RCT1_VEHICLE_TYPE_FLYING_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_NON_LOOPING_STEEL_TWISTER_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS, + RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS_REVERSED, + RCT1_VEHICLE_TYPE_RESERVED, + RCT1_VEHICLE_TYPE_ROTODROP_CAR, + RCT1_VEHICLE_TYPE_FLYING_SAUCERS, + RCT1_VEHICLE_TYPE_CROOKED_HOUSE_BUILDING, + RCT1_VEHICLE_TYPE_BICYCLES, + RCT1_VEHICLE_TYPE_HYPERCOASTER_TRAIN, + RCT1_VEHICLE_TYPE_4_ACROSS_INVERTED_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_WATER_COASTER_BOATS, + RCT1_VEHICLE_TYPE_FACEOFF_CARS, + RCT1_VEHICLE_TYPE_JET_SKIS, + RCT1_VEHICLE_TYPE_RAFT_BOATS, + RCT1_VEHICLE_TYPE_AMERICAN_STYLE_STEAM_TRAIN, + RCT1_VEHICLE_TYPE_AIR_POWERED_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_SUSPENDED_WILD_MOUSE_CARS, // Inverted Hairpin in RCT2 + RCT1_VEHICLE_TYPE_ENTERPRISE_WHEEL }; enum { - RCT1_TRACK_ELEM_BOOSTER = 100 + RCT1_TRACK_ELEM_BOOSTER = 100 }; enum { - RCT1_RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE = 2, - RCT1_RIDE_MODE_POWERED_LAUNCH = 3, + RCT1_RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE = 2, + RCT1_RIDE_MODE_POWERED_LAUNCH = 3, }; enum { - RCT1_RIDE_DEPART_PLAY_MUSIC = 1 << 5, + RCT1_RIDE_DEPART_PLAY_MUSIC = 1 << 5, }; enum { - RCT1_SCENERY_THEME_GENERAL, - RCT1_SCENERY_THEME_MINE, - RCT1_SCENERY_THEME_CLASSICAL_ROMAN, - RCT1_SCENERY_THEME_EGYPTIAN, - RCT1_SCENERY_THEME_MARTIAN, - RCT1_SCENERY_THEME_JUMPING_FOUNTAINS, // Single researchable scenery item - RCT1_SCENERY_THEME_WONDERLAND, - RCT1_SCENERY_THEME_JURASSIC, - RCT1_SCENERY_THEME_SPOOKY, - RCT1_SCENERY_THEME_JUNGLE, - RCT1_SCENERY_THEME_ABSTRACT, - RCT1_SCENERY_THEME_GARDEN_CLOCK, // Single researchable scenery item - RCT1_SCENERY_THEME_SNOW_ICE, - RCT1_SCENERY_THEME_MEDIEVAL, - RCT1_SCENERY_THEME_SPACE, - RCT1_SCENERY_THEME_CREEPY, - RCT1_SCENERY_THEME_URBAN, - RCT1_SCENERY_THEME_PAGODA, + RCT1_SCENERY_THEME_GENERAL, + RCT1_SCENERY_THEME_MINE, + RCT1_SCENERY_THEME_CLASSICAL_ROMAN, + RCT1_SCENERY_THEME_EGYPTIAN, + RCT1_SCENERY_THEME_MARTIAN, + RCT1_SCENERY_THEME_JUMPING_FOUNTAINS, // Single researchable scenery item + RCT1_SCENERY_THEME_WONDERLAND, + RCT1_SCENERY_THEME_JURASSIC, + RCT1_SCENERY_THEME_SPOOKY, + RCT1_SCENERY_THEME_JUNGLE, + RCT1_SCENERY_THEME_ABSTRACT, + RCT1_SCENERY_THEME_GARDEN_CLOCK, // Single researchable scenery item + RCT1_SCENERY_THEME_SNOW_ICE, + RCT1_SCENERY_THEME_MEDIEVAL, + RCT1_SCENERY_THEME_SPACE, + RCT1_SCENERY_THEME_CREEPY, + RCT1_SCENERY_THEME_URBAN, + RCT1_SCENERY_THEME_PAGODA, }; enum { - RCT1_FOOTPATH_TYPE_QUEUE_BLUE, - RCT1_FOOTPATH_TYPE_QUEUE_RED, - RCT1_FOOTPATH_TYPE_QUEUE_YELLOW, - RCT1_FOOTPATH_TYPE_QUEUE_GREEN, + RCT1_FOOTPATH_TYPE_QUEUE_BLUE, + RCT1_FOOTPATH_TYPE_QUEUE_RED, + RCT1_FOOTPATH_TYPE_QUEUE_YELLOW, + RCT1_FOOTPATH_TYPE_QUEUE_GREEN, - RCT1_FOOTPATH_TYPE_TARMAC_GRAY, - RCT1_FOOTPATH_TYPE_TARMAC_RED, - RCT1_FOOTPATH_TYPE_TARMAC_BROWN, - RCT1_FOOTPATH_TYPE_TARMAC_GREEN, + RCT1_FOOTPATH_TYPE_TARMAC_GRAY, + RCT1_FOOTPATH_TYPE_TARMAC_RED, + RCT1_FOOTPATH_TYPE_TARMAC_BROWN, + RCT1_FOOTPATH_TYPE_TARMAC_GREEN, - RCT1_FOOTPATH_TYPE_DIRT_RED, - RCT1_FOOTPATH_TYPE_DIRT_BLACK, + RCT1_FOOTPATH_TYPE_DIRT_RED, + RCT1_FOOTPATH_TYPE_DIRT_BLACK, - RCT1_FOOTPATH_TYPE_CRAZY_PAVING = 12, + RCT1_FOOTPATH_TYPE_CRAZY_PAVING = 12, - RCT1_FOOTPATH_TYPE_ROADS = 16, + RCT1_FOOTPATH_TYPE_ROADS = 16, - RCT1_FOOTPATH_TYPE_TILE_PINK = 20, - RCT1_FOOTPATH_TYPE_TILE_GRAY, - RCT1_FOOTPATH_TYPE_TILE_RED, - RCT1_FOOTPATH_TYPE_TILE_GREEN, + RCT1_FOOTPATH_TYPE_TILE_PINK = 20, + RCT1_FOOTPATH_TYPE_TILE_GRAY, + RCT1_FOOTPATH_TYPE_TILE_RED, + RCT1_FOOTPATH_TYPE_TILE_GREEN, }; enum { - FOOTPATH_SUPPORTS_WOODEN_TRUSS, - FOOTPATH_SUPPORTS_WOOD, - FOOTPATH_SUPPORTS_STEEL, - FOOTPATH_SUPPORTS_BAMBOO, + FOOTPATH_SUPPORTS_WOODEN_TRUSS, + FOOTPATH_SUPPORTS_WOOD, + FOOTPATH_SUPPORTS_STEEL, + FOOTPATH_SUPPORTS_BAMBOO, }; enum { - RCT1_PATH_ADDITION_NONE, - RCT1_PATH_ADDITION_LAMP_1, - RCT1_PATH_ADDITION_LAMP_2, - RCT1_PATH_ADDITION_BIN, - RCT1_PATH_ADDITION_BENCH, - RCT1_PATH_ADDITION_JUMPING_FOUNTAIN, - RCT1_PATH_ADDITION_LAMP_3, - RCT1_PATH_ADDITION_LAMP_4, - RCT1_PATH_ADDITION_BROKEN_LAMP_1, - RCT1_PATH_ADDITION_BROKEN_LAMP_2, - RCT1_PATH_ADDITION_BROKEN_BIN, - RCT1_PATH_ADDITION_BROKEN_BENCH, - RCT1_PATH_ADDITION_BROKEN_LAMP_3, - RCT1_PATH_ADDITION_BROKEN_LAMP_4, - RCT1_PATH_ADDITION_JUMPING_SNOW, + RCT1_PATH_ADDITION_NONE, + RCT1_PATH_ADDITION_LAMP_1, + RCT1_PATH_ADDITION_LAMP_2, + RCT1_PATH_ADDITION_BIN, + RCT1_PATH_ADDITION_BENCH, + RCT1_PATH_ADDITION_JUMPING_FOUNTAIN, + RCT1_PATH_ADDITION_LAMP_3, + RCT1_PATH_ADDITION_LAMP_4, + RCT1_PATH_ADDITION_BROKEN_LAMP_1, + RCT1_PATH_ADDITION_BROKEN_LAMP_2, + RCT1_PATH_ADDITION_BROKEN_BIN, + RCT1_PATH_ADDITION_BROKEN_BENCH, + RCT1_PATH_ADDITION_BROKEN_LAMP_3, + RCT1_PATH_ADDITION_BROKEN_LAMP_4, + RCT1_PATH_ADDITION_JUMPING_SNOW, }; enum { - RCT1_WALL_TYPE_GLASS_SMOOTH = 11, - RCT1_WALL_TYPE_GLASS_PANELS = 22, - RCT1_WALL_TYPE_WOODEN_PANEL_FENCE = 12, - RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_GATE = 13, - RCT1_WALL_TYPE_WHITE_WOODEN_PANEL_FENCE = 26, - RCT1_WALL_TYPE_RED_WOODEN_PANEL_FENCE = 27, - RCT1_WALL_TYPE_SMALL_GREY_CASTLE = 35, - RCT1_WALL_TYPE_LARGE_CREY_CASTLE = 42, - RCT1_WALL_TYPE_LARGE_CREY_CASTLE_CROSS = 43, - RCT1_WALL_TYPE_LARGE_CREY_CASTLE_GATE = 44, - RCT1_WALL_TYPE_LARGE_CREY_CASTLE_WINDOW = 45, - RCT1_WALL_TYPE_MEDIUM_CREY_CASTLE = 46, - RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_SNOW = 50, + RCT1_WALL_TYPE_GLASS_SMOOTH = 11, + RCT1_WALL_TYPE_GLASS_PANELS = 22, + RCT1_WALL_TYPE_WOODEN_PANEL_FENCE = 12, + RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_GATE = 13, + RCT1_WALL_TYPE_WHITE_WOODEN_PANEL_FENCE = 26, + RCT1_WALL_TYPE_RED_WOODEN_PANEL_FENCE = 27, + RCT1_WALL_TYPE_SMALL_GREY_CASTLE = 35, + RCT1_WALL_TYPE_LARGE_CREY_CASTLE = 42, + RCT1_WALL_TYPE_LARGE_CREY_CASTLE_CROSS = 43, + RCT1_WALL_TYPE_LARGE_CREY_CASTLE_GATE = 44, + RCT1_WALL_TYPE_LARGE_CREY_CASTLE_WINDOW = 45, + RCT1_WALL_TYPE_MEDIUM_CREY_CASTLE = 46, + RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_SNOW = 50, }; enum { - RCT1_RESEARCH_END_AVAILABLE = 0xFF, - RCT1_RESEARCH_END_RESEARCHABLE = 0xFE, - RCT1_RESEARCH_END = 0xFD, + RCT1_RESEARCH_END_AVAILABLE = 0xFF, + RCT1_RESEARCH_END_RESEARCHABLE = 0xFE, + RCT1_RESEARCH_END = 0xFD, }; enum { - RCT1_RESEARCH_CATEGORY_THEME, - RCT1_RESEARCH_CATEGORY_RIDE, - RCT1_RESEARCH_CATEGORY_VEHICLE, - RCT1_RESEARCH_CATEGORY_SPECIAL, + RCT1_RESEARCH_CATEGORY_THEME, + RCT1_RESEARCH_CATEGORY_RIDE, + RCT1_RESEARCH_CATEGORY_VEHICLE, + RCT1_RESEARCH_CATEGORY_SPECIAL, }; enum { - RCT1_RESEARCH_EXPENDITURE_ROLLERCOASTERS = 1 << 0, - RCT1_RESEARCH_EXPENDITURE_THRILL_RIDES = 1 << 1, - RCT1_RESEARCH_EXPENDITURE_GENTLE_TRANSPORT_RIDES = 1 << 2, - RCT1_RESEARCH_EXPENDITURE_SHOPS = 1 << 3, - RCT1_RESEARCH_EXPENDITURE_SCENERY_THEMEING = 1 << 4, - RCT1_RESEARCH_EXPENDITURE_RIDE_IMPROVEMENTS = 1 << 5, + RCT1_RESEARCH_EXPENDITURE_ROLLERCOASTERS = 1 << 0, + RCT1_RESEARCH_EXPENDITURE_THRILL_RIDES = 1 << 1, + RCT1_RESEARCH_EXPENDITURE_GENTLE_TRANSPORT_RIDES = 1 << 2, + RCT1_RESEARCH_EXPENDITURE_SHOPS = 1 << 3, + RCT1_RESEARCH_EXPENDITURE_SCENERY_THEMEING = 1 << 4, + RCT1_RESEARCH_EXPENDITURE_RIDE_IMPROVEMENTS = 1 << 5, }; // Unconfirmed special track elements for research enum { - RCT1_RESEARCH_SPECIAL_BANKED_CURVES = 0x06, - RCT1_RESEARCH_SPECIAL_VERTICAL_LOOP = 0x07, - RCT1_RESEARCH_SPECIAL_STEEP_TWIST = 0x0C, - RCT1_RESEARCH_SPECIAL_INLINE_TWIST = 0x11, - RCT1_RESEARCH_SPECIAL_HALF_LOOP = 0x12, - RCT1_RESEARCH_SPECIAL_CORKSCREW = 0x13, - RCT1_RESEARCH_SPECIAL_BANKED_HELIX_A = 0x15, - RCT1_RESEARCH_SPECIAL_BANKED_HELIX_B = 0x16, - RCT1_RESEARCH_SPECIAL_HELIX = 0x17, - RCT1_RESEARCH_SPECIAL_ON_RIDE_PHOTO = 0x1A, - RCT1_RESEARCH_SPECIAL_WATER_SPLASH = 0x1B, - RCT1_RESEARCH_SPECIAL_VERTICAL_DROP = 0x1C, - RCT1_RESEARCH_SPECIAL_BARREL_ROLL = 0x1D, - RCT1_RESEARCH_SPECIAL_LAUNCHED_LIFT_HILL = 0x1E, - RCT1_RESEARCH_SPECIAL_LARGE_LOOP_AND_HALF = 0x1F, - RCT1_RESEARCH_SPECIAL_REVERSER_TURNTABLE = 0x21, - RCT1_RESEARCH_SPECIAL_HEARTLINE_ROLL = 0x22, - RCT1_RESEARCH_SPECIAL_REVERSING_SECTIONS = 0x23, + RCT1_RESEARCH_SPECIAL_BANKED_CURVES = 0x06, + RCT1_RESEARCH_SPECIAL_VERTICAL_LOOP = 0x07, + RCT1_RESEARCH_SPECIAL_STEEP_TWIST = 0x0C, + RCT1_RESEARCH_SPECIAL_INLINE_TWIST = 0x11, + RCT1_RESEARCH_SPECIAL_HALF_LOOP = 0x12, + RCT1_RESEARCH_SPECIAL_CORKSCREW = 0x13, + RCT1_RESEARCH_SPECIAL_BANKED_HELIX_A = 0x15, + RCT1_RESEARCH_SPECIAL_BANKED_HELIX_B = 0x16, + RCT1_RESEARCH_SPECIAL_HELIX = 0x17, + RCT1_RESEARCH_SPECIAL_ON_RIDE_PHOTO = 0x1A, + RCT1_RESEARCH_SPECIAL_WATER_SPLASH = 0x1B, + RCT1_RESEARCH_SPECIAL_VERTICAL_DROP = 0x1C, + RCT1_RESEARCH_SPECIAL_BARREL_ROLL = 0x1D, + RCT1_RESEARCH_SPECIAL_LAUNCHED_LIFT_HILL = 0x1E, + RCT1_RESEARCH_SPECIAL_LARGE_LOOP_AND_HALF = 0x1F, + RCT1_RESEARCH_SPECIAL_REVERSER_TURNTABLE = 0x21, + RCT1_RESEARCH_SPECIAL_HEARTLINE_ROLL = 0x22, + RCT1_RESEARCH_SPECIAL_REVERSING_SECTIONS = 0x23, }; enum { - RCT1_SCENARIO_FLAG_0 = 1 << 0, - RCT1_SCENARIO_FLAG_1 = 1 << 1, - RCT1_SCENARIO_FLAG_2 = 1 << 2, - RCT1_SCENARIO_FLAG_3 = 1 << 3, - RCT1_SCENARIO_FLAG_ENABLE_BANNERS = 1 << 4, - RCT1_SCENARIO_FLAG_5 = 1 << 5, - RCT1_SCENARIO_FLAG_6 = 1 << 6, - RCT1_SCENARIO_FLAG_7 = 1 << 7, - RCT1_SCENARIO_FLAG_CUSTOM_PARK_ENTRANCE_PATH = 1 << 8, - RCT1_SCENARIO_FLAG_NO_CASH_RESET = 1 << 9, - RCT1_SCENARIO_FLAG_10 = 1 << 10, - RCT1_SCENARIO_FLAG_11 = 1 << 11, - RCT1_SCENARIO_FLAG_12 = 1 << 12, - RCT1_SCENARIO_FLAG_CUSTOM_MAP_SIZE = 1 << 13, - RCT1_SCENARIO_FLAG_14 = 1 << 14, - RCT1_SCENARIO_FLAG_15 = 1 << 15, - RCT1_SCENARIO_FLAG_16 = 1 << 16, - RCT1_SCENARIO_FLAG_17 = 1 << 17, - RCT1_SCENARIO_FLAG_18 = 1 << 18, - RCT1_SCENARIO_FLAG_19 = 1 << 19, + RCT1_SCENARIO_FLAG_0 = 1 << 0, + RCT1_SCENARIO_FLAG_1 = 1 << 1, + RCT1_SCENARIO_FLAG_2 = 1 << 2, + RCT1_SCENARIO_FLAG_3 = 1 << 3, + RCT1_SCENARIO_FLAG_ENABLE_BANNERS = 1 << 4, + RCT1_SCENARIO_FLAG_5 = 1 << 5, + RCT1_SCENARIO_FLAG_6 = 1 << 6, + RCT1_SCENARIO_FLAG_7 = 1 << 7, + RCT1_SCENARIO_FLAG_CUSTOM_PARK_ENTRANCE_PATH = 1 << 8, + RCT1_SCENARIO_FLAG_NO_CASH_RESET = 1 << 9, + RCT1_SCENARIO_FLAG_10 = 1 << 10, + RCT1_SCENARIO_FLAG_11 = 1 << 11, + RCT1_SCENARIO_FLAG_12 = 1 << 12, + RCT1_SCENARIO_FLAG_CUSTOM_MAP_SIZE = 1 << 13, + RCT1_SCENARIO_FLAG_14 = 1 << 14, + RCT1_SCENARIO_FLAG_15 = 1 << 15, + RCT1_SCENARIO_FLAG_16 = 1 << 16, + RCT1_SCENARIO_FLAG_17 = 1 << 17, + RCT1_SCENARIO_FLAG_18 = 1 << 18, + RCT1_SCENARIO_FLAG_19 = 1 << 19, }; enum { - RCT1_PARK_FLAGS_PARK_OPEN = (1 << 0), - RCT1_PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT = (1 << 1), - RCT1_PARK_FLAGS_FORBID_LANDSCAPE_CHANGES = (1 << 2), - RCT1_PARK_FLAGS_FORBID_TREE_REMOVAL = (1 << 3), - RCT1_PARK_FLAGS_SHOW_REAL_GUEST_NAMES = (1 << 4), - RCT1_PARK_FLAGS_FORBID_HIGH_CONSTRUCTION = (1 << 5), // Below tree height - RCT1_PARK_FLAGS_PREF_LESS_INTENSE_RIDES = (1 << 6), - RCT1_PARK_FLAGS_FORBID_MARKETING_CAMPAIGN = (1 << 7), - RCT1_PARK_FLAGS_ANTI_CHEAT_DEPRECATED = (1 << 8), // Not used anymore, used for cheat detection - RCT1_PARK_FLAGS_PREF_MORE_INTENSE_RIDES = (1 << 9), - RCT1_PARK_FLAGS_NO_MONEY = (1 << 11), // Used for both scenarios and saved games, unlike RCT2 - RCT1_PARK_FLAGS_DIFFICULT_GUEST_GENERATION = (1 << 12), - RCT1_PARK_FLAGS_PARK_ENTRY_LOCKED_AT_FREE = (1 << 13), // Off: rides and park entry chargeable. On: only rides chargeable. - RCT1_PARK_FLAGS_DIFFICULT_PARK_RATING = (1 << 14), - RCT1_PARK_FLAGS_LOCK_REAL_NAMES_OPTION = (1 << 15), + RCT1_PARK_FLAGS_PARK_OPEN = (1 << 0), + RCT1_PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT = (1 << 1), + RCT1_PARK_FLAGS_FORBID_LANDSCAPE_CHANGES = (1 << 2), + RCT1_PARK_FLAGS_FORBID_TREE_REMOVAL = (1 << 3), + RCT1_PARK_FLAGS_SHOW_REAL_GUEST_NAMES = (1 << 4), + RCT1_PARK_FLAGS_FORBID_HIGH_CONSTRUCTION = (1 << 5), // Below tree height + RCT1_PARK_FLAGS_PREF_LESS_INTENSE_RIDES = (1 << 6), + RCT1_PARK_FLAGS_FORBID_MARKETING_CAMPAIGN = (1 << 7), + RCT1_PARK_FLAGS_ANTI_CHEAT_DEPRECATED = (1 << 8), // Not used anymore, used for cheat detection + RCT1_PARK_FLAGS_PREF_MORE_INTENSE_RIDES = (1 << 9), + RCT1_PARK_FLAGS_NO_MONEY = (1 << 11), // Used for both scenarios and saved games, unlike RCT2 + RCT1_PARK_FLAGS_DIFFICULT_GUEST_GENERATION = (1 << 12), + RCT1_PARK_FLAGS_PARK_ENTRY_LOCKED_AT_FREE = (1 << 13), // Off: rides and park entry chargeable. On: only rides chargeable. + RCT1_PARK_FLAGS_DIFFICULT_PARK_RATING = (1 << 14), + RCT1_PARK_FLAGS_LOCK_REAL_NAMES_OPTION = (1 << 15), }; enum { - STEEL_RC_FRONT = 0, - STEEL_RC_CARRIAGE = 1, - WOODEN_RC_TRAIN = 2, - MONORAIL_CARRIAGE = 10, - MONORAIL_FRONT = 11, - MONORAIL_BACK = 12, - MINIATURE_RAILWAY_TENDER = 15, - MINIATURE_RAILWAY_LOCOMOTIVE = 16, - MINIATURE_RAILWAY_CARRIAGE = 17, - MINE_TRAIN_FRONT = 35, - MINE_TRAIN_CARRIAGE = 36, - CORKSCREW_RC_FRONT = 38, - CORKSCREW_RC_CARRIAGE = 39, - GHOST_TRAIN_CAR = 63, - TWISTER_RC_SPOILER = 64, - TWISTER_RC_CARRIAGE = 65, - GHOST_TRAIN_INVISIBLE = 66, - ARTICULATED_RC_FRONT = 67, - ARTICULATED_RC_CARRIAGE = 68, - MINIATURE_RAILWAY_CARRIAGE_COVERED = 71, - STANDUP_TWISTER_RC_CARRIAGE = 72, - REVERSER_RC_CAR = 79, - REVERSER_RC_BOGIE = 80, - MINIGOLF_PLAYER = 81, - MINIGOLF_BALL = 82, - SPLASH_BOAT = 83, - SPLASH_BOAT_INVISIBLE = 84, - HYPERCOASTER_FRONT = 96, - HYPERCOASTER_CARRIAGE = 97, - INVERTED_4_ACROSS_CARRIAGE = 98, - WATER_COASTER_BOAT = 99, - WATER_COASTER_INVISIBLE = 101, - RIVER_RAFT = 103, + STEEL_RC_FRONT = 0, + STEEL_RC_CARRIAGE = 1, + WOODEN_RC_TRAIN = 2, + MONORAIL_CARRIAGE = 10, + MONORAIL_FRONT = 11, + MONORAIL_BACK = 12, + MINIATURE_RAILWAY_TENDER = 15, + MINIATURE_RAILWAY_LOCOMOTIVE = 16, + MINIATURE_RAILWAY_CARRIAGE = 17, + MINE_TRAIN_FRONT = 35, + MINE_TRAIN_CARRIAGE = 36, + CORKSCREW_RC_FRONT = 38, + CORKSCREW_RC_CARRIAGE = 39, + GHOST_TRAIN_CAR = 63, + TWISTER_RC_SPOILER = 64, + TWISTER_RC_CARRIAGE = 65, + GHOST_TRAIN_INVISIBLE = 66, + ARTICULATED_RC_FRONT = 67, + ARTICULATED_RC_CARRIAGE = 68, + MINIATURE_RAILWAY_CARRIAGE_COVERED = 71, + STANDUP_TWISTER_RC_CARRIAGE = 72, + REVERSER_RC_CAR = 79, + REVERSER_RC_BOGIE = 80, + MINIGOLF_PLAYER = 81, + MINIGOLF_BALL = 82, + SPLASH_BOAT = 83, + SPLASH_BOAT_INVISIBLE = 84, + HYPERCOASTER_FRONT = 96, + HYPERCOASTER_CARRIAGE = 97, + INVERTED_4_ACROSS_CARRIAGE = 98, + WATER_COASTER_BOAT = 99, + WATER_COASTER_INVISIBLE = 101, + RIVER_RAFT = 103, }; enum { - COPY_COLOUR_1 = -1, - COPY_COLOUR_2 = -2, + COPY_COLOUR_1 = -1, + COPY_COLOUR_2 = -2, }; enum { - RCT1_WATER_CYAN, - RCT1_WATER_ORANGE + RCT1_WATER_CYAN, + RCT1_WATER_ORANGE }; extern const uint8 gRideCategories[RIDE_TYPE_COUNT]; diff --git a/src/openrct2/rct2.c b/src/openrct2/rct2.c index 74cb599f37..2669ac7d7f 100644 --- a/src/openrct2/rct2.c +++ b/src/openrct2/rct2.c @@ -57,57 +57,57 @@ // rct2: 0x0097F67C const char * const RCT2FilePaths[PATH_ID_END] = { - "Data" PATH_SEPARATOR "g1.dat", - "Data" PATH_SEPARATOR "plugin.dat", - "Data" PATH_SEPARATOR "css1.dat", - "Data" PATH_SEPARATOR "css2.dat", - "Data" PATH_SEPARATOR "css4.dat", - "Data" PATH_SEPARATOR "css5.dat", - "Data" PATH_SEPARATOR "css6.dat", - "Data" PATH_SEPARATOR "css7.dat", - "Data" PATH_SEPARATOR "css8.dat", - "Data" PATH_SEPARATOR "css9.dat", - "Data" PATH_SEPARATOR "css11.dat", - "Data" PATH_SEPARATOR "css12.dat", - "Data" PATH_SEPARATOR "css13.dat", - "Data" PATH_SEPARATOR "css14.dat", - "Data" PATH_SEPARATOR "css15.dat", - "Data" PATH_SEPARATOR "css3.dat", - "Data" PATH_SEPARATOR "css17.dat", - "Data" PATH_SEPARATOR "css18.dat", - "Data" PATH_SEPARATOR "css19.dat", - "Data" PATH_SEPARATOR "css20.dat", - "Data" PATH_SEPARATOR "css21.dat", - "Data" PATH_SEPARATOR "css22.dat", - "Saved Games" PATH_SEPARATOR "scores.dat", - "Data" PATH_SEPARATOR "css23.dat", - "Data" PATH_SEPARATOR "css24.dat", - "Data" PATH_SEPARATOR "css25.dat", - "Data" PATH_SEPARATOR "css26.dat", - "Data" PATH_SEPARATOR "css27.dat", - "Data" PATH_SEPARATOR "css28.dat", - "Data" PATH_SEPARATOR "css29.dat", - "Data" PATH_SEPARATOR "css30.dat", - "Data" PATH_SEPARATOR "css31.dat", - "Data" PATH_SEPARATOR "css32.dat", - "Data" PATH_SEPARATOR "css33.dat", - "Data" PATH_SEPARATOR "css34.dat", - "Data" PATH_SEPARATOR "css35.dat", - "Data" PATH_SEPARATOR "css36.dat", - "Data" PATH_SEPARATOR "css37.dat", - "Data" PATH_SEPARATOR "css38.dat", - "Data" PATH_SEPARATOR "CUSTOM1.WAV", - "Data" PATH_SEPARATOR "CUSTOM2.WAV", - "Data" PATH_SEPARATOR "css39.dat", - "Data" PATH_SEPARATOR "css40.dat", - "Data" PATH_SEPARATOR "css41.dat", - "Scenarios" PATH_SEPARATOR "Six Flags Magic Mountain.SC6", - "Data" PATH_SEPARATOR "css42.dat", - "Data" PATH_SEPARATOR "css43.dat", - "Data" PATH_SEPARATOR "css44.dat", - "Data" PATH_SEPARATOR "css45.dat", - "Data" PATH_SEPARATOR "css46.dat", - "Data" PATH_SEPARATOR "css50.dat" + "Data" PATH_SEPARATOR "g1.dat", + "Data" PATH_SEPARATOR "plugin.dat", + "Data" PATH_SEPARATOR "css1.dat", + "Data" PATH_SEPARATOR "css2.dat", + "Data" PATH_SEPARATOR "css4.dat", + "Data" PATH_SEPARATOR "css5.dat", + "Data" PATH_SEPARATOR "css6.dat", + "Data" PATH_SEPARATOR "css7.dat", + "Data" PATH_SEPARATOR "css8.dat", + "Data" PATH_SEPARATOR "css9.dat", + "Data" PATH_SEPARATOR "css11.dat", + "Data" PATH_SEPARATOR "css12.dat", + "Data" PATH_SEPARATOR "css13.dat", + "Data" PATH_SEPARATOR "css14.dat", + "Data" PATH_SEPARATOR "css15.dat", + "Data" PATH_SEPARATOR "css3.dat", + "Data" PATH_SEPARATOR "css17.dat", + "Data" PATH_SEPARATOR "css18.dat", + "Data" PATH_SEPARATOR "css19.dat", + "Data" PATH_SEPARATOR "css20.dat", + "Data" PATH_SEPARATOR "css21.dat", + "Data" PATH_SEPARATOR "css22.dat", + "Saved Games" PATH_SEPARATOR "scores.dat", + "Data" PATH_SEPARATOR "css23.dat", + "Data" PATH_SEPARATOR "css24.dat", + "Data" PATH_SEPARATOR "css25.dat", + "Data" PATH_SEPARATOR "css26.dat", + "Data" PATH_SEPARATOR "css27.dat", + "Data" PATH_SEPARATOR "css28.dat", + "Data" PATH_SEPARATOR "css29.dat", + "Data" PATH_SEPARATOR "css30.dat", + "Data" PATH_SEPARATOR "css31.dat", + "Data" PATH_SEPARATOR "css32.dat", + "Data" PATH_SEPARATOR "css33.dat", + "Data" PATH_SEPARATOR "css34.dat", + "Data" PATH_SEPARATOR "css35.dat", + "Data" PATH_SEPARATOR "css36.dat", + "Data" PATH_SEPARATOR "css37.dat", + "Data" PATH_SEPARATOR "css38.dat", + "Data" PATH_SEPARATOR "CUSTOM1.WAV", + "Data" PATH_SEPARATOR "CUSTOM2.WAV", + "Data" PATH_SEPARATOR "css39.dat", + "Data" PATH_SEPARATOR "css40.dat", + "Data" PATH_SEPARATOR "css41.dat", + "Scenarios" PATH_SEPARATOR "Six Flags Magic Mountain.SC6", + "Data" PATH_SEPARATOR "css42.dat", + "Data" PATH_SEPARATOR "css43.dat", + "Data" PATH_SEPARATOR "css44.dat", + "Data" PATH_SEPARATOR "css45.dat", + "Data" PATH_SEPARATOR "css46.dat", + "Data" PATH_SEPARATOR "css50.dat" }; uint32 gCurrentDrawCount = 0; @@ -132,56 +132,56 @@ static void rct2_draw_fps(rct_drawpixelinfo *dpi); void rct2_quit() { - gSavePromptMode = PM_QUIT; - window_save_prompt_open(); + gSavePromptMode = PM_QUIT; + window_save_prompt_open(); } void rct2_dispose() { - object_manager_unload_all_objects(); - gfx_object_check_all_images_freed(); - gfx_unload_g2(); - gfx_unload_g1(); + object_manager_unload_all_objects(); + gfx_object_check_all_images_freed(); + gfx_unload_g2(); + gfx_unload_g1(); } bool rct2_init() { - log_verbose("initialising game"); + log_verbose("initialising game"); - gScenarioTicks = 0; - util_srand((uint32)time(0)); + gScenarioTicks = 0; + util_srand((uint32)time(0)); - config_reset_shortcut_keys(); - config_shortcut_keys_load(); - input_reset_place_obj_modifier(); - // config_load(); + config_reset_shortcut_keys(); + config_shortcut_keys_load(); + input_reset_place_obj_modifier(); + // config_load(); - if (!gfx_load_g1()) { - return false; - } - if (!gfx_load_g2()) { - return false; - } - gfx_load_csg(); + if (!gfx_load_g1()) { + return false; + } + if (!gfx_load_g2()) { + return false; + } + gfx_load_csg(); - font_sprite_initialise_characters(); - if (!gOpenRCT2Headless) { - // platform_init(); - audio_init_ride_sounds_and_info(); - } - viewport_init_all(); + font_sprite_initialise_characters(); + if (!gOpenRCT2Headless) { + // platform_init(); + audio_init_ride_sounds_and_info(); + } + viewport_init_all(); - game_init_all(150); - if (!gOpenRCT2Headless) - window_title_menu_open(); - load_palette(); + game_init_all(150); + if (!gOpenRCT2Headless) + window_title_menu_open(); + load_palette(); #ifdef __ENABLE_LIGHTFX__ - lightfx_init(); + lightfx_init(); #endif - log_verbose("initialising game finished"); - return true; + log_verbose("initialising game finished"); + return true; } /** @@ -190,57 +190,57 @@ bool rct2_init() */ sint32 rct2_init_directories() { - // windows_get_registry_install_info((rct2_install_info*)0x009AA10C, "RollerCoaster Tycoon 2 Setup", "MS Sans Serif", 0); + // windows_get_registry_install_info((rct2_install_info*)0x009AA10C, "RollerCoaster Tycoon 2 Setup", "MS Sans Serif", 0); - if (str_is_null_or_empty(gCustomRCT2DataPath)) { - // check install directory - if (gConfigGeneral.rct2_path == NULL || !platform_original_game_data_exists(gConfigGeneral.rct2_path)) { - log_verbose("install directory does not exist or invalid directory selected, %s", gConfigGeneral.rct2_path); - if (!config_find_or_browse_install_directory()) { - utf8 path[MAX_PATH]; - config_get_default_path(path, sizeof(path)); - log_fatal("Invalid RCT2 installation path. Please correct \"game_path\" in %s.", path); - return 0; - } - } - safe_strcpy(gRCT2AddressAppPath, gConfigGeneral.rct2_path, sizeof(gRCT2AddressAppPath)); - } else { - safe_strcpy(gRCT2AddressAppPath, gCustomRCT2DataPath, sizeof(gRCT2AddressAppPath)); - } - path_end_with_separator(gRCT2AddressAppPath, sizeof(gRCT2AddressAppPath)); + if (str_is_null_or_empty(gCustomRCT2DataPath)) { + // check install directory + if (gConfigGeneral.rct2_path == NULL || !platform_original_game_data_exists(gConfigGeneral.rct2_path)) { + log_verbose("install directory does not exist or invalid directory selected, %s", gConfigGeneral.rct2_path); + if (!config_find_or_browse_install_directory()) { + utf8 path[MAX_PATH]; + config_get_default_path(path, sizeof(path)); + log_fatal("Invalid RCT2 installation path. Please correct \"game_path\" in %s.", path); + return 0; + } + } + safe_strcpy(gRCT2AddressAppPath, gConfigGeneral.rct2_path, sizeof(gRCT2AddressAppPath)); + } else { + safe_strcpy(gRCT2AddressAppPath, gCustomRCT2DataPath, sizeof(gRCT2AddressAppPath)); + } + path_end_with_separator(gRCT2AddressAppPath, sizeof(gRCT2AddressAppPath)); - safe_strcpy(gRCT2AddressSavedGamesPath, gRCT2AddressAppPath, sizeof(gRCT2AddressSavedGamesPath)); - safe_strcat_path(gRCT2AddressSavedGamesPath, "Saved Games", sizeof(gRCT2AddressSavedGamesPath)); - path_end_with_separator(gRCT2AddressSavedGamesPath, sizeof(gRCT2AddressSavedGamesPath)); + safe_strcpy(gRCT2AddressSavedGamesPath, gRCT2AddressAppPath, sizeof(gRCT2AddressSavedGamesPath)); + safe_strcat_path(gRCT2AddressSavedGamesPath, "Saved Games", sizeof(gRCT2AddressSavedGamesPath)); + path_end_with_separator(gRCT2AddressSavedGamesPath, sizeof(gRCT2AddressSavedGamesPath)); - safe_strcpy(gRCT2AddressScenariosPath, gRCT2AddressAppPath, sizeof(gRCT2AddressScenariosPath)); - safe_strcat_path(gRCT2AddressScenariosPath, "Scenarios", sizeof(gRCT2AddressScenariosPath)); - safe_strcat_path(gRCT2AddressScenariosPath, "*.SC6", sizeof(gRCT2AddressScenariosPath)); + safe_strcpy(gRCT2AddressScenariosPath, gRCT2AddressAppPath, sizeof(gRCT2AddressScenariosPath)); + safe_strcat_path(gRCT2AddressScenariosPath, "Scenarios", sizeof(gRCT2AddressScenariosPath)); + safe_strcat_path(gRCT2AddressScenariosPath, "*.SC6", sizeof(gRCT2AddressScenariosPath)); - safe_strcpy(gRCT2AddressLandscapesPath, gRCT2AddressAppPath, sizeof(gRCT2AddressLandscapesPath)); - safe_strcat_path(gRCT2AddressLandscapesPath, "Landscapes", sizeof(gRCT2AddressLandscapesPath)); - safe_strcat_path(gRCT2AddressLandscapesPath, "*.SC6", sizeof(gRCT2AddressLandscapesPath)); + safe_strcpy(gRCT2AddressLandscapesPath, gRCT2AddressAppPath, sizeof(gRCT2AddressLandscapesPath)); + safe_strcat_path(gRCT2AddressLandscapesPath, "Landscapes", sizeof(gRCT2AddressLandscapesPath)); + safe_strcat_path(gRCT2AddressLandscapesPath, "*.SC6", sizeof(gRCT2AddressLandscapesPath)); - safe_strcpy(gRCT2AddressObjectDataPath, gRCT2AddressAppPath, sizeof(gRCT2AddressObjectDataPath)); - safe_strcat_path(gRCT2AddressObjectDataPath, "ObjData", sizeof(gRCT2AddressObjectDataPath)); - safe_strcat_path(gRCT2AddressObjectDataPath, "*.DAT", sizeof(gRCT2AddressObjectDataPath)); + safe_strcpy(gRCT2AddressObjectDataPath, gRCT2AddressAppPath, sizeof(gRCT2AddressObjectDataPath)); + safe_strcat_path(gRCT2AddressObjectDataPath, "ObjData", sizeof(gRCT2AddressObjectDataPath)); + safe_strcat_path(gRCT2AddressObjectDataPath, "*.DAT", sizeof(gRCT2AddressObjectDataPath)); - safe_strcpy(gRCT2AddressTracksPath, gRCT2AddressAppPath, sizeof(gRCT2AddressTracksPath)); - safe_strcat_path(gRCT2AddressTracksPath, "Tracks", sizeof(gRCT2AddressTracksPath)); - safe_strcat_path(gRCT2AddressTracksPath, "*.TD?", sizeof(gRCT2AddressTracksPath)); + safe_strcpy(gRCT2AddressTracksPath, gRCT2AddressAppPath, sizeof(gRCT2AddressTracksPath)); + safe_strcat_path(gRCT2AddressTracksPath, "Tracks", sizeof(gRCT2AddressTracksPath)); + safe_strcat_path(gRCT2AddressTracksPath, "*.TD?", sizeof(gRCT2AddressTracksPath)); - safe_strcpy(gRCT2AddressSavedGamesPath2, gRCT2AddressSavedGamesPath, sizeof(gRCT2AddressSavedGamesPath2)); - return 1; + safe_strcpy(gRCT2AddressSavedGamesPath2, gRCT2AddressSavedGamesPath, sizeof(gRCT2AddressSavedGamesPath2)); + return 1; } void substitute_path(char *dest, size_t size, const char *path, const char *filename) { - size_t written = 0; - while (*path != '*' && *path != '\0' && written < size) { - *dest++ = *path++; - ++written; - } - safe_strcpy(dest, filename, size - written); + size_t written = 0; + while (*path != '*' && *path != '\0' && written < size) { + *dest++ = *path++; + ++written; + } + safe_strcpy(dest, filename, size - written); } /** @@ -249,37 +249,37 @@ void substitute_path(char *dest, size_t size, const char *path, const char *file */ sint32 rct2_startup_checks() { - if (!check_file_paths()) - return 0; + if (!check_file_paths()) + return 0; - return 1; + return 1; } void rct2_draw(rct_drawpixelinfo *dpi) { - if (gIntroState != INTRO_STATE_NONE) { - return; - } + if (gIntroState != INTRO_STATE_NONE) { + return; + } - // redraw_rain(); - // window_update_all(); - // gfx_invalidate_pickedup_peep(); - // gfx_draw_pickedup_peep(); - // update_rain_animation(); - update_palette_effects(); + // redraw_rain(); + // window_update_all(); + // gfx_invalidate_pickedup_peep(); + // gfx_draw_pickedup_peep(); + // update_rain_animation(); + update_palette_effects(); - chat_draw(dpi); - console_draw(dpi); + chat_draw(dpi); + console_draw(dpi); - if ((gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) && !gTitleHideVersionInfo) { - DrawOpenRCT2(dpi, 0, context_get_height() - 20); - } + if ((gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) && !gTitleHideVersionInfo) { + DrawOpenRCT2(dpi, 0, context_get_height() - 20); + } - if (gConfigGeneral.show_fps) { - rct2_draw_fps(dpi); - } + if (gConfigGeneral.show_fps) { + rct2_draw_fps(dpi); + } - gCurrentDrawCount++; + gCurrentDrawCount++; } static time_t _lastSecond; @@ -288,79 +288,79 @@ static sint32 _frames; static void rct2_measure_fps() { - _frames++; + _frames++; - time_t currentTime = time(NULL); + time_t currentTime = time(NULL); - if (currentTime != _lastSecond) { - _currentFPS = _frames; - _frames = 0; - } + if (currentTime != _lastSecond) { + _currentFPS = _frames; + _frames = 0; + } - _lastSecond = currentTime; + _lastSecond = currentTime; } static void rct2_draw_fps(rct_drawpixelinfo *dpi) { - sint32 x = context_get_width() / 2; - sint32 y = 2; + sint32 x = context_get_width() / 2; + sint32 y = 2; - // Measure FPS - rct2_measure_fps(); + // Measure FPS + rct2_measure_fps(); - // Format string - utf8 buffer[64]; - utf8 *ch = buffer; - ch = utf8_write_codepoint(ch, FORMAT_MEDIUMFONT); - ch = utf8_write_codepoint(ch, FORMAT_OUTLINE); - ch = utf8_write_codepoint(ch, FORMAT_WHITE); + // Format string + utf8 buffer[64]; + utf8 *ch = buffer; + ch = utf8_write_codepoint(ch, FORMAT_MEDIUMFONT); + ch = utf8_write_codepoint(ch, FORMAT_OUTLINE); + ch = utf8_write_codepoint(ch, FORMAT_WHITE); - snprintf(ch, 64 - (ch - buffer), "%d", _currentFPS); + snprintf(ch, 64 - (ch - buffer), "%d", _currentFPS); - // Draw Text - sint32 stringWidth = gfx_get_string_width(buffer); - x = x - (stringWidth / 2); - gfx_draw_string(dpi, buffer, 0, x, y); + // Draw Text + sint32 stringWidth = gfx_get_string_width(buffer); + x = x - (stringWidth / 2); + gfx_draw_string(dpi, buffer, 0, x, y); - // Make area dirty so the text doesn't get drawn over the last - gfx_set_dirty_blocks(x - 16, y - 4, gLastDrawStringX + 16, 16); + // Make area dirty so the text doesn't get drawn over the last + gfx_set_dirty_blocks(x - 16, y - 4, gLastDrawStringX + 16, 16); } bool rct2_open_file(const char *path) { - char *extension = strrchr(path, '.'); - if (extension == NULL) { - return false; - } - extension++; + char *extension = strrchr(path, '.'); + if (extension == NULL) { + return false; + } + extension++; - if (_stricmp(extension, "sv6") == 0) { - safe_strcpy((char*)gRCT2AddressSavedGamesPath2, path, sizeof(gRCT2AddressSavedGamesPath2)); - if (game_load_save(path)) { - gFirstTimeSave = 0; - return true; - } - } else if (_stricmp(extension, "sc6") == 0) { - // TODO scenario install - if (scenario_load_and_play_from_path(path)) { - return true; - } - } else if (_stricmp(extension, "td6") == 0 || _stricmp(extension, "td4") == 0) { - // TODO track design install - return true; - } else if (_stricmp(extension, "sv4") == 0) { - if (rct1_load_saved_game(path)) { - game_load_init(); - return true; - } - } else if (_stricmp(extension, "sc4") == 0) { - if (rct1_load_scenario(path)) { - scenario_begin(); - return true; - } - } + if (_stricmp(extension, "sv6") == 0) { + safe_strcpy((char*)gRCT2AddressSavedGamesPath2, path, sizeof(gRCT2AddressSavedGamesPath2)); + if (game_load_save(path)) { + gFirstTimeSave = 0; + return true; + } + } else if (_stricmp(extension, "sc6") == 0) { + // TODO scenario install + if (scenario_load_and_play_from_path(path)) { + return true; + } + } else if (_stricmp(extension, "td6") == 0 || _stricmp(extension, "td4") == 0) { + // TODO track design install + return true; + } else if (_stricmp(extension, "sv4") == 0) { + if (rct1_load_saved_game(path)) { + game_load_init(); + return true; + } + } else if (_stricmp(extension, "sc4") == 0) { + if (rct1_load_scenario(path)) { + scenario_begin(); + return true; + } + } - return false; + return false; } /** @@ -369,44 +369,44 @@ bool rct2_open_file(const char *path) */ sint32 check_file_paths() { - for (sint32 pathId = 0; pathId < PATH_ID_END; pathId++) { - if (!check_file_path(pathId)) { - return 0; - } - } - return 1; + for (sint32 pathId = 0; pathId < PATH_ID_END; pathId++) { + if (!check_file_path(pathId)) { + return 0; + } + } + return 1; } void rct2_update() { - sint32 tickCount = platform_get_ticks(); - gTicksSinceLastUpdate = min(tickCount - gLastTickCount, 500); - gLastTickCount = tickCount; - if (game_is_not_paused()) { - gPaletteEffectFrame += gTicksSinceLastUpdate; - } + sint32 tickCount = platform_get_ticks(); + gTicksSinceLastUpdate = min(tickCount - gLastTickCount, 500); + gLastTickCount = tickCount; + if (game_is_not_paused()) { + gPaletteEffectFrame += gTicksSinceLastUpdate; + } - date_update_real_time_of_day(); + date_update_real_time_of_day(); - // TODO: screenshot countdown process + // TODO: screenshot countdown process - network_update(); + network_update(); - // check_cmdline_arg(); - // Screens - if (gIntroState != INTRO_STATE_NONE) { - intro_update(); - } else if ((gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) && !gOpenRCT2Headless) { - title_update(); - } else { - game_update(); - } + // check_cmdline_arg(); + // Screens + if (gIntroState != INTRO_STATE_NONE) { + intro_update(); + } else if ((gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) && !gOpenRCT2Headless) { + title_update(); + } else { + game_update(); + } - //stop_completed_sounds(); // removes other sounds that are no longer playing in directsound + //stop_completed_sounds(); // removes other sounds that are no longer playing in directsound - twitch_update(); - chat_update(); - console_update(); + twitch_update(); + chat_update(); + console_update(); } /** @@ -415,83 +415,83 @@ void rct2_update() */ const utf8 *get_file_path(sint32 pathId) { - static utf8 path[MAX_PATH]; - if (pathId == PATH_ID_CSS50 && !str_is_null_or_empty(gConfigGeneral.rct1_path)) { - safe_strcpy(path, gConfigGeneral.rct1_path, sizeof(path)); - safe_strcat_path(path, RCT2FilePaths[PATH_ID_CSS17], sizeof(path)); - } else { - safe_strcpy(path, gRCT2AddressAppPath, sizeof(path)); - safe_strcat_path(path, RCT2FilePaths[pathId], sizeof(path)); - } - return path; + static utf8 path[MAX_PATH]; + if (pathId == PATH_ID_CSS50 && !str_is_null_or_empty(gConfigGeneral.rct1_path)) { + safe_strcpy(path, gConfigGeneral.rct1_path, sizeof(path)); + safe_strcat_path(path, RCT2FilePaths[PATH_ID_CSS17], sizeof(path)); + } else { + safe_strcpy(path, gRCT2AddressAppPath, sizeof(path)); + safe_strcat_path(path, RCT2FilePaths[pathId], sizeof(path)); + } + return path; } uint32 get_file_extension_type(const utf8 *path) { - const utf8 *extension = path_get_extension(path); - if (strcicmp(extension, ".dat") == 0) return FILE_EXTENSION_DAT; - if (strcicmp(extension, ".sc4") == 0) return FILE_EXTENSION_SC4; - if (strcicmp(extension, ".sv4") == 0) return FILE_EXTENSION_SV4; - if (strcicmp(extension, ".td4") == 0) return FILE_EXTENSION_TD4; - if (strcicmp(extension, ".sc6") == 0) return FILE_EXTENSION_SC6; - if (strcicmp(extension, ".sv6") == 0) return FILE_EXTENSION_SV6; - if (strcicmp(extension, ".td6") == 0) return FILE_EXTENSION_TD6; - return FILE_EXTENSION_UNKNOWN; + const utf8 *extension = path_get_extension(path); + if (strcicmp(extension, ".dat") == 0) return FILE_EXTENSION_DAT; + if (strcicmp(extension, ".sc4") == 0) return FILE_EXTENSION_SC4; + if (strcicmp(extension, ".sv4") == 0) return FILE_EXTENSION_SV4; + if (strcicmp(extension, ".td4") == 0) return FILE_EXTENSION_TD4; + if (strcicmp(extension, ".sc6") == 0) return FILE_EXTENSION_SC6; + if (strcicmp(extension, ".sv6") == 0) return FILE_EXTENSION_SV6; + if (strcicmp(extension, ".td6") == 0) return FILE_EXTENSION_TD6; + return FILE_EXTENSION_UNKNOWN; } static void rct2_copy_files_over(const utf8 *originalDirectory, const utf8 *newDirectory, const utf8 *extension) { - utf8 *ch, filter[MAX_PATH], oldPath[MAX_PATH], newPath[MAX_PATH]; - sint32 fileEnumHandle; - file_info fileInfo; + utf8 *ch, filter[MAX_PATH], oldPath[MAX_PATH], newPath[MAX_PATH]; + sint32 fileEnumHandle; + file_info fileInfo; - if (!platform_ensure_directory_exists(newDirectory)) { - log_error("Could not create directory %s.", newDirectory); - return; - } + if (!platform_ensure_directory_exists(newDirectory)) { + log_error("Could not create directory %s.", newDirectory); + return; + } - // Create filter path - safe_strcpy(filter, originalDirectory, sizeof(filter)); - ch = strchr(filter, '*'); - if (ch != NULL) - *ch = 0; - safe_strcat_path(filter, "*", sizeof(filter)); - path_append_extension(filter, extension, sizeof(filter)); + // Create filter path + safe_strcpy(filter, originalDirectory, sizeof(filter)); + ch = strchr(filter, '*'); + if (ch != NULL) + *ch = 0; + safe_strcat_path(filter, "*", sizeof(filter)); + path_append_extension(filter, extension, sizeof(filter)); - fileEnumHandle = platform_enumerate_files_begin(filter); - while (platform_enumerate_files_next(fileEnumHandle, &fileInfo)) { - safe_strcpy(newPath, newDirectory, sizeof(newPath)); - safe_strcat_path(newPath, fileInfo.path, sizeof(newPath)); + fileEnumHandle = platform_enumerate_files_begin(filter); + while (platform_enumerate_files_next(fileEnumHandle, &fileInfo)) { + safe_strcpy(newPath, newDirectory, sizeof(newPath)); + safe_strcat_path(newPath, fileInfo.path, sizeof(newPath)); - safe_strcpy(oldPath, originalDirectory, sizeof(oldPath)); - ch = strchr(oldPath, '*'); - if (ch != NULL) - *ch = 0; - safe_strcat_path(oldPath, fileInfo.path, sizeof(oldPath)); + safe_strcpy(oldPath, originalDirectory, sizeof(oldPath)); + ch = strchr(oldPath, '*'); + if (ch != NULL) + *ch = 0; + safe_strcat_path(oldPath, fileInfo.path, sizeof(oldPath)); - if (!platform_file_exists(newPath)) - platform_file_copy(oldPath, newPath, false); - } - platform_enumerate_files_end(fileEnumHandle); + if (!platform_file_exists(newPath)) + platform_file_copy(oldPath, newPath, false); + } + platform_enumerate_files_end(fileEnumHandle); - fileEnumHandle = platform_enumerate_directories_begin(originalDirectory); - while (platform_enumerate_directories_next(fileEnumHandle, filter)) { - safe_strcpy(newPath, newDirectory, sizeof(newPath)); - safe_strcat_path(newPath, filter, sizeof(newPath)); + fileEnumHandle = platform_enumerate_directories_begin(originalDirectory); + while (platform_enumerate_directories_next(fileEnumHandle, filter)) { + safe_strcpy(newPath, newDirectory, sizeof(newPath)); + safe_strcat_path(newPath, filter, sizeof(newPath)); - safe_strcpy(oldPath, originalDirectory, MAX_PATH); - ch = strchr(oldPath, '*'); - if (ch != NULL) - *ch = 0; - safe_strcat_path(oldPath, filter, sizeof(oldPath)); + safe_strcpy(oldPath, originalDirectory, MAX_PATH); + ch = strchr(oldPath, '*'); + if (ch != NULL) + *ch = 0; + safe_strcat_path(oldPath, filter, sizeof(oldPath)); - if (!platform_ensure_directory_exists(newPath)) { - log_error("Could not create directory %s.", newPath); - return; - } - rct2_copy_files_over(oldPath, newPath, extension); - } - platform_enumerate_directories_end(fileEnumHandle); + if (!platform_ensure_directory_exists(newPath)) { + log_error("Could not create directory %s.", newPath); + return; + } + rct2_copy_files_over(oldPath, newPath, extension); + } + platform_enumerate_directories_end(fileEnumHandle); } /** @@ -499,11 +499,11 @@ static void rct2_copy_files_over(const utf8 *originalDirectory, const utf8 *newD */ void rct2_copy_original_user_files_over() { - utf8 path[MAX_PATH]; + utf8 path[MAX_PATH]; - platform_get_user_directory(path, "save", sizeof(path)); - rct2_copy_files_over((utf8*)gRCT2AddressSavedGamesPath, path, ".sv6"); + platform_get_user_directory(path, "save", sizeof(path)); + rct2_copy_files_over((utf8*)gRCT2AddressSavedGamesPath, path, ".sv6"); - platform_get_user_directory(path, "landscape", sizeof(path)); - rct2_copy_files_over((utf8*)gRCT2AddressLandscapesPath, path, ".sc6"); + platform_get_user_directory(path, "landscape", sizeof(path)); + rct2_copy_files_over((utf8*)gRCT2AddressLandscapesPath, path, ".sc6"); } diff --git a/src/openrct2/rct2/addresses.c b/src/openrct2/rct2/addresses.c index e433801a1d..2a4716f579 100644 --- a/src/openrct2/rct2/addresses.c +++ b/src/openrct2/rct2/addresses.c @@ -19,11 +19,11 @@ #include "addresses.h" #if defined(__GNUC__) - #ifdef __clang__ - #define DISABLE_OPT __attribute__((noinline,optnone)) - #else - #define DISABLE_OPT __attribute__((noinline,optimize("O0"))) - #endif // __clang__ + #ifdef __clang__ + #define DISABLE_OPT __attribute__((noinline,optnone)) + #else + #define DISABLE_OPT __attribute__((noinline,optimize("O0"))) + #endif // __clang__ #else #define DISABLE_OPT #endif // defined(__GNUC__) @@ -34,211 +34,211 @@ volatile sint32 _originalAddress = 0; sint32 DISABLE_OPT RCT2_CALLPROC_X(sint32 address, sint32 _eax, sint32 _ebx, sint32 _ecx, sint32 _edx, sint32 _esi, sint32 _edi, sint32 _ebp) { - sint32 result = 0; - _originalAddress = address; + sint32 result = 0; + _originalAddress = address; #if defined(PLATFORM_X86) && !defined(NO_RCT2) - #ifdef _MSC_VER - __asm { - push ebp - push address - mov eax, _eax - mov ebx, _ebx - mov ecx, _ecx - mov edx, _edx - mov esi, _esi - mov edi, _edi - mov ebp, _ebp - call [esp] - lahf - pop ebp - pop ebp - /* Load result with flags */ - mov result, eax - } - #else - __asm__ volatile ( "\ - \n\ - push %%ebx \n\ - push %%ebp \n\ - push %[address] \n\ - mov %[eax], %%eax \n\ - mov %[ebx], %%ebx \n\ - mov %[ecx], %%ecx \n\ - mov %[edx], %%edx \n\ - mov %[esi], %%esi \n\ - mov %[edi], %%edi \n\ - mov %[ebp], %%ebp \n\ - call *(%%esp) \n\ - lahf \n\ - add $4, %%esp \n\ - pop %%ebp \n\ - pop %%ebx \n\ - /* Load result with flags */ \n\ - mov %%eax, %[result] \n\ - " : [address] "+m" (address), [eax] "+m" (_eax), [ebx] "+m" (_ebx), [ecx] "+m" (_ecx), [edx] "+m" (_edx), [esi] "+m" (_esi), [edi] "+m" (_edi), [ebp] "+m" (_ebp), [result] "+m" (result) - : - : "eax","ecx","edx","esi","edi","memory" - ); - #endif + #ifdef _MSC_VER + __asm { + push ebp + push address + mov eax, _eax + mov ebx, _ebx + mov ecx, _ecx + mov edx, _edx + mov esi, _esi + mov edi, _edi + mov ebp, _ebp + call [esp] + lahf + pop ebp + pop ebp + /* Load result with flags */ + mov result, eax + } + #else + __asm__ volatile ( "\ + \n\ + push %%ebx \n\ + push %%ebp \n\ + push %[address] \n\ + mov %[eax], %%eax \n\ + mov %[ebx], %%ebx \n\ + mov %[ecx], %%ecx \n\ + mov %[edx], %%edx \n\ + mov %[esi], %%esi \n\ + mov %[edi], %%edi \n\ + mov %[ebp], %%ebp \n\ + call *(%%esp) \n\ + lahf \n\ + add $4, %%esp \n\ + pop %%ebp \n\ + pop %%ebx \n\ + /* Load result with flags */ \n\ + mov %%eax, %[result] \n\ + " : [address] "+m" (address), [eax] "+m" (_eax), [ebx] "+m" (_ebx), [ecx] "+m" (_ecx), [edx] "+m" (_edx), [esi] "+m" (_esi), [edi] "+m" (_edi), [ebp] "+m" (_ebp), [result] "+m" (result) + : + : "eax","ecx","edx","esi","edi","memory" + ); + #endif #endif // PLATFORM_X86 - _originalAddress = 0; - // lahf only modifies ah, zero out the rest - return result & 0xFF00; + _originalAddress = 0; + // lahf only modifies ah, zero out the rest + return result & 0xFF00; } sint32 DISABLE_OPT RCT2_CALLFUNC_X(sint32 address, sint32 *_eax, sint32 *_ebx, sint32 *_ecx, sint32 *_edx, sint32 *_esi, sint32 *_edi, sint32 *_ebp) { - sint32 result = 0; - _originalAddress = address; + sint32 result = 0; + _originalAddress = address; #if defined(PLATFORM_X86) && !defined(NO_RCT2) - #ifdef _MSC_VER - __asm { - // Store C's base pointer - push ebp - push ebx - // Store address to call - push address + #ifdef _MSC_VER + __asm { + // Store C's base pointer + push ebp + push ebx + // Store address to call + push address - // Set all registers to the input values - mov eax, [_eax] - mov eax, [eax] - mov ebx, [_ebx] - mov ebx, [ebx] - mov ecx, [_ecx] - mov ecx, [ecx] - mov edx, [_edx] - mov edx, [edx] - mov esi, [_esi] - mov esi, [esi] - mov edi, [_edi] - mov edi, [edi] - mov ebp, [_ebp] - mov ebp, [ebp] + // Set all registers to the input values + mov eax, [_eax] + mov eax, [eax] + mov ebx, [_ebx] + mov ebx, [ebx] + mov ecx, [_ecx] + mov ecx, [ecx] + mov edx, [_edx] + mov edx, [edx] + mov esi, [_esi] + mov esi, [esi] + mov edi, [_edi] + mov edi, [edi] + mov ebp, [_ebp] + mov ebp, [ebp] - // Call function - call [esp] + // Call function + call [esp] - // Store output eax - push eax - push ebp - push ebx - mov ebp, [esp + 20] - mov ebx, [esp + 16] + // Store output eax + push eax + push ebp + push ebx + mov ebp, [esp + 20] + mov ebx, [esp + 16] - // Get resulting ecx, edx, esi, edi registers + // Get resulting ecx, edx, esi, edi registers - mov eax, [_edi] - mov [eax], edi - mov eax, [_esi] - mov [eax], esi - mov eax, [_edx] - mov [eax], edx - mov eax, [_ecx] - mov [eax], ecx + mov eax, [_edi] + mov [eax], edi + mov eax, [_esi] + mov [eax], esi + mov eax, [_edx] + mov [eax], edx + mov eax, [_ecx] + mov [eax], ecx - // Pop ebx reg into ecx - pop ecx - mov eax, [_ebx] - mov[eax], ecx + // Pop ebx reg into ecx + pop ecx + mov eax, [_ebx] + mov[eax], ecx - // Pop ebp reg into ecx - pop ecx - mov eax, [_ebp] - mov[eax], ecx + // Pop ebp reg into ecx + pop ecx + mov eax, [_ebp] + mov[eax], ecx - pop eax - // Get resulting eax register - mov ecx, [_eax] - mov [ecx], eax + pop eax + // Get resulting eax register + mov ecx, [_eax] + mov [ecx], eax - // Save flags as return in eax - lahf - // Pop address - pop ebp + // Save flags as return in eax + lahf + // Pop address + pop ebp - pop ebx - pop ebp - /* Load result with flags */ - mov result, eax - } - #else - __asm__ volatile ( "\ - \n\ - /* Store C's base pointer*/ \n\ - push %%ebp \n\ - push %%ebx \n\ - \n\ - /* Store %[address] to call*/ \n\ - push %[address] \n\ - \n\ - /* Set all registers to the input values*/ \n\ - mov %[_eax], %%eax \n\ - mov (%%eax), %%eax \n\ - mov %[_ebx], %%ebx \n\ - mov (%%ebx), %%ebx \n\ - mov %[_ecx], %%ecx \n\ - mov (%%ecx), %%ecx \n\ - mov %[_edx], %%edx \n\ - mov (%%edx), %%edx \n\ - mov %[_esi], %%esi \n\ - mov (%%esi), %%esi \n\ - mov %[_edi], %%edi \n\ - mov (%%edi), %%edi \n\ - mov %[_ebp], %%ebp \n\ - mov (%%ebp), %%ebp \n\ - \n\ - /* Call function*/ \n\ - call *(%%esp) \n\ - \n\ - /* Store output eax */ \n\ - push %%eax \n\ - push %%ebp \n\ - push %%ebx \n\ - mov 20(%%esp), %%ebp \n\ - mov 16(%%esp), %%ebx \n\ - /* Get resulting ecx, edx, esi, edi registers*/ \n\ - mov %[_edi], %%eax \n\ - mov %%edi, (%%eax) \n\ - mov %[_esi], %%eax \n\ - mov %%esi, (%%eax) \n\ - mov %[_edx], %%eax \n\ - mov %%edx, (%%eax) \n\ - mov %[_ecx], %%eax \n\ - mov %%ecx, (%%eax) \n\ - /* Pop ebx reg into ecx*/ \n\ - pop %%ecx \n\ - mov %[_ebx], %%eax \n\ - mov %%ecx, (%%eax) \n\ - \n\ - /* Pop ebp reg into ecx */\n\ - pop %%ecx \n\ - mov %[_ebp], %%eax \n\ - mov %%ecx, (%%eax) \n\ - \n\ - pop %%eax \n\ - /* Get resulting eax register*/ \n\ - mov %[_eax], %%ecx \n\ - mov %%eax, (%%ecx) \n\ - \n\ - /* Save flags as return in eax*/ \n\ - lahf \n\ - /* Pop address*/ \n\ - pop %%ebp \n\ - \n\ - pop %%ebx \n\ - pop %%ebp \n\ - /* Load result with flags */ \n\ - mov %%eax, %[result] \n\ - " : [address] "+m" (address), [_eax] "+m" (_eax), [_ebx] "+m" (_ebx), [_ecx] "+m" (_ecx), [_edx] "+m" (_edx), [_esi] "+m" (_esi), [_edi] "+m" (_edi), [_ebp] "+m" (_ebp), [result] "+m" (result) + pop ebx + pop ebp + /* Load result with flags */ + mov result, eax + } + #else + __asm__ volatile ( "\ + \n\ + /* Store C's base pointer*/ \n\ + push %%ebp \n\ + push %%ebx \n\ + \n\ + /* Store %[address] to call*/ \n\ + push %[address] \n\ + \n\ + /* Set all registers to the input values*/ \n\ + mov %[_eax], %%eax \n\ + mov (%%eax), %%eax \n\ + mov %[_ebx], %%ebx \n\ + mov (%%ebx), %%ebx \n\ + mov %[_ecx], %%ecx \n\ + mov (%%ecx), %%ecx \n\ + mov %[_edx], %%edx \n\ + mov (%%edx), %%edx \n\ + mov %[_esi], %%esi \n\ + mov (%%esi), %%esi \n\ + mov %[_edi], %%edi \n\ + mov (%%edi), %%edi \n\ + mov %[_ebp], %%ebp \n\ + mov (%%ebp), %%ebp \n\ + \n\ + /* Call function*/ \n\ + call *(%%esp) \n\ + \n\ + /* Store output eax */ \n\ + push %%eax \n\ + push %%ebp \n\ + push %%ebx \n\ + mov 20(%%esp), %%ebp \n\ + mov 16(%%esp), %%ebx \n\ + /* Get resulting ecx, edx, esi, edi registers*/ \n\ + mov %[_edi], %%eax \n\ + mov %%edi, (%%eax) \n\ + mov %[_esi], %%eax \n\ + mov %%esi, (%%eax) \n\ + mov %[_edx], %%eax \n\ + mov %%edx, (%%eax) \n\ + mov %[_ecx], %%eax \n\ + mov %%ecx, (%%eax) \n\ + /* Pop ebx reg into ecx*/ \n\ + pop %%ecx \n\ + mov %[_ebx], %%eax \n\ + mov %%ecx, (%%eax) \n\ + \n\ + /* Pop ebp reg into ecx */\n\ + pop %%ecx \n\ + mov %[_ebp], %%eax \n\ + mov %%ecx, (%%eax) \n\ + \n\ + pop %%eax \n\ + /* Get resulting eax register*/ \n\ + mov %[_eax], %%ecx \n\ + mov %%eax, (%%ecx) \n\ + \n\ + /* Save flags as return in eax*/ \n\ + lahf \n\ + /* Pop address*/ \n\ + pop %%ebp \n\ + \n\ + pop %%ebx \n\ + pop %%ebp \n\ + /* Load result with flags */ \n\ + mov %%eax, %[result] \n\ + " : [address] "+m" (address), [_eax] "+m" (_eax), [_ebx] "+m" (_ebx), [_ecx] "+m" (_ecx), [_edx] "+m" (_edx), [_esi] "+m" (_esi), [_edi] "+m" (_edi), [_ebp] "+m" (_ebp), [result] "+m" (result) - : - : "eax","ecx","edx","esi","edi","memory" - ); - #endif + : + : "eax","ecx","edx","esi","edi","memory" + ); + #endif #endif // PLATFORM_X86 - _originalAddress = 0; - // lahf only modifies ah, zero out the rest - return result & 0xFF00; + _originalAddress = 0; + // lahf only modifies ah, zero out the rest + return result & 0xFF00; } #endif // NO_RCT2 diff --git a/src/openrct2/rct2/addresses.h b/src/openrct2/rct2/addresses.h index f2e3b3b5ed..02298bbd60 100644 --- a/src/openrct2/rct2/addresses.h +++ b/src/openrct2/rct2/addresses.h @@ -26,78 +26,78 @@ #endif #ifdef USE_MMAP - #if defined(PLATFORM_64BIT) - #define GOOD_PLACE_FOR_DATA_SEGMENT ((uintptr_t)0x200000000) - #elif defined(PLATFORM_32BIT) - #define GOOD_PLACE_FOR_DATA_SEGMENT ((uintptr_t)0x09000000) - #else - #error "Unknown platform" - #endif + #if defined(PLATFORM_64BIT) + #define GOOD_PLACE_FOR_DATA_SEGMENT ((uintptr_t)0x200000000) + #elif defined(PLATFORM_32BIT) + #define GOOD_PLACE_FOR_DATA_SEGMENT ((uintptr_t)0x09000000) + #else + #error "Unknown platform" + #endif #else - #define GOOD_PLACE_FOR_DATA_SEGMENT ((uintptr_t)0x8a4000) + #define GOOD_PLACE_FOR_DATA_SEGMENT ((uintptr_t)0x8a4000) #endif -#define RCT2_ADDRESS(address, type) ((type*)(GOOD_PLACE_FOR_DATA_SEGMENT - 0x8a4000 + (address))) -#define RCT2_GLOBAL(address, type) (*((type*)(GOOD_PLACE_FOR_DATA_SEGMENT - 0x8a4000 + (address)))) +#define RCT2_ADDRESS(address, type) ((type*)(GOOD_PLACE_FOR_DATA_SEGMENT - 0x8a4000 + (address))) +#define RCT2_GLOBAL(address, type) (*((type*)(GOOD_PLACE_FOR_DATA_SEGMENT - 0x8a4000 + (address)))) #pragma region Memory locations -#define RCT2_ADDRESS_VIEWPORT_PAINT_BITS_PTR 0x009AC118 -#define RCT2_ADDRESS_VIEWPORT_DPI 0x009AC128 +#define RCT2_ADDRESS_VIEWPORT_PAINT_BITS_PTR 0x009AC118 +#define RCT2_ADDRESS_VIEWPORT_DPI 0x009AC128 -#define RCT2_ADDRESS_RIDE_ENTRIES 0x009ACFA4 +#define RCT2_ADDRESS_RIDE_ENTRIES 0x009ACFA4 -#define RCT2_ADDRESS_SMALL_SCENERY_ENTRIES 0x009AD1A4 -#define RCT2_ADDRESS_LARGE_SCENERY_ENTRIES 0x009AD594 -#define RCT2_ADDRESS_WALL_SCENERY_ENTRIES 0x009AD794 -#define RCT2_ADDRESS_BANNER_SCENERY_ENTRIES 0x009AD994 -#define RCT2_ADDRESS_PATH_TYPES 0x009ADA14 -#define RCT2_ADDRESS_PATH_BIT_SCENERY_ENTRIES 0x009ADA54 -#define RCT2_ADDRESS_SCENERY_SET_ENTRIES 0x009ADA90 -#define RCT2_ADDRESS_PARK_ENTRANCE_ENTRIES 0x009ADADC -#define RCT2_ADDRESS_WATER_ENTRIES 0x009ADAE0 -#define RCT2_ADDRESS_SCENARIO_TEXT_ENTRIES 0x009ADAE4 +#define RCT2_ADDRESS_SMALL_SCENERY_ENTRIES 0x009AD1A4 +#define RCT2_ADDRESS_LARGE_SCENERY_ENTRIES 0x009AD594 +#define RCT2_ADDRESS_WALL_SCENERY_ENTRIES 0x009AD794 +#define RCT2_ADDRESS_BANNER_SCENERY_ENTRIES 0x009AD994 +#define RCT2_ADDRESS_PATH_TYPES 0x009ADA14 +#define RCT2_ADDRESS_PATH_BIT_SCENERY_ENTRIES 0x009ADA54 +#define RCT2_ADDRESS_SCENERY_SET_ENTRIES 0x009ADA90 +#define RCT2_ADDRESS_PARK_ENTRANCE_ENTRIES 0x009ADADC +#define RCT2_ADDRESS_WATER_ENTRIES 0x009ADAE0 +#define RCT2_ADDRESS_SCENARIO_TEXT_ENTRIES 0x009ADAE4 // Of type viewport interaction -#define RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE 0x009DE570 +#define RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE 0x009DE570 -#define RCT2_ADDRESS_PAINT_BOUNDBOX_OFFSET_X 0x009DEA52 -#define RCT2_ADDRESS_PAINT_BOUNDBOX_OFFSET_Y 0x009DEA54 -#define RCT2_ADDRESS_PAINT_BOUNDBOX_OFFSET_Z 0x009DEA56 +#define RCT2_ADDRESS_PAINT_BOUNDBOX_OFFSET_X 0x009DEA52 +#define RCT2_ADDRESS_PAINT_BOUNDBOX_OFFSET_Y 0x009DEA54 +#define RCT2_ADDRESS_PAINT_BOUNDBOX_OFFSET_Z 0x009DEA56 -#define RCT2_ADDRESS_G1_ELEMENTS 0x009EBD28 +#define RCT2_ADDRESS_G1_ELEMENTS 0x009EBD28 // No longer used -#define RCT2_ADDRESS_PEEP_UPDATE_FALLING_MAP 0x00F1AEC4 -#define RCT2_ADDRESS_PEEP_UPDATE_FALLING_HEIGHT 0x00F1AEC8 +#define RCT2_ADDRESS_PEEP_UPDATE_FALLING_MAP 0x00F1AEC4 +#define RCT2_ADDRESS_PEEP_UPDATE_FALLING_HEIGHT 0x00F1AEC8 -#define RCT2_ADDRESS_SCENARIO_TICKS 0x00F663AC +#define RCT2_ADDRESS_SCENARIO_TICKS 0x00F663AC -#define RCT2_ADDRESS_MAP_ELEMENTS 0x00F663B8 -#define RCT2_ADDRESS_MAP_ELEMENTS_END 0x010E53B8 +#define RCT2_ADDRESS_MAP_ELEMENTS 0x00F663B8 +#define RCT2_ADDRESS_MAP_ELEMENTS_END 0x010E53B8 -#define RCT2_ADDRESS_CURRENT_TICKS 0x013628F4 -#define RCT2_ADDRESS_RIDE_LIST 0x013628F8 +#define RCT2_ADDRESS_CURRENT_TICKS 0x013628F4 +#define RCT2_ADDRESS_RIDE_LIST 0x013628F8 -#define RCT2_ADDRESS_SPRITE_LIST 0x010E63BC -#define RCT2_ADDRESS_SPRITE_LISTS_HEAD 0x013573BC -#define RCT2_ADDRESS_SPRITE_LISTS_COUNT 0x013573C8 +#define RCT2_ADDRESS_SPRITE_LIST 0x010E63BC +#define RCT2_ADDRESS_SPRITE_LISTS_HEAD 0x013573BC +#define RCT2_ADDRESS_SPRITE_LISTS_COUNT 0x013573C8 // How many ticks the scenario has existed for -#define RCT2_ADDRESS_SAVED_VIEW_X 0x0138869A -#define RCT2_ADDRESS_SAVED_VIEW_Y 0x0138869C -#define RCT2_ADDRESS_SAVED_VIEW_ZOOM 0x0138869E -#define RCT2_ADDRESS_SAVED_VIEW_ROTATION 0x0138869F +#define RCT2_ADDRESS_SAVED_VIEW_X 0x0138869A +#define RCT2_ADDRESS_SAVED_VIEW_Y 0x0138869C +#define RCT2_ADDRESS_SAVED_VIEW_ZOOM 0x0138869E +#define RCT2_ADDRESS_SAVED_VIEW_ROTATION 0x0138869F -#define RCT2_ADDRESS_TILE_MAP_ELEMENT_POINTERS 0x013CE9A4 +#define RCT2_ADDRESS_TILE_MAP_ELEMENT_POINTERS 0x013CE9A4 -#define RCT2_ADDRESS_CURRENT_ROTATION 0x0141E9E0 +#define RCT2_ADDRESS_CURRENT_ROTATION 0x0141E9E0 -#define RCT2_ADDRESS_CURRENT_VIEWPORT_FLAGS 0x0141E9E4 +#define RCT2_ADDRESS_CURRENT_VIEWPORT_FLAGS 0x0141E9E4 -#define RCT2_ADDRESS_FONT_CHAR_WIDTH 0x0141E9E8 +#define RCT2_ADDRESS_FONT_CHAR_WIDTH 0x0141E9E8 -#define RCT2_ADDRESS_CURRENT_SUPPORT_SEGMENTS 0x0141E9B4 +#define RCT2_ADDRESS_CURRENT_SUPPORT_SEGMENTS 0x0141E9B4 #define RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT 0x0141E9D8 #pragma endregion @@ -109,25 +109,25 @@ // OpenRCT2. This may be due to the data at those locations being stored in // the new C modules or changed behaviour of code that used them. -#define RCT2_ADDRESS_RIDE_FLAGS 0x0097CF40 -#define RCT2_ADDRESS_Y_RELATED_GLOBAL_1 0x9E3D12 // uint16 -#define RCT2_ADDRESS_Y_END_POINT_GLOBAL 0x9ABDAC // sint16 -#define RCT2_ADDRESS_Y_START_POINT_GLOBAL 0xEDF808 // sint16 -#define RCT2_ADDRESS_X_RELATED_GLOBAL_1 0x9E3D10 // uint16 -#define RCT2_ADDRESS_X_END_POINT_GLOBAL 0x9ABDA8 // sint16 -#define RCT2_ADDRESS_X_START_POINT_GLOBAL 0xEDF80C // sint16 -#define RCT2_ADDRESS_DPI_LINE_LENGTH_GLOBAL 0x9ABDB0 // uint16 width+pitch -#define RCT2_ADDRESS_LAND_TOOL_SIZE 0x009A9800 -#define RCT2_ADDRESS_SAVE_PROMPT_MODE 0x009A9802 -#define RCT2_ADDRESS_MAP_TOOLTIP_ARGS 0x009A9808 +#define RCT2_ADDRESS_RIDE_FLAGS 0x0097CF40 +#define RCT2_ADDRESS_Y_RELATED_GLOBAL_1 0x9E3D12 // uint16 +#define RCT2_ADDRESS_Y_END_POINT_GLOBAL 0x9ABDAC // sint16 +#define RCT2_ADDRESS_Y_START_POINT_GLOBAL 0xEDF808 // sint16 +#define RCT2_ADDRESS_X_RELATED_GLOBAL_1 0x9E3D10 // uint16 +#define RCT2_ADDRESS_X_END_POINT_GLOBAL 0x9ABDA8 // sint16 +#define RCT2_ADDRESS_X_START_POINT_GLOBAL 0xEDF80C // sint16 +#define RCT2_ADDRESS_DPI_LINE_LENGTH_GLOBAL 0x9ABDB0 // uint16 width+pitch +#define RCT2_ADDRESS_LAND_TOOL_SIZE 0x009A9800 +#define RCT2_ADDRESS_SAVE_PROMPT_MODE 0x009A9802 +#define RCT2_ADDRESS_MAP_TOOLTIP_ARGS 0x009A9808 #define RCT2_ADDRESS_CONFIG_FIRST_TIME_LOAD_OBJECTS 0x009AA00D -#define RCT2_ADDRESS_CONFIG_FIRST_TIME_LOAD_CONFIG 0x009AB4C6 -#define RCT2_ADDRESS_SCENARIO_TEXT_TEMP_CHUNK 0x009ADAF8 -#define RCT2_ADDRESS_NAUSEA_THRESHOLDS 0x00982390 // uint16 +#define RCT2_ADDRESS_CONFIG_FIRST_TIME_LOAD_CONFIG 0x009AB4C6 +#define RCT2_ADDRESS_SCENARIO_TEXT_TEMP_CHUNK 0x009ADAF8 +#define RCT2_ADDRESS_NAUSEA_THRESHOLDS 0x00982390 // uint16 // An array of pointers to the start of a way to // translate between scroll positions for drawing -#define RCT2_ADDRESS_SCROLLING_MODE_POSITIONS 0x00992FB8 +#define RCT2_ADDRESS_SCROLLING_MODE_POSITIONS 0x00992FB8 // The following memory locations represent memory in RCT2 that is still used // by OpenRCT2. Only when the memory is no longer needed due to them being @@ -136,480 +136,480 @@ // are implemented in C. Sometimes memory locations are still used even if // they aren't directly referenced, for example when a game is saved and // loaded, large chunks of data is read and written to. -#define RCT2_ADDRESS_SPRITE_ENTRIES 0x00982708 +#define RCT2_ADDRESS_SPRITE_ENTRIES 0x00982708 -#define RCT2_ADDRESS_EASTEREGG_NAMES 0x00988C20 -#define RCT2_ADDRESS_BTM_TOOLBAR_DIRTY_FLAGS 0x009A9804 -#define RCT2_ADDRESS_APP_PATH 0x009AA214 -#define RCT2_ADDRESS_CONFIG_FLAGS 0x009AAC74 -#define RCT2_ADDRESS_CONFIG_METRIC 0x009AAC78 -#define RCT2_ADDRESS_CONFIG_TEMPERATURE 0x009AAC79 -#define RCT2_ADDRESS_CONFIG_KEYBOARD_SHORTCUTS 0x009AAC7A -#define RCT2_ADDRESS_CONFIG_EDGE_SCROLLING 0x009AACBA -#define RCT2_ADDRESS_CONFIG_CURRENCY 0x009AACBB -#define RCT2_ADDRESS_CONFIG_HEIGHT_MARKERS 0x009AACBD -#define RCT2_ADDRESS_CONFIG_CONSTRUCTION_MARKER 0x009AACBF -#define RCT2_ADDRESS_APP_PATH_SLASH 0x009AB4D9 -#define RCT2_ADDRESS_SAVED_GAMES_PATH 0x009AB5DA -#define RCT2_ADDRESS_SCENARIOS_PATH 0x009AB6E9 -#define RCT2_ADDRESS_LANDSCAPES_PATH 0x009AB7FB -#define RCT2_ADDRESS_OBJECT_DATA_PATH 0x009AB90E -#define RCT2_ADDRESS_TRACKS_PATH 0x009ABA1E -#define RCT2_ADDRESS_SAVED_GAMES_PATH_2 0x009ABB37 +#define RCT2_ADDRESS_EASTEREGG_NAMES 0x00988C20 +#define RCT2_ADDRESS_BTM_TOOLBAR_DIRTY_FLAGS 0x009A9804 +#define RCT2_ADDRESS_APP_PATH 0x009AA214 +#define RCT2_ADDRESS_CONFIG_FLAGS 0x009AAC74 +#define RCT2_ADDRESS_CONFIG_METRIC 0x009AAC78 +#define RCT2_ADDRESS_CONFIG_TEMPERATURE 0x009AAC79 +#define RCT2_ADDRESS_CONFIG_KEYBOARD_SHORTCUTS 0x009AAC7A +#define RCT2_ADDRESS_CONFIG_EDGE_SCROLLING 0x009AACBA +#define RCT2_ADDRESS_CONFIG_CURRENCY 0x009AACBB +#define RCT2_ADDRESS_CONFIG_HEIGHT_MARKERS 0x009AACBD +#define RCT2_ADDRESS_CONFIG_CONSTRUCTION_MARKER 0x009AACBF +#define RCT2_ADDRESS_APP_PATH_SLASH 0x009AB4D9 +#define RCT2_ADDRESS_SAVED_GAMES_PATH 0x009AB5DA +#define RCT2_ADDRESS_SCENARIOS_PATH 0x009AB6E9 +#define RCT2_ADDRESS_LANDSCAPES_PATH 0x009AB7FB +#define RCT2_ADDRESS_OBJECT_DATA_PATH 0x009AB90E +#define RCT2_ADDRESS_TRACKS_PATH 0x009ABA1E +#define RCT2_ADDRESS_SAVED_GAMES_PATH_2 0x009ABB37 -#define RCT2_ADDRESS_EXPANSION_NAMES 0x009AACC0 -#define RCT2_ADDRESS_EXPANSION_FLAGS 0x009AB4C0 -#define RCT2_ADDRESS_CONFIG_RESOLUTION_WIDTH 0x009AB4C2 -#define RCT2_ADDRESS_CONFIG_RESOLUTION_HEIGHT 0x009AB4C4 -#define RCT2_ADDRESS_SCREEN_DPI 0x009ABDC8 -#define RCT2_ADDRESS_SCREEN_WIDTH 0x009ABDD8 -#define RCT2_ADDRESS_SCREEN_HEIGHT 0x009ABDDA +#define RCT2_ADDRESS_EXPANSION_NAMES 0x009AACC0 +#define RCT2_ADDRESS_EXPANSION_FLAGS 0x009AB4C0 +#define RCT2_ADDRESS_CONFIG_RESOLUTION_WIDTH 0x009AB4C2 +#define RCT2_ADDRESS_CONFIG_RESOLUTION_HEIGHT 0x009AB4C4 +#define RCT2_ADDRESS_SCREEN_DPI 0x009ABDC8 +#define RCT2_ADDRESS_SCREEN_WIDTH 0x009ABDD8 +#define RCT2_ADDRESS_SCREEN_HEIGHT 0x009ABDDA -#define RCT2_ADDRESS_DIRTY_BLOCK_WIDTH 0x009ABDE4 -#define RCT2_ADDRESS_DIRTY_BLOCK_HEIGHT 0x009ABDE6 -#define RCT2_ADDRESS_DIRTY_BLOCK_COLUMNS 0x009ABDE8 -#define RCT2_ADDRESS_DIRTY_BLOCK_ROWS 0x009ABDEC +#define RCT2_ADDRESS_DIRTY_BLOCK_WIDTH 0x009ABDE4 +#define RCT2_ADDRESS_DIRTY_BLOCK_HEIGHT 0x009ABDE6 +#define RCT2_ADDRESS_DIRTY_BLOCK_COLUMNS 0x009ABDE8 +#define RCT2_ADDRESS_DIRTY_BLOCK_ROWS 0x009ABDEC -#define RCT2_ADDRESS_NO_RAIN_PIXELS 0x009AC00C -#define RCT2_ADDRESS_RAIN_PATTERN 0x009AC010 -#define RCT2_ADDRESS_LIGHTNING_ACTIVE 0x009AC068 +#define RCT2_ADDRESS_NO_RAIN_PIXELS 0x009AC00C +#define RCT2_ADDRESS_RAIN_PATTERN 0x009AC010 +#define RCT2_ADDRESS_LIGHTNING_ACTIVE 0x009AC068 -#define RCT2_ADDRESS_VIEWPORT_PAINT_X 0x009AC11C -#define RCT2_ADDRESS_VIEWPORT_PAINT_Y 0x009AC11E -#define RCT2_ADDRESS_VIEWPORT_PAINT_WIDTH 0x009AC120 -#define RCT2_ADDRESS_VIEWPORT_PAINT_HEIGHT 0x009AC122 -#define RCT2_ADDRESS_VIEWPORT_PAINT_PITCH 0x009AC124 -#define RCT2_ADDRESS_VIEWPORT_ZOOM 0x009AC126 +#define RCT2_ADDRESS_VIEWPORT_PAINT_X 0x009AC11C +#define RCT2_ADDRESS_VIEWPORT_PAINT_Y 0x009AC11E +#define RCT2_ADDRESS_VIEWPORT_PAINT_WIDTH 0x009AC120 +#define RCT2_ADDRESS_VIEWPORT_PAINT_HEIGHT 0x009AC122 +#define RCT2_ADDRESS_VIEWPORT_PAINT_PITCH 0x009AC124 +#define RCT2_ADDRESS_VIEWPORT_ZOOM 0x009AC126 -#define RCT2_ADDRESS_RUN_INTRO_TICK_PART 0x009AC319 -#define RCT2_ADDRESS_ERROR_TYPE 0x009AC31B -#define RCT2_ADDRESS_ERROR_STRING_ID 0x009AC31C -#define RCT2_ADDRESS_WINDOW_MAP_FLASHING_FLAGS 0x009AC861 +#define RCT2_ADDRESS_RUN_INTRO_TICK_PART 0x009AC319 +#define RCT2_ADDRESS_ERROR_TYPE 0x009AC31B +#define RCT2_ADDRESS_ERROR_STRING_ID 0x009AC31C +#define RCT2_ADDRESS_WINDOW_MAP_FLASHING_FLAGS 0x009AC861 -#define RCT2_ADDRESS_INSTALLED_OBJECT_LIST 0x009ADAE8 -#define RCT2_ADDRESS_EDITOR_OBJECT_FLAGS_LIST 0x009ADAEC -#define RCT2_ADDRESS_TOTAL_NO_IMAGES 0x009ADAF0 +#define RCT2_ADDRESS_INSTALLED_OBJECT_LIST 0x009ADAE8 +#define RCT2_ADDRESS_EDITOR_OBJECT_FLAGS_LIST 0x009ADAEC +#define RCT2_ADDRESS_TOTAL_NO_IMAGES 0x009ADAF0 -#define RCT2_ADDRESS_CURRENT_SOUND_DEVICE 0x009AF280 -#define RCT2_ADDRESS_VEHICLE_SOUND_LIST 0x009AF288 +#define RCT2_ADDRESS_CURRENT_SOUND_DEVICE 0x009AF280 +#define RCT2_ADDRESS_VEHICLE_SOUND_LIST 0x009AF288 -#define RCT2_ADDRESS_DRAW_SCROLL_LIST 0x009C3840 -#define RCT2_ADDRESS_DRAW_SCROLL_NEXT_ID 0x009D7A80 +#define RCT2_ADDRESS_DRAW_SCROLL_LIST 0x009C3840 +#define RCT2_ADDRESS_DRAW_SCROLL_NEXT_ID 0x009D7A80 -#define RCT2_ADDRESS_INPUT_FLAGS 0x009DE518 -#define RCT2_ADDRESS_INPUT_STATE 0x009DE51D -#define RCT2_ADDRESS_CURSOR_DOWN_WINDOWCLASS 0x009DE51F -#define RCT2_ADDRESS_CURSOR_DOWN_WINDOWNUMBER 0x009DE520 -#define RCT2_ADDRESS_CURSOR_DOWN_WIDGETINDEX 0x009DE524 +#define RCT2_ADDRESS_INPUT_FLAGS 0x009DE518 +#define RCT2_ADDRESS_INPUT_STATE 0x009DE51D +#define RCT2_ADDRESS_CURSOR_DOWN_WINDOWCLASS 0x009DE51F +#define RCT2_ADDRESS_CURSOR_DOWN_WINDOWNUMBER 0x009DE520 +#define RCT2_ADDRESS_CURSOR_DOWN_WIDGETINDEX 0x009DE524 -#define RCT2_ADDRESS_CURSOR_DRAG_LAST_X 0x009DE52A -#define RCT2_ADDRESS_CURSOR_DRAG_LAST_Y 0x009DE52C -#define RCT2_ADDRESS_CURSOR_DRAG_WINDOWNUMBER 0x009DE52E -#define RCT2_ADDRESS_CURSOR_DRAG_WINDOWCLASS 0x009DE530 +#define RCT2_ADDRESS_CURSOR_DRAG_LAST_X 0x009DE52A +#define RCT2_ADDRESS_CURSOR_DRAG_LAST_Y 0x009DE52C +#define RCT2_ADDRESS_CURSOR_DRAG_WINDOWNUMBER 0x009DE52E +#define RCT2_ADDRESS_CURSOR_DRAG_WINDOWCLASS 0x009DE530 -#define RCT2_ADDRESS_TOOLTIP_WINDOW_CLASS 0x009DE533 -#define RCT2_ADDRESS_TOOLTIP_WINDOW_NUMBER 0x009DE534 -#define RCT2_ADDRESS_TOOLTIP_WIDGET_INDEX 0x009DE536 -#define RCT2_ADDRESS_TOOLTIP_CURSOR_X 0x009DE538 -#define RCT2_ADDRESS_TOOLTIP_CURSOR_Y 0x009DE53A -#define RCT2_ADDRESS_TOOLTIP_TIMEOUT 0x009DE53C -#define RCT2_ADDRESS_TOOLTIP_NOT_SHOWN_TICKS 0x009DE53E +#define RCT2_ADDRESS_TOOLTIP_WINDOW_CLASS 0x009DE533 +#define RCT2_ADDRESS_TOOLTIP_WINDOW_NUMBER 0x009DE534 +#define RCT2_ADDRESS_TOOLTIP_WIDGET_INDEX 0x009DE536 +#define RCT2_ADDRESS_TOOLTIP_CURSOR_X 0x009DE538 +#define RCT2_ADDRESS_TOOLTIP_CURSOR_Y 0x009DE53A +#define RCT2_ADDRESS_TOOLTIP_TIMEOUT 0x009DE53C +#define RCT2_ADDRESS_TOOLTIP_NOT_SHOWN_TICKS 0x009DE53E -#define RCT2_ADDRESS_CURRENT_SCROLL_AREA 0x009DE548 -#define RCT2_ADDRESS_CURRENT_SCROLL_ID 0x009DE54C +#define RCT2_ADDRESS_CURRENT_SCROLL_AREA 0x009DE548 +#define RCT2_ADDRESS_CURRENT_SCROLL_ID 0x009DE54C #define RCT2_ADDRESS_TICKS_SINCE_DRAG_START 0x009DE540 -#define RCT2_ADDRESS_CURSOR_OVER_WINDOWCLASS 0x009DE55C -#define RCT2_ADDRESS_CURSOR_OVER_WINDOWNUMBER 0x009DE55E -#define RCT2_ADDRESS_CURSOR_OVER_WIDGETINDEX 0x009DE560 +#define RCT2_ADDRESS_CURSOR_OVER_WINDOWCLASS 0x009DE55C +#define RCT2_ADDRESS_CURSOR_OVER_WINDOWNUMBER 0x009DE55E +#define RCT2_ADDRESS_CURSOR_OVER_WIDGETINDEX 0x009DE560 -#define RCT2_ADDRESS_CURENT_CURSOR 0x009DE51C -#define RCT2_ADDRESS_TOOL_WINDOWNUMBER 0x009DE542 -#define RCT2_ADDRESS_TOOL_WINDOWCLASS 0x009DE544 -#define RCT2_ADDRESS_CURRENT_TOOL 0x009DE545 -#define RCT2_ADDRESS_TOOL_WIDGETINDEX 0x009DE546 +#define RCT2_ADDRESS_CURENT_CURSOR 0x009DE51C +#define RCT2_ADDRESS_TOOL_WINDOWNUMBER 0x009DE542 +#define RCT2_ADDRESS_TOOL_WINDOWCLASS 0x009DE544 +#define RCT2_ADDRESS_CURRENT_TOOL 0x009DE545 +#define RCT2_ADDRESS_TOOL_WIDGETINDEX 0x009DE546 -#define RCT2_ADDRESS_PICKEDUP_PEEP_IMAGE 0x009DE550 -#define RCT2_ADDRESS_PICKEDUP_PEEP_X 0x009DE554 -#define RCT2_ADDRESS_PICKEDUP_PEEP_Y 0x009DE556 +#define RCT2_ADDRESS_PICKEDUP_PEEP_IMAGE 0x009DE550 +#define RCT2_ADDRESS_PICKEDUP_PEEP_X 0x009DE554 +#define RCT2_ADDRESS_PICKEDUP_PEEP_Y 0x009DE556 -#define RCT2_ADDRESS_LAST_TICK_COUNT 0x009DE580 -#define RCT2_ADDRESS_PALETTE_EFFECT_FRAME_NO 0x009DE584 -#define RCT2_ADDRESS_TICKS_SINCE_LAST_UPDATE 0x009DE588 +#define RCT2_ADDRESS_LAST_TICK_COUNT 0x009DE580 +#define RCT2_ADDRESS_PALETTE_EFFECT_FRAME_NO 0x009DE584 +#define RCT2_ADDRESS_TICKS_SINCE_LAST_UPDATE 0x009DE588 // Flags: // 0x1 Enable selection // 0x2 Enable construct selection, see CONSTRUCT_PATH_* // 0x4 Show yellow arrow, see MAP_ARROW_* // 0x8 ? -#define RCT2_ADDRESS_MAP_SELECTION_FLAGS 0x009DE58A -#define RCT2_ADDRESS_MAP_SELECTION_A_X 0x009DE58C -#define RCT2_ADDRESS_MAP_SELECTION_B_X 0x009DE58E -#define RCT2_ADDRESS_MAP_SELECTION_A_Y 0x009DE590 -#define RCT2_ADDRESS_MAP_SELECTION_B_Y 0x009DE592 +#define RCT2_ADDRESS_MAP_SELECTION_FLAGS 0x009DE58A +#define RCT2_ADDRESS_MAP_SELECTION_A_X 0x009DE58C +#define RCT2_ADDRESS_MAP_SELECTION_B_X 0x009DE58E +#define RCT2_ADDRESS_MAP_SELECTION_A_Y 0x009DE590 +#define RCT2_ADDRESS_MAP_SELECTION_B_Y 0x009DE592 // Types: // 0-3 Corners // 4 Whole tile // 5 ? // 6-9 Quarters // 10-13 Edges -#define RCT2_ADDRESS_MAP_SELECTION_TYPE 0x009DE594 +#define RCT2_ADDRESS_MAP_SELECTION_TYPE 0x009DE594 -#define RCT2_ADDRESS_MAP_ARROW_X 0x009DEA48 -#define RCT2_ADDRESS_MAP_ARROW_Y 0x009DEA4A -#define RCT2_ADDRESS_MAP_ARROW_Z 0x009DEA4C -#define RCT2_ADDRESS_MAP_ARROW_DIRECTION 0x009DEA4E +#define RCT2_ADDRESS_MAP_ARROW_X 0x009DEA48 +#define RCT2_ADDRESS_MAP_ARROW_Y 0x009DEA4A +#define RCT2_ADDRESS_MAP_ARROW_Z 0x009DEA4C +#define RCT2_ADDRESS_MAP_ARROW_DIRECTION 0x009DEA4E -#define RCT2_ADDRESS_PLACE_OBJECT_MODIFIER 0x009DEA70 -#define RCT2_ADDRESS_ON_TUTORIAL 0x009DEA71 +#define RCT2_ADDRESS_PLACE_OBJECT_MODIFIER 0x009DEA70 +#define RCT2_ADDRESS_ON_TUTORIAL 0x009DEA71 -#define RCT2_ADDRESS_MOUSE_WRITE_INDEX 0x009E2DE4 -#define RCT2_ADDRESS_MOUSE_READ_INDEX 0x009E2DE8 -#define RCT2_ADDRESS_PROGRESSBAR_HWND 0x009E2DF8 +#define RCT2_ADDRESS_MOUSE_WRITE_INDEX 0x009E2DE4 +#define RCT2_ADDRESS_MOUSE_READ_INDEX 0x009E2DE8 +#define RCT2_ADDRESS_PROGRESSBAR_HWND 0x009E2DF8 -#define RCT2_ADDRESS_COMMAND_MAP_X 0x009DEA5E -#define RCT2_ADDRESS_COMMAND_MAP_Y 0x009DEA60 -#define RCT2_ADDRESS_COMMAND_MAP_Z 0x009DEA62 +#define RCT2_ADDRESS_COMMAND_MAP_X 0x009DEA5E +#define RCT2_ADDRESS_COMMAND_MAP_Y 0x009DEA60 +#define RCT2_ADDRESS_COMMAND_MAP_Z 0x009DEA62 -#define RCT2_ADDRESS_SCREEN_AGE 0x009DEA66 -#define RCT2_ADDRESS_SCREEN_FLAGS 0x009DEA68 -#define RCT2_ADDRESS_SCREENSHOT_COUNTDOWN 0x009DEA6D -#define RCT2_ADDRESS_GAME_PAUSED 0x009DEA6E -#define RCT2_ADDRESS_WINDOW_DPI 0x009DEA74 +#define RCT2_ADDRESS_SCREEN_AGE 0x009DEA66 +#define RCT2_ADDRESS_SCREEN_FLAGS 0x009DEA68 +#define RCT2_ADDRESS_SCREENSHOT_COUNTDOWN 0x009DEA6D +#define RCT2_ADDRESS_GAME_PAUSED 0x009DEA6E +#define RCT2_ADDRESS_WINDOW_DPI 0x009DEA74 -#define RCT2_ADDRESS_WINDOW_UPDATE_TICKS 0x009DEB7C +#define RCT2_ADDRESS_WINDOW_UPDATE_TICKS 0x009DEB7C -#define RCT2_ADDRESS_TEXTINPUT_WIDGETINDEX 0x009DEB88 -#define RCT2_ADDRESS_TEXTINPUT_WINDOWNUMBER 0x009DEB8A -#define RCT2_ADDRESS_TEXTINPUT_WINDOWCLASS 0x009DEB8C +#define RCT2_ADDRESS_TEXTINPUT_WIDGETINDEX 0x009DEB88 +#define RCT2_ADDRESS_TEXTINPUT_WINDOWNUMBER 0x009DEB8A +#define RCT2_ADDRESS_TEXTINPUT_WINDOWCLASS 0x009DEB8C -#define RCT2_ADDRESS_CMDLINE 0x009E2D98 -#define RCT2_ADDRESS_HFONT 0x009E2DEC -#define RCT2_ADDRESS_LAND_RAISE_COST 0x009E2E1C -#define RCT2_ADDRESS_LAND_LOWER_COST 0x009E2E20 -#define RCT2_ADDRESS_SELECTED_TERRAIN_EDGE 0x009E2E24 -#define RCT2_ADDRESS_SELECTED_TERRAIN_SURFACE 0x009E2E25 +#define RCT2_ADDRESS_CMDLINE 0x009E2D98 +#define RCT2_ADDRESS_HFONT 0x009E2DEC +#define RCT2_ADDRESS_LAND_RAISE_COST 0x009E2E1C +#define RCT2_ADDRESS_LAND_LOWER_COST 0x009E2E20 +#define RCT2_ADDRESS_SELECTED_TERRAIN_EDGE 0x009E2E24 +#define RCT2_ADDRESS_SELECTED_TERRAIN_SURFACE 0x009E2E25 -#define RCT2_ADDRESS_PARK_ENTRANCE_GHOST_X 0x009E32CC -#define RCT2_ADDRESS_PARK_ENTRANCE_GHOST_Y 0x009E32CE -#define RCT2_ADDRESS_PARK_ENTRANCE_GHOST_Z 0x009E32D0 -#define RCT2_ADDRESS_PARK_ENTRANCE_GHOST_DIRECTION 0x009E32D1 -#define RCT2_ADDRESS_PARK_ENTRANCE_GHOST_EXISTS 0x009E32D2 -#define RCT2_ADDRESS_PARK_ENTRANCE_GHOST_PRICE 0x009E32D3 +#define RCT2_ADDRESS_PARK_ENTRANCE_GHOST_X 0x009E32CC +#define RCT2_ADDRESS_PARK_ENTRANCE_GHOST_Y 0x009E32CE +#define RCT2_ADDRESS_PARK_ENTRANCE_GHOST_Z 0x009E32D0 +#define RCT2_ADDRESS_PARK_ENTRANCE_GHOST_DIRECTION 0x009E32D1 +#define RCT2_ADDRESS_PARK_ENTRANCE_GHOST_EXISTS 0x009E32D2 +#define RCT2_ADDRESS_PARK_ENTRANCE_GHOST_PRICE 0x009E32D3 // Every pixel changed by rain is stored. // 32bit (pixel_offset 24 bit)(pixel_colour 8 bit) // Use the rainPixels[] global in drawing.c from now on -#define RCT2_ADDRESS_RAIN_PIXEL_STORE 0x00EDF850 -#define RCT2_ADDRESS_UNCOMPLETED_RESEARCH_TYPES 0x00EE787C +#define RCT2_ADDRESS_RAIN_PIXEL_STORE 0x00EDF850 +#define RCT2_ADDRESS_UNCOMPLETED_RESEARCH_TYPES 0x00EE787C -#define RCT2_ADDRESS_ELEMENT_LOCATION_COMPARED_TO_GROUND_AND_WATER 0x00F1AD60 -#define RCT2_ADDRESS_MAP_IMAGE_DATA 0x00F1AD68 +#define RCT2_ADDRESS_ELEMENT_LOCATION_COMPARED_TO_GROUND_AND_WATER 0x00F1AD60 +#define RCT2_ADDRESS_MAP_IMAGE_DATA 0x00F1AD68 -#define RCT2_ADDRESS_PEEP_PATHFINDING_GOAL_X 0x00F1AECE -#define RCT2_ADDRESS_PEEP_PATHFINDING_GOAL_Y 0x00F1AED0 -#define RCT2_ADDRESS_PEEP_PATHFINDING_GOAL_Z 0x00F1AED2 +#define RCT2_ADDRESS_PEEP_PATHFINDING_GOAL_X 0x00F1AECE +#define RCT2_ADDRESS_PEEP_PATHFINDING_GOAL_Y 0x00F1AED0 +#define RCT2_ADDRESS_PEEP_PATHFINDING_GOAL_Z 0x00F1AED2 #define RCT2_ADDRESS_PEEP_PATHFINDING_FEWEST_NUM_STEPS 0x00F1AED3 #define RCT2_ADDRESS_PEEP_PATHFINDING_NUM_JUNCTIONS 0x00F1AEDC #define RCT2_ADDRESS_PEEP_PATHFINDING_SINGLE_CHOICE_SECTION 0x00F1AEDE -#define RCT2_ADDRESS_PEEP_PATHFINDING_IS_STAFF 0x00F1AEDD +#define RCT2_ADDRESS_PEEP_PATHFINDING_IS_STAFF 0x00F1AEDD -#define RCT2_ADDRESS_WINDOW_GUEST_LIST_SELECTED_FILTER 0x00F1EE06 -#define RCT2_ADDRESS_WINDOW_GUEST_LIST_SELECTED_TAB 0x00F1EE12 -#define RCT2_ADDRESS_WINDOW_GUEST_LIST_SELECTED_VIEW 0x00F1EE13 +#define RCT2_ADDRESS_WINDOW_GUEST_LIST_SELECTED_FILTER 0x00F1EE06 +#define RCT2_ADDRESS_WINDOW_GUEST_LIST_SELECTED_TAB 0x00F1EE12 +#define RCT2_ADDRESS_WINDOW_GUEST_LIST_SELECTED_VIEW 0x00F1EE13 -#define RCT2_ADDRESS_PROVISIONAL_PATH_FLAGS 0x00F3EF92 -#define RCT2_ADDRESS_PROVISIONAL_PATH_X 0x00F3EF94 -#define RCT2_ADDRESS_PROVISIONAL_PATH_Y 0x00F3EF96 -#define RCT2_ADDRESS_PROVISIONAL_PATH_Z 0x00F3EF98 -#define RCT2_ADDRESS_PATH_CONSTRUCTION_MODE 0x00F3EF99 -#define RCT2_ADDRESS_PATH_ERROR_OCCURED 0x00F3EF9F -#define RCT2_ADDRESS_SELECTED_PATH_ID 0x00F3EFA0 -#define RCT2_ADDRESS_SELECTED_PATH_TYPE 0x00F3EFA2 -#define RCT2_ADDRESS_CONSTRUCT_PATH_FROM_X 0x00F3EF8A -#define RCT2_ADDRESS_CONSTRUCT_PATH_FROM_Y 0x00F3EF8C -#define RCT2_ADDRESS_CONSTRUCT_PATH_FROM_Z 0x00F3EF8E -#define RCT2_ADDRESS_CONSTRUCT_PATH_DIRECTION 0x00F3EF90 -#define RCT2_ADDRESS_CONSTRUCT_PATH_SLOPE 0x00F3EF91 +#define RCT2_ADDRESS_PROVISIONAL_PATH_FLAGS 0x00F3EF92 +#define RCT2_ADDRESS_PROVISIONAL_PATH_X 0x00F3EF94 +#define RCT2_ADDRESS_PROVISIONAL_PATH_Y 0x00F3EF96 +#define RCT2_ADDRESS_PROVISIONAL_PATH_Z 0x00F3EF98 +#define RCT2_ADDRESS_PATH_CONSTRUCTION_MODE 0x00F3EF99 +#define RCT2_ADDRESS_PATH_ERROR_OCCURED 0x00F3EF9F +#define RCT2_ADDRESS_SELECTED_PATH_ID 0x00F3EFA0 +#define RCT2_ADDRESS_SELECTED_PATH_TYPE 0x00F3EFA2 +#define RCT2_ADDRESS_CONSTRUCT_PATH_FROM_X 0x00F3EF8A +#define RCT2_ADDRESS_CONSTRUCT_PATH_FROM_Y 0x00F3EF8C +#define RCT2_ADDRESS_CONSTRUCT_PATH_FROM_Z 0x00F3EF8E +#define RCT2_ADDRESS_CONSTRUCT_PATH_DIRECTION 0x00F3EF90 +#define RCT2_ADDRESS_CONSTRUCT_PATH_SLOPE 0x00F3EF91 -#define RCT2_ADDRESS_CONSTRUCT_PATH_VALID_DIRECTIONS 0x00F3EF9E +#define RCT2_ADDRESS_CONSTRUCT_PATH_VALID_DIRECTIONS 0x00F3EF9E -#define RCT2_ADDRESS_WINDOW_RIDE_LIST_INFORMATION_TYPE 0x00F43833 -#define RCT2_ADDRESS_WINDOW_RIDE_LIST_SELECTED_TAB 0x00F43824 -#define RCT2_ADDRESS_WINDOW_RIDE_LIST_HIGHLIGHTED_ITEM 0x00F43825 +#define RCT2_ADDRESS_WINDOW_RIDE_LIST_INFORMATION_TYPE 0x00F43833 +#define RCT2_ADDRESS_WINDOW_RIDE_LIST_SELECTED_TAB 0x00F43824 +#define RCT2_ADDRESS_WINDOW_RIDE_LIST_HIGHLIGHTED_ITEM 0x00F43825 -#define RCT2_ADDRESS_STAFF_HIGHLIGHTED_INDEX 0x00F43908 -#define RCT2_ADDRESS_WINDOW_STAFF_LIST_SELECTED_TAB 0x00F4390A +#define RCT2_ADDRESS_STAFF_HIGHLIGHTED_INDEX 0x00F43908 +#define RCT2_ADDRESS_WINDOW_STAFF_LIST_SELECTED_TAB 0x00F4390A // Each character is painted onto a drawing surface // any coloured pixels are marked in this bitmap // 8 x 8 in size. -#define RCT2_ADDRESS_CHARACTER_BITMAP 0x00F4393C +#define RCT2_ADDRESS_CHARACTER_BITMAP 0x00F4393C -#define RCT2_ADDRESS_TRACK_PREVIEW_ROTATION 0x00F440AE -#define RCT2_ADDRESS_TRACK_PREVIEW_X_MIN 0x00F440F9 -#define RCT2_ADDRESS_TRACK_PREVIEW_X_MAX 0x00F440FB -#define RCT2_ADDRESS_TRACK_PREVIEW_Y_MIN 0x00F440FD -#define RCT2_ADDRESS_TRACK_PREVIEW_Y_MAX 0x00F440FF -#define RCT2_ADDRESS_TRACK_PREVIEW_Z_MIN 0x00F44101 -#define RCT2_ADDRESS_TRACK_PREVIEW_Z_MAX 0x00F44103 -#define RCT2_ADDRESS_TRACK_DESIGN_CACHE 0x00F44105 -#define RCT2_ADDRESS_TRACK_DESIGN_INDEX_CACHE 0x00F44109 -#define RCT2_ADDRESS_TRACK_DESIGN_NEXT_INDEX_CACHE 0x00F44119 -#define RCT2_ADDRESS_TRACK_DESIGN_COST 0x00F4411D -#define RCT2_ADDRESS_TRACK_DESIGN_SCENERY_TOGGLE 0x00F44152 +#define RCT2_ADDRESS_TRACK_PREVIEW_ROTATION 0x00F440AE +#define RCT2_ADDRESS_TRACK_PREVIEW_X_MIN 0x00F440F9 +#define RCT2_ADDRESS_TRACK_PREVIEW_X_MAX 0x00F440FB +#define RCT2_ADDRESS_TRACK_PREVIEW_Y_MIN 0x00F440FD +#define RCT2_ADDRESS_TRACK_PREVIEW_Y_MAX 0x00F440FF +#define RCT2_ADDRESS_TRACK_PREVIEW_Z_MIN 0x00F44101 +#define RCT2_ADDRESS_TRACK_PREVIEW_Z_MAX 0x00F44103 +#define RCT2_ADDRESS_TRACK_DESIGN_CACHE 0x00F44105 +#define RCT2_ADDRESS_TRACK_DESIGN_INDEX_CACHE 0x00F44109 +#define RCT2_ADDRESS_TRACK_DESIGN_NEXT_INDEX_CACHE 0x00F44119 +#define RCT2_ADDRESS_TRACK_DESIGN_COST 0x00F4411D +#define RCT2_ADDRESS_TRACK_DESIGN_SCENERY_TOGGLE 0x00F44152 -#define RCT2_ADDRESS_OBJECT_LIST_NO_ITEMS 0x00F42B6C -#define RCT2_ADDRESS_ORIGINAL_RCT2_OBJECT_COUNT 0x00F42B70 +#define RCT2_ADDRESS_OBJECT_LIST_NO_ITEMS 0x00F42B6C +#define RCT2_ADDRESS_ORIGINAL_RCT2_OBJECT_COUNT 0x00F42B70 -#define RCT2_ADDRESS_CURR_OBJECT_BASE_STRING_ID 0x00F42BBC -#define RCT2_ADDRESS_CURR_OBJECT_CHUNK_POINTER 0x00F42BC0 +#define RCT2_ADDRESS_CURR_OBJECT_BASE_STRING_ID 0x00F42BBC +#define RCT2_ADDRESS_CURR_OBJECT_CHUNK_POINTER 0x00F42BC0 -#define RCT2_ADDRESS_SCENARIO_TEXT_TEMP_OBJECT 0x00F42BC8 +#define RCT2_ADDRESS_SCENARIO_TEXT_TEMP_OBJECT 0x00F42BC8 // 1 if custom objects installed, 0 otherwise -#define RCT2_ADDRESS_CUSTOM_OBJECTS_INSTALLED 0x00F42BDA +#define RCT2_ADDRESS_CUSTOM_OBJECTS_INSTALLED 0x00F42BDA -#define RCT2_ADDRESS_SELECTED_OBJECTS_FILE_SIZE 0x00F4340D +#define RCT2_ADDRESS_SELECTED_OBJECTS_FILE_SIZE 0x00F4340D -#define RCT2_ADDRESS_VOLUME_ADJUST_ZOOM 0x00F438AC +#define RCT2_ADDRESS_VOLUME_ADJUST_ZOOM 0x00F438AC -#define RCT2_ADDRESS_ABOVE_GROUND_FLAGS 0x00F441D4 -#define RCT2_ADDRESS_TRACK_LIST 0x00F441EC +#define RCT2_ADDRESS_ABOVE_GROUND_FLAGS 0x00F441D4 +#define RCT2_ADDRESS_TRACK_LIST 0x00F441EC -#define RCT2_ADDRESS_CURRENT_MONTH_YEAR 0x00F663A8 -#define RCT2_ADDRESS_CURRENT_MONTH_TICKS 0x00F663AA +#define RCT2_ADDRESS_CURRENT_MONTH_YEAR 0x00F663A8 +#define RCT2_ADDRESS_CURRENT_MONTH_TICKS 0x00F663AA -#define RCT2_ADDRESS_SCENERY_COST 0x00F64EB4 -#define RCT2_ADDRESS_SCENERY_MAP_ELEMENT 0x00F64EBC -#define RCT2_ADDRESS_SCENERY_ROTATION 0x00F64EC0 -#define RCT2_ADDRESS_GHOST_SCENERY_X 0x00F64EC4 -#define RCT2_ADDRESS_GHOST_SCENERY_Y 0x00F64EC6 -#define RCT2_ADDRESS_GHOST_SCENERY_Z 0x00F64F09 -#define RCT2_ADDRESS_SCENERY_MAP_ELEMENT_TYPE 0x00F64F0C -#define RCT2_ADDRESS_GHOST_SCENERY_TYPE 0x00F64F0D -#define RCT2_ADDRESS_SCENERY_TARGET_PATH_INCLINE 0x00F64F0F +#define RCT2_ADDRESS_SCENERY_COST 0x00F64EB4 +#define RCT2_ADDRESS_SCENERY_MAP_ELEMENT 0x00F64EBC +#define RCT2_ADDRESS_SCENERY_ROTATION 0x00F64EC0 +#define RCT2_ADDRESS_GHOST_SCENERY_X 0x00F64EC4 +#define RCT2_ADDRESS_GHOST_SCENERY_Y 0x00F64EC6 +#define RCT2_ADDRESS_GHOST_SCENERY_Z 0x00F64F09 +#define RCT2_ADDRESS_SCENERY_MAP_ELEMENT_TYPE 0x00F64F0C +#define RCT2_ADDRESS_GHOST_SCENERY_TYPE 0x00F64F0D +#define RCT2_ADDRESS_SCENERY_TARGET_PATH_INCLINE 0x00F64F0F #define RCT2_ADDRESS_GHOST_SCENERY_PATH_OBJECT_TYPE 0x00F64EAC -#define RCT2_ADDRESS_CTRL_PRESS_Z_COORDINATE 0x00F64ECC -#define RCT2_ADDRESS_SHIFT_PRESS_X_COORDINATE 0x00F64ECE -#define RCT2_ADDRESS_SHIFT_PRESS_Y_COORDINATE 0x00F64ED0 -#define RCT2_ADDRESS_SHIFT_PRESS_Z_VECTOR 0x00F64ED2 -#define RCT2_ADDRESS_SCENERY_Z_COORDINATE 0x00F64ED4 -#define RCT2_ADDRESS_SCENERY_SELECTED_OBJECT 0x00F64EDA -#define RCT2_ADDRESS_SCENERY_TARGET_PATH_TYPE 0x00F64F10 -#define RCT2_ADDRESS_GHOST_SCENERY_WALL_ROTATION 0x00F64F11 -#define RCT2_ADDRESS_SCENERY_TOOL_CTRL_PRESSED 0x00F64F12 -#define RCT2_ADDRESS_SCENERY_TOOL_SHIFT_PRESSED 0x00F64F13 -#define RCT2_ADDRESS_SCENARIO_SRAND_0 0x00F663B0 -#define RCT2_ADDRESS_SCENARIO_SRAND_1 0x00F663B4 +#define RCT2_ADDRESS_CTRL_PRESS_Z_COORDINATE 0x00F64ECC +#define RCT2_ADDRESS_SHIFT_PRESS_X_COORDINATE 0x00F64ECE +#define RCT2_ADDRESS_SHIFT_PRESS_Y_COORDINATE 0x00F64ED0 +#define RCT2_ADDRESS_SHIFT_PRESS_Z_VECTOR 0x00F64ED2 +#define RCT2_ADDRESS_SCENERY_Z_COORDINATE 0x00F64ED4 +#define RCT2_ADDRESS_SCENERY_SELECTED_OBJECT 0x00F64EDA +#define RCT2_ADDRESS_SCENERY_TARGET_PATH_TYPE 0x00F64F10 +#define RCT2_ADDRESS_GHOST_SCENERY_WALL_ROTATION 0x00F64F11 +#define RCT2_ADDRESS_SCENERY_TOOL_CTRL_PRESSED 0x00F64F12 +#define RCT2_ADDRESS_SCENERY_TOOL_SHIFT_PRESSED 0x00F64F13 +#define RCT2_ADDRESS_SCENARIO_SRAND_0 0x00F663B0 +#define RCT2_ADDRESS_SCENARIO_SRAND_1 0x00F663B4 -#define RCT2_ADDRESS_INITIAL_CASH 0x013573DC -#define RCT2_ADDRESS_CURRENT_LOAN 0x013573E0 -#define RCT2_TOTAL_RIDE_VALUE 0x013580EE -#define RCT2_ADDRESS_MAXIMUM_LOAN 0x013580F0 -#define RCT2_ADDRESS_CURRENT_EXPENDITURE 0x0135832C -#define RCT2_ADDRESS_CURRENT_PROFIT 0x01358330 -#define RCT2_ADDRESS_CURRENT_MONEY_ENCRYPTED 0x013587F8 -#define RCT2_ADDRESS_CURRENT_INTEREST_RATE 0x0135934A -#define RCT2_ADDRESS_WEEKLY_PROFIT_AVERAGE_DIVIDEND 0x01358334 -#define RCT2_ADDRESS_WEEKLY_PROFIT_AVERAGE_DIVISOR 0x01358338 -#define RCT2_ADDRESS_BALANCE_HISTORY 0x0135812C -#define RCT2_ADDRESS_WEEKLY_PROFIT_HISTORY 0x0135833C -#define RCT2_ADDRESS_PARK_VALUE_HISTORY 0x01358540 -#define RCT2_ADDRESS_EXPENDITURE_TABLE 0x01357848 -#define RCT2_ADDRESS_PEEP_SPAWNS 0x013573F2 -#define RCT2_ADDRESS_GUEST_CHANGE_MODIFIER 0x013573FE -#define RCT2_ADDRESS_LAST_GUESTS_IN_PARK 0x01357BC8 -#define RCT2_ADDRESS_NEXT_GUEST_NUMBER 0x013B0E6C -#define RCT2_ADDRESS_PARK_NAME 0x013573D4 -#define RCT2_ADDRESS_PARK_NAME_ARGS 0x013573D8 -#define RCT2_ADDRESS_PEEP_WARNING_THROTTLE 0x01358750 -#define RCT2_ADDRESS_PARK_FLAGS 0x013573E4 -#define RCT2_ADDRESS_PARK_ENTRANCE_FEE 0x013573E8 -#define RCT2_ADDRESS_GUESTS_IN_PARK 0x01357844 -#define RCT2_ADDRESS_GUESTS_HEADING_FOR_PARK 0x01357846 -#define RCT2_ADDRESS_HANDYMAN_COLOUR 0x01357BCD -#define RCT2_ADDRESS_MECHANIC_COLOUR 0x01357BCE -#define RCT2_ADDRESS_SECURITY_COLOUR 0x01357BCF -#define RCT2_ADDRESS_CURRENT_PARK_RATING 0x01357CB0 -#define RCT2_ADDRESS_PARK_RATING_HISTORY 0x01357CB2 -#define RCT2_ADDRESS_GUESTS_IN_PARK_HISTORY 0x01357CD2 -#define RCT2_ADDRESS_OBJECTIVE_TYPE 0x013580F8 -#define RCT2_ADDRESS_OBJECTIVE_YEAR 0x013580F9 -#define RCT2_ADDRESS_OBJECTIVE_CURRENCY 0x013580FC -#define RCT2_ADDRESS_OBJECTIVE_NUM_GUESTS 0x01358100 -#define RCT2_ADDRESS_COMPLETED_COMPANY_VALUE 0x01358740 -#define RCT2_ADDRESS_TOTAL_ADMISSIONS 0x01358744 -#define RCT2_ADDRESS_INCOME_FROM_ADMISSIONS 0x01358748 -#define RCT2_ADDRESS_CURRENT_COMPANY_VALUE 0x0135874C -#define RCT2_ADDRESS_COMPANY_VALUE_RECORD 0x013587C0 -#define RCT2_ADDRESS_GUEST_INITIAL_CASH 0x013580F4 -#define RCT2_ADDRESS_GUEST_INITIAL_HAPPINESS 0x013580E9 -#define RCT2_ADDRESS_GUEST_INITIAL_HUNGER 0x013580F6 -#define RCT2_ADDRESS_GUEST_INITIAL_THIRST 0x013580F7 +#define RCT2_ADDRESS_INITIAL_CASH 0x013573DC +#define RCT2_ADDRESS_CURRENT_LOAN 0x013573E0 +#define RCT2_TOTAL_RIDE_VALUE 0x013580EE +#define RCT2_ADDRESS_MAXIMUM_LOAN 0x013580F0 +#define RCT2_ADDRESS_CURRENT_EXPENDITURE 0x0135832C +#define RCT2_ADDRESS_CURRENT_PROFIT 0x01358330 +#define RCT2_ADDRESS_CURRENT_MONEY_ENCRYPTED 0x013587F8 +#define RCT2_ADDRESS_CURRENT_INTEREST_RATE 0x0135934A +#define RCT2_ADDRESS_WEEKLY_PROFIT_AVERAGE_DIVIDEND 0x01358334 +#define RCT2_ADDRESS_WEEKLY_PROFIT_AVERAGE_DIVISOR 0x01358338 +#define RCT2_ADDRESS_BALANCE_HISTORY 0x0135812C +#define RCT2_ADDRESS_WEEKLY_PROFIT_HISTORY 0x0135833C +#define RCT2_ADDRESS_PARK_VALUE_HISTORY 0x01358540 +#define RCT2_ADDRESS_EXPENDITURE_TABLE 0x01357848 +#define RCT2_ADDRESS_PEEP_SPAWNS 0x013573F2 +#define RCT2_ADDRESS_GUEST_CHANGE_MODIFIER 0x013573FE +#define RCT2_ADDRESS_LAST_GUESTS_IN_PARK 0x01357BC8 +#define RCT2_ADDRESS_NEXT_GUEST_NUMBER 0x013B0E6C +#define RCT2_ADDRESS_PARK_NAME 0x013573D4 +#define RCT2_ADDRESS_PARK_NAME_ARGS 0x013573D8 +#define RCT2_ADDRESS_PEEP_WARNING_THROTTLE 0x01358750 +#define RCT2_ADDRESS_PARK_FLAGS 0x013573E4 +#define RCT2_ADDRESS_PARK_ENTRANCE_FEE 0x013573E8 +#define RCT2_ADDRESS_GUESTS_IN_PARK 0x01357844 +#define RCT2_ADDRESS_GUESTS_HEADING_FOR_PARK 0x01357846 +#define RCT2_ADDRESS_HANDYMAN_COLOUR 0x01357BCD +#define RCT2_ADDRESS_MECHANIC_COLOUR 0x01357BCE +#define RCT2_ADDRESS_SECURITY_COLOUR 0x01357BCF +#define RCT2_ADDRESS_CURRENT_PARK_RATING 0x01357CB0 +#define RCT2_ADDRESS_PARK_RATING_HISTORY 0x01357CB2 +#define RCT2_ADDRESS_GUESTS_IN_PARK_HISTORY 0x01357CD2 +#define RCT2_ADDRESS_OBJECTIVE_TYPE 0x013580F8 +#define RCT2_ADDRESS_OBJECTIVE_YEAR 0x013580F9 +#define RCT2_ADDRESS_OBJECTIVE_CURRENCY 0x013580FC +#define RCT2_ADDRESS_OBJECTIVE_NUM_GUESTS 0x01358100 +#define RCT2_ADDRESS_COMPLETED_COMPANY_VALUE 0x01358740 +#define RCT2_ADDRESS_TOTAL_ADMISSIONS 0x01358744 +#define RCT2_ADDRESS_INCOME_FROM_ADMISSIONS 0x01358748 +#define RCT2_ADDRESS_CURRENT_COMPANY_VALUE 0x0135874C +#define RCT2_ADDRESS_COMPANY_VALUE_RECORD 0x013587C0 +#define RCT2_ADDRESS_GUEST_INITIAL_CASH 0x013580F4 +#define RCT2_ADDRESS_GUEST_INITIAL_HAPPINESS 0x013580E9 +#define RCT2_ADDRESS_GUEST_INITIAL_HUNGER 0x013580F6 +#define RCT2_ADDRESS_GUEST_INITIAL_THIRST 0x013580F7 -#define RCT2_ADDRESS_MAP_SIZE_UNITS 0x01358830 -#define RCT2_ADDRESS_MAP_SIZE_MINUS_2 0x01358832 -#define RCT2_ADDRESS_MAP_SIZE 0x01358834 -#define RCT2_ADDRESS_MAP_MAX_XY 0x01358836 +#define RCT2_ADDRESS_MAP_SIZE_UNITS 0x01358830 +#define RCT2_ADDRESS_MAP_SIZE_MINUS_2 0x01358832 +#define RCT2_ADDRESS_MAP_SIZE 0x01358834 +#define RCT2_ADDRESS_MAP_MAX_XY 0x01358836 -#define RCT2_ADDRESS_SAME_PRICE_THROUGHOUT 0x01358838 -#define RCT2_ADDRESS_SAME_PRICE_THROUGHOUT_EXTENDED 0x0135934C +#define RCT2_ADDRESS_SAME_PRICE_THROUGHOUT 0x01358838 +#define RCT2_ADDRESS_SAME_PRICE_THROUGHOUT_EXTENDED 0x0135934C -#define RCT2_ADDRESS_PARK_ENTRANCE_X 0x01359350 -#define RCT2_ADDRESS_PARK_ENTRANCE_Y 0x01359358 -#define RCT2_ADDRESS_PARK_ENTRANCE_Z 0x01359360 -#define RCT2_ADDRESS_PARK_ENTRANCE_DIRECTION 0x01359368 +#define RCT2_ADDRESS_PARK_ENTRANCE_X 0x01359350 +#define RCT2_ADDRESS_PARK_ENTRANCE_Y 0x01359358 +#define RCT2_ADDRESS_PARK_ENTRANCE_Z 0x01359360 +#define RCT2_ADDRESS_PARK_ENTRANCE_DIRECTION 0x01359368 -#define RCT2_ADDRESS_CURRENT_RESEARCH_LEVEL 0x013573FF -#define RCT2_ADDRESS_ACTIVE_RESEARCH_TYPES 0x01357CF2 -#define RCT2_ADDRESS_RESEARH_PROGRESS_STAGE 0x01357CF3 -#define RCT2_ADDRESS_LAST_RESEARCHED_ITEM_SUBJECT 0x01357CF4 +#define RCT2_ADDRESS_CURRENT_RESEARCH_LEVEL 0x013573FF +#define RCT2_ADDRESS_ACTIVE_RESEARCH_TYPES 0x01357CF2 +#define RCT2_ADDRESS_RESEARH_PROGRESS_STAGE 0x01357CF3 +#define RCT2_ADDRESS_LAST_RESEARCHED_ITEM_SUBJECT 0x01357CF4 -#define RCT2_ADDRESS_NEXT_RESEARCH_ITEM 0x013580E0 -#define RCT2_ADDRESS_RESEARH_PROGRESS 0x013580E4 -#define RCT2_ADDRESS_NEXT_RESEARCH_CATEGORY 0x013580E6 -#define RCT2_ADDRESS_NEXT_RESEARCH_EXPECTED_DAY 0x013580E7 -#define RCT2_ADDRESS_NEXT_RESEARCH_EXPECTED_MONTH 0x013580E8 +#define RCT2_ADDRESS_NEXT_RESEARCH_ITEM 0x013580E0 +#define RCT2_ADDRESS_RESEARH_PROGRESS 0x013580E4 +#define RCT2_ADDRESS_NEXT_RESEARCH_CATEGORY 0x013580E6 +#define RCT2_ADDRESS_NEXT_RESEARCH_EXPECTED_DAY 0x013580E7 +#define RCT2_ADDRESS_NEXT_RESEARCH_EXPECTED_MONTH 0x013580E8 -#define RCT2_ADDRESS_RIDE_COUNT 0x013587C8 -#define RCT2_ADDRESS_LAST_ENTRANCE_STYLE 0x01358840 -#define RCT2_RESEARCH_ITEMS 0x01358844 -#define RCT2_ADDRESS_RESEARCHED_RIDE_TYPES 0x01357404 -#define RCT2_ADDRESS_RESEARCHED_RIDE_ENTRIES 0x01357424 -#define RCT2_ADDRESS_RESEARCHED_TRACK_TYPES_A 0x01357444 -#define RCT2_ADDRESS_RESEARCHED_TRACK_TYPES_B 0x01357644 -#define RCT2_ADDRESS_RESEARCHED_SCENERY_ITEMS 0x01357BD0 +#define RCT2_ADDRESS_RIDE_COUNT 0x013587C8 +#define RCT2_ADDRESS_LAST_ENTRANCE_STYLE 0x01358840 +#define RCT2_RESEARCH_ITEMS 0x01358844 +#define RCT2_ADDRESS_RESEARCHED_RIDE_TYPES 0x01357404 +#define RCT2_ADDRESS_RESEARCHED_RIDE_ENTRIES 0x01357424 +#define RCT2_ADDRESS_RESEARCHED_TRACK_TYPES_A 0x01357444 +#define RCT2_ADDRESS_RESEARCHED_TRACK_TYPES_B 0x01357644 +#define RCT2_ADDRESS_RESEARCHED_SCENERY_ITEMS 0x01357BD0 -#define RCT2_ADDRESS_PARK_SIZE 0x013580EA -#define RCT2_ADDRESS_CURRENT_PARK_VALUE 0x0135853C -#define RCT2_ADDRESS_AWARD_LIST 0x01358760 -#define RCT2_ADDRESS_LAND_COST 0x01358770 -#define RCT2_ADDRESS_CONSTRUCTION_RIGHTS_COST 0x01358772 -#define RCT2_ADDRESS_LOAN_HASH 0x013587C4 -#define RCT2_ADDRESS_SCENARIO_COMPLETED_BY 0x013587D8 -#define RCT2_ADDRESS_PARK_RATING_WARNING_DAYS 0x0135883E -#define RCT2_ADDRESS_SCENARIO_NAME 0x0135920A -#define RCT2_ADDRESS_SCENARIO_DETAILS 0x0135924A -#define RCT2_ADDRESS_SAVED_AGE 0x01388698 -#define RCT2_ADDRESS_NUM_MAP_ANIMATIONS 0x0138B580 -#define RCT2_ADDRESS_RIDE_MEASUREMENTS 0x0138B60C +#define RCT2_ADDRESS_PARK_SIZE 0x013580EA +#define RCT2_ADDRESS_CURRENT_PARK_VALUE 0x0135853C +#define RCT2_ADDRESS_AWARD_LIST 0x01358760 +#define RCT2_ADDRESS_LAND_COST 0x01358770 +#define RCT2_ADDRESS_CONSTRUCTION_RIGHTS_COST 0x01358772 +#define RCT2_ADDRESS_LOAN_HASH 0x013587C4 +#define RCT2_ADDRESS_SCENARIO_COMPLETED_BY 0x013587D8 +#define RCT2_ADDRESS_PARK_RATING_WARNING_DAYS 0x0135883E +#define RCT2_ADDRESS_SCENARIO_NAME 0x0135920A +#define RCT2_ADDRESS_SCENARIO_DETAILS 0x0135924A +#define RCT2_ADDRESS_SAVED_AGE 0x01388698 +#define RCT2_ADDRESS_NUM_MAP_ANIMATIONS 0x0138B580 +#define RCT2_ADDRESS_RIDE_MEASUREMENTS 0x0138B60C -#define RCT2_ADDRESS_GRASS_SCENERY_TILEPOS 0x013B0E70 -#define RCT2_ADDRESS_STAFF_PATROL_AREAS 0x013B0E72 -#define RCT2_ADDRESS_STAFF_MODE_ARRAY 0x013CA672 +#define RCT2_ADDRESS_GRASS_SCENERY_TILEPOS 0x013B0E70 +#define RCT2_ADDRESS_STAFF_PATROL_AREAS 0x013B0E72 +#define RCT2_ADDRESS_STAFF_MODE_ARRAY 0x013CA672 -#define RCT2_ADDRESS_CLIMATE 0x013CA746 -#define RCT2_ADDRESS_CURRENT_WEATHER 0x013CA74A -#define RCT2_ADDRESS_NEXT_WEATHER 0x013CA74B -#define RCT2_ADDRESS_CURRENT_TEMPERATURE 0x013CA74C -#define RCT2_ADDRESS_NEXT_TEMPERATURE 0x013CA74D -#define RCT2_ADDRESS_CLIMATE_UPDATE_TIMER 0x013CA748 -#define RCT2_ADDRESS_CURRENT_WEATHER_EFFECT 0x013CA74E -#define RCT2_ADDRESS_NEXT_WEATHER_EFFECT 0x013CA74F -#define RCT2_ADDRESS_CURRENT_WEATHER_GLOOM 0x013CA750 -#define RCT2_ADDRESS_NEXT_WEATHER_GLOOM 0x013CA751 -#define RCT2_ADDRESS_CURRENT_RAIN_LEVEL 0x013CA752 -#define RCT2_ADDRESS_NEXT_RAIN_LEVEL 0x013CA753 -#define RCT2_ADDRESS_NEWS_ITEM_LIST 0x013CA754 -#define RCT2_ADDRESS_CURRENT_FONT_SPRITE_BASE 0x013CE950 -#define RCT2_ADDRESS_CURRENT_FONT_FLAGS 0x013CE9A2 +#define RCT2_ADDRESS_CLIMATE 0x013CA746 +#define RCT2_ADDRESS_CURRENT_WEATHER 0x013CA74A +#define RCT2_ADDRESS_NEXT_WEATHER 0x013CA74B +#define RCT2_ADDRESS_CURRENT_TEMPERATURE 0x013CA74C +#define RCT2_ADDRESS_NEXT_TEMPERATURE 0x013CA74D +#define RCT2_ADDRESS_CLIMATE_UPDATE_TIMER 0x013CA748 +#define RCT2_ADDRESS_CURRENT_WEATHER_EFFECT 0x013CA74E +#define RCT2_ADDRESS_NEXT_WEATHER_EFFECT 0x013CA74F +#define RCT2_ADDRESS_CURRENT_WEATHER_GLOOM 0x013CA750 +#define RCT2_ADDRESS_NEXT_WEATHER_GLOOM 0x013CA751 +#define RCT2_ADDRESS_CURRENT_RAIN_LEVEL 0x013CA752 +#define RCT2_ADDRESS_NEXT_RAIN_LEVEL 0x013CA753 +#define RCT2_ADDRESS_NEWS_ITEM_LIST 0x013CA754 +#define RCT2_ADDRESS_CURRENT_FONT_SPRITE_BASE 0x013CE950 +#define RCT2_ADDRESS_CURRENT_FONT_FLAGS 0x013CE9A2 -#define RCT2_ADDRESS_COMMON_FORMAT_ARGS 0x013CE952 +#define RCT2_ADDRESS_COMMON_FORMAT_ARGS 0x013CE952 -#define RCT2_ADDRESS_NEXT_FREE_MAP_ELEMENT 0x0140E9A4 +#define RCT2_ADDRESS_NEXT_FREE_MAP_ELEMENT 0x0140E9A4 -#define RCT2_ADDRESS_GAME_COMMAND_ERROR_TEXT 0x0141E9AC -#define RCT2_ADDRESS_GAME_COMMAND_ERROR_TITLE 0x0141E9AE -#define RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER 0x0141ED68 -#define RCT2_ADDRESS_NEXT_EXPENDITURE_TYPE 0x0141F56C -#define RCT2_ADDRESS_WATER_RAISE_COST 0x0141F738 -#define RCT2_ADDRESS_WATER_LOWER_COST 0x0141F73C +#define RCT2_ADDRESS_GAME_COMMAND_ERROR_TEXT 0x0141E9AC +#define RCT2_ADDRESS_GAME_COMMAND_ERROR_TITLE 0x0141E9AE +#define RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER 0x0141ED68 +#define RCT2_ADDRESS_NEXT_EXPENDITURE_TYPE 0x0141F56C +#define RCT2_ADDRESS_WATER_RAISE_COST 0x0141F738 +#define RCT2_ADDRESS_WATER_LOWER_COST 0x0141F73C -#define RCT2_ADDRESS_CURRENT_WINDOW_COLOUR_1 0x0141F740 -#define RCT2_ADDRESS_CURRENT_WINDOW_COLOUR_2 0x0141F741 -#define RCT2_ADDRESS_CURRENT_WINDOW_COLOUR_3 0x0141F742 -#define RCT2_ADDRESS_CURRENT_WINDOW_COLOUR_4 0x0141F743 +#define RCT2_ADDRESS_CURRENT_WINDOW_COLOUR_1 0x0141F740 +#define RCT2_ADDRESS_CURRENT_WINDOW_COLOUR_2 0x0141F741 +#define RCT2_ADDRESS_CURRENT_WINDOW_COLOUR_3 0x0141F742 +#define RCT2_ADDRESS_CURRENT_WINDOW_COLOUR_4 0x0141F743 -#define RCT2_ADDRESS_TOOLTIP_TEXT_BUFFER 0x0141FE44 -#define RCT2_ADDRESS_TOOLTIP_TEXT_HEIGHT 0x01420044 -#define RCT2_ADDRESS_WINDOW_LIST 0x01420078 -#define RCT2_ADDRESS_NEW_WINDOW_PTR 0x014234B8 +#define RCT2_ADDRESS_TOOLTIP_TEXT_BUFFER 0x0141FE44 +#define RCT2_ADDRESS_TOOLTIP_TEXT_HEIGHT 0x01420044 +#define RCT2_ADDRESS_WINDOW_LIST 0x01420078 +#define RCT2_ADDRESS_NEW_WINDOW_PTR 0x014234B8 -#define RCT2_ADDRESS_VIEWPORT_LIST 0x014234BC +#define RCT2_ADDRESS_VIEWPORT_LIST 0x014234BC // Null Terminated list of active viewport pointers. // This is also the end of RCT2_ADDRESS_VIEWPORT_LIST. -#define RCT2_ADDRESS_ACTIVE_VIEWPORT_PTR_ARRAY 0x01423570 +#define RCT2_ADDRESS_ACTIVE_VIEWPORT_PTR_ARRAY 0x01423570 -#define RCT2_ADDRESS_HINSTANCE 0x01423A08 +#define RCT2_ADDRESS_HINSTANCE 0x01423A08 -#define RCT2_ADDRESS_PALETTE 0x01424680 +#define RCT2_ADDRESS_PALETTE 0x01424680 -#define RCT2_ADDRESS_HCURSOR_START 0x01423598 -#define RCT2_ADDRESS_HCURSOR_ARROW 0x01423598 -#define RCT2_ADDRESS_HCURSOR_BLANK 0x0142359C -#define RCT2_ADDRESS_HCURSOR_UP_ARROW 0x014235A0 -#define RCT2_ADDRESS_HCURSOR_UP_DOWN_ARROW 0x014235A4 -#define RCT2_ADDRESS_HCURSOR_HAND_POINT 0x014235A8 -#define RCT2_ADDRESS_HCURSOR_ZZZ 0x014235AC -#define RCT2_ADDRESS_HCURSOR_DIAGONAL_ARROWS 0x014235B0 -#define RCT2_ADDRESS_HCURSOR_PICKER 0x014235B4 -#define RCT2_ADDRESS_HCURSOR_TREE_DOWN 0x014235B8 -#define RCT2_ADDRESS_HCURSOR_FOUNTAIN_DOWN 0x014235BC -#define RCT2_ADDRESS_HCURSOR_STATUE_DOWN 0x014235C0 -#define RCT2_ADDRESS_HCURSOR_BENCH_DOWN 0x014235C4 -#define RCT2_ADDRESS_HCURSOR_CROSS_HAIR 0x014235C8 -#define RCT2_ADDRESS_HCURSOR_BIN_DOWN 0x014235CC -#define RCT2_ADDRESS_HCURSOR_LAMPPOST_DOWN 0x014235D0 -#define RCT2_ADDRESS_HCURSOR_FENCE_DOWN 0x014235D4 -#define RCT2_ADDRESS_HCURSOR_FLOWER_DOWN 0x014235D8 -#define RCT2_ADDRESS_HCURSOR_PATH_DOWN 0x014235DC -#define RCT2_ADDRESS_HCURSOR_DIG_DOWN 0x014235E0 -#define RCT2_ADDRESS_HCURSOR_WATER_DOWN 0x014235E4 -#define RCT2_ADDRESS_HCURSOR_HOUSE_DOWN 0x014235E8 -#define RCT2_ADDRESS_HCURSOR_VOLCANO_DOWN 0x014235EC -#define RCT2_ADDRESS_HCURSOR_WALK_DOWN 0x014235F0 -#define RCT2_ADDRESS_HCURSOR_PAINT_DOWN 0x014235F4 -#define RCT2_ADDRESS_HCURSOR_ENTRANCE_DOWN 0x014235F8 -#define RCT2_ADDRESS_HCURSOR_HAND_OPEN 0x014235FC -#define RCT2_ADDRESS_HCURSOR_HAND_CLOSED 0x01423600 -#define RCT2_ADDRESS_HCURSOR_END 0x01423600 +#define RCT2_ADDRESS_HCURSOR_START 0x01423598 +#define RCT2_ADDRESS_HCURSOR_ARROW 0x01423598 +#define RCT2_ADDRESS_HCURSOR_BLANK 0x0142359C +#define RCT2_ADDRESS_HCURSOR_UP_ARROW 0x014235A0 +#define RCT2_ADDRESS_HCURSOR_UP_DOWN_ARROW 0x014235A4 +#define RCT2_ADDRESS_HCURSOR_HAND_POINT 0x014235A8 +#define RCT2_ADDRESS_HCURSOR_ZZZ 0x014235AC +#define RCT2_ADDRESS_HCURSOR_DIAGONAL_ARROWS 0x014235B0 +#define RCT2_ADDRESS_HCURSOR_PICKER 0x014235B4 +#define RCT2_ADDRESS_HCURSOR_TREE_DOWN 0x014235B8 +#define RCT2_ADDRESS_HCURSOR_FOUNTAIN_DOWN 0x014235BC +#define RCT2_ADDRESS_HCURSOR_STATUE_DOWN 0x014235C0 +#define RCT2_ADDRESS_HCURSOR_BENCH_DOWN 0x014235C4 +#define RCT2_ADDRESS_HCURSOR_CROSS_HAIR 0x014235C8 +#define RCT2_ADDRESS_HCURSOR_BIN_DOWN 0x014235CC +#define RCT2_ADDRESS_HCURSOR_LAMPPOST_DOWN 0x014235D0 +#define RCT2_ADDRESS_HCURSOR_FENCE_DOWN 0x014235D4 +#define RCT2_ADDRESS_HCURSOR_FLOWER_DOWN 0x014235D8 +#define RCT2_ADDRESS_HCURSOR_PATH_DOWN 0x014235DC +#define RCT2_ADDRESS_HCURSOR_DIG_DOWN 0x014235E0 +#define RCT2_ADDRESS_HCURSOR_WATER_DOWN 0x014235E4 +#define RCT2_ADDRESS_HCURSOR_HOUSE_DOWN 0x014235E8 +#define RCT2_ADDRESS_HCURSOR_VOLCANO_DOWN 0x014235EC +#define RCT2_ADDRESS_HCURSOR_WALK_DOWN 0x014235F0 +#define RCT2_ADDRESS_HCURSOR_PAINT_DOWN 0x014235F4 +#define RCT2_ADDRESS_HCURSOR_ENTRANCE_DOWN 0x014235F8 +#define RCT2_ADDRESS_HCURSOR_HAND_OPEN 0x014235FC +#define RCT2_ADDRESS_HCURSOR_HAND_CLOSED 0x01423600 +#define RCT2_ADDRESS_HCURSOR_END 0x01423600 -#define RCT2_ADDRESS_WINDOW_MAP_SELECTED_TAB 0x014209E4 +#define RCT2_ADDRESS_WINDOW_MAP_SELECTED_TAB 0x014209E4 -#define RCT2_ADDRESS_GAME_VERSION_NUMBER 0x0013587BC +#define RCT2_ADDRESS_GAME_VERSION_NUMBER 0x0013587BC -#define RCT2_ADDRESS_OS_TIME_MINUTE 0x01424654 -#define RCT2_ADDRESS_OS_TIME_HOUR 0x01424656 -#define RCT2_ADDRESS_OS_TIME_DAY 0x01424304 -#define RCT2_ADDRESS_OS_TIME_MONTH 0x01423A04 -#define RCT2_ADDRESS_OS_TIME_YEAR 0x01424320 -#define RCT2_ADDRESS_OS_TIME_DAYOFWEEK 0x01423B20 +#define RCT2_ADDRESS_OS_TIME_MINUTE 0x01424654 +#define RCT2_ADDRESS_OS_TIME_HOUR 0x01424656 +#define RCT2_ADDRESS_OS_TIME_DAY 0x01424304 +#define RCT2_ADDRESS_OS_TIME_MONTH 0x01423A04 +#define RCT2_ADDRESS_OS_TIME_YEAR 0x01424320 +#define RCT2_ADDRESS_OS_TIME_DAYOFWEEK 0x01423B20 -#define RCT2_ADDRESS_OS_PLATFORM_ID 0x01423B40 -#define RCT2_ADDRESS_OS_MAJOR_VERSION 0x01423B44 -#define RCT2_ADDRESS_OS_MINOR_VERSION 0x01423B48 -#define RCT2_ADDRESS_OS_BUILD_NUMBER 0x01423B4C -#define RCT2_ADDRESS_OS_USER_NAME 0x01423B68 -#define RCT2_ADDRESS_OS_COMPUTER_NAME 0x01423BB8 +#define RCT2_ADDRESS_OS_PLATFORM_ID 0x01423B40 +#define RCT2_ADDRESS_OS_MAJOR_VERSION 0x01423B44 +#define RCT2_ADDRESS_OS_MINOR_VERSION 0x01423B48 +#define RCT2_ADDRESS_OS_BUILD_NUMBER 0x01423B4C +#define RCT2_ADDRESS_OS_USER_NAME 0x01423B68 +#define RCT2_ADDRESS_OS_COMPUTER_NAME 0x01423BB8 -#define RCT2_ADDRESS_SYS_OEM_ID 0x01423B50 -#define RCT2_ADDRESS_SYS_CPU_LEVEL 0x01423B52 -#define RCT2_ADDRESS_SYS_CPU_REVISION 0x01423B54 -#define RCT2_ADDRESS_SYS_CPU_NUMBER 0x01423B58 +#define RCT2_ADDRESS_SYS_OEM_ID 0x01423B50 +#define RCT2_ADDRESS_SYS_CPU_LEVEL 0x01423B52 +#define RCT2_ADDRESS_SYS_CPU_REVISION 0x01423B54 +#define RCT2_ADDRESS_SYS_CPU_NUMBER 0x01423B58 -#define RCT2_ADDRESS_MEM_TOTAL_PHYSICAL 0x01423B5C -#define RCT2_ADDRESS_MEM_TOTAL_PAGEFILE 0x01423B60 -#define RCT2_ADDRESS_MEM_TOTAL_VIRTUAL 0x01423B64 +#define RCT2_ADDRESS_MEM_TOTAL_PHYSICAL 0x01423B5C +#define RCT2_ADDRESS_MEM_TOTAL_PAGEFILE 0x01423B60 +#define RCT2_ADDRESS_MEM_TOTAL_VIRTUAL 0x01423B64 -#define RCT2_ADDRESS_SCREEN_CAP_BPP 0x01423C10 -#define RCT2_ADDRESS_SCREEN_CAP_RASTER_STRETCH 0x01423C14 +#define RCT2_ADDRESS_SCREEN_CAP_BPP 0x01423C10 +#define RCT2_ADDRESS_SCREEN_CAP_RASTER_STRETCH 0x01423C14 -#define RCT2_ADDRESS_INPUT_QUEUE 0x01424340 +#define RCT2_ADDRESS_INPUT_QUEUE 0x01424340 -#define RCT2_ADDRESS_AUDIO_INFO 0x01425B40 +#define RCT2_ADDRESS_AUDIO_INFO 0x01425B40 #endif #pragma endregion diff --git a/src/openrct2/rct2/hook.c b/src/openrct2/rct2/hook.c index 16ffabcdac..7201ceddb7 100644 --- a/src/openrct2/rct2/hook.c +++ b/src/openrct2/rct2/hook.c @@ -19,9 +19,9 @@ #ifndef NO_RCT2 #ifdef __WINDOWS__ - #include + #include #else - #include + #include #endif // __WINDOWS__ #include "../platform/platform.h" @@ -37,178 +37,178 @@ registers gHookRegisters = {0}; // This macro writes a little-endian 4-byte long value into *data // It is used to avoid type punning. #define write_address_strictalias(data, addr) \ - *(data + 0) = ((addr) & 0x000000ff) >> 0; \ - *(data + 1) = ((addr) & 0x0000ff00) >> 8; \ - *(data + 2) = ((addr) & 0x00ff0000) >> 16; \ - *(data + 3) = ((addr) & 0xff000000) >> 24; + *(data + 0) = ((addr) & 0x000000ff) >> 0; \ + *(data + 1) = ((addr) & 0x0000ff00) >> 8; \ + *(data + 2) = ((addr) & 0x00ff0000) >> 16; \ + *(data + 3) = ((addr) & 0xff000000) >> 24; static void hookfunc(uintptr_t address, uintptr_t hookAddress, sint32 stacksize) { - sint32 i = 0; - uint8 data[HOOK_BYTE_COUNT] = {0}; + sint32 i = 0; + uint8 data[HOOK_BYTE_COUNT] = {0}; - uintptr_t registerAddress = (uintptr_t) &gHookRegisters; + uintptr_t registerAddress = (uintptr_t) &gHookRegisters; - data[i++] = 0x89; // mov [gHookRegisters], eax - data[i++] = (0b000 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress); - i += 4; + data[i++] = 0x89; // mov [gHookRegisters], eax + data[i++] = (0b000 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress); + i += 4; - data[i++] = 0x89; // mov [gHookRegisters + 4], ebx - data[i++] = (0b011 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress + 4); - i += 4; + data[i++] = 0x89; // mov [gHookRegisters + 4], ebx + data[i++] = (0b011 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress + 4); + i += 4; - data[i++] = 0x89; // mov [gHookRegisters + 8], ecx - data[i++] = (0b001 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress + 8); - i += 4; + data[i++] = 0x89; // mov [gHookRegisters + 8], ecx + data[i++] = (0b001 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress + 8); + i += 4; - data[i++] = 0x89; // mov [gHookRegisters + 12], edx - data[i++] = (0b010 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress + 12); - i += 4; + data[i++] = 0x89; // mov [gHookRegisters + 12], edx + data[i++] = (0b010 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress + 12); + i += 4; - data[i++] = 0x89; // mov [gHookRegisters + 16], esi - data[i++] = (0b110 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress + 16); - i += 4; + data[i++] = 0x89; // mov [gHookRegisters + 16], esi + data[i++] = (0b110 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress + 16); + i += 4; - data[i++] = 0x89; // mov [gHookRegisters + 20], edi - data[i++] = (0b111 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress + 20); - i += 4; + data[i++] = 0x89; // mov [gHookRegisters + 20], edi + data[i++] = (0b111 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress + 20); + i += 4; - data[i++] = 0x89; // mov [gHookRegisters + 24], ebp - data[i++] = (0b101 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress + 24); - i += 4; + data[i++] = 0x89; // mov [gHookRegisters + 24], ebp + data[i++] = (0b101 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress + 24); + i += 4; - // work out distance to nearest 0xC - // (esp - numargs * 4) & 0xC - // move to align - 4 - // save that amount + // work out distance to nearest 0xC + // (esp - numargs * 4) & 0xC + // move to align - 4 + // save that amount - // push the registers to be on the stack to access as arguments - data[i++] = 0x68; // push gHookRegisters - write_address_strictalias(&data[i], registerAddress); - i += 4; + // push the registers to be on the stack to access as arguments + data[i++] = 0x68; // push gHookRegisters + write_address_strictalias(&data[i], registerAddress); + i += 4; - data[i++] = 0xE8; // call + data[i++] = 0xE8; // call - write_address_strictalias(&data[i], hookAddress - address - i - 4); - i += 4; + write_address_strictalias(&data[i], hookAddress - address - i - 4); + i += 4; - data[i++] = 0x83; // add esp, 4 - data[i++] = 0xC4; - data[i++] = 0x04; + data[i++] = 0x83; // add esp, 4 + data[i++] = 0xC4; + data[i++] = 0x04; - data[i++] = 0x25; // and eax,0xff - data[i++] = 0xff; - data[i++] = 0x00; - data[i++] = 0x00; - data[i++] = 0x00; - data[i++] = 0xc1; // shl eax, 8 - data[i++] = 0xe0; - data[i++] = 0x08; - data[i++] = 0x9e; // sahf - data[i++] = 0x9c; // pushf + data[i++] = 0x25; // and eax,0xff + data[i++] = 0xff; + data[i++] = 0x00; + data[i++] = 0x00; + data[i++] = 0x00; + data[i++] = 0xc1; // shl eax, 8 + data[i++] = 0xe0; + data[i++] = 0x08; + data[i++] = 0x9e; // sahf + data[i++] = 0x9c; // pushf - data[i++] = 0x8B; // mov eax, [gHookRegisters] - data[i++] = (0b000 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress); - i += 4; + data[i++] = 0x8B; // mov eax, [gHookRegisters] + data[i++] = (0b000 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress); + i += 4; - data[i++] = 0x8B; // mov ebx, [gHookRegisters + 4] - data[i++] = (0b011 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress + 4); - i += 4; + data[i++] = 0x8B; // mov ebx, [gHookRegisters + 4] + data[i++] = (0b011 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress + 4); + i += 4; - data[i++] = 0x8B; // mov ecx, [gHookRegisters + 8] - data[i++] = (0b001 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress + 8); - i += 4; + data[i++] = 0x8B; // mov ecx, [gHookRegisters + 8] + data[i++] = (0b001 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress + 8); + i += 4; - data[i++] = 0x8B; // mov edx, [gHookRegisters + 12] - data[i++] = (0b010 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress + 12); - i += 4; + data[i++] = 0x8B; // mov edx, [gHookRegisters + 12] + data[i++] = (0b010 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress + 12); + i += 4; - data[i++] = 0x8B; // mov esi, [gHookRegisters + 16] - data[i++] = (0b110 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress + 16); - i += 4; + data[i++] = 0x8B; // mov esi, [gHookRegisters + 16] + data[i++] = (0b110 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress + 16); + i += 4; - data[i++] = 0x8B; // mov edi, [gHookRegisters + 20] - data[i++] = (0b111 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress + 20); - i += 4; + data[i++] = 0x8B; // mov edi, [gHookRegisters + 20] + data[i++] = (0b111 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress + 20); + i += 4; - data[i++] = 0x8B; // mov ebp, [gHookRegisters + 24] - data[i++] = (0b101 << 3) | 0b101; - write_address_strictalias(&data[i], registerAddress + 24); - i += 4; + data[i++] = 0x8B; // mov ebp, [gHookRegisters + 24] + data[i++] = (0b101 << 3) | 0b101; + write_address_strictalias(&data[i], registerAddress + 24); + i += 4; - data[i++] = 0x9d; // popf + data[i++] = 0x9d; // popf - data[i++] = 0xC3; // retn + data[i++] = 0xC3; // retn #ifdef __WINDOWS__ - WriteProcessMemory(GetCurrentProcess(), (LPVOID)address, data, i, 0); + WriteProcessMemory(GetCurrentProcess(), (LPVOID)address, data, i, 0); #else - // We own the pages with PROT_WRITE | PROT_EXEC, we can simply just memcpy the data - memcpy((void *)address, data, i); + // We own the pages with PROT_WRITE | PROT_EXEC, we can simply just memcpy the data + memcpy((void *)address, data, i); #endif // __WINDOWS__ } void addhook(uintptr_t address, hook_function *function) { - if (!_hookTableAddress) { - size_t size = _maxHooks * HOOK_BYTE_COUNT; + if (!_hookTableAddress) { + size_t size = _maxHooks * HOOK_BYTE_COUNT; #ifdef __WINDOWS__ - _hookTableAddress = VirtualAllocEx(GetCurrentProcess(), NULL, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE); + _hookTableAddress = VirtualAllocEx(GetCurrentProcess(), NULL, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE); #else - _hookTableAddress = mmap(NULL, size, PROT_EXEC | PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); - if (_hookTableAddress == MAP_FAILED) - { - perror("mmap"); - exit(1); - } + _hookTableAddress = mmap(NULL, size, PROT_EXEC | PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); + if (_hookTableAddress == MAP_FAILED) + { + perror("mmap"); + exit(1); + } #endif // __WINDOWS__ - } - if (_hookTableOffset > _maxHooks) { - return; - } - uint32 hookaddress = (uint32)_hookTableAddress + (_hookTableOffset * HOOK_BYTE_COUNT); - uint8 data[9]; - sint32 i = 0; - data[i++] = 0xE9; // jmp + } + if (_hookTableOffset > _maxHooks) { + return; + } + uint32 hookaddress = (uint32)_hookTableAddress + (_hookTableOffset * HOOK_BYTE_COUNT); + uint8 data[9]; + sint32 i = 0; + data[i++] = 0xE9; // jmp - write_address_strictalias(&data[i], hookaddress - address - i - 4); - i += 4; + write_address_strictalias(&data[i], hookaddress - address - i - 4); + i += 4; - data[i++] = 0xC3; // retn + data[i++] = 0xC3; // retn #ifdef __WINDOWS__ - WriteProcessMemory(GetCurrentProcess(), (LPVOID)address, data, i, 0); + WriteProcessMemory(GetCurrentProcess(), (LPVOID)address, data, i, 0); #else - // We own the pages with PROT_WRITE | PROT_EXEC, we can simply just memcpy the data - sint32 err = mprotect((void *)0x401000, 0x8a4000 - 0x401000, PROT_READ | PROT_WRITE); - if (err != 0) - { - perror("mprotect"); - } + // We own the pages with PROT_WRITE | PROT_EXEC, we can simply just memcpy the data + sint32 err = mprotect((void *)0x401000, 0x8a4000 - 0x401000, PROT_READ | PROT_WRITE); + if (err != 0) + { + perror("mprotect"); + } - memcpy((void *)address, data, i); + memcpy((void *)address, data, i); - err = mprotect((void *)0x401000, 0x8a4000 - 0x401000, PROT_READ | PROT_EXEC); - if (err != 0) - { - perror("mprotect"); - } + err = mprotect((void *)0x401000, 0x8a4000 - 0x401000, PROT_READ | PROT_EXEC); + if (err != 0) + { + perror("mprotect"); + } #endif // __WINDOWS__ - hookfunc(hookaddress, (uintptr_t)function, 0); - _hookTableOffset++; + hookfunc(hookaddress, (uintptr_t)function, 0); + _hookTableOffset++; } #endif diff --git a/src/openrct2/rct2/hook.h b/src/openrct2/rct2/hook.h index 9223214199..5e40f2121b 100644 --- a/src/openrct2/rct2/hook.h +++ b/src/openrct2/rct2/hook.h @@ -22,13 +22,13 @@ #include "../common.h" enum { - X86_FLAG_CARRY = 1 << 0, - X86_FLAG_PARITY = 1 << 2, + X86_FLAG_CARRY = 1 << 0, + X86_FLAG_PARITY = 1 << 2, - X86_FLAG_ADJUST = 1 << 4, + X86_FLAG_ADJUST = 1 << 4, - X86_FLAG_ZERO = 1 << 6, - X86_FLAG_SIGN = 1 << 7, + X86_FLAG_ZERO = 1 << 6, + X86_FLAG_SIGN = 1 << 7, }; typedef uint8 (hook_function)(registers *regs); diff --git a/src/openrct2/rct2/interop.c b/src/openrct2/rct2/interop.c index 08d47f60d7..87a3cf0c0d 100644 --- a/src/openrct2/rct2/interop.c +++ b/src/openrct2/rct2/interop.c @@ -19,17 +19,17 @@ #include "../common.h" #if defined(__WINDOWS__) - #define WIN32_LEAN_AND_MEAN - #include + #define WIN32_LEAN_AND_MEAN + #include #endif #if defined(__unix__) || defined(__MACOSX__) - #include - #include - #include - #include - #include - #include + #include + #include + #include + #include + #include + #include #endif // defined(__unix__) || defined(__MACOSX__) #include "../OpenRCT2.h" @@ -40,16 +40,16 @@ #include "interop.h" #if defined(USE_MMAP) && (defined(__unix__) || defined(__MACOSX__)) && !defined(NO_RCT2) - static sint32 fdData = -1; + static sint32 fdData = -1; #endif #if !defined(NO_RCT2) - static char * segments = (char *)(GOOD_PLACE_FOR_DATA_SEGMENT); + static char * segments = (char *)(GOOD_PLACE_FOR_DATA_SEGMENT); #endif static void rct2_interop_get_segment_data_path(char * buffer, size_t bufferSize) { - platform_get_exe_path(buffer, bufferSize); - safe_strcat_path(buffer, "openrct2_data", bufferSize); + platform_get_exe_path(buffer, bufferSize); + safe_strcat_path(buffer, "openrct2_data", bufferSize); } /** @@ -58,160 +58,160 @@ static void rct2_interop_get_segment_data_path(char * buffer, size_t bufferSize) */ bool rct2_interop_setup_segment() { - // OpenRCT2 on Linux and macOS is wired to have the original Windows PE sections loaded - // necessary. Windows does not need to do this as OpenRCT2 runs as a DLL loaded from the Windows PE. - sint32 len = 0x01429000 - 0x8a4000; // 0xB85000, 12079104 bytes or around 11.5MB - sint32 err = 0; - // in some configurations err and len may be unused - UNUSED(err); - UNUSED(len); + // OpenRCT2 on Linux and macOS is wired to have the original Windows PE sections loaded + // necessary. Windows does not need to do this as OpenRCT2 runs as a DLL loaded from the Windows PE. + sint32 len = 0x01429000 - 0x8a4000; // 0xB85000, 12079104 bytes or around 11.5MB + sint32 err = 0; + // in some configurations err and len may be unused + UNUSED(err); + UNUSED(len); #if !defined(NO_RCT2) - UNUSED(segments); + UNUSED(segments); #endif #if defined(USE_MMAP) && (defined(__unix__) || defined(__MACOSX__)) && !defined(NO_RCT2) - #define RDATA_OFFSET 0x004A4000 - #define DATASEG_OFFSET 0x005E2000 + #define RDATA_OFFSET 0x004A4000 + #define DATASEG_OFFSET 0x005E2000 - // Using PE-bear I was able to figure out all the needed addresses to be filled. - // There are three sections to be loaded: .rdata, .data and .text, plus another - // one to be mapped: DATASEG. - // Out of the three, two can simply be mmapped into memory, while the third one, - // .data has a virtual size which is much completely different to its file size - // (even when taking page-alignment into consideration) - // - // The sections are as follows (dump from gdb) - // [0] 0x401000->0x6f7000 at 0x00001000: .text ALLOC LOAD READONLY CODE HAS_CONTENTS - // [1] 0x6f7000->0x8a325d at 0x002f7000: CODESEG ALLOC LOAD READONLY CODE HAS_CONTENTS - // [2] 0x8a4000->0x9a5894 at 0x004a4000: .rdata ALLOC LOAD DATA HAS_CONTENTS - // [3] 0x9a6000->0x9e2000 at 0x005a6000: .data ALLOC LOAD DATA HAS_CONTENTS - // [4] 0x1428000->0x14282bc at 0x005e2000: DATASEG ALLOC LOAD DATA HAS_CONTENTS - // [5] 0x1429000->0x1452000 at 0x005e3000: .cms_t ALLOC LOAD READONLY CODE HAS_CONTENTS - // [6] 0x1452000->0x14aaf3e at 0x0060c000: .cms_d ALLOC LOAD DATA HAS_CONTENTS - // [7] 0x14ab000->0x14ac58a at 0x00665000: .idata ALLOC LOAD READONLY DATA HAS_CONTENTS - // [8] 0x14ad000->0x14b512f at 0x00667000: .rsrc ALLOC LOAD DATA HAS_CONTENTS - // - // .data section, however, has virtual size of 0xA81C3C, and so - // 0x9a6000 + 0xA81C3C = 0x1427C3C, which after alignment to page size becomes - // 0x1428000, which can be seen as next section, DATASEG - // - // The data is now loaded into memory with a linker script, which proves to - // be more reliable, as mallocs that happen before we reach segment setup - // could have already taken the space we need. + // Using PE-bear I was able to figure out all the needed addresses to be filled. + // There are three sections to be loaded: .rdata, .data and .text, plus another + // one to be mapped: DATASEG. + // Out of the three, two can simply be mmapped into memory, while the third one, + // .data has a virtual size which is much completely different to its file size + // (even when taking page-alignment into consideration) + // + // The sections are as follows (dump from gdb) + // [0] 0x401000->0x6f7000 at 0x00001000: .text ALLOC LOAD READONLY CODE HAS_CONTENTS + // [1] 0x6f7000->0x8a325d at 0x002f7000: CODESEG ALLOC LOAD READONLY CODE HAS_CONTENTS + // [2] 0x8a4000->0x9a5894 at 0x004a4000: .rdata ALLOC LOAD DATA HAS_CONTENTS + // [3] 0x9a6000->0x9e2000 at 0x005a6000: .data ALLOC LOAD DATA HAS_CONTENTS + // [4] 0x1428000->0x14282bc at 0x005e2000: DATASEG ALLOC LOAD DATA HAS_CONTENTS + // [5] 0x1429000->0x1452000 at 0x005e3000: .cms_t ALLOC LOAD READONLY CODE HAS_CONTENTS + // [6] 0x1452000->0x14aaf3e at 0x0060c000: .cms_d ALLOC LOAD DATA HAS_CONTENTS + // [7] 0x14ab000->0x14ac58a at 0x00665000: .idata ALLOC LOAD READONLY DATA HAS_CONTENTS + // [8] 0x14ad000->0x14b512f at 0x00667000: .rsrc ALLOC LOAD DATA HAS_CONTENTS + // + // .data section, however, has virtual size of 0xA81C3C, and so + // 0x9a6000 + 0xA81C3C = 0x1427C3C, which after alignment to page size becomes + // 0x1428000, which can be seen as next section, DATASEG + // + // The data is now loaded into memory with a linker script, which proves to + // be more reliable, as mallocs that happen before we reach segment setup + // could have already taken the space we need. - // TODO: UGLY, UGLY HACK! - //off_t file_size = 6750208; + // TODO: UGLY, UGLY HACK! + //off_t file_size = 6750208; - utf8 segmentDataPath[MAX_PATH]; - rct2_interop_get_segment_data_path(segmentDataPath, sizeof(segmentDataPath)); - fdData = open(segmentDataPath, O_RDONLY); - if (fdData < 0) - { - log_fatal("failed to load openrct2_data"); - exit(1); - } - log_warning("%p", GOOD_PLACE_FOR_DATA_SEGMENT); - segments = mmap((void *)(GOOD_PLACE_FOR_DATA_SEGMENT), len, PROT_EXEC | PROT_READ | PROT_WRITE, MAP_PRIVATE, fdData, 0); - log_warning("%p", segments); - if ((uintptr_t)segments != GOOD_PLACE_FOR_DATA_SEGMENT) { - perror("mmap"); - return false; - } + utf8 segmentDataPath[MAX_PATH]; + rct2_interop_get_segment_data_path(segmentDataPath, sizeof(segmentDataPath)); + fdData = open(segmentDataPath, O_RDONLY); + if (fdData < 0) + { + log_fatal("failed to load openrct2_data"); + exit(1); + } + log_warning("%p", GOOD_PLACE_FOR_DATA_SEGMENT); + segments = mmap((void *)(GOOD_PLACE_FOR_DATA_SEGMENT), len, PROT_EXEC | PROT_READ | PROT_WRITE, MAP_PRIVATE, fdData, 0); + log_warning("%p", segments); + if ((uintptr_t)segments != GOOD_PLACE_FOR_DATA_SEGMENT) { + perror("mmap"); + return false; + } #endif // defined(USE_MMAP) && (defined(__unix__) || defined(__MACOSX__)) #if defined(__unix__) && !defined(NO_RCT2) - sint32 pageSize = getpagesize(); - sint32 numPages = (len + pageSize - 1) / pageSize; - uint8 *dummy = malloc(numPages); + sint32 pageSize = getpagesize(); + sint32 numPages = (len + pageSize - 1) / pageSize; + uint8 *dummy = malloc(numPages); - err = mincore((void *)segments, len, dummy); - bool pagesMissing = false; - if (err != 0) - { - err = errno; + err = mincore((void *)segments, len, dummy); + bool pagesMissing = false; + if (err != 0) + { + err = errno; #ifdef __LINUX__ - // On Linux ENOMEM means all requested range is unmapped - if (err != ENOMEM) - { - pagesMissing = true; - perror("mincore"); - } + // On Linux ENOMEM means all requested range is unmapped + if (err != ENOMEM) + { + pagesMissing = true; + perror("mincore"); + } #else - pagesMissing = true; - perror("mincore"); + pagesMissing = true; + perror("mincore"); #endif // __LINUX__ - } else { - for (sint32 i = 0; i < numPages; i++) - { - if (dummy[i] != 1) - { - pagesMissing = true; - void *start = (void *)segments + i * pageSize; - void *end = (void *)segments + (i + 1) * pageSize - 1; - log_warning("required page %p - %p is not in memory!", start, end); - } - } - } - free(dummy); - if (pagesMissing) - { - log_error("At least one of required pages was not found in memory. This can cause segfaults later on."); - } + } else { + for (sint32 i = 0; i < numPages; i++) + { + if (dummy[i] != 1) + { + pagesMissing = true; + void *start = (void *)segments + i * pageSize; + void *end = (void *)segments + (i + 1) * pageSize - 1; + log_warning("required page %p - %p is not in memory!", start, end); + } + } + } + free(dummy); + if (pagesMissing) + { + log_error("At least one of required pages was not found in memory. This can cause segfaults later on."); + } #if !defined(USE_MMAP) - // section: text - err = mprotect((void *)0x401000, 0x8a4000 - 0x401000, PROT_READ | PROT_EXEC | PROT_WRITE); - if (err != 0) - { - perror("mprotect"); - } + // section: text + err = mprotect((void *)0x401000, 0x8a4000 - 0x401000, PROT_READ | PROT_EXEC | PROT_WRITE); + if (err != 0) + { + perror("mprotect"); + } #endif // !defined(USE_MMAP) - // section: rw data - err = mprotect((void *)segments, 0x01429000 - 0x8a4000, PROT_READ | PROT_WRITE); - if (err != 0) - { - perror("mprotect"); - } + // section: rw data + err = mprotect((void *)segments, 0x01429000 - 0x8a4000, PROT_READ | PROT_WRITE); + if (err != 0) + { + perror("mprotect"); + } #endif // defined(__unix__) #if defined(USE_MMAP) && defined(__WINDOWS__) - segments = VirtualAlloc((void *)(GOOD_PLACE_FOR_DATA_SEGMENT), len, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); - if ((uintptr_t)segments != GOOD_PLACE_FOR_DATA_SEGMENT) { - log_error("VirtualAlloc, segments = %p, GetLastError = 0x%x", segments, GetLastError()); - return false; - } + segments = VirtualAlloc((void *)(GOOD_PLACE_FOR_DATA_SEGMENT), len, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); + if ((uintptr_t)segments != GOOD_PLACE_FOR_DATA_SEGMENT) { + log_error("VirtualAlloc, segments = %p, GetLastError = 0x%x", segments, GetLastError()); + return false; + } - utf8 segmentDataPath[MAX_PATH]; - rct2_interop_get_segment_data_path(segmentDataPath, sizeof(segmentDataPath)); + utf8 segmentDataPath[MAX_PATH]; + rct2_interop_get_segment_data_path(segmentDataPath, sizeof(segmentDataPath)); - // Warning: for Windows this will fail if given a non-ASCII path, - // but given this code is temporary - it's not worth resolving. - FILE * file = fopen(segmentDataPath, "rb"); - if (file == NULL) - { - log_error("failed to load file"); - return false; - } - if (fread(segments, len, 1, file) != 1) { - log_error("Unable to read chunk header!"); - return false; - } - fclose(file); + // Warning: for Windows this will fail if given a non-ASCII path, + // but given this code is temporary - it's not worth resolving. + FILE * file = fopen(segmentDataPath, "rb"); + if (file == NULL) + { + log_error("failed to load file"); + return false; + } + if (fread(segments, len, 1, file) != 1) { + log_error("Unable to read chunk header!"); + return false; + } + fclose(file); #endif // defined(USE_MMAP) && defined(__WINDOWS__) #if !defined(NO_RCT2) && defined(USE_MMAP) - // Check that the expected data is at various addresses. - // Start at 0x9a6000, which is start of .data, to skip the region containing addresses to DLL - // calls, which can be changed by windows/wine loader. - const uint32 c1 = sawyercoding_calculate_checksum((const uint8*)(segments + (uintptr_t)(0x009A6000 - 0x8a4000)), 0x009E0000 - 0x009A6000); - const uint32 c2 = sawyercoding_calculate_checksum((const uint8*)(segments + (uintptr_t)(0x01428000 - 0x8a4000)), 0x014282BC - 0x01428000); - const uint32 exp_c1 = 10114815; - const uint32 exp_c2 = 23564; - if (c1 != exp_c1 || c2 != exp_c2) { - log_warning("c1 = %u, expected %u, match %d", c1, exp_c1, c1 == exp_c1); - log_warning("c2 = %u, expected %u, match %d", c2, exp_c2, c2 == exp_c2); - return false; - } + // Check that the expected data is at various addresses. + // Start at 0x9a6000, which is start of .data, to skip the region containing addresses to DLL + // calls, which can be changed by windows/wine loader. + const uint32 c1 = sawyercoding_calculate_checksum((const uint8*)(segments + (uintptr_t)(0x009A6000 - 0x8a4000)), 0x009E0000 - 0x009A6000); + const uint32 c2 = sawyercoding_calculate_checksum((const uint8*)(segments + (uintptr_t)(0x01428000 - 0x8a4000)), 0x014282BC - 0x01428000); + const uint32 exp_c1 = 10114815; + const uint32 exp_c2 = 23564; + if (c1 != exp_c1 || c2 != exp_c2) { + log_warning("c1 = %u, expected %u, match %d", c1, exp_c1, c1 == exp_c1); + log_warning("c2 = %u, expected %u, match %d", c2, exp_c2, c2 == exp_c2); + return false; + } #endif - return true; + return true; } /** @@ -219,13 +219,13 @@ bool rct2_interop_setup_segment() */ void rct2_interop_setup_hooks() { - // None for now + // None for now } void rct2_interop_dispose() { #if defined(USE_MMAP) && (defined(__unix__) || defined(__MACOSX__)) && !defined(NO_RCT2) - munmap(segments, 12079104); - close(fdData); + munmap(segments, 12079104); + close(fdData); #endif } diff --git a/src/openrct2/ride/cable_lift.c b/src/openrct2/ride/cable_lift.c index daaaafe931..efaa9cc967 100644 --- a/src/openrct2/ride/cable_lift.c +++ b/src/openrct2/ride/cable_lift.c @@ -29,88 +29,88 @@ static void cable_lift_update_arriving(rct_vehicle *vehicle); rct_vehicle *cable_lift_segment_create(sint32 rideIndex, sint32 x, sint32 y, sint32 z, sint32 direction, uint16 var_44, sint32 remaining_distance, bool head) { - rct_ride *ride = get_ride(rideIndex); - rct_vehicle *current = &(create_sprite(1)->vehicle); - current->sprite_identifier = SPRITE_IDENTIFIER_VEHICLE; - current->ride = rideIndex; - current->ride_subtype = 0xFF; - if (head) { - move_sprite_to_list((rct_sprite*)current, SPRITE_LIST_TRAIN * 2); - ride->cable_lift = current->sprite_index; - } - current->is_child = head ? 0 : 1; - current->var_44 = var_44; - current->remaining_distance = remaining_distance; - current->sprite_width = 10; - current->sprite_height_negative = 10; - current->sprite_height_positive = 10; - current->friction = 100; - current->num_seats = 0; - current->speed = 20; - current->powered_acceleration = 80; - current->velocity = 0; - current->acceleration = 0; - current->var_4A = 0; - current->swinging_car_var_0 = 0; - current->var_4E = 0; - current->restraints_position = 0; - current->var_BA = 0; - current->var_B6 = 0; - current->var_B8 = 0; - current->sound1_id = 0xFF; - current->sound2_id = 0xFF; - current->var_C4 = 0; - current->var_C5 = 0; - current->var_C8 = 0; - current->var_CA = 0; - current->scream_sound_id = 0xFF; - current->vehicle_sprite_type = 0; - current->bank_rotation = 0; - for (sint32 j = 0; j < 32; j++) { - current->peep[j] = SPRITE_INDEX_NULL; - } - current->var_CD = 0; - current->sprite_direction = direction << 3; - current->track_x = x; - current->track_y = y; + rct_ride *ride = get_ride(rideIndex); + rct_vehicle *current = &(create_sprite(1)->vehicle); + current->sprite_identifier = SPRITE_IDENTIFIER_VEHICLE; + current->ride = rideIndex; + current->ride_subtype = 0xFF; + if (head) { + move_sprite_to_list((rct_sprite*)current, SPRITE_LIST_TRAIN * 2); + ride->cable_lift = current->sprite_index; + } + current->is_child = head ? 0 : 1; + current->var_44 = var_44; + current->remaining_distance = remaining_distance; + current->sprite_width = 10; + current->sprite_height_negative = 10; + current->sprite_height_positive = 10; + current->friction = 100; + current->num_seats = 0; + current->speed = 20; + current->powered_acceleration = 80; + current->velocity = 0; + current->acceleration = 0; + current->var_4A = 0; + current->swinging_car_var_0 = 0; + current->var_4E = 0; + current->restraints_position = 0; + current->var_BA = 0; + current->var_B6 = 0; + current->var_B8 = 0; + current->sound1_id = 0xFF; + current->sound2_id = 0xFF; + current->var_C4 = 0; + current->var_C5 = 0; + current->var_C8 = 0; + current->var_CA = 0; + current->scream_sound_id = 0xFF; + current->vehicle_sprite_type = 0; + current->bank_rotation = 0; + for (sint32 j = 0; j < 32; j++) { + current->peep[j] = SPRITE_INDEX_NULL; + } + current->var_CD = 0; + current->sprite_direction = direction << 3; + current->track_x = x; + current->track_y = y; - z = z * 8; - current->track_z = z; - z += RideData5[ride->type].z_offset; + z = z * 8; + current->track_z = z; + z += RideData5[ride->type].z_offset; - sprite_move(16, 16, z, (rct_sprite*)current); - current->track_type = (TRACK_ELEM_CABLE_LIFT_HILL << 2) | (current->sprite_direction >> 3); - current->track_progress = 164; - current->update_flags = VEHICLE_UPDATE_FLAG_1; - current->status = VEHICLE_STATUS_MOVING_TO_END_OF_STATION; - current->sub_state = 0; - current->num_peeps = 0; - current->next_free_seat = 0; - return current; + sprite_move(16, 16, z, (rct_sprite*)current); + current->track_type = (TRACK_ELEM_CABLE_LIFT_HILL << 2) | (current->sprite_direction >> 3); + current->track_progress = 164; + current->update_flags = VEHICLE_UPDATE_FLAG_1; + current->status = VEHICLE_STATUS_MOVING_TO_END_OF_STATION; + current->sub_state = 0; + current->num_peeps = 0; + current->next_free_seat = 0; + return current; } void cable_lift_update(rct_vehicle *vehicle) { - switch (vehicle->status) { - case VEHICLE_STATUS_MOVING_TO_END_OF_STATION: - cable_lift_update_moving_to_end_of_station(vehicle); - break; - case VEHICLE_STATUS_WAITING_FOR_PASSENGERS: - // Stays in this state until a train puts it into next state - break; - case VEHICLE_STATUS_WAITING_TO_DEPART: - cable_lift_update_waiting_to_depart(vehicle); - break; - case VEHICLE_STATUS_DEPARTING: - cable_lift_update_departing(vehicle); - break; - case VEHICLE_STATUS_TRAVELLING: - cable_lift_update_travelling(vehicle); - break; - case VEHICLE_STATUS_ARRIVING: - cable_lift_update_arriving(vehicle); - break; - } + switch (vehicle->status) { + case VEHICLE_STATUS_MOVING_TO_END_OF_STATION: + cable_lift_update_moving_to_end_of_station(vehicle); + break; + case VEHICLE_STATUS_WAITING_FOR_PASSENGERS: + // Stays in this state until a train puts it into next state + break; + case VEHICLE_STATUS_WAITING_TO_DEPART: + cable_lift_update_waiting_to_depart(vehicle); + break; + case VEHICLE_STATUS_DEPARTING: + cable_lift_update_departing(vehicle); + break; + case VEHICLE_STATUS_TRAVELLING: + cable_lift_update_travelling(vehicle); + break; + case VEHICLE_STATUS_ARRIVING: + cable_lift_update_arriving(vehicle); + break; + } } /** @@ -119,20 +119,20 @@ void cable_lift_update(rct_vehicle *vehicle) */ static void cable_lift_update_moving_to_end_of_station(rct_vehicle *vehicle) { - if (vehicle->velocity >= -439800) - vehicle->acceleration = -2932; + if (vehicle->velocity >= -439800) + vehicle->acceleration = -2932; - if (vehicle->velocity < -439800) { - vehicle->velocity -= vehicle->velocity / 16; - vehicle->acceleration = 0; - } + if (vehicle->velocity < -439800) { + vehicle->velocity -= vehicle->velocity / 16; + vehicle->acceleration = 0; + } - if (!(cable_lift_update_track_motion(vehicle) & (1 << 0))) - return; + if (!(cable_lift_update_track_motion(vehicle) & (1 << 0))) + return; - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle->status = VEHICLE_STATUS_WAITING_FOR_PASSENGERS; + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle->status = VEHICLE_STATUS_WAITING_FOR_PASSENGERS; } /** @@ -141,32 +141,32 @@ static void cable_lift_update_moving_to_end_of_station(rct_vehicle *vehicle) */ static void cable_lift_update_waiting_to_depart(rct_vehicle *vehicle) { - if (vehicle->velocity >= -58640) - vehicle->acceleration = -14660; + if (vehicle->velocity >= -58640) + vehicle->acceleration = -14660; - if (vehicle->velocity < -58640) { - vehicle->velocity -= vehicle->velocity / 16; - vehicle->acceleration = 0; - } + if (vehicle->velocity < -58640) { + vehicle->velocity -= vehicle->velocity / 16; + vehicle->acceleration = 0; + } - cable_lift_update_track_motion(vehicle); + cable_lift_update_track_motion(vehicle); - // Next check to see if the second part of the cable lift - // is at the front of the passenger vehicle to simulate the - // cable being attached underneath the train. - rct_vehicle* passengerVehicle = GET_VEHICLE(vehicle->cable_lift_target); - rct_vehicle* cableLiftSecondPart = GET_VEHICLE(vehicle->prev_vehicle_on_ride); + // Next check to see if the second part of the cable lift + // is at the front of the passenger vehicle to simulate the + // cable being attached underneath the train. + rct_vehicle* passengerVehicle = GET_VEHICLE(vehicle->cable_lift_target); + rct_vehicle* cableLiftSecondPart = GET_VEHICLE(vehicle->prev_vehicle_on_ride); - sint16 dist_x = abs(passengerVehicle->x - cableLiftSecondPart->x); - sint16 dist_y = abs(passengerVehicle->y - cableLiftSecondPart->y); + sint16 dist_x = abs(passengerVehicle->x - cableLiftSecondPart->x); + sint16 dist_y = abs(passengerVehicle->y - cableLiftSecondPart->y); - if (dist_x + dist_y > 2) - return; + if (dist_x + dist_y > 2) + return; - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle->status = VEHICLE_STATUS_DEPARTING; - vehicle->sub_state = 0; + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle->status = VEHICLE_STATUS_DEPARTING; + vehicle->sub_state = 0; } /** @@ -175,13 +175,13 @@ static void cable_lift_update_waiting_to_depart(rct_vehicle *vehicle) */ static void cable_lift_update_departing(rct_vehicle *vehicle) { - vehicle->sub_state++; - if (vehicle->sub_state < 16) - return; + vehicle->sub_state++; + if (vehicle->sub_state < 16) + return; - rct_vehicle* passengerVehicle = GET_VEHICLE(vehicle->cable_lift_target); - vehicle->status = VEHICLE_STATUS_TRAVELLING; - passengerVehicle->status = VEHICLE_STATUS_TRAVELLING_CABLE_LIFT; + rct_vehicle* passengerVehicle = GET_VEHICLE(vehicle->cable_lift_target); + vehicle->status = VEHICLE_STATUS_TRAVELLING; + passengerVehicle->status = VEHICLE_STATUS_TRAVELLING_CABLE_LIFT; } /** @@ -190,20 +190,20 @@ static void cable_lift_update_departing(rct_vehicle *vehicle) */ static void cable_lift_update_travelling(rct_vehicle *vehicle) { - rct_vehicle* passengerVehicle = GET_VEHICLE(vehicle->cable_lift_target); + rct_vehicle* passengerVehicle = GET_VEHICLE(vehicle->cable_lift_target); - vehicle->velocity = min(passengerVehicle->velocity, 439800); - vehicle->acceleration = 0; - if (passengerVehicle->update_flags & VEHICLE_UPDATE_FLAG_BROKEN_TRAIN) - return; + vehicle->velocity = min(passengerVehicle->velocity, 439800); + vehicle->acceleration = 0; + if (passengerVehicle->update_flags & VEHICLE_UPDATE_FLAG_BROKEN_TRAIN) + return; - if (!(cable_lift_update_track_motion(vehicle) & (1 << 1))) - return; + if (!(cable_lift_update_track_motion(vehicle) & (1 << 1))) + return; - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle->sub_state = 0; + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle->sub_state = 0; } /** @@ -212,178 +212,178 @@ static void cable_lift_update_travelling(rct_vehicle *vehicle) */ static void cable_lift_update_arriving(rct_vehicle *vehicle) { - vehicle->sub_state++; - if (vehicle->sub_state >= 64) - vehicle->status = VEHICLE_STATUS_MOVING_TO_END_OF_STATION; + vehicle->sub_state++; + if (vehicle->sub_state >= 64) + vehicle->status = VEHICLE_STATUS_MOVING_TO_END_OF_STATION; } static bool sub_6DF01A_loop(rct_vehicle* vehicle) { - rct_ride* ride = get_ride(vehicle->ride); - for (; vehicle->remaining_distance >= 13962; _vehicleUnkF64E10++) { - uint8 trackType = vehicle->track_type >> 2; - if (trackType == TRACK_ELEM_CABLE_LIFT_HILL && - vehicle->track_progress == 160) { - _vehicleMotionTrackFlags |= (1 << 1); - } + rct_ride* ride = get_ride(vehicle->ride); + for (; vehicle->remaining_distance >= 13962; _vehicleUnkF64E10++) { + uint8 trackType = vehicle->track_type >> 2; + if (trackType == TRACK_ELEM_CABLE_LIFT_HILL && + vehicle->track_progress == 160) { + _vehicleMotionTrackFlags |= (1 << 1); + } - uint16 trackProgress = vehicle->track_progress + 1; + uint16 trackProgress = vehicle->track_progress + 1; - const rct_vehicle_info *moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, 0); - uint16 trackTotalProgress = vehicle_get_move_info_size(vehicle->var_CD, vehicle->track_type); - if (trackProgress >= trackTotalProgress) { - _vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_end; - _vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_end; - rct_map_element* trackElement = - map_get_track_element_at_of_type_seq( - vehicle->track_x, - vehicle->track_y, - vehicle->track_z / 8, - trackType, - 0); + const rct_vehicle_info *moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, 0); + uint16 trackTotalProgress = vehicle_get_move_info_size(vehicle->var_CD, vehicle->track_type); + if (trackProgress >= trackTotalProgress) { + _vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_end; + _vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_end; + rct_map_element* trackElement = + map_get_track_element_at_of_type_seq( + vehicle->track_x, + vehicle->track_y, + vehicle->track_z / 8, + trackType, + 0); - rct_xy_element input; - rct_xy_element output; - sint32 outputZ; - sint32 outputDirection; + rct_xy_element input; + rct_xy_element output; + sint32 outputZ; + sint32 outputDirection; - input.x = vehicle->track_x; - input.y = vehicle->track_y; - input.element = trackElement; + input.x = vehicle->track_x; + input.y = vehicle->track_y; + input.element = trackElement; - if (!track_block_get_next(&input, &output, &outputZ, &outputDirection)) - return false; + if (!track_block_get_next(&input, &output, &outputZ, &outputDirection)) + return false; - if (TrackDefinitions[output.element->properties.track.type].vangle_start != _vehicleVAngleEndF64E36 || - TrackDefinitions[output.element->properties.track.type].bank_start != _vehicleBankEndF64E37) - return false; + if (TrackDefinitions[output.element->properties.track.type].vangle_start != _vehicleVAngleEndF64E36 || + TrackDefinitions[output.element->properties.track.type].bank_start != _vehicleBankEndF64E37) + return false; - vehicle->track_x = output.x; - vehicle->track_y = output.y; - vehicle->track_z = outputZ; - vehicle->track_direction = outputDirection; - vehicle->track_type |= output.element->properties.track.type << 2; - trackProgress = 0; - } + vehicle->track_x = output.x; + vehicle->track_y = output.y; + vehicle->track_z = outputZ; + vehicle->track_direction = outputDirection; + vehicle->track_type |= output.element->properties.track.type << 2; + trackProgress = 0; + } - vehicle->track_progress = trackProgress; - moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, trackProgress); - rct_xyz16 unk = { - .x = moveInfo->x, - .y = moveInfo->y, - .z = moveInfo->z - }; + vehicle->track_progress = trackProgress; + moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, trackProgress); + rct_xyz16 unk = { + .x = moveInfo->x, + .y = moveInfo->y, + .z = moveInfo->z + }; - unk.x += vehicle->track_x; - unk.y += vehicle->track_y; - unk.z += vehicle->track_z; + unk.x += vehicle->track_x; + unk.y += vehicle->track_y; + unk.z += vehicle->track_z; - uint8 bx = 0; - unk.z += RideData5[ride->type].z_offset; - if (unk.x != unk_F64E20.x) - bx |= (1 << 0); - if (unk.y != unk_F64E20.y) - bx |= (1 << 1); - if (unk.z != unk_F64E20.z) - bx |= (1 << 2); + uint8 bx = 0; + unk.z += RideData5[ride->type].z_offset; + if (unk.x != unk_F64E20.x) + bx |= (1 << 0); + if (unk.y != unk_F64E20.y) + bx |= (1 << 1); + if (unk.z != unk_F64E20.z) + bx |= (1 << 2); - vehicle->remaining_distance -= dword_9A2930[bx]; - unk_F64E20.x = unk.x; - unk_F64E20.y = unk.y; - unk_F64E20.z = unk.z; + vehicle->remaining_distance -= dword_9A2930[bx]; + unk_F64E20.x = unk.x; + unk_F64E20.y = unk.y; + unk_F64E20.z = unk.z; - vehicle->sprite_direction = moveInfo->direction; - vehicle->bank_rotation = moveInfo->bank_rotation; - vehicle->vehicle_sprite_type = moveInfo->vehicle_sprite_type; + vehicle->sprite_direction = moveInfo->direction; + vehicle->bank_rotation = moveInfo->bank_rotation; + vehicle->vehicle_sprite_type = moveInfo->vehicle_sprite_type; - if (vehicle->remaining_distance >= 13962) { - vehicle->acceleration += dword_9A2970[vehicle->vehicle_sprite_type]; - } - } - return true; + if (vehicle->remaining_distance >= 13962) { + vehicle->acceleration += dword_9A2970[vehicle->vehicle_sprite_type]; + } + } + return true; } static bool sub_6DF21B_loop(rct_vehicle* vehicle) { - rct_ride* ride = get_ride(vehicle->ride); - for (; vehicle->remaining_distance < 0; _vehicleUnkF64E10++) { - uint16 trackProgress = vehicle->track_progress - 1; - const rct_vehicle_info *moveInfo; + rct_ride* ride = get_ride(vehicle->ride); + for (; vehicle->remaining_distance < 0; _vehicleUnkF64E10++) { + uint16 trackProgress = vehicle->track_progress - 1; + const rct_vehicle_info *moveInfo; - if ((sint16)trackProgress == -1) { - uint8 trackType = vehicle->track_type >> 2; - _vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_start; - _vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_start; - rct_map_element* trackElement = - map_get_track_element_at_of_type_seq( - vehicle->track_x, - vehicle->track_y, - vehicle->track_z / 8, - trackType, - 0); + if ((sint16)trackProgress == -1) { + uint8 trackType = vehicle->track_type >> 2; + _vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_start; + _vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_start; + rct_map_element* trackElement = + map_get_track_element_at_of_type_seq( + vehicle->track_x, + vehicle->track_y, + vehicle->track_z / 8, + trackType, + 0); - rct_xy_element input; + rct_xy_element input; - input.x = vehicle->track_x; - input.y = vehicle->track_y; - input.element = trackElement; - track_begin_end output; + input.x = vehicle->track_x; + input.y = vehicle->track_y; + input.element = trackElement; + track_begin_end output; - if (!track_block_get_previous(input.x, input.y, input.element, &output)) - return false; + if (!track_block_get_previous(input.x, input.y, input.element, &output)) + return false; - if (TrackDefinitions[output.begin_element->properties.track.type].vangle_end != _vehicleVAngleEndF64E36 || - TrackDefinitions[output.begin_element->properties.track.type].bank_end != _vehicleBankEndF64E37) - return false; + if (TrackDefinitions[output.begin_element->properties.track.type].vangle_end != _vehicleVAngleEndF64E36 || + TrackDefinitions[output.begin_element->properties.track.type].bank_end != _vehicleBankEndF64E37) + return false; - vehicle->track_x = output.begin_x; - vehicle->track_y = output.begin_y; - vehicle->track_z = output.begin_z; - vehicle->track_direction = output.begin_direction; - vehicle->track_type |= output.begin_element->properties.track.type << 2; + vehicle->track_x = output.begin_x; + vehicle->track_y = output.begin_y; + vehicle->track_z = output.begin_z; + vehicle->track_direction = output.begin_direction; + vehicle->track_type |= output.begin_element->properties.track.type << 2; - if (output.begin_element->properties.track.type == TRACK_ELEM_END_STATION) { - _vehicleMotionTrackFlags = (1 << 0); - } + if (output.begin_element->properties.track.type == TRACK_ELEM_END_STATION) { + _vehicleMotionTrackFlags = (1 << 0); + } - moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, 0); - uint16 trackTotalProgress = vehicle_get_move_info_size(vehicle->var_CD, vehicle->track_type); - trackProgress = trackTotalProgress - 1; - } - vehicle->track_progress = trackProgress; + moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, 0); + uint16 trackTotalProgress = vehicle_get_move_info_size(vehicle->var_CD, vehicle->track_type); + trackProgress = trackTotalProgress - 1; + } + vehicle->track_progress = trackProgress; - moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, trackProgress); - rct_xyz16 unk = { - .x = moveInfo->x, - .y = moveInfo->y, - .z = moveInfo->z - }; + moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, trackProgress); + rct_xyz16 unk = { + .x = moveInfo->x, + .y = moveInfo->y, + .z = moveInfo->z + }; - unk.x += vehicle->track_x; - unk.y += vehicle->track_y; - unk.z += vehicle->track_z; + unk.x += vehicle->track_x; + unk.y += vehicle->track_y; + unk.z += vehicle->track_z; - uint8 bx = 0; - unk.z += RideData5[ride->type].z_offset; - if (unk.x != unk_F64E20.x) - bx |= (1 << 0); - if (unk.y != unk_F64E20.y) - bx |= (1 << 1); - if (unk.z != unk_F64E20.z) - bx |= (1 << 2); + uint8 bx = 0; + unk.z += RideData5[ride->type].z_offset; + if (unk.x != unk_F64E20.x) + bx |= (1 << 0); + if (unk.y != unk_F64E20.y) + bx |= (1 << 1); + if (unk.z != unk_F64E20.z) + bx |= (1 << 2); - vehicle->remaining_distance += dword_9A2930[bx]; - unk_F64E20.x = unk.x; - unk_F64E20.y = unk.y; - unk_F64E20.z = unk.z; + vehicle->remaining_distance += dword_9A2930[bx]; + unk_F64E20.x = unk.x; + unk_F64E20.y = unk.y; + unk_F64E20.z = unk.z; - vehicle->sprite_direction = moveInfo->direction; - vehicle->bank_rotation = moveInfo->bank_rotation; - vehicle->vehicle_sprite_type = moveInfo->vehicle_sprite_type; + vehicle->sprite_direction = moveInfo->direction; + vehicle->bank_rotation = moveInfo->bank_rotation; + vehicle->vehicle_sprite_type = moveInfo->vehicle_sprite_type; - if (vehicle->remaining_distance < 0) { - vehicle->acceleration += dword_9A2970[vehicle->vehicle_sprite_type]; - } - } - return true; + if (vehicle->remaining_distance < 0) { + vehicle->acceleration += dword_9A2970[vehicle->vehicle_sprite_type]; + } + } + return true; } /** @@ -392,110 +392,110 @@ static bool sub_6DF21B_loop(rct_vehicle* vehicle) { */ sint32 cable_lift_update_track_motion(rct_vehicle *cableLift) { - _vehicleF64E2C = 0; - gCurrentVehicle = cableLift; - _vehicleMotionTrackFlags = 0; - _vehicleStationIndex = 0xFF; + _vehicleF64E2C = 0; + gCurrentVehicle = cableLift; + _vehicleMotionTrackFlags = 0; + _vehicleStationIndex = 0xFF; - cableLift->velocity += cableLift->acceleration; - _vehicleVelocityF64E08 = cableLift->velocity; - _vehicleVelocityF64E0C = (cableLift->velocity / 1024) * 42; + cableLift->velocity += cableLift->acceleration; + _vehicleVelocityF64E08 = cableLift->velocity; + _vehicleVelocityF64E0C = (cableLift->velocity / 1024) * 42; - rct_vehicle* frontVehicle = cableLift; - if (cableLift->velocity < 0) { - frontVehicle = vehicle_get_tail(cableLift); - } + rct_vehicle* frontVehicle = cableLift; + if (cableLift->velocity < 0) { + frontVehicle = vehicle_get_tail(cableLift); + } - _vehicleFrontVehicle = frontVehicle; + _vehicleFrontVehicle = frontVehicle; - for (rct_vehicle* vehicle = frontVehicle;;) { - vehicle->acceleration = dword_9A2970[vehicle->vehicle_sprite_type]; - _vehicleUnkF64E10 = 1; - vehicle->remaining_distance += _vehicleVelocityF64E0C; + for (rct_vehicle* vehicle = frontVehicle;;) { + vehicle->acceleration = dword_9A2970[vehicle->vehicle_sprite_type]; + _vehicleUnkF64E10 = 1; + vehicle->remaining_distance += _vehicleVelocityF64E0C; - if (vehicle->remaining_distance < 0 || vehicle->remaining_distance >= 13962) { - unk_F64E20.x = vehicle->x; - unk_F64E20.y = vehicle->y; - unk_F64E20.z = vehicle->z; - invalidate_sprite_2((rct_sprite*)vehicle); + if (vehicle->remaining_distance < 0 || vehicle->remaining_distance >= 13962) { + unk_F64E20.x = vehicle->x; + unk_F64E20.y = vehicle->y; + unk_F64E20.z = vehicle->z; + invalidate_sprite_2((rct_sprite*)vehicle); - while (true) { - if (vehicle->remaining_distance < 0) { - if (sub_6DF21B_loop(vehicle) == true) { - break; - } - else { - _vehicleMotionTrackFlags |= (1 << 5); - _vehicleVelocityF64E0C -= vehicle->remaining_distance - 13962; - vehicle->remaining_distance = 13962; - vehicle->acceleration += dword_9A2970[vehicle->vehicle_sprite_type]; - _vehicleUnkF64E10++; - continue; - } - } - else { - if (sub_6DF01A_loop(vehicle) == true) { - break; - } - else { - _vehicleMotionTrackFlags |= (1 << 5); - _vehicleVelocityF64E0C -= vehicle->remaining_distance + 1; - vehicle->remaining_distance = -1; - vehicle->acceleration += dword_9A2970[vehicle->vehicle_sprite_type]; - _vehicleUnkF64E10++; - } - } - } - sprite_move( - unk_F64E20.x, - unk_F64E20.y, - unk_F64E20.z, - (rct_sprite*)vehicle); + while (true) { + if (vehicle->remaining_distance < 0) { + if (sub_6DF21B_loop(vehicle) == true) { + break; + } + else { + _vehicleMotionTrackFlags |= (1 << 5); + _vehicleVelocityF64E0C -= vehicle->remaining_distance - 13962; + vehicle->remaining_distance = 13962; + vehicle->acceleration += dword_9A2970[vehicle->vehicle_sprite_type]; + _vehicleUnkF64E10++; + continue; + } + } + else { + if (sub_6DF01A_loop(vehicle) == true) { + break; + } + else { + _vehicleMotionTrackFlags |= (1 << 5); + _vehicleVelocityF64E0C -= vehicle->remaining_distance + 1; + vehicle->remaining_distance = -1; + vehicle->acceleration += dword_9A2970[vehicle->vehicle_sprite_type]; + _vehicleUnkF64E10++; + } + } + } + sprite_move( + unk_F64E20.x, + unk_F64E20.y, + unk_F64E20.z, + (rct_sprite*)vehicle); - invalidate_sprite_2((rct_sprite*)vehicle); - } - vehicle->acceleration /= _vehicleUnkF64E10; - if (_vehicleVelocityF64E08 >= 0) { - if (vehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) - break; - vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); - } - else { - if (vehicle == cableLift) - break; - vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); - } - } + invalidate_sprite_2((rct_sprite*)vehicle); + } + vehicle->acceleration /= _vehicleUnkF64E10; + if (_vehicleVelocityF64E08 >= 0) { + if (vehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) + break; + vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); + } + else { + if (vehicle == cableLift) + break; + vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); + } + } - uint32 vehicleCount = 0; - uint16 frictionTotal = 0; - sint32 var2CTotal = 0; + uint32 vehicleCount = 0; + uint16 frictionTotal = 0; + sint32 var2CTotal = 0; - for (uint16 spriteId = cableLift->sprite_index; spriteId != SPRITE_INDEX_NULL;) { - rct_vehicle* vehicle = GET_VEHICLE(spriteId); - vehicleCount++; - frictionTotal += vehicle->friction; - // Prevent over/underflow in var2CTotal - if ((INT32_MAX - abs(vehicle->acceleration)) < abs(var2CTotal) && - (var2CTotal < 0) == (vehicle->acceleration < 0)) - { - var2CTotal = (var2CTotal < 0) ? INT32_MIN : INT32_MAX ; - } else { - var2CTotal += vehicle->acceleration; - } - spriteId = vehicle->next_vehicle_on_train; - } + for (uint16 spriteId = cableLift->sprite_index; spriteId != SPRITE_INDEX_NULL;) { + rct_vehicle* vehicle = GET_VEHICLE(spriteId); + vehicleCount++; + frictionTotal += vehicle->friction; + // Prevent over/underflow in var2CTotal + if ((INT32_MAX - abs(vehicle->acceleration)) < abs(var2CTotal) && + (var2CTotal < 0) == (vehicle->acceleration < 0)) + { + var2CTotal = (var2CTotal < 0) ? INT32_MIN : INT32_MAX ; + } else { + var2CTotal += vehicle->acceleration; + } + spriteId = vehicle->next_vehicle_on_train; + } - sint32 ecx = (var2CTotal / vehicleCount) >> 9; - ecx -= cableLift->velocity >> 12; + sint32 ecx = (var2CTotal / vehicleCount) >> 9; + ecx -= cableLift->velocity >> 12; - sint32 edx = cableLift->velocity >> 8; - edx *= edx; - if (cableLift->velocity < 0) - edx = -edx; - edx >>= 4; - ecx -= edx / frictionTotal; + sint32 edx = cableLift->velocity >> 8; + edx *= edx; + if (cableLift->velocity < 0) + edx = -edx; + edx >>= 4; + ecx -= edx / frictionTotal; - cableLift->acceleration = ecx; - return _vehicleMotionTrackFlags; + cableLift->acceleration = ecx; + return _vehicleMotionTrackFlags; } diff --git a/src/openrct2/ride/coaster/air_powered_vertical_coaster.c b/src/openrct2/ride/coaster/air_powered_vertical_coaster.c index 984342e78f..cc0ac45ea9 100644 --- a/src/openrct2/ride/coaster/air_powered_vertical_coaster.c +++ b/src/openrct2/ride/coaster/air_powered_vertical_coaster.c @@ -27,779 +27,779 @@ #include "../track_paint.h" enum { - SPR_AIR_POWERED_VERTICAL_RC_FLAT_SW_NE = 22226, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_NW_SE = 22227, - SPR_AIR_POWERED_VERTICAL_RC_STATION_SW_NE = 22228, - SPR_AIR_POWERED_VERTICAL_RC_STATION_NW_SE = 22229, - SPR_AIR_POWERED_VERTICAL_RC_BRAKES_NW_SE = 22230, - SPR_AIR_POWERED_VERTICAL_RC_BRAKES_SW_NE = 22231, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_SW_NE = 22226, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_NW_SE = 22227, + SPR_AIR_POWERED_VERTICAL_RC_STATION_SW_NE = 22228, + SPR_AIR_POWERED_VERTICAL_RC_STATION_NW_SE = 22229, + SPR_AIR_POWERED_VERTICAL_RC_BRAKES_NW_SE = 22230, + SPR_AIR_POWERED_VERTICAL_RC_BRAKES_SW_NE = 22231, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SW_NE_SEQ_0 = 22236, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NW_SE_SEQ_0 = 22237, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NE_SW_SEQ_0 = 22238, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SE_NW_SEQ_0 = 22239, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SW_NE_SEQ_1 = 22232, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NW_SE_SEQ_1 = 22233, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NE_SW_SEQ_1 = 22234, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SE_NW_SEQ_1 = 22235, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SW_NE_SEQ_0 = 22236, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NW_SE_SEQ_0 = 22237, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NE_SW_SEQ_0 = 22238, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SE_NW_SEQ_0 = 22239, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SW_NE_SEQ_1 = 22232, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NW_SE_SEQ_1 = 22233, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NE_SW_SEQ_1 = 22234, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SE_NW_SEQ_1 = 22235, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_SW_NE = 22334, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_NW_SE = 22335, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_NE_SW = 22336, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_SE_NW = 22337, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_SW_NE = 22338, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_NW_SE = 22339, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_NE_SW = 22340, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_SE_NW = 22341, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SW_NE = 22342, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_NW_SE = 22343, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_NE_SW = 22344, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SE_NW = 22345, - SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_SW_NE = 22346, - SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_NW_SE = 22347, - SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_NE_SW = 22348, - SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_SE_NW = 22349, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_1 = 22350, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_0 = 22351, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_3 = 22352, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_2 = 22353, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_1 = 22354, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_0 = 22355, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_3 = 22356, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_2 = 22357, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_SW_NE = 22358, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_NW_SE = 22359, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_NE_SW = 22360, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_SE_NW = 22361, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_SW_NE = 22334, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_NW_SE = 22335, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_NE_SW = 22336, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_SE_NW = 22337, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_SW_NE = 22338, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_NW_SE = 22339, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_NE_SW = 22340, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_SE_NW = 22341, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SW_NE = 22342, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_NW_SE = 22343, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_NE_SW = 22344, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SE_NW = 22345, + SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_SW_NE = 22346, + SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_NW_SE = 22347, + SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_NE_SW = 22348, + SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_SE_NW = 22349, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_1 = 22350, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_0 = 22351, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_3 = 22352, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_2 = 22353, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_1 = 22354, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_0 = 22355, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_3 = 22356, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_2 = 22357, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_SW_NE = 22358, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_NW_SE = 22359, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_NE_SW = 22360, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_SE_NW = 22361, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_0 = 22240, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_1 = 22241, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_2 = 22242, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_3 = 22243, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_4 = 22244, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_6 = 22245, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_0 = 22246, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_1 = 22247, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_2 = 22248, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_3 = 22249, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_4 = 22250, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_6 = 22251, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_0 = 22252, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_1 = 22253, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_2 = 22254, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_3 = 22255, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_4 = 22256, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_6 = 22257, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_0 = 22258, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_1 = 22259, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_2 = 22260, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_3 = 22261, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_4 = 22262, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_6 = 22263, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_0 = 22264, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_1 = 22265, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_2 = 22266, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_3 = 22267, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_4 = 22268, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_6 = 22269, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_5 = 22270, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_0 = 22271, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_1 = 22272, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_2 = 22273, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_3 = 22274, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_4 = 22275, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_6 = 22276, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_5 = 22277, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_0 = 22278, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_1 = 22279, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_2 = 22280, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_3 = 22281, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_4 = 22282, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_6 = 22283, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_5 = 22284, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_0 = 22285, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_1 = 22286, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_2 = 22287, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_3 = 22288, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_4 = 22289, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_6 = 22290, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_5 = 22291, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_0 = 22292, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_1 = 22293, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_2 = 22294, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_3 = 22295, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_4 = 22296, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_0 = 22297, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_1 = 22298, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_2 = 22299, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_3 = 22300, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_4 = 22301, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_0 = 22302, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_1 = 22303, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_2 = 22304, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_3 = 22305, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_4 = 22306, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_0 = 22307, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_1 = 22308, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_2 = 22309, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_3 = 22310, - SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_4 = 22311, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_0 = 22312, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_1 = 22313, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_2 = 22314, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_3 = 22315, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_4 = 22316, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_0 = 22317, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_1 = 22318, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_2 = 22319, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_3 = 22320, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_4 = 22321, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_0 = 22322, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_1 = 22323, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_2 = 22324, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_3 = 22325, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_4 = 22326, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_0 = 22327, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_1 = 22328, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_2 = 22329, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_3 = 22330, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_4 = 22331, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_NW_SW_PART_4 = 22332, - SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_SE_NE_PART_0 = 22333, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_0 = 22240, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_1 = 22241, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_2 = 22242, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_3 = 22243, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_4 = 22244, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_6 = 22245, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_0 = 22246, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_1 = 22247, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_2 = 22248, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_3 = 22249, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_4 = 22250, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_6 = 22251, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_0 = 22252, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_1 = 22253, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_2 = 22254, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_3 = 22255, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_4 = 22256, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_6 = 22257, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_0 = 22258, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_1 = 22259, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_2 = 22260, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_3 = 22261, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_4 = 22262, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_6 = 22263, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_0 = 22264, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_1 = 22265, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_2 = 22266, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_3 = 22267, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_4 = 22268, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_6 = 22269, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_5 = 22270, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_0 = 22271, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_1 = 22272, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_2 = 22273, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_3 = 22274, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_4 = 22275, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_6 = 22276, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_5 = 22277, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_0 = 22278, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_1 = 22279, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_2 = 22280, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_3 = 22281, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_4 = 22282, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_6 = 22283, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_5 = 22284, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_0 = 22285, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_1 = 22286, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_2 = 22287, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_3 = 22288, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_4 = 22289, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_6 = 22290, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_5 = 22291, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_0 = 22292, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_1 = 22293, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_2 = 22294, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_3 = 22295, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_4 = 22296, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_0 = 22297, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_1 = 22298, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_2 = 22299, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_3 = 22300, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_4 = 22301, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_0 = 22302, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_1 = 22303, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_2 = 22304, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_3 = 22305, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_4 = 22306, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_0 = 22307, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_1 = 22308, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_2 = 22309, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_3 = 22310, + SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_4 = 22311, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_0 = 22312, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_1 = 22313, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_2 = 22314, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_3 = 22315, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_4 = 22316, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_0 = 22317, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_1 = 22318, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_2 = 22319, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_3 = 22320, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_4 = 22321, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_0 = 22322, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_1 = 22323, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_2 = 22324, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_3 = 22325, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_4 = 22326, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_0 = 22327, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_1 = 22328, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_2 = 22329, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_3 = 22330, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_4 = 22331, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_NW_SW_PART_4 = 22332, + SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_SE_NE_PART_0 = 22333, }; static uint32 air_powered_vertical_rc_get_support_colour() { - uint32 colourFlags = gTrackColours[SCHEME_SUPPORTS]; - uint32 trackColour = gTrackColours[SCHEME_TRACK]; - if (trackColour & 0x80000000) { - colourFlags |= (trackColour & 0x9F000000); - } - return colourFlags; + uint32 colourFlags = gTrackColours[SCHEME_SUPPORTS]; + uint32 trackColour = gTrackColours[SCHEME_TRACK]; + if (trackColour & 0x80000000) { + colourFlags |= (trackColour & 0x9F000000); + } + return colourFlags; } /** rct2: 0x008AFAD4 */ static void air_powered_vertical_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4] = { - SPR_AIR_POWERED_VERTICAL_RC_FLAT_SW_NE, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_NW_SE, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_SW_NE, - SPR_AIR_POWERED_VERTICAL_RC_FLAT_NW_SE, - }; + static const uint32 imageIds[4] = { + SPR_AIR_POWERED_VERTICAL_RC_FLAT_SW_NE, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_NW_SE, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_SW_NE, + SPR_AIR_POWERED_VERTICAL_RC_FLAT_NW_SE, + }; - uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); + uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void air_powered_vertical_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_AIR_POWERED_VERTICAL_RC_STATION_SW_NE, SPR_STATION_BASE_B_SW_NE }, - { SPR_AIR_POWERED_VERTICAL_RC_STATION_NW_SE, SPR_STATION_BASE_B_NW_SE }, - { SPR_AIR_POWERED_VERTICAL_RC_STATION_SW_NE, SPR_STATION_BASE_B_SW_NE }, - { SPR_AIR_POWERED_VERTICAL_RC_STATION_NW_SE, SPR_STATION_BASE_B_NW_SE }, - }; + static const uint32 imageIds[4][2] = { + { SPR_AIR_POWERED_VERTICAL_RC_STATION_SW_NE, SPR_STATION_BASE_B_SW_NE }, + { SPR_AIR_POWERED_VERTICAL_RC_STATION_NW_SE, SPR_STATION_BASE_B_NW_SE }, + { SPR_AIR_POWERED_VERTICAL_RC_STATION_SW_NE, SPR_STATION_BASE_B_SW_NE }, + { SPR_AIR_POWERED_VERTICAL_RC_STATION_NW_SE, SPR_STATION_BASE_B_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height - 2, 0, 2, height); - sub_98199C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height - 2, 0, 2, height); + sub_98199C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - rct_ride * ride = get_ride(rideIndex); - track_paint_util_draw_station_platform(ride, direction, height, 5, mapElement); + rct_ride * ride = get_ride(rideIndex); + track_paint_util_draw_station_platform(ride, direction, height, 5, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void air_powered_vertical_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const sprite_bb imageIds[4][5] = { - { - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_0, { 0, 2, 0 }, { 0, 0, 0 }, { 32, 32, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_1, { 0, 16, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_3, { 16, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_4, { 2, 0, 0 }, { 0, 0, 0 }, { 32, 32, 2 } }, - }, - { - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_0, { 2, 0, 0 }, { 0, 0, 0 }, { 32, 32, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_1, { 16, 0, 0 }, { 0, 0, 0 }, { 16, 34, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_2, { 0, 16, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_4, { 0, 2, 0 }, { 0, 0, 0 }, { 32, 27, 2 } }, - }, - { - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_0, { 0, 2, 0 }, { 0, 0, 0 }, { 32, 27, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_2, { 16, 16, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_4, { 2, 0, 0 }, { 0, 0, 0 }, { 27, 32, 2 } }, - }, - { - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_0, { 2, 0, 0 }, { 0, 0, 0 }, { 27, 32, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_2, { 16, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_3, { 0, 16, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, - { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_4, { 0, 2, 0 }, { 0, 0, 0 }, { 32, 32, 2 } }, - } - }; + static const sprite_bb imageIds[4][5] = { + { + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_0, { 0, 2, 0 }, { 0, 0, 0 }, { 32, 32, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_1, { 0, 16, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_3, { 16, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SW_SE_PART_4, { 2, 0, 0 }, { 0, 0, 0 }, { 32, 32, 2 } }, + }, + { + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_0, { 2, 0, 0 }, { 0, 0, 0 }, { 32, 32, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_1, { 16, 0, 0 }, { 0, 0, 0 }, { 16, 34, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_2, { 0, 16, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NW_SW_PART_4, { 0, 2, 0 }, { 0, 0, 0 }, { 32, 27, 2 } }, + }, + { + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_0, { 0, 2, 0 }, { 0, 0, 0 }, { 32, 27, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_2, { 16, 16, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_NE_NW_PART_4, { 2, 0, 0 }, { 0, 0, 0 }, { 27, 32, 2 } }, + }, + { + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_0, { 2, 0, 0 }, { 0, 0, 0 }, { 27, 32, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_2, { 16, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_3, { 0, 16, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, + { SPR_AIR_POWERED_VERTICAL_RC_QUARTER_TURN_5_SE_NE_PART_4, { 0, 2, 0 }, { 0, 0, 0 }, { 32, 32, 2 } }, + } + }; - track_paint_util_right_quarter_turn_5_tiles_paint_3(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); - track_paint_util_right_quarter_turn_5_tiles_wooden_supports(height, direction, trackSequence); - track_paint_util_right_quarter_turn_5_tiles_tunnel(height, direction, trackSequence, TUNNEL_6); + track_paint_util_right_quarter_turn_5_tiles_paint_3(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); + track_paint_util_right_quarter_turn_5_tiles_wooden_supports(height, direction, trackSequence); + track_paint_util_right_quarter_turn_5_tiles_tunnel(height, direction, trackSequence, TUNNEL_6); - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; - case 1: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); break; - case 4: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; + case 1: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); break; + case 4: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void air_powered_vertical_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - air_powered_vertical_rc_track_right_quarter_turn_5(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + air_powered_vertical_rc_track_right_quarter_turn_5(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x008AFB74 */ static void air_powered_vertical_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_SW_NE, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SW_NE }, - { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_NW_SE, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_NW_SE }, - { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_NE_SW, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_NE_SW }, - { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_SE_NW, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_SW_NE, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SW_NE }, + { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_NW_SE, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_NW_SE }, + { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_NE_SW, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_NE_SW }, + { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_SE_NW, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - if (direction == 0 || direction == 1) { - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); - } + if (direction == 0 || direction == 1) { + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); + } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AFB84 */ static void air_powered_vertical_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_SW_NE, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SW_NE }, - { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_NW_SE, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_NW_SE }, - { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_NE_SW, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_NE_SW }, - { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_SE_NW, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_SW_NE, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SW_NE }, + { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_NW_SE, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_NW_SE }, + { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_NE_SW, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_NE_SW }, + { SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_SE_NW, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - if (direction == 2 || direction == 3) { - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); - } + if (direction == 2 || direction == 3) { + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); + } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void air_powered_vertical_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - air_powered_vertical_rc_track_flat_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + air_powered_vertical_rc_track_flat_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AFBA4 */ static void air_powered_vertical_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - air_powered_vertical_rc_track_flat_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + air_powered_vertical_rc_track_flat_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void air_powered_vertical_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const sprite_bb imageIds[4][5] = { - { - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_1, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 3 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 3 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_3, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 3 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_4, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, - }, - { - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 3 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_2, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 3 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 3 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_4, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, - }, - { - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_0, { 0, 0, 0 }, { 0, 27, 0 }, { 32, 1, 26 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 1 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_2, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 1 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 1 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_4, { 0, 0, 0 }, { 27, 0, 0 }, { 1, 32, 26 } }, - }, - { - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 3 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_2, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 3 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_3, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 3 } }, - { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_4, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, - } - }; + static const sprite_bb imageIds[4][5] = { + { + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_1, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 3 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 3 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_3, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 3 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SW_SE_PART_4, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, + }, + { + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 3 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_2, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 3 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 3 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NW_SW_PART_4, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, + }, + { + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_0, { 0, 0, 0 }, { 0, 27, 0 }, { 32, 1, 26 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 1 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_2, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 1 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 1 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_NE_NW_PART_4, { 0, 0, 0 }, { 27, 0, 0 }, { 1, 32, 26 } }, + }, + { + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 3 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_2, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 3 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_3, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 3 } }, + { SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_SE_NE_PART_4, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, + } + }; - track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); + track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); - if (direction == 1 && trackSequence == 6) { - uint32 imageId = SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_NW_SW_PART_4 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation()); - } else if (direction == 3 && trackSequence == 0) { - uint32 imageId = SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_SE_NE_PART_0 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation()); - } + if (direction == 1 && trackSequence == 6) { + uint32 imageId = SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_NW_SW_PART_4 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation()); + } else if (direction == 3 && trackSequence == 0) { + uint32 imageId = SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_SE_NE_PART_0 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation()); + } - track_paint_util_right_quarter_turn_5_tiles_wooden_supports(height, direction, trackSequence); - track_paint_util_right_quarter_turn_5_tiles_tunnel(height, direction, trackSequence, TUNNEL_6); + track_paint_util_right_quarter_turn_5_tiles_wooden_supports(height, direction, trackSequence); + track_paint_util_right_quarter_turn_5_tiles_tunnel(height, direction, trackSequence, TUNNEL_6); - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; - case 1: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); break; - case 4: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; + case 1: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); break; + case 4: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void air_powered_vertical_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - air_powered_vertical_rc_track_banked_right_quarter_turn_5(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + air_powered_vertical_rc_track_banked_right_quarter_turn_5(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x008AFBD4 */ static void air_powered_vertical_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4] = { - SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_SW_NE, - SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_NW_SE, - SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_NE_SW, - SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_SE_NW, - }; + static const uint32 imageIds[4] = { + SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_SW_NE, + SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_NW_SE, + SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_NE_SW, + SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_SE_NW, + }; - uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 1) { - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); - } else { - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - } + uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 1) { + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); + } else { + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void air_powered_vertical_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - air_powered_vertical_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + air_powered_vertical_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void air_powered_vertical_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4] = { - SPR_AIR_POWERED_VERTICAL_RC_BRAKES_NW_SE, - SPR_AIR_POWERED_VERTICAL_RC_BRAKES_SW_NE, - SPR_AIR_POWERED_VERTICAL_RC_BRAKES_NW_SE, - SPR_AIR_POWERED_VERTICAL_RC_BRAKES_SW_NE, - }; + static const uint32 imageIds[4] = { + SPR_AIR_POWERED_VERTICAL_RC_BRAKES_NW_SE, + SPR_AIR_POWERED_VERTICAL_RC_BRAKES_SW_NE, + SPR_AIR_POWERED_VERTICAL_RC_BRAKES_NW_SE, + SPR_AIR_POWERED_VERTICAL_RC_BRAKES_SW_NE, + }; - uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); + uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void air_powered_vertical_rc_track_vertical_slope_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 trackImageIds[7][4] = { - { - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_0, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_0, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_0, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_0, - }, - { - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_1, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_1, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_1, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_1, - }, - { - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_2, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_2, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_2, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_2, - }, - { - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_3, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_3, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_3, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_3, - }, - { - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_4, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_4, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_4, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_4, - }, - { - 0, - 0, - 0, - 0 - }, - { - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_6, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_6, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_6, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_6, - }, - }; + static const uint32 trackImageIds[7][4] = { + { + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_0, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_0, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_0, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_0, + }, + { + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_1, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_1, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_1, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_1, + }, + { + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_2, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_2, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_2, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_2, + }, + { + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_3, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_3, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_3, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_3, + }, + { + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_4, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_4, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_4, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_4, + }, + { + 0, + 0, + 0, + 0 + }, + { + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SW_NE_6, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NW_SE_6, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_NE_SW_6, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SE_NW_6, + }, + }; - static const uint32 supportImageIds[7][4] = { - { - 22264, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_0, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_0, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_0, - }, - { - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_1, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_1, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_1, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_1, - }, - { - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_2, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_2, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_2, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_2, - }, - { - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_3, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_3, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_3, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_3, - }, - { - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_4, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_4, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_4, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_4, - }, - { - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_5, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_5, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_5, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_5, - }, - { - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_6, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_6, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_6, - SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_6, - }, - }; + static const uint32 supportImageIds[7][4] = { + { + 22264, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_0, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_0, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_0, + }, + { + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_1, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_1, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_1, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_1, + }, + { + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_2, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_2, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_2, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_2, + }, + { + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_3, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_3, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_3, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_3, + }, + { + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_4, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_4, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_4, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_4, + }, + { + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_5, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_5, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_5, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_5, + }, + { + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SW_NE_6, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NW_SE_6, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_NE_SW_6, + SPR_AIR_POWERED_VERTICAL_RC_SLOPE_SUPPORTS_SE_NW_6, + }, + }; - static const sint8 bbHeights03[] = { 1, 6, 14, 37, 76 }; - static const sint8 bbHeights12[] = { 1, 6, 14, 27, 59 }; - static const sint32 supportHeights[] = { 48, 64, 128, 176, 208, 240, 240 }; + static const sint8 bbHeights03[] = { 1, 6, 14, 37, 76 }; + static const sint8 bbHeights12[] = { 1, 6, 14, 27, 59 }; + static const sint32 supportHeights[] = { 48, 64, 128, 176, 208, 240, 240 }; - uint32 supportsImageId = supportImageIds[trackSequence][direction] | air_powered_vertical_rc_get_support_colour(); - uint32 trackImageId = trackImageIds[trackSequence][direction] | gTrackColours[SCHEME_TRACK]; - sint8 bbHeight; - bool isDirection03 = (direction == 0 || direction == 3); - switch (trackSequence) { - case 0: - // HACK this might be a mistake in original code - if (direction & 1) { - bbHeight = bbHeights12[trackSequence]; - sub_98197C_rotated(direction, supportsImageId, 0, 0, 20, 32, bbHeight, height, 0, 6, height); - sub_98199C_rotated(direction, trackImageId, 0, 0, 20, 32, bbHeight, height, 0, 6, height); + uint32 supportsImageId = supportImageIds[trackSequence][direction] | air_powered_vertical_rc_get_support_colour(); + uint32 trackImageId = trackImageIds[trackSequence][direction] | gTrackColours[SCHEME_TRACK]; + sint8 bbHeight; + bool isDirection03 = (direction == 0 || direction == 3); + switch (trackSequence) { + case 0: + // HACK this might be a mistake in original code + if (direction & 1) { + bbHeight = bbHeights12[trackSequence]; + sub_98197C_rotated(direction, supportsImageId, 0, 0, 20, 32, bbHeight, height, 0, 6, height); + sub_98199C_rotated(direction, trackImageId, 0, 0, 20, 32, bbHeight, height, 0, 6, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); - break; - } - case 1: - case 2: - case 3: - if (isDirection03) { - bbHeight = bbHeights03[trackSequence]; + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); + break; + } + case 1: + case 2: + case 3: + if (isDirection03) { + bbHeight = bbHeights03[trackSequence]; - sub_98197C_rotated(direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); - sub_98199C_rotated(direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); - } else { - bbHeight = bbHeights12[trackSequence]; - sub_98197C_rotated(direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); - sub_98199C_rotated(direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); - } + sub_98197C_rotated(direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); + sub_98199C_rotated(direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); + } else { + bbHeight = bbHeights12[trackSequence]; + sub_98197C_rotated(direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); + sub_98199C_rotated(direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); + } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (trackSequence == 0) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } + if (trackSequence == 0) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); - break; - case 4: - if (isDirection03) { - bbHeight = bbHeights03[trackSequence]; - sub_98197C_rotated(direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); - sub_98199C_rotated(direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); - } else { - bbHeight = bbHeights12[trackSequence]; - sub_98197C_rotated(direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); - sub_98199C_rotated(direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); - } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); + break; + case 4: + if (isDirection03) { + bbHeight = bbHeights03[trackSequence]; + sub_98197C_rotated(direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); + sub_98199C_rotated(direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); + } else { + bbHeight = bbHeights12[trackSequence]; + sub_98197C_rotated(direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); + sub_98199C_rotated(direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); + } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); - break; - case 5: - if (wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL)) { - uint32 floorImageId; - if (direction & 1) { - floorImageId = SPR_FLOOR_PLANKS_90_DEG | gTrackColours[SCHEME_SUPPORTS]; - } else { - floorImageId = SPR_FLOOR_PLANKS | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98197C(floorImageId, 0, 0, 26, 26, 126, height, 3, 3, height, get_current_rotation()); - sub_98199C_rotated(direction, supportsImageId, 0, 0, 26, 26, 126, height, 3, 3, height); - } else { - sub_98197C_rotated(direction, supportsImageId, 0, 0, 26, 26, 126, height, 3, 3, height); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); - break; - case 6: - if (isDirection03) { - sub_98197C_rotated(direction, supportsImageId, 0, 0, 5, 20, 79, height, 0, 6, height + 128); - sub_98199C_rotated(direction, trackImageId, 0, 0, 5, 20, 79, height, 0, 6, height + 128); - } else { - sub_98197C_rotated(direction, trackImageId, 0, 0, 1, 20, 126, height, 27, 6, height); - sub_98199C_rotated(direction, supportsImageId, 0, 0, 1, 20, 126, height, 27, 6, height); - } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); + break; + case 5: + if (wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL)) { + uint32 floorImageId; + if (direction & 1) { + floorImageId = SPR_FLOOR_PLANKS_90_DEG | gTrackColours[SCHEME_SUPPORTS]; + } else { + floorImageId = SPR_FLOOR_PLANKS | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98197C(floorImageId, 0, 0, 26, 26, 126, height, 3, 3, height, get_current_rotation()); + sub_98199C_rotated(direction, supportsImageId, 0, 0, 26, 26, 126, height, 3, 3, height); + } else { + sub_98197C_rotated(direction, supportsImageId, 0, 0, 26, 26, 126, height, 3, 3, height); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); + break; + case 6: + if (isDirection03) { + sub_98197C_rotated(direction, supportsImageId, 0, 0, 5, 20, 79, height, 0, 6, height + 128); + sub_98199C_rotated(direction, trackImageId, 0, 0, 5, 20, 79, height, 0, 6, height + 128); + } else { + sub_98197C_rotated(direction, trackImageId, 0, 0, 1, 20, 126, height, 27, 6, height); + sub_98199C_rotated(direction, supportsImageId, 0, 0, 1, 20, 126, height, 27, 6, height); + } + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_vertical_tunnel(height + 240); + paint_util_set_vertical_tunnel(height + 240); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); - break; - } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); + break; + } } static void air_powered_vertical_rc_track_vertical_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SW_NE_SEQ_0, SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SW_NE_SEQ_1 }, - { SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NW_SE_SEQ_0, SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NW_SE_SEQ_1 }, - { SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NE_SW_SEQ_0, SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NE_SW_SEQ_1 }, - { SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SE_NW_SEQ_0, SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SE_NW_SEQ_1 }, - }; + static const uint32 imageIds[4][2] = { + { SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SW_NE_SEQ_0, SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SW_NE_SEQ_1 }, + { SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NW_SE_SEQ_0, SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NW_SE_SEQ_1 }, + { SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NE_SW_SEQ_0, SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_NE_SW_SEQ_1 }, + { SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SE_NW_SEQ_0, SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_UP_SE_NW_SEQ_1 }, + }; - uint32 imageId; - switch (trackSequence) { - case 0: - imageId = imageIds[direction][0] | air_powered_vertical_rc_get_support_colour(); - sub_98197C_rotated(direction, imageId, 0, 0, 26, 26, 79, height, 3, 3, height); - break; - case 1: - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 3) { - sub_98197C_rotated(direction, imageId, 0, 0, 2, 20, 79, height, 0, 6, height); - } else { - sub_98197C_rotated(direction, imageId, 0, 0, 2, 20, 79, height, 30, 6, height); - } + uint32 imageId; + switch (trackSequence) { + case 0: + imageId = imageIds[direction][0] | air_powered_vertical_rc_get_support_colour(); + sub_98197C_rotated(direction, imageId, 0, 0, 26, 26, 79, height, 3, 3, height); + break; + case 1: + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 3) { + sub_98197C_rotated(direction, imageId, 0, 0, 2, 20, 79, height, 0, 6, height); + } else { + sub_98197C_rotated(direction, imageId, 0, 0, 2, 20, 79, height, 30, 6, height); + } - paint_util_set_vertical_tunnel(height + 80); - break; - } + paint_util_set_vertical_tunnel(height + 80); + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); } static void air_powered_vertical_rc_track_vertical_top(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (direction == 2 || direction == 3) { - air_powered_vertical_rc_track_vertical_top(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement); - return; - } + if (direction == 2 || direction == 3) { + air_powered_vertical_rc_track_vertical_top(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement); + return; + } - static const uint32 imageIds[4][6] = { - { - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_SW_NE, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_0, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_1, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_2, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_NE_SW, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_3 - }, - { - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_NW_SE, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_0, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_1, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_2, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_SE_NW, - SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_3 - }, - }; + static const uint32 imageIds[4][6] = { + { + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_SW_NE, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_0, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_1, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_2, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_NE_SW, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_SW_NE_SEQ_3 + }, + { + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_NW_SE, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_0, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_1, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_2, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_SUPPORT_SE_NW, + SPR_AIR_POWERED_VERTICAL_RC_VERTICAL_TOP_TRACK_NW_SE_SEQ_3 + }, + }; - uint32 imageIdS, imageIdT; - switch (trackSequence) { - case 0: - imageIdS = imageIds[direction][0] | air_powered_vertical_rc_get_support_colour(); - imageIdT = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction == 0) { - sub_98197C_rotated(direction, imageIdS, 0, 0, 32, 20, 15, height, 0, 6, height); - sub_98199C_rotated(direction, imageIdT, 0, 0, 31, 20, 15, height, 1, 6, height); - } else { - sub_98197C_rotated(direction, imageIdS, 0, 0, 5, 20, 1, height, 24, 6, height); - sub_98199C_rotated(direction, imageIdT, 0, 0, 5, 20, 1, height, 24, 6, height); - } - break; - case 1: - imageIdT = imageIds[direction][2] | gTrackColours[SCHEME_TRACK]; - if (direction == 0) { - sub_98197C_rotated(direction, imageIdT, 0, 0, 2, 20, 15, height, 0, 6, height); - } else { - sub_98197C_rotated(direction, imageIdT, 0, 0, 2, 20, 1, height, 33, 6, height); - } - paint_util_set_vertical_tunnel(height + 80); - break; - case 2: - imageIdT = imageIds[direction][3] | gTrackColours[SCHEME_TRACK]; - if (direction == 0) { - sub_98197C_rotated(direction, imageIdT, 0, 0, 2, 20, 1, height, 33, 6, height); - } else { - sub_98197C_rotated(direction, imageIdT, 0, 0, 2, 20, 15, height, 0, 6, height); - } - paint_util_set_vertical_tunnel(height + 80); - break; - case 3: - imageIdS = imageIds[direction][4] | air_powered_vertical_rc_get_support_colour(); - imageIdT = imageIds[direction][5] | gTrackColours[SCHEME_TRACK]; - if (direction == 0) { - sub_98197C_rotated(direction, imageIdS, 0, 0, 5, 20, 1, height, 24, 6, height); - sub_98199C_rotated(direction, imageIdT, 0, 0, 5, 20, 1, height, 24, 6, height); - } else { - sub_98197C_rotated(direction, imageIdS, 0, 0, 32, 20, 15, height, 0, 6, height); - sub_98199C_rotated(direction, imageIdT, 0, 0, 32, 20, 15, height, 0, 6, height); - } - break; - } + uint32 imageIdS, imageIdT; + switch (trackSequence) { + case 0: + imageIdS = imageIds[direction][0] | air_powered_vertical_rc_get_support_colour(); + imageIdT = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + if (direction == 0) { + sub_98197C_rotated(direction, imageIdS, 0, 0, 32, 20, 15, height, 0, 6, height); + sub_98199C_rotated(direction, imageIdT, 0, 0, 31, 20, 15, height, 1, 6, height); + } else { + sub_98197C_rotated(direction, imageIdS, 0, 0, 5, 20, 1, height, 24, 6, height); + sub_98199C_rotated(direction, imageIdT, 0, 0, 5, 20, 1, height, 24, 6, height); + } + break; + case 1: + imageIdT = imageIds[direction][2] | gTrackColours[SCHEME_TRACK]; + if (direction == 0) { + sub_98197C_rotated(direction, imageIdT, 0, 0, 2, 20, 15, height, 0, 6, height); + } else { + sub_98197C_rotated(direction, imageIdT, 0, 0, 2, 20, 1, height, 33, 6, height); + } + paint_util_set_vertical_tunnel(height + 80); + break; + case 2: + imageIdT = imageIds[direction][3] | gTrackColours[SCHEME_TRACK]; + if (direction == 0) { + sub_98197C_rotated(direction, imageIdT, 0, 0, 2, 20, 1, height, 33, 6, height); + } else { + sub_98197C_rotated(direction, imageIdT, 0, 0, 2, 20, 15, height, 0, 6, height); + } + paint_util_set_vertical_tunnel(height + 80); + break; + case 3: + imageIdS = imageIds[direction][4] | air_powered_vertical_rc_get_support_colour(); + imageIdT = imageIds[direction][5] | gTrackColours[SCHEME_TRACK]; + if (direction == 0) { + sub_98197C_rotated(direction, imageIdS, 0, 0, 5, 20, 1, height, 24, 6, height); + sub_98199C_rotated(direction, imageIdT, 0, 0, 5, 20, 1, height, 24, 6, height); + } else { + sub_98197C_rotated(direction, imageIdS, 0, 0, 32, 20, 15, height, 0, 6, height); + sub_98199C_rotated(direction, imageIdT, 0, 0, 32, 20, 15, height, 0, 6, height); + } + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); } static void air_powered_vertical_rc_track_vertical_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - air_powered_vertical_rc_track_vertical_up(rideIndex, trackSequence ^ 1, (direction + 2) & 3, height, mapElement); + air_powered_vertical_rc_track_vertical_up(rideIndex, trackSequence ^ 1, (direction + 2) & 3, height, mapElement); } static void air_powered_vertical_rc_track_vertical_slope_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - air_powered_vertical_rc_track_vertical_slope_up(rideIndex, 6 - trackSequence, (direction + 2) & 3, height, mapElement); + air_powered_vertical_rc_track_vertical_slope_up(rideIndex, 6 - trackSequence, (direction + 2) & 3, height, mapElement); } TRACK_PAINT_FUNCTION get_track_paint_function_air_powered_vertical_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return air_powered_vertical_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return air_powered_vertical_rc_track_station; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return air_powered_vertical_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return air_powered_vertical_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return air_powered_vertical_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return air_powered_vertical_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return air_powered_vertical_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return air_powered_vertical_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return air_powered_vertical_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return air_powered_vertical_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK: - return air_powered_vertical_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return air_powered_vertical_rc_track_right_bank; - case TRACK_ELEM_BRAKES: - return air_powered_vertical_rc_track_brakes; - case TRACK_ELEM_REVERSE_FREEFALL_SLOPE: - return air_powered_vertical_rc_track_vertical_slope_up; - case TRACK_ELEM_REVERSE_FREEFALL_VERTICAL: - return air_powered_vertical_rc_track_vertical_up; - case TRACK_ELEM_AIR_THRUST_TOP_CAP: - return air_powered_vertical_rc_track_vertical_top; - case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN: - return air_powered_vertical_rc_track_vertical_down; - case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL: - return air_powered_vertical_rc_track_vertical_slope_down; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return air_powered_vertical_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return air_powered_vertical_rc_track_station; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return air_powered_vertical_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return air_powered_vertical_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return air_powered_vertical_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return air_powered_vertical_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return air_powered_vertical_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return air_powered_vertical_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return air_powered_vertical_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return air_powered_vertical_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK: + return air_powered_vertical_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return air_powered_vertical_rc_track_right_bank; + case TRACK_ELEM_BRAKES: + return air_powered_vertical_rc_track_brakes; + case TRACK_ELEM_REVERSE_FREEFALL_SLOPE: + return air_powered_vertical_rc_track_vertical_slope_up; + case TRACK_ELEM_REVERSE_FREEFALL_VERTICAL: + return air_powered_vertical_rc_track_vertical_up; + case TRACK_ELEM_AIR_THRUST_TOP_CAP: + return air_powered_vertical_rc_track_vertical_top; + case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN: + return air_powered_vertical_rc_track_vertical_down; + case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL: + return air_powered_vertical_rc_track_vertical_slope_down; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/bobsleigh_coaster.c b/src/openrct2/ride/coaster/bobsleigh_coaster.c index c55b2d8280..32a5c8e76f 100644 --- a/src/openrct2/ride/coaster/bobsleigh_coaster.c +++ b/src/openrct2/ride/coaster/bobsleigh_coaster.c @@ -29,2311 +29,2311 @@ /** rct2: 0x006FE5B4 */ static void bobsleigh_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14576, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14578, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14577, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14579, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14572, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14574, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14573, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14575, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14576, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14578, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14577, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14579, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14572, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14574, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14573, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14575, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void bobsleigh_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { 14580, SPR_STATION_BASE_B_SW_NE }, - { 14581, SPR_STATION_BASE_B_NW_SE }, - { 14580, SPR_STATION_BASE_B_SW_NE }, - { 14581, SPR_STATION_BASE_B_NW_SE }, - }; + static const uint32 imageIds[4][2] = { + { 14580, SPR_STATION_BASE_B_SW_NE }, + { 14581, SPR_STATION_BASE_B_NW_SE }, + { 14580, SPR_STATION_BASE_B_SW_NE }, + { 14581, SPR_STATION_BASE_B_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - sub_98196C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + sub_98196C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006FE5C4 */ static void bobsleigh_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14634, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14638, 0, 0, 32, 1, 50, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14635, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14639, 0, 0, 32, 1, 50, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14636, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14640, 0, 0, 32, 1, 50, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14637, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14641, 0, 0, 32, 1, 50, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14610, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14614, 0, 0, 32, 1, 50, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14611, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14615, 0, 0, 32, 1, 50, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14612, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14616, 0, 0, 32, 1, 50, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14613, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14617, 0, 0, 32, 1, 50, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14634, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14638, 0, 0, 32, 1, 50, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14635, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14639, 0, 0, 32, 1, 50, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14636, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14640, 0, 0, 32, 1, 50, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14637, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14641, 0, 0, 32, 1, 50, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14610, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14614, 0, 0, 32, 1, 50, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14611, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14615, 0, 0, 32, 1, 50, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14612, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14616, 0, 0, 32, 1, 50, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14613, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14617, 0, 0, 32, 1, 50, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x006FE5D4 */ static void bobsleigh_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14618, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14622, 0, 0, 32, 1, 42, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14619, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14623, 0, 0, 32, 1, 42, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14620, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14624, 0, 0, 32, 1, 42, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14621, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14625, 0, 0, 32, 1, 42, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14594, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14598, 0, 0, 32, 1, 42, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14595, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14599, 0, 0, 32, 1, 42, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14596, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14600, 0, 0, 32, 1, 42, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14597, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14601, 0, 0, 32, 1, 42, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14618, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14622, 0, 0, 32, 1, 42, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14619, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14623, 0, 0, 32, 1, 42, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14620, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14624, 0, 0, 32, 1, 42, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14621, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14625, 0, 0, 32, 1, 42, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14594, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14598, 0, 0, 32, 1, 42, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14595, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14599, 0, 0, 32, 1, 42, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14596, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14600, 0, 0, 32, 1, 42, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14597, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14601, 0, 0, 32, 1, 42, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x006FE5E4 */ static void bobsleigh_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14626, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14630, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14627, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14631, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14628, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14632, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14629, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14633, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14602, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14606, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14603, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14607, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14604, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14608, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14605, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14609, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14626, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14630, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14627, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14631, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14628, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14632, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14629, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14633, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14602, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14606, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14603, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14607, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14604, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14608, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14605, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14609, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x006FE5F4 */ static void bobsleigh_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bobsleigh_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + bobsleigh_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x006FE604 */ static void bobsleigh_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bobsleigh_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + bobsleigh_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x006FE614 */ static void bobsleigh_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bobsleigh_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + bobsleigh_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x006FE624 */ static void bobsleigh_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14707, 0, 2, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14727, 0, 2, 32, 20, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14712, 0, 2, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14732, 0, 2, 32, 20, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14717, 0, 2, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14737, 0, 2, 32, 20, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14702, 0, 2, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14722, 0, 2, 32, 20, 0, height, 0, 6, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14706, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14726, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14711, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14731, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14716, 0, 16, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14736, 0, 16, 32, 16, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14701, 0, 16, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14721, 0, 16, 32, 16, 0, height, 0, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14705, 0, 16, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14725, 0, 16, 16, 16, 0, height, 0, 16, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14710, 16, 16, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14730, 16, 16, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14715, 16, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14735, 16, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14700, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14720, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14704, 16, 0, 16, 34, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14724, 16, 0, 16, 34, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14709, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14729, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14714, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14734, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14699, 16, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14719, 16, 0, 16, 32, 0, height, 16, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14703, 2, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14723, 2, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14708, 2, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14728, 2, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14713, 2, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14733, 2, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14698, 2, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14718, 2, 0, 30, 32, 0, height, 6, 0, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14707, 0, 2, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14727, 0, 2, 32, 20, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14712, 0, 2, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14732, 0, 2, 32, 20, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14717, 0, 2, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14737, 0, 2, 32, 20, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14702, 0, 2, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14722, 0, 2, 32, 20, 0, height, 0, 6, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14706, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14726, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14711, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14731, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14716, 0, 16, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14736, 0, 16, 32, 16, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14701, 0, 16, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14721, 0, 16, 32, 16, 0, height, 0, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14705, 0, 16, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14725, 0, 16, 16, 16, 0, height, 0, 16, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14710, 16, 16, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14730, 16, 16, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14715, 16, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14735, 16, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14700, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14720, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14704, 16, 0, 16, 34, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14724, 16, 0, 16, 34, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14709, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14729, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14714, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14734, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14699, 16, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14719, 16, 0, 16, 32, 0, height, 16, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14703, 2, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14723, 2, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14708, 2, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14728, 2, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14713, 2, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14733, 2, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14698, 2, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14718, 2, 0, 30, 32, 0, height, 6, 0, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x006FE634 */ static void bobsleigh_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - bobsleigh_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + bobsleigh_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x006FE644 */ static void bobsleigh_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14642, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14646, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14643, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14647, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14644, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14648, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14645, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14649, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14642, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14646, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14643, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14647, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14644, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14648, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14645, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14649, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006FE654 */ static void bobsleigh_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14650, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14654, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14651, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14655, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14652, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14656, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14653, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14657, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14650, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14654, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14651, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14655, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14652, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14656, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14653, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14657, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006FE664 */ static void bobsleigh_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14652, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14656, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14653, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14657, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14650, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14654, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14651, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14655, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14652, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14656, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14653, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14657, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14650, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14654, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14651, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14655, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006FE674 */ static void bobsleigh_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14644, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14648, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14645, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14649, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14642, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14646, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14643, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14647, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14644, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14648, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14645, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14649, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14642, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14646, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14643, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14647, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006FE684 */ static void bobsleigh_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14747, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14767, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14752, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14772, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14757, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14777, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14742, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14762, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14746, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14766, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14751, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14771, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14756, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14776, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14741, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14761, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14745, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14765, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14750, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14770, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14755, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14775, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14740, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14760, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14744, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14764, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14749, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14769, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14754, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14774, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14739, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14759, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14743, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14763, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14748, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14768, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14753, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14773, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14738, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14758, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14747, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14767, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14752, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14772, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14757, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14777, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14742, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14762, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14746, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14766, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14751, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14771, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14756, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14776, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14741, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14761, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14745, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14765, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14750, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14770, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14755, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14775, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14740, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14760, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14744, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14764, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14749, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14769, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14754, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14774, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14739, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14759, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14743, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14763, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14748, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14768, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14753, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14773, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14738, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14758, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x006FE694 */ static void bobsleigh_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - bobsleigh_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + bobsleigh_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x006FE6A4 */ static void bobsleigh_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14674, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14678, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14675, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14679, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14676, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14680, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14677, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14681, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14674, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14678, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14675, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14679, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14676, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14680, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14677, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14681, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x006FE6B4 */ static void bobsleigh_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14682, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14686, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14683, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14687, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14684, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14688, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14685, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14689, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14682, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14686, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14683, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14687, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14684, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14688, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14685, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14689, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x006FE6C4 */ static void bobsleigh_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14658, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14662, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14659, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14663, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14660, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14664, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14661, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14665, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14658, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14662, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14659, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14663, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14660, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14664, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14661, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14665, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x006FE6D4 */ static void bobsleigh_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14666, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14670, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14667, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14671, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14668, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14672, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14669, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14673, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14666, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14670, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14667, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14671, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14668, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14672, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14669, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14673, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x006FE6E4 */ static void bobsleigh_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bobsleigh_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + bobsleigh_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x006FE6F4 */ static void bobsleigh_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bobsleigh_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + bobsleigh_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x006FE704 */ static void bobsleigh_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bobsleigh_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + bobsleigh_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x006FE714 */ static void bobsleigh_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bobsleigh_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + bobsleigh_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x006FE724 */ static void bobsleigh_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14690, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14694, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14691, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14695, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14692, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14696, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14693, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14697, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14690, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14694, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14691, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14695, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14692, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14696, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14693, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14697, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006FE734 */ static void bobsleigh_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bobsleigh_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + bobsleigh_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x006FE744 */ static void bobsleigh_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14826, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14842, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14830, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14846, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14829, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14845, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14833, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14849, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14827, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14843, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14831, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14847, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14828, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14844, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14832, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14848, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14828, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14844, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14832, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14848, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14827, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14843, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14831, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14847, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14829, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14845, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14833, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14849, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14826, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14842, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14830, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14846, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14826, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14842, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14830, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14846, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14829, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14845, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14833, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14849, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14827, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14843, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14831, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14847, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14828, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14844, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14832, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14848, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14828, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14844, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14832, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14848, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14827, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14843, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14831, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14847, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14829, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14845, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14833, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14849, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14826, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14842, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14830, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14846, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x006FE754 */ static void bobsleigh_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14834, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14850, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14838, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14854, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14837, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14853, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14841, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14857, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14835, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14851, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14839, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14855, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14836, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14852, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14840, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14856, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14836, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14852, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14840, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14856, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14835, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14851, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14839, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14855, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14837, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14853, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14841, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14857, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14834, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14850, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14838, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14854, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14834, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14850, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14838, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14854, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14837, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14853, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14841, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14857, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14835, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14851, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14839, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14855, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14836, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14852, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14840, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14856, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14836, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14852, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14840, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14856, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14835, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14851, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14839, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14855, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14837, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14853, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14841, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14857, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14834, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14850, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14838, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14854, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x006FE794 */ static void bobsleigh_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14783, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14795, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14786, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14798, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14789, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14801, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14780, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14792, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14782, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14794, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14785, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14797, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14788, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14800, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14779, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14791, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14781, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14793, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14784, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14796, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14787, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14799, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14778, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14790, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14783, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14795, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14786, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14798, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14789, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14801, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14780, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14792, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14782, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14794, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14785, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14797, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14788, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14800, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14779, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14791, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14781, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14793, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14784, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14796, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14787, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14799, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14778, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14790, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x006FE7A4 */ static void bobsleigh_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - bobsleigh_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + bobsleigh_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x006FE7B4 */ static void bobsleigh_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14807, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14819, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14810, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14822, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14813, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14825, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14804, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14816, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14806, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14818, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14809, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14821, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14812, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14824, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14803, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14815, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14805, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14817, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14808, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14820, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14811, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14823, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14802, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14814, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14807, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14819, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14810, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14822, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14813, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14825, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14804, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14816, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14806, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14818, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14809, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14821, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14812, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14824, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14803, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14815, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14805, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14817, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14808, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14820, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14811, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14823, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14802, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14814, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x006FE7C4 */ static void bobsleigh_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - bobsleigh_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + bobsleigh_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x006FE7D4 */ static void bobsleigh_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14887, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14899, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14890, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14902, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14893, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14905, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14884, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14896, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14886, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14898, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14889, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14901, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14892, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14904, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14883, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14895, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14885, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14897, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14888, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14900, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14891, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14903, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14882, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14894, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14884, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14896, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14887, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14899, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14890, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14902, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14893, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14905, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14883, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14895, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14886, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14898, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14889, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14901, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14892, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14904, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14882, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14894, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14885, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14897, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14888, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14900, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14891, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14903, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14887, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14899, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14890, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14902, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14893, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14905, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14884, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14896, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14886, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14898, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14889, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14901, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14892, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14904, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14883, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14895, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14885, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14897, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14888, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14900, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14891, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14903, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14882, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14894, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14884, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14896, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14887, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14899, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14890, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14902, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14893, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14905, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14883, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14895, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14886, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14898, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14889, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14901, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14892, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14904, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14882, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14894, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14885, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14897, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14888, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14900, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14891, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14903, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x006FE7E4 */ static void bobsleigh_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14858, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14870, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14861, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14873, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14864, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14876, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14867, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14879, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14859, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14871, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14862, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14874, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14865, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14877, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14868, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14880, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14860, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14872, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14863, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14875, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14866, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14878, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14869, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14881, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14861, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14873, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14864, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14876, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14867, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14879, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14858, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14870, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14862, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14874, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14865, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14877, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14868, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14880, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14859, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14871, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14863, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14875, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14866, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14878, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14869, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14881, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14860, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14872, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14858, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14870, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14861, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14873, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14864, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14876, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14867, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14879, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14859, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14871, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14862, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14874, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14865, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14877, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14868, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14880, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14860, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14872, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14863, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14875, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14866, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14878, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14869, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14881, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14861, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14873, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14864, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14876, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14867, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14879, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14858, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14870, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14862, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14874, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14865, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14877, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14868, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14880, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14859, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14871, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14863, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14875, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14866, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14878, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14869, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14881, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14860, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14872, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x006FE7F4 */ static void bobsleigh_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - bobsleigh_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + bobsleigh_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x006FE804 */ static void bobsleigh_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - bobsleigh_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + bobsleigh_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x006FE814 */ static void bobsleigh_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14955, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14975, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14960, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14980, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14965, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14985, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14950, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14970, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14954, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14974, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14959, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14979, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14964, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14984, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14949, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14969, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14953, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14973, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14958, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14978, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14963, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14983, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14948, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14968, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14952, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14972, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14957, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14977, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14962, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14982, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14947, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14967, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14951, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14971, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14956, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14976, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14961, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14981, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14946, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14966, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14950, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14970, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14955, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14975, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14960, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14980, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14965, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14985, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14949, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14969, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14954, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14974, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14959, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14979, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14964, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14984, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14948, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14968, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14953, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14973, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14958, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14978, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14963, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14983, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14947, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14967, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14952, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14972, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14957, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14977, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14962, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14982, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14946, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14966, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14951, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14971, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14956, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14976, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14961, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14981, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14955, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14975, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14960, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14980, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14965, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14985, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14950, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14970, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14954, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14974, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14959, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14979, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14964, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14984, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14949, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14969, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14953, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14973, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14958, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14978, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14963, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14983, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14948, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14968, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14952, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14972, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14957, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14977, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14962, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14982, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14947, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14967, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14951, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14971, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14956, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14976, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14961, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14981, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14946, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14966, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14950, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14970, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14955, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14975, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14960, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14980, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14965, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14985, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14949, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14969, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14954, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14974, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14959, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14979, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14964, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14984, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14948, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14968, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14953, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14973, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14958, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14978, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14963, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14983, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14947, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14967, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14952, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14972, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14957, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14977, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14962, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14982, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14946, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14966, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14951, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14971, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14956, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14976, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14961, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14981, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x006FE824 */ static void bobsleigh_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14906, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14926, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14911, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14931, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14916, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14936, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14921, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14941, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14907, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14927, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14912, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14932, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14917, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14937, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14922, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14942, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14908, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14928, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14913, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14933, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14918, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14938, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14923, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14943, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14909, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14929, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14914, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14934, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14919, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14939, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14924, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14944, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14910, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14930, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14915, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14935, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14920, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14940, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14925, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14945, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14911, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14931, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14916, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14936, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14921, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14941, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14906, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14926, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14912, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14932, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14917, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14937, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14922, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14942, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14907, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14927, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14913, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14933, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14918, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14938, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14923, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14943, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14908, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14928, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14914, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14934, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14919, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14939, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14924, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14944, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14909, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14929, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14915, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14935, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14920, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14940, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14925, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14945, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14910, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14930, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14906, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14926, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14911, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14931, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14916, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14936, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14921, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14941, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14907, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14927, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14912, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14932, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14917, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14937, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14922, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14942, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14908, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14928, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14913, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14933, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14918, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14938, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14923, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14943, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14909, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14929, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14914, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14934, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14919, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14939, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14924, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14944, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14910, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14930, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14915, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14935, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14920, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14940, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14925, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14945, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14911, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14931, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14916, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14936, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14921, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14941, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14906, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14926, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14912, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14932, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14917, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14937, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14922, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14942, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14907, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14927, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14913, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14933, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14918, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14938, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14923, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14943, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14908, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14928, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14914, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14934, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14919, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14939, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14924, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14944, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14909, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14929, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14915, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14935, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14920, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14940, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14925, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14945, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14910, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14930, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x006FE834 */ static void bobsleigh_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - bobsleigh_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + bobsleigh_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x006FE844 */ static void bobsleigh_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - bobsleigh_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + bobsleigh_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x006FE854 */ static void bobsleigh_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14582, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14584, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14583, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14585, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14582, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14584, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14583, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14585, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006FE864 */ static void bobsleigh_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14586, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14590, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14587, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14591, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14586, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14590, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14587, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 14591, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_bobsleigh_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return bobsleigh_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return bobsleigh_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return bobsleigh_rc_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return bobsleigh_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return bobsleigh_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return bobsleigh_rc_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return bobsleigh_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return bobsleigh_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return bobsleigh_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return bobsleigh_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return bobsleigh_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return bobsleigh_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return bobsleigh_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return bobsleigh_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return bobsleigh_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return bobsleigh_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return bobsleigh_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return bobsleigh_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return bobsleigh_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return bobsleigh_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return bobsleigh_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return bobsleigh_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return bobsleigh_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return bobsleigh_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return bobsleigh_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return bobsleigh_rc_track_right_bank; - case TRACK_ELEM_S_BEND_LEFT: - return bobsleigh_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return bobsleigh_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return bobsleigh_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return bobsleigh_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return bobsleigh_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return bobsleigh_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return bobsleigh_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return bobsleigh_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return bobsleigh_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return bobsleigh_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return bobsleigh_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return bobsleigh_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return bobsleigh_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return bobsleigh_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_BRAKES: - return bobsleigh_rc_track_brakes; - case TRACK_ELEM_BLOCK_BRAKES: - return bobsleigh_rc_track_block_brakes; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return bobsleigh_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return bobsleigh_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return bobsleigh_rc_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return bobsleigh_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return bobsleigh_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return bobsleigh_rc_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return bobsleigh_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return bobsleigh_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return bobsleigh_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return bobsleigh_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return bobsleigh_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return bobsleigh_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return bobsleigh_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return bobsleigh_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return bobsleigh_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return bobsleigh_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return bobsleigh_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return bobsleigh_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return bobsleigh_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return bobsleigh_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return bobsleigh_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return bobsleigh_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return bobsleigh_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return bobsleigh_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return bobsleigh_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return bobsleigh_rc_track_right_bank; + case TRACK_ELEM_S_BEND_LEFT: + return bobsleigh_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return bobsleigh_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return bobsleigh_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return bobsleigh_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return bobsleigh_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return bobsleigh_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return bobsleigh_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return bobsleigh_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return bobsleigh_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return bobsleigh_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return bobsleigh_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return bobsleigh_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return bobsleigh_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return bobsleigh_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_BRAKES: + return bobsleigh_rc_track_brakes; + case TRACK_ELEM_BLOCK_BRAKES: + return bobsleigh_rc_track_block_brakes; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/bolliger_mabillard_track.c b/src/openrct2/ride/coaster/bolliger_mabillard_track.c index c5e493cdb6..a5a096213c 100644 --- a/src/openrct2/ride/coaster/bolliger_mabillard_track.c +++ b/src/openrct2/ride/coaster/bolliger_mabillard_track.c @@ -29,8153 +29,8153 @@ void bolliger_mabillard_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17486, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17487, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17488, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17489, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17146, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17147, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17486, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17487, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17488, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17489, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17146, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17147, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } void bolliger_mabillard_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - static const uint32 imageIds[4][3] = { - { 17154, 17150, SPR_STATION_BASE_A_SW_NE }, - { 17155, 17151, SPR_STATION_BASE_A_NW_SE }, - { 17154, 17150, SPR_STATION_BASE_A_SW_NE }, - { 17155, 17151, SPR_STATION_BASE_A_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { 17154, 17150, SPR_STATION_BASE_A_SW_NE }, + { 17155, 17151, SPR_STATION_BASE_A_NW_SE }, + { 17154, 17150, SPR_STATION_BASE_A_SW_NE }, + { 17155, 17151, SPR_STATION_BASE_A_NW_SE }, + }; - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } else { - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } - sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], supportType); + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } else { + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } + sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], supportType); - rct_ride * ride = get_ride(rideIndex); - track_paint_util_draw_station_platform(ride, direction, height, 9, mapElement); + rct_ride * ride = get_ride(rideIndex); + track_paint_util_draw_station_platform(ride, direction, height, 9, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } void bolliger_mabillard_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17498, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17499, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17500, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17501, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17204, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17205, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17206, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17207, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17498, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17499, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17500, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17501, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17204, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17205, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17206, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17207, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void bolliger_mabillard_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17514, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17515, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17516, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17517, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17220, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17221, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17222, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17223, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17514, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17515, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17516, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17517, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17220, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17221, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17222, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17223, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } void bolliger_mabillard_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17490, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17491, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17492, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17493, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17196, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17197, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17198, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17199, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17490, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17491, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17492, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17493, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17196, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17197, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17198, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17199, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } void bolliger_mabillard_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17502, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17503, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17506, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17504, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17507, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17505, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17208, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17209, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17212, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17210, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17213, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17211, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17502, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17503, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17506, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17504, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17507, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17505, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17208, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17209, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17212, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17210, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17213, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17211, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } void bolliger_mabillard_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17508, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17509, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17512, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17510, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17513, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17511, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17214, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17215, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17218, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17216, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17219, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17217, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17508, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17509, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17512, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17510, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17513, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17511, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17214, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17215, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17218, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17216, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17219, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17217, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } void bolliger_mabillard_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17494, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17495, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17496, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17497, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17200, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17201, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17202, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17203, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17494, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17495, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17496, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17497, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17200, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17201, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17202, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17203, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } void bolliger_mabillard_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17259, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17264, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17269, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17254, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17258, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17263, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17268, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17253, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17257, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17262, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17267, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17252, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17256, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17261, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17266, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17251, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17255, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17260, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17265, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17250, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17259, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17264, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17269, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17254, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17258, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17263, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17268, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17253, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17257, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17262, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17267, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17252, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17256, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17261, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17266, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17251, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17255, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17260, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17265, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17250, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - bolliger_mabillard_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + bolliger_mabillard_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17156, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17164, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17157, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17165, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17158, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17159, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17156, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17164, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17157, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17165, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17158, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17159, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } void bolliger_mabillard_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17160, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17161, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17162, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17166, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17163, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17167, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17160, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17161, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17162, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17166, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17163, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17167, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } void bolliger_mabillard_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17162, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17166, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17163, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17167, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17160, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17161, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17162, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17166, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17163, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17167, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17160, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17161, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } void bolliger_mabillard_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17158, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17159, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17156, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17164, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17157, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17165, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17158, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17159, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17156, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17164, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17157, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17165, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } void bolliger_mabillard_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17279, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17290, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17284, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17289, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17274, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17278, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17283, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - metal_a_supports_paint_setup(supportType, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17288, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17273, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17277, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17282, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17287, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17272, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17276, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17281, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17286, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17271, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17275, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17280, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17285, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17291, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17270, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17279, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17290, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17284, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17289, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17274, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17278, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17283, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + metal_a_supports_paint_setup(supportType, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17288, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17273, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17277, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17282, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17287, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17272, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17276, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17281, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17286, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17271, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17275, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17280, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17285, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17291, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17270, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - bolliger_mabillard_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + bolliger_mabillard_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17168, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17172, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17169, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17173, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17170, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17171, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17168, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17172, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17169, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17173, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17170, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17171, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } void bolliger_mabillard_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17174, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17175, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17176, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17178, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17177, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17179, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17174, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17175, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17176, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17178, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17177, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17179, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } void bolliger_mabillard_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17180, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17184, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17181, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17185, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17182, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17183, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17180, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17184, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17181, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17185, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17182, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17183, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } void bolliger_mabillard_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17186, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17187, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17188, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17190, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17189, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17191, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17186, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17187, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17188, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17190, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17189, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17191, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } void bolliger_mabillard_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17192, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17193, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17194, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17195, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17192, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17193, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17194, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17195, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } void bolliger_mabillard_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17344, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17349, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17354, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17359, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17345, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17350, 0, 0, 32, 16, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17355, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17360, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17346, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17351, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17356, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17361, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17347, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17352, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17357, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17362, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17348, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17353, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17358, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17363, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17344, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17349, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17354, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17359, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17345, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17350, 0, 0, 32, 16, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17355, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17360, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17346, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17351, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17356, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17361, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17347, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17352, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17357, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17362, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17348, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17353, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17358, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17363, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17324, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17329, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17334, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17339, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17325, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17330, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17335, 0, 0, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17340, 0, 0, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17326, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17331, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17336, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17341, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17327, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17332, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17337, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17342, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17328, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17333, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17338, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17343, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17324, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17329, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17334, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17339, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17325, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17330, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17335, 0, 0, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17340, 0, 0, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17326, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17331, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17336, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17341, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17327, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17332, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17337, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17342, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17328, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17333, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17338, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17343, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - bolliger_mabillard_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + bolliger_mabillard_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - bolliger_mabillard_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + bolliger_mabillard_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17308, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17312, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17311, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17315, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17309, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17313, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17310, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17314, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17310, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17314, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17309, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17313, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17311, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17315, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17308, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17312, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17308, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17312, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17311, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17315, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17309, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17313, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17310, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17314, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17310, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17314, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17309, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17313, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17311, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17315, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17308, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17312, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17316, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17320, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17319, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17323, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17317, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(supportType, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17321, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(supportType, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17318, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17322, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17318, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17322, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17317, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(supportType, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17321, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(supportType, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17319, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17323, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17316, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17320, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17316, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17320, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17319, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17323, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17317, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(supportType, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17321, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(supportType, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17318, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17322, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17318, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17322, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17317, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(supportType, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17321, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(supportType, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17319, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17323, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17316, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17320, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_left_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17594, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17602, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17601, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17609, 0, 6, 32, 20, 7, height); - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17595, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17603, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(supportType, 4, 11, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17600, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17608, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17596, 16, 0, 3, 16, 119, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17604, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17599, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17607, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17597, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17605, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17598, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17606, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17598, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17606, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17597, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17605, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17599, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17607, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17596, 16, 0, 3, 16, 119, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17604, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17600, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17608, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17595, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17603, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(supportType, 4, 11, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17601, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17609, 0, 6, 32, 20, 7, height); - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17594, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17602, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_7); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_7); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17594, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17602, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17601, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17609, 0, 6, 32, 20, 7, height); + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17595, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17603, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(supportType, 4, 11, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17600, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17608, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17596, 16, 0, 3, 16, 119, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17604, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17599, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17607, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17597, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17605, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17598, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17606, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17598, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17606, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17597, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17605, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17599, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17607, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17596, 16, 0, 3, 16, 119, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17604, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17600, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17608, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17595, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17603, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(supportType, 4, 11, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17601, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17609, 0, 6, 32, 20, 7, height); + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17594, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17602, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_7); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_7); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } void bolliger_mabillard_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17625, 0, 6, 32, 20, 7, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17617, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17618, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17610, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17624, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17616, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17619, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(supportType, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17611, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17623, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17615, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17620, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17612, 16, 0, 2, 16, 119, height, 16, 0, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17622, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17614, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17621, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17613, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17621, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17613, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17622, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17614, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17620, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17612, 16, 0, 2, 16, 119, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17623, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17615, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17619, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(supportType, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17611, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17624, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17616, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17618, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17610, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17625, 0, 6, 32, 20, 7, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17617, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_7); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_7); - break; - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17625, 0, 6, 32, 20, 7, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17617, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17618, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17610, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17624, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17616, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17619, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(supportType, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17611, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17623, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17615, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17620, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17612, 16, 0, 2, 16, 119, height, 16, 0, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17622, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17614, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17621, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17613, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17621, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17613, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17622, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17614, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17620, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17612, 16, 0, 2, 16, 119, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17623, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17615, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17619, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(supportType, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17611, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17624, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17616, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17618, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17610, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17625, 0, 6, 32, 20, 7, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17617, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_7); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_7); + break; + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } - track_paint_util_right_vertical_loop_segments(direction, trackSequence); + track_paint_util_right_vertical_loop_segments(direction, trackSequence); } void bolliger_mabillard_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17229, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17232, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17235, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17226, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17228, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17231, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17234, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17225, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17227, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17230, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17233, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17224, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17229, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17232, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17235, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17226, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17228, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17231, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17234, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17225, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17227, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17230, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17233, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17224, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - bolliger_mabillard_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + bolliger_mabillard_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17241, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17248, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17244, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17247, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17238, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17240, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17243, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17246, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17237, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17239, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17242, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17245, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17249, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17236, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17241, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17248, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17244, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17247, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17238, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17240, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17243, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17246, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17237, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17239, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17242, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17245, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17249, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17236, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - bolliger_mabillard_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + bolliger_mabillard_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17375, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17377, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17379, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17373, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17374, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17376, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17378, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17372, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17375, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17377, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17379, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17373, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17374, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17376, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17378, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17372, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17364, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17366, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17368, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17370, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17365, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17367, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17369, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(supportType, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17371, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17364, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17366, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17368, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17370, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17365, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17367, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17369, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(supportType, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17371, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - bolliger_mabillard_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + bolliger_mabillard_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - bolliger_mabillard_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + bolliger_mabillard_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17399, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17406, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17402, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17405, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17396, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17398, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17401, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17404, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17395, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17397, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17400, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17403, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17407, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17394, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17396, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17399, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17406, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17402, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17405, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17395, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17398, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17401, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17404, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17394, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17397, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17400, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17403, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17407, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17399, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17406, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17402, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17405, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17396, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17398, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17401, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17404, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17395, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17397, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17400, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17403, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17407, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17394, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17396, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17399, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17406, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17402, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17405, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17395, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17398, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17401, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17404, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17394, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17397, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17400, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17403, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17407, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17380, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17383, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17386, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17389, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17393, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17381, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17384, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17387, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17390, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17382, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17385, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17392, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17388, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17391, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17383, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17386, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17389, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17393, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17380, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17384, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17387, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17390, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17381, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17385, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17392, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17388, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17391, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17382, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17380, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17383, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17386, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17389, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17393, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17381, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17384, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17387, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17390, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17382, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17385, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17392, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17388, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17391, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17383, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17386, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17389, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17393, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17380, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17384, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17387, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17390, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17381, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17385, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17392, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17388, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17391, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17382, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - bolliger_mabillard_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + bolliger_mabillard_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - bolliger_mabillard_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + bolliger_mabillard_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17439, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17450, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17444, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17449, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17434, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17438, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17443, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17448, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17433, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17437, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17442, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17447, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17432, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17436, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17441, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17446, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17431, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17435, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17440, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17445, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17451, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17430, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17434, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17439, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17450, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17444, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17449, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17433, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17438, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17443, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17448, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17432, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17437, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17442, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17447, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17431, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17436, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17441, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17446, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17430, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17435, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17440, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17445, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17451, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17439, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17450, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17444, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17449, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17434, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17438, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17443, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17448, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17433, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17437, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17442, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17447, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17432, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17436, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17441, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17446, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17431, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17435, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17440, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17445, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17451, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17430, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17434, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17439, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17450, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17444, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17449, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17433, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17438, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17443, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17448, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17432, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17437, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17442, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17447, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17431, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17436, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17441, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17446, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17430, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17435, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17440, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17445, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17451, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17408, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17413, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17418, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17423, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17429, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17409, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17414, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17419, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17424, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17410, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17415, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17420, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17425, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17411, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17416, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17421, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17426, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17412, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17417, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17428, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17422, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17427, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17413, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17418, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17423, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17429, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17408, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17414, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17419, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17424, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17409, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17415, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17420, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17425, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17410, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17416, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17421, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17426, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17411, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17417, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17428, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17422, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17427, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17412, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17408, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17413, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17418, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17423, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17429, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17409, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17414, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17419, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17424, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17410, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17415, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17420, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17425, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17411, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17416, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17421, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17426, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17412, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17417, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17428, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17422, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17427, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17413, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17418, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17423, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17429, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17408, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17414, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17419, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17424, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17409, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17415, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17420, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17425, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17410, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17416, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17421, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17426, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17411, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17417, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17428, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17422, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17427, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17412, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - bolliger_mabillard_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + bolliger_mabillard_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - bolliger_mabillard_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + bolliger_mabillard_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17301, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17305, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17302, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17306, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17303, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17307, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17300, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17304, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17301, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17305, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17302, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17306, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17303, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17307, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17300, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17304, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } void bolliger_mabillard_track_right_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17292, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17296, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17293, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17297, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17294, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17298, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17295, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17299, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17292, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17296, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17293, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17297, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17294, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17298, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17295, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17299, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } void bolliger_mabillard_track_left_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); + bolliger_mabillard_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); + bolliger_mabillard_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17148, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17149, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17148, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17149, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } void bolliger_mabillard_track_25_deg_up_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17914, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17915, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17916, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17917, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17914, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17915, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17916, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17917, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void bolliger_mabillard_track_25_deg_up_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17918, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17919, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17920, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17921, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17918, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17919, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17920, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17921, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void bolliger_mabillard_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(supportType, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(supportType, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17146, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(supportType, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(supportType, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17147, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(supportType, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(supportType, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17146, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(supportType, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(supportType, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17147, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(supportType, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(supportType, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17146, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(supportType, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(supportType, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17147, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(supportType, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(supportType, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17146, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(supportType, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(supportType, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17147, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } void bolliger_mabillard_track_25_deg_down_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_25_deg_down_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17526, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17527, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17528, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17529, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - } - paint_util_set_vertical_tunnel(height + 32); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17526, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17527, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17528, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17529, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + } + paint_util_set_vertical_tunnel(height + 32); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + break; + } } void bolliger_mabillard_track_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_60_deg_up_to_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17518, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17519, 0, 0, 2, 20, 55, height, 24, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17520, 0, 0, 2, 20, 55, height, 24, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17521, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_vertical_tunnel(height + 56); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17518, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17519, 0, 0, 2, 20, 55, height, 24, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17520, 0, 0, 2, 20, 55, height, 24, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17521, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_vertical_tunnel(height + 56); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + break; + } } void bolliger_mabillard_track_90_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_90_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17522, 0, 0, 32, 20, 3, height, 0, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17523, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17524, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17525, 0, 0, 32, 20, 3, height, 0, 6, height + 8); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 48, TUNNEL_8); - break; - case 2: - paint_util_push_tunnel_left(height + 48, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17522, 0, 0, 32, 20, 3, height, 0, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17523, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17524, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17525, 0, 0, 32, 20, 3, height, 0, 6, height + 8); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 48, TUNNEL_8); + break; + case 2: + paint_util_push_tunnel_left(height + 48, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); } void bolliger_mabillard_track_60_deg_down_to_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17524, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17525, 0, 0, 32, 20, 3, height, 0, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17522, 0, 0, 32, 20, 3, height, 0, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17523, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17524, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17525, 0, 0, 32, 20, 3, height, 0, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17522, 0, 0, 32, 20, 3, height, 0, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17523, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 1: + break; + } } void bolliger_mabillard_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17546, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17550, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17554, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17558, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17547, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17551, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17555, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17559, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17548, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17552, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17556, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17560, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17549, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17553, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17557, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17561, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17546, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17550, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17554, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17558, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17547, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17551, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17555, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17559, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17548, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17552, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17556, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17560, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17549, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17553, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17557, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17561, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17530, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17534, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17538, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17542, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17531, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17535, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17539, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17543, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17532, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17536, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17540, 0, 0, 28, 28, 3, height, 4, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17544, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17533, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17537, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17541, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17545, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17530, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17534, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17538, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17542, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17531, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17535, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17539, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17543, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17532, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17536, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17540, 0, 0, 28, 28, 3, height, 4, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17544, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17533, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17537, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17541, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17545, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - bolliger_mabillard_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + bolliger_mabillard_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - bolliger_mabillard_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement, supportType); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + bolliger_mabillard_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17578, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17582, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17586, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17590, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17579, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17583, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17587, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17591, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17580, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17584, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17588, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17592, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17581, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17585, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17589, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17593, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17578, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17582, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17586, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17590, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17579, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17583, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17587, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17591, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17580, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17584, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17588, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17592, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17581, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17585, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17589, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17593, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17562, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17566, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17570, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17574, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17563, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17567, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17571, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17575, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17564, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17568, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17572, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17576, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17565, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17569, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17573, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17577, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17562, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17566, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17570, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17574, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17563, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17567, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17571, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17575, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17564, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17568, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17572, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17576, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17565, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17569, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17573, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17577, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - bolliger_mabillard_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + bolliger_mabillard_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - bolliger_mabillard_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement, supportType); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + bolliger_mabillard_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17861, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17791, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17858, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17788, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17860, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17790, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17859, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17789, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17861, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17791, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17858, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17788, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17860, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17790, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17859, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17789, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17873, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17803, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17870, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17800, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17872, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17802, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17871, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17801, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17873, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17803, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17870, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17800, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17872, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17802, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17871, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17801, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } void bolliger_mabillard_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17885, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17815, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17882, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17812, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17884, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17814, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17883, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17813, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17885, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17815, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17882, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17812, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17884, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17814, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17883, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17813, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } void bolliger_mabillard_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17865, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17795, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17862, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17792, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17864, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17794, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17863, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17793, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17865, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17795, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17862, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17792, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17864, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17794, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17863, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17793, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } void bolliger_mabillard_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17877, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17807, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17874, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17804, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17876, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17806, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17875, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17805, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17877, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17807, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17874, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17804, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17876, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17806, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17875, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17805, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17881, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17811, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17878, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17808, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17880, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17810, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17879, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(supportType, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17809, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(supportType, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17881, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17811, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17878, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17808, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17880, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17810, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17879, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(supportType, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17809, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(supportType, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17869, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17799, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17866, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17796, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17868, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17798, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17867, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17797, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17869, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17799, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17866, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17796, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17868, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17798, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17867, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17797, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } void bolliger_mabillard_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17871, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17801, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17872, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17802, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17870, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17800, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17873, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17803, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17871, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17801, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17872, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17802, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17870, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17800, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17873, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17803, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } void bolliger_mabillard_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17883, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17813, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17884, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17814, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17882, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17812, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17885, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17815, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17883, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17813, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17884, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17814, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17882, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17812, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17885, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17815, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } void bolliger_mabillard_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17867, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17797, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17868, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17798, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17866, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17796, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17869, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17799, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17867, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17797, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17868, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17798, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17866, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17796, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17869, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17799, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } void bolliger_mabillard_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17879, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17809, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17880, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17810, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17878, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17808, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17881, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17811, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17879, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17809, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17880, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17810, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17878, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17808, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17881, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17811, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17875, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17805, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17876, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17806, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17874, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17804, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17877, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17807, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17875, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17805, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17876, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17806, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17874, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17804, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17877, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17807, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17863, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17793, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17864, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17794, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17862, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17792, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17865, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17795, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17863, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17793, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17864, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17794, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17862, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17792, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17865, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17795, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } void bolliger_mabillard_track_diag_flat_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17889, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17819, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17886, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17816, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17888, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17818, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17887, -16, -16, 32, 32, 4, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17817, -16, -16, 32, 32, 4, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17889, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17819, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17886, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17816, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17888, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17818, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17887, -16, -16, 32, 32, 4, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17817, -16, -16, 32, 32, 4, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } void bolliger_mabillard_track_diag_60_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17893, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17823, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17890, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17820, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17892, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17822, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17891, -16, -16, 32, 32, 4, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17821, -16, -16, 32, 32, 4, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17893, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17823, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17890, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17820, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17892, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17822, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17891, -16, -16, 32, 32, 4, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17821, -16, -16, 32, 32, 4, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_diag_flat_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17891, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17821, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17892, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17822, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17890, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17820, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17893, -16, -16, 32, 32, 4, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17823, -16, -16, 32, 32, 4, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17891, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17821, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17892, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17822, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17890, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17820, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17893, -16, -16, 32, 32, 4, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17823, -16, -16, 32, 32, 4, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_diag_60_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17887, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17817, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17888, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17818, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17886, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17816, -16, -16, 32, 32, 4, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17889, -16, -16, 32, 32, 4, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17819, -16, -16, 32, 32, 4, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17887, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17817, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17888, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17818, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17886, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17816, -16, -16, 32, 32, 4, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17889, -16, -16, 32, 32, 4, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17819, -16, -16, 32, 32, 4, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } void bolliger_mabillard_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17831, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17828, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17832, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17830, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17829, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17831, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17828, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17832, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17830, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17829, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17836, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17833, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17835, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17837, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17834, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17836, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17833, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17835, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17837, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17834, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17834, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17835, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17837, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17833, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17836, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17834, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17835, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17837, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17833, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17836, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17829, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17830, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17828, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17832, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17831, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17829, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17830, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17828, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17832, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17831, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17851, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17848, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17852, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17850, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17849, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17851, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17848, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17852, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17850, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17849, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } void bolliger_mabillard_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17856, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17853, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17855, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17854, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17856, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17853, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17855, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17854, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } void bolliger_mabillard_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17841, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17838, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17842, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17840, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17839, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17841, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17838, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17842, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17840, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17839, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } void bolliger_mabillard_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17846, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17843, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17845, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17847, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17844, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17846, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17843, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17845, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17847, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17844, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } void bolliger_mabillard_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17844, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17845, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17847, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17843, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17846, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17844, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17845, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17847, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17843, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17846, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } void bolliger_mabillard_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17839, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17840, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17838, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17842, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17841, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17839, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17840, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17838, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17842, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17841, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } void bolliger_mabillard_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17854, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17855, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17853, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17856, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17854, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17855, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17853, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17856, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } void bolliger_mabillard_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17849, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17850, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17848, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17852, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17851, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17849, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17850, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17848, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17852, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17851, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } void bolliger_mabillard_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17827, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17824, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17826, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17825, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17827, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17824, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17826, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17825, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17825, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17826, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17824, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17827, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17825, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17826, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17824, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(supportType, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17827, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(supportType, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(supportType, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(supportType, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } void bolliger_mabillard_track_left_bank_to_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17725, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17727, 0, 6, 32, 20, 3, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17731, 0, 6, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17729, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17723, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17724, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17726, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17728, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17722, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17725, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17727, 0, 6, 32, 20, 3, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17731, 0, 6, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17729, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17723, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17724, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17726, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17728, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17722, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } void bolliger_mabillard_track_right_bank_to_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17714, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17716, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17718, 0, 6, 32, 20, 3, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17730, 0, 6, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17720, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17715, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17717, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17719, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(supportType, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17721, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17714, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17716, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17718, 0, 6, 32, 20, 3, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17730, 0, 6, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17720, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17715, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17717, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17719, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(supportType, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17721, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } void bolliger_mabillard_track_left_quarter_turn_3_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17717, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17719, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(supportType, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17721, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17715, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17716, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17718, 6, 0, 20, 32, 3, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17730, 6, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17720, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17714, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17717, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17719, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(supportType, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17721, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17715, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17716, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17718, 6, 0, 20, 32, 3, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17730, 6, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17720, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17714, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } void bolliger_mabillard_track_right_quarter_turn_3_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17722, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17724, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17726, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17728, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17723, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17725, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17727, 6, 0, 20, 32, 3, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17731, 6, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17729, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17722, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17724, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17726, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17728, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17723, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17725, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17727, 6, 0, 20, 32, 3, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17731, 6, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17729, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } void bolliger_mabillard_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17150, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17151, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17150, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17151, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } void bolliger_mabillard_track_left_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18025, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18027, 0, 6, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18029, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18023, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18024, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18026, 6, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18028, 6, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18022, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18025, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18027, 0, 6, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18029, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18023, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18024, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18026, 6, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18028, 6, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18022, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_right_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18014, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18016, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18018, 0, 6, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18020, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18015, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18017, 6, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18019, 6, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(supportType, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18021, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18014, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18016, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18018, 0, 6, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18020, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18015, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18017, 6, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18019, 6, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(supportType, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18021, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_left_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - bolliger_mabillard_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + bolliger_mabillard_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - bolliger_mabillard_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + bolliger_mabillard_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17978, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17983, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17988, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17993, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17979, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17984, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17989, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17994, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17980, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17985, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17990, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17995, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17981, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17986, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17991, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17996, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17982, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17987, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17992, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17997, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17978, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17983, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17988, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17993, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17979, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17984, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17989, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17994, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17980, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17985, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17990, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17995, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17981, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17986, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17991, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17996, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17982, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17987, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17992, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17997, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_right_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17958, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17963, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17968, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17973, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17959, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17964, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17969, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17974, 0, 0, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17960, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17965, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17970, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17975, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17961, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17966, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17971, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17976, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17962, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17967, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17972, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17977, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17958, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17963, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17968, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17973, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17959, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17964, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17969, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17974, 0, 0, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17960, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17965, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17970, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17975, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17961, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17966, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17971, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17976, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17962, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17967, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17972, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17977, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } void bolliger_mabillard_track_left_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - bolliger_mabillard_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + bolliger_mabillard_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - bolliger_mabillard_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + bolliger_mabillard_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_25_deg_up_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17922, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17923, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17930, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17924, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17925, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17922, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17923, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17930, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17924, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17925, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void bolliger_mabillard_track_25_deg_up_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17926, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17927, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17928, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17931, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17929, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17926, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17927, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17928, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17931, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17929, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void bolliger_mabillard_track_left_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17932, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17933, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17940, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17934, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17935, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17932, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17933, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17940, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17934, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17935, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void bolliger_mabillard_track_right_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17936, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17937, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17938, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17941, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17939, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17936, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17937, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17938, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17941, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17939, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void bolliger_mabillard_track_25_deg_down_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_25_deg_down_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_banked_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17942, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17943, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17944, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17945, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17942, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17943, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17944, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17945, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } void bolliger_mabillard_track_right_banked_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17946, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17947, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17948, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17949, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17946, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17947, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17948, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17949, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } void bolliger_mabillard_track_left_banked_25_deg_up_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17950, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17951, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17952, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17953, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17950, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17951, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17952, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17953, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } void bolliger_mabillard_track_right_banked_25_deg_up_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17954, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17955, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17956, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17957, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17954, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17955, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17956, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17957, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } void bolliger_mabillard_track_left_banked_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_banked_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_banked_25_deg_down_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_banked_25_deg_down_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17894, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17895, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17902, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17896, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17897, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17894, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17895, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17902, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17896, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17897, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } void bolliger_mabillard_track_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17898, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17899, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17900, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17903, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17901, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17898, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17899, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17900, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17903, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17901, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } void bolliger_mabillard_track_left_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17904, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17905, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17912, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17906, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17907, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17904, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17905, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17912, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17906, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17907, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } void bolliger_mabillard_track_right_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17908, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17909, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17910, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17913, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17911, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17908, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17909, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17910, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17913, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17911, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } void bolliger_mabillard_track_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_quarter_turn_1_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17998, 0, 0, 2, 20, 63, height, 4, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17999, 0, 0, 2, 20, 63, height, 4, 6, height + 8); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18007, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18008, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18001, 0, 0, 2, 20, 63, height, 4, 6, height + 8); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18009, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - } - paint_util_set_vertical_tunnel(height + 96); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 96, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17998, 0, 0, 2, 20, 63, height, 4, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17999, 0, 0, 2, 20, 63, height, 4, 6, height + 8); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18007, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18008, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18001, 0, 0, 2, 20, 63, height, 4, 6, height + 8); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18009, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + } + paint_util_set_vertical_tunnel(height + 96); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 96, 0x20); + break; + case 1: + break; + } } void bolliger_mabillard_track_right_quarter_turn_1_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18002, 0, 0, 2, 20, 63, height, 4, 6, height + 8); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18010, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18011, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18004, 0, 0, 2, 20, 63, height, 4, 6, height + 8); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18012, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18005, 0, 0, 2, 20, 63, height, 4, 6, height + 8); - break; - } - paint_util_set_vertical_tunnel(height + 96); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 96, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18002, 0, 0, 2, 20, 63, height, 4, 6, height + 8); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18010, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18011, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18004, 0, 0, 2, 20, 63, height, 4, 6, height + 8); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18012, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18005, 0, 0, 2, 20, 63, height, 4, 6, height + 8); + break; + } + paint_util_set_vertical_tunnel(height + 96); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 96, 0x20); + break; + case 1: + break; + } } void bolliger_mabillard_track_left_quarter_turn_1_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_right_quarter_turn_1_90_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); + bolliger_mabillard_track_right_quarter_turn_1_90_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_quarter_turn_1_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_left_quarter_turn_1_90_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); + bolliger_mabillard_track_left_quarter_turn_1_90_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement, supportType); } /* The following track elements used to be specific to the Vertical Roller Coaster */ void bolliger_mabillard_track_flat_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17464, 0, 0, 32, 27, 4, height, 0, 2, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17465, 0, 0, 1, 24, 43, height, 29, 4, height + 2); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17468, 0, 0, 32, 2, 43, height, 0, 4, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17466, 0, 0, 1, 24, 43, height, 29, 4, height + 2); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17469, 0, 0, 32, 2, 43, height, 0, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17467, 0, 0, 32, 27, 4, height, 0, 2, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17452, 0, 0, 32, 27, 4, height, 0, 2, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17453, 0, 0, 1, 24, 43, height, 29, 4, height + 2); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17456, 0, 0, 32, 2, 43, height, 0, 4, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17454, 0, 0, 1, 24, 43, height, 29, 4, height + 2); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17457, 0, 0, 32, 2, 43, height, 0, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17455, 0, 0, 32, 27, 4, height, 0, 2, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17464, 0, 0, 32, 27, 4, height, 0, 2, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17465, 0, 0, 1, 24, 43, height, 29, 4, height + 2); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17468, 0, 0, 32, 2, 43, height, 0, 4, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17466, 0, 0, 1, 24, 43, height, 29, 4, height + 2); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17469, 0, 0, 32, 2, 43, height, 0, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17467, 0, 0, 32, 27, 4, height, 0, 2, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17452, 0, 0, 32, 27, 4, height, 0, 2, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17453, 0, 0, 1, 24, 43, height, 29, 4, height + 2); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17456, 0, 0, 32, 2, 43, height, 0, 4, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17454, 0, 0, 1, 24, 43, height, 29, 4, height + 2); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17457, 0, 0, 32, 2, 43, height, 0, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17455, 0, 0, 32, 27, 4, height, 0, 2, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); } void bolliger_mabillard_track_60_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17470, 0, 0, 32, 27, 4, height, 0, 2, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17471, 0, 0, 1, 24, 43, height, 29, 4, height + 2); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17474, 0, 0, 32, 2, 43, height, 0, 4, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17472, 0, 0, 1, 24, 43, height, 29, 4, height + 2); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17475, 0, 0, 32, 2, 43, height, 0, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17473, 0, 0, 32, 27, 4, height, 0, 2, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17458, 0, 0, 32, 27, 4, height, 0, 2, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17459, 0, 0, 1, 24, 43, height, 29, 4, height + 2); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17462, 0, 0, 32, 2, 43, height, 0, 4, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17460, 0, 0, 1, 24, 43, height, 29, 4, height + 2); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17463, 0, 0, 32, 2, 43, height, 0, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17461, 0, 0, 32, 27, 4, height, 0, 2, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17470, 0, 0, 32, 27, 4, height, 0, 2, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17471, 0, 0, 1, 24, 43, height, 29, 4, height + 2); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17474, 0, 0, 32, 2, 43, height, 0, 4, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17472, 0, 0, 1, 24, 43, height, 29, 4, height + 2); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17475, 0, 0, 32, 2, 43, height, 0, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17473, 0, 0, 32, 27, 4, height, 0, 2, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17458, 0, 0, 32, 27, 4, height, 0, 2, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17459, 0, 0, 1, 24, 43, height, 29, 4, height + 2); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17462, 0, 0, 32, 2, 43, height, 0, 4, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17460, 0, 0, 1, 24, 43, height, 29, 4, height + 2); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17463, 0, 0, 32, 2, 43, height, 0, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17461, 0, 0, 32, 27, 4, height, 0, 2, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } void bolliger_mabillard_track_flat_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_60_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_60_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_60_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_flat_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_flat_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_brake_for_drop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17482, 0, 0, 1, 24, 43, height, 29, 4, height + 2); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17485, 0, 0, 32, 2, 43, height, 0, 4, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17483, 0, 0, 32, 27, 4, height, 0, 2, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17480, 0, 0, 32, 27, 4, height, 0, 2, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17481, 0, 0, 1, 24, 43, height, 29, 4, height + 2); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17484, 0, 0, 32, 2, 43, height, 0, 4, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17482, 0, 0, 1, 24, 43, height, 29, 4, height + 2); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17485, 0, 0, 32, 2, 43, height, 0, 4, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17483, 0, 0, 32, 27, 4, height, 0, 2, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17480, 0, 0, 32, 27, 4, height, 0, 2, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17481, 0, 0, 1, 24, 43, height, 29, 4, height + 2); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17484, 0, 0, 32, 2, 43, height, 0, 4, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /* The following track elements used to be specific to the Steel Twister */ void bolliger_mabillard_track_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17626, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17634, 0, 6, 32, 20, 11, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17633, 0, 6, 32, 20, 9, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17641, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17627, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17635, 0, 14, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(supportType, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17632, 0, 6, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17640, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17628, 16, 0, 2, 16, 119, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17636, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17631, 10, 16, 4, 12, 119, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17639, 16, 16, 2, 16, 119, height, 15, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17629, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17637, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17630, 0, 16, 32, 12, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17638, 0, 16, 32, 12, 3, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17626, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17634, 0, 6, 32, 20, 11, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17633, 0, 6, 32, 20, 9, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17641, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17627, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17635, 0, 14, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(supportType, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17632, 0, 6, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17640, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17628, 16, 0, 2, 16, 119, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17636, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17631, 10, 16, 4, 12, 119, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17639, 16, 16, 2, 16, 119, height, 15, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17629, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17637, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17630, 0, 16, 32, 12, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17638, 0, 16, 32, 12, 3, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } void bolliger_mabillard_track_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_half_loop_up(rideIndex, 3 - trackSequence, direction, height, mapElement, supportType); + bolliger_mabillard_track_half_loop_up(rideIndex, 3 - trackSequence, direction, height, mapElement, supportType); } void bolliger_mabillard_track_left_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17690, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17693, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17696, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17699, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17690, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17693, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17696, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17699, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + } - track_paint_util_left_corkscrew_up_supports(direction, height); + track_paint_util_left_corkscrew_up_supports(direction, height); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17691, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17694, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17697, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17700, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17692, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17695, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17698, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17701, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17691, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17694, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17697, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17700, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17692, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17695, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17698, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17701, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(supportType, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(supportType, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } void bolliger_mabillard_track_right_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17702, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17705, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17708, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17711, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - } - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17703, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17706, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17709, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17712, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17704, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17707, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17710, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17713, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17702, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17705, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17708, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17711, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + } + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17703, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17706, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17709, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17712, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17704, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17707, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17710, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17713, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(supportType, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(supportType, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } void bolliger_mabillard_track_left_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_right_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 1) & 3, height, mapElement, supportType); + bolliger_mabillard_track_right_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_left_corkscrew_up(rideIndex, 2 - trackSequence, (direction - 1) & 3, height, mapElement, supportType); + bolliger_mabillard_track_left_corkscrew_up(rideIndex, 2 - trackSequence, (direction - 1) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_flat_to_60_deg_up_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18030, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18034, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18038, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18042, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18031, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18035, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18039, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18043, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18032, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18036, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18040, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18044, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18033, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18037, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18041, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18045, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 18, height, gTrackColours[SCHEME_SUPPORTS]); - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 24, TUNNEL_8); - break; - case 2: - paint_util_push_tunnel_left(height + 24, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18030, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18034, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18038, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18042, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18031, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18035, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18039, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18043, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18032, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18036, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18040, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18044, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18033, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18037, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18041, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18045, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 18, height, gTrackColours[SCHEME_SUPPORTS]); + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 24, TUNNEL_8); + break; + case 2: + paint_util_push_tunnel_left(height + 24, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + } } /** rct2: 0x008AC104 */ void bolliger_mabillard_track_60_deg_up_to_flat_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18046, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18050, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18054, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18058, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18047, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18051, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18055, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18059, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18048, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18052, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18056, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18060, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18049, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18053, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18057, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18061, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18046, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18050, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18054, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18058, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18047, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18051, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18055, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18059, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18048, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18052, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18056, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18060, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18049, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18053, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18057, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18061, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + break; + } } void bolliger_mabillard_track_flat_to_60_deg_down_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_flat_to_60_deg_up_long_base(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_flat_to_60_deg_up_long_base(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_60_deg_up_to_flat_long_base122(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_60_deg_up_to_flat_long_base(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_60_deg_up_to_flat_long_base(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_left_barrel_roll_up_to_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17642, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17666, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - metal_a_supports_paint_setup(supportType, 2, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17645, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17669, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - metal_a_supports_paint_setup(supportType, 3, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17648, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17672, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - metal_a_supports_paint_setup(supportType, 1, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17651, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17675, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - metal_a_supports_paint_setup(supportType, 0, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17643, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17667, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17646, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17670, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17649, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17673, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17652, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17676, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17644, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17668, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17647, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17671, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17650, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17674, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17653, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17677, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_9); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_9); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17642, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17666, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + metal_a_supports_paint_setup(supportType, 2, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17645, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17669, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + metal_a_supports_paint_setup(supportType, 3, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17648, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17672, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + metal_a_supports_paint_setup(supportType, 1, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17651, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17675, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + metal_a_supports_paint_setup(supportType, 0, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17643, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17667, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17646, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17670, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17649, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17673, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17652, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17676, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17644, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17668, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17647, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17671, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17650, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17674, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17653, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17677, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_9); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_9); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } void bolliger_mabillard_track_right_barrel_roll_up_to_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17654, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17678, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - metal_a_supports_paint_setup(supportType, 0, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17657, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17681, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - metal_a_supports_paint_setup(supportType, 2, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17660, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17684, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - metal_a_supports_paint_setup(supportType, 3, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17663, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17687, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - metal_a_supports_paint_setup(supportType, 1, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17655, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17679, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17658, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17682, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17661, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17685, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17664, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17688, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17656, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17680, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17659, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17683, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17662, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17686, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17665, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17689, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_9); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_9); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17654, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17678, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + metal_a_supports_paint_setup(supportType, 0, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17657, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17681, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + metal_a_supports_paint_setup(supportType, 2, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17660, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17684, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + metal_a_supports_paint_setup(supportType, 3, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17663, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17687, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + metal_a_supports_paint_setup(supportType, 1, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17655, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17679, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17658, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17682, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17661, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17685, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17664, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17688, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17656, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17680, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17659, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17683, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17662, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17686, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17665, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17689, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_9); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_9); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } void bolliger_mabillard_track_left_barrel_roll_down_to_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_left_barrel_roll_up_to_down(rideIndex, 2 - trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_left_barrel_roll_up_to_down(rideIndex, 2 - trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_right_barrel_roll_down_to_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_right_barrel_roll_up_to_down(rideIndex, 2 - trackSequence, (direction + 2) & 3, height, mapElement, supportType); + bolliger_mabillard_track_right_barrel_roll_up_to_down(rideIndex, 2 - trackSequence, (direction + 2) & 3, height, mapElement, supportType); } void bolliger_mabillard_track_powered_lift(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17476, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17477, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17478, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17479, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17476, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17477, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17478, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17479, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void bolliger_mabillard_track_left_large_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17732, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17739, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17746, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17753, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17733, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17740, 0, 0, 32, 20, 9, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17747, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17754, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17734, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17741, 0, 0, 32, 16, 0, height, 0, 0, height + 70); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17748, 0, 0, 32, 16, 0, height, 0, 16, height + 70); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17755, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17735, 0, 0, 32, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(supportType, 5, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17742, 0, 0, 32, 16, 0, height, 0, 0, height + 200); - metal_a_supports_paint_setup(supportType, 6, 22, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17749, 0, 0, 32, 16, 0, height, 0, 16, height + 200); - metal_a_supports_paint_setup(supportType, 8, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17756, 0, 0, 32, 16, 3, height, 0, 16, height); - metal_a_supports_paint_setup(supportType, 7, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 224, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17736, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17743, 0, 0, 16, 16, 0, height, 0, 16, height + 110); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17750, 0, 0, 16, 16, 0, height, 0, 0, height + 100); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17757, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 128, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17737, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17744, 0, 0, 32, 16, 0, height, 0, 16, height + 200); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17751, 0, 0, 32, 16, 0, height, 0, 0, height + 200); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17758, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 224, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17738, 0, 0, 32, 16, 0, height, 0, 16, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17745, 0, 0, 32, 16, 0, height, 0, 16, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17752, 0, 0, 32, 16, 0, height, 0, 0, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17759, 0, 0, 32, 16, 0, height, 0, 0, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17732, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17739, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17746, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17753, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17733, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17740, 0, 0, 32, 20, 9, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17747, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17754, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17734, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17741, 0, 0, 32, 16, 0, height, 0, 0, height + 70); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17748, 0, 0, 32, 16, 0, height, 0, 16, height + 70); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17755, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17735, 0, 0, 32, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(supportType, 5, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17742, 0, 0, 32, 16, 0, height, 0, 0, height + 200); + metal_a_supports_paint_setup(supportType, 6, 22, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17749, 0, 0, 32, 16, 0, height, 0, 16, height + 200); + metal_a_supports_paint_setup(supportType, 8, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17756, 0, 0, 32, 16, 3, height, 0, 16, height); + metal_a_supports_paint_setup(supportType, 7, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 224, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17736, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17743, 0, 0, 16, 16, 0, height, 0, 16, height + 110); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17750, 0, 0, 16, 16, 0, height, 0, 0, height + 100); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17757, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 128, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17737, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17744, 0, 0, 32, 16, 0, height, 0, 16, height + 200); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17751, 0, 0, 32, 16, 0, height, 0, 0, height + 200); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17758, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 224, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17738, 0, 0, 32, 16, 0, height, 0, 16, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17745, 0, 0, 32, 16, 0, height, 0, 16, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17752, 0, 0, 32, 16, 0, height, 0, 0, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17759, 0, 0, 32, 16, 0, height, 0, 0, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + break; + } } void bolliger_mabillard_track_right_large_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17781, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17774, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17767, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17760, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17782, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17775, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17768, 0, 0, 32, 20, 9, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17761, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(supportType, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17783, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17776, 0, 0, 32, 16, 0, height, 0, 16, height + 70); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17769, 0, 0, 32, 16, 0, height, 0, 0, height + 70); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17762, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17784, 0, 0, 32, 16, 3, height, 0, 16, height); - metal_a_supports_paint_setup(supportType, 8, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17777, 0, 0, 32, 16, 0, height, 0, 16, height + 200); - metal_a_supports_paint_setup(supportType, 7, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17770, 0, 0, 32, 16, 0, height, 0, 0, height + 200); - metal_a_supports_paint_setup(supportType, 5, 22, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17763, 0, 0, 32, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(supportType, 6, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 224, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17785, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17778, 0, 0, 16, 16, 0, height, 0, 0, height + 100); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17771, 0, 0, 16, 16, 0, height, 0, 16, height + 110); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17764, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 128, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17786, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17779, 0, 0, 32, 16, 0, height, 0, 0, height + 200); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17772, 0, 0, 32, 16, 0, height, 0, 16, height + 200); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17765, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 224, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17787, 0, 0, 32, 16, 0, height, 0, 0, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17780, 0, 0, 32, 16, 0, height, 0, 0, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17773, 0, 0, 32, 16, 0, height, 0, 16, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17766, 0, 0, 32, 16, 0, height, 0, 16, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17781, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17774, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17767, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17760, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17782, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17775, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17768, 0, 0, 32, 20, 9, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17761, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(supportType, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17783, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17776, 0, 0, 32, 16, 0, height, 0, 16, height + 70); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17769, 0, 0, 32, 16, 0, height, 0, 0, height + 70); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17762, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17784, 0, 0, 32, 16, 3, height, 0, 16, height); + metal_a_supports_paint_setup(supportType, 8, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17777, 0, 0, 32, 16, 0, height, 0, 16, height + 200); + metal_a_supports_paint_setup(supportType, 7, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17770, 0, 0, 32, 16, 0, height, 0, 0, height + 200); + metal_a_supports_paint_setup(supportType, 5, 22, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17763, 0, 0, 32, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(supportType, 6, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 224, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17785, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17778, 0, 0, 16, 16, 0, height, 0, 0, height + 100); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17771, 0, 0, 16, 16, 0, height, 0, 16, height + 110); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17764, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 128, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17786, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17779, 0, 0, 32, 16, 0, height, 0, 0, height + 200); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17772, 0, 0, 32, 16, 0, height, 0, 16, height + 200); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17765, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 224, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17787, 0, 0, 32, 16, 0, height, 0, 0, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17780, 0, 0, 32, 16, 0, height, 0, 0, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17773, 0, 0, 32, 16, 0, height, 0, 16, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17766, 0, 0, 32, 16, 0, height, 0, 16, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + break; + } } void bolliger_mabillard_track_right_large_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_right_large_half_loop_up(rideIndex, 6 - trackSequence, direction, height, mapElement, supportType); + bolliger_mabillard_track_right_large_half_loop_up(rideIndex, 6 - trackSequence, direction, height, mapElement, supportType); } void bolliger_mabillard_track_left_large_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_left_large_half_loop_up(rideIndex, 6 - trackSequence, direction, height, mapElement, supportType); + bolliger_mabillard_track_left_large_half_loop_up(rideIndex, 6 - trackSequence, direction, height, mapElement, supportType); } void bolliger_mabillard_track_90_deg_to_inverted_flat_quarter_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18062, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18065, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18068, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18071, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18063, 0, 0, 2, 20, 31, height, -8, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18066, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18069, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18072, 0, 0, 2, 20, 31, height, -8, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18064, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18067, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18070, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18073, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18062, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18065, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18068, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18071, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18063, 0, 0, 2, 20, 31, height, -8, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18066, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18069, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18072, 0, 0, 2, 20, 31, height, -8, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18064, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18067, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18070, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18073, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } void bolliger_mabillard_track_inverted_flat_to_90_deg_quarter_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - bolliger_mabillard_track_90_deg_to_inverted_flat_quarter_loop_up(rideIndex, 2 - trackSequence, direction, height, mapElement, supportType); + bolliger_mabillard_track_90_deg_to_inverted_flat_quarter_loop_up(rideIndex, 2 - trackSequence, direction, height, mapElement, supportType); } void bolliger_mabillard_track_booster(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, sint32 supportType) { - // These offsets could be moved to the g2.dat file when that supports offsets. - sint8 ne_sw_offsetX = 8; - sint8 ne_sw_offsetY = -17; - sint8 nw_se_offsetX = -17; - sint8 nw_se_offsetY = 8; + // These offsets could be moved to the g2.dat file when that supports offsets. + sint8 ne_sw_offsetX = 8; + sint8 ne_sw_offsetY = -17; + sint8 nw_se_offsetX = -17; + sint8 nw_se_offsetY = 8; - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | SPR_G2_BM_BOOSTER_NE_SW, ne_sw_offsetX, ne_sw_offsetY, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | SPR_G2_BM_BOOSTER_NW_SE, nw_se_offsetX, nw_se_offsetY, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | SPR_G2_BM_BOOSTER_NE_SW, ne_sw_offsetX, ne_sw_offsetY, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | SPR_G2_BM_BOOSTER_NW_SE, nw_se_offsetX, nw_se_offsetY, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } \ No newline at end of file diff --git a/src/openrct2/ride/coaster/compact_inverted_coaster.c b/src/openrct2/ride/coaster/compact_inverted_coaster.c index 6cd866ac1b..c8e851a542 100644 --- a/src/openrct2/ride/coaster/compact_inverted_coaster.c +++ b/src/openrct2/ride/coaster/compact_inverted_coaster.c @@ -29,6115 +29,6115 @@ /** rct2: 0x008AE6E0 */ static void compact_inverted_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26557, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26558, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26555, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26556, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26557, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26558, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26555, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26556, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AE950, 0x008AE960, 0x008AE970 */ static void compact_inverted_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { SPR_STATION_BASE_C_SW_NE, 26557, SPR_STATION_INVERTED_BAR_A_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 26558, SPR_STATION_INVERTED_BAR_A_NW_SE }, - { SPR_STATION_BASE_C_SW_NE, 26557, SPR_STATION_INVERTED_BAR_A_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 26558, SPR_STATION_INVERTED_BAR_A_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { SPR_STATION_BASE_C_SW_NE, 26557, SPR_STATION_INVERTED_BAR_A_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 26558, SPR_STATION_INVERTED_BAR_A_NW_SE }, + { SPR_STATION_BASE_C_SW_NE, 26557, SPR_STATION_INVERTED_BAR_A_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 26558, SPR_STATION_INVERTED_BAR_A_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 3, height + 29, 0, 6, height + 29); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); - track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_TALL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 3, height + 29, 0, 6, height + 29); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); + track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_TALL); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AE6F0 */ static void compact_inverted_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26621, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26622, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26623, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26624, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26569, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26570, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26571, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26572, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26621, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26622, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26623, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26624, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26569, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26570, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26571, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26572, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008AE700 */ static void compact_inverted_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26637, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26638, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26639, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26640, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26585, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26586, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26587, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26588, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_5); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26637, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26638, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26639, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26640, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26585, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26586, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26587, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26588, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_5); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); } /** rct2: 0x008AE710 */ static void compact_inverted_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26613, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26614, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26615, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26616, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26561, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26562, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26563, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26564, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26613, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26614, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26615, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26616, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26561, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26562, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26563, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26564, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008AE720 */ static void compact_inverted_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26625, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26629, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26626, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26630, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26627, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26628, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26573, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26577, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26574, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26578, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26575, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26576, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26625, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26629, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26626, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26630, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26627, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26628, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26573, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26577, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26574, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26578, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26575, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26576, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); } /** rct2: 0x008AE730 */ static void compact_inverted_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26631, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26635, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26632, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26636, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26633, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26634, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26579, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26583, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26580, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26584, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26581, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26582, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26631, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26635, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26632, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26636, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26633, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26634, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26579, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26583, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26580, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26584, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26581, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26582, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 70, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 70, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 70, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 70, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 70, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 70, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 70, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 70, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); - } - paint_util_set_general_support_height(height + 88, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); + } + paint_util_set_general_support_height(height + 88, 0x20); } /** rct2: 0x008AE740 */ static void compact_inverted_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26617, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26618, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26619, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26620, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26565, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26566, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26567, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26568, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26617, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26618, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26619, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26620, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26565, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26566, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26567, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26568, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AE750 */ static void compact_inverted_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AE760 */ static void compact_inverted_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AE770 */ static void compact_inverted_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AE780 */ static void compact_inverted_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AE790 */ static void compact_inverted_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AE7A0 */ static void compact_inverted_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AE7B0 */ static void compact_inverted_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26694, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26699, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26704, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26689, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26694, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26699, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26704, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26689, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26693, 0, 0, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26698, 0, 0, 32, 16, 3, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26703, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26688, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26692, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26697, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26702, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26687, 0, 0, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26691, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26696, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26701, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26686, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26690, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26695, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26700, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26685, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26693, 0, 0, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26698, 0, 0, 32, 16, 3, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26703, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26688, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26692, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26697, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26702, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26687, 0, 0, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26691, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26696, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26701, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26686, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26690, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26695, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26700, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26685, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AE7C0 */ static void compact_inverted_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - compact_inverted_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + compact_inverted_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AE7D0 */ static void compact_inverted_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26657, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26658, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26659, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26660, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26657, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26658, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26659, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26660, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AE7E0 */ static void compact_inverted_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26661, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26662, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26663, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26664, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26661, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26662, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26663, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26664, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AE7F0 */ static void compact_inverted_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26663, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26664, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26661, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26662, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26663, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26664, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26661, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26662, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AE800 */ static void compact_inverted_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26659, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26660, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26657, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26658, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26659, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26660, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26657, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26658, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AE810 */ static void compact_inverted_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26738, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26743, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26748, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26733, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26738, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26743, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26748, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26733, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26737, 0, 0, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26742, 0, 0, 32, 16, 3, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26747, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26732, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26736, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26741, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26746, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26731, 0, 0, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26735, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26740, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26745, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26730, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26734, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26739, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26744, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26729, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26737, 0, 0, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26742, 0, 0, 32, 16, 3, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26747, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26732, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26736, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26741, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26746, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26731, 0, 0, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26735, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26740, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26745, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26730, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26734, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26739, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26744, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26729, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AE820 */ static void compact_inverted_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - compact_inverted_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + compact_inverted_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AE830 */ static void compact_inverted_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26665, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26666, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26667, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26668, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26665, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26666, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26667, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26668, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008AE840 */ static void compact_inverted_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26669, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26670, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26671, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26672, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26669, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26670, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26671, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26672, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008AE850 */ static void compact_inverted_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26673, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26674, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26675, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26676, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26673, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26674, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26675, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26676, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AE860 */ static void compact_inverted_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26677, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26678, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26679, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26680, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26677, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26678, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26679, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26680, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AE870 */ static void compact_inverted_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AE880 */ static void compact_inverted_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AE890 */ static void compact_inverted_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AE8A0 */ static void compact_inverted_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AE8B0 */ static void compact_inverted_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26681, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26682, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26683, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26684, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26681, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26682, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26683, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26684, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AE8C0 */ static void compact_inverted_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AE8D0 */ static void compact_inverted_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26949, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26954, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26959, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26964, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26949, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26954, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26959, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26964, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26950, 0, 0, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26955, 0, 0, 32, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26960, 0, 16, 32, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26965, 0, 16, 32, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26951, 0, 16, 16, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26956, 16, 16, 16, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26961, 16, 0, 16, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26966, 0, 0, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26952, 16, 0, 16, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26957, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26962, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26967, 16, 0, 16, 32, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26953, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26958, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26963, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26968, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26950, 0, 0, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26955, 0, 0, 32, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26960, 0, 16, 32, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26965, 0, 16, 32, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26951, 0, 16, 16, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26956, 16, 16, 16, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26961, 16, 0, 16, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26966, 0, 0, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26952, 16, 0, 16, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26957, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26962, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26967, 16, 0, 16, 32, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26953, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26958, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26963, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26968, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008AE8E0 */ static void compact_inverted_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26929, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26934, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26939, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26944, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26929, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26934, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26939, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26944, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26930, 0, 16, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26935, 0, 16, 32, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26940, 0, 0, 32, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26945, 0, 0, 32, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26931, 0, 0, 16, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26936, 16, 0, 16, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26941, 16, 16, 16, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26946, 0, 16, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26932, 16, 0, 16, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26937, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26942, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26947, 16, 0, 16, 32, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26933, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26938, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26943, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26948, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26930, 0, 16, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26935, 0, 16, 32, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26940, 0, 0, 32, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26945, 0, 0, 32, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26931, 0, 0, 16, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26936, 16, 0, 16, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26941, 16, 16, 16, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26946, 0, 16, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26932, 16, 0, 16, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26937, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26942, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26947, 16, 0, 16, 32, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26933, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26938, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26943, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26948, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008AE8F0 */ static void compact_inverted_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - compact_inverted_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + compact_inverted_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008AE900 */ static void compact_inverted_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - compact_inverted_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + compact_inverted_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AE910 */ static void compact_inverted_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26641, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26645, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26644, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26648, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26641, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26645, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26644, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26648, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26642, 0, 0, 32, 26, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26646, 0, 0, 32, 26, 3, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26643, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26647, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26642, 0, 0, 32, 26, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26646, 0, 0, 32, 26, 3, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26643, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26647, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26643, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26647, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26642, 0, 0, 32, 26, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26646, 0, 0, 32, 26, 3, height + 29); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26643, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26647, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26642, 0, 0, 32, 26, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26646, 0, 0, 32, 26, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26644, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26648, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26641, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26645, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26644, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26648, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26641, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26645, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AE920 */ static void compact_inverted_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26649, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26653, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26652, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26656, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26649, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26653, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26652, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26656, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26650, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26654, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26651, 0, 0, 32, 26, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26655, 0, 0, 32, 26, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26650, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26654, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26651, 0, 0, 32, 26, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26655, 0, 0, 32, 26, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26651, 0, 0, 32, 26, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26655, 0, 0, 32, 26, 3, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26650, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26654, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26651, 0, 0, 32, 26, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26655, 0, 0, 32, 26, 3, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26650, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26654, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26652, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26656, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26649, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26653, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26652, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26656, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26649, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26653, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AE930 */ static void compact_inverted_rc_track_left_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27017, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27025, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27024, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27032, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27017, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27025, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27024, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27032, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27018, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27026, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27023, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27031, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27019, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27027, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27022, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27030, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27020, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27028, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27021, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27029, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27021, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27029, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27020, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27028, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27022, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27030, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27019, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27027, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27023, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27031, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27018, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27026, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27024, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27032, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27017, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27025, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27018, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27026, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27023, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27031, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27019, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27027, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27022, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27030, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27020, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27028, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27021, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27029, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27021, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27029, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27020, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27028, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27022, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27030, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27019, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27027, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27023, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27031, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27018, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27026, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27024, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27032, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27017, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27025, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_4); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_4); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_4); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_4); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AE940 */ static void compact_inverted_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27048, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27040, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27041, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27033, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27048, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27040, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27041, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27033, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27047, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27039, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27042, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27034, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27046, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27038, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27043, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27035, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27045, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27037, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27044, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27036, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27044, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27036, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27045, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27037, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27043, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27035, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27046, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27038, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27042, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27034, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27047, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27039, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27041, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27033, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27048, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27040, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27047, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27039, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27042, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27034, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27046, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27038, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27043, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27035, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27045, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27037, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27044, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27036, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27044, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27036, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27045, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27037, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27043, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27035, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27046, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27038, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27042, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27034, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27047, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27039, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27041, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27033, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27048, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27040, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_4); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_4); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_4); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_4); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AE980 */ static void compact_inverted_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26710, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26713, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26716, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26707, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26710, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26713, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26716, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26707, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26709, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26712, 0, 0, 16, 16, 3, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26715, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26706, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26708, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26711, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26714, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26705, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26709, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26712, 0, 0, 16, 16, 3, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26715, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26706, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26708, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26711, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26714, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26705, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AE990 */ static void compact_inverted_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - compact_inverted_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + compact_inverted_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AE9A0 */ static void compact_inverted_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26722, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26725, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26728, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26719, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26722, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26725, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26728, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26719, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26721, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26724, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26727, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26718, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26720, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26723, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26726, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26717, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26721, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26724, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26727, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26718, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26720, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26723, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26726, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26717, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AE9B0 */ static void compact_inverted_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - compact_inverted_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + compact_inverted_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AE9C0 */ static void compact_inverted_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26924, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26926, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26928, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26922, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26924, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26926, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26928, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26922, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26923, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26925, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26927, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26921, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26923, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26925, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26927, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26921, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008AE9D0 */ static void compact_inverted_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26913, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26915, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26917, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26919, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26913, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26915, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26917, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26919, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26914, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26916, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26918, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26920, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26914, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26916, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26918, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26920, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008AE9E0 */ static void compact_inverted_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - compact_inverted_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + compact_inverted_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008AE9F0 */ static void compact_inverted_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - compact_inverted_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + compact_inverted_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AEA00 */ static void compact_inverted_rc_track_left_twist_down_to_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26993, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26999, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26998, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27004, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26993, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26999, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26998, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27004, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26994, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27000, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26997, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27003, 0, 6, 32, 20, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26995, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27001, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26996, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27002, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26994, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27000, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26997, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27003, 0, 6, 32, 20, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26995, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27001, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26996, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27002, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEA10 */ static void compact_inverted_rc_track_right_twist_down_to_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27005, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27011, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27010, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27016, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27005, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27011, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27010, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27016, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27006, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27012, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27009, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27015, 0, 6, 32, 20, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27007, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27013, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27008, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27014, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27006, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27012, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27009, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27015, 0, 6, 32, 20, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27007, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27013, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27008, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27014, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEA20 */ static void compact_inverted_rc_track_left_twist_up_to_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26996, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27002, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26995, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27001, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26997, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27003, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26994, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27000, 0, 6, 32, 20, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26998, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27004, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26993, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26999, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26996, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27002, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26995, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27001, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26997, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27003, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26994, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27000, 0, 6, 32, 20, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26998, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27004, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26993, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26999, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEA30 */ static void compact_inverted_rc_track_right_twist_up_to_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27008, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27014, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27007, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27013, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27009, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27015, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27006, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27012, 0, 6, 32, 20, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27010, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27016, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27005, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27011, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27008, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27014, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27007, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27013, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27009, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27015, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27006, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27012, 0, 6, 32, 20, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27010, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27016, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27005, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27011, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEA40 */ static void compact_inverted_rc_track_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27073, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27081, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27080, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27088, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27073, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27081, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27080, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27088, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27074, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27082, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27079, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27087, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27075, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27083, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27078, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27086, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27076, 0, 0, 32, 20, 3, height + 34, 0, 6, height + 34); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27084, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27077, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27085, 0, 16, 32, 20, 3, height + 34, 0, 6, height + 34); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_3); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27074, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27082, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27079, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27087, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27075, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27083, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27078, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27086, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27076, 0, 0, 32, 20, 3, height + 34, 0, 6, height + 34); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27084, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27077, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27085, 0, 16, 32, 20, 3, height + 34, 0, 6, height + 34); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_3); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008AEA50 */ static void compact_inverted_rc_track_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_half_loop_up(rideIndex, 3 - trackSequence, direction, height, mapElement); + compact_inverted_rc_track_half_loop_up(rideIndex, 3 - trackSequence, direction, height, mapElement); } /** rct2: 0x008AEA60 */ static void compact_inverted_rc_track_left_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27049, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27052, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27055, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27058, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27049, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27052, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27055, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27058, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27050, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27053, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27056, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27059, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27051, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27054, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27057, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27060, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 28, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 40, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height + 40, TUNNEL_3); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27050, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27053, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27056, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27059, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27051, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27054, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27057, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27060, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 28, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 40, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height + 40, TUNNEL_3); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008AEA70 */ static void compact_inverted_rc_track_right_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27061, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27064, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27067, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27070, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27061, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27064, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27067, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27070, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27062, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27065, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27068, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27071, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27063, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27066, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27069, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27072, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 28, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 40, TUNNEL_3); - break; - case 1: - paint_util_push_tunnel_left(height + 40, TUNNEL_3); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27062, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27065, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27068, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27071, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27063, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27066, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27069, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27072, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 28, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 40, TUNNEL_3); + break; + case 1: + paint_util_push_tunnel_left(height + 40, TUNNEL_3); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008AEA80 */ static void compact_inverted_rc_track_left_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_right_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 1) & 3, height, mapElement); + compact_inverted_rc_track_right_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008AEA90 */ static void compact_inverted_rc_track_right_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_left_corkscrew_up(rideIndex, 2 - trackSequence, (direction - 1) & 3, height, mapElement); + compact_inverted_rc_track_left_corkscrew_up(rideIndex, 2 - trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AEAD0 */ static void compact_inverted_rc_track_left_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26910, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26906, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26911, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26907, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26912, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26908, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26909, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26905, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); - break; - } - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_4, +56, TUNNEL_5); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26910, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26906, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26911, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26907, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26912, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26908, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26909, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26905, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); + break; + } + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_4, +56, TUNNEL_5); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008AEAB0 */ static void compact_inverted_rc_track_right_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26901, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26897, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26902, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26898, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26903, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26899, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26904, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26900, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); - break; - } - track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_4, +56, TUNNEL_5); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26901, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26897, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26902, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26898, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26903, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26899, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26904, 0, 0, 28, 28, 3, height + 5, 2, 2, height + 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26900, 0, 0, 28, 28, 1, height + 5, 2, 2, height + 104); + break; + } + track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_4, +56, TUNNEL_5); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008AEAC0 */ static void compact_inverted_rc_track_left_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + compact_inverted_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008AEAE0 */ static void compact_inverted_rc_track_right_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + compact_inverted_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AEAA0 */ static void compact_inverted_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26559, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26560, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26559, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26560, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AEAF0 */ static void compact_inverted_rc_track_left_quarter_banked_helix_large_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27118, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27123, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27128, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27113, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27118, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27123, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27128, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27113, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27117, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27122, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27127, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27112, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27116, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27121, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27126, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27111, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27115, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27120, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27125, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27110, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27114, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27119, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27124, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27109, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27117, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27122, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27127, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27112, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27116, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27121, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27126, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27111, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27115, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27120, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27125, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27110, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27114, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27119, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27124, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27109, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 16, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height + 16, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 16, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height + 16, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEB00 */ static void compact_inverted_rc_track_right_quarter_banked_helix_large_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27089, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27094, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27099, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27104, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27089, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27094, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27099, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27104, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27090, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27095, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27100, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27105, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27091, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27096, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27101, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27106, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27092, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27097, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27102, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27107, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27093, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27098, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27103, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27108, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27090, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27095, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27100, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27105, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27091, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27096, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27101, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27106, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27092, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27097, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27102, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27107, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27093, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27098, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27103, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27108, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 16, TUNNEL_3); - break; - case 1: - paint_util_push_tunnel_left(height + 16, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 16, TUNNEL_3); + break; + case 1: + paint_util_push_tunnel_left(height + 16, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEB10 */ static void compact_inverted_rc_track_left_quarter_banked_helix_large_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27098, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27103, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27108, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27093, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27098, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27103, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27108, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27093, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27097, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27102, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27107, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27092, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27096, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27101, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27106, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27091, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27095, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27100, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27105, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27090, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27094, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27099, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27104, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27089, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27097, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27102, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27107, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27092, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27096, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27101, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27106, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27091, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27095, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27100, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27105, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27090, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27094, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27099, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27104, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27089, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEB20 */ static void compact_inverted_rc_track_right_quarter_banked_helix_large_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27109, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27114, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27119, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27124, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27109, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27114, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27119, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27124, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27110, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27115, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27120, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27125, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27111, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27116, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27121, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27126, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27112, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27117, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27122, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27127, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27113, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27118, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27123, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27128, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27110, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27115, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27120, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27125, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27111, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27116, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27121, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27126, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27112, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27117, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27122, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27127, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27113, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27118, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27123, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27128, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEB30 */ static void compact_inverted_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26555, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26556, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26555, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26556, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26555, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26556, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26555, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26556, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008AEDB0 */ static void compact_inverted_rc_track_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26609, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26610, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26611, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26612, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26605, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26606, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26607, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26608, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - } - paint_util_set_vertical_tunnel(height + 32); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26609, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26610, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26611, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26612, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26605, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26606, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26607, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26608, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + } + paint_util_set_vertical_tunnel(height + 32); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008AEDC0 */ static void compact_inverted_rc_track_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AED70 */ static void compact_inverted_rc_track_60_deg_up_to_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26597, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26598, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26599, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26600, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26589, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26590, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26591, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26592, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_vertical_tunnel(height + 56); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26597, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26598, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26599, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26600, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26589, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26590, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26591, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26592, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_vertical_tunnel(height + 56); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008AED80 */ static void compact_inverted_rc_track_90_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - compact_inverted_rc_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + compact_inverted_rc_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AED90 */ static void compact_inverted_rc_track_90_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26601, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26602, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26603, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26604, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26593, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26594, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26595, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26596, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - } - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 48, TUNNEL_5); - break; - case 2: - paint_util_push_tunnel_left(height + 48, TUNNEL_5); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 96, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26601, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26602, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26603, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26604, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26593, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26594, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26595, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26596, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + } + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 48, TUNNEL_5); + break; + case 2: + paint_util_push_tunnel_left(height + 48, TUNNEL_5); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 96, 0x20); } /** rct2: 0x008AEDA0 */ static void compact_inverted_rc_track_60_deg_down_to_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26603, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26604, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26601, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26602, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26595, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26596, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26593, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26594, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_5); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 96, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26603, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26604, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26601, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26602, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26595, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26596, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26593, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26594, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_5); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 96, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008AEB40 */ static void compact_inverted_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26765, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26769, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26773, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26777, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26765, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26769, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26773, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26777, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26766, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26770, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26774, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26778, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26767, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26771, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26775, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26779, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26768, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26772, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26776, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26780, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26766, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26770, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26774, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26778, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26767, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26771, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26775, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26779, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26768, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26772, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26776, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26780, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEB50 */ static void compact_inverted_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26749, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26753, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26757, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26761, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26749, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26753, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26757, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26761, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26750, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26754, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26758, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26762, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26751, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26755, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26759, 0, 0, 28, 28, 3, height + 29, 4, 4, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26763, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26752, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26756, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26760, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26764, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26750, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26754, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26758, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26762, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26751, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26755, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26759, 0, 0, 28, 28, 3, height + 29, 4, 4, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26763, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26752, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26756, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26760, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26764, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEB60 */ static void compact_inverted_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - compact_inverted_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + compact_inverted_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AEB70 */ static void compact_inverted_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - compact_inverted_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + compact_inverted_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008AED30 */ static void compact_inverted_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26853, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26857, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26861, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26865, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26853, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26857, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26861, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26865, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26854, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26858, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26862, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26866, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26855, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26859, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26863, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26867, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26856, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26860, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26864, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26868, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26854, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26858, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26862, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26866, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26855, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26859, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26863, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26867, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26856, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26860, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26864, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26868, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AED40 */ static void compact_inverted_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26837, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26841, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26845, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26849, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26837, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26841, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26845, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26849, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26838, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26842, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26846, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26850, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26839, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26843, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26847, 0, 0, 28, 28, 3, height + 29, 4, 4, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26851, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26840, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26844, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26848, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26852, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26838, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26842, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26846, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26850, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26839, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26843, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26847, 0, 0, 28, 28, 3, height + 29, 4, 4, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26851, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26840, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26844, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26848, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26852, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AED50 */ static void compact_inverted_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - compact_inverted_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + compact_inverted_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AED60 */ static void compact_inverted_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - compact_inverted_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + compact_inverted_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008AEB80 */ static void compact_inverted_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26812, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26784, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26809, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26781, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26811, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26783, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26810, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26782, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26812, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26784, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26809, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26781, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26811, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26783, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26810, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26782, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEBB0 */ static void compact_inverted_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26824, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26796, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26821, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26793, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26823, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26795, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26822, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26794, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26824, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26796, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26821, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26793, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26823, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26795, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26822, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26794, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AEC10 */ static void compact_inverted_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26808, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26805, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26807, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26806, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26808, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26805, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26807, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26806, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 120, 0x20); - break; - } + paint_util_set_general_support_height(height + 120, 0x20); + break; + } } /** rct2: 0x008AEB90 */ static void compact_inverted_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26816, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26788, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26813, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26785, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26815, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26787, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26814, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26786, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26816, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26788, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26813, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26785, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26815, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26787, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26814, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26786, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008AEBF0 */ static void compact_inverted_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26800, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26797, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26799, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26798, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26800, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26797, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26799, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26798, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008AEC00 */ static void compact_inverted_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26804, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26801, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26803, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26802, -16, -16, 16, 16, 3, height + 29, 0, 0, height + 61); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26804, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26801, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26803, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26802, -16, -16, 16, 16, 3, height + 29, 0, 0, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008AEBA0 */ static void compact_inverted_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26820, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26792, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26817, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26789, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26819, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26791, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26818, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26790, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26820, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26792, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26817, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26789, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26819, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26791, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26818, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26790, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AEBE0 */ static void compact_inverted_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26822, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26794, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26823, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26795, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26821, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26793, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26824, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26796, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26822, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26794, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26823, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26795, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26821, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26793, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26824, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26796, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AEC40 */ static void compact_inverted_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26806, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26807, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26805, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26808, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26806, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26807, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26805, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26808, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 120, 0x20); - break; - } + paint_util_set_general_support_height(height + 120, 0x20); + break; + } } /** rct2: 0x008AEBC0 */ static void compact_inverted_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26818, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26790, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26819, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26791, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26817, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26789, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26820, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26792, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26818, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26790, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26819, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26791, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26817, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26789, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26820, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26792, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008AEC20 */ static void compact_inverted_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26802, -16, -16, 16, 16, 3, height + 29, 0, 0, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26803, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26801, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26804, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26802, -16, -16, 16, 16, 3, height + 29, 0, 0, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26803, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26801, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26804, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008AEC30 */ static void compact_inverted_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26798, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26799, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26797, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26800, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26798, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26799, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26797, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26800, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008AEBD0 */ static void compact_inverted_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26814, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26786, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26815, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26787, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26813, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26785, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26816, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26788, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26814, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26786, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26815, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26787, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26813, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26785, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26816, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26788, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008AEC70 */ static void compact_inverted_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26876, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26873, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26875, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26874, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26876, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26873, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26875, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26874, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEC80 */ static void compact_inverted_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26880, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26877, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26879, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26878, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26880, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26877, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26879, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26878, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEC90 */ static void compact_inverted_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26878, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26879, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26877, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26880, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26878, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26879, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26877, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26880, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AECA0 */ static void compact_inverted_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26874, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26875, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26873, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26876, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26874, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26875, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26873, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26876, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AECD0 */ static void compact_inverted_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26892, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26889, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26891, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26890, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26892, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26889, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26891, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26890, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008AECE0 */ static void compact_inverted_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26896, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26893, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26895, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26894, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26896, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26893, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26895, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26894, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008AECB0 */ static void compact_inverted_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26884, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26881, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26883, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26882, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26884, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26881, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26883, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26882, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AECC0 */ static void compact_inverted_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26888, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26885, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26887, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26886, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26888, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26885, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26887, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26886, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AECF0 */ static void compact_inverted_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26886, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26887, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26885, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26888, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26886, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26887, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26885, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26888, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008AED00 */ static void compact_inverted_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26882, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26883, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26881, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26884, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26882, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26883, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26881, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26884, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008AED10 */ static void compact_inverted_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26894, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26895, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26893, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26896, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26894, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26895, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26893, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26896, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008AED20 */ static void compact_inverted_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26890, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26891, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26889, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26892, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26890, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26891, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26889, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26892, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008AEC50 */ static void compact_inverted_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26872, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26869, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26871, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26870, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26872, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26869, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26871, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26870, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEC60 */ static void compact_inverted_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26870, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26871, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26869, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26872, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26870, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26871, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26869, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26872, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AEAA0 */ static void compact_inverted_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26559, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26560, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26559, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26560, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_compact_inverted_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return compact_inverted_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return compact_inverted_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return compact_inverted_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return compact_inverted_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return compact_inverted_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return compact_inverted_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return compact_inverted_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return compact_inverted_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return compact_inverted_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return compact_inverted_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return compact_inverted_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return compact_inverted_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return compact_inverted_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return compact_inverted_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return compact_inverted_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return compact_inverted_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return compact_inverted_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return compact_inverted_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return compact_inverted_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return compact_inverted_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return compact_inverted_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return compact_inverted_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return compact_inverted_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return compact_inverted_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return compact_inverted_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return compact_inverted_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return compact_inverted_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return compact_inverted_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return compact_inverted_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return compact_inverted_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return compact_inverted_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return compact_inverted_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return compact_inverted_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return compact_inverted_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return compact_inverted_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return compact_inverted_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return compact_inverted_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return compact_inverted_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - return compact_inverted_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - return compact_inverted_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return compact_inverted_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return compact_inverted_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return compact_inverted_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return compact_inverted_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return compact_inverted_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return compact_inverted_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return compact_inverted_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return compact_inverted_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: - return compact_inverted_rc_track_left_twist_down_to_up; - case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: - return compact_inverted_rc_track_right_twist_down_to_up; - case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: - return compact_inverted_rc_track_left_twist_up_to_down; - case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: - return compact_inverted_rc_track_right_twist_up_to_down; - case TRACK_ELEM_HALF_LOOP_UP: - return compact_inverted_rc_track_half_loop_up; - case TRACK_ELEM_HALF_LOOP_DOWN: - return compact_inverted_rc_track_half_loop_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: - return compact_inverted_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: - return compact_inverted_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: - return compact_inverted_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: - return compact_inverted_rc_track_right_corkscrew_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - return compact_inverted_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - return compact_inverted_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return compact_inverted_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return compact_inverted_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: - return compact_inverted_rc_track_brakes; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: - return compact_inverted_rc_track_left_quarter_banked_helix_large_up; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: - return compact_inverted_rc_track_right_quarter_banked_helix_large_up; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: - return compact_inverted_rc_track_left_quarter_banked_helix_large_down; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: - return compact_inverted_rc_track_right_quarter_banked_helix_large_down; - case TRACK_ELEM_ON_RIDE_PHOTO: - return compact_inverted_rc_track_on_ride_photo; - case TRACK_ELEM_90_DEG_UP: - return compact_inverted_rc_track_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN: - return compact_inverted_rc_track_90_deg_down; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: - return compact_inverted_rc_track_60_deg_up_to_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: - return compact_inverted_rc_track_90_deg_down_to_60_deg_down; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: - return compact_inverted_rc_track_90_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: - return compact_inverted_rc_track_60_deg_down_to_90_deg_down; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return compact_inverted_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return compact_inverted_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return compact_inverted_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return compact_inverted_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return compact_inverted_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return compact_inverted_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return compact_inverted_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return compact_inverted_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return compact_inverted_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return compact_inverted_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return compact_inverted_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return compact_inverted_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return compact_inverted_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return compact_inverted_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return compact_inverted_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return compact_inverted_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return compact_inverted_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return compact_inverted_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return compact_inverted_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return compact_inverted_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return compact_inverted_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return compact_inverted_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return compact_inverted_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return compact_inverted_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return compact_inverted_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return compact_inverted_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return compact_inverted_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return compact_inverted_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return compact_inverted_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return compact_inverted_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return compact_inverted_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return compact_inverted_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return compact_inverted_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return compact_inverted_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return compact_inverted_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: - return compact_inverted_rc_track_block_brakes; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return compact_inverted_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return compact_inverted_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return compact_inverted_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return compact_inverted_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return compact_inverted_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return compact_inverted_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return compact_inverted_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return compact_inverted_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return compact_inverted_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return compact_inverted_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return compact_inverted_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return compact_inverted_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return compact_inverted_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return compact_inverted_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return compact_inverted_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return compact_inverted_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return compact_inverted_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return compact_inverted_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return compact_inverted_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return compact_inverted_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return compact_inverted_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return compact_inverted_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return compact_inverted_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return compact_inverted_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return compact_inverted_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return compact_inverted_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return compact_inverted_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return compact_inverted_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return compact_inverted_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return compact_inverted_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return compact_inverted_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return compact_inverted_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return compact_inverted_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return compact_inverted_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return compact_inverted_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return compact_inverted_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return compact_inverted_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return compact_inverted_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + return compact_inverted_rc_track_left_vertical_loop; + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + return compact_inverted_rc_track_right_vertical_loop; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return compact_inverted_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return compact_inverted_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return compact_inverted_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return compact_inverted_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return compact_inverted_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return compact_inverted_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return compact_inverted_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return compact_inverted_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: + return compact_inverted_rc_track_left_twist_down_to_up; + case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: + return compact_inverted_rc_track_right_twist_down_to_up; + case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: + return compact_inverted_rc_track_left_twist_up_to_down; + case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: + return compact_inverted_rc_track_right_twist_up_to_down; + case TRACK_ELEM_HALF_LOOP_UP: + return compact_inverted_rc_track_half_loop_up; + case TRACK_ELEM_HALF_LOOP_DOWN: + return compact_inverted_rc_track_half_loop_down; + case TRACK_ELEM_LEFT_CORKSCREW_UP: + return compact_inverted_rc_track_left_corkscrew_up; + case TRACK_ELEM_RIGHT_CORKSCREW_UP: + return compact_inverted_rc_track_right_corkscrew_up; + case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + return compact_inverted_rc_track_left_corkscrew_down; + case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + return compact_inverted_rc_track_right_corkscrew_down; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + return compact_inverted_rc_track_left_quarter_turn_1_60_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + return compact_inverted_rc_track_right_quarter_turn_1_60_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return compact_inverted_rc_track_left_quarter_turn_1_60_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return compact_inverted_rc_track_right_quarter_turn_1_60_deg_down; + case TRACK_ELEM_BRAKES: + return compact_inverted_rc_track_brakes; + case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: + return compact_inverted_rc_track_left_quarter_banked_helix_large_up; + case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: + return compact_inverted_rc_track_right_quarter_banked_helix_large_up; + case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: + return compact_inverted_rc_track_left_quarter_banked_helix_large_down; + case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: + return compact_inverted_rc_track_right_quarter_banked_helix_large_down; + case TRACK_ELEM_ON_RIDE_PHOTO: + return compact_inverted_rc_track_on_ride_photo; + case TRACK_ELEM_90_DEG_UP: + return compact_inverted_rc_track_90_deg_up; + case TRACK_ELEM_90_DEG_DOWN: + return compact_inverted_rc_track_90_deg_down; + case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + return compact_inverted_rc_track_60_deg_up_to_90_deg_up; + case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + return compact_inverted_rc_track_90_deg_down_to_60_deg_down; + case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + return compact_inverted_rc_track_90_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + return compact_inverted_rc_track_60_deg_down_to_90_deg_down; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return compact_inverted_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return compact_inverted_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return compact_inverted_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return compact_inverted_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return compact_inverted_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return compact_inverted_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return compact_inverted_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return compact_inverted_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return compact_inverted_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return compact_inverted_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return compact_inverted_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return compact_inverted_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return compact_inverted_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return compact_inverted_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return compact_inverted_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return compact_inverted_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return compact_inverted_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return compact_inverted_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return compact_inverted_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return compact_inverted_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return compact_inverted_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return compact_inverted_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return compact_inverted_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return compact_inverted_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return compact_inverted_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return compact_inverted_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return compact_inverted_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return compact_inverted_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return compact_inverted_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return compact_inverted_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return compact_inverted_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return compact_inverted_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return compact_inverted_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return compact_inverted_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return compact_inverted_rc_track_diag_right_bank; + case TRACK_ELEM_BLOCK_BRAKES: + return compact_inverted_rc_track_block_brakes; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/corkscrew_roller_coaster.c b/src/openrct2/ride/coaster/corkscrew_roller_coaster.c index 72a2d98bcd..9cc60b4218 100644 --- a/src/openrct2/ride/coaster/corkscrew_roller_coaster.c +++ b/src/openrct2/ride/coaster/corkscrew_roller_coaster.c @@ -29,6097 +29,6097 @@ /** rct2: 0x008A7AF8 */ static void corkscrew_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16226, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16227, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16228, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16229, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16224, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16225, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16226, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16227, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16228, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16229, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16224, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16225, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7D68, 0x008A7D78, 0x008A7D88 */ static void corkscrew_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { 16236, 16232, SPR_STATION_BASE_A_SW_NE }, - { 16237, 16233, SPR_STATION_BASE_A_NW_SE }, - { 16236, 16232, SPR_STATION_BASE_A_SW_NE }, - { 16237, 16233, SPR_STATION_BASE_A_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { 16236, 16232, SPR_STATION_BASE_A_SW_NE }, + { 16237, 16233, SPR_STATION_BASE_A_NW_SE }, + { 16236, 16232, SPR_STATION_BASE_A_SW_NE }, + { 16237, 16233, SPR_STATION_BASE_A_NW_SE }, + }; - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } else { - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } - sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); - track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } else { + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } + sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); + track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7B08 */ static void corkscrew_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16314, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16315, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16316, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16317, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16286, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16287, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16288, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16289, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16314, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16315, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16316, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16317, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16286, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16287, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16288, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16289, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A7B18 */ static void corkscrew_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16330, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16331, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16332, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16333, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16302, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16303, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16304, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16305, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16330, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16331, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16332, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16333, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16302, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16303, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16304, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16305, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A7B28 */ static void corkscrew_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16306, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16307, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16308, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16309, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16278, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16279, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16280, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16281, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16306, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16307, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16308, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16309, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16278, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16279, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16280, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16281, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A7B38 */ static void corkscrew_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16318, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16319, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16322, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16320, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16323, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16321, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16290, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16291, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16294, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16292, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16295, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16293, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16318, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16319, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16322, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16320, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16323, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16321, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16290, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16291, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16294, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16292, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16295, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16293, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A7B48 */ static void corkscrew_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16324, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16325, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16328, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16326, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16329, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16327, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16296, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16297, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16300, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16298, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16301, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16299, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16324, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16325, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16328, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16326, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16329, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16327, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16296, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16297, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16300, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16298, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16301, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16299, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A7B58 */ static void corkscrew_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16310, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16311, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16312, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16313, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16282, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16283, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16284, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16285, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16310, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16311, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16312, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16313, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16282, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16283, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16284, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16285, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A7B68 */ static void corkscrew_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7B78 */ static void corkscrew_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7B88 */ static void corkscrew_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7B98 */ static void corkscrew_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7BA8 */ static void corkscrew_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7BB8 */ static void corkscrew_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7BC8 */ static void corkscrew_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16343, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16348, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16353, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16338, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16342, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16347, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16352, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16337, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16341, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16346, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16351, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16336, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16340, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16345, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16350, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16335, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16339, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16344, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16349, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16334, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16343, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16348, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16353, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16338, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16342, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16347, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16352, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16337, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16341, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16346, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16351, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16336, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16340, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16345, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16350, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16335, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16339, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16344, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16349, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16334, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7BD8 */ static void corkscrew_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - corkscrew_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + corkscrew_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7BE8 */ static void corkscrew_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16238, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16246, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16239, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16247, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16240, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16241, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16238, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16246, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16239, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16247, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16240, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16241, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7BF8 */ static void corkscrew_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16242, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16243, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16244, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16248, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16245, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16249, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16242, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16243, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16244, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16248, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16245, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16249, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7C08 */ static void corkscrew_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16244, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16248, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16245, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16249, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16242, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16243, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16244, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16248, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16245, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16249, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16242, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16243, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7C18 */ static void corkscrew_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16240, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16241, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16238, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16246, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16239, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16247, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16240, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16241, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16238, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16246, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16239, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16247, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7C28 */ static void corkscrew_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16363, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16374, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16368, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16373, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16358, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16362, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16367, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16372, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16357, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16361, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16366, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16371, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16356, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16360, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16365, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16370, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16355, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16359, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16364, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16369, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16375, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16354, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16363, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16374, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16368, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16373, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16358, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16362, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16367, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16372, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16357, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16361, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16366, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16371, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16356, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16360, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16365, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16370, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16355, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16359, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16364, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16369, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16375, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16354, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7C38 */ static void corkscrew_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - corkscrew_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + corkscrew_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7C48 */ static void corkscrew_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16250, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16254, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16251, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16255, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16252, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16253, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16250, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16254, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16251, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16255, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16252, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16253, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A7C58 */ static void corkscrew_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16256, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16257, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16258, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16260, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16259, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16261, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16256, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16257, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16258, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16260, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16259, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16261, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A7C68 */ static void corkscrew_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16262, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16266, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16263, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16267, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16264, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16265, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16262, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16266, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16263, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16267, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16264, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16265, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A7C78 */ static void corkscrew_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16268, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16269, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16270, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16272, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16271, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16273, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16268, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16269, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16270, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16272, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16271, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16273, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A7C88 */ static void corkscrew_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7C98 */ static void corkscrew_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7CA8 */ static void corkscrew_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7CB8 */ static void corkscrew_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7CC8 */ static void corkscrew_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16274, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16275, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16276, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16277, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16274, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16275, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16276, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16277, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7CD8 */ static void corkscrew_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7CE8 */ static void corkscrew_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16510, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16515, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16520, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16525, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16511, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16516, 0, 0, 32, 16, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16521, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16526, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16512, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16517, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16522, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16527, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16513, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16518, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16523, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16528, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16514, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16519, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16524, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16529, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16510, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16515, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16520, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16525, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16511, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16516, 0, 0, 32, 16, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16521, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16526, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16512, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16517, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16522, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16527, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16513, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16518, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16523, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16528, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16514, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16519, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16524, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16529, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A7CF8 */ static void corkscrew_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16490, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16495, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16500, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16505, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16491, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16496, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16501, 0, 0, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16506, 0, 0, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16492, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16497, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16502, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16507, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16493, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16498, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16503, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16508, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16494, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16499, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16504, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16509, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16490, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16495, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16500, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16505, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16491, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16496, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16501, 0, 0, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16506, 0, 0, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16492, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16497, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16502, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16507, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16493, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16498, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16503, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16508, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16494, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16499, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16504, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16509, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A7D08 */ static void corkscrew_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - corkscrew_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + corkscrew_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A7D18 */ static void corkscrew_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - corkscrew_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + corkscrew_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7D28 */ static void corkscrew_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16402, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16406, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16405, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16409, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16403, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16407, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16404, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16408, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16404, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16408, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16403, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16407, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16405, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16409, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16402, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16406, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16402, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16406, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16405, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16409, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16403, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16407, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16404, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16408, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16404, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16408, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16403, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16407, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16405, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16409, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16402, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16406, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7D38 */ static void corkscrew_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16410, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16414, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16413, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16417, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16411, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16415, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16412, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16416, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16412, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16416, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16411, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16415, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16413, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16417, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16410, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16414, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16410, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16414, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16413, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16417, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16411, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16415, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16412, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16416, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16412, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16416, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16411, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16415, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16413, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16417, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16410, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16414, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7D48 */ static void corkscrew_rc_track_left_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16562, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16570, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16569, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16577, 0, 6, 32, 20, 7, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16563, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16571, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16568, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16576, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16564, 16, 0, 3, 16, 119, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16572, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16567, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16575, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16565, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16573, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16566, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16574, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16566, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16574, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16565, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16573, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16567, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16575, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16564, 16, 0, 3, 16, 119, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16572, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16568, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16576, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16563, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16571, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16569, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16577, 0, 6, 32, 20, 7, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16562, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16570, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16562, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16570, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16569, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16577, 0, 6, 32, 20, 7, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16563, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16571, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16568, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16576, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16564, 16, 0, 3, 16, 119, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16572, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16567, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16575, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16565, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16573, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16566, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16574, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16566, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16574, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16565, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16573, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16567, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16575, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16564, 16, 0, 3, 16, 119, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16572, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16568, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16576, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16563, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16571, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16569, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16577, 0, 6, 32, 20, 7, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16562, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16570, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A7D58 */ static void corkscrew_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16593, 0, 6, 32, 20, 7, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16585, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16586, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16578, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16592, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16584, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16587, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16579, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16591, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16588, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16590, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16589, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16589, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16590, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16588, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16591, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16587, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16579, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16592, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16584, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16586, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16578, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16593, 0, 6, 32, 20, 7, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16585, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16593, 0, 6, 32, 20, 7, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16585, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16586, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16578, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16592, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16584, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16587, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16579, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16591, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16588, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16590, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16589, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16589, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16590, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16588, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16591, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16587, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16579, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16592, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16584, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16586, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16578, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16593, 0, 6, 32, 20, 7, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16585, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } - track_paint_util_right_vertical_loop_segments(direction, trackSequence); + track_paint_util_right_vertical_loop_segments(direction, trackSequence); } /** rct2: 0x008A7D98 */ static void corkscrew_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16381, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16384, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16387, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16378, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16380, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16383, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16386, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16377, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16379, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16382, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16385, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16376, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16381, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16384, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16387, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16378, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16380, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16383, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16386, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16377, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16379, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16382, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16385, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16376, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7DA8 */ static void corkscrew_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - corkscrew_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + corkscrew_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7DB8 */ static void corkscrew_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16393, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16400, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16396, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16399, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16390, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16392, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16395, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16398, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16389, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16391, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16394, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16397, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16401, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16388, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16393, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16400, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16396, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16399, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16390, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16392, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16395, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16398, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16389, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16391, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16394, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16397, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16401, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16388, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7DC8 */ static void corkscrew_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - corkscrew_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + corkscrew_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7DD8 */ static void corkscrew_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16541, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16543, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16545, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16539, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16540, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16542, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16544, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16538, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16541, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16543, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16545, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16539, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16540, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16542, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16544, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16538, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A7DE8 */ static void corkscrew_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16530, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16532, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16534, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16536, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16531, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16533, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16535, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16537, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16530, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16532, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16534, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16536, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16531, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16533, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16535, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16537, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A7DF8 */ static void corkscrew_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - corkscrew_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + corkscrew_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A7E08 */ static void corkscrew_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - corkscrew_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + corkscrew_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7E18 */ static void corkscrew_rc_track_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16594, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16602, 0, 6, 32, 20, 11, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16601, 0, 6, 32, 20, 9, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16609, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16595, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16603, 0, 14, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16600, 0, 6, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16608, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16596, 16, 0, 2, 16, 119, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16604, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16599, 10, 16, 4, 12, 119, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16607, 16, 16, 2, 16, 119, height, 15, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16597, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16605, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16598, 0, 16, 32, 12, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16606, 0, 16, 32, 12, 3, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16594, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16602, 0, 6, 32, 20, 11, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16601, 0, 6, 32, 20, 9, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16609, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16595, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16603, 0, 14, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16600, 0, 6, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16608, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16596, 16, 0, 2, 16, 119, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16604, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16599, 10, 16, 4, 12, 119, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16607, 16, 16, 2, 16, 119, height, 15, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16597, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16605, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16598, 0, 16, 32, 12, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16606, 0, 16, 32, 12, 3, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A7E28 */ static void corkscrew_rc_track_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_half_loop_up(rideIndex, 3 - trackSequence, direction, height, mapElement); + corkscrew_rc_track_half_loop_up(rideIndex, 3 - trackSequence, direction, height, mapElement); } /** rct2: 0x008A7E38 */ static void corkscrew_rc_track_left_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16610, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16613, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16616, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16619, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16610, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16613, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16616, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16619, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + } - track_paint_util_left_corkscrew_up_supports(direction, height); + track_paint_util_left_corkscrew_up_supports(direction, height); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16611, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16614, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16617, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16620, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16612, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16615, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16618, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16621, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16611, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16614, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16617, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16620, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16612, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16615, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16618, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16621, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A7E48 */ static void corkscrew_rc_track_right_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16622, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16625, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16628, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16631, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16623, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16626, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16629, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16632, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16624, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16627, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16630, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16633, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16622, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16625, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16628, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16631, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16623, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16626, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16629, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16632, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16624, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16627, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16630, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16633, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A7E58 */ static void corkscrew_rc_track_left_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_right_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 1) & 3, height, mapElement); + corkscrew_rc_track_right_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A7E68 */ static void corkscrew_rc_track_right_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_left_corkscrew_up(rideIndex, 2 - trackSequence, (direction - 1) & 3, height, mapElement); + corkscrew_rc_track_left_corkscrew_up(rideIndex, 2 - trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7E78 */ static void corkscrew_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16481, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16488, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16484, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16487, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16478, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16480, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16486, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16477, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16479, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16482, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16485, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16489, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16476, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16478, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16481, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16488, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16484, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16487, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16477, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16480, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16486, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16476, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16479, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16482, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16485, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16489, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16481, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16488, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16484, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16487, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16478, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16480, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16486, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16477, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16479, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16482, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16485, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16489, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16476, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16478, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16481, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16488, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16484, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16487, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16477, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16480, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16486, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16476, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16479, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16482, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16485, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16489, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7E88 */ static void corkscrew_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16462, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16465, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16468, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16471, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16475, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16463, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16466, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16469, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16472, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16464, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16467, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16474, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16470, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16473, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16465, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16468, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16471, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16475, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16462, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16466, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16469, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16472, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16463, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16467, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16474, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16470, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16473, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16464, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16462, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16465, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16468, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16471, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16475, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16463, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16466, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16469, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16472, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16464, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16467, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16474, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16470, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16473, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16465, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16468, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16471, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16475, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16462, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16466, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16469, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16472, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16463, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16467, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16474, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16470, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16473, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16464, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7E98 */ static void corkscrew_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - corkscrew_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + corkscrew_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A7EA8 */ static void corkscrew_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - corkscrew_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + corkscrew_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7EB8 */ static void corkscrew_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16449, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16460, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16454, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16459, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16444, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16448, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16453, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16458, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16443, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16447, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16452, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16457, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16442, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16446, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16451, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16456, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16441, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16445, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16450, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16455, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16461, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16440, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16444, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16449, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16460, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16454, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16459, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16443, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16448, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16453, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16458, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16442, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16447, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16452, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16457, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16441, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16446, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16451, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16456, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16440, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16445, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16450, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16455, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16461, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16449, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16460, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16454, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16459, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16444, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16448, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16453, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16458, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16443, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16447, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16452, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16457, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16442, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16446, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16451, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16456, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16441, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16445, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16450, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16455, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16461, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16440, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16444, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16449, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16460, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16454, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16459, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16443, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16448, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16453, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16458, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16442, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16447, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16452, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16457, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16441, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16446, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16451, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16456, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16440, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16445, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16450, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16455, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16461, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7EC8 */ static void corkscrew_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16418, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16423, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16428, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16433, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16439, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16419, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16424, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16429, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16434, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16420, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16425, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16430, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16435, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16421, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16426, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16431, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16436, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16422, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16427, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16438, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16432, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16437, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16423, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16428, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16433, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16439, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16418, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16424, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16429, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16434, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16419, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16425, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16430, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16435, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16420, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16426, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16431, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16436, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16421, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16427, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16438, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16432, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16437, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16422, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16418, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16423, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16428, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16433, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16439, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16419, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16424, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16429, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16434, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16420, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16425, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16430, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16435, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16421, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16426, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16431, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16436, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16422, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16427, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16438, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16432, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16437, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16423, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16428, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16433, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16439, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16418, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16424, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16429, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16434, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16419, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16425, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16430, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16435, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16420, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16426, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16431, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16436, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16421, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16427, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16438, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16432, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16437, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16422, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7ED8 */ static void corkscrew_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - corkscrew_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + corkscrew_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A7EE8 */ static void corkscrew_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - corkscrew_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + corkscrew_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7F18 */ static void corkscrew_rc_track_left_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16555, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16559, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16556, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16560, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16557, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16561, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16554, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16558, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_1, +56, TUNNEL_2); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16555, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16559, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16556, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16560, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16557, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16561, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16554, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16558, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_1, +56, TUNNEL_2); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A7EF8 */ static void corkscrew_rc_track_right_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16546, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16550, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16547, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16551, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16548, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16552, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16549, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16553, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_1, +56, TUNNEL_2); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16546, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16550, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16547, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16551, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16548, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16552, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16549, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16553, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_1, +56, TUNNEL_2); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A7F08 */ static void corkscrew_rc_track_left_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + corkscrew_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A7F28 */ static void corkscrew_rc_track_right_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + corkscrew_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7F38 */ static void corkscrew_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16230, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16231, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16230, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16231, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7F48 */ static void corkscrew_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16224, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16225, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16224, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16225, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16224, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16225, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16224, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16225, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A8198 */ static void corkscrew_rc_track_flat_to_60_deg_up_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16788, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16792, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16796, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16800, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16789, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16793, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16797, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16801, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16790, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16794, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16798, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16802, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16791, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16795, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16799, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16803, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 18, height, gTrackColours[SCHEME_SUPPORTS]); - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 24, TUNNEL_8); - break; - case 2: - paint_util_push_tunnel_left(height + 24, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16788, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16792, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16796, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16800, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16789, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16793, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16797, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16801, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16790, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16794, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16798, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16802, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16791, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16795, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16799, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16803, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 18, height, gTrackColours[SCHEME_SUPPORTS]); + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 24, TUNNEL_8); + break; + case 2: + paint_util_push_tunnel_left(height + 24, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + } } /** rct2: 0x008A81A8 */ static void corkscrew_rc_track_60_deg_up_to_flat_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16804, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16808, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16812, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16816, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16805, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16809, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16813, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16817, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16806, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16810, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16814, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16818, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16807, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16811, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16815, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16819, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16804, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16808, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16812, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16816, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16805, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16809, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16813, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16817, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16806, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16810, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16814, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16818, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16807, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16811, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16815, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16819, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + break; + } } /** rct2: 0x008A81B8 */ static void corkscrew_rc_track_flat_to_60_deg_down_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_flat_to_60_deg_up_long_base(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_flat_to_60_deg_up_long_base(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A81C8 */ static void corkscrew_rc_track_60_deg_up_to_flat_long_base122(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - corkscrew_rc_track_60_deg_up_to_flat_long_base(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement); + corkscrew_rc_track_60_deg_up_to_flat_long_base(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7F68 */ static void corkscrew_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16740, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16744, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16748, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16752, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16741, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16745, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16749, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16753, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16742, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16746, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16750, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16754, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16743, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16747, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16751, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16755, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16740, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16744, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16748, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16752, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16741, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16745, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16749, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16753, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16742, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16746, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16750, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16754, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16743, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16747, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16751, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16755, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7F78 */ static void corkscrew_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16724, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16728, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16732, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16736, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16725, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16729, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16733, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16737, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16726, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16730, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16734, 0, 0, 28, 28, 3, height, 4, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16738, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16727, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16731, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16735, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16739, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16724, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16728, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16732, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16736, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16725, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16729, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16733, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16737, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16726, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16730, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16734, 0, 0, 28, 28, 3, height, 4, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16738, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16727, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16731, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16735, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16739, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7F88 */ static void corkscrew_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - corkscrew_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + corkscrew_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7F98 */ static void corkscrew_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - corkscrew_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + corkscrew_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008A7FA8 */ static void corkscrew_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16772, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16776, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16780, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16784, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16773, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16777, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16781, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16785, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16774, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16778, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16782, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16786, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16775, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16779, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16783, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16787, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16772, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16776, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16780, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16784, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16773, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16777, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16781, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16785, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16774, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16778, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16782, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16786, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16775, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16779, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16783, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16787, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7FB8 */ static void corkscrew_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16756, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16760, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16764, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16768, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16757, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16761, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16765, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16769, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16758, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16762, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16766, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16770, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16759, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16763, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16767, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16771, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16756, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16760, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16764, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16768, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16757, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16761, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16765, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16769, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16758, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16762, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16766, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16770, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16759, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16763, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16767, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16771, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7FC8 */ static void corkscrew_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - corkscrew_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + corkscrew_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7FD8 */ static void corkscrew_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - corkscrew_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + corkscrew_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008A7F58 */ static void corkscrew_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16699, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16637, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16696, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16634, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16698, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16636, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16697, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16635, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16699, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16637, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16696, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16634, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16698, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16636, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16697, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16635, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A8008 */ static void corkscrew_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16711, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16649, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16708, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16646, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16710, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16648, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16709, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16647, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16711, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16649, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16708, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16646, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16710, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16648, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16709, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16647, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A8068 */ static void corkscrew_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16723, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16661, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16720, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16658, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16722, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16660, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16721, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16659, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16723, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16661, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16720, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16658, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16722, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16660, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16721, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16659, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008A7FE8 */ static void corkscrew_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16703, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16641, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16700, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16638, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16702, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16640, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16701, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16639, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16703, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16641, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16700, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16638, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16702, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16640, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16701, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16639, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8048 */ static void corkscrew_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16715, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16653, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16712, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16650, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16714, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16652, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16713, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16651, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16715, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16653, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16712, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16650, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16714, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16652, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16713, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16651, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A8058 */ static void corkscrew_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16719, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16657, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16716, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16654, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16718, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16656, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16717, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16655, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16719, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16657, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16716, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16654, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16718, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16656, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16717, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16655, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A7FF8 */ static void corkscrew_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16707, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16645, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16704, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16642, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16706, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16644, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16705, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16643, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16707, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16645, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16704, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16642, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16706, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16644, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16705, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16643, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A8038 */ static void corkscrew_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16709, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16647, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16710, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16648, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16708, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16646, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16711, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16649, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16709, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16647, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16710, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16648, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16708, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16646, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16711, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16649, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A8098 */ static void corkscrew_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16721, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16659, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16722, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16660, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16720, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16658, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16723, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16661, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16721, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16659, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16722, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16660, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16720, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16658, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16723, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16661, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008A8018 */ static void corkscrew_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16705, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16643, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16706, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16644, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16704, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16642, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16707, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16645, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16705, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16643, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16706, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16644, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16704, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16642, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16707, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16645, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A8078 */ static void corkscrew_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16717, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16655, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16718, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16656, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16716, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16654, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16719, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16657, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16717, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16655, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16718, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16656, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16716, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16654, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16719, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16657, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A8088 */ static void corkscrew_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16713, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16651, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16714, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16652, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16712, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16650, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16715, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16653, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16713, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16651, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16714, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16652, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16712, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16650, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16715, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16653, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A8028 */ static void corkscrew_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16701, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16639, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16702, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16640, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16700, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16638, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16703, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16641, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16701, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16639, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16702, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16640, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16700, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16638, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16703, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16641, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A80C8 */ static void corkscrew_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16669, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16666, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16670, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16668, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16667, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16669, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16666, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16670, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16668, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16667, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A80D8 */ static void corkscrew_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16674, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16671, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16673, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16675, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16672, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16674, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16671, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16673, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16675, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16672, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A80E8 */ static void corkscrew_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16672, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16673, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16675, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16671, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16674, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16672, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16673, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16675, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16671, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16674, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A80F8 */ static void corkscrew_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16667, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16668, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16666, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16670, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16669, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16667, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16668, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16666, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16670, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16669, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A8128 */ static void corkscrew_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16689, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16686, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16690, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16688, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16687, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16689, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16686, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16690, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16688, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16687, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8138 */ static void corkscrew_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16694, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16691, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16693, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16695, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16692, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16694, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16691, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16693, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16695, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16692, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8108 */ static void corkscrew_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16679, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16676, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16680, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16678, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16677, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16679, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16676, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16680, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16678, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16677, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A8118 */ static void corkscrew_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16684, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16681, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16683, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16685, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16682, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16684, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16681, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16683, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16685, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16682, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A8148 */ static void corkscrew_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16682, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16683, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16685, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16681, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16684, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16682, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16683, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16685, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16681, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16684, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A8158 */ static void corkscrew_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16677, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16678, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16676, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16680, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16679, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16677, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16678, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16676, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16680, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16679, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A8168 */ static void corkscrew_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16692, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16693, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16695, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16691, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16694, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16692, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16693, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16695, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16691, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16694, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8178 */ static void corkscrew_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16687, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16688, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16686, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16690, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16689, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16687, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16688, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16686, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16690, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16689, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A80A8 */ static void corkscrew_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16665, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16662, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16664, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16663, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16665, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16662, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16664, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16663, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A80B8 */ static void corkscrew_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16663, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16664, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16662, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16665, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16663, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16664, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16662, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16665, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A8188 */ static void corkscrew_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16232, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16233, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16232, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16233, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void corkscrew_rc_track_booster(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!is_csg_loaded()) - { - corkscrew_rc_track_brakes(rideIndex, trackSequence, direction, height, mapElement); - return; - } + if (!is_csg_loaded()) + { + corkscrew_rc_track_brakes(rideIndex, trackSequence, direction, height, mapElement); + return; + } - uint32 sprite_ne_sw_behind = SPR_CSG_BEGIN + 56213; - uint32 sprite_nw_se_behind = SPR_CSG_BEGIN + 56214; - uint32 sprite_ne_sw_after = SPR_CSG_BEGIN + 56215; - uint32 sprite_nw_se_after = SPR_CSG_BEGIN + 56216; + uint32 sprite_ne_sw_behind = SPR_CSG_BEGIN + 56213; + uint32 sprite_nw_se_behind = SPR_CSG_BEGIN + 56214; + uint32 sprite_ne_sw_after = SPR_CSG_BEGIN + 56215; + uint32 sprite_nw_se_after = SPR_CSG_BEGIN + 56216; - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | sprite_ne_sw_behind, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | sprite_ne_sw_after, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | sprite_nw_se_behind, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | sprite_nw_se_after, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | sprite_ne_sw_behind, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | sprite_ne_sw_after, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | sprite_nw_se_behind, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | sprite_nw_se_after, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_corkscrew_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return corkscrew_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return corkscrew_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return corkscrew_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return corkscrew_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return corkscrew_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return corkscrew_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return corkscrew_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return corkscrew_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return corkscrew_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return corkscrew_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return corkscrew_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return corkscrew_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return corkscrew_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return corkscrew_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return corkscrew_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return corkscrew_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return corkscrew_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return corkscrew_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return corkscrew_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return corkscrew_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return corkscrew_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return corkscrew_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return corkscrew_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return corkscrew_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return corkscrew_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return corkscrew_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return corkscrew_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return corkscrew_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return corkscrew_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return corkscrew_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return corkscrew_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return corkscrew_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return corkscrew_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return corkscrew_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return corkscrew_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return corkscrew_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return corkscrew_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return corkscrew_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - return corkscrew_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - return corkscrew_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return corkscrew_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return corkscrew_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return corkscrew_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return corkscrew_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return corkscrew_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return corkscrew_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return corkscrew_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return corkscrew_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_HALF_LOOP_UP: - return corkscrew_rc_track_half_loop_up; - case TRACK_ELEM_HALF_LOOP_DOWN: - return corkscrew_rc_track_half_loop_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: - return corkscrew_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: - return corkscrew_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: - return corkscrew_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: - return corkscrew_rc_track_right_corkscrew_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return corkscrew_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return corkscrew_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return corkscrew_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return corkscrew_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return corkscrew_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return corkscrew_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return corkscrew_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return corkscrew_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - return corkscrew_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - return corkscrew_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return corkscrew_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return corkscrew_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: - return corkscrew_rc_track_brakes; - case TRACK_ELEM_ON_RIDE_PHOTO: - return corkscrew_rc_track_on_ride_photo; - case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: - return corkscrew_rc_track_flat_to_60_deg_up_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: - return corkscrew_rc_track_60_deg_up_to_flat_long_base; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: - return corkscrew_rc_track_flat_to_60_deg_down_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: - return corkscrew_rc_track_60_deg_up_to_flat_long_base122; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return corkscrew_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return corkscrew_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return corkscrew_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return corkscrew_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return corkscrew_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return corkscrew_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return corkscrew_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return corkscrew_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return corkscrew_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return corkscrew_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return corkscrew_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return corkscrew_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return corkscrew_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return corkscrew_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return corkscrew_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return corkscrew_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return corkscrew_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return corkscrew_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return corkscrew_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return corkscrew_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return corkscrew_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return corkscrew_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return corkscrew_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return corkscrew_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return corkscrew_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return corkscrew_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return corkscrew_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return corkscrew_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return corkscrew_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return corkscrew_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return corkscrew_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return corkscrew_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return corkscrew_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return corkscrew_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return corkscrew_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: - return corkscrew_rc_track_block_brakes; + switch (trackType) { + case TRACK_ELEM_FLAT: + return corkscrew_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return corkscrew_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return corkscrew_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return corkscrew_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return corkscrew_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return corkscrew_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return corkscrew_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return corkscrew_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return corkscrew_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return corkscrew_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return corkscrew_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return corkscrew_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return corkscrew_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return corkscrew_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return corkscrew_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return corkscrew_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return corkscrew_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return corkscrew_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return corkscrew_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return corkscrew_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return corkscrew_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return corkscrew_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return corkscrew_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return corkscrew_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return corkscrew_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return corkscrew_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return corkscrew_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return corkscrew_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return corkscrew_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return corkscrew_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return corkscrew_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return corkscrew_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return corkscrew_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return corkscrew_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return corkscrew_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return corkscrew_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return corkscrew_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return corkscrew_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + return corkscrew_rc_track_left_vertical_loop; + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + return corkscrew_rc_track_right_vertical_loop; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return corkscrew_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return corkscrew_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return corkscrew_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return corkscrew_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return corkscrew_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return corkscrew_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return corkscrew_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return corkscrew_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_HALF_LOOP_UP: + return corkscrew_rc_track_half_loop_up; + case TRACK_ELEM_HALF_LOOP_DOWN: + return corkscrew_rc_track_half_loop_down; + case TRACK_ELEM_LEFT_CORKSCREW_UP: + return corkscrew_rc_track_left_corkscrew_up; + case TRACK_ELEM_RIGHT_CORKSCREW_UP: + return corkscrew_rc_track_right_corkscrew_up; + case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + return corkscrew_rc_track_left_corkscrew_down; + case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + return corkscrew_rc_track_right_corkscrew_down; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return corkscrew_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return corkscrew_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return corkscrew_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return corkscrew_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return corkscrew_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return corkscrew_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return corkscrew_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return corkscrew_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + return corkscrew_rc_track_left_quarter_turn_1_60_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + return corkscrew_rc_track_right_quarter_turn_1_60_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return corkscrew_rc_track_left_quarter_turn_1_60_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return corkscrew_rc_track_right_quarter_turn_1_60_deg_down; + case TRACK_ELEM_BRAKES: + return corkscrew_rc_track_brakes; + case TRACK_ELEM_ON_RIDE_PHOTO: + return corkscrew_rc_track_on_ride_photo; + case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: + return corkscrew_rc_track_flat_to_60_deg_up_long_base; + case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: + return corkscrew_rc_track_60_deg_up_to_flat_long_base; + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: + return corkscrew_rc_track_flat_to_60_deg_down_long_base; + case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: + return corkscrew_rc_track_60_deg_up_to_flat_long_base122; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return corkscrew_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return corkscrew_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return corkscrew_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return corkscrew_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return corkscrew_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return corkscrew_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return corkscrew_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return corkscrew_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return corkscrew_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return corkscrew_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return corkscrew_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return corkscrew_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return corkscrew_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return corkscrew_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return corkscrew_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return corkscrew_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return corkscrew_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return corkscrew_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return corkscrew_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return corkscrew_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return corkscrew_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return corkscrew_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return corkscrew_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return corkscrew_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return corkscrew_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return corkscrew_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return corkscrew_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return corkscrew_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return corkscrew_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return corkscrew_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return corkscrew_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return corkscrew_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return corkscrew_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return corkscrew_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return corkscrew_rc_track_diag_right_bank; + case TRACK_ELEM_BLOCK_BRAKES: + return corkscrew_rc_track_block_brakes; - case TRACK_ELEM_BOOSTER: - return corkscrew_rc_track_booster; - } - return NULL; + case TRACK_ELEM_BOOSTER: + return corkscrew_rc_track_booster; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/flying_roller_coaster.c b/src/openrct2/ride/coaster/flying_roller_coaster.c index c4872787b9..125916ffa2 100644 --- a/src/openrct2/ride/coaster/flying_roller_coaster.c +++ b/src/openrct2/ride/coaster/flying_roller_coaster.c @@ -29,13450 +29,13450 @@ /** rct2: 0x007C6FF4 */ static void flying_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17486, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17487, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17488, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17489, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17146, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17147, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27131, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27132, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27129, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27130, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17486, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17487, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17488, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17489, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17146, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17147, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27131, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27132, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27129, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27130, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x007C7244, 0x007C7254, 0x007C7264 */ static void flying_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_inverted(mapElement)) { - static const uint32 imageIds[4][3] = { - { SPR_STATION_BASE_C_SW_NE, 27131, SPR_STATION_INVERTED_BAR_C_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 27132, SPR_STATION_INVERTED_BAR_C_NW_SE }, - { SPR_STATION_BASE_C_SW_NE, 27131, SPR_STATION_INVERTED_BAR_C_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 27132, SPR_STATION_INVERTED_BAR_C_NW_SE }, - }; + if (track_element_is_inverted(mapElement)) { + static const uint32 imageIds[4][3] = { + { SPR_STATION_BASE_C_SW_NE, 27131, SPR_STATION_INVERTED_BAR_C_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 27132, SPR_STATION_INVERTED_BAR_C_NW_SE }, + { SPR_STATION_BASE_C_SW_NE, 27131, SPR_STATION_INVERTED_BAR_C_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 27132, SPR_STATION_INVERTED_BAR_C_NW_SE }, + }; sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 1, height + 24, 0, 6, height + 24); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); - track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_1); - } else { - static const uint32 imageIds[4][3] = { - { 17154, 17150, SPR_STATION_BASE_A_SW_NE }, - { 17155, 17151, SPR_STATION_BASE_A_NW_SE }, - { 17154, 17150, SPR_STATION_BASE_A_SW_NE }, - { 17155, 17151, SPR_STATION_BASE_A_NW_SE }, - }; + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 1, height + 24, 0, 6, height + 24); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); + track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_1); + } else { + static const uint32 imageIds[4][3] = { + { 17154, 17150, SPR_STATION_BASE_A_SW_NE }, + { 17155, 17151, SPR_STATION_BASE_A_NW_SE }, + { 17154, 17150, SPR_STATION_BASE_A_SW_NE }, + { 17155, 17151, SPR_STATION_BASE_A_NW_SE }, + }; - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } else { - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } - sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); - track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); - } + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } else { + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } + sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); + track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x007C7004 */ static void flying_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17204, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17205, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17206, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17207, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - } else { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27249, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27250, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27251, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27252, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27221, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27222, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27223, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27224, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17204, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17205, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17206, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17207, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + } else { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27249, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27250, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27251, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27252, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27221, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27222, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27223, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27224, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_general_support_height(height + 56, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_general_support_height(height + 56, 0x20); + } } /** rct2: 0x007C7014 */ static void flying_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17220, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17221, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17222, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17223, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27237, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27238, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27239, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27240, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17220, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17221, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17222, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17223, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27237, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27238, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27239, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27240, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + } } /** rct2: 0x007C7024 */ static void flying_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17196, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17197, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17198, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17199, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27241, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27242, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27243, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27244, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27213, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27214, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27215, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27216, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17196, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17197, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17198, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17199, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27241, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27242, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27243, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27244, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27213, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27214, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27215, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27216, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_general_support_height(height + 48, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_general_support_height(height + 48, 0x20); + } } /** rct2: 0x007C7034 */ static void flying_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17208, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17209, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17212, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17210, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17213, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17211, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27225, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27229, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27226, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27230, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27227, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27228, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17208, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17209, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17212, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17210, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17213, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17211, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27225, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27229, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27226, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27230, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27227, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27228, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + } } /** rct2: 0x007C7044 */ static void flying_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17214, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17215, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17218, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17216, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17219, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17217, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27231, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27235, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27232, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27236, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27233, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27234, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17214, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17215, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17218, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17216, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17219, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17217, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27231, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27235, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27232, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27236, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27233, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27234, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 71, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 71, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 71, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 71, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 71, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 71, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 71, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 71, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_general_support_height(height + 72, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_general_support_height(height + 72, 0x20); + } } /** rct2: 0x007C7054 */ static void flying_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17200, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17201, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17202, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17203, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27245, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27246, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27247, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27248, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27217, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27218, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27219, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27220, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17200, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17201, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17202, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17203, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27245, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27246, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27247, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27248, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27217, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27218, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27219, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27220, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_general_support_height(height + 40, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_general_support_height(height + 40, 0x20); + } } /** rct2: 0x007C7064 */ static void flying_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7074 */ static void flying_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7084 */ static void flying_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7094 */ static void flying_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C70A4 */ static void flying_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C70B4 */ static void flying_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C70C4 */ static void flying_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17259, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17264, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17269, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17254, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17258, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17263, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17268, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17253, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17257, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17262, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17267, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17252, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17256, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17261, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17266, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17251, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17255, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17260, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17265, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17250, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27142, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27147, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27152, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27137, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17259, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17264, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17269, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17254, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17258, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17263, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17268, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17253, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17257, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17262, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17267, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17252, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17256, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17261, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17266, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17251, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17255, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17260, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17265, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17250, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27142, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27147, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27152, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27137, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27141, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27146, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27151, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27136, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27140, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27145, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27150, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27135, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27139, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27144, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27149, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27134, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27138, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27143, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27148, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27133, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27141, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27146, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27151, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27136, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27140, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27145, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27150, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27135, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27139, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27144, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27149, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27134, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27138, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27143, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27148, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27133, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C70D4 */ static void flying_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - flying_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + flying_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x007C70E4 */ static void flying_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17156, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17164, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17157, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17165, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17158, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17159, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27269, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27270, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27271, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27272, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17156, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17164, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17157, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17165, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17158, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17159, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27269, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27270, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27271, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27272, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x007C70F4 */ static void flying_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17160, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17161, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17162, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17166, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17163, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17167, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27273, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27274, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27275, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27276, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17160, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17161, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17162, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17166, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17163, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17167, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27273, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27274, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27275, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27276, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x007C7104 */ static void flying_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17162, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17166, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17163, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17167, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17160, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17161, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27275, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27276, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27273, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27274, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17162, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17166, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17163, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17167, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17160, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17161, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27275, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27276, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27273, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27274, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x007C7114 */ static void flying_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17158, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17159, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17156, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17164, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17157, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17165, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27271, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27272, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27269, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27270, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17158, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17159, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17156, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17164, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17157, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17165, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27271, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27272, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27269, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27270, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x007C7124 */ static void flying_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17279, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17290, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17284, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17289, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17274, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17278, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17283, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17288, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17273, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17277, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17282, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17287, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17272, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17276, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17281, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17286, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17271, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17275, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17280, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17285, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17291, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17270, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27162, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27167, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27172, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27157, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17279, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17290, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17284, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17289, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17274, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17278, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17283, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17288, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17273, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17277, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17282, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17287, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17272, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17276, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17281, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17286, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17271, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17275, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17280, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17285, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17291, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17270, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27162, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27167, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27172, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27157, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27161, 0, 0, 32, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27166, 0, 0, 32, 16, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27171, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27156, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27160, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27165, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27170, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27155, 0, 0, 16, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27159, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27164, 0, 0, 16, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27169, 0, 0, 16, 32, 3, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27154, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27158, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27163, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27168, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27153, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27161, 0, 0, 32, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27166, 0, 0, 32, 16, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27171, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27156, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27160, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27165, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27170, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27155, 0, 0, 16, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27159, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27164, 0, 0, 16, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27169, 0, 0, 16, 32, 3, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27154, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27158, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27163, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27168, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27153, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7134 */ static void flying_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - flying_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + flying_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x007C7144 */ static void flying_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17168, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17172, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17169, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17173, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17170, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17171, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27277, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27278, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27279, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27280, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17168, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17172, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17169, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17173, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17170, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17171, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27277, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27278, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27279, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27280, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_general_support_height(height + 48, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_general_support_height(height + 48, 0x20); + } } /** rct2: 0x007C7154 */ static void flying_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17174, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17175, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17176, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17178, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17177, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17179, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27281, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27282, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27283, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27284, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17174, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17175, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17176, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17178, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17177, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17179, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27281, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27282, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27283, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27284, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_general_support_height(height + 48, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_general_support_height(height + 48, 0x20); + } } /** rct2: 0x007C7164 */ static void flying_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17180, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17184, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17181, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17185, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17182, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17183, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27285, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27286, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27287, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27288, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17180, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17184, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17181, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17185, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17182, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17183, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27285, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27286, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27287, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27288, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_general_support_height(height + 40, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_general_support_height(height + 40, 0x20); + } } /** rct2: 0x007C7174 */ static void flying_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17186, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17187, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17188, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17190, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17189, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17191, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27289, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27290, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27291, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27292, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17186, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17187, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17188, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17190, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17189, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17191, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27289, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27290, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27291, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27292, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_general_support_height(height + 40, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_general_support_height(height + 40, 0x20); + } } /** rct2: 0x007C7184 */ static void flying_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7194 */ static void flying_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C71A4 */ static void flying_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C71B4 */ static void flying_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C71C4 */ static void flying_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17192, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17193, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17194, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17195, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27293, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27294, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27295, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27296, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17192, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17193, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17194, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17195, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27293, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27294, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27295, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27296, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x007C71D4 */ static void flying_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C71E4 */ static void flying_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17344, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17349, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17354, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17359, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17345, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17350, 0, 0, 32, 16, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17355, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17360, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17346, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17351, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17356, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17361, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17347, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17352, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17357, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17362, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17348, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17353, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17358, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17363, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27317, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27322, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27327, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27332, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17344, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17349, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17354, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17359, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17345, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17350, 0, 0, 32, 16, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17355, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17360, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17346, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17351, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17356, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17361, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17347, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17352, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17357, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17362, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17348, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17353, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17358, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17363, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27317, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27322, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27327, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27332, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27318, 0, 0, 32, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27323, 0, 0, 32, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27328, 0, 16, 32, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27333, 0, 16, 32, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27319, 0, 16, 16, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27324, 16, 16, 16, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27329, 16, 0, 16, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27334, 0, 0, 16, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27320, 16, 0, 16, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27325, 0, 0, 16, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27330, 0, 0, 16, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27335, 16, 0, 16, 32, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27321, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27326, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27331, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27336, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27318, 0, 0, 32, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27323, 0, 0, 32, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27328, 0, 16, 32, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27333, 0, 16, 32, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27319, 0, 16, 16, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27324, 16, 16, 16, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27329, 16, 0, 16, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27334, 0, 0, 16, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27320, 16, 0, 16, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27325, 0, 0, 16, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27330, 0, 0, 16, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27335, 16, 0, 16, 32, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27321, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27326, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27331, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27336, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x007C71F4 */ static void flying_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17324, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17329, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17334, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17339, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17325, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17330, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17335, 0, 0, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17340, 0, 0, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17326, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17331, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17336, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17341, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17327, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17332, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17337, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17342, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17328, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17333, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17338, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17343, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27297, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27302, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27307, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27312, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17324, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17329, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17334, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17339, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17325, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17330, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17335, 0, 0, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17340, 0, 0, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17326, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17331, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17336, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17341, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17327, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17332, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17337, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17342, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17328, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17333, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17338, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17343, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27297, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27302, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27307, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27312, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27298, 0, 16, 32, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27303, 0, 16, 32, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27308, 0, 0, 32, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27313, 0, 0, 32, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27299, 0, 0, 16, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27304, 16, 0, 16, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27309, 16, 16, 16, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27314, 0, 16, 16, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27300, 16, 0, 16, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27305, 0, 0, 16, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27310, 0, 0, 16, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27315, 16, 0, 16, 32, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27301, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27306, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27311, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27316, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27298, 0, 16, 32, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27303, 0, 16, 32, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27308, 0, 0, 32, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27313, 0, 0, 32, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27299, 0, 0, 16, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27304, 16, 0, 16, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27309, 16, 16, 16, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27314, 0, 16, 16, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27300, 16, 0, 16, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27305, 0, 0, 16, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27310, 0, 0, 16, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27315, 16, 0, 16, 32, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27301, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27306, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27311, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27316, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x007C7204 */ static void flying_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - flying_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + flying_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x007C7214 */ static void flying_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - flying_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + flying_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x007C7224 */ static void flying_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17308, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17312, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17311, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17315, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17309, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17313, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17310, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17314, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17310, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17314, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17309, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17313, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17311, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17315, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17308, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17312, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27253, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27257, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27256, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27260, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17308, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17312, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17311, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17315, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17309, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17313, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17310, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17314, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17310, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17314, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17309, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17313, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17311, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17315, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17308, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17312, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27253, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27257, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27256, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27260, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27254, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27258, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27255, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27259, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27254, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27258, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27255, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27259, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27255, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27259, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27254, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27258, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27255, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27259, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27254, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27258, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27256, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27260, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27253, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27257, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27256, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27260, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27253, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27257, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7234 */ static void flying_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17316, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17320, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17319, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17323, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17317, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17321, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17318, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17322, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17318, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17322, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17317, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17321, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17319, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17323, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17316, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17320, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27261, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27265, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27264, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27268, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17316, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17320, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17319, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17323, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17317, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17321, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17318, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17322, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17318, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17322, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17317, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17321, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17319, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17323, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17316, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17320, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27261, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27265, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27264, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27268, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27262, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27266, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27263, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27267, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27262, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27266, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27263, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27267, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27263, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27267, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27262, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27266, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27263, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27267, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27262, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27266, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27264, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27268, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27261, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27265, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27264, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27268, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27261, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27265, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7274 */ static void flying_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17229, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17232, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17235, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17226, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17228, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17231, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17234, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17225, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17227, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17230, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17233, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17224, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27392, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27395, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27398, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27389, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17229, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17232, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17235, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17226, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17228, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17231, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17234, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17225, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17227, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17230, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17233, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17224, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27392, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27395, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27398, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27389, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27391, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27394, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27397, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27388, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27390, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27393, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27396, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27387, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27391, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27394, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27397, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27388, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27390, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27393, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27396, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27387, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7284 */ static void flying_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - flying_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + flying_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x007C7294 */ static void flying_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17241, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17248, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17244, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17247, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17238, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17240, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17243, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17246, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17237, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17239, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17242, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17245, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17249, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17236, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27404, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27407, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27410, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27401, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17241, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17248, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17244, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17247, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17238, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17240, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17243, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17246, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17237, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17239, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17242, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17245, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17249, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17236, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27404, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27407, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27410, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27401, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27403, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27406, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27409, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27400, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27402, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27405, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27408, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27399, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27403, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27406, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27409, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27400, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27402, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27405, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27408, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27399, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C72A4 */ static void flying_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - flying_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + flying_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x007C72B4 */ static void flying_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17375, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17377, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17379, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17373, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17374, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17376, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17378, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17372, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27422, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27424, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27426, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27420, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17375, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17377, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17379, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17373, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17374, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17376, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17378, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17372, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27422, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27424, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27426, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27420, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27421, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27423, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27425, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27419, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27421, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27423, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27425, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27419, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x007C72C4 */ static void flying_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17364, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17366, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17368, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17370, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17365, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17367, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17369, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17371, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27411, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27413, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27415, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27417, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17364, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17366, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17368, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17370, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17365, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17367, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17369, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17371, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27411, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27413, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27415, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27417, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27412, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27414, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27416, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27418, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27412, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27414, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27416, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27418, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x007C72D4 */ static void flying_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - flying_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + flying_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x007C72E4 */ static void flying_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - flying_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + flying_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x007C7314 */ static void flying_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17399, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17406, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17402, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17405, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17396, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17398, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17401, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17404, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17395, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17397, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17400, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17403, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17407, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17394, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17396, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17399, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17406, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17402, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17405, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17395, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17398, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17401, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17404, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17394, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17397, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17400, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17403, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17407, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17399, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17406, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17402, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17405, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17396, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17398, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17401, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17404, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17395, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17397, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17400, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17403, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17407, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17394, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17396, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17399, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17406, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17402, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17405, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17395, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17398, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17401, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17404, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17394, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17397, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17400, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17403, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17407, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17399, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17406, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17402, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17405, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17396, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17398, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17401, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17404, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17395, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17397, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17400, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17403, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17407, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17394, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17396, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17399, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17406, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17402, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17405, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17395, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17398, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17401, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17404, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17394, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17397, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17400, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17403, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17407, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17399, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17406, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17402, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17405, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17396, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17398, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17401, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17404, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17395, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17397, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17400, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17403, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17407, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17394, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17396, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17399, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17406, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17402, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17405, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17395, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17398, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17401, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17404, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17394, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17397, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17400, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17403, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17407, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7324 */ static void flying_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17380, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17383, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17386, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17389, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17393, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17381, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17384, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17387, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17390, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17382, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17385, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17392, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17388, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17391, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17383, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17386, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17389, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17393, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17380, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17384, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17387, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17390, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17381, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17385, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17392, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17388, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17391, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17382, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17380, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17383, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17386, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17389, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17393, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17381, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17384, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17387, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17390, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17382, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17385, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17392, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17388, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17391, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17383, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17386, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17389, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17393, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17380, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17384, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17387, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17390, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17381, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17385, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17392, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17388, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17391, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17382, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17380, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17383, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17386, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17389, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17393, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17381, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17384, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17387, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17390, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17382, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17385, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17392, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17388, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17391, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17383, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17386, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17389, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17393, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17380, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17384, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17387, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17390, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17381, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17385, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17392, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17388, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17391, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17382, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17380, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17383, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17386, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17389, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17393, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17381, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17384, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17387, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17390, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17382, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17385, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17392, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17388, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17391, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17383, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17386, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17389, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17393, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17380, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17384, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17387, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17390, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17381, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17385, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17392, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17388, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17391, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17382, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7334 */ static void flying_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - flying_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + flying_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x007C7344 */ static void flying_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - flying_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + flying_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x007C7354 */ static void flying_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17439, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17450, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17444, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17449, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17434, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17438, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17443, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17448, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17433, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17437, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17442, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17447, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17432, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17436, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17441, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17446, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17431, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17435, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17440, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17445, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17451, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17430, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17434, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17439, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17450, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17444, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17449, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17433, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17438, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17443, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17448, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17432, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17437, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17442, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17447, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17431, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17436, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17441, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17446, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17430, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17435, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17440, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17445, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17451, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17439, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17450, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17444, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17449, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17434, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17438, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17443, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17448, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17433, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17437, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17442, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17447, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17432, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17436, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17441, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17446, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17431, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17435, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17440, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17445, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17451, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17430, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17434, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17439, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17450, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17444, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17449, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17433, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17438, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17443, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17448, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17432, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17437, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17442, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17447, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17431, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17436, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17441, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17446, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17430, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17435, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17440, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17445, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17451, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17439, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17450, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17444, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17449, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17434, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17438, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17443, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17448, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17433, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17437, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17442, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17447, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17432, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17436, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17441, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17446, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17431, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17435, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17440, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17445, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17451, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17430, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17434, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17439, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17450, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17444, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17449, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17433, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17438, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17443, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17448, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17432, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17437, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17442, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17447, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17431, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17436, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17441, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17446, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17430, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17435, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17440, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17445, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17451, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17439, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17450, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17444, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17449, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17434, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17438, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17443, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17448, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17433, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17437, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17442, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17447, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17432, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17436, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17441, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17446, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17431, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17435, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17440, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17445, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17451, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17430, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17434, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17439, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17450, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17444, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17449, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17433, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17438, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17443, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17448, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17432, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17437, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17442, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17447, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17431, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17436, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17441, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17446, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17430, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17435, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17440, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17445, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17451, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7364 */ static void flying_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17408, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17413, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17418, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17423, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17429, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17409, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17414, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17419, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17424, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17410, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17415, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17420, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17425, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17411, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17416, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17421, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17426, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17412, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17417, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17428, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17422, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17427, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17413, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17418, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17423, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17429, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17408, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17414, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17419, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17424, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17409, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17415, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17420, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17425, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17410, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17416, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17421, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17426, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17411, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17417, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17428, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17422, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17427, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17412, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17408, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17413, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17418, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17423, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17429, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17409, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17414, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17419, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17424, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17410, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17415, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17420, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17425, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17411, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17416, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17421, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17426, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17412, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17417, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17428, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17422, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17427, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17413, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17418, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17423, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17429, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17408, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17414, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17419, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17424, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17409, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17415, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17420, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17425, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17410, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17416, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17421, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17426, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17411, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17417, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17428, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17422, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17427, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17412, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17408, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17413, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17418, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17423, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17429, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17409, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17414, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17419, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17424, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17410, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17415, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17420, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17425, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17411, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17416, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17421, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17426, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17412, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17417, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17428, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17422, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17427, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17413, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17418, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17423, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17429, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17408, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17414, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17419, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17424, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17409, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17415, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17420, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17425, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17410, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17416, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17421, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17426, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17411, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17417, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17428, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17422, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17427, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17412, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17408, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17413, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17418, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17423, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17429, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17409, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17414, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17419, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17424, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17410, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17415, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17420, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17425, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17411, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17416, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17421, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17426, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17412, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17417, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17428, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17422, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17427, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17413, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17418, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17423, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17429, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17408, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17414, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17419, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17424, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17409, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17415, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17420, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17425, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17410, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17416, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17421, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17426, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17411, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17417, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17428, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17422, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17427, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17412, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7374 */ static void flying_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - flying_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + flying_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x007C7384 */ static void flying_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - flying_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + flying_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x007C73B4 */ static void flying_rc_track_left_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17301, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17305, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17302, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17306, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17303, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17307, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17300, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17304, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27352, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27348, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27353, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27349, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27354, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27350, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27351, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27347, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17301, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17305, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17302, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17306, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17303, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17307, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17300, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17304, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27352, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27348, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27353, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27349, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27354, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27350, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27351, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27347, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); + break; + } + } - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x007C7394 */ static void flying_rc_track_right_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17292, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17296, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17293, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17297, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17294, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17298, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17295, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17299, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27343, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27339, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27344, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27340, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27345, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27341, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27346, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27342, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); - break; - } - } - track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17292, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17296, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17293, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17297, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17294, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17298, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17295, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17299, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27343, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27339, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27344, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27340, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27345, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27341, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27346, 0, 0, 28, 28, 3, height - 5, 2, 2, height - 5); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27342, 0, 0, 28, 28, 1, height - 5, 2, 2, height + 94); + break; + } + } + track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x007C73A4 */ static void flying_rc_track_left_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + flying_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x007C73C4 */ static void flying_rc_track_right_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + flying_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x007C73D4 */ static void flying_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17148, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17149, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27337, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27338, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17148, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17149, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27337, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27338, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x007C7674 */ static void flying_rc_track_left_quarter_banked_helix_large_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27202, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27207, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27212, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27197, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27202, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27207, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27212, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27197, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27201, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27206, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27211, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27196, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27200, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27205, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27210, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27195, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27199, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27204, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27209, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27194, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27198, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27203, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27208, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27193, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27201, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27206, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27211, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27196, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27200, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27205, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27210, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27195, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27199, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27204, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27209, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27194, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27198, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27203, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27208, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27193, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 16, TUNNEL_9); - break; - case 3: - paint_util_push_tunnel_left(height + 16, TUNNEL_9); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27202, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27207, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27212, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27197, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 16, TUNNEL_9); + break; + case 3: + paint_util_push_tunnel_left(height + 16, TUNNEL_9); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27202, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27207, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27212, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27197, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27201, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27206, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27211, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27196, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27200, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27205, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27210, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27195, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27199, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27204, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27209, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27194, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27198, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27203, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27208, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27193, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27201, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27206, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27211, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27196, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27200, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27205, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27210, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27195, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27199, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27204, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27209, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27194, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27198, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27203, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27208, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27193, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 16, TUNNEL_9); - break; - case 3: - paint_util_push_tunnel_left(height + 16, TUNNEL_9); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 16, TUNNEL_9); + break; + case 3: + paint_util_push_tunnel_left(height + 16, TUNNEL_9); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007C7684 */ static void flying_rc_track_right_quarter_banked_helix_large_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27173, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27178, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27183, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27188, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27173, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27178, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27183, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27188, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27174, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27179, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27184, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27189, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27175, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27180, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27185, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27190, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27176, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27181, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27186, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27191, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27177, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27182, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27187, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27192, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27174, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27179, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27184, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27189, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27175, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27180, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27185, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27190, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27176, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27181, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27186, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27191, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27177, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27182, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27187, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27192, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 16, TUNNEL_9); - break; - case 1: - paint_util_push_tunnel_left(height + 16, TUNNEL_9); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27173, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27178, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27183, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27188, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 16, TUNNEL_9); + break; + case 1: + paint_util_push_tunnel_left(height + 16, TUNNEL_9); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27173, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27178, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27183, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27188, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 30); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27174, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27179, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27184, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27189, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27175, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27180, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27185, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27190, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27176, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27181, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27186, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27191, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27177, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27182, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27187, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27192, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27174, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27179, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27184, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27189, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27175, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27180, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27185, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27190, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27176, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27181, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27186, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27191, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27177, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27182, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27187, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27192, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 38); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 16, TUNNEL_9); - break; - case 1: - paint_util_push_tunnel_left(height + 16, TUNNEL_9); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 16, TUNNEL_9); + break; + case 1: + paint_util_push_tunnel_left(height + 16, TUNNEL_9); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007C7694 */ static void flying_rc_track_left_quarter_banked_helix_large_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27182, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27187, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27192, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27177, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27182, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27187, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27192, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27177, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27181, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27186, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27191, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27176, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27180, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27185, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27190, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27175, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27179, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27184, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27189, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27174, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27178, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27183, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27188, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27173, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27181, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27186, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27191, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27176, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27180, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27185, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27190, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27175, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27179, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27184, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27189, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27174, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27178, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27183, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27188, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27173, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_9); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_9); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27182, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27187, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27192, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27177, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_9); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_9); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27182, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27187, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27192, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27177, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27181, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27186, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27191, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27176, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27180, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27185, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27190, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27175, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27179, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27184, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27189, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27174, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27178, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27183, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27188, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27173, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27181, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27186, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27191, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27176, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27180, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27185, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27190, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27175, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27179, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27184, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27189, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27174, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27178, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27183, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27188, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27173, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_9); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_9); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_9); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_9); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007C76A4 */ static void flying_rc_track_right_quarter_banked_helix_large_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27193, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27198, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27203, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27208, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27193, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27198, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27203, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27208, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27194, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27199, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27204, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27209, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27195, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27200, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27205, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27210, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27196, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27201, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27206, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27211, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27197, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27202, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27207, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27212, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27194, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27199, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27204, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27209, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27195, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27200, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27205, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27210, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27196, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27201, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27206, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27211, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27197, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27202, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27207, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27212, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_9); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_9); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27193, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27198, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27203, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27208, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_9); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_9); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27193, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27198, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27203, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27208, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 38); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 53, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27194, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27199, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27204, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27209, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27195, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27200, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27205, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27210, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27196, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27201, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27206, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27211, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27197, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27202, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27207, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27212, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27194, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27199, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27204, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27209, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27195, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27200, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27205, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27210, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27196, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27201, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27206, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 38); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27211, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 38); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27197, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27202, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27207, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27212, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 30); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_9); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_9); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_9); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_9); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007C78B4 */ static void flying_rc_track_25_deg_up_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17914, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17915, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17916, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17917, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27711, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27712, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27713, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27714, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17914, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17915, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17916, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17917, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27711, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27712, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27713, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27714, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_general_support_height(height + 72, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_general_support_height(height + 72, 0x20); + } } /** rct2: 0x007C78C4 */ static void flying_rc_track_25_deg_up_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17918, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17919, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17920, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17921, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27715, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27716, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27717, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27718, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17918, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17919, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17920, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17921, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27715, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27716, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27717, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27718, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_general_support_height(height + 72, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_general_support_height(height + 72, 0x20); + } } /** rct2: 0x007C73E4 */ static void flying_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17146, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17147, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17146, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17147, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27129, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27130, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27129, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27130, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17146, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17147, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17146, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17147, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27129, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27130, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27129, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27130, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + } } /** rct2: 0x007C78D4 */ static void flying_rc_track_25_deg_down_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C78E4 */ static void flying_rc_track_25_deg_down_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7404 */ static void flying_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17546, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17550, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17554, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17558, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17547, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17551, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17555, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17559, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17548, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17552, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17556, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17560, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17549, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17553, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17557, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17561, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27507, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27511, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27515, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27519, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17546, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17550, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17554, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17558, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17547, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17551, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17555, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17559, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17548, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17552, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17556, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17560, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17549, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17553, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17557, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17561, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27507, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27511, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27515, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27519, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27508, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27512, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27516, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27520, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27509, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27513, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27517, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27521, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27510, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27514, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27518, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27522, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27508, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27512, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27516, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27520, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27509, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27513, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27517, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27521, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27510, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27514, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27518, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27522, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7414 */ static void flying_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17530, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17534, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17538, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17542, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17531, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17535, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17539, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17543, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17532, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17536, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17540, 0, 0, 28, 28, 3, height, 4, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17544, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17533, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17537, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17541, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17545, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27491, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27495, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27499, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27503, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17530, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17534, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17538, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17542, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17531, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17535, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17539, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17543, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17532, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17536, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17540, 0, 0, 28, 28, 3, height, 4, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17544, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17533, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17537, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17541, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17545, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27491, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27495, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27499, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27503, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27492, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27496, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27500, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27504, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27493, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27497, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27501, 0, 0, 28, 28, 3, height + 24, 4, 4, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27505, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27494, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27498, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27502, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27506, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27492, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27496, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27500, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27504, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27493, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27497, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27501, 0, 0, 28, 28, 3, height + 24, 4, 4, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27505, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27494, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27498, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27502, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27506, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7424 */ static void flying_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - flying_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + flying_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7434 */ static void flying_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - flying_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + flying_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x007C7444 */ static void flying_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17578, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17582, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17586, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17590, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17579, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17583, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17587, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17591, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17580, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17584, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17588, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17592, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17581, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17585, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17589, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17593, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27539, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27543, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27547, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27551, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17578, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17582, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17586, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17590, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17579, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17583, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17587, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17591, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17580, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17584, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17588, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17592, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17581, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17585, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17589, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17593, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27539, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27543, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27547, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27551, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27540, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27544, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27548, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27552, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27541, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27545, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27549, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27553, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27542, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27546, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27550, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27554, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27540, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27544, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27548, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27552, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27541, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27545, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27549, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27553, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27542, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27546, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27550, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27554, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7454 */ static void flying_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17562, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17566, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17570, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17574, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17563, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17567, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17571, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17575, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17564, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17568, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17572, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17576, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17565, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17569, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17573, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17577, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27523, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27527, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27531, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27535, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17562, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17566, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17570, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17574, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17563, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17567, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17571, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17575, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17564, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17568, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17572, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17576, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17565, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17569, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17573, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17577, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27523, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27527, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27531, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27535, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27524, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27528, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27532, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27536, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27525, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27529, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27533, 0, 0, 28, 28, 3, height + 24, 4, 4, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27537, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27526, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27530, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27534, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27538, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27524, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27528, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27532, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27536, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27525, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27529, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27533, 0, 0, 28, 28, 3, height + 24, 4, 4, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27537, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27526, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27530, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27534, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27538, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7464 */ static void flying_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - flying_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + flying_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7474 */ static void flying_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - flying_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + flying_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x007C73F4 */ static void flying_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17861, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17791, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17858, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17788, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17860, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17790, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17859, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17789, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27614, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27558, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27611, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27555, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27613, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27557, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27612, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27556, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17861, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17791, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17858, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17788, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17860, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17790, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17859, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17789, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27614, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27558, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27611, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27555, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27613, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27557, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27612, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27556, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C74A4 */ static void flying_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17873, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17803, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17870, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17800, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17872, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17802, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17871, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17801, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27626, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27570, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27623, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27567, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27625, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27569, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27624, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27568, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17873, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17803, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17870, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17800, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17872, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17802, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17871, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17801, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27626, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27570, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27623, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27567, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27625, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27569, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27624, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27568, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x007C7504 */ static void flying_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17885, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17815, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17882, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17812, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17884, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17814, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17883, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17813, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27582, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27579, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27581, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27580, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17885, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17815, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17882, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17812, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17884, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17814, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17883, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17813, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27582, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27579, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27581, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27580, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 104, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 104, 0x20); + break; + } + } } /** rct2: 0x007C7484 */ static void flying_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17865, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17795, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17862, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17792, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17864, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17794, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17863, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17793, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27618, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27562, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27615, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27559, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27617, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27561, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27616, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27560, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17865, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17795, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17862, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17792, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17864, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17794, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17863, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17793, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27618, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27562, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27615, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27559, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27617, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27561, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27616, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27560, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007C74E4 */ static void flying_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17877, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17807, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17874, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17804, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17876, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17806, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17875, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17805, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27574, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27571, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27573, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27572, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17877, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17807, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17874, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17804, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17876, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17806, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17875, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17805, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27574, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27571, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27573, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27572, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x007C74F4 */ static void flying_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17881, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17811, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17878, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17808, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17880, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17810, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17879, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17809, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27578, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27575, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27577, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27576, -16, -16, 16, 16, 3, height + 24, 0, 0, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17881, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17811, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17878, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17808, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17880, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17810, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17879, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17809, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27578, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27575, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27577, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27576, -16, -16, 16, 16, 3, height + 24, 0, 0, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x007C7494 */ static void flying_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17869, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17799, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17866, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17796, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17868, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17798, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17867, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17797, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27622, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27566, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27619, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27563, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27621, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27565, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27620, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27564, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17869, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17799, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17866, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17796, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17868, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17798, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17867, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17797, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27622, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27566, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27619, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27563, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27621, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27565, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27620, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27564, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x007C74D4 */ static void flying_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17871, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17801, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17872, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17802, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17870, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17800, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17873, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17803, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27568, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27569, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27567, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27570, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17871, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17801, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17872, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17802, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17870, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17800, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17873, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17803, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27568, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27569, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27567, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27570, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x007C7534 */ static void flying_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17883, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17813, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17884, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17814, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17882, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17812, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17885, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17815, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27580, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27581, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27579, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27582, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17883, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17813, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17884, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17814, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17882, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17812, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17885, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17815, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27580, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27581, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27579, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27582, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 104, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 104, 0x20); + break; + } + } } /** rct2: 0x007C74B4 */ static void flying_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17867, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17797, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17868, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17798, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17866, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17796, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17869, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17799, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27564, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27565, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27563, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27566, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17867, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17797, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17868, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17798, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17866, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17796, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17869, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17799, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27564, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27565, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27563, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27566, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x007C7514 */ static void flying_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17879, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17809, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17880, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17810, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17878, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17808, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17881, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17811, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27576, -16, -16, 16, 16, 3, height + 24, 0, 0, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27577, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27575, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27578, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17879, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17809, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17880, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17810, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17878, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17808, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17881, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17811, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27576, -16, -16, 16, 16, 3, height + 24, 0, 0, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27577, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27575, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27578, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x007C7524 */ static void flying_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17875, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17805, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17876, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17806, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17874, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17804, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17877, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17807, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27572, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27573, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27571, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27574, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17875, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17805, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17876, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17806, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17874, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17804, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17877, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17807, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27572, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27573, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27571, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27574, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x007C74C4 */ static void flying_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17863, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17793, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17864, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17794, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17862, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17792, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17865, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17795, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27560, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27561, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27559, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27562, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17863, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17793, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17864, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17794, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17862, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17792, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17865, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17795, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27560, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27561, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27559, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27562, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007C7564 */ static void flying_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17831, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17828, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17832, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17830, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17829, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27590, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27587, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27589, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27588, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17831, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17828, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17832, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17830, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17829, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27590, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27587, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27589, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27588, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7574 */ static void flying_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17836, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17833, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17835, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17837, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17834, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27594, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27591, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27593, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27592, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17836, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17833, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17835, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17837, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17834, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27594, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27591, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27593, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27592, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7584 */ static void flying_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17834, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17835, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17837, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17833, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17836, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27592, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27593, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27591, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27594, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17834, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17835, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17837, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17833, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17836, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27592, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27593, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27591, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27594, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7594 */ static void flying_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17829, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17830, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17828, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17832, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17831, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27588, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27589, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27587, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27590, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17829, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17830, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17828, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17832, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17831, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27588, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27589, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27587, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27590, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C75C4 */ static void flying_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17851, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17848, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17852, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17850, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17849, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27606, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27603, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27605, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27604, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17851, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17848, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17852, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17850, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17849, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27606, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27603, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27605, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27604, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007C75D4 */ static void flying_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17856, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17853, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17855, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17854, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27610, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27607, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27609, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27608, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17856, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17853, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17855, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17854, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27610, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27607, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27609, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27608, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007C75A4 */ static void flying_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17841, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17838, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17842, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17840, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17839, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27598, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27595, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27597, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27596, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17841, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17838, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17842, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17840, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17839, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27598, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27595, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27597, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27596, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x007C75B4 */ static void flying_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17846, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17843, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17845, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17847, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17844, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27602, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27599, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27601, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27600, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17846, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17843, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17845, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17847, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17844, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27602, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27599, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27601, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27600, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x007C75E4 */ static void flying_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17844, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17845, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17847, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17843, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17846, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27600, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27601, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27599, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27602, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17844, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17845, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17847, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17843, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17846, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27600, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27601, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27599, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27602, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x007C75F4 */ static void flying_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17839, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17840, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17838, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17842, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17841, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27596, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27597, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27595, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27598, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17839, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17840, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17838, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17842, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17841, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27596, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27597, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27595, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27598, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x007C7604 */ static void flying_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17854, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17855, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17853, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17856, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27608, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27609, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27607, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27610, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17854, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17855, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17853, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17856, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27608, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27609, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27607, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27610, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007C7614 */ static void flying_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17849, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17850, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17848, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17852, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17851, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27604, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27605, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27603, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27606, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17849, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17850, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17848, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17852, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17851, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27604, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27605, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27603, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27606, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007C7544 */ static void flying_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17827, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17824, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17826, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17825, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27586, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27583, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27585, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27584, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17827, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17824, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17826, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17825, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27586, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27583, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27585, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27584, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7554 */ static void flying_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17825, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17826, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17824, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17827, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27584, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27585, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27583, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27586, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17825, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17826, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17824, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17827, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27584, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27585, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27583, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27586, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7624 */ static void flying_rc_track_left_flyer_twist_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27430, 0, 6, 32, 20, 3, height - 5); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27436, 0, 6, 32, 20, 3, height - 5); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27429, 0, 6, 32, 20, 3, height - 5); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27435, 0, 6, 32, 20, 3, height - 5); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27431, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27437, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27428, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27434, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27432, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27438, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27427, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27433, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27430, 0, 6, 32, 20, 3, height - 5); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27436, 0, 6, 32, 20, 3, height - 5); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27429, 0, 6, 32, 20, 3, height - 5); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27435, 0, 6, 32, 20, 3, height - 5); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27431, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27437, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27428, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27434, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27432, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27438, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27427, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27433, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27430, 0, 6, 32, 20, 3, height - 5); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27436, 0, 6, 32, 20, 3, height - 5); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27429, 0, 6, 32, 20, 3, height - 5); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27435, 0, 6, 32, 20, 3, height - 5); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27431, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27437, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27428, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27434, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27432, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27438, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27427, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27433, 0, 6, 32, 20, 3, height + 24); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27430, 0, 6, 32, 20, 3, height - 5); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27436, 0, 6, 32, 20, 3, height - 5); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27429, 0, 6, 32, 20, 3, height - 5); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27435, 0, 6, 32, 20, 3, height - 5); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27431, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27437, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27428, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27434, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27432, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27438, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27427, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27433, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7634 */ static void flying_rc_track_right_flyer_twist_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27442, 0, 6, 32, 20, 3, height - 5); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27448, 0, 6, 32, 20, 3, height - 5); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27441, 0, 6, 32, 20, 3, height - 5); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27447, 0, 6, 32, 20, 3, height - 5); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27443, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27449, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27440, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27446, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27444, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27450, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27439, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27445, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27442, 0, 6, 32, 20, 3, height - 5); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27448, 0, 6, 32, 20, 3, height - 5); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27441, 0, 6, 32, 20, 3, height - 5); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27447, 0, 6, 32, 20, 3, height - 5); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27443, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27449, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27440, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27446, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27444, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27450, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27439, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27445, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27442, 0, 6, 32, 20, 3, height - 5); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27448, 0, 6, 32, 20, 3, height - 5); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27441, 0, 6, 32, 20, 3, height - 5); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27447, 0, 6, 32, 20, 3, height - 5); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27443, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27449, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27440, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27446, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27444, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27450, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27439, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27445, 0, 6, 32, 20, 3, height + 24); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27442, 0, 6, 32, 20, 3, height - 5); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27448, 0, 6, 32, 20, 3, height - 5); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27441, 0, 6, 32, 20, 3, height - 5); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27447, 0, 6, 32, 20, 3, height - 5); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27443, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27449, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27440, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27446, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27444, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27450, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27439, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27445, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7644 */ static void flying_rc_track_left_flyer_twist_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27427, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27433, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27432, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27438, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27427, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27433, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27432, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27438, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27428, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27434, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27431, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27437, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27429, 0, 6, 32, 20, 3, height - 5); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27435, 0, 6, 32, 20, 3, height - 5); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27430, 0, 6, 32, 20, 3, height - 5); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27436, 0, 6, 32, 20, 3, height - 5); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27427, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27433, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27432, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27438, 0, 6, 32, 20, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27428, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27434, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27431, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27437, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27429, 0, 6, 32, 20, 3, height - 5); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27435, 0, 6, 32, 20, 3, height - 5); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27430, 0, 6, 32, 20, 3, height - 5); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27436, 0, 6, 32, 20, 3, height - 5); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27427, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27433, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27432, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27438, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27428, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27434, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27431, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27437, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27429, 0, 6, 32, 20, 3, height - 5); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27435, 0, 6, 32, 20, 3, height - 5); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27430, 0, 6, 32, 20, 3, height - 5); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27436, 0, 6, 32, 20, 3, height - 5); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27428, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27434, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27431, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27437, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27429, 0, 6, 32, 20, 3, height - 5); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27435, 0, 6, 32, 20, 3, height - 5); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27430, 0, 6, 32, 20, 3, height - 5); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27436, 0, 6, 32, 20, 3, height - 5); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C7654 */ static void flying_rc_track_right_flyer_twist_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27439, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27445, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27444, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27450, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27439, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27445, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27444, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27450, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27440, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27446, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27443, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27449, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27441, 0, 6, 32, 20, 3, height - 5); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27447, 0, 6, 32, 20, 3, height - 5); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27442, 0, 6, 32, 20, 3, height - 5); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27448, 0, 6, 32, 20, 3, height - 5); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27439, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27445, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27444, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27450, 0, 6, 32, 20, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27440, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27446, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27443, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27449, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27441, 0, 6, 32, 20, 3, height - 5); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27447, 0, 6, 32, 20, 3, height - 5); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27442, 0, 6, 32, 20, 3, height - 5); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27448, 0, 6, 32, 20, 3, height - 5); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27439, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27445, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27444, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27450, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27440, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27446, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27443, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27449, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27441, 0, 6, 32, 20, 3, height - 5); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27447, 0, 6, 32, 20, 3, height - 5); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27442, 0, 6, 32, 20, 3, height - 5); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27448, 0, 6, 32, 20, 3, height - 5); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27440, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27446, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27443, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27449, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27441, 0, 6, 32, 20, 3, height - 5); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27447, 0, 6, 32, 20, 3, height - 5); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27442, 0, 6, 32, 20, 3, height - 5); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27448, 0, 6, 32, 20, 3, height - 5); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height - 5, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007C72F4 */ static void flying_rc_track_flyer_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17626, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17634, 0, 6, 32, 20, 11, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17633, 0, 6, 32, 20, 9, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17641, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17627, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17635, 0, 14, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17632, 0, 6, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17640, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17628, 16, 0, 2, 16, 119, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17636, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17631, 10, 16, 4, 12, 119, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17639, 16, 16, 2, 16, 119, height, 15, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17629, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17637, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17630, 0, 16, 32, 12, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17638, 0, 16, 32, 12, 3, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17626, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17634, 0, 6, 32, 20, 11, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17633, 0, 6, 32, 20, 9, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17641, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17627, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17635, 0, 14, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17632, 0, 6, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17640, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17628, 16, 0, 2, 16, 119, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17636, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17631, 10, 16, 4, 12, 119, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17639, 16, 16, 2, 16, 119, height, 15, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17629, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17637, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17630, 0, 16, 32, 12, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17638, 0, 16, 32, 12, 3, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17626, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17634, 0, 6, 32, 20, 11, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17633, 0, 6, 32, 20, 9, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17641, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17627, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17635, 0, 14, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17632, 0, 6, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17640, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17628, 16, 0, 2, 16, 119, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17636, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17631, 10, 16, 4, 12, 119, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17639, 16, 16, 2, 16, 119, height, 15, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17629, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17637, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17630, 0, 16, 32, 12, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17638, 0, 16, 32, 12, 3, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17626, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17634, 0, 6, 32, 20, 11, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17633, 0, 6, 32, 20, 9, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17641, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17627, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17635, 0, 14, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17632, 0, 6, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17640, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17628, 16, 0, 2, 16, 119, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17636, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17631, 10, 16, 4, 12, 119, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17639, 16, 16, 2, 16, 119, height, 15, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17629, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17637, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17630, 0, 16, 32, 12, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17638, 0, 16, 32, 12, 3, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007C7304 */ static void flying_rc_track_flyer_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17629, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17637, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17630, 0, 16, 32, 12, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17638, 0, 16, 32, 12, 3, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17628, 16, 0, 2, 16, 119, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17636, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17631, 10, 16, 4, 12, 119, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17639, 16, 16, 2, 16, 119, height, 15, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17627, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17635, 0, 14, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17632, 0, 6, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17640, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17626, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17634, 0, 6, 32, 20, 11, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17633, 0, 6, 32, 20, 9, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17641, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17629, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17637, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17630, 0, 16, 32, 12, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17638, 0, 16, 32, 12, 3, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17628, 16, 0, 2, 16, 119, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17636, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17631, 10, 16, 4, 12, 119, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17639, 16, 16, 2, 16, 119, height, 15, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17627, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17635, 0, 14, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17632, 0, 6, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17640, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17626, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17634, 0, 6, 32, 20, 11, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17633, 0, 6, 32, 20, 9, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17641, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17629, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17637, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17630, 0, 16, 32, 12, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17638, 0, 16, 32, 12, 3, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17628, 16, 0, 2, 16, 119, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17636, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17631, 10, 16, 4, 12, 119, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17639, 16, 16, 2, 16, 119, height, 15, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17627, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17635, 0, 14, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17632, 0, 6, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17640, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17626, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17634, 0, 6, 32, 20, 11, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17633, 0, 6, 32, 20, 9, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17641, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17629, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17637, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17630, 0, 16, 32, 12, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17638, 0, 16, 32, 12, 3, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17628, 16, 0, 2, 16, 119, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17636, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17631, 10, 16, 4, 12, 119, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17639, 16, 16, 2, 16, 119, height, 15, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17627, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17635, 0, 14, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17632, 0, 6, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17640, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17626, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17634, 0, 6, 32, 20, 11, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17633, 0, 6, 32, 20, 9, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17641, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x007C7664 */ static void flying_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17150, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17151, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27337, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27338, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17150, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17151, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27337, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27338, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x007C76B4 */ static void flying_rc_track_left_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18025, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18027, 0, 6, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18029, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18023, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18024, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18026, 6, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18028, 6, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18022, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27762, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27764, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27766, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27760, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18025, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18027, 0, 6, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18029, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18023, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18024, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18026, 6, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18028, 6, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18022, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27762, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27764, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27766, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27760, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27761, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27763, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27765, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27759, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27761, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27763, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27765, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27759, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } + } } /** rct2: 0x007C76C4 */ static void flying_rc_track_right_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18014, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18016, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18018, 0, 6, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18020, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18015, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18017, 6, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18019, 6, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18021, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27751, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27753, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27755, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27757, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18014, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18016, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18018, 0, 6, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18020, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18015, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18017, 6, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18019, 6, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18021, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27751, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27753, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27755, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27757, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27752, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27754, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27756, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27758, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27752, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27754, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27756, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27758, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } + } } /** rct2: 0x007C76D4 */ static void flying_rc_track_left_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - flying_rc_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + flying_rc_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x007C76E4 */ static void flying_rc_track_right_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - flying_rc_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + flying_rc_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x007C76F4 */ static void flying_rc_track_left_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17978, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17983, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17988, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17993, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17979, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17984, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17989, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17994, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17980, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17985, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17990, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17995, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17981, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17986, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17991, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17996, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17982, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17987, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17992, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17997, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27787, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27792, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27797, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27802, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17978, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17983, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17988, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17993, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17979, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17984, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17989, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17994, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17980, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17985, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17990, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17995, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17981, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17986, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17991, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17996, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17982, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17987, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17992, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17997, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27787, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27792, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27797, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27802, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27788, 0, 0, 32, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27793, 0, 0, 32, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27798, 0, 16, 32, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27803, 0, 16, 32, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27789, 0, 16, 16, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27794, 16, 16, 16, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27799, 16, 0, 16, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27804, 0, 0, 16, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27790, 16, 0, 16, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27795, 0, 0, 16, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27800, 0, 0, 16, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27805, 16, 0, 16, 32, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27791, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27796, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27801, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27806, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27788, 0, 0, 32, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27793, 0, 0, 32, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27798, 0, 16, 32, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27803, 0, 16, 32, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27789, 0, 16, 16, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27794, 16, 16, 16, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27799, 16, 0, 16, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27804, 0, 0, 16, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27790, 16, 0, 16, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27795, 0, 0, 16, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27800, 0, 0, 16, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27805, 16, 0, 16, 32, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27791, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27796, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27801, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27806, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } + } } /** rct2: 0x007C7704 */ static void flying_rc_track_right_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17958, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17963, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17968, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17973, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17959, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17964, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17969, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17974, 0, 0, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17960, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17965, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17970, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17975, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17961, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17966, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17971, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17976, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17962, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17967, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17972, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17977, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27767, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27772, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27777, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27782, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17958, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17963, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17968, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17973, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17959, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17964, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17969, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17974, 0, 0, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17960, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17965, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17970, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17975, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17961, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17966, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17971, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17976, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17962, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17967, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17972, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17977, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27767, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27772, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27777, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27782, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27768, 0, 16, 32, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27773, 0, 16, 32, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27778, 0, 0, 32, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27783, 0, 0, 32, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27769, 0, 0, 16, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27774, 16, 0, 16, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27779, 16, 16, 16, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27784, 0, 16, 16, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27770, 16, 0, 16, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27775, 0, 0, 16, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27780, 0, 0, 16, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27785, 16, 0, 16, 32, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27771, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27776, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27781, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27786, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27768, 0, 16, 32, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27773, 0, 16, 32, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27778, 0, 0, 32, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27783, 0, 0, 32, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27769, 0, 0, 16, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27774, 16, 0, 16, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27779, 16, 16, 16, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27784, 0, 16, 16, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27770, 16, 0, 16, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27775, 0, 0, 16, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27780, 0, 0, 16, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27785, 16, 0, 16, 32, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27771, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27776, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27781, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27786, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } + } } /** rct2: 0x007C7714 */ static void flying_rc_track_left_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - flying_rc_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + flying_rc_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x007C7724 */ static void flying_rc_track_right_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - flying_rc_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + flying_rc_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x007C7734 */ static void flying_rc_track_25_deg_up_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17922, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17923, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17930, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17924, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17925, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27719, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27720, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27721, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27722, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17922, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17923, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17930, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17924, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17925, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27719, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27720, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27721, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27722, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_general_support_height(height + 72, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_general_support_height(height + 72, 0x20); + } } /** rct2: 0x007C7744 */ static void flying_rc_track_25_deg_up_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17926, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17927, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17928, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17931, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17929, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27723, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27724, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27725, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27726, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17926, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17927, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17928, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17931, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17929, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27723, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27724, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27725, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27726, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_general_support_height(height + 72, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_general_support_height(height + 72, 0x20); + } } /** rct2: 0x007C7754 */ static void flying_rc_track_left_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17932, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17933, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17940, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17934, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17935, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27727, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27728, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27729, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27730, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17932, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17933, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17940, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17934, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17935, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27727, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27728, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27729, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27730, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_general_support_height(height + 72, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_general_support_height(height + 72, 0x20); + } } /** rct2: 0x007C7764 */ static void flying_rc_track_right_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17936, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17937, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17938, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17941, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17939, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27731, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27732, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27733, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27734, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17936, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17937, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17938, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17941, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17939, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27731, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27732, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27733, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27734, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_general_support_height(height + 72, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_general_support_height(height + 72, 0x20); + } } /** rct2: 0x007C7774 */ static void flying_rc_track_25_deg_down_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7784 */ static void flying_rc_track_25_deg_down_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7794 */ static void flying_rc_track_left_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C77A4 */ static void flying_rc_track_right_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C77B4 */ static void flying_rc_track_left_banked_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17942, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17943, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17944, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17945, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27735, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27736, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27737, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27738, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17942, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17943, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17944, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17945, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27735, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27736, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27737, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27738, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_general_support_height(height + 64, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_general_support_height(height + 64, 0x20); + } } /** rct2: 0x007C77C4 */ static void flying_rc_track_right_banked_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17946, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17947, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17948, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17949, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27739, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27740, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27741, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27742, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17946, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17947, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17948, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17949, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27739, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27740, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27741, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27742, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_general_support_height(height + 64, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_general_support_height(height + 64, 0x20); + } } /** rct2: 0x007C77F4 */ static void flying_rc_track_left_banked_25_deg_up_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17950, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17951, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17952, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17953, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27743, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27744, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27745, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27746, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17950, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17951, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17952, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17953, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27743, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27744, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27745, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27746, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_general_support_height(height + 56, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_general_support_height(height + 56, 0x20); + } } /** rct2: 0x007C7804 */ static void flying_rc_track_right_banked_25_deg_up_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17954, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17955, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17956, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17957, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27747, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27748, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27749, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27750, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17954, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17955, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17956, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17957, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27747, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27748, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27749, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27750, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_general_support_height(height + 56, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_general_support_height(height + 56, 0x20); + } } /** rct2: 0x007C7814 */ static void flying_rc_track_left_banked_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7824 */ static void flying_rc_track_right_banked_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C77D4 */ static void flying_rc_track_left_banked_25_deg_down_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C77E4 */ static void flying_rc_track_right_banked_25_deg_down_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7834 */ static void flying_rc_track_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17894, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17895, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17902, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17896, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17897, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27695, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27696, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27697, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27698, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17894, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17895, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17902, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17896, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17897, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27695, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27696, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27697, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27698, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_general_support_height(height + 64, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_general_support_height(height + 64, 0x20); + } } /** rct2: 0x007C7844 */ static void flying_rc_track_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17898, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17899, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17900, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17903, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17901, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27699, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27700, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27701, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27702, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17898, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17899, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17900, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17903, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17901, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27699, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27700, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27701, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27702, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 49, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_general_support_height(height + 64, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_general_support_height(height + 64, 0x20); + } } /** rct2: 0x007C7854 */ static void flying_rc_track_left_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17904, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17905, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17912, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17906, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17907, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27703, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27704, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27705, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27706, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17904, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17905, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17912, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17906, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17907, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27703, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27704, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27705, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27706, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_general_support_height(height + 56, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_general_support_height(height + 56, 0x20); + } } /** rct2: 0x007C7864 */ static void flying_rc_track_right_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17908, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17909, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17910, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17913, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17911, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27707, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27708, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27709, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27710, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17908, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17909, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17910, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17913, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17911, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27707, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27708, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27709, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27710, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 47, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_general_support_height(height + 56, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_general_support_height(height + 56, 0x20); + } } /** rct2: 0x007C7874 */ static void flying_rc_track_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7884 */ static void flying_rc_track_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C7894 */ static void flying_rc_track_left_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007C78A4 */ static void flying_rc_track_right_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - flying_rc_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + flying_rc_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } TRACK_PAINT_FUNCTION get_track_paint_function_flying_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return flying_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return flying_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return flying_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return flying_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return flying_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return flying_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return flying_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return flying_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return flying_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return flying_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return flying_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return flying_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return flying_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return flying_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return flying_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return flying_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return flying_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return flying_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return flying_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return flying_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return flying_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return flying_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return flying_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return flying_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return flying_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return flying_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return flying_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return flying_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return flying_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return flying_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return flying_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return flying_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return flying_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return flying_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return flying_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return flying_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return flying_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return flying_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return flying_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return flying_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return flying_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return flying_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return flying_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return flying_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return flying_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return flying_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return flying_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return flying_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return flying_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return flying_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return flying_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return flying_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return flying_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return flying_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - return flying_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - return flying_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return flying_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return flying_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: - return flying_rc_track_brakes; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: - return flying_rc_track_left_quarter_banked_helix_large_up; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: - return flying_rc_track_right_quarter_banked_helix_large_up; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: - return flying_rc_track_left_quarter_banked_helix_large_down; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: - return flying_rc_track_right_quarter_banked_helix_large_down; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - return flying_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - return flying_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: - return flying_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - return flying_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - return flying_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return flying_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return flying_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return flying_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return flying_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return flying_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return flying_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return flying_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return flying_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return flying_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return flying_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return flying_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return flying_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return flying_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return flying_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return flying_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return flying_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return flying_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return flying_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return flying_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return flying_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return flying_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return flying_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return flying_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return flying_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return flying_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return flying_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return flying_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return flying_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return flying_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return flying_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return flying_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return flying_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return flying_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return flying_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return flying_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_FLYER_TWIST_UP: - return flying_rc_track_left_flyer_twist_up; - case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: - return flying_rc_track_right_flyer_twist_up; - case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: - return flying_rc_track_left_flyer_twist_down; - case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: - return flying_rc_track_right_flyer_twist_down; - case TRACK_ELEM_FLYER_HALF_LOOP_UP: - return flying_rc_track_flyer_half_loop_up; - case TRACK_ELEM_FLYER_HALF_LOOP_DOWN: - return flying_rc_track_flyer_half_loop_down; - case TRACK_ELEM_BLOCK_BRAKES: - return flying_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return flying_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return flying_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return flying_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return flying_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return flying_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return flying_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return flying_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return flying_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: - return flying_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: - return flying_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return flying_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return flying_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: - return flying_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: - return flying_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return flying_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return flying_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return flying_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return flying_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: - return flying_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: - return flying_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return flying_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return flying_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: - return flying_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: - return flying_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return flying_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return flying_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: - return flying_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: - return flying_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return flying_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return flying_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: - return flying_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: - return flying_rc_track_right_banked_25_deg_down_to_flat; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return flying_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return flying_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return flying_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return flying_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return flying_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return flying_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return flying_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return flying_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return flying_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return flying_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return flying_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return flying_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return flying_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return flying_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return flying_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return flying_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return flying_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return flying_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return flying_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return flying_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return flying_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return flying_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return flying_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return flying_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return flying_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return flying_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return flying_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return flying_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return flying_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return flying_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return flying_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return flying_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return flying_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return flying_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return flying_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return flying_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return flying_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return flying_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return flying_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return flying_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return flying_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return flying_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return flying_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return flying_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return flying_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return flying_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return flying_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return flying_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return flying_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return flying_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return flying_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return flying_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return flying_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return flying_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + return flying_rc_track_left_quarter_turn_1_60_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + return flying_rc_track_right_quarter_turn_1_60_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return flying_rc_track_left_quarter_turn_1_60_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return flying_rc_track_right_quarter_turn_1_60_deg_down; + case TRACK_ELEM_BRAKES: + return flying_rc_track_brakes; + case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: + return flying_rc_track_left_quarter_banked_helix_large_up; + case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: + return flying_rc_track_right_quarter_banked_helix_large_up; + case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: + return flying_rc_track_left_quarter_banked_helix_large_down; + case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: + return flying_rc_track_right_quarter_banked_helix_large_down; + case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + return flying_rc_track_25_deg_up_left_banked; + case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + return flying_rc_track_25_deg_up_right_banked; + case TRACK_ELEM_ON_RIDE_PHOTO: + return flying_rc_track_on_ride_photo; + case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + return flying_rc_track_25_deg_down_left_banked; + case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + return flying_rc_track_25_deg_down_right_banked; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return flying_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return flying_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return flying_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return flying_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return flying_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return flying_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return flying_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return flying_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return flying_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return flying_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return flying_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return flying_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return flying_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return flying_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return flying_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return flying_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return flying_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return flying_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return flying_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return flying_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return flying_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return flying_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return flying_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return flying_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return flying_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return flying_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return flying_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return flying_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return flying_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return flying_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return flying_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return flying_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return flying_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return flying_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return flying_rc_track_diag_right_bank; + case TRACK_ELEM_LEFT_FLYER_TWIST_UP: + return flying_rc_track_left_flyer_twist_up; + case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: + return flying_rc_track_right_flyer_twist_up; + case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: + return flying_rc_track_left_flyer_twist_down; + case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: + return flying_rc_track_right_flyer_twist_down; + case TRACK_ELEM_FLYER_HALF_LOOP_UP: + return flying_rc_track_flyer_half_loop_up; + case TRACK_ELEM_FLYER_HALF_LOOP_DOWN: + return flying_rc_track_flyer_half_loop_down; + case TRACK_ELEM_BLOCK_BRAKES: + return flying_rc_track_block_brakes; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return flying_rc_track_left_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return flying_rc_track_right_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return flying_rc_track_left_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return flying_rc_track_right_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return flying_rc_track_left_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return flying_rc_track_right_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return flying_rc_track_left_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return flying_rc_track_right_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + return flying_rc_track_25_deg_up_to_left_banked_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + return flying_rc_track_25_deg_up_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return flying_rc_track_left_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return flying_rc_track_right_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + return flying_rc_track_25_deg_down_to_left_banked_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + return flying_rc_track_25_deg_down_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return flying_rc_track_left_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return flying_rc_track_right_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return flying_rc_track_left_banked_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return flying_rc_track_right_banked_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + return flying_rc_track_left_banked_25_deg_up_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + return flying_rc_track_right_banked_25_deg_up_to_right_banked_flat; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return flying_rc_track_left_banked_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return flying_rc_track_right_banked_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + return flying_rc_track_left_banked_25_deg_down_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + return flying_rc_track_right_banked_25_deg_down_to_right_banked_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return flying_rc_track_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return flying_rc_track_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + return flying_rc_track_left_banked_25_deg_up_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + return flying_rc_track_right_banked_25_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return flying_rc_track_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return flying_rc_track_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + return flying_rc_track_left_banked_25_deg_down_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + return flying_rc_track_right_banked_25_deg_down_to_flat; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/giga_coaster.c b/src/openrct2/ride/coaster/giga_coaster.c index 88e5b36751..fa85b2f62c 100644 --- a/src/openrct2/ride/coaster/giga_coaster.c +++ b/src/openrct2/ride/coaster/giga_coaster.c @@ -29,6126 +29,6126 @@ /** rct2: 0x008AD674 */ static void giga_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_cable_lift(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18692, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18693, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18382, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18383, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18384, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18385, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18074, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18075, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (track_element_is_cable_lift(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18692, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18693, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18382, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18383, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18384, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18385, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18074, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18075, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void giga_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { 18084, 18076, SPR_STATION_BASE_A_SW_NE }, - { 18085, 18077, SPR_STATION_BASE_A_NW_SE }, - { 18084, 18076, SPR_STATION_BASE_A_SW_NE }, - { 18085, 18077, SPR_STATION_BASE_A_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { 18084, 18076, SPR_STATION_BASE_A_SW_NE }, + { 18085, 18077, SPR_STATION_BASE_A_NW_SE }, + { 18084, 18076, SPR_STATION_BASE_A_SW_NE }, + { 18085, 18077, SPR_STATION_BASE_A_NW_SE }, + }; - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } else { - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } - sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); - track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } else { + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } + sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); + track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AD684 */ static void giga_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_cable_lift(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18702, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18703, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18704, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18705, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18394, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18395, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18396, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18397, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18134, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18135, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18136, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18137, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (track_element_is_cable_lift(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18702, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18703, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18704, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18705, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18394, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18395, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18396, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18397, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18134, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18135, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18136, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18137, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AD694 */ static void giga_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_cable_lift(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18718, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18719, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18720, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18721, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18150, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18151, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18152, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18153, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + if (track_element_is_cable_lift(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18718, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18719, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18720, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18721, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18150, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18151, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18152, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18153, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008AD6A4 */ static void giga_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_cable_lift(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18694, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18695, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18696, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18697, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18386, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18387, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18388, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18389, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18126, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18127, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18128, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18129, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (track_element_is_cable_lift(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18694, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18695, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18696, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18697, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18386, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18387, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18388, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18389, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18126, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18127, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18128, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18129, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AD6B4 */ static void giga_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_cable_lift(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18706, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18707, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18710, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18708, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18711, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18709, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18138, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18139, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18142, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18140, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18143, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18141, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_cable_lift(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18706, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18707, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18710, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18708, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18711, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18709, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18138, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18139, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18142, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18140, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18143, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18141, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008AD6C4 */ static void giga_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_cable_lift(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18712, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18713, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18716, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18714, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18717, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18715, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18144, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18145, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18148, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18146, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18149, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18147, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_cable_lift(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18712, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18713, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18716, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18714, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18717, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18715, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18144, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18145, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18148, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18146, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18149, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18147, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008AD6D4 */ static void giga_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_cable_lift(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18698, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18699, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18700, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18701, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18390, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18391, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18392, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18393, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18130, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18131, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18132, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18133, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (track_element_is_cable_lift(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18698, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18699, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18700, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18701, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18390, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18391, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18392, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18393, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18130, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18131, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18132, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18133, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008AD6E4 */ static void giga_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AD6F4 */ static void giga_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AD704 */ static void giga_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AD714 */ static void giga_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AD724 */ static void giga_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AD734 */ static void giga_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AD744 */ static void giga_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18189, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18194, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18199, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18184, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18188, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18193, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18198, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18183, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18187, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18192, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18197, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18182, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18186, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18191, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18196, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18181, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18185, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18190, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18195, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18180, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18189, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18194, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18199, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18184, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18188, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18193, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18198, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18183, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18187, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18192, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18197, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18182, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18186, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18191, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18196, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18181, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18185, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18190, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18195, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18180, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AD754 */ static void giga_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - giga_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + giga_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AD764 */ static void giga_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18086, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18094, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18087, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18095, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18088, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18089, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18086, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18094, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18087, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18095, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18088, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18089, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AD774 */ static void giga_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18090, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18091, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18092, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18096, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18093, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18097, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18090, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18091, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18092, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18096, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18093, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18097, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AD784 */ static void giga_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18092, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18096, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18093, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18097, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18090, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18091, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18092, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18096, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18093, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18097, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18090, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18091, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AD794 */ static void giga_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18088, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18089, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18086, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18094, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18087, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18095, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18088, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18089, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18086, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18094, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18087, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18095, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AD7A4 */ static void giga_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18209, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18220, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18214, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18219, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18204, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18208, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18213, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18218, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18203, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18207, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18212, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18217, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18202, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18206, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18211, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18216, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18201, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18205, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18210, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18215, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18221, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18200, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18209, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18220, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18214, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18219, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18204, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18208, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18213, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18218, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18203, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18207, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18212, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18217, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18202, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18206, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18211, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18216, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18201, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18205, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18210, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18215, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18221, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18200, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AD7B4 */ static void giga_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - giga_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + giga_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AD7C4 */ static void giga_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18098, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18102, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18099, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18103, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18100, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18101, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18098, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18102, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18099, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18103, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18100, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18101, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AD7D4 */ static void giga_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18104, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18105, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18106, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18108, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18107, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18109, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18104, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18105, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18106, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18108, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18107, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18109, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AD7E4 */ static void giga_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18110, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18114, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18111, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18115, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18112, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18113, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18110, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18114, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18111, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18115, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18112, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18113, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008AD7F4 */ static void giga_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18116, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18117, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18118, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18120, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18119, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18121, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18116, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18117, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18118, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18120, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18119, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18121, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008AD804 */ static void giga_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AD814 */ static void giga_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AD824 */ static void giga_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AD834 */ static void giga_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AD844 */ static void giga_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18122, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18123, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18124, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18125, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18122, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18123, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18124, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18125, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AD854 */ static void giga_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AD864 */ static void giga_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18274, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18279, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18284, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18289, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18275, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18280, 0, 0, 32, 16, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18285, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18290, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18276, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18281, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18286, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18291, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18277, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18282, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18287, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18292, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18278, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18283, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18288, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18293, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18274, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18279, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18284, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18289, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18275, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18280, 0, 0, 32, 16, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18285, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18290, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18276, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18281, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18286, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18291, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18277, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18282, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18287, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18292, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18278, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18283, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18288, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18293, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AD874 */ static void giga_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18254, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18259, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18264, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18269, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18255, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18260, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18265, 0, 0, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18270, 0, 0, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18256, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18261, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18266, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18271, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18257, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18262, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18267, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18272, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18258, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18263, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18268, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18273, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18254, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18259, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18264, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18269, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18255, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18260, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18265, 0, 0, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18270, 0, 0, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18256, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18261, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18266, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18271, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18257, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18262, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18267, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18272, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18258, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18263, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18268, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18273, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AD884 */ static void giga_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - giga_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + giga_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008AD894 */ static void giga_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - giga_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + giga_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AD8A4 */ static void giga_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18238, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18242, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18241, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18245, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18239, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18243, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18240, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18244, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18240, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18244, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18239, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18243, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18241, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18245, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18238, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18242, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18238, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18242, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18241, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18245, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18239, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18243, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18240, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18244, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18240, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18244, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18239, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18243, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18241, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18245, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18238, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18242, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AD8B4 */ static void giga_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18246, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18250, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18249, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18253, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18247, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18251, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18248, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18252, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18248, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18252, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18247, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18251, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18249, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18253, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18246, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18250, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18246, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18250, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18249, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18253, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18247, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18251, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18248, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18252, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18248, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18252, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18247, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18251, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18249, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18253, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18246, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18250, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AD8F4 */ static void giga_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18159, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18162, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18165, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18156, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18158, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18161, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18164, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18155, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18157, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18160, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18163, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18154, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18159, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18162, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18165, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18156, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18158, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18161, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18164, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18155, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18157, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18160, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18163, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18154, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AD904 */ static void giga_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - giga_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + giga_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AD914 */ static void giga_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18171, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18178, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18174, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18177, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18168, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18170, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18173, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18176, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18167, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18169, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18172, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18175, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18179, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18166, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18171, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18178, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18174, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18177, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18168, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18170, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18173, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18176, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18167, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18169, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18172, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18175, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18179, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18166, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AD924 */ static void giga_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - giga_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + giga_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AD934 */ static void giga_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18305, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18307, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18309, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18303, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18304, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18306, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18308, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18302, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18305, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18307, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18309, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18303, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18304, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18306, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18308, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18302, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AD944 */ static void giga_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18294, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18296, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18298, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18300, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18295, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18297, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18299, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18301, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18294, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18296, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18298, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18300, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18295, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18297, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18299, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18301, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AD954 */ static void giga_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - giga_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + giga_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008AD964 */ static void giga_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - giga_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + giga_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AD974 */ static void giga_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18329, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18336, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18332, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18335, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18326, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18328, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18331, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18334, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18325, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18327, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18330, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18333, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18337, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18324, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18326, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18329, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18336, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18332, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18335, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18325, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18328, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18331, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18334, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18324, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18327, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18330, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18333, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18337, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18329, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18336, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18332, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18335, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18326, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18328, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18331, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18334, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18325, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18327, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18330, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18333, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18337, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18324, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18326, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18329, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18336, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18332, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18335, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18325, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18328, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18331, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18334, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18324, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18327, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18330, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18333, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18337, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AD984 */ static void giga_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18310, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18313, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18316, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18319, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18323, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18311, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18314, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18317, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18320, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18312, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18315, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18322, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18318, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18321, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18313, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18316, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18319, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18323, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18310, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18314, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18317, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18320, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18311, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18315, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18322, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18318, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18321, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18312, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18310, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18313, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18316, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18319, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18323, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18311, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18314, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18317, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18320, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18312, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18315, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18322, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18318, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18321, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18313, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18316, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18319, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18323, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18310, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18314, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18317, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18320, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18311, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18315, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18322, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18318, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18321, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18312, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AD994 */ static void giga_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - giga_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + giga_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008AD9A4 */ static void giga_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - giga_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + giga_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AD9B4 */ static void giga_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18369, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18380, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18374, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18379, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18364, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18368, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18373, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18378, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18363, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18367, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18372, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18377, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18362, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18366, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18371, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18376, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18361, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18365, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18370, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18375, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18381, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18360, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18364, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18369, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18380, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18374, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18379, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18363, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18368, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18373, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18378, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18362, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18367, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18372, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18377, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18361, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18366, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18371, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18376, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18360, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18365, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18370, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18375, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18381, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18369, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18380, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18374, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18379, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18364, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18368, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18373, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18378, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18363, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18367, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18372, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18377, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18362, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18366, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18371, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18376, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18361, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18365, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18370, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18375, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18381, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18360, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18364, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18369, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18380, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18374, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18379, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18363, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18368, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18373, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18378, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18362, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18367, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18372, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18377, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18361, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18366, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18371, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18376, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18360, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18365, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18370, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18375, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18381, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AD9C4 */ static void giga_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18338, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18343, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18348, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18353, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18359, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18339, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18344, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18349, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18354, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18340, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18345, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18350, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18355, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18341, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18346, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18351, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18356, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18342, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18347, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18358, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18352, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18357, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18343, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18348, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18353, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18359, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18338, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18344, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18349, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18354, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18339, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18345, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18350, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18355, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18340, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18346, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18351, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18356, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18341, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18347, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18358, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18352, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18357, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18342, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18338, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18343, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18348, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18353, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18359, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18339, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18344, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18349, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18354, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18340, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18345, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18350, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18355, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18341, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18346, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18351, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18356, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18342, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18347, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18358, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18352, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18357, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18343, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18348, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18353, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18359, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18338, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18344, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18349, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18354, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18339, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18345, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18350, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18355, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18340, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18346, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18351, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18356, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18341, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18347, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18358, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18352, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18357, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18342, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AD9D4 */ static void giga_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - giga_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + giga_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008AD9E4 */ static void giga_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - giga_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + giga_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008ADA14 */ static void giga_rc_track_left_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18231, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18235, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18232, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18236, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18233, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18237, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18230, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18234, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18231, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18235, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18232, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18236, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18233, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18237, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18230, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18234, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008AD9F4 */ static void giga_rc_track_right_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18222, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18226, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18223, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18227, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18224, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18228, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18225, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18229, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18222, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18226, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18223, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18227, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18224, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18228, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18225, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18229, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008ADA04 */ static void giga_rc_track_left_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + giga_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008ADA24 */ static void giga_rc_track_right_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + giga_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008ADA34 */ static void giga_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18078, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18082, 0, 0, 32, 1, 11, height, 0, 27, height + 5); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18079, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18083, 0, 0, 32, 1, 11, height, 0, 27, height + 5); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18078, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18082, 0, 0, 32, 1, 11, height, 0, 27, height + 5); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18079, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18083, 0, 0, 32, 1, 11, height, 0, 27, height + 5); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008ADC84 */ static void giga_rc_track_25_deg_up_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18560, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18561, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18562, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18563, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18560, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18561, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18562, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18563, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ADC94 */ static void giga_rc_track_25_deg_up_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18564, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18565, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18566, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18567, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18564, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18565, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18566, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18567, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ADA44 */ static void giga_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18074, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18075, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18074, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18075, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18074, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18075, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18074, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18075, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008ADCA4 */ static void giga_rc_track_25_deg_down_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADCB4 */ static void giga_rc_track_25_deg_down_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADED4 */ static void giga_rc_track_flat_to_60_deg_up_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_cable_lift(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18722, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18726, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18730, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18734, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18660, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18664, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18668, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18672, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_cable_lift(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18723, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18727, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18731, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18735, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18661, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18665, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18669, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18673, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_cable_lift(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18724, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18728, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18732, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18736, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18662, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18666, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18670, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18674, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - if (track_element_is_cable_lift(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18725, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18729, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18733, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18737, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18663, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18667, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18671, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18675, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 24, TUNNEL_8); - break; - case 2: - paint_util_push_tunnel_left(height + 24, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_cable_lift(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18722, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18726, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18730, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18734, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18660, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18664, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18668, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18672, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_cable_lift(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18723, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18727, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18731, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18735, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18661, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18665, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18669, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18673, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_cable_lift(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18724, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18728, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18732, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18736, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18662, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18666, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18670, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18674, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + if (track_element_is_cable_lift(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18725, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18729, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18733, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18737, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18663, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18667, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18671, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18675, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 24, TUNNEL_8); + break; + case 2: + paint_util_push_tunnel_left(height + 24, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + } } /** rct2: 0x008ADEE4 */ static void giga_rc_track_60_deg_up_to_flat_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18676, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18680, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18684, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18688, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18677, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18681, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18685, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18689, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18678, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18682, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18686, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18690, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18679, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18683, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18687, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18691, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18676, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18680, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18684, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18688, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18677, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18681, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18685, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18689, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18678, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18682, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18686, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18690, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18679, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18683, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18687, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18691, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + break; + } } /** rct2: 0x008ADEF4 */ static void giga_rc_track_flat_to_60_deg_down_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_flat_to_60_deg_up_long_base(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_flat_to_60_deg_up_long_base(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADF04 */ static void giga_rc_track_60_deg_up_to_flat_long_base122(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_60_deg_up_to_flat_long_base(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_60_deg_up_to_flat_long_base(rideIndex, 3 - trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADF14 */ static void giga_rc_track_cable_lift_hill(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18698, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18699, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18700, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18701, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18700, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18701, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18698, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18699, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18714, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18717, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18715, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18712, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18713, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18716, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } else { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18720, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18721, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18718, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18719, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); - } else { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18698, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18699, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18700, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18701, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18700, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18701, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18698, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18699, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18714, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18717, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18715, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18712, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18713, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18716, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } else { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18720, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18721, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18718, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18719, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); + } else { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008ADA64 */ static void giga_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18414, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18418, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18422, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18426, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18415, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18419, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18423, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18427, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18416, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18420, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18424, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18428, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18417, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18421, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18425, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18429, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18414, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18418, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18422, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18426, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18415, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18419, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18423, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18427, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18416, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18420, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18424, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18428, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18417, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18421, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18425, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18429, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ADA74 */ static void giga_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18398, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18402, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18406, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18410, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18399, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18403, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18407, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18411, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18400, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18404, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18408, 0, 0, 28, 28, 3, height, 4, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18412, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18401, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18405, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18409, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18413, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18398, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18402, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18406, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18410, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18399, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18403, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18407, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18411, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18400, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18404, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18408, 0, 0, 28, 28, 3, height, 4, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18412, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18401, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18405, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18409, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18413, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ADA84 */ static void giga_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - giga_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + giga_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADA94 */ static void giga_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - giga_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + giga_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008ADAA4 */ static void giga_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18446, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18450, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18454, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18458, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18447, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18451, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18455, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18459, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18448, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18452, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18456, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18460, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18449, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18453, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18457, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18461, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18446, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18450, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18454, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18458, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18447, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18451, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18455, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18459, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18448, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18452, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18456, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18460, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18449, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18453, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18457, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18461, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ADAB4 */ static void giga_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18430, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18434, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18438, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18442, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18431, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18435, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18439, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18443, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18432, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18436, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18440, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18444, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18433, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18437, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18441, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18445, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18430, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18434, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18438, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18442, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18431, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18435, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18439, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18443, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18432, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18436, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18440, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18444, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18433, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18437, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18441, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18445, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ADAC4 */ static void giga_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - giga_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + giga_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADAD4 */ static void giga_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - giga_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + giga_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008ADA54 */ static void giga_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18527, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18465, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18524, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18462, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18526, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18464, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18525, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18463, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18527, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18465, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18524, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18462, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18526, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18464, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18525, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18463, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ADB04 */ static void giga_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18539, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18477, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18536, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18474, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18538, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18476, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18537, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18475, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18539, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18477, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18536, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18474, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18538, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18476, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18537, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18475, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008ADB64 */ static void giga_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18489, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18486, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18488, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18487, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18489, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18486, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18488, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18487, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008ADAE4 */ static void giga_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18531, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18469, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18528, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18466, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18530, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18468, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18529, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18467, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18531, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18469, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18528, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18466, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18530, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18468, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18529, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18467, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008ADB44 */ static void giga_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18481, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18478, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18480, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18479, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18481, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18478, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18480, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18479, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008ADB54 */ static void giga_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18485, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18482, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18484, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18483, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18485, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18482, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18484, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18483, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008ADAF4 */ static void giga_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18535, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18473, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18532, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18470, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18534, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18472, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18533, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18471, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18535, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18473, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18532, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18470, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18534, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18472, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18533, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18471, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008ADB34 */ static void giga_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18537, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18475, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18538, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18476, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18536, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18474, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18539, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18477, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18537, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18475, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18538, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18476, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18536, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18474, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18539, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18477, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008ADB94 */ static void giga_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18487, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18488, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18486, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18489, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18487, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18488, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18486, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18489, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008ADB14 */ static void giga_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18533, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18471, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18534, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18472, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18532, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18470, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18535, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18473, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18533, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18471, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18534, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18472, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18532, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18470, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18535, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18473, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ADB74 */ static void giga_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18483, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18484, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18482, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18485, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18483, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18484, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18482, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18485, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008ADB84 */ static void giga_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18479, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18480, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18478, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18481, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18479, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18480, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18478, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18481, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008ADB24 */ static void giga_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18529, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18467, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18530, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18468, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18528, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18466, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18531, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18469, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18529, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18467, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18530, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18468, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18528, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18466, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18531, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18469, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008ADBC4 */ static void giga_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18497, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18494, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18498, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18496, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18495, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18497, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18494, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18498, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18496, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18495, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ADBD4 */ static void giga_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18502, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18499, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18501, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18503, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18500, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18502, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18499, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18501, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18503, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18500, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ADBE4 */ static void giga_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18500, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18501, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18503, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18499, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18502, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18500, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18501, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18503, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18499, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18502, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ADBF4 */ static void giga_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18495, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18496, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18494, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18498, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18497, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18495, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18496, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18494, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18498, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18497, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ADC24 */ static void giga_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18517, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18514, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18518, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18516, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18515, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18517, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18514, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18518, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18516, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18515, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008ADC34 */ static void giga_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18522, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18519, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18521, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18523, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18520, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18522, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18519, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18521, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18523, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18520, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008ADC04 */ static void giga_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18507, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18504, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18508, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18506, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18505, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18507, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18504, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18508, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18506, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18505, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008ADC14 */ static void giga_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18512, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18509, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18511, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18513, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18510, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18512, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18509, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18511, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18513, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18510, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008ADC44 */ static void giga_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18510, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18511, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18513, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18509, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18512, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18510, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18511, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18513, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18509, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18512, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ADC54 */ static void giga_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18505, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18506, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18504, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18508, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18507, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18505, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18506, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18504, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18508, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18507, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ADC64 */ static void giga_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18520, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18521, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18523, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18519, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18522, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18520, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18521, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18523, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18519, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18522, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008ADC74 */ static void giga_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18515, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18516, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18514, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18518, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18517, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18515, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18516, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18514, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18518, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18517, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008ADBA4 */ static void giga_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18493, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18490, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18492, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18491, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18493, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18490, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18492, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18491, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ADBB4 */ static void giga_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18491, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18492, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18490, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18493, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18491, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18492, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18490, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18493, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ADEC4 */ static void giga_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18076, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18080, 0, 0, 32, 1, 11, height, 0, 27, height + 5); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18077, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18081, 0, 0, 32, 1, 11, height, 0, 27, height + 5); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18076, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18080, 0, 0, 32, 1, 11, height, 0, 27, height + 5); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18077, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18081, 0, 0, 32, 1, 11, height, 0, 27, height + 5); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008ADCC4 */ static void giga_rc_track_left_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18655, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18657, 0, 6, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18659, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18653, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18654, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18656, 6, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18658, 6, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18652, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18655, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18657, 0, 6, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18659, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18653, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18654, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18656, 6, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18658, 6, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18652, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008ADCD4 */ static void giga_rc_track_right_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18644, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18646, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18648, 0, 6, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18650, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18645, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18647, 6, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18649, 6, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18651, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18644, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18646, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18648, 0, 6, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18650, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18645, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18647, 6, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18649, 6, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18651, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008ADCE4 */ static void giga_rc_track_left_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - giga_rc_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + giga_rc_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008ADCF4 */ static void giga_rc_track_right_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - giga_rc_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + giga_rc_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008ADD04 */ static void giga_rc_track_left_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18624, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18629, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18634, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18639, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18625, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18630, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18635, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18640, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18626, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18631, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18636, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18641, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18627, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18632, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18637, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18642, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18628, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18633, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18638, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18643, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18624, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18629, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18634, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18639, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18625, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18630, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18635, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18640, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18626, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18631, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18636, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18641, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18627, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18632, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18637, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18642, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18628, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18633, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18638, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18643, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008ADD14 */ static void giga_rc_track_right_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18604, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18609, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18614, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18619, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18605, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18610, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18615, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18620, 0, 0, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18606, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18611, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18616, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18621, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18607, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18612, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18617, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18622, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18608, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18613, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18618, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18623, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18604, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18609, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18614, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18619, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18605, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18610, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18615, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18620, 0, 0, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18606, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18611, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18616, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18621, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18607, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18612, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18617, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18622, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18608, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18613, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18618, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18623, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008ADD24 */ static void giga_rc_track_left_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - giga_rc_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + giga_rc_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008ADD34 */ static void giga_rc_track_right_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - giga_rc_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + giga_rc_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008ADD44 */ static void giga_rc_track_25_deg_up_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18568, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18569, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18576, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18570, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18571, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18568, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18569, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18576, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18570, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18571, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ADD54 */ static void giga_rc_track_25_deg_up_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18572, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18573, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18574, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18577, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18575, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18572, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18573, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18574, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18577, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18575, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ADD64 */ static void giga_rc_track_left_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18578, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18579, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18586, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18580, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18581, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18578, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18579, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18586, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18580, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18581, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ADD74 */ static void giga_rc_track_right_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18582, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18583, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18584, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18587, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18585, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18582, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18583, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18584, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18587, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18585, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ADD84 */ static void giga_rc_track_25_deg_down_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADD94 */ static void giga_rc_track_25_deg_down_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADDA4 */ static void giga_rc_track_left_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADDB4 */ static void giga_rc_track_right_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADDC4 */ static void giga_rc_track_left_banked_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18588, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18589, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18590, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18591, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18588, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18589, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18590, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18591, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008ADDD4 */ static void giga_rc_track_right_banked_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18592, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18593, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18594, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18595, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18592, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18593, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18594, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18595, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008ADE04 */ static void giga_rc_track_left_banked_25_deg_up_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18596, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18597, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18598, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18599, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18596, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18597, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18598, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18599, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008ADE14 */ static void giga_rc_track_right_banked_25_deg_up_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18600, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18601, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18602, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18603, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18600, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18601, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18602, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18603, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008ADE24 */ static void giga_rc_track_left_banked_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADE34 */ static void giga_rc_track_right_banked_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADDE4 */ static void giga_rc_track_left_banked_25_deg_down_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADDF4 */ static void giga_rc_track_right_banked_25_deg_down_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADE44 */ static void giga_rc_track_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18540, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18541, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18548, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18542, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18543, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18540, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18541, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18548, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18542, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18543, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008ADE54 */ static void giga_rc_track_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18544, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18545, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18546, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18549, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18547, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18544, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18545, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18546, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18549, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18547, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008ADE64 */ static void giga_rc_track_left_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18550, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18551, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18558, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18552, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18553, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18550, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18551, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18558, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18552, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18553, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008ADE74 */ static void giga_rc_track_right_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18554, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18555, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18556, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18559, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18557, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18554, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18555, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18556, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18559, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18557, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008ADE84 */ static void giga_rc_track_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADE94 */ static void giga_rc_track_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADEA4 */ static void giga_rc_track_left_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ADEB4 */ static void giga_rc_track_right_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - giga_rc_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + giga_rc_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void giga_rc_track_booster(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) @@ -6160,306 +6160,306 @@ static void giga_rc_track_booster(uint8 rideIndex, uint8 trackSequence, uint8 di sint8 nw_se_offsetY = 7; - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | SPR_G2_GIGA_RC_BOOSTER_NE_SW, ne_sw_offsetX, ne_sw_offsetY, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | SPR_G2_GIGA_RC_BOOSTER_NW_SE, nw_se_offsetX, nw_se_offsetY, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | SPR_G2_GIGA_RC_BOOSTER_NE_SW, ne_sw_offsetX, ne_sw_offsetY, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | SPR_G2_GIGA_RC_BOOSTER_NW_SE, nw_se_offsetX, nw_se_offsetY, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_giga_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return giga_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return giga_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return giga_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return giga_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return giga_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return giga_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return giga_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return giga_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return giga_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return giga_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return giga_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return giga_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return giga_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return giga_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return giga_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return giga_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return giga_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return giga_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return giga_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return giga_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return giga_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return giga_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return giga_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return giga_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return giga_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return giga_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return giga_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return giga_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return giga_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return giga_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return giga_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return giga_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return giga_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return giga_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return giga_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return giga_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return giga_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return giga_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return giga_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return giga_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return giga_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return giga_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return giga_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return giga_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return giga_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return giga_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return giga_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return giga_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return giga_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return giga_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return giga_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return giga_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return giga_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return giga_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - return giga_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - return giga_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return giga_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return giga_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: - return giga_rc_track_brakes; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - return giga_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - return giga_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: - return giga_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - return giga_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - return giga_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: - return giga_rc_track_flat_to_60_deg_up_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: - return giga_rc_track_60_deg_up_to_flat_long_base; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: - return giga_rc_track_flat_to_60_deg_down_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: - return giga_rc_track_60_deg_up_to_flat_long_base122; - case TRACK_ELEM_CABLE_LIFT_HILL: - return giga_rc_track_cable_lift_hill; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return giga_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return giga_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return giga_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return giga_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return giga_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return giga_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return giga_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return giga_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return giga_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return giga_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return giga_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return giga_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return giga_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return giga_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return giga_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return giga_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return giga_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return giga_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return giga_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return giga_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return giga_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return giga_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return giga_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return giga_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return giga_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return giga_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return giga_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return giga_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return giga_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return giga_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return giga_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return giga_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return giga_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return giga_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return giga_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: - return giga_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return giga_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return giga_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return giga_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return giga_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return giga_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return giga_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return giga_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return giga_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: - return giga_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: - return giga_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return giga_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return giga_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: - return giga_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: - return giga_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return giga_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return giga_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return giga_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return giga_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: - return giga_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: - return giga_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return giga_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return giga_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: - return giga_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: - return giga_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return giga_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return giga_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: - return giga_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: - return giga_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return giga_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return giga_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: - return giga_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: - return giga_rc_track_right_banked_25_deg_down_to_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return giga_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return giga_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return giga_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return giga_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return giga_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return giga_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return giga_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return giga_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return giga_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return giga_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return giga_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return giga_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return giga_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return giga_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return giga_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return giga_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return giga_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return giga_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return giga_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return giga_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return giga_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return giga_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return giga_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return giga_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return giga_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return giga_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return giga_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return giga_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return giga_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return giga_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return giga_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return giga_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return giga_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return giga_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return giga_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return giga_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return giga_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return giga_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return giga_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return giga_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return giga_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return giga_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return giga_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return giga_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return giga_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return giga_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return giga_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return giga_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return giga_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return giga_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return giga_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return giga_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return giga_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return giga_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + return giga_rc_track_left_quarter_turn_1_60_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + return giga_rc_track_right_quarter_turn_1_60_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return giga_rc_track_left_quarter_turn_1_60_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return giga_rc_track_right_quarter_turn_1_60_deg_down; + case TRACK_ELEM_BRAKES: + return giga_rc_track_brakes; + case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + return giga_rc_track_25_deg_up_left_banked; + case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + return giga_rc_track_25_deg_up_right_banked; + case TRACK_ELEM_ON_RIDE_PHOTO: + return giga_rc_track_on_ride_photo; + case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + return giga_rc_track_25_deg_down_left_banked; + case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + return giga_rc_track_25_deg_down_right_banked; + case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: + return giga_rc_track_flat_to_60_deg_up_long_base; + case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: + return giga_rc_track_60_deg_up_to_flat_long_base; + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: + return giga_rc_track_flat_to_60_deg_down_long_base; + case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: + return giga_rc_track_60_deg_up_to_flat_long_base122; + case TRACK_ELEM_CABLE_LIFT_HILL: + return giga_rc_track_cable_lift_hill; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return giga_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return giga_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return giga_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return giga_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return giga_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return giga_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return giga_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return giga_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return giga_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return giga_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return giga_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return giga_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return giga_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return giga_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return giga_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return giga_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return giga_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return giga_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return giga_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return giga_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return giga_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return giga_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return giga_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return giga_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return giga_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return giga_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return giga_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return giga_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return giga_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return giga_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return giga_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return giga_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return giga_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return giga_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return giga_rc_track_diag_right_bank; + case TRACK_ELEM_BLOCK_BRAKES: + return giga_rc_track_block_brakes; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return giga_rc_track_left_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return giga_rc_track_right_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return giga_rc_track_left_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return giga_rc_track_right_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return giga_rc_track_left_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return giga_rc_track_right_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return giga_rc_track_left_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return giga_rc_track_right_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + return giga_rc_track_25_deg_up_to_left_banked_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + return giga_rc_track_25_deg_up_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return giga_rc_track_left_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return giga_rc_track_right_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + return giga_rc_track_25_deg_down_to_left_banked_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + return giga_rc_track_25_deg_down_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return giga_rc_track_left_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return giga_rc_track_right_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return giga_rc_track_left_banked_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return giga_rc_track_right_banked_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + return giga_rc_track_left_banked_25_deg_up_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + return giga_rc_track_right_banked_25_deg_up_to_right_banked_flat; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return giga_rc_track_left_banked_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return giga_rc_track_right_banked_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + return giga_rc_track_left_banked_25_deg_down_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + return giga_rc_track_right_banked_25_deg_down_to_right_banked_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return giga_rc_track_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return giga_rc_track_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + return giga_rc_track_left_banked_25_deg_up_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + return giga_rc_track_right_banked_25_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return giga_rc_track_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return giga_rc_track_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + return giga_rc_track_left_banked_25_deg_down_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + return giga_rc_track_right_banked_25_deg_down_to_flat; - case TRACK_ELEM_BOOSTER: - return giga_rc_track_booster; - } - return NULL; + case TRACK_ELEM_BOOSTER: + return giga_rc_track_booster; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/heartline_twister_coaster.c b/src/openrct2/ride/coaster/heartline_twister_coaster.c index 9f7edf410a..0aa8ecd9de 100644 --- a/src/openrct2/ride/coaster/heartline_twister_coaster.c +++ b/src/openrct2/ride/coaster/heartline_twister_coaster.c @@ -29,1079 +29,1079 @@ /** rct2: 0x0087694C */ static void heartline_twister_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21354, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21356, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21355, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21357, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21358, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21360, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21359, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21361, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21294, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21296, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21295, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21297, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21354, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21356, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21355, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21357, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21358, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21360, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21359, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21361, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21294, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21296, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21295, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21297, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void heartline_twister_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { 19732, SPR_STATION_BASE_B_SW_NE }, - { 19733, SPR_STATION_BASE_B_NW_SE }, - { 19732, SPR_STATION_BASE_B_SW_NE }, - { 19733, SPR_STATION_BASE_B_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { 19732, SPR_STATION_BASE_B_SW_NE }, + { 19733, SPR_STATION_BASE_B_NW_SE }, + { 19732, SPR_STATION_BASE_B_SW_NE }, + { 19733, SPR_STATION_BASE_B_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - sub_98196C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + sub_98196C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0087695C */ static void heartline_twister_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21378, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21382, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21379, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21383, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21380, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21384, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21381, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21385, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21322, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21326, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21323, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21327, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21324, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21328, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21325, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21329, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21378, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21382, 0, 0, 32, 1, 50, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21379, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21383, 0, 0, 32, 1, 50, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21380, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21384, 0, 0, 32, 1, 50, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21381, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21385, 0, 0, 32, 1, 50, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21322, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21326, 0, 0, 32, 1, 50, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21323, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21327, 0, 0, 32, 1, 50, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21324, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21328, 0, 0, 32, 1, 50, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21325, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21329, 0, 0, 32, 1, 50, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008769FC */ static void heartline_twister_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21402, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21406, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 21, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21403, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21407, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 22, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21404, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21408, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 23, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21405, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21409, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 24, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21346, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21350, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 21, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21347, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21351, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 22, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21348, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21352, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 23, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21349, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21353, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 24, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21402, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21406, 0, 0, 32, 1, 98, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 21, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21403, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21407, 0, 0, 32, 1, 98, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 22, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21404, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21408, 0, 0, 32, 1, 98, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 23, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21405, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21409, 0, 0, 32, 1, 98, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 24, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21346, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21350, 0, 0, 32, 1, 98, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 21, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21347, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21351, 0, 0, 32, 1, 98, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 22, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21348, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21352, 0, 0, 32, 1, 98, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 23, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21349, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21353, 0, 0, 32, 1, 98, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 24, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x0087696C */ static void heartline_twister_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21362, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21366, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21363, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21367, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21364, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21368, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21365, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21369, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21306, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21307, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21308, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21309, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21362, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21366, 0, 0, 32, 1, 42, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21363, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21367, 0, 0, 32, 1, 42, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21364, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21368, 0, 0, 32, 1, 42, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21365, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21369, 0, 0, 32, 1, 42, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21306, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 1, 42, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21307, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 1, 42, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21308, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 1, 42, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21309, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 1, 42, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008769BC */ static void heartline_twister_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21386, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21390, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 13, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21387, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21391, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 14, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21388, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21392, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 15, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21389, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21393, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 16, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21330, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21334, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 13, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21331, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21335, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 14, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21332, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21336, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 15, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21333, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21337, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 16, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21386, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21390, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 13, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21387, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21391, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 14, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21388, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21392, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 15, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21389, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21393, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 16, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21330, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21334, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 13, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21331, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21335, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 14, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21332, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21336, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 15, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21333, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21337, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 16, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008769CC */ static void heartline_twister_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21394, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21398, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 17, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21395, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21399, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 18, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21396, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21400, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 19, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21397, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21401, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 20, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21338, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21342, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 17, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21339, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21343, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 18, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21340, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21344, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 19, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21341, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21345, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 20, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21394, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21398, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 17, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21395, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21399, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 18, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21396, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21400, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 19, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21397, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21401, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 20, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21338, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21342, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 17, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21339, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21343, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 18, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21340, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21344, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 19, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21341, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21345, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 20, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x0087697C */ static void heartline_twister_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21370, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21374, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21371, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21375, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21372, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21376, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21373, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21377, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21314, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21318, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21315, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21319, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21316, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21320, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21317, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21321, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21370, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21374, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21371, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21375, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21372, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21376, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21373, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21377, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21314, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21318, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21315, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21319, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21316, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21320, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21317, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21321, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x0087698C */ static void heartline_twister_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - heartline_twister_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + heartline_twister_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00876A0C */ static void heartline_twister_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - heartline_twister_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + heartline_twister_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0087699C */ static void heartline_twister_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - heartline_twister_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + heartline_twister_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008769DC */ static void heartline_twister_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - heartline_twister_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + heartline_twister_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008769EC */ static void heartline_twister_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - heartline_twister_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + heartline_twister_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008769AC */ static void heartline_twister_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - heartline_twister_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + heartline_twister_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00876A6C */ static void heartline_twister_rc_track_heartline_transfer_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21306, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21307, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21308, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21309, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21314, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21308, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21318, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(6, 5, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21315, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21309, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21319, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(7, 6, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21316, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21306, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21320, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(6, 7, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21317, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21307, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21321, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(7, 8, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21298, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21302, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21299, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21303, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21300, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21304, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21301, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21305, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21316, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21320, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21317, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21321, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21314, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21318, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21315, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21319, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height - 16, TUNNEL_0); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21306, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 20, 0, height, 0, 6, height + 23); + wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21307, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 20, 0, height, 0, 6, height + 23); + wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21308, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 20, 0, height, 0, 6, height + 23); + wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21309, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 20, 0, height, 0, 6, height + 23); + wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21314, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21308, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21318, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); + wooden_a_supports_paint_setup(6, 5, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21315, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21309, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21319, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); + wooden_a_supports_paint_setup(7, 6, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21316, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21306, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21320, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); + wooden_a_supports_paint_setup(6, 7, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21317, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21307, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21321, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); + wooden_a_supports_paint_setup(7, 8, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21298, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21302, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21299, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21303, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21300, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21304, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21301, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21305, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21316, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21320, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21317, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21321, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21314, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21318, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21315, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21319, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height - 16, TUNNEL_0); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x00876A7C */ static void heartline_twister_rc_track_heartline_transfer_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21316, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21320, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21317, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21321, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21314, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21318, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21315, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21319, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height - 16, TUNNEL_0); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21314, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21308, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21318, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(6, 5, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21315, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21309, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21319, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(7, 6, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21316, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21306, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21320, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(6, 7, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21317, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21307, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21321, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(7, 8, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21298, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21302, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21299, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21303, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21300, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21304, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21301, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21305, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21306, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21307, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21308, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21309, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21316, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21320, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21317, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21321, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21314, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21318, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21315, 0, 0, 32, 20, 2, height - 8, 0, 6, height - 7); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21319, 0, 0, 32, 1, 34, height - 8, 0, 27, height - 8); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height - 16, TUNNEL_0); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21314, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21308, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21318, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); + wooden_a_supports_paint_setup(6, 5, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21315, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21309, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21319, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); + wooden_a_supports_paint_setup(7, 6, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21316, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21306, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21320, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); + wooden_a_supports_paint_setup(6, 7, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21317, 0, 0, 32, 20, 2, height + 8, 0, 6, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21307, 0, 0, 32, 20, 2, height + 16, 0, 6, height + 16); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21321, 0, 0, 32, 1, 34, height + 8, 0, 27, height + 8); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); + wooden_a_supports_paint_setup(7, 8, height + 8, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21298, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21302, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21299, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21303, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21300, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21304, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21301, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21305, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21306, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 20, 0, height, 0, 6, height + 23); + wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21307, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 20, 0, height, 0, 6, height + 23); + wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21308, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 20, 0, height, 0, 6, height + 23); + wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21309, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 20, 0, height, 0, 6, height + 23); + wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x00876A4C */ static void heartline_twister_rc_track_left_heartline_roll(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21410, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21422, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21413, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21425, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21416, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21428, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21419, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21431, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21411, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21423, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21414, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21426, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21417, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21429, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21420, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21432, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21412, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21424, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21415, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21427, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21418, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21430, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21421, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21433, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21418, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21430, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21421, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21433, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21412, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21424, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21415, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21427, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21417, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21429, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21420, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21432, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21411, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21423, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21414, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21426, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21416, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21428, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21419, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21431, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21410, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21422, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21413, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21425, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21410, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21422, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21413, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21425, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21416, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21428, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21419, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21431, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21411, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21423, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21414, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21426, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21417, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21429, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21420, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21432, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21412, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21424, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21415, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21427, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21418, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21430, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21421, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21433, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21418, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21430, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21421, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21433, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21412, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21424, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21415, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21427, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21417, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21429, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21420, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21432, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21411, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21423, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21414, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21426, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21416, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21428, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21419, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21431, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21410, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21422, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21413, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21425, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x00876A5C */ static void heartline_twister_rc_track_right_heartline_roll(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21434, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21446, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21437, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21449, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21440, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21452, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21443, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21455, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21435, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21447, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21438, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21450, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21441, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21453, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21444, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21456, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21436, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21448, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21439, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21451, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21442, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21454, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21445, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21457, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21442, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21454, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21445, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21457, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21436, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21448, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21439, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21451, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21441, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21453, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21444, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21456, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21435, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21447, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21438, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21450, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21440, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21452, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21443, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21455, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21434, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21446, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21437, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21449, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21434, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21446, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21437, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21449, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21440, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21452, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21443, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21455, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21435, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21447, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21438, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21450, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21441, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21453, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21444, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21456, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21436, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21448, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21439, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21451, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21442, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21454, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21445, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21457, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21442, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21454, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21445, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21457, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21436, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21448, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21439, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21451, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21441, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21453, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21444, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21456, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21435, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21447, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21438, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21450, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21440, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21452, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21443, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21455, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21434, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21446, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21437, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21449, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } TRACK_PAINT_FUNCTION get_track_paint_function_heartline_twister_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return heartline_twister_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return heartline_twister_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return heartline_twister_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return heartline_twister_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return heartline_twister_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return heartline_twister_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return heartline_twister_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return heartline_twister_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return heartline_twister_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return heartline_twister_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return heartline_twister_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return heartline_twister_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return heartline_twister_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return heartline_twister_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_HEARTLINE_TRANSFER_UP: - return heartline_twister_rc_track_heartline_transfer_up; - case TRACK_ELEM_HEARTLINE_TRANSFER_DOWN: - return heartline_twister_rc_track_heartline_transfer_down; - case TRACK_ELEM_LEFT_HEARTLINE_ROLL: - return heartline_twister_rc_track_left_heartline_roll; - case TRACK_ELEM_RIGHT_HEARTLINE_ROLL: - return heartline_twister_rc_track_right_heartline_roll; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return heartline_twister_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return heartline_twister_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return heartline_twister_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return heartline_twister_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return heartline_twister_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return heartline_twister_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return heartline_twister_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return heartline_twister_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return heartline_twister_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return heartline_twister_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return heartline_twister_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return heartline_twister_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return heartline_twister_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return heartline_twister_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_HEARTLINE_TRANSFER_UP: + return heartline_twister_rc_track_heartline_transfer_up; + case TRACK_ELEM_HEARTLINE_TRANSFER_DOWN: + return heartline_twister_rc_track_heartline_transfer_down; + case TRACK_ELEM_LEFT_HEARTLINE_ROLL: + return heartline_twister_rc_track_left_heartline_roll; + case TRACK_ELEM_RIGHT_HEARTLINE_ROLL: + return heartline_twister_rc_track_right_heartline_roll; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/inverted_hairpin_coaster.c b/src/openrct2/ride/coaster/inverted_hairpin_coaster.c index 86f386cadf..bf283e753c 100644 --- a/src/openrct2/ride/coaster/inverted_hairpin_coaster.c +++ b/src/openrct2/ride/coaster/inverted_hairpin_coaster.c @@ -29,942 +29,942 @@ /** rct2: 0x00890CB4 */ static void inverted_hairpin_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17030, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17031, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17032, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17033, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17026, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17027, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17030, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17031, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17032, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17033, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17026, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17027, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00890D84, 0x00890D94, 0x00890DA4 */ static void inverted_hairpin_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { SPR_STATION_BASE_C_SW_NE, 17028, SPR_STATION_INVERTED_BAR_0_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 17029, SPR_STATION_INVERTED_BAR_0_NW_SE }, - { SPR_STATION_BASE_C_SW_NE, 17028, SPR_STATION_INVERTED_BAR_0_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 17029, SPR_STATION_INVERTED_BAR_0_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { SPR_STATION_BASE_C_SW_NE, 17028, SPR_STATION_INVERTED_BAR_0_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 17029, SPR_STATION_INVERTED_BAR_0_NW_SE }, + { SPR_STATION_BASE_C_SW_NE, 17028, SPR_STATION_INVERTED_BAR_0_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 17029, SPR_STATION_INVERTED_BAR_0_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 1, height + 24, 0, 6, height + 24); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); - track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_1); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 1, height + 24, 0, 6, height + 24); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); + track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_1); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00890CC4 */ static void inverted_hairpin_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17070, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17071, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17072, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17073, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17042, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17043, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17044, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17045, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17070, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17071, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17072, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17073, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17042, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17043, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17044, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17045, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x00890CD4 */ static void inverted_hairpin_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17086, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17087, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17088, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17089, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17058, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17059, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17060, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17061, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17086, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17087, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17088, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17089, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17058, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17059, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17060, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17061, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x00890CE4 */ static void inverted_hairpin_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17062, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17063, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17064, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17065, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17034, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17035, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17036, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17037, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17062, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17063, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17064, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17065, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17034, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17035, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17036, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17037, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_general_support_height(height + 48, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x00890CF4 */ static void inverted_hairpin_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17074, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17078, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17075, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17079, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17076, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17077, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17046, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17050, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17047, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17051, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17048, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17049, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17074, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17078, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17075, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17079, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17076, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17077, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17046, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17050, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17047, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17051, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17048, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17049, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x00890D04 */ static void inverted_hairpin_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17080, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17084, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17081, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17085, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17082, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17083, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17052, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17056, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17053, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17057, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17054, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17055, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17080, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17084, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17081, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17085, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17082, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17083, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17052, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17056, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17053, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17057, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17054, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17055, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x00890D14 */ static void inverted_hairpin_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17066, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17067, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17068, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17069, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17038, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17039, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17040, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17041, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17066, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17067, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17068, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17069, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17038, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17039, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17040, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17041, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_general_support_height(height + 40, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x00890D24 */ static void inverted_hairpin_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_hairpin_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_hairpin_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00890D34 */ static void inverted_hairpin_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_hairpin_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_hairpin_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00890D44 */ static void inverted_hairpin_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_hairpin_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_hairpin_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00890D54 */ static void inverted_hairpin_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_hairpin_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_hairpin_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00890D64 */ static void inverted_hairpin_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_hairpin_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_hairpin_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00890D74 */ static void inverted_hairpin_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_hairpin_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_hairpin_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00890DB4 */ static void inverted_hairpin_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17123, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17126, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17129, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17120, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17123, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17126, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17129, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17120, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17122, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17125, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17128, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17119, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17121, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17124, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17127, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17118, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17122, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17125, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17128, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17119, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17121, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17124, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17127, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17118, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x00890DC4 */ static void inverted_hairpin_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - inverted_hairpin_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + inverted_hairpin_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00890DD4 */ static void inverted_hairpin_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17141, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17143, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17145, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17139, 0, 6, 32, 20, 3, height + 24); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17141, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17143, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17145, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17139, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17140, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17142, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17144, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17138, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17140, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17142, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17144, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17138, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x00890DE4 */ static void inverted_hairpin_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17130, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17132, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17134, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17136, 0, 6, 32, 20, 3, height + 24); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17130, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17132, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17134, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17136, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17131, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17133, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17135, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17137, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17131, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17133, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17135, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17137, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x00890DF4 */ static void inverted_hairpin_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - inverted_hairpin_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + inverted_hairpin_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x00890E04 */ static void inverted_hairpin_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - inverted_hairpin_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + inverted_hairpin_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00890E64 */ static void inverted_hairpin_rc_track_left_quarter_turn_1(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17114, 0, 0, 26, 24, 3, height + 24, 6, 2, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17115, 0, 0, 26, 26, 3, height + 24, 0, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17116, 0, 0, 24, 26, 3, height + 24, 2, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17117, 0, 0, 24, 24, 3, height + 24, 6, 6, height + 24); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17114, 0, 0, 26, 24, 3, height + 24, 6, 2, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17115, 0, 0, 26, 26, 3, height + 24, 0, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17116, 0, 0, 24, 26, 3, height + 24, 2, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17117, 0, 0, 24, 24, 3, height + 24, 6, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_right(height, TUNNEL_0); - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_right(height, TUNNEL_0); + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00890E74 */ static void inverted_hairpin_rc_track_right_quarter_turn_1(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_hairpin_rc_track_left_quarter_turn_1(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + inverted_hairpin_rc_track_left_quarter_turn_1(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00890E24 */ static void inverted_hairpin_rc_track_flat_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17102, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17106, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17103, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17107, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17104, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17105, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 56); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17090, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17094, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17091, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17095, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17092, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17093, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 56); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17102, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17106, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17103, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17107, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17104, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17105, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 56); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17090, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17094, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17091, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17095, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17092, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17093, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 56); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x00890E34 */ static void inverted_hairpin_rc_track_60_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17108, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 48); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17112, 0, 0, 32, 10, 41, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17109, 0, 0, 32, 2, 41, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17113, 0, 0, 32, 10, 41, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17110, 0, 0, 32, 2, 41, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17111, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 48); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17096, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 48); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17100, 0, 0, 32, 10, 41, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17097, 0, 0, 32, 2, 41, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17101, 0, 0, 32, 10, 41, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17098, 0, 0, 32, 2, 41, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17099, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 48); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17108, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 48); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17112, 0, 0, 32, 10, 41, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17109, 0, 0, 32, 2, 41, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17113, 0, 0, 32, 10, 41, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17110, 0, 0, 32, 2, 41, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17111, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 48); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17096, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 48); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17100, 0, 0, 32, 10, 41, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17097, 0, 0, 32, 2, 41, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17101, 0, 0, 32, 10, 41, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17098, 0, 0, 32, 2, 41, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17099, 0, 0, 30, 20, 3, height + 24, 0, 6, height + 48); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_0); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_0); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x00890E44 */ static void inverted_hairpin_rc_track_flat_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_hairpin_rc_track_60_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_hairpin_rc_track_60_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00890E54 */ static void inverted_hairpin_rc_track_60_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_hairpin_rc_track_flat_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_hairpin_rc_track_flat_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00890E14 */ static void inverted_hairpin_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17028, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17029, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - } + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17028, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17029, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00890E84 */ static void inverted_hairpin_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17028, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17029, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - } + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17028, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17029, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_general_support_height(height + 32, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_inverted_hairpin_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return inverted_hairpin_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return inverted_hairpin_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return inverted_hairpin_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return inverted_hairpin_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return inverted_hairpin_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return inverted_hairpin_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return inverted_hairpin_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return inverted_hairpin_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return inverted_hairpin_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return inverted_hairpin_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return inverted_hairpin_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return inverted_hairpin_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return inverted_hairpin_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return inverted_hairpin_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return inverted_hairpin_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return inverted_hairpin_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return inverted_hairpin_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return inverted_hairpin_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return inverted_hairpin_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return inverted_hairpin_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return inverted_hairpin_rc_track_left_quarter_turn_1; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return inverted_hairpin_rc_track_right_quarter_turn_1; - case TRACK_ELEM_FLAT_TO_60_DEG_UP: - return inverted_hairpin_rc_track_flat_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - return inverted_hairpin_rc_track_60_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - return inverted_hairpin_rc_track_flat_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: - return inverted_hairpin_rc_track_60_deg_down_to_flat; - case TRACK_ELEM_BRAKES: - return inverted_hairpin_rc_track_brakes; - case TRACK_ELEM_BLOCK_BRAKES: - return inverted_hairpin_rc_track_block_brakes; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return inverted_hairpin_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return inverted_hairpin_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return inverted_hairpin_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return inverted_hairpin_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return inverted_hairpin_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return inverted_hairpin_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return inverted_hairpin_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return inverted_hairpin_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return inverted_hairpin_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return inverted_hairpin_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return inverted_hairpin_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return inverted_hairpin_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return inverted_hairpin_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return inverted_hairpin_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return inverted_hairpin_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return inverted_hairpin_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return inverted_hairpin_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return inverted_hairpin_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return inverted_hairpin_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return inverted_hairpin_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return inverted_hairpin_rc_track_left_quarter_turn_1; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return inverted_hairpin_rc_track_right_quarter_turn_1; + case TRACK_ELEM_FLAT_TO_60_DEG_UP: + return inverted_hairpin_rc_track_flat_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + return inverted_hairpin_rc_track_60_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + return inverted_hairpin_rc_track_flat_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + return inverted_hairpin_rc_track_60_deg_down_to_flat; + case TRACK_ELEM_BRAKES: + return inverted_hairpin_rc_track_brakes; + case TRACK_ELEM_BLOCK_BRAKES: + return inverted_hairpin_rc_track_block_brakes; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/inverted_impulse_coaster.c b/src/openrct2/ride/coaster/inverted_impulse_coaster.c index 20b1cf0e68..be9f647ecd 100644 --- a/src/openrct2/ride/coaster/inverted_impulse_coaster.c +++ b/src/openrct2/ride/coaster/inverted_impulse_coaster.c @@ -29,549 +29,549 @@ /** rct2: 0x008B0460 */ static void inverted_impulse_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19662, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19663, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19662, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19663, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008B0470, 0x008B0480, 0x008B0490 */ static void inverted_impulse_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { SPR_STATION_BASE_C_SW_NE, 19662, SPR_STATION_INVERTED_BAR_B_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 19663, SPR_STATION_INVERTED_BAR_B_NW_SE }, - { SPR_STATION_BASE_C_SW_NE, 19662, SPR_STATION_INVERTED_BAR_B_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 19663, SPR_STATION_INVERTED_BAR_B_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { SPR_STATION_BASE_C_SW_NE, 19662, SPR_STATION_INVERTED_BAR_B_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 19663, SPR_STATION_INVERTED_BAR_B_NW_SE }, + { SPR_STATION_BASE_C_SW_NE, 19662, SPR_STATION_INVERTED_BAR_B_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 19663, SPR_STATION_INVERTED_BAR_B_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 3, height + 29, 0, 6, height + 29); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); - track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_TALL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 3, height + 29, 0, 6, height + 29); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); + track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_TALL); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008B04A0 */ static void inverted_impulse_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19672, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19673, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19674, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19675, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19672, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19673, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19674, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19675, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008B04B0 */ static void inverted_impulse_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19688, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19689, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19690, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19691, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_5); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19688, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19689, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19690, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19691, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_5); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); } /** rct2: 0x008B04C0 */ static void inverted_impulse_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19664, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19665, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19666, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19667, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19664, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19665, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19666, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19667, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008B04D0 */ static void inverted_impulse_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19676, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19680, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19677, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19681, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19678, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19679, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19676, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19680, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19677, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19681, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19678, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19679, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); } /** rct2: 0x008B04E0 */ static void inverted_impulse_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19682, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19686, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19683, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19687, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19684, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19685, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19682, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19686, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19683, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19687, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19684, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19685, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); } /** rct2: 0x008B04F0 */ static void inverted_impulse_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19668, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19669, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19670, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19671, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19668, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19669, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19670, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19671, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008B0500 */ static void inverted_impulse_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_impulse_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_impulse_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0510 */ static void inverted_impulse_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_impulse_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_impulse_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0520 */ static void inverted_impulse_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_impulse_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_impulse_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0530 */ static void inverted_impulse_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_impulse_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_impulse_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0540 */ static void inverted_impulse_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_impulse_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_impulse_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0550 */ static void inverted_impulse_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_impulse_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_impulse_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B05A0 */ static void inverted_impulse_rc_track_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19700, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19701, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19702, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19703, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - paint_util_set_vertical_tunnel(height + 32); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19700, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19701, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19702, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19703, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + paint_util_set_vertical_tunnel(height + 32); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008B05B0 */ static void inverted_impulse_rc_track_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_impulse_rc_track_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_impulse_rc_track_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0560 */ static void inverted_impulse_rc_track_60_deg_up_to_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19692, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19693, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19694, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19695, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_vertical_tunnel(height + 56); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19692, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19693, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19694, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19695, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_vertical_tunnel(height + 56); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008B0570 */ static void inverted_impulse_rc_track_90_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_impulse_rc_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_impulse_rc_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0580 */ static void inverted_impulse_rc_track_90_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19696, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19697, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19698, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19699, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 48, TUNNEL_5); - break; - case 2: - paint_util_push_tunnel_left(height + 48, TUNNEL_5); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 96, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19696, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19697, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19698, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19699, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 48, TUNNEL_5); + break; + case 2: + paint_util_push_tunnel_left(height + 48, TUNNEL_5); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 96, 0x20); } /** rct2: 0x008B0590 */ static void inverted_impulse_rc_track_60_deg_down_to_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19698, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19699, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19696, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19697, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_5); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 96, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19698, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19699, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19696, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 85); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19697, 0, 0, 32, 2, 55, height + 29, 0, 4, height + 11); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_5); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 96, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008B05C0 */ static void inverted_impulse_rc_track_left_quarter_turn_1_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19708, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19709, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19717, 0, 0, 2, 32, 31, height + 29, 4, 0, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19710, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19718, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19711, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19719, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); - break; - } - paint_util_set_vertical_tunnel(height + 96); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 96, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19708, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19709, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19717, 0, 0, 2, 32, 31, height + 29, 4, 0, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19710, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19718, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19711, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19719, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); + break; + } + paint_util_set_vertical_tunnel(height + 96); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 96, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008B05D0 */ static void inverted_impulse_rc_track_right_quarter_turn_1_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19704, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19712, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19705, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19713, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19706, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19714, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19707, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); - break; - } - paint_util_set_vertical_tunnel(height + 96); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 96, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19704, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19712, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19705, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19713, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19706, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19714, 0, 0, 32, 2, 31, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19707, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 125); + break; + } + paint_util_set_vertical_tunnel(height + 96); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 96, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008B05E0 */ static void inverted_impulse_rc_track_left_quarter_turn_1_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_impulse_rc_track_right_quarter_turn_1_90_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + inverted_impulse_rc_track_right_quarter_turn_1_90_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008B05F0 */ static void inverted_impulse_rc_track_right_quarter_turn_1_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_impulse_rc_track_left_quarter_turn_1_90_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + inverted_impulse_rc_track_left_quarter_turn_1_90_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } TRACK_PAINT_FUNCTION get_track_paint_function_inverted_impulse_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return inverted_impulse_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return inverted_impulse_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return inverted_impulse_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return inverted_impulse_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return inverted_impulse_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return inverted_impulse_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return inverted_impulse_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return inverted_impulse_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return inverted_impulse_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return inverted_impulse_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return inverted_impulse_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return inverted_impulse_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return inverted_impulse_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return inverted_impulse_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_90_DEG_UP: - return inverted_impulse_rc_track_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN: - return inverted_impulse_rc_track_90_deg_down; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: - return inverted_impulse_rc_track_60_deg_up_to_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: - return inverted_impulse_rc_track_90_deg_down_to_60_deg_down; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: - return inverted_impulse_rc_track_90_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: - return inverted_impulse_rc_track_60_deg_down_to_90_deg_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: - return inverted_impulse_rc_track_left_quarter_turn_1_90_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: - return inverted_impulse_rc_track_right_quarter_turn_1_90_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: - return inverted_impulse_rc_track_left_quarter_turn_1_90_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: - return inverted_impulse_rc_track_right_quarter_turn_1_90_deg_down; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return inverted_impulse_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return inverted_impulse_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return inverted_impulse_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return inverted_impulse_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return inverted_impulse_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return inverted_impulse_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return inverted_impulse_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return inverted_impulse_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return inverted_impulse_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return inverted_impulse_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return inverted_impulse_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return inverted_impulse_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return inverted_impulse_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return inverted_impulse_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_90_DEG_UP: + return inverted_impulse_rc_track_90_deg_up; + case TRACK_ELEM_90_DEG_DOWN: + return inverted_impulse_rc_track_90_deg_down; + case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + return inverted_impulse_rc_track_60_deg_up_to_90_deg_up; + case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + return inverted_impulse_rc_track_90_deg_down_to_60_deg_down; + case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + return inverted_impulse_rc_track_90_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + return inverted_impulse_rc_track_60_deg_down_to_90_deg_down; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: + return inverted_impulse_rc_track_left_quarter_turn_1_90_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: + return inverted_impulse_rc_track_right_quarter_turn_1_90_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + return inverted_impulse_rc_track_left_quarter_turn_1_90_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + return inverted_impulse_rc_track_right_quarter_turn_1_90_deg_down; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/inverted_roller_coaster.c b/src/openrct2/ride/coaster/inverted_roller_coaster.c index dafbd0a686..c1fd0f1f35 100644 --- a/src/openrct2/ride/coaster/inverted_roller_coaster.c +++ b/src/openrct2/ride/coaster/inverted_roller_coaster.c @@ -29,7328 +29,7328 @@ /** rct2: 0x008A92E8 */ static void inverted_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27131, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27132, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27129, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27130, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27131, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27132, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27129, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27130, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A9558, 0x008A9568, 0x008A9578 */ static void inverted_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { SPR_STATION_BASE_C_SW_NE, 27131, SPR_STATION_INVERTED_BAR_C_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 27132, SPR_STATION_INVERTED_BAR_C_NW_SE }, - { SPR_STATION_BASE_C_SW_NE, 27131, SPR_STATION_INVERTED_BAR_C_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 27132, SPR_STATION_INVERTED_BAR_C_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { SPR_STATION_BASE_C_SW_NE, 27131, SPR_STATION_INVERTED_BAR_C_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 27132, SPR_STATION_INVERTED_BAR_C_NW_SE }, + { SPR_STATION_BASE_C_SW_NE, 27131, SPR_STATION_INVERTED_BAR_C_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 27132, SPR_STATION_INVERTED_BAR_C_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 3, height + 29, 0, 6, height + 29); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 3); - track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_TALL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 3, height + 29, 0, 6, height + 29); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 3); + track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_TALL); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A92F8 */ static void inverted_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27249, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27250, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27251, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27252, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27221, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27222, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27223, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27224, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27249, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27250, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27251, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27252, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27221, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27222, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27223, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27224, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A9308 */ static void inverted_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27237, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27238, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27239, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27240, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_5); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27237, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27238, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27239, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27240, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_5); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); } /** rct2: 0x008A9318 */ static void inverted_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27241, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27242, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27243, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27244, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27213, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27214, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27215, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27216, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27241, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27242, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27243, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27244, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27213, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27214, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27215, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27216, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008A9328 */ static void inverted_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27225, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27229, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27226, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27230, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27227, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27228, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27225, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27229, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27226, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27230, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27227, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27228, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); } /** rct2: 0x008A9338 */ static void inverted_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27231, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27235, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27232, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27236, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27233, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27234, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27231, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27235, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27232, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27236, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27233, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27234, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); - } - paint_util_set_general_support_height(height + 88, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); + } + paint_util_set_general_support_height(height + 88, 0x20); } /** rct2: 0x008A9348 */ static void inverted_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27245, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27246, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27247, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27248, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27217, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27218, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27219, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27220, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27245, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27246, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27247, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27248, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27217, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27218, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27219, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27220, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A9358 */ static void inverted_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9368 */ static void inverted_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9378 */ static void inverted_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9388 */ static void inverted_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9398 */ static void inverted_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A93A8 */ static void inverted_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A93B8 */ static void inverted_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27142, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27147, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27152, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27137, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27142, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27147, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27152, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27137, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27141, 0, 0, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27146, 0, 0, 32, 16, 3, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27151, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27136, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27140, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27145, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27150, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27135, 0, 0, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27139, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27144, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27149, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27134, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27138, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27143, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27148, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27133, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27141, 0, 0, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27146, 0, 0, 32, 16, 3, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27151, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27136, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27140, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27145, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27150, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27135, 0, 0, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27139, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27144, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27149, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27134, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27138, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27143, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27148, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27133, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A93C8 */ static void inverted_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - inverted_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + inverted_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A93D8 */ static void inverted_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27269, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27270, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27271, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27272, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27269, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27270, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27271, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27272, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A93E8 */ static void inverted_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27273, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27274, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27275, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27276, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27273, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27274, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27275, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27276, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A93F8 */ static void inverted_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27275, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27276, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27273, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27274, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27275, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27276, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27273, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27274, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A9408 */ static void inverted_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27271, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27272, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27269, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27270, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27271, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27272, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27269, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27270, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A9418 */ static void inverted_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27162, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27167, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27172, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27157, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27162, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27167, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27172, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27157, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27161, 0, 0, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27166, 0, 0, 32, 16, 3, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27171, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27156, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27160, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27165, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27170, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27155, 0, 0, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27159, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27164, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27169, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27154, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27158, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27163, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27168, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27153, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27161, 0, 0, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27166, 0, 0, 32, 16, 3, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27171, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27156, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27160, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27165, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27170, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27155, 0, 0, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27159, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27164, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27169, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27154, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27158, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27163, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27168, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27153, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9428 */ static void inverted_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - inverted_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + inverted_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A9438 */ static void inverted_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27277, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27278, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27279, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27280, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27277, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27278, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27279, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27280, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008A9448 */ static void inverted_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27281, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27282, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27283, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27284, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27281, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27282, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27283, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27284, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008A9458 */ static void inverted_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27285, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27286, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27287, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27288, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27285, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27286, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27287, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27288, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A9468 */ static void inverted_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27289, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27290, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27291, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27292, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27289, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27290, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27291, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27292, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A9478 */ static void inverted_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9488 */ static void inverted_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9498 */ static void inverted_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A94A8 */ static void inverted_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A94B8 */ static void inverted_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27293, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27294, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27295, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27296, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27293, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27294, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27295, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27296, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A94C8 */ static void inverted_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A94D8 */ static void inverted_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27317, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27322, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27327, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27332, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27317, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27322, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27327, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27332, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27318, 0, 0, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27323, 0, 0, 32, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27328, 0, 16, 32, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27333, 0, 16, 32, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27319, 0, 16, 16, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27324, 16, 16, 16, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27329, 16, 0, 16, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27334, 0, 0, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27320, 16, 0, 16, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27325, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27330, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27335, 16, 0, 16, 32, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27321, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27326, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27331, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27336, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27318, 0, 0, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27323, 0, 0, 32, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27328, 0, 16, 32, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27333, 0, 16, 32, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27319, 0, 16, 16, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27324, 16, 16, 16, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27329, 16, 0, 16, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27334, 0, 0, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27320, 16, 0, 16, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27325, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27330, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27335, 16, 0, 16, 32, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27321, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27326, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27331, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27336, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A94E8 */ static void inverted_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27297, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27302, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27307, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27312, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27297, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27302, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27307, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27312, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27298, 0, 16, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27303, 0, 16, 32, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27308, 0, 0, 32, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27313, 0, 0, 32, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27299, 0, 0, 16, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27304, 16, 0, 16, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27309, 16, 16, 16, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27314, 0, 16, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27300, 16, 0, 16, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27305, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27310, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27315, 16, 0, 16, 32, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27301, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27306, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27311, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27316, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27298, 0, 16, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27303, 0, 16, 32, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27308, 0, 0, 32, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27313, 0, 0, 32, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27299, 0, 0, 16, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27304, 16, 0, 16, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27309, 16, 16, 16, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27314, 0, 16, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27300, 16, 0, 16, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27305, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27310, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27315, 16, 0, 16, 32, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27301, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27306, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27311, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27316, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A94F8 */ static void inverted_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - inverted_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + inverted_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A9508 */ static void inverted_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - inverted_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + inverted_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A9518 */ static void inverted_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27253, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27257, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27256, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27260, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27253, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27257, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27256, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27260, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27254, 0, 0, 32, 26, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27258, 0, 0, 32, 26, 3, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27255, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27259, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27254, 0, 0, 32, 26, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27258, 0, 0, 32, 26, 3, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27255, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27259, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27255, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27259, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27254, 0, 0, 32, 26, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27258, 0, 0, 32, 26, 3, height + 29); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27255, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27259, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27254, 0, 0, 32, 26, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27258, 0, 0, 32, 26, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27256, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27260, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27253, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27257, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27256, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27260, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27253, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27257, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9528 */ static void inverted_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27261, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27265, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27264, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27268, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27261, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27265, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27264, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27268, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27262, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27266, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27263, 0, 0, 32, 26, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27267, 0, 0, 32, 26, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27262, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27266, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27263, 0, 0, 32, 26, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27267, 0, 0, 32, 26, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27263, 0, 0, 32, 26, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27267, 0, 0, 32, 26, 3, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27262, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27266, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27263, 0, 0, 32, 26, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27267, 0, 0, 32, 26, 3, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27262, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27266, 0, 0, 32, 26, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27264, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27268, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27261, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27265, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27264, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27268, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27261, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27265, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9538 */ static void inverted_rc_track_left_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27355, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27363, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27362, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27370, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27355, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27363, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27362, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27370, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27356, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27364, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27361, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27369, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27357, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27365, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27360, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27368, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27358, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27366, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27359, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27367, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27359, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27367, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27358, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27366, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27360, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27368, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27357, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27365, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27361, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27369, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27356, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27364, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27362, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27370, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27355, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27363, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27356, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27364, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27361, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27369, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27357, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27365, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27360, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27368, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27358, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27366, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27359, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27367, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27359, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27367, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27358, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27366, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27360, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27368, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27357, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27365, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27361, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27369, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27356, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27364, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27362, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27370, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27355, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27363, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_4); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_4); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_4); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_4); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A9548 */ static void inverted_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27386, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27378, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27379, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27371, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27386, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27378, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27379, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27371, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27385, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27377, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27380, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27372, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27384, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27376, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27381, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27373, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27383, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27375, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27382, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27374, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27382, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27374, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27383, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27375, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27381, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27373, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27384, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27376, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27380, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27372, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27385, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27377, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27379, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27371, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27386, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27378, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27385, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27377, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27380, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27372, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27384, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27376, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27381, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27373, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27383, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27375, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27382, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27374, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27382, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27374, 0, 0, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27383, 0, 16, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27375, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27381, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27373, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27384, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27376, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27380, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27372, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27385, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27377, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27379, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27371, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27386, 0, 6, 32, 10, 7, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27378, 0, 6, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_4); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_4); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_4); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_4); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A9588 */ static void inverted_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27392, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27395, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27398, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27389, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27392, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27395, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27398, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27389, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27391, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27394, 0, 0, 16, 16, 3, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27397, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27388, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27390, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27393, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27396, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27387, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27391, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27394, 0, 0, 16, 16, 3, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27397, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27388, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27390, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27393, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27396, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27387, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9598 */ static void inverted_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - inverted_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + inverted_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A95A8 */ static void inverted_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27404, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27407, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27410, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27401, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27404, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27407, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27410, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27401, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27403, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27406, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27409, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27400, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27402, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27405, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27408, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27399, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27403, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27406, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27409, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27400, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27402, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27405, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27408, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27399, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A95B8 */ static void inverted_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - inverted_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + inverted_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A95C8 */ static void inverted_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27422, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27424, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27426, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27420, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27422, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27424, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27426, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27420, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27421, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27423, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27425, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27419, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27421, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27423, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27425, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27419, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A95D8 */ static void inverted_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27411, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27413, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27415, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27417, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27411, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27413, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27415, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27417, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27412, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27414, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27416, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27418, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27412, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27414, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27416, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27418, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A95E8 */ static void inverted_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - inverted_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + inverted_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A95F8 */ static void inverted_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - inverted_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + inverted_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A9608 */ static void inverted_rc_track_left_twist_down_to_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27427, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27433, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27432, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27438, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27427, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27433, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27432, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27438, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27428, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27434, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27431, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27437, 0, 6, 32, 20, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27429, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27435, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27430, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27436, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27428, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27434, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27431, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27437, 0, 6, 32, 20, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27429, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27435, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27430, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27436, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9618 */ static void inverted_rc_track_right_twist_down_to_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27439, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27445, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27444, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27450, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27439, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27445, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27444, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27450, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27440, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27446, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27443, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27449, 0, 6, 32, 20, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27441, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27447, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27442, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27448, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27440, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27446, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27443, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27449, 0, 6, 32, 20, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27441, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27447, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27442, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27448, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9628 */ static void inverted_rc_track_left_twist_up_to_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27430, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27436, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27429, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27435, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27431, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27437, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27428, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27434, 0, 6, 32, 20, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27432, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27438, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27427, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27433, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27430, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27436, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27429, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27435, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27431, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27437, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27428, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27434, 0, 6, 32, 20, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27432, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27438, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27427, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27433, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9638 */ static void inverted_rc_track_right_twist_up_to_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27442, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27448, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27441, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27447, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27443, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27449, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27440, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27446, 0, 6, 32, 20, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27444, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27450, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27439, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27445, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27442, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27448, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27441, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27447, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27443, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27449, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27440, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27446, 0, 6, 32, 20, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27444, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27450, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27439, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27445, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9648 */ static void inverted_rc_track_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27451, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27459, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27458, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27466, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27451, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27459, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27458, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27466, 0, 6, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27452, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27460, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27457, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27465, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27453, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27461, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27456, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27464, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27454, 0, 0, 32, 20, 3, height + 34, 0, 6, height + 34); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27462, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27455, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27463, 0, 16, 32, 20, 3, height + 34, 0, 6, height + 34); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_3); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27452, 0, 0, 32, 2, 3, height + 29, 0, 29, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27460, 0, 14, 32, 2, 63, height + 29, 0, 29, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27457, 0, 6, 32, 2, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27465, 0, 6, 2, 2, 3, height + 29, 29, 20, height + 29); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27453, 16, 0, 5, 2, 119, height + 2, 16, 29, height + 2); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27461, 12, 0, 32, 2, 119, height + 2, 0, -6, height + 2); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27456, 10, 16, 4, 2, 119, height + 2, 10, 0, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27464, 16, 16, 2, 2, 119, height + 2, 29, 29, height + 2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27454, 0, 0, 32, 20, 3, height + 34, 0, 6, height + 34); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27462, 0, 0, 2, 2, 3, height + 34, 0, 0, height - 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27455, 0, 16, 32, 2, 3, height + 34, 0, 0, height - 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27463, 0, 16, 32, 20, 3, height + 34, 0, 6, height + 34); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_3); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008A9658 */ static void inverted_rc_track_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_half_loop_up(rideIndex, 3 - trackSequence, direction, height, mapElement); + inverted_rc_track_half_loop_up(rideIndex, 3 - trackSequence, direction, height, mapElement); } /** rct2: 0x008A9668 */ static void inverted_rc_track_left_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27467, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27470, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27473, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27476, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27467, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27470, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27473, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27476, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27468, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27471, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27474, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27477, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27469, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27472, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27475, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27478, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 28, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 40, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height + 40, TUNNEL_3); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27468, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27471, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27474, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27477, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27469, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27472, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27475, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27478, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 28, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 40, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height + 40, TUNNEL_3); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008A9678 */ static void inverted_rc_track_right_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27479, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27482, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27485, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27488, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27479, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27482, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27485, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27488, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 33); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27480, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27483, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27486, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27489, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27481, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27484, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27487, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27490, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 28, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 40, TUNNEL_3); - break; - case 1: - paint_util_push_tunnel_left(height + 40, TUNNEL_3); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27480, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27483, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27486, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27489, 0, 0, 20, 20, 3, height + 14, 6, 6, height + 24); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27481, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27484, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27487, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27490, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 39); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 28, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 40, TUNNEL_3); + break; + case 1: + paint_util_push_tunnel_left(height + 40, TUNNEL_3); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008A9688 */ static void inverted_rc_track_left_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_right_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 1) & 3, height, mapElement); + inverted_rc_track_right_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A9698 */ static void inverted_rc_track_right_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_left_corkscrew_up(rideIndex, 2 - trackSequence, (direction - 1) & 3, height, mapElement); + inverted_rc_track_left_corkscrew_up(rideIndex, 2 - trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A96D8 */ static void inverted_rc_track_left_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27352, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27348, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27353, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27349, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27354, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27350, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27351, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27347, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_4, +56, TUNNEL_5); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27352, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27348, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27353, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27349, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27354, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27350, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27351, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27347, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_4, +56, TUNNEL_5); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A96B8 */ static void inverted_rc_track_right_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27343, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27339, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27344, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27340, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27345, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27341, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27346, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27342, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_4, +56, TUNNEL_5); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27343, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27339, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27344, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27340, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27345, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27341, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27346, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27342, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_4, +56, TUNNEL_5); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A96C8 */ static void inverted_rc_track_left_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + inverted_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A96E8 */ static void inverted_rc_track_right_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + inverted_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A96A8 */ static void inverted_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27337, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27338, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27337, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27338, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A96F8 */ static void inverted_rc_track_left_quarter_banked_helix_large_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27202, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27207, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27212, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27197, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27202, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27207, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27212, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27197, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27201, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27206, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27211, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27196, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27200, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27205, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27210, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27195, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27199, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27204, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27209, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27194, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27198, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27203, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27208, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27193, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27201, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27206, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27211, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27196, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27200, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27205, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27210, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27195, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27199, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27204, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27209, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27194, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27198, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27203, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27208, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27193, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 16, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height + 16, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 16, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height + 16, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9708 */ static void inverted_rc_track_right_quarter_banked_helix_large_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27173, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27178, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27183, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27188, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27173, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27178, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27183, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27188, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27174, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27179, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27184, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27189, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27175, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27180, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27185, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27190, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27176, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27181, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27186, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27191, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27177, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27182, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27187, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27192, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27174, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27179, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27184, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27189, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27175, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27180, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27185, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27190, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27176, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27181, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27186, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27191, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27177, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27182, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27187, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27192, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 16, TUNNEL_3); - break; - case 1: - paint_util_push_tunnel_left(height + 16, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 16, TUNNEL_3); + break; + case 1: + paint_util_push_tunnel_left(height + 16, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9718 */ static void inverted_rc_track_left_quarter_banked_helix_large_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27182, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27187, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27192, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27177, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27182, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27187, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27192, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27177, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27181, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27186, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27191, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27176, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27180, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27185, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27190, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27175, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27179, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27184, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27189, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27174, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27178, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27183, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27188, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27173, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27181, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27186, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27191, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27176, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27180, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27185, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27190, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27175, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27179, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27184, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27189, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27174, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27178, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27183, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27188, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27173, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9728 */ static void inverted_rc_track_right_quarter_banked_helix_large_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27193, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27198, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27203, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27208, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27193, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27198, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27203, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27208, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27194, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27199, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27204, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27209, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27195, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27200, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27205, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27210, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27196, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27201, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27206, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27211, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27197, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27202, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27207, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27212, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27194, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27199, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27204, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27209, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27195, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27200, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27205, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27210, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27196, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27201, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27206, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27211, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27197, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27202, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27207, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27212, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9A38 */ static void inverted_rc_track_25_deg_up_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27711, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27712, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27713, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27714, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27711, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27712, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27713, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27714, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A9A48 */ static void inverted_rc_track_25_deg_up_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27715, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27716, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27717, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27718, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27715, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27716, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27717, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27718, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A9738 */ static void inverted_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27129, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27130, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27129, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27130, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27129, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27130, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27129, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27130, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008A9A58 */ static void inverted_rc_track_25_deg_down_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9A68 */ static void inverted_rc_track_25_deg_down_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9748 */ static void inverted_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27507, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27511, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27515, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27519, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27507, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27511, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27515, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27519, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27508, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27512, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27516, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27520, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27509, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27513, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27517, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27521, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27510, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27514, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27518, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27522, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27508, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27512, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27516, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27520, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27509, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27513, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27517, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27521, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27510, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27514, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27518, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27522, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9758 */ static void inverted_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27491, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27495, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27499, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27503, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27491, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27495, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27499, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27503, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27492, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27496, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27500, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27504, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27493, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27497, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27501, 0, 0, 28, 28, 3, height + 29, 4, 4, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27505, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27494, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27498, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27502, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27506, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27492, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27496, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27500, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27504, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27493, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27497, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27501, 0, 0, 28, 28, 3, height + 29, 4, 4, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27505, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27494, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27498, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27502, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27506, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9768 */ static void inverted_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - inverted_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + inverted_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9778 */ static void inverted_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - inverted_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + inverted_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008A9938 */ static void inverted_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27539, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27543, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27547, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27551, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27539, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27543, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27547, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27551, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27540, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27544, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27548, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27552, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27541, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27545, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27549, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27553, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27542, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27546, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27550, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27554, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27540, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27544, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27548, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27552, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27541, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27545, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27549, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27553, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27542, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27546, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27550, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27554, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9948 */ static void inverted_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27523, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27527, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27531, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27535, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27523, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27527, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27531, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27535, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27524, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27528, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27532, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27536, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27525, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27529, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27533, 0, 0, 28, 28, 3, height + 29, 4, 4, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27537, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27526, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27530, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27534, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27538, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27524, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27528, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27532, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27536, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27525, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27529, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27533, 0, 0, 28, 28, 3, height + 29, 4, 4, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27537, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27526, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27530, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27534, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27538, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9958 */ static void inverted_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - inverted_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + inverted_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9968 */ static void inverted_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - inverted_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + inverted_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008A9788 */ static void inverted_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27614, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27558, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27611, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27555, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27613, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27557, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27612, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27556, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27614, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27558, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27611, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27555, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27613, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27557, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27612, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27556, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A97B8 */ static void inverted_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27626, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27570, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27623, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27567, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27625, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27569, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27624, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27568, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27626, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27570, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27623, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27567, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27625, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27569, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27624, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27568, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A9818 */ static void inverted_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27582, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27579, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27581, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27580, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27582, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27579, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27581, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27580, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 32, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 36, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 32, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 36, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 32, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 36, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 32, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 36, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 120, 0x20); - break; - } + paint_util_set_general_support_height(height + 120, 0x20); + break; + } } /** rct2: 0x008A9798 */ static void inverted_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27618, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27562, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27615, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27559, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27617, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27561, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27616, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27560, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27618, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27562, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27615, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27559, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27617, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27561, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27616, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27560, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008A97F8 */ static void inverted_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27574, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27571, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27573, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27572, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27574, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27571, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27573, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27572, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A9808 */ static void inverted_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27578, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27575, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27577, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27576, -16, -16, 16, 16, 3, height + 29, 0, 0, height + 61); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27578, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27575, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27577, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27576, -16, -16, 16, 16, 3, height + 29, 0, 0, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A97A8 */ static void inverted_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27622, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27566, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27619, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27563, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27621, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27565, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27620, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27564, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27622, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27566, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27619, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27563, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27621, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27565, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27620, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27564, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A97E8 */ static void inverted_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27624, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27568, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27625, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27569, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27623, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27567, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27626, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27570, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27624, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27568, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27625, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27569, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27623, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27567, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27626, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27570, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A9848 */ static void inverted_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27580, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27581, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27579, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27582, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27580, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27581, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27579, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27582, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 24, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 28, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 24, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 28, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 24, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 28, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 24, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 28, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 120, 0x20); - break; - } + paint_util_set_general_support_height(height + 120, 0x20); + break; + } } /** rct2: 0x008A97C8 */ static void inverted_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27620, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27564, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27621, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27565, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27619, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27563, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27622, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27566, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27620, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27564, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27621, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27565, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27619, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27563, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27622, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27566, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A9828 */ static void inverted_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27576, -16, -16, 16, 16, 3, height + 29, 0, 0, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27577, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27575, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27578, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27576, -16, -16, 16, 16, 3, height + 29, 0, 0, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27577, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27575, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27578, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A9838 */ static void inverted_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27572, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27573, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27571, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27574, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27572, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27573, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27571, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27574, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A97D8 */ static void inverted_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27616, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27560, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27617, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27561, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27615, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27559, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27618, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27562, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27616, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27560, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27617, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27561, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27615, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27559, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27618, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27562, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008A9878 */ static void inverted_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27590, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27587, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27589, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27588, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27590, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27587, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27589, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27588, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9888 */ static void inverted_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27594, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27591, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27593, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27592, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27594, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27591, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27593, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27592, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9898 */ static void inverted_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27592, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27593, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27591, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27594, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27592, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27593, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27591, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27594, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A98A8 */ static void inverted_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27588, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27589, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27587, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27590, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27588, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27589, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27587, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27590, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A98D8 */ static void inverted_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27606, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27603, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27605, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27604, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27606, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27603, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27605, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27604, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008A98E8 */ static void inverted_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27610, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27607, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27609, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27608, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27610, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27607, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27609, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27608, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008A98B8 */ static void inverted_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27598, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27595, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27597, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27596, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27598, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27595, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27597, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27596, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A98C8 */ static void inverted_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27602, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27599, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27601, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27600, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27602, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27599, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27601, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27600, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A98F8 */ static void inverted_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27600, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27601, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27599, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27602, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27600, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27601, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27599, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27602, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A9908 */ static void inverted_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27596, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27597, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27595, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27598, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27596, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27597, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27595, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27598, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A9918 */ static void inverted_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27608, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27609, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27607, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27610, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27608, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27609, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27607, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27610, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008A9928 */ static void inverted_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27604, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27605, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27603, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27606, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27604, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27605, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27603, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27606, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008A9858 */ static void inverted_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27586, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27583, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27585, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27584, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27586, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27583, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27585, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27584, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9868 */ static void inverted_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27584, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27585, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27583, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27586, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27584, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27585, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27583, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27586, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A9978 */ static void inverted_rc_track_left_large_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27639, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27646, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27653, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27660, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27640, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27647, 0, 0, 32, 20, 9, height, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27654, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27661, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27641, 0, 0, 24, 16, 3, height, 8, 0, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27648, 0, 0, 32, 16, 0, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27655, 0, 0, 32, 16, 0, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27662, 0, 0, 2, 16, 3, height, 30, 16, height + 70); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27642, 0, 0, 8, 16, 3, height, 24, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27649, 0, 0, 32, 16, 0, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27656, 0, 0, 32, 16, 0, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27663, 0, 0, 2, 16, 3, height, 30, 16, height + 100); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 224, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27643, 0, 0, 2, 2, 3, height, 30, 30, height + 80); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27650, 0, 0, 16, 16, 0, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27657, 0, 0, 16, 16, 0, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27664, 0, 0, 2, 16, 3, height, 30, 0, height + 90); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 128, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27644, 0, 0, 2, 16, 3, height, 30, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27651, 0, 0, 32, 16, 0, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27658, 0, 0, 32, 16, 0, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27665, 0, 0, 2, 16, 3, height, 30, 0, height + 140); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 224, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27645, 0, 0, 32, 16, 0, height, 0, 16, height + 32); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 27, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27652, 0, 0, 32, 16, 0, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 27, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27659, 0, 0, 32, 16, 0, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 25, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27666, 0, 0, 32, 16, 0, height, 0, 0, height + 32); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 27, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27639, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27646, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27653, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27660, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27640, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27647, 0, 0, 32, 20, 9, height, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27654, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27661, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27641, 0, 0, 24, 16, 3, height, 8, 0, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27648, 0, 0, 32, 16, 0, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27655, 0, 0, 32, 16, 0, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27662, 0, 0, 2, 16, 3, height, 30, 16, height + 70); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27642, 0, 0, 8, 16, 3, height, 24, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27649, 0, 0, 32, 16, 0, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27656, 0, 0, 32, 16, 0, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27663, 0, 0, 2, 16, 3, height, 30, 16, height + 100); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 224, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27643, 0, 0, 2, 2, 3, height, 30, 30, height + 80); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27650, 0, 0, 16, 16, 0, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27657, 0, 0, 16, 16, 0, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27664, 0, 0, 2, 16, 3, height, 30, 0, height + 90); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 128, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27644, 0, 0, 2, 16, 3, height, 30, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27651, 0, 0, 32, 16, 0, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27658, 0, 0, 32, 16, 0, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27665, 0, 0, 2, 16, 3, height, 30, 0, height + 140); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 224, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27645, 0, 0, 32, 16, 0, height, 0, 16, height + 32); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 27, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27652, 0, 0, 32, 16, 0, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 27, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27659, 0, 0, 32, 16, 0, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 25, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27666, 0, 0, 32, 16, 0, height, 0, 0, height + 32); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 27, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + break; + } } /** rct2: 0x008A9988 */ static void inverted_rc_track_right_large_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27688, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27681, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27674, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27667, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27689, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27682, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27675, 0, 0, 32, 20, 19, height, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27668, 0, 0, 32, 20, 3, height, 0, 6, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27690, 0, 0, 32, 16, 3, height, 0, 16, height + 70); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27683, 0, 0, 32, 16, 0, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27676, 0, 0, 32, 16, 0, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27669, 0, 0, 32, 16, 3, height, 0, 0, height + 70); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27691, 0, 0, 32, 16, 3, height, 0, 16, height + 100); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27684, 0, 0, 32, 16, 0, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27677, 0, 0, 32, 16, 0, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27670, 0, 0, 32, 16, 3, height, 0, 0, height + 100); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 224, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27692, 0, 0, 16, 16, 3, height, 16, 0, height + 90); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27685, 0, 0, 16, 16, 0, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27678, 0, 0, 16, 16, 0, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27671, 0, 0, 2, 16, 3, height, 30, 16, height + 110); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 128, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27693, 0, 0, 2, 16, 3, height, 30, 0, height + 140); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27686, 0, 0, 32, 16, 0, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27679, 0, 0, 32, 16, 0, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27672, 0, 0, 2, 16, 3, height, 30, 16, height + 140); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 224, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27694, 0, 0, 32, 16, 0, height, 0, 0, height + 32); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 27, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27687, 0, 0, 32, 16, 0, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 25, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27680, 0, 0, 32, 16, 0, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 27, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27673, 0, 0, 32, 16, 0, height, 0, 16, height + 32); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 27, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27688, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27681, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27674, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27667, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27689, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27682, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27675, 0, 0, 32, 20, 19, height, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27668, 0, 0, 32, 20, 3, height, 0, 6, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27690, 0, 0, 32, 16, 3, height, 0, 16, height + 70); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27683, 0, 0, 32, 16, 0, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27676, 0, 0, 32, 16, 0, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27669, 0, 0, 32, 16, 3, height, 0, 0, height + 70); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27691, 0, 0, 32, 16, 3, height, 0, 16, height + 100); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27684, 0, 0, 32, 16, 0, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27677, 0, 0, 32, 16, 0, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27670, 0, 0, 32, 16, 3, height, 0, 0, height + 100); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 224, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27692, 0, 0, 16, 16, 3, height, 16, 0, height + 90); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27685, 0, 0, 16, 16, 0, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27678, 0, 0, 16, 16, 0, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27671, 0, 0, 2, 16, 3, height, 30, 16, height + 110); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 128, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27693, 0, 0, 2, 16, 3, height, 30, 0, height + 140); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27686, 0, 0, 32, 16, 0, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27679, 0, 0, 32, 16, 0, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27672, 0, 0, 2, 16, 3, height, 30, 16, height + 140); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 224, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27694, 0, 0, 32, 16, 0, height, 0, 0, height + 32); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 27, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27687, 0, 0, 32, 16, 0, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 25, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27680, 0, 0, 32, 16, 0, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 27, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27673, 0, 0, 32, 16, 0, height, 0, 16, height + 32); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 27, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + break; + } } /** rct2: 0x008A9998 */ static void inverted_rc_track_right_large_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_right_large_half_loop_up(rideIndex, 6 - trackSequence, direction, height, mapElement); + inverted_rc_track_right_large_half_loop_up(rideIndex, 6 - trackSequence, direction, height, mapElement); } /** rct2: 0x008A99A8 */ static void inverted_rc_track_left_large_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_left_large_half_loop_up(rideIndex, 6 - trackSequence, direction, height, mapElement); + inverted_rc_track_left_large_half_loop_up(rideIndex, 6 - trackSequence, direction, height, mapElement); } /** rct2: 0x008A96A8 */ static void inverted_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27337, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27338, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27337, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27338, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A9A78 */ static void inverted_rc_track_left_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27762, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27764, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27766, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27760, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27762, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27764, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27766, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27760, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27761, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27763, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27765, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27759, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27761, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27763, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27765, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27759, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A9A88 */ static void inverted_rc_track_right_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27751, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27753, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27755, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27757, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27751, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27753, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27755, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27757, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27752, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27754, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27756, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27758, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27752, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27754, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27756, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27758, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A9A98 */ static void inverted_rc_track_left_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - inverted_rc_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + inverted_rc_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A9AA8 */ static void inverted_rc_track_right_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - inverted_rc_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + inverted_rc_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A9BB8 */ static void inverted_rc_track_left_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27787, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27792, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27797, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27802, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27787, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27792, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27797, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27802, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27788, 0, 0, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27793, 0, 0, 32, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27798, 0, 16, 32, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27803, 0, 16, 32, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27789, 0, 16, 16, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27794, 16, 16, 16, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27799, 16, 0, 16, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27804, 0, 0, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27790, 16, 0, 16, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27795, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27800, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27805, 16, 0, 16, 32, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27791, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27796, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27801, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27806, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27788, 0, 0, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27793, 0, 0, 32, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27798, 0, 16, 32, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27803, 0, 16, 32, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27789, 0, 16, 16, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27794, 16, 16, 16, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27799, 16, 0, 16, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27804, 0, 0, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27790, 16, 0, 16, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27795, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27800, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27805, 16, 0, 16, 32, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27791, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27796, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27801, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27806, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A9BC8 */ static void inverted_rc_track_right_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27767, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27772, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27777, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27782, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27767, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27772, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27777, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27782, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27768, 0, 16, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27773, 0, 16, 32, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27778, 0, 0, 32, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27783, 0, 0, 32, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27769, 0, 0, 16, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27774, 16, 0, 16, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27779, 16, 16, 16, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27784, 0, 16, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27770, 16, 0, 16, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27775, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27780, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27785, 16, 0, 16, 32, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27771, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27776, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27781, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27786, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27768, 0, 16, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27773, 0, 16, 32, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27778, 0, 0, 32, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27783, 0, 0, 32, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27769, 0, 0, 16, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27774, 16, 0, 16, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27779, 16, 16, 16, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27784, 0, 16, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27770, 16, 0, 16, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27775, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27780, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27785, 16, 0, 16, 32, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27771, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27776, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27781, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27786, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A9BD8 */ static void inverted_rc_track_left_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - inverted_rc_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + inverted_rc_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A9BE8 */ static void inverted_rc_track_right_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - inverted_rc_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + inverted_rc_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A9AB8 */ static void inverted_rc_track_25_deg_up_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27719, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27720, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27721, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27722, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27719, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27720, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27721, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27722, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A9AC8 */ static void inverted_rc_track_25_deg_up_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27723, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27724, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27725, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27726, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27723, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27724, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27725, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27726, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A9AD8 */ static void inverted_rc_track_left_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27727, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27728, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27729, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27730, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27727, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27728, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27729, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27730, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A9AE8 */ static void inverted_rc_track_right_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27731, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27732, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27733, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27734, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27731, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27732, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27733, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27734, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A9AF8 */ static void inverted_rc_track_25_deg_down_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9B08 */ static void inverted_rc_track_25_deg_down_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9B18 */ static void inverted_rc_track_left_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9B28 */ static void inverted_rc_track_right_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9B38 */ static void inverted_rc_track_left_banked_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27735, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27736, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27737, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27738, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27735, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27736, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27737, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27738, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008A9B48 */ static void inverted_rc_track_right_banked_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27739, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27740, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27741, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27742, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27739, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27740, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27741, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27742, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008A9B58 */ static void inverted_rc_track_left_banked_25_deg_up_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27743, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27744, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27745, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27746, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27743, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27744, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27745, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27746, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A9B68 */ static void inverted_rc_track_right_banked_25_deg_up_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27747, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27748, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27749, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27750, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27747, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27748, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27749, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27750, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A9B78 */ static void inverted_rc_track_left_banked_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9B88 */ static void inverted_rc_track_right_banked_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9B98 */ static void inverted_rc_track_left_banked_25_deg_down_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9BA8 */ static void inverted_rc_track_right_banked_25_deg_down_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A99B8 */ static void inverted_rc_track_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27695, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27696, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27697, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27698, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27695, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27696, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27697, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27698, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008A99C8 */ static void inverted_rc_track_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27699, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27700, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27701, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27702, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27699, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27700, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27701, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27702, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008A99D8 */ static void inverted_rc_track_left_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27703, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27704, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27705, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27706, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27703, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27704, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27705, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27706, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A99E8 */ static void inverted_rc_track_right_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27707, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27708, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27709, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27710, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27707, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27708, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27709, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 27710, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A99F8 */ static void inverted_rc_track_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9A08 */ static void inverted_rc_track_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9A18 */ static void inverted_rc_track_left_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A9A28 */ static void inverted_rc_track_right_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - inverted_rc_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + inverted_rc_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } TRACK_PAINT_FUNCTION get_track_paint_function_inverted_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return inverted_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return inverted_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return inverted_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return inverted_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return inverted_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return inverted_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return inverted_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return inverted_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return inverted_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return inverted_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return inverted_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return inverted_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return inverted_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return inverted_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return inverted_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return inverted_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return inverted_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return inverted_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return inverted_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return inverted_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return inverted_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return inverted_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return inverted_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return inverted_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return inverted_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return inverted_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return inverted_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return inverted_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return inverted_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return inverted_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return inverted_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return inverted_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return inverted_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return inverted_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return inverted_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return inverted_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return inverted_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return inverted_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - return inverted_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - return inverted_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return inverted_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return inverted_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return inverted_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return inverted_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return inverted_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return inverted_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return inverted_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return inverted_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: - return inverted_rc_track_left_twist_down_to_up; - case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: - return inverted_rc_track_right_twist_down_to_up; - case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: - return inverted_rc_track_left_twist_up_to_down; - case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: - return inverted_rc_track_right_twist_up_to_down; - case TRACK_ELEM_HALF_LOOP_UP: - return inverted_rc_track_half_loop_up; - case TRACK_ELEM_HALF_LOOP_DOWN: - return inverted_rc_track_half_loop_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: - return inverted_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: - return inverted_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: - return inverted_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: - return inverted_rc_track_right_corkscrew_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - return inverted_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - return inverted_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return inverted_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return inverted_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: - return inverted_rc_track_brakes; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: - return inverted_rc_track_left_quarter_banked_helix_large_up; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: - return inverted_rc_track_right_quarter_banked_helix_large_up; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: - return inverted_rc_track_left_quarter_banked_helix_large_down; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: - return inverted_rc_track_right_quarter_banked_helix_large_down; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - return inverted_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - return inverted_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: - return inverted_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - return inverted_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - return inverted_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return inverted_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return inverted_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return inverted_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return inverted_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return inverted_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return inverted_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return inverted_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return inverted_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return inverted_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return inverted_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return inverted_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return inverted_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return inverted_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return inverted_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return inverted_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return inverted_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return inverted_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return inverted_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return inverted_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return inverted_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return inverted_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return inverted_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return inverted_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return inverted_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return inverted_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return inverted_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return inverted_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return inverted_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return inverted_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return inverted_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return inverted_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return inverted_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return inverted_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return inverted_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return inverted_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: - return inverted_rc_track_left_large_half_loop_up; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: - return inverted_rc_track_right_large_half_loop_up; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: - return inverted_rc_track_right_large_half_loop_down; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: - return inverted_rc_track_left_large_half_loop_down; - case TRACK_ELEM_BLOCK_BRAKES: - return inverted_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return inverted_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return inverted_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return inverted_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return inverted_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return inverted_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return inverted_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return inverted_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return inverted_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: - return inverted_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: - return inverted_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return inverted_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return inverted_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: - return inverted_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: - return inverted_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return inverted_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return inverted_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return inverted_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return inverted_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: - return inverted_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: - return inverted_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return inverted_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return inverted_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: - return inverted_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: - return inverted_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return inverted_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return inverted_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: - return inverted_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: - return inverted_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return inverted_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return inverted_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: - return inverted_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: - return inverted_rc_track_right_banked_25_deg_down_to_flat; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return inverted_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return inverted_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return inverted_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return inverted_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return inverted_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return inverted_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return inverted_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return inverted_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return inverted_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return inverted_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return inverted_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return inverted_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return inverted_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return inverted_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return inverted_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return inverted_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return inverted_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return inverted_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return inverted_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return inverted_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return inverted_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return inverted_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return inverted_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return inverted_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return inverted_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return inverted_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return inverted_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return inverted_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return inverted_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return inverted_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return inverted_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return inverted_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return inverted_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return inverted_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return inverted_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return inverted_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return inverted_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return inverted_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + return inverted_rc_track_left_vertical_loop; + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + return inverted_rc_track_right_vertical_loop; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return inverted_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return inverted_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return inverted_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return inverted_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return inverted_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return inverted_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return inverted_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return inverted_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: + return inverted_rc_track_left_twist_down_to_up; + case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: + return inverted_rc_track_right_twist_down_to_up; + case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: + return inverted_rc_track_left_twist_up_to_down; + case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: + return inverted_rc_track_right_twist_up_to_down; + case TRACK_ELEM_HALF_LOOP_UP: + return inverted_rc_track_half_loop_up; + case TRACK_ELEM_HALF_LOOP_DOWN: + return inverted_rc_track_half_loop_down; + case TRACK_ELEM_LEFT_CORKSCREW_UP: + return inverted_rc_track_left_corkscrew_up; + case TRACK_ELEM_RIGHT_CORKSCREW_UP: + return inverted_rc_track_right_corkscrew_up; + case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + return inverted_rc_track_left_corkscrew_down; + case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + return inverted_rc_track_right_corkscrew_down; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + return inverted_rc_track_left_quarter_turn_1_60_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + return inverted_rc_track_right_quarter_turn_1_60_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return inverted_rc_track_left_quarter_turn_1_60_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return inverted_rc_track_right_quarter_turn_1_60_deg_down; + case TRACK_ELEM_BRAKES: + return inverted_rc_track_brakes; + case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: + return inverted_rc_track_left_quarter_banked_helix_large_up; + case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: + return inverted_rc_track_right_quarter_banked_helix_large_up; + case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: + return inverted_rc_track_left_quarter_banked_helix_large_down; + case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: + return inverted_rc_track_right_quarter_banked_helix_large_down; + case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + return inverted_rc_track_25_deg_up_left_banked; + case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + return inverted_rc_track_25_deg_up_right_banked; + case TRACK_ELEM_ON_RIDE_PHOTO: + return inverted_rc_track_on_ride_photo; + case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + return inverted_rc_track_25_deg_down_left_banked; + case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + return inverted_rc_track_25_deg_down_right_banked; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return inverted_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return inverted_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return inverted_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return inverted_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return inverted_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return inverted_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return inverted_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return inverted_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return inverted_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return inverted_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return inverted_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return inverted_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return inverted_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return inverted_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return inverted_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return inverted_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return inverted_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return inverted_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return inverted_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return inverted_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return inverted_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return inverted_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return inverted_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return inverted_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return inverted_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return inverted_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return inverted_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return inverted_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return inverted_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return inverted_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return inverted_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return inverted_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return inverted_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return inverted_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return inverted_rc_track_diag_right_bank; + case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: + return inverted_rc_track_left_large_half_loop_up; + case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: + return inverted_rc_track_right_large_half_loop_up; + case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: + return inverted_rc_track_right_large_half_loop_down; + case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: + return inverted_rc_track_left_large_half_loop_down; + case TRACK_ELEM_BLOCK_BRAKES: + return inverted_rc_track_block_brakes; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return inverted_rc_track_left_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return inverted_rc_track_right_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return inverted_rc_track_left_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return inverted_rc_track_right_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return inverted_rc_track_left_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return inverted_rc_track_right_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return inverted_rc_track_left_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return inverted_rc_track_right_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + return inverted_rc_track_25_deg_up_to_left_banked_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + return inverted_rc_track_25_deg_up_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return inverted_rc_track_left_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return inverted_rc_track_right_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + return inverted_rc_track_25_deg_down_to_left_banked_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + return inverted_rc_track_25_deg_down_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return inverted_rc_track_left_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return inverted_rc_track_right_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return inverted_rc_track_left_banked_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return inverted_rc_track_right_banked_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + return inverted_rc_track_left_banked_25_deg_up_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + return inverted_rc_track_right_banked_25_deg_up_to_right_banked_flat; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return inverted_rc_track_left_banked_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return inverted_rc_track_right_banked_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + return inverted_rc_track_left_banked_25_deg_down_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + return inverted_rc_track_right_banked_25_deg_down_to_right_banked_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return inverted_rc_track_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return inverted_rc_track_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + return inverted_rc_track_left_banked_25_deg_up_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + return inverted_rc_track_right_banked_25_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return inverted_rc_track_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return inverted_rc_track_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + return inverted_rc_track_left_banked_25_deg_down_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + return inverted_rc_track_right_banked_25_deg_down_to_flat; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/junior_roller_coaster.c b/src/openrct2/ride/coaster/junior_roller_coaster.c index 691410329c..403604afcc 100644 --- a/src/openrct2/ride/coaster/junior_roller_coaster.c +++ b/src/openrct2/ride/coaster/junior_roller_coaster.c @@ -29,2035 +29,2035 @@ #include "../track_paint.h" enum { - SPR_JUNIOR_RC_FLAT_SW_NE = 27807, - SPR_JUNIOR_RC_FLAT_NW_SE = 27808, - SPR_JUNIOR_RC_25_DEG_SW_NE = 27809, - SPR_JUNIOR_RC_60_DEG_SW_NE = 27810, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_SW_NE = 27811, - SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_SW_NE = 27812, - SPR_JUNIOR_RC_25_DEG_NE_SW = 27813, - SPR_JUNIOR_RC_60_DEG_NE_SW = 27814, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_NE_SW = 27815, - SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NE_SW_PART_0_2 = 27816, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_NE_SW = 27817, - SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NE_SW_PART_0_2 = 27818, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_SW_NE = 27819, - SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_SW_NE = 27820, - SPR_JUNIOR_RC_25_DEG_NW_SE = 27821, - SPR_JUNIOR_RC_60_DEG_NW_SE = 27822, - SPR_JUNIOR_RC_25_DEG_SE_NW = 27823, - SPR_JUNIOR_RC_60_DEG_SE_NW = 27824, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_NW_SE = 27825, - SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NW_SE_PART_0_2 = 27826, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_SE_NW = 27827, - SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_SE_NW = 27828, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_SE_NW = 27829, - SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_SE_NW = 27830, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_NW_SE = 27831, - SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NW_SE_PART_0_2 = 27832, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_0 = 27833, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_1 = 27834, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_2 = 27835, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_3 = 27836, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_4 = 27837, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_0 = 27838, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_1 = 27839, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_2 = 27840, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_3 = 27841, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_4 = 27842, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_0 = 27843, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_1 = 27844, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_2 = 27845, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_3 = 27846, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_4 = 27847, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_0 = 27848, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_1 = 27849, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_2 = 27850, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_3 = 27851, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_4 = 27852, - SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NE_SW = 27853, - SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NE_SW = 27854, - SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NW_SE = 27855, - SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NW_SE = 27856, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_0 = 27857, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_1 = 27858, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_2 = 27859, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_3 = 27860, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_4 = 27861, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_0 = 27862, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_1 = 27863, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_2 = 27864, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_3 = 27865, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_4 = 27866, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_0 = 27867, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_1 = 27868, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_2 = 27869, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_3 = 27870, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_4 = 27871, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_0 = 27872, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_1 = 27873, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_2 = 27874, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_3 = 27875, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_4 = 27876, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_0 = 27877, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_1 = 27878, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_2 = 27879, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_3 = 27880, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_4 = 27881, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_0 = 27882, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_1 = 27883, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_2 = 27884, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_3 = 27885, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_4 = 27886, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_0 = 27887, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_1 = 27888, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_2 = 27889, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_3 = 27890, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_4 = 27891, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_0 = 27892, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_1 = 27893, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_2 = 27894, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_3 = 27895, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_4 = 27896, - SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_0 = 27897, - SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_1 = 27898, - SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_2 = 27899, - SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_3 = 27900, - SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_0 = 27901, - SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_1 = 27902, - SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_2 = 27903, - SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_3 = 27904, - SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_0 = 27905, - SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_1 = 27906, - SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_2 = 27907, - SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_3 = 27908, - SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_0 = 27909, - SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_1 = 27910, - SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_2 = 27911, - SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_3 = 27912, - SPR_JUNIOR_RC_FLAT_CHAIN_SW_NE = 27913, - SPR_JUNIOR_RC_FLAT_CHAIN_NW_SE = 27914, - SPR_JUNIOR_RC_25_DEG_CHAIN_SW_NE = 27915, - SPR_JUNIOR_RC_60_DEG_CHAIN_SW_NE = 27916, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_SW_NE = 27917, - SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_SW_NE = 27918, - SPR_JUNIOR_RC_25_DEG_CHAIN_NE_SW = 27919, - SPR_JUNIOR_RC_60_DEG_CHAIN_NE_SW = 27920, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_NE_SW = 27921, - SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NE_SW_PART_0_2 = 27922, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_NE_SW = 27923, - SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NE_SW_PART_0_2 = 27924, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_SW_NE = 27925, - SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_SW_NE = 27926, - SPR_JUNIOR_RC_25_DEG_CHAIN_NW_SE = 27927, - SPR_JUNIOR_RC_60_DEG_CHAIN_NW_SE = 27928, - SPR_JUNIOR_RC_25_DEG_CHAIN_SE_NW = 27929, - SPR_JUNIOR_RC_60_DEG_CHAIN_SE_NW = 27930, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_NW_SE = 27931, - SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NW_SE_PART_0_2 = 27932, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_SE_NW = 27933, - SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_SE_NW = 27934, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_SE_NW = 27935, - SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_SE_NW = 27936, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_NW_SE = 27937, - SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NW_SE_PART_0_2 = 27938, - SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NE_SW = 27939, - SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NE_SW = 27940, - SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NW_SE = 27941, - SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NW_SE = 27942, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_0 = 27943, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_1 = 27944, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_2 = 27945, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_3 = 27946, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_4 = 27947, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_0 = 27948, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_1 = 27949, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_2 = 27950, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_3 = 27951, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_4 = 27952, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_0 = 27953, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_1 = 27954, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_2 = 27955, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_3 = 27956, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_4 = 27957, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_0 = 27958, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_1 = 27959, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_2 = 27960, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_3 = 27961, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_4 = 27962, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_0 = 27963, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_1 = 27964, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_2 = 27965, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_3 = 27966, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_4 = 27967, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_0 = 27968, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_1 = 27969, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_2 = 27970, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_3 = 27971, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_4 = 27972, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_0 = 27973, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_1 = 27974, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_2 = 27975, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_3 = 27976, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_4 = 27977, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_0 = 27978, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_1 = 27979, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_2 = 27980, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_3 = 27981, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_4 = 27982, - SPR_WATER_RC_FLAT_CHAIN_SW_NE = 27983, - SPR_WATER_RC_FLAT_CHAIN_NW_SE = 27984, - SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_SW_NE = 27985, - SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_NW_SE = 27986, - SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_NE_SW = 27987, - SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_SE_NW = 27988, - SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_SW_NE = 27989, - SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_NW_SE = 27990, - SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_NE_SW = 27991, - SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_SE_NW = 27992, - SPR_WATER_RC_25_DEG_CHAIN_SW_NE = 27993, - SPR_WATER_RC_25_DEG_CHAIN_NW_SE = 27994, - SPR_WATER_RC_25_DEG_CHAIN_NE_SW = 27995, - SPR_WATER_RC_25_DEG_CHAIN_SE_NW = 27996, - SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_SW_NE = 27997, - SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_NW_SE = 27998, - SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_NE_SW = 27999, - SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_SE_NW = 28000, - SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_SW_NE = 28001, - SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_NW_SE = 28002, - SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_NE_SW = 28003, - SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_SE_NW = 28004, - SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_SW_NE_FRONT = 28005, - SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_NW_SE_FRONT = 28006, - SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_NE_SW_FRONT = 28007, - SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_SE_NW_FRONT = 28008, - SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_SW_NE = 28009, - SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_NW_SE = 28010, - SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_NE_SW = 28011, - SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_SE_NW = 28012, - SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_SW_NE_FRONT = 28013, - SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_NW_SE_FRONT = 28014, - SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_SW_NE = 28015, - SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_NW_SE = 28016, - SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_NE_SW = 28017, - SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_SE_NW = 28018, - SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_NE_SW_FRONT = 28019, - SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_SE_NW_FRONT = 28020, - SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_SW_NE = 28021, - SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_NW_SE = 28022, - SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_NE_SW = 28023, - SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_SE_NW = 28024, - SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_SW_NE_FRONT = 28025, - SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_NW_SE_FRONT = 28026, - SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_SW_NE = 28027, - SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_NW_SE = 28028, - SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_NE_SW = 28029, - SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_SE_NW = 28030, - SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_NE_SW_FRONT = 28031, - SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_SE_NW_FRONT = 28032, - SPR_JUNIOR_RC_LEFT_BANK_SW_NE = 28033, - SPR_JUNIOR_RC_LEFT_BANK_NW_SE = 28034, - SPR_JUNIOR_RC_LEFT_BANK_NE_SW = 28035, - SPR_JUNIOR_RC_LEFT_BANK_SE_NW = 28036, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_0 = 28037, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_1 = 28038, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_2 = 28039, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_3 = 28040, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_4 = 28041, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_0 = 28042, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_1 = 28043, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_2 = 28044, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_3 = 28045, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_4 = 28046, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_0 = 28047, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_1 = 28048, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_2 = 28049, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_3 = 28050, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_4 = 28051, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_0 = 28052, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_1 = 28053, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_2 = 28054, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_3 = 28055, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_4 = 28056, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_4_2 = 28057, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_0_2 = 28058, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 28059, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 28060, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 28061, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 28062, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 28063, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 28064, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 28065, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 28066, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 28067, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 28068, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 28069, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 28070, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 28071, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 28072, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 28073, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 28074, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 28075, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 28076, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 28077, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 28078, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 28079, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 28080, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 28081, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 28082, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_2_2 = 28083, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_0_2 = 28084, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SW_SE_PART_0 = 28085, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SW_SE_PART_1 = 28086, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NW_SW_PART_0 = 28087, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NW_SW_PART_1 = 28088, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NE_NW_PART_0 = 28089, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NE_NW_PART_1 = 28090, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SE_NE_PART_0 = 28091, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SE_NE_PART_1 = 28092, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SW_SE_PART_0 = 28093, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SW_SE_PART_1 = 28094, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NW_SW_PART_0 = 28095, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NW_SW_PART_1 = 28096, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NE_NW_PART_0 = 28097, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NE_NW_PART_1 = 28098, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SE_NE_PART_0 = 28099, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SE_NE_PART_1 = 28100, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SW_SE_PART_0 = 28101, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SW_SE_PART_1 = 28102, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NW_SW_PART_0 = 28103, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NW_SW_PART_1 = 28104, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NE_NW_PART_0 = 28105, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NE_NW_PART_1 = 28106, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SE_NE_PART_0 = 28107, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SE_NE_PART_1 = 28108, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SW_SE_PART_0 = 28109, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SW_SE_PART_1 = 28110, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NW_SW_PART_0 = 28111, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NW_SW_PART_1 = 28112, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NE_NW_PART_0 = 28113, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NE_NW_PART_1 = 28114, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SE_NE_PART_0 = 28115, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SE_NE_PART_1 = 28116, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SW_SE_PART_0 = 28117, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SW_SE_PART_1 = 28118, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SW_SE_PART_2 = 28119, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_0 = 28120, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_1 = 28121, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_2 = 28122, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NE_NW_PART_0 = 28123, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NE_NW_PART_1 = 28124, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NE_NW_PART_2 = 28125, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_0 = 28126, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_1 = 28127, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_2 = 28128, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_2_2 = 28129, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_0_2 = 28130, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SW_SE_PART_0 = 28131, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SW_SE_PART_1 = 28132, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SW_SE_PART_2 = 28133, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_0 = 28134, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_1 = 28135, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_2 = 28136, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NE_NW_PART_0 = 28137, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NE_NW_PART_1 = 28138, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NE_NW_PART_2 = 28139, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_0 = 28140, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_1 = 28141, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_2 = 28142, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_2_2 = 28143, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_0_2 = 28144, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_0 = 28145, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_1 = 28146, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_2 = 28147, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_3 = 28148, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_4 = 28149, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_0 = 28150, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_1 = 28151, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_2 = 28152, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_3 = 28153, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_4 = 28154, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_0 = 28155, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_1 = 28156, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_2 = 28157, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_3 = 28158, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_4 = 28159, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_0 = 28160, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_1 = 28161, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_2 = 28162, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_3 = 28163, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_4 = 28164, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_4_2 = 28165, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_0_2 = 28166, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_0 = 28167, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_1 = 28168, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_2 = 28169, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_3 = 28170, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_4 = 28171, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_0 = 28172, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_1 = 28173, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_2 = 28174, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_3 = 28175, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_4 = 28176, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_0 = 28177, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_1 = 28178, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_2 = 28179, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_3 = 28180, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_4 = 28181, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_0 = 28182, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_1 = 28183, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_2 = 28184, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_3 = 28185, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_4 = 28186, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_4_2 = 28187, - SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_0_2 = 28188, - SPR_JUNIOR_RC_STATION_SW_NE = 28189, - SPR_JUNIOR_RC_STATION_NW_SE = 28190, - SPR_JUNIOR_RC_FLAT_SW_NE_BRAKED = 28191, - SPR_JUNIOR_RC_FLAT_NW_SE_BRAKED = 28192, - SPR_JUNIOR_RC_FLAT_BLOCK_SW_NE = 28193, - SPR_JUNIOR_RC_FLAT_BLOCK_NW_SE = 28194, - SPR_JUNIOR_RC_FLAT_BLOCK_SW_NE_BRAKED = 28195, - SPR_JUNIOR_RC_FLAT_BLOCK_NW_SE_BRAKED = 28196, - SPR_JUNIOR_RC_DIAG_FLAT_W_E = 28197, - SPR_JUNIOR_RC_DIAG_FLAT_N_S = 28198, - SPR_JUNIOR_RC_DIAG_FLAT_E_W = 28199, - SPR_JUNIOR_RC_DIAG_FLAT_S_N = 28200, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_W_E = 28201, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_N_S = 28202, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_E_W = 28203, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_S_N = 28204, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_W_E = 28205, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_N_S = 28206, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_E_W = 28207, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_S_N = 28208, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_W_E = 28209, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_N_S = 28210, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_E_W = 28211, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_S_N = 28212, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_W_E = 28213, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_N_S = 28214, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_E_W = 28215, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_S_N = 28216, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_W_E = 28217, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_N_S = 28218, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_E_W = 28219, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_S_N = 28220, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_W_E = 28221, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_N_S = 28222, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_E_W = 28223, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_S_N = 28224, + SPR_JUNIOR_RC_FLAT_SW_NE = 27807, + SPR_JUNIOR_RC_FLAT_NW_SE = 27808, + SPR_JUNIOR_RC_25_DEG_SW_NE = 27809, + SPR_JUNIOR_RC_60_DEG_SW_NE = 27810, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_SW_NE = 27811, + SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_SW_NE = 27812, + SPR_JUNIOR_RC_25_DEG_NE_SW = 27813, + SPR_JUNIOR_RC_60_DEG_NE_SW = 27814, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_NE_SW = 27815, + SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NE_SW_PART_0_2 = 27816, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_NE_SW = 27817, + SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NE_SW_PART_0_2 = 27818, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_SW_NE = 27819, + SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_SW_NE = 27820, + SPR_JUNIOR_RC_25_DEG_NW_SE = 27821, + SPR_JUNIOR_RC_60_DEG_NW_SE = 27822, + SPR_JUNIOR_RC_25_DEG_SE_NW = 27823, + SPR_JUNIOR_RC_60_DEG_SE_NW = 27824, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_NW_SE = 27825, + SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NW_SE_PART_0_2 = 27826, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_SE_NW = 27827, + SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_SE_NW = 27828, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_SE_NW = 27829, + SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_SE_NW = 27830, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_NW_SE = 27831, + SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NW_SE_PART_0_2 = 27832, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_0 = 27833, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_1 = 27834, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_2 = 27835, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_3 = 27836, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_4 = 27837, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_0 = 27838, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_1 = 27839, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_2 = 27840, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_3 = 27841, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_4 = 27842, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_0 = 27843, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_1 = 27844, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_2 = 27845, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_3 = 27846, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_4 = 27847, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_0 = 27848, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_1 = 27849, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_2 = 27850, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_3 = 27851, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_4 = 27852, + SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NE_SW = 27853, + SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NE_SW = 27854, + SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NW_SE = 27855, + SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NW_SE = 27856, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_0 = 27857, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_1 = 27858, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_2 = 27859, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_3 = 27860, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_4 = 27861, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_0 = 27862, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_1 = 27863, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_2 = 27864, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_3 = 27865, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_4 = 27866, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_0 = 27867, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_1 = 27868, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_2 = 27869, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_3 = 27870, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_4 = 27871, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_0 = 27872, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_1 = 27873, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_2 = 27874, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_3 = 27875, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_4 = 27876, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_0 = 27877, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_1 = 27878, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_2 = 27879, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_3 = 27880, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_4 = 27881, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_0 = 27882, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_1 = 27883, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_2 = 27884, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_3 = 27885, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_4 = 27886, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_0 = 27887, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_1 = 27888, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_2 = 27889, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_3 = 27890, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_4 = 27891, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_0 = 27892, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_1 = 27893, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_2 = 27894, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_3 = 27895, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_4 = 27896, + SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_0 = 27897, + SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_1 = 27898, + SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_2 = 27899, + SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_3 = 27900, + SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_0 = 27901, + SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_1 = 27902, + SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_2 = 27903, + SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_3 = 27904, + SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_0 = 27905, + SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_1 = 27906, + SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_2 = 27907, + SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_3 = 27908, + SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_0 = 27909, + SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_1 = 27910, + SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_2 = 27911, + SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_3 = 27912, + SPR_JUNIOR_RC_FLAT_CHAIN_SW_NE = 27913, + SPR_JUNIOR_RC_FLAT_CHAIN_NW_SE = 27914, + SPR_JUNIOR_RC_25_DEG_CHAIN_SW_NE = 27915, + SPR_JUNIOR_RC_60_DEG_CHAIN_SW_NE = 27916, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_SW_NE = 27917, + SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_SW_NE = 27918, + SPR_JUNIOR_RC_25_DEG_CHAIN_NE_SW = 27919, + SPR_JUNIOR_RC_60_DEG_CHAIN_NE_SW = 27920, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_NE_SW = 27921, + SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NE_SW_PART_0_2 = 27922, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_NE_SW = 27923, + SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NE_SW_PART_0_2 = 27924, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_SW_NE = 27925, + SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_SW_NE = 27926, + SPR_JUNIOR_RC_25_DEG_CHAIN_NW_SE = 27927, + SPR_JUNIOR_RC_60_DEG_CHAIN_NW_SE = 27928, + SPR_JUNIOR_RC_25_DEG_CHAIN_SE_NW = 27929, + SPR_JUNIOR_RC_60_DEG_CHAIN_SE_NW = 27930, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_NW_SE = 27931, + SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NW_SE_PART_0_2 = 27932, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_SE_NW = 27933, + SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_SE_NW = 27934, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_SE_NW = 27935, + SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_SE_NW = 27936, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_NW_SE = 27937, + SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NW_SE_PART_0_2 = 27938, + SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NE_SW = 27939, + SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NE_SW = 27940, + SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NW_SE = 27941, + SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NW_SE = 27942, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_0 = 27943, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_1 = 27944, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_2 = 27945, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_3 = 27946, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_4 = 27947, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_0 = 27948, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_1 = 27949, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_2 = 27950, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_3 = 27951, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_4 = 27952, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_0 = 27953, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_1 = 27954, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_2 = 27955, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_3 = 27956, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_4 = 27957, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_0 = 27958, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_1 = 27959, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_2 = 27960, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_3 = 27961, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_4 = 27962, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_0 = 27963, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_1 = 27964, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_2 = 27965, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_3 = 27966, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_4 = 27967, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_0 = 27968, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_1 = 27969, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_2 = 27970, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_3 = 27971, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_4 = 27972, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_0 = 27973, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_1 = 27974, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_2 = 27975, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_3 = 27976, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_4 = 27977, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_0 = 27978, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_1 = 27979, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_2 = 27980, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_3 = 27981, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_4 = 27982, + SPR_WATER_RC_FLAT_CHAIN_SW_NE = 27983, + SPR_WATER_RC_FLAT_CHAIN_NW_SE = 27984, + SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_SW_NE = 27985, + SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_NW_SE = 27986, + SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_NE_SW = 27987, + SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_SE_NW = 27988, + SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_SW_NE = 27989, + SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_NW_SE = 27990, + SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_NE_SW = 27991, + SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_SE_NW = 27992, + SPR_WATER_RC_25_DEG_CHAIN_SW_NE = 27993, + SPR_WATER_RC_25_DEG_CHAIN_NW_SE = 27994, + SPR_WATER_RC_25_DEG_CHAIN_NE_SW = 27995, + SPR_WATER_RC_25_DEG_CHAIN_SE_NW = 27996, + SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_SW_NE = 27997, + SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_NW_SE = 27998, + SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_NE_SW = 27999, + SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_SE_NW = 28000, + SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_SW_NE = 28001, + SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_NW_SE = 28002, + SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_NE_SW = 28003, + SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_SE_NW = 28004, + SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_SW_NE_FRONT = 28005, + SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_NW_SE_FRONT = 28006, + SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_NE_SW_FRONT = 28007, + SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_SE_NW_FRONT = 28008, + SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_SW_NE = 28009, + SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_NW_SE = 28010, + SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_NE_SW = 28011, + SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_SE_NW = 28012, + SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_SW_NE_FRONT = 28013, + SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_NW_SE_FRONT = 28014, + SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_SW_NE = 28015, + SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_NW_SE = 28016, + SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_NE_SW = 28017, + SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_SE_NW = 28018, + SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_NE_SW_FRONT = 28019, + SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_SE_NW_FRONT = 28020, + SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_SW_NE = 28021, + SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_NW_SE = 28022, + SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_NE_SW = 28023, + SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_SE_NW = 28024, + SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_SW_NE_FRONT = 28025, + SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_NW_SE_FRONT = 28026, + SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_SW_NE = 28027, + SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_NW_SE = 28028, + SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_NE_SW = 28029, + SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_SE_NW = 28030, + SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_NE_SW_FRONT = 28031, + SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_SE_NW_FRONT = 28032, + SPR_JUNIOR_RC_LEFT_BANK_SW_NE = 28033, + SPR_JUNIOR_RC_LEFT_BANK_NW_SE = 28034, + SPR_JUNIOR_RC_LEFT_BANK_NE_SW = 28035, + SPR_JUNIOR_RC_LEFT_BANK_SE_NW = 28036, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_0 = 28037, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_1 = 28038, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_2 = 28039, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_3 = 28040, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_4 = 28041, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_0 = 28042, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_1 = 28043, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_2 = 28044, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_3 = 28045, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_4 = 28046, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_0 = 28047, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_1 = 28048, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_2 = 28049, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_3 = 28050, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_4 = 28051, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_0 = 28052, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_1 = 28053, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_2 = 28054, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_3 = 28055, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_4 = 28056, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_4_2 = 28057, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_0_2 = 28058, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 28059, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 28060, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 28061, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 28062, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 28063, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 28064, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 28065, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 28066, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 28067, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 28068, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 28069, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 28070, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 28071, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 28072, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 28073, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 28074, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 28075, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 28076, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 28077, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 28078, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 28079, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 28080, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 28081, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 28082, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_2_2 = 28083, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_0_2 = 28084, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SW_SE_PART_0 = 28085, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SW_SE_PART_1 = 28086, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NW_SW_PART_0 = 28087, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NW_SW_PART_1 = 28088, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NE_NW_PART_0 = 28089, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NE_NW_PART_1 = 28090, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SE_NE_PART_0 = 28091, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SE_NE_PART_1 = 28092, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SW_SE_PART_0 = 28093, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SW_SE_PART_1 = 28094, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NW_SW_PART_0 = 28095, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NW_SW_PART_1 = 28096, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NE_NW_PART_0 = 28097, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NE_NW_PART_1 = 28098, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SE_NE_PART_0 = 28099, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SE_NE_PART_1 = 28100, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SW_SE_PART_0 = 28101, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SW_SE_PART_1 = 28102, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NW_SW_PART_0 = 28103, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NW_SW_PART_1 = 28104, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NE_NW_PART_0 = 28105, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NE_NW_PART_1 = 28106, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SE_NE_PART_0 = 28107, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SE_NE_PART_1 = 28108, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SW_SE_PART_0 = 28109, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SW_SE_PART_1 = 28110, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NW_SW_PART_0 = 28111, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NW_SW_PART_1 = 28112, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NE_NW_PART_0 = 28113, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NE_NW_PART_1 = 28114, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SE_NE_PART_0 = 28115, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SE_NE_PART_1 = 28116, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SW_SE_PART_0 = 28117, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SW_SE_PART_1 = 28118, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SW_SE_PART_2 = 28119, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_0 = 28120, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_1 = 28121, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_2 = 28122, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NE_NW_PART_0 = 28123, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NE_NW_PART_1 = 28124, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NE_NW_PART_2 = 28125, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_0 = 28126, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_1 = 28127, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_2 = 28128, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_2_2 = 28129, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_0_2 = 28130, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SW_SE_PART_0 = 28131, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SW_SE_PART_1 = 28132, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SW_SE_PART_2 = 28133, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_0 = 28134, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_1 = 28135, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_2 = 28136, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NE_NW_PART_0 = 28137, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NE_NW_PART_1 = 28138, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NE_NW_PART_2 = 28139, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_0 = 28140, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_1 = 28141, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_2 = 28142, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_2_2 = 28143, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_0_2 = 28144, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_0 = 28145, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_1 = 28146, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_2 = 28147, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_3 = 28148, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_4 = 28149, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_0 = 28150, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_1 = 28151, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_2 = 28152, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_3 = 28153, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_4 = 28154, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_0 = 28155, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_1 = 28156, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_2 = 28157, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_3 = 28158, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_4 = 28159, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_0 = 28160, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_1 = 28161, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_2 = 28162, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_3 = 28163, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_4 = 28164, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_4_2 = 28165, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_0_2 = 28166, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_0 = 28167, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_1 = 28168, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_2 = 28169, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_3 = 28170, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_4 = 28171, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_0 = 28172, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_1 = 28173, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_2 = 28174, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_3 = 28175, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_4 = 28176, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_0 = 28177, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_1 = 28178, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_2 = 28179, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_3 = 28180, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_4 = 28181, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_0 = 28182, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_1 = 28183, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_2 = 28184, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_3 = 28185, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_4 = 28186, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_4_2 = 28187, + SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_0_2 = 28188, + SPR_JUNIOR_RC_STATION_SW_NE = 28189, + SPR_JUNIOR_RC_STATION_NW_SE = 28190, + SPR_JUNIOR_RC_FLAT_SW_NE_BRAKED = 28191, + SPR_JUNIOR_RC_FLAT_NW_SE_BRAKED = 28192, + SPR_JUNIOR_RC_FLAT_BLOCK_SW_NE = 28193, + SPR_JUNIOR_RC_FLAT_BLOCK_NW_SE = 28194, + SPR_JUNIOR_RC_FLAT_BLOCK_SW_NE_BRAKED = 28195, + SPR_JUNIOR_RC_FLAT_BLOCK_NW_SE_BRAKED = 28196, + SPR_JUNIOR_RC_DIAG_FLAT_W_E = 28197, + SPR_JUNIOR_RC_DIAG_FLAT_N_S = 28198, + SPR_JUNIOR_RC_DIAG_FLAT_E_W = 28199, + SPR_JUNIOR_RC_DIAG_FLAT_S_N = 28200, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_W_E = 28201, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_N_S = 28202, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_E_W = 28203, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_S_N = 28204, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_W_E = 28205, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_N_S = 28206, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_E_W = 28207, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_S_N = 28208, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_W_E = 28209, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_N_S = 28210, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_E_W = 28211, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_S_N = 28212, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_W_E = 28213, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_N_S = 28214, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_E_W = 28215, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_S_N = 28216, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_W_E = 28217, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_N_S = 28218, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_E_W = 28219, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_S_N = 28220, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_W_E = 28221, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_N_S = 28222, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_E_W = 28223, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_S_N = 28224, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_W_E = 28225, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_N_S = 28226, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_E_W = 28227, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_S_N = 28228, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_W_E = 28229, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_N_S = 28230, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_E_W = 28231, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_S_N = 28232, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_W_E = 28225, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_N_S = 28226, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_E_W = 28227, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_S_N = 28228, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_W_E = 28229, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_N_S = 28230, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_E_W = 28231, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_S_N = 28232, - SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_W_E = 28233, - SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_N_S = 28234, - SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_E_W = 28235, - SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_S_N = 28236, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_W_E = 28237, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_N_S = 28238, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_E_W = 28239, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_S_N = 28240, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_W_E = 28241, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_N_S = 28242, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_E_W = 28243, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_S_N = 28244, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_W_E = 28245, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_N_S = 28246, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_E_W = 28247, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_S_N = 28248, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_W_E = 28249, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_N_S = 28250, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_E_W = 28251, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_S_N = 28252, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_W_E = 28253, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_N_S = 28254, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_E_W = 28255, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_S_N = 28256, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_W_E = 28257, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_N_S = 28258, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_E_W = 28259, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_S_N = 28260, + SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_W_E = 28233, + SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_N_S = 28234, + SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_E_W = 28235, + SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_S_N = 28236, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_W_E = 28237, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_N_S = 28238, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_E_W = 28239, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_S_N = 28240, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_W_E = 28241, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_N_S = 28242, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_E_W = 28243, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_S_N = 28244, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_W_E = 28245, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_N_S = 28246, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_E_W = 28247, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_S_N = 28248, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_W_E = 28249, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_N_S = 28250, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_E_W = 28251, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_S_N = 28252, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_W_E = 28253, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_N_S = 28254, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_E_W = 28255, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_S_N = 28256, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_W_E = 28257, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_N_S = 28258, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_E_W = 28259, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_S_N = 28260, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_W_E = 28261, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_N_S = 28262, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_E_W = 28263, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_S_N = 28264, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_W_E = 28265, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_N_S = 28266, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_E_W = 28267, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_S_N = 28268, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_W_E = 28261, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_N_S = 28262, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_E_W = 28263, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_S_N = 28264, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_W_E = 28265, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_N_S = 28266, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_E_W = 28267, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_S_N = 28268, - SPR_WATER_RC_DIAG_FLAT_CHAIN_W_E = 28269, - SPR_WATER_RC_DIAG_FLAT_CHAIN_N_S = 28270, - SPR_WATER_RC_DIAG_FLAT_CHAIN_E_W = 28271, - SPR_WATER_RC_DIAG_FLAT_CHAIN_S_N = 28272, - SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_W_E = 28273, - SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_N_S = 28274, - SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_E_W = 28275, - SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_S_N = 28276, - SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_W_E = 28277, - SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_N_S = 28278, - SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_E_W = 28279, - SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_S_N = 28280, - SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_W_E = 28281, - SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_N_S = 28282, - SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_E_W = 28283, - SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_S_N = 28284, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_0 = 28285, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_1 = 28286, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_2 = 28287, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_3 = 28288, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_0 = 28289, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_1 = 28290, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_2 = 28291, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_3 = 28292, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_0 = 28293, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_1 = 28294, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_2 = 28295, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_3 = 28296, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_0 = 28297, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_1 = 28298, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_2 = 28299, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_3 = 28300, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_0 = 28301, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_1 = 28302, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_2 = 28303, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_3 = 28304, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_0 = 28305, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_1 = 28306, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_2 = 28307, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_3 = 28308, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_0 = 28309, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_1 = 28310, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_2 = 28311, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_3 = 28312, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_0 = 28313, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_1 = 28314, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_2 = 28315, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_3 = 28316, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_0 = 28317, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_1 = 28318, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_2 = 28319, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_3 = 28320, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_0 = 28321, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_1 = 28322, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_2 = 28323, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_3 = 28324, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_0 = 28325, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_1 = 28326, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_2 = 28327, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_3 = 28328, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_0 = 28329, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_1 = 28330, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_2 = 28331, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_3 = 28332, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_0 = 28333, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_1 = 28334, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_2 = 28335, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_3 = 28336, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_0 = 28337, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_1 = 28338, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_2 = 28339, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_3 = 28340, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_0 = 28341, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_1 = 28342, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_2 = 28343, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_3 = 28344, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_0 = 28345, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_1 = 28346, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_2 = 28347, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_3 = 28348, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_W_E = 28349, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_N_S = 28350, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_E_W = 28351, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_S_N = 28352, - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E = 28353, - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_N_S = 28354, - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_E_W = 28355, - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_S_N = 28356, - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E_PART_0_2 = 28357, - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_W_E = 28358, - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_N_S = 28359, - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W = 28360, - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_S_N = 28361, - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W_PART_0_2 = 28362, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E = 28363, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_N_S = 28364, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_E_W = 28365, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_S_N = 28366, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E_PART_0_2 = 28367, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_W_E = 28368, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_N_S = 28369, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W = 28370, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_S_N = 28371, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W_PART_0_2 = 28372, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E = 28373, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_N_S = 28374, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_E_W = 28375, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_S_N = 28376, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E_PART_0_2 = 28377, - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_W_E = 28378, - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_N_S = 28379, - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W = 28380, - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_S_N = 28381, - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W_PART_0_2 = 28382, + SPR_WATER_RC_DIAG_FLAT_CHAIN_W_E = 28269, + SPR_WATER_RC_DIAG_FLAT_CHAIN_N_S = 28270, + SPR_WATER_RC_DIAG_FLAT_CHAIN_E_W = 28271, + SPR_WATER_RC_DIAG_FLAT_CHAIN_S_N = 28272, + SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_W_E = 28273, + SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_N_S = 28274, + SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_E_W = 28275, + SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_S_N = 28276, + SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_W_E = 28277, + SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_N_S = 28278, + SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_E_W = 28279, + SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_S_N = 28280, + SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_W_E = 28281, + SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_N_S = 28282, + SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_E_W = 28283, + SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_S_N = 28284, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_0 = 28285, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_1 = 28286, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_2 = 28287, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_3 = 28288, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_0 = 28289, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_1 = 28290, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_2 = 28291, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_3 = 28292, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_0 = 28293, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_1 = 28294, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_2 = 28295, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_3 = 28296, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_0 = 28297, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_1 = 28298, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_2 = 28299, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_3 = 28300, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_0 = 28301, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_1 = 28302, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_2 = 28303, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_3 = 28304, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_0 = 28305, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_1 = 28306, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_2 = 28307, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_3 = 28308, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_0 = 28309, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_1 = 28310, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_2 = 28311, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_3 = 28312, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_0 = 28313, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_1 = 28314, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_2 = 28315, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_3 = 28316, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_0 = 28317, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_1 = 28318, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_2 = 28319, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_3 = 28320, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_0 = 28321, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_1 = 28322, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_2 = 28323, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_3 = 28324, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_0 = 28325, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_1 = 28326, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_2 = 28327, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_3 = 28328, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_0 = 28329, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_1 = 28330, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_2 = 28331, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_3 = 28332, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_0 = 28333, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_1 = 28334, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_2 = 28335, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_3 = 28336, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_0 = 28337, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_1 = 28338, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_2 = 28339, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_3 = 28340, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_0 = 28341, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_1 = 28342, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_2 = 28343, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_3 = 28344, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_0 = 28345, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_1 = 28346, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_2 = 28347, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_3 = 28348, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_W_E = 28349, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_N_S = 28350, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_E_W = 28351, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_S_N = 28352, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E = 28353, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_N_S = 28354, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_E_W = 28355, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_S_N = 28356, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E_PART_0_2 = 28357, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_W_E = 28358, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_N_S = 28359, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W = 28360, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_S_N = 28361, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W_PART_0_2 = 28362, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E = 28363, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_N_S = 28364, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_E_W = 28365, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_S_N = 28366, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E_PART_0_2 = 28367, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_W_E = 28368, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_N_S = 28369, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W = 28370, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_S_N = 28371, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W_PART_0_2 = 28372, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E = 28373, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_N_S = 28374, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_E_W = 28375, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_S_N = 28376, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E_PART_0_2 = 28377, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_W_E = 28378, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_N_S = 28379, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W = 28380, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_S_N = 28381, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W_PART_0_2 = 28382, - SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_SW_NE = SPR_G2_BEGIN + 34, - SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NW_SE = SPR_G2_BEGIN + 35, - SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NE_SW = SPR_G2_BEGIN + 36, - SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_SE_NW = SPR_G2_BEGIN + 37, - SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NW_SE_PART_0_2 = SPR_G2_BEGIN + 38, - SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NE_SW_PART_0_2 = SPR_G2_BEGIN + 39, + SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_SW_NE = SPR_G2_BEGIN + 34, + SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NW_SE = SPR_G2_BEGIN + 35, + SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NE_SW = SPR_G2_BEGIN + 36, + SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_SE_NW = SPR_G2_BEGIN + 37, + SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NW_SE_PART_0_2 = SPR_G2_BEGIN + 38, + SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NE_SW_PART_0_2 = SPR_G2_BEGIN + 39, - SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_SW_NE = SPR_G2_BEGIN + 46, - SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NW_SE = SPR_G2_BEGIN + 47, - SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NE_SW = SPR_G2_BEGIN + 48, - SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_SE_NW = SPR_G2_BEGIN + 49, - SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NW_SE_PART_0_2 = SPR_G2_BEGIN + 50, - SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NE_SW_PART_0_2 = SPR_G2_BEGIN + 51, + SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_SW_NE = SPR_G2_BEGIN + 46, + SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NW_SE = SPR_G2_BEGIN + 47, + SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NE_SW = SPR_G2_BEGIN + 48, + SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_SE_NW = SPR_G2_BEGIN + 49, + SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NW_SE_PART_0_2 = SPR_G2_BEGIN + 50, + SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NE_SW_PART_0_2 = SPR_G2_BEGIN + 51, - SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_SW_NE = SPR_G2_BEGIN + 40, - SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NW_SE = SPR_G2_BEGIN + 41, - SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NE_SW = SPR_G2_BEGIN + 42, - SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_SE_NW = SPR_G2_BEGIN + 43, - SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NW_SE_PART_0_2 = SPR_G2_BEGIN + 44, - SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NE_SW_PART_0_2 = SPR_G2_BEGIN + 45, + SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_SW_NE = SPR_G2_BEGIN + 40, + SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NW_SE = SPR_G2_BEGIN + 41, + SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NE_SW = SPR_G2_BEGIN + 42, + SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_SE_NW = SPR_G2_BEGIN + 43, + SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NW_SE_PART_0_2 = SPR_G2_BEGIN + 44, + SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NE_SW_PART_0_2 = SPR_G2_BEGIN + 45, - SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_SW_NE = SPR_G2_BEGIN + 52, - SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NW_SE = SPR_G2_BEGIN + 53, - SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NE_SW = SPR_G2_BEGIN + 54, - SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_SE_NW = SPR_G2_BEGIN + 55, - SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NW_SE_PART_0_2 = SPR_G2_BEGIN + 56, - SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NE_SW_PART_0_2 = SPR_G2_BEGIN + 57, + SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_SW_NE = SPR_G2_BEGIN + 52, + SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NW_SE = SPR_G2_BEGIN + 53, + SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NE_SW = SPR_G2_BEGIN + 54, + SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_SE_NW = SPR_G2_BEGIN + 55, + SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NW_SE_PART_0_2 = SPR_G2_BEGIN + 56, + SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NE_SW_PART_0_2 = SPR_G2_BEGIN + 57, - SPR_JUNIOR_RC_BOOSTER_NW_SE = SPR_G2_BEGIN + 85, - SPR_JUNIOR_RC_BOOSTER_NE_SW = SPR_G2_BEGIN + 86, + SPR_JUNIOR_RC_BOOSTER_NW_SE = SPR_G2_BEGIN + 85, + SPR_JUNIOR_RC_BOOSTER_NE_SW = SPR_G2_BEGIN + 86, }; static const uint32 junior_rc_track_pieces_flat[3][4] = { - { - SPR_JUNIOR_RC_FLAT_SW_NE, - SPR_JUNIOR_RC_FLAT_NW_SE, - SPR_JUNIOR_RC_FLAT_SW_NE, - SPR_JUNIOR_RC_FLAT_NW_SE - }, - { - SPR_JUNIOR_RC_FLAT_CHAIN_SW_NE, - SPR_JUNIOR_RC_FLAT_CHAIN_NW_SE, - SPR_JUNIOR_RC_FLAT_CHAIN_SW_NE, - SPR_JUNIOR_RC_FLAT_CHAIN_NW_SE - }, - { - SPR_WATER_RC_FLAT_CHAIN_SW_NE, - SPR_WATER_RC_FLAT_CHAIN_NW_SE, - SPR_WATER_RC_FLAT_CHAIN_SW_NE, - SPR_WATER_RC_FLAT_CHAIN_NW_SE, - }, + { + SPR_JUNIOR_RC_FLAT_SW_NE, + SPR_JUNIOR_RC_FLAT_NW_SE, + SPR_JUNIOR_RC_FLAT_SW_NE, + SPR_JUNIOR_RC_FLAT_NW_SE + }, + { + SPR_JUNIOR_RC_FLAT_CHAIN_SW_NE, + SPR_JUNIOR_RC_FLAT_CHAIN_NW_SE, + SPR_JUNIOR_RC_FLAT_CHAIN_SW_NE, + SPR_JUNIOR_RC_FLAT_CHAIN_NW_SE + }, + { + SPR_WATER_RC_FLAT_CHAIN_SW_NE, + SPR_WATER_RC_FLAT_CHAIN_NW_SE, + SPR_WATER_RC_FLAT_CHAIN_SW_NE, + SPR_WATER_RC_FLAT_CHAIN_NW_SE, + }, }; static const uint32 junior_rc_track_pieces_block_brake[2][4] = { - { - SPR_JUNIOR_RC_FLAT_BLOCK_SW_NE, - SPR_JUNIOR_RC_FLAT_BLOCK_NW_SE, - SPR_JUNIOR_RC_FLAT_BLOCK_SW_NE, - SPR_JUNIOR_RC_FLAT_BLOCK_NW_SE - }, - { - SPR_JUNIOR_RC_FLAT_BLOCK_SW_NE_BRAKED, - SPR_JUNIOR_RC_FLAT_BLOCK_NW_SE_BRAKED, - SPR_JUNIOR_RC_FLAT_BLOCK_SW_NE_BRAKED, - SPR_JUNIOR_RC_FLAT_BLOCK_NW_SE_BRAKED - }, + { + SPR_JUNIOR_RC_FLAT_BLOCK_SW_NE, + SPR_JUNIOR_RC_FLAT_BLOCK_NW_SE, + SPR_JUNIOR_RC_FLAT_BLOCK_SW_NE, + SPR_JUNIOR_RC_FLAT_BLOCK_NW_SE + }, + { + SPR_JUNIOR_RC_FLAT_BLOCK_SW_NE_BRAKED, + SPR_JUNIOR_RC_FLAT_BLOCK_NW_SE_BRAKED, + SPR_JUNIOR_RC_FLAT_BLOCK_SW_NE_BRAKED, + SPR_JUNIOR_RC_FLAT_BLOCK_NW_SE_BRAKED + }, }; static const uint32 junior_rc_track_pieces_station[2][4] = { - { - SPR_JUNIOR_RC_STATION_SW_NE, - SPR_JUNIOR_RC_STATION_NW_SE, - SPR_JUNIOR_RC_STATION_SW_NE, - SPR_JUNIOR_RC_STATION_NW_SE - }, - { - SPR_JUNIOR_RC_FLAT_SW_NE_BRAKED, - SPR_JUNIOR_RC_FLAT_NW_SE_BRAKED, - SPR_JUNIOR_RC_FLAT_SW_NE_BRAKED, - SPR_JUNIOR_RC_FLAT_NW_SE_BRAKED - }, + { + SPR_JUNIOR_RC_STATION_SW_NE, + SPR_JUNIOR_RC_STATION_NW_SE, + SPR_JUNIOR_RC_STATION_SW_NE, + SPR_JUNIOR_RC_STATION_NW_SE + }, + { + SPR_JUNIOR_RC_FLAT_SW_NE_BRAKED, + SPR_JUNIOR_RC_FLAT_NW_SE_BRAKED, + SPR_JUNIOR_RC_FLAT_SW_NE_BRAKED, + SPR_JUNIOR_RC_FLAT_NW_SE_BRAKED + }, }; static const uint32 junior_rc_track_pieces_25_deg_up[3][4] = { - { - SPR_JUNIOR_RC_25_DEG_SW_NE, - SPR_JUNIOR_RC_25_DEG_NW_SE, - SPR_JUNIOR_RC_25_DEG_NE_SW, - SPR_JUNIOR_RC_25_DEG_SE_NW - }, - { - SPR_JUNIOR_RC_25_DEG_CHAIN_SW_NE, - SPR_JUNIOR_RC_25_DEG_CHAIN_NW_SE, - SPR_JUNIOR_RC_25_DEG_CHAIN_NE_SW, - SPR_JUNIOR_RC_25_DEG_CHAIN_SE_NW - }, - { - SPR_WATER_RC_25_DEG_CHAIN_SW_NE, - SPR_WATER_RC_25_DEG_CHAIN_NW_SE, - SPR_WATER_RC_25_DEG_CHAIN_NE_SW, - SPR_WATER_RC_25_DEG_CHAIN_SE_NW, - }, + { + SPR_JUNIOR_RC_25_DEG_SW_NE, + SPR_JUNIOR_RC_25_DEG_NW_SE, + SPR_JUNIOR_RC_25_DEG_NE_SW, + SPR_JUNIOR_RC_25_DEG_SE_NW + }, + { + SPR_JUNIOR_RC_25_DEG_CHAIN_SW_NE, + SPR_JUNIOR_RC_25_DEG_CHAIN_NW_SE, + SPR_JUNIOR_RC_25_DEG_CHAIN_NE_SW, + SPR_JUNIOR_RC_25_DEG_CHAIN_SE_NW + }, + { + SPR_WATER_RC_25_DEG_CHAIN_SW_NE, + SPR_WATER_RC_25_DEG_CHAIN_NW_SE, + SPR_WATER_RC_25_DEG_CHAIN_NE_SW, + SPR_WATER_RC_25_DEG_CHAIN_SE_NW, + }, }; static const uint32 junior_rc_track_pieces_flat_to_25_deg_up[3][4] = { - { - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_SW_NE, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_NW_SE, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_NE_SW, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_SE_NW - }, - { - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_SW_NE, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_NW_SE, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_NE_SW, - SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_SE_NW - }, - { - SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_SW_NE, - SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_NW_SE, - SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_NE_SW, - SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_SE_NW, - }, + { + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_SW_NE, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_NW_SE, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_NE_SW, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_SE_NW + }, + { + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_SW_NE, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_NW_SE, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_NE_SW, + SPR_JUNIOR_RC_FLAT_TO_25_DEG_UP_CHAIN_SE_NW + }, + { + SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_SW_NE, + SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_NW_SE, + SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_NE_SW, + SPR_WATER_RC_FLAT_TO_25_DEG_UP_CHAIN_SE_NW, + }, }; static const uint32 junior_rc_track_pieces_25_deg_up_to_flat[3][4] = { - { - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_SW_NE, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_NW_SE, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_NE_SW, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_SE_NW - }, - { - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_SW_NE, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_NW_SE, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_NE_SW, - SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_SE_NW - }, - { - SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_SW_NE, - SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_NW_SE, - SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_NE_SW, - SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_SE_NW, - }, + { + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_SW_NE, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_NW_SE, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_NE_SW, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_SE_NW + }, + { + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_SW_NE, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_NW_SE, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_NE_SW, + SPR_JUNIOR_RC_25_DEG_UP_TO_FLAT_CHAIN_SE_NW + }, + { + SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_SW_NE, + SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_NW_SE, + SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_NE_SW, + SPR_WATER_RC_25_DEG_UP_TO_FLAT_CHAIN_SE_NW, + }, }; static const uint32 junior_rc_track_pieces_flat_to_left_bank[4][2] = { - {SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_SW_NE, SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_SW_NE_FRONT}, - {SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_NW_SE, SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_NW_SE_FRONT}, - {SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_NE_SW, 0}, - {SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_SE_NW, 0} + {SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_SW_NE, SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_SW_NE_FRONT}, + {SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_NW_SE, SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_NW_SE_FRONT}, + {SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_NE_SW, 0}, + {SPR_JUNIOR_RC_FLAT_TO_LEFT_BANK_SE_NW, 0} }; static const uint32 junior_rc_track_pieces_flat_to_right_bank[4][2] = { - {SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_SW_NE, 0}, - {SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_NW_SE, 0}, - {SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_NE_SW, SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_NE_SW_FRONT}, - {SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_SE_NW, SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_SE_NW_FRONT} + {SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_SW_NE, 0}, + {SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_NW_SE, 0}, + {SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_NE_SW, SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_NE_SW_FRONT}, + {SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_SE_NW, SPR_JUNIOR_RC_FLAT_TO_RIGHT_BANK_SE_NW_FRONT} }; static const uint32 junior_rc_track_pieces_flat_quarter_turn_5_tiles[4][5] = { - { - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_0, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_1, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_2, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_3, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_4, - }, - { - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_0, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_1, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_2, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_3, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_4, - }, - { - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_0, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_1, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_2, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_3, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_4, - }, - { - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_0, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_1, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_2, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_3, - SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_4, - } + { + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_0, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_1, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_2, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_3, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_4, + }, + { + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_0, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_1, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_2, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_3, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_4, + }, + { + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_0, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_1, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_2, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_3, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_4, + }, + { + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_0, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_1, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_2, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_3, + SPR_JUNIOR_RC_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_4, + } }; static const uint32 junior_rc_track_pieces_banked_quarter_turn_5_tiles[4][5] = { - { - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_0, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_1, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_2, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_3, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_4, - }, - { - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_0, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_1, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_2, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_3, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_4, - }, - { - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_0, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_1, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_2, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_3, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_4, - }, - { - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_0, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_1, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_2, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_3, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_4, - } + { + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_0, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_1, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_2, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_3, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SW_SE_PART_4, + }, + { + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_0, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_1, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_2, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_3, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_4, + }, + { + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_0, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_1, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_2, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_3, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NE_NW_PART_4, + }, + { + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_0, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_1, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_2, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_3, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_4, + } }; static const uint32 junior_rc_track_pieces_left_banked_to_25_deg_up[4][2] = { - {SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_SW_NE, SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_SW_NE_FRONT}, - {SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_NW_SE, SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_NW_SE_FRONT}, - {SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_NE_SW, 0}, - {SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_SE_NW, 0} + {SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_SW_NE, SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_SW_NE_FRONT}, + {SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_NW_SE, SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_NW_SE_FRONT}, + {SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_NE_SW, 0}, + {SPR_JUNIOR_RC_LEFT_BANK_TO_25_DEG_UP_SE_NW, 0} }; static const uint32 junior_rc_track_pieces_right_banked_to_25_deg_up[4][2] = { - {SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_SW_NE, 0}, - {SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_NW_SE, 0}, - {SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_NE_SW, SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_NE_SW_FRONT}, - {SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_SE_NW, SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_SE_NW_FRONT} + {SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_SW_NE, 0}, + {SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_NW_SE, 0}, + {SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_NE_SW, SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_NE_SW_FRONT}, + {SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_SE_NW, SPR_JUNIOR_RC_RIGHT_BANK_TO_25_DEG_UP_SE_NW_FRONT} }; static const uint32 junior_rc_track_pieces_25_deg_up_to_left_bank[4][2] = { - {SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_SW_NE, SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_SW_NE_FRONT}, - {SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_NW_SE, SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_NW_SE_FRONT}, - {SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_NE_SW, 0}, - {SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_SE_NW, 0} + {SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_SW_NE, SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_SW_NE_FRONT}, + {SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_NW_SE, SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_NW_SE_FRONT}, + {SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_NE_SW, 0}, + {SPR_JUNIOR_RC_25_DEG_UP_TO_LEFT_BANK_SE_NW, 0} }; static const uint32 junior_rc_track_pieces_25_deg_up_to_right_bank[4][2] = { - {SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_SW_NE, 0}, - {SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_NW_SE, 0}, - {SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_NE_SW, SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_NE_SW_FRONT}, - {SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_SE_NW, SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_SE_NW_FRONT} + {SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_SW_NE, 0}, + {SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_NW_SE, 0}, + {SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_NE_SW, SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_NE_SW_FRONT}, + {SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_SE_NW, SPR_JUNIOR_RC_25_DEG_UP_TO_RIGHT_BANK_SE_NW_FRONT} }; static const uint32 junior_rc_track_pieces_left_bank[4] = { - SPR_JUNIOR_RC_LEFT_BANK_SW_NE, - SPR_JUNIOR_RC_LEFT_BANK_NW_SE, - SPR_JUNIOR_RC_LEFT_BANK_NE_SW, - SPR_JUNIOR_RC_LEFT_BANK_SE_NW + SPR_JUNIOR_RC_LEFT_BANK_SW_NE, + SPR_JUNIOR_RC_LEFT_BANK_NW_SE, + SPR_JUNIOR_RC_LEFT_BANK_NE_SW, + SPR_JUNIOR_RC_LEFT_BANK_SE_NW }; static const uint32 junior_rc_track_pieces_left_quarter_turn_5_tiles_25_deg_up[2][4][5] = { - { - { - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_0, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_1, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_2, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_3, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_4, - }, - { - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_0, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_1, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_2, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_3, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_4, - }, - { - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_0, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_1, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_2, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_3, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_4, - }, - { - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_0, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_1, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_2, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_3, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_4, - } - }, - { - { - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_0, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_1, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_2, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_3, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_4, - }, - { - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_0, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_1, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_2, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_3, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_4, - }, - { - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_0, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_1, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_2, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_3, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_4, - }, - { - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_0, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_1, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_2, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_3, - SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_4, - } - } + { + { + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_0, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_1, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_2, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_3, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_4, + }, + { + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_0, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_1, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_2, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_3, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_4, + }, + { + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_0, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_1, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_2, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_3, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_4, + }, + { + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_0, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_1, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_2, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_3, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_4, + } + }, + { + { + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_0, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_1, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_2, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_3, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_4, + }, + { + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_0, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_1, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_2, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_3, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_4, + }, + { + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_0, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_1, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_2, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_3, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_4, + }, + { + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_0, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_1, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_2, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_3, + SPR_JUNIOR_RC_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_4, + } + } }; const rct_xy16 junior_rc_left_quarter_turn_5_tiles_25_deg_up_offsets[4][5] = { - { - {0, 6}, - {0, 0}, - {0, 16}, - {16, 0}, - {6, 0}, - }, - { - {6, 0}, - {0, 0}, - {16, 16}, - {0, 0}, - {0, 6}, - }, - { - {0, 6}, - {0, 16}, - {16, 0}, - {0, 0}, - {6, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 0}, - {0, 16}, - {0, 6}, - } + { + {0, 6}, + {0, 0}, + {0, 16}, + {16, 0}, + {6, 0}, + }, + { + {6, 0}, + {0, 0}, + {16, 16}, + {0, 0}, + {0, 6}, + }, + { + {0, 6}, + {0, 16}, + {16, 0}, + {0, 0}, + {6, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 0}, + {0, 16}, + {0, 6}, + } }; static const uint32 junior_rc_track_pieces_right_quarter_turn_5_tiles_25_deg_up[2][4][5] = { - { - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_1, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_2, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_3, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_4, - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_1, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_2, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_3, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_4, - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_1, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_2, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_3, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_4, - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_1, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_2, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_3, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_4, - } - }, - { - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_1, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_2, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_3, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_4, - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_1, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_2, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_3, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_4, - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_1, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_2, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_3, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_4, - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_1, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_2, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_3, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_4, - } - } + { + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_1, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_2, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_3, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SW_SE_PART_4, + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_1, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_2, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_3, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NW_SW_PART_4, + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_1, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_2, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_3, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_NE_NW_PART_4, + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_1, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_2, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_3, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_SE_NE_PART_4, + } + }, + { + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_1, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_2, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_3, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SW_SE_PART_4, + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_1, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_2, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_3, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NW_SW_PART_4, + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_1, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_2, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_3, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_NE_NW_PART_4, + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_1, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_2, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_3, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP_CHAIN_SE_NE_PART_4, + } + } }; static const uint32 junior_rc_track_pieces_s_bend_left[2][4] = { - { - SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_0, - SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_1, - SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_2, - SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_3, - }, - { - SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_3, - SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_2, - SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_1, - SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_0, - } + { + SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_0, + SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_1, + SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_2, + SPR_JUNIOR_RC_S_BEND_LEFT_SW_NE_PART_3, + }, + { + SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_3, + SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_2, + SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_1, + SPR_JUNIOR_RC_S_BEND_LEFT_SE_NW_PART_0, + } }; static const uint32 junior_rc_track_pieces_s_bend_right[2][4] = { - { - SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_0, - SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_1, - SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_2, - SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_3, - }, - { - SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_3, - SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_2, - SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_1, - SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_0, - } + { + SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_0, + SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_1, + SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_2, + SPR_JUNIOR_RC_S_BEND_RIGHT_SW_NE_PART_3, + }, + { + SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_3, + SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_2, + SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_1, + SPR_JUNIOR_RC_S_BEND_RIGHT_SE_NW_PART_0, + } }; static const uint32 junior_rc_track_pieces_flat_quarter_turn_3_tiles[4][3] = { - { - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SW_SE_PART_0, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SW_SE_PART_1, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SW_SE_PART_2 - }, - { - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NW_SW_PART_0, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NW_SW_PART_1, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NW_SW_PART_2 - }, - { - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NE_NW_PART_0, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NE_NW_PART_1, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NE_NW_PART_2 - }, - { - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SE_NE_PART_0, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SE_NE_PART_1, - SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SE_NE_PART_2 - } + { + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SW_SE_PART_0, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SW_SE_PART_1, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SW_SE_PART_2 + }, + { + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NW_SW_PART_0, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NW_SW_PART_1, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NW_SW_PART_2 + }, + { + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NE_NW_PART_0, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NE_NW_PART_1, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_NE_NW_PART_2 + }, + { + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SE_NE_PART_0, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SE_NE_PART_1, + SPR_JUNIOR_RC_QUARTER_TURN_3_TILES_SE_NE_PART_2 + } }; static const uint32 junior_rc_track_pieces_banked_quarter_turn_3_tiles[4][3] = { - { - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SW_SE_PART_0, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SW_SE_PART_1, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SW_SE_PART_2 - }, - { - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_0, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_1, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_2 - }, - { - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NE_NW_PART_0, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NE_NW_PART_1, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NE_NW_PART_2 - }, - { - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_0, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_1, - SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_2 - } + { + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SW_SE_PART_0, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SW_SE_PART_1, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SW_SE_PART_2 + }, + { + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_0, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_1, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_2 + }, + { + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NE_NW_PART_0, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NE_NW_PART_1, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NE_NW_PART_2 + }, + { + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_0, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_1, + SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_2 + } }; static const uint32 junior_rc_track_pieces_right_quarter_turn_3_tiles_25_deg_up [2][4][2] = { - { - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SW_SE_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SW_SE_PART_1 - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NW_SW_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NW_SW_PART_1 - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NE_NW_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NE_NW_PART_1 - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SE_NE_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SE_NE_PART_1 - } - }, - { - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SW_SE_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SW_SE_PART_1 - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NW_SW_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NW_SW_PART_1 - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NE_NW_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NE_NW_PART_1 - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SE_NE_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SE_NE_PART_1 - } - } + { + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SW_SE_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SW_SE_PART_1 + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NW_SW_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NW_SW_PART_1 + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NE_NW_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_NE_NW_PART_1 + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SE_NE_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_SE_NE_PART_1 + } + }, + { + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SW_SE_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SW_SE_PART_1 + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NW_SW_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NW_SW_PART_1 + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NE_NW_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_NE_NW_PART_1 + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SE_NE_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP_CHAIN_SE_NE_PART_1 + } + } }; static const uint32 junior_rc_track_pieces_right_quarter_turn_3_tiles_25_deg_down[2][4][2] = { - { - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SW_SE_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SW_SE_PART_1 - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NW_SW_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NW_SW_PART_1 - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NE_NW_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NE_NW_PART_1 - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SE_NE_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SE_NE_PART_1 - } - }, - { - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SW_SE_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SW_SE_PART_1 - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NW_SW_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NW_SW_PART_1 - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NE_NW_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NE_NW_PART_1 - }, - { - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SE_NE_PART_0, - SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SE_NE_PART_1 - } - } + { + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SW_SE_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SW_SE_PART_1 + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NW_SW_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NW_SW_PART_1 + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NE_NW_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_NE_NW_PART_1 + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SE_NE_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_SE_NE_PART_1 + } + }, + { + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SW_SE_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SW_SE_PART_1 + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NW_SW_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NW_SW_PART_1 + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NE_NW_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_NE_NW_PART_1 + }, + { + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SE_NE_PART_0, + SPR_JUNIOR_RC_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_CHAIN_SE_NE_PART_1 + } + } }; static const uint32 junior_rc_track_pieces_right_half_banked_helix_up_small_quarter_tiles[4][3][2] = { - { - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SW_SE_PART_0}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SW_SE_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SW_SE_PART_2}, - }, - { - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_0}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_2, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_2_2} - }, - { - { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NE_NW_PART_0 }, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NE_NW_PART_1}, - { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NE_NW_PART_2 } - }, - { - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_0_2}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_2} - } + { + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SW_SE_PART_0}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SW_SE_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SW_SE_PART_2}, + }, + { + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_0}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_2, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NW_SW_PART_2_2} + }, + { + { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NE_NW_PART_0 }, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NE_NW_PART_1}, + { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_NE_NW_PART_2 } + }, + { + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_0_2}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_SMALL_SE_NE_PART_2} + } }; static const uint32 junior_rc_track_pieces_right_half_banked_helix_down_small_quarter_tiles[4][3][2] = { - { - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SW_SE_PART_0}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SW_SE_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SW_SE_PART_2}, - }, - { - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_0}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_2, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_2_2} - }, - { - { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NE_NW_PART_0 }, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NE_NW_PART_1}, - { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NE_NW_PART_2 } - }, - { - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_0_2}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_2} - } + { + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SW_SE_PART_0}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SW_SE_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SW_SE_PART_2}, + }, + { + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_0}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_2, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NW_SW_PART_2_2} + }, + { + { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NE_NW_PART_0 }, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NE_NW_PART_1}, + { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_NE_NW_PART_2 } + }, + { + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_0_2}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL_SE_NE_PART_2} + } }; static const uint32 junior_rc_track_pieces_right_half_banked_helix_up_large_quarter_tiles[4][5][2] = { - { - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_0}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_2}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_3}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_4}, - }, - { - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_0}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_2}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_3}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_4, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_4_2} - }, - { - { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_0 }, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_2}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_3}, - { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_4 } - }, - { - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_0_2}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_2}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_3}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_4} - } + { + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_0}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_2}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_3}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SW_SE_PART_4}, + }, + { + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_0}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_2}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_3}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_4, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NW_SW_PART_4_2} + }, + { + { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_0 }, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_2}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_3}, + { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_NE_NW_PART_4 } + }, + { + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_0_2}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_2}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_3}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_UP_LARGE_SE_NE_PART_4} + } }; static const uint32 junior_rc_track_pieces_right_half_banked_helix_down_large_quarter_tiles[4][5][2] = { - { - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_0}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_2}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_3}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_4}, - }, - { - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_0}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_2}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_3}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_4, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_4_2} - }, - { - { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_0 }, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_2}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_3}, - { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_4 } - }, - { - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_0_2}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_1}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_2}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_3}, - {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_4} - } + { + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_0}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_2}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_3}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SW_SE_PART_4}, + }, + { + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_0}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_2}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_3}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_4, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NW_SW_PART_4_2} + }, + { + { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_0 }, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_2}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_3}, + { 0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_NE_NW_PART_4 } + }, + { + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_0, SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_0_2}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_1}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_2}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_3}, + {SPR_JUNIOR_RC_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE_SE_NE_PART_4} + } }; static const uint32 junior_rc_track_pieces_brake[4] = { - SPR_JUNIOR_RC_FLAT_SW_NE_BRAKED, - SPR_JUNIOR_RC_FLAT_NW_SE_BRAKED, - SPR_JUNIOR_RC_FLAT_SW_NE_BRAKED, - SPR_JUNIOR_RC_FLAT_NW_SE_BRAKED + SPR_JUNIOR_RC_FLAT_SW_NE_BRAKED, + SPR_JUNIOR_RC_FLAT_NW_SE_BRAKED, + SPR_JUNIOR_RC_FLAT_SW_NE_BRAKED, + SPR_JUNIOR_RC_FLAT_NW_SE_BRAKED }; static const uint32 junior_rc_track_pieces_left_eight_to_diag[4][4] = { - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_3, - }, - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_3, - }, - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_3, - }, - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_3, - }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_N_PART_3, + }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_E_PART_3, + }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_S_PART_3, + }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_W_PART_3, + }, }; static const uint32 junior_rc_track_pieces_right_eight_to_diag[4][4] = { - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_3, - }, - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_3, - }, - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_3, - }, - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_3, - }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SW_E_PART_3, + }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NW_S_PART_3, + }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_NE_W_PART_3, + }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_SE_N_PART_3, + }, }; static const uint32 junior_rc_track_pieces_left_eight_to_diag_bank[4][4] = { - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_3, - }, - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_3, - }, - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_3, - }, - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_3, - }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_N_PART_3, + }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_E_PART_3, + }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_S_PART_3, + }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_W_PART_3, + }, }; static const uint32 junior_rc_track_pieces_right_eight_to_diag_bank[4][4] = { - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_3, - }, - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_3, - }, - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_3, - }, - { - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_0, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_1, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_2, - SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_3, - }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SW_E_PART_3, + }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NW_S_PART_3, + }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_NE_W_PART_3, + }, + { + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_0, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_1, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_2, + SPR_JUNIOR_RC_EIGHT_TO_DIAG_BANK_SE_N_PART_3, + }, }; static const uint32 junior_rc_track_pieces_diag_flat[3][4] = { - { - SPR_JUNIOR_RC_DIAG_FLAT_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_N_S, - SPR_JUNIOR_RC_DIAG_FLAT_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_S_N - }, - { - SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_N_S, - SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_S_N - }, - { - SPR_WATER_RC_DIAG_FLAT_CHAIN_W_E, - SPR_WATER_RC_DIAG_FLAT_CHAIN_N_S, - SPR_WATER_RC_DIAG_FLAT_CHAIN_E_W, - SPR_WATER_RC_DIAG_FLAT_CHAIN_S_N - }, + { + SPR_JUNIOR_RC_DIAG_FLAT_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_N_S, + SPR_JUNIOR_RC_DIAG_FLAT_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_S_N + }, + { + SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_N_S, + SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_CHAIN_S_N + }, + { + SPR_WATER_RC_DIAG_FLAT_CHAIN_W_E, + SPR_WATER_RC_DIAG_FLAT_CHAIN_N_S, + SPR_WATER_RC_DIAG_FLAT_CHAIN_E_W, + SPR_WATER_RC_DIAG_FLAT_CHAIN_S_N + }, }; static const uint32 junior_rc_track_pieces_diag_25_deg_up[3][4] = { - { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_N_S, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_S_N - }, - { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_N_S, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_S_N - }, - { - SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_W_E, - SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_N_S, - SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_E_W, - SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_S_N - }, + { + SPR_JUNIOR_RC_DIAG_25_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_N_S, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_S_N + }, + { + SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_N_S, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_S_N + }, + { + SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_W_E, + SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_N_S, + SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_E_W, + SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_S_N + }, }; static const uint32 junior_rc_track_pieces_diag_flat_to_25_deg_up[3][4] = { - { - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_N_S, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_S_N - }, - { - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_N_S, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_S_N - }, - { - SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_W_E, - SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_N_S, - SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_E_W, - SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_S_N - }, + { + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_N_S, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_S_N + }, + { + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_N_S, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_S_N + }, + { + SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_W_E, + SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_N_S, + SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_E_W, + SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_S_N + }, }; static const uint32 junior_rc_track_pieces_diag_flat_to_60_deg_up[2][4] = { - { - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_N_S, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_S_N - }, - { - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_N_S, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_S_N - }, + { + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_N_S, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_S_N + }, + { + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_N_S, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_S_N + }, }; static const uint32 junior_rc_track_pieces_diag_25_deg_up_to_flat[3][4] = { - { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_N_S, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_S_N - }, - { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_N_S, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_S_N - }, - { - SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_W_E, - SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_N_S, - SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_E_W, - SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_S_N - }, + { + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_N_S, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_S_N + }, + { + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_N_S, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_S_N + }, + { + SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_W_E, + SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_N_S, + SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_E_W, + SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_S_N + }, }; static const uint32 junior_rc_track_pieces_diag_60_deg_up_to_flat[2][4] = { - { - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_W_E, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_N_S, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_E_W, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_S_N - }, - { - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_N_S, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_S_N - }, + { + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_W_E, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_N_S, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_E_W, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_S_N + }, + { + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_N_S, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_S_N + }, }; static const uint32 junior_rc_track_pieces_diag_25_deg_down[3][4] = { - { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_S_N, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_N_S, - }, - { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_S_N, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_N_S, - }, - { - SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_E_W, - SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_S_N, - SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_W_E, - SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_N_S, - }, + { + SPR_JUNIOR_RC_DIAG_25_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_S_N, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_N_S, + }, + { + SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_S_N, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_CHAIN_N_S, + }, + { + SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_E_W, + SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_S_N, + SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_W_E, + SPR_WATER_RC_DIAG_25_DEG_UP_CHAIN_N_S, + }, }; static const uint32 junior_rc_track_pieces_diag_flat_to_25_deg_down[3][4] = { - { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_S_N, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_N_S, - }, - { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_S_N, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_N_S, - }, - { - SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_E_W, - SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_S_N, - SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_W_E, - SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_N_S, - }, + { + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_S_N, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_N_S, + }, + { + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_S_N, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_N_S, + }, + { + SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_E_W, + SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_S_N, + SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_W_E, + SPR_WATER_RC_DIAG_25_DEG_UP_TO_FLAT_CHAIN_N_S, + }, }; static const uint32 junior_rc_track_pieces_diag_flat_to_60_deg_down[2][4] = { - { - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_E_W, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_S_N, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_W_E, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_N_S, - }, - { - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_S_N, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_N_S, - }, + { + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_E_W, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_S_N, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_W_E, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_N_S, + }, + { + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_S_N, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_FLAT_CHAIN_N_S, + }, }; static const uint32 junior_rc_track_pieces_diag_25_deg_down_to_flat[3][4] = { - { - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_S_N, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_N_S, - }, - { - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_S_N, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_N_S, - }, - { - SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_E_W, - SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_S_N, - SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_W_E, - SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_N_S, - }, + { + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_S_N, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_N_S, + }, + { + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_S_N, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_N_S, + }, + { + SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_E_W, + SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_S_N, + SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_W_E, + SPR_WATER_RC_DIAG_FLAT_TO_25_DEG_UP_CHAIN_N_S, + }, }; static const uint32 junior_rc_track_pieces_diag_60_deg_down_to_flat[2][4] = { - { - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_S_N, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_N_S, - }, - { - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_S_N, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_N_S, - }, + { + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_S_N, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_N_S, + }, + { + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_S_N, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_TO_60_DEG_UP_CHAIN_N_S, + }, }; static const uint32 junior_rc_track_pieces_diag_flat_to_left_bank[4] = { - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_N_S, - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_S_N, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_N_S, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_S_N, }; static const uint32 junior_rc_track_pieces_diag_flat_to_right_bank[4] = { - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_N_S, - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_S_N, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_N_S, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_S_N, }; static const uint32 junior_rc_track_pieces_diag_right_bank_to_flat[4] = { - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_S_N, - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_N_S, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_S_N, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_N_S, }; static const uint32 junior_rc_track_pieces_diag_left_bank_to_flat[4] = { - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W, - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_S_N, - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_W_E, - SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_N_S, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_S_N, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_W_E, + SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_N_S, }; static const uint32 junior_rc_track_pieces_diag_left_bank_to_25_deg_up[4] = { - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_N_S, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_S_N, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_N_S, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_S_N, }; static const uint32 junior_rc_track_pieces_diag_right_bank_to_25_deg_up[4] = { - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_N_S, - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_S_N, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_N_S, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_S_N, }; static const uint32 junior_rc_track_pieces_diag_25_deg_up_to_left_bank[4] = { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_N_S, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_S_N, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_N_S, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_S_N, }; static const uint32 junior_rc_track_pieces_diag_25_deg_up_to_right_bank[4] = { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_N_S, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_S_N, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_N_S, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_S_N, }; static const uint32 junior_rc_track_pieces_diag_right_bank_to_25_deg_down[4] = { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_S_N, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_N_S, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_S_N, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_N_S, }; static const uint32 junior_rc_track_pieces_diag_left_bank_to_25_deg_down[4] = { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_S_N, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_N_S, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_S_N, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_N_S, }; static const uint32 junior_rc_track_pieces_diag_25_deg_down_to_right_bank[4] = { - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_S_N, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_N_S, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_S_N, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_N_S, }; static const uint32 junior_rc_track_pieces_diag_25_deg_down_to_left_bank[4] = { - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_S_N, - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_N_S, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_S_N, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_N_S, }; static const uint32 junior_rc_track_pieces_diag_left_bank[4] = { - SPR_JUNIOR_RC_DIAG_LEFT_BANK_W_E, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_N_S, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_E_W, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_S_N, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_W_E, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_N_S, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_E_W, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_S_N, }; static const uint32 junior_rc_track_pieces_diag_right_bank[4] = { - SPR_JUNIOR_RC_DIAG_LEFT_BANK_E_W, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_S_N, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_W_E, - SPR_JUNIOR_RC_DIAG_LEFT_BANK_N_S, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_E_W, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_S_N, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_W_E, + SPR_JUNIOR_RC_DIAG_LEFT_BANK_N_S, }; static const uint32 junior_rc_track_pieces_flat_to_60_deg_up[2][4][2] = { - { - {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_SW_NE, 0}, - {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NW_SE, SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NW_SE_PART_0_2}, - {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NE_SW, SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NE_SW_PART_0_2}, - {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_SE_NW, 0}, - }, - { - {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_SW_NE, 0}, - {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NW_SE, SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NW_SE_PART_0_2}, - {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NE_SW, SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NE_SW_PART_0_2}, - {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_SE_NW, 0}, - }, + { + {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_SW_NE, 0}, + {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NW_SE, SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NW_SE_PART_0_2}, + {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NE_SW, SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_NE_SW_PART_0_2}, + {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_SE_NW, 0}, + }, + { + {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_SW_NE, 0}, + {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NW_SE, SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NW_SE_PART_0_2}, + {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NE_SW, SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_NE_SW_PART_0_2}, + {SPR_JUNIOR_RC_FLAT_TO_60_DEG_UP_CHAIN_SE_NW, 0}, + }, }; static const uint32 junior_rc_track_pieces_60_deg_up_to_flat[2][4][2] = { - { - {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_SW_NE, 0}, - {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NW_SE, SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NW_SE_PART_0_2}, - {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NE_SW, SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NE_SW_PART_0_2}, - {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_SE_NW, 0}, - }, - { - {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_SW_NE, 0}, - {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NW_SE, SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NW_SE_PART_0_2}, - {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NE_SW, SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NE_SW_PART_0_2}, - {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_SE_NW, 0}, - }, + { + {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_SW_NE, 0}, + {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NW_SE, SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NW_SE_PART_0_2}, + {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NE_SW, SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_NE_SW_PART_0_2}, + {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_SE_NW, 0}, + }, + { + {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_SW_NE, 0}, + {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NW_SE, SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NW_SE_PART_0_2}, + {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NE_SW, SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_NE_SW_PART_0_2}, + {SPR_JUNIOR_RC_60_DEG_UP_TO_FLAT_CHAIN_SE_NW, 0}, + }, }; static const uint32 junior_rc_track_pieces_60_deg_up[2][4] = { - { - SPR_JUNIOR_RC_60_DEG_SW_NE, - SPR_JUNIOR_RC_60_DEG_NW_SE, - SPR_JUNIOR_RC_60_DEG_NE_SW, - SPR_JUNIOR_RC_60_DEG_SE_NW - }, - { - SPR_JUNIOR_RC_60_DEG_CHAIN_SW_NE, - SPR_JUNIOR_RC_60_DEG_CHAIN_NW_SE, - SPR_JUNIOR_RC_60_DEG_CHAIN_NE_SW, - SPR_JUNIOR_RC_60_DEG_CHAIN_SE_NW - }, + { + SPR_JUNIOR_RC_60_DEG_SW_NE, + SPR_JUNIOR_RC_60_DEG_NW_SE, + SPR_JUNIOR_RC_60_DEG_NE_SW, + SPR_JUNIOR_RC_60_DEG_SE_NW + }, + { + SPR_JUNIOR_RC_60_DEG_CHAIN_SW_NE, + SPR_JUNIOR_RC_60_DEG_CHAIN_NW_SE, + SPR_JUNIOR_RC_60_DEG_CHAIN_NE_SW, + SPR_JUNIOR_RC_60_DEG_CHAIN_SE_NW + }, }; static const uint32 junior_rc_track_pieces_25_deg_up_to_60_deg_up[2][4][2] = { - { - {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_SW_NE, 0}, - {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NW_SE, SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NW_SE_PART_0_2}, - {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NE_SW, SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NE_SW_PART_0_2}, - {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_SE_NW, 0}, - }, - { - {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_SW_NE, 0}, - {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NW_SE, SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NW_SE_PART_0_2}, - {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NE_SW, SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NE_SW_PART_0_2}, - {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_SE_NW, 0}, - }, + { + {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_SW_NE, 0}, + {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NW_SE, SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NW_SE_PART_0_2}, + {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NE_SW, SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_NE_SW_PART_0_2}, + {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_SE_NW, 0}, + }, + { + {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_SW_NE, 0}, + {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NW_SE, SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NW_SE_PART_0_2}, + {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NE_SW, SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_NE_SW_PART_0_2}, + {SPR_JUNIOR_RC_25_DEG_TO_60_DEG_UP_CHAIN_SE_NW, 0}, + }, }; static const uint32 junior_rc_track_pieces_60_deg_up_to_25_deg_up[2][4][2] = { - { - {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_SW_NE, 0}, - {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NW_SE, SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NW_SE_PART_0_2}, - {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NE_SW, SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NE_SW_PART_0_2}, - {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_SE_NW, 0}, - }, - { - {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_SW_NE, 0}, - {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NW_SE, SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NW_SE_PART_0_2}, - {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NE_SW, SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NE_SW_PART_0_2}, - {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_SE_NW, 0}, - } + { + {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_SW_NE, 0}, + {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NW_SE, SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NW_SE_PART_0_2}, + {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NE_SW, SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_NE_SW_PART_0_2}, + {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_SE_NW, 0}, + }, + { + {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_SW_NE, 0}, + {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NW_SE, SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NW_SE_PART_0_2}, + {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NE_SW, SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_NE_SW_PART_0_2}, + {SPR_JUNIOR_RC_60_DEG_TO_25_DEG_UP_CHAIN_SE_NW, 0}, + } }; static const uint32 junior_rc_track_pieces_diag_60_deg_up[2][4] = { - { - SPR_JUNIOR_RC_DIAG_60_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_N_S, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_S_N - }, - { - SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_N_S, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_S_N - }, + { + SPR_JUNIOR_RC_DIAG_60_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_N_S, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_S_N + }, + { + SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_N_S, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_S_N + }, }; static const uint32 junior_rc_track_pieces_diag_60_deg_down[2][4] = { - { - SPR_JUNIOR_RC_DIAG_60_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_S_N, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_N_S, - }, - { - SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_S_N, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_N_S, - }, + { + SPR_JUNIOR_RC_DIAG_60_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_S_N, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_N_S, + }, + { + SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_S_N, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_CHAIN_N_S, + }, }; static const uint32 junior_rc_track_pieces_diag_25_deg_up_to_60_deg_up[2][4] = { - { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_N_S, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_S_N - }, - { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_N_S, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_S_N - }, + { + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_N_S, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_S_N + }, + { + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_N_S, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_S_N + }, }; static const uint32 junior_rc_track_pieces_diag_60_deg_up_to_25_deg_up[2][4] = { - { - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_N_S, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_S_N - }, - { - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_N_S, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_S_N - }, + { + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_N_S, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_S_N + }, + { + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_N_S, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_S_N + }, }; static const uint32 junior_rc_track_pieces_diag_25_deg_down_to_60_deg_down[2][4] = { - { - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_S_N, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_N_S, - }, - { - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_S_N, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_N_S, - }, + { + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_S_N, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_N_S, + }, + { + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_S_N, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_60_DEG_UP_TO_25_DEG_UP_CHAIN_N_S, + }, }; static const uint32 junior_rc_track_pieces_diag_60_deg_down_to_25_deg_down[2][4] = { - { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_S_N, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_N_S, - }, - { - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_E_W, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_S_N, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_W_E, - SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_N_S, - }, + { + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_S_N, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_N_S, + }, + { + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_E_W, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_S_N, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_W_E, + SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_60_DEG_UP_CHAIN_N_S, + }, }; void junior_rc_paint_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - uint32 imageId = junior_rc_track_pieces_flat[chainType][direction] | gTrackColours[SCHEME_TRACK]; - sub_98196C_rotated(direction, imageId, 0, 6, 32, 20, 1, height); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + uint32 imageId = junior_rc_track_pieces_flat[chainType][direction] | gTrackColours[SCHEME_TRACK]; + sub_98196C_rotated(direction, imageId, 0, 6, 32, 20, 1, height); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } void junior_rc_paint_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, uint8 rideType) { - uint32 imageId; + uint32 imageId; - bool isBraked = (bool)(mapElement->flags & MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED); + bool isBraked = (bool)(mapElement->flags & MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED); - if (direction == 0 || direction == 2) { - // height -= 2 (height - 2) - imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation()); + if (direction == 0 || direction == 2) { + // height -= 2 (height - 2) + imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation()); - // height += 2 (height) - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && rideType == RIDE_TYPE_JUNIOR_ROLLER_COASTER) { - imageId = junior_rc_track_pieces_block_brake[isBraked][direction] | gTrackColours[SCHEME_TRACK]; - }else{ - imageId = junior_rc_track_pieces_station[false][direction] | gTrackColours[SCHEME_TRACK]; - } - sub_98199C(imageId, 0, 6, 32, 20, 1, height, 0, 0, height, get_current_rotation()); + // height += 2 (height) + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && rideType == RIDE_TYPE_JUNIOR_ROLLER_COASTER) { + imageId = junior_rc_track_pieces_block_brake[isBraked][direction] | gTrackColours[SCHEME_TRACK]; + }else{ + imageId = junior_rc_track_pieces_station[false][direction] | gTrackColours[SCHEME_TRACK]; + } + sub_98199C(imageId, 0, 6, 32, 20, 1, height, 0, 0, height, get_current_rotation()); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_push_tunnel_left(height, TUNNEL_6); - } else if (direction == 1 || direction == 3) { - // height -= 2 (height - 2) - imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation()); + paint_util_push_tunnel_left(height, TUNNEL_6); + } else if (direction == 1 || direction == 3) { + // height -= 2 (height - 2) + imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation()); - // height += 2 (height) - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && rideType == RIDE_TYPE_JUNIOR_ROLLER_COASTER) { - imageId = junior_rc_track_pieces_block_brake[isBraked][direction] | gTrackColours[SCHEME_TRACK]; - }else{ - imageId = junior_rc_track_pieces_station[false][direction] | gTrackColours[SCHEME_TRACK]; - } - sub_98199C(imageId, 6, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation()); + // height += 2 (height) + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && rideType == RIDE_TYPE_JUNIOR_ROLLER_COASTER) { + imageId = junior_rc_track_pieces_block_brake[isBraked][direction] | gTrackColours[SCHEME_TRACK]; + }else{ + imageId = junior_rc_track_pieces_station[false][direction] | gTrackColours[SCHEME_TRACK]; + } + sub_98199C(imageId, 6, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation()); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_push_tunnel_right(height, TUNNEL_6); - } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_push_tunnel_right(height, TUNNEL_6); + } - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } void junior_rc_paint_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - uint32 imageId = junior_rc_track_pieces_25_deg_up[chainType][direction] | gTrackColours[SCHEME_TRACK]; - sub_98196C_rotated(direction, imageId, 0, 6, 32, 20, 1, height); + uint32 imageId = junior_rc_track_pieces_25_deg_up[chainType][direction] | gTrackColours[SCHEME_TRACK]; + sub_98196C_rotated(direction, imageId, 0, 6, 32, 20, 1, height); - sint8 tunnel_height[4] = { -8, 8, 8, -8 }; - uint8 tunnel_type[4] = { TUNNEL_1, TUNNEL_2, TUNNEL_2, TUNNEL_1 }; - paint_util_push_tunnel_rotated(direction, height + tunnel_height[direction], tunnel_type[direction]); + sint8 tunnel_height[4] = { -8, 8, 8, -8 }; + uint8 tunnel_type[4] = { TUNNEL_1, TUNNEL_2, TUNNEL_2, TUNNEL_1 }; + paint_util_push_tunnel_rotated(direction, height + tunnel_height[direction], tunnel_type[direction]); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - sint32 supportType = (direction & 1) ? 2 : 1; - metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + sint32 supportType = (direction & 1) ? 2 : 1; + metal_a_supports_paint_setup(supportType, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void junior_rc_paint_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - uint32 imageId = junior_rc_track_pieces_flat_to_25_deg_up[chainType][direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = junior_rc_track_pieces_flat_to_25_deg_up[chainType][direction] | gTrackColours[SCHEME_TRACK]; - sub_98196C_rotated(direction, imageId, 0, 6, 32, 20, 1, height); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } + sub_98196C_rotated(direction, imageId, 0, 6, 32, 20, 1, height); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - sint32 supportType = (direction & 1) ? 2 : 1; - uint16 ax = (direction == 0) ? 5 : 3; - metal_a_supports_paint_setup(supportType, 4, ax, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + sint32 supportType = (direction & 1) ? 2 : 1; + uint16 ax = (direction == 0) ? 5 : 3; + metal_a_supports_paint_setup(supportType, 4, ax, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } void junior_rc_paint_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - uint32 imageId = junior_rc_track_pieces_25_deg_up_to_flat[chainType][direction] | gTrackColours[SCHEME_TRACK]; - sub_98196C_rotated(direction, imageId, 0, 6, 32, 20, 1, height); + uint32 imageId = junior_rc_track_pieces_25_deg_up_to_flat[chainType][direction] | gTrackColours[SCHEME_TRACK]; + sub_98196C_rotated(direction, imageId, 0, 6, 32, 20, 1, height); - uint8 tunnelType; - sint16 tunnelHeight; - if (direction == 1 || direction == 2) - { - tunnelType = TUNNEL_12; - tunnelHeight = height + 8; - } - else { - tunnelType = TUNNEL_0; - tunnelHeight = height - 8; - } + uint8 tunnelType; + sint16 tunnelHeight; + if (direction == 1 || direction == 2) + { + tunnelType = TUNNEL_12; + tunnelHeight = height + 8; + } + else { + tunnelType = TUNNEL_0; + tunnelHeight = height - 8; + } - if (direction & 1) { - paint_util_push_tunnel_right(tunnelHeight, tunnelType); - } - else { - paint_util_push_tunnel_left(tunnelHeight, tunnelType); - } + if (direction & 1) { + paint_util_push_tunnel_right(tunnelHeight, tunnelType); + } + else { + paint_util_push_tunnel_left(tunnelHeight, tunnelType); + } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - sint32 supportType = (direction & 1) ? 2 : 1; - metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + sint32 supportType = (direction & 1) ? 2 : 1; + metal_a_supports_paint_setup(supportType, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } static const sint8 junior_rc_track_right_quarter_turn_5_tiles_support_height_offset[][7] = { - {0, 0, 0, 0, 0, 0, -1}, - {-1, 0, 0, 0, 0, 0, 0}, - {0}, - {0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, -1}, + {-1, 0, 0, 0, 0, 0, 0}, + {0}, + {0, 0, 0, 0, 0, 0, 0}, }; static void junior_rc_right_quarter_turn_5_tiles_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - track_paint_util_right_quarter_turn_5_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_flat_quarter_turn_5_tiles, defaultRightQuarterTurn5TilesOffsets, defaultRightQuarterTurn5TilesBoundLengths, defaultRightQuarterTurn5TilesBoundOffsets, get_current_rotation()); + track_paint_util_right_quarter_turn_5_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_flat_quarter_turn_5_tiles, defaultRightQuarterTurn5TilesOffsets, defaultRightQuarterTurn5TilesBoundLengths, defaultRightQuarterTurn5TilesBoundOffsets, get_current_rotation()); - sint32 supportHeight = height + junior_rc_track_right_quarter_turn_5_tiles_support_height_offset[direction][trackSequence]; - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - break; - case 6: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 0, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - break; - } + sint32 supportHeight = height + junior_rc_track_right_quarter_turn_5_tiles_support_height_offset[direction][trackSequence]; + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + break; + case 6: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 0, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - if (direction == 0 && trackSequence == 6) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 6) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - if (direction == 1 && trackSequence == 6) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 1 && trackSequence == 6) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static const uint8 junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[] = {6, 4, 5, 3, 1, 2, 0}; /* rct2: 0x0051917A */ static void junior_rc_left_quarter_turn_5_tiles_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - trackSequence = junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence]; - junior_rc_right_quarter_turn_5_tiles_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence]; + junior_rc_right_quarter_turn_5_tiles_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** @@ -2065,39 +2065,39 @@ static void junior_rc_left_quarter_turn_5_tiles_paint_setup(uint8 rideIndex, uin */ static void junior_rc_flat_to_left_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 image_id; + uint32 image_id; - image_id = junior_rc_track_pieces_flat_to_left_bank[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + image_id = junior_rc_track_pieces_flat_to_left_bank[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction & 1) { + sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height, 0); - } - else { - sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_right(height, 0); + } + else { + sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(height, 0); - } + paint_util_push_tunnel_left(height, 0); + } - if (junior_rc_track_pieces_flat_to_left_bank[direction][1] != 0) { - image_id = junior_rc_track_pieces_flat_to_left_bank[direction][1] | gTrackColours[SCHEME_TRACK]; + if (junior_rc_track_pieces_flat_to_left_bank[direction][1] != 0) { + image_id = junior_rc_track_pieces_flat_to_left_bank[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(image_id, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation()); - } - else { - sub_98197C(image_id, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation()); - } - } + if (direction & 1) { + sub_98197C(image_id, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation()); + } + else { + sub_98197C(image_id, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation()); + } + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (track_paint_util_should_paint_supports(pos)) { - sint32 edi = (direction & 1) ? 2 : 1; - metal_a_supports_paint_setup(edi, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + if (track_paint_util_should_paint_supports(pos)) { + sint32 edi = (direction & 1) ? 2 : 1; + metal_a_supports_paint_setup(edi, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** @@ -2105,171 +2105,171 @@ static void junior_rc_flat_to_left_bank_paint_setup(uint8 rideIndex, uint8 track */ static void junior_rc_flat_to_right_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 image_id; + uint32 image_id; - image_id = junior_rc_track_pieces_flat_to_right_bank[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + image_id = junior_rc_track_pieces_flat_to_right_bank[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction & 1) { + sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height, 0); - } - else { - sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_right(height, 0); + } + else { + sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(height, 0); - } + paint_util_push_tunnel_left(height, 0); + } - if (junior_rc_track_pieces_flat_to_right_bank[direction][1] != 0) { - image_id = junior_rc_track_pieces_flat_to_right_bank[direction][1] | gTrackColours[SCHEME_TRACK]; + if (junior_rc_track_pieces_flat_to_right_bank[direction][1] != 0) { + image_id = junior_rc_track_pieces_flat_to_right_bank[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(image_id, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation()); - } - else { - sub_98197C(image_id, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation()); - } - } + if (direction & 1) { + sub_98197C(image_id, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation()); + } + else { + sub_98197C(image_id, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation()); + } + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (track_paint_util_should_paint_supports(pos)) { - sint32 edi = (direction & 1) ? 2 : 1; - metal_a_supports_paint_setup(edi, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + if (track_paint_util_should_paint_supports(pos)) { + sint32 edi = (direction & 1) ? 2 : 1; + metal_a_supports_paint_setup(edi, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void junior_rc_left_bank_to_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_flat_to_right_bank_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + junior_rc_flat_to_right_bank_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } static void junior_rc_right_bank_to_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_flat_to_left_bank_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + junior_rc_flat_to_left_bank_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } const rct_xy16 junior_rc_banked_right_quarter_turn_5_tiles_bound_lengths[4][5] = { - { - {32, 20}, - {32, 16}, - {16, 16}, - {16, 32}, - {20, 32}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {32, 16}, - {32, 20}, - }, - { - {32, 1}, - {32, 16}, - {16, 16}, - {16, 32}, - {1, 32}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {32, 16}, - {32, 20}, - } + { + {32, 20}, + {32, 16}, + {16, 16}, + {16, 32}, + {20, 32}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {32, 16}, + {32, 20}, + }, + { + {32, 1}, + {32, 16}, + {16, 16}, + {16, 32}, + {1, 32}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {32, 16}, + {32, 20}, + } }; const rct_xyz16 junior_rc_banked_right_quarter_turn_5_tiles_bound_offsets[4][5] = { - { - {0, 6}, - {0, 16}, - {0, 0}, - {16, 0}, - {6, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 16}, - {0, 0}, - {0, 6}, - }, - { - {0, 27}, - {0, 0, 27}, - {16, 16, 27}, - {0, 0, 27}, - {27, 0}, - }, - { - {6, 0}, - {0, 0}, - {16, 0}, - {0, 16}, - {0, 6}, - } + { + {0, 6}, + {0, 16}, + {0, 0}, + {16, 0}, + {6, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 16}, + {0, 0}, + {0, 6}, + }, + { + {0, 27}, + {0, 0, 27}, + {16, 16, 27}, + {0, 0, 27}, + {27, 0}, + }, + { + {6, 0}, + {0, 0}, + {16, 0}, + {0, 16}, + {0, 6}, + } }; /* rct2: 0x008AB010, 0x0052304C */ static void junior_rc_banked_right_quarter_turn_5_tiles_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - uint8 thickness = 1; - if (direction == 2 && (trackSequence == 0 || trackSequence == 6)) { - thickness = 26; - } - track_paint_util_right_quarter_turn_5_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_banked_quarter_turn_5_tiles, NULL, junior_rc_banked_right_quarter_turn_5_tiles_bound_lengths, junior_rc_banked_right_quarter_turn_5_tiles_bound_offsets, get_current_rotation()); + uint8 thickness = 1; + if (direction == 2 && (trackSequence == 0 || trackSequence == 6)) { + thickness = 26; + } + track_paint_util_right_quarter_turn_5_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_banked_quarter_turn_5_tiles, NULL, junior_rc_banked_right_quarter_turn_5_tiles_bound_lengths, junior_rc_banked_right_quarter_turn_5_tiles_bound_offsets, get_current_rotation()); - if (direction == 1 && trackSequence == 6) { - uint32 imageId = SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_4_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation()); - } - else if (direction == 3 && trackSequence == 0) { - uint32 imageId = SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation()); - } + if (direction == 1 && trackSequence == 6) { + uint32 imageId = SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_4_2 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation()); + } + else if (direction == 3 && trackSequence == 0) { + uint32 imageId = SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_0_2 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation()); + } - sint32 supportHeight = height; - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - break; - case 6: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 0, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - break; - } + sint32 supportHeight = height; + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + break; + case 6: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 0, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - if (direction == 0 && trackSequence == 6) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 6) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - if (direction == 1 && trackSequence == 6) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 1 && trackSequence == 6) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /* rct2: 0x008AB000 */ static void junior_rc_banked_left_quarter_turn_5_tiles_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - trackSequence = junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence]; - junior_rc_banked_right_quarter_turn_5_tiles_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence]; + junior_rc_banked_right_quarter_turn_5_tiles_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** @@ -2277,42 +2277,42 @@ static void junior_rc_banked_left_quarter_turn_5_tiles_paint_setup(uint8 rideInd */ static void junior_rc_left_bank_to_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 image_id; + uint32 image_id; - image_id = junior_rc_track_pieces_left_banked_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - } - else { - sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - } + image_id = junior_rc_track_pieces_left_banked_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction & 1) { + sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + } + else { + sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + } - if (junior_rc_track_pieces_left_banked_to_25_deg_up[direction][1] != 0) { - image_id = junior_rc_track_pieces_left_banked_to_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; + if (junior_rc_track_pieces_left_banked_to_25_deg_up[direction][1] != 0) { + image_id = junior_rc_track_pieces_left_banked_to_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(image_id, 0, 0, 1, 32, 34, height, 27, 0, height, get_current_rotation()); - } - else { - sub_98197C(image_id, 0, 0, 32, 1, 34, height, 0, 27, height, get_current_rotation()); - } - } + if (direction & 1) { + sub_98197C(image_id, 0, 0, 1, 32, 34, height, 27, 0, height, get_current_rotation()); + } + else { + sub_98197C(image_id, 0, 0, 32, 1, 34, height, 0, 27, height, get_current_rotation()); + } + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (track_paint_util_should_paint_supports(pos)) { - sint32 edi = (direction & 1) ? 2 : 1; - metal_a_supports_paint_setup(edi, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + if (track_paint_util_should_paint_supports(pos)) { + sint32 edi = (direction & 1) ? 2 : 1; + metal_a_supports_paint_setup(edi, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } - switch(direction) { - case 0: paint_util_push_tunnel_left(height, TUNNEL_0); break; - case 1: paint_util_push_tunnel_right(height, TUNNEL_2); break; - case 2: paint_util_push_tunnel_left(height, TUNNEL_2); break; - case 3: paint_util_push_tunnel_right(height, TUNNEL_0); break; - } + switch(direction) { + case 0: paint_util_push_tunnel_left(height, TUNNEL_0); break; + case 1: paint_util_push_tunnel_right(height, TUNNEL_2); break; + case 2: paint_util_push_tunnel_left(height, TUNNEL_2); break; + case 3: paint_util_push_tunnel_right(height, TUNNEL_0); break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** @@ -2320,42 +2320,42 @@ static void junior_rc_left_bank_to_25_deg_up_paint_setup(uint8 rideIndex, uint8 */ static void junior_rc_right_bank_to_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 image_id; + uint32 image_id; - image_id = junior_rc_track_pieces_right_banked_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - } - else { - sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - } + image_id = junior_rc_track_pieces_right_banked_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction & 1) { + sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + } + else { + sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + } - if (junior_rc_track_pieces_right_banked_to_25_deg_up[direction][1] != 0) { - image_id = junior_rc_track_pieces_right_banked_to_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; + if (junior_rc_track_pieces_right_banked_to_25_deg_up[direction][1] != 0) { + image_id = junior_rc_track_pieces_right_banked_to_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(image_id, 0, 0, 1, 32, 34, height, 27, 0, height, get_current_rotation()); - } - else { - sub_98197C(image_id, 0, 0, 32, 1, 34, height, 0, 27, height, get_current_rotation()); - } - } + if (direction & 1) { + sub_98197C(image_id, 0, 0, 1, 32, 34, height, 27, 0, height, get_current_rotation()); + } + else { + sub_98197C(image_id, 0, 0, 32, 1, 34, height, 0, 27, height, get_current_rotation()); + } + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (track_paint_util_should_paint_supports(pos)) { - sint32 edi = (direction & 1) ? 2 : 1; - metal_a_supports_paint_setup(edi, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + if (track_paint_util_should_paint_supports(pos)) { + sint32 edi = (direction & 1) ? 2 : 1; + metal_a_supports_paint_setup(edi, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } - switch(direction) { - case 0: paint_util_push_tunnel_left(height, TUNNEL_0); break; - case 1: paint_util_push_tunnel_right(height, TUNNEL_2); break; - case 2: paint_util_push_tunnel_left(height, TUNNEL_2); break; - case 3: paint_util_push_tunnel_right(height, TUNNEL_0); break; - } + switch(direction) { + case 0: paint_util_push_tunnel_left(height, TUNNEL_0); break; + case 1: paint_util_push_tunnel_right(height, TUNNEL_2); break; + case 2: paint_util_push_tunnel_left(height, TUNNEL_2); break; + case 3: paint_util_push_tunnel_right(height, TUNNEL_0); break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** @@ -2363,50 +2363,50 @@ static void junior_rc_right_bank_to_25_deg_up_paint_setup(uint8 rideIndex, uint8 */ static void junior_rc_25_deg_up_to_left_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 image_id; + uint32 image_id; - uint8 tunnelType; - sint16 tunnelHeight; - if (direction == 1 || direction == 2) { - tunnelType = TUNNEL_12; - tunnelHeight = height + 8; - } - else { - tunnelType = TUNNEL_0; - tunnelHeight = height - 8; - } + uint8 tunnelType; + sint16 tunnelHeight; + if (direction == 1 || direction == 2) { + tunnelType = TUNNEL_12; + tunnelHeight = height + 8; + } + else { + tunnelType = TUNNEL_0; + tunnelHeight = height - 8; + } - image_id = junior_rc_track_pieces_25_deg_up_to_left_bank[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + image_id = junior_rc_track_pieces_25_deg_up_to_left_bank[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction & 1) { + sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(tunnelHeight, tunnelType); - } - else { - sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_right(tunnelHeight, tunnelType); + } + else { + sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(tunnelHeight, tunnelType); - } + paint_util_push_tunnel_left(tunnelHeight, tunnelType); + } - if (junior_rc_track_pieces_25_deg_up_to_left_bank[direction][1] != 0) { - image_id = junior_rc_track_pieces_25_deg_up_to_left_bank[direction][1] | gTrackColours[SCHEME_TRACK]; + if (junior_rc_track_pieces_25_deg_up_to_left_bank[direction][1] != 0) { + image_id = junior_rc_track_pieces_25_deg_up_to_left_bank[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(image_id, 0, 0, 1, 32, 34, height, 27, 0, height, get_current_rotation()); - } - else { - sub_98197C(image_id, 0, 0, 32, 1, 34, height, 0, 27, height, get_current_rotation()); - } - } + if (direction & 1) { + sub_98197C(image_id, 0, 0, 1, 32, 34, height, 27, 0, height, get_current_rotation()); + } + else { + sub_98197C(image_id, 0, 0, 32, 1, 34, height, 0, 27, height, get_current_rotation()); + } + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (track_paint_util_should_paint_supports(pos)) { - sint32 edi = (direction & 1) ? 2 : 1; - metal_a_supports_paint_setup(edi, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + if (track_paint_util_should_paint_supports(pos)) { + sint32 edi = (direction & 1) ? 2 : 1; + metal_a_supports_paint_setup(edi, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** @@ -2414,50 +2414,50 @@ static void junior_rc_25_deg_up_to_left_bank_paint_setup(uint8 rideIndex, uint8 */ static void junior_rc_25_deg_up_to_right_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 image_id; + uint32 image_id; - uint8 tunnelType; - sint16 tunnelHeight; - if (direction == 1 || direction == 2) { - tunnelType = TUNNEL_12; - tunnelHeight = height + 8; - } - else { - tunnelType = TUNNEL_0; - tunnelHeight = height - 8; - } + uint8 tunnelType; + sint16 tunnelHeight; + if (direction == 1 || direction == 2) { + tunnelType = TUNNEL_12; + tunnelHeight = height + 8; + } + else { + tunnelType = TUNNEL_0; + tunnelHeight = height - 8; + } - image_id = junior_rc_track_pieces_25_deg_up_to_right_bank[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + image_id = junior_rc_track_pieces_25_deg_up_to_right_bank[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction & 1) { + sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(tunnelHeight, tunnelType); - } - else { - sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_right(tunnelHeight, tunnelType); + } + else { + sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(tunnelHeight, tunnelType); - } + paint_util_push_tunnel_left(tunnelHeight, tunnelType); + } - if (junior_rc_track_pieces_25_deg_up_to_right_bank[direction][1] != 0) { - image_id = junior_rc_track_pieces_25_deg_up_to_right_bank[direction][1] | gTrackColours[SCHEME_TRACK]; + if (junior_rc_track_pieces_25_deg_up_to_right_bank[direction][1] != 0) { + image_id = junior_rc_track_pieces_25_deg_up_to_right_bank[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(image_id, 0, 0, 1, 32, 34, height, 27, 0, height, get_current_rotation()); - } - else { - sub_98197C(image_id, 0, 0, 32, 1, 34, height, 0, 27, height, get_current_rotation()); - } - } + if (direction & 1) { + sub_98197C(image_id, 0, 0, 1, 32, 34, height, 27, 0, height, get_current_rotation()); + } + else { + sub_98197C(image_id, 0, 0, 32, 1, 34, height, 0, 27, height, get_current_rotation()); + } + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (track_paint_util_should_paint_supports(pos)) { - sint32 edi = (direction & 1) ? 2 : 1; - metal_a_supports_paint_setup(edi, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + if (track_paint_util_should_paint_supports(pos)) { + sint32 edi = (direction & 1) ? 2 : 1; + metal_a_supports_paint_setup(edi, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** @@ -2465,7 +2465,7 @@ static void junior_rc_25_deg_up_to_right_bank_paint_setup(uint8 rideIndex, uint8 */ static void junior_rc_left_bank_to_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_25_deg_up_to_right_bank_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + junior_rc_25_deg_up_to_right_bank_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** @@ -2473,7 +2473,7 @@ static void junior_rc_left_bank_to_25_deg_down_paint_setup(uint8 rideIndex, uint */ static void junior_rc_right_bank_to_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_25_deg_up_to_left_bank_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + junior_rc_25_deg_up_to_left_bank_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** @@ -2481,7 +2481,7 @@ static void junior_rc_right_bank_to_25_deg_down_paint_setup(uint8 rideIndex, uin */ static void junior_rc_25_deg_down_to_left_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_right_bank_to_25_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + junior_rc_right_bank_to_25_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** @@ -2489,21 +2489,21 @@ static void junior_rc_25_deg_down_to_left_bank_paint_setup(uint8 rideIndex, uint */ static void junior_rc_25_deg_down_to_right_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_left_bank_to_25_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + junior_rc_left_bank_to_25_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } static const rct_xyz16 junior_rc_left_bank_bound_lengths[4] = { - {32, 1, 26}, - {1, 32, 26}, - {32, 20, 1}, - {20, 32, 1}, + {32, 1, 26}, + {1, 32, 26}, + {32, 20, 1}, + {20, 32, 1}, }; static const rct_xy16 junior_rc_left_bank_bound_offsets[4] = { - {0, 27}, - {27, 0}, - {0, 6}, - {6, 0}, + {0, 27}, + {27, 0}, + {0, 6}, + {6, 0}, }; /** @@ -2511,33 +2511,33 @@ static const rct_xy16 junior_rc_left_bank_bound_offsets[4] = { */ static void junior_rc_left_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 image_id; + uint32 image_id; - image_id = junior_rc_track_pieces_left_bank[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C(image_id, 0, 0, - junior_rc_left_bank_bound_lengths[direction].x, - junior_rc_left_bank_bound_lengths[direction].y, - (sint8)junior_rc_left_bank_bound_lengths[direction].z, - height, - junior_rc_left_bank_bound_offsets[direction].x, - junior_rc_left_bank_bound_offsets[direction].y, - height, get_current_rotation()); + image_id = junior_rc_track_pieces_left_bank[direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C(image_id, 0, 0, + junior_rc_left_bank_bound_lengths[direction].x, + junior_rc_left_bank_bound_lengths[direction].y, + (sint8)junior_rc_left_bank_bound_lengths[direction].z, + height, + junior_rc_left_bank_bound_offsets[direction].x, + junior_rc_left_bank_bound_offsets[direction].y, + height, get_current_rotation()); - if (direction & 1) { - paint_util_push_tunnel_right(height, 0); - } - else { - paint_util_push_tunnel_left(height, 0); - } + if (direction & 1) { + paint_util_push_tunnel_right(height, 0); + } + else { + paint_util_push_tunnel_left(height, 0); + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (track_paint_util_should_paint_supports(pos)) { - sint32 edi = (direction & 1) ? 2 : 1; - metal_a_supports_paint_setup(edi, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + if (track_paint_util_should_paint_supports(pos)) { + sint32 edi = (direction & 1) ? 2 : 1; + metal_a_supports_paint_setup(edi, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** @@ -2545,536 +2545,536 @@ static void junior_rc_left_bank_paint_setup(uint8 rideIndex, uint8 trackSequence */ static void junior_rc_right_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_left_bank_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + junior_rc_left_bank_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } void junior_rc_paint_track_left_quarter_turn_5_tiles_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_right_quarter_turn_5_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_left_quarter_turn_5_tiles_25_deg_up[chainType], junior_rc_left_quarter_turn_5_tiles_25_deg_up_offsets, defaultRightQuarterTurn5TilesBoundLengths, NULL, get_current_rotation()); + track_paint_util_right_quarter_turn_5_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_left_quarter_turn_5_tiles_25_deg_up[chainType], junior_rc_left_quarter_turn_5_tiles_25_deg_up_offsets, defaultRightQuarterTurn5TilesBoundLengths, NULL, get_current_rotation()); - uint8 supportSpecial[4] = { 8, 8, 8, 3 }; - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, (direction == 0 || direction == 3) ? 10 : 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 6: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, supportSpecial[direction], height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + uint8 supportSpecial[4] = { 8, 8, 8, 3 }; + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, (direction == 0 || direction == 3) ? 10 : 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 6: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, supportSpecial[direction], height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - } - if (direction == 2 && trackSequence == 6) { - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - } - if (direction == 3 && trackSequence == 6) { - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + } + if (direction == 2 && trackSequence == 6) { + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + } + if (direction == 3 && trackSequence == 6) { + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_BC | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_C0, direction), 0xFFFF, 0); break; - } - if (trackSequence == 3) { - paint_util_set_general_support_height(height + 64, 0x20); - } - else { - paint_util_set_general_support_height(height + 72, 0x20); - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_BC | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_C0, direction), 0xFFFF, 0); break; + } + if (trackSequence == 3) { + paint_util_set_general_support_height(height + 64, 0x20); + } + else { + paint_util_set_general_support_height(height + 72, 0x20); + } } void junior_rc_paint_track_right_quarter_turn_5_tiles_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_right_quarter_turn_5_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_quarter_turn_5_tiles_25_deg_up[chainType], defaultRightQuarterTurn5TilesOffsets, defaultRightQuarterTurn5TilesBoundLengths, NULL, get_current_rotation()); + track_paint_util_right_quarter_turn_5_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_quarter_turn_5_tiles_25_deg_up[chainType], defaultRightQuarterTurn5TilesOffsets, defaultRightQuarterTurn5TilesBoundLengths, NULL, get_current_rotation()); - uint8 supportSpecial[4] = { 11, 8, 8, 7 }; - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, supportSpecial[direction], height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 6: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + uint8 supportSpecial[4] = { 11, 8, 8, 7 }; + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, supportSpecial[direction], height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 6: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - } - if (direction == 0 && trackSequence == 6) { - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - } - if (direction == 1 && trackSequence == 6) { - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + } + if (direction == 0 && trackSequence == 6) { + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + } + if (direction == 1 && trackSequence == 6) { + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; - } - if (trackSequence == 3) { - paint_util_set_general_support_height(height + 64, 0x20); - } - else { - paint_util_set_general_support_height(height + 72, 0x20); - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; + } + if (trackSequence == 3) { + paint_util_set_general_support_height(height + 64, 0x20); + } + else { + paint_util_set_general_support_height(height + 72, 0x20); + } } /* rct2: 0x008AAE10, 0x00519D88, 0x00519DAC, 0x00519DD0, 0x00519DF4 */ static void junior_rc_left_quarter_turn_5_tiles_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_left_quarter_turn_5_tiles_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_left_quarter_turn_5_tiles_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /* rct2: 0x008AAE20, 0x00519E18, 0x0051A148, 0x0051A452, 0x0051A738 */ static void junior_rc_right_quarter_turn_5_tiles_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_right_quarter_turn_5_tiles_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_right_quarter_turn_5_tiles_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /* rct2: 0x008AAE30, 0x0051AA42, 0x0051AA68, 0x0051AA8C, 0x0051AAB0 */ static void junior_rc_left_quarter_turn_5_tiles_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - junior_rc_right_quarter_turn_5_tiles_25_deg_up_paint_setup(rideIndex, junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence], (direction + 1) & 3, height, mapElement); + junior_rc_right_quarter_turn_5_tiles_25_deg_up_paint_setup(rideIndex, junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence], (direction + 1) & 3, height, mapElement); } /* rct2: 0x008AAE40, 0x0051AAD4, 0x0051AE04, 0x0051B10E, 0x0051B3F4 */ static void junior_rc_right_quarter_turn_5_tiles_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - junior_rc_left_quarter_turn_5_tiles_25_deg_up_paint_setup(rideIndex, junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence], (direction - 1) & 3, height, mapElement); + junior_rc_left_quarter_turn_5_tiles_25_deg_up_paint_setup(rideIndex, junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence], (direction - 1) & 3, height, mapElement); } /* rct2: 0x008AAE50, 0x0051B6FE, 0x0051B946, 0x0051BB8E, 0x0051BBA8 */ static void junior_rc_s_bend_left_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (direction == 2 || direction == 3) { - trackSequence = 3 - trackSequence; - } + if (direction == 2 || direction == 3) { + trackSequence = 3 - trackSequence; + } - const rct_xy16 offsetList[] = { - {0, 6}, - {0, 0}, - {0, 6}, - {0, 6}, - }; + const rct_xy16 offsetList[] = { + {0, 6}, + {0, 0}, + {0, 6}, + {0, 6}, + }; - const rct_xy16 boundsList[] = { - {32, 20}, - {32, 26}, - {32, 26}, - {32, 20}, - }; + const rct_xy16 boundsList[] = { + {32, 20}, + {32, 26}, + {32, 26}, + {32, 20}, + }; - uint32 imageId = junior_rc_track_pieces_s_bend_left[(direction & 1)][trackSequence] | gTrackColours[SCHEME_TRACK]; - rct_xy16 offset = offsetList[trackSequence]; - rct_xy16 bounds = boundsList[trackSequence]; - if (direction == 0 || direction == 2) { - sub_98196C(imageId, (sint8) offset.x, (sint8) offset.y, bounds.x, bounds.y, 1, height, get_current_rotation()); - } else { - sub_98196C(imageId, (sint8) offset.y, (sint8) offset.x, bounds.y, bounds.x, 1, height, get_current_rotation()); - } + uint32 imageId = junior_rc_track_pieces_s_bend_left[(direction & 1)][trackSequence] | gTrackColours[SCHEME_TRACK]; + rct_xy16 offset = offsetList[trackSequence]; + rct_xy16 bounds = boundsList[trackSequence]; + if (direction == 0 || direction == 2) { + sub_98196C(imageId, (sint8) offset.x, (sint8) offset.y, bounds.x, bounds.y, 1, height, get_current_rotation()); + } else { + sub_98196C(imageId, (sint8) offset.y, (sint8) offset.x, bounds.y, bounds.x, 1, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - if (trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 0 || direction == 2) { + if (trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - } - } else { - if (trackSequence == 3) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + switch (trackSequence) { + case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + } + } else { + if (trackSequence == 3) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - } - } + switch (trackSequence) { + case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + } + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4; break; - case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, (direction & 1)), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4; break; + case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, (direction & 1)), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /* rct2: 0x008AAE60, 0x0051BBC0, 0x0051BE06, 0x0051C04E, 0x0051C068 */ static void junior_rc_s_bend_right_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (direction == 2 || direction == 3) { - trackSequence = 3 - trackSequence; - } + if (direction == 2 || direction == 3) { + trackSequence = 3 - trackSequence; + } - const rct_xy16 offsetList[] = { - {0, 6}, - {0, 6}, - {0, 0}, - {0, 6}, - }; + const rct_xy16 offsetList[] = { + {0, 6}, + {0, 6}, + {0, 0}, + {0, 6}, + }; - const rct_xy16 boundsList[] = { - {32, 20}, - {32, 26}, - {32, 26}, - {32, 20}, - }; + const rct_xy16 boundsList[] = { + {32, 20}, + {32, 26}, + {32, 26}, + {32, 20}, + }; - uint32 imageId = junior_rc_track_pieces_s_bend_right[direction&1][trackSequence] | gTrackColours[SCHEME_TRACK]; - rct_xy16 offset = offsetList[trackSequence]; - rct_xy16 bounds = boundsList[trackSequence]; - if (direction == 0 || direction == 2) { - sub_98196C(imageId, (sint8) offset.x, (sint8) offset.y, bounds.x, bounds.y, 1, height, get_current_rotation()); - } else { - sub_98196C(imageId, (sint8) offset.y, (sint8) offset.x, bounds.y, bounds.x, 1, height, get_current_rotation()); - } + uint32 imageId = junior_rc_track_pieces_s_bend_right[direction&1][trackSequence] | gTrackColours[SCHEME_TRACK]; + rct_xy16 offset = offsetList[trackSequence]; + rct_xy16 bounds = boundsList[trackSequence]; + if (direction == 0 || direction == 2) { + sub_98196C(imageId, (sint8) offset.x, (sint8) offset.y, bounds.x, bounds.y, 1, height, get_current_rotation()); + } else { + sub_98196C(imageId, (sint8) offset.y, (sint8) offset.x, bounds.y, bounds.x, 1, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - if (trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 0 || direction == 2) { + if (trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - } - } else { - if (trackSequence == 3) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + switch (trackSequence) { + case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + } + } else { + if (trackSequence == 3) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - } - } + switch (trackSequence) { + case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + } + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; - case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; - case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, (direction & 1)), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; + case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; + case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, (direction & 1)), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AAEB0, 0x0051C0E0, 0x0051C2C1, 0x0051C47F, 0x0051C61D */ static void junior_rc_right_quarter_turn_3_tiles_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_right_quarter_turn_3_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_flat_quarter_turn_3_tiles, defaultRightQuarterTurn3TilesOffsets, defaultRightQuarterTurn3TilesBoundLengths, NULL, get_current_rotation()); - track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); + track_paint_util_right_quarter_turn_3_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_flat_quarter_turn_3_tiles, defaultRightQuarterTurn3TilesOffsets, defaultRightQuarterTurn3TilesBoundLengths, NULL, get_current_rotation()); + track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); - uint8 supportType[2][4] = { - { 1, 0, 0, 2}, - { 2, 0, 0, 1} - }; - switch (trackSequence) { - case 0: - case 3: - metal_a_supports_paint_setup(supportType[(direction & 1)][trackSequence], 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + uint8 supportType[2][4] = { + { 1, 0, 0, 2}, + { 2, 0, 0, 1} + }; + switch (trackSequence) { + case 0: + case 3: + metal_a_supports_paint_setup(supportType[(direction & 1)][trackSequence], 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; - case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; + case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AAEA0 */ static void junior_rc_left_quarter_turn_3_tiles_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - junior_rc_right_quarter_turn_3_tiles_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + junior_rc_right_quarter_turn_3_tiles_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } const rct_xy16 junior_rc_right_quarter_turn_3_tiles_bank_bound_lengths[4][3] = { - { - {32, 20}, - {16, 16}, - {20, 32}, - }, - { - {20, 32}, - {16, 16}, - {32, 20}, - }, - { - {32, 1}, - {16, 16}, - {1, 32}, - }, - { - {20, 32}, - {16, 16}, - {32, 20}, - } + { + {32, 20}, + {16, 16}, + {20, 32}, + }, + { + {20, 32}, + {16, 16}, + {32, 20}, + }, + { + {32, 1}, + {16, 16}, + {1, 32}, + }, + { + {20, 32}, + {16, 16}, + {32, 20}, + } }; const rct_xyz16 junior_rc_right_quarter_turn_3_tiles_bank_offsets[4][3] = { - { - {0, 6}, - {16, 16}, - {6, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 6}, - }, - { - {0, 27}, - {0, 0, 27}, - {27, 0}, - }, - { - {6, 0}, - {0, 16}, - {0, 6}, - } + { + {0, 6}, + {16, 16}, + {6, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 6}, + }, + { + {0, 27}, + {0, 0, 27}, + {27, 0}, + }, + { + {6, 0}, + {0, 16}, + {0, 6}, + } }; /** rct2: 0x008AA0D0, 0x00523EA0, 0x005240CC, 0x0052430F, 0x00524500*/ static void junior_rc_right_quarter_turn_3_tiles_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint8 thickness[4][4] = { - { - 1, - 1, - 1, - 1 - }, - { - 1, - 1, - 1, - 1 - }, - { - 26, - 1, - 1, - 26 - }, - { - 1, - 1, - 1, - 1 - } - }; + uint8 thickness[4][4] = { + { + 1, + 1, + 1, + 1 + }, + { + 1, + 1, + 1, + 1 + }, + { + 26, + 1, + 1, + 26 + }, + { + 1, + 1, + 1, + 1 + } + }; - track_paint_util_right_quarter_turn_3_tiles_paint(thickness[direction][trackSequence], height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_banked_quarter_turn_3_tiles, NULL, junior_rc_right_quarter_turn_3_tiles_bank_bound_lengths, junior_rc_right_quarter_turn_3_tiles_bank_offsets, get_current_rotation()); - track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); + track_paint_util_right_quarter_turn_3_tiles_paint(thickness[direction][trackSequence], height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_banked_quarter_turn_3_tiles, NULL, junior_rc_right_quarter_turn_3_tiles_bank_bound_lengths, junior_rc_right_quarter_turn_3_tiles_bank_offsets, get_current_rotation()); + track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); - if (direction == 1 && trackSequence == 3) { - uint32 imageId = SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_2_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation()); - } - else if (direction == 3 && trackSequence == 0) { - uint32 imageId = SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation()); - } + if (direction == 1 && trackSequence == 3) { + uint32 imageId = SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_2_2 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation()); + } + else if (direction == 3 && trackSequence == 0) { + uint32 imageId = SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_0_2 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation()); + } - uint8 supportType[2][4] = { - { 1, 0, 0, 2}, - { 2, 0, 0, 1} - }; - switch (trackSequence) { - case 0: - case 3: - metal_a_supports_paint_setup(supportType[(direction & 1)][trackSequence], 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + uint8 supportType[2][4] = { + { 1, 0, 0, 2}, + { 2, 0, 0, 1} + }; + switch (trackSequence) { + case 0: + case 3: + metal_a_supports_paint_setup(supportType[(direction & 1)][trackSequence], 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; - case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; + case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } void junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - uint32 imageId = 0; - rct_xy16 offset = { 0 }; - rct_xy16 boundsLength = { 0 }; - rct_xy16 boundsOffset = { 0 }; + uint32 imageId = 0; + rct_xy16 offset = { 0 }; + rct_xy16 boundsLength = { 0 }; + rct_xy16 boundsOffset = { 0 }; - switch (trackSequence) { - case 0: - imageId = junior_rc_track_pieces_right_quarter_turn_3_tiles_25_deg_up[chainType][direction][0] | gTrackColours[SCHEME_TRACK]; - offset = defaultRightQuarterTurn3TilesOffsets[direction][0]; - boundsLength = defaultRightQuarterTurn3TilesBoundLengths[direction][0]; - boundsOffset = offset; - break; - case 3: - imageId = junior_rc_track_pieces_right_quarter_turn_3_tiles_25_deg_up[chainType][direction][1] | gTrackColours[SCHEME_TRACK]; - offset = defaultRightQuarterTurn3TilesOffsets[direction][2]; - boundsLength = defaultRightQuarterTurn3TilesBoundLengths[direction][2]; - boundsOffset = offset; - break; - } - if (imageId != 0) - sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, 1, height, boundsOffset.x, boundsOffset.y, height, get_current_rotation()); + switch (trackSequence) { + case 0: + imageId = junior_rc_track_pieces_right_quarter_turn_3_tiles_25_deg_up[chainType][direction][0] | gTrackColours[SCHEME_TRACK]; + offset = defaultRightQuarterTurn3TilesOffsets[direction][0]; + boundsLength = defaultRightQuarterTurn3TilesBoundLengths[direction][0]; + boundsOffset = offset; + break; + case 3: + imageId = junior_rc_track_pieces_right_quarter_turn_3_tiles_25_deg_up[chainType][direction][1] | gTrackColours[SCHEME_TRACK]; + offset = defaultRightQuarterTurn3TilesOffsets[direction][2]; + boundsLength = defaultRightQuarterTurn3TilesBoundLengths[direction][2]; + boundsOffset = offset; + break; + } + if (imageId != 0) + sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, 1, height, boundsOffset.x, boundsOffset.y, height, get_current_rotation()); - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + } - if (direction == 0 && trackSequence == 3) { - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - } + if (direction == 0 && trackSequence == 3) { + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + } - if (direction == 1 && trackSequence == 3) { - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - } + if (direction == 1 && trackSequence == 3) { + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + } - uint8 supportType[2][4] = { - { 1, 0, 0, 2}, - { 2, 0, 0, 1} - }; - switch (trackSequence) { - case 0: - case 3: - metal_a_supports_paint_setup(supportType[(direction & 1)][trackSequence], 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + uint8 supportType[2][4] = { + { 1, 0, 0, 2}, + { 2, 0, 0, 1} + }; + switch (trackSequence) { + case 0: + case 3: + metal_a_supports_paint_setup(supportType[(direction & 1)][trackSequence], 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; - case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; + case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - if (trackSequence == 0 || trackSequence == 3) - paint_util_set_general_support_height(height + 72, 0x20); - else - paint_util_set_general_support_height(height + 56, 0x20); + if (trackSequence == 0 || trackSequence == 3) + paint_util_set_general_support_height(height + 72, 0x20); + else + paint_util_set_general_support_height(height + 56, 0x20); } void junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - uint32 imageId = 0; - rct_xy16 offset = { 0 }; - rct_xy16 boundsLength = { 0 }; - rct_xy16 boundsOffset = { 0 }; + uint32 imageId = 0; + rct_xy16 offset = { 0 }; + rct_xy16 boundsLength = { 0 }; + rct_xy16 boundsOffset = { 0 }; - switch (trackSequence) { - case 0: - imageId = junior_rc_track_pieces_right_quarter_turn_3_tiles_25_deg_down[chainType][direction][0] | gTrackColours[SCHEME_TRACK]; - offset = defaultRightQuarterTurn3TilesOffsets[direction][0]; - boundsLength = defaultRightQuarterTurn3TilesBoundLengths[direction][0]; - boundsOffset = offset; - break; - case 3: - imageId = junior_rc_track_pieces_right_quarter_turn_3_tiles_25_deg_down[chainType][direction][1] | gTrackColours[SCHEME_TRACK]; - offset = defaultRightQuarterTurn3TilesOffsets[direction][2]; - boundsLength = defaultRightQuarterTurn3TilesBoundLengths[direction][2]; - boundsOffset = offset; - break; - } - if (imageId != 0) - sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, 1, height, boundsOffset.x, boundsOffset.y, height, get_current_rotation()); + switch (trackSequence) { + case 0: + imageId = junior_rc_track_pieces_right_quarter_turn_3_tiles_25_deg_down[chainType][direction][0] | gTrackColours[SCHEME_TRACK]; + offset = defaultRightQuarterTurn3TilesOffsets[direction][0]; + boundsLength = defaultRightQuarterTurn3TilesBoundLengths[direction][0]; + boundsOffset = offset; + break; + case 3: + imageId = junior_rc_track_pieces_right_quarter_turn_3_tiles_25_deg_down[chainType][direction][1] | gTrackColours[SCHEME_TRACK]; + offset = defaultRightQuarterTurn3TilesOffsets[direction][2]; + boundsLength = defaultRightQuarterTurn3TilesBoundLengths[direction][2]; + boundsOffset = offset; + break; + } + if (imageId != 0) + sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, 1, height, boundsOffset.x, boundsOffset.y, height, get_current_rotation()); - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + } - if (direction == 0 && trackSequence == 3) { - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - } + if (direction == 0 && trackSequence == 3) { + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + } - if (direction == 1 && trackSequence == 3) { - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - } + if (direction == 1 && trackSequence == 3) { + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + } - uint8 supportType[2][4] = { - { 1, 0, 0, 2}, - { 2, 0, 0, 1} - }; - switch (trackSequence) { - case 0: - case 3: - metal_a_supports_paint_setup(supportType[(direction & 1)][trackSequence], 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + uint8 supportType[2][4] = { + { 1, 0, 0, 2}, + { 2, 0, 0, 1} + }; + switch (trackSequence) { + case 0: + case 3: + metal_a_supports_paint_setup(supportType[(direction & 1)][trackSequence], 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; - case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; + case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - if (trackSequence == 0 || trackSequence == 3) - paint_util_set_general_support_height(height + 72, 0x20); - else - paint_util_set_general_support_height(height + 56, 0x20); + if (trackSequence == 0 || trackSequence == 3) + paint_util_set_general_support_height(height + 72, 0x20); + else + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AA0C0 */ static void junior_rc_left_quarter_turn_3_tiles_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - junior_rc_right_quarter_turn_3_tiles_bank_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + junior_rc_right_quarter_turn_3_tiles_bank_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x008AAED0, 0x0051C83C, 0x0051C9EC, 0x0051CB76, 0x0051CCDC*/ static void junior_rc_right_quarter_turn_3_tiles_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /** rct2: 0x008AAEF0, 0x0051CEC8, 0x0051D078, 0x0051D202, 0x0051D368*/ static void junior_rc_right_quarter_turn_3_tiles_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static const uint8 junior_rc_left_quarter_turn_3_tiles_to_right_turn_map[] = {3, 1, 2, 0}; @@ -3082,245 +3082,245 @@ static const uint8 junior_rc_left_quarter_turn_3_tiles_to_right_turn_map[] = {3, /** rct2: 0x008AAEC0 */ static void junior_rc_left_quarter_turn_3_tiles_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = junior_rc_left_quarter_turn_3_tiles_to_right_turn_map[trackSequence]; - junior_rc_right_quarter_turn_3_tiles_25_deg_down_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = junior_rc_left_quarter_turn_3_tiles_to_right_turn_map[trackSequence]; + junior_rc_right_quarter_turn_3_tiles_25_deg_down_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x008AAEE0 */ static void junior_rc_left_quarter_turn_3_tiles_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = junior_rc_left_quarter_turn_3_tiles_to_right_turn_map[trackSequence]; - junior_rc_right_quarter_turn_3_tiles_25_deg_up_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = junior_rc_left_quarter_turn_3_tiles_to_right_turn_map[trackSequence]; + junior_rc_right_quarter_turn_3_tiles_25_deg_up_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x008AB0F0, 0x0052B3A4, 0x0052B5F8, 0x0052B863, 0x0052BA78 */ static void junior_rc_right_half_banked_helix_up_small_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const sint8 thickness[2] = { 1, 26 }; + const sint8 thickness[2] = { 1, 26 }; - if (trackSequence > 3) { - trackSequence -= 4; - direction++; - direction &= 3; - } - track_paint_util_right_helix_up_small_quarter_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_half_banked_helix_up_small_quarter_tiles, NULL, defaultRightHelixUpSmallQuarterBoundLengths, defaultRightHelixUpSmallQuarterBoundOffsets, get_current_rotation()); + if (trackSequence > 3) { + trackSequence -= 4; + direction++; + direction &= 3; + } + track_paint_util_right_helix_up_small_quarter_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_half_banked_helix_up_small_quarter_tiles, NULL, defaultRightHelixUpSmallQuarterBoundLengths, defaultRightHelixUpSmallQuarterBoundOffsets, get_current_rotation()); - if (trackSequence == 0) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - } - else if ( trackSequence == 3) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 0) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + } + else if ( trackSequence == 3) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - if (direction == 0 && trackSequence == 3) { - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - } + if (direction == 0 && trackSequence == 3) { + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + } - if (direction == 1 && trackSequence == 3) { - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - } + if (direction == 1 && trackSequence == 3) { + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4; break; - case 3: blockedSegments = SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8 ; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4; break; + case 3: blockedSegments = SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8 ; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AB110, 0x0052BD80, 0x0052BFD4, 0x0052C23B, 0x0052C450 */ static void junior_rc_right_half_banked_helix_down_small_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const sint8 thickness[2] = { 1, 26 }; + const sint8 thickness[2] = { 1, 26 }; - if (trackSequence > 3) { - trackSequence -= 4; - direction++; - direction &= 3; - } - track_paint_util_right_helix_up_small_quarter_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_half_banked_helix_down_small_quarter_tiles, NULL, defaultRightHelixUpSmallQuarterBoundLengths, defaultRightHelixUpSmallQuarterBoundOffsets, get_current_rotation()); + if (trackSequence > 3) { + trackSequence -= 4; + direction++; + direction &= 3; + } + track_paint_util_right_helix_up_small_quarter_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_half_banked_helix_down_small_quarter_tiles, NULL, defaultRightHelixUpSmallQuarterBoundLengths, defaultRightHelixUpSmallQuarterBoundOffsets, get_current_rotation()); - if (trackSequence == 0) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - else if ( trackSequence == 3) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 0) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + else if ( trackSequence == 3) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + } - if (direction == 0 && trackSequence == 3) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 3) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - if (direction == 1 && trackSequence == 3) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 1 && trackSequence == 3) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4; break; - case 3: blockedSegments = SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8 ; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4; break; + case 3: blockedSegments = SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8 ; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AB0E0 */ static void junior_rc_left_half_banked_helix_up_small_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence > 3) { - trackSequence -= 4; - direction--; - direction &= 3; - } - trackSequence = junior_rc_left_quarter_turn_3_tiles_to_right_turn_map[trackSequence]; - junior_rc_right_half_banked_helix_down_small_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + if (trackSequence > 3) { + trackSequence -= 4; + direction--; + direction &= 3; + } + trackSequence = junior_rc_left_quarter_turn_3_tiles_to_right_turn_map[trackSequence]; + junior_rc_right_half_banked_helix_down_small_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x008AB100 */ static void junior_rc_left_half_banked_helix_down_small_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence > 3) { - trackSequence -= 4; - direction--; - direction &= 3; - } - trackSequence = junior_rc_left_quarter_turn_3_tiles_to_right_turn_map[trackSequence]; - junior_rc_right_half_banked_helix_up_small_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + if (trackSequence > 3) { + trackSequence -= 4; + direction--; + direction &= 3; + } + trackSequence = junior_rc_left_quarter_turn_3_tiles_to_right_turn_map[trackSequence]; + junior_rc_right_half_banked_helix_up_small_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x008AB130, 0x0052C7BC, 0x0052CB6B, 0x0052CF32, 0x0052D2B3 */ static void junior_rc_right_half_banked_helix_up_large_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const sint8 thickness[2] = { 1, 26 }; + const sint8 thickness[2] = { 1, 26 }; - if (trackSequence > 6) { - trackSequence -= 7; - direction++; - direction &= 3; - } - track_paint_util_right_helix_up_large_quarter_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_half_banked_helix_up_large_quarter_tiles, NULL, defaultRightHelixUpLargeQuarterBoundLengths, defaultRightHelixUpLargeQuarterBoundOffsets, get_current_rotation()); + if (trackSequence > 6) { + trackSequence -= 7; + direction++; + direction &= 3; + } + track_paint_util_right_helix_up_large_quarter_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_half_banked_helix_up_large_quarter_tiles, NULL, defaultRightHelixUpLargeQuarterBoundLengths, defaultRightHelixUpLargeQuarterBoundOffsets, get_current_rotation()); - if (trackSequence == 0) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - } - else if ( trackSequence == 6) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 0) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + } + else if ( trackSequence == 6) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - if (direction == 0 && trackSequence == 6) { - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - } + if (direction == 0 && trackSequence == 6) { + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + } - if (direction == 1 && trackSequence == 6) { - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - } + if (direction == 1 && trackSequence == 6) { + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AB150, 0x0052D778, 0x0052DB27, 0x0052DEEA, 0x0052E26B */ static void junior_rc_right_half_banked_helix_down_large_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const sint8 thickness[2] = { 1, 26 }; + const sint8 thickness[2] = { 1, 26 }; - if (trackSequence > 6) { - trackSequence -= 7; - direction++; - direction &= 3; - } - track_paint_util_right_helix_up_large_quarter_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_half_banked_helix_down_large_quarter_tiles, NULL, defaultRightHelixUpLargeQuarterBoundLengths, defaultRightHelixUpLargeQuarterBoundOffsets, get_current_rotation()); + if (trackSequence > 6) { + trackSequence -= 7; + direction++; + direction &= 3; + } + track_paint_util_right_helix_up_large_quarter_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_half_banked_helix_down_large_quarter_tiles, NULL, defaultRightHelixUpLargeQuarterBoundLengths, defaultRightHelixUpLargeQuarterBoundOffsets, get_current_rotation()); - if (trackSequence == 0) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - } - else if ( trackSequence == 6) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 0) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + } + else if ( trackSequence == 6) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK : METAL_SUPPORTS_FORK_ALT, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + } - if (direction == 0 && trackSequence == 6) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 6) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - if (direction == 1 && trackSequence == 6) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 1 && trackSequence == 6) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AB120 */ static void junior_rc_left_half_banked_helix_up_large_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence > 6) { - trackSequence -= 7; - direction--; - direction &= 3; - } - trackSequence = junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence]; - junior_rc_right_half_banked_helix_down_large_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + if (trackSequence > 6) { + trackSequence -= 7; + direction--; + direction &= 3; + } + trackSequence = junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence]; + junior_rc_right_half_banked_helix_down_large_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x008AB140 */ static void junior_rc_left_half_banked_helix_down_large_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence > 6) { - trackSequence -= 7; - direction--; - direction &= 3; - } - trackSequence = junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence]; - junior_rc_right_half_banked_helix_up_large_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + if (trackSequence > 6) { + trackSequence -= 7; + direction--; + direction &= 3; + } + trackSequence = junior_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence]; + junior_rc_right_half_banked_helix_up_large_paint_setup(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** @@ -3328,28 +3328,28 @@ static void junior_rc_left_half_banked_helix_down_large_paint_setup(uint8 rideIn */ static void junior_rc_brake_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 image_id; + uint32 image_id; - image_id = junior_rc_track_pieces_brake[direction] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98196C(image_id, 6, 0, 20, 32, 1, height, get_current_rotation()); + image_id = junior_rc_track_pieces_brake[direction] | gTrackColours[SCHEME_TRACK]; + if (direction & 1) { + sub_98196C(image_id, 6, 0, 20, 32, 1, height, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_0); - } - else { - sub_98196C(image_id, 0, 6, 32, 20, 1, height, get_current_rotation()); + paint_util_push_tunnel_right(height, TUNNEL_0); + } + else { + sub_98196C(image_id, 0, 6, 32, 20, 1, height, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_0); - } + paint_util_push_tunnel_left(height, TUNNEL_0); + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (track_paint_util_should_paint_supports(pos)) { - sint32 edi = (direction & 1) ? 2 : 1; - metal_a_supports_paint_setup(edi, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + if (track_paint_util_should_paint_supports(pos)) { + sint32 edi = (direction & 1) ? 2 : 1; + metal_a_supports_paint_setup(edi, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** @@ -3357,1731 +3357,1731 @@ static void junior_rc_brake_paint_setup(uint8 rideIndex, uint8 trackSequence, ui */ static void junior_rc_block_brake_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 image_id; + uint32 image_id; - bool isBraked = (bool)(mapElement->flags & MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED); + bool isBraked = (bool)(mapElement->flags & MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED); - image_id = junior_rc_track_pieces_block_brake[isBraked][direction] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98196C(image_id, 6, 0, 20, 32, 1, height, get_current_rotation()); + image_id = junior_rc_track_pieces_block_brake[isBraked][direction] | gTrackColours[SCHEME_TRACK]; + if (direction & 1) { + sub_98196C(image_id, 6, 0, 20, 32, 1, height, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_0); - } - else { - sub_98196C(image_id, 0, 6, 32, 20, 1, height, get_current_rotation()); + paint_util_push_tunnel_right(height, TUNNEL_0); + } + else { + sub_98196C(image_id, 0, 6, 32, 20, 1, height, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_0); - } + paint_util_push_tunnel_left(height, TUNNEL_0); + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (track_paint_util_should_paint_supports(pos)) { - sint32 edi = (direction & 1) ? 2 : 1; - metal_a_supports_paint_setup(edi, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + if (track_paint_util_should_paint_supports(pos)) { + sint32 edi = (direction & 1) ? 2 : 1; + metal_a_supports_paint_setup(edi, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AAF80 */ static void junior_rc_left_eighth_to_diag_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_eighth_to_diag_tiles_paint(defaultEighthToDiagThickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_left_eight_to_diag, 0, defaultLeftEighthToDiagBoundLengths, defaultLeftEighthToDiagBoundOffsets, get_current_rotation()); + track_paint_util_eighth_to_diag_tiles_paint(defaultEighthToDiagThickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_left_eight_to_diag, 0, defaultLeftEighthToDiagBoundLengths, defaultLeftEighthToDiagBoundOffsets, get_current_rotation()); - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 4: - if (direction == 0) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 1) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 2) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 3) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 4: + if (direction == 0) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 1) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 2) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 3) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC; break; - case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; - case 2: blockedSegments = SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_C8; break; - case 4: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C8 | SEGMENT_C0 | SEGMENT_D4; break; - } + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC; break; + case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; + case 2: blockedSegments = SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_C8; break; + case 4: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C8 | SEGMENT_C0 | SEGMENT_D4; break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AAF90 */ static void junior_rc_right_eighth_to_diag_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_eighth_to_diag_tiles_paint(defaultEighthToDiagThickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_eight_to_diag, 0, defaultRightEighthToDiagBoundLengths, defaultRightEighthToDiagBoundOffsets, get_current_rotation()); + track_paint_util_eighth_to_diag_tiles_paint(defaultEighthToDiagThickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_eight_to_diag, 0, defaultRightEighthToDiagBoundLengths, defaultRightEighthToDiagBoundOffsets, get_current_rotation()); - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 4: - if (direction == 0) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 1) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 2) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 3) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 4: + if (direction == 0) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 1) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 2) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 3) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC; break; - case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; - case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4; break; - case 4: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_D4; break; - } + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC; break; + case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; + case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4; break; + case 4: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_D4; break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AAFA0 */ static void junior_rc_left_eighth_to_orthogonal_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const uint8 map[] = {4, 2, 3, 1, 0}; - trackSequence = map[trackSequence]; - junior_rc_right_eighth_to_diag_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + const uint8 map[] = {4, 2, 3, 1, 0}; + trackSequence = map[trackSequence]; + junior_rc_right_eighth_to_diag_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x008AAFB0 */ static void junior_rc_right_eighth_to_orthogonal_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const uint8 map[] = {4, 2, 3, 1, 0}; - trackSequence = map[trackSequence]; - junior_rc_left_eighth_to_diag_paint_setup(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + const uint8 map[] = {4, 2, 3, 1, 0}; + trackSequence = map[trackSequence]; + junior_rc_left_eighth_to_diag_paint_setup(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } static const rct_xy16 junior_rc_left_eighth_to_diag_bank_bound_lengths[4][4] = { - { - {32, 1}, - {32, 16}, - {16, 16}, - {16, 16}, - }, - { - {1, 32}, - {16, 34}, - {16, 16}, - {18, 16}, - }, - { - {32, 20}, - {32, 16}, - {16, 16}, - {16, 16}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {16, 16}, - }, + { + {32, 1}, + {32, 16}, + {16, 16}, + {16, 16}, + }, + { + {1, 32}, + {16, 34}, + {16, 16}, + {18, 16}, + }, + { + {32, 20}, + {32, 16}, + {16, 16}, + {16, 16}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {16, 16}, + }, }; static const rct_xyz16 junior_rc_left_eighth_to_diag_bank_bound_offsets[4][4] = { - { - {0, 27}, - {0, 0}, - {0, 16}, - {16, 16}, - }, - { - {27, 0}, - {0, 0, 27}, - {16, 16, 27}, - {16, 0, 27}, - }, - { - {0, 6}, - {0, 16}, - {16, 0}, - {0, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 0}, - {0, 16}, - }, + { + {0, 27}, + {0, 0}, + {0, 16}, + {16, 16}, + }, + { + {27, 0}, + {0, 0, 27}, + {16, 16, 27}, + {16, 0, 27}, + }, + { + {0, 6}, + {0, 16}, + {16, 0}, + {0, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 0}, + {0, 16}, + }, }; static const sint8 junior_rc_left_eighth_to_diag_bank_thickness[4][4] = { - { - 26, - 1, - 1, - 1, - }, - { - 26, - 0, - 0, - 0, - }, - { - 1, - 1, - 1, - 1, - }, - { - 1, - 1, - 1, - 1, - }, + { + 26, + 1, + 1, + 1, + }, + { + 26, + 0, + 0, + 0, + }, + { + 1, + 1, + 1, + 1, + }, + { + 1, + 1, + 1, + 1, + }, }; /** rct2: 0x008AB160 */ static void junior_rc_left_eighth_to_diag_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_eighth_to_diag_tiles_paint(junior_rc_left_eighth_to_diag_bank_thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_left_eight_to_diag_bank, 0, junior_rc_left_eighth_to_diag_bank_bound_lengths, junior_rc_left_eighth_to_diag_bank_bound_offsets, get_current_rotation()); + track_paint_util_eighth_to_diag_tiles_paint(junior_rc_left_eighth_to_diag_bank_thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_left_eight_to_diag_bank, 0, junior_rc_left_eighth_to_diag_bank_bound_lengths, junior_rc_left_eighth_to_diag_bank_bound_offsets, get_current_rotation()); - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 4: - if (direction == 0) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 1) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 2) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 3) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 4: + if (direction == 0) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 1) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 2) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 3) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC; break; - case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; - case 2: blockedSegments = SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_C8; break; - case 4: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C8 | SEGMENT_C0 | SEGMENT_D4; break; - } + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC; break; + case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; + case 2: blockedSegments = SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_C8; break; + case 4: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C8 | SEGMENT_C0 | SEGMENT_D4; break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static const rct_xy16 junior_rc_right_eighth_to_diag_bank_bound_lengths[4][4] = { - { - {32, 20}, - {16, 16}, - {16, 16}, - {16, 16}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {16, 16}, - }, - { - {32, 1}, - {34, 16}, - {28, 28}, - {16, 18}, - }, - { - {1, 32}, - {16, 32}, - {16, 16}, - {16, 16}, - }, + { + {32, 20}, + {16, 16}, + {16, 16}, + {16, 16}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {16, 16}, + }, + { + {32, 1}, + {34, 16}, + {28, 28}, + {16, 18}, + }, + { + {1, 32}, + {16, 32}, + {16, 16}, + {16, 16}, + }, }; static const rct_xyz16 junior_rc_right_eighth_to_diag_bank_bound_offsets[4][4] = { - { - {0, 6}, - {0, 0}, - {0, 0}, - {16, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 16}, - {0, 0}, - }, - { - {0, 27}, - {0, 0, 27}, - {4, 4, 27}, - {0, 16, 27}, - }, - { - {27, 0}, - {0, 0}, - {16, 0}, - {16, 16}, - }, + { + {0, 6}, + {0, 0}, + {0, 0}, + {16, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 16}, + {0, 0}, + }, + { + {0, 27}, + {0, 0, 27}, + {4, 4, 27}, + {0, 16, 27}, + }, + { + {27, 0}, + {0, 0}, + {16, 0}, + {16, 16}, + }, }; static const sint8 junior_rc_right_eighth_to_diag_bank_thickness[4][4] = { - { - 1, - 1, - 1, - 1, - }, - { - 1, - 1, - 1, - 1, - }, - { - 26, - 0, - 0, - 0, - }, - { - 26, - 1, - 1, - 1, - }, + { + 1, + 1, + 1, + 1, + }, + { + 1, + 1, + 1, + 1, + }, + { + 26, + 0, + 0, + 0, + }, + { + 26, + 1, + 1, + 1, + }, }; /** rct2: 0x008AB170 */ static void junior_rc_right_eighth_to_diag_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_eighth_to_diag_tiles_paint(junior_rc_right_eighth_to_diag_bank_thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_eight_to_diag_bank, 0, junior_rc_right_eighth_to_diag_bank_bound_lengths, junior_rc_right_eighth_to_diag_bank_bound_offsets, get_current_rotation()); + track_paint_util_eighth_to_diag_tiles_paint(junior_rc_right_eighth_to_diag_bank_thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_right_eight_to_diag_bank, 0, junior_rc_right_eighth_to_diag_bank_bound_lengths, junior_rc_right_eighth_to_diag_bank_bound_offsets, get_current_rotation()); - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 4: - if (direction == 0) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 1) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 2) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 3) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 4: + if (direction == 0) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 1) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 2) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 3) metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC; break; - case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; - case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4; break; - case 4: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_D4; break; - } + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC; break; + case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; + case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4; break; + case 4: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_D4; break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AB180 */ static void junior_rc_left_eighth_to_orthogonal_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const uint8 map[] = {4, 2, 3, 1, 0}; - trackSequence = map[trackSequence]; - junior_rc_right_eighth_to_diag_bank_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + const uint8 map[] = {4, 2, 3, 1, 0}; + trackSequence = map[trackSequence]; + junior_rc_right_eighth_to_diag_bank_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x008AB190 */ static void junior_rc_right_eighth_to_orthogonal_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const uint8 map[] = {4, 2, 3, 1, 0}; - trackSequence = map[trackSequence]; - junior_rc_left_eighth_to_diag_bank_paint_setup(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + const uint8 map[] = {4, 2, 3, 1, 0}; + trackSequence = map[trackSequence]; + junior_rc_left_eighth_to_diag_bank_paint_setup(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } static const sint32 junior_rc_diag_blocked_segments[] = { - SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4 | SEGMENT_BC, - SEGMENT_C4 | SEGMENT_CC | SEGMENT_C8 | SEGMENT_B4, - SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4, - SEGMENT_D0 | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_C8 + SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4 | SEGMENT_BC, + SEGMENT_C4 | SEGMENT_CC | SEGMENT_C8 | SEGMENT_B4, + SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4, + SEGMENT_D0 | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_C8 }; static const uint8 junior_rc_diag_support_segment[] = {1, 0, 2, 3}; void junior_rc_paint_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } void junior_rc_paint_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_up[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_up[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 8, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 8, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void junior_rc_paint_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat_to_25_deg_up[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat_to_25_deg_up[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } void junior_rc_paint_track_diag_flat_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - // There is no specific chain for the Water Coaster, use the Junior RC chain instead - chainType = min(1, chainType); + // There is no specific chain for the Water Coaster, use the Junior RC chain instead + chainType = min(1, chainType); - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat_to_60_deg_up[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat_to_60_deg_up[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height + 6, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height + 6, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); } void junior_rc_paint_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_up_to_flat[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_up_to_flat[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void junior_rc_paint_track_diag_60_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - // There is no specific chain for the Water Coaster, use the Junior RC chain instead - chainType = min(1, chainType); + // There is no specific chain for the Water Coaster, use the Junior RC chain instead + chainType = min(1, chainType); - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_60_deg_up_to_flat[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_60_deg_up_to_flat[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height + 13, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height + 13, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); } void junior_rc_paint_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_down[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_down[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 8, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 8, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void junior_rc_paint_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat_to_25_deg_down[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat_to_25_deg_down[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } void junior_rc_paint_track_diag_flat_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - // There is no specific chain for the Water Coaster, use the Junior RC chain instead - chainType = min(1, chainType); + // There is no specific chain for the Water Coaster, use the Junior RC chain instead + chainType = min(1, chainType); - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat_to_60_deg_down[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat_to_60_deg_down[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height + 7, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height + 7, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } void junior_rc_paint_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_down_to_flat[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_down_to_flat[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } void junior_rc_paint_track_diag_60_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - // There is no specific chain for the Water Coaster, use the Junior RC chain instead - chainType = min(1, chainType); + // There is no specific chain for the Water Coaster, use the Junior RC chain instead + chainType = min(1, chainType); - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_60_deg_down_to_flat[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_60_deg_down_to_flat[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AAF10 */ static void junior_rc_diag_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /** rct2: 0x008AAF40 */ static void junior_rc_diag_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /** rct2: 0x008AAF20 */ static void junior_rc_diag_flat_to_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static void junior_rc_diag_flat_to_60_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_flat_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_flat_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /** rct2: 0x008AAF30 */ static void junior_rc_diag_25_deg_up_to_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static void junior_rc_diag_60_deg_up_to_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_60_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_60_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /** rct2: 0x008AAF70 */ static void junior_rc_diag_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /** rct2: 0x008AAF50 */ static void junior_rc_diag_flat_to_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_flat_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_flat_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static void junior_rc_diag_flat_to_60_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_flat_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_flat_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /** rct2: 0x008AAF60 */ static void junior_rc_diag_25_deg_down_to_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static void junior_rc_diag_60_deg_down_to_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_60_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_60_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /** rct2: 0x008AB1C0 */ static void junior_rc_diag_flat_to_left_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat_to_left_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat_to_left_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (direction == 0 && trackSequence == 1) { - uint32 imageId = SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E_PART_0_2 | gTrackColours[SCHEME_TRACK]; + if (direction == 0 && trackSequence == 1) { + uint32 imageId = SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27, get_current_rotation()); - } - if (trackSequence == 3) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27, get_current_rotation()); + } + if (trackSequence == 3) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AB1D0 */ static void junior_rc_diag_flat_to_right_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat_to_right_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_flat_to_right_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (direction == 2 && trackSequence == 2) { - uint32 imageId = SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W_PART_0_2 | gTrackColours[SCHEME_TRACK]; + if (direction == 2 && trackSequence == 2) { + uint32 imageId = SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27, get_current_rotation()); - } - if (trackSequence == 3) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27, get_current_rotation()); + } + if (trackSequence == 3) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AB1E0 */ static void junior_rc_diag_left_bank_to_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_left_bank_to_flat, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_left_bank_to_flat, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (direction == 0 && trackSequence == 1) { - uint32 imageId = SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W_PART_0_2 | gTrackColours[SCHEME_TRACK]; + if (direction == 0 && trackSequence == 1) { + uint32 imageId = SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27, get_current_rotation()); - } - if (trackSequence == 3) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27, get_current_rotation()); + } + if (trackSequence == 3) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AB1F0 */ static void junior_rc_diag_right_bank_to_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_right_bank_to_flat, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_right_bank_to_flat, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (direction == 2 && trackSequence == 2) { - uint32 imageId = SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E_PART_0_2 | gTrackColours[SCHEME_TRACK]; + if (direction == 2 && trackSequence == 2) { + uint32 imageId = SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27, get_current_rotation()); - } - if (trackSequence == 3) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27, get_current_rotation()); + } + if (trackSequence == 3) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AB220 */ static void junior_rc_diag_left_bank_to_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_left_bank_to_25_deg_up, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_left_bank_to_25_deg_up, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (direction == 0 && trackSequence == 1) { - uint32 imageId = SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E_PART_0_2 | gTrackColours[SCHEME_TRACK]; + if (direction == 0 && trackSequence == 1) { + uint32 imageId = SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); - } - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); + } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AB230 */ static void junior_rc_diag_right_bank_to_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_right_bank_to_25_deg_up, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_right_bank_to_25_deg_up, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (direction == 2 && trackSequence == 2) { - uint32 imageId = SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W_PART_0_2 | gTrackColours[SCHEME_TRACK]; + if (direction == 2 && trackSequence == 2) { + uint32 imageId = SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); - } - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); + } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AB200 */ static void junior_rc_diag_25_deg_up_to_left_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_up_to_left_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_up_to_left_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (direction == 0 && trackSequence == 1) { - uint32 imageId = SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E_PART_0_2 | gTrackColours[SCHEME_TRACK]; + if (direction == 0 && trackSequence == 1) { + uint32 imageId = SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); - } - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); - } + sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); + } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AB210 */ static void junior_rc_diag_25_deg_up_to_right_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_up_to_right_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_up_to_right_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (direction == 2 && trackSequence == 2) { - uint32 imageId = SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W_PART_0_2 | gTrackColours[SCHEME_TRACK]; + if (direction == 2 && trackSequence == 2) { + uint32 imageId = SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); - } - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); - } + sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); + } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AB200 */ static void junior_rc_diag_left_bank_to_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_left_bank_to_25_deg_down, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_left_bank_to_25_deg_down, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (direction == 0 && trackSequence == 1) { - uint32 imageId = SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W_PART_0_2 | gTrackColours[SCHEME_TRACK]; + if (direction == 0 && trackSequence == 1) { + uint32 imageId = SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); - } - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); - } + sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); + } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AB210 */ static void junior_rc_diag_right_bank_to_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_right_bank_to_25_deg_down, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_right_bank_to_25_deg_down, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (direction == 2 && trackSequence == 2) { - uint32 imageId = SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E_PART_0_2 | gTrackColours[SCHEME_TRACK]; + if (direction == 2 && trackSequence == 2) { + uint32 imageId = SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); - } - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); - } + sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); + } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AB220 */ static void junior_rc_diag_25_deg_down_to_left_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_down_to_left_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_down_to_left_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (direction == 0 && trackSequence == 1) { - uint32 imageId = SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W_PART_0_2 | gTrackColours[SCHEME_TRACK]; + if (direction == 0 && trackSequence == 1) { + uint32 imageId = SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); - } - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); + } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AB230 */ static void junior_rc_diag_25_deg_down_to_right_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_down_to_right_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_down_to_right_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (direction == 2 && trackSequence == 2) { - uint32 imageId = SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E_PART_0_2 | gTrackColours[SCHEME_TRACK]; + if (direction == 2 && trackSequence == 2) { + uint32 imageId = SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E_PART_0_2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); - } - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + sub_98197C(imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation()); + } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } const rct_xyz16 junior_rc_diag_left_bank_bound_offsets[4] = { - {-16, -16, 27}, - {-16, -16}, - {-16, -16}, - {-16, -16}, + {-16, -16, 27}, + {-16, -16}, + {-16, -16}, + {-16, -16}, }; const rct_xyz16 junior_rc_diag_right_bank_bound_offsets[4] = { - {-16, -16}, - {-16, -16}, - {-16, -16, 27}, - {-16, -16}, + {-16, -16}, + {-16, -16}, + {-16, -16, 27}, + {-16, -16}, }; /** rct2: 0x008AB1A0 */ static void junior_rc_diag_left_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint8 thickness = direction == 0 ? 0 : 1; - track_paint_util_diag_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_left_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, junior_rc_diag_left_bank_bound_offsets, get_current_rotation()); + uint8 thickness = direction == 0 ? 0 : 1; + track_paint_util_diag_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_left_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, junior_rc_diag_left_bank_bound_offsets, get_current_rotation()); - if (trackSequence == 3) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AB1B0 */ static void junior_rc_diag_right_bank_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint8 thickness = direction == 2 ? 0 : 1; - track_paint_util_diag_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_right_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, junior_rc_diag_right_bank_bound_offsets, get_current_rotation()); + uint8 thickness = direction == 2 ? 0 : 1; + track_paint_util_diag_tiles_paint(thickness, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_right_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, junior_rc_diag_right_bank_bound_offsets, get_current_rotation()); - if (trackSequence == 3) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, junior_rc_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static const rct_xy16 junior_rc_60_deg_up_bound_offsets[4] = { - {0, 6}, - {10, 29}, - {29, 10}, - {6, 0}, + {0, 6}, + {10, 29}, + {29, 10}, + {6, 0}, }; static const rct_xy16 junior_rc_60_deg_up_tile_offsets[4] = { - {0, 6}, - {6, 0}, - {0, 6}, - {6, 0}, + {0, 6}, + {6, 0}, + {0, 6}, + {6, 0}, }; static const sint8 junior_rc_60_deg_up_bound_thickness[4] = { - 1, - 75, - 75, - 1 + 1, + 75, + 75, + 1 }; static const rct_xy16 junior_rc_60_deg_up_bound_lengths[4] = { - {32, 20}, - {10, 1}, - {1, 10}, - {20, 32}, + {32, 20}, + {10, 1}, + {1, 10}, + {20, 32}, }; void junior_rc_paint_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - uint32 image_id = gTrackColours[SCHEME_TRACK]; + uint32 image_id = gTrackColours[SCHEME_TRACK]; - image_id |= junior_rc_track_pieces_60_deg_up[chainType][direction]; + image_id |= junior_rc_track_pieces_60_deg_up[chainType][direction]; - sub_98197C(image_id, - (sint8)junior_rc_60_deg_up_tile_offsets[direction].x, - (sint8)junior_rc_60_deg_up_tile_offsets[direction].y, - junior_rc_60_deg_up_bound_lengths[direction].x, - junior_rc_60_deg_up_bound_lengths[direction].y, - junior_rc_60_deg_up_bound_thickness[direction], - height, - junior_rc_60_deg_up_bound_offsets[direction].x, - junior_rc_60_deg_up_bound_offsets[direction].y, - height, - get_current_rotation()); + sub_98197C(image_id, + (sint8)junior_rc_60_deg_up_tile_offsets[direction].x, + (sint8)junior_rc_60_deg_up_tile_offsets[direction].y, + junior_rc_60_deg_up_bound_lengths[direction].x, + junior_rc_60_deg_up_bound_lengths[direction].y, + junior_rc_60_deg_up_bound_thickness[direction], + height, + junior_rc_60_deg_up_bound_offsets[direction].x, + junior_rc_60_deg_up_bound_offsets[direction].y, + height, + get_current_rotation()); - switch (direction) { - case 0: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - case 1: - paint_util_push_tunnel_right(height + 56, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height + 56, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + case 1: + paint_util_push_tunnel_right(height + 56, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height + 56, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - sint8 support[4] = { 35, 29, 25, 32}; - if (track_paint_util_should_paint_supports(pos)) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, support[direction], height, gTrackColours[SCHEME_SUPPORTS]); - } + sint8 support[4] = { 35, 29, 25, 32}; + if (track_paint_util_should_paint_supports(pos)) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, support[direction], height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } static void junior_rc_60_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static void junior_rc_60_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - junior_rc_60_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + junior_rc_60_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } static const rct_xy16 junior_rc_25_deg_up_to_60_deg_up_bound_lengths[4][2] = { - {{32, 20}, {0}}, - {{10, 32}, {2, 32}}, - {{32, 10}, {32, 2}}, - {{20, 32}, {0}}, + {{32, 20}, {0}}, + {{10, 32}, {2, 32}}, + {{32, 10}, {32, 2}}, + {{20, 32}, {0}}, }; static const sint8 junior_rc_25_deg_up_to_60_deg_up_bound_thickness[4] = { - 1, - 43, - 43, - 1 + 1, + 43, + 43, + 1 }; static const rct_xy16 junior_rc_25_deg_up_to_60_deg_up_bound_offsets[4][2] = { - {{0, 6}, {0}}, - {{10, 0}, {4, 0}}, - {{0, 10}, {0, 4}}, - {{6, 0}, {0}}, + {{0, 6}, {0}}, + {{10, 0}, {4, 0}}, + {{0, 10}, {0, 4}}, + {{6, 0}, {0}}, }; void junior_rc_paint_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - uint32 image_id = gTrackColours[SCHEME_TRACK]; + uint32 image_id = gTrackColours[SCHEME_TRACK]; - image_id |= junior_rc_track_pieces_25_deg_up_to_60_deg_up[chainType][direction][0]; + image_id |= junior_rc_track_pieces_25_deg_up_to_60_deg_up[chainType][direction][0]; - sub_98197C(image_id, - (sint8)junior_rc_60_deg_up_tile_offsets[direction].x, - (sint8)junior_rc_60_deg_up_tile_offsets[direction].y, - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].x, - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].y, - junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], - height, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].x, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].y, - height, - get_current_rotation()); + sub_98197C(image_id, + (sint8)junior_rc_60_deg_up_tile_offsets[direction].x, + (sint8)junior_rc_60_deg_up_tile_offsets[direction].y, + junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].x, + junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].y, + junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], + height, + junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].x, + junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].y, + height, + get_current_rotation()); - if (junior_rc_track_pieces_25_deg_up_to_60_deg_up[chainType][direction][1] != 0) { - image_id = gTrackColours[SCHEME_TRACK]; + if (junior_rc_track_pieces_25_deg_up_to_60_deg_up[chainType][direction][1] != 0) { + image_id = gTrackColours[SCHEME_TRACK]; - image_id |= junior_rc_track_pieces_25_deg_up_to_60_deg_up[chainType][direction][1]; + image_id |= junior_rc_track_pieces_25_deg_up_to_60_deg_up[chainType][direction][1]; - sub_98197C(image_id, - (sint8)junior_rc_60_deg_up_tile_offsets[direction].x, - (sint8)junior_rc_60_deg_up_tile_offsets[direction].y, - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].x, - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].y, - junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], - height, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].x, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].y, - height, - get_current_rotation()); - } + sub_98197C(image_id, + (sint8)junior_rc_60_deg_up_tile_offsets[direction].x, + (sint8)junior_rc_60_deg_up_tile_offsets[direction].y, + junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].x, + junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].y, + junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], + height, + junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].x, + junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].y, + height, + get_current_rotation()); + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - case 1: - paint_util_push_tunnel_right(height + 24, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height + 24, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + case 1: + paint_util_push_tunnel_right(height + 24, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height + 24, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - sint8 support[4] = { 12, 12, 12, 14}; - if (track_paint_util_should_paint_supports(pos)) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, support[direction], height, gTrackColours[SCHEME_SUPPORTS]); - } + sint8 support[4] = { 12, 12, 12, 14}; + if (track_paint_util_should_paint_supports(pos)) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, support[direction], height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } static void junior_rc_25_deg_up_to_60_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static void junior_rc_60_deg_down_to_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - junior_rc_25_deg_up_to_60_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + junior_rc_25_deg_up_to_60_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } void junior_rc_paint_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - uint32 image_id = gTrackColours[SCHEME_TRACK]; + uint32 image_id = gTrackColours[SCHEME_TRACK]; - image_id |= junior_rc_track_pieces_60_deg_up_to_25_deg_up[chainType][direction][0]; + image_id |= junior_rc_track_pieces_60_deg_up_to_25_deg_up[chainType][direction][0]; - sub_98197C(image_id, - (sint8)junior_rc_60_deg_up_tile_offsets[direction].x, - (sint8)junior_rc_60_deg_up_tile_offsets[direction].y, - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].x, - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].y, - junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], - height, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].x, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].y, - height, - get_current_rotation()); + sub_98197C(image_id, + (sint8)junior_rc_60_deg_up_tile_offsets[direction].x, + (sint8)junior_rc_60_deg_up_tile_offsets[direction].y, + junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].x, + junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].y, + junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], + height, + junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].x, + junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].y, + height, + get_current_rotation()); - if (junior_rc_track_pieces_60_deg_up_to_25_deg_up[chainType][direction][1] != 0) { - image_id = gTrackColours[SCHEME_TRACK]; + if (junior_rc_track_pieces_60_deg_up_to_25_deg_up[chainType][direction][1] != 0) { + image_id = gTrackColours[SCHEME_TRACK]; - image_id |= junior_rc_track_pieces_60_deg_up_to_25_deg_up[chainType][direction][1]; + image_id |= junior_rc_track_pieces_60_deg_up_to_25_deg_up[chainType][direction][1]; - sub_98197C(image_id, - (sint8)junior_rc_60_deg_up_tile_offsets[direction].x, - (sint8)junior_rc_60_deg_up_tile_offsets[direction].y, - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].x, - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].y, - junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], - height, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].x, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].y, - height, - get_current_rotation()); - } + sub_98197C(image_id, + (sint8)junior_rc_60_deg_up_tile_offsets[direction].x, + (sint8)junior_rc_60_deg_up_tile_offsets[direction].y, + junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].x, + junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].y, + junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], + height, + junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].x, + junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].y, + height, + get_current_rotation()); + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - case 1: - paint_util_push_tunnel_right(height + 24, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height + 24, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + case 1: + paint_util_push_tunnel_right(height + 24, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height + 24, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (track_paint_util_should_paint_supports(pos)) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(pos)) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } static void junior_rc_60_deg_up_to_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static void junior_rc_25_deg_down_to_60_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - junior_rc_60_deg_up_to_25_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + junior_rc_60_deg_up_to_25_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } void junior_rc_paint_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_60_deg_up[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_60_deg_up[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 36, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 36, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } void junior_rc_paint_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_60_deg_down[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_60_deg_down[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 28, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 28, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } void junior_rc_paint_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_up_to_60_deg_up[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_up_to_60_deg_up[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 16, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 16, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } void junior_rc_paint_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - if (direction == 1 && trackSequence == 3) { - sub_98197C( - junior_rc_track_pieces_diag_60_deg_up_to_25_deg_up[chainType][direction] | gTrackColours[SCHEME_TRACK], - -16, -16, - 16, 16, 1, - height, - 0, 0, height, - get_current_rotation() - ); - } else { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_60_deg_up_to_25_deg_up[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - } + if (direction == 1 && trackSequence == 3) { + sub_98197C( + junior_rc_track_pieces_diag_60_deg_up_to_25_deg_up[chainType][direction] | gTrackColours[SCHEME_TRACK], + -16, -16, + 16, 16, 1, + height, + 0, 0, height, + get_current_rotation() + ); + } else { + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_60_deg_up_to_25_deg_up[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + } - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 21, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 21, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } void junior_rc_paint_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - if (direction == 3 && trackSequence == 0) { - sub_98197C( - junior_rc_track_pieces_diag_25_deg_down_to_60_deg_down[chainType][direction] | gTrackColours[SCHEME_TRACK], - -16, -16, - 16, 16, 1, - height, - 0, 0, height, - get_current_rotation() - ); - } else { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_down_to_60_deg_down[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - } + if (direction == 3 && trackSequence == 0) { + sub_98197C( + junior_rc_track_pieces_diag_25_deg_down_to_60_deg_down[chainType][direction] | gTrackColours[SCHEME_TRACK], + -16, -16, + 16, 16, 1, + height, + 0, 0, height, + get_current_rotation() + ); + } else { + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_25_deg_down_to_60_deg_down[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + } - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 17, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 17, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } void junior_rc_paint_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element* mapElement, JUNIOR_RC_CHAINTYPE chainType) { - track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_60_deg_down_to_25_deg_down[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); + track_paint_util_diag_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], junior_rc_track_pieces_diag_60_deg_down_to_25_deg_down[chainType], defaultDiagTileOffsets, defaultDiagBoundLengths, 0, get_current_rotation()); - if (trackSequence == 3) { - metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 8, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup((direction & 1) ? 2 : 1, junior_rc_diag_support_segment[direction], 8, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + sint32 blockedSegments = junior_rc_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } static void junior_rc_diag_60_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static void junior_rc_diag_60_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static void junior_rc_diag_25_deg_up_to_60_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static void junior_rc_diag_60_deg_up_to_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static void junior_rc_diag_25_deg_down_to_60_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_25_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_25_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static void junior_rc_diag_60_deg_down_to_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_60_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_60_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } static const rct_xy16 junior_rc_flat_to_60_deg_up_bound_lengths[4][2] = { - {{32, 24}, {0}}, - {{10, 1}, {2, 32}}, - {{1, 10}, {32, 2}}, - {{24, 32}, {0}}, + {{32, 24}, {0}}, + {{10, 1}, {2, 32}}, + {{1, 10}, {32, 2}}, + {{24, 32}, {0}}, }; static const sint8 junior_rc_flat_to_60_deg_up_bound_thickness[4] = { - 1, - 43, - 43, - 1 + 1, + 43, + 43, + 1 }; static const rct_xy16 junior_rc_flat_to_60_deg_up_bound_offsets[4][2] = { - {{0, 4}, {0}}, - {{10, 0}, {4, 0}}, - {{0, 10}, {0, 4}}, - {{4, 0}, {0}}, + {{0, 4}, {0}}, + {{10, 0}, {4, 0}}, + {{0, 10}, {0, 4}}, + {{4, 0}, {0}}, }; static const rct_xy16 junior_rc_flat_to_60_deg_up_tile_offsets[4][2] = { - {{12, -10}, { 0}}, - {{22, 9}, {12, -11}}, - {{30, 7}, { 5, 0}}, - {{12, -12}, { 0}} + {{12, -10}, { 0}}, + {{22, 9}, {12, -11}}, + {{30, 7}, { 5, 0}}, + {{12, -12}, { 0}} }; static const rct_xy16 junior_rc_60_deg_up_to_flat_tile_offsets[4][2] = { - {{13, -9}, { 0 }}, - {{32, 9}, {-7, -11}}, - {{22, 18}, { 2, -19}}, - {{13, -9}, { 0 }} + {{13, -9}, { 0 }}, + {{32, 9}, {-7, -11}}, + {{22, 18}, { 2, -19}}, + {{13, -9}, { 0 }} }; static void junior_rc_flat_to_60_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - uint32 image_id = gTrackColours[SCHEME_TRACK]; + uint32 image_id = gTrackColours[SCHEME_TRACK]; - bool isChained = mapElement->type & (1 << 7); + bool isChained = mapElement->type & (1 << 7); - image_id |= junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][0]; + image_id |= junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][0]; - sub_98197C(image_id, - (sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].x, - (sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].y, - junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].x, - junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].y, - junior_rc_flat_to_60_deg_up_bound_thickness[direction], - height + 24, - junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].x, - junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].y, - height, - get_current_rotation()); + sub_98197C(image_id, + (sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].x, + (sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].y, + junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].x, + junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].y, + junior_rc_flat_to_60_deg_up_bound_thickness[direction], + height + 24, + junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].x, + junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].y, + height, + get_current_rotation()); - if (junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][1] != 0) { - image_id = gTrackColours[SCHEME_TRACK]; + if (junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][1] != 0) { + image_id = gTrackColours[SCHEME_TRACK]; - image_id |= junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][1]; + image_id |= junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][1]; - sub_98197C(image_id, - (sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].x, - (sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].y, - junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].x, - junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].y, - junior_rc_flat_to_60_deg_up_bound_thickness[direction], - height, - junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].x, - junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].y, - height, - get_current_rotation()); - } + sub_98197C(image_id, + (sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].x, + (sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].y, + junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].x, + junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].y, + junior_rc_flat_to_60_deg_up_bound_thickness[direction], + height, + junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].x, + junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].y, + height, + get_current_rotation()); + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height, TUNNEL_1); - break; - case 1: - paint_util_push_tunnel_right(height + 24, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height + 24, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height, TUNNEL_1); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height, TUNNEL_1); + break; + case 1: + paint_util_push_tunnel_right(height + 24, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height + 24, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height, TUNNEL_1); + break; + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - sint8 support[4] = { 12, 12, 12, 14}; - if (track_paint_util_should_paint_supports(pos)) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, support[direction], height - 7, gTrackColours[SCHEME_SUPPORTS]); - } + sint8 support[4] = { 12, 12, 12, 14}; + if (track_paint_util_should_paint_supports(pos)) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, support[direction], height - 7, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } static void junior_rc_60_deg_down_to_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - junior_rc_flat_to_60_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + junior_rc_flat_to_60_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void junior_rc_60_deg_up_to_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - uint32 image_id = gTrackColours[SCHEME_TRACK]; + uint32 image_id = gTrackColours[SCHEME_TRACK]; - bool isChained = mapElement->type & (1 << 7); + bool isChained = mapElement->type & (1 << 7); - image_id |= junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][0]; + image_id |= junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][0]; - sub_98197C(image_id, - (sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].x, - (sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].y, - junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].x, - junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].y, - junior_rc_flat_to_60_deg_up_bound_thickness[direction], - height + 24, - junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].x, - junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].y, - height, - get_current_rotation()); + sub_98197C(image_id, + (sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].x, + (sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].y, + junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].x, + junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].y, + junior_rc_flat_to_60_deg_up_bound_thickness[direction], + height + 24, + junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].x, + junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].y, + height, + get_current_rotation()); - if (junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][1] != 0) { - image_id = gTrackColours[SCHEME_TRACK]; + if (junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][1] != 0) { + image_id = gTrackColours[SCHEME_TRACK]; - image_id |= junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][1]; + image_id |= junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][1]; - sub_98197C(image_id, - (sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].x, - (sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].y, - junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].x, - junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].y, - junior_rc_flat_to_60_deg_up_bound_thickness[direction], - height, - junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].x, - junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].y, - height, - get_current_rotation()); - } + sub_98197C(image_id, + (sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].x, + (sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].y, + junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].x, + junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].y, + junior_rc_flat_to_60_deg_up_bound_thickness[direction], + height, + junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].x, + junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].y, + height, + get_current_rotation()); + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height, TUNNEL_1); - break; - case 1: - paint_util_push_tunnel_right(height + 24, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height + 24, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height, TUNNEL_1); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height, TUNNEL_1); + break; + case 1: + paint_util_push_tunnel_right(height + 24, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height + 24, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height, TUNNEL_1); + break; + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (track_paint_util_should_paint_supports(pos)) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 20, height - 5, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(pos)) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK, 4, 20, height - 5, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } static void junior_rc_flat_to_60_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - junior_rc_60_deg_up_to_flat_paint_setup(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + junior_rc_60_deg_up_to_flat_paint_setup(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /* rct2: 0x00518394 */ static void junior_rc_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement){ - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /* rct2: 0x00515629, 0x00514D22, 0x005151B9 */ static void paint_junior_rc_station_track(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - junior_rc_paint_station(rideIndex, trackSequence, direction, height, mapElement, RIDE_TYPE_JUNIOR_ROLLER_COASTER); + junior_rc_paint_station(rideIndex, trackSequence, direction, height, mapElement, RIDE_TYPE_JUNIOR_ROLLER_COASTER); } /* rct2: 0x0051881E */ static void junior_rc_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /* rct2: 0x00518B42 */ static void junior_rc_flat_to_25_deg_up_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /* rct2: 0x00518E56 */ static void junior_rc_25_deg_up_to_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_FRICTION_WHEELS : JUNIOR_RC_CHAIN_NONE); } /* rct2: 0x005189B0 */ static void junior_rc_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - junior_rc_25_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + junior_rc_25_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /* rct2: 0x00518FE8 */ static void junior_rc_flat_to_25_deg_down_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - junior_rc_25_deg_up_to_flat_paint_setup(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + junior_rc_25_deg_up_to_flat_paint_setup(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /* rct2: 0x00518CCC */ static void junior_rc_25_deg_down_to_flat_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - junior_rc_flat_to_25_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + junior_rc_flat_to_25_deg_up_paint_setup(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void junior_rc_booster_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - sint32 XoffsetNESW = 12; - sint32 YoffsetNESW = -10; - sint32 XoffsetNWSE = 10; - sint32 YoffsetNWSE = -10; + sint32 XoffsetNESW = 12; + sint32 YoffsetNESW = -10; + sint32 XoffsetNWSE = 10; + sint32 YoffsetNWSE = -10; - if (direction & 1) { - sub_98196C(SPR_JUNIOR_RC_BOOSTER_NE_SW | gTrackColours[SCHEME_TRACK], XoffsetNESW, YoffsetNESW, 20, 32, 1, height, get_current_rotation()); + if (direction & 1) { + sub_98196C(SPR_JUNIOR_RC_BOOSTER_NE_SW | gTrackColours[SCHEME_TRACK], XoffsetNESW, YoffsetNESW, 20, 32, 1, height, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_0); - } - else { - sub_98196C(SPR_JUNIOR_RC_BOOSTER_NW_SE | gTrackColours[SCHEME_TRACK], XoffsetNWSE, YoffsetNWSE, 32, 20, 1, height, get_current_rotation()); + paint_util_push_tunnel_right(height, TUNNEL_0); + } + else { + sub_98196C(SPR_JUNIOR_RC_BOOSTER_NW_SE | gTrackColours[SCHEME_TRACK], XoffsetNWSE, YoffsetNWSE, 32, 20, 1, height, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_0); - } + paint_util_push_tunnel_left(height, TUNNEL_0); + } - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (track_paint_util_should_paint_supports(pos)) { - uint8 supportType = (direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK; - metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + if (track_paint_util_should_paint_supports(pos)) { + uint8 supportType = (direction & 1) ? METAL_SUPPORTS_FORK_ALT : METAL_SUPPORTS_FORK; + metal_a_supports_paint_setup(supportType, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /* 0x008AAA0C */ TRACK_PAINT_FUNCTION get_track_paint_function_junior_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return junior_rc_flat_paint_setup; - case TRACK_ELEM_END_STATION: - return paint_junior_rc_station_track; - case TRACK_ELEM_BEGIN_STATION: - return paint_junior_rc_station_track; - case TRACK_ELEM_MIDDLE_STATION: - return paint_junior_rc_station_track; - case TRACK_ELEM_25_DEG_UP: - return junior_rc_25_deg_up_paint_setup; - case TRACK_ELEM_60_DEG_UP: - return junior_rc_60_deg_up_paint_setup; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return junior_rc_flat_to_25_deg_up_paint_setup; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return junior_rc_25_deg_up_to_60_deg_up_paint_setup; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return junior_rc_60_deg_up_to_25_deg_up_paint_setup; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return junior_rc_25_deg_up_to_flat_paint_setup; - case TRACK_ELEM_25_DEG_DOWN: - return junior_rc_25_deg_down_paint_setup; - case TRACK_ELEM_60_DEG_DOWN: - return junior_rc_60_deg_down_paint_setup; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return junior_rc_flat_to_25_deg_down_paint_setup; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return junior_rc_25_deg_down_to_60_deg_down_paint_setup; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return junior_rc_60_deg_down_to_25_deg_down_paint_setup; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return junior_rc_25_deg_down_to_flat_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return junior_rc_left_quarter_turn_5_tiles_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return junior_rc_right_quarter_turn_5_tiles_paint_setup; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return junior_rc_flat_to_left_bank_paint_setup; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return junior_rc_flat_to_right_bank_paint_setup; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return junior_rc_left_bank_to_flat_paint_setup; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return junior_rc_right_bank_to_flat_paint_setup; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return junior_rc_banked_left_quarter_turn_5_tiles_paint_setup; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return junior_rc_banked_right_quarter_turn_5_tiles_paint_setup; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return junior_rc_left_bank_to_25_deg_up_paint_setup; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return junior_rc_right_bank_to_25_deg_up_paint_setup; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return junior_rc_25_deg_up_to_left_bank_paint_setup; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return junior_rc_25_deg_up_to_right_bank_paint_setup; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return junior_rc_left_bank_to_25_deg_down_paint_setup; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return junior_rc_right_bank_to_25_deg_down_paint_setup; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return junior_rc_25_deg_down_to_left_bank_paint_setup; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return junior_rc_25_deg_down_to_right_bank_paint_setup; - case TRACK_ELEM_LEFT_BANK: - return junior_rc_left_bank_paint_setup; - case TRACK_ELEM_RIGHT_BANK: - return junior_rc_right_bank_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return junior_rc_left_quarter_turn_5_tiles_25_deg_up_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return junior_rc_right_quarter_turn_5_tiles_25_deg_up_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return junior_rc_left_quarter_turn_5_tiles_25_deg_down_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return junior_rc_right_quarter_turn_5_tiles_25_deg_down_paint_setup; - case TRACK_ELEM_S_BEND_LEFT: - return junior_rc_s_bend_left_paint_setup; - case TRACK_ELEM_S_BEND_RIGHT: - return junior_rc_s_bend_right_paint_setup; + switch (trackType) { + case TRACK_ELEM_FLAT: + return junior_rc_flat_paint_setup; + case TRACK_ELEM_END_STATION: + return paint_junior_rc_station_track; + case TRACK_ELEM_BEGIN_STATION: + return paint_junior_rc_station_track; + case TRACK_ELEM_MIDDLE_STATION: + return paint_junior_rc_station_track; + case TRACK_ELEM_25_DEG_UP: + return junior_rc_25_deg_up_paint_setup; + case TRACK_ELEM_60_DEG_UP: + return junior_rc_60_deg_up_paint_setup; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return junior_rc_flat_to_25_deg_up_paint_setup; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return junior_rc_25_deg_up_to_60_deg_up_paint_setup; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return junior_rc_60_deg_up_to_25_deg_up_paint_setup; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return junior_rc_25_deg_up_to_flat_paint_setup; + case TRACK_ELEM_25_DEG_DOWN: + return junior_rc_25_deg_down_paint_setup; + case TRACK_ELEM_60_DEG_DOWN: + return junior_rc_60_deg_down_paint_setup; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return junior_rc_flat_to_25_deg_down_paint_setup; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return junior_rc_25_deg_down_to_60_deg_down_paint_setup; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return junior_rc_60_deg_down_to_25_deg_down_paint_setup; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return junior_rc_25_deg_down_to_flat_paint_setup; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return junior_rc_left_quarter_turn_5_tiles_paint_setup; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return junior_rc_right_quarter_turn_5_tiles_paint_setup; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return junior_rc_flat_to_left_bank_paint_setup; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return junior_rc_flat_to_right_bank_paint_setup; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return junior_rc_left_bank_to_flat_paint_setup; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return junior_rc_right_bank_to_flat_paint_setup; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return junior_rc_banked_left_quarter_turn_5_tiles_paint_setup; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return junior_rc_banked_right_quarter_turn_5_tiles_paint_setup; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return junior_rc_left_bank_to_25_deg_up_paint_setup; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return junior_rc_right_bank_to_25_deg_up_paint_setup; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return junior_rc_25_deg_up_to_left_bank_paint_setup; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return junior_rc_25_deg_up_to_right_bank_paint_setup; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return junior_rc_left_bank_to_25_deg_down_paint_setup; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return junior_rc_right_bank_to_25_deg_down_paint_setup; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return junior_rc_25_deg_down_to_left_bank_paint_setup; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return junior_rc_25_deg_down_to_right_bank_paint_setup; + case TRACK_ELEM_LEFT_BANK: + return junior_rc_left_bank_paint_setup; + case TRACK_ELEM_RIGHT_BANK: + return junior_rc_right_bank_paint_setup; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return junior_rc_left_quarter_turn_5_tiles_25_deg_up_paint_setup; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return junior_rc_right_quarter_turn_5_tiles_25_deg_up_paint_setup; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return junior_rc_left_quarter_turn_5_tiles_25_deg_down_paint_setup; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return junior_rc_right_quarter_turn_5_tiles_25_deg_down_paint_setup; + case TRACK_ELEM_S_BEND_LEFT: + return junior_rc_s_bend_left_paint_setup; + case TRACK_ELEM_S_BEND_RIGHT: + return junior_rc_s_bend_right_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return junior_rc_left_quarter_turn_3_tiles_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return junior_rc_right_quarter_turn_3_tiles_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return junior_rc_left_quarter_turn_3_tiles_bank_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return junior_rc_right_quarter_turn_3_tiles_bank_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return junior_rc_left_quarter_turn_3_tiles_25_deg_up_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return junior_rc_right_quarter_turn_3_tiles_25_deg_up_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return junior_rc_left_quarter_turn_3_tiles_25_deg_down_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return junior_rc_right_quarter_turn_3_tiles_25_deg_down_paint_setup; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return junior_rc_left_quarter_turn_3_tiles_paint_setup; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return junior_rc_right_quarter_turn_3_tiles_paint_setup; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return junior_rc_left_quarter_turn_3_tiles_bank_paint_setup; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return junior_rc_right_quarter_turn_3_tiles_bank_paint_setup; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return junior_rc_left_quarter_turn_3_tiles_25_deg_up_paint_setup; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return junior_rc_right_quarter_turn_3_tiles_25_deg_up_paint_setup; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return junior_rc_left_quarter_turn_3_tiles_25_deg_down_paint_setup; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return junior_rc_right_quarter_turn_3_tiles_25_deg_down_paint_setup; - case TRACK_ELEM_FLAT_TO_60_DEG_UP: - return junior_rc_flat_to_60_deg_up_paint_setup; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - return junior_rc_60_deg_up_to_flat_paint_setup; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - return junior_rc_flat_to_60_deg_down_paint_setup; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: - return junior_rc_60_deg_down_to_flat_paint_setup; + case TRACK_ELEM_FLAT_TO_60_DEG_UP: + return junior_rc_flat_to_60_deg_up_paint_setup; + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + return junior_rc_60_deg_up_to_flat_paint_setup; + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + return junior_rc_flat_to_60_deg_down_paint_setup; + case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + return junior_rc_60_deg_down_to_flat_paint_setup; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return junior_rc_left_half_banked_helix_up_small_paint_setup; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return junior_rc_right_half_banked_helix_up_small_paint_setup; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return junior_rc_left_half_banked_helix_down_small_paint_setup; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return junior_rc_right_half_banked_helix_down_small_paint_setup; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return junior_rc_left_half_banked_helix_up_large_paint_setup; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return junior_rc_right_half_banked_helix_up_large_paint_setup; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return junior_rc_left_half_banked_helix_down_large_paint_setup; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return junior_rc_right_half_banked_helix_down_large_paint_setup; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return junior_rc_left_half_banked_helix_up_small_paint_setup; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return junior_rc_right_half_banked_helix_up_small_paint_setup; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return junior_rc_left_half_banked_helix_down_small_paint_setup; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return junior_rc_right_half_banked_helix_down_small_paint_setup; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return junior_rc_left_half_banked_helix_up_large_paint_setup; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return junior_rc_right_half_banked_helix_up_large_paint_setup; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return junior_rc_left_half_banked_helix_down_large_paint_setup; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return junior_rc_right_half_banked_helix_down_large_paint_setup; - case TRACK_ELEM_BRAKES: - return junior_rc_brake_paint_setup; + case TRACK_ELEM_BRAKES: + return junior_rc_brake_paint_setup; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return junior_rc_left_eighth_to_diag_paint_setup; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return junior_rc_right_eighth_to_diag_paint_setup; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return junior_rc_left_eighth_to_orthogonal_paint_setup; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return junior_rc_right_eighth_to_orthogonal_paint_setup; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return junior_rc_left_eighth_to_diag_bank_paint_setup; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return junior_rc_right_eighth_to_diag_bank_paint_setup; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return junior_rc_left_eighth_to_orthogonal_bank_paint_setup; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return junior_rc_right_eighth_to_orthogonal_bank_paint_setup; - case TRACK_ELEM_DIAG_FLAT: - return junior_rc_diag_flat_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_UP: - return junior_rc_diag_25_deg_up_paint_setup; - case TRACK_ELEM_DIAG_60_DEG_UP: - return junior_rc_diag_60_deg_up_paint_setup; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return junior_rc_diag_flat_to_25_deg_up_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return junior_rc_diag_25_deg_up_to_60_deg_up_paint_setup; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return junior_rc_diag_60_deg_up_to_25_deg_up_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return junior_rc_diag_25_deg_up_to_flat_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return junior_rc_diag_25_deg_down_paint_setup; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return junior_rc_diag_60_deg_down_paint_setup; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return junior_rc_diag_flat_to_25_deg_down_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return junior_rc_diag_25_deg_down_to_60_deg_down_paint_setup; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return junior_rc_diag_60_deg_down_to_25_deg_down_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return junior_rc_diag_25_deg_down_to_flat_paint_setup; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return junior_rc_left_eighth_to_diag_paint_setup; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return junior_rc_right_eighth_to_diag_paint_setup; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return junior_rc_left_eighth_to_orthogonal_paint_setup; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return junior_rc_right_eighth_to_orthogonal_paint_setup; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return junior_rc_left_eighth_to_diag_bank_paint_setup; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return junior_rc_right_eighth_to_diag_bank_paint_setup; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return junior_rc_left_eighth_to_orthogonal_bank_paint_setup; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return junior_rc_right_eighth_to_orthogonal_bank_paint_setup; + case TRACK_ELEM_DIAG_FLAT: + return junior_rc_diag_flat_paint_setup; + case TRACK_ELEM_DIAG_25_DEG_UP: + return junior_rc_diag_25_deg_up_paint_setup; + case TRACK_ELEM_DIAG_60_DEG_UP: + return junior_rc_diag_60_deg_up_paint_setup; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return junior_rc_diag_flat_to_25_deg_up_paint_setup; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return junior_rc_diag_25_deg_up_to_60_deg_up_paint_setup; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return junior_rc_diag_60_deg_up_to_25_deg_up_paint_setup; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return junior_rc_diag_25_deg_up_to_flat_paint_setup; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return junior_rc_diag_25_deg_down_paint_setup; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return junior_rc_diag_60_deg_down_paint_setup; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return junior_rc_diag_flat_to_25_deg_down_paint_setup; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return junior_rc_diag_25_deg_down_to_60_deg_down_paint_setup; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return junior_rc_diag_60_deg_down_to_25_deg_down_paint_setup; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return junior_rc_diag_25_deg_down_to_flat_paint_setup; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return junior_rc_diag_flat_to_left_bank_paint_setup; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return junior_rc_diag_flat_to_right_bank_paint_setup; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return junior_rc_diag_left_bank_to_flat_paint_setup; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return junior_rc_diag_right_bank_to_flat_paint_setup; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return junior_rc_diag_left_bank_to_25_deg_up_paint_setup; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return junior_rc_diag_right_bank_to_25_deg_up_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return junior_rc_diag_25_deg_up_to_left_bank_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return junior_rc_diag_25_deg_up_to_right_bank_paint_setup; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return junior_rc_diag_left_bank_to_25_deg_down_paint_setup; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return junior_rc_diag_right_bank_to_25_deg_down_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return junior_rc_diag_25_deg_down_to_left_bank_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return junior_rc_diag_25_deg_down_to_right_bank_paint_setup; - case TRACK_ELEM_DIAG_LEFT_BANK: - return junior_rc_diag_left_bank_paint_setup; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return junior_rc_diag_right_bank_paint_setup; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return junior_rc_diag_flat_to_left_bank_paint_setup; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return junior_rc_diag_flat_to_right_bank_paint_setup; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return junior_rc_diag_left_bank_to_flat_paint_setup; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return junior_rc_diag_right_bank_to_flat_paint_setup; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return junior_rc_diag_left_bank_to_25_deg_up_paint_setup; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return junior_rc_diag_right_bank_to_25_deg_up_paint_setup; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return junior_rc_diag_25_deg_up_to_left_bank_paint_setup; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return junior_rc_diag_25_deg_up_to_right_bank_paint_setup; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return junior_rc_diag_left_bank_to_25_deg_down_paint_setup; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return junior_rc_diag_right_bank_to_25_deg_down_paint_setup; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return junior_rc_diag_25_deg_down_to_left_bank_paint_setup; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return junior_rc_diag_25_deg_down_to_right_bank_paint_setup; + case TRACK_ELEM_DIAG_LEFT_BANK: + return junior_rc_diag_left_bank_paint_setup; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return junior_rc_diag_right_bank_paint_setup; - case TRACK_ELEM_BLOCK_BRAKES: - return junior_rc_block_brake_paint_setup; + case TRACK_ELEM_BLOCK_BRAKES: + return junior_rc_block_brake_paint_setup; - case TRACK_ELEM_BOOSTER: - return junior_rc_booster_paint_setup; + case TRACK_ELEM_BOOSTER: + return junior_rc_booster_paint_setup; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: - return junior_rc_diag_60_deg_down_to_flat_paint_setup; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - return junior_rc_diag_60_deg_up_to_flat_paint_setup; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: - return junior_rc_diag_flat_to_60_deg_up_paint_setup; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: - return junior_rc_diag_flat_to_60_deg_down_paint_setup; - } - return NULL; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: + return junior_rc_diag_60_deg_down_to_flat_paint_setup; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + return junior_rc_diag_60_deg_up_to_flat_paint_setup; + case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: + return junior_rc_diag_flat_to_60_deg_up_paint_setup; + case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: + return junior_rc_diag_flat_to_60_deg_down_paint_setup; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/lay_down_roller_coaster.c b/src/openrct2/ride/coaster/lay_down_roller_coaster.c index 97230cda0e..34541febb7 100644 --- a/src/openrct2/ride/coaster/lay_down_roller_coaster.c +++ b/src/openrct2/ride/coaster/lay_down_roller_coaster.c @@ -30,11894 +30,11894 @@ /** rct2: 0x0082491C */ static void lay_down_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16226, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16227, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16228, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16229, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16224, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16225, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26557, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26558, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26555, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26556, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16226, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16227, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16228, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16229, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16224, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16225, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26557, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26558, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26555, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26556, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00824B8C, 0x00824B9C, 0x00824BAC */ static void lay_down_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_inverted(mapElement)) { - static const uint32 imageIds[4][3] = { - { SPR_STATION_BASE_C_SW_NE, 26557, SPR_STATION_INVERTED_BAR_A_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 26558, SPR_STATION_INVERTED_BAR_A_NW_SE }, - { SPR_STATION_BASE_C_SW_NE, 26557, SPR_STATION_INVERTED_BAR_A_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 26558, SPR_STATION_INVERTED_BAR_A_NW_SE }, - }; + if (track_element_is_inverted(mapElement)) { + static const uint32 imageIds[4][3] = { + { SPR_STATION_BASE_C_SW_NE, 26557, SPR_STATION_INVERTED_BAR_A_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 26558, SPR_STATION_INVERTED_BAR_A_NW_SE }, + { SPR_STATION_BASE_C_SW_NE, 26557, SPR_STATION_INVERTED_BAR_A_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 26558, SPR_STATION_INVERTED_BAR_A_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 1, height + 24, 0, 6, height + 24); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); - track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_1); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - } else { - static const uint32 imageIds[4][3] = { - { 16236, 16232, SPR_STATION_BASE_A_SW_NE }, - { 16237, 16233, SPR_STATION_BASE_A_NW_SE }, - { 16236, 16232, SPR_STATION_BASE_A_SW_NE }, - { 16237, 16233, SPR_STATION_BASE_A_NW_SE }, - }; + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 1, height + 24, 0, 6, height + 24); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); + track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_1); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + } else { + static const uint32 imageIds[4][3] = { + { 16236, 16232, SPR_STATION_BASE_A_SW_NE }, + { 16237, 16233, SPR_STATION_BASE_A_NW_SE }, + { 16236, 16232, SPR_STATION_BASE_A_SW_NE }, + { 16237, 16233, SPR_STATION_BASE_A_NW_SE }, + }; - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } else { - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } - sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); - track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } else { + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } + sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); + track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0082492C */ static void lay_down_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16314, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16315, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16316, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16317, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16286, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16287, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16288, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16289, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - } else { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26621, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26622, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26623, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26624, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26569, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26570, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26571, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26572, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16314, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16315, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16316, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16317, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16286, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16287, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16288, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16289, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + } else { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26621, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26622, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26623, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26624, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26569, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26570, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26571, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26572, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_general_support_height(height + 56, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_general_support_height(height + 56, 0x20); + } } /** rct2: 0x0082493C */ static void lay_down_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16330, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16331, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16332, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16333, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16302, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16303, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16304, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16305, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26585, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26586, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26587, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26588, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - } + if (!track_element_is_inverted(mapElement)) { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16330, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16331, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16332, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16333, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16302, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16303, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16304, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16305, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26585, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26586, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26587, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26588, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + } } /** rct2: 0x0082494C */ static void lay_down_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16306, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16307, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16308, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16309, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16278, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16279, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16280, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16281, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26613, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26614, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26615, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26616, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26561, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26562, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26563, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26564, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16306, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16307, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16308, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16309, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16278, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16279, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16280, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16281, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26613, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26614, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26615, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26616, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26561, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26562, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26563, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26564, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_general_support_height(height + 48, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_general_support_height(height + 48, 0x20); + } } /** rct2: 0x0082495C */ static void lay_down_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16318, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16319, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16322, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16320, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16323, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16321, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16290, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16291, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16294, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16292, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16295, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16293, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26573, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26577, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26574, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26578, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26575, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26576, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - } + if (!track_element_is_inverted(mapElement)) { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16318, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16319, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16322, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16320, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16323, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16321, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16290, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16291, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16294, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16292, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16295, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16293, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26573, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26577, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26574, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26578, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26575, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26576, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + } } /** rct2: 0x0082496C */ static void lay_down_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16324, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16325, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16328, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16326, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16329, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16327, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16296, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16297, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16300, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16298, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16301, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16299, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26579, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26583, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26580, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26584, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26581, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26582, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16324, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16325, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16328, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16326, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16329, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16327, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16296, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16297, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16300, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16298, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16301, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16299, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26579, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26583, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26580, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26584, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26581, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26582, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 65, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 65, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 65, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 65, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 65, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 65, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 65, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 65, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_general_support_height(height + 72, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_general_support_height(height + 72, 0x20); + } } /** rct2: 0x0082497C */ static void lay_down_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16310, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16311, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16312, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16313, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16282, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16283, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16284, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16285, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26617, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26618, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26619, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26620, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26565, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26566, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26567, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26568, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16310, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16311, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16312, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16313, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16282, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16283, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16284, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16285, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26617, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26618, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26619, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26620, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26565, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26566, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26567, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26568, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_general_support_height(height + 40, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_general_support_height(height + 40, 0x20); + } } /** rct2: 0x0082498C */ static void lay_down_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lay_down_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0082499C */ static void lay_down_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lay_down_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008249AC */ static void lay_down_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lay_down_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008249BC */ static void lay_down_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lay_down_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008249CC */ static void lay_down_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lay_down_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008249DC */ static void lay_down_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lay_down_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008249EC */ static void lay_down_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16343, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16348, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16353, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16338, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16342, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16347, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16352, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16337, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16341, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16346, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16351, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16336, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16340, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16345, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16350, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16335, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16339, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16344, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16349, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16334, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26694, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26699, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26704, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26689, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16343, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16348, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16353, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16338, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16342, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16347, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16352, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16337, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16341, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16346, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16351, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16336, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16340, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16345, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16350, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16335, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16339, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16344, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16349, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16334, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26694, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26699, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26704, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26689, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26693, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26698, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26703, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26688, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26692, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26697, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26702, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26687, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26691, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26696, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26701, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26686, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26690, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26695, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26700, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26685, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26693, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26698, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26703, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26688, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26692, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26697, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26702, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26687, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26691, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26696, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26701, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26686, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26690, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26695, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26700, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26685, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x008249FC */ static void lay_down_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - lay_down_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + lay_down_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00824A0C */ static void lay_down_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16238, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16246, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16239, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16247, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16240, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16241, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26657, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26658, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26659, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26660, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16238, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16246, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16239, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16247, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16240, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16241, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26657, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26658, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26659, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26660, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00824A1C */ static void lay_down_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16242, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16243, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16244, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16248, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16245, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16249, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26661, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26662, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26663, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26664, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16242, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16243, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16244, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16248, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16245, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16249, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26661, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26662, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26663, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26664, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00824A2C */ static void lay_down_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16244, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16248, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16245, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16249, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16242, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16243, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26663, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26664, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26661, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26662, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16244, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16248, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16245, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16249, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16242, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16243, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26663, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26664, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26661, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26662, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00824A3C */ static void lay_down_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16240, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16241, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16238, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16246, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16239, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16247, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26659, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26660, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26657, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26658, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16240, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16241, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16238, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16246, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16239, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16247, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26659, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26660, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26657, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26658, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00824A4C */ static void lay_down_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16363, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16374, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16368, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16373, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16358, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16362, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16367, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16372, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16357, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16361, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16366, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16371, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16356, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16360, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16365, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16370, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16355, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16359, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16364, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16369, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16375, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16354, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26738, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26743, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26748, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26733, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16363, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16374, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16368, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16373, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16358, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16362, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16367, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16372, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16357, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16361, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16366, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16371, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16356, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16360, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16365, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16370, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16355, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16359, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16364, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16369, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16375, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16354, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26738, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26743, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26748, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26733, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26737, 0, 0, 32, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26742, 0, 0, 32, 16, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26747, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26732, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26736, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26741, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26746, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26731, 0, 0, 16, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26735, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26740, 0, 0, 16, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26745, 0, 0, 16, 32, 3, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26730, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26734, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26739, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26744, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26729, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26737, 0, 0, 32, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26742, 0, 0, 32, 16, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26747, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26732, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26736, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26741, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26746, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26731, 0, 0, 16, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26735, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26740, 0, 0, 16, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26745, 0, 0, 16, 32, 3, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26730, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26734, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26739, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26744, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26729, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824A5C */ static void lay_down_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - lay_down_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + lay_down_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00824A6C */ static void lay_down_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16250, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16254, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16251, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16255, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16252, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16253, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26665, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26666, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26667, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26668, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16250, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16254, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16251, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16255, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16252, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16253, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26665, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26666, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26667, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26668, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_general_support_height(height + 48, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_general_support_height(height + 48, 0x20); + } } /** rct2: 0x00824A7C */ static void lay_down_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16256, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16257, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16258, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16260, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16259, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16261, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26669, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26670, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26671, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26672, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16256, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16257, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16258, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16260, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16259, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16261, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26669, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26670, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26671, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26672, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_general_support_height(height + 48, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_general_support_height(height + 48, 0x20); + } } /** rct2: 0x00824A8C */ static void lay_down_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16262, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16266, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16263, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16267, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16264, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16265, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26673, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26674, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26675, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26676, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16262, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16266, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16263, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16267, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16264, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16265, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26673, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26674, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26675, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26676, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_general_support_height(height + 40, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_general_support_height(height + 40, 0x20); + } } /** rct2: 0x00824A9C */ static void lay_down_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16268, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16269, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16270, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16272, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16271, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16273, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26677, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26678, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26679, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26680, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16268, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16269, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16270, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16272, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16271, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16273, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26677, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26678, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26679, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26680, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_general_support_height(height + 40, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_general_support_height(height + 40, 0x20); + } } /** rct2: 0x00824AAC */ static void lay_down_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lay_down_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00824ABC */ static void lay_down_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lay_down_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00824ACC */ static void lay_down_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lay_down_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00824ADC */ static void lay_down_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lay_down_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00824AEC */ static void lay_down_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16274, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16275, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16276, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16277, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26681, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26682, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26683, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26684, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16274, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16275, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16276, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16277, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26681, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26682, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26683, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26684, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00824AFC */ static void lay_down_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lay_down_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00824B0C */ static void lay_down_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16510, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16515, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16520, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16525, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16511, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16516, 0, 0, 32, 16, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16521, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16526, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16512, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16517, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16522, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16527, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16513, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16518, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16523, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16528, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16514, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16519, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16524, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16529, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26949, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26954, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26959, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26964, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16510, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16515, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16520, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16525, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16511, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16516, 0, 0, 32, 16, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16521, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16526, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16512, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16517, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16522, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16527, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16513, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16518, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16523, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16528, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16514, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16519, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16524, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16529, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26949, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26954, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26959, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26964, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26950, 0, 0, 32, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26955, 0, 0, 32, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26960, 0, 16, 32, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26965, 0, 16, 32, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26951, 0, 16, 16, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26956, 16, 16, 16, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26961, 16, 0, 16, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26966, 0, 0, 16, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26952, 16, 0, 16, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26957, 0, 0, 16, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26962, 0, 0, 16, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26967, 16, 0, 16, 32, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26953, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26958, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26963, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26968, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26950, 0, 0, 32, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26955, 0, 0, 32, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26960, 0, 16, 32, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26965, 0, 16, 32, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26951, 0, 16, 16, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26956, 16, 16, 16, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26961, 16, 0, 16, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26966, 0, 0, 16, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26952, 16, 0, 16, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26957, 0, 0, 16, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26962, 0, 0, 16, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26967, 16, 0, 16, 32, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26953, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26958, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26963, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26968, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x00824B1C */ static void lay_down_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16490, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16495, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16500, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16505, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16491, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16496, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16501, 0, 0, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16506, 0, 0, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16492, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16497, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16502, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16507, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16493, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16498, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16503, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16508, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16494, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16499, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16504, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16509, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26929, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26934, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26939, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26944, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16490, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16495, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16500, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16505, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16491, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16496, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16501, 0, 0, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16506, 0, 0, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16492, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16497, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16502, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16507, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16493, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16498, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16503, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16508, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16494, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16499, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16504, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16509, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26929, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26934, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26939, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26944, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26930, 0, 16, 32, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26935, 0, 16, 32, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26940, 0, 0, 32, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26945, 0, 0, 32, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26931, 0, 0, 16, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26936, 16, 0, 16, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26941, 16, 16, 16, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26946, 0, 16, 16, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26932, 16, 0, 16, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26937, 0, 0, 16, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26942, 0, 0, 16, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26947, 16, 0, 16, 32, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26933, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26938, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26943, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26948, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26930, 0, 16, 32, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26935, 0, 16, 32, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26940, 0, 0, 32, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26945, 0, 0, 32, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26931, 0, 0, 16, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26936, 16, 0, 16, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26941, 16, 16, 16, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26946, 0, 16, 16, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26932, 16, 0, 16, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26937, 0, 0, 16, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26942, 0, 0, 16, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26947, 16, 0, 16, 32, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26933, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26938, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26943, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26948, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 43, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x00824B2C */ static void lay_down_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - lay_down_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + lay_down_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x00824B3C */ static void lay_down_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - lay_down_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + lay_down_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00824B4C */ static void lay_down_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16402, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16406, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16405, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16409, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16403, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16407, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16404, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16408, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16404, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16408, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16403, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16407, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16405, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16409, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16402, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16406, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26641, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26645, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26644, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26648, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16402, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16406, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16405, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16409, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16403, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16407, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16404, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16408, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16404, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16408, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16403, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16407, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16405, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16409, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16402, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16406, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26641, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26645, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26644, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26648, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26642, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26646, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26643, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26647, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26642, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26646, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26643, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26647, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26643, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26647, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26642, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26646, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26643, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26647, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26642, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26646, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26644, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26648, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26641, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26645, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26644, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26648, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26641, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26645, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824B5C */ static void lay_down_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16410, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16414, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16413, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16417, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16411, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16415, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16412, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16416, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16412, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16416, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16411, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16415, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16413, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16417, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16410, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16414, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26649, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26653, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26652, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26656, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16410, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16414, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16413, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16417, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16411, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16415, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16412, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16416, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16412, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16416, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16411, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16415, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16413, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16417, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16410, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16414, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26649, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26653, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26652, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26656, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26650, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26654, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26651, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26655, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26650, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26654, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26651, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26655, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26651, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26655, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26650, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26654, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26651, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26655, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26650, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26654, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26652, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26656, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26649, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26653, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26652, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26656, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26649, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26653, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824B6C */ static void lay_down_rc_track_left_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16562, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16570, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16569, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16577, 0, 6, 32, 20, 7, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16563, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16571, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16568, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16576, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16564, 16, 0, 3, 16, 119, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16572, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16567, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16575, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16565, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16573, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16566, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16574, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16566, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16574, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16565, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16573, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16567, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16575, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16564, 16, 0, 3, 16, 119, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16572, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16568, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16576, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16563, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16571, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16569, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16577, 0, 6, 32, 20, 7, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16562, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16570, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16562, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16570, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16569, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16577, 0, 6, 32, 20, 7, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16563, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16571, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16568, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16576, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16564, 16, 0, 3, 16, 119, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16572, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16567, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16575, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16565, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16573, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16566, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16574, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16566, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16574, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16565, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16573, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16567, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16575, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16564, 16, 0, 3, 16, 119, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16572, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16568, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16576, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16563, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16571, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16569, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16577, 0, 6, 32, 20, 7, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16562, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16570, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16562, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16570, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16569, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16577, 0, 6, 32, 20, 7, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16563, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16571, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16568, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16576, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16564, 16, 0, 3, 16, 119, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16572, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16567, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16575, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16565, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16573, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16566, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16574, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16566, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16574, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16565, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16573, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16567, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16575, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16564, 16, 0, 3, 16, 119, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16572, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16568, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16576, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16563, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16571, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16569, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16577, 0, 6, 32, 20, 7, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16562, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16570, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16562, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16570, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16569, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16577, 0, 6, 32, 20, 7, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16563, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16571, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16568, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16576, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16564, 16, 0, 3, 16, 119, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16572, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16567, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16575, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16565, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16573, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16566, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16574, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16566, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16574, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16565, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16573, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16567, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16575, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16564, 16, 0, 3, 16, 119, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16572, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16568, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16576, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16563, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16571, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16569, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16577, 0, 6, 32, 20, 7, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16562, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16570, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x00824B7C */ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16593, 0, 6, 32, 20, 7, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16585, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16586, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16578, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16592, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16584, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16587, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16579, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16591, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16588, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16590, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16589, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16589, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16590, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16588, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16591, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16587, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16579, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16592, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16584, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16586, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16578, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16593, 0, 6, 32, 20, 7, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16585, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16593, 0, 6, 32, 20, 7, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16585, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16586, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16578, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16592, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16584, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16587, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16579, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16591, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16588, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16590, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16589, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16589, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16590, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16588, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16591, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16587, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16579, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16592, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16584, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16586, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16578, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16593, 0, 6, 32, 20, 7, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16585, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16593, 0, 6, 32, 20, 7, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16585, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16586, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16578, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16592, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16584, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16587, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16579, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16591, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16588, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16590, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16589, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16589, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16590, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16588, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16591, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16587, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16579, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16592, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16584, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16586, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16578, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16593, 0, 6, 32, 20, 7, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16585, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16593, 0, 6, 32, 20, 7, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16585, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16586, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16578, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16592, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16584, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16587, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16579, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16591, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16588, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16590, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16589, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16589, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16590, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16588, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16591, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16587, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16579, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16592, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16584, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16586, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16578, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16593, 0, 6, 32, 20, 7, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16585, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } - track_paint_util_right_vertical_loop_segments(direction, trackSequence); + track_paint_util_right_vertical_loop_segments(direction, trackSequence); } /** rct2: 0x00824BBC */ static void lay_down_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16381, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16384, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16387, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16378, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16380, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16383, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16386, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16377, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16379, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16382, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16385, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16376, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26710, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26713, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26716, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26707, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16381, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16384, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16387, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16378, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16380, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16383, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16386, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16377, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16379, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16382, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16385, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16376, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26710, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26713, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26716, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26707, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26709, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26712, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26715, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26706, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26708, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26711, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26714, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26705, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26709, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26712, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26715, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26706, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26708, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26711, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26714, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26705, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824BCC */ static void lay_down_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - lay_down_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + lay_down_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00824BDC */ static void lay_down_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16393, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16400, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16396, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16399, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16390, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16392, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16395, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16398, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16389, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16391, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16394, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16397, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16401, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16388, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26722, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26725, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26728, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26719, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16393, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16400, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16396, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16399, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16390, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16392, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16395, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16398, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16389, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16391, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16394, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16397, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16401, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16388, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26722, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26725, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26728, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26719, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26721, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26724, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26727, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26718, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26720, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26723, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26726, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26717, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26721, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26724, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26727, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26718, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26720, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26723, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26726, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26717, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824BEC */ static void lay_down_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - lay_down_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + lay_down_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00824BFC */ static void lay_down_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16541, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16543, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16545, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16539, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16540, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16542, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16544, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16538, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26924, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26926, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26928, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26922, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16541, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16543, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16545, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16539, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16540, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16542, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16544, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16538, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26924, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26926, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26928, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26922, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26923, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26925, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26927, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26921, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26923, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26925, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26927, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26921, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x00824C0C */ static void lay_down_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16530, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16532, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16534, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16536, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16531, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16533, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16535, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16537, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26913, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26915, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26917, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26919, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16530, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16532, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16534, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16536, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16531, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16533, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16535, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16537, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26913, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26915, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26917, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26919, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26914, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26916, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26918, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26920, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26914, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26916, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26918, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26920, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 41, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x00824C1C */ static void lay_down_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - lay_down_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + lay_down_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x00824C2C */ static void lay_down_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - lay_down_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + lay_down_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00824C9C */ static void lay_down_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16481, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16488, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16484, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16487, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16478, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16480, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16486, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16477, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16479, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16482, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16485, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16489, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16476, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16478, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16481, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16488, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16484, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16487, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16477, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16480, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16486, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16476, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16479, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16482, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16485, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16489, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16481, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16488, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16484, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16487, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16478, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16480, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16486, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16477, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16479, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16482, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16485, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16489, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16476, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16478, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16481, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16488, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16484, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16487, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16477, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16480, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16486, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16476, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16479, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16482, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16485, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16489, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16481, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16488, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16484, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16487, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16478, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16480, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16486, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16477, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16479, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16482, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16485, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16489, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16476, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16478, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16481, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16488, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16484, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16487, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16477, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16480, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16486, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16476, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16479, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16482, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16485, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16489, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16481, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16488, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16484, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16487, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16478, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16480, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16486, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16477, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16479, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16482, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16485, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16489, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16476, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16478, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16481, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16488, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16484, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16487, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16477, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16480, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16486, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16476, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16479, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16482, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16485, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16489, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824CAC */ static void lay_down_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16462, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16465, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16468, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16471, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16475, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16463, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16466, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16469, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16472, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16464, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16467, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16474, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16470, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16473, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16465, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16468, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16471, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16475, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16462, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16466, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16469, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16472, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16463, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16467, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16474, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16470, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16473, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16464, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16462, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16465, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16468, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16471, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16475, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16463, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16466, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16469, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16472, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16464, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16467, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16474, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16470, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16473, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16465, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16468, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16471, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16475, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16462, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16466, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16469, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16472, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16463, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16467, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16474, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16470, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16473, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16464, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16462, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16465, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16468, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16471, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16475, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16463, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16466, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16469, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16472, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16464, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16467, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16474, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16470, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16473, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16465, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16468, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16471, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16475, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16462, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16466, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16469, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16472, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16463, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16467, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16474, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16470, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16473, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16464, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16462, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16465, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16468, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16471, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16475, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16463, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16466, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16469, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16472, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16464, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16467, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16474, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16470, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16473, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16465, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16468, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16471, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16475, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16462, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16466, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16469, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16472, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16463, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16467, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16474, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16470, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16473, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16464, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824CBC */ static void lay_down_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - lay_down_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + lay_down_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x00824CCC */ static void lay_down_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - lay_down_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + lay_down_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00824CDC */ static void lay_down_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16449, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16460, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16454, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16459, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16444, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16448, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16453, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16458, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16443, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16447, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16452, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16457, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16442, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16446, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16451, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16456, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16441, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16445, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16450, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16455, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16461, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16440, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16444, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16449, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16460, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16454, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16459, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16443, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16448, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16453, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16458, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16442, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16447, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16452, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16457, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16441, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16446, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16451, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16456, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16440, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16445, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16450, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16455, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16461, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16449, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16460, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16454, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16459, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16444, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16448, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16453, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16458, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16443, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16447, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16452, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16457, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16442, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16446, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16451, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16456, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16441, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16445, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16450, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16455, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16461, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16440, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16444, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16449, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16460, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16454, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16459, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16443, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16448, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16453, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16458, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16442, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16447, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16452, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16457, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16441, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16446, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16451, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16456, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16440, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16445, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16450, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16455, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16461, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16449, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16460, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16454, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16459, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16444, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16448, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16453, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16458, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16443, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16447, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16452, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16457, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16442, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16446, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16451, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16456, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16441, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16445, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16450, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16455, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16461, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16440, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16444, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16449, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16460, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16454, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16459, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16443, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16448, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16453, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16458, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16442, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16447, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16452, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16457, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16441, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16446, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16451, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16456, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16440, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16445, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16450, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16455, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16461, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16449, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16460, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16454, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16459, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16444, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16448, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16453, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16458, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16443, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16447, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16452, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16457, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16442, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16446, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16451, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16456, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16441, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16445, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16450, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16455, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16461, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16440, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16444, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16449, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16460, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16454, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16459, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16443, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16448, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16453, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16458, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16442, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16447, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16452, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16457, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16441, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16446, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16451, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16456, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16440, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16445, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16450, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16455, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16461, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824CEC */ static void lay_down_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16418, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16423, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16428, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16433, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16439, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16419, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16424, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16429, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16434, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16420, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16425, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16430, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16435, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16421, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16426, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16431, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16436, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16422, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16427, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16438, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16432, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16437, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16423, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16428, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16433, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16439, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16418, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16424, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16429, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16434, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16419, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16425, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16430, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16435, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16420, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16426, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16431, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16436, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16421, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16427, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16438, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16432, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16437, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16422, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16418, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16423, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16428, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16433, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16439, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16419, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16424, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16429, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16434, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16420, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16425, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16430, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16435, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16421, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16426, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16431, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16436, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16422, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16427, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16438, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16432, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16437, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16423, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16428, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16433, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16439, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16418, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16424, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16429, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16434, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16419, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16425, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16430, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16435, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16420, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16426, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16431, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16436, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16421, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16427, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16438, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16432, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16437, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16422, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16418, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16423, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16428, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16433, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16439, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16419, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16424, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16429, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16434, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16420, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16425, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16430, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16435, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16421, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16426, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16431, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16436, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16422, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16427, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16438, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16432, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16437, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16423, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16428, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16433, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16439, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16418, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16424, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16429, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16434, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16419, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16425, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16430, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16435, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16420, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16426, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16431, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16436, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16421, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16427, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16438, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16432, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16437, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16422, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16418, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16423, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16428, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16433, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16439, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16419, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16424, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16429, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16434, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16420, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16425, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16430, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16435, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16421, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16426, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16431, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16436, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16422, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16427, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16438, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16432, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16437, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16423, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16428, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16433, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16439, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16418, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16424, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16429, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16434, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16419, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16425, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16430, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16435, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16420, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16426, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16431, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16436, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16421, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16427, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16438, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16432, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16437, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16422, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824CFC */ static void lay_down_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - lay_down_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + lay_down_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x00824D0C */ static void lay_down_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - lay_down_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + lay_down_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00824D3C */ static void lay_down_rc_track_left_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16555, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16559, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16556, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16560, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16557, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16561, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16554, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16558, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26910, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26906, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26911, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26907, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26912, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26908, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26909, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26905, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - } - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_1, +56, TUNNEL_2); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16555, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16559, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16556, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16560, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16557, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16561, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16554, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16558, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26910, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26906, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26911, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26907, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26912, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26908, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26909, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26905, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + } + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_1, +56, TUNNEL_2); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x00824D1C */ static void lay_down_rc_track_right_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16546, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16550, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16547, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16551, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16548, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16552, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16549, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16553, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26901, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26897, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26902, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26898, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26903, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26899, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26904, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26900, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16546, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16550, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16547, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16551, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16548, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16552, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16549, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16553, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26901, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26897, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26902, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26898, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26903, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26899, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26904, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26900, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + } - track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_1, +56, TUNNEL_2); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_1, +56, TUNNEL_2); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x00824D2C */ static void lay_down_rc_track_left_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + lay_down_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x00824D4C */ static void lay_down_rc_track_right_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + lay_down_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00824D5C */ static void lay_down_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16230, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16231, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26559, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26560, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16230, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16231, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26559, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26560, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00824D6C */ static void lay_down_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16224, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16225, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16224, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16225, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26555, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26556, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26555, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26556, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16224, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16225, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16224, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16225, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26555, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26556, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26555, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26556, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + } } /** rct2: 0x00824D8C */ static void lay_down_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16740, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16744, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16748, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16752, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16741, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16745, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16749, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16753, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16742, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16746, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16750, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16754, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16743, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16747, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16751, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16755, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26765, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26769, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26773, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26777, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16740, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16744, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16748, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16752, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16741, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16745, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16749, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16753, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16742, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16746, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16750, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16754, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16743, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16747, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16751, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16755, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26765, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26769, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26773, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26777, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26766, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26770, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26774, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26778, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26767, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26771, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26775, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26779, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26768, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26772, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26776, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26780, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26766, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26770, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26774, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26778, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26767, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26771, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26775, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26779, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26768, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26772, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26776, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26780, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824D9C */ static void lay_down_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16724, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16728, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16732, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16736, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16725, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16729, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16733, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16737, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16726, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16730, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16734, 0, 0, 28, 28, 3, height, 4, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16738, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16727, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16731, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16735, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16739, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26749, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26753, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26757, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26761, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16724, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16728, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16732, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16736, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16725, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16729, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16733, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16737, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16726, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16730, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16734, 0, 0, 28, 28, 3, height, 4, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16738, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16727, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16731, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16735, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16739, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26749, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26753, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26757, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26761, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26750, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26754, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26758, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26762, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26751, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26755, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26759, 0, 0, 28, 28, 3, height + 24, 4, 4, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26763, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26752, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26756, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26760, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26764, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26750, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26754, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26758, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26762, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26751, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26755, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26759, 0, 0, 28, 28, 3, height + 24, 4, 4, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26763, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26752, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26756, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26760, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26764, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824DAC */ static void lay_down_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - lay_down_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + lay_down_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00824DBC */ static void lay_down_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - lay_down_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + lay_down_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x00824DCC */ static void lay_down_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16772, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16776, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16780, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16784, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16773, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16777, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16781, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16785, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16774, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16778, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16782, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16786, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16775, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16779, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16783, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16787, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26853, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26857, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26861, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26865, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16772, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16776, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16780, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16784, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16773, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16777, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16781, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16785, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16774, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16778, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16782, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16786, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16775, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16779, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16783, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16787, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26853, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26857, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26861, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26865, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26854, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26858, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26862, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26866, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26855, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26859, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26863, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26867, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26856, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26860, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26864, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26868, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26854, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26858, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26862, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26866, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26855, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26859, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26863, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26867, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26856, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26860, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26864, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26868, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824DDC */ static void lay_down_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16756, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16760, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16764, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16768, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16757, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16761, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16765, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16769, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16758, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16762, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16766, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16770, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16759, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16763, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16767, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16771, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26837, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26841, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26845, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26849, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16756, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16760, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16764, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16768, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16757, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16761, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16765, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16769, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16758, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16762, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16766, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16770, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16759, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16763, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16767, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16771, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26837, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26841, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26845, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26849, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26838, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26842, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26846, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26850, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26839, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26843, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26847, 0, 0, 28, 28, 3, height + 24, 4, 4, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26851, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26840, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26844, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26848, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26852, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26838, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26842, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26846, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26850, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26839, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26843, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26847, 0, 0, 28, 28, 3, height + 24, 4, 4, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26851, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26840, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26844, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26848, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26852, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824DEC */ static void lay_down_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - lay_down_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + lay_down_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00824DFC */ static void lay_down_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - lay_down_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + lay_down_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x00824D7C */ static void lay_down_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16699, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16637, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16696, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16634, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16698, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16636, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16697, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16635, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26812, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26784, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26809, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26781, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26811, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26783, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26810, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26782, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16699, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16637, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16696, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16634, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16698, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16636, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16697, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16635, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26812, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26784, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26809, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26781, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26811, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26783, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26810, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26782, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824E2C */ static void lay_down_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16711, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16649, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16708, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16646, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16710, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16648, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16709, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16647, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26824, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26796, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26821, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26793, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26823, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26795, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26822, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26794, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16711, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16649, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16708, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16646, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16710, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16648, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16709, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16647, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26824, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26796, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26821, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26793, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26823, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26795, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26822, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26794, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x00824E8C */ static void lay_down_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16723, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16661, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16720, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16658, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16722, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16660, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16721, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16659, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26808, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26805, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26807, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26806, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16723, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16661, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16720, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16658, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16722, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16660, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16721, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16659, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26808, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26805, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26807, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26806, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 104, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 104, 0x20); + break; + } + } } /** rct2: 0x00824E0C */ static void lay_down_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16703, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16641, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16700, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16638, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16702, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16640, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16701, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16639, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26816, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26788, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26813, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26785, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26815, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26787, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26814, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26786, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16703, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16641, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16700, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16638, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16702, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16640, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16701, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16639, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26816, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26788, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26813, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26785, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26815, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26787, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26814, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26786, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00824E6C */ static void lay_down_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16715, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16653, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16712, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16650, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16714, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16652, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16713, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16651, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26800, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26797, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26799, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26798, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16715, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16653, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16712, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16650, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16714, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16652, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16713, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16651, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26800, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26797, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26799, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26798, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x00824E7C */ static void lay_down_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16719, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16657, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16716, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16654, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16718, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16656, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16717, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16655, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26804, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26801, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26803, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26802, -16, -16, 16, 16, 3, height + 24, 0, 0, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16719, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16657, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16716, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16654, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16718, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16656, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16717, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16655, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26804, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26801, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26803, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26802, -16, -16, 16, 16, 3, height + 24, 0, 0, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x00824E1C */ static void lay_down_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16707, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16645, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16704, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16642, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16706, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16644, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16705, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16643, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26820, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26792, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26817, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26789, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26819, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26791, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26818, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26790, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16707, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16645, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16704, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16642, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16706, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16644, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16705, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16643, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26820, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26792, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26817, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26789, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26819, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26791, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26818, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26790, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x00824E5C */ static void lay_down_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16709, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16647, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16710, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16648, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16708, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16646, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16711, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16649, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26794, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26795, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26793, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26796, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16709, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16647, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16710, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16648, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16708, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16646, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16711, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16649, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26794, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26795, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26793, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26796, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 45, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x00824EBC */ static void lay_down_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16721, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16659, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16722, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16660, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16720, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16658, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16723, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16661, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26806, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26807, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26805, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26808, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16721, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16659, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16722, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16660, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16720, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16658, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16723, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16661, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26806, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26807, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26805, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26808, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 104, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 104, 0x20); + break; + } + } } /** rct2: 0x00824E3C */ static void lay_down_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16705, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16643, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16706, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16644, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16704, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16642, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16707, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16645, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26790, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26791, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26789, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26792, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16705, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16643, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16706, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16644, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16704, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16642, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16707, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16645, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26790, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26791, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26789, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26792, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x00824E9C */ static void lay_down_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16717, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16655, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16718, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16656, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16716, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16654, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16719, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16657, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26802, -16, -16, 16, 16, 3, height + 24, 0, 0, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26803, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26801, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26804, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16717, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16655, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16718, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16656, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16716, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16654, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16719, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16657, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26802, -16, -16, 16, 16, 3, height + 24, 0, 0, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26803, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26801, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26804, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x00824EAC */ static void lay_down_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16713, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16651, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16714, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16652, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16712, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16650, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16715, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16653, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26798, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26799, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26797, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26800, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16713, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16651, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16714, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16652, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16712, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16650, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16715, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16653, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26798, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26799, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26797, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26800, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x00824E4C */ static void lay_down_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16701, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16639, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16702, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16640, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16700, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16638, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16703, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16641, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26786, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26787, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26785, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26788, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16701, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16639, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16702, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16640, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16700, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16638, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16703, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16641, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26786, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26787, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26785, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26788, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00824EEC */ static void lay_down_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16669, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16666, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16670, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16668, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16667, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26876, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26873, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26875, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26874, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16669, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16666, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16670, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16668, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16667, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26876, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26873, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26875, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26874, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824EFC */ static void lay_down_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16674, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16671, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16673, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16675, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16672, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26880, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26877, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26879, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26878, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16674, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16671, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16673, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16675, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16672, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26880, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26877, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26879, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26878, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824F0C */ static void lay_down_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16672, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16673, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16675, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16671, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16674, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26878, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26879, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26877, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26880, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16672, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16673, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16675, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16671, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16674, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26878, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26879, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26877, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26880, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824F1C */ static void lay_down_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16667, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16668, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16666, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16670, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16669, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26874, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26875, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26873, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26876, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16667, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16668, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16666, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16670, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16669, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26874, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26875, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26873, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26876, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824F4C */ static void lay_down_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16689, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16686, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16690, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16688, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16687, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26892, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26889, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26891, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26890, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16689, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16686, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16690, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16688, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16687, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26892, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26889, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26891, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26890, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00824F5C */ static void lay_down_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16694, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16691, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16693, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16695, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16692, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26896, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26893, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26895, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26894, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16694, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16691, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16693, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16695, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16692, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26896, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26893, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26895, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26894, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00824F2C */ static void lay_down_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16679, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16676, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16680, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16678, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16677, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26884, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26881, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26883, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26882, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16679, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16676, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16680, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16678, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16677, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26884, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26881, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26883, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26882, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x00824F3C */ static void lay_down_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16684, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16681, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16683, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16685, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16682, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26888, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26885, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26887, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26886, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16684, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16681, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16683, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16685, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16682, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26888, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26885, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26887, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26886, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x00824F6C */ static void lay_down_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16682, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16683, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16685, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16681, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16684, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26886, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26887, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26885, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26888, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16682, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16683, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16685, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16681, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16684, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26886, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26887, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26885, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26888, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x00824F7C */ static void lay_down_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16677, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16678, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16676, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16680, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16679, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26882, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26883, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26881, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26884, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16677, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16678, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16676, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16680, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16679, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26882, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26883, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26881, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26884, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 39, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x00824F8C */ static void lay_down_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16692, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16693, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16695, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16691, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16694, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26894, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26895, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26893, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26896, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16692, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16693, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16695, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16691, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16694, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26894, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26895, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26893, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26896, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00824F9C */ static void lay_down_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16687, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16688, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16686, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16690, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16689, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26890, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26891, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26889, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26892, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16687, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16688, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16686, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16690, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16689, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26890, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26891, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26889, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26892, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 37, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00824ECC */ static void lay_down_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16665, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16662, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16664, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16663, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26872, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26869, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26871, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26870, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16665, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16662, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16664, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16663, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26872, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26869, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26871, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26870, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824EDC */ static void lay_down_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16663, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16664, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16662, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16665, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26870, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26871, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26869, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26872, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16663, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16664, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16662, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16665, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26870, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26871, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26869, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26872, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824FAC */ static void lay_down_rc_track_left_flyer_twist_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26972, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26978, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26971, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26977, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26973, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26979, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26970, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26976, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26974, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26980, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26969, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26975, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26972, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26978, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26971, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26977, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26973, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26979, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26970, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26976, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26974, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26980, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26969, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26975, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26972, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26978, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26971, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26977, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26973, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26979, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26970, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26976, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26974, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26980, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26969, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26975, 0, 6, 32, 20, 3, height + 24); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26972, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26978, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26971, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26977, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26973, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26979, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26970, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26976, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26974, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26980, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26969, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26975, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824FBC */ static void lay_down_rc_track_right_flyer_twist_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26984, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26990, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26983, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26989, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26985, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26991, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26982, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26988, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26986, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26992, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26981, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26987, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26984, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26990, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26983, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26989, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26985, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26991, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26982, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26988, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26986, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26992, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26981, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26987, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26984, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26990, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26983, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26989, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26985, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26991, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26982, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26988, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26986, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26992, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26981, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26987, 0, 6, 32, 20, 3, height + 24); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26984, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26990, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26983, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26989, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26985, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26991, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26982, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26988, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26986, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26992, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26981, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26987, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824FCC */ static void lay_down_rc_track_left_flyer_twist_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26969, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26975, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26974, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26980, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26969, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26975, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26974, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26980, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26970, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26976, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26973, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26979, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26971, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26977, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26972, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26978, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26969, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26975, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26974, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26980, 0, 6, 32, 20, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26970, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26976, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26973, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26979, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26971, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26977, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26972, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26978, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26969, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26975, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26974, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26980, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26970, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26976, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26973, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26979, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26971, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26977, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26972, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26978, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26970, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26976, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26973, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26979, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26971, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26977, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26972, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26978, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824FDC */ static void lay_down_rc_track_right_flyer_twist_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26981, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26987, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26986, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26992, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26981, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26987, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26986, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26992, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26982, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26988, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26985, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26991, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26983, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26989, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26984, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26990, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26981, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26987, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26986, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26992, 0, 6, 32, 20, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26982, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26988, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26985, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26991, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26983, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26989, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26984, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26990, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26981, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26987, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26986, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26992, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26982, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26988, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26985, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26991, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26983, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26989, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26984, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26990, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26982, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26988, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26985, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26991, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26983, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26989, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26984, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26990, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00824C3C */ static void lay_down_rc_track_flyer_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16594, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16602, 0, 6, 32, 20, 11, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16601, 0, 6, 32, 20, 9, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16609, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16595, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16603, 0, 14, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16600, 0, 6, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16608, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16596, 16, 0, 2, 16, 119, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16604, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16599, 10, 16, 4, 12, 119, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16607, 16, 16, 2, 16, 119, height, 15, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16597, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16605, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16598, 0, 16, 32, 12, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16606, 0, 16, 32, 12, 3, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16594, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16602, 0, 6, 32, 20, 11, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16601, 0, 6, 32, 20, 9, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16609, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16595, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16603, 0, 14, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16600, 0, 6, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16608, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16596, 16, 0, 2, 16, 119, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16604, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16599, 10, 16, 4, 12, 119, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16607, 16, 16, 2, 16, 119, height, 15, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16597, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16605, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16598, 0, 16, 32, 12, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16606, 0, 16, 32, 12, 3, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16594, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16602, 0, 6, 32, 20, 11, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16601, 0, 6, 32, 20, 9, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16609, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16595, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16603, 0, 14, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16600, 0, 6, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16608, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16596, 16, 0, 2, 16, 119, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16604, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16599, 10, 16, 4, 12, 119, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16607, 16, 16, 2, 16, 119, height, 15, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16597, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16605, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16598, 0, 16, 32, 12, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16606, 0, 16, 32, 12, 3, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16594, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16602, 0, 6, 32, 20, 11, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16601, 0, 6, 32, 20, 9, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16609, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16595, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16603, 0, 14, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16600, 0, 6, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16608, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16596, 16, 0, 2, 16, 119, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16604, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16599, 10, 16, 4, 12, 119, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16607, 16, 16, 2, 16, 119, height, 15, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16597, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16605, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16598, 0, 16, 32, 12, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16606, 0, 16, 32, 12, 3, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00824C4C */ static void lay_down_rc_track_flyer_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16597, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16605, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16598, 0, 16, 32, 12, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16606, 0, 16, 32, 12, 3, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16596, 16, 0, 2, 16, 119, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16604, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16599, 10, 16, 4, 12, 119, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16607, 16, 16, 2, 16, 119, height, 15, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16595, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16603, 0, 14, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16600, 0, 6, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16608, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16594, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16602, 0, 6, 32, 20, 11, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16601, 0, 6, 32, 20, 9, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16609, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16597, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16605, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16598, 0, 16, 32, 12, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16606, 0, 16, 32, 12, 3, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16596, 16, 0, 2, 16, 119, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16604, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16599, 10, 16, 4, 12, 119, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16607, 16, 16, 2, 16, 119, height, 15, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16595, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16603, 0, 14, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16600, 0, 6, 3, 20, 63, height, 28, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16608, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16594, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16602, 0, 6, 32, 20, 11, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16601, 0, 6, 32, 20, 9, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16609, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16597, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16605, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16598, 0, 16, 32, 12, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16606, 0, 16, 32, 12, 3, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16596, 16, 0, 2, 16, 119, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16604, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16599, 10, 16, 4, 12, 119, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16607, 16, 16, 2, 16, 119, height, 15, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16595, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16603, 0, 14, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16600, 0, 6, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16608, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16594, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16602, 0, 6, 32, 20, 11, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16601, 0, 6, 32, 20, 9, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16609, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16597, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16605, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16598, 0, 16, 32, 12, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16606, 0, 16, 32, 12, 3, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16596, 16, 0, 2, 16, 119, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16604, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16599, 10, 16, 4, 12, 119, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16607, 16, 16, 2, 16, 119, height, 15, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16595, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16603, 0, 14, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16600, 0, 6, 3, 20, 63, height, 28, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16608, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16594, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16602, 0, 6, 32, 20, 11, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16601, 0, 6, 32, 20, 9, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16609, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x00824C5C */ static void lay_down_rc_track_left_flyer_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16610, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16613, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16616, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16619, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16610, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16613, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16616, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16619, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + } - if (direction == 2) { - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction != 2) { - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - } + if (direction == 2) { + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction != 2) { + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16611, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16614, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16617, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16620, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16612, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16615, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16618, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16621, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16611, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16614, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16617, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16620, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16612, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16615, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16618, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16621, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16610, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16613, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16616, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16619, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16610, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16613, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16616, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16619, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + } - if (direction == 2) { - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction != 2) { - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - } + if (direction == 2) { + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction != 2) { + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16611, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16614, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16617, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16620, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16612, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16615, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16618, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16621, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16611, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16614, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16617, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16620, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16612, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16615, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16618, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16621, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00824C6C */ static void lay_down_rc_track_right_flyer_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16622, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16625, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16628, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16631, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16623, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16626, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16629, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16632, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16624, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16627, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16630, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16633, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16622, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16625, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16628, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16631, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16623, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16626, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16629, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16632, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16624, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16627, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16630, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16633, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16622, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16625, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16628, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16631, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16623, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16626, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16629, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16632, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16624, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16627, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16630, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16633, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16622, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16625, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16628, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16631, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16623, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16626, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16629, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16632, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16624, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16627, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16630, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16633, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00824C7C */ static void lay_down_rc_track_left_flyer_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16627, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16630, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16633, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16624, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16627, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16630, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16633, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16624, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16626, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16629, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16632, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16623, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16625, 0, 0, 20, 32, 3, height, 6, 0, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16628, 0, 0, 20, 32, 3, height, 6, 0, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16631, 0, 0, 20, 32, 3, height, 6, 0, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16622, 0, 0, 20, 32, 3, height, 6, 0, height + 4); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16627, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16630, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16633, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16624, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16626, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16629, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16632, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16623, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16625, 0, 0, 20, 32, 3, height, 6, 0, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16628, 0, 0, 20, 32, 3, height, 6, 0, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16631, 0, 0, 20, 32, 3, height, 6, 0, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16622, 0, 0, 20, 32, 3, height, 6, 0, height + 4); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16627, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16630, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16633, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16624, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16626, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16629, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16632, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16623, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16625, 0, 0, 20, 32, 3, height, 6, 0, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16628, 0, 0, 20, 32, 3, height, 6, 0, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16631, 0, 0, 20, 32, 3, height, 6, 0, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16622, 0, 0, 20, 32, 3, height, 6, 0, height + 4); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16626, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16629, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16632, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16623, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16625, 0, 0, 20, 32, 3, height, 6, 0, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16628, 0, 0, 20, 32, 3, height, 6, 0, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16631, 0, 0, 20, 32, 3, height, 6, 0, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16622, 0, 0, 20, 32, 3, height, 6, 0, height + 4); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00824C8C */ static void lay_down_rc_track_right_flyer_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lay_down_rc_track_left_flyer_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 3) % 4, height, mapElement); + lay_down_rc_track_left_flyer_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 3) % 4, height, mapElement); } /** rct2: 0x00824FEC */ static void lay_down_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16232, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16233, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26559, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26560, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16232, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16233, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26559, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26560, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 33, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_general_support_height(height + 32, 0x20); + } } TRACK_PAINT_FUNCTION get_track_paint_function_lay_down_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return lay_down_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return lay_down_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return lay_down_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return lay_down_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return lay_down_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return lay_down_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return lay_down_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return lay_down_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return lay_down_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return lay_down_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return lay_down_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return lay_down_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return lay_down_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return lay_down_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return lay_down_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return lay_down_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return lay_down_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return lay_down_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return lay_down_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return lay_down_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return lay_down_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return lay_down_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return lay_down_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return lay_down_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return lay_down_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return lay_down_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return lay_down_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return lay_down_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return lay_down_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return lay_down_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return lay_down_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return lay_down_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return lay_down_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return lay_down_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return lay_down_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return lay_down_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return lay_down_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return lay_down_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - return lay_down_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - return lay_down_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return lay_down_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return lay_down_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return lay_down_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return lay_down_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return lay_down_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return lay_down_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return lay_down_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return lay_down_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return lay_down_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return lay_down_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return lay_down_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return lay_down_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return lay_down_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return lay_down_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return lay_down_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return lay_down_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - return lay_down_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - return lay_down_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return lay_down_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return lay_down_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: - return lay_down_rc_track_brakes; - case TRACK_ELEM_ON_RIDE_PHOTO: - return lay_down_rc_track_on_ride_photo; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return lay_down_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return lay_down_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return lay_down_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return lay_down_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return lay_down_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return lay_down_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return lay_down_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return lay_down_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return lay_down_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return lay_down_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return lay_down_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return lay_down_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return lay_down_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return lay_down_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return lay_down_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return lay_down_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return lay_down_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return lay_down_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return lay_down_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return lay_down_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return lay_down_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return lay_down_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return lay_down_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return lay_down_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return lay_down_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return lay_down_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return lay_down_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return lay_down_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return lay_down_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return lay_down_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return lay_down_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return lay_down_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return lay_down_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return lay_down_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return lay_down_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_FLYER_TWIST_UP: - return lay_down_rc_track_left_flyer_twist_up; - case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: - return lay_down_rc_track_right_flyer_twist_up; - case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: - return lay_down_rc_track_left_flyer_twist_down; - case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: - return lay_down_rc_track_right_flyer_twist_down; - case TRACK_ELEM_FLYER_HALF_LOOP_UP: - return lay_down_rc_track_flyer_half_loop_up; - case TRACK_ELEM_FLYER_HALF_LOOP_DOWN: - return lay_down_rc_track_flyer_half_loop_down; - case TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP: - return lay_down_rc_track_left_flyer_corkscrew_up; - case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP: - return lay_down_rc_track_right_flyer_corkscrew_up; - case TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN: - return lay_down_rc_track_left_flyer_corkscrew_down; - case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN: - return lay_down_rc_track_right_flyer_corkscrew_down; - case TRACK_ELEM_BLOCK_BRAKES: - return lay_down_rc_track_block_brakes; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return lay_down_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return lay_down_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return lay_down_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return lay_down_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return lay_down_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return lay_down_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return lay_down_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return lay_down_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return lay_down_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return lay_down_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return lay_down_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return lay_down_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return lay_down_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return lay_down_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return lay_down_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return lay_down_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return lay_down_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return lay_down_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return lay_down_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return lay_down_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return lay_down_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return lay_down_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return lay_down_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return lay_down_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return lay_down_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return lay_down_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return lay_down_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return lay_down_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return lay_down_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return lay_down_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return lay_down_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return lay_down_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return lay_down_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return lay_down_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return lay_down_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return lay_down_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return lay_down_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return lay_down_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + return lay_down_rc_track_left_vertical_loop; + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + return lay_down_rc_track_right_vertical_loop; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return lay_down_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return lay_down_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return lay_down_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return lay_down_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return lay_down_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return lay_down_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return lay_down_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return lay_down_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return lay_down_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return lay_down_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return lay_down_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return lay_down_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return lay_down_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return lay_down_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return lay_down_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return lay_down_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + return lay_down_rc_track_left_quarter_turn_1_60_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + return lay_down_rc_track_right_quarter_turn_1_60_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return lay_down_rc_track_left_quarter_turn_1_60_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return lay_down_rc_track_right_quarter_turn_1_60_deg_down; + case TRACK_ELEM_BRAKES: + return lay_down_rc_track_brakes; + case TRACK_ELEM_ON_RIDE_PHOTO: + return lay_down_rc_track_on_ride_photo; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return lay_down_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return lay_down_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return lay_down_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return lay_down_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return lay_down_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return lay_down_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return lay_down_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return lay_down_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return lay_down_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return lay_down_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return lay_down_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return lay_down_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return lay_down_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return lay_down_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return lay_down_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return lay_down_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return lay_down_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return lay_down_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return lay_down_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return lay_down_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return lay_down_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return lay_down_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return lay_down_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return lay_down_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return lay_down_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return lay_down_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return lay_down_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return lay_down_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return lay_down_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return lay_down_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return lay_down_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return lay_down_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return lay_down_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return lay_down_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return lay_down_rc_track_diag_right_bank; + case TRACK_ELEM_LEFT_FLYER_TWIST_UP: + return lay_down_rc_track_left_flyer_twist_up; + case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: + return lay_down_rc_track_right_flyer_twist_up; + case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: + return lay_down_rc_track_left_flyer_twist_down; + case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: + return lay_down_rc_track_right_flyer_twist_down; + case TRACK_ELEM_FLYER_HALF_LOOP_UP: + return lay_down_rc_track_flyer_half_loop_up; + case TRACK_ELEM_FLYER_HALF_LOOP_DOWN: + return lay_down_rc_track_flyer_half_loop_down; + case TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP: + return lay_down_rc_track_left_flyer_corkscrew_up; + case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP: + return lay_down_rc_track_right_flyer_corkscrew_up; + case TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN: + return lay_down_rc_track_left_flyer_corkscrew_down; + case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN: + return lay_down_rc_track_right_flyer_corkscrew_down; + case TRACK_ELEM_BLOCK_BRAKES: + return lay_down_rc_track_block_brakes; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/lim_launched_roller_coaster.c b/src/openrct2/ride/coaster/lim_launched_roller_coaster.c index d77a319a7c..236c9a2680 100644 --- a/src/openrct2/ride/coaster/lim_launched_roller_coaster.c +++ b/src/openrct2/ride/coaster/lim_launched_roller_coaster.c @@ -29,1372 +29,1372 @@ /** rct2: 0x008A6D50, 0x008A6D60, 0x008A6D70 */ static void lim_launched_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { 15018, 15020, SPR_STATION_BASE_B_SW_NE }, - { 15019, 15021, SPR_STATION_BASE_B_NW_SE }, - { 15018, 15020, SPR_STATION_BASE_B_SW_NE }, - { 15019, 15021, SPR_STATION_BASE_B_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { 15018, 15020, SPR_STATION_BASE_B_SW_NE }, + { 15019, 15021, SPR_STATION_BASE_B_NW_SE }, + { 15018, 15020, SPR_STATION_BASE_B_SW_NE }, + { 15019, 15021, SPR_STATION_BASE_B_NW_SE }, + }; - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } else { - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } - sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } else { + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } + sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A65E0 */ static void lim_launched_rc_track_left_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15388, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15396, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15395, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15403, 0, 6, 32, 20, 7, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15389, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15397, 0, 14, 32, 2, 63, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15394, 0, 6, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15402, 0, 6, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15390, 16, 0, 3, 16, 119, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15398, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15393, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15401, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15391, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15399, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15392, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15400, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15392, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15400, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15391, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15399, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15393, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15401, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15390, 16, 0, 3, 16, 119, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15398, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15394, 0, 6, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15402, 0, 6, 32, 26, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15389, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15397, 0, 14, 32, 2, 63, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15395, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15403, 0, 6, 32, 20, 7, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15388, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15396, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15388, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15396, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15395, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15403, 0, 6, 32, 20, 7, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15389, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15397, 0, 14, 32, 2, 63, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15394, 0, 6, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15402, 0, 6, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15390, 16, 0, 3, 16, 119, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15398, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15393, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15401, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15391, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15399, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15392, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15400, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15392, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15400, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15391, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15399, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15393, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15401, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15390, 16, 0, 3, 16, 119, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15398, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15394, 0, 6, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15402, 0, 6, 32, 26, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15389, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15397, 0, 14, 32, 2, 63, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15395, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15403, 0, 6, 32, 20, 7, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15388, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15396, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A65F0 */ static void lim_launched_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15419, 0, 6, 32, 20, 7, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15411, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15412, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15404, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15418, 0, 6, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15410, 0, 6, 32, 26, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15413, 0, 14, 32, 2, 63, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15405, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15417, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15409, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15414, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15406, 16, 0, 2, 16, 119, height, 16, 0, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15416, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15408, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15415, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15407, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15415, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15407, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15416, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15408, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15414, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15406, 16, 0, 2, 16, 119, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15417, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15409, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15413, 0, 14, 32, 2, 63, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15405, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15418, 0, 6, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15410, 0, 6, 32, 26, 3, height); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15412, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15404, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15419, 0, 6, 32, 20, 7, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15411, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15419, 0, 6, 32, 20, 7, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15411, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15412, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15404, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15418, 0, 6, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15410, 0, 6, 32, 26, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15413, 0, 14, 32, 2, 63, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15405, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15417, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15409, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15414, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15406, 16, 0, 2, 16, 119, height, 16, 0, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15416, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15408, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15415, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15407, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15415, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15407, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15416, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15408, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15414, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15406, 16, 0, 2, 16, 119, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15417, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15409, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15413, 0, 14, 32, 2, 63, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15405, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15418, 0, 6, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15410, 0, 6, 32, 26, 3, height); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15412, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15404, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15419, 0, 6, 32, 20, 7, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15411, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } - track_paint_util_right_vertical_loop_segments(direction, trackSequence); + track_paint_util_right_vertical_loop_segments(direction, trackSequence); } /** rct2: 0x008A6D10 */ static void lim_launched_rc_track_left_twist_down_to_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15758, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15782, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15761, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15785, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15764, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15788, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15767, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15791, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15759, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15783, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15762, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15786, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15765, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15789, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15768, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15792, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15760, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15784, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15763, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15787, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15766, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15790, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15769, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15793, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 32, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height - 32, TUNNEL_3); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15758, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15782, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15761, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15785, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15764, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15788, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15767, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15791, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15759, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15783, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15762, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15786, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15765, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15789, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15768, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15792, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15760, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15784, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15763, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15787, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15766, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15790, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15769, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15793, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 32, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height - 32, TUNNEL_3); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height, 0x20); + break; + } } /** rct2: 0x008A6D20 */ static void lim_launched_rc_track_right_twist_down_to_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15770, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15794, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15773, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15797, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15776, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15800, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15779, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15803, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15771, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15795, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15774, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15798, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15777, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15801, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15780, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15804, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15772, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15796, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15775, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15799, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15778, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15802, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15781, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15805, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 32, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height + 32, TUNNEL_3); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15770, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15794, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15773, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15797, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15776, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15800, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15779, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15803, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15771, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15795, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15774, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15798, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15777, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15801, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15780, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15804, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15772, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15796, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15775, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15799, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15778, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15802, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15781, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15805, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 32, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height + 32, TUNNEL_3); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height, 0x20); + break; + } } /** rct2: 0x008A6D30 */ static void lim_launched_rc_track_left_twist_up_to_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15766, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15790, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15769, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15793, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15760, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15784, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15763, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15787, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 32, TUNNEL_3); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15765, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15789, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15768, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15792, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15759, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15783, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15762, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15786, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15764, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15788, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15767, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15791, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15758, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15782, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15761, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15785, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15766, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15790, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15769, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15793, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15760, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15784, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15763, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15787, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 32, TUNNEL_3); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15765, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15789, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15768, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15792, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15759, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15783, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15762, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15786, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15764, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15788, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15767, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15791, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15758, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15782, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15761, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15785, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6D40 */ static void lim_launched_rc_track_right_twist_up_to_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15778, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15802, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15781, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15805, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15772, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15796, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15775, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15799, 0, 0, 32, 20, 0, height, 0, 6, height + 44); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_3); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15777, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15801, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15780, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15804, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15771, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15795, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15774, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15798, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15776, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15800, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15779, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15803, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15770, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15794, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15773, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15797, 0, 0, 32, 20, 0, height, 0, 6, height + 28); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15778, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15802, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15781, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15805, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15772, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15796, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15775, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15799, 0, 0, 32, 20, 0, height, 0, 6, height + 44); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_3); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15777, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15801, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15780, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15804, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15771, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15795, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15774, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15798, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15776, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15800, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15779, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15803, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15770, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15794, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15773, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15797, 0, 0, 32, 20, 0, height, 0, 6, height + 28); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6CD0 */ static void lim_launched_rc_track_left_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15734, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15737, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15740, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15743, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15734, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15737, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15740, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15743, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + } - track_paint_util_left_corkscrew_up_supports(direction, height); + track_paint_util_left_corkscrew_up_supports(direction, height); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15735, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15738, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15741, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15744, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15736, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15739, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15742, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15745, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15735, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15738, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15741, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15744, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15736, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15739, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15742, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15745, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A6CE0 */ static void lim_launched_rc_track_right_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15746, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15749, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15752, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15755, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15747, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15750, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15753, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15756, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15748, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15751, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15754, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15757, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15746, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15749, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15752, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15755, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15747, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15750, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15753, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15756, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15748, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15751, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15754, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15757, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A6CF0 */ static void lim_launched_rc_track_left_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lim_launched_rc_track_right_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 1) & 3, height, mapElement); + lim_launched_rc_track_right_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A6D00 */ static void lim_launched_rc_track_right_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lim_launched_rc_track_left_corkscrew_up(rideIndex, 2 - trackSequence, (direction - 1) & 3, height, mapElement); + lim_launched_rc_track_left_corkscrew_up(rideIndex, 2 - trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A6D80 */ static void lim_launched_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15018, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15019, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15018, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15019, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A6C10 */ static void lim_launched_rc_track_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15702, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15703, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15704, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15705, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - } - paint_util_set_vertical_tunnel(height + 32); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15702, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15703, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15704, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15705, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + } + paint_util_set_vertical_tunnel(height + 32); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008A6C20 */ static void lim_launched_rc_track_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lim_launched_rc_track_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lim_launched_rc_track_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6C30 */ static void lim_launched_rc_track_60_deg_up_to_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15694, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15695, 0, 0, 2, 20, 55, height, 24, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15696, 0, 0, 2, 20, 55, height, 24, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15697, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_vertical_tunnel(height + 56); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15694, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15695, 0, 0, 2, 20, 55, height, 24, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15696, 0, 0, 2, 20, 55, height, 24, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15697, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_vertical_tunnel(height + 56); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008A6C40 */ static void lim_launched_rc_track_90_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lim_launched_rc_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + lim_launched_rc_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6C50 */ static void lim_launched_rc_track_90_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15698, 0, 0, 6, 20, 3, height, 0, 6, height + 2); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15699, 0, 0, 2, 20, 31, height, 39, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15700, 0, 0, 2, 20, 31, height, 39, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15701, 0, 0, 6, 20, 3, height, 0, 6, height + 2); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 48, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height + 48, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15698, 0, 0, 6, 20, 3, height, 0, 6, height + 2); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15699, 0, 0, 2, 20, 31, height, 39, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15700, 0, 0, 2, 20, 31, height, 39, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15701, 0, 0, 6, 20, 3, height, 0, 6, height + 2); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 48, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height + 48, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); } /** rct2: 0x008A6C60 */ static void lim_launched_rc_track_60_deg_down_to_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15700, 0, 0, 2, 20, 31, height, 39, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15701, 0, 0, 6, 20, 3, height, 0, 6, height + 2); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15698, 0, 0, 6, 20, 3, height, 0, 6, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15699, 0, 0, 2, 20, 31, height, 39, 6, height + 8); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15700, 0, 0, 2, 20, 31, height, 39, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15701, 0, 0, 6, 20, 3, height, 0, 6, height + 2); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15698, 0, 0, 6, 20, 3, height, 0, 6, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15699, 0, 0, 2, 20, 31, height, 39, 6, height + 8); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008A6C70 */ static void lim_launched_rc_track_90_deg_to_inverted_flat_quarter_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15722, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15725, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15728, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15731, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15723, 0, 0, 2, 20, 31, height, -8, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15726, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15729, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15732, 0, 0, 2, 20, 31, height, -8, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15724, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15727, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15730, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15733, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15722, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15725, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15728, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15731, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15723, 0, 0, 2, 20, 31, height, -8, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15726, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15729, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15732, 0, 0, 2, 20, 31, height, -8, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15724, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15727, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15730, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15733, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A6C80 */ static void lim_launched_rc_track_inverted_flat_to_90_deg_quarter_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lim_launched_rc_track_90_deg_to_inverted_flat_quarter_loop_up(rideIndex, 2 - trackSequence, direction, height, mapElement); + lim_launched_rc_track_90_deg_to_inverted_flat_quarter_loop_up(rideIndex, 2 - trackSequence, direction, height, mapElement); } /** rct2: 0x008A6D90 */ static void lim_launched_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15020, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15021, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15020, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15021, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void lim_launched_rc_track_left_quarter_turn_1_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15706, 0, 0, 2, 20, 63, height, 4, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15707, 0, 0, 2, 20, 63, height, 4, 6, height + 8); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15715, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15716, 0, 0, 2, 2, 63, height, 24, 24, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15709, 0, 0, 2, 20, 63, height, 4, 6, height + 8); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15717, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - } - paint_util_set_vertical_tunnel(height + 96); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 96, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15706, 0, 0, 2, 20, 63, height, 4, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15707, 0, 0, 2, 20, 63, height, 4, 6, height + 8); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15715, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15716, 0, 0, 2, 2, 63, height, 24, 24, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15709, 0, 0, 2, 20, 63, height, 4, 6, height + 8); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15717, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + } + paint_util_set_vertical_tunnel(height + 96); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 96, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008A6CA0 */ static void lim_launched_rc_track_right_quarter_turn_1_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15710, 0, 0, 2, 20, 63, height, 4, 6, height + 8); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15718, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15719, 0, 0, 2, 2, 63, height, 24, 24, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15712, 0, 0, 2, 20, 63, height, 4, 6, height + 8); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15720, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15713, 0, 0, 2, 20, 63, height, 4, 6, height + 8); - break; - } - paint_util_set_vertical_tunnel(height + 96); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 96, 0x20); - break; - case 1: - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15710, 0, 0, 2, 20, 63, height, 4, 6, height + 8); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15718, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15719, 0, 0, 2, 2, 63, height, 24, 24, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15712, 0, 0, 2, 20, 63, height, 4, 6, height + 8); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15720, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15713, 0, 0, 2, 20, 63, height, 4, 6, height + 8); + break; + } + paint_util_set_vertical_tunnel(height + 96); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 96, 0x20); + break; + case 1: + break; + } } /** rct2: 0x008A6CB0 */ static void lim_launched_rc_track_left_quarter_turn_1_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lim_launched_rc_track_right_quarter_turn_1_90_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + lim_launched_rc_track_right_quarter_turn_1_90_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A6CC0 */ static void lim_launched_rc_track_right_quarter_turn_1_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - lim_launched_rc_track_left_quarter_turn_1_90_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + lim_launched_rc_track_left_quarter_turn_1_90_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } TRACK_PAINT_FUNCTION get_track_paint_function_lim_launched_rc(sint32 trackType, sint32 direction) { - switch (trackType) { + switch (trackType) { - // Use Looping Roller Coaster - case TRACK_ELEM_FLAT: - case TRACK_ELEM_25_DEG_UP: - case TRACK_ELEM_60_DEG_UP: - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_25_DEG_DOWN: - case TRACK_ELEM_60_DEG_DOWN: - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK: - case TRACK_ELEM_RIGHT_BANK: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - case TRACK_ELEM_S_BEND_LEFT: - case TRACK_ELEM_S_BEND_RIGHT: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - case TRACK_ELEM_ON_RIDE_PHOTO: - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - case TRACK_ELEM_DIAG_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP: - case TRACK_ELEM_DIAG_60_DEG_UP: - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_25_DEG_DOWN: - case TRACK_ELEM_DIAG_60_DEG_DOWN: - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK: - case TRACK_ELEM_DIAG_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: - return get_track_paint_function_looping_rc(trackType, direction); + // Use Looping Roller Coaster + case TRACK_ELEM_FLAT: + case TRACK_ELEM_25_DEG_UP: + case TRACK_ELEM_60_DEG_UP: + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_25_DEG_DOWN: + case TRACK_ELEM_60_DEG_DOWN: + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TRACK_ELEM_LEFT_BANK: + case TRACK_ELEM_RIGHT_BANK: + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TRACK_ELEM_S_BEND_LEFT: + case TRACK_ELEM_S_BEND_RIGHT: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + case TRACK_ELEM_ON_RIDE_PHOTO: + case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TRACK_ELEM_DIAG_FLAT: + case TRACK_ELEM_DIAG_25_DEG_UP: + case TRACK_ELEM_DIAG_60_DEG_UP: + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TRACK_ELEM_DIAG_LEFT_BANK: + case TRACK_ELEM_DIAG_RIGHT_BANK: + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + return get_track_paint_function_looping_rc(trackType, direction); - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return lim_launched_rc_track_station; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - return lim_launched_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - return lim_launched_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: - return lim_launched_rc_track_left_twist_down_to_up; - case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: - return lim_launched_rc_track_right_twist_down_to_up; - case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: - return lim_launched_rc_track_left_twist_up_to_down; - case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: - return lim_launched_rc_track_right_twist_up_to_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: - return lim_launched_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: - return lim_launched_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: - return lim_launched_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: - return lim_launched_rc_track_right_corkscrew_down; - case TRACK_ELEM_BRAKES: - return lim_launched_rc_track_brakes; - case TRACK_ELEM_90_DEG_UP: - return lim_launched_rc_track_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN: - return lim_launched_rc_track_90_deg_down; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: - return lim_launched_rc_track_60_deg_up_to_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: - return lim_launched_rc_track_90_deg_down_to_60_deg_down; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: - return lim_launched_rc_track_90_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: - return lim_launched_rc_track_60_deg_down_to_90_deg_down; - case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP: - return lim_launched_rc_track_90_deg_to_inverted_flat_quarter_loop_up; - case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: - return lim_launched_rc_track_inverted_flat_to_90_deg_quarter_loop_down; - case TRACK_ELEM_BLOCK_BRAKES: - return lim_launched_rc_track_block_brakes; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: - return lim_launched_rc_track_left_quarter_turn_1_90_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: - return lim_launched_rc_track_right_quarter_turn_1_90_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: - return lim_launched_rc_track_left_quarter_turn_1_90_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: - return lim_launched_rc_track_right_quarter_turn_1_90_deg_down; - } - return NULL; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return lim_launched_rc_track_station; + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + return lim_launched_rc_track_left_vertical_loop; + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + return lim_launched_rc_track_right_vertical_loop; + case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: + return lim_launched_rc_track_left_twist_down_to_up; + case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: + return lim_launched_rc_track_right_twist_down_to_up; + case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: + return lim_launched_rc_track_left_twist_up_to_down; + case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: + return lim_launched_rc_track_right_twist_up_to_down; + case TRACK_ELEM_LEFT_CORKSCREW_UP: + return lim_launched_rc_track_left_corkscrew_up; + case TRACK_ELEM_RIGHT_CORKSCREW_UP: + return lim_launched_rc_track_right_corkscrew_up; + case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + return lim_launched_rc_track_left_corkscrew_down; + case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + return lim_launched_rc_track_right_corkscrew_down; + case TRACK_ELEM_BRAKES: + return lim_launched_rc_track_brakes; + case TRACK_ELEM_90_DEG_UP: + return lim_launched_rc_track_90_deg_up; + case TRACK_ELEM_90_DEG_DOWN: + return lim_launched_rc_track_90_deg_down; + case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + return lim_launched_rc_track_60_deg_up_to_90_deg_up; + case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + return lim_launched_rc_track_90_deg_down_to_60_deg_down; + case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + return lim_launched_rc_track_90_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + return lim_launched_rc_track_60_deg_down_to_90_deg_down; + case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP: + return lim_launched_rc_track_90_deg_to_inverted_flat_quarter_loop_up; + case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: + return lim_launched_rc_track_inverted_flat_to_90_deg_quarter_loop_down; + case TRACK_ELEM_BLOCK_BRAKES: + return lim_launched_rc_track_block_brakes; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: + return lim_launched_rc_track_left_quarter_turn_1_90_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: + return lim_launched_rc_track_right_quarter_turn_1_90_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + return lim_launched_rc_track_left_quarter_turn_1_90_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + return lim_launched_rc_track_right_quarter_turn_1_90_deg_down; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/looping_roller_coaster.c b/src/openrct2/ride/coaster/looping_roller_coaster.c index 31846d1c80..be299c3a5c 100644 --- a/src/openrct2/ride/coaster/looping_roller_coaster.c +++ b/src/openrct2/ride/coaster/looping_roller_coaster.c @@ -29,6562 +29,6562 @@ /** rct2: 0x008A6370 */ static void looping_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15006, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15007, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15008, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15009, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15004, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15005, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15006, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15007, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15008, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15009, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15004, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15005, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void looping_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { 15016, SPR_STATION_BASE_B_SW_NE }, - { 15017, SPR_STATION_BASE_B_NW_SE }, - { 15016, SPR_STATION_BASE_B_SW_NE }, - { 15017, SPR_STATION_BASE_B_NW_SE }, - }; + static const uint32 imageIds[4][2] = { + { 15016, SPR_STATION_BASE_B_SW_NE }, + { 15017, SPR_STATION_BASE_B_NW_SE }, + { 15016, SPR_STATION_BASE_B_SW_NE }, + { 15017, SPR_STATION_BASE_B_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - sub_98196C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + sub_98196C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A6380 */ static void looping_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15060, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15061, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15062, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15063, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15032, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15033, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15034, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15035, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15060, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15061, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15062, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15063, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15032, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15033, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15034, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15035, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A6390 */ static void looping_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15076, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15077, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15078, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15079, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15048, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15049, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15050, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15051, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15076, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15077, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15078, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15079, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15048, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15049, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15050, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15051, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A63A0 */ static void looping_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15052, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15053, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15054, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15055, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15024, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15025, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15026, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15027, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15052, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15053, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15054, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15055, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15024, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15025, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15026, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15027, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A63B0 */ static void looping_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15064, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15065, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15068, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15066, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15069, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15067, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15036, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15037, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15040, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15038, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15041, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15039, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15064, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15065, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15068, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15066, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15069, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15067, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15036, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15037, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15040, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15038, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15041, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15039, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A63C0 */ static void looping_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15070, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15071, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15074, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15072, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15075, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15073, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15042, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15043, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15046, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15044, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15047, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15045, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15070, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15071, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15074, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15072, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15075, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15073, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15042, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15043, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15046, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15044, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15047, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15045, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A63D0 */ static void looping_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15056, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15057, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15058, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15059, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15028, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15029, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15030, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15031, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15056, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15057, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15058, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15059, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15028, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15029, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15030, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15031, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A63E0 */ static void looping_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A63F0 */ static void looping_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6400 */ static void looping_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6410 */ static void looping_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6420 */ static void looping_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6430 */ static void looping_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6440 */ static void looping_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15183, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15188, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15193, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15178, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15182, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15187, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15192, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15177, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15181, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15186, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15191, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15176, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15180, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15185, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15190, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15175, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15179, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15184, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15189, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15174, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15183, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15188, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15193, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15178, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15182, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15187, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15192, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15177, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15181, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15186, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15191, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15176, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15180, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15185, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15190, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15175, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15179, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15184, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15189, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15174, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6450 */ static void looping_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - looping_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + looping_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A6460 */ static void looping_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15080, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15092, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15081, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15093, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15082, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15083, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15080, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15092, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15081, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15093, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15082, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15083, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A6470 */ static void looping_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15084, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15085, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15086, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15094, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15087, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15095, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15084, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15085, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15086, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15094, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15087, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15095, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A6480 */ static void looping_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15086, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15094, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15087, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15095, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15084, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15085, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15086, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15094, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15087, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15095, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15084, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15085, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A6490 */ static void looping_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15082, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15083, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15080, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15092, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15081, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15093, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15082, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15083, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15080, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15092, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15081, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15093, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A64A0 */ static void looping_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15203, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15214, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15208, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15213, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15198, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15202, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15207, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15212, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15197, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15201, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15206, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15211, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15196, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15200, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15205, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15210, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15195, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15199, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15204, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15209, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15215, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15194, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15203, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15214, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15208, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15213, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15198, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15202, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15207, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15212, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15197, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15201, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15206, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15211, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15196, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15200, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15205, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15210, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15195, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15199, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15204, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15209, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15215, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15194, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A64B0 */ static void looping_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - looping_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + looping_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A64C0 */ static void looping_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15096, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15112, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15097, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15113, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15098, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15099, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15096, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15112, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15097, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15113, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15098, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15099, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A64D0 */ static void looping_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15100, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15101, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15102, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15114, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15103, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15115, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15100, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15101, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15102, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15114, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15103, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15115, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A64E0 */ static void looping_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15104, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15116, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15105, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15117, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15106, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15107, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15104, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15116, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15105, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15117, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15106, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15107, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A64F0 */ static void looping_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15108, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15109, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15110, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15118, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15111, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15119, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15108, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15109, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15110, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15118, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15111, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15119, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A6500 */ static void looping_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6510 */ static void looping_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6520 */ static void looping_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6530 */ static void looping_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6540 */ static void looping_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15088, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15089, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15090, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15091, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15088, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15089, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15090, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15091, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A6550 */ static void looping_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6560 */ static void looping_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15296, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15301, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15306, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15311, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15297, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15302, 0, 0, 32, 16, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15307, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15312, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15298, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15303, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15308, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15313, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15299, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15304, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15309, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15314, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15300, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15305, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15310, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15315, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15296, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15301, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15306, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15311, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15297, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15302, 0, 0, 32, 16, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15307, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15312, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15298, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15303, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15308, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15313, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15299, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15304, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15309, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15314, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15300, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15305, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15310, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15315, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A6570 */ static void looping_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15276, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15281, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15286, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15291, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15277, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15282, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15287, 0, 0, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15292, 0, 0, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15278, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15283, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15288, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15293, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15279, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15284, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15289, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15294, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15280, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15285, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15290, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15295, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15276, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15281, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15286, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15291, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15277, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15282, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15287, 0, 0, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15292, 0, 0, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15278, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15283, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15288, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15293, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15279, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15284, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15289, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15294, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15280, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15285, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15290, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15295, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A6580 */ static void looping_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - looping_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + looping_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A6590 */ static void looping_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - looping_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + looping_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A65A0 */ static void looping_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15260, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15264, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15263, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15267, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15261, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15265, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15262, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15266, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15262, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15266, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15261, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15265, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15263, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15267, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15260, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15264, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15260, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15264, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15263, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15267, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15261, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15265, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15262, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15266, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15262, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15266, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15261, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15265, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15263, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15267, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15260, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15264, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A65B0 */ static void looping_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15268, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15272, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15271, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15275, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15269, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15273, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15270, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15274, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15270, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15274, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15269, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15273, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15271, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15275, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15268, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15272, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15268, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15272, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15271, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15275, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15269, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15273, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15270, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15274, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15270, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15274, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15269, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15273, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15271, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15275, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15268, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15272, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A65C0 */ static void looping_rc_track_left_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15348, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15356, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15355, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15363, 0, 6, 32, 20, 7, height); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15349, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15357, 0, 14, 32, 2, 63, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15354, 0, 6, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15362, 0, 6, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15350, 16, 0, 3, 16, 119, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_CENTRED, 1, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15364, 16, 0, 3, 16, 119, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15358, 12, 0, 3, 16, 119, height, 12, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT_CENTRED, 0, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15366, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15353, 10, 16, 4, 16, 119, height, 10, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK, 2, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15365, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15361, 16, 16, 2, 16, 119, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT, 3, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15367, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15351, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15359, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15352, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15360, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15352, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15360, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15351, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15359, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15353, 10, 16, 4, 16, 119, height, 10, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK, 2, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15365, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15361, 16, 16, 2, 16, 119, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT, 3, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15367, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15350, 16, 0, 3, 16, 119, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_CENTRED, 1, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15364, 16, 0, 3, 16, 119, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15358, 12, 0, 3, 16, 119, height, 12, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT_CENTRED, 0, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15366, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15354, 0, 6, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15362, 0, 6, 32, 26, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15349, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15357, 0, 14, 32, 2, 63, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15355, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15363, 0, 6, 32, 20, 7, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15348, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15356, 0, 6, 32, 20, 3, height); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15348, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15356, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15355, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15363, 0, 6, 32, 20, 7, height); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15349, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15357, 0, 14, 32, 2, 63, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15354, 0, 6, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15362, 0, 6, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15350, 16, 0, 3, 16, 119, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_CENTRED, 1, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15364, 16, 0, 3, 16, 119, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15358, 12, 0, 3, 16, 119, height, 12, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT_CENTRED, 0, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15366, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15353, 10, 16, 4, 16, 119, height, 10, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK, 2, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15365, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15361, 16, 16, 2, 16, 119, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT, 3, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15367, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15351, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15359, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15352, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15360, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15352, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15360, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15351, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15359, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15353, 10, 16, 4, 16, 119, height, 10, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK, 2, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15365, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15361, 16, 16, 2, 16, 119, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT, 3, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15367, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15350, 16, 0, 3, 16, 119, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_CENTRED, 1, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15364, 16, 0, 3, 16, 119, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15358, 12, 0, 3, 16, 119, height, 12, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT_CENTRED, 0, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15366, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15354, 0, 6, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15362, 0, 6, 32, 26, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15349, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15357, 0, 14, 32, 2, 63, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15355, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15363, 0, 6, 32, 20, 7, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15348, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15356, 0, 6, 32, 20, 3, height); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A65D0 */ static void looping_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15383, 0, 6, 32, 20, 7, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15375, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15376, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15368, 0, 6, 32, 20, 3, height); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15382, 0, 6, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15374, 0, 6, 32, 26, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15377, 0, 14, 32, 2, 63, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15369, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15381, 16, 16, 2, 16, 119, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK, 3, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15384, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15373, 10, 16, 4, 16, 119, height, 10, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT, 1, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15386, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15378, 12, 0, 3, 16, 119, height, 12, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_CENTRED, 0, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15385, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15370, 16, 0, 2, 16, 119, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT_CENTRED, 2, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15387, 16, 0, 2, 16, 119, height, 16, 0, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15380, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15372, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15379, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15371, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15379, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15371, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15380, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15372, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15378, 12, 0, 3, 16, 119, height, 12, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_CENTRED, 0, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15385, 12, 0, 3, 16, 119, height, 12, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15370, 16, 0, 2, 16, 119, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT_CENTRED, 2, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15387, 16, 0, 2, 16, 119, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15381, 16, 16, 2, 16, 119, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK, 3, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15384, 16, 16, 2, 16, 119, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15373, 10, 16, 4, 16, 119, height, 10, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT, 1, 0, height - 8, gTrackColours[SCHEME_TRACK]); - sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15386, 10, 16, 4, 16, 119, height, 10, 16, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15377, 0, 14, 32, 2, 63, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15369, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15382, 0, 6, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15374, 0, 6, 32, 26, 3, height); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15376, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15368, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15383, 0, 6, 32, 20, 7, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15375, 0, 6, 32, 20, 3, height); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15383, 0, 6, 32, 20, 7, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15375, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15376, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15368, 0, 6, 32, 20, 3, height); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15382, 0, 6, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15374, 0, 6, 32, 26, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15377, 0, 14, 32, 2, 63, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15369, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15381, 16, 16, 2, 16, 119, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK, 3, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15384, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15373, 10, 16, 4, 16, 119, height, 10, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT, 1, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15386, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15378, 12, 0, 3, 16, 119, height, 12, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_CENTRED, 0, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15385, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15370, 16, 0, 2, 16, 119, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT_CENTRED, 2, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15387, 16, 0, 2, 16, 119, height, 16, 0, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15380, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15372, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15379, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15371, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15379, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15371, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15380, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15372, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15378, 12, 0, 3, 16, 119, height, 12, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_CENTRED, 0, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15385, 12, 0, 3, 16, 119, height, 12, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15370, 16, 0, 2, 16, 119, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT_CENTRED, 2, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15387, 16, 0, 2, 16, 119, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15381, 16, 16, 2, 16, 119, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK, 3, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15384, 16, 16, 2, 16, 119, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15373, 10, 16, 4, 16, 119, height, 10, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_THICK_ALT, 1, 0, height - 8, gTrackColours[SCHEME_TRACK]); + sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15386, 10, 16, 4, 16, 119, height, 10, 16, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15377, 0, 14, 32, 2, 63, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15369, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15382, 0, 6, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15374, 0, 6, 32, 26, 3, height); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15376, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15368, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15383, 0, 6, 32, 20, 7, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15375, 0, 6, 32, 20, 3, height); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } - track_paint_util_right_vertical_loop_segments(direction, trackSequence); + track_paint_util_right_vertical_loop_segments(direction, trackSequence); } /** rct2: 0x008A6630 */ static void looping_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15125, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15128, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15131, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15122, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15124, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15127, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15130, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15121, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15123, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15126, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15129, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15120, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15125, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15128, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15131, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15122, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15124, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15127, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15130, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15121, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15123, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15126, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15129, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15120, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6640 */ static void looping_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - looping_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + looping_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A6650 */ static void looping_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15137, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15144, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15140, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15143, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15134, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15136, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15139, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15142, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15133, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15135, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15138, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15141, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15145, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15132, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15137, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15144, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15140, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15143, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15134, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15136, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15139, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15142, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15133, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15135, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15138, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15141, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15145, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15132, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6660 */ static void looping_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - looping_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + looping_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A6670 */ static void looping_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15327, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15329, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15331, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15325, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15326, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15328, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15330, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15324, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15327, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15329, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15331, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15325, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15326, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15328, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15330, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15324, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A6680 */ static void looping_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15316, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15318, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15320, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15322, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15317, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15319, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15321, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15323, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15316, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15318, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15320, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15322, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15317, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15319, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15321, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15323, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A6690 */ static void looping_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - looping_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + looping_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A66A0 */ static void looping_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - looping_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + looping_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A66B0 */ static void looping_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15165, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15172, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15168, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15171, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15162, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15164, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15167, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15170, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15161, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15163, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15166, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15169, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15173, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15160, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15162, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15165, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15172, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15168, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15171, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15161, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15164, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15167, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15170, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15160, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15163, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15166, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15169, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15173, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15165, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15172, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15168, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15171, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15162, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15164, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15167, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15170, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15161, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15163, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15166, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15169, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15173, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15160, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15162, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15165, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15172, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15168, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15171, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15161, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15164, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15167, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15170, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15160, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15163, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15166, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15169, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15173, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A66C0 */ static void looping_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15146, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15149, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15152, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15155, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15159, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15147, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15150, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15153, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15156, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15148, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15151, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15158, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15154, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15157, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15149, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15152, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15155, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15159, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15146, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15150, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15153, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15156, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15147, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15151, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15158, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15154, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15157, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15148, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15146, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15149, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15152, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15155, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15159, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15147, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15150, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15153, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15156, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15148, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15151, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15158, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15154, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15157, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15149, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15152, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15155, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15159, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15146, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15150, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15153, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15156, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15147, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15151, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15158, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15154, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15157, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15148, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A66D0 */ static void looping_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - looping_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + looping_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A66E0 */ static void looping_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - looping_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + looping_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A66F0 */ static void looping_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15247, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15258, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15252, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15257, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15242, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15246, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15251, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15256, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15241, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15245, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15250, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15255, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15240, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15244, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15249, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15254, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15239, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15243, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15248, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15253, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15259, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15238, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15242, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15247, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15258, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15252, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15257, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15241, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15246, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15251, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15256, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15240, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15245, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15250, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15255, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15239, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15244, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15249, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15254, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15238, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15243, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15248, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15253, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15259, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15247, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15258, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15252, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15257, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15242, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15246, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15251, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15256, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15241, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15245, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15250, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15255, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15240, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15244, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15249, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15254, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15239, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15243, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15248, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15253, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15259, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15238, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15242, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15247, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15258, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15252, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15257, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15241, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15246, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15251, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15256, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15240, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15245, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15250, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15255, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15239, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15244, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15249, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15254, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15238, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15243, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15248, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15253, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15259, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6700 */ static void looping_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15216, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15221, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15226, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15231, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15237, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15217, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15222, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15227, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15232, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15218, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15223, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15228, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15233, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15219, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15224, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15229, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15234, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15220, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15225, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15236, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15230, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15235, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15221, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15226, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15231, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15237, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15216, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15222, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15227, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15232, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15217, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15223, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15228, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15233, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15218, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15224, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15229, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15234, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15219, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15225, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15236, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15230, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15235, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15220, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15216, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15221, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15226, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15231, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15237, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15217, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15222, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15227, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15232, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15218, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15223, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15228, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15233, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15219, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15224, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15229, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15234, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15220, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15225, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15236, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15230, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15235, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15221, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15226, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15231, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15237, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15216, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15222, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15227, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15232, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15217, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15223, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15228, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15233, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15218, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15224, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15229, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15234, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15219, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15225, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15236, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15230, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15235, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15220, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6710 */ static void looping_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - looping_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + looping_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A6720 */ static void looping_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - looping_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + looping_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A6750 */ static void looping_rc_track_left_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15341, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15345, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15342, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15346, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15343, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15347, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15340, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15344, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_1, +56, TUNNEL_2); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15341, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15345, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15342, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15346, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15343, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15347, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15340, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15344, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_1, +56, TUNNEL_2); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A6730 */ static void looping_rc_track_right_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15332, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15336, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15333, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15337, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15334, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15338, 0, 0, 2, 28, 59, height, 28, 2, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15335, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15339, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_1, +56, TUNNEL_2); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15332, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15336, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15333, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15337, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15334, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15338, 0, 0, 2, 28, 59, height, 28, 2, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15335, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15339, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_1, +56, TUNNEL_2); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A6740 */ static void looping_rc_track_left_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + looping_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A6760 */ static void looping_rc_track_right_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + looping_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A6770 */ static void looping_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15012, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15014, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15013, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15015, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15012, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15014, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15013, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15015, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A6A40 */ static void looping_rc_track_25_deg_up_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15594, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15595, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15596, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15597, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15594, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15595, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15596, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15597, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A6A50 */ static void looping_rc_track_25_deg_up_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15598, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15599, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15600, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15601, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15598, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15599, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15600, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15601, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A6780 */ static void looping_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_MISC] | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15004, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_MISC] | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15005, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_MISC] | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15004, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_MISC] | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15005, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_MISC] | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15004, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_MISC] | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15005, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_MISC] | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15004, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_MISC] | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15005, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A6A60 */ static void looping_rc_track_25_deg_down_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6A70 */ static void looping_rc_track_25_deg_down_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6860 */ static void looping_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15526, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15530, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15534, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15538, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15527, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15531, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15535, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15539, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15528, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15532, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15536, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15540, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15529, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15533, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15537, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15541, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15526, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15530, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15534, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15538, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15527, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15531, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15535, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15539, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15528, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15532, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15536, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15540, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15529, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15533, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15537, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15541, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6870 */ static void looping_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15510, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15514, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15518, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15522, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15511, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15515, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15519, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15523, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15512, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15516, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15520, 0, 0, 28, 28, 3, height, 4, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15524, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15513, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15517, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15521, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15525, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15510, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15514, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15518, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15522, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15511, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15515, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15519, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15523, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15512, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15516, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15520, 0, 0, 28, 28, 3, height, 4, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15524, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15513, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15517, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15521, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15525, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6880 */ static void looping_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - looping_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + looping_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6890 */ static void looping_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - looping_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + looping_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008A68A0 */ static void looping_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15558, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15562, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15566, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15570, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15559, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15563, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15567, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15571, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15560, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15564, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15568, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15572, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15561, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15565, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15569, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15573, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15558, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15562, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15566, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15570, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15559, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15563, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15567, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15571, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15560, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15564, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15568, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15572, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15561, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15565, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15569, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15573, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A68B0 */ static void looping_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15542, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15546, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15550, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15554, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15543, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15547, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15551, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15555, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15544, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15548, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15552, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15556, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15545, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15549, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15553, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15557, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15542, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15546, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15550, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15554, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15543, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15547, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15551, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15555, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15544, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15548, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15552, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15556, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15545, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15549, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15553, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15557, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A68C0 */ static void looping_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - looping_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + looping_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A68D0 */ static void looping_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - looping_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + looping_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008A6790 */ static void looping_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15451, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15423, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15448, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15420, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15450, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15422, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15449, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15421, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15451, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15423, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15448, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15420, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15450, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15422, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15449, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15421, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A67C0 */ static void looping_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15463, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15435, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15460, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15432, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15462, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15434, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15461, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15433, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15463, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15435, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15460, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15432, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15462, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15434, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15461, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15433, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A67F0 */ static void looping_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15475, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15447, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15472, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15444, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15474, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15446, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15473, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15445, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15475, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15447, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15472, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15444, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15474, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15446, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15473, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15445, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008A67A0 */ static void looping_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15455, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15427, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15452, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15424, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15454, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15426, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15453, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15425, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15455, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15427, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15452, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15424, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15454, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15426, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15453, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15425, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A67D0 */ static void looping_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15467, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15439, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15464, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15436, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15466, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15438, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15465, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15437, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15467, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15439, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15464, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15436, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15466, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15438, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15465, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15437, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A67E0 */ static void looping_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15471, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15443, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15468, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15440, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15470, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15442, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15469, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15441, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15471, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15443, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15468, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15440, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15470, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15442, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15469, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15441, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A67B0 */ static void looping_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15459, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15431, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15456, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15428, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15458, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15430, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15457, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15429, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15459, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15431, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15456, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15428, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15458, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15430, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15457, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15429, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A6820 */ static void looping_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15461, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15433, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15462, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15434, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15460, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15432, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15463, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15435, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15461, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15433, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15462, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15434, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15460, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15432, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15463, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15435, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A6850 */ static void looping_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15473, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15445, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15474, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15446, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15472, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15444, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15475, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15447, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15473, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15445, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15474, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15446, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15472, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15444, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15475, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15447, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008A6800 */ static void looping_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15457, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15429, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15458, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15430, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15456, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15428, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15459, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15431, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15457, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15429, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15458, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15430, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15456, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15428, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15459, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15431, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A6830 */ static void looping_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15469, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15441, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15470, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15442, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15468, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15440, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15471, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15443, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15469, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15441, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15470, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15442, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15468, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15440, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15471, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15443, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A6840 */ static void looping_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15465, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15437, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15466, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15438, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15464, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15436, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15467, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15439, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15465, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15437, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15466, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15438, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15464, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15436, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15467, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15439, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A6810 */ static void looping_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15453, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15425, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15454, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15426, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15452, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15424, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15455, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15427, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15453, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15425, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15454, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15426, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15452, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15424, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15455, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15427, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A6900 */ static void looping_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15503, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15500, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15504, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15502, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15501, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15503, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15500, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15504, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15502, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15501, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6910 */ static void looping_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15508, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15505, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15507, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15509, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15506, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15508, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15505, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15507, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15509, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15506, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6920 */ static void looping_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15506, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15507, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15509, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15505, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15508, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15506, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15507, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15509, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15505, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15508, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6930 */ static void looping_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15501, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15502, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15500, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15504, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15503, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15501, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15502, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15500, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15504, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15503, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6960 */ static void looping_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15493, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15490, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15494, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15492, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15491, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15493, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15490, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15494, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15492, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15491, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A6970 */ static void looping_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15498, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15495, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15497, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15499, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15496, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15498, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15495, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15497, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15499, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15496, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A6940 */ static void looping_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15483, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15480, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15484, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15482, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15481, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15483, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15480, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15484, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15482, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15481, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A6950 */ static void looping_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15488, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15485, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15487, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15489, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15486, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15488, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15485, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15487, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15489, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15486, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A6980 */ static void looping_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15486, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15487, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15489, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15485, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15488, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15486, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15487, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15489, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15485, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15488, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A6990 */ static void looping_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15481, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15482, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15480, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15484, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15483, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15481, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15482, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15480, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15484, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15483, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A69A0 */ static void looping_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15496, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15497, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15499, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15495, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15498, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15496, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15497, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15499, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15495, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15498, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A69B0 */ static void looping_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15491, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15492, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15490, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15494, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15493, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15491, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15492, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15490, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15494, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15493, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A68E0 */ static void looping_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15479, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15476, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15478, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15477, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15479, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15476, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15478, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15477, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A68F0 */ static void looping_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15477, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15478, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15476, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15479, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15477, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15478, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15476, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15479, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A6C00 */ static void looping_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15012, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15014, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15013, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15015, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15012, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15014, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15013, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15015, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A6BC0 */ static void looping_rc_track_left_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15689, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15691, 0, 6, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15693, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15687, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15688, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15690, 6, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15692, 6, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15686, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15689, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15691, 0, 6, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15693, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15687, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15688, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15690, 6, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15692, 6, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15686, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A6BD0 */ static void looping_rc_track_right_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15678, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15680, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15682, 0, 6, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15684, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15679, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15681, 6, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15683, 6, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15685, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15678, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15680, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15682, 0, 6, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15684, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15679, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15681, 6, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15683, 6, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15685, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A6BE0 */ static void looping_rc_track_left_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - looping_rc_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + looping_rc_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A6BF0 */ static void looping_rc_track_right_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - looping_rc_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + looping_rc_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A6B80 */ static void looping_rc_track_left_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15658, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15663, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15668, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15673, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15659, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15664, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15669, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15674, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15660, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15665, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15670, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15675, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15661, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15666, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15671, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15676, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15662, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15667, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15672, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15677, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15658, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15663, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15668, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15673, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15659, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15664, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15669, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15674, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15660, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15665, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15670, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15675, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15661, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15666, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15671, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15676, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15662, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15667, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15672, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15677, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A6B90 */ static void looping_rc_track_right_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15638, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15643, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15648, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15653, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15639, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15644, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15649, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15654, 0, 0, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15640, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15645, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15650, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15655, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15641, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15646, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15651, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15656, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15642, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15647, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15652, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15657, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15638, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15643, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15648, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15653, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15639, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15644, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15649, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15654, 0, 0, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15640, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15645, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15650, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15655, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15641, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15646, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15651, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15656, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15642, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15647, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15652, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15657, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A6BA0 */ static void looping_rc_track_left_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - looping_rc_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + looping_rc_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A6BB0 */ static void looping_rc_track_right_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - looping_rc_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + looping_rc_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A6A80 */ static void looping_rc_track_25_deg_up_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15602, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15603, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15610, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15604, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15605, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15602, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15603, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15610, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15604, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15605, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A6A90 */ static void looping_rc_track_25_deg_up_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15606, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15607, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15608, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15611, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15609, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15606, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15607, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15608, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15611, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15609, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A6AA0 */ static void looping_rc_track_left_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15612, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15613, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15620, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15614, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15615, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15612, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15613, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15620, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15614, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15615, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A6AB0 */ static void looping_rc_track_right_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15616, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15617, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15618, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15621, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15619, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15616, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15617, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15618, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15621, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15619, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A6AC0 */ static void looping_rc_track_25_deg_down_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6AD0 */ static void looping_rc_track_25_deg_down_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6AE0 */ static void looping_rc_track_left_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6AF0 */ static void looping_rc_track_right_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6B00 */ static void looping_rc_track_left_banked_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15622, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15623, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15624, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15625, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15622, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15623, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15624, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15625, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A6B10 */ static void looping_rc_track_right_banked_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15626, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15627, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15628, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15629, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15626, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15627, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15628, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15629, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A6B40 */ static void looping_rc_track_left_banked_25_deg_up_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15630, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15631, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15632, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15633, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15630, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15631, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15632, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15633, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A6B50 */ static void looping_rc_track_right_banked_25_deg_up_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15634, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15635, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15636, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15637, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15634, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15635, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15636, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15637, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A6B60 */ static void looping_rc_track_left_banked_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6B70 */ static void looping_rc_track_right_banked_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6B20 */ static void looping_rc_track_left_banked_25_deg_down_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6B30 */ static void looping_rc_track_right_banked_25_deg_down_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A69C0 */ static void looping_rc_track_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15574, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15575, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15582, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15576, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15577, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15574, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15575, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15582, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15576, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15577, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A69D0 */ static void looping_rc_track_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15578, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15579, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15580, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15583, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15581, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15578, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15579, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15580, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15583, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15581, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A69E0 */ static void looping_rc_track_left_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15584, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15585, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15592, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15586, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15587, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15584, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15585, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15592, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15586, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15587, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A69F0 */ static void looping_rc_track_right_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15588, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15589, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15590, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15593, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15591, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15588, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15589, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15590, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15593, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15591, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A6A00 */ static void looping_rc_track_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6A10 */ static void looping_rc_track_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6A20 */ static void looping_rc_track_left_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A6A30 */ static void looping_rc_track_right_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - looping_rc_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + looping_rc_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void looping_rc_track_booster(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!is_csg_loaded()) - { - looping_rc_track_brakes(rideIndex, trackSequence, direction, height, mapElement); - return; - } + if (!is_csg_loaded()) + { + looping_rc_track_brakes(rideIndex, trackSequence, direction, height, mapElement); + return; + } - uint32 sprite_ne_sw = SPR_CSG_BEGIN + 55679; - uint32 sprite_nw_se = SPR_CSG_BEGIN + 55680; + uint32 sprite_ne_sw = SPR_CSG_BEGIN + 55679; + uint32 sprite_nw_se = SPR_CSG_BEGIN + 55680; - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | sprite_ne_sw, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | sprite_nw_se, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | sprite_ne_sw, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | sprite_nw_se, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_looping_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return looping_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return looping_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return looping_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return looping_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return looping_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return looping_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return looping_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return looping_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return looping_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return looping_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return looping_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return looping_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return looping_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return looping_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return looping_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return looping_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return looping_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return looping_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return looping_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return looping_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return looping_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return looping_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return looping_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return looping_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return looping_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return looping_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return looping_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return looping_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return looping_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return looping_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return looping_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return looping_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return looping_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return looping_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return looping_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return looping_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return looping_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return looping_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - return looping_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - return looping_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return looping_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return looping_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return looping_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return looping_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return looping_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return looping_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return looping_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return looping_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return looping_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return looping_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return looping_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return looping_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return looping_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return looping_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return looping_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return looping_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - return looping_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - return looping_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return looping_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return looping_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: - return looping_rc_track_brakes; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - return looping_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - return looping_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: - return looping_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - return looping_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - return looping_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return looping_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return looping_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return looping_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return looping_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return looping_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return looping_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return looping_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return looping_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return looping_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return looping_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return looping_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return looping_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return looping_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return looping_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return looping_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return looping_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return looping_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return looping_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return looping_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return looping_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return looping_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return looping_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return looping_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return looping_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return looping_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return looping_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return looping_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return looping_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return looping_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return looping_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return looping_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return looping_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return looping_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return looping_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return looping_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: - return looping_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return looping_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return looping_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return looping_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return looping_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return looping_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return looping_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return looping_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return looping_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: - return looping_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: - return looping_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return looping_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return looping_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: - return looping_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: - return looping_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return looping_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return looping_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return looping_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return looping_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: - return looping_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: - return looping_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return looping_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return looping_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: - return looping_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: - return looping_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return looping_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return looping_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: - return looping_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: - return looping_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return looping_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return looping_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: - return looping_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: - return looping_rc_track_right_banked_25_deg_down_to_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return looping_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return looping_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return looping_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return looping_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return looping_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return looping_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return looping_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return looping_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return looping_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return looping_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return looping_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return looping_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return looping_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return looping_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return looping_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return looping_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return looping_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return looping_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return looping_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return looping_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return looping_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return looping_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return looping_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return looping_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return looping_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return looping_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return looping_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return looping_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return looping_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return looping_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return looping_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return looping_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return looping_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return looping_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return looping_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return looping_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return looping_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return looping_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + return looping_rc_track_left_vertical_loop; + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + return looping_rc_track_right_vertical_loop; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return looping_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return looping_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return looping_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return looping_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return looping_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return looping_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return looping_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return looping_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return looping_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return looping_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return looping_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return looping_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return looping_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return looping_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return looping_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return looping_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + return looping_rc_track_left_quarter_turn_1_60_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + return looping_rc_track_right_quarter_turn_1_60_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return looping_rc_track_left_quarter_turn_1_60_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return looping_rc_track_right_quarter_turn_1_60_deg_down; + case TRACK_ELEM_BRAKES: + return looping_rc_track_brakes; + case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + return looping_rc_track_25_deg_up_left_banked; + case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + return looping_rc_track_25_deg_up_right_banked; + case TRACK_ELEM_ON_RIDE_PHOTO: + return looping_rc_track_on_ride_photo; + case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + return looping_rc_track_25_deg_down_left_banked; + case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + return looping_rc_track_25_deg_down_right_banked; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return looping_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return looping_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return looping_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return looping_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return looping_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return looping_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return looping_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return looping_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return looping_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return looping_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return looping_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return looping_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return looping_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return looping_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return looping_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return looping_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return looping_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return looping_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return looping_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return looping_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return looping_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return looping_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return looping_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return looping_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return looping_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return looping_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return looping_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return looping_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return looping_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return looping_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return looping_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return looping_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return looping_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return looping_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return looping_rc_track_diag_right_bank; + case TRACK_ELEM_BLOCK_BRAKES: + return looping_rc_track_block_brakes; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return looping_rc_track_left_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return looping_rc_track_right_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return looping_rc_track_left_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return looping_rc_track_right_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return looping_rc_track_left_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return looping_rc_track_right_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return looping_rc_track_left_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return looping_rc_track_right_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + return looping_rc_track_25_deg_up_to_left_banked_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + return looping_rc_track_25_deg_up_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return looping_rc_track_left_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return looping_rc_track_right_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + return looping_rc_track_25_deg_down_to_left_banked_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + return looping_rc_track_25_deg_down_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return looping_rc_track_left_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return looping_rc_track_right_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return looping_rc_track_left_banked_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return looping_rc_track_right_banked_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + return looping_rc_track_left_banked_25_deg_up_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + return looping_rc_track_right_banked_25_deg_up_to_right_banked_flat; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return looping_rc_track_left_banked_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return looping_rc_track_right_banked_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + return looping_rc_track_left_banked_25_deg_down_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + return looping_rc_track_right_banked_25_deg_down_to_right_banked_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return looping_rc_track_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return looping_rc_track_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + return looping_rc_track_left_banked_25_deg_up_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + return looping_rc_track_right_banked_25_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return looping_rc_track_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return looping_rc_track_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + return looping_rc_track_left_banked_25_deg_down_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + return looping_rc_track_right_banked_25_deg_down_to_flat; - case TRACK_ELEM_BOOSTER: - return looping_rc_track_booster; + case TRACK_ELEM_BOOSTER: + return looping_rc_track_booster; - } - return NULL; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/mine_ride.c b/src/openrct2/ride/coaster/mine_ride.c index 4ff3abe1a6..32aa944713 100644 --- a/src/openrct2/ride/coaster/mine_ride.c +++ b/src/openrct2/ride/coaster/mine_ride.c @@ -29,3746 +29,3746 @@ /** rct2: 0x008B08D0 */ static void mine_ride_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19338, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19339, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19338, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19339, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void mine_ride_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { 19338, SPR_STATION_BASE_A_SW_NE }, - { 19339, SPR_STATION_BASE_A_NW_SE }, - { 19338, SPR_STATION_BASE_A_SW_NE }, - { 19339, SPR_STATION_BASE_A_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { 19338, SPR_STATION_BASE_A_SW_NE }, + { 19339, SPR_STATION_BASE_A_NW_SE }, + { 19338, SPR_STATION_BASE_A_SW_NE }, + { 19339, SPR_STATION_BASE_A_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - sub_98196C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); - track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + sub_98196C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); + track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008B08E0 */ static void mine_ride_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19388, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19389, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19390, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19391, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19388, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19389, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19390, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19391, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008B08F0 */ static void mine_ride_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19380, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19381, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19382, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19383, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19380, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19381, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19382, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19383, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008B0900 */ static void mine_ride_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19384, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19385, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19386, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19387, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19384, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19385, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19386, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19387, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008B0910 */ static void mine_ride_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_ride_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_ride_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0920 */ static void mine_ride_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_ride_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_ride_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0930 */ static void mine_ride_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_ride_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_ride_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0940 */ static void mine_ride_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19427, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19432, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19437, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19422, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19426, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19431, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19436, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19421, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19425, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19430, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19435, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19420, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19424, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19429, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19434, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19419, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19423, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19428, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19433, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19418, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19427, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19432, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19437, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19422, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19426, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19431, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19436, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19421, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19425, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19430, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19435, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19420, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19424, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19429, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19434, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19419, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19423, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19428, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19433, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19418, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0950 */ static void mine_ride_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mine_ride_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mine_ride_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008B0960 */ static void mine_ride_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19340, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19348, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19341, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19349, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19342, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19343, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19340, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19348, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19341, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19349, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19342, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19343, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008B0970 */ static void mine_ride_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19344, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19345, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19346, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19350, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19347, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19351, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19344, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19345, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19346, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19350, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19347, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19351, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008B0980 */ static void mine_ride_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19346, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19350, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19347, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19351, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19344, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19345, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19346, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19350, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19347, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19351, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19344, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19345, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008B0990 */ static void mine_ride_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19342, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19343, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19340, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19348, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19341, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19349, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19342, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19343, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19340, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19348, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19341, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19349, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008B09A0 */ static void mine_ride_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19447, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19458, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19452, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19457, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19442, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19446, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19451, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19456, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19441, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19445, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19450, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19455, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19440, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19444, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19449, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19454, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19439, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19443, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19448, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19453, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19459, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19438, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19447, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19458, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19452, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19457, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19442, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19446, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19451, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19456, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19441, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19445, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19450, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19455, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19440, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19444, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19449, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19454, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19439, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19443, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19448, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19453, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19459, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19438, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B09B0 */ static void mine_ride_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mine_ride_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mine_ride_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008B09C0 */ static void mine_ride_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19352, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19356, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19353, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19357, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19354, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19355, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19352, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19356, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19353, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19357, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19354, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19355, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008B09D0 */ static void mine_ride_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19358, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19359, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19360, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19362, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19361, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19363, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19358, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19359, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19360, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19362, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19361, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19363, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008B09E0 */ static void mine_ride_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19364, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19368, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19365, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19369, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19366, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19367, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19364, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19368, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19365, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19369, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19366, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19367, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008B09F0 */ static void mine_ride_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19370, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19371, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19372, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19374, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19373, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19375, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19370, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19371, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19372, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19374, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19373, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19375, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008B0A00 */ static void mine_ride_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_ride_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_ride_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0A10 */ static void mine_ride_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_ride_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_ride_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0A20 */ static void mine_ride_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_ride_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_ride_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0A30 */ static void mine_ride_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_ride_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_ride_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0A40 */ static void mine_ride_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19376, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19377, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19378, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19379, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19376, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19377, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19378, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19379, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008B0A50 */ static void mine_ride_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_ride_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_ride_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0A60 */ static void mine_ride_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19460, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19464, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19463, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19467, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19461, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 3, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19465, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19462, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19466, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19462, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19466, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19461, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 3, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19465, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19463, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19467, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19460, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19464, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19460, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19464, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19463, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19467, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19461, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 3, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19465, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19462, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19466, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19462, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19466, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19461, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 3, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19465, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19463, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19467, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19460, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19464, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0A70 */ static void mine_ride_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19468, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19472, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19471, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19475, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19469, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19473, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19470, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19474, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19470, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19474, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19469, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19473, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19471, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19475, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19468, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19472, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19468, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19472, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19471, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19475, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19469, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19473, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19470, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19474, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19470, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19474, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19469, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19473, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19471, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19475, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19468, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19472, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0AB0 */ static void mine_ride_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19397, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19400, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19403, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19394, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19396, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19399, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19402, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19393, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19395, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19398, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19401, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19392, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19397, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19400, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19403, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19394, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19396, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19399, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19402, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19393, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19395, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19398, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19401, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19392, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0AC0 */ static void mine_ride_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mine_ride_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mine_ride_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008B0AD0 */ static void mine_ride_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19409, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19416, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19412, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19415, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19406, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19408, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19411, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19414, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19405, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19407, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19410, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19413, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19417, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19404, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19409, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19416, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19412, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19415, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19406, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19408, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19411, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19414, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19405, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19407, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19410, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19413, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19417, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19404, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0AE0 */ static void mine_ride_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mine_ride_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mine_ride_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008B0AF0 */ static void mine_ride_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19495, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19502, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19498, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19501, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19492, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19494, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19497, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19500, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19491, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19493, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19496, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19499, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19503, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19490, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19492, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19495, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19502, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19498, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19501, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19491, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19494, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19497, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19500, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19490, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19493, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19496, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19499, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19503, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19495, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19502, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19498, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19501, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19492, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19494, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19497, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19500, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19491, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19493, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19496, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19499, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19503, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19490, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19492, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19495, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19502, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19498, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19501, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19491, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19494, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19497, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19500, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19490, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19493, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19496, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19499, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19503, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0B00 */ static void mine_ride_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19476, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19479, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19482, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19485, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19489, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 11, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19477, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19480, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19486, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19478, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19481, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19488, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19484, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19487, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19479, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19482, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19485, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19489, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 11, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19476, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19480, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19486, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19477, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19481, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19488, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19484, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19487, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19478, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19476, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19479, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19482, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19485, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19489, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 11, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19477, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19480, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19486, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19478, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19481, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19488, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19484, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19487, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19479, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19482, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19485, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19489, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 11, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19476, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19480, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19483, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19486, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19477, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19481, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19488, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19484, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19487, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19478, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0B10 */ static void mine_ride_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mine_ride_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mine_ride_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008B0B20 */ static void mine_ride_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mine_ride_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mine_ride_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008B0B30 */ static void mine_ride_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19535, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19546, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19540, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19545, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19530, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19534, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19539, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19544, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19529, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19533, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19538, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19543, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19528, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19532, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19537, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19542, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19527, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19531, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19536, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19541, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19547, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19526, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19530, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19535, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19546, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19540, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19545, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19529, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19534, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19539, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19544, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19528, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19533, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19538, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19543, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19527, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19532, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19537, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19542, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19526, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19531, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19536, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19541, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19547, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19535, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19546, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19540, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19545, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19530, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19534, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19539, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19544, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19529, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19533, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19538, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19543, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19528, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19532, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19537, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19542, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19527, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19531, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19536, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19541, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19547, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19526, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19530, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19535, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19546, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19540, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19545, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19529, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19534, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19539, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19544, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19528, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19533, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19538, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19543, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19527, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19532, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19537, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19542, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19526, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19531, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19536, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19541, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19547, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0B40 */ static void mine_ride_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19504, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19509, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19514, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19519, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19525, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19505, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19510, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19515, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19520, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19506, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19511, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19516, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19521, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19507, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19512, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19517, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19522, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19508, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19513, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19524, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19518, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19523, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19509, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19514, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19519, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19525, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19504, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19510, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19515, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19520, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19505, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19511, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19516, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19521, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19506, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19512, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19517, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19522, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19507, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19513, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19524, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19518, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19523, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19508, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19504, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19509, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19514, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19519, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19525, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19505, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19510, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19515, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19520, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19506, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19511, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19516, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19521, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19507, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19512, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19517, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19522, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19508, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19513, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19524, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19518, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19523, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19509, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19514, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19519, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19525, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19504, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19510, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19515, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19520, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19505, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19511, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19516, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19521, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19506, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19512, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19517, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19522, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19507, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19513, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19524, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19518, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19523, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19508, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0B50 */ static void mine_ride_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mine_ride_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mine_ride_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008B0B60 */ static void mine_ride_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mine_ride_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mine_ride_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008B0B70 */ static void mine_ride_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 6, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19338, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19339, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 6, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19338, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19339, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 6, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19338, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19339, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 6, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19338, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19339, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008B0B90 */ static void mine_ride_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19564, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19568, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19572, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19576, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19565, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19569, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19573, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19577, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19566, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19570, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19574, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19578, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19567, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19571, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19575, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19579, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19564, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19568, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19572, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19576, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19565, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19569, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19573, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19577, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19566, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19570, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19574, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19578, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19567, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19571, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19575, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19579, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0BA0 */ static void mine_ride_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19548, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19552, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19556, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19560, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19549, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19553, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19557, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19561, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19550, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19554, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19558, 0, 0, 28, 28, 3, height, 4, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19562, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19551, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19555, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19559, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19563, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19548, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19552, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19556, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19560, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19549, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19553, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19557, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19561, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19550, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19554, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19558, 0, 0, 28, 28, 3, height, 4, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19562, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19551, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19555, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19559, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19563, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0BB0 */ static void mine_ride_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mine_ride_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mine_ride_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0BC0 */ static void mine_ride_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mine_ride_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mine_ride_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008B0BD0 */ static void mine_ride_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19596, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19600, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19604, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19608, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19597, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19601, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19605, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19609, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19598, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19602, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19606, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19610, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19599, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19603, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19607, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19611, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19596, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19600, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19604, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19608, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19597, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19601, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19605, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19609, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19598, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19602, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19606, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19610, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19599, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19603, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19607, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19611, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0BE0 */ static void mine_ride_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19580, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19584, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19588, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19592, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19581, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19585, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19589, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19593, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19582, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19586, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19590, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19594, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19583, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19587, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19591, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19595, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19580, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19584, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19588, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19592, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19581, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19585, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19589, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19593, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19582, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19586, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19590, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19594, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19583, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19587, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19591, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19595, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0BF0 */ static void mine_ride_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mine_ride_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mine_ride_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008B0C00 */ static void mine_ride_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mine_ride_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mine_ride_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008B0B80 */ static void mine_ride_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19615, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19612, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19614, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19613, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19615, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19612, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19614, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19613, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0C30 */ static void mine_ride_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19627, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19624, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19626, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19625, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19627, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19624, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19626, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19625, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008B0C10 */ static void mine_ride_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19619, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19616, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19618, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19617, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19619, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19616, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19618, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19617, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008B0C20 */ static void mine_ride_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19623, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19620, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19622, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19621, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19623, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19620, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19622, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19621, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008B0C60 */ static void mine_ride_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19625, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19626, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19624, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19627, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19625, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19626, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19624, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19627, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008B0C40 */ static void mine_ride_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19621, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19622, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19620, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19623, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19621, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19622, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19620, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19623, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008B0C50 */ static void mine_ride_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19617, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19618, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19616, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19619, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19617, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19618, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19616, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19619, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008B0C90 */ static void mine_ride_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19635, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19632, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19636, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19634, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19633, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19635, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19632, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19636, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19634, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19633, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0CA0 */ static void mine_ride_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19640, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19637, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19639, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19641, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19638, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19640, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19637, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19639, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19641, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19638, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0CB0 */ static void mine_ride_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19638, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19639, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19641, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19637, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19640, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19638, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19639, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19641, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19637, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19640, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0CC0 */ static void mine_ride_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19633, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19634, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19632, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19636, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19635, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19633, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19634, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19632, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19636, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19635, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0CF0 */ static void mine_ride_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19655, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19652, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19656, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19654, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19653, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19655, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19652, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19656, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19654, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19653, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008B0D00 */ static void mine_ride_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19660, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19657, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19659, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19661, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19658, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19660, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19657, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19659, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19661, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19658, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008B0CD0 */ static void mine_ride_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19645, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19642, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19646, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19644, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19643, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19645, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19642, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19646, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19644, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19643, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008B0CE0 */ static void mine_ride_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19650, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19647, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19649, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19651, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19648, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19650, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19647, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19649, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19651, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19648, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008B0D10 */ static void mine_ride_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19648, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19649, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19651, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19647, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19650, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19648, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19649, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19651, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19647, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19650, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008B0D20 */ static void mine_ride_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19643, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19644, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19642, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19646, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19645, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19643, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19644, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19642, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19646, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19645, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008B0D30 */ static void mine_ride_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19658, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19659, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19661, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19657, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19660, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19658, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19659, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19661, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19657, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19660, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008B0D40 */ static void mine_ride_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19653, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19654, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19652, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19656, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19655, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19653, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19654, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19652, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19656, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19655, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008B0C70 */ static void mine_ride_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19631, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19628, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19630, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19629, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19631, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19628, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19630, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19629, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008B0C80 */ static void mine_ride_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19629, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19630, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19628, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19631, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19629, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19630, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19628, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19631, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } TRACK_PAINT_FUNCTION get_track_paint_function_mine_ride(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return mine_ride_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return mine_ride_track_station; - case TRACK_ELEM_25_DEG_UP: - return mine_ride_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return mine_ride_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return mine_ride_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return mine_ride_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return mine_ride_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return mine_ride_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return mine_ride_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return mine_ride_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return mine_ride_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return mine_ride_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return mine_ride_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return mine_ride_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return mine_ride_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return mine_ride_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return mine_ride_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return mine_ride_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return mine_ride_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return mine_ride_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return mine_ride_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return mine_ride_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return mine_ride_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return mine_ride_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return mine_ride_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return mine_ride_track_right_bank; - case TRACK_ELEM_S_BEND_LEFT: - return mine_ride_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return mine_ride_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return mine_ride_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return mine_ride_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return mine_ride_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return mine_ride_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return mine_ride_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return mine_ride_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return mine_ride_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return mine_ride_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return mine_ride_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return mine_ride_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return mine_ride_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return mine_ride_track_right_half_banked_helix_down_large; - case TRACK_ELEM_ON_RIDE_PHOTO: - return mine_ride_track_on_ride_photo; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return mine_ride_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return mine_ride_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return mine_ride_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return mine_ride_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return mine_ride_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return mine_ride_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return mine_ride_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return mine_ride_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return mine_ride_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return mine_ride_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return mine_ride_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return mine_ride_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return mine_ride_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return mine_ride_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return mine_ride_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return mine_ride_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return mine_ride_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return mine_ride_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return mine_ride_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return mine_ride_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return mine_ride_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return mine_ride_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return mine_ride_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return mine_ride_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return mine_ride_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return mine_ride_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return mine_ride_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return mine_ride_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return mine_ride_track_diag_right_bank; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return mine_ride_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return mine_ride_track_station; + case TRACK_ELEM_25_DEG_UP: + return mine_ride_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return mine_ride_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return mine_ride_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return mine_ride_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return mine_ride_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return mine_ride_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return mine_ride_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return mine_ride_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return mine_ride_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return mine_ride_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return mine_ride_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return mine_ride_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return mine_ride_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return mine_ride_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return mine_ride_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return mine_ride_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return mine_ride_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return mine_ride_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return mine_ride_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return mine_ride_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return mine_ride_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return mine_ride_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return mine_ride_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return mine_ride_track_right_bank; + case TRACK_ELEM_S_BEND_LEFT: + return mine_ride_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return mine_ride_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return mine_ride_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return mine_ride_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return mine_ride_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return mine_ride_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return mine_ride_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return mine_ride_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return mine_ride_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return mine_ride_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return mine_ride_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return mine_ride_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return mine_ride_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return mine_ride_track_right_half_banked_helix_down_large; + case TRACK_ELEM_ON_RIDE_PHOTO: + return mine_ride_track_on_ride_photo; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return mine_ride_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return mine_ride_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return mine_ride_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return mine_ride_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return mine_ride_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return mine_ride_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return mine_ride_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return mine_ride_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return mine_ride_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return mine_ride_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return mine_ride_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return mine_ride_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return mine_ride_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return mine_ride_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return mine_ride_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return mine_ride_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return mine_ride_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return mine_ride_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return mine_ride_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return mine_ride_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return mine_ride_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return mine_ride_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return mine_ride_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return mine_ride_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return mine_ride_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return mine_ride_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return mine_ride_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return mine_ride_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return mine_ride_track_diag_right_bank; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/mine_train_coaster.c b/src/openrct2/ride/coaster/mine_train_coaster.c index 230cbb3a08..99db3e1fe9 100644 --- a/src/openrct2/ride/coaster/mine_train_coaster.c +++ b/src/openrct2/ride/coaster/mine_train_coaster.c @@ -29,5607 +29,5607 @@ /** rct2: 0x0071BFA4 */ static void mine_train_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20054, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20055, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20056, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20057, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20052, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20053, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20054, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20055, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20056, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20057, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20052, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20053, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0071C154, 0x0071C164, 0x0071C174 */ static void mine_train_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { 20064, 20060, SPR_STATION_BASE_B_SW_NE }, - { 20065, 20061, SPR_STATION_BASE_B_NW_SE }, - { 20064, 20060, SPR_STATION_BASE_B_SW_NE }, - { 20065, 20061, SPR_STATION_BASE_B_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { 20064, 20060, SPR_STATION_BASE_B_SW_NE }, + { 20065, 20061, SPR_STATION_BASE_B_NW_SE }, + { 20064, 20060, SPR_STATION_BASE_B_SW_NE }, + { 20065, 20061, SPR_STATION_BASE_B_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height - 2, 0, 2, height); - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { - sub_98199C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 0, height); - } else { - sub_98199C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 0, height); - } - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 3); - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sub_98197C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height - 2, 0, 2, height); + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { + sub_98199C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 0, height); + } else { + sub_98199C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 0, height); + } + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 3); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0071BFB4 */ static void mine_train_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20102, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20103, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20104, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20105, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20074, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20075, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20076, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20077, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20102, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20103, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20104, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20105, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20074, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20075, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20076, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20077, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x0071BFC4 */ static void mine_train_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20090, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 21, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20091, 0, 0, 1, 32, 98, height, 27, 0, height); - wooden_a_supports_paint_setup(7, 22, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20092, 0, 0, 1, 32, 98, height, 27, 0, height); - wooden_a_supports_paint_setup(6, 23, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20093, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 24, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20090, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 21, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20091, 0, 0, 1, 32, 98, height, 27, 0, height); + wooden_a_supports_paint_setup(7, 22, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20092, 0, 0, 1, 32, 98, height, 27, 0, height); + wooden_a_supports_paint_setup(6, 23, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20093, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 24, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x0071BFD4 */ static void mine_train_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20094, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20095, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20096, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20097, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20066, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20067, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20068, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20069, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20094, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20095, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20096, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20097, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20066, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20067, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20068, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20069, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x0071BFE4 */ static void mine_train_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20078, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 13, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20079, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20082, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 14, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20080, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20083, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 15, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20081, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 16, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20078, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 13, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20079, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20082, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 14, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20080, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20083, 0, 0, 32, 1, 66, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 15, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20081, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 16, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x0071BFF4 */ static void mine_train_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20084, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 17, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20085, 0, 0, 24, 1, 61, height, 4, 29, height - 16); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20088, 0, 0, 32, 2, 66, height, 0, 4, height); - wooden_a_supports_paint_setup(7, 18, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20086, 0, 0, 24, 1, 61, height, 4, 29, height - 16); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20089, 0, 0, 32, 2, 66, height, 0, 4, height); - wooden_a_supports_paint_setup(6, 19, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20087, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 20, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20084, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 17, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20085, 0, 0, 24, 1, 61, height, 4, 29, height - 16); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20088, 0, 0, 32, 2, 66, height, 0, 4, height); + wooden_a_supports_paint_setup(7, 18, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20086, 0, 0, 24, 1, 61, height, 4, 29, height - 16); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20089, 0, 0, 32, 2, 66, height, 0, 4, height); + wooden_a_supports_paint_setup(6, 19, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20087, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 20, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x0071C004 */ static void mine_train_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20098, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20099, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20100, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20101, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20070, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20071, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20072, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20073, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20098, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20099, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20100, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20101, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20070, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20071, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20072, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20073, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x0071C014 */ static void mine_train_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_train_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_train_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C024 */ static void mine_train_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_train_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_train_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C034 */ static void mine_train_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_train_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_train_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C044 */ static void mine_train_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_train_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_train_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C054 */ static void mine_train_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_train_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_train_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C064 */ static void mine_train_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_train_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_train_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C0B4 */ static void mine_train_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20155, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20160, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20165, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20150, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20154, 0, 0, 32, 16, 1, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20159, 0, 0, 32, 16, 1, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20164, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20149, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20153, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20158, 0, 0, 16, 16, 1, height, 16, 16, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20163, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20148, 0, 0, 16, 16, 1, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20152, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20157, 0, 0, 16, 32, 1, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20162, 0, 0, 16, 32, 1, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20147, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20151, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20156, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20161, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20146, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20155, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20160, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20165, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20150, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20154, 0, 0, 32, 16, 1, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20159, 0, 0, 32, 16, 1, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20164, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20149, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20153, 0, 0, 16, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20158, 0, 0, 16, 16, 1, height, 16, 16, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20163, 0, 0, 16, 16, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20148, 0, 0, 16, 16, 1, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20152, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20157, 0, 0, 16, 32, 1, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20162, 0, 0, 16, 32, 1, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20147, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20151, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20156, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20161, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20146, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C0C4 */ static void mine_train_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mine_train_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mine_train_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x0071C074 */ static void mine_train_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20106, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20114, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20107, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20115, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20108, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20109, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20106, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20114, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20107, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20115, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20108, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20109, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0071C084 */ static void mine_train_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20110, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20111, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20112, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20116, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20113, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20117, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20110, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20111, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20112, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20116, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20113, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20117, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0071C094 */ static void mine_train_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20112, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20116, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20113, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20117, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20110, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20111, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20112, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20116, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20113, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20117, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20110, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20111, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0071C0A4 */ static void mine_train_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20108, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20109, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20106, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20114, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20107, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20115, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20108, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20109, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20106, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20114, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20107, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20115, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0071C0D4 */ static void mine_train_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20175, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20186, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20180, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20185, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20170, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20174, 0, 0, 32, 16, 1, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20179, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20184, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20169, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20173, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20178, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20183, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20168, 0, 0, 16, 16, 1, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20172, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20177, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20182, 0, 0, 16, 32, 1, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20167, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20171, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20176, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20181, 0, 0, 20, 32, 1, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20187, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20166, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20175, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20186, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20180, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20185, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20170, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20174, 0, 0, 32, 16, 1, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20179, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20184, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20169, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20173, 0, 0, 16, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20178, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20183, 0, 0, 16, 16, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20168, 0, 0, 16, 16, 1, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20172, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20177, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20182, 0, 0, 16, 32, 1, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20167, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20171, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20176, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20181, 0, 0, 20, 32, 1, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20187, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20166, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C0E4 */ static void mine_train_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mine_train_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mine_train_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x0071C204 */ static void mine_train_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20118, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20122, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20119, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20123, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20120, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20121, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20118, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20122, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20119, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20123, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20120, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20121, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x0071C214 */ static void mine_train_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20124, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20125, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20126, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20128, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20127, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20129, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20124, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20125, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20126, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20128, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20127, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20129, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x0071C224 */ static void mine_train_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20130, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20134, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20131, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20135, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20132, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20133, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20130, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20134, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20131, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20135, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20132, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20133, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x0071C234 */ static void mine_train_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20136, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20137, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20138, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20140, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20139, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20141, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20136, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20137, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20138, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20140, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20139, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20141, 0, 0, 32, 1, 34, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x0071C244 */ static void mine_train_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_train_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_train_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C254 */ static void mine_train_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_train_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_train_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C264 */ static void mine_train_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_train_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_train_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C274 */ static void mine_train_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_train_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_train_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C304 */ static void mine_train_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20142, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20143, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20144, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20145, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20142, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20143, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20144, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20145, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0071C314 */ static void mine_train_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mine_train_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mine_train_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C0F4 */ static void mine_train_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20250, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20255, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20260, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20265, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20251, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20256, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20261, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20266, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20252, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20257, 0, 0, 16, 16, 1, height, 16, 16, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20262, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20267, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20253, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20258, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20263, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20268, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20254, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20259, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20264, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20269, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20250, 0, 0, 32, 27, 1, height, 0, 2, height); + wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20255, 0, 0, 32, 27, 1, height, 0, 2, height); + wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20260, 0, 0, 32, 27, 1, height, 0, 2, height); + wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20265, 0, 0, 32, 27, 1, height, 0, 2, height); + wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20251, 0, 0, 32, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20256, 0, 0, 32, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20261, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20266, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20252, 0, 0, 16, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20257, 0, 0, 16, 16, 1, height, 16, 16, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20262, 0, 0, 16, 16, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20267, 0, 0, 16, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20253, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20258, 0, 0, 16, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20263, 0, 0, 16, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20268, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20254, 0, 0, 27, 32, 1, height, 2, 0, height); + wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20259, 0, 0, 27, 32, 1, height, 2, 0, height); + wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20264, 0, 0, 27, 32, 1, height, 2, 0, height); + wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20269, 0, 0, 27, 32, 1, height, 2, 0, height); + wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x0071C104 */ static void mine_train_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20230, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20235, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20240, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20245, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20231, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20236, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20241, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20246, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20232, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20237, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20242, 0, 0, 16, 16, 1, height, 16, 16, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20247, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20233, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20238, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20243, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20248, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20234, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20239, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20244, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20249, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20230, 0, 0, 32, 27, 1, height, 0, 2, height); + wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20235, 0, 0, 32, 27, 1, height, 0, 2, height); + wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20240, 0, 0, 32, 27, 1, height, 0, 2, height); + wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20245, 0, 0, 32, 27, 1, height, 0, 2, height); + wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20231, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20236, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20241, 0, 0, 32, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20246, 0, 0, 32, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20232, 0, 0, 16, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20237, 0, 0, 16, 16, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20242, 0, 0, 16, 16, 1, height, 16, 16, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20247, 0, 0, 16, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20233, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20238, 0, 0, 16, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20243, 0, 0, 16, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20248, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20234, 0, 0, 27, 32, 1, height, 2, 0, height); + wooden_a_supports_paint_setup(7, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20239, 0, 0, 27, 32, 1, height, 2, 0, height); + wooden_a_supports_paint_setup(6, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20244, 0, 0, 27, 32, 1, height, 2, 0, height); + wooden_a_supports_paint_setup(7, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20249, 0, 0, 27, 32, 1, height, 2, 0, height); + wooden_a_supports_paint_setup(6, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x0071C114 */ static void mine_train_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mine_train_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mine_train_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x0071C124 */ static void mine_train_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mine_train_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mine_train_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x0071C134 */ static void mine_train_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20270, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20274, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20273, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20277, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20271, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20275, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20272, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20276, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20272, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20276, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20271, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20275, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20273, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20277, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20270, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20274, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20270, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20274, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20273, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20277, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20271, 0, 0, 32, 26, 1, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20275, 0, 0, 32, 26, 1, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20272, 0, 0, 32, 26, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20276, 0, 0, 32, 26, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20272, 0, 0, 32, 26, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20276, 0, 0, 32, 26, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20271, 0, 0, 32, 26, 1, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20275, 0, 0, 32, 26, 1, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20273, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20277, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20270, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20274, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C144 */ static void mine_train_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20278, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20282, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20281, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20285, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20279, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20283, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20280, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20284, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20280, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20284, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20279, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20283, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20281, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20285, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20278, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20282, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20278, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20282, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20281, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20285, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20279, 0, 0, 32, 26, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20283, 0, 0, 32, 26, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20280, 0, 0, 32, 26, 1, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20284, 0, 0, 32, 26, 1, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20280, 0, 0, 32, 26, 1, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20284, 0, 0, 32, 26, 1, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20279, 0, 0, 32, 26, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20283, 0, 0, 32, 26, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20281, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20285, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20278, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20282, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C184 */ static void mine_train_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20193, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20196, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20199, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20190, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20192, 0, 0, 16, 16, 1, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20195, 0, 0, 16, 16, 1, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20198, 0, 0, 16, 16, 1, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20189, 0, 0, 16, 16, 1, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20191, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20194, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20197, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20188, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20193, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20196, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20199, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20190, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20192, 0, 0, 16, 16, 1, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20195, 0, 0, 16, 16, 1, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20198, 0, 0, 16, 16, 1, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20189, 0, 0, 16, 16, 1, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20191, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20194, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20197, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20188, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C194 */ static void mine_train_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mine_train_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mine_train_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x0071C1A4 */ static void mine_train_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20205, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20212, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20208, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20211, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20202, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20204, 0, 0, 16, 16, 1, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20207, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20210, 0, 0, 16, 16, 1, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20201, 0, 0, 16, 16, 1, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20203, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20206, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20209, 0, 0, 20, 32, 1, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20213, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20200, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20205, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20212, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20208, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20211, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20202, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20204, 0, 0, 16, 16, 1, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20207, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20210, 0, 0, 16, 16, 1, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20201, 0, 0, 16, 16, 1, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20203, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20206, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20209, 0, 0, 20, 32, 1, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20213, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20200, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C1B4 */ static void mine_train_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mine_train_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mine_train_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x0071C1C4 */ static void mine_train_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20225, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20227, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20229, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20223, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20224, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20226, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20228, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20222, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20225, 0, 6, 32, 20, 1, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20227, 0, 6, 32, 20, 1, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20229, 0, 6, 32, 20, 1, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20223, 0, 6, 32, 20, 1, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20224, 6, 0, 20, 32, 1, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20226, 6, 0, 20, 32, 1, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20228, 6, 0, 20, 32, 1, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20222, 6, 0, 20, 32, 1, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x0071C1D4 */ static void mine_train_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20214, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20216, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20218, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20220, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20215, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20217, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20219, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20221, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20214, 0, 6, 32, 20, 1, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20216, 0, 6, 32, 20, 1, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20218, 0, 6, 32, 20, 1, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20220, 0, 6, 32, 20, 1, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20215, 6, 0, 20, 32, 1, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20217, 6, 0, 20, 32, 1, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20219, 6, 0, 20, 32, 1, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20221, 6, 0, 20, 32, 1, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x0071C1E4 */ static void mine_train_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mine_train_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mine_train_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x0071C1F4 */ static void mine_train_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mine_train_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mine_train_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x0071C284 */ static void mine_train_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20305, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20312, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20308, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20311, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20302, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20304, 0, 0, 16, 16, 1, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20307, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20310, 0, 0, 16, 16, 1, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20301, 0, 0, 16, 16, 1, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20303, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20306, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20309, 0, 0, 20, 32, 1, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20313, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20300, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20302, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20305, 0, 0, 20, 32, 1, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20312, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20308, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20311, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20301, 0, 0, 16, 16, 1, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20304, 0, 0, 16, 16, 1, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20307, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20310, 0, 0, 16, 16, 1, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20300, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20303, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20306, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20309, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20313, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20305, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20312, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20308, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20311, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20302, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20304, 0, 0, 16, 16, 1, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20307, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20310, 0, 0, 16, 16, 1, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20301, 0, 0, 16, 16, 1, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20303, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20306, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20309, 0, 0, 20, 32, 1, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20313, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20300, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20302, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20305, 0, 0, 20, 32, 1, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20312, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20308, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20311, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20301, 0, 0, 16, 16, 1, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20304, 0, 0, 16, 16, 1, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20307, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20310, 0, 0, 16, 16, 1, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20300, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20303, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20306, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20309, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20313, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C294 */ static void mine_train_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20286, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20289, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20292, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20295, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20299, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20287, 0, 0, 16, 16, 1, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20290, 0, 0, 16, 16, 1, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20293, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20296, 0, 0, 16, 16, 1, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20288, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20291, 0, 0, 20, 32, 1, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20298, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20294, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20297, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20289, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20292, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20295, 0, 0, 20, 32, 1, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20299, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20286, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20290, 0, 0, 16, 16, 1, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20293, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20296, 0, 0, 16, 16, 1, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20287, 0, 0, 16, 16, 1, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20291, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20298, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20294, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20297, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20288, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20286, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20289, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20292, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20295, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20299, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20287, 0, 0, 16, 16, 1, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20290, 0, 0, 16, 16, 1, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20293, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20296, 0, 0, 16, 16, 1, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20288, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20291, 0, 0, 20, 32, 1, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20298, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20294, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20297, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20289, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20292, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20295, 0, 0, 20, 32, 1, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20299, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20286, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20290, 0, 0, 16, 16, 1, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20293, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20296, 0, 0, 16, 16, 1, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20287, 0, 0, 16, 16, 1, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20291, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20298, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20294, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20297, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20288, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C2A4 */ static void mine_train_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mine_train_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mine_train_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x0071C2B4 */ static void mine_train_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mine_train_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mine_train_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x0071C2C4 */ static void mine_train_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20345, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20356, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20350, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20355, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20340, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20344, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20349, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20354, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20339, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20343, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20348, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20178, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20353, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20338, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D0, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20342, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20347, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20177, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20352, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20337, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20341, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20346, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20351, 0, 0, 20, 32, 1, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20357, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20336, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20340, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20345, 0, 0, 20, 32, 1, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20356, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20350, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20355, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20339, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20344, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20349, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20354, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20338, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20343, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20348, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20178, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20353, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20337, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20342, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20347, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20177, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20352, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20336, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20341, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20346, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20351, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20357, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20345, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20356, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20350, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20355, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20340, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20344, 0, 0, 32, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20349, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20354, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20339, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20343, 0, 0, 16, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20348, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20178, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20353, 0, 0, 16, 16, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20338, 0, 0, 16, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D0, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20342, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20347, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20177, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20352, 0, 0, 16, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20337, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20341, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20346, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20351, 0, 0, 20, 32, 1, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20357, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20336, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20340, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20345, 0, 0, 20, 32, 1, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20356, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20350, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20355, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20339, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20344, 0, 0, 16, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20349, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20354, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20338, 0, 0, 16, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20343, 0, 0, 16, 16, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20348, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20178, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20353, 0, 0, 16, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20337, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20342, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20347, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20177, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20352, 0, 0, 32, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20336, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20341, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20346, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20351, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20357, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C2D4 */ static void mine_train_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20314, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20319, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20324, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20329, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20335, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20315, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20320, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20325, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20330, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20316, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20321, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20326, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20331, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20317, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20322, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20327, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20332, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20318, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20323, 0, 0, 20, 32, 1, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20334, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20328, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20333, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20319, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20324, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20329, 0, 0, 20, 32, 1, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20335, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20314, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20320, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20325, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20330, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20315, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20321, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20326, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20331, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20316, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D0, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20322, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20327, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20332, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20317, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20323, 0, 0, 32, 20, 1, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20334, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20328, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20333, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20318, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20314, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20319, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20324, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20329, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20335, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20315, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20320, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20325, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20330, 0, 0, 32, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20316, 0, 0, 16, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20321, 0, 0, 16, 16, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20326, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20331, 0, 0, 16, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20317, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20322, 0, 0, 16, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20327, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20332, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20318, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20323, 0, 0, 20, 32, 1, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20334, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20328, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20333, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20319, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20324, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20329, 0, 0, 20, 32, 1, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20335, 0, 0, 1, 32, 26, height, 27, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20314, 0, 0, 20, 32, 1, height, 6, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20320, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20325, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20330, 0, 0, 16, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20315, 0, 0, 16, 32, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20321, 0, 0, 16, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20326, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20331, 0, 0, 16, 16, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20316, 0, 0, 16, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D0, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20322, 0, 0, 32, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20327, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20332, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20317, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20323, 0, 0, 32, 20, 1, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20334, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20328, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20333, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20318, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C2E4 */ static void mine_train_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mine_train_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mine_train_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x0071C2F4 */ static void mine_train_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mine_train_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mine_train_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x0071C324 */ static void mine_train_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20058, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20059, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20058, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20059, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0071C334 */ static void mine_train_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20052, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20053, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20052, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20053, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - track_paint_util_onride_photo_paint(direction, height + 2, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20052, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20053, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20052, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20053, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + track_paint_util_onride_photo_paint(direction, height + 2, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x0071C354 */ static void mine_train_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20452, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20456, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20460, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20464, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20453, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20457, 0, 0, 34, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20461, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20465, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20454, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20458, 0, 0, 16, 16, 1, height, 16, 16, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20462, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20466, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20455, 0, 0, 16, 16, 1, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20459, 0, 0, 16, 18, 1, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20463, 0, 0, 16, 16, 1, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20467, 0, 0, 16, 16, 1, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20452, 0, 0, 32, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20456, 0, 0, 32, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20460, 0, 0, 32, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20464, 0, 0, 32, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20453, 0, 0, 32, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20457, 0, 0, 34, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20461, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20465, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20454, 0, 0, 16, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20458, 0, 0, 16, 16, 1, height, 16, 16, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20462, 0, 0, 16, 16, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20466, 0, 0, 16, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20455, 0, 0, 16, 16, 1, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20459, 0, 0, 16, 18, 1, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20463, 0, 0, 16, 16, 1, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20467, 0, 0, 16, 16, 1, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C364 */ static void mine_train_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20436, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20440, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20444, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20448, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20437, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20441, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20445, 0, 0, 34, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20449, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20438, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20442, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20446, 0, 0, 28, 28, 1, height, 4, 4, height); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20450, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20439, 0, 0, 16, 16, 1, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20443, 0, 0, 16, 16, 1, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20447, 0, 0, 16, 18, 1, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20451, 0, 0, 16, 16, 1, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20436, 0, 0, 32, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20440, 0, 0, 32, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20444, 0, 0, 32, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20448, 0, 0, 32, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20437, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20441, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20445, 0, 0, 34, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20449, 0, 0, 32, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20438, 0, 0, 16, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20442, 0, 0, 16, 16, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20446, 0, 0, 28, 28, 1, height, 4, 4, height); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20450, 0, 0, 16, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20439, 0, 0, 16, 16, 1, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20443, 0, 0, 16, 16, 1, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20447, 0, 0, 16, 18, 1, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20451, 0, 0, 16, 16, 1, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C374 */ static void mine_train_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mine_train_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mine_train_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C384 */ static void mine_train_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mine_train_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mine_train_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x0071C394 */ static void mine_train_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20484, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20488, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20492, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20496, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20485, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20489, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20493, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20497, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20486, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20490, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20494, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20498, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20487, 0, 0, 16, 16, 1, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20491, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20495, 0, 0, 16, 16, 1, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20499, 0, 0, 16, 16, 1, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20484, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20488, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20492, 0, 0, 32, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20496, 0, 0, 32, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20485, 0, 0, 32, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20489, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20493, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20497, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20486, 0, 0, 16, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20490, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20494, 0, 0, 16, 16, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20498, 0, 0, 16, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20487, 0, 0, 16, 16, 1, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20491, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20495, 0, 0, 16, 16, 1, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20499, 0, 0, 16, 16, 1, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C3A4 */ static void mine_train_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20468, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20472, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20476, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20480, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20469, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20473, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20477, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20481, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20470, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20474, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20478, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20482, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20471, 0, 0, 16, 16, 1, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20475, 0, 0, 16, 16, 1, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20479, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20483, 0, 0, 16, 16, 1, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20468, 0, 0, 32, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20472, 0, 0, 32, 32, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20476, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20480, 0, 0, 32, 1, 26, height, 0, 27, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20469, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20473, 0, 0, 32, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20477, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20481, 0, 0, 32, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20470, 0, 0, 16, 16, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20474, 0, 0, 16, 16, 1, height, 16, 0, height); + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20478, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20482, 0, 0, 16, 16, 1, height, 0, 16, height); + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20471, 0, 0, 16, 16, 1, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20475, 0, 0, 16, 16, 1, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20479, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20483, 0, 0, 16, 16, 1, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C3B4 */ static void mine_train_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mine_train_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mine_train_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0071C3C4 */ static void mine_train_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mine_train_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mine_train_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x0071C344 */ static void mine_train_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20389, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20361, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20386, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20358, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20388, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20360, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20387, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20359, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20389, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20361, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20386, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20358, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20388, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20360, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20387, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20359, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C414 */ static void mine_train_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20401, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20373, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20398, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20370, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20400, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20372, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20399, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20371, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20401, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20373, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20398, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20370, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20400, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20372, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20399, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20371, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x0071C474 */ static void mine_train_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20385, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20382, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20384, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20383, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20385, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20382, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20384, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20383, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x0071C3F4 */ static void mine_train_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20393, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20365, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20390, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20362, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20392, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20364, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20391, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20363, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20393, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20365, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20390, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20362, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20392, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20364, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20391, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20363, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x0071C454 */ static void mine_train_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20377, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20374, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20376, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20375, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20377, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20374, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20376, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20375, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x0071C464 */ static void mine_train_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20381, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20378, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20380, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20379, -16, -16, 16, 16, 1, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20381, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20378, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20380, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20379, -16, -16, 16, 16, 1, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x0071C404 */ static void mine_train_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20397, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20369, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20394, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20366, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20396, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20368, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20395, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20367, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20397, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20369, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20394, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20366, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20396, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20368, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20395, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20367, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x0071C444 */ static void mine_train_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20399, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20371, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20400, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20372, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20398, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20370, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20401, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20373, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20399, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20371, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20400, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20372, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20398, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20370, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20401, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20373, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x0071C4A4 */ static void mine_train_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20383, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20384, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20382, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20385, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20383, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20384, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20382, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20385, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x0071C424 */ static void mine_train_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20395, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20367, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20396, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20368, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20394, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20366, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20397, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20369, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20395, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20367, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20396, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20368, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20394, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20366, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20397, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20369, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x0071C484 */ static void mine_train_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20379, -16, -16, 16, 16, 1, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20380, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20378, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20381, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20379, -16, -16, 16, 16, 1, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20380, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20378, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20381, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x0071C494 */ static void mine_train_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20375, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20376, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20374, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20377, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20375, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20376, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20374, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20377, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x0071C434 */ static void mine_train_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20391, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20363, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20392, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20364, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20390, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20362, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20393, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20365, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20391, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20363, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20392, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20364, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20390, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20362, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20393, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20365, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x0071C4D4 */ static void mine_train_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20409, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20406, -16, -16, 32, 32, 1, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20410, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20408, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20407, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20409, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20406, -16, -16, 32, 32, 1, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20410, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20408, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20407, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C4B4 */ static void mine_train_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20414, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20411, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20413, -16, -16, 32, 32, 1, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20415, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20412, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20414, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20411, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20413, -16, -16, 32, 32, 1, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20415, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20412, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C4C4 */ static void mine_train_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20412, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20413, -16, -16, 32, 32, 1, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20415, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20411, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20414, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20412, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20413, -16, -16, 32, 32, 1, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20415, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20411, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20414, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C4E4 */ static void mine_train_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20407, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20408, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20406, -16, -16, 32, 32, 1, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20410, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20409, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20407, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20408, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20406, -16, -16, 32, 32, 1, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20410, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20409, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C514 */ static void mine_train_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20429, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20426, -16, -16, 32, 32, 1, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20430, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20428, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20427, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20429, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20426, -16, -16, 32, 32, 1, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20430, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20428, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20427, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x0071C524 */ static void mine_train_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20434, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20431, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20433, -16, -16, 32, 32, 1, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20435, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20432, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20434, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20431, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20433, -16, -16, 32, 32, 1, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20435, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20432, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x0071C4F4 */ static void mine_train_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20419, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20416, -16, -16, 32, 32, 1, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20420, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20418, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20417, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20419, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20416, -16, -16, 32, 32, 1, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20420, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20418, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20417, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x0071C504 */ static void mine_train_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20424, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20421, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20423, -16, -16, 32, 32, 1, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20425, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20422, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20424, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20421, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20423, -16, -16, 32, 32, 1, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20425, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20422, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x0071C534 */ static void mine_train_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20422, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20423, -16, -16, 32, 32, 1, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20425, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20421, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20424, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20422, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20423, -16, -16, 32, 32, 1, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20425, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20421, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20424, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x0071C544 */ static void mine_train_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20417, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20418, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20416, -16, -16, 32, 32, 1, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20420, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20419, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20417, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20418, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(10, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(11, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20416, -16, -16, 32, 32, 1, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20420, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(8, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(9, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20419, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x0071C554 */ static void mine_train_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20432, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20433, -16, -16, 32, 32, 1, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20435, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20431, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20434, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20432, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20433, -16, -16, 32, 32, 1, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20435, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20431, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20434, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x0071C564 */ static void mine_train_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20427, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20428, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20426, -16, -16, 32, 32, 1, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20430, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20429, -16, -16, 32, 32, 1, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20427, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20428, -16, -16, 32, 32, 1, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20426, -16, -16, 32, 32, 1, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20430, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20429, -16, -16, 32, 32, 1, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x0071C3D4 */ static void mine_train_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20405, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20402, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20404, -16, -16, 32, 32, 3, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20403, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20405, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20402, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20404, -16, -16, 32, 32, 3, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20403, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C3E4 */ static void mine_train_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20403, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20404, -16, -16, 32, 32, 3, height, -16, -16, height); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20402, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20405, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20403, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20404, -16, -16, 32, 32, 3, height, -16, -16, height); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(10, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(11, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20402, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(8, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(9, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20405, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0071C574 */ static void mine_train_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20060, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20061, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20060, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(6, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 20061, 0, 0, 32, 20, 1, height, 0, 6, height); + wooden_a_supports_paint_setup(7, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_mine_train_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return mine_train_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return mine_train_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return mine_train_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return mine_train_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return mine_train_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return mine_train_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return mine_train_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return mine_train_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return mine_train_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return mine_train_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return mine_train_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return mine_train_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return mine_train_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return mine_train_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return mine_train_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return mine_train_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return mine_train_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return mine_train_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return mine_train_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return mine_train_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return mine_train_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return mine_train_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return mine_train_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return mine_train_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return mine_train_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return mine_train_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return mine_train_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return mine_train_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return mine_train_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return mine_train_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return mine_train_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return mine_train_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return mine_train_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return mine_train_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return mine_train_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return mine_train_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return mine_train_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return mine_train_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return mine_train_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return mine_train_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return mine_train_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return mine_train_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return mine_train_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return mine_train_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return mine_train_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return mine_train_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return mine_train_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return mine_train_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return mine_train_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return mine_train_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return mine_train_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return mine_train_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return mine_train_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return mine_train_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_BRAKES: - return mine_train_rc_track_brakes; - case TRACK_ELEM_ON_RIDE_PHOTO: - return mine_train_rc_track_on_ride_photo; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return mine_train_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return mine_train_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return mine_train_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return mine_train_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return mine_train_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return mine_train_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return mine_train_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return mine_train_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return mine_train_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return mine_train_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return mine_train_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return mine_train_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return mine_train_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return mine_train_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return mine_train_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return mine_train_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return mine_train_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return mine_train_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return mine_train_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return mine_train_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return mine_train_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return mine_train_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return mine_train_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return mine_train_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return mine_train_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return mine_train_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return mine_train_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return mine_train_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return mine_train_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return mine_train_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return mine_train_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return mine_train_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return mine_train_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return mine_train_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return mine_train_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: - return mine_train_rc_track_block_brakes; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return mine_train_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return mine_train_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return mine_train_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return mine_train_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return mine_train_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return mine_train_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return mine_train_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return mine_train_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return mine_train_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return mine_train_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return mine_train_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return mine_train_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return mine_train_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return mine_train_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return mine_train_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return mine_train_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return mine_train_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return mine_train_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return mine_train_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return mine_train_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return mine_train_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return mine_train_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return mine_train_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return mine_train_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return mine_train_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return mine_train_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return mine_train_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return mine_train_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return mine_train_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return mine_train_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return mine_train_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return mine_train_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return mine_train_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return mine_train_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return mine_train_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return mine_train_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return mine_train_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return mine_train_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return mine_train_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return mine_train_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return mine_train_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return mine_train_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return mine_train_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return mine_train_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return mine_train_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return mine_train_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return mine_train_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return mine_train_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return mine_train_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return mine_train_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return mine_train_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return mine_train_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return mine_train_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return mine_train_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_BRAKES: + return mine_train_rc_track_brakes; + case TRACK_ELEM_ON_RIDE_PHOTO: + return mine_train_rc_track_on_ride_photo; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return mine_train_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return mine_train_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return mine_train_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return mine_train_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return mine_train_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return mine_train_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return mine_train_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return mine_train_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return mine_train_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return mine_train_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return mine_train_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return mine_train_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return mine_train_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return mine_train_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return mine_train_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return mine_train_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return mine_train_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return mine_train_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return mine_train_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return mine_train_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return mine_train_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return mine_train_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return mine_train_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return mine_train_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return mine_train_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return mine_train_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return mine_train_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return mine_train_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return mine_train_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return mine_train_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return mine_train_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return mine_train_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return mine_train_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return mine_train_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return mine_train_rc_track_diag_right_bank; + case TRACK_ELEM_BLOCK_BRAKES: + return mine_train_rc_track_block_brakes; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/mini_roller_coaster.c b/src/openrct2/ride/coaster/mini_roller_coaster.c index 6307b57263..7506274194 100644 --- a/src/openrct2/ride/coaster/mini_roller_coaster.c +++ b/src/openrct2/ride/coaster/mini_roller_coaster.c @@ -29,6460 +29,6460 @@ /** rct2: 0x008A4ABC */ static void mini_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19044, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19045, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19046, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19047, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18738, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18739, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19044, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19045, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19046, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19047, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18738, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18739, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void mini_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { 18746, 18742, SPR_STATION_BASE_A_SW_NE }, - { 18747, 18743, SPR_STATION_BASE_A_NW_SE }, - { 18746, 18742, SPR_STATION_BASE_A_SW_NE }, - { 18747, 18743, SPR_STATION_BASE_A_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { 18746, 18742, SPR_STATION_BASE_A_SW_NE }, + { 18747, 18743, SPR_STATION_BASE_A_NW_SE }, + { 18746, 18742, SPR_STATION_BASE_A_SW_NE }, + { 18747, 18743, SPR_STATION_BASE_A_NW_SE }, + }; - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } else { - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - } - sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); - track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } else { + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + } + sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); + track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A4ACC */ static void mini_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19056, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19057, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19058, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19059, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18796, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18797, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18798, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18799, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19056, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19057, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19058, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19059, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18796, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18797, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18798, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18799, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A4ADC */ static void mini_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18812, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 38, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18813, 0, 0, 32, 1, 98, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 38, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18814, 0, 0, 32, 1, 98, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 38, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18815, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 38, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18812, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 38, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18813, 0, 0, 32, 1, 98, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 38, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18814, 0, 0, 32, 1, 98, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 38, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18815, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 38, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A4AEC */ static void mini_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19048, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19049, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19050, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19051, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18788, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18789, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18790, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18791, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19048, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19049, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19050, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19051, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18788, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18789, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18790, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18791, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A4AFC */ static void mini_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18800, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 18, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18801, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18804, 0, 0, 32, 1, 66, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 18, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18802, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18805, 0, 0, 32, 1, 66, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 18, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18803, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 18, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18800, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 18, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18801, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18804, 0, 0, 32, 1, 66, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 18, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18802, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18805, 0, 0, 32, 1, 66, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 18, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18803, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 18, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A4B0C */ static void mini_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18806, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 26, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18807, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18810, 0, 0, 32, 1, 66, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 26, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18808, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18811, 0, 0, 32, 1, 66, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 26, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18809, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 26, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18806, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 26, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18807, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18810, 0, 0, 32, 1, 66, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 26, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18808, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18811, 0, 0, 32, 1, 66, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 26, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18809, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 26, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A4B1C */ static void mini_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19052, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19053, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19054, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19055, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18792, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18793, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18794, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18795, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19052, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19053, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19054, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19055, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18792, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18793, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18794, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18795, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A4B2C */ static void mini_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4B3C */ static void mini_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4B4C */ static void mini_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4B5C */ static void mini_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4B6C */ static void mini_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4B7C */ static void mini_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4B8C */ static void mini_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18851, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18856, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18861, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18846, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18850, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18855, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18860, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18845, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18849, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18854, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18859, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18844, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18848, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18853, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18858, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18843, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18847, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18852, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18857, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18842, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18851, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18856, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18861, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18846, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18850, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18855, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18860, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18845, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18849, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18854, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18859, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18844, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18848, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18853, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18858, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18843, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18847, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18852, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18857, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18842, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4B9C */ static void mini_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mini_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mini_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A4BAC */ static void mini_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18748, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18756, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18749, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18757, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18750, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18751, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18748, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18756, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18749, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18757, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18750, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18751, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A4BBC */ static void mini_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18752, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18753, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18754, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18758, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18755, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18759, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18752, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18753, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18754, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18758, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18755, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18759, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A4BCC */ static void mini_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18754, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18758, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18755, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18759, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18752, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18753, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18754, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18758, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18755, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18759, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18752, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18753, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A4BDC */ static void mini_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18750, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18751, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18748, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18756, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18749, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18757, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18750, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18751, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18748, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18756, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18749, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18757, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A4BEC */ static void mini_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18871, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18882, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18876, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18881, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18866, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18870, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18875, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18880, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18865, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18869, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18874, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18879, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18864, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18868, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18873, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18878, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18863, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18867, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18872, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18877, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18883, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18862, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18871, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18882, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18876, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18881, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18866, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18870, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18875, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18880, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18865, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18869, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18874, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18879, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18864, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18868, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18873, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18878, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18863, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18867, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18872, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18877, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18883, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18862, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4BFC */ static void mini_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mini_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mini_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A4C0C */ static void mini_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18760, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18764, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18761, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18765, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18762, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18763, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18760, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18764, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18761, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18765, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18762, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18763, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A4C1C */ static void mini_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18766, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18767, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18768, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18770, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18769, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18771, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18766, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18767, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18768, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18770, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18769, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18771, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A4C2C */ static void mini_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18772, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18776, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18773, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18777, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18774, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18775, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18772, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18776, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18773, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18777, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18774, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18775, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A4C3C */ static void mini_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18778, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18779, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18780, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18782, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18781, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18783, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18778, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18779, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18780, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18782, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18781, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18783, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A4C4C */ static void mini_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4C5C */ static void mini_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4C6C */ static void mini_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4C7C */ static void mini_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4C8C */ static void mini_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18784, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18785, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18786, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18787, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18784, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18785, 0, 0, 32, 1, 26, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18786, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18787, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A4C9C */ static void mini_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4CAC */ static void mini_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18936, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18941, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18946, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18951, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18937, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18942, 0, 0, 32, 16, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18947, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18952, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18938, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18943, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18948, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18953, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18939, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18944, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18949, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18954, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18940, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18945, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18950, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18955, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18936, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18941, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18946, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18951, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18937, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18942, 0, 0, 32, 16, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18947, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18952, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18938, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18943, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18948, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18953, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18939, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18944, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18949, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18954, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18940, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18945, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18950, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18955, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A4CBC */ static void mini_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18916, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18921, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18926, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18931, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18917, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18922, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18927, 0, 0, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18932, 0, 0, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18918, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18923, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18928, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18933, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18919, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18924, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18929, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18934, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18920, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18925, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18930, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18935, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18916, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18921, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18926, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18931, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18917, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18922, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18927, 0, 0, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18932, 0, 0, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18918, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18923, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18928, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18933, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18919, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18924, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18929, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18934, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18920, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18925, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18930, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18935, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A4CCC */ static void mini_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mini_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mini_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A4CDC */ static void mini_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mini_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mini_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A4CEC */ static void mini_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18900, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18904, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18903, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18907, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18901, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 3, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18905, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18902, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18906, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18902, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18906, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18901, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 3, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18905, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18903, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18907, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18900, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18904, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18900, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18904, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18903, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18907, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18901, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 3, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18905, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18902, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18906, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18902, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18906, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18901, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 3, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18905, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18903, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18907, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18900, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18904, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4CFC */ static void mini_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18908, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18912, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18911, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18915, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18909, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18913, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18910, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18914, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18910, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18914, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18909, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18913, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18911, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18915, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18908, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18912, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18908, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18912, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18911, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18915, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18909, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18913, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18910, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18914, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18910, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18914, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18909, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18913, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18911, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18915, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18908, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18912, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4D3C */ static void mini_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18821, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18824, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18827, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18818, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18820, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18823, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18826, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18817, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18819, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18822, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18825, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18816, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18821, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18824, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18827, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18818, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18820, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18823, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18826, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18817, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18819, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18822, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18825, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18816, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4D4C */ static void mini_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mini_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mini_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A4D5C */ static void mini_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18833, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18840, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18836, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18839, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18830, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18832, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18835, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18838, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18829, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18831, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18834, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18837, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18841, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18828, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18833, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18840, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18836, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18839, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18830, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18832, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18835, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18838, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18829, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18831, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18834, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18837, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18841, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18828, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4D6C */ static void mini_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mini_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mini_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A4D7C */ static void mini_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18967, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18969, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18971, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18965, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18966, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18968, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18970, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18964, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18967, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18969, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18971, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18965, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18966, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18968, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18970, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18964, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A4D8C */ static void mini_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18956, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18958, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18960, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18962, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18957, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18959, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18961, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18963, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18956, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18958, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18960, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18962, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18957, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18959, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18961, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18963, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A4D9C */ static void mini_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mini_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mini_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A4DAC */ static void mini_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mini_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mini_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A4DBC */ static void mini_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18991, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18998, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18994, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18997, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18988, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18990, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18993, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18996, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18987, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18989, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18992, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18995, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18999, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18986, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18988, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18991, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18998, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18994, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18997, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18987, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18990, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18993, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18996, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18986, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18989, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18992, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18995, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18999, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18991, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18998, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18994, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18997, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18988, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18990, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18993, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18996, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18987, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18989, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18992, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18995, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18999, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18986, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18988, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18991, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18998, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18994, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18997, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18987, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18990, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18993, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18996, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18986, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18989, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18992, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18995, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18999, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4DCC */ static void mini_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18972, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18975, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18978, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18981, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18985, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 11, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18973, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18976, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18979, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18982, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18974, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18977, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18984, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18980, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18983, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18975, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18978, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18981, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18985, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 11, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18972, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18976, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18979, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18982, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18973, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18977, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18984, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18980, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18983, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18974, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18972, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18975, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18978, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18981, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18985, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 11, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18973, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18976, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18979, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18982, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18974, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18977, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18984, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18980, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18983, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18975, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18978, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18981, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18985, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 11, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18972, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18976, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18979, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18982, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18973, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18977, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18984, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18980, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18983, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18974, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4DDC */ static void mini_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mini_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mini_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A4DEC */ static void mini_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mini_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mini_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A4DFC */ static void mini_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19031, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19042, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19036, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19041, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19026, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19030, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19035, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19040, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19025, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19029, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19034, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19039, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19024, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19028, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19033, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19038, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19023, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19027, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19032, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19037, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19043, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19022, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19026, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19031, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19042, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19036, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19041, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19025, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19030, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19035, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19040, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19024, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19029, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19034, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19039, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19023, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19028, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19033, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19038, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19022, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19027, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19032, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19037, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19043, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19031, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19042, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19036, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19041, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19026, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19030, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19035, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19040, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19025, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19029, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19034, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19039, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19024, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19028, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19033, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19038, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19023, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19027, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19032, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19037, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19043, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19022, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19026, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19031, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19042, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19036, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19041, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19025, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19030, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19035, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19040, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19024, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19029, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19034, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19039, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19023, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19028, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19033, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19038, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19022, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19027, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19032, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19037, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19043, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4E0C */ static void mini_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19000, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19005, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19010, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19015, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19021, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19001, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19006, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19011, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19016, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19002, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19007, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19012, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19017, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19003, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19008, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19013, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19018, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19004, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19009, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19020, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19014, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19019, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19005, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19010, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19015, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19021, 0, 0, 1, 32, 26, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19000, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19006, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19011, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19016, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19001, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19007, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19012, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19017, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19002, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19008, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19013, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19018, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19003, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19009, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19020, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19014, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19019, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19004, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19000, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19005, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19010, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19015, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19021, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19001, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19006, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19011, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19016, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19002, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19007, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19012, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19017, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19003, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19008, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19013, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19018, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19004, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19009, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19020, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19014, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19019, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19005, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19010, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19015, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19021, 0, 0, 1, 32, 26, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19000, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19006, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19011, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19016, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19001, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19007, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19012, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19017, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19002, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19008, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19013, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19018, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19003, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19009, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19020, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19014, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19019, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19004, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 13, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4E1C */ static void mini_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mini_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mini_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A4E2C */ static void mini_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mini_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mini_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A4E5C */ static void mini_rc_track_left_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18893, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18897, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18894, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18898, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18895, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18899, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18892, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18896, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18893, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18897, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18894, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18898, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18895, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18899, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18892, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18896, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A4E3C */ static void mini_rc_track_right_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18884, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18888, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18885, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18889, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18886, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18890, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18887, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18891, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18884, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18888, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18885, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18889, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18886, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18890, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18887, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18891, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A4E4C */ static void mini_rc_track_left_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + mini_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A4E6C */ static void mini_rc_track_right_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + mini_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A4E7C */ static void mini_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18740, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18741, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18740, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18741, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A50CC */ static void mini_rc_track_25_deg_up_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19222, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19223, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19224, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19225, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19222, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19223, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19224, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19225, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A50DC */ static void mini_rc_track_25_deg_up_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19226, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19227, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19228, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19229, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19226, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19227, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19228, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19229, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A4E8C */ static void mini_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 6, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18738, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18739, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 6, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18738, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18739, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 6, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18738, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18739, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 6, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18738, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18739, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A50EC */ static void mini_rc_track_25_deg_down_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A50FC */ static void mini_rc_track_25_deg_down_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4EAC */ static void mini_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19076, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19080, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19084, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19088, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19077, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19081, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19085, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19089, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19078, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19082, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19086, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19090, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19079, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19083, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19087, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19091, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19076, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19080, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19084, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19088, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19077, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19081, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19085, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19089, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19078, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19082, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19086, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19090, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19079, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19083, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19087, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19091, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4EBC */ static void mini_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19060, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19064, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19068, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19072, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19061, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19065, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19069, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19073, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19062, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19066, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19070, 0, 0, 28, 28, 3, height, 4, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19074, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19063, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19067, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19071, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19075, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19060, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19064, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19068, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19072, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19061, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19065, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19069, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19073, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19062, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19066, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19070, 0, 0, 28, 28, 3, height, 4, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19074, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19063, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19067, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19071, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19075, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4ECC */ static void mini_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mini_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mini_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4EDC */ static void mini_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mini_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mini_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008A4EEC */ static void mini_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19108, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19112, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19116, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19120, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19109, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19113, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19117, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19121, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19110, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19114, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19118, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19122, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19111, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19115, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19119, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19123, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19108, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19112, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19116, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19120, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19109, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19113, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19117, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19121, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19110, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19114, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19118, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19122, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19111, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19115, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19119, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19123, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4EFC */ static void mini_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19092, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19096, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19100, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19104, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19093, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19097, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19101, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19105, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19094, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19098, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19102, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19106, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19095, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19099, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19103, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19107, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19092, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19096, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19100, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19104, 0, 0, 32, 1, 26, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19093, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19097, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19101, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19105, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19094, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19098, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19102, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19106, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19095, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19099, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19103, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19107, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4F0C */ static void mini_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mini_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mini_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A4F1C */ static void mini_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mini_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mini_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008A4E9C */ static void mini_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19189, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19127, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19186, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19124, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19188, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19126, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19187, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19125, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19189, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19127, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19186, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19124, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19188, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19126, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19187, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19125, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4F4C */ static void mini_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19201, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19139, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19198, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19136, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19200, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19138, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19199, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19137, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19201, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19139, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19198, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19136, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19200, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19138, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19199, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19137, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A4FAC */ static void mini_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19151, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19148, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19150, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 38, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19149, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 42, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 38, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 42, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19151, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19148, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19150, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 38, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19149, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 42, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 38, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 42, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008A4F2C */ static void mini_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19193, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19131, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19190, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19128, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19192, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19130, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19191, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19129, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19193, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19131, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19190, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19128, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19192, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19130, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19191, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19129, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A4F8C */ static void mini_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19143, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19140, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19142, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 22, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19141, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 22, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 22, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 22, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19143, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19140, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19142, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 22, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19141, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 22, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 22, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 22, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A4F9C */ static void mini_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19147, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19144, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19146, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 27, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19145, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 27, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 27, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 27, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19147, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19144, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19146, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 27, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19145, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 27, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 27, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 27, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A4F3C */ static void mini_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19197, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19135, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19194, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19132, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19196, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19134, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19195, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19133, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19197, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19135, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19194, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19132, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19196, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19134, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19195, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19133, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A4F7C */ static void mini_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19199, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19137, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19200, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19138, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19198, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19136, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19201, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19139, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19199, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19137, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19200, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19138, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19198, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19136, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19201, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19139, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A4FDC */ static void mini_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19149, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19150, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19148, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 30, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19151, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 34, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 30, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 34, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19149, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19150, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19148, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 30, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19151, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 34, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 30, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 34, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008A4F5C */ static void mini_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19195, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19133, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19196, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19134, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19194, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19132, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19197, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19135, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19195, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19133, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19196, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19134, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19194, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19132, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19197, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19135, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A4FBC */ static void mini_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19145, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19146, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19144, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 23, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19147, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 23, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 23, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 23, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19145, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19146, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19144, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 23, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19147, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 23, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 23, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 23, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A4FCC */ static void mini_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19141, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19142, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19140, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19143, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19141, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19142, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19140, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19143, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A4F6C */ static void mini_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19191, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19129, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19192, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19130, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19190, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19128, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19193, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19131, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19191, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19129, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19192, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19130, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19190, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19128, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19193, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19131, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A500C */ static void mini_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19159, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19156, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19160, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19158, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19157, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19159, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19156, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19160, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19158, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19157, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A501C */ static void mini_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19164, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19161, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19163, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19165, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19162, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19164, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19161, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19163, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19165, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19162, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A502C */ static void mini_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19162, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19163, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19165, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19161, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19164, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19162, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19163, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19165, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19161, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19164, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A503C */ static void mini_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19157, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19158, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19156, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19160, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19159, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19157, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19158, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19156, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19160, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19159, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A506C */ static void mini_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19179, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19176, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19180, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19178, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19177, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19179, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19176, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19180, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19178, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19177, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A507C */ static void mini_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19184, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19181, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19183, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19185, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19182, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19184, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19181, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19183, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19185, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19182, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A504C */ static void mini_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19169, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19166, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19170, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19168, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19167, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19169, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19166, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19170, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19168, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19167, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A505C */ static void mini_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19174, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19171, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19173, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19175, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19172, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19174, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19171, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19173, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19175, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19172, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A508C */ static void mini_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19172, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19173, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19175, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19171, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19174, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19172, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19173, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19175, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19171, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19174, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A509C */ static void mini_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19167, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19168, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19166, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19170, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19169, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19167, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19168, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19166, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19170, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19169, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A50AC */ static void mini_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19182, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19183, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19185, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19181, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19184, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19182, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19183, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19185, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19181, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19184, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A50BC */ static void mini_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19177, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19178, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19176, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19180, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19179, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19177, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19178, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19176, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19180, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19179, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A4FEC */ static void mini_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19155, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19152, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19154, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19153, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19155, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19152, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19154, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19153, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A4FFC */ static void mini_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19153, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19154, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19152, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19155, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19153, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19154, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19152, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19155, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A530C */ static void mini_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18742, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18743, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18742, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 18743, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A510C */ static void mini_rc_track_left_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19317, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19319, 0, 6, 32, 1, 34, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19321, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19315, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19316, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19318, 6, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19320, 6, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19314, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19317, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19319, 0, 6, 32, 1, 34, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19321, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19315, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19316, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19318, 6, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19320, 6, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19314, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A511C */ static void mini_rc_track_right_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19306, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19308, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19310, 0, 6, 32, 1, 34, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19312, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19307, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19309, 6, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19311, 6, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19313, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19306, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19308, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19310, 0, 6, 32, 1, 34, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19312, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19307, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19309, 6, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19311, 6, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19313, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A512C */ static void mini_rc_track_left_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mini_rc_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mini_rc_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A513C */ static void mini_rc_track_right_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mini_rc_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mini_rc_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A514C */ static void mini_rc_track_left_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19286, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19291, 0, 0, 32, 1, 34, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19296, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19301, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19287, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19292, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19297, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19302, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19288, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19293, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19298, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19303, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19289, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19294, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19299, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19304, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19290, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19295, 0, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19300, 0, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19305, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19286, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19291, 0, 0, 32, 1, 34, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19296, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19301, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19287, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19292, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19297, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19302, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19288, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19293, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19298, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19303, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19289, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19294, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19299, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19304, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19290, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19295, 0, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19300, 0, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19305, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A515C */ static void mini_rc_track_right_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19266, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19271, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19276, 0, 0, 32, 1, 34, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19281, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19267, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19272, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19277, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19282, 0, 0, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19268, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19273, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19278, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19283, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19269, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19274, 0, 0, 1, 32, 34, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19279, 0, 0, 1, 1, 34, height, 30, 30, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19284, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19270, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19275, 0, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19280, 0, 0, 1, 32, 34, height, 27, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19285, 0, 0, 20, 32, 3, height, 6, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19266, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19271, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19276, 0, 0, 32, 1, 34, height, 0, 27, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19281, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19267, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19272, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19277, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19282, 0, 0, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19268, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19273, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19278, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19283, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19269, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19274, 0, 0, 1, 32, 34, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19279, 0, 0, 1, 1, 34, height, 30, 30, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19284, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19270, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19275, 0, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19280, 0, 0, 1, 32, 34, height, 27, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19285, 0, 0, 20, 32, 3, height, 6, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A516C */ static void mini_rc_track_left_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mini_rc_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mini_rc_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A517C */ static void mini_rc_track_right_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mini_rc_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mini_rc_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A518C */ static void mini_rc_track_25_deg_up_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19230, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19231, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19238, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19232, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19233, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19230, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19231, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19238, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19232, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19233, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A519C */ static void mini_rc_track_25_deg_up_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19234, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19235, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19236, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19239, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19237, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19234, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19235, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19236, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19239, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19237, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A51AC */ static void mini_rc_track_left_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19240, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19241, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19248, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19242, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19243, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19240, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19241, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19248, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19242, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19243, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A51BC */ static void mini_rc_track_right_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19244, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19245, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19246, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19249, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19247, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19244, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19245, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19246, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19249, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19247, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A51CC */ static void mini_rc_track_25_deg_down_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A51DC */ static void mini_rc_track_25_deg_down_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A51EC */ static void mini_rc_track_left_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A51FC */ static void mini_rc_track_right_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A520C */ static void mini_rc_track_left_banked_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19250, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19251, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19252, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19253, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19250, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19251, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19252, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19253, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A521C */ static void mini_rc_track_right_banked_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19254, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19255, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19256, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19257, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19254, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19255, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19256, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19257, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A524C */ static void mini_rc_track_left_banked_25_deg_up_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19258, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19259, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19260, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19261, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19258, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19259, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19260, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19261, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A525C */ static void mini_rc_track_right_banked_25_deg_up_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19262, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19263, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19264, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19265, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19262, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19263, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19264, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19265, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A526C */ static void mini_rc_track_left_banked_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A527C */ static void mini_rc_track_right_banked_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A522C */ static void mini_rc_track_left_banked_25_deg_down_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A523C */ static void mini_rc_track_right_banked_25_deg_down_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A528C */ static void mini_rc_track_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19202, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19203, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19210, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19204, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19205, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19202, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19203, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19210, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19204, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19205, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A529C */ static void mini_rc_track_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19206, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19207, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19208, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19211, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19209, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19206, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19207, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19208, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19211, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19209, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A52AC */ static void mini_rc_track_left_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19212, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19213, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19220, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19214, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19215, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19212, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19213, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19220, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19214, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19215, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A52BC */ static void mini_rc_track_right_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19216, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19217, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19218, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19221, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19219, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19216, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19217, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19218, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19221, 0, 0, 32, 1, 34, height, 0, 27, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19219, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A52CC */ static void mini_rc_track_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A52DC */ static void mini_rc_track_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A52EC */ static void mini_rc_track_left_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A52FC */ static void mini_rc_track_right_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_rc_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_rc_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void mini_rc_track_left_curved_lift_hill(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19333, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19335, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19337, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19331, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19332, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19334, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19336, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19330, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 16, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 16, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19333, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19335, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19337, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19331, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19332, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19334, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19336, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19330, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 16, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 16, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } static void mini_rc_track_right_curved_lift_hill(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19322, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19324, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19326, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19328, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19323, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19325, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19327, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19329, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 16, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 16, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19322, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19324, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19326, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19328, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 14, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19323, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19325, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19327, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 19329, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 16, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 16, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } static void mini_rc_track_booster(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - // These offsets could be moved to the g2.dat file when that supports offsets. + // These offsets could be moved to the g2.dat file when that supports offsets. sint8 ne_sw_offsetX = 7; sint8 ne_sw_offsetY = -15; sint8 nw_se_offsetX = -15; sint8 nw_se_offsetY = 7; - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | SPR_G2_MINI_RC_BOOSTER_NE_SW, ne_sw_offsetX, ne_sw_offsetY, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | SPR_G2_MINI_RC_BOOSTER_NW_SE, nw_se_offsetX, nw_se_offsetY, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | SPR_G2_MINI_RC_BOOSTER_NE_SW, ne_sw_offsetX, ne_sw_offsetY, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | SPR_G2_MINI_RC_BOOSTER_NW_SE, nw_se_offsetX, nw_se_offsetY, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_mini_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return mini_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return mini_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return mini_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return mini_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return mini_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return mini_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return mini_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return mini_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return mini_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return mini_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return mini_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return mini_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return mini_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return mini_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return mini_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return mini_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return mini_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return mini_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return mini_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return mini_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return mini_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return mini_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return mini_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return mini_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return mini_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return mini_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return mini_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return mini_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return mini_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return mini_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return mini_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return mini_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return mini_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return mini_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return mini_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return mini_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return mini_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return mini_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return mini_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return mini_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return mini_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return mini_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return mini_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return mini_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return mini_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return mini_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return mini_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return mini_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return mini_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return mini_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return mini_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return mini_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return mini_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return mini_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - return mini_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - return mini_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return mini_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return mini_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: - return mini_rc_track_brakes; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - return mini_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - return mini_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: - return mini_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - return mini_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - return mini_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return mini_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return mini_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return mini_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return mini_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return mini_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return mini_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return mini_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return mini_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return mini_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return mini_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return mini_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return mini_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return mini_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return mini_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return mini_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return mini_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return mini_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return mini_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return mini_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return mini_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return mini_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return mini_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return mini_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return mini_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return mini_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return mini_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return mini_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return mini_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return mini_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return mini_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return mini_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return mini_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return mini_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return mini_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return mini_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: - return mini_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return mini_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return mini_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return mini_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return mini_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return mini_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return mini_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return mini_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return mini_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: - return mini_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: - return mini_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return mini_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return mini_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: - return mini_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: - return mini_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return mini_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return mini_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return mini_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return mini_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: - return mini_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: - return mini_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return mini_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return mini_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: - return mini_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: - return mini_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return mini_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return mini_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: - return mini_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: - return mini_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return mini_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return mini_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: - return mini_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: - return mini_rc_track_right_banked_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_CURVED_LIFT_HILL: - return mini_rc_track_left_curved_lift_hill; - case TRACK_ELEM_RIGHT_CURVED_LIFT_HILL: - return mini_rc_track_right_curved_lift_hill; - case TRACK_ELEM_BOOSTER: - return mini_rc_track_booster; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return mini_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return mini_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return mini_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return mini_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return mini_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return mini_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return mini_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return mini_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return mini_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return mini_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return mini_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return mini_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return mini_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return mini_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return mini_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return mini_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return mini_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return mini_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return mini_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return mini_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return mini_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return mini_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return mini_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return mini_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return mini_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return mini_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return mini_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return mini_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return mini_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return mini_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return mini_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return mini_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return mini_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return mini_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return mini_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return mini_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return mini_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return mini_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return mini_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return mini_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return mini_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return mini_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return mini_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return mini_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return mini_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return mini_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return mini_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return mini_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return mini_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return mini_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return mini_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return mini_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return mini_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return mini_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + return mini_rc_track_left_quarter_turn_1_60_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + return mini_rc_track_right_quarter_turn_1_60_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return mini_rc_track_left_quarter_turn_1_60_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return mini_rc_track_right_quarter_turn_1_60_deg_down; + case TRACK_ELEM_BRAKES: + return mini_rc_track_brakes; + case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + return mini_rc_track_25_deg_up_left_banked; + case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + return mini_rc_track_25_deg_up_right_banked; + case TRACK_ELEM_ON_RIDE_PHOTO: + return mini_rc_track_on_ride_photo; + case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + return mini_rc_track_25_deg_down_left_banked; + case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + return mini_rc_track_25_deg_down_right_banked; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return mini_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return mini_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return mini_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return mini_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return mini_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return mini_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return mini_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return mini_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return mini_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return mini_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return mini_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return mini_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return mini_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return mini_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return mini_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return mini_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return mini_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return mini_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return mini_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return mini_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return mini_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return mini_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return mini_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return mini_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return mini_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return mini_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return mini_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return mini_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return mini_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return mini_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return mini_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return mini_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return mini_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return mini_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return mini_rc_track_diag_right_bank; + case TRACK_ELEM_BLOCK_BRAKES: + return mini_rc_track_block_brakes; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return mini_rc_track_left_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return mini_rc_track_right_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return mini_rc_track_left_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return mini_rc_track_right_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return mini_rc_track_left_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return mini_rc_track_right_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return mini_rc_track_left_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return mini_rc_track_right_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + return mini_rc_track_25_deg_up_to_left_banked_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + return mini_rc_track_25_deg_up_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return mini_rc_track_left_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return mini_rc_track_right_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + return mini_rc_track_25_deg_down_to_left_banked_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + return mini_rc_track_25_deg_down_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return mini_rc_track_left_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return mini_rc_track_right_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return mini_rc_track_left_banked_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return mini_rc_track_right_banked_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + return mini_rc_track_left_banked_25_deg_up_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + return mini_rc_track_right_banked_25_deg_up_to_right_banked_flat; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return mini_rc_track_left_banked_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return mini_rc_track_right_banked_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + return mini_rc_track_left_banked_25_deg_down_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + return mini_rc_track_right_banked_25_deg_down_to_right_banked_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return mini_rc_track_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return mini_rc_track_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + return mini_rc_track_left_banked_25_deg_up_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + return mini_rc_track_right_banked_25_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return mini_rc_track_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return mini_rc_track_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + return mini_rc_track_left_banked_25_deg_down_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + return mini_rc_track_right_banked_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_CURVED_LIFT_HILL: + return mini_rc_track_left_curved_lift_hill; + case TRACK_ELEM_RIGHT_CURVED_LIFT_HILL: + return mini_rc_track_right_curved_lift_hill; + case TRACK_ELEM_BOOSTER: + return mini_rc_track_booster; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/mini_suspended_coaster.c b/src/openrct2/ride/coaster/mini_suspended_coaster.c index 4d2ed37c00..8c4290098c 100644 --- a/src/openrct2/ride/coaster/mini_suspended_coaster.c +++ b/src/openrct2/ride/coaster/mini_suspended_coaster.c @@ -29,1719 +29,1719 @@ /** rct2: 0x008AFE9C */ static void mini_suspended_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28433, 0, 6, 32, 20, 1, height + 24); - break; - case 1: - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28434, 0, 6, 32, 20, 1, height + 24); - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28383, 0, 6, 32, 20, 1, height + 24); - break; - case 1: - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28384, 0, 6, 32, 20, 1, height + 24); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28433, 0, 6, 32, 20, 1, height + 24); + break; + case 1: + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28434, 0, 6, 32, 20, 1, height + 24); + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28383, 0, 6, 32, 20, 1, height + 24); + break; + case 1: + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28384, 0, 6, 32, 20, 1, height + 24); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AFF4C, 0x008AFF5C, 0x008AFF6C */ static void mini_suspended_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { SPR_STATION_BASE_C_SW_NE, 28433, SPR_STATION_INVERTED_BAR_E_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 28434, SPR_STATION_INVERTED_BAR_E_NW_SE }, - { SPR_STATION_BASE_C_SW_NE, 28433, SPR_STATION_INVERTED_BAR_E_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 28434, SPR_STATION_INVERTED_BAR_E_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { SPR_STATION_BASE_C_SW_NE, 28433, SPR_STATION_INVERTED_BAR_E_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 28434, SPR_STATION_INVERTED_BAR_E_NW_SE }, + { SPR_STATION_BASE_C_SW_NE, 28433, SPR_STATION_INVERTED_BAR_E_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 28434, SPR_STATION_INVERTED_BAR_E_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); - sub_98196C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 6, 32, 20, 1, height + 24); - sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 1, height + 24, 0, 2, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 3); - track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_1); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); + sub_98196C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 6, 32, 20, 1, height + 24); + sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 1, height + 24, 0, 2, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 3); + track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_1); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AFEAC */ static void mini_suspended_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28435, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28441, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28437, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28442, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28385, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28391, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28387, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28392, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28435, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28441, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28437, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28442, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28385, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28391, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28387, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28392, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 40); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008AFEBC */ static void mini_suspended_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28436, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28443, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28438, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28444, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28386, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28393, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28388, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28394, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28436, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28443, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28438, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28444, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28386, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28393, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28388, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28394, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 6, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 8, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 7, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 5, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 6, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 8, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 7, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 5, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008AFECC */ static void mini_suspended_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28440, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28446, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28439, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28445, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28390, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28396, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28389, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28395, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28440, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28446, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28439, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28445, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28390, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28396, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28389, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28395, 0, 6, 32, 20, 1, height + 24, 0, 6, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 6, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 8, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 7, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 5, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 6, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 8, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 7, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 5, 0, height + 38, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AFEDC */ static void mini_suspended_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_suspended_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_suspended_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AFEEC */ static void mini_suspended_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_suspended_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_suspended_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AFEFC */ static void mini_suspended_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - mini_suspended_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + mini_suspended_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AFF0C */ static void mini_suspended_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28406, 0, 6, 32, 20, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28411, 0, 6, 32, 20, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28416, 0, 6, 32, 20, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28401, 0, 6, 32, 20, 1, height + 24); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28406, 0, 6, 32, 20, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28411, 0, 6, 32, 20, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28416, 0, 6, 32, 20, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28401, 0, 6, 32, 20, 1, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28405, 0, 0, 32, 16, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28410, 0, 0, 32, 16, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28415, 0, 16, 32, 16, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28400, 0, 16, 32, 16, 1, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28404, 0, 16, 16, 16, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28409, 16, 16, 16, 16, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28414, 16, 0, 16, 16, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28399, 0, 0, 16, 16, 1, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28403, 16, 0, 16, 32, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28408, 0, 0, 16, 32, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28413, 0, 0, 16, 32, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28398, 16, 0, 16, 32, 1, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28402, 6, 0, 20, 32, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28407, 6, 0, 20, 32, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28412, 6, 0, 20, 32, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28397, 6, 0, 20, 32, 1, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28405, 0, 0, 32, 16, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28410, 0, 0, 32, 16, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28415, 0, 16, 32, 16, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28400, 0, 16, 32, 16, 1, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28404, 0, 16, 16, 16, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28409, 16, 16, 16, 16, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28414, 16, 0, 16, 16, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28399, 0, 0, 16, 16, 1, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28403, 16, 0, 16, 32, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28408, 0, 0, 16, 32, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28413, 0, 0, 16, 32, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28398, 16, 0, 16, 32, 1, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28402, 6, 0, 20, 32, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28407, 6, 0, 20, 32, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28412, 6, 0, 20, 32, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28397, 6, 0, 20, 32, 1, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AFF1C */ static void mini_suspended_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - mini_suspended_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + mini_suspended_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AFF2C */ static void mini_suspended_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28421, 0, 6, 32, 20, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28428, 0, 6, 32, 20, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28424, 0, 6, 32, 20, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28425, 0, 6, 32, 20, 1, height + 24); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28421, 0, 6, 32, 20, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28428, 0, 6, 32, 20, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28424, 0, 6, 32, 20, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28425, 0, 6, 32, 20, 1, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28422, 0, 0, 32, 26, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28427, 0, 0, 32, 26, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28423, 0, 6, 32, 26, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28426, 0, 6, 32, 26, 1, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28422, 0, 0, 32, 26, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28427, 0, 0, 32, 26, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28423, 0, 6, 32, 26, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28426, 0, 6, 32, 26, 1, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28423, 0, 6, 32, 26, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28426, 0, 6, 32, 26, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28422, 0, 0, 32, 26, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28427, 0, 0, 32, 26, 1, height + 24); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28423, 0, 6, 32, 26, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28426, 0, 6, 32, 26, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28422, 0, 0, 32, 26, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28427, 0, 0, 32, 26, 1, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28424, 0, 6, 32, 20, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28425, 0, 6, 32, 20, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28421, 0, 6, 32, 20, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28428, 0, 6, 32, 20, 1, height + 24); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28424, 0, 6, 32, 20, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28425, 0, 6, 32, 20, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28421, 0, 6, 32, 20, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28428, 0, 6, 32, 20, 1, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AFF3C */ static void mini_suspended_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28417, 0, 6, 32, 20, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28432, 0, 6, 32, 20, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28420, 0, 6, 32, 20, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28429, 0, 6, 32, 20, 1, height + 24); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28417, 0, 6, 32, 20, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28432, 0, 6, 32, 20, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28420, 0, 6, 32, 20, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28429, 0, 6, 32, 20, 1, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28418, 0, 6, 32, 26, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28431, 0, 6, 32, 26, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28419, 0, 0, 32, 26, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28430, 0, 0, 32, 26, 1, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28418, 0, 6, 32, 26, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28431, 0, 6, 32, 26, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28419, 0, 0, 32, 26, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28430, 0, 0, 32, 26, 1, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28419, 0, 0, 32, 26, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28430, 0, 0, 32, 26, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28418, 0, 6, 32, 26, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28431, 0, 6, 32, 26, 1, height + 24); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28419, 0, 0, 32, 26, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28430, 0, 0, 32, 26, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28418, 0, 6, 32, 26, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28431, 0, 6, 32, 26, 1, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28420, 0, 6, 32, 20, 1, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28429, 0, 6, 32, 20, 1, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28417, 0, 6, 32, 20, 1, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28432, 0, 6, 32, 20, 1, height + 24); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28420, 0, 6, 32, 20, 1, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28429, 0, 6, 32, 20, 1, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28417, 0, 6, 32, 20, 1, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28432, 0, 6, 32, 20, 1, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AFF7C */ static void mini_suspended_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28452, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28455, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28458, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28449, 0, 6, 32, 20, 3, height + 24); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28452, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28455, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28458, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28449, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28451, 16, 0, 16, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28454, 0, 0, 16, 16, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28457, 0, 16, 16, 16, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28448, 16, 16, 16, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28450, 6, 0, 20, 32, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28453, 6, 0, 20, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28456, 6, 0, 20, 32, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28447, 6, 0, 20, 32, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28451, 16, 0, 16, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28454, 0, 0, 16, 16, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28457, 0, 16, 16, 16, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28448, 16, 16, 16, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28450, 6, 0, 20, 32, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28453, 6, 0, 20, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28456, 6, 0, 20, 32, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28447, 6, 0, 20, 32, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AFF8C */ static void mini_suspended_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - mini_suspended_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + mini_suspended_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AFFAC */ static void mini_suspended_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28475, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28479, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28483, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28487, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28475, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28479, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28483, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28487, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28476, 0, 0, 32, 16, 1, height + 24, 0, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28480, 0, 0, 34, 16, 1, height + 24, 0, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28484, 0, 0, 32, 16, 1, height + 24, 0, 16, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28488, 0, 0, 32, 16, 1, height + 24, 0, 16, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28477, 0, 0, 16, 16, 1, height + 24, 0, 16, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28481, 0, 0, 16, 16, 1, height + 24, 16, 16, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28485, 0, 0, 16, 16, 1, height + 24, 16, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28489, 0, 0, 16, 16, 1, height + 24, 0, 0, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28478, 0, 0, 16, 16, 1, height + 24, 16, 16, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28482, 0, 0, 16, 18, 1, height + 24, 0, 16, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28486, 0, 0, 16, 16, 1, height + 24, 0, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28490, 0, 0, 16, 16, 1, height + 24, 16, 0, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28476, 0, 0, 32, 16, 1, height + 24, 0, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28480, 0, 0, 34, 16, 1, height + 24, 0, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28484, 0, 0, 32, 16, 1, height + 24, 0, 16, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28488, 0, 0, 32, 16, 1, height + 24, 0, 16, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28477, 0, 0, 16, 16, 1, height + 24, 0, 16, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28481, 0, 0, 16, 16, 1, height + 24, 16, 16, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28485, 0, 0, 16, 16, 1, height + 24, 16, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28489, 0, 0, 16, 16, 1, height + 24, 0, 0, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28478, 0, 0, 16, 16, 1, height + 24, 16, 16, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28482, 0, 0, 16, 18, 1, height + 24, 0, 16, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28486, 0, 0, 16, 16, 1, height + 24, 0, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28490, 0, 0, 16, 16, 1, height + 24, 16, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 3, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 1, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 0, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 2, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AFFBC */ static void mini_suspended_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28459, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28463, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28467, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28471, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28459, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28463, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28467, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28471, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 4, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28460, 0, 0, 32, 16, 1, height + 24, 0, 16, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28464, 0, 0, 32, 16, 1, height + 24, 0, 16, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28468, 0, 0, 34, 16, 1, height + 24, 0, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28472, 0, 0, 32, 16, 1, height + 24, 0, 0, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28461, 0, 0, 16, 16, 1, height + 24, 0, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28465, 0, 0, 16, 16, 1, height + 24, 16, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28469, 0, 0, 28, 28, 1, height + 24, 4, 2, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28473, 0, 0, 16, 16, 1, height + 24, 0, 16, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28462, 0, 0, 16, 16, 1, height + 24, 16, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28466, 0, 0, 16, 16, 1, height + 24, 0, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28470, 0, 0, 16, 18, 1, height + 24, 0, 16, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28474, 0, 0, 16, 16, 1, height + 24, 16, 16, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28460, 0, 0, 32, 16, 1, height + 24, 0, 16, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28464, 0, 0, 32, 16, 1, height + 24, 0, 16, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28468, 0, 0, 34, 16, 1, height + 24, 0, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28472, 0, 0, 32, 16, 1, height + 24, 0, 0, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28461, 0, 0, 16, 16, 1, height + 24, 0, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28465, 0, 0, 16, 16, 1, height + 24, 16, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28469, 0, 0, 28, 28, 1, height + 24, 4, 2, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28473, 0, 0, 16, 16, 1, height + 24, 0, 16, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28462, 0, 0, 16, 16, 1, height + 24, 16, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28466, 0, 0, 16, 16, 1, height + 24, 0, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28470, 0, 0, 16, 18, 1, height + 24, 0, 16, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28474, 0, 0, 16, 16, 1, height + 24, 16, 16, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AFFCC */ static void mini_suspended_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mini_suspended_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mini_suspended_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AFFDC */ static void mini_suspended_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - mini_suspended_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + mini_suspended_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008AFF9C */ static void mini_suspended_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28510, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28494, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28507, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28491, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28509, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28493, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28508, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28492, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28510, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28494, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28507, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28491, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28509, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28493, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28508, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28492, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 24); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 30, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008B000C */ static void mini_suspended_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28522, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28506, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28519, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28503, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28521, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28505, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28520, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28504, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28522, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28506, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28519, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28503, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28521, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28505, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28520, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28504, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AFFEC */ static void mini_suspended_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28514, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28498, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28511, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28495, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28513, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28497, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28512, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28496, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28514, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28498, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28511, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28495, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28513, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28497, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28512, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28496, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008AFFFC */ static void mini_suspended_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28518, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28502, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28515, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28499, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28517, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28501, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28516, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28500, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28518, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28502, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28515, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28499, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28517, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28501, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28516, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28500, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008B003C */ static void mini_suspended_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28520, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28504, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28521, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28505, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28519, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28503, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28522, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28506, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28520, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28504, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28521, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28505, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28519, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28503, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28522, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28506, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 40); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008B001C */ static void mini_suspended_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28516, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28500, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28517, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28501, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28515, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28499, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28518, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28502, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28516, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28500, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28517, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28501, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28515, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28499, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28518, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28502, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008B002C */ static void mini_suspended_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28512, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28496, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28513, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28497, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28511, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28495, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28514, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28498, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28512, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28496, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28513, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28497, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28511, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28495, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28514, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28498, -16, -16, 32, 32, 1, height + 24, -16, -16, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 1, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 0, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 2, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 3, 0, height + 34, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } TRACK_PAINT_FUNCTION get_track_paint_function_mini_suspended_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return mini_suspended_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return mini_suspended_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return mini_suspended_rc_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return mini_suspended_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return mini_suspended_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return mini_suspended_rc_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return mini_suspended_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return mini_suspended_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return mini_suspended_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return mini_suspended_rc_track_right_quarter_turn_5; - case TRACK_ELEM_S_BEND_LEFT: - return mini_suspended_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return mini_suspended_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return mini_suspended_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return mini_suspended_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return mini_suspended_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return mini_suspended_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return mini_suspended_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return mini_suspended_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return mini_suspended_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return mini_suspended_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return mini_suspended_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return mini_suspended_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return mini_suspended_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return mini_suspended_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return mini_suspended_rc_track_diag_25_deg_down_to_flat; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return mini_suspended_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return mini_suspended_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return mini_suspended_rc_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return mini_suspended_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return mini_suspended_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return mini_suspended_rc_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return mini_suspended_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return mini_suspended_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return mini_suspended_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return mini_suspended_rc_track_right_quarter_turn_5; + case TRACK_ELEM_S_BEND_LEFT: + return mini_suspended_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return mini_suspended_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return mini_suspended_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return mini_suspended_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return mini_suspended_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return mini_suspended_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return mini_suspended_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return mini_suspended_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return mini_suspended_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return mini_suspended_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return mini_suspended_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return mini_suspended_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return mini_suspended_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return mini_suspended_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return mini_suspended_rc_track_diag_25_deg_down_to_flat; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/multi_dimension_roller_coaster.c b/src/openrct2/ride/coaster/multi_dimension_roller_coaster.c index 28b00e24d5..8dbcabe860 100644 --- a/src/openrct2/ride/coaster/multi_dimension_roller_coaster.c +++ b/src/openrct2/ride/coaster/multi_dimension_roller_coaster.c @@ -29,9859 +29,9859 @@ /** rct2: 0x00792D88 */ static void multi_dimension_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15808, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15809, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15806, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15807, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26227, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26228, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15808, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15809, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15806, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15807, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26227, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26228, 0, 0, 32, 20, 1, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00792F98, 0x00792FA8, 0x00792FB8 */ static void multi_dimension_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { 15810, 15812, SPR_STATION_INVERTED_BAR_A_SW_NE }, - { 15811, 15813, SPR_STATION_INVERTED_BAR_A_NW_SE }, - { 15810, 15812, SPR_STATION_INVERTED_BAR_A_SW_NE }, - { 15811, 15813, SPR_STATION_INVERTED_BAR_A_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { 15810, 15812, SPR_STATION_INVERTED_BAR_A_SW_NE }, + { 15811, 15813, SPR_STATION_INVERTED_BAR_A_NW_SE }, + { 15810, 15812, SPR_STATION_INVERTED_BAR_A_SW_NE }, + { 15811, 15813, SPR_STATION_INVERTED_BAR_A_NW_SE }, + }; - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 26, 1, height, 0, 3, height + 3); - } else { - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 26, 1, height, 0, 3, height + 3); - } - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 26, 1, height, 0, 3, height + 3); + } else { + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 26, 1, height, 0, 3, height + 3); + } + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 11); - rct_ride * ride = get_ride(rideIndex); - const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; - bool hasFence; - if (direction == 0 || direction == 2) { - hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); - track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, height); - } else { - hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); - track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, height); - } + rct_ride * ride = get_ride(rideIndex); + const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; + bool hasFence; + if (direction == 0 || direction == 2) { + hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); + track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, height); + } else { + hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); + track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, height); + } - if (direction == 0 || direction == 2) { - hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); - track_paint_util_draw_station_covers(EDGE_SE, hasFence, entranceStyle, direction, height); - } else { - hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); - track_paint_util_draw_station_covers(EDGE_SW, hasFence, entranceStyle, direction, height); - } + if (direction == 0 || direction == 2) { + hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); + track_paint_util_draw_station_covers(EDGE_SE, hasFence, entranceStyle, direction, height); + } else { + hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); + track_paint_util_draw_station_covers(EDGE_SW, hasFence, entranceStyle, direction, height); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00792D98 */ static void multi_dimension_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15908, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15909, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15910, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15911, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15880, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15881, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15882, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15883, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26253, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26254, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26255, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26256, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); - break; - } + if (!track_element_is_inverted(mapElement)) { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15908, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15909, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15910, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15911, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15880, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15881, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15882, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15883, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26253, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26254, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26255, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26256, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_general_support_height(height + 56, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_general_support_height(height + 56, 0x20); + } } /** rct2: 0x00792DA8 */ static void multi_dimension_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15896, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15897, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15898, 0, 0, 32, 1, 98, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15899, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 24, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26269, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26270, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26271, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26272, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15896, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15897, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15898, 0, 0, 32, 1, 98, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15899, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 24, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26269, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26270, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26271, 0, 0, 32, 2, 81, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26272, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 88); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + } } /** rct2: 0x00792DB8 */ static void multi_dimension_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15900, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15901, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15902, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15903, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15872, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15873, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15874, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15875, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26245, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26246, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26247, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26248, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15900, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15901, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15902, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15903, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15872, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15873, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15874, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15875, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26245, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26246, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26247, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26248, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_general_support_height(height + 48, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_general_support_height(height + 48, 0x20); + } } /** rct2: 0x00792DC8 */ static void multi_dimension_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15884, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15885, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15888, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15886, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15889, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15887, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26257, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26261, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26258, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26262, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26259, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26260, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15884, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15885, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15888, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15886, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15889, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15887, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26257, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26261, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26258, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26262, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26259, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26260, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + } } /** rct2: 0x00792DD8 */ static void multi_dimension_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15890, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15891, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15894, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15892, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15895, 0, 0, 32, 1, 66, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15893, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26263, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26267, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26264, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26268, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26265, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26266, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15890, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15891, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15894, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15892, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15895, 0, 0, 32, 1, 66, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15893, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26263, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26267, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26264, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26268, 0, 0, 32, 10, 49, height + 24, 0, 10, height + 6); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26265, 0, 0, 32, 2, 49, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26266, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 68, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 68, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 68, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 68, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 68, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 68, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 68, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 68, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_general_support_height(height + 72, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_general_support_height(height + 72, 0x20); + } } /** rct2: 0x00792DE8 */ static void multi_dimension_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15904, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15905, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15906, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15907, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15876, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15877, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15878, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15879, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26249, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26250, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26251, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26252, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15904, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15905, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15906, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15907, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15876, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15877, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15878, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15879, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26249, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26250, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26251, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26252, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_general_support_height(height + 40, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_general_support_height(height + 40, 0x20); + } } /** rct2: 0x00792DF8 */ static void multi_dimension_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00792E08 */ static void multi_dimension_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00792E18 */ static void multi_dimension_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00792E28 */ static void multi_dimension_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00792E38 */ static void multi_dimension_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00792E48 */ static void multi_dimension_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00792E58 */ static void multi_dimension_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15921, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15926, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15931, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15916, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15920, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15925, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15930, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15915, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15919, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15924, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15929, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15914, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15918, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15923, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15928, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15913, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15917, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15922, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15927, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15912, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26310, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26315, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26320, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26305, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15921, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15926, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15931, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15916, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15920, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15925, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15930, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15915, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15919, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15924, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15929, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15914, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15918, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15923, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15928, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15913, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15917, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15922, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15927, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15912, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26310, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26315, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26320, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26305, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26309, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26314, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26319, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26304, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26308, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26313, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26318, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26303, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26307, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26312, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26317, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26302, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26306, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26311, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26316, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26301, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26309, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26314, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26319, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26304, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26308, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26313, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26318, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26303, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26307, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26312, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26317, 0, 0, 16, 32, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26302, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26306, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26311, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26316, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26301, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00792E68 */ static void multi_dimension_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - multi_dimension_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + multi_dimension_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00792E78 */ static void multi_dimension_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15832, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15840, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15833, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15841, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15834, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15835, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26273, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26274, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26275, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26276, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15832, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15840, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15833, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15841, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15834, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15835, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26273, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26274, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26275, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26276, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00792E88 */ static void multi_dimension_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15836, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15837, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15838, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15842, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15839, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15843, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26277, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26278, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26279, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26280, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15836, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15837, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15838, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15842, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15839, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15843, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26277, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26278, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26279, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26280, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00792E98 */ static void multi_dimension_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15838, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15842, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15839, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15843, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15836, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15837, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26279, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26280, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26277, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26278, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15838, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15842, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15839, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15843, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15836, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15837, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26279, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26280, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26277, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26278, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00792EA8 */ static void multi_dimension_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15834, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15835, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15832, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15840, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15833, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15841, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26275, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26276, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26273, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26274, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15834, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15835, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15832, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15840, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15833, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15841, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26275, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26276, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26273, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26274, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00792EB8 */ static void multi_dimension_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15941, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15952, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15946, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15951, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15936, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15940, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15945, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15950, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15935, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15939, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15944, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15949, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15934, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15938, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15943, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15948, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15933, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15937, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15942, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15947, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15953, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15932, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26354, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26359, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26364, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26349, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15941, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15952, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15946, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15951, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15936, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15940, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15945, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15950, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15935, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15939, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15944, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15949, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15934, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15938, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15943, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15948, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15933, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15937, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15942, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15947, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15953, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15932, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26354, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26359, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26364, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26349, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26353, 0, 0, 32, 16, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26358, 0, 0, 32, 16, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26363, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26348, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26352, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26357, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26362, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26347, 0, 0, 16, 16, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26351, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26356, 0, 0, 16, 32, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26361, 0, 0, 16, 32, 3, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26346, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26350, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26355, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26360, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26345, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26353, 0, 0, 32, 16, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26358, 0, 0, 32, 16, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26363, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26348, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26352, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26357, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26362, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26347, 0, 0, 16, 16, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26351, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26356, 0, 0, 16, 32, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26361, 0, 0, 16, 32, 3, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26346, 0, 0, 16, 32, 3, height + 24, 16, 0, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26350, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26355, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26360, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26345, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00792EC8 */ static void multi_dimension_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - multi_dimension_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + multi_dimension_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00792ED8 */ static void multi_dimension_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15844, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15848, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15845, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15849, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15846, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15847, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26281, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26282, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26283, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26284, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15844, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15848, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15845, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15849, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15846, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15847, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26281, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26282, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26283, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26284, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_general_support_height(height + 48, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_general_support_height(height + 48, 0x20); + } } /** rct2: 0x00792EE8 */ static void multi_dimension_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15850, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15851, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15852, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15854, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15853, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15855, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26285, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26286, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26287, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26288, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15850, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15851, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15852, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15854, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15853, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15855, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26285, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26286, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26287, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26288, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_general_support_height(height + 48, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_general_support_height(height + 48, 0x20); + } } /** rct2: 0x00792EF8 */ static void multi_dimension_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15856, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15860, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15857, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15861, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15858, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15859, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26289, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26290, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26291, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26292, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15856, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15860, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15857, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15861, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15858, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15859, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26289, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26290, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26291, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26292, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_general_support_height(height + 40, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_general_support_height(height + 40, 0x20); + } } /** rct2: 0x00792F08 */ static void multi_dimension_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15862, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15863, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15864, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15866, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15865, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15867, 0, 0, 32, 1, 34, height, 0, 27, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26293, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26294, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26295, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26296, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15862, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15863, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15864, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15866, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15865, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15867, 0, 0, 32, 1, 34, height, 0, 27, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26293, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26294, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26295, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26296, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_general_support_height(height + 40, 0x20); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_general_support_height(height + 40, 0x20); + } } /** rct2: 0x00792F18 */ static void multi_dimension_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00792F28 */ static void multi_dimension_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00792F38 */ static void multi_dimension_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00792F48 */ static void multi_dimension_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00792F58 */ static void multi_dimension_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15868, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15869, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15870, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15871, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26297, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26298, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26299, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26300, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15868, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15869, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15870, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15871, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26297, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26298, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26299, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26300, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00792F68 */ static void multi_dimension_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00792F78 */ static void multi_dimension_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15816, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15820, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15819, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15823, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15817, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15821, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15818, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15822, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15818, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15822, 0, 0, 32, 26, 3, height, 0, 6, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15817, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15821, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15819, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15823, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15816, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15820, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26229, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26233, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26232, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26236, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15816, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15820, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15819, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15823, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15817, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15821, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15818, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15822, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15818, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15822, 0, 0, 32, 26, 3, height, 0, 6, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15817, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15821, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15819, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15823, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15816, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15820, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26229, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26233, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26232, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26236, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26230, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26234, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26231, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26235, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26230, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26234, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26231, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26235, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26231, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26235, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26230, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26234, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26231, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26235, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26230, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26234, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26232, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26236, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26229, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26233, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26232, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26236, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26229, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26233, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00792F88 */ static void multi_dimension_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15824, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15828, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15827, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15831, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15825, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15829, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15826, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15830, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15826, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15830, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15825, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15829, 0, 0, 32, 26, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15827, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15831, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15824, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15828, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26237, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26241, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26240, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26244, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15824, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15828, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15827, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15831, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15825, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15829, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15826, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15830, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15826, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15830, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15825, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15829, 0, 0, 32, 26, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15827, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15831, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15824, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15828, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26237, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26241, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26240, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26244, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26238, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26242, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26239, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26243, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26238, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26242, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26239, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26243, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26239, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26243, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26238, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26242, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); - break; - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26239, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26243, 0, 0, 32, 26, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26238, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26242, 0, 0, 32, 26, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26240, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26244, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26237, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26241, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26240, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26244, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26237, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26241, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00792FC8 */ static void multi_dimension_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15959, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15962, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15965, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15956, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15958, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15961, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15964, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15955, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15957, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15960, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15963, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15954, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26326, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26329, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26332, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26323, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15959, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15962, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15965, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15956, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15958, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15961, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15964, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15955, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15957, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15960, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15963, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15954, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26326, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26329, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26332, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26323, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26325, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26328, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26331, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26322, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26324, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26327, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26330, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26321, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26325, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26328, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26331, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26322, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26324, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26327, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26330, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26321, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00792FD8 */ static void multi_dimension_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - multi_dimension_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + multi_dimension_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00792FE8 */ static void multi_dimension_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15971, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15978, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15974, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15977, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15968, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15970, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15973, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15976, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15967, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15969, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15972, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15975, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15979, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15966, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26338, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26341, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26344, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26335, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15971, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15978, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15974, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15977, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15968, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15970, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15973, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15976, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15967, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15969, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15972, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15975, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15979, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15966, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26338, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26341, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26344, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26335, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26337, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26340, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26343, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26334, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26336, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26339, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26342, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26333, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26337, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26340, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26343, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26334, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26336, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26339, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26342, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26333, 0, 0, 20, 32, 3, height + 24, 6, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00792FF8 */ static void multi_dimension_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - multi_dimension_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + multi_dimension_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00793008 */ static void multi_dimension_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16197, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16204, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16200, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16203, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16194, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16196, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16199, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16202, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16193, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16195, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16198, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16201, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16205, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16192, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16194, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16197, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16204, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16200, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16203, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16193, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16196, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16199, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16202, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16192, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16195, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16198, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16201, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16205, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16197, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16204, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16200, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16203, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16194, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16196, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16199, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16202, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16193, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16195, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16198, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16201, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16205, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16192, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16194, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16197, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16204, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16200, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16203, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16193, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16196, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16199, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16202, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16192, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16195, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16198, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16201, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16205, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16197, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16204, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16200, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16203, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16194, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16196, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16199, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16202, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16193, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16195, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16198, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16201, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16205, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16192, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16194, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16197, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16204, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16200, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16203, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16193, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16196, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16199, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16202, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16192, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16195, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16198, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16201, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16205, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16197, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16204, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16200, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16203, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16194, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16196, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16199, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16202, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16193, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16195, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16198, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16201, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16205, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16192, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16194, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16197, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16204, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16200, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16203, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16193, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16196, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16199, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16202, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16192, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16195, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16198, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16201, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16205, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793018 */ static void multi_dimension_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16178, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16181, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16184, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16187, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16191, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16179, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16182, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16185, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16188, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16180, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16183, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16190, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16186, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16189, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16181, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16184, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16187, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16191, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16178, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16182, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16185, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16188, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16179, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16183, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16190, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16186, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16189, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16180, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16178, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16181, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16184, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16187, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16191, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16179, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16182, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16185, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16188, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16180, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16183, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16190, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16186, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16189, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16181, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16184, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16187, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16191, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16178, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16182, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16185, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16188, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16179, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16183, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16190, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16186, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16189, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16180, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16178, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16181, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16184, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16187, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16191, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16179, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16182, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16185, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16188, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16180, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16183, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16190, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16186, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16189, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16181, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16184, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16187, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16191, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16178, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16182, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16185, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16188, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16179, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16183, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16190, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16186, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16189, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16180, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16178, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16181, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16184, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16187, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16191, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16179, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16182, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16185, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16188, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16180, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16183, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16190, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16186, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16189, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16181, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16184, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16187, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16191, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16178, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16182, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16185, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16188, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16179, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16183, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16190, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16186, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16189, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16180, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793028 */ static void multi_dimension_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - multi_dimension_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + multi_dimension_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x00793038 */ static void multi_dimension_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - multi_dimension_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + multi_dimension_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00793048 */ static void multi_dimension_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16165, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16176, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16170, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16175, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16160, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16164, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16169, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16174, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16159, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16163, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16168, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16173, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16158, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16162, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16167, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16172, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16157, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16161, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16166, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16171, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16177, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16156, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16160, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16165, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16176, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16170, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16175, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16159, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16164, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16169, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16174, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16158, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16163, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16168, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16173, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16157, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16162, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16167, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16172, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16156, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16161, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16166, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16171, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16177, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16165, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16176, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16170, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16175, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16160, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16164, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16169, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16174, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16159, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16163, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16168, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16173, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16158, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16162, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16167, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16172, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16157, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16161, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16166, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16171, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16177, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16156, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16160, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16165, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16176, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16170, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16175, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16159, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16164, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16169, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16174, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16158, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16163, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16168, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16173, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16157, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16162, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16167, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16172, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16156, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16161, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16166, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16171, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16177, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16165, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16176, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16170, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16175, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16160, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16164, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16169, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16174, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16159, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16163, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16168, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16173, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16158, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16162, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16167, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16172, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16157, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16161, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16166, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16171, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16177, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16156, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16160, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16165, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16176, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16170, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16175, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16159, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16164, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16169, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16174, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16158, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16163, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16168, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16173, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16157, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16162, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16167, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16172, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16156, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16161, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16166, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16171, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16177, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16165, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16176, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16170, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16175, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16160, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16164, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16169, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16174, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16159, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16163, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16168, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16173, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16158, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16162, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16167, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16172, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16157, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16161, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16166, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16171, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16177, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16156, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16160, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16165, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16176, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16170, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16175, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16159, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16164, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16169, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16174, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16158, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16163, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16168, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16173, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16157, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16162, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16167, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16172, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16156, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16161, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16166, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16171, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16177, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793058 */ static void multi_dimension_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16134, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16139, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16144, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16149, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16155, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16135, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16140, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16145, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16150, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16136, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16141, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16146, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16151, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16137, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16142, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16147, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16152, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16138, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16143, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16154, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16148, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16153, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16139, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16144, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16149, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16155, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16134, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16140, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16145, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16150, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16135, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16141, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16146, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16151, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16136, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16142, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16147, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16152, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16137, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16143, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16154, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16148, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16153, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16138, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16134, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16139, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16144, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16149, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16155, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16135, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16140, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16145, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16150, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16136, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16141, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16146, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16151, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16137, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16142, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16147, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16152, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16138, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16143, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16154, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16148, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16153, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16139, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16144, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16149, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16155, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16134, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16140, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16145, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16150, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16135, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16141, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16146, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16151, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16136, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16142, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16147, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16152, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16137, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16143, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16154, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16148, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16153, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16138, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16134, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16139, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16144, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16149, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16155, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16135, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16140, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16145, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16150, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16136, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16141, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16146, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16151, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16137, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16142, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16147, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16152, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16138, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16143, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16154, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16148, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16153, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16139, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16144, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16149, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16155, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16134, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16140, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16145, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16150, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16135, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16141, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16146, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16151, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16136, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16142, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16147, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16152, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16137, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16143, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16154, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16148, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16153, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16138, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16134, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16139, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16144, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16149, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16155, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16135, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16140, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16145, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16150, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16136, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16141, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16146, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16151, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16137, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16142, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16147, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16152, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16138, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16143, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16154, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16148, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16153, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16139, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16144, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16149, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16155, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16134, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16140, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16145, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16150, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16135, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16141, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16146, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16151, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16136, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16142, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16147, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16152, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16137, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16143, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16154, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16148, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16153, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16138, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793068 */ static void multi_dimension_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - multi_dimension_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + multi_dimension_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x00793078 */ static void multi_dimension_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - multi_dimension_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + multi_dimension_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00793088 */ static void multi_dimension_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16218, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16219, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26549, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26550, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16218, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16219, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26549, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26550, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00793098 */ static void multi_dimension_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15806, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15807, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15806, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15807, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26227, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26228, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26227, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26228, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15806, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15807, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15806, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15807, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26227, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26228, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26227, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26228, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + } } /** rct2: 0x00793328 */ static void multi_dimension_rc_track_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16130, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16131, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16132, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16133, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - } - paint_util_set_vertical_tunnel(height + 32); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26533, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26534, 0, 0, 32, 2, 31, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26535, 0, 0, 32, 2, 31, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26536, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); - break; - } - paint_util_set_vertical_tunnel(height + 32); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16130, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16131, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16132, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16133, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + } + paint_util_set_vertical_tunnel(height + 32); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26533, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26534, 0, 0, 32, 2, 31, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26535, 0, 0, 32, 2, 31, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26536, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 56); + break; + } + paint_util_set_vertical_tunnel(height + 32); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + break; + } + } } /** rct2: 0x00793338 */ static void multi_dimension_rc_track_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00793348 */ static void multi_dimension_rc_track_60_deg_up_to_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16122, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16123, 0, 0, 2, 20, 55, height, 24, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16124, 0, 0, 2, 20, 55, height, 24, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16125, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_vertical_tunnel(height + 56); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26525, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 80); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26526, 0, 0, 32, 2, 55, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26527, 0, 0, 32, 2, 55, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26528, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 80); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_vertical_tunnel(height + 48); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16122, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16123, 0, 0, 2, 20, 55, height, 24, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16124, 0, 0, 2, 20, 55, height, 24, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16125, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_vertical_tunnel(height + 56); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26525, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 80); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26526, 0, 0, 32, 2, 55, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26527, 0, 0, 32, 2, 55, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26528, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 80); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_vertical_tunnel(height + 48); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + break; + } + } } /** rct2: 0x00793358 */ static void multi_dimension_rc_track_90_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - multi_dimension_rc_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + multi_dimension_rc_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00793368 */ static void multi_dimension_rc_track_90_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16126, 0, 0, 6, 20, 3, height, 0, 6, height + 2); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16127, 0, 0, 2, 20, 31, height, 39, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16128, 0, 0, 2, 20, 31, height, 39, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16129, 0, 0, 6, 20, 3, height, 0, 6, height + 2); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 48, TUNNEL_8); - break; - case 2: - paint_util_push_tunnel_left(height + 48, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26529, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 80); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26530, 0, 0, 32, 2, 55, height + 24, 0, 4, height + 6); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26531, 0, 0, 32, 2, 55, height + 24, 0, 4, height + 6); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26532, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 80); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height + 48, TUNNEL_5); - break; - case 2: - paint_util_push_tunnel_left(height + 48, TUNNEL_5); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 96, 0x20); - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16126, 0, 0, 6, 20, 3, height, 0, 6, height + 2); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16127, 0, 0, 2, 20, 31, height, 39, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16128, 0, 0, 2, 20, 31, height, 39, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16129, 0, 0, 6, 20, 3, height, 0, 6, height + 2); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 48, TUNNEL_8); + break; + case 2: + paint_util_push_tunnel_left(height + 48, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26529, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 80); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26530, 0, 0, 32, 2, 55, height + 24, 0, 4, height + 6); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26531, 0, 0, 32, 2, 55, height + 24, 0, 4, height + 6); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26532, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 80); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height + 48, TUNNEL_5); + break; + case 2: + paint_util_push_tunnel_left(height + 48, TUNNEL_5); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 96, 0x20); + } } /** rct2: 0x00793378 */ static void multi_dimension_rc_track_60_deg_down_to_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16128, 0, 0, 2, 20, 31, height, 39, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16129, 0, 0, 6, 20, 3, height, 0, 6, height + 2); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16126, 0, 0, 6, 20, 3, height, 0, 6, height + 2); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16127, 0, 0, 2, 20, 31, height, 39, 6, height + 8); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_8); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 1: - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26531, 0, 0, 32, 2, 55, height + 24, 0, 4, height + 6); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26532, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 80); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26529, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 80); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26530, 0, 0, 32, 2, 55, height + 24, 0, 4, height + 6); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_5); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 96, 0x20); - break; - case 1: - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16128, 0, 0, 2, 20, 31, height, 39, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16129, 0, 0, 6, 20, 3, height, 0, 6, height + 2); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16126, 0, 0, 6, 20, 3, height, 0, 6, height + 2); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16127, 0, 0, 2, 20, 31, height, 39, 6, height + 8); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_8); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 1: + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26531, 0, 0, 32, 2, 55, height + 24, 0, 4, height + 6); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26532, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 80); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26529, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 80); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26530, 0, 0, 32, 2, 55, height + 24, 0, 4, height + 6); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_5); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 96, 0x20); + break; + case 1: + break; + } + } } /** rct2: 0x007930B8 */ static void multi_dimension_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15996, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16000, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16004, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16008, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15997, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16001, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16005, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16009, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15998, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16002, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16006, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16010, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15999, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16003, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16007, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16011, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26405, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26409, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26413, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26417, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15996, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16000, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16004, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16008, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15997, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16001, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16005, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16009, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15998, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16002, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16006, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16010, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15999, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16003, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16007, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16011, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26405, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26409, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26413, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26417, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26406, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26410, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26414, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26418, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26407, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26411, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26415, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26419, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26408, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26412, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26416, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26420, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26406, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26410, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26414, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26418, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26407, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26411, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26415, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26419, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26408, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26412, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26416, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26420, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007930C8 */ static void multi_dimension_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15980, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15984, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15988, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15992, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15981, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15985, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15989, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15993, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15982, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15986, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15990, 0, 0, 28, 28, 3, height, 4, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15994, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15983, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15987, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15991, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15995, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26389, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26393, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26397, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26401, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15980, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15984, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15988, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15992, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15981, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15985, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15989, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15993, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15982, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15986, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15990, 0, 0, 28, 28, 3, height, 4, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15994, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15983, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15987, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15991, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15995, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26389, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26393, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26397, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26401, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26390, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26394, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26398, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26402, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26391, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26395, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26399, 0, 0, 28, 28, 3, height + 24, 4, 4, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26403, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26392, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26396, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26400, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26404, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26390, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26394, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26398, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26402, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26391, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26395, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26399, 0, 0, 28, 28, 3, height + 24, 4, 4, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26403, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26392, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26396, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26400, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26404, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007930D8 */ static void multi_dimension_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - multi_dimension_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + multi_dimension_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x007930E8 */ static void multi_dimension_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - multi_dimension_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + multi_dimension_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x007930F8 */ static void multi_dimension_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16028, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16032, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16036, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16040, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16029, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16033, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16037, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16041, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16030, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16034, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16038, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16042, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16031, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16035, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16039, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16043, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26437, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26441, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26445, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26449, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16028, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16032, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16036, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16040, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16029, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16033, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16037, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16041, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16030, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16034, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16038, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16042, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16031, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16035, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16039, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16043, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26437, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26441, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26445, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26449, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26438, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26442, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26446, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26450, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26439, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26443, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26447, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26451, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26440, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26444, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26448, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26452, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26438, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26442, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26446, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26450, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26439, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26443, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26447, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26451, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26440, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26444, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26448, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26452, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793108 */ static void multi_dimension_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16012, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16016, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16020, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16024, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16013, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16017, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16021, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16025, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16014, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16018, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16022, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16026, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16015, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16019, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16023, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16027, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26421, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26425, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26429, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26433, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16012, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16016, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16020, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16024, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16013, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16017, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16021, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16025, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16014, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16018, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16022, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16026, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16015, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16019, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16023, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16027, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26421, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26425, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26429, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26433, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26422, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26426, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26430, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26434, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26423, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26427, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26431, 0, 0, 28, 28, 3, height + 24, 4, 4, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26435, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26424, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26428, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26432, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26436, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26422, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26426, 0, 0, 32, 16, 3, height + 24, 0, 16, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26430, 0, 0, 34, 16, 3, height + 24, 0, 0, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26434, 0, 0, 32, 16, 3, height + 24, 0, 0, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26423, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26427, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26431, 0, 0, 28, 28, 3, height + 24, 4, 4, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26435, 0, 0, 16, 16, 3, height + 24, 0, 16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26424, 0, 0, 16, 16, 3, height + 24, 16, 0, height + 22); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26428, 0, 0, 16, 16, 3, height + 24, 0, 0, height + 22); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26432, 0, 0, 16, 18, 3, height + 24, 0, 16, height + 22); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26436, 0, 0, 16, 16, 3, height + 24, 16, 16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793118 */ static void multi_dimension_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - multi_dimension_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + multi_dimension_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00793128 */ static void multi_dimension_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - multi_dimension_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + multi_dimension_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x007930A8 */ static void multi_dimension_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16109, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16047, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16106, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16044, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16108, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16046, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16107, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16045, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26484, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26456, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26481, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26453, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26483, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26455, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26482, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26454, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16109, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16047, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16106, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16044, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16108, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16046, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16107, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16045, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26484, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26456, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26481, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26453, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26483, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26455, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26482, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26454, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793158 */ static void multi_dimension_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16121, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16059, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16118, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16056, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16120, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16058, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16119, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16057, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26496, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26468, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26493, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26465, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26495, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26467, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26494, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26466, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16121, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16059, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16118, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16056, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16120, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16058, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16119, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16057, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26496, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26468, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26493, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26465, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26495, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26467, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26494, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26466, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x007931B8 */ static void multi_dimension_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16071, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16068, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16070, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16069, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26480, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26477, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26479, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26478, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16071, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16068, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16070, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16069, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26480, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26477, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26479, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26478, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 32, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 36, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 32, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 36, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 104, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 104, 0x20); + break; + } + } } /** rct2: 0x00793138 */ static void multi_dimension_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16113, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16051, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16110, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16048, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16112, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16050, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16111, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16049, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26488, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26460, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26485, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26457, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26487, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26459, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26486, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26458, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16113, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16051, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16110, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16048, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16112, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16050, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16111, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16049, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26488, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26460, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26485, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26457, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26487, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26459, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26486, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26458, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00793198 */ static void multi_dimension_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16063, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16060, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16062, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16061, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26472, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26469, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26471, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26470, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16063, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16060, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16062, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16061, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26472, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26469, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26471, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26470, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 16, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 16, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 16, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 16, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x007931A8 */ static void multi_dimension_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16067, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16064, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16066, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16065, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26476, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26473, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26475, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26474, -16, -16, 16, 16, 3, height + 24, 0, 0, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16067, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16064, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16066, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16065, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26476, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26473, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26475, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26474, -16, -16, 16, 16, 3, height + 24, 0, 0, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 21, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 21, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 21, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 21, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x00793148 */ static void multi_dimension_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16117, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16055, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16114, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16052, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16116, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16054, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16115, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16053, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26492, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26464, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26489, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26461, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26491, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26463, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26490, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26462, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16117, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16055, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16114, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16052, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16116, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16054, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16115, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16053, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26492, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26464, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26489, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26461, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26491, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26463, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26490, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26462, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x00793188 */ static void multi_dimension_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16119, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16057, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16120, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16058, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16118, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16056, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16121, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16059, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26466, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26467, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26465, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26468, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16119, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16057, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16120, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16058, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16118, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16056, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16121, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16059, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26466, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26467, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26465, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26468, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x007931E8 */ static void multi_dimension_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16069, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16070, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16068, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16071, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26478, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26479, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26477, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26480, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16069, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16070, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16068, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16071, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26478, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26479, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26477, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26480, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 88); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 24, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 28, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 24, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 28, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 104, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 104, 0x20); + break; + } + } } /** rct2: 0x00793168 */ static void multi_dimension_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16115, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16053, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16116, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16054, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16114, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16052, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16117, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16055, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26462, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26463, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26461, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26464, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16115, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16053, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16116, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16054, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16114, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16052, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16117, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16055, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26462, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26463, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26461, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26464, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x007931C8 */ static void multi_dimension_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16065, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16066, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16064, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16067, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26474, -16, -16, 16, 16, 3, height + 24, 0, 0, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26475, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26473, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26476, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16065, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16066, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16064, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16067, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26474, -16, -16, 16, 16, 3, height + 24, 0, 0, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26475, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26473, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26476, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 17, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 17, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 17, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 17, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x007931D8 */ static void multi_dimension_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16061, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16062, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16060, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16063, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26470, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26471, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26469, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26472, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16061, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16062, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16060, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16063, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26470, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26471, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26469, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26472, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 56); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 8, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 8, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 8, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 8, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } + } } /** rct2: 0x00793178 */ static void multi_dimension_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16111, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16049, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16112, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16050, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16110, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16048, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16113, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16051, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26458, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26459, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26457, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26460, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16111, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16049, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16112, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16050, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16110, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16048, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16113, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16051, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26458, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26459, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26457, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26460, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00793218 */ static void multi_dimension_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16079, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16076, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16080, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16078, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16077, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26504, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26501, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26503, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26502, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16079, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16076, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16080, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16078, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16077, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26504, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26501, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26503, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26502, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793228 */ static void multi_dimension_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16084, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16081, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16083, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16085, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16082, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26508, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26505, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26507, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26506, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16084, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16081, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16083, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16085, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16082, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26508, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26505, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26507, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26506, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793238 */ static void multi_dimension_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16082, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16083, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16085, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16081, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16084, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26506, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26507, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26505, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26508, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16082, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16083, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16085, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16081, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16084, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26506, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26507, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26505, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26508, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793248 */ static void multi_dimension_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16077, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16078, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16076, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16080, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16079, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26502, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26503, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26501, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26504, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16077, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16078, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16076, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16080, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16079, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26502, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26503, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26501, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26504, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793278 */ static void multi_dimension_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16099, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16096, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16100, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16098, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16097, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26520, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26517, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26519, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26518, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16099, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16096, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16100, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16098, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16097, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26520, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26517, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26519, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26518, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00793288 */ static void multi_dimension_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16104, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16101, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16103, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16105, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16102, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26524, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26521, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26523, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26522, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16104, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16101, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16103, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16105, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16102, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26524, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26521, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26523, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26522, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x00793258 */ static void multi_dimension_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16089, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16086, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16090, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16088, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16087, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26512, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26509, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26511, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26510, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16089, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16086, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16090, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16088, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16087, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26512, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26509, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26511, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26510, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x00793268 */ static void multi_dimension_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16094, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16091, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16093, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16095, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16092, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26516, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26513, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26515, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26514, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16094, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16091, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16093, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16095, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16092, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26516, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26513, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26515, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26514, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } + } } /** rct2: 0x00793298 */ static void multi_dimension_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16092, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16093, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16095, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16091, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16094, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26514, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26515, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26513, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26516, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16092, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16093, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16095, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16091, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16094, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26514, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26515, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26513, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26516, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x007932A8 */ static void multi_dimension_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16087, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16088, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16086, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16090, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16089, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26510, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26511, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26509, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26512, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16087, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16088, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16086, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16090, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16089, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26510, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26511, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26509, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26512, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x007932B8 */ static void multi_dimension_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16102, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16103, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16105, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16101, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16104, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26522, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26523, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26521, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26524, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16102, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16103, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16105, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16101, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16104, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26522, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26523, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26521, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26524, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007932C8 */ static void multi_dimension_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16097, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16098, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16096, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16100, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16099, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26518, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26519, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26517, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26520, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16097, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16098, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16096, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16100, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16099, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26518, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26519, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26517, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26520, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 40, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } } /** rct2: 0x007931F8 */ static void multi_dimension_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16075, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16072, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16074, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16073, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26500, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26497, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26499, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26498, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16075, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16072, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16074, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16073, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26500, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26497, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26499, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26498, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793208 */ static void multi_dimension_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16073, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16074, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16072, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16075, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26498, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26499, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26497, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26500, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16073, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16074, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16072, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16075, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26498, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26499, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26497, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26500, -16, -16, 32, 32, 3, height + 24, -16, -16, height + 22); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 1, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 0, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 2, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 3, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007932D8 */ static void multi_dimension_rc_track_left_flyer_twist_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26368, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26374, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26367, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26373, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26369, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26375, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26366, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26372, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26370, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26376, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26365, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26371, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26368, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26374, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26367, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26373, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26369, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26375, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26366, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26372, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26370, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26376, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26365, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26371, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26368, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26374, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26367, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26373, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26369, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26375, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26366, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26372, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26370, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26376, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26365, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26371, 0, 6, 32, 20, 3, height + 24); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26368, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26374, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26367, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26373, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26369, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26375, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26366, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26372, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26370, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26376, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26365, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26371, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007932E8 */ static void multi_dimension_rc_track_right_flyer_twist_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26380, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26386, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26379, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26385, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26381, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26387, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26378, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26384, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26382, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26388, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26377, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26383, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26380, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26386, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26379, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26385, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26381, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26387, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26378, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26384, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26382, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26388, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26377, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26383, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26380, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26386, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26379, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26385, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26381, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26387, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26378, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26384, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26382, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26388, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26377, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26383, 0, 6, 32, 20, 3, height + 24); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26380, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26386, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26379, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26385, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26381, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26387, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26378, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26384, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26382, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26388, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26377, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26383, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x007932F8 */ static void multi_dimension_rc_track_left_flyer_twist_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26365, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26371, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26370, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26376, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26365, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26371, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26370, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26376, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26366, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26372, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26369, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26375, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26367, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26373, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26368, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26374, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26365, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26371, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26370, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26376, 0, 6, 32, 20, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26366, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26372, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26369, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26375, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26367, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26373, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26368, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26374, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26365, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26371, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26370, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26376, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26366, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26372, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26369, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26375, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26367, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26373, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26368, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26374, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26366, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26372, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26369, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26375, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26367, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26373, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26368, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26374, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793308 */ static void multi_dimension_rc_track_right_flyer_twist_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26377, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26383, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26382, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26388, 0, 6, 32, 20, 3, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26377, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26383, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26382, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26388, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26378, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26384, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26381, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26387, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26379, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26385, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26380, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26386, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26377, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26383, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26382, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26388, 0, 6, 32, 20, 3, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26378, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26384, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26381, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26387, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26379, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26385, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26380, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26386, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26377, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26383, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26382, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26388, 0, 6, 32, 20, 3, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26378, 0, 6, 32, 20, 3, height + 24); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26384, 0, 6, 32, 20, 3, height + 24); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26381, 0, 6, 32, 20, 3, height + 24); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26387, 0, 6, 32, 20, 3, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26379, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26385, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26380, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26386, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26378, 0, 6, 32, 20, 3, height + 24); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26384, 0, 6, 32, 20, 3, height + 24); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26381, 0, 6, 32, 20, 3, height + 24); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26387, 0, 6, 32, 20, 3, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26379, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26385, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26380, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26386, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793398 */ static void multi_dimension_rc_track_multidim_inverted_flat_to_90_deg_quarter_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26539, 0, 0, 32, 20, 3, height + 16, 0, 6, height + 16); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26542, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26545, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26548, 0, 0, 32, 20, 3, height + 16, 0, 6, height + 16); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26538, 0, 0, 2, 20, 31, height + 16, 24, 6, height + 16); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26541, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26544, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26547, 0, 0, 2, 20, 31, height + 16, 24, 6, height + 16); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26537, 0, 0, 2, 20, 31, height + 16, 28, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26540, 0, 0, 2, 20, 31, height + 16, 0, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26543, 0, 0, 2, 20, 31, height + 16, 0, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26546, 0, 0, 2, 20, 31, height + 16, 29, 6, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16208, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16211, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16214, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16217, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16207, 0, 0, 2, 20, 31, height, -8, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16210, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16213, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16216, 0, 0, 2, 20, 31, height, -8, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16206, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16209, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16212, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16215, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26539, 0, 0, 32, 20, 3, height + 16, 0, 6, height + 16); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26542, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26545, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26548, 0, 0, 32, 20, 3, height + 16, 0, 6, height + 16); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26538, 0, 0, 2, 20, 31, height + 16, 24, 6, height + 16); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26541, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26544, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26547, 0, 0, 2, 20, 31, height + 16, 24, 6, height + 16); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26537, 0, 0, 2, 20, 31, height + 16, 28, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26540, 0, 0, 2, 20, 31, height + 16, 0, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26543, 0, 0, 2, 20, 31, height + 16, 0, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26546, 0, 0, 2, 20, 31, height + 16, 29, 6, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16208, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16211, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16214, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16217, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16207, 0, 0, 2, 20, 31, height, -8, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16210, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16213, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16216, 0, 0, 2, 20, 31, height, -8, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16206, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16209, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16212, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16215, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + break; + } + } } /** rct2: 0x00793318 */ static void multi_dimension_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16220, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16221, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26551, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26552, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); - break; - } + if (!track_element_is_inverted(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16220, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16221, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26551, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26552, 0, 0, 32, 20, 3, height + 24, 0, 6, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); - } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); + } } /** rct2: 0x00793388 */ static void multi_dimension_rc_track_multidim_90_deg_up_to_inverted_flat_quarter_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16206, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16209, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16212, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16215, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16207, 0, 0, 2, 20, 31, height, -8, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16210, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16213, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16216, 0, 0, 2, 20, 31, height, -8, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16208, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16211, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16214, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16217, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26537, 0, 0, 2, 20, 31, height - 16, 28, 6, height - 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26540, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26543, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26546, 0, 0, 2, 20, 31, height - 16, 28, 6, height - 8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26538, 0, 0, 2, 20, 31, height - 16, 24, 6, height - 16); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26541, 0, 0, 2, 20, 63, height - 16, 0, 6, height - 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26544, 0, 0, 2, 20, 63, height - 16, 0, 6, height - 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26547, 0, 0, 2, 20, 31, height - 16, 24, 6, height - 16); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26539, 0, 0, 32, 20, 3, height - 16, 0, 6, height - 16); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26542, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26545, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26548, 0, 0, 32, 20, 3, height - 16, 0, 6, height - 16); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16206, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16209, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16212, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16215, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16207, 0, 0, 2, 20, 31, height, -8, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16210, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16213, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16216, 0, 0, 2, 20, 31, height, -8, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16208, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16211, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16214, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16217, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26537, 0, 0, 2, 20, 31, height - 16, 28, 6, height - 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26540, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26543, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26546, 0, 0, 2, 20, 31, height - 16, 28, 6, height - 8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26538, 0, 0, 2, 20, 31, height - 16, 24, 6, height - 16); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26541, 0, 0, 2, 20, 63, height - 16, 0, 6, height - 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26544, 0, 0, 2, 20, 63, height - 16, 0, 6, height - 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26547, 0, 0, 2, 20, 31, height - 16, 24, 6, height - 16); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26539, 0, 0, 32, 20, 3, height - 16, 0, 6, height - 16); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26542, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26545, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26548, 0, 0, 32, 20, 3, height - 16, 0, 6, height - 16); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } /** rct2: 0x00793398 */ static void multi_dimension_rc_track_multidim_flat_to_90_deg_down_quarter_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26539, 0, 0, 32, 20, 3, height + 16, 0, 6, height + 16); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26542, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26545, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26548, 0, 0, 32, 20, 3, height + 16, 0, 6, height + 16); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26538, 0, 0, 2, 20, 31, height + 16, 24, 6, height + 16); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26541, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26544, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26547, 0, 0, 2, 20, 31, height + 16, 24, 6, height + 16); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26537, 0, 0, 2, 20, 31, height + 16, 28, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26540, 0, 0, 2, 20, 31, height + 16, 0, 6, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26543, 0, 0, 2, 20, 31, height + 16, 0, 6, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26546, 0, 0, 2, 20, 31, height + 16, 29, 6, height + 24); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16208, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16211, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16214, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16217, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16207, 0, 0, 2, 20, 31, height, -8, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16210, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16213, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16216, 0, 0, 2, 20, 31, height, -8, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16206, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16209, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16212, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16215, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26539, 0, 0, 32, 20, 3, height + 16, 0, 6, height + 16); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26542, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26545, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26548, 0, 0, 32, 20, 3, height + 16, 0, 6, height + 16); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26538, 0, 0, 2, 20, 31, height + 16, 24, 6, height + 16); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26541, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26544, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26547, 0, 0, 2, 20, 31, height + 16, 24, 6, height + 16); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26537, 0, 0, 2, 20, 31, height + 16, 28, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26540, 0, 0, 2, 20, 31, height + 16, 0, 6, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26543, 0, 0, 2, 20, 31, height + 16, 0, 6, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26546, 0, 0, 2, 20, 31, height + 16, 29, 6, height + 24); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16208, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16211, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16214, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16217, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16207, 0, 0, 2, 20, 31, height, -8, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16210, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16213, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16216, 0, 0, 2, 20, 31, height, -8, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16206, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16209, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16212, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16215, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + break; + } + } } /** rct2: 0x00793388 */ static void multi_dimension_rc_track_elem_255(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (!track_element_is_inverted(mapElement)) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16206, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16209, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16212, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16215, 0, 0, 2, 20, 31, height, 4, 6, height + 8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16207, 0, 0, 2, 20, 31, height, -8, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16210, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16213, 0, 0, 2, 20, 63, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16216, 0, 0, 2, 20, 31, height, -8, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16208, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16211, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16214, 0, 0, 2, 20, 31, height, 24, 6, height + 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16217, 0, 0, 32, 20, 3, height, 0, 6, height + 24); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } - } else { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26537, 0, 0, 2, 20, 31, height - 16, 28, 6, height - 8); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26540, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26543, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26546, 0, 0, 2, 20, 31, height - 16, 28, 6, height - 8); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26538, 0, 0, 2, 20, 31, height - 16, 24, 6, height - 16); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26541, 0, 0, 2, 20, 63, height - 16, 0, 6, height - 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26544, 0, 0, 2, 20, 63, height - 16, 0, 6, height - 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26547, 0, 0, 2, 20, 31, height - 16, 24, 6, height - 16); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26539, 0, 0, 32, 20, 3, height - 16, 0, 6, height - 16); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26542, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26545, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26548, 0, 0, 32, 20, 3, height - 16, 0, 6, height - 16); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } - } + if (!track_element_is_inverted(mapElement)) { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16206, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16209, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16212, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16215, 0, 0, 2, 20, 31, height, 4, 6, height + 8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16207, 0, 0, 2, 20, 31, height, -8, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16210, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16213, 0, 0, 2, 20, 63, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16216, 0, 0, 2, 20, 31, height, -8, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16208, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16211, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16214, 0, 0, 2, 20, 31, height, 24, 6, height + 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16217, 0, 0, 32, 20, 3, height, 0, 6, height + 24); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } + } else { + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26537, 0, 0, 2, 20, 31, height - 16, 28, 6, height - 8); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26540, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26543, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26546, 0, 0, 2, 20, 31, height - 16, 28, 6, height - 8); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26538, 0, 0, 2, 20, 31, height - 16, 24, 6, height - 16); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26541, 0, 0, 2, 20, 63, height - 16, 0, 6, height - 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26544, 0, 0, 2, 20, 63, height - 16, 0, 6, height - 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26547, 0, 0, 2, 20, 31, height - 16, 24, 6, height - 16); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26539, 0, 0, 32, 20, 3, height - 16, 0, 6, height - 16); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26542, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26545, 0, 0, 2, 20, 31, height - 16, 0, 6, height - 8); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26548, 0, 0, 32, 20, 3, height - 16, 0, 6, height - 16); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } + } } TRACK_PAINT_FUNCTION get_track_paint_function_multi_dimension_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return multi_dimension_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return multi_dimension_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return multi_dimension_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return multi_dimension_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return multi_dimension_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return multi_dimension_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return multi_dimension_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return multi_dimension_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return multi_dimension_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return multi_dimension_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return multi_dimension_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return multi_dimension_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return multi_dimension_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return multi_dimension_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return multi_dimension_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return multi_dimension_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return multi_dimension_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return multi_dimension_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return multi_dimension_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return multi_dimension_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return multi_dimension_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return multi_dimension_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return multi_dimension_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return multi_dimension_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return multi_dimension_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return multi_dimension_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return multi_dimension_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return multi_dimension_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return multi_dimension_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return multi_dimension_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return multi_dimension_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return multi_dimension_rc_track_right_bank; - case TRACK_ELEM_S_BEND_LEFT: - return multi_dimension_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return multi_dimension_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return multi_dimension_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return multi_dimension_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return multi_dimension_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return multi_dimension_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return multi_dimension_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return multi_dimension_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return multi_dimension_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return multi_dimension_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return multi_dimension_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return multi_dimension_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return multi_dimension_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return multi_dimension_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_BRAKES: - return multi_dimension_rc_track_brakes; - case TRACK_ELEM_ON_RIDE_PHOTO: - return multi_dimension_rc_track_on_ride_photo; - case TRACK_ELEM_90_DEG_UP: - return multi_dimension_rc_track_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN: - return multi_dimension_rc_track_90_deg_down; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: - return multi_dimension_rc_track_60_deg_up_to_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: - return multi_dimension_rc_track_90_deg_down_to_60_deg_down; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: - return multi_dimension_rc_track_90_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: - return multi_dimension_rc_track_60_deg_down_to_90_deg_down; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return multi_dimension_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return multi_dimension_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return multi_dimension_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return multi_dimension_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return multi_dimension_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return multi_dimension_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return multi_dimension_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return multi_dimension_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return multi_dimension_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return multi_dimension_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return multi_dimension_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return multi_dimension_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return multi_dimension_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return multi_dimension_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return multi_dimension_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return multi_dimension_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return multi_dimension_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return multi_dimension_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return multi_dimension_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return multi_dimension_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return multi_dimension_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return multi_dimension_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return multi_dimension_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return multi_dimension_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return multi_dimension_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return multi_dimension_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return multi_dimension_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return multi_dimension_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return multi_dimension_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return multi_dimension_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return multi_dimension_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return multi_dimension_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return multi_dimension_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return multi_dimension_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return multi_dimension_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_FLYER_TWIST_UP: - return multi_dimension_rc_track_left_flyer_twist_up; - case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: - return multi_dimension_rc_track_right_flyer_twist_up; - case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: - return multi_dimension_rc_track_left_flyer_twist_down; - case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: - return multi_dimension_rc_track_right_flyer_twist_down; - case TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: - return multi_dimension_rc_track_multidim_inverted_flat_to_90_deg_quarter_loop_down; - case TRACK_ELEM_BLOCK_BRAKES: - return multi_dimension_rc_track_block_brakes; - case TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP: - return multi_dimension_rc_track_multidim_90_deg_up_to_inverted_flat_quarter_loop; - case TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP: - return multi_dimension_rc_track_multidim_flat_to_90_deg_down_quarter_loop; - case TRACK_ELEM_255: - return multi_dimension_rc_track_elem_255; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return multi_dimension_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return multi_dimension_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return multi_dimension_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return multi_dimension_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return multi_dimension_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return multi_dimension_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return multi_dimension_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return multi_dimension_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return multi_dimension_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return multi_dimension_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return multi_dimension_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return multi_dimension_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return multi_dimension_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return multi_dimension_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return multi_dimension_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return multi_dimension_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return multi_dimension_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return multi_dimension_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return multi_dimension_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return multi_dimension_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return multi_dimension_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return multi_dimension_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return multi_dimension_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return multi_dimension_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return multi_dimension_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return multi_dimension_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return multi_dimension_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return multi_dimension_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return multi_dimension_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return multi_dimension_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return multi_dimension_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return multi_dimension_rc_track_right_bank; + case TRACK_ELEM_S_BEND_LEFT: + return multi_dimension_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return multi_dimension_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return multi_dimension_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return multi_dimension_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return multi_dimension_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return multi_dimension_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return multi_dimension_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return multi_dimension_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return multi_dimension_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return multi_dimension_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return multi_dimension_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return multi_dimension_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return multi_dimension_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return multi_dimension_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_BRAKES: + return multi_dimension_rc_track_brakes; + case TRACK_ELEM_ON_RIDE_PHOTO: + return multi_dimension_rc_track_on_ride_photo; + case TRACK_ELEM_90_DEG_UP: + return multi_dimension_rc_track_90_deg_up; + case TRACK_ELEM_90_DEG_DOWN: + return multi_dimension_rc_track_90_deg_down; + case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + return multi_dimension_rc_track_60_deg_up_to_90_deg_up; + case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + return multi_dimension_rc_track_90_deg_down_to_60_deg_down; + case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + return multi_dimension_rc_track_90_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + return multi_dimension_rc_track_60_deg_down_to_90_deg_down; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return multi_dimension_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return multi_dimension_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return multi_dimension_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return multi_dimension_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return multi_dimension_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return multi_dimension_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return multi_dimension_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return multi_dimension_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return multi_dimension_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return multi_dimension_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return multi_dimension_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return multi_dimension_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return multi_dimension_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return multi_dimension_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return multi_dimension_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return multi_dimension_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return multi_dimension_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return multi_dimension_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return multi_dimension_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return multi_dimension_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return multi_dimension_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return multi_dimension_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return multi_dimension_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return multi_dimension_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return multi_dimension_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return multi_dimension_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return multi_dimension_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return multi_dimension_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return multi_dimension_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return multi_dimension_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return multi_dimension_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return multi_dimension_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return multi_dimension_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return multi_dimension_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return multi_dimension_rc_track_diag_right_bank; + case TRACK_ELEM_LEFT_FLYER_TWIST_UP: + return multi_dimension_rc_track_left_flyer_twist_up; + case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: + return multi_dimension_rc_track_right_flyer_twist_up; + case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: + return multi_dimension_rc_track_left_flyer_twist_down; + case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: + return multi_dimension_rc_track_right_flyer_twist_down; + case TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: + return multi_dimension_rc_track_multidim_inverted_flat_to_90_deg_quarter_loop_down; + case TRACK_ELEM_BLOCK_BRAKES: + return multi_dimension_rc_track_block_brakes; + case TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP: + return multi_dimension_rc_track_multidim_90_deg_up_to_inverted_flat_quarter_loop; + case TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP: + return multi_dimension_rc_track_multidim_flat_to_90_deg_down_quarter_loop; + case TRACK_ELEM_255: + return multi_dimension_rc_track_elem_255; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/reverse_freefall_coaster.c b/src/openrct2/ride/coaster/reverse_freefall_coaster.c index f4d50836d1..68ed0bc822 100644 --- a/src/openrct2/ride/coaster/reverse_freefall_coaster.c +++ b/src/openrct2/ride/coaster/reverse_freefall_coaster.c @@ -27,347 +27,347 @@ #include "../track_paint.h" enum { - SPR_REVERSE_FREEFALL_RC_STATION_SW_NE = 22162, - SPR_REVERSE_FREEFALL_RC_STATION_NW_SE = 22163, - SPR_REVERSE_FREEFALL_RC_FLAT_SW_NE = 22164, - SPR_REVERSE_FREEFALL_RC_FLAT_NW_SE = 22165, - SPR_REVERSE_FREEFALL_RC_VERTICAL_SW_NE = 22166, - SPR_REVERSE_FREEFALL_RC_VERTICAL_NW_SE = 22167, - SPR_REVERSE_FREEFALL_RC_VERTICAL_NE_SW = 22168, - SPR_REVERSE_FREEFALL_RC_VERTICAL_SE_NW = 22169, - SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_SW_NE = 22170, - SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_NW_SE = 22171, - SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_NE_SW = 22172, - SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_SE_NW = 22173, - SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_0 = 22174, - SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_1 = 22175, - SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_2 = 22176, - SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_3 = 22177, - SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_4 = 22178, - SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_6 = 22179, - SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_0 = 22180, - SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_1 = 22181, - SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_2 = 22182, - SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_3 = 22183, - SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_4 = 22184, - SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_6 = 22185, - SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_0 = 22186, - SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_1 = 22187, - SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_2 = 22188, - SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_3 = 22189, - SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_4 = 22190, - SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_6 = 22191, - SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_0 = 22192, - SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_1 = 22193, - SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_2 = 22194, - SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_3 = 22195, - SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_4 = 22196, - SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_6 = 22197, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_0 = 22198, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_1 = 22199, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_2 = 22200, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_3 = 22201, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_4 = 22202, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_6 = 22203, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_5 = 22204, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_0 = 22205, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_1 = 22206, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_2 = 22207, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_3 = 22208, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_4 = 22209, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_6 = 22210, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_5 = 22211, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_0 = 22212, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_1 = 22213, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_2 = 22214, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_3 = 22215, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_4 = 22216, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_6 = 22217, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_5 = 22218, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_0 = 22219, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_1 = 22220, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_2 = 22221, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_3 = 22222, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_4 = 22223, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_6 = 22224, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_5 = 22225, + SPR_REVERSE_FREEFALL_RC_STATION_SW_NE = 22162, + SPR_REVERSE_FREEFALL_RC_STATION_NW_SE = 22163, + SPR_REVERSE_FREEFALL_RC_FLAT_SW_NE = 22164, + SPR_REVERSE_FREEFALL_RC_FLAT_NW_SE = 22165, + SPR_REVERSE_FREEFALL_RC_VERTICAL_SW_NE = 22166, + SPR_REVERSE_FREEFALL_RC_VERTICAL_NW_SE = 22167, + SPR_REVERSE_FREEFALL_RC_VERTICAL_NE_SW = 22168, + SPR_REVERSE_FREEFALL_RC_VERTICAL_SE_NW = 22169, + SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_SW_NE = 22170, + SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_NW_SE = 22171, + SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_NE_SW = 22172, + SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_SE_NW = 22173, + SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_0 = 22174, + SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_1 = 22175, + SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_2 = 22176, + SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_3 = 22177, + SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_4 = 22178, + SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_6 = 22179, + SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_0 = 22180, + SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_1 = 22181, + SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_2 = 22182, + SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_3 = 22183, + SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_4 = 22184, + SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_6 = 22185, + SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_0 = 22186, + SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_1 = 22187, + SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_2 = 22188, + SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_3 = 22189, + SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_4 = 22190, + SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_6 = 22191, + SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_0 = 22192, + SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_1 = 22193, + SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_2 = 22194, + SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_3 = 22195, + SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_4 = 22196, + SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_6 = 22197, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_0 = 22198, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_1 = 22199, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_2 = 22200, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_3 = 22201, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_4 = 22202, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_6 = 22203, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_5 = 22204, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_0 = 22205, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_1 = 22206, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_2 = 22207, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_3 = 22208, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_4 = 22209, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_6 = 22210, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_5 = 22211, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_0 = 22212, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_1 = 22213, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_2 = 22214, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_3 = 22215, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_4 = 22216, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_6 = 22217, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_5 = 22218, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_0 = 22219, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_1 = 22220, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_2 = 22221, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_3 = 22222, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_4 = 22223, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_6 = 22224, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_5 = 22225, }; static const uint32 reverse_freefall_rc_track_pieces_station[4] = { - SPR_REVERSE_FREEFALL_RC_STATION_SW_NE, - SPR_REVERSE_FREEFALL_RC_STATION_NW_SE, - SPR_REVERSE_FREEFALL_RC_STATION_SW_NE, - SPR_REVERSE_FREEFALL_RC_STATION_NW_SE, + SPR_REVERSE_FREEFALL_RC_STATION_SW_NE, + SPR_REVERSE_FREEFALL_RC_STATION_NW_SE, + SPR_REVERSE_FREEFALL_RC_STATION_SW_NE, + SPR_REVERSE_FREEFALL_RC_STATION_NW_SE, }; static const uint32 reverse_freefall_rc_track_pieces_slope[7][4] = { - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_0, - SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_0, - SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_0, - SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_0, - }, - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_1, - SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_1, - SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_1, - SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_1, - }, - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_2, - SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_2, - SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_2, - SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_2, - }, - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_3, - SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_3, - SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_3, - SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_3, - }, - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_4, - SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_4, - SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_4, - SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_4, - }, - { - 0, - 0, - 0, - 0 - }, - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_6, - SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_6, - SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_6, - SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_6, - }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_0, + SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_0, + SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_0, + SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_0, + }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_1, + SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_1, + SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_1, + SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_1, + }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_2, + SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_2, + SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_2, + SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_2, + }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_3, + SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_3, + SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_3, + SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_3, + }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_4, + SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_4, + SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_4, + SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_4, + }, + { + 0, + 0, + 0, + 0 + }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SW_NE_6, + SPR_REVERSE_FREEFALL_RC_SLOPE_NW_SE_6, + SPR_REVERSE_FREEFALL_RC_SLOPE_NE_SW_6, + SPR_REVERSE_FREEFALL_RC_SLOPE_SE_NW_6, + }, }; static const uint32 reverse_freefall_rc_track_pieces_slope_supports[7][4] = { - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_0, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_0, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_0, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_0, - }, - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_1, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_1, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_1, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_1, - }, - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_2, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_2, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_2, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_2, - }, - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_3, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_3, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_3, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_3, - }, - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_4, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_4, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_4, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_4, - }, - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_5, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_5, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_5, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_5, - }, - { - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_6, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_6, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_6, - SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_6, - }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_0, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_0, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_0, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_0, + }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_1, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_1, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_1, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_1, + }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_2, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_2, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_2, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_2, + }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_3, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_3, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_3, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_3, + }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_4, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_4, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_4, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_4, + }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_5, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_5, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_5, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_5, + }, + { + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SW_NE_6, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NW_SE_6, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_NE_SW_6, + SPR_REVERSE_FREEFALL_RC_SLOPE_SUPPORTS_SE_NW_6, + }, }; static const uint32 reverse_freefall_rc_track_pieces_vertical[4] = { - SPR_REVERSE_FREEFALL_RC_VERTICAL_SW_NE, - SPR_REVERSE_FREEFALL_RC_VERTICAL_NW_SE, - SPR_REVERSE_FREEFALL_RC_VERTICAL_NE_SW, - SPR_REVERSE_FREEFALL_RC_VERTICAL_SE_NW, + SPR_REVERSE_FREEFALL_RC_VERTICAL_SW_NE, + SPR_REVERSE_FREEFALL_RC_VERTICAL_NW_SE, + SPR_REVERSE_FREEFALL_RC_VERTICAL_NE_SW, + SPR_REVERSE_FREEFALL_RC_VERTICAL_SE_NW, }; static const uint32 reverse_freefall_rc_track_pieces_vertical_supports[4] = { - SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_SW_NE, - SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_NW_SE, - SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_NE_SW, - SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_SE_NW, + SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_SW_NE, + SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_NW_SE, + SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_NE_SW, + SPR_REVERSE_FREEFALL_RC_VERTICAL_SUPPORTS_SE_NW, }; static void paint_reverse_freefall_rc_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - if (direction & 1) { - uint32 imageId = SPR_REVERSE_FREEFALL_RC_FLAT_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_6); - } else { - uint32 imageId = SPR_REVERSE_FREEFALL_RC_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - } + if (direction & 1) { + uint32 imageId = SPR_REVERSE_FREEFALL_RC_FLAT_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + paint_util_push_tunnel_right(height, TUNNEL_6); + } else { + uint32 imageId = SPR_REVERSE_FREEFALL_RC_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_left(height, TUNNEL_6); + } - wooden_a_supports_paint_setup((direction & 1) ? 1 : 0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + wooden_a_supports_paint_setup((direction & 1) ? 1 : 0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void paint_reverse_freefall_rc_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - rct_ride * ride = get_ride(rideIndex); - const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; - uint32 imageId = entranceStyle->base_image_id; - if (!(gTrackColours[SCHEME_MISC] & (1 << 29))) { - imageId &= 0x7FFFF; - } + rct_ride * ride = get_ride(rideIndex); + const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; + uint32 imageId = entranceStyle->base_image_id; + if (!(gTrackColours[SCHEME_MISC] & (1 << 29))) { + imageId &= 0x7FFFF; + } - if (direction == 0 || direction == 2) { - // height -= 2 (height - 2) - imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation()); - // height += 2 (height) + if (direction == 0 || direction == 2) { + // height -= 2 (height - 2) + imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation()); + // height += 2 (height) - imageId = reverse_freefall_rc_track_pieces_station[direction] | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + imageId = reverse_freefall_rc_track_pieces_station[direction] | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - wooden_a_supports_paint_setup((direction & 1) ? 1 : 0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height, TUNNEL_6); - } else if (direction == 1 || direction == 3) { - // height -= 2 (height - 2) - imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation()); - // height += 2 (height) + wooden_a_supports_paint_setup((direction & 1) ? 1 : 0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height, TUNNEL_6); + } else if (direction == 1 || direction == 3) { + // height -= 2 (height - 2) + imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation()); + // height += 2 (height) - imageId = reverse_freefall_rc_track_pieces_station[direction] | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + imageId = reverse_freefall_rc_track_pieces_station[direction] | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - wooden_a_supports_paint_setup((direction & 1) ? 1 : 0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height, TUNNEL_6); - } + wooden_a_supports_paint_setup((direction & 1) ? 1 : 0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height, TUNNEL_6); + } - track_paint_util_draw_station_platform(ride, direction, height, 5, mapElement); + track_paint_util_draw_station_platform(ride, direction, height, 5, mapElement); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void paint_reverse_freefall_rc_slope(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - TESTPAINT_IGNORE_ALL(); + TESTPAINT_IGNORE_ALL(); - static const sint8 bbHeights03[] = { 1, 6, 14, 37, 64 }; - static const sint8 bbHeights12[] = { 1, 6, 14, 27, 59 }; - static const sint32 supportHeights[] = { 48, 64, 128, 176, 208, 240, 240 }; - static const sint32 tunnelOffsets03[] = { 0, 0, 0, 16, 64 }; + static const sint8 bbHeights03[] = { 1, 6, 14, 37, 64 }; + static const sint8 bbHeights12[] = { 1, 6, 14, 27, 59 }; + static const sint32 supportHeights[] = { 48, 64, 128, 176, 208, 240, 240 }; + static const sint32 tunnelOffsets03[] = { 0, 0, 0, 16, 64 }; - uint32 supportsImageId = reverse_freefall_rc_track_pieces_slope_supports[trackSequence][direction] | gTrackColours[SCHEME_SUPPORTS]; - uint32 trackImageId = reverse_freefall_rc_track_pieces_slope[trackSequence][direction] | gTrackColours[SCHEME_TRACK]; - sint8 bbHeight; - bool isDirection03 = (direction == 0 || direction == 3); - switch (trackSequence) { - case 0: - case 1: - case 2: - case 3: - case 4: - if (isDirection03) { - bbHeight = bbHeights03[trackSequence]; - sub_98197C_rotated(direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); - sub_98199C_rotated(direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); + uint32 supportsImageId = reverse_freefall_rc_track_pieces_slope_supports[trackSequence][direction] | gTrackColours[SCHEME_SUPPORTS]; + uint32 trackImageId = reverse_freefall_rc_track_pieces_slope[trackSequence][direction] | gTrackColours[SCHEME_TRACK]; + sint8 bbHeight; + bool isDirection03 = (direction == 0 || direction == 3); + switch (trackSequence) { + case 0: + case 1: + case 2: + case 3: + case 4: + if (isDirection03) { + bbHeight = bbHeights03[trackSequence]; + sub_98197C_rotated(direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); + sub_98199C_rotated(direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); - sint32 tunnelOffset = tunnelOffsets03[trackSequence]; - if (direction & 1) { - paint_util_push_tunnel_right(height + tunnelOffset, TUNNEL_6); - } else { - paint_util_push_tunnel_left(height + tunnelOffset, TUNNEL_6); - } - } else { - bbHeight = bbHeights12[trackSequence]; - sub_98197C_rotated(direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); - sub_98199C_rotated(direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); - } + sint32 tunnelOffset = tunnelOffsets03[trackSequence]; + if (direction & 1) { + paint_util_push_tunnel_right(height + tunnelOffset, TUNNEL_6); + } else { + paint_util_push_tunnel_left(height + tunnelOffset, TUNNEL_6); + } + } else { + bbHeight = bbHeights12[trackSequence]; + sub_98197C_rotated(direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); + sub_98199C_rotated(direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); + } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); - break; - case 5: - if (wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL)) { - uint32 floorImageId; - if (direction & 1) { - floorImageId = SPR_FLOOR_PLANKS_90_DEG | gTrackColours[SCHEME_SUPPORTS]; - } else { - floorImageId = SPR_FLOOR_PLANKS | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98197C(floorImageId, 0, 0, 26, 26, 126, height, 3, 3, height, get_current_rotation()); - sub_98199C_rotated(direction, supportsImageId, 0, 0, isDirection03 ? 26 : 18, 26, 126, height, isDirection03 ? 3 : 11, 3, height); - } else { - sub_98197C_rotated(direction, supportsImageId, 0, 0, isDirection03 ? 26 : 18, 26, 126, height, isDirection03 ? 3 : 11, 3, height); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); - break; - case 6: - if (isDirection03) { - sub_98197C_rotated(direction, supportsImageId, 0, 0, 5, 20, 79, height, 0, 6, height + 128); - sub_98199C_rotated(direction, trackImageId, 0, 0, 5, 20, 79, height, 0, 6, height + 128); - } else { - sub_98197C_rotated(direction, trackImageId, 0, 0, 1, 20, 126, height, 27, 6, height); - sub_98199C_rotated(direction, supportsImageId, 0, 0, 1, 20, 126, height, 27, 6, height); - } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); - break; - } + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); + break; + case 5: + if (wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL)) { + uint32 floorImageId; + if (direction & 1) { + floorImageId = SPR_FLOOR_PLANKS_90_DEG | gTrackColours[SCHEME_SUPPORTS]; + } else { + floorImageId = SPR_FLOOR_PLANKS | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98197C(floorImageId, 0, 0, 26, 26, 126, height, 3, 3, height, get_current_rotation()); + sub_98199C_rotated(direction, supportsImageId, 0, 0, isDirection03 ? 26 : 18, 26, 126, height, isDirection03 ? 3 : 11, 3, height); + } else { + sub_98197C_rotated(direction, supportsImageId, 0, 0, isDirection03 ? 26 : 18, 26, 126, height, isDirection03 ? 3 : 11, 3, height); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); + break; + case 6: + if (isDirection03) { + sub_98197C_rotated(direction, supportsImageId, 0, 0, 5, 20, 79, height, 0, 6, height + 128); + sub_98199C_rotated(direction, trackImageId, 0, 0, 5, 20, 79, height, 0, 6, height + 128); + } else { + sub_98197C_rotated(direction, trackImageId, 0, 0, 1, 20, 126, height, 27, 6, height); + sub_98199C_rotated(direction, supportsImageId, 0, 0, 1, 20, 126, height, 27, 6, height); + } + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + supportHeights[trackSequence], 0x20); + break; + } } static void paint_reverse_freefall_rc_vertical(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - uint32 supportsImageId, trackImageId; - switch (trackSequence) { - case 0: - supportsImageId = reverse_freefall_rc_track_pieces_vertical_supports[direction] | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(supportsImageId, 0, 0, 26, 26, 79, height, 3, 3, height, get_current_rotation()); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 1: - trackImageId = reverse_freefall_rc_track_pieces_vertical[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 3) { - sub_98197C_rotated(direction, trackImageId, 0, 0, 2, 20, 79, height, 0, 6, height); - } else { - sub_98197C_rotated(direction, trackImageId, 0, 0, 2, 20, 79, height, 30, 6, height); - } - paint_util_set_vertical_tunnel(height + 80); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - } + uint32 supportsImageId, trackImageId; + switch (trackSequence) { + case 0: + supportsImageId = reverse_freefall_rc_track_pieces_vertical_supports[direction] | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(supportsImageId, 0, 0, 26, 26, 79, height, 3, 3, height, get_current_rotation()); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 1: + trackImageId = reverse_freefall_rc_track_pieces_vertical[direction] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 3) { + sub_98197C_rotated(direction, trackImageId, 0, 0, 2, 20, 79, height, 0, 6, height); + } else { + sub_98197C_rotated(direction, trackImageId, 0, 0, 2, 20, 79, height, 30, 6, height); + } + paint_util_set_vertical_tunnel(height + 80); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + } } TRACK_PAINT_FUNCTION get_track_paint_function_reverse_freefall_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return paint_reverse_freefall_rc_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_reverse_freefall_rc_station; - case TRACK_ELEM_REVERSE_FREEFALL_SLOPE: - return paint_reverse_freefall_rc_slope; - case TRACK_ELEM_REVERSE_FREEFALL_VERTICAL: - return paint_reverse_freefall_rc_vertical; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_reverse_freefall_rc_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_reverse_freefall_rc_station; + case TRACK_ELEM_REVERSE_FREEFALL_SLOPE: + return paint_reverse_freefall_rc_slope; + case TRACK_ELEM_REVERSE_FREEFALL_VERTICAL: + return paint_reverse_freefall_rc_vertical; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/reverser_roller_coaster.c b/src/openrct2/ride/coaster/reverser_roller_coaster.c index 9f3d27b818..9526fe1487 100644 --- a/src/openrct2/ride/coaster/reverser_roller_coaster.c +++ b/src/openrct2/ride/coaster/reverser_roller_coaster.c @@ -34,1045 +34,1045 @@ */ void vehicle_visual_reverser(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - rct_vehicle *v1 = GET_VEHICLE(vehicle->prev_vehicle_on_ride); - rct_vehicle *v2 = GET_VEHICLE(vehicle->next_vehicle_on_ride); - x = (v1->x + v2->x) / 2; - y = (v1->y + v2->y) / 2; - z = (v1->z + v2->z) / 2; - gUnk9DE568 = x; - gUnk9DE56C = y; - vehicle_visual_default(x, imageDirection, y, z, vehicle, vehicleEntry); + rct_vehicle *v1 = GET_VEHICLE(vehicle->prev_vehicle_on_ride); + rct_vehicle *v2 = GET_VEHICLE(vehicle->next_vehicle_on_ride); + x = (v1->x + v2->x) / 2; + y = (v1->y + v2->y) / 2; + z = (v1->z + v2->z) / 2; + gUnk9DE568 = x; + gUnk9DE56C = y; + vehicle_visual_default(x, imageDirection, y, z, vehicle, vehicleEntry); } #endif /** rct2: 0x0086E65C */ static void reverser_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21520, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21521, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21504, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21505, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21520, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21521, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21504, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21505, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void reverser_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { 21506, SPR_STATION_BASE_A_SW_NE }, - { 21507, SPR_STATION_BASE_A_NW_SE }, - { 21506, SPR_STATION_BASE_A_SW_NE }, - { 21507, SPR_STATION_BASE_A_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { 21506, SPR_STATION_BASE_A_SW_NE }, + { 21507, SPR_STATION_BASE_A_NW_SE }, + { 21506, SPR_STATION_BASE_A_SW_NE }, + { 21507, SPR_STATION_BASE_A_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0086E66C */ static void reverser_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21530, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21531, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21532, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21533, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21516, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21517, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21518, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21519, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21530, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21531, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21532, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21533, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21516, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21517, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21518, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21519, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x0086E67C */ static void reverser_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21522, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21523, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21524, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21525, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21508, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21509, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21510, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21511, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21522, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21523, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21524, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21525, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21508, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21509, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21510, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21511, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x0086E68C */ static void reverser_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21526, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21527, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21528, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21529, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21512, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21513, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21514, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21515, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21526, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21527, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21528, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21529, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21512, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21513, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21514, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21515, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x0086E69C */ static void reverser_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - reverser_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + reverser_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0086E6AC */ static void reverser_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - reverser_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + reverser_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0086E6BC */ static void reverser_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - reverser_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + reverser_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0086E6CC */ static void reverser_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21543, 0, 2, 32, 27, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21548, 0, 2, 32, 27, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21553, 0, 2, 32, 32, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21538, 0, 2, 32, 32, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21542, 0, 0, 32, 16, 2, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21547, 0, 0, 32, 16, 2, height); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21552, 0, 16, 32, 16, 2, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21537, 0, 16, 32, 16, 2, height); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21541, 0, 16, 16, 16, 2, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21546, 16, 16, 16, 16, 2, height); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21551, 16, 0, 16, 16, 2, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21536, 0, 0, 16, 16, 2, height); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21540, 16, 0, 16, 34, 2, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21545, 0, 0, 16, 32, 2, height); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21550, 0, 0, 16, 32, 2, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21535, 16, 0, 16, 32, 2, height); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21539, 2, 0, 32, 32, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21544, 2, 0, 27, 32, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21549, 2, 0, 27, 32, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21534, 2, 0, 32, 32, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21543, 0, 2, 32, 27, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21548, 0, 2, 32, 27, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21553, 0, 2, 32, 32, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21538, 0, 2, 32, 32, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21542, 0, 0, 32, 16, 2, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21547, 0, 0, 32, 16, 2, height); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21552, 0, 16, 32, 16, 2, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21537, 0, 16, 32, 16, 2, height); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21541, 0, 16, 16, 16, 2, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21546, 16, 16, 16, 16, 2, height); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21551, 16, 0, 16, 16, 2, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21536, 0, 0, 16, 16, 2, height); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21540, 16, 0, 16, 34, 2, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21545, 0, 0, 16, 32, 2, height); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21550, 0, 0, 16, 32, 2, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21535, 16, 0, 16, 32, 2, height); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21539, 2, 0, 32, 32, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21544, 2, 0, 27, 32, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21549, 2, 0, 27, 32, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21534, 2, 0, 32, 32, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0086E6DC */ static void reverser_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - reverser_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + reverser_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x0086E6EC */ static void reverser_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21566, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21570, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21569, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21573, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21567, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21571, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21568, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21572, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21568, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21572, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21567, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21571, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21569, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21573, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21566, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21570, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21566, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21570, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21569, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21573, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21567, 0, 0, 32, 26, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21571, 0, 0, 32, 26, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21568, 0, 0, 32, 26, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21572, 0, 0, 32, 26, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21568, 0, 0, 32, 26, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21572, 0, 0, 32, 26, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21567, 0, 0, 32, 26, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21571, 0, 0, 32, 26, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21569, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21573, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21566, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21570, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0086E6FC */ static void reverser_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21574, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21578, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21577, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21581, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21575, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21579, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21576, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21580, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21576, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21580, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21575, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21579, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21577, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21581, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21574, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21578, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21574, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21578, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21577, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21581, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21575, 0, 0, 32, 26, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21579, 0, 0, 32, 26, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21576, 0, 0, 32, 26, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21580, 0, 0, 32, 26, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21576, 0, 0, 32, 26, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21580, 0, 0, 32, 26, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21575, 0, 0, 32, 26, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21579, 0, 0, 32, 26, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21577, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21581, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21574, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21578, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0086E73C */ static void reverser_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21559, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21562, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21565, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21556, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21558, 0, 0, 16, 16, 2, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21561, 0, 0, 16, 16, 2, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21564, 0, 0, 16, 16, 2, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21555, 0, 0, 16, 16, 2, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21557, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21560, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21563, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21554, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21559, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21562, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21565, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21556, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21558, 0, 0, 16, 16, 2, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21561, 0, 0, 16, 16, 2, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21564, 0, 0, 16, 16, 2, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21555, 0, 0, 16, 16, 2, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21557, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21560, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21563, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21554, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0086E74C */ static void reverser_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - reverser_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + reverser_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x0086E75C */ static void reverser_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21506, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21507, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21506, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21507, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0086E76C */ static void reverser_rc_track_left_reverser(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21582, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21588, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21594, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21600, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21585, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21591, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21597, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21603, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21586, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21592, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21598, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21604, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21587, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21593, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21599, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21605, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21583, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21589, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21595, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21601, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21584, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21590, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21596, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21602, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21582, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21588, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21594, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21600, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21585, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21591, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21597, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21603, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21586, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21592, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21598, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21604, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21587, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21593, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21599, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21605, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21583, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21589, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21595, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21601, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21584, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21590, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21596, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21602, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0086E77C */ static void reverser_rc_track_right_reverser(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21596, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21602, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21584, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21590, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21599, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21605, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21587, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21593, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21598, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21604, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21586, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21592, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21597, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21603, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21585, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21591, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21595, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21601, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21583, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21589, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21594, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21600, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21582, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21588, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21596, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21602, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21584, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21590, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21599, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21605, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21587, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21593, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21598, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21604, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21586, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21592, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21597, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21603, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21585, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21591, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21595, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21601, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21583, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21589, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21594, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21600, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21582, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21588, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } TRACK_PAINT_FUNCTION get_track_paint_function_reverser_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return reverser_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return reverser_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return reverser_rc_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return reverser_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return reverser_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return reverser_rc_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return reverser_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return reverser_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return reverser_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return reverser_rc_track_right_quarter_turn_5; - case TRACK_ELEM_S_BEND_LEFT: - return reverser_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return reverser_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return reverser_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return reverser_rc_track_right_quarter_turn_3; - case TRACK_ELEM_BRAKES: - return reverser_rc_track_brakes; - case TRACK_ELEM_LEFT_REVERSER: - return reverser_rc_track_left_reverser; - case TRACK_ELEM_RIGHT_REVERSER: - return reverser_rc_track_right_reverser; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return reverser_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return reverser_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return reverser_rc_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return reverser_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return reverser_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return reverser_rc_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return reverser_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return reverser_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return reverser_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return reverser_rc_track_right_quarter_turn_5; + case TRACK_ELEM_S_BEND_LEFT: + return reverser_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return reverser_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return reverser_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return reverser_rc_track_right_quarter_turn_3; + case TRACK_ELEM_BRAKES: + return reverser_rc_track_brakes; + case TRACK_ELEM_LEFT_REVERSER: + return reverser_rc_track_left_reverser; + case TRACK_ELEM_RIGHT_REVERSER: + return reverser_rc_track_right_reverser; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/side_friction_roller_coaster.c b/src/openrct2/ride/coaster/side_friction_roller_coaster.c index 3b004802c5..d33e449e50 100644 --- a/src/openrct2/ride/coaster/side_friction_roller_coaster.c +++ b/src/openrct2/ride/coaster/side_friction_roller_coaster.c @@ -29,1949 +29,1949 @@ /** rct2: 0x0077839C */ static void side_friction_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21662, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21664, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21663, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21665, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21666, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21668, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21667, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21669, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21606, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21608, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21607, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21609, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21662, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21664, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21663, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21665, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21666, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21668, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21667, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21669, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21606, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21608, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21607, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21609, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x007784AC, 0x007784BC, 0x007784CC */ static void side_friction_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4] = { - 21610, - 21611, - 21610, - 21611, - }; + static const uint32 imageIds[4] = { + 21610, + 21611, + 21610, + 21611, + }; - sub_98197C_rotated(direction, imageIds[direction] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sub_98197C_rotated(direction, imageIds[direction] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x007783AC */ static void side_friction_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21678, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21690, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21679, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21691, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21680, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21692, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21681, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21693, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21622, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21634, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21623, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21635, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21624, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21636, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21625, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21637, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21678, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21690, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21679, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21691, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21680, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21692, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21681, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21693, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21622, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21634, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21623, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21635, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21624, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21636, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21625, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21637, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x007783CC */ static void side_friction_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21670, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21682, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21671, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21683, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21672, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21684, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21673, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21685, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21614, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21626, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21615, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21627, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21616, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21628, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21617, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21629, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21670, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21682, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21671, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21683, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21672, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21684, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21673, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21685, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21614, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21626, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21615, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21627, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21616, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21628, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21617, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21629, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x007783FC */ static void side_friction_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21674, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21686, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21675, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21687, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21676, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21688, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21677, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21689, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21618, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21630, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21619, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21631, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21620, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21632, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21621, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21633, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21674, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21686, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21675, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21687, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21676, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21688, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21677, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21689, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21618, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21630, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21619, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21631, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21620, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21632, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21621, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21633, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x0077840C */ static void side_friction_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - side_friction_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + side_friction_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0077842C */ static void side_friction_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - side_friction_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + side_friction_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0077845C */ static void side_friction_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - side_friction_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + side_friction_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0077846C */ static void side_friction_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21727, 0, 2, 32, 27, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21747, 0, 2, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21732, 0, 2, 32, 27, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21752, 0, 2, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21737, 0, 2, 32, 32, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21757, 0, 2, 32, 32, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21722, 0, 2, 32, 32, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21742, 0, 2, 32, 32, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21726, 0, 0, 32, 16, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21746, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21731, 0, 0, 32, 16, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21751, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21736, 0, 16, 32, 16, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21756, 0, 16, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21721, 0, 16, 32, 16, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21741, 0, 16, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21725, 0, 16, 16, 16, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21745, 0, 16, 16, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21730, 16, 16, 16, 16, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21750, 16, 16, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21735, 16, 0, 16, 16, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21755, 16, 0, 16, 16, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21720, 0, 0, 16, 16, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21740, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21724, 16, 0, 16, 34, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21744, 16, 0, 16, 34, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21729, 0, 0, 16, 32, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21749, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21734, 0, 0, 16, 32, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21754, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21719, 16, 0, 16, 32, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21739, 16, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21723, 2, 0, 32, 32, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21743, 2, 0, 32, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21728, 2, 0, 27, 32, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21748, 2, 0, 27, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21733, 2, 0, 27, 32, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21753, 2, 0, 27, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21718, 2, 0, 32, 32, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21738, 2, 0, 32, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21727, 0, 2, 32, 27, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21747, 0, 2, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21732, 0, 2, 32, 27, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21752, 0, 2, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21737, 0, 2, 32, 32, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21757, 0, 2, 32, 32, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21722, 0, 2, 32, 32, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21742, 0, 2, 32, 32, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21726, 0, 0, 32, 16, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21746, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21731, 0, 0, 32, 16, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21751, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21736, 0, 16, 32, 16, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21756, 0, 16, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21721, 0, 16, 32, 16, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21741, 0, 16, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21725, 0, 16, 16, 16, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21745, 0, 16, 16, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21730, 16, 16, 16, 16, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21750, 16, 16, 16, 16, 0, height, 16, 16, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21735, 16, 0, 16, 16, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21755, 16, 0, 16, 16, 0, height, 16, 0, height + 27); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21720, 0, 0, 16, 16, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21740, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21724, 16, 0, 16, 34, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21744, 16, 0, 16, 34, 0, height, 16, 0, height + 27); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21729, 0, 0, 16, 32, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21749, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21734, 0, 0, 16, 32, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21754, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21719, 16, 0, 16, 32, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21739, 16, 0, 16, 32, 0, height, 16, 0, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21723, 2, 0, 32, 32, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21743, 2, 0, 32, 32, 0, height, 2, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21728, 2, 0, 27, 32, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21748, 2, 0, 27, 32, 0, height, 2, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21733, 2, 0, 27, 32, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21753, 2, 0, 27, 32, 0, height, 2, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21718, 2, 0, 32, 32, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21738, 2, 0, 32, 32, 0, height, 2, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0077847C */ static void side_friction_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - side_friction_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + side_friction_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x0077848C */ static void side_friction_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21888, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21904, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21892, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21908, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21891, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21907, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21895, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21911, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21889, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21905, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21893, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21909, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21890, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21906, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21894, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21910, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21890, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21906, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21894, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21910, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21889, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21905, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21893, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21909, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21891, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21907, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21895, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21911, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21888, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21904, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21892, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21908, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21888, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21904, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21892, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21908, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21891, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21907, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21895, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21911, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21889, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21905, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21893, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21909, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21890, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21906, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21894, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21910, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21890, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21906, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21894, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21910, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21889, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21905, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21893, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21909, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21891, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21907, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21895, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21911, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21888, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21904, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21892, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21908, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0077849C */ static void side_friction_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21896, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21912, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21900, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21916, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21899, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21915, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21903, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21919, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21897, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21913, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21901, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21917, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21898, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21914, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21902, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21918, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21898, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21914, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21902, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21918, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21897, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21913, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21901, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21917, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21899, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21915, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21903, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21919, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21896, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21912, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21900, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21916, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21896, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21912, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21900, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21916, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21899, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21915, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21903, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21919, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21897, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21913, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21901, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21917, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21898, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21914, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21902, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21918, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21898, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21914, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21902, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21918, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21897, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21913, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21901, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21917, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21899, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21915, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21903, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21919, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21896, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21912, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21900, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21916, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x007784DC */ static void side_friction_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21699, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21711, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21702, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21714, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21705, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21717, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21696, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21708, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21698, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21710, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21701, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21713, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21704, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21716, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21695, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21707, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21697, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21709, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21700, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21712, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21703, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21715, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21694, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21706, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21699, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21711, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21702, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21714, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21705, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21717, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21696, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21708, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21698, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21710, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21701, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21713, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21704, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21716, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21695, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21707, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21697, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21709, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21700, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21712, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21703, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21715, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21694, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21706, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x007784EC */ static void side_friction_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - side_friction_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + side_friction_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x007784FC */ static void side_friction_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21610, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21612, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21611, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21613, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21610, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21612, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21611, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21613, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x007785DC */ static void side_friction_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21790, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21806, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21794, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21810, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21798, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21814, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21802, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21818, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21791, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21807, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21795, 0, 0, 34, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21811, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21799, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21815, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21803, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21819, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21792, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21808, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21796, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21812, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21800, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21816, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21804, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21820, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21793, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21809, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21797, 0, 0, 16, 18, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21813, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21801, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21817, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21805, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21821, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21790, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21806, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21794, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21810, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21798, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21814, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21802, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21818, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21791, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21807, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21795, 0, 0, 34, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21811, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21799, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21815, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21803, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21819, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21792, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21808, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21796, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21812, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21800, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21816, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21804, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21820, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21793, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21809, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21797, 0, 0, 16, 18, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21813, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21801, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21817, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21805, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21821, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x007785EC */ static void side_friction_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21758, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21774, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21762, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21778, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21766, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21782, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21770, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21786, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21759, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21775, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21763, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21779, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21767, 0, 0, 34, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21783, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21771, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21787, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21760, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21776, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21764, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21780, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21768, 0, 0, 28, 28, 2, height, 4, 4, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21784, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21772, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21788, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21761, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21777, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21765, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21781, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21769, 0, 0, 16, 18, 2, height, 0, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21785, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21773, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21789, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21758, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21774, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21762, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21778, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21766, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21782, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21770, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21786, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21759, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21775, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21763, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21779, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21767, 0, 0, 34, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21783, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21771, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21787, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21760, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21776, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21764, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21780, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21768, 0, 0, 28, 28, 2, height, 4, 4, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21784, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21772, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21788, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21761, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21777, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21765, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21781, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21769, 0, 0, 16, 18, 2, height, 0, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21785, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21773, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21789, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x007785FC */ static void side_friction_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - side_friction_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + side_friction_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0077860C */ static void side_friction_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - side_friction_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + side_friction_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x0077850C */ static void side_friction_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21849, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21825, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21846, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21850, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21822, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21826, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21848, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21851, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21824, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21827, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21847, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21823, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21849, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21825, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21846, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21850, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21822, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21826, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21848, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21851, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21824, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21827, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21847, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21823, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x0077853C */ static void side_friction_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21867, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21843, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21864, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21868, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21840, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21844, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21866, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21869, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21842, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21845, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21865, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21841, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21867, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21843, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21864, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21868, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21840, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21844, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21866, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21869, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21842, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21845, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21865, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21841, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x0077851C */ static void side_friction_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21855, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21831, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21852, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21856, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21828, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21832, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21854, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21830, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21833, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21853, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21829, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21855, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21831, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21852, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21856, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21828, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21832, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21854, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21830, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21833, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21853, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21829, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x0077852C */ static void side_friction_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21861, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21837, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21858, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21862, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21834, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21838, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21860, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21863, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21836, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21839, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21859, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21835, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21861, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21837, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21858, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21862, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21834, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21838, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21860, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21863, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21836, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21839, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21859, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21835, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x0077859C */ static void side_friction_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21865, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21841, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21866, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21869, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21842, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21845, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21864, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21868, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21840, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21844, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21867, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21843, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21865, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21841, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21866, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21869, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21842, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21845, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21864, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21868, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21840, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21844, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21867, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21843, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x0077857C */ static void side_friction_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21859, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21835, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21860, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21863, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21836, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21839, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21858, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21862, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21834, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21838, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21861, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21837, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21859, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21835, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21860, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21863, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21836, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21839, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21858, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21862, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21834, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21838, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21861, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21837, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x0077858C */ static void side_friction_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21853, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21829, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21854, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21830, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21833, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21852, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21856, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21828, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21832, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21855, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21831, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21853, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21829, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21854, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21830, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21833, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21852, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21856, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21828, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21832, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21855, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 21831, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } TRACK_PAINT_FUNCTION get_track_paint_function_side_friction_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return side_friction_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return side_friction_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return side_friction_rc_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return side_friction_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return side_friction_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return side_friction_rc_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return side_friction_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return side_friction_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return side_friction_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return side_friction_rc_track_right_quarter_turn_5; - case TRACK_ELEM_S_BEND_LEFT: - return side_friction_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return side_friction_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return side_friction_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return side_friction_rc_track_right_quarter_turn_3; - case TRACK_ELEM_BRAKES: - return side_friction_rc_track_brakes; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return side_friction_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return side_friction_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return side_friction_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return side_friction_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return side_friction_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return side_friction_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return side_friction_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return side_friction_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return side_friction_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return side_friction_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return side_friction_rc_track_diag_25_deg_down_to_flat; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return side_friction_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return side_friction_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return side_friction_rc_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return side_friction_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return side_friction_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return side_friction_rc_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return side_friction_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return side_friction_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return side_friction_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return side_friction_rc_track_right_quarter_turn_5; + case TRACK_ELEM_S_BEND_LEFT: + return side_friction_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return side_friction_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return side_friction_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return side_friction_rc_track_right_quarter_turn_3; + case TRACK_ELEM_BRAKES: + return side_friction_rc_track_brakes; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return side_friction_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return side_friction_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return side_friction_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return side_friction_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return side_friction_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return side_friction_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return side_friction_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return side_friction_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return side_friction_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return side_friction_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return side_friction_rc_track_diag_25_deg_down_to_flat; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/stand_up_roller_coaster.c b/src/openrct2/ride/coaster/stand_up_roller_coaster.c index 56fc18860e..e3adcdcff0 100644 --- a/src/openrct2/ride/coaster/stand_up_roller_coaster.c +++ b/src/openrct2/ride/coaster/stand_up_roller_coaster.c @@ -29,5995 +29,5995 @@ /** rct2: 0x008A7114 */ static void stand_up_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25383, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25384, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25453, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25454, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25229, 0, 6, 32, 20, 3, height); - break; - case 1: - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25230, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25383, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25384, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25453, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25454, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25229, 0, 6, 32, 20, 3, height); + break; + case 1: + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25230, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7384, 0x008A7394, 0x008A73A4 */ static void stand_up_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { 25567, 25571, SPR_STATION_BASE_A_SW_NE }, - { 25568, 25572, SPR_STATION_BASE_A_NW_SE }, - { 25567, 25571, SPR_STATION_BASE_A_SW_NE }, - { 25568, 25572, SPR_STATION_BASE_A_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { 25567, 25571, SPR_STATION_BASE_A_SW_NE }, + { 25568, 25572, SPR_STATION_BASE_A_NW_SE }, + { 25567, 25571, SPR_STATION_BASE_A_SW_NE }, + { 25568, 25572, SPR_STATION_BASE_A_NW_SE }, + }; - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 6, 32, 20, 1, height, 0, 6, height + 3); - } else { - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 6, 32, 20, 1, height, 0, 6, height + 3); - } - sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); - track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 6, 32, 20, 1, height, 0, 6, height + 3); + } else { + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 6, 32, 20, 1, height, 0, 6, height + 3); + } + sub_98196C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); + track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7124 */ static void stand_up_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25385, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25397, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25389, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25399, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25231, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25243, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25235, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25245, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25385, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25397, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25389, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25399, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25231, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25243, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25235, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25245, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A7134 */ static void stand_up_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25386, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25398, 0, 6, 1, 10, 75, height, 29, 10, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25390, 0, 6, 1, 10, 75, height, 29, 10, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25400, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25232, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25244, 0, 6, 1, 10, 75, height, 29, 10, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25236, 0, 6, 1, 10, 75, height, 29, 10, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25246, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25386, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25398, 0, 6, 1, 10, 75, height, 29, 10, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25390, 0, 6, 1, 10, 75, height, 29, 10, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25400, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25232, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25244, 0, 6, 1, 10, 75, height, 29, 10, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25236, 0, 6, 1, 10, 75, height, 29, 10, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25246, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A7144 */ static void stand_up_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25387, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25401, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25391, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25403, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25233, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25247, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25237, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25249, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25387, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25401, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25391, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25403, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25233, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25247, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25237, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25249, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A7154 */ static void stand_up_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25388, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25411, 0, 6, 32, 10, 43, height, 0, 10, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25402, 0, 6, 32, 2, 43, height, 0, 4, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25409, 0, 6, 32, 10, 43, height, 0, 10, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25392, 0, 6, 32, 2, 43, height, 0, 4, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25404, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25234, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25277, 0, 6, 32, 10, 43, height, 0, 10, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25248, 0, 6, 32, 2, 43, height, 0, 4, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25275, 0, 6, 32, 10, 43, height, 0, 10, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25238, 0, 6, 32, 2, 43, height, 0, 4, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25250, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25388, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25411, 0, 6, 32, 10, 43, height, 0, 10, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25402, 0, 6, 32, 2, 43, height, 0, 4, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25409, 0, 6, 32, 10, 43, height, 0, 10, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25392, 0, 6, 32, 2, 43, height, 0, 4, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25404, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25234, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25277, 0, 6, 32, 10, 43, height, 0, 10, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25248, 0, 6, 32, 2, 43, height, 0, 4, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25275, 0, 6, 32, 10, 43, height, 0, 10, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25238, 0, 6, 32, 2, 43, height, 0, 4, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25250, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A7164 */ static void stand_up_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25396, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25412, 0, 6, 32, 10, 43, height, 0, 10, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25408, 0, 6, 32, 2, 43, height, 0, 4, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25410, 0, 6, 32, 10, 43, height, 0, 10, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25394, 0, 6, 32, 2, 43, height, 0, 4, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25406, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25242, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25278, 0, 6, 32, 10, 43, height, 0, 10, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25254, 0, 6, 32, 2, 43, height, 0, 4, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25276, 0, 6, 32, 10, 43, height, 0, 10, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25240, 0, 6, 32, 2, 43, height, 0, 4, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25252, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25396, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25412, 0, 6, 32, 10, 43, height, 0, 10, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25408, 0, 6, 32, 2, 43, height, 0, 4, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25410, 0, 6, 32, 10, 43, height, 0, 10, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25394, 0, 6, 32, 2, 43, height, 0, 4, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25406, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25242, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25278, 0, 6, 32, 10, 43, height, 0, 10, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25254, 0, 6, 32, 2, 43, height, 0, 4, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25276, 0, 6, 32, 10, 43, height, 0, 10, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25240, 0, 6, 32, 2, 43, height, 0, 4, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25252, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A7174 */ static void stand_up_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25395, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25407, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25393, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25405, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25241, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25253, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25239, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25251, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25395, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25407, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25393, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25405, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25241, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25253, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25239, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25251, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A7184 */ static void stand_up_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + stand_up_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7194 */ static void stand_up_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + stand_up_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A71A4 */ static void stand_up_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + stand_up_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A71B4 */ static void stand_up_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + stand_up_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A71C4 */ static void stand_up_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + stand_up_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A71D4 */ static void stand_up_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + stand_up_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A71E4 */ static void stand_up_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25264, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25269, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25274, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25259, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25263, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25268, 0, 0, 32, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25273, 0, 16, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25258, 0, 16, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25262, 0, 16, 16, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25267, 16, 16, 16, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25272, 16, 0, 16, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25257, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25261, 16, 0, 16, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25266, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25271, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25256, 16, 0, 16, 32, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25260, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25265, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25270, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25255, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25264, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25269, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25274, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25259, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25263, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25268, 0, 0, 32, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25273, 0, 16, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25258, 0, 16, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25262, 0, 16, 16, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25267, 16, 16, 16, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25272, 16, 0, 16, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25257, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25261, 16, 0, 16, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25266, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25271, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25256, 16, 0, 16, 32, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25260, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25265, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25270, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25255, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A71F4 */ static void stand_up_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - stand_up_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + stand_up_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7204 */ static void stand_up_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25281, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25286, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25280, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25283, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25281, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25286, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25280, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25283, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7214 */ static void stand_up_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25279, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25284, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25282, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25285, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25279, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25284, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25282, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25285, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7224 */ static void stand_up_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25282, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25285, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25279, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25284, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25282, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25285, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25279, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25284, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7234 */ static void stand_up_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25280, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25283, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25281, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25286, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25280, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25283, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25281, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25286, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A7244 */ static void stand_up_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25464, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25475, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25469, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25474, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25459, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25463, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25468, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25473, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25458, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25462, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25467, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25472, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25457, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25461, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25466, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25471, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25456, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25460, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25465, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25470, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25476, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25455, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25464, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25475, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25469, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25474, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25459, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25463, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25468, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25473, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25458, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25462, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25467, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25472, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25457, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25461, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25466, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25471, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25456, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25460, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25465, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25470, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25476, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25455, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7254 */ static void stand_up_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - stand_up_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + stand_up_rc_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7264 */ static void stand_up_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25315, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25316, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25317, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25318, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25315, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25316, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25317, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25318, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A7274 */ static void stand_up_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25319, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25320, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25321, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25322, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25319, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25320, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25321, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25322, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A7284 */ static void stand_up_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25311, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25312, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25313, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25314, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25311, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25312, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25313, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25314, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A7294 */ static void stand_up_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25307, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25308, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25309, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25310, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25307, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25308, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25309, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25310, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A72A4 */ static void stand_up_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + stand_up_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A72B4 */ static void stand_up_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + stand_up_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A72C4 */ static void stand_up_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + stand_up_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A72D4 */ static void stand_up_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + stand_up_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A72E4 */ static void stand_up_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25323, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25324, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25325, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25326, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25323, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25324, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25325, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25326, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A72F4 */ static void stand_up_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + stand_up_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A7304 */ static void stand_up_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25433, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25438, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25443, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25448, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25347, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25352, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25357, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25362, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25434, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25439, 0, 0, 32, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25444, 0, 16, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25449, 0, 16, 32, 16, 3, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25348, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25353, 0, 0, 32, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25358, 0, 16, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25363, 0, 16, 32, 16, 3, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25435, 0, 16, 16, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25440, 16, 16, 16, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25445, 16, 0, 16, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25450, 0, 0, 16, 16, 3, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25349, 0, 16, 16, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25354, 16, 16, 16, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25359, 16, 0, 16, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25364, 0, 0, 16, 16, 3, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25436, 16, 0, 16, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25441, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25446, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25451, 16, 0, 16, 32, 3, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25350, 16, 0, 16, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25355, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25360, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25365, 16, 0, 16, 32, 3, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25437, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25442, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25447, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25452, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25351, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25356, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25361, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25366, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25433, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25438, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25443, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25448, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25347, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25352, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25357, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25362, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25434, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25439, 0, 0, 32, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25444, 0, 16, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25449, 0, 16, 32, 16, 3, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25348, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25353, 0, 0, 32, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25358, 0, 16, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25363, 0, 16, 32, 16, 3, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25435, 0, 16, 16, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25440, 16, 16, 16, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25445, 16, 0, 16, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25450, 0, 0, 16, 16, 3, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25349, 0, 16, 16, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25354, 16, 16, 16, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25359, 16, 0, 16, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25364, 0, 0, 16, 16, 3, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25436, 16, 0, 16, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25441, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25446, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25451, 16, 0, 16, 32, 3, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25350, 16, 0, 16, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25355, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25360, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25365, 16, 0, 16, 32, 3, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25437, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25442, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25447, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25452, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25351, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25356, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25361, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25366, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A7314 */ static void stand_up_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25413, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25418, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25423, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25428, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25327, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25332, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25337, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25342, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25414, 0, 16, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25419, 0, 16, 32, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25424, 0, 0, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25429, 0, 0, 32, 16, 3, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25328, 0, 16, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25333, 0, 16, 32, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25338, 0, 0, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25343, 0, 0, 32, 16, 3, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25415, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25420, 16, 0, 16, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25425, 16, 16, 16, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25430, 0, 16, 16, 16, 3, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25329, 0, 0, 16, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25334, 16, 0, 16, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25339, 16, 16, 16, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25344, 0, 16, 16, 16, 3, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25416, 16, 0, 16, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25421, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25426, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25431, 16, 0, 16, 32, 3, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25330, 16, 0, 16, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25335, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25340, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25345, 16, 0, 16, 32, 3, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25417, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25422, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25427, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25432, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25331, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25336, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25341, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25346, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25413, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25418, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25423, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25428, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25327, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25332, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25337, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25342, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25414, 0, 16, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25419, 0, 16, 32, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25424, 0, 0, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25429, 0, 0, 32, 16, 3, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25328, 0, 16, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25333, 0, 16, 32, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25338, 0, 0, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25343, 0, 0, 32, 16, 3, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25415, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25420, 16, 0, 16, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25425, 16, 16, 16, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25430, 0, 16, 16, 16, 3, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25329, 0, 0, 16, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25334, 16, 0, 16, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25339, 16, 16, 16, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25344, 0, 16, 16, 16, 3, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25416, 16, 0, 16, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25421, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25426, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25431, 16, 0, 16, 32, 3, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25330, 16, 0, 16, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25335, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25340, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25345, 16, 0, 16, 32, 3, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25417, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25422, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25427, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25432, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25331, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25336, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25341, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25346, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A7324 */ static void stand_up_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - stand_up_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + stand_up_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A7334 */ static void stand_up_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - stand_up_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + stand_up_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7344 */ static void stand_up_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25371, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25378, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25374, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25375, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25372, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25377, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25373, 0, 6, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25376, 0, 6, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25373, 0, 6, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25376, 0, 6, 32, 26, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25372, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25377, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25374, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25375, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25371, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25378, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25371, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25378, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25374, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25375, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25372, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25377, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25373, 0, 6, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25376, 0, 6, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25373, 0, 6, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25376, 0, 6, 32, 26, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25372, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25377, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25374, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25375, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25371, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25378, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7354 */ static void stand_up_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25367, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25382, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25370, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25379, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25368, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25381, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25369, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25380, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25369, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25380, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25368, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25381, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25370, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25379, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25367, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25382, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25367, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25382, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25370, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25379, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25368, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25381, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25369, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25380, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25369, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25380, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25368, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25381, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25370, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25379, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25367, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25382, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7364 */ static void stand_up_rc_track_left_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25477, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25485, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25484, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25492, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25478, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25486, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25483, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25491, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25479, 16, 0, 5, 16, 119, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25487, 12, 0, 3, 16, 119, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25482, 10, 16, 4, 16, 119, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25490, 16, 16, 4, 16, 119, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25480, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25488, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25481, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25489, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25481, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25489, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25480, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25488, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25482, 10, 16, 4, 16, 119, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25490, 16, 16, 4, 16, 119, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25479, 16, 0, 5, 16, 119, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25487, 12, 0, 3, 16, 119, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25483, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25491, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25478, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25486, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25484, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25492, 0, 6, 32, 20, 7, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25477, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25485, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25477, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25485, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25484, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25492, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25478, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25486, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25483, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25491, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25479, 16, 0, 5, 16, 119, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25487, 12, 0, 3, 16, 119, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25482, 10, 16, 4, 16, 119, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25490, 16, 16, 4, 16, 119, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25480, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25488, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25481, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25489, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25481, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25489, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25480, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25488, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25482, 10, 16, 4, 16, 119, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25490, 16, 16, 4, 16, 119, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25479, 16, 0, 5, 16, 119, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25487, 12, 0, 3, 16, 119, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25483, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25491, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25478, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25486, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25484, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25492, 0, 6, 32, 20, 7, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25477, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25485, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A7374 */ static void stand_up_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25508, 0, 6, 32, 20, 7, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25500, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25501, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25493, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25507, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25499, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25502, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25494, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25506, 16, 16, 4, 16, 119, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25498, 10, 16, 4, 16, 119, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25503, 12, 0, 3, 16, 119, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25495, 16, 0, 5, 16, 119, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25505, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25497, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25504, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25496, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25504, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25496, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25505, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25497, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25503, 12, 0, 3, 16, 119, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25495, 16, 0, 5, 16, 119, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25506, 16, 16, 4, 16, 119, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25498, 10, 16, 4, 16, 119, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25502, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25494, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25507, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25499, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25501, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25493, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25508, 0, 6, 32, 20, 7, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25500, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25508, 0, 6, 32, 20, 7, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25500, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25501, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25493, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25507, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25499, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25502, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25494, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25506, 16, 16, 4, 16, 119, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25498, 10, 16, 4, 16, 119, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25503, 12, 0, 3, 16, 119, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25495, 16, 0, 5, 16, 119, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25505, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25497, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25504, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25496, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25504, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25496, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25505, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25497, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25503, 12, 0, 3, 16, 119, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25495, 16, 0, 5, 16, 119, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25506, 16, 16, 4, 16, 119, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25498, 10, 16, 4, 16, 119, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25502, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25494, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25507, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25499, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25501, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25493, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25508, 0, 6, 32, 20, 7, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25500, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } - track_paint_util_right_vertical_loop_segments(direction, trackSequence); + track_paint_util_right_vertical_loop_segments(direction, trackSequence); } /** rct2: 0x008A73B4 */ static void stand_up_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25514, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25517, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25520, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25511, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25513, 16, 0, 16, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25516, 0, 0, 16, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25519, 0, 16, 16, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25510, 16, 16, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25512, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25515, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25518, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25509, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25514, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25517, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25520, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25511, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25513, 16, 0, 16, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25516, 0, 0, 16, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25519, 0, 16, 16, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25510, 16, 16, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25512, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25515, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25518, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25509, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A73C4 */ static void stand_up_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - stand_up_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + stand_up_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A73D4 */ static void stand_up_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25526, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25533, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25529, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25532, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25523, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25525, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25528, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25531, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25522, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25524, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25527, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25530, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25534, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25521, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25526, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25533, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25529, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25532, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25523, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25525, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25528, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25531, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25522, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25524, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25527, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25530, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25534, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25521, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A73E4 */ static void stand_up_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - stand_up_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + stand_up_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A73F4 */ static void stand_up_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25562, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25564, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25566, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25560, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25546, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25548, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25550, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25544, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25561, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25563, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25565, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25559, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25545, 6, 0, 20, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25547, 6, 0, 20, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25549, 6, 0, 20, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25543, 6, 0, 20, 32, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25562, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25564, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25566, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25560, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25546, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25548, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25550, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25544, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25561, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25563, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25565, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25559, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25545, 6, 0, 20, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25547, 6, 0, 20, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25549, 6, 0, 20, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25543, 6, 0, 20, 32, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A7404 */ static void stand_up_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25551, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25553, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25555, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25557, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25535, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25537, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25539, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25541, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25552, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25554, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25556, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25558, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25536, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25538, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25540, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25542, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25551, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25553, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25555, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25557, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25535, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25537, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25539, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25541, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25552, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25554, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25556, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25558, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25536, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25538, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25540, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 10, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25542, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A7414 */ static void stand_up_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - stand_up_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + stand_up_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A7424 */ static void stand_up_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - stand_up_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + stand_up_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7434 */ static void stand_up_rc_track_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25575, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25583, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25582, 0, 6, 32, 20, 9, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25590, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25576, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25584, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25581, 0, 6, 32, 2, 3, height, 0, 20, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25589, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25577, 16, 0, 2, 16, 119, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25585, 12, 0, 3, 16, 119, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25580, 10, 16, 4, 12, 119, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25588, 16, 16, 2, 16, 119, height, 15, 6, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25578, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25586, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25579, 0, 16, 32, 12, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25587, 0, 16, 32, 12, 3, height + 32); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25575, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25583, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25582, 0, 6, 32, 20, 9, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25590, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25576, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25584, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 15, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25581, 0, 6, 32, 2, 3, height, 0, 20, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25589, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25577, 16, 0, 2, 16, 119, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25585, 12, 0, 3, 16, 119, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25580, 10, 16, 4, 12, 119, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25588, 16, 16, 2, 16, 119, height, 15, 6, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25578, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25586, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25579, 0, 16, 32, 12, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25587, 0, 16, 32, 12, 3, height + 32); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A7444 */ static void stand_up_rc_track_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_half_loop_up(rideIndex, 3 - trackSequence, direction, height, mapElement); + stand_up_rc_track_half_loop_up(rideIndex, 3 - trackSequence, direction, height, mapElement); } /** rct2: 0x008A7454 */ static void stand_up_rc_track_left_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25591, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25594, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25597, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25600, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25591, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25594, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25597, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25600, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + } - track_paint_util_left_corkscrew_up_supports(direction, height); + track_paint_util_left_corkscrew_up_supports(direction, height); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25592, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25595, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25598, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25601, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25593, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25596, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25599, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25602, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25592, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25595, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25598, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25601, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25593, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25596, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25599, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25602, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A7464 */ static void stand_up_rc_track_right_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25603, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25606, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25609, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25612, 0, 0, 32, 20, 3, height, 0, 6, height + 4); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25604, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25607, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25610, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25613, 0, 0, 20, 20, 3, height, 6, 6, height + 10); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25605, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25608, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25611, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25614, 0, 0, 20, 32, 3, height, 6, 0, height + 24); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25603, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25606, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25609, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25612, 0, 0, 32, 20, 3, height, 0, 6, height + 4); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25604, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25607, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25610, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25613, 0, 0, 20, 20, 3, height, 6, 6, height + 10); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25605, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25608, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25611, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25614, 0, 0, 20, 32, 3, height, 6, 0, height + 24); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 35, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A7474 */ static void stand_up_rc_track_left_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_right_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 1) & 3, height, mapElement); + stand_up_rc_track_right_corkscrew_up(rideIndex, 2 - trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A7484 */ static void stand_up_rc_track_right_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - stand_up_rc_track_left_corkscrew_up(rideIndex, 2 - trackSequence, (direction - 1) & 3, height, mapElement); + stand_up_rc_track_left_corkscrew_up(rideIndex, 2 - trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7734 */ static void stand_up_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25844, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25851, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25847, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25850, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25841, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25843, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25846, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25849, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25840, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25842, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25845, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25848, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25852, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25839, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25841, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25844, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25851, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25847, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25850, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25840, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25843, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25846, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25849, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25839, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25842, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25845, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25848, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25852, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25844, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25851, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25847, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25850, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25841, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25843, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25846, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25849, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25840, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25842, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25845, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25848, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25852, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25839, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25841, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25844, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25851, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25847, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25850, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25840, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25843, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25846, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25849, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25839, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25842, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25845, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25848, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25852, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7744 */ static void stand_up_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25825, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25828, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25831, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25834, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25838, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25826, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25829, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25832, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25835, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25827, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25830, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25837, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25833, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25836, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25828, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25831, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25834, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25838, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25825, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25829, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25832, 0, 0, 16, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25835, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25826, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25830, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25837, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25833, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25836, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25827, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25825, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25828, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25831, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25834, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25838, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25826, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25829, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25832, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25835, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25827, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25830, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25837, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25833, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25836, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25828, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25831, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25834, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25838, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25825, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25829, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25832, 0, 0, 16, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25835, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25826, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25830, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25837, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25833, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25836, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25827, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7754 */ static void stand_up_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - stand_up_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + stand_up_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A7764 */ static void stand_up_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - stand_up_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + stand_up_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A76F4 */ static void stand_up_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25812, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25823, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25817, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25822, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25807, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25811, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25816, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25821, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25806, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25810, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25815, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25820, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25805, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25809, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25814, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25819, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25804, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25808, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25813, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25818, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25824, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25803, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25807, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25812, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25823, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25817, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25822, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25806, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25811, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25816, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25821, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25805, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25810, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25815, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25820, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25804, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25809, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25814, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25819, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25803, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25808, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25813, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25818, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25824, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25812, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25823, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25817, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25822, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25807, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25811, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25816, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25821, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25806, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25810, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25815, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25820, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25805, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25809, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25814, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25819, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25804, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25808, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25813, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25818, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25824, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25803, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25807, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25812, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25823, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25817, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25822, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25806, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25811, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25816, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25821, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25805, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25810, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25815, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25820, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25804, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25809, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25814, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25819, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25803, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25808, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25813, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25818, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25824, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7704 */ static void stand_up_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25781, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25786, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25791, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25796, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25802, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25782, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25787, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25792, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25797, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25783, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25788, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25793, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25798, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25784, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25789, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25794, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25799, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25785, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25790, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25801, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25795, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25800, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25786, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25791, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25796, 0, 0, 20, 32, 3, height, 6, 0, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25802, 0, 0, 1, 32, 26, height, 27, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25781, 0, 0, 20, 32, 3, height, 6, 0, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25787, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25792, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25797, 0, 0, 16, 32, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25782, 0, 0, 16, 32, 3, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25788, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25793, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25798, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25783, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25789, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25794, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25799, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25784, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25790, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25801, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25795, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25800, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25785, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25781, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25786, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25791, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25796, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25802, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25782, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25787, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25792, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25797, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25783, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25788, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25793, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25798, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25784, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25789, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25794, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25799, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25785, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25790, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25801, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25795, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25800, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25786, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25791, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25796, 0, 0, 20, 32, 3, height, 6, 0, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25802, 0, 0, 1, 32, 26, height, 27, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25781, 0, 0, 20, 32, 3, height, 6, 0, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25787, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25792, 0, 0, 16, 32, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25797, 0, 0, 16, 32, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25782, 0, 0, 16, 32, 3, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25788, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25793, 0, 0, 16, 16, 1, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25798, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25783, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25789, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25794, 0, 0, 32, 16, 1, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25799, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25784, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25790, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25801, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25795, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25800, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25785, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7714 */ static void stand_up_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - stand_up_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + stand_up_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A7724 */ static void stand_up_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - stand_up_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + stand_up_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A7494 */ static void stand_up_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25569, 0, 6, 32, 20, 3, height); - break; - case 1: - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25570, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25569, 0, 6, 32, 20, 3, height); + break; + case 1: + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25570, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A74A4 */ static void stand_up_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25229, 0, 6, 32, 20, 1, height, 0, 6, height + 3); - break; - case 1: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25230, 0, 6, 32, 20, 1, height, 0, 6, height + 3); - break; - case 2: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25229, 0, 6, 32, 20, 1, height, 0, 6, height + 3); - break; - case 3: - sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25230, 0, 6, 32, 20, 1, height, 0, 6, height + 3); - break; - } - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25229, 0, 6, 32, 20, 1, height, 0, 6, height + 3); + break; + case 1: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25230, 0, 6, 32, 20, 1, height, 0, 6, height + 3); + break; + case 2: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25229, 0, 6, 32, 20, 1, height, 0, 6, height + 3); + break; + case 3: + sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25230, 0, 6, 32, 20, 1, height, 0, 6, height + 3); + break; + } + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A74B4 */ static void stand_up_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25643, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25647, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25651, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25655, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25644, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25648, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25652, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25656, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25645, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25649, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25653, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25657, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25646, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25650, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25654, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25658, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25643, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25647, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25651, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25655, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25644, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25648, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25652, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25656, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25645, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25649, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25653, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25657, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25646, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25650, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25654, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25658, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A74C4 */ static void stand_up_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25627, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25631, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25635, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25639, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25628, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25632, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25636, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25640, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25629, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25633, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25637, 0, 0, 28, 28, 3, height, 4, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25641, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25630, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25634, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25638, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25642, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25627, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25631, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25635, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25639, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25628, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25632, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25636, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25640, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25629, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25633, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25637, 0, 0, 28, 28, 3, height, 4, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25641, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25630, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25634, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25638, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25642, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A74D4 */ static void stand_up_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - stand_up_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + stand_up_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A74E4 */ static void stand_up_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - stand_up_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + stand_up_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008A76A4 */ static void stand_up_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25675, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25679, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25683, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25687, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25676, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25680, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25684, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25688, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25677, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25681, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25685, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25689, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25678, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25682, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25686, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25690, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25675, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25679, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25683, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25687, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25676, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25680, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25684, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25688, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25677, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25681, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25685, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25689, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25678, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25682, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25686, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25690, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A76B4 */ static void stand_up_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25659, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25663, 0, 0, 32, 20, 3, height, 0, 6, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25667, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25671, 0, 0, 32, 1, 26, height, 0, 27, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25660, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25664, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25668, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25672, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25661, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25665, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25669, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25673, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25662, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25666, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25670, 0, 0, 16, 18, 0, height, 0, 16, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25674, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25659, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25663, 0, 0, 32, 20, 3, height, 0, 6, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25667, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25671, 0, 0, 32, 1, 26, height, 0, 27, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25660, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25664, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25668, 0, 0, 34, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25672, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25661, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25665, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25669, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25673, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25662, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25666, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25670, 0, 0, 16, 18, 0, height, 0, 16, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25674, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A76C4 */ static void stand_up_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - stand_up_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + stand_up_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A76D4 */ static void stand_up_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - stand_up_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + stand_up_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008A74F4 */ static void stand_up_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25756, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25694, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25753, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25691, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25755, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25693, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25754, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25692, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25756, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25694, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25753, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25691, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25755, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25693, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25754, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25692, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7524 */ static void stand_up_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25768, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25706, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25765, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25703, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25767, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25705, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25766, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25704, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25768, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25706, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25765, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25703, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25767, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25705, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25766, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25704, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A7584 */ static void stand_up_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25780, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25718, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25777, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25715, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25779, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25717, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25778, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25716, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25780, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25718, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25777, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25715, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25779, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25717, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25778, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25716, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008A7504 */ static void stand_up_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25760, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25698, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25757, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25695, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25759, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25697, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25758, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25696, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25760, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25698, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25757, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25695, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25759, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25697, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25758, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25696, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A7564 */ static void stand_up_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25772, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25710, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25769, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25707, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25771, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25709, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25770, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25708, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25772, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25710, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25769, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25707, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25771, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25709, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25770, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25708, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A7574 */ static void stand_up_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25776, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25714, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25773, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25711, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25775, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25713, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25774, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25712, -16, -16, 16, 16, 3, height, 0, 0, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25776, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25714, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25773, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25711, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25775, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25713, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25774, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25712, -16, -16, 16, 16, 3, height, 0, 0, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A7514 */ static void stand_up_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25764, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25702, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25761, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25699, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25763, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25701, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25762, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25700, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25764, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25702, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25761, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25699, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25763, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25701, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25762, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25700, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A7554 */ static void stand_up_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25766, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25704, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25767, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25705, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25765, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25703, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25768, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25706, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25766, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25704, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25767, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25705, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25765, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25703, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25768, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25706, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A75B4 */ static void stand_up_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25778, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25716, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25779, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25717, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25777, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25715, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25780, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25718, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25778, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25716, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25779, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25717, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25777, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25715, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25780, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25718, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008A7534 */ static void stand_up_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25762, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25700, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25763, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25701, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25761, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25699, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25764, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25702, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25762, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25700, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25763, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25701, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25761, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25699, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25764, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25702, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A7594 */ static void stand_up_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25774, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25712, -16, -16, 16, 16, 3, height, 0, 0, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25775, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25713, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25773, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25711, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25776, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25714, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25774, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25712, -16, -16, 16, 16, 3, height, 0, 0, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25775, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25713, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25773, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25711, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25776, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25714, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A75A4 */ static void stand_up_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25770, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25708, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25771, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25709, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25769, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25707, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25772, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25710, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25770, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25708, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25771, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25709, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25769, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25707, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25772, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25710, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A7544 */ static void stand_up_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25758, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25696, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25759, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25697, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25757, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25695, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25760, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25698, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25758, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25696, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25759, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25697, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25757, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25695, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25760, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25698, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A75E4 */ static void stand_up_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25726, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25723, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25727, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25725, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25724, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25726, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25723, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25727, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25725, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25724, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A75F4 */ static void stand_up_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25731, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25728, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25730, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25732, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25729, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25731, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25728, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25730, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25732, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25729, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7604 */ static void stand_up_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25729, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25730, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25732, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25728, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25731, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25729, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25730, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25732, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25728, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25731, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7614 */ static void stand_up_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25724, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25725, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25723, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25727, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25726, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25724, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25725, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25723, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25727, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25726, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A7644 */ static void stand_up_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25746, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25743, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25747, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25745, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25744, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25746, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25743, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25747, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25745, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25744, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A7654 */ static void stand_up_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25751, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25748, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25750, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25752, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25749, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25751, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25748, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25750, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25752, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25749, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A7624 */ static void stand_up_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25736, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25733, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25737, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25735, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25734, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25736, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25733, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25737, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25735, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25734, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A7634 */ static void stand_up_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25741, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25738, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25740, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25742, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25739, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25741, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25738, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25740, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25742, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25739, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A7664 */ static void stand_up_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25739, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25740, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25742, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25738, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25741, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25739, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25740, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25742, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25738, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25741, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A7674 */ static void stand_up_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25734, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25735, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16676, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16680, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25736, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25734, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25735, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16676, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16680, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25736, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A7684 */ static void stand_up_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25749, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25750, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25752, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25748, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25751, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25749, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25750, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25752, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25748, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25751, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A7694 */ static void stand_up_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25744, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25745, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25743, -16, -16, 32, 32, 3, height, -16, -16, height); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25747, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25746, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25744, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25745, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25743, -16, -16, 32, 32, 3, height, -16, -16, height); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25747, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25746, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A75C4 */ static void stand_up_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25722, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25719, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25721, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25720, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25722, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25719, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25721, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25720, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A75D4 */ static void stand_up_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25720, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25721, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25719, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25722, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25720, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25721, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25719, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25722, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A76E4 */ static void stand_up_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25571, 0, 6, 32, 20, 3, height); - break; - case 1: - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25572, 0, 6, 32, 20, 3, height); - break; - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25571, 0, 6, 32, 20, 3, height); + break; + case 1: + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25572, 0, 6, 32, 20, 3, height); + break; + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_stand_up_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return stand_up_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return stand_up_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return stand_up_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return stand_up_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return stand_up_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return stand_up_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return stand_up_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return stand_up_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return stand_up_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return stand_up_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return stand_up_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return stand_up_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return stand_up_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return stand_up_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return stand_up_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return stand_up_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return stand_up_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return stand_up_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return stand_up_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return stand_up_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return stand_up_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return stand_up_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return stand_up_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return stand_up_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return stand_up_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return stand_up_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return stand_up_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return stand_up_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return stand_up_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return stand_up_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return stand_up_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return stand_up_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return stand_up_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return stand_up_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return stand_up_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return stand_up_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return stand_up_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return stand_up_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - return stand_up_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - return stand_up_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return stand_up_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return stand_up_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return stand_up_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return stand_up_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return stand_up_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return stand_up_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return stand_up_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return stand_up_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_HALF_LOOP_UP: - return stand_up_rc_track_half_loop_up; - case TRACK_ELEM_HALF_LOOP_DOWN: - return stand_up_rc_track_half_loop_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: - return stand_up_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: - return stand_up_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: - return stand_up_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: - return stand_up_rc_track_right_corkscrew_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return stand_up_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return stand_up_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return stand_up_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return stand_up_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return stand_up_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return stand_up_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return stand_up_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return stand_up_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_BRAKES: - return stand_up_rc_track_brakes; - case TRACK_ELEM_ON_RIDE_PHOTO: - return stand_up_rc_track_on_ride_photo; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return stand_up_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return stand_up_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return stand_up_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return stand_up_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return stand_up_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return stand_up_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return stand_up_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return stand_up_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return stand_up_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return stand_up_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return stand_up_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return stand_up_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return stand_up_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return stand_up_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return stand_up_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return stand_up_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return stand_up_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return stand_up_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return stand_up_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return stand_up_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return stand_up_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return stand_up_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return stand_up_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return stand_up_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return stand_up_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return stand_up_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return stand_up_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return stand_up_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return stand_up_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return stand_up_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return stand_up_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return stand_up_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return stand_up_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return stand_up_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return stand_up_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: - return stand_up_rc_track_block_brakes; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return stand_up_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return stand_up_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return stand_up_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return stand_up_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return stand_up_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return stand_up_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return stand_up_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return stand_up_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return stand_up_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return stand_up_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return stand_up_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return stand_up_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return stand_up_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return stand_up_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return stand_up_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return stand_up_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return stand_up_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return stand_up_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return stand_up_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return stand_up_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return stand_up_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return stand_up_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return stand_up_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return stand_up_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return stand_up_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return stand_up_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return stand_up_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return stand_up_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return stand_up_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return stand_up_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return stand_up_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return stand_up_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return stand_up_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return stand_up_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return stand_up_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return stand_up_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return stand_up_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return stand_up_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + return stand_up_rc_track_left_vertical_loop; + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + return stand_up_rc_track_right_vertical_loop; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return stand_up_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return stand_up_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return stand_up_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return stand_up_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return stand_up_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return stand_up_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return stand_up_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return stand_up_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_HALF_LOOP_UP: + return stand_up_rc_track_half_loop_up; + case TRACK_ELEM_HALF_LOOP_DOWN: + return stand_up_rc_track_half_loop_down; + case TRACK_ELEM_LEFT_CORKSCREW_UP: + return stand_up_rc_track_left_corkscrew_up; + case TRACK_ELEM_RIGHT_CORKSCREW_UP: + return stand_up_rc_track_right_corkscrew_up; + case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + return stand_up_rc_track_left_corkscrew_down; + case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + return stand_up_rc_track_right_corkscrew_down; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return stand_up_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return stand_up_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return stand_up_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return stand_up_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return stand_up_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return stand_up_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return stand_up_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return stand_up_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_BRAKES: + return stand_up_rc_track_brakes; + case TRACK_ELEM_ON_RIDE_PHOTO: + return stand_up_rc_track_on_ride_photo; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return stand_up_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return stand_up_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return stand_up_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return stand_up_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return stand_up_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return stand_up_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return stand_up_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return stand_up_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return stand_up_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return stand_up_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return stand_up_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return stand_up_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return stand_up_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return stand_up_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return stand_up_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return stand_up_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return stand_up_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return stand_up_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return stand_up_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return stand_up_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return stand_up_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return stand_up_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return stand_up_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return stand_up_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return stand_up_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return stand_up_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return stand_up_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return stand_up_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return stand_up_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return stand_up_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return stand_up_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return stand_up_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return stand_up_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return stand_up_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return stand_up_rc_track_diag_right_bank; + case TRACK_ELEM_BLOCK_BRAKES: + return stand_up_rc_track_block_brakes; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/steeplechase.c b/src/openrct2/ride/coaster/steeplechase.c index 0a4c71c75f..95b076b8b0 100644 --- a/src/openrct2/ride/coaster/steeplechase.c +++ b/src/openrct2/ride/coaster/steeplechase.c @@ -29,1614 +29,1614 @@ /** rct2: 0x008A59A8 */ static void steeplechase_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28635, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28636, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28633, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28634, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28635, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28636, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28633, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28634, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void steeplechase_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { 28635, SPR_STATION_BASE_B_SW_NE }, - { 28636, SPR_STATION_BASE_B_NW_SE }, - { 28635, SPR_STATION_BASE_B_SW_NE }, - { 28636, SPR_STATION_BASE_B_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { 28635, SPR_STATION_BASE_B_SW_NE }, + { 28636, SPR_STATION_BASE_B_NW_SE }, + { 28635, SPR_STATION_BASE_B_SW_NE }, + { 28636, SPR_STATION_BASE_B_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 3, height - 2, 0, 2, height); - sub_98199C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 6, 32, 20, 3, height, 0, 0, height); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 3); - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 3, height - 2, 0, 2, height); + sub_98199C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 6, 32, 20, 3, height, 0, 0, height); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 3); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A59B8 */ static void steeplechase_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28649, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28655, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28651, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28656, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28637, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28643, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28639, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28644, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28649, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28655, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28651, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28656, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28637, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28643, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28639, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28644, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A59C8 */ static void steeplechase_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28650, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28657, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28652, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28658, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28638, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28645, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28640, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28646, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28650, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28657, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28652, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28658, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28638, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28645, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28640, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28646, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A59D8 */ static void steeplechase_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28654, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28660, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28653, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28659, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28642, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28648, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28641, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28647, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28654, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28660, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28653, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28659, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28642, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28648, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28641, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28647, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 5, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A59E8 */ static void steeplechase_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - steeplechase_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + steeplechase_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A59F8 */ static void steeplechase_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - steeplechase_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + steeplechase_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A5A08 */ static void steeplechase_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - steeplechase_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + steeplechase_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A5A18 */ static void steeplechase_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28698, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28703, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28708, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height - 3, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28693, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height - 1, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28697, 0, 0, 32, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28702, 0, 0, 32, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28707, 0, 16, 32, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28692, 0, 16, 32, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28696, 0, 16, 16, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28701, 16, 16, 16, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28706, 16, 0, 16, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28691, 0, 0, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28695, 16, 0, 16, 32, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28700, 0, 0, 16, 32, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28705, 0, 0, 16, 32, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28690, 16, 0, 16, 32, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28694, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height - 3, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28699, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28704, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28689, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28698, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28703, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28708, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height - 3, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28693, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height - 1, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28697, 0, 0, 32, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28702, 0, 0, 32, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28707, 0, 16, 32, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28692, 0, 16, 32, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28696, 0, 16, 16, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28701, 16, 16, 16, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28706, 16, 0, 16, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28691, 0, 0, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28695, 16, 0, 16, 32, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28700, 0, 0, 16, 32, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28705, 0, 0, 16, 32, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28690, 16, 0, 16, 32, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28694, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height - 3, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28699, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28704, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28689, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A5A28 */ static void steeplechase_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - steeplechase_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + steeplechase_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A5A38 */ static void steeplechase_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28665, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28672, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28668, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28669, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28666, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28671, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28667, 0, 6, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28670, 0, 6, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28667, 0, 6, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28670, 0, 6, 32, 26, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28666, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28671, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28668, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28669, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28665, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28672, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28665, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28672, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28668, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28669, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28666, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28671, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28667, 0, 6, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28670, 0, 6, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28667, 0, 6, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28670, 0, 6, 32, 26, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28666, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28671, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28668, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28669, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28665, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28672, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A5A48 */ static void steeplechase_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28661, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28676, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28664, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28673, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28662, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 8, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28675, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28663, 0, 0, 32, 26, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28674, 0, 0, 32, 26, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28663, 0, 0, 32, 26, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28674, 0, 0, 32, 26, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28662, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 8, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28675, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28664, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28673, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28661, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28676, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28661, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28676, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28664, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28673, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28662, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 8, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28675, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28663, 0, 0, 32, 26, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28674, 0, 0, 32, 26, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28663, 0, 0, 32, 26, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28674, 0, 0, 32, 26, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28662, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 8, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28675, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28664, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28673, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28661, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28676, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A5A88 */ static void steeplechase_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28682, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28685, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28688, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28679, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height - 3, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28681, 16, 0, 16, 16, 3, height); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28684, 0, 0, 16, 16, 3, height); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28687, 0, 16, 16, 16, 3, height); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28678, 16, 16, 16, 16, 3, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28680, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28683, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28686, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28677, 6, 0, 20, 32, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height - 3, gTrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28682, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28685, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28688, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28679, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height - 3, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28681, 16, 0, 16, 16, 3, height); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28684, 0, 0, 16, 16, 3, height); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28687, 0, 16, 16, 16, 3, height); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28678, 16, 16, 16, 16, 3, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28680, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28683, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28686, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28677, 6, 0, 20, 32, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height - 3, gTrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A5A98 */ static void steeplechase_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - steeplechase_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + steeplechase_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A5AA8 */ static void steeplechase_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28635, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28636, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28635, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28636, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A5AD8 */ static void steeplechase_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28725, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28729, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28733, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28737, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28726, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28730, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28734, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28738, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28727, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28731, 0, 0, 16, 16, 3, height, 16, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28735, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28739, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28728, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28732, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28736, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28740, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28725, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28729, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28733, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28737, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28726, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28730, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28734, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28738, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28727, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28731, 0, 0, 16, 16, 3, height, 16, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28735, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28739, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28728, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28732, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28736, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28740, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A5AE8 */ static void steeplechase_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28709, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28713, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28717, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28721, 0, 0, 32, 20, 3, height, 0, 6, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28710, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28714, 0, 0, 32, 16, 3, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28718, 0, 0, 34, 16, 3, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28722, 0, 0, 32, 16, 3, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28711, 0, 0, 16, 16, 3, height, 0, 0, height); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28715, 0, 0, 16, 16, 3, height, 16, 0, height); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28719, 0, 0, 28, 28, 3, height, 4, 4, height); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28723, 0, 0, 16, 16, 3, height, 0, 16, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28712, 0, 0, 16, 16, 3, height, 16, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28716, 0, 0, 16, 16, 3, height, 0, 0, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28720, 0, 0, 16, 18, 3, height, 0, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28724, 0, 0, 16, 16, 3, height, 16, 16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28709, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28713, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28717, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28721, 0, 0, 32, 20, 3, height, 0, 6, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28710, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28714, 0, 0, 32, 16, 3, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28718, 0, 0, 34, 16, 3, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28722, 0, 0, 32, 16, 3, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28711, 0, 0, 16, 16, 3, height, 0, 0, height); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28715, 0, 0, 16, 16, 3, height, 16, 0, height); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28719, 0, 0, 28, 28, 3, height, 4, 4, height); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28723, 0, 0, 16, 16, 3, height, 0, 16, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28712, 0, 0, 16, 16, 3, height, 16, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28716, 0, 0, 16, 16, 3, height, 0, 0, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28720, 0, 0, 16, 18, 3, height, 0, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28724, 0, 0, 16, 16, 3, height, 16, 16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A5AF8 */ static void steeplechase_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - steeplechase_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + steeplechase_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A5B08 */ static void steeplechase_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - steeplechase_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + steeplechase_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008A5AC8 */ static void steeplechase_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28760, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28744, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28757, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28741, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28759, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28743, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28758, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28742, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28760, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28744, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28757, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28741, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28759, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28743, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28758, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28742, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008A5B38 */ static void steeplechase_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28772, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28756, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28769, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28753, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28771, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28755, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28770, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28754, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28772, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28756, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28769, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28753, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28771, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28755, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28770, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28754, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A5B18 */ static void steeplechase_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28764, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28748, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28761, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28745, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28763, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28747, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28762, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28746, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28764, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28748, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28761, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28745, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28763, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28747, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28762, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28746, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A5B28 */ static void steeplechase_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28768, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28752, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28765, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28749, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28767, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28751, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28766, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28750, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28768, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28752, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28765, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28749, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28767, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28751, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28766, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28750, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A5B68 */ static void steeplechase_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28770, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28754, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28771, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28755, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28769, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28753, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28772, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28756, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28770, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28754, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28771, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28755, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28769, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28753, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28772, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28756, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 6, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008A5B48 */ static void steeplechase_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28766, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28750, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28767, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28751, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28765, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28749, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28768, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28752, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28766, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28750, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28767, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28751, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28765, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28749, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28768, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28752, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A5B58 */ static void steeplechase_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28762, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28746, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28763, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28747, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28761, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28745, -16, -16, 32, 32, 3, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28764, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } else { - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28748, -16, -16, 32, 32, 3, height, -16, -16, height); - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28762, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28746, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28763, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28747, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28761, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28745, -16, -16, 32, 32, 3, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28764, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } else { + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28748, -16, -16, 32, 32, 3, height, -16, -16, height); + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A5AB8 */ static void steeplechase_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28635, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28636, 0, 6, 32, 20, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + switch (direction) { + case 0: + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28635, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 28636, 0, 6, 32, 20, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_steeplechase(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return steeplechase_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return steeplechase_track_station; - case TRACK_ELEM_25_DEG_UP: - return steeplechase_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return steeplechase_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return steeplechase_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return steeplechase_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return steeplechase_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return steeplechase_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return steeplechase_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return steeplechase_track_right_quarter_turn_5; - case TRACK_ELEM_S_BEND_LEFT: - return steeplechase_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return steeplechase_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return steeplechase_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return steeplechase_track_right_quarter_turn_3; - case TRACK_ELEM_BRAKES: - return steeplechase_track_brakes; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return steeplechase_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return steeplechase_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return steeplechase_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return steeplechase_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return steeplechase_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return steeplechase_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return steeplechase_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return steeplechase_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return steeplechase_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return steeplechase_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return steeplechase_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_BLOCK_BRAKES: - return steeplechase_track_block_brakes; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return steeplechase_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return steeplechase_track_station; + case TRACK_ELEM_25_DEG_UP: + return steeplechase_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return steeplechase_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return steeplechase_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return steeplechase_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return steeplechase_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return steeplechase_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return steeplechase_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return steeplechase_track_right_quarter_turn_5; + case TRACK_ELEM_S_BEND_LEFT: + return steeplechase_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return steeplechase_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return steeplechase_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return steeplechase_track_right_quarter_turn_3; + case TRACK_ELEM_BRAKES: + return steeplechase_track_brakes; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return steeplechase_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return steeplechase_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return steeplechase_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return steeplechase_track_right_eighth_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return steeplechase_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return steeplechase_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return steeplechase_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return steeplechase_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return steeplechase_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return steeplechase_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return steeplechase_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_BLOCK_BRAKES: + return steeplechase_track_block_brakes; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/suspended_swinging_coaster.c b/src/openrct2/ride/coaster/suspended_swinging_coaster.c index d3b5474537..18c4de471f 100644 --- a/src/openrct2/ride/coaster/suspended_swinging_coaster.c +++ b/src/openrct2/ride/coaster/suspended_swinging_coaster.c @@ -29,3073 +29,3073 @@ /** rct2: 0x008A8958 */ static void suspended_swinging_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25963, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25964, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } - } else { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25961, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25962, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25963, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25964, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } + } else { + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25961, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25962, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A8AA8, 0x008A8AB8, 0x008A8AC8 */ static void suspended_swinging_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { SPR_STATION_BASE_C_SW_NE, 25963, SPR_STATION_INVERTED_BAR_D_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 25964, SPR_STATION_INVERTED_BAR_D_NW_SE }, - { SPR_STATION_BASE_C_SW_NE, 25963, SPR_STATION_INVERTED_BAR_D_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 25964, SPR_STATION_INVERTED_BAR_D_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { SPR_STATION_BASE_C_SW_NE, 25963, SPR_STATION_INVERTED_BAR_D_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 25964, SPR_STATION_INVERTED_BAR_D_NW_SE }, + { SPR_STATION_BASE_C_SW_NE, 25963, SPR_STATION_INVERTED_BAR_D_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 25964, SPR_STATION_INVERTED_BAR_D_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 3, height + 29, 0, 6, height + 29); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); - track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_TALL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 3, height + 29, 0, 6, height + 29); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 0); + track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_TALL); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A8968 */ static void suspended_swinging_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26001, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26002, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26003, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26004, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25973, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25974, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25975, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25976, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26001, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26002, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26003, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26004, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25973, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25974, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25975, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25976, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 45); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height + 62, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_5); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A8978 */ static void suspended_swinging_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25989, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25990, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25991, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25992, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_5); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25989, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25990, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25991, 0, 0, 32, 2, 81, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25992, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 93); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_5); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); } /** rct2: 0x008A8988 */ static void suspended_swinging_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25993, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25994, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25995, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25996, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25965, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25966, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25967, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25968, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25993, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25994, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25995, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25996, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25965, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25966, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25967, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25968, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_5); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008A8998 */ static void suspended_swinging_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25977, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25981, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25978, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25982, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25979, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25980, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25977, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25981, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25978, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25982, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25979, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25980, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); } /** rct2: 0x008A89A8 */ static void suspended_swinging_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25983, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25987, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26090, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25988, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25985, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25986, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25983, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25987, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25984, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25988, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25985, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25986, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25983, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25987, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26090, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25988, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25985, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25986, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25983, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25987, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25984, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25988, 0, 0, 32, 10, 49, height + 29, 0, 10, height + 11); + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25985, 0, 0, 32, 2, 49, height + 29, 0, 4, height + 11); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25986, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 61); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height + 76, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); - } - paint_util_set_general_support_height(height + 88, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_5); + } + paint_util_set_general_support_height(height + 88, 0x20); } /** rct2: 0x008A89B8 */ static void suspended_swinging_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25997, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25998, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25999, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26000, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25969, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25970, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25971, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25972, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); - break; - } - } + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25997, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25998, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25999, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26000, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25969, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25970, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25971, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25972, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_3); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_13); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A89C8 */ static void suspended_swinging_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - suspended_swinging_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + suspended_swinging_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A89D8 */ static void suspended_swinging_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - suspended_swinging_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + suspended_swinging_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A89E8 */ static void suspended_swinging_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - suspended_swinging_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + suspended_swinging_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A89F8 */ static void suspended_swinging_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - suspended_swinging_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + suspended_swinging_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A8A08 */ static void suspended_swinging_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - suspended_swinging_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + suspended_swinging_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A8A18 */ static void suspended_swinging_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - suspended_swinging_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + suspended_swinging_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A8A28 */ static void suspended_swinging_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26014, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26019, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26024, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26009, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26014, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26019, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26024, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26009, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26013, 0, 0, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26018, 0, 0, 32, 16, 3, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26023, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26008, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26012, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26017, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26022, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26007, 0, 0, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26011, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26016, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26021, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26006, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26010, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26015, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26020, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26005, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26013, 0, 0, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26018, 0, 0, 32, 16, 3, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26023, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26008, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26012, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26017, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26022, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26007, 0, 0, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26011, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26016, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26021, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26006, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26010, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26015, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26020, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26005, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8A38 */ static void suspended_swinging_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - suspended_swinging_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + suspended_swinging_rc_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A8A48 */ static void suspended_swinging_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26097, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26102, 0, 6, 32, 20, 11, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26107, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26112, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26097, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26102, 0, 6, 32, 20, 11, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26107, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26112, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26098, 0, 0, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26103, 0, 0, 32, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26108, 0, 16, 32, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26113, 0, 16, 32, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26099, 0, 16, 16, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26104, 16, 16, 16, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26109, 16, 0, 16, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26114, 0, 0, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26100, 16, 0, 16, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26105, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26110, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26115, 16, 0, 16, 32, 3, height + 29, 16, 0, height + 37); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26101, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26106, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26111, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26116, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26098, 0, 0, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26103, 0, 0, 32, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26108, 0, 16, 32, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26113, 0, 16, 32, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26099, 0, 16, 16, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26104, 16, 16, 16, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26109, 16, 0, 16, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26114, 0, 0, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26100, 16, 0, 16, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26105, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26110, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26115, 16, 0, 16, 32, 3, height + 29, 16, 0, height + 37); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26101, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26106, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26111, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26116, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A8A58 */ static void suspended_swinging_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26077, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26082, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26087, 0, 6, 32, 20, 11, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26092, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26077, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26082, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26087, 0, 6, 32, 20, 11, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26092, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26078, 0, 16, 32, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26083, 0, 16, 32, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26088, 0, 0, 32, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26093, 0, 0, 32, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26079, 0, 0, 16, 16, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26084, 16, 0, 16, 16, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26089, 16, 16, 16, 16, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26094, 0, 16, 16, 16, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 80, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26080, 16, 0, 16, 32, 3, height + 29, 16, 0, height + 37); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26085, 0, 0, 16, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26090, 0, 0, 16, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26095, 16, 0, 16, 32, 3, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26081, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26086, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26091, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26096, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26078, 0, 16, 32, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26083, 0, 16, 32, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26088, 0, 0, 32, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26093, 0, 0, 32, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26079, 0, 0, 16, 16, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26084, 16, 0, 16, 16, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26089, 16, 16, 16, 16, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26094, 0, 16, 16, 16, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 80, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26080, 16, 0, 16, 32, 3, height + 29, 16, 0, height + 37); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26085, 0, 0, 16, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26090, 0, 0, 16, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26095, 16, 0, 16, 32, 3, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26081, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26086, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26091, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26096, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A8A68 */ static void suspended_swinging_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - suspended_swinging_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + suspended_swinging_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A8A78 */ static void suspended_swinging_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - suspended_swinging_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + suspended_swinging_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A8A88 */ static void suspended_swinging_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26139, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26146, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26142, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26143, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26139, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26146, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26142, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26143, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26140, 0, 0, 32, 26, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26145, 0, 0, 32, 26, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26141, 0, 6, 32, 26, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26144, 0, 6, 32, 26, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26140, 0, 0, 32, 26, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26145, 0, 0, 32, 26, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26141, 0, 6, 32, 26, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26144, 0, 6, 32, 26, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26141, 0, 6, 32, 26, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26144, 0, 6, 32, 26, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26140, 0, 0, 32, 26, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26145, 0, 0, 32, 26, 3, height + 29); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26141, 0, 6, 32, 26, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26144, 0, 6, 32, 26, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26140, 0, 0, 32, 26, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26145, 0, 0, 32, 26, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26142, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26143, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26139, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26146, 0, 6, 32, 20, 3, height + 29); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26142, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26143, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26139, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26146, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8A98 */ static void suspended_swinging_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26135, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26150, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26138, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26147, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26135, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26150, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26138, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26147, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26136, 0, 6, 32, 26, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26149, 0, 6, 32, 26, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26137, 0, 0, 32, 26, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26148, 0, 0, 32, 26, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26136, 0, 6, 32, 26, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26149, 0, 6, 32, 26, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26137, 0, 0, 32, 26, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26148, 0, 0, 32, 26, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26137, 0, 0, 32, 26, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26148, 0, 0, 32, 26, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26136, 0, 6, 32, 26, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26149, 0, 6, 32, 26, 3, height + 29); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26137, 0, 0, 32, 26, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26148, 0, 0, 32, 26, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26136, 0, 6, 32, 26, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26149, 0, 6, 32, 26, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26138, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26147, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26135, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26150, 0, 6, 32, 20, 3, height + 29); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26138, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26147, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26135, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26150, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8AD8 */ static void suspended_swinging_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26070, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26073, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26076, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26067, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26070, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26073, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26076, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26067, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26069, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26072, 0, 0, 16, 16, 3, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26075, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26066, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26068, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26071, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26074, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26065, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26069, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26072, 0, 0, 16, 16, 3, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26075, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26066, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26068, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26071, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26074, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26065, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8AE8 */ static void suspended_swinging_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - suspended_swinging_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + suspended_swinging_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A8AF8 */ static void suspended_swinging_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26130, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26132, 0, 6, 32, 20, 11, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26134, 0, 6, 32, 20, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26128, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26130, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26132, 0, 6, 32, 20, 11, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26134, 0, 6, 32, 20, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26128, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26129, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26131, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26133, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26127, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26129, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26131, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26133, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26127, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A8B08 */ static void suspended_swinging_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26119, 0, 6, 32, 20, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26121, 0, 6, 32, 20, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26123, 0, 6, 32, 20, 11, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26125, 0, 6, 32, 20, 3, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26119, 0, 6, 32, 20, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26121, 0, 6, 32, 20, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26123, 0, 6, 32, 20, 11, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26125, 0, 6, 32, 20, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26120, 6, 0, 20, 32, 3, height + 29); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26122, 6, 0, 20, 32, 3, height + 29); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26124, 6, 0, 20, 32, 3, height + 29); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26126, 6, 0, 20, 32, 3, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_4); + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26120, 6, 0, 20, 32, 3, height + 29); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26122, 6, 0, 20, 32, 3, height + 29); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26124, 6, 0, 20, 32, 3, height + 29); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26126, 6, 0, 20, 32, 3, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_5); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_5); - break; - } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_5); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_5); + break; + } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A8B18 */ static void suspended_swinging_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - suspended_swinging_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + suspended_swinging_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008A8B28 */ static void suspended_swinging_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - suspended_swinging_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + suspended_swinging_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A8B38 */ static void suspended_swinging_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26117, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26118, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26117, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26118, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A8B48 */ static void suspended_swinging_rc_track_left_quarter_helix_large_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26054, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26059, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26064, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26049, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26054, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26059, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26064, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26049, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26053, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26058, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26063, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26048, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26052, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26057, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26062, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26047, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26051, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26056, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26061, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26046, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26050, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26055, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26060, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26045, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26053, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26058, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26063, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26048, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26052, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26057, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26062, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26047, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26051, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26056, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26061, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26046, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26050, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26055, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26060, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26045, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 16, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height + 16, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 16, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height + 16, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8B58 */ static void suspended_swinging_rc_track_right_quarter_helix_large_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26025, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26030, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26035, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26040, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26025, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26030, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26035, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26040, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 35); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26026, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26031, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26036, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26041, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26027, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26032, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26037, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26042, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26028, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26033, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26038, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26043, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26029, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26034, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26039, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26044, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26026, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26031, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26036, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26041, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26027, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26032, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26037, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26042, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26028, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26033, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26038, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26043, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26029, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26034, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26039, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26044, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 43); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 16, TUNNEL_3); - break; - case 1: - paint_util_push_tunnel_left(height + 16, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 16, TUNNEL_3); + break; + case 1: + paint_util_push_tunnel_left(height + 16, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8B68 */ static void suspended_swinging_rc_track_left_quarter_helix_large_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26034, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26039, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26044, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26029, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26034, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26039, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26044, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26029, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26033, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26038, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26043, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26028, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26032, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26037, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26042, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26027, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26031, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26036, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26041, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26026, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26030, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26035, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26040, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26025, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26033, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26038, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26043, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26028, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26032, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26037, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26042, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26027, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26031, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26036, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26041, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26026, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26030, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26035, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26040, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26025, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8B78 */ static void suspended_swinging_rc_track_right_quarter_helix_large_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26045, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26050, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26055, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26060, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26045, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26050, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26055, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26060, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 43); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26046, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26051, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26056, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26061, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26047, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26052, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26057, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26062, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26048, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26053, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26058, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26063, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26049, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26054, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26059, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26064, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26046, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26051, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26056, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26061, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26047, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26052, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26057, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26062, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26048, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26053, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26058, 0, 0, 16, 32, 3, height + 29, 0, 0, height + 43); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26063, 0, 0, 16, 32, 3, height + 29, 16, 0, height + 43); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26049, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26054, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26059, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26064, 0, 0, 20, 32, 3, height + 29, 6, 0, height + 35); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_3); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_3); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_3); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_3); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8B88 */ static void suspended_swinging_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26167, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26171, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26175, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26179, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26167, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26171, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26175, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26179, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26168, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26172, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26176, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26180, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26169, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26173, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26177, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26181, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26170, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26174, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26178, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26182, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26168, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26172, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26176, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26180, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26169, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26173, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26177, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26181, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26170, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26174, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26178, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26182, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8B98 */ static void suspended_swinging_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26151, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26155, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26159, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26163, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26151, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26155, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26159, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26163, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26152, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26156, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26160, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26164, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26153, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26157, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26161, 0, 0, 28, 28, 3, height + 29, 4, 4, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26165, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26154, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26158, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26162, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26166, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26152, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26156, 0, 0, 32, 16, 3, height + 29, 0, 16, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26160, 0, 0, 34, 16, 3, height + 29, 0, 0, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26164, 0, 0, 32, 16, 3, height + 29, 0, 0, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26153, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26157, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26161, 0, 0, 28, 28, 3, height + 29, 4, 4, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26165, 0, 0, 16, 16, 3, height + 29, 0, 16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26154, 0, 0, 16, 16, 3, height + 29, 16, 0, height + 29); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26158, 0, 0, 16, 16, 3, height + 29, 0, 0, height + 29); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26162, 0, 0, 16, 18, 3, height + 29, 0, 16, height + 29); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26166, 0, 0, 16, 16, 3, height + 29, 16, 16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8BA8 */ static void suspended_swinging_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - suspended_swinging_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + suspended_swinging_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A8BB8 */ static void suspended_swinging_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - suspended_swinging_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + suspended_swinging_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008A8BC8 */ static void suspended_swinging_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26214, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26186, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26211, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26183, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26213, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26185, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26212, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26184, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26214, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26186, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26211, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26183, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26213, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26185, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26212, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26184, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008A8BF8 */ static void suspended_swinging_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26226, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26198, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26223, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26195, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26225, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26197, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26224, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26196, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26226, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26198, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26223, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26195, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26225, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26197, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26224, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26196, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A8C58 */ static void suspended_swinging_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26210, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26207, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26209, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26208, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26210, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26207, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26209, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26208, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 32, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 32, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 32, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 36, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 32, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 36, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 120, 0x20); - break; - } + paint_util_set_general_support_height(height + 120, 0x20); + break; + } } /** rct2: 0x008A8BD8 */ static void suspended_swinging_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26218, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26190, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26215, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26187, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26217, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26189, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26216, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26188, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26218, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26190, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26215, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26187, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26217, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26189, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26216, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26188, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008A8C38 */ static void suspended_swinging_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26202, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26199, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26201, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26200, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26202, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26199, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26201, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26200, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 16, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A8C48 */ static void suspended_swinging_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26206, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26203, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26205, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26204, -16, -16, 16, 16, 3, height + 29, 0, 0, height + 61); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26206, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26203, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26205, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26204, -16, -16, 16, 16, 3, height + 29, 0, 0, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 21, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A8BE8 */ static void suspended_swinging_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26222, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26194, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26219, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26191, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26221, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26193, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26220, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26192, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26222, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26194, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26219, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26191, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26221, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26193, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26220, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26192, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A8C28 */ static void suspended_swinging_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26224, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26196, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26225, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26197, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26223, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26195, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26226, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26198, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26224, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26196, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26225, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26197, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26223, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26195, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26226, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26198, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 45); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 56, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008A8C88 */ static void suspended_swinging_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26208, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26209, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26207, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26210, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 120, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26208, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 29); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26209, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26207, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26210, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 93); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 120, 0x20); + break; + } } /** rct2: 0x008A8C08 */ static void suspended_swinging_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26220, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26192, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26221, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26193, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26219, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26191, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26222, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26194, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26220, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26192, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26221, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26193, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26219, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26191, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26222, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26194, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A8C68 */ static void suspended_swinging_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26204, -16, -16, 16, 16, 3, height + 29, 0, 0, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26205, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26203, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26206, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26204, -16, -16, 16, 16, 3, height + 29, 0, 0, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26205, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26203, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26206, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 17, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A8C78 */ static void suspended_swinging_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26200, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26201, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26199, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 88, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26202, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26200, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26201, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26199, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 88, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26202, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 61); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_b_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 8, height + 44, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 88, 0x20); - break; - } + paint_util_set_general_support_height(height + 88, 0x20); + break; + } } /** rct2: 0x008A8C18 */ static void suspended_swinging_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26216, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26188, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26217, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26189, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26215, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26187, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26218, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26190, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); - break; - } - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26216, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26188, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26217, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26189, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26215, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26187, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26218, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26190, -16, -16, 32, 32, 3, height + 29, -16, -16, height + 37); + break; + } + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008A8B38 */ static void suspended_swinging_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26117, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26118, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); - break; - } + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26117, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26118, 0, 0, 32, 20, 3, height + 29, 0, 6, height + 29); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height + 44, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_3); + paint_util_set_general_support_height(height + 48, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_suspended_swinging_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return suspended_swinging_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return suspended_swinging_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return suspended_swinging_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return suspended_swinging_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return suspended_swinging_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return suspended_swinging_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return suspended_swinging_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return suspended_swinging_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return suspended_swinging_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return suspended_swinging_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return suspended_swinging_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return suspended_swinging_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return suspended_swinging_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return suspended_swinging_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return suspended_swinging_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return suspended_swinging_rc_track_right_quarter_turn_5; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return suspended_swinging_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return suspended_swinging_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return suspended_swinging_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return suspended_swinging_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return suspended_swinging_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return suspended_swinging_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return suspended_swinging_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return suspended_swinging_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return suspended_swinging_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return suspended_swinging_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return suspended_swinging_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return suspended_swinging_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_BRAKES: - return suspended_swinging_rc_track_brakes; - case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP: - return suspended_swinging_rc_track_left_quarter_helix_large_up; - case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP: - return suspended_swinging_rc_track_right_quarter_helix_large_up; - case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN: - return suspended_swinging_rc_track_left_quarter_helix_large_down; - case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN: - return suspended_swinging_rc_track_right_quarter_helix_large_down; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return suspended_swinging_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return suspended_swinging_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return suspended_swinging_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return suspended_swinging_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return suspended_swinging_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return suspended_swinging_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return suspended_swinging_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return suspended_swinging_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return suspended_swinging_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return suspended_swinging_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return suspended_swinging_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return suspended_swinging_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return suspended_swinging_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return suspended_swinging_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return suspended_swinging_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return suspended_swinging_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return suspended_swinging_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_BLOCK_BRAKES: - return suspended_swinging_rc_track_block_brakes; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return suspended_swinging_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return suspended_swinging_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return suspended_swinging_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return suspended_swinging_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return suspended_swinging_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return suspended_swinging_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return suspended_swinging_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return suspended_swinging_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return suspended_swinging_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return suspended_swinging_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return suspended_swinging_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return suspended_swinging_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return suspended_swinging_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return suspended_swinging_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return suspended_swinging_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return suspended_swinging_rc_track_right_quarter_turn_5; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return suspended_swinging_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return suspended_swinging_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return suspended_swinging_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return suspended_swinging_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return suspended_swinging_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return suspended_swinging_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return suspended_swinging_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return suspended_swinging_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return suspended_swinging_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return suspended_swinging_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return suspended_swinging_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return suspended_swinging_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_BRAKES: + return suspended_swinging_rc_track_brakes; + case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP: + return suspended_swinging_rc_track_left_quarter_helix_large_up; + case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP: + return suspended_swinging_rc_track_right_quarter_helix_large_up; + case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN: + return suspended_swinging_rc_track_left_quarter_helix_large_down; + case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN: + return suspended_swinging_rc_track_right_quarter_helix_large_down; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return suspended_swinging_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return suspended_swinging_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return suspended_swinging_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return suspended_swinging_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return suspended_swinging_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return suspended_swinging_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return suspended_swinging_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return suspended_swinging_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return suspended_swinging_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return suspended_swinging_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return suspended_swinging_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return suspended_swinging_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return suspended_swinging_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return suspended_swinging_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return suspended_swinging_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return suspended_swinging_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return suspended_swinging_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_BLOCK_BRAKES: + return suspended_swinging_rc_track_block_brakes; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/twister_roller_coaster.c b/src/openrct2/ride/coaster/twister_roller_coaster.c index f8290813dd..381c77212f 100644 --- a/src/openrct2/ride/coaster/twister_roller_coaster.c +++ b/src/openrct2/ride/coaster/twister_roller_coaster.c @@ -31,1436 +31,1436 @@ /** rct2: 0x008AB6A4 */ static void twister_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB8F4, 0x008AB904, 0x008AB914 */ static void twister_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_station(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_station(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB6B4 */ static void twister_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB6C4 */ static void twister_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB6D4 */ static void twister_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB6E4 */ static void twister_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB6F4 */ static void twister_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB704 */ static void twister_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB714 */ static void twister_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB724 */ static void twister_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB734 */ static void twister_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB744 */ static void twister_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB754 */ static void twister_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_60_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB764 */ static void twister_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB774 */ static void twister_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB784 */ static void twister_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB794 */ static void twister_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB7A4 */ static void twister_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB7B4 */ static void twister_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB7C4 */ static void twister_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB7D4 */ static void twister_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_banked_left_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_banked_left_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB7E4 */ static void twister_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_banked_right_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_banked_right_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB7F4 */ static void twister_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB804 */ static void twister_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB814 */ static void twister_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_up_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB824 */ static void twister_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_up_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB834 */ static void twister_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB844 */ static void twister_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB854 */ static void twister_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_down_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB864 */ static void twister_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_down_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB874 */ static void twister_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB884 */ static void twister_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB894 */ static void twister_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB8A4 */ static void twister_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB8B4 */ static void twister_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB8C4 */ static void twister_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB8D4 */ static void twister_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_s_bend_left(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_s_bend_left(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB8E4 */ static void twister_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_s_bend_right(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_s_bend_right(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABA84 */ static void twister_rc_track_left_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_vertical_loop(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_vertical_loop(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABA94 */ static void twister_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_vertical_loop(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_vertical_loop(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB924 */ static void twister_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_3(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_quarter_turn_3(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB934 */ static void twister_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_3(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_quarter_turn_3(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB944 */ static void twister_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_3_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_quarter_turn_3_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB954 */ static void twister_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_3_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_quarter_turn_3_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB964 */ static void twister_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB974 */ static void twister_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB984 */ static void twister_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB994 */ static void twister_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB9A4 */ static void twister_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_half_banked_helix_up_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_half_banked_helix_up_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB9B4 */ static void twister_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_half_banked_helix_up_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_half_banked_helix_up_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB9C4 */ static void twister_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_half_banked_helix_down_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_half_banked_helix_down_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB9D4 */ static void twister_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_half_banked_helix_down_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_half_banked_helix_down_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB9E4 */ static void twister_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_half_banked_helix_up_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_half_banked_helix_up_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AB9F4 */ static void twister_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_half_banked_helix_up_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_half_banked_helix_up_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABA04 */ static void twister_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_half_banked_helix_down_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_half_banked_helix_down_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABA14 */ static void twister_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_half_banked_helix_down_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_half_banked_helix_down_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABA44 */ static void twister_rc_track_left_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABA24 */ static void twister_rc_track_right_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABA34 */ static void twister_rc_track_left_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_1_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_quarter_turn_1_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABA54 */ static void twister_rc_track_right_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_1_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_quarter_turn_1_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABA64 */ static void twister_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_brakes(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_brakes(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABE04 */ static void twister_rc_track_25_deg_up_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_left_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_up_left_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABE14 */ static void twister_rc_track_25_deg_up_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_right_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_up_right_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABA74 */ static void twister_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_on_ride_photo(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_on_ride_photo(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABE24 */ static void twister_rc_track_25_deg_down_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_left_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_down_left_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABE34 */ static void twister_rc_track_25_deg_down_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_right_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_down_right_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABE44 */ static void twister_rc_track_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABE54 */ static void twister_rc_track_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABE64 */ static void twister_rc_track_60_deg_up_to_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABE74 */ static void twister_rc_track_90_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_90_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_90_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABE84 */ static void twister_rc_track_90_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_90_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_90_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABE94 */ static void twister_rc_track_60_deg_down_to_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_down_to_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_60_deg_down_to_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABAB4 */ static void twister_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_eighth_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_eighth_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABAC4 */ static void twister_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_eighth_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_eighth_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABAD4 */ static void twister_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_eighth_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_eighth_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABAE4 */ static void twister_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_eighth_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_eighth_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABAF4 */ static void twister_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_eighth_bank_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_eighth_bank_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABB04 */ static void twister_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_eighth_bank_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_eighth_bank_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABB14 */ static void twister_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_eighth_bank_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_eighth_bank_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABB24 */ static void twister_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_eighth_bank_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_eighth_bank_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABAA4 */ static void twister_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABB54 */ static void twister_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABBB4 */ static void twister_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABB34 */ static void twister_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABB94 */ static void twister_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABBA4 */ static void twister_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABB44 */ static void twister_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABB84 */ static void twister_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABBE4 */ static void twister_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABB64 */ static void twister_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_flat_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABBC4 */ static void twister_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_25_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABBD4 */ static void twister_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_60_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_60_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABB74 */ static void twister_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABC14 */ static void twister_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_flat_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABC24 */ static void twister_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_flat_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABC34 */ static void twister_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_left_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_left_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABC44 */ static void twister_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_right_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_right_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABC74 */ static void twister_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_left_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_left_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABC84 */ static void twister_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_right_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_right_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABC54 */ static void twister_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_up_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_25_deg_up_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABC64 */ static void twister_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_up_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_25_deg_up_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABC94 */ static void twister_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_left_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_left_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABCA4 */ static void twister_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_right_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_right_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABCB4 */ static void twister_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_down_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_25_deg_down_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABCC4 */ static void twister_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_down_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_25_deg_down_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABBF4 */ static void twister_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABC04 */ static void twister_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABD74 */ static void twister_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_bank_to_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_bank_to_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABD84 */ static void twister_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_bank_to_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_bank_to_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABD94 */ static void twister_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_3_25_deg_down_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_quarter_turn_3_25_deg_down_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABDA4 */ static void twister_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_3_25_deg_down_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_quarter_turn_3_25_deg_down_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC0E4 */ static void twister_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_block_brakes(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_block_brakes(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABEA4 */ static void twister_rc_track_left_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABEB4 */ static void twister_rc_track_right_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABEC4 */ static void twister_rc_track_left_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_banked_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABED4 */ static void twister_rc_track_right_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_banked_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABEE4 */ static void twister_rc_track_left_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABEF4 */ static void twister_rc_track_right_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABF04 */ static void twister_rc_track_left_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_banked_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABF14 */ static void twister_rc_track_right_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_banked_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABF24 */ static void twister_rc_track_25_deg_up_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABF34 */ static void twister_rc_track_25_deg_up_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABF44 */ static void twister_rc_track_left_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABF54 */ static void twister_rc_track_right_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABF64 */ static void twister_rc_track_25_deg_down_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_to_left_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_down_to_left_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABF74 */ static void twister_rc_track_25_deg_down_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_to_right_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_25_deg_down_to_right_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABF84 */ static void twister_rc_track_left_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_25_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_banked_25_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABF94 */ static void twister_rc_track_right_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_25_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_banked_25_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABFA4 */ static void twister_rc_track_left_banked_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABFB4 */ static void twister_rc_track_right_banked_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABFE4 */ static void twister_rc_track_left_banked_25_deg_up_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABFF4 */ static void twister_rc_track_right_banked_25_deg_up_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC004 */ static void twister_rc_track_left_banked_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_flat_to_left_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_banked_flat_to_left_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC014 */ static void twister_rc_track_right_banked_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_flat_to_right_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_banked_flat_to_right_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABFC4 */ static void twister_rc_track_left_banked_25_deg_down_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_25_deg_down_to_left_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_banked_25_deg_down_to_left_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABFD4 */ static void twister_rc_track_right_banked_25_deg_down_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_25_deg_down_to_right_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_banked_25_deg_down_to_right_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC024 */ static void twister_rc_track_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC034 */ static void twister_rc_track_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC044 */ static void twister_rc_track_left_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC054 */ static void twister_rc_track_right_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC064 */ static void twister_rc_track_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_left_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat_to_left_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC074 */ static void twister_rc_track_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_right_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat_to_right_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC084 */ static void twister_rc_track_left_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_banked_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC094 */ static void twister_rc_track_right_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_banked_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC0A4 */ static void twister_rc_track_left_quarter_turn_1_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_1_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_quarter_turn_1_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC0B4 */ static void twister_rc_track_right_quarter_turn_1_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_1_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_quarter_turn_1_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC0C4 */ static void twister_rc_track_left_quarter_turn_1_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_1_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_quarter_turn_1_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC0D4 */ static void twister_rc_track_right_quarter_turn_1_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_1_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_quarter_turn_1_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /* The following track elements used to be specific to the Vertical Roller Coaster */ static void twister_rc_track_flat_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } static void twister_rc_track_60_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_60_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } static void twister_rc_track_flat_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } static void twister_rc_track_60_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_60_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } static void twister_rc_track_brake_for_drop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_brake_for_drop(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_brake_for_drop(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } static void twister_rc_track_diag_flat_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_flat_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } static void twister_rc_track_diag_60_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_60_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_60_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } static void twister_rc_track_diag_flat_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_flat_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } static void twister_rc_track_diag_60_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_60_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_diag_60_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /* The following track elements used to be specific to the Steel Twister */ /** rct2: 0x008ABCD4 */ static void twister_rc_track_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_half_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_half_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABCE4 */ static void twister_rc_track_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_half_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_half_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABD34 */ static void twister_rc_track_left_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_corkscrew_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_corkscrew_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABD44 */ static void twister_rc_track_right_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_corkscrew_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_corkscrew_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABD54 */ static void twister_rc_track_left_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_corkscrew_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_corkscrew_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABD64 */ static void twister_rc_track_right_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_corkscrew_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_corkscrew_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC0F4 */ static void twister_rc_track_flat_to_60_deg_up_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_60_deg_up_long_base(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat_to_60_deg_up_long_base(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC104 */ static void twister_rc_track_60_deg_up_to_flat_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up_to_flat_long_base(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_60_deg_up_to_flat_long_base(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC114 */ static void twister_rc_track_flat_to_60_deg_down_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_60_deg_down_long_base(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_flat_to_60_deg_down_long_base(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC124 */ static void twister_rc_track_60_deg_up_to_flat_long_base122(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up_to_flat_long_base122(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_60_deg_up_to_flat_long_base122(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABCF4 */ static void twister_rc_track_left_barrel_roll_up_to_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_barrel_roll_up_to_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_barrel_roll_up_to_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABD04 */ static void twister_rc_track_right_barrel_roll_up_to_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_barrel_roll_up_to_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_barrel_roll_up_to_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABD14 */ static void twister_rc_track_left_barrel_roll_down_to_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_barrel_roll_down_to_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_barrel_roll_down_to_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABD24 */ static void twister_rc_track_right_barrel_roll_down_to_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_barrel_roll_down_to_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_barrel_roll_down_to_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABDB4 */ static void twister_rc_track_powered_lift(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_powered_lift(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_powered_lift(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABDC4 */ static void twister_rc_track_left_large_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_large_half_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_large_half_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABDD4 */ static void twister_rc_track_right_large_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_large_half_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_large_half_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABDE4 */ static void twister_rc_track_right_large_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_large_half_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_right_large_half_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008ABDF4 */ static void twister_rc_track_left_large_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_large_half_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_left_large_half_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC134 */ static void twister_rc_track_90_deg_to_inverted_flat_quarter_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_90_deg_to_inverted_flat_quarter_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_90_deg_to_inverted_flat_quarter_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } /** rct2: 0x008AC144 */ static void twister_rc_track_inverted_flat_to_90_deg_quarter_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_inverted_flat_to_90_deg_quarter_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_inverted_flat_to_90_deg_quarter_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } static void twister_rc_track_booster(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_booster(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); + bolliger_mabillard_track_booster(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_TUBES); } TRACK_PAINT_FUNCTION get_track_paint_function_twister_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return twister_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return twister_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return twister_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return twister_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return twister_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return twister_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return twister_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return twister_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return twister_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return twister_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return twister_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return twister_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return twister_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return twister_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return twister_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return twister_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return twister_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return twister_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return twister_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return twister_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return twister_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return twister_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return twister_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return twister_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return twister_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return twister_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return twister_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return twister_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return twister_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return twister_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return twister_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return twister_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return twister_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return twister_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return twister_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return twister_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return twister_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return twister_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - return twister_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - return twister_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return twister_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return twister_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return twister_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return twister_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return twister_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return twister_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return twister_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return twister_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return twister_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return twister_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return twister_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return twister_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return twister_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return twister_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return twister_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return twister_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - return twister_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - return twister_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return twister_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return twister_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: - return twister_rc_track_brakes; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - return twister_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - return twister_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: - return twister_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - return twister_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - return twister_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_90_DEG_UP: - return twister_rc_track_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN: - return twister_rc_track_90_deg_down; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: - return twister_rc_track_60_deg_up_to_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: - return twister_rc_track_90_deg_down_to_60_deg_down; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: - return twister_rc_track_90_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: - return twister_rc_track_60_deg_down_to_90_deg_down; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return twister_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return twister_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return twister_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return twister_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return twister_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return twister_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return twister_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return twister_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return twister_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return twister_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return twister_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return twister_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return twister_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return twister_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return twister_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return twister_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return twister_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return twister_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return twister_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return twister_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return twister_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return twister_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return twister_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return twister_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return twister_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return twister_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return twister_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return twister_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return twister_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return twister_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return twister_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return twister_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return twister_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return twister_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return twister_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return twister_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return twister_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: - return twister_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: - return twister_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: - return twister_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return twister_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return twister_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return twister_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return twister_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return twister_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return twister_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return twister_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return twister_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: - return twister_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: - return twister_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return twister_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return twister_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: - return twister_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: - return twister_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return twister_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return twister_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return twister_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return twister_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: - return twister_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: - return twister_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return twister_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return twister_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: - return twister_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: - return twister_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return twister_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return twister_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: - return twister_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: - return twister_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return twister_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return twister_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: - return twister_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: - return twister_rc_track_right_banked_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: - return twister_rc_track_left_quarter_turn_1_90_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: - return twister_rc_track_right_quarter_turn_1_90_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: - return twister_rc_track_left_quarter_turn_1_90_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: - return twister_rc_track_right_quarter_turn_1_90_deg_down; - /* The following track elements used to be specific to the vertical RC */ - case TRACK_ELEM_FLAT_TO_60_DEG_UP: - return twister_rc_track_flat_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - return twister_rc_track_60_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - return twister_rc_track_flat_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: - return twister_rc_track_60_deg_down_to_flat; - case TRACK_ELEM_BRAKE_FOR_DROP: - return twister_rc_track_brake_for_drop; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: - return twister_rc_track_diag_flat_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - return twister_rc_track_diag_60_deg_up_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: - return twister_rc_track_diag_flat_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: - return twister_rc_track_diag_60_deg_down_to_flat; - /* The following track elements used to be specific to the Twister RC */ - case TRACK_ELEM_HALF_LOOP_UP: - return twister_rc_track_half_loop_up; - case TRACK_ELEM_HALF_LOOP_DOWN: - return twister_rc_track_half_loop_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: - return twister_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: - return twister_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: - return twister_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: - return twister_rc_track_right_corkscrew_down; - case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: - return twister_rc_track_flat_to_60_deg_up_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: - return twister_rc_track_60_deg_up_to_flat_long_base; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: - return twister_rc_track_flat_to_60_deg_down_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: - return twister_rc_track_60_deg_up_to_flat_long_base122; - case TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN: - return twister_rc_track_left_barrel_roll_up_to_down; - case TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN: - return twister_rc_track_right_barrel_roll_up_to_down; - case TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP: - return twister_rc_track_left_barrel_roll_down_to_up; - case TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP: - return twister_rc_track_right_barrel_roll_down_to_up; - case TRACK_ELEM_POWERED_LIFT: - return twister_rc_track_powered_lift; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: - return twister_rc_track_left_large_half_loop_up; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: - return twister_rc_track_right_large_half_loop_up; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: - return twister_rc_track_right_large_half_loop_down; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: - return twister_rc_track_left_large_half_loop_down; - case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP: - return twister_rc_track_90_deg_to_inverted_flat_quarter_loop_up; - case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: - return twister_rc_track_inverted_flat_to_90_deg_quarter_loop_down; + switch (trackType) { + case TRACK_ELEM_FLAT: + return twister_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return twister_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return twister_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return twister_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return twister_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return twister_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return twister_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return twister_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return twister_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return twister_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return twister_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return twister_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return twister_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return twister_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return twister_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return twister_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return twister_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return twister_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return twister_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return twister_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return twister_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return twister_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return twister_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return twister_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return twister_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return twister_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return twister_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return twister_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return twister_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return twister_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return twister_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return twister_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return twister_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return twister_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return twister_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return twister_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return twister_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return twister_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + return twister_rc_track_left_vertical_loop; + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + return twister_rc_track_right_vertical_loop; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return twister_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return twister_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return twister_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return twister_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return twister_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return twister_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return twister_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return twister_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return twister_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return twister_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return twister_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return twister_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return twister_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return twister_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return twister_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return twister_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + return twister_rc_track_left_quarter_turn_1_60_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + return twister_rc_track_right_quarter_turn_1_60_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return twister_rc_track_left_quarter_turn_1_60_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return twister_rc_track_right_quarter_turn_1_60_deg_down; + case TRACK_ELEM_BRAKES: + return twister_rc_track_brakes; + case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + return twister_rc_track_25_deg_up_left_banked; + case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + return twister_rc_track_25_deg_up_right_banked; + case TRACK_ELEM_ON_RIDE_PHOTO: + return twister_rc_track_on_ride_photo; + case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + return twister_rc_track_25_deg_down_left_banked; + case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + return twister_rc_track_25_deg_down_right_banked; + case TRACK_ELEM_90_DEG_UP: + return twister_rc_track_90_deg_up; + case TRACK_ELEM_90_DEG_DOWN: + return twister_rc_track_90_deg_down; + case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + return twister_rc_track_60_deg_up_to_90_deg_up; + case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + return twister_rc_track_90_deg_down_to_60_deg_down; + case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + return twister_rc_track_90_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + return twister_rc_track_60_deg_down_to_90_deg_down; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return twister_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return twister_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return twister_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return twister_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return twister_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return twister_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return twister_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return twister_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return twister_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return twister_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return twister_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return twister_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return twister_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return twister_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return twister_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return twister_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return twister_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return twister_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return twister_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return twister_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return twister_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return twister_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return twister_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return twister_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return twister_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return twister_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return twister_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return twister_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return twister_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return twister_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return twister_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return twister_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return twister_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return twister_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return twister_rc_track_diag_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return twister_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return twister_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: + return twister_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: + return twister_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank; + case TRACK_ELEM_BLOCK_BRAKES: + return twister_rc_track_block_brakes; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return twister_rc_track_left_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return twister_rc_track_right_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return twister_rc_track_left_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return twister_rc_track_right_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return twister_rc_track_left_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return twister_rc_track_right_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return twister_rc_track_left_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return twister_rc_track_right_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + return twister_rc_track_25_deg_up_to_left_banked_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + return twister_rc_track_25_deg_up_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return twister_rc_track_left_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return twister_rc_track_right_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + return twister_rc_track_25_deg_down_to_left_banked_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + return twister_rc_track_25_deg_down_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return twister_rc_track_left_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return twister_rc_track_right_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return twister_rc_track_left_banked_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return twister_rc_track_right_banked_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + return twister_rc_track_left_banked_25_deg_up_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + return twister_rc_track_right_banked_25_deg_up_to_right_banked_flat; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return twister_rc_track_left_banked_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return twister_rc_track_right_banked_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + return twister_rc_track_left_banked_25_deg_down_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + return twister_rc_track_right_banked_25_deg_down_to_right_banked_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return twister_rc_track_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return twister_rc_track_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + return twister_rc_track_left_banked_25_deg_up_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + return twister_rc_track_right_banked_25_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return twister_rc_track_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return twister_rc_track_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + return twister_rc_track_left_banked_25_deg_down_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + return twister_rc_track_right_banked_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: + return twister_rc_track_left_quarter_turn_1_90_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: + return twister_rc_track_right_quarter_turn_1_90_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + return twister_rc_track_left_quarter_turn_1_90_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + return twister_rc_track_right_quarter_turn_1_90_deg_down; + /* The following track elements used to be specific to the vertical RC */ + case TRACK_ELEM_FLAT_TO_60_DEG_UP: + return twister_rc_track_flat_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + return twister_rc_track_60_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + return twister_rc_track_flat_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + return twister_rc_track_60_deg_down_to_flat; + case TRACK_ELEM_BRAKE_FOR_DROP: + return twister_rc_track_brake_for_drop; + case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: + return twister_rc_track_diag_flat_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + return twister_rc_track_diag_60_deg_up_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: + return twister_rc_track_diag_flat_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: + return twister_rc_track_diag_60_deg_down_to_flat; + /* The following track elements used to be specific to the Twister RC */ + case TRACK_ELEM_HALF_LOOP_UP: + return twister_rc_track_half_loop_up; + case TRACK_ELEM_HALF_LOOP_DOWN: + return twister_rc_track_half_loop_down; + case TRACK_ELEM_LEFT_CORKSCREW_UP: + return twister_rc_track_left_corkscrew_up; + case TRACK_ELEM_RIGHT_CORKSCREW_UP: + return twister_rc_track_right_corkscrew_up; + case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + return twister_rc_track_left_corkscrew_down; + case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + return twister_rc_track_right_corkscrew_down; + case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: + return twister_rc_track_flat_to_60_deg_up_long_base; + case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: + return twister_rc_track_60_deg_up_to_flat_long_base; + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: + return twister_rc_track_flat_to_60_deg_down_long_base; + case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: + return twister_rc_track_60_deg_up_to_flat_long_base122; + case TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN: + return twister_rc_track_left_barrel_roll_up_to_down; + case TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN: + return twister_rc_track_right_barrel_roll_up_to_down; + case TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP: + return twister_rc_track_left_barrel_roll_down_to_up; + case TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP: + return twister_rc_track_right_barrel_roll_down_to_up; + case TRACK_ELEM_POWERED_LIFT: + return twister_rc_track_powered_lift; + case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: + return twister_rc_track_left_large_half_loop_up; + case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: + return twister_rc_track_right_large_half_loop_up; + case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: + return twister_rc_track_right_large_half_loop_down; + case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: + return twister_rc_track_left_large_half_loop_down; + case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP: + return twister_rc_track_90_deg_to_inverted_flat_quarter_loop_up; + case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: + return twister_rc_track_inverted_flat_to_90_deg_quarter_loop_down; case TRACK_ELEM_BOOSTER: return twister_rc_track_booster; - } - return NULL; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/vertical_drop_roller_coaster.c b/src/openrct2/ride/coaster/vertical_drop_roller_coaster.c index 8f9f02b9b8..fb7b1385a3 100644 --- a/src/openrct2/ride/coaster/vertical_drop_roller_coaster.c +++ b/src/openrct2/ride/coaster/vertical_drop_roller_coaster.c @@ -22,1425 +22,1425 @@ /** rct2: 0x008AA00C */ static void vertical_drop_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_station(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_station(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA01C */ static void vertical_drop_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA02C */ static void vertical_drop_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA03C */ static void vertical_drop_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA04C */ static void vertical_drop_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA05C */ static void vertical_drop_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA06C */ static void vertical_drop_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA07C */ static void vertical_drop_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA08C */ static void vertical_drop_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA09C */ static void vertical_drop_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA0AC */ static void vertical_drop_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA0BC */ static void vertical_drop_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_60_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA0CC */ static void vertical_drop_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA0DC */ static void vertical_drop_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA0EC */ static void vertical_drop_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA0FC */ static void vertical_drop_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA10C */ static void vertical_drop_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA11C */ static void vertical_drop_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA12C */ static void vertical_drop_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA13C */ static void vertical_drop_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_banked_left_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_banked_left_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA14C */ static void vertical_drop_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_banked_right_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_banked_right_quarter_turn_5(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA15C */ static void vertical_drop_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA16C */ static void vertical_drop_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA17C */ static void vertical_drop_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_up_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA18C */ static void vertical_drop_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_up_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA19C */ static void vertical_drop_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA1AC */ static void vertical_drop_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA1BC */ static void vertical_drop_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_down_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA1CC */ static void vertical_drop_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_down_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA1DC */ static void vertical_drop_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA1EC */ static void vertical_drop_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA1FC */ static void vertical_drop_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA20C */ static void vertical_drop_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA21C */ static void vertical_drop_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA22C */ static void vertical_drop_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA23C */ static void vertical_drop_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_s_bend_left(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_s_bend_left(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA24C */ static void vertical_drop_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_s_bend_right(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_s_bend_right(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA49C */ static void vertical_drop_rc_track_left_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_vertical_loop(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_vertical_loop(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA4AC */ static void vertical_drop_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_vertical_loop(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_vertical_loop(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA28C */ static void vertical_drop_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_3(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_quarter_turn_3(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA29C */ static void vertical_drop_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_3(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_quarter_turn_3(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA2AC */ static void vertical_drop_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_3_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_quarter_turn_3_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA2BC */ static void vertical_drop_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_3_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_quarter_turn_3_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA2CC */ static void vertical_drop_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA2DC */ static void vertical_drop_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA2EC */ static void vertical_drop_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA2FC */ static void vertical_drop_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA30C */ static void vertical_drop_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_half_banked_helix_up_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_half_banked_helix_up_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA31C */ static void vertical_drop_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_half_banked_helix_up_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_half_banked_helix_up_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA32C */ static void vertical_drop_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_half_banked_helix_down_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_half_banked_helix_down_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA33C */ static void vertical_drop_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_half_banked_helix_down_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_half_banked_helix_down_small(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA34C */ static void vertical_drop_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_half_banked_helix_up_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_half_banked_helix_up_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA35C */ static void vertical_drop_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_half_banked_helix_up_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_half_banked_helix_up_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA36C */ static void vertical_drop_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_half_banked_helix_down_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_half_banked_helix_down_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA37C */ static void vertical_drop_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_half_banked_helix_down_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_half_banked_helix_down_large(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA3AC */ static void vertical_drop_rc_track_left_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA38C */ static void vertical_drop_rc_track_right_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA39C */ static void vertical_drop_rc_track_left_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_1_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_quarter_turn_1_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA3BC */ static void vertical_drop_rc_track_right_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_1_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_quarter_turn_1_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA40C */ static void vertical_drop_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_brakes(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_brakes(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA7EC */ static void vertical_drop_rc_track_25_deg_up_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_left_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_up_left_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA7FC */ static void vertical_drop_rc_track_25_deg_up_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_right_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_up_right_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA41C */ static void vertical_drop_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_on_ride_photo(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_on_ride_photo(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA80C */ static void vertical_drop_rc_track_25_deg_down_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_left_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_down_left_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA81C */ static void vertical_drop_rc_track_25_deg_down_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_right_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_down_right_banked(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA42C */ static void vertical_drop_rc_track_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA43C */ static void vertical_drop_rc_track_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA44C */ static void vertical_drop_rc_track_60_deg_up_to_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA45C */ static void vertical_drop_rc_track_90_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_90_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_90_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA46C */ static void vertical_drop_rc_track_90_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_90_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_90_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA47C */ static void vertical_drop_rc_track_60_deg_down_to_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_down_to_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_60_deg_down_to_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA4CC */ static void vertical_drop_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_eighth_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_eighth_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA4DC */ static void vertical_drop_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_eighth_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_eighth_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA4EC */ static void vertical_drop_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_eighth_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_eighth_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA4FC */ static void vertical_drop_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_eighth_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_eighth_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA50C */ static void vertical_drop_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_eighth_bank_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_eighth_bank_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA51C */ static void vertical_drop_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_eighth_bank_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_eighth_bank_to_diag(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA52C */ static void vertical_drop_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_eighth_bank_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_eighth_bank_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA53C */ static void vertical_drop_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_eighth_bank_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_eighth_bank_to_orthogonal(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA4BC */ static void vertical_drop_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA56C */ static void vertical_drop_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA5CC */ static void vertical_drop_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA54C */ static void vertical_drop_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA5AC */ static void vertical_drop_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA5BC */ static void vertical_drop_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA55C */ static void vertical_drop_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA59C */ static void vertical_drop_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA5FC */ static void vertical_drop_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA57C */ static void vertical_drop_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_flat_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA5DC */ static void vertical_drop_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_25_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA5EC */ static void vertical_drop_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_60_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_60_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA58C */ static void vertical_drop_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA62C */ static void vertical_drop_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_flat_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA63C */ static void vertical_drop_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_flat_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA64C */ static void vertical_drop_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_left_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_left_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA65C */ static void vertical_drop_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_right_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_right_bank_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA68C */ static void vertical_drop_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_left_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_left_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA69C */ static void vertical_drop_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_right_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_right_bank_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA66C */ static void vertical_drop_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_up_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_25_deg_up_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA67C */ static void vertical_drop_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_up_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_25_deg_up_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA6AC */ static void vertical_drop_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_left_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_left_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA6BC */ static void vertical_drop_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_right_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_right_bank_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA6CC */ static void vertical_drop_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_down_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_25_deg_down_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA6DC */ static void vertical_drop_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_25_deg_down_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_25_deg_down_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA60C */ static void vertical_drop_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA61C */ static void vertical_drop_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA72C */ static void vertical_drop_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_bank_to_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_bank_to_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA73C */ static void vertical_drop_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_bank_to_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_bank_to_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA74C */ static void vertical_drop_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_3_25_deg_down_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_quarter_turn_3_25_deg_down_to_left_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA75C */ static void vertical_drop_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_3_25_deg_down_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_quarter_turn_3_25_deg_down_to_right_bank(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA9EC */ static void vertical_drop_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_block_brakes(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_block_brakes(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA96C */ static void vertical_drop_rc_track_left_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA97C */ static void vertical_drop_rc_track_right_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA98C */ static void vertical_drop_rc_track_left_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_banked_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA99C */ static void vertical_drop_rc_track_right_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_banked_quarter_turn_3_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA8AC */ static void vertical_drop_rc_track_left_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA8BC */ static void vertical_drop_rc_track_right_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA8CC */ static void vertical_drop_rc_track_left_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_banked_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA8DC */ static void vertical_drop_rc_track_right_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_banked_quarter_turn_5_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA82C */ static void vertical_drop_rc_track_25_deg_up_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA83C */ static void vertical_drop_rc_track_25_deg_up_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA84C */ static void vertical_drop_rc_track_left_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA85C */ static void vertical_drop_rc_track_right_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA86C */ static void vertical_drop_rc_track_25_deg_down_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_to_left_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_down_to_left_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA87C */ static void vertical_drop_rc_track_25_deg_down_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_25_deg_down_to_right_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_25_deg_down_to_right_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA88C */ static void vertical_drop_rc_track_left_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_25_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_banked_25_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA89C */ static void vertical_drop_rc_track_right_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_25_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_banked_25_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA8EC */ static void vertical_drop_rc_track_left_banked_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA8FC */ static void vertical_drop_rc_track_right_banked_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA92C */ static void vertical_drop_rc_track_left_banked_25_deg_up_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA93C */ static void vertical_drop_rc_track_right_banked_25_deg_up_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA94C */ static void vertical_drop_rc_track_left_banked_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_flat_to_left_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_banked_flat_to_left_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA95C */ static void vertical_drop_rc_track_right_banked_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_flat_to_right_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_banked_flat_to_right_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA90C */ static void vertical_drop_rc_track_left_banked_25_deg_down_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_25_deg_down_to_left_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_banked_25_deg_down_to_left_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA91C */ static void vertical_drop_rc_track_right_banked_25_deg_down_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_25_deg_down_to_right_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_banked_25_deg_down_to_right_banked_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA76C */ static void vertical_drop_rc_track_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA77C */ static void vertical_drop_rc_track_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA78C */ static void vertical_drop_rc_track_left_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA79C */ static void vertical_drop_rc_track_right_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA7AC */ static void vertical_drop_rc_track_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_left_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat_to_left_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA7BC */ static void vertical_drop_rc_track_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_right_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat_to_right_banked_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA7CC */ static void vertical_drop_rc_track_left_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_banked_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_banked_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA7DC */ static void vertical_drop_rc_track_right_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_banked_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_banked_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA9AC */ static void vertical_drop_rc_track_left_quarter_turn_1_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_1_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_quarter_turn_1_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA9BC */ static void vertical_drop_rc_track_right_quarter_turn_1_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_1_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_quarter_turn_1_90_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA9CC */ static void vertical_drop_rc_track_left_quarter_turn_1_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_quarter_turn_1_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_quarter_turn_1_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA9DC */ static void vertical_drop_rc_track_right_quarter_turn_1_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_quarter_turn_1_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_quarter_turn_1_90_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /* The following elements used to be specific to the vertical_drop RC */ /** rct2: 0x008AA3CC */ static void vertical_drop_rc_track_flat_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA3DC */ static void vertical_drop_rc_track_60_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_60_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA3EC */ static void vertical_drop_rc_track_flat_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA3FC */ static void vertical_drop_rc_track_60_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_60_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA48C */ static void vertical_drop_rc_track_brake_for_drop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_brake_for_drop(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_brake_for_drop(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA6EC */ static void vertical_drop_rc_track_diag_flat_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_flat_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA6FC */ static void vertical_drop_rc_track_diag_60_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_60_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_60_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA70C */ static void vertical_drop_rc_track_diag_flat_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_flat_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_flat_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /** rct2: 0x008AA71C */ static void vertical_drop_rc_track_diag_60_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_diag_60_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_diag_60_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } /* The following elements used to be specific to the steel twister RC */ static void vertical_drop_rc_track_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_half_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_half_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_half_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_half_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_left_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_corkscrew_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_corkscrew_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_right_corkscrew_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_corkscrew_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_corkscrew_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_left_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_corkscrew_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_corkscrew_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_right_corkscrew_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_corkscrew_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_corkscrew_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_flat_to_60_deg_up_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_60_deg_up_long_base(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat_to_60_deg_up_long_base(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_60_deg_up_to_flat_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up_to_flat_long_base(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_60_deg_up_to_flat_long_base(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_flat_to_60_deg_down_long_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_flat_to_60_deg_down_long_base(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_flat_to_60_deg_down_long_base(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_60_deg_up_to_flat_long_base122(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_60_deg_up_to_flat_long_base122(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_60_deg_up_to_flat_long_base122(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_left_barrel_roll_up_to_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_barrel_roll_up_to_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_barrel_roll_up_to_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_right_barrel_roll_up_to_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_barrel_roll_up_to_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_barrel_roll_up_to_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_left_barrel_roll_down_to_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_barrel_roll_down_to_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_barrel_roll_down_to_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_right_barrel_roll_down_to_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_barrel_roll_down_to_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_barrel_roll_down_to_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_powered_lift(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_powered_lift(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_powered_lift(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_left_large_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_large_half_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_large_half_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_right_large_half_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_large_half_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_large_half_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_right_large_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_right_large_half_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_right_large_half_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_left_large_half_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_left_large_half_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_left_large_half_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_90_deg_to_inverted_flat_quarter_loop_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_90_deg_to_inverted_flat_quarter_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_90_deg_to_inverted_flat_quarter_loop_up(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_inverted_flat_to_90_deg_quarter_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_inverted_flat_to_90_deg_quarter_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_inverted_flat_to_90_deg_quarter_loop_down(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } static void vertical_drop_rc_track_booster(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bolliger_mabillard_track_booster(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); + bolliger_mabillard_track_booster(rideIndex, trackSequence, direction, height, mapElement, METAL_SUPPORTS_BOXED); } TRACK_PAINT_FUNCTION get_track_paint_function_vertical_drop_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return vertical_drop_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return vertical_drop_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return vertical_drop_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return vertical_drop_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return vertical_drop_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return vertical_drop_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return vertical_drop_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return vertical_drop_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return vertical_drop_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return vertical_drop_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return vertical_drop_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return vertical_drop_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return vertical_drop_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return vertical_drop_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return vertical_drop_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return vertical_drop_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return vertical_drop_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return vertical_drop_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return vertical_drop_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return vertical_drop_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return vertical_drop_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return vertical_drop_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return vertical_drop_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return vertical_drop_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return vertical_drop_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return vertical_drop_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return vertical_drop_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return vertical_drop_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return vertical_drop_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return vertical_drop_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return vertical_drop_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return vertical_drop_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return vertical_drop_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return vertical_drop_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return vertical_drop_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return vertical_drop_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return vertical_drop_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return vertical_drop_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - return vertical_drop_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - return vertical_drop_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return vertical_drop_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return vertical_drop_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return vertical_drop_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return vertical_drop_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return vertical_drop_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return vertical_drop_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return vertical_drop_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return vertical_drop_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return vertical_drop_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return vertical_drop_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return vertical_drop_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return vertical_drop_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return vertical_drop_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return vertical_drop_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return vertical_drop_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return vertical_drop_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - return vertical_drop_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - return vertical_drop_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return vertical_drop_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return vertical_drop_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: - return vertical_drop_rc_track_brakes; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - return vertical_drop_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - return vertical_drop_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: - return vertical_drop_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - return vertical_drop_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - return vertical_drop_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_90_DEG_UP: - return vertical_drop_rc_track_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN: - return vertical_drop_rc_track_90_deg_down; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: - return vertical_drop_rc_track_60_deg_up_to_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: - return vertical_drop_rc_track_90_deg_down_to_60_deg_down; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: - return vertical_drop_rc_track_90_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: - return vertical_drop_rc_track_60_deg_down_to_90_deg_down; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return vertical_drop_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return vertical_drop_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return vertical_drop_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return vertical_drop_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return vertical_drop_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return vertical_drop_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return vertical_drop_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return vertical_drop_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return vertical_drop_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return vertical_drop_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return vertical_drop_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return vertical_drop_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return vertical_drop_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return vertical_drop_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return vertical_drop_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return vertical_drop_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return vertical_drop_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return vertical_drop_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return vertical_drop_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return vertical_drop_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return vertical_drop_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return vertical_drop_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return vertical_drop_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return vertical_drop_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return vertical_drop_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return vertical_drop_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return vertical_drop_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return vertical_drop_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return vertical_drop_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return vertical_drop_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return vertical_drop_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return vertical_drop_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return vertical_drop_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return vertical_drop_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return vertical_drop_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return vertical_drop_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return vertical_drop_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: - return vertical_drop_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: - return vertical_drop_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: - return vertical_drop_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return vertical_drop_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return vertical_drop_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return vertical_drop_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return vertical_drop_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return vertical_drop_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return vertical_drop_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return vertical_drop_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return vertical_drop_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: - return vertical_drop_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: - return vertical_drop_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return vertical_drop_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return vertical_drop_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: - return vertical_drop_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: - return vertical_drop_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return vertical_drop_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return vertical_drop_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return vertical_drop_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return vertical_drop_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: - return vertical_drop_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: - return vertical_drop_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return vertical_drop_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return vertical_drop_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: - return vertical_drop_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: - return vertical_drop_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return vertical_drop_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return vertical_drop_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: - return vertical_drop_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: - return vertical_drop_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return vertical_drop_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return vertical_drop_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: - return vertical_drop_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: - return vertical_drop_rc_track_right_banked_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: - return vertical_drop_rc_track_left_quarter_turn_1_90_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: - return vertical_drop_rc_track_right_quarter_turn_1_90_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: - return vertical_drop_rc_track_left_quarter_turn_1_90_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: - return vertical_drop_rc_track_right_quarter_turn_1_90_deg_down; - /* These track elements used to be specific to the vertical RC */ - case TRACK_ELEM_FLAT_TO_60_DEG_UP: - return vertical_drop_rc_track_flat_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - return vertical_drop_rc_track_60_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - return vertical_drop_rc_track_flat_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: - return vertical_drop_rc_track_60_deg_down_to_flat; - case TRACK_ELEM_BRAKE_FOR_DROP: - return vertical_drop_rc_track_brake_for_drop; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: - return vertical_drop_rc_track_diag_flat_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - return vertical_drop_rc_track_diag_60_deg_up_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: - return vertical_drop_rc_track_diag_flat_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: - return vertical_drop_rc_track_diag_60_deg_down_to_flat; - /* These track elements used to be specific to the steel vertical_drop */ - case TRACK_ELEM_HALF_LOOP_UP: - return vertical_drop_rc_track_half_loop_up; - case TRACK_ELEM_HALF_LOOP_DOWN: - return vertical_drop_rc_track_half_loop_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: - return vertical_drop_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: - return vertical_drop_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: - return vertical_drop_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: - return vertical_drop_rc_track_right_corkscrew_down; - case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: - return vertical_drop_rc_track_flat_to_60_deg_up_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: - return vertical_drop_rc_track_60_deg_up_to_flat_long_base; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: - return vertical_drop_rc_track_flat_to_60_deg_down_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: - return vertical_drop_rc_track_60_deg_up_to_flat_long_base122; - case TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN: - return vertical_drop_rc_track_left_barrel_roll_up_to_down; - case TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN: - return vertical_drop_rc_track_right_barrel_roll_up_to_down; - case TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP: - return vertical_drop_rc_track_left_barrel_roll_down_to_up; - case TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP: - return vertical_drop_rc_track_right_barrel_roll_down_to_up; - case TRACK_ELEM_POWERED_LIFT: - return vertical_drop_rc_track_powered_lift; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: - return vertical_drop_rc_track_left_large_half_loop_up; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: - return vertical_drop_rc_track_right_large_half_loop_up; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: - return vertical_drop_rc_track_right_large_half_loop_down; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: - return vertical_drop_rc_track_left_large_half_loop_down; - case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP: - return vertical_drop_rc_track_90_deg_to_inverted_flat_quarter_loop_up; - case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: - return vertical_drop_rc_track_inverted_flat_to_90_deg_quarter_loop_down; + switch (trackType) { + case TRACK_ELEM_FLAT: + return vertical_drop_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return vertical_drop_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return vertical_drop_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return vertical_drop_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return vertical_drop_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return vertical_drop_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return vertical_drop_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return vertical_drop_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return vertical_drop_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return vertical_drop_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return vertical_drop_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return vertical_drop_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return vertical_drop_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return vertical_drop_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return vertical_drop_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return vertical_drop_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return vertical_drop_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return vertical_drop_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return vertical_drop_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return vertical_drop_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return vertical_drop_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return vertical_drop_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return vertical_drop_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return vertical_drop_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return vertical_drop_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return vertical_drop_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return vertical_drop_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return vertical_drop_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return vertical_drop_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return vertical_drop_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return vertical_drop_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return vertical_drop_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return vertical_drop_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return vertical_drop_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return vertical_drop_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return vertical_drop_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return vertical_drop_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return vertical_drop_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + return vertical_drop_rc_track_left_vertical_loop; + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + return vertical_drop_rc_track_right_vertical_loop; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return vertical_drop_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return vertical_drop_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return vertical_drop_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return vertical_drop_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return vertical_drop_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return vertical_drop_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return vertical_drop_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return vertical_drop_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return vertical_drop_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return vertical_drop_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return vertical_drop_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return vertical_drop_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return vertical_drop_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return vertical_drop_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return vertical_drop_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return vertical_drop_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + return vertical_drop_rc_track_left_quarter_turn_1_60_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + return vertical_drop_rc_track_right_quarter_turn_1_60_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return vertical_drop_rc_track_left_quarter_turn_1_60_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return vertical_drop_rc_track_right_quarter_turn_1_60_deg_down; + case TRACK_ELEM_BRAKES: + return vertical_drop_rc_track_brakes; + case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + return vertical_drop_rc_track_25_deg_up_left_banked; + case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + return vertical_drop_rc_track_25_deg_up_right_banked; + case TRACK_ELEM_ON_RIDE_PHOTO: + return vertical_drop_rc_track_on_ride_photo; + case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + return vertical_drop_rc_track_25_deg_down_left_banked; + case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + return vertical_drop_rc_track_25_deg_down_right_banked; + case TRACK_ELEM_90_DEG_UP: + return vertical_drop_rc_track_90_deg_up; + case TRACK_ELEM_90_DEG_DOWN: + return vertical_drop_rc_track_90_deg_down; + case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + return vertical_drop_rc_track_60_deg_up_to_90_deg_up; + case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + return vertical_drop_rc_track_90_deg_down_to_60_deg_down; + case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + return vertical_drop_rc_track_90_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + return vertical_drop_rc_track_60_deg_down_to_90_deg_down; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return vertical_drop_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return vertical_drop_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return vertical_drop_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return vertical_drop_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return vertical_drop_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return vertical_drop_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return vertical_drop_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return vertical_drop_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return vertical_drop_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return vertical_drop_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return vertical_drop_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return vertical_drop_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return vertical_drop_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return vertical_drop_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return vertical_drop_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return vertical_drop_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return vertical_drop_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return vertical_drop_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return vertical_drop_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return vertical_drop_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return vertical_drop_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return vertical_drop_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return vertical_drop_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return vertical_drop_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return vertical_drop_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return vertical_drop_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return vertical_drop_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return vertical_drop_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return vertical_drop_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return vertical_drop_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return vertical_drop_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return vertical_drop_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return vertical_drop_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return vertical_drop_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return vertical_drop_rc_track_diag_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return vertical_drop_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return vertical_drop_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: + return vertical_drop_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: + return vertical_drop_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank; + case TRACK_ELEM_BLOCK_BRAKES: + return vertical_drop_rc_track_block_brakes; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return vertical_drop_rc_track_left_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return vertical_drop_rc_track_right_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return vertical_drop_rc_track_left_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return vertical_drop_rc_track_right_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return vertical_drop_rc_track_left_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return vertical_drop_rc_track_right_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return vertical_drop_rc_track_left_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return vertical_drop_rc_track_right_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + return vertical_drop_rc_track_25_deg_up_to_left_banked_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + return vertical_drop_rc_track_25_deg_up_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return vertical_drop_rc_track_left_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return vertical_drop_rc_track_right_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + return vertical_drop_rc_track_25_deg_down_to_left_banked_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + return vertical_drop_rc_track_25_deg_down_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return vertical_drop_rc_track_left_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return vertical_drop_rc_track_right_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return vertical_drop_rc_track_left_banked_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return vertical_drop_rc_track_right_banked_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + return vertical_drop_rc_track_left_banked_25_deg_up_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + return vertical_drop_rc_track_right_banked_25_deg_up_to_right_banked_flat; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return vertical_drop_rc_track_left_banked_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return vertical_drop_rc_track_right_banked_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + return vertical_drop_rc_track_left_banked_25_deg_down_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + return vertical_drop_rc_track_right_banked_25_deg_down_to_right_banked_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return vertical_drop_rc_track_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return vertical_drop_rc_track_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + return vertical_drop_rc_track_left_banked_25_deg_up_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + return vertical_drop_rc_track_right_banked_25_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return vertical_drop_rc_track_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return vertical_drop_rc_track_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + return vertical_drop_rc_track_left_banked_25_deg_down_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + return vertical_drop_rc_track_right_banked_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: + return vertical_drop_rc_track_left_quarter_turn_1_90_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: + return vertical_drop_rc_track_right_quarter_turn_1_90_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + return vertical_drop_rc_track_left_quarter_turn_1_90_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + return vertical_drop_rc_track_right_quarter_turn_1_90_deg_down; + /* These track elements used to be specific to the vertical RC */ + case TRACK_ELEM_FLAT_TO_60_DEG_UP: + return vertical_drop_rc_track_flat_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + return vertical_drop_rc_track_60_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + return vertical_drop_rc_track_flat_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + return vertical_drop_rc_track_60_deg_down_to_flat; + case TRACK_ELEM_BRAKE_FOR_DROP: + return vertical_drop_rc_track_brake_for_drop; + case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: + return vertical_drop_rc_track_diag_flat_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + return vertical_drop_rc_track_diag_60_deg_up_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: + return vertical_drop_rc_track_diag_flat_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: + return vertical_drop_rc_track_diag_60_deg_down_to_flat; + /* These track elements used to be specific to the steel vertical_drop */ + case TRACK_ELEM_HALF_LOOP_UP: + return vertical_drop_rc_track_half_loop_up; + case TRACK_ELEM_HALF_LOOP_DOWN: + return vertical_drop_rc_track_half_loop_down; + case TRACK_ELEM_LEFT_CORKSCREW_UP: + return vertical_drop_rc_track_left_corkscrew_up; + case TRACK_ELEM_RIGHT_CORKSCREW_UP: + return vertical_drop_rc_track_right_corkscrew_up; + case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + return vertical_drop_rc_track_left_corkscrew_down; + case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + return vertical_drop_rc_track_right_corkscrew_down; + case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: + return vertical_drop_rc_track_flat_to_60_deg_up_long_base; + case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: + return vertical_drop_rc_track_60_deg_up_to_flat_long_base; + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: + return vertical_drop_rc_track_flat_to_60_deg_down_long_base; + case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: + return vertical_drop_rc_track_60_deg_up_to_flat_long_base122; + case TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN: + return vertical_drop_rc_track_left_barrel_roll_up_to_down; + case TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN: + return vertical_drop_rc_track_right_barrel_roll_up_to_down; + case TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP: + return vertical_drop_rc_track_left_barrel_roll_down_to_up; + case TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP: + return vertical_drop_rc_track_right_barrel_roll_down_to_up; + case TRACK_ELEM_POWERED_LIFT: + return vertical_drop_rc_track_powered_lift; + case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: + return vertical_drop_rc_track_left_large_half_loop_up; + case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: + return vertical_drop_rc_track_right_large_half_loop_up; + case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: + return vertical_drop_rc_track_right_large_half_loop_down; + case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: + return vertical_drop_rc_track_left_large_half_loop_down; + case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP: + return vertical_drop_rc_track_90_deg_to_inverted_flat_quarter_loop_up; + case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: + return vertical_drop_rc_track_inverted_flat_to_90_deg_quarter_loop_down; - case TRACK_ELEM_BOOSTER: - return vertical_drop_rc_track_booster; - } - return NULL; + case TRACK_ELEM_BOOSTER: + return vertical_drop_rc_track_booster; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/virginia_reel.c b/src/openrct2/ride/coaster/virginia_reel.c index e810162f09..205679ba4f 100644 --- a/src/openrct2/ride/coaster/virginia_reel.c +++ b/src/openrct2/ride/coaster/virginia_reel.c @@ -24,151 +24,151 @@ // 0x009927E6: static const vehicle_boundbox _virginiaReelBoundbox[] = { - { -11, -11, 1, 22, 22, 13 }, - { -11, -11, 1, 22, 22, 13 }, - { -11, -11, 1, 22, 22, 13 }, - { -11, -11, 1, 22, 22, 13 }, - { -11, -11, 1, 22, 22, 13 }, - { -11, -11, 1, 22, 22, 13 }, - { -11, -11, 1, 22, 22, 13 }, - { -11, -11, 1, 22, 22, 13 }, - { -11, -11, 1, 22, 22, 13 }, + { -11, -11, 1, 22, 22, 13 }, + { -11, -11, 1, 22, 22, 13 }, + { -11, -11, 1, 22, 22, 13 }, + { -11, -11, 1, 22, 22, 13 }, + { -11, -11, 1, 22, 22, 13 }, + { -11, -11, 1, 22, 22, 13 }, + { -11, -11, 1, 22, 22, 13 }, + { -11, -11, 1, 22, 22, 13 }, + { -11, -11, 1, 22, 22, 13 }, }; enum { - SPR_VIRGINIA_REEL_FLAT_SW_NE = 21458, - SPR_VIRGINIA_REEL_FLAT_NW_SE = 21459, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_SW_NE = 21460, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_NW_SE = 21461, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_NE_SW = 21462, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_SE_NW = 21463, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_SW_NE = 21464, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_NW_SE = 21465, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_NE_SW = 21466, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_SE_NW = 21467, - SPR_VIRGINIA_REEL_25_DEG_UP_SW_NE = 21468, - SPR_VIRGINIA_REEL_25_DEG_UP_NW_SE = 21469, - SPR_VIRGINIA_REEL_25_DEG_UP_NE_SW = 21470, - SPR_VIRGINIA_REEL_25_DEG_UP_SE_NW = 21471, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 21472, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 21473, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 21474, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 21475, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 21476, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 21477, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 21478, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 21479, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 21480, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 21481, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 21482, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 21483, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_SW_NW = 21484, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_NW_NE = 21485, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_NE_SE = 21486, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_SE_SW = 21487, - SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_SW_NE = 21488, - SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_NW_SE = 21489, - SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_NE_SW = 21490, - SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_SE_NW = 21491, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_SW_NE = 21492, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_NW_SE = 21493, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_NE_SW = 21494, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_SE_NW = 21495, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_SW_NE = 21496, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_NW_SE = 21497, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_NE_SW = 21498, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_SE_NW = 21499, - SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_SW_NE = 21500, - SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_NW_SE = 21501, - SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_NE_SW = 21502, - SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_SE_NW = 21503, + SPR_VIRGINIA_REEL_FLAT_SW_NE = 21458, + SPR_VIRGINIA_REEL_FLAT_NW_SE = 21459, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_SW_NE = 21460, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_NW_SE = 21461, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_NE_SW = 21462, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_SE_NW = 21463, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_SW_NE = 21464, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_NW_SE = 21465, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_NE_SW = 21466, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_SE_NW = 21467, + SPR_VIRGINIA_REEL_25_DEG_UP_SW_NE = 21468, + SPR_VIRGINIA_REEL_25_DEG_UP_NW_SE = 21469, + SPR_VIRGINIA_REEL_25_DEG_UP_NE_SW = 21470, + SPR_VIRGINIA_REEL_25_DEG_UP_SE_NW = 21471, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 21472, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 21473, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 21474, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 21475, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 21476, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 21477, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 21478, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 21479, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 21480, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 21481, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 21482, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 21483, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_SW_NW = 21484, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_NW_NE = 21485, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_NE_SE = 21486, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_SE_SW = 21487, + SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_SW_NE = 21488, + SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_NW_SE = 21489, + SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_NE_SW = 21490, + SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_SE_NW = 21491, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_SW_NE = 21492, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_NW_SE = 21493, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_NE_SW = 21494, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_SE_NW = 21495, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_SW_NE = 21496, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_NW_SE = 21497, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_NE_SW = 21498, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_SE_NW = 21499, + SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_SW_NE = 21500, + SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_NW_SE = 21501, + SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_NE_SW = 21502, + SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_SE_NW = 21503, }; static const uint32 virginia_reel_track_pieces_flat[4] = { - SPR_VIRGINIA_REEL_FLAT_SW_NE, - SPR_VIRGINIA_REEL_FLAT_NW_SE, - SPR_VIRGINIA_REEL_FLAT_SW_NE, - SPR_VIRGINIA_REEL_FLAT_NW_SE, + SPR_VIRGINIA_REEL_FLAT_SW_NE, + SPR_VIRGINIA_REEL_FLAT_NW_SE, + SPR_VIRGINIA_REEL_FLAT_SW_NE, + SPR_VIRGINIA_REEL_FLAT_NW_SE, }; static const uint32 virginia_reel_track_pieces_flat_lift_hill[4] = { - SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_SW_NE, - SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_NW_SE, - SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_NE_SW, - SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_SE_NW, + SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_SW_NE, + SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_NW_SE, + SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_NE_SW, + SPR_VIRGINIA_REEL_FLAT_LIFT_HILL_SE_NW, }; static const uint32 virginia_reel_track_pieces_flat_to_25_deg_up[4] = { - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_SW_NE, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_NW_SE, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_NE_SW, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_SE_NW, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_SW_NE, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_NW_SE, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_NE_SW, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_SE_NW, }; static const uint32 virginia_reel_track_pieces_flat_to_25_deg_up_lift_hill[4] = { - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_SW_NE, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_NW_SE, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_NE_SW, - SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_SE_NW, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_SW_NE, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_NW_SE, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_NE_SW, + SPR_VIRGINIA_REEL_FLAT_TO_25_DEG_UP_LIFT_HILL_SE_NW, }; static const uint32 virginia_reel_track_pieces_25_deg_up_to_flat[4] = { - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_SW_NE, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_NW_SE, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_NE_SW, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_SE_NW, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_SW_NE, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_NW_SE, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_NE_SW, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_SE_NW, }; static const uint32 virginia_reel_track_pieces_25_deg_up_to_flat_lift_hill[4] = { - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_SW_NE, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_NW_SE, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_NE_SW, - SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_SE_NW, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_SW_NE, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_NW_SE, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_NE_SW, + SPR_VIRGINIA_REEL_25_DEG_UP_TO_FLAT_LIFT_HILL_SE_NW, }; static const uint32 virginia_reel_track_pieces_25_deg_up[4] = { - SPR_VIRGINIA_REEL_25_DEG_UP_SW_NE, - SPR_VIRGINIA_REEL_25_DEG_UP_NW_SE, - SPR_VIRGINIA_REEL_25_DEG_UP_NE_SW, - SPR_VIRGINIA_REEL_25_DEG_UP_SE_NW, + SPR_VIRGINIA_REEL_25_DEG_UP_SW_NE, + SPR_VIRGINIA_REEL_25_DEG_UP_NW_SE, + SPR_VIRGINIA_REEL_25_DEG_UP_NE_SW, + SPR_VIRGINIA_REEL_25_DEG_UP_SE_NW, }; static const uint32 virginia_reel_track_pieces_25_deg_up_lift_hill[4] = { - SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_SW_NE, - SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_NW_SE, - SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_NE_SW, - SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_SE_NW, + SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_SW_NE, + SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_NW_SE, + SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_NE_SW, + SPR_VIRGINIA_REEL_25_DEG_UP_LIFT_HILL_SE_NW, }; static const uint32 virginia_reel_track_pieces_flat_quarter_turn_3_tiles[4][3] = { - { - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_0, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_1, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_2 - }, - { - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_0, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_1, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_2 - }, - { - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_0, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_1, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_2 - }, - { - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_0, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_1, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_2 - } + { + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_0, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_1, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_2 + }, + { + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_0, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_1, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_2 + }, + { + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_0, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_1, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_2 + }, + { + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_0, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_1, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_2 + } }; static const uint32 virginia_reel_track_pieces_flat_quarter_turn_1_tile[4] = { - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_SW_NW, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_NW_NE, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_NE_SE, - SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_SE_SW, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_SW_NW, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_NW_NE, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_NE_SE, + SPR_VIRGINIA_REEL_FLAT_QUARTER_TURN_1_TILE_SE_SW, }; /** @@ -177,258 +177,258 @@ static const uint32 virginia_reel_track_pieces_flat_quarter_turn_1_tile[4] = { */ void vehicle_visual_virginia_reel(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - sint32 image_id; - sint32 baseImage_id = imageDirection; - const uint8 rotation = get_current_rotation(); - sint32 ecx = ((vehicle->var_BA / 8) + (rotation * 8)) & 31; - sint32 j = 0; - if (vehicle->vehicle_sprite_type == 0) { - baseImage_id = ecx & 7; - } else { - if (vehicle->vehicle_sprite_type == 1 || vehicle->vehicle_sprite_type == 5) { - if (vehicle->vehicle_sprite_type == 5){ - baseImage_id = imageDirection ^ 16; - } - baseImage_id &= 24; - j = (baseImage_id / 8) + 1; - baseImage_id += (ecx & 7); - baseImage_id += 8; - } else - if (vehicle->vehicle_sprite_type == 2 || vehicle->vehicle_sprite_type == 6) { - if (vehicle->vehicle_sprite_type == 6){ - baseImage_id = imageDirection ^ 16; - } - baseImage_id &= 24; - j = (baseImage_id / 8) + 5; - baseImage_id += (ecx & 7); - baseImage_id += 40; - } else { - baseImage_id = ecx & 7; - } - } - baseImage_id += vehicleEntry->base_image_id; + sint32 image_id; + sint32 baseImage_id = imageDirection; + const uint8 rotation = get_current_rotation(); + sint32 ecx = ((vehicle->var_BA / 8) + (rotation * 8)) & 31; + sint32 j = 0; + if (vehicle->vehicle_sprite_type == 0) { + baseImage_id = ecx & 7; + } else { + if (vehicle->vehicle_sprite_type == 1 || vehicle->vehicle_sprite_type == 5) { + if (vehicle->vehicle_sprite_type == 5){ + baseImage_id = imageDirection ^ 16; + } + baseImage_id &= 24; + j = (baseImage_id / 8) + 1; + baseImage_id += (ecx & 7); + baseImage_id += 8; + } else + if (vehicle->vehicle_sprite_type == 2 || vehicle->vehicle_sprite_type == 6) { + if (vehicle->vehicle_sprite_type == 6){ + baseImage_id = imageDirection ^ 16; + } + baseImage_id &= 24; + j = (baseImage_id / 8) + 5; + baseImage_id += (ecx & 7); + baseImage_id += 40; + } else { + baseImage_id = ecx & 7; + } + } + baseImage_id += vehicleEntry->base_image_id; - const vehicle_boundbox *bb = &_virginiaReelBoundbox[j]; - image_id = baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0xA0000000; - sub_98197C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); + const vehicle_boundbox *bb = &_virginiaReelBoundbox[j]; + image_id = baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0xA0000000; + sub_98197C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); - if (unk_140E9A8->zoom_level < 2 && vehicle->num_peeps > 0) { - uint8 riding_peep_sprites[4] = {0xFF, 0xFF, 0xFF, 0xFF}; - for (sint32 i = 0; i < vehicle->num_peeps; i++) { - riding_peep_sprites[((ecx / 8) + i) & 3] = vehicle->peep_tshirt_colours[i]; - } - sint32 draw_order[4] = {0, 1, 3, 2}; - for (sint32 i = 0; i < countof(draw_order); i++) { - if (riding_peep_sprites[draw_order[i]] != 0xFF) { - image_id = (baseImage_id + ((draw_order[i] + 1) * 72)) | (riding_peep_sprites[draw_order[i]] << 19) | 0x20000000; - sub_98199C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); - } - } - } + if (unk_140E9A8->zoom_level < 2 && vehicle->num_peeps > 0) { + uint8 riding_peep_sprites[4] = {0xFF, 0xFF, 0xFF, 0xFF}; + for (sint32 i = 0; i < vehicle->num_peeps; i++) { + riding_peep_sprites[((ecx / 8) + i) & 3] = vehicle->peep_tshirt_colours[i]; + } + sint32 draw_order[4] = {0, 1, 3, 2}; + for (sint32 i = 0; i < countof(draw_order); i++) { + if (riding_peep_sprites[draw_order[i]] != 0xFF) { + image_id = (baseImage_id + ((draw_order[i] + 1) * 72)) | (riding_peep_sprites[draw_order[i]] << 19) | 0x20000000; + sub_98199C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); + } + } + } - assert(vehicleEntry->effect_visual == 1); + assert(vehicleEntry->effect_visual == 1); } /** rct2: 0x00811264 */ static void paint_virginia_reel_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const uint32 * sprites = virginia_reel_track_pieces_flat; - if (mapElement->type & 0x80) { - sprites = virginia_reel_track_pieces_flat_lift_hill; - } + const uint32 * sprites = virginia_reel_track_pieces_flat; + if (mapElement->type & 0x80) { + sprites = virginia_reel_track_pieces_flat_lift_hill; + } - uint32 imageId = sprites[direction] | gTrackColours[SCHEME_TRACK]; - if (direction & 1) { - sub_98197C(imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_6); - } else { - sub_98197C(imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - } + uint32 imageId = sprites[direction] | gTrackColours[SCHEME_TRACK]; + if (direction & 1) { + sub_98197C(imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation()); + paint_util_push_tunnel_right(height, TUNNEL_6); + } else { + sub_98197C(imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation()); + paint_util_push_tunnel_left(height, TUNNEL_6); + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00811274 */ static void paint_virginia_reel_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const uint32 * sprites = virginia_reel_track_pieces_25_deg_up; - if (mapElement->type & 0x80) { - sprites = virginia_reel_track_pieces_25_deg_up_lift_hill; - } + const uint32 * sprites = virginia_reel_track_pieces_25_deg_up; + if (mapElement->type & 0x80) { + sprites = virginia_reel_track_pieces_25_deg_up_lift_hill; + } - uint32 imageId = sprites[direction] | gTrackColours[SCHEME_TRACK]; - paint_struct * ps; + uint32 imageId = sprites[direction] | gTrackColours[SCHEME_TRACK]; + paint_struct * ps; - if (direction & 1) { - ps = sub_98197C(imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation()); - } else { - ps = sub_98197C(imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation()); - } + if (direction & 1) { + ps = sub_98197C(imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation()); + } else { + ps = sub_98197C(imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation()); + } - if (direction == 1 || direction == 2) { - gWoodenSupportsPrependTo = ps; - } + if (direction == 1 || direction == 2) { + gWoodenSupportsPrependTo = ps; + } - switch (direction) { - case 0: - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height - 8, TUNNEL_7); - break; - case 1: - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 2: - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - case 3: - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height - 8, TUNNEL_7); - break; - } + switch (direction) { + case 0: + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height - 8, TUNNEL_7); + break; + case 1: + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 2: + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + case 3: + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height - 8, TUNNEL_7); + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x00811294 */ static void paint_virginia_reel_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const uint32 * sprites = virginia_reel_track_pieces_flat_to_25_deg_up; - if (mapElement->type & 0x80) { - sprites = virginia_reel_track_pieces_flat_to_25_deg_up_lift_hill; - } + const uint32 * sprites = virginia_reel_track_pieces_flat_to_25_deg_up; + if (mapElement->type & 0x80) { + sprites = virginia_reel_track_pieces_flat_to_25_deg_up_lift_hill; + } - uint32 imageId = sprites[direction] | gTrackColours[SCHEME_TRACK]; - paint_struct * ps; - switch (direction) { - case 0: - sub_98197C(imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation()); + uint32 imageId = sprites[direction] | gTrackColours[SCHEME_TRACK]; + paint_struct * ps; + switch (direction) { + case 0: + sub_98197C(imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation()); - wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - case 1: - ps = sub_98197C(imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation()); - gWoodenSupportsPrependTo = ps; + wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + case 1: + ps = sub_98197C(imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation()); + gWoodenSupportsPrependTo = ps; - wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height, TUNNEL_8); - break; - case 2: - ps = sub_98197C(imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation()); - gWoodenSupportsPrependTo = ps; + wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height, TUNNEL_8); + break; + case 2: + ps = sub_98197C(imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation()); + gWoodenSupportsPrependTo = ps; - wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height, TUNNEL_8); - break; - case 3: - sub_98197C(imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation()); + wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height, TUNNEL_8); + break; + case 3: + sub_98197C(imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation()); - wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - } + wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x00811294 */ static void paint_virginia_reel_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const uint32 * sprites = virginia_reel_track_pieces_25_deg_up_to_flat; - if (mapElement->type & 0x80) { - sprites = virginia_reel_track_pieces_25_deg_up_to_flat_lift_hill; - } + const uint32 * sprites = virginia_reel_track_pieces_25_deg_up_to_flat; + if (mapElement->type & 0x80) { + sprites = virginia_reel_track_pieces_25_deg_up_to_flat_lift_hill; + } - uint32 imageId = sprites[direction] | gTrackColours[SCHEME_TRACK]; - paint_struct * ps; + uint32 imageId = sprites[direction] | gTrackColours[SCHEME_TRACK]; + paint_struct * ps; - if (direction & 1) { - ps = sub_98197C(imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation()); - } else { - ps = sub_98197C(imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation()); - } + if (direction & 1) { + ps = sub_98197C(imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation()); + } else { + ps = sub_98197C(imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation()); + } - if (direction == 1 || direction == 2) { - gWoodenSupportsPrependTo = ps; - } + if (direction == 1 || direction == 2) { + gWoodenSupportsPrependTo = ps; + } - switch (direction) { - case 0: - wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height - 8, TUNNEL_6); - break; - case 1: - wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height + 8, TUNNEL_14); - break; - case 2: - wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height + 8, TUNNEL_14); - break; - case 3: - wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height - 8, TUNNEL_6); - break; - } + switch (direction) { + case 0: + wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height - 8, TUNNEL_6); + break; + case 1: + wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height + 8, TUNNEL_14); + break; + case 2: + wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height + 8, TUNNEL_14); + break; + case 3: + wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height - 8, TUNNEL_6); + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008112A4 */ static void paint_virginia_reel_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_virginia_reel_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_virginia_reel_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x008112B4 */ static void paint_virginia_reel_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_virginia_reel_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_virginia_reel_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x008112C4 */ static void paint_virginia_reel_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_virginia_reel_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_virginia_reel_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x008112D4, 0x008112E4, 0x008112F4 */ static void paint_virginia_reel_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - if (direction == 0 || direction == 2) { - imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height, get_current_rotation()); + if (direction == 0 || direction == 2) { + imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height, get_current_rotation()); - imageId = SPR_VIRGINIA_REEL_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 32, 20, 2, height, 0, 0, height, get_current_rotation()); + imageId = SPR_VIRGINIA_REEL_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 32, 20, 2, height, 0, 0, height, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - } else if (direction == 1 || direction == 3) { - imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height, get_current_rotation()); + paint_util_push_tunnel_left(height, TUNNEL_6); + } else if (direction == 1 || direction == 3) { + imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height, get_current_rotation()); - imageId = SPR_VIRGINIA_REEL_FLAT_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 20, 32, 2, height, 0, 0, height, get_current_rotation()); + imageId = SPR_VIRGINIA_REEL_FLAT_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 20, 32, 2, height, 0, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_6); - } + paint_util_push_tunnel_right(height, TUNNEL_6); + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static const uint8 virginia_reel_left_quarter_turn_supports[] = {5, 2, 3, 4}; @@ -436,21 +436,21 @@ static const uint8 virginia_reel_left_quarter_turn_supports[] = {5, 2, 3, 4}; /** rct2: 0x00811304 */ static void paint_virginia_reel_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_left_quarter_turn_3_tiles_paint(2, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], virginia_reel_track_pieces_flat_quarter_turn_3_tiles, get_current_rotation()); - track_paint_util_left_quarter_turn_3_tiles_tunnel(height, TUNNEL_6, direction, trackSequence); + track_paint_util_left_quarter_turn_3_tiles_paint(2, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], virginia_reel_track_pieces_flat_quarter_turn_3_tiles, get_current_rotation()); + track_paint_util_left_quarter_turn_3_tiles_tunnel(height, TUNNEL_6, direction, trackSequence); - switch (trackSequence) { - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8, direction), 0xFFFF, 0); - break; - case 0: - case 3: - wooden_a_supports_paint_setup(virginia_reel_left_quarter_turn_supports[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8, direction), 0xFFFF, 0); + break; + case 0: + case 3: + wooden_a_supports_paint_setup(virginia_reel_left_quarter_turn_supports[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static const uint8 virginia_reel_right_quarter_turn_3_tiles_to_left_turn_map[] = {3, 1, 2, 0}; @@ -458,42 +458,42 @@ static const uint8 virginia_reel_right_quarter_turn_3_tiles_to_left_turn_map[] = /** rct2: 0x00811314 */ static void paint_virginia_reel_track_right_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = virginia_reel_right_quarter_turn_3_tiles_to_left_turn_map[trackSequence]; - paint_virginia_reel_track_left_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + trackSequence = virginia_reel_right_quarter_turn_3_tiles_to_left_turn_map[trackSequence]; + paint_virginia_reel_track_left_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } /** rct2: 0x00811324 */ static void paint_virginia_reel_track_left_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_left_quarter_turn_1_tile_paint(2, height, 0, direction, gTrackColours[SCHEME_TRACK], virginia_reel_track_pieces_flat_quarter_turn_1_tile, get_current_rotation()); + track_paint_util_left_quarter_turn_1_tile_paint(2, height, 0, direction, gTrackColours[SCHEME_TRACK], virginia_reel_track_pieces_flat_quarter_turn_1_tile, get_current_rotation()); - switch (direction) { - case 0: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - case 1: - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height, TUNNEL_6); - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } + switch (direction) { + case 0: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + case 1: + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height, TUNNEL_6); + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00811334 */ static void paint_virginia_reel_track_right_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_virginia_reel_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + paint_virginia_reel_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } /** @@ -501,39 +501,39 @@ static void paint_virginia_reel_track_right_quarter_turn_1_tile(uint8 rideIndex, */ TRACK_PAINT_FUNCTION get_track_paint_function_virginia_reel(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return paint_virginia_reel_track_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_virginia_reel_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_virginia_reel_station; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_virginia_reel_station; - case TRACK_ELEM_25_DEG_UP: - return paint_virginia_reel_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return paint_virginia_reel_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return paint_virginia_reel_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_UP: + return paint_virginia_reel_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_virginia_reel_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_virginia_reel_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return paint_virginia_reel_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return paint_virginia_reel_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return paint_virginia_reel_track_25_deg_down_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return paint_virginia_reel_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_virginia_reel_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_virginia_reel_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return paint_virginia_reel_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return paint_virginia_reel_track_right_quarter_turn_3_tiles; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return paint_virginia_reel_track_left_quarter_turn_3_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return paint_virginia_reel_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return paint_virginia_reel_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return paint_virginia_reel_track_right_quarter_turn_1_tile; - } + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return paint_virginia_reel_track_left_quarter_turn_1_tile; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return paint_virginia_reel_track_right_quarter_turn_1_tile; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/coaster/wild_mouse.c b/src/openrct2/ride/coaster/wild_mouse.c index e8dd547eb8..44d79f9905 100644 --- a/src/openrct2/ride/coaster/wild_mouse.c +++ b/src/openrct2/ride/coaster/wild_mouse.c @@ -27,813 +27,813 @@ #include "../track_paint.h" enum { - SPR_WILD_MOUSE_FLAT_SW_NE = 16900, - SPR_WILD_MOUSE_FLAT_NW_SE = 16901, - SPR_WILD_MOUSE_BRAKES_SW_NE = 16902, - SPR_WILD_MOUSE_BRAKES_NW_SE = 16903, - SPR_WILD_MOUSE_BLOCK_BRAKES_SW_NE = 16904, - SPR_WILD_MOUSE_BLOCK_BRAKES_NW_SE = 16905, + SPR_WILD_MOUSE_FLAT_SW_NE = 16900, + SPR_WILD_MOUSE_FLAT_NW_SE = 16901, + SPR_WILD_MOUSE_BRAKES_SW_NE = 16902, + SPR_WILD_MOUSE_BRAKES_NW_SE = 16903, + SPR_WILD_MOUSE_BLOCK_BRAKES_SW_NE = 16904, + SPR_WILD_MOUSE_BLOCK_BRAKES_NW_SE = 16905, - SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_SW_NE = 16908, - SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_NW_SE = 16909, - SPR_WILD_MOUSE_FLAT_CHAIN_SW_NE = 16910, - SPR_WILD_MOUSE_FLAT_CHAIN_NW_SE = 16911, - SPR_WILD_MOUSE_FLAT_CHAIN_NE_SW = 16912, - SPR_WILD_MOUSE_FLAT_CHAIN_SE_NW = 16913, - SPR_WILD_MOUSE_FLAT_TO_25_DEG_SW_NE = 16914, - SPR_WILD_MOUSE_FLAT_TO_25_DEG_NW_SE = 16915, - SPR_WILD_MOUSE_FLAT_TO_25_DEG_NE_SW = 16916, - SPR_WILD_MOUSE_FLAT_TO_25_DEG_SE_NW = 16917, - SPR_WILD_MOUSE_25_DEG_TO_FLAT_SW_NE = 16918, - SPR_WILD_MOUSE_25_DEG_TO_FLAT_NW_SE = 16919, - SPR_WILD_MOUSE_25_DEG_TO_FLAT_NE_SW = 16920, - SPR_WILD_MOUSE_25_DEG_TO_FLAT_SE_NW = 16921, - SPR_WILD_MOUSE_25_DEG_SW_NE = 16922, - SPR_WILD_MOUSE_25_DEG_NW_SE = 16923, - SPR_WILD_MOUSE_25_DEG_NE_SW = 16924, - SPR_WILD_MOUSE_25_DEG_SE_NW = 16925, - SPR_WILD_MOUSE_25_DEG_TO_60_DEG_SW_NE = 16926, - SPR_WILD_MOUSE_25_DEG_TO_60_DEG_NW_SE = 16927, - SPR_WILD_MOUSE_25_DEG_TO_60_DEG_NE_SW = 16928, - SPR_WILD_MOUSE_25_DEG_TO_60_DEG_SE_NW = 16929, - SPR_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NW_SE = 16930, - SPR_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NE_SW = 16931, - SPR_WILD_MOUSE_60_DEG_TO_25_DEG_SW_NE = 16932, - SPR_WILD_MOUSE_60_DEG_TO_25_DEG_NW_SE = 16933, - SPR_WILD_MOUSE_60_DEG_TO_25_DEG_NE_SW = 16934, - SPR_WILD_MOUSE_60_DEG_TO_25_DEG_SE_NW = 16935, - SPR_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NW_SE = 16936, - SPR_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NE_SW = 16937, - SPR_WILD_MOUSE_60_DEG_SW_NE = 16938, - SPR_WILD_MOUSE_60_DEG_NW_SE = 16939, - SPR_WILD_MOUSE_60_DEG_NE_SW = 16940, - SPR_WILD_MOUSE_60_DEG_SE_NW = 16941, - SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SW_NE = 16942, - SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NW_SE = 16943, - SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NE_SW = 16944, - SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SE_NW = 16945, - SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SW_NE = 16946, - SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NW_SE = 16947, - SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NE_SW = 16948, - SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SE_NW = 16949, - SPR_WILD_MOUSE_25_DEG_CHAIN_SW_NE = 16950, - SPR_WILD_MOUSE_25_DEG_CHAIN_NW_SE = 16951, - SPR_WILD_MOUSE_25_DEG_CHAIN_NE_SW = 16952, - SPR_WILD_MOUSE_25_DEG_CHAIN_SE_NW = 16953, - SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SW_NE = 16954, - SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NW_SE = 16955, - SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NE_SW = 16956, - SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SE_NW = 16957, - SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NW_SE = 16958, - SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NE_SW = 16959, - SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SW_NE = 16960, - SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NW_SE = 16961, - SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NE_SW = 16962, - SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SE_NW = 16963, - SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NW_SE = 16964, - SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NE_SW = 16965, - SPR_WILD_MOUSE_60_DEG_CHAIN_SW_NE = 16966, - SPR_WILD_MOUSE_60_DEG_CHAIN_NW_SE = 16967, - SPR_WILD_MOUSE_60_DEG_CHAIN_NE_SW = 16968, - SPR_WILD_MOUSE_60_DEG_CHAIN_SE_NW = 16969, - SPR_WILD_MOUSE_FLAT_TO_60_DEG_SW_NE = 16970, - SPR_WILD_MOUSE_FLAT_TO_60_DEG_NW_SE = 16971, - SPR_WILD_MOUSE_FLAT_TO_60_DEG_NE_SW = 16972, - SPR_WILD_MOUSE_FLAT_TO_60_DEG_SE_NW = 16973, - SPR_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NW_SE = 16974, - SPR_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NE_SW = 16975, - SPR_WILD_MOUSE_60_DEG_TO_FLAT_SW_NE = 16976, - SPR_WILD_MOUSE_60_DEG_TO_FLAT_NW_SE = 16977, - SPR_WILD_MOUSE_60_DEG_TO_FLAT_NE_SW = 16978, - SPR_WILD_MOUSE_60_DEG_TO_FLAT_SE_NW = 16979, - SPR_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NW_SE = 16980, - SPR_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NE_SW = 16981, - SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SW_NE = 16982, - SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NW_SE = 16983, - SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NE_SW = 16984, - SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SE_NW = 16985, - SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NW_SE = 16986, - SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NE_SW = 16987, - SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SW_NE = 16988, - SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NW_SE = 16989, - SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NE_SW = 16990, - SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SE_NW = 16991, - SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NW_SE = 16992, - SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NE_SW = 16993, - SPR_WILD_MOUSE_QUARTER_TURN_1_SW_NE = 16994, - SPR_WILD_MOUSE_QUARTER_TURN_1_NW_SE = 16995, - SPR_WILD_MOUSE_QUARTER_TURN_1_NE_SW = 16996, - SPR_WILD_MOUSE_QUARTER_TURN_1_SE_NW = 16997, - SPR_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_0 = 16998, - SPR_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_1 = 16999, - SPR_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_2 = 17000, - SPR_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_0 = 17001, - SPR_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_1 = 17002, - SPR_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_2 = 17003, - SPR_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_0 = 17004, - SPR_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_1 = 17005, - SPR_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_2 = 17006, - SPR_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_0 = 17007, - SPR_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_1 = 17008, - SPR_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_2 = 17009, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SW_SE_PART_0 = 17010, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SW_SE_PART_1 = 17011, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NW_SW_PART_0 = 17012, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NW_SW_PART_1 = 17013, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NE_NW_PART_0 = 17014, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NE_NW_PART_1 = 17015, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SE_NE_PART_0 = 17016, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SE_NE_PART_1 = 17017, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SW_SE_PART_0 = 17018, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SW_SE_PART_1 = 17019, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NW_SW_PART_0 = 17020, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NW_SW_PART_1 = 17021, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NE_NW_PART_0 = 17022, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NE_NW_PART_1 = 17023, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SE_NE_PART_0 = 17024, - SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SE_NE_PART_1 = 17025, + SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_SW_NE = 16908, + SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_NW_SE = 16909, + SPR_WILD_MOUSE_FLAT_CHAIN_SW_NE = 16910, + SPR_WILD_MOUSE_FLAT_CHAIN_NW_SE = 16911, + SPR_WILD_MOUSE_FLAT_CHAIN_NE_SW = 16912, + SPR_WILD_MOUSE_FLAT_CHAIN_SE_NW = 16913, + SPR_WILD_MOUSE_FLAT_TO_25_DEG_SW_NE = 16914, + SPR_WILD_MOUSE_FLAT_TO_25_DEG_NW_SE = 16915, + SPR_WILD_MOUSE_FLAT_TO_25_DEG_NE_SW = 16916, + SPR_WILD_MOUSE_FLAT_TO_25_DEG_SE_NW = 16917, + SPR_WILD_MOUSE_25_DEG_TO_FLAT_SW_NE = 16918, + SPR_WILD_MOUSE_25_DEG_TO_FLAT_NW_SE = 16919, + SPR_WILD_MOUSE_25_DEG_TO_FLAT_NE_SW = 16920, + SPR_WILD_MOUSE_25_DEG_TO_FLAT_SE_NW = 16921, + SPR_WILD_MOUSE_25_DEG_SW_NE = 16922, + SPR_WILD_MOUSE_25_DEG_NW_SE = 16923, + SPR_WILD_MOUSE_25_DEG_NE_SW = 16924, + SPR_WILD_MOUSE_25_DEG_SE_NW = 16925, + SPR_WILD_MOUSE_25_DEG_TO_60_DEG_SW_NE = 16926, + SPR_WILD_MOUSE_25_DEG_TO_60_DEG_NW_SE = 16927, + SPR_WILD_MOUSE_25_DEG_TO_60_DEG_NE_SW = 16928, + SPR_WILD_MOUSE_25_DEG_TO_60_DEG_SE_NW = 16929, + SPR_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NW_SE = 16930, + SPR_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NE_SW = 16931, + SPR_WILD_MOUSE_60_DEG_TO_25_DEG_SW_NE = 16932, + SPR_WILD_MOUSE_60_DEG_TO_25_DEG_NW_SE = 16933, + SPR_WILD_MOUSE_60_DEG_TO_25_DEG_NE_SW = 16934, + SPR_WILD_MOUSE_60_DEG_TO_25_DEG_SE_NW = 16935, + SPR_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NW_SE = 16936, + SPR_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NE_SW = 16937, + SPR_WILD_MOUSE_60_DEG_SW_NE = 16938, + SPR_WILD_MOUSE_60_DEG_NW_SE = 16939, + SPR_WILD_MOUSE_60_DEG_NE_SW = 16940, + SPR_WILD_MOUSE_60_DEG_SE_NW = 16941, + SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SW_NE = 16942, + SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NW_SE = 16943, + SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NE_SW = 16944, + SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SE_NW = 16945, + SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SW_NE = 16946, + SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NW_SE = 16947, + SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NE_SW = 16948, + SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SE_NW = 16949, + SPR_WILD_MOUSE_25_DEG_CHAIN_SW_NE = 16950, + SPR_WILD_MOUSE_25_DEG_CHAIN_NW_SE = 16951, + SPR_WILD_MOUSE_25_DEG_CHAIN_NE_SW = 16952, + SPR_WILD_MOUSE_25_DEG_CHAIN_SE_NW = 16953, + SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SW_NE = 16954, + SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NW_SE = 16955, + SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NE_SW = 16956, + SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SE_NW = 16957, + SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NW_SE = 16958, + SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NE_SW = 16959, + SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SW_NE = 16960, + SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NW_SE = 16961, + SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NE_SW = 16962, + SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SE_NW = 16963, + SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NW_SE = 16964, + SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NE_SW = 16965, + SPR_WILD_MOUSE_60_DEG_CHAIN_SW_NE = 16966, + SPR_WILD_MOUSE_60_DEG_CHAIN_NW_SE = 16967, + SPR_WILD_MOUSE_60_DEG_CHAIN_NE_SW = 16968, + SPR_WILD_MOUSE_60_DEG_CHAIN_SE_NW = 16969, + SPR_WILD_MOUSE_FLAT_TO_60_DEG_SW_NE = 16970, + SPR_WILD_MOUSE_FLAT_TO_60_DEG_NW_SE = 16971, + SPR_WILD_MOUSE_FLAT_TO_60_DEG_NE_SW = 16972, + SPR_WILD_MOUSE_FLAT_TO_60_DEG_SE_NW = 16973, + SPR_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NW_SE = 16974, + SPR_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NE_SW = 16975, + SPR_WILD_MOUSE_60_DEG_TO_FLAT_SW_NE = 16976, + SPR_WILD_MOUSE_60_DEG_TO_FLAT_NW_SE = 16977, + SPR_WILD_MOUSE_60_DEG_TO_FLAT_NE_SW = 16978, + SPR_WILD_MOUSE_60_DEG_TO_FLAT_SE_NW = 16979, + SPR_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NW_SE = 16980, + SPR_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NE_SW = 16981, + SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SW_NE = 16982, + SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NW_SE = 16983, + SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NE_SW = 16984, + SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SE_NW = 16985, + SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NW_SE = 16986, + SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NE_SW = 16987, + SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SW_NE = 16988, + SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NW_SE = 16989, + SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NE_SW = 16990, + SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SE_NW = 16991, + SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NW_SE = 16992, + SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NE_SW = 16993, + SPR_WILD_MOUSE_QUARTER_TURN_1_SW_NE = 16994, + SPR_WILD_MOUSE_QUARTER_TURN_1_NW_SE = 16995, + SPR_WILD_MOUSE_QUARTER_TURN_1_NE_SW = 16996, + SPR_WILD_MOUSE_QUARTER_TURN_1_SE_NW = 16997, + SPR_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_0 = 16998, + SPR_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_1 = 16999, + SPR_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_2 = 17000, + SPR_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_0 = 17001, + SPR_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_1 = 17002, + SPR_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_2 = 17003, + SPR_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_0 = 17004, + SPR_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_1 = 17005, + SPR_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_2 = 17006, + SPR_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_0 = 17007, + SPR_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_1 = 17008, + SPR_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_2 = 17009, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SW_SE_PART_0 = 17010, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SW_SE_PART_1 = 17011, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NW_SW_PART_0 = 17012, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NW_SW_PART_1 = 17013, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NE_NW_PART_0 = 17014, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NE_NW_PART_1 = 17015, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SE_NE_PART_0 = 17016, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SE_NE_PART_1 = 17017, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SW_SE_PART_0 = 17018, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SW_SE_PART_1 = 17019, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NW_SW_PART_0 = 17020, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NW_SW_PART_1 = 17021, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NE_NW_PART_0 = 17022, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NE_NW_PART_1 = 17023, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SE_NE_PART_0 = 17024, + SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SE_NE_PART_1 = 17025, }; static const uint32 _wild_mouse_brakes_image_ids[4] = { - SPR_WILD_MOUSE_BRAKES_SW_NE, - SPR_WILD_MOUSE_BRAKES_NW_SE, - SPR_WILD_MOUSE_BRAKES_SW_NE, - SPR_WILD_MOUSE_BRAKES_NW_SE, + SPR_WILD_MOUSE_BRAKES_SW_NE, + SPR_WILD_MOUSE_BRAKES_NW_SE, + SPR_WILD_MOUSE_BRAKES_SW_NE, + SPR_WILD_MOUSE_BRAKES_NW_SE, }; static const uint32 _wild_mouse_block_brakes_image_ids[4] = { - SPR_WILD_MOUSE_BLOCK_BRAKES_SW_NE, - SPR_WILD_MOUSE_BLOCK_BRAKES_NW_SE, - SPR_WILD_MOUSE_BLOCK_BRAKES_SW_NE, - SPR_WILD_MOUSE_BLOCK_BRAKES_NW_SE, + SPR_WILD_MOUSE_BLOCK_BRAKES_SW_NE, + SPR_WILD_MOUSE_BLOCK_BRAKES_NW_SE, + SPR_WILD_MOUSE_BLOCK_BRAKES_SW_NE, + SPR_WILD_MOUSE_BLOCK_BRAKES_NW_SE, }; /** rct2: 0x0078B1E4 */ static void wild_mouse_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WILD_MOUSE_FLAT_SW_NE, SPR_WILD_MOUSE_FLAT_CHAIN_SW_NE }, - { SPR_WILD_MOUSE_FLAT_NW_SE, SPR_WILD_MOUSE_FLAT_CHAIN_NW_SE }, - { SPR_WILD_MOUSE_FLAT_SW_NE, SPR_WILD_MOUSE_FLAT_CHAIN_NE_SW }, - { SPR_WILD_MOUSE_FLAT_NW_SE, SPR_WILD_MOUSE_FLAT_CHAIN_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WILD_MOUSE_FLAT_SW_NE, SPR_WILD_MOUSE_FLAT_CHAIN_SW_NE }, + { SPR_WILD_MOUSE_FLAT_NW_SE, SPR_WILD_MOUSE_FLAT_CHAIN_NW_SE }, + { SPR_WILD_MOUSE_FLAT_SW_NE, SPR_WILD_MOUSE_FLAT_CHAIN_NE_SW }, + { SPR_WILD_MOUSE_FLAT_NW_SE, SPR_WILD_MOUSE_FLAT_CHAIN_SE_NW }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void wild_mouse_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 baseImageIds[4] = { - SPR_STATION_BASE_B_SW_NE, - SPR_STATION_BASE_B_NW_SE, - SPR_STATION_BASE_B_SW_NE, - SPR_STATION_BASE_B_NW_SE, - }; + static const uint32 baseImageIds[4] = { + SPR_STATION_BASE_B_SW_NE, + SPR_STATION_BASE_B_NW_SE, + SPR_STATION_BASE_B_SW_NE, + SPR_STATION_BASE_B_NW_SE, + }; - sint32 trackType = mapElement->properties.track.type; - sub_98197C_rotated(direction, baseImageIds[direction] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 2, height - 2, 0, 2, height); - if (trackType == TRACK_ELEM_END_STATION) { - sub_98199C_rotated(direction, _wild_mouse_block_brakes_image_ids[direction] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 2, height, 0, 0, height); - } else { - sub_98199C_rotated(direction, _wild_mouse_brakes_image_ids[direction] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 2, height, 0, 0, height); - } - track_paint_util_draw_station_metal_supports(direction, height, gTrackColours[SCHEME_SUPPORTS]); - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 trackType = mapElement->properties.track.type; + sub_98197C_rotated(direction, baseImageIds[direction] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 2, height - 2, 0, 2, height); + if (trackType == TRACK_ELEM_END_STATION) { + sub_98199C_rotated(direction, _wild_mouse_block_brakes_image_ids[direction] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 2, height, 0, 0, height); + } else { + sub_98199C_rotated(direction, _wild_mouse_brakes_image_ids[direction] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 2, height, 0, 0, height); + } + track_paint_util_draw_station_metal_supports(direction, height, gTrackColours[SCHEME_SUPPORTS]); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0078B1F4 */ static void wild_mouse_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WILD_MOUSE_25_DEG_SW_NE, SPR_WILD_MOUSE_25_DEG_CHAIN_SW_NE }, - { SPR_WILD_MOUSE_25_DEG_NW_SE, SPR_WILD_MOUSE_25_DEG_CHAIN_NW_SE }, - { SPR_WILD_MOUSE_25_DEG_NE_SW, SPR_WILD_MOUSE_25_DEG_CHAIN_NE_SW }, - { SPR_WILD_MOUSE_25_DEG_SE_NW, SPR_WILD_MOUSE_25_DEG_CHAIN_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WILD_MOUSE_25_DEG_SW_NE, SPR_WILD_MOUSE_25_DEG_CHAIN_SW_NE }, + { SPR_WILD_MOUSE_25_DEG_NW_SE, SPR_WILD_MOUSE_25_DEG_CHAIN_NW_SE }, + { SPR_WILD_MOUSE_25_DEG_NE_SW, SPR_WILD_MOUSE_25_DEG_CHAIN_NE_SW }, + { SPR_WILD_MOUSE_25_DEG_SE_NW, SPR_WILD_MOUSE_25_DEG_CHAIN_SE_NW }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -9, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -9, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x0078B204 */ static void wild_mouse_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WILD_MOUSE_60_DEG_SW_NE, SPR_WILD_MOUSE_60_DEG_CHAIN_SW_NE }, - { SPR_WILD_MOUSE_60_DEG_NW_SE, SPR_WILD_MOUSE_60_DEG_CHAIN_NW_SE }, - { SPR_WILD_MOUSE_60_DEG_NE_SW, SPR_WILD_MOUSE_60_DEG_CHAIN_NE_SW }, - { SPR_WILD_MOUSE_60_DEG_SE_NW, SPR_WILD_MOUSE_60_DEG_CHAIN_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WILD_MOUSE_60_DEG_SW_NE, SPR_WILD_MOUSE_60_DEG_CHAIN_SW_NE }, + { SPR_WILD_MOUSE_60_DEG_NW_SE, SPR_WILD_MOUSE_60_DEG_CHAIN_NW_SE }, + { SPR_WILD_MOUSE_60_DEG_NE_SW, SPR_WILD_MOUSE_60_DEG_CHAIN_NE_SW }, + { SPR_WILD_MOUSE_60_DEG_SE_NW, SPR_WILD_MOUSE_60_DEG_CHAIN_SE_NW }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 3) { - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - } else { - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 98, height, 0, 27, height); - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - if (direction == 0 || direction == 3) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -33, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 3) { + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + } else { + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 98, height, 0, 27, height); + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + if (direction == 0 || direction == 3) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -33, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x0078B214 */ static void wild_mouse_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WILD_MOUSE_FLAT_TO_25_DEG_SW_NE, SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SW_NE }, - { SPR_WILD_MOUSE_FLAT_TO_25_DEG_NW_SE, SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NW_SE }, - { SPR_WILD_MOUSE_FLAT_TO_25_DEG_NE_SW, SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NE_SW }, - { SPR_WILD_MOUSE_FLAT_TO_25_DEG_SE_NW, SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WILD_MOUSE_FLAT_TO_25_DEG_SW_NE, SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SW_NE }, + { SPR_WILD_MOUSE_FLAT_TO_25_DEG_NW_SE, SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NW_SE }, + { SPR_WILD_MOUSE_FLAT_TO_25_DEG_NE_SW, SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NE_SW }, + { SPR_WILD_MOUSE_FLAT_TO_25_DEG_SE_NW, SPR_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SE_NW }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -4, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -4, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x0078B224 */ static void wild_mouse_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WILD_MOUSE_25_DEG_TO_60_DEG_SW_NE, SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SW_NE }, - { SPR_WILD_MOUSE_25_DEG_TO_60_DEG_NW_SE, SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NW_SE }, - { SPR_WILD_MOUSE_25_DEG_TO_60_DEG_NE_SW, SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NE_SW }, - { SPR_WILD_MOUSE_25_DEG_TO_60_DEG_SE_NW, SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SE_NW }, - }; - static const uint32 frontImageIds[4][2] = { - { 0, 0 }, - { SPR_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NW_SE, SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NW_SE }, - { SPR_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NE_SW, SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NE_SW }, - { 0, 0 }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WILD_MOUSE_25_DEG_TO_60_DEG_SW_NE, SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SW_NE }, + { SPR_WILD_MOUSE_25_DEG_TO_60_DEG_NW_SE, SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NW_SE }, + { SPR_WILD_MOUSE_25_DEG_TO_60_DEG_NE_SW, SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NE_SW }, + { SPR_WILD_MOUSE_25_DEG_TO_60_DEG_SE_NW, SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SE_NW }, + }; + static const uint32 frontImageIds[4][2] = { + { 0, 0 }, + { SPR_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NW_SE, SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NW_SE }, + { SPR_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NE_SW, SPR_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NE_SW }, + { 0, 0 }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = frontImageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 3) { - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - } else { - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 66, height, 0, 27, height); - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -13, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = frontImageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 3) { + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + } else { + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 66, height, 0, 27, height); + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -13, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x0078B234 */ static void wild_mouse_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WILD_MOUSE_60_DEG_TO_25_DEG_SW_NE, SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SW_NE }, - { SPR_WILD_MOUSE_60_DEG_TO_25_DEG_NW_SE, SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NW_SE }, - { SPR_WILD_MOUSE_60_DEG_TO_25_DEG_NE_SW, SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NE_SW }, - { SPR_WILD_MOUSE_60_DEG_TO_25_DEG_SE_NW, SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SE_NW }, - }; - static const uint32 frontImageIds[4][2] = { - { 0, 0 }, - { SPR_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NW_SE, SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NW_SE }, - { SPR_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NE_SW, SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NE_SW }, - { 0, 0 }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WILD_MOUSE_60_DEG_TO_25_DEG_SW_NE, SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SW_NE }, + { SPR_WILD_MOUSE_60_DEG_TO_25_DEG_NW_SE, SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NW_SE }, + { SPR_WILD_MOUSE_60_DEG_TO_25_DEG_NE_SW, SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NE_SW }, + { SPR_WILD_MOUSE_60_DEG_TO_25_DEG_SE_NW, SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SE_NW }, + }; + static const uint32 frontImageIds[4][2] = { + { 0, 0 }, + { SPR_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NW_SE, SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NW_SE }, + { SPR_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NE_SW, SPR_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NE_SW }, + { 0, 0 }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = frontImageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 3) { - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - } else { - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 66, height, 0, 27, height); - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -21, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = frontImageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 3) { + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + } else { + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 66, height, 0, 27, height); + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -21, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x0078B244 */ static void wild_mouse_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WILD_MOUSE_25_DEG_TO_FLAT_SW_NE, SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SW_NE }, - { SPR_WILD_MOUSE_25_DEG_TO_FLAT_NW_SE, SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NW_SE }, - { SPR_WILD_MOUSE_25_DEG_TO_FLAT_NE_SW, SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NE_SW }, - { SPR_WILD_MOUSE_25_DEG_TO_FLAT_SE_NW, SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WILD_MOUSE_25_DEG_TO_FLAT_SW_NE, SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SW_NE }, + { SPR_WILD_MOUSE_25_DEG_TO_FLAT_NW_SE, SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NW_SE }, + { SPR_WILD_MOUSE_25_DEG_TO_FLAT_NE_SW, SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NE_SW }, + { SPR_WILD_MOUSE_25_DEG_TO_FLAT_SE_NW, SPR_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SE_NW }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -7, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -7, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x0078B254 */ static void wild_mouse_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wild_mouse_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wild_mouse_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0078B264 */ static void wild_mouse_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wild_mouse_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wild_mouse_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0078B274 */ static void wild_mouse_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wild_mouse_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wild_mouse_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0078B284 */ static void wild_mouse_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wild_mouse_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wild_mouse_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0078B294 */ static void wild_mouse_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wild_mouse_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wild_mouse_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0078B2A4 */ static void wild_mouse_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wild_mouse_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wild_mouse_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void wild_mouse_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const sprite_bb imageIds[4][3] = { - { - { SPR_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_1, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_2, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, - }, - { - { SPR_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_2, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, - }, - { - { SPR_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_2, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, - }, - { - { SPR_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_1, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_2, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, - } - }; + static const sprite_bb imageIds[4][3] = { + { + { SPR_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_1, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_2, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, + }, + { + { SPR_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_2, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, + }, + { + { SPR_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_2, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, + }, + { + { SPR_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_1, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_2, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 3 } }, + } + }; - track_paint_util_right_quarter_turn_3_tiles_paint_3(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); - track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); + track_paint_util_right_quarter_turn_3_tiles_paint_3(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); + track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); - switch (trackSequence) { - case 0: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0; break; - case 2: blockedSegments = SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4; break; - case 3: blockedSegments = SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0; break; + case 2: blockedSegments = SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4; break; + case 3: blockedSegments = SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void wild_mouse_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const sprite_bb imageIds[4][2] = { - { - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SW_SE_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SW_SE_PART_1, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, - }, - { - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NW_SW_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NW_SW_PART_1, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, - }, - { - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NE_NW_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NE_NW_PART_1, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, - }, - { - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SE_NE_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SE_NE_PART_1, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, - } - }; - static const sint16 generalSupportHeights[] = { 72, 56, 56, 72 }; + static const sprite_bb imageIds[4][2] = { + { + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SW_SE_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SW_SE_PART_1, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, + }, + { + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NW_SW_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NW_SW_PART_1, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, + }, + { + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NE_NW_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_NE_NW_PART_1, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, + }, + { + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SE_NE_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_DOWN_SE_NE_PART_1, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, + } + }; + static const sint16 generalSupportHeights[] = { 72, 56, 56, 72 }; - if (trackSequence == 0 || trackSequence == 3) { - sint32 part = trackSequence == 0 ? 0 : 1; - const sprite_bb * sbb = &imageIds[direction][part]; - sub_98196C(sbb->sprite_id | gTrackColours[SCHEME_TRACK], - (sint8)sbb->offset.x, (sint8)sbb->offset.y, - sbb->bb_size.x, sbb->bb_size.y, (sint8)sbb->bb_size.z, height + (sint8)sbb->offset.z, get_current_rotation()); - } + if (trackSequence == 0 || trackSequence == 3) { + sint32 part = trackSequence == 0 ? 0 : 1; + const sprite_bb * sbb = &imageIds[direction][part]; + sub_98196C(sbb->sprite_id | gTrackColours[SCHEME_TRACK], + (sint8)sbb->offset.x, (sint8)sbb->offset.y, + sbb->bb_size.x, sbb->bb_size.y, (sint8)sbb->bb_size.z, height + (sint8)sbb->offset.z, get_current_rotation()); + } - track_paint_util_right_quarter_turn_3_tiles_25_deg_down_tunnel(height, direction, trackSequence, TUNNEL_2, TUNNEL_1); + track_paint_util_right_quarter_turn_3_tiles_25_deg_down_tunnel(height, direction, trackSequence, TUNNEL_2, TUNNEL_1); - switch (trackSequence) { - case 0: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -9, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -9, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0; break; - case 3: blockedSegments = SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + generalSupportHeights[trackSequence], 0x20); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0; break; + case 3: blockedSegments = SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + generalSupportHeights[trackSequence], 0x20); } static void wild_mouse_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - wild_mouse_track_right_quarter_turn_3_25_deg_down(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + wild_mouse_track_right_quarter_turn_3_25_deg_down(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x0078B314 */ static void wild_mouse_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const sprite_bb imageIds[4][2] = { - { - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SW_SE_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SW_SE_PART_1, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, - }, - { - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NW_SW_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NW_SW_PART_1, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, - }, - { - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NE_NW_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NE_NW_PART_1, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, - }, - { - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SE_NE_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, - { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SE_NE_PART_1, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, - } - }; - static const sint16 generalSupportHeights[] = { 72, 56, 56, 72 }; + static const sprite_bb imageIds[4][2] = { + { + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SW_SE_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SW_SE_PART_1, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, + }, + { + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NW_SW_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NW_SW_PART_1, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, + }, + { + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NE_NW_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_NE_NW_PART_1, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, + }, + { + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SE_NE_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 3 } }, + { SPR_WILD_MOUSE_QUARTER_TURN_3_25_DEG_UP_SE_NE_PART_1, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 3 } }, + } + }; + static const sint16 generalSupportHeights[] = { 72, 56, 56, 72 }; - if (trackSequence == 0 || trackSequence == 3) { - sint32 part = trackSequence == 0 ? 0 : 1; - const sprite_bb * sbb = &imageIds[direction][part]; - sub_98196C(sbb->sprite_id | gTrackColours[SCHEME_TRACK], - (sint8)sbb->offset.x, (sint8)sbb->offset.y, - sbb->bb_size.x, sbb->bb_size.y, (sint8)sbb->bb_size.z, height + (sint8)sbb->offset.z, get_current_rotation()); - } + if (trackSequence == 0 || trackSequence == 3) { + sint32 part = trackSequence == 0 ? 0 : 1; + const sprite_bb * sbb = &imageIds[direction][part]; + sub_98196C(sbb->sprite_id | gTrackColours[SCHEME_TRACK], + (sint8)sbb->offset.x, (sint8)sbb->offset.y, + sbb->bb_size.x, sbb->bb_size.y, (sint8)sbb->bb_size.z, height + (sint8)sbb->offset.z, get_current_rotation()); + } - track_paint_util_right_quarter_turn_3_tiles_25_deg_up_tunnel(height, direction, trackSequence, TUNNEL_1, TUNNEL_2); + track_paint_util_right_quarter_turn_3_tiles_25_deg_up_tunnel(height, direction, trackSequence, TUNNEL_1, TUNNEL_2); - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -9, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - if (direction == 2) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -11, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -9, height, gTrackColours[SCHEME_SUPPORTS]); - } - break; - } + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -9, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + if (direction == 2) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -11, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -9, height, gTrackColours[SCHEME_SUPPORTS]); + } + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0; break; - case 3: blockedSegments = SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + generalSupportHeights[trackSequence], 0x20); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0; break; + case 3: blockedSegments = SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + generalSupportHeights[trackSequence], 0x20); } /** rct2: 0x0078B324 */ static void wild_mouse_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - wild_mouse_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + wild_mouse_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } static void wild_mouse_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - wild_mouse_track_right_quarter_turn_3(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + wild_mouse_track_right_quarter_turn_3(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x0078B394 */ static void wild_mouse_track_left_quarter_turn_1(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4] = { - SPR_WILD_MOUSE_QUARTER_TURN_1_SW_NE, - SPR_WILD_MOUSE_QUARTER_TURN_1_NW_SE, - SPR_WILD_MOUSE_QUARTER_TURN_1_NE_SW, - SPR_WILD_MOUSE_QUARTER_TURN_1_SE_NW, - }; + static const uint32 imageIds[4] = { + SPR_WILD_MOUSE_QUARTER_TURN_1_SW_NE, + SPR_WILD_MOUSE_QUARTER_TURN_1_NW_SE, + SPR_WILD_MOUSE_QUARTER_TURN_1_NE_SW, + SPR_WILD_MOUSE_QUARTER_TURN_1_SE_NW, + }; - uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; - switch (direction) { - case 0: - sub_98197C(imageId, 0, 0, 26, 24, 2, height, 6, 2, height, get_current_rotation()); - break; - case 1: - sub_98196C(imageId, 0, 0, 26, 26, 2, height, get_current_rotation()); - break; - case 2: - sub_98197C(imageId, 0, 0, 24, 26, 2, height, 2, 6, height, get_current_rotation()); - break; - case 3: - sub_98197C(imageId, 0, 0, 24, 24, 2, height, 6, 6, height, get_current_rotation()); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, 0, TUNNEL_0, 0, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; + switch (direction) { + case 0: + sub_98197C(imageId, 0, 0, 26, 24, 2, height, 6, 2, height, get_current_rotation()); + break; + case 1: + sub_98196C(imageId, 0, 0, 26, 26, 2, height, get_current_rotation()); + break; + case 2: + sub_98197C(imageId, 0, 0, 24, 26, 2, height, 2, 6, height, get_current_rotation()); + break; + case 3: + sub_98197C(imageId, 0, 0, 24, 24, 2, height, 6, 6, height, get_current_rotation()); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, 0, TUNNEL_0, 0, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0078B3A4 */ static void wild_mouse_track_right_quarter_turn_1(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wild_mouse_track_left_quarter_turn_1(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + wild_mouse_track_left_quarter_turn_1(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x0078B354 */ static void wild_mouse_track_flat_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WILD_MOUSE_FLAT_TO_60_DEG_SW_NE, SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SW_NE }, - { SPR_WILD_MOUSE_FLAT_TO_60_DEG_NW_SE, SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NW_SE }, - { SPR_WILD_MOUSE_FLAT_TO_60_DEG_NE_SW, SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NE_SW }, - { SPR_WILD_MOUSE_FLAT_TO_60_DEG_SE_NW, SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SE_NW }, - }; - static const uint32 frontImageIds[4][2] = { - { 0, 0 }, - { SPR_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NW_SE, SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NW_SE }, - { SPR_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NE_SW, SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NE_SW }, - { 0, 0 }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WILD_MOUSE_FLAT_TO_60_DEG_SW_NE, SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SW_NE }, + { SPR_WILD_MOUSE_FLAT_TO_60_DEG_NW_SE, SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NW_SE }, + { SPR_WILD_MOUSE_FLAT_TO_60_DEG_NE_SW, SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NE_SW }, + { SPR_WILD_MOUSE_FLAT_TO_60_DEG_SE_NW, SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SE_NW }, + }; + static const uint32 frontImageIds[4][2] = { + { 0, 0 }, + { SPR_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NW_SE, SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NW_SE }, + { SPR_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NE_SW, SPR_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NE_SW }, + { 0, 0 }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = frontImageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 3) { - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - } else { - sub_98197C_rotated(direction, imageId, 0, 0, 1, 24, 43, height, 29, 4, height + 2); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 2, 43, height, 0, 4, height); - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -5, height, gTrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = frontImageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 3) { + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + } else { + sub_98197C_rotated(direction, imageId, 0, 0, 1, 24, 43, height, 29, 4, height + 2); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 2, 43, height, 0, 4, height); + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -5, height, gTrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x0078B364 */ static void wild_mouse_track_60_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WILD_MOUSE_60_DEG_TO_FLAT_SW_NE, SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SW_NE }, - { SPR_WILD_MOUSE_60_DEG_TO_FLAT_NW_SE, SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NW_SE }, - { SPR_WILD_MOUSE_60_DEG_TO_FLAT_NE_SW, SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NE_SW }, - { SPR_WILD_MOUSE_60_DEG_TO_FLAT_SE_NW, SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SE_NW }, - }; - static const uint32 frontImageIds[4][2] = { - { 0, 0 }, - { SPR_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NW_SE, SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NW_SE }, - { SPR_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NE_SW, SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NE_SW }, - { 0, 0 }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WILD_MOUSE_60_DEG_TO_FLAT_SW_NE, SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SW_NE }, + { SPR_WILD_MOUSE_60_DEG_TO_FLAT_NW_SE, SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NW_SE }, + { SPR_WILD_MOUSE_60_DEG_TO_FLAT_NE_SW, SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NE_SW }, + { SPR_WILD_MOUSE_60_DEG_TO_FLAT_SE_NW, SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SE_NW }, + }; + static const uint32 frontImageIds[4][2] = { + { 0, 0 }, + { SPR_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NW_SE, SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NW_SE }, + { SPR_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NE_SW, SPR_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NE_SW }, + { 0, 0 }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = frontImageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 3) { - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - } else { - sub_98197C_rotated(direction, imageId, 0, 0, 1, 24, 43, height, 29, 4, height + 2); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 2, 43, height, 0, 4, height); - } - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - if (direction == 0 || direction == 3) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -17, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - } - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = frontImageIds[direction][isChained] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 3) { + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + } else { + sub_98197C_rotated(direction, imageId, 0, 0, 1, 24, 43, height, 29, 4, height + 2); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 2, 43, height, 0, 4, height); + } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + if (direction == 0 || direction == 3) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, -17, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + } + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x0078B374 */ static void wild_mouse_track_flat_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wild_mouse_track_60_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wild_mouse_track_60_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0078B384 */ static void wild_mouse_track_60_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wild_mouse_track_flat_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wild_mouse_track_flat_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x0078B344 */ static void wild_mouse_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = _wild_mouse_brakes_image_ids[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + uint32 imageId = _wild_mouse_brakes_image_ids[direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0078B3C4 */ static void wild_mouse_track_rotation_control_toggle(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4] = { - SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_SW_NE, - SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_NW_SE, - SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_SW_NE, - SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_NW_SE, - }; + static const uint32 imageIds[4] = { + SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_SW_NE, + SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_NW_SE, + SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_SW_NE, + SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_NW_SE, + }; - uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0078B3B4 */ static void wild_mouse_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = _wild_mouse_block_brakes_image_ids[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + uint32 imageId = _wild_mouse_block_brakes_image_ids[direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_wild_mouse(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return wild_mouse_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return wild_mouse_track_station; - case TRACK_ELEM_25_DEG_UP: - return wild_mouse_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return wild_mouse_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return wild_mouse_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return wild_mouse_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return wild_mouse_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return wild_mouse_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return wild_mouse_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return wild_mouse_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return wild_mouse_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return wild_mouse_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return wild_mouse_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return wild_mouse_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return wild_mouse_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return wild_mouse_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return wild_mouse_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return wild_mouse_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return wild_mouse_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return wild_mouse_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return wild_mouse_track_left_quarter_turn_1; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return wild_mouse_track_right_quarter_turn_1; - case TRACK_ELEM_FLAT_TO_60_DEG_UP: - return wild_mouse_track_flat_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - return wild_mouse_track_60_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - return wild_mouse_track_flat_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: - return wild_mouse_track_60_deg_down_to_flat; - case TRACK_ELEM_BRAKES: - return wild_mouse_track_brakes; - case TRACK_ELEM_ROTATION_CONTROL_TOGGLE: - return wild_mouse_track_rotation_control_toggle; - case TRACK_ELEM_BLOCK_BRAKES: - return wild_mouse_track_block_brakes; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return wild_mouse_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return wild_mouse_track_station; + case TRACK_ELEM_25_DEG_UP: + return wild_mouse_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return wild_mouse_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return wild_mouse_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return wild_mouse_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return wild_mouse_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return wild_mouse_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return wild_mouse_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return wild_mouse_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return wild_mouse_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return wild_mouse_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return wild_mouse_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return wild_mouse_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return wild_mouse_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return wild_mouse_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return wild_mouse_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return wild_mouse_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return wild_mouse_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return wild_mouse_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return wild_mouse_track_left_quarter_turn_1; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return wild_mouse_track_right_quarter_turn_1; + case TRACK_ELEM_FLAT_TO_60_DEG_UP: + return wild_mouse_track_flat_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + return wild_mouse_track_60_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + return wild_mouse_track_flat_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + return wild_mouse_track_60_deg_down_to_flat; + case TRACK_ELEM_BRAKES: + return wild_mouse_track_brakes; + case TRACK_ELEM_ROTATION_CONTROL_TOGGLE: + return wild_mouse_track_rotation_control_toggle; + case TRACK_ELEM_BLOCK_BRAKES: + return wild_mouse_track_block_brakes; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/wooden_roller_coaster.c b/src/openrct2/ride/coaster/wooden_roller_coaster.c index ab35d2ffd8..a9c81dc64d 100644 --- a/src/openrct2/ride/coaster/wooden_roller_coaster.c +++ b/src/openrct2/ride/coaster/wooden_roller_coaster.c @@ -27,8824 +27,8824 @@ #include "../track_paint.h" typedef struct sprite_bb_2 { - uint32 sprite_id_a; - uint32 sprite_id_b; - rct_xyz16 offset; - rct_xyz16 bb_offset; - rct_xyz16 bb_size; + uint32 sprite_id_a; + uint32 sprite_id_b; + rct_xyz16 offset; + rct_xyz16 bb_offset; + rct_xyz16 bb_size; } sprite_bb_2; enum { - SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_SW_NE = 23497, - SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_NW_SE = 23498, - SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_NE_SW = 23499, - SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_SE_NW = 23500, - SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_SW_NE = 23501, - SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_NW_SE = 23502, - SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_NE_SW = 23503, - SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_SE_NW = 23504, - SPR_WOODEN_RC_LEFT_BANK_SW_NE = 23505, - SPR_WOODEN_RC_LEFT_BANK_NW_SE = 23506, - SPR_WOODEN_RC_LEFT_BANK_NE_SW = 23507, - SPR_WOODEN_RC_LEFT_BANK_SE_NW = 23508, - SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_SW_NE = 23509, - SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_NW_SE = 23510, - SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_NE_SW = 23511, - SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_SE_NW = 23512, - SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_SW_NE = 23513, - SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_NW_SE = 23514, - SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_NE_SW = 23515, - SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_SE_NW = 23516, - SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_SW_NE = 23517, - SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_NW_SE = 23518, - SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_NE_SW = 23519, - SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_SE_NW = 23520, - SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_SW_NE = 23521, - SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_NW_SE = 23522, - SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_NE_SW = 23523, - SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_SE_NW = 23524, - SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_FRONT_NW_SE = 23525, - SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_FRONT_SE_NW = 23526, - SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_FRONT_NE_SW = 23527, - SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_FRONT_NW_SE = 23528, - SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_FRONT_NE_SW = 23529, - SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_FRONT_NW_SE = 23530, - SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_FRONT_NE_SW = 23531, - SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_FRONT_NW_SE = 23532, - SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_FRONT_NE_SW = 23533, - SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_FRONT_NW_SE = 23534, - SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_FRONT_NE_SW = 23535, - SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_FRONT_SW_NE = 23536, - SPR_WOODEN_RC_FLAT_TO_25_DEG_SW_NE = 23537, - SPR_WOODEN_RC_FLAT_TO_25_DEG_NW_SE = 23538, - SPR_WOODEN_RC_FLAT_TO_25_DEG_NE_SW = 23539, - SPR_WOODEN_RC_FLAT_TO_25_DEG_SE_NW = 23540, - SPR_WOODEN_RC_25_DEG_TO_FLAT_SW_NE = 23541, - SPR_WOODEN_RC_25_DEG_TO_FLAT_NW_SE = 23542, - SPR_WOODEN_RC_25_DEG_TO_FLAT_NE_SW = 23543, - SPR_WOODEN_RC_25_DEG_TO_FLAT_SE_NW = 23544, - SPR_WOODEN_RC_25_DEG_SW_NE = 23545, - SPR_WOODEN_RC_25_DEG_NW_SE = 23546, - SPR_WOODEN_RC_25_DEG_NE_SW = 23547, - SPR_WOODEN_RC_25_DEG_SE_NW = 23548, - SPR_WOODEN_RC_25_DEG_TO_60_DEG_SW_NE = 23549, - SPR_WOODEN_RC_25_DEG_TO_60_DEG_FRONT_NW_SE = 23550, - SPR_WOODEN_RC_25_DEG_TO_60_DEG_NW_SE = 23551, - SPR_WOODEN_RC_25_DEG_TO_60_DEG_FRONT_NE_SW = 23552, - SPR_WOODEN_RC_25_DEG_TO_60_DEG_NE_SW = 23553, - SPR_WOODEN_RC_25_DEG_TO_60_DEG_SE_NW = 23554, - SPR_WOODEN_RC_60_DEG_TO_25_DEG_SW_NE = 23555, - SPR_WOODEN_RC_60_DEG_TO_25_DEG_FRONT_NW_SE = 23556, - SPR_WOODEN_RC_60_DEG_TO_25_DEG_NW_SE = 23557, - SPR_WOODEN_RC_60_DEG_TO_25_DEG_FRONT_NE_SW = 23558, - SPR_WOODEN_RC_60_DEG_TO_25_DEG_NE_SW = 23559, - SPR_WOODEN_RC_60_DEG_TO_25_DEG_SE_NW = 23560, - SPR_WOODEN_RC_60_DEG_SW_NE = 23561, - SPR_WOODEN_RC_60_DEG_CHAIN_SW_NE = 23561, - SPR_WOODEN_RC_60_DEG_NW_SE = 23562, - SPR_WOODEN_RC_60_DEG_CHAIN_NW_SE = 23562, - SPR_WOODEN_RC_60_DEG_NE_SW = 23563, - SPR_WOODEN_RC_60_DEG_CHAIN_NE_SW = 23563, - SPR_WOODEN_RC_60_DEG_SE_NW = 23564, - SPR_WOODEN_RC_60_DEG_CHAIN_SE_NW = 23564, - SPR_WOODEN_RC_FLAT_TO_25_DEG_FRONT_NW_SE = 23565, - SPR_WOODEN_RC_FLAT_TO_25_DEG_FRONT_NE_SW = 23566, - SPR_WOODEN_RC_25_DEG_TO_FLAT_FRONT_NW_SE = 23567, - SPR_WOODEN_RC_25_DEG_TO_FLAT_FRONT_NE_SW = 23568, - SPR_WOODEN_RC_25_DEG_FRONT_NW_SE = 23569, - SPR_WOODEN_RC_60_DEG_FRONT_NW_SE = 23569, - SPR_WOODEN_RC_25_DEG_FRONT_NE_SW = 23570, - SPR_WOODEN_RC_60_DEG_FRONT_NE_SW = 23570, - SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_SW_NE = 23571, - SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_NW_SE = 23572, - SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_NE_SW = 23573, - SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_SE_NW = 23574, - SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_SW_NE = 23575, - SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_NW_SE = 23576, - SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_NE_SW = 23577, - SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_SE_NW = 23578, - SPR_WOODEN_RC_25_DEG_CHAIN_SW_NE = 23579, - SPR_WOODEN_RC_25_DEG_CHAIN_NW_SE = 23580, - SPR_WOODEN_RC_25_DEG_CHAIN_NE_SW = 23581, - SPR_WOODEN_RC_25_DEG_CHAIN_SE_NW = 23582, + SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_SW_NE = 23497, + SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_NW_SE = 23498, + SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_NE_SW = 23499, + SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_SE_NW = 23500, + SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_SW_NE = 23501, + SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_NW_SE = 23502, + SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_NE_SW = 23503, + SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_SE_NW = 23504, + SPR_WOODEN_RC_LEFT_BANK_SW_NE = 23505, + SPR_WOODEN_RC_LEFT_BANK_NW_SE = 23506, + SPR_WOODEN_RC_LEFT_BANK_NE_SW = 23507, + SPR_WOODEN_RC_LEFT_BANK_SE_NW = 23508, + SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_SW_NE = 23509, + SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_NW_SE = 23510, + SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_NE_SW = 23511, + SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_SE_NW = 23512, + SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_SW_NE = 23513, + SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_NW_SE = 23514, + SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_NE_SW = 23515, + SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_SE_NW = 23516, + SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_SW_NE = 23517, + SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_NW_SE = 23518, + SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_NE_SW = 23519, + SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_SE_NW = 23520, + SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_SW_NE = 23521, + SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_NW_SE = 23522, + SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_NE_SW = 23523, + SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_SE_NW = 23524, + SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_FRONT_NW_SE = 23525, + SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_FRONT_SE_NW = 23526, + SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_FRONT_NE_SW = 23527, + SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_FRONT_NW_SE = 23528, + SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_FRONT_NE_SW = 23529, + SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_FRONT_NW_SE = 23530, + SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_FRONT_NE_SW = 23531, + SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_FRONT_NW_SE = 23532, + SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_FRONT_NE_SW = 23533, + SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_FRONT_NW_SE = 23534, + SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_FRONT_NE_SW = 23535, + SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_FRONT_SW_NE = 23536, + SPR_WOODEN_RC_FLAT_TO_25_DEG_SW_NE = 23537, + SPR_WOODEN_RC_FLAT_TO_25_DEG_NW_SE = 23538, + SPR_WOODEN_RC_FLAT_TO_25_DEG_NE_SW = 23539, + SPR_WOODEN_RC_FLAT_TO_25_DEG_SE_NW = 23540, + SPR_WOODEN_RC_25_DEG_TO_FLAT_SW_NE = 23541, + SPR_WOODEN_RC_25_DEG_TO_FLAT_NW_SE = 23542, + SPR_WOODEN_RC_25_DEG_TO_FLAT_NE_SW = 23543, + SPR_WOODEN_RC_25_DEG_TO_FLAT_SE_NW = 23544, + SPR_WOODEN_RC_25_DEG_SW_NE = 23545, + SPR_WOODEN_RC_25_DEG_NW_SE = 23546, + SPR_WOODEN_RC_25_DEG_NE_SW = 23547, + SPR_WOODEN_RC_25_DEG_SE_NW = 23548, + SPR_WOODEN_RC_25_DEG_TO_60_DEG_SW_NE = 23549, + SPR_WOODEN_RC_25_DEG_TO_60_DEG_FRONT_NW_SE = 23550, + SPR_WOODEN_RC_25_DEG_TO_60_DEG_NW_SE = 23551, + SPR_WOODEN_RC_25_DEG_TO_60_DEG_FRONT_NE_SW = 23552, + SPR_WOODEN_RC_25_DEG_TO_60_DEG_NE_SW = 23553, + SPR_WOODEN_RC_25_DEG_TO_60_DEG_SE_NW = 23554, + SPR_WOODEN_RC_60_DEG_TO_25_DEG_SW_NE = 23555, + SPR_WOODEN_RC_60_DEG_TO_25_DEG_FRONT_NW_SE = 23556, + SPR_WOODEN_RC_60_DEG_TO_25_DEG_NW_SE = 23557, + SPR_WOODEN_RC_60_DEG_TO_25_DEG_FRONT_NE_SW = 23558, + SPR_WOODEN_RC_60_DEG_TO_25_DEG_NE_SW = 23559, + SPR_WOODEN_RC_60_DEG_TO_25_DEG_SE_NW = 23560, + SPR_WOODEN_RC_60_DEG_SW_NE = 23561, + SPR_WOODEN_RC_60_DEG_CHAIN_SW_NE = 23561, + SPR_WOODEN_RC_60_DEG_NW_SE = 23562, + SPR_WOODEN_RC_60_DEG_CHAIN_NW_SE = 23562, + SPR_WOODEN_RC_60_DEG_NE_SW = 23563, + SPR_WOODEN_RC_60_DEG_CHAIN_NE_SW = 23563, + SPR_WOODEN_RC_60_DEG_SE_NW = 23564, + SPR_WOODEN_RC_60_DEG_CHAIN_SE_NW = 23564, + SPR_WOODEN_RC_FLAT_TO_25_DEG_FRONT_NW_SE = 23565, + SPR_WOODEN_RC_FLAT_TO_25_DEG_FRONT_NE_SW = 23566, + SPR_WOODEN_RC_25_DEG_TO_FLAT_FRONT_NW_SE = 23567, + SPR_WOODEN_RC_25_DEG_TO_FLAT_FRONT_NE_SW = 23568, + SPR_WOODEN_RC_25_DEG_FRONT_NW_SE = 23569, + SPR_WOODEN_RC_60_DEG_FRONT_NW_SE = 23569, + SPR_WOODEN_RC_25_DEG_FRONT_NE_SW = 23570, + SPR_WOODEN_RC_60_DEG_FRONT_NE_SW = 23570, + SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_SW_NE = 23571, + SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_NW_SE = 23572, + SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_NE_SW = 23573, + SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_SE_NW = 23574, + SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_SW_NE = 23575, + SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_NW_SE = 23576, + SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_NE_SW = 23577, + SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_SE_NW = 23578, + SPR_WOODEN_RC_25_DEG_CHAIN_SW_NE = 23579, + SPR_WOODEN_RC_25_DEG_CHAIN_NW_SE = 23580, + SPR_WOODEN_RC_25_DEG_CHAIN_NE_SW = 23581, + SPR_WOODEN_RC_25_DEG_CHAIN_SE_NW = 23582, - SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_FRONT_NW_SE = 23599, - SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_FRONT_NE_SW = 23600, - SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_FRONT_NW_SE = 23601, - SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_FRONT_NE_SW = 23602, - SPR_WOODEN_RC_25_DEG_CHAIN_FRONT_NW_SE = 23603, - SPR_WOODEN_RC_60_DEG_CHAIN_FRONT_NW_SE = 23603, - SPR_WOODEN_RC_25_DEG_CHAIN_FRONT_NE_SW = 23604, - SPR_WOODEN_RC_60_DEG_CHAIN_FRONT_NE_SW = 23604, - SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_0 = 23605, - SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_2 = 23606, - SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_3 = 23607, - SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_5 = 23608, - SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_6 = 23609, - SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_0 = 23610, - SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_2 = 23611, - SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_3 = 23612, - SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_5 = 23613, - SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_6 = 23614, - SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_0 = 23615, - SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_2 = 23616, - SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_3 = 23617, - SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_5 = 23618, - SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_6 = 23619, - SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_0 = 23620, - SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_2 = 23621, - SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_3 = 23622, - SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_5 = 23623, - SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_6 = 23624, - SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_0 = 23625, - SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_2 = 23626, - SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_3 = 23627, - SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_5 = 23628, - SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_6 = 23629, - SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_0 = 23630, - SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_2 = 23631, - SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_3 = 23632, - SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_5 = 23633, - SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_6 = 23634, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_0 = 23635, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_2 = 23636, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_3 = 23637, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_5 = 23638, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_6 = 23639, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_0 = 23640, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_2 = 23641, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_3 = 23642, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_5 = 23643, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_6 = 23644, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_0 = 23645, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_2 = 23646, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_3 = 23647, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_5 = 23648, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_6 = 23649, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_0 = 23650, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_2 = 23651, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_3 = 23652, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_5 = 23653, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_6 = 23654, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_0 = 23655, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_2 = 23656, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_3 = 23657, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_5 = 23658, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_6 = 23659, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_0 = 23660, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_2 = 23661, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_3 = 23662, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_5 = 23663, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_6 = 23664, + SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_FRONT_NW_SE = 23599, + SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_FRONT_NE_SW = 23600, + SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_FRONT_NW_SE = 23601, + SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_FRONT_NE_SW = 23602, + SPR_WOODEN_RC_25_DEG_CHAIN_FRONT_NW_SE = 23603, + SPR_WOODEN_RC_60_DEG_CHAIN_FRONT_NW_SE = 23603, + SPR_WOODEN_RC_25_DEG_CHAIN_FRONT_NE_SW = 23604, + SPR_WOODEN_RC_60_DEG_CHAIN_FRONT_NE_SW = 23604, + SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_0 = 23605, + SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_2 = 23606, + SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_3 = 23607, + SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_5 = 23608, + SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_6 = 23609, + SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_0 = 23610, + SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_2 = 23611, + SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_3 = 23612, + SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_5 = 23613, + SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_6 = 23614, + SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_0 = 23615, + SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_2 = 23616, + SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_3 = 23617, + SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_5 = 23618, + SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_6 = 23619, + SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_0 = 23620, + SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_2 = 23621, + SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_3 = 23622, + SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_5 = 23623, + SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_6 = 23624, + SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_0 = 23625, + SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_2 = 23626, + SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_3 = 23627, + SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_5 = 23628, + SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_6 = 23629, + SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_0 = 23630, + SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_2 = 23631, + SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_3 = 23632, + SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_5 = 23633, + SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_6 = 23634, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_0 = 23635, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_2 = 23636, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_3 = 23637, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_5 = 23638, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_6 = 23639, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_0 = 23640, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_2 = 23641, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_3 = 23642, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_5 = 23643, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_6 = 23644, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_0 = 23645, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_2 = 23646, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_3 = 23647, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_5 = 23648, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_6 = 23649, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_0 = 23650, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_2 = 23651, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_3 = 23652, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_5 = 23653, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_6 = 23654, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_0 = 23655, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_2 = 23656, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_3 = 23657, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_5 = 23658, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_6 = 23659, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_0 = 23660, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_2 = 23661, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_3 = 23662, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_5 = 23663, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_6 = 23664, - SPR_WOODEN_RC_FLAT_CHAIN_SW_NE = 23749, - SPR_WOODEN_RC_FLAT_CHAIN_NW_SE = 23750, - SPR_WOODEN_RC_FLAT_CHAIN_NE_SW = 23751, - SPR_WOODEN_RC_FLAT_CHAIN_SE_NW = 23752, - SPR_WOODEN_RC_FLAT_SW_NE = 23753, - SPR_WOODEN_RC_FLAT_NW_SE = 23754, - SPR_WOODEN_RC_BRAKES_SW_NE = 23755, - SPR_WOODEN_RC_BRAKES_NW_SE = 23756, - SPR_WOODEN_RC_BLOCK_BRAKES_SW_NE = 23757, - SPR_WOODEN_RC_BLOCK_BRAKES_NW_SE = 23758, + SPR_WOODEN_RC_FLAT_CHAIN_SW_NE = 23749, + SPR_WOODEN_RC_FLAT_CHAIN_NW_SE = 23750, + SPR_WOODEN_RC_FLAT_CHAIN_NE_SW = 23751, + SPR_WOODEN_RC_FLAT_CHAIN_SE_NW = 23752, + SPR_WOODEN_RC_FLAT_SW_NE = 23753, + SPR_WOODEN_RC_FLAT_NW_SE = 23754, + SPR_WOODEN_RC_BRAKES_SW_NE = 23755, + SPR_WOODEN_RC_BRAKES_NW_SE = 23756, + SPR_WOODEN_RC_BLOCK_BRAKES_SW_NE = 23757, + SPR_WOODEN_RC_BLOCK_BRAKES_NW_SE = 23758, - SPR_WOODEN_RC_STATION_SW_NE = 23973, - SPR_WOODEN_RC_STATION_NW_SE = 23974, + SPR_WOODEN_RC_STATION_SW_NE = 23973, + SPR_WOODEN_RC_STATION_NW_SE = 23974, - SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_SW_NE = 24363, - SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_NW_SE = 24364, - SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_NE_SW = 24365, - SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_SE_NW = 24366, - SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_SW_NE = 24367, - SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_NW_SE = 24368, - SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_NE_SW = 24369, - SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_SE_NW = 24370, - SPR_WOODEN_RC_LEFT_BANK_RAILS_SW_NE = 24371, - SPR_WOODEN_RC_LEFT_BANK_RAILS_NW_SE = 24372, - SPR_WOODEN_RC_LEFT_BANK_RAILS_NE_SW = 24373, - SPR_WOODEN_RC_LEFT_BANK_RAILS_SE_NW = 24374, - SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_SW_NE = 24375, - SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_NW_SE = 24376, - SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_NE_SW = 24377, - SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_SE_NW = 24378, - SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_SW_NE = 24379, - SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_NW_SE = 24380, - SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_NE_SW = 24381, - SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_SE_NW = 24382, - SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_SW_NE = 24383, - SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_NW_SE = 24384, - SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_NE_SW = 24385, - SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_SE_NW = 24386, - SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_SW_NE = 24387, - SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_NW_SE = 24388, - SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_NE_SW = 24389, - SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_SE_NW = 24390, - SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_RAILS_FRONT_NW_SE = 24391, - SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_RAILS_FRONT_SE_NW = 24392, - SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_RAILS_FRONT_NE_SW = 24393, - SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_FRONT_NW_SE = 24394, - SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_FRONT_NE_SW = 24395, - SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_FRONT_NW_SE = 24396, - SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_FRONT_NE_SW = 24397, - SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_FRONT_NW_SE = 24398, - SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_FRONT_NE_SW = 24399, - SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_FRONT_NW_SE = 24400, - SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_FRONT_NE_SW = 24401, - SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_RAILS_FRONT_SW_NE = 24402, - SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_SW_NE = 24403, - SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_NW_SE = 24404, - SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_NE_SW = 24405, - SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_SE_NW = 24406, - SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_SW_NE = 24407, - SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_NW_SE = 24408, - SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_NE_SW = 24409, - SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_SE_NW = 24410, - SPR_WOODEN_RC_25_DEG_RAILS_SW_NE = 24411, - SPR_WOODEN_RC_25_DEG_RAILS_NW_SE = 24412, - SPR_WOODEN_RC_25_DEG_RAILS_NE_SW = 24413, - SPR_WOODEN_RC_25_DEG_RAILS_SE_NW = 24414, - SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_SW_NE = 24415, - SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_FRONT_NW_SE = 24416, - SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_NW_SE = 24417, - SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_FRONT_NE_SW = 24418, - SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_NE_SW = 24419, - SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_SE_NW = 24420, - SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_SW_NE = 24421, - SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_FRONT_NW_SE = 24422, - SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_NW_SE = 24423, - SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_FRONT_NE_SW = 24424, - SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_NE_SW = 24425, - SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_SE_NW = 24426, - SPR_WOODEN_RC_60_DEG_RAILS_SW_NE = 24427, - SPR_WOODEN_RC_60_DEG_CHAIN_RAILS_SW_NE = 24427, - SPR_WOODEN_RC_60_DEG_RAILS_NW_SE = 24428, - SPR_WOODEN_RC_60_DEG_CHAIN_RAILS_NW_SE = 24428, - SPR_WOODEN_RC_60_DEG_RAILS_NE_SW = 24429, - SPR_WOODEN_RC_60_DEG_CHAIN_RAILS_NE_SW = 24429, - SPR_WOODEN_RC_60_DEG_RAILS_SE_NW = 24430, - SPR_WOODEN_RC_60_DEG_CHAIN_RAILS_SE_NW = 24430, - SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_FRONT_NW_SE = 24431, - SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_FRONT_NE_SW = 24432, - SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_FRONT_NW_SE = 24433, - SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_FRONT_NE_SW = 24434, - SPR_WOODEN_RC_25_DEG_RAILS_FRONT_NW_SE = 24435, - SPR_WOODEN_RC_60_DEG_RAILS_FRONT_NW_SE = 24435, - SPR_WOODEN_RC_25_DEG_RAILS_FRONT_NE_SW = 24436, - SPR_WOODEN_RC_60_DEG_RAILS_FRONT_NE_SW = 24436, - SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_SW_NE = 24437, - SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_NW_SE = 24438, - SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_NE_SW = 24439, - SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_SE_NW = 24440, - SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_SW_NE = 24441, - SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_NW_SE = 24442, - SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_NE_SW = 24443, - SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_SE_NW = 24444, - SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_SW_NE = 24445, - SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_NW_SE = 24446, - SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_NE_SW = 24447, - SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_SE_NW = 24448, + SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_SW_NE = 24363, + SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_NW_SE = 24364, + SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_NE_SW = 24365, + SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_SE_NW = 24366, + SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_SW_NE = 24367, + SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_NW_SE = 24368, + SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_NE_SW = 24369, + SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_SE_NW = 24370, + SPR_WOODEN_RC_LEFT_BANK_RAILS_SW_NE = 24371, + SPR_WOODEN_RC_LEFT_BANK_RAILS_NW_SE = 24372, + SPR_WOODEN_RC_LEFT_BANK_RAILS_NE_SW = 24373, + SPR_WOODEN_RC_LEFT_BANK_RAILS_SE_NW = 24374, + SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_SW_NE = 24375, + SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_NW_SE = 24376, + SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_NE_SW = 24377, + SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_SE_NW = 24378, + SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_SW_NE = 24379, + SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_NW_SE = 24380, + SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_NE_SW = 24381, + SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_SE_NW = 24382, + SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_SW_NE = 24383, + SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_NW_SE = 24384, + SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_NE_SW = 24385, + SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_SE_NW = 24386, + SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_SW_NE = 24387, + SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_NW_SE = 24388, + SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_NE_SW = 24389, + SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_SE_NW = 24390, + SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_RAILS_FRONT_NW_SE = 24391, + SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_RAILS_FRONT_SE_NW = 24392, + SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_RAILS_FRONT_NE_SW = 24393, + SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_FRONT_NW_SE = 24394, + SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_FRONT_NE_SW = 24395, + SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_FRONT_NW_SE = 24396, + SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_FRONT_NE_SW = 24397, + SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_FRONT_NW_SE = 24398, + SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_FRONT_NE_SW = 24399, + SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_FRONT_NW_SE = 24400, + SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_FRONT_NE_SW = 24401, + SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_RAILS_FRONT_SW_NE = 24402, + SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_SW_NE = 24403, + SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_NW_SE = 24404, + SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_NE_SW = 24405, + SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_SE_NW = 24406, + SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_SW_NE = 24407, + SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_NW_SE = 24408, + SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_NE_SW = 24409, + SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_SE_NW = 24410, + SPR_WOODEN_RC_25_DEG_RAILS_SW_NE = 24411, + SPR_WOODEN_RC_25_DEG_RAILS_NW_SE = 24412, + SPR_WOODEN_RC_25_DEG_RAILS_NE_SW = 24413, + SPR_WOODEN_RC_25_DEG_RAILS_SE_NW = 24414, + SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_SW_NE = 24415, + SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_FRONT_NW_SE = 24416, + SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_NW_SE = 24417, + SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_FRONT_NE_SW = 24418, + SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_NE_SW = 24419, + SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_SE_NW = 24420, + SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_SW_NE = 24421, + SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_FRONT_NW_SE = 24422, + SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_NW_SE = 24423, + SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_FRONT_NE_SW = 24424, + SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_NE_SW = 24425, + SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_SE_NW = 24426, + SPR_WOODEN_RC_60_DEG_RAILS_SW_NE = 24427, + SPR_WOODEN_RC_60_DEG_CHAIN_RAILS_SW_NE = 24427, + SPR_WOODEN_RC_60_DEG_RAILS_NW_SE = 24428, + SPR_WOODEN_RC_60_DEG_CHAIN_RAILS_NW_SE = 24428, + SPR_WOODEN_RC_60_DEG_RAILS_NE_SW = 24429, + SPR_WOODEN_RC_60_DEG_CHAIN_RAILS_NE_SW = 24429, + SPR_WOODEN_RC_60_DEG_RAILS_SE_NW = 24430, + SPR_WOODEN_RC_60_DEG_CHAIN_RAILS_SE_NW = 24430, + SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_FRONT_NW_SE = 24431, + SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_FRONT_NE_SW = 24432, + SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_FRONT_NW_SE = 24433, + SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_FRONT_NE_SW = 24434, + SPR_WOODEN_RC_25_DEG_RAILS_FRONT_NW_SE = 24435, + SPR_WOODEN_RC_60_DEG_RAILS_FRONT_NW_SE = 24435, + SPR_WOODEN_RC_25_DEG_RAILS_FRONT_NE_SW = 24436, + SPR_WOODEN_RC_60_DEG_RAILS_FRONT_NE_SW = 24436, + SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_SW_NE = 24437, + SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_NW_SE = 24438, + SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_NE_SW = 24439, + SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_SE_NW = 24440, + SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_SW_NE = 24441, + SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_NW_SE = 24442, + SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_NE_SW = 24443, + SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_SE_NW = 24444, + SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_SW_NE = 24445, + SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_NW_SE = 24446, + SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_NE_SW = 24447, + SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_SE_NW = 24448, - SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_FRONT_NW_SE = 24465, - SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_FRONT_NE_SW = 24466, - SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_FRONT_NW_SE = 24467, - SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_FRONT_NE_SW = 24468, - SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_FRONT_NW_SE = 24469, - SPR_WOODEN_RC_60_DEG_CHAIN_RAILS_FRONT_NW_SE = 24469, - SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_FRONT_NE_SW = 24470, - SPR_WOODEN_RC_60_DEG_CHAIN_RAILS_FRONT_NE_SW = 24470, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_0 = 24471, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_2 = 24472, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_3 = 24473, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_5 = 24474, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_6 = 24475, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_0 = 24476, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_2 = 24477, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_3 = 24478, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_5 = 24479, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_6 = 24480, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_0 = 24481, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_2 = 24482, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_3 = 24483, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_5 = 24484, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_6 = 24485, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_0 = 24486, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_2 = 24487, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_3 = 24488, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_5 = 24489, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_6 = 24490, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_0 = 24491, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_2 = 24492, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_3 = 24493, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_5 = 24494, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_6 = 24495, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_0 = 24496, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_2 = 24497, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_3 = 24498, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_5 = 24499, - SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_6 = 24500, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_0 = 24501, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_2 = 24502, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_3 = 24503, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_5 = 24504, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_6 = 24505, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_0 = 24506, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_2 = 24507, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_3 = 24508, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_5 = 24509, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_6 = 24510, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_0 = 24511, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_2 = 24512, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_3 = 24513, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_5 = 24514, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_6 = 24515, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_0 = 24516, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_2 = 24517, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_3 = 24518, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_5 = 24519, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_6 = 24520, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_0 = 24521, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_2 = 24522, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_3 = 24523, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_5 = 24524, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_6 = 24525, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_0 = 24526, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_2 = 24527, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_3 = 24528, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_5 = 24529, - SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_6 = 24530, + SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_FRONT_NW_SE = 24465, + SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_FRONT_NE_SW = 24466, + SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_FRONT_NW_SE = 24467, + SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_FRONT_NE_SW = 24468, + SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_FRONT_NW_SE = 24469, + SPR_WOODEN_RC_60_DEG_CHAIN_RAILS_FRONT_NW_SE = 24469, + SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_FRONT_NE_SW = 24470, + SPR_WOODEN_RC_60_DEG_CHAIN_RAILS_FRONT_NE_SW = 24470, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_0 = 24471, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_2 = 24472, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_3 = 24473, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_5 = 24474, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_6 = 24475, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_0 = 24476, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_2 = 24477, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_3 = 24478, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_5 = 24479, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_6 = 24480, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_0 = 24481, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_2 = 24482, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_3 = 24483, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_5 = 24484, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_6 = 24485, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_0 = 24486, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_2 = 24487, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_3 = 24488, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_5 = 24489, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_6 = 24490, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_0 = 24491, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_2 = 24492, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_3 = 24493, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_5 = 24494, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_6 = 24495, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_0 = 24496, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_2 = 24497, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_3 = 24498, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_5 = 24499, + SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_6 = 24500, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_0 = 24501, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_2 = 24502, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_3 = 24503, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_5 = 24504, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_6 = 24505, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_0 = 24506, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_2 = 24507, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_3 = 24508, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_5 = 24509, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_6 = 24510, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_0 = 24511, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_2 = 24512, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_3 = 24513, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_5 = 24514, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_6 = 24515, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_0 = 24516, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_2 = 24517, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_3 = 24518, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_5 = 24519, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_6 = 24520, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_0 = 24521, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_2 = 24522, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_3 = 24523, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_5 = 24524, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_6 = 24525, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_0 = 24526, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_2 = 24527, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_3 = 24528, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_5 = 24529, + SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_6 = 24530, - SPR_WOODEN_RC_FLAT_CHAIN_RAILS_SW_NE = 24615, - SPR_WOODEN_RC_FLAT_CHAIN_RAILS_NW_SE = 24616, - SPR_WOODEN_RC_FLAT_CHAIN_RAILS_NE_SW = 24617, - SPR_WOODEN_RC_FLAT_CHAIN_RAILS_SE_NW = 24618, - SPR_WOODEN_RC_FLAT_RAILS_SW_NE = 24619, - SPR_WOODEN_RC_FLAT_RAILS_NW_SE = 24620, - SPR_WOODEN_RC_BRAKES_RAILS_SW_NE = 24621, - SPR_WOODEN_RC_BRAKES_RAILS_NW_SE = 24622, - SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_SW_NE = 24623, - SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_NW_SE = 24624, + SPR_WOODEN_RC_FLAT_CHAIN_RAILS_SW_NE = 24615, + SPR_WOODEN_RC_FLAT_CHAIN_RAILS_NW_SE = 24616, + SPR_WOODEN_RC_FLAT_CHAIN_RAILS_NE_SW = 24617, + SPR_WOODEN_RC_FLAT_CHAIN_RAILS_SE_NW = 24618, + SPR_WOODEN_RC_FLAT_RAILS_SW_NE = 24619, + SPR_WOODEN_RC_FLAT_RAILS_NW_SE = 24620, + SPR_WOODEN_RC_BRAKES_RAILS_SW_NE = 24621, + SPR_WOODEN_RC_BRAKES_RAILS_NW_SE = 24622, + SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_SW_NE = 24623, + SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_NW_SE = 24624, - SPR_WOODEN_RC_STATION_RAILS_SW_NE = 24839, - SPR_WOODEN_RC_STATION_RAILS_NW_SE = 24840, + SPR_WOODEN_RC_STATION_RAILS_SW_NE = 24839, + SPR_WOODEN_RC_STATION_RAILS_NW_SE = 24840, }; static const uint32 _wooden_rc_block_brakes_image_ids[4][2] = { - { SPR_WOODEN_RC_BLOCK_BRAKES_SW_NE, SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_SW_NE }, - { SPR_WOODEN_RC_BLOCK_BRAKES_NW_SE, SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_NW_SE }, - { SPR_WOODEN_RC_BLOCK_BRAKES_SW_NE, SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_SW_NE }, - { SPR_WOODEN_RC_BLOCK_BRAKES_NW_SE, SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_NW_SE }, + { SPR_WOODEN_RC_BLOCK_BRAKES_SW_NE, SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_SW_NE }, + { SPR_WOODEN_RC_BLOCK_BRAKES_NW_SE, SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_NW_SE }, + { SPR_WOODEN_RC_BLOCK_BRAKES_SW_NE, SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_SW_NE }, + { SPR_WOODEN_RC_BLOCK_BRAKES_NW_SE, SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_NW_SE }, }; static uint32 wooden_rc_get_track_colour() { - return (gTrackColours[SCHEME_TRACK] & ~0xF80000) | gTrackColours[SCHEME_SUPPORTS]; + return (gTrackColours[SCHEME_TRACK] & ~0xF80000) | gTrackColours[SCHEME_SUPPORTS]; } static uint32 wooden_rc_get_rails_colour() { - return gTrackColours[SCHEME_TRACK]; + return gTrackColours[SCHEME_TRACK]; } static paint_struct * wooden_rc_track_paint( - uint32 imageIdTrack, - uint32 imageIdRails, - uint8 direction, - sint8 x_offset, sint8 y_offset, - sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, - sint16 z_offset, - sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z + uint32 imageIdTrack, + uint32 imageIdRails, + uint8 direction, + sint8 x_offset, sint8 y_offset, + sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, + sint16 z_offset, + sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z ) { - uint32 imageId = imageIdTrack | wooden_rc_get_track_colour(); - uint32 railsImageId = imageIdRails | wooden_rc_get_rails_colour(); + uint32 imageId = imageIdTrack | wooden_rc_get_track_colour(); + uint32 railsImageId = imageIdRails | wooden_rc_get_rails_colour(); - sub_98197C_rotated(direction, imageId, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z); - return sub_98199C_rotated(direction, railsImageId, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z); + sub_98197C_rotated(direction, imageId, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z); + return sub_98199C_rotated(direction, railsImageId, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z); } static void wooden_rc_track_paint_bb(const sprite_bb_2 *bb, sint16 height) { - if (bb->sprite_id_a == 0) return; + if (bb->sprite_id_a == 0) return; - uint32 imageId = bb->sprite_id_a | wooden_rc_get_track_colour(); - uint32 railsImageId = bb->sprite_id_b | wooden_rc_get_rails_colour(); + uint32 imageId = bb->sprite_id_a | wooden_rc_get_track_colour(); + uint32 railsImageId = bb->sprite_id_b | wooden_rc_get_rails_colour(); - sub_98197C(imageId, (sint8)bb->offset.x, (sint8)bb->offset.y, bb->bb_size.x, bb->bb_size.y, (sint8)bb->bb_size.z, height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z, get_current_rotation()); - sub_98199C(railsImageId, (sint8)bb->offset.x, (sint8)bb->offset.y, bb->bb_size.x, bb->bb_size.y, (sint8)bb->bb_size.z, height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z, get_current_rotation()); + sub_98197C(imageId, (sint8)bb->offset.x, (sint8)bb->offset.y, bb->bb_size.x, bb->bb_size.y, (sint8)bb->bb_size.z, height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z, get_current_rotation()); + sub_98199C(railsImageId, (sint8)bb->offset.x, (sint8)bb->offset.y, bb->bb_size.x, bb->bb_size.y, (sint8)bb->bb_size.z, height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z, get_current_rotation()); } /** rct2: 0x008AC568 */ static void wooden_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WOODEN_RC_FLAT_SW_NE, SPR_WOODEN_RC_FLAT_CHAIN_SW_NE }, - { SPR_WOODEN_RC_FLAT_NW_SE, SPR_WOODEN_RC_FLAT_CHAIN_NW_SE }, - { SPR_WOODEN_RC_FLAT_SW_NE, SPR_WOODEN_RC_FLAT_CHAIN_NE_SW }, - { SPR_WOODEN_RC_FLAT_NW_SE, SPR_WOODEN_RC_FLAT_CHAIN_SE_NW }, - }; - static const uint32 railsImageIds[4][2] = { - { SPR_WOODEN_RC_FLAT_RAILS_SW_NE, SPR_WOODEN_RC_FLAT_CHAIN_RAILS_SW_NE }, - { SPR_WOODEN_RC_FLAT_RAILS_NW_SE, SPR_WOODEN_RC_FLAT_CHAIN_RAILS_NW_SE }, - { SPR_WOODEN_RC_FLAT_RAILS_SW_NE, SPR_WOODEN_RC_FLAT_CHAIN_RAILS_NE_SW }, - { SPR_WOODEN_RC_FLAT_RAILS_NW_SE, SPR_WOODEN_RC_FLAT_CHAIN_RAILS_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WOODEN_RC_FLAT_SW_NE, SPR_WOODEN_RC_FLAT_CHAIN_SW_NE }, + { SPR_WOODEN_RC_FLAT_NW_SE, SPR_WOODEN_RC_FLAT_CHAIN_NW_SE }, + { SPR_WOODEN_RC_FLAT_SW_NE, SPR_WOODEN_RC_FLAT_CHAIN_NE_SW }, + { SPR_WOODEN_RC_FLAT_NW_SE, SPR_WOODEN_RC_FLAT_CHAIN_SE_NW }, + }; + static const uint32 railsImageIds[4][2] = { + { SPR_WOODEN_RC_FLAT_RAILS_SW_NE, SPR_WOODEN_RC_FLAT_CHAIN_RAILS_SW_NE }, + { SPR_WOODEN_RC_FLAT_RAILS_NW_SE, SPR_WOODEN_RC_FLAT_CHAIN_RAILS_NW_SE }, + { SPR_WOODEN_RC_FLAT_RAILS_SW_NE, SPR_WOODEN_RC_FLAT_CHAIN_RAILS_NE_SW }, + { SPR_WOODEN_RC_FLAT_RAILS_NW_SE, SPR_WOODEN_RC_FLAT_CHAIN_RAILS_SE_NW }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - wooden_rc_track_paint(imageIds[direction][isChained], railsImageIds[direction][isChained], direction, 0, 2, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + wooden_rc_track_paint(imageIds[direction][isChained], railsImageIds[direction][isChained], direction, 0, 2, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void wooden_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 stationImageIds[4][2] = { - { SPR_WOODEN_RC_STATION_SW_NE, SPR_WOODEN_RC_STATION_RAILS_SW_NE }, - { SPR_WOODEN_RC_STATION_NW_SE, SPR_WOODEN_RC_STATION_RAILS_NW_SE }, - { SPR_WOODEN_RC_STATION_SW_NE, SPR_WOODEN_RC_STATION_RAILS_SW_NE }, - { SPR_WOODEN_RC_STATION_NW_SE, SPR_WOODEN_RC_STATION_RAILS_NW_SE }, - }; + static const uint32 stationImageIds[4][2] = { + { SPR_WOODEN_RC_STATION_SW_NE, SPR_WOODEN_RC_STATION_RAILS_SW_NE }, + { SPR_WOODEN_RC_STATION_NW_SE, SPR_WOODEN_RC_STATION_RAILS_NW_SE }, + { SPR_WOODEN_RC_STATION_SW_NE, SPR_WOODEN_RC_STATION_RAILS_SW_NE }, + { SPR_WOODEN_RC_STATION_NW_SE, SPR_WOODEN_RC_STATION_RAILS_NW_SE }, + }; - sint32 trackType = mapElement->properties.track.type; - if (trackType == TRACK_ELEM_END_STATION) { - wooden_rc_track_paint( - _wooden_rc_block_brakes_image_ids[direction][0], - _wooden_rc_block_brakes_image_ids[direction][1], direction, 0, 2, 32, 27, 2, height, 0, 2, height); - } else { - wooden_rc_track_paint( - stationImageIds[direction][0], - stationImageIds[direction][1], direction, 0, 2, 32, 27, 2, height, 0, 2, height); - } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 trackType = mapElement->properties.track.type; + if (trackType == TRACK_ELEM_END_STATION) { + wooden_rc_track_paint( + _wooden_rc_block_brakes_image_ids[direction][0], + _wooden_rc_block_brakes_image_ids[direction][1], direction, 0, 2, 32, 27, 2, height, 0, 2, height); + } else { + wooden_rc_track_paint( + stationImageIds[direction][0], + stationImageIds[direction][1], direction, 0, 2, 32, 27, 2, height, 0, 2, height); + } + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + track_paint_util_draw_station_2(rideIndex, trackSequence, direction, height, mapElement, 9, 11); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AC578 */ static void wooden_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4][4] = { - { - { SPR_WOODEN_RC_25_DEG_SW_NE, SPR_WOODEN_RC_25_DEG_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_25_DEG_NW_SE, SPR_WOODEN_RC_25_DEG_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_25_DEG_NE_SW, SPR_WOODEN_RC_25_DEG_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_25_DEG_SE_NW, SPR_WOODEN_RC_25_DEG_RAILS_SE_NW, 0, 0 }, - }, - { - { SPR_WOODEN_RC_25_DEG_CHAIN_SW_NE, SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_25_DEG_CHAIN_NW_SE, SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_CHAIN_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_25_DEG_CHAIN_NE_SW, SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_CHAIN_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_25_DEG_CHAIN_SE_NW, SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_SE_NW, 0, 0 }, - } - }; + static const uint32 imageIds[2][4][4] = { + { + { SPR_WOODEN_RC_25_DEG_SW_NE, SPR_WOODEN_RC_25_DEG_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_25_DEG_NW_SE, SPR_WOODEN_RC_25_DEG_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_25_DEG_NE_SW, SPR_WOODEN_RC_25_DEG_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_25_DEG_SE_NW, SPR_WOODEN_RC_25_DEG_RAILS_SE_NW, 0, 0 }, + }, + { + { SPR_WOODEN_RC_25_DEG_CHAIN_SW_NE, SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_25_DEG_CHAIN_NW_SE, SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_CHAIN_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_25_DEG_CHAIN_NE_SW, SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_CHAIN_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_25_DEG_CHAIN_SE_NW, SPR_WOODEN_RC_25_DEG_CHAIN_RAILS_SE_NW, 0, 0 }, + } + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - wooden_rc_track_paint(imageIds[isChained][direction][0], imageIds[isChained][direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - if (direction == 1 || direction == 2) { - wooden_rc_track_paint(imageIds[isChained][direction][2], imageIds[isChained][direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - } - wooden_a_supports_paint_setup(direction & 1, 9 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + wooden_rc_track_paint(imageIds[isChained][direction][0], imageIds[isChained][direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + if (direction == 1 || direction == 2) { + wooden_rc_track_paint(imageIds[isChained][direction][2], imageIds[isChained][direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + } + wooden_a_supports_paint_setup(direction & 1, 9 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AC588 */ static void wooden_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WOODEN_RC_60_DEG_SW_NE, SPR_WOODEN_RC_60_DEG_RAILS_SW_NE }, - { SPR_WOODEN_RC_60_DEG_NW_SE, SPR_WOODEN_RC_60_DEG_RAILS_NW_SE }, - { SPR_WOODEN_RC_60_DEG_NE_SW, SPR_WOODEN_RC_60_DEG_RAILS_NE_SW }, - { SPR_WOODEN_RC_60_DEG_SE_NW, SPR_WOODEN_RC_60_DEG_RAILS_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WOODEN_RC_60_DEG_SW_NE, SPR_WOODEN_RC_60_DEG_RAILS_SW_NE }, + { SPR_WOODEN_RC_60_DEG_NW_SE, SPR_WOODEN_RC_60_DEG_RAILS_NW_SE }, + { SPR_WOODEN_RC_60_DEG_NE_SW, SPR_WOODEN_RC_60_DEG_RAILS_NE_SW }, + { SPR_WOODEN_RC_60_DEG_SE_NW, SPR_WOODEN_RC_60_DEG_RAILS_SE_NW }, + }; - if (direction == 0 || direction == 3) { - wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - } else { - gWoodenSupportsPrependTo = wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 2, 24, 93, height, 28, 4, height - 16); - } - wooden_a_supports_paint_setup(direction & 1, 21 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + if (direction == 0 || direction == 3) { + wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + } else { + gWoodenSupportsPrependTo = wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 2, 24, 93, height, 28, 4, height - 16); + } + wooden_a_supports_paint_setup(direction & 1, 21 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008AC598 */ static void wooden_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4][4] = { - { - { SPR_WOODEN_RC_FLAT_TO_25_DEG_SW_NE, SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_FLAT_TO_25_DEG_NW_SE, SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_NW_SE, SPR_WOODEN_RC_FLAT_TO_25_DEG_FRONT_NW_SE, SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_FLAT_TO_25_DEG_NE_SW, SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_NE_SW, SPR_WOODEN_RC_FLAT_TO_25_DEG_FRONT_NE_SW, SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_FLAT_TO_25_DEG_SE_NW, SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_SE_NW, 0, 0 }, - }, - { - { SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_SW_NE, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_NW_SE, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_NW_SE, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_FRONT_NW_SE, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_NE_SW, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_NE_SW, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_FRONT_NE_SW, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_SE_NW, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_SE_NW, 0, 0 }, - } - }; + static const uint32 imageIds[2][4][4] = { + { + { SPR_WOODEN_RC_FLAT_TO_25_DEG_SW_NE, SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_FLAT_TO_25_DEG_NW_SE, SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_NW_SE, SPR_WOODEN_RC_FLAT_TO_25_DEG_FRONT_NW_SE, SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_FLAT_TO_25_DEG_NE_SW, SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_NE_SW, SPR_WOODEN_RC_FLAT_TO_25_DEG_FRONT_NE_SW, SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_FLAT_TO_25_DEG_SE_NW, SPR_WOODEN_RC_FLAT_TO_25_DEG_RAILS_SE_NW, 0, 0 }, + }, + { + { SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_SW_NE, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_NW_SE, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_NW_SE, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_FRONT_NW_SE, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_NE_SW, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_NE_SW, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_FRONT_NE_SW, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_SE_NW, SPR_WOODEN_RC_FLAT_TO_25_DEG_CHAIN_RAILS_SE_NW, 0, 0 }, + } + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - wooden_rc_track_paint(imageIds[isChained][direction][0], imageIds[isChained][direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - if (direction == 1 || direction == 2) { - wooden_rc_track_paint(imageIds[isChained][direction][2], imageIds[isChained][direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - } - wooden_a_supports_paint_setup(direction & 1, 1 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + wooden_rc_track_paint(imageIds[isChained][direction][0], imageIds[isChained][direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + if (direction == 1 || direction == 2) { + wooden_rc_track_paint(imageIds[isChained][direction][2], imageIds[isChained][direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + } + wooden_a_supports_paint_setup(direction & 1, 1 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AC5A8 */ static void wooden_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4] = { - { SPR_WOODEN_RC_25_DEG_TO_60_DEG_SW_NE, SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_25_DEG_TO_60_DEG_NW_SE, SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_TO_60_DEG_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_25_DEG_TO_60_DEG_NE_SW, SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_TO_60_DEG_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_25_DEG_TO_60_DEG_SE_NW, SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_SE_NW, 0, 0 }, - }; + static const uint32 imageIds[4][4] = { + { SPR_WOODEN_RC_25_DEG_TO_60_DEG_SW_NE, SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_25_DEG_TO_60_DEG_NW_SE, SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_TO_60_DEG_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_25_DEG_TO_60_DEG_NE_SW, SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_TO_60_DEG_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_25_DEG_TO_60_DEG_SE_NW, SPR_WOODEN_RC_25_DEG_TO_60_DEG_RAILS_SE_NW, 0, 0 }, + }; - if (direction == 0 || direction == 3) { - wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - } else { - gWoodenSupportsPrependTo = wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 2, 24, 43, height, 28, 4, height + 2); - wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 2, 43, height, 0, 4, height); - } - wooden_a_supports_paint_setup(direction & 1, 13 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + if (direction == 0 || direction == 3) { + wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + } else { + gWoodenSupportsPrependTo = wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 2, 24, 43, height, 28, 4, height + 2); + wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 2, 43, height, 0, 4, height); + } + wooden_a_supports_paint_setup(direction & 1, 13 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008AC5B8 */ static void wooden_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4] = { - { SPR_WOODEN_RC_60_DEG_TO_25_DEG_SW_NE, SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_60_DEG_TO_25_DEG_NW_SE, SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_NW_SE, SPR_WOODEN_RC_60_DEG_TO_25_DEG_FRONT_NW_SE, SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_60_DEG_TO_25_DEG_NE_SW, SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_NE_SW, SPR_WOODEN_RC_60_DEG_TO_25_DEG_FRONT_NE_SW, SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_60_DEG_TO_25_DEG_SE_NW, SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_SE_NW, 0, 0 }, - }; + static const uint32 imageIds[4][4] = { + { SPR_WOODEN_RC_60_DEG_TO_25_DEG_SW_NE, SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_60_DEG_TO_25_DEG_NW_SE, SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_NW_SE, SPR_WOODEN_RC_60_DEG_TO_25_DEG_FRONT_NW_SE, SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_60_DEG_TO_25_DEG_NE_SW, SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_NE_SW, SPR_WOODEN_RC_60_DEG_TO_25_DEG_FRONT_NE_SW, SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_60_DEG_TO_25_DEG_SE_NW, SPR_WOODEN_RC_60_DEG_TO_25_DEG_RAILS_SE_NW, 0, 0 }, + }; - if (direction == 0 || direction == 3) { - wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - } else { - gWoodenSupportsPrependTo = wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 24, 1, 61, height, 4, 28, height - 16); - wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 2, 43, height, 0, 4, height); - } - wooden_a_supports_paint_setup(direction & 1, 17 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + if (direction == 0 || direction == 3) { + wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + } else { + gWoodenSupportsPrependTo = wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 24, 1, 61, height, 4, 28, height - 16); + wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 2, 43, height, 0, 4, height); + } + wooden_a_supports_paint_setup(direction & 1, 17 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008AC5C8 */ static void wooden_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4][4] = { - { - { SPR_WOODEN_RC_25_DEG_TO_FLAT_SW_NE, SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_25_DEG_TO_FLAT_NW_SE, SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_TO_FLAT_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_25_DEG_TO_FLAT_NE_SW, SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_TO_FLAT_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_25_DEG_TO_FLAT_SE_NW, SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_SE_NW, 0, 0 }, - }, - { - { SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_SW_NE, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_NW_SE, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_NE_SW, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_SE_NW, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_SE_NW, 0, 0 }, - } - }; + static const uint32 imageIds[2][4][4] = { + { + { SPR_WOODEN_RC_25_DEG_TO_FLAT_SW_NE, SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_25_DEG_TO_FLAT_NW_SE, SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_TO_FLAT_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_25_DEG_TO_FLAT_NE_SW, SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_TO_FLAT_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_25_DEG_TO_FLAT_SE_NW, SPR_WOODEN_RC_25_DEG_TO_FLAT_RAILS_SE_NW, 0, 0 }, + }, + { + { SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_SW_NE, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_NW_SE, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_NE_SW, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_SE_NW, SPR_WOODEN_RC_25_DEG_TO_FLAT_CHAIN_RAILS_SE_NW, 0, 0 }, + } + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - wooden_rc_track_paint(imageIds[isChained][direction][0], imageIds[isChained][direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - if (direction == 1 || direction == 2) { - wooden_rc_track_paint(imageIds[isChained][direction][2], imageIds[isChained][direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - } - wooden_a_supports_paint_setup(direction & 1, 5 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + wooden_rc_track_paint(imageIds[isChained][direction][0], imageIds[isChained][direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + if (direction == 1 || direction == 2) { + wooden_rc_track_paint(imageIds[isChained][direction][2], imageIds[isChained][direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + } + wooden_a_supports_paint_setup(direction & 1, 5 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008AC5D8 */ static void wooden_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC5E8 */ static void wooden_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC5F8 */ static void wooden_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC608 */ static void wooden_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC618 */ static void wooden_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC628 */ static void wooden_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void wooden_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const sprite_bb_2 imageIds[2][4][7] = { - { - { - { SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_0, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_0, { 0, 2, 0 }, { 0, 2, 0 }, { 32, 32, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_2, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_2, { 0, 16, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_3, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_5, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_5, { 16, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_6, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_6, { 2, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 } }, - }, - { - { SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_0, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_0, { 2, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_2, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_2, { 16, 0, 0 }, { 16, 0, 0 }, { 16, 34, 2 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_3, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_3, { 0, 16, 0 }, { 0, 16, 0 }, { 16, 16, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_5, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_6, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_6, { 0, 2, 0 }, { 0, 2, 0 }, { 32, 27, 2 } }, - }, - { - { SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_0, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_0, { 0, 2, 0 }, { 0, 2, 0 }, { 32, 27, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_2, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 }}, - { SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_3, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_3, { 16, 16, 0 }, { 16, 16, 0 }, { 16, 16, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_5, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_6, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_6, { 2, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 } }, - }, - { - { SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_0, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_0, { 2, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_2, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_3, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_3, { 16, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_5, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_5, { 0, 16, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_6, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_6, { 0, 2, 0 }, { 0, 2, 0 }, { 32, 32, 2 } }, - } - }, - { - { - { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_0, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_0, { 0, 2, 0 }, { 0, 2, 27 }, { 32, 32, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_2, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_2, { 0, 16, 0 }, { 0, 16, 27 }, { 32, 16, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_3, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_5, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_5, { 16, 0, 0 }, { 16, 0, 27 }, { 16, 32, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_6, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_6, { 2, 0, 0 }, { 2, 0, 27 }, { 32, 32, 0 } }, - }, - { - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - }, - { - { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_0, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_0, { 0, 2, 0 }, { 0, 2, 27 }, { 32, 27, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_2, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_3, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_3, { 16, 16, 0 }, { 16, 16, 27 }, { 16, 16, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_5, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_5, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 } }, - { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_6, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_6, { 2, 0, 0 }, { 2, 0, 27 }, { 27, 32, 0 } }, - }, - { - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - } - }, - }; - static sint8 supportType[4][7] = { - { 0, -1, 4, 2, -1, 4, 1 }, - { 1, -1, 5, 3, -1, 5, 0 }, - { 0, -1, 2, 4, -1, 2, 1 }, - { 1, -1, 3, 5, -1, 3, 0 }, - }; + static const sprite_bb_2 imageIds[2][4][7] = { + { + { + { SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_0, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_0, { 0, 2, 0 }, { 0, 2, 0 }, { 32, 32, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_2, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_2, { 0, 16, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_3, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_5, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_5, { 16, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_6, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_6, { 2, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 } }, + }, + { + { SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_0, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_0, { 2, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_2, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_2, { 16, 0, 0 }, { 16, 0, 0 }, { 16, 34, 2 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_3, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_3, { 0, 16, 0 }, { 0, 16, 0 }, { 16, 16, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_5, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_6, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_6, { 0, 2, 0 }, { 0, 2, 0 }, { 32, 27, 2 } }, + }, + { + { SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_0, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_0, { 0, 2, 0 }, { 0, 2, 0 }, { 32, 27, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_2, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 }}, + { SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_3, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_3, { 16, 16, 0 }, { 16, 16, 0 }, { 16, 16, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_5, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_6, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_6, { 2, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 } }, + }, + { + { SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_0, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_0, { 2, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_2, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_3, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_3, { 16, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_5, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_5, { 0, 16, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_6, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_6, { 0, 2, 0 }, { 0, 2, 0 }, { 32, 32, 2 } }, + } + }, + { + { + { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_0, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_0, { 0, 2, 0 }, { 0, 2, 27 }, { 32, 32, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_2, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_2, { 0, 16, 0 }, { 0, 16, 27 }, { 32, 16, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_3, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_5, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_5, { 16, 0, 0 }, { 16, 0, 27 }, { 16, 32, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_6, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_6, { 2, 0, 0 }, { 2, 0, 27 }, { 32, 32, 0 } }, + }, + { + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + }, + { + { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_0, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_0, { 0, 2, 0 }, { 0, 2, 27 }, { 32, 27, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_2, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_3, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_3, { 16, 16, 0 }, { 16, 16, 27 }, { 16, 16, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_5, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_5, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 } }, + { SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_6, SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_6, { 2, 0, 0 }, { 2, 0, 27 }, { 27, 32, 0 } }, + }, + { + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + } + }, + }; + static sint8 supportType[4][7] = { + { 0, -1, 4, 2, -1, 4, 1 }, + { 1, -1, 5, 3, -1, 5, 0 }, + { 0, -1, 2, 4, -1, 2, 1 }, + { 1, -1, 3, 5, -1, 3, 0 }, + }; - wooden_rc_track_paint_bb(&imageIds[0][direction][trackSequence], height); - wooden_rc_track_paint_bb(&imageIds[1][direction][trackSequence], height); - track_paint_util_right_quarter_turn_5_tiles_tunnel(height, direction, trackSequence, TUNNEL_6); + wooden_rc_track_paint_bb(&imageIds[0][direction][trackSequence], height); + wooden_rc_track_paint_bb(&imageIds[1][direction][trackSequence], height); + track_paint_util_right_quarter_turn_5_tiles_tunnel(height, direction, trackSequence, TUNNEL_6); - if (supportType[direction][trackSequence] != -1) { - wooden_a_supports_paint_setup(supportType[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - } + if (supportType[direction][trackSequence] != -1) { + wooden_a_supports_paint_setup(supportType[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENTS_ALL; break; - case 1: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; - case 2: blockedSegments = SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; - case 3: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; - case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; - case 5: blockedSegments = SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4; break; - case 6: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENTS_ALL; break; + case 1: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; + case 2: blockedSegments = SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; + case 3: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; + case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; + case 5: blockedSegments = SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4; break; + case 6: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void wooden_rc_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - wooden_rc_track_right_quarter_turn_5(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + wooden_rc_track_right_quarter_turn_5(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008AC658 */ static void wooden_rc_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4] = { - { SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_SW_NE, SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_NW_SE, SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_NW_SE, SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_FRONT_NW_SE, SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_NE_SW, SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_NE_SW, 0, 0 }, - { SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_SE_NW, SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_SE_NW, SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_FRONT_SE_NW, SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_RAILS_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][4] = { + { SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_SW_NE, SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_NW_SE, SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_NW_SE, SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_FRONT_NW_SE, SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_NE_SW, SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_NE_SW, 0, 0 }, + { SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_SE_NW, SPR_WOODEN_RC_FLAT_TO_LEFT_BANK_RAILS_SE_NW, SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_FRONT_SE_NW, SPR_WOODEN_RC_RC_FLAT_TO_LEFT_BANK_RAILS_FRONT_SE_NW }, + }; - wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - if (direction == 1 || direction == 3) { - wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + if (direction == 1 || direction == 3) { + wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + } + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AC668 */ static void wooden_rc_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4] = { - { SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_SW_NE, SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_SW_NE, SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_FRONT_SW_NE, SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_RAILS_FRONT_SW_NE }, - { SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_NW_SE, SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_NW_SE, 0, 0 }, - { SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_NE_SW, SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_NE_SW, SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_FRONT_NE_SW, SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_SE_NW, SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_SE_NW, 0, 0 }, - }; + static const uint32 imageIds[4][4] = { + { SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_SW_NE, SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_SW_NE, SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_FRONT_SW_NE, SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_RAILS_FRONT_SW_NE }, + { SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_NW_SE, SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_NW_SE, 0, 0 }, + { SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_NE_SW, SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_NE_SW, SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_FRONT_NE_SW, SPR_WOODEN_RC_RC_FLAT_TO_RIGHT_BANK_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_SE_NW, SPR_WOODEN_RC_FLAT_TO_RIGHT_BANK_RAILS_SE_NW, 0, 0 }, + }; - wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - if (direction == 0 || direction == 2) { - wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + if (direction == 0 || direction == 2) { + wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + } + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AC678 */ static void wooden_rc_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_flat_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_flat_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC688 */ static void wooden_rc_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_flat_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_flat_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void wooden_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const sprite_bb_2 imageIds[2][4][7] = { - { - { - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_0, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_0, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 32, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_2, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_2, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_3, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_5, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_5, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_6, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_6, { 0, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 } }, - }, - { - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_0, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_0, { 0, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_2, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_2, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_3, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_3, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_5, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_6, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_6, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 27, 2 } }, - }, - { - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_0, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_0, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 27, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_2, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 }}, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_3, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_3, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_5, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_6, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_6, { 0, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 } }, - }, - { - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_0, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_0, { 0, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_2, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_3, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_3, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_5, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_5, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_6, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_6, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 32, 2 } }, - } - }, - { - { - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_0, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_0, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 32, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_2, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_2, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_3, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_5, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_5, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 32, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_6, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_6, { 0, 0, 0 }, { 2, 0, 27 }, { 32, 32, 0 } }, - }, - { - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - }, - { - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_0, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_0, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 27, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_2, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_3, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_3, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_5, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_5, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 } }, - { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_6, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_6, { 0, 0, 0 }, { 2, 0, 27 }, { 27, 32, 0 } }, - }, - { - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, - } - }, - }; - static sint8 supportType[4][7] = { - { 0, -1, 4, 2, -1, 4, 1 }, - { 1, -1, 5, 3, -1, 5, 0 }, - { 0, -1, 2, 4, -1, 2, 1 }, - { 1, -1, 3, 5, -1, 3, 0 }, - }; + static const sprite_bb_2 imageIds[2][4][7] = { + { + { + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_0, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_0, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 32, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_2, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_2, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_3, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_5, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_5, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_6, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_6, { 0, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 } }, + }, + { + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_0, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_0, { 0, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_2, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_2, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_3, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_3, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_5, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_6, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_6, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 27, 2 } }, + }, + { + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_0, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_0, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 27, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_2, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 }}, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_3, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_3, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_5, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_6, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_6, { 0, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 } }, + }, + { + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_0, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_0, { 0, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_2, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_3, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_3, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_5, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_5, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_6, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_6, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 32, 2 } }, + } + }, + { + { + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_0, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_0, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 32, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_2, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_2, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_3, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_5, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_5, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 32, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_6, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_6, { 0, 0, 0 }, { 2, 0, 27 }, { 32, 32, 0 } }, + }, + { + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + }, + { + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_0, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_0, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 27, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_2, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_3, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_3, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_5, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_5, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 } }, + { SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_6, SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_6, { 0, 0, 0 }, { 2, 0, 27 }, { 27, 32, 0 } }, + }, + { + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + { 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }, + } + }, + }; + static sint8 supportType[4][7] = { + { 0, -1, 4, 2, -1, 4, 1 }, + { 1, -1, 5, 3, -1, 5, 0 }, + { 0, -1, 2, 4, -1, 2, 1 }, + { 1, -1, 3, 5, -1, 3, 0 }, + }; - wooden_rc_track_paint_bb(&imageIds[0][direction][trackSequence], height); - wooden_rc_track_paint_bb(&imageIds[1][direction][trackSequence], height); - track_paint_util_right_quarter_turn_5_tiles_tunnel(height, direction, trackSequence, TUNNEL_6); + wooden_rc_track_paint_bb(&imageIds[0][direction][trackSequence], height); + wooden_rc_track_paint_bb(&imageIds[1][direction][trackSequence], height); + track_paint_util_right_quarter_turn_5_tiles_tunnel(height, direction, trackSequence, TUNNEL_6); - if (supportType[direction][trackSequence] != -1) { - wooden_a_supports_paint_setup(supportType[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - } + if (supportType[direction][trackSequence] != -1) { + wooden_a_supports_paint_setup(supportType[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENTS_ALL; break; - case 1: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; - case 2: blockedSegments = SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; - case 3: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; - case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; - case 5: blockedSegments = SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4; break; - case 6: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENTS_ALL; break; + case 1: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; + case 2: blockedSegments = SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; + case 3: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; + case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; + case 5: blockedSegments = SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4; break; + case 6: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void wooden_rc_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - wooden_rc_track_banked_right_quarter_turn_5(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + wooden_rc_track_banked_right_quarter_turn_5(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008AC6B8 */ static void wooden_rc_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4] = { - { SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_SW_NE, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_NW_SE, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_NW_SE, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_FRONT_NW_SE, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_NE_SW, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_NE_SW, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_FRONT_NE_SW, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_SE_NW, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_SE_NW, 0, 0 }, - }; + static const uint32 imageIds[4][4] = { + { SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_SW_NE, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_NW_SE, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_NW_SE, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_FRONT_NW_SE, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_NE_SW, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_NE_SW, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_FRONT_NE_SW, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_SE_NW, SPR_WOODEN_RC_LEFT_BANK_TO_25_DEG_RAILS_SE_NW, 0, 0 }, + }; - wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - if (direction == 1 || direction == 2) { - wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - } - wooden_a_supports_paint_setup(direction & 1, 1 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + if (direction == 1 || direction == 2) { + wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + } + wooden_a_supports_paint_setup(direction & 1, 1 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AC6C8 */ static void wooden_rc_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4] = { - { SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_SW_NE, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_NW_SE, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_NW_SE, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_FRONT_NW_SE, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_NE_SW, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_NE_SW, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_FRONT_NE_SW, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_SE_NW, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_SE_NW, 0, 0 }, - }; + static const uint32 imageIds[4][4] = { + { SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_SW_NE, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_NW_SE, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_NW_SE, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_FRONT_NW_SE, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_NE_SW, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_NE_SW, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_FRONT_NE_SW, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_SE_NW, SPR_WOODEN_RC_RIGHT_BANK_TO_25_DEG_RAILS_SE_NW, 0, 0 }, + }; - wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - if (direction == 1 || direction == 2) { - wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - } - wooden_a_supports_paint_setup(direction & 1, 1 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + if (direction == 1 || direction == 2) { + wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + } + wooden_a_supports_paint_setup(direction & 1, 1 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AC6D8 */ static void wooden_rc_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4] = { - { SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_SW_NE, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_NW_SE, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_NE_SW, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_SE_NW, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_SE_NW, 0, 0 }, - }; + static const uint32 imageIds[4][4] = { + { SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_SW_NE, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_NW_SE, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_NE_SW, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_SE_NW, SPR_WOODEN_RC_25_DEG_TO_LEFT_BANK_RAILS_SE_NW, 0, 0 }, + }; - wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - if (direction == 1 || direction == 2) { - wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - } - wooden_a_supports_paint_setup(direction & 1, 5 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + if (direction == 1 || direction == 2) { + wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + } + wooden_a_supports_paint_setup(direction & 1, 5 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008AC6E8 */ static void wooden_rc_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4] = { - { SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_SW_NE, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_SW_NE, 0, 0 }, - { SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_NW_SE, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_FRONT_NW_SE }, - { SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_NE_SW, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_FRONT_NE_SW }, - { SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_SE_NW, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_SE_NW, 0, 0 }, - }; + static const uint32 imageIds[4][4] = { + { SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_SW_NE, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_SW_NE, 0, 0 }, + { SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_NW_SE, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_NW_SE, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_FRONT_NW_SE, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_FRONT_NW_SE }, + { SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_NE_SW, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_NE_SW, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_FRONT_NE_SW, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_FRONT_NE_SW }, + { SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_SE_NW, SPR_WOODEN_RC_25_DEG_TO_RIGHT_BANK_RAILS_SE_NW, 0, 0 }, + }; - wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - if (direction == 1 || direction == 2) { - wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - } - wooden_a_supports_paint_setup(direction & 1, 5 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + if (direction == 1 || direction == 2) { + wooden_rc_track_paint(imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + } + wooden_a_supports_paint_setup(direction & 1, 5 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008AC6F8 */ static void wooden_rc_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC708 */ static void wooden_rc_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC718 */ static void wooden_rc_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC728 */ static void wooden_rc_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC738 */ static void wooden_rc_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WOODEN_RC_LEFT_BANK_SW_NE, SPR_WOODEN_RC_LEFT_BANK_RAILS_SW_NE }, - { SPR_WOODEN_RC_LEFT_BANK_NW_SE, SPR_WOODEN_RC_LEFT_BANK_RAILS_NW_SE }, - { SPR_WOODEN_RC_LEFT_BANK_NE_SW, SPR_WOODEN_RC_LEFT_BANK_RAILS_NE_SW }, - { SPR_WOODEN_RC_LEFT_BANK_SE_NW, SPR_WOODEN_RC_LEFT_BANK_RAILS_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WOODEN_RC_LEFT_BANK_SW_NE, SPR_WOODEN_RC_LEFT_BANK_RAILS_SW_NE }, + { SPR_WOODEN_RC_LEFT_BANK_NW_SE, SPR_WOODEN_RC_LEFT_BANK_RAILS_NW_SE }, + { SPR_WOODEN_RC_LEFT_BANK_NE_SW, SPR_WOODEN_RC_LEFT_BANK_RAILS_NE_SW }, + { SPR_WOODEN_RC_LEFT_BANK_SE_NW, SPR_WOODEN_RC_LEFT_BANK_RAILS_SE_NW }, + }; - wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AC748 */ static void wooden_rc_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC758 */ static void wooden_rc_track_left_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23781, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24647, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23786, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24652, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23812, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24678, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23791, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24657, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23796, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24662, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23782, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24648, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23787, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24653, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23813, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24679, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23792, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24658, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23797, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24663, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23819, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24685, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23783, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24649, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23788, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24654, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23814, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24680, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23793, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24659, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23798, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24664, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23820, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24686, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23784, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24650, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23789, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24655, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23815, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24681, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23794, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24660, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23817, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24683, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23799, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24665, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23821, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24687, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23785, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24651, 0, 0, 27, 32, 2, height, 2, 0, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23790, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24656, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23816, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24682, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23795, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24661, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23818, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24684, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23800, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24666, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23822, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24688, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23781, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24647, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23786, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24652, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23812, 0, 0, 32, 27, 0, height, 0, 2, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24678, 0, 0, 32, 27, 0, height, 0, 2, height + 67); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23791, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24657, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23796, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24662, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23782, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24648, 0, 0, 32, 16, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23787, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24653, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23813, 0, 0, 32, 16, 0, height, 0, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24679, 0, 0, 32, 16, 0, height, 0, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23792, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24658, 0, 0, 32, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23797, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24663, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23819, 0, 0, 32, 16, 0, height, 0, 16, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24685, 0, 0, 32, 16, 0, height, 0, 16, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23783, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24649, 0, 0, 16, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23788, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24654, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23814, 0, 0, 16, 16, 0, height, 16, 16, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24680, 0, 0, 16, 16, 0, height, 16, 16, height + 59); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23793, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24659, 0, 0, 16, 16, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23798, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24664, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23820, 0, 0, 16, 16, 0, height, 0, 0, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24686, 0, 0, 16, 16, 0, height, 0, 0, height + 59); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23784, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24650, 0, 0, 16, 32, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23789, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24655, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23815, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24681, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23794, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24660, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23817, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24683, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23799, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24665, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23821, 0, 0, 16, 32, 0, height, 16, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24687, 0, 0, 16, 32, 0, height, 16, 0, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23785, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24651, 0, 0, 27, 32, 2, height, 2, 0, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23790, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24656, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23816, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24682, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23795, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24661, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23818, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24684, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23800, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24666, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23822, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24688, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AC768 */ static void wooden_rc_track_right_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23761, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24627, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23766, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24632, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23771, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24637, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23807, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24673, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23776, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24642, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23762, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24628, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23801, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24667, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23767, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24633, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23772, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24638, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23808, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24674, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23777, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24643, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23763, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24629, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23802, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24668, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23768, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24634, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23773, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24639, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23809, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24675, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23778, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24644, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23764, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24630, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23803, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24669, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23769, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24635, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23805, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24671, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23774, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24640, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23810, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24676, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23779, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24645, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23765, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24631, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23804, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24670, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23770, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24636, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23806, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24672, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23775, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24641, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23811, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24677, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23780, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24646, 0, 0, 27, 32, 2, height, 2, 0, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23761, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24627, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23766, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24632, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23771, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24637, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23807, 0, 0, 32, 27, 0, height, 0, 2, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24673, 0, 0, 32, 27, 0, height, 0, 2, height + 67); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23776, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24642, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23762, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24628, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23801, 0, 0, 32, 16, 0, height, 0, 16, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24667, 0, 0, 32, 16, 0, height, 0, 16, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23767, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24633, 0, 0, 32, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23772, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24638, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23808, 0, 0, 32, 16, 0, height, 0, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24674, 0, 0, 32, 16, 0, height, 0, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23777, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24643, 0, 0, 32, 16, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23763, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24629, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23802, 0, 0, 16, 16, 0, height, 0, 0, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24668, 0, 0, 16, 16, 0, height, 0, 0, height + 59); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23768, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24634, 0, 0, 16, 16, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23773, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24639, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23809, 0, 0, 16, 16, 0, height, 16, 16, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24675, 0, 0, 16, 16, 0, height, 16, 16, height + 59); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23778, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24644, 0, 0, 16, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23764, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24630, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23803, 0, 0, 16, 32, 0, height, 16, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24669, 0, 0, 16, 32, 0, height, 16, 0, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23769, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24635, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23805, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24671, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23774, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24640, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23810, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24676, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23779, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24645, 0, 0, 16, 32, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23765, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24631, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23804, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24670, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23770, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24636, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23806, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24672, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23775, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24641, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23811, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24677, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23780, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24646, 0, 0, 27, 32, 2, height, 2, 0, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AC778 */ static void wooden_rc_track_left_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - wooden_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + wooden_rc_track_right_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008AC788 */ static void wooden_rc_track_right_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - wooden_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + wooden_rc_track_left_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AC798 */ static void wooden_rc_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23725, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24591, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23729, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24595, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23741, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24607, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23728, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24594, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23732, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24598, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23744, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24610, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23726, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24592, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23730, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24596, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23742, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24608, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23727, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24593, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23731, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24597, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23743, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24609, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23727, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24593, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23731, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24597, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23743, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24609, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23726, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24592, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23730, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24596, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23742, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24608, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23728, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24594, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23732, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24598, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23744, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24610, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23725, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24591, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23729, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24595, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23741, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24607, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23725, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24591, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23729, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24595, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23741, 0, 0, 32, 25, 0, height, 0, 3, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24607, 0, 0, 32, 25, 0, height, 0, 3, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23728, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24594, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23732, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24598, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23744, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24610, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23726, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24592, 0, 0, 32, 26, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23730, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24596, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23742, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24608, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23727, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24593, 0, 0, 32, 26, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23731, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24597, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23743, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24609, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23727, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24593, 0, 0, 32, 26, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23731, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24597, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23743, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24609, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23726, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24592, 0, 0, 32, 26, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23730, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24596, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23742, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24608, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23728, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24594, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23732, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24598, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23744, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24610, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23725, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24591, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23729, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24595, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23741, 0, 0, 32, 25, 0, height, 0, 3, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24607, 0, 0, 32, 25, 0, height, 0, 3, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AC7A8 */ static void wooden_rc_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23733, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24599, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23745, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24611, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23737, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24603, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23736, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24602, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23748, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24614, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23740, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24606, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23734, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24600, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23746, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24612, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23738, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24604, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23735, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24601, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23747, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24613, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23739, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24605, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23735, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24601, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23747, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24613, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23739, 0, 0, 32, 26, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24605, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23734, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24600, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23746, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24612, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23738, 0, 0, 32, 26, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24604, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23736, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24602, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23748, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24614, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23740, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24606, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23733, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24599, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23745, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24611, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23737, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24603, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23733, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24599, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23745, 0, 0, 32, 25, 0, height, 0, 3, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24611, 0, 0, 32, 25, 0, height, 0, 3, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23737, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24603, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23736, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24602, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23748, 0, 0, 32, 25, 0, height, 0, 3, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24614, 0, 0, 32, 25, 0, height, 0, 3, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23740, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24606, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23734, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24600, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23746, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24612, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23738, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24604, 0, 0, 32, 26, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23735, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24601, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23747, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24613, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23739, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24605, 0, 0, 32, 26, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23735, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24601, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23747, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24613, 0, 0, 32, 26, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23739, 0, 0, 32, 26, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24605, 0, 0, 32, 26, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23734, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24600, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23746, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24612, 0, 0, 32, 26, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23738, 0, 0, 32, 26, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24604, 0, 0, 32, 26, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23736, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24602, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23748, 0, 0, 32, 25, 0, height, 0, 3, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24614, 0, 0, 32, 25, 0, height, 0, 3, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23740, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24606, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23733, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24599, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23745, 0, 0, 32, 25, 0, height, 0, 3, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24611, 0, 0, 32, 25, 0, height, 0, 3, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23737, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24603, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ACE18 */ static void wooden_rc_track_left_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23453, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23461, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23460, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23468, 0, 6, 32, 20, 7, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23454, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23462, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23459, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23467, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23455, 16, 0, 5, 16, 119, height); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23463, 12, 0, 3, 16, 119, height); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23458, 10, 16, 4, 16, 119, height); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23466, 16, 16, 4, 16, 119, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23456, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23464, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23457, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23465, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23457, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23465, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23456, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23464, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23458, 10, 16, 4, 16, 119, height); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23466, 16, 16, 4, 16, 119, height); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23455, 16, 0, 5, 16, 119, height); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23463, 12, 0, 3, 16, 119, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23459, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23467, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23454, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23462, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23460, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23468, 0, 6, 32, 20, 7, height); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23453, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23461, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_7); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_7); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23453, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23461, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23460, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23468, 0, 6, 32, 20, 7, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23454, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23462, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23459, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23467, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23455, 16, 0, 5, 16, 119, height); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23463, 12, 0, 3, 16, 119, height); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23458, 10, 16, 4, 16, 119, height); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23466, 16, 16, 4, 16, 119, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23456, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23464, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23457, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23465, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23457, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23465, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23456, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23464, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23458, 10, 16, 4, 16, 119, height); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23466, 16, 16, 4, 16, 119, height); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23455, 16, 0, 5, 16, 119, height); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23463, 12, 0, 3, 16, 119, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23459, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23467, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23454, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23462, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23460, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23468, 0, 6, 32, 20, 7, height); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23453, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23461, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_7); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_7); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008ACE28 */ static void wooden_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23484, 0, 6, 32, 20, 7, height); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23476, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23477, 0, 6, 32, 20, 3, height); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23469, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23483, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23475, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23478, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23470, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23482, 16, 16, 4, 16, 119, height); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23474, 10, 16, 4, 16, 119, height); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23479, 12, 0, 3, 16, 119, height); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23471, 16, 0, 5, 16, 119, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23481, 0, 16, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23473, 0, 16, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23480, 0, 0, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23472, 0, 0, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23480, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23472, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23481, 0, 16, 32, 16, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23473, 0, 16, 32, 16, 3, height + 32); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23479, 12, 0, 3, 16, 119, height); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23471, 16, 0, 5, 16, 119, height); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23482, 16, 16, 4, 16, 119, height); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23474, 10, 16, 4, 16, 119, height); - break; - } - paint_util_set_general_support_height(height + 168, 0x20); - break; - case 8: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23478, 0, 14, 32, 2, 63, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23470, 0, 0, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23483, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23475, 0, 6, 32, 26, 3, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23477, 0, 6, 32, 20, 3, height); - break; - case 1: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23469, 0, 6, 32, 20, 3, height); - break; - case 2: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23484, 0, 6, 32, 20, 7, height); - break; - case 3: - sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23476, 0, 6, 32, 20, 3, height); - break; - } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height - 8, TUNNEL_7); - break; - case 2: - paint_util_push_tunnel_left(height - 8, TUNNEL_7); - break; - } - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23484, 0, 6, 32, 20, 7, height); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23476, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23477, 0, 6, 32, 20, 3, height); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23469, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23483, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23475, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23478, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23470, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23482, 16, 16, 4, 16, 119, height); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23474, 10, 16, 4, 16, 119, height); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23479, 12, 0, 3, 16, 119, height); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23471, 16, 0, 5, 16, 119, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23481, 0, 16, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23473, 0, 16, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23480, 0, 0, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23472, 0, 0, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23480, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23472, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23481, 0, 16, 32, 16, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23473, 0, 16, 32, 16, 3, height + 32); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23479, 12, 0, 3, 16, 119, height); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23471, 16, 0, 5, 16, 119, height); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23482, 16, 16, 4, 16, 119, height); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23474, 10, 16, 4, 16, 119, height); + break; + } + paint_util_set_general_support_height(height + 168, 0x20); + break; + case 8: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23478, 0, 14, 32, 2, 63, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 9, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23470, 0, 0, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23483, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23475, 0, 6, 32, 26, 3, height); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23477, 0, 6, 32, 20, 3, height); + break; + case 1: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23469, 0, 6, 32, 20, 3, height); + break; + case 2: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23484, 0, 6, 32, 20, 7, height); + break; + case 3: + sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23476, 0, 6, 32, 20, 3, height); + break; + } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + switch (direction) { + case 1: + paint_util_push_tunnel_right(height - 8, TUNNEL_7); + break; + case 2: + paint_util_push_tunnel_left(height - 8, TUNNEL_7); + break; + } + paint_util_set_general_support_height(height + 56, 0x20); + break; + } - track_paint_util_right_vertical_loop_segments(direction, trackSequence); + track_paint_util_right_vertical_loop_segments(direction, trackSequence); } /** rct2: 0x008AC7E8 */ static void wooden_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23828, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24694, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23831, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24697, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23840, 0, 6, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24706, 0, 6, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23834, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24700, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23825, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24691, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23837, 0, 6, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24703, 0, 6, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23827, 16, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24693, 16, 0, 16, 16, 2, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23830, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24696, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23839, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24705, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23833, 0, 16, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24699, 0, 16, 16, 16, 2, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23824, 16, 16, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24690, 16, 16, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23836, 16, 16, 16, 16, 0, height, 16, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24702, 16, 16, 16, 16, 0, height, 16, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23826, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24692, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23829, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24695, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23838, 6, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24704, 6, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23832, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24698, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23823, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24689, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23835, 6, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24701, 6, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23828, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24694, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23831, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24697, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23840, 0, 6, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24706, 0, 6, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23834, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24700, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23825, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24691, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23837, 0, 6, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24703, 0, 6, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23827, 16, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24693, 16, 0, 16, 16, 2, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23830, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24696, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23839, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24705, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23833, 0, 16, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24699, 0, 16, 16, 16, 2, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23824, 16, 16, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24690, 16, 16, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23836, 16, 16, 16, 16, 0, height, 16, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24702, 16, 16, 16, 16, 0, height, 16, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23826, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24692, 6, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23829, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24695, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23838, 6, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24704, 6, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23832, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24698, 6, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23823, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24689, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23835, 6, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24701, 6, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AC7F8 */ static void wooden_rc_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - wooden_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + wooden_rc_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AC808 */ static void wooden_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23846, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24712, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23849, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24715, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23858, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24724, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23852, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24718, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23843, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24709, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23855, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24721, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23845, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24711, 0, 0, 16, 16, 2, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23848, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24714, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23857, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24723, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23851, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24717, 0, 0, 16, 16, 2, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23842, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24708, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23854, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24720, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23844, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24710, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23847, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24713, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23856, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24722, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23850, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24716, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23841, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24707, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23853, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24719, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23846, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24712, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23849, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24715, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23858, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24724, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23852, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24718, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23843, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24709, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23855, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24721, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23845, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24711, 0, 0, 16, 16, 2, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23848, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24714, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23857, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24723, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23851, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24717, 0, 0, 16, 16, 2, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23842, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24708, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23854, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24720, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23844, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24710, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23847, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24713, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23856, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24722, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23850, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24716, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23841, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24707, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23853, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24719, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AC818 */ static void wooden_rc_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - wooden_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + wooden_rc_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AC828 */ static void wooden_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23906, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24772, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23908, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24774, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23919, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24785, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23910, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24776, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23904, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24770, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23917, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24783, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23905, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24771, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23907, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24773, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23918, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24784, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23909, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24775, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23920, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24786, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23903, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24769, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23916, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24782, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23906, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24772, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23908, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24774, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23919, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24785, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23910, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24776, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23904, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24770, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23917, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24783, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23905, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24771, 6, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23907, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24773, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23918, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24784, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23909, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24775, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23920, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24786, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23903, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24769, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23916, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24782, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AC838 */ static void wooden_rc_track_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23895, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24761, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23911, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24777, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23897, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24763, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23899, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24765, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23914, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24780, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23901, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24767, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23896, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24762, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23912, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24778, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23898, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24764, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23913, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24779, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23900, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24766, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23915, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24781, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23902, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24768, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23895, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24761, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23911, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24777, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23897, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24763, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23899, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24765, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23914, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24780, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23901, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24767, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23896, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24762, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23912, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24778, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23898, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24764, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23913, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24779, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23900, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24766, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23915, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24781, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23902, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24768, 6, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AC848 */ static void wooden_rc_track_left_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - wooden_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + wooden_rc_track_right_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008AC858 */ static void wooden_rc_track_right_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - wooden_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + wooden_rc_track_left_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008ACAB8 */ static void wooden_rc_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23882, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24748, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23885, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24751, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23894, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24760, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23888, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24754, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23879, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24745, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23891, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24757, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23881, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24747, 0, 0, 16, 16, 2, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23884, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24750, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23893, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24759, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23887, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24753, 0, 0, 16, 16, 2, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23878, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24744, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23890, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24756, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23880, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24746, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23883, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24749, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23892, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24758, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23886, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24752, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23877, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24743, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23889, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24755, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23879, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24745, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23891, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24757, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23882, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24748, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23885, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24751, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23894, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24760, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23888, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24754, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23878, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24744, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23890, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24756, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23881, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24747, 0, 0, 16, 16, 2, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23884, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24750, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23893, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24759, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23887, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24753, 0, 0, 16, 16, 2, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23877, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24743, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23889, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24755, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23880, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24746, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23883, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24749, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23892, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24758, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23886, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24752, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23882, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24748, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23885, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24751, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23894, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24760, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23888, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24754, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23879, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24745, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23891, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24757, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23881, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24747, 0, 0, 16, 16, 2, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23884, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24750, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23893, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24759, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23887, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24753, 0, 0, 16, 16, 2, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23878, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24744, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23890, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24756, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23880, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24746, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23883, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24749, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23892, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24758, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23886, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24752, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23877, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24743, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23889, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24755, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23879, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24745, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23891, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24757, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23882, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24748, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23885, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24751, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23894, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24760, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23888, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24754, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23878, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24744, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23890, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24756, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23881, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24747, 0, 0, 16, 16, 2, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23884, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24750, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23893, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24759, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23887, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24753, 0, 0, 16, 16, 2, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23877, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24743, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23889, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24755, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23880, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24746, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23883, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24749, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23892, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24758, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23886, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24752, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ACAC8 */ static void wooden_rc_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23859, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24725, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23871, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24737, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23862, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24728, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23865, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24731, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23874, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24740, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23868, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24734, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23860, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24726, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23872, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24738, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23863, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24729, 0, 0, 16, 16, 2, height, 0, 16, height); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23866, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24732, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23875, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24741, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23869, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24735, 0, 0, 16, 16, 2, height, 16, 0, height); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23861, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24727, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23873, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24739, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23864, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24730, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23867, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24733, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23876, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24742, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23870, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24736, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23862, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24728, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23865, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24731, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23874, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24740, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23868, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24734, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23859, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24725, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23871, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24737, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23863, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24729, 0, 0, 16, 16, 2, height, 16, 0, height); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23866, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24732, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23875, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24741, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23869, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24735, 0, 0, 16, 16, 2, height, 0, 16, height); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23860, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24726, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23872, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24738, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23864, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24730, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23867, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24733, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23876, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24742, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23870, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24736, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23861, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24727, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23873, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24739, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23859, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24725, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23871, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24737, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23862, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24728, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23865, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24731, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23874, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24740, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23868, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24734, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23860, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24726, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23872, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24738, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23863, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24729, 0, 0, 16, 16, 2, height, 0, 16, height); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23866, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24732, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23875, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24741, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23869, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24735, 0, 0, 16, 16, 2, height, 16, 0, height); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23861, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24727, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23873, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24739, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23864, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24730, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23867, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24733, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23876, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24742, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23870, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24736, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23862, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24728, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23865, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24731, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23874, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24740, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23868, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24734, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23859, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24725, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23871, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24737, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23863, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24729, 0, 0, 16, 16, 2, height, 16, 0, height); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23866, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24732, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23875, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24741, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23869, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24735, 0, 0, 16, 16, 2, height, 0, 16, height); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23860, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24726, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23872, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24738, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23864, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24730, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23867, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24733, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23876, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24742, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23870, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24736, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23861, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24727, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23873, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24739, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ACAD8 */ static void wooden_rc_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - wooden_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + wooden_rc_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008ACAE8 */ static void wooden_rc_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 4) { - trackSequence -= 4; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - wooden_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 4) { + trackSequence -= 4; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + wooden_rc_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008ACAF8 */ static void wooden_rc_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23704, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24570, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23709, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24575, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23724, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24590, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23714, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24580, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23699, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24565, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23719, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24585, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23703, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24569, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23708, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24574, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23723, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24589, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23713, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24579, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23698, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24564, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23718, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24584, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23702, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24568, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23707, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24573, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23722, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24588, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23712, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24578, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23697, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24563, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23717, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24583, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D0, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23701, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24567, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23706, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24572, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23721, 0, 0, 16, 32, 0, height, 0, 0, height + 33); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24587, 0, 0, 16, 32, 0, height, 0, 0, height + 33); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23711, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24577, 0, 0, 16, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23696, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24562, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23716, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24582, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23700, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24566, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23705, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24571, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23720, 0, 0, 27, 32, 0, height, 2, 0, height + 33); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24586, 0, 0, 27, 32, 0, height, 2, 0, height + 33); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23710, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24576, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23695, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24561, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23715, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24581, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23699, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24565, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23719, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24585, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23704, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24570, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23709, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24575, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23724, 0, 0, 27, 32, 0, height, 2, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24590, 0, 0, 27, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23714, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24580, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23698, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24564, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23718, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24584, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23703, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24569, 0, 0, 16, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23708, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24574, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23723, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24589, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23713, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24579, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23697, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24563, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23717, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24583, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23702, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24568, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23707, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24573, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23722, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24588, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23712, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24578, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23696, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24562, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23716, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24582, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23701, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24567, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23706, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24572, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23721, 0, 0, 32, 16, 0, height, 0, 0, height + 33); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24587, 0, 0, 32, 16, 0, height, 0, 0, height + 33); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23711, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24577, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23695, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24561, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23715, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24581, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23700, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24566, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23705, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24571, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23720, 0, 0, 32, 27, 0, height, 0, 2, height + 33); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24586, 0, 0, 32, 27, 0, height, 0, 2, height + 33); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23710, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24576, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23704, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24570, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23709, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24575, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23724, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24590, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23714, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24580, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23699, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24565, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23719, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24585, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23703, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24569, 0, 0, 32, 16, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23708, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24574, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23723, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24589, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23713, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24579, 0, 0, 32, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23698, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24564, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23718, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24584, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23702, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24568, 0, 0, 16, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23707, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24573, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23722, 0, 0, 16, 16, 0, height, 16, 16, height + 29); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24588, 0, 0, 16, 16, 0, height, 16, 16, height + 29); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23712, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24578, 0, 0, 16, 16, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23697, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24563, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23717, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24583, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D0, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23701, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24567, 0, 0, 16, 32, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23706, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24572, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23721, 0, 0, 16, 32, 0, height, 0, 0, height + 33); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24587, 0, 0, 16, 32, 0, height, 0, 0, height + 33); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23711, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24577, 0, 0, 16, 32, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23696, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24562, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23716, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24582, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23700, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24566, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23705, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24571, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23720, 0, 0, 27, 32, 0, height, 2, 0, height + 33); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24586, 0, 0, 27, 32, 0, height, 2, 0, height + 33); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23710, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24576, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23695, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24561, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23715, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24581, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23699, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24565, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23719, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24585, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23704, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24570, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23709, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24575, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23724, 0, 0, 27, 32, 0, height, 2, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24590, 0, 0, 27, 32, 0, height, 2, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23714, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24580, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23698, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24564, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23718, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24584, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23703, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24569, 0, 0, 16, 32, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23708, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24574, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23723, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24589, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23713, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24579, 0, 0, 16, 32, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23697, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24563, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23717, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24583, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23702, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24568, 0, 0, 16, 16, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23707, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24573, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23722, 0, 0, 16, 16, 0, height, 16, 16, height + 29); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24588, 0, 0, 16, 16, 0, height, 16, 16, height + 29); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23712, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24578, 0, 0, 16, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23696, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24562, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23716, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24582, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23701, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24567, 0, 0, 32, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23706, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24572, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23721, 0, 0, 32, 16, 0, height, 0, 0, height + 33); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24587, 0, 0, 32, 16, 0, height, 0, 0, height + 33); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23711, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24577, 0, 0, 32, 16, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23695, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24561, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23715, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24581, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23700, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24566, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23705, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24571, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23720, 0, 0, 32, 27, 0, height, 0, 2, height + 33); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24586, 0, 0, 32, 27, 0, height, 0, 2, height + 33); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23710, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24576, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ACB08 */ static void wooden_rc_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23665, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24531, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23685, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24551, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23670, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24536, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23675, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24541, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23690, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24556, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23680, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24546, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23666, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24532, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23686, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24552, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23671, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24537, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23676, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24542, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23691, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24557, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23681, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24547, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23667, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24533, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23687, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24553, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23672, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24538, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23677, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24543, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23692, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24558, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23682, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24548, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23668, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24534, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23688, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24554, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23673, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24539, 0, 0, 16, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23678, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24544, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23693, 0, 0, 16, 32, 0, height, 0, 0, height + 33); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24559, 0, 0, 16, 32, 0, height, 0, 0, height + 33); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23683, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24549, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23669, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24535, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23689, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24555, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23674, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24540, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23679, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24545, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23694, 0, 0, 27, 32, 0, height, 2, 0, height + 33); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24560, 0, 0, 27, 32, 0, height, 2, 0, height + 33); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23684, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24550, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 7: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23670, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24536, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23675, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24541, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23690, 0, 0, 27, 32, 0, height, 2, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24556, 0, 0, 27, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23680, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24546, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23665, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24531, 0, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23685, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24551, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 8: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 9: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23671, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24537, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23676, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24542, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23691, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24557, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23681, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24547, 0, 0, 16, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23666, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24532, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23686, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24552, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 10: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23672, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24538, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23677, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24543, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23692, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24558, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23682, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24548, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23667, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24533, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23687, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24553, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D0, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 11: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 12: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23673, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24539, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23678, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24544, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23693, 0, 0, 32, 16, 0, height, 0, 0, height + 33); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24559, 0, 0, 32, 16, 0, height, 0, 0, height + 33); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23683, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24549, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23668, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24534, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23688, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24554, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 13: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23674, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24540, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23679, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24545, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23694, 0, 0, 32, 27, 0, height, 0, 2, height + 33); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24560, 0, 0, 32, 27, 0, height, 0, 2, height + 33); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23684, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24550, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23669, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24535, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23689, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24555, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23665, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24531, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23685, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24551, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23670, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24536, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23675, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24541, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23690, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24556, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23680, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24546, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23666, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24532, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23686, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24552, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23671, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24537, 0, 0, 32, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23676, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24542, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23691, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24557, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23681, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24547, 0, 0, 32, 16, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23667, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24533, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23687, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24553, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23672, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24538, 0, 0, 16, 16, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23677, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24543, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23692, 0, 0, 16, 16, 0, height, 16, 16, height + 29); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24558, 0, 0, 16, 16, 0, height, 16, 16, height + 29); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23682, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24548, 0, 0, 16, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23668, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24534, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23688, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24554, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23673, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24539, 0, 0, 16, 32, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23678, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24544, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23693, 0, 0, 16, 32, 0, height, 0, 0, height + 33); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24559, 0, 0, 16, 32, 0, height, 0, 0, height + 33); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23683, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24549, 0, 0, 16, 32, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23669, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24535, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23689, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24555, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23674, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24540, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23679, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24545, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23694, 0, 0, 27, 32, 0, height, 2, 0, height + 33); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24560, 0, 0, 27, 32, 0, height, 2, 0, height + 33); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23684, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24550, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 7: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23670, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24536, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23675, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24541, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23690, 0, 0, 27, 32, 0, height, 2, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24556, 0, 0, 27, 32, 0, height, 2, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23680, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24546, 0, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23665, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24531, 0, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23685, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24551, 0, 0, 20, 32, 0, height, 6, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_CC, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 8: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 9: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23671, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24537, 0, 0, 16, 32, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23676, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24542, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23691, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24557, 0, 0, 16, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23681, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24547, 0, 0, 16, 32, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23666, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24532, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23686, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24552, 0, 0, 16, 32, 0, height, 16, 0, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 10: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23672, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24538, 0, 0, 16, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23677, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24543, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23692, 0, 0, 16, 16, 0, height, 16, 16, height + 29); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24558, 0, 0, 16, 16, 0, height, 16, 16, height + 29); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23682, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24548, 0, 0, 16, 16, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23667, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24533, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23687, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24553, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D0, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 11: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 12: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23673, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24539, 0, 0, 32, 16, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23678, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24544, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23693, 0, 0, 32, 16, 0, height, 0, 0, height + 33); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24559, 0, 0, 32, 16, 0, height, 0, 0, height + 33); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23683, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24549, 0, 0, 32, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23668, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24534, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23688, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24554, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 13: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23674, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24540, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23679, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24545, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23694, 0, 0, 32, 27, 0, height, 0, 2, height + 33); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24560, 0, 0, 32, 27, 0, height, 0, 2, height + 33); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23684, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24550, 0, 0, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23669, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24535, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23689, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24555, 0, 0, 32, 20, 0, height, 0, 6, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_D4, direction), 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ACB18 */ static void wooden_rc_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction - 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - wooden_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction - 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + wooden_rc_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008ACB28 */ static void wooden_rc_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence >= 7) { - trackSequence -= 7; - direction = (direction + 1) & 3; - } - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - wooden_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + if (trackSequence >= 7) { + trackSequence -= 7; + direction = (direction + 1) & 3; + } + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + wooden_rc_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008ACB98 */ static void wooden_rc_track_left_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24209, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25075, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24217, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25083, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24210, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25076, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24218, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25084, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24211, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25077, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24219, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25085, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24212, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25078, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24220, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25086, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24209, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25075, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24217, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25083, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24210, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25076, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24218, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25084, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24211, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25077, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24219, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25085, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24212, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25078, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24220, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25086, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008ACB78 */ static void wooden_rc_track_right_quarter_turn_1_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24213, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25079, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24221, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25087, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24214, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25080, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24222, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25088, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24215, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25081, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24223, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25089, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24216, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25082, 0, 0, 28, 28, 3, height, 2, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24224, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25090, 0, 0, 28, 28, 1, height, 2, 2, height + 99); - break; - } - track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24213, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25079, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24221, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25087, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24214, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25080, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24222, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25088, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24215, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25081, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24223, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25089, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24216, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25082, 0, 0, 28, 28, 3, height, 2, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24224, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25090, 0, 0, 28, 28, 1, height, 2, 2, height + 99); + break; + } + track_paint_util_right_quarter_turn_1_tile_tunnel(direction, height, -8, TUNNEL_7, +56, TUNNEL_8); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008ACB88 */ static void wooden_rc_track_left_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + wooden_rc_track_right_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008ACBA8 */ static void wooden_rc_track_right_quarter_turn_1_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + wooden_rc_track_left_quarter_turn_1_60_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008AC868 */ static void wooden_rc_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WOODEN_RC_BRAKES_SW_NE, SPR_WOODEN_RC_BRAKES_RAILS_SW_NE }, - { SPR_WOODEN_RC_BRAKES_NW_SE, SPR_WOODEN_RC_BRAKES_RAILS_NW_SE }, - { SPR_WOODEN_RC_BRAKES_SW_NE, SPR_WOODEN_RC_BRAKES_RAILS_SW_NE }, - { SPR_WOODEN_RC_BRAKES_NW_SE, SPR_WOODEN_RC_BRAKES_RAILS_NW_SE }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WOODEN_RC_BRAKES_SW_NE, SPR_WOODEN_RC_BRAKES_RAILS_SW_NE }, + { SPR_WOODEN_RC_BRAKES_NW_SE, SPR_WOODEN_RC_BRAKES_RAILS_NW_SE }, + { SPR_WOODEN_RC_BRAKES_SW_NE, SPR_WOODEN_RC_BRAKES_RAILS_SW_NE }, + { SPR_WOODEN_RC_BRAKES_NW_SE, SPR_WOODEN_RC_BRAKES_RAILS_NW_SE }, + }; - wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 2, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + wooden_rc_track_paint(imageIds[direction][0], imageIds[direction][1], direction, 0, 2, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008ACC78 */ static void wooden_rc_track_25_deg_up_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24249, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25115, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24250, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25116, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24257, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25123, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24251, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25117, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24258, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25124, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24252, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25118, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24249, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25115, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24250, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25116, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24257, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25123, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24251, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25117, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24258, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25124, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24252, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25118, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ACC88 */ static void wooden_rc_track_25_deg_up_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24253, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25119, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24254, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25120, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24259, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25125, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24255, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25121, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24260, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25126, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24256, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25122, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24253, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25119, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24254, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25120, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24259, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25125, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24255, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25121, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24260, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25126, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24256, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25122, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AC878 */ static void wooden_rc_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23753, 0, 2, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24619, 0, 2, 32, 25, 2, height, 0, 3, height); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23754, 0, 2, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24620, 0, 2, 32, 25, 2, height, 0, 3, height); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23753, 0, 2, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24619, 0, 2, 32, 25, 2, height, 0, 3, height); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23754, 0, 2, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24620, 0, 2, 32, 25, 2, height, 0, 3, height); - break; - } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - track_paint_util_onride_photo_small_paint(direction, height + 16, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23753, 0, 2, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24619, 0, 2, 32, 25, 2, height, 0, 3, height); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23754, 0, 2, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24620, 0, 2, 32, 25, 2, height, 0, 3, height); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23753, 0, 2, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24619, 0, 2, 32, 25, 2, height, 0, 3, height); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23754, 0, 2, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24620, 0, 2, 32, 25, 2, height, 0, 3, height); + break; + } + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + track_paint_util_onride_photo_small_paint(direction, height + 16, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008ACC98 */ static void wooden_rc_track_25_deg_down_left_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_25_deg_up_right_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACCA8 */ static void wooden_rc_track_25_deg_down_right_banked(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_25_deg_up_left_banked(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACE08 */ static void wooden_rc_track_water_splash(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23989, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24855, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23997, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24863, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23993, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24859, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23990, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24856, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23998, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24864, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23994, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24860, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23987, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24853, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23995, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24861, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23991, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24857, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23988, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24854, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23996, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24862, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23992, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24858, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23977, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24843, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23985, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24851, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23981, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24847, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23978, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24844, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23986, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24852, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23982, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24848, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23975, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24841, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23983, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24849, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23979, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24845, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23976, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24842, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23984, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24850, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23980, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24846, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23999, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24865, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24003, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24869, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 24001, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24867, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 1: - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24000, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24866, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24004, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24870, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 24002, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24868, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23975, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24841, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23983, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24849, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23979, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24845, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23976, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24842, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23984, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24850, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23980, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24846, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23977, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24843, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23985, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24851, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23981, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24847, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23978, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24844, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23986, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24852, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23982, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24848, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23987, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24853, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23995, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24861, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23991, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24857, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23988, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24854, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23996, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24862, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23992, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24858, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23989, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24855, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23997, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24863, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23993, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24859, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23990, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24856, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23998, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24864, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23994, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24860, 0, 0, 32, 25, 2, height, 0, 3, height); - break; - } - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23989, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24855, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23997, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24863, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23993, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24859, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23990, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24856, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23998, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24864, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23994, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24860, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23987, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24853, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23995, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24861, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23991, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24857, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23988, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24854, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23996, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24862, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23992, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24858, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + } + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23977, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24843, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23985, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24851, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23981, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24847, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23978, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24844, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23986, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24852, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23982, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24848, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23975, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24841, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23983, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24849, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23979, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24845, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23976, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24842, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23984, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24850, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23980, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24846, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + } + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23999, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24865, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24003, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24869, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 24001, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24867, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 1: + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24000, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24866, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24004, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24870, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 24002, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24868, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + } + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23975, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24841, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23983, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24849, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23979, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24845, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23976, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24842, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23984, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24850, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23980, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24846, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23977, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24843, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23985, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24851, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23981, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24847, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23978, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24844, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23986, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24852, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23982, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24848, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + } + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23987, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24853, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23995, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24861, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23991, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24857, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23988, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24854, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23996, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24862, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23992, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24858, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23989, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24855, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23997, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24863, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23993, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24859, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23990, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24856, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, 0x61000000 | 5048, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, 0x00000000 | 5053, 0, 0, 32, 25, 2, height + 16, 0, 3, height + 16); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 23998, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, gTrackColours[SCHEME_SUPPORTS] | 24864, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_track_colour() | 23994, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24860, 0, 0, 32, 25, 2, height, 0, 3, height); + break; + } + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AC958 */ static void wooden_rc_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24137, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25003, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24141, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25007, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24153, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25019, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24145, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25011, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24149, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25015, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24157, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25023, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24138, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25004, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24142, 0, 0, 34, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25008, 0, 0, 34, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24154, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25020, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24146, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25012, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24150, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25016, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24158, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25024, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24139, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25005, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24143, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25009, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24155, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25021, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24147, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25013, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24151, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25017, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24159, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25025, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24140, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25006, 0, 0, 16, 16, 2, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24144, 0, 0, 16, 18, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25010, 0, 0, 16, 18, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24156, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25022, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24148, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25014, 0, 0, 16, 16, 2, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24152, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25018, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24160, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25026, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24137, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25003, 0, 0, 32, 32, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24141, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25007, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24153, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25019, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24145, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25011, 0, 0, 32, 32, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24149, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25015, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24157, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25023, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24138, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25004, 0, 0, 32, 16, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24142, 0, 0, 34, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25008, 0, 0, 34, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24154, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25020, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24146, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25012, 0, 0, 32, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24150, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25016, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24158, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25024, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24139, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25005, 0, 0, 16, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24143, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25009, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24155, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25021, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24147, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25013, 0, 0, 16, 16, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24151, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25017, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24159, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25025, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24140, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25006, 0, 0, 16, 16, 2, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24144, 0, 0, 16, 18, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25010, 0, 0, 16, 18, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24156, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25022, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24148, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25014, 0, 0, 16, 16, 2, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24152, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25018, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24160, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25026, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AC968 */ static void wooden_rc_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24113, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24979, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24129, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24995, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24117, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24983, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24121, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24987, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24133, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24999, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24125, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24991, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24114, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24980, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24130, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24996, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24118, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24984, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24122, 0, 0, 34, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24988, 0, 0, 34, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24134, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25000, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24126, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24992, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24115, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24981, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24131, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24997, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24119, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24985, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24123, 0, 0, 28, 28, 2, height, 4, 4, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24989, 0, 0, 28, 28, 2, height, 4, 4, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24135, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25001, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24127, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24993, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24116, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24982, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24132, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24998, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24120, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24986, 0, 0, 16, 16, 2, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24124, 0, 0, 16, 18, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24990, 0, 0, 16, 18, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24136, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25002, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24128, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24994, 0, 0, 16, 16, 2, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24113, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24979, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24129, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24995, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24117, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24983, 0, 0, 32, 32, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24121, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24987, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24133, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24999, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24125, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24991, 0, 0, 32, 32, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24114, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24980, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24130, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24996, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24118, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24984, 0, 0, 32, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24122, 0, 0, 34, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24988, 0, 0, 34, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24134, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25000, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24126, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24992, 0, 0, 32, 16, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24115, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24981, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24131, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24997, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24119, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24985, 0, 0, 16, 16, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24123, 0, 0, 28, 28, 2, height, 4, 4, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24989, 0, 0, 28, 28, 2, height, 4, 4, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24135, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25001, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24127, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24993, 0, 0, 16, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24116, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24982, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24132, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24998, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24120, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24986, 0, 0, 16, 16, 2, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24124, 0, 0, 16, 18, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24990, 0, 0, 16, 18, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24136, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25002, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24128, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24994, 0, 0, 16, 16, 2, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AC978 */ static void wooden_rc_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - wooden_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + wooden_rc_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC988 */ static void wooden_rc_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - wooden_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + wooden_rc_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008AC998 */ static void wooden_rc_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24185, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25051, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24189, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25055, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24201, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25067, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24193, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25059, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24197, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25063, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24205, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25071, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24186, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25052, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24190, 0, 0, 34, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25056, 0, 0, 34, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24202, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25068, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24194, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25060, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24198, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25064, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24206, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25072, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24187, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25053, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24191, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25057, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24203, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25069, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24195, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25061, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24199, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25065, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24207, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25073, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24188, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25054, 0, 0, 16, 16, 2, height, 16, 16, height); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24192, 0, 0, 16, 18, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25058, 0, 0, 16, 18, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24204, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25070, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24196, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25062, 0, 0, 16, 16, 2, height, 0, 0, height); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24200, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25066, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24208, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25074, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24185, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25051, 0, 0, 32, 32, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24189, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25055, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24201, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25067, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24193, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25059, 0, 0, 32, 32, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24197, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25063, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24205, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25071, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24186, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25052, 0, 0, 32, 16, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24190, 0, 0, 34, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25056, 0, 0, 34, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24202, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25068, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24194, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25060, 0, 0, 32, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24198, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25064, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24206, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25072, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24187, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25053, 0, 0, 16, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24191, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25057, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24203, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25069, 0, 0, 16, 16, 0, height, 16, 16, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24195, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25061, 0, 0, 16, 16, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24199, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25065, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24207, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25073, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24188, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25054, 0, 0, 16, 16, 2, height, 16, 16, height); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24192, 0, 0, 16, 18, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25058, 0, 0, 16, 18, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24204, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25070, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24196, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25062, 0, 0, 16, 16, 2, height, 0, 0, height); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24200, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25066, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24208, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25074, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AC9A8 */ static void wooden_rc_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24161, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25027, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24177, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25043, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24165, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25031, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24169, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25035, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24181, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25047, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24173, 0, 0, 32, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25039, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24162, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25028, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24178, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25044, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24166, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25032, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24170, 0, 0, 34, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25036, 0, 0, 34, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24182, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25048, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24174, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25040, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24163, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25029, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24179, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25045, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24167, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25033, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24171, 0, 0, 28, 28, 2, height, 4, 4, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25037, 0, 0, 28, 28, 2, height, 4, 4, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24183, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25049, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24175, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25041, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24164, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25030, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24180, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25046, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24168, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25034, 0, 0, 16, 16, 2, height, 0, 0, height); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24172, 0, 0, 16, 18, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25038, 0, 0, 16, 18, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24184, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25050, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24176, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25042, 0, 0, 16, 16, 2, height, 16, 16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24161, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25027, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24177, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25043, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24165, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25031, 0, 0, 32, 32, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24169, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25035, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24181, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25047, 0, 0, 32, 32, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24173, 0, 0, 32, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25039, 0, 0, 32, 32, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24162, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25028, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24178, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25044, 0, 0, 32, 16, 0, height, 0, 16, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24166, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25032, 0, 0, 32, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24170, 0, 0, 34, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25036, 0, 0, 34, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24182, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25048, 0, 0, 32, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24174, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25040, 0, 0, 32, 16, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24163, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25029, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24179, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25045, 0, 0, 16, 16, 0, height, 0, 0, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24167, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25033, 0, 0, 16, 16, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24171, 0, 0, 28, 28, 2, height, 4, 4, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25037, 0, 0, 28, 28, 2, height, 4, 4, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24183, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25049, 0, 0, 28, 28, 0, height, 4, 4, height + 27); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24175, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25041, 0, 0, 16, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24164, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25030, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24180, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25046, 0, 0, 16, 16, 0, height, 16, 0, height + 27); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24168, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25034, 0, 0, 16, 16, 2, height, 0, 0, height); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24172, 0, 0, 16, 18, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25038, 0, 0, 16, 18, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24184, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25050, 0, 0, 16, 16, 0, height, 0, 16, height + 27); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24176, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25042, 0, 0, 16, 16, 2, height, 16, 16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AC9B8 */ static void wooden_rc_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - wooden_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + wooden_rc_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008AC9C8 */ static void wooden_rc_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - wooden_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + wooden_rc_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008AC888 */ static void wooden_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24050, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24916, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24008, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24874, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24047, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24913, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24051, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24917, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24005, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24871, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24009, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24875, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24049, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24915, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24052, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24918, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24007, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24873, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24010, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24876, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24048, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24914, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24006, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24872, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24050, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24916, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24008, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24874, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24047, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24913, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24051, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24917, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24005, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24871, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24009, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24875, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24049, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24915, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24052, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24918, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24007, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24873, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24010, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24876, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24048, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24914, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24006, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24872, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AC8B8 */ static void wooden_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24068, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24934, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24026, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24892, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24065, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24931, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24069, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24935, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24023, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24889, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24027, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24893, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24067, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24933, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24070, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24936, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24025, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24891, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24028, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24894, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24066, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24932, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24024, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24890, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24068, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24934, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24026, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24892, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24065, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24931, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24069, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24935, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24023, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24889, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24027, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24893, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24067, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24933, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24070, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24936, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24025, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24891, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24028, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24894, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24066, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24932, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24024, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24890, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008AC8E8 */ static void wooden_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24044, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24910, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24041, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24907, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24045, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24911, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24043, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24909, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24046, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24912, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24042, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24908, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24044, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24910, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24041, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24907, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24045, -16, -16, 32, 32, 0, height, -16, -16, height + 91); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24911, -16, -16, 32, 32, 0, height, -16, -16, height + 91); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24043, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24909, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24046, -16, -16, 32, 32, 0, height, -16, -16, height + 91); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24912, -16, -16, 32, 32, 0, height, -16, -16, height + 91); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24042, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24908, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008AC898 */ static void wooden_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24056, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24922, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24014, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24880, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24053, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24919, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24057, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24923, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24011, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24877, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24015, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24881, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24055, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24921, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24058, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24924, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24013, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24879, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24016, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24882, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24054, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24920, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24012, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24878, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24056, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24922, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24014, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24880, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24053, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24919, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24057, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24923, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24011, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24877, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24015, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24881, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24055, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24921, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24058, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24924, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24013, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24879, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24016, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24882, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24054, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24920, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24012, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24878, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AC8C8 */ static void wooden_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24032, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24898, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24029, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24895, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24033, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24899, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24031, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24897, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24034, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24900, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24030, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24896, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24032, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24898, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24029, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24895, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24033, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24899, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24031, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24897, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24034, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24900, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24030, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24896, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AC8D8 */ static void wooden_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24038, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24904, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24035, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24901, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24039, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24905, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24037, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24903, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24040, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24906, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24036, -16, -16, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24902, -16, -16, 16, 16, 2, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24038, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24904, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24035, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24901, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24039, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24905, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24037, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24903, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24040, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24906, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24036, -16, -16, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24902, -16, -16, 16, 16, 2, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AC8A8 */ static void wooden_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24062, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24928, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24020, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24886, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24059, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24925, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24063, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24929, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24017, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24883, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24021, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24887, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24061, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24927, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24064, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24930, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24019, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24885, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24022, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24888, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24060, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24926, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24018, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24884, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24062, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24928, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24020, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24886, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24059, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24925, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24063, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24929, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24017, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24883, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24021, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24887, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24061, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24927, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24064, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24930, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24019, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24885, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24022, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24888, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24060, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24926, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24018, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24884, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008AC918 */ static void wooden_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24066, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24932, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24024, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24890, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24067, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24933, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24070, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24936, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24025, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24891, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24028, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24894, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24065, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24931, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24069, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24935, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24023, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24889, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24027, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24893, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24068, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24934, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24026, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24892, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24066, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24932, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24024, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24890, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24067, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24933, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24070, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24936, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24025, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24891, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24028, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24894, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24065, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24931, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24069, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24935, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24023, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24889, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24027, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24893, -16, -16, 32, 32, 0, height, -16, -16, height + 43); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24068, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24934, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24026, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24892, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008AC948 */ static void wooden_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24042, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24908, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24043, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24909, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24046, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24912, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24041, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24907, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24045, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24911, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24044, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24910, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24042, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24908, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24043, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24909, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24046, -16, -16, 32, 32, 0, height, -16, -16, height + 91); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24912, -16, -16, 32, 32, 0, height, -16, -16, height + 91); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24041, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24907, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24045, -16, -16, 32, 32, 0, height, -16, -16, height + 91); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24911, -16, -16, 32, 32, 0, height, -16, -16, height + 91); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24044, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24910, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); + break; + } } /** rct2: 0x008AC8F8 */ static void wooden_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24060, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24926, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24018, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24884, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24061, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24927, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24064, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24930, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24019, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24885, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24022, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24888, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24059, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24925, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24063, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24929, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24017, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24883, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24021, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24887, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24062, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24928, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24020, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24886, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24060, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24926, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24018, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24884, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24061, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24927, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24064, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24930, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24019, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24885, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24022, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24888, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24059, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24925, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24063, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24929, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24017, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24883, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24021, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24887, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24062, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24928, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24020, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24886, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AC928 */ static void wooden_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24036, -16, -16, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24902, -16, -16, 16, 16, 2, height, 0, 0, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24037, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24903, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24040, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24906, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24035, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24901, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24039, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24905, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24038, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24904, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24036, -16, -16, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24902, -16, -16, 16, 16, 2, height, 0, 0, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24037, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24903, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24040, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24906, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24035, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24901, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24039, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24905, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24038, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24904, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AC938 */ static void wooden_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24030, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24896, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24031, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24897, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24034, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24900, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24029, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24895, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24033, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24899, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24032, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24898, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24030, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24896, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24031, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24897, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24034, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24900, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24029, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24895, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24033, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24899, -16, -16, 32, 32, 0, height, -16, -16, height + 59); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24032, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24898, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008AC908 */ static void wooden_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24054, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24920, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24012, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24878, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24055, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24921, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24058, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24924, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24013, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24879, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24016, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24882, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24053, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24919, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24057, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24923, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } else { - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24011, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24877, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24015, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24881, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - if (track_element_is_lift_hill(mapElement)) { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24056, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24922, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } else { - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24014, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24880, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24054, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24920, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24012, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24878, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24055, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24921, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24058, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24924, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24013, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24879, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24016, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24882, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24053, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24919, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24057, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24923, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } else { + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24011, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24877, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24015, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24881, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + if (track_element_is_lift_hill(mapElement)) { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24056, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24922, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } else { + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24014, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24880, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008ACA18 */ static void wooden_rc_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24080, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24946, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24077, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24943, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24081, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24947, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24079, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24945, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24082, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24948, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24078, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24944, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24080, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24946, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24077, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24943, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24081, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24947, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24079, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24945, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24082, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24948, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24078, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24944, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AC9F8 */ static void wooden_rc_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24086, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24952, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24083, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24949, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24087, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24953, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24085, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24951, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24088, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24954, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24084, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24950, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24086, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24952, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24083, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24949, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24087, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24953, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24085, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24951, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24088, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24954, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24084, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24950, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ACA08 */ static void wooden_rc_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24084, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24950, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24085, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24951, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24088, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24954, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24083, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24949, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24087, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24953, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24086, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24952, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24084, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24950, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24085, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24951, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24088, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24954, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24083, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24949, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24087, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24953, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24086, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24952, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ACA28 */ static void wooden_rc_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24078, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24944, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24079, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24945, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24082, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24948, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24077, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24943, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24081, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24947, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24080, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24946, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24078, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24944, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24079, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24945, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24082, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24948, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24077, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24943, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24081, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24947, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24080, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24946, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ACA58 */ static void wooden_rc_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24104, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24970, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24101, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24967, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24105, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24971, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24103, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24969, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24106, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24972, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24102, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24968, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24104, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24970, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24101, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24967, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24105, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24971, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24103, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24969, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24106, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24972, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24102, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24968, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008ACA68 */ static void wooden_rc_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24110, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24976, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24107, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24973, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24111, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24977, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24109, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24975, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24112, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24978, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24108, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24974, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24110, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24976, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24107, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24973, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24111, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24977, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24109, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24975, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24112, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24978, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24108, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24974, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008ACA38 */ static void wooden_rc_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24092, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24958, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24089, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24955, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24093, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24959, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24091, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24957, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24094, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24960, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24090, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24956, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24092, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24958, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24089, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24955, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24093, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24959, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24091, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24957, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24094, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24960, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24090, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24956, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008ACA48 */ static void wooden_rc_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24098, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24964, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24095, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24961, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24099, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24965, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24097, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24963, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24100, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24966, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24096, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24962, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24098, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24964, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24095, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24961, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24099, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24965, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24097, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24963, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24100, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24966, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24096, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24962, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + } } /** rct2: 0x008ACA78 */ static void wooden_rc_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24096, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24962, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24097, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24963, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24100, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24966, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24095, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24961, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24099, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24965, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24098, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24964, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24096, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24962, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24097, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24963, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24100, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24966, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24095, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24961, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24099, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24965, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24098, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24964, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ACA88 */ static void wooden_rc_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24090, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24956, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24091, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24957, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24094, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24960, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - break; - case 2: - switch (direction) { - case 0: - wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24089, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24955, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24093, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24959, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24092, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24958, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24090, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24956, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24091, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24957, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24094, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24960, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + break; + case 2: + switch (direction) { + case 0: + wooden_b_supports_paint_setup(4, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_b_supports_paint_setup(5, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24089, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24955, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24093, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24959, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_b_supports_paint_setup(2, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_b_supports_paint_setup(3, 0, height + 16, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24092, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24958, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ACA98 */ static void wooden_rc_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24108, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24974, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24109, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24975, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24112, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24978, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24107, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24973, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24111, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24977, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24110, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24976, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24108, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24974, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24109, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24975, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24112, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24978, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24107, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24973, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24111, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24977, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24110, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24976, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008ACAA8 */ static void wooden_rc_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24102, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24968, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24103, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24969, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24106, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24972, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24101, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24967, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24105, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24971, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24104, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24970, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24102, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24968, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24103, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24969, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24106, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24972, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24101, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24967, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24105, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24971, -16, -16, 32, 32, 0, height, -16, -16, height + 35); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24104, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24970, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008AC9D8 */ static void wooden_rc_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24074, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24940, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24071, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24937, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24075, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24941, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24073, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24939, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24076, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24942, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24072, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24938, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24074, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24940, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24071, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24937, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24075, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24941, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24073, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24939, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24076, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24942, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24072, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24938, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008AC9E8 */ static void wooden_rc_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24072, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24938, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24073, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24939, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24076, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24942, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 2: - switch (direction) { - case 0: - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24071, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24937, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24075, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24941, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24074, -16, -16, 32, 32, 2, height, -16, -16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24940, -16, -16, 32, 32, 2, height, -16, -16, height); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24072, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24938, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24073, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24939, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24076, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24942, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 2: + switch (direction) { + case 0: + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24071, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24937, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24075, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24941, -16, -16, 32, 32, 0, height, -16, -16, height + 27); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24074, -16, -16, 32, 32, 2, height, -16, -16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24940, -16, -16, 32, 32, 2, height, -16, -16, height); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); + break; + } } /** rct2: 0x008ACB38 */ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23958, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24824, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23960, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24826, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23971, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24837, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23962, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24828, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23956, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24822, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23969, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24835, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23957, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24823, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23959, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24825, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23970, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24836, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23961, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24827, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23972, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24838, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23955, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24821, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23968, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24834, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23958, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24824, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23960, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24826, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23971, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24837, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23962, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24828, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23956, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24822, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23969, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24835, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23957, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24823, 6, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23959, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24825, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23970, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24836, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23961, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24827, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23972, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24838, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23955, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24821, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23968, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24834, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008ACB48 */ static void wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23947, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24813, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23963, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24829, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23949, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24815, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23951, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24817, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23966, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24832, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23953, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24819, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23948, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24814, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23964, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24830, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23950, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24816, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23965, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24831, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23952, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24818, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23967, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24833, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23954, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24820, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23947, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24813, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23963, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24829, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23949, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24815, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23951, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24817, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23966, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24832, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23953, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24819, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23948, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24814, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23964, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24830, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23950, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24816, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23965, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24831, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23952, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24818, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23967, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24833, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23954, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24820, 6, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008ACB58 */ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23950, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24816, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23965, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24831, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23952, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24818, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23967, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24833, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23954, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24820, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23948, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24814, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23964, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24830, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23949, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24815, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23951, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24817, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23966, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24832, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23953, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24819, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23947, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24813, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23963, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24829, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23950, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24816, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23965, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24831, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23952, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24818, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23967, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24833, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23954, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24820, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23948, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24814, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23964, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24830, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23949, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24815, 6, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23951, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24817, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23966, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24832, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23953, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24819, 6, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23947, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24813, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23963, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24829, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008ACB68 */ static void wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23955, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24821, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23968, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24834, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23957, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24823, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23959, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24825, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23970, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24836, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23961, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24827, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23972, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24838, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23956, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24822, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23969, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24835, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23958, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24824, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23960, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24826, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23971, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24837, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23962, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24828, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 1: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23955, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24821, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23968, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24834, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23957, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24823, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23959, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24825, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23970, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24836, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23961, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24827, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23972, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24838, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23956, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24822, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23969, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24835, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23958, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24824, 6, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23960, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24826, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23971, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24837, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23962, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24828, 6, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 1: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x008ACDF8 */ static void wooden_rc_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_paint( - _wooden_rc_block_brakes_image_ids[direction][0], - _wooden_rc_block_brakes_image_ids[direction][1], direction, 0, 2, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + wooden_rc_track_paint( + _wooden_rc_block_brakes_image_ids[direction][0], + _wooden_rc_block_brakes_image_ids[direction][1], direction, 0, 2, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008ACCB8 */ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23932, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24798, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23934, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24800, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23945, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24811, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23936, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24802, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23930, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24796, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23943, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24809, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23931, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24797, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23933, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24799, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23944, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24810, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23935, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24801, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23946, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24812, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23929, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24795, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23942, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24808, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23932, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24798, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23934, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24800, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23945, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24811, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23936, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24802, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23930, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24796, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23943, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24809, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23931, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24797, 6, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23933, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24799, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23944, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24810, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23935, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24801, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23946, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24812, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23929, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24795, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23942, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24808, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008ACCC8 */ static void wooden_rc_track_right_banked_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23921, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24787, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23937, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24803, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23923, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24789, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23925, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24791, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23940, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24806, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23927, 0, 6, 32, 20, 2, height, 0, 6, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24793, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23922, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24788, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23938, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24804, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23924, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24790, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23939, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24805, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23926, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24792, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23941, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24807, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23928, 6, 0, 20, 32, 2, height, 6, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24794, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23921, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24787, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23937, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24803, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23923, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24789, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23925, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24791, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23940, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24806, 0, 6, 32, 20, 0, height, 0, 6, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23927, 0, 6, 32, 20, 2, height, 0, 6, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24793, 0, 6, 32, 20, 2, height, 0, 6, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23922, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24788, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23938, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24804, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23924, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24790, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23939, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24805, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23926, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24792, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23941, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24807, 6, 0, 20, 32, 0, height, 6, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 23928, 6, 0, 20, 32, 2, height, 6, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 24794, 6, 0, 20, 32, 2, height, 6, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008ACCD8 */ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - wooden_rc_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + wooden_rc_track_right_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008ACCE8 */ static void wooden_rc_track_right_banked_quarter_turn_3_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - wooden_rc_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + wooden_rc_track_left_banked_quarter_turn_3_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008ACC38 */ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24321, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25187, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24326, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25192, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24352, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25218, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24331, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25197, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24336, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25202, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24322, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25188, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24327, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25193, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24353, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25219, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24332, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25198, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24337, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25203, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24359, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25225, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24323, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25189, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24328, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25194, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24354, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25220, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24333, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25199, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24338, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25204, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24360, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25226, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24324, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25190, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24329, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25195, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24355, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25221, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24334, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25200, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24357, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25223, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24339, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25205, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24361, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25227, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24325, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25191, 0, 0, 27, 32, 2, height, 2, 0, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24330, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25196, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24356, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25222, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24335, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25201, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24358, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25224, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24340, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25206, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24362, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25228, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 2: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 3: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24321, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25187, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24326, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25192, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24352, 0, 0, 32, 27, 0, height, 0, 2, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25218, 0, 0, 32, 27, 0, height, 0, 2, height + 67); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24331, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25197, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24336, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25202, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24322, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25188, 0, 0, 32, 16, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24327, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25193, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24353, 0, 0, 32, 16, 0, height, 0, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25219, 0, 0, 32, 16, 0, height, 0, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24332, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25198, 0, 0, 32, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24337, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25203, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24359, 0, 0, 32, 16, 0, height, 0, 16, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25225, 0, 0, 32, 16, 0, height, 0, 16, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24323, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25189, 0, 0, 16, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24328, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25194, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24354, 0, 0, 16, 16, 0, height, 16, 16, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25220, 0, 0, 16, 16, 0, height, 16, 16, height + 59); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24333, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25199, 0, 0, 16, 16, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24338, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25204, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24360, 0, 0, 16, 16, 0, height, 0, 0, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25226, 0, 0, 16, 16, 0, height, 0, 0, height + 59); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24324, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25190, 0, 0, 16, 32, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24329, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25195, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24355, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25221, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24334, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25200, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24357, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25223, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24339, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25205, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24361, 0, 0, 16, 32, 0, height, 16, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25227, 0, 0, 16, 32, 0, height, 16, 0, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24325, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25191, 0, 0, 27, 32, 2, height, 2, 0, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24330, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25196, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24356, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25222, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24335, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25201, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24358, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25224, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24340, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25206, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24362, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25228, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 3: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008ACC48 */ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24301, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25167, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24306, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25172, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24311, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25177, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24347, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25213, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24316, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25182, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24302, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25168, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24341, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25207, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24307, 0, 0, 32, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25173, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24312, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25178, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24348, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25214, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24317, 0, 0, 32, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25183, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24303, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25169, 0, 0, 16, 16, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24342, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25208, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24308, 0, 0, 16, 16, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25174, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24313, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25179, 0, 0, 16, 16, 2, height, 16, 16, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24349, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25215, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24318, 0, 0, 16, 16, 2, height, 0, 16, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25184, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 4: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24304, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25170, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24343, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25209, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24309, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25175, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24345, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25211, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24314, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25180, 0, 0, 16, 32, 2, height, 0, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24350, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25216, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24319, 0, 0, 16, 32, 2, height, 16, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25185, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24305, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25171, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24344, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25210, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24310, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25176, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24346, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25212, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24315, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25181, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24351, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25217, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24320, 0, 0, 27, 32, 2, height, 2, 0, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25186, 0, 0, 27, 32, 2, height, 2, 0, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - switch (direction) { - case 0: - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 1: - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24301, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25167, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24306, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25172, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24311, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25177, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24347, 0, 0, 32, 27, 0, height, 0, 2, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25213, 0, 0, 32, 27, 0, height, 0, 2, height + 67); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24316, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25182, 0, 0, 32, 27, 2, height, 0, 2, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24302, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25168, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24341, 0, 0, 32, 16, 0, height, 0, 16, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25207, 0, 0, 32, 16, 0, height, 0, 16, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24307, 0, 0, 32, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25173, 0, 0, 32, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24312, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25178, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24348, 0, 0, 32, 16, 0, height, 0, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25214, 0, 0, 32, 16, 0, height, 0, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24317, 0, 0, 32, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25183, 0, 0, 32, 16, 2, height, 0, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24303, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25169, 0, 0, 16, 16, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24342, 0, 0, 16, 16, 0, height, 0, 0, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25208, 0, 0, 16, 16, 0, height, 0, 0, height + 59); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24308, 0, 0, 16, 16, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25174, 0, 0, 16, 16, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24313, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25179, 0, 0, 16, 16, 2, height, 16, 16, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24349, 0, 0, 16, 16, 0, height, 16, 16, height + 59); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25215, 0, 0, 16, 16, 0, height, 16, 16, height + 59); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24318, 0, 0, 16, 16, 2, height, 0, 16, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25184, 0, 0, 16, 16, 2, height, 0, 16, height); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 4: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24304, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25170, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24343, 0, 0, 16, 32, 0, height, 16, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25209, 0, 0, 16, 32, 0, height, 16, 0, height + 67); + wooden_a_supports_paint_setup(4, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24309, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25175, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24345, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25211, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + wooden_a_supports_paint_setup(5, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24314, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25180, 0, 0, 16, 32, 2, height, 0, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24350, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25216, 0, 0, 16, 32, 0, height, 0, 0, height + 67); + wooden_a_supports_paint_setup(2, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24319, 0, 0, 16, 32, 2, height, 16, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25185, 0, 0, 16, 32, 2, height, 16, 0, height); + wooden_a_supports_paint_setup(3, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24305, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25171, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24344, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25210, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24310, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25176, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24346, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25212, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24315, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25181, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24351, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25217, 0, 0, 27, 32, 0, height, 2, 0, height + 67); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24320, 0, 0, 27, 32, 2, height, 2, 0, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25186, 0, 0, 27, 32, 2, height, 2, 0, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + switch (direction) { + case 0: + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 1: + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x008ACC58 */ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - wooden_rc_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + wooden_rc_track_right_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); } /** rct2: 0x008ACC68 */ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - wooden_rc_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + wooden_rc_track_left_banked_quarter_turn_5_25_deg_up(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008ACCF8 */ static void wooden_rc_track_25_deg_up_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24261, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25127, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24262, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25128, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24263, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25129, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24264, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25130, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24261, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25127, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24262, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25128, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24263, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25129, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24264, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25130, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ACD08 */ static void wooden_rc_track_25_deg_up_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24265, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25131, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24266, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25132, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24267, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25133, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24268, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25134, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24265, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25131, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24266, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25132, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24267, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25133, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24268, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25134, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ACD18 */ static void wooden_rc_track_left_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24269, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25135, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24270, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25136, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24271, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25137, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24272, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25138, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24269, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25135, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24270, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25136, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24271, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25137, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24272, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25138, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ACD28 */ static void wooden_rc_track_right_banked_25_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24273, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25139, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24274, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25140, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24275, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25141, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24276, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25142, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24273, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25139, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24274, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25140, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24275, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25141, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24276, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25142, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008ACD38 */ static void wooden_rc_track_25_deg_down_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_right_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACD48 */ static void wooden_rc_track_25_deg_down_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_left_banked_25_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACD58 */ static void wooden_rc_track_left_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_25_deg_up_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACD68 */ static void wooden_rc_track_right_banked_25_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_25_deg_up_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACD78 */ static void wooden_rc_track_left_banked_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24277, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25143, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24278, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25144, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24293, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25159, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24279, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25145, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24294, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25160, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24280, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25146, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24277, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25143, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24278, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25144, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24293, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25159, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24279, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25145, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24294, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25160, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24280, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25146, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008ACD88 */ static void wooden_rc_track_right_banked_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24281, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25147, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24282, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25148, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24295, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25161, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24283, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25149, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24296, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25162, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24284, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25150, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24281, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25147, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24282, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25148, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24295, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25161, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24283, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25149, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24296, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25162, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24284, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25150, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008ACD98 */ static void wooden_rc_track_left_banked_25_deg_up_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24285, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25151, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24286, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25152, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24297, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25163, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24287, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25153, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24298, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25164, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24288, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25154, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24285, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25151, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24286, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25152, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24297, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25163, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24287, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25153, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24298, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25164, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24288, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25154, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008ACDA8 */ static void wooden_rc_track_right_banked_25_deg_up_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24289, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25155, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24290, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25156, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24299, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25165, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24291, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25157, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24300, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25166, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24292, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25158, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24289, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25155, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24290, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25156, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24299, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25165, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24291, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25157, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24300, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25166, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24292, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25158, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008ACDB8 */ static void wooden_rc_track_left_banked_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_right_banked_25_deg_up_to_right_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACDC8 */ static void wooden_rc_track_right_banked_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_left_banked_25_deg_up_to_left_banked_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACDD8 */ static void wooden_rc_track_left_banked_25_deg_down_to_left_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_right_banked_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACDE8 */ static void wooden_rc_track_right_banked_25_deg_down_to_right_banked_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_left_banked_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACBB8 */ static void wooden_rc_track_flat_to_left_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24225, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25091, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24226, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25092, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24241, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25107, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24227, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25093, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24242, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25108, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24228, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25094, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24225, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25091, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24226, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25092, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24241, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25107, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24227, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25093, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24242, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25108, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24228, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25094, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008ACBC8 */ static void wooden_rc_track_flat_to_right_banked_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24229, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25095, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24230, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25096, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24243, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25109, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24231, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25097, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24244, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25110, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24232, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25098, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24229, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25095, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24230, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25096, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24243, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25109, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24231, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25097, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24244, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25110, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24232, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25098, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008ACBD8 */ static void wooden_rc_track_left_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24233, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25099, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24234, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25100, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24245, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25111, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24235, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25101, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24246, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25112, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24236, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25102, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24233, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25099, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24234, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25100, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24245, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25111, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24235, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25101, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24246, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25112, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24236, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25102, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008ACBE8 */ static void wooden_rc_track_right_banked_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24237, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25103, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 1: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24238, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25104, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24247, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25113, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 2: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24239, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25105, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24248, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25114, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - case 3: - sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24240, 0, 0, 32, 25, 2, height, 0, 3, height); - sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25106, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + switch (direction) { + case 0: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24237, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25103, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 1: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24238, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25104, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24247, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25113, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 2: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24239, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25105, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24248, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25114, 0, 0, 32, 1, 9, height, 0, 26, height + 5); + wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + case 3: + sub_98197C_rotated(direction, wooden_rc_get_track_colour() | 24240, 0, 0, 32, 25, 2, height, 0, 3, height); + sub_98199C_rotated(direction, wooden_rc_get_rails_colour() | 25106, 0, 0, 32, 25, 2, height, 0, 3, height); + wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008ACBF8 */ static void wooden_rc_track_flat_to_left_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_right_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACC08 */ static void wooden_rc_track_flat_to_right_banked_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_left_banked_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACC18 */ static void wooden_rc_track_left_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_flat_to_right_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008ACC28 */ static void wooden_rc_track_right_banked_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_rc_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_rc_track_flat_to_left_banked_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } TRACK_PAINT_FUNCTION get_track_paint_function_wooden_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return wooden_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return wooden_rc_track_station; - case TRACK_ELEM_25_DEG_UP: - return wooden_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return wooden_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return wooden_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return wooden_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return wooden_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return wooden_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return wooden_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return wooden_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return wooden_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return wooden_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return wooden_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return wooden_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return wooden_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return wooden_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - return wooden_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - return wooden_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - return wooden_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - return wooden_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - return wooden_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - return wooden_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - return wooden_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - return wooden_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - return wooden_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - return wooden_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - return wooden_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - return wooden_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - return wooden_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - return wooden_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: - return wooden_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: - return wooden_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return wooden_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return wooden_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return wooden_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return wooden_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: - return wooden_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return wooden_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - return wooden_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - return wooden_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return wooden_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return wooden_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - return wooden_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - return wooden_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return wooden_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return wooden_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return wooden_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return wooden_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - return wooden_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - return wooden_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - return wooden_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - return wooden_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - return wooden_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - return wooden_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - return wooden_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - return wooden_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - return wooden_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - return wooden_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return wooden_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - return wooden_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: - return wooden_rc_track_brakes; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - return wooden_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - return wooden_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: - return wooden_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - return wooden_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - return wooden_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_WATER_SPLASH: - return wooden_rc_track_water_splash; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return wooden_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return wooden_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return wooden_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return wooden_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - return wooden_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - return wooden_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - return wooden_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - return wooden_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return wooden_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return wooden_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: - return wooden_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return wooden_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return wooden_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return wooden_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return wooden_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return wooden_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return wooden_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return wooden_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return wooden_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return wooden_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return wooden_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - return wooden_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - return wooden_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - return wooden_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - return wooden_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - return wooden_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - return wooden_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - return wooden_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - return wooden_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - return wooden_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - return wooden_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - return wooden_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - return wooden_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: - return wooden_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: - return wooden_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: - return wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: - return wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: - return wooden_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return wooden_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - return wooden_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return wooden_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - return wooden_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return wooden_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - return wooden_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return wooden_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - return wooden_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: - return wooden_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: - return wooden_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return wooden_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: - return wooden_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: - return wooden_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: - return wooden_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return wooden_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - return wooden_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return wooden_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return wooden_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: - return wooden_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: - return wooden_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return wooden_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return wooden_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: - return wooden_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: - return wooden_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: - return wooden_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - return wooden_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: - return wooden_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: - return wooden_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - return wooden_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - return wooden_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: - return wooden_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: - return wooden_rc_track_right_banked_25_deg_down_to_flat; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return wooden_rc_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return wooden_rc_track_station; + case TRACK_ELEM_25_DEG_UP: + return wooden_rc_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return wooden_rc_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return wooden_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return wooden_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return wooden_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return wooden_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return wooden_rc_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return wooden_rc_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return wooden_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return wooden_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return wooden_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return wooden_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return wooden_rc_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return wooden_rc_track_right_quarter_turn_5; + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + return wooden_rc_track_flat_to_left_bank; + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + return wooden_rc_track_flat_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + return wooden_rc_track_left_bank_to_flat; + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + return wooden_rc_track_right_bank_to_flat; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + return wooden_rc_track_banked_left_quarter_turn_5; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + return wooden_rc_track_banked_right_quarter_turn_5; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + return wooden_rc_track_left_bank_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + return wooden_rc_track_right_bank_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + return wooden_rc_track_25_deg_up_to_left_bank; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + return wooden_rc_track_25_deg_up_to_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + return wooden_rc_track_left_bank_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + return wooden_rc_track_right_bank_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + return wooden_rc_track_25_deg_down_to_left_bank; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + return wooden_rc_track_25_deg_down_to_right_bank; + case TRACK_ELEM_LEFT_BANK: + return wooden_rc_track_left_bank; + case TRACK_ELEM_RIGHT_BANK: + return wooden_rc_track_right_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return wooden_rc_track_left_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return wooden_rc_track_right_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return wooden_rc_track_left_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return wooden_rc_track_right_quarter_turn_5_25_deg_down; + case TRACK_ELEM_S_BEND_LEFT: + return wooden_rc_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return wooden_rc_track_s_bend_right; + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + return wooden_rc_track_left_vertical_loop; + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + return wooden_rc_track_right_vertical_loop; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return wooden_rc_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return wooden_rc_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + return wooden_rc_track_left_quarter_turn_3_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + return wooden_rc_track_right_quarter_turn_3_bank; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return wooden_rc_track_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return wooden_rc_track_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return wooden_rc_track_left_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return wooden_rc_track_right_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + return wooden_rc_track_left_half_banked_helix_up_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + return wooden_rc_track_right_half_banked_helix_up_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + return wooden_rc_track_left_half_banked_helix_down_small; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + return wooden_rc_track_right_half_banked_helix_down_small; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + return wooden_rc_track_left_half_banked_helix_up_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + return wooden_rc_track_right_half_banked_helix_up_large; + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + return wooden_rc_track_left_half_banked_helix_down_large; + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + return wooden_rc_track_right_half_banked_helix_down_large; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + return wooden_rc_track_left_quarter_turn_1_60_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + return wooden_rc_track_right_quarter_turn_1_60_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return wooden_rc_track_left_quarter_turn_1_60_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + return wooden_rc_track_right_quarter_turn_1_60_deg_down; + case TRACK_ELEM_BRAKES: + return wooden_rc_track_brakes; + case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + return wooden_rc_track_25_deg_up_left_banked; + case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + return wooden_rc_track_25_deg_up_right_banked; + case TRACK_ELEM_ON_RIDE_PHOTO: + return wooden_rc_track_on_ride_photo; + case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + return wooden_rc_track_25_deg_down_left_banked; + case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + return wooden_rc_track_25_deg_down_right_banked; + case TRACK_ELEM_WATER_SPLASH: + return wooden_rc_track_water_splash; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return wooden_rc_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return wooden_rc_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return wooden_rc_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return wooden_rc_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + return wooden_rc_track_left_eighth_bank_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + return wooden_rc_track_right_eighth_bank_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + return wooden_rc_track_left_eighth_bank_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + return wooden_rc_track_right_eighth_bank_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return wooden_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return wooden_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP: + return wooden_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return wooden_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return wooden_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return wooden_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return wooden_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return wooden_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return wooden_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return wooden_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return wooden_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return wooden_rc_track_diag_60_deg_down_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return wooden_rc_track_diag_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + return wooden_rc_track_diag_flat_to_left_bank; + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + return wooden_rc_track_diag_flat_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + return wooden_rc_track_diag_left_bank_to_flat; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + return wooden_rc_track_diag_right_bank_to_flat; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + return wooden_rc_track_diag_left_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + return wooden_rc_track_diag_right_bank_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + return wooden_rc_track_diag_25_deg_up_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + return wooden_rc_track_diag_25_deg_up_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + return wooden_rc_track_diag_left_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + return wooden_rc_track_diag_right_bank_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + return wooden_rc_track_diag_25_deg_down_to_left_bank; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + return wooden_rc_track_diag_25_deg_down_to_right_bank; + case TRACK_ELEM_DIAG_LEFT_BANK: + return wooden_rc_track_diag_left_bank; + case TRACK_ELEM_DIAG_RIGHT_BANK: + return wooden_rc_track_diag_right_bank; + case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: + return wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: + return wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank; + case TRACK_ELEM_BLOCK_BRAKES: + return wooden_rc_track_block_brakes; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return wooden_rc_track_left_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + return wooden_rc_track_right_banked_quarter_turn_3_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return wooden_rc_track_left_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + return wooden_rc_track_right_banked_quarter_turn_3_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return wooden_rc_track_left_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + return wooden_rc_track_right_banked_quarter_turn_5_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return wooden_rc_track_left_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + return wooden_rc_track_right_banked_quarter_turn_5_25_deg_down; + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + return wooden_rc_track_25_deg_up_to_left_banked_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + return wooden_rc_track_25_deg_up_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return wooden_rc_track_left_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + return wooden_rc_track_right_banked_25_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + return wooden_rc_track_25_deg_down_to_left_banked_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + return wooden_rc_track_25_deg_down_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return wooden_rc_track_left_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + return wooden_rc_track_right_banked_25_deg_down_to_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return wooden_rc_track_left_banked_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return wooden_rc_track_right_banked_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + return wooden_rc_track_left_banked_25_deg_up_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + return wooden_rc_track_right_banked_25_deg_up_to_right_banked_flat; + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return wooden_rc_track_left_banked_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return wooden_rc_track_right_banked_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + return wooden_rc_track_left_banked_25_deg_down_to_left_banked_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + return wooden_rc_track_right_banked_25_deg_down_to_right_banked_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + return wooden_rc_track_flat_to_left_banked_25_deg_up; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + return wooden_rc_track_flat_to_right_banked_25_deg_up; + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + return wooden_rc_track_left_banked_25_deg_up_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + return wooden_rc_track_right_banked_25_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + return wooden_rc_track_flat_to_left_banked_25_deg_down; + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + return wooden_rc_track_flat_to_right_banked_25_deg_down; + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + return wooden_rc_track_left_banked_25_deg_down_to_flat; + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + return wooden_rc_track_right_banked_25_deg_down_to_flat; + } + return NULL; } diff --git a/src/openrct2/ride/coaster/wooden_wild_mouse.c b/src/openrct2/ride/coaster/wooden_wild_mouse.c index 07aa4d9789..e2dceeb6a7 100644 --- a/src/openrct2/ride/coaster/wooden_wild_mouse.c +++ b/src/openrct2/ride/coaster/wooden_wild_mouse.c @@ -27,636 +27,636 @@ #include "../track_paint.h" enum { - SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE = 28535, - SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE = 28536, - SPR_WOODEN_WILD_MOUSE_25_DEG_SW_NE = 28537, - SPR_WOODEN_WILD_MOUSE_60_DEG_SW_NE = 28538, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_SW_NE = 28539, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_SW_NE = 28540, - SPR_WOODEN_WILD_MOUSE_25_DEG_NE_SW = 28541, - SPR_WOODEN_WILD_MOUSE_60_DEG_NE_SW = 28542, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_NE_SW = 28543, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NE_SW = 28544, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_NE_SW = 28545, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NE_SW = 28546, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_SW_NE = 28547, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_SW_NE = 28548, - SPR_WOODEN_WILD_MOUSE_25_DEG_NW_SE = 28549, - SPR_WOODEN_WILD_MOUSE_60_DEG_NW_SE = 28550, - SPR_WOODEN_WILD_MOUSE_25_DEG_SE_NW = 28551, - SPR_WOODEN_WILD_MOUSE_60_DEG_SE_NW = 28552, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_NW_SE = 28553, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NW_SE = 28554, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_SE_NW = 28555, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_SE_NW = 28556, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_SE_NW = 28557, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_SE_NW = 28558, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_NW_SE = 28559, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NW_SE = 28560, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_NE_SW = 28561, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_NE_SW = 28562, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_NW_SE = 28563, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_NW_SE = 28564, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_SW_NE = 28565, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_NW_SE = 28566, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_NE_SW = 28567, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_SE_NW = 28568, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NW_SE = 28569, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NE_SW = 28570, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_SW_NE = 28571, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_NW_SE = 28572, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_NE_SW = 28573, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_SE_NW = 28574, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NW_SE = 28575, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NE_SW = 28576, - SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_SW_NE = 28577, - SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_SW_NE = 28578, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SW_NE = 28579, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SW_NE = 28580, - SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_NE_SW = 28581, - SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_NE_SW = 28582, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NE_SW = 28583, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NE_SW = 28584, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NE_SW = 28585, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NE_SW = 28586, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SW_NE = 28587, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SW_NE = 28588, - SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_NW_SE = 28589, - SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_NW_SE = 28590, - SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_SE_NW = 28591, - SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_SE_NW = 28592, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NW_SE = 28593, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NW_SE = 28594, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SE_NW = 28595, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SE_NW = 28596, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SE_NW = 28597, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SE_NW = 28598, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NW_SE = 28599, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NW_SE = 28600, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NE_SW = 28601, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NE_SW = 28602, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NW_SE = 28603, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NW_SE = 28604, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SW_NE = 28605, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NW_SE = 28606, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NE_SW = 28607, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SE_NW = 28608, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NW_SE = 28609, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NE_SW = 28610, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SW_NE = 28611, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NW_SE = 28612, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NE_SW = 28613, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SE_NW = 28614, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NW_SE = 28615, - SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NE_SW = 28616, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_SW_NE = 28617, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_NW_SE = 28618, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_NE_SW = 28619, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_SE_NW = 28620, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_0 = 28621, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_1 = 28622, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_2 = 28623, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_0 = 28624, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_1 = 28625, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_2 = 28626, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_0 = 28627, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_1 = 28628, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_2 = 28629, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_0 = 28630, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_1 = 28631, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_2 = 28632, + SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE = 28535, + SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE = 28536, + SPR_WOODEN_WILD_MOUSE_25_DEG_SW_NE = 28537, + SPR_WOODEN_WILD_MOUSE_60_DEG_SW_NE = 28538, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_SW_NE = 28539, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_SW_NE = 28540, + SPR_WOODEN_WILD_MOUSE_25_DEG_NE_SW = 28541, + SPR_WOODEN_WILD_MOUSE_60_DEG_NE_SW = 28542, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_NE_SW = 28543, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NE_SW = 28544, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_NE_SW = 28545, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NE_SW = 28546, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_SW_NE = 28547, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_SW_NE = 28548, + SPR_WOODEN_WILD_MOUSE_25_DEG_NW_SE = 28549, + SPR_WOODEN_WILD_MOUSE_60_DEG_NW_SE = 28550, + SPR_WOODEN_WILD_MOUSE_25_DEG_SE_NW = 28551, + SPR_WOODEN_WILD_MOUSE_60_DEG_SE_NW = 28552, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_NW_SE = 28553, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NW_SE = 28554, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_SE_NW = 28555, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_SE_NW = 28556, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_SE_NW = 28557, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_SE_NW = 28558, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_NW_SE = 28559, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NW_SE = 28560, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_NE_SW = 28561, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_NE_SW = 28562, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_NW_SE = 28563, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_NW_SE = 28564, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_SW_NE = 28565, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_NW_SE = 28566, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_NE_SW = 28567, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_SE_NW = 28568, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NW_SE = 28569, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NE_SW = 28570, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_SW_NE = 28571, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_NW_SE = 28572, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_NE_SW = 28573, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_SE_NW = 28574, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NW_SE = 28575, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NE_SW = 28576, + SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_SW_NE = 28577, + SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_SW_NE = 28578, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SW_NE = 28579, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SW_NE = 28580, + SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_NE_SW = 28581, + SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_NE_SW = 28582, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NE_SW = 28583, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NE_SW = 28584, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NE_SW = 28585, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NE_SW = 28586, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SW_NE = 28587, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SW_NE = 28588, + SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_NW_SE = 28589, + SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_NW_SE = 28590, + SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_SE_NW = 28591, + SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_SE_NW = 28592, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NW_SE = 28593, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NW_SE = 28594, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SE_NW = 28595, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SE_NW = 28596, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SE_NW = 28597, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SE_NW = 28598, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NW_SE = 28599, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NW_SE = 28600, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NE_SW = 28601, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NE_SW = 28602, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NW_SE = 28603, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NW_SE = 28604, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SW_NE = 28605, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NW_SE = 28606, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NE_SW = 28607, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SE_NW = 28608, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NW_SE = 28609, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NE_SW = 28610, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SW_NE = 28611, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NW_SE = 28612, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NE_SW = 28613, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SE_NW = 28614, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NW_SE = 28615, + SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NE_SW = 28616, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_SW_NE = 28617, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_NW_SE = 28618, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_NE_SW = 28619, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_SE_NW = 28620, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_0 = 28621, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_1 = 28622, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_2 = 28623, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_0 = 28624, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_1 = 28625, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_2 = 28626, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_0 = 28627, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_1 = 28628, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_2 = 28629, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_0 = 28630, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_1 = 28631, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_2 = 28632, }; /** rct2: 0x008A5464 */ static void wooden_wild_mouse_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4] = { - SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE, - SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE, - SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE, - SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE, - }; + static const uint32 imageIds[4] = { + SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE, + SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE, + SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE, + SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE, + }; - uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; - sub_98196C_rotated(direction, imageId, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D4, direction), height, 0x20); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; + sub_98196C_rotated(direction, imageId, 0, 6, 32, 20, 1, height); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D4, direction), height, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void wooden_wild_mouse_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE, SPR_STATION_BASE_B_SW_NE }, - { SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE, SPR_STATION_BASE_B_NW_SE }, - { SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE, SPR_STATION_BASE_B_SW_NE }, - { SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE, SPR_STATION_BASE_B_NW_SE }, - }; + static const uint32 imageIds[4][2] = { + { SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE, SPR_STATION_BASE_B_SW_NE }, + { SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE, SPR_STATION_BASE_B_NW_SE }, + { SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE, SPR_STATION_BASE_B_SW_NE }, + { SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE, SPR_STATION_BASE_B_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height - 2, 0, 2, height); - sub_98199C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 6, 32, 20, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height - 2, 0, 2, height); + sub_98199C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 6, 32, 20, 1, height, 0, 0, height); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A5474 */ static void wooden_wild_mouse_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4] = { - { - SPR_WOODEN_WILD_MOUSE_25_DEG_SW_NE, - SPR_WOODEN_WILD_MOUSE_25_DEG_NW_SE, - SPR_WOODEN_WILD_MOUSE_25_DEG_NE_SW, - SPR_WOODEN_WILD_MOUSE_25_DEG_SE_NW, - }, - { - SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_SW_NE, - SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_NW_SE, - SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_NE_SW, - SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_SE_NW, - }, - }; + static const uint32 imageIds[2][4] = { + { + SPR_WOODEN_WILD_MOUSE_25_DEG_SW_NE, + SPR_WOODEN_WILD_MOUSE_25_DEG_NW_SE, + SPR_WOODEN_WILD_MOUSE_25_DEG_NE_SW, + SPR_WOODEN_WILD_MOUSE_25_DEG_SE_NW, + }, + { + SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_SW_NE, + SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_NW_SE, + SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_NE_SW, + SPR_WOODEN_WILD_MOUSE_25_DEG_CHAIN_SE_NW, + }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[isChained][direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[isChained][direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - wooden_a_supports_paint_setup(direction & 1, 9 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 9 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008A5484 */ static void wooden_wild_mouse_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4] = { - { - SPR_WOODEN_WILD_MOUSE_60_DEG_SW_NE, - SPR_WOODEN_WILD_MOUSE_60_DEG_NW_SE, - SPR_WOODEN_WILD_MOUSE_60_DEG_NE_SW, - SPR_WOODEN_WILD_MOUSE_60_DEG_SE_NW, - }, - { - SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_SW_NE, - SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_NW_SE, - SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_NE_SW, - SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_SE_NW, - }, - }; + static const uint32 imageIds[2][4] = { + { + SPR_WOODEN_WILD_MOUSE_60_DEG_SW_NE, + SPR_WOODEN_WILD_MOUSE_60_DEG_NW_SE, + SPR_WOODEN_WILD_MOUSE_60_DEG_NE_SW, + SPR_WOODEN_WILD_MOUSE_60_DEG_SE_NW, + }, + { + SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_SW_NE, + SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_NW_SE, + SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_NE_SW, + SPR_WOODEN_WILD_MOUSE_60_DEG_CHAIN_SE_NW, + }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[isChained][direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 3) { - sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - } else { - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, imageId, 0, 6, 2, 24, 93, height, 28, 4, height - 16); - } + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[isChained][direction] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 3) { + sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); + } else { + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, imageId, 0, 6, 2, 24, 93, height, 28, 4, height - 16); + } - wooden_a_supports_paint_setup(direction & 1, 21 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 21 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x008A5494 */ static void wooden_wild_mouse_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4] = { - { - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_SW_NE, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_NW_SE, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_NE_SW, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_SE_NW, - }, - { - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SW_NE, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NW_SE, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NE_SW, - SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SE_NW, - }, - }; + static const uint32 imageIds[2][4] = { + { + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_SW_NE, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_NW_SE, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_NE_SW, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_SE_NW, + }, + { + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SW_NE, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NW_SE, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_NE_SW, + SPR_WOODEN_WILD_MOUSE_FLAT_TO_25_DEG_CHAIN_SE_NW, + }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[isChained][direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[isChained][direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - wooden_a_supports_paint_setup(direction & 1, 1 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 1 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008A54A4 */ static void wooden_wild_mouse_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4][2] = { - { - { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_SW_NE, 0 }, - { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_NW_SE, SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NW_SE }, - { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_NE_SW, SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NE_SW }, - { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_SE_NW, 0 }, - }, - { - { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SW_NE, 0 }, - { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NW_SE, SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NW_SE }, - { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NE_SW, SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NE_SW }, - { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SE_NW, 0 }, - }, - }; + static const uint32 imageIds[2][4][2] = { + { + { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_SW_NE, 0 }, + { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_NW_SE, SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NW_SE }, + { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_NE_SW, SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_FRONT_NE_SW }, + { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_SE_NW, 0 }, + }, + { + { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SW_NE, 0 }, + { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NW_SE, SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NW_SE }, + { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_NE_SW, SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_FRONT_NE_SW }, + { SPR_WOODEN_WILD_MOUSE_25_DEG_TO_60_DEG_CHAIN_SE_NW, 0 }, + }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId; - if (direction == 0 || direction == 3) { - imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - } else { - imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, imageId, 0, 6, 2, 24, 43, height, 28, 4, height + 2); - imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); - } + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId; + if (direction == 0 || direction == 3) { + imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); + } else { + imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, imageId, 0, 6, 2, 24, 43, height, 28, 4, height + 2); + imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); + } - wooden_a_supports_paint_setup(direction & 1, 13 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 13 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } static void wooden_wild_mouse_track_60_deg_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4][2] = { - { - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_SW_NE, 0 }, - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_NW_SE, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NW_SE }, - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_NE_SW, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NE_SW }, - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_SE_NW, 0 }, - }, - { - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SW_NE, 0 }, - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NW_SE, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NW_SE }, - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NE_SW, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NE_SW }, - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SE_NW, 0 }, - }, - }; + static const uint32 imageIds[2][4][2] = { + { + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_SW_NE, 0 }, + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_NW_SE, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NW_SE }, + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_NE_SW, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_FRONT_NE_SW }, + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_SE_NW, 0 }, + }, + { + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SW_NE, 0 }, + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NW_SE, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NW_SE }, + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_NE_SW, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_FRONT_NE_SW }, + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_25_DEG_CHAIN_SE_NW, 0 }, + }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId; - if (direction == 0 || direction == 3) { - imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - } else { - imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, imageId, 0, 6, 2, 24, 43, height, 28, 4, height + 2); - imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); - } + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId; + if (direction == 0 || direction == 3) { + imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); + } else { + imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, imageId, 0, 6, 2, 24, 43, height, 28, 4, height + 2); + imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); + } - wooden_a_supports_paint_setup(direction & 1, 17 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 17 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A54C4 */ static void wooden_wild_mouse_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4] = { - { - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_SW_NE, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_NW_SE, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_NE_SW, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_SE_NW, - }, - { - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SW_NE, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NW_SE, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NE_SW, - SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SE_NW, - }, - }; + static const uint32 imageIds[2][4] = { + { + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_SW_NE, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_NW_SE, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_NE_SW, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_SE_NW, + }, + { + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SW_NE, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NW_SE, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_NE_SW, + SPR_WOODEN_WILD_MOUSE_25_DEG_TO_FLAT_CHAIN_SE_NW, + }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[isChained][direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[isChained][direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - wooden_a_supports_paint_setup(direction & 1, 5 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 5 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008A54D4 */ static void wooden_wild_mouse_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_wild_mouse_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_wild_mouse_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A54E4 */ static void wooden_wild_mouse_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_wild_mouse_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_wild_mouse_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A54F4 */ static void wooden_wild_mouse_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_wild_mouse_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_wild_mouse_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A5504 */ static void wooden_wild_mouse_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_wild_mouse_track_60_deg_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_wild_mouse_track_60_deg_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A5514 */ static void wooden_wild_mouse_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_wild_mouse_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_wild_mouse_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A5524 */ static void wooden_wild_mouse_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_wild_mouse_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_wild_mouse_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void wooden_wild_mouse_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const sprite_bb imageIds[4][3] = { - { - { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 1 } }, - { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_1, { 16, 16, 0 }, { 0, 0, 0 }, { 16, 16, 1 } }, - { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_2, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 1 } }, - }, - { - { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 1 } }, - { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_1, { 16, 0, 0 }, { 0, 0, 0 }, { 16, 16, 1 } }, - { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_2, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 1 } }, - }, - { - { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 1 } }, - { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 1 } }, - { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_2, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 1 } }, - }, - { - { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 1 } }, - { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_1, { 0, 16, 0 }, { 0, 0, 0 }, { 16, 16, 1 } }, - { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_2, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 1 } }, - } - }; - static uint8 supportType[] = { 4, 5, 2, 3 }; + static const sprite_bb imageIds[4][3] = { + { + { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 1 } }, + { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_1, { 16, 16, 0 }, { 0, 0, 0 }, { 16, 16, 1 } }, + { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_2, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 1 } }, + }, + { + { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 1 } }, + { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_1, { 16, 0, 0 }, { 0, 0, 0 }, { 16, 16, 1 } }, + { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_2, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 1 } }, + }, + { + { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 1 } }, + { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 1 } }, + { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_2, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 1 } }, + }, + { + { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 1 } }, + { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_1, { 0, 16, 0 }, { 0, 0, 0 }, { 16, 16, 1 } }, + { SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_2, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 1 } }, + } + }; + static uint8 supportType[] = { 4, 5, 2, 3 }; - track_paint_util_right_quarter_turn_3_tiles_paint_4(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); - track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); + track_paint_util_right_quarter_turn_3_tiles_paint_4(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); + track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); - switch (trackSequence) { - case 0: - case 3: - wooden_a_supports_paint_setup(supportType[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - break; - } + switch (trackSequence) { + case 0: + case 3: + wooden_a_supports_paint_setup(supportType[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENTS_ALL; break; - case 2: blockedSegments = SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4; break; - case 3: blockedSegments = SEGMENTS_ALL; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENTS_ALL; break; + case 2: blockedSegments = SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4; break; + case 3: blockedSegments = SEGMENTS_ALL; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void wooden_wild_mouse_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - wooden_wild_mouse_track_right_quarter_turn_3(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + wooden_wild_mouse_track_right_quarter_turn_3(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } static void wooden_wild_mouse_track_left_quarter_turn_1(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4] = { - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_SW_NE, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_NW_SE, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_NE_SW, - SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_SE_NW, - }; - static uint8 supportType[] = { 5, 2, 3, 4 }; + static const uint32 imageIds[4] = { + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_SW_NE, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_NW_SE, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_NE_SW, + SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_1_SE_NW, + }; + static uint8 supportType[] = { 5, 2, 3, 4 }; - uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; - switch (direction) { - case 0: - sub_98197C(imageId, 6, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation()); - break; - case 1: - sub_98196C(imageId, 0, 0, 26, 26, 1, height, get_current_rotation()); - break; - case 2: - sub_98197C(imageId, 0, 6, 24, 26, 1, height, 2, 6, height, get_current_rotation()); - break; - case 3: - sub_98196C(imageId, 6, 6, 24, 24, 1, height, get_current_rotation()); - break; - } - wooden_a_supports_paint_setup(supportType[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, 0, TUNNEL_0, 0, TUNNEL_0); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + uint32 imageId = imageIds[direction] | gTrackColours[SCHEME_TRACK]; + switch (direction) { + case 0: + sub_98197C(imageId, 6, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation()); + break; + case 1: + sub_98196C(imageId, 0, 0, 26, 26, 1, height, get_current_rotation()); + break; + case 2: + sub_98197C(imageId, 0, 6, 24, 26, 1, height, 2, 6, height, get_current_rotation()); + break; + case 3: + sub_98196C(imageId, 6, 6, 24, 24, 1, height, get_current_rotation()); + break; + } + wooden_a_supports_paint_setup(supportType[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, 0, TUNNEL_0, 0, TUNNEL_0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008A55D4 */ static void wooden_wild_mouse_track_right_quarter_turn_1(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_wild_mouse_track_left_quarter_turn_1(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + wooden_wild_mouse_track_left_quarter_turn_1(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x008A55E4 */ static void wooden_wild_mouse_track_flat_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4][2] = { - { - { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_SW_NE, 0 }, - { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_NW_SE, SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NW_SE }, - { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_NE_SW, SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NE_SW }, - { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_SE_NW, 0 }, - }, - { - { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SW_NE, 0 }, - { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NW_SE, SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NW_SE }, - { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NE_SW, SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NE_SW }, - { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SE_NW, 0 }, - }, - }; + static const uint32 imageIds[2][4][2] = { + { + { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_SW_NE, 0 }, + { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_NW_SE, SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NW_SE }, + { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_NE_SW, SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_FRONT_NE_SW }, + { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_SE_NW, 0 }, + }, + { + { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SW_NE, 0 }, + { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NW_SE, SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NW_SE }, + { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_NE_SW, SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_FRONT_NE_SW }, + { SPR_WOODEN_WILD_MOUSE_FLAT_TO_60_DEG_CHAIN_SE_NW, 0 }, + }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId; - if (direction == 0 || direction == 3) { - imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - } else { - imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 6, 2, 24, 43, height, 28, 4, height + 2); - imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); - } + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId; + if (direction == 0 || direction == 3) { + imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); + } else { + imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 6, 2, 24, 43, height, 28, 4, height + 2); + imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); + } - wooden_a_supports_paint_setup(direction & 1, 29 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 29 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x008A55F4 */ static void wooden_wild_mouse_track_60_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4][2] = { - { - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_SW_NE, 0 }, - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_NW_SE, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NW_SE }, - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_NE_SW, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NE_SW }, - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_SE_NW, 0 }, - }, - { - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SW_NE, 0 }, - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NW_SE, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NW_SE }, - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NE_SW, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NE_SW }, - { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SE_NW, 0 }, - }, - }; + static const uint32 imageIds[2][4][2] = { + { + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_SW_NE, 0 }, + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_NW_SE, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NW_SE }, + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_NE_SW, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_FRONT_NE_SW }, + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_SE_NW, 0 }, + }, + { + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SW_NE, 0 }, + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NW_SE, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NW_SE }, + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_NE_SW, SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_FRONT_NE_SW }, + { SPR_WOODEN_WILD_MOUSE_60_DEG_TO_FLAT_CHAIN_SE_NW, 0 }, + }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId; - if (direction == 0 || direction == 3) { - imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - } else { - imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 6, 2, 24, 43, height, 28, 4, height + 2); - imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); - } + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId; + if (direction == 0 || direction == 3) { + imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); + } else { + imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 6, 2, 24, 43, height, 28, 4, height + 2); + imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); + } - wooden_a_supports_paint_setup(direction & 1, 33 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 33 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_0); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_0); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x008A5604 */ static void wooden_wild_mouse_track_flat_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_wild_mouse_track_60_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_wild_mouse_track_60_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x008A5614 */ static void wooden_wild_mouse_track_60_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - wooden_wild_mouse_track_flat_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + wooden_wild_mouse_track_flat_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } TRACK_PAINT_FUNCTION get_track_paint_function_wooden_wild_mouse(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return wooden_wild_mouse_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return wooden_wild_mouse_track_station; - case TRACK_ELEM_25_DEG_UP: - return wooden_wild_mouse_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return wooden_wild_mouse_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return wooden_wild_mouse_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return wooden_wild_mouse_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return wooden_wild_mouse_track_60_deg_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return wooden_wild_mouse_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return wooden_wild_mouse_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return wooden_wild_mouse_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return wooden_wild_mouse_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return wooden_wild_mouse_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return wooden_wild_mouse_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return wooden_wild_mouse_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return wooden_wild_mouse_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return wooden_wild_mouse_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return wooden_wild_mouse_track_left_quarter_turn_1; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return wooden_wild_mouse_track_right_quarter_turn_1; - case TRACK_ELEM_FLAT_TO_60_DEG_UP: - return wooden_wild_mouse_track_flat_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - return wooden_wild_mouse_track_60_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - return wooden_wild_mouse_track_flat_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: - return wooden_wild_mouse_track_60_deg_down_to_flat; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return wooden_wild_mouse_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return wooden_wild_mouse_track_station; + case TRACK_ELEM_25_DEG_UP: + return wooden_wild_mouse_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return wooden_wild_mouse_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return wooden_wild_mouse_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return wooden_wild_mouse_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return wooden_wild_mouse_track_60_deg_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return wooden_wild_mouse_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return wooden_wild_mouse_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return wooden_wild_mouse_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return wooden_wild_mouse_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return wooden_wild_mouse_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return wooden_wild_mouse_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return wooden_wild_mouse_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return wooden_wild_mouse_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return wooden_wild_mouse_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return wooden_wild_mouse_track_left_quarter_turn_1; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return wooden_wild_mouse_track_right_quarter_turn_1; + case TRACK_ELEM_FLAT_TO_60_DEG_UP: + return wooden_wild_mouse_track_flat_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + return wooden_wild_mouse_track_60_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + return wooden_wild_mouse_track_flat_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + return wooden_wild_mouse_track_60_deg_down_to_flat; + } + return NULL; } diff --git a/src/openrct2/ride/gentle/car_ride.c b/src/openrct2/ride/gentle/car_ride.c index 3d8b8dfa82..a42fdf95c9 100644 --- a/src/openrct2/ride/gentle/car_ride.c +++ b/src/openrct2/ride/gentle/car_ride.c @@ -25,574 +25,574 @@ #include "../../world/map.h" enum { - SPR_CAR_RIDE_FLAT_SW_NE = 28773, - SPR_CAR_RIDE_FLAT_NW_SE = 28774, - SPR_CAR_RIDE_LOG_BUMPS_SW_NE = 28775, - SPR_CAR_RIDE_LOG_BUMPS_NW_SE = 28776, - SPR_CAR_RIDE_25_DEG_UP_SW_NE = 28777, - SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_SW_NE = 28778, - SPR_CAR_RIDE_25_DEG_UP_NE_SW = 28779, - SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_NE_SW = 28780, - SPR_CAR_RIDE_DEG_UP_TO_FLAT_NE_SW = 28781, - SPR_CAR_RIDE_DEG_UP_TO_FLAT_SW_NE = 28782, - SPR_CAR_RIDE_25_DEG_UP_NW_SE = 28783, - SPR_CAR_RIDE_25_DEG_UP_SE_NW = 28784, - SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_NW_SE = 28785, - SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_SE_NW = 28786, - SPR_CAR_RIDE_DEG_UP_TO_FLAT_SE_NW = 28787, - SPR_CAR_RIDE_DEG_UP_TO_FLAT_NW_SE = 28788, - SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_SW_NE = 28789, - SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_NW_SE = 28790, - SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_NE_SW = 28791, - SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_SE_NW = 28792, - SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_FRONT_NW_SE = 28793, - SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_FRONT_NE_SW = 28794, - SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_SW_NE = 28795, - SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_NW_SE = 28796, - SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_NE_SW = 28797, - SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_SE_NW = 28798, - SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_FRONT_NW_SE = 28799, - SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_FRONT_NE_SW = 28800, - SPR_CAR_RIDE_60_DEG_UP_SW_NE = 28801, - SPR_CAR_RIDE_60_DEG_UP_NW_SE = 28802, - SPR_CAR_RIDE_60_DEG_UP_NE_SW = 28803, - SPR_CAR_RIDE_60_DEG_UP_SE_NW = 28804, - SPR_CAR_RIDE_QUARTER_TURN_1_TILE_SW_NW = 28805, - SPR_CAR_RIDE_QUARTER_TURN_1_TILE_NW_NE = 28806, - SPR_CAR_RIDE_QUARTER_TURN_1_TILE_NE_SE = 28807, - SPR_CAR_RIDE_QUARTER_TURN_1_TILE_SE_SW = 28808, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 28809, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 28810, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 28811, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 28812, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 28813, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 28814, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 28815, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 28816, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 28817, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 28818, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 28819, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 28820, + SPR_CAR_RIDE_FLAT_SW_NE = 28773, + SPR_CAR_RIDE_FLAT_NW_SE = 28774, + SPR_CAR_RIDE_LOG_BUMPS_SW_NE = 28775, + SPR_CAR_RIDE_LOG_BUMPS_NW_SE = 28776, + SPR_CAR_RIDE_25_DEG_UP_SW_NE = 28777, + SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_SW_NE = 28778, + SPR_CAR_RIDE_25_DEG_UP_NE_SW = 28779, + SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_NE_SW = 28780, + SPR_CAR_RIDE_DEG_UP_TO_FLAT_NE_SW = 28781, + SPR_CAR_RIDE_DEG_UP_TO_FLAT_SW_NE = 28782, + SPR_CAR_RIDE_25_DEG_UP_NW_SE = 28783, + SPR_CAR_RIDE_25_DEG_UP_SE_NW = 28784, + SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_NW_SE = 28785, + SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_SE_NW = 28786, + SPR_CAR_RIDE_DEG_UP_TO_FLAT_SE_NW = 28787, + SPR_CAR_RIDE_DEG_UP_TO_FLAT_NW_SE = 28788, + SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_SW_NE = 28789, + SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_NW_SE = 28790, + SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_NE_SW = 28791, + SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_SE_NW = 28792, + SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_FRONT_NW_SE = 28793, + SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_FRONT_NE_SW = 28794, + SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_SW_NE = 28795, + SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_NW_SE = 28796, + SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_NE_SW = 28797, + SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_SE_NW = 28798, + SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_FRONT_NW_SE = 28799, + SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_FRONT_NE_SW = 28800, + SPR_CAR_RIDE_60_DEG_UP_SW_NE = 28801, + SPR_CAR_RIDE_60_DEG_UP_NW_SE = 28802, + SPR_CAR_RIDE_60_DEG_UP_NE_SW = 28803, + SPR_CAR_RIDE_60_DEG_UP_SE_NW = 28804, + SPR_CAR_RIDE_QUARTER_TURN_1_TILE_SW_NW = 28805, + SPR_CAR_RIDE_QUARTER_TURN_1_TILE_NW_NE = 28806, + SPR_CAR_RIDE_QUARTER_TURN_1_TILE_NE_SE = 28807, + SPR_CAR_RIDE_QUARTER_TURN_1_TILE_SE_SW = 28808, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 28809, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 28810, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 28811, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 28812, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 28813, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 28814, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 28815, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 28816, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 28817, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 28818, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 28819, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 28820, }; static const uint32 car_ride_track_pieces_flat[4] = { - SPR_CAR_RIDE_FLAT_SW_NE, - SPR_CAR_RIDE_FLAT_NW_SE, - SPR_CAR_RIDE_FLAT_SW_NE, - SPR_CAR_RIDE_FLAT_NW_SE, + SPR_CAR_RIDE_FLAT_SW_NE, + SPR_CAR_RIDE_FLAT_NW_SE, + SPR_CAR_RIDE_FLAT_SW_NE, + SPR_CAR_RIDE_FLAT_NW_SE, }; static const uint32 car_ride_track_pieces_log_bumps[4] = { - SPR_CAR_RIDE_LOG_BUMPS_SW_NE, - SPR_CAR_RIDE_LOG_BUMPS_NW_SE, - SPR_CAR_RIDE_LOG_BUMPS_SW_NE, - SPR_CAR_RIDE_LOG_BUMPS_NW_SE, + SPR_CAR_RIDE_LOG_BUMPS_SW_NE, + SPR_CAR_RIDE_LOG_BUMPS_NW_SE, + SPR_CAR_RIDE_LOG_BUMPS_SW_NE, + SPR_CAR_RIDE_LOG_BUMPS_NW_SE, }; static const uint32 car_ride_track_pieces_25_deg_up[4] = { - SPR_CAR_RIDE_25_DEG_UP_SW_NE, - SPR_CAR_RIDE_25_DEG_UP_NW_SE, - SPR_CAR_RIDE_25_DEG_UP_NE_SW, - SPR_CAR_RIDE_25_DEG_UP_SE_NW, + SPR_CAR_RIDE_25_DEG_UP_SW_NE, + SPR_CAR_RIDE_25_DEG_UP_NW_SE, + SPR_CAR_RIDE_25_DEG_UP_NE_SW, + SPR_CAR_RIDE_25_DEG_UP_SE_NW, }; static const uint32 car_ride_track_pieces_flat_to_25_deg_up[4] = { - SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_SW_NE, - SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_NW_SE, - SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_NE_SW, - SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_SE_NW, + SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_SW_NE, + SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_NW_SE, + SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_NE_SW, + SPR_CAR_RIDE_FLAT_TO_25_DEG_UP_SE_NW, }; static const uint32 car_ride_track_pieces_25_deg_up_to_flat[4] = { - SPR_CAR_RIDE_DEG_UP_TO_FLAT_SW_NE, - SPR_CAR_RIDE_DEG_UP_TO_FLAT_NW_SE, - SPR_CAR_RIDE_DEG_UP_TO_FLAT_NE_SW, - SPR_CAR_RIDE_DEG_UP_TO_FLAT_SE_NW, + SPR_CAR_RIDE_DEG_UP_TO_FLAT_SW_NE, + SPR_CAR_RIDE_DEG_UP_TO_FLAT_NW_SE, + SPR_CAR_RIDE_DEG_UP_TO_FLAT_NE_SW, + SPR_CAR_RIDE_DEG_UP_TO_FLAT_SE_NW, }; static const uint32 car_ride_track_pieces_60_deg_up[4] = { - SPR_CAR_RIDE_60_DEG_UP_SW_NE, - SPR_CAR_RIDE_60_DEG_UP_NW_SE, - SPR_CAR_RIDE_60_DEG_UP_NE_SW, - SPR_CAR_RIDE_60_DEG_UP_SE_NW, + SPR_CAR_RIDE_60_DEG_UP_SW_NE, + SPR_CAR_RIDE_60_DEG_UP_NW_SE, + SPR_CAR_RIDE_60_DEG_UP_NE_SW, + SPR_CAR_RIDE_60_DEG_UP_SE_NW, }; static const uint32 car_ride_track_pieces_25_deg_up_to_60_deg_up[4][2] = { - {SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_SW_NE, 0}, - {SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_NW_SE, SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_FRONT_NW_SE}, - {SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_NE_SW, SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_FRONT_NE_SW}, - {SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_SE_NW, 0}, + {SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_SW_NE, 0}, + {SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_NW_SE, SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_FRONT_NW_SE}, + {SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_NE_SW, SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_FRONT_NE_SW}, + {SPR_CAR_RIDE_25_DEG_UP_TO_60_DEG_UP_SE_NW, 0}, }; static const uint32 car_ride_track_pieces_60_deg_up_to_25_deg_up[4][2] = { - {SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_SW_NE, 0}, - {SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_NW_SE, SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_FRONT_NW_SE}, - {SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_NE_SW, SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_FRONT_NE_SW}, - {SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_SE_NW, 0}, + {SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_SW_NE, 0}, + {SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_NW_SE, SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_FRONT_NW_SE}, + {SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_NE_SW, SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_FRONT_NE_SW}, + {SPR_CAR_RIDE_60_DEG_UP_TO_25_DEG_UP_SE_NW, 0}, }; static const uint32 car_ride_track_pieces_left_quarter_turn_1_tile[4] = { - SPR_CAR_RIDE_QUARTER_TURN_1_TILE_SW_NW, - SPR_CAR_RIDE_QUARTER_TURN_1_TILE_NW_NE, - SPR_CAR_RIDE_QUARTER_TURN_1_TILE_NE_SE, - SPR_CAR_RIDE_QUARTER_TURN_1_TILE_SE_SW, + SPR_CAR_RIDE_QUARTER_TURN_1_TILE_SW_NW, + SPR_CAR_RIDE_QUARTER_TURN_1_TILE_NW_NE, + SPR_CAR_RIDE_QUARTER_TURN_1_TILE_NE_SE, + SPR_CAR_RIDE_QUARTER_TURN_1_TILE_SE_SW, }; static const uint32 car_ride_track_pieces_quarter_turn_3_tiles[4][3] = { - { - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SW_SE_PART_0, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SW_SE_PART_1, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SW_SE_PART_2 - }, - { - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NW_SW_PART_0, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NW_SW_PART_1, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NW_SW_PART_2 - }, - { - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NE_NW_PART_0, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NE_NW_PART_1, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NE_NW_PART_2 - }, - { - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SE_NE_PART_0, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SE_NE_PART_1, - SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SE_NE_PART_2 - } + { + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SW_SE_PART_0, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SW_SE_PART_1, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SW_SE_PART_2 + }, + { + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NW_SW_PART_0, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NW_SW_PART_1, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NW_SW_PART_2 + }, + { + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NE_NW_PART_0, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NE_NW_PART_1, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_NE_NW_PART_2 + }, + { + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SE_NE_PART_0, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SE_NE_PART_1, + SPR_CAR_RIDE_QUARTER_TURN_3_TILES_SE_NE_PART_2 + } }; /** rct2: 0x006F72C8 */ static void paint_car_ride_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = car_ride_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = car_ride_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98196C(imageId, 0, 6, 32, 20, 1, height, get_current_rotation()); - } else { - sub_98196C(imageId, 6, 0, 20, 32, 1, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98196C(imageId, 0, 6, 32, 20, 1, height, get_current_rotation()); + } else { + sub_98196C(imageId, 6, 0, 20, 32, 1, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } else { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 || direction == 2) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } else { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006F72D8 */ static void paint_car_ride_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = car_ride_track_pieces_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = car_ride_track_pieces_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 2, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - } else { - sub_98197C(imageId, 2, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 2, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + } else { + sub_98197C(imageId, 2, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - case 1: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + case 1: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x006F72E8 */ static void paint_car_ride_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = car_ride_track_pieces_flat_to_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = car_ride_track_pieces_flat_to_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 2, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - } else { - sub_98197C(imageId, 2, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 2, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + } else { + sub_98197C(imageId, 2, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_right(height, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_right(height, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x006F72F8 */ static void paint_car_ride_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = car_ride_track_pieces_25_deg_up_to_flat[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = car_ride_track_pieces_25_deg_up_to_flat[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 2, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - } else { - sub_98197C(imageId, 2, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 2, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + } else { + sub_98197C(imageId, 2, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height - 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_right(height + 8, TUNNEL_12); - break; - case 2: - paint_util_push_tunnel_left(height + 8, TUNNEL_12); - break; - case 3: - paint_util_push_tunnel_right(height - 8, TUNNEL_0); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height - 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_right(height + 8, TUNNEL_12); + break; + case 2: + paint_util_push_tunnel_left(height + 8, TUNNEL_12); + break; + case 3: + paint_util_push_tunnel_right(height - 8, TUNNEL_0); + break; + } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x006F7308 */ static void paint_car_ride_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_car_ride_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_car_ride_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x006F7318 */ static void paint_car_ride_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_car_ride_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_car_ride_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x006F7328 */ static void paint_car_ride_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_car_ride_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_car_ride_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x006F7338, 0x006F7348, 0x006F7358 */ static void paint_car_ride_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - if (direction == 0 || direction == 2) { - imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation()); - } else if (direction == 1 || direction == 3) { - imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation()); + } else if (direction == 1 || direction == 3) { + imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation()); + } - imageId = car_ride_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98199C(imageId, 0, 6, 32, 20, 1, height, 0, 0, height, get_current_rotation()); - } else { - sub_98199C(imageId, 6, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation()); - } + imageId = car_ride_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98199C(imageId, 0, 6, 32, 20, 1, height, 0, 0, height, get_current_rotation()); + } else { + sub_98199C(imageId, 6, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } else { - paint_util_push_tunnel_right(height, TUNNEL_6); - } + if (direction == 0 || direction == 2) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } else { + paint_util_push_tunnel_right(height, TUNNEL_6); + } - if (direction == 0 || direction == 2) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (direction == 0 || direction == 2) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006F7378 */ static void paint_car_ride_track_right_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_right_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], car_ride_track_pieces_quarter_turn_3_tiles, defaultRightQuarterTurn3TilesOffsets, defaultRightQuarterTurn3TilesBoundLengths, NULL, get_current_rotation()); - track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); + track_paint_util_right_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], car_ride_track_pieces_quarter_turn_3_tiles, defaultRightQuarterTurn3TilesOffsets, defaultRightQuarterTurn3TilesBoundLengths, NULL, get_current_rotation()); + track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); - switch (trackSequence) { - case 0: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; - case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; + case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006F7368 */ static void paint_car_ride_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - paint_car_ride_track_right_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + paint_car_ride_track_right_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x006F7388 */ static void paint_car_ride_track_left_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = car_ride_track_pieces_left_quarter_turn_1_tile[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = car_ride_track_pieces_left_quarter_turn_1_tile[direction] | gTrackColours[SCHEME_TRACK]; - switch(direction) { - case 0: sub_98197C(imageId, 6, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation()); break; - case 1: sub_98196C(imageId, 0, 0, 26, 26, 1, height, get_current_rotation()); break; - case 2: sub_98197C(imageId, 0, 6, 24, 26, 1, height, 2, 6, height, get_current_rotation()); break; - case 3: sub_98196C(imageId, 6, 6, 24, 24, 1, height, get_current_rotation()); break; - } + switch(direction) { + case 0: sub_98197C(imageId, 6, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation()); break; + case 1: sub_98196C(imageId, 0, 0, 26, 26, 1, height, get_current_rotation()); break; + case 2: sub_98197C(imageId, 0, 6, 24, 26, 1, height, 2, 6, height, get_current_rotation()); break; + case 3: sub_98196C(imageId, 6, 6, 24, 24, 1, height, get_current_rotation()); break; + } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, 0, TUNNEL_0, 0, TUNNEL_0); + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, 0, TUNNEL_0, 0, TUNNEL_0); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006F7398 */ static void paint_car_ride_track_right_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_car_ride_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + paint_car_ride_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } /** rct2: 0x006F73A8 */ static void paint_car_ride_track_spinning_tunnel(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = car_ride_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = car_ride_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98196C(imageId, 0, 6, 32, 20, 1, height, get_current_rotation()); - } else { - sub_98196C(imageId, 6, 0, 20, 32, 1, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98196C(imageId, 0, 6, 32, 20, 1, height, get_current_rotation()); + } else { + sub_98196C(imageId, 6, 0, 20, 32, 1, height, get_current_rotation()); + } - track_paint_util_spinning_tunnel_paint(1, height, direction, get_current_rotation()); + track_paint_util_spinning_tunnel_paint(1, height, direction, get_current_rotation()); - if (direction == 0 || direction == 2) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } else { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 || direction == 2) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } else { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006F73B8 */ static void paint_car_ride_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = car_ride_track_pieces_60_deg_up[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = car_ride_track_pieces_60_deg_up[direction] | gTrackColours[SCHEME_TRACK]; - switch (direction) { - case 0: - sub_98197C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - break; - case 1: - sub_98197C(imageId, 0, 0, 1, 32, 98, height, 27, 0, height, get_current_rotation()); - break; - case 2: - sub_98197C(imageId, 0, 0, 32, 1, 98, height, 0, 27, height, get_current_rotation()); - break; - case 3: - sub_98197C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - break; - } + switch (direction) { + case 0: + sub_98197C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + break; + case 1: + sub_98197C(imageId, 0, 0, 1, 32, 98, height, 27, 0, height, get_current_rotation()); + break; + case 2: + sub_98197C(imageId, 0, 0, 32, 1, 98, height, 0, 27, height, get_current_rotation()); + break; + case 3: + sub_98197C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + break; + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - case 1: - paint_util_push_tunnel_right(height + 56, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height + 56, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + case 1: + paint_util_push_tunnel_right(height + 56, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height + 56, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } /** rct2: 0x006F73C8 */ static void paint_car_ride_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = car_ride_track_pieces_25_deg_up_to_60_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = car_ride_track_pieces_25_deg_up_to_60_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + } - if (car_ride_track_pieces_25_deg_up_to_60_deg_up[direction][1] != 0) { - imageId = car_ride_track_pieces_25_deg_up_to_60_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; + if (car_ride_track_pieces_25_deg_up_to_60_deg_up[direction][1] != 0) { + imageId = car_ride_track_pieces_25_deg_up_to_60_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 1, 66, height, 0, 27, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 1, 32, 66, height, 27, 0, height, get_current_rotation()); - } - } + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 1, 66, height, 0, 27, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 1, 32, 66, height, 27, 0, height, get_current_rotation()); + } + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - case 1: - paint_util_push_tunnel_right(height + 24, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height + 24, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + case 1: + paint_util_push_tunnel_right(height + 24, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height + 24, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x006F73D8 */ static void paint_car_ride_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = car_ride_track_pieces_60_deg_up_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = car_ride_track_pieces_60_deg_up_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + } - if (car_ride_track_pieces_60_deg_up_to_25_deg_up[direction][1] != 0) { - imageId = car_ride_track_pieces_60_deg_up_to_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; + if (car_ride_track_pieces_60_deg_up_to_25_deg_up[direction][1] != 0) { + imageId = car_ride_track_pieces_60_deg_up_to_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 1, 66, height, 0, 27, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 1, 32, 66, height, 27, 0, height, get_current_rotation()); - } - } + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 1, 66, height, 0, 27, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 1, 32, 66, height, 27, 0, height, get_current_rotation()); + } + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - case 1: - paint_util_push_tunnel_right(height + 24, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height + 24, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + case 1: + paint_util_push_tunnel_right(height + 24, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height + 24, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x006F73E8 */ static void paint_car_ride_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_car_ride_track_60_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_car_ride_track_60_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x006F73F8 */ static void paint_car_ride_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_car_ride_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_car_ride_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x006F7408 */ static void paint_car_ride_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_car_ride_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_car_ride_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x006F7418 */ static void paint_car_ride_track_log_bumps(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = car_ride_track_pieces_log_bumps[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = car_ride_track_pieces_log_bumps[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98196C(imageId, 0, 6, 32, 20, 1, height, get_current_rotation()); - } else { - sub_98196C(imageId, 6, 0, 20, 32, 1, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98196C(imageId, 0, 6, 32, 20, 1, height, get_current_rotation()); + } else { + sub_98196C(imageId, 6, 0, 20, 32, 1, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } else { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 || direction == 2) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } else { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** @@ -600,57 +600,57 @@ static void paint_car_ride_track_log_bumps(uint8 rideIndex, uint8 trackSequence, */ TRACK_PAINT_FUNCTION get_track_paint_function_car_ride(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return paint_car_ride_track_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_car_ride_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_car_ride_station; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_car_ride_station; - case TRACK_ELEM_25_DEG_UP: - return paint_car_ride_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return paint_car_ride_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return paint_car_ride_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return paint_car_ride_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return paint_car_ride_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return paint_car_ride_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_UP: + return paint_car_ride_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return paint_car_ride_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_car_ride_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return paint_car_ride_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return paint_car_ride_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_car_ride_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return paint_car_ride_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return paint_car_ride_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return paint_car_ride_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return paint_car_ride_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return paint_car_ride_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return paint_car_ride_track_25_deg_down_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return paint_car_ride_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return paint_car_ride_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_car_ride_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return paint_car_ride_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return paint_car_ride_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_car_ride_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return paint_car_ride_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return paint_car_ride_track_right_quarter_turn_3_tiles; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return paint_car_ride_track_left_quarter_turn_3_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return paint_car_ride_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return paint_car_ride_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return paint_car_ride_track_right_quarter_turn_1_tile; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return paint_car_ride_track_left_quarter_turn_1_tile; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return paint_car_ride_track_right_quarter_turn_1_tile; - case TRACK_ELEM_RAPIDS: - return paint_car_ride_track_log_bumps; + case TRACK_ELEM_RAPIDS: + return paint_car_ride_track_log_bumps; - case TRACK_ELEM_SPINNING_TUNNEL: - return paint_car_ride_track_spinning_tunnel; - } + case TRACK_ELEM_SPINNING_TUNNEL: + return paint_car_ride_track_spinning_tunnel; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/gentle/circus_show.c b/src/openrct2/ride/gentle/circus_show.c index 0a55e70043..05023fa707 100644 --- a/src/openrct2/ride/gentle/circus_show.c +++ b/src/openrct2/ride/gentle/circus_show.c @@ -25,78 +25,78 @@ */ static void paint_circus_show_tent(uint8 rideIndex, uint8 direction, sint8 al, sint8 cl, uint16 height) { - rct_map_element * savedMapElement = g_currently_drawn_item; + rct_map_element * savedMapElement = g_currently_drawn_item; - rct_ride * ride = get_ride(rideIndex); - rct_ride_entry * ride_type = get_ride_entry(ride->subtype); + rct_ride * ride = get_ride(rideIndex); + rct_ride_entry * ride_type = get_ride_entry(ride->subtype); - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && ride->vehicles[0] != SPRITE_INDEX_NULL) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - g_currently_drawn_item = GET_VEHICLE(ride->vehicles[0]); - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && ride->vehicles[0] != SPRITE_INDEX_NULL) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + g_currently_drawn_item = GET_VEHICLE(ride->vehicles[0]); + } - uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; + uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; uint32 imageId = ride_type->vehicles[0].base_image_id; - if (imageColourFlags == 0x20000000) { - imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; + if (imageColourFlags == 0x20000000) { + imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; imageId += direction; - } + } - sub_98197C(imageId | imageColourFlags, al, cl, 24, 24, 47, height + 3, al + 16, cl + 16, height + 3, get_current_rotation()); + sub_98197C(imageId | imageColourFlags, al, cl, 24, 24, 47, height + 3, al + 16, cl + 16, height + 3, get_current_rotation()); - g_currently_drawn_item = savedMapElement; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = savedMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; } /** * rct2: 0x0076FAD4 */ static void paint_circus_show(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_3x3[direction][trackSequence]; + trackSequence = track_map_3x3[direction][trackSequence]; - sint32 edges = edges_3x3[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_3x3[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); + track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_SUPPORTS], height, fenceSpritesRope, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_SUPPORTS], height, fenceSpritesRope, get_current_rotation()); - switch (trackSequence) { - case 1: paint_circus_show_tent(rideIndex, direction, 32, 32, height); break; - case 3: paint_circus_show_tent(rideIndex, direction, 32, -32, height); break; - case 5: paint_circus_show_tent(rideIndex, direction, 0, -32, height); break; - case 6: paint_circus_show_tent(rideIndex, direction, -32, 32, height); break; - case 7: paint_circus_show_tent(rideIndex, direction, -32, -32, height); break; - case 8: paint_circus_show_tent(rideIndex, direction, -32, 0, height); break; - } + switch (trackSequence) { + case 1: paint_circus_show_tent(rideIndex, direction, 32, 32, height); break; + case 3: paint_circus_show_tent(rideIndex, direction, 32, -32, height); break; + case 5: paint_circus_show_tent(rideIndex, direction, 0, -32, height); break; + case 6: paint_circus_show_tent(rideIndex, direction, -32, 32, height); break; + case 7: paint_circus_show_tent(rideIndex, direction, -32, -32, height); break; + case 8: paint_circus_show_tent(rideIndex, direction, -32, 0, height); break; + } - sint32 cornerSegments = 0; - switch (trackSequence) { - case 1: - // Top - cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; - break; - case 3: - // Right - cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; - break; - case 6: - // Left - cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; - break; - case 7: - // Bottom - cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; - break; - } + sint32 cornerSegments = 0; + switch (trackSequence) { + case 1: + // Top + cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; + break; + case 3: + // Right + cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; + break; + case 6: + // Left + cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; + break; + case 7: + // Bottom + cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; + break; + } - paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); - paint_util_set_general_support_height(height + 128, 0x20); + paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); + paint_util_set_general_support_height(height + 128, 0x20); } /** @@ -104,9 +104,9 @@ static void paint_circus_show(uint8 rideIndex, uint8 trackSequence, uint8 direct */ TRACK_PAINT_FUNCTION get_track_paint_function_circus_show(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_3_X_3) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_3_X_3) { + return NULL; + } - return paint_circus_show; + return paint_circus_show; } diff --git a/src/openrct2/ride/gentle/crooked_house.c b/src/openrct2/ride/gentle/crooked_house.c index 651b2872cb..fb583ec62b 100644 --- a/src/openrct2/ride/gentle/crooked_house.c +++ b/src/openrct2/ride/gentle/crooked_house.c @@ -21,18 +21,18 @@ #include "../track.h" typedef struct rct_crooked_house_bound_box { - sint16 offset_x; - sint16 offset_y; - sint16 length_x; - sint16 length_y; + sint16 offset_x; + sint16 offset_y; + sint16 length_x; + sint16 length_y; } rct_crooked_house_bound_box; rct_crooked_house_bound_box crooked_house_data[] = { - {6, 0, 42, 24}, - {0, 0, 0, 0}, - {-16, -16, 32, 32}, - {0, 0, 0, 0}, // Unused - {0, 6, 24, 42} + {6, 0, 42, 24}, + {0, 0, 0, 0}, + {-16, -16, 32, 32}, + {0, 0, 0, 0}, // Unused + {0, 6, 24, 42} }; /** @@ -44,78 +44,78 @@ rct_crooked_house_bound_box crooked_house_data[] = { * @param (edx) height */ static void paint_crooked_house_structure(uint8 direction, uint8 x_offset, uint8 y_offset, uint32 segment, sint32 height) { - rct_map_element *original_map_element = g_currently_drawn_item; + rct_map_element *original_map_element = g_currently_drawn_item; - rct_ride *ride = get_ride(original_map_element->properties.track.ride_index); + rct_ride *ride = get_ride(original_map_element->properties.track.ride_index); - rct_ride_entry *ride_type = get_ride_entry(ride->subtype); + rct_ride_entry *ride_type = get_ride_entry(ride->subtype); - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) { - if (ride->vehicles[0] != (uint16)-1) { - rct_sprite *sprite = get_sprite(ride->vehicles[0]); - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - g_currently_drawn_item = sprite; - } - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) { + if (ride->vehicles[0] != (uint16)-1) { + rct_sprite *sprite = get_sprite(ride->vehicles[0]); + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + g_currently_drawn_item = sprite; + } + } - uint32 image_id = (direction + ride_type->vehicles[0].base_image_id) | gTrackColours[SCHEME_MISC]; + uint32 image_id = (direction + ride_type->vehicles[0].base_image_id) | gTrackColours[SCHEME_MISC]; - rct_crooked_house_bound_box boundBox = crooked_house_data[segment]; - sub_98197C(image_id, x_offset, y_offset, boundBox.length_x, boundBox.length_y, 127, height + 3, boundBox.offset_x, boundBox.offset_y, height + 3, get_current_rotation()); + rct_crooked_house_bound_box boundBox = crooked_house_data[segment]; + sub_98197C(image_id, x_offset, y_offset, boundBox.length_x, boundBox.length_y, 127, height + 3, boundBox.offset_x, boundBox.offset_y, height + 3, get_current_rotation()); } static void paint_crooked_house(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_3x3[direction][trackSequence]; + trackSequence = track_map_3x3[direction][trackSequence]; - sint32 edges = edges_3x3[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_3x3[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); + track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, fenceSpritesRope, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, fenceSpritesRope, get_current_rotation()); - switch(trackSequence) { - case 3: paint_crooked_house_structure(direction, 32, 224, 0, height); break; - // case 5: sub_88ABA4(direction, 0, 224, 1, height); break; - case 6: paint_crooked_house_structure(direction, 224, 32, 4, height); break; - case 7: paint_crooked_house_structure(direction, 224, 224, 2, height); break; - // case 8: sub_88ABA4(rideIndex, 224, 0, 3, height); break; - } + switch(trackSequence) { + case 3: paint_crooked_house_structure(direction, 32, 224, 0, height); break; + // case 5: sub_88ABA4(direction, 0, 224, 1, height); break; + case 6: paint_crooked_house_structure(direction, 224, 32, 4, height); break; + case 7: paint_crooked_house_structure(direction, 224, 224, 2, height); break; + // case 8: sub_88ABA4(rideIndex, 224, 0, 3, height); break; + } - sint32 cornerSegments = 0; - switch (trackSequence) { - case 1: - // Top - cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; - break; - case 3: - // Right - cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; - break; - case 6: - // Left - cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; - break; - case 7: - // Bottom - cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; - break; - } + sint32 cornerSegments = 0; + switch (trackSequence) { + case 1: + // Top + cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; + break; + case 3: + // Right + cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; + break; + case 6: + // Left + cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; + break; + case 7: + // Bottom + cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; + break; + } - paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); - paint_util_set_general_support_height(height + 128, 0x20); + paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); + paint_util_set_general_support_height(height + 128, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_crooked_house(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_3_X_3) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_3_X_3) { + return NULL; + } - return paint_crooked_house; + return paint_crooked_house; } diff --git a/src/openrct2/ride/gentle/dodgems.c b/src/openrct2/ride/gentle/dodgems.c index 78feb245a7..4030dc105e 100644 --- a/src/openrct2/ride/gentle/dodgems.c +++ b/src/openrct2/ride/gentle/dodgems.c @@ -21,81 +21,81 @@ #include "../track.h" enum { - SPR_DODGEMS_FLOOR = 21925, - SPR_DODGEMS_ROOF_FRAME = 21926, // 4 directions - SPR_DODGEMS_ROOF_GLASS = 21930, // 4 directions - SPR_DODGEMS_FENCE_TOP_RIGHT = 21934, - SPR_DODGEMS_FENCE_BOTTOM_RIGHT = 21935, - SPR_DODGEMS_FENCE_BOTTOM_LEFT = 21936, - SPR_DODGEMS_FENCE_TOP_LEFT = 21937 + SPR_DODGEMS_FLOOR = 21925, + SPR_DODGEMS_ROOF_FRAME = 21926, // 4 directions + SPR_DODGEMS_ROOF_GLASS = 21930, // 4 directions + SPR_DODGEMS_FENCE_TOP_RIGHT = 21934, + SPR_DODGEMS_FENCE_BOTTOM_RIGHT = 21935, + SPR_DODGEMS_FENCE_BOTTOM_LEFT = 21936, + SPR_DODGEMS_FENCE_TOP_LEFT = 21937 }; const uint32 dodgems_fence_sprites[] = { - SPR_DODGEMS_FENCE_TOP_RIGHT, - SPR_DODGEMS_FENCE_BOTTOM_RIGHT, - SPR_DODGEMS_FENCE_BOTTOM_LEFT, - SPR_DODGEMS_FENCE_TOP_LEFT + SPR_DODGEMS_FENCE_TOP_RIGHT, + SPR_DODGEMS_FENCE_BOTTOM_RIGHT, + SPR_DODGEMS_FENCE_BOTTOM_LEFT, + SPR_DODGEMS_FENCE_TOP_LEFT }; static void paint_dodgems_roof(sint32 height, sint32 offset) { - uint32 image_id = (SPR_DODGEMS_ROOF_FRAME + offset) | gTrackColours[SCHEME_TRACK]; - sub_98196C(image_id, 0, 0, 32, 32, 2, height, get_current_rotation()); + uint32 image_id = (SPR_DODGEMS_ROOF_FRAME + offset) | gTrackColours[SCHEME_TRACK]; + sub_98196C(image_id, 0, 0, 32, 32, 2, height, get_current_rotation()); - image_id = (SPR_DODGEMS_ROOF_GLASS + offset) | (PALETTE_DARKEN_3 << 19) | IMAGE_TYPE_TRANSPARENT; - paint_attach_to_previous_ps(image_id, 0, 0); + image_id = (SPR_DODGEMS_ROOF_GLASS + offset) | (PALETTE_DARKEN_3 << 19) | IMAGE_TYPE_TRANSPARENT; + paint_attach_to_previous_ps(image_id, 0, 0); } static void paint_dodgems(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint8 relativeTrackSequence = track_map_4x4[direction][trackSequence]; + uint8 relativeTrackSequence = track_map_4x4[direction][trackSequence]; - sint32 edges = edges_4x4[relativeTrackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_4x4[relativeTrackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL); - uint32 imageId = SPR_DODGEMS_FLOOR | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 30, 30, 1, height, 1, 1, height, get_current_rotation()); + uint32 imageId = SPR_DODGEMS_FLOOR | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 30, 30, 1, height, 1, 1, height, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_SUPPORTS], height, dodgems_fence_sprites, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_SUPPORTS], height, dodgems_fence_sprites, get_current_rotation()); - switch (direction) { - case 2: - trackSequence = 15 - trackSequence; - // Fallthrough - case 0: - if ((trackSequence / 4) & 1) { - paint_dodgems_roof(height + 30, 0); - } else { - paint_dodgems_roof(height + 30, 2); - } - break; + switch (direction) { + case 2: + trackSequence = 15 - trackSequence; + // Fallthrough + case 0: + if ((trackSequence / 4) & 1) { + paint_dodgems_roof(height + 30, 0); + } else { + paint_dodgems_roof(height + 30, 2); + } + break; - case 3: - trackSequence = 15 - trackSequence; - // Fallthrough - case 1: - if ((trackSequence / 4) & 1) { - paint_dodgems_roof(height + 30, 1); - } else { - paint_dodgems_roof(height + 30, 3); - } - break; - } + case 3: + trackSequence = 15 - trackSequence; + // Fallthrough + case 1: + if ((trackSequence / 4) & 1) { + paint_dodgems_roof(height + 30, 1); + } else { + paint_dodgems_roof(height + 30, 3); + } + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, height + 36, 0x20); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, height + 36, 0x20); + paint_util_set_general_support_height(height + 48, 0x20); } /** * rct2: */ TRACK_PAINT_FUNCTION get_track_paint_function_dodgems(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_4_X_4) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_4_X_4) { + return NULL; + } - return paint_dodgems; + return paint_dodgems; } diff --git a/src/openrct2/ride/gentle/ferris_wheel.c b/src/openrct2/ride/gentle/ferris_wheel.c index 7219b546fb..5e348fb04f 100644 --- a/src/openrct2/ride/gentle/ferris_wheel.c +++ b/src/openrct2/ride/gentle/ferris_wheel.c @@ -21,33 +21,33 @@ #include "../track.h" static const uint8 edges_1x4_ne_sw[] = { - EDGE_NW | EDGE_SE, - EDGE_NW | EDGE_SE | EDGE_NE, - EDGE_NW | EDGE_SE, - EDGE_NW | EDGE_SE | EDGE_SW, + EDGE_NW | EDGE_SE, + EDGE_NW | EDGE_SE | EDGE_NE, + EDGE_NW | EDGE_SE, + EDGE_NW | EDGE_SE | EDGE_SW, }; static const uint8 edges_1x4_nw_se[] = { - EDGE_NE | EDGE_SW, - EDGE_NE | EDGE_SW | EDGE_NW, - EDGE_NE | EDGE_SW, - EDGE_NE | EDGE_SW | EDGE_SE, + EDGE_NE | EDGE_SW, + EDGE_NE | EDGE_SW | EDGE_NW, + EDGE_NE | EDGE_SW, + EDGE_NE | EDGE_SW | EDGE_SE, }; typedef struct ferris_wheel_bound_box { - sint16 length_x; - sint16 length_y; - sint16 offset_x; - sint16 offset_y; + sint16 length_x; + sint16 length_y; + sint16 offset_x; + sint16 offset_y; } ferris_wheel_bound_box; /** rct2: 0x008A8CA8 */ static ferris_wheel_bound_box ferris_wheel_data[] = { - {31, 16, 1, 8}, - {16, 31, 8, 1}, - {31, 16, 1, 8}, - {16, 31, 8, 1}, + {31, 16, 1, 8}, + {16, 31, 8, 1}, + {31, 16, 1, 8}, + {16, 31, 8, 1}, }; @@ -56,72 +56,72 @@ static ferris_wheel_bound_box ferris_wheel_data[] = { */ static void paint_ferris_wheel_structure(uint8 rideIndex, uint8 direction, sint8 axisOffset, uint16 height) { - uint32 imageId, baseImageId; + uint32 imageId, baseImageId; - rct_map_element * savedMapElement = g_currently_drawn_item; + rct_map_element * savedMapElement = g_currently_drawn_item; - rct_ride * ride = get_ride(rideIndex); - rct_ride_entry * rideType = get_ride_entry(ride->subtype); - rct_vehicle * vehicle = NULL; + rct_ride * ride = get_ride(rideIndex); + rct_ride_entry * rideType = get_ride_entry(ride->subtype); + rct_vehicle * vehicle = NULL; - sint8 xOffset = !(direction & 1) ? axisOffset : 0; - sint8 yOffset = (direction & 1) ? axisOffset : 0; + sint8 xOffset = !(direction & 1) ? axisOffset : 0; + sint8 yOffset = (direction & 1) ? axisOffset : 0; - height += 7; + height += 7; - baseImageId = rideType->vehicles[0].base_image_id; + baseImageId = rideType->vehicles[0].base_image_id; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && ride->vehicles[0] != SPRITE_INDEX_NULL) { - vehicle = GET_VEHICLE(ride->vehicles[0]); + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && ride->vehicles[0] != SPRITE_INDEX_NULL) { + vehicle = GET_VEHICLE(ride->vehicles[0]); - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - g_currently_drawn_item = vehicle; - } + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + g_currently_drawn_item = vehicle; + } - uint32 imageOffset = 0; - if (vehicle != NULL) { - imageOffset = vehicle->vehicle_sprite_type % 8; - } + uint32 imageOffset = 0; + if (vehicle != NULL) { + imageOffset = vehicle->vehicle_sprite_type % 8; + } - uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; - if (imageColourFlags == 0x20000000) { - imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; - } + uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; + if (imageColourFlags == 0x20000000) { + imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; + } - ferris_wheel_bound_box boundBox = ferris_wheel_data[direction]; + ferris_wheel_bound_box boundBox = ferris_wheel_data[direction]; - imageId = (22150 + (direction & 1) * 2) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); + imageId = (22150 + (direction & 1) * 2) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); - imageId = (baseImageId + direction * 8 + imageOffset) | imageColourFlags; - sub_98199C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); + imageId = (baseImageId + direction * 8 + imageOffset) | imageColourFlags; + sub_98199C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && ride->vehicles[0] != SPRITE_INDEX_NULL) { - vehicle = GET_VEHICLE(ride->vehicles[0]); - for (sint32 i = 0; i < 32; i += 2) { - if (vehicle->peep[i] == SPRITE_INDEX_NULL) { - continue; - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && ride->vehicles[0] != SPRITE_INDEX_NULL) { + vehicle = GET_VEHICLE(ride->vehicles[0]); + for (sint32 i = 0; i < 32; i += 2) { + if (vehicle->peep[i] == SPRITE_INDEX_NULL) { + continue; + } - rct_peep * peep = GET_PEEP(vehicle->peep[i]); - if (peep->state != PEEP_STATE_ON_RIDE) { - continue; - } + rct_peep * peep = GET_PEEP(vehicle->peep[i]); + if (peep->state != PEEP_STATE_ON_RIDE) { + continue; + } - sint32 frameNum = (vehicle->vehicle_sprite_type + i * 4) % 128; - imageColourFlags = vehicle->peep_tshirt_colours[i] << 19 | vehicle->peep_tshirt_colours[i + 1] << 24 | 0xA0000000; - imageId = (baseImageId + 32 + direction * 128 + frameNum) | imageColourFlags; - sub_98199C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); - } - } + sint32 frameNum = (vehicle->vehicle_sprite_type + i * 4) % 128; + imageColourFlags = vehicle->peep_tshirt_colours[i] << 19 | vehicle->peep_tshirt_colours[i + 1] << 24 | 0xA0000000; + imageId = (baseImageId + 32 + direction * 128 + frameNum) | imageColourFlags; + sub_98199C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); + } + } - imageId = (22150 + (direction & 1) * 2 + 1) | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); + imageId = (22150 + (direction & 1) * 2 + 1) | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); - g_currently_drawn_item = savedMapElement; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = savedMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; } @@ -130,52 +130,52 @@ static void paint_ferris_wheel_structure(uint8 rideIndex, uint8 direction, sint8 */ static void paint_ferris_wheel(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint8 relativeTrackSequence = track_map_1x4[direction][trackSequence]; + uint8 relativeTrackSequence = track_map_1x4[direction][trackSequence]; - sint32 edges; - if (direction & 1) { - edges = edges_1x4_nw_se[relativeTrackSequence]; - } else { - edges = edges_1x4_ne_sw[relativeTrackSequence]; - } + sint32 edges; + if (direction & 1) { + edges = edges_1x4_nw_se[relativeTrackSequence]; + } else { + edges = edges_1x4_ne_sw[relativeTrackSequence]; + } - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL); - track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); + track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); - uint32 imageId; - uint8 rotation = get_current_rotation(); - uint32 colourFlags = gTrackColours[SCHEME_MISC]; - if (edges & EDGE_NW && track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, rotation)) { - imageId = SPR_FENCE_ROPE_NW | colourFlags; - sub_98199C(imageId, 0, 0, 32, 1, 7, height, 0, 2, height + 2, rotation); - } - if (edges & EDGE_NE && track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, rotation)) { - imageId = SPR_FENCE_ROPE_NE | colourFlags; - sub_98199C(imageId, 0, 0, 1, 32, 7, height, 2, 0, height + 2, rotation); - } - if (edges & EDGE_SE && track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, rotation)) { - // Bound box is slightly different from track_paint_util_paint_fences - imageId = SPR_FENCE_ROPE_SE | colourFlags; - sub_98197C(imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 3, rotation); - } - if (edges & EDGE_SW && track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, rotation)) { - imageId = SPR_FENCE_ROPE_SW | colourFlags; - sub_98197C(imageId, 0, 0, 1, 32, 7, height, 30, 0, height + 2, rotation); - } + uint32 imageId; + uint8 rotation = get_current_rotation(); + uint32 colourFlags = gTrackColours[SCHEME_MISC]; + if (edges & EDGE_NW && track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, rotation)) { + imageId = SPR_FENCE_ROPE_NW | colourFlags; + sub_98199C(imageId, 0, 0, 32, 1, 7, height, 0, 2, height + 2, rotation); + } + if (edges & EDGE_NE && track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, rotation)) { + imageId = SPR_FENCE_ROPE_NE | colourFlags; + sub_98199C(imageId, 0, 0, 1, 32, 7, height, 2, 0, height + 2, rotation); + } + if (edges & EDGE_SE && track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, rotation)) { + // Bound box is slightly different from track_paint_util_paint_fences + imageId = SPR_FENCE_ROPE_SE | colourFlags; + sub_98197C(imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 3, rotation); + } + if (edges & EDGE_SW && track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, rotation)) { + imageId = SPR_FENCE_ROPE_SW | colourFlags; + sub_98197C(imageId, 0, 0, 1, 32, 7, height, 30, 0, height + 2, rotation); + } - switch (relativeTrackSequence) { - case 1: paint_ferris_wheel_structure(rideIndex, direction, 48, height); break; - case 2: paint_ferris_wheel_structure(rideIndex, direction, 16, height); break; - case 0: paint_ferris_wheel_structure(rideIndex, direction, -16, height); break; - case 3: paint_ferris_wheel_structure(rideIndex, direction, -48, height); break; - } + switch (relativeTrackSequence) { + case 1: paint_ferris_wheel_structure(rideIndex, direction, 48, height); break; + case 2: paint_ferris_wheel_structure(rideIndex, direction, 16, height); break; + case 0: paint_ferris_wheel_structure(rideIndex, direction, -16, height); break; + case 3: paint_ferris_wheel_structure(rideIndex, direction, -48, height); break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 176, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 176, 0x20); } /** @@ -183,9 +183,9 @@ static void paint_ferris_wheel(uint8 rideIndex, uint8 trackSequence, uint8 direc */ TRACK_PAINT_FUNCTION get_track_paint_function_ferris_wheel(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_1_X_4_C) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_1_X_4_C) { + return NULL; + } - return paint_ferris_wheel; + return paint_ferris_wheel; } diff --git a/src/openrct2/ride/gentle/flying_saucers.c b/src/openrct2/ride/gentle/flying_saucers.c index 7a956ae791..b7c3a130c2 100644 --- a/src/openrct2/ride/gentle/flying_saucers.c +++ b/src/openrct2/ride/gentle/flying_saucers.c @@ -22,18 +22,18 @@ enum { - SPR_FLYING_SAUCERS_FLOOR = 21920, - SPR_FLYING_SAUCERS_FENCE_NE = 21921, - SPR_FLYING_SAUCERS_FENCE_SE = 21922, - SPR_FLYING_SAUCERS_FENCE_SW = 21923, - SPR_FLYING_SAUCERS_FENCE_NW = 21924, + SPR_FLYING_SAUCERS_FLOOR = 21920, + SPR_FLYING_SAUCERS_FENCE_NE = 21921, + SPR_FLYING_SAUCERS_FENCE_SE = 21922, + SPR_FLYING_SAUCERS_FENCE_SW = 21923, + SPR_FLYING_SAUCERS_FENCE_NW = 21924, }; static const uint32 flying_saucers_fence_sprites[] = { - SPR_FLYING_SAUCERS_FENCE_NE, - SPR_FLYING_SAUCERS_FENCE_SE, - SPR_FLYING_SAUCERS_FENCE_SW, - SPR_FLYING_SAUCERS_FENCE_NW, + SPR_FLYING_SAUCERS_FENCE_NE, + SPR_FLYING_SAUCERS_FENCE_SE, + SPR_FLYING_SAUCERS_FENCE_SW, + SPR_FLYING_SAUCERS_FENCE_NW, }; /** @@ -41,21 +41,21 @@ static const uint32 flying_saucers_fence_sprites[] = { */ static void paint_flying_saucers(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint8 relativeTrackSequence = track_map_4x4[direction][trackSequence]; + uint8 relativeTrackSequence = track_map_4x4[direction][trackSequence]; - sint32 edges = edges_4x4[relativeTrackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_4x4[relativeTrackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL); - uint32 imageId = SPR_FLYING_SAUCERS_FLOOR | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 30, 30, 1, height, 1, 1, height, get_current_rotation()); + uint32 imageId = SPR_FLYING_SAUCERS_FLOOR | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 30, 30, 1, height, 1, 1, height, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, flying_saucers_fence_sprites, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, flying_saucers_fence_sprites, get_current_rotation()); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** @@ -63,9 +63,9 @@ static void paint_flying_saucers(uint8 rideIndex, uint8 trackSequence, uint8 dir */ TRACK_PAINT_FUNCTION get_track_paint_function_flying_saucers(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_4_X_4) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_4_X_4) { + return NULL; + } - return paint_flying_saucers; + return paint_flying_saucers; } diff --git a/src/openrct2/ride/gentle/ghost_train.c b/src/openrct2/ride/gentle/ghost_train.c index c06a2c9dd3..c6bc08c08a 100644 --- a/src/openrct2/ride/gentle/ghost_train.c +++ b/src/openrct2/ride/gentle/ghost_train.c @@ -25,486 +25,486 @@ enum { - SPR_GHOST_TRAIN_TRACK_FLAT_SW_NE = 28821, - SPR_GHOST_TRAIN_TRACK_FLAT_NW_SE = 28822, - SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_SW_NE = 28823, - SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_NW_SE = 28824, - SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_NE_SW = 28825, - SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_SE_NW = 28826, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_SW_NE = 28827, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_NW_SE = 28828, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_NE_SW = 28829, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_SE_NW = 28830, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_SW_NE = 28831, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_NW_SE = 28832, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_NE_SW = 28833, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_SE_NW = 28834, - SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_SW_NE = 28835, - SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_NW_SE = 28836, - SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_NE_SW = 28837, - SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_SE_NW = 28838, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_SW_NE = 28839, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_NW_SE = 28840, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_NE_SW = 28841, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_SE_NW = 28842, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_SW_NE = 28843, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_NW_SE = 28844, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_NE_SW = 28845, - SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_SE_NW = 28846, - SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_SW_NW = 28847, - SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_NW_NE = 28848, - SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_NE_SE = 28849, - SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_SE_SW = 28850, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 28851, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 28852, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 28853, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 28854, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 28855, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 28856, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 28857, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 28858, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 28859, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 28860, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 28861, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 28862, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_TRACK_SW_NE = 28863, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_TRACK_NW_SE = 28864, + SPR_GHOST_TRAIN_TRACK_FLAT_SW_NE = 28821, + SPR_GHOST_TRAIN_TRACK_FLAT_NW_SE = 28822, + SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_SW_NE = 28823, + SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_NW_SE = 28824, + SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_NE_SW = 28825, + SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_SE_NW = 28826, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_SW_NE = 28827, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_NW_SE = 28828, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_NE_SW = 28829, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_SE_NW = 28830, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_SW_NE = 28831, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_NW_SE = 28832, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_NE_SW = 28833, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_SE_NW = 28834, + SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_SW_NE = 28835, + SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_NW_SE = 28836, + SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_NE_SW = 28837, + SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_SE_NW = 28838, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_SW_NE = 28839, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_NW_SE = 28840, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_NE_SW = 28841, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_SE_NW = 28842, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_SW_NE = 28843, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_NW_SE = 28844, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_NE_SW = 28845, + SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_SE_NW = 28846, + SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_SW_NW = 28847, + SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_NW_NE = 28848, + SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_NE_SE = 28849, + SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_SE_SW = 28850, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 28851, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 28852, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 28853, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 28854, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 28855, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 28856, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 28857, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 28858, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 28859, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 28860, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 28861, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 28862, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_TRACK_SW_NE = 28863, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_TRACK_NW_SE = 28864, - SPR_GHOST_TRAIN_TRACK_BRAKES_SW_NE = 28881, - SPR_GHOST_TRAIN_TRACK_BRAKES_NW_SE = 28882 + SPR_GHOST_TRAIN_TRACK_BRAKES_SW_NE = 28881, + SPR_GHOST_TRAIN_TRACK_BRAKES_NW_SE = 28882 }; static const uint32 ghost_train_track_pieces_flat[4] = { - SPR_GHOST_TRAIN_TRACK_FLAT_SW_NE, - SPR_GHOST_TRAIN_TRACK_FLAT_NW_SE, - SPR_GHOST_TRAIN_TRACK_FLAT_SW_NE, - SPR_GHOST_TRAIN_TRACK_FLAT_NW_SE, + SPR_GHOST_TRAIN_TRACK_FLAT_SW_NE, + SPR_GHOST_TRAIN_TRACK_FLAT_NW_SE, + SPR_GHOST_TRAIN_TRACK_FLAT_SW_NE, + SPR_GHOST_TRAIN_TRACK_FLAT_NW_SE, }; static const uint32 ghost_train_track_pieces_flat_to_25_deg_up[4][2] = { - {SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_SW_NE, SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_SW_NE}, - {SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_NW_SE, SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_NW_SE}, - {SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_NE_SW, SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_NE_SW}, - {SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_SE_NW, SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_SE_NW}, + {SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_SW_NE, SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_SW_NE}, + {SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_NW_SE, SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_NW_SE}, + {SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_NE_SW, SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_NE_SW}, + {SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_SE_NW, SPR_GHOST_TRAIN_TRACK_FLAT_TO_25_DEG_UP_FRONT_SE_NW}, }; static const uint32 ghost_train_track_pieces_25_deg_up_to_flat[4][2] = { - {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_SW_NE, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_SW_NE}, - {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_NW_SE, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_NW_SE}, - {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_NE_SW, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_NE_SW}, - {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_SE_NW, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_SE_NW}, + {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_SW_NE, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_SW_NE}, + {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_NW_SE, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_NW_SE}, + {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_NE_SW, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_NE_SW}, + {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_SE_NW, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_TO_FLAT_FRONT_SE_NW}, }; static const uint32 ghost_train_track_pieces_25_deg_up[4][2] = { - {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_SW_NE, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_SW_NE}, - {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_NW_SE, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_NW_SE}, - {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_NE_SW, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_NE_SW}, - {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_SE_NW, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_SE_NW}, + {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_SW_NE, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_SW_NE}, + {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_NW_SE, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_NW_SE}, + {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_NE_SW, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_NE_SW}, + {SPR_GHOST_TRAIN_TRACK_25_DEG_UP_SE_NW, SPR_GHOST_TRAIN_TRACK_25_DEG_UP_FRONT_SE_NW}, }; static const uint32 ghost_train_track_pieces_quarter_turn_1_tile[4] = { - SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_SW_NW, - SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_NW_NE, - SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_NE_SE, - SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_SE_SW, + SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_SW_NW, + SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_NW_NE, + SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_NE_SE, + SPR_GHOST_TRAIN_QUARTER_TURN_1_TILE_SE_SW, }; static const uint32 ghost_train_track_pieces_quarter_turn_3_tiles[4][3] = { - { - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SW_SE_PART_0, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SW_SE_PART_1, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SW_SE_PART_2 - }, - { - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NW_SW_PART_0, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NW_SW_PART_1, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NW_SW_PART_2 - }, - { - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NE_NW_PART_0, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NE_NW_PART_1, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NE_NW_PART_2 - }, - { - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SE_NE_PART_0, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SE_NE_PART_1, - SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SE_NE_PART_2 - } + { + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SW_SE_PART_0, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SW_SE_PART_1, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SW_SE_PART_2 + }, + { + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NW_SW_PART_0, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NW_SW_PART_1, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NW_SW_PART_2 + }, + { + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NE_NW_PART_0, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NE_NW_PART_1, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_NE_NW_PART_2 + }, + { + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SE_NE_PART_0, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SE_NE_PART_1, + SPR_GHOST_TRAIN_QUARTER_TURN_3_TILES_SE_NE_PART_2 + } }; static const uint32 ghost_train_track_pieces_spinning_tunnel_track[4] = { - SPR_GHOST_TRAIN_SPINNING_TUNNEL_TRACK_SW_NE, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_TRACK_NW_SE, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_TRACK_SW_NE, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_TRACK_NW_SE, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_TRACK_SW_NE, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_TRACK_NW_SE, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_TRACK_SW_NE, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_TRACK_NW_SE, }; static const uint32 ghost_train_track_pieces_brakes[4] = { - SPR_GHOST_TRAIN_TRACK_BRAKES_SW_NE, - SPR_GHOST_TRAIN_TRACK_BRAKES_NW_SE, - SPR_GHOST_TRAIN_TRACK_BRAKES_SW_NE, - SPR_GHOST_TRAIN_TRACK_BRAKES_NW_SE, + SPR_GHOST_TRAIN_TRACK_BRAKES_SW_NE, + SPR_GHOST_TRAIN_TRACK_BRAKES_NW_SE, + SPR_GHOST_TRAIN_TRACK_BRAKES_SW_NE, + SPR_GHOST_TRAIN_TRACK_BRAKES_NW_SE, }; /** rct2: 0x00770BEC */ static void paint_ghost_train_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = ghost_train_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = ghost_train_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } else { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 || direction == 2) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } else { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00770BFC */ static void paint_ghost_train_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = ghost_train_track_pieces_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); - } + uint32 imageId = ghost_train_track_pieces_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); + } - imageId = ghost_train_track_pieces_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 1, 23, height, 0, 27, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 1, 32, 23, height, 27, 0, height, get_current_rotation()); - } + imageId = ghost_train_track_pieces_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 1, 23, height, 0, 27, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 1, 32, 23, height, 27, 0, height, get_current_rotation()); + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - case 1: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + case 1: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x00770C0C */ static void paint_ghost_train_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = ghost_train_track_pieces_flat_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); - } + uint32 imageId = ghost_train_track_pieces_flat_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); + } - imageId = ghost_train_track_pieces_flat_to_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 1, 15, height, 0, 27, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 1, 32, 15, height, 27, 0, height, get_current_rotation()); - } + imageId = ghost_train_track_pieces_flat_to_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 1, 15, height, 0, 27, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 1, 32, 15, height, 27, 0, height, get_current_rotation()); + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_right(height, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_right(height, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } static void paint_ghost_train_track_25_deg_up_to_flat_shared(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = ghost_train_track_pieces_25_deg_up_to_flat[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); - } + uint32 imageId = ghost_train_track_pieces_25_deg_up_to_flat[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); + } - imageId = ghost_train_track_pieces_25_deg_up_to_flat[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 1, 15, height, 0, 27, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 1, 32, 15, height, 27, 0, height, get_current_rotation()); - } + imageId = ghost_train_track_pieces_25_deg_up_to_flat[direction][1] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 1, 15, height, 0, 27, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 1, 32, 15, height, 27, 0, height, get_current_rotation()); + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x00770C1C */ static void paint_ghost_train_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_ghost_train_track_25_deg_up_to_flat_shared(rideIndex, trackSequence, direction, height, mapElement); + paint_ghost_train_track_25_deg_up_to_flat_shared(rideIndex, trackSequence, direction, height, mapElement); - switch (direction) { - case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_0); break; - case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_12); break; - case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_12); break; - case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_0); break; - } + switch (direction) { + case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_0); break; + case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_12); break; + case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_12); break; + case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_0); break; + } } /** rct2: 0x00770C2C */ static void paint_ghost_train_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_ghost_train_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_ghost_train_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x00770C3C */ static void paint_ghost_train_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_ghost_train_track_25_deg_up_to_flat_shared(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_ghost_train_track_25_deg_up_to_flat_shared(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); - switch ((direction + 2) % 4) { - case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_0); break; - case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_0); break; - case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_0); break; - case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_0); break; - } + switch ((direction + 2) % 4) { + case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_0); break; + case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_0); break; + case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_0); break; + case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_0); break; + } } /** rct2: 0x00770C4C */ static void paint_ghost_train_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_ghost_train_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_ghost_train_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x00770C5C, 0x00770C6C, 0x00770C7C */ static void paint_ghost_train_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - if (direction == 0 || direction == 2) { - imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 32, 28, 3, height - 2, 0, 2, height, get_current_rotation()); - } else if (direction == 1 || direction == 3) { - imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 28, 32, 3, height - 2, 2, 0, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 32, 28, 3, height - 2, 0, 2, height, get_current_rotation()); + } else if (direction == 1 || direction == 3) { + imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 28, 32, 3, height - 2, 2, 0, height, get_current_rotation()); + } - imageId = ghost_train_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98199C(imageId, 0, 0, 32, 20, 3, height, 0, 0, height, get_current_rotation()); - } else { - sub_98199C(imageId, 0, 0, 20, 32, 3, height, 0, 0, height, get_current_rotation()); - } + imageId = ghost_train_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98199C(imageId, 0, 0, 32, 20, 3, height, 0, 0, height, get_current_rotation()); + } else { + sub_98199C(imageId, 0, 0, 20, 32, 3, height, 0, 0, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } else { - paint_util_push_tunnel_right(height, TUNNEL_6); - } + if (direction == 0 || direction == 2) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } else { + paint_util_push_tunnel_right(height, TUNNEL_6); + } - if (direction == 0 || direction == 2) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (direction == 0 || direction == 2) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00770C9C */ static void paint_ghost_train_track_right_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_right_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], ghost_train_track_pieces_quarter_turn_3_tiles, NULL, defaultRightQuarterTurn3TilesBoundLengths, defaultRightQuarterTurn3TilesBoundOffsets, get_current_rotation()); - track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); + track_paint_util_right_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], ghost_train_track_pieces_quarter_turn_3_tiles, NULL, defaultRightQuarterTurn3TilesBoundLengths, defaultRightQuarterTurn3TilesBoundOffsets, get_current_rotation()); + track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); - switch (trackSequence) { - case 0: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; - case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; + case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00770CAC */ static void paint_ghost_train_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - paint_ghost_train_track_right_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + paint_ghost_train_track_right_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x00770CAC */ static void paint_ghost_train_track_left_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_left_quarter_turn_1_tile_paint(3, height, 0, direction, gTrackColours[SCHEME_TRACK], ghost_train_track_pieces_quarter_turn_1_tile, get_current_rotation()); - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, 0, TUNNEL_0, 0, TUNNEL_0); + track_paint_util_left_quarter_turn_1_tile_paint(3, height, 0, direction, gTrackColours[SCHEME_TRACK], ghost_train_track_pieces_quarter_turn_1_tile, get_current_rotation()); + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, 0, TUNNEL_0, 0, TUNNEL_0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00770CBC */ static void paint_ghost_train_track_right_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_ghost_train_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + paint_ghost_train_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } /** rct2: 0x00770CCC */ static void paint_ghost_train_track_spinning_tunnel(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = ghost_train_track_pieces_spinning_tunnel_track[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = ghost_train_track_pieces_spinning_tunnel_track[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 28, 20, 3, height, 2, 6, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 20, 28, 3, height, 6, 2, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 28, 20, 3, height, 2, 6, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 20, 28, 3, height, 6, 2, height, get_current_rotation()); + } - track_paint_util_spinning_tunnel_paint(3, height, direction, get_current_rotation()); + track_paint_util_spinning_tunnel_paint(3, height, direction, get_current_rotation()); - if (direction == 0 || direction == 2) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } else { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 || direction == 2) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } else { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00770CDC */ static void paint_ghost_train_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = ghost_train_track_pieces_brakes[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = ghost_train_track_pieces_brakes[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } else { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 || direction == 2) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } else { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** * rct2: 0x00770924 */ TRACK_PAINT_FUNCTION get_track_paint_function_ghost_train(sint32 trackType, sint32 direction) { - switch(trackType) { - case TRACK_ELEM_FLAT: - return paint_ghost_train_track_flat; + switch(trackType) { + case TRACK_ELEM_FLAT: + return paint_ghost_train_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_ghost_train_station; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_ghost_train_station; - case TRACK_ELEM_25_DEG_UP: - return paint_ghost_train_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return paint_ghost_train_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return paint_ghost_train_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_UP: + return paint_ghost_train_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_ghost_train_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_ghost_train_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return paint_ghost_train_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return paint_ghost_train_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return paint_ghost_train_track_25_deg_down_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return paint_ghost_train_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_ghost_train_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_ghost_train_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return paint_ghost_train_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return paint_ghost_train_track_right_quarter_turn_3_tiles; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return paint_ghost_train_track_left_quarter_turn_3_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return paint_ghost_train_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return paint_ghost_train_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return paint_ghost_train_track_right_quarter_turn_1_tile; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return paint_ghost_train_track_left_quarter_turn_1_tile; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return paint_ghost_train_track_right_quarter_turn_1_tile; - case TRACK_ELEM_BRAKES: - return paint_ghost_train_track_brakes; + case TRACK_ELEM_BRAKES: + return paint_ghost_train_track_brakes; - case TRACK_ELEM_SPINNING_TUNNEL: - return paint_ghost_train_track_spinning_tunnel; - } + case TRACK_ELEM_SPINNING_TUNNEL: + return paint_ghost_train_track_spinning_tunnel; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/gentle/haunted_house.c b/src/openrct2/ride/gentle/haunted_house.c index 2d9b3e816f..c405ccc814 100644 --- a/src/openrct2/ride/gentle/haunted_house.c +++ b/src/openrct2/ride/gentle/haunted_house.c @@ -23,20 +23,20 @@ typedef struct haunted_house_bound_box { - sint16 offset_x; - sint16 offset_y; - sint16 length_x; - sint16 length_y; + sint16 offset_x; + sint16 offset_y; + sint16 length_x; + sint16 length_y; } haunted_house_bound_box; /** rct2: 0x1428180 */ static haunted_house_bound_box haunted_house_data[] = { - {6, 0, 42, 24}, - {0}, - {-16, -16, 32, 32}, - {0}, - {0, 6, 24, 42}, - {0} + {6, 0, 42, 24}, + {0}, + {-16, -16, 32, 32}, + {0}, + {0, 6, 24, 42}, + {0} }; /** @@ -44,41 +44,41 @@ static haunted_house_bound_box haunted_house_data[] = { */ static void paint_haunted_house_structure(uint8 rideIndex, uint8 direction, sint8 xOffset, sint8 yOffset, uint8 part, uint16 height) { - rct_map_element * savedMapElement = g_currently_drawn_item; + rct_map_element * savedMapElement = g_currently_drawn_item; - uint8 frameNum = 0; + uint8 frameNum = 0; - rct_ride * ride = get_ride(rideIndex); - rct_ride_entry * ride_type = get_ride_entry(ride->subtype); + rct_ride * ride = get_ride(rideIndex); + rct_ride_entry * ride_type = get_ride_entry(ride->subtype); - uint32 baseImageId = ride_type->vehicles[0].base_image_id; + uint32 baseImageId = ride_type->vehicles[0].base_image_id; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && ride->vehicles[0] != SPRITE_INDEX_NULL) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - rct_vehicle * vehicle = GET_VEHICLE(ride->vehicles[0]); - g_currently_drawn_item = vehicle; - frameNum = vehicle->vehicle_sprite_type; - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && ride->vehicles[0] != SPRITE_INDEX_NULL) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + rct_vehicle * vehicle = GET_VEHICLE(ride->vehicles[0]); + g_currently_drawn_item = vehicle; + frameNum = vehicle->vehicle_sprite_type; + } - uint32 imageId = (baseImageId + direction) | gTrackColours[SCHEME_MISC]; - haunted_house_bound_box boundBox = haunted_house_data[part]; - sub_98197C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); + uint32 imageId = (baseImageId + direction) | gTrackColours[SCHEME_MISC]; + haunted_house_bound_box boundBox = haunted_house_data[part]; + sub_98197C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); - rct_drawpixelinfo * dpi = unk_140E9A8; - if (dpi->zoom_level == 0 && frameNum != 0) { - switch (direction) { - case 0: imageId = baseImageId + 3 + frameNum; break; - case 1: imageId = baseImageId + 21 + frameNum; break; - case 2: imageId = baseImageId + 39 + frameNum; break; - case 3: imageId = baseImageId + 57 + frameNum; break; - } - imageId = imageId | gTrackColours[SCHEME_MISC]; - sub_98199C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); - } + rct_drawpixelinfo * dpi = unk_140E9A8; + if (dpi->zoom_level == 0 && frameNum != 0) { + switch (direction) { + case 0: imageId = baseImageId + 3 + frameNum; break; + case 1: imageId = baseImageId + 21 + frameNum; break; + case 2: imageId = baseImageId + 39 + frameNum; break; + case 3: imageId = baseImageId + 57 + frameNum; break; + } + imageId = imageId | gTrackColours[SCHEME_MISC]; + sub_98199C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); + } - g_currently_drawn_item = savedMapElement; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = savedMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; } /** @@ -86,47 +86,47 @@ static void paint_haunted_house_structure(uint8 rideIndex, uint8 direction, sint */ static void paint_haunted_house(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_3x3[direction][trackSequence]; + trackSequence = track_map_3x3[direction][trackSequence]; - sint32 edges = edges_3x3[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_3x3[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); + track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, fenceSpritesRope, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, fenceSpritesRope, get_current_rotation()); - switch (trackSequence) { - case 3: paint_haunted_house_structure(rideIndex, direction, 32, -32, 0, height + 3); break; - case 6: paint_haunted_house_structure(rideIndex, direction, -32, 32, 4, height + 3); break; - case 7: paint_haunted_house_structure(rideIndex, direction, -32, -32, 2, height + 3); break; - } + switch (trackSequence) { + case 3: paint_haunted_house_structure(rideIndex, direction, 32, -32, 0, height + 3); break; + case 6: paint_haunted_house_structure(rideIndex, direction, -32, 32, 4, height + 3); break; + case 7: paint_haunted_house_structure(rideIndex, direction, -32, -32, 2, height + 3); break; + } - sint32 cornerSegments = 0; - switch (trackSequence) { - case 1: - // top - cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; - break; - case 3: - // right - cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; - break; - case 6: - // left - cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; - break; - case 7: - // bottom - cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; - break; - } + sint32 cornerSegments = 0; + switch (trackSequence) { + case 1: + // top + cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; + break; + case 3: + // right + cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; + break; + case 6: + // left + cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; + break; + case 7: + // bottom + cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; + break; + } - paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); - paint_util_set_general_support_height(height + 128, 0x20); + paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); + paint_util_set_general_support_height(height + 128, 0x20); } /** @@ -134,9 +134,9 @@ static void paint_haunted_house(uint8 rideIndex, uint8 trackSequence, uint8 dire */ TRACK_PAINT_FUNCTION get_track_paint_function_haunted_house(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_3_X_3) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_3_X_3) { + return NULL; + } - return paint_haunted_house; + return paint_haunted_house; } diff --git a/src/openrct2/ride/gentle/maze.c b/src/openrct2/ride/gentle/maze.c index 620421dc7b..5a5634a22f 100644 --- a/src/openrct2/ride/gentle/maze.c +++ b/src/openrct2/ride/gentle/maze.c @@ -24,163 +24,163 @@ #include "../track.h" enum { - SPR_MAZE_BASE_HEDGE = 21938, - SPR_MAZE_BASE_BRICK = 21951, - SPR_MAZE_BASE_ICE = 21964, - SPR_MAZE_BASE_WOOD = 21977, + SPR_MAZE_BASE_HEDGE = 21938, + SPR_MAZE_BASE_BRICK = 21951, + SPR_MAZE_BASE_ICE = 21964, + SPR_MAZE_BASE_WOOD = 21977, }; enum { - SPR_MAZE_OFFSET_WALL_CENTER = 0, - SPR_MAZE_OFFSET_WALL_INNER_NE_SW, - SPR_MAZE_OFFSET_WALL_INNER_NW_SE, - SPR_MAZE_OFFSET_WALL_TOP_LEFT, - SPR_MAZE_OFFSET_WALL_TOP_RIGHT, - SPR_MAZE_OFFSET_WALL_BOTTOM_RIGHT, - SPR_MAZE_OFFSET_WALL_BOTTOM_LEFT, - SPR_MAZE_OFFSET_COLUMN_CENTER, - SPR_MAZE_OFFSET_COLUMN_TOP_RIGHT, - SPR_MAZE_OFFSET_COLUMN_TOP_LEFT, - SPR_MAZE_OFFSET_COLUMN_BOTTOM_LEFT, - SPR_MAZE_OFFSET_COLUMN_BOTTOM_RIGHT, - SPR_MAZE_OFFSET_COLUMN_CORNER, + SPR_MAZE_OFFSET_WALL_CENTER = 0, + SPR_MAZE_OFFSET_WALL_INNER_NE_SW, + SPR_MAZE_OFFSET_WALL_INNER_NW_SE, + SPR_MAZE_OFFSET_WALL_TOP_LEFT, + SPR_MAZE_OFFSET_WALL_TOP_RIGHT, + SPR_MAZE_OFFSET_WALL_BOTTOM_RIGHT, + SPR_MAZE_OFFSET_WALL_BOTTOM_LEFT, + SPR_MAZE_OFFSET_COLUMN_CENTER, + SPR_MAZE_OFFSET_COLUMN_TOP_RIGHT, + SPR_MAZE_OFFSET_COLUMN_TOP_LEFT, + SPR_MAZE_OFFSET_COLUMN_BOTTOM_LEFT, + SPR_MAZE_OFFSET_COLUMN_BOTTOM_RIGHT, + SPR_MAZE_OFFSET_COLUMN_CORNER, }; /** * rct: 0x004ACF4A */ static void maze_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - uint16 maze_entry = mapElement->properties.track.maze_entry; - maze_entry = rol16(maze_entry, direction * 4); + uint16 maze_entry = mapElement->properties.track.maze_entry; + maze_entry = rol16(maze_entry, direction * 4); - uint32 rotation = get_current_rotation(); - // draw ground - sint32 image_id = SPR_TERRAIN_DIRT | gTrackColours[SCHEME_MISC]; - sub_98196C(image_id, 0, 0, 32, 32, 0, height, rotation); + uint32 rotation = get_current_rotation(); + // draw ground + sint32 image_id = SPR_TERRAIN_DIRT | gTrackColours[SCHEME_MISC]; + sub_98196C(image_id, 0, 0, 32, 32, 0, height, rotation); - wooden_a_supports_paint_setup((rotation & 1) ? 0 : 1, 0, height, gTrackColours[SCHEME_3], NULL); + wooden_a_supports_paint_setup((rotation & 1) ? 0 : 1, 0, height, gTrackColours[SCHEME_3], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~SEGMENT_C4, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~SEGMENT_C4, 0xFFFF, 0); - sint32 base_image_id = 0; - switch (get_ride(rideIndex)->track_colour_supports[0]) { - case 0: base_image_id = SPR_MAZE_BASE_BRICK; break; - case 1: base_image_id = SPR_MAZE_BASE_HEDGE; break; - case 2: base_image_id = SPR_MAZE_BASE_ICE; break; - case 3: base_image_id = SPR_MAZE_BASE_WOOD; break; - } + sint32 base_image_id = 0; + switch (get_ride(rideIndex)->track_colour_supports[0]) { + case 0: base_image_id = SPR_MAZE_BASE_BRICK; break; + case 1: base_image_id = SPR_MAZE_BASE_HEDGE; break; + case 2: base_image_id = SPR_MAZE_BASE_ICE; break; + case 3: base_image_id = SPR_MAZE_BASE_WOOD; break; + } - base_image_id |= gTrackColours[SCHEME_MISC]; + base_image_id |= gTrackColours[SCHEME_MISC]; - image_id = base_image_id + SPR_MAZE_OFFSET_WALL_CENTER; - if (maze_entry & (1 << 3)) - sub_98197C(image_id, 2, 2, 10, 10, 9, height, 3, 3, height + 2, rotation); + image_id = base_image_id + SPR_MAZE_OFFSET_WALL_CENTER; + if (maze_entry & (1 << 3)) + sub_98197C(image_id, 2, 2, 10, 10, 9, height, 3, 3, height + 2, rotation); - if (maze_entry & (1 << 7)) - sub_98197C(image_id, 2, 18, 10, 10, 9, height, 3, 19, height + 2, rotation); + if (maze_entry & (1 << 7)) + sub_98197C(image_id, 2, 18, 10, 10, 9, height, 3, 19, height + 2, rotation); - if (maze_entry & (1 << 11)) - sub_98197C(image_id, 18, 18, 10, 10, 9, height, 19, 19, height + 2, rotation); + if (maze_entry & (1 << 11)) + sub_98197C(image_id, 18, 18, 10, 10, 9, height, 19, 19, height + 2, rotation); - if (maze_entry & (1 << 15)) - sub_98197C(image_id, 18, 2, 10, 10, 9, height, 19, 3, height + 2, rotation); + if (maze_entry & (1 << 15)) + sub_98197C(image_id, 18, 2, 10, 10, 9, height, 19, 3, height + 2, rotation); - image_id = base_image_id + SPR_MAZE_OFFSET_WALL_TOP_LEFT; - if (maze_entry & (1 << 0)) - sub_98197C(image_id, 2, 0, 10, 1, 9, height, 3, 1, height + 2, rotation); + image_id = base_image_id + SPR_MAZE_OFFSET_WALL_TOP_LEFT; + if (maze_entry & (1 << 0)) + sub_98197C(image_id, 2, 0, 10, 1, 9, height, 3, 1, height + 2, rotation); - if (maze_entry & (1 << 13)) - sub_98197C(image_id, 18, 0, 10, 1, 9, height, 19, 1, height + 2, rotation); + if (maze_entry & (1 << 13)) + sub_98197C(image_id, 18, 0, 10, 1, 9, height, 19, 1, height + 2, rotation); - image_id = base_image_id + SPR_MAZE_OFFSET_WALL_BOTTOM_RIGHT; - if (maze_entry & (1 << 5)) - sub_98197C(image_id, 2, 30, 10, 1, 9, height, 3, 30, height + 2, rotation); + image_id = base_image_id + SPR_MAZE_OFFSET_WALL_BOTTOM_RIGHT; + if (maze_entry & (1 << 5)) + sub_98197C(image_id, 2, 30, 10, 1, 9, height, 3, 30, height + 2, rotation); - if (maze_entry & (1 << 8)) - sub_98197C(image_id, 18, 30, 10, 1, 9, height, 19, 30, height + 2, rotation); + if (maze_entry & (1 << 8)) + sub_98197C(image_id, 18, 30, 10, 1, 9, height, 19, 30, height + 2, rotation); - image_id = base_image_id + SPR_MAZE_OFFSET_WALL_TOP_RIGHT; - if (maze_entry & (1 << 1)) - sub_98197C(image_id, 0, 2, 1, 10, 9, height, 1, 3, height + 2, rotation); + image_id = base_image_id + SPR_MAZE_OFFSET_WALL_TOP_RIGHT; + if (maze_entry & (1 << 1)) + sub_98197C(image_id, 0, 2, 1, 10, 9, height, 1, 3, height + 2, rotation); - if (maze_entry & (1 << 4)) - sub_98197C(image_id, 0, 18, 1, 10, 9, height, 1, 19, height + 2, rotation); + if (maze_entry & (1 << 4)) + sub_98197C(image_id, 0, 18, 1, 10, 9, height, 1, 19, height + 2, rotation); - image_id = base_image_id + SPR_MAZE_OFFSET_WALL_BOTTOM_LEFT; - if (maze_entry & (1 << 12)) - sub_98197C(image_id, 30, 2, 1, 10, 9, height, 30, 3, height + 2, rotation); + image_id = base_image_id + SPR_MAZE_OFFSET_WALL_BOTTOM_LEFT; + if (maze_entry & (1 << 12)) + sub_98197C(image_id, 30, 2, 1, 10, 9, height, 30, 3, height + 2, rotation); - if (maze_entry & (1 << 9)) - sub_98197C(image_id, 30, 18, 1, 10, 9, height, 30, 19, height + 2, rotation); + if (maze_entry & (1 << 9)) + sub_98197C(image_id, 30, 18, 1, 10, 9, height, 30, 19, height + 2, rotation); - image_id = base_image_id + SPR_MAZE_OFFSET_WALL_INNER_NE_SW; - if (maze_entry & (1 << 2)) - sub_98197C(image_id, 2, 14, 10, 4, 9, height, 3, 14, height + 2, rotation); + image_id = base_image_id + SPR_MAZE_OFFSET_WALL_INNER_NE_SW; + if (maze_entry & (1 << 2)) + sub_98197C(image_id, 2, 14, 10, 4, 9, height, 3, 14, height + 2, rotation); - if (maze_entry & (1 << 10)) - sub_98197C(image_id, 18, 14, 10, 4, 9, height, 19, 14, height + 2, rotation); + if (maze_entry & (1 << 10)) + sub_98197C(image_id, 18, 14, 10, 4, 9, height, 19, 14, height + 2, rotation); - image_id = base_image_id + SPR_MAZE_OFFSET_WALL_INNER_NW_SE; - if (maze_entry & (1 << 14)) - sub_98197C(image_id, 14, 2, 4, 10, 9, height, 14, 3, height + 2, rotation); + image_id = base_image_id + SPR_MAZE_OFFSET_WALL_INNER_NW_SE; + if (maze_entry & (1 << 14)) + sub_98197C(image_id, 14, 2, 4, 10, 9, height, 14, 3, height + 2, rotation); - if (maze_entry & (1 << 6)) - sub_98197C(image_id, 14, 18, 4, 10, 9, height, 14, 19, height + 2, rotation); + if (maze_entry & (1 << 6)) + sub_98197C(image_id, 14, 18, 4, 10, 9, height, 14, 19, height + 2, rotation); - image_id = base_image_id + SPR_MAZE_OFFSET_COLUMN_CORNER; - if (maze_entry & (1 << 0 | 1 << 1)) - sub_98197C(image_id, 0, 0, 1, 1, 9, height, 1, 1, height + 2, rotation); + image_id = base_image_id + SPR_MAZE_OFFSET_COLUMN_CORNER; + if (maze_entry & (1 << 0 | 1 << 1)) + sub_98197C(image_id, 0, 0, 1, 1, 9, height, 1, 1, height + 2, rotation); - if (maze_entry & (1 << 4 | 1 << 5)) - sub_98197C(image_id, 0, 30, 1, 1, 9, height, 1, 30, height + 2, rotation); + if (maze_entry & (1 << 4 | 1 << 5)) + sub_98197C(image_id, 0, 30, 1, 1, 9, height, 1, 30, height + 2, rotation); - if (maze_entry & (1 << 8 | 1 << 9)) - sub_98197C(image_id, 30, 30, 1, 1, 9, height, 30, 30, height + 2, rotation); + if (maze_entry & (1 << 8 | 1 << 9)) + sub_98197C(image_id, 30, 30, 1, 1, 9, height, 30, 30, height + 2, rotation); - if (maze_entry & (1 << 12 | 1 << 13)) - sub_98197C(image_id, 30, 0, 1, 1, 9, height, 30, 1, height + 2, rotation); + if (maze_entry & (1 << 12 | 1 << 13)) + sub_98197C(image_id, 30, 0, 1, 1, 9, height, 30, 1, height + 2, rotation); - if (maze_entry & (1 << 0 | 1 << 13 | 1 << 14)) - sub_98197C(base_image_id + SPR_MAZE_OFFSET_COLUMN_TOP_LEFT, 14, 0, 2, 1, 9, height, 15, 1, height + 2, rotation); + if (maze_entry & (1 << 0 | 1 << 13 | 1 << 14)) + sub_98197C(base_image_id + SPR_MAZE_OFFSET_COLUMN_TOP_LEFT, 14, 0, 2, 1, 9, height, 15, 1, height + 2, rotation); - if (maze_entry & (1 << 5 | 1 << 6 | 1 << 8)) - sub_98197C(base_image_id + SPR_MAZE_OFFSET_COLUMN_BOTTOM_RIGHT, 14, 30, 2, 1, 9, height, 15, 30, height + 2, rotation); + if (maze_entry & (1 << 5 | 1 << 6 | 1 << 8)) + sub_98197C(base_image_id + SPR_MAZE_OFFSET_COLUMN_BOTTOM_RIGHT, 14, 30, 2, 1, 9, height, 15, 30, height + 2, rotation); - if (maze_entry & (1 << 1 | 1 << 2 | 1 << 4)) - sub_98197C(base_image_id + SPR_MAZE_OFFSET_COLUMN_TOP_RIGHT, 0, 14, 1, 2, 9, height, 1, 15, height + 2, rotation); + if (maze_entry & (1 << 1 | 1 << 2 | 1 << 4)) + sub_98197C(base_image_id + SPR_MAZE_OFFSET_COLUMN_TOP_RIGHT, 0, 14, 1, 2, 9, height, 1, 15, height + 2, rotation); - if (maze_entry & (1 << 9 | 1 << 10 | 1 << 12)) - sub_98197C(base_image_id + SPR_MAZE_OFFSET_COLUMN_BOTTOM_LEFT, 30, 14, 1, 2, 9, height, 30, 15, height + 2, rotation); + if (maze_entry & (1 << 9 | 1 << 10 | 1 << 12)) + sub_98197C(base_image_id + SPR_MAZE_OFFSET_COLUMN_BOTTOM_LEFT, 30, 14, 1, 2, 9, height, 30, 15, height + 2, rotation); - if (maze_entry & (1 << 2 | 1 << 6 | 1 << 10 | 1 << 14)) { - sub_98197C(base_image_id + SPR_MAZE_OFFSET_COLUMN_CENTER, 14, 14, 2, 2, 8, height, 15, 15, height + 2, rotation); + if (maze_entry & (1 << 2 | 1 << 6 | 1 << 10 | 1 << 14)) { + sub_98197C(base_image_id + SPR_MAZE_OFFSET_COLUMN_CENTER, 14, 14, 2, 2, 8, height, 15, 15, height + 2, rotation); - paint_util_set_segment_support_height(SEGMENT_C4, height + 12, 0x20); - } + paint_util_set_segment_support_height(SEGMENT_C4, height + 12, 0x20); + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** * rct2: 0x008A81E8 */ TRACK_PAINT_FUNCTION get_track_paint_function_maze(sint32 trackType, sint32 direction) { - if (trackType != TRACK_ELEM_MAZE) { - return NULL; - } + if (trackType != TRACK_ELEM_MAZE) { + return NULL; + } - return maze_paint_setup; + return maze_paint_setup; } diff --git a/src/openrct2/ride/gentle/merry_go_round.c b/src/openrct2/ride/gentle/merry_go_round.c index 73732816e6..e7f78c5de0 100644 --- a/src/openrct2/ride/gentle/merry_go_round.c +++ b/src/openrct2/ride/gentle/merry_go_round.c @@ -22,12 +22,12 @@ /** rct2: 0x0142805C */ static const uint32 merry_go_round_rider_offsets[] = { - 0, 32, 64, 96, 16, 48, 80, 112 + 0, 32, 64, 96, 16, 48, 80, 112 }; /** rct2: 0x0142807C */ static const uint16 merry_go_round_breakdown_vibration[] = { - 0, 1, 2, 3, 4, 3, 2, 1, 0, 0 + 0, 1, 2, 3, 4, 3, 2, 1, 0, 0 }; /** @@ -35,69 +35,69 @@ static const uint16 merry_go_round_breakdown_vibration[] = { */ static void paint_merry_go_round_structure(uint8 rideIndex, uint8 direction, sint8 xOffset, sint8 yOffset, uint16 height) { - rct_map_element * savedMapElement = g_currently_drawn_item; - height += 7; + rct_map_element * savedMapElement = g_currently_drawn_item; + height += 7; - rct_ride * ride = get_ride(rideIndex); - rct_ride_entry * ride_type = get_ride_entry(ride->subtype); - rct_vehicle * vehicle = NULL; + rct_ride * ride = get_ride(rideIndex); + rct_ride_entry * ride_type = get_ride_entry(ride->subtype); + rct_vehicle * vehicle = NULL; - uint32 baseImageId = ride_type->vehicles[0].base_image_id; + uint32 baseImageId = ride_type->vehicles[0].base_image_id; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && ride->vehicles[0] != SPRITE_INDEX_NULL) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - vehicle = GET_VEHICLE(ride->vehicles[0]); - g_currently_drawn_item = vehicle; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && ride->vehicles[0] != SPRITE_INDEX_NULL) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + vehicle = GET_VEHICLE(ride->vehicles[0]); + g_currently_drawn_item = vehicle; - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN) - && ride->breakdown_reason_pending == BREAKDOWN_CONTROL_FAILURE - && ride->breakdown_sound_modifier >= 128) { - height += merry_go_round_breakdown_vibration[(vehicle->current_time >> 1) & 7]; - } - } + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN) + && ride->breakdown_reason_pending == BREAKDOWN_CONTROL_FAILURE + && ride->breakdown_sound_modifier >= 128) { + height += merry_go_round_breakdown_vibration[(vehicle->current_time >> 1) & 7]; + } + } - uint32 rotationOffset = 0; - if (vehicle != NULL) { - uint32 rotation = ((vehicle->sprite_direction >> 3) + get_current_rotation()) << 5; - rotationOffset = (vehicle->vehicle_sprite_type + rotation) % 128; - } + uint32 rotationOffset = 0; + if (vehicle != NULL) { + uint32 rotation = ((vehicle->sprite_direction >> 3) + get_current_rotation()) << 5; + rotationOffset = (vehicle->vehicle_sprite_type + rotation) % 128; + } - uint32 imageOffset = rotationOffset & 0x1F; + uint32 imageOffset = rotationOffset & 0x1F; - uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; - if (imageColourFlags == 0x20000000) { - imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; - } + uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; + if (imageColourFlags == 0x20000000) { + imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; + } - uint32 imageId = (baseImageId + imageOffset) | imageColourFlags; - sub_98197C(imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height, get_current_rotation()); + uint32 imageId = (baseImageId + imageOffset) | imageColourFlags; + sub_98197C(imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height, get_current_rotation()); - rct_drawpixelinfo * dpi = unk_140E9A8; - if (dpi->zoom_level == 0 - && ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && vehicle != NULL) { + rct_drawpixelinfo * dpi = unk_140E9A8; + if (dpi->zoom_level == 0 + && ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && vehicle != NULL) { - for (sint32 peep = 0; peep <= 14; peep += 2) { - if (vehicle->num_peeps <= peep) { - break; - } + for (sint32 peep = 0; peep <= 14; peep += 2) { + if (vehicle->num_peeps <= peep) { + break; + } - imageOffset = (merry_go_round_rider_offsets[peep / 2] + rotationOffset) % 128; - imageOffset -= 13; + imageOffset = (merry_go_round_rider_offsets[peep / 2] + rotationOffset) % 128; + imageOffset -= 13; - if (imageOffset >= 68) { - continue; - } + if (imageOffset >= 68) { + continue; + } - imageColourFlags = vehicle->peep_tshirt_colours[peep] << 19 | vehicle->peep_tshirt_colours[peep + 1] << 24 | 0x0A0000000; - imageId = (baseImageId + 32 + imageOffset) | imageColourFlags; - sub_98199C(imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height, get_current_rotation()); - } - } + imageColourFlags = vehicle->peep_tshirt_colours[peep] << 19 | vehicle->peep_tshirt_colours[peep + 1] << 24 | 0x0A0000000; + imageId = (baseImageId + 32 + imageOffset) | imageColourFlags; + sub_98199C(imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height, get_current_rotation()); + } + } - g_currently_drawn_item = savedMapElement; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = savedMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; } /** @@ -105,50 +105,50 @@ static void paint_merry_go_round_structure(uint8 rideIndex, uint8 direction, sin */ static void paint_merry_go_round(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_3x3[direction][trackSequence]; + trackSequence = track_map_3x3[direction][trackSequence]; - sint32 edges = edges_3x3[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_3x3[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); + track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, fenceSpritesRope, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, fenceSpritesRope, get_current_rotation()); - switch(trackSequence) { - case 1: paint_merry_go_round_structure(rideIndex, direction, 32, 32, height); break; - case 3: paint_merry_go_round_structure(rideIndex, direction, 32, -32, height); break; - case 5: paint_merry_go_round_structure(rideIndex, direction, 0, -32, height); break; - case 6: paint_merry_go_round_structure(rideIndex, direction, -32, 32, height); break; - case 7: paint_merry_go_round_structure(rideIndex, direction, -32, -32, height); break; - case 8: paint_merry_go_round_structure(rideIndex, direction, -32, 0, height); break; - } + switch(trackSequence) { + case 1: paint_merry_go_round_structure(rideIndex, direction, 32, 32, height); break; + case 3: paint_merry_go_round_structure(rideIndex, direction, 32, -32, height); break; + case 5: paint_merry_go_round_structure(rideIndex, direction, 0, -32, height); break; + case 6: paint_merry_go_round_structure(rideIndex, direction, -32, 32, height); break; + case 7: paint_merry_go_round_structure(rideIndex, direction, -32, -32, height); break; + case 8: paint_merry_go_round_structure(rideIndex, direction, -32, 0, height); break; + } - sint32 cornerSegments = 0; - switch (trackSequence) { - case 1: - // top - cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; - break; - case 3: - // right - cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; - break; - case 6: - // left - cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; - break; - case 7: - // bottom - cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; - break; - } + sint32 cornerSegments = 0; + switch (trackSequence) { + case 1: + // top + cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; + break; + case 3: + // right + cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; + break; + case 6: + // left + cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; + break; + case 7: + // bottom + cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; + break; + } - paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); + paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); } /** @@ -156,9 +156,9 @@ static void paint_merry_go_round(uint8 rideIndex, uint8 trackSequence, uint8 dir */ TRACK_PAINT_FUNCTION get_track_paint_function_merry_go_round(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_3_X_3) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_3_X_3) { + return NULL; + } - return paint_merry_go_round; + return paint_merry_go_round; } diff --git a/src/openrct2/ride/gentle/mini_golf.c b/src/openrct2/ride/gentle/mini_golf.c index b20346cdc1..3d45dc6171 100644 --- a/src/openrct2/ride/gentle/mini_golf.c +++ b/src/openrct2/ride/gentle/mini_golf.c @@ -25,351 +25,351 @@ #include "../vehicle_paint.h" enum { - SPR_MINI_GOLF_FLAT_SW_NE = 14404, - SPR_MINI_GOLF_FLAT_NW_SE = 14405, - SPR_MINI_GOLF_FLAT_FENCE_BACK_SW_NE = 14406, - SPR_MINI_GOLF_FLAT_FENCE_BACK_NW_SE = 14407, - SPR_MINI_GOLF_FLAT_FENCE_FRONT_SW_NE = 14408, - SPR_MINI_GOLF_FLAT_FENCE_FRONT_NW_SE = 14409, - SPR_MINI_GOLF_STATION_FLOOR = 14410, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_SW_NW = 14411, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_NW_NE = 14412, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_NE_SE = 14413, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_SE_SW = 14414, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SW_NW = 14415, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NW_NE = 14416, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NE_SE = 14417, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SE_SW = 14418, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_SW_NW = 14419, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_NW_NE = 14420, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_NE_SE = 14421, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_SE_SW = 14422, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_SW_NW = 14423, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_NE_SE = 14424, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_SW_NE = 14425, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_NW_SE = 14426, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_NE_SW = 14427, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_SE_NW = 14428, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_SW_NE = 14429, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_NW_SE = 14430, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_NE_SW = 14431, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_SE_NW = 14432, - SPR_MINI_GOLF_25_DEG_UP_SW_NE = 14433, - SPR_MINI_GOLF_25_DEG_UP_NW_SE = 14434, - SPR_MINI_GOLF_25_DEG_UP_NE_SW = 14435, - SPR_MINI_GOLF_25_DEG_UP_SE_NW = 14436, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_SW_NE = 14437, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_NW_SE = 14438, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_NE_SW = 14439, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_SE_NW = 14440, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_SW_NE = 14441, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_NW_SE = 14442, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_NE_SW = 14443, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_SE_NW = 14444, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_SW_NE = 14445, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_NW_SE = 14446, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_NE_SW = 14447, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_SE_NW = 14448, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_SW_NE = 14449, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_NW_SE = 14450, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_NE_SW = 14451, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_SE_NW = 14452, - SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_SW_NE = 14453, - SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_NW_SE = 14454, - SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_NE_SW = 14455, - SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_SE_NW = 14456, - SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_SW_NE = 14457, - SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_NW_SE = 14458, - SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_NE_SW = 14459, - SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_SE_NW = 14460, + SPR_MINI_GOLF_FLAT_SW_NE = 14404, + SPR_MINI_GOLF_FLAT_NW_SE = 14405, + SPR_MINI_GOLF_FLAT_FENCE_BACK_SW_NE = 14406, + SPR_MINI_GOLF_FLAT_FENCE_BACK_NW_SE = 14407, + SPR_MINI_GOLF_FLAT_FENCE_FRONT_SW_NE = 14408, + SPR_MINI_GOLF_FLAT_FENCE_FRONT_NW_SE = 14409, + SPR_MINI_GOLF_STATION_FLOOR = 14410, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_SW_NW = 14411, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_NW_NE = 14412, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_NE_SE = 14413, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_SE_SW = 14414, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SW_NW = 14415, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NW_NE = 14416, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NE_SE = 14417, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SE_SW = 14418, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_SW_NW = 14419, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_NW_NE = 14420, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_NE_SE = 14421, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_SE_SW = 14422, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_SW_NW = 14423, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_NE_SE = 14424, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_SW_NE = 14425, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_NW_SE = 14426, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_NE_SW = 14427, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_SE_NW = 14428, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_SW_NE = 14429, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_NW_SE = 14430, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_NE_SW = 14431, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_SE_NW = 14432, + SPR_MINI_GOLF_25_DEG_UP_SW_NE = 14433, + SPR_MINI_GOLF_25_DEG_UP_NW_SE = 14434, + SPR_MINI_GOLF_25_DEG_UP_NE_SW = 14435, + SPR_MINI_GOLF_25_DEG_UP_SE_NW = 14436, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_SW_NE = 14437, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_NW_SE = 14438, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_NE_SW = 14439, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_SE_NW = 14440, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_SW_NE = 14441, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_NW_SE = 14442, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_NE_SW = 14443, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_SE_NW = 14444, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_SW_NE = 14445, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_NW_SE = 14446, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_NE_SW = 14447, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_SE_NW = 14448, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_SW_NE = 14449, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_NW_SE = 14450, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_NE_SW = 14451, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_SE_NW = 14452, + SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_SW_NE = 14453, + SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_NW_SE = 14454, + SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_NE_SW = 14455, + SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_SE_NW = 14456, + SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_SW_NE = 14457, + SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_NW_SE = 14458, + SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_NE_SW = 14459, + SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_SE_NW = 14460, - SPR_MINI_GOLF_HOLE_A_BASE_PART_1_SW_NE = 14461, - SPR_MINI_GOLF_HOLE_A_BASE_PART_2_SW_NE = 14462, - SPR_MINI_GOLF_HOLE_A_BASE_PART_1_NW_SE = 14463, - SPR_MINI_GOLF_HOLE_A_BASE_PART_2_NW_SE = 14464, - SPR_MINI_GOLF_HOLE_A_BASE_PART_1_NE_SW = 14465, - SPR_MINI_GOLF_HOLE_A_BASE_PART_2_NE_SW = 14466, - SPR_MINI_GOLF_HOLE_A_BASE_PART_1_SE_NW = 14467, - SPR_MINI_GOLF_HOLE_A_BASE_PART_2_SE_NW = 14468, - SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_SW_NE = 14469, - SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_SW_NE = 14470, - SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_NW_SE = 14471, - SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_NW_SE = 14472, - SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_NE_SW = 14473, - SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_NE_SW = 14474, - SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_SE_NW = 14475, - SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_SE_NW = 14476, + SPR_MINI_GOLF_HOLE_A_BASE_PART_1_SW_NE = 14461, + SPR_MINI_GOLF_HOLE_A_BASE_PART_2_SW_NE = 14462, + SPR_MINI_GOLF_HOLE_A_BASE_PART_1_NW_SE = 14463, + SPR_MINI_GOLF_HOLE_A_BASE_PART_2_NW_SE = 14464, + SPR_MINI_GOLF_HOLE_A_BASE_PART_1_NE_SW = 14465, + SPR_MINI_GOLF_HOLE_A_BASE_PART_2_NE_SW = 14466, + SPR_MINI_GOLF_HOLE_A_BASE_PART_1_SE_NW = 14467, + SPR_MINI_GOLF_HOLE_A_BASE_PART_2_SE_NW = 14468, + SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_SW_NE = 14469, + SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_SW_NE = 14470, + SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_NW_SE = 14471, + SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_NW_SE = 14472, + SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_NE_SW = 14473, + SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_NE_SW = 14474, + SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_SE_NW = 14475, + SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_SE_NW = 14476, - SPR_MINI_GOLF_HOLE_B_BASE_PART_1_SW_NE = 14477, - SPR_MINI_GOLF_HOLE_B_BASE_PART_2_SW_NE = 14478, - SPR_MINI_GOLF_HOLE_B_BASE_PART_1_NW_SE = 14479, - SPR_MINI_GOLF_HOLE_B_BASE_PART_2_NW_SE = 14480, - SPR_MINI_GOLF_HOLE_B_BASE_PART_1_NE_SW = 14481, - SPR_MINI_GOLF_HOLE_B_BASE_PART_2_NE_SW = 14482, - SPR_MINI_GOLF_HOLE_B_BASE_PART_1_SE_NW = 14483, - SPR_MINI_GOLF_HOLE_B_BASE_PART_2_SE_NW = 14484, - SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_SW_NE = 14485, - SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_SW_NE = 14486, - SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_NW_SE = 14487, - SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_NW_SE = 14488, - SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_NE_SW = 14489, - SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_NE_SW = 14490, - SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_SE_NW = 14491, - SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_SE_NW = 14492, + SPR_MINI_GOLF_HOLE_B_BASE_PART_1_SW_NE = 14477, + SPR_MINI_GOLF_HOLE_B_BASE_PART_2_SW_NE = 14478, + SPR_MINI_GOLF_HOLE_B_BASE_PART_1_NW_SE = 14479, + SPR_MINI_GOLF_HOLE_B_BASE_PART_2_NW_SE = 14480, + SPR_MINI_GOLF_HOLE_B_BASE_PART_1_NE_SW = 14481, + SPR_MINI_GOLF_HOLE_B_BASE_PART_2_NE_SW = 14482, + SPR_MINI_GOLF_HOLE_B_BASE_PART_1_SE_NW = 14483, + SPR_MINI_GOLF_HOLE_B_BASE_PART_2_SE_NW = 14484, + SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_SW_NE = 14485, + SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_SW_NE = 14486, + SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_NW_SE = 14487, + SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_NW_SE = 14488, + SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_NE_SW = 14489, + SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_NE_SW = 14490, + SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_SE_NW = 14491, + SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_SE_NW = 14492, - SPR_MINI_GOLF_HOLE_C_BASE_PART_1_SW_NE = 14493, - SPR_MINI_GOLF_HOLE_C_BASE_PART_2_SW_NE = 14494, - SPR_MINI_GOLF_HOLE_C_BASE_PART_1_NW_SE = 14495, - SPR_MINI_GOLF_HOLE_C_BASE_PART_2_NW_SE = 14496, - SPR_MINI_GOLF_HOLE_C_BASE_PART_1_NE_SW = 14497, - SPR_MINI_GOLF_HOLE_C_BASE_PART_2_NE_SW = 14498, - SPR_MINI_GOLF_HOLE_C_BASE_PART_1_SE_NW = 14499, - SPR_MINI_GOLF_HOLE_C_BASE_PART_2_SE_NW = 14500, - SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_SW_NE = 14501, - SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_SW_NE = 14502, - SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_NW_SE = 14503, - SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_NW_SE = 14504, - SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_NE_SW = 14505, - SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_NE_SW = 14506, - SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_SE_NW = 14507, - SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_SE_NW = 14508, + SPR_MINI_GOLF_HOLE_C_BASE_PART_1_SW_NE = 14493, + SPR_MINI_GOLF_HOLE_C_BASE_PART_2_SW_NE = 14494, + SPR_MINI_GOLF_HOLE_C_BASE_PART_1_NW_SE = 14495, + SPR_MINI_GOLF_HOLE_C_BASE_PART_2_NW_SE = 14496, + SPR_MINI_GOLF_HOLE_C_BASE_PART_1_NE_SW = 14497, + SPR_MINI_GOLF_HOLE_C_BASE_PART_2_NE_SW = 14498, + SPR_MINI_GOLF_HOLE_C_BASE_PART_1_SE_NW = 14499, + SPR_MINI_GOLF_HOLE_C_BASE_PART_2_SE_NW = 14500, + SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_SW_NE = 14501, + SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_SW_NE = 14502, + SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_NW_SE = 14503, + SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_NW_SE = 14504, + SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_NE_SW = 14505, + SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_NE_SW = 14506, + SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_SE_NW = 14507, + SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_SE_NW = 14508, - SPR_MINI_GOLF_HOLE_D_BASE_PART_1_SW_SE = 14509, - SPR_MINI_GOLF_HOLE_D_BASE_PART_2_SW_SE = 14510, - SPR_MINI_GOLF_HOLE_D_BASE_PART_3_SW_SE = 14511, - SPR_MINI_GOLF_HOLE_D_BASE_PART_1_NW_SW = 14512, - SPR_MINI_GOLF_HOLE_D_BASE_PART_2_NW_SW = 14513, - SPR_MINI_GOLF_HOLE_D_BASE_PART_3_NW_SW = 14514, - SPR_MINI_GOLF_HOLE_D_BASE_PART_1_NE_NW = 14515, - SPR_MINI_GOLF_HOLE_D_BASE_PART_2_NE_NW = 14516, - SPR_MINI_GOLF_HOLE_D_BASE_PART_3_NE_NW = 14517, - SPR_MINI_GOLF_HOLE_D_BASE_PART_1_SE_NE = 14518, - SPR_MINI_GOLF_HOLE_D_BASE_PART_2_SE_NE = 14519, - SPR_MINI_GOLF_HOLE_D_BASE_PART_3_SE_NE = 14520, - SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_SW_SE = 14521, - SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_SW_SE = 14522, - SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_SW_SE = 14523, - SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_NW_SW = 14524, - SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_NW_SW = 14525, - SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_NW_SW = 14526, - SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_NE_NW = 14527, - SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_NE_NW = 14528, - SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_NE_NW = 14529, - SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_SE_NE = 14530, - SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_SE_NE = 14531, - SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_SE_NE = 14532, + SPR_MINI_GOLF_HOLE_D_BASE_PART_1_SW_SE = 14509, + SPR_MINI_GOLF_HOLE_D_BASE_PART_2_SW_SE = 14510, + SPR_MINI_GOLF_HOLE_D_BASE_PART_3_SW_SE = 14511, + SPR_MINI_GOLF_HOLE_D_BASE_PART_1_NW_SW = 14512, + SPR_MINI_GOLF_HOLE_D_BASE_PART_2_NW_SW = 14513, + SPR_MINI_GOLF_HOLE_D_BASE_PART_3_NW_SW = 14514, + SPR_MINI_GOLF_HOLE_D_BASE_PART_1_NE_NW = 14515, + SPR_MINI_GOLF_HOLE_D_BASE_PART_2_NE_NW = 14516, + SPR_MINI_GOLF_HOLE_D_BASE_PART_3_NE_NW = 14517, + SPR_MINI_GOLF_HOLE_D_BASE_PART_1_SE_NE = 14518, + SPR_MINI_GOLF_HOLE_D_BASE_PART_2_SE_NE = 14519, + SPR_MINI_GOLF_HOLE_D_BASE_PART_3_SE_NE = 14520, + SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_SW_SE = 14521, + SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_SW_SE = 14522, + SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_SW_SE = 14523, + SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_NW_SW = 14524, + SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_NW_SW = 14525, + SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_NW_SW = 14526, + SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_NE_NW = 14527, + SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_NE_NW = 14528, + SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_NE_NW = 14529, + SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_SE_NE = 14530, + SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_SE_NE = 14531, + SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_SE_NE = 14532, - SPR_MINI_GOLF_HOLE_E_BASE_PART_1_SE_SW = 14533, - SPR_MINI_GOLF_HOLE_E_BASE_PART_2_SE_SW = 14534, - SPR_MINI_GOLF_HOLE_E_BASE_PART_3_SE_SW = 14535, - SPR_MINI_GOLF_HOLE_E_BASE_PART_1_NE_SE = 14536, - SPR_MINI_GOLF_HOLE_E_BASE_PART_2_NE_SE = 14537, - SPR_MINI_GOLF_HOLE_E_BASE_PART_3_NE_SE = 14538, - SPR_MINI_GOLF_HOLE_E_BASE_PART_1_NW_NE = 14539, - SPR_MINI_GOLF_HOLE_E_BASE_PART_2_NW_NE = 14540, - SPR_MINI_GOLF_HOLE_E_BASE_PART_3_NW_NE = 14541, - SPR_MINI_GOLF_HOLE_E_BASE_PART_1_SW_NW = 14542, - SPR_MINI_GOLF_HOLE_E_BASE_PART_2_SW_NW = 14543, - SPR_MINI_GOLF_HOLE_E_BASE_PART_3_SW_NW = 14544, - SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_SE_SW = 14545, - SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_SE_SW = 14546, - SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_SE_SW = 14547, - SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_NE_SE = 14548, - SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_NE_SE = 14549, - SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_NE_SE = 14550, - SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_NW_NE = 14551, - SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_NW_NE = 14552, - SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_NW_NE = 14553, - SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_SW_NW = 14554, - SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_SW_NW = 14555, - SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_SW_NW = 14556, + SPR_MINI_GOLF_HOLE_E_BASE_PART_1_SE_SW = 14533, + SPR_MINI_GOLF_HOLE_E_BASE_PART_2_SE_SW = 14534, + SPR_MINI_GOLF_HOLE_E_BASE_PART_3_SE_SW = 14535, + SPR_MINI_GOLF_HOLE_E_BASE_PART_1_NE_SE = 14536, + SPR_MINI_GOLF_HOLE_E_BASE_PART_2_NE_SE = 14537, + SPR_MINI_GOLF_HOLE_E_BASE_PART_3_NE_SE = 14538, + SPR_MINI_GOLF_HOLE_E_BASE_PART_1_NW_NE = 14539, + SPR_MINI_GOLF_HOLE_E_BASE_PART_2_NW_NE = 14540, + SPR_MINI_GOLF_HOLE_E_BASE_PART_3_NW_NE = 14541, + SPR_MINI_GOLF_HOLE_E_BASE_PART_1_SW_NW = 14542, + SPR_MINI_GOLF_HOLE_E_BASE_PART_2_SW_NW = 14543, + SPR_MINI_GOLF_HOLE_E_BASE_PART_3_SW_NW = 14544, + SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_SE_SW = 14545, + SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_SE_SW = 14546, + SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_SE_SW = 14547, + SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_NE_SE = 14548, + SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_NE_SE = 14549, + SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_NE_SE = 14550, + SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_NW_NE = 14551, + SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_NW_NE = 14552, + SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_NW_NE = 14553, + SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_SW_NW = 14554, + SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_SW_NW = 14555, + SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_SW_NW = 14556, }; static const uint32 mini_golf_track_sprites_25_deg_up[][3] = { - { - SPR_MINI_GOLF_25_DEG_UP_SW_NE, - SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_SW_NE, - SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_SW_NE, - }, - { - SPR_MINI_GOLF_25_DEG_UP_NW_SE, - SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_NW_SE, - SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_NW_SE, - }, - { - SPR_MINI_GOLF_25_DEG_UP_NE_SW, - SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_NE_SW, - SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_NE_SW, - }, - { - SPR_MINI_GOLF_25_DEG_UP_SE_NW, - SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_SE_NW, - SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_SE_NW, - } + { + SPR_MINI_GOLF_25_DEG_UP_SW_NE, + SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_SW_NE, + SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_SW_NE, + }, + { + SPR_MINI_GOLF_25_DEG_UP_NW_SE, + SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_NW_SE, + SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_NW_SE, + }, + { + SPR_MINI_GOLF_25_DEG_UP_NE_SW, + SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_NE_SW, + SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_NE_SW, + }, + { + SPR_MINI_GOLF_25_DEG_UP_SE_NW, + SPR_MINI_GOLF_25_DEG_UP_FENCE_BACK_SE_NW, + SPR_MINI_GOLF_25_DEG_UP_FENCE_FRONT_SE_NW, + } }; static const uint32 mini_golf_track_sprites_flat_to_25_deg_up[][3] = { - { - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_SW_NE, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_SW_NE, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_SW_NE, - }, - { - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_NW_SE, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_NW_SE, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_NW_SE, - }, - { - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_NE_SW, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_NE_SW, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_NE_SW, - }, - { - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_SE_NW, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_SE_NW, - SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_SE_NW, - } + { + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_SW_NE, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_SW_NE, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_SW_NE, + }, + { + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_NW_SE, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_NW_SE, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_NW_SE, + }, + { + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_NE_SW, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_NE_SW, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_NE_SW, + }, + { + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_SE_NW, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_BACK_SE_NW, + SPR_MINI_GOLF_FLAT_TO_25_DEG_UP_FENCE_FRONT_SE_NW, + } }; static const uint32 mini_golf_track_sprites_25_deg_up_to_flat[][3] = { - { - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_SW_NE, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_SW_NE, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_SW_NE, - }, - { - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_NW_SE, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_NW_SE, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_NW_SE, - }, - { - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_NE_SW, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_NE_SW, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_NE_SW, - }, - { - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_SE_NW, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_SE_NW, - SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_SE_NW, - } + { + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_SW_NE, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_SW_NE, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_SW_NE, + }, + { + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_NW_SE, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_NW_SE, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_NW_SE, + }, + { + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_NE_SW, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_NE_SW, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_NE_SW, + }, + { + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_SE_NW, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_BACK_SE_NW, + SPR_MINI_GOLF_25_DEG_UP_TO_FLAT_FENCE_FRONT_SE_NW, + } }; static const uint32 mini_golf_track_sprites_quarter_turn_1_tile[] = { - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_SW_NW, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_NW_NE, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_NE_SE, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_SE_SW, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_SW_NW, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_NW_NE, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_NE_SE, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_SE_SW, }; static const uint32 mini_golf_track_sprites_quarter_turn_1_tile_fence_front[] = { - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_SW_NW, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_NW_NE, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_NE_SE, - SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_SE_SW, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_SW_NW, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_NW_NE, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_NE_SE, + SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_FRONT_SE_SW, }; static const uint32 mini_golf_track_sprites_hole_a[4][2][2] = { - { - {SPR_MINI_GOLF_HOLE_A_BASE_PART_1_SW_NE, SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_SW_NE}, - {SPR_MINI_GOLF_HOLE_A_BASE_PART_2_SW_NE, SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_SW_NE} - }, - { - {SPR_MINI_GOLF_HOLE_A_BASE_PART_1_NW_SE, SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_NW_SE}, - {SPR_MINI_GOLF_HOLE_A_BASE_PART_2_NW_SE, SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_NW_SE} - }, - { - {SPR_MINI_GOLF_HOLE_A_BASE_PART_1_NE_SW, SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_NE_SW}, - {SPR_MINI_GOLF_HOLE_A_BASE_PART_2_NE_SW, SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_NE_SW} - }, - { - {SPR_MINI_GOLF_HOLE_A_BASE_PART_1_SE_NW, SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_SE_NW}, - {SPR_MINI_GOLF_HOLE_A_BASE_PART_2_SE_NW, SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_SE_NW} - }, + { + {SPR_MINI_GOLF_HOLE_A_BASE_PART_1_SW_NE, SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_SW_NE}, + {SPR_MINI_GOLF_HOLE_A_BASE_PART_2_SW_NE, SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_SW_NE} + }, + { + {SPR_MINI_GOLF_HOLE_A_BASE_PART_1_NW_SE, SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_NW_SE}, + {SPR_MINI_GOLF_HOLE_A_BASE_PART_2_NW_SE, SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_NW_SE} + }, + { + {SPR_MINI_GOLF_HOLE_A_BASE_PART_1_NE_SW, SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_NE_SW}, + {SPR_MINI_GOLF_HOLE_A_BASE_PART_2_NE_SW, SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_NE_SW} + }, + { + {SPR_MINI_GOLF_HOLE_A_BASE_PART_1_SE_NW, SPR_MINI_GOLF_HOLE_A_TRIM_PART_1_SE_NW}, + {SPR_MINI_GOLF_HOLE_A_BASE_PART_2_SE_NW, SPR_MINI_GOLF_HOLE_A_TRIM_PART_2_SE_NW} + }, }; static const uint32 mini_golf_track_sprites_hole_b[4][2][2] = { - { - {SPR_MINI_GOLF_HOLE_B_BASE_PART_1_SW_NE, SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_SW_NE}, - {SPR_MINI_GOLF_HOLE_B_BASE_PART_2_SW_NE, SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_SW_NE} - }, - { - {SPR_MINI_GOLF_HOLE_B_BASE_PART_1_NW_SE, SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_NW_SE}, - {SPR_MINI_GOLF_HOLE_B_BASE_PART_2_NW_SE, SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_NW_SE} - }, - { - {SPR_MINI_GOLF_HOLE_B_BASE_PART_1_NE_SW, SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_NE_SW}, - {SPR_MINI_GOLF_HOLE_B_BASE_PART_2_NE_SW, SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_NE_SW} - }, - { - {SPR_MINI_GOLF_HOLE_B_BASE_PART_1_SE_NW, SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_SE_NW}, - {SPR_MINI_GOLF_HOLE_B_BASE_PART_2_SE_NW, SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_SE_NW} - }, + { + {SPR_MINI_GOLF_HOLE_B_BASE_PART_1_SW_NE, SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_SW_NE}, + {SPR_MINI_GOLF_HOLE_B_BASE_PART_2_SW_NE, SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_SW_NE} + }, + { + {SPR_MINI_GOLF_HOLE_B_BASE_PART_1_NW_SE, SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_NW_SE}, + {SPR_MINI_GOLF_HOLE_B_BASE_PART_2_NW_SE, SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_NW_SE} + }, + { + {SPR_MINI_GOLF_HOLE_B_BASE_PART_1_NE_SW, SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_NE_SW}, + {SPR_MINI_GOLF_HOLE_B_BASE_PART_2_NE_SW, SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_NE_SW} + }, + { + {SPR_MINI_GOLF_HOLE_B_BASE_PART_1_SE_NW, SPR_MINI_GOLF_HOLE_B_TRIM_PART_1_SE_NW}, + {SPR_MINI_GOLF_HOLE_B_BASE_PART_2_SE_NW, SPR_MINI_GOLF_HOLE_B_TRIM_PART_2_SE_NW} + }, }; static const uint32 mini_golf_track_sprites_hole_c[][2][2] = { - { - {SPR_MINI_GOLF_HOLE_C_BASE_PART_1_SW_NE, SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_SW_NE}, - {SPR_MINI_GOLF_HOLE_C_BASE_PART_2_SW_NE, SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_SW_NE} - }, - { - {SPR_MINI_GOLF_HOLE_C_BASE_PART_1_NW_SE, SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_NW_SE}, - {SPR_MINI_GOLF_HOLE_C_BASE_PART_2_NW_SE, SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_NW_SE} - }, - { - {SPR_MINI_GOLF_HOLE_C_BASE_PART_1_NE_SW, SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_NE_SW}, - {SPR_MINI_GOLF_HOLE_C_BASE_PART_2_NE_SW, SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_NE_SW} - }, - { - {SPR_MINI_GOLF_HOLE_C_BASE_PART_1_SE_NW, SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_SE_NW}, - {SPR_MINI_GOLF_HOLE_C_BASE_PART_2_SE_NW, SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_SE_NW} - }, + { + {SPR_MINI_GOLF_HOLE_C_BASE_PART_1_SW_NE, SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_SW_NE}, + {SPR_MINI_GOLF_HOLE_C_BASE_PART_2_SW_NE, SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_SW_NE} + }, + { + {SPR_MINI_GOLF_HOLE_C_BASE_PART_1_NW_SE, SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_NW_SE}, + {SPR_MINI_GOLF_HOLE_C_BASE_PART_2_NW_SE, SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_NW_SE} + }, + { + {SPR_MINI_GOLF_HOLE_C_BASE_PART_1_NE_SW, SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_NE_SW}, + {SPR_MINI_GOLF_HOLE_C_BASE_PART_2_NE_SW, SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_NE_SW} + }, + { + {SPR_MINI_GOLF_HOLE_C_BASE_PART_1_SE_NW, SPR_MINI_GOLF_HOLE_C_TRIM_PART_1_SE_NW}, + {SPR_MINI_GOLF_HOLE_C_BASE_PART_2_SE_NW, SPR_MINI_GOLF_HOLE_C_TRIM_PART_2_SE_NW} + }, }; static const uint32 mini_golf_track_sprites_hole_d[][3][2] = { - { - {SPR_MINI_GOLF_HOLE_D_BASE_PART_1_SW_SE, SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_SW_SE}, - {SPR_MINI_GOLF_HOLE_D_BASE_PART_2_SW_SE, SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_SW_SE}, - {SPR_MINI_GOLF_HOLE_D_BASE_PART_3_SW_SE, SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_SW_SE} - }, - { - {SPR_MINI_GOLF_HOLE_D_BASE_PART_1_NW_SW, SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_NW_SW}, - {SPR_MINI_GOLF_HOLE_D_BASE_PART_2_NW_SW, SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_NW_SW}, - {SPR_MINI_GOLF_HOLE_D_BASE_PART_3_NW_SW, SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_NW_SW} - }, - { - {SPR_MINI_GOLF_HOLE_D_BASE_PART_1_NE_NW, SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_NE_NW}, - {SPR_MINI_GOLF_HOLE_D_BASE_PART_2_NE_NW, SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_NE_NW}, - {SPR_MINI_GOLF_HOLE_D_BASE_PART_3_NE_NW, SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_NE_NW} - }, - { - {SPR_MINI_GOLF_HOLE_D_BASE_PART_1_SE_NE, SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_SE_NE}, - {SPR_MINI_GOLF_HOLE_D_BASE_PART_2_SE_NE, SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_SE_NE}, - {SPR_MINI_GOLF_HOLE_D_BASE_PART_3_SE_NE, SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_SE_NE} - }, + { + {SPR_MINI_GOLF_HOLE_D_BASE_PART_1_SW_SE, SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_SW_SE}, + {SPR_MINI_GOLF_HOLE_D_BASE_PART_2_SW_SE, SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_SW_SE}, + {SPR_MINI_GOLF_HOLE_D_BASE_PART_3_SW_SE, SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_SW_SE} + }, + { + {SPR_MINI_GOLF_HOLE_D_BASE_PART_1_NW_SW, SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_NW_SW}, + {SPR_MINI_GOLF_HOLE_D_BASE_PART_2_NW_SW, SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_NW_SW}, + {SPR_MINI_GOLF_HOLE_D_BASE_PART_3_NW_SW, SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_NW_SW} + }, + { + {SPR_MINI_GOLF_HOLE_D_BASE_PART_1_NE_NW, SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_NE_NW}, + {SPR_MINI_GOLF_HOLE_D_BASE_PART_2_NE_NW, SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_NE_NW}, + {SPR_MINI_GOLF_HOLE_D_BASE_PART_3_NE_NW, SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_NE_NW} + }, + { + {SPR_MINI_GOLF_HOLE_D_BASE_PART_1_SE_NE, SPR_MINI_GOLF_HOLE_D_TRIM_PART_1_SE_NE}, + {SPR_MINI_GOLF_HOLE_D_BASE_PART_2_SE_NE, SPR_MINI_GOLF_HOLE_D_TRIM_PART_2_SE_NE}, + {SPR_MINI_GOLF_HOLE_D_BASE_PART_3_SE_NE, SPR_MINI_GOLF_HOLE_D_TRIM_PART_3_SE_NE} + }, }; static const uint32 mini_golf_track_sprites_hole_e[][3][2] = { - { - {SPR_MINI_GOLF_HOLE_E_BASE_PART_1_SW_NW, SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_SW_NW}, - {SPR_MINI_GOLF_HOLE_E_BASE_PART_2_SW_NW, SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_SW_NW}, - {SPR_MINI_GOLF_HOLE_E_BASE_PART_3_SW_NW, SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_SW_NW} - }, - { - {SPR_MINI_GOLF_HOLE_E_BASE_PART_1_NW_NE, SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_NW_NE}, - {SPR_MINI_GOLF_HOLE_E_BASE_PART_2_NW_NE, SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_NW_NE}, - {SPR_MINI_GOLF_HOLE_E_BASE_PART_3_NW_NE, SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_NW_NE} - }, - { - {SPR_MINI_GOLF_HOLE_E_BASE_PART_1_NE_SE, SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_NE_SE}, - {SPR_MINI_GOLF_HOLE_E_BASE_PART_2_NE_SE, SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_NE_SE}, - {SPR_MINI_GOLF_HOLE_E_BASE_PART_3_NE_SE, SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_NE_SE} - }, - { - {SPR_MINI_GOLF_HOLE_E_BASE_PART_1_SE_SW, SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_SE_SW}, - {SPR_MINI_GOLF_HOLE_E_BASE_PART_2_SE_SW, SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_SE_SW}, - {SPR_MINI_GOLF_HOLE_E_BASE_PART_3_SE_SW, SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_SE_SW} - }, + { + {SPR_MINI_GOLF_HOLE_E_BASE_PART_1_SW_NW, SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_SW_NW}, + {SPR_MINI_GOLF_HOLE_E_BASE_PART_2_SW_NW, SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_SW_NW}, + {SPR_MINI_GOLF_HOLE_E_BASE_PART_3_SW_NW, SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_SW_NW} + }, + { + {SPR_MINI_GOLF_HOLE_E_BASE_PART_1_NW_NE, SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_NW_NE}, + {SPR_MINI_GOLF_HOLE_E_BASE_PART_2_NW_NE, SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_NW_NE}, + {SPR_MINI_GOLF_HOLE_E_BASE_PART_3_NW_NE, SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_NW_NE} + }, + { + {SPR_MINI_GOLF_HOLE_E_BASE_PART_1_NE_SE, SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_NE_SE}, + {SPR_MINI_GOLF_HOLE_E_BASE_PART_2_NE_SE, SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_NE_SE}, + {SPR_MINI_GOLF_HOLE_E_BASE_PART_3_NE_SE, SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_NE_SE} + }, + { + {SPR_MINI_GOLF_HOLE_E_BASE_PART_1_SE_SW, SPR_MINI_GOLF_HOLE_E_TRIM_PART_1_SE_SW}, + {SPR_MINI_GOLF_HOLE_E_BASE_PART_2_SE_SW, SPR_MINI_GOLF_HOLE_E_TRIM_PART_2_SE_SW}, + {SPR_MINI_GOLF_HOLE_E_BASE_PART_3_SE_SW, SPR_MINI_GOLF_HOLE_E_TRIM_PART_3_SE_SW} + }, }; /** rct2: 0x00933471 */ @@ -401,622 +401,622 @@ static const uint8 mini_golf_peep_animation_frames_put_left[] = {10, 11, 11, 11, /** rct2: 0x008B8F74 */ static const uint8 * mini_golf_peep_animation_frames[] = { - mini_golf_peep_animation_frames_walk, - mini_golf_peep_animation_frames_place_ball_downwards, - mini_golf_peep_animation_frames_swing_left, - mini_golf_peep_animation_frames_place_ball_upwards, - mini_golf_peep_animation_frames_jump, - mini_golf_peep_animation_frames_pickup_ball, - mini_golf_peep_animation_frames_put_left, - mini_golf_peep_animation_frames_swing, - mini_golf_peep_animation_frames_put, + mini_golf_peep_animation_frames_walk, + mini_golf_peep_animation_frames_place_ball_downwards, + mini_golf_peep_animation_frames_swing_left, + mini_golf_peep_animation_frames_place_ball_upwards, + mini_golf_peep_animation_frames_jump, + mini_golf_peep_animation_frames_pickup_ball, + mini_golf_peep_animation_frames_put_left, + mini_golf_peep_animation_frames_swing, + mini_golf_peep_animation_frames_put, }; const uint8 mini_golf_peep_animation_lengths[] = { - countof(mini_golf_peep_animation_frames_walk), - countof(mini_golf_peep_animation_frames_place_ball_downwards), - countof(mini_golf_peep_animation_frames_swing_left), - countof(mini_golf_peep_animation_frames_place_ball_upwards), - countof(mini_golf_peep_animation_frames_jump), - countof(mini_golf_peep_animation_frames_pickup_ball), - countof(mini_golf_peep_animation_frames_put_left), - countof(mini_golf_peep_animation_frames_swing), - countof(mini_golf_peep_animation_frames_put), + countof(mini_golf_peep_animation_frames_walk), + countof(mini_golf_peep_animation_frames_place_ball_downwards), + countof(mini_golf_peep_animation_frames_swing_left), + countof(mini_golf_peep_animation_frames_place_ball_upwards), + countof(mini_golf_peep_animation_frames_jump), + countof(mini_golf_peep_animation_frames_pickup_ball), + countof(mini_golf_peep_animation_frames_put_left), + countof(mini_golf_peep_animation_frames_swing), + countof(mini_golf_peep_animation_frames_put), }; static paint_struct * mini_golf_paint_util_7c( - uint8 direction, - uint32 image_id, - sint8 x_offset, sint8 y_offset, - sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, - sint16 z_offset, - sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, - uint32 rotation + uint8 direction, + uint32 image_id, + sint8 x_offset, sint8 y_offset, + sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, + sint16 z_offset, + sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, + uint32 rotation ) { - if (direction & 1) { - return sub_98197C(image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, bound_box_offset_y, bound_box_offset_x, bound_box_offset_z, rotation); - } + if (direction & 1) { + return sub_98197C(image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, bound_box_offset_y, bound_box_offset_x, bound_box_offset_z, rotation); + } - return sub_98197C(image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, rotation); + return sub_98197C(image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, rotation); } static bool mini_golf_paint_util_should_draw_fence(rct_map_element * mapElement) { - if (!gDidPassSurface) { - // Should be above ground (have passed surface rendering) - return false; - } + if (!gDidPassSurface) { + // Should be above ground (have passed surface rendering) + return false; + } - rct_map_element * surfaceElement = gSurfaceElement; - if (surfaceElement->base_height != mapElement->base_height) { - return true; - } + rct_map_element * surfaceElement = gSurfaceElement; + if (surfaceElement->base_height != mapElement->base_height) { + return true; + } - if (surfaceElement->properties.surface.slope & 0x1F) { - return true; - } + if (surfaceElement->properties.surface.slope & 0x1F) { + return true; + } - return false; + return false; } /** rct2: 0x0087F10C */ static void paint_mini_golf_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - if (direction & 1) { - imageId = SPR_MINI_GOLF_FLAT_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_10); - } else { - imageId = SPR_MINI_GOLF_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_10); - } + if (direction & 1) { + imageId = SPR_MINI_GOLF_FLAT_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation()); + paint_util_push_tunnel_right(height, TUNNEL_10); + } else { + imageId = SPR_MINI_GOLF_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_left(height, TUNNEL_10); + } - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - if (mini_golf_paint_util_should_draw_fence(mapElement)) { - if (direction & 1) { - imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 1, 32, 7, height, 10, 0, height + 2, get_current_rotation()); + if (mini_golf_paint_util_should_draw_fence(mapElement)) { + if (direction & 1) { + imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 1, 32, 7, height, 10, 0, height + 2, get_current_rotation()); - imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 1, 32, 7, height, 22, 0, height + 2, get_current_rotation()); - } else { - imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 32, 1, 7, height, 0, 10, height + 2, get_current_rotation()); + imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 1, 32, 7, height, 22, 0, height + 2, get_current_rotation()); + } else { + imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 32, 1, 7, height, 0, 10, height + 2, get_current_rotation()); - imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 32, 1, 7, height, 0, 22, height + 2, get_current_rotation()); - } - } + imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 32, 1, 7, height, 0, 22, height + 2, get_current_rotation()); + } + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0087F11C */ static void paint_mini_golf_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - imageId = mini_golf_track_sprites_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; - mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + imageId = mini_golf_track_sprites_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; + mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - imageId = mini_golf_track_sprites_25_deg_up[direction][1] | gTrackColours[SCHEME_MISC]; - mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 15, height, 0, 10, height + 2, get_current_rotation()); + imageId = mini_golf_track_sprites_25_deg_up[direction][1] | gTrackColours[SCHEME_MISC]; + mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 15, height, 0, 10, height + 2, get_current_rotation()); - imageId = mini_golf_track_sprites_25_deg_up[direction][2] | gTrackColours[SCHEME_MISC]; - mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 15, height, 0, 22, height + 2, get_current_rotation()); + imageId = mini_golf_track_sprites_25_deg_up[direction][2] | gTrackColours[SCHEME_MISC]; + mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 15, height, 0, 22, height + 2, get_current_rotation()); - switch (direction) { - case 0: - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - case 1: - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + case 1: + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + } - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x0087F12C */ static void paint_mini_golf_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - imageId = mini_golf_track_sprites_flat_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; - mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + imageId = mini_golf_track_sprites_flat_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; + mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - imageId = mini_golf_track_sprites_flat_to_25_deg_up[direction][1] | gTrackColours[SCHEME_MISC]; - mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 11, height, 0, 10, height + 2, get_current_rotation()); + imageId = mini_golf_track_sprites_flat_to_25_deg_up[direction][1] | gTrackColours[SCHEME_MISC]; + mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 11, height, 0, 10, height + 2, get_current_rotation()); - imageId = mini_golf_track_sprites_flat_to_25_deg_up[direction][2] | gTrackColours[SCHEME_MISC]; - mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 11, height, 0, 22, height + 2, get_current_rotation()); + imageId = mini_golf_track_sprites_flat_to_25_deg_up[direction][2] | gTrackColours[SCHEME_MISC]; + mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 11, height, 0, 22, height + 2, get_current_rotation()); - switch (direction) { - case 0: - paint_util_push_tunnel_left(height, TUNNEL_10); - break; - case 1: - paint_util_push_tunnel_right(height, TUNNEL_2); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_2); - break; - case 3: - paint_util_push_tunnel_right(height, TUNNEL_10); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height, TUNNEL_10); + break; + case 1: + paint_util_push_tunnel_right(height, TUNNEL_2); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_2); + break; + case 3: + paint_util_push_tunnel_right(height, TUNNEL_10); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x0087F13C */ static void paint_mini_golf_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - imageId = mini_golf_track_sprites_25_deg_up_to_flat[direction][0] | gTrackColours[SCHEME_TRACK]; - mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); + imageId = mini_golf_track_sprites_25_deg_up_to_flat[direction][0] | gTrackColours[SCHEME_TRACK]; + mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - imageId = mini_golf_track_sprites_25_deg_up_to_flat[direction][1] | gTrackColours[SCHEME_MISC]; - mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 11, height, 0, 10, height + 2, get_current_rotation()); + imageId = mini_golf_track_sprites_25_deg_up_to_flat[direction][1] | gTrackColours[SCHEME_MISC]; + mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 11, height, 0, 10, height + 2, get_current_rotation()); - imageId = mini_golf_track_sprites_25_deg_up_to_flat[direction][2] | gTrackColours[SCHEME_MISC]; - mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 11, height, 0, 22, height + 2, get_current_rotation()); + imageId = mini_golf_track_sprites_25_deg_up_to_flat[direction][2] | gTrackColours[SCHEME_MISC]; + mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 11, height, 0, 22, height + 2, get_current_rotation()); - switch (direction) { - case 0: - paint_util_push_tunnel_left(height - 8, TUNNEL_0); - break; - case 1: - paint_util_push_tunnel_right(height + 8, TUNNEL_10); - break; - case 2: - paint_util_push_tunnel_left(height + 8, TUNNEL_10); - break; - case 3: - paint_util_push_tunnel_right(height - 8, TUNNEL_0); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height - 8, TUNNEL_0); + break; + case 1: + paint_util_push_tunnel_right(height + 8, TUNNEL_10); + break; + case 2: + paint_util_push_tunnel_left(height + 8, TUNNEL_10); + break; + case 3: + paint_util_push_tunnel_right(height - 8, TUNNEL_0); + break; + } - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x0087F14C */ static void paint_mini_golf_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_mini_golf_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_mini_golf_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x0087F15C */ static void paint_mini_golf_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_mini_golf_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_mini_golf_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x0087F16C */ static void paint_mini_golf_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_mini_golf_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_mini_golf_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x0087F17C, 0x0087F18C, 0x0087F19C */ static void paint_mini_golf_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - rct_ride * ride = get_ride(rideIndex); - const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; - uint32 imageId; - bool hasFence; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_ride * ride = get_ride(rideIndex); + const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; + uint32 imageId; + bool hasFence; - imageId = SPR_MINI_GOLF_STATION_FLOOR | gTrackColours[SCHEME_TRACK]; - mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 28, 1, height, 0, 0, height, get_current_rotation()); + imageId = SPR_MINI_GOLF_STATION_FLOOR | gTrackColours[SCHEME_TRACK]; + mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 28, 1, height, 0, 0, height, get_current_rotation()); - if (direction & 1) { - hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); - if (hasFence) { - imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, -10, 0, 1, 32, 7, height, 0, 0, height + 2, get_current_rotation()); - } + if (direction & 1) { + hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); + if (hasFence) { + imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, -10, 0, 1, 32, 7, height, 0, 0, height + 2, get_current_rotation()); + } - bool hasSWFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); - if (hasFence) { - imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 10, 0, 1, 32, 7, height, 31, 0, height + 2, get_current_rotation()); - } + bool hasSWFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); + if (hasFence) { + imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 10, 0, 1, 32, 7, height, 31, 0, height + 2, get_current_rotation()); + } - track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, height); - track_paint_util_draw_station_covers(EDGE_SW, hasSWFence, entranceStyle, direction, height); + track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, height); + track_paint_util_draw_station_covers(EDGE_SW, hasSWFence, entranceStyle, direction, height); - // Was leftwards tunnel in game, seems odd - paint_util_push_tunnel_right(height, TUNNEL_6); - } else { - hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); - if (hasFence) { - imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, -10, 32, 1, 7, height, 0, 0, height + 2, get_current_rotation()); - } + // Was leftwards tunnel in game, seems odd + paint_util_push_tunnel_right(height, TUNNEL_6); + } else { + hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); + if (hasFence) { + imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, -10, 32, 1, 7, height, 0, 0, height + 2, get_current_rotation()); + } - bool hasSEFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); - if (hasFence) { - imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 10, 32, 1, 7, height, 0, 31, height + 2, get_current_rotation()); - } + bool hasSEFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); + if (hasFence) { + imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 10, 32, 1, 7, height, 0, 31, height + 2, get_current_rotation()); + } - track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, height); - track_paint_util_draw_station_covers(EDGE_SE, hasSEFence, entranceStyle, direction, height); + track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, height); + track_paint_util_draw_station_covers(EDGE_SE, hasSEFence, entranceStyle, direction, height); - paint_util_push_tunnel_left(height, TUNNEL_6); - } + paint_util_push_tunnel_left(height, TUNNEL_6); + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0087F1AC */ static void paint_mini_golf_track_left_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - track_paint_util_left_quarter_turn_1_tile_paint(1, height, 0, direction, gTrackColours[SCHEME_TRACK], mini_golf_track_sprites_quarter_turn_1_tile, get_current_rotation()); + track_paint_util_left_quarter_turn_1_tile_paint(1, height, 0, direction, gTrackColours[SCHEME_TRACK], mini_golf_track_sprites_quarter_turn_1_tile, get_current_rotation()); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); - const bool shouldDrawFence = mini_golf_paint_util_should_draw_fence(mapElement); + const bool shouldDrawFence = mini_golf_paint_util_should_draw_fence(mapElement); - switch (direction) { - case 0: - paint_util_push_tunnel_left(height, TUNNEL_10); - if (!shouldDrawFence) break; + switch (direction) { + case 0: + paint_util_push_tunnel_left(height, TUNNEL_10); + if (!shouldDrawFence) break; - imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SW_NW | gTrackColours[SCHEME_MISC]; - sub_98199C(imageId, 0, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation()); + imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SW_NW | gTrackColours[SCHEME_MISC]; + sub_98199C(imageId, 0, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation()); - break; + break; - case 1: - if (!shouldDrawFence) break; + case 1: + if (!shouldDrawFence) break; - imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NW_NE | gTrackColours[SCHEME_MISC]; - sub_98199C(imageId, 0, 0, 26, 26, 1, height, 0, 0, height, get_current_rotation()); - break; + imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NW_NE | gTrackColours[SCHEME_MISC]; + sub_98199C(imageId, 0, 0, 26, 26, 1, height, 0, 0, height, get_current_rotation()); + break; - case 2: - paint_util_push_tunnel_right(height, TUNNEL_10); - if (!shouldDrawFence) break; + case 2: + paint_util_push_tunnel_right(height, TUNNEL_10); + if (!shouldDrawFence) break; - imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NE_SE | gTrackColours[SCHEME_MISC]; - sub_98199C(imageId, 0, 0, 24, 26, 1, height, 2, 6, height, get_current_rotation()); - break; + imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NE_SE | gTrackColours[SCHEME_MISC]; + sub_98199C(imageId, 0, 0, 24, 26, 1, height, 2, 6, height, get_current_rotation()); + break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_10); - paint_util_push_tunnel_right(height, TUNNEL_10); - if (!shouldDrawFence) break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_10); + paint_util_push_tunnel_right(height, TUNNEL_10); + if (!shouldDrawFence) break; - imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SE_SW | gTrackColours[SCHEME_MISC]; - sub_98199C(imageId, 0, 0, 24, 24, 1, height, 6, 6, height, get_current_rotation()); - break; - } + imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SE_SW | gTrackColours[SCHEME_MISC]; + sub_98199C(imageId, 0, 0, 24, 24, 1, height, 6, 6, height, get_current_rotation()); + break; + } - if (shouldDrawFence) { - // TODO: The back fence uses the same x/y offsets, but uses another paint function. See if this occurs more often. - track_paint_util_left_quarter_turn_1_tile_paint(0, height, 24, direction, gTrackColours[SCHEME_MISC], mini_golf_track_sprites_quarter_turn_1_tile_fence_front, get_current_rotation()); + if (shouldDrawFence) { + // TODO: The back fence uses the same x/y offsets, but uses another paint function. See if this occurs more often. + track_paint_util_left_quarter_turn_1_tile_paint(0, height, 24, direction, gTrackColours[SCHEME_MISC], mini_golf_track_sprites_quarter_turn_1_tile_fence_front, get_current_rotation()); - switch (direction) { - case 0: - imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_SW_NW | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 5, 5, 5, height, 24, 0, height + 2, get_current_rotation()); - break; - case 2: - imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_NE_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 5, 5, 5, height, 0, 24, height + 2, get_current_rotation()); - break; - } - } + switch (direction) { + case 0: + imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_SW_NW | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 5, 5, 5, height, 24, 0, height + 2, get_current_rotation()); + break; + case 2: + imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_NE_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 5, 5, 5, height, 0, 24, height + 2, get_current_rotation()); + break; + } + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0087F1BC */ static void paint_mini_golf_track_right_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_mini_golf_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + paint_mini_golf_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } static void paint_mini_golf_hole_ab(uint8 trackSequence, uint8 direction, sint32 height, const uint32 sprites[4][2][2]) { - uint32 imageId; + uint32 imageId; - bool drewSupports = wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + bool drewSupports = wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); - if ((direction == 0 && trackSequence == 0) || (direction == 2 && trackSequence == 1)) { - paint_util_push_tunnel_left(height, TUNNEL_10); - } else if ((direction == 3 && trackSequence == 0) || (direction == 1 && trackSequence == 1)) { - paint_util_push_tunnel_right(height, TUNNEL_10); - } + if ((direction == 0 && trackSequence == 0) || (direction == 2 && trackSequence == 1)) { + paint_util_push_tunnel_left(height, TUNNEL_10); + } else if ((direction == 3 && trackSequence == 0) || (direction == 1 && trackSequence == 1)) { + paint_util_push_tunnel_right(height, TUNNEL_10); + } - rct_xy16 boundBox = (direction & 1) ? (rct_xy16) {26, 32} : (rct_xy16) {32, 26}; - rct_xy16 boundBoxOffset = (direction & 1) ? (rct_xy16) {3, 0} : (rct_xy16) {0, 3}; + rct_xy16 boundBox = (direction & 1) ? (rct_xy16) {26, 32} : (rct_xy16) {32, 26}; + rct_xy16 boundBoxOffset = (direction & 1) ? (rct_xy16) {3, 0} : (rct_xy16) {0, 3}; - imageId = sprites[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24, get_current_rotation()); + imageId = sprites[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24, get_current_rotation()); - if (drewSupports) { - imageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); + if (drewSupports) { + imageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); - imageId = sprites[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); - } else { - imageId = sprites[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); - } + imageId = sprites[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); + } else { + imageId = sprites[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); + } } /** rct2: 0x0087F1CC */ static void paint_mini_golf_hole_a(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_mini_golf_hole_ab(trackSequence, direction, height, mini_golf_track_sprites_hole_a); + paint_mini_golf_hole_ab(trackSequence, direction, height, mini_golf_track_sprites_hole_a); } /** rct2: 0x0087F1DC */ static void paint_mini_golf_hole_b(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_mini_golf_hole_ab(trackSequence, direction, height, mini_golf_track_sprites_hole_b); + paint_mini_golf_hole_ab(trackSequence, direction, height, mini_golf_track_sprites_hole_b); } /** rct2: 0x0087F1EC */ static void paint_mini_golf_hole_c(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - bool drewSupports = wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + bool drewSupports = wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); - if ((direction == 0 && trackSequence == 0) || (direction == 2 && trackSequence == 1)) { - paint_util_push_tunnel_left(height, TUNNEL_10); - } else if ((direction == 3 && trackSequence == 0) || (direction == 1 && trackSequence == 1)) { - paint_util_push_tunnel_right(height, TUNNEL_10); - } + if ((direction == 0 && trackSequence == 0) || (direction == 2 && trackSequence == 1)) { + paint_util_push_tunnel_left(height, TUNNEL_10); + } else if ((direction == 3 && trackSequence == 0) || (direction == 1 && trackSequence == 1)) { + paint_util_push_tunnel_right(height, TUNNEL_10); + } - rct_xy16 boundBox = (direction & 1) ? (rct_xy16) {26, 32} : (rct_xy16) {32, 26}; - rct_xy16 boundBoxOffset = (direction & 1) ? (rct_xy16) {3, 0} : (rct_xy16) {0, 3}; + rct_xy16 boundBox = (direction & 1) ? (rct_xy16) {26, 32} : (rct_xy16) {32, 26}; + rct_xy16 boundBoxOffset = (direction & 1) ? (rct_xy16) {3, 0} : (rct_xy16) {0, 3}; - imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; + imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; - switch ((direction << 4) | trackSequence) { - case 0x01: - case 0x20: - sub_98197C(imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4, get_current_rotation()); - break; - case 0x10: - case 0x31: - sub_98197C(imageId, 0, 0, 26, 2, 3, height, 3, 30, height + 4, get_current_rotation()); - break; - default: - sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24, get_current_rotation()); - break; - } + switch ((direction << 4) | trackSequence) { + case 0x01: + case 0x20: + sub_98197C(imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4, get_current_rotation()); + break; + case 0x10: + case 0x31: + sub_98197C(imageId, 0, 0, 26, 2, 3, height, 3, 30, height + 4, get_current_rotation()); + break; + default: + sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24, get_current_rotation()); + break; + } - if (drewSupports) { - imageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); + if (drewSupports) { + imageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); - imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); - } else { - imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); - } + imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); + } else { + imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); + } } /** rct2: 0x0087F1FC */ static void paint_mini_golf_hole_d(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - sint32 supportType = (direction & 1); - if (trackSequence == 2) supportType = 1 - supportType; - bool drewSupports = wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + sint32 supportType = (direction & 1); + if (trackSequence == 2) supportType = 1 - supportType; + bool drewSupports = wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); - switch ((direction << 4) | trackSequence) { - case 0x00: - case 0x12: - paint_util_push_tunnel_left(height, TUNNEL_10); - break; + switch ((direction << 4) | trackSequence) { + case 0x00: + case 0x12: + paint_util_push_tunnel_left(height, TUNNEL_10); + break; - case 0x02: - case 0x30: - paint_util_push_tunnel_right(height, TUNNEL_10); - break; - } + case 0x02: + case 0x30: + paint_util_push_tunnel_right(height, TUNNEL_10); + break; + } - rct_xy16 boundBox = (supportType & 1) ? (rct_xy16) {26, 32} : (rct_xy16) {32, 26}; - rct_xy16 boundBoxOffset = (supportType & 1) ? (rct_xy16) {3, 0} : (rct_xy16) {0, 3}; + rct_xy16 boundBox = (supportType & 1) ? (rct_xy16) {26, 32} : (rct_xy16) {32, 26}; + rct_xy16 boundBoxOffset = (supportType & 1) ? (rct_xy16) {3, 0} : (rct_xy16) {0, 3}; - imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; + imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; - switch ((direction << 4) | trackSequence) { - case 0x01: - case 0x32: - sub_98197C(imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4, get_current_rotation()); - break; - case 0x02: - sub_98197C(imageId, 0, 0, 23, 2, 3, height, 3, 30, height + 4, get_current_rotation()); - break; - case 0x10: - sub_98197C(imageId, 0, 0, 2, 24, 3, height, 30, 3, height + 4, get_current_rotation()); - break; - case 0x20: - case 0x31: - sub_98197C(imageId, 0, 0, 26, 2, 3, height, 3, 30, height + 4, get_current_rotation()); - break; - default: - sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24, get_current_rotation()); - break; - } + switch ((direction << 4) | trackSequence) { + case 0x01: + case 0x32: + sub_98197C(imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4, get_current_rotation()); + break; + case 0x02: + sub_98197C(imageId, 0, 0, 23, 2, 3, height, 3, 30, height + 4, get_current_rotation()); + break; + case 0x10: + sub_98197C(imageId, 0, 0, 2, 24, 3, height, 30, 3, height + 4, get_current_rotation()); + break; + case 0x20: + case 0x31: + sub_98197C(imageId, 0, 0, 26, 2, 3, height, 3, 30, height + 4, get_current_rotation()); + break; + default: + sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24, get_current_rotation()); + break; + } - switch ((direction << 4) | trackSequence) { - case 0x02: boundBox = (rct_xy16) {23, 32}; break; - case 0x10: boundBox = (rct_xy16) {24, 32}; break; - } + switch ((direction << 4) | trackSequence) { + case 0x02: boundBox = (rct_xy16) {23, 32}; break; + case 0x10: boundBox = (rct_xy16) {24, 32}; break; + } - if (drewSupports) { - imageId = ((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); + if (drewSupports) { + imageId = ((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); - imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); - } else { - imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); - } + imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); + } else { + imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); + } } /** rct2: 0x0087F1FC */ static void paint_mini_golf_hole_e(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - sint32 supportType = (direction & 1); - if (trackSequence == 2) supportType = 1 - supportType; - bool drewSupports = wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + sint32 supportType = (direction & 1); + if (trackSequence == 2) supportType = 1 - supportType; + bool drewSupports = wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); - switch ((direction << 4) | trackSequence) { - case 0x00: - case 0x12: - paint_util_push_tunnel_left(height, TUNNEL_10); - break; + switch ((direction << 4) | trackSequence) { + case 0x00: + case 0x12: + paint_util_push_tunnel_left(height, TUNNEL_10); + break; - case 0x02: - case 0x30: - paint_util_push_tunnel_right(height, TUNNEL_10); - break; - } + case 0x02: + case 0x30: + paint_util_push_tunnel_right(height, TUNNEL_10); + break; + } - rct_xy16 boundBox = (supportType & 1) ? (rct_xy16) {26, 32} : (rct_xy16) {32, 26}; - rct_xy16 boundBoxOffset = (supportType & 1) ? (rct_xy16) {3, 0} : (rct_xy16) {0, 3}; + rct_xy16 boundBox = (supportType & 1) ? (rct_xy16) {26, 32} : (rct_xy16) {32, 26}; + rct_xy16 boundBoxOffset = (supportType & 1) ? (rct_xy16) {3, 0} : (rct_xy16) {0, 3}; - imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; + imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; - switch ((direction << 4) | trackSequence) { - case 0x01: - sub_98197C(imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4, get_current_rotation()); - break; - case 0x02: - case 0x20: - case 0x31: - sub_98197C(imageId, 0, 0, 26, 2, 3, height, 3, 30, height + 4, get_current_rotation()); - break; - case 0x10: - sub_98197C(imageId, 0, 0, 2, 24, 3, height, 30, 3, height + 4, get_current_rotation()); - break; - case 0x32: - sub_98197C(imageId, 0, 0, 2, 23, 3, height, 30, 3, height + 4, get_current_rotation()); - break; - default: - sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24, get_current_rotation()); - break; - } + switch ((direction << 4) | trackSequence) { + case 0x01: + sub_98197C(imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4, get_current_rotation()); + break; + case 0x02: + case 0x20: + case 0x31: + sub_98197C(imageId, 0, 0, 26, 2, 3, height, 3, 30, height + 4, get_current_rotation()); + break; + case 0x10: + sub_98197C(imageId, 0, 0, 2, 24, 3, height, 30, 3, height + 4, get_current_rotation()); + break; + case 0x32: + sub_98197C(imageId, 0, 0, 2, 23, 3, height, 30, 3, height + 4, get_current_rotation()); + break; + default: + sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24, get_current_rotation()); + break; + } - switch ((direction << 4) | trackSequence) { - case 0x10: boundBox = (rct_xy16) {24, 32}; break; - case 0x32: boundBox = (rct_xy16) {32, 23}; break; - } + switch ((direction << 4) | trackSequence) { + case 0x10: boundBox = (rct_xy16) {24, 32}; break; + case 0x32: boundBox = (rct_xy16) {32, 23}; break; + } - if (drewSupports) { - imageId = ((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); + if (drewSupports) { + imageId = ((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); - imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); - } else { - imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); - } + imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); + } else { + imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height, get_current_rotation()); + } } /** * rct2: 0x0087EDC4 */ TRACK_PAINT_FUNCTION get_track_paint_function_mini_golf(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return paint_mini_golf_track_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_mini_golf_track_flat; - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - case TRACK_ELEM_END_STATION: - return paint_mini_golf_station; + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + case TRACK_ELEM_END_STATION: + return paint_mini_golf_station; - case TRACK_ELEM_25_DEG_UP: - return paint_mini_golf_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return paint_mini_golf_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return paint_mini_golf_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_UP: + return paint_mini_golf_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_mini_golf_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_mini_golf_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return paint_mini_golf_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return paint_mini_golf_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return paint_mini_golf_track_25_deg_down_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return paint_mini_golf_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_mini_golf_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_mini_golf_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return paint_mini_golf_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return paint_mini_golf_track_right_quarter_turn_1_tile; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return paint_mini_golf_track_left_quarter_turn_1_tile; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return paint_mini_golf_track_right_quarter_turn_1_tile; - case TRACK_ELEM_MINI_GOLF_HOLE_A: - return paint_mini_golf_hole_a; - case TRACK_ELEM_MINI_GOLF_HOLE_B: - return paint_mini_golf_hole_b; - case TRACK_ELEM_MINI_GOLF_HOLE_C: - return paint_mini_golf_hole_c; - case TRACK_ELEM_MINI_GOLF_HOLE_D: - return paint_mini_golf_hole_d; - case TRACK_ELEM_MINI_GOLF_HOLE_E: - return paint_mini_golf_hole_e; - } + case TRACK_ELEM_MINI_GOLF_HOLE_A: + return paint_mini_golf_hole_a; + case TRACK_ELEM_MINI_GOLF_HOLE_B: + return paint_mini_golf_hole_b; + case TRACK_ELEM_MINI_GOLF_HOLE_C: + return paint_mini_golf_hole_c; + case TRACK_ELEM_MINI_GOLF_HOLE_D: + return paint_mini_golf_hole_d; + case TRACK_ELEM_MINI_GOLF_HOLE_E: + return paint_mini_golf_hole_e; + } - return NULL; + return NULL; } /** @@ -1024,28 +1024,28 @@ TRACK_PAINT_FUNCTION get_track_paint_function_mini_golf(sint32 trackType, sint32 */ void vehicle_visual_mini_golf_player(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle) { - if (vehicle->num_peeps == 0) { - return; - } + if (vehicle->num_peeps == 0) { + return; + } - rct_drawpixelinfo *edi = unk_140E9A8; - if (edi->zoom_level >= 2) { - return; - } + rct_drawpixelinfo *edi = unk_140E9A8; + if (edi->zoom_level >= 2) { + return; + } - if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_PEEPS) { - return; - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_PEEPS) { + return; + } - rct_ride_entry *rideType = get_ride_entry(get_ride(vehicle->ride)->subtype); - rct_sprite *sprite = get_sprite(vehicle->peep[0]); + rct_ride_entry *rideType = get_ride_entry(get_ride(vehicle->ride)->subtype); + rct_sprite *sprite = get_sprite(vehicle->peep[0]); - uint8 frame = mini_golf_peep_animation_frames[vehicle->mini_golf_current_animation][vehicle->var_C5]; - uint32 ebx = (frame << 2) + (imageDirection >> 3); + uint8 frame = mini_golf_peep_animation_frames[vehicle->mini_golf_current_animation][vehicle->var_C5]; + uint32 ebx = (frame << 2) + (imageDirection >> 3); - uint32 image_id = rideType->vehicles[0].base_image_id + 1 + ebx; - uint32 peep_palette = sprite->peep.tshirt_colour << 19 | sprite->peep.trousers_colour << 24 | 0x0A0000000; - sub_98197C(image_id | peep_palette, 0, 0, 1, 1, 11, z, 0, 0, z + 5, get_current_rotation()); + uint32 image_id = rideType->vehicles[0].base_image_id + 1 + ebx; + uint32 peep_palette = sprite->peep.tshirt_colour << 19 | sprite->peep.trousers_colour << 24 | 0x0A0000000; + sub_98197C(image_id | peep_palette, 0, 0, 1, 1, 11, z, 0, 0, z + 5, get_current_rotation()); } /** @@ -1053,23 +1053,23 @@ void vehicle_visual_mini_golf_player(sint32 x, sint32 imageDirection, sint32 y, */ void vehicle_visual_mini_golf_ball(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle) { - if (vehicle->mini_golf_current_animation != 1) { - return; - } + if (vehicle->mini_golf_current_animation != 1) { + return; + } - rct_drawpixelinfo *edi = unk_140E9A8; - if (edi->zoom_level >= 1) { - return; - } + rct_drawpixelinfo *edi = unk_140E9A8; + if (edi->zoom_level >= 1) { + return; + } - if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_PEEPS) { - return; - } + if (gCurrentViewportFlags & VIEWPORT_FLAG_INVISIBLE_PEEPS) { + return; + } - rct_ride *ride = get_ride(vehicle->ride); - rct_ride_entry *rideType = get_ride_entry(ride->subtype); - //log_info("base_image_id: %d, image_id: %d", rideType->vehicles[0].base_image_id, rideType->vehicles[0].base_image_id & 0x7FFFF); + rct_ride *ride = get_ride(vehicle->ride); + rct_ride_entry *rideType = get_ride_entry(ride->subtype); + //log_info("base_image_id: %d, image_id: %d", rideType->vehicles[0].base_image_id, rideType->vehicles[0].base_image_id & 0x7FFFF); - uint32 image_id = rideType->vehicles[0].base_image_id; - sub_98197C(image_id, 0, 0, 1, 1, 0, z, 0, 0, z + 3, get_current_rotation()); + uint32 image_id = rideType->vehicles[0].base_image_id; + sub_98197C(image_id, 0, 0, 1, 1, 0, z, 0, 0, z + 3, get_current_rotation()); } diff --git a/src/openrct2/ride/gentle/mini_helicopters.c b/src/openrct2/ride/gentle/mini_helicopters.c index c10892b791..0a4fe0b0ff 100644 --- a/src/openrct2/ride/gentle/mini_helicopters.c +++ b/src/openrct2/ride/gentle/mini_helicopters.c @@ -26,210 +26,210 @@ /** rct2: 0x */ static void paint_mini_helicopters_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - if (direction == 0 || direction == 2) { - imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation()); + if (direction == 0 || direction == 2) { + imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation()); - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 32, 20, 1, height, 0, 0, height, get_current_rotation()); + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 32, 20, 1, height, 0, 0, height, get_current_rotation()); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_push_tunnel_left(height, TUNNEL_6); - } else if (direction == 1 || direction == 3) { - imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation()); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_push_tunnel_left(height, TUNNEL_6); + } else if (direction == 1 || direction == 3) { + imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation()); - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation()); + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation()); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_push_tunnel_right(height, TUNNEL_6); - } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_push_tunnel_right(height, TUNNEL_6); + } - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0081F348 */ static void paint_mini_helicopters_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + uint32 imageId; - if (direction & 1) { - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_0); - } else { - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction & 1) { + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); + paint_util_push_tunnel_right(height, TUNNEL_0); + } else { + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_left(height, TUNNEL_0); + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0081F368 */ static void paint_mini_helicopters_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + uint32 imageId; - switch (direction) { - case 0: - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_0); - break; - case 1: - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_2); - break; - case 2: - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_2); - break; - case 3: - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SE_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_0); - break; - } + switch (direction) { + case 0: + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_left(height, TUNNEL_0); + break; + case 1: + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); + paint_util_push_tunnel_right(height, TUNNEL_2); + break; + case 2: + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_left(height, TUNNEL_2); + break; + case 3: + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SE_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); + paint_util_push_tunnel_right(height, TUNNEL_0); + break; + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -4, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -4, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x0081F358 */ static void paint_mini_helicopters_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + uint32 imageId; - switch (direction) { - case 0: - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(height - 8, TUNNEL_1); - break; - case 1: - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height + 8, TUNNEL_2); - break; - case 2: - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(height + 8, TUNNEL_2); - break; - case 3: - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SE_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height - 8, TUNNEL_1); - break; - } + switch (direction) { + case 0: + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_left(height - 8, TUNNEL_1); + break; + case 1: + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); + paint_util_push_tunnel_right(height + 8, TUNNEL_2); + break; + case 2: + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_left(height + 8, TUNNEL_2); + break; + case 3: + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SE_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); + paint_util_push_tunnel_right(height - 8, TUNNEL_1); + break; + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -9, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -9, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x0081F378 */ static void paint_mini_helicopters_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + uint32 imageId; - switch (direction) { - case 0: - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(height - 8, TUNNEL_0); - break; - case 1: - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height + 8, TUNNEL_12); - break; - case 2: - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - paint_util_push_tunnel_left(height + 8, TUNNEL_12); - break; - case 3: - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SE_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); - paint_util_push_tunnel_right(height - 8, TUNNEL_0); - break; - } + switch (direction) { + case 0: + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_left(height - 8, TUNNEL_0); + break; + case 1: + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); + paint_util_push_tunnel_right(height + 8, TUNNEL_12); + break; + case 2: + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + paint_util_push_tunnel_left(height + 8, TUNNEL_12); + break; + case 3: + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SE_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation()); + paint_util_push_tunnel_right(height - 8, TUNNEL_0); + break; + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -7, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -7, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x */ static void paint_mini_helicopters_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_mini_helicopters_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_mini_helicopters_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x0081F388 */ static void paint_mini_helicopters_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_mini_helicopters_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_mini_helicopters_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x0081F3A8 */ static void paint_mini_helicopters_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_mini_helicopters_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_mini_helicopters_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x0081F3E8 */ static void paint_mini_helicopters_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_left_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], trackSpritesSubmarineRideMiniHelicoptersQuarterTurn3Tiles, get_current_rotation()); - track_paint_util_left_quarter_turn_3_tiles_tunnel(height, TUNNEL_0, direction, trackSequence); + track_paint_util_left_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], trackSpritesSubmarineRideMiniHelicoptersQuarterTurn3Tiles, get_current_rotation()); + track_paint_util_left_quarter_turn_3_tiles_tunnel(height, TUNNEL_0, direction, trackSequence); - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction), 0xFFFF, 0); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8, direction), 0xFFFF, 0); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction), 0xFFFF, 0); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8, direction), 0xFFFF, 0); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static const uint8 mini_helicopters_right_quarter_turn_3_tiles_to_left_turn_map[] = {3, 1, 2, 0}; @@ -237,24 +237,24 @@ static const uint8 mini_helicopters_right_quarter_turn_3_tiles_to_left_turn_map[ /** rct2: 0x0081F3F8 */ static void paint_mini_helicopters_track_right_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mini_helicopters_right_quarter_turn_3_tiles_to_left_turn_map[trackSequence]; - paint_mini_helicopters_track_left_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + trackSequence = mini_helicopters_right_quarter_turn_3_tiles_to_left_turn_map[trackSequence]; + paint_mini_helicopters_track_left_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } /** rct2: 0x0081F408 */ static void paint_mini_helicopters_track_left_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_left_quarter_turn_1_tile_paint(1, height, 0, direction, gTrackColours[SCHEME_TRACK], trackSpritesSubmarineRideMiniHelicoptersQuarterTurn1Tile, get_current_rotation()); - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, 0, TUNNEL_0, 0, TUNNEL_0); + track_paint_util_left_quarter_turn_1_tile_paint(1, height, 0, direction, gTrackColours[SCHEME_TRACK], trackSpritesSubmarineRideMiniHelicoptersQuarterTurn1Tile, get_current_rotation()); + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height, 0, TUNNEL_0, 0, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0081F418 */ static void paint_mini_helicopters_track_right_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_mini_helicopters_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + paint_mini_helicopters_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } /** @@ -262,39 +262,39 @@ static void paint_mini_helicopters_track_right_quarter_turn_1_tile(uint8 rideInd */ TRACK_PAINT_FUNCTION get_track_paint_function_mini_helicopters(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return paint_mini_helicopters_track_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_mini_helicopters_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_mini_helicopters_track_station; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_mini_helicopters_track_station; - case TRACK_ELEM_25_DEG_UP: - return paint_mini_helicopters_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return paint_mini_helicopters_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return paint_mini_helicopters_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_UP: + return paint_mini_helicopters_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_mini_helicopters_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_mini_helicopters_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return paint_mini_helicopters_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return paint_mini_helicopters_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return paint_mini_helicopters_track_25_deg_down_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return paint_mini_helicopters_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_mini_helicopters_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_mini_helicopters_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return paint_mini_helicopters_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return paint_mini_helicopters_track_right_quarter_turn_3_tiles; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return paint_mini_helicopters_track_left_quarter_turn_3_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return paint_mini_helicopters_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return paint_mini_helicopters_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return paint_mini_helicopters_track_right_quarter_turn_1_tile; - } + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return paint_mini_helicopters_track_left_quarter_turn_1_tile; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return paint_mini_helicopters_track_right_quarter_turn_1_tile; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/gentle/monorail_cycles.c b/src/openrct2/ride/gentle/monorail_cycles.c index 753dc366ef..f4ebaef48d 100644 --- a/src/openrct2/ride/gentle/monorail_cycles.c +++ b/src/openrct2/ride/gentle/monorail_cycles.c @@ -25,236 +25,236 @@ enum { - SPR_MONORAIL_CYCLES_FLAT_SW_NE = 16820, - SPR_MONORAIL_CYCLES_FLAT_NW_SE = 16821, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_0 = 16822, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_1 = 16823, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_2 = 16824, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_3 = 16825, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_4 = 16826, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_0 = 16827, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_1 = 16828, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_2 = 16829, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_3 = 16830, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_4 = 16831, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_0 = 16832, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_1 = 16833, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_2 = 16834, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_3 = 16835, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_4 = 16836, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_0 = 16837, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_1 = 16838, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_2 = 16839, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_3 = 16840, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_4 = 16841, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 16842, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 16843, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 16844, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 16845, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 16846, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 16847, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 16848, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 16849, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 16850, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 16851, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 16852, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 16853, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_0 = 16854, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_1 = 16855, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_2 = 16856, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_3 = 16857, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_0 = 16858, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_1 = 16859, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_2 = 16860, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_3 = 16861, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_0 = 16862, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_1 = 16863, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_2 = 16864, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_3 = 16865, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_0 = 16866, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_1 = 16867, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_2 = 16868, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_3 = 16869, + SPR_MONORAIL_CYCLES_FLAT_SW_NE = 16820, + SPR_MONORAIL_CYCLES_FLAT_NW_SE = 16821, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_0 = 16822, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_1 = 16823, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_2 = 16824, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_3 = 16825, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_4 = 16826, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_0 = 16827, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_1 = 16828, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_2 = 16829, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_3 = 16830, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_4 = 16831, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_0 = 16832, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_1 = 16833, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_2 = 16834, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_3 = 16835, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_4 = 16836, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_0 = 16837, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_1 = 16838, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_2 = 16839, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_3 = 16840, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_4 = 16841, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 16842, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 16843, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 16844, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 16845, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 16846, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 16847, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 16848, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 16849, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 16850, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 16851, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 16852, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 16853, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_0 = 16854, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_1 = 16855, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_2 = 16856, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_3 = 16857, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_0 = 16858, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_1 = 16859, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_2 = 16860, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_3 = 16861, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_0 = 16862, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_1 = 16863, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_2 = 16864, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_3 = 16865, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_0 = 16866, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_1 = 16867, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_2 = 16868, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_3 = 16869, }; static const uint32 monorail_cycles_track_pieces_flat[4] = { - SPR_MONORAIL_CYCLES_FLAT_SW_NE, - SPR_MONORAIL_CYCLES_FLAT_NW_SE + SPR_MONORAIL_CYCLES_FLAT_SW_NE, + SPR_MONORAIL_CYCLES_FLAT_NW_SE }; static const uint32 monorail_cycles_track_pieces_flat_quarter_turn_5_tiles[4][5] = { - { - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_0, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_1, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_2, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_3, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_4, - }, - { - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_0, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_1, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_2, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_3, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_4, - }, - { - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_0, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_1, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_2, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_3, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_4, - }, - { - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_0, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_1, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_2, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_3, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_4, - } + { + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_0, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_1, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_2, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_3, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SW_SE_PART_4, + }, + { + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_0, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_1, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_2, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_3, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NW_SW_PART_4, + }, + { + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_0, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_1, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_2, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_3, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_NE_NW_PART_4, + }, + { + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_0, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_1, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_2, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_3, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_5_TILES_SE_NE_PART_4, + } }; static const uint32 monorail_cycles_track_pieces_s_bend_left[2][4] = { - { - SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_0, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_1, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_2, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_3, - }, - { - SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_0, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_1, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_2, - SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_3, - } + { + SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_0, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_1, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_2, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_SW_NE_PART_3, + }, + { + SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_0, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_1, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_2, + SPR_MONORAIL_CYCLES_S_BEND_LEFT_NW_SE_PART_3, + } }; static const uint32 monorail_cycles_track_pieces_s_bend_right[2][4] = { - { - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_0, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_1, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_2, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_3, - }, - { - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_0, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_1, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_2, - SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_3, - } + { + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_0, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_1, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_2, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_SW_NE_PART_3, + }, + { + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_0, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_1, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_2, + SPR_MONORAIL_CYCLES_S_BEND_RIGHT_NW_SE_PART_3, + } }; static const uint32 monorail_cycles_track_pieces_flat_quarter_turn_3_tiles[4][3] = { - { - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_0, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_1, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_2 - }, - { - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_0, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_1, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_2 - }, - { - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_0, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_1, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_2 - }, - { - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_0, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_1, - SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_2 - } + { + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_0, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_1, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_2 + }, + { + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_0, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_1, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_2 + }, + { + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_0, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_1, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_2 + }, + { + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_0, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_1, + SPR_MONORAIL_CYCLES_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_2 + } }; static paint_struct * paint_monorail_cycles_util_7c( - bool flip, - uint32 image_id, - sint8 x_offset, sint8 y_offset, - sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, - sint16 z_offset, - sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, - uint32 rotation + bool flip, + uint32 image_id, + sint8 x_offset, sint8 y_offset, + sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, + sint16 z_offset, + sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, + uint32 rotation ) { - if (flip) { - return sub_98197C(image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, bound_box_offset_y, bound_box_offset_x, bound_box_offset_z, rotation); - } + if (flip) { + return sub_98197C(image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, bound_box_offset_y, bound_box_offset_x, bound_box_offset_z, rotation); + } - return sub_98197C(image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, rotation); + return sub_98197C(image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, rotation); } /** rct2: 0x0088AD48 */ static void paint_monorail_cycles_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = monorail_cycles_track_pieces_flat[(direction & 1)] | gTrackColours[SCHEME_TRACK]; - paint_monorail_cycles_util_7c((bool) (direction & 1), imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); + uint32 imageId = monorail_cycles_track_pieces_flat[(direction & 1)] | gTrackColours[SCHEME_TRACK]; + paint_monorail_cycles_util_7c((bool) (direction & 1), imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation()); - if (direction & 1) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } else { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction & 1) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } else { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0088ADD8 */ static void paint_monorail_cycles_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - if (direction == 0 || direction == 2) { - imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation()); + if (direction == 0 || direction == 2) { + imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation()); - imageId = SPR_MONORAIL_CYCLES_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 32, 20, 1, height, 0, 0, height, get_current_rotation()); + imageId = SPR_MONORAIL_CYCLES_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 32, 20, 1, height, 0, 0, height, get_current_rotation()); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_push_tunnel_left(height, TUNNEL_6); - } else if (direction == 1 || direction == 3) { - imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation()); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_push_tunnel_left(height, TUNNEL_6); + } else if (direction == 1 || direction == 3) { + imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation()); - imageId = SPR_MONORAIL_CYCLES_FLAT_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation()); + imageId = SPR_MONORAIL_CYCLES_FLAT_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation()); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_push_tunnel_right(height, TUNNEL_6); - } + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_push_tunnel_right(height, TUNNEL_6); + } - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0088AD88 */ static void paint_monorail_cycles_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_left_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], monorail_cycles_track_pieces_flat_quarter_turn_3_tiles, get_current_rotation()); - track_paint_util_left_quarter_turn_3_tiles_tunnel(height, TUNNEL_0, direction, trackSequence); + track_paint_util_left_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], monorail_cycles_track_pieces_flat_quarter_turn_3_tiles, get_current_rotation()); + track_paint_util_left_quarter_turn_3_tiles_tunnel(height, TUNNEL_0, direction, trackSequence); - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction), 0xFFFF, 0); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8, direction), 0xFFFF, 0); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction), 0xFFFF, 0); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8, direction), 0xFFFF, 0); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -1, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static const uint8 monorail_cycles_right_quarter_turn_3_tiles_to_left_turn_map[] = {3, 1, 2, 0}; @@ -262,206 +262,206 @@ static const uint8 monorail_cycles_right_quarter_turn_3_tiles_to_left_turn_map[] /** rct2: 0x0088AD98 */ static void paint_monorail_cycles_track_right_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = monorail_cycles_right_quarter_turn_3_tiles_to_left_turn_map[trackSequence]; - paint_monorail_cycles_track_left_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + trackSequence = monorail_cycles_right_quarter_turn_3_tiles_to_left_turn_map[trackSequence]; + paint_monorail_cycles_track_left_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } static const sint8 monorail_cycles_track_right_quarter_turn_5_tiles_support_height_offset[][7] = { - {-2, 0, -2, 0, 0, -3, -1}, - {-3, 0, 0, 0, 0, 0, 0}, - {0}, - {0, 0, 0, 0, 0, -2, -3}, + {-2, 0, -2, 0, 0, -3, -1}, + {-3, 0, 0, 0, 0, 0, 0}, + {0}, + {0, 0, 0, 0, 0, -2, -3}, }; static const sint8 monorail_cycles_track_right_quarter_turn_5_tiles_support_special[][7] = { - {0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 1}, - {0, 0, 1, 0, 0, 1, 1}, - {1, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 1}, + {0, 0, 1, 0, 0, 1, 1}, + {1, 0, 0, 0, 0, 0, 0}, }; /** rct2: 0x0088ADB8 */ static void paint_monorail_cycles_track_right_quarter_turn_5_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_right_quarter_turn_5_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], monorail_cycles_track_pieces_flat_quarter_turn_5_tiles, NULL, defaultRightQuarterTurn5TilesBoundLengths, defaultRightQuarterTurn5TilesBoundOffsets, get_current_rotation()); + track_paint_util_right_quarter_turn_5_tiles_paint(1, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], monorail_cycles_track_pieces_flat_quarter_turn_5_tiles, NULL, defaultRightQuarterTurn5TilesBoundLengths, defaultRightQuarterTurn5TilesBoundOffsets, get_current_rotation()); - sint32 supportHeight = height + monorail_cycles_track_right_quarter_turn_5_tiles_support_height_offset[direction][trackSequence]; - sint32 supportSpecial = monorail_cycles_track_right_quarter_turn_5_tiles_support_special[direction][trackSequence]; - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 4, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - if (direction == 0) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 8, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 1) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 7, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 2) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 5, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 3) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 6, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - break; - case 5: - if (direction == 0) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK : METAL_SUPPORTS_STICK_ALT, 7, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 1) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK : METAL_SUPPORTS_STICK_ALT, 5, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 2) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK : METAL_SUPPORTS_STICK_ALT, 6, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 3) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK : METAL_SUPPORTS_STICK_ALT, 8, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - break; - case 6: - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK : METAL_SUPPORTS_STICK_ALT, 4, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); - break; - } + sint32 supportHeight = height + monorail_cycles_track_right_quarter_turn_5_tiles_support_height_offset[direction][trackSequence]; + sint32 supportSpecial = monorail_cycles_track_right_quarter_turn_5_tiles_support_special[direction][trackSequence]; + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 4, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + if (direction == 0) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 8, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 1) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 7, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 2) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 5, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 3) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 6, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + break; + case 5: + if (direction == 0) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK : METAL_SUPPORTS_STICK_ALT, 7, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 1) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK : METAL_SUPPORTS_STICK_ALT, 5, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 2) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK : METAL_SUPPORTS_STICK_ALT, 6, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 3) metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK : METAL_SUPPORTS_STICK_ALT, 8, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + break; + case 6: + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK : METAL_SUPPORTS_STICK_ALT, 4, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - if (direction == 0 && trackSequence == 6) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 6) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - if (direction == 1 && trackSequence == 6) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 1 && trackSequence == 6) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0088ADA8 */ static void paint_monorail_cycles_track_left_quarter_turn_5_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - paint_monorail_cycles_track_right_quarter_turn_5_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + paint_monorail_cycles_track_right_quarter_turn_5_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x0088ADC8 */ static void paint_monorail_cycles_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (direction == 2 || direction == 3) { - trackSequence = 3 - trackSequence; - } + if (direction == 2 || direction == 3) { + trackSequence = 3 - trackSequence; + } - uint32 imageId = monorail_cycles_track_pieces_s_bend_left[direction&1][trackSequence] | gTrackColours[SCHEME_TRACK]; - switch (trackSequence) { - case 0: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break; - case 1: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 26, 1, height, 0, 0, height, get_current_rotation()); break; - case 2: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 26, 1, height, 0, 6, height, get_current_rotation()); break; - case 3: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break; - } + uint32 imageId = monorail_cycles_track_pieces_s_bend_left[direction&1][trackSequence] | gTrackColours[SCHEME_TRACK]; + switch (trackSequence) { + case 0: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break; + case 1: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 26, 1, height, 0, 0, height, get_current_rotation()); break; + case 2: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 26, 1, height, 0, 6, height, get_current_rotation()); break; + case 3: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break; + } - if (direction == 0 || direction == 2) { - if (trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 0 || direction == 2) { + if (trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - } - } else { - if (trackSequence == 3) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + switch (trackSequence) { + case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + } + } else { + if (trackSequence == 3) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); break; - } - } + switch (trackSequence) { + case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); break; + } + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction & 1), 0xFFFF, 0); break; - case 1: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4, direction & 1), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC, direction & 1), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0, direction & 1), 0xFFFF, 0); break; - } - paint_util_set_general_support_height(height + 32, 0x20); + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction & 1), 0xFFFF, 0); break; + case 1: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4, direction & 1), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC, direction & 1), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0, direction & 1), 0xFFFF, 0); break; + } + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x*/ static void paint_monorail_cycles_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (direction == 2 || direction == 3) { - trackSequence = 3 - trackSequence; - } + if (direction == 2 || direction == 3) { + trackSequence = 3 - trackSequence; + } - uint32 imageId = monorail_cycles_track_pieces_s_bend_right[direction&1][trackSequence] | gTrackColours[SCHEME_TRACK]; - switch (trackSequence) { - case 0: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break; - case 1: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 26, 1, height, 0, 6, height, get_current_rotation()); break; - case 2: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 26, 1, height, 0, 0, height, get_current_rotation()); break; - case 3: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break; - } + uint32 imageId = monorail_cycles_track_pieces_s_bend_right[direction&1][trackSequence] | gTrackColours[SCHEME_TRACK]; + switch (trackSequence) { + case 0: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break; + case 1: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 26, 1, height, 0, 6, height, get_current_rotation()); break; + case 2: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 26, 1, height, 0, 0, height, get_current_rotation()); break; + case 3: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break; + } - if (direction == 0 || direction == 2) { - if (trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } + if (direction == 0 || direction == 2) { + if (trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 8, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); break; - case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - } - } else { - if (trackSequence == 3) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + switch (trackSequence) { + case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 8, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); break; + case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + } + } else { + if (trackSequence == 3) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - } - } + switch (trackSequence) { + case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_STICK_ALT, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + } + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction & 1), 0xFFFF, 0); break; - case 1: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC, direction & 1), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4, direction & 1), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8, direction & 1), 0xFFFF, 0); break; - } - paint_util_set_general_support_height(height + 32, 0x20); + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction & 1), 0xFFFF, 0); break; + case 1: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC, direction & 1), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4, direction & 1), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8, direction & 1), 0xFFFF, 0); break; + } + paint_util_set_general_support_height(height + 32, 0x20); } /** * rct2: 0x0088ac88 */ TRACK_PAINT_FUNCTION get_track_paint_function_monorail_cycles(sint32 trackType, sint32 direction) { - switch(trackType) { - case TRACK_ELEM_FLAT: - return paint_monorail_cycles_track_flat; + switch(trackType) { + case TRACK_ELEM_FLAT: + return paint_monorail_cycles_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_monorail_cycles_station; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_monorail_cycles_station; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return paint_monorail_cycles_track_left_quarter_turn_5_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return paint_monorail_cycles_track_right_quarter_turn_5_tiles; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return paint_monorail_cycles_track_left_quarter_turn_5_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return paint_monorail_cycles_track_right_quarter_turn_5_tiles; - case TRACK_ELEM_S_BEND_LEFT: - return paint_monorail_cycles_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return paint_monorail_cycles_track_s_bend_right; + case TRACK_ELEM_S_BEND_LEFT: + return paint_monorail_cycles_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return paint_monorail_cycles_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return paint_monorail_cycles_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return paint_monorail_cycles_track_right_quarter_turn_3_tiles; - } + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return paint_monorail_cycles_track_left_quarter_turn_3_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return paint_monorail_cycles_track_right_quarter_turn_3_tiles; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/gentle/observation_tower.c b/src/openrct2/ride/gentle/observation_tower.c index 3c1163aa5b..42abca6b11 100644 --- a/src/openrct2/ride/gentle/observation_tower.c +++ b/src/openrct2/ride/gentle/observation_tower.c @@ -25,9 +25,9 @@ enum { - SPR_OBSERVATION_TOWER_SEGMENT_BASE = 14986, - SPR_OBSERVATION_TOWER_SEGMENT = 14987, - SPR_OBSERVATION_TOWER_SEGMENT_TOP = 14988, + SPR_OBSERVATION_TOWER_SEGMENT_BASE = 14986, + SPR_OBSERVATION_TOWER_SEGMENT = 14987, + SPR_OBSERVATION_TOWER_SEGMENT_TOP = 14988, }; /** @@ -36,65 +36,65 @@ enum */ void vehicle_visual_observation_tower(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - sint32 image_id; - sint32 baseImage_id = (vehicle->restraints_position / 64); - if (vehicle->restraints_position >= 64) { - if ((imageDirection / 8) && (imageDirection / 8) != 3) { - baseImage_id *= 2; - baseImage_id += vehicleEntry->base_image_id + 28; - if ((imageDirection / 8) != 1) { - baseImage_id -= 6; - } - } else { - baseImage_id = vehicleEntry->base_image_id + 8; - } - } else { - baseImage_id = (vehicle->var_C5 * 2) + vehicleEntry->base_image_id + 8; - } + sint32 image_id; + sint32 baseImage_id = (vehicle->restraints_position / 64); + if (vehicle->restraints_position >= 64) { + if ((imageDirection / 8) && (imageDirection / 8) != 3) { + baseImage_id *= 2; + baseImage_id += vehicleEntry->base_image_id + 28; + if ((imageDirection / 8) != 1) { + baseImage_id -= 6; + } + } else { + baseImage_id = vehicleEntry->base_image_id + 8; + } + } else { + baseImage_id = (vehicle->var_C5 * 2) + vehicleEntry->base_image_id + 8; + } - image_id = baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0x80000000; - paint_struct* ps = sub_98197C(image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1, get_current_rotation()); - if (ps != NULL) { - ps->tertiary_colour = vehicle->colours_extended; - } + image_id = baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0x80000000; + paint_struct* ps = sub_98197C(image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1, get_current_rotation()); + if (ps != NULL) { + ps->tertiary_colour = vehicle->colours_extended; + } - image_id++; + image_id++; - ps = sub_98197C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, get_current_rotation()); - if (ps != NULL) { - ps->tertiary_colour = vehicle->colours_extended; - } + ps = sub_98197C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, get_current_rotation()); + if (ps != NULL) { + ps->tertiary_colour = vehicle->colours_extended; + } - assert(vehicleEntry->effect_visual == 1); + assert(vehicleEntry->effect_visual == 1); } /** rct2: 0x0070DD6C */ static void paint_observation_tower_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_3x3[direction][trackSequence]; + trackSequence = track_map_3x3[direction][trackSequence]; - sint32 edges = edges_3x3[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_3x3[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - uint32 imageId = SPR_FLOOR_METAL_B | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); + uint32 imageId = SPR_FLOOR_METAL_B | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, fenceSpritesMetalB, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, fenceSpritesMetalB, get_current_rotation()); - if (trackSequence == 0) { - imageId = SPR_OBSERVATION_TOWER_SEGMENT_BASE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3, get_current_rotation()); + if (trackSequence == 0) { + imageId = SPR_OBSERVATION_TOWER_SEGMENT_BASE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3, get_current_rotation()); - imageId = SPR_OBSERVATION_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32, get_current_rotation()); + imageId = SPR_OBSERVATION_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32, get_current_rotation()); - imageId = SPR_OBSERVATION_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64, get_current_rotation()); + imageId = SPR_OBSERVATION_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64, get_current_rotation()); - paint_util_set_vertical_tunnel(height + 96); + paint_util_set_vertical_tunnel(height + 96); paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); #ifdef __TESTPAINT__ @@ -103,45 +103,45 @@ static void paint_observation_tower_base(uint8 rideIndex, uint8 trackSequence, u paint_util_set_general_support_height(height + 96, 0x20); #endif return; - } + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENTS_ALL; break; - case 1: blockedSegments = SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; - case 3: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; - case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8; break; - case 5: blockedSegments = SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; - case 6: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; - case 7: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 8: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; - } - paint_util_set_segment_support_height(blockedSegments, 0xFFFF, 0); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~blockedSegments, height + 2, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENTS_ALL; break; + case 1: blockedSegments = SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; + case 3: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; + case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8; break; + case 5: blockedSegments = SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; + case 6: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; + case 7: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 8: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; + } + paint_util_set_segment_support_height(blockedSegments, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~blockedSegments, height + 2, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0070DD7C */ static void paint_observation_tower_section(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence == 1) { - return; - } + if (trackSequence == 1) { + return; + } - uint32 imageId = SPR_OBSERVATION_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); + uint32 imageId = SPR_OBSERVATION_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); - rct_map_element * nextMapElement = mapElement + 1; - if (map_element_is_last_for_tile(mapElement) || mapElement->clearance_height != nextMapElement->base_height) { - imageId = SPR_OBSERVATION_TOWER_SEGMENT_TOP | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); - } + rct_map_element * nextMapElement = mapElement + 1; + if (map_element_is_last_for_tile(mapElement) || mapElement->clearance_height != nextMapElement->base_height) { + imageId = SPR_OBSERVATION_TOWER_SEGMENT_TOP | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_vertical_tunnel(height + 32); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_vertical_tunnel(height + 32); + paint_util_set_general_support_height(height + 32, 0x20); } /** @@ -149,13 +149,13 @@ static void paint_observation_tower_section(uint8 rideIndex, uint8 trackSequence */ TRACK_PAINT_FUNCTION get_track_paint_function_observation_tower(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_TOWER_BASE: - return paint_observation_tower_base; + switch (trackType) { + case TRACK_ELEM_TOWER_BASE: + return paint_observation_tower_base; - case TRACK_ELEM_TOWER_SECTION: - return paint_observation_tower_section; - } + case TRACK_ELEM_TOWER_SECTION: + return paint_observation_tower_section; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/gentle/space_rings.c b/src/openrct2/ride/gentle/space_rings.c index 946ecba6e1..9389b3eae4 100644 --- a/src/openrct2/ride/gentle/space_rings.c +++ b/src/openrct2/ride/gentle/space_rings.c @@ -23,119 +23,119 @@ enum { - SPR_SPACE_RINGS_FENCE_NE = 22146, - SPR_SPACE_RINGS_FENCE_SE = 22147, - SPR_SPACE_RINGS_FENCE_SW = 22148, - SPR_SPACE_RINGS_FENCE_NW = 22149, + SPR_SPACE_RINGS_FENCE_NE = 22146, + SPR_SPACE_RINGS_FENCE_SE = 22147, + SPR_SPACE_RINGS_FENCE_SW = 22148, + SPR_SPACE_RINGS_FENCE_NW = 22149, }; static const uint32 space_rings_fence_sprites[] = { - SPR_SPACE_RINGS_FENCE_NE, - SPR_SPACE_RINGS_FENCE_SE, - SPR_SPACE_RINGS_FENCE_SW, - SPR_SPACE_RINGS_FENCE_NW, + SPR_SPACE_RINGS_FENCE_NE, + SPR_SPACE_RINGS_FENCE_SE, + SPR_SPACE_RINGS_FENCE_SW, + SPR_SPACE_RINGS_FENCE_NW, }; /** rct2: 0x00768A3B */ static void paint_space_rings_structure(rct_ride * ride, uint8 direction, uint32 segment, sint32 height) { - rct_map_element * savedMapElement = g_currently_drawn_item; + rct_map_element * savedMapElement = g_currently_drawn_item; - uint32 vehicleIndex = (segment - direction) & 0x3; + uint32 vehicleIndex = (segment - direction) & 0x3; - if (ride->num_stations == 0 || vehicleIndex < ride->num_vehicles) { - rct_ride_entry * ride_type = get_ride_entry(ride->subtype); - rct_vehicle * vehicle = NULL; + if (ride->num_stations == 0 || vehicleIndex < ride->num_vehicles) { + rct_ride_entry * ride_type = get_ride_entry(ride->subtype); + rct_vehicle * vehicle = NULL; - sint32 frameNum = direction; + sint32 frameNum = direction; - uint32 baseImageId = ride_type->vehicles[0].base_image_id; + uint32 baseImageId = ride_type->vehicles[0].base_image_id; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && ride->vehicles[0] != SPRITE_INDEX_NULL) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - vehicle = GET_VEHICLE(ride->vehicles[vehicleIndex]); - g_currently_drawn_item = vehicle; - frameNum += (sint8) vehicle->vehicle_sprite_type * 4; - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && ride->vehicles[0] != SPRITE_INDEX_NULL) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + vehicle = GET_VEHICLE(ride->vehicles[vehicleIndex]); + g_currently_drawn_item = vehicle; + frameNum += (sint8) vehicle->vehicle_sprite_type * 4; + } - uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; - if ((ride->colour_scheme_type & 3) != RIDE_COLOUR_SCHEME_DIFFERENT_PER_TRAIN) { - vehicleIndex = 0; - } + uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; + if ((ride->colour_scheme_type & 3) != RIDE_COLOUR_SCHEME_DIFFERENT_PER_TRAIN) { + vehicleIndex = 0; + } - if (imageColourFlags == 0x20000000) { - imageColourFlags = ride->vehicle_colours[vehicleIndex].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; - } + if (imageColourFlags == 0x20000000) { + imageColourFlags = ride->vehicle_colours[vehicleIndex].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; + } - uint32 imageId = (baseImageId + frameNum) | imageColourFlags; - sub_98197C(imageId, 0, 0, 20, 20, 23, height, -10, -10, height, get_current_rotation()); + uint32 imageId = (baseImageId + frameNum) | imageColourFlags; + sub_98197C(imageId, 0, 0, 20, 20, 23, height, -10, -10, height, get_current_rotation()); - if (vehicle != NULL && vehicle->num_peeps > 0) { - rct_peep * rider = GET_PEEP(vehicle->peep[0]); - imageColourFlags = rider->tshirt_colour << 19 | rider->trousers_colour << 24 | 0xA0000000; - imageId = ((baseImageId & 0x7FFFF) + 352 + frameNum) | imageColourFlags; - sub_98199C(imageId, 0, 0, 20, 20, 23, height, -10, -10, height, get_current_rotation()); - } - } + if (vehicle != NULL && vehicle->num_peeps > 0) { + rct_peep * rider = GET_PEEP(vehicle->peep[0]); + imageColourFlags = rider->tshirt_colour << 19 | rider->trousers_colour << 24 | 0xA0000000; + imageId = ((baseImageId & 0x7FFFF) + 352 + frameNum) | imageColourFlags; + sub_98199C(imageId, 0, 0, 20, 20, 23, height, -10, -10, height, get_current_rotation()); + } + } - g_currently_drawn_item = savedMapElement; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = savedMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; } /** rct2: 0x00767C40 */ static void paint_space_rings(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_3x3[direction][trackSequence]; + trackSequence = track_map_3x3[direction][trackSequence]; - sint32 edges = edges_3x3[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_3x3[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId; + uint32 imageId; - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); + track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); - switch (trackSequence) { - case 7: - if (track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation())) { - imageId = SPR_SPACE_RINGS_FENCE_SW | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 1, 28, 7, height, 29, 0, height + 2, get_current_rotation()); - } - if (track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation())) { - imageId = SPR_SPACE_RINGS_FENCE_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 2, get_current_rotation()); - } - break; - default: - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, space_rings_fence_sprites, get_current_rotation()); - break; - } + switch (trackSequence) { + case 7: + if (track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation())) { + imageId = SPR_SPACE_RINGS_FENCE_SW | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 1, 28, 7, height, 29, 0, height + 2, get_current_rotation()); + } + if (track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation())) { + imageId = SPR_SPACE_RINGS_FENCE_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 2, get_current_rotation()); + } + break; + default: + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, space_rings_fence_sprites, get_current_rotation()); + break; + } - switch (trackSequence) { - case 0: paint_space_rings_structure(ride, direction, 0, height + 3); break; - case 5: paint_space_rings_structure(ride, direction, 1, height + 3); break; - case 7: paint_space_rings_structure(ride, direction, 2, height + 3); break; - case 8: paint_space_rings_structure(ride, direction, 3, height + 3); break; - } + switch (trackSequence) { + case 0: paint_space_rings_structure(ride, direction, 0, height + 3); break; + case 5: paint_space_rings_structure(ride, direction, 1, height + 3); break; + case 7: paint_space_rings_structure(ride, direction, 2, height + 3); break; + case 8: paint_space_rings_structure(ride, direction, 3, height + 3); break; + } - sint32 cornerSegments = 0; - switch (trackSequence) { - case 0: cornerSegments = 0; break; - case 1: cornerSegments = SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: cornerSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; - case 3: cornerSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; - case 4: cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8; break; - case 5: cornerSegments = SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; - case 6: cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; - case 7: cornerSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 8: cornerSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; - } - paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sint32 cornerSegments = 0; + switch (trackSequence) { + case 0: cornerSegments = 0; break; + case 1: cornerSegments = SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: cornerSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; + case 3: cornerSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; + case 4: cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8; break; + case 5: cornerSegments = SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; + case 6: cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; + case 7: cornerSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 8: cornerSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; + } + paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** @@ -143,9 +143,9 @@ static void paint_space_rings(uint8 rideIndex, uint8 trackSequence, uint8 direct */ TRACK_PAINT_FUNCTION get_track_paint_function_space_rings(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_3_X_3) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_3_X_3) { + return NULL; + } - return paint_space_rings; + return paint_space_rings; } diff --git a/src/openrct2/ride/gentle/spiral_slide.c b/src/openrct2/ride/gentle/spiral_slide.c index 0a643b06f4..7f88ceb4d5 100644 --- a/src/openrct2/ride/gentle/spiral_slide.c +++ b/src/openrct2/ride/gentle/spiral_slide.c @@ -21,178 +21,178 @@ #include "../track.h" enum { - SPIRAL_SLIDE_LEFT_R0 = 20548, - SPIRAL_SLIDE_CENTER_R0 = 20549, - SPIRAL_SLIDE_RIGHT_R0 = 20550, + SPIRAL_SLIDE_LEFT_R0 = 20548, + SPIRAL_SLIDE_CENTER_R0 = 20549, + SPIRAL_SLIDE_RIGHT_R0 = 20550, - SPIRAL_SLIDE_LEFT_R1 = 20551, - SPIRAL_SLIDE_CENTER_R1 = 20552, - SPIRAL_SLIDE_RIGHT_R1 = 20553, + SPIRAL_SLIDE_LEFT_R1 = 20551, + SPIRAL_SLIDE_CENTER_R1 = 20552, + SPIRAL_SLIDE_RIGHT_R1 = 20553, - SPIRAL_SLIDE_LEFT_R2 = 20554, - SPIRAL_SLIDE_CENTER_R2 = 20555, - SPIRAL_SLIDE_RIGHT_R2 = 20556, + SPIRAL_SLIDE_LEFT_R2 = 20554, + SPIRAL_SLIDE_CENTER_R2 = 20555, + SPIRAL_SLIDE_RIGHT_R2 = 20556, - SPIRAL_SLIDE_LEFT_R3 = 20557, - SPIRAL_SLIDE_CENTER_R3 = 20558, - SPIRAL_SLIDE_RIGHT_R3 = 20559, + SPIRAL_SLIDE_LEFT_R3 = 20557, + SPIRAL_SLIDE_CENTER_R3 = 20558, + SPIRAL_SLIDE_RIGHT_R3 = 20559, - SPIRAL_SLIDE_INSIDE_R1 = 20560, - SPIRAL_SLIDE_INSIDE_R2 = 20561, + SPIRAL_SLIDE_INSIDE_R1 = 20560, + SPIRAL_SLIDE_INSIDE_R2 = 20561, - SPIRAL_SLIDE_BASE_A = 20562, - SPIRAL_SLIDE_BASE_B = 20563, + SPIRAL_SLIDE_BASE_A = 20562, + SPIRAL_SLIDE_BASE_B = 20563, - SPIRAL_SLIDE_FENCE_TOP_RIGHT = 20564, - SPIRAL_SLIDE_FENCE_BOTTOM_RIGHT = 20565, - SPIRAL_SLIDE_FENCE_BOTTOM_LEFT = 20566, - SPIRAL_SLIDE_FENCE_TOP_LEFT = 20567, + SPIRAL_SLIDE_FENCE_TOP_RIGHT = 20564, + SPIRAL_SLIDE_FENCE_BOTTOM_RIGHT = 20565, + SPIRAL_SLIDE_FENCE_BOTTOM_LEFT = 20566, + SPIRAL_SLIDE_FENCE_TOP_LEFT = 20567, - SPIRAL_SLIDE_PEEP = 20568, // 46 sprites per direction + SPIRAL_SLIDE_PEEP = 20568, // 46 sprites per direction }; static void spiral_slide_paint_tile_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 image_id = 0; + uint32 image_id = 0; - if (direction == 0) image_id = SPIRAL_SLIDE_RIGHT_R0 | gTrackColours[SCHEME_TRACK]; - if (direction == 1) image_id = SPIRAL_SLIDE_RIGHT_R1 | gTrackColours[SCHEME_TRACK]; - if (direction == 2) image_id = SPIRAL_SLIDE_RIGHT_R2 | gTrackColours[SCHEME_TRACK]; - if (direction == 3) image_id = SPIRAL_SLIDE_RIGHT_R3 | gTrackColours[SCHEME_TRACK]; + if (direction == 0) image_id = SPIRAL_SLIDE_RIGHT_R0 | gTrackColours[SCHEME_TRACK]; + if (direction == 1) image_id = SPIRAL_SLIDE_RIGHT_R1 | gTrackColours[SCHEME_TRACK]; + if (direction == 2) image_id = SPIRAL_SLIDE_RIGHT_R2 | gTrackColours[SCHEME_TRACK]; + if (direction == 3) image_id = SPIRAL_SLIDE_RIGHT_R3 | gTrackColours[SCHEME_TRACK]; - sub_98197C(image_id, 16, 16, 16, 16, 108, height, 16, 0, height + 3, get_current_rotation()); + sub_98197C(image_id, 16, 16, 16, 16, 108, height, 16, 0, height + 3, get_current_rotation()); } static void spiral_slide_paint_tile_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 image_id = 0; + uint32 image_id = 0; - if (direction == 0) image_id = SPIRAL_SLIDE_LEFT_R0 | gTrackColours[SCHEME_TRACK]; - if (direction == 1) image_id = SPIRAL_SLIDE_LEFT_R1 | gTrackColours[SCHEME_TRACK]; - if (direction == 2) image_id = SPIRAL_SLIDE_LEFT_R2 | gTrackColours[SCHEME_TRACK]; - if (direction == 3) image_id = SPIRAL_SLIDE_LEFT_R3 | gTrackColours[SCHEME_TRACK]; + if (direction == 0) image_id = SPIRAL_SLIDE_LEFT_R0 | gTrackColours[SCHEME_TRACK]; + if (direction == 1) image_id = SPIRAL_SLIDE_LEFT_R1 | gTrackColours[SCHEME_TRACK]; + if (direction == 2) image_id = SPIRAL_SLIDE_LEFT_R2 | gTrackColours[SCHEME_TRACK]; + if (direction == 3) image_id = SPIRAL_SLIDE_LEFT_R3 | gTrackColours[SCHEME_TRACK]; - sub_98197C(image_id, 16, 16, 16, 16, 108, height, 0, 16, height + 3, get_current_rotation()); + sub_98197C(image_id, 16, 16, 16, 16, 108, height, 0, 16, height + 3, get_current_rotation()); } static void spiral_slide_paint_tile_front(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 image_id = 0; + uint32 image_id = 0; - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - if (direction == 1) { - image_id = SPIRAL_SLIDE_INSIDE_R1 | gTrackColours[SCHEME_TRACK]; - sub_98197C(image_id, 16, 16, 2, 16, 108, height, -12, 0, height + 3, get_current_rotation()); - } else if (direction == 2) { - image_id = SPIRAL_SLIDE_INSIDE_R2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(image_id, 16, 16, 16, 2, 108, height, 0, -12, height + 3, get_current_rotation()); - } + if (direction == 1) { + image_id = SPIRAL_SLIDE_INSIDE_R1 | gTrackColours[SCHEME_TRACK]; + sub_98197C(image_id, 16, 16, 2, 16, 108, height, -12, 0, height + 3, get_current_rotation()); + } else if (direction == 2) { + image_id = SPIRAL_SLIDE_INSIDE_R2 | gTrackColours[SCHEME_TRACK]; + sub_98197C(image_id, 16, 16, 16, 2, 108, height, 0, -12, height + 3, get_current_rotation()); + } - if (direction == 0) { - image_id = SPIRAL_SLIDE_CENTER_R0 | gTrackColours[SCHEME_TRACK]; - sub_98197C(image_id, 16, 16, 16, 8, 108, height, 0, 8, height + 3, get_current_rotation()); - } else if (direction == 1) { - image_id = SPIRAL_SLIDE_CENTER_R1 | gTrackColours[SCHEME_TRACK]; - sub_98197C(image_id, 16, 16, 2, 16, 108, height, 14, 0, height + 3, get_current_rotation()); - } else if (direction == 2) { - image_id = SPIRAL_SLIDE_CENTER_R2 | gTrackColours[SCHEME_TRACK]; - sub_98197C(image_id, 16, 16, 16, 2, 108, height, 0, 14, height + 3, get_current_rotation()); - } else if (direction == 3) { - image_id = SPIRAL_SLIDE_CENTER_R3 | gTrackColours[SCHEME_TRACK]; - sub_98197C(image_id, 16, 16, 8, 16, 108, height, 8, 0, height + 3, get_current_rotation()); - } + if (direction == 0) { + image_id = SPIRAL_SLIDE_CENTER_R0 | gTrackColours[SCHEME_TRACK]; + sub_98197C(image_id, 16, 16, 16, 8, 108, height, 0, 8, height + 3, get_current_rotation()); + } else if (direction == 1) { + image_id = SPIRAL_SLIDE_CENTER_R1 | gTrackColours[SCHEME_TRACK]; + sub_98197C(image_id, 16, 16, 2, 16, 108, height, 14, 0, height + 3, get_current_rotation()); + } else if (direction == 2) { + image_id = SPIRAL_SLIDE_CENTER_R2 | gTrackColours[SCHEME_TRACK]; + sub_98197C(image_id, 16, 16, 16, 2, 108, height, 0, 14, height + 3, get_current_rotation()); + } else if (direction == 3) { + image_id = SPIRAL_SLIDE_CENTER_R3 | gTrackColours[SCHEME_TRACK]; + sub_98197C(image_id, 16, 16, 8, 16, 108, height, 8, 0, height + 3, get_current_rotation()); + } - rct_drawpixelinfo *dpi = unk_140E9A8; - if (dpi->zoom_level == 0 && ride->slide_in_use != 0) { - uint8 slide_progress = ride->spiral_slide_progress; - if (slide_progress != 0) { - slide_progress--; - } + rct_drawpixelinfo *dpi = unk_140E9A8; + if (dpi->zoom_level == 0 && ride->slide_in_use != 0) { + uint8 slide_progress = ride->spiral_slide_progress; + if (slide_progress != 0) { + slide_progress--; + } - if (slide_progress == 46) { - slide_progress--; - } + if (slide_progress == 46) { + slide_progress--; + } - if (slide_progress < 46) { + if (slide_progress < 46) { - sint32 offset = SPIRAL_SLIDE_PEEP + 46 * direction; - rct_xyz8 boundingBox = { - .z = 108 - }; - rct_xyz16 boundingBoxOffset = { - .z = height + 3 - }; + sint32 offset = SPIRAL_SLIDE_PEEP + 46 * direction; + rct_xyz8 boundingBox = { + .z = 108 + }; + rct_xyz16 boundingBoxOffset = { + .z = height + 3 + }; - if (direction == 0) { - boundingBoxOffset.x = 0; - boundingBoxOffset.y = 8; - boundingBox.y = 8; - boundingBox.x = 16; - } else if (direction == 1) { - boundingBoxOffset.x = 14; - boundingBoxOffset.y = 0; - boundingBox.y = 2; - boundingBox.x = 16; - } else if (direction == 2) { - boundingBoxOffset.x = 0; - boundingBoxOffset.y = 14; - boundingBox.y = 16; - boundingBox.x = 2; - } else if (direction == 3) { - boundingBoxOffset.x = 8; - boundingBoxOffset.y = 0; - boundingBox.y = 16; - boundingBox.x = 8; - } + if (direction == 0) { + boundingBoxOffset.x = 0; + boundingBoxOffset.y = 8; + boundingBox.y = 8; + boundingBox.x = 16; + } else if (direction == 1) { + boundingBoxOffset.x = 14; + boundingBoxOffset.y = 0; + boundingBox.y = 2; + boundingBox.x = 16; + } else if (direction == 2) { + boundingBoxOffset.x = 0; + boundingBoxOffset.y = 14; + boundingBox.y = 16; + boundingBox.x = 2; + } else if (direction == 3) { + boundingBoxOffset.x = 8; + boundingBoxOffset.y = 0; + boundingBox.y = 16; + boundingBox.x = 8; + } - image_id = (offset + slide_progress) | (ride->slide_peep_t_shirt_colour << 19) | (1 << 29); + image_id = (offset + slide_progress) | (ride->slide_peep_t_shirt_colour << 19) | (1 << 29); - sub_98199C(image_id, 16, 16, boundingBox.x, boundingBox.y, boundingBox.z, height, boundingBoxOffset.x, boundingBoxOffset.y, boundingBoxOffset.z, get_current_rotation()); - } - } + sub_98199C(image_id, 16, 16, boundingBox.x, boundingBox.y, boundingBox.z, height, boundingBoxOffset.x, boundingBoxOffset.y, boundingBoxOffset.z, get_current_rotation()); + } + } } static const uint32 spiral_slide_fence_sprites[] = { - SPIRAL_SLIDE_FENCE_TOP_RIGHT, - SPIRAL_SLIDE_FENCE_BOTTOM_RIGHT, - SPIRAL_SLIDE_FENCE_BOTTOM_LEFT, - SPIRAL_SLIDE_FENCE_TOP_LEFT, + SPIRAL_SLIDE_FENCE_TOP_RIGHT, + SPIRAL_SLIDE_FENCE_BOTTOM_RIGHT, + SPIRAL_SLIDE_FENCE_BOTTOM_LEFT, + SPIRAL_SLIDE_FENCE_TOP_LEFT, }; /** * rct: 0x007485C8 */ static void paint_spiral_slide(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - trackSequence = track_map_2x2[direction][trackSequence]; + trackSequence = track_map_2x2[direction][trackSequence]; - sint32 edges = edges_2x2[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_2x2[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL); - // Base - uint32 imageId = ((direction & 1) ? SPIRAL_SLIDE_BASE_B : SPIRAL_SLIDE_BASE_A) | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); + // Base + uint32 imageId = ((direction & 1) ? SPIRAL_SLIDE_BASE_B : SPIRAL_SLIDE_BASE_A) | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, spiral_slide_fence_sprites, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, spiral_slide_fence_sprites, get_current_rotation()); - switch (trackSequence) { - case 1: spiral_slide_paint_tile_right(rideIndex, trackSequence, direction, height, mapElement); break; - case 2: spiral_slide_paint_tile_left(rideIndex, trackSequence, direction, height, mapElement); break; - case 3: spiral_slide_paint_tile_front(rideIndex, trackSequence, direction, height, mapElement); break; - } + switch (trackSequence) { + case 1: spiral_slide_paint_tile_right(rideIndex, trackSequence, direction, height, mapElement); break; + case 2: spiral_slide_paint_tile_left(rideIndex, trackSequence, direction, height, mapElement); break; + case 3: spiral_slide_paint_tile_front(rideIndex, trackSequence, direction, height, mapElement); break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 128, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 128, 0x20); } /** * rct2: 0x0074840C */ TRACK_PAINT_FUNCTION get_track_paint_function_spiral_slide(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_2_X_2) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_2_X_2) { + return NULL; + } - return paint_spiral_slide; + return paint_spiral_slide; } diff --git a/src/openrct2/ride/ride.c b/src/openrct2/ride/ride.c index 1b8d1e4a67..8e5419cbd2 100644 --- a/src/openrct2/ride/ride.c +++ b/src/openrct2/ride/ride.c @@ -56,70 +56,70 @@ /** rct2: 0x0097C3AF */ const uint8 gRideClassifications[255] = { - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_SHOP_OR_STALL, - RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_RIDE, RIDE_CLASS_SHOP_OR_STALL, - RIDE_CLASS_KIOSK_OR_FACILITY, RIDE_CLASS_KIOSK_OR_FACILITY, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_KIOSK_OR_FACILITY, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_KIOSK_OR_FACILITY, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_RIDE, RIDE_CLASS_SHOP_OR_STALL, - RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, - RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_SHOP_OR_STALL, + RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_RIDE, RIDE_CLASS_SHOP_OR_STALL, + RIDE_CLASS_KIOSK_OR_FACILITY, RIDE_CLASS_KIOSK_OR_FACILITY, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_KIOSK_OR_FACILITY, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_KIOSK_OR_FACILITY, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_RIDE, RIDE_CLASS_SHOP_OR_STALL, + RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_SHOP_OR_STALL, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, + RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE, RIDE_CLASS_RIDE }; uint8 gTypeToRideEntryIndexMap[TYPE_TO_RIDE_ENTRY_SLOTS]; @@ -127,7 +127,7 @@ uint8 gTypeToRideEntryIndexMap[TYPE_TO_RIDE_ENTRY_SLOTS]; #pragma endregion static const sint32 RideInspectionInterval[] = { - 10, 20, 30, 45, 60, 120, 0, 0 + 10, 20, 30, 45, 60, 120, 0, 0 }; #ifdef NO_RCT2 @@ -221,52 +221,52 @@ money32 place_provisional_track_piece(sint32 rideIndex, sint32 trackType, sint32 rct_ride *get_ride(sint32 index) { - if (index < 0 || index >= MAX_RIDES) - { - log_error("invalid index %d for ride", index); - return NULL; - } - return &gRideList[index]; + if (index < 0 || index >= MAX_RIDES) + { + log_error("invalid index %d for ride", index); + return NULL; + } + return &gRideList[index]; } rct_ride_entry *get_ride_entry(sint32 index) { - if (index < 0 || index >= object_entry_group_counts[OBJECT_TYPE_RIDE]) - { - log_error("invalid index %d for ride type", index); - return NULL; - } - return gRideEntries[index]; + if (index < 0 || index >= object_entry_group_counts[OBJECT_TYPE_RIDE]) + { + log_error("invalid index %d for ride type", index); + return NULL; + } + return gRideEntries[index]; } void get_ride_entry_name(char *name, sint32 index) { - if (index < 0 || index >= object_entry_group_counts[OBJECT_TYPE_RIDE]) - { - log_error("invalid index %d for ride type", index); - return; - } + if (index < 0 || index >= object_entry_group_counts[OBJECT_TYPE_RIDE]) + { + log_error("invalid index %d for ride type", index); + return; + } - const char *entryName = object_entry_groups[OBJECT_TYPE_RIDE].entries[index].name; - memcpy(name, entryName, 8); - name[8] = '\0'; + const char *entryName = object_entry_groups[OBJECT_TYPE_RIDE].entries[index].name; + memcpy(name, entryName, 8); + name[8] = '\0'; } rct_ride_measurement *get_ride_measurement(sint32 index) { - return &gRideMeasurements[index]; + return &gRideMeasurements[index]; } rct_ride_entry *get_ride_entry_by_ride(rct_ride *ride) { - rct_ride_entry *type = get_ride_entry(ride->subtype); - if (type == NULL) - { - char oldname[128]; - format_string(oldname, 128, ride->name, &ride->name_arguments); - log_error("Invalid ride subtype for ride %s", oldname); - } - return type; + rct_ride_entry *type = get_ride_entry(ride->subtype); + if (type == NULL) + { + char oldname[128]; + format_string(oldname, 128, ride->name, &ride->name_arguments); + log_error("Invalid ride subtype for ride %s", oldname); + } + return type; } /** @@ -275,78 +275,78 @@ rct_ride_entry *get_ride_entry_by_ride(rct_ride *ride) */ void reset_type_to_ride_entry_index_map() { - uint8 maxRideEntries = 128; - size_t stride = maxRideEntries + 1; - uint8 * entryTypeTable = malloc(RIDE_TYPE_COUNT * stride); - memset(entryTypeTable, 0xFF, RIDE_TYPE_COUNT * stride); + uint8 maxRideEntries = 128; + size_t stride = maxRideEntries + 1; + uint8 * entryTypeTable = malloc(RIDE_TYPE_COUNT * stride); + memset(entryTypeTable, 0xFF, RIDE_TYPE_COUNT * stride); - for (uint8 i = 0; i < maxRideEntries; i++) { - rct_ride_entry * rideEntry = get_ride_entry(i); - if (rideEntry == (rct_ride_entry *)-1) { - continue; - } - for (uint8 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { - uint8 rideType = rideEntry->ride_type[j]; - if (rideType < RIDE_TYPE_COUNT) { - uint8 * entryArray = &entryTypeTable[rideType * stride]; - uint8 * nextEntry = memchr(entryArray, 0xFF, stride); - *nextEntry = i; - } - } - } + for (uint8 i = 0; i < maxRideEntries; i++) { + rct_ride_entry * rideEntry = get_ride_entry(i); + if (rideEntry == (rct_ride_entry *)-1) { + continue; + } + for (uint8 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { + uint8 rideType = rideEntry->ride_type[j]; + if (rideType < RIDE_TYPE_COUNT) { + uint8 * entryArray = &entryTypeTable[rideType * stride]; + uint8 * nextEntry = memchr(entryArray, 0xFF, stride); + *nextEntry = i; + } + } + } - uint8 * dst = gTypeToRideEntryIndexMap; - for (uint8 i = 0; i < RIDE_TYPE_COUNT; i++) { - uint8 * entryArray = &entryTypeTable[i * stride]; - uint8 * entry = entryArray; - while (*entry != 0xFF) { - *dst++ = *entry++; - } - *dst++ = 0xFF; - } + uint8 * dst = gTypeToRideEntryIndexMap; + for (uint8 i = 0; i < RIDE_TYPE_COUNT; i++) { + uint8 * entryArray = &entryTypeTable[i * stride]; + uint8 * entry = entryArray; + while (*entry != 0xFF) { + *dst++ = *entry++; + } + *dst++ = 0xFF; + } - free(entryTypeTable); + free(entryTypeTable); } uint8 *get_ride_entry_indices_for_ride_type(uint8 rideType) { - uint8 *entryIndexList = gTypeToRideEntryIndexMap; - while (rideType > 0) { - do { - entryIndexList++; - } while (*(entryIndexList - 1) != 255); - rideType--; - } - return entryIndexList; + uint8 *entryIndexList = gTypeToRideEntryIndexMap; + while (rideType > 0) { + do { + entryIndexList++; + } while (*(entryIndexList - 1) != 255); + rideType--; + } + return entryIndexList; } sint32 ride_get_count() { - rct_ride *ride; - sint32 i, count = 0; + rct_ride *ride; + sint32 i, count = 0; - FOR_ALL_RIDES(i, ride) - count++; + FOR_ALL_RIDES(i, ride) + count++; - return count; + return count; } sint32 ride_get_total_queue_length(rct_ride *ride) { - sint32 i, queueLength = 0; - for (i = 0; i < 4; i++) - if (ride->entrances[i] != 0xFFFF) - queueLength += ride->queue_length[i]; - return queueLength; + sint32 i, queueLength = 0; + for (i = 0; i < 4; i++) + if (ride->entrances[i] != 0xFFFF) + queueLength += ride->queue_length[i]; + return queueLength; } sint32 ride_get_max_queue_time(rct_ride *ride) { - sint32 i, queueTime = 0; - for (i = 0; i < 4; i++) - if (ride->entrances[i] != 0xFFFF) - queueTime = max(queueTime, ride->queue_time[i]); - return queueTime; + sint32 i, queueTime = 0; + for (i = 0; i < 4; i++) + if (ride->entrances[i] != 0xFFFF) + queueTime = max(queueTime, ride->queue_time[i]); + return queueTime; } /** @@ -355,47 +355,47 @@ sint32 ride_get_max_queue_time(rct_ride *ride) */ void ride_update_favourited_stat() { - sint32 i; - rct_ride *ride; - uint16 spriteIndex; - rct_peep* peep; + sint32 i; + rct_ride *ride; + uint16 spriteIndex; + rct_peep* peep; - FOR_ALL_RIDES(i, ride) - ride->guests_favourite = 0; + FOR_ALL_RIDES(i, ride) + ride->guests_favourite = 0; - FOR_ALL_PEEPS(spriteIndex, peep) { - if (peep->linked_list_type_offset != SPRITE_LIST_PEEP * 2) - return; - if (peep->favourite_ride != 0xff) { - ride = &gRideList[peep->favourite_ride]; - ride->guests_favourite++; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; + FOR_ALL_PEEPS(spriteIndex, peep) { + if (peep->linked_list_type_offset != SPRITE_LIST_PEEP * 2) + return; + if (peep->favourite_ride != 0xff) { + ride = &gRideList[peep->favourite_ride]; + ride->guests_favourite++; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; - } + } - } + } - window_invalidate_by_class(WC_RIDE_LIST); + window_invalidate_by_class(WC_RIDE_LIST); } money32 get_shop_item_cost(sint32 shopItem) { - return ShopItemStats[shopItem].cost; + return ShopItemStats[shopItem].cost; } money16 get_shop_base_value(sint32 shopItem) { - return ShopItemStats[shopItem].base_value; + return ShopItemStats[shopItem].base_value; } money16 get_shop_cold_value(sint32 shopItem) { - return ShopItemStats[shopItem].cold_value; + return ShopItemStats[shopItem].cold_value; } money16 get_shop_hot_value(sint32 shopItem) { - return ShopItemStats[shopItem].hot_value; + return ShopItemStats[shopItem].hot_value; } /** @@ -404,32 +404,32 @@ money16 get_shop_hot_value(sint32 shopItem) */ static money32 ride_calculate_income_per_hour(rct_ride *ride) { - // Get entry by ride to provide better reporting - rct_ride_entry *entry = get_ride_entry_by_ride(ride); - if (entry == NULL) { - return 0; - } - money32 customersPerHour = ride_customers_per_hour(ride); - money32 priceMinusCost = ride_get_price(ride); + // Get entry by ride to provide better reporting + rct_ride_entry *entry = get_ride_entry_by_ride(ride); + if (entry == NULL) { + return 0; + } + money32 customersPerHour = ride_customers_per_hour(ride); + money32 priceMinusCost = ride_get_price(ride); - sint32 currentShopItem = entry->shop_item; - if (currentShopItem != SHOP_ITEM_NONE) { - priceMinusCost -= get_shop_item_cost(currentShopItem); - } + sint32 currentShopItem = entry->shop_item; + if (currentShopItem != SHOP_ITEM_NONE) { + priceMinusCost -= get_shop_item_cost(currentShopItem); + } - currentShopItem = (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) ? - RidePhotoItems[ride->type] : - entry->shop_item_secondary; + currentShopItem = (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) ? + RidePhotoItems[ride->type] : + entry->shop_item_secondary; - if (currentShopItem != SHOP_ITEM_NONE) { - priceMinusCost += ride->price_secondary; - priceMinusCost -= get_shop_item_cost(currentShopItem); + if (currentShopItem != SHOP_ITEM_NONE) { + priceMinusCost += ride->price_secondary; + priceMinusCost -= get_shop_item_cost(currentShopItem); - if (entry->shop_item != SHOP_ITEM_NONE) - priceMinusCost /= 2; - } + if (entry->shop_item != SHOP_ITEM_NONE) + priceMinusCost /= 2; + } - return customersPerHour * priceMinusCost; + return customersPerHour * priceMinusCost; } /** @@ -442,42 +442,42 @@ static money32 ride_calculate_income_per_hour(rct_ride *ride) */ bool ride_try_get_origin_element(sint32 rideIndex, rct_xy_element *output) { - rct_map_element *resultMapElement = NULL; + rct_map_element *resultMapElement = NULL; - map_element_iterator it; - map_element_iterator_begin(&it); - do { - if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_TRACK) - continue; - if (rideIndex != it.element->properties.track.ride_index) - continue; + map_element_iterator it; + map_element_iterator_begin(&it); + do { + if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_TRACK) + continue; + if (rideIndex != it.element->properties.track.ride_index) + continue; - // Found a track piece for target ride + // Found a track piece for target ride - // Check if it's not the station or ??? (but allow end piece of station) - bool specialTrackPiece = ( - it.element->properties.track.type != TRACK_ELEM_BEGIN_STATION && - it.element->properties.track.type != TRACK_ELEM_MIDDLE_STATION && - (TrackSequenceProperties[it.element->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN) - ); + // Check if it's not the station or ??? (but allow end piece of station) + bool specialTrackPiece = ( + it.element->properties.track.type != TRACK_ELEM_BEGIN_STATION && + it.element->properties.track.type != TRACK_ELEM_MIDDLE_STATION && + (TrackSequenceProperties[it.element->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN) + ); - // Set result tile to this track piece if first found track or a ??? - if (resultMapElement == NULL || specialTrackPiece) { - resultMapElement = it.element; + // Set result tile to this track piece if first found track or a ??? + if (resultMapElement == NULL || specialTrackPiece) { + resultMapElement = it.element; - if (output != NULL) { - output->element = resultMapElement; - output->x = it.x * 32; - output->y = it.y * 32; - } - } + if (output != NULL) { + output->element = resultMapElement; + output->x = it.x * 32; + output->y = it.y * 32; + } + } - if (specialTrackPiece) { - return true; - } - } while (map_element_iterator_next(&it)); + if (specialTrackPiece) { + return true; + } + } while (map_element_iterator_next(&it)); - return resultMapElement != NULL; + return resultMapElement != NULL; } /** @@ -490,59 +490,59 @@ bool ride_try_get_origin_element(sint32 rideIndex, rct_xy_element *output) */ bool track_block_get_next_from_zero(sint16 x, sint16 y, sint16 z_start, uint8 rideIndex, uint8 direction_start, rct_xy_element *output, sint32 *z, sint32 *direction) { - rct_ride* ride = get_ride(rideIndex); + rct_ride* ride = get_ride(rideIndex); - if (!(direction_start & (1 << 2))){ - x += TileDirectionDelta[direction_start].x; - y += TileDirectionDelta[direction_start].y; - } + if (!(direction_start & (1 << 2))){ + x += TileDirectionDelta[direction_start].x; + y += TileDirectionDelta[direction_start].y; + } - rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); - if (mapElement == NULL){ - output->element = NULL; - output->x = MAP_LOCATION_NULL; - return 0; - } + rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); + if (mapElement == NULL){ + output->element = NULL; + output->x = MAP_LOCATION_NULL; + return 0; + } - do{ - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + do{ + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if (mapElement->properties.track.ride_index != rideIndex) - continue; + if (mapElement->properties.track.ride_index != rideIndex) + continue; - if ((mapElement->properties.track.sequence & 0xF) != 0) - continue; + if ((mapElement->properties.track.sequence & 0xF) != 0) + continue; - const rct_preview_track* nextTrackBlock = get_track_def_from_ride(ride, mapElement->properties.track.type); - const rct_track_coordinates* nextTrackCoordinate = get_track_coord_from_ride(ride, mapElement->properties.track.type); + const rct_preview_track* nextTrackBlock = get_track_def_from_ride(ride, mapElement->properties.track.type); + const rct_track_coordinates* nextTrackCoordinate = get_track_coord_from_ride(ride, mapElement->properties.track.type); - uint8 nextRotation = - ((nextTrackCoordinate->rotation_begin + - (mapElement->type & MAP_ELEMENT_DIRECTION_MASK)) & MAP_ELEMENT_DIRECTION_MASK) | - (nextTrackCoordinate->rotation_begin & (1 << 2)); + uint8 nextRotation = + ((nextTrackCoordinate->rotation_begin + + (mapElement->type & MAP_ELEMENT_DIRECTION_MASK)) & MAP_ELEMENT_DIRECTION_MASK) | + (nextTrackCoordinate->rotation_begin & (1 << 2)); - if (nextRotation != direction_start) - continue; + if (nextRotation != direction_start) + continue; - sint16 nextZ = nextTrackCoordinate->z_begin - nextTrackBlock->z + mapElement->base_height * 8; - if (nextZ != z_start) - continue; + sint16 nextZ = nextTrackCoordinate->z_begin - nextTrackBlock->z + mapElement->base_height * 8; + if (nextZ != z_start) + continue; - if (z != NULL) *z = mapElement->base_height * 8; - if (direction != NULL) *direction = nextRotation; - output->x = x; - output->y = y; - output->element = mapElement; - return 1; - } while (!map_element_is_last_for_tile(mapElement++)); + if (z != NULL) *z = mapElement->base_height * 8; + if (direction != NULL) *direction = nextRotation; + output->x = x; + output->y = y; + output->element = mapElement; + return 1; + } while (!map_element_is_last_for_tile(mapElement++)); - if (direction != NULL) *direction = direction_start; - if (z != NULL) *z = z_start; - output->x = x; - output->y = y; - output->element = --mapElement; - return 0; + if (direction != NULL) *direction = direction_start; + if (z != NULL) *z = z_start; + output->x = x; + output->y = y; + output->element = --mapElement; + return 0; } /** @@ -551,54 +551,54 @@ bool track_block_get_next_from_zero(sint16 x, sint16 y, sint16 z_start, uint8 ri */ bool track_block_get_next(rct_xy_element *input, rct_xy_element *output, sint32 *z, sint32 *direction) { - uint8 rideIndex = input->element->properties.track.ride_index; - rct_ride* ride = get_ride(rideIndex); + uint8 rideIndex = input->element->properties.track.ride_index; + rct_ride* ride = get_ride(rideIndex); - const rct_preview_track* trackBlock = get_track_def_from_ride(ride, input->element->properties.track.type); - uint8 sequence = input->element->properties.track.sequence & 0xF; - trackBlock += sequence; + const rct_preview_track* trackBlock = get_track_def_from_ride(ride, input->element->properties.track.type); + uint8 sequence = input->element->properties.track.sequence & 0xF; + trackBlock += sequence; - const rct_track_coordinates* trackCoordinate = get_track_coord_from_ride(ride, input->element->properties.track.type); + const rct_track_coordinates* trackCoordinate = get_track_coord_from_ride(ride, input->element->properties.track.type); - sint32 x = input->x; - sint32 y = input->y; - sint32 OriginZ = input->element->base_height * 8; + sint32 x = input->x; + sint32 y = input->y; + sint32 OriginZ = input->element->base_height * 8; - uint8 rotation = input->element->type & MAP_ELEMENT_DIRECTION_MASK; - switch (rotation){ - case 0: - x += trackCoordinate->x; - x -= trackBlock->x; - y += trackCoordinate->y; - y -= trackBlock->y; - break; - case 1: - x += trackCoordinate->y; - x -= trackBlock->y; - y -= trackCoordinate->x; - y += trackBlock->x; - break; - case 2: - x -= trackCoordinate->x; - x += trackBlock->x; - y -= trackCoordinate->y; - y += trackBlock->y; - break; - case 3: - x -= trackCoordinate->y; - x += trackBlock->y; - y += trackCoordinate->x; - y -= trackBlock->x; - break; - } + uint8 rotation = input->element->type & MAP_ELEMENT_DIRECTION_MASK; + switch (rotation){ + case 0: + x += trackCoordinate->x; + x -= trackBlock->x; + y += trackCoordinate->y; + y -= trackBlock->y; + break; + case 1: + x += trackCoordinate->y; + x -= trackBlock->y; + y -= trackCoordinate->x; + y += trackBlock->x; + break; + case 2: + x -= trackCoordinate->x; + x += trackBlock->x; + y -= trackCoordinate->y; + y += trackBlock->y; + break; + case 3: + x -= trackCoordinate->y; + x += trackBlock->y; + y += trackCoordinate->x; + y -= trackBlock->x; + break; + } - OriginZ -= trackBlock->z; - OriginZ += trackCoordinate->z_end; + OriginZ -= trackBlock->z; + OriginZ += trackCoordinate->z_end; - uint8 directionStart = ((trackCoordinate->rotation_end + rotation) & MAP_ELEMENT_DIRECTION_MASK) | - (trackCoordinate->rotation_end & (1 << 2)); + uint8 directionStart = ((trackCoordinate->rotation_end + rotation) & MAP_ELEMENT_DIRECTION_MASK) | + (trackCoordinate->rotation_end & (1 << 2)); - return track_block_get_next_from_zero(x, y, OriginZ, rideIndex, directionStart, output, z, direction); + return track_block_get_next_from_zero(x, y, OriginZ, rideIndex, directionStart, output, z, direction); } /** @@ -610,95 +610,95 @@ bool track_block_get_next(rct_xy_element *input, rct_xy_element *output, sint32 * rct2: 0x006C63D6 */ bool track_block_get_previous_from_zero(sint16 x, sint16 y, sint16 z, uint8 rideIndex, uint8 direction, track_begin_end *outTrackBeginEnd){ - rct_ride* ride = get_ride(rideIndex); + rct_ride* ride = get_ride(rideIndex); - uint8 directionStart = direction; - direction ^= (1 << 1); + uint8 directionStart = direction; + direction ^= (1 << 1); - if (!(direction & (1 << 2))){ - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; - } + if (!(direction & (1 << 2))){ + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; + } - rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); - if (mapElement == NULL){ - outTrackBeginEnd->end_x = x; - outTrackBeginEnd->end_y = y; - outTrackBeginEnd->begin_element = NULL; - outTrackBeginEnd->begin_direction = directionStart ^ (1 << 1); - return 0; - } + rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); + if (mapElement == NULL){ + outTrackBeginEnd->end_x = x; + outTrackBeginEnd->end_y = y; + outTrackBeginEnd->begin_element = NULL; + outTrackBeginEnd->begin_direction = directionStart ^ (1 << 1); + return 0; + } - do{ - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + do{ + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if (mapElement->properties.track.ride_index != rideIndex) - continue; + if (mapElement->properties.track.ride_index != rideIndex) + continue; - const rct_preview_track* nextTrackBlock = get_track_def_from_ride(ride, mapElement->properties.track.type); - const rct_track_coordinates* nextTrackCoordinate = get_track_coord_from_ride(ride, mapElement->properties.track.type); + const rct_preview_track* nextTrackBlock = get_track_def_from_ride(ride, mapElement->properties.track.type); + const rct_track_coordinates* nextTrackCoordinate = get_track_coord_from_ride(ride, mapElement->properties.track.type); - nextTrackBlock += mapElement->properties.track.sequence & 0xF; - if ((nextTrackBlock + 1)->index != 255) - continue; + nextTrackBlock += mapElement->properties.track.sequence & 0xF; + if ((nextTrackBlock + 1)->index != 255) + continue; - uint8 nextRotation = - ((nextTrackCoordinate->rotation_end + - (mapElement->type & MAP_ELEMENT_DIRECTION_MASK)) & MAP_ELEMENT_DIRECTION_MASK) | - (nextTrackCoordinate->rotation_end & (1 << 2)); + uint8 nextRotation = + ((nextTrackCoordinate->rotation_end + + (mapElement->type & MAP_ELEMENT_DIRECTION_MASK)) & MAP_ELEMENT_DIRECTION_MASK) | + (nextTrackCoordinate->rotation_end & (1 << 2)); - if (nextRotation != directionStart) - continue; + if (nextRotation != directionStart) + continue; - sint16 nextZ = nextTrackCoordinate->z_end - nextTrackBlock->z + mapElement->base_height * 8; - if (nextZ != z) - continue; + sint16 nextZ = nextTrackCoordinate->z_end - nextTrackBlock->z + mapElement->base_height * 8; + if (nextZ != z) + continue; - nextRotation = - ((nextTrackCoordinate->rotation_begin + - (mapElement->type & MAP_ELEMENT_DIRECTION_MASK)) & MAP_ELEMENT_DIRECTION_MASK) | - (nextTrackCoordinate->rotation_begin & (1 << 2)); - outTrackBeginEnd->begin_element = mapElement; - outTrackBeginEnd->begin_x = x; - outTrackBeginEnd->begin_y = y; - outTrackBeginEnd->end_x = x; - outTrackBeginEnd->end_y = y; - switch (nextRotation & 3){ - case 0: - outTrackBeginEnd->begin_x -= nextTrackCoordinate->x; - outTrackBeginEnd->begin_y -= nextTrackCoordinate->y; - break; - case 1: - outTrackBeginEnd->begin_x -= nextTrackCoordinate->y; - outTrackBeginEnd->begin_y += nextTrackCoordinate->x; - break; - case 2: - outTrackBeginEnd->begin_x += nextTrackCoordinate->x; - outTrackBeginEnd->begin_y += nextTrackCoordinate->y; - break; - case 3: - outTrackBeginEnd->begin_x += nextTrackCoordinate->y; - outTrackBeginEnd->begin_y -= nextTrackCoordinate->x; - break; - } + nextRotation = + ((nextTrackCoordinate->rotation_begin + + (mapElement->type & MAP_ELEMENT_DIRECTION_MASK)) & MAP_ELEMENT_DIRECTION_MASK) | + (nextTrackCoordinate->rotation_begin & (1 << 2)); + outTrackBeginEnd->begin_element = mapElement; + outTrackBeginEnd->begin_x = x; + outTrackBeginEnd->begin_y = y; + outTrackBeginEnd->end_x = x; + outTrackBeginEnd->end_y = y; + switch (nextRotation & 3){ + case 0: + outTrackBeginEnd->begin_x -= nextTrackCoordinate->x; + outTrackBeginEnd->begin_y -= nextTrackCoordinate->y; + break; + case 1: + outTrackBeginEnd->begin_x -= nextTrackCoordinate->y; + outTrackBeginEnd->begin_y += nextTrackCoordinate->x; + break; + case 2: + outTrackBeginEnd->begin_x += nextTrackCoordinate->x; + outTrackBeginEnd->begin_y += nextTrackCoordinate->y; + break; + case 3: + outTrackBeginEnd->begin_x += nextTrackCoordinate->y; + outTrackBeginEnd->begin_y -= nextTrackCoordinate->x; + break; + } - outTrackBeginEnd->begin_z = mapElement->base_height * 8; - outTrackBeginEnd->begin_z += - get_track_def_from_ride(ride, mapElement->properties.track.type)->z - - nextTrackBlock->z; + outTrackBeginEnd->begin_z = mapElement->base_height * 8; + outTrackBeginEnd->begin_z += + get_track_def_from_ride(ride, mapElement->properties.track.type)->z - + nextTrackBlock->z; - outTrackBeginEnd->begin_direction = nextRotation; - outTrackBeginEnd->end_direction = directionStart ^ (1 << 1); - return 1; - } while (!map_element_is_last_for_tile(mapElement++)); + outTrackBeginEnd->begin_direction = nextRotation; + outTrackBeginEnd->end_direction = directionStart ^ (1 << 1); + return 1; + } while (!map_element_is_last_for_tile(mapElement++)); - outTrackBeginEnd->end_x = x; - outTrackBeginEnd->end_y = y; - outTrackBeginEnd->begin_z = z; - outTrackBeginEnd->begin_element = NULL; - outTrackBeginEnd->end_direction = directionStart ^ (1 << 1); - return 0; + outTrackBeginEnd->end_x = x; + outTrackBeginEnd->end_y = y; + outTrackBeginEnd->begin_z = z; + outTrackBeginEnd->begin_element = NULL; + outTrackBeginEnd->end_direction = directionStart ^ (1 << 1); + return 0; } /** @@ -711,45 +711,45 @@ bool track_block_get_previous_from_zero(sint16 x, sint16 y, sint16 z, uint8 ride */ bool track_block_get_previous(sint32 x, sint32 y, rct_map_element *mapElement, track_begin_end *outTrackBeginEnd) { - uint8 rideIndex = mapElement->properties.track.ride_index; - rct_ride* ride = get_ride(rideIndex); + uint8 rideIndex = mapElement->properties.track.ride_index; + rct_ride* ride = get_ride(rideIndex); - const rct_preview_track* trackBlock = get_track_def_from_ride(ride, mapElement->properties.track.type); - uint8 sequence = mapElement->properties.track.sequence & 0xF; - trackBlock += sequence; + const rct_preview_track* trackBlock = get_track_def_from_ride(ride, mapElement->properties.track.type); + uint8 sequence = mapElement->properties.track.sequence & 0xF; + trackBlock += sequence; - const rct_track_coordinates* trackCoordinate = get_track_coord_from_ride(ride, mapElement->properties.track.type); + const rct_track_coordinates* trackCoordinate = get_track_coord_from_ride(ride, mapElement->properties.track.type); - sint32 z = mapElement->base_height * 8; + sint32 z = mapElement->base_height * 8; - uint8 rotation = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - switch (rotation){ - case 0: - x -= trackBlock->x; - y -= trackBlock->y; - break; - case 1: - x -= trackBlock->y; - y += trackBlock->x; - break; - case 2: - x += trackBlock->x; - y += trackBlock->y; - break; - case 3: - x += trackBlock->y; - y -= trackBlock->x; - break; - } + uint8 rotation = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + switch (rotation){ + case 0: + x -= trackBlock->x; + y -= trackBlock->y; + break; + case 1: + x -= trackBlock->y; + y += trackBlock->x; + break; + case 2: + x += trackBlock->x; + y += trackBlock->y; + break; + case 3: + x += trackBlock->y; + y -= trackBlock->x; + break; + } - z -= trackBlock->z; - z += trackCoordinate->z_begin; + z -= trackBlock->z; + z += trackCoordinate->z_begin; - rotation = - ((trackCoordinate->rotation_begin + rotation) & MAP_ELEMENT_DIRECTION_MASK) | - (trackCoordinate->rotation_begin & (1 << 2)); + rotation = + ((trackCoordinate->rotation_begin + rotation) & MAP_ELEMENT_DIRECTION_MASK) | + (trackCoordinate->rotation_begin & (1 << 2)); - return track_block_get_previous_from_zero(x, y, z, rideIndex, rotation, outTrackBeginEnd); + return track_block_get_previous_from_zero(x, y, z, rideIndex, rotation, outTrackBeginEnd); } /** @@ -762,50 +762,50 @@ bool track_block_get_previous(sint32 x, sint32 y, rct_map_element *mapElement, t */ sint32 ride_find_track_gap(rct_xy_element *input, rct_xy_element *output) { - rct_window *w; - rct_ride *ride; - track_circuit_iterator it = { 0 }, slowIt; - sint32 rideIndex; + rct_window *w; + rct_ride *ride; + track_circuit_iterator it = { 0 }, slowIt; + sint32 rideIndex; - assert(map_element_get_type(input->element) == MAP_ELEMENT_TYPE_TRACK); - rideIndex = input->element->properties.track.ride_index; - ride = get_ride(rideIndex); + assert(map_element_get_type(input->element) == MAP_ELEMENT_TYPE_TRACK); + rideIndex = input->element->properties.track.ride_index; + ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_MAZE) - return 0; + if (ride->type == RIDE_TYPE_MAZE) + return 0; - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != NULL && _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && _currentRideIndex == rideIndex) - ride_construction_invalidate_current_track(); + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w != NULL && _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && _currentRideIndex == rideIndex) + ride_construction_invalidate_current_track(); - bool counter = true; - track_circuit_iterator_begin(&it, *input); - slowIt = it; - while (track_circuit_iterator_next(&it)) { - if (!track_is_connected_by_shape(it.last.element, it.current.element)) { - *output = it.current; - return 1; - } - //#2081: prevent an infinite loop - counter = !counter; - if (counter) { - track_circuit_iterator_next(&slowIt); - if (slowIt.currentZ == it.currentZ && - slowIt.currentDirection == it.currentDirection && - slowIt.current.x == it.current.x && - slowIt.current.y == it.current.y) { - *output = it.current; - return 1; - } - } + bool counter = true; + track_circuit_iterator_begin(&it, *input); + slowIt = it; + while (track_circuit_iterator_next(&it)) { + if (!track_is_connected_by_shape(it.last.element, it.current.element)) { + *output = it.current; + return 1; + } + //#2081: prevent an infinite loop + counter = !counter; + if (counter) { + track_circuit_iterator_next(&slowIt); + if (slowIt.currentZ == it.currentZ && + slowIt.currentDirection == it.currentDirection && + slowIt.current.x == it.current.x && + slowIt.current.y == it.current.y) { + *output = it.current; + return 1; + } + } - } - if (!it.looped) { - *output = it.last; - return 1; - } + } + if (!it.looped) { + *output = it.last; + return 1; + } - return 0; + return 0; } /** @@ -814,92 +814,92 @@ sint32 ride_find_track_gap(rct_xy_element *input, rct_xy_element *output) */ void ride_get_status(sint32 rideIndex, rct_string_id *formatSecondary, sint32 *argument) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - if (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED) { - *formatSecondary = STR_CRASHED; - return; - } - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { - *formatSecondary = STR_BROKEN_DOWN; - return; - } - if (ride->status == RIDE_STATUS_CLOSED) { - *formatSecondary = STR_CLOSED; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED) { + *formatSecondary = STR_CRASHED; + return; + } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { + *formatSecondary = STR_BROKEN_DOWN; + return; + } + if (ride->status == RIDE_STATUS_CLOSED) { + *formatSecondary = STR_CLOSED; - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) { - *argument = ride->num_riders; + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) { + *argument = ride->num_riders; - if (*argument == 1) { - *formatSecondary = STR_CLOSED_WITH_PERSON; - } else if (*argument > 1) { - *formatSecondary = STR_CLOSED_WITH_PEOPLE; - } - } + if (*argument == 1) { + *formatSecondary = STR_CLOSED_WITH_PERSON; + } else if (*argument > 1) { + *formatSecondary = STR_CLOSED_WITH_PEOPLE; + } + } - return; - } - if (ride->status == RIDE_STATUS_TESTING) { - *formatSecondary = STR_TEST_RUN; - return; - } - if (ride->mode == RIDE_MODE_RACE && !(ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) && ride->race_winner != SPRITE_INDEX_NULL && (GET_PEEP(ride->race_winner))->sprite_identifier == SPRITE_IDENTIFIER_PEEP) { - rct_peep *peep = GET_PEEP(ride->race_winner); - if (peep->name_string_idx == STR_GUEST_X) { - *argument = peep->id; - *formatSecondary = STR_RACE_WON_BY_GUEST; - } else { - *argument = peep->name_string_idx; - *formatSecondary = STR_RACE_WON_BY; - } - } else { - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) { - *argument = ride->num_riders; - *formatSecondary = STR_PERSON_ON_RIDE; - if (*argument != 1) - *formatSecondary = STR_PEOPLE_ON_RIDE; + return; + } + if (ride->status == RIDE_STATUS_TESTING) { + *formatSecondary = STR_TEST_RUN; + return; + } + if (ride->mode == RIDE_MODE_RACE && !(ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) && ride->race_winner != SPRITE_INDEX_NULL && (GET_PEEP(ride->race_winner))->sprite_identifier == SPRITE_IDENTIFIER_PEEP) { + rct_peep *peep = GET_PEEP(ride->race_winner); + if (peep->name_string_idx == STR_GUEST_X) { + *argument = peep->id; + *formatSecondary = STR_RACE_WON_BY_GUEST; + } else { + *argument = peep->name_string_idx; + *formatSecondary = STR_RACE_WON_BY; + } + } else { + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) { + *argument = ride->num_riders; + *formatSecondary = STR_PERSON_ON_RIDE; + if (*argument != 1) + *formatSecondary = STR_PEOPLE_ON_RIDE; - } else { - *formatSecondary = STR_OPEN; - } - } + } else { + *formatSecondary = STR_OPEN; + } + } } sint32 ride_get_total_length(rct_ride *ride) { - sint32 i, totalLength = 0; - for (i = 0; i < ride->num_stations; i++) - totalLength += ride->length[i]; - return totalLength; + sint32 i, totalLength = 0; + for (i = 0; i < ride->num_stations; i++) + totalLength += ride->length[i]; + return totalLength; } sint32 ride_get_total_time(rct_ride *ride) { - sint32 i, totalTime = 0; - for (i = 0; i < ride->num_stations; i++) - totalTime += ride->time[i]; - return totalTime; + sint32 i, totalTime = 0; + for (i = 0; i < ride->num_stations; i++) + totalTime += ride->time[i]; + return totalTime; } sint32 ride_can_have_multiple_circuits(rct_ride *ride) { - if (!(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS)) - return 0; + if (!(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS)) + return 0; - // Only allow circuit or launch modes - if ( - ride->mode != RIDE_MODE_CONTINUOUS_CIRCUIT && - ride->mode != RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE && - ride->mode != RIDE_MODE_POWERED_LAUNCH_PASSTROUGH - ) { - return 0; - } + // Only allow circuit or launch modes + if ( + ride->mode != RIDE_MODE_CONTINUOUS_CIRCUIT && + ride->mode != RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE && + ride->mode != RIDE_MODE_POWERED_LAUNCH_PASSTROUGH + ) { + return 0; + } - // Must have no more than one vehicle and one station - if (ride->num_vehicles > 1 || ride->num_stations > 1) - return 0; + // Must have no more than one vehicle and one station + if (ride->num_vehicles > 1 || ride->num_stations > 1) + return 0; - return 1; + return 1; } #pragma region Initialisation functions @@ -910,15 +910,15 @@ sint32 ride_can_have_multiple_circuits(rct_ride *ride) */ void ride_init_all() { - for (sint32 i = 0; i < MAX_RIDES; i++) { - rct_ride *ride = get_ride(i); - ride->type = RIDE_TYPE_NULL; - } + for (sint32 i = 0; i < MAX_RIDES; i++) { + rct_ride *ride = get_ride(i); + ride->type = RIDE_TYPE_NULL; + } - for (sint32 i = 0; i < MAX_RIDE_MEASUREMENTS; i++) { - rct_ride_measurement *ride_measurement = get_ride_measurement(i); - ride_measurement->ride_index = 255; - } + for (sint32 i = 0; i < MAX_RIDE_MEASUREMENTS; i++) { + rct_ride_measurement *ride_measurement = get_ride_measurement(i); + ride_measurement->ride_index = 255; + } } /** @@ -927,11 +927,11 @@ void ride_init_all() */ void reset_all_ride_build_dates() { - sint32 i; - rct_ride *ride; + sint32 i; + rct_ride *ride; - FOR_ALL_RIDES(i, ride) - ride->build_date -= gDateMonthsElapsed; + FOR_ALL_RIDES(i, ride) + ride->build_date -= gDateMonthsElapsed; } #pragma endregion @@ -940,60 +940,60 @@ void reset_all_ride_build_dates() static sint32 ride_check_if_construction_allowed(rct_ride *ride) { - rct_ride_entry *rideType = get_ride_entry_by_ride(ride); - if (rideType == NULL) { - window_error_open(STR_INVALID_RIDE_TYPE, STR_CANT_EDIT_INVALID_RIDE_TYPE); - return 0; - } - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); - window_error_open(STR_CANT_START_CONSTRUCTION_ON, STR_HAS_BROKEN_DOWN_AND_REQUIRES_FIXING); - return 0; - } + rct_ride_entry *rideType = get_ride_entry_by_ride(ride); + if (rideType == NULL) { + window_error_open(STR_INVALID_RIDE_TYPE, STR_CANT_EDIT_INVALID_RIDE_TYPE); + return 0; + } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); + window_error_open(STR_CANT_START_CONSTRUCTION_ON, STR_HAS_BROKEN_DOWN_AND_REQUIRES_FIXING); + return 0; + } - if (ride->status != RIDE_STATUS_CLOSED) { - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); - window_error_open(STR_CANT_START_CONSTRUCTION_ON, STR_MUST_BE_CLOSED_FIRST); - return 0; - } + if (ride->status != RIDE_STATUS_CLOSED) { + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); + window_error_open(STR_CANT_START_CONSTRUCTION_ON, STR_MUST_BE_CLOSED_FIRST); + return 0; + } - return 1; + return 1; } static rct_window *ride_create_or_find_construction_window(sint32 rideIndex) { - rct_window *w; + rct_window *w; - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || w->number != rideIndex) { - window_close_construction_windows(); - _currentRideIndex = rideIndex; - w = window_ride_construction_open(); - } else { - ride_construction_invalidate_current_track(); - _currentRideIndex = rideIndex; - } + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || w->number != rideIndex) { + window_close_construction_windows(); + _currentRideIndex = rideIndex; + w = window_ride_construction_open(); + } else { + ride_construction_invalidate_current_track(); + _currentRideIndex = rideIndex; + } - return w; + return w; } static sint32 ride_create_ride(ride_list_item listItem) { - sint32 eax, ebx, ecx, edx, esi, edi, ebp; - edx = listItem.ride_type_and_entry; - eax = 0; - ecx = 0; - ebx = GAME_COMMAND_FLAG_APPLY; - edi = 0; - esi = GAME_COMMAND_CREATE_RIDE; - ebp = 0; + sint32 eax, ebx, ecx, edx, esi, edi, ebp; + edx = listItem.ride_type_and_entry; + eax = 0; + ecx = 0; + ebx = GAME_COMMAND_FLAG_APPLY; + edi = 0; + esi = GAME_COMMAND_CREATE_RIDE; + ebp = 0; - gGameCommandErrorTitle = STR_CANT_CREATE_NEW_RIDE_ATTRACTION; + gGameCommandErrorTitle = STR_CANT_CREATE_NEW_RIDE_ATTRACTION; - game_do_command_p(esi, &eax, &ebx, &ecx, &edx, &esi, &edi, &ebp); - return ebx == MONEY32_UNDEFINED ? -1 : edi; + game_do_command_p(esi, &eax, &ebx, &ecx, &edx, &esi, &edi, &ebp); + return ebx == MONEY32_UNDEFINED ? -1 : edi; } /** @@ -1002,8 +1002,8 @@ static sint32 ride_create_ride(ride_list_item listItem) */ void ride_construct_new(ride_list_item listItem) { - game_command_callback = game_command_callback_ride_construct_new; - ride_create_ride(listItem); + game_command_callback = game_command_callback_ride_construct_new; + ride_create_ride(listItem); } /** @@ -1012,17 +1012,17 @@ void ride_construct_new(ride_list_item listItem) */ void ride_construct(sint32 rideIndex) { - rct_xy_element trackElement; + rct_xy_element trackElement; - if (ride_try_get_origin_element(rideIndex, &trackElement)) { - ride_find_track_gap(&trackElement, &trackElement); + if (ride_try_get_origin_element(rideIndex, &trackElement)) { + ride_find_track_gap(&trackElement, &trackElement); - rct_window *w = window_get_main(); - if (w != NULL && ride_modify(&trackElement)) - window_scroll_to_location(w, trackElement.x, trackElement.y, trackElement.element->base_height * 8); - } else { - ride_initialise_construction_window(rideIndex); - } + rct_window *w = window_get_main(); + if (w != NULL && ride_modify(&trackElement)) + window_scroll_to_location(w, trackElement.x, trackElement.y, trackElement.element->base_height * 8); + } else { + ride_initialise_construction_window(rideIndex); + } } /** @@ -1031,16 +1031,16 @@ void ride_construct(sint32 rideIndex) */ static void ride_remove_cable_lift(rct_ride *ride) { - if (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT) { - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_CABLE_LIFT; - uint16 spriteIndex = ride->cable_lift; - do { - rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); - invalidate_sprite_2((rct_sprite*)vehicle); - sprite_remove((rct_sprite*)vehicle); - spriteIndex = vehicle->next_vehicle_on_train; - } while (spriteIndex != SPRITE_INDEX_NULL); - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT) { + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_CABLE_LIFT; + uint16 spriteIndex = ride->cable_lift; + do { + rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); + invalidate_sprite_2((rct_sprite*)vehicle); + sprite_remove((rct_sprite*)vehicle); + spriteIndex = vehicle->next_vehicle_on_train; + } while (spriteIndex != SPRITE_INDEX_NULL); + } } /** @@ -1049,25 +1049,25 @@ static void ride_remove_cable_lift(rct_ride *ride) */ static void ride_remove_vehicles(rct_ride *ride) { - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) { - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_ON_TRACK; - ride->lifecycle_flags &= ~(RIDE_LIFECYCLE_TEST_IN_PROGRESS | RIDE_LIFECYCLE_HAS_STALLED_VEHICLE); + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) { + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_ON_TRACK; + ride->lifecycle_flags &= ~(RIDE_LIFECYCLE_TEST_IN_PROGRESS | RIDE_LIFECYCLE_HAS_STALLED_VEHICLE); - for (size_t i = 0; i < 32; i++) { - uint16 spriteIndex = ride->vehicles[i]; - while (spriteIndex != SPRITE_INDEX_NULL) { - rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); - invalidate_sprite_2((rct_sprite*)vehicle); - sprite_remove((rct_sprite*)vehicle); - spriteIndex = vehicle->next_vehicle_on_train; - } + for (size_t i = 0; i < 32; i++) { + uint16 spriteIndex = ride->vehicles[i]; + while (spriteIndex != SPRITE_INDEX_NULL) { + rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); + invalidate_sprite_2((rct_sprite*)vehicle); + sprite_remove((rct_sprite*)vehicle); + spriteIndex = vehicle->next_vehicle_on_train; + } - ride->vehicles[i] = SPRITE_INDEX_NULL; - } + ride->vehicles[i] = SPRITE_INDEX_NULL; + } - for (size_t i = 0; i < 4; i++) - ride->train_at_station[i] = 255; - } + for (size_t i = 0; i < 4; i++) + ride->train_at_station[i] = 255; + } } /** @@ -1076,22 +1076,22 @@ static void ride_remove_vehicles(rct_ride *ride) */ void ride_clear_for_construction(sint32 rideIndex) { - rct_ride *ride; - rct_window *w; + rct_ride *ride; + rct_window *w; - ride = get_ride(rideIndex); + ride = get_ride(rideIndex); - ride_measurement_clear(ride); + ride_measurement_clear(ride); - ride->lifecycle_flags &= ~(RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + ride->lifecycle_flags &= ~(RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; - ride_remove_cable_lift(ride); - ride_remove_vehicles(ride); + ride_remove_cable_lift(ride); + ride_remove_vehicles(ride); - w = window_find_by_number(WC_RIDE, rideIndex); - if (w != NULL) - window_event_resize_call(w); + w = window_find_by_number(WC_RIDE, rideIndex); + if (w != NULL) + window_event_resize_call(w); } /** @@ -1100,87 +1100,87 @@ void ride_clear_for_construction(sint32 rideIndex) */ void ride_remove_peeps(sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - // Find first station - sint32 stationIndex = -1; - for (sint32 i = 0; i < 4; i++) { - if (ride->station_starts[i] != 0xFFFF) { - stationIndex = i; - break; - } - } + // Find first station + sint32 stationIndex = -1; + for (sint32 i = 0; i < 4; i++) { + if (ride->station_starts[i] != 0xFFFF) { + stationIndex = i; + break; + } + } - // Get exit position and direction - sint32 exitX = 0; - sint32 exitY = 0; - sint32 exitZ = 0; - sint32 exitDirection = 255; - if (stationIndex != -1) { - uint16 xy = ride->exits[stationIndex]; - if (xy != 0xFFFF) { - exitX = xy & 0xFF; - exitY = xy >> 8; - exitZ = ride->station_heights[stationIndex]; - rct_map_element *mapElement = ride_get_station_exit_element(ride, exitX, exitY, exitZ); + // Get exit position and direction + sint32 exitX = 0; + sint32 exitY = 0; + sint32 exitZ = 0; + sint32 exitDirection = 255; + if (stationIndex != -1) { + uint16 xy = ride->exits[stationIndex]; + if (xy != 0xFFFF) { + exitX = xy & 0xFF; + exitY = xy >> 8; + exitZ = ride->station_heights[stationIndex]; + rct_map_element *mapElement = ride_get_station_exit_element(ride, exitX, exitY, exitZ); - exitDirection = (mapElement == NULL ? 0 : mapElement->type & MAP_ELEMENT_DIRECTION_MASK); - exitX = (exitX * 32) - (word_981D6C[exitDirection].x * 20) + 16; - exitY = (exitY * 32) - (word_981D6C[exitDirection].y * 20) + 16; - exitZ = (exitZ * 8) + 2; + exitDirection = (mapElement == NULL ? 0 : mapElement->type & MAP_ELEMENT_DIRECTION_MASK); + exitX = (exitX * 32) - (word_981D6C[exitDirection].x * 20) + 16; + exitY = (exitY * 32) - (word_981D6C[exitDirection].y * 20) + 16; + exitZ = (exitZ * 8) + 2; - // Reverse direction - exitDirection ^= 2; + // Reverse direction + exitDirection ^= 2; - exitDirection *= 8; - } - } + exitDirection *= 8; + } + } - // Place all the peeps at exit - uint16 spriteIndex; - rct_peep *peep; - FOR_ALL_PEEPS(spriteIndex, peep) { - if ( - peep->state == PEEP_STATE_QUEUING_FRONT || - peep->state == PEEP_STATE_ENTERING_RIDE || - peep->state == PEEP_STATE_LEAVING_RIDE || - peep->state == PEEP_STATE_ON_RIDE - ) { - if (peep->current_ride != rideIndex) - continue; + // Place all the peeps at exit + uint16 spriteIndex; + rct_peep *peep; + FOR_ALL_PEEPS(spriteIndex, peep) { + if ( + peep->state == PEEP_STATE_QUEUING_FRONT || + peep->state == PEEP_STATE_ENTERING_RIDE || + peep->state == PEEP_STATE_LEAVING_RIDE || + peep->state == PEEP_STATE_ON_RIDE + ) { + if (peep->current_ride != rideIndex) + continue; - peep_decrement_num_riders(peep); - if (peep->state == PEEP_STATE_QUEUING_FRONT && peep->sub_state == 0) - remove_peep_from_queue(peep); + peep_decrement_num_riders(peep); + if (peep->state == PEEP_STATE_QUEUING_FRONT && peep->sub_state == 0) + remove_peep_from_queue(peep); - invalidate_sprite_2((rct_sprite*)peep); + invalidate_sprite_2((rct_sprite*)peep); - if (exitDirection == 255) { - sint32 x = peep->next_x + 16; - sint32 y = peep->next_y + 16; - sint32 z = peep->next_z * 8; - if (peep->next_var_29 & 4) - z += 8; - z++; - sprite_move(x, y, z, (rct_sprite*)peep); - } else { - sprite_move(exitX, exitY, exitZ, (rct_sprite*)peep); - peep->sprite_direction = exitDirection; - } + if (exitDirection == 255) { + sint32 x = peep->next_x + 16; + sint32 y = peep->next_y + 16; + sint32 z = peep->next_z * 8; + if (peep->next_var_29 & 4) + z += 8; + z++; + sprite_move(x, y, z, (rct_sprite*)peep); + } else { + sprite_move(exitX, exitY, exitZ, (rct_sprite*)peep); + peep->sprite_direction = exitDirection; + } - invalidate_sprite_2((rct_sprite*)peep); - peep->state = PEEP_STATE_FALLING; - peep_switch_to_special_sprite(peep, 0); + invalidate_sprite_2((rct_sprite*)peep); + peep->state = PEEP_STATE_FALLING; + peep_switch_to_special_sprite(peep, 0); - peep->happiness = min(peep->happiness, peep->happiness_growth_rate) / 2; - peep->happiness_growth_rate = peep->happiness; - peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_STATS; - } - } + peep->happiness = min(peep->happiness, peep->happiness_growth_rate) / 2; + peep->happiness_growth_rate = peep->happiness; + peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_STATS; + } + } - ride->num_riders = 0; - ride->slide_in_use = 0; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN; + ride->num_riders = 0; + ride->slide_in_use = 0; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN; } /** @@ -1196,192 +1196,192 @@ void ride_remove_peeps(sint32 rideIndex) */ sint32 sub_6C683D(sint32* x, sint32* y, sint32* z, sint32 direction, sint32 type, uint16 extra_params, rct_map_element** output_element, uint16 flags) { - rct_map_element *mapElement = map_get_first_element_at(*x / 32, *y / 32); - rct_map_element *successMapElement = NULL; + rct_map_element *mapElement = map_get_first_element_at(*x / 32, *y / 32); + rct_map_element *successMapElement = NULL; - do { - if (mapElement->base_height != *z / 8) - continue; + do { + if (mapElement->base_height != *z / 8) + continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != direction) - continue; + if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != direction) + continue; - if (type != mapElement->properties.track.type) - continue; + if (type != mapElement->properties.track.type) + continue; - successMapElement = mapElement; - if ((mapElement->properties.track.sequence & 0x0F) == 0) - break; - } while (!map_element_is_last_for_tile(mapElement++)); + successMapElement = mapElement; + if ((mapElement->properties.track.sequence & 0x0F) == 0) + break; + } while (!map_element_is_last_for_tile(mapElement++)); - mapElement = successMapElement; - if (mapElement == NULL) - return 1; + mapElement = successMapElement; + if (mapElement == NULL) + return 1; - // Possibly z should be & 0xF8 - const rct_preview_track *trackBlock = get_track_def_from_ride_index(mapElement->properties.track.ride_index, type); + // Possibly z should be & 0xF8 + const rct_preview_track *trackBlock = get_track_def_from_ride_index(mapElement->properties.track.ride_index, type); - sint32 sequence = mapElement->properties.track.sequence & 0x0F; - uint8 mapDirection = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + sint32 sequence = mapElement->properties.track.sequence & 0x0F; + uint8 mapDirection = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - switch (mapDirection){ - case MAP_ELEMENT_DIRECTION_WEST: - *x -= trackBlock[sequence].x; - *y -= trackBlock[sequence].y; - break; - case MAP_ELEMENT_DIRECTION_NORTH: - *x -= trackBlock[sequence].y; - *y += trackBlock[sequence].x; - break; - case MAP_ELEMENT_DIRECTION_EAST: - *x += trackBlock[sequence].x; - *y += trackBlock[sequence].y; - break; - case MAP_ELEMENT_DIRECTION_SOUTH: - *x += trackBlock[sequence].y; - *y -= trackBlock[sequence].x; - break; - } - *z -= trackBlock[sequence].z; + switch (mapDirection){ + case MAP_ELEMENT_DIRECTION_WEST: + *x -= trackBlock[sequence].x; + *y -= trackBlock[sequence].y; + break; + case MAP_ELEMENT_DIRECTION_NORTH: + *x -= trackBlock[sequence].y; + *y += trackBlock[sequence].x; + break; + case MAP_ELEMENT_DIRECTION_EAST: + *x += trackBlock[sequence].x; + *y += trackBlock[sequence].y; + break; + case MAP_ELEMENT_DIRECTION_SOUTH: + *x += trackBlock[sequence].y; + *y -= trackBlock[sequence].x; + break; + } + *z -= trackBlock[sequence].z; - sint32 start_x = *x, start_y = *y, start_z = *z; - *z += trackBlock[0].z; - for (sint32 i = 0; trackBlock[i].index != 0xFF; ++i){ - sint32 cur_x = start_x, cur_y = start_y, cur_z = start_z; - switch (mapDirection){ - case MAP_ELEMENT_DIRECTION_WEST: - cur_x += trackBlock[i].x; - cur_y += trackBlock[i].y; - break; - case MAP_ELEMENT_DIRECTION_NORTH: - cur_x += trackBlock[i].y; - cur_y -= trackBlock[i].x; - break; - case MAP_ELEMENT_DIRECTION_EAST: - cur_x -= trackBlock[i].x; - cur_y -= trackBlock[i].y; - break; - case MAP_ELEMENT_DIRECTION_SOUTH: - cur_x -= trackBlock[i].y; - cur_y += trackBlock[i].x; - break; - } - cur_z += trackBlock[i].z; + sint32 start_x = *x, start_y = *y, start_z = *z; + *z += trackBlock[0].z; + for (sint32 i = 0; trackBlock[i].index != 0xFF; ++i){ + sint32 cur_x = start_x, cur_y = start_y, cur_z = start_z; + switch (mapDirection){ + case MAP_ELEMENT_DIRECTION_WEST: + cur_x += trackBlock[i].x; + cur_y += trackBlock[i].y; + break; + case MAP_ELEMENT_DIRECTION_NORTH: + cur_x += trackBlock[i].y; + cur_y -= trackBlock[i].x; + break; + case MAP_ELEMENT_DIRECTION_EAST: + cur_x -= trackBlock[i].x; + cur_y -= trackBlock[i].y; + break; + case MAP_ELEMENT_DIRECTION_SOUTH: + cur_x -= trackBlock[i].y; + cur_y += trackBlock[i].x; + break; + } + cur_z += trackBlock[i].z; - map_invalidate_tile_full(cur_x, cur_y); + map_invalidate_tile_full(cur_x, cur_y); - mapElement = map_get_first_element_at(cur_x / 32, cur_y / 32); - successMapElement = NULL; - do { - if (mapElement->base_height != cur_z / 8) - continue; + mapElement = map_get_first_element_at(cur_x / 32, cur_y / 32); + successMapElement = NULL; + do { + if (mapElement->base_height != cur_z / 8) + continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != direction) - continue; + if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != direction) + continue; - if ((mapElement->properties.track.sequence & 0xF) != trackBlock[i].index) - continue; + if ((mapElement->properties.track.sequence & 0xF) != trackBlock[i].index) + continue; - if (type == mapElement->properties.track.type) { - successMapElement = mapElement; - break; - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (type == mapElement->properties.track.type) { + successMapElement = mapElement; + break; + } + } while (!map_element_is_last_for_tile(mapElement++)); - if (successMapElement == NULL) { - return 1; - } - if (i == 0 && output_element != NULL) { - *output_element = mapElement; - } - if (flags & (1 << 0)) { - // Switch highlight off - mapElement->type &= ~MAP_ELEMENT_TYPE_FLAG_HIGHLIGHT; - } - if (flags & (1 << 1)) { - // Switch highlight on - mapElement->type |= MAP_ELEMENT_TYPE_FLAG_HIGHLIGHT; - } - if (flags & (1 << 2)) { - mapElement->properties.track.colour &= 0xFC; - mapElement->properties.track.colour |= extra_params & 0xFF; - } - if (flags & (1 << 5)) { - // Seat rotation - mapElement->properties.track.colour &= 0x0F; - mapElement->properties.track.colour |= (extra_params & 0xFF) << 4; - } + if (successMapElement == NULL) { + return 1; + } + if (i == 0 && output_element != NULL) { + *output_element = mapElement; + } + if (flags & (1 << 0)) { + // Switch highlight off + mapElement->type &= ~MAP_ELEMENT_TYPE_FLAG_HIGHLIGHT; + } + if (flags & (1 << 1)) { + // Switch highlight on + mapElement->type |= MAP_ELEMENT_TYPE_FLAG_HIGHLIGHT; + } + if (flags & (1 << 2)) { + mapElement->properties.track.colour &= 0xFC; + mapElement->properties.track.colour |= extra_params & 0xFF; + } + if (flags & (1 << 5)) { + // Seat rotation + mapElement->properties.track.colour &= 0x0F; + mapElement->properties.track.colour |= (extra_params & 0xFF) << 4; + } - if (flags & (1 << 3)) { - track_element_set_cable_lift(mapElement); - } - if (flags & (1 << 4)) { - track_element_clear_cable_lift(mapElement); - } - } + if (flags & (1 << 3)) { + track_element_set_cable_lift(mapElement); + } + if (flags & (1 << 4)) { + track_element_clear_cable_lift(mapElement); + } + } - return 0; + return 0; } void ride_restore_provisional_track_piece() { - if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_TRACK) { - sint32 x, y, z, direction, type, rideIndex, edxRS16; - if (sub_6CA2DF(&type, &direction, &rideIndex, &edxRS16, &x, &y, &z, NULL)) { - ride_construction_remove_ghosts(); - } else { - _currentTrackPrice = place_provisional_track_piece(rideIndex, type, direction, edxRS16, x, y, z); - window_ride_construction_update_active_elements(); - } - } + if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_TRACK) { + sint32 x, y, z, direction, type, rideIndex, edxRS16; + if (sub_6CA2DF(&type, &direction, &rideIndex, &edxRS16, &x, &y, &z, NULL)) { + ride_construction_remove_ghosts(); + } else { + _currentTrackPrice = place_provisional_track_piece(rideIndex, type, direction, edxRS16, x, y, z); + window_ride_construction_update_active_elements(); + } + } } void ride_remove_provisional_track_piece() { - if (!(_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_TRACK)) { - return; - } - rct_ride *ride; - sint32 rideIndex, x, y, z, direction; + if (!(_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_TRACK)) { + return; + } + rct_ride *ride; + sint32 rideIndex, x, y, z, direction; - rideIndex = _currentRideIndex; + rideIndex = _currentRideIndex; - x = _unkF440C5.x; - y = _unkF440C5.y; - z = _unkF440C5.z; + x = _unkF440C5.x; + y = _unkF440C5.y; + z = _unkF440C5.z; - ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_MAZE) { - game_do_command(x , 41 | (0 << 8), y , rideIndex | (2 << 8), GAME_COMMAND_SET_MAZE_TRACK, z, 0); - game_do_command(x , 41 | (1 << 8), y + 16, rideIndex | (2 << 8), GAME_COMMAND_SET_MAZE_TRACK, z, 0); - game_do_command(x + 16, 41 | (2 << 8), y + 16, rideIndex | (2 << 8), GAME_COMMAND_SET_MAZE_TRACK, z, 0); - game_do_command(x + 16, 41 | (3 << 8), y , rideIndex | (2 << 8), GAME_COMMAND_SET_MAZE_TRACK, z, 0); - } else { - direction = _unkF440C5.direction; - if (!(direction & 4)) { - x -= TileDirectionDelta[direction].x; - y -= TileDirectionDelta[direction].y; - } - rct_xy_element next_track; + ride = get_ride(rideIndex); + if (ride->type == RIDE_TYPE_MAZE) { + game_do_command(x , 41 | (0 << 8), y , rideIndex | (2 << 8), GAME_COMMAND_SET_MAZE_TRACK, z, 0); + game_do_command(x , 41 | (1 << 8), y + 16, rideIndex | (2 << 8), GAME_COMMAND_SET_MAZE_TRACK, z, 0); + game_do_command(x + 16, 41 | (2 << 8), y + 16, rideIndex | (2 << 8), GAME_COMMAND_SET_MAZE_TRACK, z, 0); + game_do_command(x + 16, 41 | (3 << 8), y , rideIndex | (2 << 8), GAME_COMMAND_SET_MAZE_TRACK, z, 0); + } else { + direction = _unkF440C5.direction; + if (!(direction & 4)) { + x -= TileDirectionDelta[direction].x; + y -= TileDirectionDelta[direction].y; + } + rct_xy_element next_track; - if (track_block_get_next_from_zero(x, y, z, rideIndex, direction, &next_track, &z, &direction)) { - game_do_command( - next_track.x, - 105 | ((direction & 3) << 8), - next_track.y, - next_track.element->properties.track.type | ((next_track.element->properties.track.sequence & 0x0F) << 8), - GAME_COMMAND_REMOVE_TRACK, - z, - 0 - ); - } - } + if (track_block_get_next_from_zero(x, y, z, rideIndex, direction, &next_track, &z, &direction)) { + game_do_command( + next_track.x, + 105 | ((direction & 3) << 8), + next_track.y, + next_track.element->properties.track.type | ((next_track.element->properties.track.sequence & 0x0F) << 8), + GAME_COMMAND_REMOVE_TRACK, + z, + 0 + ); + } + } } /** @@ -1390,14 +1390,14 @@ void ride_remove_provisional_track_piece() */ void ride_construction_remove_ghosts() { - if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT) { - ride_entrance_exit_remove_ghost(); - _currentTrackSelectionFlags &= ~TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT; - } - if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_TRACK) { - ride_remove_provisional_track_piece(); - _currentTrackSelectionFlags &= ~TRACK_SELECTION_FLAG_TRACK; - } + if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT) { + ride_entrance_exit_remove_ghost(); + _currentTrackSelectionFlags &= ~TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT; + } + if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_TRACK) { + ride_remove_provisional_track_piece(); + _currentTrackSelectionFlags &= ~TRACK_SELECTION_FLAG_TRACK; + } } /* @@ -1405,44 +1405,44 @@ void ride_construction_remove_ghosts() */ void ride_construction_invalidate_current_track() { - sint32 x, y, z; + sint32 x, y, z; - switch (_rideConstructionState) { - case RIDE_CONSTRUCTION_STATE_SELECTED: - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - sub_6C683D( - &x, - &y, - &z, - _currentTrackPieceDirection & 3, - _currentTrackPieceType, - 0, - NULL, - 1 - ); - break; - case RIDE_CONSTRUCTION_STATE_MAZE_BUILD: - case RIDE_CONSTRUCTION_STATE_MAZE_MOVE: - case RIDE_CONSTRUCTION_STATE_MAZE_FILL: - if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ARROW) { - map_invalidate_tile_full( - _currentTrackBeginX & 0xFFE0, - _currentTrackBeginY & 0xFFE0 - ); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - } - break; - default: - if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ARROW) { - _currentTrackSelectionFlags &= ~TRACK_SELECTION_FLAG_ARROW; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - map_invalidate_tile_full(_currentTrackBeginX, _currentTrackBeginY); - } - ride_construction_remove_ghosts(); - break; - } + switch (_rideConstructionState) { + case RIDE_CONSTRUCTION_STATE_SELECTED: + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + sub_6C683D( + &x, + &y, + &z, + _currentTrackPieceDirection & 3, + _currentTrackPieceType, + 0, + NULL, + 1 + ); + break; + case RIDE_CONSTRUCTION_STATE_MAZE_BUILD: + case RIDE_CONSTRUCTION_STATE_MAZE_MOVE: + case RIDE_CONSTRUCTION_STATE_MAZE_FILL: + if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ARROW) { + map_invalidate_tile_full( + _currentTrackBeginX & 0xFFE0, + _currentTrackBeginY & 0xFFE0 + ); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + } + break; + default: + if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ARROW) { + _currentTrackSelectionFlags &= ~TRACK_SELECTION_FLAG_ARROW; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + map_invalidate_tile_full(_currentTrackBeginX, _currentTrackBeginY); + } + ride_construction_remove_ghosts(); + break; + } } /** @@ -1451,24 +1451,24 @@ void ride_construction_invalidate_current_track() */ static void ride_construction_reset_current_piece() { - rct_ride *ride; + rct_ride *ride; - ride = get_ride(_currentRideIndex); - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK) || ride->num_stations == 0) { - _currentTrackCurve = RideConstructionDefaultTrackType[ride->type] | 0x100; - _currentTrackSlopeEnd = 0; - _currentTrackBankEnd = 0; - _currentTrackLiftHill = 0; - _currentTrackAlternative = RIDE_TYPE_NO_ALTERNATIVES; - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED) { - _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; - } - _previousTrackSlopeEnd = 0; - _previousTrackBankEnd = 0; - } else { - _currentTrackCurve = 0xFFFF; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; - } + ride = get_ride(_currentRideIndex); + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK) || ride->num_stations == 0) { + _currentTrackCurve = RideConstructionDefaultTrackType[ride->type] | 0x100; + _currentTrackSlopeEnd = 0; + _currentTrackBankEnd = 0; + _currentTrackLiftHill = 0; + _currentTrackAlternative = RIDE_TYPE_NO_ALTERNATIVES; + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED) { + _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; + } + _previousTrackSlopeEnd = 0; + _previousTrackBankEnd = 0; + } else { + _currentTrackCurve = 0xFFFF; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; + } } /** @@ -1477,132 +1477,132 @@ static void ride_construction_reset_current_piece() */ void ride_construction_set_default_next_piece() { - sint32 x, y, z, direction, rideIndex, trackType, curve, bank, slope; - rct_ride *ride; - track_begin_end trackBeginEnd; - rct_xy_element xyElement; - rct_map_element *mapElement; + sint32 x, y, z, direction, rideIndex, trackType, curve, bank, slope; + rct_ride *ride; + track_begin_end trackBeginEnd; + rct_xy_element xyElement; + rct_map_element *mapElement; - _currentTrackPrice = MONEY32_UNDEFINED; - switch (_rideConstructionState) { - case RIDE_CONSTRUCTION_STATE_FRONT: - rideIndex = _currentRideIndex; - ride = get_ride(rideIndex); + _currentTrackPrice = MONEY32_UNDEFINED; + switch (_rideConstructionState) { + case RIDE_CONSTRUCTION_STATE_FRONT: + rideIndex = _currentRideIndex; + ride = get_ride(rideIndex); - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - direction = _currentTrackPieceDirection; - if (!track_block_get_previous_from_zero(x, y, z, rideIndex, direction, &trackBeginEnd)) { - ride_construction_reset_current_piece(); - return; - } - mapElement = trackBeginEnd.begin_element; - trackType = mapElement->properties.track.type; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + direction = _currentTrackPieceDirection; + if (!track_block_get_previous_from_zero(x, y, z, rideIndex, direction, &trackBeginEnd)) { + ride_construction_reset_current_piece(); + return; + } + mapElement = trackBeginEnd.begin_element; + trackType = mapElement->properties.track.type; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) { - ride_construction_reset_current_piece(); - return; - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) { + ride_construction_reset_current_piece(); + return; + } - // Set whether track is covered - _currentTrackAlternative &= ~RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { - if (mapElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED) { - _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; - } - } + // Set whether track is covered + _currentTrackAlternative &= ~RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { + if (mapElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED) { + _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; + } + } - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - curve = gFlatRideTrackCurveChain[trackType].next; - bank = FlatRideTrackDefinitions[trackType].bank_end; - slope = FlatRideTrackDefinitions[trackType].vangle_end; - } else { - if (ride->type != RIDE_TYPE_WILD_MOUSE && trackType == TRACK_ELEM_BOOSTER) { - curve = 0x100 | TRACK_ELEM_BOOSTER; - } else { - curve = gTrackCurveChain[trackType].next; - } - bank = TrackDefinitions[trackType].bank_end; - slope = TrackDefinitions[trackType].vangle_end; - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + curve = gFlatRideTrackCurveChain[trackType].next; + bank = FlatRideTrackDefinitions[trackType].bank_end; + slope = FlatRideTrackDefinitions[trackType].vangle_end; + } else { + if (ride->type != RIDE_TYPE_WILD_MOUSE && trackType == TRACK_ELEM_BOOSTER) { + curve = 0x100 | TRACK_ELEM_BOOSTER; + } else { + curve = gTrackCurveChain[trackType].next; + } + bank = TrackDefinitions[trackType].bank_end; + slope = TrackDefinitions[trackType].vangle_end; + } - // Set track curve - _currentTrackCurve = curve; + // Set track curve + _currentTrackCurve = curve; - // Set track banking - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { - if (bank == TRACK_BANK_UPSIDE_DOWN) { - bank = TRACK_BANK_NONE; - _currentTrackAlternative ^= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; - } - } - _currentTrackBankEnd = bank; - _previousTrackBankEnd = bank; + // Set track banking + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { + if (bank == TRACK_BANK_UPSIDE_DOWN) { + bank = TRACK_BANK_NONE; + _currentTrackAlternative ^= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; + } + } + _currentTrackBankEnd = bank; + _previousTrackBankEnd = bank; - // Set track slope and lift hill - _currentTrackSlopeEnd = slope; - _previousTrackSlopeEnd = slope; - _currentTrackLiftHill = ((mapElement->type & 0x80) && slope != TRACK_SLOPE_DOWN_25 && slope != TRACK_SLOPE_DOWN_60) != 0; - break; - case RIDE_CONSTRUCTION_STATE_BACK: - rideIndex = _currentRideIndex; - ride = get_ride(rideIndex); + // Set track slope and lift hill + _currentTrackSlopeEnd = slope; + _previousTrackSlopeEnd = slope; + _currentTrackLiftHill = ((mapElement->type & 0x80) && slope != TRACK_SLOPE_DOWN_25 && slope != TRACK_SLOPE_DOWN_60) != 0; + break; + case RIDE_CONSTRUCTION_STATE_BACK: + rideIndex = _currentRideIndex; + ride = get_ride(rideIndex); - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - direction = _currentTrackPieceDirection ^ 2; - if (!track_block_get_next_from_zero(x, y, z, rideIndex, direction, &xyElement, &z, &direction)) { - ride_construction_reset_current_piece(); - return; - } - mapElement = xyElement.element; - trackType = mapElement->properties.track.type; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + direction = _currentTrackPieceDirection ^ 2; + if (!track_block_get_next_from_zero(x, y, z, rideIndex, direction, &xyElement, &z, &direction)) { + ride_construction_reset_current_piece(); + return; + } + mapElement = xyElement.element; + trackType = mapElement->properties.track.type; - // Set whether track is covered - _currentTrackAlternative &= ~RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { - if (mapElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED) { - _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; - } - } + // Set whether track is covered + _currentTrackAlternative &= ~RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { + if (mapElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED) { + _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; + } + } - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - curve = gFlatRideTrackCurveChain[trackType].previous; - bank = FlatRideTrackDefinitions[trackType].bank_start; - slope = FlatRideTrackDefinitions[trackType].vangle_start; - } else { - if (ride->type != RIDE_TYPE_WILD_MOUSE && trackType == TRACK_ELEM_BOOSTER) { - curve = 0x100 | TRACK_ELEM_BOOSTER; - } else { - curve = gTrackCurveChain[trackType].previous; - } - bank = TrackDefinitions[trackType].bank_start; - slope = TrackDefinitions[trackType].vangle_start; - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + curve = gFlatRideTrackCurveChain[trackType].previous; + bank = FlatRideTrackDefinitions[trackType].bank_start; + slope = FlatRideTrackDefinitions[trackType].vangle_start; + } else { + if (ride->type != RIDE_TYPE_WILD_MOUSE && trackType == TRACK_ELEM_BOOSTER) { + curve = 0x100 | TRACK_ELEM_BOOSTER; + } else { + curve = gTrackCurveChain[trackType].previous; + } + bank = TrackDefinitions[trackType].bank_start; + slope = TrackDefinitions[trackType].vangle_start; + } - // Set track curve - _currentTrackCurve = curve; + // Set track curve + _currentTrackCurve = curve; - // Set track banking - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { - if (bank == TRACK_BANK_UPSIDE_DOWN) { - bank = TRACK_BANK_NONE; - _currentTrackAlternative ^= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; - } - } - _currentTrackBankEnd = bank; - _previousTrackBankEnd = bank; + // Set track banking + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { + if (bank == TRACK_BANK_UPSIDE_DOWN) { + bank = TRACK_BANK_NONE; + _currentTrackAlternative ^= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; + } + } + _currentTrackBankEnd = bank; + _previousTrackBankEnd = bank; - // Set track slope and lift hill - _currentTrackSlopeEnd = slope; - _previousTrackSlopeEnd = slope; - if (!gCheatsEnableChainLiftOnAllTrack) { - _currentTrackLiftHill = track_element_is_lift_hill(mapElement); - } - break; - } + // Set track slope and lift hill + _currentTrackSlopeEnd = slope; + _previousTrackSlopeEnd = slope; + if (!gCheatsEnableChainLiftOnAllTrack) { + _currentTrackLiftHill = track_element_is_lift_hill(mapElement); + } + break; + } } /** @@ -1611,54 +1611,54 @@ void ride_construction_set_default_next_piece() */ void ride_select_next_section() { - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { - ride_construction_invalidate_current_track(); - sint32 x = _currentTrackBeginX; - sint32 y = _currentTrackBeginY; - sint32 z = _currentTrackBeginZ; - sint32 direction = _currentTrackPieceDirection; - sint32 type = _currentTrackPieceType; - rct_map_element *mapElement; - if (sub_6C683D(&x, &y, &z, direction & 3, type, 0, &mapElement, 0)) { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; - window_ride_construction_update_active_elements(); - return; - } - rct_xy_element inputElement, outputElement; - inputElement.x = x; - inputElement.y = y; - inputElement.element = mapElement; - if (track_block_get_next(&inputElement, &outputElement, &z, &direction)) { - x = outputElement.x; - y = outputElement.y; - mapElement = outputElement.element; - } else { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_FRONT; - _currentTrackBeginX = outputElement.x; - _currentTrackBeginY = outputElement.y; - _currentTrackBeginZ = z; - _currentTrackPieceDirection = direction; - _currentTrackPieceType = mapElement->properties.track.type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - ride_construction_set_default_next_piece(); - window_ride_construction_update_active_elements(); - return; - } + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { + ride_construction_invalidate_current_track(); + sint32 x = _currentTrackBeginX; + sint32 y = _currentTrackBeginY; + sint32 z = _currentTrackBeginZ; + sint32 direction = _currentTrackPieceDirection; + sint32 type = _currentTrackPieceType; + rct_map_element *mapElement; + if (sub_6C683D(&x, &y, &z, direction & 3, type, 0, &mapElement, 0)) { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; + window_ride_construction_update_active_elements(); + return; + } + rct_xy_element inputElement, outputElement; + inputElement.x = x; + inputElement.y = y; + inputElement.element = mapElement; + if (track_block_get_next(&inputElement, &outputElement, &z, &direction)) { + x = outputElement.x; + y = outputElement.y; + mapElement = outputElement.element; + } else { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_FRONT; + _currentTrackBeginX = outputElement.x; + _currentTrackBeginY = outputElement.y; + _currentTrackBeginZ = z; + _currentTrackPieceDirection = direction; + _currentTrackPieceType = mapElement->properties.track.type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + ride_construction_set_default_next_piece(); + window_ride_construction_update_active_elements(); + return; + } - _currentTrackBeginX = x; - _currentTrackBeginY = y; - _currentTrackBeginZ = z; - _currentTrackPieceDirection = (mapElement->type & MAP_ELEMENT_DIRECTION_MASK); - _currentTrackPieceType = mapElement->properties.track.type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - window_ride_construction_update_active_elements(); - } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { - if (ride_select_forwards_from_back()) { - window_ride_construction_update_active_elements(); - } - } + _currentTrackBeginX = x; + _currentTrackBeginY = y; + _currentTrackBeginZ = z; + _currentTrackPieceDirection = (mapElement->type & MAP_ELEMENT_DIRECTION_MASK); + _currentTrackPieceType = mapElement->properties.track.type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + window_ride_construction_update_active_elements(); + } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { + if (ride_select_forwards_from_back()) { + window_ride_construction_update_active_elements(); + } + } } /** @@ -1667,46 +1667,46 @@ void ride_select_next_section() */ void ride_select_previous_section() { - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { - ride_construction_invalidate_current_track(); - sint32 x = _currentTrackBeginX; - sint32 y = _currentTrackBeginY; - sint32 z = _currentTrackBeginZ; - sint32 direction = _currentTrackPieceDirection; - sint32 type = _currentTrackPieceType; - rct_map_element *mapElement; - if (sub_6C683D(&x, &y, &z, direction & 3, type, 0, &mapElement, 0)) { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; - window_ride_construction_update_active_elements(); - return; - } - track_begin_end trackBeginEnd; - if (track_block_get_previous(x, y, mapElement, &trackBeginEnd)) { - _currentTrackBeginX = trackBeginEnd.begin_x; - _currentTrackBeginY = trackBeginEnd.begin_y; - _currentTrackBeginZ = trackBeginEnd.begin_z; - _currentTrackPieceDirection = trackBeginEnd.begin_direction; - _currentTrackPieceType = trackBeginEnd.begin_element->properties.track.type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - window_ride_construction_update_active_elements(); - } else { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_BACK; - _currentTrackBeginX = trackBeginEnd.end_x; - _currentTrackBeginY = trackBeginEnd.end_y; - _currentTrackBeginZ = trackBeginEnd.begin_z; - _currentTrackPieceDirection = trackBeginEnd.end_direction; - _currentTrackPieceType = mapElement->properties.track.type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - ride_construction_set_default_next_piece(); - window_ride_construction_update_active_elements(); - } - } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { - if (ride_select_backwards_from_front()) { - window_ride_construction_update_active_elements(); - } - } + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { + ride_construction_invalidate_current_track(); + sint32 x = _currentTrackBeginX; + sint32 y = _currentTrackBeginY; + sint32 z = _currentTrackBeginZ; + sint32 direction = _currentTrackPieceDirection; + sint32 type = _currentTrackPieceType; + rct_map_element *mapElement; + if (sub_6C683D(&x, &y, &z, direction & 3, type, 0, &mapElement, 0)) { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; + window_ride_construction_update_active_elements(); + return; + } + track_begin_end trackBeginEnd; + if (track_block_get_previous(x, y, mapElement, &trackBeginEnd)) { + _currentTrackBeginX = trackBeginEnd.begin_x; + _currentTrackBeginY = trackBeginEnd.begin_y; + _currentTrackBeginZ = trackBeginEnd.begin_z; + _currentTrackPieceDirection = trackBeginEnd.begin_direction; + _currentTrackPieceType = trackBeginEnd.begin_element->properties.track.type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + window_ride_construction_update_active_elements(); + } else { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_BACK; + _currentTrackBeginX = trackBeginEnd.end_x; + _currentTrackBeginY = trackBeginEnd.end_y; + _currentTrackBeginZ = trackBeginEnd.begin_z; + _currentTrackPieceDirection = trackBeginEnd.end_direction; + _currentTrackPieceType = mapElement->properties.track.type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + ride_construction_set_default_next_piece(); + window_ride_construction_update_active_elements(); + } + } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { + if (ride_select_backwards_from_front()) { + window_ride_construction_update_active_elements(); + } + } } /** @@ -1715,56 +1715,56 @@ void ride_select_previous_section() */ static sint32 ride_modify_entrance_or_exit(rct_map_element *mapElement, sint32 x, sint32 y) { - sint32 rideIndex, entranceType; - rct_window *constructionWindow; + sint32 rideIndex, entranceType; + rct_window *constructionWindow; - rideIndex = mapElement->properties.entrance.ride_index; + rideIndex = mapElement->properties.entrance.ride_index; - entranceType = mapElement->properties.entrance.type; - if (entranceType != ENTRANCE_TYPE_RIDE_ENTRANCE && entranceType != ENTRANCE_TYPE_RIDE_EXIT) - return 0; + entranceType = mapElement->properties.entrance.type; + if (entranceType != ENTRANCE_TYPE_RIDE_ENTRANCE && entranceType != ENTRANCE_TYPE_RIDE_EXIT) + return 0; - sint32 bl = (mapElement->properties.entrance.index & 0x70) >> 4; + sint32 bl = (mapElement->properties.entrance.index & 0x70) >> 4; - // Get or create construction window for ride - constructionWindow = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (constructionWindow == NULL) { - if (!ride_initialise_construction_window(rideIndex)) - return 0; + // Get or create construction window for ride + constructionWindow = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (constructionWindow == NULL) { + if (!ride_initialise_construction_window(rideIndex)) + return 0; - constructionWindow = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (constructionWindow == NULL) - return 0; - } + constructionWindow = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (constructionWindow == NULL) + return 0; + } - ride_construction_invalidate_current_track(); - if ( - _rideConstructionState != RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT || - !(input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) || - gCurrentToolWidget.window_classification != WC_RIDE_CONSTRUCTION - ) { - // Replace entrance / exit - tool_set(constructionWindow, entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE ? WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE : WC_RIDE_CONSTRUCTION__WIDX_EXIT, TOOL_CROSSHAIR); - gRideEntranceExitPlaceType = entranceType; - gRideEntranceExitPlaceRideIndex = rideIndex; - gRideEntranceExitPlaceStationIndex = bl; - input_set_flag(INPUT_FLAG_6, true); - if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT) { - gRideEntranceExitPlacePreviousRideConstructionState = _rideConstructionState; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT; - } + ride_construction_invalidate_current_track(); + if ( + _rideConstructionState != RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT || + !(input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) || + gCurrentToolWidget.window_classification != WC_RIDE_CONSTRUCTION + ) { + // Replace entrance / exit + tool_set(constructionWindow, entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE ? WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE : WC_RIDE_CONSTRUCTION__WIDX_EXIT, TOOL_CROSSHAIR); + gRideEntranceExitPlaceType = entranceType; + gRideEntranceExitPlaceRideIndex = rideIndex; + gRideEntranceExitPlaceStationIndex = bl; + input_set_flag(INPUT_FLAG_6, true); + if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT) { + gRideEntranceExitPlacePreviousRideConstructionState = _rideConstructionState; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT; + } - window_ride_construction_update_active_elements(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - } else { - // Remove entrance / exit - game_do_command(x, (GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_APPLY), y, rideIndex, GAME_COMMAND_REMOVE_RIDE_ENTRANCE_OR_EXIT, bl, 0); - gCurrentToolWidget.widget_index = entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE ? WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE : WC_RIDE_CONSTRUCTION__WIDX_EXIT; - gRideEntranceExitPlaceType = entranceType; - } + window_ride_construction_update_active_elements(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + } else { + // Remove entrance / exit + game_do_command(x, (GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_APPLY), y, rideIndex, GAME_COMMAND_REMOVE_RIDE_ENTRANCE_OR_EXIT, bl, 0); + gCurrentToolWidget.widget_index = entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE ? WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE : WC_RIDE_CONSTRUCTION__WIDX_EXIT; + gRideEntranceExitPlaceType = entranceType; + } - window_invalidate_by_class(WC_RIDE_CONSTRUCTION); - return 1; + window_invalidate_by_class(WC_RIDE_CONSTRUCTION); + return 1; } /** @@ -1773,15 +1773,15 @@ static sint32 ride_modify_entrance_or_exit(rct_map_element *mapElement, sint32 x */ static sint32 ride_modify_maze(rct_map_element *mapElement, sint32 x, sint32 y) { - _currentRideIndex = mapElement->properties.track.ride_index; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_BUILD; - _currentTrackBeginX = x; - _currentTrackBeginY = y; - _currentTrackBeginZ = mapElement->base_height * 8; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - window_maze_construction_update_pressed_widgets(); - return 1; + _currentRideIndex = mapElement->properties.track.ride_index; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_BUILD; + _currentTrackBeginX = x; + _currentTrackBeginY = y; + _currentTrackBeginZ = mapElement->base_height * 8; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + window_maze_construction_update_pressed_widgets(); + return 1; } /** @@ -1790,100 +1790,100 @@ static sint32 ride_modify_maze(rct_map_element *mapElement, sint32 x, sint32 y) */ sint32 ride_modify(rct_xy_element *input) { - sint32 rideIndex, x, y, z, direction, type; - rct_xy_element mapElement, endOfTrackElement; - rct_ride *ride; - rct_ride_entry *rideType; + sint32 rideIndex, x, y, z, direction, type; + rct_xy_element mapElement, endOfTrackElement; + rct_ride *ride; + rct_ride_entry *rideType; - mapElement = *input; - rideIndex = mapElement.element->properties.track.ride_index; - ride = get_ride(rideIndex); - if (ride == NULL) { - return 0; - } - rideType = get_ride_entry_by_ride(ride); + mapElement = *input; + rideIndex = mapElement.element->properties.track.ride_index; + ride = get_ride(rideIndex); + if (ride == NULL) { + return 0; + } + rideType = get_ride_entry_by_ride(ride); - if ((rideType == NULL) || !ride_check_if_construction_allowed(ride)) - return 0; + if ((rideType == NULL) || !ride_check_if_construction_allowed(ride)) + return 0; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE) { - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); - window_error_open(STR_CANT_START_CONSTRUCTION_ON, STR_LOCAL_AUTHORITY_FORBIDS_DEMOLITION_OR_MODIFICATIONS_TO_THIS_RIDE); - return 0; - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE) { + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); + window_error_open(STR_CANT_START_CONSTRUCTION_ON, STR_LOCAL_AUTHORITY_FORBIDS_DEMOLITION_OR_MODIFICATIONS_TO_THIS_RIDE); + return 0; + } - // Stop the ride again to clear all vehicles and peeps (compatible with network games) - ride_set_status(rideIndex, RIDE_STATUS_CLOSED); + // Stop the ride again to clear all vehicles and peeps (compatible with network games) + ride_set_status(rideIndex, RIDE_STATUS_CLOSED); - // Check if element is a station entrance or exit - if (map_element_get_type(mapElement.element) == MAP_ELEMENT_TYPE_ENTRANCE) - return ride_modify_entrance_or_exit(mapElement.element, mapElement.x, mapElement.y); + // Check if element is a station entrance or exit + if (map_element_get_type(mapElement.element) == MAP_ELEMENT_TYPE_ENTRANCE) + return ride_modify_entrance_or_exit(mapElement.element, mapElement.x, mapElement.y); - ride_create_or_find_construction_window(rideIndex); + ride_create_or_find_construction_window(rideIndex); - if (ride->type == RIDE_TYPE_MAZE) - return ride_modify_maze(mapElement.element, mapElement.x, mapElement.y); + if (ride->type == RIDE_TYPE_MAZE) + return ride_modify_maze(mapElement.element, mapElement.x, mapElement.y); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS)) { - if (ride_find_track_gap(&mapElement, &endOfTrackElement)) - mapElement = endOfTrackElement; - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS)) { + if (ride_find_track_gap(&mapElement, &endOfTrackElement)) + mapElement = endOfTrackElement; + } - x = mapElement.x; - y = mapElement.y; - z = mapElement.element->base_height * 8; - direction = mapElement.element->type & 3; - type = mapElement.element->properties.track.type; + x = mapElement.x; + y = mapElement.y; + z = mapElement.element->base_height * 8; + direction = mapElement.element->type & 3; + type = mapElement.element->properties.track.type; - if (sub_6C683D(&x, &y, &z, direction, type, 0, NULL, 0)) - return 0; + if (sub_6C683D(&x, &y, &z, direction, type, 0, NULL, 0)) + return 0; - _currentRideIndex = rideIndex; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; - _currentTrackBeginX = x; - _currentTrackBeginY = y; - _currentTrackBeginZ = z; - _currentTrackPieceDirection = direction; - _currentTrackPieceType = type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; + _currentRideIndex = rideIndex; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; + _currentTrackBeginX = x; + _currentTrackBeginY = y; + _currentTrackBeginZ = z; + _currentTrackPieceDirection = direction; + _currentTrackPieceType = type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) { - window_ride_construction_update_active_elements(); - return 1; - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) { + window_ride_construction_update_active_elements(); + return 1; + } - ride_select_next_section(); - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { - window_ride_construction_update_active_elements(); - return 1; - } + ride_select_next_section(); + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { + window_ride_construction_update_active_elements(); + return 1; + } - _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; - _currentTrackBeginX = x; - _currentTrackBeginY = y; - _currentTrackBeginZ = z; - _currentTrackPieceDirection = direction; - _currentTrackPieceType = type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; + _currentTrackBeginX = x; + _currentTrackBeginY = y; + _currentTrackBeginZ = z; + _currentTrackPieceDirection = direction; + _currentTrackPieceType = type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; - ride_select_previous_section(); + ride_select_previous_section(); - if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_BACK) { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; - _currentTrackBeginX = x; - _currentTrackBeginY = y; - _currentTrackBeginZ = z; - _currentTrackPieceDirection = direction; - _currentTrackPieceType = type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - } + if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_BACK) { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; + _currentTrackBeginX = x; + _currentTrackBeginY = y; + _currentTrackBeginZ = z; + _currentTrackPieceDirection = direction; + _currentTrackPieceType = type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + } - window_ride_construction_update_active_elements(); - return 1; + window_ride_construction_update_active_elements(); + return 1; } /** @@ -1892,44 +1892,44 @@ sint32 ride_modify(rct_xy_element *input) */ sint32 ride_initialise_construction_window(sint32 rideIndex) { - rct_ride *ride; - rct_window *w; + rct_ride *ride; + rct_window *w; - tool_cancel(); - ride = get_ride(rideIndex); + tool_cancel(); + ride = get_ride(rideIndex); - if (!ride_check_if_construction_allowed(ride)) - return 0; + if (!ride_check_if_construction_allowed(ride)) + return 0; - ride_clear_for_construction(rideIndex); - ride_remove_peeps(rideIndex); + ride_clear_for_construction(rideIndex); + ride_remove_peeps(rideIndex); - w = ride_create_or_find_construction_window(rideIndex); + w = ride_create_or_find_construction_window(rideIndex); - tool_set(w, WC_RIDE_CONSTRUCTION__WIDX_CONSTRUCT, TOOL_CROSSHAIR); - input_set_flag(INPUT_FLAG_6, true); + tool_set(w, WC_RIDE_CONSTRUCTION__WIDX_CONSTRUCT, TOOL_CROSSHAIR); + input_set_flag(INPUT_FLAG_6, true); - ride = get_ride(_currentRideIndex); + ride = get_ride(_currentRideIndex); - _currentTrackCurve = RideConstructionDefaultTrackType[ride->type] | 0x100; - _currentTrackSlopeEnd = 0; - _currentTrackBankEnd = 0; - _currentTrackLiftHill = 0; - _currentTrackAlternative = RIDE_TYPE_NO_ALTERNATIVES; + _currentTrackCurve = RideConstructionDefaultTrackType[ride->type] | 0x100; + _currentTrackSlopeEnd = 0; + _currentTrackBankEnd = 0; + _currentTrackLiftHill = 0; + _currentTrackAlternative = RIDE_TYPE_NO_ALTERNATIVES; - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED) - _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED) + _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; - _previousTrackBankEnd = 0; - _previousTrackSlopeEnd = 0; + _previousTrackBankEnd = 0; + _previousTrackSlopeEnd = 0; - _currentTrackPieceDirection = 0; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_PLACE; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; + _currentTrackPieceDirection = 0; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_PLACE; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; - window_ride_construction_update_active_elements(); - return 1; + window_ride_construction_update_active_elements(); + return 1; } #pragma endregion @@ -1942,24 +1942,24 @@ sint32 ride_initialise_construction_window(sint32 rideIndex) */ void ride_update_all() { - rct_ride *ride; - sint32 i; + rct_ride *ride; + sint32 i; - // Remove all rides if scenario editor - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - if (gS6Info.editor_step <= EDITOR_STEP_INVENTIONS_LIST_SET_UP) - FOR_ALL_RIDES(i, ride) - ride->type = RIDE_TYPE_NULL; - return; - } + // Remove all rides if scenario editor + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { + if (gS6Info.editor_step <= EDITOR_STEP_INVENTIONS_LIST_SET_UP) + FOR_ALL_RIDES(i, ride) + ride->type = RIDE_TYPE_NULL; + return; + } - window_update_viewport_ride_music(); + window_update_viewport_ride_music(); - // Update rides - FOR_ALL_RIDES(i, ride) - ride_update(i); + // Update rides + FOR_ALL_RIDES(i, ride) + ride_update(i); - ride_music_update_final(); + ride_music_update_final(); } /** @@ -1968,66 +1968,66 @@ void ride_update_all() */ static void ride_update(sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - if (ride->vehicle_change_timeout != 0) - ride->vehicle_change_timeout--; + if (ride->vehicle_change_timeout != 0) + ride->vehicle_change_timeout--; - ride_music_update(rideIndex); + ride_music_update(rideIndex); - // Update stations - if (ride->type != RIDE_TYPE_MAZE) - for (sint32 i = 0; i < 4; i++) - ride_update_station(ride, i); + // Update stations + if (ride->type != RIDE_TYPE_MAZE) + for (sint32 i = 0; i < 4; i++) + ride_update_station(ride, i); - // Update financial statistics - ride->num_customers_timeout++; + // Update financial statistics + ride->num_customers_timeout++; - if (ride->num_customers_timeout >= 960) { - // This is meant to update about every 30 seconds - ride->num_customers_timeout = 0; + if (ride->num_customers_timeout >= 960) { + // This is meant to update about every 30 seconds + ride->num_customers_timeout = 0; - // Shift number of customers history, start of the array is the most recent one - memmove(ride->num_customers + 1, ride->num_customers, 9 * sizeof(*(ride->num_customers))); - ride->num_customers[0] = ride->cur_num_customers; + // Shift number of customers history, start of the array is the most recent one + memmove(ride->num_customers + 1, ride->num_customers, 9 * sizeof(*(ride->num_customers))); + ride->num_customers[0] = ride->cur_num_customers; - ride->cur_num_customers = 0; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; + ride->cur_num_customers = 0; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; - ride->income_per_hour = ride_calculate_income_per_hour(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->income_per_hour = ride_calculate_income_per_hour(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - if (ride->upkeep_cost != (money16)(uint16)0xFFFF) - ride->profit = (ride->income_per_hour - ((money32)ride->upkeep_cost * 16)); - } + if (ride->upkeep_cost != (money16)(uint16)0xFFFF) + ride->profit = (ride->income_per_hour - ((money32)ride->upkeep_cost * 16)); + } - // Ride specific updates - if (ride->type == RIDE_TYPE_CHAIRLIFT) - ride_chairlift_update(ride); - else if (ride->type == RIDE_TYPE_SPIRAL_SLIDE) - ride_spiral_slide_update(ride); + // Ride specific updates + if (ride->type == RIDE_TYPE_CHAIRLIFT) + ride_chairlift_update(ride); + else if (ride->type == RIDE_TYPE_SPIRAL_SLIDE) + ride_spiral_slide_update(ride); - ride_breakdown_update(rideIndex); + ride_breakdown_update(rideIndex); - // Various things include news messages - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_DUE_INSPECTION)) - if (((gCurrentTicks >> 1) & 255) == (uint32)rideIndex) - ride_breakdown_status_update(rideIndex); + // Various things include news messages + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_DUE_INSPECTION)) + if (((gCurrentTicks >> 1) & 255) == (uint32)rideIndex) + ride_breakdown_status_update(rideIndex); - ride_inspection_update(ride); + ride_inspection_update(ride); - if (ride->status == RIDE_STATUS_TESTING && gConfigGeneral.no_test_crashes) { - for (sint32 i = 0; i < ride->num_vehicles; i++) { - rct_vehicle *vehicle = GET_VEHICLE(ride->vehicles[i]); + if (ride->status == RIDE_STATUS_TESTING && gConfigGeneral.no_test_crashes) { + for (sint32 i = 0; i < ride->num_vehicles; i++) { + rct_vehicle *vehicle = GET_VEHICLE(ride->vehicles[i]); - if (vehicle->status == VEHICLE_STATUS_CRASHED || vehicle->status == VEHICLE_STATUS_CRASHING) { - ride_set_status(rideIndex, RIDE_STATUS_CLOSED); - ride_set_status(rideIndex, RIDE_STATUS_CLOSED); - ride_set_status(rideIndex, RIDE_STATUS_TESTING); - break; - } - } - } + if (vehicle->status == VEHICLE_STATUS_CRASHED || vehicle->status == VEHICLE_STATUS_CRASHING) { + ride_set_status(rideIndex, RIDE_STATUS_CLOSED); + ride_set_status(rideIndex, RIDE_STATUS_CLOSED); + ride_set_status(rideIndex, RIDE_STATUS_TESTING); + break; + } + } + } } /** @@ -2036,28 +2036,28 @@ static void ride_update(sint32 rideIndex) */ static void ride_chairlift_update(rct_ride *ride) { - sint32 x, y, z; + sint32 x, y, z; - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) - return; - if ((ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) && - ride->breakdown_reason_pending == 0) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) + return; + if ((ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) && + ride->breakdown_reason_pending == 0) + return; - uint16 old_chairlift_bullwheel_rotation = ride->chairlift_bullwheel_rotation >> 14; - ride->chairlift_bullwheel_rotation += ride->speed * 2048; - if (old_chairlift_bullwheel_rotation == ride->speed / 8) - return; + uint16 old_chairlift_bullwheel_rotation = ride->chairlift_bullwheel_rotation >> 14; + ride->chairlift_bullwheel_rotation += ride->speed * 2048; + if (old_chairlift_bullwheel_rotation == ride->speed / 8) + return; - x = ride->chairlift_bullwheel_location[0].x * 32; - y = ride->chairlift_bullwheel_location[0].y * 32; - z = ride->chairlift_bullwheel_z[0] * 8; - map_invalidate_tile_zoom1(x, y, z, z + (4 * 8)); + x = ride->chairlift_bullwheel_location[0].x * 32; + y = ride->chairlift_bullwheel_location[0].y * 32; + z = ride->chairlift_bullwheel_z[0] * 8; + map_invalidate_tile_zoom1(x, y, z, z + (4 * 8)); - x = ride->chairlift_bullwheel_location[1].x * 32; - y = ride->chairlift_bullwheel_location[1].y * 32; - z = ride->chairlift_bullwheel_z[1] * 8; - map_invalidate_tile_zoom1(x, y, z, z + (4 * 8)); + x = ride->chairlift_bullwheel_location[1].x * 32; + y = ride->chairlift_bullwheel_location[1].y * 32; + z = ride->chairlift_bullwheel_z[1] * 8; + map_invalidate_tile_zoom1(x, y, z, z + (4 * 8)); } /** @@ -2067,15 +2067,15 @@ static void ride_chairlift_update(rct_ride *ride) * bl: happiness */ void ride_update_satisfaction(rct_ride* ride, uint8 happiness) { - ride->satisfaction_next += happiness; - ride->satisfaction_time_out++; - if (ride->satisfaction_time_out >= 20) { - ride->satisfaction = ride->satisfaction_next >> 2; - ride->satisfaction_next = 0; - ride->satisfaction_time_out = 0; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; + ride->satisfaction_next += happiness; + ride->satisfaction_time_out++; + if (ride->satisfaction_time_out >= 20) { + ride->satisfaction = ride->satisfaction_next >> 2; + ride->satisfaction_next = 0; + ride->satisfaction_time_out = 0; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; - } + } } /** @@ -2087,39 +2087,39 @@ void ride_update_satisfaction(rct_ride* ride, uint8 happiness) { * pop_amount can be zero if peep visited but did not purchase. */ void ride_update_popularity(rct_ride* ride, uint8 pop_amount){ - ride->popularity_next += pop_amount; - ride->popularity_time_out++; - if (ride->popularity_time_out < 25)return; + ride->popularity_next += pop_amount; + ride->popularity_time_out++; + if (ride->popularity_time_out < 25)return; - ride->popularity = ride->popularity_next; - ride->popularity_next = 0; - ride->popularity_time_out = 0; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; + ride->popularity = ride->popularity_next; + ride->popularity_next = 0; + ride->popularity_time_out = 0; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_CUSTOMER; } /** rct2: 0x0098DDB8, 0x0098DDBA */ static const rct_xy16 ride_spiral_slide_main_tile_offset[][4] = { - { - { 32, 32 }, - { 0, 32 }, - { 0, 0 }, - { 32, 0 }, - }, { - { 32, 0 }, - { 0, 0 }, - { 0, -32 }, - { 32, -32 }, - }, { - { 0, 0 }, - { -32, 0 }, - { -32, -32 }, - { 0, -32 }, - }, { - { 0, 0 }, - { 0, 32 }, - { -32, 32 }, - { -32, 0 }, - }, + { + { 32, 32 }, + { 0, 32 }, + { 0, 0 }, + { 32, 0 }, + }, { + { 32, 0 }, + { 0, 0 }, + { 0, -32 }, + { 32, -32 }, + }, { + { 0, 0 }, + { -32, 0 }, + { -32, -32 }, + { 0, -32 }, + }, { + { 0, 0 }, + { 0, 32 }, + { -32, 32 }, + { -32, 0 }, + }, }; /** @@ -2128,37 +2128,37 @@ static const rct_xy16 ride_spiral_slide_main_tile_offset[][4] = { */ static void ride_spiral_slide_update(rct_ride *ride) { - if (gCurrentTicks & 3) - return; - if (ride->slide_in_use == 0) - return; + if (gCurrentTicks & 3) + return; + if (ride->slide_in_use == 0) + return; - ride->spiral_slide_progress++; - if (ride->spiral_slide_progress >= 48) { - ride->slide_in_use--; + ride->spiral_slide_progress++; + if (ride->spiral_slide_progress >= 48) { + ride->slide_in_use--; - rct_peep *peep = GET_PEEP(ride->slide_peep); - peep->destination_x++; - } + rct_peep *peep = GET_PEEP(ride->slide_peep); + peep->destination_x++; + } - const uint8 current_rotation = get_current_rotation(); - // Invalidate something related to station start - for (sint32 i = 0; i < 4; i++) { - if (ride->station_starts[i] == 0xFFFF) - continue; + const uint8 current_rotation = get_current_rotation(); + // Invalidate something related to station start + for (sint32 i = 0; i < 4; i++) { + if (ride->station_starts[i] == 0xFFFF) + continue; - sint32 x = ride->station_starts[i] & 0xFF; - sint32 y = ride->station_starts[i] >> 8; + sint32 x = ride->station_starts[i] & 0xFF; + sint32 y = ride->station_starts[i] >> 8; - rct_map_element *mapElement = ride_get_station_start_track_element(ride, i); - sint32 rotation = map_element_get_direction(mapElement); - x *= 32; - y *= 32; - x += ride_spiral_slide_main_tile_offset[rotation][current_rotation].x; - y += ride_spiral_slide_main_tile_offset[rotation][current_rotation].y; + rct_map_element *mapElement = ride_get_station_start_track_element(ride, i); + sint32 rotation = map_element_get_direction(mapElement); + x *= 32; + y *= 32; + x += ride_spiral_slide_main_tile_offset[rotation][current_rotation].x; + y += ride_spiral_slide_main_tile_offset[rotation][current_rotation].y; - map_invalidate_tile_zoom0(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); - } + map_invalidate_tile_zoom0(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); + } } #pragma endregion @@ -2166,14 +2166,14 @@ static void ride_spiral_slide_update(rct_ride *ride) #pragma region Breakdown and inspection functions static uint8 _breakdownProblemProbabilities[] = { - 25, // BREAKDOWN_SAFETY_CUT_OUT - 12, // BREAKDOWN_RESTRAINTS_STUCK_CLOSED - 10, // BREAKDOWN_RESTRAINTS_STUCK_OPEN - 13, // BREAKDOWN_DOORS_STUCK_CLOSED - 10, // BREAKDOWN_DOORS_STUCK_OPEN - 6, // BREAKDOWN_VEHICLE_MALFUNCTION - 0, // BREAKDOWN_BRAKES_FAILURE - 3 // BREAKDOWN_CONTROL_FAILURE + 25, // BREAKDOWN_SAFETY_CUT_OUT + 12, // BREAKDOWN_RESTRAINTS_STUCK_CLOSED + 10, // BREAKDOWN_RESTRAINTS_STUCK_OPEN + 13, // BREAKDOWN_DOORS_STUCK_CLOSED + 10, // BREAKDOWN_DOORS_STUCK_OPEN + 6, // BREAKDOWN_VEHICLE_MALFUNCTION + 0, // BREAKDOWN_BRAKES_FAILURE + 3 // BREAKDOWN_CONTROL_FAILURE }; /** @@ -2182,62 +2182,62 @@ static uint8 _breakdownProblemProbabilities[] = { */ static void ride_inspection_update(rct_ride *ride) { - sint32 i; + sint32 i; - if (gCurrentTicks & 2047) - return; - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) - return; + if (gCurrentTicks & 2047) + return; + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) + return; - ride->last_inspection++; - if (ride->last_inspection == 0) - ride->last_inspection--; + ride->last_inspection++; + if (ride->last_inspection == 0) + ride->last_inspection--; - sint32 inspectionIntervalMinutes = RideInspectionInterval[ride->inspection_interval]; - if (inspectionIntervalMinutes == 0) - return; + sint32 inspectionIntervalMinutes = RideInspectionInterval[ride->inspection_interval]; + if (inspectionIntervalMinutes == 0) + return; - if (RideAvailableBreakdowns[ride->type] == 0) - return; + if (RideAvailableBreakdowns[ride->type] == 0) + return; - if (inspectionIntervalMinutes > ride->last_inspection) - return; + if (inspectionIntervalMinutes > ride->last_inspection) + return; - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_DUE_INSPECTION | RIDE_LIFECYCLE_CRASHED)) - return; + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_DUE_INSPECTION | RIDE_LIFECYCLE_CRASHED)) + return; - // Inspect the first station that has an exit - ride->lifecycle_flags |= RIDE_LIFECYCLE_DUE_INSPECTION; - ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; - ride->inspection_station = 0; - for (i = 0; i < 4; i++) { - if (ride->exits[i] != 0xFFFF) { - ride->inspection_station = i; - break; - } - } + // Inspect the first station that has an exit + ride->lifecycle_flags |= RIDE_LIFECYCLE_DUE_INSPECTION; + ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; + ride->inspection_station = 0; + for (i = 0; i < 4; i++) { + if (ride->exits[i] != 0xFFFF) { + ride->inspection_station = i; + break; + } + } } static sint32 get_age_penalty(rct_ride *ride) { - sint32 years; - years = date_get_year(gDateMonthsElapsed - ride->build_date); - switch (years) { - case 0: - return 0; - case 1: - return ride->unreliability_factor / 8; - case 2: - return ride->unreliability_factor / 4; - case 3: - case 4: - return ride->unreliability_factor / 2; - case 5: - case 6: - case 7: - return ride->unreliability_factor; - default: - return ride->unreliability_factor * 2; - } + sint32 years; + years = date_get_year(gDateMonthsElapsed - ride->build_date); + switch (years) { + case 0: + return 0; + case 1: + return ride->unreliability_factor / 8; + case 2: + return ride->unreliability_factor / 4; + case 3: + case 4: + return ride->unreliability_factor / 2; + case 5: + case 6: + case 7: + return ride->unreliability_factor; + default: + return ride->unreliability_factor * 2; + } } /** @@ -2246,55 +2246,55 @@ static sint32 get_age_penalty(rct_ride *ride) { */ static void ride_breakdown_update(sint32 rideIndex) { - if (gCurrentTicks & 255) - return; - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) - return; + if (gCurrentTicks & 255) + return; + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) + return; - rct_ride *ride = get_ride(rideIndex); - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) - ride->downtime_history[0]++; + rct_ride *ride = get_ride(rideIndex); + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) + ride->downtime_history[0]++; - if (!(gCurrentTicks & 8191)) { - sint32 totalDowntime = - ride->downtime_history[0] + - ride->downtime_history[1] + - ride->downtime_history[2] + - ride->downtime_history[3] + - ride->downtime_history[4] + - ride->downtime_history[5] + - ride->downtime_history[6] + - ride->downtime_history[7]; - ride->downtime = min(totalDowntime / 2, 100); + if (!(gCurrentTicks & 8191)) { + sint32 totalDowntime = + ride->downtime_history[0] + + ride->downtime_history[1] + + ride->downtime_history[2] + + ride->downtime_history[3] + + ride->downtime_history[4] + + ride->downtime_history[5] + + ride->downtime_history[6] + + ride->downtime_history[7]; + ride->downtime = min(totalDowntime / 2, 100); - memmove(&ride->downtime_history[1], ride->downtime_history, sizeof(ride->downtime_history) - 1); + memmove(&ride->downtime_history[1], ride->downtime_history, sizeof(ride->downtime_history) - 1); - ride->downtime_history[0] = 0; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; - } + ride->downtime_history[0] = 0; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; + } - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) - return; - if (ride->status == RIDE_STATUS_CLOSED) - return; + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) + return; + if (ride->status == RIDE_STATUS_CLOSED) + return; - // Calculate breakdown probability? - sint32 unreliabilityAccumulator = ride->unreliability_factor + get_age_penalty(ride); - ride->reliability = max(0, ride->reliability - unreliabilityAccumulator); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; + // Calculate breakdown probability? + sint32 unreliabilityAccumulator = ride->unreliability_factor + get_age_penalty(ride); + ride->reliability = max(0, ride->reliability - unreliabilityAccumulator); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; - // Random probability of a breakdown. Roughly this is 1 in - // - // (25000 - reliability) / 3 000 000 - // - // a 0.8% chance, less the breakdown factor which accumulates as the game - // continues. - if ((ride->reliability == 0 || (sint32)(scenario_rand() & 0x2FFFFF) <= 1 + RIDE_INITIAL_RELIABILITY - ride->reliability) - && !gCheatsDisableAllBreakdowns) { - sint32 breakdownReason = ride_get_new_breakdown_problem(ride); - if (breakdownReason != -1) - ride_prepare_breakdown(rideIndex, breakdownReason); - } + // Random probability of a breakdown. Roughly this is 1 in + // + // (25000 - reliability) / 3 000 000 + // + // a 0.8% chance, less the breakdown factor which accumulates as the game + // continues. + if ((ride->reliability == 0 || (sint32)(scenario_rand() & 0x2FFFFF) <= 1 + RIDE_INITIAL_RELIABILITY - ride->reliability) + && !gCheatsDisableAllBreakdowns) { + sint32 breakdownReason = ride_get_new_breakdown_problem(ride); + if (breakdownReason != -1) + ride_prepare_breakdown(rideIndex, breakdownReason); + } } /** @@ -2303,59 +2303,59 @@ static void ride_breakdown_update(sint32 rideIndex) */ static sint32 ride_get_new_breakdown_problem(rct_ride *ride) { - sint32 availableBreakdownProblems, monthsOld, totalProbability, randomProbability, problemBits, breakdownProblem; - rct_ride_entry *entry; + sint32 availableBreakdownProblems, monthsOld, totalProbability, randomProbability, problemBits, breakdownProblem; + rct_ride_entry *entry; - // Brake failure is more likely when it's raining - _breakdownProblemProbabilities[BREAKDOWN_BRAKES_FAILURE] = gClimateCurrentRainLevel == 0 ? 3 : 20; + // Brake failure is more likely when it's raining + _breakdownProblemProbabilities[BREAKDOWN_BRAKES_FAILURE] = gClimateCurrentRainLevel == 0 ? 3 : 20; - entry = get_ride_entry_by_ride(ride); - if (entry->flags & RIDE_ENTRY_FLAG_CANNOT_BREAK_DOWN) - return -1; + entry = get_ride_entry_by_ride(ride); + if (entry->flags & RIDE_ENTRY_FLAG_CANNOT_BREAK_DOWN) + return -1; - availableBreakdownProblems = RideAvailableBreakdowns[ride->type]; + availableBreakdownProblems = RideAvailableBreakdowns[ride->type]; - // Calculate the total probability range for all possible breakdown problems - totalProbability = 0; - problemBits = availableBreakdownProblems; - while (problemBits != 0) { - breakdownProblem = bitscanforward(problemBits); - problemBits &= ~(1 << breakdownProblem); - totalProbability += _breakdownProblemProbabilities[breakdownProblem]; - } - if (totalProbability == 0) - return -1; + // Calculate the total probability range for all possible breakdown problems + totalProbability = 0; + problemBits = availableBreakdownProblems; + while (problemBits != 0) { + breakdownProblem = bitscanforward(problemBits); + problemBits &= ~(1 << breakdownProblem); + totalProbability += _breakdownProblemProbabilities[breakdownProblem]; + } + if (totalProbability == 0) + return -1; - // Choose a random number within this range - randomProbability = scenario_rand() % totalProbability; + // Choose a random number within this range + randomProbability = scenario_rand() % totalProbability; - // Find which problem range the random number lies - problemBits = availableBreakdownProblems; - do { - breakdownProblem = bitscanforward(problemBits); - problemBits &= ~(1 << breakdownProblem); - randomProbability -= _breakdownProblemProbabilities[breakdownProblem]; - } while (randomProbability >= 0); + // Find which problem range the random number lies + problemBits = availableBreakdownProblems; + do { + breakdownProblem = bitscanforward(problemBits); + problemBits &= ~(1 << breakdownProblem); + randomProbability -= _breakdownProblemProbabilities[breakdownProblem]; + } while (randomProbability >= 0); - if (breakdownProblem != BREAKDOWN_BRAKES_FAILURE) - return breakdownProblem; + if (breakdownProblem != BREAKDOWN_BRAKES_FAILURE) + return breakdownProblem; - // Brakes failure can not happen if block brakes are used (so long as there is more than one vehicle) - // However if this is the case, brake failure should be taken out the equation, otherwise block brake - // rides have a lower probability to break down due to a random implementation reason. - if (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED) - if (ride->num_vehicles != 1) - return -1; + // Brakes failure can not happen if block brakes are used (so long as there is more than one vehicle) + // However if this is the case, brake failure should be taken out the equation, otherwise block brake + // rides have a lower probability to break down due to a random implementation reason. + if (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED) + if (ride->num_vehicles != 1) + return -1; - // If brakes failure is disabled, also take it out of the equation (see above comment why) - if (gCheatsDisableBrakesFailure) - return -1; + // If brakes failure is disabled, also take it out of the equation (see above comment why) + if (gCheatsDisableBrakesFailure) + return -1; - monthsOld = gDateMonthsElapsed - ride->build_date; - if (monthsOld < 16 || ride->reliability > (50 << 8)) - return -1; + monthsOld = gDateMonthsElapsed - ride->build_date; + if (monthsOld < 16 || ride->reliability > (50 << 8)) + return -1; - return BREAKDOWN_BRAKES_FAILURE; + return BREAKDOWN_BRAKES_FAILURE; } /** @@ -2364,74 +2364,74 @@ static sint32 ride_get_new_breakdown_problem(rct_ride *ride) */ void ride_prepare_breakdown(sint32 rideIndex, sint32 breakdownReason) { - sint32 i; - rct_ride *ride; - rct_vehicle *vehicle; + sint32 i; + rct_ride *ride; + rct_vehicle *vehicle; - ride = get_ride(rideIndex); - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) - return; + ride = get_ride(rideIndex); + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) + return; - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_DUE_INSPECTION; - ride->lifecycle_flags |= RIDE_LIFECYCLE_BREAKDOWN_PENDING; + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_DUE_INSPECTION; + ride->lifecycle_flags |= RIDE_LIFECYCLE_BREAKDOWN_PENDING; - ride->breakdown_reason_pending = breakdownReason; - ride->mechanic_status = RIDE_MECHANIC_STATUS_UNDEFINED; - ride->breakdown_sound_modifier = 0; - ride->not_fixed_timeout = 0; + ride->breakdown_reason_pending = breakdownReason; + ride->mechanic_status = RIDE_MECHANIC_STATUS_UNDEFINED; + ride->breakdown_sound_modifier = 0; + ride->not_fixed_timeout = 0; - switch (breakdownReason) { - case BREAKDOWN_SAFETY_CUT_OUT: - case BREAKDOWN_CONTROL_FAILURE: - // Inspect first station with an exit - for (i = 0; i < 4; i++) { - if (ride->exits[i] != 0xFFFF) { - ride->inspection_station = i; - break; - } - } - break; - case BREAKDOWN_RESTRAINTS_STUCK_CLOSED: - case BREAKDOWN_RESTRAINTS_STUCK_OPEN: - case BREAKDOWN_DOORS_STUCK_CLOSED: - case BREAKDOWN_DOORS_STUCK_OPEN: - // Choose a random train and car - ride->broken_vehicle = scenario_rand() % ride->num_vehicles; - ride->broken_car = scenario_rand() % ride->num_cars_per_train; + switch (breakdownReason) { + case BREAKDOWN_SAFETY_CUT_OUT: + case BREAKDOWN_CONTROL_FAILURE: + // Inspect first station with an exit + for (i = 0; i < 4; i++) { + if (ride->exits[i] != 0xFFFF) { + ride->inspection_station = i; + break; + } + } + break; + case BREAKDOWN_RESTRAINTS_STUCK_CLOSED: + case BREAKDOWN_RESTRAINTS_STUCK_OPEN: + case BREAKDOWN_DOORS_STUCK_CLOSED: + case BREAKDOWN_DOORS_STUCK_OPEN: + // Choose a random train and car + ride->broken_vehicle = scenario_rand() % ride->num_vehicles; + ride->broken_car = scenario_rand() % ride->num_cars_per_train; - // Set flag on broken car - vehicle = GET_VEHICLE(ride->vehicles[ride->broken_vehicle]); - for (i = ride->broken_car; i > 0; i--) { - if (vehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) { - vehicle = NULL; - break; - } - else { - vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); - } - } - if (vehicle != NULL) - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_BROKEN_CAR; - break; - case BREAKDOWN_VEHICLE_MALFUNCTION: - // Choose a random train - ride->broken_vehicle = scenario_rand() % ride->num_vehicles; - ride->broken_car = 0; + // Set flag on broken car + vehicle = GET_VEHICLE(ride->vehicles[ride->broken_vehicle]); + for (i = ride->broken_car; i > 0; i--) { + if (vehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) { + vehicle = NULL; + break; + } + else { + vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); + } + } + if (vehicle != NULL) + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_BROKEN_CAR; + break; + case BREAKDOWN_VEHICLE_MALFUNCTION: + // Choose a random train + ride->broken_vehicle = scenario_rand() % ride->num_vehicles; + ride->broken_car = 0; - // Set flag on broken train, first car - vehicle = GET_VEHICLE(ride->vehicles[ride->broken_vehicle]); - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_BROKEN_TRAIN; - break; - case BREAKDOWN_BRAKES_FAILURE: - // Original code generates a random number but does not use it - // Unsure if this was supposed to choose a random station (or random station with an exit) - for (i = 0; i < 4; i++) { - ride->inspection_station = i; - if (ride->exits[i] != 0xFFFF) - break; - } - break; - } + // Set flag on broken train, first car + vehicle = GET_VEHICLE(ride->vehicles[ride->broken_vehicle]); + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_BROKEN_TRAIN; + break; + case BREAKDOWN_BRAKES_FAILURE: + // Original code generates a random number but does not use it + // Unsure if this was supposed to choose a random station (or random station with an exit) + for (i = 0; i < 4; i++) { + ride->inspection_station = i; + if (ride->exits[i] != 0xFFFF) + break; + } + break; + } } /** @@ -2440,13 +2440,13 @@ void ride_prepare_breakdown(sint32 rideIndex, sint32 breakdownReason) */ void ride_breakdown_add_news_item(sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); - if (gConfigNotifications.ride_broken_down) { - news_item_add_to_queue(NEWS_ITEM_RIDE, STR_RIDE_IS_BROKEN_DOWN, rideIndex); - } + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); + if (gConfigNotifications.ride_broken_down) { + news_item_add_to_queue(NEWS_ITEM_RIDE, STR_RIDE_IS_BROKEN_DOWN, rideIndex); + } } /** @@ -2455,31 +2455,31 @@ void ride_breakdown_add_news_item(sint32 rideIndex) */ static void ride_breakdown_status_update(sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - // Warn player if ride hasn't been fixed for ages - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { - ride->not_fixed_timeout++; - // When there has been a full 255 timeout ticks this - // will force timeout ticks to keep issuing news every - // 16 ticks. Note there is no reason to do this. - if (ride->not_fixed_timeout == 0) - ride->not_fixed_timeout -= 16; + // Warn player if ride hasn't been fixed for ages + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { + ride->not_fixed_timeout++; + // When there has been a full 255 timeout ticks this + // will force timeout ticks to keep issuing news every + // 16 ticks. Note there is no reason to do this. + if (ride->not_fixed_timeout == 0) + ride->not_fixed_timeout -= 16; - if ( - !(ride->not_fixed_timeout & 15) && - ride->mechanic_status != RIDE_MECHANIC_STATUS_FIXING && - ride->mechanic_status != RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES - ) { - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); - if (gConfigNotifications.ride_warnings) { - news_item_add_to_queue(NEWS_ITEM_RIDE, STR_RIDE_IS_STILL_NOT_FIXED, rideIndex); - } - } - } + if ( + !(ride->not_fixed_timeout & 15) && + ride->mechanic_status != RIDE_MECHANIC_STATUS_FIXING && + ride->mechanic_status != RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES + ) { + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); + if (gConfigNotifications.ride_warnings) { + news_item_add_to_queue(NEWS_ITEM_RIDE, STR_RIDE_IS_STILL_NOT_FIXED, rideIndex); + } + } + } - ride_mechanic_status_update(rideIndex, ride->mechanic_status); + ride_mechanic_status_update(rideIndex, ride->mechanic_status); } /** @@ -2488,69 +2488,69 @@ static void ride_breakdown_status_update(sint32 rideIndex) */ static void ride_mechanic_status_update(sint32 rideIndex, sint32 mechanicStatus) { - sint32 breakdownReason; - rct_ride *ride; - rct_peep *mechanic; + sint32 breakdownReason; + rct_ride *ride; + rct_peep *mechanic; - ride = get_ride(rideIndex); - switch (mechanicStatus) { - case RIDE_MECHANIC_STATUS_UNDEFINED: - breakdownReason = ride->breakdown_reason_pending; - if ( - breakdownReason == BREAKDOWN_SAFETY_CUT_OUT || - breakdownReason == BREAKDOWN_BRAKES_FAILURE || - breakdownReason == BREAKDOWN_CONTROL_FAILURE - ) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_BROKEN_DOWN; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE | RIDE_INVALIDATE_RIDE_LIST | RIDE_INVALIDATE_RIDE_MAIN; - ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; - ride->breakdown_reason = breakdownReason; - ride_breakdown_add_news_item(rideIndex); - } - break; - case RIDE_MECHANIC_STATUS_CALLING: - if (RideAvailableBreakdowns[ride->type] == 0) { - ride->lifecycle_flags &= ~(RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_DUE_INSPECTION); - break; - } + ride = get_ride(rideIndex); + switch (mechanicStatus) { + case RIDE_MECHANIC_STATUS_UNDEFINED: + breakdownReason = ride->breakdown_reason_pending; + if ( + breakdownReason == BREAKDOWN_SAFETY_CUT_OUT || + breakdownReason == BREAKDOWN_BRAKES_FAILURE || + breakdownReason == BREAKDOWN_CONTROL_FAILURE + ) { + ride->lifecycle_flags |= RIDE_LIFECYCLE_BROKEN_DOWN; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE | RIDE_INVALIDATE_RIDE_LIST | RIDE_INVALIDATE_RIDE_MAIN; + ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; + ride->breakdown_reason = breakdownReason; + ride_breakdown_add_news_item(rideIndex); + } + break; + case RIDE_MECHANIC_STATUS_CALLING: + if (RideAvailableBreakdowns[ride->type] == 0) { + ride->lifecycle_flags &= ~(RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_DUE_INSPECTION); + break; + } - ride_call_closest_mechanic(rideIndex); - break; - case RIDE_MECHANIC_STATUS_HEADING: - mechanic = NULL; - if (ride->mechanic != SPRITE_INDEX_NULL) { - mechanic = &(get_sprite(ride->mechanic)->peep); - } - if (mechanic == NULL || - !peep_is_mechanic(mechanic) || - (mechanic->state != PEEP_STATE_HEADING_TO_INSPECTION && mechanic->state != PEEP_STATE_ANSWERING) || - mechanic->current_ride != rideIndex - ) { - ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; - ride_mechanic_status_update(rideIndex, RIDE_MECHANIC_STATUS_CALLING); - } - break; - case RIDE_MECHANIC_STATUS_FIXING: - mechanic = NULL; - if (ride->mechanic != SPRITE_INDEX_NULL) { - mechanic = &(get_sprite(ride->mechanic)->peep); - } - if (mechanic == NULL || - !peep_is_mechanic(mechanic) || - ( - mechanic->state != PEEP_STATE_HEADING_TO_INSPECTION && - mechanic->state != PEEP_STATE_FIXING && - mechanic->state != PEEP_STATE_INSPECTING && - mechanic->state != PEEP_STATE_ANSWERING - ) - ) { - ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; - ride_mechanic_status_update(rideIndex, RIDE_MECHANIC_STATUS_CALLING); - } - break; - } + ride_call_closest_mechanic(rideIndex); + break; + case RIDE_MECHANIC_STATUS_HEADING: + mechanic = NULL; + if (ride->mechanic != SPRITE_INDEX_NULL) { + mechanic = &(get_sprite(ride->mechanic)->peep); + } + if (mechanic == NULL || + !peep_is_mechanic(mechanic) || + (mechanic->state != PEEP_STATE_HEADING_TO_INSPECTION && mechanic->state != PEEP_STATE_ANSWERING) || + mechanic->current_ride != rideIndex + ) { + ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; + ride_mechanic_status_update(rideIndex, RIDE_MECHANIC_STATUS_CALLING); + } + break; + case RIDE_MECHANIC_STATUS_FIXING: + mechanic = NULL; + if (ride->mechanic != SPRITE_INDEX_NULL) { + mechanic = &(get_sprite(ride->mechanic)->peep); + } + if (mechanic == NULL || + !peep_is_mechanic(mechanic) || + ( + mechanic->state != PEEP_STATE_HEADING_TO_INSPECTION && + mechanic->state != PEEP_STATE_FIXING && + mechanic->state != PEEP_STATE_INSPECTING && + mechanic->state != PEEP_STATE_ANSWERING + ) + ) { + ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; + ride_mechanic_status_update(rideIndex, RIDE_MECHANIC_STATUS_CALLING); + } + break; + } } /** @@ -2559,18 +2559,18 @@ static void ride_mechanic_status_update(sint32 rideIndex, sint32 mechanicStatus) */ static void ride_call_mechanic(sint32 rideIndex, rct_peep *mechanic, sint32 forInspection) { - rct_ride *ride; + rct_ride *ride; - ride = get_ride(rideIndex); - peep_decrement_num_riders(mechanic); - mechanic->state = forInspection ? PEEP_STATE_HEADING_TO_INSPECTION : PEEP_STATE_ANSWERING; - peep_window_state_update(mechanic); - mechanic->sub_state = 0; - ride->mechanic_status = RIDE_MECHANIC_STATUS_HEADING; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; - ride->mechanic = mechanic->sprite_index; - mechanic->current_ride = rideIndex; - mechanic->current_ride_station = ride->inspection_station; + ride = get_ride(rideIndex); + peep_decrement_num_riders(mechanic); + mechanic->state = forInspection ? PEEP_STATE_HEADING_TO_INSPECTION : PEEP_STATE_ANSWERING; + peep_window_state_update(mechanic); + mechanic->sub_state = 0; + ride->mechanic_status = RIDE_MECHANIC_STATUS_HEADING; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAINTENANCE; + ride->mechanic = mechanic->sprite_index; + mechanic->current_ride = rideIndex; + mechanic->current_ride_station = ride->inspection_station; } /** @@ -2579,49 +2579,49 @@ static void ride_call_mechanic(sint32 rideIndex, rct_peep *mechanic, sint32 forI */ static void ride_call_closest_mechanic(sint32 rideIndex) { - rct_ride *ride; - rct_peep *mechanic; - sint32 forInspection; + rct_ride *ride; + rct_peep *mechanic; + sint32 forInspection; - ride = get_ride(rideIndex); - forInspection = (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN)) == 0; + ride = get_ride(rideIndex); + forInspection = (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN)) == 0; - mechanic = ride_find_closest_mechanic(ride, forInspection); - if (mechanic != NULL) - ride_call_mechanic(rideIndex, mechanic, forInspection); + mechanic = ride_find_closest_mechanic(ride, forInspection); + if (mechanic != NULL) + ride_call_mechanic(rideIndex, mechanic, forInspection); } rct_peep *ride_find_closest_mechanic(rct_ride *ride, sint32 forInspection) { - sint32 x, y, z, stationIndex; - uint16 xy; - rct_map_element *mapElement; + sint32 x, y, z, stationIndex; + uint16 xy; + rct_map_element *mapElement; - // Get either exit position or entrance position if there is no exit - stationIndex = ride->inspection_station; - xy = ride->exits[stationIndex]; - if (xy == 0xFFFF) { - xy = ride->entrances[stationIndex]; - if (xy == 0xFFFF) - return NULL; - } + // Get either exit position or entrance position if there is no exit + stationIndex = ride->inspection_station; + xy = ride->exits[stationIndex]; + if (xy == 0xFFFF) { + xy = ride->entrances[stationIndex]; + if (xy == 0xFFFF) + return NULL; + } - // Get station start track element and position - x = xy & 0xFF; - y = xy >> 8; - z = ride->station_heights[stationIndex]; - mapElement = ride_get_station_exit_element(ride, x, y, z); - if (mapElement == NULL) - return NULL; + // Get station start track element and position + x = xy & 0xFF; + y = xy >> 8; + z = ride->station_heights[stationIndex]; + mapElement = ride_get_station_exit_element(ride, x, y, z); + if (mapElement == NULL) + return NULL; - x *= 32; - y *= 32; + x *= 32; + y *= 32; - // Set x,y to centre of the station exit for the mechanic search. - x += 16; - y += 16; + // Set x,y to centre of the station exit for the mechanic search. + x += 16; + y += 16; - return find_closest_mechanic(x, y, forInspection); + return find_closest_mechanic(x, y, forInspection); } /** @@ -2631,63 +2631,63 @@ rct_peep *ride_find_closest_mechanic(rct_ride *ride, sint32 forInspection) */ rct_peep *find_closest_mechanic(sint32 x, sint32 y, sint32 forInspection) { - uint32 closestDistance, distance; - uint16 spriteIndex; - rct_peep *peep, *closestMechanic = NULL; + uint32 closestDistance, distance; + uint16 spriteIndex; + rct_peep *peep, *closestMechanic = NULL; - closestDistance = UINT_MAX; - FOR_ALL_STAFF(spriteIndex, peep) { - if (peep->staff_type != STAFF_TYPE_MECHANIC) - continue; + closestDistance = UINT_MAX; + FOR_ALL_STAFF(spriteIndex, peep) { + if (peep->staff_type != STAFF_TYPE_MECHANIC) + continue; - if (!forInspection) { - if (peep->state == PEEP_STATE_HEADING_TO_INSPECTION){ - if (peep->sub_state >= 4) - continue; - } - else if (peep->state != PEEP_STATE_PATROLLING) - continue; + if (!forInspection) { + if (peep->state == PEEP_STATE_HEADING_TO_INSPECTION){ + if (peep->sub_state >= 4) + continue; + } + else if (peep->state != PEEP_STATE_PATROLLING) + continue; - if (!(peep->staff_orders & STAFF_ORDERS_FIX_RIDES)) - continue; - } else { - if (peep->state != PEEP_STATE_PATROLLING || !(peep->staff_orders & STAFF_ORDERS_INSPECT_RIDES)) - continue; - } + if (!(peep->staff_orders & STAFF_ORDERS_FIX_RIDES)) + continue; + } else { + if (peep->state != PEEP_STATE_PATROLLING || !(peep->staff_orders & STAFF_ORDERS_INSPECT_RIDES)) + continue; + } - if (map_is_location_in_park(x, y)) - if (!staff_is_location_in_patrol(peep, x & 0xFFE0, y & 0xFFE0)) - continue; + if (map_is_location_in_park(x, y)) + if (!staff_is_location_in_patrol(peep, x & 0xFFE0, y & 0xFFE0)) + continue; - if (peep->x == MAP_LOCATION_NULL) - continue; + if (peep->x == MAP_LOCATION_NULL) + continue; - // Manhattan distance - distance = abs(peep->x - x) + abs(peep->y - y); - if (distance < closestDistance) { - closestDistance = distance; - closestMechanic = peep; - } - } + // Manhattan distance + distance = abs(peep->x - x) + abs(peep->y - y); + if (distance < closestDistance) { + closestDistance = distance; + closestMechanic = peep; + } + } - return closestMechanic; + return closestMechanic; } rct_peep *ride_get_assigned_mechanic(rct_ride *ride) { - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { - if ( - ride->mechanic_status == RIDE_MECHANIC_STATUS_HEADING || - ride->mechanic_status == RIDE_MECHANIC_STATUS_FIXING || - ride->mechanic_status == RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES - ) { - rct_peep *peep = &(get_sprite(ride->mechanic)->peep); - if (peep_is_mechanic(peep)) - return peep; - } - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { + if ( + ride->mechanic_status == RIDE_MECHANIC_STATUS_HEADING || + ride->mechanic_status == RIDE_MECHANIC_STATUS_FIXING || + ride->mechanic_status == RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES + ) { + rct_peep *peep = &(get_sprite(ride->mechanic)->peep); + if (peep_is_mechanic(peep)) + return peep; + } + } - return NULL; + return NULL; } #pragma endregion @@ -2698,39 +2698,39 @@ rct_peep *ride_get_assigned_mechanic(rct_ride *ride) // 0x009AEF28 uint8 *ride_music_style_tuneids[] = { - MAKE_TUNEID_LIST(13), // MUSIC_STYLE_DODGEMS_BEAT - MAKE_TUNEID_LIST(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), // MUSIC_STYLE_FAIRGROUND_ORGAN - MAKE_TUNEID_LIST(15), // MUSIC_STYLE_ROMAN_FANFARE - MAKE_TUNEID_LIST(16), // MUSIC_STYLE_ORIENTAL - MAKE_TUNEID_LIST(17), // MUSIC_STYLE_MARTIAN - MAKE_TUNEID_LIST(18), // MUSIC_STYLE_JUNGLE_DRUMS - MAKE_TUNEID_LIST(19), // MUSIC_STYLE_EGYPTIAN - MAKE_TUNEID_LIST(20), // MUSIC_STYLE_TOYLAND - MAKE_TUNEID_LIST(21), // MUSIC_STYLE_CIRCUS_SHOW - MAKE_TUNEID_LIST(22), // MUSIC_STYLE_SPACE - MAKE_TUNEID_LIST(23), // MUSIC_STYLE_HORROR - MAKE_TUNEID_LIST(24), // MUSIC_STYLE_TECHNO - MAKE_TUNEID_LIST(25), // MUSIC_STYLE_GENTLE - MAKE_TUNEID_LIST(26), // MUSIC_STYLE_SUMMER - MAKE_TUNEID_LIST(27), // MUSIC_STYLE_WATER - MAKE_TUNEID_LIST(28), // MUSIC_STYLE_WILD_WEST - MAKE_TUNEID_LIST(29), // MUSIC_STYLE_JURASSIC - MAKE_TUNEID_LIST(30), // MUSIC_STYLE_ROCK - MAKE_TUNEID_LIST(31), // MUSIC_STYLE_RAGTIME - MAKE_TUNEID_LIST(32), // MUSIC_STYLE_FANTASY - MAKE_TUNEID_LIST(33), // MUSIC_STYLE_ROCK_STYLE_2 - MAKE_TUNEID_LIST(34), // MUSIC_STYLE_ICE - MAKE_TUNEID_LIST(35), // MUSIC_STYLE_SNOW - MAKE_TUNEID_LIST(36), // MUSIC_STYLE_CUSTOM_MUSIC_1 - MAKE_TUNEID_LIST(37), // MUSIC_STYLE_CUSTOM_MUSIC_2 - MAKE_TUNEID_LIST(38), // MUSIC_STYLE_MEDIEVAL - MAKE_TUNEID_LIST(39), // MUSIC_STYLE_URBAN - MAKE_TUNEID_LIST(40), // MUSIC_STYLE_ORGAN - MAKE_TUNEID_LIST(41), // MUSIC_STYLE_MECHANICAL - MAKE_TUNEID_LIST(42), // MUSIC_STYLE_MODERN - MAKE_TUNEID_LIST(43), // MUSIC_STYLE_PIRATES - MAKE_TUNEID_LIST(44), // MUSIC_STYLE_ROCK_STYLE_3 - MAKE_TUNEID_LIST(45), // MUSIC_STYLE_CANDY_STYLE + MAKE_TUNEID_LIST(13), // MUSIC_STYLE_DODGEMS_BEAT + MAKE_TUNEID_LIST(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), // MUSIC_STYLE_FAIRGROUND_ORGAN + MAKE_TUNEID_LIST(15), // MUSIC_STYLE_ROMAN_FANFARE + MAKE_TUNEID_LIST(16), // MUSIC_STYLE_ORIENTAL + MAKE_TUNEID_LIST(17), // MUSIC_STYLE_MARTIAN + MAKE_TUNEID_LIST(18), // MUSIC_STYLE_JUNGLE_DRUMS + MAKE_TUNEID_LIST(19), // MUSIC_STYLE_EGYPTIAN + MAKE_TUNEID_LIST(20), // MUSIC_STYLE_TOYLAND + MAKE_TUNEID_LIST(21), // MUSIC_STYLE_CIRCUS_SHOW + MAKE_TUNEID_LIST(22), // MUSIC_STYLE_SPACE + MAKE_TUNEID_LIST(23), // MUSIC_STYLE_HORROR + MAKE_TUNEID_LIST(24), // MUSIC_STYLE_TECHNO + MAKE_TUNEID_LIST(25), // MUSIC_STYLE_GENTLE + MAKE_TUNEID_LIST(26), // MUSIC_STYLE_SUMMER + MAKE_TUNEID_LIST(27), // MUSIC_STYLE_WATER + MAKE_TUNEID_LIST(28), // MUSIC_STYLE_WILD_WEST + MAKE_TUNEID_LIST(29), // MUSIC_STYLE_JURASSIC + MAKE_TUNEID_LIST(30), // MUSIC_STYLE_ROCK + MAKE_TUNEID_LIST(31), // MUSIC_STYLE_RAGTIME + MAKE_TUNEID_LIST(32), // MUSIC_STYLE_FANTASY + MAKE_TUNEID_LIST(33), // MUSIC_STYLE_ROCK_STYLE_2 + MAKE_TUNEID_LIST(34), // MUSIC_STYLE_ICE + MAKE_TUNEID_LIST(35), // MUSIC_STYLE_SNOW + MAKE_TUNEID_LIST(36), // MUSIC_STYLE_CUSTOM_MUSIC_1 + MAKE_TUNEID_LIST(37), // MUSIC_STYLE_CUSTOM_MUSIC_2 + MAKE_TUNEID_LIST(38), // MUSIC_STYLE_MEDIEVAL + MAKE_TUNEID_LIST(39), // MUSIC_STYLE_URBAN + MAKE_TUNEID_LIST(40), // MUSIC_STYLE_ORGAN + MAKE_TUNEID_LIST(41), // MUSIC_STYLE_MECHANICAL + MAKE_TUNEID_LIST(42), // MUSIC_STYLE_MODERN + MAKE_TUNEID_LIST(43), // MUSIC_STYLE_PIRATES + MAKE_TUNEID_LIST(44), // MUSIC_STYLE_ROCK_STYLE_3 + MAKE_TUNEID_LIST(45), // MUSIC_STYLE_CANDY_STYLE }; /** @@ -2739,75 +2739,75 @@ uint8 *ride_music_style_tuneids[] = { */ static void ride_music_update(sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - if ( - !(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT) && - !(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_MUSIC) - ) { - return; - } + if ( + !(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT) && + !(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_MUSIC) + ) { + return; + } - if (ride->status != RIDE_STATUS_OPEN || !(ride->lifecycle_flags & RIDE_LIFECYCLE_MUSIC)) { - ride->music_tune_id = 255; - return; - } + if (ride->status != RIDE_STATUS_OPEN || !(ride->lifecycle_flags & RIDE_LIFECYCLE_MUSIC)) { + ride->music_tune_id = 255; + return; + } - if (ride->type == RIDE_TYPE_CIRCUS_SHOW) { - rct_vehicle *vehicle = GET_VEHICLE(ride->vehicles[0]); - if (vehicle->status != VEHICLE_STATUS_DOING_CIRCUS_SHOW) { - ride->music_tune_id = 255; - return; - } - } + if (ride->type == RIDE_TYPE_CIRCUS_SHOW) { + rct_vehicle *vehicle = GET_VEHICLE(ride->vehicles[0]); + if (vehicle->status != VEHICLE_STATUS_DOING_CIRCUS_SHOW) { + ride->music_tune_id = 255; + return; + } + } - // Oscillate parameters for a power cut effect when breaking down - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN)) { - if (ride->breakdown_reason_pending == BREAKDOWN_CONTROL_FAILURE) { - if (!(gCurrentTicks & 7)) - if (ride->breakdown_sound_modifier != 255) - ride->breakdown_sound_modifier++; - } else { - if ( - (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) || - ride->breakdown_reason_pending == BREAKDOWN_BRAKES_FAILURE || - ride->breakdown_reason_pending == BREAKDOWN_CONTROL_FAILURE - ) { - if (ride->breakdown_sound_modifier != 255) - ride->breakdown_sound_modifier++; - } + // Oscillate parameters for a power cut effect when breaking down + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN)) { + if (ride->breakdown_reason_pending == BREAKDOWN_CONTROL_FAILURE) { + if (!(gCurrentTicks & 7)) + if (ride->breakdown_sound_modifier != 255) + ride->breakdown_sound_modifier++; + } else { + if ( + (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) || + ride->breakdown_reason_pending == BREAKDOWN_BRAKES_FAILURE || + ride->breakdown_reason_pending == BREAKDOWN_CONTROL_FAILURE + ) { + if (ride->breakdown_sound_modifier != 255) + ride->breakdown_sound_modifier++; + } - if (ride->breakdown_sound_modifier == 255) { - ride->music_tune_id = 255; - return; - } - } - } + if (ride->breakdown_sound_modifier == 255) { + ride->music_tune_id = 255; + return; + } + } + } - // Select random tune from available tunes for a music style (of course only merry-go-rounds have more than one tune) - if (ride->music_tune_id == 255) { - uint8 *musicStyleTunes = ride_music_style_tuneids[ride->music]; - uint8 numTunes = *musicStyleTunes++; - ride->music_tune_id = musicStyleTunes[util_rand() % numTunes]; - ride->music_position = 0; - return; - } + // Select random tune from available tunes for a music style (of course only merry-go-rounds have more than one tune) + if (ride->music_tune_id == 255) { + uint8 *musicStyleTunes = ride_music_style_tuneids[ride->music]; + uint8 numTunes = *musicStyleTunes++; + ride->music_tune_id = musicStyleTunes[util_rand() % numTunes]; + ride->music_position = 0; + return; + } - sint32 x = (ride->station_starts[0] & 0xFF) * 32 + 16; - sint32 y = (ride->station_starts[0] >> 8) * 32 + 16; - sint32 z = ride->station_heights[0] * 8; + sint32 x = (ride->station_starts[0] & 0xFF) * 32 + 16; + sint32 y = (ride->station_starts[0] >> 8) * 32 + 16; + sint32 z = ride->station_heights[0] * 8; - sint32 sampleRate = 22050; + sint32 sampleRate = 22050; - // Alter sample rate for a power cut effect - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN)) { - sampleRate = ride->breakdown_sound_modifier * 70; - if (ride->breakdown_reason_pending != BREAKDOWN_CONTROL_FAILURE) - sampleRate *= -1; - sampleRate += 22050; - } + // Alter sample rate for a power cut effect + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN)) { + sampleRate = ride->breakdown_sound_modifier * 70; + if (ride->breakdown_reason_pending != BREAKDOWN_CONTROL_FAILURE) + sampleRate *= -1; + sampleRate += 22050; + } - ride->music_position = ride_music_params_update(x, y, z, rideIndex, sampleRate, ride->music_position, &ride->music_tune_id); + ride->music_position = ride_music_params_update(x, y, z, rideIndex, sampleRate, ride->music_position, &ride->music_tune_id); } #pragma endregion @@ -2820,14 +2820,14 @@ static void ride_music_update(sint32 rideIndex) */ void ride_measurement_clear(rct_ride *ride) { - rct_ride_measurement *measurement; + rct_ride_measurement *measurement; - if (ride->measurement_index == 255) - return; + if (ride->measurement_index == 255) + return; - measurement = get_ride_measurement(ride->measurement_index); - measurement->ride_index = 255; - ride->measurement_index = 255; + measurement = get_ride_measurement(ride->measurement_index); + measurement->ride_index = 255; + ride->measurement_index = 255; } /** @@ -2836,74 +2836,74 @@ void ride_measurement_clear(rct_ride *ride) */ static void ride_measurement_update(rct_ride_measurement *measurement) { - uint16 spriteIndex; - rct_ride *ride; - rct_vehicle *vehicle; - sint32 velocity, altitude, verticalG, lateralG; + uint16 spriteIndex; + rct_ride *ride; + rct_vehicle *vehicle; + sint32 velocity, altitude, verticalG, lateralG; - ride = get_ride(measurement->ride_index); - spriteIndex = ride->vehicles[measurement->vehicle_index]; - if (spriteIndex == SPRITE_INDEX_NULL) - return; + ride = get_ride(measurement->ride_index); + spriteIndex = ride->vehicles[measurement->vehicle_index]; + if (spriteIndex == SPRITE_INDEX_NULL) + return; - vehicle = GET_VEHICLE(spriteIndex); + vehicle = GET_VEHICLE(spriteIndex); - if (measurement->flags & RIDE_MEASUREMENT_FLAG_UNLOADING) { - if (vehicle->status != VEHICLE_STATUS_DEPARTING && vehicle->status != VEHICLE_STATUS_TRAVELLING_CABLE_LIFT) - return; + if (measurement->flags & RIDE_MEASUREMENT_FLAG_UNLOADING) { + if (vehicle->status != VEHICLE_STATUS_DEPARTING && vehicle->status != VEHICLE_STATUS_TRAVELLING_CABLE_LIFT) + return; - measurement->flags &= ~RIDE_MEASUREMENT_FLAG_UNLOADING; - if (measurement->current_station == vehicle->current_station) - measurement->current_item = 0; - } + measurement->flags &= ~RIDE_MEASUREMENT_FLAG_UNLOADING; + if (measurement->current_station == vehicle->current_station) + measurement->current_item = 0; + } - if (vehicle->status == VEHICLE_STATUS_UNLOADING_PASSENGERS) { - measurement->flags |= RIDE_MEASUREMENT_FLAG_UNLOADING; - return; - } + if (vehicle->status == VEHICLE_STATUS_UNLOADING_PASSENGERS) { + measurement->flags |= RIDE_MEASUREMENT_FLAG_UNLOADING; + return; + } - uint8 trackType = (vehicle->track_type >> 2) & 0xFF; - if (trackType == TRACK_ELEM_BLOCK_BRAKES || - trackType == TRACK_ELEM_CABLE_LIFT_HILL || - trackType == TRACK_ELEM_25_DEG_UP_TO_FLAT || - trackType == TRACK_ELEM_60_DEG_UP_TO_FLAT || - trackType == TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT || - trackType == TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT) - if (vehicle->velocity == 0) - return; + uint8 trackType = (vehicle->track_type >> 2) & 0xFF; + if (trackType == TRACK_ELEM_BLOCK_BRAKES || + trackType == TRACK_ELEM_CABLE_LIFT_HILL || + trackType == TRACK_ELEM_25_DEG_UP_TO_FLAT || + trackType == TRACK_ELEM_60_DEG_UP_TO_FLAT || + trackType == TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT || + trackType == TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT) + if (vehicle->velocity == 0) + return; - if (measurement->current_item >= RIDE_MEASUREMENT_MAX_ITEMS) - return; + if (measurement->current_item >= RIDE_MEASUREMENT_MAX_ITEMS) + return; - if (measurement->flags & RIDE_MEASUREMENT_FLAG_G_FORCES) { - vehicle_get_g_forces(vehicle, &verticalG, &lateralG); - verticalG = clamp(-127, verticalG / 8, 127); - lateralG = clamp(-127, lateralG / 8, 127); + if (measurement->flags & RIDE_MEASUREMENT_FLAG_G_FORCES) { + vehicle_get_g_forces(vehicle, &verticalG, &lateralG); + verticalG = clamp(-127, verticalG / 8, 127); + lateralG = clamp(-127, lateralG / 8, 127); - if (gScenarioTicks & 1) { - verticalG = (verticalG + measurement->vertical[measurement->current_item]) / 2; - lateralG = (lateralG + measurement->lateral[measurement->current_item]) / 2; - } + if (gScenarioTicks & 1) { + verticalG = (verticalG + measurement->vertical[measurement->current_item]) / 2; + lateralG = (lateralG + measurement->lateral[measurement->current_item]) / 2; + } - measurement->vertical[measurement->current_item] = verticalG & 0xFF; - measurement->lateral[measurement->current_item] = lateralG & 0xFF; - } + measurement->vertical[measurement->current_item] = verticalG & 0xFF; + measurement->lateral[measurement->current_item] = lateralG & 0xFF; + } - velocity = min(abs((vehicle->velocity * 5) >> 16), 255); - altitude = min(vehicle->z / 8, 255); + velocity = min(abs((vehicle->velocity * 5) >> 16), 255); + altitude = min(vehicle->z / 8, 255); - if (gScenarioTicks & 1) { - velocity = (velocity + measurement->velocity[measurement->current_item]) / 2; - altitude = (altitude + measurement->altitude[measurement->current_item]) / 2; - } + if (gScenarioTicks & 1) { + velocity = (velocity + measurement->velocity[measurement->current_item]) / 2; + altitude = (altitude + measurement->altitude[measurement->current_item]) / 2; + } - measurement->velocity[measurement->current_item] = velocity & 0xFF; - measurement->altitude[measurement->current_item] = altitude & 0xFF; + measurement->velocity[measurement->current_item] = velocity & 0xFF; + measurement->altitude[measurement->current_item] = altitude & 0xFF; - if (gScenarioTicks & 1) { - measurement->current_item++; - measurement->num_items = max(measurement->num_items, measurement->current_item); - } + if (gScenarioTicks & 1) { + measurement->current_item++; + measurement->num_items = max(measurement->num_items, measurement->current_item); + } } /** @@ -2912,63 +2912,63 @@ static void ride_measurement_update(rct_ride_measurement *measurement) */ void ride_measurements_update() { - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) - return; + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) + return; - // For each ride measurement - for (sint32 i = 0; i < MAX_RIDE_MEASUREMENTS; i++) { - rct_ride_measurement *measurement = get_ride_measurement(i); - if (measurement->ride_index == 255) - continue; + // For each ride measurement + for (sint32 i = 0; i < MAX_RIDE_MEASUREMENTS; i++) { + rct_ride_measurement *measurement = get_ride_measurement(i); + if (measurement->ride_index == 255) + continue; - rct_ride *ride = get_ride(measurement->ride_index); - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) - continue; + rct_ride *ride = get_ride(measurement->ride_index); + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) + continue; - if (measurement->flags & RIDE_MEASUREMENT_FLAG_RUNNING) { - ride_measurement_update(measurement); - } else { - // For each vehicle - for (sint32 j = 0; j < ride->num_vehicles; j++) { - uint16 spriteIndex = ride->vehicles[j]; - if (spriteIndex == SPRITE_INDEX_NULL) - continue; + if (measurement->flags & RIDE_MEASUREMENT_FLAG_RUNNING) { + ride_measurement_update(measurement); + } else { + // For each vehicle + for (sint32 j = 0; j < ride->num_vehicles; j++) { + uint16 spriteIndex = ride->vehicles[j]; + if (spriteIndex == SPRITE_INDEX_NULL) + continue; - rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); - if (vehicle->status == VEHICLE_STATUS_DEPARTING || vehicle->status == VEHICLE_STATUS_TRAVELLING_CABLE_LIFT) { - measurement->vehicle_index = j; - measurement->current_station = vehicle->current_station; - measurement->flags |= RIDE_MEASUREMENT_FLAG_RUNNING; - measurement->flags &= ~RIDE_MEASUREMENT_FLAG_UNLOADING; - ride_measurement_update(measurement); - break; - } - } + rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); + if (vehicle->status == VEHICLE_STATUS_DEPARTING || vehicle->status == VEHICLE_STATUS_TRAVELLING_CABLE_LIFT) { + measurement->vehicle_index = j; + measurement->current_station = vehicle->current_station; + measurement->flags |= RIDE_MEASUREMENT_FLAG_RUNNING; + measurement->flags &= ~RIDE_MEASUREMENT_FLAG_UNLOADING; + ride_measurement_update(measurement); + break; + } + } - } - } + } + } } static rct_ride_measurement *ride_get_existing_measurement(sint32 rideIndex) { - for (sint32 i = 0; i < MAX_RIDE_MEASUREMENTS; i++) { - rct_ride_measurement *measurement = get_ride_measurement(i); - if (measurement->ride_index == rideIndex) - return measurement; - } + for (sint32 i = 0; i < MAX_RIDE_MEASUREMENTS; i++) { + rct_ride_measurement *measurement = get_ride_measurement(i); + if (measurement->ride_index == rideIndex) + return measurement; + } - return NULL; + return NULL; } static sint32 ride_get_free_measurement() { - for (sint32 i = 0; i < MAX_RIDE_MEASUREMENTS; i++) { - rct_ride_measurement *measurement = get_ride_measurement(i); - if (measurement->ride_index == 255) - return i; - } + for (sint32 i = 0; i < MAX_RIDE_MEASUREMENTS; i++) { + rct_ride_measurement *measurement = get_ride_measurement(i); + if (measurement->ride_index == 255) + return i; + } - return -1; + return -1; } /** @@ -2977,58 +2977,58 @@ static sint32 ride_get_free_measurement() */ rct_ride_measurement *ride_get_measurement(sint32 rideIndex, rct_string_id *message) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - // Check if ride type supports data logging - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_DATA_LOGGING)) { - if (message != NULL) *message = STR_DATA_LOGGING_NOT_AVAILABLE_FOR_THIS_TYPE_OF_RIDE; - return NULL; - } + // Check if ride type supports data logging + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_DATA_LOGGING)) { + if (message != NULL) *message = STR_DATA_LOGGING_NOT_AVAILABLE_FOR_THIS_TYPE_OF_RIDE; + return NULL; + } - // Check if a measurement already exists for this ride - rct_ride_measurement *measurement = ride_get_existing_measurement(rideIndex); - if (measurement == NULL) { - // Find a free measurement - sint32 i = ride_get_free_measurement(); - if (i == -1) { - // Use last recently used measurement for some other ride - sint32 lruIndex = 0; - uint32 lruTicks = 0xFFFFFFFF; - for (i = 0; i < MAX_RIDE_MEASUREMENTS; i++) { - measurement = get_ride_measurement(i); + // Check if a measurement already exists for this ride + rct_ride_measurement *measurement = ride_get_existing_measurement(rideIndex); + if (measurement == NULL) { + // Find a free measurement + sint32 i = ride_get_free_measurement(); + if (i == -1) { + // Use last recently used measurement for some other ride + sint32 lruIndex = 0; + uint32 lruTicks = 0xFFFFFFFF; + for (i = 0; i < MAX_RIDE_MEASUREMENTS; i++) { + measurement = get_ride_measurement(i); - if (measurement->last_use_tick <= lruTicks) { - lruTicks = measurement->last_use_tick; - lruIndex = i; - } - } + if (measurement->last_use_tick <= lruTicks) { + lruTicks = measurement->last_use_tick; + lruIndex = i; + } + } - i = lruIndex; - measurement = get_ride_measurement(i); - get_ride(measurement->ride_index)->measurement_index = 255; - } else { - measurement = get_ride_measurement(i); - } + i = lruIndex; + measurement = get_ride_measurement(i); + get_ride(measurement->ride_index)->measurement_index = 255; + } else { + measurement = get_ride_measurement(i); + } - measurement->ride_index = rideIndex; - ride->measurement_index = i; - measurement->flags = 0; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_G_FORCES)) - measurement->flags |= RIDE_MEASUREMENT_FLAG_G_FORCES; - measurement->num_items = 0; - measurement->current_item = 0; - } + measurement->ride_index = rideIndex; + ride->measurement_index = i; + measurement->flags = 0; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_G_FORCES)) + measurement->flags |= RIDE_MEASUREMENT_FLAG_G_FORCES; + measurement->num_items = 0; + measurement->current_item = 0; + } - measurement->last_use_tick = gScenarioTicks; - if (measurement->flags & 1) { - if (message != NULL) *message = 0; - return measurement; - } else { - set_format_arg(0, rct_string_id, RideComponentNames[RideNameConvention[ride->type].vehicle].singular); - set_format_arg(2, rct_string_id, RideComponentNames[RideNameConvention[ride->type].station].singular); - if (message != NULL) *message = STR_DATA_LOGGING_WILL_START_WHEN_NEXT_LEAVES; - return NULL; - } + measurement->last_use_tick = gScenarioTicks; + if (measurement->flags & 1) { + if (message != NULL) *message = 0; + return measurement; + } else { + set_format_arg(0, rct_string_id, RideComponentNames[RideNameConvention[ride->type].vehicle].singular); + set_format_arg(2, rct_string_id, RideComponentNames[RideNameConvention[ride->type].station].singular); + if (message != NULL) *message = STR_DATA_LOGGING_WILL_START_WHEN_NEXT_LEAVES; + return NULL; + } } #pragma endregion @@ -3037,65 +3037,65 @@ rct_ride_measurement *ride_get_measurement(sint32 rideIndex, rct_string_id *mess track_colour ride_get_track_colour(rct_ride *ride, sint32 colourScheme) { - track_colour result; - result.main = ride->track_colour_main[colourScheme]; - result.additional = ride->track_colour_additional[colourScheme]; - result.supports = ride->track_colour_supports[colourScheme]; - return result; + track_colour result; + result.main = ride->track_colour_main[colourScheme]; + result.additional = ride->track_colour_additional[colourScheme]; + result.supports = ride->track_colour_supports[colourScheme]; + return result; } vehicle_colour ride_get_vehicle_colour(rct_ride *ride, sint32 vehicleIndex) { - vehicle_colour result; + vehicle_colour result; - //Prevent indexing array out of bounds - if (vehicleIndex > 31) { - vehicleIndex = 31; - } + //Prevent indexing array out of bounds + if (vehicleIndex > 31) { + vehicleIndex = 31; + } - result.main = ride->vehicle_colours[vehicleIndex].body_colour; - result.additional_1 = ride->vehicle_colours[vehicleIndex].trim_colour; - result.additional_2 = ride->vehicle_colours_extended[vehicleIndex]; - return result; + result.main = ride->vehicle_colours[vehicleIndex].body_colour; + result.additional_1 = ride->vehicle_colours[vehicleIndex].trim_colour; + result.additional_2 = ride->vehicle_colours_extended[vehicleIndex]; + return result; } static bool ride_does_vehicle_colour_exist(uint8 ride_sub_type, vehicle_colour *vehicleColour) { - sint32 i; - rct_ride *ride2; - FOR_ALL_RIDES(i, ride2) { - if (ride2->subtype != ride_sub_type) continue; - if (ride2->vehicle_colours[0].body_colour != vehicleColour->main) continue; - return false; - } - return true; + sint32 i; + rct_ride *ride2; + FOR_ALL_RIDES(i, ride2) { + if (ride2->subtype != ride_sub_type) continue; + if (ride2->vehicle_colours[0].body_colour != vehicleColour->main) continue; + return false; + } + return true; } static sint32 ride_get_unused_preset_vehicle_colour(uint8 ride_type, uint8 ride_sub_type) { - if (ride_sub_type >= 128) - { - return 0; - } - rct_ride_entry *rideEntry = get_ride_entry(ride_sub_type); - if (rideEntry == (rct_ride_entry *)-1) - { - return 0; - } - vehicle_colour_preset_list *presetList = rideEntry->vehicle_preset_list; - if (presetList->count == 255) - return 255; + if (ride_sub_type >= 128) + { + return 0; + } + rct_ride_entry *rideEntry = get_ride_entry(ride_sub_type); + if (rideEntry == (rct_ride_entry *)-1) + { + return 0; + } + vehicle_colour_preset_list *presetList = rideEntry->vehicle_preset_list; + if (presetList->count == 255) + return 255; - for (sint32 attempt = 0; attempt < 200; attempt++) { - uint8 numColourConfigurations = presetList->count; - sint32 randomConfigIndex = util_rand() % numColourConfigurations; - vehicle_colour *preset = &presetList->list[randomConfigIndex]; + for (sint32 attempt = 0; attempt < 200; attempt++) { + uint8 numColourConfigurations = presetList->count; + sint32 randomConfigIndex = util_rand() % numColourConfigurations; + vehicle_colour *preset = &presetList->list[randomConfigIndex]; - if (ride_does_vehicle_colour_exist(ride_sub_type, preset)) { - return randomConfigIndex; - } - } - return 0; + if (ride_does_vehicle_colour_exist(ride_sub_type, preset)) { + return randomConfigIndex; + } + } + return 0; } /** @@ -3104,26 +3104,26 @@ static sint32 ride_get_unused_preset_vehicle_colour(uint8 ride_type, uint8 ride_ */ static void ride_set_vehicle_colours_to_random_preset(rct_ride *ride, uint8 preset_index) { - rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); - vehicle_colour_preset_list *presetList = rideEntry->vehicle_preset_list; + rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); + vehicle_colour_preset_list *presetList = rideEntry->vehicle_preset_list; - if (presetList->count != 255) { - assert(preset_index < presetList->count); + if (presetList->count != 255) { + assert(preset_index < presetList->count); - ride->colour_scheme_type = RIDE_COLOUR_SCHEME_ALL_SAME; - vehicle_colour *preset = &presetList->list[preset_index]; - ride->vehicle_colours[0].body_colour = preset->main; - ride->vehicle_colours[0].trim_colour = preset->additional_1; - ride->vehicle_colours_extended[0] = preset->additional_2; - } else { - ride->colour_scheme_type = RIDE_COLOUR_SCHEME_DIFFERENT_PER_TRAIN; - for (sint32 i = 0; i < 32; i++) { - vehicle_colour *preset = &presetList->list[i]; - ride->vehicle_colours[i].body_colour = preset->main; - ride->vehicle_colours[i].trim_colour = preset->additional_1; - ride->vehicle_colours_extended[i] = preset->additional_2; - } - } + ride->colour_scheme_type = RIDE_COLOUR_SCHEME_ALL_SAME; + vehicle_colour *preset = &presetList->list[preset_index]; + ride->vehicle_colours[0].body_colour = preset->main; + ride->vehicle_colours[0].trim_colour = preset->additional_1; + ride->vehicle_colours_extended[0] = preset->additional_2; + } else { + ride->colour_scheme_type = RIDE_COLOUR_SCHEME_DIFFERENT_PER_TRAIN; + for (sint32 i = 0; i < 32; i++) { + vehicle_colour *preset = &presetList->list[i]; + ride->vehicle_colours[i].body_colour = preset->main; + ride->vehicle_colours[i].trim_colour = preset->additional_1; + ride->vehicle_colours_extended[i] = preset->additional_2; + } + } } #pragma endregion @@ -3136,20 +3136,20 @@ static void ride_set_vehicle_colours_to_random_preset(rct_ride *ride, uint8 pres */ void ride_check_all_reachable() { - rct_ride *ride; - sint32 i; + rct_ride *ride; + sint32 i; - FOR_ALL_RIDES(i, ride) { - if (ride->connected_message_throttle != 0) - ride->connected_message_throttle--; - if (ride->status != RIDE_STATUS_OPEN || ride->connected_message_throttle != 0) - continue; + FOR_ALL_RIDES(i, ride) { + if (ride->connected_message_throttle != 0) + ride->connected_message_throttle--; + if (ride->status != RIDE_STATUS_OPEN || ride->connected_message_throttle != 0) + continue; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) - ride_shop_connected(ride, i); - else - ride_entrance_exit_connected(ride, i); - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) + ride_shop_connected(ride, i); + else + ride_entrance_exit_connected(ride, i); + } } /** @@ -3159,131 +3159,131 @@ void ride_check_all_reachable() */ static sint32 ride_entrance_exit_is_reachable(uint16 coordinate, rct_ride* ride, sint32 index) { - sint32 x, y, z; - rct_map_element *mapElement; + sint32 x, y, z; + rct_map_element *mapElement; - x = coordinate & 0xFF; - y = (coordinate >> 8) & 0xFF; - z = ride->station_heights[index]; - mapElement = map_get_first_element_at(x, y); + x = coordinate & 0xFF; + y = (coordinate >> 8) & 0xFF; + z = ride->station_heights[index]; + mapElement = map_get_first_element_at(x, y); - for (;;) { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE && z == mapElement->base_height) { - break; - } else if (map_element_is_last_for_tile(mapElement)) { - return 1; - } - mapElement++; - } + for (;;) { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE && z == mapElement->base_height) { + break; + } else if (map_element_is_last_for_tile(mapElement)) { + return 1; + } + mapElement++; + } - uint8 face_direction = mapElement->type & 3; + uint8 face_direction = mapElement->type & 3; - x *= 32; - y *= 32; - x -= TileDirectionDelta[face_direction].x; - y -= TileDirectionDelta[face_direction].y; - x /= 32; - y /= 32; + x *= 32; + y *= 32; + x -= TileDirectionDelta[face_direction].x; + y -= TileDirectionDelta[face_direction].y; + x /= 32; + y /= 32; - return map_coord_is_connected(x, y, z, face_direction); + return map_coord_is_connected(x, y, z, face_direction); } static void ride_entrance_exit_connected(rct_ride* ride, sint32 ride_idx) { - for (sint32 i = 0; i < 4; ++i) { - uint16 station_start = ride->station_starts[i], - entrance = ride->entrances[i], - exit = ride->exits[i]; + for (sint32 i = 0; i < 4; ++i) { + uint16 station_start = ride->station_starts[i], + entrance = ride->entrances[i], + exit = ride->exits[i]; - if (station_start == 0xFFFF ) - continue; - if (entrance != 0xFFFF && !ride_entrance_exit_is_reachable(entrance, ride, i)) { - // name of ride is parameter of the format string - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); - if (gConfigNotifications.ride_warnings) { - news_item_add_to_queue(1, STR_ENTRANCE_NOT_CONNECTED, ride_idx); - } - ride->connected_message_throttle = 3; - } + if (station_start == 0xFFFF ) + continue; + if (entrance != 0xFFFF && !ride_entrance_exit_is_reachable(entrance, ride, i)) { + // name of ride is parameter of the format string + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); + if (gConfigNotifications.ride_warnings) { + news_item_add_to_queue(1, STR_ENTRANCE_NOT_CONNECTED, ride_idx); + } + ride->connected_message_throttle = 3; + } - if (exit != 0xFFFF && !ride_entrance_exit_is_reachable(exit, ride, i)) { - // name of ride is parameter of the format string - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); - if (gConfigNotifications.ride_warnings) { - news_item_add_to_queue(1, STR_EXIT_NOT_CONNECTED, ride_idx); - } - ride->connected_message_throttle = 3; - } + if (exit != 0xFFFF && !ride_entrance_exit_is_reachable(exit, ride, i)) { + // name of ride is parameter of the format string + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); + if (gConfigNotifications.ride_warnings) { + news_item_add_to_queue(1, STR_EXIT_NOT_CONNECTED, ride_idx); + } + ride->connected_message_throttle = 3; + } - } + } } static void ride_shop_connected(rct_ride* ride, sint32 ride_idx) { - sint32 x, y, count; - rct_map_element *mapElement; + sint32 x, y, count; + rct_map_element *mapElement; - uint16 coordinate = ride->station_starts[0]; - if (coordinate == 0xFFFF) - return; + uint16 coordinate = ride->station_starts[0]; + if (coordinate == 0xFFFF) + return; - x = (coordinate & 0xFF); - y = (coordinate >> 8) & 0xFF; + x = (coordinate & 0xFF); + y = (coordinate >> 8) & 0xFF; - mapElement = map_get_first_element_at(x, y); - do { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK && mapElement->properties.track.ride_index == ride_idx) - break; - } while (!map_element_is_last_for_tile(mapElement++)); + mapElement = map_get_first_element_at(x, y); + do { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK && mapElement->properties.track.ride_index == ride_idx) + break; + } while (!map_element_is_last_for_tile(mapElement++)); - uint16 entrance_directions = 0; - uint8 track_type = mapElement->properties.track.type; - ride = get_ride(mapElement->properties.track.ride_index); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - entrance_directions = FlatRideTrackSequenceProperties[track_type][0]; - } else { - entrance_directions = TrackSequenceProperties[track_type][0]; - } + uint16 entrance_directions = 0; + uint8 track_type = mapElement->properties.track.type; + ride = get_ride(mapElement->properties.track.ride_index); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + entrance_directions = FlatRideTrackSequenceProperties[track_type][0]; + } else { + entrance_directions = TrackSequenceProperties[track_type][0]; + } - uint8 tile_direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - entrance_directions <<= tile_direction; - entrance_directions = ((entrance_directions >> 12) | entrance_directions) & 0xF; + uint8 tile_direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + entrance_directions <<= tile_direction; + entrance_directions = ((entrance_directions >> 12) | entrance_directions) & 0xF; - // Now each bit in entrance_directions stands for an entrance direction to check - if (entrance_directions == 0) - return; + // Now each bit in entrance_directions stands for an entrance direction to check + if (entrance_directions == 0) + return; - // Turn x, y from tiles into units - x *= 32; - y *= 32; + // Turn x, y from tiles into units + x *= 32; + y *= 32; - for (count = 0; entrance_directions != 0; count++) { - if (!(entrance_directions & 1)) { - entrance_directions >>= 1; - continue; - } - entrance_directions >>= 1; + for (count = 0; entrance_directions != 0; count++) { + if (!(entrance_directions & 1)) { + entrance_directions >>= 1; + continue; + } + entrance_directions >>= 1; - // Flip direction north<->south, east<->west - uint8 face_direction = count ^ 2; + // Flip direction north<->south, east<->west + uint8 face_direction = count ^ 2; - sint32 y2 = y - TileDirectionDelta[face_direction].y; - sint32 x2 = x - TileDirectionDelta[face_direction].x; + sint32 y2 = y - TileDirectionDelta[face_direction].y; + sint32 x2 = x - TileDirectionDelta[face_direction].x; - if (map_coord_is_connected(x2 / 32, y2 / 32, mapElement->base_height, face_direction)) - return; - } + if (map_coord_is_connected(x2 / 32, y2 / 32, mapElement->base_height, face_direction)) + return; + } - // Name of ride is parameter of the format string - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); - if (gConfigNotifications.ride_warnings) { - news_item_add_to_queue(1, STR_ENTRANCE_NOT_CONNECTED, ride_idx); - } + // Name of ride is parameter of the format string + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); + if (gConfigNotifications.ride_warnings) { + news_item_add_to_queue(1, STR_ENTRANCE_NOT_CONNECTED, ride_idx); + } - ride->connected_message_throttle = 3; + ride->connected_message_throttle = 3; } #pragma endregion @@ -3292,112 +3292,112 @@ static void ride_shop_connected(rct_ride* ride, sint32 ride_idx) static void ride_track_set_map_tooltip(rct_map_element *mapElement) { - sint32 rideIndex; - rct_ride *ride; + sint32 rideIndex; + rct_ride *ride; - rideIndex = mapElement->properties.track.ride_index; - ride = get_ride(rideIndex); + rideIndex = mapElement->properties.track.ride_index; + ride = get_ride(rideIndex); - set_map_tooltip_format_arg(0, rct_string_id, STR_RIDE_MAP_TIP); - set_map_tooltip_format_arg(2, rct_string_id, ride->name); - set_map_tooltip_format_arg(4, uint32, ride->name_arguments); + set_map_tooltip_format_arg(0, rct_string_id, STR_RIDE_MAP_TIP); + set_map_tooltip_format_arg(2, rct_string_id, ride->name); + set_map_tooltip_format_arg(4, uint32, ride->name_arguments); - rct_string_id formatSecondary; - sint32 arg1; - ride_get_status(rideIndex, &formatSecondary, &arg1); - set_map_tooltip_format_arg(8, rct_string_id, formatSecondary); - set_map_tooltip_format_arg(10, uint32, arg1); + rct_string_id formatSecondary; + sint32 arg1; + ride_get_status(rideIndex, &formatSecondary, &arg1); + set_map_tooltip_format_arg(8, rct_string_id, formatSecondary); + set_map_tooltip_format_arg(10, uint32, arg1); } static void ride_station_set_map_tooltip(rct_map_element *mapElement) { - sint32 i, rideIndex, stationIndex; - rct_ride *ride; + sint32 i, rideIndex, stationIndex; + rct_ride *ride; - rideIndex = mapElement->properties.track.ride_index; - ride = get_ride(rideIndex); + rideIndex = mapElement->properties.track.ride_index; + ride = get_ride(rideIndex); - stationIndex = map_get_station(mapElement); - for (i = stationIndex; i >= 0; i--) - if (ride->station_starts[i] == 0xFFFF) - stationIndex--; + stationIndex = map_get_station(mapElement); + for (i = stationIndex; i >= 0; i--) + if (ride->station_starts[i] == 0xFFFF) + stationIndex--; - set_map_tooltip_format_arg(0, rct_string_id, STR_RIDE_MAP_TIP); - set_map_tooltip_format_arg(2, rct_string_id, ride->num_stations <= 1 ? STR_RIDE_STATION : STR_RIDE_STATION_X); - set_map_tooltip_format_arg(4, rct_string_id, ride->name); - set_map_tooltip_format_arg(6, uint32, ride->name_arguments); - set_map_tooltip_format_arg(10, rct_string_id, RideComponentNames[RideNameConvention[ride->type].station].capitalised); - set_map_tooltip_format_arg(12, uint16, stationIndex + 1); + set_map_tooltip_format_arg(0, rct_string_id, STR_RIDE_MAP_TIP); + set_map_tooltip_format_arg(2, rct_string_id, ride->num_stations <= 1 ? STR_RIDE_STATION : STR_RIDE_STATION_X); + set_map_tooltip_format_arg(4, rct_string_id, ride->name); + set_map_tooltip_format_arg(6, uint32, ride->name_arguments); + set_map_tooltip_format_arg(10, rct_string_id, RideComponentNames[RideNameConvention[ride->type].station].capitalised); + set_map_tooltip_format_arg(12, uint16, stationIndex + 1); - rct_string_id formatSecondary; - sint32 arg1; - ride_get_status(rideIndex, &formatSecondary, &arg1); - set_map_tooltip_format_arg(14, rct_string_id, formatSecondary); - set_map_tooltip_format_arg(16, uint32, arg1); + rct_string_id formatSecondary; + sint32 arg1; + ride_get_status(rideIndex, &formatSecondary, &arg1); + set_map_tooltip_format_arg(14, rct_string_id, formatSecondary); + set_map_tooltip_format_arg(16, uint32, arg1); } static void ride_entrance_set_map_tooltip(rct_map_element *mapElement) { - sint32 i, rideIndex, stationIndex; - rct_ride *ride; + sint32 i, rideIndex, stationIndex; + rct_ride *ride; - rideIndex = mapElement->properties.track.ride_index; - ride = get_ride(rideIndex); + rideIndex = mapElement->properties.track.ride_index; + ride = get_ride(rideIndex); - // Get the station - stationIndex = map_get_station(mapElement); - for (i = stationIndex; i >= 0; i--) - if (ride->station_starts[i] == 0xFFFF) - stationIndex--; + // Get the station + stationIndex = map_get_station(mapElement); + for (i = stationIndex; i >= 0; i--) + if (ride->station_starts[i] == 0xFFFF) + stationIndex--; - if (mapElement->properties.entrance.type == ENTRANCE_TYPE_RIDE_ENTRANCE) { - // Get the queue length - sint32 queueLength = 0; - if (ride->entrances[stationIndex] != 0xFFFF) - queueLength = ride->queue_length[stationIndex]; + if (mapElement->properties.entrance.type == ENTRANCE_TYPE_RIDE_ENTRANCE) { + // Get the queue length + sint32 queueLength = 0; + if (ride->entrances[stationIndex] != 0xFFFF) + queueLength = ride->queue_length[stationIndex]; - set_map_tooltip_format_arg(0, rct_string_id, STR_RIDE_MAP_TIP); - set_map_tooltip_format_arg(2, rct_string_id, ride->num_stations <= 1 ? STR_RIDE_ENTRANCE : STR_RIDE_STATION_X_ENTRANCE); - set_map_tooltip_format_arg(4, rct_string_id, ride->name); - set_map_tooltip_format_arg(6, uint32, ride->name_arguments); - set_map_tooltip_format_arg(12, uint16, stationIndex + 1); - if (queueLength == 0) { - set_map_tooltip_format_arg(14, rct_string_id, STR_QUEUE_EMPTY); - } else if (queueLength == 1) { - set_map_tooltip_format_arg(14, rct_string_id, STR_QUEUE_ONE_PERSON); - } else { - set_map_tooltip_format_arg(14, rct_string_id, STR_QUEUE_PEOPLE); - } - set_map_tooltip_format_arg(16, uint16, queueLength); - } else { - // Get the station - stationIndex = map_get_station(mapElement); - for (i = stationIndex; i >= 0; i--) - if (ride->station_starts[i] == 0xFFFF) - stationIndex--; + set_map_tooltip_format_arg(0, rct_string_id, STR_RIDE_MAP_TIP); + set_map_tooltip_format_arg(2, rct_string_id, ride->num_stations <= 1 ? STR_RIDE_ENTRANCE : STR_RIDE_STATION_X_ENTRANCE); + set_map_tooltip_format_arg(4, rct_string_id, ride->name); + set_map_tooltip_format_arg(6, uint32, ride->name_arguments); + set_map_tooltip_format_arg(12, uint16, stationIndex + 1); + if (queueLength == 0) { + set_map_tooltip_format_arg(14, rct_string_id, STR_QUEUE_EMPTY); + } else if (queueLength == 1) { + set_map_tooltip_format_arg(14, rct_string_id, STR_QUEUE_ONE_PERSON); + } else { + set_map_tooltip_format_arg(14, rct_string_id, STR_QUEUE_PEOPLE); + } + set_map_tooltip_format_arg(16, uint16, queueLength); + } else { + // Get the station + stationIndex = map_get_station(mapElement); + for (i = stationIndex; i >= 0; i--) + if (ride->station_starts[i] == 0xFFFF) + stationIndex--; - set_map_tooltip_format_arg(0, rct_string_id, ride->num_stations <= 1 ? STR_RIDE_EXIT : STR_RIDE_STATION_X_EXIT); - set_map_tooltip_format_arg(2, rct_string_id, ride->name); - set_map_tooltip_format_arg(4, uint32, ride->name_arguments); - set_map_tooltip_format_arg(10, uint16, stationIndex + 1); - } + set_map_tooltip_format_arg(0, rct_string_id, ride->num_stations <= 1 ? STR_RIDE_EXIT : STR_RIDE_STATION_X_EXIT); + set_map_tooltip_format_arg(2, rct_string_id, ride->name); + set_map_tooltip_format_arg(4, uint32, ride->name_arguments); + set_map_tooltip_format_arg(10, uint16, stationIndex + 1); + } } void ride_set_map_tooltip(rct_map_element *mapElement) { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE) { - ride_entrance_set_map_tooltip(mapElement); - } else { - if ( - mapElement->properties.track.type == 2 || - mapElement->properties.track.type == 3 || - mapElement->properties.track.type == 1 - ) { - ride_station_set_map_tooltip(mapElement); - } else { - ride_track_set_map_tooltip(mapElement); - } - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE) { + ride_entrance_set_map_tooltip(mapElement); + } else { + if ( + mapElement->properties.track.type == 2 || + mapElement->properties.track.type == 3 || + mapElement->properties.track.type == 1 + ) { + ride_station_set_map_tooltip(mapElement); + } else { + ride_track_set_map_tooltip(mapElement); + } + } } /** @@ -3415,206 +3415,206 @@ void ride_set_map_tooltip(rct_map_element *mapElement) */ sint32 ride_music_params_update(sint16 x, sint16 y, sint16 z, uint8 rideIndex, uint16 sampleRate, uint32 position, uint8 *tuneId) { - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gGameSoundsOff && g_music_tracking_viewport != (rct_viewport*)-1) { - rct_xy16 rotatedCoords = { 0, 0 }; + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gGameSoundsOff && g_music_tracking_viewport != (rct_viewport*)-1) { + rct_xy16 rotatedCoords = { 0, 0 }; - switch (get_current_rotation()) { - case 0: - rotatedCoords.x = y - x; - rotatedCoords.y = ((y + x) / 2) - z; - break; - case 1: - rotatedCoords.x = -x - y; - rotatedCoords.y = ((y - x) / 2) - z; - break; - case 2: - rotatedCoords.x = x - y; - rotatedCoords.y = ((-y - x) / 2) - z; - break; - case 3: - rotatedCoords.x = y + x; - rotatedCoords.y = ((x - y) / 2) - z; - break; - } - rct_viewport* viewport = g_music_tracking_viewport; - sint16 view_width = viewport->view_width; - sint16 view_width2 = view_width * 2; - sint16 view_x = viewport->view_x - view_width2; - sint16 view_y = viewport->view_y - view_width; - sint16 view_x2 = view_width2 + view_width2 + viewport->view_width + view_x; - sint16 view_y2 = view_width + view_width + viewport->view_height + view_y; - if (view_x >= rotatedCoords.x || - view_y >= rotatedCoords.y || - view_x2 < rotatedCoords.x || - view_y2 < rotatedCoords.y) { - goto label58; - } - sint32 x2 = viewport->x + ((rotatedCoords.x - viewport->view_x) >> viewport->zoom); - x2 *= 0x10000; - uint16 screenwidth = context_get_width(); - if (screenwidth < 64) { - screenwidth = 64; - } - sint32 pan_x = ((x2 / screenwidth) - 0x8000) >> 4; + switch (get_current_rotation()) { + case 0: + rotatedCoords.x = y - x; + rotatedCoords.y = ((y + x) / 2) - z; + break; + case 1: + rotatedCoords.x = -x - y; + rotatedCoords.y = ((y - x) / 2) - z; + break; + case 2: + rotatedCoords.x = x - y; + rotatedCoords.y = ((-y - x) / 2) - z; + break; + case 3: + rotatedCoords.x = y + x; + rotatedCoords.y = ((x - y) / 2) - z; + break; + } + rct_viewport* viewport = g_music_tracking_viewport; + sint16 view_width = viewport->view_width; + sint16 view_width2 = view_width * 2; + sint16 view_x = viewport->view_x - view_width2; + sint16 view_y = viewport->view_y - view_width; + sint16 view_x2 = view_width2 + view_width2 + viewport->view_width + view_x; + sint16 view_y2 = view_width + view_width + viewport->view_height + view_y; + if (view_x >= rotatedCoords.x || + view_y >= rotatedCoords.y || + view_x2 < rotatedCoords.x || + view_y2 < rotatedCoords.y) { + goto label58; + } + sint32 x2 = viewport->x + ((rotatedCoords.x - viewport->view_x) >> viewport->zoom); + x2 *= 0x10000; + uint16 screenwidth = context_get_width(); + if (screenwidth < 64) { + screenwidth = 64; + } + sint32 pan_x = ((x2 / screenwidth) - 0x8000) >> 4; - sint32 y2 = viewport->y + ((rotatedCoords.y - viewport->view_y) >> viewport->zoom); - y2 *= 0x10000; - uint16 screenheight = context_get_height(); - if (screenheight < 64) { - screenheight = 64; - } - sint32 pan_y = ((y2 / screenheight) - 0x8000) >> 4; + sint32 y2 = viewport->y + ((rotatedCoords.y - viewport->view_y) >> viewport->zoom); + y2 *= 0x10000; + uint16 screenheight = context_get_height(); + if (screenheight < 64) { + screenheight = 64; + } + sint32 pan_y = ((y2 / screenheight) - 0x8000) >> 4; - uint8 vol1 = -1; - uint8 vol2 = -1; - sint32 panx2 = pan_x; - sint32 pany2 = pan_y; - if (pany2 < 0) { - pany2 = -pany2; - } - if (pany2 > 6143) { - pany2 = 6143; - } - pany2 -= 2048; - if (pany2 > 0) { - pany2 = -((pany2 / 4) - 1024) / 4; - vol1 = (uint8)pany2; - if (pany2 >= 256) { - vol1 = -1; - } - } + uint8 vol1 = -1; + uint8 vol2 = -1; + sint32 panx2 = pan_x; + sint32 pany2 = pan_y; + if (pany2 < 0) { + pany2 = -pany2; + } + if (pany2 > 6143) { + pany2 = 6143; + } + pany2 -= 2048; + if (pany2 > 0) { + pany2 = -((pany2 / 4) - 1024) / 4; + vol1 = (uint8)pany2; + if (pany2 >= 256) { + vol1 = -1; + } + } - if (panx2 < 0) { - panx2 = -panx2; - } - if (panx2 > 6143) { - panx2 = 6143; - } - panx2 -= 2048; - if (panx2 > 0) { - panx2 = -((panx2 / 4) - 1024) / 4; - vol2 = (uint8)panx2; - if (panx2 >= 256) { - vol2 = -1; - } - } - if (vol1 >= vol2) { - vol1 = vol2; - } - if (vol1 < gVolumeAdjustZoom * 3) { - vol1 = 0; - } else { - vol1 = vol1 - (gVolumeAdjustZoom * 3); - } - sint32 v32 = -(((uint8)(-vol1 - 1) * (uint8)(-vol1 - 1)) / 16) - 700; - if (vol1 && v32 >= -4000) { - if (pan_x > 10000) { - pan_x = 10000; - } - if (pan_x < -10000) { - pan_x = -10000; - } - rct_ride_music* ride_music = &gRideMusicList[0]; - sint32 channel = 0; - uint32 a1; - while (ride_music->ride_id != rideIndex || ride_music->tune_id != *tuneId) { - ride_music++; - channel++; - if (channel >= AUDIO_MAX_RIDE_MUSIC) { - rct_ride_music_info* ride_music_info = gRideMusicInfoList[*tuneId]; - a1 = position + ride_music_info->offset; - goto label51; - } - } - sint32 playing = Mixer_Channel_IsPlaying(gRideMusicList[channel].sound_channel); - if (!playing) { - *tuneId = 0xFF; - return 0; - } - a1 = (uint32)Mixer_Channel_GetOffset(gRideMusicList[channel].sound_channel); - label51: - if (a1 < gRideMusicInfoList[*tuneId]->length) { - position = a1; - rct_ride_music_params* ride_music_params = gRideMusicParamsListEnd; - if (ride_music_params < &gRideMusicParamsList[countof(gRideMusicParamsList)]) { - ride_music_params->ride_id = rideIndex; - ride_music_params->tune_id = *tuneId; - ride_music_params->offset = a1; - ride_music_params->volume = v32; - ride_music_params->pan = pan_x; - ride_music_params->frequency = sampleRate; - gRideMusicParamsListEnd++; - } - } else { - *tuneId = 0xFF; - return 0; - } - } else { - label58: - ; - rct_ride_music_info* ride_music_info = gRideMusicInfoList[*tuneId]; - position += ride_music_info->offset; - if (position < ride_music_info->length) { - return position; - } else { - *tuneId = 0xFF; - return 0; - } - } - } - return position; + if (panx2 < 0) { + panx2 = -panx2; + } + if (panx2 > 6143) { + panx2 = 6143; + } + panx2 -= 2048; + if (panx2 > 0) { + panx2 = -((panx2 / 4) - 1024) / 4; + vol2 = (uint8)panx2; + if (panx2 >= 256) { + vol2 = -1; + } + } + if (vol1 >= vol2) { + vol1 = vol2; + } + if (vol1 < gVolumeAdjustZoom * 3) { + vol1 = 0; + } else { + vol1 = vol1 - (gVolumeAdjustZoom * 3); + } + sint32 v32 = -(((uint8)(-vol1 - 1) * (uint8)(-vol1 - 1)) / 16) - 700; + if (vol1 && v32 >= -4000) { + if (pan_x > 10000) { + pan_x = 10000; + } + if (pan_x < -10000) { + pan_x = -10000; + } + rct_ride_music* ride_music = &gRideMusicList[0]; + sint32 channel = 0; + uint32 a1; + while (ride_music->ride_id != rideIndex || ride_music->tune_id != *tuneId) { + ride_music++; + channel++; + if (channel >= AUDIO_MAX_RIDE_MUSIC) { + rct_ride_music_info* ride_music_info = gRideMusicInfoList[*tuneId]; + a1 = position + ride_music_info->offset; + goto label51; + } + } + sint32 playing = Mixer_Channel_IsPlaying(gRideMusicList[channel].sound_channel); + if (!playing) { + *tuneId = 0xFF; + return 0; + } + a1 = (uint32)Mixer_Channel_GetOffset(gRideMusicList[channel].sound_channel); + label51: + if (a1 < gRideMusicInfoList[*tuneId]->length) { + position = a1; + rct_ride_music_params* ride_music_params = gRideMusicParamsListEnd; + if (ride_music_params < &gRideMusicParamsList[countof(gRideMusicParamsList)]) { + ride_music_params->ride_id = rideIndex; + ride_music_params->tune_id = *tuneId; + ride_music_params->offset = a1; + ride_music_params->volume = v32; + ride_music_params->pan = pan_x; + ride_music_params->frequency = sampleRate; + gRideMusicParamsListEnd++; + } + } else { + *tuneId = 0xFF; + return 0; + } + } else { + label58: + ; + rct_ride_music_info* ride_music_info = gRideMusicInfoList[*tuneId]; + position += ride_music_info->offset; + if (position < ride_music_info->length) { + return position; + } else { + *tuneId = 0xFF; + return 0; + } + } + } + return position; } #define INIT_MUSIC_INFO(path_id, offset, length, unknown) (rct_ride_music_info[]){length, offset, path_id, unknown} //0x009AF1C8 rct_ride_music_info* gRideMusicInfoList[NUM_DEFAULT_MUSIC_TRACKS] = { - INIT_MUSIC_INFO(PATH_ID_CSS4, 1378, 8139054, 0), - INIT_MUSIC_INFO(PATH_ID_CSS5, 1378, 7796656, 0), - INIT_MUSIC_INFO(PATH_ID_CSS6, 1378, 15787850, 0), - INIT_MUSIC_INFO(PATH_ID_CSS7, 1378, 15331658, 0), - INIT_MUSIC_INFO(PATH_ID_CSS8, 1378, 17503414, 0), - INIT_MUSIC_INFO(PATH_ID_CSS9, 1378, 7005802, 0), - INIT_MUSIC_INFO(0, 1378, 0, 0), // Referred to the nearly empty CSS10.DAT file - INIT_MUSIC_INFO(PATH_ID_CSS11, 1378, 7023288, 0), - INIT_MUSIC_INFO(PATH_ID_CSS12, 1378, 2767948, 0), - INIT_MUSIC_INFO(PATH_ID_CSS13, 1378, 3373390, 0), - INIT_MUSIC_INFO(PATH_ID_CSS14, 1378, 20783042, 0), - INIT_MUSIC_INFO(PATH_ID_CSS15, 1378, 10009312, 0), - INIT_MUSIC_INFO(0, 1378, 0, 0), // Referred to the nearly empty CSS16.DAT file - INIT_MUSIC_INFO(PATH_ID_CSS3, 689, 1244886, 1), - INIT_MUSIC_INFO(PATH_ID_CSS17, 2756, -1, 0), - INIT_MUSIC_INFO(PATH_ID_CSS18, 2756, 8429568, 1), - INIT_MUSIC_INFO(PATH_ID_CSS19, 2756, 10143784, 1), - INIT_MUSIC_INFO(PATH_ID_CSS20, 2756, 12271656, 1), - INIT_MUSIC_INFO(PATH_ID_CSS21, 2756, 9680968, 1), - INIT_MUSIC_INFO(PATH_ID_CSS22, 2756, 10062056, 1), - INIT_MUSIC_INFO(PATH_ID_CSS23, 2756, 11067432, 1), - INIT_MUSIC_INFO(PATH_ID_CSS24, 2756, 12427456, 0), - INIT_MUSIC_INFO(PATH_ID_CSS25, 2756, 15181512, 1), - INIT_MUSIC_INFO(PATH_ID_CSS26, 2756, 10694816, 1), - INIT_MUSIC_INFO(PATH_ID_CSS27, 2756, 10421232, 1), - INIT_MUSIC_INFO(PATH_ID_CSS28, 2756, 13118376, 1), - INIT_MUSIC_INFO(PATH_ID_CSS29, 2756, 15310892, 1), - INIT_MUSIC_INFO(PATH_ID_CSS30, 2756, 10215464, 1), - INIT_MUSIC_INFO(PATH_ID_CSS31, 2756, 11510316, 1), - INIT_MUSIC_INFO(PATH_ID_CSS32, 2756, 11771944, 1), - INIT_MUSIC_INFO(PATH_ID_CSS33, 2756, 10759724, 1), - INIT_MUSIC_INFO(PATH_ID_CSS34, 2756, 14030716, 1), - INIT_MUSIC_INFO(PATH_ID_CSS35, 2756, 11642576, 1), - INIT_MUSIC_INFO(PATH_ID_CSS36, 2756, 8953764, 1), - INIT_MUSIC_INFO(PATH_ID_CSS37, 2756, 13303852, 1), - INIT_MUSIC_INFO(PATH_ID_CSS38, 2756, 10093888, 1), - INIT_MUSIC_INFO(PATH_ID_CUSTOM1, 2756, 0, 1), - INIT_MUSIC_INFO(PATH_ID_CUSTOM2, 2756, 0, 1), - INIT_MUSIC_INFO(PATH_ID_CSS39, 2756, 7531564, 1), - INIT_MUSIC_INFO(PATH_ID_CSS40, 1378, 5291306, 1), - INIT_MUSIC_INFO(PATH_ID_CSS41, 2756, 27860700, 1), - INIT_MUSIC_INFO(PATH_ID_CSS42, 2756, 6774090, 1), - INIT_MUSIC_INFO(PATH_ID_CSS43, 2756, 15630412, 1), - INIT_MUSIC_INFO(PATH_ID_CSS44, 2756, 8209704, 1), - INIT_MUSIC_INFO(PATH_ID_CSS45, 2756, 10006740, 1), - INIT_MUSIC_INFO(PATH_ID_CSS46, 2756, 6772776, 1), + INIT_MUSIC_INFO(PATH_ID_CSS4, 1378, 8139054, 0), + INIT_MUSIC_INFO(PATH_ID_CSS5, 1378, 7796656, 0), + INIT_MUSIC_INFO(PATH_ID_CSS6, 1378, 15787850, 0), + INIT_MUSIC_INFO(PATH_ID_CSS7, 1378, 15331658, 0), + INIT_MUSIC_INFO(PATH_ID_CSS8, 1378, 17503414, 0), + INIT_MUSIC_INFO(PATH_ID_CSS9, 1378, 7005802, 0), + INIT_MUSIC_INFO(0, 1378, 0, 0), // Referred to the nearly empty CSS10.DAT file + INIT_MUSIC_INFO(PATH_ID_CSS11, 1378, 7023288, 0), + INIT_MUSIC_INFO(PATH_ID_CSS12, 1378, 2767948, 0), + INIT_MUSIC_INFO(PATH_ID_CSS13, 1378, 3373390, 0), + INIT_MUSIC_INFO(PATH_ID_CSS14, 1378, 20783042, 0), + INIT_MUSIC_INFO(PATH_ID_CSS15, 1378, 10009312, 0), + INIT_MUSIC_INFO(0, 1378, 0, 0), // Referred to the nearly empty CSS16.DAT file + INIT_MUSIC_INFO(PATH_ID_CSS3, 689, 1244886, 1), + INIT_MUSIC_INFO(PATH_ID_CSS17, 2756, -1, 0), + INIT_MUSIC_INFO(PATH_ID_CSS18, 2756, 8429568, 1), + INIT_MUSIC_INFO(PATH_ID_CSS19, 2756, 10143784, 1), + INIT_MUSIC_INFO(PATH_ID_CSS20, 2756, 12271656, 1), + INIT_MUSIC_INFO(PATH_ID_CSS21, 2756, 9680968, 1), + INIT_MUSIC_INFO(PATH_ID_CSS22, 2756, 10062056, 1), + INIT_MUSIC_INFO(PATH_ID_CSS23, 2756, 11067432, 1), + INIT_MUSIC_INFO(PATH_ID_CSS24, 2756, 12427456, 0), + INIT_MUSIC_INFO(PATH_ID_CSS25, 2756, 15181512, 1), + INIT_MUSIC_INFO(PATH_ID_CSS26, 2756, 10694816, 1), + INIT_MUSIC_INFO(PATH_ID_CSS27, 2756, 10421232, 1), + INIT_MUSIC_INFO(PATH_ID_CSS28, 2756, 13118376, 1), + INIT_MUSIC_INFO(PATH_ID_CSS29, 2756, 15310892, 1), + INIT_MUSIC_INFO(PATH_ID_CSS30, 2756, 10215464, 1), + INIT_MUSIC_INFO(PATH_ID_CSS31, 2756, 11510316, 1), + INIT_MUSIC_INFO(PATH_ID_CSS32, 2756, 11771944, 1), + INIT_MUSIC_INFO(PATH_ID_CSS33, 2756, 10759724, 1), + INIT_MUSIC_INFO(PATH_ID_CSS34, 2756, 14030716, 1), + INIT_MUSIC_INFO(PATH_ID_CSS35, 2756, 11642576, 1), + INIT_MUSIC_INFO(PATH_ID_CSS36, 2756, 8953764, 1), + INIT_MUSIC_INFO(PATH_ID_CSS37, 2756, 13303852, 1), + INIT_MUSIC_INFO(PATH_ID_CSS38, 2756, 10093888, 1), + INIT_MUSIC_INFO(PATH_ID_CUSTOM1, 2756, 0, 1), + INIT_MUSIC_INFO(PATH_ID_CUSTOM2, 2756, 0, 1), + INIT_MUSIC_INFO(PATH_ID_CSS39, 2756, 7531564, 1), + INIT_MUSIC_INFO(PATH_ID_CSS40, 1378, 5291306, 1), + INIT_MUSIC_INFO(PATH_ID_CSS41, 2756, 27860700, 1), + INIT_MUSIC_INFO(PATH_ID_CSS42, 2756, 6774090, 1), + INIT_MUSIC_INFO(PATH_ID_CSS43, 2756, 15630412, 1), + INIT_MUSIC_INFO(PATH_ID_CSS44, 2756, 8209704, 1), + INIT_MUSIC_INFO(PATH_ID_CSS45, 2756, 10006740, 1), + INIT_MUSIC_INFO(PATH_ID_CSS46, 2756, 6772776, 1), }; /** @@ -3623,317 +3623,317 @@ rct_ride_music_info* gRideMusicInfoList[NUM_DEFAULT_MUSIC_TRACKS] = { */ void ride_music_update_final() { - rct_ride_music_params* edi = NULL; - sint32 ebx = 0; - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR)) { - // TODO Allow circus music (CSS24) to play if ride music is disabled (that should be sound) - if (!gGameSoundsOff && gConfigSound.ride_music_enabled && !(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) { - while (1) { - sint32 v8 = 0; - sint32 v9 = 1; - rct_ride_music_params* ride_music_params = &gRideMusicParamsList[0]; - while (ride_music_params < gRideMusicParamsListEnd) { - if (ride_music_params->ride_id != (uint8)-1) { - v8++; - if (v9 >= ride_music_params->volume) { - v9 = ride_music_params->volume; - edi = ride_music_params; - } - } - ride_music_params++; - } - if (v8 <= 2) { - break; - } - edi->ride_id = -1; - } + rct_ride_music_params* edi = NULL; + sint32 ebx = 0; + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR)) { + // TODO Allow circus music (CSS24) to play if ride music is disabled (that should be sound) + if (!gGameSoundsOff && gConfigSound.ride_music_enabled && !(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) { + while (1) { + sint32 v8 = 0; + sint32 v9 = 1; + rct_ride_music_params* ride_music_params = &gRideMusicParamsList[0]; + while (ride_music_params < gRideMusicParamsListEnd) { + if (ride_music_params->ride_id != (uint8)-1) { + v8++; + if (v9 >= ride_music_params->volume) { + v9 = ride_music_params->volume; + edi = ride_music_params; + } + } + ride_music_params++; + } + if (v8 <= 2) { + break; + } + edi->ride_id = -1; + } - // stop currently playing music that is not in music params list or not playing? - rct_ride_music* ride_music = &gRideMusicList[0]; - sint32 channel = 0; - do { - if (ride_music->ride_id != (uint8)-1) { - rct_ride_music_params* ride_music_params = &gRideMusicParamsList[0]; - while (ride_music_params < gRideMusicParamsListEnd) { - if (ride_music_params->ride_id == ride_music->ride_id && ride_music_params->tune_id == ride_music->tune_id) { - sint32 isplaying = Mixer_Channel_IsPlaying(gRideMusicList[channel].sound_channel); - if (isplaying) { - goto label32; - } - break; - } - ride_music_params++; - } - Mixer_Stop_Channel(gRideMusicList[channel].sound_channel); - ride_music->ride_id = -1; - } - label32: - ride_music++; - channel++; - } while(channel < AUDIO_MAX_RIDE_MUSIC); + // stop currently playing music that is not in music params list or not playing? + rct_ride_music* ride_music = &gRideMusicList[0]; + sint32 channel = 0; + do { + if (ride_music->ride_id != (uint8)-1) { + rct_ride_music_params* ride_music_params = &gRideMusicParamsList[0]; + while (ride_music_params < gRideMusicParamsListEnd) { + if (ride_music_params->ride_id == ride_music->ride_id && ride_music_params->tune_id == ride_music->tune_id) { + sint32 isplaying = Mixer_Channel_IsPlaying(gRideMusicList[channel].sound_channel); + if (isplaying) { + goto label32; + } + break; + } + ride_music_params++; + } + Mixer_Stop_Channel(gRideMusicList[channel].sound_channel); + ride_music->ride_id = -1; + } + label32: + ride_music++; + channel++; + } while(channel < AUDIO_MAX_RIDE_MUSIC); - for (rct_ride_music_params* ride_music_params = &gRideMusicParamsList[0]; ride_music_params < gRideMusicParamsListEnd; ride_music_params++) { - if (ride_music_params->ride_id != (uint8)-1) { - rct_ride_music* ride_music_2 = &gRideMusicList[0]; - sint32 channel2 = 0; - while (ride_music_params->ride_id != ride_music_2->ride_id || ride_music_params->tune_id != ride_music_2->tune_id) { - if (ride_music_2->ride_id == (uint8)-1) { - ebx = channel2; - } - ride_music_2++; - channel2++; - if (channel2 >= AUDIO_MAX_RIDE_MUSIC) { - rct_ride_music_info* ride_music_info = gRideMusicInfoList[ride_music_params->tune_id]; - rct_ride_music* ride_music_3 = &gRideMusicList[ebx]; - ride_music_3->sound_channel = Mixer_Play_Music(ride_music_info->path_id, MIXER_LOOP_NONE, true); - if (ride_music_3->sound_channel) { - ride_music_3->volume = ride_music_params->volume; - ride_music_3->pan = ride_music_params->pan; - ride_music_3->frequency = ride_music_params->frequency; - ride_music_3->ride_id = ride_music_params->ride_id; - ride_music_3->tune_id = ride_music_params->tune_id; - Mixer_Channel_Volume(ride_music_3->sound_channel, DStoMixerVolume(ride_music_3->volume)); - Mixer_Channel_Pan(ride_music_3->sound_channel, DStoMixerPan(ride_music_3->pan)); - Mixer_Channel_Rate(ride_music_3->sound_channel, DStoMixerRate(ride_music_3->frequency)); - sint32 offset = ride_music_params->offset - 10000; - if (offset < 0) { - offset = 0; - } - Mixer_Channel_SetOffset(ride_music_3->sound_channel, offset); + for (rct_ride_music_params* ride_music_params = &gRideMusicParamsList[0]; ride_music_params < gRideMusicParamsListEnd; ride_music_params++) { + if (ride_music_params->ride_id != (uint8)-1) { + rct_ride_music* ride_music_2 = &gRideMusicList[0]; + sint32 channel2 = 0; + while (ride_music_params->ride_id != ride_music_2->ride_id || ride_music_params->tune_id != ride_music_2->tune_id) { + if (ride_music_2->ride_id == (uint8)-1) { + ebx = channel2; + } + ride_music_2++; + channel2++; + if (channel2 >= AUDIO_MAX_RIDE_MUSIC) { + rct_ride_music_info* ride_music_info = gRideMusicInfoList[ride_music_params->tune_id]; + rct_ride_music* ride_music_3 = &gRideMusicList[ebx]; + ride_music_3->sound_channel = Mixer_Play_Music(ride_music_info->path_id, MIXER_LOOP_NONE, true); + if (ride_music_3->sound_channel) { + ride_music_3->volume = ride_music_params->volume; + ride_music_3->pan = ride_music_params->pan; + ride_music_3->frequency = ride_music_params->frequency; + ride_music_3->ride_id = ride_music_params->ride_id; + ride_music_3->tune_id = ride_music_params->tune_id; + Mixer_Channel_Volume(ride_music_3->sound_channel, DStoMixerVolume(ride_music_3->volume)); + Mixer_Channel_Pan(ride_music_3->sound_channel, DStoMixerPan(ride_music_3->pan)); + Mixer_Channel_Rate(ride_music_3->sound_channel, DStoMixerRate(ride_music_3->frequency)); + sint32 offset = ride_music_params->offset - 10000; + if (offset < 0) { + offset = 0; + } + Mixer_Channel_SetOffset(ride_music_3->sound_channel, offset); - // Move circus music to the sound mixer group - if (ride_music_info->path_id == PATH_ID_CSS24) { - Mixer_Channel_SetGroup(ride_music_3->sound_channel, MIXER_GROUP_SOUND); - } - } - return; - } - } + // Move circus music to the sound mixer group + if (ride_music_info->path_id == PATH_ID_CSS24) { + Mixer_Channel_SetGroup(ride_music_3->sound_channel, MIXER_GROUP_SOUND); + } + } + return; + } + } - if (ride_music_params->volume != ride_music_2->volume) { - ride_music_2->volume = ride_music_params->volume; - Mixer_Channel_Volume(ride_music_2->sound_channel, DStoMixerVolume(ride_music_2->volume)); - } - if (ride_music_params->pan != ride_music_2->pan) { - ride_music_2->pan = ride_music_params->pan; - Mixer_Channel_Pan(ride_music_2->sound_channel, DStoMixerPan(ride_music_2->pan)); - } - if (ride_music_params->frequency != ride_music_2->frequency) { - ride_music_2->frequency = ride_music_params->frequency; - Mixer_Channel_Rate(ride_music_2->sound_channel, DStoMixerRate(ride_music_2->frequency)); - } + if (ride_music_params->volume != ride_music_2->volume) { + ride_music_2->volume = ride_music_params->volume; + Mixer_Channel_Volume(ride_music_2->sound_channel, DStoMixerVolume(ride_music_2->volume)); + } + if (ride_music_params->pan != ride_music_2->pan) { + ride_music_2->pan = ride_music_params->pan; + Mixer_Channel_Pan(ride_music_2->sound_channel, DStoMixerPan(ride_music_2->pan)); + } + if (ride_music_params->frequency != ride_music_2->frequency) { + ride_music_2->frequency = ride_music_params->frequency; + Mixer_Channel_Rate(ride_music_2->sound_channel, DStoMixerRate(ride_music_2->frequency)); + } - } - } - } - } + } + } + } + } } #pragma endregion static bool ride_is_mode_valid(rct_ride *ride, uint8 mode) { - rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); - const uint8 *availableModes = ride_seek_available_modes(ride); + rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); + const uint8 *availableModes = ride_seek_available_modes(ride); - if ((rideEntry->flags & RIDE_ENTRY_DISABLE_FIRST_TWO_OPERATING_MODES) && !gCheatsShowAllOperatingModes){ - availableModes += 2; - } + if ((rideEntry->flags & RIDE_ENTRY_DISABLE_FIRST_TWO_OPERATING_MODES) && !gCheatsShowAllOperatingModes){ + availableModes += 2; + } - for (; *availableModes != 0xFF; availableModes++) { - if (*availableModes == mode) { - return true; - } - } + for (; *availableModes != 0xFF; availableModes++) { + if (*availableModes == mode) { + return true; + } + } - return false; + return false; } static bool ride_is_valid_lift_hill_speed(rct_ride *ride, sint32 speed) { - sint32 minSpeed = gCheatsFastLiftHill ? 0 : RideLiftData[ride->type].minimum_speed; - sint32 maxSpeed = gCheatsFastLiftHill ? 255 : RideLiftData[ride->type].maximum_speed; - return speed >= minSpeed && speed <= maxSpeed; + sint32 minSpeed = gCheatsFastLiftHill ? 0 : RideLiftData[ride->type].minimum_speed; + sint32 maxSpeed = gCheatsFastLiftHill ? 255 : RideLiftData[ride->type].maximum_speed; + return speed >= minSpeed && speed <= maxSpeed; } static bool ride_is_valid_num_circuits(rct_ride *ride, sint32 numCircuits) { - sint32 minNumCircuits = 1; - sint32 maxNumCircuits = gCheatsFastLiftHill ? 255 : 20; - return numCircuits >= minNumCircuits && numCircuits <= maxNumCircuits; + sint32 minNumCircuits = 1; + sint32 maxNumCircuits = gCheatsFastLiftHill ? 255 : 20; + return numCircuits >= minNumCircuits && numCircuits <= maxNumCircuits; } static bool ride_is_valid_operation_option(rct_ride *ride, uint8 value) { - uint8 minValue = RideProperties[ride->type].min_value; - uint8 maxValue = RideProperties[ride->type].max_value; - if (gCheatsFastLiftHill) { - minValue = 0; - maxValue = 255; - } + uint8 minValue = RideProperties[ride->type].min_value; + uint8 maxValue = RideProperties[ride->type].max_value; + if (gCheatsFastLiftHill) { + minValue = 0; + maxValue = 255; + } - return value >= minValue && value <= maxValue; + return value >= minValue && value <= maxValue; } static money32 ride_set_setting(uint8 rideIndex, uint8 setting, uint8 value, uint8 flags) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS; - rct_ride *ride = get_ride(rideIndex); - if (ride == NULL || ride->type == RIDE_TYPE_NULL) { - log_warning("Invalid ride: #%u.", rideIndex); - return MONEY32_UNDEFINED; - } + rct_ride *ride = get_ride(rideIndex); + if (ride == NULL || ride->type == RIDE_TYPE_NULL) { + log_warning("Invalid ride: #%u.", rideIndex); + return MONEY32_UNDEFINED; + } - switch (setting) { - case RIDE_SETTING_MODE: - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { - gGameCommandErrorText = STR_HAS_BROKEN_DOWN_AND_REQUIRES_FIXING; - return MONEY32_UNDEFINED; - } + switch (setting) { + case RIDE_SETTING_MODE: + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { + gGameCommandErrorText = STR_HAS_BROKEN_DOWN_AND_REQUIRES_FIXING; + return MONEY32_UNDEFINED; + } - if (ride->status != RIDE_STATUS_CLOSED) { - gGameCommandErrorText = STR_MUST_BE_CLOSED_FIRST; - return MONEY32_UNDEFINED; - } + if (ride->status != RIDE_STATUS_CLOSED) { + gGameCommandErrorText = STR_MUST_BE_CLOSED_FIRST; + return MONEY32_UNDEFINED; + } - if (!ride_is_mode_valid(ride, value)) { - log_warning("Invalid ride mode."); - return MONEY32_UNDEFINED; - } + if (!ride_is_mode_valid(ride, value)) { + log_warning("Invalid ride mode."); + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - invalidate_test_results(rideIndex); - ride_clear_for_construction(rideIndex); - ride_remove_peeps(rideIndex); + if (flags & GAME_COMMAND_FLAG_APPLY) { + invalidate_test_results(rideIndex); + ride_clear_for_construction(rideIndex); + ride_remove_peeps(rideIndex); - ride->mode = value; - ride_update_max_vehicles(rideIndex); - } - break; - case RIDE_SETTING_DEPARTURE: - if (flags & GAME_COMMAND_FLAG_APPLY) { - ride->depart_flags = value; - } - break; - case RIDE_SETTING_MIN_WAITING_TIME: - if (value > 250) { - log_warning("Invalid minimum waiting time."); - return MONEY32_UNDEFINED; - } + ride->mode = value; + ride_update_max_vehicles(rideIndex); + } + break; + case RIDE_SETTING_DEPARTURE: + if (flags & GAME_COMMAND_FLAG_APPLY) { + ride->depart_flags = value; + } + break; + case RIDE_SETTING_MIN_WAITING_TIME: + if (value > 250) { + log_warning("Invalid minimum waiting time."); + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - ride->min_waiting_time = value; - ride->max_waiting_time = max(value, ride->max_waiting_time); - } - break; - case RIDE_SETTING_MAX_WAITING_TIME: - if (value > 250) { - log_warning("Invalid maximum waiting time."); - return MONEY32_UNDEFINED; - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + ride->min_waiting_time = value; + ride->max_waiting_time = max(value, ride->max_waiting_time); + } + break; + case RIDE_SETTING_MAX_WAITING_TIME: + if (value > 250) { + log_warning("Invalid maximum waiting time."); + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - ride->max_waiting_time = value; - ride->min_waiting_time = min(value, ride->min_waiting_time); - } - break; - case RIDE_SETTING_OPERATION_OPTION: - if (!ride_is_valid_operation_option(ride, value)) { - log_warning("Invalid operation option value."); - return MONEY32_UNDEFINED; - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + ride->max_waiting_time = value; + ride->min_waiting_time = min(value, ride->min_waiting_time); + } + break; + case RIDE_SETTING_OPERATION_OPTION: + if (!ride_is_valid_operation_option(ride, value)) { + log_warning("Invalid operation option value."); + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - invalidate_test_results(rideIndex); - ride->operation_option = value; - } - break; - case RIDE_SETTING_INSPECTION_INTERVAL: - if (value > RIDE_INSPECTION_NEVER) { - log_warning("Invalid inspection interval."); - return MONEY32_UNDEFINED; - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + invalidate_test_results(rideIndex); + ride->operation_option = value; + } + break; + case RIDE_SETTING_INSPECTION_INTERVAL: + if (value > RIDE_INSPECTION_NEVER) { + log_warning("Invalid inspection interval."); + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - ride->inspection_interval = value; - } - break; - case RIDE_SETTING_MUSIC: - if (flags & GAME_COMMAND_FLAG_APPLY) { - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_MUSIC; - if (value) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC; - } - } - break; - case RIDE_SETTING_MUSIC_TYPE: - if (value >= MUSIC_STYLE_COUNT) { - log_warning("Invalid music style."); - return MONEY32_UNDEFINED; - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + ride->inspection_interval = value; + } + break; + case RIDE_SETTING_MUSIC: + if (flags & GAME_COMMAND_FLAG_APPLY) { + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_MUSIC; + if (value) { + ride->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC; + } + } + break; + case RIDE_SETTING_MUSIC_TYPE: + if (value >= MUSIC_STYLE_COUNT) { + log_warning("Invalid music style."); + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - if (value != ride->music) { - ride->music = value; - ride->music_tune_id = 0xFF; - } - } - break; - case RIDE_SETTING_LIFT_HILL_SPEED: - if (!ride_is_valid_lift_hill_speed(ride, value)) { - log_warning("Invalid lift hill speed."); - return MONEY32_UNDEFINED; - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + if (value != ride->music) { + ride->music = value; + ride->music_tune_id = 0xFF; + } + } + break; + case RIDE_SETTING_LIFT_HILL_SPEED: + if (!ride_is_valid_lift_hill_speed(ride, value)) { + log_warning("Invalid lift hill speed."); + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - if (value != ride->lift_hill_speed) { - ride->lift_hill_speed = value; - invalidate_test_results(rideIndex); - } - } - break; - case RIDE_SETTING_NUM_CIRCUITS: - if (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT && value > 1) { - gGameCommandErrorText = STR_MULTICIRCUIT_NOT_POSSIBLE_WITH_CABLE_LIFT_HILL; - return MONEY32_UNDEFINED; - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + if (value != ride->lift_hill_speed) { + ride->lift_hill_speed = value; + invalidate_test_results(rideIndex); + } + } + break; + case RIDE_SETTING_NUM_CIRCUITS: + if (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT && value > 1) { + gGameCommandErrorText = STR_MULTICIRCUIT_NOT_POSSIBLE_WITH_CABLE_LIFT_HILL; + return MONEY32_UNDEFINED; + } - if (!ride_is_valid_num_circuits(ride, value)) { - log_warning("Invalid number of circuits."); - return MONEY32_UNDEFINED; - } + if (!ride_is_valid_num_circuits(ride, value)) { + log_warning("Invalid number of circuits."); + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - if (value != ride->num_circuits) { - ride->num_circuits = value; - invalidate_test_results(rideIndex); - } - } - break; - case RIDE_SETTING_RIDE_TYPE: - if (!gCheatsAllowArbitraryRideTypeChanges) { - return MONEY32_UNDEFINED; - } - if (flags & GAME_COMMAND_FLAG_APPLY) { - ride->type = value; - } - break; - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + if (value != ride->num_circuits) { + ride->num_circuits = value; + invalidate_test_results(rideIndex); + } + } + break; + case RIDE_SETTING_RIDE_TYPE: + if (!gCheatsAllowArbitraryRideTypeChanges) { + return MONEY32_UNDEFINED; + } + if (flags & GAME_COMMAND_FLAG_APPLY) { + ride->type = value; + } + break; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - if (ride->overall_view != (uint16)-1) { - rct_xyz16 coord; - coord.x = (ride->overall_view & 0xFF) * 32 + 16; - coord.y = (ride->overall_view >> 8) * 32 + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + if (ride->overall_view != (uint16)-1) { + rct_xyz16 coord; + coord.x = (ride->overall_view & 0xFF) * 32 + 16; + coord.y = (ride->overall_view >> 8) * 32 + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - window_invalidate_by_number(WC_RIDE, rideIndex); - } + window_invalidate_by_number(WC_RIDE, rideIndex); + } - return 0; + return 0; } /** @@ -3942,11 +3942,11 @@ static money32 ride_set_setting(uint8 rideIndex, uint8 setting, uint8 value, uin */ void game_command_set_ride_setting(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - uint8 rideIndex = *edx & 0xFF; - uint8 setting = (*edx >> 8) & 0xFF; - uint8 newValue = (*ebx >> 8) & 0xFF; - uint8 flags = *ebx & 0xFF; - *ebx = ride_set_setting(rideIndex, setting, newValue, flags); + uint8 rideIndex = *edx & 0xFF; + uint8 setting = (*edx >> 8) & 0xFF; + uint8 newValue = (*ebx >> 8) & 0xFF; + uint8 flags = *ebx & 0xFF; + *ebx = ride_set_setting(rideIndex, setting, newValue, flags); } /** @@ -3955,32 +3955,32 @@ void game_command_set_ride_setting(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 */ static sint32 ride_mode_check_valid_station_numbers(rct_ride *ride) { - uint8 no_stations = 0; - for (uint8 station_index = 0; station_index < 4; ++station_index){ - if (ride->station_starts[station_index] != 0xFFFF)no_stations++; - } + uint8 no_stations = 0; + for (uint8 station_index = 0; station_index < 4; ++station_index){ + if (ride->station_starts[station_index] != 0xFFFF)no_stations++; + } - switch (ride->mode){ - case RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE: - case RIDE_MODE_POWERED_LAUNCH_PASSTROUGH: - case RIDE_MODE_POWERED_LAUNCH: - case RIDE_MODE_LIM_POWERED_LAUNCH: - if (no_stations <= 1) return 1; - gGameCommandErrorText = STR_UNABLE_TO_OPERATE_WITH_MORE_THAN_ONE_STATION_IN_THIS_MODE; - return 0; - case RIDE_MODE_SHUTTLE: - if (no_stations >= 2) return 1; - gGameCommandErrorText = STR_UNABLE_TO_OPERATE_WITH_LESS_THAN_TWO_STATIONS_IN_THIS_MODE; - return 0; - } + switch (ride->mode){ + case RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE: + case RIDE_MODE_POWERED_LAUNCH_PASSTROUGH: + case RIDE_MODE_POWERED_LAUNCH: + case RIDE_MODE_LIM_POWERED_LAUNCH: + if (no_stations <= 1) return 1; + gGameCommandErrorText = STR_UNABLE_TO_OPERATE_WITH_MORE_THAN_ONE_STATION_IN_THIS_MODE; + return 0; + case RIDE_MODE_SHUTTLE: + if (no_stations >= 2) return 1; + gGameCommandErrorText = STR_UNABLE_TO_OPERATE_WITH_LESS_THAN_TWO_STATIONS_IN_THIS_MODE; + return 0; + } - if (ride->type == RIDE_TYPE_GO_KARTS || ride->type == RIDE_TYPE_MINI_GOLF){ - if (no_stations <= 1) return 1; - gGameCommandErrorText = STR_UNABLE_TO_OPERATE_WITH_MORE_THAN_ONE_STATION_IN_THIS_MODE; - return 0; - } + if (ride->type == RIDE_TYPE_GO_KARTS || ride->type == RIDE_TYPE_MINI_GOLF){ + if (no_stations <= 1) return 1; + gGameCommandErrorText = STR_UNABLE_TO_OPERATE_WITH_MORE_THAN_ONE_STATION_IN_THIS_MODE; + return 0; + } - return 1; + return 1; } /** @@ -3988,27 +3988,27 @@ static sint32 ride_mode_check_valid_station_numbers(rct_ride *ride) * -1 on failure. */ static sint32 ride_mode_check_station_present(rct_ride* ride){ - sint32 stationIndex = -1; - for (sint32 i = 0; i < 4; i++) { - if (ride->station_starts[i] != 0xFFFF) { - stationIndex = i; - break; - } - } + sint32 stationIndex = -1; + for (sint32 i = 0; i < 4; i++) { + if (ride->station_starts[i] != 0xFFFF) { + stationIndex = i; + break; + } + } - if (stationIndex == -1) { - gGameCommandErrorText = STR_NOT_YET_CONSTRUCTED; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) - return -1; + if (stationIndex == -1) { + gGameCommandErrorText = STR_NOT_YET_CONSTRUCTED; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) + return -1; - if (ride->type == RIDE_TYPE_MAZE) - return -1; + if (ride->type == RIDE_TYPE_MAZE) + return -1; - gGameCommandErrorText = STR_REQUIRES_A_STATION_PLATFORM; - return -1; - } + gGameCommandErrorText = STR_REQUIRES_A_STATION_PLATFORM; + return -1; + } - return stationIndex; + return stationIndex; } /** @@ -4017,45 +4017,45 @@ static sint32 ride_mode_check_station_present(rct_ride* ride){ */ static sint32 ride_check_for_entrance_exit(sint32 rideIndex) { - rct_ride* ride = get_ride(rideIndex); + rct_ride* ride = get_ride(rideIndex); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) - return 1; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) + return 1; - sint32 i; - uint8 entrance = 0; - uint8 exit = 0; - for (i = 0; i < 4; i++) { - if (ride->station_starts[i] == 0xFFFF) - continue; + sint32 i; + uint8 entrance = 0; + uint8 exit = 0; + for (i = 0; i < 4; i++) { + if (ride->station_starts[i] == 0xFFFF) + continue; - if (ride->entrances[i] != 0xFFFF) { - entrance = 1; - } + if (ride->entrances[i] != 0xFFFF) { + entrance = 1; + } - if (ride->exits[i] != 0xFFFF) { - exit = 1; - } + if (ride->exits[i] != 0xFFFF) { + exit = 1; + } - // If station start and no entrance/exit - // Sets same error message as no entrance - if (ride->exits[i] == 0xFFFF && ride->entrances[i] == 0xFFFF){ - entrance = 0; - break; - } - } + // If station start and no entrance/exit + // Sets same error message as no entrance + if (ride->exits[i] == 0xFFFF && ride->entrances[i] == 0xFFFF){ + entrance = 0; + break; + } + } - if (entrance == 0){ - gGameCommandErrorText = STR_ENTRANCE_NOT_YET_BUILT; - return 0; - } + if (entrance == 0){ + gGameCommandErrorText = STR_ENTRANCE_NOT_YET_BUILT; + return 0; + } - if (exit == 0){ - gGameCommandErrorText = STR_EXIT_NOT_YET_BUILT; - return 0; - } + if (exit == 0){ + gGameCommandErrorText = STR_EXIT_NOT_YET_BUILT; + return 0; + } - return 1; + return 1; } /** @@ -4064,28 +4064,28 @@ static sint32 ride_check_for_entrance_exit(sint32 rideIndex) */ static void sub_6B5952(sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - for (sint32 i = 0; i < 4; i++) { - uint16 xy = ride->entrances[i]; - if (xy == 0xFFFF) - continue; + for (sint32 i = 0; i < 4; i++) { + uint16 xy = ride->entrances[i]; + if (xy == 0xFFFF) + continue; - sint32 x = (xy & 0xFF) * 32; - sint32 y = (xy >> 8) * 32; - sint32 z = ride->station_heights[i]; + sint32 x = (xy & 0xFF) * 32; + sint32 y = (xy >> 8) * 32; + sint32 z = ride->station_heights[i]; - rct_map_element *mapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) - continue; - if (mapElement->base_height != z) - continue; + rct_map_element *mapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) + continue; + if (mapElement->base_height != z) + continue; - sint32 direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - footpath_chain_ride_queue(rideIndex, i, x, y, mapElement, direction ^ 2); - } while (!map_element_is_last_for_tile(mapElement++)); - } + sint32 direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + footpath_chain_ride_queue(rideIndex, i, x, y, mapElement, direction ^ 2); + } while (!map_element_is_last_for_tile(mapElement++)); + } } /** @@ -4094,44 +4094,44 @@ static void sub_6B5952(sint32 rideIndex) */ static sint32 ride_check_block_brakes(rct_xy_element *input, rct_xy_element *output) { - rct_window *w; - track_circuit_iterator it; - sint32 rideIndex, type; + rct_window *w; + track_circuit_iterator it; + sint32 rideIndex, type; - rideIndex = input->element->properties.track.ride_index; - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != NULL && _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && _currentRideIndex == rideIndex) - ride_construction_invalidate_current_track(); + rideIndex = input->element->properties.track.ride_index; + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w != NULL && _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && _currentRideIndex == rideIndex) + ride_construction_invalidate_current_track(); - track_circuit_iterator_begin(&it, *input); - while (track_circuit_iterator_next(&it)) { - if (it.current.element->properties.track.type == TRACK_ELEM_BLOCK_BRAKES) { - type = it.last.element->properties.track.type; - if (type == TRACK_ELEM_END_STATION) { - gGameCommandErrorText = STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_STATION; - *output = it.current; - return 0; - } - if (type == TRACK_ELEM_BLOCK_BRAKES) { - gGameCommandErrorText = STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_EACH_OTHER; - *output = it.current; - return 0; - } - if ((it.last.element->type & 0x80) && type != TRACK_ELEM_LEFT_CURVED_LIFT_HILL && type != TRACK_ELEM_RIGHT_CURVED_LIFT_HILL) { - gGameCommandErrorText = STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_THE_TOP_OF_THIS_LIFT_HILL; - *output = it.current; - return 0; - } - } - } - if (!it.looped) { - // Not sure why this is the case... - gGameCommandErrorText = STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_STATION; - *output = it.last; - return 0; - } + track_circuit_iterator_begin(&it, *input); + while (track_circuit_iterator_next(&it)) { + if (it.current.element->properties.track.type == TRACK_ELEM_BLOCK_BRAKES) { + type = it.last.element->properties.track.type; + if (type == TRACK_ELEM_END_STATION) { + gGameCommandErrorText = STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_STATION; + *output = it.current; + return 0; + } + if (type == TRACK_ELEM_BLOCK_BRAKES) { + gGameCommandErrorText = STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_EACH_OTHER; + *output = it.current; + return 0; + } + if ((it.last.element->type & 0x80) && type != TRACK_ELEM_LEFT_CURVED_LIFT_HILL && type != TRACK_ELEM_RIGHT_CURVED_LIFT_HILL) { + gGameCommandErrorText = STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_THE_TOP_OF_THIS_LIFT_HILL; + *output = it.current; + return 0; + } + } + } + if (!it.looped) { + // Not sure why this is the case... + gGameCommandErrorText = STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_STATION; + *output = it.last; + return 0; + } - return 1; + return 1; } /** @@ -4143,26 +4143,26 @@ static sint32 ride_check_block_brakes(rct_xy_element *input, rct_xy_element *out */ static bool ride_check_track_contains_inversions(rct_xy_element *input, rct_xy_element *output) { - sint32 rideIndex = input->element->properties.track.ride_index; - rct_ride *ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_MAZE) - return true; + sint32 rideIndex = input->element->properties.track.ride_index; + rct_ride *ride = get_ride(rideIndex); + if (ride->type == RIDE_TYPE_MAZE) + return true; - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != NULL && _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && rideIndex == _currentRideIndex) { - ride_construction_invalidate_current_track(); - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w != NULL && _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && rideIndex == _currentRideIndex) { + ride_construction_invalidate_current_track(); + } - track_circuit_iterator it; - track_circuit_iterator_begin(&it, *input); - while (track_circuit_iterator_next(&it)) { - sint32 trackType = it.current.element->properties.track.type; - if (TrackFlags[trackType] & TRACK_ELEM_FLAG_4000) { - *output = it.current; - return true; - } - } - return false; + track_circuit_iterator it; + track_circuit_iterator_begin(&it, *input); + while (track_circuit_iterator_next(&it)) { + sint32 trackType = it.current.element->properties.track.type; + if (TrackFlags[trackType] & TRACK_ELEM_FLAG_4000) { + *output = it.current; + return true; + } + } + return false; } /** @@ -4174,26 +4174,26 @@ static bool ride_check_track_contains_inversions(rct_xy_element *input, rct_xy_e */ static bool ride_check_track_contains_banked(rct_xy_element *input, rct_xy_element *output) { - sint32 rideIndex = input->element->properties.track.ride_index; - rct_ride *ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_MAZE) - return true; + sint32 rideIndex = input->element->properties.track.ride_index; + rct_ride *ride = get_ride(rideIndex); + if (ride->type == RIDE_TYPE_MAZE) + return true; - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != NULL && _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && rideIndex == _currentRideIndex) { - ride_construction_invalidate_current_track(); - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w != NULL && _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && rideIndex == _currentRideIndex) { + ride_construction_invalidate_current_track(); + } - track_circuit_iterator it; - track_circuit_iterator_begin(&it, *input); - while (track_circuit_iterator_next(&it)) { - sint32 trackType = output->element->properties.track.type; - if (TrackFlags[trackType] & TRACK_ELEM_FLAG_8000) { - *output = it.current; - return true; - } - } - return false; + track_circuit_iterator it; + track_circuit_iterator_begin(&it, *input); + while (track_circuit_iterator_next(&it)) { + sint32 trackType = output->element->properties.track.type; + if (TrackFlags[trackType] & TRACK_ELEM_FLAG_8000) { + *output = it.current; + return true; + } + } + return false; } /** @@ -4202,47 +4202,47 @@ static bool ride_check_track_contains_banked(rct_xy_element *input, rct_xy_eleme */ static sint32 ride_check_station_length(rct_xy_element *input, rct_xy_element *output) { - rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != 0 && - _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && - _currentRideIndex == input->element->properties.track.ride_index){ - ride_construction_invalidate_current_track(); - } + rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w != 0 && + _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && + _currentRideIndex == input->element->properties.track.ride_index){ + ride_construction_invalidate_current_track(); + } - output->x = input->x; - output->y = input->y; - output->element = input->element; - track_begin_end trackBeginEnd; - while (track_block_get_previous(output->x, output->y, output->element, &trackBeginEnd)){ - output->x = trackBeginEnd.begin_x; - output->y = trackBeginEnd.begin_y; - output->element = trackBeginEnd.begin_element; - } + output->x = input->x; + output->y = input->y; + output->element = input->element; + track_begin_end trackBeginEnd; + while (track_block_get_previous(output->x, output->y, output->element, &trackBeginEnd)){ + output->x = trackBeginEnd.begin_x; + output->y = trackBeginEnd.begin_y; + output->element = trackBeginEnd.begin_element; + } - sint32 num_station_elements = 0; - rct_xy_element last_good_station = *output; + sint32 num_station_elements = 0; + rct_xy_element last_good_station = *output; - do{ - if (TrackSequenceProperties[output->element->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN){ - num_station_elements++; - last_good_station = *output; - } - else{ - if (num_station_elements == 0) - continue; - if (num_station_elements == 1){ - return 0; - } - num_station_elements = 0; - } - } while (track_block_get_next(output, output, NULL, NULL)); + do{ + if (TrackSequenceProperties[output->element->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN){ + num_station_elements++; + last_good_station = *output; + } + else{ + if (num_station_elements == 0) + continue; + if (num_station_elements == 1){ + return 0; + } + num_station_elements = 0; + } + } while (track_block_get_next(output, output, NULL, NULL)); - // Prevent returning a pointer to a map element with no track. - *output = last_good_station; - if (num_station_elements == 1) - return 0; + // Prevent returning a pointer to a map element with no track. + *output = last_good_station; + if (num_station_elements == 1) + return 0; - return 1; + return 1; } /** @@ -4251,39 +4251,39 @@ static sint32 ride_check_station_length(rct_xy_element *input, rct_xy_element *o */ static bool ride_check_start_and_end_is_station(rct_xy_element *input, rct_xy_element *output) { - rct_window *w; - rct_ride *ride; - sint32 rideIndex, trackType; - rct_xy_element trackBack, trackFront; + rct_window *w; + rct_ride *ride; + sint32 rideIndex, trackType; + rct_xy_element trackBack, trackFront; - rideIndex = input->element->properties.track.ride_index; - ride = get_ride(rideIndex); + rideIndex = input->element->properties.track.ride_index; + ride = get_ride(rideIndex); - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != NULL && _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && rideIndex == _currentRideIndex) { - ride_construction_invalidate_current_track(); - } + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w != NULL && _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && rideIndex == _currentRideIndex) { + ride_construction_invalidate_current_track(); + } - // Check back of the track - track_get_back(input, &trackBack); - trackType = trackBack.element->properties.track.type; - if (!(TrackSequenceProperties[trackType][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) { - return false; - } - ride->chairlift_bullwheel_location[0].x = trackBack.x >> 5; - ride->chairlift_bullwheel_location[0].y = trackBack.y >> 5; - ride->chairlift_bullwheel_z[0] = trackBack.element->base_height; + // Check back of the track + track_get_back(input, &trackBack); + trackType = trackBack.element->properties.track.type; + if (!(TrackSequenceProperties[trackType][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) { + return false; + } + ride->chairlift_bullwheel_location[0].x = trackBack.x >> 5; + ride->chairlift_bullwheel_location[0].y = trackBack.y >> 5; + ride->chairlift_bullwheel_z[0] = trackBack.element->base_height; - // Check front of the track - track_get_front(input, &trackFront); - trackType = trackFront.element->properties.track.type; - if (!(TrackSequenceProperties[trackType][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) { - return false; - } - ride->chairlift_bullwheel_location[1].x = trackFront.x >> 5; - ride->chairlift_bullwheel_location[1].y = trackFront.y >> 5; - ride->chairlift_bullwheel_z[1] = trackFront.element->base_height; - return true; + // Check front of the track + track_get_front(input, &trackFront); + trackType = trackFront.element->properties.track.type; + if (!(TrackSequenceProperties[trackType][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) { + return false; + } + ride->chairlift_bullwheel_location[1].x = trackFront.x >> 5; + ride->chairlift_bullwheel_location[1].y = trackFront.y >> 5; + ride->chairlift_bullwheel_z[1] = trackFront.element->base_height; + return true; } /** @@ -4293,32 +4293,32 @@ static bool ride_check_start_and_end_is_station(rct_xy_element *input, rct_xy_el */ static void ride_set_boat_hire_return_point(rct_ride *ride, rct_xy_element *startElement) { - sint32 trackType = -1; - sint32 returnX = startElement->x; - sint32 returnY = startElement->y; - sint32 startX = returnX; - sint32 startY = returnY; - rct_map_element *returnTrackElement = startElement->element; - track_begin_end trackBeginEnd; - while (track_block_get_previous(returnX, returnY, returnTrackElement, &trackBeginEnd)) { - // If previous track is back to the starting x, y, then break loop (otherwise possible infinite loop) - if (trackType != -1 && startX == trackBeginEnd.begin_x && startY == trackBeginEnd.begin_y) break; + sint32 trackType = -1; + sint32 returnX = startElement->x; + sint32 returnY = startElement->y; + sint32 startX = returnX; + sint32 startY = returnY; + rct_map_element *returnTrackElement = startElement->element; + track_begin_end trackBeginEnd; + while (track_block_get_previous(returnX, returnY, returnTrackElement, &trackBeginEnd)) { + // If previous track is back to the starting x, y, then break loop (otherwise possible infinite loop) + if (trackType != -1 && startX == trackBeginEnd.begin_x && startY == trackBeginEnd.begin_y) break; - sint32 x = trackBeginEnd.begin_x; - sint32 y = trackBeginEnd.begin_y; - sint32 z = trackBeginEnd.begin_z; - sint32 direction = trackBeginEnd.begin_direction; - trackType = trackBeginEnd.begin_element->properties.track.type; - sub_6C683D(&x, &y, &z, direction, trackType, 0, &returnTrackElement, 0); - returnX = x; - returnY = y; - }; + sint32 x = trackBeginEnd.begin_x; + sint32 y = trackBeginEnd.begin_y; + sint32 z = trackBeginEnd.begin_z; + sint32 direction = trackBeginEnd.begin_direction; + trackType = trackBeginEnd.begin_element->properties.track.type; + sub_6C683D(&x, &y, &z, direction, trackType, 0, &returnTrackElement, 0); + returnX = x; + returnY = y; + }; - trackType = returnTrackElement->properties.track.type; - sint32 elementReturnDirection = TrackCoordinates[trackType].rotation_begin; - ride->boat_hire_return_direction = (returnTrackElement->type + elementReturnDirection) & 3; - ride->boat_hire_return_position.x = returnX >> 5; - ride->boat_hire_return_position.y = returnY >> 5; + trackType = returnTrackElement->properties.track.type; + sint32 elementReturnDirection = TrackCoordinates[trackType].rotation_begin; + ride->boat_hire_return_direction = (returnTrackElement->type + elementReturnDirection) & 3; + ride->boat_hire_return_position.x = returnX >> 5; + ride->boat_hire_return_position.y = returnY >> 5; } /** @@ -4327,40 +4327,40 @@ static void ride_set_boat_hire_return_point(rct_ride *ride, rct_xy_element *star */ static void ride_set_maze_entrance_exit_points(rct_ride *ride) { - uint16 positions[9]; + uint16 positions[9]; - // Create a list of all the entrance and exit positions - uint16 *position = positions; - for (sint32 i = 0; i < 4; i++) { - if (ride->entrances[i] != 0xFFFF) { - *position++ = ride->entrances[i]; - } - if (ride->exits[i] != 0xFFFF) { - *position++ = ride->exits[i]; - } - } - *position++ = 0xFFFF; + // Create a list of all the entrance and exit positions + uint16 *position = positions; + for (sint32 i = 0; i < 4; i++) { + if (ride->entrances[i] != 0xFFFF) { + *position++ = ride->entrances[i]; + } + if (ride->exits[i] != 0xFFFF) { + *position++ = ride->exits[i]; + } + } + *position++ = 0xFFFF; - // Enumerate entrance and exit positions - for (position = positions; *position != 0xFFFF; position++) { - sint32 x = (*position & 0xFF) << 5; - sint32 y = (*position >> 8) << 5; - sint32 z = ride->station_heights[0]; + // Enumerate entrance and exit positions + for (position = positions; *position != 0xFFFF; position++) { + sint32 x = (*position & 0xFF) << 5; + sint32 y = (*position >> 8) << 5; + sint32 z = ride->station_heights[0]; - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) continue; - if ( - mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_ENTRANCE && - mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_EXIT - ) { - continue; - } - if (mapElement->base_height != z) continue; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) continue; + if ( + mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_ENTRANCE && + mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_EXIT + ) { + continue; + } + if (mapElement->base_height != z) continue; - maze_entrance_hedge_removal(x, y, mapElement); - } while (!map_element_is_last_for_tile(mapElement++)); - } + maze_entrance_hedge_removal(x, y, mapElement); + } while (!map_element_is_last_for_tile(mapElement++)); + } } /** @@ -4369,21 +4369,21 @@ static void ride_set_maze_entrance_exit_points(rct_ride *ride) */ static void ride_set_block_points(rct_xy_element *startElement) { - rct_xy_element currentElement = *startElement; - do { - sint32 trackType = currentElement.element->properties.track.type; - switch (trackType) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_CABLE_LIFT_HILL: - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_BLOCK_BRAKES: - currentElement.element->flags &= ~(1 << 5); - break; - } - } while (track_block_get_next(¤tElement, ¤tElement, NULL, NULL) && currentElement.element != startElement->element); + rct_xy_element currentElement = *startElement; + do { + sint32 trackType = currentElement.element->properties.track.type; + switch (trackType) { + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_CABLE_LIFT_HILL: + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TRACK_ELEM_BLOCK_BRAKES: + currentElement.element->flags &= ~(1 << 5); + break; + } + } while (track_block_get_next(¤tElement, ¤tElement, NULL, NULL) && currentElement.element != startElement->element); } /** @@ -4392,20 +4392,20 @@ static void ride_set_block_points(rct_xy_element *startElement) */ static void ride_set_start_finish_points(sint32 rideIndex, rct_xy_element *startElement) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - switch (ride->type) { - case RIDE_TYPE_BOAT_RIDE: - ride_set_boat_hire_return_point(ride, startElement); - break; - case RIDE_TYPE_MAZE: - ride_set_maze_entrance_exit_points(ride); - break; - } + switch (ride->type) { + case RIDE_TYPE_BOAT_RIDE: + ride_set_boat_hire_return_point(ride, startElement); + break; + case RIDE_TYPE_MAZE: + ride_set_maze_entrance_exit_points(ride); + break; + } - if (ride_is_block_sectioned(ride) && !(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) { - ride_set_block_points(startElement); - } + if (ride_is_block_sectioned(ride) && !(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) { + ride_set_block_points(startElement); + } } /** @@ -4414,28 +4414,28 @@ static void ride_set_start_finish_points(sint32 rideIndex, rct_xy_element *start */ static sint32 count_free_misc_sprite_slots() { - sint32 miscSpriteCount = gSpriteListCount[SPRITE_LIST_MISC]; - sint32 remainingSpriteCount = gSpriteListCount[SPRITE_LIST_NULL]; - return max(0, miscSpriteCount + remainingSpriteCount - 300); + sint32 miscSpriteCount = gSpriteListCount[SPRITE_LIST_MISC]; + sint32 remainingSpriteCount = gSpriteListCount[SPRITE_LIST_NULL]; + return max(0, miscSpriteCount + remainingSpriteCount - 300); } const rct_xy16 word_9A3AB4[4] = { - { 0, 0 }, - { 0, -96 }, - { -96, -96 }, - { -96, 0 }, + { 0, 0 }, + { 0, -96 }, + { -96, -96 }, + { -96, 0 }, }; const rct_xy16 word_9A2A60[] = { - { 0, 16 }, - { 16, 31 }, - { 31, 16 }, - { 16, 0 }, - { 16, 16 }, - { 64, 64 }, - { 64, -32 }, - { -32, -32 }, - { -32, 64 }, + { 0, 16 }, + { 16, 31 }, + { 31, 16 }, + { 16, 0 }, + { 16, 16 }, + { 64, 64 }, + { 64, -32 }, + { -32, -32 }, + { -32, 64 }, }; /** @@ -4443,177 +4443,177 @@ const rct_xy16 word_9A2A60[] = { * rct2: 0x006DD90D */ static rct_vehicle *vehicle_create_car( - sint32 rideIndex, - sint32 vehicleEntryIndex, - sint32 carIndex, - sint32 vehicleIndex, - sint32 x, - sint32 y, - sint32 z, - sint32 *remainingDistance, - rct_map_element *mapElement + sint32 rideIndex, + sint32 vehicleEntryIndex, + sint32 carIndex, + sint32 vehicleIndex, + sint32 x, + sint32 y, + sint32 z, + sint32 *remainingDistance, + rct_map_element *mapElement ) { - registers regs = { 0 }; + registers regs = { 0 }; - rct_ride *ride = get_ride(rideIndex); - rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); - rct_ride_entry_vehicle *vehicleEntry = &rideEntry->vehicles[vehicleEntryIndex]; + rct_ride *ride = get_ride(rideIndex); + rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); + rct_ride_entry_vehicle *vehicleEntry = &rideEntry->vehicles[vehicleEntryIndex]; - rct_vehicle *vehicle = (rct_vehicle*)create_sprite(1); - vehicle->sprite_identifier = SPRITE_IDENTIFIER_VEHICLE; - vehicle->ride = rideIndex; - vehicle->ride_subtype = ride->subtype; + rct_vehicle *vehicle = (rct_vehicle*)create_sprite(1); + vehicle->sprite_identifier = SPRITE_IDENTIFIER_VEHICLE; + vehicle->ride = rideIndex; + vehicle->ride_subtype = ride->subtype; - vehicle->vehicle_type = vehicleEntryIndex; - vehicle->is_child = carIndex == 0 ? 0 : 1; - vehicle->var_44 = ror32(vehicleEntry->spacing, 10) & 0xFFFF; - regs.edx = vehicleEntry->spacing >> 1; - *remainingDistance -= regs.edx; - vehicle->remaining_distance = *remainingDistance; - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14)) { - *remainingDistance -= regs.edx; - } + vehicle->vehicle_type = vehicleEntryIndex; + vehicle->is_child = carIndex == 0 ? 0 : 1; + vehicle->var_44 = ror32(vehicleEntry->spacing, 10) & 0xFFFF; + regs.edx = vehicleEntry->spacing >> 1; + *remainingDistance -= regs.edx; + vehicle->remaining_distance = *remainingDistance; + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14)) { + *remainingDistance -= regs.edx; + } - // loc_6DD9A5: - vehicle->sprite_width = vehicleEntry->sprite_width; - vehicle->sprite_height_negative = vehicleEntry->sprite_height_negative; - vehicle->sprite_height_positive = vehicleEntry->sprite_height_positive; - vehicle->friction = vehicleEntry->car_friction; - vehicle->num_seats = vehicleEntry->num_seats; - vehicle->speed = vehicleEntry->powered_max_speed; - vehicle->powered_acceleration = vehicleEntry->powered_acceleration; - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle->var_4A = 0; - vehicle->swinging_car_var_0 = 0; - vehicle->var_4E = 0; - vehicle->restraints_position = 0; - vehicle->var_BA = 0; - vehicle->var_B6 = 0; - vehicle->var_B8 = 0; - vehicle->sound1_id = 0xFF; - vehicle->sound2_id = 0xFF; - vehicle->next_vehicle_on_train = SPRITE_INDEX_NULL; - vehicle->var_C4 = 0; - vehicle->var_C5 = 0; - vehicle->var_C8 = 0; - vehicle->scream_sound_id = 255; - vehicle->vehicle_sprite_type = 0; - vehicle->bank_rotation = 0; - vehicle->target_seat_rotation = 4; - vehicle->seat_rotation = 4; - for (sint32 i = 0; i < 32; i++) { - vehicle->peep[i] = SPRITE_INDEX_NULL; - } + // loc_6DD9A5: + vehicle->sprite_width = vehicleEntry->sprite_width; + vehicle->sprite_height_negative = vehicleEntry->sprite_height_negative; + vehicle->sprite_height_positive = vehicleEntry->sprite_height_positive; + vehicle->friction = vehicleEntry->car_friction; + vehicle->num_seats = vehicleEntry->num_seats; + vehicle->speed = vehicleEntry->powered_max_speed; + vehicle->powered_acceleration = vehicleEntry->powered_acceleration; + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle->var_4A = 0; + vehicle->swinging_car_var_0 = 0; + vehicle->var_4E = 0; + vehicle->restraints_position = 0; + vehicle->var_BA = 0; + vehicle->var_B6 = 0; + vehicle->var_B8 = 0; + vehicle->sound1_id = 0xFF; + vehicle->sound2_id = 0xFF; + vehicle->next_vehicle_on_train = SPRITE_INDEX_NULL; + vehicle->var_C4 = 0; + vehicle->var_C5 = 0; + vehicle->var_C8 = 0; + vehicle->scream_sound_id = 255; + vehicle->vehicle_sprite_type = 0; + vehicle->bank_rotation = 0; + vehicle->target_seat_rotation = 4; + vehicle->seat_rotation = 4; + for (sint32 i = 0; i < 32; i++) { + vehicle->peep[i] = SPRITE_INDEX_NULL; + } - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_15) { - // loc_6DDCA4: - vehicle->var_CD = 0; - sint32 direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - x += word_9A3AB4[direction].x; - y += word_9A3AB4[direction].y; - z = mapElement->base_height * 8; - vehicle->track_x = x; - vehicle->track_y = y; - vehicle->track_z = z; - vehicle->current_station = map_get_station(mapElement); + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_15) { + // loc_6DDCA4: + vehicle->var_CD = 0; + sint32 direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + x += word_9A3AB4[direction].x; + y += word_9A3AB4[direction].y; + z = mapElement->base_height * 8; + vehicle->track_x = x; + vehicle->track_y = y; + vehicle->track_z = z; + vehicle->current_station = map_get_station(mapElement); - z += RideData5[ride->type].z_offset; + z += RideData5[ride->type].z_offset; - vehicle->track_type = mapElement->properties.track.type << 2; - vehicle->track_progress = 0; - vehicle->status = 0; - vehicle->sub_state = 0; - vehicle->update_flags = 0; + vehicle->track_type = mapElement->properties.track.type << 2; + vehicle->track_progress = 0; + vehicle->status = 0; + vehicle->sub_state = 0; + vehicle->update_flags = 0; - rct_xy16 chosenLoc; - // loc_6DDD26: - do { - vehicle->sprite_direction = scenario_rand() & 0x1E; - chosenLoc.y = y + (scenario_rand() & 0xFF); - chosenLoc.x = x + (scenario_rand() & 0xFF); - } while (vehicle_update_dodgems_collision(vehicle, chosenLoc.x, chosenLoc.y, NULL)); + rct_xy16 chosenLoc; + // loc_6DDD26: + do { + vehicle->sprite_direction = scenario_rand() & 0x1E; + chosenLoc.y = y + (scenario_rand() & 0xFF); + chosenLoc.x = x + (scenario_rand() & 0xFF); + } while (vehicle_update_dodgems_collision(vehicle, chosenLoc.x, chosenLoc.y, NULL)); - sprite_move(chosenLoc.x, chosenLoc.y, z, (rct_sprite*)vehicle); - } else { - regs.dl = 0; - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_12) { - regs.dl = 1; - } + sprite_move(chosenLoc.x, chosenLoc.y, z, (rct_sprite*)vehicle); + } else { + regs.dl = 0; + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_12) { + regs.dl = 1; + } - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14) { - // Choose which lane Go Kart should start in - regs.dl = 5; - if (vehicleIndex & 1) { - regs.dl = 6; - } - } - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF) { - regs.dl = 9; - vehicle->var_D3 = 0; - vehicle->mini_golf_current_animation = 0; - vehicle->mini_golf_flags = 0; - } - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_4) { - if (!vehicle->is_child) { - regs.dl = 15; - } - } - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_5) { - regs.dl = 16; - } - vehicle->var_CD = regs.dl; + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14) { + // Choose which lane Go Kart should start in + regs.dl = 5; + if (vehicleIndex & 1) { + regs.dl = 6; + } + } + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF) { + regs.dl = 9; + vehicle->var_D3 = 0; + vehicle->mini_golf_current_animation = 0; + vehicle->mini_golf_flags = 0; + } + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_4) { + if (!vehicle->is_child) { + regs.dl = 15; + } + } + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_5) { + regs.dl = 16; + } + vehicle->var_CD = regs.dl; - vehicle->track_x = x; - vehicle->track_y = y; + vehicle->track_x = x; + vehicle->track_y = y; - sint32 direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - vehicle->sprite_direction = direction << 3; + sint32 direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + vehicle->sprite_direction = direction << 3; - if (ride->type == RIDE_TYPE_SPACE_RINGS) { - direction = 4; - } else { - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_16)) { - if (RideConstructionDefaultTrackType[ride->type] != FLAT_TRACK_ELEM_1_X_4_B) { - if (RideConstructionDefaultTrackType[ride->type] != FLAT_TRACK_ELEM_1_X_4_A) { - if (ride->type == RIDE_TYPE_ENTERPRISE) { - direction += 5; - } else { - direction = 4; - } - } - } - } - } + if (ride->type == RIDE_TYPE_SPACE_RINGS) { + direction = 4; + } else { + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_16)) { + if (RideConstructionDefaultTrackType[ride->type] != FLAT_TRACK_ELEM_1_X_4_B) { + if (RideConstructionDefaultTrackType[ride->type] != FLAT_TRACK_ELEM_1_X_4_A) { + if (ride->type == RIDE_TYPE_ENTERPRISE) { + direction += 5; + } else { + direction = 4; + } + } + } + } + } - x += word_9A2A60[direction].x; - y += word_9A2A60[direction].y; - vehicle->track_z = mapElement->base_height * 8; + x += word_9A2A60[direction].x; + y += word_9A2A60[direction].y; + vehicle->track_z = mapElement->base_height * 8; - vehicle->current_station = map_get_station(mapElement); - z = mapElement->base_height * 8; - z += RideData5[ride->type].z_offset; + vehicle->current_station = map_get_station(mapElement); + z = mapElement->base_height * 8; + z += RideData5[ride->type].z_offset; - sprite_move(x, y, z, (rct_sprite*)vehicle); - vehicle->track_type = (mapElement->properties.track.type << 2) | (vehicle->sprite_direction >> 3); - vehicle->track_progress = 31; - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF) { - vehicle->track_progress = 15; - } - vehicle->update_flags = VEHICLE_UPDATE_FLAG_1; - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_6) { - if (mapElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11; - } - } - vehicle->status = VEHICLE_STATUS_MOVING_TO_END_OF_STATION; - vehicle->sub_state = 0; - } + sprite_move(x, y, z, (rct_sprite*)vehicle); + vehicle->track_type = (mapElement->properties.track.type << 2) | (vehicle->sprite_direction >> 3); + vehicle->track_progress = 31; + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF) { + vehicle->track_progress = 15; + } + vehicle->update_flags = VEHICLE_UPDATE_FLAG_1; + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_6) { + if (mapElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11; + } + } + vehicle->status = VEHICLE_STATUS_MOVING_TO_END_OF_STATION; + vehicle->sub_state = 0; + } - // loc_6DDD5E: - vehicle->num_peeps = 0; - vehicle->next_free_seat = 0; - return vehicle; + // loc_6DDD5E: + vehicle->num_peeps = 0; + vehicle->next_free_seat = 0; + return vehicle; } /** @@ -4622,71 +4622,71 @@ static rct_vehicle *vehicle_create_car( */ static train_ref vehicle_create_train(sint32 rideIndex, sint32 x, sint32 y, sint32 z, sint32 vehicleIndex, sint32 *remainingDistance, rct_map_element *mapElement) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - train_ref train = { NULL, NULL }; - for (sint32 carIndex = 0; carIndex < ride->num_cars_per_train; carIndex++) { - const uint8 vehicle = ride_entry_get_vehicle_at_position(ride->subtype, ride->num_cars_per_train, carIndex); - rct_vehicle *car = vehicle_create_car(rideIndex, vehicle, carIndex, vehicleIndex, x, y, z, remainingDistance, mapElement); - if (carIndex == 0) { - train.head = car; - } else { - // Link the previous car with this car - train.tail->next_vehicle_on_train = car->sprite_index; - train.tail->next_vehicle_on_ride = car->sprite_index; - car->prev_vehicle_on_ride = train.tail->sprite_index; - } - train.tail = car; - } - return train; + train_ref train = { NULL, NULL }; + for (sint32 carIndex = 0; carIndex < ride->num_cars_per_train; carIndex++) { + const uint8 vehicle = ride_entry_get_vehicle_at_position(ride->subtype, ride->num_cars_per_train, carIndex); + rct_vehicle *car = vehicle_create_car(rideIndex, vehicle, carIndex, vehicleIndex, x, y, z, remainingDistance, mapElement); + if (carIndex == 0) { + train.head = car; + } else { + // Link the previous car with this car + train.tail->next_vehicle_on_train = car->sprite_index; + train.tail->next_vehicle_on_ride = car->sprite_index; + car->prev_vehicle_on_ride = train.tail->sprite_index; + } + train.tail = car; + } + return train; } static void vehicle_create_trains(sint32 rideIndex, sint32 x, sint32 y, sint32 z, rct_map_element *mapElement) { - rct_ride *ride = get_ride(rideIndex); - train_ref firstTrain = { 0 }, lastTrain = { 0 }; - sint32 remainingDistance = 0; + rct_ride *ride = get_ride(rideIndex); + train_ref firstTrain = { 0 }, lastTrain = { 0 }; + sint32 remainingDistance = 0; - for (sint32 vehicleIndex = 0; vehicleIndex < ride->num_vehicles; vehicleIndex++) { - if (ride_is_block_sectioned(ride)) { - remainingDistance = 0; - } - train_ref train = vehicle_create_train(rideIndex, x, y, z, vehicleIndex, &remainingDistance, mapElement); - if (vehicleIndex == 0) { - firstTrain = train; - } else { - // Link the end of the previous train with the front of this train - lastTrain.tail->next_vehicle_on_ride = train.head->sprite_index; - train.head->prev_vehicle_on_ride = lastTrain.tail->sprite_index; - } - lastTrain = train; + for (sint32 vehicleIndex = 0; vehicleIndex < ride->num_vehicles; vehicleIndex++) { + if (ride_is_block_sectioned(ride)) { + remainingDistance = 0; + } + train_ref train = vehicle_create_train(rideIndex, x, y, z, vehicleIndex, &remainingDistance, mapElement); + if (vehicleIndex == 0) { + firstTrain = train; + } else { + // Link the end of the previous train with the front of this train + lastTrain.tail->next_vehicle_on_ride = train.head->sprite_index; + train.head->prev_vehicle_on_ride = lastTrain.tail->sprite_index; + } + lastTrain = train; - // Add train to ride vehicle list - move_sprite_to_list((rct_sprite*)train.head, SPRITE_LIST_TRAIN * 2); - for (sint32 i = 0; i < 32; i++) { - if (ride->vehicles[i] == SPRITE_INDEX_NULL) { - ride->vehicles[i] = train.head->sprite_index; - break; - } - } - } + // Add train to ride vehicle list + move_sprite_to_list((rct_sprite*)train.head, SPRITE_LIST_TRAIN * 2); + for (sint32 i = 0; i < 32; i++) { + if (ride->vehicles[i] == SPRITE_INDEX_NULL) { + ride->vehicles[i] = train.head->sprite_index; + break; + } + } + } - // Link the first train and last train together - firstTrain.head->prev_vehicle_on_ride = lastTrain.tail->sprite_index; - lastTrain.tail->next_vehicle_on_ride = firstTrain.head->sprite_index; + // Link the first train and last train together + firstTrain.head->prev_vehicle_on_ride = lastTrain.tail->sprite_index; + lastTrain.tail->next_vehicle_on_ride = firstTrain.head->sprite_index; } static void vehicle_unset_var_48_b1(rct_vehicle *head) { - rct_vehicle *vehicle = head; - while (true) { - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_1; - uint16 spriteIndex = vehicle->next_vehicle_on_train; - if (spriteIndex == SPRITE_INDEX_NULL) { - break; - } - vehicle = GET_VEHICLE(spriteIndex); - } + rct_vehicle *vehicle = head; + while (true) { + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_1; + uint16 spriteIndex = vehicle->next_vehicle_on_train; + if (spriteIndex == SPRITE_INDEX_NULL) { + break; + } + vehicle = GET_VEHICLE(spriteIndex); + } } /** @@ -4695,69 +4695,69 @@ static void vehicle_unset_var_48_b1(rct_vehicle *head) */ static void ride_create_vehicles_find_first_block(rct_ride *ride, rct_xy_element *outXYElement) { - rct_vehicle *vehicle = GET_VEHICLE(ride->vehicles[0]); - sint32 firstX = vehicle->track_x; - sint32 firstY = vehicle->track_y; - sint32 firstZ = vehicle->track_z; - rct_map_element *firstElement = map_get_track_element_at(firstX, firstY, firstZ / 8); + rct_vehicle *vehicle = GET_VEHICLE(ride->vehicles[0]); + sint32 firstX = vehicle->track_x; + sint32 firstY = vehicle->track_y; + sint32 firstZ = vehicle->track_z; + rct_map_element *firstElement = map_get_track_element_at(firstX, firstY, firstZ / 8); - assert(firstElement != NULL); + assert(firstElement != NULL); - sint32 x = firstX; - sint32 y = firstY; - sint32 z = firstZ; - rct_map_element *trackElement = firstElement; - track_begin_end trackBeginEnd; - while (track_block_get_previous(x, y, trackElement, &trackBeginEnd)) { - x = trackBeginEnd.end_x; - y = trackBeginEnd.end_y; - trackElement = trackBeginEnd.begin_element; - if (x == firstX && y == firstY && trackElement == firstElement) { - break; - } + sint32 x = firstX; + sint32 y = firstY; + sint32 z = firstZ; + rct_map_element *trackElement = firstElement; + track_begin_end trackBeginEnd; + while (track_block_get_previous(x, y, trackElement, &trackBeginEnd)) { + x = trackBeginEnd.end_x; + y = trackBeginEnd.end_y; + trackElement = trackBeginEnd.begin_element; + if (x == firstX && y == firstY && trackElement == firstElement) { + break; + } - sint32 trackType = trackElement->properties.track.type; - switch (trackType) { - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - if (track_element_is_lift_hill(trackElement)) { - outXYElement->x = x; - outXYElement->y = y; - outXYElement->element = trackElement; - return; - } - break; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - if (track_element_is_lift_hill(trackElement)) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (mapElement->base_height != z) continue; - if ((mapElement->properties.track.sequence & 0x0F) != 0) continue; - if (mapElement->properties.track.type != trackType) continue; - break; - } while (!map_element_is_last_for_tile(mapElement++)); + sint32 trackType = trackElement->properties.track.type; + switch (trackType) { + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + if (track_element_is_lift_hill(trackElement)) { + outXYElement->x = x; + outXYElement->y = y; + outXYElement->element = trackElement; + return; + } + break; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + if (track_element_is_lift_hill(trackElement)) { + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (mapElement->base_height != z) continue; + if ((mapElement->properties.track.sequence & 0x0F) != 0) continue; + if (mapElement->properties.track.type != trackType) continue; + break; + } while (!map_element_is_last_for_tile(mapElement++)); - outXYElement->x = x; - outXYElement->y = y; - outXYElement->element = mapElement; - return; - } - break; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_CABLE_LIFT_HILL: - case TRACK_ELEM_BLOCK_BRAKES: - outXYElement->x = x; - outXYElement->y = y; - outXYElement->element = trackElement; - return; - } - } + outXYElement->x = x; + outXYElement->y = y; + outXYElement->element = mapElement; + return; + } + break; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_CABLE_LIFT_HILL: + case TRACK_ELEM_BLOCK_BRAKES: + outXYElement->x = x; + outXYElement->y = y; + outXYElement->element = trackElement; + return; + } + } - outXYElement->x = firstX; - outXYElement->y = firstY; - outXYElement->element = firstElement; + outXYElement->x = firstX; + outXYElement->y = firstY; + outXYElement->element = firstElement; } /** @@ -4766,76 +4766,76 @@ static void ride_create_vehicles_find_first_block(rct_ride *ride, rct_xy_element */ static bool ride_create_vehicles(rct_ride *ride, sint32 rideIndex, rct_xy_element *element, sint32 isApplying) { - ride_update_max_vehicles(rideIndex); - if (ride->subtype == 0xFF) { - return true; - } + ride_update_max_vehicles(rideIndex); + if (ride->subtype == 0xFF) { + return true; + } - // Check if there are enough free sprite slots for all the vehicles - sint32 totalCars = ride->num_vehicles * ride->num_cars_per_train; - if (totalCars > count_free_misc_sprite_slots()) { - gGameCommandErrorText = STR_UNABLE_TO_CREATE_ENOUGH_VEHICLES; - return false; - } + // Check if there are enough free sprite slots for all the vehicles + sint32 totalCars = ride->num_vehicles * ride->num_cars_per_train; + if (totalCars > count_free_misc_sprite_slots()) { + gGameCommandErrorText = STR_UNABLE_TO_CREATE_ENOUGH_VEHICLES; + return false; + } - if (!isApplying) { - return true; - } + if (!isApplying) { + return true; + } - rct_map_element *mapElement = element->element; - sint32 x = element->x; - sint32 y = element->y; - sint32 z = element->element->base_height; - sint32 direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + rct_map_element *mapElement = element->element; + sint32 x = element->x; + sint32 y = element->y; + sint32 z = element->element->base_height; + sint32 direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - // - if (ride->mode == RIDE_MODE_STATION_TO_STATION) { - x = element->x - TileDirectionDelta[direction].x; - y = element->y - TileDirectionDelta[direction].y; + // + if (ride->mode == RIDE_MODE_STATION_TO_STATION) { + x = element->x - TileDirectionDelta[direction].x; + y = element->y - TileDirectionDelta[direction].y; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != z) continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - break; - } while (!map_element_is_last_for_tile(mapElement++)); + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != z) continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + break; + } while (!map_element_is_last_for_tile(mapElement++)); - z = mapElement->base_height; - direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - } + z = mapElement->base_height; + direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + } - vehicle_create_trains(rideIndex, x, y, z, mapElement); - // return true; + vehicle_create_trains(rideIndex, x, y, z, mapElement); + // return true; - // Initialise station departs + // Initialise station departs // 006DDDD0: - ride->lifecycle_flags |= RIDE_LIFECYCLE_ON_TRACK; - for (sint32 i = 0; i < 4; i++) { - ride->station_depart[i] = (ride->station_depart[i] & 0x80) | 1; - } + ride->lifecycle_flags |= RIDE_LIFECYCLE_ON_TRACK; + for (sint32 i = 0; i < 4; i++) { + ride->station_depart[i] = (ride->station_depart[i] & 0x80) | 1; + } - // - if (ride->type != RIDE_TYPE_SPACE_RINGS && !ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_16)) { - if (ride_is_block_sectioned(ride)) { - rct_xy_element firstBlock; - ride_create_vehicles_find_first_block(ride, &firstBlock); - loc_6DDF9C(ride, firstBlock.element); - } else { - for (sint32 i = 0; i < ride->num_vehicles; i++) { - rct_vehicle *vehicle = GET_VEHICLE(ride->vehicles[i]); + // + if (ride->type != RIDE_TYPE_SPACE_RINGS && !ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_16)) { + if (ride_is_block_sectioned(ride)) { + rct_xy_element firstBlock; + ride_create_vehicles_find_first_block(ride, &firstBlock); + loc_6DDF9C(ride, firstBlock.element); + } else { + for (sint32 i = 0; i < ride->num_vehicles; i++) { + rct_vehicle *vehicle = GET_VEHICLE(ride->vehicles[i]); - rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); + rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_15)) { - vehicle_update_track_motion(vehicle, NULL); - } + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_15)) { + vehicle_update_track_motion(vehicle, NULL); + } - vehicle_unset_var_48_b1(vehicle); - } - } - } - ride_update_vehicle_colours(rideIndex); - return true; + vehicle_unset_var_48_b1(vehicle); + } + } + } + ride_update_vehicle_colours(rideIndex); + return true; } /** @@ -4844,51 +4844,51 @@ static bool ride_create_vehicles(rct_ride *ride, sint32 rideIndex, rct_xy_elemen */ void loc_6DDF9C(rct_ride *ride, rct_map_element *mapElement) { - rct_vehicle *train, *car; + rct_vehicle *train, *car; - for (sint32 i = 0; i < ride->num_vehicles; i++) { - train = GET_VEHICLE(ride->vehicles[i]); - if (i == 0) { - vehicle_update_track_motion(train, NULL); - vehicle_unset_var_48_b1(train); - continue; - } + for (sint32 i = 0; i < ride->num_vehicles; i++) { + train = GET_VEHICLE(ride->vehicles[i]); + if (i == 0) { + vehicle_update_track_motion(train, NULL); + vehicle_unset_var_48_b1(train); + continue; + } - vehicle_update_track_motion(train, NULL); + vehicle_update_track_motion(train, NULL); - do { - mapElement->flags |= (1 << 5); - car = train; - while (true) { - car->velocity = 0; - car->acceleration = 0; - car->var_4A = 0; - car->remaining_distance += 13962; + do { + mapElement->flags |= (1 << 5); + car = train; + while (true) { + car->velocity = 0; + car->acceleration = 0; + car->var_4A = 0; + car->remaining_distance += 13962; - uint16 spriteIndex = car->next_vehicle_on_train; - if (spriteIndex == SPRITE_INDEX_NULL) { - break; - } - car = GET_VEHICLE(spriteIndex); - } - } while (!(vehicle_update_track_motion(train, NULL) & 0x400)); + uint16 spriteIndex = car->next_vehicle_on_train; + if (spriteIndex == SPRITE_INDEX_NULL) { + break; + } + car = GET_VEHICLE(spriteIndex); + } + } while (!(vehicle_update_track_motion(train, NULL) & 0x400)); - mapElement->flags |= (1 << 5); - car = train; - while (true) { - car->update_flags &= ~VEHICLE_UPDATE_FLAG_1; - car->status = VEHICLE_STATUS_TRAVELLING; - if ((car->track_type >> 2) == TRACK_ELEM_END_STATION) { - car->status = VEHICLE_STATUS_MOVING_TO_END_OF_STATION; - } + mapElement->flags |= (1 << 5); + car = train; + while (true) { + car->update_flags &= ~VEHICLE_UPDATE_FLAG_1; + car->status = VEHICLE_STATUS_TRAVELLING; + if ((car->track_type >> 2) == TRACK_ELEM_END_STATION) { + car->status = VEHICLE_STATUS_MOVING_TO_END_OF_STATION; + } - uint16 spriteIndex = car->next_vehicle_on_train; - if (spriteIndex == SPRITE_INDEX_NULL) { - break; - } - car = GET_VEHICLE(spriteIndex); - } - } + uint16 spriteIndex = car->next_vehicle_on_train; + if (spriteIndex == SPRITE_INDEX_NULL) { + break; + } + car = GET_VEHICLE(spriteIndex); + } + } } /** @@ -4898,95 +4898,95 @@ void loc_6DDF9C(rct_ride *ride, rct_map_element *mapElement) */ static bool ride_initialise_cable_lift_track(rct_ride *ride, bool isApplying) { - uint16 xy; - sint32 stationIndex; - for (stationIndex = 0; stationIndex < 4; stationIndex++) { - xy = ride->station_starts[stationIndex]; - if (xy != 0xFFFF) break; - if (stationIndex == 3) { - gGameCommandErrorText = STR_CABLE_LIFT_HILL_MUST_START_IMMEDIATELY_AFTER_STATION; - return false; - } - } + uint16 xy; + sint32 stationIndex; + for (stationIndex = 0; stationIndex < 4; stationIndex++) { + xy = ride->station_starts[stationIndex]; + if (xy != 0xFFFF) break; + if (stationIndex == 3) { + gGameCommandErrorText = STR_CABLE_LIFT_HILL_MUST_START_IMMEDIATELY_AFTER_STATION; + return false; + } + } - sint32 x = (xy & 0xFF) * 32; - sint32 y = (xy >> 8) * 32; - sint32 z = ride->station_heights[stationIndex]; + sint32 x = (xy & 0xFF) * 32; + sint32 y = (xy >> 8) * 32; + sint32 z = ride->station_heights[stationIndex]; - bool success = false; - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (mapElement->base_height != z) continue; + bool success = false; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (mapElement->base_height != z) continue; - if (!(TrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) { - continue; - } - success = true; - break; - } while (!map_element_is_last_for_tile(mapElement++)); + if (!(TrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) { + continue; + } + success = true; + break; + } while (!map_element_is_last_for_tile(mapElement++)); - if (!success) - return false; + if (!success) + return false; - enum { - STATE_FIND_CABLE_LIFT, - STATE_FIND_STATION, - STATE_REST_OF_TRACK - }; - sint32 state = STATE_FIND_CABLE_LIFT; + enum { + STATE_FIND_CABLE_LIFT, + STATE_FIND_STATION, + STATE_REST_OF_TRACK + }; + sint32 state = STATE_FIND_CABLE_LIFT; - track_circuit_iterator it; - track_circuit_iterator_begin(&it, (rct_xy_element){ - .x = x, - .y = y, - .element = mapElement - }); - while (track_circuit_iterator_previous(&it)) { - mapElement = it.current.element; - sint32 trackType = mapElement->properties.track.type; + track_circuit_iterator it; + track_circuit_iterator_begin(&it, (rct_xy_element){ + .x = x, + .y = y, + .element = mapElement + }); + while (track_circuit_iterator_previous(&it)) { + mapElement = it.current.element; + sint32 trackType = mapElement->properties.track.type; - uint16 flags = 16; - switch (state) { - case STATE_FIND_CABLE_LIFT: - // Search for a cable lift hill track element - if (trackType == TRACK_ELEM_CABLE_LIFT_HILL) { - flags = 8; - state = STATE_FIND_STATION; - } - break; - case STATE_FIND_STATION: - // Search for the start of the hill - switch (trackType) { - case TRACK_ELEM_FLAT: - case TRACK_ELEM_25_DEG_UP: - case TRACK_ELEM_60_DEG_UP: - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: - flags = 8; - break; - case TRACK_ELEM_END_STATION: - state = STATE_REST_OF_TRACK; - break; - default: - gGameCommandErrorText = STR_CABLE_LIFT_HILL_MUST_START_IMMEDIATELY_AFTER_STATION; - return false; - } - break; - } - if (isApplying) { - z = mapElement->base_height * 8; - sint32 direction = mapElement->type & 3; - trackType = mapElement->properties.track.type; - x = it.current.x; - y = it.current.y; - sub_6C683D(&x, &y, &z, direction, trackType, 0, &mapElement, flags); - } - } - return true; + uint16 flags = 16; + switch (state) { + case STATE_FIND_CABLE_LIFT: + // Search for a cable lift hill track element + if (trackType == TRACK_ELEM_CABLE_LIFT_HILL) { + flags = 8; + state = STATE_FIND_STATION; + } + break; + case STATE_FIND_STATION: + // Search for the start of the hill + switch (trackType) { + case TRACK_ELEM_FLAT: + case TRACK_ELEM_25_DEG_UP: + case TRACK_ELEM_60_DEG_UP: + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: + flags = 8; + break; + case TRACK_ELEM_END_STATION: + state = STATE_REST_OF_TRACK; + break; + default: + gGameCommandErrorText = STR_CABLE_LIFT_HILL_MUST_START_IMMEDIATELY_AFTER_STATION; + return false; + } + break; + } + if (isApplying) { + z = mapElement->base_height * 8; + sint32 direction = mapElement->type & 3; + trackType = mapElement->properties.track.type; + x = it.current.x; + y = it.current.y; + sub_6C683D(&x, &y, &z, direction, trackType, 0, &mapElement, flags); + } + } + return true; } /** @@ -4995,72 +4995,72 @@ static bool ride_initialise_cable_lift_track(rct_ride *ride, bool isApplying) */ static bool ride_create_cable_lift(sint32 rideIndex, bool isApplying) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - if (ride->mode != RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED && - ride->mode != RIDE_MODE_CONTINUOUS_CIRCUIT - ) { - gGameCommandErrorText = STR_CABLE_LIFT_UNABLE_TO_WORK_IN_THIS_OPERATING_MODE; - return false; - } + if (ride->mode != RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED && + ride->mode != RIDE_MODE_CONTINUOUS_CIRCUIT + ) { + gGameCommandErrorText = STR_CABLE_LIFT_UNABLE_TO_WORK_IN_THIS_OPERATING_MODE; + return false; + } - if (ride->num_circuits > 1) { - gGameCommandErrorText = STR_MULTICIRCUIT_NOT_POSSIBLE_WITH_CABLE_LIFT_HILL; - return false; - } + if (ride->num_circuits > 1) { + gGameCommandErrorText = STR_MULTICIRCUIT_NOT_POSSIBLE_WITH_CABLE_LIFT_HILL; + return false; + } - if (count_free_misc_sprite_slots() <= 5) { - gGameCommandErrorText = STR_UNABLE_TO_CREATE_ENOUGH_VEHICLES; - return false; - } + if (count_free_misc_sprite_slots() <= 5) { + gGameCommandErrorText = STR_UNABLE_TO_CREATE_ENOUGH_VEHICLES; + return false; + } - if (!ride_initialise_cable_lift_track(ride, isApplying)) { - return false; - } + if (!ride_initialise_cable_lift_track(ride, isApplying)) { + return false; + } - if (!isApplying) { - return true; - } + if (!isApplying) { + return true; + } - sint32 x = ride->cable_lift_x; - sint32 y = ride->cable_lift_y; - sint32 z = ride->cable_lift_z; - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (mapElement->base_height != z) continue; - break; - } while (!map_element_is_last_for_tile(mapElement++)); - sint32 direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + sint32 x = ride->cable_lift_x; + sint32 y = ride->cable_lift_y; + sint32 z = ride->cable_lift_z; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (mapElement->base_height != z) continue; + break; + } while (!map_element_is_last_for_tile(mapElement++)); + sint32 direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - rct_vehicle *head = NULL; - rct_vehicle *tail = NULL; - uint32 ebx = 0; - for (sint32 i = 0; i < 5; i++) { - uint32 edx = ror32(0x15478, 10); - uint16 var_44 = edx & 0xFFFF; - edx = rol32(edx, 10) >> 1; - ebx -= edx; - sint32 remaining_distance = ebx; - ebx -= edx; + rct_vehicle *head = NULL; + rct_vehicle *tail = NULL; + uint32 ebx = 0; + for (sint32 i = 0; i < 5; i++) { + uint32 edx = ror32(0x15478, 10); + uint16 var_44 = edx & 0xFFFF; + edx = rol32(edx, 10) >> 1; + ebx -= edx; + sint32 remaining_distance = ebx; + ebx -= edx; - rct_vehicle *current = cable_lift_segment_create(rideIndex, x, y, z, direction, var_44, remaining_distance, i == 0); - current->next_vehicle_on_train = SPRITE_INDEX_NULL; - if (i == 0) { - head = current; - } else { - tail->next_vehicle_on_train = current->sprite_index; - tail->next_vehicle_on_ride = current->sprite_index; - current->prev_vehicle_on_ride = tail->sprite_index; - } - tail = current; - } - head->prev_vehicle_on_ride = tail->sprite_index; - tail->next_vehicle_on_ride = head->sprite_index; + rct_vehicle *current = cable_lift_segment_create(rideIndex, x, y, z, direction, var_44, remaining_distance, i == 0); + current->next_vehicle_on_train = SPRITE_INDEX_NULL; + if (i == 0) { + head = current; + } else { + tail->next_vehicle_on_train = current->sprite_index; + tail->next_vehicle_on_ride = current->sprite_index; + current->prev_vehicle_on_ride = tail->sprite_index; + } + tail = current; + } + head->prev_vehicle_on_ride = tail->sprite_index; + tail->next_vehicle_on_ride = head->sprite_index; - ride->lifecycle_flags |= RIDE_LIFECYCLE_CABLE_LIFT; - cable_lift_update_track_motion(head); - return true; + ride->lifecycle_flags |= RIDE_LIFECYCLE_CABLE_LIFT; + cable_lift_update_track_motion(head); + return true; } /** @@ -5069,53 +5069,53 @@ static bool ride_create_cable_lift(sint32 rideIndex, bool isApplying) */ static void loc_6B51C0(sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - if (gUnk141F568 != gUnk13CA740) - return; + if (gUnk141F568 != gUnk13CA740) + return; - rct_window *w = window_get_main(); - if (w == NULL) - return; + rct_window *w = window_get_main(); + if (w == NULL) + return; - sint8 entranceOrExit = -1; - sint32 i; - for (i = 0; i < 4; i++) { - if (ride->station_starts[i] == 0xFFFF) - continue; + sint8 entranceOrExit = -1; + sint32 i; + for (i = 0; i < 4; i++) { + if (ride->station_starts[i] == 0xFFFF) + continue; - if (ride->entrances[i] == 0xFFFF) { - entranceOrExit = 0; - break; - } + if (ride->entrances[i] == 0xFFFF) { + entranceOrExit = 0; + break; + } - if (ride->exits[i] == 0xFFFF) { - entranceOrExit = 1; - break; - } - } + if (ride->exits[i] == 0xFFFF) { + entranceOrExit = 1; + break; + } + } - if (entranceOrExit == -1) - return; + if (entranceOrExit == -1) + return; - if (ride->type != RIDE_TYPE_MAZE) { - sint32 x = (ride->station_starts[i] & 0xFF) * 32; - sint32 y = (ride->station_starts[i] >> 8) * 32; - sint32 z = ride->station_heights[i] * 8; - window_scroll_to_location(w, x, y, z); + if (ride->type != RIDE_TYPE_MAZE) { + sint32 x = (ride->station_starts[i] & 0xFF) * 32; + sint32 y = (ride->station_starts[i] >> 8) * 32; + sint32 z = ride->station_heights[i] * 8; + window_scroll_to_location(w, x, y, z); - rct_xy_element trackElement; - ride_try_get_origin_element(rideIndex, &trackElement); - ride_find_track_gap(&trackElement, &trackElement); - sint32 ok = ride_modify(&trackElement); - if (ok == 0) { - return; - } + rct_xy_element trackElement; + ride_try_get_origin_element(rideIndex, &trackElement); + ride_find_track_gap(&trackElement, &trackElement); + sint32 ok = ride_modify(&trackElement); + if (ok == 0) { + return; + } - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != NULL) - window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE + entranceOrExit); - } + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w != NULL) + window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE + entranceOrExit); + } } /** @@ -5124,13 +5124,13 @@ static void loc_6B51C0(sint32 rideIndex) */ static void ride_scroll_to_track_error(rct_xy_element *trackElement) { - if (!gGameCommandIsNetworked && gUnk141F568 == gUnk13CA740) { - rct_window *w = window_get_main(); - if (w != NULL) { - window_scroll_to_location(w, trackElement->x, trackElement->y, trackElement->element->base_height * 8); - ride_modify(trackElement); - } - } + if (!gGameCommandIsNetworked && gUnk141F568 == gUnk13CA740) { + rct_window *w = window_get_main(); + if (w != NULL) { + window_scroll_to_location(w, trackElement->x, trackElement->y, trackElement->element->base_height * 8); + ride_modify(trackElement); + } + } } /** @@ -5139,151 +5139,151 @@ static void ride_scroll_to_track_error(rct_xy_element *trackElement) */ static rct_map_element *loc_6B4F6B(sint32 rideIndex, sint32 x, sint32 y) { - rct_ride * ride = get_ride(rideIndex); - rct_map_element *mapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + rct_ride * ride = get_ride(rideIndex); + rct_map_element *mapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if (RideProperties[ride->type].flags & RIDE_TYPE_FLAG_FLAT_RIDE) { - if (!(FlatRideTrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) - continue; - } else { - if (!(TrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) - continue; - } + if (RideProperties[ride->type].flags & RIDE_TYPE_FLAG_FLAT_RIDE) { + if (!(FlatRideTrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) + continue; + } else { + if (!(TrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) + continue; + } - if (mapElement->properties.track.ride_index == rideIndex) - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + if (mapElement->properties.track.ride_index == rideIndex) + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } static sint32 ride_is_valid_for_test(sint32 rideIndex, sint32 goingToBeOpen, sint32 isApplying) { - sint32 stationIndex; - rct_ride *ride; - rct_xy_element trackElement, problematicTrackElement = { 0 }; + sint32 stationIndex; + rct_ride *ride; + rct_xy_element trackElement, problematicTrackElement = { 0 }; - ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_NULL) - { - log_warning("Invalid ride type for ride %u", rideIndex); - return 0; - } + ride = get_ride(rideIndex); + if (ride->type == RIDE_TYPE_NULL) + { + log_warning("Invalid ride type for ride %u", rideIndex); + return 0; + } - window_close_by_number(WC_RIDE_CONSTRUCTION, rideIndex); + window_close_by_number(WC_RIDE_CONSTRUCTION, rideIndex); - stationIndex = ride_mode_check_station_present(ride); - if (stationIndex == -1)return 0; + stationIndex = ride_mode_check_station_present(ride); + if (stationIndex == -1)return 0; - if (!ride_mode_check_valid_station_numbers(ride)) - return 0; + if (!ride_mode_check_valid_station_numbers(ride)) + return 0; - if (!ride_check_for_entrance_exit(rideIndex)) { - loc_6B51C0(rideIndex); - return 0; - } + if (!ride_check_for_entrance_exit(rideIndex)) { + loc_6B51C0(rideIndex); + return 0; + } - if (goingToBeOpen && isApplying) { - sub_6B5952(rideIndex); - ride->lifecycle_flags |= RIDE_LIFECYCLE_EVER_BEEN_OPENED; - } + if (goingToBeOpen && isApplying) { + sub_6B5952(rideIndex); + ride->lifecycle_flags |= RIDE_LIFECYCLE_EVER_BEEN_OPENED; + } - // z = ride->station_heights[i] * 8; - trackElement.x = (ride->station_starts[stationIndex] & 0xFF) * 32; - trackElement.y = (ride->station_starts[stationIndex] >> 8) * 32; - trackElement.element = loc_6B4F6B(rideIndex, trackElement.x, trackElement.y); - if (trackElement.element == NULL) { - // Maze is strange, station start is 0... investigation required - if (ride->type != RIDE_TYPE_MAZE) - return 0; - } + // z = ride->station_heights[i] * 8; + trackElement.x = (ride->station_starts[stationIndex] & 0xFF) * 32; + trackElement.y = (ride->station_starts[stationIndex] >> 8) * 32; + trackElement.element = loc_6B4F6B(rideIndex, trackElement.x, trackElement.y); + if (trackElement.element == NULL) { + // Maze is strange, station start is 0... investigation required + if (ride->type != RIDE_TYPE_MAZE) + return 0; + } - if ( - ride->type == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER || - ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT || - ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || - ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED - ) { - if (ride_find_track_gap(&trackElement, &problematicTrackElement) && (!gConfigGeneral.test_unfinished_tracks || - ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED)) { - gGameCommandErrorText = STR_TRACK_IS_NOT_A_COMPLETE_CIRCUIT; - ride_scroll_to_track_error(&problematicTrackElement); - return 0; - } - } + if ( + ride->type == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER || + ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT || + ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || + ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED + ) { + if (ride_find_track_gap(&trackElement, &problematicTrackElement) && (!gConfigGeneral.test_unfinished_tracks || + ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED)) { + gGameCommandErrorText = STR_TRACK_IS_NOT_A_COMPLETE_CIRCUIT; + ride_scroll_to_track_error(&problematicTrackElement); + return 0; + } + } - if ( - ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || - ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED - ) { - if (!ride_check_block_brakes(&trackElement, &problematicTrackElement)) { - ride_scroll_to_track_error(&problematicTrackElement); - return 0; - } - } + if ( + ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || + ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED + ) { + if (!ride_check_block_brakes(&trackElement, &problematicTrackElement)) { + ride_scroll_to_track_error(&problematicTrackElement); + return 0; + } + } - if (ride->subtype != 255) { - rct_ride_entry *rideType = get_ride_entry(ride->subtype); - if (rideType->flags & RIDE_ENTRY_FLAG_NO_INVERSIONS) { - gGameCommandErrorText = STR_TRACK_UNSUITABLE_FOR_TYPE_OF_TRAIN; - if (ride_check_track_contains_inversions(&trackElement, &problematicTrackElement)) { - ride_scroll_to_track_error(&problematicTrackElement); - return 0; - } - } - if (rideType->flags & RIDE_ENTRY_FLAG_NO_BANKED_TRACK) { - gGameCommandErrorText = STR_TRACK_UNSUITABLE_FOR_TYPE_OF_TRAIN; - if (ride_check_track_contains_banked(&trackElement, &problematicTrackElement)) { - ride_scroll_to_track_error(&problematicTrackElement); - return 0; - } - } - } + if (ride->subtype != 255) { + rct_ride_entry *rideType = get_ride_entry(ride->subtype); + if (rideType->flags & RIDE_ENTRY_FLAG_NO_INVERSIONS) { + gGameCommandErrorText = STR_TRACK_UNSUITABLE_FOR_TYPE_OF_TRAIN; + if (ride_check_track_contains_inversions(&trackElement, &problematicTrackElement)) { + ride_scroll_to_track_error(&problematicTrackElement); + return 0; + } + } + if (rideType->flags & RIDE_ENTRY_FLAG_NO_BANKED_TRACK) { + gGameCommandErrorText = STR_TRACK_UNSUITABLE_FOR_TYPE_OF_TRAIN; + if (ride_check_track_contains_banked(&trackElement, &problematicTrackElement)) { + ride_scroll_to_track_error(&problematicTrackElement); + return 0; + } + } + } - if (ride->mode == RIDE_MODE_STATION_TO_STATION) { - if (!ride_find_track_gap(&trackElement, &problematicTrackElement)) { - gGameCommandErrorText = STR_RIDE_MUST_START_AND_END_WITH_STATIONS; - return 0; - } + if (ride->mode == RIDE_MODE_STATION_TO_STATION) { + if (!ride_find_track_gap(&trackElement, &problematicTrackElement)) { + gGameCommandErrorText = STR_RIDE_MUST_START_AND_END_WITH_STATIONS; + return 0; + } - gGameCommandErrorText = STR_STATION_NOT_LONG_ENOUGH; - if (!ride_check_station_length(&trackElement, &problematicTrackElement)) { - ride_scroll_to_track_error(&problematicTrackElement); - return 0; - } + gGameCommandErrorText = STR_STATION_NOT_LONG_ENOUGH; + if (!ride_check_station_length(&trackElement, &problematicTrackElement)) { + ride_scroll_to_track_error(&problematicTrackElement); + return 0; + } - gGameCommandErrorText = STR_RIDE_MUST_START_AND_END_WITH_STATIONS; - if (!ride_check_start_and_end_is_station(&trackElement, &problematicTrackElement)) { - ride_scroll_to_track_error(&problematicTrackElement); - return 0; - } - } + gGameCommandErrorText = STR_RIDE_MUST_START_AND_END_WITH_STATIONS; + if (!ride_check_start_and_end_is_station(&trackElement, &problematicTrackElement)) { + ride_scroll_to_track_error(&problematicTrackElement); + return 0; + } + } - if (isApplying) - ride_set_start_finish_points(rideIndex, &trackElement); + if (isApplying) + ride_set_start_finish_points(rideIndex, &trackElement); - if ( - !ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES) && - !(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) - ) { - if (!ride_create_vehicles(ride, rideIndex, &trackElement, isApplying)) { - return 0; - } - } + if ( + !ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES) && + !(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) + ) { + if (!ride_create_vehicles(ride, rideIndex, &trackElement, isApplying)) { + return 0; + } + } - if ( - (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_CABLE_LIFT_HILL) && - (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED) && - !(ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT) - ) { - if (!ride_create_cable_lift(rideIndex, isApplying)) - return 0; - } + if ( + (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_CABLE_LIFT_HILL) && + (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED) && + !(ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT) + ) { + if (!ride_create_cable_lift(rideIndex, isApplying)) + return 0; + } - return 1; + return 1; } /** * @@ -5291,135 +5291,135 @@ static sint32 ride_is_valid_for_test(sint32 rideIndex, sint32 goingToBeOpen, sin */ static sint32 ride_is_valid_for_open(sint32 rideIndex, sint32 goingToBeOpen, sint32 isApplying) { - sint32 stationIndex; - rct_ride *ride; - rct_xy_element trackElement, problematicTrackElement = { 0 }; + sint32 stationIndex; + rct_ride *ride; + rct_xy_element trackElement, problematicTrackElement = { 0 }; - ride = get_ride(rideIndex); + ride = get_ride(rideIndex); - // Check to see if construction tool is in use. If it is close the construction window - // to set the track to its final state and clean up ghosts. - // We can't just call close as it would cause a stack overflow during shop creation - // with auto open on. - if (WC_RIDE_CONSTRUCTION == gCurrentToolWidget.window_classification && - rideIndex == gCurrentToolWidget.window_number && - (input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) - window_close_by_number(WC_RIDE_CONSTRUCTION, rideIndex); + // Check to see if construction tool is in use. If it is close the construction window + // to set the track to its final state and clean up ghosts. + // We can't just call close as it would cause a stack overflow during shop creation + // with auto open on. + if (WC_RIDE_CONSTRUCTION == gCurrentToolWidget.window_classification && + rideIndex == gCurrentToolWidget.window_number && + (input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) + window_close_by_number(WC_RIDE_CONSTRUCTION, rideIndex); - stationIndex = ride_mode_check_station_present(ride); - if (stationIndex == -1)return 0; + stationIndex = ride_mode_check_station_present(ride); + if (stationIndex == -1)return 0; - if (!ride_mode_check_valid_station_numbers(ride)) - return 0; + if (!ride_mode_check_valid_station_numbers(ride)) + return 0; - if (!ride_check_for_entrance_exit(rideIndex)) { - loc_6B51C0(rideIndex); - return 0; - } + if (!ride_check_for_entrance_exit(rideIndex)) { + loc_6B51C0(rideIndex); + return 0; + } - if (goingToBeOpen && isApplying) { - sub_6B5952(rideIndex); - ride->lifecycle_flags |= RIDE_LIFECYCLE_EVER_BEEN_OPENED; - } + if (goingToBeOpen && isApplying) { + sub_6B5952(rideIndex); + ride->lifecycle_flags |= RIDE_LIFECYCLE_EVER_BEEN_OPENED; + } - // z = ride->station_heights[i] * 8; - trackElement.x = (ride->station_starts[stationIndex] & 0xFF) * 32; - trackElement.y = (ride->station_starts[stationIndex] >> 8) * 32; - trackElement.element = loc_6B4F6B(rideIndex, trackElement.x, trackElement.y); - if (trackElement.element == NULL) { - // Maze is strange, station start is 0... investigation required - if (ride->type != RIDE_TYPE_MAZE) - return 0; - } + // z = ride->station_heights[i] * 8; + trackElement.x = (ride->station_starts[stationIndex] & 0xFF) * 32; + trackElement.y = (ride->station_starts[stationIndex] >> 8) * 32; + trackElement.element = loc_6B4F6B(rideIndex, trackElement.x, trackElement.y); + if (trackElement.element == NULL) { + // Maze is strange, station start is 0... investigation required + if (ride->type != RIDE_TYPE_MAZE) + return 0; + } - if ( - ride->type == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER || - ride->mode == RIDE_MODE_RACE || - ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT || - ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || - ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED - ) { - if (ride_find_track_gap(&trackElement, &problematicTrackElement)) { - gGameCommandErrorText = STR_TRACK_IS_NOT_A_COMPLETE_CIRCUIT; - ride_scroll_to_track_error(&problematicTrackElement); - return 0; - } - } + if ( + ride->type == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER || + ride->mode == RIDE_MODE_RACE || + ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT || + ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || + ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED + ) { + if (ride_find_track_gap(&trackElement, &problematicTrackElement)) { + gGameCommandErrorText = STR_TRACK_IS_NOT_A_COMPLETE_CIRCUIT; + ride_scroll_to_track_error(&problematicTrackElement); + return 0; + } + } - if ( - ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || - ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED - ) { - if (!ride_check_block_brakes(&trackElement, &problematicTrackElement)) { - ride_scroll_to_track_error(&problematicTrackElement); - return 0; - } - } + if ( + ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || + ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED + ) { + if (!ride_check_block_brakes(&trackElement, &problematicTrackElement)) { + ride_scroll_to_track_error(&problematicTrackElement); + return 0; + } + } - if (ride->subtype != 255) { - rct_ride_entry *rideType = get_ride_entry(ride->subtype); - if (rideType->flags & RIDE_ENTRY_FLAG_NO_INVERSIONS) { - gGameCommandErrorText = STR_TRACK_UNSUITABLE_FOR_TYPE_OF_TRAIN; - if (ride_check_track_contains_inversions(&trackElement, &problematicTrackElement)) { - ride_scroll_to_track_error(&problematicTrackElement); - return 0; - } - } - if (rideType->flags & RIDE_ENTRY_FLAG_NO_BANKED_TRACK) { - gGameCommandErrorText = STR_TRACK_UNSUITABLE_FOR_TYPE_OF_TRAIN; - if (ride_check_track_contains_banked(&trackElement, &problematicTrackElement)) { - ride_scroll_to_track_error(&problematicTrackElement); - return 0; - } - } - } + if (ride->subtype != 255) { + rct_ride_entry *rideType = get_ride_entry(ride->subtype); + if (rideType->flags & RIDE_ENTRY_FLAG_NO_INVERSIONS) { + gGameCommandErrorText = STR_TRACK_UNSUITABLE_FOR_TYPE_OF_TRAIN; + if (ride_check_track_contains_inversions(&trackElement, &problematicTrackElement)) { + ride_scroll_to_track_error(&problematicTrackElement); + return 0; + } + } + if (rideType->flags & RIDE_ENTRY_FLAG_NO_BANKED_TRACK) { + gGameCommandErrorText = STR_TRACK_UNSUITABLE_FOR_TYPE_OF_TRAIN; + if (ride_check_track_contains_banked(&trackElement, &problematicTrackElement)) { + ride_scroll_to_track_error(&problematicTrackElement); + return 0; + } + } + } - if (ride->mode == RIDE_MODE_STATION_TO_STATION) { - if (!ride_find_track_gap(&trackElement, &problematicTrackElement)) { - gGameCommandErrorText = STR_RIDE_MUST_START_AND_END_WITH_STATIONS; - return 0; - } + if (ride->mode == RIDE_MODE_STATION_TO_STATION) { + if (!ride_find_track_gap(&trackElement, &problematicTrackElement)) { + gGameCommandErrorText = STR_RIDE_MUST_START_AND_END_WITH_STATIONS; + return 0; + } - gGameCommandErrorText = STR_STATION_NOT_LONG_ENOUGH; - if (!ride_check_station_length(&trackElement, &problematicTrackElement)) { - ride_scroll_to_track_error(&problematicTrackElement); - return 0; - } + gGameCommandErrorText = STR_STATION_NOT_LONG_ENOUGH; + if (!ride_check_station_length(&trackElement, &problematicTrackElement)) { + ride_scroll_to_track_error(&problematicTrackElement); + return 0; + } - gGameCommandErrorText = STR_RIDE_MUST_START_AND_END_WITH_STATIONS; - if (!ride_check_start_and_end_is_station(&trackElement, &problematicTrackElement)) { - ride_scroll_to_track_error(&problematicTrackElement); - return 0; - } - } + gGameCommandErrorText = STR_RIDE_MUST_START_AND_END_WITH_STATIONS; + if (!ride_check_start_and_end_is_station(&trackElement, &problematicTrackElement)) { + ride_scroll_to_track_error(&problematicTrackElement); + return 0; + } + } - if (isApplying) - ride_set_start_finish_points(rideIndex, &trackElement); + if (isApplying) + ride_set_start_finish_points(rideIndex, &trackElement); - if ( - !ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES) && - !(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) - ) { - if (!ride_create_vehicles(ride, rideIndex, &trackElement, isApplying)) { - return 0; - } - } + if ( + !ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES) && + !(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) + ) { + if (!ride_create_vehicles(ride, rideIndex, &trackElement, isApplying)) { + return 0; + } + } - if ( - (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_CABLE_LIFT_HILL) && - (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED) && - !(ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT) - ) { - if (!ride_create_cable_lift(rideIndex, isApplying)) - return 0; - } + if ( + (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_CABLE_LIFT_HILL) && + (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED) && + !(ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT) + ) { + if (!ride_create_cable_lift(rideIndex, isApplying)) + return 0; + } - return 1; + return 1; } void ride_set_status(sint32 rideIndex, sint32 status) { - game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, rideIndex | (status << 8), GAME_COMMAND_SET_RIDE_STATUS, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, rideIndex | (status << 8), GAME_COMMAND_SET_RIDE_STATUS, 0, 0); } /** @@ -5428,109 +5428,109 @@ void ride_set_status(sint32 rideIndex, sint32 status) */ void game_command_set_ride_status(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - sint32 rideIndex, targetStatus; - rct_ride *ride; + sint32 rideIndex, targetStatus; + rct_ride *ride; - rideIndex = *edx & 0xFF; - if (rideIndex >= MAX_RIDES) - { - log_warning("Invalid game command for ride %u", rideIndex); - *ebx = MONEY32_UNDEFINED; - return; - } - targetStatus = (*edx >> 8) & 0xFF; + rideIndex = *edx & 0xFF; + if (rideIndex >= MAX_RIDES) + { + log_warning("Invalid game command for ride %u", rideIndex); + *ebx = MONEY32_UNDEFINED; + return; + } + targetStatus = (*edx >> 8) & 0xFF; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS; - ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_NULL) - { - log_warning("Invalid game command for ride %u", rideIndex); - *ebx = MONEY32_UNDEFINED; - return; - } + ride = get_ride(rideIndex); + if (ride->type == RIDE_TYPE_NULL) + { + log_warning("Invalid game command for ride %u", rideIndex); + *ebx = MONEY32_UNDEFINED; + return; + } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - if (ride->overall_view != (uint16)-1) { - rct_xyz16 coord; - coord.x = (ride->overall_view & 0xFF) * 32 + 16; - coord.y = (ride->overall_view >> 8) * 32 + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } - } + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + if (ride->overall_view != (uint16)-1) { + rct_xyz16 coord; + coord.x = (ride->overall_view & 0xFF) * 32 + 16; + coord.y = (ride->overall_view >> 8) * 32 + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } + } - switch (targetStatus) { - case RIDE_STATUS_CLOSED: - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - if (ride->status == targetStatus) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)) { - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_CRASHED; - ride_clear_for_construction(rideIndex); - ride_remove_peeps(rideIndex); - } - } + switch (targetStatus) { + case RIDE_STATUS_CLOSED: + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + if (ride->status == targetStatus) { + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)) { + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_CRASHED; + ride_clear_for_construction(rideIndex); + ride_remove_peeps(rideIndex); + } + } - ride->status = RIDE_STATUS_CLOSED; - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING; - ride->race_winner = SPRITE_INDEX_NULL; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; - window_invalidate_by_number(WC_RIDE, rideIndex); - } - *ebx = 0; - return; - case RIDE_STATUS_TESTING: - case RIDE_STATUS_OPEN: - if (ride->status == targetStatus) { - *ebx = 0; - return; - } + ride->status = RIDE_STATUS_CLOSED; + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING; + ride->race_winner = SPRITE_INDEX_NULL; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + window_invalidate_by_number(WC_RIDE, rideIndex); + } + *ebx = 0; + return; + case RIDE_STATUS_TESTING: + case RIDE_STATUS_OPEN: + if (ride->status == targetStatus) { + *ebx = 0; + return; + } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - // Fix #3183: Make sure we close the construction window so the ride finishes any editing code before opening - // otherwise vehicles get added to the ride incorrectly (such as to a ghost station) - rct_window *constructionWindow = window_find_by_number(WC_RIDE_CONSTRUCTION, rideIndex); - if (constructionWindow != NULL) { - window_close(constructionWindow); - } - } + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + // Fix #3183: Make sure we close the construction window so the ride finishes any editing code before opening + // otherwise vehicles get added to the ride incorrectly (such as to a ghost station) + rct_window *constructionWindow = window_find_by_number(WC_RIDE_CONSTRUCTION, rideIndex); + if (constructionWindow != NULL) { + window_close(constructionWindow); + } + } - if (targetStatus == RIDE_STATUS_TESTING) { - if (!ride_is_valid_for_test(rideIndex, targetStatus == RIDE_STATUS_OPEN, *ebx & GAME_COMMAND_FLAG_APPLY)) { - *ebx = MONEY32_UNDEFINED; - return; - } - } - else if (!ride_is_valid_for_open(rideIndex, targetStatus == RIDE_STATUS_OPEN, *ebx & GAME_COMMAND_FLAG_APPLY)) { - *ebx = MONEY32_UNDEFINED; - return; - } + if (targetStatus == RIDE_STATUS_TESTING) { + if (!ride_is_valid_for_test(rideIndex, targetStatus == RIDE_STATUS_OPEN, *ebx & GAME_COMMAND_FLAG_APPLY)) { + *ebx = MONEY32_UNDEFINED; + return; + } + } + else if (!ride_is_valid_for_open(rideIndex, targetStatus == RIDE_STATUS_OPEN, *ebx & GAME_COMMAND_FLAG_APPLY)) { + *ebx = MONEY32_UNDEFINED; + return; + } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - ride->race_winner = SPRITE_INDEX_NULL; - ride->status = targetStatus; - ride_get_measurement(rideIndex, NULL); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; - window_invalidate_by_number(WC_RIDE, rideIndex); - } - *ebx = 0; - return; - } + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + ride->race_winner = SPRITE_INDEX_NULL; + ride->status = targetStatus; + ride_get_measurement(rideIndex, NULL); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + window_invalidate_by_number(WC_RIDE, rideIndex); + } + *ebx = 0; + return; + } } void ride_set_name(sint32 rideIndex, const char *name) { - typedef union name_union { - char as_char[4]; - sint32 as_int; - } name_union; + typedef union name_union { + char as_char[4]; + sint32 as_int; + } name_union; - name_union name_buffer[9]; - safe_strcpy((char *)name_buffer, name, sizeof(name_buffer)); - gGameCommandErrorTitle = STR_CANT_RENAME_RIDE_ATTRACTION; - game_do_command(1, (rideIndex << 8) | 1, 0, name_buffer[0].as_int, GAME_COMMAND_SET_RIDE_NAME, name_buffer[2].as_int, name_buffer[1].as_int); - game_do_command(2, (rideIndex << 8) | 1, 0, name_buffer[3].as_int, GAME_COMMAND_SET_RIDE_NAME, name_buffer[5].as_int, name_buffer[4].as_int); - game_do_command(0, (rideIndex << 8) | 1, 0, name_buffer[6].as_int, GAME_COMMAND_SET_RIDE_NAME, name_buffer[8].as_int, name_buffer[7].as_int); + name_union name_buffer[9]; + safe_strcpy((char *)name_buffer, name, sizeof(name_buffer)); + gGameCommandErrorTitle = STR_CANT_RENAME_RIDE_ATTRACTION; + game_do_command(1, (rideIndex << 8) | 1, 0, name_buffer[0].as_int, GAME_COMMAND_SET_RIDE_NAME, name_buffer[2].as_int, name_buffer[1].as_int); + game_do_command(2, (rideIndex << 8) | 1, 0, name_buffer[3].as_int, GAME_COMMAND_SET_RIDE_NAME, name_buffer[5].as_int, name_buffer[4].as_int); + game_do_command(0, (rideIndex << 8) | 1, 0, name_buffer[6].as_int, GAME_COMMAND_SET_RIDE_NAME, name_buffer[8].as_int, name_buffer[7].as_int); } /** @@ -5539,101 +5539,101 @@ void ride_set_name(sint32 rideIndex, const char *name) */ void game_command_set_ride_name(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - char oldName[128]; - static char newName[128]; + char oldName[128]; + static char newName[128]; - sint32 rideIndex = (*ebx >> 8) & 0xFF; - if (rideIndex >= MAX_RIDES) - { - log_warning("Invalid game command for ride %u", rideIndex); - *ebx = MONEY32_UNDEFINED; - return; - } - sint32 nameChunkIndex = *eax & 0xFFFF; + sint32 rideIndex = (*ebx >> 8) & 0xFF; + if (rideIndex >= MAX_RIDES) + { + log_warning("Invalid game command for ride %u", rideIndex); + *ebx = MONEY32_UNDEFINED; + return; + } + sint32 nameChunkIndex = *eax & 0xFFFF; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS; - //if (*ebx & GAME_COMMAND_FLAG_APPLY) { // this check seems to be useless and causes problems in multiplayer - sint32 nameChunkOffset = nameChunkIndex - 1; - if (nameChunkOffset < 0) - nameChunkOffset = 2; - nameChunkOffset *= 12; - nameChunkOffset = min(nameChunkOffset, countof(newName) - 12); - memcpy((void*)((uintptr_t)newName + (uintptr_t)nameChunkOffset + 0), edx, sizeof(uint32)); - memcpy((void*)((uintptr_t)newName + (uintptr_t)nameChunkOffset + 4), ebp, sizeof(uint32)); - memcpy((void*)((uintptr_t)newName + (uintptr_t)nameChunkOffset + 8), edi, sizeof(uint32)); - //} + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS; + //if (*ebx & GAME_COMMAND_FLAG_APPLY) { // this check seems to be useless and causes problems in multiplayer + sint32 nameChunkOffset = nameChunkIndex - 1; + if (nameChunkOffset < 0) + nameChunkOffset = 2; + nameChunkOffset *= 12; + nameChunkOffset = min(nameChunkOffset, countof(newName) - 12); + memcpy((void*)((uintptr_t)newName + (uintptr_t)nameChunkOffset + 0), edx, sizeof(uint32)); + memcpy((void*)((uintptr_t)newName + (uintptr_t)nameChunkOffset + 4), ebp, sizeof(uint32)); + memcpy((void*)((uintptr_t)newName + (uintptr_t)nameChunkOffset + 8), edi, sizeof(uint32)); + //} - if (nameChunkIndex != 0) { - *ebx = 0; - return; - } + if (nameChunkIndex != 0) { + *ebx = 0; + return; + } - rct_ride *ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_NULL) - { - log_warning("Invalid game command for ride %u", rideIndex); - *ebx = MONEY32_UNDEFINED; - return; - } - format_string(oldName, 128, ride->name, &ride->name_arguments); - if (strcmp(oldName, newName) == 0) { - *ebx = 0; - return; - } + rct_ride *ride = get_ride(rideIndex); + if (ride->type == RIDE_TYPE_NULL) + { + log_warning("Invalid game command for ride %u", rideIndex); + *ebx = MONEY32_UNDEFINED; + return; + } + format_string(oldName, 128, ride->name, &ride->name_arguments); + if (strcmp(oldName, newName) == 0) { + *ebx = 0; + return; + } - if (newName[0] == 0) { - gGameCommandErrorText = STR_INVALID_RIDE_ATTRACTION_NAME; - *ebx = MONEY32_UNDEFINED; - return; - } + if (newName[0] == 0) { + gGameCommandErrorText = STR_INVALID_RIDE_ATTRACTION_NAME; + *ebx = MONEY32_UNDEFINED; + return; + } - rct_string_id newUserStringId = user_string_allocate(USER_STRING_HIGH_ID_NUMBER | USER_STRING_DUPLICATION_PERMITTED, newName); - if (newUserStringId == 0) { - *ebx = MONEY32_UNDEFINED; - return; - } + rct_string_id newUserStringId = user_string_allocate(USER_STRING_HIGH_ID_NUMBER | USER_STRING_DUPLICATION_PERMITTED, newName); + if (newUserStringId == 0) { + *ebx = MONEY32_UNDEFINED; + return; + } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - // Log ride rename command if we are in multiplayer and logging is enabled - if ((network_get_mode() == NETWORK_MODE_CLIENT || network_get_mode() == NETWORK_MODE_SERVER) && gConfigNetwork.log_server_actions) { - // Get player name - int player_index = network_get_player_index(game_command_playerid); - const char* player_name = network_get_player_name(player_index); + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + // Log ride rename command if we are in multiplayer and logging is enabled + if ((network_get_mode() == NETWORK_MODE_CLIENT || network_get_mode() == NETWORK_MODE_SERVER) && gConfigNetwork.log_server_actions) { + // Get player name + int player_index = network_get_player_index(game_command_playerid); + const char* player_name = network_get_player_name(player_index); - char log_msg[256]; - char* args[3] = { - (char *) player_name, - oldName, - newName - }; - format_string(log_msg, 256, STR_LOG_RIDE_NAME, args); - network_append_server_log(log_msg); - } + char log_msg[256]; + char* args[3] = { + (char *) player_name, + oldName, + newName + }; + format_string(log_msg, 256, STR_LOG_RIDE_NAME, args); + network_append_server_log(log_msg); + } - if (ride->overall_view != (uint16)-1) { - rct_xyz16 coord; - coord.x = (ride->overall_view & 0xFF) * 32 + 16; - coord.y = (ride->overall_view >> 8) * 32 + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (ride->overall_view != (uint16)-1) { + rct_xyz16 coord; + coord.x = (ride->overall_view & 0xFF) * 32 + 16; + coord.y = (ride->overall_view >> 8) * 32 + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - // Free the old ride name - user_string_free(ride->name); + // Free the old ride name + user_string_free(ride->name); - ride->name = newUserStringId; + ride->name = newUserStringId; - gfx_invalidate_screen(); + gfx_invalidate_screen(); - // Force ride list window refresh - rct_window *w = window_find_by_class(WC_RIDE_LIST); - if (w != NULL) - w->no_list_items = 0; - } else { - user_string_free(newUserStringId); - } + // Force ride list window refresh + rct_window *w = window_find_by_class(WC_RIDE_LIST); + if (w != NULL) + w->no_list_items = 0; + } else { + user_string_free(newUserStringId); + } - *ebx = 0; + *ebx = 0; } /** @@ -5642,84 +5642,84 @@ void game_command_set_ride_name(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *e */ sint32 ride_get_refund_price(sint32 ride_id) { - uint8 oldpaused = gGamePaused; - gGamePaused = 0; - money32 refundPrice = 0; + uint8 oldpaused = gGamePaused; + gGamePaused = 0; + money32 refundPrice = 0; - map_element_iterator it; + map_element_iterator it; - map_element_iterator_begin(&it); - while (map_element_iterator_next(&it)) { - if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_TRACK) - continue; + map_element_iterator_begin(&it); + while (map_element_iterator_next(&it)) { + if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_TRACK) + continue; - if (it.element->properties.track.ride_index != ride_id) - continue; + if (it.element->properties.track.ride_index != ride_id) + continue; - sint32 x = it.x * 32, y = it.y * 32; - sint32 z = it.element->base_height * 8; + sint32 x = it.x * 32, y = it.y * 32; + sint32 z = it.element->base_height * 8; - uint8 rotation = it.element->type & MAP_ELEMENT_DIRECTION_MASK; - uint8 type = it.element->properties.track.type; + uint8 rotation = it.element->type & MAP_ELEMENT_DIRECTION_MASK; + uint8 type = it.element->properties.track.type; - if (type != TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP){ - money32 removePrice = game_do_command( - x, - GAME_COMMAND_FLAG_APPLY | (rotation << 8), - y, - type | ((it.element->properties.track.sequence & 0xF) << 8), - GAME_COMMAND_REMOVE_TRACK, - z, - 0); - if (removePrice == MONEY32_UNDEFINED) { - map_element_remove(it.element); - } else { - refundPrice += removePrice; - } - map_element_iterator_restart_for_tile(&it); - continue; - } + if (type != TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP){ + money32 removePrice = game_do_command( + x, + GAME_COMMAND_FLAG_APPLY | (rotation << 8), + y, + type | ((it.element->properties.track.sequence & 0xF) << 8), + GAME_COMMAND_REMOVE_TRACK, + z, + 0); + if (removePrice == MONEY32_UNDEFINED) { + map_element_remove(it.element); + } else { + refundPrice += removePrice; + } + map_element_iterator_restart_for_tile(&it); + continue; + } - // Using GAME_COMMAND_FLAG_2 for below commands as a HACK to stop fences from being removed - refundPrice += game_do_command( - x, - GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_2 | (0 << 8), - y, - ride_id | (2 << 8), - GAME_COMMAND_SET_MAZE_TRACK, - z, - 0); + // Using GAME_COMMAND_FLAG_2 for below commands as a HACK to stop fences from being removed + refundPrice += game_do_command( + x, + GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_2 | (0 << 8), + y, + ride_id | (2 << 8), + GAME_COMMAND_SET_MAZE_TRACK, + z, + 0); - refundPrice += game_do_command( - x, - GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_2 | (1 << 8), - y + 16, - ride_id | (2 << 8), - GAME_COMMAND_SET_MAZE_TRACK, - z, - 0); + refundPrice += game_do_command( + x, + GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_2 | (1 << 8), + y + 16, + ride_id | (2 << 8), + GAME_COMMAND_SET_MAZE_TRACK, + z, + 0); - refundPrice += game_do_command( - x + 16, - GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_2 | (2 << 8), - y + 16, - ride_id | (2 << 8), - GAME_COMMAND_SET_MAZE_TRACK, - z, - 0); + refundPrice += game_do_command( + x + 16, + GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_2 | (2 << 8), + y + 16, + ride_id | (2 << 8), + GAME_COMMAND_SET_MAZE_TRACK, + z, + 0); - refundPrice += game_do_command( - x + 16, - GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_2 | (3 << 8), - y, - ride_id | (2 << 8), - GAME_COMMAND_SET_MAZE_TRACK, - z, - 0); - map_element_iterator_restart_for_tile(&it); - } - gGamePaused = oldpaused; - return refundPrice; + refundPrice += game_do_command( + x + 16, + GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_2 | (3 << 8), + y, + ride_id | (2 << 8), + GAME_COMMAND_SET_MAZE_TRACK, + z, + 0); + map_element_iterator_restart_for_tile(&it); + } + gGamePaused = oldpaused; + return refundPrice; } /** @@ -5728,77 +5728,77 @@ sint32 ride_get_refund_price(sint32 ride_id) */ static void ride_stop_peeps_queuing(sint32 rideIndex) { - uint16 spriteIndex; - rct_peep *peep; + uint16 spriteIndex; + rct_peep *peep; - FOR_ALL_PEEPS(spriteIndex, peep) { - if (peep->state != PEEP_STATE_QUEUING) - continue; - if (peep->current_ride != rideIndex) - continue; + FOR_ALL_PEEPS(spriteIndex, peep) { + if (peep->state != PEEP_STATE_QUEUING) + continue; + if (peep->current_ride != rideIndex) + continue; - remove_peep_from_queue(peep); - peep_decrement_num_riders(peep); + remove_peep_from_queue(peep); + peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_FALLING; + peep->state = PEEP_STATE_FALLING; - peep_window_state_update(peep); - } + peep_window_state_update(peep); + } } static sint32 ride_get_empty_slot() { - for (sint32 i = 0; i < MAX_RIDES; i++) { - rct_ride *ride = get_ride(i); - if (ride->type == RIDE_TYPE_NULL) { - return i; - } - } - return -1; + for (sint32 i = 0; i < MAX_RIDES; i++) { + rct_ride *ride = get_ride(i); + if (ride->type == RIDE_TYPE_NULL) { + return i; + } + } + return -1; } static sint32 ride_get_default_mode(rct_ride *ride) { - const rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); - const uint8 *availableModes = RideAvailableModes; + const rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); + const uint8 *availableModes = RideAvailableModes; - for (sint32 i = 0; i < ride->type; i++) { - while (*(availableModes++) != 255) {} - } - if (rideEntry->flags & RIDE_ENTRY_DISABLE_FIRST_TWO_OPERATING_MODES) { - availableModes += 2; - } - return availableModes[0]; + for (sint32 i = 0; i < ride->type; i++) { + while (*(availableModes++) != 255) {} + } + if (rideEntry->flags & RIDE_ENTRY_DISABLE_FIRST_TWO_OPERATING_MODES) { + availableModes += 2; + } + return availableModes[0]; } static bool ride_with_colour_config_exists(uint8 ride_type, const track_colour *colours) { - rct_ride *ride; - sint32 i; + rct_ride *ride; + sint32 i; - FOR_ALL_RIDES(i, ride) { - if (ride->type != ride_type) continue; - if (ride->track_colour_main[0] != colours->main) continue; - if (ride->track_colour_additional[0] != colours->additional) continue; - if (ride->track_colour_supports[0] != colours->supports) continue; + FOR_ALL_RIDES(i, ride) { + if (ride->type != ride_type) continue; + if (ride->track_colour_main[0] != colours->main) continue; + if (ride->track_colour_additional[0] != colours->additional) continue; + if (ride->track_colour_supports[0] != colours->supports) continue; - return true; - } - return false; + return true; + } + return false; } static bool ride_name_exists(char *name) { - char buffer[256]; - rct_ride *ride; - sint32 i; - FOR_ALL_RIDES(i, ride) { - format_string(buffer, 256, ride->name, &ride->name_arguments); - if ((strcmp(buffer, name) == 0) && ride_has_any_track_elements(i)) { - return true; - } - } - return false; + char buffer[256]; + rct_ride *ride; + sint32 i; + FOR_ALL_RIDES(i, ride) { + format_string(buffer, 256, ride->name, &ride->name_arguments); + if ((strcmp(buffer, name) == 0) && ride_has_any_track_elements(i)) { + return true; + } + } + return false; } /** @@ -5807,23 +5807,23 @@ static bool ride_name_exists(char *name) */ static sint32 ride_get_random_colour_preset_index(uint8 ride_type) { - if (ride_type >= 128) - { - return 0; - } + if (ride_type >= 128) + { + return 0; + } - const track_colour_preset_list *colourPresets = &RideColourPresets[ride_type]; + const track_colour_preset_list *colourPresets = &RideColourPresets[ride_type]; - // 200 attempts to find a colour preset that hasn't already been used in the park for this ride type - for (sint32 i = 0; i < 200; i++) { - sint32 listIndex = util_rand() % colourPresets->count; - const track_colour *colours = &colourPresets->list[listIndex]; + // 200 attempts to find a colour preset that hasn't already been used in the park for this ride type + for (sint32 i = 0; i < 200; i++) { + sint32 listIndex = util_rand() % colourPresets->count; + const track_colour *colours = &colourPresets->list[listIndex]; - if (!ride_with_colour_config_exists(ride_type, colours)) { - return listIndex; - } - } - return 0; + if (!ride_with_colour_config_exists(ride_type, colours)) { + return listIndex; + } + } + return 0; } /** @@ -5831,90 +5831,90 @@ static sint32 ride_get_random_colour_preset_index(uint8 ride_type) * Based on rct2: 0x006B4776 */ static void ride_set_colour_preset(rct_ride *ride, uint8 index) { - const track_colour_preset_list *colourPresets; - const track_colour *colours; + const track_colour_preset_list *colourPresets; + const track_colour *colours; - colourPresets = &RideColourPresets[ride->type]; - colours = &colourPresets->list[index]; - for (sint32 i = 0; i < 4; i++) { - ride->track_colour_main[i] = colours->main; - ride->track_colour_additional[i] = colours->additional; - ride->track_colour_supports[i] = colours->supports; - } - ride->colour_scheme_type = 0; + colourPresets = &RideColourPresets[ride->type]; + colours = &colourPresets->list[index]; + for (sint32 i = 0; i < 4; i++) { + ride->track_colour_main[i] = colours->main; + ride->track_colour_additional[i] = colours->additional; + ride->track_colour_supports[i] = colours->supports; + } + ride->colour_scheme_type = 0; } static money32 ride_get_common_price(rct_ride *forRide) { - rct_ride *ride; - sint32 i; + rct_ride *ride; + sint32 i; - FOR_ALL_RIDES(i, ride) { - if (ride->type == forRide->type && ride != forRide) { - return ride->price; - } - } + FOR_ALL_RIDES(i, ride) { + if (ride->type == forRide->type && ride != forRide) { + return ride->price; + } + } - return MONEY32_UNDEFINED; + return MONEY32_UNDEFINED; } static money32 shop_item_get_common_price(rct_ride *forRide, sint32 shopItem) { - rct_ride_entry *rideEntry; - rct_ride *ride; - sint32 i; + rct_ride_entry *rideEntry; + rct_ride *ride; + sint32 i; - FOR_ALL_RIDES(i, ride) { - if (ride != forRide) { - rideEntry = get_ride_entry(ride->subtype); - if (rideEntry == NULL) { - continue; - } - if (rideEntry->shop_item == shopItem) { - return ride->price; - } - if (rideEntry->shop_item_secondary == shopItem) { - return ride->price_secondary; - } - if (shop_item_is_photo(shopItem) && (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO)) { - return ride->price_secondary; - } - } - } + FOR_ALL_RIDES(i, ride) { + if (ride != forRide) { + rideEntry = get_ride_entry(ride->subtype); + if (rideEntry == NULL) { + continue; + } + if (rideEntry->shop_item == shopItem) { + return ride->price; + } + if (rideEntry->shop_item_secondary == shopItem) { + return ride->price_secondary; + } + if (shop_item_is_photo(shopItem) && (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO)) { + return ride->price_secondary; + } + } + } - return MONEY32_UNDEFINED; + return MONEY32_UNDEFINED; } bool shop_item_is_photo(sint32 shopItem) { - return ( - shopItem == SHOP_ITEM_PHOTO || shopItem == SHOP_ITEM_PHOTO2 || - shopItem == SHOP_ITEM_PHOTO3 || shopItem == SHOP_ITEM_PHOTO4 - ); + return ( + shopItem == SHOP_ITEM_PHOTO || shopItem == SHOP_ITEM_PHOTO2 || + shopItem == SHOP_ITEM_PHOTO3 || shopItem == SHOP_ITEM_PHOTO4 + ); } bool shop_item_has_common_price(sint32 shopItem) { - if (shopItem < 32) { - return gSamePriceThroughoutParkA & (1u << shopItem); - } else { - return gSamePriceThroughoutParkB & (1u << (shopItem - 32)); - } + if (shopItem < 32) { + return gSamePriceThroughoutParkA & (1u << shopItem); + } else { + return gSamePriceThroughoutParkB & (1u << (shopItem - 32)); + } } money32 ride_create_command(sint32 type, sint32 subType, sint32 flags, uint8 *outRideIndex, uint8 *outRideColour) { - sint32 eax = 0; - sint32 ebx = flags; - sint32 ecx = 0; - sint32 edx = type | (subType << 8); - sint32 esi = 0; - sint32 edi = 0; - sint32 ebp = 0; - money32 cost = game_do_command_p(GAME_COMMAND_CREATE_RIDE, &eax, &ebx, &ecx, &edx, &esi, &edi, &ebp); - *outRideIndex = edi & 0xFF; - *outRideColour = eax; - return cost; + sint32 eax = 0; + sint32 ebx = flags; + sint32 ecx = 0; + sint32 edx = type | (subType << 8); + sint32 esi = 0; + sint32 edi = 0; + sint32 ebp = 0; + money32 cost = game_do_command_p(GAME_COMMAND_CREATE_RIDE, &eax, &ebx, &ecx, &edx, &esi, &edi, &ebp); + *outRideIndex = edi & 0xFF; + *outRideColour = eax; + return cost; } /** @@ -5923,264 +5923,264 @@ money32 ride_create_command(sint32 type, sint32 subType, sint32 flags, uint8 *ou */ static money32 ride_create(sint32 type, sint32 subType, sint32 flags, sint32 *outRideIndex, sint32 *outRideColour) { - char rideNameBuffer[256]; - rct_ride *ride; - rct_ride_entry *rideEntry; - sint32 rideIndex, rideEntryIndex; + char rideNameBuffer[256]; + rct_ride *ride; + rct_ride_entry *rideEntry; + sint32 rideIndex, rideEntryIndex; - if (type >= RIDE_TYPE_COUNT) - { - log_warning("Invalid request for ride type %u", type); - return MONEY32_UNDEFINED; - } + if (type >= RIDE_TYPE_COUNT) + { + log_warning("Invalid request for ride type %u", type); + return MONEY32_UNDEFINED; + } - if (subType == 255) { - uint8 *availableRideEntries = get_ride_entry_indices_for_ride_type(type); - for (uint8 *rei = availableRideEntries; *rei != 255; rei++) { - rideEntry = get_ride_entry(*rei); - if ((rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) && !rideTypeShouldLoseSeparateFlag(rideEntry)) { - subType = *rei; - goto foundRideEntry; - } - } - subType = availableRideEntries[0]; - if (subType == 255) { - return MONEY32_UNDEFINED; - } - } + if (subType == 255) { + uint8 *availableRideEntries = get_ride_entry_indices_for_ride_type(type); + for (uint8 *rei = availableRideEntries; *rei != 255; rei++) { + rideEntry = get_ride_entry(*rei); + if ((rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) && !rideTypeShouldLoseSeparateFlag(rideEntry)) { + subType = *rei; + goto foundRideEntry; + } + } + subType = availableRideEntries[0]; + if (subType == 255) { + return MONEY32_UNDEFINED; + } + } foundRideEntry: - rideEntryIndex = subType; - rideIndex = ride_get_empty_slot(); - if (subType >= 128) - { - log_warning("Invalid request for ride entry %u", subType); - return MONEY32_UNDEFINED; - } - if (rideIndex == -1) { - gGameCommandErrorText = STR_TOO_MANY_RIDES; - return MONEY32_UNDEFINED; - } - *outRideIndex = rideIndex; + rideEntryIndex = subType; + rideIndex = ride_get_empty_slot(); + if (subType >= 128) + { + log_warning("Invalid request for ride entry %u", subType); + return MONEY32_UNDEFINED; + } + if (rideIndex == -1) { + gGameCommandErrorText = STR_TOO_MANY_RIDES; + return MONEY32_UNDEFINED; + } + *outRideIndex = rideIndex; - // Ride/vehicle colour is calculated before applying to ensure - // correct colour is passed over the network. - if (!(flags & GAME_COMMAND_FLAG_APPLY) && !(flags & GAME_COMMAND_FLAG_NETWORKED)) { - *outRideColour = - ride_get_random_colour_preset_index(type) | - (ride_get_unused_preset_vehicle_colour(type, subType) << 8); - } + // Ride/vehicle colour is calculated before applying to ensure + // correct colour is passed over the network. + if (!(flags & GAME_COMMAND_FLAG_APPLY) && !(flags & GAME_COMMAND_FLAG_NETWORKED)) { + *outRideColour = + ride_get_random_colour_preset_index(type) | + (ride_get_unused_preset_vehicle_colour(type, subType) << 8); + } - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; - gCommandPosition.x = 0x8000; - return 0; - } + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; + gCommandPosition.x = 0x8000; + return 0; + } - ride = get_ride(rideIndex); - rideEntry = get_ride_entry(rideEntryIndex); - if (rideEntry == (rct_ride_entry *)-1) - { - log_warning("Invalid request for ride %u", rideIndex); - return MONEY32_UNDEFINED; - } - ride->type = type; - ride->subtype = rideEntryIndex; - ride_set_colour_preset(ride, *outRideColour & 0xFF); - ride->overall_view = 0xFFFF; + ride = get_ride(rideIndex); + rideEntry = get_ride_entry(rideEntryIndex); + if (rideEntry == (rct_ride_entry *)-1) + { + log_warning("Invalid request for ride %u", rideIndex); + return MONEY32_UNDEFINED; + } + ride->type = type; + ride->subtype = rideEntryIndex; + ride_set_colour_preset(ride, *outRideColour & 0xFF); + ride->overall_view = 0xFFFF; #pragma pack(push, 1) - struct { - uint16 type_name; - uint16 number; - } name_args; - assert_struct_size(name_args, 4); + struct { + uint16 type_name; + uint16 number; + } name_args; + assert_struct_size(name_args, 4); #pragma pack(pop) - // Ride name - if (rideEntryIndex == 255) { - useDefaultName: - ride->name = STR_NONE; - name_args.type_name = 2 + ride->type; - name_args.number = 0; - do { - name_args.number++; - format_string(rideNameBuffer, 256, 1, &name_args); - } while (ride_name_exists(rideNameBuffer)); - ride->name = 1; - ride->name_arguments_type_name = name_args.type_name; - ride->name_arguments_number = name_args.number; - } else { - if (!(rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) || rideTypeShouldLoseSeparateFlag(rideEntry)) { - goto useDefaultName; - } - ride->name = 1; - ride->name_arguments_type_name = rideEntry->name; - rct_string_id rideNameStringId = 0; - name_args.type_name = rideEntry->name; - name_args.number = 0; + // Ride name + if (rideEntryIndex == 255) { + useDefaultName: + ride->name = STR_NONE; + name_args.type_name = 2 + ride->type; + name_args.number = 0; + do { + name_args.number++; + format_string(rideNameBuffer, 256, 1, &name_args); + } while (ride_name_exists(rideNameBuffer)); + ride->name = 1; + ride->name_arguments_type_name = name_args.type_name; + ride->name_arguments_number = name_args.number; + } else { + if (!(rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) || rideTypeShouldLoseSeparateFlag(rideEntry)) { + goto useDefaultName; + } + ride->name = 1; + ride->name_arguments_type_name = rideEntry->name; + rct_string_id rideNameStringId = 0; + name_args.type_name = rideEntry->name; + name_args.number = 0; - do { - name_args.number++; - format_string(rideNameBuffer, 256, ride->name, &name_args); - } while (ride_name_exists(rideNameBuffer)); + do { + name_args.number++; + format_string(rideNameBuffer, 256, ride->name, &name_args); + } while (ride_name_exists(rideNameBuffer)); - ride->name_arguments_type_name = name_args.type_name; - ride->name_arguments_number = name_args.number; - - rideNameStringId = user_string_allocate(USER_STRING_HIGH_ID_NUMBER | USER_STRING_DUPLICATION_PERMITTED, rideNameBuffer); - if (rideNameStringId != 0) { - ride->name = rideNameStringId; - } else { - goto useDefaultName; - } - } + ride->name_arguments_type_name = name_args.type_name; + ride->name_arguments_number = name_args.number; - for (size_t i = 0; i < 4; i++) { - ride->station_starts[i] = 0xFFFF; - ride->entrances[i] = 0xFFFF; - ride->exits[i] = 0xFFFF; - ride->train_at_station[i] = 255; - ride->queue_time[i] = 0; - } + rideNameStringId = user_string_allocate(USER_STRING_HIGH_ID_NUMBER | USER_STRING_DUPLICATION_PERMITTED, rideNameBuffer); + if (rideNameStringId != 0) { + ride->name = rideNameStringId; + } else { + goto useDefaultName; + } + } - for (size_t i = 0; i < 32; i++) { - ride->vehicles[i] = SPRITE_INDEX_NULL; - } + for (size_t i = 0; i < 4; i++) { + ride->station_starts[i] = 0xFFFF; + ride->entrances[i] = 0xFFFF; + ride->exits[i] = 0xFFFF; + ride->train_at_station[i] = 255; + ride->queue_time[i] = 0; + } - ride->status = RIDE_STATUS_CLOSED; - ride->lifecycle_flags = 0; - ride->vehicle_change_timeout = 0; - ride->num_stations = 0; - ride->num_vehicles = 1; - ride->proposed_num_vehicles = 32; - ride->max_trains = 32; - ride->num_cars_per_train = 1; - ride->proposed_num_cars_per_train = 12; - ride->min_waiting_time = 10; - ride->max_waiting_time = 60; - ride->depart_flags = RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH | 3; - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC; - } - ride->music = RideData4[ride->type].default_music; + for (size_t i = 0; i < 32; i++) { + ride->vehicles[i] = SPRITE_INDEX_NULL; + } - const rct_ride_properties rideProperties = RideProperties[ride->type]; - ride->operation_option = (rideProperties.min_value * 3 + rideProperties.max_value) / 4; + ride->status = RIDE_STATUS_CLOSED; + ride->lifecycle_flags = 0; + ride->vehicle_change_timeout = 0; + ride->num_stations = 0; + ride->num_vehicles = 1; + ride->proposed_num_vehicles = 32; + ride->max_trains = 32; + ride->num_cars_per_train = 1; + ride->proposed_num_cars_per_train = 12; + ride->min_waiting_time = 10; + ride->max_waiting_time = 60; + ride->depart_flags = RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH | 3; + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT) { + ride->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC; + } + ride->music = RideData4[ride->type].default_music; - ride->lift_hill_speed = RideLiftData[ride->type].minimum_speed; + const rct_ride_properties rideProperties = RideProperties[ride->type]; + ride->operation_option = (rideProperties.min_value * 3 + rideProperties.max_value) / 4; - ride->measurement_index = 255; - ride->excitement = (ride_rating)-1; - ride->cur_num_customers = 0; - ride->num_customers_timeout = 0; - ride->chairlift_bullwheel_rotation = 0; + ride->lift_hill_speed = RideLiftData[ride->type].minimum_speed; - ride->price = 0; - ride->price_secondary = 0; - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { - ride->price = RideData4[ride->type].price; - ride->price_secondary = RideData4[ride->type].price_secondary; + ride->measurement_index = 255; + ride->excitement = (ride_rating)-1; + ride->cur_num_customers = 0; + ride->num_customers_timeout = 0; + ride->chairlift_bullwheel_rotation = 0; - if (rideEntry->shop_item == SHOP_ITEM_NONE) { - if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) && !gCheatsUnlockAllPrices) { - ride->price = 0; - } - } else { - ride->price = DefaultShopItemPrice[rideEntry->shop_item]; - } - if (rideEntry->shop_item_secondary != SHOP_ITEM_NONE) { - ride->price_secondary = DefaultShopItemPrice[rideEntry->shop_item_secondary]; - } + ride->price = 0; + ride->price_secondary = 0; + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { + ride->price = RideData4[ride->type].price; + ride->price_secondary = RideData4[ride->type].price_secondary; - if (gScenarioObjectiveType == OBJECTIVE_BUILD_THE_BEST) { - ride->price = 0; - } + if (rideEntry->shop_item == SHOP_ITEM_NONE) { + if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) && !gCheatsUnlockAllPrices) { + ride->price = 0; + } + } else { + ride->price = DefaultShopItemPrice[rideEntry->shop_item]; + } + if (rideEntry->shop_item_secondary != SHOP_ITEM_NONE) { + ride->price_secondary = DefaultShopItemPrice[rideEntry->shop_item_secondary]; + } - if (ride->type == RIDE_TYPE_TOILETS) { - if (shop_item_has_common_price(SHOP_ITEM_ADMISSION)) { - money32 price = ride_get_common_price(ride); - if (price != MONEY32_UNDEFINED) { - ride->price = (money16)price; - } - } - } + if (gScenarioObjectiveType == OBJECTIVE_BUILD_THE_BEST) { + ride->price = 0; + } - if (rideEntry->shop_item != SHOP_ITEM_NONE) { - if (shop_item_has_common_price(rideEntry->shop_item)) { - money32 price = shop_item_get_common_price(ride, rideEntry->shop_item); - if (price != MONEY32_UNDEFINED) { - ride->price = (money16)price; - } - } - } + if (ride->type == RIDE_TYPE_TOILETS) { + if (shop_item_has_common_price(SHOP_ITEM_ADMISSION)) { + money32 price = ride_get_common_price(ride); + if (price != MONEY32_UNDEFINED) { + ride->price = (money16)price; + } + } + } - if (rideEntry->shop_item_secondary != SHOP_ITEM_NONE) { - if (shop_item_has_common_price(rideEntry->shop_item_secondary)) { - money32 price = shop_item_get_common_price(ride, rideEntry->shop_item_secondary); - if (price != MONEY32_UNDEFINED) { - ride->price_secondary = (money16)price; - } - } - } + if (rideEntry->shop_item != SHOP_ITEM_NONE) { + if (shop_item_has_common_price(rideEntry->shop_item)) { + money32 price = shop_item_get_common_price(ride, rideEntry->shop_item); + if (price != MONEY32_UNDEFINED) { + ride->price = (money16)price; + } + } + } - // Set the on-ride photo price, whether the ride has one or not (except shops). - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP) && shop_item_has_common_price(SHOP_ITEM_PHOTO)) { - money32 price = shop_item_get_common_price(ride, SHOP_ITEM_PHOTO); - if (price != MONEY32_UNDEFINED) { - ride->price_secondary = (money16)price; - } - } - } + if (rideEntry->shop_item_secondary != SHOP_ITEM_NONE) { + if (shop_item_has_common_price(rideEntry->shop_item_secondary)) { + money32 price = shop_item_get_common_price(ride, rideEntry->shop_item_secondary); + if (price != MONEY32_UNDEFINED) { + ride->price_secondary = (money16)price; + } + } + } - memset(ride->num_customers, 0, sizeof(ride->num_customers)); - ride->value = 0xFFFF; - ride->satisfaction = 255; - ride->satisfaction_time_out = 0; - ride->satisfaction_next = 0; - ride->popularity = 255; - ride->popularity_time_out = 0; - ride->popularity_next = 0; - ride->window_invalidate_flags = 0; - ride->total_customers = 0; - ride->total_profit = 0; - ride->num_riders = 0; - ride->slide_in_use = 0; - ride->maze_tiles = 0; - ride->build_date = gDateMonthsElapsed; - ride->music_tune_id = 255; + // Set the on-ride photo price, whether the ride has one or not (except shops). + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP) && shop_item_has_common_price(SHOP_ITEM_PHOTO)) { + money32 price = shop_item_get_common_price(ride, SHOP_ITEM_PHOTO); + if (price != MONEY32_UNDEFINED) { + ride->price_secondary = (money16)price; + } + } + } - ride->breakdown_reason = 255; - ride->upkeep_cost = (money16)-1; - ride->reliability = 0x64FF; - ride->unreliability_factor = 1; - ride->inspection_interval = RIDE_INSPECTION_EVERY_30_MINUTES; - ride->last_inspection = 0; - ride->downtime = 0; - memset(ride->downtime_history, 0, sizeof(ride->downtime_history)); - ride->no_primary_items_sold = 0; - ride->no_secondary_items_sold = 0; - ride->last_crash_type = RIDE_CRASH_TYPE_NONE; - ride->income_per_hour = MONEY32_UNDEFINED; - ride->profit = MONEY32_UNDEFINED; - ride->connected_message_throttle = 0; - ride->entrance_style = RIDE_ENTRANCE_STYLE_PLAIN; - ride->num_block_brakes = 0; - ride->guests_favourite = 0; + memset(ride->num_customers, 0, sizeof(ride->num_customers)); + ride->value = 0xFFFF; + ride->satisfaction = 255; + ride->satisfaction_time_out = 0; + ride->satisfaction_next = 0; + ride->popularity = 255; + ride->popularity_time_out = 0; + ride->popularity_next = 0; + ride->window_invalidate_flags = 0; + ride->total_customers = 0; + ride->total_profit = 0; + ride->num_riders = 0; + ride->slide_in_use = 0; + ride->maze_tiles = 0; + ride->build_date = gDateMonthsElapsed; + ride->music_tune_id = 255; - ride->num_circuits = 1; - ride->mode = ride_get_default_mode(ride); - ride->min_max_cars_per_train = (rideEntry->min_cars_in_train << 4) | rideEntry->max_cars_in_train; - ride_set_vehicle_colours_to_random_preset(ride, 0xFF & (*outRideColour >> 8)); - window_invalidate_by_class(WC_RIDE_LIST); + ride->breakdown_reason = 255; + ride->upkeep_cost = (money16)-1; + ride->reliability = 0x64FF; + ride->unreliability_factor = 1; + ride->inspection_interval = RIDE_INSPECTION_EVERY_30_MINUTES; + ride->last_inspection = 0; + ride->downtime = 0; + memset(ride->downtime_history, 0, sizeof(ride->downtime_history)); + ride->no_primary_items_sold = 0; + ride->no_secondary_items_sold = 0; + ride->last_crash_type = RIDE_CRASH_TYPE_NONE; + ride->income_per_hour = MONEY32_UNDEFINED; + ride->profit = MONEY32_UNDEFINED; + ride->connected_message_throttle = 0; + ride->entrance_style = RIDE_ENTRANCE_STYLE_PLAIN; + ride->num_block_brakes = 0; + ride->guests_favourite = 0; - // Log ride creation - int ebp = 1; - game_log_multiplayer_command(GAME_COMMAND_CREATE_RIDE, 0, 0, 0, &rideIndex, 0, &ebp); + ride->num_circuits = 1; + ride->mode = ride_get_default_mode(ride); + ride->min_max_cars_per_train = (rideEntry->min_cars_in_train << 4) | rideEntry->max_cars_in_train; + ride_set_vehicle_colours_to_random_preset(ride, 0xFF & (*outRideColour >> 8)); + window_invalidate_by_class(WC_RIDE_LIST); - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; - gCommandPosition.x = 0x8000; - return 0; + // Log ride creation + int ebp = 1; + game_log_multiplayer_command(GAME_COMMAND_CREATE_RIDE, 0, 0, 0, &rideIndex, 0, &ebp); + + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; + gCommandPosition.x = 0x8000; + return 0; } /** @@ -6189,14 +6189,14 @@ foundRideEntry: */ void game_command_create_ride(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - *ebx = ride_create(*edx & 0xFF, (*edx >> 8) & 0xFF, *ebx, edi, eax); + *ebx = ride_create(*edx & 0xFF, (*edx >> 8) & 0xFF, *ebx, edi, eax); } void game_command_callback_ride_construct_new(sint32 eax, sint32 ebx, sint32 ecx, sint32 edx, sint32 esi, sint32 edi, sint32 ebp) { - sint32 rideIndex = edi; - if (rideIndex != -1) - ride_construct(rideIndex); + sint32 rideIndex = edi; + if (rideIndex != -1) + ride_construct(rideIndex); } /** @@ -6209,69 +6209,69 @@ void game_command_callback_ride_construct_new(sint32 eax, sint32 ebx, sint32 ecx void game_command_callback_ride_construct_placed_back(sint32 eax, sint32 ebx, sint32 ecx, sint32 edx, sint32 esi, sint32 edi, sint32 ebp) { - sint32 trackDirection, x, y, z; - track_begin_end trackBeginEnd; + sint32 trackDirection, x, y, z; + track_begin_end trackBeginEnd; - trackDirection = _currentTrackPieceDirection ^ 2; - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - if (!(trackDirection & 4)) { - x += TileDirectionDelta[trackDirection].x; - y += TileDirectionDelta[trackDirection].y; - } + trackDirection = _currentTrackPieceDirection ^ 2; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + if (!(trackDirection & 4)) { + x += TileDirectionDelta[trackDirection].x; + y += TileDirectionDelta[trackDirection].y; + } - if (track_block_get_previous_from_zero(x, y, z, _currentRideIndex, trackDirection, &trackBeginEnd)) { - _currentTrackBeginX = trackBeginEnd.begin_x; - _currentTrackBeginY = trackBeginEnd.begin_y; - _currentTrackBeginZ = trackBeginEnd.begin_z; - _currentTrackPieceDirection = trackBeginEnd.begin_direction; - _currentTrackPieceType = trackBeginEnd.begin_element->properties.track.type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; - ride_select_previous_section(); - } - else { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; - } + if (track_block_get_previous_from_zero(x, y, z, _currentRideIndex, trackDirection, &trackBeginEnd)) { + _currentTrackBeginX = trackBeginEnd.begin_x; + _currentTrackBeginY = trackBeginEnd.begin_y; + _currentTrackBeginZ = trackBeginEnd.begin_z; + _currentTrackPieceDirection = trackBeginEnd.begin_direction; + _currentTrackPieceType = trackBeginEnd.begin_element->properties.track.type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; + ride_select_previous_section(); + } + else { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; + } - window_ride_construction_do_station_check(); - window_ride_construction_update_active_elements(); + window_ride_construction_do_station_check(); + window_ride_construction_update_active_elements(); } void game_command_callback_ride_construct_placed_front(sint32 eax, sint32 ebx, sint32 ecx, sint32 edx, sint32 esi, sint32 edi, sint32 ebp) { - sint32 trackDirection, x, y, z; + sint32 trackDirection, x, y, z; - trackDirection = _currentTrackPieceDirection; - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - if (!(trackDirection & 4)) { - x -= TileDirectionDelta[trackDirection].x; - y -= TileDirectionDelta[trackDirection].y; - } + trackDirection = _currentTrackPieceDirection; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + if (!(trackDirection & 4)) { + x -= TileDirectionDelta[trackDirection].x; + y -= TileDirectionDelta[trackDirection].y; + } - rct_xy_element next_track; - if (track_block_get_next_from_zero(x, y, z, _currentRideIndex, trackDirection, &next_track, &z, &trackDirection)) { - _currentTrackBeginX = next_track.x; - _currentTrackBeginY = next_track.y; - _currentTrackBeginZ = z; - _currentTrackPieceDirection = next_track.element->type & MAP_ELEMENT_DIRECTION_MASK; - _currentTrackPieceType = next_track.element->properties.track.type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; - ride_select_next_section(); - } - else { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; - } + rct_xy_element next_track; + if (track_block_get_next_from_zero(x, y, z, _currentRideIndex, trackDirection, &next_track, &z, &trackDirection)) { + _currentTrackBeginX = next_track.x; + _currentTrackBeginY = next_track.y; + _currentTrackBeginZ = z; + _currentTrackPieceDirection = next_track.element->type & MAP_ELEMENT_DIRECTION_MASK; + _currentTrackPieceType = next_track.element->properties.track.type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; + ride_select_next_section(); + } + else { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; + } - window_ride_construction_do_station_check(); - window_ride_construction_do_entrance_exit_check(); - window_ride_construction_update_active_elements(); + window_ride_construction_do_station_check(); + window_ride_construction_do_entrance_exit_check(); + window_ride_construction_update_active_elements(); } /** @@ -6284,15 +6284,15 @@ void game_command_callback_ride_construct_placed_front(sint32 eax, sint32 ebx, s void game_command_callback_ride_remove_track_piece(sint32 eax, sint32 ebx, sint32 ecx, sint32 edx, sint32 esi, sint32 edi, sint32 ebp) { - sint32 x, y, z, direction, type; + sint32 x, y, z, direction, type; - x = gRideRemoveTrackPieceCallbackX; - y = gRideRemoveTrackPieceCallbackY; - z = gRideRemoveTrackPieceCallbackZ; - direction = gRideRemoveTrackPieceCallbackDirection; - type = gRideRemoveTrackPieceCallbackType; + x = gRideRemoveTrackPieceCallbackX; + y = gRideRemoveTrackPieceCallbackY; + z = gRideRemoveTrackPieceCallbackZ; + direction = gRideRemoveTrackPieceCallbackDirection; + type = gRideRemoveTrackPieceCallbackType; - window_ride_construction_mouseup_demolish_next_piece(x, y, z, direction, type); + window_ride_construction_mouseup_demolish_next_piece(x, y, z, direction, type); } /** @@ -6301,140 +6301,140 @@ void game_command_callback_ride_remove_track_piece(sint32 eax, sint32 ebx, sint3 */ void game_command_demolish_ride(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - uint8 ride_id = *(uint8*)edx; - if (ride_id >= MAX_RIDES) - { - log_warning("Invalid game command for ride %u", ride_id); - *ebx = MONEY32_UNDEFINED; - return; - } + uint8 ride_id = *(uint8*)edx; + if (ride_id >= MAX_RIDES) + { + log_warning("Invalid game command for ride %u", ride_id); + *ebx = MONEY32_UNDEFINED; + return; + } - gCommandPosition.x = 0; - gCommandPosition.y = 0; - gCommandPosition.z = 0; - rct_ride *ride = get_ride(ride_id); - if (ride->type == RIDE_TYPE_NULL) - { - log_warning("Invalid game command for ride %u", ride_id); - *ebx = MONEY32_UNDEFINED; - return; - } - sint32 x = 0, y = 0, z = 0; - if(ride->overall_view != (uint16)-1){ - x = ((ride->overall_view & 0xFF) * 32) + 16; - y = ((ride->overall_view >> 8) * 32) + 16; - z = map_element_height(x, y); - gCommandPosition.x = x; - gCommandPosition.y = y; - gCommandPosition.z = z; - } - if(!(*ebx & 0x40) && game_is_paused() && !gCheatsBuildInPauseMode){ - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - *ebx = MONEY32_UNDEFINED; - return; - }else{ - if(*ebx & GAME_COMMAND_FLAG_APPLY){ - if (ride->overall_view != (uint16)-1) { - rct_xyz16 coord; - coord.x = (ride->overall_view & 0xFF) * 32 + 16; - coord.y = (ride->overall_view >> 8) * 32 + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + gCommandPosition.x = 0; + gCommandPosition.y = 0; + gCommandPosition.z = 0; + rct_ride *ride = get_ride(ride_id); + if (ride->type == RIDE_TYPE_NULL) + { + log_warning("Invalid game command for ride %u", ride_id); + *ebx = MONEY32_UNDEFINED; + return; + } + sint32 x = 0, y = 0, z = 0; + if(ride->overall_view != (uint16)-1){ + x = ((ride->overall_view & 0xFF) * 32) + 16; + y = ((ride->overall_view >> 8) * 32) + 16; + z = map_element_height(x, y); + gCommandPosition.x = x; + gCommandPosition.y = y; + gCommandPosition.z = z; + } + if(!(*ebx & 0x40) && game_is_paused() && !gCheatsBuildInPauseMode){ + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + *ebx = MONEY32_UNDEFINED; + return; + }else{ + if(*ebx & GAME_COMMAND_FLAG_APPLY){ + if (ride->overall_view != (uint16)-1) { + rct_xyz16 coord; + coord.x = (ride->overall_view & 0xFF) * 32 + 16; + coord.y = (ride->overall_view >> 8) * 32 + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - if(!(*ebx & 8)){ - window_close_by_number(WC_RIDE_CONSTRUCTION, ride_id); - } - window_close_by_number(WC_RIDE, ride_id); - window_close_by_number(WC_DEMOLISH_RIDE_PROMPT, ride_id); - window_close_by_class(WC_NEW_CAMPAIGN); - ride_clear_for_construction(ride_id); - ride_remove_peeps(ride_id); - ride_stop_peeps_queuing(ride_id); - *ebx = ride_get_refund_price(ride_id); + if(!(*ebx & 8)){ + window_close_by_number(WC_RIDE_CONSTRUCTION, ride_id); + } + window_close_by_number(WC_RIDE, ride_id); + window_close_by_number(WC_DEMOLISH_RIDE_PROMPT, ride_id); + window_close_by_class(WC_NEW_CAMPAIGN); + ride_clear_for_construction(ride_id); + ride_remove_peeps(ride_id); + ride_stop_peeps_queuing(ride_id); + *ebx = ride_get_refund_price(ride_id); - sub_6CB945(ride_id); - news_item_disable_news(NEWS_ITEM_RIDE, ride_id); + sub_6CB945(ride_id); + news_item_disable_news(NEWS_ITEM_RIDE, ride_id); - for(sint32 i = 0; i < MAX_BANNERS; i++){ - rct_banner *banner = &gBanners[i]; - if(banner->type != BANNER_NULL && banner->flags & BANNER_FLAG_LINKED_TO_RIDE && banner->colour == ride_id){ - banner->flags &= 0xFB; - banner->string_idx = STR_DEFAULT_SIGN; - } - } + for(sint32 i = 0; i < MAX_BANNERS; i++){ + rct_banner *banner = &gBanners[i]; + if(banner->type != BANNER_NULL && banner->flags & BANNER_FLAG_LINKED_TO_RIDE && banner->colour == ride_id){ + banner->flags &= 0xFB; + banner->string_idx = STR_DEFAULT_SIGN; + } + } - uint16 spriteIndex; - rct_peep *peep; - FOR_ALL_GUESTS(spriteIndex, peep){ - uint8 ride_id_bit = ride_id % 8; - uint8 ride_id_offset = ride_id / 8; - peep->rides_been_on[ride_id_offset] &= ~(1 << ride_id_bit); // clear ride from potentially being in rides_been_on - if(peep->state == PEEP_STATE_WATCHING){ - if(peep->current_ride == ride_id){ - peep->current_ride = MAX_RIDES; - if(peep->time_to_stand >= 50){ // make peep stop watching the ride - peep->time_to_stand = 50; - } - } - } - // remove any free voucher for this ride from peep - if(peep->item_standard_flags & PEEP_ITEM_VOUCHER){ - if(peep->voucher_type == VOUCHER_TYPE_RIDE_FREE && peep->voucher_arguments == ride_id){ - peep->item_standard_flags &= ~(PEEP_ITEM_VOUCHER); - } - } - // remove any photos of this ride from peep - if(peep->item_standard_flags & PEEP_ITEM_PHOTO){ - if(peep->photo1_ride_ref == ride_id){ - peep->item_standard_flags &= ~PEEP_ITEM_PHOTO; - } - } - if(peep->item_extra_flags & PEEP_ITEM_PHOTO2){ - if(peep->photo2_ride_ref == ride_id){ - peep->item_extra_flags &= ~PEEP_ITEM_PHOTO2; - } - } - if(peep->item_extra_flags & PEEP_ITEM_PHOTO3){ - if(peep->photo3_ride_ref == ride_id){ - peep->item_extra_flags &= ~PEEP_ITEM_PHOTO3; - } - } - if(peep->item_extra_flags & PEEP_ITEM_PHOTO4){ - if(peep->photo4_ride_ref == ride_id){ - peep->item_extra_flags &= ~PEEP_ITEM_PHOTO4; - } - } - if(peep->guest_heading_to_ride_id == ride_id){ - peep->guest_heading_to_ride_id = MAX_RIDES; - } - if(peep->favourite_ride == ride_id){ - peep->favourite_ride = MAX_RIDES; - } - for (sint32 i = 0; i < PEEP_MAX_THOUGHTS; i++) { - if(peep->thoughts[i].item == ride_id){ - // Clear top thought, push others up - memmove(&peep->thoughts[i], &peep->thoughts[i + 1], sizeof(rct_peep_thought)*(PEEP_MAX_THOUGHTS - i - 1)); - peep->thoughts[PEEP_MAX_THOUGHTS - 1].type = PEEP_THOUGHT_TYPE_NONE; - } - } - } + uint16 spriteIndex; + rct_peep *peep; + FOR_ALL_GUESTS(spriteIndex, peep){ + uint8 ride_id_bit = ride_id % 8; + uint8 ride_id_offset = ride_id / 8; + peep->rides_been_on[ride_id_offset] &= ~(1 << ride_id_bit); // clear ride from potentially being in rides_been_on + if(peep->state == PEEP_STATE_WATCHING){ + if(peep->current_ride == ride_id){ + peep->current_ride = MAX_RIDES; + if(peep->time_to_stand >= 50){ // make peep stop watching the ride + peep->time_to_stand = 50; + } + } + } + // remove any free voucher for this ride from peep + if(peep->item_standard_flags & PEEP_ITEM_VOUCHER){ + if(peep->voucher_type == VOUCHER_TYPE_RIDE_FREE && peep->voucher_arguments == ride_id){ + peep->item_standard_flags &= ~(PEEP_ITEM_VOUCHER); + } + } + // remove any photos of this ride from peep + if(peep->item_standard_flags & PEEP_ITEM_PHOTO){ + if(peep->photo1_ride_ref == ride_id){ + peep->item_standard_flags &= ~PEEP_ITEM_PHOTO; + } + } + if(peep->item_extra_flags & PEEP_ITEM_PHOTO2){ + if(peep->photo2_ride_ref == ride_id){ + peep->item_extra_flags &= ~PEEP_ITEM_PHOTO2; + } + } + if(peep->item_extra_flags & PEEP_ITEM_PHOTO3){ + if(peep->photo3_ride_ref == ride_id){ + peep->item_extra_flags &= ~PEEP_ITEM_PHOTO3; + } + } + if(peep->item_extra_flags & PEEP_ITEM_PHOTO4){ + if(peep->photo4_ride_ref == ride_id){ + peep->item_extra_flags &= ~PEEP_ITEM_PHOTO4; + } + } + if(peep->guest_heading_to_ride_id == ride_id){ + peep->guest_heading_to_ride_id = MAX_RIDES; + } + if(peep->favourite_ride == ride_id){ + peep->favourite_ride = MAX_RIDES; + } + for (sint32 i = 0; i < PEEP_MAX_THOUGHTS; i++) { + if(peep->thoughts[i].item == ride_id){ + // Clear top thought, push others up + memmove(&peep->thoughts[i], &peep->thoughts[i + 1], sizeof(rct_peep_thought)*(PEEP_MAX_THOUGHTS - i - 1)); + peep->thoughts[PEEP_MAX_THOUGHTS - 1].type = PEEP_THOUGHT_TYPE_NONE; + } + } + } - user_string_free(ride->name); - ride->type = RIDE_TYPE_NULL; - window_invalidate_by_class(WC_RIDE_LIST); - gParkValue = calculate_park_value(); - gCommandPosition.x = x; - gCommandPosition.y = y; - gCommandPosition.z = z; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; - return; - }else{ - *ebx = 0; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; - return; - } - } + user_string_free(ride->name); + ride->type = RIDE_TYPE_NULL; + window_invalidate_by_class(WC_RIDE_LIST); + gParkValue = calculate_park_value(); + gCommandPosition.x = x; + gCommandPosition.y = y; + gCommandPosition.z = z; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; + return; + }else{ + *ebx = 0; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; + return; + } + } } /** @@ -6443,131 +6443,131 @@ void game_command_demolish_ride(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *e */ void game_command_set_ride_appearance(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - bool apply = (*ebx & GAME_COMMAND_FLAG_APPLY); + bool apply = (*ebx & GAME_COMMAND_FLAG_APPLY); - uint8 ride_id = *edx; - if (ride_id >= MAX_RIDES) - { - log_warning("Invalid game command for ride %u", ride_id); - *ebx = MONEY32_UNDEFINED; - return; - } - uint8 type = *ebx >> 8; - uint8 value = *edx >> 8; - sint32 index = *edi; + uint8 ride_id = *edx; + if (ride_id >= MAX_RIDES) + { + log_warning("Invalid game command for ride %u", ride_id); + *ebx = MONEY32_UNDEFINED; + return; + } + uint8 type = *ebx >> 8; + uint8 value = *edx >> 8; + sint32 index = *edi; - if (index < 0) { - log_warning("Invalid game command, index %d out of bounds", index); - *ebx = MONEY32_UNDEFINED; - return; - } + if (index < 0) { + log_warning("Invalid game command, index %d out of bounds", index); + *ebx = MONEY32_UNDEFINED; + return; + } - rct_ride *ride = get_ride(ride_id); - if (ride->type == RIDE_TYPE_NULL) { - log_warning("Invalid game command, ride_id = %u", ride_id); - *ebx = MONEY32_UNDEFINED; - return; - } + rct_ride *ride = get_ride(ride_id); + if (ride->type == RIDE_TYPE_NULL) { + log_warning("Invalid game command, ride_id = %u", ride_id); + *ebx = MONEY32_UNDEFINED; + return; + } - if (apply && gGameCommandNestLevel == 1) { - if (ride->overall_view != (uint16)-1) { - rct_xyz16 coord; - coord.x = (ride->overall_view & 0xFF) * 32 + 16; - coord.y = (ride->overall_view >> 8) * 32 + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } - } + if (apply && gGameCommandNestLevel == 1) { + if (ride->overall_view != (uint16)-1) { + rct_xyz16 coord; + coord.x = (ride->overall_view & 0xFF) * 32 + 16; + coord.y = (ride->overall_view >> 8) * 32 + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } + } - *ebx = 0; - switch(type) { - case 0: - if (index >= countof(ride->track_colour_main)) { - log_warning("Invalid game command, index %d out of bounds", index); - *ebx = MONEY32_UNDEFINED; - return; - } - if (apply) { - ride->track_colour_main[index] = value; - gfx_invalidate_screen(); - } - break; - case 1: - if (index >= countof(ride->track_colour_additional)) { - log_warning("Invalid game command, index %d out of bounds", index); - *ebx = MONEY32_UNDEFINED; - return; - } - if (apply) { - ride->track_colour_additional[index] = value; - gfx_invalidate_screen(); - } - break; - case 2: - if (index >= countof(ride->vehicle_colours)) { - log_warning("Invalid game command, index %d out of bounds", index); - *ebx = MONEY32_UNDEFINED; - return; - } - if (apply) { - *((uint8*)(&ride->vehicle_colours[index])) = value; - ride_update_vehicle_colours(ride_id); - } - break; - case 3: - if (index >= countof(ride->vehicle_colours)) { - log_warning("Invalid game command, index %d out of bounds", index); - *ebx = MONEY32_UNDEFINED; - return; - } - if (apply) { - *((uint8*)(&ride->vehicle_colours[index]) + 1) = value; - ride_update_vehicle_colours(ride_id); - } - break; - case 4: - if (index >= countof(ride->track_colour_supports)) { - log_warning("Invalid game command, index %d out of bounds", index); - *ebx = MONEY32_UNDEFINED; - return; - } - if (apply) { - ride->track_colour_supports[index] = value; - gfx_invalidate_screen(); - } - break; - case 5: - if (apply) { - ride->colour_scheme_type &= ~(RIDE_COLOUR_SCHEME_DIFFERENT_PER_TRAIN | RIDE_COLOUR_SCHEME_DIFFERENT_PER_CAR); - ride->colour_scheme_type |= value; - for (sint32 i = 1; i < countof(ride->vehicle_colours); i++) { - ride->vehicle_colours[i] = ride->vehicle_colours[0]; - ride->vehicle_colours_extended[i] = ride->vehicle_colours_extended[0]; - } - ride_update_vehicle_colours(ride_id); - } - break; - case 6: - if (apply) { - ride->entrance_style = value; - gLastEntranceStyle = value; - gfx_invalidate_screen(); - } - break; - case 7: - if (index >= countof(ride->vehicle_colours_extended)) { - log_warning("Invalid game command, index %d out of bounds", index); - *ebx = MONEY32_UNDEFINED; - return; - } else { - if (apply) { - ride->vehicle_colours_extended[index] = value; - ride_update_vehicle_colours(ride_id); - } - } - break; - } - window_invalidate_by_number(WC_RIDE, ride_id); + *ebx = 0; + switch(type) { + case 0: + if (index >= countof(ride->track_colour_main)) { + log_warning("Invalid game command, index %d out of bounds", index); + *ebx = MONEY32_UNDEFINED; + return; + } + if (apply) { + ride->track_colour_main[index] = value; + gfx_invalidate_screen(); + } + break; + case 1: + if (index >= countof(ride->track_colour_additional)) { + log_warning("Invalid game command, index %d out of bounds", index); + *ebx = MONEY32_UNDEFINED; + return; + } + if (apply) { + ride->track_colour_additional[index] = value; + gfx_invalidate_screen(); + } + break; + case 2: + if (index >= countof(ride->vehicle_colours)) { + log_warning("Invalid game command, index %d out of bounds", index); + *ebx = MONEY32_UNDEFINED; + return; + } + if (apply) { + *((uint8*)(&ride->vehicle_colours[index])) = value; + ride_update_vehicle_colours(ride_id); + } + break; + case 3: + if (index >= countof(ride->vehicle_colours)) { + log_warning("Invalid game command, index %d out of bounds", index); + *ebx = MONEY32_UNDEFINED; + return; + } + if (apply) { + *((uint8*)(&ride->vehicle_colours[index]) + 1) = value; + ride_update_vehicle_colours(ride_id); + } + break; + case 4: + if (index >= countof(ride->track_colour_supports)) { + log_warning("Invalid game command, index %d out of bounds", index); + *ebx = MONEY32_UNDEFINED; + return; + } + if (apply) { + ride->track_colour_supports[index] = value; + gfx_invalidate_screen(); + } + break; + case 5: + if (apply) { + ride->colour_scheme_type &= ~(RIDE_COLOUR_SCHEME_DIFFERENT_PER_TRAIN | RIDE_COLOUR_SCHEME_DIFFERENT_PER_CAR); + ride->colour_scheme_type |= value; + for (sint32 i = 1; i < countof(ride->vehicle_colours); i++) { + ride->vehicle_colours[i] = ride->vehicle_colours[0]; + ride->vehicle_colours_extended[i] = ride->vehicle_colours_extended[0]; + } + ride_update_vehicle_colours(ride_id); + } + break; + case 6: + if (apply) { + ride->entrance_style = value; + gLastEntranceStyle = value; + gfx_invalidate_screen(); + } + break; + case 7: + if (index >= countof(ride->vehicle_colours_extended)) { + log_warning("Invalid game command, index %d out of bounds", index); + *ebx = MONEY32_UNDEFINED; + return; + } else { + if (apply) { + ride->vehicle_colours_extended[index] = value; + ride_update_vehicle_colours(ride_id); + } + } + break; + } + window_invalidate_by_number(WC_RIDE, ride_id); } /** @@ -6576,119 +6576,119 @@ void game_command_set_ride_appearance(sint32 *eax, sint32 *ebx, sint32 *ecx, sin */ void game_command_set_ride_price(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - uint32 flags = *ebx; - uint8 ride_number = (*edx & 0xFF); - if (ride_number >= MAX_RIDES) - { - log_warning("Invalid game command for ride %u", ride_number); - *ebx = MONEY32_UNDEFINED; - return; - } - rct_ride *ride = get_ride(ride_number); - if (ride->type == RIDE_TYPE_NULL) - { - log_warning("Invalid game command for ride %u", ride_number); - *ebx = MONEY32_UNDEFINED; - return; - } - rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); - money16 price = *edi; - bool secondary_price = (*edx >> 8); + uint32 flags = *ebx; + uint8 ride_number = (*edx & 0xFF); + if (ride_number >= MAX_RIDES) + { + log_warning("Invalid game command for ride %u", ride_number); + *ebx = MONEY32_UNDEFINED; + return; + } + rct_ride *ride = get_ride(ride_number); + if (ride->type == RIDE_TYPE_NULL) + { + log_warning("Invalid game command for ride %u", ride_number); + *ebx = MONEY32_UNDEFINED; + return; + } + rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); + money16 price = *edi; + bool secondary_price = (*edx >> 8); - if (rideEntry == (rct_ride_entry *)-1) - { - log_warning("Invalid game command for ride %u", ride_number); - *ebx = MONEY32_UNDEFINED; - return; - } + if (rideEntry == (rct_ride_entry *)-1) + { + log_warning("Invalid game command for ride %u", ride_number); + *ebx = MONEY32_UNDEFINED; + return; + } - //eax - //ebx flags - //ecx ecx - //edx ride_number - //ebp rideEntry + //eax + //ebx flags + //ecx ecx + //edx ride_number + //ebp rideEntry - *ebx = 0; // for cost check - changing ride price does not cost anything + *ebx = 0; // for cost check - changing ride price does not cost anything - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_RIDE_TICKETS; - if (flags & GAME_COMMAND_FLAG_APPLY) { - uint32 shop_item; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_RIDE_TICKETS; + if (flags & GAME_COMMAND_FLAG_APPLY) { + uint32 shop_item; - if (ride->overall_view != (uint16)-1) { - rct_xyz16 coord; - coord.x = (ride->overall_view & 0xFF) * 32 + 16; - coord.y = (ride->overall_view >> 8) * 32 + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (ride->overall_view != (uint16)-1) { + rct_xyz16 coord; + coord.x = (ride->overall_view & 0xFF) * 32 + 16; + coord.y = (ride->overall_view >> 8) * 32 + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - if (!secondary_price) { - shop_item = SHOP_ITEM_ADMISSION; - if (ride->type != RIDE_TYPE_TOILETS) { - shop_item = rideEntry->shop_item; - if (shop_item == SHOP_ITEM_NONE) { - ride->price = price; - window_invalidate_by_class(WC_RIDE); - return; - } - } - // Check same price in park flags - if (!shop_item_has_common_price(shop_item)) { - ride->price = price; - window_invalidate_by_class(WC_RIDE); - return; - } - } - else { - shop_item = rideEntry->shop_item_secondary; - if (shop_item == SHOP_ITEM_NONE) { - shop_item = RidePhotoItems[ride->type]; - if ((ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) == 0) { - ride->price_secondary = price; - window_invalidate_by_class(WC_RIDE); - return; - } - } - // Check same price in park flags - if (!shop_item_has_common_price(shop_item)) { - ride->price_secondary = price; - window_invalidate_by_class(WC_RIDE); - return; - } - } - ride = get_ride(0); + if (!secondary_price) { + shop_item = SHOP_ITEM_ADMISSION; + if (ride->type != RIDE_TYPE_TOILETS) { + shop_item = rideEntry->shop_item; + if (shop_item == SHOP_ITEM_NONE) { + ride->price = price; + window_invalidate_by_class(WC_RIDE); + return; + } + } + // Check same price in park flags + if (!shop_item_has_common_price(shop_item)) { + ride->price = price; + window_invalidate_by_class(WC_RIDE); + return; + } + } + else { + shop_item = rideEntry->shop_item_secondary; + if (shop_item == SHOP_ITEM_NONE) { + shop_item = RidePhotoItems[ride->type]; + if ((ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) == 0) { + ride->price_secondary = price; + window_invalidate_by_class(WC_RIDE); + return; + } + } + // Check same price in park flags + if (!shop_item_has_common_price(shop_item)) { + ride->price_secondary = price; + window_invalidate_by_class(WC_RIDE); + return; + } + } + ride = get_ride(0); - for (uint8 rideId = 0; rideId < 0xFF; rideId++, ride++) { - // Unplaced rides have a type of NULL - if (ride->type == RIDE_TYPE_NULL) - continue; + for (uint8 rideId = 0; rideId < 0xFF; rideId++, ride++) { + // Unplaced rides have a type of NULL + if (ride->type == RIDE_TYPE_NULL) + continue; - rideEntry = get_ride_entry(ride->subtype); + rideEntry = get_ride_entry(ride->subtype); - if (ride->type != RIDE_TYPE_TOILETS || shop_item != SHOP_ITEM_ADMISSION) { - if (rideEntry->shop_item == shop_item) { - ride->price = price; - window_invalidate_by_number(WC_RIDE, rideId); - } - } - else { - ride->price = price; - window_invalidate_by_number(WC_RIDE, rideId); - } - // If the shop item is the same or an on-ride photo - if (rideEntry->shop_item_secondary == shop_item || - (rideEntry->shop_item_secondary == SHOP_ITEM_NONE && shop_item_is_photo(shop_item))) { + if (ride->type != RIDE_TYPE_TOILETS || shop_item != SHOP_ITEM_ADMISSION) { + if (rideEntry->shop_item == shop_item) { + ride->price = price; + window_invalidate_by_number(WC_RIDE, rideId); + } + } + else { + ride->price = price; + window_invalidate_by_number(WC_RIDE, rideId); + } + // If the shop item is the same or an on-ride photo + if (rideEntry->shop_item_secondary == shop_item || + (rideEntry->shop_item_secondary == SHOP_ITEM_NONE && shop_item_is_photo(shop_item))) { - ride->price_secondary = price; - window_invalidate_by_number(WC_RIDE, rideId); - } - } - } + ride->price_secondary = price; + window_invalidate_by_number(WC_RIDE, rideId); + } + } + } } bool ride_type_has_flag(sint32 rideType, sint32 flag) { - return (RideProperties[rideType].flags & flag) != 0; + return (RideProperties[rideType].flags & flag) != 0; } /* @@ -6706,247 +6706,247 @@ bool ride_type_has_flag(sint32 rideType, sint32 flag) */ void increment_turn_count_1_element(rct_ride* ride, uint8 type){ - uint16* turn_count; - switch (type){ - case 0: - turn_count = &ride->turn_count_default; - break; - case 1: - turn_count = &ride->turn_count_banked; - break; - case 2: - turn_count = &ride->turn_count_sloped; - break; - default: - return; - } - uint16 value = (*turn_count & TURN_MASK_1_ELEMENT) + 1; - *turn_count &= ~TURN_MASK_1_ELEMENT; + uint16* turn_count; + switch (type){ + case 0: + turn_count = &ride->turn_count_default; + break; + case 1: + turn_count = &ride->turn_count_banked; + break; + case 2: + turn_count = &ride->turn_count_sloped; + break; + default: + return; + } + uint16 value = (*turn_count & TURN_MASK_1_ELEMENT) + 1; + *turn_count &= ~TURN_MASK_1_ELEMENT; - if (value > TURN_MASK_1_ELEMENT) - value = TURN_MASK_1_ELEMENT; - *turn_count |= value; + if (value > TURN_MASK_1_ELEMENT) + value = TURN_MASK_1_ELEMENT; + *turn_count |= value; } void increment_turn_count_2_elements(rct_ride* ride, uint8 type){ - uint16* turn_count; - switch (type){ - case 0: - turn_count = &ride->turn_count_default; - break; - case 1: - turn_count = &ride->turn_count_banked; - break; - case 2: - turn_count = &ride->turn_count_sloped; - break; - default: - return; - } - uint16 value = (*turn_count & TURN_MASK_2_ELEMENTS) + 0x20; - *turn_count &= ~TURN_MASK_2_ELEMENTS; + uint16* turn_count; + switch (type){ + case 0: + turn_count = &ride->turn_count_default; + break; + case 1: + turn_count = &ride->turn_count_banked; + break; + case 2: + turn_count = &ride->turn_count_sloped; + break; + default: + return; + } + uint16 value = (*turn_count & TURN_MASK_2_ELEMENTS) + 0x20; + *turn_count &= ~TURN_MASK_2_ELEMENTS; - if (value > TURN_MASK_2_ELEMENTS) - value = TURN_MASK_2_ELEMENTS; - *turn_count |= value; + if (value > TURN_MASK_2_ELEMENTS) + value = TURN_MASK_2_ELEMENTS; + *turn_count |= value; } void increment_turn_count_3_elements(rct_ride* ride, uint8 type){ - uint16* turn_count; - switch (type){ - case 0: - turn_count = &ride->turn_count_default; - break; - case 1: - turn_count = &ride->turn_count_banked; - break; - case 2: - turn_count = &ride->turn_count_sloped; - break; - default: - return; - } - uint16 value = (*turn_count & TURN_MASK_3_ELEMENTS) + 0x100; - *turn_count &= ~TURN_MASK_3_ELEMENTS; + uint16* turn_count; + switch (type){ + case 0: + turn_count = &ride->turn_count_default; + break; + case 1: + turn_count = &ride->turn_count_banked; + break; + case 2: + turn_count = &ride->turn_count_sloped; + break; + default: + return; + } + uint16 value = (*turn_count & TURN_MASK_3_ELEMENTS) + 0x100; + *turn_count &= ~TURN_MASK_3_ELEMENTS; - if (value > TURN_MASK_3_ELEMENTS) - value = TURN_MASK_3_ELEMENTS; - *turn_count |= value; + if (value > TURN_MASK_3_ELEMENTS) + value = TURN_MASK_3_ELEMENTS; + *turn_count |= value; } void increment_turn_count_4_plus_elements(rct_ride* ride, uint8 type){ - uint16* turn_count; - switch (type){ - case 0: - case 1: - // Just in case fallback to 3 element turn - increment_turn_count_3_elements(ride, type); - return; - case 2: - turn_count = &ride->turn_count_sloped; - break; - default: - return; - } - uint16 value = (*turn_count & TURN_MASK_4_PLUS_ELEMENTS) + 0x800; - *turn_count &= ~TURN_MASK_4_PLUS_ELEMENTS; + uint16* turn_count; + switch (type){ + case 0: + case 1: + // Just in case fallback to 3 element turn + increment_turn_count_3_elements(ride, type); + return; + case 2: + turn_count = &ride->turn_count_sloped; + break; + default: + return; + } + uint16 value = (*turn_count & TURN_MASK_4_PLUS_ELEMENTS) + 0x800; + *turn_count &= ~TURN_MASK_4_PLUS_ELEMENTS; - if (value > TURN_MASK_4_PLUS_ELEMENTS) - value = TURN_MASK_4_PLUS_ELEMENTS; - *turn_count |= value; + if (value > TURN_MASK_4_PLUS_ELEMENTS) + value = TURN_MASK_4_PLUS_ELEMENTS; + *turn_count |= value; } sint32 get_turn_count_1_element(rct_ride* ride, uint8 type) { - uint16* turn_count; - switch (type){ - case 0: - turn_count = &ride->turn_count_default; - break; - case 1: - turn_count = &ride->turn_count_banked; - break; - case 2: - turn_count = &ride->turn_count_sloped; - break; - default: - return 0; - } + uint16* turn_count; + switch (type){ + case 0: + turn_count = &ride->turn_count_default; + break; + case 1: + turn_count = &ride->turn_count_banked; + break; + case 2: + turn_count = &ride->turn_count_sloped; + break; + default: + return 0; + } - return (*turn_count) & TURN_MASK_1_ELEMENT; + return (*turn_count) & TURN_MASK_1_ELEMENT; } sint32 get_turn_count_2_elements(rct_ride* ride, uint8 type) { - uint16* turn_count; - switch (type){ - case 0: - turn_count = &ride->turn_count_default; - break; - case 1: - turn_count = &ride->turn_count_banked; - break; - case 2: - turn_count = &ride->turn_count_sloped; - break; - default: - return 0; - } + uint16* turn_count; + switch (type){ + case 0: + turn_count = &ride->turn_count_default; + break; + case 1: + turn_count = &ride->turn_count_banked; + break; + case 2: + turn_count = &ride->turn_count_sloped; + break; + default: + return 0; + } - return ((*turn_count) & TURN_MASK_2_ELEMENTS) >> 5; + return ((*turn_count) & TURN_MASK_2_ELEMENTS) >> 5; } sint32 get_turn_count_3_elements(rct_ride* ride, uint8 type) { - uint16* turn_count; - switch (type){ - case 0: - turn_count = &ride->turn_count_default; - break; - case 1: - turn_count = &ride->turn_count_banked; - break; - case 2: - turn_count = &ride->turn_count_sloped; - break; - default: - return 0; - } + uint16* turn_count; + switch (type){ + case 0: + turn_count = &ride->turn_count_default; + break; + case 1: + turn_count = &ride->turn_count_banked; + break; + case 2: + turn_count = &ride->turn_count_sloped; + break; + default: + return 0; + } - return ((*turn_count) & TURN_MASK_3_ELEMENTS) >> 8; + return ((*turn_count) & TURN_MASK_3_ELEMENTS) >> 8; } sint32 get_turn_count_4_plus_elements(rct_ride* ride, uint8 type) { - uint16* turn_count; - switch (type){ - case 0: - case 1: - return 0; - case 2: - turn_count = &ride->turn_count_sloped; - break; - default: - return 0; - } + uint16* turn_count; + switch (type){ + case 0: + case 1: + return 0; + case 2: + turn_count = &ride->turn_count_sloped; + break; + default: + return 0; + } - return ((*turn_count) & TURN_MASK_4_PLUS_ELEMENTS) >> 11; + return ((*turn_count) & TURN_MASK_4_PLUS_ELEMENTS) >> 11; } bool ride_has_spinning_tunnel(rct_ride *ride) { - return ride->special_track_elements & RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; + return ride->special_track_elements & RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; } bool ride_has_water_splash(rct_ride *ride) { - return ride->special_track_elements & RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; + return ride->special_track_elements & RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; } bool ride_has_rapids(rct_ride *ride) { - return ride->special_track_elements & RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; + return ride->special_track_elements & RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; } bool ride_has_log_reverser(rct_ride *ride) { - return ride->special_track_elements & RIDE_ELEMENT_REVERSER_OR_WATERFALL; + return ride->special_track_elements & RIDE_ELEMENT_REVERSER_OR_WATERFALL; } bool ride_has_waterfall(rct_ride *ride) { - return ride->special_track_elements & RIDE_ELEMENT_REVERSER_OR_WATERFALL; + return ride->special_track_elements & RIDE_ELEMENT_REVERSER_OR_WATERFALL; } bool ride_has_whirlpool(rct_ride *ride) { - return ride->special_track_elements & RIDE_ELEMENT_WHIRLPOOL; + return ride->special_track_elements & RIDE_ELEMENT_WHIRLPOOL; } uint8 ride_get_helix_sections(rct_ride *ride) { - // Helix sections stored in the low 5 bits. - return ride->special_track_elements & 0x1F; + // Helix sections stored in the low 5 bits. + return ride->special_track_elements & 0x1F; } bool ride_is_powered_launched(rct_ride *ride) { - return - ride->mode == RIDE_MODE_POWERED_LAUNCH_PASSTROUGH || - ride->mode == RIDE_MODE_POWERED_LAUNCH || - ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED; + return + ride->mode == RIDE_MODE_POWERED_LAUNCH_PASSTROUGH || + ride->mode == RIDE_MODE_POWERED_LAUNCH || + ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED; } bool ride_is_block_sectioned(rct_ride *ride) { - return - ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || - ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED; + return + ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || + ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED; } bool ride_has_any_track_elements(sint32 rideIndex) { - map_element_iterator it; + map_element_iterator it; - map_element_iterator_begin(&it); - while (map_element_iterator_next(&it)) { - if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_TRACK) - continue; - if (it.element->properties.track.ride_index != rideIndex) - continue; - if (it.element->flags & MAP_ELEMENT_FLAG_GHOST) - continue; + map_element_iterator_begin(&it); + while (map_element_iterator_next(&it)) { + if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_TRACK) + continue; + if (it.element->properties.track.ride_index != rideIndex) + continue; + if (it.element->flags & MAP_ELEMENT_FLAG_GHOST) + continue; - return true; - } + return true; + } - return false; + return false; } void ride_all_has_any_track_elements(bool *rideIndexArray) { - map_element_iterator it; + map_element_iterator it; - memset(rideIndexArray, 0, MAX_RIDES * sizeof(bool)); + memset(rideIndexArray, 0, MAX_RIDES * sizeof(bool)); - map_element_iterator_begin(&it); - while (map_element_iterator_next(&it)) { - if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_TRACK) - continue; - if (it.element->flags & MAP_ELEMENT_FLAG_GHOST) - continue; + map_element_iterator_begin(&it); + while (map_element_iterator_next(&it)) { + if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_TRACK) + continue; + if (it.element->flags & MAP_ELEMENT_FLAG_GHOST) + continue; - rideIndexArray[it.element->properties.track.ride_index] = true; - } + rideIndexArray[it.element->properties.track.ride_index] = true; + } } /** @@ -6954,113 +6954,113 @@ void ride_all_has_any_track_elements(bool *rideIndexArray) * rct2: 0x006847BA */ void set_vehicle_type_image_max_sizes(rct_ride_entry_vehicle* vehicle_type, sint32 num_images){ - uint8 bitmap[200][200] = { 0 }; + uint8 bitmap[200][200] = { 0 }; - rct_drawpixelinfo dpi = { - .bits = (uint8*)bitmap, - .x = -100, - .y = -100, - .width = 200, - .height = 200, - .pitch = 0, - .zoom_level = 0 - }; + rct_drawpixelinfo dpi = { + .bits = (uint8*)bitmap, + .x = -100, + .y = -100, + .width = 200, + .height = 200, + .pitch = 0, + .zoom_level = 0 + }; - for (sint32 i = 0; i < num_images; ++i){ - gfx_draw_sprite_software(&dpi, vehicle_type->base_image_id + i, 0, 0, 0); - } - sint32 al = -1; - for (sint32 i = 99; i != 0; --i){ - for (sint32 j = 0; j < 200; j++){ - if (bitmap[j][100 - i] != 0){ - al = i; - break; - } - } + for (sint32 i = 0; i < num_images; ++i){ + gfx_draw_sprite_software(&dpi, vehicle_type->base_image_id + i, 0, 0, 0); + } + sint32 al = -1; + for (sint32 i = 99; i != 0; --i){ + for (sint32 j = 0; j < 200; j++){ + if (bitmap[j][100 - i] != 0){ + al = i; + break; + } + } - if (al != -1) - break; + if (al != -1) + break; - for (sint32 j = 0; j < 200; j++){ - if (bitmap[j][100 + i] != 0){ - al = i; - break; - } - } + for (sint32 j = 0; j < 200; j++){ + if (bitmap[j][100 + i] != 0){ + al = i; + break; + } + } - if (al != -1) - break; - } + if (al != -1) + break; + } - al++; - sint32 bl = -1; + al++; + sint32 bl = -1; - for (sint32 i = 99; i != 0; --i){ - for (sint32 j = 0; j < 200; j++){ - if (bitmap[100 - i][j] != 0){ - bl = i; - break; - } - } + for (sint32 i = 99; i != 0; --i){ + for (sint32 j = 0; j < 200; j++){ + if (bitmap[100 - i][j] != 0){ + bl = i; + break; + } + } - if (bl != -1) - break; - } - bl++; + if (bl != -1) + break; + } + bl++; - sint32 bh = -1; + sint32 bh = -1; - for (sint32 i = 99; i != 0; --i){ - for (sint32 j = 0; j < 200; j++){ - if (bitmap[100 + i][j] != 0){ - bh = i; - break; - } - } + for (sint32 i = 99; i != 0; --i){ + for (sint32 j = 0; j < 200; j++){ + if (bitmap[100 + i][j] != 0){ + bh = i; + break; + } + } - if (bh != -1) - break; - } - bh++; + if (bh != -1) + break; + } + bh++; - // Moved from object paint + // Moved from object paint - if (vehicle_type->flags_a & VEHICLE_ENTRY_FLAG_A_13){ - bl += 16; - } + if (vehicle_type->flags_a & VEHICLE_ENTRY_FLAG_A_13){ + bl += 16; + } - vehicle_type->sprite_width = al; - vehicle_type->sprite_height_negative = bl; - vehicle_type->sprite_height_positive = bh; + vehicle_type->sprite_width = al; + vehicle_type->sprite_height_negative = bl; + vehicle_type->sprite_height_positive = bh; } static sint32 loc_6CD18E(sint16 mapX, sint16 mapY, sint16 entranceMinX, sint16 entranceMinY, sint16 entranceMaxX, sint16 entranceMaxY) { - sint32 direction = 0; - if (mapX == entranceMinX) { - if (mapY > entranceMinY && mapY < entranceMaxY) { - return direction; - } - } - direction = 1; - if (mapY == entranceMaxY) { - if (mapX > entranceMinX && mapX < entranceMaxX) { - return direction; - } - } - direction = 2; - if (mapX == entranceMaxX) { - if (mapY > entranceMinY && mapY < entranceMaxY) { - return direction; - } - } - direction = 3; - if (mapY == entranceMinY) { - if (mapX > entranceMinX && mapX < entranceMaxX) { - return direction; - } - } - return -1; + sint32 direction = 0; + if (mapX == entranceMinX) { + if (mapY > entranceMinY && mapY < entranceMaxY) { + return direction; + } + } + direction = 1; + if (mapY == entranceMaxY) { + if (mapX > entranceMinX && mapX < entranceMaxX) { + return direction; + } + } + direction = 2; + if (mapX == entranceMaxX) { + if (mapY > entranceMinY && mapY < entranceMaxY) { + return direction; + } + } + direction = 3; + if (mapY == entranceMinY) { + if (mapX > entranceMinX && mapX < entranceMaxX) { + return direction; + } + } + return -1; } /** @@ -7069,206 +7069,206 @@ static sint32 loc_6CD18E(sint16 mapX, sint16 mapY, sint16 entranceMinX, sint16 e */ void ride_get_entrance_or_exit_position_from_screen_position(sint32 screenX, sint32 screenY, sint32 *outX, sint32 *outY, sint32 *outDirection) { - sint16 mapX, mapY; - sint16 entranceMinX, entranceMinY, entranceMaxX, entranceMaxY, word_F4418C, word_F4418E; - sint32 interactionType, direction, stationHeight, stationDirection; - rct_map_element *mapElement; - rct_viewport *viewport; - rct_ride *ride; + sint16 mapX, mapY; + sint16 entranceMinX, entranceMinY, entranceMaxX, entranceMaxY, word_F4418C, word_F4418E; + sint32 interactionType, direction, stationHeight, stationDirection; + rct_map_element *mapElement; + rct_viewport *viewport; + rct_ride *ride; - gRideEntranceExitPlaceDirection = 255; - get_map_coordinates_from_pos(screenX, screenY, 0xFFFB, &mapX, &mapY, &interactionType, &mapElement, &viewport); - if (interactionType != 0) { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK) { - if (mapElement->properties.track.ride_index == gRideEntranceExitPlaceRideIndex) { - if (TrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN) { - if (mapElement->properties.track.type == TRACK_ELEM_MAZE) { - gRideEntranceExitPlaceStationIndex = 0; - } else { - gRideEntranceExitPlaceStationIndex = (mapElement->properties.track.sequence & 0x70) >> 4; - } - } - } - } - } + gRideEntranceExitPlaceDirection = 255; + get_map_coordinates_from_pos(screenX, screenY, 0xFFFB, &mapX, &mapY, &interactionType, &mapElement, &viewport); + if (interactionType != 0) { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK) { + if (mapElement->properties.track.ride_index == gRideEntranceExitPlaceRideIndex) { + if (TrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN) { + if (mapElement->properties.track.type == TRACK_ELEM_MAZE) { + gRideEntranceExitPlaceStationIndex = 0; + } else { + gRideEntranceExitPlaceStationIndex = (mapElement->properties.track.sequence & 0x70) >> 4; + } + } + } + } + } - ride = get_ride(gRideEntranceExitPlaceRideIndex); - stationHeight = ride->station_heights[gRideEntranceExitPlaceStationIndex]; + ride = get_ride(gRideEntranceExitPlaceRideIndex); + stationHeight = ride->station_heights[gRideEntranceExitPlaceStationIndex]; - screen_get_map_xy_with_z(screenX, screenY, stationHeight * 8, &mapX, &mapY); - if (mapX == MAP_LOCATION_NULL) { - *outX = 0x8000; - return; - } + screen_get_map_xy_with_z(screenX, screenY, stationHeight * 8, &mapX, &mapY); + if (mapX == MAP_LOCATION_NULL) { + *outX = 0x8000; + return; + } - word_F4418C = mapX; - word_F4418E = mapY; - _unkF44188.x = floor2(mapX, 32); - _unkF44188.y = floor2(mapY, 32); - *outX = _unkF44188.x; - *outY = _unkF44188.y; + word_F4418C = mapX; + word_F4418E = mapY; + _unkF44188.x = floor2(mapX, 32); + _unkF44188.y = floor2(mapY, 32); + *outX = _unkF44188.x; + *outY = _unkF44188.y; - if (ride->type == RIDE_TYPE_NULL) - return; + if (ride->type == RIDE_TYPE_NULL) + return; - uint16 stationStartXY = ride->station_starts[gRideEntranceExitPlaceStationIndex]; - if (stationStartXY == 0xFFFF) - return; + uint16 stationStartXY = ride->station_starts[gRideEntranceExitPlaceStationIndex]; + if (stationStartXY == 0xFFFF) + return; - _unkF44188.z = stationHeight; + _unkF44188.z = stationHeight; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3)) { - mapX = (word_F4418C & 0x1F) - 16; - mapY = (word_F4418E & 0x1F) - 16; - if (abs(mapX) < abs(mapY)) { - direction = mapY < 0 ? 3 : 1; - } else { - direction = mapX < 0 ? 0 : 2; - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3)) { + mapX = (word_F4418C & 0x1F) - 16; + mapY = (word_F4418E & 0x1F) - 16; + if (abs(mapX) < abs(mapY)) { + direction = mapY < 0 ? 3 : 1; + } else { + direction = mapX < 0 ? 0 : 2; + } - for (sint32 i = 0; i < 4; i++) { - mapX = _unkF44188.x + TileDirectionDelta[direction].x; - mapY = _unkF44188.y + TileDirectionDelta[direction].y; - if (mapX >= 0 && mapY >= 0 && mapX < (256 * 32) && mapY < (256 * 32)) { - mapElement = map_get_first_element_at(mapX >> 5, mapY >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; - if (mapElement->base_height != stationHeight) - continue; - if (mapElement->properties.track.ride_index != gRideEntranceExitPlaceRideIndex) - continue; - if (mapElement->properties.track.type == TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP) { - gRideEntranceExitPlaceDirection = direction ^ 2; - *outDirection = direction ^ 2; - return; - } - if (map_get_station(mapElement) != gRideEntranceExitPlaceStationIndex) - continue; + for (sint32 i = 0; i < 4; i++) { + mapX = _unkF44188.x + TileDirectionDelta[direction].x; + mapY = _unkF44188.y + TileDirectionDelta[direction].y; + if (mapX >= 0 && mapY >= 0 && mapX < (256 * 32) && mapY < (256 * 32)) { + mapElement = map_get_first_element_at(mapX >> 5, mapY >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; + if (mapElement->base_height != stationHeight) + continue; + if (mapElement->properties.track.ride_index != gRideEntranceExitPlaceRideIndex) + continue; + if (mapElement->properties.track.type == TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP) { + gRideEntranceExitPlaceDirection = direction ^ 2; + *outDirection = direction ^ 2; + return; + } + if (map_get_station(mapElement) != gRideEntranceExitPlaceStationIndex) + continue; - sint32 eax = (direction + 2 - mapElement->type) & MAP_ELEMENT_DIRECTION_MASK; - if (FlatRideTrackSequenceProperties[mapElement->properties.track.type][mapElement->properties.track.sequence & 0x0F] & (1 << eax)) { - gRideEntranceExitPlaceDirection = direction ^ 2; - *outDirection = direction ^ 2; - return; - } - } while (!map_element_is_last_for_tile(mapElement++)); - } - direction = (direction + 1) & 3; - } - gRideEntranceExitPlaceDirection = 0xFF; - } else { - mapX = (stationStartXY & 0xFF) * 32; - mapY = (stationStartXY >> 8) * 32; - entranceMinX = mapX; - entranceMinY = mapY; + sint32 eax = (direction + 2 - mapElement->type) & MAP_ELEMENT_DIRECTION_MASK; + if (FlatRideTrackSequenceProperties[mapElement->properties.track.type][mapElement->properties.track.sequence & 0x0F] & (1 << eax)) { + gRideEntranceExitPlaceDirection = direction ^ 2; + *outDirection = direction ^ 2; + return; + } + } while (!map_element_is_last_for_tile(mapElement++)); + } + direction = (direction + 1) & 3; + } + gRideEntranceExitPlaceDirection = 0xFF; + } else { + mapX = (stationStartXY & 0xFF) * 32; + mapY = (stationStartXY >> 8) * 32; + entranceMinX = mapX; + entranceMinY = mapY; - mapElement = ride_get_station_start_track_element(ride, gRideEntranceExitPlaceStationIndex); - if (mapElement == NULL) { - *outX = 0x8000; - return; - } - direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - stationDirection = direction; + mapElement = ride_get_station_start_track_element(ride, gRideEntranceExitPlaceStationIndex); + if (mapElement == NULL) { + *outX = 0x8000; + return; + } + direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + stationDirection = direction; - nextTile: - entranceMaxX = mapX; - entranceMaxY = mapY; - mapX -= TileDirectionDelta[direction].x; - mapY -= TileDirectionDelta[direction].y; - mapElement = map_get_first_element_at(mapX >> 5, mapY >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; - if (mapElement->properties.track.ride_index != gRideEntranceExitPlaceRideIndex) - continue; - if (map_get_station(mapElement) != gRideEntranceExitPlaceStationIndex) - continue; + nextTile: + entranceMaxX = mapX; + entranceMaxY = mapY; + mapX -= TileDirectionDelta[direction].x; + mapY -= TileDirectionDelta[direction].y; + mapElement = map_get_first_element_at(mapX >> 5, mapY >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; + if (mapElement->properties.track.ride_index != gRideEntranceExitPlaceRideIndex) + continue; + if (map_get_station(mapElement) != gRideEntranceExitPlaceStationIndex) + continue; - switch (mapElement->properties.track.type) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - goto nextTile; - } - } while (!map_element_is_last_for_tile(mapElement++)); + switch (mapElement->properties.track.type) { + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + goto nextTile; + } + } while (!map_element_is_last_for_tile(mapElement++)); - mapX = entranceMinX; - if (mapX > entranceMaxX) { - entranceMinX = entranceMaxX; - entranceMaxX = mapX; - } + mapX = entranceMinX; + if (mapX > entranceMaxX) { + entranceMinX = entranceMaxX; + entranceMaxX = mapX; + } - mapY = entranceMinY; - if (mapY > entranceMaxY) { - entranceMinY = entranceMaxY; - entranceMaxY = mapY; - } + mapY = entranceMinY; + if (mapY > entranceMaxY) { + entranceMinY = entranceMaxY; + entranceMaxY = mapY; + } - direction = loc_6CD18E(*outX, *outY, entranceMinX - 32, entranceMinY - 32, entranceMaxX + 32, entranceMaxY + 32); - if (direction != -1 && direction != stationDirection && direction != (stationDirection ^ 2)) { - gRideEntranceExitPlaceDirection = direction; - *outDirection = direction; - return; - } - } + direction = loc_6CD18E(*outX, *outY, entranceMinX - 32, entranceMinY - 32, entranceMaxX + 32, entranceMaxY + 32); + if (direction != -1 && direction != stationDirection && direction != (stationDirection ^ 2)) { + gRideEntranceExitPlaceDirection = direction; + *outDirection = direction; + return; + } + } } bool ride_select_backwards_from_front() { - track_begin_end trackBeginEnd; + track_begin_end trackBeginEnd; - ride_construction_invalidate_current_track(); - if (track_block_get_previous_from_zero(_currentTrackBeginX, _currentTrackBeginY, _currentTrackBeginZ, _currentRideIndex, _currentTrackPieceDirection, &trackBeginEnd)) { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; - _currentTrackBeginX = trackBeginEnd.begin_x; - _currentTrackBeginY = trackBeginEnd.begin_y; - _currentTrackBeginZ = trackBeginEnd.begin_z; - _currentTrackPieceDirection = trackBeginEnd.begin_direction; - _currentTrackPieceType = trackBeginEnd.begin_element->properties.track.type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - return true; - } else { - return false; - } + ride_construction_invalidate_current_track(); + if (track_block_get_previous_from_zero(_currentTrackBeginX, _currentTrackBeginY, _currentTrackBeginZ, _currentRideIndex, _currentTrackPieceDirection, &trackBeginEnd)) { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; + _currentTrackBeginX = trackBeginEnd.begin_x; + _currentTrackBeginY = trackBeginEnd.begin_y; + _currentTrackBeginZ = trackBeginEnd.begin_z; + _currentTrackPieceDirection = trackBeginEnd.begin_direction; + _currentTrackPieceType = trackBeginEnd.begin_element->properties.track.type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + return true; + } else { + return false; + } } bool ride_select_forwards_from_back() { - sint32 x, y, z, direction; + sint32 x, y, z, direction; - ride_construction_invalidate_current_track(); + ride_construction_invalidate_current_track(); - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - direction = _currentTrackPieceDirection ^ 2; - rct_xy_element next_track; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + direction = _currentTrackPieceDirection ^ 2; + rct_xy_element next_track; - if (track_block_get_next_from_zero(x, y, z, _currentRideIndex, direction, &next_track, &z, &direction)) { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; - _currentTrackBeginX = next_track.x; - _currentTrackBeginY = next_track.y; - _currentTrackBeginZ = z; - _currentTrackPieceDirection = (next_track.element->type & MAP_ELEMENT_DIRECTION_MASK); - _currentTrackPieceType = next_track.element->properties.track.type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - return true; - } else { - return false; - } + if (track_block_get_next_from_zero(x, y, z, _currentRideIndex, direction, &next_track, &z, &direction)) { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; + _currentTrackBeginX = next_track.x; + _currentTrackBeginY = next_track.y; + _currentTrackBeginZ = z; + _currentTrackPieceDirection = (next_track.element->type & MAP_ELEMENT_DIRECTION_MASK); + _currentTrackPieceType = next_track.element->properties.track.type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + return true; + } else { + return false; + } } money32 ride_remove_track_piece(sint32 x, sint32 y, sint32 z, sint32 direction, sint32 type, uint8 flags) { - gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_REMOVE_THIS; - if (network_get_mode() == NETWORK_MODE_CLIENT) - { - game_command_callback = game_command_callback_ride_remove_track_piece; - } - return game_do_command(x, flags | ((direction & 3) << 8), y, type, GAME_COMMAND_REMOVE_TRACK, z, 0); + gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_REMOVE_THIS; + if (network_get_mode() == NETWORK_MODE_CLIENT) + { + game_command_callback = game_command_callback_ride_remove_track_piece; + } + return game_do_command(x, flags | ((direction & 3) << 8), y, type, GAME_COMMAND_REMOVE_TRACK, z, 0); } /** @@ -7277,21 +7277,21 @@ money32 ride_remove_track_piece(sint32 x, sint32 y, sint32 z, sint32 direction, */ bool ride_are_all_possible_entrances_and_exits_built(rct_ride *ride) { - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) - return true; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) + return true; - for (sint32 i = 0; i < 4; i++) { - if (ride->station_starts[i] == 0xFFFF) continue; - if (ride->entrances[i] == 0xFFFF) { - gGameCommandErrorText = STR_ENTRANCE_NOT_YET_BUILT; - return false; - } - if (ride->exits[i] == 0xFFFF) { - gGameCommandErrorText = STR_EXIT_NOT_YET_BUILT; - return false; - } - } - return true; + for (sint32 i = 0; i < 4; i++) { + if (ride->station_starts[i] == 0xFFFF) continue; + if (ride->entrances[i] == 0xFFFF) { + gGameCommandErrorText = STR_ENTRANCE_NOT_YET_BUILT; + return false; + } + if (ride->exits[i] == 0xFFFF) { + gGameCommandErrorText = STR_EXIT_NOT_YET_BUILT; + return false; + } + } + return true; } /** @@ -7300,22 +7300,22 @@ bool ride_are_all_possible_entrances_and_exits_built(rct_ride *ride) */ void invalidate_test_results(sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - ride_measurement_clear(ride); - ride->excitement = RIDE_RATING_UNDEFINED; - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_TEST_IN_PROGRESS; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) { - for (sint32 i = 0; i < ride->num_vehicles; i++) { - uint16 spriteIndex = ride->vehicles[i]; - if (spriteIndex != SPRITE_INDEX_NULL) { - rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_TESTING; - } - } - } - window_invalidate_by_number(WC_RIDE, rideIndex); + ride_measurement_clear(ride); + ride->excitement = RIDE_RATING_UNDEFINED; + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_TEST_IN_PROGRESS; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) { + for (sint32 i = 0; i < ride->num_vehicles; i++) { + uint16 spriteIndex = ride->vehicles[i]; + if (spriteIndex != SPRITE_INDEX_NULL) { + rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_TESTING; + } + } + } + window_invalidate_by_number(WC_RIDE, rideIndex); } /** @@ -7327,28 +7327,28 @@ void invalidate_test_results(sint32 rideIndex) */ void ride_fix_breakdown(sint32 rideIndex, sint32 reliabilityIncreaseFactor) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_BREAKDOWN_PENDING; - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_BROKEN_DOWN; - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_DUE_INSPECTION; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST | RIDE_INVALIDATE_RIDE_MAINTENANCE; + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_BREAKDOWN_PENDING; + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_BROKEN_DOWN; + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_DUE_INSPECTION; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST | RIDE_INVALIDATE_RIDE_MAINTENANCE; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) { - for (sint32 i = 0; i < ride->num_vehicles; i++) { - uint16 spriteIndex = ride->vehicles[i]; - while (spriteIndex != SPRITE_INDEX_NULL) { - rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_7; - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_BROKEN_CAR; - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_BROKEN_TRAIN; - spriteIndex = vehicle->next_vehicle_on_train; - } - } - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) { + for (sint32 i = 0; i < ride->num_vehicles; i++) { + uint16 spriteIndex = ride->vehicles[i]; + while (spriteIndex != SPRITE_INDEX_NULL) { + rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_7; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_BROKEN_CAR; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_BROKEN_TRAIN; + spriteIndex = vehicle->next_vehicle_on_train; + } + } + } - uint8 unreliability = 100 - ((ride->reliability >> 8) & 0xFF); - ride->reliability += reliabilityIncreaseFactor * (unreliability / 2); + uint8 unreliability = 100 - ((ride->reliability >> 8) & 0xFF); + ride->reliability += reliabilityIncreaseFactor * (unreliability / 2); } /** @@ -7357,41 +7357,41 @@ void ride_fix_breakdown(sint32 rideIndex, sint32 reliabilityIncreaseFactor) */ static void ride_update_vehicle_colours(sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_SPACE_RINGS || ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_16)) { - gfx_invalidate_screen(); - } + rct_ride *ride = get_ride(rideIndex); + if (ride->type == RIDE_TYPE_SPACE_RINGS || ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_16)) { + gfx_invalidate_screen(); + } - for (sint32 i = 0; i < 32; i++) { - sint32 carIndex = 0; - uint16 spriteIndex = ride->vehicles[i]; - rct_vehicle_colour colours = { 0 }; - uint8 coloursExtended = 0; + for (sint32 i = 0; i < 32; i++) { + sint32 carIndex = 0; + uint16 spriteIndex = ride->vehicles[i]; + rct_vehicle_colour colours = { 0 }; + uint8 coloursExtended = 0; - while (spriteIndex != SPRITE_INDEX_NULL) { - rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); - switch (ride->colour_scheme_type & 3) { - case RIDE_COLOUR_SCHEME_ALL_SAME: - colours = ride->vehicle_colours[0]; - coloursExtended = ride->vehicle_colours_extended[0]; - break; - case RIDE_COLOUR_SCHEME_DIFFERENT_PER_TRAIN: - colours = ride->vehicle_colours[i]; - coloursExtended = ride->vehicle_colours_extended[i]; - break; - case RIDE_COLOUR_SCHEME_DIFFERENT_PER_CAR: - colours = ride->vehicle_colours[carIndex > 31 ? 31 : carIndex]; - coloursExtended = ride->vehicle_colours_extended[carIndex > 31 ? 31 : carIndex]; - break; - } + while (spriteIndex != SPRITE_INDEX_NULL) { + rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); + switch (ride->colour_scheme_type & 3) { + case RIDE_COLOUR_SCHEME_ALL_SAME: + colours = ride->vehicle_colours[0]; + coloursExtended = ride->vehicle_colours_extended[0]; + break; + case RIDE_COLOUR_SCHEME_DIFFERENT_PER_TRAIN: + colours = ride->vehicle_colours[i]; + coloursExtended = ride->vehicle_colours_extended[i]; + break; + case RIDE_COLOUR_SCHEME_DIFFERENT_PER_CAR: + colours = ride->vehicle_colours[carIndex > 31 ? 31 : carIndex]; + coloursExtended = ride->vehicle_colours_extended[carIndex > 31 ? 31 : carIndex]; + break; + } - vehicle->colours = colours; - vehicle->colours_extended = coloursExtended; - invalidate_sprite_2((rct_sprite*)vehicle); - spriteIndex = vehicle->next_vehicle_on_train; - carIndex++; - } - } + vehicle->colours = colours; + vehicle->colours_extended = coloursExtended; + invalidate_sprite_2((rct_sprite*)vehicle); + spriteIndex = vehicle->next_vehicle_on_train; + carIndex++; + } + } } /** @@ -7401,71 +7401,71 @@ static void ride_update_vehicle_colours(sint32 rideIndex) */ void ride_entry_get_train_layout(sint32 rideEntryIndex, sint32 numCarsPerTrain, uint8 *trainLayout) { - rct_ride_entry *rideEntry = get_ride_entry(rideEntryIndex); + rct_ride_entry *rideEntry = get_ride_entry(rideEntryIndex); - for (sint32 i = 0; i < numCarsPerTrain; i++) { - uint8 vehicleType = rideEntry->default_vehicle; - if (i == 0 && rideEntry->front_vehicle != 255) { - vehicleType = rideEntry->front_vehicle; - } else if (i == 1 && rideEntry->second_vehicle != 255) { - vehicleType = rideEntry->second_vehicle; - } else if (i == 2 && rideEntry->third_vehicle != 255) { - vehicleType = rideEntry->third_vehicle; - } else if (i == numCarsPerTrain - 1 && rideEntry->rear_vehicle != 255) { - vehicleType = rideEntry->rear_vehicle; - } - trainLayout[i] = vehicleType; - } + for (sint32 i = 0; i < numCarsPerTrain; i++) { + uint8 vehicleType = rideEntry->default_vehicle; + if (i == 0 && rideEntry->front_vehicle != 255) { + vehicleType = rideEntry->front_vehicle; + } else if (i == 1 && rideEntry->second_vehicle != 255) { + vehicleType = rideEntry->second_vehicle; + } else if (i == 2 && rideEntry->third_vehicle != 255) { + vehicleType = rideEntry->third_vehicle; + } else if (i == numCarsPerTrain - 1 && rideEntry->rear_vehicle != 255) { + vehicleType = rideEntry->rear_vehicle; + } + trainLayout[i] = vehicleType; + } } uint8 ride_entry_get_vehicle_at_position(sint32 rideEntryIndex,sint32 numCarsPerTrain,sint32 position) { - rct_ride_entry *rideEntry = get_ride_entry(rideEntryIndex); - if (position == 0 && rideEntry->front_vehicle != 255) { - return rideEntry->front_vehicle; - } else if (position == 1 && rideEntry->second_vehicle != 255) { - return rideEntry->second_vehicle; - } else if (position == 2 && rideEntry->third_vehicle != 255) { - return rideEntry->third_vehicle; - } else if (position == numCarsPerTrain - 1 && rideEntry->rear_vehicle != 255) { - return rideEntry->rear_vehicle; - } else { - return rideEntry->default_vehicle; - } + rct_ride_entry *rideEntry = get_ride_entry(rideEntryIndex); + if (position == 0 && rideEntry->front_vehicle != 255) { + return rideEntry->front_vehicle; + } else if (position == 1 && rideEntry->second_vehicle != 255) { + return rideEntry->second_vehicle; + } else if (position == 2 && rideEntry->third_vehicle != 255) { + return rideEntry->third_vehicle; + } else if (position == numCarsPerTrain - 1 && rideEntry->rear_vehicle != 255) { + return rideEntry->rear_vehicle; + } else { + return rideEntry->default_vehicle; + } } //Finds track pieces that a given ride entry doesn't have the sprites for uint64 ride_entry_get_supported_track_pieces(rct_ride_entry* rideEntry) { - uint64 supportedPieces = 0xFFFFFFFFFFFFFFFFULL; - uint16 trackPieceRequiredSprites[55] = { - 0x0001u, 0x0001u, 0x0001u, 0x0000u, 0x0006u, 0x0002u, 0x0020u, 0x000E, - 0x0003u, 0x0006u, 0x0007u, 0x0002u, 0x0004u, 0x0001u, 0x0001u, 0x0001u, - 0x0001u, 0x0061u, 0x000E, 0x1081u, 0x0001u, 0x0020u, 0x0020u, 0x0001u, - 0x0001u, 0x0000u, 0x0001u, 0x0001u, 0x000C, 0x0061u, 0x0002u, 0x000E, - 0x0480u, 0x0001u, 0x0061u, 0x0001u, 0x0001u, 0x000Fu, 0x0001u, 0x0200u, - 0x0007u, 0x0008u, 0x0000u, 0x0000u, 0x4000u, 0x0008u, 0x0001u, 0x0001u, - 0x0061u, 0x0061u, 0x0008u, 0x0008u, 0x0001u, 0x000Eu, 0x000Eu - }; + uint64 supportedPieces = 0xFFFFFFFFFFFFFFFFULL; + uint16 trackPieceRequiredSprites[55] = { + 0x0001u, 0x0001u, 0x0001u, 0x0000u, 0x0006u, 0x0002u, 0x0020u, 0x000E, + 0x0003u, 0x0006u, 0x0007u, 0x0002u, 0x0004u, 0x0001u, 0x0001u, 0x0001u, + 0x0001u, 0x0061u, 0x000E, 0x1081u, 0x0001u, 0x0020u, 0x0020u, 0x0001u, + 0x0001u, 0x0000u, 0x0001u, 0x0001u, 0x000C, 0x0061u, 0x0002u, 0x000E, + 0x0480u, 0x0001u, 0x0061u, 0x0001u, 0x0001u, 0x000Fu, 0x0001u, 0x0200u, + 0x0007u, 0x0008u, 0x0000u, 0x0000u, 0x4000u, 0x0008u, 0x0001u, 0x0001u, + 0x0061u, 0x0061u, 0x0008u, 0x0008u, 0x0001u, 0x000Eu, 0x000Eu + }; - //Only check default vehicle; it's assumed the others will have correct sprites if this one does (I've yet to find an exception, at least) - for (sint32 j = 0; j < 55; j++) { - if ((rideEntry->vehicles[rideEntry->default_vehicle].sprite_flags & trackPieceRequiredSprites[j]) != trackPieceRequiredSprites[j]) - supportedPieces &= ~(1ULL << j); - } + //Only check default vehicle; it's assumed the others will have correct sprites if this one does (I've yet to find an exception, at least) + for (sint32 j = 0; j < 55; j++) { + if ((rideEntry->vehicles[rideEntry->default_vehicle].sprite_flags & trackPieceRequiredSprites[j]) != trackPieceRequiredSprites[j]) + supportedPieces &= ~(1ULL << j); + } - return supportedPieces; + return supportedPieces; } static sint32 ride_get_smallest_station_length(rct_ride *ride) { - uint32 result = -1; - for (sint32 i = 0; i < 4; i++) { - if (ride->station_starts[i] != 0xFFFF) { - result = min(result, (uint32)(ride->station_length[i])); - } - } - return (sint32)result; + uint32 result = -1; + for (sint32 i = 0; i < 4; i++) { + if (ride->station_starts[i] != 0xFFFF) { + result = min(result, (uint32)(ride->station_length[i])); + } + } + return (sint32)result; } /** @@ -7474,52 +7474,52 @@ static sint32 ride_get_smallest_station_length(rct_ride *ride) */ static sint32 ride_get_track_length(rct_ride *ride) { - rct_window *w; - rct_map_element *mapElement; - track_circuit_iterator it; - sint32 x, y, z, trackType, rideIndex, result; + rct_window *w; + rct_map_element *mapElement; + track_circuit_iterator it; + sint32 x, y, z, trackType, rideIndex, result; - for (sint32 i = 0; i < 4; i++) { - uint16 xy = ride->station_starts[i]; - if (xy == 0xFFFF) - continue; + for (sint32 i = 0; i < 4; i++) { + uint16 xy = ride->station_starts[i]; + if (xy == 0xFFFF) + continue; - x = (xy & 0xFF) * 32; - y = (xy >> 8) * 32; - z = ride->station_heights[i]; + x = (xy & 0xFF) * 32; + y = (xy >> 8) * 32; + z = ride->station_heights[i]; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - trackType = mapElement->properties.track.type; - if (!(TrackSequenceProperties[trackType][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) - continue; + trackType = mapElement->properties.track.type; + if (!(TrackSequenceProperties[trackType][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) + continue; - if (mapElement->base_height != z) - continue; + if (mapElement->base_height != z) + continue; - goto foundTrack; - } while (!map_element_is_last_for_tile(mapElement++)); - } - return 0; + goto foundTrack; + } while (!map_element_is_last_for_tile(mapElement++)); + } + return 0; foundTrack: - rideIndex = mapElement->properties.track.ride_index; + rideIndex = mapElement->properties.track.ride_index; - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != NULL && _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && _currentRideIndex == rideIndex) { - ride_construction_invalidate_current_track(); - } + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w != NULL && _rideConstructionState != RIDE_CONSTRUCTION_STATE_0 && _currentRideIndex == rideIndex) { + ride_construction_invalidate_current_track(); + } - result = 0; - track_circuit_iterator_begin(&it, (rct_xy_element){ x, y, mapElement }); - while (track_circuit_iterator_next(&it)) { - trackType = it.current.element->properties.track.type; - result += TrackPieceLengths[trackType]; - } - return result; + result = 0; + track_circuit_iterator_begin(&it, (rct_xy_element){ x, y, mapElement }); + while (track_circuit_iterator_next(&it)) { + trackType = it.current.element->properties.track.type; + result += TrackPieceLengths[trackType]; + } + return result; } /** @@ -7528,324 +7528,324 @@ foundTrack: */ void ride_update_max_vehicles(sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); - if (ride->subtype == 0xFF) - return; + rct_ride *ride = get_ride(rideIndex); + if (ride->subtype == 0xFF) + return; - rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); - rct_ride_entry_vehicle *vehicleEntry; - uint8 numCarsPerTrain, numVehicles; - sint32 maxNumTrains; + rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); + rct_ride_entry_vehicle *vehicleEntry; + uint8 numCarsPerTrain, numVehicles; + sint32 maxNumTrains; - if (rideEntry->cars_per_flat_ride == 0xFF) { - sint32 trainLength; - ride->num_cars_per_train = max(rideEntry->min_cars_in_train, ride->num_cars_per_train); - ride->min_max_cars_per_train = rideEntry->max_cars_in_train | (rideEntry->min_cars_in_train << 4); + if (rideEntry->cars_per_flat_ride == 0xFF) { + sint32 trainLength; + ride->num_cars_per_train = max(rideEntry->min_cars_in_train, ride->num_cars_per_train); + ride->min_max_cars_per_train = rideEntry->max_cars_in_train | (rideEntry->min_cars_in_train << 4); - // Calculate maximum train length based on smallest station length - sint32 stationLength = ride_get_smallest_station_length(ride); - if (stationLength == -1) - return; + // Calculate maximum train length based on smallest station length + sint32 stationLength = ride_get_smallest_station_length(ride); + if (stationLength == -1) + return; - stationLength = (stationLength * 0x44180) - 0x16B2A; - sint32 maxFriction = RideData5[ride->type].max_friction << 8; - sint32 maxCarsPerTrain = 1; - for (sint32 numCars = rideEntry->max_cars_in_train; numCars > 0; numCars--) { - trainLength = 0; - sint32 totalFriction = 0; - for (sint32 i = 0; i < numCars; i++) { - vehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, numCars, i)]; - trainLength += vehicleEntry->spacing; - totalFriction += vehicleEntry->car_friction; - } + stationLength = (stationLength * 0x44180) - 0x16B2A; + sint32 maxFriction = RideData5[ride->type].max_friction << 8; + sint32 maxCarsPerTrain = 1; + for (sint32 numCars = rideEntry->max_cars_in_train; numCars > 0; numCars--) { + trainLength = 0; + sint32 totalFriction = 0; + for (sint32 i = 0; i < numCars; i++) { + vehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, numCars, i)]; + trainLength += vehicleEntry->spacing; + totalFriction += vehicleEntry->car_friction; + } - if (trainLength <= stationLength && totalFriction <= maxFriction) { - maxCarsPerTrain = numCars; - break; - } - } - sint32 newCarsPerTrain = max(ride->proposed_num_cars_per_train, rideEntry->min_cars_in_train); - maxCarsPerTrain = max(maxCarsPerTrain, rideEntry->min_cars_in_train); - if (!gCheatsDisableTrainLengthLimit) { - newCarsPerTrain = min(maxCarsPerTrain, newCarsPerTrain); - } - ride->min_max_cars_per_train = maxCarsPerTrain | (rideEntry->min_cars_in_train << 4); + if (trainLength <= stationLength && totalFriction <= maxFriction) { + maxCarsPerTrain = numCars; + break; + } + } + sint32 newCarsPerTrain = max(ride->proposed_num_cars_per_train, rideEntry->min_cars_in_train); + maxCarsPerTrain = max(maxCarsPerTrain, rideEntry->min_cars_in_train); + if (!gCheatsDisableTrainLengthLimit) { + newCarsPerTrain = min(maxCarsPerTrain, newCarsPerTrain); + } + ride->min_max_cars_per_train = maxCarsPerTrain | (rideEntry->min_cars_in_train << 4); - switch (ride->mode) { - case RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED: - case RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED: - maxNumTrains = clamp(1, ride->num_stations + ride->num_block_brakes - 1, 31); - break; - case RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE: - case RIDE_MODE_POWERED_LAUNCH_PASSTROUGH: - case RIDE_MODE_SHUTTLE: - case RIDE_MODE_LIM_POWERED_LAUNCH: - case RIDE_MODE_POWERED_LAUNCH: - maxNumTrains = 1; - break; - default: - // Calculate maximum number of trains - trainLength = 0; - for (sint32 i = 0; i < newCarsPerTrain; i++) { - vehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, newCarsPerTrain, i)]; - trainLength += vehicleEntry->spacing; - } + switch (ride->mode) { + case RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED: + case RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED: + maxNumTrains = clamp(1, ride->num_stations + ride->num_block_brakes - 1, 31); + break; + case RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE: + case RIDE_MODE_POWERED_LAUNCH_PASSTROUGH: + case RIDE_MODE_SHUTTLE: + case RIDE_MODE_LIM_POWERED_LAUNCH: + case RIDE_MODE_POWERED_LAUNCH: + maxNumTrains = 1; + break; + default: + // Calculate maximum number of trains + trainLength = 0; + for (sint32 i = 0; i < newCarsPerTrain; i++) { + vehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, newCarsPerTrain, i)]; + trainLength += vehicleEntry->spacing; + } - sint32 totalLength = trainLength / 2; - if (newCarsPerTrain != 1) - totalLength /= 2; + sint32 totalLength = trainLength / 2; + if (newCarsPerTrain != 1) + totalLength /= 2; - maxNumTrains = 0; - do { - maxNumTrains++; - totalLength += trainLength; - } while (totalLength <= stationLength); + maxNumTrains = 0; + do { + maxNumTrains++; + totalLength += trainLength; + } while (totalLength <= stationLength); - if ( - (ride->mode != RIDE_MODE_STATION_TO_STATION && ride->mode != RIDE_MODE_CONTINUOUS_CIRCUIT) || - !(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS) - ) { - maxNumTrains = min(maxNumTrains, 31); - } else { - vehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, newCarsPerTrain, 0)]; - sint32 speed = vehicleEntry->powered_max_speed; + if ( + (ride->mode != RIDE_MODE_STATION_TO_STATION && ride->mode != RIDE_MODE_CONTINUOUS_CIRCUIT) || + !(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS) + ) { + maxNumTrains = min(maxNumTrains, 31); + } else { + vehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, newCarsPerTrain, 0)]; + sint32 speed = vehicleEntry->powered_max_speed; - sint32 totalSpacing = 0; - for (sint32 i = 0; i < newCarsPerTrain; i++) { - vehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, newCarsPerTrain, i)]; - totalSpacing += vehicleEntry->spacing; - } + sint32 totalSpacing = 0; + for (sint32 i = 0; i < newCarsPerTrain; i++) { + vehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, newCarsPerTrain, i)]; + totalSpacing += vehicleEntry->spacing; + } - totalSpacing >>= 13; - sint32 trackLength = ride_get_track_length(ride) / 4; - if (speed > 10) trackLength = (trackLength * 3) / 4; - if (speed > 25) trackLength = (trackLength * 3) / 4; - if (speed > 40) trackLength = (trackLength * 3) / 4; + totalSpacing >>= 13; + sint32 trackLength = ride_get_track_length(ride) / 4; + if (speed > 10) trackLength = (trackLength * 3) / 4; + if (speed > 25) trackLength = (trackLength * 3) / 4; + if (speed > 40) trackLength = (trackLength * 3) / 4; - maxNumTrains = 0; - sint32 length = 0; - do { - maxNumTrains++; - length += totalSpacing; - } while (maxNumTrains < 31 && length < trackLength); - } - break; - } - ride->max_trains = maxNumTrains; + maxNumTrains = 0; + sint32 length = 0; + do { + maxNumTrains++; + length += totalSpacing; + } while (maxNumTrains < 31 && length < trackLength); + } + break; + } + ride->max_trains = maxNumTrains; - numCarsPerTrain = min(ride->proposed_num_cars_per_train, newCarsPerTrain); - } else { - ride->max_trains = rideEntry->cars_per_flat_ride; - ride->min_max_cars_per_train = rideEntry->max_cars_in_train | (rideEntry->min_cars_in_train << 4); - numCarsPerTrain = rideEntry->max_cars_in_train; - maxNumTrains = rideEntry->cars_per_flat_ride; - } + numCarsPerTrain = min(ride->proposed_num_cars_per_train, newCarsPerTrain); + } else { + ride->max_trains = rideEntry->cars_per_flat_ride; + ride->min_max_cars_per_train = rideEntry->max_cars_in_train | (rideEntry->min_cars_in_train << 4); + numCarsPerTrain = rideEntry->max_cars_in_train; + maxNumTrains = rideEntry->cars_per_flat_ride; + } - if (gCheatsDisableTrainLengthLimit) { - maxNumTrains = 31; - } - numVehicles = min(ride->proposed_num_vehicles, maxNumTrains); + if (gCheatsDisableTrainLengthLimit) { + maxNumTrains = 31; + } + numVehicles = min(ride->proposed_num_vehicles, maxNumTrains); - // Refresh new current num vehicles / num cars per vehicle - if (numVehicles != ride->num_vehicles || numCarsPerTrain != ride->num_cars_per_train) { - ride->num_cars_per_train = numCarsPerTrain; - ride->num_vehicles = numVehicles; - window_invalidate_by_number(WC_RIDE, rideIndex); - } + // Refresh new current num vehicles / num cars per vehicle + if (numVehicles != ride->num_vehicles || numCarsPerTrain != ride->num_cars_per_train) { + ride->num_cars_per_train = numCarsPerTrain; + ride->num_vehicles = numVehicles; + window_invalidate_by_number(WC_RIDE, rideIndex); + } } void ride_set_ride_entry(sint32 rideIndex, sint32 rideEntry) { - gGameCommandErrorTitle = STR_RIDE_SET_VEHICLE_TYPE_FAIL; - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY | (RIDE_SET_VEHICLES_COMMAND_TYPE_RIDE_ENTRY << 8), - 0, - (rideEntry << 8) | rideIndex, - GAME_COMMAND_SET_RIDE_VEHICLES, - 0, - 0 - ); + gGameCommandErrorTitle = STR_RIDE_SET_VEHICLE_TYPE_FAIL; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY | (RIDE_SET_VEHICLES_COMMAND_TYPE_RIDE_ENTRY << 8), + 0, + (rideEntry << 8) | rideIndex, + GAME_COMMAND_SET_RIDE_VEHICLES, + 0, + 0 + ); } void ride_set_num_vehicles(sint32 rideIndex, sint32 numVehicles) { - gGameCommandErrorTitle = STR_RIDE_SET_VEHICLE_SET_NUM_TRAINS_FAIL; - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY | (RIDE_SET_VEHICLES_COMMAND_TYPE_NUM_TRAINS << 8), - 0, - (numVehicles << 8) | rideIndex, - GAME_COMMAND_SET_RIDE_VEHICLES, - 0, - 0 - ); + gGameCommandErrorTitle = STR_RIDE_SET_VEHICLE_SET_NUM_TRAINS_FAIL; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY | (RIDE_SET_VEHICLES_COMMAND_TYPE_NUM_TRAINS << 8), + 0, + (numVehicles << 8) | rideIndex, + GAME_COMMAND_SET_RIDE_VEHICLES, + 0, + 0 + ); } void ride_set_num_cars_per_vehicle(sint32 rideIndex, sint32 numCarsPerVehicle) { - gGameCommandErrorTitle = STR_RIDE_SET_VEHICLE_SET_NUM_CARS_PER_TRAIN_FAIL; - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY | (RIDE_SET_VEHICLES_COMMAND_TYPE_NUM_CARS_PER_TRAIN << 8), - 0, - (numCarsPerVehicle << 8) | rideIndex, - GAME_COMMAND_SET_RIDE_VEHICLES, - 0, - 0 - ); + gGameCommandErrorTitle = STR_RIDE_SET_VEHICLE_SET_NUM_CARS_PER_TRAIN_FAIL; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY | (RIDE_SET_VEHICLES_COMMAND_TYPE_NUM_CARS_PER_TRAIN << 8), + 0, + (numCarsPerVehicle << 8) | rideIndex, + GAME_COMMAND_SET_RIDE_VEHICLES, + 0, + 0 + ); } static bool ride_is_vehicle_type_valid(rct_ride *ride, uint8 inputRideEntryIndex) { - bool selectionShouldBeExpanded; - sint32 rideTypeIterator, rideTypeIteratorMax; + bool selectionShouldBeExpanded; + sint32 rideTypeIterator, rideTypeIteratorMax; - if (gCheatsShowVehiclesFromOtherTrackTypes && - !(ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) || ride->type == RIDE_TYPE_MAZE || ride->type == RIDE_TYPE_MINI_GOLF) - ) { - selectionShouldBeExpanded = true; - rideTypeIterator = 0; - rideTypeIteratorMax = RIDE_TYPE_COUNT - 1; - } else { - selectionShouldBeExpanded = false; - rideTypeIterator = ride->type; - rideTypeIteratorMax = ride->type; - } + if (gCheatsShowVehiclesFromOtherTrackTypes && + !(ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) || ride->type == RIDE_TYPE_MAZE || ride->type == RIDE_TYPE_MINI_GOLF) + ) { + selectionShouldBeExpanded = true; + rideTypeIterator = 0; + rideTypeIteratorMax = RIDE_TYPE_COUNT - 1; + } else { + selectionShouldBeExpanded = false; + rideTypeIterator = ride->type; + rideTypeIteratorMax = ride->type; + } - for (; rideTypeIterator <= rideTypeIteratorMax; rideTypeIterator++) { - if (selectionShouldBeExpanded) { - if (ride_type_has_flag(rideTypeIterator, RIDE_TYPE_FLAG_FLAT_RIDE)) continue; - if (rideTypeIterator == RIDE_TYPE_MAZE || rideTypeIterator == RIDE_TYPE_MINI_GOLF) continue; - } + for (; rideTypeIterator <= rideTypeIteratorMax; rideTypeIterator++) { + if (selectionShouldBeExpanded) { + if (ride_type_has_flag(rideTypeIterator, RIDE_TYPE_FLAG_FLAT_RIDE)) continue; + if (rideTypeIterator == RIDE_TYPE_MAZE || rideTypeIterator == RIDE_TYPE_MINI_GOLF) continue; + } - uint8 *rideEntryIndexPtr = get_ride_entry_indices_for_ride_type(rideTypeIterator); - for (uint8 *currentRideEntryIndex = rideEntryIndexPtr; *currentRideEntryIndex != 0xFF; currentRideEntryIndex++) { - uint8 rideEntryIndex = *currentRideEntryIndex; - if (rideEntryIndex == inputRideEntryIndex) { - if (!ride_entry_is_invented(rideEntryIndex)) { - return false; - } + uint8 *rideEntryIndexPtr = get_ride_entry_indices_for_ride_type(rideTypeIterator); + for (uint8 *currentRideEntryIndex = rideEntryIndexPtr; *currentRideEntryIndex != 0xFF; currentRideEntryIndex++) { + uint8 rideEntryIndex = *currentRideEntryIndex; + if (rideEntryIndex == inputRideEntryIndex) { + if (!ride_entry_is_invented(rideEntryIndex)) { + return false; + } - return true; - } - } - } + return true; + } + } + } - return false; + return false; } static money32 ride_set_vehicles(uint8 rideIndex, uint8 setting, uint8 value, uint32 flags, uint8 ex) { - rct_ride_entry *rideEntry; + rct_ride_entry *rideEntry; - rct_ride *ride = get_ride(rideIndex); - if (ride == NULL || ride->type == RIDE_TYPE_NULL) { - log_warning("Invalid game command for ride #%u", rideIndex); - return MONEY32_UNDEFINED; - } + rct_ride *ride = get_ride(rideIndex); + if (ride == NULL || ride->type == RIDE_TYPE_NULL) { + log_warning("Invalid game command for ride #%u", rideIndex); + return MONEY32_UNDEFINED; + } - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { - gGameCommandErrorText = STR_HAS_BROKEN_DOWN_AND_REQUIRES_FIXING; - return MONEY32_UNDEFINED; - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { + gGameCommandErrorText = STR_HAS_BROKEN_DOWN_AND_REQUIRES_FIXING; + return MONEY32_UNDEFINED; + } - if (ride->status != RIDE_STATUS_CLOSED) { - gGameCommandErrorText = STR_MUST_BE_CLOSED_FIRST; - return MONEY32_UNDEFINED; - } + if (ride->status != RIDE_STATUS_CLOSED) { + gGameCommandErrorText = STR_MUST_BE_CLOSED_FIRST; + return MONEY32_UNDEFINED; + } - switch (setting) { - case RIDE_SET_VEHICLES_COMMAND_TYPE_NUM_TRAINS: - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - return 0; - } + switch (setting) { + case RIDE_SET_VEHICLES_COMMAND_TYPE_NUM_TRAINS: + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + return 0; + } - ride_clear_for_construction(rideIndex); - ride_remove_peeps(rideIndex); - ride->vehicle_change_timeout = 100; + ride_clear_for_construction(rideIndex); + ride_remove_peeps(rideIndex); + ride->vehicle_change_timeout = 100; - ride->proposed_num_vehicles = value; - break; - case RIDE_SET_VEHICLES_COMMAND_TYPE_NUM_CARS_PER_TRAIN: - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - return 0; - } + ride->proposed_num_vehicles = value; + break; + case RIDE_SET_VEHICLES_COMMAND_TYPE_NUM_CARS_PER_TRAIN: + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + return 0; + } - ride_clear_for_construction(rideIndex); - ride_remove_peeps(rideIndex); - ride->vehicle_change_timeout = 100; + ride_clear_for_construction(rideIndex); + ride_remove_peeps(rideIndex); + ride->vehicle_change_timeout = 100; - invalidate_test_results(rideIndex); - rideEntry = get_ride_entry(ride->subtype); - if (!gCheatsDisableTrainLengthLimit) { - value = clamp(rideEntry->min_cars_in_train, value, rideEntry->max_cars_in_train); - } - ride->proposed_num_cars_per_train = value; - break; - case RIDE_SET_VEHICLES_COMMAND_TYPE_RIDE_ENTRY: - if (!ride_is_vehicle_type_valid(ride, value)) { - log_error("Invalid vehicle type."); - return MONEY32_UNDEFINED; - } + invalidate_test_results(rideIndex); + rideEntry = get_ride_entry(ride->subtype); + if (!gCheatsDisableTrainLengthLimit) { + value = clamp(rideEntry->min_cars_in_train, value, rideEntry->max_cars_in_train); + } + ride->proposed_num_cars_per_train = value; + break; + case RIDE_SET_VEHICLES_COMMAND_TYPE_RIDE_ENTRY: + if (!ride_is_vehicle_type_valid(ride, value)) { + log_error("Invalid vehicle type."); + return MONEY32_UNDEFINED; + } - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - return 0; - } + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + return 0; + } - ride_clear_for_construction(rideIndex); - ride_remove_peeps(rideIndex); - ride->vehicle_change_timeout = 100; + ride_clear_for_construction(rideIndex); + ride_remove_peeps(rideIndex); + ride->vehicle_change_timeout = 100; - invalidate_test_results(rideIndex); - rideEntry = get_ride_entry(ride->subtype); - ride->subtype = value; + invalidate_test_results(rideIndex); + rideEntry = get_ride_entry(ride->subtype); + ride->subtype = value; - uint8 preset = ex; - if (!(flags & GAME_COMMAND_FLAG_NETWORKED)) { - preset = ride_get_unused_preset_vehicle_colour(ride->type, ride->subtype); - } + uint8 preset = ex; + if (!(flags & GAME_COMMAND_FLAG_NETWORKED)) { + preset = ride_get_unused_preset_vehicle_colour(ride->type, ride->subtype); + } - // Validate preset - vehicle_colour_preset_list *presetList = rideEntry->vehicle_preset_list; - if (preset >= presetList->count) { - log_error("Unknown vehicle colour preset."); - return MONEY32_UNDEFINED; - } + // Validate preset + vehicle_colour_preset_list *presetList = rideEntry->vehicle_preset_list; + if (preset >= presetList->count) { + log_error("Unknown vehicle colour preset."); + return MONEY32_UNDEFINED; + } - ride_set_vehicle_colours_to_random_preset(ride, preset); - if (!gCheatsDisableTrainLengthLimit) { - ride->proposed_num_cars_per_train = clamp(rideEntry->min_cars_in_train, ride->proposed_num_cars_per_train, rideEntry->max_cars_in_train); - } - break; - default: - log_error("Unknown vehicle command."); - return MONEY32_UNDEFINED; - } + ride_set_vehicle_colours_to_random_preset(ride, preset); + if (!gCheatsDisableTrainLengthLimit) { + ride->proposed_num_cars_per_train = clamp(rideEntry->min_cars_in_train, ride->proposed_num_cars_per_train, rideEntry->max_cars_in_train); + } + break; + default: + log_error("Unknown vehicle command."); + return MONEY32_UNDEFINED; + } - ride->num_circuits = 1; - ride_update_max_vehicles(rideIndex); + ride->num_circuits = 1; + ride_update_max_vehicles(rideIndex); - if (ride->overall_view != (uint16)-1) { - rct_xyz16 coord; - coord.x = (ride->overall_view & 0xFF) * 32 + 16; - coord.y = (ride->overall_view >> 8) * 32 + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (ride->overall_view != (uint16)-1) { + rct_xyz16 coord; + coord.x = (ride->overall_view & 0xFF) * 32 + 16; + coord.y = (ride->overall_view >> 8) * 32 + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - rct_window *w = window_find_by_number(WC_RIDE, rideIndex); - if (w != NULL) { - if (w->page == 4) { - w->var_48C = 0; - } - window_invalidate(w); - } + rct_window *w = window_find_by_number(WC_RIDE, rideIndex); + if (w != NULL) { + if (w->page == 4) { + w->var_48C = 0; + } + window_invalidate(w); + } - gfx_invalidate_screen(); - return 0; + gfx_invalidate_screen(); + return 0; } /** @@ -7854,12 +7854,12 @@ static money32 ride_set_vehicles(uint8 rideIndex, uint8 setting, uint8 value, ui */ void game_command_set_ride_vehicles(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - uint8 rideIndex = *edx & 0xFF; - uint8 setting = (*ebx >> 8) & 0xFF; - uint8 value = (*edx >> 8) & 0xFF; - uint32 flags = *ebx; - uint8 ex = *eax & 0xFF; - *ebx = ride_set_vehicles(rideIndex, setting, value, flags, ex); + uint8 rideIndex = *edx & 0xFF; + uint8 setting = (*ebx >> 8) & 0xFF; + uint8 value = (*edx >> 8) & 0xFF; + uint32 flags = *ebx; + uint8 ex = *eax & 0xFF; + *ebx = ride_set_vehicles(rideIndex, setting, value, flags, ex); } /** @@ -7868,195 +7868,195 @@ void game_command_set_ride_vehicles(sint32 *eax, sint32 *ebx, sint32 *ecx, sint3 */ void sub_6CB945(sint32 rideIndex) { - rct_ride* ride = get_ride(rideIndex); - if (ride->type != RIDE_TYPE_MAZE) { - for (uint8 stationId = 0; stationId < 4; ++stationId) { - if (ride->station_starts[stationId] == 0xFFFF) - continue; + rct_ride* ride = get_ride(rideIndex); + if (ride->type != RIDE_TYPE_MAZE) { + for (uint8 stationId = 0; stationId < 4; ++stationId) { + if (ride->station_starts[stationId] == 0xFFFF) + continue; - rct_xyz16 location = { - .x = (ride->station_starts[stationId] & 0xFF) * 32, - .y = ((ride->station_starts[stationId] >> 8) & 0xFF) * 32, - .z = ride->station_heights[stationId] - }; - uint8 direction = 0xFF; + rct_xyz16 location = { + .x = (ride->station_starts[stationId] & 0xFF) * 32, + .y = ((ride->station_starts[stationId] >> 8) & 0xFF) * 32, + .z = ride->station_heights[stationId] + }; + uint8 direction = 0xFF; - bool specialTrack = false; - rct_map_element* mapElement = NULL; + bool specialTrack = false; + rct_map_element* mapElement = NULL; - while (true) { - if (direction != 0xFF) { - location.x -= TileDirectionDelta[direction].x; - location.y -= TileDirectionDelta[direction].y; - } - mapElement = map_get_first_element_at(location.x >> 5, location.y >> 5); + while (true) { + if (direction != 0xFF) { + location.x -= TileDirectionDelta[direction].x; + location.y -= TileDirectionDelta[direction].y; + } + mapElement = map_get_first_element_at(location.x >> 5, location.y >> 5); - bool trackFound = false; - do { - if (mapElement->base_height != location.z) continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (mapElement->properties.track.ride_index != rideIndex) continue; - if ((mapElement->properties.track.sequence & 0x0F) != 0) continue; - if (!(TrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) continue; + bool trackFound = false; + do { + if (mapElement->base_height != location.z) continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (mapElement->properties.track.ride_index != rideIndex) continue; + if ((mapElement->properties.track.sequence & 0x0F) != 0) continue; + if (!(TrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) continue; - trackFound = true; - break; - } while (!map_element_is_last_for_tile(mapElement++)); + trackFound = true; + break; + } while (!map_element_is_last_for_tile(mapElement++)); - if (trackFound == false) { - break; - } + if (trackFound == false) { + break; + } - mapElement->properties.track.sequence &= 0x8F; - mapElement->properties.track.sequence |= (stationId << 4); + mapElement->properties.track.sequence &= 0x8F; + mapElement->properties.track.sequence |= (stationId << 4); - direction = map_element_get_direction(mapElement); + direction = map_element_get_direction(mapElement); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3)) { - specialTrack = true; - break; - } - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3)) { + specialTrack = true; + break; + } + } - if (specialTrack == false) { - continue; - } + if (specialTrack == false) { + continue; + } - const rct_preview_track *trackBlock = get_track_def_from_ride(ride, mapElement->properties.track.type); - while ((++trackBlock)->index != 0xFF) { - rct_xyz16 blockLocation = location; - map_offset_with_rotation(&blockLocation.x, &blockLocation.y, trackBlock->x, trackBlock->y, direction); + const rct_preview_track *trackBlock = get_track_def_from_ride(ride, mapElement->properties.track.type); + while ((++trackBlock)->index != 0xFF) { + rct_xyz16 blockLocation = location; + map_offset_with_rotation(&blockLocation.x, &blockLocation.y, trackBlock->x, trackBlock->y, direction); - bool trackFound = false; - mapElement = map_get_first_element_at(blockLocation.x >> 5, blockLocation.y >> 5); - do { - if (blockLocation.z != mapElement->base_height) continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (!(TrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) continue; + bool trackFound = false; + mapElement = map_get_first_element_at(blockLocation.x >> 5, blockLocation.y >> 5); + do { + if (blockLocation.z != mapElement->base_height) continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (!(TrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) continue; - trackFound = true; - break; - } while (!map_element_is_last_for_tile(mapElement++)); + trackFound = true; + break; + } while (!map_element_is_last_for_tile(mapElement++)); - if (!trackFound) { - break; - } + if (!trackFound) { + break; + } - mapElement->properties.track.sequence &= 0x8F; - mapElement->properties.track.sequence |= (stationId << 4); - } - } - } + mapElement->properties.track.sequence &= 0x8F; + mapElement->properties.track.sequence |= (stationId << 4); + } + } + } - uint16 locations[9]; - uint16 *locationList = locations; - for (uint8 stationId = 0; stationId < 4; ++stationId) { - if (ride->entrances[stationId] != 0xFFFF) { - *locationList++ = ride->entrances[stationId]; - ride->entrances[stationId] = 0xFFFF; - } + uint16 locations[9]; + uint16 *locationList = locations; + for (uint8 stationId = 0; stationId < 4; ++stationId) { + if (ride->entrances[stationId] != 0xFFFF) { + *locationList++ = ride->entrances[stationId]; + ride->entrances[stationId] = 0xFFFF; + } - if (ride->exits[stationId] != 0xFFFF) { - *locationList++ = ride->exits[stationId]; - ride->exits[stationId] = 0xFFFF; - } - } - *locationList++ = 0xFFFF; + if (ride->exits[stationId] != 0xFFFF) { + *locationList++ = ride->exits[stationId]; + ride->exits[stationId] = 0xFFFF; + } + } + *locationList++ = 0xFFFF; - locationList = locations; - for (; *locationList != 0xFFFF; locationList++) { - uint16* locationList2 = locationList; - locationList2++; + locationList = locations; + for (; *locationList != 0xFFFF; locationList++) { + uint16* locationList2 = locationList; + locationList2++; - bool duplicateLocation = false; - do { - if (*locationList == *locationList2) { - duplicateLocation = true; - break; - } - } while (*locationList2++ != 0xFFFF); + bool duplicateLocation = false; + do { + if (*locationList == *locationList2) { + duplicateLocation = true; + break; + } + } while (*locationList2++ != 0xFFFF); - if (duplicateLocation == true) { - continue; - } + if (duplicateLocation == true) { + continue; + } - rct_xy16 location = { - .x = (*locationList & 0xFF) * 32, - .y = ((*locationList >> 8) & 0xFF) * 32 - }; + rct_xy16 location = { + .x = (*locationList & 0xFF) * 32, + .y = ((*locationList >> 8) & 0xFF) * 32 + }; - rct_map_element *mapElement = map_get_first_element_at(location.x >> 5, location.y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) continue; - if (mapElement->properties.entrance.ride_index != rideIndex) continue; - if (mapElement->properties.entrance.type > ENTRANCE_TYPE_RIDE_EXIT) continue; + rct_map_element *mapElement = map_get_first_element_at(location.x >> 5, location.y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) continue; + if (mapElement->properties.entrance.ride_index != rideIndex) continue; + if (mapElement->properties.entrance.type > ENTRANCE_TYPE_RIDE_EXIT) continue; - rct_xy16 nextLocation = location; - nextLocation.x += TileDirectionDelta[map_element_get_direction(mapElement)].x; - nextLocation.y += TileDirectionDelta[map_element_get_direction(mapElement)].y; + rct_xy16 nextLocation = location; + nextLocation.x += TileDirectionDelta[map_element_get_direction(mapElement)].x; + nextLocation.y += TileDirectionDelta[map_element_get_direction(mapElement)].y; - bool shouldRemove = true; - rct_map_element *trackElement = map_get_first_element_at(nextLocation.x >> 5, nextLocation.y >> 5); - do { - if (map_element_get_type(trackElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (trackElement->properties.track.ride_index != rideIndex) continue; - if (trackElement->base_height != mapElement->base_height) continue; + bool shouldRemove = true; + rct_map_element *trackElement = map_get_first_element_at(nextLocation.x >> 5, nextLocation.y >> 5); + do { + if (map_element_get_type(trackElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (trackElement->properties.track.ride_index != rideIndex) continue; + if (trackElement->base_height != mapElement->base_height) continue; - uint8 trackType = trackElement->properties.track.type; - uint8 trackSequence = trackElement->properties.track.sequence & 0xF; + uint8 trackType = trackElement->properties.track.type; + uint8 trackSequence = trackElement->properties.track.sequence & 0xF; - uint8 direction = (map_element_get_direction(mapElement) - map_element_get_direction(trackElement) + 2) & 3; + uint8 direction = (map_element_get_direction(mapElement) - map_element_get_direction(trackElement) + 2) & 3; - if (!(TrackSequenceProperties[trackType][trackSequence] & (1 << direction))) { - continue; - } + if (!(TrackSequenceProperties[trackType][trackSequence] & (1 << direction))) { + continue; + } - uint8 stationId = 0; - if (trackElement->properties.track.type != TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP) { - stationId = (trackElement->properties.track.sequence >> 4) & 0x7; - } + uint8 stationId = 0; + if (trackElement->properties.track.type != TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP) { + stationId = (trackElement->properties.track.sequence >> 4) & 0x7; + } - if (mapElement->properties.entrance.type == ENTRANCE_TYPE_RIDE_EXIT) { - if (ride->exits[stationId] != 0xFFFF) { - break; - } - ride->exits[stationId] = (location.x / 32) | ((location.y / 32) << 8); - } else { - if (ride->entrances[stationId] != 0xFFFF) { - break; - } - ride->entrances[stationId] = (location.x / 32) | ((location.y / 32) << 8); - } + if (mapElement->properties.entrance.type == ENTRANCE_TYPE_RIDE_EXIT) { + if (ride->exits[stationId] != 0xFFFF) { + break; + } + ride->exits[stationId] = (location.x / 32) | ((location.y / 32) << 8); + } else { + if (ride->entrances[stationId] != 0xFFFF) { + break; + } + ride->entrances[stationId] = (location.x / 32) | ((location.y / 32) << 8); + } - mapElement->properties.entrance.index &= 0x8F; - mapElement->properties.entrance.index |= stationId << 4; - shouldRemove = false; - } while (!map_element_is_last_for_tile(trackElement++)); + mapElement->properties.entrance.index &= 0x8F; + mapElement->properties.entrance.index |= stationId << 4; + shouldRemove = false; + } while (!map_element_is_last_for_tile(trackElement++)); - if (shouldRemove == true) { - footpath_queue_chain_reset(); - maze_entrance_hedge_replacement(location.x, location.y, mapElement); - footpath_remove_edges_at(location.x, location.y, mapElement); - footpath_update_queue_chains(); - map_invalidate_tile_full(location.x, location.y); - map_element_remove(mapElement); - mapElement--; - } - } while (!map_element_is_last_for_tile(mapElement++)); - } + if (shouldRemove == true) { + footpath_queue_chain_reset(); + maze_entrance_hedge_replacement(location.x, location.y, mapElement); + footpath_remove_edges_at(location.x, location.y, mapElement); + footpath_update_queue_chains(); + map_invalidate_tile_full(location.x, location.y); + map_element_remove(mapElement); + mapElement--; + } + } while (!map_element_is_last_for_tile(mapElement++)); + } } void ride_set_to_default_inspection_interval(sint32 rideIndex) { - rct_ride *ride = get_ride(rideIndex); - uint8 defaultInspectionInterval = gConfigGeneral.default_inspection_interval; - if (ride->inspection_interval != defaultInspectionInterval) { - if (defaultInspectionInterval <= RIDE_INSPECTION_NEVER) { - gGameCommandErrorTitle = STR_CANT_CHANGE_OPERATING_MODE; - game_do_command(0, (defaultInspectionInterval << 8) | 1, 0, (5 << 8) | rideIndex, GAME_COMMAND_SET_RIDE_SETTING, 0, 0); - } - } + rct_ride *ride = get_ride(rideIndex); + uint8 defaultInspectionInterval = gConfigGeneral.default_inspection_interval; + if (ride->inspection_interval != defaultInspectionInterval) { + if (defaultInspectionInterval <= RIDE_INSPECTION_NEVER) { + gGameCommandErrorTitle = STR_CANT_CHANGE_OPERATING_MODE; + game_do_command(0, (defaultInspectionInterval << 8) | 1, 0, (5 << 8) | rideIndex, GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + } + } } /** @@ -8065,209 +8065,209 @@ void ride_set_to_default_inspection_interval(sint32 rideIndex) */ void ride_crash(uint8 rideIndex, uint8 vehicleIndex) { - rct_ride *ride = get_ride(rideIndex); - rct_vehicle *vehicle = GET_VEHICLE(ride->vehicles[vehicleIndex]); + rct_ride *ride = get_ride(rideIndex); + rct_vehicle *vehicle = GET_VEHICLE(ride->vehicles[vehicleIndex]); - if (!(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) { - // Open ride window for crashed vehicle - rct_window *w = window_ride_open_vehicle(vehicle); - if (w->viewport != NULL) { - w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; - } - } + if (!(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) { + // Open ride window for crashed vehicle + rct_window *w = window_ride_open_vehicle(vehicle); + if (w->viewport != NULL) { + w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; + } + } - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); - if (gConfigNotifications.ride_crashed) { - news_item_add_to_queue(NEWS_ITEM_RIDE, STR_RIDE_HAS_CRASHED, rideIndex); - } + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); + if (gConfigNotifications.ride_crashed) { + news_item_add_to_queue(NEWS_ITEM_RIDE, STR_RIDE_HAS_CRASHED, rideIndex); + } } bool shop_item_is_food_or_drink(sint32 shopItem) { - switch (shopItem) { - case SHOP_ITEM_DRINK: - case SHOP_ITEM_BURGER: - case SHOP_ITEM_CHIPS: - case SHOP_ITEM_ICE_CREAM: - case SHOP_ITEM_CANDYFLOSS: - case SHOP_ITEM_PIZZA: - case SHOP_ITEM_POPCORN: - case SHOP_ITEM_HOT_DOG: - case SHOP_ITEM_TENTACLE: - case SHOP_ITEM_CANDY_APPLE: - case SHOP_ITEM_DONUT: - case SHOP_ITEM_COFFEE: - case SHOP_ITEM_CHICKEN: - case SHOP_ITEM_LEMONADE: - case SHOP_ITEM_PRETZEL: - case SHOP_ITEM_CHOCOLATE: - case SHOP_ITEM_ICED_TEA: - case SHOP_ITEM_FUNNEL_CAKE: - case SHOP_ITEM_BEEF_NOODLES: - case SHOP_ITEM_FRIED_RICE_NOODLES: - case SHOP_ITEM_WONTON_SOUP: - case SHOP_ITEM_MEATBALL_SOUP: - case SHOP_ITEM_FRUIT_JUICE: - case SHOP_ITEM_SOYBEAN_MILK: - case SHOP_ITEM_SU_JONGKWA: - case SHOP_ITEM_SUB_SANDWICH: - case SHOP_ITEM_COOKIE: - case SHOP_ITEM_ROAST_SAUSAGE: - return true; - default: - return false; - } + switch (shopItem) { + case SHOP_ITEM_DRINK: + case SHOP_ITEM_BURGER: + case SHOP_ITEM_CHIPS: + case SHOP_ITEM_ICE_CREAM: + case SHOP_ITEM_CANDYFLOSS: + case SHOP_ITEM_PIZZA: + case SHOP_ITEM_POPCORN: + case SHOP_ITEM_HOT_DOG: + case SHOP_ITEM_TENTACLE: + case SHOP_ITEM_CANDY_APPLE: + case SHOP_ITEM_DONUT: + case SHOP_ITEM_COFFEE: + case SHOP_ITEM_CHICKEN: + case SHOP_ITEM_LEMONADE: + case SHOP_ITEM_PRETZEL: + case SHOP_ITEM_CHOCOLATE: + case SHOP_ITEM_ICED_TEA: + case SHOP_ITEM_FUNNEL_CAKE: + case SHOP_ITEM_BEEF_NOODLES: + case SHOP_ITEM_FRIED_RICE_NOODLES: + case SHOP_ITEM_WONTON_SOUP: + case SHOP_ITEM_MEATBALL_SOUP: + case SHOP_ITEM_FRUIT_JUICE: + case SHOP_ITEM_SOYBEAN_MILK: + case SHOP_ITEM_SU_JONGKWA: + case SHOP_ITEM_SUB_SANDWICH: + case SHOP_ITEM_COOKIE: + case SHOP_ITEM_ROAST_SAUSAGE: + return true; + default: + return false; + } } bool shop_item_is_food(sint32 shopItem) { - switch (shopItem) { - case SHOP_ITEM_BURGER: - case SHOP_ITEM_CHIPS: - case SHOP_ITEM_ICE_CREAM: - case SHOP_ITEM_CANDYFLOSS: - case SHOP_ITEM_PIZZA: - case SHOP_ITEM_POPCORN: - case SHOP_ITEM_HOT_DOG: - case SHOP_ITEM_TENTACLE: - case SHOP_ITEM_CANDY_APPLE: - case SHOP_ITEM_DONUT: - case SHOP_ITEM_CHICKEN: - case SHOP_ITEM_PRETZEL: - case SHOP_ITEM_FUNNEL_CAKE: - case SHOP_ITEM_BEEF_NOODLES: - case SHOP_ITEM_FRIED_RICE_NOODLES: - case SHOP_ITEM_WONTON_SOUP: - case SHOP_ITEM_MEATBALL_SOUP: - case SHOP_ITEM_SUB_SANDWICH: - case SHOP_ITEM_COOKIE: - case SHOP_ITEM_ROAST_SAUSAGE: - return true; - default: - return false; - } + switch (shopItem) { + case SHOP_ITEM_BURGER: + case SHOP_ITEM_CHIPS: + case SHOP_ITEM_ICE_CREAM: + case SHOP_ITEM_CANDYFLOSS: + case SHOP_ITEM_PIZZA: + case SHOP_ITEM_POPCORN: + case SHOP_ITEM_HOT_DOG: + case SHOP_ITEM_TENTACLE: + case SHOP_ITEM_CANDY_APPLE: + case SHOP_ITEM_DONUT: + case SHOP_ITEM_CHICKEN: + case SHOP_ITEM_PRETZEL: + case SHOP_ITEM_FUNNEL_CAKE: + case SHOP_ITEM_BEEF_NOODLES: + case SHOP_ITEM_FRIED_RICE_NOODLES: + case SHOP_ITEM_WONTON_SOUP: + case SHOP_ITEM_MEATBALL_SOUP: + case SHOP_ITEM_SUB_SANDWICH: + case SHOP_ITEM_COOKIE: + case SHOP_ITEM_ROAST_SAUSAGE: + return true; + default: + return false; + } } bool shop_item_is_drink(sint32 shopItem) { - switch (shopItem) { - case SHOP_ITEM_DRINK: - case SHOP_ITEM_COFFEE: - case SHOP_ITEM_LEMONADE: - case SHOP_ITEM_CHOCOLATE: - case SHOP_ITEM_ICED_TEA: - case SHOP_ITEM_FRUIT_JUICE: - case SHOP_ITEM_SOYBEAN_MILK: - case SHOP_ITEM_SU_JONGKWA: - return true; - default: - return false; - } + switch (shopItem) { + case SHOP_ITEM_DRINK: + case SHOP_ITEM_COFFEE: + case SHOP_ITEM_LEMONADE: + case SHOP_ITEM_CHOCOLATE: + case SHOP_ITEM_ICED_TEA: + case SHOP_ITEM_FRUIT_JUICE: + case SHOP_ITEM_SOYBEAN_MILK: + case SHOP_ITEM_SU_JONGKWA: + return true; + default: + return false; + } } bool shop_item_is_souvenir(sint32 shopItem) { - switch (shopItem) { - case SHOP_ITEM_BALLOON: - case SHOP_ITEM_TOY: - case SHOP_ITEM_MAP: - case SHOP_ITEM_PHOTO: - case SHOP_ITEM_UMBRELLA: - case SHOP_ITEM_HAT: - case SHOP_ITEM_TSHIRT: - case SHOP_ITEM_PHOTO2: - case SHOP_ITEM_PHOTO3: - case SHOP_ITEM_PHOTO4: - case SHOP_ITEM_SUNGLASSES: - return true; - default: - return false; - } + switch (shopItem) { + case SHOP_ITEM_BALLOON: + case SHOP_ITEM_TOY: + case SHOP_ITEM_MAP: + case SHOP_ITEM_PHOTO: + case SHOP_ITEM_UMBRELLA: + case SHOP_ITEM_HAT: + case SHOP_ITEM_TSHIRT: + case SHOP_ITEM_PHOTO2: + case SHOP_ITEM_PHOTO3: + case SHOP_ITEM_PHOTO4: + case SHOP_ITEM_SUNGLASSES: + return true; + default: + return false; + } } void ride_reset_all_names() { - sint32 i; - rct_ride *ride; - char rideNameBuffer[256]; + sint32 i; + rct_ride *ride; + char rideNameBuffer[256]; - FOR_ALL_RIDES(i, ride) - { - ride->name = STR_NONE; + FOR_ALL_RIDES(i, ride) + { + ride->name = STR_NONE; #pragma pack(push, 1) - struct { - uint16 type_name; - uint16 number; - } name_args; - assert_struct_size(name_args, 4); + struct { + uint16 type_name; + uint16 number; + } name_args; + assert_struct_size(name_args, 4); #pragma pack(pop) - name_args.type_name = 2 + ride->type; - name_args.number = 0; - do { - name_args.number++; - format_string(rideNameBuffer, 256, 1, &name_args); - } while (ride_name_exists(rideNameBuffer)); + name_args.type_name = 2 + ride->type; + name_args.number = 0; + do { + name_args.number++; + format_string(rideNameBuffer, 256, 1, &name_args); + } while (ride_name_exists(rideNameBuffer)); - ride->name = 1; - ride->name_arguments_type_name = name_args.type_name; - ride->name_arguments_number = name_args.number; - } + ride->name = 1; + ride->name_arguments_type_name = name_args.type_name; + ride->name_arguments_number = name_args.number; + } } const uint8* ride_seek_available_modes(rct_ride *ride) { - const uint8* availableModes; + const uint8* availableModes; - if (!gCheatsShowAllOperatingModes) { - availableModes = RideAvailableModes; + if (!gCheatsShowAllOperatingModes) { + availableModes = RideAvailableModes; - for (sint32 i = 0; i < ride->type; i++) { - while (*(availableModes++) != 255) { } - } - } - else - { - availableModes = AllRideModesAvailable; - } + for (sint32 i = 0; i < ride->type; i++) { + while (*(availableModes++) != 255) { } + } + } + else + { + availableModes = AllRideModesAvailable; + } - return availableModes; + return availableModes; } // Gets the approximate value of customers per hour for this ride. Multiplies ride_customers_in_last_5_minutes() by 12. uint32 ride_customers_per_hour(const rct_ride *ride) { - return ride_customers_in_last_5_minutes(ride) * 12; + return ride_customers_in_last_5_minutes(ride) * 12; } // Calculates the number of customers for this ride in the last 5 minutes (or more correctly 9600 game ticks) uint32 ride_customers_in_last_5_minutes(const rct_ride *ride) { - uint32 sum = ride->num_customers[0] - + ride->num_customers[1] - + ride->num_customers[2] - + ride->num_customers[3] - + ride->num_customers[4] - + ride->num_customers[5] - + ride->num_customers[6] - + ride->num_customers[7] - + ride->num_customers[8] - + ride->num_customers[9]; - return sum; + uint32 sum = ride->num_customers[0] + + ride->num_customers[1] + + ride->num_customers[2] + + ride->num_customers[3] + + ride->num_customers[4] + + ride->num_customers[5] + + ride->num_customers[6] + + ride->num_customers[7] + + ride->num_customers[8] + + ride->num_customers[9]; + return sum; } rct_vehicle *ride_get_broken_vehicle(rct_ride *ride) { - uint16 vehicleIndex = ride->vehicles[ride->broken_vehicle]; + uint16 vehicleIndex = ride->vehicles[ride->broken_vehicle]; - if (vehicleIndex == SPRITE_INDEX_NULL) { - return NULL; - } + if (vehicleIndex == SPRITE_INDEX_NULL) { + return NULL; + } - rct_vehicle *vehicle = GET_VEHICLE(vehicleIndex); - for (uint8 i = 0; i < ride->broken_car; i++) { - vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); - } + rct_vehicle *vehicle = GET_VEHICLE(vehicleIndex); + for (uint8 i = 0; i < ride->broken_car; i++) { + vehicle = GET_VEHICLE(vehicle->next_vehicle_on_train); + } - return vehicle; + return vehicle; } /** @@ -8276,39 +8276,39 @@ rct_vehicle *ride_get_broken_vehicle(rct_ride *ride) { */ void ride_delete(uint8 rideIndex) { - rct_ride *ride = get_ride(rideIndex); - user_string_free(ride->name); - ride->type = RIDE_TYPE_NULL; + rct_ride *ride = get_ride(rideIndex); + user_string_free(ride->name); + ride->type = RIDE_TYPE_NULL; } static bool ride_is_ride(rct_ride * ride) { - switch (ride->type) { - case RIDE_TYPE_FOOD_STALL: - case RIDE_TYPE_1D: - case RIDE_TYPE_DRINK_STALL: - case RIDE_TYPE_1F: - case RIDE_TYPE_SHOP: - case RIDE_TYPE_22: - case RIDE_TYPE_INFORMATION_KIOSK: - case RIDE_TYPE_TOILETS: - case RIDE_TYPE_CASH_MACHINE: - case RIDE_TYPE_FIRST_AID: - return false; - default: - return true; - } + switch (ride->type) { + case RIDE_TYPE_FOOD_STALL: + case RIDE_TYPE_1D: + case RIDE_TYPE_DRINK_STALL: + case RIDE_TYPE_1F: + case RIDE_TYPE_SHOP: + case RIDE_TYPE_22: + case RIDE_TYPE_INFORMATION_KIOSK: + case RIDE_TYPE_TOILETS: + case RIDE_TYPE_CASH_MACHINE: + case RIDE_TYPE_FIRST_AID: + return false; + default: + return true; + } } money16 ride_get_price(rct_ride * ride) { - if (gParkFlags & PARK_FLAGS_NO_MONEY) return 0; - if (ride_is_ride(ride)) { - if (!gCheatsUnlockAllPrices) { - if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) return 0; - } - } - return ride->price; + if (gParkFlags & PARK_FLAGS_NO_MONEY) return 0; + if (ride_is_ride(ride)) { + if (!gCheatsUnlockAllPrices) { + if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) return 0; + } + } + return ride->price; } /** @@ -8316,49 +8316,49 @@ money16 ride_get_price(rct_ride * ride) * Returns NULL if no suitable map_element is found. */ rct_map_element *get_station_platform(sint32 x, sint32 y, sint32 z, sint32 z_tolerance) { - bool foundMapElement = false; - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - if (mapElement != NULL) { - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - /* Check if mapElement is a station platform. */ - if (!track_element_is_station(mapElement)) continue; + bool foundMapElement = false; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + if (mapElement != NULL) { + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + /* Check if mapElement is a station platform. */ + if (!track_element_is_station(mapElement)) continue; - if (z - z_tolerance > mapElement->base_height || - z + z_tolerance < mapElement->base_height - ) { - /* The base height if mapElement is not within - * the z tolerance. */ - continue; - } + if (z - z_tolerance > mapElement->base_height || + z + z_tolerance < mapElement->base_height + ) { + /* The base height if mapElement is not within + * the z tolerance. */ + continue; + } - foundMapElement = true; - break; - } while (!map_element_is_last_for_tile(mapElement++)); - } - if (!foundMapElement) { - return NULL; - } + foundMapElement = true; + break; + } while (!map_element_is_last_for_tile(mapElement++)); + } + if (!foundMapElement) { + return NULL; + } - return mapElement; + return mapElement; } /** * Check for an adjacent station to x,y,z in direction. */ static bool check_for_adjacent_station(sint32 x, sint32 y, sint32 z, uint8 direction) { - bool found = false; - sint32 adjX = x + TileDirectionDelta[direction].x; - sint32 adjY = y + TileDirectionDelta[direction].y; - rct_map_element *stationElement = get_station_platform(adjX, adjY, z, 2); - if (stationElement != NULL) { - sint32 rideIndex = stationElement->properties.track.ride_index; - rct_ride *ride = get_ride(rideIndex); - if (ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS) { - found = true; - } - } - return found; + bool found = false; + sint32 adjX = x + TileDirectionDelta[direction].x; + sint32 adjY = y + TileDirectionDelta[direction].y; + rct_map_element *stationElement = get_station_platform(adjX, adjY, z, 2); + if (stationElement != NULL) { + sint32 rideIndex = stationElement->properties.track.ride_index; + rct_ride *ride = get_ride(rideIndex); + if (ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS) { + found = true; + } + } + return found; } /** @@ -8366,135 +8366,135 @@ static bool check_for_adjacent_station(sint32 x, sint32 y, sint32 z, uint8 direc */ bool ride_has_adjacent_station(rct_ride *ride) { - bool found = false; + bool found = false; - /* Loop through all of the ride stations, checking for an - * adjacent station on either side. */ - for (sint32 stationNum = 0; stationNum <= 3; stationNum++) { - if (ride->station_starts[stationNum] != 0xFFFF) { - /* Get the map element for the station start. */ - uint16 stationX = (ride->station_starts[stationNum] & 0xFF) * 32; - uint16 stationY = (ride->station_starts[stationNum] >> 8) * 32; - uint8 stationZ = ride->station_heights[stationNum]; + /* Loop through all of the ride stations, checking for an + * adjacent station on either side. */ + for (sint32 stationNum = 0; stationNum <= 3; stationNum++) { + if (ride->station_starts[stationNum] != 0xFFFF) { + /* Get the map element for the station start. */ + uint16 stationX = (ride->station_starts[stationNum] & 0xFF) * 32; + uint16 stationY = (ride->station_starts[stationNum] >> 8) * 32; + uint8 stationZ = ride->station_heights[stationNum]; - rct_map_element *stationElement = get_station_platform(stationX, stationY, stationZ, 0); - if (stationElement == NULL) { - continue; - } - /* Check the first side of the station */ - sint32 direction = (stationElement->type + 1) & 3; - found = check_for_adjacent_station(stationX, stationY, stationZ, direction); - if (found) break; - /* Check the other side of the station */ - direction ^= 2; - found = check_for_adjacent_station(stationX, stationY, stationZ, direction); - if (found) break; - } - } - return found; + rct_map_element *stationElement = get_station_platform(stationX, stationY, stationZ, 0); + if (stationElement == NULL) { + continue; + } + /* Check the first side of the station */ + sint32 direction = (stationElement->type + 1) & 3; + found = check_for_adjacent_station(stationX, stationY, stationZ, direction); + if (found) break; + /* Check the other side of the station */ + direction ^= 2; + found = check_for_adjacent_station(stationX, stationY, stationZ, direction); + if (found) break; + } + } + return found; } bool ride_has_ratings(const rct_ride * ride) { - return ride->excitement != RIDE_RATING_UNDEFINED; + return ride->excitement != RIDE_RATING_UNDEFINED; } const char * ride_type_get_enum_name(sint32 rideType) { - static const char * RideTypeEnumNames[RIDE_TYPE_COUNT] = - { - nameof(RIDE_TYPE_SPIRAL_ROLLER_COASTER), - nameof(RIDE_TYPE_STAND_UP_ROLLER_COASTER), - nameof(RIDE_TYPE_SUSPENDED_SWINGING_COASTER), - nameof(RIDE_TYPE_INVERTED_ROLLER_COASTER), - nameof(RIDE_TYPE_JUNIOR_ROLLER_COASTER), - nameof(RIDE_TYPE_MINIATURE_RAILWAY), - nameof(RIDE_TYPE_MONORAIL), - nameof(RIDE_TYPE_MINI_SUSPENDED_COASTER), - nameof(RIDE_TYPE_BOAT_RIDE), - nameof(RIDE_TYPE_WOODEN_WILD_MOUSE), - nameof(RIDE_TYPE_STEEPLECHASE), - nameof(RIDE_TYPE_CAR_RIDE), - nameof(RIDE_TYPE_LAUNCHED_FREEFALL), - nameof(RIDE_TYPE_BOBSLEIGH_COASTER), - nameof(RIDE_TYPE_OBSERVATION_TOWER), - nameof(RIDE_TYPE_LOOPING_ROLLER_COASTER), - nameof(RIDE_TYPE_DINGHY_SLIDE), - nameof(RIDE_TYPE_MINE_TRAIN_COASTER), - nameof(RIDE_TYPE_CHAIRLIFT), - nameof(RIDE_TYPE_CORKSCREW_ROLLER_COASTER), - nameof(RIDE_TYPE_MAZE), - nameof(RIDE_TYPE_SPIRAL_SLIDE), - nameof(RIDE_TYPE_GO_KARTS), - nameof(RIDE_TYPE_LOG_FLUME), - nameof(RIDE_TYPE_RIVER_RAPIDS), - nameof(RIDE_TYPE_DODGEMS), - nameof(RIDE_TYPE_PIRATE_SHIP), - nameof(RIDE_TYPE_SWINGING_INVERTER_SHIP), - nameof(RIDE_TYPE_FOOD_STALL), - nameof(RIDE_TYPE_1D), - nameof(RIDE_TYPE_DRINK_STALL), - nameof(RIDE_TYPE_1F), - nameof(RIDE_TYPE_SHOP), - nameof(RIDE_TYPE_MERRY_GO_ROUND), - nameof(RIDE_TYPE_22), - nameof(RIDE_TYPE_INFORMATION_KIOSK), - nameof(RIDE_TYPE_TOILETS), - nameof(RIDE_TYPE_FERRIS_WHEEL), - nameof(RIDE_TYPE_MOTION_SIMULATOR), - nameof(RIDE_TYPE_3D_CINEMA), - nameof(RIDE_TYPE_TOP_SPIN), - nameof(RIDE_TYPE_SPACE_RINGS), - nameof(RIDE_TYPE_REVERSE_FREEFALL_COASTER), - nameof(RIDE_TYPE_LIFT), - nameof(RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER), - nameof(RIDE_TYPE_CASH_MACHINE), - nameof(RIDE_TYPE_TWIST), - nameof(RIDE_TYPE_HAUNTED_HOUSE), - nameof(RIDE_TYPE_FIRST_AID), - nameof(RIDE_TYPE_CIRCUS_SHOW), - nameof(RIDE_TYPE_GHOST_TRAIN), - nameof(RIDE_TYPE_TWISTER_ROLLER_COASTER), - nameof(RIDE_TYPE_WOODEN_ROLLER_COASTER), - nameof(RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER), - nameof(RIDE_TYPE_WILD_MOUSE), - nameof(RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER), - nameof(RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT), - nameof(RIDE_TYPE_FLYING_ROLLER_COASTER), - nameof(RIDE_TYPE_FLYING_ROLLER_COASTER_ALT), - nameof(RIDE_TYPE_VIRGINIA_REEL), - nameof(RIDE_TYPE_SPLASH_BOATS), - nameof(RIDE_TYPE_MINI_HELICOPTERS), - nameof(RIDE_TYPE_LAY_DOWN_ROLLER_COASTER), - nameof(RIDE_TYPE_SUSPENDED_MONORAIL), - nameof(RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT), - nameof(RIDE_TYPE_REVERSER_ROLLER_COASTER), - nameof(RIDE_TYPE_HEARTLINE_TWISTER_COASTER), - nameof(RIDE_TYPE_MINI_GOLF), - nameof(RIDE_TYPE_GIGA_COASTER), - nameof(RIDE_TYPE_ROTO_DROP), - nameof(RIDE_TYPE_FLYING_SAUCERS), - nameof(RIDE_TYPE_CROOKED_HOUSE), - nameof(RIDE_TYPE_MONORAIL_CYCLES), - nameof(RIDE_TYPE_COMPACT_INVERTED_COASTER), - nameof(RIDE_TYPE_WATER_COASTER), - nameof(RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER), - nameof(RIDE_TYPE_INVERTED_HAIRPIN_COASTER), - nameof(RIDE_TYPE_MAGIC_CARPET), - nameof(RIDE_TYPE_SUBMARINE_RIDE), - nameof(RIDE_TYPE_RIVER_RAFTS), - nameof(RIDE_TYPE_50), - nameof(RIDE_TYPE_ENTERPRISE), - nameof(RIDE_TYPE_52), - nameof(RIDE_TYPE_53), - nameof(RIDE_TYPE_54), - nameof(RIDE_TYPE_55), - nameof(RIDE_TYPE_INVERTED_IMPULSE_COASTER), - nameof(RIDE_TYPE_MINI_ROLLER_COASTER), - nameof(RIDE_TYPE_MINE_RIDE), - nameof(RIDE_TYPE_59), - nameof(RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER), - }; + static const char * RideTypeEnumNames[RIDE_TYPE_COUNT] = + { + nameof(RIDE_TYPE_SPIRAL_ROLLER_COASTER), + nameof(RIDE_TYPE_STAND_UP_ROLLER_COASTER), + nameof(RIDE_TYPE_SUSPENDED_SWINGING_COASTER), + nameof(RIDE_TYPE_INVERTED_ROLLER_COASTER), + nameof(RIDE_TYPE_JUNIOR_ROLLER_COASTER), + nameof(RIDE_TYPE_MINIATURE_RAILWAY), + nameof(RIDE_TYPE_MONORAIL), + nameof(RIDE_TYPE_MINI_SUSPENDED_COASTER), + nameof(RIDE_TYPE_BOAT_RIDE), + nameof(RIDE_TYPE_WOODEN_WILD_MOUSE), + nameof(RIDE_TYPE_STEEPLECHASE), + nameof(RIDE_TYPE_CAR_RIDE), + nameof(RIDE_TYPE_LAUNCHED_FREEFALL), + nameof(RIDE_TYPE_BOBSLEIGH_COASTER), + nameof(RIDE_TYPE_OBSERVATION_TOWER), + nameof(RIDE_TYPE_LOOPING_ROLLER_COASTER), + nameof(RIDE_TYPE_DINGHY_SLIDE), + nameof(RIDE_TYPE_MINE_TRAIN_COASTER), + nameof(RIDE_TYPE_CHAIRLIFT), + nameof(RIDE_TYPE_CORKSCREW_ROLLER_COASTER), + nameof(RIDE_TYPE_MAZE), + nameof(RIDE_TYPE_SPIRAL_SLIDE), + nameof(RIDE_TYPE_GO_KARTS), + nameof(RIDE_TYPE_LOG_FLUME), + nameof(RIDE_TYPE_RIVER_RAPIDS), + nameof(RIDE_TYPE_DODGEMS), + nameof(RIDE_TYPE_PIRATE_SHIP), + nameof(RIDE_TYPE_SWINGING_INVERTER_SHIP), + nameof(RIDE_TYPE_FOOD_STALL), + nameof(RIDE_TYPE_1D), + nameof(RIDE_TYPE_DRINK_STALL), + nameof(RIDE_TYPE_1F), + nameof(RIDE_TYPE_SHOP), + nameof(RIDE_TYPE_MERRY_GO_ROUND), + nameof(RIDE_TYPE_22), + nameof(RIDE_TYPE_INFORMATION_KIOSK), + nameof(RIDE_TYPE_TOILETS), + nameof(RIDE_TYPE_FERRIS_WHEEL), + nameof(RIDE_TYPE_MOTION_SIMULATOR), + nameof(RIDE_TYPE_3D_CINEMA), + nameof(RIDE_TYPE_TOP_SPIN), + nameof(RIDE_TYPE_SPACE_RINGS), + nameof(RIDE_TYPE_REVERSE_FREEFALL_COASTER), + nameof(RIDE_TYPE_LIFT), + nameof(RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER), + nameof(RIDE_TYPE_CASH_MACHINE), + nameof(RIDE_TYPE_TWIST), + nameof(RIDE_TYPE_HAUNTED_HOUSE), + nameof(RIDE_TYPE_FIRST_AID), + nameof(RIDE_TYPE_CIRCUS_SHOW), + nameof(RIDE_TYPE_GHOST_TRAIN), + nameof(RIDE_TYPE_TWISTER_ROLLER_COASTER), + nameof(RIDE_TYPE_WOODEN_ROLLER_COASTER), + nameof(RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER), + nameof(RIDE_TYPE_WILD_MOUSE), + nameof(RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER), + nameof(RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT), + nameof(RIDE_TYPE_FLYING_ROLLER_COASTER), + nameof(RIDE_TYPE_FLYING_ROLLER_COASTER_ALT), + nameof(RIDE_TYPE_VIRGINIA_REEL), + nameof(RIDE_TYPE_SPLASH_BOATS), + nameof(RIDE_TYPE_MINI_HELICOPTERS), + nameof(RIDE_TYPE_LAY_DOWN_ROLLER_COASTER), + nameof(RIDE_TYPE_SUSPENDED_MONORAIL), + nameof(RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT), + nameof(RIDE_TYPE_REVERSER_ROLLER_COASTER), + nameof(RIDE_TYPE_HEARTLINE_TWISTER_COASTER), + nameof(RIDE_TYPE_MINI_GOLF), + nameof(RIDE_TYPE_GIGA_COASTER), + nameof(RIDE_TYPE_ROTO_DROP), + nameof(RIDE_TYPE_FLYING_SAUCERS), + nameof(RIDE_TYPE_CROOKED_HOUSE), + nameof(RIDE_TYPE_MONORAIL_CYCLES), + nameof(RIDE_TYPE_COMPACT_INVERTED_COASTER), + nameof(RIDE_TYPE_WATER_COASTER), + nameof(RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER), + nameof(RIDE_TYPE_INVERTED_HAIRPIN_COASTER), + nameof(RIDE_TYPE_MAGIC_CARPET), + nameof(RIDE_TYPE_SUBMARINE_RIDE), + nameof(RIDE_TYPE_RIVER_RAFTS), + nameof(RIDE_TYPE_50), + nameof(RIDE_TYPE_ENTERPRISE), + nameof(RIDE_TYPE_52), + nameof(RIDE_TYPE_53), + nameof(RIDE_TYPE_54), + nameof(RIDE_TYPE_55), + nameof(RIDE_TYPE_INVERTED_IMPULSE_COASTER), + nameof(RIDE_TYPE_MINI_ROLLER_COASTER), + nameof(RIDE_TYPE_MINE_RIDE), + nameof(RIDE_TYPE_59), + nameof(RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER), + }; - return RideTypeEnumNames[rideType]; + return RideTypeEnumNames[rideType]; } diff --git a/src/openrct2/ride/ride.h b/src/openrct2/ride/ride.h index c664485665..d25d312139 100644 --- a/src/openrct2/ride/ride.h +++ b/src/openrct2/ride/ride.h @@ -27,16 +27,16 @@ typedef fixed16_2dp ride_rating; // Convenience function for writing ride ratings. The result is a 16 bit signed // integer. To create the ride rating 3.65 type RIDE_RATING(3,65) -#define RIDE_RATING(whole, fraction) FIXED_2DP(whole, fraction) -#define RIDE_RATING_UNDEFINED (ride_rating)(uint16)0xFFFF +#define RIDE_RATING(whole, fraction) FIXED_2DP(whole, fraction) +#define RIDE_RATING_UNDEFINED (ride_rating)(uint16)0xFFFF #pragma pack(push, 1) // Used for return values, for functions that modify all three. typedef struct rating_tuple { - ride_rating excitement; - ride_rating intensity; - ride_rating nausea; + ride_rating excitement; + ride_rating intensity; + ride_rating nausea; } rating_tuple; assert_struct_size(rating_tuple, 6); @@ -44,39 +44,39 @@ assert_struct_size(rating_tuple, 6); * Couples a ride type and subtype together. */ typedef struct ride_list_item { - union { - struct { - uint8 type; - uint8 entry_index; - }; - uint16 ride_type_and_entry; - }; + union { + struct { + uint8 type; + uint8 entry_index; + }; + uint16 ride_type_and_entry; + }; } ride_list_item; assert_struct_size(ride_list_item, 2); typedef struct track_colour { - uint8 main; - uint8 additional; - uint8 supports; + uint8 main; + uint8 additional; + uint8 supports; } track_colour; assert_struct_size(track_colour, 3); typedef struct vehicle_colour { - uint8 main; - uint8 additional_1; - uint8 additional_2; + uint8 main; + uint8 additional_1; + uint8 additional_2; } vehicle_colour; assert_struct_size(vehicle_colour, 3); typedef struct track_colour_preset_list { - uint8 count; - track_colour list[256]; + uint8 count; + track_colour list[256]; } track_colour_preset_list; assert_struct_size(track_colour_preset_list, (1 + 256 * 3)); typedef struct vehicle_colour_preset_list { - uint8 count; - vehicle_colour list[256]; + uint8 count; + vehicle_colour list[256]; } vehicle_colour_preset_list; assert_struct_size(vehicle_colour_preset_list, (1 + 256 * 3)); @@ -85,43 +85,43 @@ assert_struct_size(vehicle_colour_preset_list, (1 + 256 * 3)); * size: unknown */ typedef struct rct_ride_entry { - rct_string_id name; // 0x000 - rct_string_id description; // 0x002 - uint32 images_offset; // 0x004 - uint32 flags; // 0x008 - uint8 ride_type[MAX_RIDE_TYPES_PER_RIDE_ENTRY]; // 0x00C - uint8 min_cars_in_train; // 0x00F - uint8 max_cars_in_train; // 0x010 - uint8 cars_per_flat_ride; // 0x011 - // Number of cars that can't hold passengers - uint8 zero_cars; // 0x012 - // The index to the vehicle type displayed in - // the vehicle tab. - uint8 tab_vehicle; // 0x013 - uint8 default_vehicle; // 0x014 - // Convert from first - fourth vehicle to - // vehicle structure - uint8 front_vehicle; // 0x015 - uint8 second_vehicle; // 0x016 - uint8 rear_vehicle; // 0x017 - uint8 third_vehicle; // 0x018 - uint8 pad_019; // 0x019 - rct_ride_entry_vehicle vehicles[4]; // 0x01A - vehicle_colour_preset_list *vehicle_preset_list; // 0x1AE - sint8 excitement_multipler; // 0x1B2 - sint8 intensity_multipler; // 0x1B3 - sint8 nausea_multipler; // 0x1B4 - uint8 max_height; // 0x1B5 - union { - uint64 enabledTrackPieces; // 0x1B6 - struct { - uint32 enabledTrackPiecesA; // 0x1B6 - uint32 enabledTrackPiecesB; // 0x1BA - }; - }; - uint8 category[2]; // 0x1BE - uint8 shop_item; // 0x1C0 - uint8 shop_item_secondary; // 0x1C1 + rct_string_id name; // 0x000 + rct_string_id description; // 0x002 + uint32 images_offset; // 0x004 + uint32 flags; // 0x008 + uint8 ride_type[MAX_RIDE_TYPES_PER_RIDE_ENTRY]; // 0x00C + uint8 min_cars_in_train; // 0x00F + uint8 max_cars_in_train; // 0x010 + uint8 cars_per_flat_ride; // 0x011 + // Number of cars that can't hold passengers + uint8 zero_cars; // 0x012 + // The index to the vehicle type displayed in + // the vehicle tab. + uint8 tab_vehicle; // 0x013 + uint8 default_vehicle; // 0x014 + // Convert from first - fourth vehicle to + // vehicle structure + uint8 front_vehicle; // 0x015 + uint8 second_vehicle; // 0x016 + uint8 rear_vehicle; // 0x017 + uint8 third_vehicle; // 0x018 + uint8 pad_019; // 0x019 + rct_ride_entry_vehicle vehicles[4]; // 0x01A + vehicle_colour_preset_list *vehicle_preset_list; // 0x1AE + sint8 excitement_multipler; // 0x1B2 + sint8 intensity_multipler; // 0x1B3 + sint8 nausea_multipler; // 0x1B4 + uint8 max_height; // 0x1B5 + union { + uint64 enabledTrackPieces; // 0x1B6 + struct { + uint32 enabledTrackPiecesA; // 0x1B6 + uint32 enabledTrackPiecesB; // 0x1BA + }; + }; + uint8 category[2]; // 0x1BE + uint8 shop_item; // 0x1C0 + uint8 shop_item_secondary; // 0x1C1 } rct_ride_entry; #ifdef PLATFORM_32BIT assert_struct_size(rct_ride_entry, 0x1c2); @@ -132,206 +132,206 @@ assert_struct_size(rct_ride_entry, 0x1c2); * size: 0x0260 */ typedef struct rct_ride { - uint8 type; // 0x000 - // pointer to static info. for example, wild mouse type is 0x36, subtype is - // 0x4c. - uint8 subtype; // 0x001 - uint16 pad_002; - uint8 mode; // 0x004 - uint8 colour_scheme_type; // 0x005 - rct_vehicle_colour vehicle_colours[32]; // 0x006 - uint8 pad_046[0x03]; // Used to be track colours in RCT1 without expansions - // 0 = closed, 1 = open, 2 = test - uint8 status; // 0x049 - rct_string_id name; // 0x04A - union { - uint32 name_arguments; // 0x04C - struct { - rct_string_id name_arguments_type_name; // 0x04C - uint16 name_arguments_number; // 0x04E - }; - }; - uint16 overall_view; // 0x050 00XX = X, XX00 = Y (* 32 + 16) - uint16 station_starts[4]; // 0x052 - uint8 station_heights[4]; // 0x05A - uint8 station_length[4]; // 0x05E - uint8 station_depart[4]; // 0x062 - // ride->vehicle index for current train waiting for passengers - // at station - uint8 train_at_station[4]; // 0x066 - uint16 entrances[4]; // 0x06A - uint16 exits[4]; // 0x072 - uint16 last_peep_in_queue[4]; // 0x07A - uint8 pad_082[4]; // Used to be number of peeps in queue in RCT1, but this has moved. - uint16 vehicles[32]; // 0x086 Points to the first car in the train - uint8 depart_flags; // 0x0C6 + uint8 type; // 0x000 + // pointer to static info. for example, wild mouse type is 0x36, subtype is + // 0x4c. + uint8 subtype; // 0x001 + uint16 pad_002; + uint8 mode; // 0x004 + uint8 colour_scheme_type; // 0x005 + rct_vehicle_colour vehicle_colours[32]; // 0x006 + uint8 pad_046[0x03]; // Used to be track colours in RCT1 without expansions + // 0 = closed, 1 = open, 2 = test + uint8 status; // 0x049 + rct_string_id name; // 0x04A + union { + uint32 name_arguments; // 0x04C + struct { + rct_string_id name_arguments_type_name; // 0x04C + uint16 name_arguments_number; // 0x04E + }; + }; + uint16 overall_view; // 0x050 00XX = X, XX00 = Y (* 32 + 16) + uint16 station_starts[4]; // 0x052 + uint8 station_heights[4]; // 0x05A + uint8 station_length[4]; // 0x05E + uint8 station_depart[4]; // 0x062 + // ride->vehicle index for current train waiting for passengers + // at station + uint8 train_at_station[4]; // 0x066 + uint16 entrances[4]; // 0x06A + uint16 exits[4]; // 0x072 + uint16 last_peep_in_queue[4]; // 0x07A + uint8 pad_082[4]; // Used to be number of peeps in queue in RCT1, but this has moved. + uint16 vehicles[32]; // 0x086 Points to the first car in the train + uint8 depart_flags; // 0x0C6 - // Not sure if these should be uint or sint. - uint8 num_stations; // 0x0C7 - uint8 num_vehicles; // 0x0C8 - uint8 num_cars_per_train; // 0x0C9 - uint8 proposed_num_vehicles; // 0x0CA - uint8 proposed_num_cars_per_train; // 0x0CB - uint8 max_trains; // 0x0CC - uint8 min_max_cars_per_train; // 0x0CD - uint8 min_waiting_time; // 0x0CE - uint8 max_waiting_time; // 0x0CF - union { - uint8 operation_option; // 0x0D0 - uint8 time_limit; // 0x0D0 - uint8 num_laps; // 0x0D0 - uint8 launch_speed; // 0x0D0 - uint8 speed; // 0x0D0 - uint8 rotations; // 0x0D0 - }; + // Not sure if these should be uint or sint. + uint8 num_stations; // 0x0C7 + uint8 num_vehicles; // 0x0C8 + uint8 num_cars_per_train; // 0x0C9 + uint8 proposed_num_vehicles; // 0x0CA + uint8 proposed_num_cars_per_train; // 0x0CB + uint8 max_trains; // 0x0CC + uint8 min_max_cars_per_train; // 0x0CD + uint8 min_waiting_time; // 0x0CE + uint8 max_waiting_time; // 0x0CF + union { + uint8 operation_option; // 0x0D0 + uint8 time_limit; // 0x0D0 + uint8 num_laps; // 0x0D0 + uint8 launch_speed; // 0x0D0 + uint8 speed; // 0x0D0 + uint8 rotations; // 0x0D0 + }; - uint8 boat_hire_return_direction; // 0x0D1 - rct_xy8 boat_hire_return_position; // 0x0D2 - uint8 measurement_index; // 0x0D4 + uint8 boat_hire_return_direction; // 0x0D1 + rct_xy8 boat_hire_return_position; // 0x0D2 + uint8 measurement_index; // 0x0D4 // bits 0 through 4 are the number of helix sections // bit 5: spinning tunnel, water splash, or rapids // bit 6: log reverser, waterfall // bit 7: whirlpool - uint8 special_track_elements; // 0x0D5 - uint8 pad_0D6[2]; - // Divide this value by 29127 to get the human-readable max speed - // (in RCT2, display_speed = (max_speed * 9) >> 18) - sint32 max_speed; // 0x0D8 - sint32 average_speed; // 0x0DC - uint8 current_test_segment; // 0x0E0 - uint8 average_speed_test_timeout; // 0x0E1 - uint8 pad_0E2[0x2]; - sint32 length[4]; // 0x0E4 - uint16 time[4]; // 0x0F4 - fixed16_2dp max_positive_vertical_g; // 0x0FC - fixed16_2dp max_negative_vertical_g; // 0x0FE - fixed16_2dp max_lateral_g; // 0x100 - fixed16_2dp previous_vertical_g;// 0x102 - fixed16_2dp previous_lateral_g; // 0x104 - uint8 pad_106[0x2]; - uint32 testing_flags; // 0x108 - // x y map location of the current track piece during a test - // this is to prevent counting special tracks multiple times - rct_xy8 cur_test_track_location; // 0x10C - // Next 3 variables are related (XXXX XYYY ZZZa aaaa) - uint16 turn_count_default; // 0x10E X = current turn count - uint16 turn_count_banked; // 0x110 - uint16 turn_count_sloped; // 0x112 X = number turns > 3 elements - union { - uint8 inversions; // 0x114 (???X XXXX) - uint8 holes; // 0x114 (???X XXXX) - // This is a very rough approximation of how much of the ride is undercover. - // It reaches the maximum value of 7 at about 50% undercover and doesn't increase beyond that. - uint8 sheltered_eighths; // 0x114 (XXX?-????) - }; - // Y is number of powered lifts, X is drops - uint8 drops; // 0x115 (YYXX XXXX) - uint8 start_drop_height; // 0x116 - uint8 highest_drop_height; // 0x117 - sint32 sheltered_length; // 0x118 - // Unused always 0? Should affect nausea - uint16 var_11C; - uint8 num_sheltered_sections; // 0x11E (?abY YYYY) - // see cur_test_track_location - uint8 cur_test_track_z; // 0x11F - // Customer counter in the current 960 game tick (about 30 seconds) interval - uint16 cur_num_customers; // 0x120 - // Counts ticks to update customer intervals, resets each 960 game ticks. - uint16 num_customers_timeout; // 0x122 - // Customer count in the last 10 * 960 game ticks (sliding window) - uint16 num_customers[10]; // 0x124 - money16 price; // 0x138 - rct_xy8 chairlift_bullwheel_location[2]; // 0x13A - uint8 chairlift_bullwheel_z[2]; // 0x13E - union { - rating_tuple ratings; // 0x140 - struct { - ride_rating excitement; // 0x140 - ride_rating intensity; // 0x142 - ride_rating nausea; // 0x144 - }; - }; - uint16 value; // 0x146 - uint16 chairlift_bullwheel_rotation; // 0x148 - uint8 satisfaction; // 0x14A - uint8 satisfaction_time_out; // 0x14B - uint8 satisfaction_next; // 0x14C - // Various flags stating whether a window needs to be refreshed - uint8 window_invalidate_flags; // 0x14D - uint8 pad_14E[0x02]; - uint32 total_customers; // 0x150 - money32 total_profit; // 0x154 - uint8 popularity; // 0x158 - uint8 popularity_time_out; // 0x159 Updated every purchase and ?possibly by time? - uint8 popularity_next; // 0x15A When timeout reached this will be the next popularity - uint8 num_riders; // 0x15B - uint8 music_tune_id; // 0x15C - uint8 slide_in_use; // 0x15D - union { - uint16 slide_peep; // 0x15E - uint16 maze_tiles; // 0x15E - }; - uint8 pad_160[0xE]; - uint8 slide_peep_t_shirt_colour;// 0x16E - uint8 pad_16F[0x7]; - uint8 spiral_slide_progress; // 0x176 - uint8 pad_177[0x9]; - sint16 build_date; // 0x180 - money16 upkeep_cost; // 0x182 - uint16 race_winner; // 0x184 - uint8 pad_186[0x02]; - uint32 music_position; // 0x188 - uint8 breakdown_reason_pending; // 0x18C - uint8 mechanic_status; // 0x18D - uint16 mechanic; // 0x18E - uint8 inspection_station; // 0x190 - uint8 broken_vehicle; // 0x191 - uint8 broken_car; // 0x192 - uint8 breakdown_reason; // 0x193 - money16 price_secondary; // 0x194 - // Starts at RIDE_INITIAL_RELIABILITY and decreases from there. Right shift - // this number by 8 to get a reliability percentage 0-100 - uint16 reliability; // 0x196 - // Small constant used to increase the unreliability as the game continues, - // making breakdowns more and more likely. - uint8 unreliability_factor; // 0x198 - // Range from [0, 100] - uint8 downtime; // 0x199 - uint8 inspection_interval; // 0x19A - uint8 last_inspection; // 0x19B - uint8 downtime_history[8]; // 0x19C - uint32 no_primary_items_sold; // 0x1A4 - uint32 no_secondary_items_sold; // 0x1A8 - uint8 breakdown_sound_modifier; // 0x1AC - // Used to oscillate the sound when ride breaks down. - // 0 = no change, 255 = max change - uint8 not_fixed_timeout; // 0x1AD - uint8 last_crash_type; // 0x1AE - uint8 connected_message_throttle; // 0x1AF - money32 income_per_hour; // 0x1B0 - money32 profit; // 0x1B4 - uint8 queue_time[4]; // 0x1B8 - uint8 track_colour_main[4]; // 0x1BC - uint8 track_colour_additional[4]; // 0x1C0 - uint8 track_colour_supports[4]; // 0x1C4 - uint8 music; // 0x1C8 - uint8 entrance_style; // 0x1C9 - uint16 vehicle_change_timeout; // 0x1CA - uint8 num_block_brakes; // 0x1CC - uint8 lift_hill_speed; // 0x1CD - uint16 guests_favourite; // 0x1CE - uint32 lifecycle_flags; // 0x1D0 - uint8 vehicle_colours_extended[32]; // 0x1D4 - uint16 total_air_time; // 0x1F4 - uint8 current_test_station; // 0x1F6 - uint8 num_circuits; // 0x1F7 - sint16 cable_lift_x; // 0x1F8 - sint16 cable_lift_y; // 0x1FA - uint8 cable_lift_z; // 0x1FC - uint8 pad_1FD; - uint16 cable_lift; // 0x1FE - uint16 queue_length[4]; // 0x200 - uint8 pad_208[0x58]; + uint8 special_track_elements; // 0x0D5 + uint8 pad_0D6[2]; + // Divide this value by 29127 to get the human-readable max speed + // (in RCT2, display_speed = (max_speed * 9) >> 18) + sint32 max_speed; // 0x0D8 + sint32 average_speed; // 0x0DC + uint8 current_test_segment; // 0x0E0 + uint8 average_speed_test_timeout; // 0x0E1 + uint8 pad_0E2[0x2]; + sint32 length[4]; // 0x0E4 + uint16 time[4]; // 0x0F4 + fixed16_2dp max_positive_vertical_g; // 0x0FC + fixed16_2dp max_negative_vertical_g; // 0x0FE + fixed16_2dp max_lateral_g; // 0x100 + fixed16_2dp previous_vertical_g;// 0x102 + fixed16_2dp previous_lateral_g; // 0x104 + uint8 pad_106[0x2]; + uint32 testing_flags; // 0x108 + // x y map location of the current track piece during a test + // this is to prevent counting special tracks multiple times + rct_xy8 cur_test_track_location; // 0x10C + // Next 3 variables are related (XXXX XYYY ZZZa aaaa) + uint16 turn_count_default; // 0x10E X = current turn count + uint16 turn_count_banked; // 0x110 + uint16 turn_count_sloped; // 0x112 X = number turns > 3 elements + union { + uint8 inversions; // 0x114 (???X XXXX) + uint8 holes; // 0x114 (???X XXXX) + // This is a very rough approximation of how much of the ride is undercover. + // It reaches the maximum value of 7 at about 50% undercover and doesn't increase beyond that. + uint8 sheltered_eighths; // 0x114 (XXX?-????) + }; + // Y is number of powered lifts, X is drops + uint8 drops; // 0x115 (YYXX XXXX) + uint8 start_drop_height; // 0x116 + uint8 highest_drop_height; // 0x117 + sint32 sheltered_length; // 0x118 + // Unused always 0? Should affect nausea + uint16 var_11C; + uint8 num_sheltered_sections; // 0x11E (?abY YYYY) + // see cur_test_track_location + uint8 cur_test_track_z; // 0x11F + // Customer counter in the current 960 game tick (about 30 seconds) interval + uint16 cur_num_customers; // 0x120 + // Counts ticks to update customer intervals, resets each 960 game ticks. + uint16 num_customers_timeout; // 0x122 + // Customer count in the last 10 * 960 game ticks (sliding window) + uint16 num_customers[10]; // 0x124 + money16 price; // 0x138 + rct_xy8 chairlift_bullwheel_location[2]; // 0x13A + uint8 chairlift_bullwheel_z[2]; // 0x13E + union { + rating_tuple ratings; // 0x140 + struct { + ride_rating excitement; // 0x140 + ride_rating intensity; // 0x142 + ride_rating nausea; // 0x144 + }; + }; + uint16 value; // 0x146 + uint16 chairlift_bullwheel_rotation; // 0x148 + uint8 satisfaction; // 0x14A + uint8 satisfaction_time_out; // 0x14B + uint8 satisfaction_next; // 0x14C + // Various flags stating whether a window needs to be refreshed + uint8 window_invalidate_flags; // 0x14D + uint8 pad_14E[0x02]; + uint32 total_customers; // 0x150 + money32 total_profit; // 0x154 + uint8 popularity; // 0x158 + uint8 popularity_time_out; // 0x159 Updated every purchase and ?possibly by time? + uint8 popularity_next; // 0x15A When timeout reached this will be the next popularity + uint8 num_riders; // 0x15B + uint8 music_tune_id; // 0x15C + uint8 slide_in_use; // 0x15D + union { + uint16 slide_peep; // 0x15E + uint16 maze_tiles; // 0x15E + }; + uint8 pad_160[0xE]; + uint8 slide_peep_t_shirt_colour;// 0x16E + uint8 pad_16F[0x7]; + uint8 spiral_slide_progress; // 0x176 + uint8 pad_177[0x9]; + sint16 build_date; // 0x180 + money16 upkeep_cost; // 0x182 + uint16 race_winner; // 0x184 + uint8 pad_186[0x02]; + uint32 music_position; // 0x188 + uint8 breakdown_reason_pending; // 0x18C + uint8 mechanic_status; // 0x18D + uint16 mechanic; // 0x18E + uint8 inspection_station; // 0x190 + uint8 broken_vehicle; // 0x191 + uint8 broken_car; // 0x192 + uint8 breakdown_reason; // 0x193 + money16 price_secondary; // 0x194 + // Starts at RIDE_INITIAL_RELIABILITY and decreases from there. Right shift + // this number by 8 to get a reliability percentage 0-100 + uint16 reliability; // 0x196 + // Small constant used to increase the unreliability as the game continues, + // making breakdowns more and more likely. + uint8 unreliability_factor; // 0x198 + // Range from [0, 100] + uint8 downtime; // 0x199 + uint8 inspection_interval; // 0x19A + uint8 last_inspection; // 0x19B + uint8 downtime_history[8]; // 0x19C + uint32 no_primary_items_sold; // 0x1A4 + uint32 no_secondary_items_sold; // 0x1A8 + uint8 breakdown_sound_modifier; // 0x1AC + // Used to oscillate the sound when ride breaks down. + // 0 = no change, 255 = max change + uint8 not_fixed_timeout; // 0x1AD + uint8 last_crash_type; // 0x1AE + uint8 connected_message_throttle; // 0x1AF + money32 income_per_hour; // 0x1B0 + money32 profit; // 0x1B4 + uint8 queue_time[4]; // 0x1B8 + uint8 track_colour_main[4]; // 0x1BC + uint8 track_colour_additional[4]; // 0x1C0 + uint8 track_colour_supports[4]; // 0x1C4 + uint8 music; // 0x1C8 + uint8 entrance_style; // 0x1C9 + uint16 vehicle_change_timeout; // 0x1CA + uint8 num_block_brakes; // 0x1CC + uint8 lift_hill_speed; // 0x1CD + uint16 guests_favourite; // 0x1CE + uint32 lifecycle_flags; // 0x1D0 + uint8 vehicle_colours_extended[32]; // 0x1D4 + uint16 total_air_time; // 0x1F4 + uint8 current_test_station; // 0x1F6 + uint8 num_circuits; // 0x1F7 + sint16 cable_lift_x; // 0x1F8 + sint16 cable_lift_y; // 0x1FA + uint8 cable_lift_z; // 0x1FC + uint8 pad_1FD; + uint16 cable_lift; // 0x1FE + uint16 queue_length[4]; // 0x200 + uint8 pad_208[0x58]; } rct_ride; assert_struct_size(rct_ride, 0x260); @@ -342,30 +342,30 @@ assert_struct_size(rct_ride, 0x260); * size: 0x04B0C */ typedef struct rct_ride_measurement { - uint8 ride_index; // 0x0000 - uint8 flags; // 0x0001 - uint32 last_use_tick; // 0x0002 - uint16 num_items; // 0x0006 - uint16 current_item; // 0x0008 - uint8 vehicle_index; // 0x000A - uint8 current_station; // 0x000B - sint8 vertical[RIDE_MEASUREMENT_MAX_ITEMS]; // 0x000C - sint8 lateral[RIDE_MEASUREMENT_MAX_ITEMS]; // 0x12CC - uint8 velocity[RIDE_MEASUREMENT_MAX_ITEMS]; // 0x258C - uint8 altitude[RIDE_MEASUREMENT_MAX_ITEMS]; // 0x384C + uint8 ride_index; // 0x0000 + uint8 flags; // 0x0001 + uint32 last_use_tick; // 0x0002 + uint16 num_items; // 0x0006 + uint16 current_item; // 0x0008 + uint8 vehicle_index; // 0x000A + uint8 current_station; // 0x000B + sint8 vertical[RIDE_MEASUREMENT_MAX_ITEMS]; // 0x000C + sint8 lateral[RIDE_MEASUREMENT_MAX_ITEMS]; // 0x12CC + uint8 velocity[RIDE_MEASUREMENT_MAX_ITEMS]; // 0x258C + uint8 altitude[RIDE_MEASUREMENT_MAX_ITEMS]; // 0x384C } rct_ride_measurement; assert_struct_size(rct_ride_measurement, 0x4b0c); typedef struct track_begin_end { - sint32 begin_x; - sint32 begin_y; - sint32 begin_z; - sint32 begin_direction; - rct_map_element *begin_element; - sint32 end_x; - sint32 end_y; - sint32 end_direction; - rct_map_element *end_element; + sint32 begin_x; + sint32 begin_y; + sint32 begin_z; + sint32 begin_direction; + rct_map_element *begin_element; + sint32 end_x; + sint32 end_y; + sint32 end_direction; + rct_map_element *end_element; } track_begin_end; #ifdef PLATFORM_32BIT assert_struct_size(track_begin_end, 36); @@ -383,361 +383,361 @@ assert_struct_size(track_begin_end, 36); extern uint8 gTypeToRideEntryIndexMap[TYPE_TO_RIDE_ENTRY_SLOTS]; enum { - RIDE_CLASS_RIDE, - RIDE_CLASS_SHOP_OR_STALL, - RIDE_CLASS_KIOSK_OR_FACILITY + RIDE_CLASS_RIDE, + RIDE_CLASS_SHOP_OR_STALL, + RIDE_CLASS_KIOSK_OR_FACILITY }; // Constants used by the lifecycle_flags property at 0x1D0 enum { - RIDE_LIFECYCLE_ON_TRACK = 1 << 0, - RIDE_LIFECYCLE_TESTED = 1 << 1, - RIDE_LIFECYCLE_TEST_IN_PROGRESS = 1 << 2, - RIDE_LIFECYCLE_NO_RAW_STATS = 1 << 3, - RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING = 1 << 4, - RIDE_LIFECYCLE_ON_RIDE_PHOTO = 1 << 5, - RIDE_LIFECYCLE_BREAKDOWN_PENDING = 1 << 6, - RIDE_LIFECYCLE_BROKEN_DOWN = 1 << 7, - RIDE_LIFECYCLE_DUE_INSPECTION = 1 << 8, - RIDE_LIFECYCLE_QUEUE_FULL = 1 << 9, - RIDE_LIFECYCLE_CRASHED = 1 << 10, - RIDE_LIFECYCLE_HAS_STALLED_VEHICLE = 1 << 11, - RIDE_LIFECYCLE_EVER_BEEN_OPENED = 1 << 12, - RIDE_LIFECYCLE_MUSIC = 1 << 13, - RIDE_LIFECYCLE_INDESTRUCTIBLE = 1 << 14, - RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK = 1 << 15, - RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED = 1 << 16, - RIDE_LIFECYCLE_CABLE_LIFT = 1 << 17, - RIDE_LIFECYCLE_NOT_CUSTOM_DESIGN = 1 << 18, // Used for the Award for Best Custom-designed Rides - RIDE_LIFECYCLE_SIX_FLAGS_DEPRECATED = 1 << 19 // Not used anymore + RIDE_LIFECYCLE_ON_TRACK = 1 << 0, + RIDE_LIFECYCLE_TESTED = 1 << 1, + RIDE_LIFECYCLE_TEST_IN_PROGRESS = 1 << 2, + RIDE_LIFECYCLE_NO_RAW_STATS = 1 << 3, + RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING = 1 << 4, + RIDE_LIFECYCLE_ON_RIDE_PHOTO = 1 << 5, + RIDE_LIFECYCLE_BREAKDOWN_PENDING = 1 << 6, + RIDE_LIFECYCLE_BROKEN_DOWN = 1 << 7, + RIDE_LIFECYCLE_DUE_INSPECTION = 1 << 8, + RIDE_LIFECYCLE_QUEUE_FULL = 1 << 9, + RIDE_LIFECYCLE_CRASHED = 1 << 10, + RIDE_LIFECYCLE_HAS_STALLED_VEHICLE = 1 << 11, + RIDE_LIFECYCLE_EVER_BEEN_OPENED = 1 << 12, + RIDE_LIFECYCLE_MUSIC = 1 << 13, + RIDE_LIFECYCLE_INDESTRUCTIBLE = 1 << 14, + RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK = 1 << 15, + RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED = 1 << 16, + RIDE_LIFECYCLE_CABLE_LIFT = 1 << 17, + RIDE_LIFECYCLE_NOT_CUSTOM_DESIGN = 1 << 18, // Used for the Award for Best Custom-designed Rides + RIDE_LIFECYCLE_SIX_FLAGS_DEPRECATED = 1 << 19 // Not used anymore }; // Constants used by the ride_type->flags property at 0x008 enum { - RIDE_ENTRY_FLAG_VEHICLE_TAB_SCALE_HALF = 1 << 0, - RIDE_ENTRY_FLAG_NO_INVERSIONS = 1 << 1, - RIDE_ENTRY_FLAG_NO_BANKED_TRACK = 1 << 2, - RIDE_ENTRY_FLAG_PLAY_DEPART_SOUND = 1 << 3, - RIDE_ENTRY_FLAG_ALTERNATIVE_SWING_MODE_1 = 1 << 4, - // Twist type rotation ride - RIDE_ENTRY_FLAG_ALTERNATIVE_ROTATION_MODE_1 = 1 << 5, - // Lifting arm rotation ride (enterprise) - RIDE_ENTRY_FLAG_ALTERNATIVE_ROTATION_MODE_2 = 1 << 6, - RIDE_ENTRY_FLAG_7 = 1 << 7, - RIDE_ENTRY_FLAG_PLAY_SPLASH_SOUND = 1 << 8, - RIDE_ENTRY_FLAG_PLAY_SPLASH_SOUND_SLIDE = 1 << 9, - RIDE_ENTRY_FLAG_COVERED_RIDE = 1 << 10, - RIDE_ENTRY_FLAG_LIMIT_AIRTIME_BONUS = 1 << 11, - RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME = 1 << 12, - RIDE_ENTRY_FLAG_SEPARATE_RIDE = 1 << 13, - RIDE_ENTRY_FLAG_CANNOT_BREAK_DOWN = 1 << 14, - RIDE_ENTRY_DISABLE_LAST_OPERATING_MODE = 1 << 15, - RIDE_ENTRY_FLAG_16 = 1 << 16, - RIDE_ENTRY_DISABLE_FIRST_TWO_OPERATING_MODES = 1 << 17, - RIDE_ENTRY_FLAG_18 = 1 << 18, - RIDE_ENTRY_FLAG_DISABLE_COLOUR_TAB = 1 << 19, - // Must be set with swing mode 1 as well. - RIDE_ENTRY_FLAG_ALTERNATIVE_SWING_MODE_2 = 1 << 20, + RIDE_ENTRY_FLAG_VEHICLE_TAB_SCALE_HALF = 1 << 0, + RIDE_ENTRY_FLAG_NO_INVERSIONS = 1 << 1, + RIDE_ENTRY_FLAG_NO_BANKED_TRACK = 1 << 2, + RIDE_ENTRY_FLAG_PLAY_DEPART_SOUND = 1 << 3, + RIDE_ENTRY_FLAG_ALTERNATIVE_SWING_MODE_1 = 1 << 4, + // Twist type rotation ride + RIDE_ENTRY_FLAG_ALTERNATIVE_ROTATION_MODE_1 = 1 << 5, + // Lifting arm rotation ride (enterprise) + RIDE_ENTRY_FLAG_ALTERNATIVE_ROTATION_MODE_2 = 1 << 6, + RIDE_ENTRY_FLAG_7 = 1 << 7, + RIDE_ENTRY_FLAG_PLAY_SPLASH_SOUND = 1 << 8, + RIDE_ENTRY_FLAG_PLAY_SPLASH_SOUND_SLIDE = 1 << 9, + RIDE_ENTRY_FLAG_COVERED_RIDE = 1 << 10, + RIDE_ENTRY_FLAG_LIMIT_AIRTIME_BONUS = 1 << 11, + RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME = 1 << 12, + RIDE_ENTRY_FLAG_SEPARATE_RIDE = 1 << 13, + RIDE_ENTRY_FLAG_CANNOT_BREAK_DOWN = 1 << 14, + RIDE_ENTRY_DISABLE_LAST_OPERATING_MODE = 1 << 15, + RIDE_ENTRY_FLAG_16 = 1 << 16, + RIDE_ENTRY_DISABLE_FIRST_TWO_OPERATING_MODES = 1 << 17, + RIDE_ENTRY_FLAG_18 = 1 << 18, + RIDE_ENTRY_FLAG_DISABLE_COLOUR_TAB = 1 << 19, + // Must be set with swing mode 1 as well. + RIDE_ENTRY_FLAG_ALTERNATIVE_SWING_MODE_2 = 1 << 20, }; enum{ - RIDE_TESTING_SHELTERED = (1 << 0), - RIDE_TESTING_TURN_LEFT = (1 << 1), - RIDE_TESTING_TURN_RIGHT = (1 << 2), - RIDE_TESTING_TURN_BANKED = (1 << 3), - RIDE_TESTING_TURN_SLOPED = (1 << 4), - RIDE_TESTING_DROP_DOWN = (1 << 5), - RIDE_TESTING_POWERED_LIFT = (1 << 6), - RIDE_TESTING_DROP_UP = (1 << 7), + RIDE_TESTING_SHELTERED = (1 << 0), + RIDE_TESTING_TURN_LEFT = (1 << 1), + RIDE_TESTING_TURN_RIGHT = (1 << 2), + RIDE_TESTING_TURN_BANKED = (1 << 3), + RIDE_TESTING_TURN_SLOPED = (1 << 4), + RIDE_TESTING_DROP_DOWN = (1 << 5), + RIDE_TESTING_POWERED_LIFT = (1 << 6), + RIDE_TESTING_DROP_UP = (1 << 7), }; enum { - RIDE_TYPE_NULL = 255, - RIDE_TYPE_SPIRAL_ROLLER_COASTER = 0, - RIDE_TYPE_STAND_UP_ROLLER_COASTER, - RIDE_TYPE_SUSPENDED_SWINGING_COASTER, - RIDE_TYPE_INVERTED_ROLLER_COASTER, - RIDE_TYPE_JUNIOR_ROLLER_COASTER, - RIDE_TYPE_MINIATURE_RAILWAY, - RIDE_TYPE_MONORAIL, - RIDE_TYPE_MINI_SUSPENDED_COASTER, - RIDE_TYPE_BOAT_RIDE, - RIDE_TYPE_WOODEN_WILD_MOUSE, - RIDE_TYPE_STEEPLECHASE = 10, - RIDE_TYPE_CAR_RIDE, - RIDE_TYPE_LAUNCHED_FREEFALL, - RIDE_TYPE_BOBSLEIGH_COASTER, - RIDE_TYPE_OBSERVATION_TOWER, - RIDE_TYPE_LOOPING_ROLLER_COASTER, - RIDE_TYPE_DINGHY_SLIDE, - RIDE_TYPE_MINE_TRAIN_COASTER, - RIDE_TYPE_CHAIRLIFT, - RIDE_TYPE_CORKSCREW_ROLLER_COASTER, - RIDE_TYPE_MAZE = 20, - RIDE_TYPE_SPIRAL_SLIDE, - RIDE_TYPE_GO_KARTS, - RIDE_TYPE_LOG_FLUME, - RIDE_TYPE_RIVER_RAPIDS, - RIDE_TYPE_DODGEMS, - RIDE_TYPE_PIRATE_SHIP, - RIDE_TYPE_SWINGING_INVERTER_SHIP, - RIDE_TYPE_FOOD_STALL, - RIDE_TYPE_1D, - RIDE_TYPE_DRINK_STALL = 30, - RIDE_TYPE_1F, - RIDE_TYPE_SHOP, - RIDE_TYPE_MERRY_GO_ROUND, - RIDE_TYPE_22, - RIDE_TYPE_INFORMATION_KIOSK, - RIDE_TYPE_TOILETS, - RIDE_TYPE_FERRIS_WHEEL, - RIDE_TYPE_MOTION_SIMULATOR, - RIDE_TYPE_3D_CINEMA, - RIDE_TYPE_TOP_SPIN = 40, - RIDE_TYPE_SPACE_RINGS, - RIDE_TYPE_REVERSE_FREEFALL_COASTER, - RIDE_TYPE_LIFT, - RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER, - RIDE_TYPE_CASH_MACHINE, - RIDE_TYPE_TWIST, - RIDE_TYPE_HAUNTED_HOUSE, - RIDE_TYPE_FIRST_AID, - RIDE_TYPE_CIRCUS_SHOW, - RIDE_TYPE_GHOST_TRAIN = 50, - RIDE_TYPE_TWISTER_ROLLER_COASTER, - RIDE_TYPE_WOODEN_ROLLER_COASTER, - RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER, - RIDE_TYPE_WILD_MOUSE, - RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER, - RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT, - RIDE_TYPE_FLYING_ROLLER_COASTER, - RIDE_TYPE_FLYING_ROLLER_COASTER_ALT, - RIDE_TYPE_VIRGINIA_REEL, - RIDE_TYPE_SPLASH_BOATS = 60, - RIDE_TYPE_MINI_HELICOPTERS, - RIDE_TYPE_LAY_DOWN_ROLLER_COASTER, - RIDE_TYPE_SUSPENDED_MONORAIL, - RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT, - RIDE_TYPE_REVERSER_ROLLER_COASTER, - RIDE_TYPE_HEARTLINE_TWISTER_COASTER, - RIDE_TYPE_MINI_GOLF, - RIDE_TYPE_GIGA_COASTER, - RIDE_TYPE_ROTO_DROP, - RIDE_TYPE_FLYING_SAUCERS = 70, - RIDE_TYPE_CROOKED_HOUSE, - RIDE_TYPE_MONORAIL_CYCLES, - RIDE_TYPE_COMPACT_INVERTED_COASTER, - RIDE_TYPE_WATER_COASTER, - RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER, - RIDE_TYPE_INVERTED_HAIRPIN_COASTER, - RIDE_TYPE_MAGIC_CARPET, - RIDE_TYPE_SUBMARINE_RIDE, - RIDE_TYPE_RIVER_RAFTS, - RIDE_TYPE_50 = 80, - RIDE_TYPE_ENTERPRISE, - RIDE_TYPE_52, - RIDE_TYPE_53, - RIDE_TYPE_54, - RIDE_TYPE_55, - RIDE_TYPE_INVERTED_IMPULSE_COASTER, - RIDE_TYPE_MINI_ROLLER_COASTER, - RIDE_TYPE_MINE_RIDE, - RIDE_TYPE_59, - RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER = 90, + RIDE_TYPE_NULL = 255, + RIDE_TYPE_SPIRAL_ROLLER_COASTER = 0, + RIDE_TYPE_STAND_UP_ROLLER_COASTER, + RIDE_TYPE_SUSPENDED_SWINGING_COASTER, + RIDE_TYPE_INVERTED_ROLLER_COASTER, + RIDE_TYPE_JUNIOR_ROLLER_COASTER, + RIDE_TYPE_MINIATURE_RAILWAY, + RIDE_TYPE_MONORAIL, + RIDE_TYPE_MINI_SUSPENDED_COASTER, + RIDE_TYPE_BOAT_RIDE, + RIDE_TYPE_WOODEN_WILD_MOUSE, + RIDE_TYPE_STEEPLECHASE = 10, + RIDE_TYPE_CAR_RIDE, + RIDE_TYPE_LAUNCHED_FREEFALL, + RIDE_TYPE_BOBSLEIGH_COASTER, + RIDE_TYPE_OBSERVATION_TOWER, + RIDE_TYPE_LOOPING_ROLLER_COASTER, + RIDE_TYPE_DINGHY_SLIDE, + RIDE_TYPE_MINE_TRAIN_COASTER, + RIDE_TYPE_CHAIRLIFT, + RIDE_TYPE_CORKSCREW_ROLLER_COASTER, + RIDE_TYPE_MAZE = 20, + RIDE_TYPE_SPIRAL_SLIDE, + RIDE_TYPE_GO_KARTS, + RIDE_TYPE_LOG_FLUME, + RIDE_TYPE_RIVER_RAPIDS, + RIDE_TYPE_DODGEMS, + RIDE_TYPE_PIRATE_SHIP, + RIDE_TYPE_SWINGING_INVERTER_SHIP, + RIDE_TYPE_FOOD_STALL, + RIDE_TYPE_1D, + RIDE_TYPE_DRINK_STALL = 30, + RIDE_TYPE_1F, + RIDE_TYPE_SHOP, + RIDE_TYPE_MERRY_GO_ROUND, + RIDE_TYPE_22, + RIDE_TYPE_INFORMATION_KIOSK, + RIDE_TYPE_TOILETS, + RIDE_TYPE_FERRIS_WHEEL, + RIDE_TYPE_MOTION_SIMULATOR, + RIDE_TYPE_3D_CINEMA, + RIDE_TYPE_TOP_SPIN = 40, + RIDE_TYPE_SPACE_RINGS, + RIDE_TYPE_REVERSE_FREEFALL_COASTER, + RIDE_TYPE_LIFT, + RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER, + RIDE_TYPE_CASH_MACHINE, + RIDE_TYPE_TWIST, + RIDE_TYPE_HAUNTED_HOUSE, + RIDE_TYPE_FIRST_AID, + RIDE_TYPE_CIRCUS_SHOW, + RIDE_TYPE_GHOST_TRAIN = 50, + RIDE_TYPE_TWISTER_ROLLER_COASTER, + RIDE_TYPE_WOODEN_ROLLER_COASTER, + RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER, + RIDE_TYPE_WILD_MOUSE, + RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER, + RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT, + RIDE_TYPE_FLYING_ROLLER_COASTER, + RIDE_TYPE_FLYING_ROLLER_COASTER_ALT, + RIDE_TYPE_VIRGINIA_REEL, + RIDE_TYPE_SPLASH_BOATS = 60, + RIDE_TYPE_MINI_HELICOPTERS, + RIDE_TYPE_LAY_DOWN_ROLLER_COASTER, + RIDE_TYPE_SUSPENDED_MONORAIL, + RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT, + RIDE_TYPE_REVERSER_ROLLER_COASTER, + RIDE_TYPE_HEARTLINE_TWISTER_COASTER, + RIDE_TYPE_MINI_GOLF, + RIDE_TYPE_GIGA_COASTER, + RIDE_TYPE_ROTO_DROP, + RIDE_TYPE_FLYING_SAUCERS = 70, + RIDE_TYPE_CROOKED_HOUSE, + RIDE_TYPE_MONORAIL_CYCLES, + RIDE_TYPE_COMPACT_INVERTED_COASTER, + RIDE_TYPE_WATER_COASTER, + RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER, + RIDE_TYPE_INVERTED_HAIRPIN_COASTER, + RIDE_TYPE_MAGIC_CARPET, + RIDE_TYPE_SUBMARINE_RIDE, + RIDE_TYPE_RIVER_RAFTS, + RIDE_TYPE_50 = 80, + RIDE_TYPE_ENTERPRISE, + RIDE_TYPE_52, + RIDE_TYPE_53, + RIDE_TYPE_54, + RIDE_TYPE_55, + RIDE_TYPE_INVERTED_IMPULSE_COASTER, + RIDE_TYPE_MINI_ROLLER_COASTER, + RIDE_TYPE_MINE_RIDE, + RIDE_TYPE_59, + RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER = 90, - RIDE_TYPE_COUNT + RIDE_TYPE_COUNT }; enum { - RIDE_STATUS_CLOSED, - RIDE_STATUS_OPEN, - RIDE_STATUS_TESTING + RIDE_STATUS_CLOSED, + RIDE_STATUS_OPEN, + RIDE_STATUS_TESTING }; enum { - RIDE_MODE_NORMAL, - RIDE_MODE_CONTINUOUS_CIRCUIT, - RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, - RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, // RCT2 style, pass through station - RIDE_MODE_SHUTTLE, - RIDE_MODE_BOAT_HIRE, - RIDE_MODE_UPWARD_LAUNCH, - RIDE_MODE_ROTATING_LIFT, - RIDE_MODE_STATION_TO_STATION, - RIDE_MODE_SINGLE_RIDE_PER_ADMISSION, - RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION = 10, - RIDE_MODE_MAZE, - RIDE_MODE_RACE, - RIDE_MODE_BUMPERCAR, - RIDE_MODE_SWING, - RIDE_MODE_SHOP_STALL, - RIDE_MODE_ROTATION, - RIDE_MODE_FORWARD_ROTATION, - RIDE_MODE_BACKWARD_ROTATION, - RIDE_MODE_FILM_AVENGING_AVIATORS, - RIDE_MODE_3D_FILM_MOUSE_TAILS = 20, - RIDE_MODE_SPACE_RINGS, - RIDE_MODE_BEGINNERS, - RIDE_MODE_LIM_POWERED_LAUNCH, - RIDE_MODE_FILM_THRILL_RIDERS, - RIDE_MODE_3D_FILM_STORM_CHASERS, - RIDE_MODE_3D_FILM_SPACE_RAIDERS, - RIDE_MODE_INTENSE, - RIDE_MODE_BERSERK, - RIDE_MODE_HAUNTED_HOUSE, - RIDE_MODE_CIRCUS_SHOW = 30, - RIDE_MODE_DOWNWARD_LAUNCH, - RIDE_MODE_CROOKED_HOUSE, - RIDE_MODE_FREEFALL_DROP, - RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, - RIDE_MODE_POWERED_LAUNCH, // RCT1 style, don't pass through station - RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED + RIDE_MODE_NORMAL, + RIDE_MODE_CONTINUOUS_CIRCUIT, + RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, + RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, // RCT2 style, pass through station + RIDE_MODE_SHUTTLE, + RIDE_MODE_BOAT_HIRE, + RIDE_MODE_UPWARD_LAUNCH, + RIDE_MODE_ROTATING_LIFT, + RIDE_MODE_STATION_TO_STATION, + RIDE_MODE_SINGLE_RIDE_PER_ADMISSION, + RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION = 10, + RIDE_MODE_MAZE, + RIDE_MODE_RACE, + RIDE_MODE_BUMPERCAR, + RIDE_MODE_SWING, + RIDE_MODE_SHOP_STALL, + RIDE_MODE_ROTATION, + RIDE_MODE_FORWARD_ROTATION, + RIDE_MODE_BACKWARD_ROTATION, + RIDE_MODE_FILM_AVENGING_AVIATORS, + RIDE_MODE_3D_FILM_MOUSE_TAILS = 20, + RIDE_MODE_SPACE_RINGS, + RIDE_MODE_BEGINNERS, + RIDE_MODE_LIM_POWERED_LAUNCH, + RIDE_MODE_FILM_THRILL_RIDERS, + RIDE_MODE_3D_FILM_STORM_CHASERS, + RIDE_MODE_3D_FILM_SPACE_RAIDERS, + RIDE_MODE_INTENSE, + RIDE_MODE_BERSERK, + RIDE_MODE_HAUNTED_HOUSE, + RIDE_MODE_CIRCUS_SHOW = 30, + RIDE_MODE_DOWNWARD_LAUNCH, + RIDE_MODE_CROOKED_HOUSE, + RIDE_MODE_FREEFALL_DROP, + RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, + RIDE_MODE_POWERED_LAUNCH, // RCT1 style, don't pass through station + RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED }; enum { - RIDE_COLOUR_SCHEME_ALL_SAME, - RIDE_COLOUR_SCHEME_DIFFERENT_PER_TRAIN, - RIDE_COLOUR_SCHEME_DIFFERENT_PER_CAR + RIDE_COLOUR_SCHEME_ALL_SAME, + RIDE_COLOUR_SCHEME_DIFFERENT_PER_TRAIN, + RIDE_COLOUR_SCHEME_DIFFERENT_PER_CAR }; enum { - RIDE_GROUP_TRANSPORT, - RIDE_GROUP_GENTLE, - RIDE_GROUP_ROLLERCOASTER, - RIDE_GROUP_THRILL, - RIDE_GROUP_WATER, - RIDE_GROUP_SHOP + RIDE_GROUP_TRANSPORT, + RIDE_GROUP_GENTLE, + RIDE_GROUP_ROLLERCOASTER, + RIDE_GROUP_THRILL, + RIDE_GROUP_WATER, + RIDE_GROUP_SHOP }; enum { - MUSIC_STYLE_DODGEMS_BEAT, - MUSIC_STYLE_FAIRGROUND_ORGAN, - MUSIC_STYLE_ROMAN_FANFARE, - MUSIC_STYLE_ORIENTAL, - MUSIC_STYLE_MARTIAN, - MUSIC_STYLE_JUNGLE_DRUMS, - MUSIC_STYLE_EGYPTIAN, - MUSIC_STYLE_TOYLAND, - MUSIC_STYLE_CIRCUS_SHOW, - MUSIC_STYLE_SPACE, - MUSIC_STYLE_HORROR, - MUSIC_STYLE_TECHNO, - MUSIC_STYLE_GENTLE, - MUSIC_STYLE_SUMMER, - MUSIC_STYLE_WATER, - MUSIC_STYLE_WILD_WEST, - MUSIC_STYLE_JURASSIC, - MUSIC_STYLE_ROCK, - MUSIC_STYLE_RAGTIME, - MUSIC_STYLE_FANTASY, - MUSIC_STYLE_ROCK_STYLE_2, - MUSIC_STYLE_ICE, - MUSIC_STYLE_SNOW, - MUSIC_STYLE_CUSTOM_MUSIC_1, - MUSIC_STYLE_CUSTOM_MUSIC_2, - MUSIC_STYLE_MEDIEVAL, - MUSIC_STYLE_URBAN, - MUSIC_STYLE_ORGAN, - MUSIC_STYLE_MECHANICAL, - MUSIC_STYLE_MODERN, - MUSIC_STYLE_PIRATES, - MUSIC_STYLE_ROCK_STYLE_3, - MUSIC_STYLE_CANDY_STYLE, - MUSIC_STYLE_COUNT + MUSIC_STYLE_DODGEMS_BEAT, + MUSIC_STYLE_FAIRGROUND_ORGAN, + MUSIC_STYLE_ROMAN_FANFARE, + MUSIC_STYLE_ORIENTAL, + MUSIC_STYLE_MARTIAN, + MUSIC_STYLE_JUNGLE_DRUMS, + MUSIC_STYLE_EGYPTIAN, + MUSIC_STYLE_TOYLAND, + MUSIC_STYLE_CIRCUS_SHOW, + MUSIC_STYLE_SPACE, + MUSIC_STYLE_HORROR, + MUSIC_STYLE_TECHNO, + MUSIC_STYLE_GENTLE, + MUSIC_STYLE_SUMMER, + MUSIC_STYLE_WATER, + MUSIC_STYLE_WILD_WEST, + MUSIC_STYLE_JURASSIC, + MUSIC_STYLE_ROCK, + MUSIC_STYLE_RAGTIME, + MUSIC_STYLE_FANTASY, + MUSIC_STYLE_ROCK_STYLE_2, + MUSIC_STYLE_ICE, + MUSIC_STYLE_SNOW, + MUSIC_STYLE_CUSTOM_MUSIC_1, + MUSIC_STYLE_CUSTOM_MUSIC_2, + MUSIC_STYLE_MEDIEVAL, + MUSIC_STYLE_URBAN, + MUSIC_STYLE_ORGAN, + MUSIC_STYLE_MECHANICAL, + MUSIC_STYLE_MODERN, + MUSIC_STYLE_PIRATES, + MUSIC_STYLE_ROCK_STYLE_3, + MUSIC_STYLE_CANDY_STYLE, + MUSIC_STYLE_COUNT }; enum { - BREAKDOWN_NONE = 255, - BREAKDOWN_SAFETY_CUT_OUT = 0, - BREAKDOWN_RESTRAINTS_STUCK_CLOSED, - BREAKDOWN_RESTRAINTS_STUCK_OPEN, - BREAKDOWN_DOORS_STUCK_CLOSED, - BREAKDOWN_DOORS_STUCK_OPEN, - BREAKDOWN_VEHICLE_MALFUNCTION, - BREAKDOWN_BRAKES_FAILURE, - BREAKDOWN_CONTROL_FAILURE + BREAKDOWN_NONE = 255, + BREAKDOWN_SAFETY_CUT_OUT = 0, + BREAKDOWN_RESTRAINTS_STUCK_CLOSED, + BREAKDOWN_RESTRAINTS_STUCK_OPEN, + BREAKDOWN_DOORS_STUCK_CLOSED, + BREAKDOWN_DOORS_STUCK_OPEN, + BREAKDOWN_VEHICLE_MALFUNCTION, + BREAKDOWN_BRAKES_FAILURE, + BREAKDOWN_CONTROL_FAILURE }; enum { - RIDE_MECHANIC_STATUS_UNDEFINED, - RIDE_MECHANIC_STATUS_CALLING, - RIDE_MECHANIC_STATUS_HEADING, - RIDE_MECHANIC_STATUS_FIXING, - RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES + RIDE_MECHANIC_STATUS_UNDEFINED, + RIDE_MECHANIC_STATUS_CALLING, + RIDE_MECHANIC_STATUS_HEADING, + RIDE_MECHANIC_STATUS_FIXING, + RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES }; enum { - RIDE_DEPART_WAIT_FOR_LOAD_MASK = 7, - RIDE_DEPART_WAIT_FOR_LOAD = 1 << 3, - RIDE_DEPART_LEAVE_WHEN_ANOTHER_ARRIVES = 1 << 4, - RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS = 1 << 5, - RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH = 1 << 6, - RIDE_DEPART_WAIT_FOR_MAXIMUM_LENGTH = 1 << 7 + RIDE_DEPART_WAIT_FOR_LOAD_MASK = 7, + RIDE_DEPART_WAIT_FOR_LOAD = 1 << 3, + RIDE_DEPART_LEAVE_WHEN_ANOTHER_ARRIVES = 1 << 4, + RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS = 1 << 5, + RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH = 1 << 6, + RIDE_DEPART_WAIT_FOR_MAXIMUM_LENGTH = 1 << 7 }; enum { - WAIT_FOR_LOAD_QUARTER, - WAIT_FOR_LOAD_HALF, - WAIT_FOR_LOAD_THREE_QUARTER, - WAIT_FOR_LOAD_FULL, - WAIT_FOR_LOAD_ANY, + WAIT_FOR_LOAD_QUARTER, + WAIT_FOR_LOAD_HALF, + WAIT_FOR_LOAD_THREE_QUARTER, + WAIT_FOR_LOAD_FULL, + WAIT_FOR_LOAD_ANY, }; enum { - RIDE_COLOUR_SCHEME_MAIN, - RIDE_COLOUR_SCHEME_ADDITIONAL_1, - RIDE_COLOUR_SCHEME_ADDITIONAL_2, - RIDE_COLOUR_SCHEME_ADDITIONAL_3 + RIDE_COLOUR_SCHEME_MAIN, + RIDE_COLOUR_SCHEME_ADDITIONAL_1, + RIDE_COLOUR_SCHEME_ADDITIONAL_2, + RIDE_COLOUR_SCHEME_ADDITIONAL_3 }; enum { - VEHICLE_COLOUR_SCHEME_SAME, - VEHICLE_COLOUR_SCHEME_PER_TRAIN, - VEHICLE_COLOUR_SCHEME_PER_VEHICLE + VEHICLE_COLOUR_SCHEME_SAME, + VEHICLE_COLOUR_SCHEME_PER_TRAIN, + VEHICLE_COLOUR_SCHEME_PER_VEHICLE }; enum { - RIDE_ENTRANCE_STYLE_PLAIN, - RIDE_ENTRANCE_STYLE_WOODEN, - RIDE_ENTRANCE_STYLE_CANVAS_TENT, - RIDE_ENTRANCE_STYLE_CASTLE_GREY, - RIDE_ENTRANCE_STYLE_CASTLE_BROWN, - RIDE_ENTRANCE_STYLE_JUNGLE, - RIDE_ENTRANCE_STYLE_LOG_CABIN, - RIDE_ENTRANCE_STYLE_CLASSICAL_ROMAN, - RIDE_ENTRANCE_STYLE_ABSTRACT, - RIDE_ENTRANCE_STYLE_SNOW_ICE, - RIDE_ENTRANCE_STYLE_PAGODA, - RIDE_ENTRANCE_STYLE_SPACE, - RIDE_ENTRANCE_STYLE_NONE, + RIDE_ENTRANCE_STYLE_PLAIN, + RIDE_ENTRANCE_STYLE_WOODEN, + RIDE_ENTRANCE_STYLE_CANVAS_TENT, + RIDE_ENTRANCE_STYLE_CASTLE_GREY, + RIDE_ENTRANCE_STYLE_CASTLE_BROWN, + RIDE_ENTRANCE_STYLE_JUNGLE, + RIDE_ENTRANCE_STYLE_LOG_CABIN, + RIDE_ENTRANCE_STYLE_CLASSICAL_ROMAN, + RIDE_ENTRANCE_STYLE_ABSTRACT, + RIDE_ENTRANCE_STYLE_SNOW_ICE, + RIDE_ENTRANCE_STYLE_PAGODA, + RIDE_ENTRANCE_STYLE_SPACE, + RIDE_ENTRANCE_STYLE_NONE, - RIDE_ENTRANCE_STYLE_COUNT + RIDE_ENTRANCE_STYLE_COUNT }; enum { - RIDE_INSPECTION_EVERY_10_MINUTES, - RIDE_INSPECTION_EVERY_20_MINUTES, - RIDE_INSPECTION_EVERY_30_MINUTES, - RIDE_INSPECTION_EVERY_45_MINUTES, - RIDE_INSPECTION_EVERY_HOUR, - RIDE_INSPECTION_EVERY_2_HOURS, - RIDE_INSPECTION_NEVER + RIDE_INSPECTION_EVERY_10_MINUTES, + RIDE_INSPECTION_EVERY_20_MINUTES, + RIDE_INSPECTION_EVERY_30_MINUTES, + RIDE_INSPECTION_EVERY_45_MINUTES, + RIDE_INSPECTION_EVERY_HOUR, + RIDE_INSPECTION_EVERY_2_HOURS, + RIDE_INSPECTION_NEVER }; // Flags used by ride->window_invalidate_flags enum { - RIDE_INVALIDATE_RIDE_CUSTOMER = 1, - RIDE_INVALIDATE_RIDE_INCOME = 1 << 1, - RIDE_INVALIDATE_RIDE_MAIN = 1 << 2, - RIDE_INVALIDATE_RIDE_LIST = 1 << 3, - RIDE_INVALIDATE_RIDE_OPERATING = 1 << 4, - RIDE_INVALIDATE_RIDE_MAINTENANCE = 1 << 5, + RIDE_INVALIDATE_RIDE_CUSTOMER = 1, + RIDE_INVALIDATE_RIDE_INCOME = 1 << 1, + RIDE_INVALIDATE_RIDE_MAIN = 1 << 2, + RIDE_INVALIDATE_RIDE_LIST = 1 << 3, + RIDE_INVALIDATE_RIDE_OPERATING = 1 << 4, + RIDE_INVALIDATE_RIDE_MAINTENANCE = 1 << 5, }; enum { - RIDE_MEASUREMENT_FLAG_RUNNING = 1 << 0, - RIDE_MEASUREMENT_FLAG_UNLOADING = 1 << 1, - RIDE_MEASUREMENT_FLAG_G_FORCES = 1 << 2 + RIDE_MEASUREMENT_FLAG_RUNNING = 1 << 0, + RIDE_MEASUREMENT_FLAG_UNLOADING = 1 << 1, + RIDE_MEASUREMENT_FLAG_G_FORCES = 1 << 2 }; // Constants for ride->special_track_elements @@ -748,161 +748,161 @@ enum { }; enum { - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN = 1 << 0, - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL = 1 << 1, - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS = 1 << 2, - RIDE_TYPE_FLAG_3 = 1 << 3, - RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION = 1 << 4, - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS = 1 << 5, - RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER = 1 << 6, // used only by boat ride and submarine ride - RIDE_TYPE_FLAG_HAS_G_FORCES = 1 << 7, - RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS = 1 << 8, // used by rides that can't have gaps, like those with a vertical tower, such as the observation tower - RIDE_TYPE_FLAG_HAS_DATA_LOGGING = 1 << 9, - RIDE_TYPE_FLAG_HAS_DROPS = 1 << 10, - RIDE_TYPE_FLAG_NO_TEST_MODE = 1 << 11, - RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES = 1 << 12, // used by rides with two varieties, like the u and o shapes of the dinghy slide and the dry and submerged track of the water coaster - RIDE_TYPE_FLAG_NO_VEHICLES = 1 << 13, // used only by maze, spiral slide and shops - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS = 1 << 14, - RIDE_TYPE_FLAG_HAS_NO_TRACK = 1 << 15, - RIDE_TYPE_FLAG_16 = 1 << 16, // something to do with vehicle colour scheme - RIDE_TYPE_FLAG_IS_SHOP = 1 << 17, - RIDE_TYPE_FLAG_TRACK_NO_WALLS = 1 << 18, // if set, wall scenery can not share a tile with the ride's track - RIDE_TYPE_FLAG_FLAT_RIDE = 1 << 19, - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN = 1 << 20, // whether or not guests will go on the ride again if they liked it (this is usually applied to everything apart from transport rides) - RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY = 1 << 21, // used by toilets and first aid to mark that peep should go inside the building (rather than 'buying' at the counter) - RIDE_TYPE_FLAG_IN_RIDE = 1 << 22, // peeps are "IN" (ride) rather than "ON" (ride) - RIDE_TYPE_FLAG_SELLS_FOOD = 1 << 23, - RIDE_TYPE_FLAG_SELLS_DRINKS = 1 << 24, - RIDE_TYPE_FLAG_IS_BATHROOM = 1 << 25, - RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS = 1 << 26, // whether or not vehicle colours can be set - RIDE_TYPE_FLAG_CHECK_FOR_STALLING = 1 << 27, - RIDE_TYPE_FLAG_HAS_TRACK = 1 << 28, - RIDE_TYPE_FLAG_29 = 1 << 29, // used only by lift - RIDE_TYPE_FLAG_HAS_LARGE_CURVES = 1 << 30, // whether the ride supports large (45 degree turn) curves - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR = 1u << 31, + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN = 1 << 0, + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL = 1 << 1, + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS = 1 << 2, + RIDE_TYPE_FLAG_3 = 1 << 3, + RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION = 1 << 4, + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS = 1 << 5, + RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER = 1 << 6, // used only by boat ride and submarine ride + RIDE_TYPE_FLAG_HAS_G_FORCES = 1 << 7, + RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS = 1 << 8, // used by rides that can't have gaps, like those with a vertical tower, such as the observation tower + RIDE_TYPE_FLAG_HAS_DATA_LOGGING = 1 << 9, + RIDE_TYPE_FLAG_HAS_DROPS = 1 << 10, + RIDE_TYPE_FLAG_NO_TEST_MODE = 1 << 11, + RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES = 1 << 12, // used by rides with two varieties, like the u and o shapes of the dinghy slide and the dry and submerged track of the water coaster + RIDE_TYPE_FLAG_NO_VEHICLES = 1 << 13, // used only by maze, spiral slide and shops + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS = 1 << 14, + RIDE_TYPE_FLAG_HAS_NO_TRACK = 1 << 15, + RIDE_TYPE_FLAG_16 = 1 << 16, // something to do with vehicle colour scheme + RIDE_TYPE_FLAG_IS_SHOP = 1 << 17, + RIDE_TYPE_FLAG_TRACK_NO_WALLS = 1 << 18, // if set, wall scenery can not share a tile with the ride's track + RIDE_TYPE_FLAG_FLAT_RIDE = 1 << 19, + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN = 1 << 20, // whether or not guests will go on the ride again if they liked it (this is usually applied to everything apart from transport rides) + RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY = 1 << 21, // used by toilets and first aid to mark that peep should go inside the building (rather than 'buying' at the counter) + RIDE_TYPE_FLAG_IN_RIDE = 1 << 22, // peeps are "IN" (ride) rather than "ON" (ride) + RIDE_TYPE_FLAG_SELLS_FOOD = 1 << 23, + RIDE_TYPE_FLAG_SELLS_DRINKS = 1 << 24, + RIDE_TYPE_FLAG_IS_BATHROOM = 1 << 25, + RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS = 1 << 26, // whether or not vehicle colours can be set + RIDE_TYPE_FLAG_CHECK_FOR_STALLING = 1 << 27, + RIDE_TYPE_FLAG_HAS_TRACK = 1 << 28, + RIDE_TYPE_FLAG_29 = 1 << 29, // used only by lift + RIDE_TYPE_FLAG_HAS_LARGE_CURVES = 1 << 30, // whether the ride supports large (45 degree turn) curves + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR = 1u << 31, }; enum { - RIDE_CRASH_TYPE_NONE = 0, - RIDE_CRASH_TYPE_NO_FATALITIES = 2, - RIDE_CRASH_TYPE_FATALITIES = 8 + RIDE_CRASH_TYPE_NONE = 0, + RIDE_CRASH_TYPE_NO_FATALITIES = 2, + RIDE_CRASH_TYPE_FATALITIES = 8 }; enum { - RIDE_CONSTRUCTION_STATE_0, - RIDE_CONSTRUCTION_STATE_FRONT, - RIDE_CONSTRUCTION_STATE_BACK, - RIDE_CONSTRUCTION_STATE_SELECTED, - RIDE_CONSTRUCTION_STATE_PLACE, - RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT, - RIDE_CONSTRUCTION_STATE_MAZE_BUILD, - RIDE_CONSTRUCTION_STATE_MAZE_MOVE, - RIDE_CONSTRUCTION_STATE_MAZE_FILL + RIDE_CONSTRUCTION_STATE_0, + RIDE_CONSTRUCTION_STATE_FRONT, + RIDE_CONSTRUCTION_STATE_BACK, + RIDE_CONSTRUCTION_STATE_SELECTED, + RIDE_CONSTRUCTION_STATE_PLACE, + RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT, + RIDE_CONSTRUCTION_STATE_MAZE_BUILD, + RIDE_CONSTRUCTION_STATE_MAZE_MOVE, + RIDE_CONSTRUCTION_STATE_MAZE_FILL }; enum { - RIDE_SET_VEHICLES_COMMAND_TYPE_NUM_TRAINS, - RIDE_SET_VEHICLES_COMMAND_TYPE_NUM_CARS_PER_TRAIN, - RIDE_SET_VEHICLES_COMMAND_TYPE_RIDE_ENTRY + RIDE_SET_VEHICLES_COMMAND_TYPE_NUM_TRAINS, + RIDE_SET_VEHICLES_COMMAND_TYPE_NUM_CARS_PER_TRAIN, + RIDE_SET_VEHICLES_COMMAND_TYPE_RIDE_ENTRY }; enum { - SHOP_ITEM_BALLOON, - SHOP_ITEM_TOY, - SHOP_ITEM_MAP, - SHOP_ITEM_PHOTO, - SHOP_ITEM_UMBRELLA, - SHOP_ITEM_DRINK, - SHOP_ITEM_BURGER, - SHOP_ITEM_CHIPS, - SHOP_ITEM_ICE_CREAM, - SHOP_ITEM_CANDYFLOSS, - SHOP_ITEM_EMPTY_CAN, - SHOP_ITEM_RUBBISH, - SHOP_ITEM_EMPTY_BURGER_BOX, - SHOP_ITEM_PIZZA, - SHOP_ITEM_VOUCHER, - SHOP_ITEM_POPCORN, - SHOP_ITEM_HOT_DOG, - SHOP_ITEM_TENTACLE, - SHOP_ITEM_HAT, - SHOP_ITEM_CANDY_APPLE, - SHOP_ITEM_TSHIRT, - SHOP_ITEM_DONUT, - SHOP_ITEM_COFFEE, - SHOP_ITEM_EMPTY_CUP, - SHOP_ITEM_CHICKEN, - SHOP_ITEM_LEMONADE, - SHOP_ITEM_EMPTY_BOX, - SHOP_ITEM_EMPTY_BOTTLE = 27, - SHOP_ITEM_ADMISSION = 31, - SHOP_ITEM_PHOTO2 = 32, - SHOP_ITEM_PHOTO3, - SHOP_ITEM_PHOTO4, - SHOP_ITEM_PRETZEL, - SHOP_ITEM_CHOCOLATE, - SHOP_ITEM_ICED_TEA, - SHOP_ITEM_FUNNEL_CAKE, - SHOP_ITEM_SUNGLASSES, - SHOP_ITEM_BEEF_NOODLES, - SHOP_ITEM_FRIED_RICE_NOODLES, - SHOP_ITEM_WONTON_SOUP, - SHOP_ITEM_MEATBALL_SOUP, - SHOP_ITEM_FRUIT_JUICE, - SHOP_ITEM_SOYBEAN_MILK, - SHOP_ITEM_SU_JONGKWA, - SHOP_ITEM_SUB_SANDWICH, - SHOP_ITEM_COOKIE, - SHOP_ITEM_EMPTY_BOWL_RED, - SHOP_ITEM_EMPTY_DRINK_CARTON, - SHOP_ITEM_EMPTY_JUICE_CUP, - SHOP_ITEM_ROAST_SAUSAGE, - SHOP_ITEM_EMPTY_BOWL_BLUE, - SHOP_ITEM_COUNT = 56, - SHOP_ITEM_NONE = 255 + SHOP_ITEM_BALLOON, + SHOP_ITEM_TOY, + SHOP_ITEM_MAP, + SHOP_ITEM_PHOTO, + SHOP_ITEM_UMBRELLA, + SHOP_ITEM_DRINK, + SHOP_ITEM_BURGER, + SHOP_ITEM_CHIPS, + SHOP_ITEM_ICE_CREAM, + SHOP_ITEM_CANDYFLOSS, + SHOP_ITEM_EMPTY_CAN, + SHOP_ITEM_RUBBISH, + SHOP_ITEM_EMPTY_BURGER_BOX, + SHOP_ITEM_PIZZA, + SHOP_ITEM_VOUCHER, + SHOP_ITEM_POPCORN, + SHOP_ITEM_HOT_DOG, + SHOP_ITEM_TENTACLE, + SHOP_ITEM_HAT, + SHOP_ITEM_CANDY_APPLE, + SHOP_ITEM_TSHIRT, + SHOP_ITEM_DONUT, + SHOP_ITEM_COFFEE, + SHOP_ITEM_EMPTY_CUP, + SHOP_ITEM_CHICKEN, + SHOP_ITEM_LEMONADE, + SHOP_ITEM_EMPTY_BOX, + SHOP_ITEM_EMPTY_BOTTLE = 27, + SHOP_ITEM_ADMISSION = 31, + SHOP_ITEM_PHOTO2 = 32, + SHOP_ITEM_PHOTO3, + SHOP_ITEM_PHOTO4, + SHOP_ITEM_PRETZEL, + SHOP_ITEM_CHOCOLATE, + SHOP_ITEM_ICED_TEA, + SHOP_ITEM_FUNNEL_CAKE, + SHOP_ITEM_SUNGLASSES, + SHOP_ITEM_BEEF_NOODLES, + SHOP_ITEM_FRIED_RICE_NOODLES, + SHOP_ITEM_WONTON_SOUP, + SHOP_ITEM_MEATBALL_SOUP, + SHOP_ITEM_FRUIT_JUICE, + SHOP_ITEM_SOYBEAN_MILK, + SHOP_ITEM_SU_JONGKWA, + SHOP_ITEM_SUB_SANDWICH, + SHOP_ITEM_COOKIE, + SHOP_ITEM_EMPTY_BOWL_RED, + SHOP_ITEM_EMPTY_DRINK_CARTON, + SHOP_ITEM_EMPTY_JUICE_CUP, + SHOP_ITEM_ROAST_SAUSAGE, + SHOP_ITEM_EMPTY_BOWL_BLUE, + SHOP_ITEM_COUNT = 56, + SHOP_ITEM_NONE = 255 }; enum { - RIDE_SETTING_MODE, - RIDE_SETTING_DEPARTURE, - RIDE_SETTING_MIN_WAITING_TIME, - RIDE_SETTING_MAX_WAITING_TIME, - RIDE_SETTING_OPERATION_OPTION, - RIDE_SETTING_INSPECTION_INTERVAL, - RIDE_SETTING_MUSIC, - RIDE_SETTING_MUSIC_TYPE, - RIDE_SETTING_LIFT_HILL_SPEED, - RIDE_SETTING_NUM_CIRCUITS, - RIDE_SETTING_RIDE_TYPE, + RIDE_SETTING_MODE, + RIDE_SETTING_DEPARTURE, + RIDE_SETTING_MIN_WAITING_TIME, + RIDE_SETTING_MAX_WAITING_TIME, + RIDE_SETTING_OPERATION_OPTION, + RIDE_SETTING_INSPECTION_INTERVAL, + RIDE_SETTING_MUSIC, + RIDE_SETTING_MUSIC_TYPE, + RIDE_SETTING_LIFT_HILL_SPEED, + RIDE_SETTING_NUM_CIRCUITS, + RIDE_SETTING_RIDE_TYPE, }; enum { - MAZE_WALL_TYPE_BRICK, - MAZE_WALL_TYPE_HEDGE, - MAZE_WALL_TYPE_ICE, - MAZE_WALL_TYPE_WOOD, + MAZE_WALL_TYPE_BRICK, + MAZE_WALL_TYPE_HEDGE, + MAZE_WALL_TYPE_ICE, + MAZE_WALL_TYPE_WOOD, }; enum { - TRACK_SELECTION_FLAG_ARROW = 1 << 0, - TRACK_SELECTION_FLAG_TRACK = 1 << 1, - TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT = 1 << 2, - TRACK_SELECTION_FLAG_RECHECK = 1 << 3, + TRACK_SELECTION_FLAG_ARROW = 1 << 0, + TRACK_SELECTION_FLAG_TRACK = 1 << 1, + TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT = 1 << 2, + TRACK_SELECTION_FLAG_RECHECK = 1 << 3, }; typedef struct rct_ride_properties { - uint32 flags; - uint8 min_value; - uint8 max_value; - uint8 max_brakes_speed; - uint8 powered_lift_acceleration; - uint8 booster_acceleration; + uint32 flags; + uint8 min_value; + uint8 max_value; + uint8 max_brakes_speed; + uint8 powered_lift_acceleration; + uint8 booster_acceleration; } rct_ride_properties; extern const rct_ride_properties RideProperties[RIDE_TYPE_COUNT]; -#define MAX_RIDES 255 -#define RIDE_ID_NULL 255 +#define MAX_RIDES 255 +#define RIDE_ID_NULL 255 #define RIDE_MODE_COUNT 37 @@ -914,9 +914,9 @@ extern const rct_ride_properties RideProperties[RIDE_TYPE_COUNT]; #define STATION_DEPART_MASK (~STATION_DEPART_FLAG) #define CURRENT_TURN_COUNT_MASK 0xF800 -#define TURN_MASK_1_ELEMENT 0x001F -#define TURN_MASK_2_ELEMENTS 0x00E0 -#define TURN_MASK_3_ELEMENTS 0x0700 +#define TURN_MASK_1_ELEMENT 0x001F +#define TURN_MASK_2_ELEMENTS 0x00E0 +#define TURN_MASK_3_ELEMENTS 0x0700 #define TURN_MASK_4_PLUS_ELEMENTS 0xF800 /** Helper macros until rides are stored in this module. */ @@ -929,8 +929,8 @@ rct_ride_measurement *get_ride_measurement(sint32 index); * Helper macro loop for enumerating through all the non null rides. */ #define FOR_ALL_RIDES(i, ride) \ - for (i = 0; i < MAX_RIDES; i++) \ - if ((ride = get_ride(i))->type != RIDE_TYPE_NULL) + for (i = 0; i < MAX_RIDES; i++) \ + if ((ride = get_ride(i))->type != RIDE_TYPE_NULL) extern money16 gTotalRideValue; extern uint32 gSamePriceThroughoutParkA; diff --git a/src/openrct2/ride/ride_data.c b/src/openrct2/ride/ride_data.c index 688a173a61..6c03f40b20 100644 --- a/src/openrct2/ride/ride_data.c +++ b/src/openrct2/ride/ride_data.c @@ -33,97 +33,97 @@ #include "../interface/colour.h" const bool hasRunningTrack[RIDE_TYPE_COUNT] = { - true, // 0 Spiral Roller coaster - true, // 1 Stand Up Coaster - true, // 2 Suspended Swinging - true, // 3 Inverted - true, // 4 Steel Mini Coaster - true, // 5 Mini Railroad - true, // 6 Monorail - true, // 7 Mini Suspended Coaster - false, // 8 Boat Ride - true, // 9 Wooden Wild Mine/Mouse - true, // a Steeplechase/Motorbike/Soap Box Derby - true, // b Car Ride - true, // c Launched Freefall - true, // d Bobsleigh Coaster - true, // e Observation Tower - true, // f Looping Roller Coaster - true, // 10 Dinghy Slide - true, // 11 Mine Train Coaster - true, // 12 Chairlift - true, // 13 Corkscrew Roller Coaster - false, // 14 Maze - false, // 15 Spiral Slide - true, // 16 Go Karts - true, // 17 Log Flume - true, // 18 River Rapids - false, // 19 Dodgems - false, // 1a Pirate Ship - false, // 1b Swinging Inverter Ship - false, // 1c Food Stall - false, // 1d (none) - false, // 1e Drink Stall - false, // 1f (none) - false, // 20 Shop (all types) - false, // 21 Merry Go Round - false, // 22 Balloon Stall (maybe) - false, // 23 Information Kiosk - false, // 24 Bathroom - false, // 25 Ferris Wheel - false, // 26 Motion Simulator - false, // 27 3D Cinema - false, // 28 Topspin - false, // 29 Space Rings - true, // 2a Reverse Freefall Coaster - true, // 2b Elevator - true, // 2c Vertical Drop Roller Coaster - false, // 2d ATM - false, // 2e Twist - false, // 2f Haunted House - false, // 30 First Aid - false, // 31 Circus Show - true, // 32 Ghost Train - true, // 33 Twister Roller Coaster - true, // 34 Wooden Roller Coaster - true, // 35 Side-Friction Roller Coaster - true, // 36 Wild Mouse - true, // 37 Multi Dimension Coaster - true, // 38 (none) - true, // 39 Flying Roller Coaster - true, // 3a (none) - true, // 3b Virginia Reel - true, // 3c Splash Boats - true, // 3d Mini Helicopters - true, // 3e Lay-down Roller Coaster - true, // 3f Suspended Monorail - true, // 40 (none) - true, // 41 Reverser Roller Coaster - true, // 42 Heartline Twister Roller Coaster - true, // 43 Mini Golf - true, // 44 Giga Coaster - true, // 45 Roto-Drop - false, // 46 Flying Saucers - false, // 47 Crooked House - true, // 48 Monorail Cycles - true, // 49 Compact Inverted Coaster - true, // 4a Water Coaster - true, // 4b Air Powered Vertical Coaster - true, // 4c Inverted Hairpin Coaster - false, // 4d Magic Carpet - false, // 4e Submarine Ride - true, // 4f River Rafts - false, // 50 (none) - false, // 51 Enterprise - false, // 52 (none) - false, // 53 (none) - false, // 54 (none) - true, // 55 (none) - true, // 56 Inverted Impulse Coaster - true, // 57 Mini Roller Coaster - true, // 58 Mine Ride - true, // 59 (none) - true, // 5a LIM Launched Roller Coaster + true, // 0 Spiral Roller coaster + true, // 1 Stand Up Coaster + true, // 2 Suspended Swinging + true, // 3 Inverted + true, // 4 Steel Mini Coaster + true, // 5 Mini Railroad + true, // 6 Monorail + true, // 7 Mini Suspended Coaster + false, // 8 Boat Ride + true, // 9 Wooden Wild Mine/Mouse + true, // a Steeplechase/Motorbike/Soap Box Derby + true, // b Car Ride + true, // c Launched Freefall + true, // d Bobsleigh Coaster + true, // e Observation Tower + true, // f Looping Roller Coaster + true, // 10 Dinghy Slide + true, // 11 Mine Train Coaster + true, // 12 Chairlift + true, // 13 Corkscrew Roller Coaster + false, // 14 Maze + false, // 15 Spiral Slide + true, // 16 Go Karts + true, // 17 Log Flume + true, // 18 River Rapids + false, // 19 Dodgems + false, // 1a Pirate Ship + false, // 1b Swinging Inverter Ship + false, // 1c Food Stall + false, // 1d (none) + false, // 1e Drink Stall + false, // 1f (none) + false, // 20 Shop (all types) + false, // 21 Merry Go Round + false, // 22 Balloon Stall (maybe) + false, // 23 Information Kiosk + false, // 24 Bathroom + false, // 25 Ferris Wheel + false, // 26 Motion Simulator + false, // 27 3D Cinema + false, // 28 Topspin + false, // 29 Space Rings + true, // 2a Reverse Freefall Coaster + true, // 2b Elevator + true, // 2c Vertical Drop Roller Coaster + false, // 2d ATM + false, // 2e Twist + false, // 2f Haunted House + false, // 30 First Aid + false, // 31 Circus Show + true, // 32 Ghost Train + true, // 33 Twister Roller Coaster + true, // 34 Wooden Roller Coaster + true, // 35 Side-Friction Roller Coaster + true, // 36 Wild Mouse + true, // 37 Multi Dimension Coaster + true, // 38 (none) + true, // 39 Flying Roller Coaster + true, // 3a (none) + true, // 3b Virginia Reel + true, // 3c Splash Boats + true, // 3d Mini Helicopters + true, // 3e Lay-down Roller Coaster + true, // 3f Suspended Monorail + true, // 40 (none) + true, // 41 Reverser Roller Coaster + true, // 42 Heartline Twister Roller Coaster + true, // 43 Mini Golf + true, // 44 Giga Coaster + true, // 45 Roto-Drop + false, // 46 Flying Saucers + false, // 47 Crooked House + true, // 48 Monorail Cycles + true, // 49 Compact Inverted Coaster + true, // 4a Water Coaster + true, // 4b Air Powered Vertical Coaster + true, // 4c Inverted Hairpin Coaster + false, // 4d Magic Carpet + false, // 4e Submarine Ride + true, // 4f River Rafts + false, // 50 (none) + false, // 51 Enterprise + false, // 52 (none) + false, // 53 (none) + false, // 54 (none) + true, // 55 (none) + true, // 56 Inverted Impulse Coaster + true, // 57 Mini Roller Coaster + true, // 58 Mine Ride + true, // 59 (none) + true, // 5a LIM Launched Roller Coaster }; /** @@ -134,288 +134,288 @@ const bool hasRunningTrack[RIDE_TYPE_COUNT] = { * data generation script: https://gist.github.com/kevinburke/6bcf4a8fcc95faad7bac */ const uint8 initialUpkeepCosts[RIDE_TYPE_COUNT] = { - 41, // 00 Spiral Roller coaster - 40, // 01 Stand Up Coaster - 40, // 02 Suspended Swinging - 40, // 03 Inverted - 40, // 04 Steel Mini Coaster - 60, // 05 Mini Railroad - 65, // 06 Monorail - 40, // 07 Mini Suspended Coaster - 50, // 08 Boat Ride - 40, // 09 Wooden Wild Mine/Mouse - 40, // 0a Steeplechase/Motorbike/Soap Box Derby - 70, // 0b Car Ride - 50, // 0c Launched Freefall - 40, // 0d Bobsleigh Coaster - 50, // 0e Observation Tower - 40, // 0f Looping Roller Coaster - 40, // 10 Dinghy Slide - 40, // 11 Mine Train Coaster - 60, // 12 Chairlift - 40, // 13 Corkscrew Roller Coaster - 50, // 14 Maze - 50, // 15 Spiral Slide - 50, // 16 Go Karts - 80, // 17 Log Flume - 82, // 18 River Rapids - 50, // 19 Dodgems - 50, // 1a Pirate Ship - 50, // 1b Swinging Inverter Ship - 50, // 1c Food Stall - 50, // 1d (none) - 50, // 1e Drink Stall - 50, // 1f (none) - 50, // 20 Shop (all types) - 50, // 21 Merry Go Round - 50, // 22 Balloon Stall (maybe) - 50, // 23 Information Kiosk - 50, // 24 Bathroom - 50, // 25 Ferris Wheel - 50, // 26 Motion Simulator - 50, // 27 3D Cinema - 50, // 28 Topspin - 50, // 29 Space Rings - 80, // 2a Reverse Freefall Coaster - 50, // 2b Elevator - 44, // 2c Vertical Drop Roller Coaster - 40, // 2d ATM - 50, // 2e Twist - 50, // 2f Haunted House - 45, // 30 First Aid - 50, // 31 Circus Show - 80, // 32 Ghost Train - 43, // 33 Twister Roller Coaster - 40, // 34 Wooden Roller Coaster - 39, // 35 Side-Friction Roller Coaster - 40, // 36 Wild Mouse - 75, // 37 Multi Dimension Coaster - 75, // 38 (none) - 49, // 39 Flying Roller Coaster - 49, // 3a (none) - 39, // 3b Virginia Reel - 70, // 3c Splash Boats - 70, // 3d Mini Helicopters - 49, // 3e Lay-down Roller Coaster - 70, // 3f Suspended Monorail - 49, // 40 (none) - 39, // 41 Reverser Roller Coaster - 47, // 42 Heartline Twister Roller Coaster - 30, // 43 Mini Golf - 10, // 44 Giga Coaster - 50, // 45 Roto-Drop - 90, // 46 Flying Saucers - 30, // 47 Crooked House - 47, // 48 Monorail Cycles - 40, // 49 Compact Inverted Coaster - 60, // 4a Water Coaster - 90, // 4b Air Powered Vertical Coaster - 40, // 4c Inverted Hairpin Coaster - 50, // 4d Magic Carpet - 50, // 4e Submarine Ride - 50, // 4f River Rafts - 50, // 50 (none) - 50, // 51 Enterprise - 50, // 52 (none) - 50, // 53 (none) - 50, // 54 (none) - 40, // 55 (none) - 180,// 56 Inverted Impulse Coaster - 35, // 57 Mini Roller Coaster - 50, // 58 Mine Ride - 42, // 59 (none) - 42, // 5a LIM Launched Roller Coaster + 41, // 00 Spiral Roller coaster + 40, // 01 Stand Up Coaster + 40, // 02 Suspended Swinging + 40, // 03 Inverted + 40, // 04 Steel Mini Coaster + 60, // 05 Mini Railroad + 65, // 06 Monorail + 40, // 07 Mini Suspended Coaster + 50, // 08 Boat Ride + 40, // 09 Wooden Wild Mine/Mouse + 40, // 0a Steeplechase/Motorbike/Soap Box Derby + 70, // 0b Car Ride + 50, // 0c Launched Freefall + 40, // 0d Bobsleigh Coaster + 50, // 0e Observation Tower + 40, // 0f Looping Roller Coaster + 40, // 10 Dinghy Slide + 40, // 11 Mine Train Coaster + 60, // 12 Chairlift + 40, // 13 Corkscrew Roller Coaster + 50, // 14 Maze + 50, // 15 Spiral Slide + 50, // 16 Go Karts + 80, // 17 Log Flume + 82, // 18 River Rapids + 50, // 19 Dodgems + 50, // 1a Pirate Ship + 50, // 1b Swinging Inverter Ship + 50, // 1c Food Stall + 50, // 1d (none) + 50, // 1e Drink Stall + 50, // 1f (none) + 50, // 20 Shop (all types) + 50, // 21 Merry Go Round + 50, // 22 Balloon Stall (maybe) + 50, // 23 Information Kiosk + 50, // 24 Bathroom + 50, // 25 Ferris Wheel + 50, // 26 Motion Simulator + 50, // 27 3D Cinema + 50, // 28 Topspin + 50, // 29 Space Rings + 80, // 2a Reverse Freefall Coaster + 50, // 2b Elevator + 44, // 2c Vertical Drop Roller Coaster + 40, // 2d ATM + 50, // 2e Twist + 50, // 2f Haunted House + 45, // 30 First Aid + 50, // 31 Circus Show + 80, // 32 Ghost Train + 43, // 33 Twister Roller Coaster + 40, // 34 Wooden Roller Coaster + 39, // 35 Side-Friction Roller Coaster + 40, // 36 Wild Mouse + 75, // 37 Multi Dimension Coaster + 75, // 38 (none) + 49, // 39 Flying Roller Coaster + 49, // 3a (none) + 39, // 3b Virginia Reel + 70, // 3c Splash Boats + 70, // 3d Mini Helicopters + 49, // 3e Lay-down Roller Coaster + 70, // 3f Suspended Monorail + 49, // 40 (none) + 39, // 41 Reverser Roller Coaster + 47, // 42 Heartline Twister Roller Coaster + 30, // 43 Mini Golf + 10, // 44 Giga Coaster + 50, // 45 Roto-Drop + 90, // 46 Flying Saucers + 30, // 47 Crooked House + 47, // 48 Monorail Cycles + 40, // 49 Compact Inverted Coaster + 60, // 4a Water Coaster + 90, // 4b Air Powered Vertical Coaster + 40, // 4c Inverted Hairpin Coaster + 50, // 4d Magic Carpet + 50, // 4e Submarine Ride + 50, // 4f River Rafts + 50, // 50 (none) + 50, // 51 Enterprise + 50, // 52 (none) + 50, // 53 (none) + 50, // 54 (none) + 40, // 55 (none) + 180,// 56 Inverted Impulse Coaster + 35, // 57 Mini Roller Coaster + 50, // 58 Mine Ride + 42, // 59 (none) + 42, // 5a LIM Launched Roller Coaster }; const uint8 costPerTrackPiece[RIDE_TYPE_COUNT] = { - 80, // 00 Spiral Roller coaster - 80, // 01 Stand Up Coaster - 80, // 02 Suspended Swinging - 80, // 03 Inverted - 80, // 04 Steel Mini Coaster - 0, // 05 Mini Railroad - 0, // 06 Monorail - 80, // 07 Mini Suspended Coaster - 0, // 08 Boat Ride - 80, // 09 Wooden Wild Mine/Mouse - 80, // 0a Steeplechase/Motorbike/Soap Box Derby - 0, // 0b Car Ride - 0, // 0c Launched Freefall - 80, // 0d Bobsleigh Coaster - 0, // 0e Observation Tower - 80, // 0f Looping Roller Coaster - 80, // 10 Dinghy Slide - 80, // 11 Mine Train Coaster - 0, // 12 Chairlift - 80, // 13 Corkscrew Roller Coaster - 0, // 14 Maze - 0, // 15 Spiral Slide - 0, // 16 Go Karts - 0, // 17 Log Flume - 0, // 18 River Rapids - 0, // 19 Dodgems - 0, // 1a Pirate Ship - 0, // 1b Swinging Inverter Ship - 0, // 1c Food Stall - 0, // 1d (none) - 0, // 1e Drink Stall - 0, // 1f (none) - 0, // 20 Shop (all types) - 0, // 21 Merry Go Round - 0, // 22 Balloon Stall (maybe) - 0, // 23 Information Kiosk - 0, // 24 Bathroom - 0, // 25 Ferris Wheel - 0, // 26 Motion Simulator - 0, // 27 3D Cinema - 0, // 28 Topspin - 0, // 29 Space Rings - 0, // 2a Reverse Freefall Coaster - 0, // 2b Elevator - 80, // 2c Vertical Drop Roller Coaster - 0, // 2d ATM - 0, // 2e Twist - 0, // 2f Haunted House - 0, // 30 First Aid - 0, // 31 Circus Show - 0, // 32 Ghost Train - 80, // 33 Twister Roller Coaster - 80, // 34 Wooden Roller Coaster - 80, // 35 Side-Friction Roller Coaster - 80, // 36 Wild Mouse - 90, // 37 Multi Dimension Coaster - 90, // 38 (none) - 90, // 39 Flying Roller Coaster - 90, // 3a (none) - 80, // 3b Virginia Reel - 0, // 3c Splash Boats - 0, // 3d Mini Helicopters - 90, // 3e Lay-down Roller Coaster - 0, // 3f Suspended Monorail - 90, // 40 (none) - 80, // 41 Reverser Roller Coaster - 80, // 42 Heartline Twister Roller Coaster - 80, // 43 Mini Golf - 80, // 44 Giga Coaster - 0, // 45 Roto-Drop - 0, // 46 Flying Saucers - 0, // 47 Crooked House - 0, // 48 Monorail Cycles - 80, // 49 Compact Inverted Coaster - 80, // 4a Water Coaster - 0, // 4b Air Powered Vertical Coaster - 80, // 4c Inverted Hairpin Coaster - 0, // 4d Magic Carpet - 0, // 4e Submarine Ride - 0, // 4f River Rafts - 0, // 50 (none) - 0, // 51 Enterprise - 0, // 52 (none) - 0, // 53 (none) - 0, // 54 (none) - 80, // 55 (none) - 80, // 56 Inverted Impulse Coaster - 80, // 57 Mini Roller Coaster - 80, // 58 Mine Ride - 80, // 59 (none) - 80, // 5a LIM Launched Roller Coaster + 80, // 00 Spiral Roller coaster + 80, // 01 Stand Up Coaster + 80, // 02 Suspended Swinging + 80, // 03 Inverted + 80, // 04 Steel Mini Coaster + 0, // 05 Mini Railroad + 0, // 06 Monorail + 80, // 07 Mini Suspended Coaster + 0, // 08 Boat Ride + 80, // 09 Wooden Wild Mine/Mouse + 80, // 0a Steeplechase/Motorbike/Soap Box Derby + 0, // 0b Car Ride + 0, // 0c Launched Freefall + 80, // 0d Bobsleigh Coaster + 0, // 0e Observation Tower + 80, // 0f Looping Roller Coaster + 80, // 10 Dinghy Slide + 80, // 11 Mine Train Coaster + 0, // 12 Chairlift + 80, // 13 Corkscrew Roller Coaster + 0, // 14 Maze + 0, // 15 Spiral Slide + 0, // 16 Go Karts + 0, // 17 Log Flume + 0, // 18 River Rapids + 0, // 19 Dodgems + 0, // 1a Pirate Ship + 0, // 1b Swinging Inverter Ship + 0, // 1c Food Stall + 0, // 1d (none) + 0, // 1e Drink Stall + 0, // 1f (none) + 0, // 20 Shop (all types) + 0, // 21 Merry Go Round + 0, // 22 Balloon Stall (maybe) + 0, // 23 Information Kiosk + 0, // 24 Bathroom + 0, // 25 Ferris Wheel + 0, // 26 Motion Simulator + 0, // 27 3D Cinema + 0, // 28 Topspin + 0, // 29 Space Rings + 0, // 2a Reverse Freefall Coaster + 0, // 2b Elevator + 80, // 2c Vertical Drop Roller Coaster + 0, // 2d ATM + 0, // 2e Twist + 0, // 2f Haunted House + 0, // 30 First Aid + 0, // 31 Circus Show + 0, // 32 Ghost Train + 80, // 33 Twister Roller Coaster + 80, // 34 Wooden Roller Coaster + 80, // 35 Side-Friction Roller Coaster + 80, // 36 Wild Mouse + 90, // 37 Multi Dimension Coaster + 90, // 38 (none) + 90, // 39 Flying Roller Coaster + 90, // 3a (none) + 80, // 3b Virginia Reel + 0, // 3c Splash Boats + 0, // 3d Mini Helicopters + 90, // 3e Lay-down Roller Coaster + 0, // 3f Suspended Monorail + 90, // 40 (none) + 80, // 41 Reverser Roller Coaster + 80, // 42 Heartline Twister Roller Coaster + 80, // 43 Mini Golf + 80, // 44 Giga Coaster + 0, // 45 Roto-Drop + 0, // 46 Flying Saucers + 0, // 47 Crooked House + 0, // 48 Monorail Cycles + 80, // 49 Compact Inverted Coaster + 80, // 4a Water Coaster + 0, // 4b Air Powered Vertical Coaster + 80, // 4c Inverted Hairpin Coaster + 0, // 4d Magic Carpet + 0, // 4e Submarine Ride + 0, // 4f River Rafts + 0, // 50 (none) + 0, // 51 Enterprise + 0, // 52 (none) + 0, // 53 (none) + 0, // 54 (none) + 80, // 55 (none) + 80, // 56 Inverted Impulse Coaster + 80, // 57 Mini Roller Coaster + 80, // 58 Mine Ride + 80, // 59 (none) + 80, // 5a LIM Launched Roller Coaster }; /** * Data initially at 0x0097E3B4 */ const uint8 costPerVehicle[RIDE_TYPE_COUNT] = { - 10, // 00 Spiral Roller coaster - 10, // 01 Stand Up Coaster - 20, // 02 Suspended Swinging - 13, // 03 Inverted - 8, // 04 Steel Mini Coaster - 10, // 05 Mini Railroad - 10, // 06 Monorail - 10, // 07 Mini Suspended Coaster - 4, // 08 Boat Ride - 9, // 09 Wooden Wild Mine/Mouse - 10, // 0a Steeplechase/Motorbike/Soap Box Derby - 8, // 0b Car Ride - 10, // 0c Launched Freefall - 10, // 0d Bobsleigh Coaster - 10, // 0e Observation Tower - 10, // 0f Looping Roller Coaster - 4, // 10 Dinghy Slide - 10, // 11 Mine Train Coaster - 4, // 12 Chairlift - 11, // 13 Corkscrew Roller Coaster - 0, // 14 Maze - 0, // 15 Spiral Slide - 8, // 16 Go Karts - 9, // 17 Log Flume - 10, // 18 River Rapids - 5, // 19 Dodgems - 0, // 1a Pirate Ship - 0, // 1b Swinging Inverter Ship - 0, // 1c Food Stall - 0, // 1d (none) - 0, // 1e Drink Stall - 0, // 1f (none) - 0, // 20 Shop (all types) - 0, // 21 Merry Go Round - 0, // 22 Balloon Stall (maybe) - 0, // 23 Information Kiosk - 0, // 24 Bathroom - 0, // 25 Ferris Wheel - 0, // 26 Motion Simulator - 0, // 27 3D Cinema - 0, // 28 Topspin - 0, // 29 Space Rings - 0, // 2a Reverse Freefall Coaster - 10, // 2b Elevator - 11, // 2c Vertical Drop Roller Coaster - 0, // 2d ATM - 0, // 2e Twist - 0, // 2f Haunted House - 0, // 30 First Aid - 0, // 31 Circus Show - 8, // 32 Ghost Train - 11, // 33 Twister Roller Coaster - 10, // 34 Wooden Roller Coaster - 10, // 35 Side-Friction Roller Coaster - 9, // 36 Wild Mouse - 11, // 37 Multi Dimension Coaster - 11, // 38 (none) - 11, // 39 Flying Roller Coaster - 11, // 3a (none) - 10, // 3b Virginia Reel - 9, // 3c Splash Boats - 8, // 3d Mini Helicopters - 11, // 3e Lay-down Roller Coaster - 10, // 3f Suspended Monorail - 11, // 40 (none) - 10, // 41 Reverser Roller Coaster - 11, // 42 Heartline Twister Roller Coaster - 11, // 43 Mini Golf - 12, // 44 Giga Coaster - 10, // 45 Roto-Drop - 5, // 46 Flying Saucers - 0, // 47 Crooked House - 8, // 48 Monorail Cycles - 13, // 49 Compact Inverted Coaster - 8, // 4a Water Coaster - 0, // 4b Air Powered Vertical Coaster - 9, // 4c Inverted Hairpin Coaster - 0, // 4d Magic Carpet - 4, // 4e Submarine Ride - 9, // 4f River Rafts - 0, // 50 (none) - 0, // 51 Enterprise - 0, // 52 (none) - 0, // 53 (none) - 0, // 54 (none) - 11, // 55 (none) - 11, // 56 Inverted Impulse Coaster - 8, // 57 Mini Roller Coaster - 10, // 58 Mine Ride - 9, // 59 (none) - 9, // 5a LIM Launched Roller Coaster + 10, // 00 Spiral Roller coaster + 10, // 01 Stand Up Coaster + 20, // 02 Suspended Swinging + 13, // 03 Inverted + 8, // 04 Steel Mini Coaster + 10, // 05 Mini Railroad + 10, // 06 Monorail + 10, // 07 Mini Suspended Coaster + 4, // 08 Boat Ride + 9, // 09 Wooden Wild Mine/Mouse + 10, // 0a Steeplechase/Motorbike/Soap Box Derby + 8, // 0b Car Ride + 10, // 0c Launched Freefall + 10, // 0d Bobsleigh Coaster + 10, // 0e Observation Tower + 10, // 0f Looping Roller Coaster + 4, // 10 Dinghy Slide + 10, // 11 Mine Train Coaster + 4, // 12 Chairlift + 11, // 13 Corkscrew Roller Coaster + 0, // 14 Maze + 0, // 15 Spiral Slide + 8, // 16 Go Karts + 9, // 17 Log Flume + 10, // 18 River Rapids + 5, // 19 Dodgems + 0, // 1a Pirate Ship + 0, // 1b Swinging Inverter Ship + 0, // 1c Food Stall + 0, // 1d (none) + 0, // 1e Drink Stall + 0, // 1f (none) + 0, // 20 Shop (all types) + 0, // 21 Merry Go Round + 0, // 22 Balloon Stall (maybe) + 0, // 23 Information Kiosk + 0, // 24 Bathroom + 0, // 25 Ferris Wheel + 0, // 26 Motion Simulator + 0, // 27 3D Cinema + 0, // 28 Topspin + 0, // 29 Space Rings + 0, // 2a Reverse Freefall Coaster + 10, // 2b Elevator + 11, // 2c Vertical Drop Roller Coaster + 0, // 2d ATM + 0, // 2e Twist + 0, // 2f Haunted House + 0, // 30 First Aid + 0, // 31 Circus Show + 8, // 32 Ghost Train + 11, // 33 Twister Roller Coaster + 10, // 34 Wooden Roller Coaster + 10, // 35 Side-Friction Roller Coaster + 9, // 36 Wild Mouse + 11, // 37 Multi Dimension Coaster + 11, // 38 (none) + 11, // 39 Flying Roller Coaster + 11, // 3a (none) + 10, // 3b Virginia Reel + 9, // 3c Splash Boats + 8, // 3d Mini Helicopters + 11, // 3e Lay-down Roller Coaster + 10, // 3f Suspended Monorail + 11, // 40 (none) + 10, // 41 Reverser Roller Coaster + 11, // 42 Heartline Twister Roller Coaster + 11, // 43 Mini Golf + 12, // 44 Giga Coaster + 10, // 45 Roto-Drop + 5, // 46 Flying Saucers + 0, // 47 Crooked House + 8, // 48 Monorail Cycles + 13, // 49 Compact Inverted Coaster + 8, // 4a Water Coaster + 0, // 4b Air Powered Vertical Coaster + 9, // 4c Inverted Hairpin Coaster + 0, // 4d Magic Carpet + 4, // 4e Submarine Ride + 9, // 4f River Rafts + 0, // 50 (none) + 0, // 51 Enterprise + 0, // 52 (none) + 0, // 53 (none) + 0, // 54 (none) + 11, // 55 (none) + 11, // 56 Inverted Impulse Coaster + 8, // 57 Mini Roller Coaster + 10, // 58 Mine Ride + 9, // 59 (none) + 9, // 5a LIM Launched Roller Coaster }; /** @@ -423,492 +423,492 @@ const uint8 costPerVehicle[RIDE_TYPE_COUNT] = { * a boolean table. This may be exactly the same as hasRunningTrack above. */ const bool chargeUpkeepForTrainLength[RIDE_TYPE_COUNT] = { - true, // 00 Spiral Roller coaster - true, // 01 Stand Up Coaster - true, // 02 Suspended Swinging - true, // 03 Inverted - true, // 04 Steel Mini Coaster - true, // 05 Mini Railroad - true, // 06 Monorail - true, // 07 Mini Suspended Coaster - false, // 08 Boat Ride - true, // 09 Wooden Wild Mine/Mouse - true, // 0a Steeplechase/Motorbike/Soap Box Derby - true, // 0b Car Ride - false, // 0c Launched Freefall - true, // 0d Bobsleigh Coaster - false, // 0e Observation Tower - true, // 0f Looping Roller Coaster - true, // 10 Dinghy Slide - true, // 11 Mine Train Coaster - true, // 12 Chairlift - true, // 13 Corkscrew Roller Coaster - false, // 14 Maze - false, // 15 Spiral Slide - false, // 16 Go Karts - false, // 17 Log Flume - false, // 18 River Rapids - false, // 19 Dodgems - false, // 1a Pirate Ship - false, // 1b Swinging Inverter Ship - false, // 1c Food Stall - false, // 1d (none) - false, // 1e Drink Stall - false, // 1f (none) - false, // 20 Shop (all types) - false, // 21 Merry Go Round - false, // 22 Balloon Stall (maybe) - false, // 23 Information Kiosk - false, // 24 Bathroom - false, // 25 Ferris Wheel - false, // 26 Motion Simulator - false, // 27 3D Cinema - false, // 28 Topspin - false, // 29 Space Rings - false, // 2a Reverse Freefall Coaster - false, // 2b Elevator - true, // 2c Vertical Drop Roller Coaster - false, // 2d ATM - false, // 2e Twist - false, // 2f Haunted House - false, // 30 First Aid - false, // 31 Circus Show - true, // 32 Ghost Train - true, // 33 Twister Roller Coaster - true, // 34 Wooden Roller Coaster - true, // 35 Side-Friction Roller Coaster - true, // 36 Wild Mouse - true, // 37 Multi Dimension Coaster - true, // 38 (none) - true, // 39 Flying Roller Coaster - true, // 3a (none) - true, // 3b Virginia Reel - false, // 3c Splash Boats - true, // 3d Mini Helicopters - true, // 3e Lay-down Roller Coaster - true, // 3f Suspended Monorail - true, // 40 (none) - true, // 41 Reverser Roller Coaster - true, // 42 Heartline Twister Roller Coaster - true, // 43 Mini Golf - true, // 44 Giga Coaster - false, // 45 Roto-Drop - false, // 46 Flying Saucers - false, // 47 Crooked House - true, // 48 Monorail Cycles - true, // 49 Compact Inverted Coaster - true, // 4a Water Coaster - false, // 4b Air Powered Vertical Coaster - true, // 4c Inverted Hairpin Coaster - false, // 4d Magic Carpet - false, // 4e Submarine Ride - false, // 4f River Rafts - false, // 50 (none) - false, // 51 Enterprise - false, // 52 (none) - false, // 53 (none) - false, // 54 (none) - true, // 55 (none) - true, // 56 Inverted Impulse Coaster - true, // 57 Mini Roller Coaster - true, // 58 Mine Ride - true, // 59 (none) - true, // 5a LIM Launched Roller Coaster + true, // 00 Spiral Roller coaster + true, // 01 Stand Up Coaster + true, // 02 Suspended Swinging + true, // 03 Inverted + true, // 04 Steel Mini Coaster + true, // 05 Mini Railroad + true, // 06 Monorail + true, // 07 Mini Suspended Coaster + false, // 08 Boat Ride + true, // 09 Wooden Wild Mine/Mouse + true, // 0a Steeplechase/Motorbike/Soap Box Derby + true, // 0b Car Ride + false, // 0c Launched Freefall + true, // 0d Bobsleigh Coaster + false, // 0e Observation Tower + true, // 0f Looping Roller Coaster + true, // 10 Dinghy Slide + true, // 11 Mine Train Coaster + true, // 12 Chairlift + true, // 13 Corkscrew Roller Coaster + false, // 14 Maze + false, // 15 Spiral Slide + false, // 16 Go Karts + false, // 17 Log Flume + false, // 18 River Rapids + false, // 19 Dodgems + false, // 1a Pirate Ship + false, // 1b Swinging Inverter Ship + false, // 1c Food Stall + false, // 1d (none) + false, // 1e Drink Stall + false, // 1f (none) + false, // 20 Shop (all types) + false, // 21 Merry Go Round + false, // 22 Balloon Stall (maybe) + false, // 23 Information Kiosk + false, // 24 Bathroom + false, // 25 Ferris Wheel + false, // 26 Motion Simulator + false, // 27 3D Cinema + false, // 28 Topspin + false, // 29 Space Rings + false, // 2a Reverse Freefall Coaster + false, // 2b Elevator + true, // 2c Vertical Drop Roller Coaster + false, // 2d ATM + false, // 2e Twist + false, // 2f Haunted House + false, // 30 First Aid + false, // 31 Circus Show + true, // 32 Ghost Train + true, // 33 Twister Roller Coaster + true, // 34 Wooden Roller Coaster + true, // 35 Side-Friction Roller Coaster + true, // 36 Wild Mouse + true, // 37 Multi Dimension Coaster + true, // 38 (none) + true, // 39 Flying Roller Coaster + true, // 3a (none) + true, // 3b Virginia Reel + false, // 3c Splash Boats + true, // 3d Mini Helicopters + true, // 3e Lay-down Roller Coaster + true, // 3f Suspended Monorail + true, // 40 (none) + true, // 41 Reverser Roller Coaster + true, // 42 Heartline Twister Roller Coaster + true, // 43 Mini Golf + true, // 44 Giga Coaster + false, // 45 Roto-Drop + false, // 46 Flying Saucers + false, // 47 Crooked House + true, // 48 Monorail Cycles + true, // 49 Compact Inverted Coaster + true, // 4a Water Coaster + false, // 4b Air Powered Vertical Coaster + true, // 4c Inverted Hairpin Coaster + false, // 4d Magic Carpet + false, // 4e Submarine Ride + false, // 4f River Rafts + false, // 50 (none) + false, // 51 Enterprise + false, // 52 (none) + false, // 53 (none) + false, // 54 (none) + true, // 55 (none) + true, // 56 Inverted Impulse Coaster + true, // 57 Mini Roller Coaster + true, // 58 Mine Ride + true, // 59 (none) + true, // 5a LIM Launched Roller Coaster }; /* Data at 0x0097E3B8 */ const uint8 costPerStation[RIDE_TYPE_COUNT] = { - 10, // 00 Spiral Roller coaster - 10, // 01 Stand Up Coaster - 10, // 02 Suspended Swinging - 10, // 03 Inverted - 5, // 04 Steel Mini Coaster - 5, // 05 Mini Railroad - 10, // 06 Monorail - 10, // 07 Mini Suspended Coaster - 0, // 08 Boat Ride - 10, // 09 Wooden Wild Mine/Mouse - 10, // 0a Steeplechase/Motorbike/Soap Box Derby - 5, // 0b Car Ride - 0, // 0c Launched Freefall - 10, // 0d Bobsleigh Coaster - 0, // 0e Observation Tower - 10, // 0f Looping Roller Coaster - 10, // 10 Dinghy Slide - 10, // 11 Mine Train Coaster - 10, // 12 Chairlift - 10, // 13 Corkscrew Roller Coaster - 0, // 14 Maze - 0, // 15 Spiral Slide - 0, // 16 Go Karts - 10, // 17 Log Flume - 10, // 18 River Rapids - 0, // 19 Dodgems - 0, // 1a Pirate Ship - 0, // 1b Swinging Inverter Ship - 0, // 1c Food Stall - 0, // 1d (none) - 0, // 1e Drink Stall - 0, // 1f (none) - 0, // 20 Shop (all types) - 0, // 21 Merry Go Round - 0, // 22 Balloon Stall (maybe) - 0, // 23 Information Kiosk - 0, // 24 Bathroom - 0, // 25 Ferris Wheel - 0, // 26 Motion Simulator - 0, // 27 3D Cinema - 0, // 28 Topspin - 0, // 29 Space Rings - 10, // 2a Reverse Freefall Coaster - 0, // 2b Elevator - 10, // 2c Vertical Drop Roller Coaster - 0, // 2d ATM - 0, // 2e Twist - 0, // 2f Haunted House - 0, // 30 First Aid - 0, // 31 Circus Show - 5, // 32 Ghost Train - 10, // 33 Twister Roller Coaster - 10, // 34 Wooden Roller Coaster - 10, // 35 Side-Friction Roller Coaster - 10, // 36 Wild Mouse - 15, // 37 Multi Dimension Coaster - 15, // 38 (none) - 15, // 39 Flying Roller Coaster - 15, // 3a (none) - 10, // 3b Virginia Reel - 10, // 3c Splash Boats - 5, // 3d Mini Helicopters - 15, // 3e Lay-down Roller Coaster - 10, // 3f Suspended Monorail - 15, // 40 (none) - 10, // 41 Reverser Roller Coaster - 10, // 42 Heartline Twister Roller Coaster - 10, // 43 Mini Golf - 40, // 44 Giga Coaster - 0, // 45 Roto-Drop - 0, // 46 Flying Saucers - 0, // 47 Crooked House - 5, // 48 Monorail Cycles - 10, // 49 Compact Inverted Coaster - 10, // 4a Water Coaster - 10, // 4b Air Powered Vertical Coaster - 10, // 4c Inverted Hairpin Coaster - 0, // 4d Magic Carpet - 0, // 4e Submarine Ride - 10, // 4f River Rafts - 0, // 50 (none) - 0, // 51 Enterprise - 0, // 52 (none) - 0, // 53 (none) - 0, // 54 (none) - 10, // 55 (none) - 10, // 56 Inverted Impulse Coaster - 10, // 57 Mini Roller Coaster - 10, // 58 Mine Ride - 10, // 59 (none) - 10, // 5a LIM Launched Roller Coaster + 10, // 00 Spiral Roller coaster + 10, // 01 Stand Up Coaster + 10, // 02 Suspended Swinging + 10, // 03 Inverted + 5, // 04 Steel Mini Coaster + 5, // 05 Mini Railroad + 10, // 06 Monorail + 10, // 07 Mini Suspended Coaster + 0, // 08 Boat Ride + 10, // 09 Wooden Wild Mine/Mouse + 10, // 0a Steeplechase/Motorbike/Soap Box Derby + 5, // 0b Car Ride + 0, // 0c Launched Freefall + 10, // 0d Bobsleigh Coaster + 0, // 0e Observation Tower + 10, // 0f Looping Roller Coaster + 10, // 10 Dinghy Slide + 10, // 11 Mine Train Coaster + 10, // 12 Chairlift + 10, // 13 Corkscrew Roller Coaster + 0, // 14 Maze + 0, // 15 Spiral Slide + 0, // 16 Go Karts + 10, // 17 Log Flume + 10, // 18 River Rapids + 0, // 19 Dodgems + 0, // 1a Pirate Ship + 0, // 1b Swinging Inverter Ship + 0, // 1c Food Stall + 0, // 1d (none) + 0, // 1e Drink Stall + 0, // 1f (none) + 0, // 20 Shop (all types) + 0, // 21 Merry Go Round + 0, // 22 Balloon Stall (maybe) + 0, // 23 Information Kiosk + 0, // 24 Bathroom + 0, // 25 Ferris Wheel + 0, // 26 Motion Simulator + 0, // 27 3D Cinema + 0, // 28 Topspin + 0, // 29 Space Rings + 10, // 2a Reverse Freefall Coaster + 0, // 2b Elevator + 10, // 2c Vertical Drop Roller Coaster + 0, // 2d ATM + 0, // 2e Twist + 0, // 2f Haunted House + 0, // 30 First Aid + 0, // 31 Circus Show + 5, // 32 Ghost Train + 10, // 33 Twister Roller Coaster + 10, // 34 Wooden Roller Coaster + 10, // 35 Side-Friction Roller Coaster + 10, // 36 Wild Mouse + 15, // 37 Multi Dimension Coaster + 15, // 38 (none) + 15, // 39 Flying Roller Coaster + 15, // 3a (none) + 10, // 3b Virginia Reel + 10, // 3c Splash Boats + 5, // 3d Mini Helicopters + 15, // 3e Lay-down Roller Coaster + 10, // 3f Suspended Monorail + 15, // 40 (none) + 10, // 41 Reverser Roller Coaster + 10, // 42 Heartline Twister Roller Coaster + 10, // 43 Mini Golf + 40, // 44 Giga Coaster + 0, // 45 Roto-Drop + 0, // 46 Flying Saucers + 0, // 47 Crooked House + 5, // 48 Monorail Cycles + 10, // 49 Compact Inverted Coaster + 10, // 4a Water Coaster + 10, // 4b Air Powered Vertical Coaster + 10, // 4c Inverted Hairpin Coaster + 0, // 4d Magic Carpet + 0, // 4e Submarine Ride + 10, // 4f River Rafts + 0, // 50 (none) + 0, // 51 Enterprise + 0, // 52 (none) + 0, // 53 (none) + 0, // 54 (none) + 10, // 55 (none) + 10, // 56 Inverted Impulse Coaster + 10, // 57 Mini Roller Coaster + 10, // 58 Mine Ride + 10, // 59 (none) + 10, // 5a LIM Launched Roller Coaster }; // Data at 0x0097D21E const uint8 rideBonusValue[RIDE_TYPE_COUNT] = { - 85, // 00 Spiral Roller coaster - 90, // 01 Stand Up Coaster - 90, // 02 Suspended Swinging - 100, // 03 Inverted - 60, // 04 Steel Mini Coaster - 50, // 05 Mini Railroad - 60, // 06 Monorail - 50, // 07 Mini Suspended Coaster - 40, // 08 Boat Ride - 55, // 09 Wooden Wild Mine/Mouse - 60, // 0a Steeplechase/Motorbike/Soap - 50, // 0b Car Ride - 65, // 0c Launched Freefall - 75, // 0d Bobsleigh Coaster - 45, // 0e Observation Tower - 95, // 0f Looping Roller Coaster - 55, // 10 Dinghy Slide - 85, // 11 Mine Train Coaster - 55, // 12 Chairlift - 100, // 13 Corkscrew Roller Coaster - 40, // 14 Maze - 40, // 15 Spiral Slide - 55, // 16 Go Karts - 65, // 17 Log Flume - 70, // 18 River Rapids - 35, // 19 Dodgems - 35, // 1a Pirate Ship - 35, // 1b Swinging Inverter Ship - 15, // 1c Food Stall - 15, // 1d (none) - 15, // 1e Drink Stall - 15, // 1f (none) - 15, // 20 Shop (all types) - 45, // 21 Merry Go Round - 15, // 22 Balloon Stall (maybe) - 15, // 23 Information Kiosk - 5, // 24 Bathroom - 45, // 25 Ferris Wheel - 45, // 26 Motion Simulator - 45, // 27 3D Cinema - 55, // 28 Topspin - 30, // 29 Space Rings - 70, // 2a Reverse Freefall Coaster - 45, // 2b Elevator - 95, // 2c Vertical Drop Roller Coaster - 5, // 2d ATM - 40, // 2e Twist - 22, // 2f Haunted House - 5, // 30 First Aid - 39, // 31 Circus Show - 50, // 32 Ghost Train - 120, // 33 Twister Roller Coaster - 105, // 34 Wooden Roller Coaster - 65, // 35 Side-Friction Roller Coaster - 55, // 36 Wild Mouse - 100, // 37 Multi Dimension Coaster - 100, // 38 (none) - 100, // 39 Flying Roller Coaster - 100, // 3a (none) - 50, // 3b Virginia Reel - 65, // 3c Splash Boats - 45, // 3d Mini Helicopters - 100, // 3e Lay-down Roller Coaster - 60, // 3f Suspended Monorail - 100, // 40 (none) - 65, // 41 Reverser Roller Coaster - 35, // 42 Heartline Twister Roller Coaster - 23, // 43 Mini Golf - 120, // 44 Giga Coaster - 45, // 45 Roto-Drop - 35, // 46 Flying Saucers - 22, // 47 Crooked House - 45, // 48 Monorail Cycles - 80, // 49 Compact Inverted Coaster - 60, // 4a Water Coaster - 70, // 4b Air Powered Vertical Coaster - 55, // 4c Inverted Hairpin Coaster - 35, // 4d Magic Carpet - 40, // 4e Submarine Ride - 65, // 4f River Rafts - 15, // 50 (none) - 45, // 51 Enterprise - 15, // 52 (none) - 15, // 53 (none) - 15, // 54 (none) - 100, // 55 (none) - 75, // 56 Inverted Impulse Coaster - 60, // 57 Mini Roller Coaster - 70, // 58 Mine Ride - 55, // 59 (none) - 55, // 5a LIM Launched Roller Coaster + 85, // 00 Spiral Roller coaster + 90, // 01 Stand Up Coaster + 90, // 02 Suspended Swinging + 100, // 03 Inverted + 60, // 04 Steel Mini Coaster + 50, // 05 Mini Railroad + 60, // 06 Monorail + 50, // 07 Mini Suspended Coaster + 40, // 08 Boat Ride + 55, // 09 Wooden Wild Mine/Mouse + 60, // 0a Steeplechase/Motorbike/Soap + 50, // 0b Car Ride + 65, // 0c Launched Freefall + 75, // 0d Bobsleigh Coaster + 45, // 0e Observation Tower + 95, // 0f Looping Roller Coaster + 55, // 10 Dinghy Slide + 85, // 11 Mine Train Coaster + 55, // 12 Chairlift + 100, // 13 Corkscrew Roller Coaster + 40, // 14 Maze + 40, // 15 Spiral Slide + 55, // 16 Go Karts + 65, // 17 Log Flume + 70, // 18 River Rapids + 35, // 19 Dodgems + 35, // 1a Pirate Ship + 35, // 1b Swinging Inverter Ship + 15, // 1c Food Stall + 15, // 1d (none) + 15, // 1e Drink Stall + 15, // 1f (none) + 15, // 20 Shop (all types) + 45, // 21 Merry Go Round + 15, // 22 Balloon Stall (maybe) + 15, // 23 Information Kiosk + 5, // 24 Bathroom + 45, // 25 Ferris Wheel + 45, // 26 Motion Simulator + 45, // 27 3D Cinema + 55, // 28 Topspin + 30, // 29 Space Rings + 70, // 2a Reverse Freefall Coaster + 45, // 2b Elevator + 95, // 2c Vertical Drop Roller Coaster + 5, // 2d ATM + 40, // 2e Twist + 22, // 2f Haunted House + 5, // 30 First Aid + 39, // 31 Circus Show + 50, // 32 Ghost Train + 120, // 33 Twister Roller Coaster + 105, // 34 Wooden Roller Coaster + 65, // 35 Side-Friction Roller Coaster + 55, // 36 Wild Mouse + 100, // 37 Multi Dimension Coaster + 100, // 38 (none) + 100, // 39 Flying Roller Coaster + 100, // 3a (none) + 50, // 3b Virginia Reel + 65, // 3c Splash Boats + 45, // 3d Mini Helicopters + 100, // 3e Lay-down Roller Coaster + 60, // 3f Suspended Monorail + 100, // 40 (none) + 65, // 41 Reverser Roller Coaster + 35, // 42 Heartline Twister Roller Coaster + 23, // 43 Mini Golf + 120, // 44 Giga Coaster + 45, // 45 Roto-Drop + 35, // 46 Flying Saucers + 22, // 47 Crooked House + 45, // 48 Monorail Cycles + 80, // 49 Compact Inverted Coaster + 60, // 4a Water Coaster + 70, // 4b Air Powered Vertical Coaster + 55, // 4c Inverted Hairpin Coaster + 35, // 4d Magic Carpet + 40, // 4e Submarine Ride + 65, // 4f River Rafts + 15, // 50 (none) + 45, // 51 Enterprise + 15, // 52 (none) + 15, // 53 (none) + 15, // 54 (none) + 100, // 55 (none) + 75, // 56 Inverted Impulse Coaster + 60, // 57 Mini Roller Coaster + 70, // 58 Mine Ride + 55, // 59 (none) + 55, // 5a LIM Launched Roller Coaster }; const ride_component_name RideComponentNames[] = { - { STR_RIDE_COMPONENT_TRAIN, STR_RIDE_COMPONENT_TRAIN_PLURAL, STR_RIDE_COMPONENT_TRAIN_CAPITALISED, STR_RIDE_COMPONENT_TRAIN_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_TRAIN_COUNT, STR_RIDE_COMPONENT_TRAIN_COUNT_PLURAL, STR_RIDE_COMPONENT_TRAIN_NO }, - { STR_RIDE_COMPONENT_BOAT, STR_RIDE_COMPONENT_BOAT_PLURAL, STR_RIDE_COMPONENT_BOAT_CAPITALISED, STR_RIDE_COMPONENT_BOAT_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_BOAT_COUNT, STR_RIDE_COMPONENT_BOAT_COUNT_PLURAL, STR_RIDE_COMPONENT_BOAT_NO }, - { STR_RIDE_COMPONENT_TRACK, STR_RIDE_COMPONENT_TRACK_PLURAL, STR_RIDE_COMPONENT_TRACK_CAPITALISED, STR_RIDE_COMPONENT_TRACK_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_TRACK_COUNT, STR_RIDE_COMPONENT_TRACK_COUNT_PLURAL, STR_RIDE_COMPONENT_TRACK_NO }, - { STR_RIDE_COMPONENT_DOCKING_PLATFORM, STR_RIDE_COMPONENT_DOCKING_PLATFORM_PLURAL, STR_RIDE_COMPONENT_DOCKING_PLATFORM_CAPITALISED, STR_RIDE_COMPONENT_DOCKING_PLATFORM_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_DOCKING_PLATFORM_COUNT, STR_RIDE_COMPONENT_DOCKING_PLATFORM_COUNT_PLURAL, STR_RIDE_COMPONENT_DOCKING_PLATFORM_NO }, - { STR_RIDE_COMPONENT_STATION, STR_RIDE_COMPONENT_STATION_PLURAL, STR_RIDE_COMPONENT_STATION_CAPITALISED, STR_RIDE_COMPONENT_STATION_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_STATION_COUNT, STR_RIDE_COMPONENT_STATION_COUNT_PLURAL, STR_RIDE_COMPONENT_STATION_NO }, - { STR_RIDE_COMPONENT_CAR, STR_RIDE_COMPONENT_CAR_PLURAL, STR_RIDE_COMPONENT_CAR_CAPITALISED, STR_RIDE_COMPONENT_CAR_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_CAR_COUNT, STR_RIDE_COMPONENT_CAR_COUNT_PLURAL, STR_RIDE_COMPONENT_CAR_NO }, - { STR_RIDE_COMPONENT_BUILDING, STR_RIDE_COMPONENT_BUILDING_PLURAL, STR_RIDE_COMPONENT_BUILDING_CAPITALISED, STR_RIDE_COMPONENT_BUILDING_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_BUILDING_COUNT, STR_RIDE_COMPONENT_BUILDING_COUNT_PLURAL, STR_RIDE_COMPONENT_BUILDING_NO }, - { STR_RIDE_COMPONENT_STRUCTURE, STR_RIDE_COMPONENT_STRUCTURE_PLURAL, STR_RIDE_COMPONENT_STRUCTURE_CAPITALISED, STR_RIDE_COMPONENT_STRUCTURE_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_STRUCTURE_COUNT, STR_RIDE_COMPONENT_STRUCTURE_COUNT_PLURAL, STR_RIDE_COMPONENT_STRUCTURE_NO }, - { STR_RIDE_COMPONENT_SHIP, STR_RIDE_COMPONENT_SHIP_PLURAL, STR_RIDE_COMPONENT_SHIP_CAPITALISED, STR_RIDE_COMPONENT_SHIP_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_SHIP_COUNT, STR_RIDE_COMPONENT_SHIP_COUNT_PLURAL, STR_RIDE_COMPONENT_SHIP_NO }, - { STR_RIDE_COMPONENT_CABIN, STR_RIDE_COMPONENT_CABIN_PLURAL, STR_RIDE_COMPONENT_CABIN_CAPITALISED, STR_RIDE_COMPONENT_CABIN_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_CABIN_COUNT, STR_RIDE_COMPONENT_CABIN_COUNT_PLURAL, STR_RIDE_COMPONENT_CABIN_NO }, - { STR_RIDE_COMPONENT_WHEEL, STR_RIDE_COMPONENT_WHEEL_PLURAL, STR_RIDE_COMPONENT_WHEEL_CAPITALISED, STR_RIDE_COMPONENT_WHEEL_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_WHEEL_COUNT, STR_RIDE_COMPONENT_WHEEL_COUNT_PLURAL, STR_RIDE_COMPONENT_WHEEL_NO }, - { STR_RIDE_COMPONENT_RING, STR_RIDE_COMPONENT_RING_PLURAL, STR_RIDE_COMPONENT_RING_CAPITALISED, STR_RIDE_COMPONENT_RING_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_RING_COUNT, STR_RIDE_COMPONENT_RING_COUNT_PLURAL, STR_RIDE_COMPONENT_RING_NO }, - { STR_RIDE_COMPONENT_PLAYER, STR_RIDE_COMPONENT_PLAYER_PLURAL, STR_RIDE_COMPONENT_PLAYER_CAPITALISED, STR_RIDE_COMPONENT_PLAYER_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_PLAYER_COUNT, STR_RIDE_COMPONENT_PLAYER_COUNT_PLURAL, STR_RIDE_COMPONENT_PLAYER_NO }, - { STR_RIDE_COMPONENT_COURSE, STR_RIDE_COMPONENT_COURSE_PLURAL, STR_RIDE_COMPONENT_COURSE_CAPITALISED, STR_RIDE_COMPONENT_COURSE_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_COURSE_COUNT, STR_RIDE_COMPONENT_COURSE_COUNT_PLURAL, STR_RIDE_COMPONENT_COURSE_NO }, + { STR_RIDE_COMPONENT_TRAIN, STR_RIDE_COMPONENT_TRAIN_PLURAL, STR_RIDE_COMPONENT_TRAIN_CAPITALISED, STR_RIDE_COMPONENT_TRAIN_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_TRAIN_COUNT, STR_RIDE_COMPONENT_TRAIN_COUNT_PLURAL, STR_RIDE_COMPONENT_TRAIN_NO }, + { STR_RIDE_COMPONENT_BOAT, STR_RIDE_COMPONENT_BOAT_PLURAL, STR_RIDE_COMPONENT_BOAT_CAPITALISED, STR_RIDE_COMPONENT_BOAT_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_BOAT_COUNT, STR_RIDE_COMPONENT_BOAT_COUNT_PLURAL, STR_RIDE_COMPONENT_BOAT_NO }, + { STR_RIDE_COMPONENT_TRACK, STR_RIDE_COMPONENT_TRACK_PLURAL, STR_RIDE_COMPONENT_TRACK_CAPITALISED, STR_RIDE_COMPONENT_TRACK_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_TRACK_COUNT, STR_RIDE_COMPONENT_TRACK_COUNT_PLURAL, STR_RIDE_COMPONENT_TRACK_NO }, + { STR_RIDE_COMPONENT_DOCKING_PLATFORM, STR_RIDE_COMPONENT_DOCKING_PLATFORM_PLURAL, STR_RIDE_COMPONENT_DOCKING_PLATFORM_CAPITALISED, STR_RIDE_COMPONENT_DOCKING_PLATFORM_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_DOCKING_PLATFORM_COUNT, STR_RIDE_COMPONENT_DOCKING_PLATFORM_COUNT_PLURAL, STR_RIDE_COMPONENT_DOCKING_PLATFORM_NO }, + { STR_RIDE_COMPONENT_STATION, STR_RIDE_COMPONENT_STATION_PLURAL, STR_RIDE_COMPONENT_STATION_CAPITALISED, STR_RIDE_COMPONENT_STATION_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_STATION_COUNT, STR_RIDE_COMPONENT_STATION_COUNT_PLURAL, STR_RIDE_COMPONENT_STATION_NO }, + { STR_RIDE_COMPONENT_CAR, STR_RIDE_COMPONENT_CAR_PLURAL, STR_RIDE_COMPONENT_CAR_CAPITALISED, STR_RIDE_COMPONENT_CAR_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_CAR_COUNT, STR_RIDE_COMPONENT_CAR_COUNT_PLURAL, STR_RIDE_COMPONENT_CAR_NO }, + { STR_RIDE_COMPONENT_BUILDING, STR_RIDE_COMPONENT_BUILDING_PLURAL, STR_RIDE_COMPONENT_BUILDING_CAPITALISED, STR_RIDE_COMPONENT_BUILDING_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_BUILDING_COUNT, STR_RIDE_COMPONENT_BUILDING_COUNT_PLURAL, STR_RIDE_COMPONENT_BUILDING_NO }, + { STR_RIDE_COMPONENT_STRUCTURE, STR_RIDE_COMPONENT_STRUCTURE_PLURAL, STR_RIDE_COMPONENT_STRUCTURE_CAPITALISED, STR_RIDE_COMPONENT_STRUCTURE_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_STRUCTURE_COUNT, STR_RIDE_COMPONENT_STRUCTURE_COUNT_PLURAL, STR_RIDE_COMPONENT_STRUCTURE_NO }, + { STR_RIDE_COMPONENT_SHIP, STR_RIDE_COMPONENT_SHIP_PLURAL, STR_RIDE_COMPONENT_SHIP_CAPITALISED, STR_RIDE_COMPONENT_SHIP_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_SHIP_COUNT, STR_RIDE_COMPONENT_SHIP_COUNT_PLURAL, STR_RIDE_COMPONENT_SHIP_NO }, + { STR_RIDE_COMPONENT_CABIN, STR_RIDE_COMPONENT_CABIN_PLURAL, STR_RIDE_COMPONENT_CABIN_CAPITALISED, STR_RIDE_COMPONENT_CABIN_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_CABIN_COUNT, STR_RIDE_COMPONENT_CABIN_COUNT_PLURAL, STR_RIDE_COMPONENT_CABIN_NO }, + { STR_RIDE_COMPONENT_WHEEL, STR_RIDE_COMPONENT_WHEEL_PLURAL, STR_RIDE_COMPONENT_WHEEL_CAPITALISED, STR_RIDE_COMPONENT_WHEEL_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_WHEEL_COUNT, STR_RIDE_COMPONENT_WHEEL_COUNT_PLURAL, STR_RIDE_COMPONENT_WHEEL_NO }, + { STR_RIDE_COMPONENT_RING, STR_RIDE_COMPONENT_RING_PLURAL, STR_RIDE_COMPONENT_RING_CAPITALISED, STR_RIDE_COMPONENT_RING_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_RING_COUNT, STR_RIDE_COMPONENT_RING_COUNT_PLURAL, STR_RIDE_COMPONENT_RING_NO }, + { STR_RIDE_COMPONENT_PLAYER, STR_RIDE_COMPONENT_PLAYER_PLURAL, STR_RIDE_COMPONENT_PLAYER_CAPITALISED, STR_RIDE_COMPONENT_PLAYER_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_PLAYER_COUNT, STR_RIDE_COMPONENT_PLAYER_COUNT_PLURAL, STR_RIDE_COMPONENT_PLAYER_NO }, + { STR_RIDE_COMPONENT_COURSE, STR_RIDE_COMPONENT_COURSE_PLURAL, STR_RIDE_COMPONENT_COURSE_CAPITALISED, STR_RIDE_COMPONENT_COURSE_CAPITALISED_PLURAL, STR_RIDE_COMPONENT_COURSE_COUNT, STR_RIDE_COMPONENT_COURSE_COUNT_PLURAL, STR_RIDE_COMPONENT_COURSE_NO }, }; const rct_ride_name_convention RideNameConvention[RIDE_TYPE_COUNT] = { - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 00 Spiral Roller coaster - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 01 Stand Up Coaster - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 02 Suspended Swinging - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 03 Inverted - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 04 Steel Mini Coaster - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 05 Mini Railroad - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 06 Monorail - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 07 Mini Suspended Coaster - { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_DOCKING_PLATFORM, RIDE_COMPONENT_TYPE_DOCKING_PLATFORM }, // 08 Boat Ride - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 09 Wooden Wild Mine/Mouse - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 0a Steeplechase/Motorbike/Soap Box Derby - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 0b Car Ride - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 0c Launched Freefall - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 0d Bobsleigh Coaster - { RIDE_COMPONENT_TYPE_CABIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 0e Observation Tower - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 0f Looping Roller Coaster - { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 10 Dinghy Slide - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 11 Mine Train Coaster - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 12 Chairlift - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 13 Corkscrew Roller Coaster - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 14 Maze - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 15 Spiral Slide - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 16 Go Karts - { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 17 Log Flume - { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 18 River Rapids - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 19 Dodgems - { RIDE_COMPONENT_TYPE_SHIP, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 1a Pirate Ship - { RIDE_COMPONENT_TYPE_SHIP, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 1b Swinging Inverter Ship - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 1c Food Stall - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 1d (none) - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 1e Drink Stall - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 1f (none) - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 20 Shop (all types) - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 21 Merry Go Round - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 22 Balloon Stall (maybe) - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 23 Information Kiosk - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 24 Bathroom - { RIDE_COMPONENT_TYPE_WHEEL, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 25 Ferris Wheel - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 26 Motion Simulator - { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 27 3D Cinema - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 28 Topspin - { RIDE_COMPONENT_TYPE_RING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 29 Space Rings - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 2a Reverse Freefall Coaster - { RIDE_COMPONENT_TYPE_CABIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 2b Elevator - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 2c Vertical Drop Roller Coaster - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 2d ATM - { RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 2e Twist - { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 2f Haunted House - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 30 First Aid - { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 31 Circus Show - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 32 Ghost Train - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 33 Twister Roller Coaster - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 34 Wooden Roller Coaster - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 35 Side-Friction Roller Coaster - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 36 Wild Mouse - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 37 Multi Dimension Coaster - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 38 (none) - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 39 Flying Roller Coaster - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 3a (none) - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 3b Virginia Reel - { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 3c Splash Boats - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 3d Mini Helicopters - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 3e Lay-down Roller Coaster - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 3f Suspended Monorail - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 40 (none) - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 41 Reverser Roller Coaster - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 42 Heartline Twister Roller Coaster - { RIDE_COMPONENT_TYPE_PLAYER, RIDE_COMPONENT_TYPE_COURSE, RIDE_COMPONENT_TYPE_STATION }, // 43 Mini Golf - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 44 Giga Coaster - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 45 Roto-Drop - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 46 Flying Saucers - { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 47 Crooked House - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 48 Monorail Cycles - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 49 Compact Inverted Coaster - { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 4a Water Coaster - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 4b Air Powered Vertical Coaster - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 4c Inverted Hairpin Coaster - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 4d Magic Carpet - { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_DOCKING_PLATFORM }, // 4e Submarine Ride - { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 4f River Rafts - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 50 (none) - { RIDE_COMPONENT_TYPE_WHEEL, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 51 Enterprise - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 52 (none) - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 53 (none) - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 54 (none) - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 55 (none) - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 56 Inverted Impulse Coaster - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 57 Mini Roller Coaster - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 58 Mine Ride - { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 59 (none) - { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 5a LIM Launched Roller Coaster + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 00 Spiral Roller coaster + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 01 Stand Up Coaster + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 02 Suspended Swinging + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 03 Inverted + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 04 Steel Mini Coaster + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 05 Mini Railroad + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 06 Monorail + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 07 Mini Suspended Coaster + { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_DOCKING_PLATFORM, RIDE_COMPONENT_TYPE_DOCKING_PLATFORM }, // 08 Boat Ride + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 09 Wooden Wild Mine/Mouse + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 0a Steeplechase/Motorbike/Soap Box Derby + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 0b Car Ride + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 0c Launched Freefall + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 0d Bobsleigh Coaster + { RIDE_COMPONENT_TYPE_CABIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 0e Observation Tower + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 0f Looping Roller Coaster + { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 10 Dinghy Slide + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 11 Mine Train Coaster + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 12 Chairlift + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 13 Corkscrew Roller Coaster + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 14 Maze + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 15 Spiral Slide + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 16 Go Karts + { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 17 Log Flume + { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 18 River Rapids + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 19 Dodgems + { RIDE_COMPONENT_TYPE_SHIP, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 1a Pirate Ship + { RIDE_COMPONENT_TYPE_SHIP, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 1b Swinging Inverter Ship + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 1c Food Stall + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 1d (none) + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 1e Drink Stall + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 1f (none) + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 20 Shop (all types) + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 21 Merry Go Round + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 22 Balloon Stall (maybe) + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 23 Information Kiosk + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 24 Bathroom + { RIDE_COMPONENT_TYPE_WHEEL, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 25 Ferris Wheel + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 26 Motion Simulator + { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 27 3D Cinema + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 28 Topspin + { RIDE_COMPONENT_TYPE_RING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 29 Space Rings + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 2a Reverse Freefall Coaster + { RIDE_COMPONENT_TYPE_CABIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 2b Elevator + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 2c Vertical Drop Roller Coaster + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 2d ATM + { RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 2e Twist + { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 2f Haunted House + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 30 First Aid + { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 31 Circus Show + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 32 Ghost Train + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 33 Twister Roller Coaster + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 34 Wooden Roller Coaster + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 35 Side-Friction Roller Coaster + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 36 Wild Mouse + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 37 Multi Dimension Coaster + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 38 (none) + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 39 Flying Roller Coaster + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 3a (none) + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 3b Virginia Reel + { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 3c Splash Boats + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 3d Mini Helicopters + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 3e Lay-down Roller Coaster + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 3f Suspended Monorail + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 40 (none) + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 41 Reverser Roller Coaster + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 42 Heartline Twister Roller Coaster + { RIDE_COMPONENT_TYPE_PLAYER, RIDE_COMPONENT_TYPE_COURSE, RIDE_COMPONENT_TYPE_STATION }, // 43 Mini Golf + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 44 Giga Coaster + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 45 Roto-Drop + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 46 Flying Saucers + { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 47 Crooked House + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 48 Monorail Cycles + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 49 Compact Inverted Coaster + { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 4a Water Coaster + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 4b Air Powered Vertical Coaster + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 4c Inverted Hairpin Coaster + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 4d Magic Carpet + { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_DOCKING_PLATFORM }, // 4e Submarine Ride + { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 4f River Rafts + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 50 (none) + { RIDE_COMPONENT_TYPE_WHEEL, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }, // 51 Enterprise + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 52 (none) + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 53 (none) + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }, // 54 (none) + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 55 (none) + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 56 Inverted Impulse Coaster + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 57 Mini Roller Coaster + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 58 Mine Ride + { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 59 (none) + { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }, // 5a LIM Launched Roller Coaster }; -const rct_ride_name RideNaming[] = { - { STR_RIDE_NAME_SPIRAL_ROLLER_COASTER, STR_RIDE_DESCRIPTION_SPIRAL_ROLLER_COASTER }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER - { STR_RIDE_NAME_STAND_UP_ROLLER_COASTER, STR_RIDE_DESCRIPTION_STAND_UP_ROLLER_COASTER }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER - { STR_RIDE_NAME_SUSPENDED_SWINGING_COASTER, STR_RIDE_DESCRIPTION_SUSPENDED_SWINGING_COASTER }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - { STR_RIDE_NAME_INVERTED_ROLLER_COASTER, STR_RIDE_DESCRIPTION_INVERTED_ROLLER_COASTER }, // RIDE_TYPE_INVERTED_ROLLER_COASTER - { STR_RIDE_NAME_JUNIOR_ROLLER_COASTER, STR_RIDE_DESCRIPTION_JUNIOR_ROLLER_COASTER }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER - { STR_RIDE_NAME_MINIATURE_RAILWAY, STR_RIDE_DESCRIPTION_MINIATURE_RAILWAY }, // RIDE_TYPE_MINIATURE_RAILWAY - { STR_RIDE_NAME_MONORAIL, STR_RIDE_DESCRIPTION_MONORAIL }, // RIDE_TYPE_MONORAIL - { STR_RIDE_NAME_MINI_SUSPENDED_COASTER, STR_RIDE_DESCRIPTION_MINI_SUSPENDED_COASTER }, // RIDE_TYPE_MINI_SUSPENDED_COASTER - { STR_RIDE_NAME_BOAT_RIDE, STR_RIDE_DESCRIPTION_BOAT_RIDE }, // RIDE_TYPE_BOAT_RIDE - { STR_RIDE_NAME_WOODEN_WILD_MOUSE, STR_RIDE_DESCRIPTION_WOODEN_WILD_MOUSE }, // RIDE_TYPE_WOODEN_WILD_MOUSE - { STR_RIDE_NAME_STEEPLECHASE, STR_RIDE_DESCRIPTION_STEEPLECHASE }, // RIDE_TYPE_STEEPLECHASE - { STR_RIDE_NAME_CAR_RIDE, STR_RIDE_DESCRIPTION_CAR_RIDE }, // RIDE_TYPE_CAR_RIDE - { STR_RIDE_NAME_LAUNCHED_FREEFALL, STR_RIDE_DESCRIPTION_LAUNCHED_FREEFALL }, // RIDE_TYPE_LAUNCHED_FREEFALL - { STR_RIDE_NAME_BOBSLEIGH_COASTER, STR_RIDE_DESCRIPTION_BOBSLEIGH_COASTER }, // RIDE_TYPE_BOBSLEIGH_COASTER - { STR_RIDE_NAME_OBSERVATION_TOWER, STR_RIDE_DESCRIPTION_OBSERVATION_TOWER }, // RIDE_TYPE_OBSERVATION_TOWER - { STR_RIDE_NAME_LOOPING_ROLLER_COASTER, STR_RIDE_DESCRIPTION_LOOPING_ROLLER_COASTER }, // RIDE_TYPE_LOOPING_ROLLER_COASTER - { STR_RIDE_NAME_DINGHY_SLIDE, STR_RIDE_DESCRIPTION_DINGHY_SLIDE }, // RIDE_TYPE_DINGHY_SLIDE - { STR_RIDE_NAME_MINE_TRAIN_COASTER, STR_RIDE_DESCRIPTION_MINE_TRAIN_COASTER }, // RIDE_TYPE_MINE_TRAIN_COASTER - { STR_RIDE_NAME_CHAIRLIFT, STR_RIDE_DESCRIPTION_CHAIRLIFT }, // RIDE_TYPE_CHAIRLIFT - { STR_RIDE_NAME_CORKSCREW_ROLLER_COASTER, STR_RIDE_DESCRIPTION_CORKSCREW_ROLLER_COASTER }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - { STR_RIDE_NAME_MAZE, STR_RIDE_DESCRIPTION_MAZE }, // RIDE_TYPE_MAZE - { STR_RIDE_NAME_SPIRAL_SLIDE, STR_RIDE_DESCRIPTION_SPIRAL_SLIDE }, // RIDE_TYPE_SPIRAL_SLIDE - { STR_RIDE_NAME_GO_KARTS, STR_RIDE_DESCRIPTION_GO_KARTS }, // RIDE_TYPE_GO_KARTS - { STR_RIDE_NAME_LOG_FLUME, STR_RIDE_DESCRIPTION_LOG_FLUME }, // RIDE_TYPE_LOG_FLUME - { STR_RIDE_NAME_RIVER_RAPIDS, STR_RIDE_DESCRIPTION_RIVER_RAPIDS }, // RIDE_TYPE_RIVER_RAPIDS - { STR_RIDE_NAME_DODGEMS, STR_RIDE_DESCRIPTION_DODGEMS }, // RIDE_TYPE_DODGEMS - { STR_RIDE_NAME_PIRATE_SHIP, STR_RIDE_DESCRIPTION_PIRATE_SHIP }, // RIDE_TYPE_PIRATE_SHIP - { STR_RIDE_NAME_SWINGING_INVERTER_SHIP, STR_RIDE_DESCRIPTION_SWINGING_INVERTER_SHIP }, // RIDE_TYPE_SWINGING_INVERTER_SHIP - { STR_RIDE_NAME_FOOD_STALL, STR_RIDE_DESCRIPTION_FOOD_STALL }, // RIDE_TYPE_FOOD_STALL - { STR_RIDE_NAME_1D, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_1D - { STR_RIDE_NAME_DRINK_STALL, STR_RIDE_DESCRIPTION_DRINK_STALL }, // RIDE_TYPE_DRINK_STALL - { STR_RIDE_NAME_1F, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_1F - { STR_RIDE_NAME_SHOP, STR_RIDE_DESCRIPTION_SHOP }, // RIDE_TYPE_SHOP - { STR_RIDE_NAME_MERRY_GO_ROUND, STR_RIDE_DESCRIPTION_MERRY_GO_ROUND }, // RIDE_TYPE_MERRY_GO_ROUND - { STR_RIDE_NAME_22, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_22 - { STR_RIDE_NAME_INFORMATION_KIOSK, STR_RIDE_DESCRIPTION_INFORMATION_KIOSK }, // RIDE_TYPE_INFORMATION_KIOSK - { STR_RIDE_NAME_TOILETS, STR_RIDE_DESCRIPTION_TOILETS }, // RIDE_TYPE_TOILETS - { STR_RIDE_NAME_FERRIS_WHEEL, STR_RIDE_DESCRIPTION_FERRIS_WHEEL }, // RIDE_TYPE_FERRIS_WHEEL - { STR_RIDE_NAME_MOTION_SIMULATOR, STR_RIDE_DESCRIPTION_MOTION_SIMULATOR }, // RIDE_TYPE_MOTION_SIMULATOR - { STR_RIDE_NAME_3D_CINEMA, STR_RIDE_DESCRIPTION_3D_CINEMA }, // RIDE_TYPE_3D_CINEMA - { STR_RIDE_NAME_TOP_SPIN, STR_RIDE_DESCRIPTION_TOP_SPIN }, // RIDE_TYPE_TOP_SPIN - { STR_RIDE_NAME_SPACE_RINGS, STR_RIDE_DESCRIPTION_SPACE_RINGS }, // RIDE_TYPE_SPACE_RINGS - { STR_RIDE_NAME_REVERSE_FREEFALL_COASTER, STR_RIDE_DESCRIPTION_REVERSE_FREEFALL_COASTER }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER - { STR_RIDE_NAME_LIFT, STR_RIDE_DESCRIPTION_LIFT }, // RIDE_TYPE_LIFT - { STR_RIDE_NAME_VERTICAL_DROP_ROLLER_COASTER, STR_RIDE_DESCRIPTION_VERTICAL_DROP_ROLLER_COASTER }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - { STR_RIDE_NAME_CASH_MACHINE, STR_RIDE_DESCRIPTION_CASH_MACHINE }, // RIDE_TYPE_CASH_MACHINE - { STR_RIDE_NAME_TWIST, STR_RIDE_DESCRIPTION_TWIST }, // RIDE_TYPE_TWIST - { STR_RIDE_NAME_HAUNTED_HOUSE, STR_RIDE_DESCRIPTION_HAUNTED_HOUSE }, // RIDE_TYPE_HAUNTED_HOUSE - { STR_RIDE_NAME_FIRST_AID, STR_RIDE_DESCRIPTION_FIRST_AID }, // RIDE_TYPE_FIRST_AID - { STR_RIDE_NAME_CIRCUS_SHOW, STR_RIDE_DESCRIPTION_CIRCUS_SHOW }, // RIDE_TYPE_CIRCUS_SHOW - { STR_RIDE_NAME_GHOST_TRAIN, STR_RIDE_DESCRIPTION_GHOST_TRAIN }, // RIDE_TYPE_GHOST_TRAIN - { STR_RIDE_NAME_TWISTER_ROLLER_COASTER, STR_RIDE_DESCRIPTION_TWISTER_ROLLER_COASTER }, // RIDE_TYPE_TWISTER_ROLLER_COASTER - { STR_RIDE_NAME_WOODEN_ROLLER_COASTER, STR_RIDE_DESCRIPTION_WOODEN_ROLLER_COASTER }, // RIDE_TYPE_WOODEN_ROLLER_COASTER - { STR_RIDE_NAME_SIDE_FRICTION_ROLLER_COASTER, STR_RIDE_DESCRIPTION_SIDE_FRICTION_ROLLER_COASTER }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - { STR_RIDE_NAME_WILD_MOUSE, STR_RIDE_DESCRIPTION_WILD_MOUSE }, // RIDE_TYPE_WILD_MOUSE - { STR_RIDE_NAME_MULTI_DIMENSION_ROLLER_COASTER, STR_RIDE_DESCRIPTION_MULTI_DIMENSION_ROLLER_COASTER }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - { STR_RIDE_NAME_38, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_38 - { STR_RIDE_NAME_FLYING_ROLLER_COASTER, STR_RIDE_DESCRIPTION_FLYING_ROLLER_COASTER }, // RIDE_TYPE_FLYING_ROLLER_COASTER - { STR_RIDE_NAME_3A, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_3A - { STR_RIDE_NAME_VIRGINIA_REEL, STR_RIDE_DESCRIPTION_VIRGINIA_REEL }, // RIDE_TYPE_VIRGINIA_REEL - { STR_RIDE_NAME_SPLASH_BOATS, STR_RIDE_DESCRIPTION_SPLASH_BOATS }, // RIDE_TYPE_SPLASH_BOATS - { STR_RIDE_NAME_MINI_HELICOPTERS, STR_RIDE_DESCRIPTION_MINI_HELICOPTERS }, // RIDE_TYPE_MINI_HELICOPTERS - { STR_RIDE_NAME_LAY_DOWN_ROLLER_COASTER, STR_RIDE_DESCRIPTION_LAY_DOWN_ROLLER_COASTER }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - { STR_RIDE_NAME_SUSPENDED_MONORAIL, STR_RIDE_DESCRIPTION_SUSPENDED_MONORAIL }, // RIDE_TYPE_SUSPENDED_MONORAIL - { STR_RIDE_NAME_40, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_40 - { STR_RIDE_NAME_REVERSER_ROLLER_COASTER, STR_RIDE_DESCRIPTION_REVERSER_ROLLER_COASTER }, // RIDE_TYPE_REVERSER_ROLLER_COASTER - { STR_RIDE_NAME_HEARTLINE_TWISTER_COASTER, STR_RIDE_DESCRIPTION_HEARTLINE_TWISTER_COASTER }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - { STR_RIDE_NAME_MINI_GOLF, STR_RIDE_DESCRIPTION_MINI_GOLF }, // RIDE_TYPE_MINI_GOLF - { STR_RIDE_NAME_GIGA_COASTER, STR_RIDE_DESCRIPTION_GIGA_COASTER }, // RIDE_TYPE_GIGA_COASTER - { STR_RIDE_NAME_ROTO_DROP, STR_RIDE_DESCRIPTION_ROTO_DROP }, // RIDE_TYPE_ROTO_DROP - { STR_RIDE_NAME_FLYING_SAUCERS, STR_RIDE_DESCRIPTION_FLYING_SAUCERS }, // RIDE_TYPE_FLYING_SAUCERS - { STR_RIDE_NAME_CROOKED_HOUSE, STR_RIDE_DESCRIPTION_CROOKED_HOUSE }, // RIDE_TYPE_CROOKED_HOUSE - { STR_RIDE_NAME_MONORAIL_CYCLES, STR_RIDE_DESCRIPTION_MONORAIL_CYCLES }, // RIDE_TYPE_MONORAIL_CYCLES - { STR_RIDE_NAME_COMPACT_INVERTED_COASTER, STR_RIDE_DESCRIPTION_COMPACT_INVERTED_COASTER }, // RIDE_TYPE_COMPACT_INVERTED_COASTER - { STR_RIDE_NAME_WATER_COASTER, STR_RIDE_DESCRIPTION_WATER_COASTER }, // RIDE_TYPE_WATER_COASTER - { STR_RIDE_NAME_AIR_POWERED_VERTICAL_COASTER, STR_RIDE_DESCRIPTION_AIR_POWERED_VERTICAL_COASTER }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - { STR_RIDE_NAME_INVERTED_HAIRPIN_COASTER, STR_RIDE_DESCRIPTION_INVERTED_HAIRPIN_COASTER }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - { STR_RIDE_NAME_MAGIC_CARPET, STR_RIDE_DESCRIPTION_MAGIC_CARPET }, // RIDE_TYPE_MAGIC_CARPET - { STR_RIDE_NAME_SUBMARINE_RIDE, STR_RIDE_DESCRIPTION_SUBMARINE_RIDE }, // RIDE_TYPE_SUBMARINE_RIDE - { STR_RIDE_NAME_RIVER_RAFTS, STR_RIDE_DESCRIPTION_RIVER_RAFTS }, // RIDE_TYPE_RIVER_RAFTS - { STR_RIDE_NAME_50, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_50 - { STR_RIDE_NAME_ENTERPRISE, STR_RIDE_DESCRIPTION_ENTERPRISE }, // RIDE_TYPE_ENTERPRISE - { STR_RIDE_NAME_52, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_52 - { STR_RIDE_NAME_53, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_53 - { STR_RIDE_NAME_54, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_54 - { STR_RIDE_NAME_55, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_55 - { STR_RIDE_NAME_INVERTED_IMPULSE_COASTER, STR_RIDE_DESCRIPTION_INVERTED_IMPULSE_COASTER }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER - { STR_RIDE_NAME_MINI_ROLLER_COASTER, STR_RIDE_DESCRIPTION_MINI_ROLLER_COASTER }, // RIDE_TYPE_MINI_ROLLER_COASTER - { STR_RIDE_NAME_MINE_RIDE, STR_RIDE_DESCRIPTION_MINE_RIDE }, // RIDE_TYPE_MINE_RIDE - { STR_RIDE_NAME_59, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_59 - { STR_RIDE_NAME_LIM_LAUNCHED_ROLLER_COASTER, STR_RIDE_DESCRIPTION_LIM_LAUNCHED_ROLLER_COASTER }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER +const rct_ride_name RideNaming[] = { + { STR_RIDE_NAME_SPIRAL_ROLLER_COASTER, STR_RIDE_DESCRIPTION_SPIRAL_ROLLER_COASTER }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER + { STR_RIDE_NAME_STAND_UP_ROLLER_COASTER, STR_RIDE_DESCRIPTION_STAND_UP_ROLLER_COASTER }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER + { STR_RIDE_NAME_SUSPENDED_SWINGING_COASTER, STR_RIDE_DESCRIPTION_SUSPENDED_SWINGING_COASTER }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER + { STR_RIDE_NAME_INVERTED_ROLLER_COASTER, STR_RIDE_DESCRIPTION_INVERTED_ROLLER_COASTER }, // RIDE_TYPE_INVERTED_ROLLER_COASTER + { STR_RIDE_NAME_JUNIOR_ROLLER_COASTER, STR_RIDE_DESCRIPTION_JUNIOR_ROLLER_COASTER }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER + { STR_RIDE_NAME_MINIATURE_RAILWAY, STR_RIDE_DESCRIPTION_MINIATURE_RAILWAY }, // RIDE_TYPE_MINIATURE_RAILWAY + { STR_RIDE_NAME_MONORAIL, STR_RIDE_DESCRIPTION_MONORAIL }, // RIDE_TYPE_MONORAIL + { STR_RIDE_NAME_MINI_SUSPENDED_COASTER, STR_RIDE_DESCRIPTION_MINI_SUSPENDED_COASTER }, // RIDE_TYPE_MINI_SUSPENDED_COASTER + { STR_RIDE_NAME_BOAT_RIDE, STR_RIDE_DESCRIPTION_BOAT_RIDE }, // RIDE_TYPE_BOAT_RIDE + { STR_RIDE_NAME_WOODEN_WILD_MOUSE, STR_RIDE_DESCRIPTION_WOODEN_WILD_MOUSE }, // RIDE_TYPE_WOODEN_WILD_MOUSE + { STR_RIDE_NAME_STEEPLECHASE, STR_RIDE_DESCRIPTION_STEEPLECHASE }, // RIDE_TYPE_STEEPLECHASE + { STR_RIDE_NAME_CAR_RIDE, STR_RIDE_DESCRIPTION_CAR_RIDE }, // RIDE_TYPE_CAR_RIDE + { STR_RIDE_NAME_LAUNCHED_FREEFALL, STR_RIDE_DESCRIPTION_LAUNCHED_FREEFALL }, // RIDE_TYPE_LAUNCHED_FREEFALL + { STR_RIDE_NAME_BOBSLEIGH_COASTER, STR_RIDE_DESCRIPTION_BOBSLEIGH_COASTER }, // RIDE_TYPE_BOBSLEIGH_COASTER + { STR_RIDE_NAME_OBSERVATION_TOWER, STR_RIDE_DESCRIPTION_OBSERVATION_TOWER }, // RIDE_TYPE_OBSERVATION_TOWER + { STR_RIDE_NAME_LOOPING_ROLLER_COASTER, STR_RIDE_DESCRIPTION_LOOPING_ROLLER_COASTER }, // RIDE_TYPE_LOOPING_ROLLER_COASTER + { STR_RIDE_NAME_DINGHY_SLIDE, STR_RIDE_DESCRIPTION_DINGHY_SLIDE }, // RIDE_TYPE_DINGHY_SLIDE + { STR_RIDE_NAME_MINE_TRAIN_COASTER, STR_RIDE_DESCRIPTION_MINE_TRAIN_COASTER }, // RIDE_TYPE_MINE_TRAIN_COASTER + { STR_RIDE_NAME_CHAIRLIFT, STR_RIDE_DESCRIPTION_CHAIRLIFT }, // RIDE_TYPE_CHAIRLIFT + { STR_RIDE_NAME_CORKSCREW_ROLLER_COASTER, STR_RIDE_DESCRIPTION_CORKSCREW_ROLLER_COASTER }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER + { STR_RIDE_NAME_MAZE, STR_RIDE_DESCRIPTION_MAZE }, // RIDE_TYPE_MAZE + { STR_RIDE_NAME_SPIRAL_SLIDE, STR_RIDE_DESCRIPTION_SPIRAL_SLIDE }, // RIDE_TYPE_SPIRAL_SLIDE + { STR_RIDE_NAME_GO_KARTS, STR_RIDE_DESCRIPTION_GO_KARTS }, // RIDE_TYPE_GO_KARTS + { STR_RIDE_NAME_LOG_FLUME, STR_RIDE_DESCRIPTION_LOG_FLUME }, // RIDE_TYPE_LOG_FLUME + { STR_RIDE_NAME_RIVER_RAPIDS, STR_RIDE_DESCRIPTION_RIVER_RAPIDS }, // RIDE_TYPE_RIVER_RAPIDS + { STR_RIDE_NAME_DODGEMS, STR_RIDE_DESCRIPTION_DODGEMS }, // RIDE_TYPE_DODGEMS + { STR_RIDE_NAME_PIRATE_SHIP, STR_RIDE_DESCRIPTION_PIRATE_SHIP }, // RIDE_TYPE_PIRATE_SHIP + { STR_RIDE_NAME_SWINGING_INVERTER_SHIP, STR_RIDE_DESCRIPTION_SWINGING_INVERTER_SHIP }, // RIDE_TYPE_SWINGING_INVERTER_SHIP + { STR_RIDE_NAME_FOOD_STALL, STR_RIDE_DESCRIPTION_FOOD_STALL }, // RIDE_TYPE_FOOD_STALL + { STR_RIDE_NAME_1D, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_1D + { STR_RIDE_NAME_DRINK_STALL, STR_RIDE_DESCRIPTION_DRINK_STALL }, // RIDE_TYPE_DRINK_STALL + { STR_RIDE_NAME_1F, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_1F + { STR_RIDE_NAME_SHOP, STR_RIDE_DESCRIPTION_SHOP }, // RIDE_TYPE_SHOP + { STR_RIDE_NAME_MERRY_GO_ROUND, STR_RIDE_DESCRIPTION_MERRY_GO_ROUND }, // RIDE_TYPE_MERRY_GO_ROUND + { STR_RIDE_NAME_22, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_22 + { STR_RIDE_NAME_INFORMATION_KIOSK, STR_RIDE_DESCRIPTION_INFORMATION_KIOSK }, // RIDE_TYPE_INFORMATION_KIOSK + { STR_RIDE_NAME_TOILETS, STR_RIDE_DESCRIPTION_TOILETS }, // RIDE_TYPE_TOILETS + { STR_RIDE_NAME_FERRIS_WHEEL, STR_RIDE_DESCRIPTION_FERRIS_WHEEL }, // RIDE_TYPE_FERRIS_WHEEL + { STR_RIDE_NAME_MOTION_SIMULATOR, STR_RIDE_DESCRIPTION_MOTION_SIMULATOR }, // RIDE_TYPE_MOTION_SIMULATOR + { STR_RIDE_NAME_3D_CINEMA, STR_RIDE_DESCRIPTION_3D_CINEMA }, // RIDE_TYPE_3D_CINEMA + { STR_RIDE_NAME_TOP_SPIN, STR_RIDE_DESCRIPTION_TOP_SPIN }, // RIDE_TYPE_TOP_SPIN + { STR_RIDE_NAME_SPACE_RINGS, STR_RIDE_DESCRIPTION_SPACE_RINGS }, // RIDE_TYPE_SPACE_RINGS + { STR_RIDE_NAME_REVERSE_FREEFALL_COASTER, STR_RIDE_DESCRIPTION_REVERSE_FREEFALL_COASTER }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER + { STR_RIDE_NAME_LIFT, STR_RIDE_DESCRIPTION_LIFT }, // RIDE_TYPE_LIFT + { STR_RIDE_NAME_VERTICAL_DROP_ROLLER_COASTER, STR_RIDE_DESCRIPTION_VERTICAL_DROP_ROLLER_COASTER }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER + { STR_RIDE_NAME_CASH_MACHINE, STR_RIDE_DESCRIPTION_CASH_MACHINE }, // RIDE_TYPE_CASH_MACHINE + { STR_RIDE_NAME_TWIST, STR_RIDE_DESCRIPTION_TWIST }, // RIDE_TYPE_TWIST + { STR_RIDE_NAME_HAUNTED_HOUSE, STR_RIDE_DESCRIPTION_HAUNTED_HOUSE }, // RIDE_TYPE_HAUNTED_HOUSE + { STR_RIDE_NAME_FIRST_AID, STR_RIDE_DESCRIPTION_FIRST_AID }, // RIDE_TYPE_FIRST_AID + { STR_RIDE_NAME_CIRCUS_SHOW, STR_RIDE_DESCRIPTION_CIRCUS_SHOW }, // RIDE_TYPE_CIRCUS_SHOW + { STR_RIDE_NAME_GHOST_TRAIN, STR_RIDE_DESCRIPTION_GHOST_TRAIN }, // RIDE_TYPE_GHOST_TRAIN + { STR_RIDE_NAME_TWISTER_ROLLER_COASTER, STR_RIDE_DESCRIPTION_TWISTER_ROLLER_COASTER }, // RIDE_TYPE_TWISTER_ROLLER_COASTER + { STR_RIDE_NAME_WOODEN_ROLLER_COASTER, STR_RIDE_DESCRIPTION_WOODEN_ROLLER_COASTER }, // RIDE_TYPE_WOODEN_ROLLER_COASTER + { STR_RIDE_NAME_SIDE_FRICTION_ROLLER_COASTER, STR_RIDE_DESCRIPTION_SIDE_FRICTION_ROLLER_COASTER }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER + { STR_RIDE_NAME_WILD_MOUSE, STR_RIDE_DESCRIPTION_WILD_MOUSE }, // RIDE_TYPE_WILD_MOUSE + { STR_RIDE_NAME_MULTI_DIMENSION_ROLLER_COASTER, STR_RIDE_DESCRIPTION_MULTI_DIMENSION_ROLLER_COASTER }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER + { STR_RIDE_NAME_38, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_38 + { STR_RIDE_NAME_FLYING_ROLLER_COASTER, STR_RIDE_DESCRIPTION_FLYING_ROLLER_COASTER }, // RIDE_TYPE_FLYING_ROLLER_COASTER + { STR_RIDE_NAME_3A, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_3A + { STR_RIDE_NAME_VIRGINIA_REEL, STR_RIDE_DESCRIPTION_VIRGINIA_REEL }, // RIDE_TYPE_VIRGINIA_REEL + { STR_RIDE_NAME_SPLASH_BOATS, STR_RIDE_DESCRIPTION_SPLASH_BOATS }, // RIDE_TYPE_SPLASH_BOATS + { STR_RIDE_NAME_MINI_HELICOPTERS, STR_RIDE_DESCRIPTION_MINI_HELICOPTERS }, // RIDE_TYPE_MINI_HELICOPTERS + { STR_RIDE_NAME_LAY_DOWN_ROLLER_COASTER, STR_RIDE_DESCRIPTION_LAY_DOWN_ROLLER_COASTER }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER + { STR_RIDE_NAME_SUSPENDED_MONORAIL, STR_RIDE_DESCRIPTION_SUSPENDED_MONORAIL }, // RIDE_TYPE_SUSPENDED_MONORAIL + { STR_RIDE_NAME_40, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_40 + { STR_RIDE_NAME_REVERSER_ROLLER_COASTER, STR_RIDE_DESCRIPTION_REVERSER_ROLLER_COASTER }, // RIDE_TYPE_REVERSER_ROLLER_COASTER + { STR_RIDE_NAME_HEARTLINE_TWISTER_COASTER, STR_RIDE_DESCRIPTION_HEARTLINE_TWISTER_COASTER }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER + { STR_RIDE_NAME_MINI_GOLF, STR_RIDE_DESCRIPTION_MINI_GOLF }, // RIDE_TYPE_MINI_GOLF + { STR_RIDE_NAME_GIGA_COASTER, STR_RIDE_DESCRIPTION_GIGA_COASTER }, // RIDE_TYPE_GIGA_COASTER + { STR_RIDE_NAME_ROTO_DROP, STR_RIDE_DESCRIPTION_ROTO_DROP }, // RIDE_TYPE_ROTO_DROP + { STR_RIDE_NAME_FLYING_SAUCERS, STR_RIDE_DESCRIPTION_FLYING_SAUCERS }, // RIDE_TYPE_FLYING_SAUCERS + { STR_RIDE_NAME_CROOKED_HOUSE, STR_RIDE_DESCRIPTION_CROOKED_HOUSE }, // RIDE_TYPE_CROOKED_HOUSE + { STR_RIDE_NAME_MONORAIL_CYCLES, STR_RIDE_DESCRIPTION_MONORAIL_CYCLES }, // RIDE_TYPE_MONORAIL_CYCLES + { STR_RIDE_NAME_COMPACT_INVERTED_COASTER, STR_RIDE_DESCRIPTION_COMPACT_INVERTED_COASTER }, // RIDE_TYPE_COMPACT_INVERTED_COASTER + { STR_RIDE_NAME_WATER_COASTER, STR_RIDE_DESCRIPTION_WATER_COASTER }, // RIDE_TYPE_WATER_COASTER + { STR_RIDE_NAME_AIR_POWERED_VERTICAL_COASTER, STR_RIDE_DESCRIPTION_AIR_POWERED_VERTICAL_COASTER }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + { STR_RIDE_NAME_INVERTED_HAIRPIN_COASTER, STR_RIDE_DESCRIPTION_INVERTED_HAIRPIN_COASTER }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER + { STR_RIDE_NAME_MAGIC_CARPET, STR_RIDE_DESCRIPTION_MAGIC_CARPET }, // RIDE_TYPE_MAGIC_CARPET + { STR_RIDE_NAME_SUBMARINE_RIDE, STR_RIDE_DESCRIPTION_SUBMARINE_RIDE }, // RIDE_TYPE_SUBMARINE_RIDE + { STR_RIDE_NAME_RIVER_RAFTS, STR_RIDE_DESCRIPTION_RIVER_RAFTS }, // RIDE_TYPE_RIVER_RAFTS + { STR_RIDE_NAME_50, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_50 + { STR_RIDE_NAME_ENTERPRISE, STR_RIDE_DESCRIPTION_ENTERPRISE }, // RIDE_TYPE_ENTERPRISE + { STR_RIDE_NAME_52, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_52 + { STR_RIDE_NAME_53, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_53 + { STR_RIDE_NAME_54, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_54 + { STR_RIDE_NAME_55, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_55 + { STR_RIDE_NAME_INVERTED_IMPULSE_COASTER, STR_RIDE_DESCRIPTION_INVERTED_IMPULSE_COASTER }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER + { STR_RIDE_NAME_MINI_ROLLER_COASTER, STR_RIDE_DESCRIPTION_MINI_ROLLER_COASTER }, // RIDE_TYPE_MINI_ROLLER_COASTER + { STR_RIDE_NAME_MINE_RIDE, STR_RIDE_DESCRIPTION_MINE_RIDE }, // RIDE_TYPE_MINE_RIDE + { STR_RIDE_NAME_59, STR_RIDE_DESCRIPTION_UNKNOWN }, // RIDE_TYPE_59 + { STR_RIDE_NAME_LIM_LAUNCHED_ROLLER_COASTER, STR_RIDE_DESCRIPTION_LIM_LAUNCHED_ROLLER_COASTER }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; /** @@ -916,2230 +916,2230 @@ const rct_ride_name RideNaming[] = { * rct2: 0x0097C8AC */ const uint8 RideAvailableModes[] = { - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 00 Spiral Roller coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 01 Stand Up Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 02 Suspended Swinging - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 03 Inverted - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, 0xFF, // 04 Steel Mini Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_SHUTTLE, 0xFF, // 05 Mini Railroad - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_SHUTTLE, 0xFF, // 06 Monorail - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 07 Mini Suspended Coaster - RIDE_MODE_BOAT_HIRE, 0xFF, // 08 Boat Ride - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 09 Wooden Wild Mine/Mouse - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 0A Steeplechase/Motorbike/Soap Box Derby - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 0B Car Ride - RIDE_MODE_UPWARD_LAUNCH, RIDE_MODE_DOWNWARD_LAUNCH, 0xFF, // 0C Launched Freefall - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 0D Bobsleigh Coaster - RIDE_MODE_ROTATING_LIFT, 0xFF, // 0E Observation Tower - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, 0xFF, // 0F Looping Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 10 Dinghy Slide - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 11 Mine Train Coaster - RIDE_MODE_STATION_TO_STATION, 0xFF, // 12 Chairlift - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, 0xFF, // 13 Corkscrew Roller Coaster - RIDE_MODE_MAZE, 0xFF, // 14 Maze - RIDE_MODE_SINGLE_RIDE_PER_ADMISSION, RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION, 0xFF, // 15 Spiral Slide - RIDE_MODE_RACE, RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 16 Go Karts - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 17 Log Flume - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 18 River Rapids - RIDE_MODE_BUMPERCAR, 0xFF, // 19 Dodgems - RIDE_MODE_SWING, 0xFF, // 1A Pirate Ship - RIDE_MODE_SWING, 0xFF, // 1B Swinging Inverter Ship - RIDE_MODE_SHOP_STALL, 0xFF, // 1C Food Stall - RIDE_MODE_SHOP_STALL, 0xFF, // 1D (none) - RIDE_MODE_SHOP_STALL, 0xFF, // 1E Drink Stall - RIDE_MODE_SHOP_STALL, 0xFF, // 1F (none) - RIDE_MODE_SHOP_STALL, 0xFF, // 20 Shop (all types) - RIDE_MODE_ROTATION, 0xFF, // 21 Merry Go Round - RIDE_MODE_SHOP_STALL, 0xFF, // 22 Balloon Stall (maybe) - RIDE_MODE_SHOP_STALL, 0xFF, // 23 Information Kiosk - RIDE_MODE_SHOP_STALL, 0xFF, // 24 Bathroom - RIDE_MODE_FORWARD_ROTATION, RIDE_MODE_BACKWARD_ROTATION, 0xFF, // 25 Ferris Wheel - RIDE_MODE_FILM_AVENGING_AVIATORS, RIDE_MODE_FILM_THRILL_RIDERS, 0xFF, // 26 Motion Simulator - RIDE_MODE_3D_FILM_MOUSE_TAILS, RIDE_MODE_3D_FILM_STORM_CHASERS, RIDE_MODE_3D_FILM_SPACE_RAIDERS, 0xFF, // 27 3D Cinema - RIDE_MODE_BEGINNERS, RIDE_MODE_INTENSE, RIDE_MODE_BERSERK, 0xFF, // 28 Topspin - RIDE_MODE_SPACE_RINGS, 0xFF, // 29 Space Rings - RIDE_MODE_LIM_POWERED_LAUNCH, 0xFF, // 2A Reverse Freefall Coaster - RIDE_MODE_SHUTTLE, 0xFF, // 2B Elevator - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 2C Vertical Drop Roller Coaster - RIDE_MODE_SHOP_STALL, 0xFF, // 2D ATM - RIDE_MODE_ROTATION, 0xFF, // 2E Twist - RIDE_MODE_HAUNTED_HOUSE, 0xFF, // 2F Haunted House - RIDE_MODE_SHOP_STALL, 0xFF, // 30 First Aid - RIDE_MODE_CIRCUS_SHOW, 0xFF, // 31 Circus Show - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 32 Ghost Train - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 33 Twister Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, 0xFF, // 34 Wooden Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 35 Side-Friction Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 36 Wild Mouse - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 37 Multi Dimension Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 38 (none) - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 39 Flying Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 3A (none) - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 3B Virginia Reel - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 3C Splash Boats - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 3D Mini Helicopters - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 3E Lay-down Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_SHUTTLE, 0xFF, // 3F Suspended Monorail - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 40 (none) - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 41 Reverser Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 42 Heartline Twister Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 43 Mini Golf - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 44 Giga Coaster - RIDE_MODE_FREEFALL_DROP, 0xFF, // 45 Roto-Drop - RIDE_MODE_BUMPERCAR, 0xFF, // 46 Flying Saucers - RIDE_MODE_CROOKED_HOUSE, 0xFF, // 47 Crooked House - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 48 Monorail Cycles - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, 0xFF, // 49 Compact Inverted Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 4A Water Coaster - RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, 0xFF, // 4B Air Powered Vertical Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 4C Inverted Hairpin Coaster - RIDE_MODE_SWING, 0xFF, // 4D Magic Carpet - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 4E Submarine Ride - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 4F River Rafts - RIDE_MODE_SHOP_STALL, 0xFF, // 50 (none) - RIDE_MODE_ROTATION, 0xFF, // 51 Enterprise - RIDE_MODE_SHOP_STALL, 0xFF, // 52 (none) - RIDE_MODE_SHOP_STALL, 0xFF, // 53 (none) - RIDE_MODE_SHOP_STALL, 0xFF, // 54 (none) - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 55 (none) - RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, 0xFF, // 56 Inverted Impulse Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 57 Mini Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 58 Mine Ride - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 59 Unknown - RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED, 0xFF // 5a LIM Launched Roller Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 00 Spiral Roller coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 01 Stand Up Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 02 Suspended Swinging + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 03 Inverted + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, 0xFF, // 04 Steel Mini Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_SHUTTLE, 0xFF, // 05 Mini Railroad + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_SHUTTLE, 0xFF, // 06 Monorail + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 07 Mini Suspended Coaster + RIDE_MODE_BOAT_HIRE, 0xFF, // 08 Boat Ride + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 09 Wooden Wild Mine/Mouse + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 0A Steeplechase/Motorbike/Soap Box Derby + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 0B Car Ride + RIDE_MODE_UPWARD_LAUNCH, RIDE_MODE_DOWNWARD_LAUNCH, 0xFF, // 0C Launched Freefall + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 0D Bobsleigh Coaster + RIDE_MODE_ROTATING_LIFT, 0xFF, // 0E Observation Tower + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, 0xFF, // 0F Looping Roller Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 10 Dinghy Slide + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 11 Mine Train Coaster + RIDE_MODE_STATION_TO_STATION, 0xFF, // 12 Chairlift + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, 0xFF, // 13 Corkscrew Roller Coaster + RIDE_MODE_MAZE, 0xFF, // 14 Maze + RIDE_MODE_SINGLE_RIDE_PER_ADMISSION, RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION, 0xFF, // 15 Spiral Slide + RIDE_MODE_RACE, RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 16 Go Karts + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 17 Log Flume + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 18 River Rapids + RIDE_MODE_BUMPERCAR, 0xFF, // 19 Dodgems + RIDE_MODE_SWING, 0xFF, // 1A Pirate Ship + RIDE_MODE_SWING, 0xFF, // 1B Swinging Inverter Ship + RIDE_MODE_SHOP_STALL, 0xFF, // 1C Food Stall + RIDE_MODE_SHOP_STALL, 0xFF, // 1D (none) + RIDE_MODE_SHOP_STALL, 0xFF, // 1E Drink Stall + RIDE_MODE_SHOP_STALL, 0xFF, // 1F (none) + RIDE_MODE_SHOP_STALL, 0xFF, // 20 Shop (all types) + RIDE_MODE_ROTATION, 0xFF, // 21 Merry Go Round + RIDE_MODE_SHOP_STALL, 0xFF, // 22 Balloon Stall (maybe) + RIDE_MODE_SHOP_STALL, 0xFF, // 23 Information Kiosk + RIDE_MODE_SHOP_STALL, 0xFF, // 24 Bathroom + RIDE_MODE_FORWARD_ROTATION, RIDE_MODE_BACKWARD_ROTATION, 0xFF, // 25 Ferris Wheel + RIDE_MODE_FILM_AVENGING_AVIATORS, RIDE_MODE_FILM_THRILL_RIDERS, 0xFF, // 26 Motion Simulator + RIDE_MODE_3D_FILM_MOUSE_TAILS, RIDE_MODE_3D_FILM_STORM_CHASERS, RIDE_MODE_3D_FILM_SPACE_RAIDERS, 0xFF, // 27 3D Cinema + RIDE_MODE_BEGINNERS, RIDE_MODE_INTENSE, RIDE_MODE_BERSERK, 0xFF, // 28 Topspin + RIDE_MODE_SPACE_RINGS, 0xFF, // 29 Space Rings + RIDE_MODE_LIM_POWERED_LAUNCH, 0xFF, // 2A Reverse Freefall Coaster + RIDE_MODE_SHUTTLE, 0xFF, // 2B Elevator + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 2C Vertical Drop Roller Coaster + RIDE_MODE_SHOP_STALL, 0xFF, // 2D ATM + RIDE_MODE_ROTATION, 0xFF, // 2E Twist + RIDE_MODE_HAUNTED_HOUSE, 0xFF, // 2F Haunted House + RIDE_MODE_SHOP_STALL, 0xFF, // 30 First Aid + RIDE_MODE_CIRCUS_SHOW, 0xFF, // 31 Circus Show + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 32 Ghost Train + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 33 Twister Roller Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, 0xFF, // 34 Wooden Roller Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 35 Side-Friction Roller Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 36 Wild Mouse + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 37 Multi Dimension Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 38 (none) + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 39 Flying Roller Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 3A (none) + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 3B Virginia Reel + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 3C Splash Boats + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 3D Mini Helicopters + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 3E Lay-down Roller Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_SHUTTLE, 0xFF, // 3F Suspended Monorail + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 40 (none) + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 41 Reverser Roller Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 42 Heartline Twister Roller Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 43 Mini Golf + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 44 Giga Coaster + RIDE_MODE_FREEFALL_DROP, 0xFF, // 45 Roto-Drop + RIDE_MODE_BUMPERCAR, 0xFF, // 46 Flying Saucers + RIDE_MODE_CROOKED_HOUSE, 0xFF, // 47 Crooked House + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 48 Monorail Cycles + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, 0xFF, // 49 Compact Inverted Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 4A Water Coaster + RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, 0xFF, // 4B Air Powered Vertical Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 4C Inverted Hairpin Coaster + RIDE_MODE_SWING, 0xFF, // 4D Magic Carpet + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 4E Submarine Ride + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 4F River Rafts + RIDE_MODE_SHOP_STALL, 0xFF, // 50 (none) + RIDE_MODE_ROTATION, 0xFF, // 51 Enterprise + RIDE_MODE_SHOP_STALL, 0xFF, // 52 (none) + RIDE_MODE_SHOP_STALL, 0xFF, // 53 (none) + RIDE_MODE_SHOP_STALL, 0xFF, // 54 (none) + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 55 (none) + RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, 0xFF, // 56 Inverted Impulse Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 57 Mini Roller Coaster + RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 58 Mine Ride + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 59 Unknown + RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED, 0xFF // 5a LIM Launched Roller Coaster }; const uint8 AllRideModesAvailable[] = { - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_SHUTTLE, RIDE_MODE_NORMAL, RIDE_MODE_BOAT_HIRE, RIDE_MODE_UPWARD_LAUNCH, RIDE_MODE_ROTATING_LIFT, RIDE_MODE_STATION_TO_STATION, RIDE_MODE_SINGLE_RIDE_PER_ADMISSION, RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION, RIDE_MODE_MAZE, RIDE_MODE_RACE, RIDE_MODE_BUMPERCAR, RIDE_MODE_SWING, RIDE_MODE_SHOP_STALL, RIDE_MODE_ROTATION, RIDE_MODE_FORWARD_ROTATION, RIDE_MODE_BACKWARD_ROTATION, RIDE_MODE_FILM_AVENGING_AVIATORS, RIDE_MODE_3D_FILM_MOUSE_TAILS, RIDE_MODE_SPACE_RINGS, RIDE_MODE_BEGINNERS, RIDE_MODE_LIM_POWERED_LAUNCH, RIDE_MODE_FILM_THRILL_RIDERS, RIDE_MODE_3D_FILM_STORM_CHASERS, RIDE_MODE_3D_FILM_SPACE_RAIDERS, RIDE_MODE_INTENSE, RIDE_MODE_BERSERK, RIDE_MODE_HAUNTED_HOUSE, RIDE_MODE_CIRCUS_SHOW, RIDE_MODE_DOWNWARD_LAUNCH, RIDE_MODE_CROOKED_HOUSE, RIDE_MODE_FREEFALL_DROP, RIDE_MODE_POWERED_LAUNCH, RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED, 0xFF + RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_SHUTTLE, RIDE_MODE_NORMAL, RIDE_MODE_BOAT_HIRE, RIDE_MODE_UPWARD_LAUNCH, RIDE_MODE_ROTATING_LIFT, RIDE_MODE_STATION_TO_STATION, RIDE_MODE_SINGLE_RIDE_PER_ADMISSION, RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION, RIDE_MODE_MAZE, RIDE_MODE_RACE, RIDE_MODE_BUMPERCAR, RIDE_MODE_SWING, RIDE_MODE_SHOP_STALL, RIDE_MODE_ROTATION, RIDE_MODE_FORWARD_ROTATION, RIDE_MODE_BACKWARD_ROTATION, RIDE_MODE_FILM_AVENGING_AVIATORS, RIDE_MODE_3D_FILM_MOUSE_TAILS, RIDE_MODE_SPACE_RINGS, RIDE_MODE_BEGINNERS, RIDE_MODE_LIM_POWERED_LAUNCH, RIDE_MODE_FILM_THRILL_RIDERS, RIDE_MODE_3D_FILM_STORM_CHASERS, RIDE_MODE_3D_FILM_SPACE_RAIDERS, RIDE_MODE_INTENSE, RIDE_MODE_BERSERK, RIDE_MODE_HAUNTED_HOUSE, RIDE_MODE_CIRCUS_SHOW, RIDE_MODE_DOWNWARD_LAUNCH, RIDE_MODE_CROOKED_HOUSE, RIDE_MODE_FREEFALL_DROP, RIDE_MODE_POWERED_LAUNCH, RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED, 0xFF }; const uint8 RideAvailableBreakdowns[] = { - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 00 Spiral Roller coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 01 Stand Up Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 02 Suspended Swinging - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 03 Inverted - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 04 Steel Mini Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 05 Mini Railroad - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_DOORS_STUCK_CLOSED) | (1 << BREAKDOWN_DOORS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 06 Monorail - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 07 Mini Suspended Coaster - (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 08 Boat Ride - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 09 Wooden Wild Mine/Mouse - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 0A Steeplechase/Motorbike/Soap Box Derby - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 0B Car Ride - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 0C Launched Freefall - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 0D Bobsleigh Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 0E Observation Tower - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 0F Looping Roller Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 10 Dinghy Slide - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 11 Mine Train Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 12 Chairlift - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 13 Corkscrew Roller Coaster - 0, // 14 Maze - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 15 Spiral Slide - (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 16 Go Karts - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE), // 17 Log Flume - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE), // 18 River Rapids - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 19 Dodgems - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 1A Pirate Ship - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 1B Swinging Inverter Ship - 0, // 1C Food Stall - 0, // 1D (none) - 0, // 1E Drink Stall - 0, // 1F (none) - 0, // 20 Shop (all types) - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE), // 21 Merry Go Round - 0, // 22 Balloon Stall (maybe) - 0, // 23 Information Kiosk - 0, // 24 Bathroom - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 25 Ferris Wheel - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 26 Motion Simulator - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 27 3D Cinema - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 28 Topspin - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 29 Space Rings - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 2A Reverse Freefall Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_DOORS_STUCK_CLOSED) | (1 << BREAKDOWN_DOORS_STUCK_OPEN), // 2B Elevator - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 2C Vertical Drop Roller Coaster - 0, // 2D ATM - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 2E Twist - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 2F Haunted House - 0, // 30 First Aid - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 31 Circus Show - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 32 Ghost Train - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 33 Twister Roller Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 34 Wooden Roller Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 35 Side-Friction Roller Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 36 Wild Mouse - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 37 Multi Dimension Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 38 (none) - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 39 Flying Roller Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 3A (none) - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 3B Virginia Reel - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE), // 3C Splash Boats - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 3D Mini Helicopters - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 3E Lay-down Roller Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_DOORS_STUCK_CLOSED) | (1 << BREAKDOWN_DOORS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 3F Suspended Monorail - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 40 (none) - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 41 Reverser Roller Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 42 Heartline Twister Roller Coaster - 0, // 43 Mini Golf - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 44 Giga Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 45 Roto-Drop - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 46 Flying Saucers - 0, // 47 Crooked House - (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 48 Monorail Cycles - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 49 Compact Inverted Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 4A Water Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 4B Air Powered Vertical Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 4C Inverted Hairpin Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 4D Magic Carpet - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 4E Submarine Ride - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 4F River Rafts - 0, // 50 (none) - (1 << BREAKDOWN_SAFETY_CUT_OUT), // 51 Enterprise - 0, // 52 (none) - 0, // 53 (none) - 0, // 54 (none) - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 55 (none) - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 56 Inverted Impulse Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 57 Mini Roller Coaster - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 58 Mine Ride - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 59 Unknown - (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE) // 5a LIM Launched Roller Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 00 Spiral Roller coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 01 Stand Up Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 02 Suspended Swinging + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 03 Inverted + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 04 Steel Mini Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 05 Mini Railroad + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_DOORS_STUCK_CLOSED) | (1 << BREAKDOWN_DOORS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 06 Monorail + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 07 Mini Suspended Coaster + (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 08 Boat Ride + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 09 Wooden Wild Mine/Mouse + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 0A Steeplechase/Motorbike/Soap Box Derby + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 0B Car Ride + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 0C Launched Freefall + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 0D Bobsleigh Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 0E Observation Tower + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 0F Looping Roller Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 10 Dinghy Slide + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 11 Mine Train Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 12 Chairlift + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 13 Corkscrew Roller Coaster + 0, // 14 Maze + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 15 Spiral Slide + (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 16 Go Karts + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE), // 17 Log Flume + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE), // 18 River Rapids + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 19 Dodgems + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 1A Pirate Ship + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 1B Swinging Inverter Ship + 0, // 1C Food Stall + 0, // 1D (none) + 0, // 1E Drink Stall + 0, // 1F (none) + 0, // 20 Shop (all types) + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE), // 21 Merry Go Round + 0, // 22 Balloon Stall (maybe) + 0, // 23 Information Kiosk + 0, // 24 Bathroom + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 25 Ferris Wheel + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 26 Motion Simulator + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 27 3D Cinema + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 28 Topspin + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 29 Space Rings + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 2A Reverse Freefall Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_DOORS_STUCK_CLOSED) | (1 << BREAKDOWN_DOORS_STUCK_OPEN), // 2B Elevator + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 2C Vertical Drop Roller Coaster + 0, // 2D ATM + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 2E Twist + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 2F Haunted House + 0, // 30 First Aid + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 31 Circus Show + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 32 Ghost Train + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 33 Twister Roller Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 34 Wooden Roller Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 35 Side-Friction Roller Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 36 Wild Mouse + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 37 Multi Dimension Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 38 (none) + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 39 Flying Roller Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 3A (none) + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 3B Virginia Reel + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE), // 3C Splash Boats + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 3D Mini Helicopters + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 3E Lay-down Roller Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_DOORS_STUCK_CLOSED) | (1 << BREAKDOWN_DOORS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 3F Suspended Monorail + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 40 (none) + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 41 Reverser Roller Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 42 Heartline Twister Roller Coaster + 0, // 43 Mini Golf + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 44 Giga Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 45 Roto-Drop + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 46 Flying Saucers + 0, // 47 Crooked House + (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 48 Monorail Cycles + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 49 Compact Inverted Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 4A Water Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 4B Air Powered Vertical Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 4C Inverted Hairpin Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 4D Magic Carpet + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 4E Submarine Ride + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 4F River Rafts + 0, // 50 (none) + (1 << BREAKDOWN_SAFETY_CUT_OUT), // 51 Enterprise + 0, // 52 (none) + 0, // 53 (none) + 0, // 54 (none) + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 55 (none) + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 56 Inverted Impulse Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 57 Mini Roller Coaster + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION), // 58 Mine Ride + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE), // 59 Unknown + (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE) // 5a LIM Launched Roller Coaster }; // rct2: 0x00993E7C and 0x00993E1C const rct_ride_entrance_definition RideEntranceDefinitions[RIDE_ENTRANCE_STYLE_COUNT] = { - { 22664, 32, 2, 0x00000000, STR_PLAIN_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_PLAIN - { 22760, 31, 21, 0x000057A1, STR_WOODEN_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_WOODEN - { 22680, 43, 2, 0x800057AD, STR_CANVAS_TENT_ENTRANCE, 3, }, // RIDE_ENTRANCE_STYLE_CANVAS_TENT - { 22728, 43, 19, 0x000057B9, STR_CASTLE_ENTRANCE_GREY, 0, }, // RIDE_ENTRANCE_STYLE_CASTLE_GREY - { 22712, 43, 19, 0x000057C5, STR_CASTLE_ENTRANCE_BROWN, 0, }, // RIDE_ENTRANCE_STYLE_CASTLE_BROWN - { 22776, 33, 19, 0x000057D1, STR_JUNGLE_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_JUNGLE - { 22744, 32, 20, 0x000057DD, STR_LOG_CABIN_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_LOG_CABIN - { 22696, 34, 19, 0x000057E9, STR_CLASSICAL_ROMAN_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_CLASSICAL_ROMAN - { 22792, 40, 22, 0x400057F5, STR_ABSTRACT_ENTRANCE, 1, }, // RIDE_ENTRANCE_STYLE_ABSTRACT - { 22824, 35, 23, 0x0000580D, STR_SNOW_ICE_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_SNOW_ICE - { 22840, 33, 19, 0x00005819, STR_PAGODA_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_PAGODA - { 22856, 33, 2, 0x00005825, STR_SPACE_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_SPACE - { 0, 0, 2, 0x00000000, STR_ENTRANCE_NONE, 0, } // RIDE_ENTRANCE_STYLE_NONE + { 22664, 32, 2, 0x00000000, STR_PLAIN_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_PLAIN + { 22760, 31, 21, 0x000057A1, STR_WOODEN_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_WOODEN + { 22680, 43, 2, 0x800057AD, STR_CANVAS_TENT_ENTRANCE, 3, }, // RIDE_ENTRANCE_STYLE_CANVAS_TENT + { 22728, 43, 19, 0x000057B9, STR_CASTLE_ENTRANCE_GREY, 0, }, // RIDE_ENTRANCE_STYLE_CASTLE_GREY + { 22712, 43, 19, 0x000057C5, STR_CASTLE_ENTRANCE_BROWN, 0, }, // RIDE_ENTRANCE_STYLE_CASTLE_BROWN + { 22776, 33, 19, 0x000057D1, STR_JUNGLE_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_JUNGLE + { 22744, 32, 20, 0x000057DD, STR_LOG_CABIN_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_LOG_CABIN + { 22696, 34, 19, 0x000057E9, STR_CLASSICAL_ROMAN_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_CLASSICAL_ROMAN + { 22792, 40, 22, 0x400057F5, STR_ABSTRACT_ENTRANCE, 1, }, // RIDE_ENTRANCE_STYLE_ABSTRACT + { 22824, 35, 23, 0x0000580D, STR_SNOW_ICE_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_SNOW_ICE + { 22840, 33, 19, 0x00005819, STR_PAGODA_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_PAGODA + { 22856, 33, 2, 0x00005825, STR_SPACE_ENTRANCE, 0, }, // RIDE_ENTRANCE_STYLE_SPACE + { 0, 0, 2, 0x00000000, STR_ENTRANCE_NONE, 0, } // RIDE_ENTRANCE_STYLE_NONE }; // rct2: 0x0097D4F0, 0x0097D4F1, 0x0097D4F2, 0x0097D4F4, 0x0097D4F5 const rct_ride_data_4 RideData4[RIDE_TYPE_COUNT] = { - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_3, 0 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER - { 20, 20, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MINIATURE_RAILWAY - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MONORAIL - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_BOAT_RIDE - { 20, 20, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_WOODEN_WILD_MOUSE - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_STEEPLECHASE - { 15, 0, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_CAR_RIDE - { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_LAUNCHED_FREEFALL - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_BOBSLEIGH_COASTER - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_OBSERVATION_TOWER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_DINGHY_SLIDE - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_MINE_TRAIN_COASTER - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_CHAIRLIFT - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - { 10, 0, RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MAZE - { 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_SPIRAL_SLIDE - { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_GO_KARTS - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_LOG_FLUME - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_RIVER_RAPIDS - { 15, 0, RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_DODGEMS_BEAT, 0 }, // RIDE_TYPE_DODGEMS - { 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_PIRATES, 0 }, // RIDE_TYPE_PIRATE_SHIP - { 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP - { 9, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_FOOD_STALL - { 15, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_1D - { 12, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_DRINK_STALL - { 8, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_1F - { 15, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_SHOP - { 10, 0, RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_FAIRGROUND_ORGAN, 0 }, // RIDE_TYPE_MERRY_GO_ROUND - { 9, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_22 - { 6, 25, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_INFORMATION_KIOSK - { 0, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_TOILETS - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_FERRIS_WHEEL - { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_MOTION_SIMULATOR - { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_3D_CINEMA - { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_TOP_SPIN - { 5, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_SPACE_RINGS - { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_LIFT - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - { 0, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_CASH_MACHINE - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_TWIST - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_HORROR, 0 }, // RIDE_TYPE_HAUNTED_HOUSE - { 0, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_FIRST_AID - { 15, 0, RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_CIRCUS_SHOW, 0 }, // RIDE_TYPE_CIRCUS_SHOW - { 15, 0, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_HORROR, 0 }, // RIDE_TYPE_GHOST_TRAIN - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - { 20, 20, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_WILD_MOUSE - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_3, RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED, MUSIC_STYLE_ROCK, RIDE_TYPE_FLYING_ROLLER_COASTER_ALT }, // RIDE_TYPE_FLYING_ROLLER_COASTER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_VIRGINIA_REEL - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_SPLASH_BOATS - { 15, 0, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MINI_HELICOPTERS - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_SUSPENDED_MONORAIL - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER - { 15, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MINI_GOLF - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_ALLOW_CABLE_LIFT_HILL | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_3, 0 }, // RIDE_TYPE_GIGA_COASTER - { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_ROTO_DROP - { 15, 0, RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_FLYING_SAUCERS - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_CROOKED_HOUSE - { 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MONORAIL_CYCLES - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_WATER_COASTER - { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 0 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 0 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - { 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_EGYPTIAN, 0 }, // RIDE_TYPE_MAGIC_CARPET - { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_SUBMARINE_RIDE - { 10, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_RIVER_RAFTS - { 7, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_50 - { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 0 }, // RIDE_TYPE_ENTERPRISE - { 12, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_52 - { 15, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_53 - { 12, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_54 - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_55 - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MINI_ROLLER_COASTER - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_MINE_RIDE - { 20, 20, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 0 }, // RIDE_TYPE_59 - { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_3, 0 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER + { 20, 20, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MINIATURE_RAILWAY + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MONORAIL + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_BOAT_RIDE + { 20, 20, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_WOODEN_WILD_MOUSE + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_STEEPLECHASE + { 15, 0, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_CAR_RIDE + { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_LAUNCHED_FREEFALL + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_BOBSLEIGH_COASTER + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_OBSERVATION_TOWER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_DINGHY_SLIDE + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_MINE_TRAIN_COASTER + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_CHAIRLIFT + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER + { 10, 0, RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MAZE + { 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_SPIRAL_SLIDE + { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_GO_KARTS + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_LOG_FLUME + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_RIVER_RAPIDS + { 15, 0, RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_DODGEMS_BEAT, 0 }, // RIDE_TYPE_DODGEMS + { 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_PIRATES, 0 }, // RIDE_TYPE_PIRATE_SHIP + { 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP + { 9, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_FOOD_STALL + { 15, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_1D + { 12, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_DRINK_STALL + { 8, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_1F + { 15, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_SHOP + { 10, 0, RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_FAIRGROUND_ORGAN, 0 }, // RIDE_TYPE_MERRY_GO_ROUND + { 9, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_22 + { 6, 25, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_INFORMATION_KIOSK + { 0, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_TOILETS + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_FERRIS_WHEEL + { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_MOTION_SIMULATOR + { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_3D_CINEMA + { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_TOP_SPIN + { 5, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_SPACE_RINGS + { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_LIFT + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER + { 0, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_CASH_MACHINE + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_TWIST + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_HORROR, 0 }, // RIDE_TYPE_HAUNTED_HOUSE + { 0, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_FIRST_AID + { 15, 0, RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_CIRCUS_SHOW, 0 }, // RIDE_TYPE_CIRCUS_SHOW + { 15, 0, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_HORROR, 0 }, // RIDE_TYPE_GHOST_TRAIN + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER + { 20, 20, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_WILD_MOUSE + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_3, RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED, MUSIC_STYLE_ROCK, RIDE_TYPE_FLYING_ROLLER_COASTER_ALT }, // RIDE_TYPE_FLYING_ROLLER_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_VIRGINIA_REEL + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_SPLASH_BOATS + { 15, 0, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MINI_HELICOPTERS + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_SUSPENDED_MONORAIL + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER + { 15, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MINI_GOLF + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_ALLOW_CABLE_LIFT_HILL | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_3, 0 }, // RIDE_TYPE_GIGA_COASTER + { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_ROTO_DROP + { 15, 0, RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_FLYING_SAUCERS + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_CROOKED_HOUSE + { 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MONORAIL_CYCLES + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_WATER_COASTER + { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 0 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 0 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER + { 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_EGYPTIAN, 0 }, // RIDE_TYPE_MAGIC_CARPET + { 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_SUBMARINE_RIDE + { 10, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_RIVER_RAFTS + { 7, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_50 + { 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 0 }, // RIDE_TYPE_ENTERPRISE + { 12, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_52 + { 15, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_53 + { 12, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_54 + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_55 + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MINI_ROLLER_COASTER + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_MINE_RIDE + { 20, 20, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 0 }, // RIDE_TYPE_59 + { 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; // rct2: 0x0097DD78 -const ride_cost RideTrackCosts[RIDE_TYPE_COUNT] = { - { 70, 5 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER - { 100, 5 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER - { 95, 5 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - { 110, 5 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER - { 45, 4 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER - { 35, 6 }, // RIDE_TYPE_MINIATURE_RAILWAY - { 42, 5 }, // RIDE_TYPE_MONORAIL - { 60, 5 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER - { 55, 5 }, // RIDE_TYPE_BOAT_RIDE - { 50, 6 }, // RIDE_TYPE_WOODEN_WILD_MOUSE - { 57, 4 }, // RIDE_TYPE_STEEPLECHASE - { 25, 5 }, // RIDE_TYPE_CAR_RIDE - { 50, 0 }, // RIDE_TYPE_LAUNCHED_FREEFALL - { 80, 5 }, // RIDE_TYPE_BOBSLEIGH_COASTER - { 37, 0 }, // RIDE_TYPE_OBSERVATION_TOWER - { 90, 5 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER - { 40, 4 }, // RIDE_TYPE_DINGHY_SLIDE - { 82, 6 }, // RIDE_TYPE_MINE_TRAIN_COASTER - { 65, 1 }, // RIDE_TYPE_CHAIRLIFT - { 105, 5 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - { 55, 2 }, // RIDE_TYPE_MAZE - { 165, 2 }, // RIDE_TYPE_SPIRAL_SLIDE - { 62, 4 }, // RIDE_TYPE_GO_KARTS - { 45, 5 }, // RIDE_TYPE_LOG_FLUME - { 62, 6 }, // RIDE_TYPE_RIVER_RAPIDS - { 55, 2 }, // RIDE_TYPE_DODGEMS - { 155, 2 }, // RIDE_TYPE_PIRATE_SHIP - { 212, 2 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP - { 600, 0 }, // RIDE_TYPE_FOOD_STALL - { 700, 0 }, // RIDE_TYPE_1D - { 500, 0 }, // RIDE_TYPE_DRINK_STALL - { 600, 0 }, // RIDE_TYPE_1F - { 400, 0 }, // RIDE_TYPE_SHOP - { 115, 2 }, // RIDE_TYPE_MERRY_GO_ROUND - { 500, 0 }, // RIDE_TYPE_22 - { 500, 0 }, // RIDE_TYPE_INFORMATION_KIOSK - { 450, 0 }, // RIDE_TYPE_TOILETS - { 225, 2 }, // RIDE_TYPE_FERRIS_WHEEL - { 220, 2 }, // RIDE_TYPE_MOTION_SIMULATOR - { 140, 2 }, // RIDE_TYPE_3D_CINEMA - { 145, 2 }, // RIDE_TYPE_TOP_SPIN - { 72, 2 }, // RIDE_TYPE_SPACE_RINGS - { 200, 0 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER - { 39, 0 }, // RIDE_TYPE_LIFT - { 120, 5 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - { 400, 0 }, // RIDE_TYPE_CASH_MACHINE - { 90, 2 }, // RIDE_TYPE_TWIST - { 85, 2 }, // RIDE_TYPE_HAUNTED_HOUSE - { 500, 0 }, // RIDE_TYPE_FIRST_AID - { 125, 2 }, // RIDE_TYPE_CIRCUS_SHOW - { 26, 5 }, // RIDE_TYPE_GHOST_TRAIN - { 120, 5 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER - { 75, 7 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER - { 55, 6 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - { 55, 4 }, // RIDE_TYPE_WILD_MOUSE - { 180, 5 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - { 180, 5 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT - { 125, 5 }, // RIDE_TYPE_FLYING_ROLLER_COASTER - { 125, 5 }, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT - { 53, 6 }, // RIDE_TYPE_VIRGINIA_REEL - { 57, 5 }, // RIDE_TYPE_SPLASH_BOATS - { 25, 5 }, // RIDE_TYPE_MINI_HELICOPTERS - { 107, 5 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - { 65, 5 }, // RIDE_TYPE_SUSPENDED_MONORAIL - { 107, 5 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT - { 55, 6 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER - { 135, 7 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - { 50, 7 }, // RIDE_TYPE_MINI_GOLF - { 120, 5 }, // RIDE_TYPE_GIGA_COASTER - { 55, 0 }, // RIDE_TYPE_ROTO_DROP - { 70, 4 }, // RIDE_TYPE_FLYING_SAUCERS - { 65, 2 }, // RIDE_TYPE_CROOKED_HOUSE - { 20, 5 }, // RIDE_TYPE_MONORAIL_CYCLES - { 100, 5 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER - { 55, 4 }, // RIDE_TYPE_WATER_COASTER - { 200, 0 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - { 67, 4 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - { 198, 2 }, // RIDE_TYPE_MAGIC_CARPET - { 70, 0 }, // RIDE_TYPE_SUBMARINE_RIDE - { 40, 5 }, // RIDE_TYPE_RIVER_RAFTS - { 525, 0 }, // RIDE_TYPE_50 - { 100, 2 }, // RIDE_TYPE_ENTERPRISE - { 500, 0 }, // RIDE_TYPE_52 - { 520, 0 }, // RIDE_TYPE_53 - { 420, 0 }, // RIDE_TYPE_54 - { 105, 5 }, // RIDE_TYPE_55 - { 125, 5 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER - { 65, 4 }, // RIDE_TYPE_MINI_ROLLER_COASTER - { 85, 4 }, // RIDE_TYPE_MINE_RIDE - { 55, 4 }, // RIDE_TYPE_59 - { 95, 5 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER +const ride_cost RideTrackCosts[RIDE_TYPE_COUNT] = { + { 70, 5 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER + { 100, 5 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER + { 95, 5 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER + { 110, 5 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER + { 45, 4 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER + { 35, 6 }, // RIDE_TYPE_MINIATURE_RAILWAY + { 42, 5 }, // RIDE_TYPE_MONORAIL + { 60, 5 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER + { 55, 5 }, // RIDE_TYPE_BOAT_RIDE + { 50, 6 }, // RIDE_TYPE_WOODEN_WILD_MOUSE + { 57, 4 }, // RIDE_TYPE_STEEPLECHASE + { 25, 5 }, // RIDE_TYPE_CAR_RIDE + { 50, 0 }, // RIDE_TYPE_LAUNCHED_FREEFALL + { 80, 5 }, // RIDE_TYPE_BOBSLEIGH_COASTER + { 37, 0 }, // RIDE_TYPE_OBSERVATION_TOWER + { 90, 5 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER + { 40, 4 }, // RIDE_TYPE_DINGHY_SLIDE + { 82, 6 }, // RIDE_TYPE_MINE_TRAIN_COASTER + { 65, 1 }, // RIDE_TYPE_CHAIRLIFT + { 105, 5 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER + { 55, 2 }, // RIDE_TYPE_MAZE + { 165, 2 }, // RIDE_TYPE_SPIRAL_SLIDE + { 62, 4 }, // RIDE_TYPE_GO_KARTS + { 45, 5 }, // RIDE_TYPE_LOG_FLUME + { 62, 6 }, // RIDE_TYPE_RIVER_RAPIDS + { 55, 2 }, // RIDE_TYPE_DODGEMS + { 155, 2 }, // RIDE_TYPE_PIRATE_SHIP + { 212, 2 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP + { 600, 0 }, // RIDE_TYPE_FOOD_STALL + { 700, 0 }, // RIDE_TYPE_1D + { 500, 0 }, // RIDE_TYPE_DRINK_STALL + { 600, 0 }, // RIDE_TYPE_1F + { 400, 0 }, // RIDE_TYPE_SHOP + { 115, 2 }, // RIDE_TYPE_MERRY_GO_ROUND + { 500, 0 }, // RIDE_TYPE_22 + { 500, 0 }, // RIDE_TYPE_INFORMATION_KIOSK + { 450, 0 }, // RIDE_TYPE_TOILETS + { 225, 2 }, // RIDE_TYPE_FERRIS_WHEEL + { 220, 2 }, // RIDE_TYPE_MOTION_SIMULATOR + { 140, 2 }, // RIDE_TYPE_3D_CINEMA + { 145, 2 }, // RIDE_TYPE_TOP_SPIN + { 72, 2 }, // RIDE_TYPE_SPACE_RINGS + { 200, 0 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER + { 39, 0 }, // RIDE_TYPE_LIFT + { 120, 5 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER + { 400, 0 }, // RIDE_TYPE_CASH_MACHINE + { 90, 2 }, // RIDE_TYPE_TWIST + { 85, 2 }, // RIDE_TYPE_HAUNTED_HOUSE + { 500, 0 }, // RIDE_TYPE_FIRST_AID + { 125, 2 }, // RIDE_TYPE_CIRCUS_SHOW + { 26, 5 }, // RIDE_TYPE_GHOST_TRAIN + { 120, 5 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER + { 75, 7 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER + { 55, 6 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER + { 55, 4 }, // RIDE_TYPE_WILD_MOUSE + { 180, 5 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER + { 180, 5 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT + { 125, 5 }, // RIDE_TYPE_FLYING_ROLLER_COASTER + { 125, 5 }, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT + { 53, 6 }, // RIDE_TYPE_VIRGINIA_REEL + { 57, 5 }, // RIDE_TYPE_SPLASH_BOATS + { 25, 5 }, // RIDE_TYPE_MINI_HELICOPTERS + { 107, 5 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER + { 65, 5 }, // RIDE_TYPE_SUSPENDED_MONORAIL + { 107, 5 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT + { 55, 6 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER + { 135, 7 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER + { 50, 7 }, // RIDE_TYPE_MINI_GOLF + { 120, 5 }, // RIDE_TYPE_GIGA_COASTER + { 55, 0 }, // RIDE_TYPE_ROTO_DROP + { 70, 4 }, // RIDE_TYPE_FLYING_SAUCERS + { 65, 2 }, // RIDE_TYPE_CROOKED_HOUSE + { 20, 5 }, // RIDE_TYPE_MONORAIL_CYCLES + { 100, 5 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER + { 55, 4 }, // RIDE_TYPE_WATER_COASTER + { 200, 0 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + { 67, 4 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER + { 198, 2 }, // RIDE_TYPE_MAGIC_CARPET + { 70, 0 }, // RIDE_TYPE_SUBMARINE_RIDE + { 40, 5 }, // RIDE_TYPE_RIVER_RAFTS + { 525, 0 }, // RIDE_TYPE_50 + { 100, 2 }, // RIDE_TYPE_ENTERPRISE + { 500, 0 }, // RIDE_TYPE_52 + { 520, 0 }, // RIDE_TYPE_53 + { 420, 0 }, // RIDE_TYPE_54 + { 105, 5 }, // RIDE_TYPE_55 + { 125, 5 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER + { 65, 4 }, // RIDE_TYPE_MINI_ROLLER_COASTER + { 85, 4 }, // RIDE_TYPE_MINE_RIDE + { 55, 4 }, // RIDE_TYPE_59 + { 95, 5 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; // 0x0097D218 const rct_ride_data_5 RideData5[RIDE_TYPE_COUNT] = { - { 19, 24, 9, 31, 11, 50, 85, 0 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER - { 25, 24, 9, 18, 11, 50, 90, 0 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER - { 24, 40, 29, 26, 8, 50, 90, 0 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - { 38, 40, 29, 27, 8, 50, 100, 0 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER - { 15, 24, 4, 10, 7, 40, 60, 0 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER - { 7, 32, 5, 39, 9, 50, 50, 0 }, // RIDE_TYPE_MINIATURE_RAILWAY - { 8, 32, 8, 78, 9, 50, 60, 0 }, // RIDE_TYPE_MONORAIL - { 10, 24, 24, 3, 8, 40, 50, 0 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER - { 255, 16, 0, 255, 3, 5, 40, 0 }, // RIDE_TYPE_BOAT_RIDE - { 14, 24, 4, 4, 7, 40, 55, 0 }, // RIDE_TYPE_WOODEN_WILD_MOUSE - { 14, 24, 7, 4, 7, 40, 60, 0 }, // RIDE_TYPE_STEEPLECHASE - { 6, 24, 4, 2, 7, 30, 50, 0 }, // RIDE_TYPE_CAR_RIDE - { 255, 32, 3, 15, 2, 4, 65, 0 }, // RIDE_TYPE_LAUNCHED_FREEFALL - { 19, 24, 5, 25, 7, 45, 75, 0 }, // RIDE_TYPE_BOBSLEIGH_COASTER - { 255, 32, 3, 15, 2, 4, 45, 0 }, // RIDE_TYPE_OBSERVATION_TOWER - { 35, 24, 5, 18, 7, 50, 95, 0 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER - { 15, 24, 5, 5, 7, 40, 55, 0 }, // RIDE_TYPE_DINGHY_SLIDE - { 21, 24, 4, 15, 7, 50, 85, 0 }, // RIDE_TYPE_MINE_TRAIN_COASTER - { 40, 32, 28, 18, 2, 30, 55, 0 }, // RIDE_TYPE_CHAIRLIFT - { 28, 24, 8, 18, 11, 50, 100, 0 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - { 6, 24, 0, 18, 1, 8, 40, 0 }, // RIDE_TYPE_MAZE - { 15, 128, 0, 255, 2, 1, 40, 0 }, // RIDE_TYPE_SPIRAL_SLIDE - { 7, 24, 2, 255, 1, 20, 55, 0 }, // RIDE_TYPE_GO_KARTS - { 9, 24, 7, 255, 9, 40, 65, 0 }, // RIDE_TYPE_LOG_FLUME - { 9, 32, 14, 255, 15, 40, 70, 0 }, // RIDE_TYPE_RIVER_RAPIDS - { 9, 48, 2, 255, 2, 1, 35, 0 }, // RIDE_TYPE_DODGEMS - { 12, 112, 7, 255, 11, 1, 35, 0 }, // RIDE_TYPE_PIRATE_SHIP - { 15, 176, 7, 255, 11, 1, 35, 0 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP - { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_FOOD_STALL - { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_1D - { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_DRINK_STALL - { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_1F - { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_SHOP - { 12, 64, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_MERRY_GO_ROUND - { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_22 - { 12, 48, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_INFORMATION_KIOSK - { 12, 32, 0, 255, 0, 1, 5, 0 }, // RIDE_TYPE_TOILETS - { 16, 176, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_FERRIS_WHEEL - { 12, 64, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_MOTION_SIMULATOR - { 12, 128, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_3D_CINEMA - { 16, 112, 3, 255, 2, 1, 55, 0 }, // RIDE_TYPE_TOP_SPIN - { 16, 48, 3, 255, 2, 1, 30, 0 }, // RIDE_TYPE_SPACE_RINGS - { 255, 32, 4, 255, 7, 45, 70, 0 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER - { 255, 32, 3, 15, 2, 4, 45, 0 }, // RIDE_TYPE_LIFT - { 53, 24, 8, 25, 11, 42, 95, 0 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - { 12, 32, 0, 255, 0, 1, 5, 0 }, // RIDE_TYPE_CASH_MACHINE - { 12, 64, 3, 255, 2, 1, 40, 0 }, // RIDE_TYPE_TWIST - { 16, 160, 3, 255, 2, 1, 22, 0 }, // RIDE_TYPE_HAUNTED_HOUSE - { 12, 48, 0, 255, 0, 1, 5, 0 }, // RIDE_TYPE_FIRST_AID - { 12, 128, 3, 255, 2, 1, 39, 0 }, // RIDE_TYPE_CIRCUS_SHOW - { 8, 24, 6, 2, 7, 30, 50, 0 }, // RIDE_TYPE_GHOST_TRAIN - { 54, 24, 8, 31, 9, 55, 120, 0 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER - { 41, 24, 8, 15, 11, 50, 105, 0 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER - { 15, 24, 4, 15, 11, 37, 65, 0 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - { 16, 24, 4, 4, 7, 40, 55, 0 }, // RIDE_TYPE_WILD_MOUSE - { 40, 24, 8, 78, 11, 50, 100, 0 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - { 40, 24, 8, 78, 11, 50, 100, 0 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT - { 30, 24, 8, 35, 11, 50, 100, 0 }, // RIDE_TYPE_FLYING_ROLLER_COASTER - { 30, 24, 8, 35, 11, 50, 100, 0 }, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT - { 14, 24, 6, 15, 7, 25, 50, 0 }, // RIDE_TYPE_VIRGINIA_REEL - { 16, 24, 7, 255, 11, 30, 65, 0 }, // RIDE_TYPE_SPLASH_BOATS - { 7, 24, 4, 2, 7, 30, 45, 0 }, // RIDE_TYPE_MINI_HELICOPTERS - { 26, 24, 8, 25, 11, 50, 100, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - { 12, 40, 32, 78, 8, 50, 60, 0 }, // RIDE_TYPE_SUSPENDED_MONORAIL - { 26, 24, 8, 25, 11, 50, 100, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT - { 18, 24, 8, 15, 11, 37, 65, 0 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER - { 22, 24, 15, 18, 9, 30, 35, 0 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - { 7, 32, 2, 255, 2, 20, 23, 0 }, // RIDE_TYPE_MINI_GOLF - { 86, 24, 9, 31, 11, 55, 120, 0 }, // RIDE_TYPE_GIGA_COASTER - { 255, 32, 3, 15, 2, 4, 45, 0 }, // RIDE_TYPE_ROTO_DROP - { 9, 48, 2, 255, 2, 1, 35, 0 }, // RIDE_TYPE_FLYING_SAUCERS - { 16, 96, 3, 255, 2, 1, 22, 0 }, // RIDE_TYPE_CROOKED_HOUSE - { 5, 24, 8, 2, 7, 30, 45, 0 }, // RIDE_TYPE_MONORAIL_CYCLES - { 27, 40, 29, 18, 8, 50, 80, 0 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER - { 18, 24, 4, 13, 7, 40, 60, 0 }, // RIDE_TYPE_WATER_COASTER - { 255, 32, 4, 255, 7, 45, 70, 0 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - { 16, 24, 24, 4, 7, 40, 55, 0 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - { 15, 176, 7, 255, 11, 1, 35, 0 }, // RIDE_TYPE_MAGIC_CARPET - { 255, 16, 0, 255, 3, 5, 40, 0 }, // RIDE_TYPE_SUBMARINE_RIDE - { 12, 24, 7, 255, 11, 30, 65, 0 }, // RIDE_TYPE_RIVER_RAFTS - { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_50 - { 16, 160, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_ENTERPRISE - { 12, 48, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_52 - { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_53 - { 12, 48, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_54 - { 44, 24, 8, 18, 11, 50, 100, 0 }, // RIDE_TYPE_55 - { 45, 40, 29, 23, 8, 25, 75, 0 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER - { 16, 24, 9, 10, 11, 40, 60, 0 }, // RIDE_TYPE_MINI_ROLLER_COASTER - { 13, 24, 9, 27, 11, 40, 70, 0 }, // RIDE_TYPE_MINE_RIDE - { 16, 24, 4, 4, 7, 40, 55, 0 }, // RIDE_TYPE_59 - { 35, 24, 5, 18, 7, 50, 95, 0 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER + { 19, 24, 9, 31, 11, 50, 85, 0 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER + { 25, 24, 9, 18, 11, 50, 90, 0 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER + { 24, 40, 29, 26, 8, 50, 90, 0 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER + { 38, 40, 29, 27, 8, 50, 100, 0 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER + { 15, 24, 4, 10, 7, 40, 60, 0 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER + { 7, 32, 5, 39, 9, 50, 50, 0 }, // RIDE_TYPE_MINIATURE_RAILWAY + { 8, 32, 8, 78, 9, 50, 60, 0 }, // RIDE_TYPE_MONORAIL + { 10, 24, 24, 3, 8, 40, 50, 0 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER + { 255, 16, 0, 255, 3, 5, 40, 0 }, // RIDE_TYPE_BOAT_RIDE + { 14, 24, 4, 4, 7, 40, 55, 0 }, // RIDE_TYPE_WOODEN_WILD_MOUSE + { 14, 24, 7, 4, 7, 40, 60, 0 }, // RIDE_TYPE_STEEPLECHASE + { 6, 24, 4, 2, 7, 30, 50, 0 }, // RIDE_TYPE_CAR_RIDE + { 255, 32, 3, 15, 2, 4, 65, 0 }, // RIDE_TYPE_LAUNCHED_FREEFALL + { 19, 24, 5, 25, 7, 45, 75, 0 }, // RIDE_TYPE_BOBSLEIGH_COASTER + { 255, 32, 3, 15, 2, 4, 45, 0 }, // RIDE_TYPE_OBSERVATION_TOWER + { 35, 24, 5, 18, 7, 50, 95, 0 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER + { 15, 24, 5, 5, 7, 40, 55, 0 }, // RIDE_TYPE_DINGHY_SLIDE + { 21, 24, 4, 15, 7, 50, 85, 0 }, // RIDE_TYPE_MINE_TRAIN_COASTER + { 40, 32, 28, 18, 2, 30, 55, 0 }, // RIDE_TYPE_CHAIRLIFT + { 28, 24, 8, 18, 11, 50, 100, 0 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER + { 6, 24, 0, 18, 1, 8, 40, 0 }, // RIDE_TYPE_MAZE + { 15, 128, 0, 255, 2, 1, 40, 0 }, // RIDE_TYPE_SPIRAL_SLIDE + { 7, 24, 2, 255, 1, 20, 55, 0 }, // RIDE_TYPE_GO_KARTS + { 9, 24, 7, 255, 9, 40, 65, 0 }, // RIDE_TYPE_LOG_FLUME + { 9, 32, 14, 255, 15, 40, 70, 0 }, // RIDE_TYPE_RIVER_RAPIDS + { 9, 48, 2, 255, 2, 1, 35, 0 }, // RIDE_TYPE_DODGEMS + { 12, 112, 7, 255, 11, 1, 35, 0 }, // RIDE_TYPE_PIRATE_SHIP + { 15, 176, 7, 255, 11, 1, 35, 0 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP + { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_FOOD_STALL + { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_1D + { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_DRINK_STALL + { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_1F + { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_SHOP + { 12, 64, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_MERRY_GO_ROUND + { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_22 + { 12, 48, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_INFORMATION_KIOSK + { 12, 32, 0, 255, 0, 1, 5, 0 }, // RIDE_TYPE_TOILETS + { 16, 176, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_FERRIS_WHEEL + { 12, 64, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_MOTION_SIMULATOR + { 12, 128, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_3D_CINEMA + { 16, 112, 3, 255, 2, 1, 55, 0 }, // RIDE_TYPE_TOP_SPIN + { 16, 48, 3, 255, 2, 1, 30, 0 }, // RIDE_TYPE_SPACE_RINGS + { 255, 32, 4, 255, 7, 45, 70, 0 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER + { 255, 32, 3, 15, 2, 4, 45, 0 }, // RIDE_TYPE_LIFT + { 53, 24, 8, 25, 11, 42, 95, 0 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER + { 12, 32, 0, 255, 0, 1, 5, 0 }, // RIDE_TYPE_CASH_MACHINE + { 12, 64, 3, 255, 2, 1, 40, 0 }, // RIDE_TYPE_TWIST + { 16, 160, 3, 255, 2, 1, 22, 0 }, // RIDE_TYPE_HAUNTED_HOUSE + { 12, 48, 0, 255, 0, 1, 5, 0 }, // RIDE_TYPE_FIRST_AID + { 12, 128, 3, 255, 2, 1, 39, 0 }, // RIDE_TYPE_CIRCUS_SHOW + { 8, 24, 6, 2, 7, 30, 50, 0 }, // RIDE_TYPE_GHOST_TRAIN + { 54, 24, 8, 31, 9, 55, 120, 0 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER + { 41, 24, 8, 15, 11, 50, 105, 0 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER + { 15, 24, 4, 15, 11, 37, 65, 0 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER + { 16, 24, 4, 4, 7, 40, 55, 0 }, // RIDE_TYPE_WILD_MOUSE + { 40, 24, 8, 78, 11, 50, 100, 0 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER + { 40, 24, 8, 78, 11, 50, 100, 0 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT + { 30, 24, 8, 35, 11, 50, 100, 0 }, // RIDE_TYPE_FLYING_ROLLER_COASTER + { 30, 24, 8, 35, 11, 50, 100, 0 }, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT + { 14, 24, 6, 15, 7, 25, 50, 0 }, // RIDE_TYPE_VIRGINIA_REEL + { 16, 24, 7, 255, 11, 30, 65, 0 }, // RIDE_TYPE_SPLASH_BOATS + { 7, 24, 4, 2, 7, 30, 45, 0 }, // RIDE_TYPE_MINI_HELICOPTERS + { 26, 24, 8, 25, 11, 50, 100, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER + { 12, 40, 32, 78, 8, 50, 60, 0 }, // RIDE_TYPE_SUSPENDED_MONORAIL + { 26, 24, 8, 25, 11, 50, 100, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT + { 18, 24, 8, 15, 11, 37, 65, 0 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER + { 22, 24, 15, 18, 9, 30, 35, 0 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER + { 7, 32, 2, 255, 2, 20, 23, 0 }, // RIDE_TYPE_MINI_GOLF + { 86, 24, 9, 31, 11, 55, 120, 0 }, // RIDE_TYPE_GIGA_COASTER + { 255, 32, 3, 15, 2, 4, 45, 0 }, // RIDE_TYPE_ROTO_DROP + { 9, 48, 2, 255, 2, 1, 35, 0 }, // RIDE_TYPE_FLYING_SAUCERS + { 16, 96, 3, 255, 2, 1, 22, 0 }, // RIDE_TYPE_CROOKED_HOUSE + { 5, 24, 8, 2, 7, 30, 45, 0 }, // RIDE_TYPE_MONORAIL_CYCLES + { 27, 40, 29, 18, 8, 50, 80, 0 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER + { 18, 24, 4, 13, 7, 40, 60, 0 }, // RIDE_TYPE_WATER_COASTER + { 255, 32, 4, 255, 7, 45, 70, 0 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + { 16, 24, 24, 4, 7, 40, 55, 0 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER + { 15, 176, 7, 255, 11, 1, 35, 0 }, // RIDE_TYPE_MAGIC_CARPET + { 255, 16, 0, 255, 3, 5, 40, 0 }, // RIDE_TYPE_SUBMARINE_RIDE + { 12, 24, 7, 255, 11, 30, 65, 0 }, // RIDE_TYPE_RIVER_RAFTS + { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_50 + { 16, 160, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_ENTERPRISE + { 12, 48, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_52 + { 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_53 + { 12, 48, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_54 + { 44, 24, 8, 18, 11, 50, 100, 0 }, // RIDE_TYPE_55 + { 45, 40, 29, 23, 8, 25, 75, 0 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER + { 16, 24, 9, 10, 11, 40, 60, 0 }, // RIDE_TYPE_MINI_ROLLER_COASTER + { 13, 24, 9, 27, 11, 40, 70, 0 }, // RIDE_TYPE_MINE_RIDE + { 16, 24, 4, 4, 7, 40, 55, 0 }, // RIDE_TYPE_59 + { 35, 24, 5, 18, 7, 50, 95, 0 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; // rct2: 0x00982358 const money8 DefaultShopItemPrice[SHOP_ITEM_COUNT] = { - MONEY(0,90), // SHOP_ITEM_BALLOON - MONEY(2,50), // SHOP_ITEM_TOY - MONEY(0,60), // SHOP_ITEM_MAP - MONEY(0,00), // SHOP_ITEM_PHOTO - MONEY(2,50), // SHOP_ITEM_UMBRELLA - MONEY(1,20), // SHOP_ITEM_DRINK - MONEY(1,50), // SHOP_ITEM_BURGER - MONEY(1,50), // SHOP_ITEM_CHIPS - MONEY(0,90), // SHOP_ITEM_ICE_CREAM - MONEY(0,80), // SHOP_ITEM_CANDYFLOSS - MONEY(0,00), // SHOP_ITEM_EMPTY_CAN - MONEY(0,00), // SHOP_ITEM_RUBBISH - MONEY(0,00), // SHOP_ITEM_EMPTY_BURGER_BOX - MONEY(1,60), // SHOP_ITEM_PIZZA - MONEY(0,00), // SHOP_ITEM_VOUCHER - MONEY(1,20), // SHOP_ITEM_POPCORN - MONEY(1,00), // SHOP_ITEM_HOT_DOG - MONEY(1,50), // SHOP_ITEM_TENTACLE - MONEY(1,50), // SHOP_ITEM_HAT - MONEY(0,70), // SHOP_ITEM_CANDY_APPLE - MONEY(3,00), // SHOP_ITEM_TSHIRT - MONEY(0,70), // SHOP_ITEM_DONUT - MONEY(1,20), // SHOP_ITEM_COFFEE - MONEY(0,00), // SHOP_ITEM_EMPTY_CUP - MONEY(1,50), // SHOP_ITEM_CHICKEN - MONEY(1,20), // SHOP_ITEM_LEMONADE - MONEY(0,00), // SHOP_ITEM_EMPTY_BOX - MONEY(0,00), // SHOP_ITEM_EMPTY_BOTTLE - MONEY(0,00), // 28 - MONEY(0,00), // 29 - MONEY(0,00), // 30 - MONEY(0,00), // 31 - MONEY(0,00), // SHOP_ITEM_PHOTO2 - MONEY(0,00), // SHOP_ITEM_PHOTO3 - MONEY(0,00), // SHOP_ITEM_PHOTO4 - MONEY(1,10), // SHOP_ITEM_PRETZEL - MONEY(1,20), // SHOP_ITEM_CHOCOLATE - MONEY(1,10), // SHOP_ITEM_ICED_TEA - MONEY(1,20), // SHOP_ITEM_FUNNEL_CAKE - MONEY(1,50), // SHOP_ITEM_SUNGLASSES - MONEY(1,50), // SHOP_ITEM_BEEF_NOODLES - MONEY(1,50), // SHOP_ITEM_FRIED_RICE_NOODLES - MONEY(1,50), // SHOP_ITEM_WONTON_SOUP - MONEY(1,50), // SHOP_ITEM_MEATBALL_SOUP - MONEY(1,20), // SHOP_ITEM_FRUIT_JUICE - MONEY(1,20), // SHOP_ITEM_SOYBEAN_MILK - MONEY(1,20), // SHOP_ITEM_SU_JONGKWA - MONEY(1,50), // SHOP_ITEM_SUB_SANDWICH - MONEY(0,70), // SHOP_ITEM_COOKIE - MONEY(0,00), // SHOP_ITEM_EMPTY_BOWL_RED - MONEY(0,00), // SHOP_ITEM_EMPTY_DRINK_CARTON - MONEY(0,00), // SHOP_ITEM_EMPTY_JUICE_CUP - MONEY(1,50), // SHOP_ITEM_ROAST_SAUSAGE - MONEY(0,00), // SHOP_ITEM_EMPTY_BOWL_BLUE - MONEY(0,00), // 54 - MONEY(0,00), // 55 + MONEY(0,90), // SHOP_ITEM_BALLOON + MONEY(2,50), // SHOP_ITEM_TOY + MONEY(0,60), // SHOP_ITEM_MAP + MONEY(0,00), // SHOP_ITEM_PHOTO + MONEY(2,50), // SHOP_ITEM_UMBRELLA + MONEY(1,20), // SHOP_ITEM_DRINK + MONEY(1,50), // SHOP_ITEM_BURGER + MONEY(1,50), // SHOP_ITEM_CHIPS + MONEY(0,90), // SHOP_ITEM_ICE_CREAM + MONEY(0,80), // SHOP_ITEM_CANDYFLOSS + MONEY(0,00), // SHOP_ITEM_EMPTY_CAN + MONEY(0,00), // SHOP_ITEM_RUBBISH + MONEY(0,00), // SHOP_ITEM_EMPTY_BURGER_BOX + MONEY(1,60), // SHOP_ITEM_PIZZA + MONEY(0,00), // SHOP_ITEM_VOUCHER + MONEY(1,20), // SHOP_ITEM_POPCORN + MONEY(1,00), // SHOP_ITEM_HOT_DOG + MONEY(1,50), // SHOP_ITEM_TENTACLE + MONEY(1,50), // SHOP_ITEM_HAT + MONEY(0,70), // SHOP_ITEM_CANDY_APPLE + MONEY(3,00), // SHOP_ITEM_TSHIRT + MONEY(0,70), // SHOP_ITEM_DONUT + MONEY(1,20), // SHOP_ITEM_COFFEE + MONEY(0,00), // SHOP_ITEM_EMPTY_CUP + MONEY(1,50), // SHOP_ITEM_CHICKEN + MONEY(1,20), // SHOP_ITEM_LEMONADE + MONEY(0,00), // SHOP_ITEM_EMPTY_BOX + MONEY(0,00), // SHOP_ITEM_EMPTY_BOTTLE + MONEY(0,00), // 28 + MONEY(0,00), // 29 + MONEY(0,00), // 30 + MONEY(0,00), // 31 + MONEY(0,00), // SHOP_ITEM_PHOTO2 + MONEY(0,00), // SHOP_ITEM_PHOTO3 + MONEY(0,00), // SHOP_ITEM_PHOTO4 + MONEY(1,10), // SHOP_ITEM_PRETZEL + MONEY(1,20), // SHOP_ITEM_CHOCOLATE + MONEY(1,10), // SHOP_ITEM_ICED_TEA + MONEY(1,20), // SHOP_ITEM_FUNNEL_CAKE + MONEY(1,50), // SHOP_ITEM_SUNGLASSES + MONEY(1,50), // SHOP_ITEM_BEEF_NOODLES + MONEY(1,50), // SHOP_ITEM_FRIED_RICE_NOODLES + MONEY(1,50), // SHOP_ITEM_WONTON_SOUP + MONEY(1,50), // SHOP_ITEM_MEATBALL_SOUP + MONEY(1,20), // SHOP_ITEM_FRUIT_JUICE + MONEY(1,20), // SHOP_ITEM_SOYBEAN_MILK + MONEY(1,20), // SHOP_ITEM_SU_JONGKWA + MONEY(1,50), // SHOP_ITEM_SUB_SANDWICH + MONEY(0,70), // SHOP_ITEM_COOKIE + MONEY(0,00), // SHOP_ITEM_EMPTY_BOWL_RED + MONEY(0,00), // SHOP_ITEM_EMPTY_DRINK_CARTON + MONEY(0,00), // SHOP_ITEM_EMPTY_JUICE_CUP + MONEY(1,50), // SHOP_ITEM_ROAST_SAUSAGE + MONEY(0,00), // SHOP_ITEM_EMPTY_BOWL_BLUE + MONEY(0,00), // 54 + MONEY(0,00), // 55 }; const rct_shop_item_string_types ShopItemStringIds[SHOP_ITEM_COUNT] = { - { STR_SHOP_ITEM_PRICE_LABEL_BALLOON, STR_SHOP_ITEM_SINGULAR_BALLOON, STR_SHOP_ITEM_PLURAL_BALLOON, STR_SHOP_ITEM_INDEFINITE_BALLOON, STR_SHOP_ITEM_DISPLAY_BALLOON }, - { STR_SHOP_ITEM_PRICE_LABEL_CUDDLY_TOY, STR_SHOP_ITEM_SINGULAR_CUDDLY_TOY, STR_SHOP_ITEM_PLURAL_CUDDLY_TOY, STR_SHOP_ITEM_INDEFINITE_CUDDLY_TOY, STR_SHOP_ITEM_DISPLAY_CUDDLY_TOY }, - { STR_SHOP_ITEM_PRICE_LABEL_PARK_MAP, STR_SHOP_ITEM_SINGULAR_PARK_MAP, STR_SHOP_ITEM_PLURAL_PARK_MAP, STR_SHOP_ITEM_INDEFINITE_PARK_MAP, STR_SHOP_ITEM_DISPLAY_PARK_MAP }, - { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, - { STR_SHOP_ITEM_PRICE_LABEL_UMBRELLA, STR_SHOP_ITEM_SINGULAR_UMBRELLA, STR_SHOP_ITEM_PLURAL_UMBRELLA, STR_SHOP_ITEM_INDEFINITE_UMBRELLA, STR_SHOP_ITEM_DISPLAY_UMBRELLA }, - { STR_SHOP_ITEM_PRICE_LABEL_DRINK, STR_SHOP_ITEM_SINGULAR_DRINK, STR_SHOP_ITEM_PLURAL_DRINK, STR_SHOP_ITEM_INDEFINITE_DRINK, STR_SHOP_ITEM_DISPLAY_DRINK }, - { STR_SHOP_ITEM_PRICE_LABEL_BURGER, STR_SHOP_ITEM_SINGULAR_BURGER, STR_SHOP_ITEM_PLURAL_BURGER, STR_SHOP_ITEM_INDEFINITE_BURGER, STR_SHOP_ITEM_DISPLAY_BURGER }, - { STR_SHOP_ITEM_PRICE_LABEL_CHIPS, STR_SHOP_ITEM_SINGULAR_CHIPS, STR_SHOP_ITEM_PLURAL_CHIPS, STR_SHOP_ITEM_INDEFINITE_CHIPS, STR_SHOP_ITEM_DISPLAY_CHIPS }, - { STR_SHOP_ITEM_PRICE_LABEL_ICE_CREAM, STR_SHOP_ITEM_SINGULAR_ICE_CREAM, STR_SHOP_ITEM_PLURAL_ICE_CREAM, STR_SHOP_ITEM_INDEFINITE_ICE_CREAM, STR_SHOP_ITEM_DISPLAY_ICE_CREAM }, - { STR_SHOP_ITEM_PRICE_LABEL_CANDYFLOSS, STR_SHOP_ITEM_SINGULAR_CANDYFLOSS, STR_SHOP_ITEM_PLURAL_CANDYFLOSS, STR_SHOP_ITEM_INDEFINITE_CANDYFLOSS, STR_SHOP_ITEM_DISPLAY_CANDYFLOSS }, - { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CAN, STR_SHOP_ITEM_SINGULAR_EMPTY_CAN, STR_SHOP_ITEM_PLURAL_EMPTY_CAN, STR_SHOP_ITEM_INDEFINITE_EMPTY_CAN, STR_SHOP_ITEM_DISPLAY_EMPTY_CAN }, - { STR_SHOP_ITEM_PRICE_LABEL_RUBBISH, STR_SHOP_ITEM_SINGULAR_RUBBISH, STR_SHOP_ITEM_PLURAL_RUBBISH, STR_SHOP_ITEM_INDEFINITE_RUBBISH, STR_SHOP_ITEM_DISPLAY_RUBBISH }, - { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BURGER_BOX, STR_SHOP_ITEM_SINGULAR_EMPTY_BURGER_BOX, STR_SHOP_ITEM_PLURAL_EMPTY_BURGER_BOX, STR_SHOP_ITEM_INDEFINITE_EMPTY_BURGER_BOX, STR_SHOP_ITEM_DISPLAY_EMPTY_BURGER_BOX }, - { STR_SHOP_ITEM_PRICE_LABEL_PIZZA, STR_SHOP_ITEM_SINGULAR_PIZZA, STR_SHOP_ITEM_PLURAL_PIZZA, STR_SHOP_ITEM_INDEFINITE_PIZZA, STR_SHOP_ITEM_DISPLAY_PIZZA }, - { STR_SHOP_ITEM_PRICE_LABEL_VOUCHER, STR_SHOP_ITEM_SINGULAR_VOUCHER, STR_SHOP_ITEM_PLURAL_VOUCHER, STR_SHOP_ITEM_INDEFINITE_VOUCHER, STR_SHOP_ITEM_DISPLAY_VOUCHER }, - { STR_SHOP_ITEM_PRICE_LABEL_POPCORN, STR_SHOP_ITEM_SINGULAR_POPCORN, STR_SHOP_ITEM_PLURAL_POPCORN, STR_SHOP_ITEM_INDEFINITE_POPCORN, STR_SHOP_ITEM_DISPLAY_POPCORN }, - { STR_SHOP_ITEM_PRICE_LABEL_HOT_DOG, STR_SHOP_ITEM_SINGULAR_HOT_DOG, STR_SHOP_ITEM_PLURAL_HOT_DOG, STR_SHOP_ITEM_INDEFINITE_HOT_DOG, STR_SHOP_ITEM_DISPLAY_HOT_DOG }, - { STR_SHOP_ITEM_PRICE_LABEL_TENTACLE, STR_SHOP_ITEM_SINGULAR_TENTACLE, STR_SHOP_ITEM_PLURAL_TENTACLE, STR_SHOP_ITEM_INDEFINITE_TENTACLE, STR_SHOP_ITEM_DISPLAY_TENTACLE }, - { STR_SHOP_ITEM_PRICE_LABEL_HAT, STR_SHOP_ITEM_SINGULAR_HAT, STR_SHOP_ITEM_PLURAL_HAT, STR_SHOP_ITEM_INDEFINITE_HAT, STR_SHOP_ITEM_DISPLAY_HAT }, - { STR_SHOP_ITEM_PRICE_LABEL_TOFFEE_APPLE, STR_SHOP_ITEM_SINGULAR_TOFFEE_APPLE, STR_SHOP_ITEM_PLURAL_TOFFEE_APPLE, STR_SHOP_ITEM_INDEFINITE_TOFFEE_APPLE, STR_SHOP_ITEM_DISPLAY_TOFFEE_APPLE }, - { STR_SHOP_ITEM_PRICE_LABEL_T_SHIRT, STR_SHOP_ITEM_SINGULAR_T_SHIRT, STR_SHOP_ITEM_PLURAL_T_SHIRT, STR_SHOP_ITEM_INDEFINITE_T_SHIRT, STR_SHOP_ITEM_DISPLAY_T_SHIRT }, - { STR_SHOP_ITEM_PRICE_LABEL_DOUGHNUT, STR_SHOP_ITEM_SINGULAR_DOUGHNUT, STR_SHOP_ITEM_PLURAL_DOUGHNUT, STR_SHOP_ITEM_INDEFINITE_DOUGHNUT, STR_SHOP_ITEM_DISPLAY_DOUGHNUT }, - { STR_SHOP_ITEM_PRICE_LABEL_COFFEE, STR_SHOP_ITEM_SINGULAR_COFFEE, STR_SHOP_ITEM_PLURAL_COFFEE, STR_SHOP_ITEM_INDEFINITE_COFFEE, STR_SHOP_ITEM_DISPLAY_COFFEE }, - { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CUP, STR_SHOP_ITEM_SINGULAR_EMPTY_CUP, STR_SHOP_ITEM_PLURAL_EMPTY_CUP, STR_SHOP_ITEM_INDEFINITE_EMPTY_CUP, STR_SHOP_ITEM_DISPLAY_EMPTY_CUP }, - { STR_SHOP_ITEM_PRICE_LABEL_FRIED_CHICKEN, STR_SHOP_ITEM_SINGULAR_FRIED_CHICKEN, STR_SHOP_ITEM_PLURAL_FRIED_CHICKEN, STR_SHOP_ITEM_INDEFINITE_FRIED_CHICKEN, STR_SHOP_ITEM_DISPLAY_FRIED_CHICKEN }, - { STR_SHOP_ITEM_PRICE_LABEL_LEMONADE, STR_SHOP_ITEM_SINGULAR_LEMONADE, STR_SHOP_ITEM_PLURAL_LEMONADE, STR_SHOP_ITEM_INDEFINITE_LEMONADE, STR_SHOP_ITEM_DISPLAY_LEMONADE }, - { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOX, STR_SHOP_ITEM_SINGULAR_EMPTY_BOX, STR_SHOP_ITEM_PLURAL_EMPTY_BOX, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOX, STR_SHOP_ITEM_DISPLAY_EMPTY_BOX }, - { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOTTLE, STR_SHOP_ITEM_SINGULAR_EMPTY_BOTTLE, STR_SHOP_ITEM_PLURAL_EMPTY_BOTTLE, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOTTLE, STR_SHOP_ITEM_DISPLAY_EMPTY_BOTTLE }, - { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, - { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, - { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, - { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, - { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, - { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, - { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, - { STR_SHOP_ITEM_PRICE_LABEL_PRETZEL, STR_SHOP_ITEM_SINGULAR_PRETZEL, STR_SHOP_ITEM_PLURAL_PRETZEL, STR_SHOP_ITEM_INDEFINITE_PRETZEL, STR_SHOP_ITEM_DISPLAY_PRETZEL }, - { STR_SHOP_ITEM_PRICE_LABEL_HOT_CHOCOLATE, STR_SHOP_ITEM_SINGULAR_HOT_CHOCOLATE, STR_SHOP_ITEM_PLURAL_HOT_CHOCOLATE, STR_SHOP_ITEM_INDEFINITE_HOT_CHOCOLATE, STR_SHOP_ITEM_DISPLAY_HOT_CHOCOLATE }, - { STR_SHOP_ITEM_PRICE_LABEL_ICED_TEA, STR_SHOP_ITEM_SINGULAR_ICED_TEA, STR_SHOP_ITEM_PLURAL_ICED_TEA, STR_SHOP_ITEM_INDEFINITE_ICED_TEA, STR_SHOP_ITEM_DISPLAY_ICED_TEA }, - { STR_SHOP_ITEM_PRICE_LABEL_FUNNEL_CAKE, STR_SHOP_ITEM_SINGULAR_FUNNEL_CAKE, STR_SHOP_ITEM_PLURAL_FUNNEL_CAKE, STR_SHOP_ITEM_INDEFINITE_FUNNEL_CAKE, STR_SHOP_ITEM_DISPLAY_FUNNEL_CAKE }, - { STR_SHOP_ITEM_PRICE_LABEL_SUNGLASSES, STR_SHOP_ITEM_SINGULAR_SUNGLASSES, STR_SHOP_ITEM_PLURAL_SUNGLASSES, STR_SHOP_ITEM_INDEFINITE_SUNGLASSES, STR_SHOP_ITEM_DISPLAY_SUNGLASSES }, - { STR_SHOP_ITEM_PRICE_LABEL_BEEF_NOODLES, STR_SHOP_ITEM_SINGULAR_BEEF_NOODLES, STR_SHOP_ITEM_PLURAL_BEEF_NOODLES, STR_SHOP_ITEM_INDEFINITE_BEEF_NOODLES, STR_SHOP_ITEM_DISPLAY_BEEF_NOODLES }, - { STR_SHOP_ITEM_PRICE_LABEL_FRIED_RICE_NOODLES, STR_SHOP_ITEM_SINGULAR_FRIED_RICE_NOODLES, STR_SHOP_ITEM_PLURAL_FRIED_RICE_NOODLES, STR_SHOP_ITEM_INDEFINITE_FRIED_RICE_NOODLES, STR_SHOP_ITEM_DISPLAY_FRIED_RICE_NOODLES }, - { STR_SHOP_ITEM_PRICE_LABEL_WONTON_SOUP, STR_SHOP_ITEM_SINGULAR_WONTON_SOUP, STR_SHOP_ITEM_PLURAL_WONTON_SOUP, STR_SHOP_ITEM_INDEFINITE_WONTON_SOUP, STR_SHOP_ITEM_DISPLAY_WONTON_SOUP }, - { STR_SHOP_ITEM_PRICE_LABEL_MEATBALL_SOUP, STR_SHOP_ITEM_SINGULAR_MEATBALL_SOUP, STR_SHOP_ITEM_PLURAL_MEATBALL_SOUP, STR_SHOP_ITEM_INDEFINITE_MEATBALL_SOUP, STR_SHOP_ITEM_DISPLAY_MEATBALL_SOUP }, - { STR_SHOP_ITEM_PRICE_LABEL_FRUIT_JUICE, STR_SHOP_ITEM_SINGULAR_FRUIT_JUICE, STR_SHOP_ITEM_PLURAL_FRUIT_JUICE, STR_SHOP_ITEM_INDEFINITE_FRUIT_JUICE, STR_SHOP_ITEM_DISPLAY_FRUIT_JUICE }, - { STR_SHOP_ITEM_PRICE_LABEL_SOYBEAN_MILK, STR_SHOP_ITEM_SINGULAR_SOYBEAN_MILK, STR_SHOP_ITEM_PLURAL_SOYBEAN_MILK, STR_SHOP_ITEM_INDEFINITE_SOYBEAN_MILK, STR_SHOP_ITEM_DISPLAY_SOYBEAN_MILK }, - { STR_SHOP_ITEM_PRICE_LABEL_SUJONGKWA, STR_SHOP_ITEM_SINGULAR_SUJONGKWA, STR_SHOP_ITEM_PLURAL_SUJONGKWA, STR_SHOP_ITEM_INDEFINITE_SUJONGKWA, STR_SHOP_ITEM_DISPLAY_SUJONGKWA }, - { STR_SHOP_ITEM_PRICE_LABEL_SUB_SANDWICH, STR_SHOP_ITEM_SINGULAR_SUB_SANDWICH, STR_SHOP_ITEM_PLURAL_SUB_SANDWICH, STR_SHOP_ITEM_INDEFINITE_SUB_SANDWICH, STR_SHOP_ITEM_DISPLAY_SUB_SANDWICH }, - { STR_SHOP_ITEM_PRICE_LABEL_COOKIE, STR_SHOP_ITEM_SINGULAR_COOKIE, STR_SHOP_ITEM_PLURAL_COOKIE, STR_SHOP_ITEM_INDEFINITE_COOKIE, STR_SHOP_ITEM_DISPLAY_COOKIE }, - { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_RED, STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_RED, STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_RED, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_RED, STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_RED }, - { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_SINGULAR_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_PLURAL_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_INDEFINITE_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_DISPLAY_EMPTY_DRINK_CARTON }, - { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_JUICE_CUP, STR_SHOP_ITEM_SINGULAR_EMPTY_JUICE_CUP, STR_SHOP_ITEM_PLURAL_EMPTY_JUICE_CUP, STR_SHOP_ITEM_INDEFINITE_EMPTY_JUICE_CUP, STR_SHOP_ITEM_DISPLAY_EMPTY_JUICE_CUP }, - { STR_SHOP_ITEM_PRICE_LABEL_ROAST_SAUSAGE, STR_SHOP_ITEM_SINGULAR_ROAST_SAUSAGE, STR_SHOP_ITEM_PLURAL_ROAST_SAUSAGE, STR_SHOP_ITEM_INDEFINITE_ROAST_SAUSAGE, STR_SHOP_ITEM_DISPLAY_ROAST_SAUSAGE }, - { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_BLUE }, + { STR_SHOP_ITEM_PRICE_LABEL_BALLOON, STR_SHOP_ITEM_SINGULAR_BALLOON, STR_SHOP_ITEM_PLURAL_BALLOON, STR_SHOP_ITEM_INDEFINITE_BALLOON, STR_SHOP_ITEM_DISPLAY_BALLOON }, + { STR_SHOP_ITEM_PRICE_LABEL_CUDDLY_TOY, STR_SHOP_ITEM_SINGULAR_CUDDLY_TOY, STR_SHOP_ITEM_PLURAL_CUDDLY_TOY, STR_SHOP_ITEM_INDEFINITE_CUDDLY_TOY, STR_SHOP_ITEM_DISPLAY_CUDDLY_TOY }, + { STR_SHOP_ITEM_PRICE_LABEL_PARK_MAP, STR_SHOP_ITEM_SINGULAR_PARK_MAP, STR_SHOP_ITEM_PLURAL_PARK_MAP, STR_SHOP_ITEM_INDEFINITE_PARK_MAP, STR_SHOP_ITEM_DISPLAY_PARK_MAP }, + { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, + { STR_SHOP_ITEM_PRICE_LABEL_UMBRELLA, STR_SHOP_ITEM_SINGULAR_UMBRELLA, STR_SHOP_ITEM_PLURAL_UMBRELLA, STR_SHOP_ITEM_INDEFINITE_UMBRELLA, STR_SHOP_ITEM_DISPLAY_UMBRELLA }, + { STR_SHOP_ITEM_PRICE_LABEL_DRINK, STR_SHOP_ITEM_SINGULAR_DRINK, STR_SHOP_ITEM_PLURAL_DRINK, STR_SHOP_ITEM_INDEFINITE_DRINK, STR_SHOP_ITEM_DISPLAY_DRINK }, + { STR_SHOP_ITEM_PRICE_LABEL_BURGER, STR_SHOP_ITEM_SINGULAR_BURGER, STR_SHOP_ITEM_PLURAL_BURGER, STR_SHOP_ITEM_INDEFINITE_BURGER, STR_SHOP_ITEM_DISPLAY_BURGER }, + { STR_SHOP_ITEM_PRICE_LABEL_CHIPS, STR_SHOP_ITEM_SINGULAR_CHIPS, STR_SHOP_ITEM_PLURAL_CHIPS, STR_SHOP_ITEM_INDEFINITE_CHIPS, STR_SHOP_ITEM_DISPLAY_CHIPS }, + { STR_SHOP_ITEM_PRICE_LABEL_ICE_CREAM, STR_SHOP_ITEM_SINGULAR_ICE_CREAM, STR_SHOP_ITEM_PLURAL_ICE_CREAM, STR_SHOP_ITEM_INDEFINITE_ICE_CREAM, STR_SHOP_ITEM_DISPLAY_ICE_CREAM }, + { STR_SHOP_ITEM_PRICE_LABEL_CANDYFLOSS, STR_SHOP_ITEM_SINGULAR_CANDYFLOSS, STR_SHOP_ITEM_PLURAL_CANDYFLOSS, STR_SHOP_ITEM_INDEFINITE_CANDYFLOSS, STR_SHOP_ITEM_DISPLAY_CANDYFLOSS }, + { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CAN, STR_SHOP_ITEM_SINGULAR_EMPTY_CAN, STR_SHOP_ITEM_PLURAL_EMPTY_CAN, STR_SHOP_ITEM_INDEFINITE_EMPTY_CAN, STR_SHOP_ITEM_DISPLAY_EMPTY_CAN }, + { STR_SHOP_ITEM_PRICE_LABEL_RUBBISH, STR_SHOP_ITEM_SINGULAR_RUBBISH, STR_SHOP_ITEM_PLURAL_RUBBISH, STR_SHOP_ITEM_INDEFINITE_RUBBISH, STR_SHOP_ITEM_DISPLAY_RUBBISH }, + { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BURGER_BOX, STR_SHOP_ITEM_SINGULAR_EMPTY_BURGER_BOX, STR_SHOP_ITEM_PLURAL_EMPTY_BURGER_BOX, STR_SHOP_ITEM_INDEFINITE_EMPTY_BURGER_BOX, STR_SHOP_ITEM_DISPLAY_EMPTY_BURGER_BOX }, + { STR_SHOP_ITEM_PRICE_LABEL_PIZZA, STR_SHOP_ITEM_SINGULAR_PIZZA, STR_SHOP_ITEM_PLURAL_PIZZA, STR_SHOP_ITEM_INDEFINITE_PIZZA, STR_SHOP_ITEM_DISPLAY_PIZZA }, + { STR_SHOP_ITEM_PRICE_LABEL_VOUCHER, STR_SHOP_ITEM_SINGULAR_VOUCHER, STR_SHOP_ITEM_PLURAL_VOUCHER, STR_SHOP_ITEM_INDEFINITE_VOUCHER, STR_SHOP_ITEM_DISPLAY_VOUCHER }, + { STR_SHOP_ITEM_PRICE_LABEL_POPCORN, STR_SHOP_ITEM_SINGULAR_POPCORN, STR_SHOP_ITEM_PLURAL_POPCORN, STR_SHOP_ITEM_INDEFINITE_POPCORN, STR_SHOP_ITEM_DISPLAY_POPCORN }, + { STR_SHOP_ITEM_PRICE_LABEL_HOT_DOG, STR_SHOP_ITEM_SINGULAR_HOT_DOG, STR_SHOP_ITEM_PLURAL_HOT_DOG, STR_SHOP_ITEM_INDEFINITE_HOT_DOG, STR_SHOP_ITEM_DISPLAY_HOT_DOG }, + { STR_SHOP_ITEM_PRICE_LABEL_TENTACLE, STR_SHOP_ITEM_SINGULAR_TENTACLE, STR_SHOP_ITEM_PLURAL_TENTACLE, STR_SHOP_ITEM_INDEFINITE_TENTACLE, STR_SHOP_ITEM_DISPLAY_TENTACLE }, + { STR_SHOP_ITEM_PRICE_LABEL_HAT, STR_SHOP_ITEM_SINGULAR_HAT, STR_SHOP_ITEM_PLURAL_HAT, STR_SHOP_ITEM_INDEFINITE_HAT, STR_SHOP_ITEM_DISPLAY_HAT }, + { STR_SHOP_ITEM_PRICE_LABEL_TOFFEE_APPLE, STR_SHOP_ITEM_SINGULAR_TOFFEE_APPLE, STR_SHOP_ITEM_PLURAL_TOFFEE_APPLE, STR_SHOP_ITEM_INDEFINITE_TOFFEE_APPLE, STR_SHOP_ITEM_DISPLAY_TOFFEE_APPLE }, + { STR_SHOP_ITEM_PRICE_LABEL_T_SHIRT, STR_SHOP_ITEM_SINGULAR_T_SHIRT, STR_SHOP_ITEM_PLURAL_T_SHIRT, STR_SHOP_ITEM_INDEFINITE_T_SHIRT, STR_SHOP_ITEM_DISPLAY_T_SHIRT }, + { STR_SHOP_ITEM_PRICE_LABEL_DOUGHNUT, STR_SHOP_ITEM_SINGULAR_DOUGHNUT, STR_SHOP_ITEM_PLURAL_DOUGHNUT, STR_SHOP_ITEM_INDEFINITE_DOUGHNUT, STR_SHOP_ITEM_DISPLAY_DOUGHNUT }, + { STR_SHOP_ITEM_PRICE_LABEL_COFFEE, STR_SHOP_ITEM_SINGULAR_COFFEE, STR_SHOP_ITEM_PLURAL_COFFEE, STR_SHOP_ITEM_INDEFINITE_COFFEE, STR_SHOP_ITEM_DISPLAY_COFFEE }, + { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CUP, STR_SHOP_ITEM_SINGULAR_EMPTY_CUP, STR_SHOP_ITEM_PLURAL_EMPTY_CUP, STR_SHOP_ITEM_INDEFINITE_EMPTY_CUP, STR_SHOP_ITEM_DISPLAY_EMPTY_CUP }, + { STR_SHOP_ITEM_PRICE_LABEL_FRIED_CHICKEN, STR_SHOP_ITEM_SINGULAR_FRIED_CHICKEN, STR_SHOP_ITEM_PLURAL_FRIED_CHICKEN, STR_SHOP_ITEM_INDEFINITE_FRIED_CHICKEN, STR_SHOP_ITEM_DISPLAY_FRIED_CHICKEN }, + { STR_SHOP_ITEM_PRICE_LABEL_LEMONADE, STR_SHOP_ITEM_SINGULAR_LEMONADE, STR_SHOP_ITEM_PLURAL_LEMONADE, STR_SHOP_ITEM_INDEFINITE_LEMONADE, STR_SHOP_ITEM_DISPLAY_LEMONADE }, + { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOX, STR_SHOP_ITEM_SINGULAR_EMPTY_BOX, STR_SHOP_ITEM_PLURAL_EMPTY_BOX, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOX, STR_SHOP_ITEM_DISPLAY_EMPTY_BOX }, + { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOTTLE, STR_SHOP_ITEM_SINGULAR_EMPTY_BOTTLE, STR_SHOP_ITEM_PLURAL_EMPTY_BOTTLE, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOTTLE, STR_SHOP_ITEM_DISPLAY_EMPTY_BOTTLE }, + { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, + { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, + { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, + { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, + { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, + { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, + { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, + { STR_SHOP_ITEM_PRICE_LABEL_PRETZEL, STR_SHOP_ITEM_SINGULAR_PRETZEL, STR_SHOP_ITEM_PLURAL_PRETZEL, STR_SHOP_ITEM_INDEFINITE_PRETZEL, STR_SHOP_ITEM_DISPLAY_PRETZEL }, + { STR_SHOP_ITEM_PRICE_LABEL_HOT_CHOCOLATE, STR_SHOP_ITEM_SINGULAR_HOT_CHOCOLATE, STR_SHOP_ITEM_PLURAL_HOT_CHOCOLATE, STR_SHOP_ITEM_INDEFINITE_HOT_CHOCOLATE, STR_SHOP_ITEM_DISPLAY_HOT_CHOCOLATE }, + { STR_SHOP_ITEM_PRICE_LABEL_ICED_TEA, STR_SHOP_ITEM_SINGULAR_ICED_TEA, STR_SHOP_ITEM_PLURAL_ICED_TEA, STR_SHOP_ITEM_INDEFINITE_ICED_TEA, STR_SHOP_ITEM_DISPLAY_ICED_TEA }, + { STR_SHOP_ITEM_PRICE_LABEL_FUNNEL_CAKE, STR_SHOP_ITEM_SINGULAR_FUNNEL_CAKE, STR_SHOP_ITEM_PLURAL_FUNNEL_CAKE, STR_SHOP_ITEM_INDEFINITE_FUNNEL_CAKE, STR_SHOP_ITEM_DISPLAY_FUNNEL_CAKE }, + { STR_SHOP_ITEM_PRICE_LABEL_SUNGLASSES, STR_SHOP_ITEM_SINGULAR_SUNGLASSES, STR_SHOP_ITEM_PLURAL_SUNGLASSES, STR_SHOP_ITEM_INDEFINITE_SUNGLASSES, STR_SHOP_ITEM_DISPLAY_SUNGLASSES }, + { STR_SHOP_ITEM_PRICE_LABEL_BEEF_NOODLES, STR_SHOP_ITEM_SINGULAR_BEEF_NOODLES, STR_SHOP_ITEM_PLURAL_BEEF_NOODLES, STR_SHOP_ITEM_INDEFINITE_BEEF_NOODLES, STR_SHOP_ITEM_DISPLAY_BEEF_NOODLES }, + { STR_SHOP_ITEM_PRICE_LABEL_FRIED_RICE_NOODLES, STR_SHOP_ITEM_SINGULAR_FRIED_RICE_NOODLES, STR_SHOP_ITEM_PLURAL_FRIED_RICE_NOODLES, STR_SHOP_ITEM_INDEFINITE_FRIED_RICE_NOODLES, STR_SHOP_ITEM_DISPLAY_FRIED_RICE_NOODLES }, + { STR_SHOP_ITEM_PRICE_LABEL_WONTON_SOUP, STR_SHOP_ITEM_SINGULAR_WONTON_SOUP, STR_SHOP_ITEM_PLURAL_WONTON_SOUP, STR_SHOP_ITEM_INDEFINITE_WONTON_SOUP, STR_SHOP_ITEM_DISPLAY_WONTON_SOUP }, + { STR_SHOP_ITEM_PRICE_LABEL_MEATBALL_SOUP, STR_SHOP_ITEM_SINGULAR_MEATBALL_SOUP, STR_SHOP_ITEM_PLURAL_MEATBALL_SOUP, STR_SHOP_ITEM_INDEFINITE_MEATBALL_SOUP, STR_SHOP_ITEM_DISPLAY_MEATBALL_SOUP }, + { STR_SHOP_ITEM_PRICE_LABEL_FRUIT_JUICE, STR_SHOP_ITEM_SINGULAR_FRUIT_JUICE, STR_SHOP_ITEM_PLURAL_FRUIT_JUICE, STR_SHOP_ITEM_INDEFINITE_FRUIT_JUICE, STR_SHOP_ITEM_DISPLAY_FRUIT_JUICE }, + { STR_SHOP_ITEM_PRICE_LABEL_SOYBEAN_MILK, STR_SHOP_ITEM_SINGULAR_SOYBEAN_MILK, STR_SHOP_ITEM_PLURAL_SOYBEAN_MILK, STR_SHOP_ITEM_INDEFINITE_SOYBEAN_MILK, STR_SHOP_ITEM_DISPLAY_SOYBEAN_MILK }, + { STR_SHOP_ITEM_PRICE_LABEL_SUJONGKWA, STR_SHOP_ITEM_SINGULAR_SUJONGKWA, STR_SHOP_ITEM_PLURAL_SUJONGKWA, STR_SHOP_ITEM_INDEFINITE_SUJONGKWA, STR_SHOP_ITEM_DISPLAY_SUJONGKWA }, + { STR_SHOP_ITEM_PRICE_LABEL_SUB_SANDWICH, STR_SHOP_ITEM_SINGULAR_SUB_SANDWICH, STR_SHOP_ITEM_PLURAL_SUB_SANDWICH, STR_SHOP_ITEM_INDEFINITE_SUB_SANDWICH, STR_SHOP_ITEM_DISPLAY_SUB_SANDWICH }, + { STR_SHOP_ITEM_PRICE_LABEL_COOKIE, STR_SHOP_ITEM_SINGULAR_COOKIE, STR_SHOP_ITEM_PLURAL_COOKIE, STR_SHOP_ITEM_INDEFINITE_COOKIE, STR_SHOP_ITEM_DISPLAY_COOKIE }, + { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_RED, STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_RED, STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_RED, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_RED, STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_RED }, + { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_SINGULAR_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_PLURAL_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_INDEFINITE_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_DISPLAY_EMPTY_DRINK_CARTON }, + { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_JUICE_CUP, STR_SHOP_ITEM_SINGULAR_EMPTY_JUICE_CUP, STR_SHOP_ITEM_PLURAL_EMPTY_JUICE_CUP, STR_SHOP_ITEM_INDEFINITE_EMPTY_JUICE_CUP, STR_SHOP_ITEM_DISPLAY_EMPTY_JUICE_CUP }, + { STR_SHOP_ITEM_PRICE_LABEL_ROAST_SAUSAGE, STR_SHOP_ITEM_SINGULAR_ROAST_SAUSAGE, STR_SHOP_ITEM_PLURAL_ROAST_SAUSAGE, STR_SHOP_ITEM_INDEFINITE_ROAST_SAUSAGE, STR_SHOP_ITEM_DISPLAY_ROAST_SAUSAGE }, + { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_BLUE }, }; const uint32 ShopItemImage[SHOP_ITEM_COUNT] = { - SPR_SHOP_ITEM_BALLOON, - SPR_SHOP_ITEM_TOY, - SPR_SHOP_ITEM_MAP, - SPR_SHOP_ITEM_PHOTO, - SPR_SHOP_ITEM_UMBRELLA, - SPR_SHOP_ITEM_DRINK, - SPR_SHOP_ITEM_BURGER, - SPR_SHOP_ITEM_CHIPS, - SPR_SHOP_ITEM_ICE_CREAM, - SPR_SHOP_ITEM_CANDYFLOSS, - SPR_SHOP_ITEM_EMPTY_CAN, - SPR_SHOP_ITEM_RUBBISH, - SPR_SHOP_ITEM_EMPTY_BURGER_BOX, - SPR_SHOP_ITEM_PIZZA, - SPR_SHOP_ITEM_VOUCHER, - SPR_SHOP_ITEM_POPCORN, - SPR_SHOP_ITEM_HOT_DOG, - SPR_SHOP_ITEM_TENTACLE, - SPR_SHOP_ITEM_HAT, - SPR_SHOP_ITEM_CANDY_APPLE, - SPR_SHOP_ITEM_TSHIRT, - SPR_SHOP_ITEM_DONUT, - SPR_SHOP_ITEM_COFFEE, - SPR_SHOP_ITEM_EMPTY_CUP, - SPR_SHOP_ITEM_CHICKEN, - SPR_SHOP_ITEM_LEMONADE, - SPR_SHOP_ITEM_EMPTY_BOX, - SPR_SHOP_ITEM_EMPTY_BOTTLE, - 0, // 28 - 0, // 29 - 0, // 30 - 0, // 31 - SPR_SHOP_ITEM_PHOTO2, - SPR_SHOP_ITEM_PHOTO3, - SPR_SHOP_ITEM_PHOTO4, - SPR_SHOP_ITEM_PRETZEL, - SPR_SHOP_ITEM_CHOCOLATE, - SPR_SHOP_ITEM_ICED_TEA, - SPR_SHOP_ITEM_FUNNEL_CAKE, - SPR_SHOP_ITEM_SUNGLASSES, - SPR_SHOP_ITEM_BEEF_NOODLES, - SPR_SHOP_ITEM_FRIED_RICE_NOODLES, - SPR_SHOP_ITEM_WONTON_SOUP, - SPR_SHOP_ITEM_MEATBALL_SOUP, - SPR_SHOP_ITEM_FRUIT_JUICE, - SPR_SHOP_ITEM_SOYBEAN_MILK, - SPR_SHOP_ITEM_SU_JONGKWA, - SPR_SHOP_ITEM_SUB_SANDWICH, - SPR_SHOP_ITEM_COOKIE, - SPR_SHOP_ITEM_EMPTY_BOWL_RED, - SPR_SHOP_ITEM_EMPTY_DRINK_CARTON, - SPR_SHOP_ITEM_EMPTY_JUICE_CUP, - SPR_SHOP_ITEM_ROAST_SAUSAGE, - SPR_SHOP_ITEM_EMPTY_BOWL_BLUE, + SPR_SHOP_ITEM_BALLOON, + SPR_SHOP_ITEM_TOY, + SPR_SHOP_ITEM_MAP, + SPR_SHOP_ITEM_PHOTO, + SPR_SHOP_ITEM_UMBRELLA, + SPR_SHOP_ITEM_DRINK, + SPR_SHOP_ITEM_BURGER, + SPR_SHOP_ITEM_CHIPS, + SPR_SHOP_ITEM_ICE_CREAM, + SPR_SHOP_ITEM_CANDYFLOSS, + SPR_SHOP_ITEM_EMPTY_CAN, + SPR_SHOP_ITEM_RUBBISH, + SPR_SHOP_ITEM_EMPTY_BURGER_BOX, + SPR_SHOP_ITEM_PIZZA, + SPR_SHOP_ITEM_VOUCHER, + SPR_SHOP_ITEM_POPCORN, + SPR_SHOP_ITEM_HOT_DOG, + SPR_SHOP_ITEM_TENTACLE, + SPR_SHOP_ITEM_HAT, + SPR_SHOP_ITEM_CANDY_APPLE, + SPR_SHOP_ITEM_TSHIRT, + SPR_SHOP_ITEM_DONUT, + SPR_SHOP_ITEM_COFFEE, + SPR_SHOP_ITEM_EMPTY_CUP, + SPR_SHOP_ITEM_CHICKEN, + SPR_SHOP_ITEM_LEMONADE, + SPR_SHOP_ITEM_EMPTY_BOX, + SPR_SHOP_ITEM_EMPTY_BOTTLE, + 0, // 28 + 0, // 29 + 0, // 30 + 0, // 31 + SPR_SHOP_ITEM_PHOTO2, + SPR_SHOP_ITEM_PHOTO3, + SPR_SHOP_ITEM_PHOTO4, + SPR_SHOP_ITEM_PRETZEL, + SPR_SHOP_ITEM_CHOCOLATE, + SPR_SHOP_ITEM_ICED_TEA, + SPR_SHOP_ITEM_FUNNEL_CAKE, + SPR_SHOP_ITEM_SUNGLASSES, + SPR_SHOP_ITEM_BEEF_NOODLES, + SPR_SHOP_ITEM_FRIED_RICE_NOODLES, + SPR_SHOP_ITEM_WONTON_SOUP, + SPR_SHOP_ITEM_MEATBALL_SOUP, + SPR_SHOP_ITEM_FRUIT_JUICE, + SPR_SHOP_ITEM_SOYBEAN_MILK, + SPR_SHOP_ITEM_SU_JONGKWA, + SPR_SHOP_ITEM_SUB_SANDWICH, + SPR_SHOP_ITEM_COOKIE, + SPR_SHOP_ITEM_EMPTY_BOWL_RED, + SPR_SHOP_ITEM_EMPTY_DRINK_CARTON, + SPR_SHOP_ITEM_EMPTY_JUICE_CUP, + SPR_SHOP_ITEM_ROAST_SAUSAGE, + SPR_SHOP_ITEM_EMPTY_BOWL_BLUE, }; const rct_ride_entry_vehicle CableLiftVehicle = { - .rotation_frame_mask = 31, - .var_02 = 0, - .var_03 = 0, - .spacing = 0, - .car_friction = 0, - .tab_height = 0, - .num_seats = 0, - .sprite_flags = VEHICLE_SPRITE_FLAG_FLAT | VEHICLE_SPRITE_FLAG_GENTLE_SLOPES | VEHICLE_SPRITE_FLAG_STEEP_SLOPES, - .sprite_width = 0, - .sprite_height_negative = 0, - .sprite_height_positive = 0, - .var_11 = 0, - .flags_a = 0, - .flags_b = 0, - .var_16 = 1, - .base_image_id = 29110, - .var_1C = 0, - .var_20 = 29142, - .var_24 = 29214, - .var_28 = 0, - .var_2C = 0, - .var_30 = 0, - .var_34 = 0, - .var_38 = 0, - .var_3C = 0, - .var_40 = 0, - .var_44 = 0, - .var_48 = 0, - .var_4C = 0, - .no_vehicle_images = 0, - .no_seating_rows = 0, - .spinning_inertia = 0, - .spinning_friction = 255, - .friction_sound_id = 0, - .var_58 = 0, - .sound_range = 0, - .var_5A = 0, - .powered_acceleration = 0, - .powered_max_speed = 0, - .car_visual = 0, - .effect_visual = 1, - .draw_order = 14, - .special_frames = 0, - .peep_loading_positions = NULL + .rotation_frame_mask = 31, + .var_02 = 0, + .var_03 = 0, + .spacing = 0, + .car_friction = 0, + .tab_height = 0, + .num_seats = 0, + .sprite_flags = VEHICLE_SPRITE_FLAG_FLAT | VEHICLE_SPRITE_FLAG_GENTLE_SLOPES | VEHICLE_SPRITE_FLAG_STEEP_SLOPES, + .sprite_width = 0, + .sprite_height_negative = 0, + .sprite_height_positive = 0, + .var_11 = 0, + .flags_a = 0, + .flags_b = 0, + .var_16 = 1, + .base_image_id = 29110, + .var_1C = 0, + .var_20 = 29142, + .var_24 = 29214, + .var_28 = 0, + .var_2C = 0, + .var_30 = 0, + .var_34 = 0, + .var_38 = 0, + .var_3C = 0, + .var_40 = 0, + .var_44 = 0, + .var_48 = 0, + .var_4C = 0, + .no_vehicle_images = 0, + .no_seating_rows = 0, + .spinning_inertia = 0, + .spinning_friction = 255, + .friction_sound_id = 0, + .var_58 = 0, + .sound_range = 0, + .var_5A = 0, + .powered_acceleration = 0, + .powered_max_speed = 0, + .car_visual = 0, + .effect_visual = 1, + .draw_order = 14, + .special_frames = 0, + .peep_loading_positions = NULL }; /* rct2: 0x009A0AA0 */ const uint16 RideFilmLength[3] = { - 5000, // MOUSE_TAILS - 6000, // STORM_CHASERS - 7000 // SPACE_RAIDERS + 5000, // MOUSE_TAILS + 6000, // STORM_CHASERS + 7000 // SPACE_RAIDERS }; /* rct2: 0x009A0AC4 */ const uint16 RideCrookedHouseLength[1] = { - 600 + 600 }; /* rct2: 0x0097D7C8, 0x0097D7C9, 0x0097D7CA */ const rct_ride_lift_data RideLiftData[] = { - { SOUND_LIFT_3, 7, 7 }, // Spiral Roller coaster - { SOUND_LIFT_1, 4, 6 }, // Stand Up Coaster - { SOUND_LIFT_1, 4, 6 }, // Suspended Swinging - { SOUND_LIFT_7, 5, 7 }, // Inverted - { SOUND_LIFT_3, 4, 6 }, // Steel Mini Coaster - { 255, 5, 5 }, // Mini Railroad - { 255, 5, 5 }, // Monorail - { SOUND_LIFT_3, 4, 5 }, // Mini Suspended Coaster - { 255, 5, 5 }, // Boat Ride - { SOUND_LIFT_1, 4, 5 }, // Wooden Wild Mine/Mouse - { SOUND_LIFT_1, 4, 5 }, // Steeplechase/Motorbike/Soap Box D - { 255, 5, 5 }, // Car Ride - { 255, 5, 5 }, // Launched Freefall - { SOUND_LIFT_3, 4, 5 }, // Bobsleigh Coaster - { 255, 5, 5 }, // Observation Tower - { SOUND_LIFT_1, 4, 6 }, // Looping Roller Coaster - { SOUND_LIFT_3, 4, 5 }, // Dinghy Slide - { SOUND_LIFT_4, 4, 6 }, // Mine Train Coaster - { 255, 5, 5 }, // Chairlift - { SOUND_LIFT_4, 4, 6 }, // Corkscrew Roller Coaster - { 255, 5, 5 }, // Maze - { 255, 5, 5 }, // Spiral Slide - { 255, 5, 5 }, // Go Karts - { 255, 5, 5 }, // Log Flume - { 255, 5, 5 }, // River Rapids - { 255, 5, 5 }, // Dodgems - { 255, 5, 5 }, // Pirate Ship - { 255, 5, 5 }, // Swinging Inverter Ship - { 255, 5, 5 }, // Food Stall - { 255, 5, 5 }, // (none) - { 255, 5, 5 }, // Drink Stall - { 255, 5, 5 }, // (none) - { 255, 5, 5 }, // Shop (all types) - { 255, 5, 5 }, // Merry Go Round - { 255, 5, 5 }, // Balloon Stall (maybe) - { 255, 5, 5 }, // Information Kiosk - { 255, 5, 5 }, // Bathroom - { 255, 5, 5 }, // Ferris Wheel - { 255, 5, 5 }, // Motion Simulator - { 255, 5, 5 }, // 3D Cinema - { 255, 5, 5 }, // Topspin - { 255, 5, 5 }, // Space Rings - { 255, 5, 5 }, // Reverse Freefall Coaster - { 255, 5, 5 }, // Elevator - { SOUND_LIFT_7, 4, 5 }, // Vertical Drop Roller Coaster - { 255, 5, 5 }, // ATM - { 255, 5, 5 }, // Twist - { 255, 5, 5 }, // Haunted House - { 255, 5, 5 }, // First Aid - { 255, 5, 5 }, // Circus Show - { 255, 5, 5 }, // Ghost Train - { SOUND_LIFT_7, 5, 8 }, // Twister Roller Coaster - { SOUND_LIFT_5, 5, 7 }, // Wooden Roller Coaster - { SOUND_LIFT_5, 3, 4 }, // Side-Friction Roller Coaster - { SOUND_LIFT_6, 4, 6 }, // Wild Mouse - { SOUND_LIFT_3, 4, 6 }, // Multi Dimension Coaster - { SOUND_LIFT_3, 4, 6 }, // (none) - { SOUND_LIFT_7, 4, 6 }, // Flying Roller Coaster - { SOUND_LIFT_7, 4, 6 }, // (none) - { SOUND_LIFT_1, 3, 4 }, // Virginia Reel - { 255, 5, 5 }, // Splash Boats - { 255, 5, 5 }, // Mini Helicopters - { SOUND_LIFT_1, 4, 6 }, // Lay-down Roller Coaster - { 255, 5, 5 }, // Suspended Monorail - { SOUND_LIFT_1, 4, 6 }, // (none) - { SOUND_LIFT_1, 3, 4 }, // Reverser Roller Coaster - { SOUND_LIFT_1, 4, 6 }, // Heartline Twister Roller Coaster - { 255, 5, 5 }, // Mini Golf - { SOUND_LIFT_1, 5, 8 }, // Giga Coaster - { 255, 5, 5 }, // Roto-Drop - { 255, 5, 5 }, // Flying Saucers - { 255, 5, 5 }, // Crooked House - { 255, 5, 5 }, // Monorail Cycles - { SOUND_LIFT_3, 4, 6 }, // Compact Inverted Coaster - { SOUND_LIFT_1, 4, 6 }, // Water Coaster - { 255, 5, 5 }, // Air Powered Vertical Coaster - { SOUND_LIFT_6, 4, 6 }, // Inverted Hairpin Coaster - { 255, 5, 5 }, // Magic Carpet - { 255, 5, 5 }, // Submarine Ride - { 255, 5, 5 }, // River Rafts - { 255, 5, 5 }, // (none) - { 255, 5, 5 }, // Enterprise - { 255, 5, 5 }, // (none) - { 255, 5, 5 }, // (none) - { 255, 5, 5 }, // (none) - { SOUND_LIFT_4, 4, 7 }, // (none) - { SOUND_LIFT_1, 4, 7 }, // Inverted Impulse Coaster - { SOUND_LIFT_1, 4, 6 }, // Mini Roller Coaster - { 255, 5, 5 }, // Mine Ride - { SOUND_LIFT_6, 4, 6 }, // (none) - { 255, 4, 6 } // LIM Launched Roller Coaster + { SOUND_LIFT_3, 7, 7 }, // Spiral Roller coaster + { SOUND_LIFT_1, 4, 6 }, // Stand Up Coaster + { SOUND_LIFT_1, 4, 6 }, // Suspended Swinging + { SOUND_LIFT_7, 5, 7 }, // Inverted + { SOUND_LIFT_3, 4, 6 }, // Steel Mini Coaster + { 255, 5, 5 }, // Mini Railroad + { 255, 5, 5 }, // Monorail + { SOUND_LIFT_3, 4, 5 }, // Mini Suspended Coaster + { 255, 5, 5 }, // Boat Ride + { SOUND_LIFT_1, 4, 5 }, // Wooden Wild Mine/Mouse + { SOUND_LIFT_1, 4, 5 }, // Steeplechase/Motorbike/Soap Box D + { 255, 5, 5 }, // Car Ride + { 255, 5, 5 }, // Launched Freefall + { SOUND_LIFT_3, 4, 5 }, // Bobsleigh Coaster + { 255, 5, 5 }, // Observation Tower + { SOUND_LIFT_1, 4, 6 }, // Looping Roller Coaster + { SOUND_LIFT_3, 4, 5 }, // Dinghy Slide + { SOUND_LIFT_4, 4, 6 }, // Mine Train Coaster + { 255, 5, 5 }, // Chairlift + { SOUND_LIFT_4, 4, 6 }, // Corkscrew Roller Coaster + { 255, 5, 5 }, // Maze + { 255, 5, 5 }, // Spiral Slide + { 255, 5, 5 }, // Go Karts + { 255, 5, 5 }, // Log Flume + { 255, 5, 5 }, // River Rapids + { 255, 5, 5 }, // Dodgems + { 255, 5, 5 }, // Pirate Ship + { 255, 5, 5 }, // Swinging Inverter Ship + { 255, 5, 5 }, // Food Stall + { 255, 5, 5 }, // (none) + { 255, 5, 5 }, // Drink Stall + { 255, 5, 5 }, // (none) + { 255, 5, 5 }, // Shop (all types) + { 255, 5, 5 }, // Merry Go Round + { 255, 5, 5 }, // Balloon Stall (maybe) + { 255, 5, 5 }, // Information Kiosk + { 255, 5, 5 }, // Bathroom + { 255, 5, 5 }, // Ferris Wheel + { 255, 5, 5 }, // Motion Simulator + { 255, 5, 5 }, // 3D Cinema + { 255, 5, 5 }, // Topspin + { 255, 5, 5 }, // Space Rings + { 255, 5, 5 }, // Reverse Freefall Coaster + { 255, 5, 5 }, // Elevator + { SOUND_LIFT_7, 4, 5 }, // Vertical Drop Roller Coaster + { 255, 5, 5 }, // ATM + { 255, 5, 5 }, // Twist + { 255, 5, 5 }, // Haunted House + { 255, 5, 5 }, // First Aid + { 255, 5, 5 }, // Circus Show + { 255, 5, 5 }, // Ghost Train + { SOUND_LIFT_7, 5, 8 }, // Twister Roller Coaster + { SOUND_LIFT_5, 5, 7 }, // Wooden Roller Coaster + { SOUND_LIFT_5, 3, 4 }, // Side-Friction Roller Coaster + { SOUND_LIFT_6, 4, 6 }, // Wild Mouse + { SOUND_LIFT_3, 4, 6 }, // Multi Dimension Coaster + { SOUND_LIFT_3, 4, 6 }, // (none) + { SOUND_LIFT_7, 4, 6 }, // Flying Roller Coaster + { SOUND_LIFT_7, 4, 6 }, // (none) + { SOUND_LIFT_1, 3, 4 }, // Virginia Reel + { 255, 5, 5 }, // Splash Boats + { 255, 5, 5 }, // Mini Helicopters + { SOUND_LIFT_1, 4, 6 }, // Lay-down Roller Coaster + { 255, 5, 5 }, // Suspended Monorail + { SOUND_LIFT_1, 4, 6 }, // (none) + { SOUND_LIFT_1, 3, 4 }, // Reverser Roller Coaster + { SOUND_LIFT_1, 4, 6 }, // Heartline Twister Roller Coaster + { 255, 5, 5 }, // Mini Golf + { SOUND_LIFT_1, 5, 8 }, // Giga Coaster + { 255, 5, 5 }, // Roto-Drop + { 255, 5, 5 }, // Flying Saucers + { 255, 5, 5 }, // Crooked House + { 255, 5, 5 }, // Monorail Cycles + { SOUND_LIFT_3, 4, 6 }, // Compact Inverted Coaster + { SOUND_LIFT_1, 4, 6 }, // Water Coaster + { 255, 5, 5 }, // Air Powered Vertical Coaster + { SOUND_LIFT_6, 4, 6 }, // Inverted Hairpin Coaster + { 255, 5, 5 }, // Magic Carpet + { 255, 5, 5 }, // Submarine Ride + { 255, 5, 5 }, // River Rafts + { 255, 5, 5 }, // (none) + { 255, 5, 5 }, // Enterprise + { 255, 5, 5 }, // (none) + { 255, 5, 5 }, // (none) + { 255, 5, 5 }, // (none) + { SOUND_LIFT_4, 4, 7 }, // (none) + { SOUND_LIFT_1, 4, 7 }, // Inverted Impulse Coaster + { SOUND_LIFT_1, 4, 6 }, // Mini Roller Coaster + { 255, 5, 5 }, // Mine Ride + { SOUND_LIFT_6, 4, 6 }, // (none) + { 255, 4, 6 } // LIM Launched Roller Coaster }; /** rct2: 0x0097D7CB */ const sint32 RidePhotoItems[] = { - SHOP_ITEM_PHOTO, // RIDE_TYPE_SPIRAL_ROLLER_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_STAND_UP_ROLLER_COASTER - SHOP_ITEM_PHOTO2, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - SHOP_ITEM_PHOTO2, // RIDE_TYPE_INVERTED_ROLLER_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_JUNIOR_ROLLER_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_MINIATURE_RAILWAY - SHOP_ITEM_PHOTO, // RIDE_TYPE_MONORAIL - SHOP_ITEM_PHOTO2, // RIDE_TYPE_MINI_SUSPENDED_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_BOAT_RIDE - SHOP_ITEM_PHOTO3, // RIDE_TYPE_WOODEN_WILD_MOUSE - SHOP_ITEM_PHOTO, // RIDE_TYPE_STEEPLECHASE - SHOP_ITEM_PHOTO, // RIDE_TYPE_CAR_RIDE - SHOP_ITEM_PHOTO, // RIDE_TYPE_LAUNCHED_FREEFALL - SHOP_ITEM_PHOTO, // RIDE_TYPE_BOBSLEIGH_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_OBSERVATION_TOWER - SHOP_ITEM_PHOTO, // RIDE_TYPE_LOOPING_ROLLER_COASTER - SHOP_ITEM_PHOTO4, // RIDE_TYPE_DINGHY_SLIDE - SHOP_ITEM_PHOTO, // RIDE_TYPE_MINE_TRAIN_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_CHAIRLIFT - SHOP_ITEM_PHOTO, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_MAZE - SHOP_ITEM_PHOTO, // RIDE_TYPE_SPIRAL_SLIDE - SHOP_ITEM_PHOTO, // RIDE_TYPE_GO_KARTS - SHOP_ITEM_PHOTO4, // RIDE_TYPE_LOG_FLUME - SHOP_ITEM_PHOTO4, // RIDE_TYPE_RIVER_RAPIDS - SHOP_ITEM_PHOTO, // RIDE_TYPE_DODGEMS - SHOP_ITEM_PHOTO, // RIDE_TYPE_PIRATE_SHIP - SHOP_ITEM_PHOTO, // RIDE_TYPE_SWINGING_INVERTER_SHIP - SHOP_ITEM_PHOTO, // RIDE_TYPE_FOOD_STALL - SHOP_ITEM_PHOTO, // RIDE_TYPE_1D - SHOP_ITEM_PHOTO, // RIDE_TYPE_DRINK_STALL - SHOP_ITEM_PHOTO, // RIDE_TYPE_1F - SHOP_ITEM_PHOTO, // RIDE_TYPE_SHOP - SHOP_ITEM_PHOTO, // RIDE_TYPE_MERRY_GO_ROUND - SHOP_ITEM_PHOTO, // RIDE_TYPE_22 - SHOP_ITEM_PHOTO, // RIDE_TYPE_INFORMATION_KIOSK - SHOP_ITEM_PHOTO, // RIDE_TYPE_TOILETS - SHOP_ITEM_PHOTO, // RIDE_TYPE_FERRIS_WHEEL - SHOP_ITEM_PHOTO, // RIDE_TYPE_MOTION_SIMULATOR - SHOP_ITEM_PHOTO, // RIDE_TYPE_3D_CINEMA - SHOP_ITEM_PHOTO, // RIDE_TYPE_TOP_SPIN - SHOP_ITEM_PHOTO, // RIDE_TYPE_SPACE_RINGS - SHOP_ITEM_PHOTO, // RIDE_TYPE_REVERSE_FREEFALL_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_LIFT - SHOP_ITEM_PHOTO, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_CASH_MACHINE - SHOP_ITEM_PHOTO, // RIDE_TYPE_TWIST - SHOP_ITEM_PHOTO, // RIDE_TYPE_HAUNTED_HOUSE - SHOP_ITEM_PHOTO, // RIDE_TYPE_FIRST_AID - SHOP_ITEM_PHOTO, // RIDE_TYPE_CIRCUS_SHOW - SHOP_ITEM_PHOTO, // RIDE_TYPE_GHOST_TRAIN - SHOP_ITEM_PHOTO, // RIDE_TYPE_TWISTER_ROLLER_COASTER - SHOP_ITEM_PHOTO3, // RIDE_TYPE_WOODEN_ROLLER_COASTER - SHOP_ITEM_PHOTO3, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_WILD_MOUSE - SHOP_ITEM_PHOTO2, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - SHOP_ITEM_PHOTO2, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT - SHOP_ITEM_PHOTO2, // RIDE_TYPE_FLYING_ROLLER_COASTER - SHOP_ITEM_PHOTO2, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT - SHOP_ITEM_PHOTO3, // RIDE_TYPE_VIRGINIA_REEL - SHOP_ITEM_PHOTO4, // RIDE_TYPE_SPLASH_BOATS - SHOP_ITEM_PHOTO, // RIDE_TYPE_MINI_HELICOPTERS - SHOP_ITEM_PHOTO2, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_SUSPENDED_MONORAIL - SHOP_ITEM_PHOTO2, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT - SHOP_ITEM_PHOTO3, // RIDE_TYPE_REVERSER_ROLLER_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_MINI_GOLF - SHOP_ITEM_PHOTO, // RIDE_TYPE_GIGA_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_ROTO_DROP - SHOP_ITEM_PHOTO, // RIDE_TYPE_FLYING_SAUCERS - SHOP_ITEM_PHOTO, // RIDE_TYPE_CROOKED_HOUSE - SHOP_ITEM_PHOTO, // RIDE_TYPE_MONORAIL_CYCLES - SHOP_ITEM_PHOTO2, // RIDE_TYPE_COMPACT_INVERTED_COASTER - SHOP_ITEM_PHOTO4, // RIDE_TYPE_WATER_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - SHOP_ITEM_PHOTO2, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_MAGIC_CARPET - SHOP_ITEM_PHOTO, // RIDE_TYPE_SUBMARINE_RIDE - SHOP_ITEM_PHOTO4, // RIDE_TYPE_RIVER_RAFTS - SHOP_ITEM_PHOTO, // RIDE_TYPE_50 - SHOP_ITEM_PHOTO, // RIDE_TYPE_ENTERPRISE - SHOP_ITEM_PHOTO, // RIDE_TYPE_52 - SHOP_ITEM_PHOTO, // RIDE_TYPE_53 - SHOP_ITEM_PHOTO, // RIDE_TYPE_54 - SHOP_ITEM_PHOTO, // RIDE_TYPE_55 - SHOP_ITEM_PHOTO2, // RIDE_TYPE_INVERTED_IMPULSE_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_MINI_ROLLER_COASTER - SHOP_ITEM_PHOTO, // RIDE_TYPE_MINE_RIDE - SHOP_ITEM_PHOTO, // RIDE_TYPE_59 - SHOP_ITEM_PHOTO, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_SPIRAL_ROLLER_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_STAND_UP_ROLLER_COASTER + SHOP_ITEM_PHOTO2, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER + SHOP_ITEM_PHOTO2, // RIDE_TYPE_INVERTED_ROLLER_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_JUNIOR_ROLLER_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_MINIATURE_RAILWAY + SHOP_ITEM_PHOTO, // RIDE_TYPE_MONORAIL + SHOP_ITEM_PHOTO2, // RIDE_TYPE_MINI_SUSPENDED_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_BOAT_RIDE + SHOP_ITEM_PHOTO3, // RIDE_TYPE_WOODEN_WILD_MOUSE + SHOP_ITEM_PHOTO, // RIDE_TYPE_STEEPLECHASE + SHOP_ITEM_PHOTO, // RIDE_TYPE_CAR_RIDE + SHOP_ITEM_PHOTO, // RIDE_TYPE_LAUNCHED_FREEFALL + SHOP_ITEM_PHOTO, // RIDE_TYPE_BOBSLEIGH_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_OBSERVATION_TOWER + SHOP_ITEM_PHOTO, // RIDE_TYPE_LOOPING_ROLLER_COASTER + SHOP_ITEM_PHOTO4, // RIDE_TYPE_DINGHY_SLIDE + SHOP_ITEM_PHOTO, // RIDE_TYPE_MINE_TRAIN_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_CHAIRLIFT + SHOP_ITEM_PHOTO, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_MAZE + SHOP_ITEM_PHOTO, // RIDE_TYPE_SPIRAL_SLIDE + SHOP_ITEM_PHOTO, // RIDE_TYPE_GO_KARTS + SHOP_ITEM_PHOTO4, // RIDE_TYPE_LOG_FLUME + SHOP_ITEM_PHOTO4, // RIDE_TYPE_RIVER_RAPIDS + SHOP_ITEM_PHOTO, // RIDE_TYPE_DODGEMS + SHOP_ITEM_PHOTO, // RIDE_TYPE_PIRATE_SHIP + SHOP_ITEM_PHOTO, // RIDE_TYPE_SWINGING_INVERTER_SHIP + SHOP_ITEM_PHOTO, // RIDE_TYPE_FOOD_STALL + SHOP_ITEM_PHOTO, // RIDE_TYPE_1D + SHOP_ITEM_PHOTO, // RIDE_TYPE_DRINK_STALL + SHOP_ITEM_PHOTO, // RIDE_TYPE_1F + SHOP_ITEM_PHOTO, // RIDE_TYPE_SHOP + SHOP_ITEM_PHOTO, // RIDE_TYPE_MERRY_GO_ROUND + SHOP_ITEM_PHOTO, // RIDE_TYPE_22 + SHOP_ITEM_PHOTO, // RIDE_TYPE_INFORMATION_KIOSK + SHOP_ITEM_PHOTO, // RIDE_TYPE_TOILETS + SHOP_ITEM_PHOTO, // RIDE_TYPE_FERRIS_WHEEL + SHOP_ITEM_PHOTO, // RIDE_TYPE_MOTION_SIMULATOR + SHOP_ITEM_PHOTO, // RIDE_TYPE_3D_CINEMA + SHOP_ITEM_PHOTO, // RIDE_TYPE_TOP_SPIN + SHOP_ITEM_PHOTO, // RIDE_TYPE_SPACE_RINGS + SHOP_ITEM_PHOTO, // RIDE_TYPE_REVERSE_FREEFALL_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_LIFT + SHOP_ITEM_PHOTO, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_CASH_MACHINE + SHOP_ITEM_PHOTO, // RIDE_TYPE_TWIST + SHOP_ITEM_PHOTO, // RIDE_TYPE_HAUNTED_HOUSE + SHOP_ITEM_PHOTO, // RIDE_TYPE_FIRST_AID + SHOP_ITEM_PHOTO, // RIDE_TYPE_CIRCUS_SHOW + SHOP_ITEM_PHOTO, // RIDE_TYPE_GHOST_TRAIN + SHOP_ITEM_PHOTO, // RIDE_TYPE_TWISTER_ROLLER_COASTER + SHOP_ITEM_PHOTO3, // RIDE_TYPE_WOODEN_ROLLER_COASTER + SHOP_ITEM_PHOTO3, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_WILD_MOUSE + SHOP_ITEM_PHOTO2, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER + SHOP_ITEM_PHOTO2, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT + SHOP_ITEM_PHOTO2, // RIDE_TYPE_FLYING_ROLLER_COASTER + SHOP_ITEM_PHOTO2, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT + SHOP_ITEM_PHOTO3, // RIDE_TYPE_VIRGINIA_REEL + SHOP_ITEM_PHOTO4, // RIDE_TYPE_SPLASH_BOATS + SHOP_ITEM_PHOTO, // RIDE_TYPE_MINI_HELICOPTERS + SHOP_ITEM_PHOTO2, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_SUSPENDED_MONORAIL + SHOP_ITEM_PHOTO2, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT + SHOP_ITEM_PHOTO3, // RIDE_TYPE_REVERSER_ROLLER_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_MINI_GOLF + SHOP_ITEM_PHOTO, // RIDE_TYPE_GIGA_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_ROTO_DROP + SHOP_ITEM_PHOTO, // RIDE_TYPE_FLYING_SAUCERS + SHOP_ITEM_PHOTO, // RIDE_TYPE_CROOKED_HOUSE + SHOP_ITEM_PHOTO, // RIDE_TYPE_MONORAIL_CYCLES + SHOP_ITEM_PHOTO2, // RIDE_TYPE_COMPACT_INVERTED_COASTER + SHOP_ITEM_PHOTO4, // RIDE_TYPE_WATER_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + SHOP_ITEM_PHOTO2, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_MAGIC_CARPET + SHOP_ITEM_PHOTO, // RIDE_TYPE_SUBMARINE_RIDE + SHOP_ITEM_PHOTO4, // RIDE_TYPE_RIVER_RAFTS + SHOP_ITEM_PHOTO, // RIDE_TYPE_50 + SHOP_ITEM_PHOTO, // RIDE_TYPE_ENTERPRISE + SHOP_ITEM_PHOTO, // RIDE_TYPE_52 + SHOP_ITEM_PHOTO, // RIDE_TYPE_53 + SHOP_ITEM_PHOTO, // RIDE_TYPE_54 + SHOP_ITEM_PHOTO, // RIDE_TYPE_55 + SHOP_ITEM_PHOTO2, // RIDE_TYPE_INVERTED_IMPULSE_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_MINI_ROLLER_COASTER + SHOP_ITEM_PHOTO, // RIDE_TYPE_MINE_RIDE + SHOP_ITEM_PHOTO, // RIDE_TYPE_59 + SHOP_ITEM_PHOTO, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; // rct2: 0x0097CD1E const rating_tuple RideRatings[RIDE_TYPE_COUNT] = { - { 50, 30, 10 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER - { 50, 30, 10 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER - { 50, 30, 10 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - { 50, 30, 10 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER - { 50, 30, 10 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER - { 70, 6, -10 }, // RIDE_TYPE_MINIATURE_RAILWAY - { 70, 6, -10 }, // RIDE_TYPE_MONORAIL - { 50, 30, 10 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER - { 70, 6, 0 }, // RIDE_TYPE_BOAT_RIDE - { 50, 30, 30 }, // RIDE_TYPE_WOODEN_WILD_MOUSE - { 50, 30, 10 }, // RIDE_TYPE_STEEPLECHASE - { 70, 10, 10 }, // RIDE_TYPE_CAR_RIDE - { 50, 50, 10 }, // RIDE_TYPE_LAUNCHED_FREEFALL - { 50, 30, 10 }, // RIDE_TYPE_BOBSLEIGH_COASTER - { 80, 10, 0 }, // RIDE_TYPE_OBSERVATION_TOWER - { 50, 30, 10 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER - { 50, 30, 10 }, // RIDE_TYPE_DINGHY_SLIDE - { 50, 30, 10 }, // RIDE_TYPE_MINE_TRAIN_COASTER - { 70, 10, 0 }, // RIDE_TYPE_CHAIRLIFT - { 50, 30, 10 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - { 50, 0, 0 }, // RIDE_TYPE_MAZE - { 50, 10, 0 }, // RIDE_TYPE_SPIRAL_SLIDE - { 120, 20, 0 }, // RIDE_TYPE_GO_KARTS - { 80, 34, 6 }, // RIDE_TYPE_LOG_FLUME - { 72, 26, 6 }, // RIDE_TYPE_RIVER_RAPIDS - { 40, 20, 0 }, // RIDE_TYPE_DODGEMS - { 50, 30, 10 }, // RIDE_TYPE_PIRATE_SHIP - { 50, 30, 10 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP - { 0, 0, 0 }, // RIDE_TYPE_FOOD_STALL - { 0, 0, 0 }, // RIDE_TYPE_1D - { 0, 0, 0 }, // RIDE_TYPE_DRINK_STALL - { 0, 0, 0 }, // RIDE_TYPE_1F - { 0, 0, 0 }, // RIDE_TYPE_SHOP - { 50, 10, 0 }, // RIDE_TYPE_MERRY_GO_ROUND - { 0, 0, 0 }, // RIDE_TYPE_22 - { 0, 0, 0 }, // RIDE_TYPE_INFORMATION_KIOSK - { 0, 0, 0 }, // RIDE_TYPE_TOILETS - { 60, 20, 10 }, // RIDE_TYPE_FERRIS_WHEEL - { 24, 20, 10 }, // RIDE_TYPE_MOTION_SIMULATOR - { 20, 10, 0 }, // RIDE_TYPE_3D_CINEMA - { 24, 20, 10 }, // RIDE_TYPE_TOP_SPIN - { 12, 4, 4 }, // RIDE_TYPE_SPACE_RINGS - { 44, 66, 10 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER - { 80, 10, 0 }, // RIDE_TYPE_LIFT - { 52, 38, 10 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - { 0, 0, 0 }, // RIDE_TYPE_CASH_MACHINE - { 40, 20, 10 }, // RIDE_TYPE_TWIST - { 20, 10, 0 }, // RIDE_TYPE_HAUNTED_HOUSE - { 0, 0, 0 }, // RIDE_TYPE_FIRST_AID - { 20, 10, 0 }, // RIDE_TYPE_CIRCUS_SHOW - { 70, 10, 10 }, // RIDE_TYPE_GHOST_TRAIN - { 52, 36, 10 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER - { 52, 33, 8 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER - { 48, 28, 7 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - { 50, 30, 30 }, // RIDE_TYPE_WILD_MOUSE - { 50, 30, 10 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - { 50, 30, 10 }, // RIDE_TYPE_38 - { 50, 30, 10 }, // RIDE_TYPE_FLYING_ROLLER_COASTER - { 50, 30, 10 }, // RIDE_TYPE_3A - { 30, 15, 25 }, // RIDE_TYPE_VIRGINIA_REEL - { 80, 34, 6 }, // RIDE_TYPE_SPLASH_BOATS - { 70, 10, 10 }, // RIDE_TYPE_MINI_HELICOPTERS - { 50, 30, 10 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - { 70, 6, -10 }, // RIDE_TYPE_SUSPENDED_MONORAIL - { 50, 30, 10 }, // RIDE_TYPE_40 - { 48, 28, 7 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER - { 50, 30, 10 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - { 50, 30, 10 }, // RIDE_TYPE_MINI_GOLF - { 51, 32, 10 }, // RIDE_TYPE_GIGA_COASTER - { 50, 50, 10 }, // RIDE_TYPE_ROTO_DROP - { 50, 25, 0 }, // RIDE_TYPE_FLYING_SAUCERS - { 15, 8, 0 }, // RIDE_TYPE_CROOKED_HOUSE - { 50, 10, 10 }, // RIDE_TYPE_MONORAIL_CYCLES - { 50, 30, 10 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER - { 50, 30, 10 }, // RIDE_TYPE_WATER_COASTER - { 44, 66, 10 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - { 50, 30, 30 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - { 50, 30, 10 }, // RIDE_TYPE_MAGIC_CARPET - { 70, 6, 0 }, // RIDE_TYPE_SUBMARINE_RIDE - { 80, 34, 6 }, // RIDE_TYPE_RIVER_RAFTS - { 0, 0, 0 }, // RIDE_TYPE_50 - { 50, 10, 0 }, // RIDE_TYPE_ENTERPRISE - { 0, 0, 0 }, // RIDE_TYPE_52 - { 0, 0, 0 }, // RIDE_TYPE_53 - { 0, 0, 0 }, // RIDE_TYPE_54 - { 50, 30, 10 }, // RIDE_TYPE_55 - { 50, 30, 10 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER - { 50, 30, 10 }, // RIDE_TYPE_MINI_ROLLER_COASTER - { 60, 20, 10 }, // RIDE_TYPE_MINE_RIDE - { 50, 30, 30 }, // RIDE_TYPE_59 - { 50, 30, 10 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER + { 50, 30, 10 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER + { 50, 30, 10 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER + { 50, 30, 10 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER + { 50, 30, 10 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER + { 50, 30, 10 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER + { 70, 6, -10 }, // RIDE_TYPE_MINIATURE_RAILWAY + { 70, 6, -10 }, // RIDE_TYPE_MONORAIL + { 50, 30, 10 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER + { 70, 6, 0 }, // RIDE_TYPE_BOAT_RIDE + { 50, 30, 30 }, // RIDE_TYPE_WOODEN_WILD_MOUSE + { 50, 30, 10 }, // RIDE_TYPE_STEEPLECHASE + { 70, 10, 10 }, // RIDE_TYPE_CAR_RIDE + { 50, 50, 10 }, // RIDE_TYPE_LAUNCHED_FREEFALL + { 50, 30, 10 }, // RIDE_TYPE_BOBSLEIGH_COASTER + { 80, 10, 0 }, // RIDE_TYPE_OBSERVATION_TOWER + { 50, 30, 10 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER + { 50, 30, 10 }, // RIDE_TYPE_DINGHY_SLIDE + { 50, 30, 10 }, // RIDE_TYPE_MINE_TRAIN_COASTER + { 70, 10, 0 }, // RIDE_TYPE_CHAIRLIFT + { 50, 30, 10 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER + { 50, 0, 0 }, // RIDE_TYPE_MAZE + { 50, 10, 0 }, // RIDE_TYPE_SPIRAL_SLIDE + { 120, 20, 0 }, // RIDE_TYPE_GO_KARTS + { 80, 34, 6 }, // RIDE_TYPE_LOG_FLUME + { 72, 26, 6 }, // RIDE_TYPE_RIVER_RAPIDS + { 40, 20, 0 }, // RIDE_TYPE_DODGEMS + { 50, 30, 10 }, // RIDE_TYPE_PIRATE_SHIP + { 50, 30, 10 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP + { 0, 0, 0 }, // RIDE_TYPE_FOOD_STALL + { 0, 0, 0 }, // RIDE_TYPE_1D + { 0, 0, 0 }, // RIDE_TYPE_DRINK_STALL + { 0, 0, 0 }, // RIDE_TYPE_1F + { 0, 0, 0 }, // RIDE_TYPE_SHOP + { 50, 10, 0 }, // RIDE_TYPE_MERRY_GO_ROUND + { 0, 0, 0 }, // RIDE_TYPE_22 + { 0, 0, 0 }, // RIDE_TYPE_INFORMATION_KIOSK + { 0, 0, 0 }, // RIDE_TYPE_TOILETS + { 60, 20, 10 }, // RIDE_TYPE_FERRIS_WHEEL + { 24, 20, 10 }, // RIDE_TYPE_MOTION_SIMULATOR + { 20, 10, 0 }, // RIDE_TYPE_3D_CINEMA + { 24, 20, 10 }, // RIDE_TYPE_TOP_SPIN + { 12, 4, 4 }, // RIDE_TYPE_SPACE_RINGS + { 44, 66, 10 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER + { 80, 10, 0 }, // RIDE_TYPE_LIFT + { 52, 38, 10 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER + { 0, 0, 0 }, // RIDE_TYPE_CASH_MACHINE + { 40, 20, 10 }, // RIDE_TYPE_TWIST + { 20, 10, 0 }, // RIDE_TYPE_HAUNTED_HOUSE + { 0, 0, 0 }, // RIDE_TYPE_FIRST_AID + { 20, 10, 0 }, // RIDE_TYPE_CIRCUS_SHOW + { 70, 10, 10 }, // RIDE_TYPE_GHOST_TRAIN + { 52, 36, 10 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER + { 52, 33, 8 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER + { 48, 28, 7 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER + { 50, 30, 30 }, // RIDE_TYPE_WILD_MOUSE + { 50, 30, 10 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER + { 50, 30, 10 }, // RIDE_TYPE_38 + { 50, 30, 10 }, // RIDE_TYPE_FLYING_ROLLER_COASTER + { 50, 30, 10 }, // RIDE_TYPE_3A + { 30, 15, 25 }, // RIDE_TYPE_VIRGINIA_REEL + { 80, 34, 6 }, // RIDE_TYPE_SPLASH_BOATS + { 70, 10, 10 }, // RIDE_TYPE_MINI_HELICOPTERS + { 50, 30, 10 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER + { 70, 6, -10 }, // RIDE_TYPE_SUSPENDED_MONORAIL + { 50, 30, 10 }, // RIDE_TYPE_40 + { 48, 28, 7 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER + { 50, 30, 10 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER + { 50, 30, 10 }, // RIDE_TYPE_MINI_GOLF + { 51, 32, 10 }, // RIDE_TYPE_GIGA_COASTER + { 50, 50, 10 }, // RIDE_TYPE_ROTO_DROP + { 50, 25, 0 }, // RIDE_TYPE_FLYING_SAUCERS + { 15, 8, 0 }, // RIDE_TYPE_CROOKED_HOUSE + { 50, 10, 10 }, // RIDE_TYPE_MONORAIL_CYCLES + { 50, 30, 10 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER + { 50, 30, 10 }, // RIDE_TYPE_WATER_COASTER + { 44, 66, 10 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + { 50, 30, 30 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER + { 50, 30, 10 }, // RIDE_TYPE_MAGIC_CARPET + { 70, 6, 0 }, // RIDE_TYPE_SUBMARINE_RIDE + { 80, 34, 6 }, // RIDE_TYPE_RIVER_RAFTS + { 0, 0, 0 }, // RIDE_TYPE_50 + { 50, 10, 0 }, // RIDE_TYPE_ENTERPRISE + { 0, 0, 0 }, // RIDE_TYPE_52 + { 0, 0, 0 }, // RIDE_TYPE_53 + { 0, 0, 0 }, // RIDE_TYPE_54 + { 50, 30, 10 }, // RIDE_TYPE_55 + { 50, 30, 10 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER + { 50, 30, 10 }, // RIDE_TYPE_MINI_ROLLER_COASTER + { 60, 20, 10 }, // RIDE_TYPE_MINE_RIDE + { 50, 30, 30 }, // RIDE_TYPE_59 + { 50, 30, 10 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; // rct2: 0x0097CF40 const rct_ride_properties RideProperties[RIDE_TYPE_COUNT] = { - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 30, 17, 17}, // RIDE_TYPE_SPIRAL_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 7, 27, 0, 0, 0}, // RIDE_TYPE_STAND_UP_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 7, 27, 0, 0, 0}, // RIDE_TYPE_INVERTED_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 17, 16}, // RIDE_TYPE_JUNIOR_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_MINIATURE_RAILWAY - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_MONORAIL - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | - RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_MINI_SUSPENDED_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER | - RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_BOAT_RIDE - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | - RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_WOODEN_WILD_MOUSE - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_STEEPLECHASE - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_CAR_RIDE - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | - RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 40, 0, 0, 0}, // RIDE_TYPE_LAUNCHED_FREEFALL - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_BOBSLEIGH_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_OBSERVATION_TOWER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 26, 18, 18}, // RIDE_TYPE_LOOPING_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_DINGHY_SLIDE - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_MINE_TRAIN_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 1, 4, 0, 0, 0}, // RIDE_TYPE_CHAIRLIFT - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 12, 30, 25, 25}, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_TRACK, - 1, 64, 0, 0, 0}, // RIDE_TYPE_MAZE - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | - RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | - RIDE_TYPE_FLAG_FLAT_RIDE, - 1, 5, 0, 0, 0}, // RIDE_TYPE_SPIRAL_SLIDE - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_NO_TEST_MODE | - RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 1, 10, 0, 0, 0}, // RIDE_TYPE_GO_KARTS - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_LOG_FLUME - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | - RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_RIVER_RAPIDS - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | - RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 20, 180, 0, 0, 0}, // RIDE_TYPE_DODGEMS - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | - RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | - RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 7, 25, 0, 0, 0}, // RIDE_TYPE_PIRATE_SHIP - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | - RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 7, 15, 0, 0, 0}, // RIDE_TYPE_SWINGING_INVERTER_SHIP - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_SELLS_FOOD, - 0, 0, 0, 0, 0}, // RIDE_TYPE_FOOD_STALL - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_SELLS_FOOD, - 0, 0, 0, 0, 0}, // RIDE_TYPE_1D - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_SELLS_DRINKS, - 0, 0, 0, 0, 0}, // RIDE_TYPE_DRINK_STALL - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_SELLS_DRINKS, - 0, 0, 0, 0, 0}, // RIDE_TYPE_1F - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | - RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | - RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE, - 0, 0, 0, 0, 0}, // RIDE_TYPE_SHOP - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 4, 25, 0, 0, 0}, // RIDE_TYPE_MERRY_GO_ROUND - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | - RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | - RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE, - 0, 0, 0, 0, 0}, // RIDE_TYPE_22 - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | - RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | - RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE, - 0, 0, 0, 0, 0}, // RIDE_TYPE_INFORMATION_KIOSK - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_IS_BATHROOM, - 4, 4, 0, 0, 0}, // RIDE_TYPE_TOILETS - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 1, 3, 0, 0, 0}, // RIDE_TYPE_FERRIS_WHEEL - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 0, 0, 0, 0, 0}, // RIDE_TYPE_MOTION_SIMULATOR - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 0, 0, 0, 0, 0}, // RIDE_TYPE_3D_CINEMA - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | - RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 0, 0, 0, 0, 0}, // RIDE_TYPE_TOP_SPIN - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 0, 0, 0, 0, 0}, // RIDE_TYPE_SPACE_RINGS - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | - RIDE_TYPE_FLAG_HAS_G_FORCES | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 7, 30, 30, 40, 40}, // RIDE_TYPE_REVERSE_FREEFALL_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | - RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_29 | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_LIFT - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 26, 17, 68}, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE, - 0, 0, 0, 0, 0}, // RIDE_TYPE_CASH_MACHINE - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 3, 6, 0, 0, 0}, // RIDE_TYPE_TWIST - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_IN_RIDE, - 0, 0, 0, 0, 0}, // RIDE_TYPE_HAUNTED_HOUSE - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE, - 8, 8, 0, 0, 0}, // RIDE_TYPE_FIRST_AID - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 0, 0, 0, 0, 0}, // RIDE_TYPE_CIRCUS_SHOW - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | - RIDE_TYPE_FLAG_HAS_G_FORCES | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_GHOST_TRAIN - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 30, 17, 68}, // RIDE_TYPE_TWISTER_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_WOODEN_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_WILD_MOUSE - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 30, 25, 25}, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 30, 25, 25}, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 30, 25, 25}, // RIDE_TYPE_FLYING_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 30, 25, 25}, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_VIRGINIA_REEL - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_SPLASH_BOATS - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_MINI_HELICOPTERS - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 30, 25, 25}, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_SUSPENDED_MONORAIL - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 30, 25, 25}, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_REVERSER_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 30, 25, 25}, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_MINI_GOLF - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 30, 17, 68}, // RIDE_TYPE_GIGA_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | - RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_ROTO_DROP - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | RIDE_TYPE_FLAG_3 | - RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_NO_TRACK | - RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 20, 180, 0, 0, 0}, // RIDE_TYPE_FLYING_SAUCERS - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_IN_RIDE, - 0, 0, 0, 0, 0}, // RIDE_TYPE_CROOKED_HOUSE - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_MONORAIL_CYCLES - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 7, 27, 0, 0, 0}, // RIDE_TYPE_COMPACT_INVERTED_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_WATER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | - RIDE_TYPE_FLAG_HAS_G_FORCES | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 30, 50, 30, 40, 40}, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | - RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 7, 15, 0, 0, 0}, // RIDE_TYPE_MAGIC_CARPET - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | - RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_SUBMARINE_RIDE - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | - RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_RIVER_RAFTS - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_SELLS_FOOD, - 0, 0, 0, 0, 0}, // RIDE_TYPE_50 - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, - 10, 20, 0, 0, 0}, // RIDE_TYPE_ENTERPRISE - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_SELLS_DRINKS, - 0, 0, 0, 0, 0}, // RIDE_TYPE_52 - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_SELLS_FOOD, - 0, 0, 0, 0, 0}, // RIDE_TYPE_53 - {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_SELLS_DRINKS, - 0, 0, 0, 0, 0}, // RIDE_TYPE_54 - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 27, 30, 25, 25}, // RIDE_TYPE_55 - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 33, 30, 25, 25}, // RIDE_TYPE_INVERTED_IMPULSE_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_MINI_ROLLER_COASTER - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_MINE_RIDE - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 0, 0, 0, 0, 0}, // RIDE_TYPE_59 - {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | - RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | - RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | - RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | - RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | - RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, - 10, 31, 26, 18, 18}, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 30, 17, 17}, // RIDE_TYPE_SPIRAL_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 7, 27, 0, 0, 0}, // RIDE_TYPE_STAND_UP_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 7, 27, 0, 0, 0}, // RIDE_TYPE_INVERTED_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 17, 16}, // RIDE_TYPE_JUNIOR_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_MINIATURE_RAILWAY + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_MONORAIL + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | + RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_MINI_SUSPENDED_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER | + RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_BOAT_RIDE + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | + RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_WOODEN_WILD_MOUSE + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_STEEPLECHASE + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_CAR_RIDE + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | + RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 40, 0, 0, 0}, // RIDE_TYPE_LAUNCHED_FREEFALL + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_BOBSLEIGH_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_OBSERVATION_TOWER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 26, 18, 18}, // RIDE_TYPE_LOOPING_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_DINGHY_SLIDE + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_MINE_TRAIN_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 1, 4, 0, 0, 0}, // RIDE_TYPE_CHAIRLIFT + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 12, 30, 25, 25}, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | + RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_TRACK, + 1, 64, 0, 0, 0}, // RIDE_TYPE_MAZE + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | + RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | + RIDE_TYPE_FLAG_FLAT_RIDE, + 1, 5, 0, 0, 0}, // RIDE_TYPE_SPIRAL_SLIDE + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_NO_TEST_MODE | + RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 1, 10, 0, 0, 0}, // RIDE_TYPE_GO_KARTS + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_LOG_FLUME + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | + RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_RIVER_RAPIDS + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | + RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 20, 180, 0, 0, 0}, // RIDE_TYPE_DODGEMS + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | + RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | + RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 7, 25, 0, 0, 0}, // RIDE_TYPE_PIRATE_SHIP + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | + RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 7, 15, 0, 0, 0}, // RIDE_TYPE_SWINGING_INVERTER_SHIP + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_SELLS_FOOD, + 0, 0, 0, 0, 0}, // RIDE_TYPE_FOOD_STALL + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_SELLS_FOOD, + 0, 0, 0, 0, 0}, // RIDE_TYPE_1D + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_SELLS_DRINKS, + 0, 0, 0, 0, 0}, // RIDE_TYPE_DRINK_STALL + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_SELLS_DRINKS, + 0, 0, 0, 0, 0}, // RIDE_TYPE_1F + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | + RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | + RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE, + 0, 0, 0, 0, 0}, // RIDE_TYPE_SHOP + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 4, 25, 0, 0, 0}, // RIDE_TYPE_MERRY_GO_ROUND + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | + RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | + RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE, + 0, 0, 0, 0, 0}, // RIDE_TYPE_22 + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | + RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | + RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE, + 0, 0, 0, 0, 0}, // RIDE_TYPE_INFORMATION_KIOSK + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_IS_BATHROOM, + 4, 4, 0, 0, 0}, // RIDE_TYPE_TOILETS + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 1, 3, 0, 0, 0}, // RIDE_TYPE_FERRIS_WHEEL + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 0, 0, 0, 0, 0}, // RIDE_TYPE_MOTION_SIMULATOR + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 0, 0, 0, 0, 0}, // RIDE_TYPE_3D_CINEMA + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | + RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 0, 0, 0, 0, 0}, // RIDE_TYPE_TOP_SPIN + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 0, 0, 0, 0, 0}, // RIDE_TYPE_SPACE_RINGS + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | + RIDE_TYPE_FLAG_HAS_G_FORCES | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 7, 30, 30, 40, 40}, // RIDE_TYPE_REVERSE_FREEFALL_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | + RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_29 | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_LIFT + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 26, 17, 68}, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE, + 0, 0, 0, 0, 0}, // RIDE_TYPE_CASH_MACHINE + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 3, 6, 0, 0, 0}, // RIDE_TYPE_TWIST + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_IN_RIDE, + 0, 0, 0, 0, 0}, // RIDE_TYPE_HAUNTED_HOUSE + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE, + 8, 8, 0, 0, 0}, // RIDE_TYPE_FIRST_AID + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 0, 0, 0, 0, 0}, // RIDE_TYPE_CIRCUS_SHOW + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | + RIDE_TYPE_FLAG_HAS_G_FORCES | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_GHOST_TRAIN + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 30, 17, 68}, // RIDE_TYPE_TWISTER_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_WOODEN_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_WILD_MOUSE + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 30, 25, 25}, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 30, 25, 25}, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 30, 25, 25}, // RIDE_TYPE_FLYING_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 30, 25, 25}, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_VIRGINIA_REEL + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_SPLASH_BOATS + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_MINI_HELICOPTERS + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 30, 25, 25}, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_SUSPENDED_MONORAIL + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 30, 25, 25}, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_REVERSER_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 30, 25, 25}, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_MINI_GOLF + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 30, 17, 68}, // RIDE_TYPE_GIGA_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | + RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_ROTO_DROP + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | RIDE_TYPE_FLAG_3 | + RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_NO_TRACK | + RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 20, 180, 0, 0, 0}, // RIDE_TYPE_FLYING_SAUCERS + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_IN_RIDE, + 0, 0, 0, 0, 0}, // RIDE_TYPE_CROOKED_HOUSE + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_MONORAIL_CYCLES + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 7, 27, 0, 0, 0}, // RIDE_TYPE_COMPACT_INVERTED_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_WATER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | + RIDE_TYPE_FLAG_HAS_G_FORCES | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 30, 50, 30, 40, 40}, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | + RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 7, 15, 0, 0, 0}, // RIDE_TYPE_MAGIC_CARPET + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | + RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_SUBMARINE_RIDE + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | + RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_RIVER_RAFTS + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_SELLS_FOOD, + 0, 0, 0, 0, 0}, // RIDE_TYPE_50 + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_16 | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS, + 10, 20, 0, 0, 0}, // RIDE_TYPE_ENTERPRISE + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_SELLS_DRINKS, + 0, 0, 0, 0, 0}, // RIDE_TYPE_52 + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_SELLS_FOOD, + 0, 0, 0, 0, 0}, // RIDE_TYPE_53 + {RIDE_TYPE_FLAG_3 | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | + RIDE_TYPE_FLAG_SELLS_DRINKS, + 0, 0, 0, 0, 0}, // RIDE_TYPE_54 + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 27, 30, 25, 25}, // RIDE_TYPE_55 + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 33, 30, 25, 25}, // RIDE_TYPE_INVERTED_IMPULSE_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_MINI_ROLLER_COASTER + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_MINE_RIDE + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 0, 0, 0, 0, 0}, // RIDE_TYPE_59 + {RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | + RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | + RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | + RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | + RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | + RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, + 10, 31, 26, 18, 18}, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; /** rct2: 0x00982164 */ const rct_shop_item_stats ShopItemStats[SHOP_ITEM_COUNT] = { - { 3, 14, 14, 14 }, // SHOP_ITEM_BALLOON - { 15, 30, 30, 30 }, // SHOP_ITEM_TOY - { 1, 7, 7, 8 }, // SHOP_ITEM_MAP - { 2, 30, 30, 30 }, // SHOP_ITEM_PHOTO - { 20, 35, 25, 50 }, // SHOP_ITEM_UMBRELLA - { 3, 12, 20, 10 }, // SHOP_ITEM_DRINK - { 5, 19, 19, 22 }, // SHOP_ITEM_BURGER - { 4, 16, 16, 18 }, // SHOP_ITEM_CHIPS - { 4, 10, 15, 6 }, // SHOP_ITEM_ICE_CREAM - { 3, 9, 9, 6 }, // SHOP_ITEM_CANDYFLOSS - { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_CAN - { 0, 0, 0, 0 }, // SHOP_ITEM_RUBBISH - { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BURGER_BOX - { 6, 21, 21, 25 }, // SHOP_ITEM_PIZZA - { 0, 0, 0, 0 }, // SHOP_ITEM_VOUCHER - { 5, 13, 13, 11 }, // SHOP_ITEM_POPCORN - { 5, 17, 17, 20 }, // SHOP_ITEM_HOT_DOG - { 11, 22, 20, 18 }, // SHOP_ITEM_TENTACLE - { 9, 27, 32, 24 }, // SHOP_ITEM_HAT - { 4, 10, 10, 10 }, // SHOP_ITEM_CANDY_APPLE - { 20, 37, 37, 37 }, // SHOP_ITEM_TSHIRT - { 4, 8, 7, 10 }, // SHOP_ITEM_DONUT - { 3, 11, 15, 20 }, // SHOP_ITEM_COFFEE - { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_CUP - { 5, 19, 19, 22 }, // SHOP_ITEM_CHICKEN - { 4, 11, 21, 10 }, // SHOP_ITEM_LEMONADE - { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BOX - { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BOTTLE - { 0, 0, 0, 0 }, // 28 - { 0, 0, 0, 0 }, // 29 - { 0, 0, 0, 0 }, // 30 - { 0, 0, 0, 0 }, // SHOP_ITEM_ADMISSION - { 2, 30, 30, 30 }, // SHOP_ITEM_PHOTO2 - { 2, 30, 30, 30 }, // SHOP_ITEM_PHOTO3 - { 2, 30, 30, 30 }, // SHOP_ITEM_PHOTO4 - { 5, 11, 11, 11 }, // SHOP_ITEM_PRETZEL - { 4, 13, 13, 20 }, // SHOP_ITEM_CHOCOLATE - { 3, 10, 20, 10 }, // SHOP_ITEM_ICED_TEA - { 5, 13, 11, 14 }, // SHOP_ITEM_FUNNEL_CAKE - { 8, 15, 20, 12 }, // SHOP_ITEM_SUNGLASSES - { 7, 17, 17, 20 }, // SHOP_ITEM_BEEF_NOODLES - { 6, 17, 17, 20 }, // SHOP_ITEM_FRIED_RICE_NOODLES - { 4, 13, 13, 15 }, // SHOP_ITEM_WONTON_SOUP - { 5, 14, 14, 16 }, // SHOP_ITEM_MEATBALL_SOUP - { 4, 11, 19, 11 }, // SHOP_ITEM_FRUIT_JUICE - { 4, 10, 14, 10 }, // SHOP_ITEM_SOYBEAN_MILK - { 3, 11, 14, 11 }, // SHOP_ITEM_SU_JONGKWA - { 5, 19, 19, 17 }, // SHOP_ITEM_SUB_SANDWICH - { 4, 8, 8, 8 }, // SHOP_ITEM_COOKIE - { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BOWL_RED - { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_DRINK_CARTON - { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_JUICE_CUP - { 5, 16, 16, 20 }, // SHOP_ITEM_ROAST_SAUSAGE - { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BOWL_BLUE + { 3, 14, 14, 14 }, // SHOP_ITEM_BALLOON + { 15, 30, 30, 30 }, // SHOP_ITEM_TOY + { 1, 7, 7, 8 }, // SHOP_ITEM_MAP + { 2, 30, 30, 30 }, // SHOP_ITEM_PHOTO + { 20, 35, 25, 50 }, // SHOP_ITEM_UMBRELLA + { 3, 12, 20, 10 }, // SHOP_ITEM_DRINK + { 5, 19, 19, 22 }, // SHOP_ITEM_BURGER + { 4, 16, 16, 18 }, // SHOP_ITEM_CHIPS + { 4, 10, 15, 6 }, // SHOP_ITEM_ICE_CREAM + { 3, 9, 9, 6 }, // SHOP_ITEM_CANDYFLOSS + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_CAN + { 0, 0, 0, 0 }, // SHOP_ITEM_RUBBISH + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BURGER_BOX + { 6, 21, 21, 25 }, // SHOP_ITEM_PIZZA + { 0, 0, 0, 0 }, // SHOP_ITEM_VOUCHER + { 5, 13, 13, 11 }, // SHOP_ITEM_POPCORN + { 5, 17, 17, 20 }, // SHOP_ITEM_HOT_DOG + { 11, 22, 20, 18 }, // SHOP_ITEM_TENTACLE + { 9, 27, 32, 24 }, // SHOP_ITEM_HAT + { 4, 10, 10, 10 }, // SHOP_ITEM_CANDY_APPLE + { 20, 37, 37, 37 }, // SHOP_ITEM_TSHIRT + { 4, 8, 7, 10 }, // SHOP_ITEM_DONUT + { 3, 11, 15, 20 }, // SHOP_ITEM_COFFEE + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_CUP + { 5, 19, 19, 22 }, // SHOP_ITEM_CHICKEN + { 4, 11, 21, 10 }, // SHOP_ITEM_LEMONADE + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BOX + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BOTTLE + { 0, 0, 0, 0 }, // 28 + { 0, 0, 0, 0 }, // 29 + { 0, 0, 0, 0 }, // 30 + { 0, 0, 0, 0 }, // SHOP_ITEM_ADMISSION + { 2, 30, 30, 30 }, // SHOP_ITEM_PHOTO2 + { 2, 30, 30, 30 }, // SHOP_ITEM_PHOTO3 + { 2, 30, 30, 30 }, // SHOP_ITEM_PHOTO4 + { 5, 11, 11, 11 }, // SHOP_ITEM_PRETZEL + { 4, 13, 13, 20 }, // SHOP_ITEM_CHOCOLATE + { 3, 10, 20, 10 }, // SHOP_ITEM_ICED_TEA + { 5, 13, 11, 14 }, // SHOP_ITEM_FUNNEL_CAKE + { 8, 15, 20, 12 }, // SHOP_ITEM_SUNGLASSES + { 7, 17, 17, 20 }, // SHOP_ITEM_BEEF_NOODLES + { 6, 17, 17, 20 }, // SHOP_ITEM_FRIED_RICE_NOODLES + { 4, 13, 13, 15 }, // SHOP_ITEM_WONTON_SOUP + { 5, 14, 14, 16 }, // SHOP_ITEM_MEATBALL_SOUP + { 4, 11, 19, 11 }, // SHOP_ITEM_FRUIT_JUICE + { 4, 10, 14, 10 }, // SHOP_ITEM_SOYBEAN_MILK + { 3, 11, 14, 11 }, // SHOP_ITEM_SU_JONGKWA + { 5, 19, 19, 17 }, // SHOP_ITEM_SUB_SANDWICH + { 4, 8, 8, 8 }, // SHOP_ITEM_COOKIE + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BOWL_RED + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_DRINK_CARTON + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_JUICE_CUP + { 5, 16, 16, 20 }, // SHOP_ITEM_ROAST_SAUSAGE + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BOWL_BLUE }; /** rct2: 0x0097CC68 */ const uint8 RideConstructionDefaultTrackType[] = { - TRACK_ELEM_END_STATION, // RIDE_TYPE_SPIRAL_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_STAND_UP_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_INVERTED_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_JUNIOR_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_MINIATURE_RAILWAY - TRACK_ELEM_END_STATION, // RIDE_TYPE_MONORAIL - TRACK_ELEM_END_STATION, // RIDE_TYPE_MINI_SUSPENDED_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_BOAT_RIDE - TRACK_ELEM_END_STATION, // RIDE_TYPE_WOODEN_WILD_MOUSE - TRACK_ELEM_END_STATION, // RIDE_TYPE_STEEPLECHASE - TRACK_ELEM_END_STATION, // RIDE_TYPE_CAR_RIDE - TRACK_ELEM_TOWER_BASE, // RIDE_TYPE_LAUNCHED_FREEFALL - TRACK_ELEM_END_STATION, // RIDE_TYPE_BOBSLEIGH_COASTER - TRACK_ELEM_TOWER_BASE, // RIDE_TYPE_OBSERVATION_TOWER - TRACK_ELEM_END_STATION, // RIDE_TYPE_LOOPING_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_DINGHY_SLIDE - TRACK_ELEM_END_STATION, // RIDE_TYPE_MINE_TRAIN_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_CHAIRLIFT - TRACK_ELEM_END_STATION, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - TRACK_ELEM_MAZE, // RIDE_TYPE_MAZE - FLAT_TRACK_ELEM_2_X_2, // RIDE_TYPE_SPIRAL_SLIDE - TRACK_ELEM_END_STATION, // RIDE_TYPE_GO_KARTS - TRACK_ELEM_END_STATION, // RIDE_TYPE_LOG_FLUME - TRACK_ELEM_END_STATION, // RIDE_TYPE_RIVER_RAPIDS - FLAT_TRACK_ELEM_4_X_4, // RIDE_TYPE_DODGEMS - FLAT_TRACK_ELEM_1_X_5, // RIDE_TYPE_PIRATE_SHIP - FLAT_TRACK_ELEM_1_X_4_B, // RIDE_TYPE_SWINGING_INVERTER_SHIP - FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_FOOD_STALL - FLAT_TRACK_ELEM_1_X_1_B, // RIDE_TYPE_1D - FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_DRINK_STALL - FLAT_TRACK_ELEM_1_X_1_B, // RIDE_TYPE_1F - FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_SHOP - FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_MERRY_GO_ROUND - FLAT_TRACK_ELEM_1_X_1_B, // RIDE_TYPE_22 - FLAT_TRACK_ELEM_1_X_1_B, // RIDE_TYPE_INFORMATION_KIOSK - FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_TOILETS - FLAT_TRACK_ELEM_1_X_4_C, // RIDE_TYPE_FERRIS_WHEEL - FLAT_TRACK_ELEM_2_X_2, // RIDE_TYPE_MOTION_SIMULATOR - FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_3D_CINEMA - FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_TOP_SPIN - FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_SPACE_RINGS - TRACK_ELEM_END_STATION, // RIDE_TYPE_REVERSE_FREEFALL_COASTER - TRACK_ELEM_TOWER_BASE, // RIDE_TYPE_LIFT - TRACK_ELEM_END_STATION, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_CASH_MACHINE - FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_TWIST - FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_HAUNTED_HOUSE - FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_FIRST_AID - FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_CIRCUS_SHOW - TRACK_ELEM_END_STATION, // RIDE_TYPE_GHOST_TRAIN - TRACK_ELEM_END_STATION, // RIDE_TYPE_TWISTER_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_WOODEN_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_WILD_MOUSE - TRACK_ELEM_END_STATION, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT - TRACK_ELEM_END_STATION, // RIDE_TYPE_FLYING_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT - TRACK_ELEM_END_STATION, // RIDE_TYPE_VIRGINIA_REEL - TRACK_ELEM_END_STATION, // RIDE_TYPE_SPLASH_BOATS - TRACK_ELEM_END_STATION, // RIDE_TYPE_MINI_HELICOPTERS - TRACK_ELEM_END_STATION, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_SUSPENDED_MONORAIL - TRACK_ELEM_END_STATION, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT - TRACK_ELEM_END_STATION, // RIDE_TYPE_REVERSER_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_MINI_GOLF - TRACK_ELEM_END_STATION, // RIDE_TYPE_GIGA_COASTER - TRACK_ELEM_TOWER_BASE, // RIDE_TYPE_ROTO_DROP - FLAT_TRACK_ELEM_4_X_4, // RIDE_TYPE_FLYING_SAUCERS - FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_CROOKED_HOUSE - TRACK_ELEM_END_STATION, // RIDE_TYPE_MONORAIL_CYCLES - TRACK_ELEM_END_STATION, // RIDE_TYPE_COMPACT_INVERTED_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_WATER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - FLAT_TRACK_ELEM_1_X_4_A, // RIDE_TYPE_MAGIC_CARPET - TRACK_ELEM_END_STATION, // RIDE_TYPE_SUBMARINE_RIDE - TRACK_ELEM_END_STATION, // RIDE_TYPE_RIVER_RAFTS - FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_50 - FLAT_TRACK_ELEM_4_X_4, // RIDE_TYPE_ENTERPRISE - FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_52 - FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_53 - FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_54 - TRACK_ELEM_END_STATION, // RIDE_TYPE_55 - TRACK_ELEM_END_STATION, // RIDE_TYPE_INVERTED_IMPULSE_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_MINI_ROLLER_COASTER - TRACK_ELEM_END_STATION, // RIDE_TYPE_MINE_RIDE - TRACK_ELEM_END_STATION, // RIDE_TYPE_59 - TRACK_ELEM_END_STATION, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_SPIRAL_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_STAND_UP_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_INVERTED_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_JUNIOR_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_MINIATURE_RAILWAY + TRACK_ELEM_END_STATION, // RIDE_TYPE_MONORAIL + TRACK_ELEM_END_STATION, // RIDE_TYPE_MINI_SUSPENDED_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_BOAT_RIDE + TRACK_ELEM_END_STATION, // RIDE_TYPE_WOODEN_WILD_MOUSE + TRACK_ELEM_END_STATION, // RIDE_TYPE_STEEPLECHASE + TRACK_ELEM_END_STATION, // RIDE_TYPE_CAR_RIDE + TRACK_ELEM_TOWER_BASE, // RIDE_TYPE_LAUNCHED_FREEFALL + TRACK_ELEM_END_STATION, // RIDE_TYPE_BOBSLEIGH_COASTER + TRACK_ELEM_TOWER_BASE, // RIDE_TYPE_OBSERVATION_TOWER + TRACK_ELEM_END_STATION, // RIDE_TYPE_LOOPING_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_DINGHY_SLIDE + TRACK_ELEM_END_STATION, // RIDE_TYPE_MINE_TRAIN_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_CHAIRLIFT + TRACK_ELEM_END_STATION, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER + TRACK_ELEM_MAZE, // RIDE_TYPE_MAZE + FLAT_TRACK_ELEM_2_X_2, // RIDE_TYPE_SPIRAL_SLIDE + TRACK_ELEM_END_STATION, // RIDE_TYPE_GO_KARTS + TRACK_ELEM_END_STATION, // RIDE_TYPE_LOG_FLUME + TRACK_ELEM_END_STATION, // RIDE_TYPE_RIVER_RAPIDS + FLAT_TRACK_ELEM_4_X_4, // RIDE_TYPE_DODGEMS + FLAT_TRACK_ELEM_1_X_5, // RIDE_TYPE_PIRATE_SHIP + FLAT_TRACK_ELEM_1_X_4_B, // RIDE_TYPE_SWINGING_INVERTER_SHIP + FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_FOOD_STALL + FLAT_TRACK_ELEM_1_X_1_B, // RIDE_TYPE_1D + FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_DRINK_STALL + FLAT_TRACK_ELEM_1_X_1_B, // RIDE_TYPE_1F + FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_SHOP + FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_MERRY_GO_ROUND + FLAT_TRACK_ELEM_1_X_1_B, // RIDE_TYPE_22 + FLAT_TRACK_ELEM_1_X_1_B, // RIDE_TYPE_INFORMATION_KIOSK + FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_TOILETS + FLAT_TRACK_ELEM_1_X_4_C, // RIDE_TYPE_FERRIS_WHEEL + FLAT_TRACK_ELEM_2_X_2, // RIDE_TYPE_MOTION_SIMULATOR + FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_3D_CINEMA + FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_TOP_SPIN + FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_SPACE_RINGS + TRACK_ELEM_END_STATION, // RIDE_TYPE_REVERSE_FREEFALL_COASTER + TRACK_ELEM_TOWER_BASE, // RIDE_TYPE_LIFT + TRACK_ELEM_END_STATION, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER + FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_CASH_MACHINE + FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_TWIST + FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_HAUNTED_HOUSE + FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_FIRST_AID + FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_CIRCUS_SHOW + TRACK_ELEM_END_STATION, // RIDE_TYPE_GHOST_TRAIN + TRACK_ELEM_END_STATION, // RIDE_TYPE_TWISTER_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_WOODEN_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_WILD_MOUSE + TRACK_ELEM_END_STATION, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT + TRACK_ELEM_END_STATION, // RIDE_TYPE_FLYING_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT + TRACK_ELEM_END_STATION, // RIDE_TYPE_VIRGINIA_REEL + TRACK_ELEM_END_STATION, // RIDE_TYPE_SPLASH_BOATS + TRACK_ELEM_END_STATION, // RIDE_TYPE_MINI_HELICOPTERS + TRACK_ELEM_END_STATION, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_SUSPENDED_MONORAIL + TRACK_ELEM_END_STATION, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT + TRACK_ELEM_END_STATION, // RIDE_TYPE_REVERSER_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_MINI_GOLF + TRACK_ELEM_END_STATION, // RIDE_TYPE_GIGA_COASTER + TRACK_ELEM_TOWER_BASE, // RIDE_TYPE_ROTO_DROP + FLAT_TRACK_ELEM_4_X_4, // RIDE_TYPE_FLYING_SAUCERS + FLAT_TRACK_ELEM_3_X_3, // RIDE_TYPE_CROOKED_HOUSE + TRACK_ELEM_END_STATION, // RIDE_TYPE_MONORAIL_CYCLES + TRACK_ELEM_END_STATION, // RIDE_TYPE_COMPACT_INVERTED_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_WATER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER + FLAT_TRACK_ELEM_1_X_4_A, // RIDE_TYPE_MAGIC_CARPET + TRACK_ELEM_END_STATION, // RIDE_TYPE_SUBMARINE_RIDE + TRACK_ELEM_END_STATION, // RIDE_TYPE_RIVER_RAFTS + FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_50 + FLAT_TRACK_ELEM_4_X_4, // RIDE_TYPE_ENTERPRISE + FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_52 + FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_53 + FLAT_TRACK_ELEM_1_X_1_A, // RIDE_TYPE_54 + TRACK_ELEM_END_STATION, // RIDE_TYPE_55 + TRACK_ELEM_END_STATION, // RIDE_TYPE_INVERTED_IMPULSE_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_MINI_ROLLER_COASTER + TRACK_ELEM_END_STATION, // RIDE_TYPE_MINE_RIDE + TRACK_ELEM_END_STATION, // RIDE_TYPE_59 + TRACK_ELEM_END_STATION, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; -#define TRACK_COLOUR_PRESETS(...) {countof(((track_colour[]){__VA_ARGS__})), {__VA_ARGS__}} +#define TRACK_COLOUR_PRESETS(...) {countof(((track_colour[]){__VA_ARGS__})), {__VA_ARGS__}} -#define DEFAULT_FLAT_RIDE_COLOUR_PRESET TRACK_COLOUR_PRESETS( { COLOUR_BRIGHT_RED, COLOUR_LIGHT_BLUE, COLOUR_YELLOW } ) -#define DEFAULT_STALL_COLOUR_PRESET TRACK_COLOUR_PRESETS( { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED } ) +#define DEFAULT_FLAT_RIDE_COLOUR_PRESET TRACK_COLOUR_PRESETS( { COLOUR_BRIGHT_RED, COLOUR_LIGHT_BLUE, COLOUR_YELLOW } ) +#define DEFAULT_STALL_COLOUR_PRESET TRACK_COLOUR_PRESETS( { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED } ) const track_colour_preset_list RideColourPresets[] = { - // RIDE_TYPE_SPIRAL_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_DARK_GREEN }, - { COLOUR_GREY, COLOUR_GREY, COLOUR_BORDEAUX_RED }, - ), - - // RIDE_TYPE_STAND_UP_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_BLACK }, - { COLOUR_BLACK, COLOUR_LIGHT_BLUE, COLOUR_BLACK }, - { COLOUR_LIGHT_ORANGE, COLOUR_WHITE, COLOUR_LIGHT_ORANGE }, - { COLOUR_BORDEAUX_RED, COLOUR_YELLOW, COLOUR_BORDEAUX_RED }, - { COLOUR_MOSS_GREEN, COLOUR_MOSS_GREEN, COLOUR_WHITE }, - { COLOUR_SATURATED_BROWN, COLOUR_LIGHT_ORANGE, COLOUR_SATURATED_BROWN }, - ), - - // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_OLIVE_GREEN, COLOUR_OLIVE_GREEN, COLOUR_LIGHT_BROWN }, - { COLOUR_BLACK, COLOUR_LIGHT_BLUE, COLOUR_BLACK }, - { COLOUR_SATURATED_BROWN, COLOUR_YELLOW, COLOUR_SATURATED_BROWN }, - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_OLIVE_GREEN }, - ), - - // RIDE_TYPE_INVERTED_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, - { COLOUR_WHITE, COLOUR_YELLOW, COLOUR_WHITE }, - { COLOUR_SALMON_PINK, COLOUR_SALMON_PINK, COLOUR_GREY }, - { COLOUR_BLACK, COLOUR_BRIGHT_RED, COLOUR_BLACK }, - { COLOUR_SATURATED_BROWN, COLOUR_WHITE, COLOUR_SATURATED_BROWN }, - { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_BLACK }, - ), - - // RIDE_TYPE_JUNIOR_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_SATURATED_BROWN }, - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_DARK_OLIVE_GREEN }, - { COLOUR_TEAL, COLOUR_YELLOW, COLOUR_TEAL }, - { COLOUR_SATURATED_BROWN, COLOUR_SATURATED_BROWN, COLOUR_OLIVE_GREEN }, - { COLOUR_BLACK, COLOUR_LIGHT_BLUE, COLOUR_BLACK }, - ), - - // RIDE_TYPE_MINIATURE_RAILWAY - TRACK_COLOUR_PRESETS( - { COLOUR_LIGHT_BLUE, COLOUR_WHITE, COLOUR_DARK_BROWN }, - { COLOUR_BRIGHT_RED, COLOUR_WHITE, COLOUR_BLACK }, - ), - - // RIDE_TYPE_MONORAIL - TRACK_COLOUR_PRESETS( - { COLOUR_GREY, COLOUR_GREY, COLOUR_DARK_OLIVE_GREEN }, - { COLOUR_GREY, COLOUR_GREY, COLOUR_SATURATED_BROWN }, - { COLOUR_GREY, COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED }, - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, - { COLOUR_OLIVE_GREEN, COLOUR_OLIVE_GREEN, COLOUR_WHITE }, - ), - - // RIDE_TYPE_MINI_SUSPENDED_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BLACK, COLOUR_BLACK, COLOUR_SATURATED_BROWN }, - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_BLACK }, - ), - - // RIDE_TYPE_BOAT_RIDE - TRACK_COLOUR_PRESETS( - { COLOUR_MOSS_GREEN, COLOUR_MOSS_GREEN, COLOUR_WHITE }, - { COLOUR_BLACK, COLOUR_BLACK, COLOUR_DARK_GREEN }, - { COLOUR_LIGHT_BROWN, COLOUR_LIGHT_BROWN, COLOUR_YELLOW }, - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED }, - ), - - // RIDE_TYPE_WOODEN_WILD_MOUSE - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_WHITE }, - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_SATURATED_BROWN }, - { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_SATURATED_BROWN }, - ), - - // RIDE_TYPE_STEEPLECHASE - TRACK_COLOUR_PRESETS( - { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_BLACK }, - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_BLACK }, - { COLOUR_BRIGHT_GREEN, COLOUR_BRIGHT_GREEN, COLOUR_BLACK }, - { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_BLACK }, - { COLOUR_LIGHT_ORANGE, COLOUR_LIGHT_ORANGE, COLOUR_BLACK }, - { COLOUR_WHITE, COLOUR_WHITE, COLOUR_BLACK }, - { COLOUR_BRIGHT_PINK, COLOUR_BRIGHT_PINK, COLOUR_BLACK }, - ), - - // RIDE_TYPE_CAR_RIDE - TRACK_COLOUR_PRESETS( - { COLOUR_SATURATED_BROWN, COLOUR_SATURATED_BROWN, COLOUR_GREY }, - { COLOUR_LIGHT_PURPLE, COLOUR_LIGHT_PURPLE, COLOUR_WHITE }, - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_OLIVE_GREEN }, - { COLOUR_GREY, COLOUR_GREY, COLOUR_BLACK }, - ), - - // RIDE_TYPE_LAUNCHED_FREEFALL - TRACK_COLOUR_PRESETS( - { COLOUR_WHITE, COLOUR_BRIGHT_RED, COLOUR_LIGHT_PURPLE }, - { COLOUR_DARK_GREEN, COLOUR_YELLOW, COLOUR_WHITE }, - ), - - // RIDE_TYPE_BOBSLEIGH_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_WHITE, COLOUR_BRIGHT_RED, COLOUR_WHITE }, - { COLOUR_LIGHT_BLUE, COLOUR_WHITE, COLOUR_BLACK }, - { COLOUR_YELLOW, COLOUR_BRIGHT_RED, COLOUR_BLACK }, - ), - - // RIDE_TYPE_OBSERVATION_TOWER - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_RED, COLOUR_BLACK, COLOUR_GREY }, - { COLOUR_LIGHT_BLUE, COLOUR_YELLOW, COLOUR_GREY }, - ), - - // RIDE_TYPE_LOOPING_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_LIGHT_BROWN, COLOUR_LIGHT_BROWN, COLOUR_BLACK }, - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_BLACK }, - { COLOUR_WHITE, COLOUR_WHITE, COLOUR_SATURATED_RED }, - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_WHITE }, - { COLOUR_LIGHT_PURPLE, COLOUR_LIGHT_PURPLE, COLOUR_DARK_GREEN }, - { COLOUR_OLIVE_GREEN, COLOUR_OLIVE_GREEN, COLOUR_LIGHT_BROWN }, - { COLOUR_GREY, COLOUR_LIGHT_ORANGE, COLOUR_GREY }, - ), - - // RIDE_TYPE_DINGHY_SLIDE - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_GREEN, COLOUR_SATURATED_BROWN, COLOUR_DARK_GREEN }, - { COLOUR_TEAL, COLOUR_BORDEAUX_RED, COLOUR_TEAL }, - { COLOUR_BRIGHT_RED, COLOUR_GREY, COLOUR_SATURATED_RED }, - ), - - // RIDE_TYPE_MINE_TRAIN_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_BROWN, COLOUR_GREY, COLOUR_DARK_BROWN }, - { COLOUR_DARK_BROWN, COLOUR_GREY, COLOUR_BLACK }, - ), - - // RIDE_TYPE_CHAIRLIFT - TRACK_COLOUR_PRESETS( - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_GREY }, - { COLOUR_WHITE, COLOUR_WHITE, COLOUR_OLIVE_GREEN }, - { COLOUR_LIGHT_BROWN, COLOUR_LIGHT_BROWN, COLOUR_WHITE }, - ), - - // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, - { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_WHITE }, - { COLOUR_BLACK, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, - { COLOUR_WHITE, COLOUR_WHITE, COLOUR_DARK_GREEN }, - ), - - // RIDE_TYPE_MAZE - TRACK_COLOUR_PRESETS( - { COLOUR_GREY, COLOUR_GREY, COLOUR_GREY }, - ), - - // RIDE_TYPE_SPIRAL_SLIDE - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_RED, COLOUR_YELLOW, COLOUR_DARK_BROWN }, - { COLOUR_LIGHT_BLUE, COLOUR_BRIGHT_PINK, COLOUR_LIGHT_PURPLE }, - ), - - // RIDE_TYPE_GO_KARTS - TRACK_COLOUR_PRESETS( - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_DARK_BROWN }, - { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_BORDEAUX_RED }, - { COLOUR_DARK_GREEN, COLOUR_DARK_GREEN, COLOUR_DARK_GREEN }, - { COLOUR_DARK_BROWN, COLOUR_DARK_BROWN, COLOUR_BLACK }, - ), - - // RIDE_TYPE_LOG_FLUME - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_BROWN, COLOUR_DARK_BROWN, COLOUR_GREY }, - { COLOUR_OLIVE_GREEN, COLOUR_BLACK, COLOUR_GREY }, - ), - - // RIDE_TYPE_RIVER_RAPIDS - TRACK_COLOUR_PRESETS( - { COLOUR_WHITE, COLOUR_BLACK, COLOUR_DARK_BROWN }, - ), - - // RIDE_TYPE_DODGEMS - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_RED, COLOUR_SATURATED_BROWN, COLOUR_SATURATED_BROWN }, - { COLOUR_LIGHT_BLUE, COLOUR_GREY, COLOUR_GREY }, - { COLOUR_DARK_GREEN, COLOUR_BLACK, COLOUR_DARK_GREEN }, - ), - - // RIDE_TYPE_PIRATE_SHIP - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_BROWN, COLOUR_DARK_BROWN, COLOUR_BLACK }, - ), - - // RIDE_TYPE_SWINGING_INVERTER_SHIP - TRACK_COLOUR_PRESETS( - { COLOUR_BORDEAUX_RED, COLOUR_YELLOW, COLOUR_BLACK }, - { COLOUR_BLACK, COLOUR_SATURATED_BROWN, COLOUR_BLACK }, - ), - - // RIDE_TYPE_FOOD_STALL - DEFAULT_STALL_COLOUR_PRESET, - - // RIDE_TYPE_1D - DEFAULT_STALL_COLOUR_PRESET, - - // RIDE_TYPE_DRINK_STALL - DEFAULT_STALL_COLOUR_PRESET, - - // RIDE_TYPE_1F - DEFAULT_STALL_COLOUR_PRESET, - - // RIDE_TYPE_SHOP - DEFAULT_STALL_COLOUR_PRESET, - - // RIDE_TYPE_MERRY_GO_ROUND - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_22 - DEFAULT_STALL_COLOUR_PRESET, - - // RIDE_TYPE_INFORMATION_KIOSK - DEFAULT_STALL_COLOUR_PRESET, - - // RIDE_TYPE_TOILETS - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_FERRIS_WHEEL - TRACK_COLOUR_PRESETS( - { COLOUR_BLACK, COLOUR_BLACK, COLOUR_BLACK }, - { COLOUR_GREY, COLOUR_GREY, COLOUR_GREY }, - ), - - // RIDE_TYPE_MOTION_SIMULATOR - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_3D_CINEMA - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_TOP_SPIN - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_RED, COLOUR_YELLOW, COLOUR_YELLOW }, - { COLOUR_TEAL, COLOUR_WHITE, COLOUR_WHITE }, - { COLOUR_DARK_GREEN, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED }, - ), - - // RIDE_TYPE_SPACE_RINGS - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_REVERSE_FREEFALL_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_GREEN, COLOUR_YELLOW, COLOUR_DARK_GREEN }, - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_YELLOW }, - { COLOUR_GREY, COLOUR_SALMON_PINK, COLOUR_GREY }, - ), - - // RIDE_TYPE_LIFT - TRACK_COLOUR_PRESETS( - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_GREY }, - { COLOUR_DARK_GREEN, COLOUR_DARK_GREEN, COLOUR_GREY }, - { COLOUR_BLACK, COLOUR_BLACK, COLOUR_GREY }, - ), - - // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BLACK, COLOUR_GREY, COLOUR_BLACK }, - { COLOUR_DARK_GREEN, COLOUR_DARK_GREEN, COLOUR_GREY }, - ), - - // RIDE_TYPE_CASH_MACHINE - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_TWIST - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_HAUNTED_HOUSE - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_FIRST_AID - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_CIRCUS_SHOW - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_GHOST_TRAIN - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_GREEN, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, - { COLOUR_TEAL, COLOUR_WHITE, COLOUR_DARK_BROWN }, - { COLOUR_DARK_BROWN, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, - { COLOUR_BORDEAUX_RED, COLOUR_YELLOW, COLOUR_BLACK }, - ), - - // RIDE_TYPE_TWISTER_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_BORDEAUX_RED }, - { COLOUR_AQUAMARINE, COLOUR_AQUAMARINE, COLOUR_DARK_PURPLE }, - { COLOUR_WHITE, COLOUR_WHITE, COLOUR_LIGHT_BLUE }, - { COLOUR_DARK_GREEN, COLOUR_MOSS_GREEN, COLOUR_DARK_BROWN }, - { COLOUR_BORDEAUX_RED, COLOUR_LIGHT_ORANGE, COLOUR_WHITE }, - ), - - // RIDE_TYPE_WOODEN_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BORDEAUX_RED, COLOUR_BLACK, COLOUR_WHITE }, - { COLOUR_BRIGHT_RED, COLOUR_BLACK, COLOUR_GREY }, - { COLOUR_YELLOW, COLOUR_DARK_BROWN, COLOUR_DARK_BROWN }, - { COLOUR_TEAL, COLOUR_BORDEAUX_RED, COLOUR_WHITE }, - { COLOUR_LIGHT_BLUE, COLOUR_BLACK, COLOUR_BLACK }, - ), - - // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_WHITE, COLOUR_DARK_BROWN, COLOUR_WHITE }, - { COLOUR_SATURATED_BROWN, COLOUR_WHITE, COLOUR_SATURATED_BROWN }, - { COLOUR_DARK_BROWN, COLOUR_LIGHT_BROWN, COLOUR_DARK_BROWN }, - ), - - // RIDE_TYPE_WILD_MOUSE - TRACK_COLOUR_PRESETS( - { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_YELLOW }, - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_WHITE }, - { COLOUR_DARK_PURPLE, COLOUR_BRIGHT_PINK, COLOUR_DARK_PURPLE }, - { COLOUR_LIGHT_BROWN, COLOUR_LIGHT_BROWN, COLOUR_BORDEAUX_RED }, - ), - - // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_PINK, COLOUR_YELLOW, COLOUR_YELLOW }, - { COLOUR_LIGHT_PURPLE, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED }, - { COLOUR_BORDEAUX_RED, COLOUR_WHITE, COLOUR_WHITE }, - ), - - // RIDE_TYPE_38 - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_PINK, COLOUR_YELLOW, COLOUR_YELLOW }, - { COLOUR_LIGHT_PURPLE, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED }, - { COLOUR_BORDEAUX_RED, COLOUR_WHITE, COLOUR_WHITE }, - ), - - // RIDE_TYPE_FLYING_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_OLIVE_GREEN, COLOUR_OLIVE_GREEN, COLOUR_TEAL }, - { COLOUR_TEAL, COLOUR_TEAL, COLOUR_BORDEAUX_RED }, - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_DARK_PURPLE }, - ), - - // RIDE_TYPE_3A - TRACK_COLOUR_PRESETS( - { COLOUR_OLIVE_GREEN, COLOUR_OLIVE_GREEN, COLOUR_TEAL }, - { COLOUR_TEAL, COLOUR_TEAL, COLOUR_BORDEAUX_RED }, - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_DARK_PURPLE }, - ), - - // RIDE_TYPE_VIRGINIA_REEL - TRACK_COLOUR_PRESETS( - { COLOUR_SATURATED_BROWN, COLOUR_GREY, COLOUR_SATURATED_BROWN }, - { COLOUR_BLACK, COLOUR_DARK_BROWN, COLOUR_DARK_BROWN }, - { COLOUR_DARK_BROWN, COLOUR_BORDEAUX_RED, COLOUR_DARK_BROWN }, - ), - - // RIDE_TYPE_SPLASH_BOATS - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_BROWN, COLOUR_DARK_BROWN, COLOUR_BLACK }, - { COLOUR_DARK_GREEN, COLOUR_DARK_GREEN, COLOUR_GREY }, - ), - - // RIDE_TYPE_MINI_HELICOPTERS - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_PURPLE, COLOUR_YELLOW, COLOUR_DARK_PURPLE }, - { COLOUR_WHITE, COLOUR_WHITE, COLOUR_BRIGHT_RED }, - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_YELLOW }, - { COLOUR_BRIGHT_PINK, COLOUR_BRIGHT_PINK, COLOUR_WHITE }, - { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_WHITE }, - ), - - // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_YELLOW }, - { COLOUR_DARK_PURPLE, COLOUR_DARK_PURPLE, COLOUR_YELLOW }, - { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_DARK_GREEN }, - ), - - // RIDE_TYPE_SUSPENDED_MONORAIL - TRACK_COLOUR_PRESETS( - { COLOUR_BORDEAUX_RED, COLOUR_BLACK, COLOUR_BLACK }, - { COLOUR_DARK_PURPLE, COLOUR_DARK_PURPLE, COLOUR_BLACK }, - { COLOUR_DARK_GREEN, COLOUR_DARK_GREEN, COLOUR_BLACK }, - ), - - // RIDE_TYPE_40 - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_YELLOW }, - { COLOUR_DARK_PURPLE, COLOUR_DARK_PURPLE, COLOUR_YELLOW }, - { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_DARK_GREEN }, - ), - - // RIDE_TYPE_REVERSER_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_BROWN, COLOUR_LIGHT_BROWN, COLOUR_DARK_BROWN }, - { COLOUR_SATURATED_BROWN, COLOUR_BORDEAUX_RED, COLOUR_SATURATED_BROWN }, - ), - - // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_WHITE, COLOUR_LIGHT_BLUE, COLOUR_WHITE }, - { COLOUR_BORDEAUX_RED, COLOUR_YELLOW, COLOUR_BLACK }, - { COLOUR_DARK_PURPLE, COLOUR_WHITE, COLOUR_DARK_GREEN }, - ), - - // RIDE_TYPE_MINI_GOLF - TRACK_COLOUR_PRESETS( - { COLOUR_SATURATED_GREEN, COLOUR_DARK_BROWN, COLOUR_BLACK }, - { COLOUR_MOSS_GREEN, COLOUR_BORDEAUX_RED, COLOUR_DARK_BROWN }, - ), - - // RIDE_TYPE_GIGA_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_WHITE }, - { COLOUR_WHITE, COLOUR_WHITE, COLOUR_YELLOW }, - { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_BORDEAUX_RED }, - { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_BLACK }, - ), - - // RIDE_TYPE_ROTO_DROP - TRACK_COLOUR_PRESETS( - { COLOUR_BORDEAUX_RED, COLOUR_YELLOW, COLOUR_GREY }, - { COLOUR_BLACK, COLOUR_LIGHT_BLUE, COLOUR_GREY }, - ), - - // RIDE_TYPE_FLYING_SAUCERS - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_PURPLE, COLOUR_GREY, COLOUR_BLACK }, - { COLOUR_BLACK, COLOUR_YELLOW, COLOUR_BLACK }, - ), - - // RIDE_TYPE_CROOKED_HOUSE - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_RED, COLOUR_BLACK, COLOUR_GREY }, - ), - - // RIDE_TYPE_MONORAIL_CYCLES - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_BROWN, COLOUR_GREY, COLOUR_DARK_BROWN }, - { COLOUR_GREY, COLOUR_BLACK, COLOUR_GREY }, - ), - - // RIDE_TYPE_COMPACT_INVERTED_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_YELLOW, COLOUR_BRIGHT_YELLOW, COLOUR_BRIGHT_RED }, - { COLOUR_ICY_BLUE, COLOUR_ICY_BLUE, COLOUR_DARK_GREEN }, - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_YELLOW }, - { COLOUR_WHITE, COLOUR_WHITE, COLOUR_DARK_GREEN }, - ), - - // RIDE_TYPE_WATER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_GREEN, COLOUR_DARK_GREEN, COLOUR_BLACK }, - { COLOUR_DARK_BROWN, COLOUR_DARK_BROWN, COLOUR_BORDEAUX_RED }, - { COLOUR_WHITE, COLOUR_WHITE, COLOUR_DARK_PURPLE }, - ), - - // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_WHITE, COLOUR_BRIGHT_RED, COLOUR_DARK_BROWN }, - { COLOUR_BRIGHT_RED, COLOUR_LIGHT_BLUE, COLOUR_WHITE }, - { COLOUR_LIGHT_ORANGE, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_YELLOW }, - ), - - // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_YELLOW, COLOUR_BRIGHT_YELLOW, COLOUR_BRIGHT_RED }, - { COLOUR_BLACK, COLOUR_ICY_BLUE, COLOUR_BLACK }, - { COLOUR_WHITE, COLOUR_WHITE, COLOUR_YELLOW }, - ), - - // RIDE_TYPE_MAGIC_CARPET - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_PURPLE, COLOUR_WHITE, COLOUR_BLACK }, - { COLOUR_YELLOW, COLOUR_WHITE, COLOUR_BLACK }, - { COLOUR_BRIGHT_RED, COLOUR_YELLOW, COLOUR_BLACK }, - ), - - // RIDE_TYPE_SUBMARINE_RIDE - TRACK_COLOUR_PRESETS( - { COLOUR_GREY, COLOUR_GREY, COLOUR_BLACK }, - ), - - // RIDE_TYPE_RIVER_RAFTS - TRACK_COLOUR_PRESETS( - { COLOUR_BLACK, COLOUR_BLACK, COLOUR_SATURATED_BROWN }, - ), - - // RIDE_TYPE_50 - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_ENTERPRISE - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_52 - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_53 - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_54 - DEFAULT_FLAT_RIDE_COLOUR_PRESET, - - // RIDE_TYPE_55 - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_GREY }, - { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_SATURATED_BROWN }, - ), - - // RIDE_TYPE_INVERTED_IMPULSE_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_GREY }, - { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_WHITE }, - { COLOUR_BRIGHT_PURPLE, COLOUR_BRIGHT_PURPLE, COLOUR_BORDEAUX_RED }, - ), - - // RIDE_TYPE_MINI_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_GREY, COLOUR_GREY, COLOUR_DARK_BROWN }, - { COLOUR_MOSS_GREEN, COLOUR_MOSS_GREEN, COLOUR_DARK_BROWN }, - { COLOUR_SALMON_PINK, COLOUR_SALMON_PINK, COLOUR_BORDEAUX_RED }, - ), - - // RIDE_TYPE_MINE_RIDE - TRACK_COLOUR_PRESETS( - { COLOUR_DARK_BROWN, COLOUR_DARK_BROWN, COLOUR_BLACK }, - { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_DARK_BROWN }, - ), - - // RIDE_TYPE_59 - TRACK_COLOUR_PRESETS( - { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_YELLOW }, - ), - - // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER - TRACK_COLOUR_PRESETS( - { COLOUR_BRIGHT_GREEN, COLOUR_BRIGHT_GREEN, COLOUR_WHITE }, - { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_DARK_BROWN }, - { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_SATURATED_GREEN }, - ), + // RIDE_TYPE_SPIRAL_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_DARK_GREEN }, + { COLOUR_GREY, COLOUR_GREY, COLOUR_BORDEAUX_RED }, + ), + + // RIDE_TYPE_STAND_UP_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_BLACK }, + { COLOUR_BLACK, COLOUR_LIGHT_BLUE, COLOUR_BLACK }, + { COLOUR_LIGHT_ORANGE, COLOUR_WHITE, COLOUR_LIGHT_ORANGE }, + { COLOUR_BORDEAUX_RED, COLOUR_YELLOW, COLOUR_BORDEAUX_RED }, + { COLOUR_MOSS_GREEN, COLOUR_MOSS_GREEN, COLOUR_WHITE }, + { COLOUR_SATURATED_BROWN, COLOUR_LIGHT_ORANGE, COLOUR_SATURATED_BROWN }, + ), + + // RIDE_TYPE_SUSPENDED_SWINGING_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_OLIVE_GREEN, COLOUR_OLIVE_GREEN, COLOUR_LIGHT_BROWN }, + { COLOUR_BLACK, COLOUR_LIGHT_BLUE, COLOUR_BLACK }, + { COLOUR_SATURATED_BROWN, COLOUR_YELLOW, COLOUR_SATURATED_BROWN }, + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_OLIVE_GREEN }, + ), + + // RIDE_TYPE_INVERTED_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, + { COLOUR_WHITE, COLOUR_YELLOW, COLOUR_WHITE }, + { COLOUR_SALMON_PINK, COLOUR_SALMON_PINK, COLOUR_GREY }, + { COLOUR_BLACK, COLOUR_BRIGHT_RED, COLOUR_BLACK }, + { COLOUR_SATURATED_BROWN, COLOUR_WHITE, COLOUR_SATURATED_BROWN }, + { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_BLACK }, + ), + + // RIDE_TYPE_JUNIOR_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_SATURATED_BROWN }, + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_DARK_OLIVE_GREEN }, + { COLOUR_TEAL, COLOUR_YELLOW, COLOUR_TEAL }, + { COLOUR_SATURATED_BROWN, COLOUR_SATURATED_BROWN, COLOUR_OLIVE_GREEN }, + { COLOUR_BLACK, COLOUR_LIGHT_BLUE, COLOUR_BLACK }, + ), + + // RIDE_TYPE_MINIATURE_RAILWAY + TRACK_COLOUR_PRESETS( + { COLOUR_LIGHT_BLUE, COLOUR_WHITE, COLOUR_DARK_BROWN }, + { COLOUR_BRIGHT_RED, COLOUR_WHITE, COLOUR_BLACK }, + ), + + // RIDE_TYPE_MONORAIL + TRACK_COLOUR_PRESETS( + { COLOUR_GREY, COLOUR_GREY, COLOUR_DARK_OLIVE_GREEN }, + { COLOUR_GREY, COLOUR_GREY, COLOUR_SATURATED_BROWN }, + { COLOUR_GREY, COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED }, + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, + { COLOUR_OLIVE_GREEN, COLOUR_OLIVE_GREEN, COLOUR_WHITE }, + ), + + // RIDE_TYPE_MINI_SUSPENDED_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BLACK, COLOUR_BLACK, COLOUR_SATURATED_BROWN }, + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_BLACK }, + ), + + // RIDE_TYPE_BOAT_RIDE + TRACK_COLOUR_PRESETS( + { COLOUR_MOSS_GREEN, COLOUR_MOSS_GREEN, COLOUR_WHITE }, + { COLOUR_BLACK, COLOUR_BLACK, COLOUR_DARK_GREEN }, + { COLOUR_LIGHT_BROWN, COLOUR_LIGHT_BROWN, COLOUR_YELLOW }, + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED }, + ), + + // RIDE_TYPE_WOODEN_WILD_MOUSE + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_WHITE }, + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_SATURATED_BROWN }, + { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_SATURATED_BROWN }, + ), + + // RIDE_TYPE_STEEPLECHASE + TRACK_COLOUR_PRESETS( + { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_BLACK }, + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_BLACK }, + { COLOUR_BRIGHT_GREEN, COLOUR_BRIGHT_GREEN, COLOUR_BLACK }, + { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_BLACK }, + { COLOUR_LIGHT_ORANGE, COLOUR_LIGHT_ORANGE, COLOUR_BLACK }, + { COLOUR_WHITE, COLOUR_WHITE, COLOUR_BLACK }, + { COLOUR_BRIGHT_PINK, COLOUR_BRIGHT_PINK, COLOUR_BLACK }, + ), + + // RIDE_TYPE_CAR_RIDE + TRACK_COLOUR_PRESETS( + { COLOUR_SATURATED_BROWN, COLOUR_SATURATED_BROWN, COLOUR_GREY }, + { COLOUR_LIGHT_PURPLE, COLOUR_LIGHT_PURPLE, COLOUR_WHITE }, + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_OLIVE_GREEN }, + { COLOUR_GREY, COLOUR_GREY, COLOUR_BLACK }, + ), + + // RIDE_TYPE_LAUNCHED_FREEFALL + TRACK_COLOUR_PRESETS( + { COLOUR_WHITE, COLOUR_BRIGHT_RED, COLOUR_LIGHT_PURPLE }, + { COLOUR_DARK_GREEN, COLOUR_YELLOW, COLOUR_WHITE }, + ), + + // RIDE_TYPE_BOBSLEIGH_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_WHITE, COLOUR_BRIGHT_RED, COLOUR_WHITE }, + { COLOUR_LIGHT_BLUE, COLOUR_WHITE, COLOUR_BLACK }, + { COLOUR_YELLOW, COLOUR_BRIGHT_RED, COLOUR_BLACK }, + ), + + // RIDE_TYPE_OBSERVATION_TOWER + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_RED, COLOUR_BLACK, COLOUR_GREY }, + { COLOUR_LIGHT_BLUE, COLOUR_YELLOW, COLOUR_GREY }, + ), + + // RIDE_TYPE_LOOPING_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_LIGHT_BROWN, COLOUR_LIGHT_BROWN, COLOUR_BLACK }, + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_BLACK }, + { COLOUR_WHITE, COLOUR_WHITE, COLOUR_SATURATED_RED }, + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_WHITE }, + { COLOUR_LIGHT_PURPLE, COLOUR_LIGHT_PURPLE, COLOUR_DARK_GREEN }, + { COLOUR_OLIVE_GREEN, COLOUR_OLIVE_GREEN, COLOUR_LIGHT_BROWN }, + { COLOUR_GREY, COLOUR_LIGHT_ORANGE, COLOUR_GREY }, + ), + + // RIDE_TYPE_DINGHY_SLIDE + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_GREEN, COLOUR_SATURATED_BROWN, COLOUR_DARK_GREEN }, + { COLOUR_TEAL, COLOUR_BORDEAUX_RED, COLOUR_TEAL }, + { COLOUR_BRIGHT_RED, COLOUR_GREY, COLOUR_SATURATED_RED }, + ), + + // RIDE_TYPE_MINE_TRAIN_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_BROWN, COLOUR_GREY, COLOUR_DARK_BROWN }, + { COLOUR_DARK_BROWN, COLOUR_GREY, COLOUR_BLACK }, + ), + + // RIDE_TYPE_CHAIRLIFT + TRACK_COLOUR_PRESETS( + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_GREY }, + { COLOUR_WHITE, COLOUR_WHITE, COLOUR_OLIVE_GREEN }, + { COLOUR_LIGHT_BROWN, COLOUR_LIGHT_BROWN, COLOUR_WHITE }, + ), + + // RIDE_TYPE_CORKSCREW_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, + { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_WHITE }, + { COLOUR_BLACK, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, + { COLOUR_WHITE, COLOUR_WHITE, COLOUR_DARK_GREEN }, + ), + + // RIDE_TYPE_MAZE + TRACK_COLOUR_PRESETS( + { COLOUR_GREY, COLOUR_GREY, COLOUR_GREY }, + ), + + // RIDE_TYPE_SPIRAL_SLIDE + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_RED, COLOUR_YELLOW, COLOUR_DARK_BROWN }, + { COLOUR_LIGHT_BLUE, COLOUR_BRIGHT_PINK, COLOUR_LIGHT_PURPLE }, + ), + + // RIDE_TYPE_GO_KARTS + TRACK_COLOUR_PRESETS( + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_DARK_BROWN }, + { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_BORDEAUX_RED }, + { COLOUR_DARK_GREEN, COLOUR_DARK_GREEN, COLOUR_DARK_GREEN }, + { COLOUR_DARK_BROWN, COLOUR_DARK_BROWN, COLOUR_BLACK }, + ), + + // RIDE_TYPE_LOG_FLUME + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_BROWN, COLOUR_DARK_BROWN, COLOUR_GREY }, + { COLOUR_OLIVE_GREEN, COLOUR_BLACK, COLOUR_GREY }, + ), + + // RIDE_TYPE_RIVER_RAPIDS + TRACK_COLOUR_PRESETS( + { COLOUR_WHITE, COLOUR_BLACK, COLOUR_DARK_BROWN }, + ), + + // RIDE_TYPE_DODGEMS + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_RED, COLOUR_SATURATED_BROWN, COLOUR_SATURATED_BROWN }, + { COLOUR_LIGHT_BLUE, COLOUR_GREY, COLOUR_GREY }, + { COLOUR_DARK_GREEN, COLOUR_BLACK, COLOUR_DARK_GREEN }, + ), + + // RIDE_TYPE_PIRATE_SHIP + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_BROWN, COLOUR_DARK_BROWN, COLOUR_BLACK }, + ), + + // RIDE_TYPE_SWINGING_INVERTER_SHIP + TRACK_COLOUR_PRESETS( + { COLOUR_BORDEAUX_RED, COLOUR_YELLOW, COLOUR_BLACK }, + { COLOUR_BLACK, COLOUR_SATURATED_BROWN, COLOUR_BLACK }, + ), + + // RIDE_TYPE_FOOD_STALL + DEFAULT_STALL_COLOUR_PRESET, + + // RIDE_TYPE_1D + DEFAULT_STALL_COLOUR_PRESET, + + // RIDE_TYPE_DRINK_STALL + DEFAULT_STALL_COLOUR_PRESET, + + // RIDE_TYPE_1F + DEFAULT_STALL_COLOUR_PRESET, + + // RIDE_TYPE_SHOP + DEFAULT_STALL_COLOUR_PRESET, + + // RIDE_TYPE_MERRY_GO_ROUND + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_22 + DEFAULT_STALL_COLOUR_PRESET, + + // RIDE_TYPE_INFORMATION_KIOSK + DEFAULT_STALL_COLOUR_PRESET, + + // RIDE_TYPE_TOILETS + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_FERRIS_WHEEL + TRACK_COLOUR_PRESETS( + { COLOUR_BLACK, COLOUR_BLACK, COLOUR_BLACK }, + { COLOUR_GREY, COLOUR_GREY, COLOUR_GREY }, + ), + + // RIDE_TYPE_MOTION_SIMULATOR + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_3D_CINEMA + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_TOP_SPIN + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_RED, COLOUR_YELLOW, COLOUR_YELLOW }, + { COLOUR_TEAL, COLOUR_WHITE, COLOUR_WHITE }, + { COLOUR_DARK_GREEN, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED }, + ), + + // RIDE_TYPE_SPACE_RINGS + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_REVERSE_FREEFALL_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_GREEN, COLOUR_YELLOW, COLOUR_DARK_GREEN }, + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_YELLOW }, + { COLOUR_GREY, COLOUR_SALMON_PINK, COLOUR_GREY }, + ), + + // RIDE_TYPE_LIFT + TRACK_COLOUR_PRESETS( + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_GREY }, + { COLOUR_DARK_GREEN, COLOUR_DARK_GREEN, COLOUR_GREY }, + { COLOUR_BLACK, COLOUR_BLACK, COLOUR_GREY }, + ), + + // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BLACK, COLOUR_GREY, COLOUR_BLACK }, + { COLOUR_DARK_GREEN, COLOUR_DARK_GREEN, COLOUR_GREY }, + ), + + // RIDE_TYPE_CASH_MACHINE + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_TWIST + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_HAUNTED_HOUSE + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_FIRST_AID + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_CIRCUS_SHOW + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_GHOST_TRAIN + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_GREEN, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, + { COLOUR_TEAL, COLOUR_WHITE, COLOUR_DARK_BROWN }, + { COLOUR_DARK_BROWN, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, + { COLOUR_BORDEAUX_RED, COLOUR_YELLOW, COLOUR_BLACK }, + ), + + // RIDE_TYPE_TWISTER_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_BORDEAUX_RED }, + { COLOUR_AQUAMARINE, COLOUR_AQUAMARINE, COLOUR_DARK_PURPLE }, + { COLOUR_WHITE, COLOUR_WHITE, COLOUR_LIGHT_BLUE }, + { COLOUR_DARK_GREEN, COLOUR_MOSS_GREEN, COLOUR_DARK_BROWN }, + { COLOUR_BORDEAUX_RED, COLOUR_LIGHT_ORANGE, COLOUR_WHITE }, + ), + + // RIDE_TYPE_WOODEN_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BORDEAUX_RED, COLOUR_BLACK, COLOUR_WHITE }, + { COLOUR_BRIGHT_RED, COLOUR_BLACK, COLOUR_GREY }, + { COLOUR_YELLOW, COLOUR_DARK_BROWN, COLOUR_DARK_BROWN }, + { COLOUR_TEAL, COLOUR_BORDEAUX_RED, COLOUR_WHITE }, + { COLOUR_LIGHT_BLUE, COLOUR_BLACK, COLOUR_BLACK }, + ), + + // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_WHITE, COLOUR_DARK_BROWN, COLOUR_WHITE }, + { COLOUR_SATURATED_BROWN, COLOUR_WHITE, COLOUR_SATURATED_BROWN }, + { COLOUR_DARK_BROWN, COLOUR_LIGHT_BROWN, COLOUR_DARK_BROWN }, + ), + + // RIDE_TYPE_WILD_MOUSE + TRACK_COLOUR_PRESETS( + { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_YELLOW }, + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_WHITE }, + { COLOUR_DARK_PURPLE, COLOUR_BRIGHT_PINK, COLOUR_DARK_PURPLE }, + { COLOUR_LIGHT_BROWN, COLOUR_LIGHT_BROWN, COLOUR_BORDEAUX_RED }, + ), + + // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_PINK, COLOUR_YELLOW, COLOUR_YELLOW }, + { COLOUR_LIGHT_PURPLE, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED }, + { COLOUR_BORDEAUX_RED, COLOUR_WHITE, COLOUR_WHITE }, + ), + + // RIDE_TYPE_38 + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_PINK, COLOUR_YELLOW, COLOUR_YELLOW }, + { COLOUR_LIGHT_PURPLE, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED }, + { COLOUR_BORDEAUX_RED, COLOUR_WHITE, COLOUR_WHITE }, + ), + + // RIDE_TYPE_FLYING_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_OLIVE_GREEN, COLOUR_OLIVE_GREEN, COLOUR_TEAL }, + { COLOUR_TEAL, COLOUR_TEAL, COLOUR_BORDEAUX_RED }, + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_DARK_PURPLE }, + ), + + // RIDE_TYPE_3A + TRACK_COLOUR_PRESETS( + { COLOUR_OLIVE_GREEN, COLOUR_OLIVE_GREEN, COLOUR_TEAL }, + { COLOUR_TEAL, COLOUR_TEAL, COLOUR_BORDEAUX_RED }, + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_DARK_PURPLE }, + ), + + // RIDE_TYPE_VIRGINIA_REEL + TRACK_COLOUR_PRESETS( + { COLOUR_SATURATED_BROWN, COLOUR_GREY, COLOUR_SATURATED_BROWN }, + { COLOUR_BLACK, COLOUR_DARK_BROWN, COLOUR_DARK_BROWN }, + { COLOUR_DARK_BROWN, COLOUR_BORDEAUX_RED, COLOUR_DARK_BROWN }, + ), + + // RIDE_TYPE_SPLASH_BOATS + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_BROWN, COLOUR_DARK_BROWN, COLOUR_BLACK }, + { COLOUR_DARK_GREEN, COLOUR_DARK_GREEN, COLOUR_GREY }, + ), + + // RIDE_TYPE_MINI_HELICOPTERS + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_PURPLE, COLOUR_YELLOW, COLOUR_DARK_PURPLE }, + { COLOUR_WHITE, COLOUR_WHITE, COLOUR_BRIGHT_RED }, + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_YELLOW }, + { COLOUR_BRIGHT_PINK, COLOUR_BRIGHT_PINK, COLOUR_WHITE }, + { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_WHITE }, + ), + + // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_YELLOW }, + { COLOUR_DARK_PURPLE, COLOUR_DARK_PURPLE, COLOUR_YELLOW }, + { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_DARK_GREEN }, + ), + + // RIDE_TYPE_SUSPENDED_MONORAIL + TRACK_COLOUR_PRESETS( + { COLOUR_BORDEAUX_RED, COLOUR_BLACK, COLOUR_BLACK }, + { COLOUR_DARK_PURPLE, COLOUR_DARK_PURPLE, COLOUR_BLACK }, + { COLOUR_DARK_GREEN, COLOUR_DARK_GREEN, COLOUR_BLACK }, + ), + + // RIDE_TYPE_40 + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_YELLOW }, + { COLOUR_DARK_PURPLE, COLOUR_DARK_PURPLE, COLOUR_YELLOW }, + { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_DARK_GREEN }, + ), + + // RIDE_TYPE_REVERSER_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_BROWN, COLOUR_LIGHT_BROWN, COLOUR_DARK_BROWN }, + { COLOUR_SATURATED_BROWN, COLOUR_BORDEAUX_RED, COLOUR_SATURATED_BROWN }, + ), + + // RIDE_TYPE_HEARTLINE_TWISTER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_WHITE, COLOUR_LIGHT_BLUE, COLOUR_WHITE }, + { COLOUR_BORDEAUX_RED, COLOUR_YELLOW, COLOUR_BLACK }, + { COLOUR_DARK_PURPLE, COLOUR_WHITE, COLOUR_DARK_GREEN }, + ), + + // RIDE_TYPE_MINI_GOLF + TRACK_COLOUR_PRESETS( + { COLOUR_SATURATED_GREEN, COLOUR_DARK_BROWN, COLOUR_BLACK }, + { COLOUR_MOSS_GREEN, COLOUR_BORDEAUX_RED, COLOUR_DARK_BROWN }, + ), + + // RIDE_TYPE_GIGA_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_WHITE }, + { COLOUR_WHITE, COLOUR_WHITE, COLOUR_YELLOW }, + { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_BORDEAUX_RED }, + { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_BLACK }, + ), + + // RIDE_TYPE_ROTO_DROP + TRACK_COLOUR_PRESETS( + { COLOUR_BORDEAUX_RED, COLOUR_YELLOW, COLOUR_GREY }, + { COLOUR_BLACK, COLOUR_LIGHT_BLUE, COLOUR_GREY }, + ), + + // RIDE_TYPE_FLYING_SAUCERS + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_PURPLE, COLOUR_GREY, COLOUR_BLACK }, + { COLOUR_BLACK, COLOUR_YELLOW, COLOUR_BLACK }, + ), + + // RIDE_TYPE_CROOKED_HOUSE + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_RED, COLOUR_BLACK, COLOUR_GREY }, + ), + + // RIDE_TYPE_MONORAIL_CYCLES + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_BROWN, COLOUR_GREY, COLOUR_DARK_BROWN }, + { COLOUR_GREY, COLOUR_BLACK, COLOUR_GREY }, + ), + + // RIDE_TYPE_COMPACT_INVERTED_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_YELLOW, COLOUR_BRIGHT_YELLOW, COLOUR_BRIGHT_RED }, + { COLOUR_ICY_BLUE, COLOUR_ICY_BLUE, COLOUR_DARK_GREEN }, + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_YELLOW }, + { COLOUR_WHITE, COLOUR_WHITE, COLOUR_DARK_GREEN }, + ), + + // RIDE_TYPE_WATER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_GREEN, COLOUR_DARK_GREEN, COLOUR_BLACK }, + { COLOUR_DARK_BROWN, COLOUR_DARK_BROWN, COLOUR_BORDEAUX_RED }, + { COLOUR_WHITE, COLOUR_WHITE, COLOUR_DARK_PURPLE }, + ), + + // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_WHITE, COLOUR_BRIGHT_RED, COLOUR_DARK_BROWN }, + { COLOUR_BRIGHT_RED, COLOUR_LIGHT_BLUE, COLOUR_WHITE }, + { COLOUR_LIGHT_ORANGE, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_YELLOW }, + ), + + // RIDE_TYPE_INVERTED_HAIRPIN_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_YELLOW, COLOUR_BRIGHT_YELLOW, COLOUR_BRIGHT_RED }, + { COLOUR_BLACK, COLOUR_ICY_BLUE, COLOUR_BLACK }, + { COLOUR_WHITE, COLOUR_WHITE, COLOUR_YELLOW }, + ), + + // RIDE_TYPE_MAGIC_CARPET + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_PURPLE, COLOUR_WHITE, COLOUR_BLACK }, + { COLOUR_YELLOW, COLOUR_WHITE, COLOUR_BLACK }, + { COLOUR_BRIGHT_RED, COLOUR_YELLOW, COLOUR_BLACK }, + ), + + // RIDE_TYPE_SUBMARINE_RIDE + TRACK_COLOUR_PRESETS( + { COLOUR_GREY, COLOUR_GREY, COLOUR_BLACK }, + ), + + // RIDE_TYPE_RIVER_RAFTS + TRACK_COLOUR_PRESETS( + { COLOUR_BLACK, COLOUR_BLACK, COLOUR_SATURATED_BROWN }, + ), + + // RIDE_TYPE_50 + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_ENTERPRISE + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_52 + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_53 + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_54 + DEFAULT_FLAT_RIDE_COLOUR_PRESET, + + // RIDE_TYPE_55 + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_GREY }, + { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_SATURATED_BROWN }, + ), + + // RIDE_TYPE_INVERTED_IMPULSE_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_GREY }, + { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_WHITE }, + { COLOUR_BRIGHT_PURPLE, COLOUR_BRIGHT_PURPLE, COLOUR_BORDEAUX_RED }, + ), + + // RIDE_TYPE_MINI_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_GREY, COLOUR_GREY, COLOUR_DARK_BROWN }, + { COLOUR_MOSS_GREEN, COLOUR_MOSS_GREEN, COLOUR_DARK_BROWN }, + { COLOUR_SALMON_PINK, COLOUR_SALMON_PINK, COLOUR_BORDEAUX_RED }, + ), + + // RIDE_TYPE_MINE_RIDE + TRACK_COLOUR_PRESETS( + { COLOUR_DARK_BROWN, COLOUR_DARK_BROWN, COLOUR_BLACK }, + { COLOUR_BORDEAUX_RED, COLOUR_BORDEAUX_RED, COLOUR_DARK_BROWN }, + ), + + // RIDE_TYPE_59 + TRACK_COLOUR_PRESETS( + { COLOUR_LIGHT_BLUE, COLOUR_LIGHT_BLUE, COLOUR_YELLOW }, + ), + + // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER + TRACK_COLOUR_PRESETS( + { COLOUR_BRIGHT_GREEN, COLOUR_BRIGHT_GREEN, COLOUR_WHITE }, + { COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_DARK_BROWN }, + { COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_SATURATED_GREEN }, + ), }; const rct_string_id RideModeNames[] = { diff --git a/src/openrct2/ride/ride_data.h b/src/openrct2/ride/ride_data.h index 3d52b64a46..8977979b54 100644 --- a/src/openrct2/ride/ride_data.h +++ b/src/openrct2/ride/ride_data.h @@ -21,122 +21,122 @@ #include "ride.h" typedef struct ride_component_name { - rct_string_id singular; - rct_string_id plural; - rct_string_id capitalised; - rct_string_id capitalised_plural; - rct_string_id count; - rct_string_id count_plural; - rct_string_id number; + rct_string_id singular; + rct_string_id plural; + rct_string_id capitalised; + rct_string_id capitalised_plural; + rct_string_id count; + rct_string_id count_plural; + rct_string_id number; } ride_component_name; typedef enum { - RIDE_COMPONENT_TYPE_TRAIN, - RIDE_COMPONENT_TYPE_BOAT, - RIDE_COMPONENT_TYPE_TRACK, - RIDE_COMPONENT_TYPE_DOCKING_PLATFORM, - RIDE_COMPONENT_TYPE_STATION, - RIDE_COMPONENT_TYPE_CAR, - RIDE_COMPONENT_TYPE_BUILDING, - RIDE_COMPONENT_TYPE_STRUCTURE, - RIDE_COMPONENT_TYPE_SHIP, - RIDE_COMPONENT_TYPE_CABIN, - RIDE_COMPONENT_TYPE_WHEEL, - RIDE_COMPONENT_TYPE_RING, - RIDE_COMPONENT_TYPE_PLAYER, - RIDE_COMPONENT_TYPE_COURSE, - RIDE_COMPONENT_TYPE_COUNT + RIDE_COMPONENT_TYPE_TRAIN, + RIDE_COMPONENT_TYPE_BOAT, + RIDE_COMPONENT_TYPE_TRACK, + RIDE_COMPONENT_TYPE_DOCKING_PLATFORM, + RIDE_COMPONENT_TYPE_STATION, + RIDE_COMPONENT_TYPE_CAR, + RIDE_COMPONENT_TYPE_BUILDING, + RIDE_COMPONENT_TYPE_STRUCTURE, + RIDE_COMPONENT_TYPE_SHIP, + RIDE_COMPONENT_TYPE_CABIN, + RIDE_COMPONENT_TYPE_WHEEL, + RIDE_COMPONENT_TYPE_RING, + RIDE_COMPONENT_TYPE_PLAYER, + RIDE_COMPONENT_TYPE_COURSE, + RIDE_COMPONENT_TYPE_COUNT } ride_component_type; typedef struct rct_ride_name_convention { - ride_component_type vehicle; - ride_component_type structure; - ride_component_type station; + ride_component_type vehicle; + ride_component_type structure; + ride_component_type station; } rct_ride_name_convention; typedef struct rct_ride_name { - rct_string_id name; - rct_string_id description; + rct_string_id name; + rct_string_id description; } rct_ride_name; typedef struct rct_ride_entrance_definition { - uint32 sprite_index; - uint16 height; - uint16 scrolling_mode; - uint32 base_image_id; - rct_string_id string_id; - uint16 colour_use_flags; + uint32 sprite_index; + uint16 height; + uint16 scrolling_mode; + uint32 base_image_id; + rct_string_id string_id; + uint16 colour_use_flags; } rct_ride_entrance_definition; typedef struct rct_shop_item_string_types { - rct_string_id price_label; // Balloon price: - rct_string_id singular; // Balloon - rct_string_id plural; // Balloons - rct_string_id indefinite; // a Balloon - rct_string_id display; // "Diamond Heights" Balloon + rct_string_id price_label; // Balloon price: + rct_string_id singular; // Balloon + rct_string_id plural; // Balloons + rct_string_id indefinite; // a Balloon + rct_string_id display; // "Diamond Heights" Balloon } rct_shop_item_string_types; typedef struct rct_ride_data_4 { - uint8 price; - uint8 price_secondary; - uint16 flags; - uint8 default_music; - uint8 alternate_type; - uint8 pad[2]; + uint8 price; + uint8 price_secondary; + uint16 flags; + uint8 default_music; + uint8 alternate_type; + uint8 pad[2]; } rct_ride_data_4; typedef struct ride_cost { - uint16 track_price; - uint16 support_price; + uint16 track_price; + uint16 support_price; } ride_cost; typedef struct rct_ride_data_5 { - uint8 max_height; - uint8 clearance_height; - sint8 z_offset; - uint8 max_friction; - uint8 z; - uint8 price; - uint8 bonus_value; // Deprecated. Use rideBonusValue instead - uint8 pad; + uint8 max_height; + uint8 clearance_height; + sint8 z_offset; + uint8 max_friction; + uint8 z; + uint8 price; + uint8 bonus_value; // Deprecated. Use rideBonusValue instead + uint8 pad; } rct_ride_data_5; typedef struct rct_ride_lift_data { - uint8 sound_id; - uint8 minimum_speed; - uint8 maximum_speed; + uint8 sound_id; + uint8 minimum_speed; + uint8 maximum_speed; } rct_ride_lift_data; enum { - RIDE_TYPE_FLAG4_0 = (1 << 0), - RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT = (1 << 1), - RIDE_TYPE_FLAG4_ALLOW_MUSIC = (1 << 2), - RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE = (1 << 3), // Used by the Flying RC, Lay-down RC, Multi-dimension RC - RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES = (1 << 4), - RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT = (1 << 5), - RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS = (1 << 6), - RIDE_TYPE_FLAG4_HAS_AIR_TIME = (1 << 7), - RIDE_TYPE_FLAG4_SINGLE_SESSION = (1 << 8), - RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS = (1 << 9), - RIDE_TYPE_FLAG4_ALLOW_CABLE_LIFT_HILL = (1 << 10), - RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER = (1 << 11), - RIDE_TYPE_FLAG4_TRANSPORT_RIDE = (1 << 12), - RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT = (1 << 13), - RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT = (1 << 14), - RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED = (1 << 15), // This is only set on the Flying RC and its alternative type. + RIDE_TYPE_FLAG4_0 = (1 << 0), + RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT = (1 << 1), + RIDE_TYPE_FLAG4_ALLOW_MUSIC = (1 << 2), + RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE = (1 << 3), // Used by the Flying RC, Lay-down RC, Multi-dimension RC + RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES = (1 << 4), + RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT = (1 << 5), + RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS = (1 << 6), + RIDE_TYPE_FLAG4_HAS_AIR_TIME = (1 << 7), + RIDE_TYPE_FLAG4_SINGLE_SESSION = (1 << 8), + RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS = (1 << 9), + RIDE_TYPE_FLAG4_ALLOW_CABLE_LIFT_HILL = (1 << 10), + RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER = (1 << 11), + RIDE_TYPE_FLAG4_TRANSPORT_RIDE = (1 << 12), + RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT = (1 << 13), + RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT = (1 << 14), + RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED = (1 << 15), // This is only set on the Flying RC and its alternative type. }; enum { - RIDE_TYPE_NO_ALTERNATIVES = 0, - RIDE_TYPE_ALTERNATIVE_TRACK_PIECES = 1, // Dinghy slide and Water Coaster - RIDE_TYPE_ALTERNATIVE_TRACK_TYPE = 2, // Flying RC, Lay-down RC, Multi-dimension RC + RIDE_TYPE_NO_ALTERNATIVES = 0, + RIDE_TYPE_ALTERNATIVE_TRACK_PIECES = 1, // Dinghy slide and Water Coaster + RIDE_TYPE_ALTERNATIVE_TRACK_TYPE = 2, // Flying RC, Lay-down RC, Multi-dimension RC }; typedef struct rct_shop_item_stats { - uint16 cost; - uint16 base_value; - uint16 hot_value; - uint16 cold_value; + uint16 cost; + uint16 base_value; + uint16 hot_value; + uint16 cold_value; } rct_shop_item_stats; extern const bool hasRunningTrack[RIDE_TYPE_COUNT]; diff --git a/src/openrct2/ride/ride_ratings.c b/src/openrct2/ride/ride_ratings.c index 326039034f..f59750d5d6 100644 --- a/src/openrct2/ride/ride_ratings.c +++ b/src/openrct2/ride/ride_ratings.c @@ -24,42 +24,42 @@ #include "track.h" enum { - RIDE_RATINGS_STATE_FIND_NEXT_RIDE, - RIDE_RATINGS_STATE_INITIALISE, - RIDE_RATINGS_STATE_2, - RIDE_RATINGS_STATE_CALCULATE, - RIDE_RATINGS_STATE_4, - RIDE_RATINGS_STATE_5 + RIDE_RATINGS_STATE_FIND_NEXT_RIDE, + RIDE_RATINGS_STATE_INITIALISE, + RIDE_RATINGS_STATE_2, + RIDE_RATINGS_STATE_CALCULATE, + RIDE_RATINGS_STATE_4, + RIDE_RATINGS_STATE_5 }; enum { - PROXIMITY_WATER_OVER, // 0x0138B596 - PROXIMITY_WATER_TOUCH, // 0x0138B598 - PROXIMITY_WATER_LOW, // 0x0138B59A - PROXIMITY_WATER_HIGH, // 0x0138B59C - PROXIMITY_SURFACE_TOUCH, // 0x0138B59E - PROXIMITY_PATH_OVER, // 0x0138B5A0 - PROXIMITY_PATH_TOUCH_ABOVE, // 0x0138B5A2 - PROXIMITY_PATH_TOUCH_UNDER, // 0x0138B5A4 - PROXIMITY_138B5A6, // 0x0138B5A6 - PROXIMITY_138B5A8, // 0x0138B5A8 - PROXIMITY_OWN_TRACK_TOUCH_ABOVE, // 0x0138B5AA - PROXIMITY_OWN_TRACK_CLOSE_ABOVE, // 0x0138B5AC - PROXIMITY_FOREIGN_TRACK_ABOVE_OR_BELOW, // 0x0138B5AE - PROXIMITY_FOREIGN_TRACK_TOUCH_ABOVE, // 0x0138B5B0 - PROXIMITY_FOREIGN_TRACK_CLOSE_ABOVE, // 0x0138B5B2 - PROXIMITY_SCENERY_SIDE_BELOW, // 0x0138B5B4 - PROXIMITY_SCENERY_SIDE_ABOVE, // 0x0138B5B6 - PROXIMITY_OWN_STATION_TOUCH_ABOVE, // 0x0138B5B8 - PROXIMITY_OWN_STATION_CLOSE_ABOVE, // 0x0138B5BA - PROXIMITY_TRACK_THROUGH_VERTICAL_LOOP, // 0x0138B5BC - PROXIMITY_PATH_TROUGH_VERTICAL_LOOP, // 0x0138B5BE - PROXIMITY_INTERSECTING_VERTICAL_LOOP, // 0x0138B5C0 - PROXIMITY_THROUGH_VERTICAL_LOOP, // 0x0138B5C2 - PROXIMITY_PATH_SIDE_CLOSE, // 0x0138B5C4 - PROXIMITY_FOREIGN_TRACK_SIDE_CLOSE, // 0x0138B5C6 - PROXIMITY_SURFACE_SIDE_CLOSE, // 0x0138B5C8 - PROXIMITY_COUNT + PROXIMITY_WATER_OVER, // 0x0138B596 + PROXIMITY_WATER_TOUCH, // 0x0138B598 + PROXIMITY_WATER_LOW, // 0x0138B59A + PROXIMITY_WATER_HIGH, // 0x0138B59C + PROXIMITY_SURFACE_TOUCH, // 0x0138B59E + PROXIMITY_PATH_OVER, // 0x0138B5A0 + PROXIMITY_PATH_TOUCH_ABOVE, // 0x0138B5A2 + PROXIMITY_PATH_TOUCH_UNDER, // 0x0138B5A4 + PROXIMITY_138B5A6, // 0x0138B5A6 + PROXIMITY_138B5A8, // 0x0138B5A8 + PROXIMITY_OWN_TRACK_TOUCH_ABOVE, // 0x0138B5AA + PROXIMITY_OWN_TRACK_CLOSE_ABOVE, // 0x0138B5AC + PROXIMITY_FOREIGN_TRACK_ABOVE_OR_BELOW, // 0x0138B5AE + PROXIMITY_FOREIGN_TRACK_TOUCH_ABOVE, // 0x0138B5B0 + PROXIMITY_FOREIGN_TRACK_CLOSE_ABOVE, // 0x0138B5B2 + PROXIMITY_SCENERY_SIDE_BELOW, // 0x0138B5B4 + PROXIMITY_SCENERY_SIDE_ABOVE, // 0x0138B5B6 + PROXIMITY_OWN_STATION_TOUCH_ABOVE, // 0x0138B5B8 + PROXIMITY_OWN_STATION_CLOSE_ABOVE, // 0x0138B5BA + PROXIMITY_TRACK_THROUGH_VERTICAL_LOOP, // 0x0138B5BC + PROXIMITY_PATH_TROUGH_VERTICAL_LOOP, // 0x0138B5BE + PROXIMITY_INTERSECTING_VERTICAL_LOOP, // 0x0138B5C0 + PROXIMITY_THROUGH_VERTICAL_LOOP, // 0x0138B5C2 + PROXIMITY_PATH_SIDE_CLOSE, // 0x0138B5C4 + PROXIMITY_FOREIGN_TRACK_SIDE_CLOSE, // 0x0138B5C6 + PROXIMITY_SURFACE_SIDE_CLOSE, // 0x0138B5C8 + PROXIMITY_COUNT }; typedef void (*ride_ratings_calculation)(rct_ride *ride); @@ -90,15 +90,15 @@ static void ride_ratings_add(rating_tuple * rating, sint32 excitement, sint32 in */ void ride_ratings_update_ride(int rideIndex) { - rct_ride *ride = get_ride(rideIndex); - if (ride->type != RIDE_TYPE_NULL && ride->status != RIDE_STATUS_CLOSED) { - gRideRatingsCalcData.current_ride = rideIndex; - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_INITIALISE; - while (gRideRatingsCalcData.state != RIDE_RATINGS_STATE_FIND_NEXT_RIDE) - { - ride_ratings_update_state(); - } - } + rct_ride *ride = get_ride(rideIndex); + if (ride->type != RIDE_TYPE_NULL && ride->status != RIDE_STATUS_CLOSED) { + gRideRatingsCalcData.current_ride = rideIndex; + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_INITIALISE; + while (gRideRatingsCalcData.state != RIDE_RATINGS_STATE_FIND_NEXT_RIDE) + { + ride_ratings_update_state(); + } + } } /** @@ -107,34 +107,34 @@ void ride_ratings_update_ride(int rideIndex) */ void ride_ratings_update_all() { - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) - return; + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) + return; - ride_ratings_update_state(); + ride_ratings_update_state(); } static void ride_ratings_update_state() { - switch (gRideRatingsCalcData.state) { - case RIDE_RATINGS_STATE_FIND_NEXT_RIDE: - ride_ratings_update_state_0(); - break; - case RIDE_RATINGS_STATE_INITIALISE: - ride_ratings_update_state_1(); - break; - case RIDE_RATINGS_STATE_2: - ride_ratings_update_state_2(); - break; - case RIDE_RATINGS_STATE_CALCULATE: - ride_ratings_update_state_3(); - break; - case RIDE_RATINGS_STATE_4: - ride_ratings_update_state_4(); - break; - case RIDE_RATINGS_STATE_5: - ride_ratings_update_state_5(); - break; - } + switch (gRideRatingsCalcData.state) { + case RIDE_RATINGS_STATE_FIND_NEXT_RIDE: + ride_ratings_update_state_0(); + break; + case RIDE_RATINGS_STATE_INITIALISE: + ride_ratings_update_state_1(); + break; + case RIDE_RATINGS_STATE_2: + ride_ratings_update_state_2(); + break; + case RIDE_RATINGS_STATE_CALCULATE: + ride_ratings_update_state_3(); + break; + case RIDE_RATINGS_STATE_4: + ride_ratings_update_state_4(); + break; + case RIDE_RATINGS_STATE_5: + ride_ratings_update_state_5(); + break; + } } /** @@ -143,18 +143,18 @@ static void ride_ratings_update_state() */ static void ride_ratings_update_state_0() { - sint32 currentRide = gRideRatingsCalcData.current_ride; + sint32 currentRide = gRideRatingsCalcData.current_ride; - currentRide++; - if (currentRide == 255) { - currentRide = 0; - } + currentRide++; + if (currentRide == 255) { + currentRide = 0; + } - rct_ride *ride = get_ride(currentRide); - if (ride->type != RIDE_TYPE_NULL && ride->status != RIDE_STATUS_CLOSED) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_INITIALISE; - } - gRideRatingsCalcData.current_ride = currentRide; + rct_ride *ride = get_ride(currentRide); + if (ride->type != RIDE_TYPE_NULL && ride->status != RIDE_STATUS_CLOSED) { + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_INITIALISE; + } + gRideRatingsCalcData.current_ride = currentRide; } /** @@ -163,15 +163,15 @@ static void ride_ratings_update_state_0() */ static void ride_ratings_update_state_1() { - gRideRatingsCalcData.proximity_total = 0; - for (sint32 i = 0; i < PROXIMITY_COUNT; i++) { - gRideRatingsCalcData.proximity_scores[i] = 0; - } - gRideRatingsCalcData.num_brakes = 0; - gRideRatingsCalcData.num_reversers = 0; - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_2; - gRideRatingsCalcData.station_flags = 0; - ride_ratings_begin_proximity_loop(); + gRideRatingsCalcData.proximity_total = 0; + for (sint32 i = 0; i < PROXIMITY_COUNT; i++) { + gRideRatingsCalcData.proximity_scores[i] = 0; + } + gRideRatingsCalcData.num_brakes = 0; + gRideRatingsCalcData.num_reversers = 0; + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_2; + gRideRatingsCalcData.station_flags = 0; + ride_ratings_begin_proximity_loop(); } /** @@ -180,63 +180,63 @@ static void ride_ratings_update_state_1() */ static void ride_ratings_update_state_2() { - rct_ride *ride = get_ride(gRideRatingsCalcData.current_ride); - if (ride->type == RIDE_TYPE_NULL || ride->status == RIDE_STATUS_CLOSED) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; - return; - } + rct_ride *ride = get_ride(gRideRatingsCalcData.current_ride); + if (ride->type == RIDE_TYPE_NULL || ride->status == RIDE_STATUS_CLOSED) { + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + return; + } - sint32 x = gRideRatingsCalcData.proximity_x / 32; - sint32 y = gRideRatingsCalcData.proximity_y / 32; - sint32 z = gRideRatingsCalcData.proximity_z / 8; - sint32 trackType = gRideRatingsCalcData.proximity_track_type; + sint32 x = gRideRatingsCalcData.proximity_x / 32; + sint32 y = gRideRatingsCalcData.proximity_y / 32; + sint32 z = gRideRatingsCalcData.proximity_z / 8; + sint32 trackType = gRideRatingsCalcData.proximity_track_type; - rct_map_element *mapElement = map_get_first_element_at(x, y); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; - if (mapElement->base_height != z) - continue; + rct_map_element *mapElement = map_get_first_element_at(x, y); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; + if (mapElement->base_height != z) + continue; - if (trackType == 255 || ((mapElement->properties.track.sequence & 0x0F) == 0 && trackType == mapElement->properties.track.type)) { - if (trackType == TRACK_ELEM_END_STATION) { - sint32 entranceIndex = map_get_station(mapElement); - gRideRatingsCalcData.station_flags &= ~RIDE_RATING_STATION_FLAG_NO_ENTRANCE; - if (ride->entrances[entranceIndex] == 0xFFFF) { - gRideRatingsCalcData.station_flags |= RIDE_RATING_STATION_FLAG_NO_ENTRANCE; - } - } + if (trackType == 255 || ((mapElement->properties.track.sequence & 0x0F) == 0 && trackType == mapElement->properties.track.type)) { + if (trackType == TRACK_ELEM_END_STATION) { + sint32 entranceIndex = map_get_station(mapElement); + gRideRatingsCalcData.station_flags &= ~RIDE_RATING_STATION_FLAG_NO_ENTRANCE; + if (ride->entrances[entranceIndex] == 0xFFFF) { + gRideRatingsCalcData.station_flags |= RIDE_RATING_STATION_FLAG_NO_ENTRANCE; + } + } - ride_ratings_score_close_proximity(mapElement); + ride_ratings_score_close_proximity(mapElement); - rct_xy_element trackElement = { - .x = gRideRatingsCalcData.proximity_x, - .y = gRideRatingsCalcData.proximity_y, - .element = mapElement - }; - rct_xy_element nextTrackElement; - if (!track_block_get_next(&trackElement, &nextTrackElement, NULL, NULL)) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_4; - return; - } + rct_xy_element trackElement = { + .x = gRideRatingsCalcData.proximity_x, + .y = gRideRatingsCalcData.proximity_y, + .element = mapElement + }; + rct_xy_element nextTrackElement; + if (!track_block_get_next(&trackElement, &nextTrackElement, NULL, NULL)) { + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_4; + return; + } - x = nextTrackElement.x; - y = nextTrackElement.y; - z = nextTrackElement.element->base_height * 8; - mapElement = nextTrackElement.element; - if (x == gRideRatingsCalcData.proximity_start_x && y == gRideRatingsCalcData.proximity_start_y && z == gRideRatingsCalcData.proximity_start_z) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_CALCULATE; - return; - } - gRideRatingsCalcData.proximity_x = x; - gRideRatingsCalcData.proximity_y = y; - gRideRatingsCalcData.proximity_z = z; - gRideRatingsCalcData.proximity_track_type = mapElement->properties.track.type; - return; - } - } while (!map_element_is_last_for_tile(mapElement++)); + x = nextTrackElement.x; + y = nextTrackElement.y; + z = nextTrackElement.element->base_height * 8; + mapElement = nextTrackElement.element; + if (x == gRideRatingsCalcData.proximity_start_x && y == gRideRatingsCalcData.proximity_start_y && z == gRideRatingsCalcData.proximity_start_z) { + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_CALCULATE; + return; + } + gRideRatingsCalcData.proximity_x = x; + gRideRatingsCalcData.proximity_y = y; + gRideRatingsCalcData.proximity_z = z; + gRideRatingsCalcData.proximity_track_type = mapElement->properties.track.type; + return; + } + } while (!map_element_is_last_for_tile(mapElement++)); - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; } /** @@ -245,17 +245,17 @@ static void ride_ratings_update_state_2() */ static void ride_ratings_update_state_3() { - rct_ride *ride = get_ride(gRideRatingsCalcData.current_ride); - if (ride->type == RIDE_TYPE_NULL || ride->status == RIDE_STATUS_CLOSED) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; - return; - } + rct_ride *ride = get_ride(gRideRatingsCalcData.current_ride); + if (ride->type == RIDE_TYPE_NULL || ride->status == RIDE_STATUS_CLOSED) { + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + return; + } - ride_ratings_calculate(ride); - ride_ratings_calculate_value(ride); + ride_ratings_calculate(ride); + ride_ratings_calculate_value(ride); - window_invalidate_by_number(WC_RIDE, gRideRatingsCalcData.current_ride); - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + window_invalidate_by_number(WC_RIDE, gRideRatingsCalcData.current_ride); + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; } /** @@ -264,8 +264,8 @@ static void ride_ratings_update_state_3() */ static void ride_ratings_update_state_4() { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_5; - ride_ratings_begin_proximity_loop(); + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_5; + ride_ratings_begin_proximity_loop(); } /** @@ -274,51 +274,51 @@ static void ride_ratings_update_state_4() */ static void ride_ratings_update_state_5() { - rct_ride *ride = get_ride(gRideRatingsCalcData.current_ride); - if (ride->type == RIDE_TYPE_NULL || ride->status == RIDE_STATUS_CLOSED) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; - return; - } + rct_ride *ride = get_ride(gRideRatingsCalcData.current_ride); + if (ride->type == RIDE_TYPE_NULL || ride->status == RIDE_STATUS_CLOSED) { + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + return; + } - sint32 x = gRideRatingsCalcData.proximity_x / 32; - sint32 y = gRideRatingsCalcData.proximity_y / 32; - sint32 z = gRideRatingsCalcData.proximity_z / 8; - sint32 trackType = gRideRatingsCalcData.proximity_track_type; + sint32 x = gRideRatingsCalcData.proximity_x / 32; + sint32 y = gRideRatingsCalcData.proximity_y / 32; + sint32 z = gRideRatingsCalcData.proximity_z / 8; + sint32 trackType = gRideRatingsCalcData.proximity_track_type; - rct_map_element *mapElement = map_get_first_element_at(x, y); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; - if (mapElement->base_height != z) - continue; + rct_map_element *mapElement = map_get_first_element_at(x, y); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; + if (mapElement->base_height != z) + continue; - if (trackType == 255 || trackType == mapElement->properties.track.type) { - ride_ratings_score_close_proximity(mapElement); + if (trackType == 255 || trackType == mapElement->properties.track.type) { + ride_ratings_score_close_proximity(mapElement); - x = gRideRatingsCalcData.proximity_x; - y = gRideRatingsCalcData.proximity_y; - track_begin_end trackBeginEnd; - if (!track_block_get_previous(x, y, mapElement, &trackBeginEnd)) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_CALCULATE; - return; - } + x = gRideRatingsCalcData.proximity_x; + y = gRideRatingsCalcData.proximity_y; + track_begin_end trackBeginEnd; + if (!track_block_get_previous(x, y, mapElement, &trackBeginEnd)) { + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_CALCULATE; + return; + } - x = trackBeginEnd.begin_x; - y = trackBeginEnd.begin_y; - z = trackBeginEnd.begin_z; - if (x == gRideRatingsCalcData.proximity_start_x && y == gRideRatingsCalcData.proximity_start_y && z == gRideRatingsCalcData.proximity_start_z) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_CALCULATE; - return; - } - gRideRatingsCalcData.proximity_x = x; - gRideRatingsCalcData.proximity_y = y; - gRideRatingsCalcData.proximity_z = z; - gRideRatingsCalcData.proximity_track_type = trackBeginEnd.begin_element->properties.track.type; - return; - } - } while (!map_element_is_last_for_tile(mapElement++)); + x = trackBeginEnd.begin_x; + y = trackBeginEnd.begin_y; + z = trackBeginEnd.begin_z; + if (x == gRideRatingsCalcData.proximity_start_x && y == gRideRatingsCalcData.proximity_start_y && z == gRideRatingsCalcData.proximity_start_z) { + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_CALCULATE; + return; + } + gRideRatingsCalcData.proximity_x = x; + gRideRatingsCalcData.proximity_y = y; + gRideRatingsCalcData.proximity_z = z; + gRideRatingsCalcData.proximity_track_type = trackBeginEnd.begin_element->properties.track.type; + return; + } + } while (!map_element_is_last_for_tile(mapElement++)); - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; } /** @@ -327,45 +327,45 @@ static void ride_ratings_update_state_5() */ static void ride_ratings_begin_proximity_loop() { - rct_ride *ride = get_ride(gRideRatingsCalcData.current_ride); - if (ride->type == RIDE_TYPE_NULL || ride->status == RIDE_STATUS_CLOSED) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; - return; - } + rct_ride *ride = get_ride(gRideRatingsCalcData.current_ride); + if (ride->type == RIDE_TYPE_NULL || ride->status == RIDE_STATUS_CLOSED) { + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + return; + } - if (ride->type == RIDE_TYPE_MAZE) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_CALCULATE; - return; - } + if (ride->type == RIDE_TYPE_MAZE) { + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_CALCULATE; + return; + } - for (sint32 i = 0; i < 4; i++) { - if (ride->station_starts[i] != 0xFFFF) { - gRideRatingsCalcData.station_flags &= ~RIDE_RATING_STATION_FLAG_NO_ENTRANCE; - if (ride->entrances[i] == 0xFFFF) { - gRideRatingsCalcData.station_flags |= RIDE_RATING_STATION_FLAG_NO_ENTRANCE; - } + for (sint32 i = 0; i < 4; i++) { + if (ride->station_starts[i] != 0xFFFF) { + gRideRatingsCalcData.station_flags &= ~RIDE_RATING_STATION_FLAG_NO_ENTRANCE; + if (ride->entrances[i] == 0xFFFF) { + gRideRatingsCalcData.station_flags |= RIDE_RATING_STATION_FLAG_NO_ENTRANCE; + } - sint32 x = (ride->station_starts[i] & 0xFF) * 32; - sint32 y = (ride->station_starts[i] >> 8) * 32; - sint32 z = ride->station_heights[i] * 8; + sint32 x = (ride->station_starts[i] & 0xFF) * 32; + sint32 y = (ride->station_starts[i] >> 8) * 32; + sint32 z = ride->station_heights[i] * 8; - gRideRatingsCalcData.proximity_x = x; - gRideRatingsCalcData.proximity_y = y; - gRideRatingsCalcData.proximity_z = z; - gRideRatingsCalcData.proximity_track_type = 255; - gRideRatingsCalcData.proximity_start_x = x; - gRideRatingsCalcData.proximity_start_y = y; - gRideRatingsCalcData.proximity_start_z = z; - return; - } - } + gRideRatingsCalcData.proximity_x = x; + gRideRatingsCalcData.proximity_y = y; + gRideRatingsCalcData.proximity_z = z; + gRideRatingsCalcData.proximity_track_type = 255; + gRideRatingsCalcData.proximity_start_x = x; + gRideRatingsCalcData.proximity_start_y = y; + gRideRatingsCalcData.proximity_start_z = z; + return; + } + } - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; } static void proximity_score_increment(sint32 type) { - gRideRatingsCalcData.proximity_scores[type]++; + gRideRatingsCalcData.proximity_scores[type]++; } /** @@ -374,83 +374,83 @@ static void proximity_score_increment(sint32 type) */ static void ride_ratings_score_close_proximity_in_direction(rct_map_element *inputMapElement, sint32 direction) { - sint32 x = gRideRatingsCalcData.proximity_x + TileDirectionDelta[direction].x; - sint32 y = gRideRatingsCalcData.proximity_y + TileDirectionDelta[direction].y; - if (x < 0 || y < 0 || x >= (32 * 256) || y >= (32 * 256)) - return; + sint32 x = gRideRatingsCalcData.proximity_x + TileDirectionDelta[direction].x; + sint32 y = gRideRatingsCalcData.proximity_y + TileDirectionDelta[direction].y; + if (x < 0 || y < 0 || x >= (32 * 256) || y >= (32 * 256)) + return; - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - switch (map_element_get_type(mapElement)) { - case MAP_ELEMENT_TYPE_SURFACE: - if (gRideRatingsCalcData.proximity_base_height <= inputMapElement->base_height) { - if (inputMapElement->clearance_height <= mapElement->base_height) { - proximity_score_increment(PROXIMITY_SURFACE_SIDE_CLOSE); - } - } - break; - case MAP_ELEMENT_TYPE_PATH: - if (abs((sint32)inputMapElement->base_height - (sint32)mapElement->base_height) <= 2) { - proximity_score_increment(PROXIMITY_PATH_SIDE_CLOSE); - } - break; - case MAP_ELEMENT_TYPE_TRACK: - if (inputMapElement->properties.track.ride_index != mapElement->properties.track.ride_index) { - if (abs((sint32)inputMapElement->base_height - (sint32)mapElement->base_height) <= 2) { - proximity_score_increment(PROXIMITY_FOREIGN_TRACK_SIDE_CLOSE); - } - } - break; - case MAP_ELEMENT_TYPE_SCENERY: - case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - if (mapElement->base_height < inputMapElement->clearance_height) { - if (inputMapElement->base_height > mapElement->clearance_height) { - proximity_score_increment(PROXIMITY_SCENERY_SIDE_ABOVE); - } else { - proximity_score_increment(PROXIMITY_SCENERY_SIDE_BELOW); - } - } - break; - } - } while (!map_element_is_last_for_tile(mapElement++)); + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + switch (map_element_get_type(mapElement)) { + case MAP_ELEMENT_TYPE_SURFACE: + if (gRideRatingsCalcData.proximity_base_height <= inputMapElement->base_height) { + if (inputMapElement->clearance_height <= mapElement->base_height) { + proximity_score_increment(PROXIMITY_SURFACE_SIDE_CLOSE); + } + } + break; + case MAP_ELEMENT_TYPE_PATH: + if (abs((sint32)inputMapElement->base_height - (sint32)mapElement->base_height) <= 2) { + proximity_score_increment(PROXIMITY_PATH_SIDE_CLOSE); + } + break; + case MAP_ELEMENT_TYPE_TRACK: + if (inputMapElement->properties.track.ride_index != mapElement->properties.track.ride_index) { + if (abs((sint32)inputMapElement->base_height - (sint32)mapElement->base_height) <= 2) { + proximity_score_increment(PROXIMITY_FOREIGN_TRACK_SIDE_CLOSE); + } + } + break; + case MAP_ELEMENT_TYPE_SCENERY: + case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: + if (mapElement->base_height < inputMapElement->clearance_height) { + if (inputMapElement->base_height > mapElement->clearance_height) { + proximity_score_increment(PROXIMITY_SCENERY_SIDE_ABOVE); + } else { + proximity_score_increment(PROXIMITY_SCENERY_SIDE_BELOW); + } + } + break; + } + } while (!map_element_is_last_for_tile(mapElement++)); } static void ride_ratings_score_close_proximity_loops_helper(rct_map_element *inputMapElement, sint32 x, sint32 y) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - switch (map_element_get_type(mapElement)) { - case MAP_ELEMENT_TYPE_PATH: - { - sint32 zDiff = (sint32)mapElement->base_height - (sint32)inputMapElement->base_height; - if (zDiff >= 0 && zDiff <= 16) - { - proximity_score_increment(PROXIMITY_PATH_TROUGH_VERTICAL_LOOP); - } - } break; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + switch (map_element_get_type(mapElement)) { + case MAP_ELEMENT_TYPE_PATH: + { + sint32 zDiff = (sint32)mapElement->base_height - (sint32)inputMapElement->base_height; + if (zDiff >= 0 && zDiff <= 16) + { + proximity_score_increment(PROXIMITY_PATH_TROUGH_VERTICAL_LOOP); + } + } break; - case MAP_ELEMENT_TYPE_TRACK: - { - sint32 unk = (mapElement->type ^ inputMapElement->type) & 1; - if (unk != 0) - { - sint32 zDiff = (sint32)mapElement->base_height - (sint32)inputMapElement->base_height; - if (zDiff >= 0 && zDiff <= 16) - { - proximity_score_increment(PROXIMITY_TRACK_THROUGH_VERTICAL_LOOP); - if ( - mapElement->properties.track.type == TRACK_ELEM_LEFT_VERTICAL_LOOP || - mapElement->properties.track.type == TRACK_ELEM_RIGHT_VERTICAL_LOOP - ) - { - proximity_score_increment(PROXIMITY_INTERSECTING_VERTICAL_LOOP); - } - } - } - } break; - } - } while (!map_element_is_last_for_tile(mapElement++)); + case MAP_ELEMENT_TYPE_TRACK: + { + sint32 unk = (mapElement->type ^ inputMapElement->type) & 1; + if (unk != 0) + { + sint32 zDiff = (sint32)mapElement->base_height - (sint32)inputMapElement->base_height; + if (zDiff >= 0 && zDiff <= 16) + { + proximity_score_increment(PROXIMITY_TRACK_THROUGH_VERTICAL_LOOP); + if ( + mapElement->properties.track.type == TRACK_ELEM_LEFT_VERTICAL_LOOP || + mapElement->properties.track.type == TRACK_ELEM_RIGHT_VERTICAL_LOOP + ) + { + proximity_score_increment(PROXIMITY_INTERSECTING_VERTICAL_LOOP); + } + } + } + } break; + } + } while (!map_element_is_last_for_tile(mapElement++)); } /** @@ -459,17 +459,17 @@ static void ride_ratings_score_close_proximity_loops_helper(rct_map_element *inp */ static void ride_ratings_score_close_proximity_loops(rct_map_element *inputMapElement) { - sint32 trackType = inputMapElement->properties.track.type; - if (trackType == TRACK_ELEM_LEFT_VERTICAL_LOOP || trackType == TRACK_ELEM_RIGHT_VERTICAL_LOOP) { - sint32 x = gRideRatingsCalcData.proximity_x; - sint32 y = gRideRatingsCalcData.proximity_y; - ride_ratings_score_close_proximity_loops_helper(inputMapElement, x, y); + sint32 trackType = inputMapElement->properties.track.type; + if (trackType == TRACK_ELEM_LEFT_VERTICAL_LOOP || trackType == TRACK_ELEM_RIGHT_VERTICAL_LOOP) { + sint32 x = gRideRatingsCalcData.proximity_x; + sint32 y = gRideRatingsCalcData.proximity_y; + ride_ratings_score_close_proximity_loops_helper(inputMapElement, x, y); - sint32 direction = inputMapElement->type & MAP_ELEMENT_DIRECTION_MASK; - x = gRideRatingsCalcData.proximity_x + TileDirectionDelta[direction].x; - y = gRideRatingsCalcData.proximity_y + TileDirectionDelta[direction].y; - ride_ratings_score_close_proximity_loops_helper(inputMapElement, x, y); - } + sint32 direction = inputMapElement->type & MAP_ELEMENT_DIRECTION_MASK; + x = gRideRatingsCalcData.proximity_x + TileDirectionDelta[direction].x; + y = gRideRatingsCalcData.proximity_y + TileDirectionDelta[direction].y; + ride_ratings_score_close_proximity_loops_helper(inputMapElement, x, y); + } } /** @@ -478,248 +478,248 @@ static void ride_ratings_score_close_proximity_loops(rct_map_element *inputMapEl */ static void ride_ratings_score_close_proximity(rct_map_element *inputMapElement) { - if (gRideRatingsCalcData.station_flags & RIDE_RATING_STATION_FLAG_NO_ENTRANCE) { - return; - } + if (gRideRatingsCalcData.station_flags & RIDE_RATING_STATION_FLAG_NO_ENTRANCE) { + return; + } - gRideRatingsCalcData.proximity_total++; - sint32 x = gRideRatingsCalcData.proximity_x; - sint32 y = gRideRatingsCalcData.proximity_y; - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - switch (map_element_get_type(mapElement)) { - case MAP_ELEMENT_TYPE_SURFACE: - gRideRatingsCalcData.proximity_base_height = mapElement->base_height; - if (mapElement->base_height * 8 == gRideRatingsCalcData.proximity_z) { - proximity_score_increment(PROXIMITY_SURFACE_TOUCH); - } - sint32 waterHeight = (mapElement->properties.surface.terrain & 0x1F); - if (waterHeight != 0) { - sint32 z = waterHeight * 16; - if (z <= gRideRatingsCalcData.proximity_z) { - proximity_score_increment(PROXIMITY_WATER_OVER); - if (z == gRideRatingsCalcData.proximity_z) { - proximity_score_increment(PROXIMITY_WATER_TOUCH); - } - z += 16; - if (z == gRideRatingsCalcData.proximity_z) { - proximity_score_increment(PROXIMITY_WATER_LOW); - } - z += 112; - if (z <= gRideRatingsCalcData.proximity_z) { - proximity_score_increment(PROXIMITY_WATER_HIGH); - } - } - } - break; - case MAP_ELEMENT_TYPE_PATH: - if (mapElement->properties.path.type & 0xF0) { - if (mapElement->clearance_height == inputMapElement->base_height) { - proximity_score_increment(PROXIMITY_138B5A6); - } - if (mapElement->base_height == inputMapElement->clearance_height) { - proximity_score_increment(PROXIMITY_138B5A8); - } - } else { - if (mapElement->clearance_height <= inputMapElement->base_height) { - proximity_score_increment(PROXIMITY_PATH_OVER); - } - if (mapElement->clearance_height == inputMapElement->base_height) { - proximity_score_increment(PROXIMITY_PATH_TOUCH_ABOVE); - } - if (mapElement->base_height == inputMapElement->clearance_height) { - proximity_score_increment(PROXIMITY_PATH_TOUCH_UNDER); - } - } - break; - case MAP_ELEMENT_TYPE_TRACK: - { - sint32 trackType = mapElement->properties.track.type; - if (trackType == TRACK_ELEM_LEFT_VERTICAL_LOOP || trackType == TRACK_ELEM_RIGHT_VERTICAL_LOOP) { - sint32 sequence = mapElement->properties.track.sequence & 0x0F; - if (sequence == 3 || sequence == 6) { - if (mapElement->base_height - inputMapElement->clearance_height <= 10) { - proximity_score_increment(PROXIMITY_THROUGH_VERTICAL_LOOP); - } - } - } - if (inputMapElement->properties.track.ride_index != mapElement->properties.track.ride_index) { - proximity_score_increment(PROXIMITY_FOREIGN_TRACK_ABOVE_OR_BELOW); - if (mapElement->clearance_height == inputMapElement->base_height) { - proximity_score_increment(PROXIMITY_FOREIGN_TRACK_TOUCH_ABOVE); - } - if (mapElement->clearance_height + 2 <= inputMapElement->base_height) { - if (mapElement->clearance_height + 10 >= inputMapElement->base_height) { - proximity_score_increment(PROXIMITY_FOREIGN_TRACK_CLOSE_ABOVE); - } - } - if (inputMapElement->clearance_height == mapElement->base_height) { - proximity_score_increment(PROXIMITY_FOREIGN_TRACK_TOUCH_ABOVE); - } - if (inputMapElement->clearance_height + 2 == mapElement->base_height) { - if ((uint8)(inputMapElement->clearance_height + 10) >= mapElement->base_height) { - proximity_score_increment(PROXIMITY_FOREIGN_TRACK_CLOSE_ABOVE); - } - } - } else { - trackType = mapElement->properties.track.type; - bool isStation = ( - trackType == TRACK_ELEM_END_STATION || - trackType == TRACK_ELEM_MIDDLE_STATION || - trackType == TRACK_ELEM_BEGIN_STATION - ); - if (mapElement->clearance_height == inputMapElement->base_height) { - proximity_score_increment(PROXIMITY_OWN_TRACK_TOUCH_ABOVE); - if (isStation) { - proximity_score_increment(PROXIMITY_OWN_STATION_TOUCH_ABOVE); - } - } - if (mapElement->clearance_height + 2 <= inputMapElement->base_height) { - if (mapElement->clearance_height + 10 >= inputMapElement->base_height) { - proximity_score_increment(PROXIMITY_OWN_TRACK_CLOSE_ABOVE); - if (isStation) { - proximity_score_increment(PROXIMITY_OWN_STATION_CLOSE_ABOVE); - } - } - } + gRideRatingsCalcData.proximity_total++; + sint32 x = gRideRatingsCalcData.proximity_x; + sint32 y = gRideRatingsCalcData.proximity_y; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + switch (map_element_get_type(mapElement)) { + case MAP_ELEMENT_TYPE_SURFACE: + gRideRatingsCalcData.proximity_base_height = mapElement->base_height; + if (mapElement->base_height * 8 == gRideRatingsCalcData.proximity_z) { + proximity_score_increment(PROXIMITY_SURFACE_TOUCH); + } + sint32 waterHeight = (mapElement->properties.surface.terrain & 0x1F); + if (waterHeight != 0) { + sint32 z = waterHeight * 16; + if (z <= gRideRatingsCalcData.proximity_z) { + proximity_score_increment(PROXIMITY_WATER_OVER); + if (z == gRideRatingsCalcData.proximity_z) { + proximity_score_increment(PROXIMITY_WATER_TOUCH); + } + z += 16; + if (z == gRideRatingsCalcData.proximity_z) { + proximity_score_increment(PROXIMITY_WATER_LOW); + } + z += 112; + if (z <= gRideRatingsCalcData.proximity_z) { + proximity_score_increment(PROXIMITY_WATER_HIGH); + } + } + } + break; + case MAP_ELEMENT_TYPE_PATH: + if (mapElement->properties.path.type & 0xF0) { + if (mapElement->clearance_height == inputMapElement->base_height) { + proximity_score_increment(PROXIMITY_138B5A6); + } + if (mapElement->base_height == inputMapElement->clearance_height) { + proximity_score_increment(PROXIMITY_138B5A8); + } + } else { + if (mapElement->clearance_height <= inputMapElement->base_height) { + proximity_score_increment(PROXIMITY_PATH_OVER); + } + if (mapElement->clearance_height == inputMapElement->base_height) { + proximity_score_increment(PROXIMITY_PATH_TOUCH_ABOVE); + } + if (mapElement->base_height == inputMapElement->clearance_height) { + proximity_score_increment(PROXIMITY_PATH_TOUCH_UNDER); + } + } + break; + case MAP_ELEMENT_TYPE_TRACK: + { + sint32 trackType = mapElement->properties.track.type; + if (trackType == TRACK_ELEM_LEFT_VERTICAL_LOOP || trackType == TRACK_ELEM_RIGHT_VERTICAL_LOOP) { + sint32 sequence = mapElement->properties.track.sequence & 0x0F; + if (sequence == 3 || sequence == 6) { + if (mapElement->base_height - inputMapElement->clearance_height <= 10) { + proximity_score_increment(PROXIMITY_THROUGH_VERTICAL_LOOP); + } + } + } + if (inputMapElement->properties.track.ride_index != mapElement->properties.track.ride_index) { + proximity_score_increment(PROXIMITY_FOREIGN_TRACK_ABOVE_OR_BELOW); + if (mapElement->clearance_height == inputMapElement->base_height) { + proximity_score_increment(PROXIMITY_FOREIGN_TRACK_TOUCH_ABOVE); + } + if (mapElement->clearance_height + 2 <= inputMapElement->base_height) { + if (mapElement->clearance_height + 10 >= inputMapElement->base_height) { + proximity_score_increment(PROXIMITY_FOREIGN_TRACK_CLOSE_ABOVE); + } + } + if (inputMapElement->clearance_height == mapElement->base_height) { + proximity_score_increment(PROXIMITY_FOREIGN_TRACK_TOUCH_ABOVE); + } + if (inputMapElement->clearance_height + 2 == mapElement->base_height) { + if ((uint8)(inputMapElement->clearance_height + 10) >= mapElement->base_height) { + proximity_score_increment(PROXIMITY_FOREIGN_TRACK_CLOSE_ABOVE); + } + } + } else { + trackType = mapElement->properties.track.type; + bool isStation = ( + trackType == TRACK_ELEM_END_STATION || + trackType == TRACK_ELEM_MIDDLE_STATION || + trackType == TRACK_ELEM_BEGIN_STATION + ); + if (mapElement->clearance_height == inputMapElement->base_height) { + proximity_score_increment(PROXIMITY_OWN_TRACK_TOUCH_ABOVE); + if (isStation) { + proximity_score_increment(PROXIMITY_OWN_STATION_TOUCH_ABOVE); + } + } + if (mapElement->clearance_height + 2 <= inputMapElement->base_height) { + if (mapElement->clearance_height + 10 >= inputMapElement->base_height) { + proximity_score_increment(PROXIMITY_OWN_TRACK_CLOSE_ABOVE); + if (isStation) { + proximity_score_increment(PROXIMITY_OWN_STATION_CLOSE_ABOVE); + } + } + } - if (inputMapElement->clearance_height == mapElement->base_height) { - proximity_score_increment(PROXIMITY_OWN_TRACK_TOUCH_ABOVE); - if (isStation) { - proximity_score_increment(PROXIMITY_OWN_STATION_TOUCH_ABOVE); - } - } - if (inputMapElement->clearance_height + 2 <= mapElement->base_height) { - if (inputMapElement->clearance_height + 10 >= mapElement->base_height) { - proximity_score_increment(PROXIMITY_OWN_TRACK_CLOSE_ABOVE); - if (isStation) { - proximity_score_increment(PROXIMITY_OWN_STATION_CLOSE_ABOVE); - } - } - } - } - } break; - } // switch map_element_get_type - } while (!map_element_is_last_for_tile(mapElement++)); + if (inputMapElement->clearance_height == mapElement->base_height) { + proximity_score_increment(PROXIMITY_OWN_TRACK_TOUCH_ABOVE); + if (isStation) { + proximity_score_increment(PROXIMITY_OWN_STATION_TOUCH_ABOVE); + } + } + if (inputMapElement->clearance_height + 2 <= mapElement->base_height) { + if (inputMapElement->clearance_height + 10 >= mapElement->base_height) { + proximity_score_increment(PROXIMITY_OWN_TRACK_CLOSE_ABOVE); + if (isStation) { + proximity_score_increment(PROXIMITY_OWN_STATION_CLOSE_ABOVE); + } + } + } + } + } break; + } // switch map_element_get_type + } while (!map_element_is_last_for_tile(mapElement++)); - uint8 direction = inputMapElement->type & MAP_ELEMENT_DIRECTION_MASK; - ride_ratings_score_close_proximity_in_direction(inputMapElement, (direction + 1) & 3); - ride_ratings_score_close_proximity_in_direction(inputMapElement, (direction - 1) & 3); - ride_ratings_score_close_proximity_loops(inputMapElement); + uint8 direction = inputMapElement->type & MAP_ELEMENT_DIRECTION_MASK; + ride_ratings_score_close_proximity_in_direction(inputMapElement, (direction + 1) & 3); + ride_ratings_score_close_proximity_in_direction(inputMapElement, (direction - 1) & 3); + ride_ratings_score_close_proximity_loops(inputMapElement); - switch (gRideRatingsCalcData.proximity_track_type) { - case TRACK_ELEM_BRAKES: - gRideRatingsCalcData.num_brakes++; - break; - case TRACK_ELEM_LEFT_REVERSER: - case TRACK_ELEM_RIGHT_REVERSER: - gRideRatingsCalcData.num_reversers++; - break; - } + switch (gRideRatingsCalcData.proximity_track_type) { + case TRACK_ELEM_BRAKES: + gRideRatingsCalcData.num_brakes++; + break; + case TRACK_ELEM_LEFT_REVERSER: + case TRACK_ELEM_RIGHT_REVERSER: + gRideRatingsCalcData.num_reversers++; + break; + } } static void ride_ratings_calculate(rct_ride *ride) { - ride_ratings_calculation calcFunc = ride_ratings_calculate_func_table[ride->type]; - if (calcFunc != NULL) { - calcFunc(ride); - } + ride_ratings_calculation calcFunc = ride_ratings_calculate_func_table[ride->type]; + if (calcFunc != NULL) { + calcFunc(ride); + } #ifdef ORIGINAL_RATINGS - if (ride->ratings.excitement != -1) { - // Address underflows allowed by original RCT2 code - ride->ratings.excitement = max(0, ride->ratings.excitement); - ride->ratings.intensity = max(0, ride->ratings.intensity); - ride->ratings.nausea = max(0, ride->ratings.nausea); - } + if (ride->ratings.excitement != -1) { + // Address underflows allowed by original RCT2 code + ride->ratings.excitement = max(0, ride->ratings.excitement); + ride->ratings.intensity = max(0, ride->ratings.intensity); + ride->ratings.nausea = max(0, ride->ratings.nausea); + } #endif } static void ride_ratings_calculate_value(rct_ride *ride) { - typedef struct row { - sint32 months, multiplier, divisor, summand; - } row; + typedef struct row { + sint32 months, multiplier, divisor, summand; + } row; - static const row age_table_new[] = { - {5, 3, 2, 0}, // 1.5x - {13, 6, 5, 0}, // 1.2x - {40, 1, 1, 0}, // 1x - {64, 3, 4, 0}, // 0.75x - {88, 9, 16, 0}, // 0.56x - {104, 27, 64, 0}, // 0.42x - {120, 81, 256, 0}, // 0.32x - {128, 81, 512, 0}, // 0.16x - {200, 81, 1024, 0}, // 0.08x - {200, 9, 16, 0} // 0.56x "easter egg" - }; + static const row age_table_new[] = { + {5, 3, 2, 0}, // 1.5x + {13, 6, 5, 0}, // 1.2x + {40, 1, 1, 0}, // 1x + {64, 3, 4, 0}, // 0.75x + {88, 9, 16, 0}, // 0.56x + {104, 27, 64, 0}, // 0.42x + {120, 81, 256, 0}, // 0.32x + {128, 81, 512, 0}, // 0.16x + {200, 81, 1024, 0}, // 0.08x + {200, 9, 16, 0} // 0.56x "easter egg" + }; #ifdef ORIGINAL_RATINGS - static const row age_table_old[] = { - {5, 1, 1, 30}, // +30 - {13, 1, 1, 10}, // +10 - {40, 1, 1, 0}, // 1x - {64, 3, 4, 0}, // 0.75x - {88, 9, 16, 0}, // 0.56x - {104, 27, 64, 0}, // 0.42x - {120, 81, 256, 0}, // 0.32x - {128, 81, 512, 0}, // 0.16x - {200, 81, 1024, 0}, // 0.08x - {200, 9, 16, 0} // 0.56x "easter egg" - }; + static const row age_table_old[] = { + {5, 1, 1, 30}, // +30 + {13, 1, 1, 10}, // +10 + {40, 1, 1, 0}, // 1x + {64, 3, 4, 0}, // 0.75x + {88, 9, 16, 0}, // 0.56x + {104, 27, 64, 0}, // 0.42x + {120, 81, 256, 0}, // 0.32x + {128, 81, 512, 0}, // 0.16x + {200, 81, 1024, 0}, // 0.08x + {200, 9, 16, 0} // 0.56x "easter egg" + }; #endif - if (!ride_has_ratings(ride)) { - return; - } + if (!ride_has_ratings(ride)) { + return; + } - // Start with the base ratings, multiplied by the ride type specific weights for excitement, intensity and nausea. - sint32 value = - (((ride->excitement * RideRatings[ride->type].excitement) * 32) >> 15) + - (((ride->intensity * RideRatings[ride->type].intensity) * 32) >> 15) + - (((ride->nausea * RideRatings[ride->type].nausea) * 32) >> 15); + // Start with the base ratings, multiplied by the ride type specific weights for excitement, intensity and nausea. + sint32 value = + (((ride->excitement * RideRatings[ride->type].excitement) * 32) >> 15) + + (((ride->intensity * RideRatings[ride->type].intensity) * 32) >> 15) + + (((ride->nausea * RideRatings[ride->type].nausea) * 32) >> 15); - sint32 monthsOld = gDateMonthsElapsed - ride->build_date; + sint32 monthsOld = gDateMonthsElapsed - ride->build_date; - const row *age_table = age_table_new; - sint32 table_size = countof(age_table_new); + const row *age_table = age_table_new; + sint32 table_size = countof(age_table_new); #ifdef ORIGINAL_RATINGS - age_table = age_table_old; - table_size = countof(age_table_old); + age_table = age_table_old; + table_size = countof(age_table_old); #endif - row last_row = age_table[table_size-1]; + row last_row = age_table[table_size-1]; - // Ride is older than oldest age in the table? - if(monthsOld >= last_row.months) { - value = (value * last_row.multiplier) / last_row.divisor + last_row.summand; - } - else { - // Find the first hit in the table that matches this ride's age - for(sint32 it = 0; it < table_size; it++) { - row curr = age_table[it]; + // Ride is older than oldest age in the table? + if(monthsOld >= last_row.months) { + value = (value * last_row.multiplier) / last_row.divisor + last_row.summand; + } + else { + // Find the first hit in the table that matches this ride's age + for(sint32 it = 0; it < table_size; it++) { + row curr = age_table[it]; - if(monthsOld < curr.months) { - value = (value * curr.multiplier) / curr.divisor + curr.summand; - break; - } - } - } + if(monthsOld < curr.months) { + value = (value * curr.multiplier) / curr.divisor + curr.summand; + break; + } + } + } - // Other ride of same type penalty - sint32 otherRidesOfSameType = 0; - rct_ride *ride2; - sint32 i; - FOR_ALL_RIDES(i, ride2) { - if (ride2->type == ride->type && ride2->status == RIDE_STATUS_OPEN) - otherRidesOfSameType++; - } - if (otherRidesOfSameType > 1) - value -= value / 4; + // Other ride of same type penalty + sint32 otherRidesOfSameType = 0; + rct_ride *ride2; + sint32 i; + FOR_ALL_RIDES(i, ride2) { + if (ride2->type == ride->type && ride2->status == RIDE_STATUS_OPEN) + otherRidesOfSameType++; + } + if (otherRidesOfSameType > 1) + value -= value / 4; - ride->value = max(0, value); + ride->value = max(0, value); } /** @@ -730,75 +730,75 @@ static void ride_ratings_calculate_value(rct_ride *ride) */ static uint16 ride_compute_upkeep(rct_ride *ride) { - // data stored at 0x0057E3A8, incrementing 18 bytes at a time - uint16 upkeep = initialUpkeepCosts[ride->type]; + // data stored at 0x0057E3A8, incrementing 18 bytes at a time + uint16 upkeep = initialUpkeepCosts[ride->type]; - uint16 trackCost = costPerTrackPiece[ride->type]; - uint8 dl = ride->drops; + uint16 trackCost = costPerTrackPiece[ride->type]; + uint8 dl = ride->drops; - dl = dl >> 6; - dl = dl & 3; - upkeep += trackCost * dl; + dl = dl >> 6; + dl = dl & 3; + upkeep += trackCost * dl; - uint32 totalLength = ride_get_total_length(ride) >> 16; + uint32 totalLength = ride_get_total_length(ride) >> 16; - // The data originally here was 20's and 0's. The 20's all represented - // rides that had tracks. The 0's were fixed rides like crooked house or - // dodgems. - // Data source is 0x0097E3AC - if (hasRunningTrack[ride->type]) { - totalLength *= 20; - } - upkeep += (uint16)(totalLength >> 10); + // The data originally here was 20's and 0's. The 20's all represented + // rides that had tracks. The 0's were fixed rides like crooked house or + // dodgems. + // Data source is 0x0097E3AC + if (hasRunningTrack[ride->type]) { + totalLength *= 20; + } + upkeep += (uint16)(totalLength >> 10); - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) { - // The original code read from a table starting at 0x0097E3AE and - // incrementing by 0x12 bytes between values. However, all of these - // values were 40. I have replaced the table lookup with the constant - // 40 in this case. - upkeep += 40; - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) { + // The original code read from a table starting at 0x0097E3AE and + // incrementing by 0x12 bytes between values. However, all of these + // values were 40. I have replaced the table lookup with the constant + // 40 in this case. + upkeep += 40; + } - // Add maintenance cost for reverser track pieces - uint16 reverserMaintenanceCost = 80; - if (ride->type == RIDE_TYPE_REVERSER_ROLLER_COASTER) { - reverserMaintenanceCost = 10; - } - upkeep += reverserMaintenanceCost * gRideRatingsCalcData.num_reversers; + // Add maintenance cost for reverser track pieces + uint16 reverserMaintenanceCost = 80; + if (ride->type == RIDE_TYPE_REVERSER_ROLLER_COASTER) { + reverserMaintenanceCost = 10; + } + upkeep += reverserMaintenanceCost * gRideRatingsCalcData.num_reversers; - // Add maintenance cost for brake track pieces - upkeep += 20 * gRideRatingsCalcData.num_brakes; + // Add maintenance cost for brake track pieces + upkeep += 20 * gRideRatingsCalcData.num_brakes; - // these seem to be adhoc adjustments to a ride's upkeep/cost, times - // various variables set on the ride itself. + // these seem to be adhoc adjustments to a ride's upkeep/cost, times + // various variables set on the ride itself. - // https://gist.github.com/kevinburke/e19b803cd2769d96c540 - upkeep += costPerVehicle[ride->type] * ride->num_vehicles; + // https://gist.github.com/kevinburke/e19b803cd2769d96c540 + upkeep += costPerVehicle[ride->type] * ride->num_vehicles; - // either set to 3 or 0, extra boosts for some rides including mini golf - if (chargeUpkeepForTrainLength[ride->type]) { - upkeep += 3 * ride->num_cars_per_train; - } + // either set to 3 or 0, extra boosts for some rides including mini golf + if (chargeUpkeepForTrainLength[ride->type]) { + upkeep += 3 * ride->num_cars_per_train; + } - // slight upkeep boosts for some rides - 5 for mini railroad, 10 for log - // flume/rapids, 10 for roller coaster, 28 for giga coaster - upkeep += costPerStation[ride->type] * ride->num_stations; + // slight upkeep boosts for some rides - 5 for mini railroad, 10 for log + // flume/rapids, 10 for roller coaster, 28 for giga coaster + upkeep += costPerStation[ride->type] * ride->num_stations; - if (ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) { - upkeep += 30; - } else if (ride->mode == RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) { - upkeep += 160; - } else if (ride->mode == RIDE_MODE_LIM_POWERED_LAUNCH) { - upkeep += 320; - } else if (ride->mode == RIDE_MODE_POWERED_LAUNCH || - ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED) { - upkeep += 220; - } + if (ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) { + upkeep += 30; + } else if (ride->mode == RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) { + upkeep += 160; + } else if (ride->mode == RIDE_MODE_LIM_POWERED_LAUNCH) { + upkeep += 320; + } else if (ride->mode == RIDE_MODE_POWERED_LAUNCH || + ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED) { + upkeep += 220; + } - // multiply by 5/8 - upkeep = upkeep * 10; - upkeep = upkeep >> 4; - return upkeep; + // multiply by 5/8 + upkeep = upkeep * 10; + upkeep = upkeep >> 4; + return upkeep; } /** @@ -813,43 +813,43 @@ static uint16 ride_compute_upkeep(rct_ride *ride) */ static void ride_ratings_apply_adjustments(rct_ride *ride, rating_tuple *ratings) { - rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); + rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); - // Apply ride entry multipliers - ride_ratings_add(ratings, - (((sint32)ratings->excitement * rideEntry->excitement_multipler) >> 7), - (((sint32)ratings->intensity * rideEntry->intensity_multipler) >> 7), - (((sint32)ratings->nausea * rideEntry->nausea_multipler) >> 7)); + // Apply ride entry multipliers + ride_ratings_add(ratings, + (((sint32)ratings->excitement * rideEntry->excitement_multipler) >> 7), + (((sint32)ratings->intensity * rideEntry->intensity_multipler) >> 7), + (((sint32)ratings->nausea * rideEntry->nausea_multipler) >> 7)); - // Apply total air time + // Apply total air time #ifdef ORIGINAL_RATINGS - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_AIR_TIME) { - uint16 totalAirTime = ride->total_air_time; - if (rideEntry->flags & RIDE_ENTRY_FLAG_LIMIT_AIRTIME_BONUS) { - if (totalAirTime >= 96) { - totalAirTime -= 96; - ratings->excitement -= totalAirTime / 8; - ratings->nausea += totalAirTime / 16; - } - } else { - ratings->excitement += totalAirTime / 8; - ratings->nausea += totalAirTime / 16; - } - } + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_AIR_TIME) { + uint16 totalAirTime = ride->total_air_time; + if (rideEntry->flags & RIDE_ENTRY_FLAG_LIMIT_AIRTIME_BONUS) { + if (totalAirTime >= 96) { + totalAirTime -= 96; + ratings->excitement -= totalAirTime / 8; + ratings->nausea += totalAirTime / 16; + } + } else { + ratings->excitement += totalAirTime / 8; + ratings->nausea += totalAirTime / 16; + } + } #else - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_AIR_TIME) { - sint32 excitementModifier; - sint32 nauseaModifier; - if (rideEntry->flags & RIDE_ENTRY_FLAG_LIMIT_AIRTIME_BONUS) { - // Limit airtime bonus for heartline twister coaster (see issues #2031 and #2064) - excitementModifier = min(ride->total_air_time, 96) / 8; - } else { - excitementModifier = ride->total_air_time / 8; - } - nauseaModifier = ride->total_air_time / 16; + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_AIR_TIME) { + sint32 excitementModifier; + sint32 nauseaModifier; + if (rideEntry->flags & RIDE_ENTRY_FLAG_LIMIT_AIRTIME_BONUS) { + // Limit airtime bonus for heartline twister coaster (see issues #2031 and #2064) + excitementModifier = min(ride->total_air_time, 96) / 8; + } else { + excitementModifier = ride->total_air_time / 8; + } + nauseaModifier = ride->total_air_time / 16; - ride_ratings_add(ratings, excitementModifier, 0, nauseaModifier); - } + ride_ratings_add(ratings, excitementModifier, 0, nauseaModifier); + } #endif } @@ -859,14 +859,14 @@ static void ride_ratings_apply_adjustments(rct_ride *ride, rating_tuple *ratings */ static void ride_ratings_apply_intensity_penalty(rating_tuple *ratings) { - static const ride_rating intensityBounds[] = { 1000, 1100, 1200, 1320, 1450 }; - sint32 i; + static const ride_rating intensityBounds[] = { 1000, 1100, 1200, 1320, 1450 }; + sint32 i; - ride_rating excitement = ratings->excitement; - for (i = 0; i < countof(intensityBounds); i++) - if (ratings->intensity >= intensityBounds[i]) - excitement -= excitement / 4; - ratings->excitement = excitement; + ride_rating excitement = ratings->excitement; + for (i = 0; i < countof(intensityBounds); i++) + if (ratings->intensity >= intensityBounds[i]) + excitement -= excitement / 4; + ratings->excitement = excitement; } /** @@ -875,26 +875,26 @@ static void ride_ratings_apply_intensity_penalty(rating_tuple *ratings) */ static void set_unreliability_factor(rct_ride *ride) { - // The bigger the difference in lift speed and minimum the higher the unreliability - uint8 lift_speed_adjustment = RideLiftData[ride->type].minimum_speed; - ride->unreliability_factor += (ride->lift_hill_speed - lift_speed_adjustment) * 2; + // The bigger the difference in lift speed and minimum the higher the unreliability + uint8 lift_speed_adjustment = RideLiftData[ride->type].minimum_speed; + ride->unreliability_factor += (ride->lift_hill_speed - lift_speed_adjustment) * 2; } static uint32 get_proximity_score_helper_1(uint16 x, uint16 max, uint32 multiplier) { - return (min(x, max) * multiplier) >> 16; + return (min(x, max) * multiplier) >> 16; } static uint32 get_proximity_score_helper_2(uint16 x, uint16 additionIfNotZero, uint16 max, uint32 multiplier) { - uint32 result = x; - if (result != 0) result += additionIfNotZero; - return (min(result, max) * multiplier) >> 16; + uint32 result = x; + if (result != 0) result += additionIfNotZero; + return (min(result, max) * multiplier) >> 16; } static uint32 get_proximity_score_helper_3(uint16 x, uint16 resultIfNotZero) { - return x == 0 ? 0 : resultIfNotZero; + return x == 0 ? 0 : resultIfNotZero; } /** @@ -903,36 +903,36 @@ static uint32 get_proximity_score_helper_3(uint16 x, uint16 resultIfNotZero) */ static uint32 ride_ratings_get_proximity_score() { - const uint16 * scores = gRideRatingsCalcData.proximity_scores; + const uint16 * scores = gRideRatingsCalcData.proximity_scores; - uint32 result = 0; - result += get_proximity_score_helper_1(scores[PROXIMITY_WATER_OVER ] , 60, 0x00AAAA); - result += get_proximity_score_helper_1(scores[PROXIMITY_WATER_TOUCH ] , 22, 0x0245D1); - result += get_proximity_score_helper_1(scores[PROXIMITY_WATER_LOW ] , 10, 0x020000); - result += get_proximity_score_helper_1(scores[PROXIMITY_WATER_HIGH ] , 40, 0x00A000); - result += get_proximity_score_helper_1(scores[PROXIMITY_SURFACE_TOUCH ] , 70, 0x01B6DB); - result += get_proximity_score_helper_1(scores[PROXIMITY_PATH_OVER ] + 8, 12, 0x064000); - result += get_proximity_score_helper_3(scores[PROXIMITY_PATH_TOUCH_ABOVE ] , 40 ); - result += get_proximity_score_helper_3(scores[PROXIMITY_PATH_TOUCH_UNDER ] , 45 ); - result += get_proximity_score_helper_2(scores[PROXIMITY_138B5A6 ] , 10, 20, 0x03C000); - result += get_proximity_score_helper_2(scores[PROXIMITY_138B5A8 ] , 10, 20, 0x044000); - result += get_proximity_score_helper_2(scores[PROXIMITY_OWN_TRACK_TOUCH_ABOVE ] , 10, 15, 0x035555); - result += get_proximity_score_helper_1(scores[PROXIMITY_OWN_TRACK_CLOSE_ABOVE ] , 5, 0x060000); - result += get_proximity_score_helper_2(scores[PROXIMITY_FOREIGN_TRACK_ABOVE_OR_BELOW] , 10, 15, 0x02AAAA); - result += get_proximity_score_helper_2(scores[PROXIMITY_FOREIGN_TRACK_TOUCH_ABOVE ] , 10, 15, 0x04AAAA); - result += get_proximity_score_helper_1(scores[PROXIMITY_FOREIGN_TRACK_CLOSE_ABOVE ] , 5, 0x090000); - result += get_proximity_score_helper_1(scores[PROXIMITY_SCENERY_SIDE_BELOW ] , 35, 0x016DB6); - result += get_proximity_score_helper_1(scores[PROXIMITY_SCENERY_SIDE_ABOVE ] , 35, 0x00DB6D); - result += get_proximity_score_helper_3(scores[PROXIMITY_OWN_STATION_TOUCH_ABOVE ] , 55 ); - result += get_proximity_score_helper_3(scores[PROXIMITY_OWN_STATION_CLOSE_ABOVE ] , 25 ); - result += get_proximity_score_helper_2(scores[PROXIMITY_TRACK_THROUGH_VERTICAL_LOOP ] , 4, 6, 0x140000); - result += get_proximity_score_helper_2(scores[PROXIMITY_PATH_TROUGH_VERTICAL_LOOP ] , 4, 6, 0x0F0000); - result += get_proximity_score_helper_3(scores[PROXIMITY_INTERSECTING_VERTICAL_LOOP ] , 100 ); - result += get_proximity_score_helper_2(scores[PROXIMITY_THROUGH_VERTICAL_LOOP ] , 4, 6, 0x0A0000); - result += get_proximity_score_helper_2(scores[PROXIMITY_PATH_SIDE_CLOSE ] , 10, 20, 0x01C000); - result += get_proximity_score_helper_2(scores[PROXIMITY_FOREIGN_TRACK_SIDE_CLOSE ] , 10, 20, 0x024000); - result += get_proximity_score_helper_2(scores[PROXIMITY_SURFACE_SIDE_CLOSE ] , 10, 20, 0x028000); - return result; + uint32 result = 0; + result += get_proximity_score_helper_1(scores[PROXIMITY_WATER_OVER ] , 60, 0x00AAAA); + result += get_proximity_score_helper_1(scores[PROXIMITY_WATER_TOUCH ] , 22, 0x0245D1); + result += get_proximity_score_helper_1(scores[PROXIMITY_WATER_LOW ] , 10, 0x020000); + result += get_proximity_score_helper_1(scores[PROXIMITY_WATER_HIGH ] , 40, 0x00A000); + result += get_proximity_score_helper_1(scores[PROXIMITY_SURFACE_TOUCH ] , 70, 0x01B6DB); + result += get_proximity_score_helper_1(scores[PROXIMITY_PATH_OVER ] + 8, 12, 0x064000); + result += get_proximity_score_helper_3(scores[PROXIMITY_PATH_TOUCH_ABOVE ] , 40 ); + result += get_proximity_score_helper_3(scores[PROXIMITY_PATH_TOUCH_UNDER ] , 45 ); + result += get_proximity_score_helper_2(scores[PROXIMITY_138B5A6 ] , 10, 20, 0x03C000); + result += get_proximity_score_helper_2(scores[PROXIMITY_138B5A8 ] , 10, 20, 0x044000); + result += get_proximity_score_helper_2(scores[PROXIMITY_OWN_TRACK_TOUCH_ABOVE ] , 10, 15, 0x035555); + result += get_proximity_score_helper_1(scores[PROXIMITY_OWN_TRACK_CLOSE_ABOVE ] , 5, 0x060000); + result += get_proximity_score_helper_2(scores[PROXIMITY_FOREIGN_TRACK_ABOVE_OR_BELOW] , 10, 15, 0x02AAAA); + result += get_proximity_score_helper_2(scores[PROXIMITY_FOREIGN_TRACK_TOUCH_ABOVE ] , 10, 15, 0x04AAAA); + result += get_proximity_score_helper_1(scores[PROXIMITY_FOREIGN_TRACK_CLOSE_ABOVE ] , 5, 0x090000); + result += get_proximity_score_helper_1(scores[PROXIMITY_SCENERY_SIDE_BELOW ] , 35, 0x016DB6); + result += get_proximity_score_helper_1(scores[PROXIMITY_SCENERY_SIDE_ABOVE ] , 35, 0x00DB6D); + result += get_proximity_score_helper_3(scores[PROXIMITY_OWN_STATION_TOUCH_ABOVE ] , 55 ); + result += get_proximity_score_helper_3(scores[PROXIMITY_OWN_STATION_CLOSE_ABOVE ] , 25 ); + result += get_proximity_score_helper_2(scores[PROXIMITY_TRACK_THROUGH_VERTICAL_LOOP ] , 4, 6, 0x140000); + result += get_proximity_score_helper_2(scores[PROXIMITY_PATH_TROUGH_VERTICAL_LOOP ] , 4, 6, 0x0F0000); + result += get_proximity_score_helper_3(scores[PROXIMITY_INTERSECTING_VERTICAL_LOOP ] , 100 ); + result += get_proximity_score_helper_2(scores[PROXIMITY_THROUGH_VERTICAL_LOOP ] , 4, 6, 0x0A0000); + result += get_proximity_score_helper_2(scores[PROXIMITY_PATH_SIDE_CLOSE ] , 10, 20, 0x01C000); + result += get_proximity_score_helper_2(scores[PROXIMITY_FOREIGN_TRACK_SIDE_CLOSE ] , 10, 20, 0x024000); + result += get_proximity_score_helper_2(scores[PROXIMITY_SURFACE_SIDE_CLOSE ] , 10, 20, 0x028000); + return result; } /** @@ -941,46 +941,46 @@ static uint32 ride_ratings_get_proximity_score() */ static sint32 get_num_of_sheltered_eighths(rct_ride *ride) { - sint32 totalLength = ride_get_total_length(ride); - sint32 shelteredLength = ride->sheltered_length; - sint32 lengthEighth = totalLength / 8; - sint32 lengthCounter = lengthEighth; - sint32 numShelteredEighths = 0; - for (sint32 i = 0; i < 7; i++) { - if (shelteredLength >= lengthCounter) { - lengthCounter += lengthEighth; - numShelteredEighths++; - } - } + sint32 totalLength = ride_get_total_length(ride); + sint32 shelteredLength = ride->sheltered_length; + sint32 lengthEighth = totalLength / 8; + sint32 lengthCounter = lengthEighth; + sint32 numShelteredEighths = 0; + for (sint32 i = 0; i < 7; i++) { + if (shelteredLength >= lengthCounter) { + lengthCounter += lengthEighth; + numShelteredEighths++; + } + } - sint32 dh = numShelteredEighths; - rct_ride_entry *rideType = get_ride_entry(ride->subtype); - if (rideType->flags & RIDE_ENTRY_FLAG_COVERED_RIDE) - numShelteredEighths = 7; + sint32 dh = numShelteredEighths; + rct_ride_entry *rideType = get_ride_entry(ride->subtype); + if (rideType->flags & RIDE_ENTRY_FLAG_COVERED_RIDE) + numShelteredEighths = 7; - return (dh << 8) | numShelteredEighths; + return (dh << 8) | numShelteredEighths; } static rating_tuple get_flat_turns_rating(rct_ride* ride) { - sint32 no_3_plus_turns = get_turn_count_3_elements(ride, 0); - sint32 no_2_turns = get_turn_count_2_elements(ride, 0); - sint32 no_1_turns = get_turn_count_1_element(ride, 0); + sint32 no_3_plus_turns = get_turn_count_3_elements(ride, 0); + sint32 no_2_turns = get_turn_count_2_elements(ride, 0); + sint32 no_1_turns = get_turn_count_1_element(ride, 0); - rating_tuple rating; - rating.excitement = (no_3_plus_turns * 0x28000) >> 16; - rating.excitement += (no_2_turns * 0x30000) >> 16; - rating.excitement += (no_1_turns * 63421) >> 16; + rating_tuple rating; + rating.excitement = (no_3_plus_turns * 0x28000) >> 16; + rating.excitement += (no_2_turns * 0x30000) >> 16; + rating.excitement += (no_1_turns * 63421) >> 16; - rating.intensity = (no_3_plus_turns * 81920) >> 16; - rating.intensity += (no_2_turns * 49152) >> 16; - rating.intensity += (no_1_turns * 21140) >> 16; + rating.intensity = (no_3_plus_turns * 81920) >> 16; + rating.intensity += (no_2_turns * 49152) >> 16; + rating.intensity += (no_1_turns * 21140) >> 16; - rating.nausea = (no_3_plus_turns * 0x50000) >> 16; - rating.nausea += (no_2_turns * 0x32000) >> 16; - rating.nausea += (no_1_turns * 42281) >> 16; + rating.nausea = (no_3_plus_turns * 0x50000) >> 16; + rating.nausea += (no_2_turns * 0x32000) >> 16; + rating.nausea += (no_1_turns * 42281) >> 16; - return rating; + return rating; } /** @@ -989,24 +989,24 @@ static rating_tuple get_flat_turns_rating(rct_ride* ride) */ static rating_tuple get_banked_turns_rating(rct_ride* ride) { - sint32 no_3_plus_turns = get_turn_count_3_elements(ride, 1); - sint32 no_2_turns = get_turn_count_2_elements(ride, 1); - sint32 no_1_turns = get_turn_count_1_element(ride, 1); + sint32 no_3_plus_turns = get_turn_count_3_elements(ride, 1); + sint32 no_2_turns = get_turn_count_2_elements(ride, 1); + sint32 no_1_turns = get_turn_count_1_element(ride, 1); - rating_tuple rating; - rating.excitement = (no_3_plus_turns * 0x3C000) >> 16; - rating.excitement += (no_2_turns * 0x3C000) >> 16; - rating.excitement += (no_1_turns * 73992) >> 16; + rating_tuple rating; + rating.excitement = (no_3_plus_turns * 0x3C000) >> 16; + rating.excitement += (no_2_turns * 0x3C000) >> 16; + rating.excitement += (no_1_turns * 73992) >> 16; - rating.intensity = (no_3_plus_turns * 0x14000) >> 16; - rating.intensity += (no_2_turns * 49152) >> 16; - rating.intensity += (no_1_turns * 21140) >> 16; + rating.intensity = (no_3_plus_turns * 0x14000) >> 16; + rating.intensity += (no_2_turns * 49152) >> 16; + rating.intensity += (no_1_turns * 21140) >> 16; - rating.nausea = (no_3_plus_turns * 0x50000) >> 16; - rating.nausea += (no_2_turns * 0x32000) >> 16; - rating.nausea += (no_1_turns * 48623) >> 16; + rating.nausea = (no_3_plus_turns * 0x50000) >> 16; + rating.nausea += (no_2_turns * 0x32000) >> 16; + rating.nausea += (no_1_turns * 48623) >> 16; - return rating; + return rating; } /** @@ -1014,21 +1014,21 @@ static rating_tuple get_banked_turns_rating(rct_ride* ride) * rct2: 0x0065E047 */ static rating_tuple get_sloped_turns_rating(rct_ride* ride) { - rating_tuple rating; + rating_tuple rating; - sint32 no_4_plus_turns = get_turn_count_4_plus_elements(ride, 2); - sint32 no_3_turns = get_turn_count_3_elements(ride, 2); - sint32 no_2_turns = get_turn_count_2_elements(ride, 2); - sint32 no_1_turns = get_turn_count_1_element(ride, 2); + sint32 no_4_plus_turns = get_turn_count_4_plus_elements(ride, 2); + sint32 no_3_turns = get_turn_count_3_elements(ride, 2); + sint32 no_2_turns = get_turn_count_2_elements(ride, 2); + sint32 no_1_turns = get_turn_count_1_element(ride, 2); - rating.excitement = (min(no_4_plus_turns, 4) * 0x78000) >> 16; - rating.excitement += (min(no_3_turns, 6) * 273066) >> 16; - rating.excitement += (min(no_2_turns, 6) * 0x3AAAA) >> 16; - rating.excitement += (min(no_1_turns, 7) * 187245) >> 16; - rating.intensity = 0; - rating.nausea = (min(no_4_plus_turns, 8) * 0x78000) >> 16; + rating.excitement = (min(no_4_plus_turns, 4) * 0x78000) >> 16; + rating.excitement += (min(no_3_turns, 6) * 273066) >> 16; + rating.excitement += (min(no_2_turns, 6) * 0x3AAAA) >> 16; + rating.excitement += (min(no_1_turns, 7) * 187245) >> 16; + rating.intensity = 0; + rating.nausea = (min(no_4_plus_turns, 8) * 0x78000) >> 16; - return rating; + return rating; } /** @@ -1036,59 +1036,59 @@ static rating_tuple get_sloped_turns_rating(rct_ride* ride) { * rct2: 0x0065E0F2 */ static rating_tuple get_inversions_ratings(uint8 inversions) { - rating_tuple rating; + rating_tuple rating; - rating.excitement = (min(inversions, 6) * 0x1AAAAA) >> 16; - rating.intensity = (inversions * 0x320000) >> 16; - rating.nausea = (inversions * 0x15AAAA) >> 16; + rating.excitement = (min(inversions, 6) * 0x1AAAAA) >> 16; + rating.intensity = (inversions * 0x320000) >> 16; + rating.nausea = (inversions * 0x15AAAA) >> 16; - return rating; + return rating; } static rating_tuple get_special_track_elements_rating(uint8 type, rct_ride *ride) { - sint32 excitement = 0, intensity = 0, nausea = 0; - if (type == RIDE_TYPE_GHOST_TRAIN) { - if (ride_has_spinning_tunnel(ride)) { - excitement += 40; - intensity += 25; - nausea += 55; - } - } else if (type == RIDE_TYPE_LOG_FLUME) { - // Reverser for log flume - if (ride_has_log_reverser(ride)) { - excitement += 48; - intensity += 55; - nausea += 65; - } - } else { - if (ride_has_water_splash(ride)) { - excitement += 50; - intensity += 30; - nausea += 20; - } - if (ride_has_waterfall(ride)) { - excitement += 55; - intensity += 30; - } - if (ride_has_whirlpool(ride)) { - excitement += 35; - intensity += 20; - nausea += 23; - } - } - uint8 helix_sections = ride_get_helix_sections(ride); - sint32 al = min(helix_sections, 9); - excitement += (al * 254862) >> 16; + sint32 excitement = 0, intensity = 0, nausea = 0; + if (type == RIDE_TYPE_GHOST_TRAIN) { + if (ride_has_spinning_tunnel(ride)) { + excitement += 40; + intensity += 25; + nausea += 55; + } + } else if (type == RIDE_TYPE_LOG_FLUME) { + // Reverser for log flume + if (ride_has_log_reverser(ride)) { + excitement += 48; + intensity += 55; + nausea += 65; + } + } else { + if (ride_has_water_splash(ride)) { + excitement += 50; + intensity += 30; + nausea += 20; + } + if (ride_has_waterfall(ride)) { + excitement += 55; + intensity += 30; + } + if (ride_has_whirlpool(ride)) { + excitement += 35; + intensity += 20; + nausea += 23; + } + } + uint8 helix_sections = ride_get_helix_sections(ride); + sint32 al = min(helix_sections, 9); + excitement += (al * 254862) >> 16; - al = min(helix_sections, 11); - intensity += (al * 148945) >> 16; + al = min(helix_sections, 11); + intensity += (al * 148945) >> 16; - al = max(helix_sections - 5, 0); - al = min(al, 10); - nausea += (al * 0x140000) >> 16; + al = max(helix_sections - 5, 0); + al = min(al, 10); + nausea += (al * 0x140000) >> 16; - rating_tuple rating = { excitement, intensity, nausea }; - return rating; + rating_tuple rating = { excitement, intensity, nausea }; + return rating; } /** @@ -1097,35 +1097,35 @@ static rating_tuple get_special_track_elements_rating(uint8 type, rct_ride *ride */ static rating_tuple ride_ratings_get_turns_ratings(rct_ride *ride) { - sint32 excitement = 0, intensity = 0, nausea = 0; + sint32 excitement = 0, intensity = 0, nausea = 0; - rating_tuple special_track_element_rating = get_special_track_elements_rating(ride->type, ride); - excitement += special_track_element_rating.excitement; - intensity += special_track_element_rating.intensity; - nausea += special_track_element_rating.nausea; + rating_tuple special_track_element_rating = get_special_track_elements_rating(ride->type, ride); + excitement += special_track_element_rating.excitement; + intensity += special_track_element_rating.intensity; + nausea += special_track_element_rating.nausea; - rating_tuple var_10E_rating = get_flat_turns_rating(ride); - excitement += var_10E_rating.excitement; - intensity += var_10E_rating.intensity; - nausea += var_10E_rating.nausea; + rating_tuple var_10E_rating = get_flat_turns_rating(ride); + excitement += var_10E_rating.excitement; + intensity += var_10E_rating.intensity; + nausea += var_10E_rating.nausea; - rating_tuple var_110_rating = get_banked_turns_rating(ride); - excitement += var_110_rating.excitement; - intensity += var_110_rating.intensity; - nausea += var_110_rating.nausea; + rating_tuple var_110_rating = get_banked_turns_rating(ride); + excitement += var_110_rating.excitement; + intensity += var_110_rating.intensity; + nausea += var_110_rating.nausea; - rating_tuple var_112_rating = get_sloped_turns_rating(ride); - excitement += var_112_rating.excitement; - intensity += var_112_rating.intensity; - nausea += var_112_rating.nausea; + rating_tuple var_112_rating = get_sloped_turns_rating(ride); + excitement += var_112_rating.excitement; + intensity += var_112_rating.intensity; + nausea += var_112_rating.nausea; - rating_tuple inversions_rating = get_inversions_ratings(ride->inversions & 0x1F); - excitement += inversions_rating.excitement; - intensity += inversions_rating.intensity; - nausea += inversions_rating.nausea; + rating_tuple inversions_rating = get_inversions_ratings(ride->inversions & 0x1F); + excitement += inversions_rating.excitement; + intensity += inversions_rating.intensity; + nausea += inversions_rating.nausea; - rating_tuple rating = { excitement, intensity, nausea }; - return rating; + rating_tuple rating = { excitement, intensity, nausea }; + return rating; } /** @@ -1134,35 +1134,35 @@ static rating_tuple ride_ratings_get_turns_ratings(rct_ride *ride) */ static rating_tuple ride_ratings_get_sheltered_ratings(rct_ride *ride) { - sint32 sheltered_length_shifted = (ride->sheltered_length) >> 16; - uint32 eax = min(sheltered_length_shifted, 1000); - sint32 excitement = (eax * 9175) >> 16; + sint32 sheltered_length_shifted = (ride->sheltered_length) >> 16; + uint32 eax = min(sheltered_length_shifted, 1000); + sint32 excitement = (eax * 9175) >> 16; - eax = min(sheltered_length_shifted, 2000); - sint32 intensity = (eax * 0x2666) >> 16; + eax = min(sheltered_length_shifted, 2000); + sint32 intensity = (eax * 0x2666) >> 16; - eax = min(sheltered_length_shifted, 1000); - sint32 nausea = (eax * 0x4000) >> 16; + eax = min(sheltered_length_shifted, 1000); + sint32 nausea = (eax * 0x4000) >> 16; - /*eax = (ride->var_11C * 30340) >> 16;*/ - /*nausea += eax;*/ + /*eax = (ride->var_11C * 30340) >> 16;*/ + /*nausea += eax;*/ - if (ride->num_sheltered_sections & 0x40) { - excitement += 20; - nausea += 15; - } + if (ride->num_sheltered_sections & 0x40) { + excitement += 20; + nausea += 15; + } - if (ride->num_sheltered_sections & 0x20) { - excitement += 20; - nausea += 15; - } + if (ride->num_sheltered_sections & 0x20) { + excitement += 20; + nausea += 15; + } - uint8 lowerval = ride->num_sheltered_sections & 0x1F; - lowerval = min(lowerval, 11); - excitement += (lowerval * 774516) >> 16; + uint8 lowerval = ride->num_sheltered_sections & 0x1F; + lowerval = min(lowerval, 11); + excitement += (lowerval * 774516) >> 16; - rating_tuple rating = { excitement, intensity, nausea }; - return rating; + rating_tuple rating = { excitement, intensity, nausea }; + return rating; } /** @@ -1171,42 +1171,42 @@ static rating_tuple ride_ratings_get_sheltered_ratings(rct_ride *ride) */ static rating_tuple ride_ratings_get_gforce_ratings(rct_ride *ride) { - rating_tuple result = { - .excitement = 0, - .intensity = 0, - .nausea = 0 - }; + rating_tuple result = { + .excitement = 0, + .intensity = 0, + .nausea = 0 + }; - // Apply maximum positive G force factor - result.excitement += (ride->max_positive_vertical_g * 5242) >> 16; - result.intensity += (ride->max_positive_vertical_g * 52428) >> 16; - result.nausea += (ride->max_positive_vertical_g * 17039) >> 16; + // Apply maximum positive G force factor + result.excitement += (ride->max_positive_vertical_g * 5242) >> 16; + result.intensity += (ride->max_positive_vertical_g * 52428) >> 16; + result.nausea += (ride->max_positive_vertical_g * 17039) >> 16; - // Apply maximum negative G force factor - fixed16_2dp gforce = ride->max_negative_vertical_g; - result.excitement += (clamp(-FIXED_2DP(2,50), gforce, FIXED_2DP(0,00)) * -15728) >> 16; - result.intensity += ((gforce - FIXED_2DP(1,00)) * -52428) >> 16; - result.nausea += ((gforce - FIXED_2DP(1,00)) * -14563) >> 16; + // Apply maximum negative G force factor + fixed16_2dp gforce = ride->max_negative_vertical_g; + result.excitement += (clamp(-FIXED_2DP(2,50), gforce, FIXED_2DP(0,00)) * -15728) >> 16; + result.intensity += ((gforce - FIXED_2DP(1,00)) * -52428) >> 16; + result.nausea += ((gforce - FIXED_2DP(1,00)) * -14563) >> 16; - // Apply lateral G force factor - result.excitement += (min(FIXED_2DP(1,50), ride->max_lateral_g) * 26214) >> 16; - result.intensity += ride->max_lateral_g; - result.nausea += (ride->max_lateral_g * 21845) >> 16; + // Apply lateral G force factor + result.excitement += (min(FIXED_2DP(1,50), ride->max_lateral_g) * 26214) >> 16; + result.intensity += ride->max_lateral_g; + result.nausea += (ride->max_lateral_g * 21845) >> 16; - // Very high lateral G force penalty - #ifdef ORIGINAL_RATINGS - if (ride->max_lateral_g > FIXED_2DP(2,80)) { - result.intensity += FIXED_2DP(3,75); - result.nausea += FIXED_2DP(2,00); - } - if (ride->max_lateral_g > FIXED_2DP(3,10)) { - result.excitement /= 2; - result.intensity += FIXED_2DP(8,50); - result.nausea += FIXED_2DP(4,00); - } - #endif + // Very high lateral G force penalty + #ifdef ORIGINAL_RATINGS + if (ride->max_lateral_g > FIXED_2DP(2,80)) { + result.intensity += FIXED_2DP(3,75); + result.nausea += FIXED_2DP(2,00); + } + if (ride->max_lateral_g > FIXED_2DP(3,10)) { + result.excitement /= 2; + result.intensity += FIXED_2DP(8,50); + result.nausea += FIXED_2DP(4,00); + } + #endif - return result; + return result; } /** @@ -1215,25 +1215,25 @@ static rating_tuple ride_ratings_get_gforce_ratings(rct_ride *ride) */ static rating_tuple ride_ratings_get_drop_ratings(rct_ride *ride) { - rating_tuple result = { - .excitement = 0, - .intensity = 0, - .nausea = 0 - }; + rating_tuple result = { + .excitement = 0, + .intensity = 0, + .nausea = 0 + }; - // Apply number of drops factor - sint32 drops = ride->drops & 0x3F; - result.excitement += (min(9, drops) * 728177) >> 16; - result.intensity += (drops * 928426) >> 16; - result.nausea += (drops * 655360) >> 16; + // Apply number of drops factor + sint32 drops = ride->drops & 0x3F; + result.excitement += (min(9, drops) * 728177) >> 16; + result.intensity += (drops * 928426) >> 16; + result.nausea += (drops * 655360) >> 16; - // Apply highest drop factor - ride_ratings_add(&result, - ((ride->highest_drop_height * 2) * 16000) >> 16, - ((ride->highest_drop_height * 2) * 32000) >> 16, - ((ride->highest_drop_height * 2) * 10240) >> 16); + // Apply highest drop factor + ride_ratings_add(&result, + ((ride->highest_drop_height * 2) * 16000) >> 16, + ((ride->highest_drop_height * 2) * 32000) >> 16, + ((ride->highest_drop_height * 2) * 10240) >> 16); - return result; + return result; } /** @@ -1242,53 +1242,53 @@ static rating_tuple ride_ratings_get_drop_ratings(rct_ride *ride) */ static sint32 ride_ratings_get_scenery_score(rct_ride *ride) { - sint32 i; - uint16 stationXY; - for (i = 0; i < 4; i++) { - stationXY = ride->station_starts[i]; - if (stationXY != 0xFFFF) - break; - } - if (i == 4) - return 0; + sint32 i; + uint16 stationXY; + for (i = 0; i < 4; i++) { + stationXY = ride->station_starts[i]; + if (stationXY != 0xFFFF) + break; + } + if (i == 4) + return 0; - if (ride->type == RIDE_TYPE_MAZE) - stationXY = ride->entrances[0]; + if (ride->type == RIDE_TYPE_MAZE) + stationXY = ride->entrances[0]; - sint32 x = stationXY & 0xFF; - sint32 y = stationXY >> 8; - sint32 z = map_element_height(x * 32, y * 32) & 0xFFFF; + sint32 x = stationXY & 0xFF; + sint32 y = stationXY >> 8; + sint32 z = map_element_height(x * 32, y * 32) & 0xFFFF; - // Check if station is underground, returns a fixed mediocre score since you can't have scenery underground - if (z > ride->station_heights[i] * 8) - return 40; + // Check if station is underground, returns a fixed mediocre score since you can't have scenery underground + if (z > ride->station_heights[i] * 8) + return 40; - // Count surrounding scenery items - sint32 numSceneryItems = 0; - for (sint32 yy = max(y - 5, 0); yy <= min(y + 5, 255); yy++) { - for (sint32 xx = max(x - 5, 0); xx <= min(x + 5, 255); xx++) { - // Count scenery items on this tile - rct_map_element *mapElement = map_get_first_element_at(xx, yy); - do { - if (mapElement->flags & (1 << 4)) - continue; + // Count surrounding scenery items + sint32 numSceneryItems = 0; + for (sint32 yy = max(y - 5, 0); yy <= min(y + 5, 255); yy++) { + for (sint32 xx = max(x - 5, 0); xx <= min(x + 5, 255); xx++) { + // Count scenery items on this tile + rct_map_element *mapElement = map_get_first_element_at(xx, yy); + do { + if (mapElement->flags & (1 << 4)) + continue; - sint32 type = map_element_get_type(mapElement); - if (type == MAP_ELEMENT_TYPE_SCENERY || type == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) - numSceneryItems++; - } while (!map_element_is_last_for_tile(mapElement++)); - } - } + sint32 type = map_element_get_type(mapElement); + if (type == MAP_ELEMENT_TYPE_SCENERY || type == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) + numSceneryItems++; + } while (!map_element_is_last_for_tile(mapElement++)); + } + } - return min(numSceneryItems, 47) * 5; + return min(numSceneryItems, 47) * 5; } #pragma region Ride rating calculation helpers static void ride_ratings_set(rating_tuple *ratings, sint32 excitement, sint32 intensity, sint32 nausea) { - *ratings = (rating_tuple){ 0 }; - ride_ratings_add(ratings, excitement, intensity, nausea); + *ratings = (rating_tuple){ 0 }; + ride_ratings_add(ratings, excitement, intensity, nausea); } /** @@ -1296,198 +1296,198 @@ static void ride_ratings_set(rating_tuple *ratings, sint32 excitement, sint32 in */ static void ride_ratings_add(rating_tuple * rating, sint32 excitement, sint32 intensity, sint32 nausea) { - sint32 newExcitement = rating->excitement + excitement; - sint32 newIntensity = rating->intensity + intensity; - sint32 newNausea = rating->nausea + nausea; - rating->excitement = clamp(0, newExcitement, INT16_MAX); - rating->intensity = clamp(0, newIntensity, INT16_MAX); - rating->nausea = clamp(0, newNausea, INT16_MAX); + sint32 newExcitement = rating->excitement + excitement; + sint32 newIntensity = rating->intensity + intensity; + sint32 newNausea = rating->nausea + nausea; + rating->excitement = clamp(0, newExcitement, INT16_MAX); + rating->intensity = clamp(0, newIntensity, INT16_MAX); + rating->nausea = clamp(0, newNausea, INT16_MAX); } static void ride_ratings_apply_length(rating_tuple *ratings, rct_ride *ride, sint32 maxLength, sint32 excitementMultiplier) { - ride_ratings_add(ratings, - (min(ride_get_total_length(ride) >> 16, maxLength) * excitementMultiplier) >> 16, - 0, - 0); + ride_ratings_add(ratings, + (min(ride_get_total_length(ride) >> 16, maxLength) * excitementMultiplier) >> 16, + 0, + 0); } static void ride_ratings_apply_synchronisation(rating_tuple *ratings, rct_ride *ride, sint32 excitement, sint32 intensity) { - if ((ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS) && - ride_has_adjacent_station(ride) - ) { - ride_ratings_add(ratings, excitement, intensity, 0); - } + if ((ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS) && + ride_has_adjacent_station(ride) + ) { + ride_ratings_add(ratings, excitement, intensity, 0); + } } static void ride_ratings_apply_train_length(rating_tuple *ratings, rct_ride *ride, sint32 excitementMultiplier) { - ride_ratings_add(ratings, - ((ride->num_cars_per_train - 1) * excitementMultiplier) >> 16, - 0, - 0); + ride_ratings_add(ratings, + ((ride->num_cars_per_train - 1) * excitementMultiplier) >> 16, + 0, + 0); } static void ride_ratings_apply_max_speed(rating_tuple *ratings, rct_ride *ride, sint32 excitementMultiplier, sint32 intensityMultiplier, sint32 nauseaMultiplier) { - sint32 modifier = ride->max_speed >> 16; - ride_ratings_add(ratings, - (modifier * excitementMultiplier) >> 16, - (modifier * intensityMultiplier) >> 16, - (modifier * nauseaMultiplier) >> 16); + sint32 modifier = ride->max_speed >> 16; + ride_ratings_add(ratings, + (modifier * excitementMultiplier) >> 16, + (modifier * intensityMultiplier) >> 16, + (modifier * nauseaMultiplier) >> 16); } static void ride_ratings_apply_average_speed(rating_tuple *ratings, rct_ride *ride, sint32 excitementMultiplier, sint32 intensityMultiplier) { - sint32 modifier = ride->average_speed >> 16; - ride_ratings_add(ratings, - (modifier * excitementMultiplier) >> 16, - (modifier * intensityMultiplier) >> 16, - 0); + sint32 modifier = ride->average_speed >> 16; + ride_ratings_add(ratings, + (modifier * excitementMultiplier) >> 16, + (modifier * intensityMultiplier) >> 16, + 0); } static void ride_ratings_apply_duration(rating_tuple *ratings, rct_ride *ride, sint32 maxDuration, sint32 excitementMultiplier) { - ride_ratings_add(ratings, - (min(ride_get_total_time(ride), maxDuration) * excitementMultiplier) >> 16, - 0, - 0); + ride_ratings_add(ratings, + (min(ride_get_total_time(ride), maxDuration) * excitementMultiplier) >> 16, + 0, + 0); } static void ride_ratings_apply_gforces(rating_tuple *ratings, rct_ride *ride, sint32 excitementMultiplier, sint32 intensityMultiplier, sint32 nauseaMultiplier) { - rating_tuple subRating = ride_ratings_get_gforce_ratings(ride); - ride_ratings_add(ratings, - (subRating.excitement * excitementMultiplier) >> 16, - (subRating.intensity * intensityMultiplier) >> 16, - (subRating.nausea * nauseaMultiplier) >> 16); + rating_tuple subRating = ride_ratings_get_gforce_ratings(ride); + ride_ratings_add(ratings, + (subRating.excitement * excitementMultiplier) >> 16, + (subRating.intensity * intensityMultiplier) >> 16, + (subRating.nausea * nauseaMultiplier) >> 16); } static void ride_ratings_apply_turns(rating_tuple *ratings, rct_ride *ride, sint32 excitementMultiplier, sint32 intensityMultiplier, sint32 nauseaMultiplier) { - rating_tuple subRating = ride_ratings_get_turns_ratings(ride); - ride_ratings_add(ratings, - (subRating.excitement * excitementMultiplier) >> 16, - (subRating.intensity * intensityMultiplier) >> 16, - (subRating.nausea * nauseaMultiplier) >> 16); + rating_tuple subRating = ride_ratings_get_turns_ratings(ride); + ride_ratings_add(ratings, + (subRating.excitement * excitementMultiplier) >> 16, + (subRating.intensity * intensityMultiplier) >> 16, + (subRating.nausea * nauseaMultiplier) >> 16); } static void ride_ratings_apply_drops(rating_tuple *ratings, rct_ride *ride, sint32 excitementMultiplier, sint32 intensityMultiplier, sint32 nauseaMultiplier) { - rating_tuple subRating = ride_ratings_get_drop_ratings(ride); - ride_ratings_add(ratings, - (subRating.excitement * excitementMultiplier) >> 16, - (subRating.intensity * intensityMultiplier) >> 16, - (subRating.nausea * nauseaMultiplier) >> 16); + rating_tuple subRating = ride_ratings_get_drop_ratings(ride); + ride_ratings_add(ratings, + (subRating.excitement * excitementMultiplier) >> 16, + (subRating.intensity * intensityMultiplier) >> 16, + (subRating.nausea * nauseaMultiplier) >> 16); } static void ride_ratings_apply_sheltered_ratings(rating_tuple *ratings, rct_ride *ride, sint32 excitementMultiplier, sint32 intensityMultiplier, sint32 nauseaMultiplier) { - rating_tuple subRating = ride_ratings_get_sheltered_ratings(ride); - ride_ratings_add(ratings, - (subRating.excitement * excitementMultiplier) >> 16, - (subRating.intensity * intensityMultiplier) >> 16, - (subRating.nausea * nauseaMultiplier) >> 16); + rating_tuple subRating = ride_ratings_get_sheltered_ratings(ride); + ride_ratings_add(ratings, + (subRating.excitement * excitementMultiplier) >> 16, + (subRating.intensity * intensityMultiplier) >> 16, + (subRating.nausea * nauseaMultiplier) >> 16); } static void ride_ratings_apply_operation_option(rating_tuple *ratings, rct_ride *ride, sint32 excitementMultiplier, sint32 intensityMultiplier, sint32 nauseaMultiplier) { - ride_ratings_add(ratings, - (ride->operation_option * excitementMultiplier) >> 16, - (ride->operation_option * intensityMultiplier) >> 16, - (ride->operation_option * nauseaMultiplier) >> 16); + ride_ratings_add(ratings, + (ride->operation_option * excitementMultiplier) >> 16, + (ride->operation_option * intensityMultiplier) >> 16, + (ride->operation_option * nauseaMultiplier) >> 16); } static void ride_ratings_apply_rotations(rating_tuple *ratings, rct_ride *ride, sint32 excitementMultiplier, sint32 intensityMultiplier, sint32 nauseaMultiplier) { - ride_ratings_add(ratings, - ride->rotations * excitementMultiplier, - ride->rotations * intensityMultiplier, - ride->rotations * nauseaMultiplier); + ride_ratings_add(ratings, + ride->rotations * excitementMultiplier, + ride->rotations * intensityMultiplier, + ride->rotations * nauseaMultiplier); } static void ride_ratings_apply_proximity(rating_tuple *ratings, rct_ride *ride, sint32 excitementMultiplier) { - ride_ratings_add(ratings, - (ride_ratings_get_proximity_score() * excitementMultiplier) >> 16, - 0, - 0); + ride_ratings_add(ratings, + (ride_ratings_get_proximity_score() * excitementMultiplier) >> 16, + 0, + 0); } static void ride_ratings_apply_scenery(rating_tuple *ratings, rct_ride *ride, sint32 excitementMultiplier) { - ride_ratings_add(ratings, - (ride_ratings_get_scenery_score(ride) * excitementMultiplier) >> 16, - 0, - 0); + ride_ratings_add(ratings, + (ride_ratings_get_scenery_score(ride) * excitementMultiplier) >> 16, + 0, + 0); } static void ride_ratings_apply_highest_drop_height_penalty(rating_tuple *ratings, rct_ride *ride, sint32 minHighestDropHeight, sint32 excitementPenalty, sint32 intensityPenalty, sint32 nauseaPenalty) { - if (ride->highest_drop_height < minHighestDropHeight) { - ratings->excitement /= excitementPenalty; - ratings->intensity /= intensityPenalty; - ratings->nausea /= nauseaPenalty; - } + if (ride->highest_drop_height < minHighestDropHeight) { + ratings->excitement /= excitementPenalty; + ratings->intensity /= intensityPenalty; + ratings->nausea /= nauseaPenalty; + } } static void ride_ratings_apply_max_speed_penalty(rating_tuple *ratings, rct_ride *ride, sint32 minMaxSpeed, sint32 excitementPenalty, sint32 intensityPenalty, sint32 nauseaPenalty) { - if (ride->max_speed < minMaxSpeed) { - ratings->excitement /= excitementPenalty; - ratings->intensity /= intensityPenalty; - ratings->nausea /= nauseaPenalty; - } + if (ride->max_speed < minMaxSpeed) { + ratings->excitement /= excitementPenalty; + ratings->intensity /= intensityPenalty; + ratings->nausea /= nauseaPenalty; + } } static void ride_ratings_apply_num_drops_penalty(rating_tuple *ratings, rct_ride *ride, sint32 minNumDrops, sint32 excitementPenalty, sint32 intensityPenalty, sint32 nauseaPenalty) { - if ((ride->drops & 0x3F) < minNumDrops) { - ratings->excitement /= excitementPenalty; - ratings->intensity /= intensityPenalty; - ratings->nausea /= nauseaPenalty; - } + if ((ride->drops & 0x3F) < minNumDrops) { + ratings->excitement /= excitementPenalty; + ratings->intensity /= intensityPenalty; + ratings->nausea /= nauseaPenalty; + } } static void ride_ratings_apply_max_negative_g_penalty(rating_tuple *ratings, rct_ride *ride, sint32 maxMaxNegativeVerticalG, sint32 excitementPenalty, sint32 intensityPenalty, sint32 nauseaPenalty) { - if (ride->max_negative_vertical_g >= maxMaxNegativeVerticalG) { - ratings->excitement /= excitementPenalty; - ratings->intensity /= intensityPenalty; - ratings->nausea /= nauseaPenalty; - } + if (ride->max_negative_vertical_g >= maxMaxNegativeVerticalG) { + ratings->excitement /= excitementPenalty; + ratings->intensity /= intensityPenalty; + ratings->nausea /= nauseaPenalty; + } } static void ride_ratings_apply_max_lateral_g_penalty(rating_tuple *ratings, rct_ride *ride, sint32 minMaxLateralG, sint32 excitementPenalty, sint32 intensityPenalty, sint32 nauseaPenalty) { - if (ride->max_lateral_g < minMaxLateralG) { - ratings->excitement /= excitementPenalty; - ratings->intensity /= intensityPenalty; - ratings->nausea /= nauseaPenalty; - } + if (ride->max_lateral_g < minMaxLateralG) { + ratings->excitement /= excitementPenalty; + ratings->intensity /= intensityPenalty; + ratings->nausea /= nauseaPenalty; + } } static void ride_ratings_apply_excessive_lateral_g_penalty(rating_tuple *ratings, rct_ride *ride) { #ifndef ORIGINAL_RATINGS - if (ride->max_lateral_g > FIXED_2DP(2,80)) { - ride_ratings_add(ratings, 0, FIXED_2DP(3,75), FIXED_2DP(2,00)); - } - if (ride->max_lateral_g > FIXED_2DP(3,10)) { - ratings->excitement /= 2; - ride_ratings_add(ratings, 0, FIXED_2DP(8,50), FIXED_2DP(4,00)); - } + if (ride->max_lateral_g > FIXED_2DP(2,80)) { + ride_ratings_add(ratings, 0, FIXED_2DP(3,75), FIXED_2DP(2,00)); + } + if (ride->max_lateral_g > FIXED_2DP(3,10)) { + ratings->excitement /= 2; + ride_ratings_add(ratings, 0, FIXED_2DP(8,50), FIXED_2DP(4,00)); + } #endif } static void ride_ratings_apply_first_length_penalty(rating_tuple *ratings, rct_ride *ride, sint32 minFirstLength, sint32 excitementPenalty, sint32 intensityPenalty, sint32 nauseaPenalty) { - if (ride->length[0] < minFirstLength) { - ratings->excitement /= excitementPenalty; - ratings->intensity /= intensityPenalty; - ratings->nausea /= nauseaPenalty; - } + if (ride->length[0] < minFirstLength) { + ratings->excitement /= excitementPenalty; + ratings->intensity /= intensityPenalty; + ratings->nausea /= nauseaPenalty; + } } #pragma endregion @@ -1496,2733 +1496,2733 @@ static void ride_ratings_apply_first_length_penalty(rating_tuple *ratings, rct_r static void ride_ratings_calculate_spiral_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 14; - set_unreliability_factor(ride); + ride->unreliability_factor = 14; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,30), RIDE_RATING(0,30), RIDE_RATING(0,30)); - ride_ratings_apply_length(&ratings, ride, 6000, 819); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 140434); - ride_ratings_apply_max_speed(&ratings, ride, 51366, 85019, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 364088, 400497); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 36864, 30384, 49648); - ride_ratings_apply_turns(&ratings, ride, 28235, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 43690, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 6693); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,30), RIDE_RATING(0,30), RIDE_RATING(0,30)); + ride_ratings_apply_length(&ratings, ride, 6000, 819); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 140434); + ride_ratings_apply_max_speed(&ratings, ride, 51366, 85019, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 364088, 400497); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 36864, 30384, 49648); + ride_ratings_apply_turns(&ratings, ride, 28235, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 43690, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 6693); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - if ((ride->inversions & 0x1F) == 0) { - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 40), 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - } + if ((ride->inversions & 0x1F) == 0) { + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 40), 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + } - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_stand_up_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 17; - set_unreliability_factor(ride); + ride->unreliability_factor = 17; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,50), RIDE_RATING(3,00), RIDE_RATING(3,00)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,10)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 123987, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 35746, 59578); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 34952, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 12850, 28398, 30427); - ride_ratings_apply_proximity(&ratings, ride, 17893); - ride_ratings_apply_scenery(&ratings, ride, 5577); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,50), 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,50), RIDE_RATING(3,00), RIDE_RATING(3,00)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,10)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 123987, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 35746, 59578); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 34952, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 12850, 28398, 30427); + ride_ratings_apply_proximity(&ratings, ride, 17893); + ride_ratings_apply_scenery(&ratings, ride, 5577); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,50), 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_suspended_swinging_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 18; - set_unreliability_factor(ride); + ride->unreliability_factor = 18; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,30), RIDE_RATING(2,90), RIDE_RATING(3,50)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,10)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 32768, 23831, 79437); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 48036); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 6971); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 8, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xC0000, 2, 2, 2); - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 60), 2, 2, 2); - ride_ratings_apply_max_lateral_g_penalty(&ratings, ride, FIXED_2DP(1, 50), 2, 2, 2); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0x1720000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,30), RIDE_RATING(2,90), RIDE_RATING(3,50)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,10)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 32768, 23831, 79437); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 48036); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 6971); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 8, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xC0000, 2, 2, 2); + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 60), 2, 2, 2); + ride_ratings_apply_max_lateral_g_penalty(&ratings, ride, FIXED_2DP(1, 50), 2, 2, 2); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0x1720000, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_inverted_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 17; - set_unreliability_factor(ride); + ride->unreliability_factor = 17; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,60), RIDE_RATING(2,80), RIDE_RATING(3,20)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,42), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 29789, 55606); - ride_ratings_apply_turns(&ratings, ride, 26749, 29552, 57186); - ride_ratings_apply_drops(&ratings, ride, 29127, 39009, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 15291, 35108); - ride_ratings_apply_proximity(&ratings, ride, 15657); - ride_ratings_apply_scenery(&ratings, ride, 8366); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,60), RIDE_RATING(2,80), RIDE_RATING(3,20)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,42), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 29789, 55606); + ride_ratings_apply_turns(&ratings, ride, 26749, 29552, 57186); + ride_ratings_apply_drops(&ratings, ride, 29127, 39009, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 15291, 35108); + ride_ratings_apply_proximity(&ratings, ride, 15657); + ride_ratings_apply_scenery(&ratings, ride, 8366); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,30), 2, 2, 2); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,30), 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_junior_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 13; - set_unreliability_factor(ride); + ride->unreliability_factor = 13; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,40), RIDE_RATING(2,50), RIDE_RATING(1,80)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 20480, 23831, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 25700, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 9760); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 6, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 1, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,40), RIDE_RATING(2,50), RIDE_RATING(1,80)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 20480, 23831, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 25700, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 9760); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 6, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 1, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_miniature_railway(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 11; - set_unreliability_factor(ride); + ride->unreliability_factor = 11; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,50), RIDE_RATING(0,00), RIDE_RATING(0,00)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_train_length(&ratings, ride, 140434); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_sheltered_ratings(&ratings, ride, -6425, 6553, 23405); - ride_ratings_apply_proximity(&ratings, ride, 8946); - ride_ratings_apply_scenery(&ratings, ride, 20915); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xC80000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,50), RIDE_RATING(0,00), RIDE_RATING(0,00)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_train_length(&ratings, ride, 140434); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_sheltered_ratings(&ratings, ride, -6425, 6553, 23405); + ride_ratings_apply_proximity(&ratings, ride, 8946); + ride_ratings_apply_scenery(&ratings, ride, 20915); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xC80000, 2, 2, 2); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - sint32 edx = get_num_of_sheltered_eighths(ride); - if (((edx >> 8) & 0xFF) >= 4) - ride->excitement /= 4; + sint32 edx = get_num_of_sheltered_eighths(ride); + if (((edx >> 8) & 0xFF) >= 4) + ride->excitement /= 4; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_monorail(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 14; - set_unreliability_factor(ride); + ride->unreliability_factor = 14; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,00), RIDE_RATING(0,00), RIDE_RATING(0,00)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_train_length(&ratings, ride, 93622); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 70849, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 218453); - ride_ratings_apply_duration(&ratings, ride, 150, 21845); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 5140, 6553, 18724); - ride_ratings_apply_proximity(&ratings, ride, 8946); - ride_ratings_apply_scenery(&ratings, ride, 16732); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xAA0000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,00), RIDE_RATING(0,00), RIDE_RATING(0,00)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_train_length(&ratings, ride, 93622); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 70849, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 218453); + ride_ratings_apply_duration(&ratings, ride, 150, 21845); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 5140, 6553, 18724); + ride_ratings_apply_proximity(&ratings, ride, 8946); + ride_ratings_apply_scenery(&ratings, ride, 16732); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xAA0000, 2, 2, 2); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - sint32 edx = get_num_of_sheltered_eighths(ride); - if (((edx >> 8) & 0xFF) >= 4) - ride->excitement /= 4; + sint32 edx = get_num_of_sheltered_eighths(ride); + if (((edx >> 8) & 0xFF) >= 4) + ride->excitement /= 4; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_mini_suspended_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 15; - set_unreliability_factor(ride); + ride->unreliability_factor = 15; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,80), RIDE_RATING(2,50), RIDE_RATING(2,70)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,45), RIDE_RATING(0,15)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 35746, 49648); - ride_ratings_apply_turns(&ratings, ride, 34179, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 58254, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 19275, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 13943); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 6, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x80000, 2, 2, 2); - ride_ratings_apply_max_lateral_g_penalty(&ratings, ride, FIXED_2DP(1,30), 2, 2, 2); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xC80000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,80), RIDE_RATING(2,50), RIDE_RATING(2,70)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,45), RIDE_RATING(0,15)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 35746, 49648); + ride_ratings_apply_turns(&ratings, ride, 34179, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 58254, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 19275, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 13943); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 6, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x80000, 2, 2, 2); + ride_ratings_apply_max_lateral_g_penalty(&ratings, ride, FIXED_2DP(1,30), 2, 2, 2); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xC80000, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_boat_ride(rct_ride *ride) { - ride->unreliability_factor = 7; - set_unreliability_factor(ride); + ride->unreliability_factor = 7; + set_unreliability_factor(ride); - // NOTE In the original game, the ratings were zeroed before calling set_unreliability_factor which is unusual as rest of - // the calculation functions do this before hand. This is because set_unreliability_factor alters the value of - // ebx (excitement). This is assumed to be a bug and therefore fixed. + // NOTE In the original game, the ratings were zeroed before calling set_unreliability_factor which is unusual as rest of + // the calculation functions do this before hand. This is because set_unreliability_factor alters the value of + // ebx (excitement). This is assumed to be a bug and therefore fixed. - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,90), RIDE_RATING(0,80), RIDE_RATING(0,90)); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,90), RIDE_RATING(0,80), RIDE_RATING(0,90)); - // Most likely checking if the ride has does not have a circuit - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) { - ride_ratings_add(&ratings, RIDE_RATING(0,20), 0, 0); - } + // Most likely checking if the ride has does not have a circuit + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) { + ride_ratings_add(&ratings, RIDE_RATING(0,20), 0, 0); + } - ride_ratings_apply_proximity(&ratings, ride, 11183); - ride_ratings_apply_scenery(&ratings, ride, 22310); + ride_ratings_apply_proximity(&ratings, ride, 11183); + ride_ratings_apply_scenery(&ratings, ride, 22310); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 0 << 5; } static void ride_ratings_calculate_wooden_wild_mouse(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 14; - set_unreliability_factor(ride); + ride->unreliability_factor = 14; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,90), RIDE_RATING(2,90), RIDE_RATING(2,10)); - ride_ratings_apply_length(&ratings, ride, 6000, 873); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0, 8)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 102400, 35746, 49648); - ride_ratings_apply_turns(&ratings, ride, 29721, 43458, 45749); - ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 17893); - ride_ratings_apply_scenery(&ratings, ride, 5577); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 8, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,10), 2, 2, 2); - ride_ratings_apply_max_lateral_g_penalty(&ratings, ride, FIXED_2DP(1,50), 2, 2, 2); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xAA0000, 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 3, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,90), RIDE_RATING(2,90), RIDE_RATING(2,10)); + ride_ratings_apply_length(&ratings, ride, 6000, 873); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0, 8)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 102400, 35746, 49648); + ride_ratings_apply_turns(&ratings, ride, 29721, 43458, 45749); + ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 17893); + ride_ratings_apply_scenery(&ratings, ride, 5577); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 8, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,10), 2, 2, 2); + ride_ratings_apply_max_lateral_g_penalty(&ratings, ride, FIXED_2DP(1,50), 2, 2, 2); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xAA0000, 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 3, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_steeplechase(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 14; - set_unreliability_factor(ride); + ride->unreliability_factor = 14; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,70), RIDE_RATING(2,40), RIDE_RATING(1,80)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,75), RIDE_RATING(0, 9)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 20480, 20852, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 25700, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 9760); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 4, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x80000, 2, 2, 2); - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,50), 2, 2, 2); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xF00000, 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,70), RIDE_RATING(2,40), RIDE_RATING(1,80)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,75), RIDE_RATING(0, 9)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 20480, 20852, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 25700, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 9760); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 4, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x80000, 2, 2, 2); + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,50), 2, 2, 2); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xF00000, 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_car_ride(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 12; - set_unreliability_factor(ride); + ride->unreliability_factor = 12; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,00), RIDE_RATING(0,50), RIDE_RATING(0,00)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,15), RIDE_RATING(0,00)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_turns(&ratings, ride, 14860, 0, 11437); - ride_ratings_apply_drops(&ratings, ride, 8738, 0, 0); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 12850, 6553, 4681); - ride_ratings_apply_proximity(&ratings, ride, 11183); - ride_ratings_apply_scenery(&ratings, ride, 8366); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xC80000, 8, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,00), RIDE_RATING(0,50), RIDE_RATING(0,00)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,15), RIDE_RATING(0,00)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_turns(&ratings, ride, 14860, 0, 11437); + ride_ratings_apply_drops(&ratings, ride, 8738, 0, 0); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 12850, 6553, 4681); + ride_ratings_apply_proximity(&ratings, ride, 11183); + ride_ratings_apply_scenery(&ratings, ride, 8366); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xC80000, 8, 2, 2); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_launched_freefall(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,70), RIDE_RATING(3,00), RIDE_RATING(3,50)); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,70), RIDE_RATING(3,00), RIDE_RATING(3,50)); - if (ride->mode == RIDE_MODE_DOWNWARD_LAUNCH) { - ride_ratings_add(&ratings, - RIDE_RATING(0,30), - RIDE_RATING(0,65), - RIDE_RATING(0,45)); - } + if (ride->mode == RIDE_MODE_DOWNWARD_LAUNCH) { + ride_ratings_add(&ratings, + RIDE_RATING(0,30), + RIDE_RATING(0,65), + RIDE_RATING(0,45)); + } - sint32 excitementModifier = ((ride_get_total_length(ride) >> 16) * 32768) >> 16; - ride_ratings_add(&ratings, excitementModifier, 0, 0); + sint32 excitementModifier = ((ride_get_total_length(ride) >> 16) * 32768) >> 16; + ride_ratings_add(&ratings, excitementModifier, 0, 0); #ifdef ORIGINAL_RATINGS - ride_ratings_apply_operation_option(&ratings, ride, 0, 1355917, 451972); + ride_ratings_apply_operation_option(&ratings, ride, 0, 1355917, 451972); #else - // Only apply "launch speed" effects when the setting can be modified - if (ride->mode == RIDE_MODE_UPWARD_LAUNCH) { - ride_ratings_apply_operation_option(&ratings, ride, 0, 1355917, 451972); - } else { - // Fix #3282: When the ride mode is in downward launch mode, the intensity and - // nausea were fixed regardless of how high the ride is. The following - // calculation is based on roto-drop which is a similar mechanic. - sint32 lengthFactor = ((ride_get_total_length(ride) >> 16) * 209715) >> 16; - ride_ratings_add(&ratings, lengthFactor, lengthFactor * 2, lengthFactor * 2); - } + // Only apply "launch speed" effects when the setting can be modified + if (ride->mode == RIDE_MODE_UPWARD_LAUNCH) { + ride_ratings_apply_operation_option(&ratings, ride, 0, 1355917, 451972); + } else { + // Fix #3282: When the ride mode is in downward launch mode, the intensity and + // nausea were fixed regardless of how high the ride is. The following + // calculation is based on roto-drop which is a similar mechanic. + sint32 lengthFactor = ((ride_get_total_length(ride) >> 16) * 209715) >> 16; + ride_ratings_add(&ratings, lengthFactor, lengthFactor * 2, lengthFactor * 2); + } #endif - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 25098); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 25098); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_bobsleigh_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,80), RIDE_RATING(3,20), RIDE_RATING(2,50)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,20), RIDE_RATING(0,00)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 65536, 23831, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 5577); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xC0000, 2, 2, 2); - ride_ratings_apply_max_lateral_g_penalty(&ratings, ride, FIXED_2DP(1,20), 2, 2, 2); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0x1720000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,80), RIDE_RATING(3,20), RIDE_RATING(2,50)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,20), RIDE_RATING(0,00)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 65536, 23831, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 5577); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xC0000, 2, 2, 2); + ride_ratings_apply_max_lateral_g_penalty(&ratings, ride, FIXED_2DP(1,20), 2, 2, 2); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0x1720000, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_observation_tower(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 15; - set_unreliability_factor(ride); + ride->unreliability_factor = 15; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,50), RIDE_RATING(0,00), RIDE_RATING(0,10)); - ride_ratings_add(&ratings, - ((ride_get_total_length(ride) >> 16) * 45875) >> 16, - 0, - ((ride_get_total_length(ride) >> 16) * 26214) >> 16); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 83662); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,50), RIDE_RATING(0,00), RIDE_RATING(0,10)); + ride_ratings_add(&ratings, + ((ride_get_total_length(ride) >> 16) * 45875) >> 16, + 0, + ((ride_get_total_length(ride) >> 16) * 26214) >> 16); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 83662); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 7 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 7 << 5; - sint32 edx = get_num_of_sheltered_eighths(ride); - if (((edx >> 8) & 0xFF) >= 5) - ride->excitement /= 4; + sint32 edx = get_num_of_sheltered_eighths(ride); + if (((edx >> 8) & 0xFF) >= 5) + ride->excitement /= 4; } static void ride_ratings_calculate_looping_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = ride_is_powered_launched(ride) ? 20 : 15; - set_unreliability_factor(ride); + ride->unreliability_factor = ride_is_powered_launched(ride) ? 20 : 15; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,00), RIDE_RATING(0,50), RIDE_RATING(0,20)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 35746, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 6693); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,00), RIDE_RATING(0,50), RIDE_RATING(0,20)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 35746, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 6693); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 14, 2, 2, 2); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 14, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - if ((ride->inversions & 0x1F) == 0) { - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 10), 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - } + if ((ride->inversions & 0x1F) == 0) { + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 10), 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + } - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_dinghy_slide(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 13; - set_unreliability_factor(ride); + ride->unreliability_factor = 13; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,70), RIDE_RATING(2,00), RIDE_RATING(1,50)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,50), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 65536, 29789, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 11183); - ride_ratings_apply_scenery(&ratings, ride, 5577); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0x8C0000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,70), RIDE_RATING(2,00), RIDE_RATING(1,50)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,50), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 65536, 29789, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 11183); + ride_ratings_apply_scenery(&ratings, ride, 5577); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0x8C0000, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_mine_train_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,90), RIDE_RATING(2,30), RIDE_RATING(2,10)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 40960, 35746, 49648); - ride_ratings_apply_turns(&ratings, ride, 29721, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 19275, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 21472); - ride_ratings_apply_scenery(&ratings, ride, 16732); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 8, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,10), 2, 2, 2); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0x1720000, 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,90), RIDE_RATING(2,30), RIDE_RATING(2,10)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 40960, 35746, 49648); + ride_ratings_apply_turns(&ratings, ride, 29721, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 19275, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 21472); + ride_ratings_apply_scenery(&ratings, ride, 16732); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 8, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,10), 2, 2, 2); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0x1720000, 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_chairlift(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 14 + (ride->speed * 2); - set_unreliability_factor(ride); + ride->unreliability_factor = 14 + (ride->speed * 2); + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,60), RIDE_RATING(0,40), RIDE_RATING(0,50)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_turns(&ratings, ride, 7430, 3476, 4574); - ride_ratings_apply_sheltered_ratings(&ratings, ride, -19275, 21845, 23405); - ride_ratings_apply_proximity(&ratings, ride, 11183); - ride_ratings_apply_scenery(&ratings, ride, 25098); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0x960000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,60), RIDE_RATING(0,40), RIDE_RATING(0,50)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_turns(&ratings, ride, 7430, 3476, 4574); + ride_ratings_apply_sheltered_ratings(&ratings, ride, -19275, 21845, 23405); + ride_ratings_apply_proximity(&ratings, ride, 11183); + ride_ratings_apply_scenery(&ratings, ride, 25098); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0x960000, 2, 2, 2); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - if (ride->num_stations <= 1) { - ratings.excitement = 0; - ratings.intensity /= 2; - } + if (ride->num_stations <= 1) { + ratings.excitement = 0; + ratings.intensity /= 2; + } - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - sint32 edx = get_num_of_sheltered_eighths(ride); - if (((edx >> 8) & 0xFF) >= 4) - ride->excitement /= 4; + sint32 edx = get_num_of_sheltered_eighths(ride); + if (((edx >> 8) & 0xFF) >= 4) + ride->excitement /= 4; - ride->inversions &= 0x1F; - ride->inversions |= edx << 5; + ride->inversions &= 0x1F; + ride->inversions |= edx << 5; } static void ride_ratings_calculate_corkscrew_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,00), RIDE_RATING(0,50), RIDE_RATING(0,20)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 35746, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 6693); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,00), RIDE_RATING(0,50), RIDE_RATING(0,20)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 35746, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 6693); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - if ((ride->inversions & 0x1F) == 0) { - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 40), 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - } + if ((ride->inversions & 0x1F) == 0) { + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 40), 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + } - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_maze(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 8; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 8; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,30), RIDE_RATING(0,50), RIDE_RATING(0,00)); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,30), RIDE_RATING(0,50), RIDE_RATING(0,00)); - sint32 size = min(ride->maze_tiles, 100); - ride_ratings_add(&ratings, - size, - size * 2, - 0); + sint32 size = min(ride->maze_tiles, 100); + ride_ratings_add(&ratings, + size, + size * 2, + 0); - ride_ratings_apply_scenery(&ratings, ride, 22310); + ride_ratings_apply_scenery(&ratings, ride, 22310); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 0 << 5; } static void ride_ratings_calculate_spiral_slide(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 8; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 8; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,50), RIDE_RATING(1,40), RIDE_RATING(0,90)); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,50), RIDE_RATING(1,40), RIDE_RATING(0,90)); - // Unlimited slides boost - if (ride->mode == RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION) { - ride_ratings_add(&ratings, - RIDE_RATING(0,40), - RIDE_RATING(0,20), - RIDE_RATING(0,25)); - } + // Unlimited slides boost + if (ride->mode == RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION) { + ride_ratings_add(&ratings, + RIDE_RATING(0,40), + RIDE_RATING(0,20), + RIDE_RATING(0,25)); + } - ride_ratings_apply_scenery(&ratings, ride, 25098); + ride_ratings_apply_scenery(&ratings, ride, 25098); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 2 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 2 << 5; } static void ride_ratings_calculate_go_karts(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,42), RIDE_RATING(1,73), RIDE_RATING(0,40)); - ride_ratings_apply_length(&ratings, ride, 700, 32768); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,42), RIDE_RATING(1,73), RIDE_RATING(0,40)); + ride_ratings_apply_length(&ratings, ride, 700, 32768); - if (ride->mode == RIDE_MODE_RACE && ride->num_vehicles >= 4) { - ride_ratings_add(&ratings, - RIDE_RATING(1,40), - RIDE_RATING(0,50), - 0); + if (ride->mode == RIDE_MODE_RACE && ride->num_vehicles >= 4) { + ride_ratings_add(&ratings, + RIDE_RATING(1,40), + RIDE_RATING(0,50), + 0); - sint32 lapsFactor = (ride->num_laps - 1) * 30; - ride_ratings_add(&ratings, - lapsFactor, - lapsFactor / 2, - 0); - } + sint32 lapsFactor = (ride->num_laps - 1) * 30; + ride_ratings_add(&ratings, + lapsFactor, + lapsFactor / 2, + 0); + } - ride_ratings_apply_turns(&ratings, ride, 4458, 3476, 5718); - ride_ratings_apply_drops(&ratings, ride, 8738, 5461, 6553); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 2570, 8738, 2340); - ride_ratings_apply_proximity(&ratings, ride, 11183); - ride_ratings_apply_scenery(&ratings, ride, 16732); + ride_ratings_apply_turns(&ratings, ride, 4458, 3476, 5718); + ride_ratings_apply_drops(&ratings, ride, 8738, 5461, 6553); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 2570, 8738, 2340); + ride_ratings_apply_proximity(&ratings, ride, 11183); + ride_ratings_apply_scenery(&ratings, ride, 16732); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - sint32 edx = get_num_of_sheltered_eighths(ride); + sint32 edx = get_num_of_sheltered_eighths(ride); - ride->inversions &= 0x1F; - ride->inversions |= edx << 5; + ride->inversions &= 0x1F; + ride->inversions |= edx << 5; - if (((edx >> 8) & 0xFF) >= 6) - ride->excitement /= 2; + if (((edx >> 8) & 0xFF) >= 6) + ride->excitement /= 2; } static void ride_ratings_calculate_log_flume(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 15; - set_unreliability_factor(ride); + ride->unreliability_factor = 15; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,50), RIDE_RATING(0,55), RIDE_RATING(0,30)); - ride_ratings_apply_length(&ratings, ride, 2000, 7208); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_max_speed(&ratings, ride, 531372, 655360, 301111); - ride_ratings_apply_duration(&ratings, ride, 300, 13107); - ride_ratings_apply_turns(&ratings, ride, 22291, 20860, 4574); - ride_ratings_apply_drops(&ratings, ride, 69905, 62415, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 22367); - ride_ratings_apply_scenery(&ratings, ride, 11155); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 2, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,50), RIDE_RATING(0,55), RIDE_RATING(0,30)); + ride_ratings_apply_length(&ratings, ride, 2000, 7208); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_max_speed(&ratings, ride, 531372, 655360, 301111); + ride_ratings_apply_duration(&ratings, ride, 300, 13107); + ride_ratings_apply_turns(&ratings, ride, 22291, 20860, 4574); + ride_ratings_apply_drops(&ratings, ride, 69905, 62415, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 22367); + ride_ratings_apply_scenery(&ratings, ride, 11155); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 2, 2, 2, 2); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_river_rapids(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,20), RIDE_RATING(0,70), RIDE_RATING(0,50)); - ride_ratings_apply_length(&ratings, ride, 2000, 6225); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,30), RIDE_RATING(0,05)); - ride_ratings_apply_max_speed(&ratings, ride, 115130, 159411, 106274); - ride_ratings_apply_duration(&ratings, ride, 500, 13107); - ride_ratings_apply_turns(&ratings, ride, 29721, 22598, 5718); - ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 31314); - ride_ratings_apply_scenery(&ratings, ride, 13943); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 2, 2, 2, 2); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xC80000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,20), RIDE_RATING(0,70), RIDE_RATING(0,50)); + ride_ratings_apply_length(&ratings, ride, 2000, 6225); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,30), RIDE_RATING(0,05)); + ride_ratings_apply_max_speed(&ratings, ride, 115130, 159411, 106274); + ride_ratings_apply_duration(&ratings, ride, 500, 13107); + ride_ratings_apply_turns(&ratings, ride, 29721, 22598, 5718); + ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 31314); + ride_ratings_apply_scenery(&ratings, ride, 13943); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 2, 2, 2, 2); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xC80000, 2, 2, 2); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_dodgems(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,30), RIDE_RATING(0,50), RIDE_RATING(0,35)); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,30), RIDE_RATING(0,50), RIDE_RATING(0,35)); - if (ride->num_vehicles >= 4) { - ride_ratings_add(&ratings, - RIDE_RATING(0,40), - 0, - 0); - } + if (ride->num_vehicles >= 4) { + ride_ratings_add(&ratings, + RIDE_RATING(0,40), + 0, + 0); + } - ride_ratings_add(&ratings, - ride->operation_option, - ride->operation_option / 2, - 0); + ride_ratings_add(&ratings, + ride->operation_option, + ride->operation_option / 2, + 0); - if (ride->num_vehicles >= 4) { - ride_ratings_add(&ratings, - RIDE_RATING(0,40), - 0, - 0); - } + if (ride->num_vehicles >= 4) { + ride_ratings_add(&ratings, + RIDE_RATING(0,40), + 0, + 0); + } - ride_ratings_apply_scenery(&ratings, ride, 5577); + ride_ratings_apply_scenery(&ratings, ride, 5577); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 7 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 7 << 5; } static void ride_ratings_calculate_pirate_ship(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 10; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 10; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,50), RIDE_RATING(1,90), RIDE_RATING(1,41)); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,50), RIDE_RATING(1,90), RIDE_RATING(1,41)); - ride_ratings_add(&ratings, - ride->operation_option * 5, - ride->operation_option * 5, - ride->operation_option * 10); + ride_ratings_add(&ratings, + ride->operation_option * 5, + ride->operation_option * 5, + ride->operation_option * 10); - ride_ratings_apply_scenery(&ratings, ride, 16732); + ride_ratings_apply_scenery(&ratings, ride, 16732); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 0 << 5; } static void ride_ratings_calculate_inverter_ship(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,50), RIDE_RATING(2,70), RIDE_RATING(2,74)); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,50), RIDE_RATING(2,70), RIDE_RATING(2,74)); - ride_ratings_add(&ratings, - ride->operation_option * 11, - ride->operation_option * 22, - ride->operation_option * 22); + ride_ratings_add(&ratings, + ride->operation_option * 11, + ride->operation_option * 22, + ride->operation_option * 22); - ride_ratings_apply_scenery(&ratings, ride, 11155); + ride_ratings_apply_scenery(&ratings, ride, 11155); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 0 << 5; } static void ride_ratings_calculate_food_stall(rct_ride *ride) { - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; } static void ride_ratings_calculate_drink_stall(rct_ride *ride) { - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; } static void ride_ratings_calculate_shop(rct_ride *ride) { - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; } static void ride_ratings_calculate_merry_go_round(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(0,60), RIDE_RATING(0,15), RIDE_RATING(0,30)); - ride_ratings_apply_rotations(&ratings, ride, 5, 5, 5); - ride_ratings_apply_scenery(&ratings, ride, 19521); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(0,60), RIDE_RATING(0,15), RIDE_RATING(0,30)); + ride_ratings_apply_rotations(&ratings, ride, 5, 5, 5); + ride_ratings_apply_scenery(&ratings, ride, 19521); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 7 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 7 << 5; } static void ride_ratings_calculate_information_kiosk(rct_ride *ride) { - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; } static void ride_ratings_calculate_toilets(rct_ride *ride) { - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; } static void ride_ratings_calculate_ferris_wheel(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(0,60), RIDE_RATING(0,25), RIDE_RATING(0,30)); - ride_ratings_apply_rotations(&ratings, ride, 25, 25, 25); - ride_ratings_apply_scenery(&ratings, ride, 41831); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(0,60), RIDE_RATING(0,25), RIDE_RATING(0,30)); + ride_ratings_apply_rotations(&ratings, ride, 25, 25, 25); + ride_ratings_apply_scenery(&ratings, ride, 41831); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 0 << 5; } static void ride_ratings_calculate_motion_simulator(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 21; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 21; + set_unreliability_factor(ride); - // Base ratings - rating_tuple ratings; - if (ride->mode == RIDE_MODE_FILM_THRILL_RIDERS) { - ratings.excitement = RIDE_RATING(3,25); - ratings.intensity = RIDE_RATING(4,10); - ratings.nausea = RIDE_RATING(3,30); - } else { - ratings.excitement = RIDE_RATING(2,90); - ratings.intensity = RIDE_RATING(3,50); - ratings.nausea = RIDE_RATING(3,00); - } + // Base ratings + rating_tuple ratings; + if (ride->mode == RIDE_MODE_FILM_THRILL_RIDERS) { + ratings.excitement = RIDE_RATING(3,25); + ratings.intensity = RIDE_RATING(4,10); + ratings.nausea = RIDE_RATING(3,30); + } else { + ratings.excitement = RIDE_RATING(2,90); + ratings.intensity = RIDE_RATING(3,50); + ratings.nausea = RIDE_RATING(3,00); + } - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 7 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 7 << 5; } static void ride_ratings_calculate_3d_cinema(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 21; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 21; + set_unreliability_factor(ride); - // Base ratings - rating_tuple ratings; - switch (ride->mode) { - default: - case RIDE_MODE_3D_FILM_MOUSE_TAILS: - ratings.excitement = RIDE_RATING(3,50); - ratings.intensity = RIDE_RATING(2,40); - ratings.nausea = RIDE_RATING(1,40); - break; - case RIDE_MODE_3D_FILM_STORM_CHASERS: - ratings.excitement = RIDE_RATING(4,00); - ratings.intensity = RIDE_RATING(2,65); - ratings.nausea = RIDE_RATING(1,55); - break; - case RIDE_MODE_3D_FILM_SPACE_RAIDERS: - ratings.excitement = RIDE_RATING(4,20); - ratings.intensity = RIDE_RATING(2,60); - ratings.nausea = RIDE_RATING(1,48); - break; - } + // Base ratings + rating_tuple ratings; + switch (ride->mode) { + default: + case RIDE_MODE_3D_FILM_MOUSE_TAILS: + ratings.excitement = RIDE_RATING(3,50); + ratings.intensity = RIDE_RATING(2,40); + ratings.nausea = RIDE_RATING(1,40); + break; + case RIDE_MODE_3D_FILM_STORM_CHASERS: + ratings.excitement = RIDE_RATING(4,00); + ratings.intensity = RIDE_RATING(2,65); + ratings.nausea = RIDE_RATING(1,55); + break; + case RIDE_MODE_3D_FILM_SPACE_RAIDERS: + ratings.excitement = RIDE_RATING(4,20); + ratings.intensity = RIDE_RATING(2,60); + ratings.nausea = RIDE_RATING(1,48); + break; + } - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 7 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 7 << 5; } static void ride_ratings_calculate_top_spin(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 19; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 19; + set_unreliability_factor(ride); - // Base ratings - rating_tuple ratings; - switch (ride->mode) { - default: - case RIDE_MODE_BEGINNERS: - ratings.excitement = RIDE_RATING(2,00); - ratings.intensity = RIDE_RATING(4,80); - ratings.nausea = RIDE_RATING(5,74); - break; - case RIDE_MODE_INTENSE: - ratings.excitement = RIDE_RATING(3,00); - ratings.intensity = RIDE_RATING(5,75); - ratings.nausea = RIDE_RATING(6,64); - break; - case RIDE_MODE_BERSERK: - ratings.excitement = RIDE_RATING(3,20); - ratings.intensity = RIDE_RATING(6,80); - ratings.nausea = RIDE_RATING(7,94); - break; - } + // Base ratings + rating_tuple ratings; + switch (ride->mode) { + default: + case RIDE_MODE_BEGINNERS: + ratings.excitement = RIDE_RATING(2,00); + ratings.intensity = RIDE_RATING(4,80); + ratings.nausea = RIDE_RATING(5,74); + break; + case RIDE_MODE_INTENSE: + ratings.excitement = RIDE_RATING(3,00); + ratings.intensity = RIDE_RATING(5,75); + ratings.nausea = RIDE_RATING(6,64); + break; + case RIDE_MODE_BERSERK: + ratings.excitement = RIDE_RATING(3,20); + ratings.intensity = RIDE_RATING(6,80); + ratings.nausea = RIDE_RATING(7,94); + break; + } - ride_ratings_apply_scenery(&ratings, ride, 11155); + ride_ratings_apply_scenery(&ratings, ride, 11155); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 0 << 5; } static void ride_ratings_calculate_space_rings(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 7; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 7; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,50), RIDE_RATING(2,10), RIDE_RATING(6,50)); - ride_ratings_apply_scenery(&ratings, ride, 25098); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,50), RIDE_RATING(2,10), RIDE_RATING(6,50)); + ride_ratings_apply_scenery(&ratings, ride, 25098); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 0 << 5; } static void ride_ratings_calculate_reverse_freefall_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 25; - set_unreliability_factor(ride); + ride->unreliability_factor = 25; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,00), RIDE_RATING(3,20), RIDE_RATING(2,80)); - ride_ratings_apply_length(&ratings, ride, 6000, 327); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,60), RIDE_RATING(0,15)); - ride_ratings_apply_max_speed(&ratings, ride, 436906, 436906, 320398); - ride_ratings_apply_gforces(&ratings, ride, 24576, 41704, 59578); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 12850, 28398, 11702); - ride_ratings_apply_proximity(&ratings, ride, 17893); - ride_ratings_apply_scenery(&ratings, ride, 11155); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 34, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,00), RIDE_RATING(3,20), RIDE_RATING(2,80)); + ride_ratings_apply_length(&ratings, ride, 6000, 327); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,60), RIDE_RATING(0,15)); + ride_ratings_apply_max_speed(&ratings, ride, 436906, 436906, 320398); + ride_ratings_apply_gforces(&ratings, ride, 24576, 41704, 59578); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 12850, 28398, 11702); + ride_ratings_apply_proximity(&ratings, ride, 17893); + ride_ratings_apply_scenery(&ratings, ride, 11155); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 34, 2, 2, 2); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_lift(rct_ride *ride) { - sint32 totalLength; + sint32 totalLength; - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 15; - set_unreliability_factor(ride); + ride->unreliability_factor = 15; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,11), RIDE_RATING(0,35), RIDE_RATING(0,30)); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,11), RIDE_RATING(0,35), RIDE_RATING(0,30)); - totalLength = ride_get_total_length(ride) >> 16; - ride_ratings_add(&ratings, - (totalLength * 45875) >> 16, - 0, - (totalLength * 26214) >> 16); + totalLength = ride_get_total_length(ride) >> 16; + ride_ratings_add(&ratings, + (totalLength * 45875) >> 16, + 0, + (totalLength * 26214) >> 16); - ride_ratings_apply_proximity(&ratings, ride, 11183); - ride_ratings_apply_scenery(&ratings, ride, 83662); + ride_ratings_apply_proximity(&ratings, ride, 11183); + ride_ratings_apply_scenery(&ratings, ride, 83662); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 7 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 7 << 5; - if ((get_num_of_sheltered_eighths(ride) >> 8) >= 5) - ride->excitement /= 4; + if ((get_num_of_sheltered_eighths(ride) >> 8) >= 5) + ride->excitement /= 4; } static void ride_ratings_calculate_vertical_drop_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,20), RIDE_RATING(0,80), RIDE_RATING(0,30)); - ride_ratings_apply_length(&ratings, ride, 4000, 1146); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_max_speed(&ratings, ride, 97418, 141699, 70849); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 40960, 35746, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 58254, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 6693); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 20, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,10), 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 1, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,20), RIDE_RATING(0,80), RIDE_RATING(0,30)); + ride_ratings_apply_length(&ratings, ride, 4000, 1146); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_max_speed(&ratings, ride, 97418, 141699, 70849); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 40960, 35746, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 58254, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 6693); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 20, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,10), 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 1, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_cash_machine(rct_ride *ride) { - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; } static void ride_ratings_calculate_twist(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,13), RIDE_RATING(0,97), RIDE_RATING(1,90)); - ride_ratings_apply_rotations(&ratings, ride, 20, 20, 20); - ride_ratings_apply_scenery(&ratings, ride, 13943); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,13), RIDE_RATING(0,97), RIDE_RATING(1,90)); + ride_ratings_apply_rotations(&ratings, ride, 20, 20, 20); + ride_ratings_apply_scenery(&ratings, ride, 13943); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 0 << 5; } static void ride_ratings_calculate_haunted_house(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 8; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 8; + set_unreliability_factor(ride); - rating_tuple ratings = { - .excitement = RIDE_RATING(3,41), - .intensity = RIDE_RATING(1,53), - .nausea = RIDE_RATING(0,10) - }; + rating_tuple ratings = { + .excitement = RIDE_RATING(3,41), + .intensity = RIDE_RATING(1,53), + .nausea = RIDE_RATING(0,10) + }; - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0xE0; + ride->inversions &= 0x1F; + ride->inversions |= 0xE0; } static void ride_ratings_calculate_flying_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 17; - set_unreliability_factor(ride); + ride->unreliability_factor = 17; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(4,35), RIDE_RATING(1,85), RIDE_RATING(4,33)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 38130, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 6693); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(4,35), RIDE_RATING(1,85), RIDE_RATING(4,33)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 38130, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 6693); - if ((ride->inversions & 0x1F) == 0) - ratings.excitement /= 2; + if ((ride->inversions & 0x1F) == 0) + ratings.excitement /= 2; - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 1, 1); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 1, 1); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,40), 2, 1, 1); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,40), 2, 1, 1); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 1, 1); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 1, 1); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_virginia_reel(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 19; - set_unreliability_factor(ride); + ride->unreliability_factor = 19; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,10), RIDE_RATING(1,90), RIDE_RATING(3,70)); - ride_ratings_apply_length(&ratings, ride, 6000, 873); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 110592, 29789, 59578); - ride_ratings_apply_turns(&ratings, ride, 52012, 26075, 45749); - ride_ratings_apply_drops(&ratings, ride, 43690, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 22367); - ride_ratings_apply_scenery(&ratings, ride, 11155); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xD20000, 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,10), RIDE_RATING(1,90), RIDE_RATING(3,70)); + ride_ratings_apply_length(&ratings, ride, 6000, 873); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 110592, 29789, 59578); + ride_ratings_apply_turns(&ratings, ride, 52012, 26075, 45749); + ride_ratings_apply_drops(&ratings, ride, 43690, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 22367); + ride_ratings_apply_scenery(&ratings, ride, 11155); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xD20000, 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_splash_boats(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 15; - set_unreliability_factor(ride); + ride->unreliability_factor = 15; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,46), RIDE_RATING(0,35), RIDE_RATING(0,30)); - ride_ratings_apply_length(&ratings, ride, 2000, 7208); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_max_speed(&ratings, ride, 797059, 655360, 301111); - ride_ratings_apply_duration(&ratings, ride, 500, 13107); - ride_ratings_apply_turns(&ratings, ride, 22291, 20860, 4574); - ride_ratings_apply_drops(&ratings, ride, 87381, 93622, 62259); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 22367); - ride_ratings_apply_scenery(&ratings, ride, 11155); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 6, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,46), RIDE_RATING(0,35), RIDE_RATING(0,30)); + ride_ratings_apply_length(&ratings, ride, 2000, 7208); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_max_speed(&ratings, ride, 797059, 655360, 301111); + ride_ratings_apply_duration(&ratings, ride, 500, 13107); + ride_ratings_apply_turns(&ratings, ride, 22291, 20860, 4574); + ride_ratings_apply_drops(&ratings, ride, 87381, 93622, 62259); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 22367); + ride_ratings_apply_scenery(&ratings, ride, 11155); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 6, 2, 2, 2); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_mini_helicopters(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 12; - set_unreliability_factor(ride); + ride->unreliability_factor = 12; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,60), RIDE_RATING(0,40), RIDE_RATING(0,00)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,15), RIDE_RATING(0,00)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_turns(&ratings, ride, 14860, 0, 4574); - ride_ratings_apply_drops(&ratings, ride, 8738, 0, 0); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 12850, 6553, 4681); - ride_ratings_apply_proximity(&ratings, ride, 8946); - ride_ratings_apply_scenery(&ratings, ride, 8366); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xA00000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,60), RIDE_RATING(0,40), RIDE_RATING(0,00)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,15), RIDE_RATING(0,00)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_turns(&ratings, ride, 14860, 0, 4574); + ride_ratings_apply_drops(&ratings, ride, 8738, 0, 0); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 12850, 6553, 4681); + ride_ratings_apply_proximity(&ratings, ride, 8946); + ride_ratings_apply_scenery(&ratings, ride, 8366); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xA00000, 2, 2, 2); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 6 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 6 << 5; } static void ride_ratings_calculate_lay_down_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 18; - set_unreliability_factor(ride); + ride->unreliability_factor = 18; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,85), RIDE_RATING(1,15), RIDE_RATING(2,75)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 38130, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 6693); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,85), RIDE_RATING(1,15), RIDE_RATING(2,75)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 38130, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 6693); - if ((ride->inversions & 0x1F) == 0) { - ratings.excitement /= 4; - ratings.intensity /= 2; - ratings.nausea /= 2; - } + if ((ride->inversions & 0x1F) == 0) { + ratings.excitement /= 4; + ratings.intensity /= 2; + ratings.nausea /= 2; + } - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - if ((ride->inversions & 0x1F) == 0) { - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 40), 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - } + if ((ride->inversions & 0x1F) == 0) { + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 40), 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + } - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_suspended_monorail(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 14; - set_unreliability_factor(ride); + ride->unreliability_factor = 14; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,15), RIDE_RATING(0,23), RIDE_RATING(0, 8)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_train_length(&ratings, ride, 93622); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 70849, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 218453); - ride_ratings_apply_duration(&ratings, ride, 150, 21845); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 5140, 6553, 18724); - ride_ratings_apply_proximity(&ratings, ride, 12525); - ride_ratings_apply_scenery(&ratings, ride, 25098); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xAA0000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,15), RIDE_RATING(0,23), RIDE_RATING(0, 8)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_train_length(&ratings, ride, 93622); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 70849, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 218453); + ride_ratings_apply_duration(&ratings, ride, 150, 21845); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 5140, 6553, 18724); + ride_ratings_apply_proximity(&ratings, ride, 12525); + ride_ratings_apply_scenery(&ratings, ride, 25098); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xAA0000, 2, 2, 2); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - sint32 edx = get_num_of_sheltered_eighths(ride); - if (((edx >> 8) & 0xFF) >= 4) - ride->excitement /= 4; + sint32 edx = get_num_of_sheltered_eighths(ride); + if (((edx >> 8) & 0xFF) >= 4) + ride->excitement /= 4; - ride->inversions &= 0x1F; - ride->inversions |= edx << 5; + ride->inversions &= 0x1F; + ride->inversions |= edx << 5; } static void ride_ratings_calculate_reverser_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 19; - set_unreliability_factor(ride); + ride->unreliability_factor = 19; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,40), RIDE_RATING(1,80), RIDE_RATING(1,70)); - ride_ratings_apply_length(&ratings, ride, 6000, 873); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,40), RIDE_RATING(1,80), RIDE_RATING(1,70)); + ride_ratings_apply_length(&ratings, ride, 6000, 873); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); - sint32 numReversers = min(gRideRatingsCalcData.num_reversers, 6); - ride_rating reverserRating = numReversers * RIDE_RATING(0,20); - ride_ratings_add(&ratings, - reverserRating, - reverserRating, - reverserRating); + sint32 numReversers = min(gRideRatingsCalcData.num_reversers, 6); + ride_rating reverserRating = numReversers * RIDE_RATING(0,20); + ride_ratings_add(&ratings, + reverserRating, + reverserRating, + reverserRating); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 28672, 23831, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 43458, 45749); - ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 22367); - ride_ratings_apply_scenery(&ratings, ride, 11155); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 28672, 23831, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 43458, 45749); + ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 22367); + ride_ratings_apply_scenery(&ratings, ride, 11155); - if (gRideRatingsCalcData.num_reversers < 1) { - ratings.excitement /= 8; - } + if (gRideRatingsCalcData.num_reversers < 1) { + ratings.excitement /= 8; + } - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xC80000, 2, 1, 1); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 1, 1); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xC80000, 2, 1, 1); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 1, 1); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_heartline_twister_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 18; - set_unreliability_factor(ride); + ride->unreliability_factor = 18; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,40), RIDE_RATING(1,70), RIDE_RATING(1,65)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,20), RIDE_RATING(0,04)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 97418, 123987, 70849); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 44683, 89367); - ride_ratings_apply_turns(&ratings, ride, 26749, 52150, 57186); - ride_ratings_apply_drops(&ratings, ride, 29127, 53052, 55705); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 34952, 35108); - ride_ratings_apply_proximity(&ratings, ride, 9841); - ride_ratings_apply_scenery(&ratings, ride, 3904); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,40), RIDE_RATING(1,70), RIDE_RATING(1,65)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,20), RIDE_RATING(0,04)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 97418, 123987, 70849); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 44683, 89367); + ride_ratings_apply_turns(&ratings, ride, 26749, 52150, 57186); + ride_ratings_apply_drops(&ratings, ride, 29127, 53052, 55705); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 34952, 35108); + ride_ratings_apply_proximity(&ratings, ride, 9841); + ride_ratings_apply_scenery(&ratings, ride, 3904); - if ((ride->inversions & 0x1F) == 0) - ratings.excitement /= 4; + if ((ride->inversions & 0x1F) == 0) + ratings.excitement /= 4; - ride_ratings_apply_num_drops_penalty(&ratings, ride, 1, 4, 1, 1); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 1, 4, 1, 1); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_mini_golf(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 0; - set_unreliability_factor(ride); + ride->unreliability_factor = 0; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,50), RIDE_RATING(0,90), RIDE_RATING(0,00)); - ride_ratings_apply_length(&ratings, ride, 6000, 873); - ride_ratings_apply_turns(&ratings, ride, 14860, 0, 0); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 5140, 6553, 4681); - ride_ratings_apply_proximity(&ratings, ride, 15657); - ride_ratings_apply_scenery(&ratings, ride, 27887); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,50), RIDE_RATING(0,90), RIDE_RATING(0,00)); + ride_ratings_apply_length(&ratings, ride, 6000, 873); + ride_ratings_apply_turns(&ratings, ride, 14860, 0, 0); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 5140, 6553, 4681); + ride_ratings_apply_proximity(&ratings, ride, 15657); + ride_ratings_apply_scenery(&ratings, ride, 27887); - // Apply golf holes factor - ride_ratings_add(&ratings, - (ride->holes & 0x1F) * 5, - 0, - 0); + // Apply golf holes factor + ride_ratings_add(&ratings, + (ride->holes & 0x1F) * 5, + 0, + 0); - // Apply no golf holes penalty - if ((ride->inversions & 0x1F) == 0) { - ratings.excitement /= 8; - ratings.intensity /= 2; - ratings.nausea /= 2; - } + // Apply no golf holes penalty + if ((ride->inversions & 0x1F) == 0) { + ratings.excitement /= 8; + ratings.intensity /= 2; + ratings.nausea /= 2; + } - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_first_aid(rct_ride *ride) { - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; } static void ride_ratings_calculate_circus_show(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 9; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 9; + set_unreliability_factor(ride); - rating_tuple ratings = { - .excitement = RIDE_RATING(2,10), - .intensity = RIDE_RATING(0,30), - .nausea = RIDE_RATING(0,0) - }; + rating_tuple ratings = { + .excitement = RIDE_RATING(2,10), + .intensity = RIDE_RATING(0,30), + .nausea = RIDE_RATING(0,0) + }; - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 7 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 7 << 5; } static void ride_ratings_calculate_ghost_train(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 12; - set_unreliability_factor(ride); + ride->unreliability_factor = 12; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,00), RIDE_RATING(0,20), RIDE_RATING(0,03)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,15), RIDE_RATING(0,00)); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_turns(&ratings, ride, 14860, 0, 11437); - ride_ratings_apply_drops(&ratings, ride, 8738, 0, 0); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 25700, 6553, 4681); - ride_ratings_apply_proximity(&ratings, ride, 11183); - ride_ratings_apply_scenery(&ratings, ride, 8366); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xB40000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,00), RIDE_RATING(0,20), RIDE_RATING(0,03)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,15), RIDE_RATING(0,00)); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_turns(&ratings, ride, 14860, 0, 11437); + ride_ratings_apply_drops(&ratings, ride, 8738, 0, 0); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 25700, 6553, 4681); + ride_ratings_apply_proximity(&ratings, ride, 11183); + ride_ratings_apply_scenery(&ratings, ride, 8366); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xB40000, 2, 2, 2); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_twister_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 15; - set_unreliability_factor(ride); + ride->unreliability_factor = 15; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,50), RIDE_RATING(0,40), RIDE_RATING(0,30)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 32768, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 6693); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,50), RIDE_RATING(0,40), RIDE_RATING(0,30)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 32768, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 6693); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - if ((ride->inversions & 0x1F) == 0) { - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 40), 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - } + if ((ride->inversions & 0x1F) == 0) { + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 40), 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + } - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_wooden_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 19; - set_unreliability_factor(ride); + ride->unreliability_factor = 19; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,20), RIDE_RATING(2,60), RIDE_RATING(2,00)); - ride_ratings_apply_length(&ratings, ride, 6000, 873); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 40960, 34555, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 43458, 45749); - ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 22367); - ride_ratings_apply_scenery(&ratings, ride, 11155); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,10), 2, 2, 2); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0x1720000, 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,20), RIDE_RATING(2,60), RIDE_RATING(2,00)); + ride_ratings_apply_length(&ratings, ride, 6000, 873); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 40960, 34555, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 43458, 45749); + ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 22367); + ride_ratings_apply_scenery(&ratings, ride, 11155); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,10), 2, 2, 2); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0x1720000, 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_side_friction_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 19; - set_unreliability_factor(ride); + ride->unreliability_factor = 19; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,50), RIDE_RATING(2,00), RIDE_RATING(1,50)); - ride_ratings_apply_length(&ratings, ride, 6000, 873); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 28672, 35746, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 43458, 45749); - ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 22367); - ride_ratings_apply_scenery(&ratings, ride, 11155); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 6, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x50000, 2, 2, 2); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xFA0000, 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,50), RIDE_RATING(2,00), RIDE_RATING(1,50)); + ride_ratings_apply_length(&ratings, ride, 6000, 873); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 28672, 35746, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 43458, 45749); + ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 22367); + ride_ratings_apply_scenery(&ratings, ride, 11155); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 6, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x50000, 2, 2, 2); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xFA0000, 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_wild_mouse(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 14; - set_unreliability_factor(ride); + ride->unreliability_factor = 14; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,80), RIDE_RATING(2,50), RIDE_RATING(2,10)); - ride_ratings_apply_length(&ratings, ride, 6000, 873); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0, 8)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 102400, 35746, 49648); - ride_ratings_apply_turns(&ratings, ride, 29721, 43458, 45749); - ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 17893); - ride_ratings_apply_scenery(&ratings, ride, 5577); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 6, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); - ride_ratings_apply_max_lateral_g_penalty(&ratings, ride, FIXED_2DP(1,50), 2, 2, 2); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xAA0000, 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,80), RIDE_RATING(2,50), RIDE_RATING(2,10)); + ride_ratings_apply_length(&ratings, ride, 6000, 873); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0, 8)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 102400, 35746, 49648); + ride_ratings_apply_turns(&ratings, ride, 29721, 43458, 45749); + ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 17893); + ride_ratings_apply_scenery(&ratings, ride, 5577); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 6, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); + ride_ratings_apply_max_lateral_g_penalty(&ratings, ride, FIXED_2DP(1,50), 2, 2, 2); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xAA0000, 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_multi_dimension_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 18; - set_unreliability_factor(ride); + ride->unreliability_factor = 18; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,75), RIDE_RATING(1,95), RIDE_RATING(4,79)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 38130, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 6693); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,75), RIDE_RATING(1,95), RIDE_RATING(4,79)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 38130, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 6693); - if ((ride->inversions & 0x1F) == 0) - ratings.excitement /= 4; + if ((ride->inversions & 0x1F) == 0) + ratings.excitement /= 4; - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 1, 1); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,40), 2, 1, 1); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 1, 1); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,40), 2, 1, 1); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 1, 1); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 1, 1); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_giga_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 14; - set_unreliability_factor(ride); + ride->unreliability_factor = 14; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,85), RIDE_RATING(0,40), RIDE_RATING(0,35)); - ride_ratings_apply_length(&ratings, ride, 6000, 819); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 140434); - ride_ratings_apply_max_speed(&ratings, ride, 51366, 85019, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 364088, 400497); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 36864, 30384, 49648); - ride_ratings_apply_turns(&ratings, ride, 28235, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 43690, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 6693); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,85), RIDE_RATING(0,40), RIDE_RATING(0,35)); + ride_ratings_apply_length(&ratings, ride, 6000, 819); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 140434); + ride_ratings_apply_max_speed(&ratings, ride, 51366, 85019, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 364088, 400497); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 36864, 30384, 49648); + ride_ratings_apply_turns(&ratings, ride, 28235, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 43690, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 6693); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 16, 2, 2, 2); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 16, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - if ((ride->inversions & 0x1F) == 0) { - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 40), 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - } + if ((ride->inversions & 0x1F) == 0) { + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0, 40), 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + } - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_roto_drop(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 24; - set_unreliability_factor(ride); + ride->unreliability_factor = 24; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,80), RIDE_RATING(3,50), RIDE_RATING(3,50)); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,80), RIDE_RATING(3,50), RIDE_RATING(3,50)); - sint32 lengthFactor = ((ride_get_total_length(ride) >> 16) * 209715) >> 16; - ride_ratings_add(&ratings, - lengthFactor, - lengthFactor * 2, - lengthFactor * 2); + sint32 lengthFactor = ((ride_get_total_length(ride) >> 16) * 209715) >> 16; + ride_ratings_add(&ratings, + lengthFactor, + lengthFactor * 2, + lengthFactor * 2); - ride_ratings_apply_proximity(&ratings, ride, 11183); - ride_ratings_apply_scenery(&ratings, ride, 25098); + ride_ratings_apply_proximity(&ratings, ride, 11183); + ride_ratings_apply_scenery(&ratings, ride, 25098); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_flying_saucers(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 32; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 32; + set_unreliability_factor(ride); - rating_tuple ratings = { - .excitement = RIDE_RATING(2,40), - .intensity = RIDE_RATING(0,55), - .nausea = RIDE_RATING(0,39) - }; + rating_tuple ratings = { + .excitement = RIDE_RATING(2,40), + .intensity = RIDE_RATING(0,55), + .nausea = RIDE_RATING(0,39) + }; - if (ride->num_vehicles >= 4) { - ride_ratings_add(&ratings, - RIDE_RATING(0,40), - 0, - 0); - } + if (ride->num_vehicles >= 4) { + ride_ratings_add(&ratings, + RIDE_RATING(0,40), + 0, + 0); + } - ride_ratings_add(&ratings, - ride->time_limit, - ride->time_limit / 2, - 0); + ride_ratings_add(&ratings, + ride->time_limit, + ride->time_limit / 2, + 0); - if (ride->num_vehicles >= 4) { - ride_ratings_add(&ratings, - RIDE_RATING(0, 40), - 0, - 0); - } + if (ride->num_vehicles >= 4) { + ride_ratings_add(&ratings, + RIDE_RATING(0, 40), + 0, + 0); + } - ride_ratings_apply_scenery(&ratings, ride, 5577); + ride_ratings_apply_scenery(&ratings, ride, 5577); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 0 << 5; } static void ride_ratings_calculate_crooked_house(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 5; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 5; + set_unreliability_factor(ride); - rating_tuple ratings = { - .excitement = RIDE_RATING(2,15), - .intensity = RIDE_RATING(0,62), - .nausea = RIDE_RATING(0,34) - }; + rating_tuple ratings = { + .excitement = RIDE_RATING(2,15), + .intensity = RIDE_RATING(0,62), + .nausea = RIDE_RATING(0,34) + }; - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0xE0; + ride->inversions &= 0x1F; + ride->inversions |= 0xE0; } static void ride_ratings_calculate_monorail_cycles(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 4; - set_unreliability_factor(ride); + ride->unreliability_factor = 4; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,40), RIDE_RATING(0,20), RIDE_RATING(0,00)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,15), RIDE_RATING(0,00)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_turns(&ratings, ride, 14860, 0, 4574); - ride_ratings_apply_drops(&ratings, ride, 8738, 0, 0); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 5140, 6553, 2340); - ride_ratings_apply_proximity(&ratings, ride, 8946); - ride_ratings_apply_scenery(&ratings, ride, 11155); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0x8C0000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,40), RIDE_RATING(0,20), RIDE_RATING(0,00)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,15), RIDE_RATING(0,00)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_turns(&ratings, ride, 14860, 0, 4574); + ride_ratings_apply_drops(&ratings, ride, 8738, 0, 0); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 5140, 6553, 2340); + ride_ratings_apply_proximity(&ratings, ride, 8946); + ride_ratings_apply_scenery(&ratings, ride, 11155); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0x8C0000, 2, 2, 2); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_compact_inverted_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE ? 31 : 21; - set_unreliability_factor(ride); + ride->unreliability_factor = ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE ? 31 : 21; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,15), RIDE_RATING(2,80), RIDE_RATING(3,20)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,42), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 30980, 55606); - ride_ratings_apply_turns(&ratings, ride, 26749, 29552, 57186); - ride_ratings_apply_drops(&ratings, ride, 29127, 39009, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 15291, 35108); - ride_ratings_apply_proximity(&ratings, ride, 15657); - ride_ratings_apply_scenery(&ratings, ride, 8366); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,15), RIDE_RATING(2,80), RIDE_RATING(3,20)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,42), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 30980, 55606); + ride_ratings_apply_turns(&ratings, ride, 26749, 29552, 57186); + ride_ratings_apply_drops(&ratings, ride, 29127, 39009, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 15291, 35108); + ride_ratings_apply_proximity(&ratings, ride, 15657); + ride_ratings_apply_scenery(&ratings, ride, 8366); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,30), 2, 2, 2); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,30), 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_water_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 14; - set_unreliability_factor(ride); + ride->unreliability_factor = 14; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,70), RIDE_RATING(2,80), RIDE_RATING(2,10)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 20480, 23831, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 25700, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 9760); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 8, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 1, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,70), RIDE_RATING(2,80), RIDE_RATING(2,10)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 20480, 23831, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 25700, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 9760); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 8, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 1, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - if (!(ride->special_track_elements & RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS)) - ratings.excitement /= 8; + if (!(ride->special_track_elements & RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS)) + ratings.excitement /= 8; - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_air_powered_vertical_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 28; - set_unreliability_factor(ride); + ride->unreliability_factor = 28; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(4,13), RIDE_RATING(2,50), RIDE_RATING(2,80)); - ride_ratings_apply_length(&ratings, ride, 6000, 327); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,60), RIDE_RATING(0,05)); - ride_ratings_apply_max_speed(&ratings, ride, 509724, 364088, 320398); - ride_ratings_apply_gforces(&ratings, ride, 24576, 35746, 59578); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 21845, 11702); - ride_ratings_apply_proximity(&ratings, ride, 17893); - ride_ratings_apply_scenery(&ratings, ride, 11155); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 34, 2, 1, 1); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(4,13), RIDE_RATING(2,50), RIDE_RATING(2,80)); + ride_ratings_apply_length(&ratings, ride, 6000, 327); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,60), RIDE_RATING(0,05)); + ride_ratings_apply_max_speed(&ratings, ride, 509724, 364088, 320398); + ride_ratings_apply_gforces(&ratings, ride, 24576, 35746, 59578); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 21845, 11702); + ride_ratings_apply_proximity(&ratings, ride, 17893); + ride_ratings_apply_scenery(&ratings, ride, 11155); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 34, 2, 1, 1); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_inverted_hairpin_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 14; - set_unreliability_factor(ride); + ride->unreliability_factor = 14; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(3,00), RIDE_RATING(2,65), RIDE_RATING(2,25)); - ride_ratings_apply_length(&ratings, ride, 6000, 873); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0, 8)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 102400, 35746, 49648); - ride_ratings_apply_turns(&ratings, ride, 29721, 43458, 45749); - ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 17893); - ride_ratings_apply_scenery(&ratings, ride, 5577); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 8, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,10), 2, 2, 2); - ride_ratings_apply_max_lateral_g_penalty(&ratings, ride, FIXED_2DP(1,50), 2, 2, 2); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0xAA0000, 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 3, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(3,00), RIDE_RATING(2,65), RIDE_RATING(2,25)); + ride_ratings_apply_length(&ratings, ride, 6000, 873); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0, 8)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 102400, 35746, 49648); + ride_ratings_apply_turns(&ratings, ride, 29721, 43458, 45749); + ride_ratings_apply_drops(&ratings, ride, 40777, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 16705, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 17893); + ride_ratings_apply_scenery(&ratings, ride, 5577); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 8, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,10), 2, 2, 2); + ride_ratings_apply_max_lateral_g_penalty(&ratings, ride, FIXED_2DP(1,50), 2, 2, 2); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0xAA0000, 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 3, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_magic_carpet(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,45), RIDE_RATING(1,60), RIDE_RATING(2,60)); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,45), RIDE_RATING(1,60), RIDE_RATING(2,60)); - ride_ratings_add(&ratings, - ride->operation_option * 10, - ride->operation_option * 20, - ride->operation_option * 20); + ride_ratings_add(&ratings, + ride->operation_option * 10, + ride->operation_option * 20, + ride->operation_option * 20); - ride_ratings_apply_scenery(&ratings, ride, 11155); + ride_ratings_apply_scenery(&ratings, ride, 11155); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 0 << 5; } static void ride_ratings_calculate_submarine_ride(rct_ride *ride) { - ride->unreliability_factor = 7; - set_unreliability_factor(ride); + ride->unreliability_factor = 7; + set_unreliability_factor(ride); - // NOTE Fixed bug from original game, see boat ride. + // NOTE Fixed bug from original game, see boat ride. - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,20), RIDE_RATING(1,80), RIDE_RATING(1,40)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_proximity(&ratings, ride, 11183); - ride_ratings_apply_scenery(&ratings, ride, 22310); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,20), RIDE_RATING(1,80), RIDE_RATING(1,40)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_proximity(&ratings, ride, 11183); + ride_ratings_apply_scenery(&ratings, ride, 22310); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 0 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 0 << 5; } static void ride_ratings_calculate_river_rafts(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 12; - set_unreliability_factor(ride); + ride->unreliability_factor = 12; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(1,45), RIDE_RATING(0,25), RIDE_RATING(0,34)); - ride_ratings_apply_length(&ratings, ride, 2000, 7208); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_max_speed(&ratings, ride, 531372, 655360, 301111); - ride_ratings_apply_duration(&ratings, ride, 500, 13107); - ride_ratings_apply_turns(&ratings, ride, 22291, 20860, 4574); - ride_ratings_apply_drops(&ratings, ride, 78643, 93622, 62259); - ride_ratings_apply_proximity(&ratings, ride, 13420); - ride_ratings_apply_scenery(&ratings, ride, 11155); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(1,45), RIDE_RATING(0,25), RIDE_RATING(0,34)); + ride_ratings_apply_length(&ratings, ride, 2000, 7208); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_max_speed(&ratings, ride, 531372, 655360, 301111); + ride_ratings_apply_duration(&ratings, ride, 500, 13107); + ride_ratings_apply_turns(&ratings, ride, 22291, 20860, 4574); + ride_ratings_apply_drops(&ratings, ride, 78643, 93622, 62259); + ride_ratings_apply_proximity(&ratings, ride, 13420); + ride_ratings_apply_scenery(&ratings, ride, 11155); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_enterprise(rct_ride *ride) { - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->unreliability_factor = 22; - set_unreliability_factor(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->unreliability_factor = 22; + set_unreliability_factor(ride); - // Base ratings - rating_tuple ratings = { - .excitement = RIDE_RATING(3,60), - .intensity = RIDE_RATING(4,55), - .nausea = RIDE_RATING(5,72) - }; + // Base ratings + rating_tuple ratings = { + .excitement = RIDE_RATING(3,60), + .intensity = RIDE_RATING(4,55), + .nausea = RIDE_RATING(5,72) + }; - ride_ratings_add(&ratings, - ride->operation_option, - ride->operation_option * 16, - ride->operation_option * 16); + ride_ratings_add(&ratings, + ride->operation_option, + ride->operation_option * 16, + ride->operation_option * 16); - ride_ratings_apply_scenery(&ratings, ride, 19521); + ride_ratings_apply_scenery(&ratings, ride, 19521); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= 3 << 5; + ride->inversions &= 0x1F; + ride->inversions |= 3 << 5; } static void ride_ratings_calculate_inverted_impulse_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 20; - set_unreliability_factor(ride); + ride->unreliability_factor = 20; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(4,00), RIDE_RATING(3,00), RIDE_RATING(3,20)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,42), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 29789, 55606); - ride_ratings_apply_turns(&ratings, ride, 26749, 29552, 57186); - ride_ratings_apply_drops(&ratings, ride, 29127, 39009, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 15291, 35108); - ride_ratings_apply_proximity(&ratings, ride, 15657); - ride_ratings_apply_scenery(&ratings, ride, 9760); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 20, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(4,00), RIDE_RATING(3,00), RIDE_RATING(3,20)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,42), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 29789, 55606); + ride_ratings_apply_turns(&ratings, ride, 26749, 29552, 57186); + ride_ratings_apply_drops(&ratings, ride, 29127, 39009, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 15291, 35108); + ride_ratings_apply_proximity(&ratings, ride, 15657); + ride_ratings_apply_scenery(&ratings, ride, 9760); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 20, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_mini_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 13; - set_unreliability_factor(ride); + ride->unreliability_factor = 13; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,55), RIDE_RATING(2,40), RIDE_RATING(1,85)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 20480, 23831, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 25700, 30583, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 9760); - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,50), 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,55), RIDE_RATING(2,40), RIDE_RATING(1,85)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 20480, 23831, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 25700, 30583, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 9760); + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 12, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0x70000, 2, 2, 2); + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, FIXED_2DP(0,50), 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_mine_ride(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 16; - set_unreliability_factor(ride); + ride->unreliability_factor = 16; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,75), RIDE_RATING(1,00), RIDE_RATING(1,80)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 40960, 29789, 49648); - ride_ratings_apply_turns(&ratings, ride, 29721, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 19275, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 21472); - ride_ratings_apply_scenery(&ratings, ride, 16732); - ride_ratings_apply_first_length_penalty(&ratings, ride, 0x10E0000, 2, 2, 2); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,75), RIDE_RATING(1,00), RIDE_RATING(1,80)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 40960, 29789, 49648); + ride_ratings_apply_turns(&ratings, ride, 29721, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 19275, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 21472); + ride_ratings_apply_scenery(&ratings, ride, 16732); + ride_ratings_apply_first_length_penalty(&ratings, ride, 0x10E0000, 2, 2, 2); - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } static void ride_ratings_calculate_lim_launched_roller_coaster(rct_ride *ride) { - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - return; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + return; - ride->unreliability_factor = 25; - set_unreliability_factor(ride); + ride->unreliability_factor = 25; + set_unreliability_factor(ride); - rating_tuple ratings; - ride_ratings_set(&ratings, RIDE_RATING(2,90), RIDE_RATING(1,50), RIDE_RATING(2,20)); - ride_ratings_apply_length(&ratings, ride, 6000, 764); - ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); - ride_ratings_apply_train_length(&ratings, ride, 187245); - ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); - ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); - ride_ratings_apply_duration(&ratings, ride, 150, 26214); - ride_ratings_apply_gforces(&ratings, ride, 24576, 35746, 49648); - ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); - ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); - ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); - ride_ratings_apply_proximity(&ratings, ride, 20130); - ride_ratings_apply_scenery(&ratings, ride, 6693); + rating_tuple ratings; + ride_ratings_set(&ratings, RIDE_RATING(2,90), RIDE_RATING(1,50), RIDE_RATING(2,20)); + ride_ratings_apply_length(&ratings, ride, 6000, 764); + ride_ratings_apply_synchronisation(&ratings, ride, RIDE_RATING(0,40), RIDE_RATING(0,05)); + ride_ratings_apply_train_length(&ratings, ride, 187245); + ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); + ride_ratings_apply_average_speed(&ratings, ride, 291271, 436906); + ride_ratings_apply_duration(&ratings, ride, 150, 26214); + ride_ratings_apply_gforces(&ratings, ride, 24576, 35746, 49648); + ride_ratings_apply_turns(&ratings, ride, 26749, 34767, 45749); + ride_ratings_apply_drops(&ratings, ride, 29127, 46811, 49152); + ride_ratings_apply_sheltered_ratings(&ratings, ride, 15420, 32768, 35108); + ride_ratings_apply_proximity(&ratings, ride, 20130); + ride_ratings_apply_scenery(&ratings, ride, 6693); - if ((ride->inversions & 0x1F) == 0) - ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 10, 2, 2, 2); + if ((ride->inversions & 0x1F) == 0) + ride_ratings_apply_highest_drop_height_penalty(&ratings, ride, 10, 2, 2, 2); - ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); + ride_ratings_apply_max_speed_penalty(&ratings, ride, 0xA0000, 2, 2, 2); - if ((ride->inversions & 0x1F) == 0) { - ride_ratings_apply_max_negative_g_penalty(&ratings, ride, 10, 2, 2, 2); - ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); - } + if ((ride->inversions & 0x1F) == 0) { + ride_ratings_apply_max_negative_g_penalty(&ratings, ride, 10, 2, 2, 2); + ride_ratings_apply_num_drops_penalty(&ratings, ride, 2, 2, 2, 2); + } - ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); - ride_ratings_apply_intensity_penalty(&ratings); - ride_ratings_apply_adjustments(ride, &ratings); + ride_ratings_apply_excessive_lateral_g_penalty(&ratings, ride); + ride_ratings_apply_intensity_penalty(&ratings); + ride_ratings_apply_adjustments(ride, &ratings); - ride->ratings = ratings; + ride->ratings = ratings; - ride->upkeep_cost = ride_compute_upkeep(ride); - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; + ride->upkeep_cost = ride_compute_upkeep(ride); + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_INCOME; - ride->inversions &= 0x1F; - ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; + ride->inversions &= 0x1F; + ride->inversions |= get_num_of_sheltered_eighths(ride) << 5; } #pragma endregion @@ -4231,97 +4231,97 @@ static void ride_ratings_calculate_lim_launched_roller_coaster(rct_ride *ride) // rct2: 0x0097E050 static const ride_ratings_calculation ride_ratings_calculate_func_table[RIDE_TYPE_COUNT] = { - ride_ratings_calculate_spiral_roller_coaster, // SPIRAL_ROLLER_COASTER - ride_ratings_calculate_stand_up_roller_coaster, // STAND_UP_ROLLER_COASTER - ride_ratings_calculate_suspended_swinging_coaster, // SUSPENDED_SWINGING_COASTER - ride_ratings_calculate_inverted_roller_coaster, // INVERTED_ROLLER_COASTER - ride_ratings_calculate_junior_roller_coaster, // JUNIOR_ROLLER_COASTER - ride_ratings_calculate_miniature_railway, // MINIATURE_RAILWAY - ride_ratings_calculate_monorail, // MONORAIL - ride_ratings_calculate_mini_suspended_coaster, // MINI_SUSPENDED_COASTER - ride_ratings_calculate_boat_ride, // BOAT_RIDE - ride_ratings_calculate_wooden_wild_mouse, // WOODEN_WILD_MOUSE - ride_ratings_calculate_steeplechase, // STEEPLECHASE - ride_ratings_calculate_car_ride, // CAR_RIDE - ride_ratings_calculate_launched_freefall, // LAUNCHED_FREEFALL - ride_ratings_calculate_bobsleigh_coaster, // BOBSLEIGH_COASTER - ride_ratings_calculate_observation_tower, // OBSERVATION_TOWER - ride_ratings_calculate_looping_roller_coaster, // LOOPING_ROLLER_COASTER - ride_ratings_calculate_dinghy_slide, // DINGHY_SLIDE - ride_ratings_calculate_mine_train_coaster, // MINE_TRAIN_COASTER - ride_ratings_calculate_chairlift, // CHAIRLIFT - ride_ratings_calculate_corkscrew_roller_coaster, // CORKSCREW_ROLLER_COASTER - ride_ratings_calculate_maze, // MAZE - ride_ratings_calculate_spiral_slide, // SPIRAL_SLIDE - ride_ratings_calculate_go_karts, // GO_KARTS - ride_ratings_calculate_log_flume, // LOG_FLUME - ride_ratings_calculate_river_rapids, // RIVER_RAPIDS - ride_ratings_calculate_dodgems, // DODGEMS - ride_ratings_calculate_pirate_ship, // PIRATE_SHIP - ride_ratings_calculate_inverter_ship, // SWINGING_INVERTER_SHIP - ride_ratings_calculate_food_stall, // FOOD_STALL - ride_ratings_calculate_food_stall, // 1D - ride_ratings_calculate_drink_stall, // DRINK_STALL - ride_ratings_calculate_drink_stall, // 1F - ride_ratings_calculate_shop, // SHOP - ride_ratings_calculate_merry_go_round, // MERRY_GO_ROUND - ride_ratings_calculate_shop, // 22 - ride_ratings_calculate_information_kiosk, // INFORMATION_KIOSK - ride_ratings_calculate_toilets, // TOILETS - ride_ratings_calculate_ferris_wheel, // FERRIS_WHEEL - ride_ratings_calculate_motion_simulator, // MOTION_SIMULATOR - ride_ratings_calculate_3d_cinema, // 3D_CINEMA - ride_ratings_calculate_top_spin, // TOP_SPIN - ride_ratings_calculate_space_rings, // SPACE_RINGS - ride_ratings_calculate_reverse_freefall_coaster, // REVERSE_FREEFALL_COASTER - ride_ratings_calculate_lift, // LIFT - ride_ratings_calculate_vertical_drop_roller_coaster, // VERTICAL_DROP_ROLLER_COASTER - ride_ratings_calculate_cash_machine, // CASH_MACHINE - ride_ratings_calculate_twist, // TWIST - ride_ratings_calculate_haunted_house, // HAUNTED_HOUSE - ride_ratings_calculate_first_aid, // FIRST_AID - ride_ratings_calculate_circus_show, // CIRCUS_SHOW - ride_ratings_calculate_ghost_train, // GHOST_TRAIN - ride_ratings_calculate_twister_roller_coaster, // TWISTER_ROLLER_COASTER - ride_ratings_calculate_wooden_roller_coaster, // WOODEN_ROLLER_COASTER - ride_ratings_calculate_side_friction_roller_coaster, // SIDE_FRICTION_ROLLER_COASTER - ride_ratings_calculate_wild_mouse, // WILD_MOUSE - ride_ratings_calculate_multi_dimension_roller_coaster, // MULTI_DIMENSION_ROLLER_COASTER - ride_ratings_calculate_multi_dimension_roller_coaster, // 38 - ride_ratings_calculate_flying_roller_coaster, // FLYING_ROLLER_COASTER - ride_ratings_calculate_flying_roller_coaster, // 3A - ride_ratings_calculate_virginia_reel, // VIRGINIA_REEL - ride_ratings_calculate_splash_boats, // SPLASH_BOATS - ride_ratings_calculate_mini_helicopters, // MINI_HELICOPTERS - ride_ratings_calculate_lay_down_roller_coaster, // LAY_DOWN_ROLLER_COASTER - ride_ratings_calculate_suspended_monorail, // SUSPENDED_MONORAIL - ride_ratings_calculate_lay_down_roller_coaster, // 40 - ride_ratings_calculate_reverser_roller_coaster, // REVERSER_ROLLER_COASTER - ride_ratings_calculate_heartline_twister_coaster, // HEARTLINE_TWISTER_COASTER - ride_ratings_calculate_mini_golf, // MINI_GOLF - ride_ratings_calculate_giga_coaster, // GIGA_COASTER - ride_ratings_calculate_roto_drop, // ROTO_DROP - ride_ratings_calculate_flying_saucers, // FLYING_SAUCERS - ride_ratings_calculate_crooked_house, // CROOKED_HOUSE - ride_ratings_calculate_monorail_cycles, // MONORAIL_CYCLES - ride_ratings_calculate_compact_inverted_coaster, // COMPACT_INVERTED_COASTER - ride_ratings_calculate_water_coaster, // WATER_COASTER - ride_ratings_calculate_air_powered_vertical_coaster, // AIR_POWERED_VERTICAL_COASTER - ride_ratings_calculate_inverted_hairpin_coaster, // INVERTED_HAIRPIN_COASTER - ride_ratings_calculate_magic_carpet, // MAGIC_CARPET - ride_ratings_calculate_submarine_ride, // SUBMARINE_RIDE - ride_ratings_calculate_river_rafts, // RIVER_RAFTS - NULL, // 50 - ride_ratings_calculate_enterprise, // ENTERPRISE - NULL, // 52 - NULL, // 53 - NULL, // 54 - NULL, // 55 - ride_ratings_calculate_inverted_impulse_coaster, // INVERTED_IMPULSE_COASTER - ride_ratings_calculate_mini_roller_coaster, // MINI_ROLLER_COASTER - ride_ratings_calculate_mine_ride, // MINE_RIDE - NULL, // 59 - ride_ratings_calculate_lim_launched_roller_coaster, // LIM_LAUNCHED_ROLLER_COASTER + ride_ratings_calculate_spiral_roller_coaster, // SPIRAL_ROLLER_COASTER + ride_ratings_calculate_stand_up_roller_coaster, // STAND_UP_ROLLER_COASTER + ride_ratings_calculate_suspended_swinging_coaster, // SUSPENDED_SWINGING_COASTER + ride_ratings_calculate_inverted_roller_coaster, // INVERTED_ROLLER_COASTER + ride_ratings_calculate_junior_roller_coaster, // JUNIOR_ROLLER_COASTER + ride_ratings_calculate_miniature_railway, // MINIATURE_RAILWAY + ride_ratings_calculate_monorail, // MONORAIL + ride_ratings_calculate_mini_suspended_coaster, // MINI_SUSPENDED_COASTER + ride_ratings_calculate_boat_ride, // BOAT_RIDE + ride_ratings_calculate_wooden_wild_mouse, // WOODEN_WILD_MOUSE + ride_ratings_calculate_steeplechase, // STEEPLECHASE + ride_ratings_calculate_car_ride, // CAR_RIDE + ride_ratings_calculate_launched_freefall, // LAUNCHED_FREEFALL + ride_ratings_calculate_bobsleigh_coaster, // BOBSLEIGH_COASTER + ride_ratings_calculate_observation_tower, // OBSERVATION_TOWER + ride_ratings_calculate_looping_roller_coaster, // LOOPING_ROLLER_COASTER + ride_ratings_calculate_dinghy_slide, // DINGHY_SLIDE + ride_ratings_calculate_mine_train_coaster, // MINE_TRAIN_COASTER + ride_ratings_calculate_chairlift, // CHAIRLIFT + ride_ratings_calculate_corkscrew_roller_coaster, // CORKSCREW_ROLLER_COASTER + ride_ratings_calculate_maze, // MAZE + ride_ratings_calculate_spiral_slide, // SPIRAL_SLIDE + ride_ratings_calculate_go_karts, // GO_KARTS + ride_ratings_calculate_log_flume, // LOG_FLUME + ride_ratings_calculate_river_rapids, // RIVER_RAPIDS + ride_ratings_calculate_dodgems, // DODGEMS + ride_ratings_calculate_pirate_ship, // PIRATE_SHIP + ride_ratings_calculate_inverter_ship, // SWINGING_INVERTER_SHIP + ride_ratings_calculate_food_stall, // FOOD_STALL + ride_ratings_calculate_food_stall, // 1D + ride_ratings_calculate_drink_stall, // DRINK_STALL + ride_ratings_calculate_drink_stall, // 1F + ride_ratings_calculate_shop, // SHOP + ride_ratings_calculate_merry_go_round, // MERRY_GO_ROUND + ride_ratings_calculate_shop, // 22 + ride_ratings_calculate_information_kiosk, // INFORMATION_KIOSK + ride_ratings_calculate_toilets, // TOILETS + ride_ratings_calculate_ferris_wheel, // FERRIS_WHEEL + ride_ratings_calculate_motion_simulator, // MOTION_SIMULATOR + ride_ratings_calculate_3d_cinema, // 3D_CINEMA + ride_ratings_calculate_top_spin, // TOP_SPIN + ride_ratings_calculate_space_rings, // SPACE_RINGS + ride_ratings_calculate_reverse_freefall_coaster, // REVERSE_FREEFALL_COASTER + ride_ratings_calculate_lift, // LIFT + ride_ratings_calculate_vertical_drop_roller_coaster, // VERTICAL_DROP_ROLLER_COASTER + ride_ratings_calculate_cash_machine, // CASH_MACHINE + ride_ratings_calculate_twist, // TWIST + ride_ratings_calculate_haunted_house, // HAUNTED_HOUSE + ride_ratings_calculate_first_aid, // FIRST_AID + ride_ratings_calculate_circus_show, // CIRCUS_SHOW + ride_ratings_calculate_ghost_train, // GHOST_TRAIN + ride_ratings_calculate_twister_roller_coaster, // TWISTER_ROLLER_COASTER + ride_ratings_calculate_wooden_roller_coaster, // WOODEN_ROLLER_COASTER + ride_ratings_calculate_side_friction_roller_coaster, // SIDE_FRICTION_ROLLER_COASTER + ride_ratings_calculate_wild_mouse, // WILD_MOUSE + ride_ratings_calculate_multi_dimension_roller_coaster, // MULTI_DIMENSION_ROLLER_COASTER + ride_ratings_calculate_multi_dimension_roller_coaster, // 38 + ride_ratings_calculate_flying_roller_coaster, // FLYING_ROLLER_COASTER + ride_ratings_calculate_flying_roller_coaster, // 3A + ride_ratings_calculate_virginia_reel, // VIRGINIA_REEL + ride_ratings_calculate_splash_boats, // SPLASH_BOATS + ride_ratings_calculate_mini_helicopters, // MINI_HELICOPTERS + ride_ratings_calculate_lay_down_roller_coaster, // LAY_DOWN_ROLLER_COASTER + ride_ratings_calculate_suspended_monorail, // SUSPENDED_MONORAIL + ride_ratings_calculate_lay_down_roller_coaster, // 40 + ride_ratings_calculate_reverser_roller_coaster, // REVERSER_ROLLER_COASTER + ride_ratings_calculate_heartline_twister_coaster, // HEARTLINE_TWISTER_COASTER + ride_ratings_calculate_mini_golf, // MINI_GOLF + ride_ratings_calculate_giga_coaster, // GIGA_COASTER + ride_ratings_calculate_roto_drop, // ROTO_DROP + ride_ratings_calculate_flying_saucers, // FLYING_SAUCERS + ride_ratings_calculate_crooked_house, // CROOKED_HOUSE + ride_ratings_calculate_monorail_cycles, // MONORAIL_CYCLES + ride_ratings_calculate_compact_inverted_coaster, // COMPACT_INVERTED_COASTER + ride_ratings_calculate_water_coaster, // WATER_COASTER + ride_ratings_calculate_air_powered_vertical_coaster, // AIR_POWERED_VERTICAL_COASTER + ride_ratings_calculate_inverted_hairpin_coaster, // INVERTED_HAIRPIN_COASTER + ride_ratings_calculate_magic_carpet, // MAGIC_CARPET + ride_ratings_calculate_submarine_ride, // SUBMARINE_RIDE + ride_ratings_calculate_river_rafts, // RIVER_RAFTS + NULL, // 50 + ride_ratings_calculate_enterprise, // ENTERPRISE + NULL, // 52 + NULL, // 53 + NULL, // 54 + NULL, // 55 + ride_ratings_calculate_inverted_impulse_coaster, // INVERTED_IMPULSE_COASTER + ride_ratings_calculate_mini_roller_coaster, // MINI_ROLLER_COASTER + ride_ratings_calculate_mine_ride, // MINE_RIDE + NULL, // 59 + ride_ratings_calculate_lim_launched_roller_coaster, // LIM_LAUNCHED_ROLLER_COASTER }; #pragma endregion diff --git a/src/openrct2/ride/ride_ratings.h b/src/openrct2/ride/ride_ratings.h index 88969d3cde..dd720e0e79 100644 --- a/src/openrct2/ride/ride_ratings.h +++ b/src/openrct2/ride/ride_ratings.h @@ -21,25 +21,25 @@ #include "ride.h" enum { - RIDE_RATING_STATION_FLAG_NO_ENTRANCE = 1 << 0 + RIDE_RATING_STATION_FLAG_NO_ENTRANCE = 1 << 0 }; typedef struct rct_ride_rating_calc_data { - uint16 proximity_x; - uint16 proximity_y; - uint16 proximity_z; - uint16 proximity_start_x; - uint16 proximity_start_y; - uint16 proximity_start_z; - uint8 current_ride; - uint8 state; - uint8 proximity_track_type; - uint8 proximity_base_height; - uint16 proximity_total; - uint16 proximity_scores[26]; - uint16 num_brakes; - uint16 num_reversers; - uint16 station_flags; + uint16 proximity_x; + uint16 proximity_y; + uint16 proximity_z; + uint16 proximity_start_x; + uint16 proximity_start_y; + uint16 proximity_start_z; + uint8 current_ride; + uint8 state; + uint8 proximity_track_type; + uint8 proximity_base_height; + uint16 proximity_total; + uint16 proximity_scores[26]; + uint16 num_brakes; + uint16 num_reversers; + uint16 station_flags; } rct_ride_rating_calc_data; extern rct_ride_rating_calc_data gRideRatingsCalcData; diff --git a/src/openrct2/ride/shops/facility.c b/src/openrct2/ride/shops/facility.c index 8191621726..648f6dd7d6 100644 --- a/src/openrct2/ride/shops/facility.c +++ b/src/openrct2/ride/shops/facility.c @@ -31,54 +31,54 @@ */ static void facility_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool hasSupports = wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_3], NULL); + bool hasSupports = wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_3], NULL); - rct_ride *ride = get_ride(rideIndex); - rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); - rct_ride_entry_vehicle *firstVehicleEntry = &rideEntry->vehicles[0]; + rct_ride *ride = get_ride(rideIndex); + rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); + rct_ride_entry_vehicle *firstVehicleEntry = &rideEntry->vehicles[0]; - if (rideEntry == NULL || firstVehicleEntry == NULL) - { - log_error("Error drawing facility, rideEntry or firstVehicleEntry is NULL."); - return; - } + if (rideEntry == NULL || firstVehicleEntry == NULL) + { + log_error("Error drawing facility, rideEntry or firstVehicleEntry is NULL."); + return; + } - uint32 imageId = gTrackColours[SCHEME_TRACK]; - imageId |= firstVehicleEntry->base_image_id; - imageId += (direction + 2) & 3; + uint32 imageId = gTrackColours[SCHEME_TRACK]; + imageId |= firstVehicleEntry->base_image_id; + imageId += (direction + 2) & 3; - sint32 rotation = get_current_rotation(); - sint32 lengthX = (direction & 1) == 0 ? 28 : 2; - sint32 lengthY = (direction & 1) == 0 ? 2 : 28; - if (hasSupports) { - uint32 foundationImageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | gTrackColours[SCHEME_3]; - sub_98197C(foundationImageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height, rotation); + sint32 rotation = get_current_rotation(); + sint32 lengthX = (direction & 1) == 0 ? 28 : 2; + sint32 lengthY = (direction & 1) == 0 ? 2 : 28; + if (hasSupports) { + uint32 foundationImageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | gTrackColours[SCHEME_3]; + sub_98197C(foundationImageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height, rotation); - // Door image or base - sub_98199C(imageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height, rotation); - } else { - // Door image or base - sub_98197C(imageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height, rotation); - } + // Door image or base + sub_98199C(imageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height, rotation); + } else { + // Door image or base + sub_98197C(imageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height, rotation); + } - // Base image if door was drawn - if (direction == 1) { - imageId += 2; - sub_98197C(imageId, 0, 0, 2, 28, 29, height, 28, 2, height, rotation); - } else if (direction == 2) { - imageId += 4; - sub_98197C(imageId, 0, 0, 28, 2, 29, height, 2, 28, height, rotation); - } + // Base image if door was drawn + if (direction == 1) { + imageId += 2; + sub_98197C(imageId, 0, 0, 2, 28, 29, height, 28, 2, height, rotation); + } else if (direction == 2) { + imageId += 4; + sub_98197C(imageId, 0, 0, 28, 2, 29, height, 2, 28, height, rotation); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /* 0x00762D44 */ TRACK_PAINT_FUNCTION get_track_paint_function_facility(sint32 trackType, sint32 direction) { - switch (trackType) { - case FLAT_TRACK_ELEM_1_X_1_A: return facility_paint_setup; - } - return NULL; + switch (trackType) { + case FLAT_TRACK_ELEM_1_X_1_A: return facility_paint_setup; + } + return NULL; } diff --git a/src/openrct2/ride/shops/shop.c b/src/openrct2/ride/shops/shop.c index 5cebbcc0e5..68cd6ca831 100644 --- a/src/openrct2/ride/shops/shop.c +++ b/src/openrct2/ride/shops/shop.c @@ -31,44 +31,44 @@ */ static void shop_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool hasSupports = wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_3], NULL); + bool hasSupports = wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_3], NULL); - rct_ride *ride = get_ride(rideIndex); - rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); - rct_ride_entry_vehicle *firstVehicleEntry = &rideEntry->vehicles[0]; + rct_ride *ride = get_ride(rideIndex); + rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); + rct_ride_entry_vehicle *firstVehicleEntry = &rideEntry->vehicles[0]; - if (rideEntry == NULL || firstVehicleEntry == NULL) - { - log_error("Error drawing shop, rideEntry or firstVehicleEntry is NULL."); - return; - } + if (rideEntry == NULL || firstVehicleEntry == NULL) + { + log_error("Error drawing shop, rideEntry or firstVehicleEntry is NULL."); + return; + } - uint32 imageId = gTrackColours[SCHEME_TRACK]; - if (imageId & 0x80000000) { - imageId &= 0x60FFFFFF; - } - imageId += firstVehicleEntry->base_image_id; - imageId += direction; + uint32 imageId = gTrackColours[SCHEME_TRACK]; + if (imageId & 0x80000000) { + imageId &= 0x60FFFFFF; + } + imageId += firstVehicleEntry->base_image_id; + imageId += direction; - if (hasSupports) { - uint32 foundationImageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | gTrackColours[SCHEME_3]; - sub_98197C(foundationImageId, 0, 0, 28, 28, 45, height, 2, 2, height, get_current_rotation()); + if (hasSupports) { + uint32 foundationImageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | gTrackColours[SCHEME_3]; + sub_98197C(foundationImageId, 0, 0, 28, 28, 45, height, 2, 2, height, get_current_rotation()); - sub_98199C(imageId, 0, 0, 28, 28, 45, height, 2, 2, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 28, 28, 45, height, 2, 2, height, get_current_rotation()); - } + sub_98199C(imageId, 0, 0, 28, 28, 45, height, 2, 2, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 28, 28, 45, height, 2, 2, height, get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /* 0x00761160 */ TRACK_PAINT_FUNCTION get_track_paint_function_shop(sint32 trackType, sint32 direction) { - switch (trackType) { - case FLAT_TRACK_ELEM_1_X_1_A: - case FLAT_TRACK_ELEM_1_X_1_B: return shop_paint_setup; - } - return NULL; + switch (trackType) { + case FLAT_TRACK_ELEM_1_X_1_A: + case FLAT_TRACK_ELEM_1_X_1_B: return shop_paint_setup; + } + return NULL; } diff --git a/src/openrct2/ride/station.c b/src/openrct2/ride/station.c index e3c02b659d..bbcc6f3b67 100644 --- a/src/openrct2/ride/station.c +++ b/src/openrct2/ride/station.c @@ -32,24 +32,24 @@ static void ride_invalidate_station_start(rct_ride *ride, sint32 stationIndex, s */ void ride_update_station(rct_ride *ride, sint32 stationIndex) { - if (ride->station_starts[stationIndex] == 0xFFFF) - return; + if (ride->station_starts[stationIndex] == 0xFFFF) + return; - switch (ride->mode) { - case RIDE_MODE_RACE: - ride_update_station_race(ride, stationIndex); - break; - case RIDE_MODE_BUMPERCAR: - ride_update_station_bumpercar(ride, stationIndex); - break; - case RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED: - case RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED: - ride_update_station_blocksection(ride, stationIndex); - break; - default: - ride_update_station_normal(ride, stationIndex); - break; - } + switch (ride->mode) { + case RIDE_MODE_RACE: + ride_update_station_race(ride, stationIndex); + break; + case RIDE_MODE_BUMPERCAR: + ride_update_station_bumpercar(ride, stationIndex); + break; + case RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED: + case RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED: + ride_update_station_blocksection(ride, stationIndex); + break; + default: + ride_update_station_normal(ride, stationIndex); + break; + } } /** @@ -58,23 +58,23 @@ void ride_update_station(rct_ride *ride, sint32 stationIndex) */ static void ride_update_station_blocksection(rct_ride *ride, sint32 stationIndex) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = ride_get_station_start_track_element(ride, stationIndex); + mapElement = ride_get_station_start_track_element(ride, stationIndex); - if ((ride->status == RIDE_STATUS_CLOSED && ride->num_riders == 0) || (mapElement != NULL && mapElement->flags & 0x20)) { - ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; + if ((ride->status == RIDE_STATUS_CLOSED && ride->num_riders == 0) || (mapElement != NULL && mapElement->flags & 0x20)) { + ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; - if ((ride->station_depart[stationIndex] & STATION_DEPART_FLAG) || (mapElement != NULL && (mapElement->properties.track.sequence & 0x80))) - ride_invalidate_station_start(ride, stationIndex, 0); - } else { - if (!(ride->station_depart[stationIndex] & STATION_DEPART_FLAG)) { - ride->station_depart[stationIndex] |= STATION_DEPART_FLAG; - ride_invalidate_station_start(ride, stationIndex, 1); - } else if (mapElement != NULL && mapElement->properties.track.sequence & 0x80) { - ride_invalidate_station_start(ride, stationIndex, 1); - } - } + if ((ride->station_depart[stationIndex] & STATION_DEPART_FLAG) || (mapElement != NULL && (mapElement->properties.track.sequence & 0x80))) + ride_invalidate_station_start(ride, stationIndex, 0); + } else { + if (!(ride->station_depart[stationIndex] & STATION_DEPART_FLAG)) { + ride->station_depart[stationIndex] |= STATION_DEPART_FLAG; + ride_invalidate_station_start(ride, stationIndex, 1); + } else if (mapElement != NULL && mapElement->properties.track.sequence & 0x80) { + ride_invalidate_station_start(ride, stationIndex, 1); + } + } } /** @@ -83,48 +83,48 @@ static void ride_update_station_blocksection(rct_ride *ride, sint32 stationIndex */ static void ride_update_station_bumpercar(rct_ride *ride, sint32 stationIndex) { - // Change of station depart flag should really call invalidate_station_start - // but since dodgems do not have station lights there is no point. - if ( - ride->status == RIDE_STATUS_CLOSED || - (ride->lifecycle_flags & (RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) - ) { - ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; - return; - } + // Change of station depart flag should really call invalidate_station_start + // but since dodgems do not have station lights there is no point. + if ( + ride->status == RIDE_STATUS_CLOSED || + (ride->lifecycle_flags & (RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) + ) { + ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; + return; + } - if (ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) { - sint32 dx = ride->time_limit * 32; - sint32 dl = dx & 0xFF; - sint32 dh = (dx >> 8) & 0xFF; - for (sint32 i = 0; i < ride->num_vehicles; i++) { - rct_vehicle *vehicle = &(get_sprite(ride->vehicles[i])->vehicle); - if (vehicle->var_CE < dh || (vehicle->var_CE < dh && vehicle->sub_state > dl)) - continue; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) { + sint32 dx = ride->time_limit * 32; + sint32 dl = dx & 0xFF; + sint32 dh = (dx >> 8) & 0xFF; + for (sint32 i = 0; i < ride->num_vehicles; i++) { + rct_vehicle *vehicle = &(get_sprite(ride->vehicles[i])->vehicle); + if (vehicle->var_CE < dh || (vehicle->var_CE < dh && vehicle->sub_state > dl)) + continue; - // End match - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING; - ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; - return; - } + // End match + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING; + ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; + return; + } - // Continue match - ride->station_depart[stationIndex] |= STATION_DEPART_FLAG; - } else { - // Check if all vehicles are ready to go - for (sint32 i = 0; i < ride->num_vehicles; i++) { - rct_vehicle *vehicle = &(get_sprite(ride->vehicles[i])->vehicle); - if (vehicle->status != VEHICLE_STATUS_WAITING_TO_DEPART) { - ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; - return; - } - } + // Continue match + ride->station_depart[stationIndex] |= STATION_DEPART_FLAG; + } else { + // Check if all vehicles are ready to go + for (sint32 i = 0; i < ride->num_vehicles; i++) { + rct_vehicle *vehicle = &(get_sprite(ride->vehicles[i])->vehicle); + if (vehicle->status != VEHICLE_STATUS_WAITING_TO_DEPART) { + ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; + return; + } + } - // Begin the match - ride->lifecycle_flags |= RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING; - ride->station_depart[stationIndex] |= STATION_DEPART_FLAG; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; - } + // Begin the match + ride->lifecycle_flags |= RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING; + ride->station_depart[stationIndex] |= STATION_DEPART_FLAG; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + } } /** @@ -133,30 +133,30 @@ static void ride_update_station_bumpercar(rct_ride *ride, sint32 stationIndex) */ static void ride_update_station_normal(rct_ride *ride, sint32 stationIndex) { - sint32 time; + sint32 time; - time = ride->station_depart[stationIndex] & STATION_DEPART_MASK; - if ( - (ride->lifecycle_flags & (RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) || - (ride->status == RIDE_STATUS_CLOSED && ride->num_riders == 0) - ) { - if (time != 0 && time != 127 && !(gCurrentTicks & 7)) - time--; + time = ride->station_depart[stationIndex] & STATION_DEPART_MASK; + if ( + (ride->lifecycle_flags & (RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) || + (ride->status == RIDE_STATUS_CLOSED && ride->num_riders == 0) + ) { + if (time != 0 && time != 127 && !(gCurrentTicks & 7)) + time--; - ride->station_depart[stationIndex] = time; - ride_invalidate_station_start(ride, stationIndex, 0); - } else { - if (time == 0) { - ride->station_depart[stationIndex] |= STATION_DEPART_FLAG; - ride_invalidate_station_start(ride, stationIndex, 1); - } else { - if (time != 127 && !(gCurrentTicks & 31)) - time--; + ride->station_depart[stationIndex] = time; + ride_invalidate_station_start(ride, stationIndex, 0); + } else { + if (time == 0) { + ride->station_depart[stationIndex] |= STATION_DEPART_FLAG; + ride_invalidate_station_start(ride, stationIndex, 1); + } else { + if (time != 127 && !(gCurrentTicks & 31)) + time--; - ride->station_depart[stationIndex] = time; - ride_invalidate_station_start(ride, stationIndex, 0); - } - } + ride->station_depart[stationIndex] = time; + ride_invalidate_station_start(ride, stationIndex, 0); + } + } } /** @@ -165,63 +165,63 @@ static void ride_update_station_normal(rct_ride *ride, sint32 stationIndex) */ static void ride_update_station_race(rct_ride *ride, sint32 stationIndex) { - if ( - ride->status == RIDE_STATUS_CLOSED || - (ride->lifecycle_flags & (RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) - ) { - if (ride->station_depart[stationIndex] & STATION_DEPART_FLAG){ - ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; - ride_invalidate_station_start(ride, stationIndex, 0); - } - return; - } + if ( + ride->status == RIDE_STATUS_CLOSED || + (ride->lifecycle_flags & (RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) + ) { + if (ride->station_depart[stationIndex] & STATION_DEPART_FLAG){ + ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; + ride_invalidate_station_start(ride, stationIndex, 0); + } + return; + } - if (ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) { - sint32 numLaps = ride->num_laps; - for (sint32 i = 0; i < ride->num_vehicles; i++) { - rct_vehicle *vehicle = &(get_sprite(ride->vehicles[i])->vehicle); - if (vehicle->status != VEHICLE_STATUS_WAITING_TO_DEPART && vehicle->num_laps >= numLaps) { - // Found a winner - if (vehicle->num_peeps != 0) { - rct_peep *peep = &(get_sprite(vehicle->peep[0])->peep); - ride->race_winner = peep->sprite_index; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) { + sint32 numLaps = ride->num_laps; + for (sint32 i = 0; i < ride->num_vehicles; i++) { + rct_vehicle *vehicle = &(get_sprite(ride->vehicles[i])->vehicle); + if (vehicle->status != VEHICLE_STATUS_WAITING_TO_DEPART && vehicle->num_laps >= numLaps) { + // Found a winner + if (vehicle->num_peeps != 0) { + rct_peep *peep = &(get_sprite(vehicle->peep[0])->peep); + ride->race_winner = peep->sprite_index; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + } - // Race is over - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING; - if (ride->station_depart[stationIndex] & STATION_DEPART_FLAG){ - ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; - ride_invalidate_station_start(ride, stationIndex, 0); - } - return; - } - } + // Race is over + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING; + if (ride->station_depart[stationIndex] & STATION_DEPART_FLAG){ + ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; + ride_invalidate_station_start(ride, stationIndex, 0); + } + return; + } + } - // Continue racing - ride->station_depart[stationIndex] |= STATION_DEPART_FLAG; - } else { - // Check if all vehicles are ready to go - for (sint32 i = 0; i < ride->num_vehicles; i++) { - rct_vehicle *vehicle = &(get_sprite(ride->vehicles[i])->vehicle); - if (vehicle->status != VEHICLE_STATUS_WAITING_TO_DEPART && vehicle->status != VEHICLE_STATUS_DEPARTING) { - if (ride->station_depart[stationIndex] & STATION_DEPART_FLAG){ - ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; - ride_invalidate_station_start(ride, stationIndex, 0); - } - return; - } - } + // Continue racing + ride->station_depart[stationIndex] |= STATION_DEPART_FLAG; + } else { + // Check if all vehicles are ready to go + for (sint32 i = 0; i < ride->num_vehicles; i++) { + rct_vehicle *vehicle = &(get_sprite(ride->vehicles[i])->vehicle); + if (vehicle->status != VEHICLE_STATUS_WAITING_TO_DEPART && vehicle->status != VEHICLE_STATUS_DEPARTING) { + if (ride->station_depart[stationIndex] & STATION_DEPART_FLAG){ + ride->station_depart[stationIndex] &= ~STATION_DEPART_FLAG; + ride_invalidate_station_start(ride, stationIndex, 0); + } + return; + } + } - // Begin the race - ride_race_init_vehicle_speeds(ride); - ride->lifecycle_flags |= RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING; - if (!(ride->station_depart[stationIndex] & STATION_DEPART_FLAG)){ - ride->station_depart[stationIndex] |= STATION_DEPART_FLAG; - ride_invalidate_station_start(ride, stationIndex, 1); - } - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; - } + // Begin the race + ride_race_init_vehicle_speeds(ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING; + if (!(ride->station_depart[stationIndex] & STATION_DEPART_FLAG)){ + ride->station_depart[stationIndex] |= STATION_DEPART_FLAG; + ride_invalidate_station_start(ride, stationIndex, 1); + } + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + } } /** @@ -232,36 +232,36 @@ static void ride_update_station_race(rct_ride *ride, sint32 stationIndex) */ static void ride_race_init_vehicle_speeds(rct_ride *ride) { - for (sint32 i = 0; i < ride->num_vehicles; i++) { - rct_vehicle *vehicle = &get_sprite(ride->vehicles[i])->vehicle; - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_6; + for (sint32 i = 0; i < ride->num_vehicles; i++) { + rct_vehicle *vehicle = &get_sprite(ride->vehicles[i])->vehicle; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_6; - rct_ride_entry *rideEntry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry *rideEntry = get_ride_entry(vehicle->ride_subtype); - vehicle->speed = (scenario_rand() & 16) - 8 + rideEntry->vehicles[vehicle->vehicle_type].powered_max_speed; + vehicle->speed = (scenario_rand() & 16) - 8 + rideEntry->vehicles[vehicle->vehicle_type].powered_max_speed; - if (vehicle->num_peeps != 0) { - rct_peep *peep = &get_sprite(vehicle->peep[0])->peep; + if (vehicle->num_peeps != 0) { + rct_peep *peep = &get_sprite(vehicle->peep[0])->peep; - switch (peep_get_easteregg_name_id(peep)) { - case EASTEREGG_PEEP_NAME_MICHAEL_SCHUMACHER: - vehicle->speed += 35; - break; - case EASTEREGG_PEEP_NAME_JACQUES_VILLENEUVE: - vehicle->speed += 25; - break; - case EASTEREGG_PEEP_NAME_DAMON_HILL: - vehicle->speed += 55; - break; - case EASTEREGG_PEEP_NAME_CHRIS_SAWYER: - vehicle->speed += 14; - break; - case EASTEREGG_PEEP_NAME_MR_BEAN: - vehicle->speed = 9; - break; - } - } - } + switch (peep_get_easteregg_name_id(peep)) { + case EASTEREGG_PEEP_NAME_MICHAEL_SCHUMACHER: + vehicle->speed += 35; + break; + case EASTEREGG_PEEP_NAME_JACQUES_VILLENEUVE: + vehicle->speed += 25; + break; + case EASTEREGG_PEEP_NAME_DAMON_HILL: + vehicle->speed += 55; + break; + case EASTEREGG_PEEP_NAME_CHRIS_SAWYER: + vehicle->speed += 14; + break; + case EASTEREGG_PEEP_NAME_MR_BEAN: + vehicle->speed = 9; + break; + } + } + } } /** @@ -270,55 +270,55 @@ static void ride_race_init_vehicle_speeds(rct_ride *ride) */ static void ride_invalidate_station_start(rct_ride *ride, sint32 stationIndex, sint32 dl) { - sint32 x, y; - rct_map_element *mapElement; + sint32 x, y; + rct_map_element *mapElement; - x = (ride->station_starts[stationIndex] & 0xFF) * 32; - y = (ride->station_starts[stationIndex] >> 8) * 32; - mapElement = ride_get_station_start_track_element(ride, stationIndex); + x = (ride->station_starts[stationIndex] & 0xFF) * 32; + y = (ride->station_starts[stationIndex] >> 8) * 32; + mapElement = ride_get_station_start_track_element(ride, stationIndex); - // If no station track found return - if (mapElement == NULL) - return; + // If no station track found return + if (mapElement == NULL) + return; - mapElement->properties.track.sequence &= 0x7F; - if (dl != 0) - mapElement->properties.track.sequence |= 0x80; + mapElement->properties.track.sequence &= 0x7F; + if (dl != 0) + mapElement->properties.track.sequence |= 0x80; - // Invalidate map tile - map_invalidate_tile_zoom1(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); + // Invalidate map tile + map_invalidate_tile_zoom1(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); } rct_map_element *ride_get_station_start_track_element(rct_ride *ride, sint32 stationIndex) { - sint32 x, y, z; - rct_map_element *mapElement; + sint32 x, y, z; + rct_map_element *mapElement; - x = ride->station_starts[stationIndex] & 0xFF; - y = ride->station_starts[stationIndex] >> 8; - z = ride->station_heights[stationIndex]; + x = ride->station_starts[stationIndex] & 0xFF; + y = ride->station_starts[stationIndex] >> 8; + z = ride->station_heights[stationIndex]; - // Find the station track element - mapElement = map_get_first_element_at(x, y); - do { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK && z == mapElement->base_height) - return mapElement; + // Find the station track element + mapElement = map_get_first_element_at(x, y); + do { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK && z == mapElement->base_height) + return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } rct_map_element *ride_get_station_exit_element(rct_ride *ride, sint32 x, sint32 y, sint32 z) { - rct_map_element *mapElement; + rct_map_element *mapElement; - // Find the station track element - mapElement = map_get_first_element_at(x, y); - do { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE && z == mapElement->base_height) - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + // Find the station track element + mapElement = map_get_first_element_at(x, y); + do { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE && z == mapElement->base_height) + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } diff --git a/src/openrct2/ride/thrill/3d_cinema.c b/src/openrct2/ride/thrill/3d_cinema.c index 9b142d3977..75fe2d463b 100644 --- a/src/openrct2/ride/thrill/3d_cinema.c +++ b/src/openrct2/ride/thrill/3d_cinema.c @@ -25,27 +25,27 @@ */ static void paint_3d_cinema_structure(uint8 rideIndex, uint8 direction, sint8 xOffset, sint8 yOffset, uint16 height) { - rct_map_element * savedMapElement = g_currently_drawn_item; + rct_map_element * savedMapElement = g_currently_drawn_item; - rct_ride * ride = get_ride(rideIndex); - rct_ride_entry * ride_type = get_ride_entry(ride->subtype); + rct_ride * ride = get_ride(rideIndex); + rct_ride_entry * ride_type = get_ride_entry(ride->subtype); - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && ride->vehicles[0] != SPRITE_INDEX_NULL) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - g_currently_drawn_item = GET_VEHICLE(ride->vehicles[0]); - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && ride->vehicles[0] != SPRITE_INDEX_NULL) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + g_currently_drawn_item = GET_VEHICLE(ride->vehicles[0]); + } - uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; - if (imageColourFlags == 0x20000000) { - imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; - } + uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; + if (imageColourFlags == 0x20000000) { + imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; + } - uint32 imageId = (ride_type->vehicles[0].base_image_id + direction) | imageColourFlags; - sub_98197C(imageId, xOffset, yOffset, 24, 24, 47, height + 3, xOffset + 16, yOffset + 16, height + 3, get_current_rotation()); + uint32 imageId = (ride_type->vehicles[0].base_image_id + direction) | imageColourFlags; + sub_98197C(imageId, xOffset, yOffset, 24, 24, 47, height + 3, xOffset + 16, yOffset + 16, height + 3, get_current_rotation()); - g_currently_drawn_item = savedMapElement; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = savedMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; } @@ -54,59 +54,59 @@ static void paint_3d_cinema_structure(uint8 rideIndex, uint8 direction, sint8 xO */ static void paint_3d_cinema(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_3x3[direction][trackSequence]; + trackSequence = track_map_3x3[direction][trackSequence]; - sint32 edges = edges_3x3[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_3x3[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); + track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, fenceSpritesRope, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, fenceSpritesRope, get_current_rotation()); - switch(trackSequence) { - case 1: paint_3d_cinema_structure(rideIndex, direction, 32, 32, height); break; - case 3: paint_3d_cinema_structure(rideIndex, direction, 32, -32, height); break; - case 5: paint_3d_cinema_structure(rideIndex, direction, 0, -32, height); break; - case 6: paint_3d_cinema_structure(rideIndex, direction, -32, 32, height); break; - case 7: paint_3d_cinema_structure(rideIndex, direction, -32, -32, height); break; - case 8: paint_3d_cinema_structure(rideIndex, direction, -32, 0, height); break; - } + switch(trackSequence) { + case 1: paint_3d_cinema_structure(rideIndex, direction, 32, 32, height); break; + case 3: paint_3d_cinema_structure(rideIndex, direction, 32, -32, height); break; + case 5: paint_3d_cinema_structure(rideIndex, direction, 0, -32, height); break; + case 6: paint_3d_cinema_structure(rideIndex, direction, -32, 32, height); break; + case 7: paint_3d_cinema_structure(rideIndex, direction, -32, -32, height); break; + case 8: paint_3d_cinema_structure(rideIndex, direction, -32, 0, height); break; + } - sint32 cornerSegments = 0; - switch (trackSequence) { - case 1: - // top - cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; - break; - case 3: - // right - cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; - break; - case 6: - // left - cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; - break; - case 7: - // bottom - cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; - break; - } + sint32 cornerSegments = 0; + switch (trackSequence) { + case 1: + // top + cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; + break; + case 3: + // right + cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; + break; + case 6: + // left + cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; + break; + case 7: + // bottom + cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; + break; + } - paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); - paint_util_set_general_support_height(height + 128, 0x20); + paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); + paint_util_set_general_support_height(height + 128, 0x20); } /* 0x0076554C */ TRACK_PAINT_FUNCTION get_track_paint_function_3d_cinema(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_3_X_3) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_3_X_3) { + return NULL; + } - return paint_3d_cinema; + return paint_3d_cinema; } diff --git a/src/openrct2/ride/thrill/enterprise.c b/src/openrct2/ride/thrill/enterprise.c index b8aad5aee9..0cdc80dc6a 100644 --- a/src/openrct2/ride/thrill/enterprise.c +++ b/src/openrct2/ride/thrill/enterprise.c @@ -24,98 +24,98 @@ /** rct2: 0x008A2ABC */ static void paint_enterprise_structure(rct_ride * ride, sint8 xOffset, sint8 yOffset, uint16 height, rct_map_element * mapElement) { - height += 7; + height += 7; - rct_map_element * savedMapElement = g_currently_drawn_item; - rct_ride_entry * rideType = get_ride_entry(ride->subtype); - rct_vehicle * vehicle = NULL; + rct_map_element * savedMapElement = g_currently_drawn_item; + rct_ride_entry * rideType = get_ride_entry(ride->subtype); + rct_vehicle * vehicle = NULL; - uint32 baseImageId = rideType->vehicles[0].base_image_id; + uint32 baseImageId = rideType->vehicles[0].base_image_id; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && ride->vehicles[0] != SPRITE_INDEX_NULL) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - vehicle = GET_VEHICLE(ride->vehicles[0]); - g_currently_drawn_item = vehicle; - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && ride->vehicles[0] != SPRITE_INDEX_NULL) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + vehicle = GET_VEHICLE(ride->vehicles[0]); + g_currently_drawn_item = vehicle; + } - uint32 imageOffset = (get_current_rotation() + map_element_get_direction(mapElement)) % 4; - if (vehicle != NULL) { - imageOffset = (vehicle->vehicle_sprite_type << 2) + (((vehicle->sprite_direction >> 3) + get_current_rotation()) % 4); - } + uint32 imageOffset = (get_current_rotation() + map_element_get_direction(mapElement)) % 4; + if (vehicle != NULL) { + imageOffset = (vehicle->vehicle_sprite_type << 2) + (((vehicle->sprite_direction >> 3) + get_current_rotation()) % 4); + } - uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; - if (imageColourFlags == 0x20000000) { - imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; - } + uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; + if (imageColourFlags == 0x20000000) { + imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; + } - uint32 imageId = (baseImageId + imageOffset) | imageColourFlags; - sub_98197C(imageId, xOffset, yOffset, 24, 24, 48, height, 0, 0, height, get_current_rotation()); + uint32 imageId = (baseImageId + imageOffset) | imageColourFlags; + sub_98197C(imageId, xOffset, yOffset, 24, 24, 48, height, 0, 0, height, get_current_rotation()); - rct_drawpixelinfo * dpi = unk_140E9A8; + rct_drawpixelinfo * dpi = unk_140E9A8; - if (dpi->zoom_level == 0 - && imageOffset < 12 - && ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && vehicle != NULL) { - for (sint32 i = 0; i < 15; i++) { - if (vehicle->num_peeps <= i) { - break; - } + if (dpi->zoom_level == 0 + && imageOffset < 12 + && ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && vehicle != NULL) { + for (sint32 i = 0; i < 15; i++) { + if (vehicle->num_peeps <= i) { + break; + } - uint32 peepFrameOffset = ((imageOffset % 4) * 4 + (i * 4) % 15) & 0x0F; - uint32 ax = (imageOffset & 0xFFFFFFFC) << 2; - imageId = (baseImageId + 196 + peepFrameOffset + ax) | vehicle->peep_tshirt_colours[i] << 19 | 0x20000000; - sub_98199C(imageId, xOffset, yOffset, 24, 24, 48, height, 0, 0, height, get_current_rotation()); - } - } + uint32 peepFrameOffset = ((imageOffset % 4) * 4 + (i * 4) % 15) & 0x0F; + uint32 ax = (imageOffset & 0xFFFFFFFC) << 2; + imageId = (baseImageId + 196 + peepFrameOffset + ax) | vehicle->peep_tshirt_colours[i] << 19 | 0x20000000; + sub_98199C(imageId, xOffset, yOffset, 24, 24, 48, height, 0, 0, height, get_current_rotation()); + } + } - g_currently_drawn_item = savedMapElement; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = savedMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; } /** rct2: 0x008A1584 */ static void paint_enterprise(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_4x4[direction][trackSequence]; + trackSequence = track_map_4x4[direction][trackSequence]; - sint32 edges = edges_4x4[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_4x4[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL); - track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); + track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, fenceSpritesRope, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, fenceSpritesRope, get_current_rotation()); - switch (trackSequence) { - case 5: paint_enterprise_structure(ride, 16, 16, height, mapElement); break; - case 6: paint_enterprise_structure(ride, 16, -16, height, mapElement); break; - case 10: paint_enterprise_structure(ride, -16, -16, height, mapElement); break; - case 9: paint_enterprise_structure(ride, -16, 16, height, mapElement); break; + switch (trackSequence) { + case 5: paint_enterprise_structure(ride, 16, 16, height, mapElement); break; + case 6: paint_enterprise_structure(ride, 16, -16, height, mapElement); break; + case 10: paint_enterprise_structure(ride, -16, -16, height, mapElement); break; + case 9: paint_enterprise_structure(ride, -16, 16, height, mapElement); break; - case 0: paint_enterprise_structure(ride, 48, 48, height, mapElement); break; - case 3: paint_enterprise_structure(ride, 48, -48, height, mapElement); break; - case 15: paint_enterprise_structure(ride, -48, -48, height, mapElement); break; - case 12: paint_enterprise_structure(ride, -48, 48, height, mapElement); break; + case 0: paint_enterprise_structure(ride, 48, 48, height, mapElement); break; + case 3: paint_enterprise_structure(ride, 48, -48, height, mapElement); break; + case 15: paint_enterprise_structure(ride, -48, -48, height, mapElement); break; + case 12: paint_enterprise_structure(ride, -48, 48, height, mapElement); break; - case 7: paint_enterprise_structure(ride, 16, -48, height, mapElement); break; - case 11: paint_enterprise_structure(ride, -16, -48, height, mapElement); break; - case 14: paint_enterprise_structure(ride, -48, -16, height, mapElement); break; - case 13: paint_enterprise_structure(ride, -48, 16, height, mapElement); break; - } + case 7: paint_enterprise_structure(ride, 16, -48, height, mapElement); break; + case 11: paint_enterprise_structure(ride, -16, -48, height, mapElement); break; + case 14: paint_enterprise_structure(ride, -48, -16, height, mapElement); break; + case 13: paint_enterprise_structure(ride, -48, 16, height, mapElement); break; + } - sint32 cornerSegments = 0; - switch (trackSequence) { - case 0: cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; - case 3: cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; break; - case 12: cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; break; - case 15: cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; break; - } - paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); - paint_util_set_general_support_height(height + 160, 0x20); + sint32 cornerSegments = 0; + switch (trackSequence) { + case 0: cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; + case 3: cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; break; + case 12: cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; break; + case 15: cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; break; + } + paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); + paint_util_set_general_support_height(height + 160, 0x20); } @@ -124,9 +124,9 @@ static void paint_enterprise(uint8 rideIndex, uint8 trackSequence, uint8 directi */ TRACK_PAINT_FUNCTION get_track_paint_function_enterprise(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_4_X_4) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_4_X_4) { + return NULL; + } - return paint_enterprise; + return paint_enterprise; } diff --git a/src/openrct2/ride/thrill/go_karts.c b/src/openrct2/ride/thrill/go_karts.c index 83d32c7224..4dd2995adc 100644 --- a/src/openrct2/ride/thrill/go_karts.c +++ b/src/openrct2/ride/thrill/go_karts.c @@ -25,452 +25,452 @@ enum { - SPR_GO_KARTS_FLAT_SW_NE = 20752, - SPR_GO_KARTS_FLAT_NW_SE = 20753, - SPR_GO_KARTS_FLAT_FRONT_SW_NE = 20754, - SPR_GO_KARTS_FLAT_FRONT_NW_SE = 20755, - SPR_GO_KARTS_STARTING_GRID_END_SW_NE = 20756, - SPR_GO_KARTS_STARTING_GRID_END_NW_SE = 20757, - SPR_GO_KARTS_STARTING_GRID_END_NE_SW = 20758, - SPR_GO_KARTS_STARTING_GRID_END_SE_NW = 20759, - SPR_GO_KARTS_STARTING_GRID_END_FRONT_SW_NE = 20760, - SPR_GO_KARTS_STARTING_GRID_END_FRONT_NW_SE = 20761, - SPR_GO_KARTS_STARTING_GRID_END_FRONT_NE_SW = 20762, - SPR_GO_KARTS_STARTING_GRID_END_FRONT_SE_NW = 20763, - SPR_GO_KARTS_STARTING_GRID_SW_NE = 20764, - SPR_GO_KARTS_STARTING_GRID_NW_SE = 20765, - SPR_GO_KARTS_STARTING_GRID_NE_SW = 20766, - SPR_GO_KARTS_STARTING_GRID_SE_NW = 20767, - SPR_GO_KARTS_STARTING_GRID_FRONT_SW_NE = 20768, - SPR_GO_KARTS_STARTING_GRID_FRONT_NW_SE = 20769, - SPR_GO_KARTS_STARTING_GRID_FRONT_NE_SW = 20770, - SPR_GO_KARTS_STARTING_GRID_FRONT_SE_NW = 20771, - SPR_GO_KARTS_FLAT_TO_25_DEG_UP_SW_NE = 20772, - SPR_GO_KARTS_FLAT_TO_25_DEG_UP_NW_SE = 20773, - SPR_GO_KARTS_FLAT_TO_25_DEG_UP_NE_SW = 20774, - SPR_GO_KARTS_FLAT_TO_25_DEG_UP_SE_NW = 20775, - SPR_GO_KARTS_25_DEG_UP_TO_FLAT_SW_NE = 20776, - SPR_GO_KARTS_25_DEG_UP_TO_FLAT_NW_SE = 20777, - SPR_GO_KARTS_25_DEG_UP_TO_FLAT_NE_SW = 20778, - SPR_GO_KARTS_25_DEG_UP_TO_FLAT_SE_NW = 20779, - SPR_GO_KARTS_25_DEG_UP_SW_NE = 20780, - SPR_GO_KARTS_25_DEG_UP_NW_SE = 20781, - SPR_GO_KARTS_25_DEG_UP_NE_SW = 20782, - SPR_GO_KARTS_25_DEG_UP_SE_NW = 20783, - SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_SW_NE = 20784, - SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_NW_SE = 20785, - SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_NE_SW = 20786, - SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_SE_NW = 20787, - SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_SW_NE = 20788, - SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_NW_SE = 20789, - SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_NE_SW = 20790, - SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_SE_NW = 20791, - SPR_GO_KARTS_25_DEG_UP_FRONT_SW_NE = 20792, - SPR_GO_KARTS_25_DEG_UP_FRONT_NW_SE = 20793, - SPR_GO_KARTS_25_DEG_UP_FRONT_NE_SW = 20794, - SPR_GO_KARTS_25_DEG_UP_FRONT_SE_NW = 20795, - SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SW_NW = 20796, - SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NW_NE = 20797, - SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NE_SE = 20798, - SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SE_SW = 20799, - SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SW_NW = 20800, - SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NW_NE = 20801, - SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NE_SE = 20802, - SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SE_SW = 20803, - SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_SW_NW = 20804, // Empty - SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NW_NE = 20805, - SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NE_SE = 20806, - SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_SE_SW = 20807, - SPR_GO_KARTS_START_POLE_RED_SW_NE = 20808, - SPR_GO_KARTS_START_POLE_GREEN_SW_NE = 20809, - SPR_GO_KARTS_START_POLE_NW_SE = 20810, - SPR_GO_KARTS_START_POLE_NE_SW = 20811, - SPR_GO_KARTS_START_POLE_RED_SE_NW = 20812, - SPR_GO_KARTS_START_POLE_GREEN_SE_NW = 20813, - SPR_GO_KARTS_START_LIGHTS_RED_SW_NE = 20814, - SPR_GO_KARTS_START_LIGHTS_GREEN_SW_NE = 20815, - SPR_GO_KARTS_START_LIGHTS_NW_SE = 20816, - SPR_GO_KARTS_START_LIGHTS_NE_SW = 20817, - SPR_GO_KARTS_START_LIGHTS_RED_SE_NW = 20818, - SPR_GO_KARTS_START_LIGHTS_GREEN_SE_NW = 20819, + SPR_GO_KARTS_FLAT_SW_NE = 20752, + SPR_GO_KARTS_FLAT_NW_SE = 20753, + SPR_GO_KARTS_FLAT_FRONT_SW_NE = 20754, + SPR_GO_KARTS_FLAT_FRONT_NW_SE = 20755, + SPR_GO_KARTS_STARTING_GRID_END_SW_NE = 20756, + SPR_GO_KARTS_STARTING_GRID_END_NW_SE = 20757, + SPR_GO_KARTS_STARTING_GRID_END_NE_SW = 20758, + SPR_GO_KARTS_STARTING_GRID_END_SE_NW = 20759, + SPR_GO_KARTS_STARTING_GRID_END_FRONT_SW_NE = 20760, + SPR_GO_KARTS_STARTING_GRID_END_FRONT_NW_SE = 20761, + SPR_GO_KARTS_STARTING_GRID_END_FRONT_NE_SW = 20762, + SPR_GO_KARTS_STARTING_GRID_END_FRONT_SE_NW = 20763, + SPR_GO_KARTS_STARTING_GRID_SW_NE = 20764, + SPR_GO_KARTS_STARTING_GRID_NW_SE = 20765, + SPR_GO_KARTS_STARTING_GRID_NE_SW = 20766, + SPR_GO_KARTS_STARTING_GRID_SE_NW = 20767, + SPR_GO_KARTS_STARTING_GRID_FRONT_SW_NE = 20768, + SPR_GO_KARTS_STARTING_GRID_FRONT_NW_SE = 20769, + SPR_GO_KARTS_STARTING_GRID_FRONT_NE_SW = 20770, + SPR_GO_KARTS_STARTING_GRID_FRONT_SE_NW = 20771, + SPR_GO_KARTS_FLAT_TO_25_DEG_UP_SW_NE = 20772, + SPR_GO_KARTS_FLAT_TO_25_DEG_UP_NW_SE = 20773, + SPR_GO_KARTS_FLAT_TO_25_DEG_UP_NE_SW = 20774, + SPR_GO_KARTS_FLAT_TO_25_DEG_UP_SE_NW = 20775, + SPR_GO_KARTS_25_DEG_UP_TO_FLAT_SW_NE = 20776, + SPR_GO_KARTS_25_DEG_UP_TO_FLAT_NW_SE = 20777, + SPR_GO_KARTS_25_DEG_UP_TO_FLAT_NE_SW = 20778, + SPR_GO_KARTS_25_DEG_UP_TO_FLAT_SE_NW = 20779, + SPR_GO_KARTS_25_DEG_UP_SW_NE = 20780, + SPR_GO_KARTS_25_DEG_UP_NW_SE = 20781, + SPR_GO_KARTS_25_DEG_UP_NE_SW = 20782, + SPR_GO_KARTS_25_DEG_UP_SE_NW = 20783, + SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_SW_NE = 20784, + SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_NW_SE = 20785, + SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_NE_SW = 20786, + SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_SE_NW = 20787, + SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_SW_NE = 20788, + SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_NW_SE = 20789, + SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_NE_SW = 20790, + SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_SE_NW = 20791, + SPR_GO_KARTS_25_DEG_UP_FRONT_SW_NE = 20792, + SPR_GO_KARTS_25_DEG_UP_FRONT_NW_SE = 20793, + SPR_GO_KARTS_25_DEG_UP_FRONT_NE_SW = 20794, + SPR_GO_KARTS_25_DEG_UP_FRONT_SE_NW = 20795, + SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SW_NW = 20796, + SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NW_NE = 20797, + SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NE_SE = 20798, + SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SE_SW = 20799, + SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SW_NW = 20800, + SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NW_NE = 20801, + SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NE_SE = 20802, + SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SE_SW = 20803, + SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_SW_NW = 20804, // Empty + SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NW_NE = 20805, + SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NE_SE = 20806, + SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_SE_SW = 20807, + SPR_GO_KARTS_START_POLE_RED_SW_NE = 20808, + SPR_GO_KARTS_START_POLE_GREEN_SW_NE = 20809, + SPR_GO_KARTS_START_POLE_NW_SE = 20810, + SPR_GO_KARTS_START_POLE_NE_SW = 20811, + SPR_GO_KARTS_START_POLE_RED_SE_NW = 20812, + SPR_GO_KARTS_START_POLE_GREEN_SE_NW = 20813, + SPR_GO_KARTS_START_LIGHTS_RED_SW_NE = 20814, + SPR_GO_KARTS_START_LIGHTS_GREEN_SW_NE = 20815, + SPR_GO_KARTS_START_LIGHTS_NW_SE = 20816, + SPR_GO_KARTS_START_LIGHTS_NE_SW = 20817, + SPR_GO_KARTS_START_LIGHTS_RED_SE_NW = 20818, + SPR_GO_KARTS_START_LIGHTS_GREEN_SE_NW = 20819, }; static const uint32 go_karts_track_pieces_starting_grid_end[4][2] = { - {SPR_GO_KARTS_STARTING_GRID_END_SW_NE, SPR_GO_KARTS_STARTING_GRID_END_FRONT_SW_NE}, - {SPR_GO_KARTS_STARTING_GRID_END_NW_SE, SPR_GO_KARTS_STARTING_GRID_END_FRONT_NW_SE}, - {SPR_GO_KARTS_STARTING_GRID_END_NE_SW, SPR_GO_KARTS_STARTING_GRID_END_FRONT_NE_SW}, - {SPR_GO_KARTS_STARTING_GRID_END_SE_NW, SPR_GO_KARTS_STARTING_GRID_END_FRONT_SE_NW}, + {SPR_GO_KARTS_STARTING_GRID_END_SW_NE, SPR_GO_KARTS_STARTING_GRID_END_FRONT_SW_NE}, + {SPR_GO_KARTS_STARTING_GRID_END_NW_SE, SPR_GO_KARTS_STARTING_GRID_END_FRONT_NW_SE}, + {SPR_GO_KARTS_STARTING_GRID_END_NE_SW, SPR_GO_KARTS_STARTING_GRID_END_FRONT_NE_SW}, + {SPR_GO_KARTS_STARTING_GRID_END_SE_NW, SPR_GO_KARTS_STARTING_GRID_END_FRONT_SE_NW}, }; static const uint32 go_karts_track_pieces_starting_grid[4][2] = { - {SPR_GO_KARTS_STARTING_GRID_SW_NE, SPR_GO_KARTS_STARTING_GRID_FRONT_SW_NE}, - {SPR_GO_KARTS_STARTING_GRID_NW_SE, SPR_GO_KARTS_STARTING_GRID_FRONT_NW_SE}, - {SPR_GO_KARTS_STARTING_GRID_NE_SW, SPR_GO_KARTS_STARTING_GRID_FRONT_NE_SW}, - {SPR_GO_KARTS_STARTING_GRID_SE_NW, SPR_GO_KARTS_STARTING_GRID_FRONT_SE_NW}, + {SPR_GO_KARTS_STARTING_GRID_SW_NE, SPR_GO_KARTS_STARTING_GRID_FRONT_SW_NE}, + {SPR_GO_KARTS_STARTING_GRID_NW_SE, SPR_GO_KARTS_STARTING_GRID_FRONT_NW_SE}, + {SPR_GO_KARTS_STARTING_GRID_NE_SW, SPR_GO_KARTS_STARTING_GRID_FRONT_NE_SW}, + {SPR_GO_KARTS_STARTING_GRID_SE_NW, SPR_GO_KARTS_STARTING_GRID_FRONT_SE_NW}, }; static const uint32 go_karts_track_pieces_25_deg_up[4][2] = { - {SPR_GO_KARTS_25_DEG_UP_SW_NE, SPR_GO_KARTS_25_DEG_UP_FRONT_SW_NE}, - {SPR_GO_KARTS_25_DEG_UP_NW_SE, SPR_GO_KARTS_25_DEG_UP_FRONT_NW_SE}, - {SPR_GO_KARTS_25_DEG_UP_NE_SW, SPR_GO_KARTS_25_DEG_UP_FRONT_NE_SW}, - {SPR_GO_KARTS_25_DEG_UP_SE_NW, SPR_GO_KARTS_25_DEG_UP_FRONT_SE_NW}, + {SPR_GO_KARTS_25_DEG_UP_SW_NE, SPR_GO_KARTS_25_DEG_UP_FRONT_SW_NE}, + {SPR_GO_KARTS_25_DEG_UP_NW_SE, SPR_GO_KARTS_25_DEG_UP_FRONT_NW_SE}, + {SPR_GO_KARTS_25_DEG_UP_NE_SW, SPR_GO_KARTS_25_DEG_UP_FRONT_NE_SW}, + {SPR_GO_KARTS_25_DEG_UP_SE_NW, SPR_GO_KARTS_25_DEG_UP_FRONT_SE_NW}, }; static const uint32 go_karts_track_pieces_flat_to_25_deg_up[4][2] = { - {SPR_GO_KARTS_FLAT_TO_25_DEG_UP_SW_NE, SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_SW_NE}, - {SPR_GO_KARTS_FLAT_TO_25_DEG_UP_NW_SE, SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_NW_SE}, - {SPR_GO_KARTS_FLAT_TO_25_DEG_UP_NE_SW, SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_NE_SW}, - {SPR_GO_KARTS_FLAT_TO_25_DEG_UP_SE_NW, SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_SE_NW}, + {SPR_GO_KARTS_FLAT_TO_25_DEG_UP_SW_NE, SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_SW_NE}, + {SPR_GO_KARTS_FLAT_TO_25_DEG_UP_NW_SE, SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_NW_SE}, + {SPR_GO_KARTS_FLAT_TO_25_DEG_UP_NE_SW, SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_NE_SW}, + {SPR_GO_KARTS_FLAT_TO_25_DEG_UP_SE_NW, SPR_GO_KARTS_FLAT_TO_25_DEG_UP_FRONT_SE_NW}, }; static const uint32 go_karts_track_pieces_25_deg_up_to_flat[4][2] = { - {SPR_GO_KARTS_25_DEG_UP_TO_FLAT_SW_NE, SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_SW_NE}, - {SPR_GO_KARTS_25_DEG_UP_TO_FLAT_NW_SE, SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_NW_SE}, - {SPR_GO_KARTS_25_DEG_UP_TO_FLAT_NE_SW, SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_NE_SW}, - {SPR_GO_KARTS_25_DEG_UP_TO_FLAT_SE_NW, SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_SE_NW}, + {SPR_GO_KARTS_25_DEG_UP_TO_FLAT_SW_NE, SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_SW_NE}, + {SPR_GO_KARTS_25_DEG_UP_TO_FLAT_NW_SE, SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_NW_SE}, + {SPR_GO_KARTS_25_DEG_UP_TO_FLAT_NE_SW, SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_NE_SW}, + {SPR_GO_KARTS_25_DEG_UP_TO_FLAT_SE_NW, SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_SE_NW}, }; /** rct2: 0x0074A748 */ static void paint_go_karts_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; - if (direction == 0 || direction == 2) { - imageId = SPR_GO_KARTS_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation()); + uint32 imageId; + if (direction == 0 || direction == 2) { + imageId = SPR_GO_KARTS_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation()); - imageId = SPR_GO_KARTS_FLAT_FRONT_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 29, height + 2, get_current_rotation()); + imageId = SPR_GO_KARTS_FLAT_FRONT_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 29, height + 2, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - } else { - imageId = SPR_GO_KARTS_FLAT_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation()); + paint_util_push_tunnel_left(height, TUNNEL_6); + } else { + imageId = SPR_GO_KARTS_FLAT_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation()); - imageId = SPR_GO_KARTS_FLAT_FRONT_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 3, height, 29, 0, height + 2, get_current_rotation()); + imageId = SPR_GO_KARTS_FLAT_FRONT_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 3, height, 29, 0, height + 2, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_6); - } + paint_util_push_tunnel_right(height, TUNNEL_6); + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0074A758 */ static void paint_go_karts_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; - paint_struct * ps; + uint32 imageId; + paint_struct * ps; - imageId = go_karts_track_pieces_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - ps = sub_98197C(imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation()); - } else { - ps = sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation()); - } + imageId = go_karts_track_pieces_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + ps = sub_98197C(imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation()); + } else { + ps = sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation()); + } - imageId = go_karts_track_pieces_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2, get_current_rotation()); - } + imageId = go_karts_track_pieces_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2, get_current_rotation()); + } - gWoodenSupportsPrependTo = ps; + gWoodenSupportsPrependTo = ps; - switch (direction) { - case 0: - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height - 8, TUNNEL_7); - break; - case 1: - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; - case 2: - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; - case 3: - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height - 8, TUNNEL_7); - break; - } + switch (direction) { + case 0: + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height - 8, TUNNEL_7); + break; + case 1: + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; + case 2: + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; + case 3: + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height - 8, TUNNEL_7); + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x0074A768 */ static void paint_go_karts_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; - paint_struct * ps; + uint32 imageId; + paint_struct * ps; - imageId = go_karts_track_pieces_flat_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - ps = sub_98197C(imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation()); - } else { - ps = sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation()); - } + imageId = go_karts_track_pieces_flat_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + ps = sub_98197C(imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation()); + } else { + ps = sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation()); + } - imageId = go_karts_track_pieces_flat_to_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2, get_current_rotation()); - } + imageId = go_karts_track_pieces_flat_to_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2, get_current_rotation()); + } - gWoodenSupportsPrependTo = ps; + gWoodenSupportsPrependTo = ps; - switch (direction) { - case 0: - wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - case 1: - wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height, TUNNEL_8); - break; - case 2: - wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height, TUNNEL_8); - break; - case 3: - wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - } + switch (direction) { + case 0: + wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + case 1: + wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height, TUNNEL_8); + break; + case 2: + wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height, TUNNEL_8); + break; + case 3: + wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x */ static void paint_go_karts_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; - paint_struct * ps; + uint32 imageId; + paint_struct * ps; - imageId = go_karts_track_pieces_25_deg_up_to_flat[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - ps = sub_98197C(imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation()); - } else { - ps = sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation()); - } + imageId = go_karts_track_pieces_25_deg_up_to_flat[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + ps = sub_98197C(imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation()); + } else { + ps = sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation()); + } - imageId = go_karts_track_pieces_25_deg_up_to_flat[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2, get_current_rotation()); - } + imageId = go_karts_track_pieces_25_deg_up_to_flat[direction][1] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2, get_current_rotation()); + } - gWoodenSupportsPrependTo = ps; + gWoodenSupportsPrependTo = ps; - switch (direction) { - case 0: - wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height - 8, TUNNEL_6); - break; - case 1: - wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height + 8, TUNNEL_14); - break; - case 2: - wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height + 8, TUNNEL_14); - break; - case 3: - wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height - 8, TUNNEL_6); - break; - } + switch (direction) { + case 0: + wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height - 8, TUNNEL_6); + break; + case 1: + wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height + 8, TUNNEL_14); + break; + case 2: + wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height + 8, TUNNEL_14); + break; + case 3: + wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height - 8, TUNNEL_6); + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x0074A788 */ static void paint_go_karts_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_go_karts_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_go_karts_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x0074A798 */ static void paint_go_karts_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_go_karts_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_go_karts_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x0074A7A8 */ static void paint_go_karts_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_go_karts_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_go_karts_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x */ static void paint_go_karts_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - rct_ride * ride = get_ride(rideIndex); - const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_ride * ride = get_ride(rideIndex); + const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; - bool hasFence; - uint32 imageId; - const uint32 (* sprites)[2] = go_karts_track_pieces_starting_grid; + bool hasFence; + uint32 imageId; + const uint32 (* sprites)[2] = go_karts_track_pieces_starting_grid; - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { - sprites = go_karts_track_pieces_starting_grid_end; - } + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { + sprites = go_karts_track_pieces_starting_grid_end; + } - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation()); - } else { - sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation()); - } + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation()); + } else { + sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); - track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, height); - } else { - hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); - track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, height); - } + if (direction == 0 || direction == 2) { + hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); + track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, height); + } else { + hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); + track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, height); + } - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 29, height + 2, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 29, height + 2, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - } else { - sub_98197C(imageId, 0, 0, 1, 32, 3, height, 29, 0, height + 2, get_current_rotation()); + paint_util_push_tunnel_left(height, TUNNEL_6); + } else { + sub_98197C(imageId, 0, 0, 1, 32, 3, height, 29, 0, height + 2, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_6); - } + paint_util_push_tunnel_right(height, TUNNEL_6); + } - if (direction == 0 || direction == 2) { - hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); - track_paint_util_draw_station_covers(EDGE_SE, hasFence, entranceStyle, direction, height); - } else { - hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); - track_paint_util_draw_station_covers(EDGE_SW, hasFence, entranceStyle, direction, height); - } + if (direction == 0 || direction == 2) { + hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); + track_paint_util_draw_station_covers(EDGE_SE, hasFence, entranceStyle, direction, height); + } else { + hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); + track_paint_util_draw_station_covers(EDGE_SW, hasFence, entranceStyle, direction, height); + } - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { - const bool hasGreenLight = (bool) (mapElement->properties.track.sequence & 0x80); + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION) { + const bool hasGreenLight = (bool) (mapElement->properties.track.sequence & 0x80); - switch (direction) { - case 0: - imageId = (hasGreenLight ? SPR_GO_KARTS_START_POLE_GREEN_SW_NE : SPR_GO_KARTS_START_POLE_RED_SW_NE) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 3, 3, 13, height, 1, 1, height + 4, get_current_rotation()); + switch (direction) { + case 0: + imageId = (hasGreenLight ? SPR_GO_KARTS_START_POLE_GREEN_SW_NE : SPR_GO_KARTS_START_POLE_RED_SW_NE) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 3, 3, 13, height, 1, 1, height + 4, get_current_rotation()); - imageId = (hasGreenLight ? SPR_GO_KARTS_START_LIGHTS_GREEN_SW_NE : SPR_GO_KARTS_START_LIGHTS_RED_SW_NE) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 3, 3, 13, height, 1, 28, height + 4, get_current_rotation()); - break; - case 1: - imageId = SPR_GO_KARTS_START_POLE_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 3, 3, 13, height, 1, 28, height + 4, get_current_rotation()); + imageId = (hasGreenLight ? SPR_GO_KARTS_START_LIGHTS_GREEN_SW_NE : SPR_GO_KARTS_START_LIGHTS_RED_SW_NE) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 3, 3, 13, height, 1, 28, height + 4, get_current_rotation()); + break; + case 1: + imageId = SPR_GO_KARTS_START_POLE_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 3, 3, 13, height, 1, 28, height + 4, get_current_rotation()); - imageId = SPR_GO_KARTS_START_LIGHTS_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 3, 3, 13, height, 28, 28, height + 4, get_current_rotation()); - break; - case 2: - imageId = SPR_GO_KARTS_START_POLE_NE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 3, 3, 13, height, 28, 1, height + 4, get_current_rotation()); + imageId = SPR_GO_KARTS_START_LIGHTS_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 3, 3, 13, height, 28, 28, height + 4, get_current_rotation()); + break; + case 2: + imageId = SPR_GO_KARTS_START_POLE_NE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 3, 3, 13, height, 28, 1, height + 4, get_current_rotation()); - imageId = SPR_GO_KARTS_START_LIGHTS_NE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 3, 3, 13, height, 28, 28, height + 4, get_current_rotation()); - break; - case 3: - imageId = (hasGreenLight ? SPR_GO_KARTS_START_POLE_GREEN_SE_NW : SPR_GO_KARTS_START_POLE_RED_SE_NW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 3, 3, 13, height, 1, 1, height + 4, get_current_rotation()); + imageId = SPR_GO_KARTS_START_LIGHTS_NE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 3, 3, 13, height, 28, 28, height + 4, get_current_rotation()); + break; + case 3: + imageId = (hasGreenLight ? SPR_GO_KARTS_START_POLE_GREEN_SE_NW : SPR_GO_KARTS_START_POLE_RED_SE_NW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 3, 3, 13, height, 1, 1, height + 4, get_current_rotation()); - imageId = (hasGreenLight ? SPR_GO_KARTS_START_LIGHTS_GREEN_SE_NW : SPR_GO_KARTS_START_LIGHTS_RED_SE_NW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 3, 3, 13, height, 28, 1, height + 4, get_current_rotation()); - break; - } - } + imageId = (hasGreenLight ? SPR_GO_KARTS_START_LIGHTS_GREEN_SE_NW : SPR_GO_KARTS_START_LIGHTS_RED_SE_NW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 3, 3, 13, height, 28, 1, height + 4, get_current_rotation()); + break; + } + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0074A7E8 */ static void paint_go_karts_track_left_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - switch (direction) { - case 0: - imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation()); + switch (direction) { + case 0: + imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation()); - imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 1, 3, height, 29, 2, height + 2, get_current_rotation()); + imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 1, 3, height, 29, 2, height + 2, get_current_rotation()); - imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 16, 1, 3, height, 14, 29, height + 2, get_current_rotation()); - break; - case 1: - imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NE_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 30, 30, 1, height, 0, 0, height, get_current_rotation()); + imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 16, 1, 3, height, 14, 29, height + 2, get_current_rotation()); + break; + case 1: + imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NE_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 30, 30, 1, height, 0, 0, height, get_current_rotation()); - imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NE_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 16, 1, 3, height, 2, 29, height + 2, get_current_rotation()); + imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NE_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 16, 1, 3, height, 2, 29, height + 2, get_current_rotation()); - imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NE_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 16, 3, height, 29, 2, height + 2, get_current_rotation()); - break; - case 2: - imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation()); + imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NE_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 16, 3, height, 29, 2, height + 2, get_current_rotation()); + break; + case 2: + imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation()); - imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 1, 3, height, 2, 2, height + 2, get_current_rotation()); + imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 1, 3, height, 2, 2, height + 2, get_current_rotation()); - imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_SE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 16, 3, height, 29, 14, height + 2, get_current_rotation()); - break; - case 3: - imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SW_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); + imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_SE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 16, 3, height, 29, 14, height + 2, get_current_rotation()); + break; + case 3: + imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SW_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); - imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SW_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 1, 3, height, 29, 29, height + 2, get_current_rotation()); + imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SW_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 1, 3, height, 29, 29, height + 2, get_current_rotation()); - // The empty sprite isn't drawn - break; - } + // The empty sprite isn't drawn + break; + } - switch (direction) { - case 0: - paint_util_push_tunnel_left(height, TUNNEL_6); - break; - case 2: - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_6); - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(height, TUNNEL_6); + break; + case 2: + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_6); + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0074A7F8 */ static void paint_go_karts_track_right_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_go_karts_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + paint_go_karts_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } /** @@ -478,34 +478,34 @@ static void paint_go_karts_track_right_quarter_turn_1_tile(uint8 rideIndex, uint */ TRACK_PAINT_FUNCTION get_track_paint_function_go_karts(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return paint_go_karts_track_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_go_karts_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_go_karts_station; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_go_karts_station; - case TRACK_ELEM_25_DEG_UP: - return paint_go_karts_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return paint_go_karts_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return paint_go_karts_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_UP: + return paint_go_karts_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_go_karts_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_go_karts_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return paint_go_karts_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return paint_go_karts_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return paint_go_karts_track_25_deg_down_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return paint_go_karts_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_go_karts_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_go_karts_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return paint_go_karts_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return paint_go_karts_track_right_quarter_turn_1_tile; - } + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return paint_go_karts_track_left_quarter_turn_1_tile; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return paint_go_karts_track_right_quarter_turn_1_tile; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/thrill/launched_freefall.c b/src/openrct2/ride/thrill/launched_freefall.c index 9218973235..9b4702aaae 100644 --- a/src/openrct2/ride/thrill/launched_freefall.c +++ b/src/openrct2/ride/thrill/launched_freefall.c @@ -26,16 +26,16 @@ enum { - SPR_LAUNCHED_FREEFALL_TOWER_BASE = 14564, - SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT = 14565, - SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT_TOP = 14566, + SPR_LAUNCHED_FREEFALL_TOWER_BASE = 14564, + SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT = 14565, + SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT_TOP = 14566, }; static const uint32 launched_freefall_fence_sprites[] = { - SPR_FENCE_METAL_NE, - SPR_FENCE_METAL_SE, - SPR_FENCE_METAL_SW, - SPR_FENCE_METAL_NW + SPR_FENCE_METAL_NE, + SPR_FENCE_METAL_SE, + SPR_FENCE_METAL_SW, + SPR_FENCE_METAL_NW }; /** @@ -44,128 +44,128 @@ static const uint32 launched_freefall_fence_sprites[] = { */ void vehicle_visual_launched_freefall(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - sint32 image_id; - sint32 baseImage_id = vehicleEntry->base_image_id + ((vehicle->restraints_position / 64) * 2); + sint32 image_id; + sint32 baseImage_id = vehicleEntry->base_image_id + ((vehicle->restraints_position / 64) * 2); - const uint8 rotation = get_current_rotation(); - // Draw back: - image_id = (baseImage_id + 2) | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0xA0000000; - sub_98197C(image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1, rotation); + const uint8 rotation = get_current_rotation(); + // Draw back: + image_id = (baseImage_id + 2) | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0xA0000000; + sub_98197C(image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1, rotation); - // Draw front: - image_id = (baseImage_id + 1) | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0xA0000000; - sub_98197C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); + // Draw front: + image_id = (baseImage_id + 1) | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0xA0000000; + sub_98197C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); - // Draw peeps: - if (unk_140E9A8->zoom_level < 2) { - if (vehicle->num_peeps > 0) { - baseImage_id = vehicleEntry->base_image_id + 9; - if ((vehicle->restraints_position / 64) == 3) { - baseImage_id += 2; // Draw peeps sitting without transparent area between them for restraints - } - image_id = (baseImage_id + ((((imageDirection / 8) + 0) & 3) * 3)) | (vehicle->peep_tshirt_colours[0] << 19) | (vehicle->peep_tshirt_colours[1] << 24) | 0xA0000000; - sub_98199C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); - if (vehicle->num_peeps > 2) { - image_id = (baseImage_id + ((((imageDirection / 8) + 1) & 3) * 3)) | (vehicle->peep_tshirt_colours[2] << 19) | (vehicle->peep_tshirt_colours[3] << 24) | 0xA0000000; - sub_98199C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); - } - if (vehicle->num_peeps > 4) { - image_id = (baseImage_id + ((((imageDirection / 8) + 2) & 3) * 3)) | (vehicle->peep_tshirt_colours[4] << 19) | (vehicle->peep_tshirt_colours[5] << 24) | 0xA0000000; - sub_98199C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); - } - if (vehicle->num_peeps > 6) { - image_id = (baseImage_id + ((((imageDirection / 8) + 3) & 3) * 3)) | (vehicle->peep_tshirt_colours[6] << 19) | (vehicle->peep_tshirt_colours[7] << 24) | 0xA0000000; - sub_98199C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); - } - } - } + // Draw peeps: + if (unk_140E9A8->zoom_level < 2) { + if (vehicle->num_peeps > 0) { + baseImage_id = vehicleEntry->base_image_id + 9; + if ((vehicle->restraints_position / 64) == 3) { + baseImage_id += 2; // Draw peeps sitting without transparent area between them for restraints + } + image_id = (baseImage_id + ((((imageDirection / 8) + 0) & 3) * 3)) | (vehicle->peep_tshirt_colours[0] << 19) | (vehicle->peep_tshirt_colours[1] << 24) | 0xA0000000; + sub_98199C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); + if (vehicle->num_peeps > 2) { + image_id = (baseImage_id + ((((imageDirection / 8) + 1) & 3) * 3)) | (vehicle->peep_tshirt_colours[2] << 19) | (vehicle->peep_tshirt_colours[3] << 24) | 0xA0000000; + sub_98199C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); + } + if (vehicle->num_peeps > 4) { + image_id = (baseImage_id + ((((imageDirection / 8) + 2) & 3) * 3)) | (vehicle->peep_tshirt_colours[4] << 19) | (vehicle->peep_tshirt_colours[5] << 24) | 0xA0000000; + sub_98199C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); + } + if (vehicle->num_peeps > 6) { + image_id = (baseImage_id + ((((imageDirection / 8) + 3) & 3) * 3)) | (vehicle->peep_tshirt_colours[6] << 19) | (vehicle->peep_tshirt_colours[7] << 24) | 0xA0000000; + sub_98199C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); + } + } + } - assert(vehicleEntry->effect_visual == 1); + assert(vehicleEntry->effect_visual == 1); } /** rct2: 0x006FD1F8 */ static void paint_launched_freefall_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_3x3[direction][trackSequence]; + trackSequence = track_map_3x3[direction][trackSequence]; - sint32 edges = edges_3x3[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_3x3[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - uint32 imageId = SPR_FLOOR_METAL | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); + uint32 imageId = SPR_FLOOR_METAL | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, launched_freefall_fence_sprites, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, launched_freefall_fence_sprites, get_current_rotation()); - if (trackSequence == 0) { - imageId = SPR_LAUNCHED_FREEFALL_TOWER_BASE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3, get_current_rotation()); + if (trackSequence == 0) { + imageId = SPR_LAUNCHED_FREEFALL_TOWER_BASE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3, get_current_rotation()); - height += 32; - imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); + height += 32; + imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); - height += 32; - imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); + height += 32; + imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); - paint_util_set_vertical_tunnel(height + 32); + paint_util_set_vertical_tunnel(height + 32); - height -= 64; - } + height -= 64; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENTS_ALL; break; - case 1: blockedSegments = SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; - case 3: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; - case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8; break; - case 5: blockedSegments = SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; - case 6: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; - case 7: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 8: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; - } - paint_util_set_segment_support_height(blockedSegments, 0xFFFF, 0); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~blockedSegments, height + 2, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENTS_ALL; break; + case 1: blockedSegments = SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; + case 3: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; + case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8; break; + case 5: blockedSegments = SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; + case 6: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; + case 7: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 8: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; + } + paint_util_set_segment_support_height(blockedSegments, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~blockedSegments, height + 2, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x006FD208 */ static void paint_launched_freefall_tower_section(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence == 1) { - return; - } + if (trackSequence == 1) { + return; + } - uint32 imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); + uint32 imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); - rct_map_element * nextMapElement = mapElement + 1; - if (map_element_is_last_for_tile(mapElement) || mapElement->clearance_height != nextMapElement->base_height) { - imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT_TOP | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); - } + rct_map_element * nextMapElement = mapElement + 1; + if (map_element_is_last_for_tile(mapElement) || mapElement->clearance_height != nextMapElement->base_height) { + imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT_TOP | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_vertical_tunnel(height + 32); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_vertical_tunnel(height + 32); + paint_util_set_general_support_height(height + 32, 0x20); } /** * rct2: 0x006FD0E8 */ TRACK_PAINT_FUNCTION get_track_paint_function_launched_freefall(sint32 trackType, sint32 direction) { - switch(trackType) { - case TRACK_ELEM_TOWER_BASE: - return paint_launched_freefall_base; + switch(trackType) { + case TRACK_ELEM_TOWER_BASE: + return paint_launched_freefall_base; - case TRACK_ELEM_TOWER_SECTION: - return paint_launched_freefall_tower_section; - } + case TRACK_ELEM_TOWER_SECTION: + return paint_launched_freefall_tower_section; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/thrill/magic_carpet.c b/src/openrct2/ride/thrill/magic_carpet.c index 9ed5811bef..23bcd0e978 100644 --- a/src/openrct2/ride/thrill/magic_carpet.c +++ b/src/openrct2/ride/thrill/magic_carpet.c @@ -21,204 +21,204 @@ #include "../track.h" enum { - PLANE_BACK, - PLANE_FRONT, + PLANE_BACK, + PLANE_FRONT, }; enum { - SPR_MAGIC_CARPET_FRAME_NW = 22002, - SPR_MAGIC_CARPET_FRAME_SE = 22003, - SPR_MAGIC_CARPET_FRAME_NE = 22004, - SPR_MAGIC_CARPET_FRAME_SW = 22005, - SPR_MAGIC_CARPET_PENDULUM_NW = 22006, - SPR_MAGIC_CARPET_PENDULUM_NE = 22038, - SPR_MAGIC_CARPET_PENDULUM_SE = 22070, - SPR_MAGIC_CARPET_PENDULUM_SW = 22102, + SPR_MAGIC_CARPET_FRAME_NW = 22002, + SPR_MAGIC_CARPET_FRAME_SE = 22003, + SPR_MAGIC_CARPET_FRAME_NE = 22004, + SPR_MAGIC_CARPET_FRAME_SW = 22005, + SPR_MAGIC_CARPET_PENDULUM_NW = 22006, + SPR_MAGIC_CARPET_PENDULUM_NE = 22038, + SPR_MAGIC_CARPET_PENDULUM_SE = 22070, + SPR_MAGIC_CARPET_PENDULUM_SW = 22102, }; typedef struct bound_box { - sint16 x; - sint16 y; - sint16 width; - sint16 height; + sint16 x; + sint16 y; + sint16 width; + sint16 height; } bound_box; /** rct2: 0x01428220 */ static const sint16 MagicCarpetOscillationZ[] = { - -2, -1, 1, 5, 10, 16, 23, 30, 37, 45, 52, 59, 65, 70, 74, 76, 77, - 76, 74, 70, 65, 59, 52, 45, 37, 30, 23, 16, 10, 5, 1, -1 + -2, -1, 1, 5, 10, 16, 23, 30, 37, 45, 52, 59, 65, 70, 74, 76, 77, + 76, 74, 70, 65, 59, 52, 45, 37, 30, 23, 16, 10, 5, 1, -1 }; /** rct2: 0x01428260 */ static const sint8 MagicCarpetOscillationXY[] = { - 0, 6, 12, 18, 23, 27, 30, 31, 32, 31, 30, 27, 23, 18, 12, 6, 0, - -5, -11, -17, -22, -26, -29, -30, -31, -30, -29, -26, -22, -17, -11, -5 + 0, 6, 12, 18, 23, 27, 30, 31, 32, 31, 30, 27, 23, 18, 12, 6, 0, + -5, -11, -17, -22, -26, -29, -30, -31, -30, -29, -26, -22, -17, -11, -5 }; /** rct2: 0x014281F0 */ static const bound_box MagicCarpetBounds[] = { - { 0, 8, 32, 16 }, - { 8, 0, 16, 32 }, - { 0, 8, 32, 16 }, - { 8, 0, 16, 32 } + { 0, 8, 32, 16 }, + { 8, 0, 16, 32 }, + { 0, 8, 32, 16 }, + { 8, 0, 16, 32 } }; static rct_vehicle *get_first_vehicle(rct_ride *ride) { - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) { - uint16 vehicleSpriteIndex = ride->vehicles[0]; - if (vehicleSpriteIndex != SPRITE_INDEX_NULL) { - return GET_VEHICLE(vehicleSpriteIndex); - } - } - return NULL; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) { + uint16 vehicleSpriteIndex = ride->vehicles[0]; + if (vehicleSpriteIndex != SPRITE_INDEX_NULL) { + return GET_VEHICLE(vehicleSpriteIndex); + } + } + return NULL; } static void paint_magic_carpet_frame(uint8 plane, uint8 direction, - rct_xyz16 offset, rct_xyz16 bbOffset, rct_xyz16 bbSize) + rct_xyz16 offset, rct_xyz16 bbOffset, rct_xyz16 bbSize) { - uint32 imageId; - if (direction & 1) { - imageId = plane == PLANE_BACK ? SPR_MAGIC_CARPET_FRAME_NE : - SPR_MAGIC_CARPET_FRAME_SW; - } else { - imageId = plane == PLANE_BACK ? SPR_MAGIC_CARPET_FRAME_NW : - SPR_MAGIC_CARPET_FRAME_SE; - } - imageId |= gTrackColours[SCHEME_TRACK]; - if (plane == PLANE_BACK) { - sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y, bbOffset.z, get_current_rotation()); - } else { - sub_98199C(imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y, bbOffset.z, get_current_rotation()); - } + uint32 imageId; + if (direction & 1) { + imageId = plane == PLANE_BACK ? SPR_MAGIC_CARPET_FRAME_NE : + SPR_MAGIC_CARPET_FRAME_SW; + } else { + imageId = plane == PLANE_BACK ? SPR_MAGIC_CARPET_FRAME_NW : + SPR_MAGIC_CARPET_FRAME_SE; + } + imageId |= gTrackColours[SCHEME_TRACK]; + if (plane == PLANE_BACK) { + sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y, bbOffset.z, get_current_rotation()); + } else { + sub_98199C(imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y, bbOffset.z, get_current_rotation()); + } } static void paint_magic_carpet_pendulum(uint8 plane, uint32 swingImageId, uint8 direction, - rct_xyz16 offset, rct_xyz16 bbOffset, rct_xyz16 bbSize) + rct_xyz16 offset, rct_xyz16 bbOffset, rct_xyz16 bbSize) { - uint32 imageId = swingImageId; - if (direction & 2) { - imageId = (0 - ((sint32)imageId)) & 31; - } - if (direction & 1) { - imageId += plane == PLANE_BACK ? SPR_MAGIC_CARPET_PENDULUM_NE : - SPR_MAGIC_CARPET_PENDULUM_SW; - } else { - imageId += plane == PLANE_BACK ? SPR_MAGIC_CARPET_PENDULUM_NW : - SPR_MAGIC_CARPET_PENDULUM_SE; - } - imageId |= gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y, bbOffset.z, get_current_rotation()); + uint32 imageId = swingImageId; + if (direction & 2) { + imageId = (0 - ((sint32)imageId)) & 31; + } + if (direction & 1) { + imageId += plane == PLANE_BACK ? SPR_MAGIC_CARPET_PENDULUM_NE : + SPR_MAGIC_CARPET_PENDULUM_SW; + } else { + imageId += plane == PLANE_BACK ? SPR_MAGIC_CARPET_PENDULUM_NW : + SPR_MAGIC_CARPET_PENDULUM_SE; + } + imageId |= gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y, bbOffset.z, get_current_rotation()); } static void paint_magic_carpet_vehicle(rct_ride *ride, uint8 direction, uint32 swingImageId, - rct_xyz16 offset, rct_xyz16 bbOffset, rct_xyz16 bbSize) + rct_xyz16 offset, rct_xyz16 bbOffset, rct_xyz16 bbSize) { - rct_ride_entry *rideEntry = get_ride_entry_by_ride(ride); - uint32 vehicleImageId = rideEntry->vehicles[0].base_image_id + direction; + rct_ride_entry *rideEntry = get_ride_entry_by_ride(ride); + uint32 vehicleImageId = rideEntry->vehicles[0].base_image_id + direction; - // Vehicle - uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; - if (imageColourFlags == 0x20000000) { - imageColourFlags = 0xA0000000 | - (ride->vehicle_colours[0].trim_colour << 24) | - (ride->vehicle_colours[0].body_colour << 19); - } + // Vehicle + uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; + if (imageColourFlags == 0x20000000) { + imageColourFlags = 0xA0000000 | + (ride->vehicle_colours[0].trim_colour << 24) | + (ride->vehicle_colours[0].body_colour << 19); + } - sint8 directionalOffset = MagicCarpetOscillationXY[swingImageId]; - switch (direction) { - case 0: offset.x -= directionalOffset; break; - case 1: offset.y += directionalOffset; break; - case 2: offset.x += directionalOffset; break; - case 3: offset.y -= directionalOffset; break; - } - offset.z += MagicCarpetOscillationZ[swingImageId]; + sint8 directionalOffset = MagicCarpetOscillationXY[swingImageId]; + switch (direction) { + case 0: offset.x -= directionalOffset; break; + case 1: offset.y += directionalOffset; break; + case 2: offset.x += directionalOffset; break; + case 3: offset.y -= directionalOffset; break; + } + offset.z += MagicCarpetOscillationZ[swingImageId]; - sub_98199C(vehicleImageId | imageColourFlags, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y, bbOffset.z, get_current_rotation()); + sub_98199C(vehicleImageId | imageColourFlags, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y, bbOffset.z, get_current_rotation()); - // Riders - rct_drawpixelinfo *dpi = unk_140E9A8; - if (dpi->zoom_level <= 1 && (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) { - rct_vehicle *vehicle = get_first_vehicle(ride); - if (vehicle != NULL) { - uint32 baseImageId = 0xA0000000 | (vehicleImageId + 4); - for (uint8 peepIndex = 0; peepIndex < vehicle->num_peeps; peepIndex += 2) { - uint32 imageId = baseImageId + (peepIndex * 2); - imageId |= (vehicle->peep_tshirt_colours[peepIndex + 0] << 19); - imageId |= (vehicle->peep_tshirt_colours[peepIndex + 1] << 24); - sub_98199C(imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y, bbOffset.z, get_current_rotation()); - } - } - } + // Riders + rct_drawpixelinfo *dpi = unk_140E9A8; + if (dpi->zoom_level <= 1 && (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) { + rct_vehicle *vehicle = get_first_vehicle(ride); + if (vehicle != NULL) { + uint32 baseImageId = 0xA0000000 | (vehicleImageId + 4); + for (uint8 peepIndex = 0; peepIndex < vehicle->num_peeps; peepIndex += 2) { + uint32 imageId = baseImageId + (peepIndex * 2); + imageId |= (vehicle->peep_tshirt_colours[peepIndex + 0] << 19); + imageId |= (vehicle->peep_tshirt_colours[peepIndex + 1] << 24); + sub_98199C(imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y, bbOffset.z, get_current_rotation()); + } + } + } } /** rct2: 0x00899104 */ static void paint_magic_carpet_structure(rct_ride *ride, uint8 direction, sint8 axisOffset, uint16 height) { - rct_map_element * savedMapElement = g_currently_drawn_item; - rct_vehicle *vehicle = get_first_vehicle(ride); + rct_map_element * savedMapElement = g_currently_drawn_item; + rct_vehicle *vehicle = get_first_vehicle(ride); - uint32 swingImageId = 0; - if (vehicle != NULL) { - swingImageId = vehicle->vehicle_sprite_type; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - g_currently_drawn_item = vehicle; - } + uint32 swingImageId = 0; + if (vehicle != NULL) { + swingImageId = vehicle->vehicle_sprite_type; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + g_currently_drawn_item = vehicle; + } - bound_box bb = MagicCarpetBounds[direction]; - rct_xyz16 offset, bbOffset, bbSize; - offset.x = (direction & 1) ? 0 : axisOffset; - offset.y = (direction & 1) ? axisOffset : 0; - offset.z = height + 7; - bbOffset.x = bb.x; - bbOffset.y = bb.y; - bbOffset.z = height + 7; - bbSize.x = bb.width; - bbSize.y = bb.height; - bbSize.z = 127; + bound_box bb = MagicCarpetBounds[direction]; + rct_xyz16 offset, bbOffset, bbSize; + offset.x = (direction & 1) ? 0 : axisOffset; + offset.y = (direction & 1) ? axisOffset : 0; + offset.z = height + 7; + bbOffset.x = bb.x; + bbOffset.y = bb.y; + bbOffset.z = height + 7; + bbSize.x = bb.width; + bbSize.y = bb.height; + bbSize.z = 127; - paint_magic_carpet_frame(PLANE_BACK, direction, offset, bbOffset, bbSize); - paint_magic_carpet_pendulum(PLANE_BACK, swingImageId, direction, offset, bbOffset, bbSize); - paint_magic_carpet_vehicle(ride, direction, swingImageId, offset, bbOffset, bbSize); - paint_magic_carpet_pendulum(PLANE_FRONT, swingImageId, direction, offset, bbOffset, bbSize); - paint_magic_carpet_frame(PLANE_FRONT, direction, offset, bbOffset, bbSize); + paint_magic_carpet_frame(PLANE_BACK, direction, offset, bbOffset, bbSize); + paint_magic_carpet_pendulum(PLANE_BACK, swingImageId, direction, offset, bbOffset, bbSize); + paint_magic_carpet_vehicle(ride, direction, swingImageId, offset, bbOffset, bbSize); + paint_magic_carpet_pendulum(PLANE_FRONT, swingImageId, direction, offset, bbOffset, bbSize); + paint_magic_carpet_frame(PLANE_FRONT, direction, offset, bbOffset, bbSize); - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; - g_currently_drawn_item = savedMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = savedMapElement; } /** rct2: 0x00898514 */ static void paint_magic_carpet(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint8 relativeTrackSequence = track_map_1x4[direction][trackSequence]; + uint8 relativeTrackSequence = track_map_1x4[direction][trackSequence]; - // The end tiles do not have a platform - switch (relativeTrackSequence) { - case 0: - case 2: - if (direction & 1) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + // The end tiles do not have a platform + switch (relativeTrackSequence) { + case 0: + case 2: + if (direction & 1) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - uint32 imageId = SPR_STATION_BASE_D | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); - break; - } + uint32 imageId = SPR_STATION_BASE_D | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); + break; + } - rct_ride *ride = get_ride(rideIndex); - switch (relativeTrackSequence) { - case 3: paint_magic_carpet_structure(ride, direction, -48, height); break; - case 0: paint_magic_carpet_structure(ride, direction, -16, height); break; - case 2: paint_magic_carpet_structure(ride, direction, 16, height); break; - case 1: paint_magic_carpet_structure(ride, direction, 48, height); break; - } + rct_ride *ride = get_ride(rideIndex); + switch (relativeTrackSequence) { + case 3: paint_magic_carpet_structure(ride, direction, -48, height); break; + case 0: paint_magic_carpet_structure(ride, direction, -16, height); break; + case 2: paint_magic_carpet_structure(ride, direction, 16, height); break; + case 1: paint_magic_carpet_structure(ride, direction, 48, height); break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 176, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 176, 0x20); } /** @@ -227,8 +227,8 @@ static void paint_magic_carpet(uint8 rideIndex, uint8 trackSequence, uint8 direc */ TRACK_PAINT_FUNCTION get_track_paint_function_magic_carpet(sint32 trackType, sint32 direction) { - switch (trackType) { - case FLAT_TRACK_ELEM_1_X_4_A: return paint_magic_carpet; - } - return NULL; + switch (trackType) { + case FLAT_TRACK_ELEM_1_X_4_A: return paint_magic_carpet; + } + return NULL; } diff --git a/src/openrct2/ride/thrill/motion_simulator.c b/src/openrct2/ride/thrill/motion_simulator.c index 31f0afa223..0e3b846b8a 100644 --- a/src/openrct2/ride/thrill/motion_simulator.c +++ b/src/openrct2/ride/thrill/motion_simulator.c @@ -21,14 +21,14 @@ #include "../track.h" enum { - SPR_MOTION_SIMULATOR_STAIRS_R0 = 22154, - SPR_MOTION_SIMULATOR_STAIRS_R1 = 22155, - SPR_MOTION_SIMULATOR_STAIRS_R2 = 22156, - SPR_MOTION_SIMULATOR_STAIRS_R3 = 22157, - SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 = 22158, - SPR_MOTION_SIMULATOR_STAIRS_RAIL_R1 = 22159, - SPR_MOTION_SIMULATOR_STAIRS_RAIL_R2 = 22160, - SPR_MOTION_SIMULATOR_STAIRS_RAIL_R3 = 22161, + SPR_MOTION_SIMULATOR_STAIRS_R0 = 22154, + SPR_MOTION_SIMULATOR_STAIRS_R1 = 22155, + SPR_MOTION_SIMULATOR_STAIRS_R2 = 22156, + SPR_MOTION_SIMULATOR_STAIRS_R3 = 22157, + SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 = 22158, + SPR_MOTION_SIMULATOR_STAIRS_RAIL_R1 = 22159, + SPR_MOTION_SIMULATOR_STAIRS_RAIL_R2 = 22160, + SPR_MOTION_SIMULATOR_STAIRS_RAIL_R3 = 22161, }; /** @@ -37,113 +37,113 @@ enum { */ static void paint_motionsimulator_vehicle(sint8 offsetX, sint8 offsetY, uint8 direction, sint32 height, rct_map_element* mapElement) { - rct_ride *ride = get_ride(mapElement->properties.track.ride_index); - rct_ride_entry *rideEntry = get_ride_entry_by_ride(ride); + rct_ride *ride = get_ride(mapElement->properties.track.ride_index); + rct_ride_entry *rideEntry = get_ride_entry_by_ride(ride); - rct_map_element * savedMapElement = g_currently_drawn_item; + rct_map_element * savedMapElement = g_currently_drawn_item; - rct_vehicle *vehicle = NULL; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) { - uint16 spriteIndex = ride->vehicles[0]; - if (spriteIndex != SPRITE_INDEX_NULL) { - vehicle = GET_VEHICLE(spriteIndex); - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - g_currently_drawn_item = vehicle; - } - } + rct_vehicle *vehicle = NULL; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) { + uint16 spriteIndex = ride->vehicles[0]; + if (spriteIndex != SPRITE_INDEX_NULL) { + vehicle = GET_VEHICLE(spriteIndex); + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + g_currently_drawn_item = vehicle; + } + } - uint32 simulatorImageId = rideEntry->vehicles[0].base_image_id + direction; - if (vehicle != NULL) { - if (vehicle->restraints_position >= 64) { - simulatorImageId += (vehicle->restraints_position >> 6) << 2; - } else { - simulatorImageId += vehicle->vehicle_sprite_type * 4; - } - } + uint32 simulatorImageId = rideEntry->vehicles[0].base_image_id + direction; + if (vehicle != NULL) { + if (vehicle->restraints_position >= 64) { + simulatorImageId += (vehicle->restraints_position >> 6) << 2; + } else { + simulatorImageId += vehicle->vehicle_sprite_type * 4; + } + } - uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; - if (imageColourFlags == 0x20000000) { - imageColourFlags = IMAGE_TYPE_REMAP_2_PLUS | IMAGE_TYPE_REMAP; - imageColourFlags |= ride->vehicle_colours[0].body_colour << 19; - imageColourFlags |= ride->vehicle_colours[0].trim_colour << 24; - } - simulatorImageId |= imageColourFlags; + uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; + if (imageColourFlags == 0x20000000) { + imageColourFlags = IMAGE_TYPE_REMAP_2_PLUS | IMAGE_TYPE_REMAP; + imageColourFlags |= ride->vehicle_colours[0].body_colour << 19; + imageColourFlags |= ride->vehicle_colours[0].trim_colour << 24; + } + simulatorImageId |= imageColourFlags; - sint16 offsetZ = height + 2; - uint32 imageId; - uint8 currentRotation = get_current_rotation(); - switch (direction) { - case 0: - // Simulator - imageId = simulatorImageId; - sub_98197C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation); - // Stairs - imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | gTrackColours[SCHEME_MISC]; - sub_98199C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation); - // Stairs (rail) - imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY + 32, offsetZ, currentRotation); - break; - case 1: - // Simulator - imageId = simulatorImageId; - sub_98197C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation); - // Stairs - imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | gTrackColours[SCHEME_MISC]; - sub_98199C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation); - // Stairs (rail) - imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX + 34, offsetY, offsetZ, currentRotation); - break; - case 2: - // Stairs (rail) - imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY - 10, offsetZ, currentRotation); - // Stairs - imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ, currentRotation); - // Simulator - imageId = simulatorImageId; - sub_98199C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ, currentRotation); - break; - case 3: - // Stairs (rail) - imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX - 10, offsetY, offsetZ, currentRotation); - // Stairs - imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ, currentRotation); - // Simulator - imageId = simulatorImageId; - sub_98199C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ, currentRotation); - break; - } + sint16 offsetZ = height + 2; + uint32 imageId; + uint8 currentRotation = get_current_rotation(); + switch (direction) { + case 0: + // Simulator + imageId = simulatorImageId; + sub_98197C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation); + // Stairs + imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | gTrackColours[SCHEME_MISC]; + sub_98199C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation); + // Stairs (rail) + imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY + 32, offsetZ, currentRotation); + break; + case 1: + // Simulator + imageId = simulatorImageId; + sub_98197C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation); + // Stairs + imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | gTrackColours[SCHEME_MISC]; + sub_98199C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation); + // Stairs (rail) + imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX + 34, offsetY, offsetZ, currentRotation); + break; + case 2: + // Stairs (rail) + imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY - 10, offsetZ, currentRotation); + // Stairs + imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ, currentRotation); + // Simulator + imageId = simulatorImageId; + sub_98199C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ, currentRotation); + break; + case 3: + // Stairs (rail) + imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX - 10, offsetY, offsetZ, currentRotation); + // Stairs + imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ, currentRotation); + // Simulator + imageId = simulatorImageId; + sub_98199C(imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ, currentRotation); + break; + } - g_currently_drawn_item = savedMapElement; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = savedMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; } /** rct2: 0x008A85C4 */ static void paint_motionsimulator(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_2x2[direction][trackSequence]; + trackSequence = track_map_2x2[direction][trackSequence]; - sint32 edges = edges_2x2[trackSequence]; - rct_ride *ride = get_ride(rideIndex); - rct_xy16 position = { gPaintMapPosition.x, gPaintMapPosition.y }; + sint32 edges = edges_2x2[trackSequence]; + rct_ride *ride = get_ride(rideIndex); + rct_xy16 position = { gPaintMapPosition.x, gPaintMapPosition.y }; - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_SUPPORTS], height, fenceSpritesRope, get_current_rotation()); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_SUPPORTS], height, fenceSpritesRope, get_current_rotation()); - switch (trackSequence) { - case 1: paint_motionsimulator_vehicle( 16, -16, direction, height, mapElement); break; - case 2: paint_motionsimulator_vehicle(-16, 16, direction, height, mapElement); break; - case 3: paint_motionsimulator_vehicle(-16, -16, direction, height, mapElement); break; - } + switch (trackSequence) { + case 1: paint_motionsimulator_vehicle( 16, -16, direction, height, mapElement); break; + case 2: paint_motionsimulator_vehicle(-16, 16, direction, height, mapElement); break; + case 3: paint_motionsimulator_vehicle(-16, -16, direction, height, mapElement); break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 128, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 128, 0x20); } /** @@ -152,8 +152,8 @@ static void paint_motionsimulator(uint8 rideIndex, uint8 trackSequence, uint8 di */ TRACK_PAINT_FUNCTION get_track_paint_function_motionsimulator(sint32 trackType, sint32 direction) { - switch (trackType) { - case FLAT_TRACK_ELEM_2_X_2: return paint_motionsimulator; - } - return NULL; + switch (trackType) { + case FLAT_TRACK_ELEM_2_X_2: return paint_motionsimulator; + } + return NULL; } diff --git a/src/openrct2/ride/thrill/pirate_ship.c b/src/openrct2/ride/thrill/pirate_ship.c index a9b02079b9..7b24d4b9c3 100644 --- a/src/openrct2/ride/thrill/pirate_ship.c +++ b/src/openrct2/ride/thrill/pirate_ship.c @@ -22,239 +22,239 @@ // 1 2 0 3 4 static const uint8 track_map_1x5[][5] = { - {0, 1, 2, 3, 4}, - {0, 4, 3, 2, 1}, - {0, 4, 3, 2, 1}, - {0, 1, 2, 3, 4}, + {0, 1, 2, 3, 4}, + {0, 4, 3, 2, 1}, + {0, 4, 3, 2, 1}, + {0, 1, 2, 3, 4}, }; typedef struct pirate_ship_bound_box { - sint16 length_x; - sint16 length_y; - sint16 offset_x; - sint16 offset_y; + sint16 length_x; + sint16 length_y; + sint16 offset_x; + sint16 offset_y; } pirate_ship_bound_box; /** rct2: 0x008A83B0 */ static const uint32 pirate_ship_base_sprite_offset[] = { - 0, - 9, - 0, - 9 + 0, + 9, + 0, + 9 }; /** rct2: 0x008A83C0 */ static const pirate_ship_bound_box pirate_ship_data[] = { - {31, 16, 1, 8}, - {16, 31, 8, 1}, - {31, 16, 1, 8}, - {16, 31, 8, 1}, + {31, 16, 1, 8}, + {16, 31, 8, 1}, + {31, 16, 1, 8}, + {16, 31, 8, 1}, }; enum { - SPR_PIRATE_SHIP_FRAME_SW_NE = 21994, - SPR_PIRATE_SHIP_FRAME_FRONT_SW_NE = 21995, - SPR_PIRATE_SHIP_FRAME_NW_SE = 21996, - SPR_PIRATE_SHIP_FRAME_FRONT_NW_SE = 21997, + SPR_PIRATE_SHIP_FRAME_SW_NE = 21994, + SPR_PIRATE_SHIP_FRAME_FRONT_SW_NE = 21995, + SPR_PIRATE_SHIP_FRAME_NW_SE = 21996, + SPR_PIRATE_SHIP_FRAME_FRONT_NW_SE = 21997, }; static const uint32 pirate_ship_frame_sprites[][2] = { - {SPR_PIRATE_SHIP_FRAME_SW_NE, SPR_PIRATE_SHIP_FRAME_FRONT_SW_NE}, - {SPR_PIRATE_SHIP_FRAME_NW_SE, SPR_PIRATE_SHIP_FRAME_FRONT_NW_SE}, + {SPR_PIRATE_SHIP_FRAME_SW_NE, SPR_PIRATE_SHIP_FRAME_FRONT_SW_NE}, + {SPR_PIRATE_SHIP_FRAME_NW_SE, SPR_PIRATE_SHIP_FRAME_FRONT_NW_SE}, }; /** rct2: 0x4AF254 */ static void paint_pirate_ship_structure(rct_ride * ride, uint8 direction, sint8 axisOffset, uint16 height) { - uint32 imageId, baseImageId; + uint32 imageId, baseImageId; - rct_map_element * savedMapElement = g_currently_drawn_item; + rct_map_element * savedMapElement = g_currently_drawn_item; - rct_ride_entry * rideType = get_ride_entry(ride->subtype); - rct_vehicle * vehicle = NULL; + rct_ride_entry * rideType = get_ride_entry(ride->subtype); + rct_vehicle * vehicle = NULL; - sint8 xOffset = !(direction & 1) ? axisOffset : 0; - sint8 yOffset = (direction & 1) ? axisOffset : 0; + sint8 xOffset = !(direction & 1) ? axisOffset : 0; + sint8 yOffset = (direction & 1) ? axisOffset : 0; - height += 7; + height += 7; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && ride->vehicles[0] != SPRITE_INDEX_NULL) { - vehicle = GET_VEHICLE(ride->vehicles[0]); + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && ride->vehicles[0] != SPRITE_INDEX_NULL) { + vehicle = GET_VEHICLE(ride->vehicles[0]); - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - g_currently_drawn_item = vehicle; - } + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + g_currently_drawn_item = vehicle; + } - baseImageId = rideType->vehicles[0].base_image_id + pirate_ship_base_sprite_offset[direction]; - if (vehicle != NULL) { - sint32 rotation = (sint8) vehicle->vehicle_sprite_type; - if (rotation != 0) { - if (direction & 2) { - rotation = -rotation; - } - if (rotation < 0) { - rotation = -rotation + 9; - } + baseImageId = rideType->vehicles[0].base_image_id + pirate_ship_base_sprite_offset[direction]; + if (vehicle != NULL) { + sint32 rotation = (sint8) vehicle->vehicle_sprite_type; + if (rotation != 0) { + if (direction & 2) { + rotation = -rotation; + } + if (rotation < 0) { + rotation = -rotation + 9; + } - baseImageId += rotation * 18; - } - } + baseImageId += rotation * 18; + } + } - uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; - if (imageColourFlags == 0x20000000) { - imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; - } + uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; + if (imageColourFlags == 0x20000000) { + imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; + } - pirate_ship_bound_box bounds = pirate_ship_data[direction]; + pirate_ship_bound_box bounds = pirate_ship_data[direction]; - imageId = pirate_ship_frame_sprites[(direction & 1)][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, height, get_current_rotation()); + imageId = pirate_ship_frame_sprites[(direction & 1)][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, height, get_current_rotation()); - imageId = baseImageId | imageColourFlags; - sub_98199C(imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, height, get_current_rotation()); + imageId = baseImageId | imageColourFlags; + sub_98199C(imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, height, get_current_rotation()); - rct_drawpixelinfo * dpi = unk_140E9A8; + rct_drawpixelinfo * dpi = unk_140E9A8; - if (dpi->zoom_level <= 1 - && ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && vehicle != NULL) { - sint32 peep = 0; - sint32 offset = 1; - while (peep < 16) { - if (vehicle->num_peeps <= peep) { - break; - } + if (dpi->zoom_level <= 1 + && ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && vehicle != NULL) { + sint32 peep = 0; + sint32 offset = 1; + while (peep < 16) { + if (vehicle->num_peeps <= peep) { + break; + } - sint32 frameNum = offset + (direction >> 1); - imageColourFlags = vehicle->peep_tshirt_colours[peep] << 19 | vehicle->peep_tshirt_colours[peep + 1] << 24 | 0xA0000000; - imageId = (baseImageId + frameNum) | imageColourFlags; - sub_98199C(imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, height, get_current_rotation()); + sint32 frameNum = offset + (direction >> 1); + imageColourFlags = vehicle->peep_tshirt_colours[peep] << 19 | vehicle->peep_tshirt_colours[peep + 1] << 24 | 0xA0000000; + imageId = (baseImageId + frameNum) | imageColourFlags; + sub_98199C(imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, height, get_current_rotation()); - peep += 2; + peep += 2; - if (vehicle->num_peeps <= peep) { - break; - } + if (vehicle->num_peeps <= peep) { + break; + } - frameNum = offset + ((direction >> 1) ^ 1); - imageColourFlags = vehicle->peep_tshirt_colours[peep] << 19 | vehicle->peep_tshirt_colours[peep + 1] << 24 | 0xA0000000; - imageId = (baseImageId + frameNum) | imageColourFlags; - sub_98199C(imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, height, get_current_rotation()); + frameNum = offset + ((direction >> 1) ^ 1); + imageColourFlags = vehicle->peep_tshirt_colours[peep] << 19 | vehicle->peep_tshirt_colours[peep + 1] << 24 | 0xA0000000; + imageId = (baseImageId + frameNum) | imageColourFlags; + sub_98199C(imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, height, get_current_rotation()); - peep += 2; - offset += 2; - } - } + peep += 2; + offset += 2; + } + } - imageId = pirate_ship_frame_sprites[(direction & 1)][1] | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, height, get_current_rotation()); + imageId = pirate_ship_frame_sprites[(direction & 1)][1] | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, height, get_current_rotation()); - g_currently_drawn_item = savedMapElement; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = savedMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; } /** rct2: 0x008A85C4 */ static void paint_pirate_ship(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint8 relativeTrackSequence = track_map_1x5[direction][trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + uint8 relativeTrackSequence = track_map_1x5[direction][trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId; - bool hasFence; + uint32 imageId; + bool hasFence; - if (relativeTrackSequence == 1 || relativeTrackSequence == 4) { - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - } else if (direction & 1) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (relativeTrackSequence == 1 || relativeTrackSequence == 4) { + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + } else if (direction & 1) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - imageId = SPR_STATION_BASE_A_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); - } else { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + imageId = SPR_STATION_BASE_A_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); + } else { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - imageId = SPR_STATION_BASE_A_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); - } + imageId = SPR_STATION_BASE_A_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - if (direction & 1) { - if (relativeTrackSequence != 1 && relativeTrackSequence != 4) { - hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); - if (relativeTrackSequence == 2) { - imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE : SPR_STATION_PLATFORM_BEGIN_NW_SE) | gTrackColours[SCHEME_TRACK]; - } else { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) | gTrackColours[SCHEME_TRACK]; - } - sub_98199C(imageId, 0, 0, 8, 32, 1, height + 9, 0, -2, height + 9, get_current_rotation()); + if (direction & 1) { + if (relativeTrackSequence != 1 && relativeTrackSequence != 4) { + hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); + if (relativeTrackSequence == 2) { + imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE : SPR_STATION_PLATFORM_BEGIN_NW_SE) | gTrackColours[SCHEME_TRACK]; + } else { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) | gTrackColours[SCHEME_TRACK]; + } + sub_98199C(imageId, 0, 0, 8, 32, 1, height + 9, 0, -2, height + 9, get_current_rotation()); - imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_NW_SE : SPR_STATION_PLATFORM_NW_SE) | gTrackColours[SCHEME_TRACK]; - sub_98196C(imageId, 24, 0, 8, 32, 1, height + 9, get_current_rotation()); + imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_NW_SE : SPR_STATION_PLATFORM_NW_SE) | gTrackColours[SCHEME_TRACK]; + sub_98196C(imageId, 24, 0, 8, 32, 1, height + 9, get_current_rotation()); - hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); - if (relativeTrackSequence == 3) { - if (hasFence) { - imageId = SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98196C(imageId, 31, 0, 1, 32, 7, height + 11, get_current_rotation()); - } else { - imageId = SPR_STATION_FENCE_SMALL_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98196C(imageId, 23, 31, 8, 1, 7, height + 11, get_current_rotation()); - } + hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); + if (relativeTrackSequence == 3) { + if (hasFence) { + imageId = SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98196C(imageId, 31, 0, 1, 32, 7, height + 11, get_current_rotation()); + } else { + imageId = SPR_STATION_FENCE_SMALL_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98196C(imageId, 23, 31, 8, 1, 7, height + 11, get_current_rotation()); + } - imageId = SPR_STATION_FENCE_SMALL_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98196C(imageId, 0, 31, 8, 1, 7, height + 11, get_current_rotation()); - } else if (hasFence) { - imageId = SPR_STATION_FENCE_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98196C(imageId, 31, 0, 1, 32, 7, height + 11, get_current_rotation()); - } - } - } else { - if (relativeTrackSequence != 1 && relativeTrackSequence != 4) { - hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); - if (relativeTrackSequence == 2) { - imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE : SPR_STATION_PLATFORM_BEGIN_SW_NE) | gTrackColours[SCHEME_TRACK]; - } else { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) | gTrackColours[SCHEME_TRACK]; - } - sub_98199C(imageId, 0, 0, 32, 8, 1, height + 9, -2, 0, height + 9, get_current_rotation()); + imageId = SPR_STATION_FENCE_SMALL_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98196C(imageId, 0, 31, 8, 1, 7, height + 11, get_current_rotation()); + } else if (hasFence) { + imageId = SPR_STATION_FENCE_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98196C(imageId, 31, 0, 1, 32, 7, height + 11, get_current_rotation()); + } + } + } else { + if (relativeTrackSequence != 1 && relativeTrackSequence != 4) { + hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); + if (relativeTrackSequence == 2) { + imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE : SPR_STATION_PLATFORM_BEGIN_SW_NE) | gTrackColours[SCHEME_TRACK]; + } else { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) | gTrackColours[SCHEME_TRACK]; + } + sub_98199C(imageId, 0, 0, 32, 8, 1, height + 9, -2, 0, height + 9, get_current_rotation()); - imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_SW_NE : SPR_STATION_PLATFORM_SW_NE) | gTrackColours[SCHEME_TRACK]; - sub_98196C(imageId, 0, 24, 32, 8, 1, height + 9, get_current_rotation()); + imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_SW_NE : SPR_STATION_PLATFORM_SW_NE) | gTrackColours[SCHEME_TRACK]; + sub_98196C(imageId, 0, 24, 32, 8, 1, height + 9, get_current_rotation()); - hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); - if (relativeTrackSequence == 3) { - if (hasFence) { - imageId = SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98196C(imageId, 0, 31, 32, 1, 7, height + 11, get_current_rotation()); - } else { - imageId = SPR_STATION_FENCE_SMALL_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98196C(imageId, 31, 23, 1, 8, 7, height + 11, get_current_rotation()); - } + hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); + if (relativeTrackSequence == 3) { + if (hasFence) { + imageId = SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98196C(imageId, 0, 31, 32, 1, 7, height + 11, get_current_rotation()); + } else { + imageId = SPR_STATION_FENCE_SMALL_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98196C(imageId, 31, 23, 1, 8, 7, height + 11, get_current_rotation()); + } - imageId = SPR_STATION_FENCE_SMALL_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98196C(imageId, 31, 0, 1, 8, 7, height + 11, get_current_rotation()); - } else if (hasFence) { - imageId = SPR_STATION_FENCE_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98196C(imageId, 0, 31, 32, 1, 7, height + 11, get_current_rotation()); - } - } - } + imageId = SPR_STATION_FENCE_SMALL_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98196C(imageId, 31, 0, 1, 8, 7, height + 11, get_current_rotation()); + } else if (hasFence) { + imageId = SPR_STATION_FENCE_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98196C(imageId, 0, 31, 32, 1, 7, height + 11, get_current_rotation()); + } + } + } - switch (relativeTrackSequence) { - case 1: paint_pirate_ship_structure(ride, direction, 64, height); break; - case 2: paint_pirate_ship_structure(ride, direction, 32, height); break; - case 0: paint_pirate_ship_structure(ride, direction, 0, height); break; - case 3: paint_pirate_ship_structure(ride, direction, -32, height); break; - case 4: paint_pirate_ship_structure(ride, direction, -64, height); break; - } + switch (relativeTrackSequence) { + case 1: paint_pirate_ship_structure(ride, direction, 64, height); break; + case 2: paint_pirate_ship_structure(ride, direction, 32, height); break; + case 0: paint_pirate_ship_structure(ride, direction, 0, height); break; + case 3: paint_pirate_ship_structure(ride, direction, -32, height); break; + case 4: paint_pirate_ship_structure(ride, direction, -64, height); break; + } - paint_util_set_general_support_height(height + 112, 0x20); + paint_util_set_general_support_height(height + 112, 0x20); } /** @@ -262,9 +262,9 @@ static void paint_pirate_ship(uint8 rideIndex, uint8 trackSequence, uint8 direct */ TRACK_PAINT_FUNCTION get_track_paint_function_pirate_ship(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_1_X_5) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_1_X_5) { + return NULL; + } - return paint_pirate_ship; + return paint_pirate_ship; } diff --git a/src/openrct2/ride/thrill/roto_drop.c b/src/openrct2/ride/thrill/roto_drop.c index 50cee1e154..bfe71240b3 100644 --- a/src/openrct2/ride/thrill/roto_drop.c +++ b/src/openrct2/ride/thrill/roto_drop.c @@ -24,12 +24,12 @@ enum { - SPR_ROTO_DROP_TOWER_SEGMENT = 14558, - SPR_ROTO_DROP_TOWER_SEGMENT_TOP = 14559, - SPR_ROTO_DROP_TOWER_BASE = 14560, - SPR_ROTO_DROP_TOWER_BASE_SEGMENT = 14561, - SPR_ROTO_DROP_TOWER_BASE_90_DEG = 14562, - SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG = 14563, + SPR_ROTO_DROP_TOWER_SEGMENT = 14558, + SPR_ROTO_DROP_TOWER_SEGMENT_TOP = 14559, + SPR_ROTO_DROP_TOWER_BASE = 14560, + SPR_ROTO_DROP_TOWER_BASE_SEGMENT = 14561, + SPR_ROTO_DROP_TOWER_BASE_90_DEG = 14562, + SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG = 14563, }; /** @@ -38,125 +38,125 @@ enum */ void vehicle_visual_roto_drop(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - sint32 image_id; - sint32 baseImage_id = (vehicleEntry->base_image_id + 4) + ((vehicle->var_C5 / 4) & 0x3); - if (vehicle->restraints_position >= 64) { - baseImage_id += 7; - baseImage_id += (vehicle->restraints_position / 64); - } + sint32 image_id; + sint32 baseImage_id = (vehicleEntry->base_image_id + 4) + ((vehicle->var_C5 / 4) & 0x3); + if (vehicle->restraints_position >= 64) { + baseImage_id += 7; + baseImage_id += (vehicle->restraints_position / 64); + } - const uint8 rotation = get_current_rotation(); - // Draw back: - image_id = baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0xA0000000; - sub_98197C(image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1, rotation); + const uint8 rotation = get_current_rotation(); + // Draw back: + image_id = baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0xA0000000; + sub_98197C(image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1, rotation); - // Draw front: - image_id = (baseImage_id + 4) | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0xA0000000; - sub_98197C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); + // Draw front: + image_id = (baseImage_id + 4) | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0xA0000000; + sub_98197C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); - uint8 riding_peep_sprites[64]; - memset(riding_peep_sprites, 0xFF, sizeof(riding_peep_sprites)); - for (sint32 i = 0; i < vehicle->num_peeps; i++) { - uint8 cl = (i & 3) * 16; - cl += (i & 0xFC); - cl += vehicle->var_C5 / 4; - cl += (imageDirection / 8) * 16; - cl &= 0x3F; - riding_peep_sprites[cl] = vehicle->peep_tshirt_colours[i]; - } + uint8 riding_peep_sprites[64]; + memset(riding_peep_sprites, 0xFF, sizeof(riding_peep_sprites)); + for (sint32 i = 0; i < vehicle->num_peeps; i++) { + uint8 cl = (i & 3) * 16; + cl += (i & 0xFC); + cl += vehicle->var_C5 / 4; + cl += (imageDirection / 8) * 16; + cl &= 0x3F; + riding_peep_sprites[cl] = vehicle->peep_tshirt_colours[i]; + } - // Draw riding peep sprites in back to front order: - for (sint32 j = 0; j <= 48; j++) { - sint32 i = (j % 2) ? (48 - (j / 2)) : (j / 2); - if (riding_peep_sprites[i] != 0xFF) { - baseImage_id = vehicleEntry->base_image_id + 20 + i; - if (vehicle->restraints_position >= 64) { - baseImage_id += 64; - baseImage_id += vehicle->restraints_position / 64; - } - image_id = baseImage_id | (riding_peep_sprites[i] << 19) | 0x20000000; - sub_98199C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); - } - }; + // Draw riding peep sprites in back to front order: + for (sint32 j = 0; j <= 48; j++) { + sint32 i = (j % 2) ? (48 - (j / 2)) : (j / 2); + if (riding_peep_sprites[i] != 0xFF) { + baseImage_id = vehicleEntry->base_image_id + 20 + i; + if (vehicle->restraints_position >= 64) { + baseImage_id += 64; + baseImage_id += vehicle->restraints_position / 64; + } + image_id = baseImage_id | (riding_peep_sprites[i] << 19) | 0x20000000; + sub_98199C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); + } + }; - assert(vehicleEntry->effect_visual == 1); - // Although called in original code, effect_visual (splash effects) are not used for many rides and does not make sense so it was taken out + assert(vehicleEntry->effect_visual == 1); + // Although called in original code, effect_visual (splash effects) are not used for many rides and does not make sense so it was taken out } /** rct2: 0x00886194 */ static void paint_roto_drop_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_3x3[direction][trackSequence]; + trackSequence = track_map_3x3[direction][trackSequence]; - sint32 edges = edges_3x3[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_3x3[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - uint32 imageId = SPR_FLOOR_METAL_B | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); + uint32 imageId = SPR_FLOOR_METAL_B | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, fenceSpritesMetalB, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, fenceSpritesMetalB, get_current_rotation()); - if (trackSequence == 0) { - imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_90_DEG : SPR_ROTO_DROP_TOWER_BASE) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3, get_current_rotation()); + if (trackSequence == 0) { + imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_90_DEG : SPR_ROTO_DROP_TOWER_BASE) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3, get_current_rotation()); - imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32, get_current_rotation()); + imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32, get_current_rotation()); - imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64, get_current_rotation()); + imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64, get_current_rotation()); - paint_util_set_vertical_tunnel(height + 96); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_vertical_tunnel(height + 96); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); #ifdef __TESTPAINT__ - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); #else - paint_util_set_general_support_height(height + 96, 0x20); + paint_util_set_general_support_height(height + 96, 0x20); #endif - return; - } + return; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 1: blockedSegments = SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; - case 3: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; - case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8; break; - case 5: blockedSegments = SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; - case 6: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; - case 7: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 8: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; - } - paint_util_set_segment_support_height(blockedSegments, 0xFFFF, 0); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~blockedSegments, height + 2, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 1: blockedSegments = SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; + case 3: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; + case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8; break; + case 5: blockedSegments = SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; + case 6: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; + case 7: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 8: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; + } + paint_util_set_segment_support_height(blockedSegments, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~blockedSegments, height + 2, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008861A4 */ static void paint_roto_drop_tower_section(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence == 1) { - return; - } + if (trackSequence == 1) { + return; + } - uint32 imageId = SPR_ROTO_DROP_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); + uint32 imageId = SPR_ROTO_DROP_TOWER_SEGMENT | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); - rct_map_element * nextMapElement = mapElement + 1; - if (map_element_is_last_for_tile(mapElement) || mapElement->clearance_height != nextMapElement->base_height) { - imageId = SPR_ROTO_DROP_TOWER_SEGMENT_TOP | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); - } + rct_map_element * nextMapElement = mapElement + 1; + if (map_element_is_last_for_tile(mapElement) || mapElement->clearance_height != nextMapElement->base_height) { + imageId = SPR_ROTO_DROP_TOWER_SEGMENT_TOP | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_vertical_tunnel(height + 32); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_vertical_tunnel(height + 32); + paint_util_set_general_support_height(height + 32, 0x20); } /** @@ -164,13 +164,13 @@ static void paint_roto_drop_tower_section(uint8 rideIndex, uint8 trackSequence, */ TRACK_PAINT_FUNCTION get_track_paint_function_roto_drop(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_TOWER_BASE: - return paint_roto_drop_base; + switch (trackType) { + case TRACK_ELEM_TOWER_BASE: + return paint_roto_drop_base; - case TRACK_ELEM_TOWER_SECTION: - return paint_roto_drop_tower_section; - } + case TRACK_ELEM_TOWER_SECTION: + return paint_roto_drop_tower_section; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/thrill/swinging_inverter_ship.c b/src/openrct2/ride/thrill/swinging_inverter_ship.c index de62732754..f7d3e2e4d7 100644 --- a/src/openrct2/ride/thrill/swinging_inverter_ship.c +++ b/src/openrct2/ride/thrill/swinging_inverter_ship.c @@ -22,150 +22,150 @@ /** rct2: 0x01428010 */ static const uint32 swinging_inverter_ship_base_sprite_offset[] = { - 0,16,0,16 + 0,16,0,16 }; /** rct2: 0x01428020 */ static const uint32 swinging_inverter_ship_animating_base_sprite_offset[] = { - 32,33,32,33 + 32,33,32,33 }; typedef struct swinging_inverter_ship_bound_box { - sint16 length_x; - sint16 length_y; - sint16 offset_x; - sint16 offset_y; + sint16 length_x; + sint16 length_y; + sint16 offset_x; + sint16 offset_y; } swinging_inverter_ship_bound_box; /** rct2: 0x01428020 */ static const swinging_inverter_ship_bound_box swinging_inverter_ship_bounds[] = { - {32, 16, 0, 8}, - {16, 32, 8, 0}, - {32, 16, 0, 8}, - {16, 32, 8, 0} + {32, 16, 0, 8}, + {16, 32, 8, 0}, + {32, 16, 0, 8}, + {16, 32, 8, 0} }; enum { - SPR_SWINGING_INVERTER_SHIP_FRAME_0 = 21998, - SPR_SWINGING_INVERTER_SHIP_FRAME_1 = 21999, - SPR_SWINGING_INVERTER_SHIP_FRAME_2 = 22000, - SPR_SWINGING_INVERTER_SHIP_FRAME_3 = 22001, + SPR_SWINGING_INVERTER_SHIP_FRAME_0 = 21998, + SPR_SWINGING_INVERTER_SHIP_FRAME_1 = 21999, + SPR_SWINGING_INVERTER_SHIP_FRAME_2 = 22000, + SPR_SWINGING_INVERTER_SHIP_FRAME_3 = 22001, }; static const uint32 swinging_inverter_ship_frame_sprites[] = { - SPR_SWINGING_INVERTER_SHIP_FRAME_0, - SPR_SWINGING_INVERTER_SHIP_FRAME_1, - SPR_SWINGING_INVERTER_SHIP_FRAME_2, - SPR_SWINGING_INVERTER_SHIP_FRAME_3 + SPR_SWINGING_INVERTER_SHIP_FRAME_0, + SPR_SWINGING_INVERTER_SHIP_FRAME_1, + SPR_SWINGING_INVERTER_SHIP_FRAME_2, + SPR_SWINGING_INVERTER_SHIP_FRAME_3 }; static void paint_swinging_inverter_ship_structure(rct_ride * ride, uint8 direction, sint8 axisOffset, uint16 height) { - rct_map_element * savedMapElement = g_currently_drawn_item; + rct_map_element * savedMapElement = g_currently_drawn_item; - rct_ride_entry * rideType = get_ride_entry(ride->subtype); - rct_vehicle * vehicle = NULL; + rct_ride_entry * rideType = get_ride_entry(ride->subtype); + rct_vehicle * vehicle = NULL; - sint8 xOffset = !(direction & 1) ? axisOffset : 0; - sint8 yOffset = (direction & 1) ? axisOffset : 0; + sint8 xOffset = !(direction & 1) ? axisOffset : 0; + sint8 yOffset = (direction & 1) ? axisOffset : 0; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && ride->vehicles[0] != SPRITE_INDEX_NULL) { - vehicle = GET_VEHICLE(ride->vehicles[0]); + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && ride->vehicles[0] != SPRITE_INDEX_NULL) { + vehicle = GET_VEHICLE(ride->vehicles[0]); - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - g_currently_drawn_item = vehicle; - } + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + g_currently_drawn_item = vehicle; + } - uint32 vehicleImageId = rideType->vehicles[0].base_image_id + swinging_inverter_ship_base_sprite_offset[direction]; - if (vehicle != NULL) { - sint32 rotation = (sint8) vehicle->vehicle_sprite_type; - if (rotation != 0) { - vehicleImageId = rideType->vehicles[0].base_image_id + swinging_inverter_ship_animating_base_sprite_offset[direction]; + uint32 vehicleImageId = rideType->vehicles[0].base_image_id + swinging_inverter_ship_base_sprite_offset[direction]; + if (vehicle != NULL) { + sint32 rotation = (sint8) vehicle->vehicle_sprite_type; + if (rotation != 0) { + vehicleImageId = rideType->vehicles[0].base_image_id + swinging_inverter_ship_animating_base_sprite_offset[direction]; - if (direction & 2) { - rotation = -rotation; - } - if (rotation < 0) { - rotation += 72; - } + if (direction & 2) { + rotation = -rotation; + } + if (rotation < 0) { + rotation += 72; + } - vehicleImageId += (rotation - 1) << 1; - } - } + vehicleImageId += (rotation - 1) << 1; + } + } - uint32 colourFlags = gTrackColours[SCHEME_MISC]; - if (colourFlags == 0x20000000) { - colourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; - } + uint32 colourFlags = gTrackColours[SCHEME_MISC]; + if (colourFlags == 0x20000000) { + colourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; + } - swinging_inverter_ship_bound_box boundBox = swinging_inverter_ship_bounds[direction]; - vehicleImageId = vehicleImageId | colourFlags; - uint32 frameImageId = swinging_inverter_ship_frame_sprites[direction] | gTrackColours[SCHEME_TRACK]; + swinging_inverter_ship_bound_box boundBox = swinging_inverter_ship_bounds[direction]; + vehicleImageId = vehicleImageId | colourFlags; + uint32 frameImageId = swinging_inverter_ship_frame_sprites[direction] | gTrackColours[SCHEME_TRACK]; - if (direction & 2) { - sub_98197C(vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); - sub_98199C(frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); - } else { - sub_98197C(frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); - sub_98199C(vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); - } + if (direction & 2) { + sub_98197C(vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); + sub_98199C(frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); + } else { + sub_98197C(frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); + sub_98199C(vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation()); + } - g_currently_drawn_item = savedMapElement; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = savedMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; } /** rct2: 0x00760260 */ static void paint_swinging_inverter_ship(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint8 relativeTrackSequence = track_map_1x4[direction][trackSequence]; + uint8 relativeTrackSequence = track_map_1x4[direction][trackSequence]; - rct_ride * ride = get_ride(rideIndex); + rct_ride * ride = get_ride(rideIndex); - uint32 imageId; + uint32 imageId; - if (relativeTrackSequence != 1 && relativeTrackSequence != 3) { - if (direction & 1) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (relativeTrackSequence != 1 && relativeTrackSequence != 3) { + if (direction & 1) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - imageId = SPR_STATION_BASE_D | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); + imageId = SPR_STATION_BASE_D | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); - switch (direction) { - case 0: - imageId = SPR_STATION_PLATFORM_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98196C(imageId, 0, 24, 32, 8, 1, height + 9, get_current_rotation()); - break; - case 1: - imageId = SPR_STATION_PLATFORM_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98196C(imageId, 24, 0, 8, 32, 1, height + 9, get_current_rotation()); - break; - case 2: - imageId = SPR_STATION_PLATFORM_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 32, 8, 1, height + 9, -2, 0, height, get_current_rotation()); - break; - case 3: - imageId = SPR_STATION_PLATFORM_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 8, 32, 1, height + 9, 0, -2, height, get_current_rotation()); - break; - } - } + switch (direction) { + case 0: + imageId = SPR_STATION_PLATFORM_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98196C(imageId, 0, 24, 32, 8, 1, height + 9, get_current_rotation()); + break; + case 1: + imageId = SPR_STATION_PLATFORM_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98196C(imageId, 24, 0, 8, 32, 1, height + 9, get_current_rotation()); + break; + case 2: + imageId = SPR_STATION_PLATFORM_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 32, 8, 1, height + 9, -2, 0, height, get_current_rotation()); + break; + case 3: + imageId = SPR_STATION_PLATFORM_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 8, 32, 1, height + 9, 0, -2, height, get_current_rotation()); + break; + } + } - switch (relativeTrackSequence) { - case 1: paint_swinging_inverter_ship_structure(ride, direction, 48, height + 7); break; - case 2: paint_swinging_inverter_ship_structure(ride, direction, 16, height + 7); break; - case 0: paint_swinging_inverter_ship_structure(ride, direction, -16, height + 7); break; - case 3: paint_swinging_inverter_ship_structure(ride, direction, -48, height + 7); break; - } + switch (relativeTrackSequence) { + case 1: paint_swinging_inverter_ship_structure(ride, direction, 48, height + 7); break; + case 2: paint_swinging_inverter_ship_structure(ride, direction, 16, height + 7); break; + case 0: paint_swinging_inverter_ship_structure(ride, direction, -16, height + 7); break; + case 3: paint_swinging_inverter_ship_structure(ride, direction, -48, height + 7); break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 176, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 176, 0x20); } @@ -174,9 +174,9 @@ static void paint_swinging_inverter_ship(uint8 rideIndex, uint8 trackSequence, u */ TRACK_PAINT_FUNCTION get_track_paint_function_swinging_inverter_ship(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_1_X_4_B) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_1_X_4_B) { + return NULL; + } - return paint_swinging_inverter_ship; + return paint_swinging_inverter_ship; } diff --git a/src/openrct2/ride/thrill/top_spin.c b/src/openrct2/ride/thrill/top_spin.c index 907fc99316..1a2fb9c85c 100644 --- a/src/openrct2/ride/thrill/top_spin.c +++ b/src/openrct2/ride/thrill/top_spin.c @@ -27,9 +27,9 @@ /** rct2: 0x014280BC */ static sint16 TopSpinSeatHeightOffset[] = { - -10, -10, -9, -7, -4, -1, 2, 6, 11, 16, 21, 26, 31, 37, 42, 47, - 52, 57, 61, 64, 67, 70, 72, 73, 73, 73, 72, 70, 67, 64, 61, 57, - 52, 47, 42, 37, 31, 26, 21, 16, 11, 6, 2, -1, -4, -7, -9, -10, + -10, -10, -9, -7, -4, -1, 2, 6, 11, 16, 21, 26, 31, 37, 42, 47, + 52, 57, 61, 64, 67, 70, 72, 73, 73, 73, 72, 70, 67, 64, 61, 57, + 52, 47, 42, 37, 31, 26, 21, 16, 11, 6, 2, -1, -4, -7, -9, -10, }; /** @@ -39,9 +39,9 @@ static sint16 TopSpinSeatHeightOffset[] = { * where x is in 7.5 deg segments. */ static sint8 TopSpinSeatPositionOffset[] = { - 0, 4, 9, 13, 17, 21, 24, 27, 29, 31, 33, 34, 34, 34, 33, 31, - 29, 27, 24, 21, 17, 13, 9, 4, 0, -3, -8, -12, -16, -20, -23, -26, - -28, -30, -32, -33, -33, -33, -32, -30, -28, -26, -23, -20, -16, -12, -8, -3, + 0, 4, 9, 13, 17, 21, 24, 27, 29, 31, 33, 34, 34, 34, 33, 31, + 29, 27, 24, 21, 17, 13, 9, 4, 0, -3, -8, -12, -16, -20, -23, -26, + -28, -30, -32, -33, -33, -33, -32, -30, -28, -26, -23, -20, -16, -12, -8, -3, }; /** @@ -49,267 +49,267 @@ static sint8 TopSpinSeatPositionOffset[] = { * rct2: 0x0076750D */ static void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 direction, sint32 height, rct_map_element* mapElement) { - uint16 boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ; - // As we will be drawing a vehicle we need to backup the mapElement that - // is assigned to the drawings. - rct_map_element* curMapElement = g_currently_drawn_item; + uint16 boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ; + // As we will be drawing a vehicle we need to backup the mapElement that + // is assigned to the drawings. + rct_map_element* curMapElement = g_currently_drawn_item; - height += 3; + height += 3; - rct_ride* ride = get_ride(rideIndex); - rct_ride_entry* rideEntry = get_ride_entry(ride->subtype); - rct_vehicle* vehicle = NULL; + rct_ride* ride = get_ride(rideIndex); + rct_ride_entry* rideEntry = get_ride_entry(ride->subtype); + rct_vehicle* vehicle = NULL; - uint8 seatRotation = 0; - sint8 armRotation = 0; + uint8 seatRotation = 0; + sint8 armRotation = 0; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK && - ride->vehicles[0] != SPRITE_INDEX_NULL) { - vehicle = GET_VEHICLE(ride->vehicles[0]); + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK && + ride->vehicles[0] != SPRITE_INDEX_NULL) { + vehicle = GET_VEHICLE(ride->vehicles[0]); - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - g_currently_drawn_item = vehicle; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + g_currently_drawn_item = vehicle; - armRotation = vehicle->vehicle_sprite_type; - seatRotation = vehicle->bank_rotation; - } + armRotation = vehicle->vehicle_sprite_type; + seatRotation = vehicle->bank_rotation; + } - boundBoxOffsetX = al + 16; - boundBoxOffsetY = cl + 16; - boundBoxOffsetZ = height; + boundBoxOffsetX = al + 16; + boundBoxOffsetY = cl + 16; + boundBoxOffsetZ = height; - //di - uint8 lengthX = 24; - //si - uint8 lengthY = 24; + //di + uint8 lengthX = 24; + //si + uint8 lengthY = 24; - uint32 image_id = gTrackColours[SCHEME_MISC]; - if (image_id == 0x20000000) { - image_id = - 0xA0000000 | - (ride->track_colour_main[0] << 19) | - (ride->track_colour_supports[0] << 24); - } + uint32 image_id = gTrackColours[SCHEME_MISC]; + if (image_id == 0x20000000) { + image_id = + 0xA0000000 | + (ride->track_colour_main[0] << 19) | + (ride->track_colour_supports[0] << 24); + } - const uint8 rotation = get_current_rotation(); - image_id += (direction & 1) << 1; - image_id += rideEntry->vehicles[0].base_image_id; - // Left back bottom support - image_id += 572; - sub_98197C(image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); + const uint8 rotation = get_current_rotation(); + image_id += (direction & 1) << 1; + image_id += rideEntry->vehicles[0].base_image_id; + // Left back bottom support + image_id += 572; + sub_98197C(image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); - image_id = gTrackColours[SCHEME_MISC]; - if (image_id == 0x20000000) { - image_id = - 0xA0000000 | - (ride->track_colour_main[0] << 19) | - (ride->track_colour_additional[0] << 24); - } + image_id = gTrackColours[SCHEME_MISC]; + if (image_id == 0x20000000) { + image_id = + 0xA0000000 | + (ride->track_colour_main[0] << 19) | + (ride->track_colour_additional[0] << 24); + } - sint32 var_1F = armRotation; - if (direction & 2) { - var_1F = -var_1F; - if (var_1F != 0) - var_1F += 48; - } - image_id += var_1F; - image_id += (direction & 1) * 48; - image_id += rideEntry->vehicles[0].base_image_id; - // Left hand arm - image_id += 380; + sint32 var_1F = armRotation; + if (direction & 2) { + var_1F = -var_1F; + if (var_1F != 0) + var_1F += 48; + } + image_id += var_1F; + image_id += (direction & 1) * 48; + image_id += rideEntry->vehicles[0].base_image_id; + // Left hand arm + image_id += 380; - sub_98199C(image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); + sub_98199C(image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); - uint32 seatImageId; + uint32 seatImageId; - if (vehicle != NULL && vehicle->restraints_position >= 64) { - // Open Restraints - image_id = (vehicle->restraints_position - 64) >> 6; - image_id += direction * 3; - image_id += rideEntry->vehicles[0].base_image_id; - image_id += 64; - seatImageId = image_id; - } - else { - image_id = direction * 16; - // Var_20 Rotation of seats - image_id += seatRotation; - image_id += rideEntry->vehicles[0].base_image_id; - seatImageId = image_id; - } + if (vehicle != NULL && vehicle->restraints_position >= 64) { + // Open Restraints + image_id = (vehicle->restraints_position - 64) >> 6; + image_id += direction * 3; + image_id += rideEntry->vehicles[0].base_image_id; + image_id += 64; + seatImageId = image_id; + } + else { + image_id = direction * 16; + // Var_20 Rotation of seats + image_id += seatRotation; + image_id += rideEntry->vehicles[0].base_image_id; + seatImageId = image_id; + } - image_id = gTrackColours[SCHEME_MISC]; - if (image_id == 0x20000000) { - image_id = - 0xA0000000 | - (ride->vehicle_colours[0].body_colour << 19) | - (ride->vehicle_colours[0].trim_colour << 24); - } - image_id += seatImageId; + image_id = gTrackColours[SCHEME_MISC]; + if (image_id == 0x20000000) { + image_id = + 0xA0000000 | + (ride->vehicle_colours[0].body_colour << 19) | + (ride->vehicle_colours[0].trim_colour << 24); + } + image_id += seatImageId; - rct_xyz16 seatCoords = { - .x = al, - .y = cl, - .z = height - }; + rct_xyz16 seatCoords = { + .x = al, + .y = cl, + .z = height + }; - seatCoords.z += TopSpinSeatHeightOffset[armRotation]; + seatCoords.z += TopSpinSeatHeightOffset[armRotation]; - assert(armRotation < sizeof(TopSpinSeatPositionOffset)); - switch (direction) { - case 0: - seatCoords.x -= TopSpinSeatPositionOffset[armRotation]; - break; - case 1: - seatCoords.y += TopSpinSeatPositionOffset[armRotation]; - break; - case 2: - seatCoords.x += TopSpinSeatPositionOffset[armRotation]; - break; - case 3: - seatCoords.y -= TopSpinSeatPositionOffset[armRotation]; - break; - } + assert(armRotation < sizeof(TopSpinSeatPositionOffset)); + switch (direction) { + case 0: + seatCoords.x -= TopSpinSeatPositionOffset[armRotation]; + break; + case 1: + seatCoords.y += TopSpinSeatPositionOffset[armRotation]; + break; + case 2: + seatCoords.x += TopSpinSeatPositionOffset[armRotation]; + break; + case 3: + seatCoords.y -= TopSpinSeatPositionOffset[armRotation]; + break; + } - sub_98199C(image_id, (sint8) seatCoords.x, (sint8) seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); + sub_98199C(image_id, (sint8) seatCoords.x, (sint8) seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); - rct_drawpixelinfo* dpi = unk_140E9A8; - if (dpi->zoom_level < 2 && vehicle != NULL && vehicle->num_peeps != 0) { - image_id = - (vehicle->peep_tshirt_colours[0] << 19) | - (vehicle->peep_tshirt_colours[1] << 24); - image_id += seatImageId; - image_id += 0xA0000000; - image_id += 76; + rct_drawpixelinfo* dpi = unk_140E9A8; + if (dpi->zoom_level < 2 && vehicle != NULL && vehicle->num_peeps != 0) { + image_id = + (vehicle->peep_tshirt_colours[0] << 19) | + (vehicle->peep_tshirt_colours[1] << 24); + image_id += seatImageId; + image_id += 0xA0000000; + image_id += 76; - sub_98199C(image_id, (sint8) seatCoords.x, (sint8) seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); + sub_98199C(image_id, (sint8) seatCoords.x, (sint8) seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); - if (vehicle->num_peeps > 2) { - image_id = - (vehicle->peep_tshirt_colours[2] << 19) | - (vehicle->peep_tshirt_colours[3] << 24); - image_id += seatImageId; - image_id += 0xA0000000; - image_id += 152; + if (vehicle->num_peeps > 2) { + image_id = + (vehicle->peep_tshirt_colours[2] << 19) | + (vehicle->peep_tshirt_colours[3] << 24); + image_id += seatImageId; + image_id += 0xA0000000; + image_id += 152; - sub_98199C(image_id, (sint8) seatCoords.x, (sint8) seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); - } + sub_98199C(image_id, (sint8) seatCoords.x, (sint8) seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); + } - if (vehicle->num_peeps > 4) { - image_id = - (vehicle->peep_tshirt_colours[4] << 19) | - (vehicle->peep_tshirt_colours[5] << 24); - image_id += seatImageId; - image_id += 0xA0000000; - image_id += 228; + if (vehicle->num_peeps > 4) { + image_id = + (vehicle->peep_tshirt_colours[4] << 19) | + (vehicle->peep_tshirt_colours[5] << 24); + image_id += seatImageId; + image_id += 0xA0000000; + image_id += 228; - sub_98199C(image_id, (sint8) seatCoords.x, (sint8) seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); - } + sub_98199C(image_id, (sint8) seatCoords.x, (sint8) seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); + } - if (vehicle->num_peeps > 6) { - image_id = - (vehicle->peep_tshirt_colours[6] << 19) | - (vehicle->peep_tshirt_colours[7] << 24); - image_id += seatImageId; - image_id += 0xA0000000; - image_id += 304; + if (vehicle->num_peeps > 6) { + image_id = + (vehicle->peep_tshirt_colours[6] << 19) | + (vehicle->peep_tshirt_colours[7] << 24); + image_id += seatImageId; + image_id += 0xA0000000; + image_id += 304; - sub_98199C(image_id, (sint8) seatCoords.x, (sint8) seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); - } - } + sub_98199C(image_id, (sint8) seatCoords.x, (sint8) seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); + } + } - image_id = gTrackColours[SCHEME_MISC]; - if (image_id == 0x20000000) { - image_id = - 0xA0000000 | - (ride->track_colour_main[0] << 19) | - (ride->track_colour_additional[0] << 24); - } + image_id = gTrackColours[SCHEME_MISC]; + if (image_id == 0x20000000) { + image_id = + 0xA0000000 | + (ride->track_colour_main[0] << 19) | + (ride->track_colour_additional[0] << 24); + } - image_id += var_1F; - image_id += (direction & 1) * 48; - image_id += rideEntry->vehicles[0].base_image_id; - // Right hand arm - image_id += 476; + image_id += var_1F; + image_id += (direction & 1) * 48; + image_id += rideEntry->vehicles[0].base_image_id; + // Right hand arm + image_id += 476; - sub_98199C(image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); + sub_98199C(image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); - image_id = gTrackColours[SCHEME_MISC]; - if (image_id == 0x20000000) { - image_id = - 0xA0000000 | - (ride->track_colour_main[0] << 19) | - (ride->track_colour_supports[0] << 24); - } + image_id = gTrackColours[SCHEME_MISC]; + if (image_id == 0x20000000) { + image_id = + 0xA0000000 | + (ride->track_colour_main[0] << 19) | + (ride->track_colour_supports[0] << 24); + } - image_id += (direction & 1) << 1; - image_id += rideEntry->vehicles[0].base_image_id; - // Right back bottom support - image_id += 573; + image_id += (direction & 1) << 1; + image_id += rideEntry->vehicles[0].base_image_id; + // Right back bottom support + image_id += 573; - sub_98199C(image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); + sub_98199C(image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation); - g_currently_drawn_item = curMapElement; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = curMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; } /** * rct2: 0x0076679C */ static void paint_top_spin(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_3x3[direction][trackSequence]; + trackSequence = track_map_3x3[direction][trackSequence]; - sint32 edges = edges_3x3[trackSequence]; - rct_ride *ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_3x3[trackSequence]; + rct_ride *ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL); - track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); + track_paint_util_paint_floor(edges, gTrackColours[SCHEME_TRACK], height, floorSpritesCork, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, fenceSpritesRope, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, fenceSpritesRope, get_current_rotation()); - switch (trackSequence) { - case 1: top_spin_paint_vehicle(32, 32, rideIndex, direction, height, mapElement); break; - case 3: top_spin_paint_vehicle(32, -32, rideIndex, direction, height, mapElement); break; - case 5: top_spin_paint_vehicle(0, -32, rideIndex, direction, height, mapElement); break; - case 6: top_spin_paint_vehicle(-32, 32, rideIndex, direction, height, mapElement); break; - case 7: top_spin_paint_vehicle(-32, -32, rideIndex, direction, height, mapElement); break; - case 8: top_spin_paint_vehicle(-32, 0, rideIndex, direction, height, mapElement); break; - } + switch (trackSequence) { + case 1: top_spin_paint_vehicle(32, 32, rideIndex, direction, height, mapElement); break; + case 3: top_spin_paint_vehicle(32, -32, rideIndex, direction, height, mapElement); break; + case 5: top_spin_paint_vehicle(0, -32, rideIndex, direction, height, mapElement); break; + case 6: top_spin_paint_vehicle(-32, 32, rideIndex, direction, height, mapElement); break; + case 7: top_spin_paint_vehicle(-32, -32, rideIndex, direction, height, mapElement); break; + case 8: top_spin_paint_vehicle(-32, 0, rideIndex, direction, height, mapElement); break; + } - sint32 cornerSegments = 0; - switch (trackSequence) { - case 1: - // top - cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; - break; - case 3: - // right - cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; - break; - case 6: - // left - cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; - break; - case 7: - // bottom - cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; - break; - } + sint32 cornerSegments = 0; + switch (trackSequence) { + case 1: + // top + cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; + break; + case 3: + // right + cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; + break; + case 6: + // left + cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; + break; + case 7: + // bottom + cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; + break; + } - paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); - paint_util_set_general_support_height(height + 112, 0x20); + paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); + paint_util_set_general_support_height(height + 112, 0x20); } /* 0x0076659C */ TRACK_PAINT_FUNCTION get_track_paint_function_topspin(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_3_X_3) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_3_X_3) { + return NULL; + } - return paint_top_spin; + return paint_top_spin; } diff --git a/src/openrct2/ride/thrill/twist.c b/src/openrct2/ride/thrill/twist.c index 3d84b61a0f..af58464486 100644 --- a/src/openrct2/ride/thrill/twist.c +++ b/src/openrct2/ride/thrill/twist.c @@ -24,122 +24,122 @@ /** rct2: 0x0076E5C9 */ static void paint_twist_structure(rct_ride * ride, uint8 direction, sint8 xOffset, sint8 yOffset, uint16 height) { - rct_map_element * savedMapElement = g_currently_drawn_item; + rct_map_element * savedMapElement = g_currently_drawn_item; - rct_ride_entry * rideType = get_ride_entry(ride->subtype); - rct_vehicle * vehicle = NULL; + rct_ride_entry * rideType = get_ride_entry(ride->subtype); + rct_vehicle * vehicle = NULL; - height += 7; - uint32 baseImageId = rideType->vehicles[0].base_image_id; + height += 7; + uint32 baseImageId = rideType->vehicles[0].base_image_id; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && ride->vehicles[0] != SPRITE_INDEX_NULL) { - vehicle = GET_VEHICLE(ride->vehicles[0]); + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && ride->vehicles[0] != SPRITE_INDEX_NULL) { + vehicle = GET_VEHICLE(ride->vehicles[0]); - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; - g_currently_drawn_item = vehicle; - } + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE; + g_currently_drawn_item = vehicle; + } - uint32 frameNum = (direction * 88) % 216; - if (vehicle != NULL) { - frameNum += (vehicle->sprite_direction >> 3) << 4; - frameNum += vehicle->vehicle_sprite_type; - frameNum = frameNum % 216; - } + uint32 frameNum = (direction * 88) % 216; + if (vehicle != NULL) { + frameNum += (vehicle->sprite_direction >> 3) << 4; + frameNum += vehicle->vehicle_sprite_type; + frameNum = frameNum % 216; + } - uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; - if (imageColourFlags == 0x20000000) { - imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; - } + uint32 imageColourFlags = gTrackColours[SCHEME_MISC]; + if (imageColourFlags == 0x20000000) { + imageColourFlags = ride->vehicle_colours[0].body_colour << 19 | ride->vehicle_colours[0].trim_colour << 24 | 0xA0000000; + } - uint32 structureFrameNum = frameNum % 24; - uint32 imageId = (baseImageId + structureFrameNum) | imageColourFlags; - sub_98197C(imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height, get_current_rotation()); + uint32 structureFrameNum = frameNum % 24; + uint32 imageId = (baseImageId + structureFrameNum) | imageColourFlags; + sub_98197C(imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height, get_current_rotation()); - rct_drawpixelinfo * dpi = unk_140E9A8; + rct_drawpixelinfo * dpi = unk_140E9A8; - if (dpi->zoom_level < 1 - && ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK - && vehicle != NULL) { + if (dpi->zoom_level < 1 + && ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK + && vehicle != NULL) { - for (sint32 i = 0; i < vehicle->num_peeps; i += 2) { - imageColourFlags = vehicle->peep_tshirt_colours[i] << 19 | vehicle->peep_tshirt_colours[i + 1] << 24 | 0xA0000000; + for (sint32 i = 0; i < vehicle->num_peeps; i += 2) { + imageColourFlags = vehicle->peep_tshirt_colours[i] << 19 | vehicle->peep_tshirt_colours[i + 1] << 24 | 0xA0000000; - uint32 peepFrameNum = (frameNum + i * 12) % 216; - imageId = (baseImageId + 24 + peepFrameNum) | imageColourFlags; - sub_98199C(imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height, get_current_rotation()); - } - } + uint32 peepFrameNum = (frameNum + i * 12) % 216; + imageId = (baseImageId + 24 + peepFrameNum) | imageColourFlags; + sub_98199C(imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height, get_current_rotation()); + } + } - g_currently_drawn_item = savedMapElement; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + g_currently_drawn_item = savedMapElement; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; } /** rct2: 0x0076D858 */ static void paint_twist(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_3x3[direction][trackSequence]; + trackSequence = track_map_3x3[direction][trackSequence]; - const uint8 edges = edges_3x3[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + const uint8 edges = edges_3x3[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId; + uint32 imageId; - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL); - track_paint_util_paint_floor(edges, gTrackColours[SCHEME_MISC], height, floorSpritesCork, get_current_rotation()); + track_paint_util_paint_floor(edges, gTrackColours[SCHEME_MISC], height, floorSpritesCork, get_current_rotation()); - switch (trackSequence) { - case 7: - if (track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation())) { - imageId = SPR_FENCE_ROPE_SW | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 1, 28, 7, height, 29, 0, height + 3, get_current_rotation()); - } - if (track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation())) { - imageId = SPR_FENCE_ROPE_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 3, get_current_rotation()); - } - break; - default: - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, fenceSpritesRope, get_current_rotation()); - break; - } + switch (trackSequence) { + case 7: + if (track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation())) { + imageId = SPR_FENCE_ROPE_SW | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 1, 28, 7, height, 29, 0, height + 3, get_current_rotation()); + } + if (track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation())) { + imageId = SPR_FENCE_ROPE_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 3, get_current_rotation()); + } + break; + default: + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_MISC], height, fenceSpritesRope, get_current_rotation()); + break; + } - switch (trackSequence) { - case 1: - paint_twist_structure(ride, direction, 32, 32, height); - break; - case 3: - paint_twist_structure(ride, direction, 32, -32, height); - break; - case 5: - paint_twist_structure(ride, direction, 0, -32, height); - break; - case 6: - paint_twist_structure(ride, direction, -32, 32, height); - break; - case 7: - paint_twist_structure(ride, direction, -32, -32, height); - break; - case 8: - paint_twist_structure(ride, direction, -32, 0, height); - break; - } + switch (trackSequence) { + case 1: + paint_twist_structure(ride, direction, 32, 32, height); + break; + case 3: + paint_twist_structure(ride, direction, 32, -32, height); + break; + case 5: + paint_twist_structure(ride, direction, 0, -32, height); + break; + case 6: + paint_twist_structure(ride, direction, -32, 32, height); + break; + case 7: + paint_twist_structure(ride, direction, -32, -32, height); + break; + case 8: + paint_twist_structure(ride, direction, -32, 0, height); + break; + } - sint32 cornerSegments = 0; - switch (trackSequence) { - case 1: cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; - case 3: cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; break; - case 6: cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; break; - case 7: cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; break; - } + sint32 cornerSegments = 0; + switch (trackSequence) { + case 1: cornerSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; + case 3: cornerSegments = SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; break; + case 6: cornerSegments = SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0; break; + case 7: cornerSegments = SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4; break; + } - paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); + paint_util_set_segment_support_height(cornerSegments, height + 2, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~cornerSegments, 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); } /** @@ -147,9 +147,9 @@ static void paint_twist(uint8 rideIndex, uint8 trackSequence, uint8 direction, s */ TRACK_PAINT_FUNCTION get_track_paint_function_twist(sint32 trackType, sint32 direction) { - if (trackType != FLAT_TRACK_ELEM_3_X_3) { - return NULL; - } + if (trackType != FLAT_TRACK_ELEM_3_X_3) { + return NULL; + } - return paint_twist; + return paint_twist; } diff --git a/src/openrct2/ride/track.c b/src/openrct2/ride/track.c index aab21172fb..88ae0733c6 100644 --- a/src/openrct2/ride/track.c +++ b/src/openrct2/ride/track.c @@ -42,523 +42,523 @@ uint8 gTrackGroundFlags; /** rct2: 0x00997C9D */ const rct_trackdefinition TrackDefinitions[256] = { - // TYPE VANGLE END VANGLE START BANK END BANK START SPECIAL - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT - { TRACK_STATION_END, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_END_STATION - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BEGIN_STATION - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MIDDLE_STATION - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_60_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_LEFT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_RIGHT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_LEFT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_RIGHT_BANK - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_LEFT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_RIGHT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - { TRACK_S_BEND, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_LEFT - { TRACK_S_BEND, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_RIGHT - { TRACK_VERTICAL_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_UNKNOWN_VERTICAL_LOOP }, // ELEM_LEFT_VERTICAL_LOOP - { TRACK_VERTICAL_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_UNKNOWN_VERTICAL_LOOP }, // ELEM_RIGHT_VERTICAL_LOOP - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE - { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_TWIST_DOWN_TO_UP - { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_TWIST_DOWN_TO_UP - { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_LEFT_TWIST_UP_TO_DOWN - { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_RIGHT_TWIST_UP_TO_DOWN - { TRACK_HALF_LOOP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_HALF_LOOP_UP - { TRACK_HALF_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // ELEM_HALF_LOOP_DOWN - { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_CORKSCREW_UP - { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_CORKSCREW_UP - { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_CORKSCREW_DOWN }, // ELEM_LEFT_CORKSCREW_DOWN - { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_CORKSCREW_DOWN }, // ELEM_RIGHT_CORKSCREW_DOWN - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_FLAT - { TRACK_TOWER_BASE, TRACK_VANGLE_TOWER, TRACK_VANGLE_TOWER, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_TOWER_BASE - { TRACK_TOWER_BASE, TRACK_VANGLE_TOWER, TRACK_VANGLE_TOWER, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_TOWER_SECTION - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_COVERED - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_COVERED - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_COVERED - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_UP_COVERED - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_FLAT_COVERED - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_COVERED - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_COVERED - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_DOWN_COVERED - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_FLAT_COVERED - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_LEFT_COVERED - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_RIGHT_COVERED - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - { TRACK_BRAKES, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BRAKES - { TRACK_ROTATION_CONTROL_TOGGLE,TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_ROTATION_CONTROL_TOGGLE - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP - { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_HELIX_LARGE_UP - { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_25_DEG_UP_LEFT_BANKED - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_25_DEG_UP_RIGHT_BANKED - { TRACK_WATERFALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_WATERFALL - { TRACK_RAPIDS, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RAPIDS - { TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_ON_RIDE_PHOTO - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_25_DEG_DOWN_LEFT_BANKED - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_25_DEG_DOWN_RIGHT_BANKED - { TRACK_WATER_SPLASH, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_WATER_SPLASH - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - { TRACK_WHIRLPOOL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_WHIRLPOOL - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - { TRACK_LIFT_HILL_CABLE, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_CABLE_LIFT_HILL - { TRACK_REVERSE_FREEFALL, TRACK_VANGLE_REVERSE_FREEFALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_REVERSE_FREEFALL_SLOPE - { TRACK_REVERSE_FREEFALL, TRACK_VANGLE_REVERSE_FREEFALL, TRACK_VANGLE_REVERSE_FREEFALL, TRACK_BANK_NONE,TRACK_BANK_NONE, TRACK_NONE }, // ELEM_REVERSE_FREEFALL_VERTICAL - { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_90_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_UP_TO_60_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - { TRACK_BRAKE_FOR_DROP, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BRAKE_FOR_DROP - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_EIGHTH_TO_DIAG - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_TO_DIAG - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_EIGHTH_BANK_TO_DIAG - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_60_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_UP_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_60_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_DOWN_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_LEFT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_RIGHT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK - { TRACK_LOG_FLUME_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LOG_FLUME_REVERSER - { TRACK_SPINNING_TUNNEL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_SPINNING_TUNNEL - { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - { TRACK_POWERED_LIFT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_POWERED_LIFT - { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_LEFT_LARGE_HALF_LOOP_UP - { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_RIGHT_LARGE_HALF_LOOP_UP - { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // ELEM_LEFT_LARGE_HALF_LOOP_DOWN - { TRACK_INLINE_TWIST_UNINVERTED,TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_FLYER_TWIST_UP - { TRACK_INLINE_TWIST_UNINVERTED,TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_FLYER_TWIST_UP - { TRACK_INLINE_TWIST_INVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_FLYER_TWIST_DOWN - { TRACK_INLINE_TWIST_INVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_FLYER_TWIST_DOWN - { TRACK_HALF_LOOP_UNINVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_FLYER_HALF_LOOP_UP - { TRACK_HALF_LOOP_INVERTED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_DOWN }, // ELEM_FLYER_HALF_LOOP_DOWN - { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_FLYER_CORKSCREW_UP - { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_FLYER_CORKSCREW_UP - { TRACK_192, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_CORKSCREW_DOWN }, // ELEM_LEFT_FLYER_CORKSCREW_DOWN - { TRACK_192, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_CORKSCREW_DOWN }, // ELEM_RIGHT_FLYER_CORKSCREW_DOWN - { TRACK_194, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_HEARTLINE_TRANSFER_UP - { TRACK_194, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_HEARTLINE_TRANSFER_DOWN - { TRACK_HEARTLINE_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_HEARTLINE_ROLL - { TRACK_HEARTLINE_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_HEARTLINE_ROLL - { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MINI_GOLF_HOLE_A - { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MINI_GOLF_HOLE_B - { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MINI_GOLF_HOLE_C - { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MINI_GOLF_HOLE_D - { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MINI_GOLF_HOLE_E - { TRACK_QUARTER_LOOP_INVERTED, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - { TRACK_QUARTER_LOOP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP - { TRACK_QUARTER_LOOP, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - { TRACK_LIFT_HILL_CURVED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_CURVED_LIFT_HILL - { TRACK_LIFT_HILL_CURVED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_CURVED_LIFT_HILL - { TRACK_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_REVERSER - { TRACK_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_REVERSER - { TRACK_SLOPE_TO_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_AIR_THRUST_TOP_CAP - { TRACK_SLOPE_TO_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_AIR_THRUST_VERTICAL_DOWN - { TRACK_SLOPE_TO_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL - { TRACK_BLOCK_BRAKES, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BLOCK_BRAKES - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - { TRACK_QUARTER_LOOP_UNINVERTED,TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP - { TRACK_QUARTER_LOOP_UNINVERTED,TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP - { TRACK_QUARTER_LOOP_INVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // 255 + // TYPE VANGLE END VANGLE START BANK END BANK START SPECIAL + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT + { TRACK_STATION_END, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_END_STATION + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BEGIN_STATION + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MIDDLE_STATION + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_60_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_LEFT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_RIGHT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_LEFT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_RIGHT_BANK + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_LEFT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_RIGHT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + { TRACK_S_BEND, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_LEFT + { TRACK_S_BEND, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_RIGHT + { TRACK_VERTICAL_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_UNKNOWN_VERTICAL_LOOP }, // ELEM_LEFT_VERTICAL_LOOP + { TRACK_VERTICAL_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_UNKNOWN_VERTICAL_LOOP }, // ELEM_RIGHT_VERTICAL_LOOP + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE + { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_TWIST_DOWN_TO_UP + { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_TWIST_DOWN_TO_UP + { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_LEFT_TWIST_UP_TO_DOWN + { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_RIGHT_TWIST_UP_TO_DOWN + { TRACK_HALF_LOOP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_HALF_LOOP_UP + { TRACK_HALF_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // ELEM_HALF_LOOP_DOWN + { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_CORKSCREW_UP + { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_CORKSCREW_UP + { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_CORKSCREW_DOWN }, // ELEM_LEFT_CORKSCREW_DOWN + { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_CORKSCREW_DOWN }, // ELEM_RIGHT_CORKSCREW_DOWN + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_FLAT + { TRACK_TOWER_BASE, TRACK_VANGLE_TOWER, TRACK_VANGLE_TOWER, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_TOWER_BASE + { TRACK_TOWER_BASE, TRACK_VANGLE_TOWER, TRACK_VANGLE_TOWER, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_TOWER_SECTION + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_COVERED + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_COVERED + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_COVERED + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_UP_COVERED + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_FLAT_COVERED + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_COVERED + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_COVERED + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_DOWN_COVERED + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_FLAT_COVERED + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_LEFT_COVERED + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_RIGHT_COVERED + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + { TRACK_BRAKES, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BRAKES + { TRACK_ROTATION_CONTROL_TOGGLE,TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_ROTATION_CONTROL_TOGGLE + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP + { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP + { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP + { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN + { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_HELIX_LARGE_UP + { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_HELIX_LARGE_UP + { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN + { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_25_DEG_UP_LEFT_BANKED + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_25_DEG_UP_RIGHT_BANKED + { TRACK_WATERFALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_WATERFALL + { TRACK_RAPIDS, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RAPIDS + { TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_ON_RIDE_PHOTO + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_25_DEG_DOWN_LEFT_BANKED + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_25_DEG_DOWN_RIGHT_BANKED + { TRACK_WATER_SPLASH, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_WATER_SPLASH + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_UP_LONG_BASE + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_FLAT_LONG_BASE + { TRACK_WHIRLPOOL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_WHIRLPOOL + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 + { TRACK_LIFT_HILL_CABLE, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_CABLE_LIFT_HILL + { TRACK_REVERSE_FREEFALL, TRACK_VANGLE_REVERSE_FREEFALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_REVERSE_FREEFALL_SLOPE + { TRACK_REVERSE_FREEFALL, TRACK_VANGLE_REVERSE_FREEFALL, TRACK_VANGLE_REVERSE_FREEFALL, TRACK_BANK_NONE,TRACK_BANK_NONE, TRACK_NONE }, // ELEM_REVERSE_FREEFALL_VERTICAL + { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_90_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_DOWN_TO_60_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_UP_TO_60_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + { TRACK_BRAKE_FOR_DROP, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BRAKE_FOR_DROP + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_EIGHTH_TO_DIAG + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_TO_DIAG + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_EIGHTH_BANK_TO_DIAG + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_60_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_UP_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_60_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_DOWN_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_LEFT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_RIGHT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK + { TRACK_LOG_FLUME_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LOG_FLUME_REVERSER + { TRACK_SPINNING_TUNNEL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_SPINNING_TUNNEL + { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN + { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN + { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP + { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK + { TRACK_POWERED_LIFT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_POWERED_LIFT + { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_LEFT_LARGE_HALF_LOOP_UP + { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_RIGHT_LARGE_HALF_LOOP_UP + { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // ELEM_RIGHT_LARGE_HALF_LOOP_DOWN + { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // ELEM_LEFT_LARGE_HALF_LOOP_DOWN + { TRACK_INLINE_TWIST_UNINVERTED,TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_FLYER_TWIST_UP + { TRACK_INLINE_TWIST_UNINVERTED,TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_FLYER_TWIST_UP + { TRACK_INLINE_TWIST_INVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_FLYER_TWIST_DOWN + { TRACK_INLINE_TWIST_INVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_FLYER_TWIST_DOWN + { TRACK_HALF_LOOP_UNINVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_FLYER_HALF_LOOP_UP + { TRACK_HALF_LOOP_INVERTED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_DOWN }, // ELEM_FLYER_HALF_LOOP_DOWN + { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_FLYER_CORKSCREW_UP + { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_FLYER_CORKSCREW_UP + { TRACK_192, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_CORKSCREW_DOWN }, // ELEM_LEFT_FLYER_CORKSCREW_DOWN + { TRACK_192, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_CORKSCREW_DOWN }, // ELEM_RIGHT_FLYER_CORKSCREW_DOWN + { TRACK_194, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_HEARTLINE_TRANSFER_UP + { TRACK_194, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_HEARTLINE_TRANSFER_DOWN + { TRACK_HEARTLINE_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_HEARTLINE_ROLL + { TRACK_HEARTLINE_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_HEARTLINE_ROLL + { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MINI_GOLF_HOLE_A + { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MINI_GOLF_HOLE_B + { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MINI_GOLF_HOLE_C + { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MINI_GOLF_HOLE_D + { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MINI_GOLF_HOLE_E + { TRACK_QUARTER_LOOP_INVERTED, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + { TRACK_QUARTER_LOOP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP + { TRACK_QUARTER_LOOP, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + { TRACK_LIFT_HILL_CURVED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_CURVED_LIFT_HILL + { TRACK_LIFT_HILL_CURVED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_CURVED_LIFT_HILL + { TRACK_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_REVERSER + { TRACK_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_REVERSER + { TRACK_SLOPE_TO_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_AIR_THRUST_TOP_CAP + { TRACK_SLOPE_TO_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_AIR_THRUST_VERTICAL_DOWN + { TRACK_SLOPE_TO_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL + { TRACK_BLOCK_BRAKES, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BLOCK_BRAKES + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP + { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN + { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + { TRACK_QUARTER_LOOP_UNINVERTED,TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP + { TRACK_QUARTER_LOOP_UNINVERTED,TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP + { TRACK_QUARTER_LOOP_INVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // 255 }; /** rct2: 0x0099849D */ const rct_trackdefinition FlatRideTrackDefinitions[256] = { - // TYPE VANGLE END VANGLE START BANK END BANK START SPECIAL - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 0 - { TRACK_STATION_END, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 1 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 2 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 3 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 4 - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 5 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 6 - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 7 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 8 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 9 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 10 - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 11 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 12 - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 13 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 14 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 15 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 16 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 17 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 18 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 19 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 20 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 21 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 22 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 23 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 24 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 25 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 26 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 27 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 28 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 29 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 30 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 31 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 32 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 33 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 34 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 35 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 36 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 37 - { TRACK_S_BEND, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 38 - { TRACK_S_BEND, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 39 - { TRACK_VERTICAL_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_UNKNOWN_VERTICAL_LOOP }, // 40 - { TRACK_VERTICAL_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_UNKNOWN_VERTICAL_LOOP }, // 41 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 42 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 43 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 44 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 45 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 46 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 47 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 48 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 49 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 50 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 51 - { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // 52 - { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // 53 - { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, 0 }, // 54 - { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, 0 }, // 55 - { TRACK_HALF_LOOP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // 56 - { TRACK_HALF_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // 57 - { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // 58 - { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // 59 - { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_CORKSCREW_DOWN }, // 60 - { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_CORKSCREW_DOWN }, // 61 - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 62 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 63 - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 64 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 65 - { TRACK_TOWER_BASE, TRACK_SLOPE_UP_90, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 66 - { TRACK_TOWER_BASE, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 67 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 68 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 69 - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 70 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 71 - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 72 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 73 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 74 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 75 - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 76 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 77 - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 78 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 79 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 80 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 81 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 82 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 83 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 84 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 85 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 86 - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 87 - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 88 - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 89 - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 90 - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 91 - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 92 - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 93 - { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 94 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_1_X_4_A - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 96 - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 97 - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 98 - { TRACK_BRAKES, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 99 - { TRACK_ROTATION_CONTROL_TOGGLE,TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 100 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 101 - { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 102 - { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 103 - { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 104 - { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 105 - { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 106 - { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 107 - { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 108 - { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 109 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_2_X_2 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_4_X_4 - { TRACK_WHIRLPOOL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 112 - { TRACK_WHIRLPOOL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 113 - { TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 114 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 115 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_1_X_5 - { TRACK_WATER_SPLASH, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 117 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_1_X_1_A - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_1_X_4_B - { TRACK_WHIRLPOOL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 120 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_1_X_1_B - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_216 }, // FLAT_TRACK_ELEM_1_X_4_C - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_3_X_3 - { TRACK_REVERSE_FREEFALL, TRACK_SLOPE_UP_90, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 124 - { TRACK_REVERSE_FREEFALL, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 125 - { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 126 - { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 127 - { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 128 - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 129 - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 130 - { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 131 - { TRACK_BRAKE_FOR_DROP, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 132 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 133 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 134 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 135 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 136 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 137 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 138 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 139 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 140 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 141 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 142 - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 143 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 144 - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 145 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 146 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 147 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 148 - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 149 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 150 - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 151 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 152 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 153 - { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 154 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 155 - { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 156 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 157 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 158 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 159 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 160 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 161 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 162 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 163 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 164 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 165 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 166 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 167 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 168 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 169 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 170 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 171 - { TRACK_LOG_FLUME_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 172 - { TRACK_SPINNING_TUNNEL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 173 - { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 174 - { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 175 - { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, 0 }, // 176 - { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, 0 }, // 177 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 178 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 179 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 180 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 181 - { TRACK_POWERED_LIFT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 182 - { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // 183 - { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // 184 - { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // 185 - { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // 186 - { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 187 - { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 188 - { TRACK_192, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 189 - { TRACK_192, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 190 - { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // 191 - { TRACK_192, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, TRACK_HALF_LOOP_DOWN }, // 192 - { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 193 - { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 194 - { TRACK_192, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, TRACK_CORKSCREW_DOWN }, // 195 - { TRACK_192, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, TRACK_CORKSCREW_DOWN }, // 196 - { TRACK_194, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 197 - { TRACK_194, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 198 - { TRACK_HEARTLINE_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 199 - { TRACK_HEARTLINE_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 200 - { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 201 - { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 202 - { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 203 - { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 204 - { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 205 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 206 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 207 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 208 - { TRACK_LIFT_HILL_CURVED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 209 - { TRACK_LIFT_HILL_CURVED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 210 - { TRACK_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 211 - { TRACK_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 212 - { TRACK_SLOPE_TO_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 213 - { TRACK_SLOPE_TO_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 214 - { TRACK_SLOPE_TO_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 215 - { TRACK_BLOCK_BRAKES, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 216 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 217 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 218 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 219 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 220 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 221 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 222 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 223 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 224 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 225 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 226 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 227 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 228 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 229 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 230 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 231 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 232 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 233 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 234 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 235 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 236 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 237 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 238 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 239 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 240 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 241 - { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 242 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 243 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 244 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 245 - { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 246 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 247 - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 248 - { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 249 - { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 250 - { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 251 - { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 252 - { TRACK_QUARTER_LOOP_UNINVERTED,TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 253 - { TRACK_QUARTER_LOOP_UNINVERTED,TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 254 + // TYPE VANGLE END VANGLE START BANK END BANK START SPECIAL + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 0 + { TRACK_STATION_END, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 1 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 2 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 3 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 4 + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 5 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 6 + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 7 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 8 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 9 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 10 + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 11 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 12 + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 13 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 14 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 15 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 16 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 17 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 18 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 19 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 20 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 21 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 22 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 23 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 24 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 25 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 26 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 27 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 28 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 29 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 30 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 31 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 32 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 33 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 34 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 35 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 36 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 37 + { TRACK_S_BEND, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 38 + { TRACK_S_BEND, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 39 + { TRACK_VERTICAL_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_UNKNOWN_VERTICAL_LOOP }, // 40 + { TRACK_VERTICAL_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_UNKNOWN_VERTICAL_LOOP }, // 41 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 42 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 43 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 44 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 45 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 46 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 47 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 48 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 49 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 50 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 51 + { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // 52 + { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // 53 + { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, 0 }, // 54 + { TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, 0 }, // 55 + { TRACK_HALF_LOOP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // 56 + { TRACK_HALF_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // 57 + { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // 58 + { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // 59 + { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_CORKSCREW_DOWN }, // 60 + { TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_CORKSCREW_DOWN }, // 61 + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 62 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 63 + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 64 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 65 + { TRACK_TOWER_BASE, TRACK_SLOPE_UP_90, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 66 + { TRACK_TOWER_BASE, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 67 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 68 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 69 + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 70 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 71 + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 72 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 73 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 74 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 75 + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 76 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 77 + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 78 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 79 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 80 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 81 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 82 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 83 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 84 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 85 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 86 + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 87 + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 88 + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 89 + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 90 + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 91 + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 92 + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 93 + { TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 94 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_1_X_4_A + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 96 + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 97 + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 98 + { TRACK_BRAKES, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 99 + { TRACK_ROTATION_CONTROL_TOGGLE,TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 100 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 101 + { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 102 + { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 103 + { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 104 + { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 105 + { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 106 + { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 107 + { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 108 + { TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 109 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_2_X_2 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_4_X_4 + { TRACK_WHIRLPOOL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 112 + { TRACK_WHIRLPOOL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 113 + { TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 114 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 115 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_1_X_5 + { TRACK_WATER_SPLASH, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 117 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_1_X_1_A + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_1_X_4_B + { TRACK_WHIRLPOOL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 120 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_1_X_1_B + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_216 }, // FLAT_TRACK_ELEM_1_X_4_C + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // FLAT_TRACK_ELEM_3_X_3 + { TRACK_REVERSE_FREEFALL, TRACK_SLOPE_UP_90, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 124 + { TRACK_REVERSE_FREEFALL, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 125 + { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 126 + { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 127 + { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 128 + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 129 + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 130 + { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 131 + { TRACK_BRAKE_FOR_DROP, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 132 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 133 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 134 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 135 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 136 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 137 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 138 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 139 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 140 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 141 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 142 + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 143 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 144 + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 145 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 146 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 147 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 148 + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 149 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 150 + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 151 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 152 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 153 + { TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 154 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 155 + { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 156 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 157 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 158 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 159 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 160 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 161 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 162 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 163 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 164 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 165 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 166 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 167 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 168 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 169 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 170 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 171 + { TRACK_LOG_FLUME_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 172 + { TRACK_SPINNING_TUNNEL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 173 + { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 174 + { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 175 + { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, 0 }, // 176 + { TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, 0 }, // 177 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 178 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 179 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 180 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 181 + { TRACK_POWERED_LIFT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 182 + { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // 183 + { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // 184 + { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // 185 + { TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // 186 + { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 187 + { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 188 + { TRACK_192, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 189 + { TRACK_192, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 190 + { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // 191 + { TRACK_192, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, TRACK_HALF_LOOP_DOWN }, // 192 + { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 193 + { TRACK_190, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 194 + { TRACK_192, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, TRACK_CORKSCREW_DOWN }, // 195 + { TRACK_192, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, TRACK_CORKSCREW_DOWN }, // 196 + { TRACK_194, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 197 + { TRACK_194, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 198 + { TRACK_HEARTLINE_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 199 + { TRACK_HEARTLINE_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 200 + { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 201 + { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 202 + { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 203 + { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 204 + { TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 205 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 206 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 207 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 208 + { TRACK_LIFT_HILL_CURVED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 209 + { TRACK_LIFT_HILL_CURVED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 210 + { TRACK_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 211 + { TRACK_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 212 + { TRACK_SLOPE_TO_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 213 + { TRACK_SLOPE_TO_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 214 + { TRACK_SLOPE_TO_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 215 + { TRACK_BLOCK_BRAKES, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 216 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 217 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 218 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 219 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 220 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 221 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 222 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 223 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 224 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 225 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 226 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 227 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 228 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 229 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 230 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 231 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 232 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 233 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 234 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 235 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 236 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 237 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 238 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // 239 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // 240 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 241 + { TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 242 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 243 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 244 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // 245 + { TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // 246 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // 247 + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // 248 + { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 249 + { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 250 + { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 251 + { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // 252 + { TRACK_QUARTER_LOOP_UNINVERTED,TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 253 + { TRACK_QUARTER_LOOP_UNINVERTED,TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN,TRACK_BANK_NONE, 0 }, // 254 }; /** @@ -566,64 +566,64 @@ const rct_trackdefinition FlatRideTrackDefinitions[256] = { */ sint32 track_is_connected_by_shape(rct_map_element *a, rct_map_element *b) { - sint32 trackType, aBank, aAngle, bBank, bAngle; + sint32 trackType, aBank, aAngle, bBank, bAngle; - trackType = a->properties.track.type; - aBank = TrackDefinitions[trackType].bank_end; - aAngle = TrackDefinitions[trackType].vangle_end; - aBank = track_get_actual_bank(a, aBank); + trackType = a->properties.track.type; + aBank = TrackDefinitions[trackType].bank_end; + aAngle = TrackDefinitions[trackType].vangle_end; + aBank = track_get_actual_bank(a, aBank); - trackType = b->properties.track.type; - bBank = TrackDefinitions[trackType].bank_start; - bAngle = TrackDefinitions[trackType].vangle_start; - bBank = track_get_actual_bank(b, bBank); + trackType = b->properties.track.type; + bBank = TrackDefinitions[trackType].bank_start; + bAngle = TrackDefinitions[trackType].vangle_start; + bBank = track_get_actual_bank(b, bBank); - return aBank == bBank && aAngle == bAngle; + return aBank == bBank && aAngle == bAngle; } const rct_preview_track *get_track_def_from_ride(rct_ride *ride, sint32 trackType) { - return ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) ? - FlatRideTrackBlocks[trackType] : - TrackBlocks[trackType]; + return ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) ? + FlatRideTrackBlocks[trackType] : + TrackBlocks[trackType]; } const rct_track_coordinates *get_track_coord_from_ride(rct_ride *ride, sint32 trackType){ - return ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) ? - &FlatTrackCoordinates[trackType] : - &TrackCoordinates[trackType]; + return ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) ? + &FlatTrackCoordinates[trackType] : + &TrackCoordinates[trackType]; } const rct_preview_track *get_track_def_from_ride_index(sint32 rideIndex, sint32 trackType) { - return get_track_def_from_ride(get_ride(rideIndex), trackType); + return get_track_def_from_ride(get_ride(rideIndex), trackType); } static rct_map_element *find_station_element(sint32 x, sint32 y, sint32 z, sint32 direction, sint32 rideIndex) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (z != mapElement->base_height) continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (map_element_get_direction(mapElement) != direction) continue; - if (mapElement->properties.track.ride_index != rideIndex) continue; - if (!track_element_is_station(mapElement)) continue; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (z != mapElement->base_height) continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (map_element_get_direction(mapElement) != direction) continue; + if (mapElement->properties.track.ride_index != rideIndex) continue; + if (!track_element_is_station(mapElement)) continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); + return NULL; } static void ride_remove_station(rct_ride *ride, sint32 x, sint32 y, sint32 z) { - uint16 xy = (x >> 5) | ((y >> 5) << 8); - for (sint32 i = 0; i < MAX_STATIONS; i++) { - if (ride->station_starts[i] == xy && ride->station_heights[i] == z) { - ride->station_starts[i] = 0xFFFF; - ride->num_stations--; - break; - } - } + uint16 xy = (x >> 5) | ((y >> 5) << 8); + for (sint32 i = 0; i < MAX_STATIONS; i++) { + if (ride->station_starts[i] == xy && ride->station_heights[i] == z) { + ride->station_starts[i] = 0xFFFF; + ride->num_stations--; + break; + } + } } /** @@ -632,140 +632,140 @@ static void ride_remove_station(rct_ride *ride, sint32 x, sint32 y, sint32 z) */ static bool track_add_station_element(sint32 x, sint32 y, sint32 z, sint32 direction, sint32 rideIndex, sint32 flags) { - sint32 stationX0 = x; - sint32 stationY0 = y; - sint32 stationX1 = x; - sint32 stationY1 = y; - sint32 stationLength = 1; + sint32 stationX0 = x; + sint32 stationY0 = y; + sint32 stationX1 = x; + sint32 stationY1 = y; + sint32 stationLength = 1; - rct_ride *ride = get_ride(rideIndex); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3)) { - if (ride->num_stations >= MAX_STATIONS) { - gGameCommandErrorText = STR_NO_MORE_STATIONS_ALLOWED_ON_THIS_RIDE; - return false; - } - if (flags & GAME_COMMAND_FLAG_APPLY) { - sint32 stationIndex = -1; - for (sint32 i = 0; i < MAX_STATIONS; i++) { - if (ride->station_starts[i] == 0xFFFF) { - stationIndex = i; - break; - } - } + rct_ride *ride = get_ride(rideIndex); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3)) { + if (ride->num_stations >= MAX_STATIONS) { + gGameCommandErrorText = STR_NO_MORE_STATIONS_ALLOWED_ON_THIS_RIDE; + return false; + } + if (flags & GAME_COMMAND_FLAG_APPLY) { + sint32 stationIndex = -1; + for (sint32 i = 0; i < MAX_STATIONS; i++) { + if (ride->station_starts[i] == 0xFFFF) { + stationIndex = i; + break; + } + } - assert(stationIndex != -1); + assert(stationIndex != -1); - ride->station_starts[stationIndex] = (x >> 5) | ((y >> 5) << 8); - ride->station_heights[stationIndex] = z; - ride->station_depart[stationIndex] = 1; - ride->station_length[stationIndex] = 0; - ride->num_stations++; - } - return true; - } + ride->station_starts[stationIndex] = (x >> 5) | ((y >> 5) << 8); + ride->station_heights[stationIndex] = z; + ride->station_depart[stationIndex] = 1; + ride->station_length[stationIndex] = 0; + ride->num_stations++; + } + return true; + } - rct_map_element *stationElement; + rct_map_element *stationElement; - // Search backwards for more station - x = stationX0; - y = stationY0; - do { - x -= TileDirectionDelta[direction].x; - y -= TileDirectionDelta[direction].y; + // Search backwards for more station + x = stationX0; + y = stationY0; + do { + x -= TileDirectionDelta[direction].x; + y -= TileDirectionDelta[direction].y; - stationElement = find_station_element(x, y, z, direction, rideIndex); - if (stationElement != NULL) { - if (stationElement->properties.track.type == TRACK_ELEM_END_STATION) { - if (flags & GAME_COMMAND_FLAG_APPLY) { - ride_remove_station(ride, x, y, z); - } - } + stationElement = find_station_element(x, y, z, direction, rideIndex); + if (stationElement != NULL) { + if (stationElement->properties.track.type == TRACK_ELEM_END_STATION) { + if (flags & GAME_COMMAND_FLAG_APPLY) { + ride_remove_station(ride, x, y, z); + } + } - stationX0 = x; - stationY0 = y; - stationLength++; - } - } while (stationElement != NULL); + stationX0 = x; + stationY0 = y; + stationLength++; + } + } while (stationElement != NULL); - // Search forwards for more station - x = stationX1; - y = stationY1; - do { - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; + // Search forwards for more station + x = stationX1; + y = stationY1; + do { + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; - stationElement = find_station_element(x, y, z, direction, rideIndex); - if (stationElement != NULL) { - if (stationElement->properties.track.type == TRACK_ELEM_END_STATION) { - if (flags & GAME_COMMAND_FLAG_APPLY) { - ride_remove_station(ride, x, y, z); - } - } + stationElement = find_station_element(x, y, z, direction, rideIndex); + if (stationElement != NULL) { + if (stationElement->properties.track.type == TRACK_ELEM_END_STATION) { + if (flags & GAME_COMMAND_FLAG_APPLY) { + ride_remove_station(ride, x, y, z); + } + } - stationX1 = x; - stationY1 = y; - stationLength++; - } - } while (stationElement != NULL); + stationX1 = x; + stationY1 = y; + stationLength++; + } + } while (stationElement != NULL); - if (stationX0 == stationX1 && stationY0 == stationY1 && ride->num_stations >= MAX_STATIONS) { - gGameCommandErrorText = STR_NO_MORE_STATIONS_ALLOWED_ON_THIS_RIDE; - return false; - } + if (stationX0 == stationX1 && stationY0 == stationY1 && ride->num_stations >= MAX_STATIONS) { + gGameCommandErrorText = STR_NO_MORE_STATIONS_ALLOWED_ON_THIS_RIDE; + return false; + } - if (stationLength > MAX_STATION_PLATFORM_LENGTH) { - gGameCommandErrorText = STR_STATION_PLATFORM_TOO_LONG; - return false; - } + if (stationLength > MAX_STATION_PLATFORM_LENGTH) { + gGameCommandErrorText = STR_STATION_PLATFORM_TOO_LONG; + return false; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - x = stationX1; - y = stationY1; + if (flags & GAME_COMMAND_FLAG_APPLY) { + x = stationX1; + y = stationY1; - bool finaliseStationDone; - do { - finaliseStationDone = true; + bool finaliseStationDone; + do { + finaliseStationDone = true; - stationElement = find_station_element(x, y, z, direction, rideIndex); - if (stationElement != NULL) { - sint32 targetTrackType; - if (x == stationX1 && y == stationY1) { - sint32 stationIndex = -1; - for (sint32 i = 0; i < MAX_STATIONS; i++) { - if (ride->station_starts[i] == 0xFFFF) { - stationIndex = i; - break; - } - } + stationElement = find_station_element(x, y, z, direction, rideIndex); + if (stationElement != NULL) { + sint32 targetTrackType; + if (x == stationX1 && y == stationY1) { + sint32 stationIndex = -1; + for (sint32 i = 0; i < MAX_STATIONS; i++) { + if (ride->station_starts[i] == 0xFFFF) { + stationIndex = i; + break; + } + } - assert(stationIndex != -1); + assert(stationIndex != -1); - uint16 xy = (x >> 5) | ((y >> 5) << 8); - ride->station_starts[stationIndex] = xy; - ride->station_heights[stationIndex] = z; - ride->station_depart[stationIndex] = 1; - ride->station_length[stationIndex] = stationLength; - ride->num_stations++; + uint16 xy = (x >> 5) | ((y >> 5) << 8); + ride->station_starts[stationIndex] = xy; + ride->station_heights[stationIndex] = z; + ride->station_depart[stationIndex] = 1; + ride->station_length[stationIndex] = stationLength; + ride->num_stations++; - targetTrackType = TRACK_ELEM_END_STATION; - } else if (x == stationX0 && y == stationY0) { - targetTrackType = TRACK_ELEM_BEGIN_STATION; - } else { - targetTrackType = TRACK_ELEM_MIDDLE_STATION; - } - stationElement->properties.track.type = targetTrackType; + targetTrackType = TRACK_ELEM_END_STATION; + } else if (x == stationX0 && y == stationY0) { + targetTrackType = TRACK_ELEM_BEGIN_STATION; + } else { + targetTrackType = TRACK_ELEM_MIDDLE_STATION; + } + stationElement->properties.track.type = targetTrackType; - map_invalidate_element(x, y, stationElement); + map_invalidate_element(x, y, stationElement); - if (x != stationX0 || y != stationY0) { - x -= TileDirectionDelta[direction].x; - y -= TileDirectionDelta[direction].y; - finaliseStationDone = false; - } - } - } while (!finaliseStationDone); - } - return true; + if (x != stationX0 || y != stationY0) { + x -= TileDirectionDelta[direction].x; + y -= TileDirectionDelta[direction].y; + finaliseStationDone = false; + } + } + } while (!finaliseStationDone); + } + return true; } /** @@ -774,642 +774,642 @@ static bool track_add_station_element(sint32 x, sint32 y, sint32 z, sint32 direc */ static bool track_remove_station_element(sint32 x, sint32 y, sint32 z, sint32 direction, sint32 rideIndex, sint32 flags) { - sint32 removeX = x; - sint32 removeY = y; - sint32 stationX0 = x; - sint32 stationY0 = y; - sint32 stationX1 = x; - sint32 stationY1 = y; - sint32 stationLength = 0; - sint32 byte_F441D1 = -1; + sint32 removeX = x; + sint32 removeY = y; + sint32 stationX0 = x; + sint32 stationY0 = y; + sint32 stationX1 = x; + sint32 stationY1 = y; + sint32 stationLength = 0; + sint32 byte_F441D1 = -1; - rct_ride *ride = get_ride(rideIndex); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3)) { - rct_map_element *mapElement = map_get_track_element_at_with_direction_from_ride(x, y, z, direction, rideIndex); - if (mapElement != NULL) { - if (flags & GAME_COMMAND_FLAG_APPLY) { - ride_remove_station(ride, x, y, z); - } - } - return true; - } + rct_ride *ride = get_ride(rideIndex); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_3)) { + rct_map_element *mapElement = map_get_track_element_at_with_direction_from_ride(x, y, z, direction, rideIndex); + if (mapElement != NULL) { + if (flags & GAME_COMMAND_FLAG_APPLY) { + ride_remove_station(ride, x, y, z); + } + } + return true; + } - rct_map_element *stationElement; + rct_map_element *stationElement; - // Search backwards for more station - x = stationX0; - y = stationY0; - while ((stationElement = find_station_element(x, y, z, direction, rideIndex)) != NULL) { - if (stationElement->properties.track.type == TRACK_ELEM_END_STATION) { - if (flags & GAME_COMMAND_FLAG_APPLY) { - ride_remove_station(ride, x, y, z); - } - } + // Search backwards for more station + x = stationX0; + y = stationY0; + while ((stationElement = find_station_element(x, y, z, direction, rideIndex)) != NULL) { + if (stationElement->properties.track.type == TRACK_ELEM_END_STATION) { + if (flags & GAME_COMMAND_FLAG_APPLY) { + ride_remove_station(ride, x, y, z); + } + } - stationX0 = x; - stationY0 = y; - byte_F441D1++; + stationX0 = x; + stationY0 = y; + byte_F441D1++; - x -= TileDirectionDelta[direction].x; - y -= TileDirectionDelta[direction].y; - } + x -= TileDirectionDelta[direction].x; + y -= TileDirectionDelta[direction].y; + } - // Search forwards for more station - x = stationX1; - y = stationY1; - do { - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; + // Search forwards for more station + x = stationX1; + y = stationY1; + do { + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; - stationElement = find_station_element(x, y, z, direction, rideIndex); - if (stationElement != NULL) { - if (stationElement->properties.track.type == TRACK_ELEM_END_STATION) { - if (flags & GAME_COMMAND_FLAG_APPLY) { - ride_remove_station(ride, x, y, z); - } - } + stationElement = find_station_element(x, y, z, direction, rideIndex); + if (stationElement != NULL) { + if (stationElement->properties.track.type == TRACK_ELEM_END_STATION) { + if (flags & GAME_COMMAND_FLAG_APPLY) { + ride_remove_station(ride, x, y, z); + } + } - stationX1 = x; - stationY1 = y; - stationLength++; - } - } while (stationElement != NULL); + stationX1 = x; + stationY1 = y; + stationLength++; + } + } while (stationElement != NULL); - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - if ((removeX != stationX0 || removeY != stationY0) && - (removeX != stationX1 || removeY != stationY1) && - ride->num_stations >= MAX_STATIONS - ) { - gGameCommandErrorText = STR_NO_MORE_STATIONS_ALLOWED_ON_THIS_RIDE; - return false; - } else { - return true; - } - } + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + if ((removeX != stationX0 || removeY != stationY0) && + (removeX != stationX1 || removeY != stationY1) && + ride->num_stations >= MAX_STATIONS + ) { + gGameCommandErrorText = STR_NO_MORE_STATIONS_ALLOWED_ON_THIS_RIDE; + return false; + } else { + return true; + } + } - x = stationX1; - y = stationY1; - bool finaliseStationDone; - do { - finaliseStationDone = true; + x = stationX1; + y = stationY1; + bool finaliseStationDone; + do { + finaliseStationDone = true; - if (x != removeX || y != removeY) { - stationElement = find_station_element(x, y, z, direction, rideIndex); - if (stationElement != NULL) { - sint32 targetTrackType; - if (x == stationX1 && y == stationY1) { - loc_6C4BF5:; - sint32 stationIndex = -1; - for (sint32 i = 0; i < MAX_STATIONS; i++) { - if (ride->station_starts[i] == 0xFFFF) { - stationIndex = i; - break; - } - } + if (x != removeX || y != removeY) { + stationElement = find_station_element(x, y, z, direction, rideIndex); + if (stationElement != NULL) { + sint32 targetTrackType; + if (x == stationX1 && y == stationY1) { + loc_6C4BF5:; + sint32 stationIndex = -1; + for (sint32 i = 0; i < MAX_STATIONS; i++) { + if (ride->station_starts[i] == 0xFFFF) { + stationIndex = i; + break; + } + } - assert(stationIndex != -1); + assert(stationIndex != -1); - uint16 xy = (x >> 5) | ((y >> 5) << 8); - ride->station_starts[stationIndex] = xy; - ride->station_heights[stationIndex] = z; - ride->station_depart[stationIndex] = 1; - ride->station_length[stationIndex] = stationLength != 0 ? stationLength : byte_F441D1; - ride->num_stations++; + uint16 xy = (x >> 5) | ((y >> 5) << 8); + ride->station_starts[stationIndex] = xy; + ride->station_heights[stationIndex] = z; + ride->station_depart[stationIndex] = 1; + ride->station_length[stationIndex] = stationLength != 0 ? stationLength : byte_F441D1; + ride->num_stations++; - stationLength = 0; - targetTrackType = TRACK_ELEM_END_STATION; - } else { - if (x + TileDirectionDelta[direction].x == removeX && - y + TileDirectionDelta[direction].y == removeY - ) { - goto loc_6C4BF5; - } else { - if (x - TileDirectionDelta[direction].x == removeX && - y - TileDirectionDelta[direction].y == removeY - ) { - targetTrackType = TRACK_ELEM_BEGIN_STATION; - } else { - if (x == stationX0 && y == stationY0) { - targetTrackType = TRACK_ELEM_BEGIN_STATION; - } else { - targetTrackType = TRACK_ELEM_MIDDLE_STATION; - } - } - } - } - stationElement->properties.track.type = targetTrackType; + stationLength = 0; + targetTrackType = TRACK_ELEM_END_STATION; + } else { + if (x + TileDirectionDelta[direction].x == removeX && + y + TileDirectionDelta[direction].y == removeY + ) { + goto loc_6C4BF5; + } else { + if (x - TileDirectionDelta[direction].x == removeX && + y - TileDirectionDelta[direction].y == removeY + ) { + targetTrackType = TRACK_ELEM_BEGIN_STATION; + } else { + if (x == stationX0 && y == stationY0) { + targetTrackType = TRACK_ELEM_BEGIN_STATION; + } else { + targetTrackType = TRACK_ELEM_MIDDLE_STATION; + } + } + } + } + stationElement->properties.track.type = targetTrackType; - map_invalidate_element(x, y, stationElement); - } - } + map_invalidate_element(x, y, stationElement); + } + } - if (x != stationX0 || y != stationY0) { - x -= TileDirectionDelta[direction].x; - y -= TileDirectionDelta[direction].y; - finaliseStationDone = false; - } - } while (!finaliseStationDone); + if (x != stationX0 || y != stationY0) { + x -= TileDirectionDelta[direction].x; + y -= TileDirectionDelta[direction].y; + finaliseStationDone = false; + } + } while (!finaliseStationDone); - return true; + return true; } static money32 track_place(sint32 rideIndex, sint32 type, sint32 originX, sint32 originY, sint32 originZ, sint32 direction, sint32 properties_1, sint32 properties_2, sint32 properties_3, sint32 edx_flags, sint32 flags) { - rct_ride *ride = get_ride(rideIndex); - if (ride == NULL) - { - log_warning("Invalid ride for track placement, rideIndex = %d", rideIndex); - return MONEY32_UNDEFINED; - } - if (ride->type == RIDE_TYPE_NULL) { - log_warning("Invalid ride type, rideIndex = %d", rideIndex); - return MONEY32_UNDEFINED; - } - rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); - if (rideEntry == (rct_ride_entry *)-1 || rideEntry == NULL) - { - log_warning("Invalid ride type for track placement, rideIndex = %d", rideIndex); - return MONEY32_UNDEFINED; - } - rct_map_element *mapElement; + rct_ride *ride = get_ride(rideIndex); + if (ride == NULL) + { + log_warning("Invalid ride for track placement, rideIndex = %d", rideIndex); + return MONEY32_UNDEFINED; + } + if (ride->type == RIDE_TYPE_NULL) { + log_warning("Invalid ride type, rideIndex = %d", rideIndex); + return MONEY32_UNDEFINED; + } + rct_ride_entry *rideEntry = get_ride_entry(ride->subtype); + if (rideEntry == (rct_ride_entry *)-1 || rideEntry == NULL) + { + log_warning("Invalid ride type for track placement, rideIndex = %d", rideIndex); + return MONEY32_UNDEFINED; + } + rct_map_element *mapElement; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; - gCommandPosition.x = originX + 16; - gCommandPosition.y = originY + 16; - gCommandPosition.z = originZ; - sint16 trackpieceZ = originZ; - direction &= 3; - gTrackGroundFlags = 0; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; + gCommandPosition.x = originX + 16; + gCommandPosition.y = originY + 16; + gCommandPosition.z = originZ; + sint16 trackpieceZ = originZ; + direction &= 3; + gTrackGroundFlags = 0; - uint64 enabledTrackPieces = rideEntry->enabledTrackPieces & RideTypePossibleTrackConfigurations[ride->type]; - uint32 rideTypeFlags = RideProperties[ride->type].flags; + uint64 enabledTrackPieces = rideEntry->enabledTrackPieces & RideTypePossibleTrackConfigurations[ride->type]; + uint32 rideTypeFlags = RideProperties[ride->type].flags; - if ((ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK) && type == 1) { - gGameCommandErrorText = STR_NOT_ALLOWED_TO_MODIFY_STATION; - return MONEY32_UNDEFINED; - } + if ((ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK) && type == 1) { + gGameCommandErrorText = STR_NOT_ALLOWED_TO_MODIFY_STATION; + return MONEY32_UNDEFINED; + } - if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED)) { - if (game_is_paused() && !gCheatsBuildInPauseMode) { - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - return MONEY32_UNDEFINED; - } - } + if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED)) { + if (game_is_paused() && !gCheatsBuildInPauseMode) { + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + return MONEY32_UNDEFINED; + } + } - const uint8 (*wallEdges)[16]; - if (rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE) { - wallEdges = &FlatRideTrackSequenceElementAllowedWallEdges[type]; - } else { - if (type == TRACK_ELEM_ON_RIDE_PHOTO) { - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) { - gGameCommandErrorText = STR_ONLY_ONE_ON_RIDE_PHOTO_PER_RIDE; - return MONEY32_UNDEFINED; - } - } else if (type == TRACK_ELEM_CABLE_LIFT_HILL) { - if (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED) { - gGameCommandErrorText = STR_ONLY_ONE_CABLE_LIFT_HILL_PER_RIDE; - return MONEY32_UNDEFINED; - } - } - if ((edx_flags & (1 << 0)) && !(enabledTrackPieces & (1ULL << TRACK_LIFT_HILL_STEEP)) && !gCheatsEnableChainLiftOnAllTrack) { - if (TrackFlags[type] & TRACK_ELEM_FLAG_0400) { - gGameCommandErrorText = STR_TOO_STEEP_FOR_LIFT_HILL; - return MONEY32_UNDEFINED; - } - } + const uint8 (*wallEdges)[16]; + if (rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE) { + wallEdges = &FlatRideTrackSequenceElementAllowedWallEdges[type]; + } else { + if (type == TRACK_ELEM_ON_RIDE_PHOTO) { + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) { + gGameCommandErrorText = STR_ONLY_ONE_ON_RIDE_PHOTO_PER_RIDE; + return MONEY32_UNDEFINED; + } + } else if (type == TRACK_ELEM_CABLE_LIFT_HILL) { + if (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED) { + gGameCommandErrorText = STR_ONLY_ONE_CABLE_LIFT_HILL_PER_RIDE; + return MONEY32_UNDEFINED; + } + } + if ((edx_flags & (1 << 0)) && !(enabledTrackPieces & (1ULL << TRACK_LIFT_HILL_STEEP)) && !gCheatsEnableChainLiftOnAllTrack) { + if (TrackFlags[type] & TRACK_ELEM_FLAG_0400) { + gGameCommandErrorText = STR_TOO_STEEP_FOR_LIFT_HILL; + return MONEY32_UNDEFINED; + } + } - wallEdges = &TrackSequenceElementAllowedWallEdges[type]; - } + wallEdges = &TrackSequenceElementAllowedWallEdges[type]; + } - money32 cost = 0; - const rct_preview_track *trackBlock = get_track_def_from_ride(ride, type); - uint32 num_elements = 0; - // First check if any of the track pieces are outside the park - for (; trackBlock->index != 0xFF; trackBlock++) { - sint32 offsetX = 0; - sint32 offsetY = 0; + money32 cost = 0; + const rct_preview_track *trackBlock = get_track_def_from_ride(ride, type); + uint32 num_elements = 0; + // First check if any of the track pieces are outside the park + for (; trackBlock->index != 0xFF; trackBlock++) { + sint32 offsetX = 0; + sint32 offsetY = 0; - switch (direction) { - case 0: - offsetX = trackBlock->x; - offsetY = trackBlock->y; - break; - case 1: - offsetX = trackBlock->y; - offsetY = -trackBlock->x; - break; - case 2: - offsetX = -trackBlock->x; - offsetY = -trackBlock->y; - break; - case 3: - offsetX = -trackBlock->y; - offsetY = trackBlock->x; - break; - } + switch (direction) { + case 0: + offsetX = trackBlock->x; + offsetY = trackBlock->y; + break; + case 1: + offsetX = trackBlock->y; + offsetY = -trackBlock->x; + break; + case 2: + offsetX = -trackBlock->x; + offsetY = -trackBlock->y; + break; + case 3: + offsetX = -trackBlock->y; + offsetY = trackBlock->x; + break; + } - sint32 x = originX + offsetX; - sint32 y = originY + offsetY; - sint32 z = originZ + trackBlock->z; + sint32 x = originX + offsetX; + sint32 y = originY + offsetY; + sint32 z = originZ + trackBlock->z; - if (!map_is_location_owned(x, y, z) && !gCheatsSandboxMode) { - gGameCommandErrorText = STR_LAND_NOT_OWNED_BY_PARK; - return MONEY32_UNDEFINED; - } - num_elements++; - } + if (!map_is_location_owned(x, y, z) && !gCheatsSandboxMode) { + gGameCommandErrorText = STR_LAND_NOT_OWNED_BY_PARK; + return MONEY32_UNDEFINED; + } + num_elements++; + } - if (!map_check_free_elements_and_reorganise(num_elements)) { - return MONEY32_UNDEFINED; - } - const uint16 *trackFlags = (rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE) ? - FlatTrackFlags : - TrackFlags; - if (trackFlags[type] & TRACK_ELEM_FLAG_0100) { - if ((originZ & 0x0F) != 8) { - gGameCommandErrorText = STR_CONSTRUCTION_ERR_UNKNOWN; - return MONEY32_UNDEFINED; - } - } else { - if ((originZ & 0x0F) != 0) { - gGameCommandErrorText = STR_CONSTRUCTION_ERR_UNKNOWN; - return MONEY32_UNDEFINED; - } - } + if (!map_check_free_elements_and_reorganise(num_elements)) { + return MONEY32_UNDEFINED; + } + const uint16 *trackFlags = (rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE) ? + FlatTrackFlags : + TrackFlags; + if (trackFlags[type] & TRACK_ELEM_FLAG_0100) { + if ((originZ & 0x0F) != 8) { + gGameCommandErrorText = STR_CONSTRUCTION_ERR_UNKNOWN; + return MONEY32_UNDEFINED; + } + } else { + if ((originZ & 0x0F) != 0) { + gGameCommandErrorText = STR_CONSTRUCTION_ERR_UNKNOWN; + return MONEY32_UNDEFINED; + } + } - // If that is not the case, then perform the remaining checks - trackBlock = get_track_def_from_ride(ride, type); + // If that is not the case, then perform the remaining checks + trackBlock = get_track_def_from_ride(ride, type); - for (sint32 blockIndex = 0; trackBlock->index != 0xFF; trackBlock++, blockIndex++) { - sint32 offsetX = 0; - sint32 offsetY = 0; - sint32 bl = trackBlock->var_08; - sint32 bh; - switch (direction) { - case 0: - offsetX = trackBlock->x; - offsetY = trackBlock->y; - break; - case 1: - offsetX = trackBlock->y; - offsetY = -trackBlock->x; - bl = rol8(bl, 1); - bh = bl; - bh = ror8(bh, 4); - bl &= 0xEE; - bh &= 0x11; - bl |= bh; - break; - case 2: - offsetX = -trackBlock->x; - offsetY = -trackBlock->y; - bl = rol8(bl, 2); - bh = bl; - bh = ror8(bh, 4); - bl &= 0xCC; - bh &= 0x33; - bl |= bh; - break; - case 3: - offsetX = -trackBlock->y; - offsetY = trackBlock->x; - bl = rol8(bl, 3); - bh = bl; - bh = ror8(bh, 4); - bl &= 0x88; - bh &= 0x77; - bl |= bh; - break; - } - sint32 x = originX + offsetX; - sint32 y = originY + offsetY; - sint32 z = originZ + trackBlock->z; + for (sint32 blockIndex = 0; trackBlock->index != 0xFF; trackBlock++, blockIndex++) { + sint32 offsetX = 0; + sint32 offsetY = 0; + sint32 bl = trackBlock->var_08; + sint32 bh; + switch (direction) { + case 0: + offsetX = trackBlock->x; + offsetY = trackBlock->y; + break; + case 1: + offsetX = trackBlock->y; + offsetY = -trackBlock->x; + bl = rol8(bl, 1); + bh = bl; + bh = ror8(bh, 4); + bl &= 0xEE; + bh &= 0x11; + bl |= bh; + break; + case 2: + offsetX = -trackBlock->x; + offsetY = -trackBlock->y; + bl = rol8(bl, 2); + bh = bl; + bh = ror8(bh, 4); + bl &= 0xCC; + bh &= 0x33; + bl |= bh; + break; + case 3: + offsetX = -trackBlock->y; + offsetY = trackBlock->x; + bl = rol8(bl, 3); + bh = bl; + bh = ror8(bh, 4); + bl &= 0x88; + bh &= 0x77; + bl |= bh; + break; + } + sint32 x = originX + offsetX; + sint32 y = originY + offsetY; + sint32 z = originZ + trackBlock->z; - trackpieceZ = z; + trackpieceZ = z; - if (z < 16) { - gGameCommandErrorText = STR_TOO_LOW; - return MONEY32_UNDEFINED; - } + if (z < 16) { + gGameCommandErrorText = STR_TOO_LOW; + return MONEY32_UNDEFINED; + } - sint32 baseZ = (originZ + trackBlock->z) / 8; + sint32 baseZ = (originZ + trackBlock->z) / 8; - sint32 clearanceZ = trackBlock->var_07; - if (trackBlock->var_09 & (1 << 2) && RideData5[ride->type].clearance_height > 24) { - clearanceZ += 24; - } - else{ - clearanceZ += RideData5[ride->type].clearance_height; - } + sint32 clearanceZ = trackBlock->var_07; + if (trackBlock->var_09 & (1 << 2) && RideData5[ride->type].clearance_height > 24) { + clearanceZ += 24; + } + else{ + clearanceZ += RideData5[ride->type].clearance_height; + } - clearanceZ = (clearanceZ / 8) + baseZ; + clearanceZ = (clearanceZ / 8) + baseZ; - if (clearanceZ >= 255) { - gGameCommandErrorText = STR_TOO_HIGH; - return MONEY32_UNDEFINED; - } + if (clearanceZ >= 255) { + gGameCommandErrorText = STR_TOO_HIGH; + return MONEY32_UNDEFINED; + } - _currentTrackEndX = x; - _currentTrackEndY = y; + _currentTrackEndX = x; + _currentTrackEndY = y; - if (!gCheatsDisableClearanceChecks || flags & GAME_COMMAND_FLAG_GHOST){ - if (!map_can_construct_with_clear_at(x, y, baseZ, clearanceZ, &map_place_non_scenery_clear_func, bl, flags, &cost)) - return MONEY32_UNDEFINED; - } + if (!gCheatsDisableClearanceChecks || flags & GAME_COMMAND_FLAG_GHOST){ + if (!map_can_construct_with_clear_at(x, y, baseZ, clearanceZ, &map_place_non_scenery_clear_func, bl, flags, &cost)) + return MONEY32_UNDEFINED; + } - //6c53dc + //6c53dc - if ((flags & GAME_COMMAND_FLAG_APPLY) && !(flags & GAME_COMMAND_FLAG_GHOST) && !gCheatsDisableClearanceChecks) { - footpath_remove_litter(x, y, z); - if (rideTypeFlags & RIDE_TYPE_FLAG_TRACK_NO_WALLS) { - wall_remove_at(x, y, baseZ * 8, clearanceZ * 8); - } else { - // Remove walls in the directions this track intersects - uint8 intersectingDirections = (*wallEdges)[blockIndex]; - intersectingDirections ^= 0x0F; - for (sint32 i = 0; i < 4; i++) { - if (intersectingDirections & (1 << i)) { - wall_remove_intersecting_walls(x, y, baseZ, clearanceZ, i); - } - } - } - } + if ((flags & GAME_COMMAND_FLAG_APPLY) && !(flags & GAME_COMMAND_FLAG_GHOST) && !gCheatsDisableClearanceChecks) { + footpath_remove_litter(x, y, z); + if (rideTypeFlags & RIDE_TYPE_FLAG_TRACK_NO_WALLS) { + wall_remove_at(x, y, baseZ * 8, clearanceZ * 8); + } else { + // Remove walls in the directions this track intersects + uint8 intersectingDirections = (*wallEdges)[blockIndex]; + intersectingDirections ^= 0x0F; + for (sint32 i = 0; i < 4; i++) { + if (intersectingDirections & (1 << i)) { + wall_remove_intersecting_walls(x, y, baseZ, clearanceZ, i); + } + } + } + } - bh = gMapGroundFlags & (ELEMENT_IS_ABOVE_GROUND | ELEMENT_IS_UNDERGROUND); - if (gTrackGroundFlags != 0 && (gTrackGroundFlags & bh) == 0) { - gGameCommandErrorText = STR_CANT_BUILD_PARTLY_ABOVE_AND_PARTLY_BELOW_GROUND; - return MONEY32_UNDEFINED; - } + bh = gMapGroundFlags & (ELEMENT_IS_ABOVE_GROUND | ELEMENT_IS_UNDERGROUND); + if (gTrackGroundFlags != 0 && (gTrackGroundFlags & bh) == 0) { + gGameCommandErrorText = STR_CANT_BUILD_PARTLY_ABOVE_AND_PARTLY_BELOW_GROUND; + return MONEY32_UNDEFINED; + } - gTrackGroundFlags = bh; - if (rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE) { - if (FlatTrackFlags[type] & TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND) { - if (gTrackGroundFlags & TRACK_ELEMENT_LOCATION_IS_UNDERGROUND) { - gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND; - return MONEY32_UNDEFINED; - } - } - } - else { - if (TrackFlags[type] & TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND) { - if (gTrackGroundFlags & TRACK_ELEMENT_LOCATION_IS_UNDERGROUND) { - gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND; - return MONEY32_UNDEFINED; - } - } - } + gTrackGroundFlags = bh; + if (rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE) { + if (FlatTrackFlags[type] & TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND) { + if (gTrackGroundFlags & TRACK_ELEMENT_LOCATION_IS_UNDERGROUND) { + gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND; + return MONEY32_UNDEFINED; + } + } + } + else { + if (TrackFlags[type] & TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND) { + if (gTrackGroundFlags & TRACK_ELEMENT_LOCATION_IS_UNDERGROUND) { + gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND; + return MONEY32_UNDEFINED; + } + } + } - if (rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE) { - if (FlatTrackFlags[type] & TRACK_ELEM_FLAG_ONLY_UNDERWATER) { - if (!(gMapGroundFlags & ELEMENT_IS_UNDERWATER)) { - gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_UNDERWATER; - return MONEY32_UNDEFINED; - } - } - } - else { - if (TrackFlags[type] & TRACK_ELEM_FLAG_ONLY_UNDERWATER) { // No element has this flag - if (gMapGroundFlags & ELEMENT_IS_UNDERWATER) { - gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_UNDERWATER; - return MONEY32_UNDEFINED; - } - } - } + if (rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE) { + if (FlatTrackFlags[type] & TRACK_ELEM_FLAG_ONLY_UNDERWATER) { + if (!(gMapGroundFlags & ELEMENT_IS_UNDERWATER)) { + gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_UNDERWATER; + return MONEY32_UNDEFINED; + } + } + } + else { + if (TrackFlags[type] & TRACK_ELEM_FLAG_ONLY_UNDERWATER) { // No element has this flag + if (gMapGroundFlags & ELEMENT_IS_UNDERWATER) { + gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_UNDERWATER; + return MONEY32_UNDEFINED; + } + } + } - if (gMapGroundFlags & ELEMENT_IS_UNDERWATER) { - gGameCommandErrorText = STR_RIDE_CANT_BUILD_THIS_UNDERWATER; - return MONEY32_UNDEFINED; - } + if (gMapGroundFlags & ELEMENT_IS_UNDERWATER) { + gGameCommandErrorText = STR_RIDE_CANT_BUILD_THIS_UNDERWATER; + return MONEY32_UNDEFINED; + } - if ((rideTypeFlags & RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER) && !byte_9D8150) { - mapElement = map_get_surface_element_at(x / 32, y / 32); + if ((rideTypeFlags & RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER) && !byte_9D8150) { + mapElement = map_get_surface_element_at(x / 32, y / 32); - uint8 water_height = 2 * (mapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK); - if (water_height == 0) { - gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ON_WATER; - return MONEY32_UNDEFINED; - } + uint8 water_height = 2 * (mapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK); + if (water_height == 0) { + gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ON_WATER; + return MONEY32_UNDEFINED; + } - if (water_height != baseZ) { - gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ON_WATER; - return MONEY32_UNDEFINED; - } - water_height -= 2; - if (water_height == mapElement->base_height) { - bh = mapElement->properties.surface.slope & 0x0F; - if (bh == 7 || bh == 11 || bh == 13 || bh == 14) { - gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ON_WATER; - return MONEY32_UNDEFINED; - } - } - } + if (water_height != baseZ) { + gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ON_WATER; + return MONEY32_UNDEFINED; + } + water_height -= 2; + if (water_height == mapElement->base_height) { + bh = mapElement->properties.surface.slope & 0x0F; + if (bh == 7 || bh == 11 || bh == 13 || bh == 14) { + gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ON_WATER; + return MONEY32_UNDEFINED; + } + } + } - sint32 entranceDirections; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - entranceDirections = FlatRideTrackSequenceProperties[type][0]; - } - else { - entranceDirections = TrackSequenceProperties[type][0]; - } - if ((entranceDirections & TRACK_SEQUENCE_FLAG_ORIGIN) && trackBlock->index == 0) { - if (!track_add_station_element(x, y, baseZ, direction, rideIndex, 0)) { - return MONEY32_UNDEFINED; - } - } - //6c55be - if (entranceDirections & TRACK_SEQUENCE_FLAG_CONNECTS_TO_PATH) { - entranceDirections &= 0x0F; - if (entranceDirections != 0) { - if (!(flags & GAME_COMMAND_FLAG_APPLY) && !(flags & GAME_COMMAND_FLAG_GHOST) && !gCheatsDisableClearanceChecks) { - uint8 _bl = entranceDirections; - for (sint32 dl = bitscanforward(_bl); dl != -1; dl = bitscanforward(_bl)){ - _bl &= ~(1 << dl); - sint32 temp_x = x, temp_y = y; - sint32 temp_direction = (direction + dl) & 3; - temp_x += TileDirectionDelta[temp_direction].x; - temp_y += TileDirectionDelta[temp_direction].y; - temp_direction ^= (1 << 1); - wall_remove_intersecting_walls(temp_x, temp_y, baseZ, clearanceZ, temp_direction & 3); - } - } - } - } - //6c5648 12 push - mapElement = map_get_surface_element_at(x / 32, y / 32); - if (!gCheatsDisableSupportLimits){ - sint32 ride_height = clearanceZ - mapElement->base_height; - if (ride_height >= 0) { - sint32 maxHeight = rideEntry->max_height; - if (maxHeight == 0) { - maxHeight = RideData5[ride->type].max_height; - } - ride_height /= 2; - if (ride_height > maxHeight && !byte_9D8150) { - gGameCommandErrorText = STR_TOO_HIGH_FOR_SUPPORTS; - return MONEY32_UNDEFINED; - } - } - } + sint32 entranceDirections; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + entranceDirections = FlatRideTrackSequenceProperties[type][0]; + } + else { + entranceDirections = TrackSequenceProperties[type][0]; + } + if ((entranceDirections & TRACK_SEQUENCE_FLAG_ORIGIN) && trackBlock->index == 0) { + if (!track_add_station_element(x, y, baseZ, direction, rideIndex, 0)) { + return MONEY32_UNDEFINED; + } + } + //6c55be + if (entranceDirections & TRACK_SEQUENCE_FLAG_CONNECTS_TO_PATH) { + entranceDirections &= 0x0F; + if (entranceDirections != 0) { + if (!(flags & GAME_COMMAND_FLAG_APPLY) && !(flags & GAME_COMMAND_FLAG_GHOST) && !gCheatsDisableClearanceChecks) { + uint8 _bl = entranceDirections; + for (sint32 dl = bitscanforward(_bl); dl != -1; dl = bitscanforward(_bl)){ + _bl &= ~(1 << dl); + sint32 temp_x = x, temp_y = y; + sint32 temp_direction = (direction + dl) & 3; + temp_x += TileDirectionDelta[temp_direction].x; + temp_y += TileDirectionDelta[temp_direction].y; + temp_direction ^= (1 << 1); + wall_remove_intersecting_walls(temp_x, temp_y, baseZ, clearanceZ, temp_direction & 3); + } + } + } + } + //6c5648 12 push + mapElement = map_get_surface_element_at(x / 32, y / 32); + if (!gCheatsDisableSupportLimits){ + sint32 ride_height = clearanceZ - mapElement->base_height; + if (ride_height >= 0) { + sint32 maxHeight = rideEntry->max_height; + if (maxHeight == 0) { + maxHeight = RideData5[ride->type].max_height; + } + ride_height /= 2; + if (ride_height > maxHeight && !byte_9D8150) { + gGameCommandErrorText = STR_TOO_HIGH_FOR_SUPPORTS; + return MONEY32_UNDEFINED; + } + } + } - sint32 _support_height = baseZ - mapElement->base_height; - if (_support_height < 0) { - _support_height = 10; - } + sint32 _support_height = baseZ - mapElement->base_height; + if (_support_height < 0) { + _support_height = 10; + } - cost += ((_support_height / 2) * RideTrackCosts[ride->type].support_price) * 5; + cost += ((_support_height / 2) * RideTrackCosts[ride->type].support_price) * 5; - //6c56d3 + //6c56d3 - if (!(flags & GAME_COMMAND_FLAG_APPLY)) - continue; + if (!(flags & GAME_COMMAND_FLAG_APPLY)) + continue; - invalidate_test_results(rideIndex); - switch (type){ - case TRACK_ELEM_ON_RIDE_PHOTO: - ride->lifecycle_flags |= RIDE_LIFECYCLE_ON_RIDE_PHOTO; - break; - case TRACK_ELEM_CABLE_LIFT_HILL: - if (trackBlock->index != 0) - break; - ride->lifecycle_flags |= RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED; - ride->cable_lift_x = x; - ride->cable_lift_y = y; - ride->cable_lift_z = baseZ; - break; - case TRACK_ELEM_BLOCK_BRAKES: - ride->num_block_brakes++; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_OPERATING; - ride->mode = RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED; - if (ride->type == RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER) - ride->mode = RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED; - break; - } + invalidate_test_results(rideIndex); + switch (type){ + case TRACK_ELEM_ON_RIDE_PHOTO: + ride->lifecycle_flags |= RIDE_LIFECYCLE_ON_RIDE_PHOTO; + break; + case TRACK_ELEM_CABLE_LIFT_HILL: + if (trackBlock->index != 0) + break; + ride->lifecycle_flags |= RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED; + ride->cable_lift_x = x; + ride->cable_lift_y = y; + ride->cable_lift_z = baseZ; + break; + case TRACK_ELEM_BLOCK_BRAKES: + ride->num_block_brakes++; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_OPERATING; + ride->mode = RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED; + if (ride->type == RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER) + ride->mode = RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED; + break; + } - if (trackBlock->index == 0){ - switch (type){ - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - if (!(edx_flags & 1)) - break; - //Fall Through - case TRACK_ELEM_CABLE_LIFT_HILL: - ride->num_block_brakes++; - break; - } - } + if (trackBlock->index == 0){ + switch (type){ + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + if (!(edx_flags & 1)) + break; + //Fall Through + case TRACK_ELEM_CABLE_LIFT_HILL: + ride->num_block_brakes++; + break; + } + } - entranceDirections = 0; - if (ride->overall_view != 0xFFFF){ - if (!(flags & GAME_COMMAND_FLAG_5)){ - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - entranceDirections = FlatRideTrackSequenceProperties[type][0]; - } - else { - entranceDirections = TrackSequenceProperties[type][0]; - } - } - } - if (entranceDirections & TRACK_SEQUENCE_FLAG_ORIGIN || ride->overall_view == 0xFFFF){ - ride->overall_view = (x >> 5) | (y << 3); - } + entranceDirections = 0; + if (ride->overall_view != 0xFFFF){ + if (!(flags & GAME_COMMAND_FLAG_5)){ + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + entranceDirections = FlatRideTrackSequenceProperties[type][0]; + } + else { + entranceDirections = TrackSequenceProperties[type][0]; + } + } + } + if (entranceDirections & TRACK_SEQUENCE_FLAG_ORIGIN || ride->overall_view == 0xFFFF){ + ride->overall_view = (x >> 5) | (y << 3); + } - mapElement = map_element_insert(x / 32, y / 32, baseZ, bl & 0xF); - assert(mapElement != NULL); - mapElement->clearance_height = clearanceZ; + mapElement = map_element_insert(x / 32, y / 32, baseZ, bl & 0xF); + assert(mapElement != NULL); + mapElement->clearance_height = clearanceZ; - uint8 map_type = direction; - map_type |= MAP_ELEMENT_TYPE_TRACK; - if (edx_flags & 1){ - map_type |= (1 << 7); - } - mapElement->type = map_type; + uint8 map_type = direction; + map_type |= MAP_ELEMENT_TYPE_TRACK; + if (edx_flags & 1){ + map_type |= (1 << 7); + } + mapElement->type = map_type; - mapElement->properties.track.sequence = trackBlock->index; - mapElement->properties.track.ride_index = rideIndex; - mapElement->properties.track.type = type; - mapElement->properties.track.colour = 0; - if (flags & GAME_COMMAND_FLAG_GHOST){ - mapElement->flags |= MAP_ELEMENT_FLAG_GHOST; - } + mapElement->properties.track.sequence = trackBlock->index; + mapElement->properties.track.ride_index = rideIndex; + mapElement->properties.track.type = type; + mapElement->properties.track.colour = 0; + if (flags & GAME_COMMAND_FLAG_GHOST){ + mapElement->flags |= MAP_ELEMENT_FLAG_GHOST; + } - switch (type) { - case TRACK_ELEM_WATERFALL: - map_animation_create(MAP_ANIMATION_TYPE_TRACK_WATERFALL, x, y, mapElement->base_height); - break; - case TRACK_ELEM_RAPIDS: - map_animation_create(MAP_ANIMATION_TYPE_TRACK_RAPIDS, x, y, mapElement->base_height); - break; - case TRACK_ELEM_WHIRLPOOL: - map_animation_create(MAP_ANIMATION_TYPE_TRACK_WHIRLPOOL, x, y, mapElement->base_height); - break; - case TRACK_ELEM_SPINNING_TUNNEL: - map_animation_create(MAP_ANIMATION_TYPE_TRACK_SPINNINGTUNNEL, x, y, mapElement->base_height); - break; - } - if (type == TRACK_ELEM_BRAKES || type == TRACK_ELEM_BOOSTER) { - mapElement->properties.track.sequence = (properties_1 >> 1) << 4; - } - else { - mapElement->properties.track.colour = properties_3 << 4; - } + switch (type) { + case TRACK_ELEM_WATERFALL: + map_animation_create(MAP_ANIMATION_TYPE_TRACK_WATERFALL, x, y, mapElement->base_height); + break; + case TRACK_ELEM_RAPIDS: + map_animation_create(MAP_ANIMATION_TYPE_TRACK_RAPIDS, x, y, mapElement->base_height); + break; + case TRACK_ELEM_WHIRLPOOL: + map_animation_create(MAP_ANIMATION_TYPE_TRACK_WHIRLPOOL, x, y, mapElement->base_height); + break; + case TRACK_ELEM_SPINNING_TUNNEL: + map_animation_create(MAP_ANIMATION_TYPE_TRACK_SPINNINGTUNNEL, x, y, mapElement->base_height); + break; + } + if (type == TRACK_ELEM_BRAKES || type == TRACK_ELEM_BOOSTER) { + mapElement->properties.track.sequence = (properties_1 >> 1) << 4; + } + else { + mapElement->properties.track.colour = properties_3 << 4; + } - uint8 colour = properties_2; - if (edx_flags & (1 << 1)){ - colour |= (1 << 2); - } - mapElement->properties.track.colour |= colour; + uint8 colour = properties_2; + if (edx_flags & (1 << 1)){ + colour |= (1 << 2); + } + mapElement->properties.track.colour |= colour; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - entranceDirections = FlatRideTrackSequenceProperties[type][0]; - } - else { - entranceDirections = TrackSequenceProperties[type][0]; - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + entranceDirections = FlatRideTrackSequenceProperties[type][0]; + } + else { + entranceDirections = TrackSequenceProperties[type][0]; + } - if (entranceDirections & TRACK_SEQUENCE_FLAG_ORIGIN) { - if (trackBlock->index == 0) { - track_add_station_element(x, y, baseZ, direction, rideIndex, GAME_COMMAND_FLAG_APPLY); - } - sub_6CB945(rideIndex); - ride_update_max_vehicles(rideIndex); - } + if (entranceDirections & TRACK_SEQUENCE_FLAG_ORIGIN) { + if (trackBlock->index == 0) { + track_add_station_element(x, y, baseZ, direction, rideIndex, GAME_COMMAND_FLAG_APPLY); + } + sub_6CB945(rideIndex); + ride_update_max_vehicles(rideIndex); + } - if (rideTypeFlags & RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER){ - rct_map_element* surfaceElement = map_get_surface_element_at(x / 32, y / 32); - surfaceElement->type |= (1 << 6); - mapElement = surfaceElement; - } + if (rideTypeFlags & RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER){ + rct_map_element* surfaceElement = map_get_surface_element_at(x / 32, y / 32); + surfaceElement->type |= (1 << 6); + mapElement = surfaceElement; + } - if (!gCheatsDisableClearanceChecks || !(flags & (1 << 6))) { - footpath_connect_edges(x, y, mapElement, flags); - } - map_invalidate_tile_full(x, y); - } + if (!gCheatsDisableClearanceChecks || !(flags & (1 << 6))) { + footpath_connect_edges(x, y, mapElement, flags); + } + map_invalidate_tile_full(x, y); + } - if (gGameCommandNestLevel == 1) { - rct_xyz16 coord; - coord.x = originX + 16; - coord.y = originY + 16; - coord.z = trackpieceZ; - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (gGameCommandNestLevel == 1) { + rct_xyz16 coord; + coord.x = originX + 16; + coord.y = originY + 16; + coord.z = trackpieceZ; + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - money32 price = RideTrackCosts[ride->type].track_price; - price *= (rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE) ? - FlatRideTrackPricing[type] : - TrackPricing[type]; + money32 price = RideTrackCosts[ride->type].track_price; + price *= (rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE) ? + FlatRideTrackPricing[type] : + TrackPricing[type]; - price >>= 16; - price = cost + ((price / 2) * 10); + price >>= 16; + price = cost + ((price / 2) * 10); - if (gParkFlags & PARK_FLAGS_NO_MONEY) { - return 0; - } - else { - return price; - } + if (gParkFlags & PARK_FLAGS_NO_MONEY) { + return 0; + } + else { + return price; + } } /** @@ -1418,285 +1418,285 @@ static money32 track_place(sint32 rideIndex, sint32 type, sint32 originX, sint32 */ void game_command_place_track(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - *ebx = track_place( - *edx & 0xFF, - (*edx >> 8) & 0xFF, - (sint16)(*eax & 0xFFFF), - (sint16)(*ecx & 0xFFFF), - (sint16)(*edi & 0xFFFF), - (*ebx >> 8) & 0xFF, - (*edi >> 16) & 0xFF, - (*edi >> 24) & 0x0F, - (*edi >> 28) & 0x0F, - (*edx >> 16), - *ebx & 0xFF - ); + *ebx = track_place( + *edx & 0xFF, + (*edx >> 8) & 0xFF, + (sint16)(*eax & 0xFFFF), + (sint16)(*ecx & 0xFFFF), + (sint16)(*edi & 0xFFFF), + (*ebx >> 8) & 0xFF, + (*edi >> 16) & 0xFF, + (*edi >> 24) & 0x0F, + (*edi >> 28) & 0x0F, + (*edx >> 16), + *ebx & 0xFF + ); } static money32 track_remove(uint8 type, uint8 sequence, sint16 originX, sint16 originY, sint16 originZ, uint8 rotation, uint8 flags){ - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; - gCommandPosition.x = originX + 16; - gCommandPosition.y = originY + 16; - gCommandPosition.z = originZ; - sint16 trackpieceZ = originZ; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; + gCommandPosition.x = originX + 16; + gCommandPosition.y = originY + 16; + gCommandPosition.z = originZ; + sint16 trackpieceZ = originZ; - switch (type){ - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - type = TRACK_ELEM_END_STATION; - break; - } + switch (type){ + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + type = TRACK_ELEM_END_STATION; + break; + } - if (!(flags & (1 << 3)) && game_is_paused() && !gCheatsBuildInPauseMode){ - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - return MONEY32_UNDEFINED; - } + if (!(flags & (1 << 3)) && game_is_paused() && !gCheatsBuildInPauseMode){ + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + return MONEY32_UNDEFINED; + } - uint8 found = 0; - rct_map_element* mapElement = map_get_first_element_at(originX / 32, originY / 32); - if (mapElement == NULL) - { - log_warning("Invalid coordinates for track removal. x = %d, y = %d", originX, originY); - return MONEY32_UNDEFINED; - } - do{ - if (mapElement->base_height * 8 != originZ) - continue; + uint8 found = 0; + rct_map_element* mapElement = map_get_first_element_at(originX / 32, originY / 32); + if (mapElement == NULL) + { + log_warning("Invalid coordinates for track removal. x = %d, y = %d", originX, originY); + return MONEY32_UNDEFINED; + } + do{ + if (mapElement->base_height * 8 != originZ) + continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != rotation) - continue; + if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != rotation) + continue; - if ((mapElement->properties.track.sequence & 0xF) != sequence) - continue; + if ((mapElement->properties.track.sequence & 0xF) != sequence) + continue; - // Probably should add a check for ghost here as well! + // Probably should add a check for ghost here as well! - uint8 track_type = mapElement->properties.track.type; - switch (track_type){ - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - track_type = TRACK_ELEM_END_STATION; - break; - } + uint8 track_type = mapElement->properties.track.type; + switch (track_type){ + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + track_type = TRACK_ELEM_END_STATION; + break; + } - if (track_type != type) - continue; + if (track_type != type) + continue; - found = 1; - break; - } while (!map_element_is_last_for_tile(mapElement++)); + found = 1; + break; + } while (!map_element_is_last_for_tile(mapElement++)); - if (!found){ - return MONEY32_UNDEFINED; - } + if (!found){ + return MONEY32_UNDEFINED; + } - if (mapElement->flags & (1 << 6)){ - gGameCommandErrorText = STR_YOU_ARE_NOT_ALLOWED_TO_REMOVE_THIS_SECTION; - return MONEY32_UNDEFINED; - } + if (mapElement->flags & (1 << 6)){ + gGameCommandErrorText = STR_YOU_ARE_NOT_ALLOWED_TO_REMOVE_THIS_SECTION; + return MONEY32_UNDEFINED; + } - uint8 rideIndex = mapElement->properties.track.ride_index; - type = mapElement->properties.track.type; - bool isLiftHill = track_element_is_lift_hill(mapElement); + uint8 rideIndex = mapElement->properties.track.ride_index; + type = mapElement->properties.track.type; + bool isLiftHill = track_element_is_lift_hill(mapElement); - rct_ride* ride = get_ride(rideIndex); - const rct_preview_track* trackBlock = get_track_def_from_ride(ride, type); - trackBlock += mapElement->properties.track.sequence & 0xF; + rct_ride* ride = get_ride(rideIndex); + const rct_preview_track* trackBlock = get_track_def_from_ride(ride, type); + trackBlock += mapElement->properties.track.sequence & 0xF; - uint8 originDirection = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - switch (originDirection){ - case 0: - originX -= trackBlock->x; - originY -= trackBlock->y; - break; - case 1: - originX -= trackBlock->y; - originY += trackBlock->x; - break; - case 2: - originX += trackBlock->x; - originY += trackBlock->y; - break; - case 3: - originX += trackBlock->y; - originY -= trackBlock->x; - break; - } + uint8 originDirection = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + switch (originDirection){ + case 0: + originX -= trackBlock->x; + originY -= trackBlock->y; + break; + case 1: + originX -= trackBlock->y; + originY += trackBlock->x; + break; + case 2: + originX += trackBlock->x; + originY += trackBlock->y; + break; + case 3: + originX += trackBlock->y; + originY -= trackBlock->x; + break; + } - originZ -= trackBlock->z; + originZ -= trackBlock->z; - money32 cost = 0; + money32 cost = 0; - trackBlock = get_track_def_from_ride(ride, type); - for (; trackBlock->index != 255; trackBlock++){ - sint16 x = originX, y = originY, z = originZ; + trackBlock = get_track_def_from_ride(ride, type); + for (; trackBlock->index != 255; trackBlock++){ + sint16 x = originX, y = originY, z = originZ; - switch (originDirection){ - case 0: - x += trackBlock->x; - y += trackBlock->y; - break; - case 1: - x += trackBlock->y; - y -= trackBlock->x; - break; - case 2: - x -= trackBlock->x; - y -= trackBlock->y; - break; - case 3: - x -= trackBlock->y; - y += trackBlock->x; - break; - } + switch (originDirection){ + case 0: + x += trackBlock->x; + y += trackBlock->y; + break; + case 1: + x += trackBlock->y; + y -= trackBlock->x; + break; + case 2: + x -= trackBlock->x; + y -= trackBlock->y; + break; + case 3: + x -= trackBlock->y; + y += trackBlock->x; + break; + } - z += trackBlock->z; + z += trackBlock->z; - map_invalidate_tile_full(x, y); + map_invalidate_tile_full(x, y); - trackpieceZ = z; + trackpieceZ = z; - found = 0; - mapElement = map_get_first_element_at(x / 32, y / 32); - do{ - if (mapElement->base_height != z / 8) - continue; + found = 0; + mapElement = map_get_first_element_at(x / 32, y / 32); + do{ + if (mapElement->base_height != z / 8) + continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != rotation) - continue; + if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != rotation) + continue; - if ((mapElement->properties.track.sequence & 0xF) != trackBlock->index) - continue; + if ((mapElement->properties.track.sequence & 0xF) != trackBlock->index) + continue; - if (mapElement->properties.track.type != type) - continue; + if (mapElement->properties.track.type != type) + continue; - found = 1; - break; - } while (!map_element_is_last_for_tile(mapElement++)); + found = 1; + break; + } while (!map_element_is_last_for_tile(mapElement++)); - if (!found){ - log_error("Track map element part not found!"); - return MONEY32_UNDEFINED; - } + if (!found){ + log_error("Track map element part not found!"); + return MONEY32_UNDEFINED; + } - sint32 entranceDirections; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - entranceDirections = FlatRideTrackSequenceProperties[type][0]; - } - else { - entranceDirections = TrackSequenceProperties[type][0]; - } + sint32 entranceDirections; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + entranceDirections = FlatRideTrackSequenceProperties[type][0]; + } + else { + entranceDirections = TrackSequenceProperties[type][0]; + } - if (entranceDirections & TRACK_SEQUENCE_FLAG_ORIGIN && ((mapElement->properties.track.sequence & 0xF) == 0)){ - if (!track_remove_station_element(x, y, z / 8, rotation, rideIndex, 0)) { - return MONEY32_UNDEFINED; - } - } + if (entranceDirections & TRACK_SEQUENCE_FLAG_ORIGIN && ((mapElement->properties.track.sequence & 0xF) == 0)){ + if (!track_remove_station_element(x, y, z / 8, rotation, rideIndex, 0)) { + return MONEY32_UNDEFINED; + } + } - rct_map_element* surfaceElement = map_get_surface_element_at(x / 32, y / 32); - if (surfaceElement == NULL){ - return MONEY32_UNDEFINED; - } + rct_map_element* surfaceElement = map_get_surface_element_at(x / 32, y / 32); + if (surfaceElement == NULL){ + return MONEY32_UNDEFINED; + } - sint8 _support_height = mapElement->base_height - surfaceElement->base_height; - if (_support_height < 0){ - _support_height = 10; - } + sint8 _support_height = mapElement->base_height - surfaceElement->base_height; + if (_support_height < 0){ + _support_height = 10; + } - cost += (_support_height / 2) * RideTrackCosts[ride->type].support_price; + cost += (_support_height / 2) * RideTrackCosts[ride->type].support_price; - if (!(flags & GAME_COMMAND_FLAG_APPLY)) - continue; + if (!(flags & GAME_COMMAND_FLAG_APPLY)) + continue; - if (entranceDirections & (1 << 4) && ((mapElement->properties.track.sequence & 0xF) == 0)){ - if (!track_remove_station_element(x, y, z / 8, rotation, rideIndex, GAME_COMMAND_FLAG_APPLY)) { - return MONEY32_UNDEFINED; - } - } + if (entranceDirections & (1 << 4) && ((mapElement->properties.track.sequence & 0xF) == 0)){ + if (!track_remove_station_element(x, y, z / 8, rotation, rideIndex, GAME_COMMAND_FLAG_APPLY)) { + return MONEY32_UNDEFINED; + } + } - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER)){ - surfaceElement->type &= ~(1 << 6); - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER)){ + surfaceElement->type &= ~(1 << 6); + } - invalidate_test_results(rideIndex); - footpath_queue_chain_reset(); - if (!gCheatsDisableClearanceChecks || !(mapElement->flags & MAP_ELEMENT_FLAG_GHOST)) { - footpath_remove_edges_at(x, y, mapElement); - } - map_element_remove(mapElement); - sub_6CB945(rideIndex); - if (!(flags & (1 << 6))){ - ride_update_max_vehicles(rideIndex); - } - } + invalidate_test_results(rideIndex); + footpath_queue_chain_reset(); + if (!gCheatsDisableClearanceChecks || !(mapElement->flags & MAP_ELEMENT_FLAG_GHOST)) { + footpath_remove_edges_at(x, y, mapElement); + } + map_element_remove(mapElement); + sub_6CB945(rideIndex); + if (!(flags & (1 << 6))){ + ride_update_max_vehicles(rideIndex); + } + } - if (flags & GAME_COMMAND_FLAG_APPLY){ - switch (type){ - case TRACK_ELEM_ON_RIDE_PHOTO: - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_ON_RIDE_PHOTO; - break; - case TRACK_ELEM_CABLE_LIFT_HILL: - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED; - break; - case TRACK_ELEM_BLOCK_BRAKES: - ride->num_block_brakes--; - if (ride->num_block_brakes == 0){ - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_OPERATING; - ride->mode = RIDE_MODE_CONTINUOUS_CIRCUIT; - if (ride->type == RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER){ - ride->mode = RIDE_MODE_POWERED_LAUNCH; - } - } - break; - } + if (flags & GAME_COMMAND_FLAG_APPLY){ + switch (type){ + case TRACK_ELEM_ON_RIDE_PHOTO: + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_ON_RIDE_PHOTO; + break; + case TRACK_ELEM_CABLE_LIFT_HILL: + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED; + break; + case TRACK_ELEM_BLOCK_BRAKES: + ride->num_block_brakes--; + if (ride->num_block_brakes == 0){ + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_OPERATING; + ride->mode = RIDE_MODE_CONTINUOUS_CIRCUIT; + if (ride->type == RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER){ + ride->mode = RIDE_MODE_POWERED_LAUNCH; + } + } + break; + } - switch (type){ - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - if (!isLiftHill) - break; - // Fall through - case TRACK_ELEM_CABLE_LIFT_HILL: - ride->num_block_brakes--; - break; - } - } + switch (type){ + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + if (!isLiftHill) + break; + // Fall through + case TRACK_ELEM_CABLE_LIFT_HILL: + ride->num_block_brakes--; + break; + } + } - money32 price = RideTrackCosts[ride->type].track_price; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - price *= FlatRideTrackPricing[type]; - } - else { - price *= TrackPricing[type]; - } - price >>= 16; - price = (price + cost) / 2; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_EVER_BEEN_OPENED) - price *= -7; - else - price *= -10; + money32 price = RideTrackCosts[ride->type].track_price; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + price *= FlatRideTrackPricing[type]; + } + else { + price *= TrackPricing[type]; + } + price >>= 16; + price = (price + cost) / 2; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_EVER_BEEN_OPENED) + price *= -7; + else + price *= -10; - if (gGameCommandNestLevel == 1) { - rct_xyz16 coord; - coord.x = originX + 16; - coord.y = originY + 16; - coord.z = trackpieceZ; - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (gGameCommandNestLevel == 1) { + rct_xyz16 coord; + coord.x = originX + 16; + coord.y = originY + 16; + coord.z = trackpieceZ; + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - if (gParkFlags & PARK_FLAGS_NO_MONEY) - return 0; - else - return price; + if (gParkFlags & PARK_FLAGS_NO_MONEY) + return 0; + else + return price; } /** @@ -1705,262 +1705,262 @@ static money32 track_remove(uint8 type, uint8 sequence, sint16 originX, sint16 o */ void game_command_remove_track(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - *ebx = track_remove( - *edx & 0xFF, - (*edx >> 8) & 0xFF, - *eax & 0xFFFF, - *ecx & 0xFFFF, - *edi & 0xFFFF, - (*ebx >> 8) & 0xFF, - *ebx & 0xFF - ); - return; + *ebx = track_remove( + *edx & 0xFF, + (*edx >> 8) & 0xFF, + *eax & 0xFFFF, + *ecx & 0xFFFF, + *edi & 0xFFFF, + (*ebx >> 8) & 0xFF, + *ebx & 0xFF + ); + return; } static uint8 maze_element_get_segment_bit(uint16 x, uint16 y) { - uint8 minorX = x & 0x1F; // 0 or 16 - uint8 minorY = y & 0x1F; // 0 or 16 + uint8 minorX = x & 0x1F; // 0 or 16 + uint8 minorY = y & 0x1F; // 0 or 16 - if (minorX == 0 && minorY == 0) { - return 3; - } + if (minorX == 0 && minorY == 0) { + return 3; + } - if (minorY == 16 && minorX == 16) { - return 11; - } + if (minorY == 16 && minorX == 16) { + return 11; + } - if (minorY == 0) { - return 15; - } + if (minorY == 0) { + return 15; + } - return 7; + return 7; } /** rct2: 0x00993CE9 */ static const uint8 byte_993CE9[] = { - 0xFF, 0xE0, 0xFF, - 14, 0, 1, 2, - 6, 2, 4, 5, - 9, 10, 6, 8, - 12, 13, 14, 10, + 0xFF, 0xE0, 0xFF, + 14, 0, 1, 2, + 6, 2, 4, 5, + 9, 10, 6, 8, + 12, 13, 14, 10, }; /** rct2: 0x00993CFC */ static const uint8 byte_993CFC[] = { - 5, 12, 0xFF, 0xFF, 9, 0, 0xFF, 0xFF, 13, 4, 0xFF, 0xFF, 1, 8, 0xFF, 0xFF + 5, 12, 0xFF, 0xFF, 9, 0, 0xFF, 0xFF, 13, 4, 0xFF, 0xFF, 1, 8, 0xFF, 0xFF }; /** rct2: 0x00993D0C */ static const uint8 byte_993D0C[] = { - 3, 0, 0xFF, 0xFF, 0, 1, 0xFF, 0xFF, 1, 2, 0xFF, 0xFF, 2, 3, 0xFF, 0xFF + 3, 0, 0xFF, 0xFF, 0, 1, 0xFF, 0xFF, 1, 2, 0xFF, 0xFF, 2, 3, 0xFF, 0xFF }; static money32 set_maze_track(uint16 x, uint8 flags, uint8 direction, uint16 y, uint8 rideIndex, uint8 mode, uint16 z) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; - gCommandPosition.x = x + 8; - gCommandPosition.y = y + 8; - gCommandPosition.z = z; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; + gCommandPosition.x = x + 8; + gCommandPosition.y = y + 8; + gCommandPosition.z = z; - money32 cost = 0; + money32 cost = 0; - if (!map_check_free_elements_and_reorganise(1)) { - return MONEY32_UNDEFINED; - } + if (!map_check_free_elements_and_reorganise(1)) { + return MONEY32_UNDEFINED; + } - if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED) && !gCheatsBuildInPauseMode && game_is_paused()) { - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - return MONEY32_UNDEFINED; - } + if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED) && !gCheatsBuildInPauseMode && game_is_paused()) { + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + return MONEY32_UNDEFINED; + } - if ((z & 0xF) != 0) { - gGameCommandErrorText = STR_CONSTRUCTION_ERR_UNKNOWN; - return MONEY32_UNDEFINED; - } + if ((z & 0xF) != 0) { + gGameCommandErrorText = STR_CONSTRUCTION_ERR_UNKNOWN; + return MONEY32_UNDEFINED; + } - if ((flags & GAME_COMMAND_FLAG_APPLY) != 0) { - if (!(flags & GAME_COMMAND_FLAG_GHOST) && !(flags & GAME_COMMAND_FLAG_2)) { - footpath_remove_litter(x, y, z); - wall_remove_at(floor2(x, 32), floor2(y, 32), z, z + 32); - } - } + if ((flags & GAME_COMMAND_FLAG_APPLY) != 0) { + if (!(flags & GAME_COMMAND_FLAG_GHOST) && !(flags & GAME_COMMAND_FLAG_2)) { + footpath_remove_litter(x, y, z); + wall_remove_at(floor2(x, 32), floor2(y, 32), z, z + 32); + } + } - if (!map_is_location_owned(floor2(x, 32), floor2(y, 32), z) && !gCheatsSandboxMode) { - return MONEY32_UNDEFINED; - } + if (!map_is_location_owned(floor2(x, 32), floor2(y, 32), z) && !gCheatsSandboxMode) { + return MONEY32_UNDEFINED; + } - rct_map_element *mapElement = map_get_surface_element_at(x / 32, y / 32); - if (mapElement == NULL) { - return MONEY32_UNDEFINED; - } + rct_map_element *mapElement = map_get_surface_element_at(x / 32, y / 32); + if (mapElement == NULL) { + return MONEY32_UNDEFINED; + } - uint8 baseHeight = z >> 3; - uint8 clearanceHeight = (z + 32) >> 3; + uint8 baseHeight = z >> 3; + uint8 clearanceHeight = (z + 32) >> 3; - sint8 heightDifference = baseHeight - mapElement->base_height; - if (heightDifference >= 0 && !gCheatsDisableSupportLimits) { - heightDifference = heightDifference >> 1; + sint8 heightDifference = baseHeight - mapElement->base_height; + if (heightDifference >= 0 && !gCheatsDisableSupportLimits) { + heightDifference = heightDifference >> 1; - if (heightDifference > RideData5[RIDE_TYPE_MAZE].max_height) { - gGameCommandErrorText = STR_TOO_HIGH_FOR_SUPPORTS; - return MONEY32_UNDEFINED; - } - } + if (heightDifference > RideData5[RIDE_TYPE_MAZE].max_height) { + gGameCommandErrorText = STR_TOO_HIGH_FOR_SUPPORTS; + return MONEY32_UNDEFINED; + } + } - mapElement = map_get_track_element_at_of_type_from_ride(x, y, baseHeight, TRACK_ELEM_MAZE, rideIndex); - if (mapElement == NULL) { - if (mode != GC_SET_MAZE_TRACK_BUILD) { - gGameCommandErrorText = 0; - return MONEY32_UNDEFINED; - } + mapElement = map_get_track_element_at_of_type_from_ride(x, y, baseHeight, TRACK_ELEM_MAZE, rideIndex); + if (mapElement == NULL) { + if (mode != GC_SET_MAZE_TRACK_BUILD) { + gGameCommandErrorText = 0; + return MONEY32_UNDEFINED; + } - if (!map_can_construct_at(floor2(x, 32), floor2(y, 32), baseHeight, clearanceHeight, 0x0F)) { - return MONEY32_UNDEFINED; - } + if (!map_can_construct_at(floor2(x, 32), floor2(y, 32), baseHeight, clearanceHeight, 0x0F)) { + return MONEY32_UNDEFINED; + } - if (gMapGroundFlags & ELEMENT_IS_UNDERWATER) { - gGameCommandErrorText = STR_RIDE_CANT_BUILD_THIS_UNDERWATER; - return MONEY32_UNDEFINED; - } + if (gMapGroundFlags & ELEMENT_IS_UNDERWATER) { + gGameCommandErrorText = STR_RIDE_CANT_BUILD_THIS_UNDERWATER; + return MONEY32_UNDEFINED; + } - if (gMapGroundFlags & ELEMENT_IS_UNDERGROUND) { - gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND; - return MONEY32_UNDEFINED; - } + if (gMapGroundFlags & ELEMENT_IS_UNDERGROUND) { + gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND; + return MONEY32_UNDEFINED; + } - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - money32 price = (((RideTrackCosts[ride->type].track_price * TrackPricing[TRACK_ELEM_MAZE]) >> 16)); - cost = price / 2 * 10; + money32 price = (((RideTrackCosts[ride->type].track_price * TrackPricing[TRACK_ELEM_MAZE]) >> 16)); + cost = price / 2 * 10; - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - if (gParkFlags & PARK_FLAGS_NO_MONEY) { - return 0; - } + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + if (gParkFlags & PARK_FLAGS_NO_MONEY) { + return 0; + } - return cost; - } + return cost; + } - uint16 flooredX = floor2(x, 32); - uint16 flooredY = floor2(y, 32); + uint16 flooredX = floor2(x, 32); + uint16 flooredY = floor2(y, 32); - mapElement = map_element_insert(x / 32, y / 32, baseHeight, 0xF); - assert(mapElement != NULL); - mapElement->clearance_height = clearanceHeight; - mapElement->type = MAP_ELEMENT_TYPE_TRACK; - mapElement->properties.track.type = TRACK_ELEM_MAZE; - mapElement->properties.track.ride_index = rideIndex; - mapElement->properties.track.maze_entry = 0xFFFF; + mapElement = map_element_insert(x / 32, y / 32, baseHeight, 0xF); + assert(mapElement != NULL); + mapElement->clearance_height = clearanceHeight; + mapElement->type = MAP_ELEMENT_TYPE_TRACK; + mapElement->properties.track.type = TRACK_ELEM_MAZE; + mapElement->properties.track.ride_index = rideIndex; + mapElement->properties.track.maze_entry = 0xFFFF; - if (flags & GAME_COMMAND_FLAG_GHOST) { - mapElement->flags |= MAP_ELEMENT_FLAG_GHOST; - } + if (flags & GAME_COMMAND_FLAG_GHOST) { + mapElement->flags |= MAP_ELEMENT_FLAG_GHOST; + } - map_invalidate_tile_full(flooredX, flooredY); + map_invalidate_tile_full(flooredX, flooredY); - ride->maze_tiles++; - ride->station_heights[0] = mapElement->base_height; - ride->station_starts[0] = 0; + ride->maze_tiles++; + ride->station_heights[0] = mapElement->base_height; + ride->station_starts[0] = 0; - if (direction == 4) { - if (!(flags & GAME_COMMAND_FLAG_GHOST)) { - ride->overall_view = (flooredX >> 5) | (flooredY << 3); - } - } - } + if (direction == 4) { + if (!(flags & GAME_COMMAND_FLAG_GHOST)) { + ride->overall_view = (flooredX >> 5) | (flooredY << 3); + } + } + } - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - if (gParkFlags & PARK_FLAGS_NO_MONEY) { - return 0; - } + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + if (gParkFlags & PARK_FLAGS_NO_MONEY) { + return 0; + } - return cost; - } + return cost; + } - switch (mode) { - case GC_SET_MAZE_TRACK_BUILD: - { - uint8 segmentOffset = maze_element_get_segment_bit(x, y); + switch (mode) { + case GC_SET_MAZE_TRACK_BUILD: + { + uint8 segmentOffset = maze_element_get_segment_bit(x, y); - mapElement->properties.track.maze_entry &= ~(1 << segmentOffset); + mapElement->properties.track.maze_entry &= ~(1 << segmentOffset); - if (direction != 4) { - segmentOffset = byte_993CE9[(direction + segmentOffset)]; - mapElement->properties.track.maze_entry &= ~(1 << segmentOffset); + if (direction != 4) { + segmentOffset = byte_993CE9[(direction + segmentOffset)]; + mapElement->properties.track.maze_entry &= ~(1 << segmentOffset); - uint8 temp_edx = byte_993CFC[segmentOffset]; - if (temp_edx != 0xFF) { - uint16 previousElementX = floor2(x, 32) - TileDirectionDelta[direction].x; - uint16 previousElementY = floor2(y, 32) - TileDirectionDelta[direction].y; + uint8 temp_edx = byte_993CFC[segmentOffset]; + if (temp_edx != 0xFF) { + uint16 previousElementX = floor2(x, 32) - TileDirectionDelta[direction].x; + uint16 previousElementY = floor2(y, 32) - TileDirectionDelta[direction].y; - rct_map_element *previousMapElement = map_get_track_element_at_of_type_from_ride(previousElementX, previousElementY, baseHeight, TRACK_ELEM_MAZE, rideIndex); - if (previousMapElement != NULL) { - previousMapElement->properties.track.maze_entry &= ~(1 << temp_edx); - } else { - mapElement->properties.track.maze_entry |= (1 << segmentOffset); - } - } - } + rct_map_element *previousMapElement = map_get_track_element_at_of_type_from_ride(previousElementX, previousElementY, baseHeight, TRACK_ELEM_MAZE, rideIndex); + if (previousMapElement != NULL) { + previousMapElement->properties.track.maze_entry &= ~(1 << temp_edx); + } else { + mapElement->properties.track.maze_entry |= (1 << segmentOffset); + } + } + } - break; - } + break; + } - case GC_SET_MAZE_TRACK_MOVE: - break; + case GC_SET_MAZE_TRACK_MOVE: + break; - case GC_SET_MAZE_TRACK_FILL: - if (direction != 4) { - uint16 previousSegmentX = x - TileDirectionDelta[direction].x / 2; - uint16 previousSegmentY = y - TileDirectionDelta[direction].y / 2; + case GC_SET_MAZE_TRACK_FILL: + if (direction != 4) { + uint16 previousSegmentX = x - TileDirectionDelta[direction].x / 2; + uint16 previousSegmentY = y - TileDirectionDelta[direction].y / 2; - mapElement = map_get_track_element_at_of_type_from_ride(previousSegmentX, previousSegmentY, baseHeight, TRACK_ELEM_MAZE, rideIndex); - map_invalidate_tile_full(floor2(previousSegmentX, 32), floor2(previousSegmentY, 32)); - if (mapElement == NULL) { - log_error("No surface found"); - return MONEY32_UNDEFINED; - } + mapElement = map_get_track_element_at_of_type_from_ride(previousSegmentX, previousSegmentY, baseHeight, TRACK_ELEM_MAZE, rideIndex); + map_invalidate_tile_full(floor2(previousSegmentX, 32), floor2(previousSegmentY, 32)); + if (mapElement == NULL) { + log_error("No surface found"); + return MONEY32_UNDEFINED; + } - uint32 segmentBit = maze_element_get_segment_bit(previousSegmentX, previousSegmentY); + uint32 segmentBit = maze_element_get_segment_bit(previousSegmentX, previousSegmentY); - mapElement->properties.track.maze_entry |= (1 << segmentBit); - segmentBit--; - mapElement->properties.track.maze_entry |= (1 << segmentBit); - segmentBit = (segmentBit - 4) & 0x0F; - mapElement->properties.track.maze_entry |= (1 << segmentBit); - segmentBit = (segmentBit + 3) & 0x0F; + mapElement->properties.track.maze_entry |= (1 << segmentBit); + segmentBit--; + mapElement->properties.track.maze_entry |= (1 << segmentBit); + segmentBit = (segmentBit - 4) & 0x0F; + mapElement->properties.track.maze_entry |= (1 << segmentBit); + segmentBit = (segmentBit + 3) & 0x0F; - do { - mapElement->properties.track.maze_entry |= (1 << segmentBit); + do { + mapElement->properties.track.maze_entry |= (1 << segmentBit); - uint32 direction1 = byte_993D0C[segmentBit]; - uint16 nextElementX = floor2(previousSegmentX, 32) + TileDirectionDelta[direction1].x; - uint16 nextElementY = floor2(previousSegmentY, 32) + TileDirectionDelta[direction1].y; + uint32 direction1 = byte_993D0C[segmentBit]; + uint16 nextElementX = floor2(previousSegmentX, 32) + TileDirectionDelta[direction1].x; + uint16 nextElementY = floor2(previousSegmentY, 32) + TileDirectionDelta[direction1].y; - rct_map_element *tmp_mapElement = map_get_track_element_at_of_type_from_ride(nextElementX, nextElementY, baseHeight, TRACK_ELEM_MAZE, rideIndex); - if (tmp_mapElement != NULL) { - uint8 edx11 = byte_993CFC[segmentBit]; - tmp_mapElement->properties.track.maze_entry |= 1 << (edx11); - } + rct_map_element *tmp_mapElement = map_get_track_element_at_of_type_from_ride(nextElementX, nextElementY, baseHeight, TRACK_ELEM_MAZE, rideIndex); + if (tmp_mapElement != NULL) { + uint8 edx11 = byte_993CFC[segmentBit]; + tmp_mapElement->properties.track.maze_entry |= 1 << (edx11); + } - segmentBit--; - } while ((segmentBit & 0x3) != 0x3); - } - break; - } + segmentBit--; + } while ((segmentBit & 0x3) != 0x3); + } + break; + } - map_invalidate_tile(floor2(x, 32), floor2(y, 32), mapElement->base_height * 8, mapElement->clearance_height * 8); + map_invalidate_tile(floor2(x, 32), floor2(y, 32), mapElement->base_height * 8, mapElement->clearance_height * 8); - if ((mapElement->properties.track.maze_entry & 0x8888) == 0x8888) { - map_element_remove(mapElement); - sub_6CB945(rideIndex); - get_ride(rideIndex)->maze_tiles--; - } + if ((mapElement->properties.track.maze_entry & 0x8888) == 0x8888) { + map_element_remove(mapElement); + sub_6CB945(rideIndex); + get_ride(rideIndex)->maze_tiles--; + } - if (gParkFlags & PARK_FLAGS_NO_MONEY) { - return 0; - } + if (gParkFlags & PARK_FLAGS_NO_MONEY) { + return 0; + } - return cost; + return cost; } /** @@ -1969,15 +1969,15 @@ static money32 set_maze_track(uint16 x, uint8 flags, uint8 direction, uint16 y, */ void game_command_set_maze_track(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - uint16 x = (*eax & 0xFFFF); // AX - uint8 flags = (*ebx & 0xFF); // BL - uint8 direction = ((*ebx & 0xFF00) >> 8); // BH - uint16 y = (*ecx & 0xFFFF); // CX - uint8 rideIndex = (*edx & 0xFF); // DL - uint8 mode = ((*edx & 0xFF00) >> 8); // DH - uint16 z = (*edi & 0xFFFF); // DI + uint16 x = (*eax & 0xFFFF); // AX + uint8 flags = (*ebx & 0xFF); // BL + uint8 direction = ((*ebx & 0xFF00) >> 8); // BH + uint16 y = (*ecx & 0xFFFF); // CX + uint8 rideIndex = (*edx & 0xFF); // DL + uint8 mode = ((*edx & 0xFF00) >> 8); // DH + uint16 z = (*edi & 0xFFFF); // DI - *ebx = set_maze_track(x, flags, direction, y, rideIndex, mode, z); + *ebx = set_maze_track(x, flags, direction, y, rideIndex, mode, z); } /** @@ -1986,153 +1986,153 @@ void game_command_set_maze_track(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 * */ void game_command_set_brakes_speed(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - rct_map_element *mapElement; - sint32 x, y, z, trackType, brakesSpeed; + rct_map_element *mapElement; + sint32 x, y, z, trackType, brakesSpeed; - x = (*eax & 0xFFFF); - y = (*ecx & 0xFFFF); - z = (*edi & 0xFFFF); - trackType = (*edx & 0xFF); - brakesSpeed = ((*ebx >> 8) & 0xFF); + x = (*eax & 0xFFFF); + y = (*ecx & 0xFFFF); + z = (*edi & 0xFFFF); + trackType = (*edx & 0xFF); + brakesSpeed = ((*ebx >> 8) & 0xFF); - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; - gCommandPosition.x = x + 16; - gCommandPosition.y = y + 16; - gCommandPosition.z = z; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; + gCommandPosition.x = x + 16; + gCommandPosition.y = y + 16; + gCommandPosition.z = z; - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - *ebx = 0; - return; - } + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + *ebx = 0; + return; + } - mapElement = map_get_first_element_at(x >> 5, y >> 5); - if (mapElement == NULL) - { - log_warning("Invalid game command for setting brakes speed. x = %d, y = %d", x, y); - *ebx = MONEY32_UNDEFINED; - return; - } - do { - if (mapElement->base_height * 8 != z) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; - if (mapElement->properties.track.type != trackType) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + if (mapElement == NULL) + { + log_warning("Invalid game command for setting brakes speed. x = %d, y = %d", x, y); + *ebx = MONEY32_UNDEFINED; + return; + } + do { + if (mapElement->base_height * 8 != z) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; + if (mapElement->properties.track.type != trackType) + continue; - mapElement->properties.track.sequence = - (mapElement->properties.track.sequence & 0x0F) | - ((brakesSpeed >> 1) << 4); + mapElement->properties.track.sequence = + (mapElement->properties.track.sequence & 0x0F) | + ((brakesSpeed >> 1) << 4); - break; - } while (!map_element_is_last_for_tile(mapElement++)); + break; + } while (!map_element_is_last_for_tile(mapElement++)); - *ebx = 0; + *ebx = 0; } void track_circuit_iterator_begin(track_circuit_iterator *it, rct_xy_element first) { - it->last = first; - it->first = NULL; - it->firstIteration = true; - it->looped = false; + it->last = first; + it->first = NULL; + it->firstIteration = true; + it->looped = false; } bool track_circuit_iterator_previous(track_circuit_iterator *it) { - track_begin_end trackBeginEnd; + track_begin_end trackBeginEnd; - if (it->first == NULL) { - if (!track_block_get_previous(it->last.x, it->last.y, it->last.element, &trackBeginEnd)) - return false; + if (it->first == NULL) { + if (!track_block_get_previous(it->last.x, it->last.y, it->last.element, &trackBeginEnd)) + return false; - it->current.x = trackBeginEnd.begin_x; - it->current.y = trackBeginEnd.begin_y; - it->current.element = trackBeginEnd.begin_element; - it->currentZ = trackBeginEnd.begin_z; - it->currentDirection = trackBeginEnd.begin_direction; + it->current.x = trackBeginEnd.begin_x; + it->current.y = trackBeginEnd.begin_y; + it->current.element = trackBeginEnd.begin_element; + it->currentZ = trackBeginEnd.begin_z; + it->currentDirection = trackBeginEnd.begin_direction; - it->first = it->current.element; - return true; - } else { - if (!it->firstIteration && it->first == it->current.element) { - it->looped = true; - return false; - } + it->first = it->current.element; + return true; + } else { + if (!it->firstIteration && it->first == it->current.element) { + it->looped = true; + return false; + } - it->firstIteration = false; - it->last = it->current; + it->firstIteration = false; + it->last = it->current; - if (track_block_get_previous(it->last.x, it->last.y, it->last.element, &trackBeginEnd)) { - it->current.x = trackBeginEnd.end_x; - it->current.y = trackBeginEnd.end_y; - it->current.element = trackBeginEnd.begin_element; - it->currentZ = trackBeginEnd.begin_z; - it->currentDirection = trackBeginEnd.begin_direction; - return true; - } else { - return false; - } - } + if (track_block_get_previous(it->last.x, it->last.y, it->last.element, &trackBeginEnd)) { + it->current.x = trackBeginEnd.end_x; + it->current.y = trackBeginEnd.end_y; + it->current.element = trackBeginEnd.begin_element; + it->currentZ = trackBeginEnd.begin_z; + it->currentDirection = trackBeginEnd.begin_direction; + return true; + } else { + return false; + } + } } bool track_circuit_iterator_next(track_circuit_iterator *it) { - if (it->first == NULL) { - if (!track_block_get_next(&it->last, &it->current, &it->currentZ, &it->currentDirection)) - return false; + if (it->first == NULL) { + if (!track_block_get_next(&it->last, &it->current, &it->currentZ, &it->currentDirection)) + return false; - it->first = it->current.element; - return true; - } else { - if (!it->firstIteration && it->first == it->current.element) { - it->looped = true; - return false; - } + it->first = it->current.element; + return true; + } else { + if (!it->firstIteration && it->first == it->current.element) { + it->looped = true; + return false; + } - it->firstIteration = false; - it->last = it->current; - return track_block_get_next(&it->last, &it->current, &it->currentZ, &it->currentDirection); - } + it->firstIteration = false; + it->last = it->current; + return track_block_get_next(&it->last, &it->current, &it->currentZ, &it->currentDirection); + } } void track_get_back(rct_xy_element *input, rct_xy_element *output) { - rct_xy_element lastTrack; - track_begin_end currentTrack; - bool result; + rct_xy_element lastTrack; + track_begin_end currentTrack; + bool result; - lastTrack = *input; - do { - result = track_block_get_previous(lastTrack.x, lastTrack.y, lastTrack.element, ¤tTrack); - if (result) { - lastTrack.x = currentTrack.begin_x; - lastTrack.y = currentTrack.begin_y; - lastTrack.element = currentTrack.begin_element; - } - } while (result); - *output = lastTrack; + lastTrack = *input; + do { + result = track_block_get_previous(lastTrack.x, lastTrack.y, lastTrack.element, ¤tTrack); + if (result) { + lastTrack.x = currentTrack.begin_x; + lastTrack.y = currentTrack.begin_y; + lastTrack.element = currentTrack.begin_element; + } + } while (result); + *output = lastTrack; } void track_get_front(rct_xy_element *input, rct_xy_element *output) { - rct_xy_element lastTrack, currentTrack; - sint32 z, direction; - bool result; + rct_xy_element lastTrack, currentTrack; + sint32 z, direction; + bool result; - lastTrack = *input; - do { - result = track_block_get_next(&lastTrack, ¤tTrack, &z, &direction); - if (result) { - lastTrack = currentTrack; - } - } while (result); - *output = lastTrack; + lastTrack = *input; + do { + result = track_block_get_next(&lastTrack, ¤tTrack, &z, &direction); + if (result) { + lastTrack = currentTrack; + } + } while (result); + *output = lastTrack; } bool track_element_is_lift_hill(rct_map_element *trackElement) { - return trackElement->type & TRACK_ELEMENT_FLAG_CHAIN_LIFT; + return trackElement->type & TRACK_ELEMENT_FLAG_CHAIN_LIFT; } /** @@ -2142,107 +2142,107 @@ bool track_element_is_lift_hill(rct_map_element *trackElement) */ bool track_element_is_block_start(rct_map_element *trackElement) { - switch (trackElement->properties.track.type) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_CABLE_LIFT_HILL: - case TRACK_ELEM_BLOCK_BRAKES: - return true; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - if (track_element_is_lift_hill(trackElement)) { - return true; - } - break; - } - return false; + switch (trackElement->properties.track.type) { + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_CABLE_LIFT_HILL: + case TRACK_ELEM_BLOCK_BRAKES: + return true; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + if (track_element_is_lift_hill(trackElement)) { + return true; + } + break; + } + return false; } bool track_element_is_cable_lift(rct_map_element *trackElement) { - return trackElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT; + return trackElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT; } void track_element_set_cable_lift(rct_map_element *trackElement) { - trackElement->properties.track.colour |= TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT; + trackElement->properties.track.colour |= TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT; } void track_element_clear_cable_lift(rct_map_element *trackElement) { - trackElement->properties.track.colour &= ~TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT; + trackElement->properties.track.colour &= ~TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT; } bool track_element_is_inverted(rct_map_element *trackElement) { - return trackElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED; + return trackElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED; } sint32 track_get_actual_bank(rct_map_element *mapElement, sint32 bank) { - rct_ride *ride = get_ride(mapElement->properties.track.ride_index); - sint32 trackColour = mapElement->properties.track.colour; - return track_get_actual_bank_2(ride->type, trackColour, bank); + rct_ride *ride = get_ride(mapElement->properties.track.ride_index); + sint32 trackColour = mapElement->properties.track.colour; + return track_get_actual_bank_2(ride->type, trackColour, bank); } sint32 track_get_actual_bank_2(sint32 rideType, sint32 trackColour, sint32 bank) { - if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { - if (trackColour & 4) { - if (bank == TRACK_BANK_NONE) { - bank = TRACK_BANK_UPSIDE_DOWN; - } else if (bank == TRACK_BANK_UPSIDE_DOWN) { - bank = TRACK_BANK_NONE; - } - } - } - return bank; + if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { + if (trackColour & 4) { + if (bank == TRACK_BANK_NONE) { + bank = TRACK_BANK_UPSIDE_DOWN; + } else if (bank == TRACK_BANK_UPSIDE_DOWN) { + bank = TRACK_BANK_NONE; + } + } + } + return bank; } sint32 track_get_actual_bank_3(rct_vehicle *vehicle, rct_map_element *mapElement) { - uint8 colourThingToXor = (vehicle->update_flags >> 9) & 0xFF; - sint32 trackType = mapElement->properties.track.type; - sint32 rideType = get_ride(mapElement->properties.track.ride_index)->type; - sint32 trackColour = mapElement->properties.track.colour ^ colourThingToXor; - sint32 bankStart = TrackDefinitions[trackType].bank_start; - return track_get_actual_bank_2(rideType, trackColour, bankStart); + uint8 colourThingToXor = (vehicle->update_flags >> 9) & 0xFF; + sint32 trackType = mapElement->properties.track.type; + sint32 rideType = get_ride(mapElement->properties.track.ride_index)->type; + sint32 trackColour = mapElement->properties.track.colour ^ colourThingToXor; + sint32 bankStart = TrackDefinitions[trackType].bank_start; + return track_get_actual_bank_2(rideType, trackColour, bankStart); } bool track_element_is_station(rct_map_element *trackElement) { - switch (trackElement->properties.track.type) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return true; - default: - return false; - } + switch (trackElement->properties.track.type) { + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return true; + default: + return false; + } } bool track_element_is_covered(sint32 trackElementType) { - switch (trackElementType) { - case TRACK_ELEM_FLAT_COVERED: - case TRACK_ELEM_25_DEG_UP_COVERED: - case TRACK_ELEM_60_DEG_UP_COVERED: - case TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED: - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED: - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED: - case TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED: - case TRACK_ELEM_25_DEG_DOWN_COVERED: - case TRACK_ELEM_60_DEG_DOWN_COVERED: - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED: - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED: - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED: - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: - case TRACK_ELEM_S_BEND_LEFT_COVERED: - case TRACK_ELEM_S_BEND_RIGHT_COVERED: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: - return true; - default: - return false; - } + switch (trackElementType) { + case TRACK_ELEM_FLAT_COVERED: + case TRACK_ELEM_25_DEG_UP_COVERED: + case TRACK_ELEM_60_DEG_UP_COVERED: + case TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED: + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED: + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED: + case TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED: + case TRACK_ELEM_25_DEG_DOWN_COVERED: + case TRACK_ELEM_60_DEG_DOWN_COVERED: + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED: + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED: + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED: + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED: + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: + case TRACK_ELEM_S_BEND_LEFT_COVERED: + case TRACK_ELEM_S_BEND_RIGHT_COVERED: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: + return true; + default: + return false; + } } diff --git a/src/openrct2/ride/track.h b/src/openrct2/ride/track.h index be608ff79f..0c234d68f0 100644 --- a/src/openrct2/ride/track.h +++ b/src/openrct2/ride/track.h @@ -23,13 +23,13 @@ #pragma pack(push, 1) typedef struct rct_trackdefinition { - uint8 type; - uint8 vangle_end; - uint8 vangle_start; - uint8 bank_end; - uint8 bank_start; - sint8 preview_z_offset; - uint8 pad[2]; + uint8 type; + uint8 vangle_end; + uint8 vangle_start; + uint8 bank_end; + uint8 bank_start; + sint8 preview_z_offset; + uint8 pad[2]; } rct_trackdefinition; assert_struct_size(rct_trackdefinition, 8); #pragma pack(pop) @@ -38,40 +38,40 @@ assert_struct_size(rct_trackdefinition, 8); * Size: 0x0A */ typedef struct rct_preview_track { - uint8 index; // 0x00 - sint16 x; // 0x01 - sint16 y; // 0x03 - sint16 z; // 0x05 - uint8 var_07; - uint8 var_08; - uint8 var_09; + uint8 index; // 0x00 + sint16 x; // 0x01 + sint16 y; // 0x03 + sint16 z; // 0x05 + uint8 var_07; + uint8 var_08; + uint8 var_09; } rct_preview_track; /* size 0x0A */ typedef struct rct_track_coordinates { - sint8 rotation_begin; // 0x00 - sint8 rotation_end; // 0x01 - sint16 z_begin; // 0x02 - sint16 z_end; // 0x04 - sint16 x; // 0x06 - sint16 y; // 0x08 + sint8 rotation_begin; // 0x00 + sint8 rotation_end; // 0x01 + sint16 z_begin; // 0x02 + sint16 z_end; // 0x04 + sint16 x; // 0x06 + sint16 y; // 0x08 } rct_track_coordinates; enum { - TRACK_ELEMENT_FLAG_TERMINAL_STATION = 1 << 3, - TRACK_ELEMENT_FLAG_INVERTED = 1 << 6, - TRACK_ELEMENT_FLAG_CHAIN_LIFT = 1 << 7, + TRACK_ELEMENT_FLAG_TERMINAL_STATION = 1 << 3, + TRACK_ELEMENT_FLAG_INVERTED = 1 << 6, + TRACK_ELEMENT_FLAG_CHAIN_LIFT = 1 << 7, }; enum { - // Not anything to do with colour but uses - // that field in the map element + // Not anything to do with colour but uses + // that field in the map element - // Used for multi-dimension coaster - TRACK_ELEMENT_COLOUR_FLAG_INVERTED = (1 << 2), + // Used for multi-dimension coaster + TRACK_ELEMENT_COLOUR_FLAG_INVERTED = (1 << 2), - // Used for giga coaster - TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT = (1 << 3), + // Used for giga coaster + TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT = (1 << 3), }; #define TRACK_ELEMENT_FLAG_MAGNITUDE_MASK 0x0F @@ -81,431 +81,431 @@ enum { #define MAX_STATION_PLATFORM_LENGTH 32 enum { - TRACK_NONE = 0, + TRACK_NONE = 0, - TRACK_FLAT = 0, - TRACK_STRAIGHT, - TRACK_STATION_END, - TRACK_LIFT_HILL, - TRACK_LIFT_HILL_STEEP, - TRACK_LIFT_HILL_CURVE, - TRACK_FLAT_ROLL_BANKING, - TRACK_VERTICAL_LOOP, - TRACK_SLOPE, - TRACK_SLOPE_STEEP, - TRACK_SLOPE_LONG, - TRACK_SLOPE_CURVE, - TRACK_SLOPE_CURVE_STEEP, - TRACK_S_BEND, - TRACK_CURVE_VERY_SMALL, - TRACK_CURVE_SMALL, - TRACK_CURVE, - TRACK_TWIST, - TRACK_HALF_LOOP, - TRACK_CORKSCREW, - TRACK_TOWER_BASE, - TRACK_HELIX_SMALL, - TRACK_HELIX_LARGE, - TRACK_HELIX_LARGE_UNBANKED, - TRACK_BRAKES, - TRACK_25, - TRACK_ON_RIDE_PHOTO, - TRACK_WATER_SPLASH, - TRACK_SLOPE_VERTICAL, - TRACK_BARREL_ROLL, - TRACK_POWERED_LIFT, - TRACK_HALF_LOOP_LARGE, - TRACK_SLOPE_CURVE_BANKED, - TRACK_LOG_FLUME_REVERSER, - TRACK_HEARTLINE_ROLL, - TRACK_REVERSER, - TRACK_REVERSE_FREEFALL, - TRACK_SLOPE_TO_FLAT, - TRACK_BLOCK_BRAKES, - TRACK_SLOPE_ROLL_BANKING, - TRACK_SLOPE_STEEP_LONG, - TRACK_CURVE_VERTICAL, - TRACK_42, - TRACK_LIFT_HILL_CABLE, - TRACK_LIFT_HILL_CURVED, - TRACK_QUARTER_LOOP, - TRACK_SPINNING_TUNNEL, - TRACK_ROTATION_CONTROL_TOGGLE, - TRACK_INLINE_TWIST_UNINVERTED, - TRACK_INLINE_TWIST_INVERTED, - TRACK_QUARTER_LOOP_UNINVERTED, - TRACK_QUARTER_LOOP_INVERTED, - TRACK_RAPIDS, - TRACK_HALF_LOOP_UNINVERTED, - TRACK_HALF_LOOP_INVERTED, - TRACK_BOOSTER = TRACK_ROTATION_CONTROL_TOGGLE, + TRACK_FLAT = 0, + TRACK_STRAIGHT, + TRACK_STATION_END, + TRACK_LIFT_HILL, + TRACK_LIFT_HILL_STEEP, + TRACK_LIFT_HILL_CURVE, + TRACK_FLAT_ROLL_BANKING, + TRACK_VERTICAL_LOOP, + TRACK_SLOPE, + TRACK_SLOPE_STEEP, + TRACK_SLOPE_LONG, + TRACK_SLOPE_CURVE, + TRACK_SLOPE_CURVE_STEEP, + TRACK_S_BEND, + TRACK_CURVE_VERY_SMALL, + TRACK_CURVE_SMALL, + TRACK_CURVE, + TRACK_TWIST, + TRACK_HALF_LOOP, + TRACK_CORKSCREW, + TRACK_TOWER_BASE, + TRACK_HELIX_SMALL, + TRACK_HELIX_LARGE, + TRACK_HELIX_LARGE_UNBANKED, + TRACK_BRAKES, + TRACK_25, + TRACK_ON_RIDE_PHOTO, + TRACK_WATER_SPLASH, + TRACK_SLOPE_VERTICAL, + TRACK_BARREL_ROLL, + TRACK_POWERED_LIFT, + TRACK_HALF_LOOP_LARGE, + TRACK_SLOPE_CURVE_BANKED, + TRACK_LOG_FLUME_REVERSER, + TRACK_HEARTLINE_ROLL, + TRACK_REVERSER, + TRACK_REVERSE_FREEFALL, + TRACK_SLOPE_TO_FLAT, + TRACK_BLOCK_BRAKES, + TRACK_SLOPE_ROLL_BANKING, + TRACK_SLOPE_STEEP_LONG, + TRACK_CURVE_VERTICAL, + TRACK_42, + TRACK_LIFT_HILL_CABLE, + TRACK_LIFT_HILL_CURVED, + TRACK_QUARTER_LOOP, + TRACK_SPINNING_TUNNEL, + TRACK_ROTATION_CONTROL_TOGGLE, + TRACK_INLINE_TWIST_UNINVERTED, + TRACK_INLINE_TWIST_INVERTED, + TRACK_QUARTER_LOOP_UNINVERTED, + TRACK_QUARTER_LOOP_INVERTED, + TRACK_RAPIDS, + TRACK_HALF_LOOP_UNINVERTED, + TRACK_HALF_LOOP_INVERTED, + TRACK_BOOSTER = TRACK_ROTATION_CONTROL_TOGGLE, - TRACK_WATERFALL = 152, - TRACK_WHIRLPOOL = 152, - TRACK_BRAKE_FOR_DROP = 172, - TRACK_190 = 190, - TRACK_192 = 192, - TRACK_194 = 194, - TRACK_MINI_GOLF_HOLE = 195, + TRACK_WATERFALL = 152, + TRACK_WHIRLPOOL = 152, + TRACK_BRAKE_FOR_DROP = 172, + TRACK_190 = 190, + TRACK_192 = 192, + TRACK_194 = 194, + TRACK_MINI_GOLF_HOLE = 195, }; enum { - TRACK_CURVE_LEFT_VERY_SMALL = 5, - TRACK_CURVE_LEFT_SMALL = 3, - TRACK_CURVE_LEFT = 1, - TRACK_CURVE_LEFT_LARGE = 7, - TRACK_CURVE_NONE = 0, - TRACK_CURVE_RIGHT_LARGE = 8, - TRACK_CURVE_RIGHT = 2, - TRACK_CURVE_RIGHT_SMALL = 4, - TRACK_CURVE_RIGHT_VERY_SMALL = 6 + TRACK_CURVE_LEFT_VERY_SMALL = 5, + TRACK_CURVE_LEFT_SMALL = 3, + TRACK_CURVE_LEFT = 1, + TRACK_CURVE_LEFT_LARGE = 7, + TRACK_CURVE_NONE = 0, + TRACK_CURVE_RIGHT_LARGE = 8, + TRACK_CURVE_RIGHT = 2, + TRACK_CURVE_RIGHT_SMALL = 4, + TRACK_CURVE_RIGHT_VERY_SMALL = 6 }; enum { - TRACK_SLOPE_NONE = 0, - TRACK_SLOPE_UP_25 = 2, - TRACK_SLOPE_UP_60 = 4, - TRACK_SLOPE_DOWN_25 = 6, - TRACK_SLOPE_DOWN_60 = 8, - TRACK_SLOPE_UP_90 = 10, - TRACK_SLOPE_DOWN_90 = 18, + TRACK_SLOPE_NONE = 0, + TRACK_SLOPE_UP_25 = 2, + TRACK_SLOPE_UP_60 = 4, + TRACK_SLOPE_DOWN_25 = 6, + TRACK_SLOPE_DOWN_60 = 8, + TRACK_SLOPE_UP_90 = 10, + TRACK_SLOPE_DOWN_90 = 18, - TRACK_VANGLE_TOWER = 10, - TRACK_VANGLE_REVERSE_FREEFALL = 10 + TRACK_VANGLE_TOWER = 10, + TRACK_VANGLE_REVERSE_FREEFALL = 10 }; enum { - TRACK_BANK_NONE = 0, - TRACK_BANK_LEFT = 2, - TRACK_BANK_RIGHT = 4, - TRACK_BANK_UPSIDE_DOWN = 15, + TRACK_BANK_NONE = 0, + TRACK_BANK_LEFT = 2, + TRACK_BANK_RIGHT = 4, + TRACK_BANK_UPSIDE_DOWN = 15, }; enum { - TRACK_HALF_LOOP_UP = 64, - TRACK_HALF_LOOP_DOWN = 192, - TRACK_UNKNOWN_VERTICAL_LOOP = 208, - TRACK_216 = 216, - TRACK_CORKSCREW_DOWN = 224 + TRACK_HALF_LOOP_UP = 64, + TRACK_HALF_LOOP_DOWN = 192, + TRACK_UNKNOWN_VERTICAL_LOOP = 208, + TRACK_216 = 216, + TRACK_CORKSCREW_DOWN = 224 }; enum { - TRACK_ELEM_FLAG_ONLY_UNDERWATER = (1 << 0), - TRACK_ELEM_FLAG_TURN_LEFT = (1 << 1), - TRACK_ELEM_FLAG_TURN_RIGHT = (1 << 2), - TRACK_ELEM_FLAG_TURN_BANKED = (1 << 3), - TRACK_ELEM_FLAG_TURN_SLOPED = (1 << 4), - TRACK_ELEM_FLAG_DOWN = (1 << 5), - TRACK_ELEM_FLAG_UP = (1 << 6), - TRACK_ELEM_FLAG_INVERSION = (1 << 7), - TRACK_ELEM_FLAG_0100 = (1 << 8), - TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND = (1 << 9), - TRACK_ELEM_FLAG_0400 = (1 << 10), - TRACK_ELEM_FLAG_HELIX = (1 << 11), - TRACK_ELEM_FLAG_1000 = (1 << 12), - TRACK_ELEM_FLAG_2000 = (1 << 13), - TRACK_ELEM_FLAG_4000 = (1 << 14), - TRACK_ELEM_FLAG_8000 = (1 << 15), + TRACK_ELEM_FLAG_ONLY_UNDERWATER = (1 << 0), + TRACK_ELEM_FLAG_TURN_LEFT = (1 << 1), + TRACK_ELEM_FLAG_TURN_RIGHT = (1 << 2), + TRACK_ELEM_FLAG_TURN_BANKED = (1 << 3), + TRACK_ELEM_FLAG_TURN_SLOPED = (1 << 4), + TRACK_ELEM_FLAG_DOWN = (1 << 5), + TRACK_ELEM_FLAG_UP = (1 << 6), + TRACK_ELEM_FLAG_INVERSION = (1 << 7), + TRACK_ELEM_FLAG_0100 = (1 << 8), + TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND = (1 << 9), + TRACK_ELEM_FLAG_0400 = (1 << 10), + TRACK_ELEM_FLAG_HELIX = (1 << 11), + TRACK_ELEM_FLAG_1000 = (1 << 12), + TRACK_ELEM_FLAG_2000 = (1 << 13), + TRACK_ELEM_FLAG_4000 = (1 << 14), + TRACK_ELEM_FLAG_8000 = (1 << 15), }; enum { - TRACK_ELEM_FLAT, - TRACK_ELEM_END_STATION, - TRACK_ELEM_BEGIN_STATION, - TRACK_ELEM_MIDDLE_STATION, - TRACK_ELEM_25_DEG_UP, - TRACK_ELEM_60_DEG_UP, - TRACK_ELEM_FLAT_TO_25_DEG_UP, - TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP, - TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP, - TRACK_ELEM_25_DEG_UP_TO_FLAT, - TRACK_ELEM_25_DEG_DOWN = 10, - TRACK_ELEM_60_DEG_DOWN, - TRACK_ELEM_FLAT_TO_25_DEG_DOWN, - TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN, - TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN, - TRACK_ELEM_25_DEG_DOWN_TO_FLAT, - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES, - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES, - TRACK_ELEM_FLAT_TO_LEFT_BANK, - TRACK_ELEM_FLAT_TO_RIGHT_BANK, - TRACK_ELEM_LEFT_BANK_TO_FLAT = 20, - TRACK_ELEM_RIGHT_BANK_TO_FLAT, - TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES, - TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES, - TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP, - TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP, - TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK, - TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK, - TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN, - TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK = 30, - TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK, - TRACK_ELEM_LEFT_BANK, - TRACK_ELEM_RIGHT_BANK, - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP, - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP, - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN, - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN, - TRACK_ELEM_S_BEND_LEFT, - TRACK_ELEM_S_BEND_RIGHT, - TRACK_ELEM_LEFT_VERTICAL_LOOP = 40, - TRACK_ELEM_RIGHT_VERTICAL_LOOP, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES, - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK, - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP, - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN, - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN, - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE = 50, - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE, - TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP, - TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP, - TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN, - TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN, - TRACK_ELEM_HALF_LOOP_UP, - TRACK_ELEM_HALF_LOOP_DOWN, - TRACK_ELEM_LEFT_CORKSCREW_UP, - TRACK_ELEM_RIGHT_CORKSCREW_UP, - TRACK_ELEM_LEFT_CORKSCREW_DOWN = 60, - TRACK_ELEM_RIGHT_CORKSCREW_DOWN, - TRACK_ELEM_FLAT_TO_60_DEG_UP, - TRACK_ELEM_60_DEG_UP_TO_FLAT, - TRACK_ELEM_FLAT_TO_60_DEG_DOWN, - TRACK_ELEM_60_DEG_DOWN_TO_FLAT, - TRACK_ELEM_TOWER_BASE, - TRACK_ELEM_TOWER_SECTION, - TRACK_ELEM_FLAT_COVERED, - TRACK_ELEM_25_DEG_UP_COVERED, - TRACK_ELEM_60_DEG_UP_COVERED = 70, - TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED, - TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED, - TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED, - TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED, - TRACK_ELEM_25_DEG_DOWN_COVERED, - TRACK_ELEM_60_DEG_DOWN_COVERED, - TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED, - TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED, - TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED, - TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED = 80, - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED, - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED, - TRACK_ELEM_S_BEND_LEFT_COVERED, - TRACK_ELEM_S_BEND_RIGHT_COVERED, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED, - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED, - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL, - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL, - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL, - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL = 90, - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE, - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE, - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE, - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE, - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP, - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP, - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN, - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN, - TRACK_ELEM_BRAKES, - TRACK_ELEM_ROTATION_CONTROL_TOGGLE = 100, - TRACK_ELEM_BOOSTER = 100, - TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP = 101, - TRACK_ELEM_MAZE = 101, - TRACK_ELEM_255_ALIAS = 101, // Used by the multi-dimension coaster, as TD6 cannot handle index 255. - TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP, - TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP, - TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN, - TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN, - TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP, - TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP, - TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN, - TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN, - TRACK_ELEM_25_DEG_UP_LEFT_BANKED = 110, - TRACK_ELEM_25_DEG_UP_RIGHT_BANKED, - TRACK_ELEM_WATERFALL, - TRACK_ELEM_RAPIDS, - TRACK_ELEM_ON_RIDE_PHOTO, - TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED, - TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED, - TRACK_ELEM_WATER_SPLASH, - TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE, - TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE, - TRACK_ELEM_WHIRLPOOL = 120, - TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE, - TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122, - TRACK_ELEM_CABLE_LIFT_HILL, - TRACK_ELEM_REVERSE_FREEFALL_SLOPE, - TRACK_ELEM_REVERSE_FREEFALL_VERTICAL, - TRACK_ELEM_90_DEG_UP, - TRACK_ELEM_90_DEG_DOWN, - TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP, - TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN, - TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP = 130, - TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN, - TRACK_ELEM_BRAKE_FOR_DROP, - TRACK_ELEM_LEFT_EIGHTH_TO_DIAG, - TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG, - TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL, - TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL, - TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG, - TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG, - TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL, - TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL = 140, - TRACK_ELEM_DIAG_FLAT, - TRACK_ELEM_DIAG_25_DEG_UP, - TRACK_ELEM_DIAG_60_DEG_UP, - TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP, - TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP, - TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP, - TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT, - TRACK_ELEM_DIAG_25_DEG_DOWN, - TRACK_ELEM_DIAG_60_DEG_DOWN, - TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN = 150, - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN, - TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN, - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT, - TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP, - TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT, - TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN, - TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT, - TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK, - TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK, - TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT = 160, - TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT, - TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP, - TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP, - TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK, - TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK, - TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN, - TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN, - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK, - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK, - TRACK_ELEM_DIAG_LEFT_BANK = 170, - TRACK_ELEM_DIAG_RIGHT_BANK, - TRACK_ELEM_LOG_FLUME_REVERSER, - TRACK_ELEM_SPINNING_TUNNEL, - TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN, - TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN, - TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP, - TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP, - TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP, - TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK = 180, - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK, - TRACK_ELEM_POWERED_LIFT, - TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP, - TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP, - TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN, - TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN, - TRACK_ELEM_LEFT_FLYER_TWIST_UP, - TRACK_ELEM_RIGHT_FLYER_TWIST_UP, - TRACK_ELEM_LEFT_FLYER_TWIST_DOWN, - TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN = 190, - TRACK_ELEM_FLYER_HALF_LOOP_UP, - TRACK_ELEM_FLYER_HALF_LOOP_DOWN, - TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP, - TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP, - TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN, - TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN, - TRACK_ELEM_HEARTLINE_TRANSFER_UP, - TRACK_ELEM_HEARTLINE_TRANSFER_DOWN, - TRACK_ELEM_LEFT_HEARTLINE_ROLL, - TRACK_ELEM_RIGHT_HEARTLINE_ROLL = 200, - TRACK_ELEM_MINI_GOLF_HOLE_A, - TRACK_ELEM_MINI_GOLF_HOLE_B, - TRACK_ELEM_MINI_GOLF_HOLE_C, - TRACK_ELEM_MINI_GOLF_HOLE_D, - TRACK_ELEM_MINI_GOLF_HOLE_E, - TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, - TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP, - TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, - TRACK_ELEM_LEFT_CURVED_LIFT_HILL, - TRACK_ELEM_RIGHT_CURVED_LIFT_HILL = 210, - TRACK_ELEM_LEFT_REVERSER, - TRACK_ELEM_RIGHT_REVERSER, - TRACK_ELEM_AIR_THRUST_TOP_CAP, - TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN, - TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL, - TRACK_ELEM_BLOCK_BRAKES, - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP, - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP, - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP, - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP, - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, - TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP, - TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP, - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP, - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP, - TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN, - TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP, - TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP, - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT, - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT, - TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT, - TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT, - TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP, - TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP, - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT, - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT, - TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, - TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT, - TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT, - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP, - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP, - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN, - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN, - TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP, - TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP, - TRACK_ELEM_255, + TRACK_ELEM_FLAT, + TRACK_ELEM_END_STATION, + TRACK_ELEM_BEGIN_STATION, + TRACK_ELEM_MIDDLE_STATION, + TRACK_ELEM_25_DEG_UP, + TRACK_ELEM_60_DEG_UP, + TRACK_ELEM_FLAT_TO_25_DEG_UP, + TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP, + TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP, + TRACK_ELEM_25_DEG_UP_TO_FLAT, + TRACK_ELEM_25_DEG_DOWN = 10, + TRACK_ELEM_60_DEG_DOWN, + TRACK_ELEM_FLAT_TO_25_DEG_DOWN, + TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN, + TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN, + TRACK_ELEM_25_DEG_DOWN_TO_FLAT, + TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES, + TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES, + TRACK_ELEM_FLAT_TO_LEFT_BANK, + TRACK_ELEM_FLAT_TO_RIGHT_BANK, + TRACK_ELEM_LEFT_BANK_TO_FLAT = 20, + TRACK_ELEM_RIGHT_BANK_TO_FLAT, + TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES, + TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES, + TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP, + TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP, + TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK, + TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK, + TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN, + TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN, + TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK = 30, + TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK, + TRACK_ELEM_LEFT_BANK, + TRACK_ELEM_RIGHT_BANK, + TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP, + TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP, + TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN, + TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN, + TRACK_ELEM_S_BEND_LEFT, + TRACK_ELEM_S_BEND_RIGHT, + TRACK_ELEM_LEFT_VERTICAL_LOOP = 40, + TRACK_ELEM_RIGHT_VERTICAL_LOOP, + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES, + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES, + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK, + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK, + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP, + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP, + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN, + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN, + TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE = 50, + TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE, + TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP, + TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP, + TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN, + TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN, + TRACK_ELEM_HALF_LOOP_UP, + TRACK_ELEM_HALF_LOOP_DOWN, + TRACK_ELEM_LEFT_CORKSCREW_UP, + TRACK_ELEM_RIGHT_CORKSCREW_UP, + TRACK_ELEM_LEFT_CORKSCREW_DOWN = 60, + TRACK_ELEM_RIGHT_CORKSCREW_DOWN, + TRACK_ELEM_FLAT_TO_60_DEG_UP, + TRACK_ELEM_60_DEG_UP_TO_FLAT, + TRACK_ELEM_FLAT_TO_60_DEG_DOWN, + TRACK_ELEM_60_DEG_DOWN_TO_FLAT, + TRACK_ELEM_TOWER_BASE, + TRACK_ELEM_TOWER_SECTION, + TRACK_ELEM_FLAT_COVERED, + TRACK_ELEM_25_DEG_UP_COVERED, + TRACK_ELEM_60_DEG_UP_COVERED = 70, + TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED, + TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED, + TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED, + TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED, + TRACK_ELEM_25_DEG_DOWN_COVERED, + TRACK_ELEM_60_DEG_DOWN_COVERED, + TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED, + TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED, + TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED, + TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED = 80, + TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED, + TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED, + TRACK_ELEM_S_BEND_LEFT_COVERED, + TRACK_ELEM_S_BEND_RIGHT_COVERED, + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED, + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED, + TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL, + TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL, + TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL, + TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL = 90, + TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE, + TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE, + TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE, + TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE, + TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP, + TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP, + TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN, + TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN, + TRACK_ELEM_BRAKES, + TRACK_ELEM_ROTATION_CONTROL_TOGGLE = 100, + TRACK_ELEM_BOOSTER = 100, + TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP = 101, + TRACK_ELEM_MAZE = 101, + TRACK_ELEM_255_ALIAS = 101, // Used by the multi-dimension coaster, as TD6 cannot handle index 255. + TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP, + TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP, + TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN, + TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN, + TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP, + TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP, + TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN, + TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN, + TRACK_ELEM_25_DEG_UP_LEFT_BANKED = 110, + TRACK_ELEM_25_DEG_UP_RIGHT_BANKED, + TRACK_ELEM_WATERFALL, + TRACK_ELEM_RAPIDS, + TRACK_ELEM_ON_RIDE_PHOTO, + TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED, + TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED, + TRACK_ELEM_WATER_SPLASH, + TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE, + TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE, + TRACK_ELEM_WHIRLPOOL = 120, + TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE, + TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122, + TRACK_ELEM_CABLE_LIFT_HILL, + TRACK_ELEM_REVERSE_FREEFALL_SLOPE, + TRACK_ELEM_REVERSE_FREEFALL_VERTICAL, + TRACK_ELEM_90_DEG_UP, + TRACK_ELEM_90_DEG_DOWN, + TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP, + TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN, + TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP = 130, + TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN, + TRACK_ELEM_BRAKE_FOR_DROP, + TRACK_ELEM_LEFT_EIGHTH_TO_DIAG, + TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG, + TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL, + TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL, + TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG, + TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG, + TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL, + TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL = 140, + TRACK_ELEM_DIAG_FLAT, + TRACK_ELEM_DIAG_25_DEG_UP, + TRACK_ELEM_DIAG_60_DEG_UP, + TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP, + TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP, + TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP, + TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT, + TRACK_ELEM_DIAG_25_DEG_DOWN, + TRACK_ELEM_DIAG_60_DEG_DOWN, + TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN = 150, + TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN, + TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN, + TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT, + TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP, + TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT, + TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN, + TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT, + TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK, + TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK, + TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT = 160, + TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT, + TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP, + TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP, + TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK, + TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK, + TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN, + TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN, + TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK, + TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK, + TRACK_ELEM_DIAG_LEFT_BANK = 170, + TRACK_ELEM_DIAG_RIGHT_BANK, + TRACK_ELEM_LOG_FLUME_REVERSER, + TRACK_ELEM_SPINNING_TUNNEL, + TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN, + TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN, + TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP, + TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP, + TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP, + TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP, + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK = 180, + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK, + TRACK_ELEM_POWERED_LIFT, + TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP, + TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP, + TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN, + TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN, + TRACK_ELEM_LEFT_FLYER_TWIST_UP, + TRACK_ELEM_RIGHT_FLYER_TWIST_UP, + TRACK_ELEM_LEFT_FLYER_TWIST_DOWN, + TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN = 190, + TRACK_ELEM_FLYER_HALF_LOOP_UP, + TRACK_ELEM_FLYER_HALF_LOOP_DOWN, + TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP, + TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP, + TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN, + TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN, + TRACK_ELEM_HEARTLINE_TRANSFER_UP, + TRACK_ELEM_HEARTLINE_TRANSFER_DOWN, + TRACK_ELEM_LEFT_HEARTLINE_ROLL, + TRACK_ELEM_RIGHT_HEARTLINE_ROLL = 200, + TRACK_ELEM_MINI_GOLF_HOLE_A, + TRACK_ELEM_MINI_GOLF_HOLE_B, + TRACK_ELEM_MINI_GOLF_HOLE_C, + TRACK_ELEM_MINI_GOLF_HOLE_D, + TRACK_ELEM_MINI_GOLF_HOLE_E, + TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, + TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP, + TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, + TRACK_ELEM_LEFT_CURVED_LIFT_HILL, + TRACK_ELEM_RIGHT_CURVED_LIFT_HILL = 210, + TRACK_ELEM_LEFT_REVERSER, + TRACK_ELEM_RIGHT_REVERSER, + TRACK_ELEM_AIR_THRUST_TOP_CAP, + TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN, + TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL, + TRACK_ELEM_BLOCK_BRAKES, + TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP, + TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP, + TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, + TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, + TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP, + TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP, + TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, + TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, + TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP, + TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP, + TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP, + TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP, + TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN, + TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN, + TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, + TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, + TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP, + TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP, + TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT, + TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT, + TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, + TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, + TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT, + TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT, + TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP, + TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP, + TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT, + TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT, + TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, + TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, + TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT, + TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT, + TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP, + TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP, + TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN, + TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN, + TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP, + TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP, + TRACK_ELEM_255, }; enum { - FLAT_TRACK_ELEM_1_X_4_A = 95, - FLAT_TRACK_ELEM_2_X_2 = 110, - FLAT_TRACK_ELEM_4_X_4 = 111, - FLAT_TRACK_ELEM_1_X_5 = 116, - FLAT_TRACK_ELEM_1_X_1_A = 118, - FLAT_TRACK_ELEM_1_X_4_B = 119, - FLAT_TRACK_ELEM_1_X_1_B = 121, - FLAT_TRACK_ELEM_1_X_4_C = 122, - FLAT_TRACK_ELEM_3_X_3 = 123, + FLAT_TRACK_ELEM_1_X_4_A = 95, + FLAT_TRACK_ELEM_2_X_2 = 110, + FLAT_TRACK_ELEM_4_X_4 = 111, + FLAT_TRACK_ELEM_1_X_5 = 116, + FLAT_TRACK_ELEM_1_X_1_A = 118, + FLAT_TRACK_ELEM_1_X_4_B = 119, + FLAT_TRACK_ELEM_1_X_1_B = 121, + FLAT_TRACK_ELEM_1_X_4_C = 122, + FLAT_TRACK_ELEM_3_X_3 = 123, }; enum { - TRACK_SEQUENCE_FLAG_ORIGIN = (1 << 4), // 0x10 - TRACK_SEQUENCE_FLAG_CONNECTS_TO_PATH = (1 << 5), // 0x20 - TRACK_SEQUENCE_FLAG_DISALLOW_DOORS = (1 << 6), // 0x40 + TRACK_SEQUENCE_FLAG_ORIGIN = (1 << 4), // 0x10 + TRACK_SEQUENCE_FLAG_CONNECTS_TO_PATH = (1 << 5), // 0x20 + TRACK_SEQUENCE_FLAG_DISALLOW_DOORS = (1 << 6), // 0x40 }; enum { - TRACK_ELEMENT_LOCATION_IS_UNDERGROUND = 2, + TRACK_ELEMENT_LOCATION_IS_UNDERGROUND = 2, }; enum { - GC_SET_MAZE_TRACK_BUILD = 0, - GC_SET_MAZE_TRACK_MOVE = 1, - GC_SET_MAZE_TRACK_FILL = 2, + GC_SET_MAZE_TRACK_BUILD = 0, + GC_SET_MAZE_TRACK_MOVE = 1, + GC_SET_MAZE_TRACK_FILL = 2, }; typedef struct track_circuit_iterator { - rct_xy_element last; - rct_xy_element current; - sint32 currentZ; - sint32 currentDirection; - rct_map_element *first; - bool firstIteration; - bool looped; + rct_xy_element last; + rct_xy_element current; + sint32 currentZ; + sint32 currentDirection; + rct_map_element *first; + bool firstIteration; + bool looped; } track_circuit_iterator; extern const rct_trackdefinition FlatRideTrackDefinitions[256]; diff --git a/src/openrct2/ride/track_data.c b/src/openrct2/ride/track_data.c index f99540ec1e..5a231b897b 100644 --- a/src/openrct2/ride/track_data.c +++ b/src/openrct2/ride/track_data.c @@ -19,33436 +19,33436 @@ #include "track_paint.h" const rct_track_coordinates FlatTrackCoordinates[] = { - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 16, 0, 0 }, - { 0, 0, 0, 64, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 32, 0, 0 }, - { 0, 0, 0, 32, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 16, 0, 0, 0 }, - { 0, 0, 64, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 32, 0, 0, 0 }, - { 0, 0, 32, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 3, 0, 0, -64, -64 }, - { 0, 1, 0, 0, -64, 64 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 3, 0, 0, -64, -64 }, - { 0, 1, 0, 0, -64, 64 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 3, 0, 64, -64, -64 }, - { 0, 1, 0, 64, -64, 64 }, - { 0, 3, 64, 0, -64, -64 }, - { 0, 1, 64, 0, -64, 64 }, - { 0, 0, 0, 0, -64, -32 }, - { 0, 0, 0, 0, -64, 32 }, - { 0, 0, 0, 0, -32, -32 }, - { 0, 0, 0, 0, -32, 32 }, - { 0, 3, 0, 0, -32, -32 }, - { 0, 1, 0, 0, -32, 32 }, - { 0, 3, 0, 0, -32, -32 }, - { 0, 1, 0, 0, -32, 32 }, - { 0, 3, 0, 32, -32, -32 }, - { 0, 1, 0, 32, -32, 32 }, - { 0, 3, 32, 0, -32, -32 }, - { 0, 1, 32, 0, -32, 32 }, - { 0, 3, 0, 0, 0, 0 }, - { 0, 1, 0, 0, 0, 0 }, - { 0, 0, 0, 16, -64, 0 }, - { 0, 0, 0, 16, -64, 0 }, - { 0, 0, 0, -16, -64, 0 }, - { 0, 0, 0, -16, -64, 0 }, - { 0, 2, 0, 152, -32, 0 }, - { 0, 2, 0, -152, 32, 0 }, - { 0, 3, 0, 80, -32, -32 }, - { 0, 1, 0, 80, -32, 32 }, - { 0, 3, 0, -80, -32, -32 }, - { 0, 1, 0, -80, -32, 32 }, - { 0, 0, 0, 24, 0, 0 }, - { 0, 0, 0, 24, 0, 0 }, - { 0, 0, 24, 0, 0, 0 }, - { 0, 0, 24, 0, 0, 0 }, - { 0, 0, 0, 96, 32, 0 }, - { 0, 0, 0, 32, 32, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 16, 0, 0 }, - { 0, 0, 0, 64, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 32, 0, 0 }, - { 0, 0, 0, 32, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 16, 0, 0, 0 }, - { 0, 0, 64, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 32, 0, 0, 0 }, - { 0, 0, 32, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 3, 0, 0, -64, -64 }, - { 0, 1, 0, 0, -64, 64 }, - { 0, 0, 0, 0, -64, -32 }, - { 0, 0, 0, 0, -64, 32 }, - { 0, 3, 0, 0, -32, -32 }, - { 0, 1, 0, 0, -32, 32 }, - { 0, 2, 0, 16, 0, -96 }, - { 0, 2, 0, 16, 0, 96 }, - { 0, 2, 16, 0, 0, -96 }, - { 0, 2, 16, 0, 0, 96 }, - { 0, 2, 0, 16, 0, -160 }, - { 0, 2, 0, 16, 0, 160 }, - { 0, 2, 16, 0, 0, -160 }, - { 0, 2, 16, 0, 0, 160 }, - { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_4_A - { 0, 1, 0, 64, 0, 0 }, - { 0, 3, 64, 0, 0, 0 }, - { 0, 1, 64, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 3, 0, 16, -64, -64 }, - { 0, 1, 0, 16, -64, 64 }, - { 0, 3, 16, 0, -64, -64 }, - { 0, 1, 16, 0, -64, 64 }, - { 0, 3, 0, 16, -64, -64 }, - { 0, 1, 0, 16, -64, 64 }, - { 0, 3, 16, 0, -64, -64 }, - { 0, 1, 16, 0, -64, 64 }, - { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_2_X_2 - { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_4_X_4 - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 2, 0, 0, 0, 32 }, // ??? - { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_5 - { 0, 0, 16, 16, -128, 0 }, - { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_1_A - { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_4_B - { 0, 0, 0, 0, 0, 0 }, - { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_1_B - { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_4_C - { 0, 0, 0, 96, 32, 0 }, // FLAT_TRACK_ELEM_3_X_3 - { 0, 0, 0, 240, -160, 0 }, - { 0, 0, 0, 80, 32, 0 }, - { 0, 0, 0, 32, 32, 0 }, - { 0, 0, 32, 0, 32, 0 }, - { 0, 0, 0, 56, 32, 0 }, - { 0, 0, 56, 0, 0, 0 }, - { 0, 0, 0, 56, 0, 0 }, - { 0, 0, 56, 0, 32, 0 }, - { 0, 0, 24, 0, 0, 0 }, - { 0, 7, 0, 0, -64, -32 }, - { 0, 4, 0, 0, -64, 32 }, - { 4, 0, 0, 0, -64, 32 }, - { 4, 1, 0, 0, -32, 64 }, - { 0, 7, 0, 0, -64, -32 }, - { 0, 4, 0, 0, -64, 32 }, - { 4, 0, 0, 0, -64, 32 }, - { 4, 1, 0, 0, -32, 64 }, - { 4, 4, 0, 0, -32, 32 }, - { 4, 4, 0, 16, -32, 32 }, - { 4, 4, 0, 64, -32, 32 }, - { 4, 4, 0, 8, -32, 32 }, - { 4, 4, 0, 32, -32, 32 }, - { 4, 4, 0, 32, -32, 32 }, - { 4, 4, 0, 8, -32, 32 }, - { 4, 4, 16, 0, -32, 32 }, - { 4, 4, 64, 0, -32, 32 }, - { 4, 4, 8, 0, -32, 32 }, - { 4, 4, 32, 0, -32, 32 }, - { 4, 4, 32, 0, -32, 32 }, - { 4, 4, 8, 0, -32, 32 }, - { 4, 4, 0, 24, -32, 32 }, - { 4, 4, 0, 24, -32, 32 }, - { 4, 4, 24, 0, -32, 32 }, - { 4, 4, 24, 0, -32, 32 }, - { 4, 4, 0, 0, -32, 32 }, - { 4, 4, 0, 0, -32, 32 }, - { 4, 4, 0, 0, -32, 32 }, - { 4, 4, 0, 0, -32, 32 }, - { 4, 4, 0, 8, -32, 32 }, - { 4, 4, 0, 8, -32, 32 }, - { 4, 4, 0, 8, -32, 32 }, - { 4, 4, 0, 8, -32, 32 }, - { 4, 4, 8, 0, -32, 32 }, - { 4, 4, 8, 0, -32, 32 }, - { 4, 4, 8, 0, -32, 32 }, - { 4, 4, 8, 0, -32, 32 }, - { 4, 4, 0, 0, -32, 32 }, - { 4, 4, 0, 0, -32, 32 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 32, -64, 0 }, - { 0, 0, 0, 32, -64, 0 }, - { 0, 0, 0, -32, -64, 0 }, - { 0, 0, 0, -32, -64, 0 }, - { 0, 3, 0, 24, -32, -32 }, - { 0, 1, 0, 24, -32, 32 }, - { 0, 3, 24, 0, -32, -32 }, - { 0, 1, 24, 0, -32, 32 }, - { 0, 0, 0, 16, 0, 0 }, - { 0, 2, 0, 280, -64, -32 }, - { 0, 2, 0, 280, -64, 32 }, - { 0, 2, 0, -280, 64, -32 }, - { 0, 2, 0, -280, 64, 32 }, - { 0, 0, 0, -16, -64, 0 }, - { 0, 0, 0, -16, -64, 0 }, - { 0, 0, 0, 16, -64, 0 }, - { 0, 0, 0, 16, -64, 0 }, - { 0, 2, 0, 120, -32, 0 }, - { 0, 2, 0, -120, 32, 0 }, - { 0, 3, 0, 48, -32, -32 }, - { 0, 1, 0, 48, -32, 32 }, - { 0, 3, 0, -48, -32, -32 }, - { 0, 1, 0, -48, -32, 32 }, - { 0, 2, 0, 32, 0, 0 }, - { 0, 2, 0, -32, 0, 0 }, - { 0, 0, 0, 0, -160, 0 }, - { 0, 0, 0, 0, -160, 0 }, - { 0, 0, 0, 0, -32, 0 }, - { 0, 0, 0, 0, -32, 0 }, - { 0, 0, 0, 0, -32, 0 }, - { 0, 1, 0, 0, -32, 32 }, - { 0, 3, 0, 0, -32, -32 }, - { 0, 0, 0, 0, -32, 0 }, // ??? - { 0, 0, 0, 0, -32, 0 }, // ??? - { 0, 0, 0, 0, -32, 0 }, // ??? - { 0, 3, 0, 16, -32, -32 }, - { 0, 1, 0, 16, -32, 32 }, - { 0, 0, 0, 0, -64, 0 }, - { 0, 0, 0, 0, -64, 0 }, - { 0, 0, 0, 0, -32, 0 }, - { 0, 0, 80, 0, 32, 0 }, - { 0, 0, 240, 0, -160, 0 }, - { 0, 0, 0, 0, 0, 0 }, - { 0, 3, 0, 32, -32, -32 }, - { 0, 1, 0, 32, -32, 32 }, - { 0, 3, 32, 0, -32, -32 }, - { 0, 1, 32, 0, -32, 32 }, - { 0, 3, 0, 64, -64, -64 }, - { 0, 1, 0, 64, -64, 64 }, - { 0, 3, 64, 0, -64, -64 }, - { 0, 1, 64, 0, -64, 64 }, - { 0, 0, 0, 16, 0, 0 }, - { 0, 0, 0, 16, 0, 0 }, - { 0, 0, 0, 16, 0, 0 }, - { 0, 0, 0, 16, 0, 0 }, - { 0, 0, 16, 0, 0, 0 }, - { 0, 0, 16, 0, 0, 0 }, - { 0, 0, 16, 0, 0, 0 }, - { 0, 0, 16, 0, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 3, 0, 96, 0, 32 }, - { 0, 1, 0, 96, 0, -32 }, - { 0, 3, 96, 0, 0, 32 }, - { 0, 1, 96, 0, 0, -32 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 64, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 32, 0, 0 }, + { 0, 0, 0, 32, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 64, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 32, 0, 0, 0 }, + { 0, 0, 32, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 3, 0, 0, -64, -64 }, + { 0, 1, 0, 0, -64, 64 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 3, 0, 0, -64, -64 }, + { 0, 1, 0, 0, -64, 64 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 3, 0, 64, -64, -64 }, + { 0, 1, 0, 64, -64, 64 }, + { 0, 3, 64, 0, -64, -64 }, + { 0, 1, 64, 0, -64, 64 }, + { 0, 0, 0, 0, -64, -32 }, + { 0, 0, 0, 0, -64, 32 }, + { 0, 0, 0, 0, -32, -32 }, + { 0, 0, 0, 0, -32, 32 }, + { 0, 3, 0, 0, -32, -32 }, + { 0, 1, 0, 0, -32, 32 }, + { 0, 3, 0, 0, -32, -32 }, + { 0, 1, 0, 0, -32, 32 }, + { 0, 3, 0, 32, -32, -32 }, + { 0, 1, 0, 32, -32, 32 }, + { 0, 3, 32, 0, -32, -32 }, + { 0, 1, 32, 0, -32, 32 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 1, 0, 0, 0, 0 }, + { 0, 0, 0, 16, -64, 0 }, + { 0, 0, 0, 16, -64, 0 }, + { 0, 0, 0, -16, -64, 0 }, + { 0, 0, 0, -16, -64, 0 }, + { 0, 2, 0, 152, -32, 0 }, + { 0, 2, 0, -152, 32, 0 }, + { 0, 3, 0, 80, -32, -32 }, + { 0, 1, 0, 80, -32, 32 }, + { 0, 3, 0, -80, -32, -32 }, + { 0, 1, 0, -80, -32, 32 }, + { 0, 0, 0, 24, 0, 0 }, + { 0, 0, 0, 24, 0, 0 }, + { 0, 0, 24, 0, 0, 0 }, + { 0, 0, 24, 0, 0, 0 }, + { 0, 0, 0, 96, 32, 0 }, + { 0, 0, 0, 32, 32, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 64, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 32, 0, 0 }, + { 0, 0, 0, 32, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 64, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 32, 0, 0, 0 }, + { 0, 0, 32, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 3, 0, 0, -64, -64 }, + { 0, 1, 0, 0, -64, 64 }, + { 0, 0, 0, 0, -64, -32 }, + { 0, 0, 0, 0, -64, 32 }, + { 0, 3, 0, 0, -32, -32 }, + { 0, 1, 0, 0, -32, 32 }, + { 0, 2, 0, 16, 0, -96 }, + { 0, 2, 0, 16, 0, 96 }, + { 0, 2, 16, 0, 0, -96 }, + { 0, 2, 16, 0, 0, 96 }, + { 0, 2, 0, 16, 0, -160 }, + { 0, 2, 0, 16, 0, 160 }, + { 0, 2, 16, 0, 0, -160 }, + { 0, 2, 16, 0, 0, 160 }, + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_4_A + { 0, 1, 0, 64, 0, 0 }, + { 0, 3, 64, 0, 0, 0 }, + { 0, 1, 64, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 3, 0, 16, -64, -64 }, + { 0, 1, 0, 16, -64, 64 }, + { 0, 3, 16, 0, -64, -64 }, + { 0, 1, 16, 0, -64, 64 }, + { 0, 3, 0, 16, -64, -64 }, + { 0, 1, 0, 16, -64, 64 }, + { 0, 3, 16, 0, -64, -64 }, + { 0, 1, 16, 0, -64, 64 }, + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_2_X_2 + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_4_X_4 + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 2, 0, 0, 0, 32 }, // ??? + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_5 + { 0, 0, 16, 16, -128, 0 }, + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_1_A + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_4_B + { 0, 0, 0, 0, 0, 0 }, + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_1_B + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_4_C + { 0, 0, 0, 96, 32, 0 }, // FLAT_TRACK_ELEM_3_X_3 + { 0, 0, 0, 240, -160, 0 }, + { 0, 0, 0, 80, 32, 0 }, + { 0, 0, 0, 32, 32, 0 }, + { 0, 0, 32, 0, 32, 0 }, + { 0, 0, 0, 56, 32, 0 }, + { 0, 0, 56, 0, 0, 0 }, + { 0, 0, 0, 56, 0, 0 }, + { 0, 0, 56, 0, 32, 0 }, + { 0, 0, 24, 0, 0, 0 }, + { 0, 7, 0, 0, -64, -32 }, + { 0, 4, 0, 0, -64, 32 }, + { 4, 0, 0, 0, -64, 32 }, + { 4, 1, 0, 0, -32, 64 }, + { 0, 7, 0, 0, -64, -32 }, + { 0, 4, 0, 0, -64, 32 }, + { 4, 0, 0, 0, -64, 32 }, + { 4, 1, 0, 0, -32, 64 }, + { 4, 4, 0, 0, -32, 32 }, + { 4, 4, 0, 16, -32, 32 }, + { 4, 4, 0, 64, -32, 32 }, + { 4, 4, 0, 8, -32, 32 }, + { 4, 4, 0, 32, -32, 32 }, + { 4, 4, 0, 32, -32, 32 }, + { 4, 4, 0, 8, -32, 32 }, + { 4, 4, 16, 0, -32, 32 }, + { 4, 4, 64, 0, -32, 32 }, + { 4, 4, 8, 0, -32, 32 }, + { 4, 4, 32, 0, -32, 32 }, + { 4, 4, 32, 0, -32, 32 }, + { 4, 4, 8, 0, -32, 32 }, + { 4, 4, 0, 24, -32, 32 }, + { 4, 4, 0, 24, -32, 32 }, + { 4, 4, 24, 0, -32, 32 }, + { 4, 4, 24, 0, -32, 32 }, + { 4, 4, 0, 0, -32, 32 }, + { 4, 4, 0, 0, -32, 32 }, + { 4, 4, 0, 0, -32, 32 }, + { 4, 4, 0, 0, -32, 32 }, + { 4, 4, 0, 8, -32, 32 }, + { 4, 4, 0, 8, -32, 32 }, + { 4, 4, 0, 8, -32, 32 }, + { 4, 4, 0, 8, -32, 32 }, + { 4, 4, 8, 0, -32, 32 }, + { 4, 4, 8, 0, -32, 32 }, + { 4, 4, 8, 0, -32, 32 }, + { 4, 4, 8, 0, -32, 32 }, + { 4, 4, 0, 0, -32, 32 }, + { 4, 4, 0, 0, -32, 32 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 32, -64, 0 }, + { 0, 0, 0, 32, -64, 0 }, + { 0, 0, 0, -32, -64, 0 }, + { 0, 0, 0, -32, -64, 0 }, + { 0, 3, 0, 24, -32, -32 }, + { 0, 1, 0, 24, -32, 32 }, + { 0, 3, 24, 0, -32, -32 }, + { 0, 1, 24, 0, -32, 32 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 2, 0, 280, -64, -32 }, + { 0, 2, 0, 280, -64, 32 }, + { 0, 2, 0, -280, 64, -32 }, + { 0, 2, 0, -280, 64, 32 }, + { 0, 0, 0, -16, -64, 0 }, + { 0, 0, 0, -16, -64, 0 }, + { 0, 0, 0, 16, -64, 0 }, + { 0, 0, 0, 16, -64, 0 }, + { 0, 2, 0, 120, -32, 0 }, + { 0, 2, 0, -120, 32, 0 }, + { 0, 3, 0, 48, -32, -32 }, + { 0, 1, 0, 48, -32, 32 }, + { 0, 3, 0, -48, -32, -32 }, + { 0, 1, 0, -48, -32, 32 }, + { 0, 2, 0, 32, 0, 0 }, + { 0, 2, 0, -32, 0, 0 }, + { 0, 0, 0, 0, -160, 0 }, + { 0, 0, 0, 0, -160, 0 }, + { 0, 0, 0, 0, -32, 0 }, + { 0, 0, 0, 0, -32, 0 }, + { 0, 0, 0, 0, -32, 0 }, + { 0, 1, 0, 0, -32, 32 }, + { 0, 3, 0, 0, -32, -32 }, + { 0, 0, 0, 0, -32, 0 }, // ??? + { 0, 0, 0, 0, -32, 0 }, // ??? + { 0, 0, 0, 0, -32, 0 }, // ??? + { 0, 3, 0, 16, -32, -32 }, + { 0, 1, 0, 16, -32, 32 }, + { 0, 0, 0, 0, -64, 0 }, + { 0, 0, 0, 0, -64, 0 }, + { 0, 0, 0, 0, -32, 0 }, + { 0, 0, 80, 0, 32, 0 }, + { 0, 0, 240, 0, -160, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 3, 0, 32, -32, -32 }, + { 0, 1, 0, 32, -32, 32 }, + { 0, 3, 32, 0, -32, -32 }, + { 0, 1, 32, 0, -32, 32 }, + { 0, 3, 0, 64, -64, -64 }, + { 0, 1, 0, 64, -64, 64 }, + { 0, 3, 64, 0, -64, -64 }, + { 0, 1, 64, 0, -64, 64 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 3, 0, 96, 0, 32 }, + { 0, 1, 0, 96, 0, -32 }, + { 0, 3, 96, 0, 0, 32 }, + { 0, 1, 96, 0, 0, -32 }, }; const rct_track_coordinates TrackCoordinates[256] = { - { 0, 0, 0, 0, 0, 0 }, // ELEM_FLAT - { 0, 0, 0, 0, 0, 0 }, // ELEM_END_STATION - { 0, 0, 0, 0, 0, 0 }, // ELEM_BEGIN_STATION - { 0, 0, 0, 0, 0, 0 }, // ELEM_MIDDLE_STATION - { 0, 0, 0, 16, 0, 0 }, // ELEM_25_DEG_UP - { 0, 0, 0, 64, 0, 0 }, // ELEM_60_DEG_UP - { 0, 0, 0, 8, 0, 0 }, // ELEM_FLAT_TO_25_DEG_UP - { 0, 0, 0, 32, 0, 0 }, // ELEM_25_DEG_UP_TO_60_DEG_UP - { 0, 0, 0, 32, 0, 0 }, // ELEM_60_DEG_UP_TO_25_DEG_UP - { 0, 0, 0, 8, 0, 0 }, // ELEM_25_DEG_UP_TO_FLAT - { 0, 0, 16, 0, 0, 0 }, // ELEM_25_DEG_DOWN - { 0, 0, 64, 0, 0, 0 }, // ELEM_60_DEG_DOWN - { 0, 0, 8, 0, 0, 0 }, // ELEM_FLAT_TO_25_DEG_DOWN - { 0, 0, 32, 0, 0, 0 }, // ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - { 0, 0, 32, 0, 0, 0 }, // ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - { 0, 0, 8, 0, 0, 0 }, // ELEM_25_DEG_DOWN_TO_FLAT - { 0, 3, 0, 0, -64, -64 }, // ELEM_LEFT_QUARTER_TURN_5_TILES - { 0, 1, 0, 0, -64, 64 }, // ELEM_RIGHT_QUARTER_TURN_5_TILES - { 0, 0, 0, 0, 0, 0 }, // ELEM_FLAT_TO_LEFT_BANK - { 0, 0, 0, 0, 0, 0 }, // ELEM_FLAT_TO_RIGHT_BANK - { 0, 0, 0, 0, 0, 0 }, // ELEM_LEFT_BANK_TO_FLAT - { 0, 0, 0, 0, 0, 0 }, // ELEM_RIGHT_BANK_TO_FLAT - { 0, 3, 0, 0, -64, -64 }, // ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - { 0, 1, 0, 0, -64, 64 }, // ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - { 0, 0, 0, 8, 0, 0 }, // ELEM_LEFT_BANK_TO_25_DEG_UP - { 0, 0, 0, 8, 0, 0 }, // ELEM_RIGHT_BANK_TO_25_DEG_UP - { 0, 0, 0, 8, 0, 0 }, // ELEM_25_DEG_UP_TO_LEFT_BANK - { 0, 0, 0, 8, 0, 0 }, // ELEM_25_DEG_UP_TO_RIGHT_BANK - { 0, 0, 8, 0, 0, 0 }, // ELEM_LEFT_BANK_TO_25_DEG_DOWN - { 0, 0, 8, 0, 0, 0 }, // ELEM_RIGHT_BANK_TO_25_DEG_DOWN - { 0, 0, 8, 0, 0, 0 }, // ELEM_25_DEG_DOWN_TO_LEFT_BANK - { 0, 0, 8, 0, 0, 0 }, // ELEM_25_DEG_DOWN_TO_RIGHT_BANK - { 0, 0, 0, 0, 0, 0 }, // ELEM_LEFT_BANK - { 0, 0, 0, 0, 0, 0 }, // ELEM_RIGHT_BANK - { 0, 3, 0, 64, -64, -64 }, // ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - { 0, 1, 0, 64, -64, 64 }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - { 0, 3, 64, 0, -64, -64 }, // ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - { 0, 1, 64, 0, -64, 64 }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - { 0, 0, 0, 0, -64, -32 }, // ELEM_S_BEND_LEFT - { 0, 0, 0, 0, -64, 32 }, // ELEM_S_BEND_RIGHT - { 0, 0, 0, 0, -32, -32 }, // ELEM_LEFT_VERTICAL_LOOP - { 0, 0, 0, 0, -32, 32 }, // ELEM_RIGHT_VERTICAL_LOOP - { 0, 3, 0, 0, -32, -32 }, // ELEM_LEFT_QUARTER_TURN_3_TILES - { 0, 1, 0, 0, -32, 32 }, // ELEM_RIGHT_QUARTER_TURN_3_TILES - { 0, 3, 0, 0, -32, -32 }, // ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - { 0, 1, 0, 0, -32, 32 }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - { 0, 3, 0, 32, -32, -32 }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0, 1, 0, 32, -32, 32 }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0, 3, 32, 0, -32, -32 }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - { 0, 1, 32, 0, -32, 32 }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - { 0, 3, 0, 0, 0, 0 }, // ELEM_LEFT_QUARTER_TURN_1_TILE - { 0, 1, 0, 0, 0, 0 }, // ELEM_RIGHT_QUARTER_TURN_1_TILE - { 0, 0, 0, 16, -64, 0 }, // ELEM_LEFT_TWIST_DOWN_TO_UP - { 0, 0, 0, 16, -64, 0 }, // ELEM_RIGHT_TWIST_DOWN_TO_UP - { 0, 0, 0, -16, -64, 0 }, // ELEM_LEFT_TWIST_UP_TO_DOWN - { 0, 0, 0, -16, -64, 0 }, // ELEM_RIGHT_TWIST_UP_TO_DOWN - { 0, 2, 0, 152, -32, 0 }, // ELEM_HALF_LOOP_UP - { 0, 2, 0, -152, 32, 0 }, // ELEM_HALF_LOOP_DOWN - { 0, 3, 0, 80, -32, -32 }, // ELEM_LEFT_CORKSCREW_UP - { 0, 1, 0, 80, -32, 32 }, // ELEM_RIGHT_CORKSCREW_UP - { 0, 3, 0, -80, -32, -32 }, // ELEM_LEFT_CORKSCREW_DOWN - { 0, 1, 0, -80, -32, 32 }, // ELEM_RIGHT_CORKSCREW_DOWN - { 0, 0, 0, 24, 0, 0 }, // ELEM_FLAT_TO_60_DEG_UP - { 0, 0, 0, 24, 0, 0 }, // ELEM_60_DEG_UP_TO_FLAT - { 0, 0, 24, 0, 0, 0 }, // ELEM_FLAT_TO_60_DEG_DOWN - { 0, 0, 24, 0, 0, 0 }, // ELEM_60_DEG_DOWN_TO_FLAT - { 0, 0, 0, 96, 32, 0 }, // ELEM_TOWER_BASE - { 0, 0, 0, 32, 32, 0 }, // ELEM_TOWER_SECTION - { 0, 0, 0, 0, 0, 0 }, // ELEM_FLAT_COVERED - { 0, 0, 0, 16, 0, 0 }, // ELEM_25_DEG_UP_COVERED - { 0, 0, 0, 64, 0, 0 }, // ELEM_60_DEG_UP_COVERED - { 0, 0, 0, 8, 0, 0 }, // ELEM_FLAT_TO_25_DEG_UP_COVERED - { 0, 0, 0, 32, 0, 0 }, // ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED - { 0, 0, 0, 32, 0, 0 }, // ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED - { 0, 0, 0, 8, 0, 0 }, // ELEM_25_DEG_UP_TO_FLAT_COVERED - { 0, 0, 16, 0, 0, 0 }, // ELEM_25_DEG_DOWN_COVERED - { 0, 0, 64, 0, 0, 0 }, // ELEM_60_DEG_DOWN_COVERED - { 0, 0, 8, 0, 0, 0 }, // ELEM_FLAT_TO_25_DEG_DOWN_COVERED - { 0, 0, 32, 0, 0, 0 }, // ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED - { 0, 0, 32, 0, 0, 0 }, // ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED - { 0, 0, 8, 0, 0, 0 }, // ELEM_25_DEG_DOWN_TO_FLAT_COVERED - { 0, 3, 0, 0, -64, -64 }, // ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - { 0, 1, 0, 0, -64, 64 }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - { 0, 0, 0, 0, -64, -32 }, // ELEM_S_BEND_LEFT_COVERED - { 0, 0, 0, 0, -64, 32 }, // ELEM_S_BEND_RIGHT_COVERED - { 0, 3, 0, 0, -32, -32 }, // ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - { 0, 1, 0, 0, -32, 32 }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - { 0, 2, 0, 16, 0, -96 }, // ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - { 0, 2, 0, 16, 0, 96 }, // ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - { 0, 2, 16, 0, 0, -96 }, // ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - { 0, 2, 16, 0, 0, 96 }, // ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - { 0, 2, 0, 16, 0, -160 }, // ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - { 0, 2, 0, 16, 0, 160 }, // ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - { 0, 2, 16, 0, 0, -160 }, // ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - { 0, 2, 16, 0, 0, 160 }, // ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - { 0, 3, 0, 64, 0, 0 }, // ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - { 0, 1, 0, 64, 0, 0 }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - { 0, 3, 64, 0, 0, 0 }, // ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - { 0, 1, 64, 0, 0, 0 }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - { 0, 0, 0, 0, 0, 0 }, // ELEM_BRAKES - { 0, 0, 0, 0, 0, 0 }, // ELEM_ROTATION_CONTROL_TOGGLE - { 0, 0, 0, 0, 0, 0 }, // ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP - { 0, 3, 0, 16, -64, -64 }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - { 0, 1, 0, 16, -64, 64 }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - { 0, 3, 16, 0, -64, -64 }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - { 0, 1, 16, 0, -64, 64 }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - { 0, 3, 0, 16, -64, -64 }, // ELEM_LEFT_QUARTER_HELIX_LARGE_UP - { 0, 1, 0, 16, -64, 64 }, // ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - { 0, 3, 16, 0, -64, -64 }, // ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - { 0, 1, 16, 0, -64, 64 }, // ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - { 0, 0, 0, 16, 0, 0 }, // ELEM_25_DEG_UP_LEFT_BANKED - { 0, 0, 0, 16, 0, 0 }, // ELEM_25_DEG_UP_RIGHT_BANKED - { 0, 0, 0, 0, 0, 0 }, // ELEM_WATERFALL - { 0, 0, 0, 0, 0, 0 }, // ELEM_RAPIDS - { 0, 0, 0, 0, 0, 0 }, // ELEM_ON_RIDE_PHOTO - { 0, 0, 16, 0, 0, 0 }, // ELEM_25_DEG_DOWN_LEFT_BANKED - { 0, 0, 16, 0, 0, 0 }, // ELEM_25_DEG_DOWN_RIGHT_BANKED - { 0, 0, 16, 16, -128, 0 }, // ELEM_WATER_SPLASH - { 0, 0, 0, 88, -96, 0 }, // ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - { 0, 0, 0, 88, -96, 0 }, // ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - { 0, 0, 0, 0, 0, 0 }, // ELEM_WHIRLPOOL - { 0, 0, 88, 0, -96, 0 }, // ELEM_60_DEG_DOWN_TO_FLAT_LONG_BASE - { 0, 0, 88, 0, -96, 0 }, // ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - { 0, 0, 0, -96, -96, 0 }, // ELEM_CABLE_LIFT_HILL - { 0, 0, 0, 240, -160, 0 }, // ELEM_REVERSE_FREEFALL_SLOPE - { 0, 0, 0, 80, 32, 0 }, // ELEM_REVERSE_FREEFALL_VERTICAL - { 0, 0, 0, 32, 32, 0 }, // ELEM_90_DEG_UP - { 0, 0, 32, 0, 32, 0 }, // ELEM_90_DEG_DOWN - { 0, 0, 0, 56, 32, 0 }, // ELEM_60_DEG_UP_TO_90_DEG_UP - { 0, 0, 56, 0, 0, 0 }, // ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - { 0, 0, 0, 56, 0, 0 }, // ELEM_90_DEG_UP_TO_60_DEG_UP - { 0, 0, 56, 0, 32, 0 }, // ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - { 0, 0, 24, 0, 0, 0 }, // ELEM_BRAKE_FOR_DROP - { 0, 7, 0, 0, -64, -32 }, // ELEM_LEFT_EIGHTH_TO_DIAG - { 0, 4, 0, 0, -64, 32 }, // ELEM_RIGHT_EIGHTH_TO_DIAG - { 4, 0, 0, 0, -64, 32 }, // ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - { 4, 1, 0, 0, -32, 64 }, // ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - { 0, 7, 0, 0, -64, -32 }, // ELEM_LEFT_EIGHTH_BANK_TO_DIAG - { 0, 4, 0, 0, -64, 32 }, // ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - { 4, 0, 0, 0, -64, 32 }, // ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - { 4, 1, 0, 0, -32, 64 }, // ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_FLAT - { 4, 4, 0, 16, -32, 32 }, // ELEM_DIAG_25_DEG_UP - { 4, 4, 0, 64, -32, 32 }, // ELEM_DIAG_60_DEG_UP - { 4, 4, 0, 8, -32, 32 }, // ELEM_DIAG_FLAT_TO_25_DEG_UP - { 4, 4, 0, 32, -32, 32 }, // ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - { 4, 4, 0, 32, -32, 32 }, // ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - { 4, 4, 0, 8, -32, 32 }, // ELEM_DIAG_25_DEG_UP_TO_FLAT - { 4, 4, 16, 0, -32, 32 }, // ELEM_DIAG_25_DEG_DOWN - { 4, 4, 64, 0, -32, 32 }, // ELEM_DIAG_60_DEG_DOWN - { 4, 4, 8, 0, -32, 32 }, // ELEM_DIAG_FLAT_TO_25_DEG_DOWN - { 4, 4, 32, 0, -32, 32 }, // ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - { 4, 4, 32, 0, -32, 32 }, // ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - { 4, 4, 8, 0, -32, 32 }, // ELEM_DIAG_25_DEG_DOWN_TO_FLAT - { 4, 4, 0, 24, -32, 32 }, // ELEM_DIAG_FLAT_TO_60_DEG_UP - { 4, 4, 0, 24, -32, 32 }, // ELEM_DIAG_60_DEG_UP_TO_FLAT - { 4, 4, 24, 0, -32, 32 }, // ELEM_DIAG_FLAT_TO_60_DEG_DOWN - { 4, 4, 24, 0, -32, 32 }, // ELEM_DIAG_60_DEG_DOWN_TO_FLAT - { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_FLAT_TO_LEFT_BANK - { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_FLAT_TO_RIGHT_BANK - { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_LEFT_BANK_TO_FLAT - { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_RIGHT_BANK_TO_FLAT - { 4, 4, 0, 8, -32, 32 }, // ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - { 4, 4, 0, 8, -32, 32 }, // ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - { 4, 4, 0, 8, -32, 32 }, // ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - { 4, 4, 0, 8, -32, 32 }, // ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - { 4, 4, 8, 0, -32, 32 }, // ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - { 4, 4, 8, 0, -32, 32 }, // ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - { 4, 4, 8, 0, -32, 32 }, // ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - { 4, 4, 8, 0, -32, 32 }, // ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_LEFT_BANK - { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_RIGHT_BANK - { 0, 0, 0, 0, 0, 0 }, // ELEM_LOG_FLUME_REVERSER - { 0, 0, 0, 0, 0, 0 }, // ELEM_SPINNING_TUNNEL - { 0, 0, 0, 32, -64, 0 }, // ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - { 0, 0, 0, 32, -64, 0 }, // ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - { 0, 0, 0, -32, -64, 0 }, // ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - { 0, 0, 0, -32, -64, 0 }, // ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - { 0, 3, 0, 24, -32, -32 }, // ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0, 1, 0, 24, -32, 32 }, // ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0, 3, 24, 0, -32, -32 }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - { 0, 1, 24, 0, -32, 32 }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - { 0, 0, 0, 16, 0, 0 }, // ELEM_POWERED_LIFT - { 0, 2, 0, 280, -64, -32 }, // ELEM_LEFT_LARGE_HALF_LOOP_UP - { 0, 2, 0, 280, -64, 32 }, // ELEM_RIGHT_LARGE_HALF_LOOP_UP - { 0, 2, 0, -280, 64, -32 }, // ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - { 0, 2, 0, -280, 64, 32 }, // ELEM_LEFT_LARGE_HALF_LOOP_DOWN - { 0, 0, 0, -16, -64, 0 }, // ELEM_LEFT_FLYER_TWIST_UP_TO_DOWN - { 0, 0, 0, -16, -64, 0 }, // ELEM_RIGHT_FLYER_TWIST_UP_TO_DOWN - { 0, 0, 0, 16, -64, 0 }, // ELEM_LEFT_FLYER_TWIST_DOWN_TO_UP - { 0, 0, 0, 16, -64, 0 }, // ELEM_RIGHT_FLYER_TWIST_DOWN_TO_UP - { 0, 2, 0, 120, -32, 0 }, // ELEM_FLYER_HALF_LOOP_UP - { 0, 2, 0, -120, 32, 0 }, // ELEM_FLYER_HALF_LOOP_DOWN - { 0, 3, 0, 48, -32, -32 }, // ELEM_LEFT_FLY_CORKSCREW_UP_TO_DOWN - { 0, 1, 0, 48, -32, 32 }, // ELEM_RIGHT_FLY_CORKSCREW_UP_TO_DOWN - { 0, 3, 0, -48, -32, -32 }, // ELEM_LEFT_FLY_CORKSCREW_DOWN_TO_UP - { 0, 1, 0, -48, -32, 32 }, // ELEM_RIGHT_FLY_CORKSCREW_DOWN_TO_UP - { 0, 2, 0, 32, 0, 0 }, // ELEM_HEARTLINE_TRANSFER_UP - { 0, 2, 0, -32, 0, 0 }, // ELEM_HEARTLINE_TRANSFER_DOWN - { 0, 0, 0, 0, -160, 0 }, // ELEM_LEFT_HEARTLINE_ROLL - { 0, 0, 0, 0, -160, 0 }, // ELEM_RIGHT_HEARTLINE_ROLL - { 0, 0, 0, 0, -32, 0 }, // ELEM_MINI_GOLF_HOLE_A - { 0, 0, 0, 0, -32, 0 }, // ELEM_MINI_GOLF_HOLE_B - { 0, 0, 0, 0, -32, 0 }, // ELEM_MINI_GOLF_HOLE_C - { 0, 1, 0, 0, -32, 32 }, // ELEM_MINI_GOLF_HOLE_D - { 0, 3, 0, 0, -32, -32 }, // ELEM_MINI_GOLF_HOLE_E - { 0, 2, 0, -96, -96, 0 }, // ELEM_INVERTED_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP - { 0, 2, 0, 128, 64, 0 }, // ELEM_90_DEG_UP_QUARTER_LOOP_TO_INVERTED - { 0, 2, 0, -128, -96, 0 }, // ELEM_QUARTER_LOOP_INVERT_TO_90_DEG_DOWN - { 0, 3, 0, 16, -32, -32 }, // ELEM_LEFT_CURVED_LIFT_HILL - { 0, 1, 0, 16, -32, 32 }, // ELEM_RIGHT_CURVED_LIFT_HILL - { 0, 0, 0, 0, -64, 0 }, // ELEM_LEFT_REVERSER - { 0, 0, 0, 0, -64, 0 }, // ELEM_RIGHT_REVERSER - { 0, 0, 0, 0, -32, 0 }, // ELEM_AIR_THRUST_TOP_CAP - { 0, 0, 80, 0, 32, 0 }, // ELEM_AIR_THRUST_VERTICAL_DOWN - { 0, 0, 240, 0, -160, 0 }, // ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL - { 0, 0, 0, 0, 0, 0 }, // ELEM_BLOCK_BRAKES - { 0, 3, 0, 32, -32, -32 }, // ELEM_BANKED_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0, 1, 0, 32, -32, 32 }, // ELEM_BANKED_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0, 3, 32, 0, -32, -32 }, - { 0, 1, 32, 0, -32, 32 }, - { 0, 3, 0, 64, -64, -64 }, - { 0, 1, 0, 64, -64, 64 }, - { 0, 3, 64, 0, -64, -64 }, - { 0, 1, 64, 0, -64, 64 }, - { 0, 0, 0, 16, 0, 0 }, - { 0, 0, 0, 16, 0, 0 }, - { 0, 0, 0, 16, 0, 0 }, - { 0, 0, 0, 16, 0, 0 }, - { 0, 0, 16, 0, 0, 0 }, - { 0, 0, 16, 0, 0, 0 }, - { 0, 0, 16, 0, 0, 0 }, - { 0, 0, 16, 0, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 0, 8, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 0, 8, 0, 0, 0 }, - { 0, 3, 0, 96, 0, 32 }, - { 0, 1, 0, 96, 0, -32 }, - { 0, 3, 96, 0, 0, 32 }, - { 0, 1, 96, 0, 0, -32 }, - { 0, 2, 0, 96, 64, 0 }, - { 0, 2, 0, -128, -96, 0 }, - { 0, 2, 0, 128, 64, 0 } + { 0, 0, 0, 0, 0, 0 }, // ELEM_FLAT + { 0, 0, 0, 0, 0, 0 }, // ELEM_END_STATION + { 0, 0, 0, 0, 0, 0 }, // ELEM_BEGIN_STATION + { 0, 0, 0, 0, 0, 0 }, // ELEM_MIDDLE_STATION + { 0, 0, 0, 16, 0, 0 }, // ELEM_25_DEG_UP + { 0, 0, 0, 64, 0, 0 }, // ELEM_60_DEG_UP + { 0, 0, 0, 8, 0, 0 }, // ELEM_FLAT_TO_25_DEG_UP + { 0, 0, 0, 32, 0, 0 }, // ELEM_25_DEG_UP_TO_60_DEG_UP + { 0, 0, 0, 32, 0, 0 }, // ELEM_60_DEG_UP_TO_25_DEG_UP + { 0, 0, 0, 8, 0, 0 }, // ELEM_25_DEG_UP_TO_FLAT + { 0, 0, 16, 0, 0, 0 }, // ELEM_25_DEG_DOWN + { 0, 0, 64, 0, 0, 0 }, // ELEM_60_DEG_DOWN + { 0, 0, 8, 0, 0, 0 }, // ELEM_FLAT_TO_25_DEG_DOWN + { 0, 0, 32, 0, 0, 0 }, // ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + { 0, 0, 32, 0, 0, 0 }, // ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + { 0, 0, 8, 0, 0, 0 }, // ELEM_25_DEG_DOWN_TO_FLAT + { 0, 3, 0, 0, -64, -64 }, // ELEM_LEFT_QUARTER_TURN_5_TILES + { 0, 1, 0, 0, -64, 64 }, // ELEM_RIGHT_QUARTER_TURN_5_TILES + { 0, 0, 0, 0, 0, 0 }, // ELEM_FLAT_TO_LEFT_BANK + { 0, 0, 0, 0, 0, 0 }, // ELEM_FLAT_TO_RIGHT_BANK + { 0, 0, 0, 0, 0, 0 }, // ELEM_LEFT_BANK_TO_FLAT + { 0, 0, 0, 0, 0, 0 }, // ELEM_RIGHT_BANK_TO_FLAT + { 0, 3, 0, 0, -64, -64 }, // ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + { 0, 1, 0, 0, -64, 64 }, // ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + { 0, 0, 0, 8, 0, 0 }, // ELEM_LEFT_BANK_TO_25_DEG_UP + { 0, 0, 0, 8, 0, 0 }, // ELEM_RIGHT_BANK_TO_25_DEG_UP + { 0, 0, 0, 8, 0, 0 }, // ELEM_25_DEG_UP_TO_LEFT_BANK + { 0, 0, 0, 8, 0, 0 }, // ELEM_25_DEG_UP_TO_RIGHT_BANK + { 0, 0, 8, 0, 0, 0 }, // ELEM_LEFT_BANK_TO_25_DEG_DOWN + { 0, 0, 8, 0, 0, 0 }, // ELEM_RIGHT_BANK_TO_25_DEG_DOWN + { 0, 0, 8, 0, 0, 0 }, // ELEM_25_DEG_DOWN_TO_LEFT_BANK + { 0, 0, 8, 0, 0, 0 }, // ELEM_25_DEG_DOWN_TO_RIGHT_BANK + { 0, 0, 0, 0, 0, 0 }, // ELEM_LEFT_BANK + { 0, 0, 0, 0, 0, 0 }, // ELEM_RIGHT_BANK + { 0, 3, 0, 64, -64, -64 }, // ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + { 0, 1, 0, 64, -64, 64 }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + { 0, 3, 64, 0, -64, -64 }, // ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + { 0, 1, 64, 0, -64, 64 }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + { 0, 0, 0, 0, -64, -32 }, // ELEM_S_BEND_LEFT + { 0, 0, 0, 0, -64, 32 }, // ELEM_S_BEND_RIGHT + { 0, 0, 0, 0, -32, -32 }, // ELEM_LEFT_VERTICAL_LOOP + { 0, 0, 0, 0, -32, 32 }, // ELEM_RIGHT_VERTICAL_LOOP + { 0, 3, 0, 0, -32, -32 }, // ELEM_LEFT_QUARTER_TURN_3_TILES + { 0, 1, 0, 0, -32, 32 }, // ELEM_RIGHT_QUARTER_TURN_3_TILES + { 0, 3, 0, 0, -32, -32 }, // ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + { 0, 1, 0, 0, -32, 32 }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + { 0, 3, 0, 32, -32, -32 }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + { 0, 1, 0, 32, -32, 32 }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + { 0, 3, 32, 0, -32, -32 }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + { 0, 1, 32, 0, -32, 32 }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + { 0, 3, 0, 0, 0, 0 }, // ELEM_LEFT_QUARTER_TURN_1_TILE + { 0, 1, 0, 0, 0, 0 }, // ELEM_RIGHT_QUARTER_TURN_1_TILE + { 0, 0, 0, 16, -64, 0 }, // ELEM_LEFT_TWIST_DOWN_TO_UP + { 0, 0, 0, 16, -64, 0 }, // ELEM_RIGHT_TWIST_DOWN_TO_UP + { 0, 0, 0, -16, -64, 0 }, // ELEM_LEFT_TWIST_UP_TO_DOWN + { 0, 0, 0, -16, -64, 0 }, // ELEM_RIGHT_TWIST_UP_TO_DOWN + { 0, 2, 0, 152, -32, 0 }, // ELEM_HALF_LOOP_UP + { 0, 2, 0, -152, 32, 0 }, // ELEM_HALF_LOOP_DOWN + { 0, 3, 0, 80, -32, -32 }, // ELEM_LEFT_CORKSCREW_UP + { 0, 1, 0, 80, -32, 32 }, // ELEM_RIGHT_CORKSCREW_UP + { 0, 3, 0, -80, -32, -32 }, // ELEM_LEFT_CORKSCREW_DOWN + { 0, 1, 0, -80, -32, 32 }, // ELEM_RIGHT_CORKSCREW_DOWN + { 0, 0, 0, 24, 0, 0 }, // ELEM_FLAT_TO_60_DEG_UP + { 0, 0, 0, 24, 0, 0 }, // ELEM_60_DEG_UP_TO_FLAT + { 0, 0, 24, 0, 0, 0 }, // ELEM_FLAT_TO_60_DEG_DOWN + { 0, 0, 24, 0, 0, 0 }, // ELEM_60_DEG_DOWN_TO_FLAT + { 0, 0, 0, 96, 32, 0 }, // ELEM_TOWER_BASE + { 0, 0, 0, 32, 32, 0 }, // ELEM_TOWER_SECTION + { 0, 0, 0, 0, 0, 0 }, // ELEM_FLAT_COVERED + { 0, 0, 0, 16, 0, 0 }, // ELEM_25_DEG_UP_COVERED + { 0, 0, 0, 64, 0, 0 }, // ELEM_60_DEG_UP_COVERED + { 0, 0, 0, 8, 0, 0 }, // ELEM_FLAT_TO_25_DEG_UP_COVERED + { 0, 0, 0, 32, 0, 0 }, // ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED + { 0, 0, 0, 32, 0, 0 }, // ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED + { 0, 0, 0, 8, 0, 0 }, // ELEM_25_DEG_UP_TO_FLAT_COVERED + { 0, 0, 16, 0, 0, 0 }, // ELEM_25_DEG_DOWN_COVERED + { 0, 0, 64, 0, 0, 0 }, // ELEM_60_DEG_DOWN_COVERED + { 0, 0, 8, 0, 0, 0 }, // ELEM_FLAT_TO_25_DEG_DOWN_COVERED + { 0, 0, 32, 0, 0, 0 }, // ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED + { 0, 0, 32, 0, 0, 0 }, // ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED + { 0, 0, 8, 0, 0, 0 }, // ELEM_25_DEG_DOWN_TO_FLAT_COVERED + { 0, 3, 0, 0, -64, -64 }, // ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED + { 0, 1, 0, 0, -64, 64 }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED + { 0, 0, 0, 0, -64, -32 }, // ELEM_S_BEND_LEFT_COVERED + { 0, 0, 0, 0, -64, 32 }, // ELEM_S_BEND_RIGHT_COVERED + { 0, 3, 0, 0, -32, -32 }, // ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED + { 0, 1, 0, 0, -32, 32 }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED + { 0, 2, 0, 16, 0, -96 }, // ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + { 0, 2, 0, 16, 0, 96 }, // ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + { 0, 2, 16, 0, 0, -96 }, // ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + { 0, 2, 16, 0, 0, 96 }, // ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + { 0, 2, 0, 16, 0, -160 }, // ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + { 0, 2, 0, 16, 0, 160 }, // ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + { 0, 2, 16, 0, 0, -160 }, // ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + { 0, 2, 16, 0, 0, 160 }, // ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + { 0, 3, 0, 64, 0, 0 }, // ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + { 0, 1, 0, 64, 0, 0 }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + { 0, 3, 64, 0, 0, 0 }, // ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + { 0, 1, 64, 0, 0, 0 }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + { 0, 0, 0, 0, 0, 0 }, // ELEM_BRAKES + { 0, 0, 0, 0, 0, 0 }, // ELEM_ROTATION_CONTROL_TOGGLE + { 0, 0, 0, 0, 0, 0 }, // ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP + { 0, 3, 0, 16, -64, -64 }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP + { 0, 1, 0, 16, -64, 64 }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP + { 0, 3, 16, 0, -64, -64 }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN + { 0, 1, 16, 0, -64, 64 }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + { 0, 3, 0, 16, -64, -64 }, // ELEM_LEFT_QUARTER_HELIX_LARGE_UP + { 0, 1, 0, 16, -64, 64 }, // ELEM_RIGHT_QUARTER_HELIX_LARGE_UP + { 0, 3, 16, 0, -64, -64 }, // ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN + { 0, 1, 16, 0, -64, 64 }, // ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN + { 0, 0, 0, 16, 0, 0 }, // ELEM_25_DEG_UP_LEFT_BANKED + { 0, 0, 0, 16, 0, 0 }, // ELEM_25_DEG_UP_RIGHT_BANKED + { 0, 0, 0, 0, 0, 0 }, // ELEM_WATERFALL + { 0, 0, 0, 0, 0, 0 }, // ELEM_RAPIDS + { 0, 0, 0, 0, 0, 0 }, // ELEM_ON_RIDE_PHOTO + { 0, 0, 16, 0, 0, 0 }, // ELEM_25_DEG_DOWN_LEFT_BANKED + { 0, 0, 16, 0, 0, 0 }, // ELEM_25_DEG_DOWN_RIGHT_BANKED + { 0, 0, 16, 16, -128, 0 }, // ELEM_WATER_SPLASH + { 0, 0, 0, 88, -96, 0 }, // ELEM_FLAT_TO_60_DEG_UP_LONG_BASE + { 0, 0, 0, 88, -96, 0 }, // ELEM_60_DEG_UP_TO_FLAT_LONG_BASE + { 0, 0, 0, 0, 0, 0 }, // ELEM_WHIRLPOOL + { 0, 0, 88, 0, -96, 0 }, // ELEM_60_DEG_DOWN_TO_FLAT_LONG_BASE + { 0, 0, 88, 0, -96, 0 }, // ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE + { 0, 0, 0, -96, -96, 0 }, // ELEM_CABLE_LIFT_HILL + { 0, 0, 0, 240, -160, 0 }, // ELEM_REVERSE_FREEFALL_SLOPE + { 0, 0, 0, 80, 32, 0 }, // ELEM_REVERSE_FREEFALL_VERTICAL + { 0, 0, 0, 32, 32, 0 }, // ELEM_90_DEG_UP + { 0, 0, 32, 0, 32, 0 }, // ELEM_90_DEG_DOWN + { 0, 0, 0, 56, 32, 0 }, // ELEM_60_DEG_UP_TO_90_DEG_UP + { 0, 0, 56, 0, 0, 0 }, // ELEM_90_DEG_DOWN_TO_60_DEG_DOWN + { 0, 0, 0, 56, 0, 0 }, // ELEM_90_DEG_UP_TO_60_DEG_UP + { 0, 0, 56, 0, 32, 0 }, // ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + { 0, 0, 24, 0, 0, 0 }, // ELEM_BRAKE_FOR_DROP + { 0, 7, 0, 0, -64, -32 }, // ELEM_LEFT_EIGHTH_TO_DIAG + { 0, 4, 0, 0, -64, 32 }, // ELEM_RIGHT_EIGHTH_TO_DIAG + { 4, 0, 0, 0, -64, 32 }, // ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + { 4, 1, 0, 0, -32, 64 }, // ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + { 0, 7, 0, 0, -64, -32 }, // ELEM_LEFT_EIGHTH_BANK_TO_DIAG + { 0, 4, 0, 0, -64, 32 }, // ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + { 4, 0, 0, 0, -64, 32 }, // ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + { 4, 1, 0, 0, -32, 64 }, // ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_FLAT + { 4, 4, 0, 16, -32, 32 }, // ELEM_DIAG_25_DEG_UP + { 4, 4, 0, 64, -32, 32 }, // ELEM_DIAG_60_DEG_UP + { 4, 4, 0, 8, -32, 32 }, // ELEM_DIAG_FLAT_TO_25_DEG_UP + { 4, 4, 0, 32, -32, 32 }, // ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + { 4, 4, 0, 32, -32, 32 }, // ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + { 4, 4, 0, 8, -32, 32 }, // ELEM_DIAG_25_DEG_UP_TO_FLAT + { 4, 4, 16, 0, -32, 32 }, // ELEM_DIAG_25_DEG_DOWN + { 4, 4, 64, 0, -32, 32 }, // ELEM_DIAG_60_DEG_DOWN + { 4, 4, 8, 0, -32, 32 }, // ELEM_DIAG_FLAT_TO_25_DEG_DOWN + { 4, 4, 32, 0, -32, 32 }, // ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + { 4, 4, 32, 0, -32, 32 }, // ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + { 4, 4, 8, 0, -32, 32 }, // ELEM_DIAG_25_DEG_DOWN_TO_FLAT + { 4, 4, 0, 24, -32, 32 }, // ELEM_DIAG_FLAT_TO_60_DEG_UP + { 4, 4, 0, 24, -32, 32 }, // ELEM_DIAG_60_DEG_UP_TO_FLAT + { 4, 4, 24, 0, -32, 32 }, // ELEM_DIAG_FLAT_TO_60_DEG_DOWN + { 4, 4, 24, 0, -32, 32 }, // ELEM_DIAG_60_DEG_DOWN_TO_FLAT + { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_FLAT_TO_LEFT_BANK + { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_FLAT_TO_RIGHT_BANK + { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_LEFT_BANK_TO_FLAT + { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_RIGHT_BANK_TO_FLAT + { 4, 4, 0, 8, -32, 32 }, // ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + { 4, 4, 0, 8, -32, 32 }, // ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + { 4, 4, 0, 8, -32, 32 }, // ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + { 4, 4, 0, 8, -32, 32 }, // ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + { 4, 4, 8, 0, -32, 32 }, // ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + { 4, 4, 8, 0, -32, 32 }, // ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + { 4, 4, 8, 0, -32, 32 }, // ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + { 4, 4, 8, 0, -32, 32 }, // ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_LEFT_BANK + { 4, 4, 0, 0, -32, 32 }, // ELEM_DIAG_RIGHT_BANK + { 0, 0, 0, 0, 0, 0 }, // ELEM_LOG_FLUME_REVERSER + { 0, 0, 0, 0, 0, 0 }, // ELEM_SPINNING_TUNNEL + { 0, 0, 0, 32, -64, 0 }, // ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN + { 0, 0, 0, 32, -64, 0 }, // ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN + { 0, 0, 0, -32, -64, 0 }, // ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP + { 0, 0, 0, -32, -64, 0 }, // ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP + { 0, 3, 0, 24, -32, -32 }, // ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + { 0, 1, 0, 24, -32, 32 }, // ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + { 0, 3, 24, 0, -32, -32 }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK + { 0, 1, 24, 0, -32, 32 }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK + { 0, 0, 0, 16, 0, 0 }, // ELEM_POWERED_LIFT + { 0, 2, 0, 280, -64, -32 }, // ELEM_LEFT_LARGE_HALF_LOOP_UP + { 0, 2, 0, 280, -64, 32 }, // ELEM_RIGHT_LARGE_HALF_LOOP_UP + { 0, 2, 0, -280, 64, -32 }, // ELEM_RIGHT_LARGE_HALF_LOOP_DOWN + { 0, 2, 0, -280, 64, 32 }, // ELEM_LEFT_LARGE_HALF_LOOP_DOWN + { 0, 0, 0, -16, -64, 0 }, // ELEM_LEFT_FLYER_TWIST_UP_TO_DOWN + { 0, 0, 0, -16, -64, 0 }, // ELEM_RIGHT_FLYER_TWIST_UP_TO_DOWN + { 0, 0, 0, 16, -64, 0 }, // ELEM_LEFT_FLYER_TWIST_DOWN_TO_UP + { 0, 0, 0, 16, -64, 0 }, // ELEM_RIGHT_FLYER_TWIST_DOWN_TO_UP + { 0, 2, 0, 120, -32, 0 }, // ELEM_FLYER_HALF_LOOP_UP + { 0, 2, 0, -120, 32, 0 }, // ELEM_FLYER_HALF_LOOP_DOWN + { 0, 3, 0, 48, -32, -32 }, // ELEM_LEFT_FLY_CORKSCREW_UP_TO_DOWN + { 0, 1, 0, 48, -32, 32 }, // ELEM_RIGHT_FLY_CORKSCREW_UP_TO_DOWN + { 0, 3, 0, -48, -32, -32 }, // ELEM_LEFT_FLY_CORKSCREW_DOWN_TO_UP + { 0, 1, 0, -48, -32, 32 }, // ELEM_RIGHT_FLY_CORKSCREW_DOWN_TO_UP + { 0, 2, 0, 32, 0, 0 }, // ELEM_HEARTLINE_TRANSFER_UP + { 0, 2, 0, -32, 0, 0 }, // ELEM_HEARTLINE_TRANSFER_DOWN + { 0, 0, 0, 0, -160, 0 }, // ELEM_LEFT_HEARTLINE_ROLL + { 0, 0, 0, 0, -160, 0 }, // ELEM_RIGHT_HEARTLINE_ROLL + { 0, 0, 0, 0, -32, 0 }, // ELEM_MINI_GOLF_HOLE_A + { 0, 0, 0, 0, -32, 0 }, // ELEM_MINI_GOLF_HOLE_B + { 0, 0, 0, 0, -32, 0 }, // ELEM_MINI_GOLF_HOLE_C + { 0, 1, 0, 0, -32, 32 }, // ELEM_MINI_GOLF_HOLE_D + { 0, 3, 0, 0, -32, -32 }, // ELEM_MINI_GOLF_HOLE_E + { 0, 2, 0, -96, -96, 0 }, // ELEM_INVERTED_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP + { 0, 2, 0, 128, 64, 0 }, // ELEM_90_DEG_UP_QUARTER_LOOP_TO_INVERTED + { 0, 2, 0, -128, -96, 0 }, // ELEM_QUARTER_LOOP_INVERT_TO_90_DEG_DOWN + { 0, 3, 0, 16, -32, -32 }, // ELEM_LEFT_CURVED_LIFT_HILL + { 0, 1, 0, 16, -32, 32 }, // ELEM_RIGHT_CURVED_LIFT_HILL + { 0, 0, 0, 0, -64, 0 }, // ELEM_LEFT_REVERSER + { 0, 0, 0, 0, -64, 0 }, // ELEM_RIGHT_REVERSER + { 0, 0, 0, 0, -32, 0 }, // ELEM_AIR_THRUST_TOP_CAP + { 0, 0, 80, 0, 32, 0 }, // ELEM_AIR_THRUST_VERTICAL_DOWN + { 0, 0, 240, 0, -160, 0 }, // ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL + { 0, 0, 0, 0, 0, 0 }, // ELEM_BLOCK_BRAKES + { 0, 3, 0, 32, -32, -32 }, // ELEM_BANKED_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + { 0, 1, 0, 32, -32, 32 }, // ELEM_BANKED_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + { 0, 3, 32, 0, -32, -32 }, + { 0, 1, 32, 0, -32, 32 }, + { 0, 3, 0, 64, -64, -64 }, + { 0, 1, 0, 64, -64, 64 }, + { 0, 3, 64, 0, -64, -64 }, + { 0, 1, 64, 0, -64, 64 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 3, 0, 96, 0, 32 }, + { 0, 1, 0, 96, 0, -32 }, + { 0, 3, 96, 0, 0, 32 }, + { 0, 1, 96, 0, 0, -32 }, + { 0, 2, 0, 96, 64, 0 }, + { 0, 2, 0, -128, -96, 0 }, + { 0, 2, 0, 128, 64, 0 } }; /** rct2: 0x0099BA64 */ const uint8 TrackSequenceProperties[][16] = { - { 0 }, - /* TRACK_ELEM_END_STATION */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - /* TRACK_ELEM_BEGIN_STATION */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - /* TRACK_ELEM_MIDDLE_STATION */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - /* TRACK_ELEM_TOWER_BASE */ { TRACK_SEQUENCE_FLAG_ORIGIN, 0b1001, 0b0001, 0b0011, 0b1000, 0b0010, 0b1100, 0b0110, 0b0100, 0, 0, 0, 0, 0, 0, 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - /* TRACK_ELEM_MAZE */ { 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - /* TRACK_ELEM_SPINNING_TUNNEL */ { TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, + { 0 }, + /* TRACK_ELEM_END_STATION */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* TRACK_ELEM_BEGIN_STATION */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* TRACK_ELEM_MIDDLE_STATION */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + /* TRACK_ELEM_TOWER_BASE */ { TRACK_SEQUENCE_FLAG_ORIGIN, 0b1001, 0b0001, 0b0011, 0b1000, 0b0010, 0b1100, 0b0110, 0b0100, 0, 0, 0, 0, 0, 0, 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + /* TRACK_ELEM_MAZE */ { 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + /* TRACK_ELEM_SPINNING_TUNNEL */ { TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, }; /** rct2: 0x0099CA64 */ const uint8 FlatRideTrackSequenceProperties[][16] = { - { 0 }, - /* 1 */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - /* 2 */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - /* 3 */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - /* 66 */ { TRACK_SEQUENCE_FLAG_ORIGIN, 0b1001, 0b0001, 0b0011, 0b1000, 0b0010, 0b1100, 0b0110, 0b0100, 0, 0, 0, 0, 0, 0, 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - /* FLAT_TRACK_ELEM_1_X_4_A */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - /* 101 */ { 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - /* FLAT_TRACK_ELEM_2_X_2 */ { 0b1001 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b0011, 0b1100, 0b0110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - /* FLAT_TRACK_ELEM_4_X_4 */ { 0b1001 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b0001, 0b0001, 0b0011, 0b1000, 0, 0, 0b0010, 0b1000, 0, 0, 0b0010, 0b1100, 0b0100, 0b0100, 0b0110 }, - { 0 }, - { 0 }, - { 0 }, - /* 115 */ { 0b1001 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b0001, 0b0001, 0b0011, 0b1100, 0b0100, 0b0100, 0b0110, 0, 0, 0, 0, 0, 0, 0, 0 }, - /* FLAT_TRACK_ELEM_1_X_5 */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0 }, - /* FLAT_TRACK_ELEM_1_X_1_A */ { 0b0001 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_CONNECTS_TO_PATH, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - /* FLAT_TRACK_ELEM_1_X_4_B */ { 0b0010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0 }, - /* FLAT_TRACK_ELEM_1_X_1_B */ { 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_CONNECTS_TO_PATH, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - /* FLAT_TRACK_ELEM_1_X_4_C */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1011, 0b1010, 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - /* FLAT_TRACK_ELEM_3_X_3 */ { TRACK_SEQUENCE_FLAG_ORIGIN, 0b1001, 0b0001, 0b0011, 0b1000, 0b0010, 0b1100, 0b0110, 0b0100, 0, 0, 0, 0, 0, 0, 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, - { 0 }, + { 0 }, + /* 1 */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* 2 */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* 3 */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + /* 66 */ { TRACK_SEQUENCE_FLAG_ORIGIN, 0b1001, 0b0001, 0b0011, 0b1000, 0b0010, 0b1100, 0b0110, 0b0100, 0, 0, 0, 0, 0, 0, 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + /* FLAT_TRACK_ELEM_1_X_4_A */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + /* 101 */ { 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + /* FLAT_TRACK_ELEM_2_X_2 */ { 0b1001 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b0011, 0b1100, 0b0110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* FLAT_TRACK_ELEM_4_X_4 */ { 0b1001 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b0001, 0b0001, 0b0011, 0b1000, 0, 0, 0b0010, 0b1000, 0, 0, 0b0010, 0b1100, 0b0100, 0b0100, 0b0110 }, + { 0 }, + { 0 }, + { 0 }, + /* 115 */ { 0b1001 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b0001, 0b0001, 0b0011, 0b1100, 0b0100, 0b0100, 0b0110, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* FLAT_TRACK_ELEM_1_X_5 */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0 }, + /* FLAT_TRACK_ELEM_1_X_1_A */ { 0b0001 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_CONNECTS_TO_PATH, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* FLAT_TRACK_ELEM_1_X_4_B */ { 0b0010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0 }, + /* FLAT_TRACK_ELEM_1_X_1_B */ { 0b1111 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_CONNECTS_TO_PATH, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* FLAT_TRACK_ELEM_1_X_4_C */ { 0b1010 | TRACK_SEQUENCE_FLAG_ORIGIN, 0b1011, 0b1010, 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* FLAT_TRACK_ELEM_3_X_3 */ { TRACK_SEQUENCE_FLAG_ORIGIN, 0b1001, 0b0001, 0b0011, 0b1000, 0b0010, 0b1100, 0b0110, 0b0100, 0, 0, 0, 0, 0, 0, 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, + { 0 }, }; // rct2: 0x0097C468 (0 - 31) and 0x0097C5D4 (32 - 63) const uint64 RideTypePossibleTrackConfigurations[RIDE_TYPE_COUNT] = { - /* RIDE_TYPE_SPIRAL_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_CURVED), - /* RIDE_TYPE_STAND_UP_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES), - /* RIDE_TYPE_SUSPENDED_SWINGING_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_LARGE_UNBANKED) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES), - /* RIDE_TYPE_INVERTED_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_TWIST) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_LARGE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_HALF_LOOP_LARGE) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING), - /* RIDE_TYPE_JUNIOR_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_CURVE) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_BOOSTER), - /* RIDE_TYPE_MINIATURE_RAILWAY */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE), - /* RIDE_TYPE_MONORAIL */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE), - /* RIDE_TYPE_MINI_SUSPENDED_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE), - /* RIDE_TYPE_BOAT_RIDE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_CURVE_VERY_SMALL), - /* RIDE_TYPE_WOODEN_WILD_MOUSE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL), - /* RIDE_TYPE_STEEPLECHASE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES), - /* RIDE_TYPE_CAR_RIDE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_SPINNING_TUNNEL) | (1ULL << TRACK_RAPIDS), - /* RIDE_TYPE_LAUNCHED_FREEFALL */ (1ULL << TRACK_TOWER_BASE), - /* RIDE_TYPE_BOBSLEIGH_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES), - /* RIDE_TYPE_OBSERVATION_TOWER */ (1ULL << TRACK_TOWER_BASE), - /* RIDE_TYPE_LOOPING_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_BOOSTER), - /* RIDE_TYPE_DINGHY_SLIDE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE), - /* RIDE_TYPE_MINE_TRAIN_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES), - /* RIDE_TYPE_CHAIRLIFT */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL), - /* RIDE_TYPE_CORKSCREW_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_STEEP_LONG) | (1ULL << TRACK_BOOSTER), - /* RIDE_TYPE_MAZE */ 0, - /* RIDE_TYPE_SPIRAL_SLIDE */ 0, - /* RIDE_TYPE_GO_KARTS */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL), - /* RIDE_TYPE_LOG_FLUME */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_LOG_FLUME_REVERSER), - /* RIDE_TYPE_RIVER_RAPIDS */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_RAPIDS), - /* RIDE_TYPE_DODGEMS */ 0, - /* RIDE_TYPE_PIRATE_SHIP */ 0, - /* RIDE_TYPE_SWINGING_INVERTER_SHIP */ 0, - /* RIDE_TYPE_FOOD_STALL */ 0, - /* RIDE_TYPE_1D */ 0, - /* RIDE_TYPE_DRINK_STALL */ 0, - /* RIDE_TYPE_1F */ 0, - /* RIDE_TYPE_SHOP */ 0, - /* RIDE_TYPE_MERRY_GO_ROUND */ 0, - /* RIDE_TYPE_22 */ 0, - /* RIDE_TYPE_INFORMATION_KIOSK */ 0, - /* RIDE_TYPE_TOILETS */ 0, - /* RIDE_TYPE_FERRIS_WHEEL */ 0, - /* RIDE_TYPE_MOTION_SIMULATOR */ 0, - /* RIDE_TYPE_3D_CINEMA */ 0, - /* RIDE_TYPE_TOP_SPIN */ 0, - /* RIDE_TYPE_SPACE_RINGS */ 0, - /* RIDE_TYPE_REVERSE_FREEFALL_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_REVERSE_FREEFALL), - /* RIDE_TYPE_LIFT */ (1ULL << TRACK_TOWER_BASE), - /* RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER */ (1ULL << TRACK_FLAT) | (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_SLOPE_CURVE_BANKED) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_CURVE_VERTICAL), - /* RIDE_TYPE_CASH_MACHINE */ 0, - /* RIDE_TYPE_TWIST */ 0, - /* RIDE_TYPE_HAUNTED_HOUSE */ 0, - /* RIDE_TYPE_FIRST_AID */ 0, - /* RIDE_TYPE_CIRCUS_SHOW */ 0, - /* RIDE_TYPE_GHOST_TRAIN */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_SPINNING_TUNNEL), - /* RIDE_TYPE_TWISTER_ROLLER_COASTER */ (1ULL << TRACK_FLAT) | (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BARREL_ROLL) | (1ULL << TRACK_POWERED_LIFT) | (1ULL << TRACK_HALF_LOOP_LARGE) | (1ULL << TRACK_SLOPE_CURVE_BANKED) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_SLOPE_STEEP_LONG) | (1ULL << TRACK_CURVE_VERTICAL) | (1ULL << TRACK_QUARTER_LOOP) | (1ULL << TRACK_BOOSTER), - /* RIDE_TYPE_WOODEN_ROLLER_COASTER */ (1ULL << TRACK_FLAT) | (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_WATER_SPLASH) | (1ULL << TRACK_SLOPE_CURVE_BANKED) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING), - /* RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES), - /* RIDE_TYPE_WILD_MOUSE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_ROTATION_CONTROL_TOGGLE), - /* RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_INLINE_TWIST_UNINVERTED) | (1ULL << TRACK_QUARTER_LOOP_UNINVERTED), - /* RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_INLINE_TWIST_INVERTED) | (1ULL << TRACK_QUARTER_LOOP_INVERTED), - /* RIDE_TYPE_FLYING_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_INLINE_TWIST_UNINVERTED) | (1ULL << TRACK_HALF_LOOP_UNINVERTED), - /* RIDE_TYPE_FLYING_ROLLER_COASTER_ALT */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_LARGE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_INLINE_TWIST_INVERTED) | (1ULL << TRACK_HALF_LOOP_INVERTED), - /* RIDE_TYPE_VIRGINIA_REEL */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL), - /* RIDE_TYPE_SPLASH_BOATS */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE), - /* RIDE_TYPE_MINI_HELICOPTERS */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL), - /* RIDE_TYPE_LAY_DOWN_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_INLINE_TWIST_UNINVERTED) | (1ULL << TRACK_HALF_LOOP_UNINVERTED), - /* RIDE_TYPE_SUSPENDED_MONORAIL */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE), - /* RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_LARGE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_INLINE_TWIST_INVERTED) | (1ULL << TRACK_HALF_LOOP_INVERTED), - /* RIDE_TYPE_REVERSER_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_REVERSER), - /* RIDE_TYPE_HEARTLINE_TWISTER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_HEARTLINE_ROLL), - /* RIDE_TYPE_MINI_GOLF */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL), - /* RIDE_TYPE_GIGA_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_SLOPE_STEEP_LONG) | (1ULL << TRACK_LIFT_HILL_CABLE) | (1ULL << TRACK_BOOSTER), - /* RIDE_TYPE_ROTO_DROP */ (1ULL << TRACK_TOWER_BASE), - /* RIDE_TYPE_FLYING_SAUCERS */ 0, - /* RIDE_TYPE_CROOKED_HOUSE */ 0, - /* RIDE_TYPE_MONORAIL_CYCLES */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE), - /* RIDE_TYPE_COMPACT_INVERTED_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_TWIST) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_LARGE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BLOCK_BRAKES), - /* RIDE_TYPE_WATER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES), - /* RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_LIFT_HILL_CURVE) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_REVERSE_FREEFALL) | (1ULL << TRACK_SLOPE_TO_FLAT), - /* RIDE_TYPE_INVERTED_HAIRPIN_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES), - /* RIDE_TYPE_MAGIC_CARPET */ 0, - /* RIDE_TYPE_SUBMARINE_RIDE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL), - /* RIDE_TYPE_RIVER_RAFTS */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE), - /* RIDE_TYPE_50 */ 0, - /* RIDE_TYPE_ENTERPRISE */ 0, - /* RIDE_TYPE_52 */ 0, - /* RIDE_TYPE_53 */ 0, - /* RIDE_TYPE_54 */ 0, - /* RIDE_TYPE_55 */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_STEEP_LONG), - /* RIDE_TYPE_INVERTED_IMPULSE_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_CURVE_VERTICAL), - /* RIDE_TYPE_MINI_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_CURVED), - /* RIDE_TYPE_MINE_RIDE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_ON_RIDE_PHOTO), - /* RIDE_TYPE_59 */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES), - /* RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_TWIST) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_CURVE_VERTICAL) | (1ULL << TRACK_QUARTER_LOOP) + /* RIDE_TYPE_SPIRAL_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_CURVED), + /* RIDE_TYPE_STAND_UP_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES), + /* RIDE_TYPE_SUSPENDED_SWINGING_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_LARGE_UNBANKED) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES), + /* RIDE_TYPE_INVERTED_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_TWIST) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_LARGE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_HALF_LOOP_LARGE) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING), + /* RIDE_TYPE_JUNIOR_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_CURVE) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_BOOSTER), + /* RIDE_TYPE_MINIATURE_RAILWAY */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE), + /* RIDE_TYPE_MONORAIL */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE), + /* RIDE_TYPE_MINI_SUSPENDED_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE), + /* RIDE_TYPE_BOAT_RIDE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_CURVE_VERY_SMALL), + /* RIDE_TYPE_WOODEN_WILD_MOUSE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL), + /* RIDE_TYPE_STEEPLECHASE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES), + /* RIDE_TYPE_CAR_RIDE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_SPINNING_TUNNEL) | (1ULL << TRACK_RAPIDS), + /* RIDE_TYPE_LAUNCHED_FREEFALL */ (1ULL << TRACK_TOWER_BASE), + /* RIDE_TYPE_BOBSLEIGH_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES), + /* RIDE_TYPE_OBSERVATION_TOWER */ (1ULL << TRACK_TOWER_BASE), + /* RIDE_TYPE_LOOPING_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_BOOSTER), + /* RIDE_TYPE_DINGHY_SLIDE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE), + /* RIDE_TYPE_MINE_TRAIN_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES), + /* RIDE_TYPE_CHAIRLIFT */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL), + /* RIDE_TYPE_CORKSCREW_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_STEEP_LONG) | (1ULL << TRACK_BOOSTER), + /* RIDE_TYPE_MAZE */ 0, + /* RIDE_TYPE_SPIRAL_SLIDE */ 0, + /* RIDE_TYPE_GO_KARTS */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL), + /* RIDE_TYPE_LOG_FLUME */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_LOG_FLUME_REVERSER), + /* RIDE_TYPE_RIVER_RAPIDS */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_RAPIDS), + /* RIDE_TYPE_DODGEMS */ 0, + /* RIDE_TYPE_PIRATE_SHIP */ 0, + /* RIDE_TYPE_SWINGING_INVERTER_SHIP */ 0, + /* RIDE_TYPE_FOOD_STALL */ 0, + /* RIDE_TYPE_1D */ 0, + /* RIDE_TYPE_DRINK_STALL */ 0, + /* RIDE_TYPE_1F */ 0, + /* RIDE_TYPE_SHOP */ 0, + /* RIDE_TYPE_MERRY_GO_ROUND */ 0, + /* RIDE_TYPE_22 */ 0, + /* RIDE_TYPE_INFORMATION_KIOSK */ 0, + /* RIDE_TYPE_TOILETS */ 0, + /* RIDE_TYPE_FERRIS_WHEEL */ 0, + /* RIDE_TYPE_MOTION_SIMULATOR */ 0, + /* RIDE_TYPE_3D_CINEMA */ 0, + /* RIDE_TYPE_TOP_SPIN */ 0, + /* RIDE_TYPE_SPACE_RINGS */ 0, + /* RIDE_TYPE_REVERSE_FREEFALL_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_REVERSE_FREEFALL), + /* RIDE_TYPE_LIFT */ (1ULL << TRACK_TOWER_BASE), + /* RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER */ (1ULL << TRACK_FLAT) | (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_SLOPE_CURVE_BANKED) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_CURVE_VERTICAL), + /* RIDE_TYPE_CASH_MACHINE */ 0, + /* RIDE_TYPE_TWIST */ 0, + /* RIDE_TYPE_HAUNTED_HOUSE */ 0, + /* RIDE_TYPE_FIRST_AID */ 0, + /* RIDE_TYPE_CIRCUS_SHOW */ 0, + /* RIDE_TYPE_GHOST_TRAIN */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_SPINNING_TUNNEL), + /* RIDE_TYPE_TWISTER_ROLLER_COASTER */ (1ULL << TRACK_FLAT) | (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BARREL_ROLL) | (1ULL << TRACK_POWERED_LIFT) | (1ULL << TRACK_HALF_LOOP_LARGE) | (1ULL << TRACK_SLOPE_CURVE_BANKED) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_SLOPE_STEEP_LONG) | (1ULL << TRACK_CURVE_VERTICAL) | (1ULL << TRACK_QUARTER_LOOP) | (1ULL << TRACK_BOOSTER), + /* RIDE_TYPE_WOODEN_ROLLER_COASTER */ (1ULL << TRACK_FLAT) | (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_WATER_SPLASH) | (1ULL << TRACK_SLOPE_CURVE_BANKED) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING), + /* RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES), + /* RIDE_TYPE_WILD_MOUSE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_ROTATION_CONTROL_TOGGLE), + /* RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_INLINE_TWIST_UNINVERTED) | (1ULL << TRACK_QUARTER_LOOP_UNINVERTED), + /* RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_INLINE_TWIST_INVERTED) | (1ULL << TRACK_QUARTER_LOOP_INVERTED), + /* RIDE_TYPE_FLYING_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_INLINE_TWIST_UNINVERTED) | (1ULL << TRACK_HALF_LOOP_UNINVERTED), + /* RIDE_TYPE_FLYING_ROLLER_COASTER_ALT */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_LARGE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_INLINE_TWIST_INVERTED) | (1ULL << TRACK_HALF_LOOP_INVERTED), + /* RIDE_TYPE_VIRGINIA_REEL */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL), + /* RIDE_TYPE_SPLASH_BOATS */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE), + /* RIDE_TYPE_MINI_HELICOPTERS */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL), + /* RIDE_TYPE_LAY_DOWN_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_INLINE_TWIST_UNINVERTED) | (1ULL << TRACK_HALF_LOOP_UNINVERTED), + /* RIDE_TYPE_SUSPENDED_MONORAIL */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE), + /* RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_LARGE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_INLINE_TWIST_INVERTED) | (1ULL << TRACK_HALF_LOOP_INVERTED), + /* RIDE_TYPE_REVERSER_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_REVERSER), + /* RIDE_TYPE_HEARTLINE_TWISTER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_HEARTLINE_ROLL), + /* RIDE_TYPE_MINI_GOLF */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL), + /* RIDE_TYPE_GIGA_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_SLOPE_STEEP_LONG) | (1ULL << TRACK_LIFT_HILL_CABLE) | (1ULL << TRACK_BOOSTER), + /* RIDE_TYPE_ROTO_DROP */ (1ULL << TRACK_TOWER_BASE), + /* RIDE_TYPE_FLYING_SAUCERS */ 0, + /* RIDE_TYPE_CROOKED_HOUSE */ 0, + /* RIDE_TYPE_MONORAIL_CYCLES */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE), + /* RIDE_TYPE_COMPACT_INVERTED_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_TWIST) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_LARGE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BLOCK_BRAKES), + /* RIDE_TYPE_WATER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES), + /* RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_LIFT_HILL_CURVE) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_REVERSE_FREEFALL) | (1ULL << TRACK_SLOPE_TO_FLAT), + /* RIDE_TYPE_INVERTED_HAIRPIN_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES), + /* RIDE_TYPE_MAGIC_CARPET */ 0, + /* RIDE_TYPE_SUBMARINE_RIDE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL), + /* RIDE_TYPE_RIVER_RAFTS */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE), + /* RIDE_TYPE_50 */ 0, + /* RIDE_TYPE_ENTERPRISE */ 0, + /* RIDE_TYPE_52 */ 0, + /* RIDE_TYPE_53 */ 0, + /* RIDE_TYPE_54 */ 0, + /* RIDE_TYPE_55 */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_STEEP_LONG), + /* RIDE_TYPE_INVERTED_IMPULSE_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_CURVE_VERTICAL), + /* RIDE_TYPE_MINI_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_CURVED), + /* RIDE_TYPE_MINE_RIDE */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_ON_RIDE_PHOTO), + /* RIDE_TYPE_59 */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES), + /* RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER */ (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_TWIST) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_CURVE_VERTICAL) | (1ULL << TRACK_QUARTER_LOOP) }; #define TRACK_BLOCK_END { 255, 255, 255, 255, 255, 255, 255 } static const rct_preview_track TrackBlocks000[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks001[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks002[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks003[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks004[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks005[] = { - { 0, 0, 0, 0, 64, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks006[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks007[] = { - { 0, 0, 0, 0, 32, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks008[] = { - { 0, 0, 0, 0, 32, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks009[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks010[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks011[] = { - { 0, 0, 0, 0, 64, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks012[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks013[] = { - { 0, 0, 0, 0, 32, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks014[] = { - { 0, 0, 0, 0, 32, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks015[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks016[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 0, 8, 1 }, - { 5, -64, -32, 0, 0, 7, 0 }, - { 6, -64, -64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 0, 8, 1 }, + { 5, -64, -32, 0, 0, 7, 0 }, + { 6, -64, -64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks017[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 0, 4, 1 }, - { 5, -64, 32, 0, 0, 11, 0 }, - { 6, -64, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 0, 4, 1 }, + { 5, -64, 32, 0, 0, 11, 0 }, + { 6, -64, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks018[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks019[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks020[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks021[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks022[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 0, 8, 1 }, - { 5, -64, -32, 0, 0, 7, 0 }, - { 6, -64, -64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 0, 8, 1 }, + { 5, -64, -32, 0, 0, 7, 0 }, + { 6, -64, -64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks023[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 0, 4, 1 }, - { 5, -64, 32, 0, 0, 11, 0 }, - { 6, -64, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 0, 4, 1 }, + { 5, -64, 32, 0, 0, 11, 0 }, + { 6, -64, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks024[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks025[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks026[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks027[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks028[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks029[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks030[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks031[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks032[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks033[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks034[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - { 1, 0, -32, 16, 0, 8, 1 }, - { 2, -32, 0, 16, 16, 71, 0 }, - { 3, -32, -32, 24, 16, 13, 0 }, - { 4, -32, -64, 48, 0, 8, 1 }, - { 5, -64, -32, 32, 16, 71, 0 }, - { 6, -64, -64, 48, 16, 111, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + { 1, 0, -32, 16, 0, 8, 1 }, + { 2, -32, 0, 16, 16, 71, 0 }, + { 3, -32, -32, 24, 16, 13, 0 }, + { 4, -32, -64, 48, 0, 8, 1 }, + { 5, -64, -32, 32, 16, 71, 0 }, + { 6, -64, -64, 48, 16, 111, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks035[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - { 1, 0, 32, 16, 0, 4, 1 }, - { 2, -32, 0, 16, 16, 139, 0 }, - { 3, -32, 32, 24, 16, 14, 0 }, - { 4, -32, 64, 48, 0, 4, 1 }, - { 5, -64, 32, 32, 16, 139, 0 }, - { 6, -64, 64, 48, 16, 159, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + { 1, 0, 32, 16, 0, 4, 1 }, + { 2, -32, 0, 16, 16, 139, 0 }, + { 3, -32, 32, 24, 16, 14, 0 }, + { 4, -32, 64, 48, 0, 4, 1 }, + { 5, -64, 32, 32, 16, 139, 0 }, + { 6, -64, 64, 48, 16, 159, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks036[] = { - { 0, 0, 0, 48, 16, 63, 0 }, - { 1, 0, -32, 48, 0, 8, 1 }, - { 2, -32, 0, 32, 16, 23, 0 }, - { 3, -32, -32, 24, 16, 13, 0 }, - { 4, -32, -64, 16, 0, 8, 1 }, - { 5, -64, -32, 16, 16, 23, 0 }, - { 6, -64, -64, 0, 16, 159, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 48, 16, 63, 0 }, + { 1, 0, -32, 48, 0, 8, 1 }, + { 2, -32, 0, 32, 16, 23, 0 }, + { 3, -32, -32, 24, 16, 13, 0 }, + { 4, -32, -64, 16, 0, 8, 1 }, + { 5, -64, -32, 16, 16, 23, 0 }, + { 6, -64, -64, 0, 16, 159, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks037[] = { - { 0, 0, 0, 48, 16, 63, 0 }, - { 1, 0, 32, 48, 0, 4, 1 }, - { 2, -32, 0, 32, 16, 43, 0 }, - { 3, -32, 32, 24, 16, 14, 0 }, - { 4, -32, 64, 16, 0, 4, 1 }, - { 5, -64, 32, 16, 16, 43, 0 }, - { 6, -64, 64, 0, 16, 111, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 48, 16, 63, 0 }, + { 1, 0, 32, 48, 0, 4, 1 }, + { 2, -32, 0, 32, 16, 43, 0 }, + { 3, -32, 32, 24, 16, 14, 0 }, + { 4, -32, 64, 16, 0, 4, 1 }, + { 5, -64, 32, 16, 16, 43, 0 }, + { 6, -64, 64, 0, 16, 111, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks038[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 7, 0 }, - { 2, -32, -32, 0, 0, 13, 0 }, - { 3, -64, -32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 7, 0 }, + { 2, -32, -32, 0, 0, 13, 0 }, + { 3, -64, -32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks039[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 11, 0 }, - { 2, -32, 32, 0, 0, 14, 0 }, - { 3, -64, 32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 11, 0 }, + { 2, -32, 32, 0, 0, 14, 0 }, + { 3, -64, 32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks040[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - { 1, -32, 0, 16, 16, 207, 0 }, - { 2, -64, 0, 32, 96, 2, 0 }, - { 3, -32, 0, 120, 16, 6, 0 }, - { 4, -32, -32, 120, 0, 0, 0 }, - { 5, 0, 0, 120, 0, 0, 0 }, - { 6, 0, -32, 120, 16, 9, 0 }, - { 7, 32, -32, 32, 96, 8, 0 }, - { 8, 0, -32, 16, 16, 63, 0 }, - { 9, -32, -32, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + { 1, -32, 0, 16, 16, 207, 0 }, + { 2, -64, 0, 32, 96, 2, 0 }, + { 3, -32, 0, 120, 16, 6, 0 }, + { 4, -32, -32, 120, 0, 0, 0 }, + { 5, 0, 0, 120, 0, 0, 0 }, + { 6, 0, -32, 120, 16, 9, 0 }, + { 7, 32, -32, 32, 96, 8, 0 }, + { 8, 0, -32, 16, 16, 63, 0 }, + { 9, -32, -32, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks041[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - { 1, -32, 0, 16, 16, 207, 0 }, - { 2, -64, 0, 32, 96, 1, 0 }, - { 3, -32, 0, 120, 16, 9, 0 }, - { 4, -32, 32, 120, 0, 0, 0 }, - { 5, 0, 0, 120, 0, 0, 0 }, - { 6, 0, 32, 120, 16, 6, 0 }, - { 7, 32, 32, 32, 96, 4, 0 }, - { 8, 0, 32, 16, 16, 63, 0 }, - { 9, -32, 32, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + { 1, -32, 0, 16, 16, 207, 0 }, + { 2, -64, 0, 32, 96, 1, 0 }, + { 3, -32, 0, 120, 16, 9, 0 }, + { 4, -32, 32, 120, 0, 0, 0 }, + { 5, 0, 0, 120, 0, 0, 0 }, + { 6, 0, 32, 120, 16, 6, 0 }, + { 7, 32, 32, 32, 96, 4, 0 }, + { 8, 0, 32, 16, 16, 63, 0 }, + { 9, -32, 32, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks042[] = { - { 0, 0, 0, 0, 0, 7, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 2, 0 }, - { 3, -32, -32, 0, 0, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 7, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 2, 0 }, + { 3, -32, -32, 0, 0, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks043[] = { - { 0, 0, 0, 0, 0, 11, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 0 }, - { 3, -32, 32, 0, 0, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 11, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 0 }, + { 3, -32, 32, 0, 0, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks044[] = { - { 0, 0, 0, 0, 0, 7, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 2, 0 }, - { 3, -32, -32, 0, 0, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 7, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 2, 0 }, + { 3, -32, -32, 0, 0, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks045[] = { - { 0, 0, 0, 0, 0, 11, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 0 }, - { 3, -32, 32, 0, 0, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 11, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 0 }, + { 3, -32, 32, 0, 0, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks046[] = { - { 0, 0, 0, 0, 16, 71, 0 }, - { 1, 0, -32, 16, 0, 8, 1 }, - { 2, -32, 0, 16, 0, 2, 0 }, - { 3, -32, -32, 16, 16, 103, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 71, 0 }, + { 1, 0, -32, 16, 0, 8, 1 }, + { 2, -32, 0, 16, 0, 2, 0 }, + { 3, -32, -32, 16, 16, 103, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks047[] = { - { 0, 0, 0, 0, 16, 139, 0 }, - { 1, 0, 32, 16, 0, 4, 1 }, - { 2, -32, 0, 16, 0, 1, 0 }, - { 3, -32, 32, 16, 16, 155, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 139, 0 }, + { 1, 0, 32, 16, 0, 4, 1 }, + { 2, -32, 0, 16, 0, 1, 0 }, + { 3, -32, 32, 16, 16, 155, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks048[] = { - { 0, 0, 0, 16, 16, 55, 0 }, - { 1, 0, -32, 16, 0, 8, 1 }, - { 2, -32, 0, 16, 0, 2, 0 }, - { 3, -32, -32, 0, 16, 23, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 16, 16, 55, 0 }, + { 1, 0, -32, 16, 0, 8, 1 }, + { 2, -32, 0, 16, 0, 2, 0 }, + { 3, -32, -32, 0, 16, 23, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks049[] = { - { 0, 0, 0, 16, 16, 59, 0 }, - { 1, 0, 32, 16, 0, 4, 1 }, - { 2, -32, 0, 16, 0, 1, 0 }, - { 3, -32, 32, 0, 16, 43, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 16, 16, 59, 0 }, + { 1, 0, 32, 16, 0, 4, 1 }, + { 2, -32, 0, 16, 0, 1, 0 }, + { 3, -32, 32, 0, 16, 43, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks050[] = { - { 0, 0, 0, 0, 0, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks051[] = { - { 0, 0, 0, 0, 0, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks052[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 16, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 16, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks053[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 16, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 16, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks054[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, -16, 16, 15, 0 }, - { 2, -64, 0, -16, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, -16, 16, 15, 0 }, + { 2, -64, 0, -16, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks055[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, -16, 16, 15, 0 }, - { 2, -64, 0, -16, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, -16, 16, 15, 0 }, + { 2, -64, 0, -16, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks056[] = { - { 0, 0, 0, 0, 32, 207, 0 }, - { 1, -32, 0, 16, 16, 207, 0 }, - { 2, -64, 0, 32, 96, 3, 0 }, - { 3, -32, 0, 120, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 0 }, + { 1, -32, 0, 16, 16, 207, 0 }, + { 2, -64, 0, 32, 96, 3, 0 }, + { 3, -32, 0, 120, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks057[] = { - { 0, 0, 0, -32, 32, 15, 0 }, - { 1, -32, 0, -120, 96, 3, 0 }, - { 2, 0, 0, -136, 16, 207, 0 }, - { 3, 32, 0, -152, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 32, 15, 0 }, + { 1, -32, 0, -120, 96, 3, 0 }, + { 2, 0, 0, -136, 16, 207, 0 }, + { 3, 32, 0, -152, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks058[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 24, 32, 7, 0 }, - { 2, -32, -32, 48, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 24, 32, 7, 0 }, + { 2, -32, -32, 48, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks059[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 24, 32, 11, 0 }, - { 2, -32, 32, 48, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 24, 32, 11, 0 }, + { 2, -32, 32, 48, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks060[] = { - { 0, 0, 0, -32, 16, 15, 0 }, - { 1, -32, 0, -56, 32, 7, 0 }, - { 2, -32, -32, -80, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 16, 15, 0 }, + { 1, -32, 0, -56, 32, 7, 0 }, + { 2, -32, -32, -80, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks061[] = { - { 0, 0, 0, -32, 16, 15, 0 }, - { 1, -32, 0, -56, 32, 11, 0 }, - { 2, -32, 32, -80, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 16, 15, 0 }, + { 1, -32, 0, -56, 32, 11, 0 }, + { 2, -32, 32, -80, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks062[] = { - { 0, 0, 0, 0, 24, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks063[] = { - { 0, 0, 0, 0, 24, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks064[] = { - { 0, 0, 0, 0, 24, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks065[] = { - { 0, 0, 0, 0, 24, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks066[] = { - { 0, 0, 0, 0, 64, 15, 0 }, - { 1, -32, -32, 0, 0, 15, 0 }, - { 2, -32, 0, 0, 0, 15, 0 }, - { 3, -32, 32, 0, 0, 15, 0 }, - { 4, 0, -32, 0, 0, 15, 0 }, - { 5, 0, 32, 0, 0, 15, 0 }, - { 6, 32, -32, 0, 0, 15, 0 }, - { 7, 32, 32, 0, 0, 15, 0 }, - { 8, 32, 0, 0, 0, 15, 2 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 15, 0 }, + { 1, -32, -32, 0, 0, 15, 0 }, + { 2, -32, 0, 0, 0, 15, 0 }, + { 3, -32, 32, 0, 0, 15, 0 }, + { 4, 0, -32, 0, 0, 15, 0 }, + { 5, 0, 32, 0, 0, 15, 0 }, + { 6, 32, -32, 0, 0, 15, 0 }, + { 7, 32, 32, 0, 0, 15, 0 }, + { 8, 32, 0, 0, 0, 15, 2 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks067[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 32, 0, 0, 0, 0, 3 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 32, 0, 0, 0, 0, 3 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks068[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks069[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks070[] = { - { 0, 0, 0, 0, 64, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks071[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks072[] = { - { 0, 0, 0, 0, 32, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks073[] = { - { 0, 0, 0, 0, 32, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks074[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks075[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks076[] = { - { 0, 0, 0, 0, 64, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks077[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks078[] = { - { 0, 0, 0, 0, 32, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks079[] = { - { 0, 0, 0, 0, 32, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks080[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks081[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 0, 8, 1 }, - { 5, -64, -32, 0, 0, 7, 0 }, - { 6, -64, -64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 0, 8, 1 }, + { 5, -64, -32, 0, 0, 7, 0 }, + { 6, -64, -64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks082[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 0, 4, 1 }, - { 5, -64, 32, 0, 0, 11, 0 }, - { 6, -64, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 0, 4, 1 }, + { 5, -64, 32, 0, 0, 11, 0 }, + { 6, -64, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks083[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 7, 0 }, - { 2, -32, -32, 0, 0, 13, 0 }, - { 3, -64, -32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 7, 0 }, + { 2, -32, -32, 0, 0, 13, 0 }, + { 3, -64, -32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks084[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 11, 0 }, - { 2, -32, 32, 0, 0, 14, 0 }, - { 3, -64, 32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 11, 0 }, + { 2, -32, 32, 0, 0, 14, 0 }, + { 3, -64, 32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks085[] = { - { 0, 0, 0, 0, 0, 7, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 2, 0 }, - { 3, -32, -32, 0, 0, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 7, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 2, 0 }, + { 3, -32, -32, 0, 0, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks086[] = { - { 0, 0, 0, 0, 0, 11, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 0 }, - { 3, -32, 32, 0, 0, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 11, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 0 }, + { 3, -32, 32, 0, 0, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks087[] = { - { 0, 0, 0, 0, 0, 7, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 4, 2, 0 }, - { 3, -32, -32, 0, 4, 7, 0 }, - { 4, -32, -64, 8, 0, 11, 0 }, - { 5, 0, -64, 8, 0, 4, 1 }, - { 6, -32, -96, 8, 4, 1, 0 }, - { 7, 0, -96, 8, 4, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 7, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 4, 2, 0 }, + { 3, -32, -32, 0, 4, 7, 0 }, + { 4, -32, -64, 8, 0, 11, 0 }, + { 5, 0, -64, 8, 0, 4, 1 }, + { 6, -32, -96, 8, 4, 1, 0 }, + { 7, 0, -96, 8, 4, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks088[] = { - { 0, 0, 0, 0, 0, 11, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 4, 1, 0 }, - { 3, -32, 32, 0, 4, 11, 0 }, - { 4, -32, 64, 8, 0, 7, 0 }, - { 5, 0, 64, 8, 0, 8, 1 }, - { 6, -32, 96, 8, 4, 2, 0 }, - { 7, 0, 96, 8, 4, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 11, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 4, 1, 0 }, + { 3, -32, 32, 0, 4, 11, 0 }, + { 4, -32, 64, 8, 0, 7, 0 }, + { 5, 0, 64, 8, 0, 8, 1 }, + { 6, -32, 96, 8, 4, 2, 0 }, + { 7, 0, 96, 8, 4, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks089[] = { - { 0, 0, 0, 8, 4, 7, 0 }, - { 1, 0, -32, 8, 4, 8, 1 }, - { 2, -32, 0, 8, 0, 2, 0 }, - { 3, -32, -32, 8, 0, 7, 0 }, - { 4, -32, -64, 0, 4, 11, 0 }, - { 5, 0, -64, 0, 4, 4, 1 }, - { 6, -32, -96, 0, 0, 1, 0 }, - { 7, 0, -96, 0, 0, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 8, 4, 7, 0 }, + { 1, 0, -32, 8, 4, 8, 1 }, + { 2, -32, 0, 8, 0, 2, 0 }, + { 3, -32, -32, 8, 0, 7, 0 }, + { 4, -32, -64, 0, 4, 11, 0 }, + { 5, 0, -64, 0, 4, 4, 1 }, + { 6, -32, -96, 0, 0, 1, 0 }, + { 7, 0, -96, 0, 0, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks090[] = { - { 0, 0, 0, 8, 4, 11, 0 }, - { 1, 0, 32, 8, 4, 4, 1 }, - { 2, -32, 0, 8, 0, 1, 0 }, - { 3, -32, 32, 8, 0, 11, 0 }, - { 4, -32, 64, 0, 4, 7, 0 }, - { 5, 0, 64, 0, 4, 8, 1 }, - { 6, -32, 96, 0, 0, 2, 0 }, - { 7, 0, 96, 0, 0, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 8, 4, 11, 0 }, + { 1, 0, 32, 8, 4, 4, 1 }, + { 2, -32, 0, 8, 0, 1, 0 }, + { 3, -32, 32, 8, 0, 11, 0 }, + { 4, -32, 64, 0, 4, 7, 0 }, + { 5, 0, 64, 0, 4, 8, 1 }, + { 6, -32, 96, 0, 0, 2, 0 }, + { 7, 0, 96, 0, 0, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks091[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 4, 8, 1 }, - { 5, -64, -32, 0, 4, 7, 0 }, - { 6, -64, -64, 0, 4, 15, 0 }, - { 7, -64, -96, 8, 0, 15, 0 }, - { 8, -32, -96, 8, 0, 4, 1 }, - { 9, -64, -128, 8, 0, 11, 0 }, - { 10, -32, -128, 8, 0, 14, 0 }, - { 11, 0, -128, 8, 4, 4, 1 }, - { 12, -32, -160, 8, 4, 11, 0 }, - { 13, 0, -160, 8, 4, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 4, 8, 1 }, + { 5, -64, -32, 0, 4, 7, 0 }, + { 6, -64, -64, 0, 4, 15, 0 }, + { 7, -64, -96, 8, 0, 15, 0 }, + { 8, -32, -96, 8, 0, 4, 1 }, + { 9, -64, -128, 8, 0, 11, 0 }, + { 10, -32, -128, 8, 0, 14, 0 }, + { 11, 0, -128, 8, 4, 4, 1 }, + { 12, -32, -160, 8, 4, 11, 0 }, + { 13, 0, -160, 8, 4, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks092[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 4, 4, 1 }, - { 5, -64, 32, 0, 4, 11, 0 }, - { 6, -64, 64, 0, 4, 15, 0 }, - { 7, -64, 96, 8, 0, 15, 0 }, - { 8, -32, 96, 8, 0, 8, 1 }, - { 9, -64, 128, 8, 0, 7, 0 }, - { 10, -32, 128, 8, 0, 13, 0 }, - { 11, 0, 128, 8, 4, 8, 1 }, - { 12, -32, 160, 8, 4, 7, 0 }, - { 13, 0, 160, 8, 4, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 4, 4, 1 }, + { 5, -64, 32, 0, 4, 11, 0 }, + { 6, -64, 64, 0, 4, 15, 0 }, + { 7, -64, 96, 8, 0, 15, 0 }, + { 8, -32, 96, 8, 0, 8, 1 }, + { 9, -64, 128, 8, 0, 7, 0 }, + { 10, -32, 128, 8, 0, 13, 0 }, + { 11, 0, 128, 8, 4, 8, 1 }, + { 12, -32, 160, 8, 4, 7, 0 }, + { 13, 0, 160, 8, 4, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks093[] = { - { 0, 0, 0, 8, 4, 15, 0 }, - { 1, 0, -32, 8, 4, 8, 1 }, - { 2, -32, 0, 8, 4, 7, 0 }, - { 3, -32, -32, 8, 0, 13, 0 }, - { 4, -32, -64, 8, 0, 8, 1 }, - { 5, -64, -32, 8, 0, 7, 0 }, - { 6, -64, -64, 8, 0, 15, 0 }, - { 7, -64, -96, 0, 4, 15, 0 }, - { 8, -32, -96, 0, 4, 4, 1 }, - { 9, -64, -128, 0, 4, 11, 0 }, - { 10, -32, -128, 0, 0, 14, 0 }, - { 11, 0, -128, 0, 0, 4, 1 }, - { 12, -32, -160, 0, 0, 11, 0 }, - { 13, 0, -160, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 8, 4, 15, 0 }, + { 1, 0, -32, 8, 4, 8, 1 }, + { 2, -32, 0, 8, 4, 7, 0 }, + { 3, -32, -32, 8, 0, 13, 0 }, + { 4, -32, -64, 8, 0, 8, 1 }, + { 5, -64, -32, 8, 0, 7, 0 }, + { 6, -64, -64, 8, 0, 15, 0 }, + { 7, -64, -96, 0, 4, 15, 0 }, + { 8, -32, -96, 0, 4, 4, 1 }, + { 9, -64, -128, 0, 4, 11, 0 }, + { 10, -32, -128, 0, 0, 14, 0 }, + { 11, 0, -128, 0, 0, 4, 1 }, + { 12, -32, -160, 0, 0, 11, 0 }, + { 13, 0, -160, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks094[] = { - { 0, 0, 0, 8, 4, 15, 0 }, - { 1, 0, 32, 8, 4, 4, 1 }, - { 2, -32, 0, 8, 4, 11, 0 }, - { 3, -32, 32, 8, 0, 14, 0 }, - { 4, -32, 64, 8, 0, 4, 1 }, - { 5, -64, 32, 8, 0, 11, 0 }, - { 6, -64, 64, 8, 0, 15, 0 }, - { 7, -64, 96, 0, 4, 15, 0 }, - { 8, -32, 96, 0, 4, 8, 1 }, - { 9, -64, 128, 0, 4, 7, 0 }, - { 10, -32, 128, 0, 0, 13, 0 }, - { 11, 0, 128, 0, 0, 8, 1 }, - { 12, -32, 160, 0, 0, 7, 0 }, - { 13, 0, 160, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 8, 4, 15, 0 }, + { 1, 0, 32, 8, 4, 4, 1 }, + { 2, -32, 0, 8, 4, 11, 0 }, + { 3, -32, 32, 8, 0, 14, 0 }, + { 4, -32, 64, 8, 0, 4, 1 }, + { 5, -64, 32, 8, 0, 11, 0 }, + { 6, -64, 64, 8, 0, 15, 0 }, + { 7, -64, 96, 0, 4, 15, 0 }, + { 8, -32, 96, 0, 4, 8, 1 }, + { 9, -64, 128, 0, 4, 7, 0 }, + { 10, -32, 128, 0, 0, 13, 0 }, + { 11, 0, 128, 0, 0, 8, 1 }, + { 12, -32, 160, 0, 0, 7, 0 }, + { 13, 0, 160, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks095[] = { - { 0, 0, 0, 0, 64, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks096[] = { - { 0, 0, 0, 0, 64, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks097[] = { - { 0, 0, 0, 0, 64, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks098[] = { - { 0, 0, 0, 0, 64, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks099[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks100[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks101[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks102[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 12, 8, 1 }, - { 5, -64, -32, 0, 12, 7, 0 }, - { 6, -64, -64, 0, 12, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 12, 8, 1 }, + { 5, -64, -32, 0, 12, 7, 0 }, + { 6, -64, -64, 0, 12, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks103[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 12, 4, 1 }, - { 5, -64, 32, 0, 12, 11, 0 }, - { 6, -64, 64, 0, 12, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 12, 4, 1 }, + { 5, -64, 32, 0, 12, 11, 0 }, + { 6, -64, 64, 0, 12, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks104[] = { - { 0, 0, 0, 0, 12, 15, 0 }, - { 1, 0, -32, 0, 12, 8, 1 }, - { 2, -32, 0, 0, 12, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 0, 8, 1 }, - { 5, -64, -32, 0, 0, 7, 0 }, - { 6, -64, -64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 12, 15, 0 }, + { 1, 0, -32, 0, 12, 8, 1 }, + { 2, -32, 0, 0, 12, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 0, 8, 1 }, + { 5, -64, -32, 0, 0, 7, 0 }, + { 6, -64, -64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks105[] = { - { 0, 0, 0, 0, 12, 15, 0 }, - { 1, 0, 32, 0, 12, 4, 1 }, - { 2, -32, 0, 0, 12, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 0, 4, 1 }, - { 5, -64, 32, 0, 0, 11, 0 }, - { 6, -64, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 12, 15, 0 }, + { 1, 0, 32, 0, 12, 4, 1 }, + { 2, -32, 0, 0, 12, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 0, 4, 1 }, + { 5, -64, 32, 0, 0, 11, 0 }, + { 6, -64, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks106[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 12, 8, 1 }, - { 5, -64, -32, 0, 12, 7, 0 }, - { 6, -64, -64, 0, 12, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 12, 8, 1 }, + { 5, -64, -32, 0, 12, 7, 0 }, + { 6, -64, -64, 0, 12, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks107[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 12, 4, 1 }, - { 5, -64, 32, 0, 12, 11, 0 }, - { 6, -64, 64, 0, 12, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 12, 4, 1 }, + { 5, -64, 32, 0, 12, 11, 0 }, + { 6, -64, 64, 0, 12, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks108[] = { - { 0, 0, 0, 0, 12, 15, 0 }, - { 1, 0, -32, 0, 12, 8, 1 }, - { 2, -32, 0, 0, 12, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 0, 8, 1 }, - { 5, -64, -32, 0, 0, 7, 0 }, - { 6, -64, -64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 12, 15, 0 }, + { 1, 0, -32, 0, 12, 8, 1 }, + { 2, -32, 0, 0, 12, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 0, 8, 1 }, + { 5, -64, -32, 0, 0, 7, 0 }, + { 6, -64, -64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks109[] = { - { 0, 0, 0, 0, 12, 15, 0 }, - { 1, 0, 32, 0, 12, 4, 1 }, - { 2, -32, 0, 0, 12, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 0, 4, 1 }, - { 5, -64, 32, 0, 0, 11, 0 }, - { 6, -64, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 12, 15, 0 }, + { 1, 0, 32, 0, 12, 4, 1 }, + { 2, -32, 0, 0, 12, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 0, 4, 1 }, + { 5, -64, 32, 0, 0, 11, 0 }, + { 6, -64, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks110[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks111[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks112[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks113[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks114[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks115[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks116[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks117[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 0, 16, 15, 0 }, - { 3, -96, 0, 0, 16, 15, 0 }, - { 4, -128, 0, 0, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 0, 16, 15, 0 }, + { 3, -96, 0, 0, 16, 15, 0 }, + { 4, -128, 0, 0, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks118[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 16, 24, 15, 0 }, - { 3, -96, 0, 40, 48, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 16, 24, 15, 0 }, + { 3, -96, 0, 40, 48, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks119[] = { - { 0, 0, 0, 0, 48, 15, 0 }, - { 1, -32, 0, 40, 48, 15, 0 }, - { 2, -64, 0, 64, 24, 15, 0 }, - { 3, -96, 0, 80, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 48, 15, 0 }, + { 1, -32, 0, 40, 48, 15, 0 }, + { 2, -64, 0, 64, 24, 15, 0 }, + { 3, -96, 0, 80, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks120[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks121[] = { - { 0, 0, 0, 40, 48, 15, 0 }, - { 1, -32, 0, 16, 24, 15, 0 }, - { 2, -64, 0, 0, 16, 15, 0 }, - { 3, -96, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 40, 48, 15, 0 }, + { 1, -32, 0, 16, 24, 15, 0 }, + { 2, -64, 0, 0, 16, 15, 0 }, + { 3, -96, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks122[] = { - { 0, 0, 0, 80, 8, 15, 0 }, - { 1, -32, 0, 64, 24, 15, 0 }, - { 2, -64, 0, 40, 48, 15, 0 }, - { 3, -96, 0, 0, 48, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 80, 8, 15, 0 }, + { 1, -32, 0, 64, 24, 15, 0 }, + { 2, -64, 0, 40, 48, 15, 0 }, + { 3, -96, 0, 0, 48, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks123[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - { 1, -32, 0, 0, 8, 63, 0 }, - { 2, -64, 0, -32, 32, 63, 0 }, - { 3, -96, 0, -96, 64, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + { 1, -32, 0, 0, 8, 63, 0 }, + { 2, -64, 0, -32, 32, 63, 0 }, + { 3, -96, 0, -96, 64, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks124[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 0, 32, 15, 0 }, - { 2, -64, 0, 0, 48, 15, 0 }, - { 3, -96, 0, 0, 80, 15, 0 }, - { 4, -128, 0, 0, 160, 15, 0 }, - { 5, -192, 0, 0, 208, 15, 0 }, - { 6, -160, 0, 0, 208, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 0, 32, 15, 0 }, + { 2, -64, 0, 0, 48, 15, 0 }, + { 3, -96, 0, 0, 80, 15, 0 }, + { 4, -128, 0, 0, 160, 15, 0 }, + { 5, -192, 0, 0, 208, 15, 0 }, + { 6, -160, 0, 0, 208, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks125[] = { - { 0, 0, 0, 0, 48, 15, 0 }, - { 1, 32, 0, 0, 48, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 48, 15, 0 }, + { 1, 32, 0, 0, 48, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks126[] = { - { 0, 0, 0, 0, 8, 15, 4 }, - { 1, 32, 0, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 4 }, + { 1, 32, 0, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks127[] = { - { 0, 0, 0, 0, 8, 15, 4 }, - { 1, 32, 0, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 4 }, + { 1, 32, 0, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks128[] = { - { 0, 0, 0, 0, 32, 207, 4 }, - { 1, 32, 0, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 4 }, + { 1, 32, 0, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks129[] = { - { 0, 0, 0, 0, 32, 63, 4 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 63, 4 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks130[] = { - { 0, 0, 0, 0, 56, 15, 4 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 56, 15, 4 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks131[] = { - { 0, 0, 0, 0, 56, 15, 4 }, - { 1, 32, 0, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 56, 15, 4 }, + { 1, 32, 0, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks132[] = { - { 0, 0, 0, 0, 24, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks133[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -32, -32, 0, 0, 8, 0 }, - { 3, -64, 0, 0, 0, 2, 1 }, - { 4, -64, -32, 0, 0, 1, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -32, -32, 0, 0, 8, 0 }, + { 3, -64, 0, 0, 0, 2, 1 }, + { 4, -64, -32, 0, 0, 1, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks134[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -32, 32, 0, 0, 4, 0 }, - { 3, -64, 0, 0, 0, 1, 1 }, - { 4, -64, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -32, 32, 0, 0, 4, 0 }, + { 3, -64, 0, 0, 0, 1, 1 }, + { 4, -64, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks135[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, -32, 0, 0, 0, 1, 0 }, - { 2, 0, 32, 0, 0, 4, 1 }, - { 3, -32, 32, 0, 0, 15, 0 }, - { 4, -64, 32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, -32, 0, 0, 0, 1, 0 }, + { 2, 0, 32, 0, 0, 4, 1 }, + { 3, -32, 32, 0, 0, 15, 0 }, + { 4, -64, 32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks136[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 0 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 15, 0 }, - { 4, -32, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 0 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 15, 0 }, + { 4, -32, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks137[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -32, -32, 0, 0, 8, 0 }, - { 3, -64, 0, 0, 0, 2, 1 }, - { 4, -64, -32, 0, 0, 1, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -32, -32, 0, 0, 8, 0 }, + { 3, -64, 0, 0, 0, 2, 1 }, + { 4, -64, -32, 0, 0, 1, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks138[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -32, 32, 0, 0, 4, 0 }, - { 3, -64, 0, 0, 0, 1, 1 }, - { 4, -64, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -32, 32, 0, 0, 4, 0 }, + { 3, -64, 0, 0, 0, 1, 1 }, + { 4, -64, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks139[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, -32, 0, 0, 0, 1, 0 }, - { 2, 0, 32, 0, 0, 4, 1 }, - { 3, -32, 32, 0, 0, 15, 0 }, - { 4, -64, 32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, -32, 0, 0, 0, 1, 0 }, + { 2, 0, 32, 0, 0, 4, 1 }, + { 3, -32, 32, 0, 0, 15, 0 }, + { 4, -64, 32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks140[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 0 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 15, 0 }, - { 4, -32, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 0 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 15, 0 }, + { 4, -32, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks141[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks142[] = { - { 0, 0, 0, 0, 16, 13, 0 }, - { 1, 0, 32, 0, 16, 4, 1 }, - { 2, -32, 0, 0, 16, 1, 1 }, - { 3, -32, 32, 0, 16, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 13, 0 }, + { 1, 0, 32, 0, 16, 4, 1 }, + { 2, -32, 0, 0, 16, 1, 1 }, + { 3, -32, 32, 0, 16, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks143[] = { - { 0, 0, 0, 0, 64, 13, 0 }, - { 1, 0, 32, 0, 64, 4, 1 }, - { 2, -32, 0, 0, 64, 1, 1 }, - { 3, -32, 32, 0, 64, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 13, 0 }, + { 1, 0, 32, 0, 64, 4, 1 }, + { 2, -32, 0, 0, 64, 1, 1 }, + { 3, -32, 32, 0, 64, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks144[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks145[] = { - { 0, 0, 0, 0, 32, 13, 0 }, - { 1, 0, 32, 0, 32, 4, 1 }, - { 2, -32, 0, 0, 32, 1, 1 }, - { 3, -32, 32, 0, 32, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 13, 0 }, + { 1, 0, 32, 0, 32, 4, 1 }, + { 2, -32, 0, 0, 32, 1, 1 }, + { 3, -32, 32, 0, 32, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks146[] = { - { 0, 0, 0, 0, 32, 13, 0 }, - { 1, 0, 32, 0, 32, 4, 1 }, - { 2, -32, 0, 0, 32, 1, 1 }, - { 3, -32, 32, 0, 32, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 13, 0 }, + { 1, 0, 32, 0, 32, 4, 1 }, + { 2, -32, 0, 0, 32, 1, 1 }, + { 3, -32, 32, 0, 32, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks147[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks148[] = { - { 0, 0, 0, 0, 16, 13, 0 }, - { 1, 0, 32, 0, 16, 4, 1 }, - { 2, -32, 0, 0, 16, 1, 1 }, - { 3, -32, 32, 0, 16, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 13, 0 }, + { 1, 0, 32, 0, 16, 4, 1 }, + { 2, -32, 0, 0, 16, 1, 1 }, + { 3, -32, 32, 0, 16, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks149[] = { - { 0, 0, 0, 0, 64, 13, 0 }, - { 1, 0, 32, 0, 64, 4, 1 }, - { 2, -32, 0, 0, 64, 1, 1 }, - { 3, -32, 32, 0, 64, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 13, 0 }, + { 1, 0, 32, 0, 64, 4, 1 }, + { 2, -32, 0, 0, 64, 1, 1 }, + { 3, -32, 32, 0, 64, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks150[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks151[] = { - { 0, 0, 0, 0, 32, 13, 0 }, - { 1, 0, 32, 0, 32, 4, 1 }, - { 2, -32, 0, 0, 32, 1, 1 }, - { 3, -32, 32, 0, 32, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 13, 0 }, + { 1, 0, 32, 0, 32, 4, 1 }, + { 2, -32, 0, 0, 32, 1, 1 }, + { 3, -32, 32, 0, 32, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks152[] = { - { 0, 0, 0, 0, 32, 13, 0 }, - { 1, 0, 32, 0, 32, 4, 1 }, - { 2, -32, 0, 0, 32, 1, 1 }, - { 3, -32, 32, 0, 32, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 13, 0 }, + { 1, 0, 32, 0, 32, 4, 1 }, + { 2, -32, 0, 0, 32, 1, 1 }, + { 3, -32, 32, 0, 32, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks153[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks154[] = { - { 0, 0, 0, 0, 24, 13, 0 }, - { 1, 0, 32, 0, 24, 4, 1 }, - { 2, -32, 0, 0, 24, 1, 1 }, - { 3, -32, 32, 0, 24, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 13, 0 }, + { 1, 0, 32, 0, 24, 4, 1 }, + { 2, -32, 0, 0, 24, 1, 1 }, + { 3, -32, 32, 0, 24, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks155[] = { - { 0, 0, 0, 0, 24, 13, 0 }, - { 1, 0, 32, 0, 24, 4, 1 }, - { 2, -32, 0, 0, 24, 1, 1 }, - { 3, -32, 32, 0, 24, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 13, 0 }, + { 1, 0, 32, 0, 24, 4, 1 }, + { 2, -32, 0, 0, 24, 1, 1 }, + { 3, -32, 32, 0, 24, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks156[] = { - { 0, 0, 0, 0, 24, 13, 0 }, - { 1, 0, 32, 0, 24, 4, 1 }, - { 2, -32, 0, 0, 24, 1, 1 }, - { 3, -32, 32, 0, 24, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 13, 0 }, + { 1, 0, 32, 0, 24, 4, 1 }, + { 2, -32, 0, 0, 24, 1, 1 }, + { 3, -32, 32, 0, 24, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks157[] = { - { 0, 0, 0, 0, 24, 13, 0 }, - { 1, 0, 32, 0, 24, 4, 1 }, - { 2, -32, 0, 0, 24, 1, 1 }, - { 3, -32, 32, 0, 24, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 13, 0 }, + { 1, 0, 32, 0, 24, 4, 1 }, + { 2, -32, 0, 0, 24, 1, 1 }, + { 3, -32, 32, 0, 24, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks158[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks159[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks160[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks161[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks162[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks163[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks164[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks165[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks166[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks167[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks168[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks169[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks170[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks171[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks172[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks173[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks174[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 0, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 0, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks175[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 0, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 0, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks176[] = { - { 0, 0, 0, -32, 16, 15, 0 }, - { 1, -32, 0, -32, 16, 15, 0 }, - { 2, -64, 0, -32, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 16, 15, 0 }, + { 1, -32, 0, -32, 16, 15, 0 }, + { 2, -64, 0, -32, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks177[] = { - { 0, 0, 0, -32, 16, 15, 0 }, - { 1, -32, 0, -32, 16, 15, 0 }, - { 2, -64, 0, -32, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 16, 15, 0 }, + { 1, -32, 0, -32, 16, 15, 0 }, + { 2, -64, 0, -32, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks178[] = { - { 0, 0, 0, 0, 0, 71, 0 }, - { 1, 0, -32, 0, 16, 8, 1 }, - { 2, -32, 0, 0, 16, 2, 0 }, - { 3, -32, -32, 16, 16, 103, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 71, 0 }, + { 1, 0, -32, 0, 16, 8, 1 }, + { 2, -32, 0, 0, 16, 2, 0 }, + { 3, -32, -32, 16, 16, 103, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks179[] = { - { 0, 0, 0, 0, 16, 139, 0 }, - { 1, 0, 32, 0, 16, 4, 1 }, - { 2, -32, 0, 0, 16, 1, 0 }, - { 3, -32, 32, 16, 16, 155, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 139, 0 }, + { 1, 0, 32, 0, 16, 4, 1 }, + { 2, -32, 0, 0, 16, 1, 0 }, + { 3, -32, 32, 16, 16, 155, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks180[] = { - { 0, 0, 0, 16, 16, 55, 0 }, - { 1, 0, -32, 0, 16, 8, 1 }, - { 2, -32, 0, 0, 16, 2, 0 }, - { 3, -32, -32, 0, 0, 23, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 16, 16, 55, 0 }, + { 1, 0, -32, 0, 16, 8, 1 }, + { 2, -32, 0, 0, 16, 2, 0 }, + { 3, -32, -32, 0, 0, 23, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks181[] = { - { 0, 0, 0, 16, 16, 59, 0 }, - { 1, 0, 32, 0, 16, 4, 1 }, - { 2, -32, 0, 0, 16, 1, 0 }, - { 3, -32, 32, 0, 0, 43, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 16, 16, 59, 0 }, + { 1, 0, 32, 0, 16, 4, 1 }, + { 2, -32, 0, 0, 16, 1, 0 }, + { 3, -32, 32, 0, 0, 43, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks182[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks183[] = { - { 0, 0, 0, 0, 24, 207, 0 }, - { 1, -32, 0, 16, 40, 207, 0 }, - { 2, -64, 0, 32, 56, 15, 0 }, - { 3, -96, 0, 64, 192, 15, 0 }, - { 4, -128, -32, 120, 96, 15, 0 }, - { 5, -96, -32, 64, 192, 15, 0 }, - { 6, -64, -32, 248, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 207, 0 }, + { 1, -32, 0, 16, 40, 207, 0 }, + { 2, -64, 0, 32, 56, 15, 0 }, + { 3, -96, 0, 64, 192, 15, 0 }, + { 4, -128, -32, 120, 96, 15, 0 }, + { 5, -96, -32, 64, 192, 15, 0 }, + { 6, -64, -32, 248, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks184[] = { - { 0, 0, 0, 0, 24, 207, 0 }, - { 1, -32, 0, 16, 40, 207, 0 }, - { 2, -64, 0, 32, 56, 15, 0 }, - { 3, -96, 0, 64, 192, 15, 0 }, - { 4, -128, 32, 120, 96, 15, 0 }, - { 5, -96, 32, 64, 192, 15, 0 }, - { 6, -64, 32, 248, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 207, 0 }, + { 1, -32, 0, 16, 40, 207, 0 }, + { 2, -64, 0, 32, 56, 15, 0 }, + { 3, -96, 0, 64, 192, 15, 0 }, + { 4, -128, 32, 120, 96, 15, 0 }, + { 5, -96, 32, 64, 192, 15, 0 }, + { 6, -64, 32, 248, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks185[] = { - { 0, 0, 0, -32, 24, 15, 0 }, - { 1, -32, 0, -216, 192, 15, 0 }, - { 2, -64, 0, -160, 96, 15, 0 }, - { 3, -32, -32, -216, 192, 15, 0 }, - { 4, 0, -32, -248, 56, 15, 0 }, - { 5, 32, -32, -264, 40, 207, 0 }, - { 6, 64, -32, -280, 24, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 24, 15, 0 }, + { 1, -32, 0, -216, 192, 15, 0 }, + { 2, -64, 0, -160, 96, 15, 0 }, + { 3, -32, -32, -216, 192, 15, 0 }, + { 4, 0, -32, -248, 56, 15, 0 }, + { 5, 32, -32, -264, 40, 207, 0 }, + { 6, 64, -32, -280, 24, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks186[] = { - { 0, 0, 0, -32, 24, 15, 0 }, - { 1, -32, 0, -216, 192, 15, 0 }, - { 2, -64, 0, -160, 96, 15, 0 }, - { 3, -32, 32, -216, 192, 15, 0 }, - { 4, 0, 32, -248, 56, 15, 0 }, - { 5, 32, 32, -264, 40, 207, 0 }, - { 6, 64, 32, -280, 24, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 24, 15, 0 }, + { 1, -32, 0, -216, 192, 15, 0 }, + { 2, -64, 0, -160, 96, 15, 0 }, + { 3, -32, 32, -216, 192, 15, 0 }, + { 4, 0, 32, -248, 56, 15, 0 }, + { 5, 32, 32, -264, 40, 207, 0 }, + { 6, 64, 32, -280, 24, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks187[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, -16, 16, 15, 0 }, - { 2, -64, 0, -16, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, -16, 16, 15, 0 }, + { 2, -64, 0, -16, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks188[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, -16, 16, 15, 0 }, - { 2, -64, 0, -16, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, -16, 16, 15, 0 }, + { 2, -64, 0, -16, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks189[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 16, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 16, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks190[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 16, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 16, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks191[] = { - { 0, 0, 0, 0, 32, 207, 0 }, - { 1, -32, 0, 16, 16, 207, 0 }, - { 2, -64, 0, 32, 96, 3, 0 }, - { 3, -32, 0, 120, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 0 }, + { 1, -32, 0, 16, 16, 207, 0 }, + { 2, -64, 0, 32, 96, 3, 0 }, + { 3, -32, 0, 120, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks192[] = { - { 0, 0, 0, 0, 32, 15, 0 }, - { 1, -32, 0, -88, 96, 3, 0 }, - { 2, 0, 0, -104, 16, 207, 0 }, - { 3, 32, 0, -120, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 15, 0 }, + { 1, -32, 0, -88, 96, 3, 0 }, + { 2, 0, 0, -104, 16, 207, 0 }, + { 3, 32, 0, -120, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks193[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 24, 32, 7, 0 }, - { 2, -32, -32, 48, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 24, 32, 7, 0 }, + { 2, -32, -32, 48, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks194[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 24, 32, 11, 0 }, - { 2, -32, 32, 48, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 24, 32, 11, 0 }, + { 2, -32, 32, 48, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks195[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, -24, 32, 7, 0 }, - { 2, -32, -32, -48, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, -24, 32, 7, 0 }, + { 2, -32, -32, -48, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks196[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, -24, 32, 11, 0 }, - { 2, -32, 32, -48, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, -24, 32, 11, 0 }, + { 2, -32, 32, -48, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks197[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 32, 15, 0 }, - { 2, -64, 0, 16, 0, 15, 0 }, - { 3, 0, 0, 32, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 32, 15, 0 }, + { 2, -64, 0, 16, 0, 15, 0 }, + { 3, 0, 0, 32, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks198[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, -32, 32, 15, 0 }, - { 2, -64, 0, -16, 0, 15, 0 }, - { 3, 0, 0, -32, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, -32, 32, 15, 0 }, + { 2, -64, 0, -16, 0, 15, 0 }, + { 3, 0, 0, -32, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks199[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -64, 0, 0, 0, 15, 0 }, - { 3, -96, 0, 0, 0, 15, 0 }, - { 4, -128, 0, 0, 0, 15, 0 }, - { 5, -160, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -64, 0, 0, 0, 15, 0 }, + { 3, -96, 0, 0, 0, 15, 0 }, + { 4, -128, 0, 0, 0, 15, 0 }, + { 5, -160, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks200[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -64, 0, 0, 0, 15, 0 }, - { 3, -96, 0, 0, 0, 15, 0 }, - { 4, -128, 0, 0, 0, 15, 0 }, - { 5, -160, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -64, 0, 0, 0, 15, 0 }, + { 3, -96, 0, 0, 0, 15, 0 }, + { 4, -128, 0, 0, 0, 15, 0 }, + { 5, -160, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks201[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks202[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks203[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks204[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -32, 32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -32, 32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks205[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -32, -32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -32, -32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks206[] = { - { 0, 0, 0, 0, 16, 15, 4 }, - { 1, -32, 0, -40, 32, 15, 4 }, - { 2, -64, 0, -96, 56, 15, 4 }, - { 3, -96, 0, -96, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 4 }, + { 1, -32, 0, -40, 32, 15, 4 }, + { 2, -64, 0, -96, 56, 15, 4 }, + { 3, -96, 0, -96, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks207[] = { - { 0, 0, 0, 0, 56, 15, 4 }, - { 1, 32, 0, 56, 32, 15, 4 }, - { 2, 64, 0, 96, 16, 15, 4 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 56, 15, 4 }, + { 1, 32, 0, 56, 32, 15, 4 }, + { 2, 64, 0, 96, 16, 15, 4 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks208[] = { - { 0, 0, 0, -32, 16, 15, 4 }, - { 1, -32, 0, -72, 32, 15, 4 }, - { 2, -64, 0, -128, 56, 15, 4 }, - { 3, -96, 0, -128, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 16, 15, 4 }, + { 1, -32, 0, -72, 32, 15, 4 }, + { 2, -64, 0, -128, 56, 15, 4 }, + { 3, -96, 0, -128, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks209[] = { - { 0, 0, 0, 0, 0, 7, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 8, 2, 0 }, - { 3, -32, -32, 0, 8, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 7, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 8, 2, 0 }, + { 3, -32, -32, 0, 8, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks210[] = { - { 0, 0, 0, 0, 0, 11, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 0 }, - { 3, -32, 32, 0, 8, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 11, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 0 }, + { 3, -32, 32, 0, 8, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks211[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 15, 0 }, - { 2, -32, -32, 0, 0, 15, 0 }, - { 3, -64, -32, 0, 0, 15, 0 }, - { 4, -32, 0, 0, 0, 15, 0 }, - { 5, -64, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 15, 0 }, + { 2, -32, -32, 0, 0, 15, 0 }, + { 3, -64, -32, 0, 0, 15, 0 }, + { 4, -32, 0, 0, 0, 15, 0 }, + { 5, -64, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks212[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 15, 0 }, - { 2, -32, 32, 0, 0, 15, 0 }, - { 3, -64, 32, 0, 0, 15, 0 }, - { 4, -32, 0, 0, 0, 15, 0 }, - { 5, -64, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 15, 0 }, + { 2, -32, 32, 0, 0, 15, 0 }, + { 3, -64, 32, 0, 0, 15, 0 }, + { 4, -32, 0, 0, 0, 15, 0 }, + { 5, -64, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks213[] = { - { 0, 0, 0, 0, 32, 15, 0 }, - { 1, 32, 0, 0, 32, 15, 0 }, - { 2, -64, 0, 0, 32, 15, 0 }, - { 3, -32, 0, 0, 32, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 15, 0 }, + { 1, 32, 0, 0, 32, 15, 0 }, + { 2, -64, 0, 0, 32, 15, 0 }, + { 3, -32, 0, 0, 32, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks214[] = { - { 0, 0, 0, 0, 48, 15, 0 }, - { 1, 32, 0, 0, 48, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 48, 15, 0 }, + { 1, 32, 0, 0, 48, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks215[] = { - { 0, 0, 0, 0, 208, 15, 0 }, - { 1, 32, 0, 0, 208, 15, 0 }, - { 2, -32, 0, 0, 160, 15, 0 }, - { 3, -64, 0, 0, 80, 15, 0 }, - { 4, -96, 0, 0, 48, 15, 0 }, - { 5, -128, 0, 0, 32, 15, 0 }, - { 6, -160, 0, 0, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 208, 15, 0 }, + { 1, 32, 0, 0, 208, 15, 0 }, + { 2, -32, 0, 0, 160, 15, 0 }, + { 3, -64, 0, 0, 80, 15, 0 }, + { 4, -96, 0, 0, 48, 15, 0 }, + { 5, -128, 0, 0, 32, 15, 0 }, + { 6, -160, 0, 0, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks216[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks217[] = { - { 0, 0, 0, 0, 16, 71, 0 }, - { 1, 0, -32, 16, 0, 8, 1 }, - { 2, -32, 0, 16, 0, 2, 0 }, - { 3, -32, -32, 16, 16, 103, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 71, 0 }, + { 1, 0, -32, 16, 0, 8, 1 }, + { 2, -32, 0, 16, 0, 2, 0 }, + { 3, -32, -32, 16, 16, 103, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks218[] = { - { 0, 0, 0, 0, 16, 139, 0 }, - { 1, 0, 32, 16, 0, 4, 1 }, - { 2, -32, 0, 16, 0, 1, 0 }, - { 3, -32, 32, 16, 16, 155, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 139, 0 }, + { 1, 0, 32, 16, 0, 4, 1 }, + { 2, -32, 0, 16, 0, 1, 0 }, + { 3, -32, 32, 16, 16, 155, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks219[] = { - { 0, 0, 0, 16, 16, 55, 0 }, - { 1, 0, -32, 16, 0, 8, 1 }, - { 2, -32, 0, 16, 0, 2, 0 }, - { 3, -32, -32, 0, 16, 23, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 16, 16, 55, 0 }, + { 1, 0, -32, 16, 0, 8, 1 }, + { 2, -32, 0, 16, 0, 2, 0 }, + { 3, -32, -32, 0, 16, 23, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks220[] = { - { 0, 0, 0, 16, 16, 59, 0 }, - { 1, 0, 32, 16, 0, 4, 1 }, - { 2, -32, 0, 16, 0, 1, 0 }, - { 3, -32, 32, 0, 16, 43, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 16, 16, 59, 0 }, + { 1, 0, 32, 16, 0, 4, 1 }, + { 2, -32, 0, 16, 0, 1, 0 }, + { 3, -32, 32, 0, 16, 43, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks221[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - { 1, 0, -32, 16, 0, 8, 1 }, - { 2, -32, 0, 16, 16, 71, 0 }, - { 3, -32, -32, 24, 16, 13, 0 }, - { 4, -32, -64, 48, 0, 8, 1 }, - { 5, -64, -32, 32, 16, 71, 0 }, - { 6, -64, -64, 48, 16, 111, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + { 1, 0, -32, 16, 0, 8, 1 }, + { 2, -32, 0, 16, 16, 71, 0 }, + { 3, -32, -32, 24, 16, 13, 0 }, + { 4, -32, -64, 48, 0, 8, 1 }, + { 5, -64, -32, 32, 16, 71, 0 }, + { 6, -64, -64, 48, 16, 111, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks222[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - { 1, 0, 32, 16, 0, 4, 1 }, - { 2, -32, 0, 16, 16, 139, 0 }, - { 3, -32, 32, 24, 16, 14, 0 }, - { 4, -32, 64, 48, 0, 4, 1 }, - { 5, -64, 32, 32, 16, 139, 0 }, - { 6, -64, 64, 48, 16, 159, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + { 1, 0, 32, 16, 0, 4, 1 }, + { 2, -32, 0, 16, 16, 139, 0 }, + { 3, -32, 32, 24, 16, 14, 0 }, + { 4, -32, 64, 48, 0, 4, 1 }, + { 5, -64, 32, 32, 16, 139, 0 }, + { 6, -64, 64, 48, 16, 159, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks223[] = { - { 0, 0, 0, 48, 16, 63, 0 }, - { 1, 0, -32, 48, 0, 8, 1 }, - { 2, -32, 0, 32, 16, 23, 0 }, - { 3, -32, -32, 24, 16, 13, 0 }, - { 4, -32, -64, 16, 0, 8, 1 }, - { 5, -64, -32, 16, 16, 23, 0 }, - { 6, -64, -64, 0, 16, 159, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 48, 16, 63, 0 }, + { 1, 0, -32, 48, 0, 8, 1 }, + { 2, -32, 0, 32, 16, 23, 0 }, + { 3, -32, -32, 24, 16, 13, 0 }, + { 4, -32, -64, 16, 0, 8, 1 }, + { 5, -64, -32, 16, 16, 23, 0 }, + { 6, -64, -64, 0, 16, 159, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks224[] = { - { 0, 0, 0, 48, 16, 63, 0 }, - { 1, 0, 32, 48, 0, 4, 1 }, - { 2, -32, 0, 32, 16, 43, 0 }, - { 3, -32, 32, 24, 16, 14, 0 }, - { 4, -32, 64, 16, 0, 4, 1 }, - { 5, -64, 32, 16, 16, 43, 0 }, - { 6, -64, 64, 0, 16, 111, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 48, 16, 63, 0 }, + { 1, 0, 32, 48, 0, 4, 1 }, + { 2, -32, 0, 32, 16, 43, 0 }, + { 3, -32, 32, 24, 16, 14, 0 }, + { 4, -32, 64, 16, 0, 4, 1 }, + { 5, -64, 32, 16, 16, 43, 0 }, + { 6, -64, 64, 0, 16, 111, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks225[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks226[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks227[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks228[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks229[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks230[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks231[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks232[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks233[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks234[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks235[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks236[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks237[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks238[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks239[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks240[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks241[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks242[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks243[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks244[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks245[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks246[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks247[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks248[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks249[] = { - { 0, 0, 0, 0, 72, 15, 4 }, - { 1, 0, 32, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 72, 15, 4 }, + { 1, 0, 32, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks250[] = { - { 0, 0, 0, 0, 72, 15, 4 }, - { 1, 0, -32, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 72, 15, 4 }, + { 1, 0, -32, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks251[] = { - { 0, 0, 0, 0, 72, 15, 4 }, - { 1, 0, 32, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 72, 15, 4 }, + { 1, 0, 32, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks252[] = { - { 0, 0, 0, 0, 72, 15, 4 }, - { 1, 0, -32, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 72, 15, 4 }, + { 1, 0, -32, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks253[] = { - { 0, 0, 0, 0, 56, 15, 4 }, - { 1, 32, 0, 56, 32, 15, 4 }, - { 2, 64, 0, 96, 16, 15, 4 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 56, 15, 4 }, + { 1, 32, 0, 56, 32, 15, 4 }, + { 2, 64, 0, 96, 16, 15, 4 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks254[] = { - { 0, 0, 0, -32, 16, 15, 4 }, - { 1, -32, 0, -72, 32, 15, 4 }, - { 2, -64, 0, -128, 56, 15, 4 }, - { 3, -96, 0, -128, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 16, 15, 4 }, + { 1, -32, 0, -72, 32, 15, 4 }, + { 2, -64, 0, -128, 56, 15, 4 }, + { 3, -96, 0, -128, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track TrackBlocks255[] = { - { 0, 0, 0, 32, 56, 15, 4 }, - { 1, 32, 0, 88, 32, 15, 4 }, - { 2, 64, 0, 128, 16, 15, 4 }, - TRACK_BLOCK_END + { 0, 0, 0, 32, 56, 15, 4 }, + { 1, 32, 0, 88, 32, 15, 4 }, + { 2, 64, 0, 128, 16, 15, 4 }, + TRACK_BLOCK_END }; // rct2: 0x00994638 const rct_preview_track *TrackBlocks[256] = { - TrackBlocks000, - TrackBlocks001, - TrackBlocks002, - TrackBlocks003, - TrackBlocks004, - TrackBlocks005, - TrackBlocks006, - TrackBlocks007, - TrackBlocks008, - TrackBlocks009, - TrackBlocks010, - TrackBlocks011, - TrackBlocks012, - TrackBlocks013, - TrackBlocks014, - TrackBlocks015, - TrackBlocks016, - TrackBlocks017, - TrackBlocks018, - TrackBlocks019, - TrackBlocks020, - TrackBlocks021, - TrackBlocks022, - TrackBlocks023, - TrackBlocks024, - TrackBlocks025, - TrackBlocks026, - TrackBlocks027, - TrackBlocks028, - TrackBlocks029, - TrackBlocks030, - TrackBlocks031, - TrackBlocks032, - TrackBlocks033, - TrackBlocks034, - TrackBlocks035, - TrackBlocks036, - TrackBlocks037, - TrackBlocks038, - TrackBlocks039, - TrackBlocks040, - TrackBlocks041, - TrackBlocks042, - TrackBlocks043, - TrackBlocks044, - TrackBlocks045, - TrackBlocks046, - TrackBlocks047, - TrackBlocks048, - TrackBlocks049, - TrackBlocks050, - TrackBlocks051, - TrackBlocks052, - TrackBlocks053, - TrackBlocks054, - TrackBlocks055, - TrackBlocks056, - TrackBlocks057, - TrackBlocks058, - TrackBlocks059, - TrackBlocks060, - TrackBlocks061, - TrackBlocks062, - TrackBlocks063, - TrackBlocks064, - TrackBlocks065, - TrackBlocks066, - TrackBlocks067, - TrackBlocks068, - TrackBlocks069, - TrackBlocks070, - TrackBlocks071, - TrackBlocks072, - TrackBlocks073, - TrackBlocks074, - TrackBlocks075, - TrackBlocks076, - TrackBlocks077, - TrackBlocks078, - TrackBlocks079, - TrackBlocks080, - TrackBlocks081, - TrackBlocks082, - TrackBlocks083, - TrackBlocks084, - TrackBlocks085, - TrackBlocks086, - TrackBlocks087, - TrackBlocks088, - TrackBlocks089, - TrackBlocks090, - TrackBlocks091, - TrackBlocks092, - TrackBlocks093, - TrackBlocks094, - TrackBlocks095, - TrackBlocks096, - TrackBlocks097, - TrackBlocks098, - TrackBlocks099, - TrackBlocks100, - TrackBlocks101, - TrackBlocks102, - TrackBlocks103, - TrackBlocks104, - TrackBlocks105, - TrackBlocks106, - TrackBlocks107, - TrackBlocks108, - TrackBlocks109, - TrackBlocks110, - TrackBlocks111, - TrackBlocks112, - TrackBlocks113, - TrackBlocks114, - TrackBlocks115, - TrackBlocks116, - TrackBlocks117, - TrackBlocks118, - TrackBlocks119, - TrackBlocks120, - TrackBlocks121, - TrackBlocks122, - TrackBlocks123, - TrackBlocks124, - TrackBlocks125, - TrackBlocks126, - TrackBlocks127, - TrackBlocks128, - TrackBlocks129, - TrackBlocks130, - TrackBlocks131, - TrackBlocks132, - TrackBlocks133, - TrackBlocks134, - TrackBlocks135, - TrackBlocks136, - TrackBlocks137, - TrackBlocks138, - TrackBlocks139, - TrackBlocks140, - TrackBlocks141, - TrackBlocks142, - TrackBlocks143, - TrackBlocks144, - TrackBlocks145, - TrackBlocks146, - TrackBlocks147, - TrackBlocks148, - TrackBlocks149, - TrackBlocks150, - TrackBlocks151, - TrackBlocks152, - TrackBlocks153, - TrackBlocks154, - TrackBlocks155, - TrackBlocks156, - TrackBlocks157, - TrackBlocks158, - TrackBlocks159, - TrackBlocks160, - TrackBlocks161, - TrackBlocks162, - TrackBlocks163, - TrackBlocks164, - TrackBlocks165, - TrackBlocks166, - TrackBlocks167, - TrackBlocks168, - TrackBlocks169, - TrackBlocks170, - TrackBlocks171, - TrackBlocks172, - TrackBlocks173, - TrackBlocks174, - TrackBlocks175, - TrackBlocks176, - TrackBlocks177, - TrackBlocks178, - TrackBlocks179, - TrackBlocks180, - TrackBlocks181, - TrackBlocks182, - TrackBlocks183, - TrackBlocks184, - TrackBlocks185, - TrackBlocks186, - TrackBlocks187, - TrackBlocks188, - TrackBlocks189, - TrackBlocks190, - TrackBlocks191, - TrackBlocks192, - TrackBlocks193, - TrackBlocks194, - TrackBlocks195, - TrackBlocks196, - TrackBlocks197, - TrackBlocks198, - TrackBlocks199, - TrackBlocks200, - TrackBlocks201, - TrackBlocks202, - TrackBlocks203, - TrackBlocks204, - TrackBlocks205, - TrackBlocks206, - TrackBlocks207, - TrackBlocks208, - TrackBlocks209, - TrackBlocks210, - TrackBlocks211, - TrackBlocks212, - TrackBlocks213, - TrackBlocks214, - TrackBlocks215, - TrackBlocks216, - TrackBlocks217, - TrackBlocks218, - TrackBlocks219, - TrackBlocks220, - TrackBlocks221, - TrackBlocks222, - TrackBlocks223, - TrackBlocks224, - TrackBlocks225, - TrackBlocks226, - TrackBlocks227, - TrackBlocks228, - TrackBlocks229, - TrackBlocks230, - TrackBlocks231, - TrackBlocks232, - TrackBlocks233, - TrackBlocks234, - TrackBlocks235, - TrackBlocks236, - TrackBlocks237, - TrackBlocks238, - TrackBlocks239, - TrackBlocks240, - TrackBlocks241, - TrackBlocks242, - TrackBlocks243, - TrackBlocks244, - TrackBlocks245, - TrackBlocks246, - TrackBlocks247, - TrackBlocks248, - TrackBlocks249, - TrackBlocks250, - TrackBlocks251, - TrackBlocks252, - TrackBlocks253, - TrackBlocks254, - TrackBlocks255 + TrackBlocks000, + TrackBlocks001, + TrackBlocks002, + TrackBlocks003, + TrackBlocks004, + TrackBlocks005, + TrackBlocks006, + TrackBlocks007, + TrackBlocks008, + TrackBlocks009, + TrackBlocks010, + TrackBlocks011, + TrackBlocks012, + TrackBlocks013, + TrackBlocks014, + TrackBlocks015, + TrackBlocks016, + TrackBlocks017, + TrackBlocks018, + TrackBlocks019, + TrackBlocks020, + TrackBlocks021, + TrackBlocks022, + TrackBlocks023, + TrackBlocks024, + TrackBlocks025, + TrackBlocks026, + TrackBlocks027, + TrackBlocks028, + TrackBlocks029, + TrackBlocks030, + TrackBlocks031, + TrackBlocks032, + TrackBlocks033, + TrackBlocks034, + TrackBlocks035, + TrackBlocks036, + TrackBlocks037, + TrackBlocks038, + TrackBlocks039, + TrackBlocks040, + TrackBlocks041, + TrackBlocks042, + TrackBlocks043, + TrackBlocks044, + TrackBlocks045, + TrackBlocks046, + TrackBlocks047, + TrackBlocks048, + TrackBlocks049, + TrackBlocks050, + TrackBlocks051, + TrackBlocks052, + TrackBlocks053, + TrackBlocks054, + TrackBlocks055, + TrackBlocks056, + TrackBlocks057, + TrackBlocks058, + TrackBlocks059, + TrackBlocks060, + TrackBlocks061, + TrackBlocks062, + TrackBlocks063, + TrackBlocks064, + TrackBlocks065, + TrackBlocks066, + TrackBlocks067, + TrackBlocks068, + TrackBlocks069, + TrackBlocks070, + TrackBlocks071, + TrackBlocks072, + TrackBlocks073, + TrackBlocks074, + TrackBlocks075, + TrackBlocks076, + TrackBlocks077, + TrackBlocks078, + TrackBlocks079, + TrackBlocks080, + TrackBlocks081, + TrackBlocks082, + TrackBlocks083, + TrackBlocks084, + TrackBlocks085, + TrackBlocks086, + TrackBlocks087, + TrackBlocks088, + TrackBlocks089, + TrackBlocks090, + TrackBlocks091, + TrackBlocks092, + TrackBlocks093, + TrackBlocks094, + TrackBlocks095, + TrackBlocks096, + TrackBlocks097, + TrackBlocks098, + TrackBlocks099, + TrackBlocks100, + TrackBlocks101, + TrackBlocks102, + TrackBlocks103, + TrackBlocks104, + TrackBlocks105, + TrackBlocks106, + TrackBlocks107, + TrackBlocks108, + TrackBlocks109, + TrackBlocks110, + TrackBlocks111, + TrackBlocks112, + TrackBlocks113, + TrackBlocks114, + TrackBlocks115, + TrackBlocks116, + TrackBlocks117, + TrackBlocks118, + TrackBlocks119, + TrackBlocks120, + TrackBlocks121, + TrackBlocks122, + TrackBlocks123, + TrackBlocks124, + TrackBlocks125, + TrackBlocks126, + TrackBlocks127, + TrackBlocks128, + TrackBlocks129, + TrackBlocks130, + TrackBlocks131, + TrackBlocks132, + TrackBlocks133, + TrackBlocks134, + TrackBlocks135, + TrackBlocks136, + TrackBlocks137, + TrackBlocks138, + TrackBlocks139, + TrackBlocks140, + TrackBlocks141, + TrackBlocks142, + TrackBlocks143, + TrackBlocks144, + TrackBlocks145, + TrackBlocks146, + TrackBlocks147, + TrackBlocks148, + TrackBlocks149, + TrackBlocks150, + TrackBlocks151, + TrackBlocks152, + TrackBlocks153, + TrackBlocks154, + TrackBlocks155, + TrackBlocks156, + TrackBlocks157, + TrackBlocks158, + TrackBlocks159, + TrackBlocks160, + TrackBlocks161, + TrackBlocks162, + TrackBlocks163, + TrackBlocks164, + TrackBlocks165, + TrackBlocks166, + TrackBlocks167, + TrackBlocks168, + TrackBlocks169, + TrackBlocks170, + TrackBlocks171, + TrackBlocks172, + TrackBlocks173, + TrackBlocks174, + TrackBlocks175, + TrackBlocks176, + TrackBlocks177, + TrackBlocks178, + TrackBlocks179, + TrackBlocks180, + TrackBlocks181, + TrackBlocks182, + TrackBlocks183, + TrackBlocks184, + TrackBlocks185, + TrackBlocks186, + TrackBlocks187, + TrackBlocks188, + TrackBlocks189, + TrackBlocks190, + TrackBlocks191, + TrackBlocks192, + TrackBlocks193, + TrackBlocks194, + TrackBlocks195, + TrackBlocks196, + TrackBlocks197, + TrackBlocks198, + TrackBlocks199, + TrackBlocks200, + TrackBlocks201, + TrackBlocks202, + TrackBlocks203, + TrackBlocks204, + TrackBlocks205, + TrackBlocks206, + TrackBlocks207, + TrackBlocks208, + TrackBlocks209, + TrackBlocks210, + TrackBlocks211, + TrackBlocks212, + TrackBlocks213, + TrackBlocks214, + TrackBlocks215, + TrackBlocks216, + TrackBlocks217, + TrackBlocks218, + TrackBlocks219, + TrackBlocks220, + TrackBlocks221, + TrackBlocks222, + TrackBlocks223, + TrackBlocks224, + TrackBlocks225, + TrackBlocks226, + TrackBlocks227, + TrackBlocks228, + TrackBlocks229, + TrackBlocks230, + TrackBlocks231, + TrackBlocks232, + TrackBlocks233, + TrackBlocks234, + TrackBlocks235, + TrackBlocks236, + TrackBlocks237, + TrackBlocks238, + TrackBlocks239, + TrackBlocks240, + TrackBlocks241, + TrackBlocks242, + TrackBlocks243, + TrackBlocks244, + TrackBlocks245, + TrackBlocks246, + TrackBlocks247, + TrackBlocks248, + TrackBlocks249, + TrackBlocks250, + TrackBlocks251, + TrackBlocks252, + TrackBlocks253, + TrackBlocks254, + TrackBlocks255 }; static const rct_preview_track FlatRideTrackBlocks000[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks001[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks002[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks003[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks004[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks005[] = { - { 0, 0, 0, 0, 64, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks006[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks007[] = { - { 0, 0, 0, 0, 32, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks008[] = { - { 0, 0, 0, 0, 32, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks009[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks010[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks011[] = { - { 0, 0, 0, 0, 64, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks012[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks013[] = { - { 0, 0, 0, 0, 32, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks014[] = { - { 0, 0, 0, 0, 32, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks015[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks016[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 0, 8, 1 }, - { 5, -64, -32, 0, 0, 7, 0 }, - { 6, -64, -64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 0, 8, 1 }, + { 5, -64, -32, 0, 0, 7, 0 }, + { 6, -64, -64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks017[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 0, 4, 1 }, - { 5, -64, 32, 0, 0, 11, 0 }, - { 6, -64, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 0, 4, 1 }, + { 5, -64, 32, 0, 0, 11, 0 }, + { 6, -64, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks018[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks019[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks020[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks021[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks022[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 0, 8, 1 }, - { 5, -64, -32, 0, 0, 7, 0 }, - { 6, -64, -64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 0, 8, 1 }, + { 5, -64, -32, 0, 0, 7, 0 }, + { 6, -64, -64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks023[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 0, 4, 1 }, - { 5, -64, 32, 0, 0, 11, 0 }, - { 6, -64, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 0, 4, 1 }, + { 5, -64, 32, 0, 0, 11, 0 }, + { 6, -64, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks024[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks025[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks026[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks027[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks028[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks029[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks030[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks031[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks032[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks033[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks034[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - { 1, 0, -32, 16, 0, 8, 1 }, - { 2, -32, 0, 16, 16, 71, 0 }, - { 3, -32, -32, 24, 16, 13, 0 }, - { 4, -32, -64, 48, 0, 8, 1 }, - { 5, -64, -32, 32, 16, 71, 0 }, - { 6, -64, -64, 48, 16, 111, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + { 1, 0, -32, 16, 0, 8, 1 }, + { 2, -32, 0, 16, 16, 71, 0 }, + { 3, -32, -32, 24, 16, 13, 0 }, + { 4, -32, -64, 48, 0, 8, 1 }, + { 5, -64, -32, 32, 16, 71, 0 }, + { 6, -64, -64, 48, 16, 111, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks035[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - { 1, 0, 32, 16, 0, 4, 1 }, - { 2, -32, 0, 16, 16, 139, 0 }, - { 3, -32, 32, 24, 16, 14, 0 }, - { 4, -32, 64, 48, 0, 4, 1 }, - { 5, -64, 32, 32, 16, 139, 0 }, - { 6, -64, 64, 48, 16, 159, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + { 1, 0, 32, 16, 0, 4, 1 }, + { 2, -32, 0, 16, 16, 139, 0 }, + { 3, -32, 32, 24, 16, 14, 0 }, + { 4, -32, 64, 48, 0, 4, 1 }, + { 5, -64, 32, 32, 16, 139, 0 }, + { 6, -64, 64, 48, 16, 159, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks036[] = { - { 0, 0, 0, 48, 16, 63, 0 }, - { 1, 0, -32, 48, 0, 8, 1 }, - { 2, -32, 0, 32, 16, 23, 0 }, - { 3, -32, -32, 24, 16, 13, 0 }, - { 4, -32, -64, 16, 0, 8, 1 }, - { 5, -64, -32, 16, 16, 23, 0 }, - { 6, -64, -64, 0, 16, 159, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 48, 16, 63, 0 }, + { 1, 0, -32, 48, 0, 8, 1 }, + { 2, -32, 0, 32, 16, 23, 0 }, + { 3, -32, -32, 24, 16, 13, 0 }, + { 4, -32, -64, 16, 0, 8, 1 }, + { 5, -64, -32, 16, 16, 23, 0 }, + { 6, -64, -64, 0, 16, 159, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks037[] = { - { 0, 0, 0, 48, 16, 63, 0 }, - { 1, 0, 32, 48, 0, 4, 1 }, - { 2, -32, 0, 32, 16, 43, 0 }, - { 3, -32, 32, 24, 16, 14, 0 }, - { 4, -32, 64, 16, 0, 4, 1 }, - { 5, -64, 32, 16, 16, 43, 0 }, - { 6, -64, 64, 0, 16, 111, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 48, 16, 63, 0 }, + { 1, 0, 32, 48, 0, 4, 1 }, + { 2, -32, 0, 32, 16, 43, 0 }, + { 3, -32, 32, 24, 16, 14, 0 }, + { 4, -32, 64, 16, 0, 4, 1 }, + { 5, -64, 32, 16, 16, 43, 0 }, + { 6, -64, 64, 0, 16, 111, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks038[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 7, 0 }, - { 2, -32, -32, 0, 0, 13, 0 }, - { 3, -64, -32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 7, 0 }, + { 2, -32, -32, 0, 0, 13, 0 }, + { 3, -64, -32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks039[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 11, 0 }, - { 2, -32, 32, 0, 0, 14, 0 }, - { 3, -64, 32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 11, 0 }, + { 2, -32, 32, 0, 0, 14, 0 }, + { 3, -64, 32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks040[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - { 1, -32, 0, 16, 16, 207, 0 }, - { 2, -64, 0, 32, 96, 2, 0 }, - { 3, -32, 0, 120, 16, 6, 0 }, - { 4, -32, -32, 120, 0, 0, 0 }, - { 5, 0, 0, 120, 0, 0, 0 }, - { 6, 0, -32, 120, 16, 9, 0 }, - { 7, 32, -32, 32, 96, 8, 0 }, - { 8, 0, -32, 16, 16, 63, 0 }, - { 9, -32, -32, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + { 1, -32, 0, 16, 16, 207, 0 }, + { 2, -64, 0, 32, 96, 2, 0 }, + { 3, -32, 0, 120, 16, 6, 0 }, + { 4, -32, -32, 120, 0, 0, 0 }, + { 5, 0, 0, 120, 0, 0, 0 }, + { 6, 0, -32, 120, 16, 9, 0 }, + { 7, 32, -32, 32, 96, 8, 0 }, + { 8, 0, -32, 16, 16, 63, 0 }, + { 9, -32, -32, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks041[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - { 1, -32, 0, 16, 16, 207, 0 }, - { 2, -64, 0, 32, 96, 1, 0 }, - { 3, -32, 0, 120, 16, 9, 0 }, - { 4, -32, 32, 120, 0, 0, 0 }, - { 5, 0, 0, 120, 0, 0, 0 }, - { 6, 0, 32, 120, 16, 6, 0 }, - { 7, 32, 32, 32, 96, 4, 0 }, - { 8, 0, 32, 16, 16, 63, 0 }, - { 9, -32, 32, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + { 1, -32, 0, 16, 16, 207, 0 }, + { 2, -64, 0, 32, 96, 1, 0 }, + { 3, -32, 0, 120, 16, 9, 0 }, + { 4, -32, 32, 120, 0, 0, 0 }, + { 5, 0, 0, 120, 0, 0, 0 }, + { 6, 0, 32, 120, 16, 6, 0 }, + { 7, 32, 32, 32, 96, 4, 0 }, + { 8, 0, 32, 16, 16, 63, 0 }, + { 9, -32, 32, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks042[] = { - { 0, 0, 0, 0, 0, 7, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 2, 0 }, - { 3, -32, -32, 0, 0, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 7, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 2, 0 }, + { 3, -32, -32, 0, 0, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks043[] = { - { 0, 0, 0, 0, 0, 11, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 0 }, - { 3, -32, 32, 0, 0, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 11, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 0 }, + { 3, -32, 32, 0, 0, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks044[] = { - { 0, 0, 0, 0, 0, 7, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 2, 0 }, - { 3, -32, -32, 0, 0, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 7, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 2, 0 }, + { 3, -32, -32, 0, 0, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks045[] = { - { 0, 0, 0, 0, 0, 11, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 0 }, - { 3, -32, 32, 0, 0, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 11, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 0 }, + { 3, -32, 32, 0, 0, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks046[] = { - { 0, 0, 0, 0, 16, 71, 0 }, - { 1, 0, -32, 16, 0, 8, 1 }, - { 2, -32, 0, 16, 0, 2, 0 }, - { 3, -32, -32, 16, 16, 103, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 71, 0 }, + { 1, 0, -32, 16, 0, 8, 1 }, + { 2, -32, 0, 16, 0, 2, 0 }, + { 3, -32, -32, 16, 16, 103, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks047[] = { - { 0, 0, 0, 0, 16, 139, 0 }, - { 1, 0, 32, 16, 0, 4, 1 }, - { 2, -32, 0, 16, 0, 1, 0 }, - { 3, -32, 32, 16, 16, 155, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 139, 0 }, + { 1, 0, 32, 16, 0, 4, 1 }, + { 2, -32, 0, 16, 0, 1, 0 }, + { 3, -32, 32, 16, 16, 155, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks048[] = { - { 0, 0, 0, 16, 16, 55, 0 }, - { 1, 0, -32, 16, 0, 8, 1 }, - { 2, -32, 0, 16, 0, 2, 0 }, - { 3, -32, -32, 0, 16, 23, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 16, 16, 55, 0 }, + { 1, 0, -32, 16, 0, 8, 1 }, + { 2, -32, 0, 16, 0, 2, 0 }, + { 3, -32, -32, 0, 16, 23, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks049[] = { - { 0, 0, 0, 16, 16, 59, 0 }, - { 1, 0, 32, 16, 0, 4, 1 }, - { 2, -32, 0, 16, 0, 1, 0 }, - { 3, -32, 32, 0, 16, 43, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 16, 16, 59, 0 }, + { 1, 0, 32, 16, 0, 4, 1 }, + { 2, -32, 0, 16, 0, 1, 0 }, + { 3, -32, 32, 0, 16, 43, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks050[] = { - { 0, 0, 0, 0, 0, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks051[] = { - { 0, 0, 0, 0, 0, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks052[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 16, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 16, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks053[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 16, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 16, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks054[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, -16, 16, 15, 0 }, - { 2, -64, 0, -16, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, -16, 16, 15, 0 }, + { 2, -64, 0, -16, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks055[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, -16, 16, 15, 0 }, - { 2, -64, 0, -16, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, -16, 16, 15, 0 }, + { 2, -64, 0, -16, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks056[] = { - { 0, 0, 0, 0, 32, 207, 0 }, - { 1, -32, 0, 16, 16, 207, 0 }, - { 2, -64, 0, 32, 96, 3, 0 }, - { 3, -32, 0, 120, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 0 }, + { 1, -32, 0, 16, 16, 207, 0 }, + { 2, -64, 0, 32, 96, 3, 0 }, + { 3, -32, 0, 120, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks057[] = { - { 0, 0, 0, -32, 32, 15, 0 }, - { 1, -32, 0, -120, 96, 3, 0 }, - { 2, 0, 0, -136, 16, 207, 0 }, - { 3, 32, 0, -152, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 32, 15, 0 }, + { 1, -32, 0, -120, 96, 3, 0 }, + { 2, 0, 0, -136, 16, 207, 0 }, + { 3, 32, 0, -152, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks058[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 24, 32, 7, 0 }, - { 2, -32, -32, 48, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 24, 32, 7, 0 }, + { 2, -32, -32, 48, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks059[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 24, 32, 11, 0 }, - { 2, -32, 32, 48, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 24, 32, 11, 0 }, + { 2, -32, 32, 48, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks060[] = { - { 0, 0, 0, -32, 16, 15, 0 }, - { 1, -32, 0, -56, 32, 7, 0 }, - { 2, -32, -32, -80, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 16, 15, 0 }, + { 1, -32, 0, -56, 32, 7, 0 }, + { 2, -32, -32, -80, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks061[] = { - { 0, 0, 0, -32, 16, 15, 0 }, - { 1, -32, 0, -56, 32, 11, 0 }, - { 2, -32, 32, -80, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 16, 15, 0 }, + { 1, -32, 0, -56, 32, 11, 0 }, + { 2, -32, 32, -80, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks062[] = { - { 0, 0, 0, 0, 24, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks063[] = { - { 0, 0, 0, 0, 24, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks064[] = { - { 0, 0, 0, 0, 24, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks065[] = { - { 0, 0, 0, 0, 24, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks066[] = { - { 0, 0, 0, 0, 64, 15, 0 }, - { 1, -32, -32, 0, 0, 15, 0 }, - { 2, -32, 0, 0, 0, 15, 0 }, - { 3, -32, 32, 0, 0, 15, 0 }, - { 4, 0, -32, 0, 0, 15, 0 }, - { 5, 0, 32, 0, 0, 15, 0 }, - { 6, 32, -32, 0, 0, 15, 0 }, - { 7, 32, 32, 0, 0, 15, 0 }, - { 8, 32, 0, 0, 0, 15, 2 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 15, 0 }, + { 1, -32, -32, 0, 0, 15, 0 }, + { 2, -32, 0, 0, 0, 15, 0 }, + { 3, -32, 32, 0, 0, 15, 0 }, + { 4, 0, -32, 0, 0, 15, 0 }, + { 5, 0, 32, 0, 0, 15, 0 }, + { 6, 32, -32, 0, 0, 15, 0 }, + { 7, 32, 32, 0, 0, 15, 0 }, + { 8, 32, 0, 0, 0, 15, 2 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks067[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 32, 0, 0, 0, 0, 3 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 32, 0, 0, 0, 0, 3 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks068[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks069[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks070[] = { - { 0, 0, 0, 0, 64, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks071[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks072[] = { - { 0, 0, 0, 0, 32, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks073[] = { - { 0, 0, 0, 0, 32, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks074[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks075[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks076[] = { - { 0, 0, 0, 0, 64, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks077[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks078[] = { - { 0, 0, 0, 0, 32, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks079[] = { - { 0, 0, 0, 0, 32, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks080[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks081[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 0, 8, 1 }, - { 5, -64, -32, 0, 0, 7, 0 }, - { 6, -64, -64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 0, 8, 1 }, + { 5, -64, -32, 0, 0, 7, 0 }, + { 6, -64, -64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks082[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 0, 4, 1 }, - { 5, -64, 32, 0, 0, 11, 0 }, - { 6, -64, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 0, 4, 1 }, + { 5, -64, 32, 0, 0, 11, 0 }, + { 6, -64, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks083[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 7, 0 }, - { 2, -32, -32, 0, 0, 13, 0 }, - { 3, -64, -32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 7, 0 }, + { 2, -32, -32, 0, 0, 13, 0 }, + { 3, -64, -32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks084[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 11, 0 }, - { 2, -32, 32, 0, 0, 14, 0 }, - { 3, -64, 32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 11, 0 }, + { 2, -32, 32, 0, 0, 14, 0 }, + { 3, -64, 32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks085[] = { - { 0, 0, 0, 0, 0, 7, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 2, 0 }, - { 3, -32, -32, 0, 0, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 7, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 2, 0 }, + { 3, -32, -32, 0, 0, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks086[] = { - { 0, 0, 0, 0, 0, 11, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 0 }, - { 3, -32, 32, 0, 0, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 11, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 0 }, + { 3, -32, 32, 0, 0, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks087[] = { - { 0, 0, 0, 0, 0, 7, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 4, 2, 0 }, - { 3, -32, -32, 0, 4, 7, 0 }, - { 4, -32, -64, 8, 0, 11, 0 }, - { 5, 0, -64, 8, 0, 4, 1 }, - { 6, -32, -96, 8, 4, 1, 0 }, - { 7, 0, -96, 8, 4, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 7, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 4, 2, 0 }, + { 3, -32, -32, 0, 4, 7, 0 }, + { 4, -32, -64, 8, 0, 11, 0 }, + { 5, 0, -64, 8, 0, 4, 1 }, + { 6, -32, -96, 8, 4, 1, 0 }, + { 7, 0, -96, 8, 4, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks088[] = { - { 0, 0, 0, 0, 0, 11, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 4, 1, 0 }, - { 3, -32, 32, 0, 4, 11, 0 }, - { 4, -32, 64, 8, 0, 7, 0 }, - { 5, 0, 64, 8, 0, 8, 1 }, - { 6, -32, 96, 8, 4, 2, 0 }, - { 7, 0, 96, 8, 4, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 11, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 4, 1, 0 }, + { 3, -32, 32, 0, 4, 11, 0 }, + { 4, -32, 64, 8, 0, 7, 0 }, + { 5, 0, 64, 8, 0, 8, 1 }, + { 6, -32, 96, 8, 4, 2, 0 }, + { 7, 0, 96, 8, 4, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks089[] = { - { 0, 0, 0, 8, 4, 7, 0 }, - { 1, 0, -32, 8, 4, 8, 1 }, - { 2, -32, 0, 8, 0, 2, 0 }, - { 3, -32, -32, 8, 0, 7, 0 }, - { 4, -32, -64, 0, 4, 11, 0 }, - { 5, 0, -64, 0, 4, 4, 1 }, - { 6, -32, -96, 0, 0, 1, 0 }, - { 7, 0, -96, 0, 0, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 8, 4, 7, 0 }, + { 1, 0, -32, 8, 4, 8, 1 }, + { 2, -32, 0, 8, 0, 2, 0 }, + { 3, -32, -32, 8, 0, 7, 0 }, + { 4, -32, -64, 0, 4, 11, 0 }, + { 5, 0, -64, 0, 4, 4, 1 }, + { 6, -32, -96, 0, 0, 1, 0 }, + { 7, 0, -96, 0, 0, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks090[] = { - { 0, 0, 0, 8, 4, 11, 0 }, - { 1, 0, 32, 8, 4, 4, 1 }, - { 2, -32, 0, 8, 0, 1, 0 }, - { 3, -32, 32, 8, 0, 11, 0 }, - { 4, -32, 64, 0, 4, 7, 0 }, - { 5, 0, 64, 0, 4, 8, 1 }, - { 6, -32, 96, 0, 0, 2, 0 }, - { 7, 0, 96, 0, 0, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 8, 4, 11, 0 }, + { 1, 0, 32, 8, 4, 4, 1 }, + { 2, -32, 0, 8, 0, 1, 0 }, + { 3, -32, 32, 8, 0, 11, 0 }, + { 4, -32, 64, 0, 4, 7, 0 }, + { 5, 0, 64, 0, 4, 8, 1 }, + { 6, -32, 96, 0, 0, 2, 0 }, + { 7, 0, 96, 0, 0, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks091[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 4, 8, 1 }, - { 5, -64, -32, 0, 4, 7, 0 }, - { 6, -64, -64, 0, 4, 15, 0 }, - { 7, -64, -96, 8, 0, 15, 0 }, - { 8, -32, -96, 8, 0, 4, 1 }, - { 9, -64, -128, 8, 0, 11, 0 }, - { 10, -32, -128, 8, 0, 14, 0 }, - { 11, 0, -128, 8, 4, 4, 1 }, - { 12, -32, -160, 8, 4, 11, 0 }, - { 13, 0, -160, 8, 4, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 4, 8, 1 }, + { 5, -64, -32, 0, 4, 7, 0 }, + { 6, -64, -64, 0, 4, 15, 0 }, + { 7, -64, -96, 8, 0, 15, 0 }, + { 8, -32, -96, 8, 0, 4, 1 }, + { 9, -64, -128, 8, 0, 11, 0 }, + { 10, -32, -128, 8, 0, 14, 0 }, + { 11, 0, -128, 8, 4, 4, 1 }, + { 12, -32, -160, 8, 4, 11, 0 }, + { 13, 0, -160, 8, 4, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks092[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 4, 4, 1 }, - { 5, -64, 32, 0, 4, 11, 0 }, - { 6, -64, 64, 0, 4, 15, 0 }, - { 7, -64, 96, 8, 0, 15, 0 }, - { 8, -32, 96, 8, 0, 8, 1 }, - { 9, -64, 128, 8, 0, 7, 0 }, - { 10, -32, 128, 8, 0, 13, 0 }, - { 11, 0, 128, 8, 4, 8, 1 }, - { 12, -32, 160, 8, 4, 7, 0 }, - { 13, 0, 160, 8, 4, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 4, 4, 1 }, + { 5, -64, 32, 0, 4, 11, 0 }, + { 6, -64, 64, 0, 4, 15, 0 }, + { 7, -64, 96, 8, 0, 15, 0 }, + { 8, -32, 96, 8, 0, 8, 1 }, + { 9, -64, 128, 8, 0, 7, 0 }, + { 10, -32, 128, 8, 0, 13, 0 }, + { 11, 0, 128, 8, 4, 8, 1 }, + { 12, -32, 160, 8, 4, 7, 0 }, + { 13, 0, 160, 8, 4, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks093[] = { - { 0, 0, 0, 8, 4, 15, 0 }, - { 1, 0, -32, 8, 4, 8, 1 }, - { 2, -32, 0, 8, 4, 7, 0 }, - { 3, -32, -32, 8, 0, 13, 0 }, - { 4, -32, -64, 8, 0, 8, 1 }, - { 5, -64, -32, 8, 0, 7, 0 }, - { 6, -64, -64, 8, 0, 15, 0 }, - { 7, -64, -96, 0, 4, 15, 0 }, - { 8, -32, -96, 0, 4, 4, 1 }, - { 9, -64, -128, 0, 4, 11, 0 }, - { 10, -32, -128, 0, 0, 14, 0 }, - { 11, 0, -128, 0, 0, 4, 1 }, - { 12, -32, -160, 0, 0, 11, 0 }, - { 13, 0, -160, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 8, 4, 15, 0 }, + { 1, 0, -32, 8, 4, 8, 1 }, + { 2, -32, 0, 8, 4, 7, 0 }, + { 3, -32, -32, 8, 0, 13, 0 }, + { 4, -32, -64, 8, 0, 8, 1 }, + { 5, -64, -32, 8, 0, 7, 0 }, + { 6, -64, -64, 8, 0, 15, 0 }, + { 7, -64, -96, 0, 4, 15, 0 }, + { 8, -32, -96, 0, 4, 4, 1 }, + { 9, -64, -128, 0, 4, 11, 0 }, + { 10, -32, -128, 0, 0, 14, 0 }, + { 11, 0, -128, 0, 0, 4, 1 }, + { 12, -32, -160, 0, 0, 11, 0 }, + { 13, 0, -160, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks094[] = { - { 0, 0, 0, 8, 4, 15, 0 }, - { 1, 0, 32, 8, 4, 4, 1 }, - { 2, -32, 0, 8, 4, 11, 0 }, - { 3, -32, 32, 8, 0, 14, 0 }, - { 4, -32, 64, 8, 0, 4, 1 }, - { 5, -64, 32, 8, 0, 11, 0 }, - { 6, -64, 64, 8, 0, 15, 0 }, - { 7, -64, 96, 0, 4, 15, 0 }, - { 8, -32, 96, 0, 4, 8, 1 }, - { 9, -64, 128, 0, 4, 7, 0 }, - { 10, -32, 128, 0, 0, 13, 0 }, - { 11, 0, 128, 0, 0, 8, 1 }, - { 12, -32, 160, 0, 0, 7, 0 }, - { 13, 0, 160, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 8, 4, 15, 0 }, + { 1, 0, 32, 8, 4, 4, 1 }, + { 2, -32, 0, 8, 4, 11, 0 }, + { 3, -32, 32, 8, 0, 14, 0 }, + { 4, -32, 64, 8, 0, 4, 1 }, + { 5, -64, 32, 8, 0, 11, 0 }, + { 6, -64, 64, 8, 0, 15, 0 }, + { 7, -64, 96, 0, 4, 15, 0 }, + { 8, -32, 96, 0, 4, 8, 1 }, + { 9, -64, 128, 0, 4, 7, 0 }, + { 10, -32, 128, 0, 0, 13, 0 }, + { 11, 0, 128, 0, 0, 8, 1 }, + { 12, -32, 160, 0, 0, 7, 0 }, + { 13, 0, 160, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks095[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -64, 0, 0, 0, 15, 0 }, - { 2, -32, 0, 0, 0, 15, 0 }, - { 3, 32, 0, 0, 0, 15, 2 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -64, 0, 0, 0, 15, 0 }, + { 2, -32, 0, 0, 0, 15, 0 }, + { 3, 32, 0, 0, 0, 15, 2 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks096[] = { - { 0, 0, 0, 0, 64, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks097[] = { - { 0, 0, 0, 0, 64, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks098[] = { - { 0, 0, 0, 0, 64, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks099[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks100[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks101[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks102[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 12, 8, 1 }, - { 5, -64, -32, 0, 12, 7, 0 }, - { 6, -64, -64, 0, 12, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 12, 8, 1 }, + { 5, -64, -32, 0, 12, 7, 0 }, + { 6, -64, -64, 0, 12, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks103[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 12, 4, 1 }, - { 5, -64, 32, 0, 12, 11, 0 }, - { 6, -64, 64, 0, 12, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 12, 4, 1 }, + { 5, -64, 32, 0, 12, 11, 0 }, + { 6, -64, 64, 0, 12, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks104[] = { - { 0, 0, 0, 0, 12, 15, 0 }, - { 1, 0, -32, 0, 12, 8, 1 }, - { 2, -32, 0, 0, 12, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 0, 8, 1 }, - { 5, -64, -32, 0, 0, 7, 0 }, - { 6, -64, -64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 12, 15, 0 }, + { 1, 0, -32, 0, 12, 8, 1 }, + { 2, -32, 0, 0, 12, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 0, 8, 1 }, + { 5, -64, -32, 0, 0, 7, 0 }, + { 6, -64, -64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks105[] = { - { 0, 0, 0, 0, 12, 15, 0 }, - { 1, 0, 32, 0, 12, 4, 1 }, - { 2, -32, 0, 0, 12, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 0, 4, 1 }, - { 5, -64, 32, 0, 0, 11, 0 }, - { 6, -64, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 12, 15, 0 }, + { 1, 0, 32, 0, 12, 4, 1 }, + { 2, -32, 0, 0, 12, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 0, 4, 1 }, + { 5, -64, 32, 0, 0, 11, 0 }, + { 6, -64, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks106[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 0, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 12, 8, 1 }, - { 5, -64, -32, 0, 12, 7, 0 }, - { 6, -64, -64, 0, 12, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 0, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 12, 8, 1 }, + { 5, -64, -32, 0, 12, 7, 0 }, + { 6, -64, -64, 0, 12, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks107[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 12, 4, 1 }, - { 5, -64, 32, 0, 12, 11, 0 }, - { 6, -64, 64, 0, 12, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 12, 4, 1 }, + { 5, -64, 32, 0, 12, 11, 0 }, + { 6, -64, 64, 0, 12, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks108[] = { - { 0, 0, 0, 0, 12, 15, 0 }, - { 1, 0, -32, 0, 12, 8, 1 }, - { 2, -32, 0, 0, 12, 7, 0 }, - { 3, -32, -32, 0, 0, 13, 0 }, - { 4, -32, -64, 0, 0, 8, 1 }, - { 5, -64, -32, 0, 0, 7, 0 }, - { 6, -64, -64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 12, 15, 0 }, + { 1, 0, -32, 0, 12, 8, 1 }, + { 2, -32, 0, 0, 12, 7, 0 }, + { 3, -32, -32, 0, 0, 13, 0 }, + { 4, -32, -64, 0, 0, 8, 1 }, + { 5, -64, -32, 0, 0, 7, 0 }, + { 6, -64, -64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks109[] = { - { 0, 0, 0, 0, 12, 15, 0 }, - { 1, 0, 32, 0, 12, 4, 1 }, - { 2, -32, 0, 0, 12, 11, 0 }, - { 3, -32, 32, 0, 0, 14, 0 }, - { 4, -32, 64, 0, 0, 4, 1 }, - { 5, -64, 32, 0, 0, 11, 0 }, - { 6, -64, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 12, 15, 0 }, + { 1, 0, 32, 0, 12, 4, 1 }, + { 2, -32, 0, 0, 12, 11, 0 }, + { 3, -32, 32, 0, 0, 14, 0 }, + { 4, -32, 64, 0, 0, 4, 1 }, + { 5, -64, 32, 0, 0, 11, 0 }, + { 6, -64, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks110[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 15, 0 }, - { 2, 32, 0, 0, 0, 15, 0 }, - { 3, 32, 32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 15, 0 }, + { 2, 32, 0, 0, 0, 15, 0 }, + { 3, 32, 32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks111[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 15, 0 }, - { 2, 0, 64, 0, 0, 15, 0 }, - { 3, 0, 96, 0, 0, 15, 0 }, - { 4, 32, 0, 0, 0, 15, 0 }, - { 5, 32, 32, 0, 0, 15, 0 }, - { 6, 32, 64, 0, 0, 15, 0 }, - { 7, 32, 96, 0, 0, 15, 0 }, - { 8, 64, 0, 0, 0, 15, 0 }, - { 9, 64, 32, 0, 0, 15, 0 }, - { 10, 64, 64, 0, 0, 15, 0 }, - { 11, 64, 96, 0, 0, 15, 0 }, - { 12, 96, 0, 0, 0, 15, 0 }, - { 13, 96, 32, 0, 0, 15, 0 }, - { 14, 96, 64, 0, 0, 15, 0 }, - { 15, 96, 96, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 15, 0 }, + { 2, 0, 64, 0, 0, 15, 0 }, + { 3, 0, 96, 0, 0, 15, 0 }, + { 4, 32, 0, 0, 0, 15, 0 }, + { 5, 32, 32, 0, 0, 15, 0 }, + { 6, 32, 64, 0, 0, 15, 0 }, + { 7, 32, 96, 0, 0, 15, 0 }, + { 8, 64, 0, 0, 0, 15, 0 }, + { 9, 64, 32, 0, 0, 15, 0 }, + { 10, 64, 64, 0, 0, 15, 0 }, + { 11, 64, 96, 0, 0, 15, 0 }, + { 12, 96, 0, 0, 0, 15, 0 }, + { 13, 96, 32, 0, 0, 15, 0 }, + { 14, 96, 64, 0, 0, 15, 0 }, + { 15, 96, 96, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks112[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks113[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks114[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks115[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 15, 0 }, - { 2, 0, 64, 0, 0, 15, 0 }, - { 3, 0, 96, 0, 0, 15, 0 }, - { 4, 32, 0, 0, 0, 15, 0 }, - { 5, 32, 32, 0, 0, 15, 0 }, - { 6, 32, 64, 0, 0, 15, 0 }, - { 7, 32, 96, 0, 0, 15, 2 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 15, 0 }, + { 2, 0, 64, 0, 0, 15, 0 }, + { 3, 0, 96, 0, 0, 15, 0 }, + { 4, 32, 0, 0, 0, 15, 0 }, + { 5, 32, 32, 0, 0, 15, 0 }, + { 6, 32, 64, 0, 0, 15, 0 }, + { 7, 32, 96, 0, 0, 15, 2 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks116[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -64, 0, 0, 0, 15, 0 }, - { 2, -32, 0, 0, 0, 15, 0 }, - { 3, 32, 0, 0, 0, 15, 0 }, - { 4, 64, 0, 0, 0, 15, 2 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -64, 0, 0, 0, 15, 0 }, + { 2, -32, 0, 0, 0, 15, 0 }, + { 3, 32, 0, 0, 0, 15, 0 }, + { 4, 64, 0, 0, 0, 15, 2 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks117[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 0, 16, 15, 0 }, - { 3, -96, 0, 0, 16, 15, 0 }, - { 4, -128, 0, 0, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 0, 16, 15, 0 }, + { 3, -96, 0, 0, 16, 15, 0 }, + { 4, -128, 0, 0, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks118[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks119[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -64, 0, 0, 0, 15, 0 }, - { 2, -32, 0, 0, 0, 15, 0 }, - { 3, 32, 0, 0, 0, 15, 2 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -64, 0, 0, 0, 15, 0 }, + { 2, -32, 0, 0, 0, 15, 0 }, + { 3, 32, 0, 0, 0, 15, 2 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks120[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks121[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks122[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -64, 0, 0, 0, 15, 0 }, - { 2, -32, 0, 0, 0, 15, 0 }, - { 3, 32, 0, 0, 0, 15, 2 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -64, 0, 0, 0, 15, 0 }, + { 2, -32, 0, 0, 0, 15, 0 }, + { 3, 32, 0, 0, 0, 15, 2 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks123[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, -32, 0, 0, 15, 0 }, - { 2, -32, 0, 0, 0, 15, 0 }, - { 3, -32, 32, 0, 0, 15, 0 }, - { 4, 0, -32, 0, 0, 15, 0 }, - { 5, 0, 32, 0, 0, 15, 0 }, - { 6, 32, -32, 0, 0, 15, 0 }, - { 7, 32, 32, 0, 0, 15, 0 }, - { 8, 32, 0, 0, 0, 15, 2 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, -32, 0, 0, 15, 0 }, + { 2, -32, 0, 0, 0, 15, 0 }, + { 3, -32, 32, 0, 0, 15, 0 }, + { 4, 0, -32, 0, 0, 15, 0 }, + { 5, 0, 32, 0, 0, 15, 0 }, + { 6, 32, -32, 0, 0, 15, 0 }, + { 7, 32, 32, 0, 0, 15, 0 }, + { 8, 32, 0, 0, 0, 15, 2 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks124[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 0, 32, 15, 0 }, - { 2, -64, 0, 0, 48, 15, 0 }, - { 3, -96, 0, 0, 80, 15, 0 }, - { 4, -128, 0, 0, 160, 15, 0 }, - { 5, -192, 0, 0, 208, 15, 0 }, - { 6, -160, 0, 0, 208, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 0, 32, 15, 0 }, + { 2, -64, 0, 0, 48, 15, 0 }, + { 3, -96, 0, 0, 80, 15, 0 }, + { 4, -128, 0, 0, 160, 15, 0 }, + { 5, -192, 0, 0, 208, 15, 0 }, + { 6, -160, 0, 0, 208, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks125[] = { - { 0, 0, 0, 0, 48, 15, 0 }, - { 1, 32, 0, 0, 48, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 48, 15, 0 }, + { 1, 32, 0, 0, 48, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks126[] = { - { 0, 0, 0, 0, 8, 15, 4 }, - { 1, 32, 0, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 4 }, + { 1, 32, 0, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks127[] = { - { 0, 0, 0, 0, 8, 15, 4 }, - { 1, 32, 0, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 4 }, + { 1, 32, 0, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks128[] = { - { 0, 0, 0, 0, 32, 207, 4 }, - { 1, 32, 0, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 4 }, + { 1, 32, 0, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks129[] = { - { 0, 0, 0, 0, 32, 63, 4 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 63, 4 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks130[] = { - { 0, 0, 0, 0, 56, 15, 4 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 56, 15, 4 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks131[] = { - { 0, 0, 0, 0, 56, 15, 4 }, - { 1, 32, 0, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 56, 15, 4 }, + { 1, 32, 0, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks132[] = { - { 0, 0, 0, 0, 24, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks133[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -32, -32, 0, 0, 8, 0 }, - { 3, -64, 0, 0, 0, 2, 1 }, - { 4, -64, -32, 0, 0, 1, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -32, -32, 0, 0, 8, 0 }, + { 3, -64, 0, 0, 0, 2, 1 }, + { 4, -64, -32, 0, 0, 1, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks134[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -32, 32, 0, 0, 4, 0 }, - { 3, -64, 0, 0, 0, 1, 1 }, - { 4, -64, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -32, 32, 0, 0, 4, 0 }, + { 3, -64, 0, 0, 0, 1, 1 }, + { 4, -64, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks135[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, -32, 0, 0, 0, 1, 0 }, - { 2, 0, 32, 0, 0, 4, 1 }, - { 3, -32, 32, 0, 0, 15, 0 }, - { 4, -64, 32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, -32, 0, 0, 0, 1, 0 }, + { 2, 0, 32, 0, 0, 4, 1 }, + { 3, -32, 32, 0, 0, 15, 0 }, + { 4, -64, 32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks136[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 0 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 15, 0 }, - { 4, -32, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 0 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 15, 0 }, + { 4, -32, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks137[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -32, -32, 0, 0, 8, 0 }, - { 3, -64, 0, 0, 0, 2, 1 }, - { 4, -64, -32, 0, 0, 1, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -32, -32, 0, 0, 8, 0 }, + { 3, -64, 0, 0, 0, 2, 1 }, + { 4, -64, -32, 0, 0, 1, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks138[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -32, 32, 0, 0, 4, 0 }, - { 3, -64, 0, 0, 0, 1, 1 }, - { 4, -64, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -32, 32, 0, 0, 4, 0 }, + { 3, -64, 0, 0, 0, 1, 1 }, + { 4, -64, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks139[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, -32, 0, 0, 0, 1, 0 }, - { 2, 0, 32, 0, 0, 4, 1 }, - { 3, -32, 32, 0, 0, 15, 0 }, - { 4, -64, 32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, -32, 0, 0, 0, 1, 0 }, + { 2, 0, 32, 0, 0, 4, 1 }, + { 3, -32, 32, 0, 0, 15, 0 }, + { 4, -64, 32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks140[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 0 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 15, 0 }, - { 4, -32, 64, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 0 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 15, 0 }, + { 4, -32, 64, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks141[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks142[] = { - { 0, 0, 0, 0, 16, 13, 0 }, - { 1, 0, 32, 0, 16, 4, 1 }, - { 2, -32, 0, 0, 16, 1, 1 }, - { 3, -32, 32, 0, 16, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 13, 0 }, + { 1, 0, 32, 0, 16, 4, 1 }, + { 2, -32, 0, 0, 16, 1, 1 }, + { 3, -32, 32, 0, 16, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks143[] = { - { 0, 0, 0, 0, 64, 13, 0 }, - { 1, 0, 32, 0, 64, 4, 1 }, - { 2, -32, 0, 0, 64, 1, 1 }, - { 3, -32, 32, 0, 64, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 13, 0 }, + { 1, 0, 32, 0, 64, 4, 1 }, + { 2, -32, 0, 0, 64, 1, 1 }, + { 3, -32, 32, 0, 64, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks144[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks145[] = { - { 0, 0, 0, 0, 32, 13, 0 }, - { 1, 0, 32, 0, 32, 4, 1 }, - { 2, -32, 0, 0, 32, 1, 1 }, - { 3, -32, 32, 0, 32, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 13, 0 }, + { 1, 0, 32, 0, 32, 4, 1 }, + { 2, -32, 0, 0, 32, 1, 1 }, + { 3, -32, 32, 0, 32, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks146[] = { - { 0, 0, 0, 0, 32, 13, 0 }, - { 1, 0, 32, 0, 32, 4, 1 }, - { 2, -32, 0, 0, 32, 1, 1 }, - { 3, -32, 32, 0, 32, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 13, 0 }, + { 1, 0, 32, 0, 32, 4, 1 }, + { 2, -32, 0, 0, 32, 1, 1 }, + { 3, -32, 32, 0, 32, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks147[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks148[] = { - { 0, 0, 0, 0, 16, 13, 0 }, - { 1, 0, 32, 0, 16, 4, 1 }, - { 2, -32, 0, 0, 16, 1, 1 }, - { 3, -32, 32, 0, 16, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 13, 0 }, + { 1, 0, 32, 0, 16, 4, 1 }, + { 2, -32, 0, 0, 16, 1, 1 }, + { 3, -32, 32, 0, 16, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks149[] = { - { 0, 0, 0, 0, 64, 13, 0 }, - { 1, 0, 32, 0, 64, 4, 1 }, - { 2, -32, 0, 0, 64, 1, 1 }, - { 3, -32, 32, 0, 64, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 64, 13, 0 }, + { 1, 0, 32, 0, 64, 4, 1 }, + { 2, -32, 0, 0, 64, 1, 1 }, + { 3, -32, 32, 0, 64, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks150[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks151[] = { - { 0, 0, 0, 0, 32, 13, 0 }, - { 1, 0, 32, 0, 32, 4, 1 }, - { 2, -32, 0, 0, 32, 1, 1 }, - { 3, -32, 32, 0, 32, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 13, 0 }, + { 1, 0, 32, 0, 32, 4, 1 }, + { 2, -32, 0, 0, 32, 1, 1 }, + { 3, -32, 32, 0, 32, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks152[] = { - { 0, 0, 0, 0, 32, 13, 0 }, - { 1, 0, 32, 0, 32, 4, 1 }, - { 2, -32, 0, 0, 32, 1, 1 }, - { 3, -32, 32, 0, 32, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 13, 0 }, + { 1, 0, 32, 0, 32, 4, 1 }, + { 2, -32, 0, 0, 32, 1, 1 }, + { 3, -32, 32, 0, 32, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks153[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks154[] = { - { 0, 0, 0, 0, 24, 13, 0 }, - { 1, 0, 32, 0, 24, 4, 1 }, - { 2, -32, 0, 0, 24, 1, 1 }, - { 3, -32, 32, 0, 24, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 13, 0 }, + { 1, 0, 32, 0, 24, 4, 1 }, + { 2, -32, 0, 0, 24, 1, 1 }, + { 3, -32, 32, 0, 24, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks155[] = { - { 0, 0, 0, 0, 24, 13, 0 }, - { 1, 0, 32, 0, 24, 4, 1 }, - { 2, -32, 0, 0, 24, 1, 1 }, - { 3, -32, 32, 0, 24, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 13, 0 }, + { 1, 0, 32, 0, 24, 4, 1 }, + { 2, -32, 0, 0, 24, 1, 1 }, + { 3, -32, 32, 0, 24, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks156[] = { - { 0, 0, 0, 0, 24, 13, 0 }, - { 1, 0, 32, 0, 24, 4, 1 }, - { 2, -32, 0, 0, 24, 1, 1 }, - { 3, -32, 32, 0, 24, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 13, 0 }, + { 1, 0, 32, 0, 24, 4, 1 }, + { 2, -32, 0, 0, 24, 1, 1 }, + { 3, -32, 32, 0, 24, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks157[] = { - { 0, 0, 0, 0, 24, 13, 0 }, - { 1, 0, 32, 0, 24, 4, 1 }, - { 2, -32, 0, 0, 24, 1, 1 }, - { 3, -32, 32, 0, 24, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 13, 0 }, + { 1, 0, 32, 0, 24, 4, 1 }, + { 2, -32, 0, 0, 24, 1, 1 }, + { 3, -32, 32, 0, 24, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks158[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks159[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks160[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks161[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks162[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks163[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks164[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks165[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks166[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks167[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks168[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks169[] = { - { 0, 0, 0, 0, 8, 13, 0 }, - { 1, 0, 32, 0, 8, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 1 }, - { 3, -32, 32, 0, 8, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 13, 0 }, + { 1, 0, 32, 0, 8, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 1 }, + { 3, -32, 32, 0, 8, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks170[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks171[] = { - { 0, 0, 0, 0, 0, 13, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 0, 1, 1 }, - { 3, -32, 32, 0, 0, 2, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 13, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 0, 1, 1 }, + { 3, -32, 32, 0, 0, 2, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks172[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks173[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks174[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 0, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 0, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks175[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 0, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 0, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks176[] = { - { 0, 0, 0, -32, 16, 15, 0 }, - { 1, -32, 0, -32, 16, 15, 0 }, - { 2, -64, 0, -32, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 16, 15, 0 }, + { 1, -32, 0, -32, 16, 15, 0 }, + { 2, -64, 0, -32, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks177[] = { - { 0, 0, 0, -32, 16, 15, 0 }, - { 1, -32, 0, -32, 16, 15, 0 }, - { 2, -64, 0, -32, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 16, 15, 0 }, + { 1, -32, 0, -32, 16, 15, 0 }, + { 2, -64, 0, -32, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks178[] = { - { 0, 0, 0, 0, 0, 71, 0 }, - { 1, 0, -32, 0, 16, 8, 1 }, - { 2, -32, 0, 0, 16, 2, 0 }, - { 3, -32, -32, 16, 16, 103, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 71, 0 }, + { 1, 0, -32, 0, 16, 8, 1 }, + { 2, -32, 0, 0, 16, 2, 0 }, + { 3, -32, -32, 16, 16, 103, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks179[] = { - { 0, 0, 0, 0, 16, 139, 0 }, - { 1, 0, 32, 0, 16, 4, 1 }, - { 2, -32, 0, 0, 16, 1, 0 }, - { 3, -32, 32, 16, 16, 155, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 139, 0 }, + { 1, 0, 32, 0, 16, 4, 1 }, + { 2, -32, 0, 0, 16, 1, 0 }, + { 3, -32, 32, 16, 16, 155, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks180[] = { - { 0, 0, 0, 16, 16, 55, 0 }, - { 1, 0, -32, 0, 16, 8, 1 }, - { 2, -32, 0, 0, 16, 2, 0 }, - { 3, -32, -32, 0, 0, 23, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 16, 16, 55, 0 }, + { 1, 0, -32, 0, 16, 8, 1 }, + { 2, -32, 0, 0, 16, 2, 0 }, + { 3, -32, -32, 0, 0, 23, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks181[] = { - { 0, 0, 0, 16, 16, 59, 0 }, - { 1, 0, 32, 0, 16, 4, 1 }, - { 2, -32, 0, 0, 16, 1, 0 }, - { 3, -32, 32, 0, 0, 43, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 16, 16, 59, 0 }, + { 1, 0, 32, 0, 16, 4, 1 }, + { 2, -32, 0, 0, 16, 1, 0 }, + { 3, -32, 32, 0, 0, 43, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks182[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks183[] = { - { 0, 0, 0, 0, 24, 207, 0 }, - { 1, -32, 0, 16, 40, 207, 0 }, - { 2, -64, 0, 32, 56, 15, 0 }, - { 3, -96, 0, 64, 192, 15, 0 }, - { 4, -128, -32, 120, 96, 15, 0 }, - { 5, -96, -32, 64, 192, 15, 0 }, - { 6, -64, -32, 248, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 207, 0 }, + { 1, -32, 0, 16, 40, 207, 0 }, + { 2, -64, 0, 32, 56, 15, 0 }, + { 3, -96, 0, 64, 192, 15, 0 }, + { 4, -128, -32, 120, 96, 15, 0 }, + { 5, -96, -32, 64, 192, 15, 0 }, + { 6, -64, -32, 248, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks184[] = { - { 0, 0, 0, 0, 24, 207, 0 }, - { 1, -32, 0, 16, 40, 207, 0 }, - { 2, -64, 0, 32, 56, 15, 0 }, - { 3, -96, 0, 64, 192, 15, 0 }, - { 4, -128, 32, 120, 96, 15, 0 }, - { 5, -96, 32, 64, 192, 15, 0 }, - { 6, -64, 32, 248, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 24, 207, 0 }, + { 1, -32, 0, 16, 40, 207, 0 }, + { 2, -64, 0, 32, 56, 15, 0 }, + { 3, -96, 0, 64, 192, 15, 0 }, + { 4, -128, 32, 120, 96, 15, 0 }, + { 5, -96, 32, 64, 192, 15, 0 }, + { 6, -64, 32, 248, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks185[] = { - { 0, 0, 0, -32, 24, 15, 0 }, - { 1, -32, 0, -216, 192, 15, 0 }, - { 2, -64, 0, -160, 96, 15, 0 }, - { 3, -32, -32, -216, 192, 15, 0 }, - { 4, 0, -32, -248, 56, 15, 0 }, - { 5, 32, -32, -264, 40, 207, 0 }, - { 6, 64, -32, -280, 24, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 24, 15, 0 }, + { 1, -32, 0, -216, 192, 15, 0 }, + { 2, -64, 0, -160, 96, 15, 0 }, + { 3, -32, -32, -216, 192, 15, 0 }, + { 4, 0, -32, -248, 56, 15, 0 }, + { 5, 32, -32, -264, 40, 207, 0 }, + { 6, 64, -32, -280, 24, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks186[] = { - { 0, 0, 0, -32, 24, 15, 0 }, - { 1, -32, 0, -216, 192, 15, 0 }, - { 2, -64, 0, -160, 96, 15, 0 }, - { 3, -32, 32, -216, 192, 15, 0 }, - { 4, 0, 32, -248, 56, 15, 0 }, - { 5, 32, 32, -264, 40, 207, 0 }, - { 6, 64, 32, -280, 24, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 24, 15, 0 }, + { 1, -32, 0, -216, 192, 15, 0 }, + { 2, -64, 0, -160, 96, 15, 0 }, + { 3, -32, 32, -216, 192, 15, 0 }, + { 4, 0, 32, -248, 56, 15, 0 }, + { 5, 32, 32, -264, 40, 207, 0 }, + { 6, 64, 32, -280, 24, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks187[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, -16, 16, 15, 0 }, - { 2, -64, 0, -16, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, -16, 16, 15, 0 }, + { 2, -64, 0, -16, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks188[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, -16, 16, 15, 0 }, - { 2, -64, 0, -16, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, -16, 16, 15, 0 }, + { 2, -64, 0, -16, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks189[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 16, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 16, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks190[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 0, 16, 15, 0 }, - { 2, -64, 0, 16, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 0, 16, 15, 0 }, + { 2, -64, 0, 16, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks191[] = { - { 0, 0, 0, 0, 32, 207, 0 }, - { 1, -32, 0, 16, 16, 207, 0 }, - { 2, -64, 0, 32, 96, 3, 0 }, - { 3, -32, 0, 120, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 207, 0 }, + { 1, -32, 0, 16, 16, 207, 0 }, + { 2, -64, 0, 32, 96, 3, 0 }, + { 3, -32, 0, 120, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks192[] = { - { 0, 0, 0, 0, 32, 15, 0 }, - { 1, -32, 0, -88, 96, 3, 0 }, - { 2, 0, 0, -104, 16, 207, 0 }, - { 3, 32, 0, -120, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 15, 0 }, + { 1, -32, 0, -88, 96, 3, 0 }, + { 2, 0, 0, -104, 16, 207, 0 }, + { 3, 32, 0, -120, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks193[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 24, 32, 7, 0 }, - { 2, -32, -32, 48, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 24, 32, 7, 0 }, + { 2, -32, -32, 48, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks194[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, 24, 32, 11, 0 }, - { 2, -32, 32, 48, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, 24, 32, 11, 0 }, + { 2, -32, 32, 48, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks195[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, -24, 32, 7, 0 }, - { 2, -32, -32, -48, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, -24, 32, 7, 0 }, + { 2, -32, -32, -48, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks196[] = { - { 0, 0, 0, 0, 16, 15, 0 }, - { 1, -32, 0, -24, 32, 11, 0 }, - { 2, -32, 32, -48, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 0 }, + { 1, -32, 0, -24, 32, 11, 0 }, + { 2, -32, 32, -48, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks197[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 32, 15, 0 }, - { 2, -64, 0, 16, 0, 15, 0 }, - { 3, 0, 0, 32, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 32, 15, 0 }, + { 2, -64, 0, 16, 0, 15, 0 }, + { 3, 0, 0, 32, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks198[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, -32, 32, 15, 0 }, - { 2, -64, 0, -16, 0, 15, 0 }, - { 3, 0, 0, -32, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, -32, 32, 15, 0 }, + { 2, -64, 0, -16, 0, 15, 0 }, + { 3, 0, 0, -32, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks199[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -64, 0, 0, 0, 15, 0 }, - { 3, -96, 0, 0, 0, 15, 0 }, - { 4, -128, 0, 0, 0, 15, 0 }, - { 5, -160, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -64, 0, 0, 0, 15, 0 }, + { 3, -96, 0, 0, 0, 15, 0 }, + { 4, -128, 0, 0, 0, 15, 0 }, + { 5, -160, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks200[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -64, 0, 0, 0, 15, 0 }, - { 3, -96, 0, 0, 0, 15, 0 }, - { 4, -128, 0, 0, 0, 15, 0 }, - { 5, -160, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -64, 0, 0, 0, 15, 0 }, + { 3, -96, 0, 0, 0, 15, 0 }, + { 4, -128, 0, 0, 0, 15, 0 }, + { 5, -160, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks201[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks202[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks203[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks204[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -32, 32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -32, 32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks205[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, -32, 0, 0, 0, 15, 0 }, - { 2, -32, -32, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, -32, 0, 0, 0, 15, 0 }, + { 2, -32, -32, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks206[] = { - { 0, 0, 0, 0, 16, 15, 4 }, - { 1, -32, 0, -40, 32, 15, 4 }, - { 2, -64, 0, -96, 56, 15, 4 }, - { 3, -96, 0, -96, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 15, 4 }, + { 1, -32, 0, -40, 32, 15, 4 }, + { 2, -64, 0, -96, 56, 15, 4 }, + { 3, -96, 0, -96, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks207[] = { - { 0, 0, 0, 0, 56, 15, 4 }, - { 1, 32, 0, 56, 32, 15, 4 }, - { 2, 64, 0, 96, 16, 15, 4 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 56, 15, 4 }, + { 1, 32, 0, 56, 32, 15, 4 }, + { 2, 64, 0, 96, 16, 15, 4 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks208[] = { - { 0, 0, 0, -32, 16, 15, 4 }, - { 1, -32, 0, -72, 32, 15, 4 }, - { 2, -64, 0, -128, 56, 15, 4 }, - { 3, -96, 0, -128, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 16, 15, 4 }, + { 1, -32, 0, -72, 32, 15, 4 }, + { 2, -64, 0, -128, 56, 15, 4 }, + { 3, -96, 0, -128, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks209[] = { - { 0, 0, 0, 0, 0, 7, 0 }, - { 1, 0, -32, 0, 0, 8, 1 }, - { 2, -32, 0, 0, 8, 2, 0 }, - { 3, -32, -32, 0, 8, 7, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 7, 0 }, + { 1, 0, -32, 0, 0, 8, 1 }, + { 2, -32, 0, 0, 8, 2, 0 }, + { 3, -32, -32, 0, 8, 7, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks210[] = { - { 0, 0, 0, 0, 0, 11, 0 }, - { 1, 0, 32, 0, 0, 4, 1 }, - { 2, -32, 0, 0, 8, 1, 0 }, - { 3, -32, 32, 0, 8, 11, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 11, 0 }, + { 1, 0, 32, 0, 0, 4, 1 }, + { 2, -32, 0, 0, 8, 1, 0 }, + { 3, -32, 32, 0, 8, 11, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks211[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, -32, 0, 0, 15, 0 }, - { 2, -32, -32, 0, 0, 15, 0 }, - { 3, -64, -32, 0, 0, 15, 0 }, - { 4, -32, 0, 0, 0, 15, 0 }, - { 5, -64, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, -32, 0, 0, 15, 0 }, + { 2, -32, -32, 0, 0, 15, 0 }, + { 3, -64, -32, 0, 0, 15, 0 }, + { 4, -32, 0, 0, 0, 15, 0 }, + { 5, -64, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks212[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - { 1, 0, 32, 0, 0, 15, 0 }, - { 2, -32, 32, 0, 0, 15, 0 }, - { 3, -64, 32, 0, 0, 15, 0 }, - { 4, -32, 0, 0, 0, 15, 0 }, - { 5, -64, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + { 1, 0, 32, 0, 0, 15, 0 }, + { 2, -32, 32, 0, 0, 15, 0 }, + { 3, -64, 32, 0, 0, 15, 0 }, + { 4, -32, 0, 0, 0, 15, 0 }, + { 5, -64, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks213[] = { - { 0, 0, 0, 0, 32, 15, 0 }, - { 1, 32, 0, 0, 32, 15, 0 }, - { 2, -64, 0, 0, 32, 15, 0 }, - { 3, -32, 0, 0, 32, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 32, 15, 0 }, + { 1, 32, 0, 0, 32, 15, 0 }, + { 2, -64, 0, 0, 32, 15, 0 }, + { 3, -32, 0, 0, 32, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks214[] = { - { 0, 0, 0, 0, 48, 15, 0 }, - { 1, 32, 0, 0, 48, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 48, 15, 0 }, + { 1, 32, 0, 0, 48, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks215[] = { - { 0, 0, 0, 0, 208, 15, 0 }, - { 1, 32, 0, 0, 208, 15, 0 }, - { 2, -32, 0, 0, 160, 15, 0 }, - { 3, -64, 0, 0, 80, 15, 0 }, - { 4, -96, 0, 0, 48, 15, 0 }, - { 5, -128, 0, 0, 32, 15, 0 }, - { 6, -160, 0, 0, 16, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 208, 15, 0 }, + { 1, 32, 0, 0, 208, 15, 0 }, + { 2, -32, 0, 0, 160, 15, 0 }, + { 3, -64, 0, 0, 80, 15, 0 }, + { 4, -96, 0, 0, 48, 15, 0 }, + { 5, -128, 0, 0, 32, 15, 0 }, + { 6, -160, 0, 0, 16, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks216[] = { - { 0, 0, 0, 0, 0, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 0, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks217[] = { - { 0, 0, 0, 0, 16, 71, 0 }, - { 1, 0, -32, 16, 0, 8, 1 }, - { 2, -32, 0, 16, 0, 2, 0 }, - { 3, -32, -32, 16, 16, 103, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 71, 0 }, + { 1, 0, -32, 16, 0, 8, 1 }, + { 2, -32, 0, 16, 0, 2, 0 }, + { 3, -32, -32, 16, 16, 103, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks218[] = { - { 0, 0, 0, 0, 16, 139, 0 }, - { 1, 0, 32, 16, 0, 4, 1 }, - { 2, -32, 0, 16, 0, 1, 0 }, - { 3, -32, 32, 16, 16, 155, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 139, 0 }, + { 1, 0, 32, 16, 0, 4, 1 }, + { 2, -32, 0, 16, 0, 1, 0 }, + { 3, -32, 32, 16, 16, 155, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks219[] = { - { 0, 0, 0, 16, 16, 55, 0 }, - { 1, 0, -32, 16, 0, 8, 1 }, - { 2, -32, 0, 16, 0, 2, 0 }, - { 3, -32, -32, 0, 16, 23, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 16, 16, 55, 0 }, + { 1, 0, -32, 16, 0, 8, 1 }, + { 2, -32, 0, 16, 0, 2, 0 }, + { 3, -32, -32, 0, 16, 23, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks220[] = { - { 0, 0, 0, 16, 16, 59, 0 }, - { 1, 0, 32, 16, 0, 4, 1 }, - { 2, -32, 0, 16, 0, 1, 0 }, - { 3, -32, 32, 0, 16, 43, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 16, 16, 59, 0 }, + { 1, 0, 32, 16, 0, 4, 1 }, + { 2, -32, 0, 16, 0, 1, 0 }, + { 3, -32, 32, 0, 16, 43, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks221[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - { 1, 0, -32, 16, 0, 8, 1 }, - { 2, -32, 0, 16, 16, 71, 0 }, - { 3, -32, -32, 24, 16, 13, 0 }, - { 4, -32, -64, 48, 0, 8, 1 }, - { 5, -64, -32, 32, 16, 71, 0 }, - { 6, -64, -64, 48, 16, 111, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + { 1, 0, -32, 16, 0, 8, 1 }, + { 2, -32, 0, 16, 16, 71, 0 }, + { 3, -32, -32, 24, 16, 13, 0 }, + { 4, -32, -64, 48, 0, 8, 1 }, + { 5, -64, -32, 32, 16, 71, 0 }, + { 6, -64, -64, 48, 16, 111, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks222[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - { 1, 0, 32, 16, 0, 4, 1 }, - { 2, -32, 0, 16, 16, 139, 0 }, - { 3, -32, 32, 24, 16, 14, 0 }, - { 4, -32, 64, 48, 0, 4, 1 }, - { 5, -64, 32, 32, 16, 139, 0 }, - { 6, -64, 64, 48, 16, 159, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + { 1, 0, 32, 16, 0, 4, 1 }, + { 2, -32, 0, 16, 16, 139, 0 }, + { 3, -32, 32, 24, 16, 14, 0 }, + { 4, -32, 64, 48, 0, 4, 1 }, + { 5, -64, 32, 32, 16, 139, 0 }, + { 6, -64, 64, 48, 16, 159, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks223[] = { - { 0, 0, 0, 48, 16, 63, 0 }, - { 1, 0, -32, 48, 0, 8, 1 }, - { 2, -32, 0, 32, 16, 23, 0 }, - { 3, -32, -32, 24, 16, 13, 0 }, - { 4, -32, -64, 16, 0, 8, 1 }, - { 5, -64, -32, 16, 16, 23, 0 }, - { 6, -64, -64, 0, 16, 159, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 48, 16, 63, 0 }, + { 1, 0, -32, 48, 0, 8, 1 }, + { 2, -32, 0, 32, 16, 23, 0 }, + { 3, -32, -32, 24, 16, 13, 0 }, + { 4, -32, -64, 16, 0, 8, 1 }, + { 5, -64, -32, 16, 16, 23, 0 }, + { 6, -64, -64, 0, 16, 159, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks224[] = { - { 0, 0, 0, 48, 16, 63, 0 }, - { 1, 0, 32, 48, 0, 4, 1 }, - { 2, -32, 0, 32, 16, 43, 0 }, - { 3, -32, 32, 24, 16, 14, 0 }, - { 4, -32, 64, 16, 0, 4, 1 }, - { 5, -64, 32, 16, 16, 43, 0 }, - { 6, -64, 64, 0, 16, 111, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 48, 16, 63, 0 }, + { 1, 0, 32, 48, 0, 4, 1 }, + { 2, -32, 0, 32, 16, 43, 0 }, + { 3, -32, 32, 24, 16, 14, 0 }, + { 4, -32, 64, 16, 0, 4, 1 }, + { 5, -64, 32, 16, 16, 43, 0 }, + { 6, -64, 64, 0, 16, 111, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks225[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks226[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks227[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks228[] = { - { 0, 0, 0, 0, 16, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks229[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks230[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks231[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks232[] = { - { 0, 0, 0, 0, 16, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 16, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks233[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks234[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks235[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks236[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks237[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks238[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks239[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks240[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks241[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks242[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks243[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks244[] = { - { 0, 0, 0, 0, 8, 207, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 207, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks245[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks246[] = { - { 0, 0, 0, 0, 8, 63, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 63, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks247[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks248[] = { - { 0, 0, 0, 0, 8, 15, 0 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 8, 15, 0 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks249[] = { - { 0, 0, 0, 0, 72, 15, 4 }, - { 1, 0, 32, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 72, 15, 4 }, + { 1, 0, 32, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks250[] = { - { 0, 0, 0, 0, 72, 15, 4 }, - { 1, 0, -32, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 72, 15, 4 }, + { 1, 0, -32, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks251[] = { - { 0, 0, 0, 0, 72, 15, 4 }, - { 1, 0, 32, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 72, 15, 4 }, + { 1, 0, 32, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks252[] = { - { 0, 0, 0, 0, 72, 15, 4 }, - { 1, 0, -32, 0, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 72, 15, 4 }, + { 1, 0, -32, 0, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks253[] = { - { 0, 0, 0, 0, 56, 15, 4 }, - { 1, 32, 0, 56, 32, 15, 4 }, - { 2, 64, 0, 96, 16, 15, 4 }, - TRACK_BLOCK_END + { 0, 0, 0, 0, 56, 15, 4 }, + { 1, 32, 0, 56, 32, 15, 4 }, + { 2, 64, 0, 96, 16, 15, 4 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks254[] = { - { 0, 0, 0, -32, 16, 15, 4 }, - { 1, -32, 0, -72, 32, 15, 4 }, - { 2, -64, 0, -128, 56, 15, 4 }, - { 3, -96, 0, -128, 0, 0, 5 }, - TRACK_BLOCK_END + { 0, 0, 0, -32, 16, 15, 4 }, + { 1, -32, 0, -72, 32, 15, 4 }, + { 2, -64, 0, -128, 56, 15, 4 }, + { 3, -96, 0, -128, 0, 0, 5 }, + TRACK_BLOCK_END }; static const rct_preview_track FlatRideTrackBlocks255[] = { - TRACK_BLOCK_END + TRACK_BLOCK_END }; // rct2: 0x00994A38 const rct_preview_track *FlatRideTrackBlocks[256] = { - FlatRideTrackBlocks000, - FlatRideTrackBlocks001, - FlatRideTrackBlocks002, - FlatRideTrackBlocks003, - FlatRideTrackBlocks004, - FlatRideTrackBlocks005, - FlatRideTrackBlocks006, - FlatRideTrackBlocks007, - FlatRideTrackBlocks008, - FlatRideTrackBlocks009, - FlatRideTrackBlocks010, - FlatRideTrackBlocks011, - FlatRideTrackBlocks012, - FlatRideTrackBlocks013, - FlatRideTrackBlocks014, - FlatRideTrackBlocks015, - FlatRideTrackBlocks016, - FlatRideTrackBlocks017, - FlatRideTrackBlocks018, - FlatRideTrackBlocks019, - FlatRideTrackBlocks020, - FlatRideTrackBlocks021, - FlatRideTrackBlocks022, - FlatRideTrackBlocks023, - FlatRideTrackBlocks024, - FlatRideTrackBlocks025, - FlatRideTrackBlocks026, - FlatRideTrackBlocks027, - FlatRideTrackBlocks028, - FlatRideTrackBlocks029, - FlatRideTrackBlocks030, - FlatRideTrackBlocks031, - FlatRideTrackBlocks032, - FlatRideTrackBlocks033, - FlatRideTrackBlocks034, - FlatRideTrackBlocks035, - FlatRideTrackBlocks036, - FlatRideTrackBlocks037, - FlatRideTrackBlocks038, - FlatRideTrackBlocks039, - FlatRideTrackBlocks040, - FlatRideTrackBlocks041, - FlatRideTrackBlocks042, - FlatRideTrackBlocks043, - FlatRideTrackBlocks044, - FlatRideTrackBlocks045, - FlatRideTrackBlocks046, - FlatRideTrackBlocks047, - FlatRideTrackBlocks048, - FlatRideTrackBlocks049, - FlatRideTrackBlocks050, - FlatRideTrackBlocks051, - FlatRideTrackBlocks052, - FlatRideTrackBlocks053, - FlatRideTrackBlocks054, - FlatRideTrackBlocks055, - FlatRideTrackBlocks056, - FlatRideTrackBlocks057, - FlatRideTrackBlocks058, - FlatRideTrackBlocks059, - FlatRideTrackBlocks060, - FlatRideTrackBlocks061, - FlatRideTrackBlocks062, - FlatRideTrackBlocks063, - FlatRideTrackBlocks064, - FlatRideTrackBlocks065, - FlatRideTrackBlocks066, - FlatRideTrackBlocks067, - FlatRideTrackBlocks068, - FlatRideTrackBlocks069, - FlatRideTrackBlocks070, - FlatRideTrackBlocks071, - FlatRideTrackBlocks072, - FlatRideTrackBlocks073, - FlatRideTrackBlocks074, - FlatRideTrackBlocks075, - FlatRideTrackBlocks076, - FlatRideTrackBlocks077, - FlatRideTrackBlocks078, - FlatRideTrackBlocks079, - FlatRideTrackBlocks080, - FlatRideTrackBlocks081, - FlatRideTrackBlocks082, - FlatRideTrackBlocks083, - FlatRideTrackBlocks084, - FlatRideTrackBlocks085, - FlatRideTrackBlocks086, - FlatRideTrackBlocks087, - FlatRideTrackBlocks088, - FlatRideTrackBlocks089, - FlatRideTrackBlocks090, - FlatRideTrackBlocks091, - FlatRideTrackBlocks092, - FlatRideTrackBlocks093, - FlatRideTrackBlocks094, - FlatRideTrackBlocks095, - FlatRideTrackBlocks096, - FlatRideTrackBlocks097, - FlatRideTrackBlocks098, - FlatRideTrackBlocks099, - FlatRideTrackBlocks100, - FlatRideTrackBlocks101, - FlatRideTrackBlocks102, - FlatRideTrackBlocks103, - FlatRideTrackBlocks104, - FlatRideTrackBlocks105, - FlatRideTrackBlocks106, - FlatRideTrackBlocks107, - FlatRideTrackBlocks108, - FlatRideTrackBlocks109, - FlatRideTrackBlocks110, - FlatRideTrackBlocks111, - FlatRideTrackBlocks112, - FlatRideTrackBlocks113, - FlatRideTrackBlocks114, - FlatRideTrackBlocks115, - FlatRideTrackBlocks116, - FlatRideTrackBlocks117, - FlatRideTrackBlocks118, - FlatRideTrackBlocks119, - FlatRideTrackBlocks120, - FlatRideTrackBlocks121, - FlatRideTrackBlocks122, - FlatRideTrackBlocks123, - FlatRideTrackBlocks124, - FlatRideTrackBlocks125, - FlatRideTrackBlocks126, - FlatRideTrackBlocks127, - FlatRideTrackBlocks128, - FlatRideTrackBlocks129, - FlatRideTrackBlocks130, - FlatRideTrackBlocks131, - FlatRideTrackBlocks132, - FlatRideTrackBlocks133, - FlatRideTrackBlocks134, - FlatRideTrackBlocks135, - FlatRideTrackBlocks136, - FlatRideTrackBlocks137, - FlatRideTrackBlocks138, - FlatRideTrackBlocks139, - FlatRideTrackBlocks140, - FlatRideTrackBlocks141, - FlatRideTrackBlocks142, - FlatRideTrackBlocks143, - FlatRideTrackBlocks144, - FlatRideTrackBlocks145, - FlatRideTrackBlocks146, - FlatRideTrackBlocks147, - FlatRideTrackBlocks148, - FlatRideTrackBlocks149, - FlatRideTrackBlocks150, - FlatRideTrackBlocks151, - FlatRideTrackBlocks152, - FlatRideTrackBlocks153, - FlatRideTrackBlocks154, - FlatRideTrackBlocks155, - FlatRideTrackBlocks156, - FlatRideTrackBlocks157, - FlatRideTrackBlocks158, - FlatRideTrackBlocks159, - FlatRideTrackBlocks160, - FlatRideTrackBlocks161, - FlatRideTrackBlocks162, - FlatRideTrackBlocks163, - FlatRideTrackBlocks164, - FlatRideTrackBlocks165, - FlatRideTrackBlocks166, - FlatRideTrackBlocks167, - FlatRideTrackBlocks168, - FlatRideTrackBlocks169, - FlatRideTrackBlocks170, - FlatRideTrackBlocks171, - FlatRideTrackBlocks172, - FlatRideTrackBlocks173, - FlatRideTrackBlocks174, - FlatRideTrackBlocks175, - FlatRideTrackBlocks176, - FlatRideTrackBlocks177, - FlatRideTrackBlocks178, - FlatRideTrackBlocks179, - FlatRideTrackBlocks180, - FlatRideTrackBlocks181, - FlatRideTrackBlocks182, - FlatRideTrackBlocks183, - FlatRideTrackBlocks184, - FlatRideTrackBlocks185, - FlatRideTrackBlocks186, - FlatRideTrackBlocks187, - FlatRideTrackBlocks188, - FlatRideTrackBlocks189, - FlatRideTrackBlocks190, - FlatRideTrackBlocks191, - FlatRideTrackBlocks192, - FlatRideTrackBlocks193, - FlatRideTrackBlocks194, - FlatRideTrackBlocks195, - FlatRideTrackBlocks196, - FlatRideTrackBlocks197, - FlatRideTrackBlocks198, - FlatRideTrackBlocks199, - FlatRideTrackBlocks200, - FlatRideTrackBlocks201, - FlatRideTrackBlocks202, - FlatRideTrackBlocks203, - FlatRideTrackBlocks204, - FlatRideTrackBlocks205, - FlatRideTrackBlocks206, - FlatRideTrackBlocks207, - FlatRideTrackBlocks208, - FlatRideTrackBlocks209, - FlatRideTrackBlocks210, - FlatRideTrackBlocks211, - FlatRideTrackBlocks212, - FlatRideTrackBlocks213, - FlatRideTrackBlocks214, - FlatRideTrackBlocks215, - FlatRideTrackBlocks216, - FlatRideTrackBlocks217, - FlatRideTrackBlocks218, - FlatRideTrackBlocks219, - FlatRideTrackBlocks220, - FlatRideTrackBlocks221, - FlatRideTrackBlocks222, - FlatRideTrackBlocks223, - FlatRideTrackBlocks224, - FlatRideTrackBlocks225, - FlatRideTrackBlocks226, - FlatRideTrackBlocks227, - FlatRideTrackBlocks228, - FlatRideTrackBlocks229, - FlatRideTrackBlocks230, - FlatRideTrackBlocks231, - FlatRideTrackBlocks232, - FlatRideTrackBlocks233, - FlatRideTrackBlocks234, - FlatRideTrackBlocks235, - FlatRideTrackBlocks236, - FlatRideTrackBlocks237, - FlatRideTrackBlocks238, - FlatRideTrackBlocks239, - FlatRideTrackBlocks240, - FlatRideTrackBlocks241, - FlatRideTrackBlocks242, - FlatRideTrackBlocks243, - FlatRideTrackBlocks244, - FlatRideTrackBlocks245, - FlatRideTrackBlocks246, - FlatRideTrackBlocks247, - FlatRideTrackBlocks248, - FlatRideTrackBlocks249, - FlatRideTrackBlocks250, - FlatRideTrackBlocks251, - FlatRideTrackBlocks252, - FlatRideTrackBlocks253, - FlatRideTrackBlocks254, - FlatRideTrackBlocks255 + FlatRideTrackBlocks000, + FlatRideTrackBlocks001, + FlatRideTrackBlocks002, + FlatRideTrackBlocks003, + FlatRideTrackBlocks004, + FlatRideTrackBlocks005, + FlatRideTrackBlocks006, + FlatRideTrackBlocks007, + FlatRideTrackBlocks008, + FlatRideTrackBlocks009, + FlatRideTrackBlocks010, + FlatRideTrackBlocks011, + FlatRideTrackBlocks012, + FlatRideTrackBlocks013, + FlatRideTrackBlocks014, + FlatRideTrackBlocks015, + FlatRideTrackBlocks016, + FlatRideTrackBlocks017, + FlatRideTrackBlocks018, + FlatRideTrackBlocks019, + FlatRideTrackBlocks020, + FlatRideTrackBlocks021, + FlatRideTrackBlocks022, + FlatRideTrackBlocks023, + FlatRideTrackBlocks024, + FlatRideTrackBlocks025, + FlatRideTrackBlocks026, + FlatRideTrackBlocks027, + FlatRideTrackBlocks028, + FlatRideTrackBlocks029, + FlatRideTrackBlocks030, + FlatRideTrackBlocks031, + FlatRideTrackBlocks032, + FlatRideTrackBlocks033, + FlatRideTrackBlocks034, + FlatRideTrackBlocks035, + FlatRideTrackBlocks036, + FlatRideTrackBlocks037, + FlatRideTrackBlocks038, + FlatRideTrackBlocks039, + FlatRideTrackBlocks040, + FlatRideTrackBlocks041, + FlatRideTrackBlocks042, + FlatRideTrackBlocks043, + FlatRideTrackBlocks044, + FlatRideTrackBlocks045, + FlatRideTrackBlocks046, + FlatRideTrackBlocks047, + FlatRideTrackBlocks048, + FlatRideTrackBlocks049, + FlatRideTrackBlocks050, + FlatRideTrackBlocks051, + FlatRideTrackBlocks052, + FlatRideTrackBlocks053, + FlatRideTrackBlocks054, + FlatRideTrackBlocks055, + FlatRideTrackBlocks056, + FlatRideTrackBlocks057, + FlatRideTrackBlocks058, + FlatRideTrackBlocks059, + FlatRideTrackBlocks060, + FlatRideTrackBlocks061, + FlatRideTrackBlocks062, + FlatRideTrackBlocks063, + FlatRideTrackBlocks064, + FlatRideTrackBlocks065, + FlatRideTrackBlocks066, + FlatRideTrackBlocks067, + FlatRideTrackBlocks068, + FlatRideTrackBlocks069, + FlatRideTrackBlocks070, + FlatRideTrackBlocks071, + FlatRideTrackBlocks072, + FlatRideTrackBlocks073, + FlatRideTrackBlocks074, + FlatRideTrackBlocks075, + FlatRideTrackBlocks076, + FlatRideTrackBlocks077, + FlatRideTrackBlocks078, + FlatRideTrackBlocks079, + FlatRideTrackBlocks080, + FlatRideTrackBlocks081, + FlatRideTrackBlocks082, + FlatRideTrackBlocks083, + FlatRideTrackBlocks084, + FlatRideTrackBlocks085, + FlatRideTrackBlocks086, + FlatRideTrackBlocks087, + FlatRideTrackBlocks088, + FlatRideTrackBlocks089, + FlatRideTrackBlocks090, + FlatRideTrackBlocks091, + FlatRideTrackBlocks092, + FlatRideTrackBlocks093, + FlatRideTrackBlocks094, + FlatRideTrackBlocks095, + FlatRideTrackBlocks096, + FlatRideTrackBlocks097, + FlatRideTrackBlocks098, + FlatRideTrackBlocks099, + FlatRideTrackBlocks100, + FlatRideTrackBlocks101, + FlatRideTrackBlocks102, + FlatRideTrackBlocks103, + FlatRideTrackBlocks104, + FlatRideTrackBlocks105, + FlatRideTrackBlocks106, + FlatRideTrackBlocks107, + FlatRideTrackBlocks108, + FlatRideTrackBlocks109, + FlatRideTrackBlocks110, + FlatRideTrackBlocks111, + FlatRideTrackBlocks112, + FlatRideTrackBlocks113, + FlatRideTrackBlocks114, + FlatRideTrackBlocks115, + FlatRideTrackBlocks116, + FlatRideTrackBlocks117, + FlatRideTrackBlocks118, + FlatRideTrackBlocks119, + FlatRideTrackBlocks120, + FlatRideTrackBlocks121, + FlatRideTrackBlocks122, + FlatRideTrackBlocks123, + FlatRideTrackBlocks124, + FlatRideTrackBlocks125, + FlatRideTrackBlocks126, + FlatRideTrackBlocks127, + FlatRideTrackBlocks128, + FlatRideTrackBlocks129, + FlatRideTrackBlocks130, + FlatRideTrackBlocks131, + FlatRideTrackBlocks132, + FlatRideTrackBlocks133, + FlatRideTrackBlocks134, + FlatRideTrackBlocks135, + FlatRideTrackBlocks136, + FlatRideTrackBlocks137, + FlatRideTrackBlocks138, + FlatRideTrackBlocks139, + FlatRideTrackBlocks140, + FlatRideTrackBlocks141, + FlatRideTrackBlocks142, + FlatRideTrackBlocks143, + FlatRideTrackBlocks144, + FlatRideTrackBlocks145, + FlatRideTrackBlocks146, + FlatRideTrackBlocks147, + FlatRideTrackBlocks148, + FlatRideTrackBlocks149, + FlatRideTrackBlocks150, + FlatRideTrackBlocks151, + FlatRideTrackBlocks152, + FlatRideTrackBlocks153, + FlatRideTrackBlocks154, + FlatRideTrackBlocks155, + FlatRideTrackBlocks156, + FlatRideTrackBlocks157, + FlatRideTrackBlocks158, + FlatRideTrackBlocks159, + FlatRideTrackBlocks160, + FlatRideTrackBlocks161, + FlatRideTrackBlocks162, + FlatRideTrackBlocks163, + FlatRideTrackBlocks164, + FlatRideTrackBlocks165, + FlatRideTrackBlocks166, + FlatRideTrackBlocks167, + FlatRideTrackBlocks168, + FlatRideTrackBlocks169, + FlatRideTrackBlocks170, + FlatRideTrackBlocks171, + FlatRideTrackBlocks172, + FlatRideTrackBlocks173, + FlatRideTrackBlocks174, + FlatRideTrackBlocks175, + FlatRideTrackBlocks176, + FlatRideTrackBlocks177, + FlatRideTrackBlocks178, + FlatRideTrackBlocks179, + FlatRideTrackBlocks180, + FlatRideTrackBlocks181, + FlatRideTrackBlocks182, + FlatRideTrackBlocks183, + FlatRideTrackBlocks184, + FlatRideTrackBlocks185, + FlatRideTrackBlocks186, + FlatRideTrackBlocks187, + FlatRideTrackBlocks188, + FlatRideTrackBlocks189, + FlatRideTrackBlocks190, + FlatRideTrackBlocks191, + FlatRideTrackBlocks192, + FlatRideTrackBlocks193, + FlatRideTrackBlocks194, + FlatRideTrackBlocks195, + FlatRideTrackBlocks196, + FlatRideTrackBlocks197, + FlatRideTrackBlocks198, + FlatRideTrackBlocks199, + FlatRideTrackBlocks200, + FlatRideTrackBlocks201, + FlatRideTrackBlocks202, + FlatRideTrackBlocks203, + FlatRideTrackBlocks204, + FlatRideTrackBlocks205, + FlatRideTrackBlocks206, + FlatRideTrackBlocks207, + FlatRideTrackBlocks208, + FlatRideTrackBlocks209, + FlatRideTrackBlocks210, + FlatRideTrackBlocks211, + FlatRideTrackBlocks212, + FlatRideTrackBlocks213, + FlatRideTrackBlocks214, + FlatRideTrackBlocks215, + FlatRideTrackBlocks216, + FlatRideTrackBlocks217, + FlatRideTrackBlocks218, + FlatRideTrackBlocks219, + FlatRideTrackBlocks220, + FlatRideTrackBlocks221, + FlatRideTrackBlocks222, + FlatRideTrackBlocks223, + FlatRideTrackBlocks224, + FlatRideTrackBlocks225, + FlatRideTrackBlocks226, + FlatRideTrackBlocks227, + FlatRideTrackBlocks228, + FlatRideTrackBlocks229, + FlatRideTrackBlocks230, + FlatRideTrackBlocks231, + FlatRideTrackBlocks232, + FlatRideTrackBlocks233, + FlatRideTrackBlocks234, + FlatRideTrackBlocks235, + FlatRideTrackBlocks236, + FlatRideTrackBlocks237, + FlatRideTrackBlocks238, + FlatRideTrackBlocks239, + FlatRideTrackBlocks240, + FlatRideTrackBlocks241, + FlatRideTrackBlocks242, + FlatRideTrackBlocks243, + FlatRideTrackBlocks244, + FlatRideTrackBlocks245, + FlatRideTrackBlocks246, + FlatRideTrackBlocks247, + FlatRideTrackBlocks248, + FlatRideTrackBlocks249, + FlatRideTrackBlocks250, + FlatRideTrackBlocks251, + FlatRideTrackBlocks252, + FlatRideTrackBlocks253, + FlatRideTrackBlocks254, + FlatRideTrackBlocks255 }; const uint8 TrackPieceLengths[256] = { - 32, // TRACK_ELEM_FLAT - 32, // TRACK_ELEM_END_STATION - 32, // TRACK_ELEM_BEGIN_STATION - 32, // TRACK_ELEM_MIDDLE_STATION - 33, // TRACK_ELEM_25_DEG_UP - 40, // TRACK_ELEM_60_DEG_UP - 32, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 34, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 34, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 32, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 33, // TRACK_ELEM_25_DEG_DOWN - 40, // TRACK_ELEM_60_DEG_DOWN - 32, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 34, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 34, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 32, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 124, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 124, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 32, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 32, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 32, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 32, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 124, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 124, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 32, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 32, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 32, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 32, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 32, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 32, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 32, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 32, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 32, // TRACK_ELEM_LEFT_BANK - 32, // TRACK_ELEM_RIGHT_BANK - 130, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 130, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 130, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 130, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 96, // TRACK_ELEM_S_BEND_LEFT - 96, // TRACK_ELEM_S_BEND_RIGHT - 120, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 120, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 75, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 75, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 75, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 75, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 77, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 77, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 77, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 77, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 24, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 24, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 96, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - 96, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - 96, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - 96, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - 60, // TRACK_ELEM_HALF_LOOP_UP - 60, // TRACK_ELEM_HALF_LOOP_DOWN - 55, // TRACK_ELEM_LEFT_CORKSCREW_UP - 55, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 55, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 55, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - 36, // TRACK_ELEM_FLAT_TO_60_DEG_UP - 36, // TRACK_ELEM_60_DEG_UP_TO_FLAT - 36, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - 36, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT - 32, // TRACK_ELEM_TOWER_BASE - 32, // TRACK_ELEM_TOWER_SECTION - 32, // TRACK_ELEM_FLAT_COVERED - 33, // TRACK_ELEM_25_DEG_UP_COVERED - 40, // TRACK_ELEM_60_DEG_UP_COVERED - 32, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED - 34, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED - 34, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED - 32, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED - 33, // TRACK_ELEM_25_DEG_DOWN_COVERED - 40, // TRACK_ELEM_60_DEG_DOWN_COVERED - 32, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED - 34, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED - 34, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED - 32, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED - 124, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - 124, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - 96, // TRACK_ELEM_S_BEND_LEFT_COVERED - 96, // TRACK_ELEM_S_BEND_RIGHT_COVERED - 75, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - 75, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - 150, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 150, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 150, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 150, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 248, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 248, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 248, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 248, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 64, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 64, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 64, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 64, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 32, // TRACK_ELEM_BRAKES - 32, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE - 32, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP - 124, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - 124, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - 124, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - 124, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - 124, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP - 124, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - 124, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - 124, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - 33, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 33, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 32, // TRACK_ELEM_WATERFALL - 32, // TRACK_ELEM_RAPIDS - 32, // TRACK_ELEM_ON_RIDE_PHOTO - 33, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 33, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 128, // TRACK_ELEM_WATER_SPLASH - 165, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - 165, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - 32, // TRACK_ELEM_WHIRLPOOL - 165, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - 165, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - 138, // TRACK_ELEM_CABLE_LIFT_HILL - 32, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE - 32, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL - 32, // TRACK_ELEM_90_DEG_UP - 32, // TRACK_ELEM_90_DEG_DOWN - 32, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 32, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 32, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 32, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - 32, // TRACK_ELEM_BRAKE_FOR_DROP - 87, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 87, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 87, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 87, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 87, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 87, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 87, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 87, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 45, // TRACK_ELEM_DIAG_FLAT - 45, // TRACK_ELEM_DIAG_25_DEG_UP - 45, // TRACK_ELEM_DIAG_60_DEG_UP - 45, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 45, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 45, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 45, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 45, // TRACK_ELEM_DIAG_25_DEG_DOWN - 45, // TRACK_ELEM_DIAG_60_DEG_DOWN - 45, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 45, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 45, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 45, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 45, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP - 45, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT - 45, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN - 45, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT - 45, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 45, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 45, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 45, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 45, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 45, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 45, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 45, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 45, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 45, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 45, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 45, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 45, // TRACK_ELEM_DIAG_LEFT_BANK - 45, // TRACK_ELEM_DIAG_RIGHT_BANK - 16, // TRACK_ELEM_LOG_FLUME_REVERSER - 32, // TRACK_ELEM_SPINNING_TUNNEL - 96, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - 96, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - 96, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - 96, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - 64, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 64, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 64, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - 64, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - 32, // TRACK_ELEM_POWERED_LIFT - 100, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - 100, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - 100, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - 100, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN - 96, // - 96, // - 96, // - 96, // - 64, // - 64, // - 64, // - 64, // - 64, // - 64, // - 16, // - 16, // - 64, // - 64, // - 32, // - 32, // - 32, // - 32, // - 32, // - 80, // - 80, // - 80, // - 64, // - 64, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 32, // - 80, // - 80, // - 80, // + 32, // TRACK_ELEM_FLAT + 32, // TRACK_ELEM_END_STATION + 32, // TRACK_ELEM_BEGIN_STATION + 32, // TRACK_ELEM_MIDDLE_STATION + 33, // TRACK_ELEM_25_DEG_UP + 40, // TRACK_ELEM_60_DEG_UP + 32, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 34, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 34, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 32, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 33, // TRACK_ELEM_25_DEG_DOWN + 40, // TRACK_ELEM_60_DEG_DOWN + 32, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 34, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 34, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 32, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 124, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 124, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 32, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 32, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 32, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 32, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 124, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 124, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 32, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 32, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 32, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 32, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 32, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 32, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 32, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 32, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 32, // TRACK_ELEM_LEFT_BANK + 32, // TRACK_ELEM_RIGHT_BANK + 130, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 130, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 130, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 130, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 96, // TRACK_ELEM_S_BEND_LEFT + 96, // TRACK_ELEM_S_BEND_RIGHT + 120, // TRACK_ELEM_LEFT_VERTICAL_LOOP + 120, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + 75, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 75, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 75, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 75, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 77, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 77, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 77, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 77, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 24, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 24, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 96, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP + 96, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP + 96, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN + 96, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN + 60, // TRACK_ELEM_HALF_LOOP_UP + 60, // TRACK_ELEM_HALF_LOOP_DOWN + 55, // TRACK_ELEM_LEFT_CORKSCREW_UP + 55, // TRACK_ELEM_RIGHT_CORKSCREW_UP + 55, // TRACK_ELEM_LEFT_CORKSCREW_DOWN + 55, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 36, // TRACK_ELEM_FLAT_TO_60_DEG_UP + 36, // TRACK_ELEM_60_DEG_UP_TO_FLAT + 36, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN + 36, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT + 32, // TRACK_ELEM_TOWER_BASE + 32, // TRACK_ELEM_TOWER_SECTION + 32, // TRACK_ELEM_FLAT_COVERED + 33, // TRACK_ELEM_25_DEG_UP_COVERED + 40, // TRACK_ELEM_60_DEG_UP_COVERED + 32, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED + 34, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED + 34, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED + 32, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED + 33, // TRACK_ELEM_25_DEG_DOWN_COVERED + 40, // TRACK_ELEM_60_DEG_DOWN_COVERED + 32, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED + 34, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED + 34, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED + 32, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED + 124, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED + 124, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED + 96, // TRACK_ELEM_S_BEND_LEFT_COVERED + 96, // TRACK_ELEM_S_BEND_RIGHT_COVERED + 75, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED + 75, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED + 150, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 150, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 150, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 150, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 248, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 248, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 248, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 248, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 64, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 64, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 64, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 64, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 32, // TRACK_ELEM_BRAKES + 32, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE + 32, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP + 124, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP + 124, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP + 124, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN + 124, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + 124, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP + 124, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP + 124, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN + 124, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN + 33, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + 33, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 32, // TRACK_ELEM_WATERFALL + 32, // TRACK_ELEM_RAPIDS + 32, // TRACK_ELEM_ON_RIDE_PHOTO + 33, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + 33, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 128, // TRACK_ELEM_WATER_SPLASH + 165, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE + 165, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE + 32, // TRACK_ELEM_WHIRLPOOL + 165, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE + 165, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 + 138, // TRACK_ELEM_CABLE_LIFT_HILL + 32, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE + 32, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL + 32, // TRACK_ELEM_90_DEG_UP + 32, // TRACK_ELEM_90_DEG_DOWN + 32, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP + 32, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN + 32, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP + 32, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 32, // TRACK_ELEM_BRAKE_FOR_DROP + 87, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 87, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 87, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 87, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 87, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 87, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 87, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 87, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 45, // TRACK_ELEM_DIAG_FLAT + 45, // TRACK_ELEM_DIAG_25_DEG_UP + 45, // TRACK_ELEM_DIAG_60_DEG_UP + 45, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 45, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 45, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 45, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 45, // TRACK_ELEM_DIAG_25_DEG_DOWN + 45, // TRACK_ELEM_DIAG_60_DEG_DOWN + 45, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 45, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 45, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 45, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 45, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP + 45, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT + 45, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN + 45, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT + 45, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 45, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 45, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 45, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 45, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 45, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 45, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 45, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 45, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 45, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 45, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 45, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 45, // TRACK_ELEM_DIAG_LEFT_BANK + 45, // TRACK_ELEM_DIAG_RIGHT_BANK + 16, // TRACK_ELEM_LOG_FLUME_REVERSER + 32, // TRACK_ELEM_SPINNING_TUNNEL + 96, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN + 96, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN + 96, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP + 96, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP + 64, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 64, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 64, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK + 64, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK + 32, // TRACK_ELEM_POWERED_LIFT + 100, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP + 100, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP + 100, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN + 100, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN + 96, // + 96, // + 96, // + 96, // + 64, // + 64, // + 64, // + 64, // + 64, // + 64, // + 16, // + 16, // + 64, // + 64, // + 32, // + 32, // + 32, // + 32, // + 32, // + 80, // + 80, // + 80, // + 64, // + 64, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 32, // + 80, // + 80, // + 80, // }; // rct2: 0x00998C95 const track_curve_chain gTrackCurveChain[256] = { - { 0, 0 }, - { 257, 257 }, - { 257, 257 }, - { 257, 257 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 1, 1 }, - { 2, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 1 }, - { 2, 2 }, - { 0, 1 }, - { 0, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 0 }, - { 2, 0 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 5, 5 }, - { 6, 6 }, - { 310, 0 }, - { 311, 0 }, - { 0, 308 }, - { 0, 309 }, - { 313, 0 }, - { 0, 312 }, - { 317, 0 }, - { 316, 0 }, - { 0, 315 }, - { 0, 314 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 323, 0 }, - { 323, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 1, 1 }, - { 2, 2 }, - { 0, 0 }, - { 0, 0 }, - { 3, 3 }, - { 4, 4 }, - { 343, 343 }, - { 344, 344 }, - { 345, 345 }, - { 346, 346 }, - { 347, 347 }, - { 348, 348 }, - { 349, 349 }, - { 350, 350 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 355, 355 }, - { 0, 0 }, - { 0, 0 }, - { 358, 358 }, - { 359, 359 }, - { 360, 360 }, - { 361, 361 }, - { 362, 362 }, - { 363, 363 }, - { 364, 364 }, - { 365, 365 }, - { 1, 1 }, - { 2, 2 }, - { 368, 368 }, - { 369, 369 }, - { 0, 0 }, - { 1, 1 }, - { 2, 2 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 381, 0 }, - { 381, 381 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 7, 7 }, - { 8, 8 }, - { 7, 7 }, - { 8, 8 }, - { 7, 7 }, - { 8, 8 }, - { 7, 7 }, - { 8, 8 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 7, 0 }, - { 8, 0 }, - { 0, 7 }, - { 0, 8 }, - { 0, 7 }, - { 0, 8 }, - { 7, 0 }, - { 8, 0 }, - { 0, 7 }, - { 0, 8 }, - { 7, 0 }, - { 8, 0 }, - { 7, 7 }, - { 8, 8 }, - { 0, 0 }, - { 0, 0 }, - { 432, 0 }, - { 433, 0 }, - { 0, 430 }, - { 0, 431 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 438, 438 }, - { 442, 0 }, - { 441, 0 }, - { 0, 440 }, - { 0, 439 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 464, 0 }, - { 0, 463 }, - { 465, 465 }, - { 466, 466 }, - { 0, 0 }, - { 0, 0 }, - { 470, 381 }, - { 470, 470 }, - { 0, 470 }, - { 0, 0 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, + { 0, 0 }, + { 257, 257 }, + { 257, 257 }, + { 257, 257 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 1, 1 }, + { 2, 2 }, + { 1, 0 }, + { 2, 0 }, + { 0, 1 }, + { 0, 2 }, + { 1, 1 }, + { 2, 2 }, + { 0, 1 }, + { 0, 2 }, + { 1, 0 }, + { 2, 0 }, + { 0, 1 }, + { 0, 2 }, + { 1, 0 }, + { 2, 0 }, + { 1, 1 }, + { 2, 2 }, + { 1, 1 }, + { 2, 2 }, + { 1, 1 }, + { 2, 2 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 5, 5 }, + { 6, 6 }, + { 310, 0 }, + { 311, 0 }, + { 0, 308 }, + { 0, 309 }, + { 313, 0 }, + { 0, 312 }, + { 317, 0 }, + { 316, 0 }, + { 0, 315 }, + { 0, 314 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 323, 0 }, + { 323, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 1, 1 }, + { 2, 2 }, + { 0, 0 }, + { 0, 0 }, + { 3, 3 }, + { 4, 4 }, + { 343, 343 }, + { 344, 344 }, + { 345, 345 }, + { 346, 346 }, + { 347, 347 }, + { 348, 348 }, + { 349, 349 }, + { 350, 350 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 355, 355 }, + { 0, 0 }, + { 0, 0 }, + { 358, 358 }, + { 359, 359 }, + { 360, 360 }, + { 361, 361 }, + { 362, 362 }, + { 363, 363 }, + { 364, 364 }, + { 365, 365 }, + { 1, 1 }, + { 2, 2 }, + { 368, 368 }, + { 369, 369 }, + { 0, 0 }, + { 1, 1 }, + { 2, 2 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 381, 0 }, + { 381, 381 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 7, 7 }, + { 8, 8 }, + { 7, 7 }, + { 8, 8 }, + { 7, 7 }, + { 8, 8 }, + { 7, 7 }, + { 8, 8 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 7, 0 }, + { 8, 0 }, + { 0, 7 }, + { 0, 8 }, + { 0, 7 }, + { 0, 8 }, + { 7, 0 }, + { 8, 0 }, + { 0, 7 }, + { 0, 8 }, + { 7, 0 }, + { 8, 0 }, + { 7, 7 }, + { 8, 8 }, + { 0, 0 }, + { 0, 0 }, + { 432, 0 }, + { 433, 0 }, + { 0, 430 }, + { 0, 431 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 438, 438 }, + { 442, 0 }, + { 441, 0 }, + { 0, 440 }, + { 0, 439 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 464, 0 }, + { 0, 463 }, + { 465, 465 }, + { 466, 466 }, + { 0, 0 }, + { 0, 0 }, + { 470, 381 }, + { 470, 470 }, + { 0, 470 }, + { 0, 0 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 1, 1 }, + { 2, 2 }, + { 1, 1 }, + { 2, 2 }, + { 1, 0 }, + { 2, 0 }, + { 0, 1 }, + { 0, 2 }, + { 1, 0 }, + { 2, 0 }, + { 0, 1 }, + { 0, 2 }, + { 1, 1 }, + { 2, 2 }, + { 1, 1 }, + { 2, 2 }, + { 1, 1 }, + { 2, 2 }, + { 1, 1 }, + { 2, 2 }, + { 1, 0 }, + { 2, 0 }, + { 0, 1 }, + { 0, 2 }, + { 1, 0 }, + { 2, 0 }, + { 0, 1 }, + { 0, 2 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, }; // rct2: 0x00999095 const track_curve_chain gFlatRideTrackCurveChain[256] = { - { 0, 0 }, - { 257, 257 }, - { 257, 257 }, - { 257, 257 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 1, 1 }, - { 2, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 1 }, - { 2, 2 }, - { 0, 1 }, - { 0, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 0 }, - { 2, 0 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 5, 5 }, - { 6, 6 }, - { 310, 0 }, - { 311, 0 }, - { 0, 308 }, - { 0, 309 }, - { 313, 0 }, - { 0, 312 }, - { 317, 0 }, - { 316, 0 }, - { 0, 315 }, - { 0, 314 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 323, 0 }, - { 323, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 1, 1 }, - { 2, 2 }, - { 0, 0 }, - { 0, 0 }, - { 3, 3 }, - { 4, 4 }, - { 343, 343 }, - { 344, 344 }, - { 345, 345 }, - { 346, 346 }, - { 347, 347 }, - { 348, 348 }, - { 349, 349 }, - { 350, 350 }, - { 65535, 65535 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 355, 355 }, - { 0, 0 }, - { 0, 0 }, - { 358, 358 }, - { 359, 359 }, - { 360, 360 }, - { 361, 361 }, - { 362, 362 }, - { 363, 363 }, - { 364, 364 }, - { 365, 365 }, - { 65535, 65535 }, - { 65535, 65535 }, - { 368, 368 }, - { 369, 369 }, - { 0, 0 }, - { 65535, 65535 }, - { 65535, 65535 }, - { 0, 0 }, - { 65535, 65535 }, - { 65535, 65535 }, - { 0, 0 }, - { 65535, 65535 }, - { 65535, 65535 }, - { 65535, 65535 }, - { 381, 0 }, - { 381, 381 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 7, 7 }, - { 8, 8 }, - { 7, 7 }, - { 8, 8 }, - { 7, 7 }, - { 8, 8 }, - { 7, 7 }, - { 8, 8 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 7, 0 }, - { 8, 0 }, - { 0, 7 }, - { 0, 8 }, - { 0, 7 }, - { 0, 8 }, - { 7, 0 }, - { 8, 0 }, - { 0, 7 }, - { 0, 8 }, - { 7, 0 }, - { 8, 0 }, - { 7, 7 }, - { 8, 8 }, - { 0, 0 }, - { 0, 0 }, - { 432, 0 }, - { 433, 0 }, - { 0, 430 }, - { 0, 431 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 438, 190 }, - { 442, 0 }, - { 441, 0 }, - { 0, 440 }, - { 0, 439 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 465, 465 }, - { 466, 466 }, - { 0, 0 }, - { 0, 0 }, - { 470, 381 }, - { 470, 470 }, - { 0, 470 }, - { 0, 0 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 1 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 0, 0 }, - { 0, 0 }, - { 0, 57088 }, + { 0, 0 }, + { 257, 257 }, + { 257, 257 }, + { 257, 257 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 1, 1 }, + { 2, 2 }, + { 1, 0 }, + { 2, 0 }, + { 0, 1 }, + { 0, 2 }, + { 1, 1 }, + { 2, 2 }, + { 0, 1 }, + { 0, 2 }, + { 1, 0 }, + { 2, 0 }, + { 0, 1 }, + { 0, 2 }, + { 1, 0 }, + { 2, 0 }, + { 1, 1 }, + { 2, 2 }, + { 1, 1 }, + { 2, 2 }, + { 1, 1 }, + { 2, 2 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 5, 5 }, + { 6, 6 }, + { 310, 0 }, + { 311, 0 }, + { 0, 308 }, + { 0, 309 }, + { 313, 0 }, + { 0, 312 }, + { 317, 0 }, + { 316, 0 }, + { 0, 315 }, + { 0, 314 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 323, 0 }, + { 323, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 1, 1 }, + { 2, 2 }, + { 0, 0 }, + { 0, 0 }, + { 3, 3 }, + { 4, 4 }, + { 343, 343 }, + { 344, 344 }, + { 345, 345 }, + { 346, 346 }, + { 347, 347 }, + { 348, 348 }, + { 349, 349 }, + { 350, 350 }, + { 65535, 65535 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 355, 355 }, + { 0, 0 }, + { 0, 0 }, + { 358, 358 }, + { 359, 359 }, + { 360, 360 }, + { 361, 361 }, + { 362, 362 }, + { 363, 363 }, + { 364, 364 }, + { 365, 365 }, + { 65535, 65535 }, + { 65535, 65535 }, + { 368, 368 }, + { 369, 369 }, + { 0, 0 }, + { 65535, 65535 }, + { 65535, 65535 }, + { 0, 0 }, + { 65535, 65535 }, + { 65535, 65535 }, + { 0, 0 }, + { 65535, 65535 }, + { 65535, 65535 }, + { 65535, 65535 }, + { 381, 0 }, + { 381, 381 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 7, 7 }, + { 8, 8 }, + { 7, 7 }, + { 8, 8 }, + { 7, 7 }, + { 8, 8 }, + { 7, 7 }, + { 8, 8 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 7, 0 }, + { 8, 0 }, + { 0, 7 }, + { 0, 8 }, + { 0, 7 }, + { 0, 8 }, + { 7, 0 }, + { 8, 0 }, + { 0, 7 }, + { 0, 8 }, + { 7, 0 }, + { 8, 0 }, + { 7, 7 }, + { 8, 8 }, + { 0, 0 }, + { 0, 0 }, + { 432, 0 }, + { 433, 0 }, + { 0, 430 }, + { 0, 431 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 438, 190 }, + { 442, 0 }, + { 441, 0 }, + { 0, 440 }, + { 0, 439 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 }, + { 465, 465 }, + { 466, 466 }, + { 0, 0 }, + { 0, 0 }, + { 470, 381 }, + { 470, 470 }, + { 0, 470 }, + { 0, 0 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 1, 1 }, + { 2, 2 }, + { 1, 1 }, + { 2, 2 }, + { 1, 0 }, + { 2, 0 }, + { 0, 1 }, + { 0, 1 }, + { 1, 0 }, + { 2, 0 }, + { 0, 1 }, + { 0, 2 }, + { 1, 1 }, + { 2, 2 }, + { 1, 1 }, + { 2, 2 }, + { 1, 1 }, + { 2, 2 }, + { 1, 1 }, + { 2, 2 }, + { 1, 0 }, + { 2, 0 }, + { 0, 1 }, + { 0, 2 }, + { 1, 0 }, + { 2, 0 }, + { 0, 1 }, + { 0, 2 }, + { 3, 3 }, + { 4, 4 }, + { 3, 3 }, + { 4, 4 }, + { 0, 0 }, + { 0, 0 }, + { 0, 57088 }, }; const TRACK_PAINT_FUNCTION_GETTER RideTypeTrackPaintFunctions[RIDE_TYPE_COUNT] = { - get_track_paint_function_mini_rc, // RIDE_TYPE_SPIRAL_ROLLER_COASTER - get_track_paint_function_stand_up_rc, // RIDE_TYPE_STAND_UP_ROLLER_COASTER - get_track_paint_function_suspended_swinging_rc, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - get_track_paint_function_inverted_rc, // RIDE_TYPE_INVERTED_ROLLER_COASTER - get_track_paint_function_junior_rc, // RIDE_TYPE_JUNIOR_ROLLER_COASTER - get_track_paint_function_miniature_railway, // RIDE_TYPE_MINIATURE_RAILWAY - get_track_paint_function_monorail, // RIDE_TYPE_MONORAIL - get_track_paint_function_mini_suspended_rc, // RIDE_TYPE_MINI_SUSPENDED_COASTER - get_track_paint_function_boat_ride, // RIDE_TYPE_BOAT_RIDE - get_track_paint_function_wooden_wild_mouse, // RIDE_TYPE_WOODEN_WILD_MOUSE - get_track_paint_function_steeplechase, // RIDE_TYPE_STEEPLECHASE - get_track_paint_function_car_ride, // RIDE_TYPE_CAR_RIDE - get_track_paint_function_launched_freefall, // RIDE_TYPE_LAUNCHED_FREEFALL - get_track_paint_function_bobsleigh_rc, // RIDE_TYPE_BOBSLEIGH_COASTER - get_track_paint_function_observation_tower, // RIDE_TYPE_OBSERVATION_TOWER - get_track_paint_function_looping_rc, // RIDE_TYPE_LOOPING_ROLLER_COASTER - get_track_paint_function_dinghy_slide, // RIDE_TYPE_DINGHY_SLIDE - get_track_paint_function_mine_train_rc, // RIDE_TYPE_MINE_TRAIN_COASTER - get_track_paint_function_chairlift, // RIDE_TYPE_CHAIRLIFT - get_track_paint_function_corkscrew_rc, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - get_track_paint_function_maze, // RIDE_TYPE_MAZE - get_track_paint_function_spiral_slide, // RIDE_TYPE_SPIRAL_SLIDE - get_track_paint_function_go_karts, // RIDE_TYPE_GO_KARTS - get_track_paint_function_log_flume, // RIDE_TYPE_LOG_FLUME - get_track_paint_function_river_rapids, // RIDE_TYPE_RIVER_RAPIDS - get_track_paint_function_dodgems, // RIDE_TYPE_DODGEMS - get_track_paint_function_pirate_ship, // RIDE_TYPE_PIRATE_SHIP - get_track_paint_function_swinging_inverter_ship, // RIDE_TYPE_SWINGING_INVERTER_SHIP - get_track_paint_function_shop, // RIDE_TYPE_FOOD_STALL - get_track_paint_function_shop, // RIDE_TYPE_1D - get_track_paint_function_shop, // RIDE_TYPE_DRINK_STALL - get_track_paint_function_shop, // RIDE_TYPE_1F - get_track_paint_function_shop, // RIDE_TYPE_SHOP - get_track_paint_function_merry_go_round,// RIDE_TYPE_MERRY_GO_ROUND - get_track_paint_function_shop, // RIDE_TYPE_22 - get_track_paint_function_shop, // RIDE_TYPE_INFORMATION_KIOSK - get_track_paint_function_facility, // RIDE_TYPE_TOILETS - get_track_paint_function_ferris_wheel, // RIDE_TYPE_FERRIS_WHEEL - get_track_paint_function_motionsimulator, // RIDE_TYPE_MOTION_SIMULATOR - get_track_paint_function_3d_cinema, // RIDE_TYPE_3D_CINEMA - get_track_paint_function_topspin, // RIDE_TYPE_TOP_SPIN - get_track_paint_function_space_rings, // RIDE_TYPE_SPACE_RINGS - get_track_paint_function_reverse_freefall_rc, // RIDE_TYPE_REVERSE_FREEFALL_COASTER - get_track_paint_function_lift, // RIDE_TYPE_LIFT - get_track_paint_function_vertical_drop_rc, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - get_track_paint_function_shop, // RIDE_TYPE_CASH_MACHINE - get_track_paint_function_twist, // RIDE_TYPE_TWIST - get_track_paint_function_haunted_house, // RIDE_TYPE_HAUNTED_HOUSE - get_track_paint_function_facility, // RIDE_TYPE_FIRST_AID - get_track_paint_function_circus_show, // RIDE_TYPE_CIRCUS_SHOW - get_track_paint_function_ghost_train, // RIDE_TYPE_GHOST_TRAIN - get_track_paint_function_twister_rc, // RIDE_TYPE_TWISTER_ROLLER_COASTER - get_track_paint_function_wooden_rc, // RIDE_TYPE_WOODEN_ROLLER_COASTER - get_track_paint_function_side_friction_rc, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - get_track_paint_function_wild_mouse, // RIDE_TYPE_WILD_MOUSE - get_track_paint_function_multi_dimension_rc, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - 0, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT - get_track_paint_function_flying_rc, // RIDE_TYPE_FLYING_ROLLER_COASTER - 0, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT - get_track_paint_function_virginia_reel, // RIDE_TYPE_VIRGINIA_REEL - get_track_paint_function_splash_boats, // RIDE_TYPE_SPLASH_BOATS - get_track_paint_function_mini_helicopters, // RIDE_TYPE_MINI_HELICOPTERS - get_track_paint_function_lay_down_rc, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - get_track_paint_function_suspended_monorail, // RIDE_TYPE_SUSPENDED_MONORAIL - 0, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT - get_track_paint_function_reverser_rc, // RIDE_TYPE_REVERSER_ROLLER_COASTER - get_track_paint_function_heartline_twister_rc, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - get_track_paint_function_mini_golf, // RIDE_TYPE_MINI_GOLF - get_track_paint_function_giga_rc, // RIDE_TYPE_GIGA_COASTER - get_track_paint_function_roto_drop, // RIDE_TYPE_ROTO_DROP - get_track_paint_function_flying_saucers,// RIDE_TYPE_FLYING_SAUCERS - get_track_paint_function_crooked_house, // RIDE_TYPE_CROOKED_HOUSE - get_track_paint_function_monorail_cycles, // RIDE_TYPE_MONORAIL_CYCLES - get_track_paint_function_compact_inverted_rc, // RIDE_TYPE_COMPACT_INVERTED_COASTER - get_track_paint_function_water_rc, // RIDE_TYPE_WATER_COASTER - get_track_paint_function_air_powered_vertical_rc, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - get_track_paint_function_inverted_hairpin_rc, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - get_track_paint_function_magic_carpet, // RIDE_TYPE_MAGIC_CARPET - get_track_paint_function_submarine_ride, // RIDE_TYPE_SUBMARINE_RIDE - get_track_paint_function_splash_boats, // RIDE_TYPE_RIVER_RAFTS - get_track_paint_function_shop, // RIDE_TYPE_50 - get_track_paint_function_enterprise, // RIDE_TYPE_ENTERPRISE - get_track_paint_function_shop, // RIDE_TYPE_52 - get_track_paint_function_shop, // RIDE_TYPE_53 - get_track_paint_function_shop, // RIDE_TYPE_54 - 0, // RIDE_TYPE_55 - get_track_paint_function_inverted_impulse_rc, // RIDE_TYPE_INVERTED_IMPULSE_COASTER - get_track_paint_function_mini_rc, // RIDE_TYPE_MINI_ROLLER_COASTER - get_track_paint_function_mine_ride, // RIDE_TYPE_MINE_RIDE - 0, // RIDE_TYPE_59 - get_track_paint_function_lim_launched_rc, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER + get_track_paint_function_mini_rc, // RIDE_TYPE_SPIRAL_ROLLER_COASTER + get_track_paint_function_stand_up_rc, // RIDE_TYPE_STAND_UP_ROLLER_COASTER + get_track_paint_function_suspended_swinging_rc, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER + get_track_paint_function_inverted_rc, // RIDE_TYPE_INVERTED_ROLLER_COASTER + get_track_paint_function_junior_rc, // RIDE_TYPE_JUNIOR_ROLLER_COASTER + get_track_paint_function_miniature_railway, // RIDE_TYPE_MINIATURE_RAILWAY + get_track_paint_function_monorail, // RIDE_TYPE_MONORAIL + get_track_paint_function_mini_suspended_rc, // RIDE_TYPE_MINI_SUSPENDED_COASTER + get_track_paint_function_boat_ride, // RIDE_TYPE_BOAT_RIDE + get_track_paint_function_wooden_wild_mouse, // RIDE_TYPE_WOODEN_WILD_MOUSE + get_track_paint_function_steeplechase, // RIDE_TYPE_STEEPLECHASE + get_track_paint_function_car_ride, // RIDE_TYPE_CAR_RIDE + get_track_paint_function_launched_freefall, // RIDE_TYPE_LAUNCHED_FREEFALL + get_track_paint_function_bobsleigh_rc, // RIDE_TYPE_BOBSLEIGH_COASTER + get_track_paint_function_observation_tower, // RIDE_TYPE_OBSERVATION_TOWER + get_track_paint_function_looping_rc, // RIDE_TYPE_LOOPING_ROLLER_COASTER + get_track_paint_function_dinghy_slide, // RIDE_TYPE_DINGHY_SLIDE + get_track_paint_function_mine_train_rc, // RIDE_TYPE_MINE_TRAIN_COASTER + get_track_paint_function_chairlift, // RIDE_TYPE_CHAIRLIFT + get_track_paint_function_corkscrew_rc, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER + get_track_paint_function_maze, // RIDE_TYPE_MAZE + get_track_paint_function_spiral_slide, // RIDE_TYPE_SPIRAL_SLIDE + get_track_paint_function_go_karts, // RIDE_TYPE_GO_KARTS + get_track_paint_function_log_flume, // RIDE_TYPE_LOG_FLUME + get_track_paint_function_river_rapids, // RIDE_TYPE_RIVER_RAPIDS + get_track_paint_function_dodgems, // RIDE_TYPE_DODGEMS + get_track_paint_function_pirate_ship, // RIDE_TYPE_PIRATE_SHIP + get_track_paint_function_swinging_inverter_ship, // RIDE_TYPE_SWINGING_INVERTER_SHIP + get_track_paint_function_shop, // RIDE_TYPE_FOOD_STALL + get_track_paint_function_shop, // RIDE_TYPE_1D + get_track_paint_function_shop, // RIDE_TYPE_DRINK_STALL + get_track_paint_function_shop, // RIDE_TYPE_1F + get_track_paint_function_shop, // RIDE_TYPE_SHOP + get_track_paint_function_merry_go_round,// RIDE_TYPE_MERRY_GO_ROUND + get_track_paint_function_shop, // RIDE_TYPE_22 + get_track_paint_function_shop, // RIDE_TYPE_INFORMATION_KIOSK + get_track_paint_function_facility, // RIDE_TYPE_TOILETS + get_track_paint_function_ferris_wheel, // RIDE_TYPE_FERRIS_WHEEL + get_track_paint_function_motionsimulator, // RIDE_TYPE_MOTION_SIMULATOR + get_track_paint_function_3d_cinema, // RIDE_TYPE_3D_CINEMA + get_track_paint_function_topspin, // RIDE_TYPE_TOP_SPIN + get_track_paint_function_space_rings, // RIDE_TYPE_SPACE_RINGS + get_track_paint_function_reverse_freefall_rc, // RIDE_TYPE_REVERSE_FREEFALL_COASTER + get_track_paint_function_lift, // RIDE_TYPE_LIFT + get_track_paint_function_vertical_drop_rc, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER + get_track_paint_function_shop, // RIDE_TYPE_CASH_MACHINE + get_track_paint_function_twist, // RIDE_TYPE_TWIST + get_track_paint_function_haunted_house, // RIDE_TYPE_HAUNTED_HOUSE + get_track_paint_function_facility, // RIDE_TYPE_FIRST_AID + get_track_paint_function_circus_show, // RIDE_TYPE_CIRCUS_SHOW + get_track_paint_function_ghost_train, // RIDE_TYPE_GHOST_TRAIN + get_track_paint_function_twister_rc, // RIDE_TYPE_TWISTER_ROLLER_COASTER + get_track_paint_function_wooden_rc, // RIDE_TYPE_WOODEN_ROLLER_COASTER + get_track_paint_function_side_friction_rc, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER + get_track_paint_function_wild_mouse, // RIDE_TYPE_WILD_MOUSE + get_track_paint_function_multi_dimension_rc, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER + 0, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT + get_track_paint_function_flying_rc, // RIDE_TYPE_FLYING_ROLLER_COASTER + 0, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT + get_track_paint_function_virginia_reel, // RIDE_TYPE_VIRGINIA_REEL + get_track_paint_function_splash_boats, // RIDE_TYPE_SPLASH_BOATS + get_track_paint_function_mini_helicopters, // RIDE_TYPE_MINI_HELICOPTERS + get_track_paint_function_lay_down_rc, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER + get_track_paint_function_suspended_monorail, // RIDE_TYPE_SUSPENDED_MONORAIL + 0, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT + get_track_paint_function_reverser_rc, // RIDE_TYPE_REVERSER_ROLLER_COASTER + get_track_paint_function_heartline_twister_rc, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER + get_track_paint_function_mini_golf, // RIDE_TYPE_MINI_GOLF + get_track_paint_function_giga_rc, // RIDE_TYPE_GIGA_COASTER + get_track_paint_function_roto_drop, // RIDE_TYPE_ROTO_DROP + get_track_paint_function_flying_saucers,// RIDE_TYPE_FLYING_SAUCERS + get_track_paint_function_crooked_house, // RIDE_TYPE_CROOKED_HOUSE + get_track_paint_function_monorail_cycles, // RIDE_TYPE_MONORAIL_CYCLES + get_track_paint_function_compact_inverted_rc, // RIDE_TYPE_COMPACT_INVERTED_COASTER + get_track_paint_function_water_rc, // RIDE_TYPE_WATER_COASTER + get_track_paint_function_air_powered_vertical_rc, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + get_track_paint_function_inverted_hairpin_rc, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER + get_track_paint_function_magic_carpet, // RIDE_TYPE_MAGIC_CARPET + get_track_paint_function_submarine_ride, // RIDE_TYPE_SUBMARINE_RIDE + get_track_paint_function_splash_boats, // RIDE_TYPE_RIVER_RAFTS + get_track_paint_function_shop, // RIDE_TYPE_50 + get_track_paint_function_enterprise, // RIDE_TYPE_ENTERPRISE + get_track_paint_function_shop, // RIDE_TYPE_52 + get_track_paint_function_shop, // RIDE_TYPE_53 + get_track_paint_function_shop, // RIDE_TYPE_54 + 0, // RIDE_TYPE_55 + get_track_paint_function_inverted_impulse_rc, // RIDE_TYPE_INVERTED_IMPULSE_COASTER + get_track_paint_function_mini_rc, // RIDE_TYPE_MINI_ROLLER_COASTER + get_track_paint_function_mine_ride, // RIDE_TYPE_MINE_RIDE + 0, // RIDE_TYPE_59 + get_track_paint_function_lim_launched_rc, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; const track_descriptor gTrackDescriptors[142] = { - { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_DOWN }, - { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN }, - { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT }, - { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN }, - { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_DOWN }, - { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK }, - { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT }, - { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_DIAG_LEFT_BANK }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_DIAG_RIGHT_BANK }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL }, - { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK }, - { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT }, - { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK }, - { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_UP }, - { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP }, - { true, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT }, - { true, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP }, - { true, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_UP }, - { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_ELEM_90_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_DOWN_TO_FLAT }, - { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_DOWN_TO_FLAT }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANK }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANK_TO_FLAT }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_EIGHTH_TO_DIAG }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_FLAT_TO_60_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_FLAT_TO_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_FLAT_TO_LEFT_BANK }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_FLAT }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_VERY_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_VERY_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_FLAT_TO_RIGHT_BANK }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_FLAT_TO_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_FLAT_TO_60_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANK_TO_FLAT }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANK }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_UP_LEFT_BANKED }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_UP_TO_FLAT }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_UP_RIGHT_BANKED }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP }, - { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP }, - { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_UP_TO_FLAT }, - { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP }, - { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_UP }, - { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP }, - { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP }, - { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP }, - { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP }, - { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_ELEM_90_DEG_UP }, - { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP }, + { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_DOWN }, + { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN }, + { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT }, + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN }, + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_DOWN }, + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK }, + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT }, + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_DIAG_LEFT_BANK }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_DIAG_RIGHT_BANK }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL }, + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK }, + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT }, + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK }, + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_UP }, + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP }, + { true, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT }, + { true, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP }, + { true, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_UP }, + { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_ELEM_90_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_DOWN_TO_FLAT }, + { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_DOWN_TO_FLAT }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANK }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANK_TO_FLAT }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_EIGHTH_TO_DIAG }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_FLAT_TO_60_DEG_DOWN }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_FLAT_TO_25_DEG_DOWN }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_FLAT_TO_LEFT_BANK }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_FLAT }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_VERY_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_VERY_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_FLAT_TO_RIGHT_BANK }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_FLAT_TO_25_DEG_UP }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_FLAT_TO_60_DEG_UP }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANK_TO_FLAT }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANK }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_UP_LEFT_BANKED }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_UP_TO_FLAT }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_UP_RIGHT_BANKED }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP }, + { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP }, + { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_UP_TO_FLAT }, + { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP }, + { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_UP }, + { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP }, + { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP }, + { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP }, + { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP }, + { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_ELEM_90_DEG_UP }, + { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP }, }; const rct_vehicle_info_list TrackVehicleInfo_8BE57A = { - 32, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, - { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, - { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, + 32, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, + { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, + { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BE69C = { - 32, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, - { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, + 32, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, + { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BE7BE = { - 32, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, - { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 19, 16, 0, 16, 0, 0 }, - { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, - { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, + 32, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, + { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 19, 16, 0, 16, 0, 0 }, + { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, + { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BE8E0 = { - 32, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, - { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, - { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, - { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, + 32, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, + { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, + { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, + { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C232A = { - 32, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 1, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 2, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 3, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 4, 0, 2, 0 }, { 23, 16, 4, 0, 2, 0 }, { 22, 16, 5, 0, 2, 0 }, - { 21, 16, 5, 0, 2, 0 }, { 20, 16, 6, 0, 2, 0 }, { 19, 16, 6, 0, 2, 0 }, { 18, 16, 7, 0, 2, 0 }, { 17, 16, 7, 0, 2, 0 }, - { 16, 16, 8, 0, 2, 0 }, { 15, 16, 8, 0, 2, 0 }, { 14, 16, 9, 0, 2, 0 }, { 13, 16, 9, 0, 2, 0 }, { 12, 16, 10, 0, 2, 0 }, - { 11, 16, 10, 0, 2, 0 }, { 10, 16, 11, 0, 2, 0 }, { 9, 16, 11, 0, 2, 0 }, { 8, 16, 12, 0, 2, 0 }, { 7, 16, 12, 0, 2, 0 }, - { 6, 16, 13, 0, 2, 0 }, { 5, 16, 13, 0, 2, 0 }, { 4, 16, 14, 0, 2, 0 }, { 3, 16, 14, 0, 2, 0 }, { 2, 16, 15, 0, 2, 0 }, - { 1, 16, 15, 0, 2, 0 }, { 0, 16, 16, 0, 2, 0 }, + 32, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 1, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 2, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 3, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 4, 0, 2, 0 }, { 23, 16, 4, 0, 2, 0 }, { 22, 16, 5, 0, 2, 0 }, + { 21, 16, 5, 0, 2, 0 }, { 20, 16, 6, 0, 2, 0 }, { 19, 16, 6, 0, 2, 0 }, { 18, 16, 7, 0, 2, 0 }, { 17, 16, 7, 0, 2, 0 }, + { 16, 16, 8, 0, 2, 0 }, { 15, 16, 8, 0, 2, 0 }, { 14, 16, 9, 0, 2, 0 }, { 13, 16, 9, 0, 2, 0 }, { 12, 16, 10, 0, 2, 0 }, + { 11, 16, 10, 0, 2, 0 }, { 10, 16, 11, 0, 2, 0 }, { 9, 16, 11, 0, 2, 0 }, { 8, 16, 12, 0, 2, 0 }, { 7, 16, 12, 0, 2, 0 }, + { 6, 16, 13, 0, 2, 0 }, { 5, 16, 13, 0, 2, 0 }, { 4, 16, 14, 0, 2, 0 }, { 3, 16, 14, 0, 2, 0 }, { 2, 16, 15, 0, 2, 0 }, + { 1, 16, 15, 0, 2, 0 }, { 0, 16, 16, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C244C = { - 32, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 2, 0 }, { 16, 9, 4, 8, 2, 0 }, - { 16, 10, 5, 8, 2, 0 }, { 16, 11, 5, 8, 2, 0 }, { 16, 12, 6, 8, 2, 0 }, { 16, 13, 6, 8, 2, 0 }, { 16, 14, 7, 8, 2, 0 }, - { 16, 15, 7, 8, 2, 0 }, { 16, 16, 8, 8, 2, 0 }, { 16, 17, 8, 8, 2, 0 }, { 16, 18, 9, 8, 2, 0 }, { 16, 19, 9, 8, 2, 0 }, - { 16, 20, 10, 8, 2, 0 }, { 16, 21, 10, 8, 2, 0 }, { 16, 22, 11, 8, 2, 0 }, { 16, 23, 11, 8, 2, 0 }, { 16, 24, 12, 8, 2, 0 }, - { 16, 25, 12, 8, 2, 0 }, { 16, 26, 13, 8, 2, 0 }, { 16, 27, 13, 8, 2, 0 }, { 16, 28, 14, 8, 2, 0 }, { 16, 29, 14, 8, 2, 0 }, - { 16, 30, 15, 8, 2, 0 }, { 16, 31, 15, 8, 2, 0 }, + 32, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 2, 0 }, { 16, 9, 4, 8, 2, 0 }, + { 16, 10, 5, 8, 2, 0 }, { 16, 11, 5, 8, 2, 0 }, { 16, 12, 6, 8, 2, 0 }, { 16, 13, 6, 8, 2, 0 }, { 16, 14, 7, 8, 2, 0 }, + { 16, 15, 7, 8, 2, 0 }, { 16, 16, 8, 8, 2, 0 }, { 16, 17, 8, 8, 2, 0 }, { 16, 18, 9, 8, 2, 0 }, { 16, 19, 9, 8, 2, 0 }, + { 16, 20, 10, 8, 2, 0 }, { 16, 21, 10, 8, 2, 0 }, { 16, 22, 11, 8, 2, 0 }, { 16, 23, 11, 8, 2, 0 }, { 16, 24, 12, 8, 2, 0 }, + { 16, 25, 12, 8, 2, 0 }, { 16, 26, 13, 8, 2, 0 }, { 16, 27, 13, 8, 2, 0 }, { 16, 28, 14, 8, 2, 0 }, { 16, 29, 14, 8, 2, 0 }, + { 16, 30, 15, 8, 2, 0 }, { 16, 31, 15, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C256E = { - 32, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 2, 0 }, { 9, 16, 4, 16, 2, 0 }, - { 10, 16, 5, 16, 2, 0 }, { 11, 16, 5, 16, 2, 0 }, { 12, 16, 6, 16, 2, 0 }, { 13, 16, 6, 16, 2, 0 }, { 14, 16, 7, 16, 2, 0 }, - { 15, 16, 7, 16, 2, 0 }, { 16, 16, 8, 16, 2, 0 }, { 17, 16, 8, 16, 2, 0 }, { 18, 16, 9, 16, 2, 0 }, { 19, 16, 9, 16, 2, 0 }, - { 20, 16, 10, 16, 2, 0 }, { 21, 16, 10, 16, 2, 0 }, { 22, 16, 11, 16, 2, 0 }, { 23, 16, 11, 16, 2, 0 }, { 24, 16, 12, 16, 2, 0 }, - { 25, 16, 12, 16, 2, 0 }, { 26, 16, 13, 16, 2, 0 }, { 27, 16, 13, 16, 2, 0 }, { 28, 16, 14, 16, 2, 0 }, { 29, 16, 14, 16, 2, 0 }, - { 30, 16, 15, 16, 2, 0 }, { 31, 16, 15, 16, 2, 0 }, + 32, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 2, 0 }, { 9, 16, 4, 16, 2, 0 }, + { 10, 16, 5, 16, 2, 0 }, { 11, 16, 5, 16, 2, 0 }, { 12, 16, 6, 16, 2, 0 }, { 13, 16, 6, 16, 2, 0 }, { 14, 16, 7, 16, 2, 0 }, + { 15, 16, 7, 16, 2, 0 }, { 16, 16, 8, 16, 2, 0 }, { 17, 16, 8, 16, 2, 0 }, { 18, 16, 9, 16, 2, 0 }, { 19, 16, 9, 16, 2, 0 }, + { 20, 16, 10, 16, 2, 0 }, { 21, 16, 10, 16, 2, 0 }, { 22, 16, 11, 16, 2, 0 }, { 23, 16, 11, 16, 2, 0 }, { 24, 16, 12, 16, 2, 0 }, + { 25, 16, 12, 16, 2, 0 }, { 26, 16, 13, 16, 2, 0 }, { 27, 16, 13, 16, 2, 0 }, { 28, 16, 14, 16, 2, 0 }, { 29, 16, 14, 16, 2, 0 }, + { 30, 16, 15, 16, 2, 0 }, { 31, 16, 15, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C2690 = { - 32, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 1, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 2, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 3, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 4, 24, 2, 0 }, { 16, 23, 4, 24, 2, 0 }, { 16, 22, 5, 24, 2, 0 }, - { 16, 21, 5, 24, 2, 0 }, { 16, 20, 6, 24, 2, 0 }, { 16, 19, 6, 24, 2, 0 }, { 16, 18, 7, 24, 2, 0 }, { 16, 17, 7, 24, 2, 0 }, - { 16, 16, 8, 24, 2, 0 }, { 16, 15, 8, 24, 2, 0 }, { 16, 14, 9, 24, 2, 0 }, { 16, 13, 9, 24, 2, 0 }, { 16, 12, 10, 24, 2, 0 }, - { 16, 11, 10, 24, 2, 0 }, { 16, 10, 11, 24, 2, 0 }, { 16, 9, 11, 24, 2, 0 }, { 16, 8, 12, 24, 2, 0 }, { 16, 7, 12, 24, 2, 0 }, - { 16, 6, 13, 24, 2, 0 }, { 16, 5, 13, 24, 2, 0 }, { 16, 4, 14, 24, 2, 0 }, { 16, 3, 14, 24, 2, 0 }, { 16, 2, 15, 24, 2, 0 }, - { 16, 1, 15, 24, 2, 0 }, { 16, 0, 16, 24, 2, 0 }, + 32, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 1, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 2, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 3, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 4, 24, 2, 0 }, { 16, 23, 4, 24, 2, 0 }, { 16, 22, 5, 24, 2, 0 }, + { 16, 21, 5, 24, 2, 0 }, { 16, 20, 6, 24, 2, 0 }, { 16, 19, 6, 24, 2, 0 }, { 16, 18, 7, 24, 2, 0 }, { 16, 17, 7, 24, 2, 0 }, + { 16, 16, 8, 24, 2, 0 }, { 16, 15, 8, 24, 2, 0 }, { 16, 14, 9, 24, 2, 0 }, { 16, 13, 9, 24, 2, 0 }, { 16, 12, 10, 24, 2, 0 }, + { 16, 11, 10, 24, 2, 0 }, { 16, 10, 11, 24, 2, 0 }, { 16, 9, 11, 24, 2, 0 }, { 16, 8, 12, 24, 2, 0 }, { 16, 7, 12, 24, 2, 0 }, + { 16, 6, 13, 24, 2, 0 }, { 16, 5, 13, 24, 2, 0 }, { 16, 4, 14, 24, 2, 0 }, { 16, 3, 14, 24, 2, 0 }, { 16, 2, 15, 24, 2, 0 }, + { 16, 1, 15, 24, 2, 0 }, { 16, 0, 16, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BF312 = { - 64, { - { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 30, 16, 3, 0, 4, 0 }, { 29, 16, 4, 0, 4, 0 }, - { 29, 16, 5, 0, 4, 0 }, { 28, 16, 6, 0, 4, 0 }, { 28, 16, 7, 0, 4, 0 }, { 27, 16, 8, 0, 4, 0 }, { 27, 16, 9, 0, 4, 0 }, - { 26, 16, 10, 0, 4, 0 }, { 26, 16, 11, 0, 4, 0 }, { 25, 16, 12, 0, 4, 0 }, { 25, 16, 13, 0, 4, 0 }, { 24, 16, 14, 0, 4, 0 }, - { 24, 16, 15, 0, 4, 0 }, { 23, 16, 16, 0, 4, 0 }, { 23, 16, 17, 0, 4, 0 }, { 22, 16, 18, 0, 4, 0 }, { 22, 16, 19, 0, 4, 0 }, - { 21, 16, 20, 0, 4, 0 }, { 21, 16, 21, 0, 4, 0 }, { 20, 16, 22, 0, 4, 0 }, { 20, 16, 23, 0, 4, 0 }, { 19, 16, 24, 0, 4, 0 }, - { 19, 16, 25, 0, 4, 0 }, { 18, 16, 26, 0, 4, 0 }, { 18, 16, 27, 0, 4, 0 }, { 17, 16, 28, 0, 4, 0 }, { 17, 16, 29, 0, 4, 0 }, - { 16, 16, 30, 0, 4, 0 }, { 16, 16, 31, 0, 4, 0 }, { 15, 16, 32, 0, 4, 0 }, { 15, 16, 33, 0, 4, 0 }, { 14, 16, 34, 0, 4, 0 }, - { 14, 16, 35, 0, 4, 0 }, { 13, 16, 36, 0, 4, 0 }, { 13, 16, 37, 0, 4, 0 }, { 12, 16, 38, 0, 4, 0 }, { 12, 16, 39, 0, 4, 0 }, - { 11, 16, 40, 0, 4, 0 }, { 11, 16, 41, 0, 4, 0 }, { 10, 16, 42, 0, 4, 0 }, { 10, 16, 43, 0, 4, 0 }, { 9, 16, 44, 0, 4, 0 }, - { 9, 16, 45, 0, 4, 0 }, { 8, 16, 46, 0, 4, 0 }, { 8, 16, 47, 0, 4, 0 }, { 7, 16, 48, 0, 4, 0 }, { 7, 16, 49, 0, 4, 0 }, - { 6, 16, 50, 0, 4, 0 }, { 6, 16, 51, 0, 4, 0 }, { 5, 16, 52, 0, 4, 0 }, { 5, 16, 53, 0, 4, 0 }, { 4, 16, 54, 0, 4, 0 }, - { 4, 16, 55, 0, 4, 0 }, { 3, 16, 56, 0, 4, 0 }, { 3, 16, 57, 0, 4, 0 }, { 2, 16, 58, 0, 4, 0 }, { 2, 16, 59, 0, 4, 0 }, - { 1, 16, 60, 0, 4, 0 }, { 1, 16, 61, 0, 4, 0 }, { 0, 16, 62, 0, 4, 0 }, { 0, 16, 63, 0, 4, 0 }, + 64, { + { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 30, 16, 3, 0, 4, 0 }, { 29, 16, 4, 0, 4, 0 }, + { 29, 16, 5, 0, 4, 0 }, { 28, 16, 6, 0, 4, 0 }, { 28, 16, 7, 0, 4, 0 }, { 27, 16, 8, 0, 4, 0 }, { 27, 16, 9, 0, 4, 0 }, + { 26, 16, 10, 0, 4, 0 }, { 26, 16, 11, 0, 4, 0 }, { 25, 16, 12, 0, 4, 0 }, { 25, 16, 13, 0, 4, 0 }, { 24, 16, 14, 0, 4, 0 }, + { 24, 16, 15, 0, 4, 0 }, { 23, 16, 16, 0, 4, 0 }, { 23, 16, 17, 0, 4, 0 }, { 22, 16, 18, 0, 4, 0 }, { 22, 16, 19, 0, 4, 0 }, + { 21, 16, 20, 0, 4, 0 }, { 21, 16, 21, 0, 4, 0 }, { 20, 16, 22, 0, 4, 0 }, { 20, 16, 23, 0, 4, 0 }, { 19, 16, 24, 0, 4, 0 }, + { 19, 16, 25, 0, 4, 0 }, { 18, 16, 26, 0, 4, 0 }, { 18, 16, 27, 0, 4, 0 }, { 17, 16, 28, 0, 4, 0 }, { 17, 16, 29, 0, 4, 0 }, + { 16, 16, 30, 0, 4, 0 }, { 16, 16, 31, 0, 4, 0 }, { 15, 16, 32, 0, 4, 0 }, { 15, 16, 33, 0, 4, 0 }, { 14, 16, 34, 0, 4, 0 }, + { 14, 16, 35, 0, 4, 0 }, { 13, 16, 36, 0, 4, 0 }, { 13, 16, 37, 0, 4, 0 }, { 12, 16, 38, 0, 4, 0 }, { 12, 16, 39, 0, 4, 0 }, + { 11, 16, 40, 0, 4, 0 }, { 11, 16, 41, 0, 4, 0 }, { 10, 16, 42, 0, 4, 0 }, { 10, 16, 43, 0, 4, 0 }, { 9, 16, 44, 0, 4, 0 }, + { 9, 16, 45, 0, 4, 0 }, { 8, 16, 46, 0, 4, 0 }, { 8, 16, 47, 0, 4, 0 }, { 7, 16, 48, 0, 4, 0 }, { 7, 16, 49, 0, 4, 0 }, + { 6, 16, 50, 0, 4, 0 }, { 6, 16, 51, 0, 4, 0 }, { 5, 16, 52, 0, 4, 0 }, { 5, 16, 53, 0, 4, 0 }, { 4, 16, 54, 0, 4, 0 }, + { 4, 16, 55, 0, 4, 0 }, { 3, 16, 56, 0, 4, 0 }, { 3, 16, 57, 0, 4, 0 }, { 2, 16, 58, 0, 4, 0 }, { 2, 16, 59, 0, 4, 0 }, + { 1, 16, 60, 0, 4, 0 }, { 1, 16, 61, 0, 4, 0 }, { 0, 16, 62, 0, 4, 0 }, { 0, 16, 63, 0, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BF554 = { - 64, { - { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 1, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, - { 16, 2, 5, 8, 4, 0 }, { 16, 3, 6, 8, 4, 0 }, { 16, 3, 7, 8, 4, 0 }, { 16, 4, 8, 8, 4, 0 }, { 16, 4, 9, 8, 4, 0 }, - { 16, 5, 10, 8, 4, 0 }, { 16, 5, 11, 8, 4, 0 }, { 16, 6, 12, 8, 4, 0 }, { 16, 6, 13, 8, 4, 0 }, { 16, 7, 14, 8, 4, 0 }, - { 16, 7, 15, 8, 4, 0 }, { 16, 8, 16, 8, 4, 0 }, { 16, 8, 17, 8, 4, 0 }, { 16, 9, 18, 8, 4, 0 }, { 16, 9, 19, 8, 4, 0 }, - { 16, 10, 20, 8, 4, 0 }, { 16, 10, 21, 8, 4, 0 }, { 16, 11, 22, 8, 4, 0 }, { 16, 11, 23, 8, 4, 0 }, { 16, 12, 24, 8, 4, 0 }, - { 16, 12, 25, 8, 4, 0 }, { 16, 13, 26, 8, 4, 0 }, { 16, 13, 27, 8, 4, 0 }, { 16, 14, 28, 8, 4, 0 }, { 16, 14, 29, 8, 4, 0 }, - { 16, 15, 30, 8, 4, 0 }, { 16, 15, 31, 8, 4, 0 }, { 16, 16, 32, 8, 4, 0 }, { 16, 16, 33, 8, 4, 0 }, { 16, 17, 34, 8, 4, 0 }, - { 16, 17, 35, 8, 4, 0 }, { 16, 18, 36, 8, 4, 0 }, { 16, 18, 37, 8, 4, 0 }, { 16, 19, 38, 8, 4, 0 }, { 16, 19, 39, 8, 4, 0 }, - { 16, 20, 40, 8, 4, 0 }, { 16, 20, 41, 8, 4, 0 }, { 16, 21, 42, 8, 4, 0 }, { 16, 21, 43, 8, 4, 0 }, { 16, 22, 44, 8, 4, 0 }, - { 16, 22, 45, 8, 4, 0 }, { 16, 23, 46, 8, 4, 0 }, { 16, 23, 47, 8, 4, 0 }, { 16, 24, 48, 8, 4, 0 }, { 16, 24, 49, 8, 4, 0 }, - { 16, 25, 50, 8, 4, 0 }, { 16, 25, 51, 8, 4, 0 }, { 16, 26, 52, 8, 4, 0 }, { 16, 26, 53, 8, 4, 0 }, { 16, 27, 54, 8, 4, 0 }, - { 16, 27, 55, 8, 4, 0 }, { 16, 28, 56, 8, 4, 0 }, { 16, 28, 57, 8, 4, 0 }, { 16, 29, 58, 8, 4, 0 }, { 16, 29, 59, 8, 4, 0 }, - { 16, 30, 60, 8, 4, 0 }, { 16, 30, 61, 8, 4, 0 }, { 16, 31, 62, 8, 4, 0 }, { 16, 31, 63, 8, 4, 0 }, + 64, { + { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 1, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, + { 16, 2, 5, 8, 4, 0 }, { 16, 3, 6, 8, 4, 0 }, { 16, 3, 7, 8, 4, 0 }, { 16, 4, 8, 8, 4, 0 }, { 16, 4, 9, 8, 4, 0 }, + { 16, 5, 10, 8, 4, 0 }, { 16, 5, 11, 8, 4, 0 }, { 16, 6, 12, 8, 4, 0 }, { 16, 6, 13, 8, 4, 0 }, { 16, 7, 14, 8, 4, 0 }, + { 16, 7, 15, 8, 4, 0 }, { 16, 8, 16, 8, 4, 0 }, { 16, 8, 17, 8, 4, 0 }, { 16, 9, 18, 8, 4, 0 }, { 16, 9, 19, 8, 4, 0 }, + { 16, 10, 20, 8, 4, 0 }, { 16, 10, 21, 8, 4, 0 }, { 16, 11, 22, 8, 4, 0 }, { 16, 11, 23, 8, 4, 0 }, { 16, 12, 24, 8, 4, 0 }, + { 16, 12, 25, 8, 4, 0 }, { 16, 13, 26, 8, 4, 0 }, { 16, 13, 27, 8, 4, 0 }, { 16, 14, 28, 8, 4, 0 }, { 16, 14, 29, 8, 4, 0 }, + { 16, 15, 30, 8, 4, 0 }, { 16, 15, 31, 8, 4, 0 }, { 16, 16, 32, 8, 4, 0 }, { 16, 16, 33, 8, 4, 0 }, { 16, 17, 34, 8, 4, 0 }, + { 16, 17, 35, 8, 4, 0 }, { 16, 18, 36, 8, 4, 0 }, { 16, 18, 37, 8, 4, 0 }, { 16, 19, 38, 8, 4, 0 }, { 16, 19, 39, 8, 4, 0 }, + { 16, 20, 40, 8, 4, 0 }, { 16, 20, 41, 8, 4, 0 }, { 16, 21, 42, 8, 4, 0 }, { 16, 21, 43, 8, 4, 0 }, { 16, 22, 44, 8, 4, 0 }, + { 16, 22, 45, 8, 4, 0 }, { 16, 23, 46, 8, 4, 0 }, { 16, 23, 47, 8, 4, 0 }, { 16, 24, 48, 8, 4, 0 }, { 16, 24, 49, 8, 4, 0 }, + { 16, 25, 50, 8, 4, 0 }, { 16, 25, 51, 8, 4, 0 }, { 16, 26, 52, 8, 4, 0 }, { 16, 26, 53, 8, 4, 0 }, { 16, 27, 54, 8, 4, 0 }, + { 16, 27, 55, 8, 4, 0 }, { 16, 28, 56, 8, 4, 0 }, { 16, 28, 57, 8, 4, 0 }, { 16, 29, 58, 8, 4, 0 }, { 16, 29, 59, 8, 4, 0 }, + { 16, 30, 60, 8, 4, 0 }, { 16, 30, 61, 8, 4, 0 }, { 16, 31, 62, 8, 4, 0 }, { 16, 31, 63, 8, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BF796 = { - 64, { - { 0, 16, 0, 16, 4, 0 }, { 0, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 1, 16, 3, 16, 4, 0 }, { 2, 16, 4, 16, 4, 0 }, - { 2, 16, 5, 16, 4, 0 }, { 3, 16, 6, 16, 4, 0 }, { 3, 16, 7, 16, 4, 0 }, { 4, 16, 8, 16, 4, 0 }, { 4, 16, 9, 16, 4, 0 }, - { 5, 16, 10, 16, 4, 0 }, { 5, 16, 11, 16, 4, 0 }, { 6, 16, 12, 16, 4, 0 }, { 6, 16, 13, 16, 4, 0 }, { 7, 16, 14, 16, 4, 0 }, - { 7, 16, 15, 16, 4, 0 }, { 8, 16, 16, 16, 4, 0 }, { 8, 16, 17, 16, 4, 0 }, { 9, 16, 18, 16, 4, 0 }, { 9, 16, 19, 16, 4, 0 }, - { 10, 16, 20, 16, 4, 0 }, { 10, 16, 21, 16, 4, 0 }, { 11, 16, 22, 16, 4, 0 }, { 11, 16, 23, 16, 4, 0 }, { 12, 16, 24, 16, 4, 0 }, - { 12, 16, 25, 16, 4, 0 }, { 13, 16, 26, 16, 4, 0 }, { 13, 16, 27, 16, 4, 0 }, { 14, 16, 28, 16, 4, 0 }, { 14, 16, 29, 16, 4, 0 }, - { 15, 16, 30, 16, 4, 0 }, { 15, 16, 31, 16, 4, 0 }, { 16, 16, 32, 16, 4, 0 }, { 16, 16, 33, 16, 4, 0 }, { 17, 16, 34, 16, 4, 0 }, - { 17, 16, 35, 16, 4, 0 }, { 18, 16, 36, 16, 4, 0 }, { 18, 16, 37, 16, 4, 0 }, { 19, 16, 38, 16, 4, 0 }, { 19, 16, 39, 16, 4, 0 }, - { 20, 16, 40, 16, 4, 0 }, { 20, 16, 41, 16, 4, 0 }, { 21, 16, 42, 16, 4, 0 }, { 21, 16, 43, 16, 4, 0 }, { 22, 16, 44, 16, 4, 0 }, - { 22, 16, 45, 16, 4, 0 }, { 23, 16, 46, 16, 4, 0 }, { 23, 16, 47, 16, 4, 0 }, { 24, 16, 48, 16, 4, 0 }, { 24, 16, 49, 16, 4, 0 }, - { 25, 16, 50, 16, 4, 0 }, { 25, 16, 51, 16, 4, 0 }, { 26, 16, 52, 16, 4, 0 }, { 26, 16, 53, 16, 4, 0 }, { 27, 16, 54, 16, 4, 0 }, - { 27, 16, 55, 16, 4, 0 }, { 28, 16, 56, 16, 4, 0 }, { 28, 16, 57, 16, 4, 0 }, { 29, 16, 58, 16, 4, 0 }, { 29, 16, 59, 16, 4, 0 }, - { 30, 16, 60, 16, 4, 0 }, { 30, 16, 61, 16, 4, 0 }, { 31, 16, 62, 16, 4, 0 }, { 31, 16, 63, 16, 4, 0 }, + 64, { + { 0, 16, 0, 16, 4, 0 }, { 0, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 1, 16, 3, 16, 4, 0 }, { 2, 16, 4, 16, 4, 0 }, + { 2, 16, 5, 16, 4, 0 }, { 3, 16, 6, 16, 4, 0 }, { 3, 16, 7, 16, 4, 0 }, { 4, 16, 8, 16, 4, 0 }, { 4, 16, 9, 16, 4, 0 }, + { 5, 16, 10, 16, 4, 0 }, { 5, 16, 11, 16, 4, 0 }, { 6, 16, 12, 16, 4, 0 }, { 6, 16, 13, 16, 4, 0 }, { 7, 16, 14, 16, 4, 0 }, + { 7, 16, 15, 16, 4, 0 }, { 8, 16, 16, 16, 4, 0 }, { 8, 16, 17, 16, 4, 0 }, { 9, 16, 18, 16, 4, 0 }, { 9, 16, 19, 16, 4, 0 }, + { 10, 16, 20, 16, 4, 0 }, { 10, 16, 21, 16, 4, 0 }, { 11, 16, 22, 16, 4, 0 }, { 11, 16, 23, 16, 4, 0 }, { 12, 16, 24, 16, 4, 0 }, + { 12, 16, 25, 16, 4, 0 }, { 13, 16, 26, 16, 4, 0 }, { 13, 16, 27, 16, 4, 0 }, { 14, 16, 28, 16, 4, 0 }, { 14, 16, 29, 16, 4, 0 }, + { 15, 16, 30, 16, 4, 0 }, { 15, 16, 31, 16, 4, 0 }, { 16, 16, 32, 16, 4, 0 }, { 16, 16, 33, 16, 4, 0 }, { 17, 16, 34, 16, 4, 0 }, + { 17, 16, 35, 16, 4, 0 }, { 18, 16, 36, 16, 4, 0 }, { 18, 16, 37, 16, 4, 0 }, { 19, 16, 38, 16, 4, 0 }, { 19, 16, 39, 16, 4, 0 }, + { 20, 16, 40, 16, 4, 0 }, { 20, 16, 41, 16, 4, 0 }, { 21, 16, 42, 16, 4, 0 }, { 21, 16, 43, 16, 4, 0 }, { 22, 16, 44, 16, 4, 0 }, + { 22, 16, 45, 16, 4, 0 }, { 23, 16, 46, 16, 4, 0 }, { 23, 16, 47, 16, 4, 0 }, { 24, 16, 48, 16, 4, 0 }, { 24, 16, 49, 16, 4, 0 }, + { 25, 16, 50, 16, 4, 0 }, { 25, 16, 51, 16, 4, 0 }, { 26, 16, 52, 16, 4, 0 }, { 26, 16, 53, 16, 4, 0 }, { 27, 16, 54, 16, 4, 0 }, + { 27, 16, 55, 16, 4, 0 }, { 28, 16, 56, 16, 4, 0 }, { 28, 16, 57, 16, 4, 0 }, { 29, 16, 58, 16, 4, 0 }, { 29, 16, 59, 16, 4, 0 }, + { 30, 16, 60, 16, 4, 0 }, { 30, 16, 61, 16, 4, 0 }, { 31, 16, 62, 16, 4, 0 }, { 31, 16, 63, 16, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BF9D8 = { - 64, { - { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 30, 3, 24, 4, 0 }, { 16, 29, 4, 24, 4, 0 }, - { 16, 29, 5, 24, 4, 0 }, { 16, 28, 6, 24, 4, 0 }, { 16, 28, 7, 24, 4, 0 }, { 16, 27, 8, 24, 4, 0 }, { 16, 27, 9, 24, 4, 0 }, - { 16, 26, 10, 24, 4, 0 }, { 16, 26, 11, 24, 4, 0 }, { 16, 25, 12, 24, 4, 0 }, { 16, 25, 13, 24, 4, 0 }, { 16, 24, 14, 24, 4, 0 }, - { 16, 24, 15, 24, 4, 0 }, { 16, 23, 16, 24, 4, 0 }, { 16, 23, 17, 24, 4, 0 }, { 16, 22, 18, 24, 4, 0 }, { 16, 22, 19, 24, 4, 0 }, - { 16, 21, 20, 24, 4, 0 }, { 16, 21, 21, 24, 4, 0 }, { 16, 20, 22, 24, 4, 0 }, { 16, 20, 23, 24, 4, 0 }, { 16, 19, 24, 24, 4, 0 }, - { 16, 19, 25, 24, 4, 0 }, { 16, 18, 26, 24, 4, 0 }, { 16, 18, 27, 24, 4, 0 }, { 16, 17, 28, 24, 4, 0 }, { 16, 17, 29, 24, 4, 0 }, - { 16, 16, 30, 24, 4, 0 }, { 16, 16, 31, 24, 4, 0 }, { 16, 15, 32, 24, 4, 0 }, { 16, 15, 33, 24, 4, 0 }, { 16, 14, 34, 24, 4, 0 }, - { 16, 14, 35, 24, 4, 0 }, { 16, 13, 36, 24, 4, 0 }, { 16, 13, 37, 24, 4, 0 }, { 16, 12, 38, 24, 4, 0 }, { 16, 12, 39, 24, 4, 0 }, - { 16, 11, 40, 24, 4, 0 }, { 16, 11, 41, 24, 4, 0 }, { 16, 10, 42, 24, 4, 0 }, { 16, 10, 43, 24, 4, 0 }, { 16, 9, 44, 24, 4, 0 }, - { 16, 9, 45, 24, 4, 0 }, { 16, 8, 46, 24, 4, 0 }, { 16, 8, 47, 24, 4, 0 }, { 16, 7, 48, 24, 4, 0 }, { 16, 7, 49, 24, 4, 0 }, - { 16, 6, 50, 24, 4, 0 }, { 16, 6, 51, 24, 4, 0 }, { 16, 5, 52, 24, 4, 0 }, { 16, 5, 53, 24, 4, 0 }, { 16, 4, 54, 24, 4, 0 }, - { 16, 4, 55, 24, 4, 0 }, { 16, 3, 56, 24, 4, 0 }, { 16, 3, 57, 24, 4, 0 }, { 16, 2, 58, 24, 4, 0 }, { 16, 2, 59, 24, 4, 0 }, - { 16, 1, 60, 24, 4, 0 }, { 16, 1, 61, 24, 4, 0 }, { 16, 0, 62, 24, 4, 0 }, { 16, 0, 63, 24, 4, 0 }, + 64, { + { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 30, 3, 24, 4, 0 }, { 16, 29, 4, 24, 4, 0 }, + { 16, 29, 5, 24, 4, 0 }, { 16, 28, 6, 24, 4, 0 }, { 16, 28, 7, 24, 4, 0 }, { 16, 27, 8, 24, 4, 0 }, { 16, 27, 9, 24, 4, 0 }, + { 16, 26, 10, 24, 4, 0 }, { 16, 26, 11, 24, 4, 0 }, { 16, 25, 12, 24, 4, 0 }, { 16, 25, 13, 24, 4, 0 }, { 16, 24, 14, 24, 4, 0 }, + { 16, 24, 15, 24, 4, 0 }, { 16, 23, 16, 24, 4, 0 }, { 16, 23, 17, 24, 4, 0 }, { 16, 22, 18, 24, 4, 0 }, { 16, 22, 19, 24, 4, 0 }, + { 16, 21, 20, 24, 4, 0 }, { 16, 21, 21, 24, 4, 0 }, { 16, 20, 22, 24, 4, 0 }, { 16, 20, 23, 24, 4, 0 }, { 16, 19, 24, 24, 4, 0 }, + { 16, 19, 25, 24, 4, 0 }, { 16, 18, 26, 24, 4, 0 }, { 16, 18, 27, 24, 4, 0 }, { 16, 17, 28, 24, 4, 0 }, { 16, 17, 29, 24, 4, 0 }, + { 16, 16, 30, 24, 4, 0 }, { 16, 16, 31, 24, 4, 0 }, { 16, 15, 32, 24, 4, 0 }, { 16, 15, 33, 24, 4, 0 }, { 16, 14, 34, 24, 4, 0 }, + { 16, 14, 35, 24, 4, 0 }, { 16, 13, 36, 24, 4, 0 }, { 16, 13, 37, 24, 4, 0 }, { 16, 12, 38, 24, 4, 0 }, { 16, 12, 39, 24, 4, 0 }, + { 16, 11, 40, 24, 4, 0 }, { 16, 11, 41, 24, 4, 0 }, { 16, 10, 42, 24, 4, 0 }, { 16, 10, 43, 24, 4, 0 }, { 16, 9, 44, 24, 4, 0 }, + { 16, 9, 45, 24, 4, 0 }, { 16, 8, 46, 24, 4, 0 }, { 16, 8, 47, 24, 4, 0 }, { 16, 7, 48, 24, 4, 0 }, { 16, 7, 49, 24, 4, 0 }, + { 16, 6, 50, 24, 4, 0 }, { 16, 6, 51, 24, 4, 0 }, { 16, 5, 52, 24, 4, 0 }, { 16, 5, 53, 24, 4, 0 }, { 16, 4, 54, 24, 4, 0 }, + { 16, 4, 55, 24, 4, 0 }, { 16, 3, 56, 24, 4, 0 }, { 16, 3, 57, 24, 4, 0 }, { 16, 2, 58, 24, 4, 0 }, { 16, 2, 59, 24, 4, 0 }, + { 16, 1, 60, 24, 4, 0 }, { 16, 1, 61, 24, 4, 0 }, { 16, 0, 62, 24, 4, 0 }, { 16, 0, 63, 24, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BFC1A = { - 32, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 1, 0 }, { 22, 16, 0, 0, 1, 0 }, - { 21, 16, 1, 0, 1, 0 }, { 20, 16, 1, 0, 1, 0 }, { 19, 16, 1, 0, 1, 0 }, { 18, 16, 1, 0, 1, 0 }, { 17, 16, 1, 0, 1, 0 }, - { 16, 16, 1, 0, 1, 0 }, { 15, 16, 2, 0, 1, 0 }, { 14, 16, 2, 0, 1, 0 }, { 13, 16, 2, 0, 1, 0 }, { 12, 16, 2, 0, 1, 0 }, - { 11, 16, 3, 0, 1, 0 }, { 10, 16, 3, 0, 1, 0 }, { 9, 16, 3, 0, 1, 0 }, { 8, 16, 4, 0, 1, 0 }, { 7, 16, 4, 0, 2, 0 }, - { 6, 16, 5, 0, 2, 0 }, { 5, 16, 5, 0, 2, 0 }, { 4, 16, 6, 0, 2, 0 }, { 3, 16, 6, 0, 2, 0 }, { 2, 16, 7, 0, 2, 0 }, - { 1, 16, 7, 0, 2, 0 }, { 0, 16, 8, 0, 2, 0 }, + 32, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 1, 0 }, { 22, 16, 0, 0, 1, 0 }, + { 21, 16, 1, 0, 1, 0 }, { 20, 16, 1, 0, 1, 0 }, { 19, 16, 1, 0, 1, 0 }, { 18, 16, 1, 0, 1, 0 }, { 17, 16, 1, 0, 1, 0 }, + { 16, 16, 1, 0, 1, 0 }, { 15, 16, 2, 0, 1, 0 }, { 14, 16, 2, 0, 1, 0 }, { 13, 16, 2, 0, 1, 0 }, { 12, 16, 2, 0, 1, 0 }, + { 11, 16, 3, 0, 1, 0 }, { 10, 16, 3, 0, 1, 0 }, { 9, 16, 3, 0, 1, 0 }, { 8, 16, 4, 0, 1, 0 }, { 7, 16, 4, 0, 2, 0 }, + { 6, 16, 5, 0, 2, 0 }, { 5, 16, 5, 0, 2, 0 }, { 4, 16, 6, 0, 2, 0 }, { 3, 16, 6, 0, 2, 0 }, { 2, 16, 7, 0, 2, 0 }, + { 1, 16, 7, 0, 2, 0 }, { 0, 16, 8, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BFD3C = { - 32, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 1, 0 }, { 16, 9, 0, 8, 1, 0 }, - { 16, 10, 1, 8, 1, 0 }, { 16, 11, 1, 8, 1, 0 }, { 16, 12, 1, 8, 1, 0 }, { 16, 13, 1, 8, 1, 0 }, { 16, 14, 1, 8, 1, 0 }, - { 16, 15, 1, 8, 1, 0 }, { 16, 16, 2, 8, 1, 0 }, { 16, 17, 2, 8, 1, 0 }, { 16, 18, 2, 8, 1, 0 }, { 16, 19, 2, 8, 1, 0 }, - { 16, 20, 3, 8, 1, 0 }, { 16, 21, 3, 8, 1, 0 }, { 16, 22, 3, 8, 1, 0 }, { 16, 23, 4, 8, 1, 0 }, { 16, 24, 4, 8, 2, 0 }, - { 16, 25, 4, 8, 2, 0 }, { 16, 26, 5, 8, 2, 0 }, { 16, 27, 5, 8, 2, 0 }, { 16, 28, 6, 8, 2, 0 }, { 16, 29, 6, 8, 2, 0 }, - { 16, 30, 7, 8, 2, 0 }, { 16, 31, 7, 8, 2, 0 }, + 32, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 1, 0 }, { 16, 9, 0, 8, 1, 0 }, + { 16, 10, 1, 8, 1, 0 }, { 16, 11, 1, 8, 1, 0 }, { 16, 12, 1, 8, 1, 0 }, { 16, 13, 1, 8, 1, 0 }, { 16, 14, 1, 8, 1, 0 }, + { 16, 15, 1, 8, 1, 0 }, { 16, 16, 2, 8, 1, 0 }, { 16, 17, 2, 8, 1, 0 }, { 16, 18, 2, 8, 1, 0 }, { 16, 19, 2, 8, 1, 0 }, + { 16, 20, 3, 8, 1, 0 }, { 16, 21, 3, 8, 1, 0 }, { 16, 22, 3, 8, 1, 0 }, { 16, 23, 4, 8, 1, 0 }, { 16, 24, 4, 8, 2, 0 }, + { 16, 25, 4, 8, 2, 0 }, { 16, 26, 5, 8, 2, 0 }, { 16, 27, 5, 8, 2, 0 }, { 16, 28, 6, 8, 2, 0 }, { 16, 29, 6, 8, 2, 0 }, + { 16, 30, 7, 8, 2, 0 }, { 16, 31, 7, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BFE5E = { - 32, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 1, 0 }, { 9, 16, 0, 16, 1, 0 }, - { 10, 16, 1, 16, 1, 0 }, { 11, 16, 1, 16, 1, 0 }, { 12, 16, 1, 16, 1, 0 }, { 13, 16, 1, 16, 1, 0 }, { 14, 16, 1, 16, 1, 0 }, - { 15, 16, 1, 16, 1, 0 }, { 16, 16, 2, 16, 1, 0 }, { 17, 16, 2, 16, 1, 0 }, { 18, 16, 2, 16, 1, 0 }, { 19, 16, 2, 16, 1, 0 }, - { 20, 16, 3, 16, 1, 0 }, { 21, 16, 3, 16, 1, 0 }, { 22, 16, 3, 16, 1, 0 }, { 23, 16, 4, 16, 1, 0 }, { 24, 16, 4, 16, 2, 0 }, - { 25, 16, 4, 16, 2, 0 }, { 26, 16, 5, 16, 2, 0 }, { 27, 16, 5, 16, 2, 0 }, { 28, 16, 6, 16, 2, 0 }, { 29, 16, 6, 16, 2, 0 }, - { 30, 16, 7, 16, 2, 0 }, { 31, 16, 7, 16, 2, 0 }, + 32, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 1, 0 }, { 9, 16, 0, 16, 1, 0 }, + { 10, 16, 1, 16, 1, 0 }, { 11, 16, 1, 16, 1, 0 }, { 12, 16, 1, 16, 1, 0 }, { 13, 16, 1, 16, 1, 0 }, { 14, 16, 1, 16, 1, 0 }, + { 15, 16, 1, 16, 1, 0 }, { 16, 16, 2, 16, 1, 0 }, { 17, 16, 2, 16, 1, 0 }, { 18, 16, 2, 16, 1, 0 }, { 19, 16, 2, 16, 1, 0 }, + { 20, 16, 3, 16, 1, 0 }, { 21, 16, 3, 16, 1, 0 }, { 22, 16, 3, 16, 1, 0 }, { 23, 16, 4, 16, 1, 0 }, { 24, 16, 4, 16, 2, 0 }, + { 25, 16, 4, 16, 2, 0 }, { 26, 16, 5, 16, 2, 0 }, { 27, 16, 5, 16, 2, 0 }, { 28, 16, 6, 16, 2, 0 }, { 29, 16, 6, 16, 2, 0 }, + { 30, 16, 7, 16, 2, 0 }, { 31, 16, 7, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BFF80 = { - 32, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 1, 0 }, { 16, 22, 0, 24, 1, 0 }, - { 16, 21, 1, 24, 1, 0 }, { 16, 20, 1, 24, 1, 0 }, { 16, 19, 1, 24, 1, 0 }, { 16, 18, 1, 24, 1, 0 }, { 16, 17, 1, 24, 1, 0 }, - { 16, 16, 1, 24, 1, 0 }, { 16, 15, 2, 24, 1, 0 }, { 16, 14, 2, 24, 1, 0 }, { 16, 13, 2, 24, 1, 0 }, { 16, 12, 2, 24, 1, 0 }, - { 16, 11, 3, 24, 1, 0 }, { 16, 10, 3, 24, 1, 0 }, { 16, 9, 3, 24, 1, 0 }, { 16, 8, 4, 24, 1, 0 }, { 16, 7, 4, 24, 2, 0 }, - { 16, 6, 5, 24, 2, 0 }, { 16, 5, 5, 24, 2, 0 }, { 16, 4, 6, 24, 2, 0 }, { 16, 3, 6, 24, 2, 0 }, { 16, 2, 7, 24, 2, 0 }, - { 16, 1, 7, 24, 2, 0 }, { 16, 0, 8, 24, 2, 0 }, + 32, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 1, 0 }, { 16, 22, 0, 24, 1, 0 }, + { 16, 21, 1, 24, 1, 0 }, { 16, 20, 1, 24, 1, 0 }, { 16, 19, 1, 24, 1, 0 }, { 16, 18, 1, 24, 1, 0 }, { 16, 17, 1, 24, 1, 0 }, + { 16, 16, 1, 24, 1, 0 }, { 16, 15, 2, 24, 1, 0 }, { 16, 14, 2, 24, 1, 0 }, { 16, 13, 2, 24, 1, 0 }, { 16, 12, 2, 24, 1, 0 }, + { 16, 11, 3, 24, 1, 0 }, { 16, 10, 3, 24, 1, 0 }, { 16, 9, 3, 24, 1, 0 }, { 16, 8, 4, 24, 1, 0 }, { 16, 7, 4, 24, 2, 0 }, + { 16, 6, 5, 24, 2, 0 }, { 16, 5, 5, 24, 2, 0 }, { 16, 4, 6, 24, 2, 0 }, { 16, 3, 6, 24, 2, 0 }, { 16, 2, 7, 24, 2, 0 }, + { 16, 1, 7, 24, 2, 0 }, { 16, 0, 8, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C0E3A = { - 37, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 3, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 4, 0, 2, 0 }, { 23, 16, 5, 0, 2, 0 }, { 22, 16, 5, 0, 2, 0 }, - { 21, 16, 6, 0, 3, 0 }, { 20, 16, 7, 0, 3, 0 }, { 19, 16, 8, 0, 3, 0 }, { 18, 16, 8, 0, 3, 0 }, { 17, 16, 9, 0, 3, 0 }, - { 16, 16, 10, 0, 3, 0 }, { 15, 16, 11, 0, 3, 0 }, { 14, 16, 12, 0, 3, 0 }, { 13, 16, 13, 0, 3, 0 }, { 12, 16, 14, 0, 3, 0 }, - { 11, 16, 15, 0, 3, 0 }, { 10, 16, 16, 0, 3, 0 }, { 9, 16, 17, 0, 3, 0 }, { 8, 16, 18, 0, 3, 0 }, { 8, 16, 19, 0, 3, 0 }, - { 7, 16, 20, 0, 3, 0 }, { 6, 16, 21, 0, 3, 0 }, { 5, 16, 22, 0, 4, 0 }, { 5, 16, 23, 0, 4, 0 }, { 4, 16, 24, 0, 4, 0 }, - { 3, 16, 25, 0, 4, 0 }, { 3, 16, 26, 0, 4, 0 }, { 2, 16, 27, 0, 4, 0 }, { 1, 16, 28, 0, 4, 0 }, { 1, 16, 29, 0, 4, 0 }, - { 0, 16, 30, 0, 4, 0 }, { 0, 16, 31, 0, 4, 0 }, + 37, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 3, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 4, 0, 2, 0 }, { 23, 16, 5, 0, 2, 0 }, { 22, 16, 5, 0, 2, 0 }, + { 21, 16, 6, 0, 3, 0 }, { 20, 16, 7, 0, 3, 0 }, { 19, 16, 8, 0, 3, 0 }, { 18, 16, 8, 0, 3, 0 }, { 17, 16, 9, 0, 3, 0 }, + { 16, 16, 10, 0, 3, 0 }, { 15, 16, 11, 0, 3, 0 }, { 14, 16, 12, 0, 3, 0 }, { 13, 16, 13, 0, 3, 0 }, { 12, 16, 14, 0, 3, 0 }, + { 11, 16, 15, 0, 3, 0 }, { 10, 16, 16, 0, 3, 0 }, { 9, 16, 17, 0, 3, 0 }, { 8, 16, 18, 0, 3, 0 }, { 8, 16, 19, 0, 3, 0 }, + { 7, 16, 20, 0, 3, 0 }, { 6, 16, 21, 0, 3, 0 }, { 5, 16, 22, 0, 4, 0 }, { 5, 16, 23, 0, 4, 0 }, { 4, 16, 24, 0, 4, 0 }, + { 3, 16, 25, 0, 4, 0 }, { 3, 16, 26, 0, 4, 0 }, { 2, 16, 27, 0, 4, 0 }, { 1, 16, 28, 0, 4, 0 }, { 1, 16, 29, 0, 4, 0 }, + { 0, 16, 30, 0, 4, 0 }, { 0, 16, 31, 0, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C0F89 = { - 37, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, - { 16, 5, 3, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 4, 8, 2, 0 }, { 16, 8, 5, 8, 2, 0 }, { 16, 9, 5, 8, 2, 0 }, - { 16, 10, 6, 8, 3, 0 }, { 16, 11, 7, 8, 3, 0 }, { 16, 12, 8, 8, 3, 0 }, { 16, 13, 8, 8, 3, 0 }, { 16, 14, 9, 8, 3, 0 }, - { 16, 15, 10, 8, 3, 0 }, { 16, 16, 11, 8, 3, 0 }, { 16, 17, 12, 8, 3, 0 }, { 16, 18, 13, 8, 3, 0 }, { 16, 19, 14, 8, 3, 0 }, - { 16, 20, 15, 8, 3, 0 }, { 16, 21, 16, 8, 3, 0 }, { 16, 22, 17, 8, 3, 0 }, { 16, 23, 18, 8, 3, 0 }, { 16, 23, 19, 8, 3, 0 }, - { 16, 24, 20, 8, 3, 0 }, { 16, 25, 21, 8, 3, 0 }, { 16, 26, 22, 8, 4, 0 }, { 16, 26, 23, 8, 4, 0 }, { 16, 27, 24, 8, 4, 0 }, - { 16, 28, 25, 8, 4, 0 }, { 16, 28, 26, 8, 4, 0 }, { 16, 29, 27, 8, 4, 0 }, { 16, 30, 28, 8, 4, 0 }, { 16, 30, 29, 8, 4, 0 }, - { 16, 31, 30, 8, 4, 0 }, { 16, 31, 31, 8, 4, 0 }, + 37, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, + { 16, 5, 3, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 4, 8, 2, 0 }, { 16, 8, 5, 8, 2, 0 }, { 16, 9, 5, 8, 2, 0 }, + { 16, 10, 6, 8, 3, 0 }, { 16, 11, 7, 8, 3, 0 }, { 16, 12, 8, 8, 3, 0 }, { 16, 13, 8, 8, 3, 0 }, { 16, 14, 9, 8, 3, 0 }, + { 16, 15, 10, 8, 3, 0 }, { 16, 16, 11, 8, 3, 0 }, { 16, 17, 12, 8, 3, 0 }, { 16, 18, 13, 8, 3, 0 }, { 16, 19, 14, 8, 3, 0 }, + { 16, 20, 15, 8, 3, 0 }, { 16, 21, 16, 8, 3, 0 }, { 16, 22, 17, 8, 3, 0 }, { 16, 23, 18, 8, 3, 0 }, { 16, 23, 19, 8, 3, 0 }, + { 16, 24, 20, 8, 3, 0 }, { 16, 25, 21, 8, 3, 0 }, { 16, 26, 22, 8, 4, 0 }, { 16, 26, 23, 8, 4, 0 }, { 16, 27, 24, 8, 4, 0 }, + { 16, 28, 25, 8, 4, 0 }, { 16, 28, 26, 8, 4, 0 }, { 16, 29, 27, 8, 4, 0 }, { 16, 30, 28, 8, 4, 0 }, { 16, 30, 29, 8, 4, 0 }, + { 16, 31, 30, 8, 4, 0 }, { 16, 31, 31, 8, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C10D8 = { - 37, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, - { 5, 16, 3, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 4, 16, 2, 0 }, { 8, 16, 5, 16, 2, 0 }, { 9, 16, 5, 16, 2, 0 }, - { 10, 16, 6, 16, 3, 0 }, { 11, 16, 7, 16, 3, 0 }, { 12, 16, 8, 16, 3, 0 }, { 13, 16, 8, 16, 3, 0 }, { 14, 16, 9, 16, 3, 0 }, - { 15, 16, 10, 16, 3, 0 }, { 16, 16, 11, 16, 3, 0 }, { 17, 16, 12, 16, 3, 0 }, { 18, 16, 13, 16, 3, 0 }, { 19, 16, 14, 16, 3, 0 }, - { 20, 16, 15, 16, 3, 0 }, { 21, 16, 16, 16, 3, 0 }, { 22, 16, 17, 16, 3, 0 }, { 23, 16, 18, 16, 3, 0 }, { 23, 16, 19, 16, 3, 0 }, - { 24, 16, 20, 16, 3, 0 }, { 25, 16, 21, 16, 3, 0 }, { 26, 16, 22, 16, 4, 0 }, { 26, 16, 23, 16, 4, 0 }, { 27, 16, 24, 16, 4, 0 }, - { 28, 16, 25, 16, 4, 0 }, { 28, 16, 26, 16, 4, 0 }, { 29, 16, 27, 16, 4, 0 }, { 30, 16, 28, 16, 4, 0 }, { 30, 16, 29, 16, 4, 0 }, - { 31, 16, 30, 16, 4, 0 }, { 31, 16, 31, 16, 4, 0 }, + 37, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, + { 5, 16, 3, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 4, 16, 2, 0 }, { 8, 16, 5, 16, 2, 0 }, { 9, 16, 5, 16, 2, 0 }, + { 10, 16, 6, 16, 3, 0 }, { 11, 16, 7, 16, 3, 0 }, { 12, 16, 8, 16, 3, 0 }, { 13, 16, 8, 16, 3, 0 }, { 14, 16, 9, 16, 3, 0 }, + { 15, 16, 10, 16, 3, 0 }, { 16, 16, 11, 16, 3, 0 }, { 17, 16, 12, 16, 3, 0 }, { 18, 16, 13, 16, 3, 0 }, { 19, 16, 14, 16, 3, 0 }, + { 20, 16, 15, 16, 3, 0 }, { 21, 16, 16, 16, 3, 0 }, { 22, 16, 17, 16, 3, 0 }, { 23, 16, 18, 16, 3, 0 }, { 23, 16, 19, 16, 3, 0 }, + { 24, 16, 20, 16, 3, 0 }, { 25, 16, 21, 16, 3, 0 }, { 26, 16, 22, 16, 4, 0 }, { 26, 16, 23, 16, 4, 0 }, { 27, 16, 24, 16, 4, 0 }, + { 28, 16, 25, 16, 4, 0 }, { 28, 16, 26, 16, 4, 0 }, { 29, 16, 27, 16, 4, 0 }, { 30, 16, 28, 16, 4, 0 }, { 30, 16, 29, 16, 4, 0 }, + { 31, 16, 30, 16, 4, 0 }, { 31, 16, 31, 16, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C1227 = { - 37, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 3, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 4, 24, 2, 0 }, { 16, 23, 5, 24, 2, 0 }, { 16, 22, 5, 24, 2, 0 }, - { 16, 21, 6, 24, 3, 0 }, { 16, 20, 7, 24, 3, 0 }, { 16, 19, 8, 24, 3, 0 }, { 16, 18, 8, 24, 3, 0 }, { 16, 17, 9, 24, 3, 0 }, - { 16, 16, 10, 24, 3, 0 }, { 16, 15, 11, 24, 3, 0 }, { 16, 14, 12, 24, 3, 0 }, { 16, 13, 13, 24, 3, 0 }, { 16, 12, 14, 24, 3, 0 }, - { 16, 11, 15, 24, 3, 0 }, { 16, 10, 16, 24, 3, 0 }, { 16, 9, 17, 24, 3, 0 }, { 16, 8, 18, 24, 3, 0 }, { 16, 8, 19, 24, 3, 0 }, - { 16, 7, 20, 24, 3, 0 }, { 16, 6, 21, 24, 3, 0 }, { 16, 5, 22, 24, 4, 0 }, { 16, 5, 23, 24, 4, 0 }, { 16, 4, 24, 24, 4, 0 }, - { 16, 3, 25, 24, 4, 0 }, { 16, 3, 26, 24, 4, 0 }, { 16, 2, 27, 24, 4, 0 }, { 16, 1, 28, 24, 4, 0 }, { 16, 1, 29, 24, 4, 0 }, - { 16, 0, 30, 24, 4, 0 }, { 16, 0, 31, 24, 4, 0 }, + 37, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 3, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 4, 24, 2, 0 }, { 16, 23, 5, 24, 2, 0 }, { 16, 22, 5, 24, 2, 0 }, + { 16, 21, 6, 24, 3, 0 }, { 16, 20, 7, 24, 3, 0 }, { 16, 19, 8, 24, 3, 0 }, { 16, 18, 8, 24, 3, 0 }, { 16, 17, 9, 24, 3, 0 }, + { 16, 16, 10, 24, 3, 0 }, { 16, 15, 11, 24, 3, 0 }, { 16, 14, 12, 24, 3, 0 }, { 16, 13, 13, 24, 3, 0 }, { 16, 12, 14, 24, 3, 0 }, + { 16, 11, 15, 24, 3, 0 }, { 16, 10, 16, 24, 3, 0 }, { 16, 9, 17, 24, 3, 0 }, { 16, 8, 18, 24, 3, 0 }, { 16, 8, 19, 24, 3, 0 }, + { 16, 7, 20, 24, 3, 0 }, { 16, 6, 21, 24, 3, 0 }, { 16, 5, 22, 24, 4, 0 }, { 16, 5, 23, 24, 4, 0 }, { 16, 4, 24, 24, 4, 0 }, + { 16, 3, 25, 24, 4, 0 }, { 16, 3, 26, 24, 4, 0 }, { 16, 2, 27, 24, 4, 0 }, { 16, 1, 28, 24, 4, 0 }, { 16, 1, 29, 24, 4, 0 }, + { 16, 0, 30, 24, 4, 0 }, { 16, 0, 31, 24, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C1376 = { - 37, { - { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 30, 16, 3, 0, 4, 0 }, { 29, 16, 4, 0, 4, 0 }, - { 28, 16, 5, 0, 4, 0 }, { 28, 16, 6, 0, 4, 0 }, { 27, 16, 7, 0, 4, 0 }, { 26, 16, 8, 0, 4, 0 }, { 26, 16, 9, 0, 4, 0 }, - { 25, 16, 10, 0, 3, 0 }, { 24, 16, 11, 0, 3, 0 }, { 23, 16, 12, 0, 3, 0 }, { 23, 16, 13, 0, 3, 0 }, { 22, 16, 14, 0, 3, 0 }, - { 21, 16, 15, 0, 3, 0 }, { 20, 16, 16, 0, 3, 0 }, { 19, 16, 17, 0, 3, 0 }, { 18, 16, 18, 0, 3, 0 }, { 17, 16, 19, 0, 3, 0 }, - { 16, 16, 20, 0, 3, 0 }, { 15, 16, 21, 0, 3, 0 }, { 14, 16, 22, 0, 3, 0 }, { 13, 16, 23, 0, 3, 0 }, { 12, 16, 23, 0, 3, 0 }, - { 11, 16, 24, 0, 3, 0 }, { 10, 16, 25, 0, 3, 0 }, { 9, 16, 26, 0, 2, 0 }, { 8, 16, 26, 0, 2, 0 }, { 7, 16, 27, 0, 2, 0 }, - { 6, 16, 28, 0, 2, 0 }, { 5, 16, 28, 0, 2, 0 }, { 4, 16, 29, 0, 2, 0 }, { 3, 16, 30, 0, 2, 0 }, { 2, 16, 30, 0, 2, 0 }, - { 1, 16, 31, 0, 2, 0 }, { 0, 16, 31, 0, 2, 0 }, + 37, { + { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 30, 16, 3, 0, 4, 0 }, { 29, 16, 4, 0, 4, 0 }, + { 28, 16, 5, 0, 4, 0 }, { 28, 16, 6, 0, 4, 0 }, { 27, 16, 7, 0, 4, 0 }, { 26, 16, 8, 0, 4, 0 }, { 26, 16, 9, 0, 4, 0 }, + { 25, 16, 10, 0, 3, 0 }, { 24, 16, 11, 0, 3, 0 }, { 23, 16, 12, 0, 3, 0 }, { 23, 16, 13, 0, 3, 0 }, { 22, 16, 14, 0, 3, 0 }, + { 21, 16, 15, 0, 3, 0 }, { 20, 16, 16, 0, 3, 0 }, { 19, 16, 17, 0, 3, 0 }, { 18, 16, 18, 0, 3, 0 }, { 17, 16, 19, 0, 3, 0 }, + { 16, 16, 20, 0, 3, 0 }, { 15, 16, 21, 0, 3, 0 }, { 14, 16, 22, 0, 3, 0 }, { 13, 16, 23, 0, 3, 0 }, { 12, 16, 23, 0, 3, 0 }, + { 11, 16, 24, 0, 3, 0 }, { 10, 16, 25, 0, 3, 0 }, { 9, 16, 26, 0, 2, 0 }, { 8, 16, 26, 0, 2, 0 }, { 7, 16, 27, 0, 2, 0 }, + { 6, 16, 28, 0, 2, 0 }, { 5, 16, 28, 0, 2, 0 }, { 4, 16, 29, 0, 2, 0 }, { 3, 16, 30, 0, 2, 0 }, { 2, 16, 30, 0, 2, 0 }, + { 1, 16, 31, 0, 2, 0 }, { 0, 16, 31, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C14C5 = { - 37, { - { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 1, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, - { 16, 3, 5, 8, 4, 0 }, { 16, 3, 6, 8, 4, 0 }, { 16, 4, 7, 8, 4, 0 }, { 16, 5, 8, 8, 4, 0 }, { 16, 5, 9, 8, 4, 0 }, - { 16, 6, 10, 8, 3, 0 }, { 16, 7, 11, 8, 3, 0 }, { 16, 8, 12, 8, 3, 0 }, { 16, 8, 13, 8, 3, 0 }, { 16, 9, 14, 8, 3, 0 }, - { 16, 10, 15, 8, 3, 0 }, { 16, 11, 16, 8, 3, 0 }, { 16, 12, 17, 8, 3, 0 }, { 16, 13, 18, 8, 3, 0 }, { 16, 14, 19, 8, 3, 0 }, - { 16, 15, 20, 8, 3, 0 }, { 16, 16, 21, 8, 3, 0 }, { 16, 17, 22, 8, 3, 0 }, { 16, 18, 23, 8, 3, 0 }, { 16, 19, 23, 8, 3, 0 }, - { 16, 20, 24, 8, 3, 0 }, { 16, 21, 25, 8, 3, 0 }, { 16, 22, 26, 8, 2, 0 }, { 16, 23, 26, 8, 2, 0 }, { 16, 24, 27, 8, 2, 0 }, - { 16, 25, 28, 8, 2, 0 }, { 16, 26, 28, 8, 2, 0 }, { 16, 27, 29, 8, 2, 0 }, { 16, 28, 30, 8, 2, 0 }, { 16, 29, 30, 8, 2, 0 }, - { 16, 30, 31, 8, 2, 0 }, { 16, 31, 31, 8, 2, 0 }, + 37, { + { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 1, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, + { 16, 3, 5, 8, 4, 0 }, { 16, 3, 6, 8, 4, 0 }, { 16, 4, 7, 8, 4, 0 }, { 16, 5, 8, 8, 4, 0 }, { 16, 5, 9, 8, 4, 0 }, + { 16, 6, 10, 8, 3, 0 }, { 16, 7, 11, 8, 3, 0 }, { 16, 8, 12, 8, 3, 0 }, { 16, 8, 13, 8, 3, 0 }, { 16, 9, 14, 8, 3, 0 }, + { 16, 10, 15, 8, 3, 0 }, { 16, 11, 16, 8, 3, 0 }, { 16, 12, 17, 8, 3, 0 }, { 16, 13, 18, 8, 3, 0 }, { 16, 14, 19, 8, 3, 0 }, + { 16, 15, 20, 8, 3, 0 }, { 16, 16, 21, 8, 3, 0 }, { 16, 17, 22, 8, 3, 0 }, { 16, 18, 23, 8, 3, 0 }, { 16, 19, 23, 8, 3, 0 }, + { 16, 20, 24, 8, 3, 0 }, { 16, 21, 25, 8, 3, 0 }, { 16, 22, 26, 8, 2, 0 }, { 16, 23, 26, 8, 2, 0 }, { 16, 24, 27, 8, 2, 0 }, + { 16, 25, 28, 8, 2, 0 }, { 16, 26, 28, 8, 2, 0 }, { 16, 27, 29, 8, 2, 0 }, { 16, 28, 30, 8, 2, 0 }, { 16, 29, 30, 8, 2, 0 }, + { 16, 30, 31, 8, 2, 0 }, { 16, 31, 31, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C1614 = { - 37, { - { 0, 16, 0, 16, 4, 0 }, { 0, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 1, 16, 3, 16, 4, 0 }, { 2, 16, 4, 16, 4, 0 }, - { 3, 16, 5, 16, 4, 0 }, { 3, 16, 6, 16, 4, 0 }, { 4, 16, 7, 16, 4, 0 }, { 5, 16, 8, 16, 4, 0 }, { 5, 16, 9, 16, 4, 0 }, - { 6, 16, 10, 16, 3, 0 }, { 7, 16, 11, 16, 3, 0 }, { 8, 16, 12, 16, 3, 0 }, { 8, 16, 13, 16, 3, 0 }, { 9, 16, 14, 16, 3, 0 }, - { 10, 16, 15, 16, 3, 0 }, { 11, 16, 16, 16, 3, 0 }, { 12, 16, 17, 16, 3, 0 }, { 13, 16, 18, 16, 3, 0 }, { 14, 16, 19, 16, 3, 0 }, - { 15, 16, 20, 16, 3, 0 }, { 16, 16, 21, 16, 3, 0 }, { 17, 16, 22, 16, 3, 0 }, { 18, 16, 23, 16, 3, 0 }, { 19, 16, 23, 16, 3, 0 }, - { 20, 16, 24, 16, 3, 0 }, { 21, 16, 25, 16, 3, 0 }, { 22, 16, 26, 16, 2, 0 }, { 23, 16, 26, 16, 2, 0 }, { 24, 16, 27, 16, 2, 0 }, - { 25, 16, 28, 16, 2, 0 }, { 26, 16, 28, 16, 2, 0 }, { 27, 16, 29, 16, 2, 0 }, { 28, 16, 30, 16, 2, 0 }, { 29, 16, 30, 16, 2, 0 }, - { 30, 16, 31, 16, 2, 0 }, { 31, 16, 31, 16, 2, 0 }, + 37, { + { 0, 16, 0, 16, 4, 0 }, { 0, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 1, 16, 3, 16, 4, 0 }, { 2, 16, 4, 16, 4, 0 }, + { 3, 16, 5, 16, 4, 0 }, { 3, 16, 6, 16, 4, 0 }, { 4, 16, 7, 16, 4, 0 }, { 5, 16, 8, 16, 4, 0 }, { 5, 16, 9, 16, 4, 0 }, + { 6, 16, 10, 16, 3, 0 }, { 7, 16, 11, 16, 3, 0 }, { 8, 16, 12, 16, 3, 0 }, { 8, 16, 13, 16, 3, 0 }, { 9, 16, 14, 16, 3, 0 }, + { 10, 16, 15, 16, 3, 0 }, { 11, 16, 16, 16, 3, 0 }, { 12, 16, 17, 16, 3, 0 }, { 13, 16, 18, 16, 3, 0 }, { 14, 16, 19, 16, 3, 0 }, + { 15, 16, 20, 16, 3, 0 }, { 16, 16, 21, 16, 3, 0 }, { 17, 16, 22, 16, 3, 0 }, { 18, 16, 23, 16, 3, 0 }, { 19, 16, 23, 16, 3, 0 }, + { 20, 16, 24, 16, 3, 0 }, { 21, 16, 25, 16, 3, 0 }, { 22, 16, 26, 16, 2, 0 }, { 23, 16, 26, 16, 2, 0 }, { 24, 16, 27, 16, 2, 0 }, + { 25, 16, 28, 16, 2, 0 }, { 26, 16, 28, 16, 2, 0 }, { 27, 16, 29, 16, 2, 0 }, { 28, 16, 30, 16, 2, 0 }, { 29, 16, 30, 16, 2, 0 }, + { 30, 16, 31, 16, 2, 0 }, { 31, 16, 31, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C1763 = { - 37, { - { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 30, 3, 24, 4, 0 }, { 16, 29, 4, 24, 4, 0 }, - { 16, 28, 5, 24, 4, 0 }, { 16, 28, 6, 24, 4, 0 }, { 16, 27, 7, 24, 4, 0 }, { 16, 26, 8, 24, 4, 0 }, { 16, 26, 9, 24, 4, 0 }, - { 16, 25, 10, 24, 3, 0 }, { 16, 24, 11, 24, 3, 0 }, { 16, 23, 12, 24, 3, 0 }, { 16, 23, 13, 24, 3, 0 }, { 16, 22, 14, 24, 3, 0 }, - { 16, 21, 15, 24, 3, 0 }, { 16, 20, 16, 24, 3, 0 }, { 16, 19, 17, 24, 3, 0 }, { 16, 18, 18, 24, 3, 0 }, { 16, 17, 19, 24, 3, 0 }, - { 16, 16, 20, 24, 3, 0 }, { 16, 15, 21, 24, 3, 0 }, { 16, 14, 22, 24, 3, 0 }, { 16, 13, 23, 24, 3, 0 }, { 16, 12, 23, 24, 3, 0 }, - { 16, 11, 24, 24, 3, 0 }, { 16, 10, 25, 24, 3, 0 }, { 16, 9, 26, 24, 2, 0 }, { 16, 8, 26, 24, 2, 0 }, { 16, 7, 27, 24, 2, 0 }, - { 16, 6, 28, 24, 2, 0 }, { 16, 5, 28, 24, 2, 0 }, { 16, 4, 29, 24, 2, 0 }, { 16, 3, 30, 24, 2, 0 }, { 16, 2, 30, 24, 2, 0 }, - { 16, 1, 31, 24, 2, 0 }, { 16, 0, 31, 24, 2, 0 }, + 37, { + { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 30, 3, 24, 4, 0 }, { 16, 29, 4, 24, 4, 0 }, + { 16, 28, 5, 24, 4, 0 }, { 16, 28, 6, 24, 4, 0 }, { 16, 27, 7, 24, 4, 0 }, { 16, 26, 8, 24, 4, 0 }, { 16, 26, 9, 24, 4, 0 }, + { 16, 25, 10, 24, 3, 0 }, { 16, 24, 11, 24, 3, 0 }, { 16, 23, 12, 24, 3, 0 }, { 16, 23, 13, 24, 3, 0 }, { 16, 22, 14, 24, 3, 0 }, + { 16, 21, 15, 24, 3, 0 }, { 16, 20, 16, 24, 3, 0 }, { 16, 19, 17, 24, 3, 0 }, { 16, 18, 18, 24, 3, 0 }, { 16, 17, 19, 24, 3, 0 }, + { 16, 16, 20, 24, 3, 0 }, { 16, 15, 21, 24, 3, 0 }, { 16, 14, 22, 24, 3, 0 }, { 16, 13, 23, 24, 3, 0 }, { 16, 12, 23, 24, 3, 0 }, + { 16, 11, 24, 24, 3, 0 }, { 16, 10, 25, 24, 3, 0 }, { 16, 9, 26, 24, 2, 0 }, { 16, 8, 26, 24, 2, 0 }, { 16, 7, 27, 24, 2, 0 }, + { 16, 6, 28, 24, 2, 0 }, { 16, 5, 28, 24, 2, 0 }, { 16, 4, 29, 24, 2, 0 }, { 16, 3, 30, 24, 2, 0 }, { 16, 2, 30, 24, 2, 0 }, + { 16, 1, 31, 24, 2, 0 }, { 16, 0, 31, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C00A2 = { - 32, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 1, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 2, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 3, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 4, 0, 1, 0 }, { 22, 16, 4, 0, 1, 0 }, - { 21, 16, 4, 0, 1, 0 }, { 20, 16, 5, 0, 1, 0 }, { 19, 16, 5, 0, 1, 0 }, { 18, 16, 5, 0, 1, 0 }, { 17, 16, 6, 0, 1, 0 }, - { 16, 16, 6, 0, 1, 0 }, { 15, 16, 6, 0, 1, 0 }, { 14, 16, 6, 0, 1, 0 }, { 13, 16, 7, 0, 1, 0 }, { 12, 16, 7, 0, 1, 0 }, - { 11, 16, 7, 0, 1, 0 }, { 10, 16, 7, 0, 1, 0 }, { 9, 16, 7, 0, 0, 0 }, { 8, 16, 7, 0, 0, 0 }, { 7, 16, 8, 0, 0, 0 }, - { 6, 16, 8, 0, 0, 0 }, { 5, 16, 8, 0, 0, 0 }, { 4, 16, 8, 0, 0, 0 }, { 3, 16, 8, 0, 0, 0 }, { 2, 16, 8, 0, 0, 0 }, - { 1, 16, 8, 0, 0, 0 }, { 0, 16, 8, 0, 0, 0 }, + 32, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 1, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 2, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 3, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 4, 0, 1, 0 }, { 22, 16, 4, 0, 1, 0 }, + { 21, 16, 4, 0, 1, 0 }, { 20, 16, 5, 0, 1, 0 }, { 19, 16, 5, 0, 1, 0 }, { 18, 16, 5, 0, 1, 0 }, { 17, 16, 6, 0, 1, 0 }, + { 16, 16, 6, 0, 1, 0 }, { 15, 16, 6, 0, 1, 0 }, { 14, 16, 6, 0, 1, 0 }, { 13, 16, 7, 0, 1, 0 }, { 12, 16, 7, 0, 1, 0 }, + { 11, 16, 7, 0, 1, 0 }, { 10, 16, 7, 0, 1, 0 }, { 9, 16, 7, 0, 0, 0 }, { 8, 16, 7, 0, 0, 0 }, { 7, 16, 8, 0, 0, 0 }, + { 6, 16, 8, 0, 0, 0 }, { 5, 16, 8, 0, 0, 0 }, { 4, 16, 8, 0, 0, 0 }, { 3, 16, 8, 0, 0, 0 }, { 2, 16, 8, 0, 0, 0 }, + { 1, 16, 8, 0, 0, 0 }, { 0, 16, 8, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C01C4 = { - 32, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 1, 0 }, { 16, 9, 4, 8, 1, 0 }, - { 16, 10, 4, 8, 1, 0 }, { 16, 11, 5, 8, 1, 0 }, { 16, 12, 5, 8, 1, 0 }, { 16, 13, 5, 8, 1, 0 }, { 16, 14, 6, 8, 1, 0 }, - { 16, 15, 6, 8, 1, 0 }, { 16, 16, 6, 8, 1, 0 }, { 16, 17, 6, 8, 1, 0 }, { 16, 18, 7, 8, 1, 0 }, { 16, 19, 7, 8, 1, 0 }, - { 16, 20, 7, 8, 1, 0 }, { 16, 21, 7, 8, 1, 0 }, { 16, 22, 7, 8, 0, 0 }, { 16, 23, 7, 8, 0, 0 }, { 16, 24, 8, 8, 0, 0 }, - { 16, 25, 8, 8, 0, 0 }, { 16, 26, 8, 8, 0, 0 }, { 16, 27, 8, 8, 0, 0 }, { 16, 28, 8, 8, 0, 0 }, { 16, 29, 8, 8, 0, 0 }, - { 16, 30, 8, 8, 0, 0 }, { 16, 31, 8, 8, 0, 0 }, + 32, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 1, 0 }, { 16, 9, 4, 8, 1, 0 }, + { 16, 10, 4, 8, 1, 0 }, { 16, 11, 5, 8, 1, 0 }, { 16, 12, 5, 8, 1, 0 }, { 16, 13, 5, 8, 1, 0 }, { 16, 14, 6, 8, 1, 0 }, + { 16, 15, 6, 8, 1, 0 }, { 16, 16, 6, 8, 1, 0 }, { 16, 17, 6, 8, 1, 0 }, { 16, 18, 7, 8, 1, 0 }, { 16, 19, 7, 8, 1, 0 }, + { 16, 20, 7, 8, 1, 0 }, { 16, 21, 7, 8, 1, 0 }, { 16, 22, 7, 8, 0, 0 }, { 16, 23, 7, 8, 0, 0 }, { 16, 24, 8, 8, 0, 0 }, + { 16, 25, 8, 8, 0, 0 }, { 16, 26, 8, 8, 0, 0 }, { 16, 27, 8, 8, 0, 0 }, { 16, 28, 8, 8, 0, 0 }, { 16, 29, 8, 8, 0, 0 }, + { 16, 30, 8, 8, 0, 0 }, { 16, 31, 8, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C02E6 = { - 32, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 1, 0 }, { 9, 16, 4, 16, 1, 0 }, - { 10, 16, 4, 16, 1, 0 }, { 11, 16, 5, 16, 1, 0 }, { 12, 16, 5, 16, 1, 0 }, { 13, 16, 5, 16, 1, 0 }, { 14, 16, 6, 16, 1, 0 }, - { 15, 16, 6, 16, 1, 0 }, { 16, 16, 6, 16, 1, 0 }, { 17, 16, 6, 16, 1, 0 }, { 18, 16, 7, 16, 1, 0 }, { 19, 16, 7, 16, 1, 0 }, - { 20, 16, 7, 16, 1, 0 }, { 21, 16, 7, 16, 1, 0 }, { 22, 16, 7, 16, 0, 0 }, { 23, 16, 7, 16, 0, 0 }, { 24, 16, 8, 16, 0, 0 }, - { 25, 16, 8, 16, 0, 0 }, { 26, 16, 8, 16, 0, 0 }, { 27, 16, 8, 16, 0, 0 }, { 28, 16, 8, 16, 0, 0 }, { 29, 16, 8, 16, 0, 0 }, - { 30, 16, 8, 16, 0, 0 }, { 31, 16, 8, 16, 0, 0 }, + 32, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 1, 0 }, { 9, 16, 4, 16, 1, 0 }, + { 10, 16, 4, 16, 1, 0 }, { 11, 16, 5, 16, 1, 0 }, { 12, 16, 5, 16, 1, 0 }, { 13, 16, 5, 16, 1, 0 }, { 14, 16, 6, 16, 1, 0 }, + { 15, 16, 6, 16, 1, 0 }, { 16, 16, 6, 16, 1, 0 }, { 17, 16, 6, 16, 1, 0 }, { 18, 16, 7, 16, 1, 0 }, { 19, 16, 7, 16, 1, 0 }, + { 20, 16, 7, 16, 1, 0 }, { 21, 16, 7, 16, 1, 0 }, { 22, 16, 7, 16, 0, 0 }, { 23, 16, 7, 16, 0, 0 }, { 24, 16, 8, 16, 0, 0 }, + { 25, 16, 8, 16, 0, 0 }, { 26, 16, 8, 16, 0, 0 }, { 27, 16, 8, 16, 0, 0 }, { 28, 16, 8, 16, 0, 0 }, { 29, 16, 8, 16, 0, 0 }, + { 30, 16, 8, 16, 0, 0 }, { 31, 16, 8, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C0408 = { - 32, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 1, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 2, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 3, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 4, 24, 1, 0 }, { 16, 22, 4, 24, 1, 0 }, - { 16, 21, 4, 24, 1, 0 }, { 16, 20, 5, 24, 1, 0 }, { 16, 19, 5, 24, 1, 0 }, { 16, 18, 5, 24, 1, 0 }, { 16, 17, 6, 24, 1, 0 }, - { 16, 16, 6, 24, 1, 0 }, { 16, 15, 6, 24, 1, 0 }, { 16, 14, 6, 24, 1, 0 }, { 16, 13, 7, 24, 1, 0 }, { 16, 12, 7, 24, 1, 0 }, - { 16, 11, 7, 24, 1, 0 }, { 16, 10, 7, 24, 1, 0 }, { 16, 9, 7, 24, 0, 0 }, { 16, 8, 7, 24, 0, 0 }, { 16, 7, 8, 24, 0, 0 }, - { 16, 6, 8, 24, 0, 0 }, { 16, 5, 8, 24, 0, 0 }, { 16, 4, 8, 24, 0, 0 }, { 16, 3, 8, 24, 0, 0 }, { 16, 2, 8, 24, 0, 0 }, - { 16, 1, 8, 24, 0, 0 }, { 16, 0, 8, 24, 0, 0 }, + 32, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 1, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 2, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 3, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 4, 24, 1, 0 }, { 16, 22, 4, 24, 1, 0 }, + { 16, 21, 4, 24, 1, 0 }, { 16, 20, 5, 24, 1, 0 }, { 16, 19, 5, 24, 1, 0 }, { 16, 18, 5, 24, 1, 0 }, { 16, 17, 6, 24, 1, 0 }, + { 16, 16, 6, 24, 1, 0 }, { 16, 15, 6, 24, 1, 0 }, { 16, 14, 6, 24, 1, 0 }, { 16, 13, 7, 24, 1, 0 }, { 16, 12, 7, 24, 1, 0 }, + { 16, 11, 7, 24, 1, 0 }, { 16, 10, 7, 24, 1, 0 }, { 16, 9, 7, 24, 0, 0 }, { 16, 8, 7, 24, 0, 0 }, { 16, 7, 8, 24, 0, 0 }, + { 16, 6, 8, 24, 0, 0 }, { 16, 5, 8, 24, 0, 0 }, { 16, 4, 8, 24, 0, 0 }, { 16, 3, 8, 24, 0, 0 }, { 16, 2, 8, 24, 0, 0 }, + { 16, 1, 8, 24, 0, 0 }, { 16, 0, 8, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C27B2 = { - 32, { - { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 0, 6, 0 }, - { 26, 16, 13, 0, 6, 0 }, { 25, 16, 12, 0, 6, 0 }, { 24, 16, 12, 0, 6, 0 }, { 23, 16, 11, 0, 6, 0 }, { 22, 16, 11, 0, 6, 0 }, - { 21, 16, 10, 0, 6, 0 }, { 20, 16, 10, 0, 6, 0 }, { 19, 16, 9, 0, 6, 0 }, { 18, 16, 9, 0, 6, 0 }, { 17, 16, 8, 0, 6, 0 }, - { 16, 16, 8, 0, 6, 0 }, { 15, 16, 7, 0, 6, 0 }, { 14, 16, 7, 0, 6, 0 }, { 13, 16, 6, 0, 6, 0 }, { 12, 16, 6, 0, 6, 0 }, - { 11, 16, 5, 0, 6, 0 }, { 10, 16, 5, 0, 6, 0 }, { 9, 16, 4, 0, 6, 0 }, { 8, 16, 4, 0, 6, 0 }, { 7, 16, 3, 0, 6, 0 }, - { 6, 16, 3, 0, 6, 0 }, { 5, 16, 2, 0, 6, 0 }, { 4, 16, 2, 0, 6, 0 }, { 3, 16, 1, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, - { 1, 16, 0, 0, 6, 0 }, { 0, 16, 0, 0, 6, 0 }, + 32, { + { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 0, 6, 0 }, + { 26, 16, 13, 0, 6, 0 }, { 25, 16, 12, 0, 6, 0 }, { 24, 16, 12, 0, 6, 0 }, { 23, 16, 11, 0, 6, 0 }, { 22, 16, 11, 0, 6, 0 }, + { 21, 16, 10, 0, 6, 0 }, { 20, 16, 10, 0, 6, 0 }, { 19, 16, 9, 0, 6, 0 }, { 18, 16, 9, 0, 6, 0 }, { 17, 16, 8, 0, 6, 0 }, + { 16, 16, 8, 0, 6, 0 }, { 15, 16, 7, 0, 6, 0 }, { 14, 16, 7, 0, 6, 0 }, { 13, 16, 6, 0, 6, 0 }, { 12, 16, 6, 0, 6, 0 }, + { 11, 16, 5, 0, 6, 0 }, { 10, 16, 5, 0, 6, 0 }, { 9, 16, 4, 0, 6, 0 }, { 8, 16, 4, 0, 6, 0 }, { 7, 16, 3, 0, 6, 0 }, + { 6, 16, 3, 0, 6, 0 }, { 5, 16, 2, 0, 6, 0 }, { 4, 16, 2, 0, 6, 0 }, { 3, 16, 1, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, + { 1, 16, 0, 0, 6, 0 }, { 0, 16, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C28D4 = { - 32, { - { 16, 0, 15, 8, 6, 0 }, { 16, 1, 14, 8, 6, 0 }, { 16, 2, 14, 8, 6, 0 }, { 16, 3, 13, 8, 6, 0 }, { 16, 4, 13, 8, 6, 0 }, - { 16, 5, 12, 8, 6, 0 }, { 16, 6, 12, 8, 6, 0 }, { 16, 7, 11, 8, 6, 0 }, { 16, 8, 11, 8, 6, 0 }, { 16, 9, 10, 8, 6, 0 }, - { 16, 10, 10, 8, 6, 0 }, { 16, 11, 9, 8, 6, 0 }, { 16, 12, 9, 8, 6, 0 }, { 16, 13, 8, 8, 6, 0 }, { 16, 14, 8, 8, 6, 0 }, - { 16, 15, 7, 8, 6, 0 }, { 16, 16, 7, 8, 6, 0 }, { 16, 17, 6, 8, 6, 0 }, { 16, 18, 6, 8, 6, 0 }, { 16, 19, 5, 8, 6, 0 }, - { 16, 20, 5, 8, 6, 0 }, { 16, 21, 4, 8, 6, 0 }, { 16, 22, 4, 8, 6, 0 }, { 16, 23, 3, 8, 6, 0 }, { 16, 24, 3, 8, 6, 0 }, - { 16, 25, 2, 8, 6, 0 }, { 16, 26, 2, 8, 6, 0 }, { 16, 27, 1, 8, 6, 0 }, { 16, 28, 1, 8, 6, 0 }, { 16, 29, 0, 8, 6, 0 }, - { 16, 30, 0, 8, 6, 0 }, { 16, 31, -1, 8, 6, 0 }, + 32, { + { 16, 0, 15, 8, 6, 0 }, { 16, 1, 14, 8, 6, 0 }, { 16, 2, 14, 8, 6, 0 }, { 16, 3, 13, 8, 6, 0 }, { 16, 4, 13, 8, 6, 0 }, + { 16, 5, 12, 8, 6, 0 }, { 16, 6, 12, 8, 6, 0 }, { 16, 7, 11, 8, 6, 0 }, { 16, 8, 11, 8, 6, 0 }, { 16, 9, 10, 8, 6, 0 }, + { 16, 10, 10, 8, 6, 0 }, { 16, 11, 9, 8, 6, 0 }, { 16, 12, 9, 8, 6, 0 }, { 16, 13, 8, 8, 6, 0 }, { 16, 14, 8, 8, 6, 0 }, + { 16, 15, 7, 8, 6, 0 }, { 16, 16, 7, 8, 6, 0 }, { 16, 17, 6, 8, 6, 0 }, { 16, 18, 6, 8, 6, 0 }, { 16, 19, 5, 8, 6, 0 }, + { 16, 20, 5, 8, 6, 0 }, { 16, 21, 4, 8, 6, 0 }, { 16, 22, 4, 8, 6, 0 }, { 16, 23, 3, 8, 6, 0 }, { 16, 24, 3, 8, 6, 0 }, + { 16, 25, 2, 8, 6, 0 }, { 16, 26, 2, 8, 6, 0 }, { 16, 27, 1, 8, 6, 0 }, { 16, 28, 1, 8, 6, 0 }, { 16, 29, 0, 8, 6, 0 }, + { 16, 30, 0, 8, 6, 0 }, { 16, 31, -1, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C29F6 = { - 32, { - { 0, 16, 15, 16, 6, 0 }, { 1, 16, 14, 16, 6, 0 }, { 2, 16, 14, 16, 6, 0 }, { 3, 16, 13, 16, 6, 0 }, { 4, 16, 13, 16, 6, 0 }, - { 5, 16, 12, 16, 6, 0 }, { 6, 16, 12, 16, 6, 0 }, { 7, 16, 11, 16, 6, 0 }, { 8, 16, 11, 16, 6, 0 }, { 9, 16, 10, 16, 6, 0 }, - { 10, 16, 10, 16, 6, 0 }, { 11, 16, 9, 16, 6, 0 }, { 12, 16, 9, 16, 6, 0 }, { 13, 16, 8, 16, 6, 0 }, { 14, 16, 8, 16, 6, 0 }, - { 15, 16, 7, 16, 6, 0 }, { 16, 16, 7, 16, 6, 0 }, { 17, 16, 6, 16, 6, 0 }, { 18, 16, 6, 16, 6, 0 }, { 19, 16, 5, 16, 6, 0 }, - { 20, 16, 5, 16, 6, 0 }, { 21, 16, 4, 16, 6, 0 }, { 22, 16, 4, 16, 6, 0 }, { 23, 16, 3, 16, 6, 0 }, { 24, 16, 3, 16, 6, 0 }, - { 25, 16, 2, 16, 6, 0 }, { 26, 16, 2, 16, 6, 0 }, { 27, 16, 1, 16, 6, 0 }, { 28, 16, 1, 16, 6, 0 }, { 29, 16, 0, 16, 6, 0 }, - { 30, 16, 0, 16, 6, 0 }, { 31, 16, -1, 16, 6, 0 }, + 32, { + { 0, 16, 15, 16, 6, 0 }, { 1, 16, 14, 16, 6, 0 }, { 2, 16, 14, 16, 6, 0 }, { 3, 16, 13, 16, 6, 0 }, { 4, 16, 13, 16, 6, 0 }, + { 5, 16, 12, 16, 6, 0 }, { 6, 16, 12, 16, 6, 0 }, { 7, 16, 11, 16, 6, 0 }, { 8, 16, 11, 16, 6, 0 }, { 9, 16, 10, 16, 6, 0 }, + { 10, 16, 10, 16, 6, 0 }, { 11, 16, 9, 16, 6, 0 }, { 12, 16, 9, 16, 6, 0 }, { 13, 16, 8, 16, 6, 0 }, { 14, 16, 8, 16, 6, 0 }, + { 15, 16, 7, 16, 6, 0 }, { 16, 16, 7, 16, 6, 0 }, { 17, 16, 6, 16, 6, 0 }, { 18, 16, 6, 16, 6, 0 }, { 19, 16, 5, 16, 6, 0 }, + { 20, 16, 5, 16, 6, 0 }, { 21, 16, 4, 16, 6, 0 }, { 22, 16, 4, 16, 6, 0 }, { 23, 16, 3, 16, 6, 0 }, { 24, 16, 3, 16, 6, 0 }, + { 25, 16, 2, 16, 6, 0 }, { 26, 16, 2, 16, 6, 0 }, { 27, 16, 1, 16, 6, 0 }, { 28, 16, 1, 16, 6, 0 }, { 29, 16, 0, 16, 6, 0 }, + { 30, 16, 0, 16, 6, 0 }, { 31, 16, -1, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C2B18 = { - 32, { - { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 24, 6, 0 }, - { 16, 26, 13, 24, 6, 0 }, { 16, 25, 12, 24, 6, 0 }, { 16, 24, 12, 24, 6, 0 }, { 16, 23, 11, 24, 6, 0 }, { 16, 22, 11, 24, 6, 0 }, - { 16, 21, 10, 24, 6, 0 }, { 16, 20, 10, 24, 6, 0 }, { 16, 19, 9, 24, 6, 0 }, { 16, 18, 9, 24, 6, 0 }, { 16, 17, 8, 24, 6, 0 }, - { 16, 16, 8, 24, 6, 0 }, { 16, 15, 7, 24, 6, 0 }, { 16, 14, 7, 24, 6, 0 }, { 16, 13, 6, 24, 6, 0 }, { 16, 12, 6, 24, 6, 0 }, - { 16, 11, 5, 24, 6, 0 }, { 16, 10, 5, 24, 6, 0 }, { 16, 9, 4, 24, 6, 0 }, { 16, 8, 4, 24, 6, 0 }, { 16, 7, 3, 24, 6, 0 }, - { 16, 6, 3, 24, 6, 0 }, { 16, 5, 2, 24, 6, 0 }, { 16, 4, 2, 24, 6, 0 }, { 16, 3, 1, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, - { 16, 1, 0, 24, 6, 0 }, { 16, 0, 0, 24, 6, 0 }, + 32, { + { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 24, 6, 0 }, + { 16, 26, 13, 24, 6, 0 }, { 16, 25, 12, 24, 6, 0 }, { 16, 24, 12, 24, 6, 0 }, { 16, 23, 11, 24, 6, 0 }, { 16, 22, 11, 24, 6, 0 }, + { 16, 21, 10, 24, 6, 0 }, { 16, 20, 10, 24, 6, 0 }, { 16, 19, 9, 24, 6, 0 }, { 16, 18, 9, 24, 6, 0 }, { 16, 17, 8, 24, 6, 0 }, + { 16, 16, 8, 24, 6, 0 }, { 16, 15, 7, 24, 6, 0 }, { 16, 14, 7, 24, 6, 0 }, { 16, 13, 6, 24, 6, 0 }, { 16, 12, 6, 24, 6, 0 }, + { 16, 11, 5, 24, 6, 0 }, { 16, 10, 5, 24, 6, 0 }, { 16, 9, 4, 24, 6, 0 }, { 16, 8, 4, 24, 6, 0 }, { 16, 7, 3, 24, 6, 0 }, + { 16, 6, 3, 24, 6, 0 }, { 16, 5, 2, 24, 6, 0 }, { 16, 4, 2, 24, 6, 0 }, { 16, 3, 1, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, + { 16, 1, 0, 24, 6, 0 }, { 16, 0, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C2C3A = { - 64, { - { 31, 16, 63, 0, 8, 0 }, { 31, 16, 62, 0, 8, 0 }, { 30, 16, 61, 0, 8, 0 }, { 30, 16, 60, 0, 8, 0 }, { 29, 16, 59, 0, 8, 0 }, - { 29, 16, 58, 0, 8, 0 }, { 28, 16, 57, 0, 8, 0 }, { 28, 16, 56, 0, 8, 0 }, { 27, 16, 55, 0, 8, 0 }, { 27, 16, 54, 0, 8, 0 }, - { 26, 16, 53, 0, 8, 0 }, { 26, 16, 52, 0, 8, 0 }, { 25, 16, 51, 0, 8, 0 }, { 25, 16, 50, 0, 8, 0 }, { 24, 16, 49, 0, 8, 0 }, - { 24, 16, 48, 0, 8, 0 }, { 23, 16, 47, 0, 8, 0 }, { 23, 16, 46, 0, 8, 0 }, { 22, 16, 45, 0, 8, 0 }, { 22, 16, 44, 0, 8, 0 }, - { 21, 16, 43, 0, 8, 0 }, { 21, 16, 42, 0, 8, 0 }, { 20, 16, 41, 0, 8, 0 }, { 20, 16, 40, 0, 8, 0 }, { 19, 16, 39, 0, 8, 0 }, - { 19, 16, 38, 0, 8, 0 }, { 18, 16, 37, 0, 8, 0 }, { 18, 16, 36, 0, 8, 0 }, { 17, 16, 35, 0, 8, 0 }, { 17, 16, 34, 0, 8, 0 }, - { 16, 16, 33, 0, 8, 0 }, { 16, 16, 32, 0, 8, 0 }, { 15, 16, 31, 0, 8, 0 }, { 15, 16, 30, 0, 8, 0 }, { 14, 16, 29, 0, 8, 0 }, - { 14, 16, 28, 0, 8, 0 }, { 13, 16, 27, 0, 8, 0 }, { 13, 16, 26, 0, 8, 0 }, { 12, 16, 25, 0, 8, 0 }, { 12, 16, 24, 0, 8, 0 }, - { 11, 16, 23, 0, 8, 0 }, { 11, 16, 22, 0, 8, 0 }, { 10, 16, 21, 0, 8, 0 }, { 10, 16, 20, 0, 8, 0 }, { 9, 16, 19, 0, 8, 0 }, - { 9, 16, 18, 0, 8, 0 }, { 8, 16, 17, 0, 8, 0 }, { 8, 16, 16, 0, 8, 0 }, { 7, 16, 15, 0, 8, 0 }, { 7, 16, 14, 0, 8, 0 }, - { 6, 16, 13, 0, 8, 0 }, { 6, 16, 12, 0, 8, 0 }, { 5, 16, 11, 0, 8, 0 }, { 5, 16, 10, 0, 8, 0 }, { 4, 16, 9, 0, 8, 0 }, - { 4, 16, 8, 0, 8, 0 }, { 3, 16, 7, 0, 8, 0 }, { 3, 16, 6, 0, 8, 0 }, { 2, 16, 5, 0, 8, 0 }, { 2, 16, 4, 0, 8, 0 }, - { 1, 16, 3, 0, 8, 0 }, { 1, 16, 2, 0, 8, 0 }, { 0, 16, 1, 0, 8, 0 }, { 0, 16, 0, 0, 8, 0 }, + 64, { + { 31, 16, 63, 0, 8, 0 }, { 31, 16, 62, 0, 8, 0 }, { 30, 16, 61, 0, 8, 0 }, { 30, 16, 60, 0, 8, 0 }, { 29, 16, 59, 0, 8, 0 }, + { 29, 16, 58, 0, 8, 0 }, { 28, 16, 57, 0, 8, 0 }, { 28, 16, 56, 0, 8, 0 }, { 27, 16, 55, 0, 8, 0 }, { 27, 16, 54, 0, 8, 0 }, + { 26, 16, 53, 0, 8, 0 }, { 26, 16, 52, 0, 8, 0 }, { 25, 16, 51, 0, 8, 0 }, { 25, 16, 50, 0, 8, 0 }, { 24, 16, 49, 0, 8, 0 }, + { 24, 16, 48, 0, 8, 0 }, { 23, 16, 47, 0, 8, 0 }, { 23, 16, 46, 0, 8, 0 }, { 22, 16, 45, 0, 8, 0 }, { 22, 16, 44, 0, 8, 0 }, + { 21, 16, 43, 0, 8, 0 }, { 21, 16, 42, 0, 8, 0 }, { 20, 16, 41, 0, 8, 0 }, { 20, 16, 40, 0, 8, 0 }, { 19, 16, 39, 0, 8, 0 }, + { 19, 16, 38, 0, 8, 0 }, { 18, 16, 37, 0, 8, 0 }, { 18, 16, 36, 0, 8, 0 }, { 17, 16, 35, 0, 8, 0 }, { 17, 16, 34, 0, 8, 0 }, + { 16, 16, 33, 0, 8, 0 }, { 16, 16, 32, 0, 8, 0 }, { 15, 16, 31, 0, 8, 0 }, { 15, 16, 30, 0, 8, 0 }, { 14, 16, 29, 0, 8, 0 }, + { 14, 16, 28, 0, 8, 0 }, { 13, 16, 27, 0, 8, 0 }, { 13, 16, 26, 0, 8, 0 }, { 12, 16, 25, 0, 8, 0 }, { 12, 16, 24, 0, 8, 0 }, + { 11, 16, 23, 0, 8, 0 }, { 11, 16, 22, 0, 8, 0 }, { 10, 16, 21, 0, 8, 0 }, { 10, 16, 20, 0, 8, 0 }, { 9, 16, 19, 0, 8, 0 }, + { 9, 16, 18, 0, 8, 0 }, { 8, 16, 17, 0, 8, 0 }, { 8, 16, 16, 0, 8, 0 }, { 7, 16, 15, 0, 8, 0 }, { 7, 16, 14, 0, 8, 0 }, + { 6, 16, 13, 0, 8, 0 }, { 6, 16, 12, 0, 8, 0 }, { 5, 16, 11, 0, 8, 0 }, { 5, 16, 10, 0, 8, 0 }, { 4, 16, 9, 0, 8, 0 }, + { 4, 16, 8, 0, 8, 0 }, { 3, 16, 7, 0, 8, 0 }, { 3, 16, 6, 0, 8, 0 }, { 2, 16, 5, 0, 8, 0 }, { 2, 16, 4, 0, 8, 0 }, + { 1, 16, 3, 0, 8, 0 }, { 1, 16, 2, 0, 8, 0 }, { 0, 16, 1, 0, 8, 0 }, { 0, 16, 0, 0, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C2E7C = { - 64, { - { 16, 0, 63, 8, 8, 0 }, { 16, 0, 62, 8, 8, 0 }, { 16, 1, 61, 8, 8, 0 }, { 16, 1, 60, 8, 8, 0 }, { 16, 2, 59, 8, 8, 0 }, - { 16, 2, 58, 8, 8, 0 }, { 16, 3, 57, 8, 8, 0 }, { 16, 3, 56, 8, 8, 0 }, { 16, 4, 55, 8, 8, 0 }, { 16, 4, 54, 8, 8, 0 }, - { 16, 5, 53, 8, 8, 0 }, { 16, 5, 52, 8, 8, 0 }, { 16, 6, 51, 8, 8, 0 }, { 16, 6, 50, 8, 8, 0 }, { 16, 7, 49, 8, 8, 0 }, - { 16, 7, 48, 8, 8, 0 }, { 16, 8, 47, 8, 8, 0 }, { 16, 8, 46, 8, 8, 0 }, { 16, 9, 45, 8, 8, 0 }, { 16, 9, 44, 8, 8, 0 }, - { 16, 10, 43, 8, 8, 0 }, { 16, 10, 42, 8, 8, 0 }, { 16, 11, 41, 8, 8, 0 }, { 16, 11, 40, 8, 8, 0 }, { 16, 12, 39, 8, 8, 0 }, - { 16, 12, 38, 8, 8, 0 }, { 16, 13, 37, 8, 8, 0 }, { 16, 13, 36, 8, 8, 0 }, { 16, 14, 35, 8, 8, 0 }, { 16, 14, 34, 8, 8, 0 }, - { 16, 15, 33, 8, 8, 0 }, { 16, 15, 32, 8, 8, 0 }, { 16, 16, 31, 8, 8, 0 }, { 16, 16, 30, 8, 8, 0 }, { 16, 17, 29, 8, 8, 0 }, - { 16, 17, 28, 8, 8, 0 }, { 16, 18, 27, 8, 8, 0 }, { 16, 18, 26, 8, 8, 0 }, { 16, 19, 25, 8, 8, 0 }, { 16, 19, 24, 8, 8, 0 }, - { 16, 20, 23, 8, 8, 0 }, { 16, 20, 22, 8, 8, 0 }, { 16, 21, 21, 8, 8, 0 }, { 16, 21, 20, 8, 8, 0 }, { 16, 22, 19, 8, 8, 0 }, - { 16, 22, 18, 8, 8, 0 }, { 16, 23, 17, 8, 8, 0 }, { 16, 23, 16, 8, 8, 0 }, { 16, 24, 15, 8, 8, 0 }, { 16, 24, 14, 8, 8, 0 }, - { 16, 25, 13, 8, 8, 0 }, { 16, 25, 12, 8, 8, 0 }, { 16, 26, 11, 8, 8, 0 }, { 16, 26, 10, 8, 8, 0 }, { 16, 27, 9, 8, 8, 0 }, - { 16, 27, 8, 8, 8, 0 }, { 16, 28, 7, 8, 8, 0 }, { 16, 28, 6, 8, 8, 0 }, { 16, 29, 5, 8, 8, 0 }, { 16, 29, 4, 8, 8, 0 }, - { 16, 30, 3, 8, 8, 0 }, { 16, 30, 2, 8, 8, 0 }, { 16, 31, 1, 8, 8, 0 }, { 16, 31, 0, 8, 8, 0 }, + 64, { + { 16, 0, 63, 8, 8, 0 }, { 16, 0, 62, 8, 8, 0 }, { 16, 1, 61, 8, 8, 0 }, { 16, 1, 60, 8, 8, 0 }, { 16, 2, 59, 8, 8, 0 }, + { 16, 2, 58, 8, 8, 0 }, { 16, 3, 57, 8, 8, 0 }, { 16, 3, 56, 8, 8, 0 }, { 16, 4, 55, 8, 8, 0 }, { 16, 4, 54, 8, 8, 0 }, + { 16, 5, 53, 8, 8, 0 }, { 16, 5, 52, 8, 8, 0 }, { 16, 6, 51, 8, 8, 0 }, { 16, 6, 50, 8, 8, 0 }, { 16, 7, 49, 8, 8, 0 }, + { 16, 7, 48, 8, 8, 0 }, { 16, 8, 47, 8, 8, 0 }, { 16, 8, 46, 8, 8, 0 }, { 16, 9, 45, 8, 8, 0 }, { 16, 9, 44, 8, 8, 0 }, + { 16, 10, 43, 8, 8, 0 }, { 16, 10, 42, 8, 8, 0 }, { 16, 11, 41, 8, 8, 0 }, { 16, 11, 40, 8, 8, 0 }, { 16, 12, 39, 8, 8, 0 }, + { 16, 12, 38, 8, 8, 0 }, { 16, 13, 37, 8, 8, 0 }, { 16, 13, 36, 8, 8, 0 }, { 16, 14, 35, 8, 8, 0 }, { 16, 14, 34, 8, 8, 0 }, + { 16, 15, 33, 8, 8, 0 }, { 16, 15, 32, 8, 8, 0 }, { 16, 16, 31, 8, 8, 0 }, { 16, 16, 30, 8, 8, 0 }, { 16, 17, 29, 8, 8, 0 }, + { 16, 17, 28, 8, 8, 0 }, { 16, 18, 27, 8, 8, 0 }, { 16, 18, 26, 8, 8, 0 }, { 16, 19, 25, 8, 8, 0 }, { 16, 19, 24, 8, 8, 0 }, + { 16, 20, 23, 8, 8, 0 }, { 16, 20, 22, 8, 8, 0 }, { 16, 21, 21, 8, 8, 0 }, { 16, 21, 20, 8, 8, 0 }, { 16, 22, 19, 8, 8, 0 }, + { 16, 22, 18, 8, 8, 0 }, { 16, 23, 17, 8, 8, 0 }, { 16, 23, 16, 8, 8, 0 }, { 16, 24, 15, 8, 8, 0 }, { 16, 24, 14, 8, 8, 0 }, + { 16, 25, 13, 8, 8, 0 }, { 16, 25, 12, 8, 8, 0 }, { 16, 26, 11, 8, 8, 0 }, { 16, 26, 10, 8, 8, 0 }, { 16, 27, 9, 8, 8, 0 }, + { 16, 27, 8, 8, 8, 0 }, { 16, 28, 7, 8, 8, 0 }, { 16, 28, 6, 8, 8, 0 }, { 16, 29, 5, 8, 8, 0 }, { 16, 29, 4, 8, 8, 0 }, + { 16, 30, 3, 8, 8, 0 }, { 16, 30, 2, 8, 8, 0 }, { 16, 31, 1, 8, 8, 0 }, { 16, 31, 0, 8, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C30BE = { - 64, { - { 0, 16, 63, 16, 8, 0 }, { 0, 16, 62, 16, 8, 0 }, { 1, 16, 61, 16, 8, 0 }, { 1, 16, 60, 16, 8, 0 }, { 2, 16, 59, 16, 8, 0 }, - { 2, 16, 58, 16, 8, 0 }, { 3, 16, 57, 16, 8, 0 }, { 3, 16, 56, 16, 8, 0 }, { 4, 16, 55, 16, 8, 0 }, { 4, 16, 54, 16, 8, 0 }, - { 5, 16, 53, 16, 8, 0 }, { 5, 16, 52, 16, 8, 0 }, { 6, 16, 51, 16, 8, 0 }, { 6, 16, 50, 16, 8, 0 }, { 7, 16, 49, 16, 8, 0 }, - { 7, 16, 48, 16, 8, 0 }, { 8, 16, 47, 16, 8, 0 }, { 8, 16, 46, 16, 8, 0 }, { 9, 16, 45, 16, 8, 0 }, { 9, 16, 44, 16, 8, 0 }, - { 10, 16, 43, 16, 8, 0 }, { 10, 16, 42, 16, 8, 0 }, { 11, 16, 41, 16, 8, 0 }, { 11, 16, 40, 16, 8, 0 }, { 12, 16, 39, 16, 8, 0 }, - { 12, 16, 38, 16, 8, 0 }, { 13, 16, 37, 16, 8, 0 }, { 13, 16, 36, 16, 8, 0 }, { 14, 16, 35, 16, 8, 0 }, { 14, 16, 34, 16, 8, 0 }, - { 15, 16, 33, 16, 8, 0 }, { 15, 16, 32, 16, 8, 0 }, { 16, 16, 31, 16, 8, 0 }, { 16, 16, 30, 16, 8, 0 }, { 17, 16, 29, 16, 8, 0 }, - { 17, 16, 28, 16, 8, 0 }, { 18, 16, 27, 16, 8, 0 }, { 18, 16, 26, 16, 8, 0 }, { 19, 16, 25, 16, 8, 0 }, { 19, 16, 24, 16, 8, 0 }, - { 20, 16, 23, 16, 8, 0 }, { 20, 16, 22, 16, 8, 0 }, { 21, 16, 21, 16, 8, 0 }, { 21, 16, 20, 16, 8, 0 }, { 22, 16, 19, 16, 8, 0 }, - { 22, 16, 18, 16, 8, 0 }, { 23, 16, 17, 16, 8, 0 }, { 23, 16, 16, 16, 8, 0 }, { 24, 16, 15, 16, 8, 0 }, { 24, 16, 14, 16, 8, 0 }, - { 25, 16, 13, 16, 8, 0 }, { 25, 16, 12, 16, 8, 0 }, { 26, 16, 11, 16, 8, 0 }, { 26, 16, 10, 16, 8, 0 }, { 27, 16, 9, 16, 8, 0 }, - { 27, 16, 8, 16, 8, 0 }, { 28, 16, 7, 16, 8, 0 }, { 28, 16, 6, 16, 8, 0 }, { 29, 16, 5, 16, 8, 0 }, { 29, 16, 4, 16, 8, 0 }, - { 30, 16, 3, 16, 8, 0 }, { 30, 16, 2, 16, 8, 0 }, { 31, 16, 1, 16, 8, 0 }, { 31, 16, 0, 16, 8, 0 }, + 64, { + { 0, 16, 63, 16, 8, 0 }, { 0, 16, 62, 16, 8, 0 }, { 1, 16, 61, 16, 8, 0 }, { 1, 16, 60, 16, 8, 0 }, { 2, 16, 59, 16, 8, 0 }, + { 2, 16, 58, 16, 8, 0 }, { 3, 16, 57, 16, 8, 0 }, { 3, 16, 56, 16, 8, 0 }, { 4, 16, 55, 16, 8, 0 }, { 4, 16, 54, 16, 8, 0 }, + { 5, 16, 53, 16, 8, 0 }, { 5, 16, 52, 16, 8, 0 }, { 6, 16, 51, 16, 8, 0 }, { 6, 16, 50, 16, 8, 0 }, { 7, 16, 49, 16, 8, 0 }, + { 7, 16, 48, 16, 8, 0 }, { 8, 16, 47, 16, 8, 0 }, { 8, 16, 46, 16, 8, 0 }, { 9, 16, 45, 16, 8, 0 }, { 9, 16, 44, 16, 8, 0 }, + { 10, 16, 43, 16, 8, 0 }, { 10, 16, 42, 16, 8, 0 }, { 11, 16, 41, 16, 8, 0 }, { 11, 16, 40, 16, 8, 0 }, { 12, 16, 39, 16, 8, 0 }, + { 12, 16, 38, 16, 8, 0 }, { 13, 16, 37, 16, 8, 0 }, { 13, 16, 36, 16, 8, 0 }, { 14, 16, 35, 16, 8, 0 }, { 14, 16, 34, 16, 8, 0 }, + { 15, 16, 33, 16, 8, 0 }, { 15, 16, 32, 16, 8, 0 }, { 16, 16, 31, 16, 8, 0 }, { 16, 16, 30, 16, 8, 0 }, { 17, 16, 29, 16, 8, 0 }, + { 17, 16, 28, 16, 8, 0 }, { 18, 16, 27, 16, 8, 0 }, { 18, 16, 26, 16, 8, 0 }, { 19, 16, 25, 16, 8, 0 }, { 19, 16, 24, 16, 8, 0 }, + { 20, 16, 23, 16, 8, 0 }, { 20, 16, 22, 16, 8, 0 }, { 21, 16, 21, 16, 8, 0 }, { 21, 16, 20, 16, 8, 0 }, { 22, 16, 19, 16, 8, 0 }, + { 22, 16, 18, 16, 8, 0 }, { 23, 16, 17, 16, 8, 0 }, { 23, 16, 16, 16, 8, 0 }, { 24, 16, 15, 16, 8, 0 }, { 24, 16, 14, 16, 8, 0 }, + { 25, 16, 13, 16, 8, 0 }, { 25, 16, 12, 16, 8, 0 }, { 26, 16, 11, 16, 8, 0 }, { 26, 16, 10, 16, 8, 0 }, { 27, 16, 9, 16, 8, 0 }, + { 27, 16, 8, 16, 8, 0 }, { 28, 16, 7, 16, 8, 0 }, { 28, 16, 6, 16, 8, 0 }, { 29, 16, 5, 16, 8, 0 }, { 29, 16, 4, 16, 8, 0 }, + { 30, 16, 3, 16, 8, 0 }, { 30, 16, 2, 16, 8, 0 }, { 31, 16, 1, 16, 8, 0 }, { 31, 16, 0, 16, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C3300 = { - 64, { - { 16, 31, 63, 24, 8, 0 }, { 16, 31, 62, 24, 8, 0 }, { 16, 30, 61, 24, 8, 0 }, { 16, 30, 60, 24, 8, 0 }, { 16, 29, 59, 24, 8, 0 }, - { 16, 29, 58, 24, 8, 0 }, { 16, 28, 57, 24, 8, 0 }, { 16, 28, 56, 24, 8, 0 }, { 16, 27, 55, 24, 8, 0 }, { 16, 27, 54, 24, 8, 0 }, - { 16, 26, 53, 24, 8, 0 }, { 16, 26, 52, 24, 8, 0 }, { 16, 25, 51, 24, 8, 0 }, { 16, 25, 50, 24, 8, 0 }, { 16, 24, 49, 24, 8, 0 }, - { 16, 24, 48, 24, 8, 0 }, { 16, 23, 47, 24, 8, 0 }, { 16, 23, 46, 24, 8, 0 }, { 16, 22, 45, 24, 8, 0 }, { 16, 22, 44, 24, 8, 0 }, - { 16, 21, 43, 24, 8, 0 }, { 16, 21, 42, 24, 8, 0 }, { 16, 20, 41, 24, 8, 0 }, { 16, 20, 40, 24, 8, 0 }, { 16, 19, 39, 24, 8, 0 }, - { 16, 19, 38, 24, 8, 0 }, { 16, 18, 37, 24, 8, 0 }, { 16, 18, 36, 24, 8, 0 }, { 16, 17, 35, 24, 8, 0 }, { 16, 17, 34, 24, 8, 0 }, - { 16, 16, 33, 24, 8, 0 }, { 16, 16, 32, 24, 8, 0 }, { 16, 15, 31, 24, 8, 0 }, { 16, 15, 30, 24, 8, 0 }, { 16, 14, 29, 24, 8, 0 }, - { 16, 14, 28, 24, 8, 0 }, { 16, 13, 27, 24, 8, 0 }, { 16, 13, 26, 24, 8, 0 }, { 16, 12, 25, 24, 8, 0 }, { 16, 12, 24, 24, 8, 0 }, - { 16, 11, 23, 24, 8, 0 }, { 16, 11, 22, 24, 8, 0 }, { 16, 10, 21, 24, 8, 0 }, { 16, 10, 20, 24, 8, 0 }, { 16, 9, 19, 24, 8, 0 }, - { 16, 9, 18, 24, 8, 0 }, { 16, 8, 17, 24, 8, 0 }, { 16, 8, 16, 24, 8, 0 }, { 16, 7, 15, 24, 8, 0 }, { 16, 7, 14, 24, 8, 0 }, - { 16, 6, 13, 24, 8, 0 }, { 16, 6, 12, 24, 8, 0 }, { 16, 5, 11, 24, 8, 0 }, { 16, 5, 10, 24, 8, 0 }, { 16, 4, 9, 24, 8, 0 }, - { 16, 4, 8, 24, 8, 0 }, { 16, 3, 7, 24, 8, 0 }, { 16, 3, 6, 24, 8, 0 }, { 16, 2, 5, 24, 8, 0 }, { 16, 2, 4, 24, 8, 0 }, - { 16, 1, 3, 24, 8, 0 }, { 16, 1, 2, 24, 8, 0 }, { 16, 0, 1, 24, 8, 0 }, { 16, 0, 0, 24, 8, 0 }, + 64, { + { 16, 31, 63, 24, 8, 0 }, { 16, 31, 62, 24, 8, 0 }, { 16, 30, 61, 24, 8, 0 }, { 16, 30, 60, 24, 8, 0 }, { 16, 29, 59, 24, 8, 0 }, + { 16, 29, 58, 24, 8, 0 }, { 16, 28, 57, 24, 8, 0 }, { 16, 28, 56, 24, 8, 0 }, { 16, 27, 55, 24, 8, 0 }, { 16, 27, 54, 24, 8, 0 }, + { 16, 26, 53, 24, 8, 0 }, { 16, 26, 52, 24, 8, 0 }, { 16, 25, 51, 24, 8, 0 }, { 16, 25, 50, 24, 8, 0 }, { 16, 24, 49, 24, 8, 0 }, + { 16, 24, 48, 24, 8, 0 }, { 16, 23, 47, 24, 8, 0 }, { 16, 23, 46, 24, 8, 0 }, { 16, 22, 45, 24, 8, 0 }, { 16, 22, 44, 24, 8, 0 }, + { 16, 21, 43, 24, 8, 0 }, { 16, 21, 42, 24, 8, 0 }, { 16, 20, 41, 24, 8, 0 }, { 16, 20, 40, 24, 8, 0 }, { 16, 19, 39, 24, 8, 0 }, + { 16, 19, 38, 24, 8, 0 }, { 16, 18, 37, 24, 8, 0 }, { 16, 18, 36, 24, 8, 0 }, { 16, 17, 35, 24, 8, 0 }, { 16, 17, 34, 24, 8, 0 }, + { 16, 16, 33, 24, 8, 0 }, { 16, 16, 32, 24, 8, 0 }, { 16, 15, 31, 24, 8, 0 }, { 16, 15, 30, 24, 8, 0 }, { 16, 14, 29, 24, 8, 0 }, + { 16, 14, 28, 24, 8, 0 }, { 16, 13, 27, 24, 8, 0 }, { 16, 13, 26, 24, 8, 0 }, { 16, 12, 25, 24, 8, 0 }, { 16, 12, 24, 24, 8, 0 }, + { 16, 11, 23, 24, 8, 0 }, { 16, 11, 22, 24, 8, 0 }, { 16, 10, 21, 24, 8, 0 }, { 16, 10, 20, 24, 8, 0 }, { 16, 9, 19, 24, 8, 0 }, + { 16, 9, 18, 24, 8, 0 }, { 16, 8, 17, 24, 8, 0 }, { 16, 8, 16, 24, 8, 0 }, { 16, 7, 15, 24, 8, 0 }, { 16, 7, 14, 24, 8, 0 }, + { 16, 6, 13, 24, 8, 0 }, { 16, 6, 12, 24, 8, 0 }, { 16, 5, 11, 24, 8, 0 }, { 16, 5, 10, 24, 8, 0 }, { 16, 4, 9, 24, 8, 0 }, + { 16, 4, 8, 24, 8, 0 }, { 16, 3, 7, 24, 8, 0 }, { 16, 3, 6, 24, 8, 0 }, { 16, 2, 5, 24, 8, 0 }, { 16, 2, 4, 24, 8, 0 }, + { 16, 1, 3, 24, 8, 0 }, { 16, 1, 2, 24, 8, 0 }, { 16, 0, 1, 24, 8, 0 }, { 16, 0, 0, 24, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C09B2 = { - 32, { - { 31, 16, 8, 0, 0, 0 }, { 30, 16, 8, 0, 0, 0 }, { 29, 16, 8, 0, 0, 0 }, { 28, 16, 8, 0, 0, 0 }, { 27, 16, 8, 0, 0, 0 }, - { 26, 16, 8, 0, 0, 0 }, { 25, 16, 8, 0, 0, 0 }, { 24, 16, 8, 0, 0, 0 }, { 23, 16, 7, 0, 5, 0 }, { 22, 16, 7, 0, 5, 0 }, - { 21, 16, 7, 0, 5, 0 }, { 20, 16, 7, 0, 5, 0 }, { 19, 16, 7, 0, 5, 0 }, { 18, 16, 7, 0, 5, 0 }, { 17, 16, 6, 0, 5, 0 }, - { 16, 16, 6, 0, 5, 0 }, { 15, 16, 6, 0, 5, 0 }, { 14, 16, 6, 0, 5, 0 }, { 13, 16, 5, 0, 5, 0 }, { 12, 16, 5, 0, 5, 0 }, - { 11, 16, 5, 0, 5, 0 }, { 10, 16, 4, 0, 5, 0 }, { 9, 16, 4, 0, 5, 0 }, { 8, 16, 4, 0, 5, 0 }, { 7, 16, 3, 0, 6, 0 }, - { 6, 16, 3, 0, 6, 0 }, { 5, 16, 2, 0, 6, 0 }, { 4, 16, 2, 0, 6, 0 }, { 3, 16, 1, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, - { 1, 16, 0, 0, 6, 0 }, { 0, 16, 0, 0, 6, 0 }, + 32, { + { 31, 16, 8, 0, 0, 0 }, { 30, 16, 8, 0, 0, 0 }, { 29, 16, 8, 0, 0, 0 }, { 28, 16, 8, 0, 0, 0 }, { 27, 16, 8, 0, 0, 0 }, + { 26, 16, 8, 0, 0, 0 }, { 25, 16, 8, 0, 0, 0 }, { 24, 16, 8, 0, 0, 0 }, { 23, 16, 7, 0, 5, 0 }, { 22, 16, 7, 0, 5, 0 }, + { 21, 16, 7, 0, 5, 0 }, { 20, 16, 7, 0, 5, 0 }, { 19, 16, 7, 0, 5, 0 }, { 18, 16, 7, 0, 5, 0 }, { 17, 16, 6, 0, 5, 0 }, + { 16, 16, 6, 0, 5, 0 }, { 15, 16, 6, 0, 5, 0 }, { 14, 16, 6, 0, 5, 0 }, { 13, 16, 5, 0, 5, 0 }, { 12, 16, 5, 0, 5, 0 }, + { 11, 16, 5, 0, 5, 0 }, { 10, 16, 4, 0, 5, 0 }, { 9, 16, 4, 0, 5, 0 }, { 8, 16, 4, 0, 5, 0 }, { 7, 16, 3, 0, 6, 0 }, + { 6, 16, 3, 0, 6, 0 }, { 5, 16, 2, 0, 6, 0 }, { 4, 16, 2, 0, 6, 0 }, { 3, 16, 1, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, + { 1, 16, 0, 0, 6, 0 }, { 0, 16, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C0AD4 = { - 32, { - { 16, 0, 8, 8, 0, 0 }, { 16, 1, 8, 8, 0, 0 }, { 16, 2, 8, 8, 0, 0 }, { 16, 3, 8, 8, 0, 0 }, { 16, 4, 8, 8, 0, 0 }, - { 16, 5, 8, 8, 0, 0 }, { 16, 6, 8, 8, 0, 0 }, { 16, 7, 8, 8, 0, 0 }, { 16, 8, 7, 8, 5, 0 }, { 16, 9, 7, 8, 5, 0 }, - { 16, 10, 7, 8, 5, 0 }, { 16, 11, 7, 8, 5, 0 }, { 16, 12, 7, 8, 5, 0 }, { 16, 13, 7, 8, 5, 0 }, { 16, 14, 6, 8, 5, 0 }, - { 16, 15, 6, 8, 5, 0 }, { 16, 16, 6, 8, 5, 0 }, { 16, 17, 6, 8, 5, 0 }, { 16, 18, 5, 8, 5, 0 }, { 16, 19, 5, 8, 5, 0 }, - { 16, 20, 5, 8, 5, 0 }, { 16, 21, 4, 8, 5, 0 }, { 16, 22, 4, 8, 5, 0 }, { 16, 23, 4, 8, 5, 0 }, { 16, 24, 3, 8, 6, 0 }, - { 16, 25, 3, 8, 6, 0 }, { 16, 26, 3, 8, 6, 0 }, { 16, 27, 2, 8, 6, 0 }, { 16, 28, 2, 8, 6, 0 }, { 16, 29, 1, 8, 6, 0 }, - { 16, 30, 1, 8, 6, 0 }, { 16, 31, 0, 8, 6, 0 }, + 32, { + { 16, 0, 8, 8, 0, 0 }, { 16, 1, 8, 8, 0, 0 }, { 16, 2, 8, 8, 0, 0 }, { 16, 3, 8, 8, 0, 0 }, { 16, 4, 8, 8, 0, 0 }, + { 16, 5, 8, 8, 0, 0 }, { 16, 6, 8, 8, 0, 0 }, { 16, 7, 8, 8, 0, 0 }, { 16, 8, 7, 8, 5, 0 }, { 16, 9, 7, 8, 5, 0 }, + { 16, 10, 7, 8, 5, 0 }, { 16, 11, 7, 8, 5, 0 }, { 16, 12, 7, 8, 5, 0 }, { 16, 13, 7, 8, 5, 0 }, { 16, 14, 6, 8, 5, 0 }, + { 16, 15, 6, 8, 5, 0 }, { 16, 16, 6, 8, 5, 0 }, { 16, 17, 6, 8, 5, 0 }, { 16, 18, 5, 8, 5, 0 }, { 16, 19, 5, 8, 5, 0 }, + { 16, 20, 5, 8, 5, 0 }, { 16, 21, 4, 8, 5, 0 }, { 16, 22, 4, 8, 5, 0 }, { 16, 23, 4, 8, 5, 0 }, { 16, 24, 3, 8, 6, 0 }, + { 16, 25, 3, 8, 6, 0 }, { 16, 26, 3, 8, 6, 0 }, { 16, 27, 2, 8, 6, 0 }, { 16, 28, 2, 8, 6, 0 }, { 16, 29, 1, 8, 6, 0 }, + { 16, 30, 1, 8, 6, 0 }, { 16, 31, 0, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C0BF6 = { - 32, { - { 0, 16, 8, 16, 0, 0 }, { 1, 16, 8, 16, 0, 0 }, { 2, 16, 8, 16, 0, 0 }, { 3, 16, 8, 16, 0, 0 }, { 4, 16, 8, 16, 0, 0 }, - { 5, 16, 8, 16, 0, 0 }, { 6, 16, 8, 16, 0, 0 }, { 7, 16, 8, 16, 0, 0 }, { 8, 16, 7, 16, 5, 0 }, { 9, 16, 7, 16, 5, 0 }, - { 10, 16, 7, 16, 5, 0 }, { 11, 16, 7, 16, 5, 0 }, { 12, 16, 7, 16, 5, 0 }, { 13, 16, 7, 16, 5, 0 }, { 14, 16, 6, 16, 5, 0 }, - { 15, 16, 6, 16, 5, 0 }, { 16, 16, 6, 16, 5, 0 }, { 17, 16, 6, 16, 5, 0 }, { 18, 16, 5, 16, 5, 0 }, { 19, 16, 5, 16, 5, 0 }, - { 20, 16, 5, 16, 5, 0 }, { 21, 16, 4, 16, 5, 0 }, { 22, 16, 4, 16, 5, 0 }, { 23, 16, 4, 16, 5, 0 }, { 24, 16, 3, 16, 6, 0 }, - { 25, 16, 3, 16, 6, 0 }, { 26, 16, 3, 16, 6, 0 }, { 27, 16, 2, 16, 6, 0 }, { 28, 16, 2, 16, 6, 0 }, { 29, 16, 1, 16, 6, 0 }, - { 30, 16, 1, 16, 6, 0 }, { 31, 16, 0, 16, 6, 0 }, + 32, { + { 0, 16, 8, 16, 0, 0 }, { 1, 16, 8, 16, 0, 0 }, { 2, 16, 8, 16, 0, 0 }, { 3, 16, 8, 16, 0, 0 }, { 4, 16, 8, 16, 0, 0 }, + { 5, 16, 8, 16, 0, 0 }, { 6, 16, 8, 16, 0, 0 }, { 7, 16, 8, 16, 0, 0 }, { 8, 16, 7, 16, 5, 0 }, { 9, 16, 7, 16, 5, 0 }, + { 10, 16, 7, 16, 5, 0 }, { 11, 16, 7, 16, 5, 0 }, { 12, 16, 7, 16, 5, 0 }, { 13, 16, 7, 16, 5, 0 }, { 14, 16, 6, 16, 5, 0 }, + { 15, 16, 6, 16, 5, 0 }, { 16, 16, 6, 16, 5, 0 }, { 17, 16, 6, 16, 5, 0 }, { 18, 16, 5, 16, 5, 0 }, { 19, 16, 5, 16, 5, 0 }, + { 20, 16, 5, 16, 5, 0 }, { 21, 16, 4, 16, 5, 0 }, { 22, 16, 4, 16, 5, 0 }, { 23, 16, 4, 16, 5, 0 }, { 24, 16, 3, 16, 6, 0 }, + { 25, 16, 3, 16, 6, 0 }, { 26, 16, 3, 16, 6, 0 }, { 27, 16, 2, 16, 6, 0 }, { 28, 16, 2, 16, 6, 0 }, { 29, 16, 1, 16, 6, 0 }, + { 30, 16, 1, 16, 6, 0 }, { 31, 16, 0, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C0D18 = { - 32, { - { 16, 31, 8, 24, 0, 0 }, { 16, 30, 8, 24, 0, 0 }, { 16, 29, 8, 24, 0, 0 }, { 16, 28, 8, 24, 0, 0 }, { 16, 27, 8, 24, 0, 0 }, - { 16, 26, 8, 24, 0, 0 }, { 16, 25, 8, 24, 0, 0 }, { 16, 24, 8, 24, 0, 0 }, { 16, 23, 7, 24, 5, 0 }, { 16, 22, 7, 24, 5, 0 }, - { 16, 21, 7, 24, 5, 0 }, { 16, 20, 7, 24, 5, 0 }, { 16, 19, 7, 24, 5, 0 }, { 16, 18, 7, 24, 5, 0 }, { 16, 17, 6, 24, 5, 0 }, - { 16, 16, 6, 24, 5, 0 }, { 16, 15, 6, 24, 5, 0 }, { 16, 14, 6, 24, 5, 0 }, { 16, 13, 5, 24, 5, 0 }, { 16, 12, 5, 24, 5, 0 }, - { 16, 11, 5, 24, 5, 0 }, { 16, 10, 4, 24, 5, 0 }, { 16, 9, 4, 24, 5, 0 }, { 16, 8, 4, 24, 5, 0 }, { 16, 7, 3, 24, 6, 0 }, - { 16, 6, 3, 24, 6, 0 }, { 16, 5, 2, 24, 6, 0 }, { 16, 4, 2, 24, 6, 0 }, { 16, 3, 1, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, - { 16, 1, 0, 24, 6, 0 }, { 16, 0, 0, 24, 6, 0 }, + 32, { + { 16, 31, 8, 24, 0, 0 }, { 16, 30, 8, 24, 0, 0 }, { 16, 29, 8, 24, 0, 0 }, { 16, 28, 8, 24, 0, 0 }, { 16, 27, 8, 24, 0, 0 }, + { 16, 26, 8, 24, 0, 0 }, { 16, 25, 8, 24, 0, 0 }, { 16, 24, 8, 24, 0, 0 }, { 16, 23, 7, 24, 5, 0 }, { 16, 22, 7, 24, 5, 0 }, + { 16, 21, 7, 24, 5, 0 }, { 16, 20, 7, 24, 5, 0 }, { 16, 19, 7, 24, 5, 0 }, { 16, 18, 7, 24, 5, 0 }, { 16, 17, 6, 24, 5, 0 }, + { 16, 16, 6, 24, 5, 0 }, { 16, 15, 6, 24, 5, 0 }, { 16, 14, 6, 24, 5, 0 }, { 16, 13, 5, 24, 5, 0 }, { 16, 12, 5, 24, 5, 0 }, + { 16, 11, 5, 24, 5, 0 }, { 16, 10, 4, 24, 5, 0 }, { 16, 9, 4, 24, 5, 0 }, { 16, 8, 4, 24, 5, 0 }, { 16, 7, 3, 24, 6, 0 }, + { 16, 6, 3, 24, 6, 0 }, { 16, 5, 2, 24, 6, 0 }, { 16, 4, 2, 24, 6, 0 }, { 16, 3, 1, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, + { 16, 1, 0, 24, 6, 0 }, { 16, 0, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C1DEE = { - 37, { - { 31, 16, 31, 0, 6, 0 }, { 30, 16, 31, 0, 6, 0 }, { 29, 16, 30, 0, 6, 0 }, { 28, 16, 30, 0, 6, 0 }, { 27, 16, 29, 0, 6, 0 }, - { 26, 16, 28, 0, 6, 0 }, { 25, 16, 28, 0, 6, 0 }, { 24, 16, 27, 0, 6, 0 }, { 23, 16, 26, 0, 6, 0 }, { 22, 16, 26, 0, 6, 0 }, - { 21, 16, 25, 0, 7, 0 }, { 20, 16, 24, 0, 7, 0 }, { 19, 16, 23, 0, 7, 0 }, { 18, 16, 23, 0, 7, 0 }, { 17, 16, 22, 0, 7, 0 }, - { 16, 16, 21, 0, 7, 0 }, { 15, 16, 20, 0, 7, 0 }, { 14, 16, 19, 0, 7, 0 }, { 13, 16, 18, 0, 7, 0 }, { 12, 16, 16, 0, 7, 0 }, - { 11, 16, 15, 0, 7, 0 }, { 10, 16, 14, 0, 7, 0 }, { 9, 16, 13, 0, 7, 0 }, { 8, 16, 12, 0, 7, 0 }, { 8, 16, 11, 0, 7, 0 }, - { 7, 16, 10, 0, 7, 0 }, { 6, 16, 9, 0, 7, 0 }, { 5, 16, 8, 0, 8, 0 }, { 5, 16, 7, 0, 8, 0 }, { 4, 16, 6, 0, 8, 0 }, - { 3, 16, 5, 0, 8, 0 }, { 3, 16, 4, 0, 8, 0 }, { 2, 16, 3, 0, 8, 0 }, { 1, 16, 2, 0, 8, 0 }, { 1, 16, 1, 0, 8, 0 }, - { 0, 16, 0, 0, 8, 0 }, { 0, 16, -1, 0, 8, 0 }, + 37, { + { 31, 16, 31, 0, 6, 0 }, { 30, 16, 31, 0, 6, 0 }, { 29, 16, 30, 0, 6, 0 }, { 28, 16, 30, 0, 6, 0 }, { 27, 16, 29, 0, 6, 0 }, + { 26, 16, 28, 0, 6, 0 }, { 25, 16, 28, 0, 6, 0 }, { 24, 16, 27, 0, 6, 0 }, { 23, 16, 26, 0, 6, 0 }, { 22, 16, 26, 0, 6, 0 }, + { 21, 16, 25, 0, 7, 0 }, { 20, 16, 24, 0, 7, 0 }, { 19, 16, 23, 0, 7, 0 }, { 18, 16, 23, 0, 7, 0 }, { 17, 16, 22, 0, 7, 0 }, + { 16, 16, 21, 0, 7, 0 }, { 15, 16, 20, 0, 7, 0 }, { 14, 16, 19, 0, 7, 0 }, { 13, 16, 18, 0, 7, 0 }, { 12, 16, 16, 0, 7, 0 }, + { 11, 16, 15, 0, 7, 0 }, { 10, 16, 14, 0, 7, 0 }, { 9, 16, 13, 0, 7, 0 }, { 8, 16, 12, 0, 7, 0 }, { 8, 16, 11, 0, 7, 0 }, + { 7, 16, 10, 0, 7, 0 }, { 6, 16, 9, 0, 7, 0 }, { 5, 16, 8, 0, 8, 0 }, { 5, 16, 7, 0, 8, 0 }, { 4, 16, 6, 0, 8, 0 }, + { 3, 16, 5, 0, 8, 0 }, { 3, 16, 4, 0, 8, 0 }, { 2, 16, 3, 0, 8, 0 }, { 1, 16, 2, 0, 8, 0 }, { 1, 16, 1, 0, 8, 0 }, + { 0, 16, 0, 0, 8, 0 }, { 0, 16, -1, 0, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C1F3D = { - 37, { - { 16, 0, 31, 8, 6, 0 }, { 16, 1, 31, 8, 6, 0 }, { 16, 2, 30, 8, 6, 0 }, { 16, 3, 30, 8, 6, 0 }, { 16, 4, 29, 8, 6, 0 }, - { 16, 5, 28, 8, 6, 0 }, { 16, 6, 28, 8, 6, 0 }, { 16, 7, 27, 8, 6, 0 }, { 16, 8, 26, 8, 6, 0 }, { 16, 9, 26, 8, 6, 0 }, - { 16, 10, 25, 8, 7, 0 }, { 16, 11, 24, 8, 7, 0 }, { 16, 12, 23, 8, 7, 0 }, { 16, 13, 23, 8, 7, 0 }, { 16, 14, 22, 8, 7, 0 }, - { 16, 15, 21, 8, 7, 0 }, { 16, 16, 20, 8, 7, 0 }, { 16, 17, 19, 8, 7, 0 }, { 16, 18, 18, 8, 7, 0 }, { 16, 19, 16, 8, 7, 0 }, - { 16, 20, 15, 8, 7, 0 }, { 16, 21, 14, 8, 7, 0 }, { 16, 22, 13, 8, 7, 0 }, { 16, 23, 12, 8, 7, 0 }, { 16, 23, 11, 8, 7, 0 }, - { 16, 24, 10, 8, 7, 0 }, { 16, 25, 9, 8, 7, 0 }, { 16, 26, 8, 8, 8, 0 }, { 16, 26, 7, 8, 8, 0 }, { 16, 27, 6, 8, 8, 0 }, - { 16, 28, 5, 8, 8, 0 }, { 16, 28, 4, 8, 8, 0 }, { 16, 29, 3, 8, 8, 0 }, { 16, 30, 2, 8, 8, 0 }, { 16, 30, 1, 8, 8, 0 }, - { 16, 31, 0, 8, 8, 0 }, { 16, 31, -1, 8, 8, 0 }, + 37, { + { 16, 0, 31, 8, 6, 0 }, { 16, 1, 31, 8, 6, 0 }, { 16, 2, 30, 8, 6, 0 }, { 16, 3, 30, 8, 6, 0 }, { 16, 4, 29, 8, 6, 0 }, + { 16, 5, 28, 8, 6, 0 }, { 16, 6, 28, 8, 6, 0 }, { 16, 7, 27, 8, 6, 0 }, { 16, 8, 26, 8, 6, 0 }, { 16, 9, 26, 8, 6, 0 }, + { 16, 10, 25, 8, 7, 0 }, { 16, 11, 24, 8, 7, 0 }, { 16, 12, 23, 8, 7, 0 }, { 16, 13, 23, 8, 7, 0 }, { 16, 14, 22, 8, 7, 0 }, + { 16, 15, 21, 8, 7, 0 }, { 16, 16, 20, 8, 7, 0 }, { 16, 17, 19, 8, 7, 0 }, { 16, 18, 18, 8, 7, 0 }, { 16, 19, 16, 8, 7, 0 }, + { 16, 20, 15, 8, 7, 0 }, { 16, 21, 14, 8, 7, 0 }, { 16, 22, 13, 8, 7, 0 }, { 16, 23, 12, 8, 7, 0 }, { 16, 23, 11, 8, 7, 0 }, + { 16, 24, 10, 8, 7, 0 }, { 16, 25, 9, 8, 7, 0 }, { 16, 26, 8, 8, 8, 0 }, { 16, 26, 7, 8, 8, 0 }, { 16, 27, 6, 8, 8, 0 }, + { 16, 28, 5, 8, 8, 0 }, { 16, 28, 4, 8, 8, 0 }, { 16, 29, 3, 8, 8, 0 }, { 16, 30, 2, 8, 8, 0 }, { 16, 30, 1, 8, 8, 0 }, + { 16, 31, 0, 8, 8, 0 }, { 16, 31, -1, 8, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C208C = { - 37, { - { 0, 16, 31, 16, 6, 0 }, { 1, 16, 31, 16, 6, 0 }, { 2, 16, 30, 16, 6, 0 }, { 3, 16, 30, 16, 6, 0 }, { 4, 16, 29, 16, 6, 0 }, - { 5, 16, 28, 16, 6, 0 }, { 6, 16, 28, 16, 6, 0 }, { 7, 16, 27, 16, 6, 0 }, { 8, 16, 26, 16, 6, 0 }, { 9, 16, 26, 16, 6, 0 }, - { 10, 16, 25, 16, 7, 0 }, { 11, 16, 24, 16, 7, 0 }, { 12, 16, 23, 16, 7, 0 }, { 13, 16, 23, 16, 7, 0 }, { 14, 16, 22, 16, 7, 0 }, - { 15, 16, 21, 16, 7, 0 }, { 16, 16, 20, 16, 7, 0 }, { 17, 16, 19, 16, 7, 0 }, { 18, 16, 18, 16, 7, 0 }, { 19, 16, 16, 16, 7, 0 }, - { 20, 16, 15, 16, 7, 0 }, { 21, 16, 14, 16, 7, 0 }, { 22, 16, 13, 16, 7, 0 }, { 23, 16, 12, 16, 7, 0 }, { 23, 16, 11, 16, 7, 0 }, - { 24, 16, 10, 16, 7, 0 }, { 25, 16, 9, 16, 7, 0 }, { 26, 16, 8, 16, 8, 0 }, { 26, 16, 7, 16, 8, 0 }, { 27, 16, 6, 16, 8, 0 }, - { 28, 16, 5, 16, 8, 0 }, { 28, 16, 4, 16, 8, 0 }, { 29, 16, 3, 16, 8, 0 }, { 30, 16, 2, 16, 8, 0 }, { 30, 16, 1, 16, 8, 0 }, - { 31, 16, 0, 16, 8, 0 }, { 31, 16, -1, 16, 8, 0 }, + 37, { + { 0, 16, 31, 16, 6, 0 }, { 1, 16, 31, 16, 6, 0 }, { 2, 16, 30, 16, 6, 0 }, { 3, 16, 30, 16, 6, 0 }, { 4, 16, 29, 16, 6, 0 }, + { 5, 16, 28, 16, 6, 0 }, { 6, 16, 28, 16, 6, 0 }, { 7, 16, 27, 16, 6, 0 }, { 8, 16, 26, 16, 6, 0 }, { 9, 16, 26, 16, 6, 0 }, + { 10, 16, 25, 16, 7, 0 }, { 11, 16, 24, 16, 7, 0 }, { 12, 16, 23, 16, 7, 0 }, { 13, 16, 23, 16, 7, 0 }, { 14, 16, 22, 16, 7, 0 }, + { 15, 16, 21, 16, 7, 0 }, { 16, 16, 20, 16, 7, 0 }, { 17, 16, 19, 16, 7, 0 }, { 18, 16, 18, 16, 7, 0 }, { 19, 16, 16, 16, 7, 0 }, + { 20, 16, 15, 16, 7, 0 }, { 21, 16, 14, 16, 7, 0 }, { 22, 16, 13, 16, 7, 0 }, { 23, 16, 12, 16, 7, 0 }, { 23, 16, 11, 16, 7, 0 }, + { 24, 16, 10, 16, 7, 0 }, { 25, 16, 9, 16, 7, 0 }, { 26, 16, 8, 16, 8, 0 }, { 26, 16, 7, 16, 8, 0 }, { 27, 16, 6, 16, 8, 0 }, + { 28, 16, 5, 16, 8, 0 }, { 28, 16, 4, 16, 8, 0 }, { 29, 16, 3, 16, 8, 0 }, { 30, 16, 2, 16, 8, 0 }, { 30, 16, 1, 16, 8, 0 }, + { 31, 16, 0, 16, 8, 0 }, { 31, 16, -1, 16, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C21DB = { - 37, { - { 16, 31, 31, 24, 6, 0 }, { 16, 30, 31, 24, 6, 0 }, { 16, 29, 30, 24, 6, 0 }, { 16, 28, 30, 24, 6, 0 }, { 16, 27, 29, 24, 6, 0 }, - { 16, 26, 28, 24, 6, 0 }, { 16, 25, 28, 24, 6, 0 }, { 16, 24, 27, 24, 6, 0 }, { 16, 23, 26, 24, 6, 0 }, { 16, 22, 26, 24, 6, 0 }, - { 16, 21, 25, 24, 7, 0 }, { 16, 20, 24, 24, 7, 0 }, { 16, 19, 23, 24, 7, 0 }, { 16, 18, 23, 24, 7, 0 }, { 16, 17, 22, 24, 7, 0 }, - { 16, 16, 21, 24, 7, 0 }, { 16, 15, 20, 24, 7, 0 }, { 16, 14, 19, 24, 7, 0 }, { 16, 13, 18, 24, 7, 0 }, { 16, 12, 16, 24, 7, 0 }, - { 16, 11, 15, 24, 7, 0 }, { 16, 10, 14, 24, 7, 0 }, { 16, 9, 13, 24, 7, 0 }, { 16, 8, 12, 24, 7, 0 }, { 16, 8, 11, 24, 7, 0 }, - { 16, 7, 10, 24, 7, 0 }, { 16, 6, 9, 24, 7, 0 }, { 16, 5, 8, 24, 8, 0 }, { 16, 5, 7, 24, 8, 0 }, { 16, 4, 6, 24, 8, 0 }, - { 16, 3, 5, 24, 8, 0 }, { 16, 3, 4, 24, 8, 0 }, { 16, 2, 3, 24, 8, 0 }, { 16, 1, 2, 24, 8, 0 }, { 16, 1, 1, 24, 8, 0 }, - { 16, 0, 0, 24, 8, 0 }, { 16, 0, -1, 24, 8, 0 }, + 37, { + { 16, 31, 31, 24, 6, 0 }, { 16, 30, 31, 24, 6, 0 }, { 16, 29, 30, 24, 6, 0 }, { 16, 28, 30, 24, 6, 0 }, { 16, 27, 29, 24, 6, 0 }, + { 16, 26, 28, 24, 6, 0 }, { 16, 25, 28, 24, 6, 0 }, { 16, 24, 27, 24, 6, 0 }, { 16, 23, 26, 24, 6, 0 }, { 16, 22, 26, 24, 6, 0 }, + { 16, 21, 25, 24, 7, 0 }, { 16, 20, 24, 24, 7, 0 }, { 16, 19, 23, 24, 7, 0 }, { 16, 18, 23, 24, 7, 0 }, { 16, 17, 22, 24, 7, 0 }, + { 16, 16, 21, 24, 7, 0 }, { 16, 15, 20, 24, 7, 0 }, { 16, 14, 19, 24, 7, 0 }, { 16, 13, 18, 24, 7, 0 }, { 16, 12, 16, 24, 7, 0 }, + { 16, 11, 15, 24, 7, 0 }, { 16, 10, 14, 24, 7, 0 }, { 16, 9, 13, 24, 7, 0 }, { 16, 8, 12, 24, 7, 0 }, { 16, 8, 11, 24, 7, 0 }, + { 16, 7, 10, 24, 7, 0 }, { 16, 6, 9, 24, 7, 0 }, { 16, 5, 8, 24, 8, 0 }, { 16, 5, 7, 24, 8, 0 }, { 16, 4, 6, 24, 8, 0 }, + { 16, 3, 5, 24, 8, 0 }, { 16, 3, 4, 24, 8, 0 }, { 16, 2, 3, 24, 8, 0 }, { 16, 1, 2, 24, 8, 0 }, { 16, 1, 1, 24, 8, 0 }, + { 16, 0, 0, 24, 8, 0 }, { 16, 0, -1, 24, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C18B2 = { - 37, { - { 31, 16, 31, 0, 8, 0 }, { 31, 16, 30, 0, 8, 0 }, { 30, 16, 29, 0, 8, 0 }, { 30, 16, 28, 0, 8, 0 }, { 29, 16, 27, 0, 8, 0 }, - { 28, 16, 26, 0, 8, 0 }, { 28, 16, 25, 0, 8, 0 }, { 27, 16, 24, 0, 8, 0 }, { 26, 16, 23, 0, 8, 0 }, { 26, 16, 22, 0, 8, 0 }, - { 25, 16, 21, 0, 7, 0 }, { 24, 16, 20, 0, 7, 0 }, { 23, 16, 19, 0, 7, 0 }, { 23, 16, 18, 0, 7, 0 }, { 22, 16, 17, 0, 7, 0 }, - { 21, 16, 16, 0, 7, 0 }, { 20, 16, 15, 0, 7, 0 }, { 19, 16, 14, 0, 7, 0 }, { 18, 16, 13, 0, 7, 0 }, { 16, 16, 12, 0, 7, 0 }, - { 15, 16, 11, 0, 7, 0 }, { 14, 16, 10, 0, 7, 0 }, { 13, 16, 9, 0, 7, 0 }, { 12, 16, 8, 0, 7, 0 }, { 11, 16, 8, 0, 7, 0 }, - { 10, 16, 7, 0, 7, 0 }, { 9, 16, 6, 0, 7, 0 }, { 8, 16, 5, 0, 6, 0 }, { 7, 16, 5, 0, 6, 0 }, { 6, 16, 4, 0, 6, 0 }, - { 5, 16, 3, 0, 6, 0 }, { 4, 16, 3, 0, 6, 0 }, { 3, 16, 2, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, { 1, 16, 1, 0, 6, 0 }, - { 0, 16, 0, 0, 6, 0 }, { -1, 16, 0, 0, 6, 0 }, + 37, { + { 31, 16, 31, 0, 8, 0 }, { 31, 16, 30, 0, 8, 0 }, { 30, 16, 29, 0, 8, 0 }, { 30, 16, 28, 0, 8, 0 }, { 29, 16, 27, 0, 8, 0 }, + { 28, 16, 26, 0, 8, 0 }, { 28, 16, 25, 0, 8, 0 }, { 27, 16, 24, 0, 8, 0 }, { 26, 16, 23, 0, 8, 0 }, { 26, 16, 22, 0, 8, 0 }, + { 25, 16, 21, 0, 7, 0 }, { 24, 16, 20, 0, 7, 0 }, { 23, 16, 19, 0, 7, 0 }, { 23, 16, 18, 0, 7, 0 }, { 22, 16, 17, 0, 7, 0 }, + { 21, 16, 16, 0, 7, 0 }, { 20, 16, 15, 0, 7, 0 }, { 19, 16, 14, 0, 7, 0 }, { 18, 16, 13, 0, 7, 0 }, { 16, 16, 12, 0, 7, 0 }, + { 15, 16, 11, 0, 7, 0 }, { 14, 16, 10, 0, 7, 0 }, { 13, 16, 9, 0, 7, 0 }, { 12, 16, 8, 0, 7, 0 }, { 11, 16, 8, 0, 7, 0 }, + { 10, 16, 7, 0, 7, 0 }, { 9, 16, 6, 0, 7, 0 }, { 8, 16, 5, 0, 6, 0 }, { 7, 16, 5, 0, 6, 0 }, { 6, 16, 4, 0, 6, 0 }, + { 5, 16, 3, 0, 6, 0 }, { 4, 16, 3, 0, 6, 0 }, { 3, 16, 2, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, { 1, 16, 1, 0, 6, 0 }, + { 0, 16, 0, 0, 6, 0 }, { -1, 16, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C1A01 = { - 37, { - { 16, 0, 31, 8, 8, 0 }, { 16, 0, 30, 8, 8, 0 }, { 16, 1, 29, 8, 8, 0 }, { 16, 1, 28, 8, 8, 0 }, { 16, 2, 27, 8, 8, 0 }, - { 16, 3, 26, 8, 8, 0 }, { 16, 3, 25, 8, 8, 0 }, { 16, 4, 24, 8, 8, 0 }, { 16, 5, 23, 8, 8, 0 }, { 16, 5, 22, 8, 8, 0 }, - { 16, 6, 21, 8, 7, 0 }, { 16, 7, 20, 8, 7, 0 }, { 16, 8, 19, 8, 7, 0 }, { 16, 8, 18, 8, 7, 0 }, { 16, 9, 17, 8, 7, 0 }, - { 16, 10, 16, 8, 7, 0 }, { 16, 11, 15, 8, 7, 0 }, { 16, 12, 14, 8, 7, 0 }, { 16, 13, 13, 8, 7, 0 }, { 16, 15, 12, 8, 7, 0 }, - { 16, 16, 11, 8, 7, 0 }, { 16, 17, 10, 8, 7, 0 }, { 16, 18, 9, 8, 7, 0 }, { 16, 19, 8, 8, 7, 0 }, { 16, 20, 8, 8, 7, 0 }, - { 16, 21, 7, 8, 7, 0 }, { 16, 22, 6, 8, 7, 0 }, { 16, 23, 5, 8, 6, 0 }, { 16, 24, 5, 8, 6, 0 }, { 16, 25, 4, 8, 6, 0 }, - { 16, 26, 3, 8, 6, 0 }, { 16, 27, 3, 8, 6, 0 }, { 16, 28, 2, 8, 6, 0 }, { 16, 29, 1, 8, 6, 0 }, { 16, 30, 1, 8, 6, 0 }, - { 16, 31, 0, 8, 6, 0 }, { 16, 32, 0, 8, 6, 0 }, + 37, { + { 16, 0, 31, 8, 8, 0 }, { 16, 0, 30, 8, 8, 0 }, { 16, 1, 29, 8, 8, 0 }, { 16, 1, 28, 8, 8, 0 }, { 16, 2, 27, 8, 8, 0 }, + { 16, 3, 26, 8, 8, 0 }, { 16, 3, 25, 8, 8, 0 }, { 16, 4, 24, 8, 8, 0 }, { 16, 5, 23, 8, 8, 0 }, { 16, 5, 22, 8, 8, 0 }, + { 16, 6, 21, 8, 7, 0 }, { 16, 7, 20, 8, 7, 0 }, { 16, 8, 19, 8, 7, 0 }, { 16, 8, 18, 8, 7, 0 }, { 16, 9, 17, 8, 7, 0 }, + { 16, 10, 16, 8, 7, 0 }, { 16, 11, 15, 8, 7, 0 }, { 16, 12, 14, 8, 7, 0 }, { 16, 13, 13, 8, 7, 0 }, { 16, 15, 12, 8, 7, 0 }, + { 16, 16, 11, 8, 7, 0 }, { 16, 17, 10, 8, 7, 0 }, { 16, 18, 9, 8, 7, 0 }, { 16, 19, 8, 8, 7, 0 }, { 16, 20, 8, 8, 7, 0 }, + { 16, 21, 7, 8, 7, 0 }, { 16, 22, 6, 8, 7, 0 }, { 16, 23, 5, 8, 6, 0 }, { 16, 24, 5, 8, 6, 0 }, { 16, 25, 4, 8, 6, 0 }, + { 16, 26, 3, 8, 6, 0 }, { 16, 27, 3, 8, 6, 0 }, { 16, 28, 2, 8, 6, 0 }, { 16, 29, 1, 8, 6, 0 }, { 16, 30, 1, 8, 6, 0 }, + { 16, 31, 0, 8, 6, 0 }, { 16, 32, 0, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C1B50 = { - 37, { - { 0, 16, 31, 16, 8, 0 }, { 0, 16, 30, 16, 8, 0 }, { 1, 16, 29, 16, 8, 0 }, { 1, 16, 28, 16, 8, 0 }, { 2, 16, 27, 16, 8, 0 }, - { 3, 16, 26, 16, 8, 0 }, { 3, 16, 25, 16, 8, 0 }, { 4, 16, 24, 16, 8, 0 }, { 5, 16, 23, 16, 8, 0 }, { 5, 16, 22, 16, 8, 0 }, - { 6, 16, 21, 16, 7, 0 }, { 7, 16, 20, 16, 7, 0 }, { 8, 16, 19, 16, 7, 0 }, { 8, 16, 18, 16, 7, 0 }, { 9, 16, 17, 16, 7, 0 }, - { 10, 16, 16, 16, 7, 0 }, { 11, 16, 15, 16, 7, 0 }, { 12, 16, 14, 16, 7, 0 }, { 13, 16, 13, 16, 7, 0 }, { 15, 16, 12, 16, 7, 0 }, - { 16, 16, 11, 16, 7, 0 }, { 17, 16, 10, 16, 7, 0 }, { 18, 16, 9, 16, 7, 0 }, { 19, 16, 8, 16, 7, 0 }, { 20, 16, 8, 16, 7, 0 }, - { 21, 16, 7, 16, 7, 0 }, { 22, 16, 6, 16, 7, 0 }, { 23, 16, 5, 16, 6, 0 }, { 24, 16, 5, 16, 6, 0 }, { 25, 16, 4, 16, 6, 0 }, - { 26, 16, 3, 16, 6, 0 }, { 27, 16, 3, 16, 6, 0 }, { 28, 16, 2, 16, 6, 0 }, { 29, 16, 1, 16, 6, 0 }, { 30, 16, 1, 16, 6, 0 }, - { 31, 16, 0, 16, 6, 0 }, { 32, 16, 0, 16, 6, 0 }, + 37, { + { 0, 16, 31, 16, 8, 0 }, { 0, 16, 30, 16, 8, 0 }, { 1, 16, 29, 16, 8, 0 }, { 1, 16, 28, 16, 8, 0 }, { 2, 16, 27, 16, 8, 0 }, + { 3, 16, 26, 16, 8, 0 }, { 3, 16, 25, 16, 8, 0 }, { 4, 16, 24, 16, 8, 0 }, { 5, 16, 23, 16, 8, 0 }, { 5, 16, 22, 16, 8, 0 }, + { 6, 16, 21, 16, 7, 0 }, { 7, 16, 20, 16, 7, 0 }, { 8, 16, 19, 16, 7, 0 }, { 8, 16, 18, 16, 7, 0 }, { 9, 16, 17, 16, 7, 0 }, + { 10, 16, 16, 16, 7, 0 }, { 11, 16, 15, 16, 7, 0 }, { 12, 16, 14, 16, 7, 0 }, { 13, 16, 13, 16, 7, 0 }, { 15, 16, 12, 16, 7, 0 }, + { 16, 16, 11, 16, 7, 0 }, { 17, 16, 10, 16, 7, 0 }, { 18, 16, 9, 16, 7, 0 }, { 19, 16, 8, 16, 7, 0 }, { 20, 16, 8, 16, 7, 0 }, + { 21, 16, 7, 16, 7, 0 }, { 22, 16, 6, 16, 7, 0 }, { 23, 16, 5, 16, 6, 0 }, { 24, 16, 5, 16, 6, 0 }, { 25, 16, 4, 16, 6, 0 }, + { 26, 16, 3, 16, 6, 0 }, { 27, 16, 3, 16, 6, 0 }, { 28, 16, 2, 16, 6, 0 }, { 29, 16, 1, 16, 6, 0 }, { 30, 16, 1, 16, 6, 0 }, + { 31, 16, 0, 16, 6, 0 }, { 32, 16, 0, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C1C9F = { - 37, { - { 16, 31, 31, 24, 8, 0 }, { 16, 31, 30, 24, 8, 0 }, { 16, 30, 29, 24, 8, 0 }, { 16, 30, 28, 24, 8, 0 }, { 16, 29, 27, 24, 8, 0 }, - { 16, 28, 26, 24, 8, 0 }, { 16, 28, 25, 24, 8, 0 }, { 16, 27, 24, 24, 8, 0 }, { 16, 26, 23, 24, 8, 0 }, { 16, 26, 22, 24, 8, 0 }, - { 16, 25, 21, 24, 7, 0 }, { 16, 24, 20, 24, 7, 0 }, { 16, 23, 19, 24, 7, 0 }, { 16, 23, 18, 24, 7, 0 }, { 16, 22, 17, 24, 7, 0 }, - { 16, 21, 16, 24, 7, 0 }, { 16, 20, 15, 24, 7, 0 }, { 16, 19, 14, 24, 7, 0 }, { 16, 18, 13, 24, 7, 0 }, { 16, 16, 12, 24, 7, 0 }, - { 16, 15, 11, 24, 7, 0 }, { 16, 14, 10, 24, 7, 0 }, { 16, 13, 9, 24, 7, 0 }, { 16, 12, 8, 24, 7, 0 }, { 16, 11, 8, 24, 7, 0 }, - { 16, 10, 7, 24, 7, 0 }, { 16, 9, 6, 24, 7, 0 }, { 16, 8, 5, 24, 6, 0 }, { 16, 7, 5, 24, 6, 0 }, { 16, 6, 4, 24, 6, 0 }, - { 16, 5, 3, 24, 6, 0 }, { 16, 4, 3, 24, 6, 0 }, { 16, 3, 2, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, { 16, 1, 1, 24, 6, 0 }, - { 16, 0, 0, 24, 6, 0 }, { 16, -1, 0, 24, 6, 0 }, + 37, { + { 16, 31, 31, 24, 8, 0 }, { 16, 31, 30, 24, 8, 0 }, { 16, 30, 29, 24, 8, 0 }, { 16, 30, 28, 24, 8, 0 }, { 16, 29, 27, 24, 8, 0 }, + { 16, 28, 26, 24, 8, 0 }, { 16, 28, 25, 24, 8, 0 }, { 16, 27, 24, 24, 8, 0 }, { 16, 26, 23, 24, 8, 0 }, { 16, 26, 22, 24, 8, 0 }, + { 16, 25, 21, 24, 7, 0 }, { 16, 24, 20, 24, 7, 0 }, { 16, 23, 19, 24, 7, 0 }, { 16, 23, 18, 24, 7, 0 }, { 16, 22, 17, 24, 7, 0 }, + { 16, 21, 16, 24, 7, 0 }, { 16, 20, 15, 24, 7, 0 }, { 16, 19, 14, 24, 7, 0 }, { 16, 18, 13, 24, 7, 0 }, { 16, 16, 12, 24, 7, 0 }, + { 16, 15, 11, 24, 7, 0 }, { 16, 14, 10, 24, 7, 0 }, { 16, 13, 9, 24, 7, 0 }, { 16, 12, 8, 24, 7, 0 }, { 16, 11, 8, 24, 7, 0 }, + { 16, 10, 7, 24, 7, 0 }, { 16, 9, 6, 24, 7, 0 }, { 16, 8, 5, 24, 6, 0 }, { 16, 7, 5, 24, 6, 0 }, { 16, 6, 4, 24, 6, 0 }, + { 16, 5, 3, 24, 6, 0 }, { 16, 4, 3, 24, 6, 0 }, { 16, 3, 2, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, { 16, 1, 1, 24, 6, 0 }, + { 16, 0, 0, 24, 6, 0 }, { 16, -1, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C052A = { - 32, { - { 31, 16, 7, 0, 6, 0 }, { 30, 16, 7, 0, 6, 0 }, { 29, 16, 6, 0, 6, 0 }, { 28, 16, 6, 0, 6, 0 }, { 27, 16, 5, 0, 6, 0 }, - { 26, 16, 5, 0, 6, 0 }, { 25, 16, 4, 0, 6, 0 }, { 24, 16, 4, 0, 6, 0 }, { 23, 16, 4, 0, 5, 0 }, { 22, 16, 3, 0, 5, 0 }, - { 21, 16, 3, 0, 5, 0 }, { 20, 16, 3, 0, 5, 0 }, { 19, 16, 2, 0, 5, 0 }, { 18, 16, 2, 0, 5, 0 }, { 17, 16, 2, 0, 5, 0 }, - { 16, 16, 2, 0, 5, 0 }, { 15, 16, 1, 0, 5, 0 }, { 14, 16, 1, 0, 5, 0 }, { 13, 16, 1, 0, 5, 0 }, { 12, 16, 1, 0, 5, 0 }, - { 11, 16, 1, 0, 5, 0 }, { 10, 16, 1, 0, 5, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, - { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, + 32, { + { 31, 16, 7, 0, 6, 0 }, { 30, 16, 7, 0, 6, 0 }, { 29, 16, 6, 0, 6, 0 }, { 28, 16, 6, 0, 6, 0 }, { 27, 16, 5, 0, 6, 0 }, + { 26, 16, 5, 0, 6, 0 }, { 25, 16, 4, 0, 6, 0 }, { 24, 16, 4, 0, 6, 0 }, { 23, 16, 4, 0, 5, 0 }, { 22, 16, 3, 0, 5, 0 }, + { 21, 16, 3, 0, 5, 0 }, { 20, 16, 3, 0, 5, 0 }, { 19, 16, 2, 0, 5, 0 }, { 18, 16, 2, 0, 5, 0 }, { 17, 16, 2, 0, 5, 0 }, + { 16, 16, 2, 0, 5, 0 }, { 15, 16, 1, 0, 5, 0 }, { 14, 16, 1, 0, 5, 0 }, { 13, 16, 1, 0, 5, 0 }, { 12, 16, 1, 0, 5, 0 }, + { 11, 16, 1, 0, 5, 0 }, { 10, 16, 1, 0, 5, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, + { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C064C = { - 32, { - { 16, 0, 8, 8, 6, 0 }, { 16, 1, 7, 8, 6, 0 }, { 16, 2, 7, 8, 6, 0 }, { 16, 3, 6, 8, 6, 0 }, { 16, 4, 6, 8, 6, 0 }, - { 16, 5, 5, 8, 6, 0 }, { 16, 6, 5, 8, 6, 0 }, { 16, 7, 4, 8, 6, 0 }, { 16, 8, 4, 8, 5, 0 }, { 16, 9, 3, 8, 5, 0 }, - { 16, 10, 3, 8, 5, 0 }, { 16, 11, 3, 8, 5, 0 }, { 16, 12, 2, 8, 5, 0 }, { 16, 13, 2, 8, 5, 0 }, { 16, 14, 2, 8, 5, 0 }, - { 16, 15, 2, 8, 5, 0 }, { 16, 16, 1, 8, 5, 0 }, { 16, 17, 1, 8, 5, 0 }, { 16, 18, 1, 8, 5, 0 }, { 16, 19, 1, 8, 5, 0 }, - { 16, 20, 1, 8, 5, 0 }, { 16, 21, 1, 8, 5, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, + 32, { + { 16, 0, 8, 8, 6, 0 }, { 16, 1, 7, 8, 6, 0 }, { 16, 2, 7, 8, 6, 0 }, { 16, 3, 6, 8, 6, 0 }, { 16, 4, 6, 8, 6, 0 }, + { 16, 5, 5, 8, 6, 0 }, { 16, 6, 5, 8, 6, 0 }, { 16, 7, 4, 8, 6, 0 }, { 16, 8, 4, 8, 5, 0 }, { 16, 9, 3, 8, 5, 0 }, + { 16, 10, 3, 8, 5, 0 }, { 16, 11, 3, 8, 5, 0 }, { 16, 12, 2, 8, 5, 0 }, { 16, 13, 2, 8, 5, 0 }, { 16, 14, 2, 8, 5, 0 }, + { 16, 15, 2, 8, 5, 0 }, { 16, 16, 1, 8, 5, 0 }, { 16, 17, 1, 8, 5, 0 }, { 16, 18, 1, 8, 5, 0 }, { 16, 19, 1, 8, 5, 0 }, + { 16, 20, 1, 8, 5, 0 }, { 16, 21, 1, 8, 5, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C076E = { - 32, { - { 0, 16, 8, 16, 6, 0 }, { 1, 16, 7, 16, 6, 0 }, { 2, 16, 7, 16, 6, 0 }, { 3, 16, 6, 16, 6, 0 }, { 4, 16, 6, 16, 6, 0 }, - { 5, 16, 5, 16, 6, 0 }, { 6, 16, 5, 16, 6, 0 }, { 7, 16, 4, 16, 6, 0 }, { 8, 16, 4, 16, 5, 0 }, { 9, 16, 3, 16, 5, 0 }, - { 10, 16, 3, 16, 5, 0 }, { 11, 16, 3, 16, 5, 0 }, { 12, 16, 2, 16, 5, 0 }, { 13, 16, 2, 16, 5, 0 }, { 14, 16, 2, 16, 5, 0 }, - { 15, 16, 2, 16, 5, 0 }, { 16, 16, 1, 16, 5, 0 }, { 17, 16, 1, 16, 5, 0 }, { 18, 16, 1, 16, 5, 0 }, { 19, 16, 1, 16, 5, 0 }, - { 20, 16, 1, 16, 5, 0 }, { 21, 16, 1, 16, 5, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, - { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, + 32, { + { 0, 16, 8, 16, 6, 0 }, { 1, 16, 7, 16, 6, 0 }, { 2, 16, 7, 16, 6, 0 }, { 3, 16, 6, 16, 6, 0 }, { 4, 16, 6, 16, 6, 0 }, + { 5, 16, 5, 16, 6, 0 }, { 6, 16, 5, 16, 6, 0 }, { 7, 16, 4, 16, 6, 0 }, { 8, 16, 4, 16, 5, 0 }, { 9, 16, 3, 16, 5, 0 }, + { 10, 16, 3, 16, 5, 0 }, { 11, 16, 3, 16, 5, 0 }, { 12, 16, 2, 16, 5, 0 }, { 13, 16, 2, 16, 5, 0 }, { 14, 16, 2, 16, 5, 0 }, + { 15, 16, 2, 16, 5, 0 }, { 16, 16, 1, 16, 5, 0 }, { 17, 16, 1, 16, 5, 0 }, { 18, 16, 1, 16, 5, 0 }, { 19, 16, 1, 16, 5, 0 }, + { 20, 16, 1, 16, 5, 0 }, { 21, 16, 1, 16, 5, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, + { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C0890 = { - 32, { - { 16, 31, 7, 24, 6, 0 }, { 16, 30, 7, 24, 6, 0 }, { 16, 29, 6, 24, 6, 0 }, { 16, 28, 6, 24, 6, 0 }, { 16, 27, 5, 24, 6, 0 }, - { 16, 26, 5, 24, 6, 0 }, { 16, 25, 4, 24, 6, 0 }, { 16, 24, 4, 24, 6, 0 }, { 16, 23, 4, 24, 5, 0 }, { 16, 22, 3, 24, 5, 0 }, - { 16, 21, 3, 24, 5, 0 }, { 16, 20, 3, 24, 5, 0 }, { 16, 19, 2, 24, 5, 0 }, { 16, 18, 2, 24, 5, 0 }, { 16, 17, 2, 24, 5, 0 }, - { 16, 16, 2, 24, 5, 0 }, { 16, 15, 1, 24, 5, 0 }, { 16, 14, 1, 24, 5, 0 }, { 16, 13, 1, 24, 5, 0 }, { 16, 12, 1, 24, 5, 0 }, - { 16, 11, 1, 24, 5, 0 }, { 16, 10, 1, 24, 5, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, - { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, + 32, { + { 16, 31, 7, 24, 6, 0 }, { 16, 30, 7, 24, 6, 0 }, { 16, 29, 6, 24, 6, 0 }, { 16, 28, 6, 24, 6, 0 }, { 16, 27, 5, 24, 6, 0 }, + { 16, 26, 5, 24, 6, 0 }, { 16, 25, 4, 24, 6, 0 }, { 16, 24, 4, 24, 6, 0 }, { 16, 23, 4, 24, 5, 0 }, { 16, 22, 3, 24, 5, 0 }, + { 16, 21, 3, 24, 5, 0 }, { 16, 20, 3, 24, 5, 0 }, { 16, 19, 2, 24, 5, 0 }, { 16, 18, 2, 24, 5, 0 }, { 16, 17, 2, 24, 5, 0 }, + { 16, 16, 2, 24, 5, 0 }, { 16, 15, 1, 24, 5, 0 }, { 16, 14, 1, 24, 5, 0 }, { 16, 13, 1, 24, 5, 0 }, { 16, 12, 1, 24, 5, 0 }, + { 16, 11, 1, 24, 5, 0 }, { 16, 10, 1, 24, 5, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, + { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C8092 = { - 114, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 31, 0, 0 }, { 23, 15, 0, 31, 0, 0 }, { 22, 15, 0, 31, 0, 0 }, - { 21, 15, 0, 31, 0, 0 }, { 20, 15, 0, 31, 0, 0 }, { 19, 15, 0, 31, 0, 0 }, { 18, 15, 0, 31, 0, 0 }, { 17, 14, 0, 31, 0, 0 }, - { 16, 14, 0, 31, 0, 0 }, { 15, 14, 0, 31, 0, 0 }, { 14, 14, 0, 31, 0, 0 }, { 13, 14, 0, 31, 0, 0 }, { 12, 13, 0, 31, 0, 0 }, - { 11, 13, 0, 31, 0, 0 }, { 10, 13, 0, 30, 0, 0 }, { 9, 13, 0, 30, 0, 0 }, { 8, 12, 0, 30, 0, 0 }, { 7, 12, 0, 30, 0, 0 }, - { 6, 12, 0, 30, 0, 0 }, { 5, 11, 0, 30, 0, 0 }, { 4, 11, 0, 30, 0, 0 }, { 3, 11, 0, 30, 0, 0 }, { 2, 10, 0, 30, 0, 0 }, - { 1, 10, 0, 30, 0, 0 }, { 0, 9, 0, 30, 0, 0 }, { -1, 9, 0, 30, 0, 0 }, { -2, 8, 0, 30, 0, 0 }, { -3, 8, 0, 30, 0, 0 }, - { -4, 7, 0, 30, 0, 0 }, { -5, 7, 0, 29, 0, 0 }, { -6, 6, 0, 29, 0, 0 }, { -7, 6, 0, 29, 0, 0 }, { -8, 5, 0, 29, 0, 0 }, - { -9, 4, 0, 29, 0, 0 }, { -10, 4, 0, 29, 0, 0 }, { -11, 3, 0, 29, 0, 0 }, { -12, 2, 0, 29, 0, 0 }, { -13, 2, 0, 29, 0, 0 }, - { -14, 1, 0, 29, 0, 0 }, { -15, 0, 0, 29, 0, 0 }, { -16, 0, 0, 29, 0, 0 }, { -17, -1, 0, 29, 0, 0 }, { -18, -2, 0, 28, 0, 0 }, - { -19, -3, 0, 28, 0, 0 }, { -20, -3, 0, 28, 0, 0 }, { -21, -4, 0, 28, 0, 0 }, { -22, -5, 0, 28, 0, 0 }, { -23, -6, 0, 28, 0, 0 }, - { -24, -7, 0, 28, 0, 0 }, { -25, -7, 0, 28, 0, 0 }, { -26, -8, 0, 28, 0, 0 }, { -27, -9, 0, 28, 0, 0 }, { -28, -10, 0, 28, 0, 0 }, - { -29, -11, 0, 28, 0, 0 }, { -29, -12, 0, 28, 0, 0 }, { -30, -13, 0, 27, 0, 0 }, { -31, -14, 0, 27, 0, 0 }, { -32, -15, 0, 27, 0, 0 }, - { -32, -16, 0, 27, 0, 0 }, { -33, -17, 0, 27, 0, 0 }, { -34, -18, 0, 27, 0, 0 }, { -34, -19, 0, 27, 0, 0 }, { -35, -20, 0, 27, 0, 0 }, - { -36, -21, 0, 27, 0, 0 }, { -36, -22, 0, 27, 0, 0 }, { -37, -23, 0, 27, 0, 0 }, { -38, -24, 0, 27, 0, 0 }, { -38, -25, 0, 27, 0, 0 }, - { -39, -26, 0, 26, 0, 0 }, { -39, -27, 0, 26, 0, 0 }, { -40, -28, 0, 26, 0, 0 }, { -40, -29, 0, 26, 0, 0 }, { -41, -30, 0, 26, 0, 0 }, - { -41, -31, 0, 26, 0, 0 }, { -42, -32, 0, 26, 0, 0 }, { -42, -33, 0, 26, 0, 0 }, { -43, -34, 0, 26, 0, 0 }, { -43, -35, 0, 26, 0, 0 }, - { -43, -36, 0, 26, 0, 0 }, { -44, -37, 0, 26, 0, 0 }, { -44, -38, 0, 26, 0, 0 }, { -44, -39, 0, 26, 0, 0 }, { -45, -40, 0, 25, 0, 0 }, - { -45, -41, 0, 25, 0, 0 }, { -45, -42, 0, 25, 0, 0 }, { -45, -43, 0, 25, 0, 0 }, { -46, -44, 0, 25, 0, 0 }, { -46, -45, 0, 25, 0, 0 }, - { -46, -46, 0, 25, 0, 0 }, { -46, -47, 0, 25, 0, 0 }, { -46, -48, 0, 25, 0, 0 }, { -47, -49, 0, 25, 0, 0 }, { -47, -50, 0, 25, 0, 0 }, - { -47, -51, 0, 25, 0, 0 }, { -47, -52, 0, 25, 0, 0 }, { -47, -53, 0, 25, 0, 0 }, { -47, -54, 0, 25, 0, 0 }, { -48, -55, 0, 25, 0, 0 }, - { -48, -56, 0, 24, 0, 0 }, { -48, -57, 0, 24, 0, 0 }, { -48, -58, 0, 24, 0, 0 }, { -48, -59, 0, 24, 0, 0 }, { -48, -60, 0, 24, 0, 0 }, - { -48, -61, 0, 24, 0, 0 }, { -48, -62, 0, 24, 0, 0 }, { -48, -63, 0, 24, 0, 0 }, { -48, -64, 0, 24, 0, 0 }, + 114, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 31, 0, 0 }, { 23, 15, 0, 31, 0, 0 }, { 22, 15, 0, 31, 0, 0 }, + { 21, 15, 0, 31, 0, 0 }, { 20, 15, 0, 31, 0, 0 }, { 19, 15, 0, 31, 0, 0 }, { 18, 15, 0, 31, 0, 0 }, { 17, 14, 0, 31, 0, 0 }, + { 16, 14, 0, 31, 0, 0 }, { 15, 14, 0, 31, 0, 0 }, { 14, 14, 0, 31, 0, 0 }, { 13, 14, 0, 31, 0, 0 }, { 12, 13, 0, 31, 0, 0 }, + { 11, 13, 0, 31, 0, 0 }, { 10, 13, 0, 30, 0, 0 }, { 9, 13, 0, 30, 0, 0 }, { 8, 12, 0, 30, 0, 0 }, { 7, 12, 0, 30, 0, 0 }, + { 6, 12, 0, 30, 0, 0 }, { 5, 11, 0, 30, 0, 0 }, { 4, 11, 0, 30, 0, 0 }, { 3, 11, 0, 30, 0, 0 }, { 2, 10, 0, 30, 0, 0 }, + { 1, 10, 0, 30, 0, 0 }, { 0, 9, 0, 30, 0, 0 }, { -1, 9, 0, 30, 0, 0 }, { -2, 8, 0, 30, 0, 0 }, { -3, 8, 0, 30, 0, 0 }, + { -4, 7, 0, 30, 0, 0 }, { -5, 7, 0, 29, 0, 0 }, { -6, 6, 0, 29, 0, 0 }, { -7, 6, 0, 29, 0, 0 }, { -8, 5, 0, 29, 0, 0 }, + { -9, 4, 0, 29, 0, 0 }, { -10, 4, 0, 29, 0, 0 }, { -11, 3, 0, 29, 0, 0 }, { -12, 2, 0, 29, 0, 0 }, { -13, 2, 0, 29, 0, 0 }, + { -14, 1, 0, 29, 0, 0 }, { -15, 0, 0, 29, 0, 0 }, { -16, 0, 0, 29, 0, 0 }, { -17, -1, 0, 29, 0, 0 }, { -18, -2, 0, 28, 0, 0 }, + { -19, -3, 0, 28, 0, 0 }, { -20, -3, 0, 28, 0, 0 }, { -21, -4, 0, 28, 0, 0 }, { -22, -5, 0, 28, 0, 0 }, { -23, -6, 0, 28, 0, 0 }, + { -24, -7, 0, 28, 0, 0 }, { -25, -7, 0, 28, 0, 0 }, { -26, -8, 0, 28, 0, 0 }, { -27, -9, 0, 28, 0, 0 }, { -28, -10, 0, 28, 0, 0 }, + { -29, -11, 0, 28, 0, 0 }, { -29, -12, 0, 28, 0, 0 }, { -30, -13, 0, 27, 0, 0 }, { -31, -14, 0, 27, 0, 0 }, { -32, -15, 0, 27, 0, 0 }, + { -32, -16, 0, 27, 0, 0 }, { -33, -17, 0, 27, 0, 0 }, { -34, -18, 0, 27, 0, 0 }, { -34, -19, 0, 27, 0, 0 }, { -35, -20, 0, 27, 0, 0 }, + { -36, -21, 0, 27, 0, 0 }, { -36, -22, 0, 27, 0, 0 }, { -37, -23, 0, 27, 0, 0 }, { -38, -24, 0, 27, 0, 0 }, { -38, -25, 0, 27, 0, 0 }, + { -39, -26, 0, 26, 0, 0 }, { -39, -27, 0, 26, 0, 0 }, { -40, -28, 0, 26, 0, 0 }, { -40, -29, 0, 26, 0, 0 }, { -41, -30, 0, 26, 0, 0 }, + { -41, -31, 0, 26, 0, 0 }, { -42, -32, 0, 26, 0, 0 }, { -42, -33, 0, 26, 0, 0 }, { -43, -34, 0, 26, 0, 0 }, { -43, -35, 0, 26, 0, 0 }, + { -43, -36, 0, 26, 0, 0 }, { -44, -37, 0, 26, 0, 0 }, { -44, -38, 0, 26, 0, 0 }, { -44, -39, 0, 26, 0, 0 }, { -45, -40, 0, 25, 0, 0 }, + { -45, -41, 0, 25, 0, 0 }, { -45, -42, 0, 25, 0, 0 }, { -45, -43, 0, 25, 0, 0 }, { -46, -44, 0, 25, 0, 0 }, { -46, -45, 0, 25, 0, 0 }, + { -46, -46, 0, 25, 0, 0 }, { -46, -47, 0, 25, 0, 0 }, { -46, -48, 0, 25, 0, 0 }, { -47, -49, 0, 25, 0, 0 }, { -47, -50, 0, 25, 0, 0 }, + { -47, -51, 0, 25, 0, 0 }, { -47, -52, 0, 25, 0, 0 }, { -47, -53, 0, 25, 0, 0 }, { -47, -54, 0, 25, 0, 0 }, { -48, -55, 0, 25, 0, 0 }, + { -48, -56, 0, 24, 0, 0 }, { -48, -57, 0, 24, 0, 0 }, { -48, -58, 0, 24, 0, 0 }, { -48, -59, 0, 24, 0, 0 }, { -48, -60, 0, 24, 0, 0 }, + { -48, -61, 0, 24, 0, 0 }, { -48, -62, 0, 24, 0, 0 }, { -48, -63, 0, 24, 0, 0 }, { -48, -64, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C8496 = { - 115, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 7, 0, 0 }, { 15, 9, 0, 7, 0, 0 }, - { 15, 10, 0, 7, 0, 0 }, { 15, 11, 0, 7, 0, 0 }, { 15, 12, 0, 7, 0, 0 }, { 15, 13, 0, 7, 0, 0 }, { 15, 14, 0, 7, 0, 0 }, - { 14, 15, 0, 7, 0, 0 }, { 14, 16, 0, 7, 0, 0 }, { 14, 17, 0, 7, 0, 0 }, { 14, 18, 0, 7, 0, 0 }, { 14, 19, 0, 7, 0, 0 }, - { 13, 20, 0, 7, 0, 0 }, { 13, 21, 0, 7, 0, 0 }, { 13, 22, 0, 6, 0, 0 }, { 13, 23, 0, 6, 0, 0 }, { 12, 24, 0, 6, 0, 0 }, - { 12, 25, 0, 6, 0, 0 }, { 12, 26, 0, 6, 0, 0 }, { 11, 27, 0, 6, 0, 0 }, { 11, 28, 0, 6, 0, 0 }, { 11, 29, 0, 6, 0, 0 }, - { 10, 30, 0, 6, 0, 0 }, { 10, 31, 0, 6, 0, 0 }, { 9, 32, 0, 6, 0, 0 }, { 9, 33, 0, 6, 0, 0 }, { 8, 34, 0, 6, 0, 0 }, - { 8, 35, 0, 6, 0, 0 }, { 7, 36, 0, 6, 0, 0 }, { 7, 37, 0, 5, 0, 0 }, { 6, 38, 0, 5, 0, 0 }, { 6, 39, 0, 5, 0, 0 }, - { 5, 40, 0, 5, 0, 0 }, { 4, 41, 0, 5, 0, 0 }, { 4, 42, 0, 5, 0, 0 }, { 3, 43, 0, 5, 0, 0 }, { 2, 44, 0, 5, 0, 0 }, - { 2, 45, 0, 5, 0, 0 }, { 1, 46, 0, 5, 0, 0 }, { 0, 47, 0, 5, 0, 0 }, { 0, 48, 0, 5, 0, 0 }, { -1, 49, 0, 5, 0, 0 }, - { -2, 50, 0, 4, 0, 0 }, { -3, 51, 0, 4, 0, 0 }, { -3, 52, 0, 4, 0, 0 }, { -4, 53, 0, 4, 0, 0 }, { -5, 54, 0, 4, 0, 0 }, - { -6, 55, 0, 4, 0, 0 }, { -7, 56, 0, 4, 0, 0 }, { -7, 57, 0, 4, 0, 0 }, { -8, 58, 0, 4, 0, 0 }, { -9, 59, 0, 4, 0, 0 }, - { -10, 60, 0, 4, 0, 0 }, { -11, 61, 0, 4, 0, 0 }, { -12, 61, 0, 4, 0, 0 }, { -13, 62, 0, 3, 0, 0 }, { -14, 63, 0, 3, 0, 0 }, - { -15, 64, 0, 3, 0, 0 }, { -16, 64, 0, 3, 0, 0 }, { -17, 65, 0, 3, 0, 0 }, { -18, 66, 0, 3, 0, 0 }, { -19, 66, 0, 3, 0, 0 }, - { -20, 67, 0, 3, 0, 0 }, { -21, 68, 0, 3, 0, 0 }, { -22, 68, 0, 3, 0, 0 }, { -23, 69, 0, 3, 0, 0 }, { -24, 70, 0, 3, 0, 0 }, - { -25, 70, 0, 3, 0, 0 }, { -26, 71, 0, 2, 0, 0 }, { -27, 71, 0, 2, 0, 0 }, { -28, 72, 0, 2, 0, 0 }, { -29, 72, 0, 2, 0, 0 }, - { -30, 73, 0, 2, 0, 0 }, { -31, 73, 0, 2, 0, 0 }, { -32, 74, 0, 2, 0, 0 }, { -33, 74, 0, 2, 0, 0 }, { -34, 75, 0, 2, 0, 0 }, - { -35, 75, 0, 2, 0, 0 }, { -36, 75, 0, 2, 0, 0 }, { -37, 76, 0, 2, 0, 0 }, { -38, 76, 0, 2, 0, 0 }, { -39, 76, 0, 2, 0, 0 }, - { -40, 77, 0, 1, 0, 0 }, { -41, 77, 0, 1, 0, 0 }, { -42, 77, 0, 1, 0, 0 }, { -43, 77, 0, 1, 0, 0 }, { -44, 78, 0, 1, 0, 0 }, - { -45, 78, 0, 1, 0, 0 }, { -46, 78, 0, 1, 0, 0 }, { -47, 78, 0, 1, 0, 0 }, { -48, 78, 0, 1, 0, 0 }, { -49, 79, 0, 1, 0, 0 }, - { -50, 79, 0, 1, 0, 0 }, { -51, 79, 0, 1, 0, 0 }, { -52, 79, 0, 1, 0, 0 }, { -53, 79, 0, 1, 0, 0 }, { -54, 79, 0, 1, 0, 0 }, - { -55, 80, 0, 1, 0, 0 }, { -56, 80, 0, 0, 0, 0 }, { -57, 80, 0, 0, 0, 0 }, { -58, 80, 0, 0, 0, 0 }, { -59, 80, 0, 0, 0, 0 }, - { -60, 80, 0, 0, 0, 0 }, { -61, 80, 0, 0, 0, 0 }, { -62, 80, 0, 0, 0, 0 }, { -63, 80, 0, 0, 0, 0 }, { -64, 80, 0, 0, 0, 0 }, + 115, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 7, 0, 0 }, { 15, 9, 0, 7, 0, 0 }, + { 15, 10, 0, 7, 0, 0 }, { 15, 11, 0, 7, 0, 0 }, { 15, 12, 0, 7, 0, 0 }, { 15, 13, 0, 7, 0, 0 }, { 15, 14, 0, 7, 0, 0 }, + { 14, 15, 0, 7, 0, 0 }, { 14, 16, 0, 7, 0, 0 }, { 14, 17, 0, 7, 0, 0 }, { 14, 18, 0, 7, 0, 0 }, { 14, 19, 0, 7, 0, 0 }, + { 13, 20, 0, 7, 0, 0 }, { 13, 21, 0, 7, 0, 0 }, { 13, 22, 0, 6, 0, 0 }, { 13, 23, 0, 6, 0, 0 }, { 12, 24, 0, 6, 0, 0 }, + { 12, 25, 0, 6, 0, 0 }, { 12, 26, 0, 6, 0, 0 }, { 11, 27, 0, 6, 0, 0 }, { 11, 28, 0, 6, 0, 0 }, { 11, 29, 0, 6, 0, 0 }, + { 10, 30, 0, 6, 0, 0 }, { 10, 31, 0, 6, 0, 0 }, { 9, 32, 0, 6, 0, 0 }, { 9, 33, 0, 6, 0, 0 }, { 8, 34, 0, 6, 0, 0 }, + { 8, 35, 0, 6, 0, 0 }, { 7, 36, 0, 6, 0, 0 }, { 7, 37, 0, 5, 0, 0 }, { 6, 38, 0, 5, 0, 0 }, { 6, 39, 0, 5, 0, 0 }, + { 5, 40, 0, 5, 0, 0 }, { 4, 41, 0, 5, 0, 0 }, { 4, 42, 0, 5, 0, 0 }, { 3, 43, 0, 5, 0, 0 }, { 2, 44, 0, 5, 0, 0 }, + { 2, 45, 0, 5, 0, 0 }, { 1, 46, 0, 5, 0, 0 }, { 0, 47, 0, 5, 0, 0 }, { 0, 48, 0, 5, 0, 0 }, { -1, 49, 0, 5, 0, 0 }, + { -2, 50, 0, 4, 0, 0 }, { -3, 51, 0, 4, 0, 0 }, { -3, 52, 0, 4, 0, 0 }, { -4, 53, 0, 4, 0, 0 }, { -5, 54, 0, 4, 0, 0 }, + { -6, 55, 0, 4, 0, 0 }, { -7, 56, 0, 4, 0, 0 }, { -7, 57, 0, 4, 0, 0 }, { -8, 58, 0, 4, 0, 0 }, { -9, 59, 0, 4, 0, 0 }, + { -10, 60, 0, 4, 0, 0 }, { -11, 61, 0, 4, 0, 0 }, { -12, 61, 0, 4, 0, 0 }, { -13, 62, 0, 3, 0, 0 }, { -14, 63, 0, 3, 0, 0 }, + { -15, 64, 0, 3, 0, 0 }, { -16, 64, 0, 3, 0, 0 }, { -17, 65, 0, 3, 0, 0 }, { -18, 66, 0, 3, 0, 0 }, { -19, 66, 0, 3, 0, 0 }, + { -20, 67, 0, 3, 0, 0 }, { -21, 68, 0, 3, 0, 0 }, { -22, 68, 0, 3, 0, 0 }, { -23, 69, 0, 3, 0, 0 }, { -24, 70, 0, 3, 0, 0 }, + { -25, 70, 0, 3, 0, 0 }, { -26, 71, 0, 2, 0, 0 }, { -27, 71, 0, 2, 0, 0 }, { -28, 72, 0, 2, 0, 0 }, { -29, 72, 0, 2, 0, 0 }, + { -30, 73, 0, 2, 0, 0 }, { -31, 73, 0, 2, 0, 0 }, { -32, 74, 0, 2, 0, 0 }, { -33, 74, 0, 2, 0, 0 }, { -34, 75, 0, 2, 0, 0 }, + { -35, 75, 0, 2, 0, 0 }, { -36, 75, 0, 2, 0, 0 }, { -37, 76, 0, 2, 0, 0 }, { -38, 76, 0, 2, 0, 0 }, { -39, 76, 0, 2, 0, 0 }, + { -40, 77, 0, 1, 0, 0 }, { -41, 77, 0, 1, 0, 0 }, { -42, 77, 0, 1, 0, 0 }, { -43, 77, 0, 1, 0, 0 }, { -44, 78, 0, 1, 0, 0 }, + { -45, 78, 0, 1, 0, 0 }, { -46, 78, 0, 1, 0, 0 }, { -47, 78, 0, 1, 0, 0 }, { -48, 78, 0, 1, 0, 0 }, { -49, 79, 0, 1, 0, 0 }, + { -50, 79, 0, 1, 0, 0 }, { -51, 79, 0, 1, 0, 0 }, { -52, 79, 0, 1, 0, 0 }, { -53, 79, 0, 1, 0, 0 }, { -54, 79, 0, 1, 0, 0 }, + { -55, 80, 0, 1, 0, 0 }, { -56, 80, 0, 0, 0, 0 }, { -57, 80, 0, 0, 0, 0 }, { -58, 80, 0, 0, 0, 0 }, { -59, 80, 0, 0, 0, 0 }, + { -60, 80, 0, 0, 0, 0 }, { -61, 80, 0, 0, 0, 0 }, { -62, 80, 0, 0, 0, 0 }, { -63, 80, 0, 0, 0, 0 }, { -64, 80, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C88A3 = { - 114, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 15, 0, 0 }, { 9, 17, 0, 15, 0, 0 }, - { 10, 17, 0, 15, 0, 0 }, { 11, 17, 0, 15, 0, 0 }, { 12, 17, 0, 15, 0, 0 }, { 13, 17, 0, 15, 0, 0 }, { 14, 17, 0, 15, 0, 0 }, - { 15, 18, 0, 15, 0, 0 }, { 16, 18, 0, 15, 0, 0 }, { 17, 18, 0, 15, 0, 0 }, { 18, 18, 0, 15, 0, 0 }, { 19, 18, 0, 15, 0, 0 }, - { 20, 19, 0, 15, 0, 0 }, { 21, 19, 0, 15, 0, 0 }, { 22, 19, 0, 14, 0, 0 }, { 23, 19, 0, 14, 0, 0 }, { 24, 20, 0, 14, 0, 0 }, - { 25, 20, 0, 14, 0, 0 }, { 26, 20, 0, 14, 0, 0 }, { 27, 21, 0, 14, 0, 0 }, { 28, 21, 0, 14, 0, 0 }, { 29, 21, 0, 14, 0, 0 }, - { 30, 22, 0, 14, 0, 0 }, { 31, 22, 0, 14, 0, 0 }, { 32, 23, 0, 14, 0, 0 }, { 33, 23, 0, 14, 0, 0 }, { 34, 24, 0, 14, 0, 0 }, - { 35, 24, 0, 14, 0, 0 }, { 36, 25, 0, 14, 0, 0 }, { 37, 25, 0, 13, 0, 0 }, { 38, 26, 0, 13, 0, 0 }, { 39, 26, 0, 13, 0, 0 }, - { 40, 27, 0, 13, 0, 0 }, { 41, 28, 0, 13, 0, 0 }, { 42, 28, 0, 13, 0, 0 }, { 43, 29, 0, 13, 0, 0 }, { 44, 30, 0, 13, 0, 0 }, - { 45, 30, 0, 13, 0, 0 }, { 46, 31, 0, 13, 0, 0 }, { 47, 32, 0, 13, 0, 0 }, { 48, 32, 0, 13, 0, 0 }, { 49, 33, 0, 13, 0, 0 }, - { 50, 34, 0, 12, 0, 0 }, { 51, 35, 0, 12, 0, 0 }, { 52, 35, 0, 12, 0, 0 }, { 53, 36, 0, 12, 0, 0 }, { 54, 37, 0, 12, 0, 0 }, - { 55, 38, 0, 12, 0, 0 }, { 56, 39, 0, 12, 0, 0 }, { 57, 39, 0, 12, 0, 0 }, { 58, 40, 0, 12, 0, 0 }, { 59, 41, 0, 12, 0, 0 }, - { 60, 42, 0, 12, 0, 0 }, { 61, 43, 0, 12, 0, 0 }, { 61, 44, 0, 12, 0, 0 }, { 62, 45, 0, 11, 0, 0 }, { 63, 46, 0, 11, 0, 0 }, - { 64, 47, 0, 11, 0, 0 }, { 64, 48, 0, 11, 0, 0 }, { 65, 49, 0, 11, 0, 0 }, { 66, 50, 0, 11, 0, 0 }, { 66, 51, 0, 11, 0, 0 }, - { 67, 52, 0, 11, 0, 0 }, { 68, 53, 0, 11, 0, 0 }, { 68, 54, 0, 11, 0, 0 }, { 69, 55, 0, 11, 0, 0 }, { 70, 56, 0, 11, 0, 0 }, - { 70, 57, 0, 11, 0, 0 }, { 71, 58, 0, 10, 0, 0 }, { 71, 59, 0, 10, 0, 0 }, { 72, 60, 0, 10, 0, 0 }, { 72, 61, 0, 10, 0, 0 }, - { 73, 62, 0, 10, 0, 0 }, { 73, 63, 0, 10, 0, 0 }, { 74, 64, 0, 10, 0, 0 }, { 74, 65, 0, 10, 0, 0 }, { 75, 66, 0, 10, 0, 0 }, - { 75, 67, 0, 10, 0, 0 }, { 75, 68, 0, 10, 0, 0 }, { 76, 69, 0, 10, 0, 0 }, { 76, 70, 0, 10, 0, 0 }, { 76, 71, 0, 10, 0, 0 }, - { 77, 72, 0, 9, 0, 0 }, { 77, 73, 0, 9, 0, 0 }, { 77, 74, 0, 9, 0, 0 }, { 77, 75, 0, 9, 0, 0 }, { 78, 76, 0, 9, 0, 0 }, - { 78, 77, 0, 9, 0, 0 }, { 78, 78, 0, 9, 0, 0 }, { 78, 79, 0, 9, 0, 0 }, { 78, 80, 0, 9, 0, 0 }, { 79, 81, 0, 9, 0, 0 }, - { 79, 82, 0, 9, 0, 0 }, { 79, 83, 0, 9, 0, 0 }, { 79, 84, 0, 9, 0, 0 }, { 79, 85, 0, 9, 0, 0 }, { 79, 86, 0, 9, 0, 0 }, - { 80, 87, 0, 9, 0, 0 }, { 80, 88, 0, 8, 0, 0 }, { 80, 89, 0, 8, 0, 0 }, { 80, 90, 0, 8, 0, 0 }, { 80, 91, 0, 8, 0, 0 }, - { 80, 92, 0, 8, 0, 0 }, { 80, 93, 0, 8, 0, 0 }, { 80, 94, 0, 8, 0, 0 }, { 80, 95, 0, 8, 0, 0 }, + 114, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 15, 0, 0 }, { 9, 17, 0, 15, 0, 0 }, + { 10, 17, 0, 15, 0, 0 }, { 11, 17, 0, 15, 0, 0 }, { 12, 17, 0, 15, 0, 0 }, { 13, 17, 0, 15, 0, 0 }, { 14, 17, 0, 15, 0, 0 }, + { 15, 18, 0, 15, 0, 0 }, { 16, 18, 0, 15, 0, 0 }, { 17, 18, 0, 15, 0, 0 }, { 18, 18, 0, 15, 0, 0 }, { 19, 18, 0, 15, 0, 0 }, + { 20, 19, 0, 15, 0, 0 }, { 21, 19, 0, 15, 0, 0 }, { 22, 19, 0, 14, 0, 0 }, { 23, 19, 0, 14, 0, 0 }, { 24, 20, 0, 14, 0, 0 }, + { 25, 20, 0, 14, 0, 0 }, { 26, 20, 0, 14, 0, 0 }, { 27, 21, 0, 14, 0, 0 }, { 28, 21, 0, 14, 0, 0 }, { 29, 21, 0, 14, 0, 0 }, + { 30, 22, 0, 14, 0, 0 }, { 31, 22, 0, 14, 0, 0 }, { 32, 23, 0, 14, 0, 0 }, { 33, 23, 0, 14, 0, 0 }, { 34, 24, 0, 14, 0, 0 }, + { 35, 24, 0, 14, 0, 0 }, { 36, 25, 0, 14, 0, 0 }, { 37, 25, 0, 13, 0, 0 }, { 38, 26, 0, 13, 0, 0 }, { 39, 26, 0, 13, 0, 0 }, + { 40, 27, 0, 13, 0, 0 }, { 41, 28, 0, 13, 0, 0 }, { 42, 28, 0, 13, 0, 0 }, { 43, 29, 0, 13, 0, 0 }, { 44, 30, 0, 13, 0, 0 }, + { 45, 30, 0, 13, 0, 0 }, { 46, 31, 0, 13, 0, 0 }, { 47, 32, 0, 13, 0, 0 }, { 48, 32, 0, 13, 0, 0 }, { 49, 33, 0, 13, 0, 0 }, + { 50, 34, 0, 12, 0, 0 }, { 51, 35, 0, 12, 0, 0 }, { 52, 35, 0, 12, 0, 0 }, { 53, 36, 0, 12, 0, 0 }, { 54, 37, 0, 12, 0, 0 }, + { 55, 38, 0, 12, 0, 0 }, { 56, 39, 0, 12, 0, 0 }, { 57, 39, 0, 12, 0, 0 }, { 58, 40, 0, 12, 0, 0 }, { 59, 41, 0, 12, 0, 0 }, + { 60, 42, 0, 12, 0, 0 }, { 61, 43, 0, 12, 0, 0 }, { 61, 44, 0, 12, 0, 0 }, { 62, 45, 0, 11, 0, 0 }, { 63, 46, 0, 11, 0, 0 }, + { 64, 47, 0, 11, 0, 0 }, { 64, 48, 0, 11, 0, 0 }, { 65, 49, 0, 11, 0, 0 }, { 66, 50, 0, 11, 0, 0 }, { 66, 51, 0, 11, 0, 0 }, + { 67, 52, 0, 11, 0, 0 }, { 68, 53, 0, 11, 0, 0 }, { 68, 54, 0, 11, 0, 0 }, { 69, 55, 0, 11, 0, 0 }, { 70, 56, 0, 11, 0, 0 }, + { 70, 57, 0, 11, 0, 0 }, { 71, 58, 0, 10, 0, 0 }, { 71, 59, 0, 10, 0, 0 }, { 72, 60, 0, 10, 0, 0 }, { 72, 61, 0, 10, 0, 0 }, + { 73, 62, 0, 10, 0, 0 }, { 73, 63, 0, 10, 0, 0 }, { 74, 64, 0, 10, 0, 0 }, { 74, 65, 0, 10, 0, 0 }, { 75, 66, 0, 10, 0, 0 }, + { 75, 67, 0, 10, 0, 0 }, { 75, 68, 0, 10, 0, 0 }, { 76, 69, 0, 10, 0, 0 }, { 76, 70, 0, 10, 0, 0 }, { 76, 71, 0, 10, 0, 0 }, + { 77, 72, 0, 9, 0, 0 }, { 77, 73, 0, 9, 0, 0 }, { 77, 74, 0, 9, 0, 0 }, { 77, 75, 0, 9, 0, 0 }, { 78, 76, 0, 9, 0, 0 }, + { 78, 77, 0, 9, 0, 0 }, { 78, 78, 0, 9, 0, 0 }, { 78, 79, 0, 9, 0, 0 }, { 78, 80, 0, 9, 0, 0 }, { 79, 81, 0, 9, 0, 0 }, + { 79, 82, 0, 9, 0, 0 }, { 79, 83, 0, 9, 0, 0 }, { 79, 84, 0, 9, 0, 0 }, { 79, 85, 0, 9, 0, 0 }, { 79, 86, 0, 9, 0, 0 }, + { 80, 87, 0, 9, 0, 0 }, { 80, 88, 0, 8, 0, 0 }, { 80, 89, 0, 8, 0, 0 }, { 80, 90, 0, 8, 0, 0 }, { 80, 91, 0, 8, 0, 0 }, + { 80, 92, 0, 8, 0, 0 }, { 80, 93, 0, 8, 0, 0 }, { 80, 94, 0, 8, 0, 0 }, { 80, 95, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C8CA7 = { - 113, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 23, 0, 0 }, { 17, 23, 0, 23, 0, 0 }, { 17, 22, 0, 23, 0, 0 }, - { 17, 21, 0, 23, 0, 0 }, { 17, 20, 0, 23, 0, 0 }, { 17, 19, 0, 23, 0, 0 }, { 17, 18, 0, 23, 0, 0 }, { 18, 17, 0, 23, 0, 0 }, - { 18, 16, 0, 23, 0, 0 }, { 18, 15, 0, 23, 0, 0 }, { 18, 14, 0, 23, 0, 0 }, { 18, 13, 0, 23, 0, 0 }, { 19, 12, 0, 23, 0, 0 }, - { 19, 11, 0, 23, 0, 0 }, { 19, 10, 0, 22, 0, 0 }, { 19, 9, 0, 22, 0, 0 }, { 20, 8, 0, 22, 0, 0 }, { 20, 7, 0, 22, 0, 0 }, - { 20, 6, 0, 22, 0, 0 }, { 21, 5, 0, 22, 0, 0 }, { 21, 4, 0, 22, 0, 0 }, { 21, 3, 0, 22, 0, 0 }, { 22, 2, 0, 22, 0, 0 }, - { 22, 1, 0, 22, 0, 0 }, { 23, 0, 0, 22, 0, 0 }, { 23, -1, 0, 22, 0, 0 }, { 24, -2, 0, 22, 0, 0 }, { 24, -3, 0, 22, 0, 0 }, - { 25, -4, 0, 22, 0, 0 }, { 25, -5, 0, 21, 0, 0 }, { 26, -6, 0, 21, 0, 0 }, { 26, -7, 0, 21, 0, 0 }, { 27, -8, 0, 21, 0, 0 }, - { 28, -9, 0, 21, 0, 0 }, { 28, -10, 0, 21, 0, 0 }, { 29, -11, 0, 21, 0, 0 }, { 30, -12, 0, 21, 0, 0 }, { 30, -13, 0, 21, 0, 0 }, - { 31, -14, 0, 21, 0, 0 }, { 32, -15, 0, 21, 0, 0 }, { 32, -16, 0, 21, 0, 0 }, { 33, -17, 0, 21, 0, 0 }, { 34, -18, 0, 20, 0, 0 }, - { 35, -19, 0, 20, 0, 0 }, { 35, -20, 0, 20, 0, 0 }, { 36, -21, 0, 20, 0, 0 }, { 37, -22, 0, 20, 0, 0 }, { 38, -23, 0, 20, 0, 0 }, - { 39, -24, 0, 20, 0, 0 }, { 39, -25, 0, 20, 0, 0 }, { 40, -26, 0, 20, 0, 0 }, { 41, -27, 0, 20, 0, 0 }, { 42, -28, 0, 20, 0, 0 }, - { 43, -29, 0, 20, 0, 0 }, { 44, -29, 0, 20, 0, 0 }, { 45, -30, 0, 19, 0, 0 }, { 46, -31, 0, 19, 0, 0 }, { 47, -32, 0, 19, 0, 0 }, - { 48, -32, 0, 19, 0, 0 }, { 49, -33, 0, 19, 0, 0 }, { 50, -34, 0, 19, 0, 0 }, { 51, -34, 0, 19, 0, 0 }, { 52, -35, 0, 19, 0, 0 }, - { 53, -36, 0, 19, 0, 0 }, { 54, -36, 0, 19, 0, 0 }, { 55, -37, 0, 19, 0, 0 }, { 56, -38, 0, 19, 0, 0 }, { 57, -38, 0, 19, 0, 0 }, - { 58, -39, 0, 18, 0, 0 }, { 59, -39, 0, 18, 0, 0 }, { 60, -40, 0, 18, 0, 0 }, { 61, -40, 0, 18, 0, 0 }, { 62, -41, 0, 18, 0, 0 }, - { 63, -41, 0, 18, 0, 0 }, { 64, -42, 0, 18, 0, 0 }, { 65, -42, 0, 18, 0, 0 }, { 66, -43, 0, 18, 0, 0 }, { 67, -43, 0, 18, 0, 0 }, - { 68, -43, 0, 18, 0, 0 }, { 69, -44, 0, 18, 0, 0 }, { 70, -44, 0, 18, 0, 0 }, { 71, -44, 0, 18, 0, 0 }, { 72, -45, 0, 17, 0, 0 }, - { 73, -45, 0, 17, 0, 0 }, { 74, -45, 0, 17, 0, 0 }, { 75, -45, 0, 17, 0, 0 }, { 76, -46, 0, 17, 0, 0 }, { 77, -46, 0, 17, 0, 0 }, - { 78, -46, 0, 17, 0, 0 }, { 79, -46, 0, 17, 0, 0 }, { 80, -46, 0, 17, 0, 0 }, { 81, -47, 0, 17, 0, 0 }, { 82, -47, 0, 17, 0, 0 }, - { 83, -47, 0, 17, 0, 0 }, { 84, -47, 0, 17, 0, 0 }, { 85, -47, 0, 17, 0, 0 }, { 86, -47, 0, 17, 0, 0 }, { 87, -48, 0, 17, 0, 0 }, - { 88, -48, 0, 16, 0, 0 }, { 89, -48, 0, 16, 0, 0 }, { 90, -48, 0, 16, 0, 0 }, { 91, -48, 0, 16, 0, 0 }, { 92, -48, 0, 16, 0, 0 }, - { 93, -48, 0, 16, 0, 0 }, { 94, -48, 0, 16, 0, 0 }, { 95, -48, 0, 16, 0, 0 }, + 113, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 23, 0, 0 }, { 17, 23, 0, 23, 0, 0 }, { 17, 22, 0, 23, 0, 0 }, + { 17, 21, 0, 23, 0, 0 }, { 17, 20, 0, 23, 0, 0 }, { 17, 19, 0, 23, 0, 0 }, { 17, 18, 0, 23, 0, 0 }, { 18, 17, 0, 23, 0, 0 }, + { 18, 16, 0, 23, 0, 0 }, { 18, 15, 0, 23, 0, 0 }, { 18, 14, 0, 23, 0, 0 }, { 18, 13, 0, 23, 0, 0 }, { 19, 12, 0, 23, 0, 0 }, + { 19, 11, 0, 23, 0, 0 }, { 19, 10, 0, 22, 0, 0 }, { 19, 9, 0, 22, 0, 0 }, { 20, 8, 0, 22, 0, 0 }, { 20, 7, 0, 22, 0, 0 }, + { 20, 6, 0, 22, 0, 0 }, { 21, 5, 0, 22, 0, 0 }, { 21, 4, 0, 22, 0, 0 }, { 21, 3, 0, 22, 0, 0 }, { 22, 2, 0, 22, 0, 0 }, + { 22, 1, 0, 22, 0, 0 }, { 23, 0, 0, 22, 0, 0 }, { 23, -1, 0, 22, 0, 0 }, { 24, -2, 0, 22, 0, 0 }, { 24, -3, 0, 22, 0, 0 }, + { 25, -4, 0, 22, 0, 0 }, { 25, -5, 0, 21, 0, 0 }, { 26, -6, 0, 21, 0, 0 }, { 26, -7, 0, 21, 0, 0 }, { 27, -8, 0, 21, 0, 0 }, + { 28, -9, 0, 21, 0, 0 }, { 28, -10, 0, 21, 0, 0 }, { 29, -11, 0, 21, 0, 0 }, { 30, -12, 0, 21, 0, 0 }, { 30, -13, 0, 21, 0, 0 }, + { 31, -14, 0, 21, 0, 0 }, { 32, -15, 0, 21, 0, 0 }, { 32, -16, 0, 21, 0, 0 }, { 33, -17, 0, 21, 0, 0 }, { 34, -18, 0, 20, 0, 0 }, + { 35, -19, 0, 20, 0, 0 }, { 35, -20, 0, 20, 0, 0 }, { 36, -21, 0, 20, 0, 0 }, { 37, -22, 0, 20, 0, 0 }, { 38, -23, 0, 20, 0, 0 }, + { 39, -24, 0, 20, 0, 0 }, { 39, -25, 0, 20, 0, 0 }, { 40, -26, 0, 20, 0, 0 }, { 41, -27, 0, 20, 0, 0 }, { 42, -28, 0, 20, 0, 0 }, + { 43, -29, 0, 20, 0, 0 }, { 44, -29, 0, 20, 0, 0 }, { 45, -30, 0, 19, 0, 0 }, { 46, -31, 0, 19, 0, 0 }, { 47, -32, 0, 19, 0, 0 }, + { 48, -32, 0, 19, 0, 0 }, { 49, -33, 0, 19, 0, 0 }, { 50, -34, 0, 19, 0, 0 }, { 51, -34, 0, 19, 0, 0 }, { 52, -35, 0, 19, 0, 0 }, + { 53, -36, 0, 19, 0, 0 }, { 54, -36, 0, 19, 0, 0 }, { 55, -37, 0, 19, 0, 0 }, { 56, -38, 0, 19, 0, 0 }, { 57, -38, 0, 19, 0, 0 }, + { 58, -39, 0, 18, 0, 0 }, { 59, -39, 0, 18, 0, 0 }, { 60, -40, 0, 18, 0, 0 }, { 61, -40, 0, 18, 0, 0 }, { 62, -41, 0, 18, 0, 0 }, + { 63, -41, 0, 18, 0, 0 }, { 64, -42, 0, 18, 0, 0 }, { 65, -42, 0, 18, 0, 0 }, { 66, -43, 0, 18, 0, 0 }, { 67, -43, 0, 18, 0, 0 }, + { 68, -43, 0, 18, 0, 0 }, { 69, -44, 0, 18, 0, 0 }, { 70, -44, 0, 18, 0, 0 }, { 71, -44, 0, 18, 0, 0 }, { 72, -45, 0, 17, 0, 0 }, + { 73, -45, 0, 17, 0, 0 }, { 74, -45, 0, 17, 0, 0 }, { 75, -45, 0, 17, 0, 0 }, { 76, -46, 0, 17, 0, 0 }, { 77, -46, 0, 17, 0, 0 }, + { 78, -46, 0, 17, 0, 0 }, { 79, -46, 0, 17, 0, 0 }, { 80, -46, 0, 17, 0, 0 }, { 81, -47, 0, 17, 0, 0 }, { 82, -47, 0, 17, 0, 0 }, + { 83, -47, 0, 17, 0, 0 }, { 84, -47, 0, 17, 0, 0 }, { 85, -47, 0, 17, 0, 0 }, { 86, -47, 0, 17, 0, 0 }, { 87, -48, 0, 17, 0, 0 }, + { 88, -48, 0, 16, 0, 0 }, { 89, -48, 0, 16, 0, 0 }, { 90, -48, 0, 16, 0, 0 }, { 91, -48, 0, 16, 0, 0 }, { 92, -48, 0, 16, 0, 0 }, + { 93, -48, 0, 16, 0, 0 }, { 94, -48, 0, 16, 0, 0 }, { 95, -48, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C90A2 = { - 113, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 1, 0, 0 }, { 23, 17, 0, 1, 0, 0 }, { 22, 17, 0, 1, 0, 0 }, - { 21, 17, 0, 1, 0, 0 }, { 20, 17, 0, 1, 0, 0 }, { 19, 17, 0, 1, 0, 0 }, { 18, 17, 0, 1, 0, 0 }, { 17, 18, 0, 1, 0, 0 }, - { 16, 18, 0, 1, 0, 0 }, { 15, 18, 0, 1, 0, 0 }, { 14, 18, 0, 1, 0, 0 }, { 13, 18, 0, 1, 0, 0 }, { 12, 19, 0, 1, 0, 0 }, - { 11, 19, 0, 1, 0, 0 }, { 10, 19, 0, 2, 0, 0 }, { 9, 19, 0, 2, 0, 0 }, { 8, 20, 0, 2, 0, 0 }, { 7, 20, 0, 2, 0, 0 }, - { 6, 20, 0, 2, 0, 0 }, { 5, 21, 0, 2, 0, 0 }, { 4, 21, 0, 2, 0, 0 }, { 3, 21, 0, 2, 0, 0 }, { 2, 22, 0, 2, 0, 0 }, - { 1, 22, 0, 2, 0, 0 }, { 0, 23, 0, 2, 0, 0 }, { -1, 23, 0, 2, 0, 0 }, { -2, 24, 0, 2, 0, 0 }, { -3, 24, 0, 2, 0, 0 }, - { -4, 25, 0, 2, 0, 0 }, { -5, 25, 0, 3, 0, 0 }, { -6, 26, 0, 3, 0, 0 }, { -7, 26, 0, 3, 0, 0 }, { -8, 27, 0, 3, 0, 0 }, - { -9, 28, 0, 3, 0, 0 }, { -10, 28, 0, 3, 0, 0 }, { -11, 29, 0, 3, 0, 0 }, { -12, 30, 0, 3, 0, 0 }, { -13, 30, 0, 3, 0, 0 }, - { -14, 31, 0, 3, 0, 0 }, { -15, 32, 0, 3, 0, 0 }, { -16, 32, 0, 3, 0, 0 }, { -17, 33, 0, 3, 0, 0 }, { -18, 34, 0, 4, 0, 0 }, - { -19, 35, 0, 4, 0, 0 }, { -20, 35, 0, 4, 0, 0 }, { -21, 36, 0, 4, 0, 0 }, { -22, 37, 0, 4, 0, 0 }, { -23, 38, 0, 4, 0, 0 }, - { -24, 39, 0, 4, 0, 0 }, { -25, 39, 0, 4, 0, 0 }, { -26, 40, 0, 4, 0, 0 }, { -27, 41, 0, 4, 0, 0 }, { -28, 42, 0, 4, 0, 0 }, - { -29, 43, 0, 4, 0, 0 }, { -29, 44, 0, 4, 0, 0 }, { -30, 45, 0, 5, 0, 0 }, { -31, 46, 0, 5, 0, 0 }, { -32, 47, 0, 5, 0, 0 }, - { -32, 48, 0, 5, 0, 0 }, { -33, 49, 0, 5, 0, 0 }, { -34, 50, 0, 5, 0, 0 }, { -34, 51, 0, 5, 0, 0 }, { -35, 52, 0, 5, 0, 0 }, - { -36, 53, 0, 5, 0, 0 }, { -36, 54, 0, 5, 0, 0 }, { -37, 55, 0, 5, 0, 0 }, { -38, 56, 0, 5, 0, 0 }, { -38, 57, 0, 5, 0, 0 }, - { -39, 58, 0, 6, 0, 0 }, { -39, 59, 0, 6, 0, 0 }, { -40, 60, 0, 6, 0, 0 }, { -40, 61, 0, 6, 0, 0 }, { -41, 62, 0, 6, 0, 0 }, - { -41, 63, 0, 6, 0, 0 }, { -42, 64, 0, 6, 0, 0 }, { -42, 65, 0, 6, 0, 0 }, { -43, 66, 0, 6, 0, 0 }, { -43, 67, 0, 6, 0, 0 }, - { -43, 68, 0, 6, 0, 0 }, { -44, 69, 0, 6, 0, 0 }, { -44, 70, 0, 6, 0, 0 }, { -44, 71, 0, 6, 0, 0 }, { -45, 72, 0, 7, 0, 0 }, - { -45, 73, 0, 7, 0, 0 }, { -45, 74, 0, 7, 0, 0 }, { -45, 75, 0, 7, 0, 0 }, { -46, 76, 0, 7, 0, 0 }, { -46, 77, 0, 7, 0, 0 }, - { -46, 78, 0, 7, 0, 0 }, { -46, 79, 0, 7, 0, 0 }, { -46, 80, 0, 7, 0, 0 }, { -47, 81, 0, 7, 0, 0 }, { -47, 82, 0, 7, 0, 0 }, - { -47, 83, 0, 7, 0, 0 }, { -47, 84, 0, 7, 0, 0 }, { -47, 85, 0, 7, 0, 0 }, { -47, 86, 0, 7, 0, 0 }, { -48, 87, 0, 7, 0, 0 }, - { -48, 88, 0, 8, 0, 0 }, { -48, 89, 0, 8, 0, 0 }, { -48, 90, 0, 8, 0, 0 }, { -48, 91, 0, 8, 0, 0 }, { -48, 92, 0, 8, 0, 0 }, - { -48, 93, 0, 8, 0, 0 }, { -48, 94, 0, 8, 0, 0 }, { -48, 95, 0, 8, 0, 0 }, + 113, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 1, 0, 0 }, { 23, 17, 0, 1, 0, 0 }, { 22, 17, 0, 1, 0, 0 }, + { 21, 17, 0, 1, 0, 0 }, { 20, 17, 0, 1, 0, 0 }, { 19, 17, 0, 1, 0, 0 }, { 18, 17, 0, 1, 0, 0 }, { 17, 18, 0, 1, 0, 0 }, + { 16, 18, 0, 1, 0, 0 }, { 15, 18, 0, 1, 0, 0 }, { 14, 18, 0, 1, 0, 0 }, { 13, 18, 0, 1, 0, 0 }, { 12, 19, 0, 1, 0, 0 }, + { 11, 19, 0, 1, 0, 0 }, { 10, 19, 0, 2, 0, 0 }, { 9, 19, 0, 2, 0, 0 }, { 8, 20, 0, 2, 0, 0 }, { 7, 20, 0, 2, 0, 0 }, + { 6, 20, 0, 2, 0, 0 }, { 5, 21, 0, 2, 0, 0 }, { 4, 21, 0, 2, 0, 0 }, { 3, 21, 0, 2, 0, 0 }, { 2, 22, 0, 2, 0, 0 }, + { 1, 22, 0, 2, 0, 0 }, { 0, 23, 0, 2, 0, 0 }, { -1, 23, 0, 2, 0, 0 }, { -2, 24, 0, 2, 0, 0 }, { -3, 24, 0, 2, 0, 0 }, + { -4, 25, 0, 2, 0, 0 }, { -5, 25, 0, 3, 0, 0 }, { -6, 26, 0, 3, 0, 0 }, { -7, 26, 0, 3, 0, 0 }, { -8, 27, 0, 3, 0, 0 }, + { -9, 28, 0, 3, 0, 0 }, { -10, 28, 0, 3, 0, 0 }, { -11, 29, 0, 3, 0, 0 }, { -12, 30, 0, 3, 0, 0 }, { -13, 30, 0, 3, 0, 0 }, + { -14, 31, 0, 3, 0, 0 }, { -15, 32, 0, 3, 0, 0 }, { -16, 32, 0, 3, 0, 0 }, { -17, 33, 0, 3, 0, 0 }, { -18, 34, 0, 4, 0, 0 }, + { -19, 35, 0, 4, 0, 0 }, { -20, 35, 0, 4, 0, 0 }, { -21, 36, 0, 4, 0, 0 }, { -22, 37, 0, 4, 0, 0 }, { -23, 38, 0, 4, 0, 0 }, + { -24, 39, 0, 4, 0, 0 }, { -25, 39, 0, 4, 0, 0 }, { -26, 40, 0, 4, 0, 0 }, { -27, 41, 0, 4, 0, 0 }, { -28, 42, 0, 4, 0, 0 }, + { -29, 43, 0, 4, 0, 0 }, { -29, 44, 0, 4, 0, 0 }, { -30, 45, 0, 5, 0, 0 }, { -31, 46, 0, 5, 0, 0 }, { -32, 47, 0, 5, 0, 0 }, + { -32, 48, 0, 5, 0, 0 }, { -33, 49, 0, 5, 0, 0 }, { -34, 50, 0, 5, 0, 0 }, { -34, 51, 0, 5, 0, 0 }, { -35, 52, 0, 5, 0, 0 }, + { -36, 53, 0, 5, 0, 0 }, { -36, 54, 0, 5, 0, 0 }, { -37, 55, 0, 5, 0, 0 }, { -38, 56, 0, 5, 0, 0 }, { -38, 57, 0, 5, 0, 0 }, + { -39, 58, 0, 6, 0, 0 }, { -39, 59, 0, 6, 0, 0 }, { -40, 60, 0, 6, 0, 0 }, { -40, 61, 0, 6, 0, 0 }, { -41, 62, 0, 6, 0, 0 }, + { -41, 63, 0, 6, 0, 0 }, { -42, 64, 0, 6, 0, 0 }, { -42, 65, 0, 6, 0, 0 }, { -43, 66, 0, 6, 0, 0 }, { -43, 67, 0, 6, 0, 0 }, + { -43, 68, 0, 6, 0, 0 }, { -44, 69, 0, 6, 0, 0 }, { -44, 70, 0, 6, 0, 0 }, { -44, 71, 0, 6, 0, 0 }, { -45, 72, 0, 7, 0, 0 }, + { -45, 73, 0, 7, 0, 0 }, { -45, 74, 0, 7, 0, 0 }, { -45, 75, 0, 7, 0, 0 }, { -46, 76, 0, 7, 0, 0 }, { -46, 77, 0, 7, 0, 0 }, + { -46, 78, 0, 7, 0, 0 }, { -46, 79, 0, 7, 0, 0 }, { -46, 80, 0, 7, 0, 0 }, { -47, 81, 0, 7, 0, 0 }, { -47, 82, 0, 7, 0, 0 }, + { -47, 83, 0, 7, 0, 0 }, { -47, 84, 0, 7, 0, 0 }, { -47, 85, 0, 7, 0, 0 }, { -47, 86, 0, 7, 0, 0 }, { -48, 87, 0, 7, 0, 0 }, + { -48, 88, 0, 8, 0, 0 }, { -48, 89, 0, 8, 0, 0 }, { -48, 90, 0, 8, 0, 0 }, { -48, 91, 0, 8, 0, 0 }, { -48, 92, 0, 8, 0, 0 }, + { -48, 93, 0, 8, 0, 0 }, { -48, 94, 0, 8, 0, 0 }, { -48, 95, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C949D = { - 114, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 9, 0, 0 }, { 17, 9, 0, 9, 0, 0 }, - { 17, 10, 0, 9, 0, 0 }, { 17, 11, 0, 9, 0, 0 }, { 17, 12, 0, 9, 0, 0 }, { 17, 13, 0, 9, 0, 0 }, { 17, 14, 0, 9, 0, 0 }, - { 18, 15, 0, 9, 0, 0 }, { 18, 16, 0, 9, 0, 0 }, { 18, 17, 0, 9, 0, 0 }, { 18, 18, 0, 9, 0, 0 }, { 18, 19, 0, 9, 0, 0 }, - { 19, 20, 0, 9, 0, 0 }, { 19, 21, 0, 9, 0, 0 }, { 19, 22, 0, 10, 0, 0 }, { 19, 23, 0, 10, 0, 0 }, { 20, 24, 0, 10, 0, 0 }, - { 20, 25, 0, 10, 0, 0 }, { 20, 26, 0, 10, 0, 0 }, { 21, 27, 0, 10, 0, 0 }, { 21, 28, 0, 10, 0, 0 }, { 21, 29, 0, 10, 0, 0 }, - { 22, 30, 0, 10, 0, 0 }, { 22, 31, 0, 10, 0, 0 }, { 23, 32, 0, 10, 0, 0 }, { 23, 33, 0, 10, 0, 0 }, { 24, 34, 0, 10, 0, 0 }, - { 24, 35, 0, 10, 0, 0 }, { 25, 36, 0, 10, 0, 0 }, { 25, 37, 0, 11, 0, 0 }, { 26, 38, 0, 11, 0, 0 }, { 26, 39, 0, 11, 0, 0 }, - { 27, 40, 0, 11, 0, 0 }, { 28, 41, 0, 11, 0, 0 }, { 28, 42, 0, 11, 0, 0 }, { 29, 43, 0, 11, 0, 0 }, { 30, 44, 0, 11, 0, 0 }, - { 30, 45, 0, 11, 0, 0 }, { 31, 46, 0, 11, 0, 0 }, { 32, 47, 0, 11, 0, 0 }, { 32, 48, 0, 11, 0, 0 }, { 33, 49, 0, 11, 0, 0 }, - { 34, 50, 0, 12, 0, 0 }, { 35, 51, 0, 12, 0, 0 }, { 35, 52, 0, 12, 0, 0 }, { 36, 53, 0, 12, 0, 0 }, { 37, 54, 0, 12, 0, 0 }, - { 38, 55, 0, 12, 0, 0 }, { 39, 56, 0, 12, 0, 0 }, { 39, 57, 0, 12, 0, 0 }, { 40, 58, 0, 12, 0, 0 }, { 41, 59, 0, 12, 0, 0 }, - { 42, 60, 0, 12, 0, 0 }, { 43, 61, 0, 12, 0, 0 }, { 44, 61, 0, 12, 0, 0 }, { 45, 62, 0, 13, 0, 0 }, { 46, 63, 0, 13, 0, 0 }, - { 47, 64, 0, 13, 0, 0 }, { 48, 64, 0, 13, 0, 0 }, { 49, 65, 0, 13, 0, 0 }, { 50, 66, 0, 13, 0, 0 }, { 51, 66, 0, 13, 0, 0 }, - { 52, 67, 0, 13, 0, 0 }, { 53, 68, 0, 13, 0, 0 }, { 54, 68, 0, 13, 0, 0 }, { 55, 69, 0, 13, 0, 0 }, { 56, 70, 0, 13, 0, 0 }, - { 57, 70, 0, 13, 0, 0 }, { 58, 71, 0, 14, 0, 0 }, { 59, 71, 0, 14, 0, 0 }, { 60, 72, 0, 14, 0, 0 }, { 61, 72, 0, 14, 0, 0 }, - { 62, 73, 0, 14, 0, 0 }, { 63, 73, 0, 14, 0, 0 }, { 64, 74, 0, 14, 0, 0 }, { 65, 74, 0, 14, 0, 0 }, { 66, 75, 0, 14, 0, 0 }, - { 67, 75, 0, 14, 0, 0 }, { 68, 75, 0, 14, 0, 0 }, { 69, 76, 0, 14, 0, 0 }, { 70, 76, 0, 14, 0, 0 }, { 71, 76, 0, 14, 0, 0 }, - { 72, 77, 0, 15, 0, 0 }, { 73, 77, 0, 15, 0, 0 }, { 74, 77, 0, 15, 0, 0 }, { 75, 77, 0, 15, 0, 0 }, { 76, 78, 0, 15, 0, 0 }, - { 77, 78, 0, 15, 0, 0 }, { 78, 78, 0, 15, 0, 0 }, { 79, 78, 0, 15, 0, 0 }, { 80, 78, 0, 15, 0, 0 }, { 81, 79, 0, 15, 0, 0 }, - { 82, 79, 0, 15, 0, 0 }, { 83, 79, 0, 15, 0, 0 }, { 84, 79, 0, 15, 0, 0 }, { 85, 79, 0, 15, 0, 0 }, { 86, 79, 0, 15, 0, 0 }, - { 87, 80, 0, 15, 0, 0 }, { 88, 80, 0, 16, 0, 0 }, { 89, 80, 0, 16, 0, 0 }, { 90, 80, 0, 16, 0, 0 }, { 91, 80, 0, 16, 0, 0 }, - { 92, 80, 0, 16, 0, 0 }, { 93, 80, 0, 16, 0, 0 }, { 94, 80, 0, 16, 0, 0 }, { 95, 80, 0, 16, 0, 0 }, + 114, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 9, 0, 0 }, { 17, 9, 0, 9, 0, 0 }, + { 17, 10, 0, 9, 0, 0 }, { 17, 11, 0, 9, 0, 0 }, { 17, 12, 0, 9, 0, 0 }, { 17, 13, 0, 9, 0, 0 }, { 17, 14, 0, 9, 0, 0 }, + { 18, 15, 0, 9, 0, 0 }, { 18, 16, 0, 9, 0, 0 }, { 18, 17, 0, 9, 0, 0 }, { 18, 18, 0, 9, 0, 0 }, { 18, 19, 0, 9, 0, 0 }, + { 19, 20, 0, 9, 0, 0 }, { 19, 21, 0, 9, 0, 0 }, { 19, 22, 0, 10, 0, 0 }, { 19, 23, 0, 10, 0, 0 }, { 20, 24, 0, 10, 0, 0 }, + { 20, 25, 0, 10, 0, 0 }, { 20, 26, 0, 10, 0, 0 }, { 21, 27, 0, 10, 0, 0 }, { 21, 28, 0, 10, 0, 0 }, { 21, 29, 0, 10, 0, 0 }, + { 22, 30, 0, 10, 0, 0 }, { 22, 31, 0, 10, 0, 0 }, { 23, 32, 0, 10, 0, 0 }, { 23, 33, 0, 10, 0, 0 }, { 24, 34, 0, 10, 0, 0 }, + { 24, 35, 0, 10, 0, 0 }, { 25, 36, 0, 10, 0, 0 }, { 25, 37, 0, 11, 0, 0 }, { 26, 38, 0, 11, 0, 0 }, { 26, 39, 0, 11, 0, 0 }, + { 27, 40, 0, 11, 0, 0 }, { 28, 41, 0, 11, 0, 0 }, { 28, 42, 0, 11, 0, 0 }, { 29, 43, 0, 11, 0, 0 }, { 30, 44, 0, 11, 0, 0 }, + { 30, 45, 0, 11, 0, 0 }, { 31, 46, 0, 11, 0, 0 }, { 32, 47, 0, 11, 0, 0 }, { 32, 48, 0, 11, 0, 0 }, { 33, 49, 0, 11, 0, 0 }, + { 34, 50, 0, 12, 0, 0 }, { 35, 51, 0, 12, 0, 0 }, { 35, 52, 0, 12, 0, 0 }, { 36, 53, 0, 12, 0, 0 }, { 37, 54, 0, 12, 0, 0 }, + { 38, 55, 0, 12, 0, 0 }, { 39, 56, 0, 12, 0, 0 }, { 39, 57, 0, 12, 0, 0 }, { 40, 58, 0, 12, 0, 0 }, { 41, 59, 0, 12, 0, 0 }, + { 42, 60, 0, 12, 0, 0 }, { 43, 61, 0, 12, 0, 0 }, { 44, 61, 0, 12, 0, 0 }, { 45, 62, 0, 13, 0, 0 }, { 46, 63, 0, 13, 0, 0 }, + { 47, 64, 0, 13, 0, 0 }, { 48, 64, 0, 13, 0, 0 }, { 49, 65, 0, 13, 0, 0 }, { 50, 66, 0, 13, 0, 0 }, { 51, 66, 0, 13, 0, 0 }, + { 52, 67, 0, 13, 0, 0 }, { 53, 68, 0, 13, 0, 0 }, { 54, 68, 0, 13, 0, 0 }, { 55, 69, 0, 13, 0, 0 }, { 56, 70, 0, 13, 0, 0 }, + { 57, 70, 0, 13, 0, 0 }, { 58, 71, 0, 14, 0, 0 }, { 59, 71, 0, 14, 0, 0 }, { 60, 72, 0, 14, 0, 0 }, { 61, 72, 0, 14, 0, 0 }, + { 62, 73, 0, 14, 0, 0 }, { 63, 73, 0, 14, 0, 0 }, { 64, 74, 0, 14, 0, 0 }, { 65, 74, 0, 14, 0, 0 }, { 66, 75, 0, 14, 0, 0 }, + { 67, 75, 0, 14, 0, 0 }, { 68, 75, 0, 14, 0, 0 }, { 69, 76, 0, 14, 0, 0 }, { 70, 76, 0, 14, 0, 0 }, { 71, 76, 0, 14, 0, 0 }, + { 72, 77, 0, 15, 0, 0 }, { 73, 77, 0, 15, 0, 0 }, { 74, 77, 0, 15, 0, 0 }, { 75, 77, 0, 15, 0, 0 }, { 76, 78, 0, 15, 0, 0 }, + { 77, 78, 0, 15, 0, 0 }, { 78, 78, 0, 15, 0, 0 }, { 79, 78, 0, 15, 0, 0 }, { 80, 78, 0, 15, 0, 0 }, { 81, 79, 0, 15, 0, 0 }, + { 82, 79, 0, 15, 0, 0 }, { 83, 79, 0, 15, 0, 0 }, { 84, 79, 0, 15, 0, 0 }, { 85, 79, 0, 15, 0, 0 }, { 86, 79, 0, 15, 0, 0 }, + { 87, 80, 0, 15, 0, 0 }, { 88, 80, 0, 16, 0, 0 }, { 89, 80, 0, 16, 0, 0 }, { 90, 80, 0, 16, 0, 0 }, { 91, 80, 0, 16, 0, 0 }, + { 92, 80, 0, 16, 0, 0 }, { 93, 80, 0, 16, 0, 0 }, { 94, 80, 0, 16, 0, 0 }, { 95, 80, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C98A1 = { - 115, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 17, 0, 0 }, { 9, 15, 0, 17, 0, 0 }, - { 10, 15, 0, 17, 0, 0 }, { 11, 15, 0, 17, 0, 0 }, { 12, 15, 0, 17, 0, 0 }, { 13, 15, 0, 17, 0, 0 }, { 14, 15, 0, 17, 0, 0 }, - { 15, 14, 0, 17, 0, 0 }, { 16, 14, 0, 17, 0, 0 }, { 17, 14, 0, 17, 0, 0 }, { 18, 14, 0, 17, 0, 0 }, { 19, 14, 0, 17, 0, 0 }, - { 20, 13, 0, 17, 0, 0 }, { 21, 13, 0, 17, 0, 0 }, { 22, 13, 0, 18, 0, 0 }, { 23, 13, 0, 18, 0, 0 }, { 24, 12, 0, 18, 0, 0 }, - { 25, 12, 0, 18, 0, 0 }, { 26, 12, 0, 18, 0, 0 }, { 27, 11, 0, 18, 0, 0 }, { 28, 11, 0, 18, 0, 0 }, { 29, 11, 0, 18, 0, 0 }, - { 30, 10, 0, 18, 0, 0 }, { 31, 10, 0, 18, 0, 0 }, { 32, 9, 0, 18, 0, 0 }, { 33, 9, 0, 18, 0, 0 }, { 34, 8, 0, 18, 0, 0 }, - { 35, 8, 0, 18, 0, 0 }, { 36, 7, 0, 18, 0, 0 }, { 37, 7, 0, 19, 0, 0 }, { 38, 6, 0, 19, 0, 0 }, { 39, 6, 0, 19, 0, 0 }, - { 40, 5, 0, 19, 0, 0 }, { 41, 4, 0, 19, 0, 0 }, { 42, 4, 0, 19, 0, 0 }, { 43, 3, 0, 19, 0, 0 }, { 44, 2, 0, 19, 0, 0 }, - { 45, 2, 0, 19, 0, 0 }, { 46, 1, 0, 19, 0, 0 }, { 47, 0, 0, 19, 0, 0 }, { 48, 0, 0, 19, 0, 0 }, { 49, -1, 0, 19, 0, 0 }, - { 50, -2, 0, 20, 0, 0 }, { 51, -3, 0, 20, 0, 0 }, { 52, -3, 0, 20, 0, 0 }, { 53, -4, 0, 20, 0, 0 }, { 54, -5, 0, 20, 0, 0 }, - { 55, -6, 0, 20, 0, 0 }, { 56, -7, 0, 20, 0, 0 }, { 57, -7, 0, 20, 0, 0 }, { 58, -8, 0, 20, 0, 0 }, { 59, -9, 0, 20, 0, 0 }, - { 60, -10, 0, 20, 0, 0 }, { 61, -11, 0, 20, 0, 0 }, { 61, -12, 0, 20, 0, 0 }, { 62, -13, 0, 21, 0, 0 }, { 63, -14, 0, 21, 0, 0 }, - { 64, -15, 0, 21, 0, 0 }, { 64, -16, 0, 21, 0, 0 }, { 65, -17, 0, 21, 0, 0 }, { 66, -18, 0, 21, 0, 0 }, { 66, -19, 0, 21, 0, 0 }, - { 67, -20, 0, 21, 0, 0 }, { 68, -21, 0, 21, 0, 0 }, { 68, -22, 0, 21, 0, 0 }, { 69, -23, 0, 21, 0, 0 }, { 70, -24, 0, 21, 0, 0 }, - { 70, -25, 0, 21, 0, 0 }, { 71, -26, 0, 22, 0, 0 }, { 71, -27, 0, 22, 0, 0 }, { 72, -28, 0, 22, 0, 0 }, { 72, -29, 0, 22, 0, 0 }, - { 73, -30, 0, 22, 0, 0 }, { 73, -31, 0, 22, 0, 0 }, { 74, -32, 0, 22, 0, 0 }, { 74, -33, 0, 22, 0, 0 }, { 75, -34, 0, 22, 0, 0 }, - { 75, -35, 0, 22, 0, 0 }, { 75, -36, 0, 22, 0, 0 }, { 76, -37, 0, 22, 0, 0 }, { 76, -38, 0, 22, 0, 0 }, { 76, -39, 0, 22, 0, 0 }, - { 77, -40, 0, 23, 0, 0 }, { 77, -41, 0, 23, 0, 0 }, { 77, -42, 0, 23, 0, 0 }, { 77, -43, 0, 23, 0, 0 }, { 78, -44, 0, 23, 0, 0 }, - { 78, -45, 0, 23, 0, 0 }, { 78, -46, 0, 23, 0, 0 }, { 78, -47, 0, 23, 0, 0 }, { 78, -48, 0, 23, 0, 0 }, { 79, -49, 0, 23, 0, 0 }, - { 79, -50, 0, 23, 0, 0 }, { 79, -51, 0, 23, 0, 0 }, { 79, -52, 0, 23, 0, 0 }, { 79, -53, 0, 23, 0, 0 }, { 79, -54, 0, 23, 0, 0 }, - { 80, -55, 0, 23, 0, 0 }, { 80, -56, 0, 24, 0, 0 }, { 80, -57, 0, 24, 0, 0 }, { 80, -58, 0, 24, 0, 0 }, { 80, -59, 0, 24, 0, 0 }, - { 80, -60, 0, 24, 0, 0 }, { 80, -61, 0, 24, 0, 0 }, { 80, -62, 0, 24, 0, 0 }, { 80, -63, 0, 24, 0, 0 }, { 80, -64, 0, 24, 0, 0 }, + 115, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 17, 0, 0 }, { 9, 15, 0, 17, 0, 0 }, + { 10, 15, 0, 17, 0, 0 }, { 11, 15, 0, 17, 0, 0 }, { 12, 15, 0, 17, 0, 0 }, { 13, 15, 0, 17, 0, 0 }, { 14, 15, 0, 17, 0, 0 }, + { 15, 14, 0, 17, 0, 0 }, { 16, 14, 0, 17, 0, 0 }, { 17, 14, 0, 17, 0, 0 }, { 18, 14, 0, 17, 0, 0 }, { 19, 14, 0, 17, 0, 0 }, + { 20, 13, 0, 17, 0, 0 }, { 21, 13, 0, 17, 0, 0 }, { 22, 13, 0, 18, 0, 0 }, { 23, 13, 0, 18, 0, 0 }, { 24, 12, 0, 18, 0, 0 }, + { 25, 12, 0, 18, 0, 0 }, { 26, 12, 0, 18, 0, 0 }, { 27, 11, 0, 18, 0, 0 }, { 28, 11, 0, 18, 0, 0 }, { 29, 11, 0, 18, 0, 0 }, + { 30, 10, 0, 18, 0, 0 }, { 31, 10, 0, 18, 0, 0 }, { 32, 9, 0, 18, 0, 0 }, { 33, 9, 0, 18, 0, 0 }, { 34, 8, 0, 18, 0, 0 }, + { 35, 8, 0, 18, 0, 0 }, { 36, 7, 0, 18, 0, 0 }, { 37, 7, 0, 19, 0, 0 }, { 38, 6, 0, 19, 0, 0 }, { 39, 6, 0, 19, 0, 0 }, + { 40, 5, 0, 19, 0, 0 }, { 41, 4, 0, 19, 0, 0 }, { 42, 4, 0, 19, 0, 0 }, { 43, 3, 0, 19, 0, 0 }, { 44, 2, 0, 19, 0, 0 }, + { 45, 2, 0, 19, 0, 0 }, { 46, 1, 0, 19, 0, 0 }, { 47, 0, 0, 19, 0, 0 }, { 48, 0, 0, 19, 0, 0 }, { 49, -1, 0, 19, 0, 0 }, + { 50, -2, 0, 20, 0, 0 }, { 51, -3, 0, 20, 0, 0 }, { 52, -3, 0, 20, 0, 0 }, { 53, -4, 0, 20, 0, 0 }, { 54, -5, 0, 20, 0, 0 }, + { 55, -6, 0, 20, 0, 0 }, { 56, -7, 0, 20, 0, 0 }, { 57, -7, 0, 20, 0, 0 }, { 58, -8, 0, 20, 0, 0 }, { 59, -9, 0, 20, 0, 0 }, + { 60, -10, 0, 20, 0, 0 }, { 61, -11, 0, 20, 0, 0 }, { 61, -12, 0, 20, 0, 0 }, { 62, -13, 0, 21, 0, 0 }, { 63, -14, 0, 21, 0, 0 }, + { 64, -15, 0, 21, 0, 0 }, { 64, -16, 0, 21, 0, 0 }, { 65, -17, 0, 21, 0, 0 }, { 66, -18, 0, 21, 0, 0 }, { 66, -19, 0, 21, 0, 0 }, + { 67, -20, 0, 21, 0, 0 }, { 68, -21, 0, 21, 0, 0 }, { 68, -22, 0, 21, 0, 0 }, { 69, -23, 0, 21, 0, 0 }, { 70, -24, 0, 21, 0, 0 }, + { 70, -25, 0, 21, 0, 0 }, { 71, -26, 0, 22, 0, 0 }, { 71, -27, 0, 22, 0, 0 }, { 72, -28, 0, 22, 0, 0 }, { 72, -29, 0, 22, 0, 0 }, + { 73, -30, 0, 22, 0, 0 }, { 73, -31, 0, 22, 0, 0 }, { 74, -32, 0, 22, 0, 0 }, { 74, -33, 0, 22, 0, 0 }, { 75, -34, 0, 22, 0, 0 }, + { 75, -35, 0, 22, 0, 0 }, { 75, -36, 0, 22, 0, 0 }, { 76, -37, 0, 22, 0, 0 }, { 76, -38, 0, 22, 0, 0 }, { 76, -39, 0, 22, 0, 0 }, + { 77, -40, 0, 23, 0, 0 }, { 77, -41, 0, 23, 0, 0 }, { 77, -42, 0, 23, 0, 0 }, { 77, -43, 0, 23, 0, 0 }, { 78, -44, 0, 23, 0, 0 }, + { 78, -45, 0, 23, 0, 0 }, { 78, -46, 0, 23, 0, 0 }, { 78, -47, 0, 23, 0, 0 }, { 78, -48, 0, 23, 0, 0 }, { 79, -49, 0, 23, 0, 0 }, + { 79, -50, 0, 23, 0, 0 }, { 79, -51, 0, 23, 0, 0 }, { 79, -52, 0, 23, 0, 0 }, { 79, -53, 0, 23, 0, 0 }, { 79, -54, 0, 23, 0, 0 }, + { 80, -55, 0, 23, 0, 0 }, { 80, -56, 0, 24, 0, 0 }, { 80, -57, 0, 24, 0, 0 }, { 80, -58, 0, 24, 0, 0 }, { 80, -59, 0, 24, 0, 0 }, + { 80, -60, 0, 24, 0, 0 }, { 80, -61, 0, 24, 0, 0 }, { 80, -62, 0, 24, 0, 0 }, { 80, -63, 0, 24, 0, 0 }, { 80, -64, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C9CAE = { - 114, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 25, 0, 0 }, { 15, 23, 0, 25, 0, 0 }, { 15, 22, 0, 25, 0, 0 }, - { 15, 21, 0, 25, 0, 0 }, { 15, 20, 0, 25, 0, 0 }, { 15, 19, 0, 25, 0, 0 }, { 15, 18, 0, 25, 0, 0 }, { 14, 17, 0, 25, 0, 0 }, - { 14, 16, 0, 25, 0, 0 }, { 14, 15, 0, 25, 0, 0 }, { 14, 14, 0, 25, 0, 0 }, { 14, 13, 0, 25, 0, 0 }, { 13, 12, 0, 25, 0, 0 }, - { 13, 11, 0, 25, 0, 0 }, { 13, 10, 0, 26, 0, 0 }, { 13, 9, 0, 26, 0, 0 }, { 12, 8, 0, 26, 0, 0 }, { 12, 7, 0, 26, 0, 0 }, - { 12, 6, 0, 26, 0, 0 }, { 11, 5, 0, 26, 0, 0 }, { 11, 4, 0, 26, 0, 0 }, { 11, 3, 0, 26, 0, 0 }, { 10, 2, 0, 26, 0, 0 }, - { 10, 1, 0, 26, 0, 0 }, { 9, 0, 0, 26, 0, 0 }, { 9, -1, 0, 26, 0, 0 }, { 8, -2, 0, 26, 0, 0 }, { 8, -3, 0, 26, 0, 0 }, - { 7, -4, 0, 26, 0, 0 }, { 7, -5, 0, 27, 0, 0 }, { 6, -6, 0, 27, 0, 0 }, { 6, -7, 0, 27, 0, 0 }, { 5, -8, 0, 27, 0, 0 }, - { 4, -9, 0, 27, 0, 0 }, { 4, -10, 0, 27, 0, 0 }, { 3, -11, 0, 27, 0, 0 }, { 2, -12, 0, 27, 0, 0 }, { 2, -13, 0, 27, 0, 0 }, - { 1, -14, 0, 27, 0, 0 }, { 0, -15, 0, 27, 0, 0 }, { 0, -16, 0, 27, 0, 0 }, { -1, -17, 0, 27, 0, 0 }, { -2, -18, 0, 28, 0, 0 }, - { -3, -19, 0, 28, 0, 0 }, { -3, -20, 0, 28, 0, 0 }, { -4, -21, 0, 28, 0, 0 }, { -5, -22, 0, 28, 0, 0 }, { -6, -23, 0, 28, 0, 0 }, - { -7, -24, 0, 28, 0, 0 }, { -7, -25, 0, 28, 0, 0 }, { -8, -26, 0, 28, 0, 0 }, { -9, -27, 0, 28, 0, 0 }, { -10, -28, 0, 28, 0, 0 }, - { -11, -29, 0, 28, 0, 0 }, { -12, -29, 0, 28, 0, 0 }, { -13, -30, 0, 29, 0, 0 }, { -14, -31, 0, 29, 0, 0 }, { -15, -32, 0, 29, 0, 0 }, - { -16, -32, 0, 29, 0, 0 }, { -17, -33, 0, 29, 0, 0 }, { -18, -34, 0, 29, 0, 0 }, { -19, -34, 0, 29, 0, 0 }, { -20, -35, 0, 29, 0, 0 }, - { -21, -36, 0, 29, 0, 0 }, { -22, -36, 0, 29, 0, 0 }, { -23, -37, 0, 29, 0, 0 }, { -24, -38, 0, 29, 0, 0 }, { -25, -38, 0, 29, 0, 0 }, - { -26, -39, 0, 30, 0, 0 }, { -27, -39, 0, 30, 0, 0 }, { -28, -40, 0, 30, 0, 0 }, { -29, -40, 0, 30, 0, 0 }, { -30, -41, 0, 30, 0, 0 }, - { -31, -41, 0, 30, 0, 0 }, { -32, -42, 0, 30, 0, 0 }, { -33, -42, 0, 30, 0, 0 }, { -34, -43, 0, 30, 0, 0 }, { -35, -43, 0, 30, 0, 0 }, - { -36, -43, 0, 30, 0, 0 }, { -37, -44, 0, 30, 0, 0 }, { -38, -44, 0, 30, 0, 0 }, { -39, -44, 0, 30, 0, 0 }, { -40, -45, 0, 31, 0, 0 }, - { -41, -45, 0, 31, 0, 0 }, { -42, -45, 0, 31, 0, 0 }, { -43, -45, 0, 31, 0, 0 }, { -44, -46, 0, 31, 0, 0 }, { -45, -46, 0, 31, 0, 0 }, - { -46, -46, 0, 31, 0, 0 }, { -47, -46, 0, 31, 0, 0 }, { -48, -46, 0, 31, 0, 0 }, { -49, -47, 0, 31, 0, 0 }, { -50, -47, 0, 31, 0, 0 }, - { -51, -47, 0, 31, 0, 0 }, { -52, -47, 0, 31, 0, 0 }, { -53, -47, 0, 31, 0, 0 }, { -54, -47, 0, 31, 0, 0 }, { -55, -48, 0, 31, 0, 0 }, - { -56, -48, 0, 0, 0, 0 }, { -57, -48, 0, 0, 0, 0 }, { -58, -48, 0, 0, 0, 0 }, { -59, -48, 0, 0, 0, 0 }, { -60, -48, 0, 0, 0, 0 }, - { -61, -48, 0, 0, 0, 0 }, { -62, -48, 0, 0, 0, 0 }, { -63, -48, 0, 0, 0, 0 }, { -64, -48, 0, 0, 0, 0 }, + 114, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 25, 0, 0 }, { 15, 23, 0, 25, 0, 0 }, { 15, 22, 0, 25, 0, 0 }, + { 15, 21, 0, 25, 0, 0 }, { 15, 20, 0, 25, 0, 0 }, { 15, 19, 0, 25, 0, 0 }, { 15, 18, 0, 25, 0, 0 }, { 14, 17, 0, 25, 0, 0 }, + { 14, 16, 0, 25, 0, 0 }, { 14, 15, 0, 25, 0, 0 }, { 14, 14, 0, 25, 0, 0 }, { 14, 13, 0, 25, 0, 0 }, { 13, 12, 0, 25, 0, 0 }, + { 13, 11, 0, 25, 0, 0 }, { 13, 10, 0, 26, 0, 0 }, { 13, 9, 0, 26, 0, 0 }, { 12, 8, 0, 26, 0, 0 }, { 12, 7, 0, 26, 0, 0 }, + { 12, 6, 0, 26, 0, 0 }, { 11, 5, 0, 26, 0, 0 }, { 11, 4, 0, 26, 0, 0 }, { 11, 3, 0, 26, 0, 0 }, { 10, 2, 0, 26, 0, 0 }, + { 10, 1, 0, 26, 0, 0 }, { 9, 0, 0, 26, 0, 0 }, { 9, -1, 0, 26, 0, 0 }, { 8, -2, 0, 26, 0, 0 }, { 8, -3, 0, 26, 0, 0 }, + { 7, -4, 0, 26, 0, 0 }, { 7, -5, 0, 27, 0, 0 }, { 6, -6, 0, 27, 0, 0 }, { 6, -7, 0, 27, 0, 0 }, { 5, -8, 0, 27, 0, 0 }, + { 4, -9, 0, 27, 0, 0 }, { 4, -10, 0, 27, 0, 0 }, { 3, -11, 0, 27, 0, 0 }, { 2, -12, 0, 27, 0, 0 }, { 2, -13, 0, 27, 0, 0 }, + { 1, -14, 0, 27, 0, 0 }, { 0, -15, 0, 27, 0, 0 }, { 0, -16, 0, 27, 0, 0 }, { -1, -17, 0, 27, 0, 0 }, { -2, -18, 0, 28, 0, 0 }, + { -3, -19, 0, 28, 0, 0 }, { -3, -20, 0, 28, 0, 0 }, { -4, -21, 0, 28, 0, 0 }, { -5, -22, 0, 28, 0, 0 }, { -6, -23, 0, 28, 0, 0 }, + { -7, -24, 0, 28, 0, 0 }, { -7, -25, 0, 28, 0, 0 }, { -8, -26, 0, 28, 0, 0 }, { -9, -27, 0, 28, 0, 0 }, { -10, -28, 0, 28, 0, 0 }, + { -11, -29, 0, 28, 0, 0 }, { -12, -29, 0, 28, 0, 0 }, { -13, -30, 0, 29, 0, 0 }, { -14, -31, 0, 29, 0, 0 }, { -15, -32, 0, 29, 0, 0 }, + { -16, -32, 0, 29, 0, 0 }, { -17, -33, 0, 29, 0, 0 }, { -18, -34, 0, 29, 0, 0 }, { -19, -34, 0, 29, 0, 0 }, { -20, -35, 0, 29, 0, 0 }, + { -21, -36, 0, 29, 0, 0 }, { -22, -36, 0, 29, 0, 0 }, { -23, -37, 0, 29, 0, 0 }, { -24, -38, 0, 29, 0, 0 }, { -25, -38, 0, 29, 0, 0 }, + { -26, -39, 0, 30, 0, 0 }, { -27, -39, 0, 30, 0, 0 }, { -28, -40, 0, 30, 0, 0 }, { -29, -40, 0, 30, 0, 0 }, { -30, -41, 0, 30, 0, 0 }, + { -31, -41, 0, 30, 0, 0 }, { -32, -42, 0, 30, 0, 0 }, { -33, -42, 0, 30, 0, 0 }, { -34, -43, 0, 30, 0, 0 }, { -35, -43, 0, 30, 0, 0 }, + { -36, -43, 0, 30, 0, 0 }, { -37, -44, 0, 30, 0, 0 }, { -38, -44, 0, 30, 0, 0 }, { -39, -44, 0, 30, 0, 0 }, { -40, -45, 0, 31, 0, 0 }, + { -41, -45, 0, 31, 0, 0 }, { -42, -45, 0, 31, 0, 0 }, { -43, -45, 0, 31, 0, 0 }, { -44, -46, 0, 31, 0, 0 }, { -45, -46, 0, 31, 0, 0 }, + { -46, -46, 0, 31, 0, 0 }, { -47, -46, 0, 31, 0, 0 }, { -48, -46, 0, 31, 0, 0 }, { -49, -47, 0, 31, 0, 0 }, { -50, -47, 0, 31, 0, 0 }, + { -51, -47, 0, 31, 0, 0 }, { -52, -47, 0, 31, 0, 0 }, { -53, -47, 0, 31, 0, 0 }, { -54, -47, 0, 31, 0, 0 }, { -55, -48, 0, 31, 0, 0 }, + { -56, -48, 0, 0, 0, 0 }, { -57, -48, 0, 0, 0, 0 }, { -58, -48, 0, 0, 0, 0 }, { -59, -48, 0, 0, 0, 0 }, { -60, -48, 0, 0, 0, 0 }, + { -61, -48, 0, 0, 0, 0 }, { -62, -48, 0, 0, 0, 0 }, { -63, -48, 0, 0, 0, 0 }, { -64, -48, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C3542 = { - 32, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 1 }, { 22, 16, 0, 0, 0, 1 }, - { 21, 16, 0, 0, 0, 1 }, { 20, 16, 0, 0, 0, 1 }, { 19, 16, 0, 0, 0, 1 }, { 18, 16, 0, 0, 0, 1 }, { 17, 16, 0, 0, 0, 1 }, - { 16, 16, 0, 0, 0, 1 }, { 15, 16, 0, 0, 0, 1 }, { 14, 16, 0, 0, 0, 1 }, { 13, 16, 0, 0, 0, 1 }, { 12, 16, 0, 0, 0, 1 }, - { 11, 16, 0, 0, 0, 1 }, { 10, 16, 0, 0, 0, 1 }, { 9, 16, 0, 0, 0, 1 }, { 8, 16, 0, 0, 0, 1 }, { 7, 16, 0, 0, 0, 2 }, - { 6, 16, 0, 0, 0, 2 }, { 5, 16, 0, 0, 0, 2 }, { 4, 16, 0, 0, 0, 2 }, { 3, 16, 0, 0, 0, 2 }, { 2, 16, 0, 0, 0, 2 }, - { 1, 16, 0, 0, 0, 2 }, { 0, 16, 0, 0, 0, 2 }, + 32, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 1 }, { 22, 16, 0, 0, 0, 1 }, + { 21, 16, 0, 0, 0, 1 }, { 20, 16, 0, 0, 0, 1 }, { 19, 16, 0, 0, 0, 1 }, { 18, 16, 0, 0, 0, 1 }, { 17, 16, 0, 0, 0, 1 }, + { 16, 16, 0, 0, 0, 1 }, { 15, 16, 0, 0, 0, 1 }, { 14, 16, 0, 0, 0, 1 }, { 13, 16, 0, 0, 0, 1 }, { 12, 16, 0, 0, 0, 1 }, + { 11, 16, 0, 0, 0, 1 }, { 10, 16, 0, 0, 0, 1 }, { 9, 16, 0, 0, 0, 1 }, { 8, 16, 0, 0, 0, 1 }, { 7, 16, 0, 0, 0, 2 }, + { 6, 16, 0, 0, 0, 2 }, { 5, 16, 0, 0, 0, 2 }, { 4, 16, 0, 0, 0, 2 }, { 3, 16, 0, 0, 0, 2 }, { 2, 16, 0, 0, 0, 2 }, + { 1, 16, 0, 0, 0, 2 }, { 0, 16, 0, 0, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C3664 = { - 32, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 1 }, { 16, 9, 0, 8, 0, 1 }, - { 16, 10, 0, 8, 0, 1 }, { 16, 11, 0, 8, 0, 1 }, { 16, 12, 0, 8, 0, 1 }, { 16, 13, 0, 8, 0, 1 }, { 16, 14, 0, 8, 0, 1 }, - { 16, 15, 0, 8, 0, 1 }, { 16, 16, 0, 8, 0, 1 }, { 16, 17, 0, 8, 0, 1 }, { 16, 18, 0, 8, 0, 1 }, { 16, 19, 0, 8, 0, 1 }, - { 16, 20, 0, 8, 0, 1 }, { 16, 21, 0, 8, 0, 1 }, { 16, 22, 0, 8, 0, 1 }, { 16, 23, 0, 8, 0, 1 }, { 16, 24, 0, 8, 0, 2 }, - { 16, 25, 0, 8, 0, 2 }, { 16, 26, 0, 8, 0, 2 }, { 16, 27, 0, 8, 0, 2 }, { 16, 28, 0, 8, 0, 2 }, { 16, 29, 0, 8, 0, 2 }, - { 16, 30, 0, 8, 0, 2 }, { 16, 31, 0, 8, 0, 2 }, + 32, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 1 }, { 16, 9, 0, 8, 0, 1 }, + { 16, 10, 0, 8, 0, 1 }, { 16, 11, 0, 8, 0, 1 }, { 16, 12, 0, 8, 0, 1 }, { 16, 13, 0, 8, 0, 1 }, { 16, 14, 0, 8, 0, 1 }, + { 16, 15, 0, 8, 0, 1 }, { 16, 16, 0, 8, 0, 1 }, { 16, 17, 0, 8, 0, 1 }, { 16, 18, 0, 8, 0, 1 }, { 16, 19, 0, 8, 0, 1 }, + { 16, 20, 0, 8, 0, 1 }, { 16, 21, 0, 8, 0, 1 }, { 16, 22, 0, 8, 0, 1 }, { 16, 23, 0, 8, 0, 1 }, { 16, 24, 0, 8, 0, 2 }, + { 16, 25, 0, 8, 0, 2 }, { 16, 26, 0, 8, 0, 2 }, { 16, 27, 0, 8, 0, 2 }, { 16, 28, 0, 8, 0, 2 }, { 16, 29, 0, 8, 0, 2 }, + { 16, 30, 0, 8, 0, 2 }, { 16, 31, 0, 8, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C3786 = { - 32, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 1 }, { 9, 16, 0, 16, 0, 1 }, - { 10, 16, 0, 16, 0, 1 }, { 11, 16, 0, 16, 0, 1 }, { 12, 16, 0, 16, 0, 1 }, { 13, 16, 0, 16, 0, 1 }, { 14, 16, 0, 16, 0, 1 }, - { 15, 16, 0, 16, 0, 1 }, { 16, 16, 0, 16, 0, 1 }, { 17, 16, 0, 16, 0, 1 }, { 18, 16, 0, 16, 0, 1 }, { 19, 16, 0, 16, 0, 1 }, - { 20, 16, 0, 16, 0, 1 }, { 21, 16, 0, 16, 0, 1 }, { 22, 16, 0, 16, 0, 1 }, { 23, 16, 0, 16, 0, 1 }, { 24, 16, 0, 16, 0, 2 }, - { 25, 16, 0, 16, 0, 2 }, { 26, 16, 0, 16, 0, 2 }, { 27, 16, 0, 16, 0, 2 }, { 28, 16, 0, 16, 0, 2 }, { 29, 16, 0, 16, 0, 2 }, - { 30, 16, 0, 16, 0, 2 }, { 31, 16, 0, 16, 0, 2 }, + 32, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 1 }, { 9, 16, 0, 16, 0, 1 }, + { 10, 16, 0, 16, 0, 1 }, { 11, 16, 0, 16, 0, 1 }, { 12, 16, 0, 16, 0, 1 }, { 13, 16, 0, 16, 0, 1 }, { 14, 16, 0, 16, 0, 1 }, + { 15, 16, 0, 16, 0, 1 }, { 16, 16, 0, 16, 0, 1 }, { 17, 16, 0, 16, 0, 1 }, { 18, 16, 0, 16, 0, 1 }, { 19, 16, 0, 16, 0, 1 }, + { 20, 16, 0, 16, 0, 1 }, { 21, 16, 0, 16, 0, 1 }, { 22, 16, 0, 16, 0, 1 }, { 23, 16, 0, 16, 0, 1 }, { 24, 16, 0, 16, 0, 2 }, + { 25, 16, 0, 16, 0, 2 }, { 26, 16, 0, 16, 0, 2 }, { 27, 16, 0, 16, 0, 2 }, { 28, 16, 0, 16, 0, 2 }, { 29, 16, 0, 16, 0, 2 }, + { 30, 16, 0, 16, 0, 2 }, { 31, 16, 0, 16, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C38A8 = { - 32, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 1 }, { 16, 22, 0, 24, 0, 1 }, - { 16, 21, 0, 24, 0, 1 }, { 16, 20, 0, 24, 0, 1 }, { 16, 19, 0, 24, 0, 1 }, { 16, 18, 0, 24, 0, 1 }, { 16, 17, 0, 24, 0, 1 }, - { 16, 16, 0, 24, 0, 1 }, { 16, 15, 0, 24, 0, 1 }, { 16, 14, 0, 24, 0, 1 }, { 16, 13, 0, 24, 0, 1 }, { 16, 12, 0, 24, 0, 1 }, - { 16, 11, 0, 24, 0, 1 }, { 16, 10, 0, 24, 0, 1 }, { 16, 9, 0, 24, 0, 1 }, { 16, 8, 0, 24, 0, 1 }, { 16, 7, 0, 24, 0, 2 }, - { 16, 6, 0, 24, 0, 2 }, { 16, 5, 0, 24, 0, 2 }, { 16, 4, 0, 24, 0, 2 }, { 16, 3, 0, 24, 0, 2 }, { 16, 2, 0, 24, 0, 2 }, - { 16, 1, 0, 24, 0, 2 }, { 16, 0, 0, 24, 0, 2 }, + 32, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 1 }, { 16, 22, 0, 24, 0, 1 }, + { 16, 21, 0, 24, 0, 1 }, { 16, 20, 0, 24, 0, 1 }, { 16, 19, 0, 24, 0, 1 }, { 16, 18, 0, 24, 0, 1 }, { 16, 17, 0, 24, 0, 1 }, + { 16, 16, 0, 24, 0, 1 }, { 16, 15, 0, 24, 0, 1 }, { 16, 14, 0, 24, 0, 1 }, { 16, 13, 0, 24, 0, 1 }, { 16, 12, 0, 24, 0, 1 }, + { 16, 11, 0, 24, 0, 1 }, { 16, 10, 0, 24, 0, 1 }, { 16, 9, 0, 24, 0, 1 }, { 16, 8, 0, 24, 0, 1 }, { 16, 7, 0, 24, 0, 2 }, + { 16, 6, 0, 24, 0, 2 }, { 16, 5, 0, 24, 0, 2 }, { 16, 4, 0, 24, 0, 2 }, { 16, 3, 0, 24, 0, 2 }, { 16, 2, 0, 24, 0, 2 }, + { 16, 1, 0, 24, 0, 2 }, { 16, 0, 0, 24, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C39CA = { - 32, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 3 }, { 22, 16, 0, 0, 0, 3 }, - { 21, 16, 0, 0, 0, 3 }, { 20, 16, 0, 0, 0, 3 }, { 19, 16, 0, 0, 0, 3 }, { 18, 16, 0, 0, 0, 3 }, { 17, 16, 0, 0, 0, 3 }, - { 16, 16, 0, 0, 0, 3 }, { 15, 16, 0, 0, 0, 3 }, { 14, 16, 0, 0, 0, 3 }, { 13, 16, 0, 0, 0, 3 }, { 12, 16, 0, 0, 0, 3 }, - { 11, 16, 0, 0, 0, 3 }, { 10, 16, 0, 0, 0, 3 }, { 9, 16, 0, 0, 0, 3 }, { 8, 16, 0, 0, 0, 3 }, { 7, 16, 0, 0, 0, 4 }, - { 6, 16, 0, 0, 0, 4 }, { 5, 16, 0, 0, 0, 4 }, { 4, 16, 0, 0, 0, 4 }, { 3, 16, 0, 0, 0, 4 }, { 2, 16, 0, 0, 0, 4 }, - { 1, 16, 0, 0, 0, 4 }, { 0, 16, 0, 0, 0, 4 }, + 32, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 3 }, { 22, 16, 0, 0, 0, 3 }, + { 21, 16, 0, 0, 0, 3 }, { 20, 16, 0, 0, 0, 3 }, { 19, 16, 0, 0, 0, 3 }, { 18, 16, 0, 0, 0, 3 }, { 17, 16, 0, 0, 0, 3 }, + { 16, 16, 0, 0, 0, 3 }, { 15, 16, 0, 0, 0, 3 }, { 14, 16, 0, 0, 0, 3 }, { 13, 16, 0, 0, 0, 3 }, { 12, 16, 0, 0, 0, 3 }, + { 11, 16, 0, 0, 0, 3 }, { 10, 16, 0, 0, 0, 3 }, { 9, 16, 0, 0, 0, 3 }, { 8, 16, 0, 0, 0, 3 }, { 7, 16, 0, 0, 0, 4 }, + { 6, 16, 0, 0, 0, 4 }, { 5, 16, 0, 0, 0, 4 }, { 4, 16, 0, 0, 0, 4 }, { 3, 16, 0, 0, 0, 4 }, { 2, 16, 0, 0, 0, 4 }, + { 1, 16, 0, 0, 0, 4 }, { 0, 16, 0, 0, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C3AEC = { - 32, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 3 }, { 16, 9, 0, 8, 0, 3 }, - { 16, 10, 0, 8, 0, 3 }, { 16, 11, 0, 8, 0, 3 }, { 16, 12, 0, 8, 0, 3 }, { 16, 13, 0, 8, 0, 3 }, { 16, 14, 0, 8, 0, 3 }, - { 16, 15, 0, 8, 0, 3 }, { 16, 16, 0, 8, 0, 3 }, { 16, 17, 0, 8, 0, 3 }, { 16, 18, 0, 8, 0, 3 }, { 16, 19, 0, 8, 0, 3 }, - { 16, 20, 0, 8, 0, 3 }, { 16, 21, 0, 8, 0, 3 }, { 16, 22, 0, 8, 0, 3 }, { 16, 23, 0, 8, 0, 3 }, { 16, 24, 0, 8, 0, 4 }, - { 16, 25, 0, 8, 0, 4 }, { 16, 26, 0, 8, 0, 4 }, { 16, 27, 0, 8, 0, 4 }, { 16, 28, 0, 8, 0, 4 }, { 16, 29, 0, 8, 0, 4 }, - { 16, 30, 0, 8, 0, 4 }, { 16, 31, 0, 8, 0, 4 }, + 32, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 3 }, { 16, 9, 0, 8, 0, 3 }, + { 16, 10, 0, 8, 0, 3 }, { 16, 11, 0, 8, 0, 3 }, { 16, 12, 0, 8, 0, 3 }, { 16, 13, 0, 8, 0, 3 }, { 16, 14, 0, 8, 0, 3 }, + { 16, 15, 0, 8, 0, 3 }, { 16, 16, 0, 8, 0, 3 }, { 16, 17, 0, 8, 0, 3 }, { 16, 18, 0, 8, 0, 3 }, { 16, 19, 0, 8, 0, 3 }, + { 16, 20, 0, 8, 0, 3 }, { 16, 21, 0, 8, 0, 3 }, { 16, 22, 0, 8, 0, 3 }, { 16, 23, 0, 8, 0, 3 }, { 16, 24, 0, 8, 0, 4 }, + { 16, 25, 0, 8, 0, 4 }, { 16, 26, 0, 8, 0, 4 }, { 16, 27, 0, 8, 0, 4 }, { 16, 28, 0, 8, 0, 4 }, { 16, 29, 0, 8, 0, 4 }, + { 16, 30, 0, 8, 0, 4 }, { 16, 31, 0, 8, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C3C0E = { - 32, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 3 }, { 9, 16, 0, 16, 0, 3 }, - { 10, 16, 0, 16, 0, 3 }, { 11, 16, 0, 16, 0, 3 }, { 12, 16, 0, 16, 0, 3 }, { 13, 16, 0, 16, 0, 3 }, { 14, 16, 0, 16, 0, 3 }, - { 15, 16, 0, 16, 0, 3 }, { 16, 16, 0, 16, 0, 3 }, { 17, 16, 0, 16, 0, 3 }, { 18, 16, 0, 16, 0, 3 }, { 19, 16, 0, 16, 0, 3 }, - { 20, 16, 0, 16, 0, 3 }, { 21, 16, 0, 16, 0, 3 }, { 22, 16, 0, 16, 0, 3 }, { 23, 16, 0, 16, 0, 3 }, { 24, 16, 0, 16, 0, 4 }, - { 25, 16, 0, 16, 0, 4 }, { 26, 16, 0, 16, 0, 4 }, { 27, 16, 0, 16, 0, 4 }, { 28, 16, 0, 16, 0, 4 }, { 29, 16, 0, 16, 0, 4 }, - { 30, 16, 0, 16, 0, 4 }, { 31, 16, 0, 16, 0, 4 }, + 32, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 3 }, { 9, 16, 0, 16, 0, 3 }, + { 10, 16, 0, 16, 0, 3 }, { 11, 16, 0, 16, 0, 3 }, { 12, 16, 0, 16, 0, 3 }, { 13, 16, 0, 16, 0, 3 }, { 14, 16, 0, 16, 0, 3 }, + { 15, 16, 0, 16, 0, 3 }, { 16, 16, 0, 16, 0, 3 }, { 17, 16, 0, 16, 0, 3 }, { 18, 16, 0, 16, 0, 3 }, { 19, 16, 0, 16, 0, 3 }, + { 20, 16, 0, 16, 0, 3 }, { 21, 16, 0, 16, 0, 3 }, { 22, 16, 0, 16, 0, 3 }, { 23, 16, 0, 16, 0, 3 }, { 24, 16, 0, 16, 0, 4 }, + { 25, 16, 0, 16, 0, 4 }, { 26, 16, 0, 16, 0, 4 }, { 27, 16, 0, 16, 0, 4 }, { 28, 16, 0, 16, 0, 4 }, { 29, 16, 0, 16, 0, 4 }, + { 30, 16, 0, 16, 0, 4 }, { 31, 16, 0, 16, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C3D30 = { - 32, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 3 }, { 16, 22, 0, 24, 0, 3 }, - { 16, 21, 0, 24, 0, 3 }, { 16, 20, 0, 24, 0, 3 }, { 16, 19, 0, 24, 0, 3 }, { 16, 18, 0, 24, 0, 3 }, { 16, 17, 0, 24, 0, 3 }, - { 16, 16, 0, 24, 0, 3 }, { 16, 15, 0, 24, 0, 3 }, { 16, 14, 0, 24, 0, 3 }, { 16, 13, 0, 24, 0, 3 }, { 16, 12, 0, 24, 0, 3 }, - { 16, 11, 0, 24, 0, 3 }, { 16, 10, 0, 24, 0, 3 }, { 16, 9, 0, 24, 0, 3 }, { 16, 8, 0, 24, 0, 3 }, { 16, 7, 0, 24, 0, 4 }, - { 16, 6, 0, 24, 0, 4 }, { 16, 5, 0, 24, 0, 4 }, { 16, 4, 0, 24, 0, 4 }, { 16, 3, 0, 24, 0, 4 }, { 16, 2, 0, 24, 0, 4 }, - { 16, 1, 0, 24, 0, 4 }, { 16, 0, 0, 24, 0, 4 }, + 32, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 3 }, { 16, 22, 0, 24, 0, 3 }, + { 16, 21, 0, 24, 0, 3 }, { 16, 20, 0, 24, 0, 3 }, { 16, 19, 0, 24, 0, 3 }, { 16, 18, 0, 24, 0, 3 }, { 16, 17, 0, 24, 0, 3 }, + { 16, 16, 0, 24, 0, 3 }, { 16, 15, 0, 24, 0, 3 }, { 16, 14, 0, 24, 0, 3 }, { 16, 13, 0, 24, 0, 3 }, { 16, 12, 0, 24, 0, 3 }, + { 16, 11, 0, 24, 0, 3 }, { 16, 10, 0, 24, 0, 3 }, { 16, 9, 0, 24, 0, 3 }, { 16, 8, 0, 24, 0, 3 }, { 16, 7, 0, 24, 0, 4 }, + { 16, 6, 0, 24, 0, 4 }, { 16, 5, 0, 24, 0, 4 }, { 16, 4, 0, 24, 0, 4 }, { 16, 3, 0, 24, 0, 4 }, { 16, 2, 0, 24, 0, 4 }, + { 16, 1, 0, 24, 0, 4 }, { 16, 0, 0, 24, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C3E52 = { - 32, { - { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 0, 0, 2 }, - { 26, 16, 0, 0, 0, 2 }, { 25, 16, 0, 0, 0, 2 }, { 24, 16, 0, 0, 0, 2 }, { 23, 16, 0, 0, 0, 1 }, { 22, 16, 0, 0, 0, 1 }, - { 21, 16, 0, 0, 0, 1 }, { 20, 16, 0, 0, 0, 1 }, { 19, 16, 0, 0, 0, 1 }, { 18, 16, 0, 0, 0, 1 }, { 17, 16, 0, 0, 0, 1 }, - { 16, 16, 0, 0, 0, 1 }, { 15, 16, 0, 0, 0, 1 }, { 14, 16, 0, 0, 0, 1 }, { 13, 16, 0, 0, 0, 1 }, { 12, 16, 0, 0, 0, 1 }, - { 11, 16, 0, 0, 0, 1 }, { 10, 16, 0, 0, 0, 1 }, { 9, 16, 0, 0, 0, 1 }, { 8, 16, 0, 0, 0, 1 }, { 7, 16, 0, 0, 0, 0 }, - { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, + 32, { + { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 0, 0, 2 }, + { 26, 16, 0, 0, 0, 2 }, { 25, 16, 0, 0, 0, 2 }, { 24, 16, 0, 0, 0, 2 }, { 23, 16, 0, 0, 0, 1 }, { 22, 16, 0, 0, 0, 1 }, + { 21, 16, 0, 0, 0, 1 }, { 20, 16, 0, 0, 0, 1 }, { 19, 16, 0, 0, 0, 1 }, { 18, 16, 0, 0, 0, 1 }, { 17, 16, 0, 0, 0, 1 }, + { 16, 16, 0, 0, 0, 1 }, { 15, 16, 0, 0, 0, 1 }, { 14, 16, 0, 0, 0, 1 }, { 13, 16, 0, 0, 0, 1 }, { 12, 16, 0, 0, 0, 1 }, + { 11, 16, 0, 0, 0, 1 }, { 10, 16, 0, 0, 0, 1 }, { 9, 16, 0, 0, 0, 1 }, { 8, 16, 0, 0, 0, 1 }, { 7, 16, 0, 0, 0, 0 }, + { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C3F74 = { - 32, { - { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, - { 16, 5, 0, 8, 0, 2 }, { 16, 6, 0, 8, 0, 2 }, { 16, 7, 0, 8, 0, 2 }, { 16, 8, 0, 8, 0, 1 }, { 16, 9, 0, 8, 0, 1 }, - { 16, 10, 0, 8, 0, 1 }, { 16, 11, 0, 8, 0, 1 }, { 16, 12, 0, 8, 0, 1 }, { 16, 13, 0, 8, 0, 1 }, { 16, 14, 0, 8, 0, 1 }, - { 16, 15, 0, 8, 0, 1 }, { 16, 16, 0, 8, 0, 1 }, { 16, 17, 0, 8, 0, 1 }, { 16, 18, 0, 8, 0, 1 }, { 16, 19, 0, 8, 0, 1 }, - { 16, 20, 0, 8, 0, 1 }, { 16, 21, 0, 8, 0, 1 }, { 16, 22, 0, 8, 0, 1 }, { 16, 23, 0, 8, 0, 1 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, + 32, { + { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, + { 16, 5, 0, 8, 0, 2 }, { 16, 6, 0, 8, 0, 2 }, { 16, 7, 0, 8, 0, 2 }, { 16, 8, 0, 8, 0, 1 }, { 16, 9, 0, 8, 0, 1 }, + { 16, 10, 0, 8, 0, 1 }, { 16, 11, 0, 8, 0, 1 }, { 16, 12, 0, 8, 0, 1 }, { 16, 13, 0, 8, 0, 1 }, { 16, 14, 0, 8, 0, 1 }, + { 16, 15, 0, 8, 0, 1 }, { 16, 16, 0, 8, 0, 1 }, { 16, 17, 0, 8, 0, 1 }, { 16, 18, 0, 8, 0, 1 }, { 16, 19, 0, 8, 0, 1 }, + { 16, 20, 0, 8, 0, 1 }, { 16, 21, 0, 8, 0, 1 }, { 16, 22, 0, 8, 0, 1 }, { 16, 23, 0, 8, 0, 1 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C4096 = { - 32, { - { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, - { 5, 16, 0, 16, 0, 2 }, { 6, 16, 0, 16, 0, 2 }, { 7, 16, 0, 16, 0, 2 }, { 8, 16, 0, 16, 0, 1 }, { 9, 16, 0, 16, 0, 1 }, - { 10, 16, 0, 16, 0, 1 }, { 11, 16, 0, 16, 0, 1 }, { 12, 16, 0, 16, 0, 1 }, { 13, 16, 0, 16, 0, 1 }, { 14, 16, 0, 16, 0, 1 }, - { 15, 16, 0, 16, 0, 1 }, { 16, 16, 0, 16, 0, 1 }, { 17, 16, 0, 16, 0, 1 }, { 18, 16, 0, 16, 0, 1 }, { 19, 16, 0, 16, 0, 1 }, - { 20, 16, 0, 16, 0, 1 }, { 21, 16, 0, 16, 0, 1 }, { 22, 16, 0, 16, 0, 1 }, { 23, 16, 0, 16, 0, 1 }, { 24, 16, 0, 16, 0, 0 }, - { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, + 32, { + { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, + { 5, 16, 0, 16, 0, 2 }, { 6, 16, 0, 16, 0, 2 }, { 7, 16, 0, 16, 0, 2 }, { 8, 16, 0, 16, 0, 1 }, { 9, 16, 0, 16, 0, 1 }, + { 10, 16, 0, 16, 0, 1 }, { 11, 16, 0, 16, 0, 1 }, { 12, 16, 0, 16, 0, 1 }, { 13, 16, 0, 16, 0, 1 }, { 14, 16, 0, 16, 0, 1 }, + { 15, 16, 0, 16, 0, 1 }, { 16, 16, 0, 16, 0, 1 }, { 17, 16, 0, 16, 0, 1 }, { 18, 16, 0, 16, 0, 1 }, { 19, 16, 0, 16, 0, 1 }, + { 20, 16, 0, 16, 0, 1 }, { 21, 16, 0, 16, 0, 1 }, { 22, 16, 0, 16, 0, 1 }, { 23, 16, 0, 16, 0, 1 }, { 24, 16, 0, 16, 0, 0 }, + { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C41B8 = { - 32, { - { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 24, 0, 2 }, - { 16, 26, 0, 24, 0, 2 }, { 16, 25, 0, 24, 0, 2 }, { 16, 24, 0, 24, 0, 2 }, { 16, 23, 0, 24, 0, 1 }, { 16, 22, 0, 24, 0, 1 }, - { 16, 21, 0, 24, 0, 1 }, { 16, 20, 0, 24, 0, 1 }, { 16, 19, 0, 24, 0, 1 }, { 16, 18, 0, 24, 0, 1 }, { 16, 17, 0, 24, 0, 1 }, - { 16, 16, 0, 24, 0, 1 }, { 16, 15, 0, 24, 0, 1 }, { 16, 14, 0, 24, 0, 1 }, { 16, 13, 0, 24, 0, 1 }, { 16, 12, 0, 24, 0, 1 }, - { 16, 11, 0, 24, 0, 1 }, { 16, 10, 0, 24, 0, 1 }, { 16, 9, 0, 24, 0, 1 }, { 16, 8, 0, 24, 0, 1 }, { 16, 7, 0, 24, 0, 0 }, - { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, + 32, { + { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 24, 0, 2 }, + { 16, 26, 0, 24, 0, 2 }, { 16, 25, 0, 24, 0, 2 }, { 16, 24, 0, 24, 0, 2 }, { 16, 23, 0, 24, 0, 1 }, { 16, 22, 0, 24, 0, 1 }, + { 16, 21, 0, 24, 0, 1 }, { 16, 20, 0, 24, 0, 1 }, { 16, 19, 0, 24, 0, 1 }, { 16, 18, 0, 24, 0, 1 }, { 16, 17, 0, 24, 0, 1 }, + { 16, 16, 0, 24, 0, 1 }, { 16, 15, 0, 24, 0, 1 }, { 16, 14, 0, 24, 0, 1 }, { 16, 13, 0, 24, 0, 1 }, { 16, 12, 0, 24, 0, 1 }, + { 16, 11, 0, 24, 0, 1 }, { 16, 10, 0, 24, 0, 1 }, { 16, 9, 0, 24, 0, 1 }, { 16, 8, 0, 24, 0, 1 }, { 16, 7, 0, 24, 0, 0 }, + { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C42DA = { - 32, { - { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 0, 0, 4 }, - { 26, 16, 0, 0, 0, 4 }, { 25, 16, 0, 0, 0, 4 }, { 24, 16, 0, 0, 0, 4 }, { 23, 16, 0, 0, 0, 3 }, { 22, 16, 0, 0, 0, 3 }, - { 21, 16, 0, 0, 0, 3 }, { 20, 16, 0, 0, 0, 3 }, { 19, 16, 0, 0, 0, 3 }, { 18, 16, 0, 0, 0, 3 }, { 17, 16, 0, 0, 0, 3 }, - { 16, 16, 0, 0, 0, 3 }, { 15, 16, 0, 0, 0, 3 }, { 14, 16, 0, 0, 0, 3 }, { 13, 16, 0, 0, 0, 3 }, { 12, 16, 0, 0, 0, 3 }, - { 11, 16, 0, 0, 0, 3 }, { 10, 16, 0, 0, 0, 3 }, { 9, 16, 0, 0, 0, 3 }, { 8, 16, 0, 0, 0, 3 }, { 7, 16, 0, 0, 0, 0 }, - { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, + 32, { + { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 0, 0, 4 }, + { 26, 16, 0, 0, 0, 4 }, { 25, 16, 0, 0, 0, 4 }, { 24, 16, 0, 0, 0, 4 }, { 23, 16, 0, 0, 0, 3 }, { 22, 16, 0, 0, 0, 3 }, + { 21, 16, 0, 0, 0, 3 }, { 20, 16, 0, 0, 0, 3 }, { 19, 16, 0, 0, 0, 3 }, { 18, 16, 0, 0, 0, 3 }, { 17, 16, 0, 0, 0, 3 }, + { 16, 16, 0, 0, 0, 3 }, { 15, 16, 0, 0, 0, 3 }, { 14, 16, 0, 0, 0, 3 }, { 13, 16, 0, 0, 0, 3 }, { 12, 16, 0, 0, 0, 3 }, + { 11, 16, 0, 0, 0, 3 }, { 10, 16, 0, 0, 0, 3 }, { 9, 16, 0, 0, 0, 3 }, { 8, 16, 0, 0, 0, 3 }, { 7, 16, 0, 0, 0, 0 }, + { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C43FC = { - 32, { - { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, - { 16, 5, 0, 8, 0, 4 }, { 16, 6, 0, 8, 0, 4 }, { 16, 7, 0, 8, 0, 4 }, { 16, 8, 0, 8, 0, 3 }, { 16, 9, 0, 8, 0, 3 }, - { 16, 10, 0, 8, 0, 3 }, { 16, 11, 0, 8, 0, 3 }, { 16, 12, 0, 8, 0, 3 }, { 16, 13, 0, 8, 0, 3 }, { 16, 14, 0, 8, 0, 3 }, - { 16, 15, 0, 8, 0, 3 }, { 16, 16, 0, 8, 0, 3 }, { 16, 17, 0, 8, 0, 3 }, { 16, 18, 0, 8, 0, 3 }, { 16, 19, 0, 8, 0, 3 }, - { 16, 20, 0, 8, 0, 3 }, { 16, 21, 0, 8, 0, 3 }, { 16, 22, 0, 8, 0, 3 }, { 16, 23, 0, 8, 0, 3 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, + 32, { + { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, + { 16, 5, 0, 8, 0, 4 }, { 16, 6, 0, 8, 0, 4 }, { 16, 7, 0, 8, 0, 4 }, { 16, 8, 0, 8, 0, 3 }, { 16, 9, 0, 8, 0, 3 }, + { 16, 10, 0, 8, 0, 3 }, { 16, 11, 0, 8, 0, 3 }, { 16, 12, 0, 8, 0, 3 }, { 16, 13, 0, 8, 0, 3 }, { 16, 14, 0, 8, 0, 3 }, + { 16, 15, 0, 8, 0, 3 }, { 16, 16, 0, 8, 0, 3 }, { 16, 17, 0, 8, 0, 3 }, { 16, 18, 0, 8, 0, 3 }, { 16, 19, 0, 8, 0, 3 }, + { 16, 20, 0, 8, 0, 3 }, { 16, 21, 0, 8, 0, 3 }, { 16, 22, 0, 8, 0, 3 }, { 16, 23, 0, 8, 0, 3 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C451E = { - 32, { - { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, - { 5, 16, 0, 16, 0, 4 }, { 6, 16, 0, 16, 0, 4 }, { 7, 16, 0, 16, 0, 4 }, { 8, 16, 0, 16, 0, 3 }, { 9, 16, 0, 16, 0, 3 }, - { 10, 16, 0, 16, 0, 3 }, { 11, 16, 0, 16, 0, 3 }, { 12, 16, 0, 16, 0, 3 }, { 13, 16, 0, 16, 0, 3 }, { 14, 16, 0, 16, 0, 3 }, - { 15, 16, 0, 16, 0, 3 }, { 16, 16, 0, 16, 0, 3 }, { 17, 16, 0, 16, 0, 3 }, { 18, 16, 0, 16, 0, 3 }, { 19, 16, 0, 16, 0, 3 }, - { 20, 16, 0, 16, 0, 3 }, { 21, 16, 0, 16, 0, 3 }, { 22, 16, 0, 16, 0, 3 }, { 23, 16, 0, 16, 0, 3 }, { 24, 16, 0, 16, 0, 0 }, - { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, + 32, { + { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, + { 5, 16, 0, 16, 0, 4 }, { 6, 16, 0, 16, 0, 4 }, { 7, 16, 0, 16, 0, 4 }, { 8, 16, 0, 16, 0, 3 }, { 9, 16, 0, 16, 0, 3 }, + { 10, 16, 0, 16, 0, 3 }, { 11, 16, 0, 16, 0, 3 }, { 12, 16, 0, 16, 0, 3 }, { 13, 16, 0, 16, 0, 3 }, { 14, 16, 0, 16, 0, 3 }, + { 15, 16, 0, 16, 0, 3 }, { 16, 16, 0, 16, 0, 3 }, { 17, 16, 0, 16, 0, 3 }, { 18, 16, 0, 16, 0, 3 }, { 19, 16, 0, 16, 0, 3 }, + { 20, 16, 0, 16, 0, 3 }, { 21, 16, 0, 16, 0, 3 }, { 22, 16, 0, 16, 0, 3 }, { 23, 16, 0, 16, 0, 3 }, { 24, 16, 0, 16, 0, 0 }, + { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C4640 = { - 32, { - { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 24, 0, 4 }, - { 16, 26, 0, 24, 0, 4 }, { 16, 25, 0, 24, 0, 4 }, { 16, 24, 0, 24, 0, 4 }, { 16, 23, 0, 24, 0, 3 }, { 16, 22, 0, 24, 0, 3 }, - { 16, 21, 0, 24, 0, 3 }, { 16, 20, 0, 24, 0, 3 }, { 16, 19, 0, 24, 0, 3 }, { 16, 18, 0, 24, 0, 3 }, { 16, 17, 0, 24, 0, 3 }, - { 16, 16, 0, 24, 0, 3 }, { 16, 15, 0, 24, 0, 3 }, { 16, 14, 0, 24, 0, 3 }, { 16, 13, 0, 24, 0, 3 }, { 16, 12, 0, 24, 0, 3 }, - { 16, 11, 0, 24, 0, 3 }, { 16, 10, 0, 24, 0, 3 }, { 16, 9, 0, 24, 0, 3 }, { 16, 8, 0, 24, 0, 3 }, { 16, 7, 0, 24, 0, 0 }, - { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, + 32, { + { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 24, 0, 4 }, + { 16, 26, 0, 24, 0, 4 }, { 16, 25, 0, 24, 0, 4 }, { 16, 24, 0, 24, 0, 4 }, { 16, 23, 0, 24, 0, 3 }, { 16, 22, 0, 24, 0, 3 }, + { 16, 21, 0, 24, 0, 3 }, { 16, 20, 0, 24, 0, 3 }, { 16, 19, 0, 24, 0, 3 }, { 16, 18, 0, 24, 0, 3 }, { 16, 17, 0, 24, 0, 3 }, + { 16, 16, 0, 24, 0, 3 }, { 16, 15, 0, 24, 0, 3 }, { 16, 14, 0, 24, 0, 3 }, { 16, 13, 0, 24, 0, 3 }, { 16, 12, 0, 24, 0, 3 }, + { 16, 11, 0, 24, 0, 3 }, { 16, 10, 0, 24, 0, 3 }, { 16, 9, 0, 24, 0, 3 }, { 16, 8, 0, 24, 0, 3 }, { 16, 7, 0, 24, 0, 0 }, + { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CA0B2 = { - 114, { - { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 0, 0, 2 }, - { 26, 16, 0, 0, 0, 2 }, { 25, 16, 0, 0, 0, 2 }, { 24, 16, 0, 31, 0, 2 }, { 23, 15, 0, 31, 0, 2 }, { 22, 15, 0, 31, 0, 2 }, - { 21, 15, 0, 31, 0, 2 }, { 20, 15, 0, 31, 0, 2 }, { 19, 15, 0, 31, 0, 2 }, { 18, 15, 0, 31, 0, 2 }, { 17, 14, 0, 31, 0, 2 }, - { 16, 14, 0, 31, 0, 2 }, { 15, 14, 0, 31, 0, 2 }, { 14, 14, 0, 31, 0, 2 }, { 13, 14, 0, 31, 0, 2 }, { 12, 13, 0, 31, 0, 2 }, - { 11, 13, 0, 31, 0, 2 }, { 10, 13, 0, 30, 0, 2 }, { 9, 13, 0, 30, 0, 2 }, { 8, 12, 0, 30, 0, 2 }, { 7, 12, 0, 30, 0, 2 }, - { 6, 12, 0, 30, 0, 2 }, { 5, 11, 0, 30, 0, 2 }, { 4, 11, 0, 30, 0, 2 }, { 3, 11, 0, 30, 0, 2 }, { 2, 10, 0, 30, 0, 2 }, - { 1, 10, 0, 30, 0, 2 }, { 0, 9, 0, 30, 0, 2 }, { -1, 9, 0, 30, 0, 2 }, { -2, 8, 0, 30, 0, 2 }, { -3, 8, 0, 30, 0, 2 }, - { -4, 7, 0, 30, 0, 2 }, { -5, 7, 0, 29, 0, 2 }, { -6, 6, 0, 29, 0, 2 }, { -7, 6, 0, 29, 0, 2 }, { -8, 5, 0, 29, 0, 2 }, - { -9, 4, 0, 29, 0, 2 }, { -10, 4, 0, 29, 0, 2 }, { -11, 3, 0, 29, 0, 2 }, { -12, 2, 0, 29, 0, 2 }, { -13, 2, 0, 29, 0, 2 }, - { -14, 1, 0, 29, 0, 2 }, { -15, 0, 0, 29, 0, 2 }, { -16, 0, 0, 29, 0, 2 }, { -17, -1, 0, 29, 0, 2 }, { -18, -2, 0, 28, 0, 2 }, - { -19, -3, 0, 28, 0, 2 }, { -20, -3, 0, 28, 0, 2 }, { -21, -4, 0, 28, 0, 2 }, { -22, -5, 0, 28, 0, 2 }, { -23, -6, 0, 28, 0, 2 }, - { -24, -7, 0, 28, 0, 2 }, { -25, -7, 0, 28, 0, 2 }, { -26, -8, 0, 28, 0, 2 }, { -27, -9, 0, 28, 0, 2 }, { -28, -10, 0, 28, 0, 2 }, - { -29, -11, 0, 28, 0, 2 }, { -29, -12, 0, 28, 0, 2 }, { -30, -13, 0, 27, 0, 2 }, { -31, -14, 0, 27, 0, 2 }, { -32, -15, 0, 27, 0, 2 }, - { -32, -16, 0, 27, 0, 2 }, { -33, -17, 0, 27, 0, 2 }, { -34, -18, 0, 27, 0, 2 }, { -34, -19, 0, 27, 0, 2 }, { -35, -20, 0, 27, 0, 2 }, - { -36, -21, 0, 27, 0, 2 }, { -36, -22, 0, 27, 0, 2 }, { -37, -23, 0, 27, 0, 2 }, { -38, -24, 0, 27, 0, 2 }, { -38, -25, 0, 27, 0, 2 }, - { -39, -26, 0, 26, 0, 2 }, { -39, -27, 0, 26, 0, 2 }, { -40, -28, 0, 26, 0, 2 }, { -40, -29, 0, 26, 0, 2 }, { -41, -30, 0, 26, 0, 2 }, - { -41, -31, 0, 26, 0, 2 }, { -42, -32, 0, 26, 0, 2 }, { -42, -33, 0, 26, 0, 2 }, { -43, -34, 0, 26, 0, 2 }, { -43, -35, 0, 26, 0, 2 }, - { -43, -36, 0, 26, 0, 2 }, { -44, -37, 0, 26, 0, 2 }, { -44, -38, 0, 26, 0, 2 }, { -44, -39, 0, 26, 0, 2 }, { -45, -40, 0, 25, 0, 2 }, - { -45, -41, 0, 25, 0, 2 }, { -45, -42, 0, 25, 0, 2 }, { -45, -43, 0, 25, 0, 2 }, { -46, -44, 0, 25, 0, 2 }, { -46, -45, 0, 25, 0, 2 }, - { -46, -46, 0, 25, 0, 2 }, { -46, -47, 0, 25, 0, 2 }, { -46, -48, 0, 25, 0, 2 }, { -47, -49, 0, 25, 0, 2 }, { -47, -50, 0, 25, 0, 2 }, - { -47, -51, 0, 25, 0, 2 }, { -47, -52, 0, 25, 0, 2 }, { -47, -53, 0, 25, 0, 2 }, { -47, -54, 0, 25, 0, 2 }, { -48, -55, 0, 25, 0, 2 }, - { -48, -56, 0, 24, 0, 2 }, { -48, -57, 0, 24, 0, 2 }, { -48, -58, 0, 24, 0, 2 }, { -48, -59, 0, 24, 0, 2 }, { -48, -60, 0, 24, 0, 2 }, - { -48, -61, 0, 24, 0, 2 }, { -48, -62, 0, 24, 0, 2 }, { -48, -63, 0, 24, 0, 2 }, { -48, -64, 0, 24, 0, 2 }, + 114, { + { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 0, 0, 2 }, + { 26, 16, 0, 0, 0, 2 }, { 25, 16, 0, 0, 0, 2 }, { 24, 16, 0, 31, 0, 2 }, { 23, 15, 0, 31, 0, 2 }, { 22, 15, 0, 31, 0, 2 }, + { 21, 15, 0, 31, 0, 2 }, { 20, 15, 0, 31, 0, 2 }, { 19, 15, 0, 31, 0, 2 }, { 18, 15, 0, 31, 0, 2 }, { 17, 14, 0, 31, 0, 2 }, + { 16, 14, 0, 31, 0, 2 }, { 15, 14, 0, 31, 0, 2 }, { 14, 14, 0, 31, 0, 2 }, { 13, 14, 0, 31, 0, 2 }, { 12, 13, 0, 31, 0, 2 }, + { 11, 13, 0, 31, 0, 2 }, { 10, 13, 0, 30, 0, 2 }, { 9, 13, 0, 30, 0, 2 }, { 8, 12, 0, 30, 0, 2 }, { 7, 12, 0, 30, 0, 2 }, + { 6, 12, 0, 30, 0, 2 }, { 5, 11, 0, 30, 0, 2 }, { 4, 11, 0, 30, 0, 2 }, { 3, 11, 0, 30, 0, 2 }, { 2, 10, 0, 30, 0, 2 }, + { 1, 10, 0, 30, 0, 2 }, { 0, 9, 0, 30, 0, 2 }, { -1, 9, 0, 30, 0, 2 }, { -2, 8, 0, 30, 0, 2 }, { -3, 8, 0, 30, 0, 2 }, + { -4, 7, 0, 30, 0, 2 }, { -5, 7, 0, 29, 0, 2 }, { -6, 6, 0, 29, 0, 2 }, { -7, 6, 0, 29, 0, 2 }, { -8, 5, 0, 29, 0, 2 }, + { -9, 4, 0, 29, 0, 2 }, { -10, 4, 0, 29, 0, 2 }, { -11, 3, 0, 29, 0, 2 }, { -12, 2, 0, 29, 0, 2 }, { -13, 2, 0, 29, 0, 2 }, + { -14, 1, 0, 29, 0, 2 }, { -15, 0, 0, 29, 0, 2 }, { -16, 0, 0, 29, 0, 2 }, { -17, -1, 0, 29, 0, 2 }, { -18, -2, 0, 28, 0, 2 }, + { -19, -3, 0, 28, 0, 2 }, { -20, -3, 0, 28, 0, 2 }, { -21, -4, 0, 28, 0, 2 }, { -22, -5, 0, 28, 0, 2 }, { -23, -6, 0, 28, 0, 2 }, + { -24, -7, 0, 28, 0, 2 }, { -25, -7, 0, 28, 0, 2 }, { -26, -8, 0, 28, 0, 2 }, { -27, -9, 0, 28, 0, 2 }, { -28, -10, 0, 28, 0, 2 }, + { -29, -11, 0, 28, 0, 2 }, { -29, -12, 0, 28, 0, 2 }, { -30, -13, 0, 27, 0, 2 }, { -31, -14, 0, 27, 0, 2 }, { -32, -15, 0, 27, 0, 2 }, + { -32, -16, 0, 27, 0, 2 }, { -33, -17, 0, 27, 0, 2 }, { -34, -18, 0, 27, 0, 2 }, { -34, -19, 0, 27, 0, 2 }, { -35, -20, 0, 27, 0, 2 }, + { -36, -21, 0, 27, 0, 2 }, { -36, -22, 0, 27, 0, 2 }, { -37, -23, 0, 27, 0, 2 }, { -38, -24, 0, 27, 0, 2 }, { -38, -25, 0, 27, 0, 2 }, + { -39, -26, 0, 26, 0, 2 }, { -39, -27, 0, 26, 0, 2 }, { -40, -28, 0, 26, 0, 2 }, { -40, -29, 0, 26, 0, 2 }, { -41, -30, 0, 26, 0, 2 }, + { -41, -31, 0, 26, 0, 2 }, { -42, -32, 0, 26, 0, 2 }, { -42, -33, 0, 26, 0, 2 }, { -43, -34, 0, 26, 0, 2 }, { -43, -35, 0, 26, 0, 2 }, + { -43, -36, 0, 26, 0, 2 }, { -44, -37, 0, 26, 0, 2 }, { -44, -38, 0, 26, 0, 2 }, { -44, -39, 0, 26, 0, 2 }, { -45, -40, 0, 25, 0, 2 }, + { -45, -41, 0, 25, 0, 2 }, { -45, -42, 0, 25, 0, 2 }, { -45, -43, 0, 25, 0, 2 }, { -46, -44, 0, 25, 0, 2 }, { -46, -45, 0, 25, 0, 2 }, + { -46, -46, 0, 25, 0, 2 }, { -46, -47, 0, 25, 0, 2 }, { -46, -48, 0, 25, 0, 2 }, { -47, -49, 0, 25, 0, 2 }, { -47, -50, 0, 25, 0, 2 }, + { -47, -51, 0, 25, 0, 2 }, { -47, -52, 0, 25, 0, 2 }, { -47, -53, 0, 25, 0, 2 }, { -47, -54, 0, 25, 0, 2 }, { -48, -55, 0, 25, 0, 2 }, + { -48, -56, 0, 24, 0, 2 }, { -48, -57, 0, 24, 0, 2 }, { -48, -58, 0, 24, 0, 2 }, { -48, -59, 0, 24, 0, 2 }, { -48, -60, 0, 24, 0, 2 }, + { -48, -61, 0, 24, 0, 2 }, { -48, -62, 0, 24, 0, 2 }, { -48, -63, 0, 24, 0, 2 }, { -48, -64, 0, 24, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CA4B6 = { - 115, { - { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, - { 16, 5, 0, 8, 0, 2 }, { 16, 6, 0, 8, 0, 2 }, { 16, 7, 0, 8, 0, 2 }, { 16, 8, 0, 7, 0, 2 }, { 15, 9, 0, 7, 0, 2 }, - { 15, 10, 0, 7, 0, 2 }, { 15, 11, 0, 7, 0, 2 }, { 15, 12, 0, 7, 0, 2 }, { 15, 13, 0, 7, 0, 2 }, { 15, 14, 0, 7, 0, 2 }, - { 14, 15, 0, 7, 0, 2 }, { 14, 16, 0, 7, 0, 2 }, { 14, 17, 0, 7, 0, 2 }, { 14, 18, 0, 7, 0, 2 }, { 14, 19, 0, 7, 0, 2 }, - { 13, 20, 0, 7, 0, 2 }, { 13, 21, 0, 7, 0, 2 }, { 13, 22, 0, 6, 0, 2 }, { 13, 23, 0, 6, 0, 2 }, { 12, 24, 0, 6, 0, 2 }, - { 12, 25, 0, 6, 0, 2 }, { 12, 26, 0, 6, 0, 2 }, { 11, 27, 0, 6, 0, 2 }, { 11, 28, 0, 6, 0, 2 }, { 11, 29, 0, 6, 0, 2 }, - { 10, 30, 0, 6, 0, 2 }, { 10, 31, 0, 6, 0, 2 }, { 9, 32, 0, 6, 0, 2 }, { 9, 33, 0, 6, 0, 2 }, { 8, 34, 0, 6, 0, 2 }, - { 8, 35, 0, 6, 0, 2 }, { 7, 36, 0, 6, 0, 2 }, { 7, 37, 0, 5, 0, 2 }, { 6, 38, 0, 5, 0, 2 }, { 6, 39, 0, 5, 0, 2 }, - { 5, 40, 0, 5, 0, 2 }, { 4, 41, 0, 5, 0, 2 }, { 4, 42, 0, 5, 0, 2 }, { 3, 43, 0, 5, 0, 2 }, { 2, 44, 0, 5, 0, 2 }, - { 2, 45, 0, 5, 0, 2 }, { 1, 46, 0, 5, 0, 2 }, { 0, 47, 0, 5, 0, 2 }, { 0, 48, 0, 5, 0, 2 }, { -1, 49, 0, 5, 0, 2 }, - { -2, 50, 0, 4, 0, 2 }, { -3, 51, 0, 4, 0, 2 }, { -3, 52, 0, 4, 0, 2 }, { -4, 53, 0, 4, 0, 2 }, { -5, 54, 0, 4, 0, 2 }, - { -6, 55, 0, 4, 0, 2 }, { -7, 56, 0, 4, 0, 2 }, { -7, 57, 0, 4, 0, 2 }, { -8, 58, 0, 4, 0, 2 }, { -9, 59, 0, 4, 0, 2 }, - { -10, 60, 0, 4, 0, 2 }, { -11, 61, 0, 4, 0, 2 }, { -12, 61, 0, 4, 0, 2 }, { -13, 62, 0, 3, 0, 2 }, { -14, 63, 0, 3, 0, 2 }, - { -15, 64, 0, 3, 0, 2 }, { -16, 64, 0, 3, 0, 2 }, { -17, 65, 0, 3, 0, 2 }, { -18, 66, 0, 3, 0, 2 }, { -19, 66, 0, 3, 0, 2 }, - { -20, 67, 0, 3, 0, 2 }, { -21, 68, 0, 3, 0, 2 }, { -22, 68, 0, 3, 0, 2 }, { -23, 69, 0, 3, 0, 2 }, { -24, 70, 0, 3, 0, 2 }, - { -25, 70, 0, 3, 0, 2 }, { -26, 71, 0, 2, 0, 2 }, { -27, 71, 0, 2, 0, 2 }, { -28, 72, 0, 2, 0, 2 }, { -29, 72, 0, 2, 0, 2 }, - { -30, 73, 0, 2, 0, 2 }, { -31, 73, 0, 2, 0, 2 }, { -32, 74, 0, 2, 0, 2 }, { -33, 74, 0, 2, 0, 2 }, { -34, 75, 0, 2, 0, 2 }, - { -35, 75, 0, 2, 0, 2 }, { -36, 75, 0, 2, 0, 2 }, { -37, 76, 0, 2, 0, 2 }, { -38, 76, 0, 2, 0, 2 }, { -39, 76, 0, 2, 0, 2 }, - { -40, 77, 0, 1, 0, 2 }, { -41, 77, 0, 1, 0, 2 }, { -42, 77, 0, 1, 0, 2 }, { -43, 77, 0, 1, 0, 2 }, { -44, 78, 0, 1, 0, 2 }, - { -45, 78, 0, 1, 0, 2 }, { -46, 78, 0, 1, 0, 2 }, { -47, 78, 0, 1, 0, 2 }, { -48, 78, 0, 1, 0, 2 }, { -49, 79, 0, 1, 0, 2 }, - { -50, 79, 0, 1, 0, 2 }, { -51, 79, 0, 1, 0, 2 }, { -52, 79, 0, 1, 0, 2 }, { -53, 79, 0, 1, 0, 2 }, { -54, 79, 0, 1, 0, 2 }, - { -55, 80, 0, 1, 0, 2 }, { -56, 80, 0, 0, 0, 2 }, { -57, 80, 0, 0, 0, 2 }, { -58, 80, 0, 0, 0, 2 }, { -59, 80, 0, 0, 0, 2 }, - { -60, 80, 0, 0, 0, 2 }, { -61, 80, 0, 0, 0, 2 }, { -62, 80, 0, 0, 0, 2 }, { -63, 80, 0, 0, 0, 2 }, { -64, 80, 0, 0, 0, 2 }, + 115, { + { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, + { 16, 5, 0, 8, 0, 2 }, { 16, 6, 0, 8, 0, 2 }, { 16, 7, 0, 8, 0, 2 }, { 16, 8, 0, 7, 0, 2 }, { 15, 9, 0, 7, 0, 2 }, + { 15, 10, 0, 7, 0, 2 }, { 15, 11, 0, 7, 0, 2 }, { 15, 12, 0, 7, 0, 2 }, { 15, 13, 0, 7, 0, 2 }, { 15, 14, 0, 7, 0, 2 }, + { 14, 15, 0, 7, 0, 2 }, { 14, 16, 0, 7, 0, 2 }, { 14, 17, 0, 7, 0, 2 }, { 14, 18, 0, 7, 0, 2 }, { 14, 19, 0, 7, 0, 2 }, + { 13, 20, 0, 7, 0, 2 }, { 13, 21, 0, 7, 0, 2 }, { 13, 22, 0, 6, 0, 2 }, { 13, 23, 0, 6, 0, 2 }, { 12, 24, 0, 6, 0, 2 }, + { 12, 25, 0, 6, 0, 2 }, { 12, 26, 0, 6, 0, 2 }, { 11, 27, 0, 6, 0, 2 }, { 11, 28, 0, 6, 0, 2 }, { 11, 29, 0, 6, 0, 2 }, + { 10, 30, 0, 6, 0, 2 }, { 10, 31, 0, 6, 0, 2 }, { 9, 32, 0, 6, 0, 2 }, { 9, 33, 0, 6, 0, 2 }, { 8, 34, 0, 6, 0, 2 }, + { 8, 35, 0, 6, 0, 2 }, { 7, 36, 0, 6, 0, 2 }, { 7, 37, 0, 5, 0, 2 }, { 6, 38, 0, 5, 0, 2 }, { 6, 39, 0, 5, 0, 2 }, + { 5, 40, 0, 5, 0, 2 }, { 4, 41, 0, 5, 0, 2 }, { 4, 42, 0, 5, 0, 2 }, { 3, 43, 0, 5, 0, 2 }, { 2, 44, 0, 5, 0, 2 }, + { 2, 45, 0, 5, 0, 2 }, { 1, 46, 0, 5, 0, 2 }, { 0, 47, 0, 5, 0, 2 }, { 0, 48, 0, 5, 0, 2 }, { -1, 49, 0, 5, 0, 2 }, + { -2, 50, 0, 4, 0, 2 }, { -3, 51, 0, 4, 0, 2 }, { -3, 52, 0, 4, 0, 2 }, { -4, 53, 0, 4, 0, 2 }, { -5, 54, 0, 4, 0, 2 }, + { -6, 55, 0, 4, 0, 2 }, { -7, 56, 0, 4, 0, 2 }, { -7, 57, 0, 4, 0, 2 }, { -8, 58, 0, 4, 0, 2 }, { -9, 59, 0, 4, 0, 2 }, + { -10, 60, 0, 4, 0, 2 }, { -11, 61, 0, 4, 0, 2 }, { -12, 61, 0, 4, 0, 2 }, { -13, 62, 0, 3, 0, 2 }, { -14, 63, 0, 3, 0, 2 }, + { -15, 64, 0, 3, 0, 2 }, { -16, 64, 0, 3, 0, 2 }, { -17, 65, 0, 3, 0, 2 }, { -18, 66, 0, 3, 0, 2 }, { -19, 66, 0, 3, 0, 2 }, + { -20, 67, 0, 3, 0, 2 }, { -21, 68, 0, 3, 0, 2 }, { -22, 68, 0, 3, 0, 2 }, { -23, 69, 0, 3, 0, 2 }, { -24, 70, 0, 3, 0, 2 }, + { -25, 70, 0, 3, 0, 2 }, { -26, 71, 0, 2, 0, 2 }, { -27, 71, 0, 2, 0, 2 }, { -28, 72, 0, 2, 0, 2 }, { -29, 72, 0, 2, 0, 2 }, + { -30, 73, 0, 2, 0, 2 }, { -31, 73, 0, 2, 0, 2 }, { -32, 74, 0, 2, 0, 2 }, { -33, 74, 0, 2, 0, 2 }, { -34, 75, 0, 2, 0, 2 }, + { -35, 75, 0, 2, 0, 2 }, { -36, 75, 0, 2, 0, 2 }, { -37, 76, 0, 2, 0, 2 }, { -38, 76, 0, 2, 0, 2 }, { -39, 76, 0, 2, 0, 2 }, + { -40, 77, 0, 1, 0, 2 }, { -41, 77, 0, 1, 0, 2 }, { -42, 77, 0, 1, 0, 2 }, { -43, 77, 0, 1, 0, 2 }, { -44, 78, 0, 1, 0, 2 }, + { -45, 78, 0, 1, 0, 2 }, { -46, 78, 0, 1, 0, 2 }, { -47, 78, 0, 1, 0, 2 }, { -48, 78, 0, 1, 0, 2 }, { -49, 79, 0, 1, 0, 2 }, + { -50, 79, 0, 1, 0, 2 }, { -51, 79, 0, 1, 0, 2 }, { -52, 79, 0, 1, 0, 2 }, { -53, 79, 0, 1, 0, 2 }, { -54, 79, 0, 1, 0, 2 }, + { -55, 80, 0, 1, 0, 2 }, { -56, 80, 0, 0, 0, 2 }, { -57, 80, 0, 0, 0, 2 }, { -58, 80, 0, 0, 0, 2 }, { -59, 80, 0, 0, 0, 2 }, + { -60, 80, 0, 0, 0, 2 }, { -61, 80, 0, 0, 0, 2 }, { -62, 80, 0, 0, 0, 2 }, { -63, 80, 0, 0, 0, 2 }, { -64, 80, 0, 0, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CA8C3 = { - 114, { - { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, - { 5, 16, 0, 16, 0, 2 }, { 6, 16, 0, 16, 0, 2 }, { 7, 16, 0, 16, 0, 2 }, { 8, 16, 0, 15, 0, 2 }, { 9, 17, 0, 15, 0, 2 }, - { 10, 17, 0, 15, 0, 2 }, { 11, 17, 0, 15, 0, 2 }, { 12, 17, 0, 15, 0, 2 }, { 13, 17, 0, 15, 0, 2 }, { 14, 17, 0, 15, 0, 2 }, - { 15, 18, 0, 15, 0, 2 }, { 16, 18, 0, 15, 0, 2 }, { 17, 18, 0, 15, 0, 2 }, { 18, 18, 0, 15, 0, 2 }, { 19, 18, 0, 15, 0, 2 }, - { 20, 19, 0, 15, 0, 2 }, { 21, 19, 0, 15, 0, 2 }, { 22, 19, 0, 14, 0, 2 }, { 23, 19, 0, 14, 0, 2 }, { 24, 20, 0, 14, 0, 2 }, - { 25, 20, 0, 14, 0, 2 }, { 26, 20, 0, 14, 0, 2 }, { 27, 21, 0, 14, 0, 2 }, { 28, 21, 0, 14, 0, 2 }, { 29, 21, 0, 14, 0, 2 }, - { 30, 22, 0, 14, 0, 2 }, { 31, 22, 0, 14, 0, 2 }, { 32, 23, 0, 14, 0, 2 }, { 33, 23, 0, 14, 0, 2 }, { 34, 24, 0, 14, 0, 2 }, - { 35, 24, 0, 14, 0, 2 }, { 36, 25, 0, 14, 0, 2 }, { 37, 25, 0, 13, 0, 2 }, { 38, 26, 0, 13, 0, 2 }, { 39, 26, 0, 13, 0, 2 }, - { 40, 27, 0, 13, 0, 2 }, { 41, 28, 0, 13, 0, 2 }, { 42, 28, 0, 13, 0, 2 }, { 43, 29, 0, 13, 0, 2 }, { 44, 30, 0, 13, 0, 2 }, - { 45, 30, 0, 13, 0, 2 }, { 46, 31, 0, 13, 0, 2 }, { 47, 32, 0, 13, 0, 2 }, { 48, 32, 0, 13, 0, 2 }, { 49, 33, 0, 13, 0, 2 }, - { 50, 34, 0, 12, 0, 2 }, { 51, 35, 0, 12, 0, 2 }, { 52, 35, 0, 12, 0, 2 }, { 53, 36, 0, 12, 0, 2 }, { 54, 37, 0, 12, 0, 2 }, - { 55, 38, 0, 12, 0, 2 }, { 56, 39, 0, 12, 0, 2 }, { 57, 39, 0, 12, 0, 2 }, { 58, 40, 0, 12, 0, 2 }, { 59, 41, 0, 12, 0, 2 }, - { 60, 42, 0, 12, 0, 2 }, { 61, 43, 0, 12, 0, 2 }, { 61, 44, 0, 12, 0, 2 }, { 62, 45, 0, 11, 0, 2 }, { 63, 46, 0, 11, 0, 2 }, - { 64, 47, 0, 11, 0, 2 }, { 64, 48, 0, 11, 0, 2 }, { 65, 49, 0, 11, 0, 2 }, { 66, 50, 0, 11, 0, 2 }, { 66, 51, 0, 11, 0, 2 }, - { 67, 52, 0, 11, 0, 2 }, { 68, 53, 0, 11, 0, 2 }, { 68, 54, 0, 11, 0, 2 }, { 69, 55, 0, 11, 0, 2 }, { 70, 56, 0, 11, 0, 2 }, - { 70, 57, 0, 11, 0, 2 }, { 71, 58, 0, 10, 0, 2 }, { 71, 59, 0, 10, 0, 2 }, { 72, 60, 0, 10, 0, 2 }, { 72, 61, 0, 10, 0, 2 }, - { 73, 62, 0, 10, 0, 2 }, { 73, 63, 0, 10, 0, 2 }, { 74, 64, 0, 10, 0, 2 }, { 74, 65, 0, 10, 0, 2 }, { 75, 66, 0, 10, 0, 2 }, - { 75, 67, 0, 10, 0, 2 }, { 75, 68, 0, 10, 0, 2 }, { 76, 69, 0, 10, 0, 2 }, { 76, 70, 0, 10, 0, 2 }, { 76, 71, 0, 10, 0, 2 }, - { 77, 72, 0, 9, 0, 2 }, { 77, 73, 0, 9, 0, 2 }, { 77, 74, 0, 9, 0, 2 }, { 77, 75, 0, 9, 0, 2 }, { 78, 76, 0, 9, 0, 2 }, - { 78, 77, 0, 9, 0, 2 }, { 78, 78, 0, 9, 0, 2 }, { 78, 79, 0, 9, 0, 2 }, { 78, 80, 0, 9, 0, 2 }, { 79, 81, 0, 9, 0, 2 }, - { 79, 82, 0, 9, 0, 2 }, { 79, 83, 0, 9, 0, 2 }, { 79, 84, 0, 9, 0, 2 }, { 79, 85, 0, 9, 0, 2 }, { 79, 86, 0, 9, 0, 2 }, - { 80, 87, 0, 9, 0, 2 }, { 80, 88, 0, 8, 0, 2 }, { 80, 89, 0, 8, 0, 2 }, { 80, 90, 0, 8, 0, 2 }, { 80, 91, 0, 8, 0, 2 }, - { 80, 92, 0, 8, 0, 2 }, { 80, 93, 0, 8, 0, 2 }, { 80, 94, 0, 8, 0, 2 }, { 80, 95, 0, 8, 0, 2 }, + 114, { + { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, + { 5, 16, 0, 16, 0, 2 }, { 6, 16, 0, 16, 0, 2 }, { 7, 16, 0, 16, 0, 2 }, { 8, 16, 0, 15, 0, 2 }, { 9, 17, 0, 15, 0, 2 }, + { 10, 17, 0, 15, 0, 2 }, { 11, 17, 0, 15, 0, 2 }, { 12, 17, 0, 15, 0, 2 }, { 13, 17, 0, 15, 0, 2 }, { 14, 17, 0, 15, 0, 2 }, + { 15, 18, 0, 15, 0, 2 }, { 16, 18, 0, 15, 0, 2 }, { 17, 18, 0, 15, 0, 2 }, { 18, 18, 0, 15, 0, 2 }, { 19, 18, 0, 15, 0, 2 }, + { 20, 19, 0, 15, 0, 2 }, { 21, 19, 0, 15, 0, 2 }, { 22, 19, 0, 14, 0, 2 }, { 23, 19, 0, 14, 0, 2 }, { 24, 20, 0, 14, 0, 2 }, + { 25, 20, 0, 14, 0, 2 }, { 26, 20, 0, 14, 0, 2 }, { 27, 21, 0, 14, 0, 2 }, { 28, 21, 0, 14, 0, 2 }, { 29, 21, 0, 14, 0, 2 }, + { 30, 22, 0, 14, 0, 2 }, { 31, 22, 0, 14, 0, 2 }, { 32, 23, 0, 14, 0, 2 }, { 33, 23, 0, 14, 0, 2 }, { 34, 24, 0, 14, 0, 2 }, + { 35, 24, 0, 14, 0, 2 }, { 36, 25, 0, 14, 0, 2 }, { 37, 25, 0, 13, 0, 2 }, { 38, 26, 0, 13, 0, 2 }, { 39, 26, 0, 13, 0, 2 }, + { 40, 27, 0, 13, 0, 2 }, { 41, 28, 0, 13, 0, 2 }, { 42, 28, 0, 13, 0, 2 }, { 43, 29, 0, 13, 0, 2 }, { 44, 30, 0, 13, 0, 2 }, + { 45, 30, 0, 13, 0, 2 }, { 46, 31, 0, 13, 0, 2 }, { 47, 32, 0, 13, 0, 2 }, { 48, 32, 0, 13, 0, 2 }, { 49, 33, 0, 13, 0, 2 }, + { 50, 34, 0, 12, 0, 2 }, { 51, 35, 0, 12, 0, 2 }, { 52, 35, 0, 12, 0, 2 }, { 53, 36, 0, 12, 0, 2 }, { 54, 37, 0, 12, 0, 2 }, + { 55, 38, 0, 12, 0, 2 }, { 56, 39, 0, 12, 0, 2 }, { 57, 39, 0, 12, 0, 2 }, { 58, 40, 0, 12, 0, 2 }, { 59, 41, 0, 12, 0, 2 }, + { 60, 42, 0, 12, 0, 2 }, { 61, 43, 0, 12, 0, 2 }, { 61, 44, 0, 12, 0, 2 }, { 62, 45, 0, 11, 0, 2 }, { 63, 46, 0, 11, 0, 2 }, + { 64, 47, 0, 11, 0, 2 }, { 64, 48, 0, 11, 0, 2 }, { 65, 49, 0, 11, 0, 2 }, { 66, 50, 0, 11, 0, 2 }, { 66, 51, 0, 11, 0, 2 }, + { 67, 52, 0, 11, 0, 2 }, { 68, 53, 0, 11, 0, 2 }, { 68, 54, 0, 11, 0, 2 }, { 69, 55, 0, 11, 0, 2 }, { 70, 56, 0, 11, 0, 2 }, + { 70, 57, 0, 11, 0, 2 }, { 71, 58, 0, 10, 0, 2 }, { 71, 59, 0, 10, 0, 2 }, { 72, 60, 0, 10, 0, 2 }, { 72, 61, 0, 10, 0, 2 }, + { 73, 62, 0, 10, 0, 2 }, { 73, 63, 0, 10, 0, 2 }, { 74, 64, 0, 10, 0, 2 }, { 74, 65, 0, 10, 0, 2 }, { 75, 66, 0, 10, 0, 2 }, + { 75, 67, 0, 10, 0, 2 }, { 75, 68, 0, 10, 0, 2 }, { 76, 69, 0, 10, 0, 2 }, { 76, 70, 0, 10, 0, 2 }, { 76, 71, 0, 10, 0, 2 }, + { 77, 72, 0, 9, 0, 2 }, { 77, 73, 0, 9, 0, 2 }, { 77, 74, 0, 9, 0, 2 }, { 77, 75, 0, 9, 0, 2 }, { 78, 76, 0, 9, 0, 2 }, + { 78, 77, 0, 9, 0, 2 }, { 78, 78, 0, 9, 0, 2 }, { 78, 79, 0, 9, 0, 2 }, { 78, 80, 0, 9, 0, 2 }, { 79, 81, 0, 9, 0, 2 }, + { 79, 82, 0, 9, 0, 2 }, { 79, 83, 0, 9, 0, 2 }, { 79, 84, 0, 9, 0, 2 }, { 79, 85, 0, 9, 0, 2 }, { 79, 86, 0, 9, 0, 2 }, + { 80, 87, 0, 9, 0, 2 }, { 80, 88, 0, 8, 0, 2 }, { 80, 89, 0, 8, 0, 2 }, { 80, 90, 0, 8, 0, 2 }, { 80, 91, 0, 8, 0, 2 }, + { 80, 92, 0, 8, 0, 2 }, { 80, 93, 0, 8, 0, 2 }, { 80, 94, 0, 8, 0, 2 }, { 80, 95, 0, 8, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CACC7 = { - 113, { - { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 24, 0, 2 }, - { 16, 26, 0, 24, 0, 2 }, { 16, 25, 0, 24, 0, 2 }, { 16, 24, 0, 23, 0, 2 }, { 17, 23, 0, 23, 0, 2 }, { 17, 22, 0, 23, 0, 2 }, - { 17, 21, 0, 23, 0, 2 }, { 17, 20, 0, 23, 0, 2 }, { 17, 19, 0, 23, 0, 2 }, { 17, 18, 0, 23, 0, 2 }, { 18, 17, 0, 23, 0, 2 }, - { 18, 16, 0, 23, 0, 2 }, { 18, 15, 0, 23, 0, 2 }, { 18, 14, 0, 23, 0, 2 }, { 18, 13, 0, 23, 0, 2 }, { 19, 12, 0, 23, 0, 2 }, - { 19, 11, 0, 23, 0, 2 }, { 19, 10, 0, 22, 0, 2 }, { 19, 9, 0, 22, 0, 2 }, { 20, 8, 0, 22, 0, 2 }, { 20, 7, 0, 22, 0, 2 }, - { 20, 6, 0, 22, 0, 2 }, { 21, 5, 0, 22, 0, 2 }, { 21, 4, 0, 22, 0, 2 }, { 21, 3, 0, 22, 0, 2 }, { 22, 2, 0, 22, 0, 2 }, - { 22, 1, 0, 22, 0, 2 }, { 23, 0, 0, 22, 0, 2 }, { 23, -1, 0, 22, 0, 2 }, { 24, -2, 0, 22, 0, 2 }, { 24, -3, 0, 22, 0, 2 }, - { 25, -4, 0, 22, 0, 2 }, { 25, -5, 0, 21, 0, 2 }, { 26, -6, 0, 21, 0, 2 }, { 26, -7, 0, 21, 0, 2 }, { 27, -8, 0, 21, 0, 2 }, - { 28, -9, 0, 21, 0, 2 }, { 28, -10, 0, 21, 0, 2 }, { 29, -11, 0, 21, 0, 2 }, { 30, -12, 0, 21, 0, 2 }, { 30, -13, 0, 21, 0, 2 }, - { 31, -14, 0, 21, 0, 2 }, { 32, -15, 0, 21, 0, 2 }, { 32, -16, 0, 21, 0, 2 }, { 33, -17, 0, 21, 0, 2 }, { 34, -18, 0, 20, 0, 2 }, - { 35, -19, 0, 20, 0, 2 }, { 35, -20, 0, 20, 0, 2 }, { 36, -21, 0, 20, 0, 2 }, { 37, -22, 0, 20, 0, 2 }, { 38, -23, 0, 20, 0, 2 }, - { 39, -24, 0, 20, 0, 2 }, { 39, -25, 0, 20, 0, 2 }, { 40, -26, 0, 20, 0, 2 }, { 41, -27, 0, 20, 0, 2 }, { 42, -28, 0, 20, 0, 2 }, - { 43, -29, 0, 20, 0, 2 }, { 44, -29, 0, 20, 0, 2 }, { 45, -30, 0, 19, 0, 2 }, { 46, -31, 0, 19, 0, 2 }, { 47, -32, 0, 19, 0, 2 }, - { 48, -32, 0, 19, 0, 2 }, { 49, -33, 0, 19, 0, 2 }, { 50, -34, 0, 19, 0, 2 }, { 51, -34, 0, 19, 0, 2 }, { 52, -35, 0, 19, 0, 2 }, - { 53, -36, 0, 19, 0, 2 }, { 54, -36, 0, 19, 0, 2 }, { 55, -37, 0, 19, 0, 2 }, { 56, -38, 0, 19, 0, 2 }, { 57, -38, 0, 19, 0, 2 }, - { 58, -39, 0, 18, 0, 2 }, { 59, -39, 0, 18, 0, 2 }, { 60, -40, 0, 18, 0, 2 }, { 61, -40, 0, 18, 0, 2 }, { 62, -41, 0, 18, 0, 2 }, - { 63, -41, 0, 18, 0, 2 }, { 64, -42, 0, 18, 0, 2 }, { 65, -42, 0, 18, 0, 2 }, { 66, -43, 0, 18, 0, 2 }, { 67, -43, 0, 18, 0, 2 }, - { 68, -43, 0, 18, 0, 2 }, { 69, -44, 0, 18, 0, 2 }, { 70, -44, 0, 18, 0, 2 }, { 71, -44, 0, 18, 0, 2 }, { 72, -45, 0, 17, 0, 2 }, - { 73, -45, 0, 17, 0, 2 }, { 74, -45, 0, 17, 0, 2 }, { 75, -45, 0, 17, 0, 2 }, { 76, -46, 0, 17, 0, 2 }, { 77, -46, 0, 17, 0, 2 }, - { 78, -46, 0, 17, 0, 2 }, { 79, -46, 0, 17, 0, 2 }, { 80, -46, 0, 17, 0, 2 }, { 81, -47, 0, 17, 0, 2 }, { 82, -47, 0, 17, 0, 2 }, - { 83, -47, 0, 17, 0, 2 }, { 84, -47, 0, 17, 0, 2 }, { 85, -47, 0, 17, 0, 2 }, { 86, -47, 0, 17, 0, 2 }, { 87, -48, 0, 17, 0, 2 }, - { 88, -48, 0, 16, 0, 2 }, { 89, -48, 0, 16, 0, 2 }, { 90, -48, 0, 16, 0, 2 }, { 91, -48, 0, 16, 0, 2 }, { 92, -48, 0, 16, 0, 2 }, - { 93, -48, 0, 16, 0, 2 }, { 94, -48, 0, 16, 0, 2 }, { 95, -48, 0, 16, 0, 2 }, + 113, { + { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 24, 0, 2 }, + { 16, 26, 0, 24, 0, 2 }, { 16, 25, 0, 24, 0, 2 }, { 16, 24, 0, 23, 0, 2 }, { 17, 23, 0, 23, 0, 2 }, { 17, 22, 0, 23, 0, 2 }, + { 17, 21, 0, 23, 0, 2 }, { 17, 20, 0, 23, 0, 2 }, { 17, 19, 0, 23, 0, 2 }, { 17, 18, 0, 23, 0, 2 }, { 18, 17, 0, 23, 0, 2 }, + { 18, 16, 0, 23, 0, 2 }, { 18, 15, 0, 23, 0, 2 }, { 18, 14, 0, 23, 0, 2 }, { 18, 13, 0, 23, 0, 2 }, { 19, 12, 0, 23, 0, 2 }, + { 19, 11, 0, 23, 0, 2 }, { 19, 10, 0, 22, 0, 2 }, { 19, 9, 0, 22, 0, 2 }, { 20, 8, 0, 22, 0, 2 }, { 20, 7, 0, 22, 0, 2 }, + { 20, 6, 0, 22, 0, 2 }, { 21, 5, 0, 22, 0, 2 }, { 21, 4, 0, 22, 0, 2 }, { 21, 3, 0, 22, 0, 2 }, { 22, 2, 0, 22, 0, 2 }, + { 22, 1, 0, 22, 0, 2 }, { 23, 0, 0, 22, 0, 2 }, { 23, -1, 0, 22, 0, 2 }, { 24, -2, 0, 22, 0, 2 }, { 24, -3, 0, 22, 0, 2 }, + { 25, -4, 0, 22, 0, 2 }, { 25, -5, 0, 21, 0, 2 }, { 26, -6, 0, 21, 0, 2 }, { 26, -7, 0, 21, 0, 2 }, { 27, -8, 0, 21, 0, 2 }, + { 28, -9, 0, 21, 0, 2 }, { 28, -10, 0, 21, 0, 2 }, { 29, -11, 0, 21, 0, 2 }, { 30, -12, 0, 21, 0, 2 }, { 30, -13, 0, 21, 0, 2 }, + { 31, -14, 0, 21, 0, 2 }, { 32, -15, 0, 21, 0, 2 }, { 32, -16, 0, 21, 0, 2 }, { 33, -17, 0, 21, 0, 2 }, { 34, -18, 0, 20, 0, 2 }, + { 35, -19, 0, 20, 0, 2 }, { 35, -20, 0, 20, 0, 2 }, { 36, -21, 0, 20, 0, 2 }, { 37, -22, 0, 20, 0, 2 }, { 38, -23, 0, 20, 0, 2 }, + { 39, -24, 0, 20, 0, 2 }, { 39, -25, 0, 20, 0, 2 }, { 40, -26, 0, 20, 0, 2 }, { 41, -27, 0, 20, 0, 2 }, { 42, -28, 0, 20, 0, 2 }, + { 43, -29, 0, 20, 0, 2 }, { 44, -29, 0, 20, 0, 2 }, { 45, -30, 0, 19, 0, 2 }, { 46, -31, 0, 19, 0, 2 }, { 47, -32, 0, 19, 0, 2 }, + { 48, -32, 0, 19, 0, 2 }, { 49, -33, 0, 19, 0, 2 }, { 50, -34, 0, 19, 0, 2 }, { 51, -34, 0, 19, 0, 2 }, { 52, -35, 0, 19, 0, 2 }, + { 53, -36, 0, 19, 0, 2 }, { 54, -36, 0, 19, 0, 2 }, { 55, -37, 0, 19, 0, 2 }, { 56, -38, 0, 19, 0, 2 }, { 57, -38, 0, 19, 0, 2 }, + { 58, -39, 0, 18, 0, 2 }, { 59, -39, 0, 18, 0, 2 }, { 60, -40, 0, 18, 0, 2 }, { 61, -40, 0, 18, 0, 2 }, { 62, -41, 0, 18, 0, 2 }, + { 63, -41, 0, 18, 0, 2 }, { 64, -42, 0, 18, 0, 2 }, { 65, -42, 0, 18, 0, 2 }, { 66, -43, 0, 18, 0, 2 }, { 67, -43, 0, 18, 0, 2 }, + { 68, -43, 0, 18, 0, 2 }, { 69, -44, 0, 18, 0, 2 }, { 70, -44, 0, 18, 0, 2 }, { 71, -44, 0, 18, 0, 2 }, { 72, -45, 0, 17, 0, 2 }, + { 73, -45, 0, 17, 0, 2 }, { 74, -45, 0, 17, 0, 2 }, { 75, -45, 0, 17, 0, 2 }, { 76, -46, 0, 17, 0, 2 }, { 77, -46, 0, 17, 0, 2 }, + { 78, -46, 0, 17, 0, 2 }, { 79, -46, 0, 17, 0, 2 }, { 80, -46, 0, 17, 0, 2 }, { 81, -47, 0, 17, 0, 2 }, { 82, -47, 0, 17, 0, 2 }, + { 83, -47, 0, 17, 0, 2 }, { 84, -47, 0, 17, 0, 2 }, { 85, -47, 0, 17, 0, 2 }, { 86, -47, 0, 17, 0, 2 }, { 87, -48, 0, 17, 0, 2 }, + { 88, -48, 0, 16, 0, 2 }, { 89, -48, 0, 16, 0, 2 }, { 90, -48, 0, 16, 0, 2 }, { 91, -48, 0, 16, 0, 2 }, { 92, -48, 0, 16, 0, 2 }, + { 93, -48, 0, 16, 0, 2 }, { 94, -48, 0, 16, 0, 2 }, { 95, -48, 0, 16, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CB0C2 = { - 113, { - { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 0, 0, 4 }, - { 26, 16, 0, 0, 0, 4 }, { 25, 16, 0, 0, 0, 4 }, { 24, 16, 0, 1, 0, 4 }, { 23, 17, 0, 1, 0, 4 }, { 22, 17, 0, 1, 0, 4 }, - { 21, 17, 0, 1, 0, 4 }, { 20, 17, 0, 1, 0, 4 }, { 19, 17, 0, 1, 0, 4 }, { 18, 17, 0, 1, 0, 4 }, { 17, 18, 0, 1, 0, 4 }, - { 16, 18, 0, 1, 0, 4 }, { 15, 18, 0, 1, 0, 4 }, { 14, 18, 0, 1, 0, 4 }, { 13, 18, 0, 1, 0, 4 }, { 12, 19, 0, 1, 0, 4 }, - { 11, 19, 0, 1, 0, 4 }, { 10, 19, 0, 2, 0, 4 }, { 9, 19, 0, 2, 0, 4 }, { 8, 20, 0, 2, 0, 4 }, { 7, 20, 0, 2, 0, 4 }, - { 6, 20, 0, 2, 0, 4 }, { 5, 21, 0, 2, 0, 4 }, { 4, 21, 0, 2, 0, 4 }, { 3, 21, 0, 2, 0, 4 }, { 2, 22, 0, 2, 0, 4 }, - { 1, 22, 0, 2, 0, 4 }, { 0, 23, 0, 2, 0, 4 }, { -1, 23, 0, 2, 0, 4 }, { -2, 24, 0, 2, 0, 4 }, { -3, 24, 0, 2, 0, 4 }, - { -4, 25, 0, 2, 0, 4 }, { -5, 25, 0, 3, 0, 4 }, { -6, 26, 0, 3, 0, 4 }, { -7, 26, 0, 3, 0, 4 }, { -8, 27, 0, 3, 0, 4 }, - { -9, 28, 0, 3, 0, 4 }, { -10, 28, 0, 3, 0, 4 }, { -11, 29, 0, 3, 0, 4 }, { -12, 30, 0, 3, 0, 4 }, { -13, 30, 0, 3, 0, 4 }, - { -14, 31, 0, 3, 0, 4 }, { -15, 32, 0, 3, 0, 4 }, { -16, 32, 0, 3, 0, 4 }, { -17, 33, 0, 3, 0, 4 }, { -18, 34, 0, 4, 0, 4 }, - { -19, 35, 0, 4, 0, 4 }, { -20, 35, 0, 4, 0, 4 }, { -21, 36, 0, 4, 0, 4 }, { -22, 37, 0, 4, 0, 4 }, { -23, 38, 0, 4, 0, 4 }, - { -24, 39, 0, 4, 0, 4 }, { -25, 39, 0, 4, 0, 4 }, { -26, 40, 0, 4, 0, 4 }, { -27, 41, 0, 4, 0, 4 }, { -28, 42, 0, 4, 0, 4 }, - { -29, 43, 0, 4, 0, 4 }, { -29, 44, 0, 4, 0, 4 }, { -30, 45, 0, 5, 0, 4 }, { -31, 46, 0, 5, 0, 4 }, { -32, 47, 0, 5, 0, 4 }, - { -32, 48, 0, 5, 0, 4 }, { -33, 49, 0, 5, 0, 4 }, { -34, 50, 0, 5, 0, 4 }, { -34, 51, 0, 5, 0, 4 }, { -35, 52, 0, 5, 0, 4 }, - { -36, 53, 0, 5, 0, 4 }, { -36, 54, 0, 5, 0, 4 }, { -37, 55, 0, 5, 0, 4 }, { -38, 56, 0, 5, 0, 4 }, { -38, 57, 0, 5, 0, 4 }, - { -39, 58, 0, 6, 0, 4 }, { -39, 59, 0, 6, 0, 4 }, { -40, 60, 0, 6, 0, 4 }, { -40, 61, 0, 6, 0, 4 }, { -41, 62, 0, 6, 0, 4 }, - { -41, 63, 0, 6, 0, 4 }, { -42, 64, 0, 6, 0, 4 }, { -42, 65, 0, 6, 0, 4 }, { -43, 66, 0, 6, 0, 4 }, { -43, 67, 0, 6, 0, 4 }, - { -43, 68, 0, 6, 0, 4 }, { -44, 69, 0, 6, 0, 4 }, { -44, 70, 0, 6, 0, 4 }, { -44, 71, 0, 6, 0, 4 }, { -45, 72, 0, 7, 0, 4 }, - { -45, 73, 0, 7, 0, 4 }, { -45, 74, 0, 7, 0, 4 }, { -45, 75, 0, 7, 0, 4 }, { -46, 76, 0, 7, 0, 4 }, { -46, 77, 0, 7, 0, 4 }, - { -46, 78, 0, 7, 0, 4 }, { -46, 79, 0, 7, 0, 4 }, { -46, 80, 0, 7, 0, 4 }, { -47, 81, 0, 7, 0, 4 }, { -47, 82, 0, 7, 0, 4 }, - { -47, 83, 0, 7, 0, 4 }, { -47, 84, 0, 7, 0, 4 }, { -47, 85, 0, 7, 0, 4 }, { -47, 86, 0, 7, 0, 4 }, { -48, 87, 0, 7, 0, 4 }, - { -48, 88, 0, 8, 0, 4 }, { -48, 89, 0, 8, 0, 4 }, { -48, 90, 0, 8, 0, 4 }, { -48, 91, 0, 8, 0, 4 }, { -48, 92, 0, 8, 0, 4 }, - { -48, 93, 0, 8, 0, 4 }, { -48, 94, 0, 8, 0, 4 }, { -48, 95, 0, 8, 0, 4 }, + 113, { + { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 0, 0, 4 }, + { 26, 16, 0, 0, 0, 4 }, { 25, 16, 0, 0, 0, 4 }, { 24, 16, 0, 1, 0, 4 }, { 23, 17, 0, 1, 0, 4 }, { 22, 17, 0, 1, 0, 4 }, + { 21, 17, 0, 1, 0, 4 }, { 20, 17, 0, 1, 0, 4 }, { 19, 17, 0, 1, 0, 4 }, { 18, 17, 0, 1, 0, 4 }, { 17, 18, 0, 1, 0, 4 }, + { 16, 18, 0, 1, 0, 4 }, { 15, 18, 0, 1, 0, 4 }, { 14, 18, 0, 1, 0, 4 }, { 13, 18, 0, 1, 0, 4 }, { 12, 19, 0, 1, 0, 4 }, + { 11, 19, 0, 1, 0, 4 }, { 10, 19, 0, 2, 0, 4 }, { 9, 19, 0, 2, 0, 4 }, { 8, 20, 0, 2, 0, 4 }, { 7, 20, 0, 2, 0, 4 }, + { 6, 20, 0, 2, 0, 4 }, { 5, 21, 0, 2, 0, 4 }, { 4, 21, 0, 2, 0, 4 }, { 3, 21, 0, 2, 0, 4 }, { 2, 22, 0, 2, 0, 4 }, + { 1, 22, 0, 2, 0, 4 }, { 0, 23, 0, 2, 0, 4 }, { -1, 23, 0, 2, 0, 4 }, { -2, 24, 0, 2, 0, 4 }, { -3, 24, 0, 2, 0, 4 }, + { -4, 25, 0, 2, 0, 4 }, { -5, 25, 0, 3, 0, 4 }, { -6, 26, 0, 3, 0, 4 }, { -7, 26, 0, 3, 0, 4 }, { -8, 27, 0, 3, 0, 4 }, + { -9, 28, 0, 3, 0, 4 }, { -10, 28, 0, 3, 0, 4 }, { -11, 29, 0, 3, 0, 4 }, { -12, 30, 0, 3, 0, 4 }, { -13, 30, 0, 3, 0, 4 }, + { -14, 31, 0, 3, 0, 4 }, { -15, 32, 0, 3, 0, 4 }, { -16, 32, 0, 3, 0, 4 }, { -17, 33, 0, 3, 0, 4 }, { -18, 34, 0, 4, 0, 4 }, + { -19, 35, 0, 4, 0, 4 }, { -20, 35, 0, 4, 0, 4 }, { -21, 36, 0, 4, 0, 4 }, { -22, 37, 0, 4, 0, 4 }, { -23, 38, 0, 4, 0, 4 }, + { -24, 39, 0, 4, 0, 4 }, { -25, 39, 0, 4, 0, 4 }, { -26, 40, 0, 4, 0, 4 }, { -27, 41, 0, 4, 0, 4 }, { -28, 42, 0, 4, 0, 4 }, + { -29, 43, 0, 4, 0, 4 }, { -29, 44, 0, 4, 0, 4 }, { -30, 45, 0, 5, 0, 4 }, { -31, 46, 0, 5, 0, 4 }, { -32, 47, 0, 5, 0, 4 }, + { -32, 48, 0, 5, 0, 4 }, { -33, 49, 0, 5, 0, 4 }, { -34, 50, 0, 5, 0, 4 }, { -34, 51, 0, 5, 0, 4 }, { -35, 52, 0, 5, 0, 4 }, + { -36, 53, 0, 5, 0, 4 }, { -36, 54, 0, 5, 0, 4 }, { -37, 55, 0, 5, 0, 4 }, { -38, 56, 0, 5, 0, 4 }, { -38, 57, 0, 5, 0, 4 }, + { -39, 58, 0, 6, 0, 4 }, { -39, 59, 0, 6, 0, 4 }, { -40, 60, 0, 6, 0, 4 }, { -40, 61, 0, 6, 0, 4 }, { -41, 62, 0, 6, 0, 4 }, + { -41, 63, 0, 6, 0, 4 }, { -42, 64, 0, 6, 0, 4 }, { -42, 65, 0, 6, 0, 4 }, { -43, 66, 0, 6, 0, 4 }, { -43, 67, 0, 6, 0, 4 }, + { -43, 68, 0, 6, 0, 4 }, { -44, 69, 0, 6, 0, 4 }, { -44, 70, 0, 6, 0, 4 }, { -44, 71, 0, 6, 0, 4 }, { -45, 72, 0, 7, 0, 4 }, + { -45, 73, 0, 7, 0, 4 }, { -45, 74, 0, 7, 0, 4 }, { -45, 75, 0, 7, 0, 4 }, { -46, 76, 0, 7, 0, 4 }, { -46, 77, 0, 7, 0, 4 }, + { -46, 78, 0, 7, 0, 4 }, { -46, 79, 0, 7, 0, 4 }, { -46, 80, 0, 7, 0, 4 }, { -47, 81, 0, 7, 0, 4 }, { -47, 82, 0, 7, 0, 4 }, + { -47, 83, 0, 7, 0, 4 }, { -47, 84, 0, 7, 0, 4 }, { -47, 85, 0, 7, 0, 4 }, { -47, 86, 0, 7, 0, 4 }, { -48, 87, 0, 7, 0, 4 }, + { -48, 88, 0, 8, 0, 4 }, { -48, 89, 0, 8, 0, 4 }, { -48, 90, 0, 8, 0, 4 }, { -48, 91, 0, 8, 0, 4 }, { -48, 92, 0, 8, 0, 4 }, + { -48, 93, 0, 8, 0, 4 }, { -48, 94, 0, 8, 0, 4 }, { -48, 95, 0, 8, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CB4BD = { - 114, { - { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, - { 16, 5, 0, 8, 0, 4 }, { 16, 6, 0, 8, 0, 4 }, { 16, 7, 0, 8, 0, 4 }, { 16, 8, 0, 9, 0, 4 }, { 17, 9, 0, 9, 0, 4 }, - { 17, 10, 0, 9, 0, 4 }, { 17, 11, 0, 9, 0, 4 }, { 17, 12, 0, 9, 0, 4 }, { 17, 13, 0, 9, 0, 4 }, { 17, 14, 0, 9, 0, 4 }, - { 18, 15, 0, 9, 0, 4 }, { 18, 16, 0, 9, 0, 4 }, { 18, 17, 0, 9, 0, 4 }, { 18, 18, 0, 9, 0, 4 }, { 18, 19, 0, 9, 0, 4 }, - { 19, 20, 0, 9, 0, 4 }, { 19, 21, 0, 9, 0, 4 }, { 19, 22, 0, 10, 0, 4 }, { 19, 23, 0, 10, 0, 4 }, { 20, 24, 0, 10, 0, 4 }, - { 20, 25, 0, 10, 0, 4 }, { 20, 26, 0, 10, 0, 4 }, { 21, 27, 0, 10, 0, 4 }, { 21, 28, 0, 10, 0, 4 }, { 21, 29, 0, 10, 0, 4 }, - { 22, 30, 0, 10, 0, 4 }, { 22, 31, 0, 10, 0, 4 }, { 23, 32, 0, 10, 0, 4 }, { 23, 33, 0, 10, 0, 4 }, { 24, 34, 0, 10, 0, 4 }, - { 24, 35, 0, 10, 0, 4 }, { 25, 36, 0, 10, 0, 4 }, { 25, 37, 0, 11, 0, 4 }, { 26, 38, 0, 11, 0, 4 }, { 26, 39, 0, 11, 0, 4 }, - { 27, 40, 0, 11, 0, 4 }, { 28, 41, 0, 11, 0, 4 }, { 28, 42, 0, 11, 0, 4 }, { 29, 43, 0, 11, 0, 4 }, { 30, 44, 0, 11, 0, 4 }, - { 30, 45, 0, 11, 0, 4 }, { 31, 46, 0, 11, 0, 4 }, { 32, 47, 0, 11, 0, 4 }, { 32, 48, 0, 11, 0, 4 }, { 33, 49, 0, 11, 0, 4 }, - { 34, 50, 0, 12, 0, 4 }, { 35, 51, 0, 12, 0, 4 }, { 35, 52, 0, 12, 0, 4 }, { 36, 53, 0, 12, 0, 4 }, { 37, 54, 0, 12, 0, 4 }, - { 38, 55, 0, 12, 0, 4 }, { 39, 56, 0, 12, 0, 4 }, { 39, 57, 0, 12, 0, 4 }, { 40, 58, 0, 12, 0, 4 }, { 41, 59, 0, 12, 0, 4 }, - { 42, 60, 0, 12, 0, 4 }, { 43, 61, 0, 12, 0, 4 }, { 44, 61, 0, 12, 0, 4 }, { 45, 62, 0, 13, 0, 4 }, { 46, 63, 0, 13, 0, 4 }, - { 47, 64, 0, 13, 0, 4 }, { 48, 64, 0, 13, 0, 4 }, { 49, 65, 0, 13, 0, 4 }, { 50, 66, 0, 13, 0, 4 }, { 51, 66, 0, 13, 0, 4 }, - { 52, 67, 0, 13, 0, 4 }, { 53, 68, 0, 13, 0, 4 }, { 54, 68, 0, 13, 0, 4 }, { 55, 69, 0, 13, 0, 4 }, { 56, 70, 0, 13, 0, 4 }, - { 57, 70, 0, 13, 0, 4 }, { 58, 71, 0, 14, 0, 4 }, { 59, 71, 0, 14, 0, 4 }, { 60, 72, 0, 14, 0, 4 }, { 61, 72, 0, 14, 0, 4 }, - { 62, 73, 0, 14, 0, 4 }, { 63, 73, 0, 14, 0, 4 }, { 64, 74, 0, 14, 0, 4 }, { 65, 74, 0, 14, 0, 4 }, { 66, 75, 0, 14, 0, 4 }, - { 67, 75, 0, 14, 0, 4 }, { 68, 75, 0, 14, 0, 4 }, { 69, 76, 0, 14, 0, 4 }, { 70, 76, 0, 14, 0, 4 }, { 71, 76, 0, 14, 0, 4 }, - { 72, 77, 0, 15, 0, 4 }, { 73, 77, 0, 15, 0, 4 }, { 74, 77, 0, 15, 0, 4 }, { 75, 77, 0, 15, 0, 4 }, { 76, 78, 0, 15, 0, 4 }, - { 77, 78, 0, 15, 0, 4 }, { 78, 78, 0, 15, 0, 4 }, { 79, 78, 0, 15, 0, 4 }, { 80, 78, 0, 15, 0, 4 }, { 81, 79, 0, 15, 0, 4 }, - { 82, 79, 0, 15, 0, 4 }, { 83, 79, 0, 15, 0, 4 }, { 84, 79, 0, 15, 0, 4 }, { 85, 79, 0, 15, 0, 4 }, { 86, 79, 0, 15, 0, 4 }, - { 87, 80, 0, 15, 0, 4 }, { 88, 80, 0, 16, 0, 4 }, { 89, 80, 0, 16, 0, 4 }, { 90, 80, 0, 16, 0, 4 }, { 91, 80, 0, 16, 0, 4 }, - { 92, 80, 0, 16, 0, 4 }, { 93, 80, 0, 16, 0, 4 }, { 94, 80, 0, 16, 0, 4 }, { 95, 80, 0, 16, 0, 4 }, + 114, { + { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, + { 16, 5, 0, 8, 0, 4 }, { 16, 6, 0, 8, 0, 4 }, { 16, 7, 0, 8, 0, 4 }, { 16, 8, 0, 9, 0, 4 }, { 17, 9, 0, 9, 0, 4 }, + { 17, 10, 0, 9, 0, 4 }, { 17, 11, 0, 9, 0, 4 }, { 17, 12, 0, 9, 0, 4 }, { 17, 13, 0, 9, 0, 4 }, { 17, 14, 0, 9, 0, 4 }, + { 18, 15, 0, 9, 0, 4 }, { 18, 16, 0, 9, 0, 4 }, { 18, 17, 0, 9, 0, 4 }, { 18, 18, 0, 9, 0, 4 }, { 18, 19, 0, 9, 0, 4 }, + { 19, 20, 0, 9, 0, 4 }, { 19, 21, 0, 9, 0, 4 }, { 19, 22, 0, 10, 0, 4 }, { 19, 23, 0, 10, 0, 4 }, { 20, 24, 0, 10, 0, 4 }, + { 20, 25, 0, 10, 0, 4 }, { 20, 26, 0, 10, 0, 4 }, { 21, 27, 0, 10, 0, 4 }, { 21, 28, 0, 10, 0, 4 }, { 21, 29, 0, 10, 0, 4 }, + { 22, 30, 0, 10, 0, 4 }, { 22, 31, 0, 10, 0, 4 }, { 23, 32, 0, 10, 0, 4 }, { 23, 33, 0, 10, 0, 4 }, { 24, 34, 0, 10, 0, 4 }, + { 24, 35, 0, 10, 0, 4 }, { 25, 36, 0, 10, 0, 4 }, { 25, 37, 0, 11, 0, 4 }, { 26, 38, 0, 11, 0, 4 }, { 26, 39, 0, 11, 0, 4 }, + { 27, 40, 0, 11, 0, 4 }, { 28, 41, 0, 11, 0, 4 }, { 28, 42, 0, 11, 0, 4 }, { 29, 43, 0, 11, 0, 4 }, { 30, 44, 0, 11, 0, 4 }, + { 30, 45, 0, 11, 0, 4 }, { 31, 46, 0, 11, 0, 4 }, { 32, 47, 0, 11, 0, 4 }, { 32, 48, 0, 11, 0, 4 }, { 33, 49, 0, 11, 0, 4 }, + { 34, 50, 0, 12, 0, 4 }, { 35, 51, 0, 12, 0, 4 }, { 35, 52, 0, 12, 0, 4 }, { 36, 53, 0, 12, 0, 4 }, { 37, 54, 0, 12, 0, 4 }, + { 38, 55, 0, 12, 0, 4 }, { 39, 56, 0, 12, 0, 4 }, { 39, 57, 0, 12, 0, 4 }, { 40, 58, 0, 12, 0, 4 }, { 41, 59, 0, 12, 0, 4 }, + { 42, 60, 0, 12, 0, 4 }, { 43, 61, 0, 12, 0, 4 }, { 44, 61, 0, 12, 0, 4 }, { 45, 62, 0, 13, 0, 4 }, { 46, 63, 0, 13, 0, 4 }, + { 47, 64, 0, 13, 0, 4 }, { 48, 64, 0, 13, 0, 4 }, { 49, 65, 0, 13, 0, 4 }, { 50, 66, 0, 13, 0, 4 }, { 51, 66, 0, 13, 0, 4 }, + { 52, 67, 0, 13, 0, 4 }, { 53, 68, 0, 13, 0, 4 }, { 54, 68, 0, 13, 0, 4 }, { 55, 69, 0, 13, 0, 4 }, { 56, 70, 0, 13, 0, 4 }, + { 57, 70, 0, 13, 0, 4 }, { 58, 71, 0, 14, 0, 4 }, { 59, 71, 0, 14, 0, 4 }, { 60, 72, 0, 14, 0, 4 }, { 61, 72, 0, 14, 0, 4 }, + { 62, 73, 0, 14, 0, 4 }, { 63, 73, 0, 14, 0, 4 }, { 64, 74, 0, 14, 0, 4 }, { 65, 74, 0, 14, 0, 4 }, { 66, 75, 0, 14, 0, 4 }, + { 67, 75, 0, 14, 0, 4 }, { 68, 75, 0, 14, 0, 4 }, { 69, 76, 0, 14, 0, 4 }, { 70, 76, 0, 14, 0, 4 }, { 71, 76, 0, 14, 0, 4 }, + { 72, 77, 0, 15, 0, 4 }, { 73, 77, 0, 15, 0, 4 }, { 74, 77, 0, 15, 0, 4 }, { 75, 77, 0, 15, 0, 4 }, { 76, 78, 0, 15, 0, 4 }, + { 77, 78, 0, 15, 0, 4 }, { 78, 78, 0, 15, 0, 4 }, { 79, 78, 0, 15, 0, 4 }, { 80, 78, 0, 15, 0, 4 }, { 81, 79, 0, 15, 0, 4 }, + { 82, 79, 0, 15, 0, 4 }, { 83, 79, 0, 15, 0, 4 }, { 84, 79, 0, 15, 0, 4 }, { 85, 79, 0, 15, 0, 4 }, { 86, 79, 0, 15, 0, 4 }, + { 87, 80, 0, 15, 0, 4 }, { 88, 80, 0, 16, 0, 4 }, { 89, 80, 0, 16, 0, 4 }, { 90, 80, 0, 16, 0, 4 }, { 91, 80, 0, 16, 0, 4 }, + { 92, 80, 0, 16, 0, 4 }, { 93, 80, 0, 16, 0, 4 }, { 94, 80, 0, 16, 0, 4 }, { 95, 80, 0, 16, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CB8C1 = { - 115, { - { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, - { 5, 16, 0, 16, 0, 4 }, { 6, 16, 0, 16, 0, 4 }, { 7, 16, 0, 16, 0, 4 }, { 8, 16, 0, 17, 0, 4 }, { 9, 15, 0, 17, 0, 4 }, - { 10, 15, 0, 17, 0, 4 }, { 11, 15, 0, 17, 0, 4 }, { 12, 15, 0, 17, 0, 4 }, { 13, 15, 0, 17, 0, 4 }, { 14, 15, 0, 17, 0, 4 }, - { 15, 14, 0, 17, 0, 4 }, { 16, 14, 0, 17, 0, 4 }, { 17, 14, 0, 17, 0, 4 }, { 18, 14, 0, 17, 0, 4 }, { 19, 14, 0, 17, 0, 4 }, - { 20, 13, 0, 17, 0, 4 }, { 21, 13, 0, 17, 0, 4 }, { 22, 13, 0, 18, 0, 4 }, { 23, 13, 0, 18, 0, 4 }, { 24, 12, 0, 18, 0, 4 }, - { 25, 12, 0, 18, 0, 4 }, { 26, 12, 0, 18, 0, 4 }, { 27, 11, 0, 18, 0, 4 }, { 28, 11, 0, 18, 0, 4 }, { 29, 11, 0, 18, 0, 4 }, - { 30, 10, 0, 18, 0, 4 }, { 31, 10, 0, 18, 0, 4 }, { 32, 9, 0, 18, 0, 4 }, { 33, 9, 0, 18, 0, 4 }, { 34, 8, 0, 18, 0, 4 }, - { 35, 8, 0, 18, 0, 4 }, { 36, 7, 0, 18, 0, 4 }, { 37, 7, 0, 19, 0, 4 }, { 38, 6, 0, 19, 0, 4 }, { 39, 6, 0, 19, 0, 4 }, - { 40, 5, 0, 19, 0, 4 }, { 41, 4, 0, 19, 0, 4 }, { 42, 4, 0, 19, 0, 4 }, { 43, 3, 0, 19, 0, 4 }, { 44, 2, 0, 19, 0, 4 }, - { 45, 2, 0, 19, 0, 4 }, { 46, 1, 0, 19, 0, 4 }, { 47, 0, 0, 19, 0, 4 }, { 48, 0, 0, 19, 0, 4 }, { 49, -1, 0, 19, 0, 4 }, - { 50, -2, 0, 20, 0, 4 }, { 51, -3, 0, 20, 0, 4 }, { 52, -3, 0, 20, 0, 4 }, { 53, -4, 0, 20, 0, 4 }, { 54, -5, 0, 20, 0, 4 }, - { 55, -6, 0, 20, 0, 4 }, { 56, -7, 0, 20, 0, 4 }, { 57, -7, 0, 20, 0, 4 }, { 58, -8, 0, 20, 0, 4 }, { 59, -9, 0, 20, 0, 4 }, - { 60, -10, 0, 20, 0, 4 }, { 61, -11, 0, 20, 0, 4 }, { 61, -12, 0, 20, 0, 4 }, { 62, -13, 0, 21, 0, 4 }, { 63, -14, 0, 21, 0, 4 }, - { 64, -15, 0, 21, 0, 4 }, { 64, -16, 0, 21, 0, 4 }, { 65, -17, 0, 21, 0, 4 }, { 66, -18, 0, 21, 0, 4 }, { 66, -19, 0, 21, 0, 4 }, - { 67, -20, 0, 21, 0, 4 }, { 68, -21, 0, 21, 0, 4 }, { 68, -22, 0, 21, 0, 4 }, { 69, -23, 0, 21, 0, 4 }, { 70, -24, 0, 21, 0, 4 }, - { 70, -25, 0, 21, 0, 4 }, { 71, -26, 0, 22, 0, 4 }, { 71, -27, 0, 22, 0, 4 }, { 72, -28, 0, 22, 0, 4 }, { 72, -29, 0, 22, 0, 4 }, - { 73, -30, 0, 22, 0, 4 }, { 73, -31, 0, 22, 0, 4 }, { 74, -32, 0, 22, 0, 4 }, { 74, -33, 0, 22, 0, 4 }, { 75, -34, 0, 22, 0, 4 }, - { 75, -35, 0, 22, 0, 4 }, { 75, -36, 0, 22, 0, 4 }, { 76, -37, 0, 22, 0, 4 }, { 76, -38, 0, 22, 0, 4 }, { 76, -39, 0, 22, 0, 4 }, - { 77, -40, 0, 23, 0, 4 }, { 77, -41, 0, 23, 0, 4 }, { 77, -42, 0, 23, 0, 4 }, { 77, -43, 0, 23, 0, 4 }, { 78, -44, 0, 23, 0, 4 }, - { 78, -45, 0, 23, 0, 4 }, { 78, -46, 0, 23, 0, 4 }, { 78, -47, 0, 23, 0, 4 }, { 78, -48, 0, 23, 0, 4 }, { 79, -49, 0, 23, 0, 4 }, - { 79, -50, 0, 23, 0, 4 }, { 79, -51, 0, 23, 0, 4 }, { 79, -52, 0, 23, 0, 4 }, { 79, -53, 0, 23, 0, 4 }, { 79, -54, 0, 23, 0, 4 }, - { 80, -55, 0, 23, 0, 4 }, { 80, -56, 0, 24, 0, 4 }, { 80, -57, 0, 24, 0, 4 }, { 80, -58, 0, 24, 0, 4 }, { 80, -59, 0, 24, 0, 4 }, - { 80, -60, 0, 24, 0, 4 }, { 80, -61, 0, 24, 0, 4 }, { 80, -62, 0, 24, 0, 4 }, { 80, -63, 0, 24, 0, 4 }, { 80, -64, 0, 24, 0, 4 }, + 115, { + { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, + { 5, 16, 0, 16, 0, 4 }, { 6, 16, 0, 16, 0, 4 }, { 7, 16, 0, 16, 0, 4 }, { 8, 16, 0, 17, 0, 4 }, { 9, 15, 0, 17, 0, 4 }, + { 10, 15, 0, 17, 0, 4 }, { 11, 15, 0, 17, 0, 4 }, { 12, 15, 0, 17, 0, 4 }, { 13, 15, 0, 17, 0, 4 }, { 14, 15, 0, 17, 0, 4 }, + { 15, 14, 0, 17, 0, 4 }, { 16, 14, 0, 17, 0, 4 }, { 17, 14, 0, 17, 0, 4 }, { 18, 14, 0, 17, 0, 4 }, { 19, 14, 0, 17, 0, 4 }, + { 20, 13, 0, 17, 0, 4 }, { 21, 13, 0, 17, 0, 4 }, { 22, 13, 0, 18, 0, 4 }, { 23, 13, 0, 18, 0, 4 }, { 24, 12, 0, 18, 0, 4 }, + { 25, 12, 0, 18, 0, 4 }, { 26, 12, 0, 18, 0, 4 }, { 27, 11, 0, 18, 0, 4 }, { 28, 11, 0, 18, 0, 4 }, { 29, 11, 0, 18, 0, 4 }, + { 30, 10, 0, 18, 0, 4 }, { 31, 10, 0, 18, 0, 4 }, { 32, 9, 0, 18, 0, 4 }, { 33, 9, 0, 18, 0, 4 }, { 34, 8, 0, 18, 0, 4 }, + { 35, 8, 0, 18, 0, 4 }, { 36, 7, 0, 18, 0, 4 }, { 37, 7, 0, 19, 0, 4 }, { 38, 6, 0, 19, 0, 4 }, { 39, 6, 0, 19, 0, 4 }, + { 40, 5, 0, 19, 0, 4 }, { 41, 4, 0, 19, 0, 4 }, { 42, 4, 0, 19, 0, 4 }, { 43, 3, 0, 19, 0, 4 }, { 44, 2, 0, 19, 0, 4 }, + { 45, 2, 0, 19, 0, 4 }, { 46, 1, 0, 19, 0, 4 }, { 47, 0, 0, 19, 0, 4 }, { 48, 0, 0, 19, 0, 4 }, { 49, -1, 0, 19, 0, 4 }, + { 50, -2, 0, 20, 0, 4 }, { 51, -3, 0, 20, 0, 4 }, { 52, -3, 0, 20, 0, 4 }, { 53, -4, 0, 20, 0, 4 }, { 54, -5, 0, 20, 0, 4 }, + { 55, -6, 0, 20, 0, 4 }, { 56, -7, 0, 20, 0, 4 }, { 57, -7, 0, 20, 0, 4 }, { 58, -8, 0, 20, 0, 4 }, { 59, -9, 0, 20, 0, 4 }, + { 60, -10, 0, 20, 0, 4 }, { 61, -11, 0, 20, 0, 4 }, { 61, -12, 0, 20, 0, 4 }, { 62, -13, 0, 21, 0, 4 }, { 63, -14, 0, 21, 0, 4 }, + { 64, -15, 0, 21, 0, 4 }, { 64, -16, 0, 21, 0, 4 }, { 65, -17, 0, 21, 0, 4 }, { 66, -18, 0, 21, 0, 4 }, { 66, -19, 0, 21, 0, 4 }, + { 67, -20, 0, 21, 0, 4 }, { 68, -21, 0, 21, 0, 4 }, { 68, -22, 0, 21, 0, 4 }, { 69, -23, 0, 21, 0, 4 }, { 70, -24, 0, 21, 0, 4 }, + { 70, -25, 0, 21, 0, 4 }, { 71, -26, 0, 22, 0, 4 }, { 71, -27, 0, 22, 0, 4 }, { 72, -28, 0, 22, 0, 4 }, { 72, -29, 0, 22, 0, 4 }, + { 73, -30, 0, 22, 0, 4 }, { 73, -31, 0, 22, 0, 4 }, { 74, -32, 0, 22, 0, 4 }, { 74, -33, 0, 22, 0, 4 }, { 75, -34, 0, 22, 0, 4 }, + { 75, -35, 0, 22, 0, 4 }, { 75, -36, 0, 22, 0, 4 }, { 76, -37, 0, 22, 0, 4 }, { 76, -38, 0, 22, 0, 4 }, { 76, -39, 0, 22, 0, 4 }, + { 77, -40, 0, 23, 0, 4 }, { 77, -41, 0, 23, 0, 4 }, { 77, -42, 0, 23, 0, 4 }, { 77, -43, 0, 23, 0, 4 }, { 78, -44, 0, 23, 0, 4 }, + { 78, -45, 0, 23, 0, 4 }, { 78, -46, 0, 23, 0, 4 }, { 78, -47, 0, 23, 0, 4 }, { 78, -48, 0, 23, 0, 4 }, { 79, -49, 0, 23, 0, 4 }, + { 79, -50, 0, 23, 0, 4 }, { 79, -51, 0, 23, 0, 4 }, { 79, -52, 0, 23, 0, 4 }, { 79, -53, 0, 23, 0, 4 }, { 79, -54, 0, 23, 0, 4 }, + { 80, -55, 0, 23, 0, 4 }, { 80, -56, 0, 24, 0, 4 }, { 80, -57, 0, 24, 0, 4 }, { 80, -58, 0, 24, 0, 4 }, { 80, -59, 0, 24, 0, 4 }, + { 80, -60, 0, 24, 0, 4 }, { 80, -61, 0, 24, 0, 4 }, { 80, -62, 0, 24, 0, 4 }, { 80, -63, 0, 24, 0, 4 }, { 80, -64, 0, 24, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CBCCE = { - 114, { - { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 24, 0, 4 }, - { 16, 26, 0, 24, 0, 4 }, { 16, 25, 0, 24, 0, 4 }, { 16, 24, 0, 25, 0, 4 }, { 15, 23, 0, 25, 0, 4 }, { 15, 22, 0, 25, 0, 4 }, - { 15, 21, 0, 25, 0, 4 }, { 15, 20, 0, 25, 0, 4 }, { 15, 19, 0, 25, 0, 4 }, { 15, 18, 0, 25, 0, 4 }, { 14, 17, 0, 25, 0, 4 }, - { 14, 16, 0, 25, 0, 4 }, { 14, 15, 0, 25, 0, 4 }, { 14, 14, 0, 25, 0, 4 }, { 14, 13, 0, 25, 0, 4 }, { 13, 12, 0, 25, 0, 4 }, - { 13, 11, 0, 25, 0, 4 }, { 13, 10, 0, 26, 0, 4 }, { 13, 9, 0, 26, 0, 4 }, { 12, 8, 0, 26, 0, 4 }, { 12, 7, 0, 26, 0, 4 }, - { 12, 6, 0, 26, 0, 4 }, { 11, 5, 0, 26, 0, 4 }, { 11, 4, 0, 26, 0, 4 }, { 11, 3, 0, 26, 0, 4 }, { 10, 2, 0, 26, 0, 4 }, - { 10, 1, 0, 26, 0, 4 }, { 9, 0, 0, 26, 0, 4 }, { 9, -1, 0, 26, 0, 4 }, { 8, -2, 0, 26, 0, 4 }, { 8, -3, 0, 26, 0, 4 }, - { 7, -4, 0, 26, 0, 4 }, { 7, -5, 0, 27, 0, 4 }, { 6, -6, 0, 27, 0, 4 }, { 6, -7, 0, 27, 0, 4 }, { 5, -8, 0, 27, 0, 4 }, - { 4, -9, 0, 27, 0, 4 }, { 4, -10, 0, 27, 0, 4 }, { 3, -11, 0, 27, 0, 4 }, { 2, -12, 0, 27, 0, 4 }, { 2, -13, 0, 27, 0, 4 }, - { 1, -14, 0, 27, 0, 4 }, { 0, -15, 0, 27, 0, 4 }, { 0, -16, 0, 27, 0, 4 }, { -1, -17, 0, 27, 0, 4 }, { -2, -18, 0, 28, 0, 4 }, - { -3, -19, 0, 28, 0, 4 }, { -3, -20, 0, 28, 0, 4 }, { -4, -21, 0, 28, 0, 4 }, { -5, -22, 0, 28, 0, 4 }, { -6, -23, 0, 28, 0, 4 }, - { -7, -24, 0, 28, 0, 4 }, { -7, -25, 0, 28, 0, 4 }, { -8, -26, 0, 28, 0, 4 }, { -9, -27, 0, 28, 0, 4 }, { -10, -28, 0, 28, 0, 4 }, - { -11, -29, 0, 28, 0, 4 }, { -12, -29, 0, 28, 0, 4 }, { -13, -30, 0, 29, 0, 4 }, { -14, -31, 0, 29, 0, 4 }, { -15, -32, 0, 29, 0, 4 }, - { -16, -32, 0, 29, 0, 4 }, { -17, -33, 0, 29, 0, 4 }, { -18, -34, 0, 29, 0, 4 }, { -19, -34, 0, 29, 0, 4 }, { -20, -35, 0, 29, 0, 4 }, - { -21, -36, 0, 29, 0, 4 }, { -22, -36, 0, 29, 0, 4 }, { -23, -37, 0, 29, 0, 4 }, { -24, -38, 0, 29, 0, 4 }, { -25, -38, 0, 29, 0, 4 }, - { -26, -39, 0, 30, 0, 4 }, { -27, -39, 0, 30, 0, 4 }, { -28, -40, 0, 30, 0, 4 }, { -29, -40, 0, 30, 0, 4 }, { -30, -41, 0, 30, 0, 4 }, - { -31, -41, 0, 30, 0, 4 }, { -32, -42, 0, 30, 0, 4 }, { -33, -42, 0, 30, 0, 4 }, { -34, -43, 0, 30, 0, 4 }, { -35, -43, 0, 30, 0, 4 }, - { -36, -43, 0, 30, 0, 4 }, { -37, -44, 0, 30, 0, 4 }, { -38, -44, 0, 30, 0, 4 }, { -39, -44, 0, 30, 0, 4 }, { -40, -45, 0, 31, 0, 4 }, - { -41, -45, 0, 31, 0, 4 }, { -42, -45, 0, 31, 0, 4 }, { -43, -45, 0, 31, 0, 4 }, { -44, -46, 0, 31, 0, 4 }, { -45, -46, 0, 31, 0, 4 }, - { -46, -46, 0, 31, 0, 4 }, { -47, -46, 0, 31, 0, 4 }, { -48, -46, 0, 31, 0, 4 }, { -49, -47, 0, 31, 0, 4 }, { -50, -47, 0, 31, 0, 4 }, - { -51, -47, 0, 31, 0, 4 }, { -52, -47, 0, 31, 0, 4 }, { -53, -47, 0, 31, 0, 4 }, { -54, -47, 0, 31, 0, 4 }, { -55, -48, 0, 31, 0, 4 }, - { -56, -48, 0, 0, 0, 4 }, { -57, -48, 0, 0, 0, 4 }, { -58, -48, 0, 0, 0, 4 }, { -59, -48, 0, 0, 0, 4 }, { -60, -48, 0, 0, 0, 4 }, - { -61, -48, 0, 0, 0, 4 }, { -62, -48, 0, 0, 0, 4 }, { -63, -48, 0, 0, 0, 4 }, { -64, -48, 0, 0, 0, 4 }, + 114, { + { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 24, 0, 4 }, + { 16, 26, 0, 24, 0, 4 }, { 16, 25, 0, 24, 0, 4 }, { 16, 24, 0, 25, 0, 4 }, { 15, 23, 0, 25, 0, 4 }, { 15, 22, 0, 25, 0, 4 }, + { 15, 21, 0, 25, 0, 4 }, { 15, 20, 0, 25, 0, 4 }, { 15, 19, 0, 25, 0, 4 }, { 15, 18, 0, 25, 0, 4 }, { 14, 17, 0, 25, 0, 4 }, + { 14, 16, 0, 25, 0, 4 }, { 14, 15, 0, 25, 0, 4 }, { 14, 14, 0, 25, 0, 4 }, { 14, 13, 0, 25, 0, 4 }, { 13, 12, 0, 25, 0, 4 }, + { 13, 11, 0, 25, 0, 4 }, { 13, 10, 0, 26, 0, 4 }, { 13, 9, 0, 26, 0, 4 }, { 12, 8, 0, 26, 0, 4 }, { 12, 7, 0, 26, 0, 4 }, + { 12, 6, 0, 26, 0, 4 }, { 11, 5, 0, 26, 0, 4 }, { 11, 4, 0, 26, 0, 4 }, { 11, 3, 0, 26, 0, 4 }, { 10, 2, 0, 26, 0, 4 }, + { 10, 1, 0, 26, 0, 4 }, { 9, 0, 0, 26, 0, 4 }, { 9, -1, 0, 26, 0, 4 }, { 8, -2, 0, 26, 0, 4 }, { 8, -3, 0, 26, 0, 4 }, + { 7, -4, 0, 26, 0, 4 }, { 7, -5, 0, 27, 0, 4 }, { 6, -6, 0, 27, 0, 4 }, { 6, -7, 0, 27, 0, 4 }, { 5, -8, 0, 27, 0, 4 }, + { 4, -9, 0, 27, 0, 4 }, { 4, -10, 0, 27, 0, 4 }, { 3, -11, 0, 27, 0, 4 }, { 2, -12, 0, 27, 0, 4 }, { 2, -13, 0, 27, 0, 4 }, + { 1, -14, 0, 27, 0, 4 }, { 0, -15, 0, 27, 0, 4 }, { 0, -16, 0, 27, 0, 4 }, { -1, -17, 0, 27, 0, 4 }, { -2, -18, 0, 28, 0, 4 }, + { -3, -19, 0, 28, 0, 4 }, { -3, -20, 0, 28, 0, 4 }, { -4, -21, 0, 28, 0, 4 }, { -5, -22, 0, 28, 0, 4 }, { -6, -23, 0, 28, 0, 4 }, + { -7, -24, 0, 28, 0, 4 }, { -7, -25, 0, 28, 0, 4 }, { -8, -26, 0, 28, 0, 4 }, { -9, -27, 0, 28, 0, 4 }, { -10, -28, 0, 28, 0, 4 }, + { -11, -29, 0, 28, 0, 4 }, { -12, -29, 0, 28, 0, 4 }, { -13, -30, 0, 29, 0, 4 }, { -14, -31, 0, 29, 0, 4 }, { -15, -32, 0, 29, 0, 4 }, + { -16, -32, 0, 29, 0, 4 }, { -17, -33, 0, 29, 0, 4 }, { -18, -34, 0, 29, 0, 4 }, { -19, -34, 0, 29, 0, 4 }, { -20, -35, 0, 29, 0, 4 }, + { -21, -36, 0, 29, 0, 4 }, { -22, -36, 0, 29, 0, 4 }, { -23, -37, 0, 29, 0, 4 }, { -24, -38, 0, 29, 0, 4 }, { -25, -38, 0, 29, 0, 4 }, + { -26, -39, 0, 30, 0, 4 }, { -27, -39, 0, 30, 0, 4 }, { -28, -40, 0, 30, 0, 4 }, { -29, -40, 0, 30, 0, 4 }, { -30, -41, 0, 30, 0, 4 }, + { -31, -41, 0, 30, 0, 4 }, { -32, -42, 0, 30, 0, 4 }, { -33, -42, 0, 30, 0, 4 }, { -34, -43, 0, 30, 0, 4 }, { -35, -43, 0, 30, 0, 4 }, + { -36, -43, 0, 30, 0, 4 }, { -37, -44, 0, 30, 0, 4 }, { -38, -44, 0, 30, 0, 4 }, { -39, -44, 0, 30, 0, 4 }, { -40, -45, 0, 31, 0, 4 }, + { -41, -45, 0, 31, 0, 4 }, { -42, -45, 0, 31, 0, 4 }, { -43, -45, 0, 31, 0, 4 }, { -44, -46, 0, 31, 0, 4 }, { -45, -46, 0, 31, 0, 4 }, + { -46, -46, 0, 31, 0, 4 }, { -47, -46, 0, 31, 0, 4 }, { -48, -46, 0, 31, 0, 4 }, { -49, -47, 0, 31, 0, 4 }, { -50, -47, 0, 31, 0, 4 }, + { -51, -47, 0, 31, 0, 4 }, { -52, -47, 0, 31, 0, 4 }, { -53, -47, 0, 31, 0, 4 }, { -54, -47, 0, 31, 0, 4 }, { -55, -48, 0, 31, 0, 4 }, + { -56, -48, 0, 0, 0, 4 }, { -57, -48, 0, 0, 0, 4 }, { -58, -48, 0, 0, 0, 4 }, { -59, -48, 0, 0, 0, 4 }, { -60, -48, 0, 0, 0, 4 }, + { -61, -48, 0, 0, 0, 4 }, { -62, -48, 0, 0, 0, 4 }, { -63, -48, 0, 0, 0, 4 }, { -64, -48, 0, 0, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C4762 = { - 32, { - { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 0, 0, 2 }, - { 26, 16, 0, 0, 0, 2 }, { 25, 16, 0, 0, 0, 2 }, { 24, 16, 0, 0, 0, 2 }, { 23, 16, 0, 0, 1, 1 }, { 22, 16, 0, 0, 1, 1 }, - { 21, 16, 1, 0, 1, 1 }, { 20, 16, 1, 0, 1, 1 }, { 19, 16, 1, 0, 1, 1 }, { 18, 16, 1, 0, 1, 1 }, { 17, 16, 1, 0, 1, 1 }, - { 16, 16, 1, 0, 1, 1 }, { 15, 16, 2, 0, 1, 1 }, { 14, 16, 2, 0, 1, 1 }, { 13, 16, 2, 0, 1, 1 }, { 12, 16, 2, 0, 1, 1 }, - { 11, 16, 3, 0, 1, 1 }, { 10, 16, 3, 0, 1, 1 }, { 9, 16, 3, 0, 1, 1 }, { 8, 16, 4, 0, 1, 1 }, { 7, 16, 4, 0, 2, 0 }, - { 6, 16, 4, 0, 2, 0 }, { 5, 16, 5, 0, 2, 0 }, { 4, 16, 5, 0, 2, 0 }, { 3, 16, 6, 0, 2, 0 }, { 2, 16, 6, 0, 2, 0 }, - { 1, 16, 7, 0, 2, 0 }, { 0, 16, 7, 0, 2, 0 }, + 32, { + { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 0, 0, 2 }, + { 26, 16, 0, 0, 0, 2 }, { 25, 16, 0, 0, 0, 2 }, { 24, 16, 0, 0, 0, 2 }, { 23, 16, 0, 0, 1, 1 }, { 22, 16, 0, 0, 1, 1 }, + { 21, 16, 1, 0, 1, 1 }, { 20, 16, 1, 0, 1, 1 }, { 19, 16, 1, 0, 1, 1 }, { 18, 16, 1, 0, 1, 1 }, { 17, 16, 1, 0, 1, 1 }, + { 16, 16, 1, 0, 1, 1 }, { 15, 16, 2, 0, 1, 1 }, { 14, 16, 2, 0, 1, 1 }, { 13, 16, 2, 0, 1, 1 }, { 12, 16, 2, 0, 1, 1 }, + { 11, 16, 3, 0, 1, 1 }, { 10, 16, 3, 0, 1, 1 }, { 9, 16, 3, 0, 1, 1 }, { 8, 16, 4, 0, 1, 1 }, { 7, 16, 4, 0, 2, 0 }, + { 6, 16, 4, 0, 2, 0 }, { 5, 16, 5, 0, 2, 0 }, { 4, 16, 5, 0, 2, 0 }, { 3, 16, 6, 0, 2, 0 }, { 2, 16, 6, 0, 2, 0 }, + { 1, 16, 7, 0, 2, 0 }, { 0, 16, 7, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C4884 = { - 32, { - { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, - { 16, 5, 0, 8, 0, 2 }, { 16, 6, 0, 8, 0, 2 }, { 16, 7, 0, 8, 0, 2 }, { 16, 8, 0, 8, 1, 1 }, { 16, 9, 0, 8, 1, 1 }, - { 16, 10, 1, 8, 1, 1 }, { 16, 11, 1, 8, 1, 1 }, { 16, 12, 1, 8, 1, 1 }, { 16, 13, 1, 8, 1, 1 }, { 16, 14, 1, 8, 1, 1 }, - { 16, 15, 1, 8, 1, 1 }, { 16, 16, 2, 8, 1, 1 }, { 16, 17, 2, 8, 1, 1 }, { 16, 18, 2, 8, 1, 1 }, { 16, 19, 2, 8, 1, 1 }, - { 16, 20, 3, 8, 1, 1 }, { 16, 21, 3, 8, 1, 1 }, { 16, 22, 3, 8, 1, 1 }, { 16, 23, 4, 8, 1, 1 }, { 16, 24, 4, 8, 2, 0 }, - { 16, 25, 4, 8, 2, 0 }, { 16, 26, 5, 8, 2, 0 }, { 16, 27, 5, 8, 2, 0 }, { 16, 28, 6, 8, 2, 0 }, { 16, 29, 6, 8, 2, 0 }, - { 16, 30, 7, 8, 2, 0 }, { 16, 31, 7, 8, 2, 0 }, + 32, { + { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, + { 16, 5, 0, 8, 0, 2 }, { 16, 6, 0, 8, 0, 2 }, { 16, 7, 0, 8, 0, 2 }, { 16, 8, 0, 8, 1, 1 }, { 16, 9, 0, 8, 1, 1 }, + { 16, 10, 1, 8, 1, 1 }, { 16, 11, 1, 8, 1, 1 }, { 16, 12, 1, 8, 1, 1 }, { 16, 13, 1, 8, 1, 1 }, { 16, 14, 1, 8, 1, 1 }, + { 16, 15, 1, 8, 1, 1 }, { 16, 16, 2, 8, 1, 1 }, { 16, 17, 2, 8, 1, 1 }, { 16, 18, 2, 8, 1, 1 }, { 16, 19, 2, 8, 1, 1 }, + { 16, 20, 3, 8, 1, 1 }, { 16, 21, 3, 8, 1, 1 }, { 16, 22, 3, 8, 1, 1 }, { 16, 23, 4, 8, 1, 1 }, { 16, 24, 4, 8, 2, 0 }, + { 16, 25, 4, 8, 2, 0 }, { 16, 26, 5, 8, 2, 0 }, { 16, 27, 5, 8, 2, 0 }, { 16, 28, 6, 8, 2, 0 }, { 16, 29, 6, 8, 2, 0 }, + { 16, 30, 7, 8, 2, 0 }, { 16, 31, 7, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C49A6 = { - 32, { - { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, - { 5, 16, 0, 16, 0, 2 }, { 6, 16, 0, 16, 0, 2 }, { 7, 16, 0, 16, 0, 2 }, { 8, 16, 0, 16, 1, 1 }, { 9, 16, 0, 16, 1, 1 }, - { 10, 16, 1, 16, 1, 1 }, { 11, 16, 1, 16, 1, 1 }, { 12, 16, 1, 16, 1, 1 }, { 13, 16, 1, 16, 1, 1 }, { 14, 16, 1, 16, 1, 1 }, - { 15, 16, 1, 16, 1, 1 }, { 16, 16, 2, 16, 1, 1 }, { 17, 16, 2, 16, 1, 1 }, { 18, 16, 2, 16, 1, 1 }, { 19, 16, 2, 16, 1, 1 }, - { 20, 16, 3, 16, 1, 1 }, { 21, 16, 3, 16, 1, 1 }, { 22, 16, 3, 16, 1, 1 }, { 23, 16, 4, 16, 1, 1 }, { 24, 16, 4, 16, 2, 0 }, - { 25, 16, 4, 16, 2, 0 }, { 26, 16, 5, 16, 2, 0 }, { 27, 16, 5, 16, 2, 0 }, { 28, 16, 6, 16, 2, 0 }, { 29, 16, 6, 16, 2, 0 }, - { 30, 16, 7, 16, 2, 0 }, { 31, 16, 7, 16, 2, 0 }, + 32, { + { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, + { 5, 16, 0, 16, 0, 2 }, { 6, 16, 0, 16, 0, 2 }, { 7, 16, 0, 16, 0, 2 }, { 8, 16, 0, 16, 1, 1 }, { 9, 16, 0, 16, 1, 1 }, + { 10, 16, 1, 16, 1, 1 }, { 11, 16, 1, 16, 1, 1 }, { 12, 16, 1, 16, 1, 1 }, { 13, 16, 1, 16, 1, 1 }, { 14, 16, 1, 16, 1, 1 }, + { 15, 16, 1, 16, 1, 1 }, { 16, 16, 2, 16, 1, 1 }, { 17, 16, 2, 16, 1, 1 }, { 18, 16, 2, 16, 1, 1 }, { 19, 16, 2, 16, 1, 1 }, + { 20, 16, 3, 16, 1, 1 }, { 21, 16, 3, 16, 1, 1 }, { 22, 16, 3, 16, 1, 1 }, { 23, 16, 4, 16, 1, 1 }, { 24, 16, 4, 16, 2, 0 }, + { 25, 16, 4, 16, 2, 0 }, { 26, 16, 5, 16, 2, 0 }, { 27, 16, 5, 16, 2, 0 }, { 28, 16, 6, 16, 2, 0 }, { 29, 16, 6, 16, 2, 0 }, + { 30, 16, 7, 16, 2, 0 }, { 31, 16, 7, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C4AC8 = { - 32, { - { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 24, 0, 2 }, - { 16, 26, 0, 24, 0, 2 }, { 16, 25, 0, 24, 0, 2 }, { 16, 24, 0, 24, 0, 2 }, { 16, 23, 0, 24, 1, 1 }, { 16, 22, 0, 24, 1, 1 }, - { 16, 21, 1, 24, 1, 1 }, { 16, 20, 1, 24, 1, 1 }, { 16, 19, 1, 24, 1, 1 }, { 16, 18, 1, 24, 1, 1 }, { 16, 17, 1, 24, 1, 1 }, - { 16, 16, 1, 24, 1, 1 }, { 16, 15, 2, 24, 1, 1 }, { 16, 14, 2, 24, 1, 1 }, { 16, 13, 2, 24, 1, 1 }, { 16, 12, 2, 24, 1, 1 }, - { 16, 11, 3, 24, 1, 1 }, { 16, 10, 3, 24, 1, 1 }, { 16, 9, 3, 24, 1, 1 }, { 16, 8, 4, 24, 1, 1 }, { 16, 7, 4, 24, 2, 0 }, - { 16, 6, 4, 24, 2, 0 }, { 16, 5, 5, 24, 2, 0 }, { 16, 4, 5, 24, 2, 0 }, { 16, 3, 6, 24, 2, 0 }, { 16, 2, 6, 24, 2, 0 }, - { 16, 1, 7, 24, 2, 0 }, { 16, 0, 7, 24, 2, 0 }, + 32, { + { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 24, 0, 2 }, + { 16, 26, 0, 24, 0, 2 }, { 16, 25, 0, 24, 0, 2 }, { 16, 24, 0, 24, 0, 2 }, { 16, 23, 0, 24, 1, 1 }, { 16, 22, 0, 24, 1, 1 }, + { 16, 21, 1, 24, 1, 1 }, { 16, 20, 1, 24, 1, 1 }, { 16, 19, 1, 24, 1, 1 }, { 16, 18, 1, 24, 1, 1 }, { 16, 17, 1, 24, 1, 1 }, + { 16, 16, 1, 24, 1, 1 }, { 16, 15, 2, 24, 1, 1 }, { 16, 14, 2, 24, 1, 1 }, { 16, 13, 2, 24, 1, 1 }, { 16, 12, 2, 24, 1, 1 }, + { 16, 11, 3, 24, 1, 1 }, { 16, 10, 3, 24, 1, 1 }, { 16, 9, 3, 24, 1, 1 }, { 16, 8, 4, 24, 1, 1 }, { 16, 7, 4, 24, 2, 0 }, + { 16, 6, 4, 24, 2, 0 }, { 16, 5, 5, 24, 2, 0 }, { 16, 4, 5, 24, 2, 0 }, { 16, 3, 6, 24, 2, 0 }, { 16, 2, 6, 24, 2, 0 }, + { 16, 1, 7, 24, 2, 0 }, { 16, 0, 7, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C4BEA = { - 32, { - { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 0, 0, 4 }, - { 26, 16, 0, 0, 0, 4 }, { 25, 16, 0, 0, 0, 4 }, { 24, 16, 0, 0, 0, 4 }, { 23, 16, 0, 0, 1, 3 }, { 22, 16, 0, 0, 1, 3 }, - { 21, 16, 1, 0, 1, 3 }, { 20, 16, 1, 0, 1, 3 }, { 19, 16, 1, 0, 1, 3 }, { 18, 16, 1, 0, 1, 3 }, { 17, 16, 1, 0, 1, 3 }, - { 16, 16, 1, 0, 1, 3 }, { 15, 16, 2, 0, 1, 3 }, { 14, 16, 2, 0, 1, 3 }, { 13, 16, 2, 0, 1, 3 }, { 12, 16, 2, 0, 1, 3 }, - { 11, 16, 3, 0, 1, 3 }, { 10, 16, 3, 0, 1, 3 }, { 9, 16, 3, 0, 1, 3 }, { 8, 16, 4, 0, 1, 3 }, { 7, 16, 4, 0, 2, 0 }, - { 6, 16, 4, 0, 2, 0 }, { 5, 16, 5, 0, 2, 0 }, { 4, 16, 5, 0, 2, 0 }, { 3, 16, 6, 0, 2, 0 }, { 2, 16, 6, 0, 2, 0 }, - { 1, 16, 7, 0, 2, 0 }, { 0, 16, 7, 0, 2, 0 }, + 32, { + { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 0, 0, 4 }, + { 26, 16, 0, 0, 0, 4 }, { 25, 16, 0, 0, 0, 4 }, { 24, 16, 0, 0, 0, 4 }, { 23, 16, 0, 0, 1, 3 }, { 22, 16, 0, 0, 1, 3 }, + { 21, 16, 1, 0, 1, 3 }, { 20, 16, 1, 0, 1, 3 }, { 19, 16, 1, 0, 1, 3 }, { 18, 16, 1, 0, 1, 3 }, { 17, 16, 1, 0, 1, 3 }, + { 16, 16, 1, 0, 1, 3 }, { 15, 16, 2, 0, 1, 3 }, { 14, 16, 2, 0, 1, 3 }, { 13, 16, 2, 0, 1, 3 }, { 12, 16, 2, 0, 1, 3 }, + { 11, 16, 3, 0, 1, 3 }, { 10, 16, 3, 0, 1, 3 }, { 9, 16, 3, 0, 1, 3 }, { 8, 16, 4, 0, 1, 3 }, { 7, 16, 4, 0, 2, 0 }, + { 6, 16, 4, 0, 2, 0 }, { 5, 16, 5, 0, 2, 0 }, { 4, 16, 5, 0, 2, 0 }, { 3, 16, 6, 0, 2, 0 }, { 2, 16, 6, 0, 2, 0 }, + { 1, 16, 7, 0, 2, 0 }, { 0, 16, 7, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C4D0C = { - 32, { - { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, - { 16, 5, 0, 8, 0, 4 }, { 16, 6, 0, 8, 0, 4 }, { 16, 7, 0, 8, 0, 4 }, { 16, 8, 0, 8, 1, 3 }, { 16, 9, 0, 8, 1, 3 }, - { 16, 10, 1, 8, 1, 3 }, { 16, 11, 1, 8, 1, 3 }, { 16, 12, 1, 8, 1, 3 }, { 16, 13, 1, 8, 1, 3 }, { 16, 14, 1, 8, 1, 3 }, - { 16, 15, 1, 8, 1, 3 }, { 16, 16, 2, 8, 1, 3 }, { 16, 17, 2, 8, 1, 3 }, { 16, 18, 2, 8, 1, 3 }, { 16, 19, 2, 8, 1, 3 }, - { 16, 20, 3, 8, 1, 3 }, { 16, 21, 3, 8, 1, 3 }, { 16, 22, 3, 8, 1, 3 }, { 16, 23, 4, 8, 1, 3 }, { 16, 24, 4, 8, 2, 0 }, - { 16, 25, 4, 8, 2, 0 }, { 16, 26, 5, 8, 2, 0 }, { 16, 27, 5, 8, 2, 0 }, { 16, 28, 6, 8, 2, 0 }, { 16, 29, 6, 8, 2, 0 }, - { 16, 30, 7, 8, 2, 0 }, { 16, 31, 7, 8, 2, 0 }, + 32, { + { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, + { 16, 5, 0, 8, 0, 4 }, { 16, 6, 0, 8, 0, 4 }, { 16, 7, 0, 8, 0, 4 }, { 16, 8, 0, 8, 1, 3 }, { 16, 9, 0, 8, 1, 3 }, + { 16, 10, 1, 8, 1, 3 }, { 16, 11, 1, 8, 1, 3 }, { 16, 12, 1, 8, 1, 3 }, { 16, 13, 1, 8, 1, 3 }, { 16, 14, 1, 8, 1, 3 }, + { 16, 15, 1, 8, 1, 3 }, { 16, 16, 2, 8, 1, 3 }, { 16, 17, 2, 8, 1, 3 }, { 16, 18, 2, 8, 1, 3 }, { 16, 19, 2, 8, 1, 3 }, + { 16, 20, 3, 8, 1, 3 }, { 16, 21, 3, 8, 1, 3 }, { 16, 22, 3, 8, 1, 3 }, { 16, 23, 4, 8, 1, 3 }, { 16, 24, 4, 8, 2, 0 }, + { 16, 25, 4, 8, 2, 0 }, { 16, 26, 5, 8, 2, 0 }, { 16, 27, 5, 8, 2, 0 }, { 16, 28, 6, 8, 2, 0 }, { 16, 29, 6, 8, 2, 0 }, + { 16, 30, 7, 8, 2, 0 }, { 16, 31, 7, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C4E2E = { - 32, { - { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, - { 5, 16, 0, 16, 0, 4 }, { 6, 16, 0, 16, 0, 4 }, { 7, 16, 0, 16, 0, 4 }, { 8, 16, 0, 16, 1, 3 }, { 9, 16, 0, 16, 1, 3 }, - { 10, 16, 1, 16, 1, 3 }, { 11, 16, 1, 16, 1, 3 }, { 12, 16, 1, 16, 1, 3 }, { 13, 16, 1, 16, 1, 3 }, { 14, 16, 1, 16, 1, 3 }, - { 15, 16, 1, 16, 1, 3 }, { 16, 16, 2, 16, 1, 3 }, { 17, 16, 2, 16, 1, 3 }, { 18, 16, 2, 16, 1, 3 }, { 19, 16, 2, 16, 1, 3 }, - { 20, 16, 3, 16, 1, 3 }, { 21, 16, 3, 16, 1, 3 }, { 22, 16, 3, 16, 1, 3 }, { 23, 16, 4, 16, 1, 3 }, { 24, 16, 4, 16, 2, 0 }, - { 25, 16, 4, 16, 2, 0 }, { 26, 16, 5, 16, 2, 0 }, { 27, 16, 5, 16, 2, 0 }, { 28, 16, 6, 16, 2, 0 }, { 29, 16, 6, 16, 2, 0 }, - { 30, 16, 7, 16, 2, 0 }, { 31, 16, 7, 16, 2, 0 }, + 32, { + { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, + { 5, 16, 0, 16, 0, 4 }, { 6, 16, 0, 16, 0, 4 }, { 7, 16, 0, 16, 0, 4 }, { 8, 16, 0, 16, 1, 3 }, { 9, 16, 0, 16, 1, 3 }, + { 10, 16, 1, 16, 1, 3 }, { 11, 16, 1, 16, 1, 3 }, { 12, 16, 1, 16, 1, 3 }, { 13, 16, 1, 16, 1, 3 }, { 14, 16, 1, 16, 1, 3 }, + { 15, 16, 1, 16, 1, 3 }, { 16, 16, 2, 16, 1, 3 }, { 17, 16, 2, 16, 1, 3 }, { 18, 16, 2, 16, 1, 3 }, { 19, 16, 2, 16, 1, 3 }, + { 20, 16, 3, 16, 1, 3 }, { 21, 16, 3, 16, 1, 3 }, { 22, 16, 3, 16, 1, 3 }, { 23, 16, 4, 16, 1, 3 }, { 24, 16, 4, 16, 2, 0 }, + { 25, 16, 4, 16, 2, 0 }, { 26, 16, 5, 16, 2, 0 }, { 27, 16, 5, 16, 2, 0 }, { 28, 16, 6, 16, 2, 0 }, { 29, 16, 6, 16, 2, 0 }, + { 30, 16, 7, 16, 2, 0 }, { 31, 16, 7, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C4F50 = { - 32, { - { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 24, 0, 4 }, - { 16, 26, 0, 24, 0, 4 }, { 16, 25, 0, 24, 0, 4 }, { 16, 24, 0, 24, 0, 4 }, { 16, 23, 0, 24, 1, 3 }, { 16, 22, 0, 24, 1, 3 }, - { 16, 21, 1, 24, 1, 3 }, { 16, 20, 1, 24, 1, 3 }, { 16, 19, 1, 24, 1, 3 }, { 16, 18, 1, 24, 1, 3 }, { 16, 17, 1, 24, 1, 3 }, - { 16, 16, 1, 24, 1, 3 }, { 16, 15, 2, 24, 1, 3 }, { 16, 14, 2, 24, 1, 3 }, { 16, 13, 2, 24, 1, 3 }, { 16, 12, 2, 24, 1, 3 }, - { 16, 11, 3, 24, 1, 3 }, { 16, 10, 3, 24, 1, 3 }, { 16, 9, 3, 24, 1, 3 }, { 16, 8, 4, 24, 1, 3 }, { 16, 7, 4, 24, 2, 0 }, - { 16, 6, 4, 24, 2, 0 }, { 16, 5, 5, 24, 2, 0 }, { 16, 4, 5, 24, 2, 0 }, { 16, 3, 6, 24, 2, 0 }, { 16, 2, 6, 24, 2, 0 }, - { 16, 1, 7, 24, 2, 0 }, { 16, 0, 7, 24, 2, 0 }, + 32, { + { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 24, 0, 4 }, + { 16, 26, 0, 24, 0, 4 }, { 16, 25, 0, 24, 0, 4 }, { 16, 24, 0, 24, 0, 4 }, { 16, 23, 0, 24, 1, 3 }, { 16, 22, 0, 24, 1, 3 }, + { 16, 21, 1, 24, 1, 3 }, { 16, 20, 1, 24, 1, 3 }, { 16, 19, 1, 24, 1, 3 }, { 16, 18, 1, 24, 1, 3 }, { 16, 17, 1, 24, 1, 3 }, + { 16, 16, 1, 24, 1, 3 }, { 16, 15, 2, 24, 1, 3 }, { 16, 14, 2, 24, 1, 3 }, { 16, 13, 2, 24, 1, 3 }, { 16, 12, 2, 24, 1, 3 }, + { 16, 11, 3, 24, 1, 3 }, { 16, 10, 3, 24, 1, 3 }, { 16, 9, 3, 24, 1, 3 }, { 16, 8, 4, 24, 1, 3 }, { 16, 7, 4, 24, 2, 0 }, + { 16, 6, 4, 24, 2, 0 }, { 16, 5, 5, 24, 2, 0 }, { 16, 4, 5, 24, 2, 0 }, { 16, 3, 6, 24, 2, 0 }, { 16, 2, 6, 24, 2, 0 }, + { 16, 1, 7, 24, 2, 0 }, { 16, 0, 7, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C5072 = { - 32, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 4, 0, 1, 1 }, { 22, 16, 4, 0, 1, 1 }, - { 21, 16, 4, 0, 1, 1 }, { 20, 16, 5, 0, 1, 1 }, { 19, 16, 5, 0, 1, 1 }, { 18, 16, 5, 0, 1, 1 }, { 17, 16, 6, 0, 1, 1 }, - { 16, 16, 6, 0, 1, 1 }, { 15, 16, 6, 0, 1, 1 }, { 14, 16, 6, 0, 1, 1 }, { 13, 16, 7, 0, 1, 1 }, { 12, 16, 7, 0, 1, 1 }, - { 11, 16, 7, 0, 1, 1 }, { 10, 16, 7, 0, 1, 1 }, { 9, 16, 7, 0, 0, 2 }, { 8, 16, 7, 0, 0, 2 }, { 7, 16, 8, 0, 0, 2 }, - { 6, 16, 8, 0, 0, 2 }, { 5, 16, 8, 0, 0, 2 }, { 4, 16, 8, 0, 0, 2 }, { 3, 16, 8, 0, 0, 2 }, { 2, 16, 8, 0, 0, 2 }, - { 1, 16, 8, 0, 0, 2 }, { 0, 16, 8, 0, 0, 2 }, + 32, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 4, 0, 1, 1 }, { 22, 16, 4, 0, 1, 1 }, + { 21, 16, 4, 0, 1, 1 }, { 20, 16, 5, 0, 1, 1 }, { 19, 16, 5, 0, 1, 1 }, { 18, 16, 5, 0, 1, 1 }, { 17, 16, 6, 0, 1, 1 }, + { 16, 16, 6, 0, 1, 1 }, { 15, 16, 6, 0, 1, 1 }, { 14, 16, 6, 0, 1, 1 }, { 13, 16, 7, 0, 1, 1 }, { 12, 16, 7, 0, 1, 1 }, + { 11, 16, 7, 0, 1, 1 }, { 10, 16, 7, 0, 1, 1 }, { 9, 16, 7, 0, 0, 2 }, { 8, 16, 7, 0, 0, 2 }, { 7, 16, 8, 0, 0, 2 }, + { 6, 16, 8, 0, 0, 2 }, { 5, 16, 8, 0, 0, 2 }, { 4, 16, 8, 0, 0, 2 }, { 3, 16, 8, 0, 0, 2 }, { 2, 16, 8, 0, 0, 2 }, + { 1, 16, 8, 0, 0, 2 }, { 0, 16, 8, 0, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C51A6 = { - 32, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 1, 1 }, { 16, 9, 4, 8, 1, 1 }, - { 16, 10, 4, 8, 1, 1 }, { 16, 11, 5, 8, 1, 1 }, { 16, 12, 5, 8, 1, 1 }, { 16, 13, 5, 8, 1, 1 }, { 16, 14, 6, 8, 1, 1 }, - { 16, 15, 6, 8, 1, 1 }, { 16, 16, 6, 8, 1, 1 }, { 16, 17, 6, 8, 1, 1 }, { 16, 18, 7, 8, 1, 1 }, { 16, 19, 7, 8, 1, 1 }, - { 16, 20, 7, 8, 1, 1 }, { 16, 21, 7, 8, 1, 1 }, { 16, 22, 7, 8, 0, 2 }, { 16, 23, 7, 8, 0, 2 }, { 16, 24, 8, 8, 0, 2 }, - { 16, 25, 8, 8, 0, 2 }, { 16, 26, 8, 8, 0, 2 }, { 16, 27, 8, 8, 0, 2 }, { 16, 28, 8, 8, 0, 2 }, { 16, 29, 8, 8, 0, 2 }, - { 16, 30, 8, 8, 0, 2 }, { 16, 31, 8, 8, 0, 2 }, + 32, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 1, 1 }, { 16, 9, 4, 8, 1, 1 }, + { 16, 10, 4, 8, 1, 1 }, { 16, 11, 5, 8, 1, 1 }, { 16, 12, 5, 8, 1, 1 }, { 16, 13, 5, 8, 1, 1 }, { 16, 14, 6, 8, 1, 1 }, + { 16, 15, 6, 8, 1, 1 }, { 16, 16, 6, 8, 1, 1 }, { 16, 17, 6, 8, 1, 1 }, { 16, 18, 7, 8, 1, 1 }, { 16, 19, 7, 8, 1, 1 }, + { 16, 20, 7, 8, 1, 1 }, { 16, 21, 7, 8, 1, 1 }, { 16, 22, 7, 8, 0, 2 }, { 16, 23, 7, 8, 0, 2 }, { 16, 24, 8, 8, 0, 2 }, + { 16, 25, 8, 8, 0, 2 }, { 16, 26, 8, 8, 0, 2 }, { 16, 27, 8, 8, 0, 2 }, { 16, 28, 8, 8, 0, 2 }, { 16, 29, 8, 8, 0, 2 }, + { 16, 30, 8, 8, 0, 2 }, { 16, 31, 8, 8, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C52DA = { - 32, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 1, 1 }, { 9, 16, 4, 16, 1, 1 }, - { 10, 16, 4, 16, 1, 1 }, { 11, 16, 5, 16, 1, 1 }, { 12, 16, 5, 16, 1, 1 }, { 13, 16, 5, 16, 1, 1 }, { 14, 16, 6, 16, 1, 1 }, - { 15, 16, 6, 16, 1, 1 }, { 16, 16, 6, 16, 1, 1 }, { 17, 16, 6, 16, 1, 1 }, { 18, 16, 7, 16, 1, 1 }, { 19, 16, 7, 16, 1, 1 }, - { 20, 16, 7, 16, 1, 1 }, { 21, 16, 7, 16, 1, 1 }, { 22, 16, 7, 16, 0, 2 }, { 23, 16, 7, 16, 0, 2 }, { 24, 16, 8, 16, 0, 2 }, - { 25, 16, 8, 16, 0, 2 }, { 26, 16, 8, 16, 0, 2 }, { 27, 16, 8, 16, 0, 2 }, { 28, 16, 8, 16, 0, 2 }, { 29, 16, 8, 16, 0, 2 }, - { 30, 16, 8, 16, 0, 2 }, { 31, 16, 8, 16, 0, 2 }, + 32, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 1, 1 }, { 9, 16, 4, 16, 1, 1 }, + { 10, 16, 4, 16, 1, 1 }, { 11, 16, 5, 16, 1, 1 }, { 12, 16, 5, 16, 1, 1 }, { 13, 16, 5, 16, 1, 1 }, { 14, 16, 6, 16, 1, 1 }, + { 15, 16, 6, 16, 1, 1 }, { 16, 16, 6, 16, 1, 1 }, { 17, 16, 6, 16, 1, 1 }, { 18, 16, 7, 16, 1, 1 }, { 19, 16, 7, 16, 1, 1 }, + { 20, 16, 7, 16, 1, 1 }, { 21, 16, 7, 16, 1, 1 }, { 22, 16, 7, 16, 0, 2 }, { 23, 16, 7, 16, 0, 2 }, { 24, 16, 8, 16, 0, 2 }, + { 25, 16, 8, 16, 0, 2 }, { 26, 16, 8, 16, 0, 2 }, { 27, 16, 8, 16, 0, 2 }, { 28, 16, 8, 16, 0, 2 }, { 29, 16, 8, 16, 0, 2 }, + { 30, 16, 8, 16, 0, 2 }, { 31, 16, 8, 16, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C540E = { - 32, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 4, 24, 1, 1 }, { 16, 22, 4, 24, 1, 1 }, - { 16, 21, 4, 24, 1, 1 }, { 16, 20, 5, 24, 1, 1 }, { 16, 19, 5, 24, 1, 1 }, { 16, 18, 5, 24, 1, 1 }, { 16, 17, 6, 24, 1, 1 }, - { 16, 16, 6, 24, 1, 1 }, { 16, 15, 6, 24, 1, 1 }, { 16, 14, 6, 24, 1, 1 }, { 16, 13, 7, 24, 1, 1 }, { 16, 12, 7, 24, 1, 1 }, - { 16, 11, 7, 24, 1, 1 }, { 16, 10, 7, 24, 1, 1 }, { 16, 9, 7, 24, 0, 2 }, { 16, 8, 7, 24, 0, 2 }, { 16, 7, 8, 24, 0, 2 }, - { 16, 6, 8, 24, 0, 2 }, { 16, 5, 8, 24, 0, 2 }, { 16, 4, 8, 24, 0, 2 }, { 16, 3, 8, 24, 0, 2 }, { 16, 2, 8, 24, 0, 2 }, - { 16, 1, 8, 24, 0, 2 }, { 16, 0, 8, 24, 0, 2 }, + 32, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 4, 24, 1, 1 }, { 16, 22, 4, 24, 1, 1 }, + { 16, 21, 4, 24, 1, 1 }, { 16, 20, 5, 24, 1, 1 }, { 16, 19, 5, 24, 1, 1 }, { 16, 18, 5, 24, 1, 1 }, { 16, 17, 6, 24, 1, 1 }, + { 16, 16, 6, 24, 1, 1 }, { 16, 15, 6, 24, 1, 1 }, { 16, 14, 6, 24, 1, 1 }, { 16, 13, 7, 24, 1, 1 }, { 16, 12, 7, 24, 1, 1 }, + { 16, 11, 7, 24, 1, 1 }, { 16, 10, 7, 24, 1, 1 }, { 16, 9, 7, 24, 0, 2 }, { 16, 8, 7, 24, 0, 2 }, { 16, 7, 8, 24, 0, 2 }, + { 16, 6, 8, 24, 0, 2 }, { 16, 5, 8, 24, 0, 2 }, { 16, 4, 8, 24, 0, 2 }, { 16, 3, 8, 24, 0, 2 }, { 16, 2, 8, 24, 0, 2 }, + { 16, 1, 8, 24, 0, 2 }, { 16, 0, 8, 24, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C5542 = { - 32, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 4, 0, 1, 3 }, { 22, 16, 4, 0, 1, 3 }, - { 21, 16, 4, 0, 1, 3 }, { 20, 16, 5, 0, 1, 3 }, { 19, 16, 5, 0, 1, 3 }, { 18, 16, 5, 0, 1, 3 }, { 17, 16, 6, 0, 1, 3 }, - { 16, 16, 6, 0, 1, 3 }, { 15, 16, 6, 0, 1, 3 }, { 14, 16, 6, 0, 1, 3 }, { 13, 16, 7, 0, 1, 3 }, { 12, 16, 7, 0, 1, 3 }, - { 11, 16, 7, 0, 1, 3 }, { 10, 16, 7, 0, 1, 3 }, { 9, 16, 7, 0, 0, 4 }, { 8, 16, 7, 0, 0, 4 }, { 7, 16, 8, 0, 0, 4 }, - { 6, 16, 8, 0, 0, 4 }, { 5, 16, 8, 0, 0, 4 }, { 4, 16, 8, 0, 0, 4 }, { 3, 16, 8, 0, 0, 4 }, { 2, 16, 8, 0, 0, 4 }, - { 1, 16, 8, 0, 0, 4 }, { 0, 16, 8, 0, 0, 4 }, + 32, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 4, 0, 1, 3 }, { 22, 16, 4, 0, 1, 3 }, + { 21, 16, 4, 0, 1, 3 }, { 20, 16, 5, 0, 1, 3 }, { 19, 16, 5, 0, 1, 3 }, { 18, 16, 5, 0, 1, 3 }, { 17, 16, 6, 0, 1, 3 }, + { 16, 16, 6, 0, 1, 3 }, { 15, 16, 6, 0, 1, 3 }, { 14, 16, 6, 0, 1, 3 }, { 13, 16, 7, 0, 1, 3 }, { 12, 16, 7, 0, 1, 3 }, + { 11, 16, 7, 0, 1, 3 }, { 10, 16, 7, 0, 1, 3 }, { 9, 16, 7, 0, 0, 4 }, { 8, 16, 7, 0, 0, 4 }, { 7, 16, 8, 0, 0, 4 }, + { 6, 16, 8, 0, 0, 4 }, { 5, 16, 8, 0, 0, 4 }, { 4, 16, 8, 0, 0, 4 }, { 3, 16, 8, 0, 0, 4 }, { 2, 16, 8, 0, 0, 4 }, + { 1, 16, 8, 0, 0, 4 }, { 0, 16, 8, 0, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C5676 = { - 32, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 1, 3 }, { 16, 9, 4, 8, 1, 3 }, - { 16, 10, 4, 8, 1, 3 }, { 16, 11, 5, 8, 1, 3 }, { 16, 12, 5, 8, 1, 3 }, { 16, 13, 5, 8, 1, 3 }, { 16, 14, 6, 8, 1, 3 }, - { 16, 15, 6, 8, 1, 3 }, { 16, 16, 6, 8, 1, 3 }, { 16, 17, 6, 8, 1, 3 }, { 16, 18, 7, 8, 1, 3 }, { 16, 19, 7, 8, 1, 3 }, - { 16, 20, 7, 8, 1, 3 }, { 16, 21, 7, 8, 1, 3 }, { 16, 22, 7, 8, 0, 4 }, { 16, 23, 7, 8, 0, 4 }, { 16, 24, 8, 8, 0, 4 }, - { 16, 25, 8, 8, 0, 4 }, { 16, 26, 8, 8, 0, 4 }, { 16, 27, 8, 8, 0, 4 }, { 16, 28, 8, 8, 0, 4 }, { 16, 29, 8, 8, 0, 4 }, - { 16, 30, 8, 8, 0, 4 }, { 16, 31, 8, 8, 0, 4 }, + 32, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 1, 3 }, { 16, 9, 4, 8, 1, 3 }, + { 16, 10, 4, 8, 1, 3 }, { 16, 11, 5, 8, 1, 3 }, { 16, 12, 5, 8, 1, 3 }, { 16, 13, 5, 8, 1, 3 }, { 16, 14, 6, 8, 1, 3 }, + { 16, 15, 6, 8, 1, 3 }, { 16, 16, 6, 8, 1, 3 }, { 16, 17, 6, 8, 1, 3 }, { 16, 18, 7, 8, 1, 3 }, { 16, 19, 7, 8, 1, 3 }, + { 16, 20, 7, 8, 1, 3 }, { 16, 21, 7, 8, 1, 3 }, { 16, 22, 7, 8, 0, 4 }, { 16, 23, 7, 8, 0, 4 }, { 16, 24, 8, 8, 0, 4 }, + { 16, 25, 8, 8, 0, 4 }, { 16, 26, 8, 8, 0, 4 }, { 16, 27, 8, 8, 0, 4 }, { 16, 28, 8, 8, 0, 4 }, { 16, 29, 8, 8, 0, 4 }, + { 16, 30, 8, 8, 0, 4 }, { 16, 31, 8, 8, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C57AA = { - 32, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 1, 3 }, { 9, 16, 4, 16, 1, 3 }, - { 10, 16, 4, 16, 1, 3 }, { 11, 16, 5, 16, 1, 3 }, { 12, 16, 5, 16, 1, 3 }, { 13, 16, 5, 16, 1, 3 }, { 14, 16, 6, 16, 1, 3 }, - { 15, 16, 6, 16, 1, 3 }, { 16, 16, 6, 16, 1, 3 }, { 17, 16, 6, 16, 1, 3 }, { 18, 16, 7, 16, 1, 3 }, { 19, 16, 7, 16, 1, 3 }, - { 20, 16, 7, 16, 1, 3 }, { 21, 16, 7, 16, 1, 3 }, { 22, 16, 7, 16, 0, 4 }, { 23, 16, 7, 16, 0, 4 }, { 24, 16, 8, 16, 0, 4 }, - { 25, 16, 8, 16, 0, 4 }, { 26, 16, 8, 16, 0, 4 }, { 27, 16, 8, 16, 0, 4 }, { 28, 16, 8, 16, 0, 4 }, { 29, 16, 8, 16, 0, 4 }, - { 30, 16, 8, 16, 0, 4 }, { 31, 16, 8, 16, 0, 4 }, + 32, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 1, 3 }, { 9, 16, 4, 16, 1, 3 }, + { 10, 16, 4, 16, 1, 3 }, { 11, 16, 5, 16, 1, 3 }, { 12, 16, 5, 16, 1, 3 }, { 13, 16, 5, 16, 1, 3 }, { 14, 16, 6, 16, 1, 3 }, + { 15, 16, 6, 16, 1, 3 }, { 16, 16, 6, 16, 1, 3 }, { 17, 16, 6, 16, 1, 3 }, { 18, 16, 7, 16, 1, 3 }, { 19, 16, 7, 16, 1, 3 }, + { 20, 16, 7, 16, 1, 3 }, { 21, 16, 7, 16, 1, 3 }, { 22, 16, 7, 16, 0, 4 }, { 23, 16, 7, 16, 0, 4 }, { 24, 16, 8, 16, 0, 4 }, + { 25, 16, 8, 16, 0, 4 }, { 26, 16, 8, 16, 0, 4 }, { 27, 16, 8, 16, 0, 4 }, { 28, 16, 8, 16, 0, 4 }, { 29, 16, 8, 16, 0, 4 }, + { 30, 16, 8, 16, 0, 4 }, { 31, 16, 8, 16, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C58DE = { - 32, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 4, 24, 1, 3 }, { 16, 22, 4, 24, 1, 3 }, - { 16, 21, 4, 24, 1, 3 }, { 16, 20, 5, 24, 1, 3 }, { 16, 19, 5, 24, 1, 3 }, { 16, 18, 5, 24, 1, 3 }, { 16, 17, 6, 24, 1, 3 }, - { 16, 16, 6, 24, 1, 3 }, { 16, 15, 6, 24, 1, 3 }, { 16, 14, 6, 24, 1, 3 }, { 16, 13, 7, 24, 1, 3 }, { 16, 12, 7, 24, 1, 3 }, - { 16, 11, 7, 24, 1, 3 }, { 16, 10, 7, 24, 1, 3 }, { 16, 9, 7, 24, 0, 4 }, { 16, 8, 7, 24, 0, 4 }, { 16, 7, 8, 24, 0, 4 }, - { 16, 6, 8, 24, 0, 4 }, { 16, 5, 8, 24, 0, 4 }, { 16, 4, 8, 24, 0, 4 }, { 16, 3, 8, 24, 0, 4 }, { 16, 2, 8, 24, 0, 4 }, - { 16, 1, 8, 24, 0, 4 }, { 16, 0, 8, 24, 0, 4 }, + 32, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 4, 24, 1, 3 }, { 16, 22, 4, 24, 1, 3 }, + { 16, 21, 4, 24, 1, 3 }, { 16, 20, 5, 24, 1, 3 }, { 16, 19, 5, 24, 1, 3 }, { 16, 18, 5, 24, 1, 3 }, { 16, 17, 6, 24, 1, 3 }, + { 16, 16, 6, 24, 1, 3 }, { 16, 15, 6, 24, 1, 3 }, { 16, 14, 6, 24, 1, 3 }, { 16, 13, 7, 24, 1, 3 }, { 16, 12, 7, 24, 1, 3 }, + { 16, 11, 7, 24, 1, 3 }, { 16, 10, 7, 24, 1, 3 }, { 16, 9, 7, 24, 0, 4 }, { 16, 8, 7, 24, 0, 4 }, { 16, 7, 8, 24, 0, 4 }, + { 16, 6, 8, 24, 0, 4 }, { 16, 5, 8, 24, 0, 4 }, { 16, 4, 8, 24, 0, 4 }, { 16, 3, 8, 24, 0, 4 }, { 16, 2, 8, 24, 0, 4 }, + { 16, 1, 8, 24, 0, 4 }, { 16, 0, 8, 24, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C6322 = { - 32, { - { 31, 16, 8, 0, 0, 2 }, { 30, 16, 8, 0, 0, 2 }, { 29, 16, 8, 0, 0, 2 }, { 28, 16, 8, 0, 0, 2 }, { 27, 16, 8, 0, 0, 2 }, - { 26, 16, 8, 0, 0, 2 }, { 25, 16, 8, 0, 0, 2 }, { 24, 16, 8, 0, 0, 2 }, { 23, 16, 7, 0, 5, 1 }, { 22, 16, 7, 0, 5, 1 }, - { 21, 16, 7, 0, 5, 1 }, { 20, 16, 7, 0, 5, 1 }, { 19, 16, 7, 0, 5, 1 }, { 18, 16, 7, 0, 5, 1 }, { 17, 16, 6, 0, 5, 1 }, - { 16, 16, 6, 0, 5, 1 }, { 15, 16, 6, 0, 5, 1 }, { 14, 16, 6, 0, 5, 1 }, { 13, 16, 5, 0, 5, 1 }, { 12, 16, 5, 0, 5, 1 }, - { 11, 16, 5, 0, 5, 1 }, { 10, 16, 4, 0, 5, 1 }, { 9, 16, 4, 0, 5, 1 }, { 8, 16, 4, 0, 5, 1 }, { 7, 16, 3, 0, 6, 0 }, - { 6, 16, 3, 0, 6, 0 }, { 5, 16, 2, 0, 6, 0 }, { 4, 16, 2, 0, 6, 0 }, { 3, 16, 1, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, - { 1, 16, 0, 0, 6, 0 }, { 0, 16, 0, 0, 6, 0 }, + 32, { + { 31, 16, 8, 0, 0, 2 }, { 30, 16, 8, 0, 0, 2 }, { 29, 16, 8, 0, 0, 2 }, { 28, 16, 8, 0, 0, 2 }, { 27, 16, 8, 0, 0, 2 }, + { 26, 16, 8, 0, 0, 2 }, { 25, 16, 8, 0, 0, 2 }, { 24, 16, 8, 0, 0, 2 }, { 23, 16, 7, 0, 5, 1 }, { 22, 16, 7, 0, 5, 1 }, + { 21, 16, 7, 0, 5, 1 }, { 20, 16, 7, 0, 5, 1 }, { 19, 16, 7, 0, 5, 1 }, { 18, 16, 7, 0, 5, 1 }, { 17, 16, 6, 0, 5, 1 }, + { 16, 16, 6, 0, 5, 1 }, { 15, 16, 6, 0, 5, 1 }, { 14, 16, 6, 0, 5, 1 }, { 13, 16, 5, 0, 5, 1 }, { 12, 16, 5, 0, 5, 1 }, + { 11, 16, 5, 0, 5, 1 }, { 10, 16, 4, 0, 5, 1 }, { 9, 16, 4, 0, 5, 1 }, { 8, 16, 4, 0, 5, 1 }, { 7, 16, 3, 0, 6, 0 }, + { 6, 16, 3, 0, 6, 0 }, { 5, 16, 2, 0, 6, 0 }, { 4, 16, 2, 0, 6, 0 }, { 3, 16, 1, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, + { 1, 16, 0, 0, 6, 0 }, { 0, 16, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C6444 = { - 32, { - { 16, 0, 8, 8, 0, 2 }, { 16, 1, 8, 8, 0, 2 }, { 16, 2, 8, 8, 0, 2 }, { 16, 3, 8, 8, 0, 2 }, { 16, 4, 8, 8, 0, 2 }, - { 16, 5, 8, 8, 0, 2 }, { 16, 6, 8, 8, 0, 2 }, { 16, 7, 8, 8, 0, 2 }, { 16, 8, 7, 8, 5, 1 }, { 16, 9, 7, 8, 5, 1 }, - { 16, 10, 7, 8, 5, 1 }, { 16, 11, 7, 8, 5, 1 }, { 16, 12, 7, 8, 5, 1 }, { 16, 13, 7, 8, 5, 1 }, { 16, 14, 6, 8, 5, 1 }, - { 16, 15, 6, 8, 5, 1 }, { 16, 16, 6, 8, 5, 1 }, { 16, 17, 6, 8, 5, 1 }, { 16, 18, 5, 8, 5, 1 }, { 16, 19, 5, 8, 5, 1 }, - { 16, 20, 5, 8, 5, 1 }, { 16, 21, 4, 8, 5, 1 }, { 16, 22, 4, 8, 5, 1 }, { 16, 23, 4, 8, 5, 1 }, { 16, 24, 3, 8, 6, 0 }, - { 16, 25, 3, 8, 6, 0 }, { 16, 26, 2, 8, 6, 0 }, { 16, 27, 2, 8, 6, 0 }, { 16, 28, 1, 8, 6, 0 }, { 16, 29, 1, 8, 6, 0 }, - { 16, 30, 0, 8, 6, 0 }, { 16, 31, 0, 8, 6, 0 }, + 32, { + { 16, 0, 8, 8, 0, 2 }, { 16, 1, 8, 8, 0, 2 }, { 16, 2, 8, 8, 0, 2 }, { 16, 3, 8, 8, 0, 2 }, { 16, 4, 8, 8, 0, 2 }, + { 16, 5, 8, 8, 0, 2 }, { 16, 6, 8, 8, 0, 2 }, { 16, 7, 8, 8, 0, 2 }, { 16, 8, 7, 8, 5, 1 }, { 16, 9, 7, 8, 5, 1 }, + { 16, 10, 7, 8, 5, 1 }, { 16, 11, 7, 8, 5, 1 }, { 16, 12, 7, 8, 5, 1 }, { 16, 13, 7, 8, 5, 1 }, { 16, 14, 6, 8, 5, 1 }, + { 16, 15, 6, 8, 5, 1 }, { 16, 16, 6, 8, 5, 1 }, { 16, 17, 6, 8, 5, 1 }, { 16, 18, 5, 8, 5, 1 }, { 16, 19, 5, 8, 5, 1 }, + { 16, 20, 5, 8, 5, 1 }, { 16, 21, 4, 8, 5, 1 }, { 16, 22, 4, 8, 5, 1 }, { 16, 23, 4, 8, 5, 1 }, { 16, 24, 3, 8, 6, 0 }, + { 16, 25, 3, 8, 6, 0 }, { 16, 26, 2, 8, 6, 0 }, { 16, 27, 2, 8, 6, 0 }, { 16, 28, 1, 8, 6, 0 }, { 16, 29, 1, 8, 6, 0 }, + { 16, 30, 0, 8, 6, 0 }, { 16, 31, 0, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C6566 = { - 32, { - { 0, 16, 8, 16, 0, 2 }, { 1, 16, 8, 16, 0, 2 }, { 2, 16, 8, 16, 0, 2 }, { 3, 16, 8, 16, 0, 2 }, { 4, 16, 8, 16, 0, 2 }, - { 5, 16, 8, 16, 0, 2 }, { 6, 16, 8, 16, 0, 2 }, { 7, 16, 8, 16, 0, 2 }, { 8, 16, 7, 16, 5, 1 }, { 9, 16, 7, 16, 5, 1 }, - { 10, 16, 7, 16, 5, 1 }, { 11, 16, 7, 16, 5, 1 }, { 12, 16, 7, 16, 5, 1 }, { 13, 16, 7, 16, 5, 1 }, { 14, 16, 6, 16, 5, 1 }, - { 15, 16, 6, 16, 5, 1 }, { 16, 16, 6, 16, 5, 1 }, { 17, 16, 6, 16, 5, 1 }, { 18, 16, 5, 16, 5, 1 }, { 19, 16, 5, 16, 5, 1 }, - { 20, 16, 5, 16, 5, 1 }, { 21, 16, 4, 16, 5, 1 }, { 22, 16, 4, 16, 5, 1 }, { 23, 16, 4, 16, 5, 1 }, { 24, 16, 3, 16, 6, 0 }, - { 25, 16, 3, 16, 6, 0 }, { 26, 16, 2, 16, 6, 0 }, { 27, 16, 2, 16, 6, 0 }, { 28, 16, 1, 16, 6, 0 }, { 29, 16, 1, 16, 6, 0 }, - { 30, 16, 0, 16, 6, 0 }, { 31, 16, 0, 16, 6, 0 }, + 32, { + { 0, 16, 8, 16, 0, 2 }, { 1, 16, 8, 16, 0, 2 }, { 2, 16, 8, 16, 0, 2 }, { 3, 16, 8, 16, 0, 2 }, { 4, 16, 8, 16, 0, 2 }, + { 5, 16, 8, 16, 0, 2 }, { 6, 16, 8, 16, 0, 2 }, { 7, 16, 8, 16, 0, 2 }, { 8, 16, 7, 16, 5, 1 }, { 9, 16, 7, 16, 5, 1 }, + { 10, 16, 7, 16, 5, 1 }, { 11, 16, 7, 16, 5, 1 }, { 12, 16, 7, 16, 5, 1 }, { 13, 16, 7, 16, 5, 1 }, { 14, 16, 6, 16, 5, 1 }, + { 15, 16, 6, 16, 5, 1 }, { 16, 16, 6, 16, 5, 1 }, { 17, 16, 6, 16, 5, 1 }, { 18, 16, 5, 16, 5, 1 }, { 19, 16, 5, 16, 5, 1 }, + { 20, 16, 5, 16, 5, 1 }, { 21, 16, 4, 16, 5, 1 }, { 22, 16, 4, 16, 5, 1 }, { 23, 16, 4, 16, 5, 1 }, { 24, 16, 3, 16, 6, 0 }, + { 25, 16, 3, 16, 6, 0 }, { 26, 16, 2, 16, 6, 0 }, { 27, 16, 2, 16, 6, 0 }, { 28, 16, 1, 16, 6, 0 }, { 29, 16, 1, 16, 6, 0 }, + { 30, 16, 0, 16, 6, 0 }, { 31, 16, 0, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C6688 = { - 32, { - { 16, 31, 8, 24, 0, 2 }, { 16, 30, 8, 24, 0, 2 }, { 16, 29, 8, 24, 0, 2 }, { 16, 28, 8, 24, 0, 2 }, { 16, 27, 8, 24, 0, 2 }, - { 16, 26, 8, 24, 0, 2 }, { 16, 25, 8, 24, 0, 2 }, { 16, 24, 8, 24, 0, 2 }, { 16, 23, 7, 24, 5, 1 }, { 16, 22, 7, 24, 5, 1 }, - { 16, 21, 7, 24, 5, 1 }, { 16, 20, 7, 24, 5, 1 }, { 16, 19, 7, 24, 5, 1 }, { 16, 18, 7, 24, 5, 1 }, { 16, 17, 6, 24, 5, 1 }, - { 16, 16, 6, 24, 5, 1 }, { 16, 15, 6, 24, 5, 1 }, { 16, 14, 6, 24, 5, 1 }, { 16, 13, 5, 24, 5, 1 }, { 16, 12, 5, 24, 5, 1 }, - { 16, 11, 5, 24, 5, 1 }, { 16, 10, 4, 24, 5, 1 }, { 16, 9, 4, 24, 5, 1 }, { 16, 8, 4, 24, 5, 1 }, { 16, 7, 3, 24, 6, 0 }, - { 16, 6, 3, 24, 6, 0 }, { 16, 5, 2, 24, 6, 0 }, { 16, 4, 2, 24, 6, 0 }, { 16, 3, 1, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, - { 16, 1, 0, 24, 6, 0 }, { 16, 0, 0, 24, 6, 0 }, + 32, { + { 16, 31, 8, 24, 0, 2 }, { 16, 30, 8, 24, 0, 2 }, { 16, 29, 8, 24, 0, 2 }, { 16, 28, 8, 24, 0, 2 }, { 16, 27, 8, 24, 0, 2 }, + { 16, 26, 8, 24, 0, 2 }, { 16, 25, 8, 24, 0, 2 }, { 16, 24, 8, 24, 0, 2 }, { 16, 23, 7, 24, 5, 1 }, { 16, 22, 7, 24, 5, 1 }, + { 16, 21, 7, 24, 5, 1 }, { 16, 20, 7, 24, 5, 1 }, { 16, 19, 7, 24, 5, 1 }, { 16, 18, 7, 24, 5, 1 }, { 16, 17, 6, 24, 5, 1 }, + { 16, 16, 6, 24, 5, 1 }, { 16, 15, 6, 24, 5, 1 }, { 16, 14, 6, 24, 5, 1 }, { 16, 13, 5, 24, 5, 1 }, { 16, 12, 5, 24, 5, 1 }, + { 16, 11, 5, 24, 5, 1 }, { 16, 10, 4, 24, 5, 1 }, { 16, 9, 4, 24, 5, 1 }, { 16, 8, 4, 24, 5, 1 }, { 16, 7, 3, 24, 6, 0 }, + { 16, 6, 3, 24, 6, 0 }, { 16, 5, 2, 24, 6, 0 }, { 16, 4, 2, 24, 6, 0 }, { 16, 3, 1, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, + { 16, 1, 0, 24, 6, 0 }, { 16, 0, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C67AA = { - 32, { - { 31, 16, 8, 0, 0, 4 }, { 30, 16, 8, 0, 0, 4 }, { 29, 16, 8, 0, 0, 4 }, { 28, 16, 8, 0, 0, 4 }, { 27, 16, 8, 0, 0, 4 }, - { 26, 16, 8, 0, 0, 4 }, { 25, 16, 8, 0, 0, 4 }, { 24, 16, 8, 0, 0, 4 }, { 23, 16, 7, 0, 5, 3 }, { 22, 16, 7, 0, 5, 3 }, - { 21, 16, 7, 0, 5, 3 }, { 20, 16, 7, 0, 5, 3 }, { 19, 16, 7, 0, 5, 3 }, { 18, 16, 7, 0, 5, 3 }, { 17, 16, 6, 0, 5, 3 }, - { 16, 16, 6, 0, 5, 3 }, { 15, 16, 6, 0, 5, 3 }, { 14, 16, 6, 0, 5, 3 }, { 13, 16, 5, 0, 5, 3 }, { 12, 16, 5, 0, 5, 3 }, - { 11, 16, 5, 0, 5, 3 }, { 10, 16, 4, 0, 5, 3 }, { 9, 16, 4, 0, 5, 3 }, { 8, 16, 4, 0, 5, 3 }, { 7, 16, 3, 0, 6, 0 }, - { 6, 16, 3, 0, 6, 0 }, { 5, 16, 2, 0, 6, 0 }, { 4, 16, 2, 0, 6, 0 }, { 3, 16, 1, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, - { 1, 16, 0, 0, 6, 0 }, { 0, 16, 0, 0, 6, 0 }, + 32, { + { 31, 16, 8, 0, 0, 4 }, { 30, 16, 8, 0, 0, 4 }, { 29, 16, 8, 0, 0, 4 }, { 28, 16, 8, 0, 0, 4 }, { 27, 16, 8, 0, 0, 4 }, + { 26, 16, 8, 0, 0, 4 }, { 25, 16, 8, 0, 0, 4 }, { 24, 16, 8, 0, 0, 4 }, { 23, 16, 7, 0, 5, 3 }, { 22, 16, 7, 0, 5, 3 }, + { 21, 16, 7, 0, 5, 3 }, { 20, 16, 7, 0, 5, 3 }, { 19, 16, 7, 0, 5, 3 }, { 18, 16, 7, 0, 5, 3 }, { 17, 16, 6, 0, 5, 3 }, + { 16, 16, 6, 0, 5, 3 }, { 15, 16, 6, 0, 5, 3 }, { 14, 16, 6, 0, 5, 3 }, { 13, 16, 5, 0, 5, 3 }, { 12, 16, 5, 0, 5, 3 }, + { 11, 16, 5, 0, 5, 3 }, { 10, 16, 4, 0, 5, 3 }, { 9, 16, 4, 0, 5, 3 }, { 8, 16, 4, 0, 5, 3 }, { 7, 16, 3, 0, 6, 0 }, + { 6, 16, 3, 0, 6, 0 }, { 5, 16, 2, 0, 6, 0 }, { 4, 16, 2, 0, 6, 0 }, { 3, 16, 1, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, + { 1, 16, 0, 0, 6, 0 }, { 0, 16, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C68CC = { - 32, { - { 16, 0, 8, 8, 0, 4 }, { 16, 1, 8, 8, 0, 4 }, { 16, 2, 8, 8, 0, 4 }, { 16, 3, 8, 8, 0, 4 }, { 16, 4, 8, 8, 0, 4 }, - { 16, 5, 8, 8, 0, 4 }, { 16, 6, 8, 8, 0, 4 }, { 16, 7, 8, 8, 0, 4 }, { 16, 8, 7, 8, 5, 3 }, { 16, 9, 7, 8, 5, 3 }, - { 16, 10, 7, 8, 5, 3 }, { 16, 11, 7, 8, 5, 3 }, { 16, 12, 7, 8, 5, 3 }, { 16, 13, 7, 8, 5, 3 }, { 16, 14, 6, 8, 5, 3 }, - { 16, 15, 6, 8, 5, 3 }, { 16, 16, 6, 8, 5, 3 }, { 16, 17, 6, 8, 5, 3 }, { 16, 18, 5, 8, 5, 3 }, { 16, 19, 5, 8, 5, 3 }, - { 16, 20, 5, 8, 5, 3 }, { 16, 21, 4, 8, 5, 3 }, { 16, 22, 4, 8, 5, 3 }, { 16, 23, 4, 8, 5, 3 }, { 16, 24, 3, 8, 6, 0 }, - { 16, 25, 3, 8, 6, 0 }, { 16, 26, 2, 8, 6, 0 }, { 16, 27, 2, 8, 6, 0 }, { 16, 28, 1, 8, 6, 0 }, { 16, 29, 1, 8, 6, 0 }, - { 16, 30, 0, 8, 6, 0 }, { 16, 31, 0, 8, 6, 0 }, + 32, { + { 16, 0, 8, 8, 0, 4 }, { 16, 1, 8, 8, 0, 4 }, { 16, 2, 8, 8, 0, 4 }, { 16, 3, 8, 8, 0, 4 }, { 16, 4, 8, 8, 0, 4 }, + { 16, 5, 8, 8, 0, 4 }, { 16, 6, 8, 8, 0, 4 }, { 16, 7, 8, 8, 0, 4 }, { 16, 8, 7, 8, 5, 3 }, { 16, 9, 7, 8, 5, 3 }, + { 16, 10, 7, 8, 5, 3 }, { 16, 11, 7, 8, 5, 3 }, { 16, 12, 7, 8, 5, 3 }, { 16, 13, 7, 8, 5, 3 }, { 16, 14, 6, 8, 5, 3 }, + { 16, 15, 6, 8, 5, 3 }, { 16, 16, 6, 8, 5, 3 }, { 16, 17, 6, 8, 5, 3 }, { 16, 18, 5, 8, 5, 3 }, { 16, 19, 5, 8, 5, 3 }, + { 16, 20, 5, 8, 5, 3 }, { 16, 21, 4, 8, 5, 3 }, { 16, 22, 4, 8, 5, 3 }, { 16, 23, 4, 8, 5, 3 }, { 16, 24, 3, 8, 6, 0 }, + { 16, 25, 3, 8, 6, 0 }, { 16, 26, 2, 8, 6, 0 }, { 16, 27, 2, 8, 6, 0 }, { 16, 28, 1, 8, 6, 0 }, { 16, 29, 1, 8, 6, 0 }, + { 16, 30, 0, 8, 6, 0 }, { 16, 31, 0, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C69EE = { - 32, { - { 0, 16, 8, 16, 0, 4 }, { 1, 16, 8, 16, 0, 4 }, { 2, 16, 8, 16, 0, 4 }, { 3, 16, 8, 16, 0, 4 }, { 4, 16, 8, 16, 0, 4 }, - { 5, 16, 8, 16, 0, 4 }, { 6, 16, 8, 16, 0, 4 }, { 7, 16, 8, 16, 0, 4 }, { 8, 16, 7, 16, 5, 3 }, { 9, 16, 7, 16, 5, 3 }, - { 10, 16, 7, 16, 5, 3 }, { 11, 16, 7, 16, 5, 3 }, { 12, 16, 7, 16, 5, 3 }, { 13, 16, 7, 16, 5, 3 }, { 14, 16, 6, 16, 5, 3 }, - { 15, 16, 6, 16, 5, 3 }, { 16, 16, 6, 16, 5, 3 }, { 17, 16, 6, 16, 5, 3 }, { 18, 16, 5, 16, 5, 3 }, { 19, 16, 5, 16, 5, 3 }, - { 20, 16, 5, 16, 5, 3 }, { 21, 16, 4, 16, 5, 3 }, { 22, 16, 4, 16, 5, 3 }, { 23, 16, 4, 16, 5, 3 }, { 24, 16, 3, 16, 6, 0 }, - { 25, 16, 3, 16, 6, 0 }, { 26, 16, 2, 16, 6, 0 }, { 27, 16, 2, 16, 6, 0 }, { 28, 16, 1, 16, 6, 0 }, { 29, 16, 1, 16, 6, 0 }, - { 30, 16, 0, 16, 6, 0 }, { 31, 16, 0, 16, 6, 0 }, + 32, { + { 0, 16, 8, 16, 0, 4 }, { 1, 16, 8, 16, 0, 4 }, { 2, 16, 8, 16, 0, 4 }, { 3, 16, 8, 16, 0, 4 }, { 4, 16, 8, 16, 0, 4 }, + { 5, 16, 8, 16, 0, 4 }, { 6, 16, 8, 16, 0, 4 }, { 7, 16, 8, 16, 0, 4 }, { 8, 16, 7, 16, 5, 3 }, { 9, 16, 7, 16, 5, 3 }, + { 10, 16, 7, 16, 5, 3 }, { 11, 16, 7, 16, 5, 3 }, { 12, 16, 7, 16, 5, 3 }, { 13, 16, 7, 16, 5, 3 }, { 14, 16, 6, 16, 5, 3 }, + { 15, 16, 6, 16, 5, 3 }, { 16, 16, 6, 16, 5, 3 }, { 17, 16, 6, 16, 5, 3 }, { 18, 16, 5, 16, 5, 3 }, { 19, 16, 5, 16, 5, 3 }, + { 20, 16, 5, 16, 5, 3 }, { 21, 16, 4, 16, 5, 3 }, { 22, 16, 4, 16, 5, 3 }, { 23, 16, 4, 16, 5, 3 }, { 24, 16, 3, 16, 6, 0 }, + { 25, 16, 3, 16, 6, 0 }, { 26, 16, 2, 16, 6, 0 }, { 27, 16, 2, 16, 6, 0 }, { 28, 16, 1, 16, 6, 0 }, { 29, 16, 1, 16, 6, 0 }, + { 30, 16, 0, 16, 6, 0 }, { 31, 16, 0, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C6B10 = { - 32, { - { 16, 31, 8, 24, 0, 4 }, { 16, 30, 8, 24, 0, 4 }, { 16, 29, 8, 24, 0, 4 }, { 16, 28, 8, 24, 0, 4 }, { 16, 27, 8, 24, 0, 4 }, - { 16, 26, 8, 24, 0, 4 }, { 16, 25, 8, 24, 0, 4 }, { 16, 24, 8, 24, 0, 4 }, { 16, 23, 7, 24, 5, 3 }, { 16, 22, 7, 24, 5, 3 }, - { 16, 21, 7, 24, 5, 3 }, { 16, 20, 7, 24, 5, 3 }, { 16, 19, 7, 24, 5, 3 }, { 16, 18, 7, 24, 5, 3 }, { 16, 17, 6, 24, 5, 3 }, - { 16, 16, 6, 24, 5, 3 }, { 16, 15, 6, 24, 5, 3 }, { 16, 14, 6, 24, 5, 3 }, { 16, 13, 5, 24, 5, 3 }, { 16, 12, 5, 24, 5, 3 }, - { 16, 11, 5, 24, 5, 3 }, { 16, 10, 4, 24, 5, 3 }, { 16, 9, 4, 24, 5, 3 }, { 16, 8, 4, 24, 5, 3 }, { 16, 7, 3, 24, 6, 0 }, - { 16, 6, 3, 24, 6, 0 }, { 16, 5, 2, 24, 6, 0 }, { 16, 4, 2, 24, 6, 0 }, { 16, 3, 1, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, - { 16, 1, 0, 24, 6, 0 }, { 16, 0, 0, 24, 6, 0 }, + 32, { + { 16, 31, 8, 24, 0, 4 }, { 16, 30, 8, 24, 0, 4 }, { 16, 29, 8, 24, 0, 4 }, { 16, 28, 8, 24, 0, 4 }, { 16, 27, 8, 24, 0, 4 }, + { 16, 26, 8, 24, 0, 4 }, { 16, 25, 8, 24, 0, 4 }, { 16, 24, 8, 24, 0, 4 }, { 16, 23, 7, 24, 5, 3 }, { 16, 22, 7, 24, 5, 3 }, + { 16, 21, 7, 24, 5, 3 }, { 16, 20, 7, 24, 5, 3 }, { 16, 19, 7, 24, 5, 3 }, { 16, 18, 7, 24, 5, 3 }, { 16, 17, 6, 24, 5, 3 }, + { 16, 16, 6, 24, 5, 3 }, { 16, 15, 6, 24, 5, 3 }, { 16, 14, 6, 24, 5, 3 }, { 16, 13, 5, 24, 5, 3 }, { 16, 12, 5, 24, 5, 3 }, + { 16, 11, 5, 24, 5, 3 }, { 16, 10, 4, 24, 5, 3 }, { 16, 9, 4, 24, 5, 3 }, { 16, 8, 4, 24, 5, 3 }, { 16, 7, 3, 24, 6, 0 }, + { 16, 6, 3, 24, 6, 0 }, { 16, 5, 2, 24, 6, 0 }, { 16, 4, 2, 24, 6, 0 }, { 16, 3, 1, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, + { 16, 1, 0, 24, 6, 0 }, { 16, 0, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C5A12 = { - 32, { - { 31, 16, 7, 0, 6, 0 }, { 30, 16, 7, 0, 6, 0 }, { 29, 16, 6, 0, 6, 0 }, { 28, 16, 6, 0, 6, 0 }, { 27, 16, 5, 0, 6, 0 }, - { 26, 16, 5, 0, 6, 0 }, { 25, 16, 4, 0, 6, 0 }, { 24, 16, 4, 0, 6, 0 }, { 23, 16, 4, 0, 5, 1 }, { 22, 16, 3, 0, 5, 1 }, - { 21, 16, 3, 0, 5, 1 }, { 20, 16, 3, 0, 5, 1 }, { 19, 16, 2, 0, 5, 1 }, { 18, 16, 2, 0, 5, 1 }, { 17, 16, 2, 0, 5, 1 }, - { 16, 16, 2, 0, 5, 1 }, { 15, 16, 1, 0, 5, 1 }, { 14, 16, 1, 0, 5, 1 }, { 13, 16, 1, 0, 5, 1 }, { 12, 16, 1, 0, 5, 1 }, - { 11, 16, 1, 0, 5, 1 }, { 10, 16, 1, 0, 5, 1 }, { 9, 16, 0, 0, 0, 2 }, { 8, 16, 0, 0, 0, 2 }, { 7, 16, 0, 0, 0, 2 }, - { 6, 16, 0, 0, 0, 2 }, { 5, 16, 0, 0, 0, 2 }, { 4, 16, 0, 0, 0, 2 }, { 3, 16, 0, 0, 0, 2 }, { 2, 16, 0, 0, 0, 2 }, - { 1, 16, 0, 0, 0, 2 }, { 0, 16, 0, 0, 0, 2 }, + 32, { + { 31, 16, 7, 0, 6, 0 }, { 30, 16, 7, 0, 6, 0 }, { 29, 16, 6, 0, 6, 0 }, { 28, 16, 6, 0, 6, 0 }, { 27, 16, 5, 0, 6, 0 }, + { 26, 16, 5, 0, 6, 0 }, { 25, 16, 4, 0, 6, 0 }, { 24, 16, 4, 0, 6, 0 }, { 23, 16, 4, 0, 5, 1 }, { 22, 16, 3, 0, 5, 1 }, + { 21, 16, 3, 0, 5, 1 }, { 20, 16, 3, 0, 5, 1 }, { 19, 16, 2, 0, 5, 1 }, { 18, 16, 2, 0, 5, 1 }, { 17, 16, 2, 0, 5, 1 }, + { 16, 16, 2, 0, 5, 1 }, { 15, 16, 1, 0, 5, 1 }, { 14, 16, 1, 0, 5, 1 }, { 13, 16, 1, 0, 5, 1 }, { 12, 16, 1, 0, 5, 1 }, + { 11, 16, 1, 0, 5, 1 }, { 10, 16, 1, 0, 5, 1 }, { 9, 16, 0, 0, 0, 2 }, { 8, 16, 0, 0, 0, 2 }, { 7, 16, 0, 0, 0, 2 }, + { 6, 16, 0, 0, 0, 2 }, { 5, 16, 0, 0, 0, 2 }, { 4, 16, 0, 0, 0, 2 }, { 3, 16, 0, 0, 0, 2 }, { 2, 16, 0, 0, 0, 2 }, + { 1, 16, 0, 0, 0, 2 }, { 0, 16, 0, 0, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C5B34 = { - 32, { - { 16, 0, 7, 8, 6, 0 }, { 16, 1, 7, 8, 6, 0 }, { 16, 2, 6, 8, 6, 0 }, { 16, 3, 6, 8, 6, 0 }, { 16, 4, 5, 8, 6, 0 }, - { 16, 5, 5, 8, 6, 0 }, { 16, 6, 4, 8, 6, 0 }, { 16, 7, 4, 8, 6, 0 }, { 16, 8, 4, 8, 5, 1 }, { 16, 9, 3, 8, 5, 1 }, - { 16, 10, 3, 8, 5, 1 }, { 16, 11, 3, 8, 5, 1 }, { 16, 12, 2, 8, 5, 1 }, { 16, 13, 2, 8, 5, 1 }, { 16, 14, 2, 8, 5, 1 }, - { 16, 15, 2, 8, 5, 1 }, { 16, 16, 1, 8, 5, 1 }, { 16, 17, 1, 8, 5, 1 }, { 16, 18, 1, 8, 5, 1 }, { 16, 19, 1, 8, 5, 1 }, - { 16, 20, 1, 8, 5, 1 }, { 16, 21, 1, 8, 5, 1 }, { 16, 22, 0, 8, 0, 2 }, { 16, 23, 0, 8, 0, 2 }, { 16, 24, 0, 8, 0, 2 }, - { 16, 25, 0, 8, 0, 2 }, { 16, 26, 0, 8, 0, 2 }, { 16, 27, 0, 8, 0, 2 }, { 16, 28, 0, 8, 0, 2 }, { 16, 29, 0, 8, 0, 2 }, - { 16, 30, 0, 8, 0, 2 }, { 16, 31, 0, 8, 0, 2 }, + 32, { + { 16, 0, 7, 8, 6, 0 }, { 16, 1, 7, 8, 6, 0 }, { 16, 2, 6, 8, 6, 0 }, { 16, 3, 6, 8, 6, 0 }, { 16, 4, 5, 8, 6, 0 }, + { 16, 5, 5, 8, 6, 0 }, { 16, 6, 4, 8, 6, 0 }, { 16, 7, 4, 8, 6, 0 }, { 16, 8, 4, 8, 5, 1 }, { 16, 9, 3, 8, 5, 1 }, + { 16, 10, 3, 8, 5, 1 }, { 16, 11, 3, 8, 5, 1 }, { 16, 12, 2, 8, 5, 1 }, { 16, 13, 2, 8, 5, 1 }, { 16, 14, 2, 8, 5, 1 }, + { 16, 15, 2, 8, 5, 1 }, { 16, 16, 1, 8, 5, 1 }, { 16, 17, 1, 8, 5, 1 }, { 16, 18, 1, 8, 5, 1 }, { 16, 19, 1, 8, 5, 1 }, + { 16, 20, 1, 8, 5, 1 }, { 16, 21, 1, 8, 5, 1 }, { 16, 22, 0, 8, 0, 2 }, { 16, 23, 0, 8, 0, 2 }, { 16, 24, 0, 8, 0, 2 }, + { 16, 25, 0, 8, 0, 2 }, { 16, 26, 0, 8, 0, 2 }, { 16, 27, 0, 8, 0, 2 }, { 16, 28, 0, 8, 0, 2 }, { 16, 29, 0, 8, 0, 2 }, + { 16, 30, 0, 8, 0, 2 }, { 16, 31, 0, 8, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C5C56 = { - 32, { - { 0, 16, 7, 16, 6, 0 }, { 1, 16, 7, 16, 6, 0 }, { 2, 16, 6, 16, 6, 0 }, { 3, 16, 6, 16, 6, 0 }, { 4, 16, 5, 16, 6, 0 }, - { 5, 16, 5, 16, 6, 0 }, { 6, 16, 4, 16, 6, 0 }, { 7, 16, 4, 16, 6, 0 }, { 8, 16, 4, 16, 5, 1 }, { 9, 16, 3, 16, 5, 1 }, - { 10, 16, 3, 16, 5, 1 }, { 11, 16, 3, 16, 5, 1 }, { 12, 16, 2, 16, 5, 1 }, { 13, 16, 2, 16, 5, 1 }, { 14, 16, 2, 16, 5, 1 }, - { 15, 16, 2, 16, 5, 1 }, { 16, 16, 1, 16, 5, 1 }, { 17, 16, 1, 16, 5, 1 }, { 18, 16, 1, 16, 5, 1 }, { 19, 16, 1, 16, 5, 1 }, - { 20, 16, 1, 16, 5, 1 }, { 21, 16, 1, 16, 5, 1 }, { 22, 16, 0, 16, 0, 2 }, { 23, 16, 0, 16, 0, 2 }, { 24, 16, 0, 16, 0, 2 }, - { 25, 16, 0, 16, 0, 2 }, { 26, 16, 0, 16, 0, 2 }, { 27, 16, 0, 16, 0, 2 }, { 28, 16, 0, 16, 0, 2 }, { 29, 16, 0, 16, 0, 2 }, - { 30, 16, 0, 16, 0, 2 }, { 31, 16, 0, 16, 0, 2 }, + 32, { + { 0, 16, 7, 16, 6, 0 }, { 1, 16, 7, 16, 6, 0 }, { 2, 16, 6, 16, 6, 0 }, { 3, 16, 6, 16, 6, 0 }, { 4, 16, 5, 16, 6, 0 }, + { 5, 16, 5, 16, 6, 0 }, { 6, 16, 4, 16, 6, 0 }, { 7, 16, 4, 16, 6, 0 }, { 8, 16, 4, 16, 5, 1 }, { 9, 16, 3, 16, 5, 1 }, + { 10, 16, 3, 16, 5, 1 }, { 11, 16, 3, 16, 5, 1 }, { 12, 16, 2, 16, 5, 1 }, { 13, 16, 2, 16, 5, 1 }, { 14, 16, 2, 16, 5, 1 }, + { 15, 16, 2, 16, 5, 1 }, { 16, 16, 1, 16, 5, 1 }, { 17, 16, 1, 16, 5, 1 }, { 18, 16, 1, 16, 5, 1 }, { 19, 16, 1, 16, 5, 1 }, + { 20, 16, 1, 16, 5, 1 }, { 21, 16, 1, 16, 5, 1 }, { 22, 16, 0, 16, 0, 2 }, { 23, 16, 0, 16, 0, 2 }, { 24, 16, 0, 16, 0, 2 }, + { 25, 16, 0, 16, 0, 2 }, { 26, 16, 0, 16, 0, 2 }, { 27, 16, 0, 16, 0, 2 }, { 28, 16, 0, 16, 0, 2 }, { 29, 16, 0, 16, 0, 2 }, + { 30, 16, 0, 16, 0, 2 }, { 31, 16, 0, 16, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C5D78 = { - 32, { - { 16, 31, 7, 24, 6, 0 }, { 16, 30, 7, 24, 6, 0 }, { 16, 29, 6, 24, 6, 0 }, { 16, 28, 6, 24, 6, 0 }, { 16, 27, 5, 24, 6, 0 }, - { 16, 26, 5, 24, 6, 0 }, { 16, 25, 4, 24, 6, 0 }, { 16, 24, 4, 24, 6, 0 }, { 16, 23, 4, 24, 5, 1 }, { 16, 22, 3, 24, 5, 1 }, - { 16, 21, 3, 24, 5, 1 }, { 16, 20, 3, 24, 5, 1 }, { 16, 19, 2, 24, 5, 1 }, { 16, 18, 2, 24, 5, 1 }, { 16, 17, 2, 24, 5, 1 }, - { 16, 16, 2, 24, 5, 1 }, { 16, 15, 1, 24, 5, 1 }, { 16, 14, 1, 24, 5, 1 }, { 16, 13, 1, 24, 5, 1 }, { 16, 12, 1, 24, 5, 1 }, - { 16, 11, 1, 24, 5, 1 }, { 16, 10, 1, 24, 5, 1 }, { 16, 9, 0, 24, 0, 2 }, { 16, 8, 0, 24, 0, 2 }, { 16, 7, 0, 24, 0, 2 }, - { 16, 6, 0, 24, 0, 2 }, { 16, 5, 0, 24, 0, 2 }, { 16, 4, 0, 24, 0, 2 }, { 16, 3, 0, 24, 0, 2 }, { 16, 2, 0, 24, 0, 2 }, - { 16, 1, 0, 24, 0, 2 }, { 16, 0, 0, 24, 0, 2 }, + 32, { + { 16, 31, 7, 24, 6, 0 }, { 16, 30, 7, 24, 6, 0 }, { 16, 29, 6, 24, 6, 0 }, { 16, 28, 6, 24, 6, 0 }, { 16, 27, 5, 24, 6, 0 }, + { 16, 26, 5, 24, 6, 0 }, { 16, 25, 4, 24, 6, 0 }, { 16, 24, 4, 24, 6, 0 }, { 16, 23, 4, 24, 5, 1 }, { 16, 22, 3, 24, 5, 1 }, + { 16, 21, 3, 24, 5, 1 }, { 16, 20, 3, 24, 5, 1 }, { 16, 19, 2, 24, 5, 1 }, { 16, 18, 2, 24, 5, 1 }, { 16, 17, 2, 24, 5, 1 }, + { 16, 16, 2, 24, 5, 1 }, { 16, 15, 1, 24, 5, 1 }, { 16, 14, 1, 24, 5, 1 }, { 16, 13, 1, 24, 5, 1 }, { 16, 12, 1, 24, 5, 1 }, + { 16, 11, 1, 24, 5, 1 }, { 16, 10, 1, 24, 5, 1 }, { 16, 9, 0, 24, 0, 2 }, { 16, 8, 0, 24, 0, 2 }, { 16, 7, 0, 24, 0, 2 }, + { 16, 6, 0, 24, 0, 2 }, { 16, 5, 0, 24, 0, 2 }, { 16, 4, 0, 24, 0, 2 }, { 16, 3, 0, 24, 0, 2 }, { 16, 2, 0, 24, 0, 2 }, + { 16, 1, 0, 24, 0, 2 }, { 16, 0, 0, 24, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C5E9A = { - 32, { - { 31, 16, 7, 0, 6, 0 }, { 30, 16, 7, 0, 6, 0 }, { 29, 16, 6, 0, 6, 0 }, { 28, 16, 6, 0, 6, 0 }, { 27, 16, 5, 0, 6, 0 }, - { 26, 16, 5, 0, 6, 0 }, { 25, 16, 4, 0, 6, 0 }, { 24, 16, 4, 0, 6, 0 }, { 23, 16, 4, 0, 5, 3 }, { 22, 16, 3, 0, 5, 3 }, - { 21, 16, 3, 0, 5, 3 }, { 20, 16, 3, 0, 5, 3 }, { 19, 16, 2, 0, 5, 3 }, { 18, 16, 2, 0, 5, 3 }, { 17, 16, 2, 0, 5, 3 }, - { 16, 16, 2, 0, 5, 3 }, { 15, 16, 1, 0, 5, 3 }, { 14, 16, 1, 0, 5, 3 }, { 13, 16, 1, 0, 5, 3 }, { 12, 16, 1, 0, 5, 3 }, - { 11, 16, 1, 0, 5, 3 }, { 10, 16, 1, 0, 5, 3 }, { 9, 16, 0, 0, 0, 4 }, { 8, 16, 0, 0, 0, 4 }, { 7, 16, 0, 0, 0, 4 }, - { 6, 16, 0, 0, 0, 4 }, { 5, 16, 0, 0, 0, 4 }, { 4, 16, 0, 0, 0, 4 }, { 3, 16, 0, 0, 0, 4 }, { 2, 16, 0, 0, 0, 4 }, - { 1, 16, 0, 0, 0, 4 }, { 0, 16, 0, 0, 0, 4 }, + 32, { + { 31, 16, 7, 0, 6, 0 }, { 30, 16, 7, 0, 6, 0 }, { 29, 16, 6, 0, 6, 0 }, { 28, 16, 6, 0, 6, 0 }, { 27, 16, 5, 0, 6, 0 }, + { 26, 16, 5, 0, 6, 0 }, { 25, 16, 4, 0, 6, 0 }, { 24, 16, 4, 0, 6, 0 }, { 23, 16, 4, 0, 5, 3 }, { 22, 16, 3, 0, 5, 3 }, + { 21, 16, 3, 0, 5, 3 }, { 20, 16, 3, 0, 5, 3 }, { 19, 16, 2, 0, 5, 3 }, { 18, 16, 2, 0, 5, 3 }, { 17, 16, 2, 0, 5, 3 }, + { 16, 16, 2, 0, 5, 3 }, { 15, 16, 1, 0, 5, 3 }, { 14, 16, 1, 0, 5, 3 }, { 13, 16, 1, 0, 5, 3 }, { 12, 16, 1, 0, 5, 3 }, + { 11, 16, 1, 0, 5, 3 }, { 10, 16, 1, 0, 5, 3 }, { 9, 16, 0, 0, 0, 4 }, { 8, 16, 0, 0, 0, 4 }, { 7, 16, 0, 0, 0, 4 }, + { 6, 16, 0, 0, 0, 4 }, { 5, 16, 0, 0, 0, 4 }, { 4, 16, 0, 0, 0, 4 }, { 3, 16, 0, 0, 0, 4 }, { 2, 16, 0, 0, 0, 4 }, + { 1, 16, 0, 0, 0, 4 }, { 0, 16, 0, 0, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C5FBC = { - 32, { - { 16, 0, 7, 8, 6, 0 }, { 16, 1, 7, 8, 6, 0 }, { 16, 2, 6, 8, 6, 0 }, { 16, 3, 6, 8, 6, 0 }, { 16, 4, 5, 8, 6, 0 }, - { 16, 5, 5, 8, 6, 0 }, { 16, 6, 4, 8, 6, 0 }, { 16, 7, 4, 8, 6, 0 }, { 16, 8, 4, 8, 5, 3 }, { 16, 9, 3, 8, 5, 3 }, - { 16, 10, 3, 8, 5, 3 }, { 16, 11, 3, 8, 5, 3 }, { 16, 12, 2, 8, 5, 3 }, { 16, 13, 2, 8, 5, 3 }, { 16, 14, 2, 8, 5, 3 }, - { 16, 15, 2, 8, 5, 3 }, { 16, 16, 1, 8, 5, 3 }, { 16, 17, 1, 8, 5, 3 }, { 16, 18, 1, 8, 5, 3 }, { 16, 19, 1, 8, 5, 3 }, - { 16, 20, 1, 8, 5, 3 }, { 16, 21, 1, 8, 5, 3 }, { 16, 22, 0, 8, 0, 4 }, { 16, 23, 0, 8, 0, 4 }, { 16, 24, 0, 8, 0, 4 }, - { 16, 25, 0, 8, 0, 4 }, { 16, 26, 0, 8, 0, 4 }, { 16, 27, 0, 8, 0, 4 }, { 16, 28, 0, 8, 0, 4 }, { 16, 29, 0, 8, 0, 4 }, - { 16, 30, 0, 8, 0, 4 }, { 16, 31, 0, 8, 0, 4 }, + 32, { + { 16, 0, 7, 8, 6, 0 }, { 16, 1, 7, 8, 6, 0 }, { 16, 2, 6, 8, 6, 0 }, { 16, 3, 6, 8, 6, 0 }, { 16, 4, 5, 8, 6, 0 }, + { 16, 5, 5, 8, 6, 0 }, { 16, 6, 4, 8, 6, 0 }, { 16, 7, 4, 8, 6, 0 }, { 16, 8, 4, 8, 5, 3 }, { 16, 9, 3, 8, 5, 3 }, + { 16, 10, 3, 8, 5, 3 }, { 16, 11, 3, 8, 5, 3 }, { 16, 12, 2, 8, 5, 3 }, { 16, 13, 2, 8, 5, 3 }, { 16, 14, 2, 8, 5, 3 }, + { 16, 15, 2, 8, 5, 3 }, { 16, 16, 1, 8, 5, 3 }, { 16, 17, 1, 8, 5, 3 }, { 16, 18, 1, 8, 5, 3 }, { 16, 19, 1, 8, 5, 3 }, + { 16, 20, 1, 8, 5, 3 }, { 16, 21, 1, 8, 5, 3 }, { 16, 22, 0, 8, 0, 4 }, { 16, 23, 0, 8, 0, 4 }, { 16, 24, 0, 8, 0, 4 }, + { 16, 25, 0, 8, 0, 4 }, { 16, 26, 0, 8, 0, 4 }, { 16, 27, 0, 8, 0, 4 }, { 16, 28, 0, 8, 0, 4 }, { 16, 29, 0, 8, 0, 4 }, + { 16, 30, 0, 8, 0, 4 }, { 16, 31, 0, 8, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C60DE = { - 32, { - { 0, 16, 7, 16, 6, 0 }, { 1, 16, 7, 16, 6, 0 }, { 2, 16, 6, 16, 6, 0 }, { 3, 16, 6, 16, 6, 0 }, { 4, 16, 5, 16, 6, 0 }, - { 5, 16, 5, 16, 6, 0 }, { 6, 16, 4, 16, 6, 0 }, { 7, 16, 4, 16, 6, 0 }, { 8, 16, 4, 16, 5, 3 }, { 9, 16, 3, 16, 5, 3 }, - { 10, 16, 3, 16, 5, 3 }, { 11, 16, 3, 16, 5, 3 }, { 12, 16, 2, 16, 5, 3 }, { 13, 16, 2, 16, 5, 3 }, { 14, 16, 2, 16, 5, 3 }, - { 15, 16, 2, 16, 5, 3 }, { 16, 16, 1, 16, 5, 3 }, { 17, 16, 1, 16, 5, 3 }, { 18, 16, 1, 16, 5, 3 }, { 19, 16, 1, 16, 5, 3 }, - { 20, 16, 1, 16, 5, 3 }, { 21, 16, 1, 16, 5, 3 }, { 22, 16, 0, 16, 0, 4 }, { 23, 16, 0, 16, 0, 4 }, { 24, 16, 0, 16, 0, 4 }, - { 25, 16, 0, 16, 0, 4 }, { 26, 16, 0, 16, 0, 4 }, { 27, 16, 0, 16, 0, 4 }, { 28, 16, 0, 16, 0, 4 }, { 29, 16, 0, 16, 0, 4 }, - { 30, 16, 0, 16, 0, 4 }, { 31, 16, 0, 16, 0, 4 }, + 32, { + { 0, 16, 7, 16, 6, 0 }, { 1, 16, 7, 16, 6, 0 }, { 2, 16, 6, 16, 6, 0 }, { 3, 16, 6, 16, 6, 0 }, { 4, 16, 5, 16, 6, 0 }, + { 5, 16, 5, 16, 6, 0 }, { 6, 16, 4, 16, 6, 0 }, { 7, 16, 4, 16, 6, 0 }, { 8, 16, 4, 16, 5, 3 }, { 9, 16, 3, 16, 5, 3 }, + { 10, 16, 3, 16, 5, 3 }, { 11, 16, 3, 16, 5, 3 }, { 12, 16, 2, 16, 5, 3 }, { 13, 16, 2, 16, 5, 3 }, { 14, 16, 2, 16, 5, 3 }, + { 15, 16, 2, 16, 5, 3 }, { 16, 16, 1, 16, 5, 3 }, { 17, 16, 1, 16, 5, 3 }, { 18, 16, 1, 16, 5, 3 }, { 19, 16, 1, 16, 5, 3 }, + { 20, 16, 1, 16, 5, 3 }, { 21, 16, 1, 16, 5, 3 }, { 22, 16, 0, 16, 0, 4 }, { 23, 16, 0, 16, 0, 4 }, { 24, 16, 0, 16, 0, 4 }, + { 25, 16, 0, 16, 0, 4 }, { 26, 16, 0, 16, 0, 4 }, { 27, 16, 0, 16, 0, 4 }, { 28, 16, 0, 16, 0, 4 }, { 29, 16, 0, 16, 0, 4 }, + { 30, 16, 0, 16, 0, 4 }, { 31, 16, 0, 16, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C6200 = { - 32, { - { 16, 31, 7, 24, 6, 0 }, { 16, 30, 7, 24, 6, 0 }, { 16, 29, 6, 24, 6, 0 }, { 16, 28, 6, 24, 6, 0 }, { 16, 27, 5, 24, 6, 0 }, - { 16, 26, 5, 24, 6, 0 }, { 16, 25, 4, 24, 6, 0 }, { 16, 24, 4, 24, 6, 0 }, { 16, 23, 4, 24, 5, 3 }, { 16, 22, 3, 24, 5, 3 }, - { 16, 21, 3, 24, 5, 3 }, { 16, 20, 3, 24, 5, 3 }, { 16, 19, 2, 24, 5, 3 }, { 16, 18, 2, 24, 5, 3 }, { 16, 17, 2, 24, 5, 3 }, - { 16, 16, 2, 24, 5, 3 }, { 16, 15, 1, 24, 5, 3 }, { 16, 14, 1, 24, 5, 3 }, { 16, 13, 1, 24, 5, 3 }, { 16, 12, 1, 24, 5, 3 }, - { 16, 11, 1, 24, 5, 3 }, { 16, 10, 1, 24, 5, 3 }, { 16, 9, 0, 24, 0, 4 }, { 16, 8, 0, 24, 0, 4 }, { 16, 7, 0, 24, 0, 4 }, - { 16, 6, 0, 24, 0, 4 }, { 16, 5, 0, 24, 0, 4 }, { 16, 4, 0, 24, 0, 4 }, { 16, 3, 0, 24, 0, 4 }, { 16, 2, 0, 24, 0, 4 }, - { 16, 1, 0, 24, 0, 4 }, { 16, 0, 0, 24, 0, 4 }, + 32, { + { 16, 31, 7, 24, 6, 0 }, { 16, 30, 7, 24, 6, 0 }, { 16, 29, 6, 24, 6, 0 }, { 16, 28, 6, 24, 6, 0 }, { 16, 27, 5, 24, 6, 0 }, + { 16, 26, 5, 24, 6, 0 }, { 16, 25, 4, 24, 6, 0 }, { 16, 24, 4, 24, 6, 0 }, { 16, 23, 4, 24, 5, 3 }, { 16, 22, 3, 24, 5, 3 }, + { 16, 21, 3, 24, 5, 3 }, { 16, 20, 3, 24, 5, 3 }, { 16, 19, 2, 24, 5, 3 }, { 16, 18, 2, 24, 5, 3 }, { 16, 17, 2, 24, 5, 3 }, + { 16, 16, 2, 24, 5, 3 }, { 16, 15, 1, 24, 5, 3 }, { 16, 14, 1, 24, 5, 3 }, { 16, 13, 1, 24, 5, 3 }, { 16, 12, 1, 24, 5, 3 }, + { 16, 11, 1, 24, 5, 3 }, { 16, 10, 1, 24, 5, 3 }, { 16, 9, 0, 24, 0, 4 }, { 16, 8, 0, 24, 0, 4 }, { 16, 7, 0, 24, 0, 4 }, + { 16, 6, 0, 24, 0, 4 }, { 16, 5, 0, 24, 0, 4 }, { 16, 4, 0, 24, 0, 4 }, { 16, 3, 0, 24, 0, 4 }, { 16, 2, 0, 24, 0, 4 }, + { 16, 1, 0, 24, 0, 4 }, { 16, 0, 0, 24, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BEA02 = { - 32, { - { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 0, 0, 2 }, - { 26, 16, 0, 0, 0, 2 }, { 25, 16, 0, 0, 0, 2 }, { 24, 16, 0, 0, 0, 2 }, { 23, 16, 0, 0, 0, 2 }, { 22, 16, 0, 0, 0, 2 }, - { 21, 16, 0, 0, 0, 2 }, { 20, 16, 0, 0, 0, 2 }, { 19, 16, 0, 0, 0, 2 }, { 18, 16, 0, 0, 0, 2 }, { 17, 16, 0, 0, 0, 2 }, - { 16, 16, 0, 0, 0, 2 }, { 15, 16, 0, 0, 0, 2 }, { 14, 16, 0, 0, 0, 2 }, { 13, 16, 0, 0, 0, 2 }, { 12, 16, 0, 0, 0, 2 }, - { 11, 16, 0, 0, 0, 2 }, { 10, 16, 0, 0, 0, 2 }, { 9, 16, 0, 0, 0, 2 }, { 8, 16, 0, 0, 0, 2 }, { 7, 16, 0, 0, 0, 2 }, - { 6, 16, 0, 0, 0, 2 }, { 5, 16, 0, 0, 0, 2 }, { 4, 16, 0, 0, 0, 2 }, { 3, 16, 0, 0, 0, 2 }, { 2, 16, 0, 0, 0, 2 }, - { 1, 16, 0, 0, 0, 2 }, { 0, 16, 0, 0, 0, 2 }, + 32, { + { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 0, 0, 2 }, + { 26, 16, 0, 0, 0, 2 }, { 25, 16, 0, 0, 0, 2 }, { 24, 16, 0, 0, 0, 2 }, { 23, 16, 0, 0, 0, 2 }, { 22, 16, 0, 0, 0, 2 }, + { 21, 16, 0, 0, 0, 2 }, { 20, 16, 0, 0, 0, 2 }, { 19, 16, 0, 0, 0, 2 }, { 18, 16, 0, 0, 0, 2 }, { 17, 16, 0, 0, 0, 2 }, + { 16, 16, 0, 0, 0, 2 }, { 15, 16, 0, 0, 0, 2 }, { 14, 16, 0, 0, 0, 2 }, { 13, 16, 0, 0, 0, 2 }, { 12, 16, 0, 0, 0, 2 }, + { 11, 16, 0, 0, 0, 2 }, { 10, 16, 0, 0, 0, 2 }, { 9, 16, 0, 0, 0, 2 }, { 8, 16, 0, 0, 0, 2 }, { 7, 16, 0, 0, 0, 2 }, + { 6, 16, 0, 0, 0, 2 }, { 5, 16, 0, 0, 0, 2 }, { 4, 16, 0, 0, 0, 2 }, { 3, 16, 0, 0, 0, 2 }, { 2, 16, 0, 0, 0, 2 }, + { 1, 16, 0, 0, 0, 2 }, { 0, 16, 0, 0, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BEB24 = { - 32, { - { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, - { 16, 5, 0, 8, 0, 2 }, { 16, 6, 0, 8, 0, 2 }, { 16, 7, 0, 8, 0, 2 }, { 16, 8, 0, 8, 0, 2 }, { 16, 9, 0, 8, 0, 2 }, - { 16, 10, 0, 8, 0, 2 }, { 16, 11, 0, 8, 0, 2 }, { 16, 12, 0, 8, 0, 2 }, { 16, 13, 0, 8, 0, 2 }, { 16, 14, 0, 8, 0, 2 }, - { 16, 15, 0, 8, 0, 2 }, { 16, 16, 0, 8, 0, 2 }, { 16, 17, 0, 8, 0, 2 }, { 16, 18, 0, 8, 0, 2 }, { 16, 19, 0, 8, 0, 2 }, - { 16, 20, 0, 8, 0, 2 }, { 16, 21, 0, 8, 0, 2 }, { 16, 22, 0, 8, 0, 2 }, { 16, 23, 0, 8, 0, 2 }, { 16, 24, 0, 8, 0, 2 }, - { 16, 25, 0, 8, 0, 2 }, { 16, 26, 0, 8, 0, 2 }, { 16, 27, 0, 8, 0, 2 }, { 16, 28, 0, 8, 0, 2 }, { 16, 29, 0, 8, 0, 2 }, - { 16, 30, 0, 8, 0, 2 }, { 16, 31, 0, 8, 0, 2 }, + 32, { + { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, + { 16, 5, 0, 8, 0, 2 }, { 16, 6, 0, 8, 0, 2 }, { 16, 7, 0, 8, 0, 2 }, { 16, 8, 0, 8, 0, 2 }, { 16, 9, 0, 8, 0, 2 }, + { 16, 10, 0, 8, 0, 2 }, { 16, 11, 0, 8, 0, 2 }, { 16, 12, 0, 8, 0, 2 }, { 16, 13, 0, 8, 0, 2 }, { 16, 14, 0, 8, 0, 2 }, + { 16, 15, 0, 8, 0, 2 }, { 16, 16, 0, 8, 0, 2 }, { 16, 17, 0, 8, 0, 2 }, { 16, 18, 0, 8, 0, 2 }, { 16, 19, 0, 8, 0, 2 }, + { 16, 20, 0, 8, 0, 2 }, { 16, 21, 0, 8, 0, 2 }, { 16, 22, 0, 8, 0, 2 }, { 16, 23, 0, 8, 0, 2 }, { 16, 24, 0, 8, 0, 2 }, + { 16, 25, 0, 8, 0, 2 }, { 16, 26, 0, 8, 0, 2 }, { 16, 27, 0, 8, 0, 2 }, { 16, 28, 0, 8, 0, 2 }, { 16, 29, 0, 8, 0, 2 }, + { 16, 30, 0, 8, 0, 2 }, { 16, 31, 0, 8, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BEC46 = { - 32, { - { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, - { 5, 16, 0, 16, 0, 2 }, { 6, 16, 0, 16, 0, 2 }, { 7, 16, 0, 16, 0, 2 }, { 8, 16, 0, 16, 0, 2 }, { 9, 16, 0, 16, 0, 2 }, - { 10, 16, 0, 16, 0, 2 }, { 11, 16, 0, 16, 0, 2 }, { 12, 16, 0, 16, 0, 2 }, { 13, 16, 0, 16, 0, 2 }, { 14, 16, 0, 16, 0, 2 }, - { 15, 16, 0, 16, 0, 2 }, { 16, 16, 0, 16, 0, 2 }, { 17, 16, 0, 16, 0, 2 }, { 18, 16, 0, 16, 0, 2 }, { 19, 16, 0, 16, 0, 2 }, - { 20, 16, 0, 16, 0, 2 }, { 21, 16, 0, 16, 0, 2 }, { 22, 16, 0, 16, 0, 2 }, { 23, 16, 0, 16, 0, 2 }, { 24, 16, 0, 16, 0, 2 }, - { 25, 16, 0, 16, 0, 2 }, { 26, 16, 0, 16, 0, 2 }, { 27, 16, 0, 16, 0, 2 }, { 28, 16, 0, 16, 0, 2 }, { 29, 16, 0, 16, 0, 2 }, - { 30, 16, 0, 16, 0, 2 }, { 31, 16, 0, 16, 0, 2 }, + 32, { + { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, + { 5, 16, 0, 16, 0, 2 }, { 6, 16, 0, 16, 0, 2 }, { 7, 16, 0, 16, 0, 2 }, { 8, 16, 0, 16, 0, 2 }, { 9, 16, 0, 16, 0, 2 }, + { 10, 16, 0, 16, 0, 2 }, { 11, 16, 0, 16, 0, 2 }, { 12, 16, 0, 16, 0, 2 }, { 13, 16, 0, 16, 0, 2 }, { 14, 16, 0, 16, 0, 2 }, + { 15, 16, 0, 16, 0, 2 }, { 16, 16, 0, 16, 0, 2 }, { 17, 16, 0, 16, 0, 2 }, { 18, 16, 0, 16, 0, 2 }, { 19, 16, 0, 16, 0, 2 }, + { 20, 16, 0, 16, 0, 2 }, { 21, 16, 0, 16, 0, 2 }, { 22, 16, 0, 16, 0, 2 }, { 23, 16, 0, 16, 0, 2 }, { 24, 16, 0, 16, 0, 2 }, + { 25, 16, 0, 16, 0, 2 }, { 26, 16, 0, 16, 0, 2 }, { 27, 16, 0, 16, 0, 2 }, { 28, 16, 0, 16, 0, 2 }, { 29, 16, 0, 16, 0, 2 }, + { 30, 16, 0, 16, 0, 2 }, { 31, 16, 0, 16, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BED68 = { - 32, { - { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 24, 0, 2 }, - { 16, 26, 0, 24, 0, 2 }, { 16, 25, 0, 24, 0, 2 }, { 16, 24, 0, 24, 0, 2 }, { 16, 23, 0, 24, 0, 2 }, { 16, 22, 0, 24, 0, 2 }, - { 16, 21, 0, 24, 0, 2 }, { 16, 20, 0, 24, 0, 2 }, { 16, 19, 0, 24, 0, 2 }, { 16, 18, 0, 24, 0, 2 }, { 16, 17, 0, 24, 0, 2 }, - { 16, 16, 0, 24, 0, 2 }, { 16, 15, 0, 24, 0, 2 }, { 16, 14, 0, 24, 0, 2 }, { 16, 13, 0, 24, 0, 2 }, { 16, 12, 0, 24, 0, 2 }, - { 16, 11, 0, 24, 0, 2 }, { 16, 10, 0, 24, 0, 2 }, { 16, 9, 0, 24, 0, 2 }, { 16, 8, 0, 24, 0, 2 }, { 16, 7, 0, 24, 0, 2 }, - { 16, 6, 0, 24, 0, 2 }, { 16, 5, 0, 24, 0, 2 }, { 16, 4, 0, 24, 0, 2 }, { 16, 3, 0, 24, 0, 2 }, { 16, 2, 0, 24, 0, 2 }, - { 16, 1, 0, 24, 0, 2 }, { 16, 0, 0, 24, 0, 2 }, + 32, { + { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 24, 0, 2 }, + { 16, 26, 0, 24, 0, 2 }, { 16, 25, 0, 24, 0, 2 }, { 16, 24, 0, 24, 0, 2 }, { 16, 23, 0, 24, 0, 2 }, { 16, 22, 0, 24, 0, 2 }, + { 16, 21, 0, 24, 0, 2 }, { 16, 20, 0, 24, 0, 2 }, { 16, 19, 0, 24, 0, 2 }, { 16, 18, 0, 24, 0, 2 }, { 16, 17, 0, 24, 0, 2 }, + { 16, 16, 0, 24, 0, 2 }, { 16, 15, 0, 24, 0, 2 }, { 16, 14, 0, 24, 0, 2 }, { 16, 13, 0, 24, 0, 2 }, { 16, 12, 0, 24, 0, 2 }, + { 16, 11, 0, 24, 0, 2 }, { 16, 10, 0, 24, 0, 2 }, { 16, 9, 0, 24, 0, 2 }, { 16, 8, 0, 24, 0, 2 }, { 16, 7, 0, 24, 0, 2 }, + { 16, 6, 0, 24, 0, 2 }, { 16, 5, 0, 24, 0, 2 }, { 16, 4, 0, 24, 0, 2 }, { 16, 3, 0, 24, 0, 2 }, { 16, 2, 0, 24, 0, 2 }, + { 16, 1, 0, 24, 0, 2 }, { 16, 0, 0, 24, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BEE8A = { - 32, { - { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 0, 0, 4 }, - { 26, 16, 0, 0, 0, 4 }, { 25, 16, 0, 0, 0, 4 }, { 24, 16, 0, 0, 0, 4 }, { 23, 16, 0, 0, 0, 4 }, { 22, 16, 0, 0, 0, 4 }, - { 21, 16, 0, 0, 0, 4 }, { 20, 16, 0, 0, 0, 4 }, { 19, 16, 0, 0, 0, 4 }, { 18, 16, 0, 0, 0, 4 }, { 17, 16, 0, 0, 0, 4 }, - { 16, 16, 0, 0, 0, 4 }, { 15, 16, 0, 0, 0, 4 }, { 14, 16, 0, 0, 0, 4 }, { 13, 16, 0, 0, 0, 4 }, { 12, 16, 0, 0, 0, 4 }, - { 11, 16, 0, 0, 0, 4 }, { 10, 16, 0, 0, 0, 4 }, { 9, 16, 0, 0, 0, 4 }, { 8, 16, 0, 0, 0, 4 }, { 7, 16, 0, 0, 0, 4 }, - { 6, 16, 0, 0, 0, 4 }, { 5, 16, 0, 0, 0, 4 }, { 4, 16, 0, 0, 0, 4 }, { 3, 16, 0, 0, 0, 4 }, { 2, 16, 0, 0, 0, 4 }, - { 1, 16, 0, 0, 0, 4 }, { 0, 16, 0, 0, 0, 4 }, + 32, { + { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 0, 0, 4 }, + { 26, 16, 0, 0, 0, 4 }, { 25, 16, 0, 0, 0, 4 }, { 24, 16, 0, 0, 0, 4 }, { 23, 16, 0, 0, 0, 4 }, { 22, 16, 0, 0, 0, 4 }, + { 21, 16, 0, 0, 0, 4 }, { 20, 16, 0, 0, 0, 4 }, { 19, 16, 0, 0, 0, 4 }, { 18, 16, 0, 0, 0, 4 }, { 17, 16, 0, 0, 0, 4 }, + { 16, 16, 0, 0, 0, 4 }, { 15, 16, 0, 0, 0, 4 }, { 14, 16, 0, 0, 0, 4 }, { 13, 16, 0, 0, 0, 4 }, { 12, 16, 0, 0, 0, 4 }, + { 11, 16, 0, 0, 0, 4 }, { 10, 16, 0, 0, 0, 4 }, { 9, 16, 0, 0, 0, 4 }, { 8, 16, 0, 0, 0, 4 }, { 7, 16, 0, 0, 0, 4 }, + { 6, 16, 0, 0, 0, 4 }, { 5, 16, 0, 0, 0, 4 }, { 4, 16, 0, 0, 0, 4 }, { 3, 16, 0, 0, 0, 4 }, { 2, 16, 0, 0, 0, 4 }, + { 1, 16, 0, 0, 0, 4 }, { 0, 16, 0, 0, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BEFAC = { - 32, { - { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, - { 16, 5, 0, 8, 0, 4 }, { 16, 6, 0, 8, 0, 4 }, { 16, 7, 0, 8, 0, 4 }, { 16, 8, 0, 8, 0, 4 }, { 16, 9, 0, 8, 0, 4 }, - { 16, 10, 0, 8, 0, 4 }, { 16, 11, 0, 8, 0, 4 }, { 16, 12, 0, 8, 0, 4 }, { 16, 13, 0, 8, 0, 4 }, { 16, 14, 0, 8, 0, 4 }, - { 16, 15, 0, 8, 0, 4 }, { 16, 16, 0, 8, 0, 4 }, { 16, 17, 0, 8, 0, 4 }, { 16, 18, 0, 8, 0, 4 }, { 16, 19, 0, 8, 0, 4 }, - { 16, 20, 0, 8, 0, 4 }, { 16, 21, 0, 8, 0, 4 }, { 16, 22, 0, 8, 0, 4 }, { 16, 23, 0, 8, 0, 4 }, { 16, 24, 0, 8, 0, 4 }, - { 16, 25, 0, 8, 0, 4 }, { 16, 26, 0, 8, 0, 4 }, { 16, 27, 0, 8, 0, 4 }, { 16, 28, 0, 8, 0, 4 }, { 16, 29, 0, 8, 0, 4 }, - { 16, 30, 0, 8, 0, 4 }, { 16, 31, 0, 8, 0, 4 }, + 32, { + { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, + { 16, 5, 0, 8, 0, 4 }, { 16, 6, 0, 8, 0, 4 }, { 16, 7, 0, 8, 0, 4 }, { 16, 8, 0, 8, 0, 4 }, { 16, 9, 0, 8, 0, 4 }, + { 16, 10, 0, 8, 0, 4 }, { 16, 11, 0, 8, 0, 4 }, { 16, 12, 0, 8, 0, 4 }, { 16, 13, 0, 8, 0, 4 }, { 16, 14, 0, 8, 0, 4 }, + { 16, 15, 0, 8, 0, 4 }, { 16, 16, 0, 8, 0, 4 }, { 16, 17, 0, 8, 0, 4 }, { 16, 18, 0, 8, 0, 4 }, { 16, 19, 0, 8, 0, 4 }, + { 16, 20, 0, 8, 0, 4 }, { 16, 21, 0, 8, 0, 4 }, { 16, 22, 0, 8, 0, 4 }, { 16, 23, 0, 8, 0, 4 }, { 16, 24, 0, 8, 0, 4 }, + { 16, 25, 0, 8, 0, 4 }, { 16, 26, 0, 8, 0, 4 }, { 16, 27, 0, 8, 0, 4 }, { 16, 28, 0, 8, 0, 4 }, { 16, 29, 0, 8, 0, 4 }, + { 16, 30, 0, 8, 0, 4 }, { 16, 31, 0, 8, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BF0CE = { - 32, { - { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, - { 5, 16, 0, 16, 0, 4 }, { 6, 16, 0, 16, 0, 4 }, { 7, 16, 0, 16, 0, 4 }, { 8, 16, 0, 16, 0, 4 }, { 9, 16, 0, 16, 0, 4 }, - { 10, 16, 0, 16, 0, 4 }, { 11, 16, 0, 16, 0, 4 }, { 12, 16, 0, 16, 0, 4 }, { 13, 16, 0, 16, 0, 4 }, { 14, 16, 0, 16, 0, 4 }, - { 15, 16, 0, 16, 0, 4 }, { 16, 16, 0, 16, 0, 4 }, { 17, 16, 0, 16, 0, 4 }, { 18, 16, 0, 16, 0, 4 }, { 19, 16, 0, 16, 0, 4 }, - { 20, 16, 0, 16, 0, 4 }, { 21, 16, 0, 16, 0, 4 }, { 22, 16, 0, 16, 0, 4 }, { 23, 16, 0, 16, 0, 4 }, { 24, 16, 0, 16, 0, 4 }, - { 25, 16, 0, 16, 0, 4 }, { 26, 16, 0, 16, 0, 4 }, { 27, 16, 0, 16, 0, 4 }, { 28, 16, 0, 16, 0, 4 }, { 29, 16, 0, 16, 0, 4 }, - { 30, 16, 0, 16, 0, 4 }, { 31, 16, 0, 16, 0, 4 }, + 32, { + { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, + { 5, 16, 0, 16, 0, 4 }, { 6, 16, 0, 16, 0, 4 }, { 7, 16, 0, 16, 0, 4 }, { 8, 16, 0, 16, 0, 4 }, { 9, 16, 0, 16, 0, 4 }, + { 10, 16, 0, 16, 0, 4 }, { 11, 16, 0, 16, 0, 4 }, { 12, 16, 0, 16, 0, 4 }, { 13, 16, 0, 16, 0, 4 }, { 14, 16, 0, 16, 0, 4 }, + { 15, 16, 0, 16, 0, 4 }, { 16, 16, 0, 16, 0, 4 }, { 17, 16, 0, 16, 0, 4 }, { 18, 16, 0, 16, 0, 4 }, { 19, 16, 0, 16, 0, 4 }, + { 20, 16, 0, 16, 0, 4 }, { 21, 16, 0, 16, 0, 4 }, { 22, 16, 0, 16, 0, 4 }, { 23, 16, 0, 16, 0, 4 }, { 24, 16, 0, 16, 0, 4 }, + { 25, 16, 0, 16, 0, 4 }, { 26, 16, 0, 16, 0, 4 }, { 27, 16, 0, 16, 0, 4 }, { 28, 16, 0, 16, 0, 4 }, { 29, 16, 0, 16, 0, 4 }, + { 30, 16, 0, 16, 0, 4 }, { 31, 16, 0, 16, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8BF1F0 = { - 32, { - { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 24, 0, 4 }, - { 16, 26, 0, 24, 0, 4 }, { 16, 25, 0, 24, 0, 4 }, { 16, 24, 0, 24, 0, 4 }, { 16, 23, 0, 24, 0, 4 }, { 16, 22, 0, 24, 0, 4 }, - { 16, 21, 0, 24, 0, 4 }, { 16, 20, 0, 24, 0, 4 }, { 16, 19, 0, 24, 0, 4 }, { 16, 18, 0, 24, 0, 4 }, { 16, 17, 0, 24, 0, 4 }, - { 16, 16, 0, 24, 0, 4 }, { 16, 15, 0, 24, 0, 4 }, { 16, 14, 0, 24, 0, 4 }, { 16, 13, 0, 24, 0, 4 }, { 16, 12, 0, 24, 0, 4 }, - { 16, 11, 0, 24, 0, 4 }, { 16, 10, 0, 24, 0, 4 }, { 16, 9, 0, 24, 0, 4 }, { 16, 8, 0, 24, 0, 4 }, { 16, 7, 0, 24, 0, 4 }, - { 16, 6, 0, 24, 0, 4 }, { 16, 5, 0, 24, 0, 4 }, { 16, 4, 0, 24, 0, 4 }, { 16, 3, 0, 24, 0, 4 }, { 16, 2, 0, 24, 0, 4 }, - { 16, 1, 0, 24, 0, 4 }, { 16, 0, 0, 24, 0, 4 }, + 32, { + { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 24, 0, 4 }, + { 16, 26, 0, 24, 0, 4 }, { 16, 25, 0, 24, 0, 4 }, { 16, 24, 0, 24, 0, 4 }, { 16, 23, 0, 24, 0, 4 }, { 16, 22, 0, 24, 0, 4 }, + { 16, 21, 0, 24, 0, 4 }, { 16, 20, 0, 24, 0, 4 }, { 16, 19, 0, 24, 0, 4 }, { 16, 18, 0, 24, 0, 4 }, { 16, 17, 0, 24, 0, 4 }, + { 16, 16, 0, 24, 0, 4 }, { 16, 15, 0, 24, 0, 4 }, { 16, 14, 0, 24, 0, 4 }, { 16, 13, 0, 24, 0, 4 }, { 16, 12, 0, 24, 0, 4 }, + { 16, 11, 0, 24, 0, 4 }, { 16, 10, 0, 24, 0, 4 }, { 16, 9, 0, 24, 0, 4 }, { 16, 8, 0, 24, 0, 4 }, { 16, 7, 0, 24, 0, 4 }, + { 16, 6, 0, 24, 0, 4 }, { 16, 5, 0, 24, 0, 4 }, { 16, 4, 0, 24, 0, 4 }, { 16, 3, 0, 24, 0, 4 }, { 16, 2, 0, 24, 0, 4 }, + { 16, 1, 0, 24, 0, 4 }, { 16, 0, 0, 24, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D047E = { - 114, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 31, 2, 0 }, { 23, 15, 4, 31, 2, 0 }, { 22, 15, 4, 31, 2, 0 }, - { 21, 15, 5, 31, 2, 0 }, { 20, 15, 5, 31, 2, 0 }, { 19, 15, 6, 31, 2, 0 }, { 18, 15, 6, 31, 2, 0 }, { 17, 14, 7, 31, 2, 0 }, - { 16, 14, 8, 31, 2, 0 }, { 15, 14, 8, 31, 2, 0 }, { 14, 14, 8, 31, 2, 0 }, { 13, 14, 9, 31, 2, 0 }, { 12, 13, 9, 31, 2, 0 }, - { 11, 13, 10, 31, 2, 0 }, { 10, 13, 11, 30, 2, 0 }, { 9, 13, 11, 30, 2, 0 }, { 8, 12, 12, 30, 2, 0 }, { 7, 12, 12, 30, 2, 0 }, - { 6, 12, 13, 30, 2, 0 }, { 5, 11, 13, 30, 2, 0 }, { 4, 11, 14, 30, 2, 0 }, { 3, 11, 14, 30, 2, 0 }, { 2, 10, 15, 30, 2, 0 }, - { 1, 10, 15, 30, 2, 0 }, { 0, 9, 16, 30, 2, 0 }, { -1, 9, 17, 30, 2, 0 }, { -2, 8, 17, 30, 2, 0 }, { -3, 8, 18, 30, 2, 0 }, - { -4, 7, 18, 30, 2, 0 }, { -5, 7, 19, 29, 2, 0 }, { -6, 6, 19, 29, 2, 0 }, { -7, 6, 20, 29, 2, 0 }, { -8, 5, 21, 29, 2, 0 }, - { -9, 4, 21, 29, 2, 0 }, { -10, 4, 22, 29, 2, 0 }, { -11, 3, 22, 29, 2, 0 }, { -12, 2, 23, 29, 2, 0 }, { -13, 2, 24, 29, 2, 0 }, - { -14, 1, 24, 29, 2, 0 }, { -15, 0, 25, 29, 2, 0 }, { -16, 0, 26, 29, 2, 0 }, { -17, -1, 26, 29, 2, 0 }, { -18, -2, 27, 28, 2, 0 }, - { -19, -3, 27, 28, 2, 0 }, { -20, -3, 28, 28, 2, 0 }, { -21, -4, 29, 28, 2, 0 }, { -22, -5, 29, 28, 2, 0 }, { -23, -6, 30, 28, 2, 0 }, - { -24, -7, 31, 28, 2, 0 }, { -25, -7, 31, 28, 2, 0 }, { -26, -8, 32, 28, 2, 0 }, { -27, -9, 32, 28, 2, 0 }, { -28, -10, 33, 28, 2, 0 }, - { -29, -11, 34, 28, 2, 0 }, { -29, -12, 34, 28, 2, 0 }, { -30, -13, 35, 27, 2, 0 }, { -31, -14, 36, 27, 2, 0 }, { -32, -15, 36, 27, 2, 0 }, - { -32, -16, 37, 27, 2, 0 }, { -33, -17, 37, 27, 2, 0 }, { -34, -18, 38, 27, 2, 0 }, { -34, -19, 39, 27, 2, 0 }, { -35, -20, 39, 27, 2, 0 }, - { -36, -21, 40, 27, 2, 0 }, { -36, -22, 41, 27, 2, 0 }, { -37, -23, 41, 27, 2, 0 }, { -38, -24, 42, 27, 2, 0 }, { -38, -25, 42, 27, 2, 0 }, - { -39, -26, 43, 26, 2, 0 }, { -39, -27, 44, 26, 2, 0 }, { -40, -28, 44, 26, 2, 0 }, { -40, -29, 45, 26, 2, 0 }, { -41, -30, 45, 26, 2, 0 }, - { -41, -31, 46, 26, 2, 0 }, { -42, -32, 46, 26, 2, 0 }, { -42, -33, 47, 26, 2, 0 }, { -43, -34, 48, 26, 2, 0 }, { -43, -35, 48, 26, 2, 0 }, - { -43, -36, 49, 26, 2, 0 }, { -44, -37, 49, 26, 2, 0 }, { -44, -38, 50, 26, 2, 0 }, { -44, -39, 50, 26, 2, 0 }, { -45, -40, 51, 25, 2, 0 }, - { -45, -41, 51, 25, 2, 0 }, { -45, -42, 52, 25, 2, 0 }, { -45, -43, 52, 25, 2, 0 }, { -46, -44, 53, 25, 2, 0 }, { -46, -45, 54, 25, 2, 0 }, - { -46, -46, 54, 25, 2, 0 }, { -46, -47, 55, 25, 2, 0 }, { -46, -48, 55, 25, 2, 0 }, { -47, -49, 55, 25, 2, 0 }, { -47, -50, 56, 25, 2, 0 }, - { -47, -51, 57, 25, 2, 0 }, { -47, -52, 57, 25, 2, 0 }, { -47, -53, 58, 25, 2, 0 }, { -47, -54, 58, 25, 2, 0 }, { -48, -55, 59, 25, 2, 0 }, - { -48, -56, 59, 24, 2, 0 }, { -48, -57, 60, 24, 2, 0 }, { -48, -58, 60, 24, 2, 0 }, { -48, -59, 61, 24, 2, 0 }, { -48, -60, 61, 24, 2, 0 }, - { -48, -61, 62, 24, 2, 0 }, { -48, -62, 62, 24, 2, 0 }, { -48, -63, 63, 24, 2, 0 }, { -48, -64, 64, 24, 2, 0 }, + 114, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 31, 2, 0 }, { 23, 15, 4, 31, 2, 0 }, { 22, 15, 4, 31, 2, 0 }, + { 21, 15, 5, 31, 2, 0 }, { 20, 15, 5, 31, 2, 0 }, { 19, 15, 6, 31, 2, 0 }, { 18, 15, 6, 31, 2, 0 }, { 17, 14, 7, 31, 2, 0 }, + { 16, 14, 8, 31, 2, 0 }, { 15, 14, 8, 31, 2, 0 }, { 14, 14, 8, 31, 2, 0 }, { 13, 14, 9, 31, 2, 0 }, { 12, 13, 9, 31, 2, 0 }, + { 11, 13, 10, 31, 2, 0 }, { 10, 13, 11, 30, 2, 0 }, { 9, 13, 11, 30, 2, 0 }, { 8, 12, 12, 30, 2, 0 }, { 7, 12, 12, 30, 2, 0 }, + { 6, 12, 13, 30, 2, 0 }, { 5, 11, 13, 30, 2, 0 }, { 4, 11, 14, 30, 2, 0 }, { 3, 11, 14, 30, 2, 0 }, { 2, 10, 15, 30, 2, 0 }, + { 1, 10, 15, 30, 2, 0 }, { 0, 9, 16, 30, 2, 0 }, { -1, 9, 17, 30, 2, 0 }, { -2, 8, 17, 30, 2, 0 }, { -3, 8, 18, 30, 2, 0 }, + { -4, 7, 18, 30, 2, 0 }, { -5, 7, 19, 29, 2, 0 }, { -6, 6, 19, 29, 2, 0 }, { -7, 6, 20, 29, 2, 0 }, { -8, 5, 21, 29, 2, 0 }, + { -9, 4, 21, 29, 2, 0 }, { -10, 4, 22, 29, 2, 0 }, { -11, 3, 22, 29, 2, 0 }, { -12, 2, 23, 29, 2, 0 }, { -13, 2, 24, 29, 2, 0 }, + { -14, 1, 24, 29, 2, 0 }, { -15, 0, 25, 29, 2, 0 }, { -16, 0, 26, 29, 2, 0 }, { -17, -1, 26, 29, 2, 0 }, { -18, -2, 27, 28, 2, 0 }, + { -19, -3, 27, 28, 2, 0 }, { -20, -3, 28, 28, 2, 0 }, { -21, -4, 29, 28, 2, 0 }, { -22, -5, 29, 28, 2, 0 }, { -23, -6, 30, 28, 2, 0 }, + { -24, -7, 31, 28, 2, 0 }, { -25, -7, 31, 28, 2, 0 }, { -26, -8, 32, 28, 2, 0 }, { -27, -9, 32, 28, 2, 0 }, { -28, -10, 33, 28, 2, 0 }, + { -29, -11, 34, 28, 2, 0 }, { -29, -12, 34, 28, 2, 0 }, { -30, -13, 35, 27, 2, 0 }, { -31, -14, 36, 27, 2, 0 }, { -32, -15, 36, 27, 2, 0 }, + { -32, -16, 37, 27, 2, 0 }, { -33, -17, 37, 27, 2, 0 }, { -34, -18, 38, 27, 2, 0 }, { -34, -19, 39, 27, 2, 0 }, { -35, -20, 39, 27, 2, 0 }, + { -36, -21, 40, 27, 2, 0 }, { -36, -22, 41, 27, 2, 0 }, { -37, -23, 41, 27, 2, 0 }, { -38, -24, 42, 27, 2, 0 }, { -38, -25, 42, 27, 2, 0 }, + { -39, -26, 43, 26, 2, 0 }, { -39, -27, 44, 26, 2, 0 }, { -40, -28, 44, 26, 2, 0 }, { -40, -29, 45, 26, 2, 0 }, { -41, -30, 45, 26, 2, 0 }, + { -41, -31, 46, 26, 2, 0 }, { -42, -32, 46, 26, 2, 0 }, { -42, -33, 47, 26, 2, 0 }, { -43, -34, 48, 26, 2, 0 }, { -43, -35, 48, 26, 2, 0 }, + { -43, -36, 49, 26, 2, 0 }, { -44, -37, 49, 26, 2, 0 }, { -44, -38, 50, 26, 2, 0 }, { -44, -39, 50, 26, 2, 0 }, { -45, -40, 51, 25, 2, 0 }, + { -45, -41, 51, 25, 2, 0 }, { -45, -42, 52, 25, 2, 0 }, { -45, -43, 52, 25, 2, 0 }, { -46, -44, 53, 25, 2, 0 }, { -46, -45, 54, 25, 2, 0 }, + { -46, -46, 54, 25, 2, 0 }, { -46, -47, 55, 25, 2, 0 }, { -46, -48, 55, 25, 2, 0 }, { -47, -49, 55, 25, 2, 0 }, { -47, -50, 56, 25, 2, 0 }, + { -47, -51, 57, 25, 2, 0 }, { -47, -52, 57, 25, 2, 0 }, { -47, -53, 58, 25, 2, 0 }, { -47, -54, 58, 25, 2, 0 }, { -48, -55, 59, 25, 2, 0 }, + { -48, -56, 59, 24, 2, 0 }, { -48, -57, 60, 24, 2, 0 }, { -48, -58, 60, 24, 2, 0 }, { -48, -59, 61, 24, 2, 0 }, { -48, -60, 61, 24, 2, 0 }, + { -48, -61, 62, 24, 2, 0 }, { -48, -62, 62, 24, 2, 0 }, { -48, -63, 63, 24, 2, 0 }, { -48, -64, 64, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D0882 = { - 115, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 0, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 1, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 2, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 3, 7, 2, 0 }, { 15, 9, 4, 7, 2, 0 }, - { 15, 10, 4, 7, 2, 0 }, { 15, 11, 5, 7, 2, 0 }, { 15, 12, 5, 7, 2, 0 }, { 15, 13, 6, 7, 2, 0 }, { 15, 14, 6, 7, 2, 0 }, - { 14, 15, 7, 7, 2, 0 }, { 14, 16, 8, 7, 2, 0 }, { 14, 17, 8, 7, 2, 0 }, { 14, 18, 8, 7, 2, 0 }, { 14, 19, 9, 7, 2, 0 }, - { 13, 20, 9, 7, 2, 0 }, { 13, 21, 10, 7, 2, 0 }, { 13, 22, 11, 6, 2, 0 }, { 13, 23, 11, 6, 2, 0 }, { 12, 24, 12, 6, 2, 0 }, - { 12, 25, 12, 6, 2, 0 }, { 12, 26, 13, 6, 2, 0 }, { 11, 27, 13, 6, 2, 0 }, { 11, 28, 14, 6, 2, 0 }, { 11, 29, 14, 6, 2, 0 }, - { 10, 30, 15, 6, 2, 0 }, { 10, 31, 15, 6, 2, 0 }, { 9, 32, 16, 6, 2, 0 }, { 9, 33, 17, 6, 2, 0 }, { 8, 34, 17, 6, 2, 0 }, - { 8, 35, 18, 6, 2, 0 }, { 7, 36, 18, 6, 2, 0 }, { 7, 37, 19, 5, 2, 0 }, { 6, 38, 19, 5, 2, 0 }, { 6, 39, 20, 5, 2, 0 }, - { 5, 40, 21, 5, 2, 0 }, { 4, 41, 21, 5, 2, 0 }, { 4, 42, 22, 5, 2, 0 }, { 3, 43, 22, 5, 2, 0 }, { 2, 44, 23, 5, 2, 0 }, - { 2, 45, 24, 5, 2, 0 }, { 1, 46, 24, 5, 2, 0 }, { 0, 47, 25, 5, 2, 0 }, { 0, 48, 26, 5, 2, 0 }, { -1, 49, 26, 5, 2, 0 }, - { -2, 50, 27, 4, 2, 0 }, { -3, 51, 27, 4, 2, 0 }, { -3, 52, 28, 4, 2, 0 }, { -4, 53, 29, 4, 2, 0 }, { -5, 54, 29, 4, 2, 0 }, - { -6, 55, 30, 4, 2, 0 }, { -7, 56, 31, 4, 2, 0 }, { -7, 57, 31, 4, 2, 0 }, { -8, 58, 32, 4, 2, 0 }, { -9, 59, 32, 4, 2, 0 }, - { -10, 60, 33, 4, 2, 0 }, { -11, 61, 34, 4, 2, 0 }, { -12, 61, 34, 4, 2, 0 }, { -13, 62, 35, 3, 2, 0 }, { -14, 63, 36, 3, 2, 0 }, - { -15, 64, 36, 3, 2, 0 }, { -16, 64, 37, 3, 2, 0 }, { -17, 65, 37, 3, 2, 0 }, { -18, 66, 38, 3, 2, 0 }, { -19, 66, 39, 3, 2, 0 }, - { -20, 67, 39, 3, 2, 0 }, { -21, 68, 40, 3, 2, 0 }, { -22, 68, 41, 3, 2, 0 }, { -23, 69, 41, 3, 2, 0 }, { -24, 70, 42, 3, 2, 0 }, - { -25, 70, 42, 3, 2, 0 }, { -26, 71, 43, 2, 2, 0 }, { -27, 71, 44, 2, 2, 0 }, { -28, 72, 44, 2, 2, 0 }, { -29, 72, 45, 2, 2, 0 }, - { -30, 73, 45, 2, 2, 0 }, { -31, 73, 46, 2, 2, 0 }, { -32, 74, 46, 2, 2, 0 }, { -33, 74, 47, 2, 2, 0 }, { -34, 75, 48, 2, 2, 0 }, - { -35, 75, 48, 2, 2, 0 }, { -36, 75, 49, 2, 2, 0 }, { -37, 76, 49, 2, 2, 0 }, { -38, 76, 50, 2, 2, 0 }, { -39, 76, 50, 2, 2, 0 }, - { -40, 77, 51, 1, 2, 0 }, { -41, 77, 51, 1, 2, 0 }, { -42, 77, 52, 1, 2, 0 }, { -43, 77, 52, 1, 2, 0 }, { -44, 78, 53, 1, 2, 0 }, - { -45, 78, 54, 1, 2, 0 }, { -46, 78, 54, 1, 2, 0 }, { -47, 78, 55, 1, 2, 0 }, { -48, 78, 55, 1, 2, 0 }, { -49, 79, 55, 1, 2, 0 }, - { -50, 79, 56, 1, 2, 0 }, { -51, 79, 57, 1, 2, 0 }, { -52, 79, 57, 1, 2, 0 }, { -53, 79, 58, 1, 2, 0 }, { -54, 79, 58, 1, 2, 0 }, - { -55, 80, 59, 1, 2, 0 }, { -56, 80, 59, 0, 2, 0 }, { -57, 80, 60, 0, 2, 0 }, { -58, 80, 60, 0, 2, 0 }, { -59, 80, 61, 0, 2, 0 }, - { -60, 80, 61, 0, 2, 0 }, { -61, 80, 62, 0, 2, 0 }, { -62, 80, 62, 0, 2, 0 }, { -63, 80, 63, 0, 2, 0 }, { -64, 80, 64, 0, 2, 0 }, + 115, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 0, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 1, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 2, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 3, 7, 2, 0 }, { 15, 9, 4, 7, 2, 0 }, + { 15, 10, 4, 7, 2, 0 }, { 15, 11, 5, 7, 2, 0 }, { 15, 12, 5, 7, 2, 0 }, { 15, 13, 6, 7, 2, 0 }, { 15, 14, 6, 7, 2, 0 }, + { 14, 15, 7, 7, 2, 0 }, { 14, 16, 8, 7, 2, 0 }, { 14, 17, 8, 7, 2, 0 }, { 14, 18, 8, 7, 2, 0 }, { 14, 19, 9, 7, 2, 0 }, + { 13, 20, 9, 7, 2, 0 }, { 13, 21, 10, 7, 2, 0 }, { 13, 22, 11, 6, 2, 0 }, { 13, 23, 11, 6, 2, 0 }, { 12, 24, 12, 6, 2, 0 }, + { 12, 25, 12, 6, 2, 0 }, { 12, 26, 13, 6, 2, 0 }, { 11, 27, 13, 6, 2, 0 }, { 11, 28, 14, 6, 2, 0 }, { 11, 29, 14, 6, 2, 0 }, + { 10, 30, 15, 6, 2, 0 }, { 10, 31, 15, 6, 2, 0 }, { 9, 32, 16, 6, 2, 0 }, { 9, 33, 17, 6, 2, 0 }, { 8, 34, 17, 6, 2, 0 }, + { 8, 35, 18, 6, 2, 0 }, { 7, 36, 18, 6, 2, 0 }, { 7, 37, 19, 5, 2, 0 }, { 6, 38, 19, 5, 2, 0 }, { 6, 39, 20, 5, 2, 0 }, + { 5, 40, 21, 5, 2, 0 }, { 4, 41, 21, 5, 2, 0 }, { 4, 42, 22, 5, 2, 0 }, { 3, 43, 22, 5, 2, 0 }, { 2, 44, 23, 5, 2, 0 }, + { 2, 45, 24, 5, 2, 0 }, { 1, 46, 24, 5, 2, 0 }, { 0, 47, 25, 5, 2, 0 }, { 0, 48, 26, 5, 2, 0 }, { -1, 49, 26, 5, 2, 0 }, + { -2, 50, 27, 4, 2, 0 }, { -3, 51, 27, 4, 2, 0 }, { -3, 52, 28, 4, 2, 0 }, { -4, 53, 29, 4, 2, 0 }, { -5, 54, 29, 4, 2, 0 }, + { -6, 55, 30, 4, 2, 0 }, { -7, 56, 31, 4, 2, 0 }, { -7, 57, 31, 4, 2, 0 }, { -8, 58, 32, 4, 2, 0 }, { -9, 59, 32, 4, 2, 0 }, + { -10, 60, 33, 4, 2, 0 }, { -11, 61, 34, 4, 2, 0 }, { -12, 61, 34, 4, 2, 0 }, { -13, 62, 35, 3, 2, 0 }, { -14, 63, 36, 3, 2, 0 }, + { -15, 64, 36, 3, 2, 0 }, { -16, 64, 37, 3, 2, 0 }, { -17, 65, 37, 3, 2, 0 }, { -18, 66, 38, 3, 2, 0 }, { -19, 66, 39, 3, 2, 0 }, + { -20, 67, 39, 3, 2, 0 }, { -21, 68, 40, 3, 2, 0 }, { -22, 68, 41, 3, 2, 0 }, { -23, 69, 41, 3, 2, 0 }, { -24, 70, 42, 3, 2, 0 }, + { -25, 70, 42, 3, 2, 0 }, { -26, 71, 43, 2, 2, 0 }, { -27, 71, 44, 2, 2, 0 }, { -28, 72, 44, 2, 2, 0 }, { -29, 72, 45, 2, 2, 0 }, + { -30, 73, 45, 2, 2, 0 }, { -31, 73, 46, 2, 2, 0 }, { -32, 74, 46, 2, 2, 0 }, { -33, 74, 47, 2, 2, 0 }, { -34, 75, 48, 2, 2, 0 }, + { -35, 75, 48, 2, 2, 0 }, { -36, 75, 49, 2, 2, 0 }, { -37, 76, 49, 2, 2, 0 }, { -38, 76, 50, 2, 2, 0 }, { -39, 76, 50, 2, 2, 0 }, + { -40, 77, 51, 1, 2, 0 }, { -41, 77, 51, 1, 2, 0 }, { -42, 77, 52, 1, 2, 0 }, { -43, 77, 52, 1, 2, 0 }, { -44, 78, 53, 1, 2, 0 }, + { -45, 78, 54, 1, 2, 0 }, { -46, 78, 54, 1, 2, 0 }, { -47, 78, 55, 1, 2, 0 }, { -48, 78, 55, 1, 2, 0 }, { -49, 79, 55, 1, 2, 0 }, + { -50, 79, 56, 1, 2, 0 }, { -51, 79, 57, 1, 2, 0 }, { -52, 79, 57, 1, 2, 0 }, { -53, 79, 58, 1, 2, 0 }, { -54, 79, 58, 1, 2, 0 }, + { -55, 80, 59, 1, 2, 0 }, { -56, 80, 59, 0, 2, 0 }, { -57, 80, 60, 0, 2, 0 }, { -58, 80, 60, 0, 2, 0 }, { -59, 80, 61, 0, 2, 0 }, + { -60, 80, 61, 0, 2, 0 }, { -61, 80, 62, 0, 2, 0 }, { -62, 80, 62, 0, 2, 0 }, { -63, 80, 63, 0, 2, 0 }, { -64, 80, 64, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D0C8F = { - 114, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 0, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 1, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 2, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 3, 15, 2, 0 }, { 9, 17, 4, 15, 2, 0 }, - { 10, 17, 5, 15, 2, 0 }, { 11, 17, 5, 15, 2, 0 }, { 12, 17, 5, 15, 2, 0 }, { 13, 17, 6, 15, 2, 0 }, { 14, 17, 6, 15, 2, 0 }, - { 15, 18, 7, 15, 2, 0 }, { 16, 18, 8, 15, 2, 0 }, { 17, 18, 8, 15, 2, 0 }, { 18, 18, 9, 15, 2, 0 }, { 19, 18, 9, 15, 2, 0 }, - { 20, 19, 10, 15, 2, 0 }, { 21, 19, 10, 15, 2, 0 }, { 22, 19, 11, 14, 2, 0 }, { 23, 19, 11, 14, 2, 0 }, { 24, 20, 12, 14, 2, 0 }, - { 25, 20, 12, 14, 2, 0 }, { 26, 20, 13, 14, 2, 0 }, { 27, 21, 13, 14, 2, 0 }, { 28, 21, 14, 14, 2, 0 }, { 29, 21, 14, 14, 2, 0 }, - { 30, 22, 15, 14, 2, 0 }, { 31, 22, 16, 14, 2, 0 }, { 32, 23, 16, 14, 2, 0 }, { 33, 23, 17, 14, 2, 0 }, { 34, 24, 17, 14, 2, 0 }, - { 35, 24, 18, 14, 2, 0 }, { 36, 25, 18, 14, 2, 0 }, { 37, 25, 19, 13, 2, 0 }, { 38, 26, 20, 13, 2, 0 }, { 39, 26, 20, 13, 2, 0 }, - { 40, 27, 21, 13, 2, 0 }, { 41, 28, 21, 13, 2, 0 }, { 42, 28, 22, 13, 2, 0 }, { 43, 29, 23, 13, 2, 0 }, { 44, 30, 23, 13, 2, 0 }, - { 45, 30, 24, 13, 2, 0 }, { 46, 31, 24, 13, 2, 0 }, { 47, 32, 25, 13, 2, 0 }, { 48, 32, 26, 13, 2, 0 }, { 49, 33, 26, 13, 2, 0 }, - { 50, 34, 27, 12, 2, 0 }, { 51, 35, 28, 12, 2, 0 }, { 52, 35, 28, 12, 2, 0 }, { 53, 36, 29, 12, 2, 0 }, { 54, 37, 29, 12, 2, 0 }, - { 55, 38, 30, 12, 2, 0 }, { 56, 39, 31, 12, 2, 0 }, { 57, 39, 32, 12, 2, 0 }, { 58, 40, 32, 12, 2, 0 }, { 59, 41, 33, 12, 2, 0 }, - { 60, 42, 33, 12, 2, 0 }, { 61, 43, 34, 12, 2, 0 }, { 61, 44, 35, 12, 2, 0 }, { 62, 45, 35, 11, 2, 0 }, { 63, 46, 36, 11, 2, 0 }, - { 64, 47, 37, 11, 2, 0 }, { 64, 48, 37, 11, 2, 0 }, { 65, 49, 38, 11, 2, 0 }, { 66, 50, 38, 11, 2, 0 }, { 66, 51, 39, 11, 2, 0 }, - { 67, 52, 40, 11, 2, 0 }, { 68, 53, 40, 11, 2, 0 }, { 68, 54, 41, 11, 2, 0 }, { 69, 55, 41, 11, 2, 0 }, { 70, 56, 42, 11, 2, 0 }, - { 70, 57, 43, 11, 2, 0 }, { 71, 58, 43, 10, 2, 0 }, { 71, 59, 44, 10, 2, 0 }, { 72, 60, 44, 10, 2, 0 }, { 72, 61, 45, 10, 2, 0 }, - { 73, 62, 46, 10, 2, 0 }, { 73, 63, 46, 10, 2, 0 }, { 74, 64, 47, 10, 2, 0 }, { 74, 65, 47, 10, 2, 0 }, { 75, 66, 48, 10, 2, 0 }, - { 75, 67, 49, 10, 2, 0 }, { 75, 68, 49, 10, 2, 0 }, { 76, 69, 50, 10, 2, 0 }, { 76, 70, 50, 10, 2, 0 }, { 76, 71, 51, 10, 2, 0 }, - { 77, 72, 51, 9, 2, 0 }, { 77, 73, 52, 9, 2, 0 }, { 77, 74, 52, 9, 2, 0 }, { 77, 75, 53, 9, 2, 0 }, { 78, 76, 53, 9, 2, 0 }, - { 78, 77, 54, 9, 2, 0 }, { 78, 78, 54, 9, 2, 0 }, { 78, 79, 55, 9, 2, 0 }, { 78, 80, 55, 9, 2, 0 }, { 79, 81, 56, 9, 2, 0 }, - { 79, 82, 57, 9, 2, 0 }, { 79, 83, 57, 9, 2, 0 }, { 79, 84, 58, 9, 2, 0 }, { 79, 85, 58, 9, 2, 0 }, { 79, 86, 58, 9, 2, 0 }, - { 80, 87, 59, 9, 2, 0 }, { 80, 88, 60, 8, 2, 0 }, { 80, 89, 60, 8, 2, 0 }, { 80, 90, 61, 8, 2, 0 }, { 80, 91, 61, 8, 2, 0 }, - { 80, 92, 62, 8, 2, 0 }, { 80, 93, 62, 8, 2, 0 }, { 80, 94, 63, 8, 2, 0 }, { 80, 95, 63, 8, 2, 0 }, + 114, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 0, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 1, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 2, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 3, 15, 2, 0 }, { 9, 17, 4, 15, 2, 0 }, + { 10, 17, 5, 15, 2, 0 }, { 11, 17, 5, 15, 2, 0 }, { 12, 17, 5, 15, 2, 0 }, { 13, 17, 6, 15, 2, 0 }, { 14, 17, 6, 15, 2, 0 }, + { 15, 18, 7, 15, 2, 0 }, { 16, 18, 8, 15, 2, 0 }, { 17, 18, 8, 15, 2, 0 }, { 18, 18, 9, 15, 2, 0 }, { 19, 18, 9, 15, 2, 0 }, + { 20, 19, 10, 15, 2, 0 }, { 21, 19, 10, 15, 2, 0 }, { 22, 19, 11, 14, 2, 0 }, { 23, 19, 11, 14, 2, 0 }, { 24, 20, 12, 14, 2, 0 }, + { 25, 20, 12, 14, 2, 0 }, { 26, 20, 13, 14, 2, 0 }, { 27, 21, 13, 14, 2, 0 }, { 28, 21, 14, 14, 2, 0 }, { 29, 21, 14, 14, 2, 0 }, + { 30, 22, 15, 14, 2, 0 }, { 31, 22, 16, 14, 2, 0 }, { 32, 23, 16, 14, 2, 0 }, { 33, 23, 17, 14, 2, 0 }, { 34, 24, 17, 14, 2, 0 }, + { 35, 24, 18, 14, 2, 0 }, { 36, 25, 18, 14, 2, 0 }, { 37, 25, 19, 13, 2, 0 }, { 38, 26, 20, 13, 2, 0 }, { 39, 26, 20, 13, 2, 0 }, + { 40, 27, 21, 13, 2, 0 }, { 41, 28, 21, 13, 2, 0 }, { 42, 28, 22, 13, 2, 0 }, { 43, 29, 23, 13, 2, 0 }, { 44, 30, 23, 13, 2, 0 }, + { 45, 30, 24, 13, 2, 0 }, { 46, 31, 24, 13, 2, 0 }, { 47, 32, 25, 13, 2, 0 }, { 48, 32, 26, 13, 2, 0 }, { 49, 33, 26, 13, 2, 0 }, + { 50, 34, 27, 12, 2, 0 }, { 51, 35, 28, 12, 2, 0 }, { 52, 35, 28, 12, 2, 0 }, { 53, 36, 29, 12, 2, 0 }, { 54, 37, 29, 12, 2, 0 }, + { 55, 38, 30, 12, 2, 0 }, { 56, 39, 31, 12, 2, 0 }, { 57, 39, 32, 12, 2, 0 }, { 58, 40, 32, 12, 2, 0 }, { 59, 41, 33, 12, 2, 0 }, + { 60, 42, 33, 12, 2, 0 }, { 61, 43, 34, 12, 2, 0 }, { 61, 44, 35, 12, 2, 0 }, { 62, 45, 35, 11, 2, 0 }, { 63, 46, 36, 11, 2, 0 }, + { 64, 47, 37, 11, 2, 0 }, { 64, 48, 37, 11, 2, 0 }, { 65, 49, 38, 11, 2, 0 }, { 66, 50, 38, 11, 2, 0 }, { 66, 51, 39, 11, 2, 0 }, + { 67, 52, 40, 11, 2, 0 }, { 68, 53, 40, 11, 2, 0 }, { 68, 54, 41, 11, 2, 0 }, { 69, 55, 41, 11, 2, 0 }, { 70, 56, 42, 11, 2, 0 }, + { 70, 57, 43, 11, 2, 0 }, { 71, 58, 43, 10, 2, 0 }, { 71, 59, 44, 10, 2, 0 }, { 72, 60, 44, 10, 2, 0 }, { 72, 61, 45, 10, 2, 0 }, + { 73, 62, 46, 10, 2, 0 }, { 73, 63, 46, 10, 2, 0 }, { 74, 64, 47, 10, 2, 0 }, { 74, 65, 47, 10, 2, 0 }, { 75, 66, 48, 10, 2, 0 }, + { 75, 67, 49, 10, 2, 0 }, { 75, 68, 49, 10, 2, 0 }, { 76, 69, 50, 10, 2, 0 }, { 76, 70, 50, 10, 2, 0 }, { 76, 71, 51, 10, 2, 0 }, + { 77, 72, 51, 9, 2, 0 }, { 77, 73, 52, 9, 2, 0 }, { 77, 74, 52, 9, 2, 0 }, { 77, 75, 53, 9, 2, 0 }, { 78, 76, 53, 9, 2, 0 }, + { 78, 77, 54, 9, 2, 0 }, { 78, 78, 54, 9, 2, 0 }, { 78, 79, 55, 9, 2, 0 }, { 78, 80, 55, 9, 2, 0 }, { 79, 81, 56, 9, 2, 0 }, + { 79, 82, 57, 9, 2, 0 }, { 79, 83, 57, 9, 2, 0 }, { 79, 84, 58, 9, 2, 0 }, { 79, 85, 58, 9, 2, 0 }, { 79, 86, 58, 9, 2, 0 }, + { 80, 87, 59, 9, 2, 0 }, { 80, 88, 60, 8, 2, 0 }, { 80, 89, 60, 8, 2, 0 }, { 80, 90, 61, 8, 2, 0 }, { 80, 91, 61, 8, 2, 0 }, + { 80, 92, 62, 8, 2, 0 }, { 80, 93, 62, 8, 2, 0 }, { 80, 94, 63, 8, 2, 0 }, { 80, 95, 63, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D1093 = { - 113, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 23, 2, 0 }, { 17, 23, 4, 23, 2, 0 }, { 17, 22, 5, 23, 2, 0 }, - { 17, 21, 5, 23, 2, 0 }, { 17, 20, 5, 23, 2, 0 }, { 17, 19, 6, 23, 2, 0 }, { 17, 18, 6, 23, 2, 0 }, { 18, 17, 7, 23, 2, 0 }, - { 18, 16, 8, 23, 2, 0 }, { 18, 15, 8, 23, 2, 0 }, { 18, 14, 9, 23, 2, 0 }, { 18, 13, 9, 23, 2, 0 }, { 19, 12, 10, 23, 2, 0 }, - { 19, 11, 10, 23, 2, 0 }, { 19, 10, 11, 22, 2, 0 }, { 19, 9, 11, 22, 2, 0 }, { 20, 8, 12, 22, 2, 0 }, { 20, 7, 12, 22, 2, 0 }, - { 20, 6, 13, 22, 2, 0 }, { 21, 5, 13, 22, 2, 0 }, { 21, 4, 14, 22, 2, 0 }, { 21, 3, 14, 22, 2, 0 }, { 22, 2, 15, 22, 2, 0 }, - { 22, 1, 16, 22, 2, 0 }, { 23, 0, 16, 22, 2, 0 }, { 23, -1, 17, 22, 2, 0 }, { 24, -2, 17, 22, 2, 0 }, { 24, -3, 18, 22, 2, 0 }, - { 25, -4, 18, 22, 2, 0 }, { 25, -5, 19, 21, 2, 0 }, { 26, -6, 20, 21, 2, 0 }, { 26, -7, 20, 21, 2, 0 }, { 27, -8, 21, 21, 2, 0 }, - { 28, -9, 21, 21, 2, 0 }, { 28, -10, 22, 21, 2, 0 }, { 29, -11, 23, 21, 2, 0 }, { 30, -12, 23, 21, 2, 0 }, { 30, -13, 24, 21, 2, 0 }, - { 31, -14, 24, 21, 2, 0 }, { 32, -15, 25, 21, 2, 0 }, { 32, -16, 26, 21, 2, 0 }, { 33, -17, 26, 21, 2, 0 }, { 34, -18, 27, 20, 2, 0 }, - { 35, -19, 28, 20, 2, 0 }, { 35, -20, 28, 20, 2, 0 }, { 36, -21, 29, 20, 2, 0 }, { 37, -22, 29, 20, 2, 0 }, { 38, -23, 30, 20, 2, 0 }, - { 39, -24, 31, 20, 2, 0 }, { 39, -25, 32, 20, 2, 0 }, { 40, -26, 32, 20, 2, 0 }, { 41, -27, 33, 20, 2, 0 }, { 42, -28, 33, 20, 2, 0 }, - { 43, -29, 34, 20, 2, 0 }, { 44, -29, 35, 20, 2, 0 }, { 45, -30, 35, 19, 2, 0 }, { 46, -31, 36, 19, 2, 0 }, { 47, -32, 37, 19, 2, 0 }, - { 48, -32, 37, 19, 2, 0 }, { 49, -33, 38, 19, 2, 0 }, { 50, -34, 38, 19, 2, 0 }, { 51, -34, 39, 19, 2, 0 }, { 52, -35, 40, 19, 2, 0 }, - { 53, -36, 40, 19, 2, 0 }, { 54, -36, 41, 19, 2, 0 }, { 55, -37, 41, 19, 2, 0 }, { 56, -38, 42, 19, 2, 0 }, { 57, -38, 43, 19, 2, 0 }, - { 58, -39, 43, 18, 2, 0 }, { 59, -39, 44, 18, 2, 0 }, { 60, -40, 44, 18, 2, 0 }, { 61, -40, 45, 18, 2, 0 }, { 62, -41, 46, 18, 2, 0 }, - { 63, -41, 46, 18, 2, 0 }, { 64, -42, 47, 18, 2, 0 }, { 65, -42, 47, 18, 2, 0 }, { 66, -43, 48, 18, 2, 0 }, { 67, -43, 49, 18, 2, 0 }, - { 68, -43, 49, 18, 2, 0 }, { 69, -44, 50, 18, 2, 0 }, { 70, -44, 50, 18, 2, 0 }, { 71, -44, 51, 18, 2, 0 }, { 72, -45, 51, 17, 2, 0 }, - { 73, -45, 52, 17, 2, 0 }, { 74, -45, 52, 17, 2, 0 }, { 75, -45, 53, 17, 2, 0 }, { 76, -46, 53, 17, 2, 0 }, { 77, -46, 54, 17, 2, 0 }, - { 78, -46, 54, 17, 2, 0 }, { 79, -46, 55, 17, 2, 0 }, { 80, -46, 55, 17, 2, 0 }, { 81, -47, 56, 17, 2, 0 }, { 82, -47, 57, 17, 2, 0 }, - { 83, -47, 57, 17, 2, 0 }, { 84, -47, 58, 17, 2, 0 }, { 85, -47, 58, 17, 2, 0 }, { 86, -47, 58, 17, 2, 0 }, { 87, -48, 59, 17, 2, 0 }, - { 88, -48, 60, 16, 2, 0 }, { 89, -48, 60, 16, 2, 0 }, { 90, -48, 61, 16, 2, 0 }, { 91, -48, 61, 16, 2, 0 }, { 92, -48, 62, 16, 2, 0 }, - { 93, -48, 62, 16, 2, 0 }, { 94, -48, 63, 16, 2, 0 }, { 95, -48, 63, 16, 2, 0 }, + 113, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 23, 2, 0 }, { 17, 23, 4, 23, 2, 0 }, { 17, 22, 5, 23, 2, 0 }, + { 17, 21, 5, 23, 2, 0 }, { 17, 20, 5, 23, 2, 0 }, { 17, 19, 6, 23, 2, 0 }, { 17, 18, 6, 23, 2, 0 }, { 18, 17, 7, 23, 2, 0 }, + { 18, 16, 8, 23, 2, 0 }, { 18, 15, 8, 23, 2, 0 }, { 18, 14, 9, 23, 2, 0 }, { 18, 13, 9, 23, 2, 0 }, { 19, 12, 10, 23, 2, 0 }, + { 19, 11, 10, 23, 2, 0 }, { 19, 10, 11, 22, 2, 0 }, { 19, 9, 11, 22, 2, 0 }, { 20, 8, 12, 22, 2, 0 }, { 20, 7, 12, 22, 2, 0 }, + { 20, 6, 13, 22, 2, 0 }, { 21, 5, 13, 22, 2, 0 }, { 21, 4, 14, 22, 2, 0 }, { 21, 3, 14, 22, 2, 0 }, { 22, 2, 15, 22, 2, 0 }, + { 22, 1, 16, 22, 2, 0 }, { 23, 0, 16, 22, 2, 0 }, { 23, -1, 17, 22, 2, 0 }, { 24, -2, 17, 22, 2, 0 }, { 24, -3, 18, 22, 2, 0 }, + { 25, -4, 18, 22, 2, 0 }, { 25, -5, 19, 21, 2, 0 }, { 26, -6, 20, 21, 2, 0 }, { 26, -7, 20, 21, 2, 0 }, { 27, -8, 21, 21, 2, 0 }, + { 28, -9, 21, 21, 2, 0 }, { 28, -10, 22, 21, 2, 0 }, { 29, -11, 23, 21, 2, 0 }, { 30, -12, 23, 21, 2, 0 }, { 30, -13, 24, 21, 2, 0 }, + { 31, -14, 24, 21, 2, 0 }, { 32, -15, 25, 21, 2, 0 }, { 32, -16, 26, 21, 2, 0 }, { 33, -17, 26, 21, 2, 0 }, { 34, -18, 27, 20, 2, 0 }, + { 35, -19, 28, 20, 2, 0 }, { 35, -20, 28, 20, 2, 0 }, { 36, -21, 29, 20, 2, 0 }, { 37, -22, 29, 20, 2, 0 }, { 38, -23, 30, 20, 2, 0 }, + { 39, -24, 31, 20, 2, 0 }, { 39, -25, 32, 20, 2, 0 }, { 40, -26, 32, 20, 2, 0 }, { 41, -27, 33, 20, 2, 0 }, { 42, -28, 33, 20, 2, 0 }, + { 43, -29, 34, 20, 2, 0 }, { 44, -29, 35, 20, 2, 0 }, { 45, -30, 35, 19, 2, 0 }, { 46, -31, 36, 19, 2, 0 }, { 47, -32, 37, 19, 2, 0 }, + { 48, -32, 37, 19, 2, 0 }, { 49, -33, 38, 19, 2, 0 }, { 50, -34, 38, 19, 2, 0 }, { 51, -34, 39, 19, 2, 0 }, { 52, -35, 40, 19, 2, 0 }, + { 53, -36, 40, 19, 2, 0 }, { 54, -36, 41, 19, 2, 0 }, { 55, -37, 41, 19, 2, 0 }, { 56, -38, 42, 19, 2, 0 }, { 57, -38, 43, 19, 2, 0 }, + { 58, -39, 43, 18, 2, 0 }, { 59, -39, 44, 18, 2, 0 }, { 60, -40, 44, 18, 2, 0 }, { 61, -40, 45, 18, 2, 0 }, { 62, -41, 46, 18, 2, 0 }, + { 63, -41, 46, 18, 2, 0 }, { 64, -42, 47, 18, 2, 0 }, { 65, -42, 47, 18, 2, 0 }, { 66, -43, 48, 18, 2, 0 }, { 67, -43, 49, 18, 2, 0 }, + { 68, -43, 49, 18, 2, 0 }, { 69, -44, 50, 18, 2, 0 }, { 70, -44, 50, 18, 2, 0 }, { 71, -44, 51, 18, 2, 0 }, { 72, -45, 51, 17, 2, 0 }, + { 73, -45, 52, 17, 2, 0 }, { 74, -45, 52, 17, 2, 0 }, { 75, -45, 53, 17, 2, 0 }, { 76, -46, 53, 17, 2, 0 }, { 77, -46, 54, 17, 2, 0 }, + { 78, -46, 54, 17, 2, 0 }, { 79, -46, 55, 17, 2, 0 }, { 80, -46, 55, 17, 2, 0 }, { 81, -47, 56, 17, 2, 0 }, { 82, -47, 57, 17, 2, 0 }, + { 83, -47, 57, 17, 2, 0 }, { 84, -47, 58, 17, 2, 0 }, { 85, -47, 58, 17, 2, 0 }, { 86, -47, 58, 17, 2, 0 }, { 87, -48, 59, 17, 2, 0 }, + { 88, -48, 60, 16, 2, 0 }, { 89, -48, 60, 16, 2, 0 }, { 90, -48, 61, 16, 2, 0 }, { 91, -48, 61, 16, 2, 0 }, { 92, -48, 62, 16, 2, 0 }, + { 93, -48, 62, 16, 2, 0 }, { 94, -48, 63, 16, 2, 0 }, { 95, -48, 63, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D148E = { - 113, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 1, 2, 0 }, { 23, 17, 4, 1, 2, 0 }, { 22, 17, 5, 1, 2, 0 }, - { 21, 17, 5, 1, 2, 0 }, { 20, 17, 5, 1, 2, 0 }, { 19, 17, 6, 1, 2, 0 }, { 18, 17, 6, 1, 2, 0 }, { 17, 18, 7, 1, 2, 0 }, - { 16, 18, 8, 1, 2, 0 }, { 15, 18, 8, 1, 2, 0 }, { 14, 18, 9, 1, 2, 0 }, { 13, 18, 9, 1, 2, 0 }, { 12, 19, 10, 1, 2, 0 }, - { 11, 19, 10, 1, 2, 0 }, { 10, 19, 11, 2, 2, 0 }, { 9, 19, 11, 2, 2, 0 }, { 8, 20, 12, 2, 2, 0 }, { 7, 20, 12, 2, 2, 0 }, - { 6, 20, 13, 2, 2, 0 }, { 5, 21, 13, 2, 2, 0 }, { 4, 21, 14, 2, 2, 0 }, { 3, 21, 14, 2, 2, 0 }, { 2, 22, 15, 2, 2, 0 }, - { 1, 22, 16, 2, 2, 0 }, { 0, 23, 16, 2, 2, 0 }, { -1, 23, 17, 2, 2, 0 }, { -2, 24, 17, 2, 2, 0 }, { -3, 24, 18, 2, 2, 0 }, - { -4, 25, 18, 2, 2, 0 }, { -5, 25, 19, 3, 2, 0 }, { -6, 26, 20, 3, 2, 0 }, { -7, 26, 20, 3, 2, 0 }, { -8, 27, 21, 3, 2, 0 }, - { -9, 28, 21, 3, 2, 0 }, { -10, 28, 22, 3, 2, 0 }, { -11, 29, 23, 3, 2, 0 }, { -12, 30, 23, 3, 2, 0 }, { -13, 30, 24, 3, 2, 0 }, - { -14, 31, 24, 3, 2, 0 }, { -15, 32, 25, 3, 2, 0 }, { -16, 32, 26, 3, 2, 0 }, { -17, 33, 26, 3, 2, 0 }, { -18, 34, 27, 4, 2, 0 }, - { -19, 35, 28, 4, 2, 0 }, { -20, 35, 28, 4, 2, 0 }, { -21, 36, 29, 4, 2, 0 }, { -22, 37, 29, 4, 2, 0 }, { -23, 38, 30, 4, 2, 0 }, - { -24, 39, 31, 4, 2, 0 }, { -25, 39, 32, 4, 2, 0 }, { -26, 40, 32, 4, 2, 0 }, { -27, 41, 33, 4, 2, 0 }, { -28, 42, 33, 4, 2, 0 }, - { -29, 43, 34, 4, 2, 0 }, { -29, 44, 35, 4, 2, 0 }, { -30, 45, 35, 5, 2, 0 }, { -31, 46, 36, 5, 2, 0 }, { -32, 47, 37, 5, 2, 0 }, - { -32, 48, 37, 5, 2, 0 }, { -33, 49, 38, 5, 2, 0 }, { -34, 50, 38, 5, 2, 0 }, { -34, 51, 39, 5, 2, 0 }, { -35, 52, 40, 5, 2, 0 }, - { -36, 53, 40, 5, 2, 0 }, { -36, 54, 41, 5, 2, 0 }, { -37, 55, 41, 5, 2, 0 }, { -38, 56, 42, 5, 2, 0 }, { -38, 57, 43, 5, 2, 0 }, - { -39, 58, 43, 6, 2, 0 }, { -39, 59, 44, 6, 2, 0 }, { -40, 60, 44, 6, 2, 0 }, { -40, 61, 45, 6, 2, 0 }, { -41, 62, 46, 6, 2, 0 }, - { -41, 63, 46, 6, 2, 0 }, { -42, 64, 47, 6, 2, 0 }, { -42, 65, 47, 6, 2, 0 }, { -43, 66, 48, 6, 2, 0 }, { -43, 67, 49, 6, 2, 0 }, - { -43, 68, 49, 6, 2, 0 }, { -44, 69, 50, 6, 2, 0 }, { -44, 70, 50, 6, 2, 0 }, { -44, 71, 51, 6, 2, 0 }, { -45, 72, 51, 7, 2, 0 }, - { -45, 73, 52, 7, 2, 0 }, { -45, 74, 52, 7, 2, 0 }, { -45, 75, 53, 7, 2, 0 }, { -46, 76, 53, 7, 2, 0 }, { -46, 77, 54, 7, 2, 0 }, - { -46, 78, 54, 7, 2, 0 }, { -46, 79, 55, 7, 2, 0 }, { -46, 80, 55, 7, 2, 0 }, { -47, 81, 56, 7, 2, 0 }, { -47, 82, 57, 7, 2, 0 }, - { -47, 83, 57, 7, 2, 0 }, { -47, 84, 58, 7, 2, 0 }, { -47, 85, 58, 7, 2, 0 }, { -47, 86, 58, 7, 2, 0 }, { -48, 87, 59, 7, 2, 0 }, - { -48, 88, 60, 8, 2, 0 }, { -48, 89, 60, 8, 2, 0 }, { -48, 90, 61, 8, 2, 0 }, { -48, 91, 61, 8, 2, 0 }, { -48, 92, 62, 8, 2, 0 }, - { -48, 93, 62, 8, 2, 0 }, { -48, 94, 63, 8, 2, 0 }, { -48, 95, 63, 8, 2, 0 }, + 113, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 1, 2, 0 }, { 23, 17, 4, 1, 2, 0 }, { 22, 17, 5, 1, 2, 0 }, + { 21, 17, 5, 1, 2, 0 }, { 20, 17, 5, 1, 2, 0 }, { 19, 17, 6, 1, 2, 0 }, { 18, 17, 6, 1, 2, 0 }, { 17, 18, 7, 1, 2, 0 }, + { 16, 18, 8, 1, 2, 0 }, { 15, 18, 8, 1, 2, 0 }, { 14, 18, 9, 1, 2, 0 }, { 13, 18, 9, 1, 2, 0 }, { 12, 19, 10, 1, 2, 0 }, + { 11, 19, 10, 1, 2, 0 }, { 10, 19, 11, 2, 2, 0 }, { 9, 19, 11, 2, 2, 0 }, { 8, 20, 12, 2, 2, 0 }, { 7, 20, 12, 2, 2, 0 }, + { 6, 20, 13, 2, 2, 0 }, { 5, 21, 13, 2, 2, 0 }, { 4, 21, 14, 2, 2, 0 }, { 3, 21, 14, 2, 2, 0 }, { 2, 22, 15, 2, 2, 0 }, + { 1, 22, 16, 2, 2, 0 }, { 0, 23, 16, 2, 2, 0 }, { -1, 23, 17, 2, 2, 0 }, { -2, 24, 17, 2, 2, 0 }, { -3, 24, 18, 2, 2, 0 }, + { -4, 25, 18, 2, 2, 0 }, { -5, 25, 19, 3, 2, 0 }, { -6, 26, 20, 3, 2, 0 }, { -7, 26, 20, 3, 2, 0 }, { -8, 27, 21, 3, 2, 0 }, + { -9, 28, 21, 3, 2, 0 }, { -10, 28, 22, 3, 2, 0 }, { -11, 29, 23, 3, 2, 0 }, { -12, 30, 23, 3, 2, 0 }, { -13, 30, 24, 3, 2, 0 }, + { -14, 31, 24, 3, 2, 0 }, { -15, 32, 25, 3, 2, 0 }, { -16, 32, 26, 3, 2, 0 }, { -17, 33, 26, 3, 2, 0 }, { -18, 34, 27, 4, 2, 0 }, + { -19, 35, 28, 4, 2, 0 }, { -20, 35, 28, 4, 2, 0 }, { -21, 36, 29, 4, 2, 0 }, { -22, 37, 29, 4, 2, 0 }, { -23, 38, 30, 4, 2, 0 }, + { -24, 39, 31, 4, 2, 0 }, { -25, 39, 32, 4, 2, 0 }, { -26, 40, 32, 4, 2, 0 }, { -27, 41, 33, 4, 2, 0 }, { -28, 42, 33, 4, 2, 0 }, + { -29, 43, 34, 4, 2, 0 }, { -29, 44, 35, 4, 2, 0 }, { -30, 45, 35, 5, 2, 0 }, { -31, 46, 36, 5, 2, 0 }, { -32, 47, 37, 5, 2, 0 }, + { -32, 48, 37, 5, 2, 0 }, { -33, 49, 38, 5, 2, 0 }, { -34, 50, 38, 5, 2, 0 }, { -34, 51, 39, 5, 2, 0 }, { -35, 52, 40, 5, 2, 0 }, + { -36, 53, 40, 5, 2, 0 }, { -36, 54, 41, 5, 2, 0 }, { -37, 55, 41, 5, 2, 0 }, { -38, 56, 42, 5, 2, 0 }, { -38, 57, 43, 5, 2, 0 }, + { -39, 58, 43, 6, 2, 0 }, { -39, 59, 44, 6, 2, 0 }, { -40, 60, 44, 6, 2, 0 }, { -40, 61, 45, 6, 2, 0 }, { -41, 62, 46, 6, 2, 0 }, + { -41, 63, 46, 6, 2, 0 }, { -42, 64, 47, 6, 2, 0 }, { -42, 65, 47, 6, 2, 0 }, { -43, 66, 48, 6, 2, 0 }, { -43, 67, 49, 6, 2, 0 }, + { -43, 68, 49, 6, 2, 0 }, { -44, 69, 50, 6, 2, 0 }, { -44, 70, 50, 6, 2, 0 }, { -44, 71, 51, 6, 2, 0 }, { -45, 72, 51, 7, 2, 0 }, + { -45, 73, 52, 7, 2, 0 }, { -45, 74, 52, 7, 2, 0 }, { -45, 75, 53, 7, 2, 0 }, { -46, 76, 53, 7, 2, 0 }, { -46, 77, 54, 7, 2, 0 }, + { -46, 78, 54, 7, 2, 0 }, { -46, 79, 55, 7, 2, 0 }, { -46, 80, 55, 7, 2, 0 }, { -47, 81, 56, 7, 2, 0 }, { -47, 82, 57, 7, 2, 0 }, + { -47, 83, 57, 7, 2, 0 }, { -47, 84, 58, 7, 2, 0 }, { -47, 85, 58, 7, 2, 0 }, { -47, 86, 58, 7, 2, 0 }, { -48, 87, 59, 7, 2, 0 }, + { -48, 88, 60, 8, 2, 0 }, { -48, 89, 60, 8, 2, 0 }, { -48, 90, 61, 8, 2, 0 }, { -48, 91, 61, 8, 2, 0 }, { -48, 92, 62, 8, 2, 0 }, + { -48, 93, 62, 8, 2, 0 }, { -48, 94, 63, 8, 2, 0 }, { -48, 95, 63, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D1889 = { - 114, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 0, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 1, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 2, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 3, 9, 2, 0 }, { 17, 9, 4, 9, 2, 0 }, - { 17, 10, 5, 9, 2, 0 }, { 17, 11, 5, 9, 2, 0 }, { 17, 12, 5, 9, 2, 0 }, { 17, 13, 6, 9, 2, 0 }, { 17, 14, 6, 9, 2, 0 }, - { 18, 15, 7, 9, 2, 0 }, { 18, 16, 8, 9, 2, 0 }, { 18, 17, 8, 9, 2, 0 }, { 18, 18, 9, 9, 2, 0 }, { 18, 19, 9, 9, 2, 0 }, - { 19, 20, 10, 9, 2, 0 }, { 19, 21, 10, 9, 2, 0 }, { 19, 22, 11, 10, 2, 0 }, { 19, 23, 11, 10, 2, 0 }, { 20, 24, 12, 10, 2, 0 }, - { 20, 25, 12, 10, 2, 0 }, { 20, 26, 13, 10, 2, 0 }, { 21, 27, 13, 10, 2, 0 }, { 21, 28, 14, 10, 2, 0 }, { 21, 29, 14, 10, 2, 0 }, - { 22, 30, 15, 10, 2, 0 }, { 22, 31, 16, 10, 2, 0 }, { 23, 32, 16, 10, 2, 0 }, { 23, 33, 17, 10, 2, 0 }, { 24, 34, 17, 10, 2, 0 }, - { 24, 35, 18, 10, 2, 0 }, { 25, 36, 18, 10, 2, 0 }, { 25, 37, 19, 11, 2, 0 }, { 26, 38, 20, 11, 2, 0 }, { 26, 39, 20, 11, 2, 0 }, - { 27, 40, 21, 11, 2, 0 }, { 28, 41, 21, 11, 2, 0 }, { 28, 42, 22, 11, 2, 0 }, { 29, 43, 23, 11, 2, 0 }, { 30, 44, 23, 11, 2, 0 }, - { 30, 45, 24, 11, 2, 0 }, { 31, 46, 24, 11, 2, 0 }, { 32, 47, 25, 11, 2, 0 }, { 32, 48, 26, 11, 2, 0 }, { 33, 49, 26, 11, 2, 0 }, - { 34, 50, 27, 12, 2, 0 }, { 35, 51, 28, 12, 2, 0 }, { 35, 52, 28, 12, 2, 0 }, { 36, 53, 29, 12, 2, 0 }, { 37, 54, 29, 12, 2, 0 }, - { 38, 55, 30, 12, 2, 0 }, { 39, 56, 31, 12, 2, 0 }, { 39, 57, 32, 12, 2, 0 }, { 40, 58, 32, 12, 2, 0 }, { 41, 59, 33, 12, 2, 0 }, - { 42, 60, 33, 12, 2, 0 }, { 43, 61, 34, 12, 2, 0 }, { 44, 61, 35, 12, 2, 0 }, { 45, 62, 35, 13, 2, 0 }, { 46, 63, 36, 13, 2, 0 }, - { 47, 64, 37, 13, 2, 0 }, { 48, 64, 37, 13, 2, 0 }, { 49, 65, 38, 13, 2, 0 }, { 50, 66, 38, 13, 2, 0 }, { 51, 66, 39, 13, 2, 0 }, - { 52, 67, 40, 13, 2, 0 }, { 53, 68, 40, 13, 2, 0 }, { 54, 68, 41, 13, 2, 0 }, { 55, 69, 41, 13, 2, 0 }, { 56, 70, 42, 13, 2, 0 }, - { 57, 70, 43, 13, 2, 0 }, { 58, 71, 43, 14, 2, 0 }, { 59, 71, 44, 14, 2, 0 }, { 60, 72, 44, 14, 2, 0 }, { 61, 72, 45, 14, 2, 0 }, - { 62, 73, 46, 14, 2, 0 }, { 63, 73, 46, 14, 2, 0 }, { 64, 74, 47, 14, 2, 0 }, { 65, 74, 47, 14, 2, 0 }, { 66, 75, 48, 14, 2, 0 }, - { 67, 75, 49, 14, 2, 0 }, { 68, 75, 49, 14, 2, 0 }, { 69, 76, 50, 14, 2, 0 }, { 70, 76, 50, 14, 2, 0 }, { 71, 76, 51, 14, 2, 0 }, - { 72, 77, 51, 15, 2, 0 }, { 73, 77, 52, 15, 2, 0 }, { 74, 77, 52, 15, 2, 0 }, { 75, 77, 53, 15, 2, 0 }, { 76, 78, 53, 15, 2, 0 }, - { 77, 78, 54, 15, 2, 0 }, { 78, 78, 54, 15, 2, 0 }, { 79, 78, 55, 15, 2, 0 }, { 80, 78, 55, 15, 2, 0 }, { 81, 79, 56, 15, 2, 0 }, - { 82, 79, 57, 15, 2, 0 }, { 83, 79, 57, 15, 2, 0 }, { 84, 79, 58, 15, 2, 0 }, { 85, 79, 58, 15, 2, 0 }, { 86, 79, 58, 15, 2, 0 }, - { 87, 80, 59, 15, 2, 0 }, { 88, 80, 60, 16, 2, 0 }, { 89, 80, 60, 16, 2, 0 }, { 90, 80, 61, 16, 2, 0 }, { 91, 80, 61, 16, 2, 0 }, - { 92, 80, 62, 16, 2, 0 }, { 93, 80, 62, 16, 2, 0 }, { 94, 80, 63, 16, 2, 0 }, { 95, 80, 63, 16, 2, 0 }, + 114, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 0, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 1, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 2, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 3, 9, 2, 0 }, { 17, 9, 4, 9, 2, 0 }, + { 17, 10, 5, 9, 2, 0 }, { 17, 11, 5, 9, 2, 0 }, { 17, 12, 5, 9, 2, 0 }, { 17, 13, 6, 9, 2, 0 }, { 17, 14, 6, 9, 2, 0 }, + { 18, 15, 7, 9, 2, 0 }, { 18, 16, 8, 9, 2, 0 }, { 18, 17, 8, 9, 2, 0 }, { 18, 18, 9, 9, 2, 0 }, { 18, 19, 9, 9, 2, 0 }, + { 19, 20, 10, 9, 2, 0 }, { 19, 21, 10, 9, 2, 0 }, { 19, 22, 11, 10, 2, 0 }, { 19, 23, 11, 10, 2, 0 }, { 20, 24, 12, 10, 2, 0 }, + { 20, 25, 12, 10, 2, 0 }, { 20, 26, 13, 10, 2, 0 }, { 21, 27, 13, 10, 2, 0 }, { 21, 28, 14, 10, 2, 0 }, { 21, 29, 14, 10, 2, 0 }, + { 22, 30, 15, 10, 2, 0 }, { 22, 31, 16, 10, 2, 0 }, { 23, 32, 16, 10, 2, 0 }, { 23, 33, 17, 10, 2, 0 }, { 24, 34, 17, 10, 2, 0 }, + { 24, 35, 18, 10, 2, 0 }, { 25, 36, 18, 10, 2, 0 }, { 25, 37, 19, 11, 2, 0 }, { 26, 38, 20, 11, 2, 0 }, { 26, 39, 20, 11, 2, 0 }, + { 27, 40, 21, 11, 2, 0 }, { 28, 41, 21, 11, 2, 0 }, { 28, 42, 22, 11, 2, 0 }, { 29, 43, 23, 11, 2, 0 }, { 30, 44, 23, 11, 2, 0 }, + { 30, 45, 24, 11, 2, 0 }, { 31, 46, 24, 11, 2, 0 }, { 32, 47, 25, 11, 2, 0 }, { 32, 48, 26, 11, 2, 0 }, { 33, 49, 26, 11, 2, 0 }, + { 34, 50, 27, 12, 2, 0 }, { 35, 51, 28, 12, 2, 0 }, { 35, 52, 28, 12, 2, 0 }, { 36, 53, 29, 12, 2, 0 }, { 37, 54, 29, 12, 2, 0 }, + { 38, 55, 30, 12, 2, 0 }, { 39, 56, 31, 12, 2, 0 }, { 39, 57, 32, 12, 2, 0 }, { 40, 58, 32, 12, 2, 0 }, { 41, 59, 33, 12, 2, 0 }, + { 42, 60, 33, 12, 2, 0 }, { 43, 61, 34, 12, 2, 0 }, { 44, 61, 35, 12, 2, 0 }, { 45, 62, 35, 13, 2, 0 }, { 46, 63, 36, 13, 2, 0 }, + { 47, 64, 37, 13, 2, 0 }, { 48, 64, 37, 13, 2, 0 }, { 49, 65, 38, 13, 2, 0 }, { 50, 66, 38, 13, 2, 0 }, { 51, 66, 39, 13, 2, 0 }, + { 52, 67, 40, 13, 2, 0 }, { 53, 68, 40, 13, 2, 0 }, { 54, 68, 41, 13, 2, 0 }, { 55, 69, 41, 13, 2, 0 }, { 56, 70, 42, 13, 2, 0 }, + { 57, 70, 43, 13, 2, 0 }, { 58, 71, 43, 14, 2, 0 }, { 59, 71, 44, 14, 2, 0 }, { 60, 72, 44, 14, 2, 0 }, { 61, 72, 45, 14, 2, 0 }, + { 62, 73, 46, 14, 2, 0 }, { 63, 73, 46, 14, 2, 0 }, { 64, 74, 47, 14, 2, 0 }, { 65, 74, 47, 14, 2, 0 }, { 66, 75, 48, 14, 2, 0 }, + { 67, 75, 49, 14, 2, 0 }, { 68, 75, 49, 14, 2, 0 }, { 69, 76, 50, 14, 2, 0 }, { 70, 76, 50, 14, 2, 0 }, { 71, 76, 51, 14, 2, 0 }, + { 72, 77, 51, 15, 2, 0 }, { 73, 77, 52, 15, 2, 0 }, { 74, 77, 52, 15, 2, 0 }, { 75, 77, 53, 15, 2, 0 }, { 76, 78, 53, 15, 2, 0 }, + { 77, 78, 54, 15, 2, 0 }, { 78, 78, 54, 15, 2, 0 }, { 79, 78, 55, 15, 2, 0 }, { 80, 78, 55, 15, 2, 0 }, { 81, 79, 56, 15, 2, 0 }, + { 82, 79, 57, 15, 2, 0 }, { 83, 79, 57, 15, 2, 0 }, { 84, 79, 58, 15, 2, 0 }, { 85, 79, 58, 15, 2, 0 }, { 86, 79, 58, 15, 2, 0 }, + { 87, 80, 59, 15, 2, 0 }, { 88, 80, 60, 16, 2, 0 }, { 89, 80, 60, 16, 2, 0 }, { 90, 80, 61, 16, 2, 0 }, { 91, 80, 61, 16, 2, 0 }, + { 92, 80, 62, 16, 2, 0 }, { 93, 80, 62, 16, 2, 0 }, { 94, 80, 63, 16, 2, 0 }, { 95, 80, 63, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D1C8D = { - 115, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 0, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 1, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 2, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 3, 17, 2, 0 }, { 9, 15, 4, 17, 2, 0 }, - { 10, 15, 4, 17, 2, 0 }, { 11, 15, 5, 17, 2, 0 }, { 12, 15, 5, 17, 2, 0 }, { 13, 15, 6, 17, 2, 0 }, { 14, 15, 6, 17, 2, 0 }, - { 15, 14, 7, 17, 2, 0 }, { 16, 14, 8, 17, 2, 0 }, { 17, 14, 8, 17, 2, 0 }, { 18, 14, 8, 17, 2, 0 }, { 19, 14, 9, 17, 2, 0 }, - { 20, 13, 9, 17, 2, 0 }, { 21, 13, 10, 17, 2, 0 }, { 22, 13, 11, 18, 2, 0 }, { 23, 13, 11, 18, 2, 0 }, { 24, 12, 12, 18, 2, 0 }, - { 25, 12, 12, 18, 2, 0 }, { 26, 12, 13, 18, 2, 0 }, { 27, 11, 13, 18, 2, 0 }, { 28, 11, 14, 18, 2, 0 }, { 29, 11, 14, 18, 2, 0 }, - { 30, 10, 15, 18, 2, 0 }, { 31, 10, 15, 18, 2, 0 }, { 32, 9, 16, 18, 2, 0 }, { 33, 9, 17, 18, 2, 0 }, { 34, 8, 17, 18, 2, 0 }, - { 35, 8, 18, 18, 2, 0 }, { 36, 7, 18, 18, 2, 0 }, { 37, 7, 19, 19, 2, 0 }, { 38, 6, 19, 19, 2, 0 }, { 39, 6, 20, 19, 2, 0 }, - { 40, 5, 21, 19, 2, 0 }, { 41, 4, 21, 19, 2, 0 }, { 42, 4, 22, 19, 2, 0 }, { 43, 3, 22, 19, 2, 0 }, { 44, 2, 23, 19, 2, 0 }, - { 45, 2, 24, 19, 2, 0 }, { 46, 1, 24, 19, 2, 0 }, { 47, 0, 25, 19, 2, 0 }, { 48, 0, 26, 19, 2, 0 }, { 49, -1, 26, 19, 2, 0 }, - { 50, -2, 27, 20, 2, 0 }, { 51, -3, 27, 20, 2, 0 }, { 52, -3, 28, 20, 2, 0 }, { 53, -4, 29, 20, 2, 0 }, { 54, -5, 29, 20, 2, 0 }, - { 55, -6, 30, 20, 2, 0 }, { 56, -7, 31, 20, 2, 0 }, { 57, -7, 31, 20, 2, 0 }, { 58, -8, 32, 20, 2, 0 }, { 59, -9, 32, 20, 2, 0 }, - { 60, -10, 33, 20, 2, 0 }, { 61, -11, 34, 20, 2, 0 }, { 61, -12, 34, 20, 2, 0 }, { 62, -13, 35, 21, 2, 0 }, { 63, -14, 36, 21, 2, 0 }, - { 64, -15, 36, 21, 2, 0 }, { 64, -16, 37, 21, 2, 0 }, { 65, -17, 37, 21, 2, 0 }, { 66, -18, 38, 21, 2, 0 }, { 66, -19, 39, 21, 2, 0 }, - { 67, -20, 39, 21, 2, 0 }, { 68, -21, 40, 21, 2, 0 }, { 68, -22, 41, 21, 2, 0 }, { 69, -23, 41, 21, 2, 0 }, { 70, -24, 42, 21, 2, 0 }, - { 70, -25, 42, 21, 2, 0 }, { 71, -26, 43, 22, 2, 0 }, { 71, -27, 44, 22, 2, 0 }, { 72, -28, 44, 22, 2, 0 }, { 72, -29, 45, 22, 2, 0 }, - { 73, -30, 45, 22, 2, 0 }, { 73, -31, 46, 22, 2, 0 }, { 74, -32, 46, 22, 2, 0 }, { 74, -33, 47, 22, 2, 0 }, { 75, -34, 48, 22, 2, 0 }, - { 75, -35, 48, 22, 2, 0 }, { 75, -36, 49, 22, 2, 0 }, { 76, -37, 49, 22, 2, 0 }, { 76, -38, 50, 22, 2, 0 }, { 76, -39, 50, 22, 2, 0 }, - { 77, -40, 51, 23, 2, 0 }, { 77, -41, 51, 23, 2, 0 }, { 77, -42, 52, 23, 2, 0 }, { 77, -43, 52, 23, 2, 0 }, { 78, -44, 53, 23, 2, 0 }, - { 78, -45, 54, 23, 2, 0 }, { 78, -46, 54, 23, 2, 0 }, { 78, -47, 55, 23, 2, 0 }, { 78, -48, 55, 23, 2, 0 }, { 79, -49, 55, 23, 2, 0 }, - { 79, -50, 56, 23, 2, 0 }, { 79, -51, 57, 23, 2, 0 }, { 79, -52, 57, 23, 2, 0 }, { 79, -53, 58, 23, 2, 0 }, { 79, -54, 58, 23, 2, 0 }, - { 80, -55, 59, 23, 2, 0 }, { 80, -56, 59, 24, 2, 0 }, { 80, -57, 60, 24, 2, 0 }, { 80, -58, 60, 24, 2, 0 }, { 80, -59, 61, 24, 2, 0 }, - { 80, -60, 61, 24, 2, 0 }, { 80, -61, 62, 24, 2, 0 }, { 80, -62, 62, 24, 2, 0 }, { 80, -63, 63, 24, 2, 0 }, { 80, -64, 64, 24, 2, 0 }, + 115, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 0, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 1, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 2, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 3, 17, 2, 0 }, { 9, 15, 4, 17, 2, 0 }, + { 10, 15, 4, 17, 2, 0 }, { 11, 15, 5, 17, 2, 0 }, { 12, 15, 5, 17, 2, 0 }, { 13, 15, 6, 17, 2, 0 }, { 14, 15, 6, 17, 2, 0 }, + { 15, 14, 7, 17, 2, 0 }, { 16, 14, 8, 17, 2, 0 }, { 17, 14, 8, 17, 2, 0 }, { 18, 14, 8, 17, 2, 0 }, { 19, 14, 9, 17, 2, 0 }, + { 20, 13, 9, 17, 2, 0 }, { 21, 13, 10, 17, 2, 0 }, { 22, 13, 11, 18, 2, 0 }, { 23, 13, 11, 18, 2, 0 }, { 24, 12, 12, 18, 2, 0 }, + { 25, 12, 12, 18, 2, 0 }, { 26, 12, 13, 18, 2, 0 }, { 27, 11, 13, 18, 2, 0 }, { 28, 11, 14, 18, 2, 0 }, { 29, 11, 14, 18, 2, 0 }, + { 30, 10, 15, 18, 2, 0 }, { 31, 10, 15, 18, 2, 0 }, { 32, 9, 16, 18, 2, 0 }, { 33, 9, 17, 18, 2, 0 }, { 34, 8, 17, 18, 2, 0 }, + { 35, 8, 18, 18, 2, 0 }, { 36, 7, 18, 18, 2, 0 }, { 37, 7, 19, 19, 2, 0 }, { 38, 6, 19, 19, 2, 0 }, { 39, 6, 20, 19, 2, 0 }, + { 40, 5, 21, 19, 2, 0 }, { 41, 4, 21, 19, 2, 0 }, { 42, 4, 22, 19, 2, 0 }, { 43, 3, 22, 19, 2, 0 }, { 44, 2, 23, 19, 2, 0 }, + { 45, 2, 24, 19, 2, 0 }, { 46, 1, 24, 19, 2, 0 }, { 47, 0, 25, 19, 2, 0 }, { 48, 0, 26, 19, 2, 0 }, { 49, -1, 26, 19, 2, 0 }, + { 50, -2, 27, 20, 2, 0 }, { 51, -3, 27, 20, 2, 0 }, { 52, -3, 28, 20, 2, 0 }, { 53, -4, 29, 20, 2, 0 }, { 54, -5, 29, 20, 2, 0 }, + { 55, -6, 30, 20, 2, 0 }, { 56, -7, 31, 20, 2, 0 }, { 57, -7, 31, 20, 2, 0 }, { 58, -8, 32, 20, 2, 0 }, { 59, -9, 32, 20, 2, 0 }, + { 60, -10, 33, 20, 2, 0 }, { 61, -11, 34, 20, 2, 0 }, { 61, -12, 34, 20, 2, 0 }, { 62, -13, 35, 21, 2, 0 }, { 63, -14, 36, 21, 2, 0 }, + { 64, -15, 36, 21, 2, 0 }, { 64, -16, 37, 21, 2, 0 }, { 65, -17, 37, 21, 2, 0 }, { 66, -18, 38, 21, 2, 0 }, { 66, -19, 39, 21, 2, 0 }, + { 67, -20, 39, 21, 2, 0 }, { 68, -21, 40, 21, 2, 0 }, { 68, -22, 41, 21, 2, 0 }, { 69, -23, 41, 21, 2, 0 }, { 70, -24, 42, 21, 2, 0 }, + { 70, -25, 42, 21, 2, 0 }, { 71, -26, 43, 22, 2, 0 }, { 71, -27, 44, 22, 2, 0 }, { 72, -28, 44, 22, 2, 0 }, { 72, -29, 45, 22, 2, 0 }, + { 73, -30, 45, 22, 2, 0 }, { 73, -31, 46, 22, 2, 0 }, { 74, -32, 46, 22, 2, 0 }, { 74, -33, 47, 22, 2, 0 }, { 75, -34, 48, 22, 2, 0 }, + { 75, -35, 48, 22, 2, 0 }, { 75, -36, 49, 22, 2, 0 }, { 76, -37, 49, 22, 2, 0 }, { 76, -38, 50, 22, 2, 0 }, { 76, -39, 50, 22, 2, 0 }, + { 77, -40, 51, 23, 2, 0 }, { 77, -41, 51, 23, 2, 0 }, { 77, -42, 52, 23, 2, 0 }, { 77, -43, 52, 23, 2, 0 }, { 78, -44, 53, 23, 2, 0 }, + { 78, -45, 54, 23, 2, 0 }, { 78, -46, 54, 23, 2, 0 }, { 78, -47, 55, 23, 2, 0 }, { 78, -48, 55, 23, 2, 0 }, { 79, -49, 55, 23, 2, 0 }, + { 79, -50, 56, 23, 2, 0 }, { 79, -51, 57, 23, 2, 0 }, { 79, -52, 57, 23, 2, 0 }, { 79, -53, 58, 23, 2, 0 }, { 79, -54, 58, 23, 2, 0 }, + { 80, -55, 59, 23, 2, 0 }, { 80, -56, 59, 24, 2, 0 }, { 80, -57, 60, 24, 2, 0 }, { 80, -58, 60, 24, 2, 0 }, { 80, -59, 61, 24, 2, 0 }, + { 80, -60, 61, 24, 2, 0 }, { 80, -61, 62, 24, 2, 0 }, { 80, -62, 62, 24, 2, 0 }, { 80, -63, 63, 24, 2, 0 }, { 80, -64, 64, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D209A = { - 114, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 25, 2, 0 }, { 15, 23, 4, 25, 2, 0 }, { 15, 22, 4, 25, 2, 0 }, - { 15, 21, 5, 25, 2, 0 }, { 15, 20, 5, 25, 2, 0 }, { 15, 19, 6, 25, 2, 0 }, { 15, 18, 6, 25, 2, 0 }, { 14, 17, 7, 25, 2, 0 }, - { 14, 16, 8, 25, 2, 0 }, { 14, 15, 8, 25, 2, 0 }, { 14, 14, 8, 25, 2, 0 }, { 14, 13, 9, 25, 2, 0 }, { 13, 12, 9, 25, 2, 0 }, - { 13, 11, 10, 25, 2, 0 }, { 13, 10, 11, 26, 2, 0 }, { 13, 9, 11, 26, 2, 0 }, { 12, 8, 12, 26, 2, 0 }, { 12, 7, 12, 26, 2, 0 }, - { 12, 6, 13, 26, 2, 0 }, { 11, 5, 13, 26, 2, 0 }, { 11, 4, 14, 26, 2, 0 }, { 11, 3, 14, 26, 2, 0 }, { 10, 2, 15, 26, 2, 0 }, - { 10, 1, 15, 26, 2, 0 }, { 9, 0, 16, 26, 2, 0 }, { 9, -1, 17, 26, 2, 0 }, { 8, -2, 17, 26, 2, 0 }, { 8, -3, 18, 26, 2, 0 }, - { 7, -4, 18, 26, 2, 0 }, { 7, -5, 19, 27, 2, 0 }, { 6, -6, 19, 27, 2, 0 }, { 6, -7, 20, 27, 2, 0 }, { 5, -8, 21, 27, 2, 0 }, - { 4, -9, 21, 27, 2, 0 }, { 4, -10, 22, 27, 2, 0 }, { 3, -11, 22, 27, 2, 0 }, { 2, -12, 23, 27, 2, 0 }, { 2, -13, 24, 27, 2, 0 }, - { 1, -14, 24, 27, 2, 0 }, { 0, -15, 25, 27, 2, 0 }, { 0, -16, 26, 27, 2, 0 }, { -1, -17, 26, 27, 2, 0 }, { -2, -18, 27, 28, 2, 0 }, - { -3, -19, 27, 28, 2, 0 }, { -3, -20, 28, 28, 2, 0 }, { -4, -21, 29, 28, 2, 0 }, { -5, -22, 29, 28, 2, 0 }, { -6, -23, 30, 28, 2, 0 }, - { -7, -24, 31, 28, 2, 0 }, { -7, -25, 32, 28, 2, 0 }, { -8, -26, 32, 28, 2, 0 }, { -9, -27, 33, 28, 2, 0 }, { -10, -28, 33, 28, 2, 0 }, - { -11, -29, 34, 28, 2, 0 }, { -12, -29, 35, 28, 2, 0 }, { -13, -30, 35, 29, 2, 0 }, { -14, -31, 36, 29, 2, 0 }, { -15, -32, 37, 29, 2, 0 }, - { -16, -32, 37, 29, 2, 0 }, { -17, -33, 38, 29, 2, 0 }, { -18, -34, 38, 29, 2, 0 }, { -19, -34, 39, 29, 2, 0 }, { -20, -35, 40, 29, 2, 0 }, - { -21, -36, 40, 29, 2, 0 }, { -22, -36, 41, 29, 2, 0 }, { -23, -37, 41, 29, 2, 0 }, { -24, -38, 42, 29, 2, 0 }, { -25, -38, 43, 29, 2, 0 }, - { -26, -39, 43, 30, 2, 0 }, { -27, -39, 44, 30, 2, 0 }, { -28, -40, 44, 30, 2, 0 }, { -29, -40, 45, 30, 2, 0 }, { -30, -41, 45, 30, 2, 0 }, - { -31, -41, 46, 30, 2, 0 }, { -32, -42, 47, 30, 2, 0 }, { -33, -42, 47, 30, 2, 0 }, { -34, -43, 48, 30, 2, 0 }, { -35, -43, 48, 30, 2, 0 }, - { -36, -43, 49, 30, 2, 0 }, { -37, -44, 49, 30, 2, 0 }, { -38, -44, 50, 30, 2, 0 }, { -39, -44, 51, 30, 2, 0 }, { -40, -45, 51, 31, 2, 0 }, - { -41, -45, 52, 31, 2, 0 }, { -42, -45, 52, 31, 2, 0 }, { -43, -45, 53, 31, 2, 0 }, { -44, -46, 53, 31, 2, 0 }, { -45, -46, 54, 31, 2, 0 }, - { -46, -46, 54, 31, 2, 0 }, { -47, -46, 55, 31, 2, 0 }, { -48, -46, 55, 31, 2, 0 }, { -49, -47, 56, 31, 2, 0 }, { -50, -47, 56, 31, 2, 0 }, - { -51, -47, 57, 31, 2, 0 }, { -52, -47, 57, 31, 2, 0 }, { -53, -47, 58, 31, 2, 0 }, { -54, -47, 58, 31, 2, 0 }, { -55, -48, 59, 31, 2, 0 }, - { -56, -48, 59, 0, 2, 0 }, { -57, -48, 60, 0, 2, 0 }, { -58, -48, 60, 0, 2, 0 }, { -59, -48, 61, 0, 2, 0 }, { -60, -48, 61, 0, 2, 0 }, - { -61, -48, 62, 0, 2, 0 }, { -62, -48, 62, 0, 2, 0 }, { -63, -48, 63, 0, 2, 0 }, { -64, -48, 64, 0, 2, 0 }, + 114, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 25, 2, 0 }, { 15, 23, 4, 25, 2, 0 }, { 15, 22, 4, 25, 2, 0 }, + { 15, 21, 5, 25, 2, 0 }, { 15, 20, 5, 25, 2, 0 }, { 15, 19, 6, 25, 2, 0 }, { 15, 18, 6, 25, 2, 0 }, { 14, 17, 7, 25, 2, 0 }, + { 14, 16, 8, 25, 2, 0 }, { 14, 15, 8, 25, 2, 0 }, { 14, 14, 8, 25, 2, 0 }, { 14, 13, 9, 25, 2, 0 }, { 13, 12, 9, 25, 2, 0 }, + { 13, 11, 10, 25, 2, 0 }, { 13, 10, 11, 26, 2, 0 }, { 13, 9, 11, 26, 2, 0 }, { 12, 8, 12, 26, 2, 0 }, { 12, 7, 12, 26, 2, 0 }, + { 12, 6, 13, 26, 2, 0 }, { 11, 5, 13, 26, 2, 0 }, { 11, 4, 14, 26, 2, 0 }, { 11, 3, 14, 26, 2, 0 }, { 10, 2, 15, 26, 2, 0 }, + { 10, 1, 15, 26, 2, 0 }, { 9, 0, 16, 26, 2, 0 }, { 9, -1, 17, 26, 2, 0 }, { 8, -2, 17, 26, 2, 0 }, { 8, -3, 18, 26, 2, 0 }, + { 7, -4, 18, 26, 2, 0 }, { 7, -5, 19, 27, 2, 0 }, { 6, -6, 19, 27, 2, 0 }, { 6, -7, 20, 27, 2, 0 }, { 5, -8, 21, 27, 2, 0 }, + { 4, -9, 21, 27, 2, 0 }, { 4, -10, 22, 27, 2, 0 }, { 3, -11, 22, 27, 2, 0 }, { 2, -12, 23, 27, 2, 0 }, { 2, -13, 24, 27, 2, 0 }, + { 1, -14, 24, 27, 2, 0 }, { 0, -15, 25, 27, 2, 0 }, { 0, -16, 26, 27, 2, 0 }, { -1, -17, 26, 27, 2, 0 }, { -2, -18, 27, 28, 2, 0 }, + { -3, -19, 27, 28, 2, 0 }, { -3, -20, 28, 28, 2, 0 }, { -4, -21, 29, 28, 2, 0 }, { -5, -22, 29, 28, 2, 0 }, { -6, -23, 30, 28, 2, 0 }, + { -7, -24, 31, 28, 2, 0 }, { -7, -25, 32, 28, 2, 0 }, { -8, -26, 32, 28, 2, 0 }, { -9, -27, 33, 28, 2, 0 }, { -10, -28, 33, 28, 2, 0 }, + { -11, -29, 34, 28, 2, 0 }, { -12, -29, 35, 28, 2, 0 }, { -13, -30, 35, 29, 2, 0 }, { -14, -31, 36, 29, 2, 0 }, { -15, -32, 37, 29, 2, 0 }, + { -16, -32, 37, 29, 2, 0 }, { -17, -33, 38, 29, 2, 0 }, { -18, -34, 38, 29, 2, 0 }, { -19, -34, 39, 29, 2, 0 }, { -20, -35, 40, 29, 2, 0 }, + { -21, -36, 40, 29, 2, 0 }, { -22, -36, 41, 29, 2, 0 }, { -23, -37, 41, 29, 2, 0 }, { -24, -38, 42, 29, 2, 0 }, { -25, -38, 43, 29, 2, 0 }, + { -26, -39, 43, 30, 2, 0 }, { -27, -39, 44, 30, 2, 0 }, { -28, -40, 44, 30, 2, 0 }, { -29, -40, 45, 30, 2, 0 }, { -30, -41, 45, 30, 2, 0 }, + { -31, -41, 46, 30, 2, 0 }, { -32, -42, 47, 30, 2, 0 }, { -33, -42, 47, 30, 2, 0 }, { -34, -43, 48, 30, 2, 0 }, { -35, -43, 48, 30, 2, 0 }, + { -36, -43, 49, 30, 2, 0 }, { -37, -44, 49, 30, 2, 0 }, { -38, -44, 50, 30, 2, 0 }, { -39, -44, 51, 30, 2, 0 }, { -40, -45, 51, 31, 2, 0 }, + { -41, -45, 52, 31, 2, 0 }, { -42, -45, 52, 31, 2, 0 }, { -43, -45, 53, 31, 2, 0 }, { -44, -46, 53, 31, 2, 0 }, { -45, -46, 54, 31, 2, 0 }, + { -46, -46, 54, 31, 2, 0 }, { -47, -46, 55, 31, 2, 0 }, { -48, -46, 55, 31, 2, 0 }, { -49, -47, 56, 31, 2, 0 }, { -50, -47, 56, 31, 2, 0 }, + { -51, -47, 57, 31, 2, 0 }, { -52, -47, 57, 31, 2, 0 }, { -53, -47, 58, 31, 2, 0 }, { -54, -47, 58, 31, 2, 0 }, { -55, -48, 59, 31, 2, 0 }, + { -56, -48, 59, 0, 2, 0 }, { -57, -48, 60, 0, 2, 0 }, { -58, -48, 60, 0, 2, 0 }, { -59, -48, 61, 0, 2, 0 }, { -60, -48, 61, 0, 2, 0 }, + { -61, -48, 62, 0, 2, 0 }, { -62, -48, 62, 0, 2, 0 }, { -63, -48, 63, 0, 2, 0 }, { -64, -48, 64, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D249E = { - 114, { - { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 0, 6, 0 }, - { 26, 16, 13, 0, 6, 0 }, { 25, 16, 12, 0, 6, 0 }, { 24, 16, 12, 31, 6, 0 }, { 23, 15, 11, 31, 6, 0 }, { 22, 15, 11, 31, 6, 0 }, - { 21, 15, 10, 31, 6, 0 }, { 20, 15, 10, 31, 6, 0 }, { 19, 15, 9, 31, 6, 0 }, { 18, 15, 9, 31, 6, 0 }, { 17, 14, 8, 31, 6, 0 }, - { 16, 14, 7, 31, 6, 0 }, { 15, 14, 7, 31, 6, 0 }, { 14, 14, 7, 31, 6, 0 }, { 13, 14, 6, 31, 6, 0 }, { 12, 13, 6, 31, 6, 0 }, - { 11, 13, 5, 31, 6, 0 }, { 10, 13, 4, 30, 6, 0 }, { 9, 13, 4, 30, 6, 0 }, { 8, 12, 3, 30, 6, 0 }, { 7, 12, 3, 30, 6, 0 }, - { 6, 12, 2, 30, 6, 0 }, { 5, 11, 2, 30, 6, 0 }, { 4, 11, 1, 30, 6, 0 }, { 3, 11, 1, 30, 6, 0 }, { 2, 10, 0, 30, 6, 0 }, - { 1, 10, 0, 30, 6, 0 }, { 0, 9, -1, 30, 6, 0 }, { -1, 9, -2, 30, 6, 0 }, { -2, 8, -2, 30, 6, 0 }, { -3, 8, -3, 30, 6, 0 }, - { -4, 7, -3, 30, 6, 0 }, { -5, 7, -4, 29, 6, 0 }, { -6, 6, -4, 29, 6, 0 }, { -7, 6, -5, 29, 6, 0 }, { -8, 5, -6, 29, 6, 0 }, - { -9, 4, -6, 29, 6, 0 }, { -10, 4, -7, 29, 6, 0 }, { -11, 3, -7, 29, 6, 0 }, { -12, 2, -8, 29, 6, 0 }, { -13, 2, -9, 29, 6, 0 }, - { -14, 1, -9, 29, 6, 0 }, { -15, 0, -10, 29, 6, 0 }, { -16, 0, -11, 29, 6, 0 }, { -17, -1, -11, 29, 6, 0 }, { -18, -2, -12, 28, 6, 0 }, - { -19, -3, -12, 28, 6, 0 }, { -20, -3, -13, 28, 6, 0 }, { -21, -4, -14, 28, 6, 0 }, { -22, -5, -14, 28, 6, 0 }, { -23, -6, -15, 28, 6, 0 }, - { -24, -7, -16, 28, 6, 0 }, { -25, -7, -16, 28, 6, 0 }, { -26, -8, -17, 28, 6, 0 }, { -27, -9, -17, 28, 6, 0 }, { -28, -10, -18, 28, 6, 0 }, - { -29, -11, -19, 28, 6, 0 }, { -29, -12, -19, 28, 6, 0 }, { -30, -13, -20, 27, 6, 0 }, { -31, -14, -21, 27, 6, 0 }, { -32, -15, -21, 27, 6, 0 }, - { -32, -16, -22, 27, 6, 0 }, { -33, -17, -22, 27, 6, 0 }, { -34, -18, -23, 27, 6, 0 }, { -34, -19, -24, 27, 6, 0 }, { -35, -20, -24, 27, 6, 0 }, - { -36, -21, -25, 27, 6, 0 }, { -36, -22, -26, 27, 6, 0 }, { -37, -23, -26, 27, 6, 0 }, { -38, -24, -27, 27, 6, 0 }, { -38, -25, -27, 27, 6, 0 }, - { -39, -26, -28, 26, 6, 0 }, { -39, -27, -29, 26, 6, 0 }, { -40, -28, -29, 26, 6, 0 }, { -40, -29, -30, 26, 6, 0 }, { -41, -30, -30, 26, 6, 0 }, - { -41, -31, -31, 26, 6, 0 }, { -42, -32, -31, 26, 6, 0 }, { -42, -33, -32, 26, 6, 0 }, { -43, -34, -33, 26, 6, 0 }, { -43, -35, -33, 26, 6, 0 }, - { -43, -36, -34, 26, 6, 0 }, { -44, -37, -34, 26, 6, 0 }, { -44, -38, -35, 26, 6, 0 }, { -44, -39, -35, 26, 6, 0 }, { -45, -40, -36, 25, 6, 0 }, - { -45, -41, -36, 25, 6, 0 }, { -45, -42, -37, 25, 6, 0 }, { -45, -43, -37, 25, 6, 0 }, { -46, -44, -38, 25, 6, 0 }, { -46, -45, -39, 25, 6, 0 }, - { -46, -46, -39, 25, 6, 0 }, { -46, -47, -40, 25, 6, 0 }, { -46, -48, -40, 25, 6, 0 }, { -47, -49, -40, 25, 6, 0 }, { -47, -50, -41, 25, 6, 0 }, - { -47, -51, -42, 25, 6, 0 }, { -47, -52, -42, 25, 6, 0 }, { -47, -53, -43, 25, 6, 0 }, { -47, -54, -43, 25, 6, 0 }, { -48, -55, -44, 25, 6, 0 }, - { -48, -56, -44, 24, 6, 0 }, { -48, -57, -45, 24, 6, 0 }, { -48, -58, -45, 24, 6, 0 }, { -48, -59, -46, 24, 6, 0 }, { -48, -60, -46, 24, 6, 0 }, - { -48, -61, -47, 24, 6, 0 }, { -48, -62, -47, 24, 6, 0 }, { -48, -63, -48, 24, 6, 0 }, { -48, -64, -49, 24, 6, 0 }, + 114, { + { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 0, 6, 0 }, + { 26, 16, 13, 0, 6, 0 }, { 25, 16, 12, 0, 6, 0 }, { 24, 16, 12, 31, 6, 0 }, { 23, 15, 11, 31, 6, 0 }, { 22, 15, 11, 31, 6, 0 }, + { 21, 15, 10, 31, 6, 0 }, { 20, 15, 10, 31, 6, 0 }, { 19, 15, 9, 31, 6, 0 }, { 18, 15, 9, 31, 6, 0 }, { 17, 14, 8, 31, 6, 0 }, + { 16, 14, 7, 31, 6, 0 }, { 15, 14, 7, 31, 6, 0 }, { 14, 14, 7, 31, 6, 0 }, { 13, 14, 6, 31, 6, 0 }, { 12, 13, 6, 31, 6, 0 }, + { 11, 13, 5, 31, 6, 0 }, { 10, 13, 4, 30, 6, 0 }, { 9, 13, 4, 30, 6, 0 }, { 8, 12, 3, 30, 6, 0 }, { 7, 12, 3, 30, 6, 0 }, + { 6, 12, 2, 30, 6, 0 }, { 5, 11, 2, 30, 6, 0 }, { 4, 11, 1, 30, 6, 0 }, { 3, 11, 1, 30, 6, 0 }, { 2, 10, 0, 30, 6, 0 }, + { 1, 10, 0, 30, 6, 0 }, { 0, 9, -1, 30, 6, 0 }, { -1, 9, -2, 30, 6, 0 }, { -2, 8, -2, 30, 6, 0 }, { -3, 8, -3, 30, 6, 0 }, + { -4, 7, -3, 30, 6, 0 }, { -5, 7, -4, 29, 6, 0 }, { -6, 6, -4, 29, 6, 0 }, { -7, 6, -5, 29, 6, 0 }, { -8, 5, -6, 29, 6, 0 }, + { -9, 4, -6, 29, 6, 0 }, { -10, 4, -7, 29, 6, 0 }, { -11, 3, -7, 29, 6, 0 }, { -12, 2, -8, 29, 6, 0 }, { -13, 2, -9, 29, 6, 0 }, + { -14, 1, -9, 29, 6, 0 }, { -15, 0, -10, 29, 6, 0 }, { -16, 0, -11, 29, 6, 0 }, { -17, -1, -11, 29, 6, 0 }, { -18, -2, -12, 28, 6, 0 }, + { -19, -3, -12, 28, 6, 0 }, { -20, -3, -13, 28, 6, 0 }, { -21, -4, -14, 28, 6, 0 }, { -22, -5, -14, 28, 6, 0 }, { -23, -6, -15, 28, 6, 0 }, + { -24, -7, -16, 28, 6, 0 }, { -25, -7, -16, 28, 6, 0 }, { -26, -8, -17, 28, 6, 0 }, { -27, -9, -17, 28, 6, 0 }, { -28, -10, -18, 28, 6, 0 }, + { -29, -11, -19, 28, 6, 0 }, { -29, -12, -19, 28, 6, 0 }, { -30, -13, -20, 27, 6, 0 }, { -31, -14, -21, 27, 6, 0 }, { -32, -15, -21, 27, 6, 0 }, + { -32, -16, -22, 27, 6, 0 }, { -33, -17, -22, 27, 6, 0 }, { -34, -18, -23, 27, 6, 0 }, { -34, -19, -24, 27, 6, 0 }, { -35, -20, -24, 27, 6, 0 }, + { -36, -21, -25, 27, 6, 0 }, { -36, -22, -26, 27, 6, 0 }, { -37, -23, -26, 27, 6, 0 }, { -38, -24, -27, 27, 6, 0 }, { -38, -25, -27, 27, 6, 0 }, + { -39, -26, -28, 26, 6, 0 }, { -39, -27, -29, 26, 6, 0 }, { -40, -28, -29, 26, 6, 0 }, { -40, -29, -30, 26, 6, 0 }, { -41, -30, -30, 26, 6, 0 }, + { -41, -31, -31, 26, 6, 0 }, { -42, -32, -31, 26, 6, 0 }, { -42, -33, -32, 26, 6, 0 }, { -43, -34, -33, 26, 6, 0 }, { -43, -35, -33, 26, 6, 0 }, + { -43, -36, -34, 26, 6, 0 }, { -44, -37, -34, 26, 6, 0 }, { -44, -38, -35, 26, 6, 0 }, { -44, -39, -35, 26, 6, 0 }, { -45, -40, -36, 25, 6, 0 }, + { -45, -41, -36, 25, 6, 0 }, { -45, -42, -37, 25, 6, 0 }, { -45, -43, -37, 25, 6, 0 }, { -46, -44, -38, 25, 6, 0 }, { -46, -45, -39, 25, 6, 0 }, + { -46, -46, -39, 25, 6, 0 }, { -46, -47, -40, 25, 6, 0 }, { -46, -48, -40, 25, 6, 0 }, { -47, -49, -40, 25, 6, 0 }, { -47, -50, -41, 25, 6, 0 }, + { -47, -51, -42, 25, 6, 0 }, { -47, -52, -42, 25, 6, 0 }, { -47, -53, -43, 25, 6, 0 }, { -47, -54, -43, 25, 6, 0 }, { -48, -55, -44, 25, 6, 0 }, + { -48, -56, -44, 24, 6, 0 }, { -48, -57, -45, 24, 6, 0 }, { -48, -58, -45, 24, 6, 0 }, { -48, -59, -46, 24, 6, 0 }, { -48, -60, -46, 24, 6, 0 }, + { -48, -61, -47, 24, 6, 0 }, { -48, -62, -47, 24, 6, 0 }, { -48, -63, -48, 24, 6, 0 }, { -48, -64, -49, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D28A2 = { - 115, { - { 16, 0, 15, 8, 6, 0 }, { 16, 1, 15, 8, 6, 0 }, { 16, 2, 15, 8, 6, 0 }, { 16, 3, 14, 8, 6, 0 }, { 16, 4, 14, 8, 6, 0 }, - { 16, 5, 13, 8, 6, 0 }, { 16, 6, 13, 8, 6, 0 }, { 16, 7, 12, 8, 6, 0 }, { 16, 8, 12, 7, 6, 0 }, { 15, 9, 11, 7, 6, 0 }, - { 15, 10, 11, 7, 6, 0 }, { 15, 11, 10, 7, 6, 0 }, { 15, 12, 10, 7, 6, 0 }, { 15, 13, 9, 7, 6, 0 }, { 15, 14, 9, 7, 6, 0 }, - { 14, 15, 8, 7, 6, 0 }, { 14, 16, 7, 7, 6, 0 }, { 14, 17, 7, 7, 6, 0 }, { 14, 18, 7, 7, 6, 0 }, { 14, 19, 6, 7, 6, 0 }, - { 13, 20, 6, 7, 6, 0 }, { 13, 21, 5, 7, 6, 0 }, { 13, 22, 4, 6, 6, 0 }, { 13, 23, 4, 6, 6, 0 }, { 12, 24, 3, 6, 6, 0 }, - { 12, 25, 3, 6, 6, 0 }, { 12, 26, 2, 6, 6, 0 }, { 11, 27, 2, 6, 6, 0 }, { 11, 28, 1, 6, 6, 0 }, { 11, 29, 1, 6, 6, 0 }, - { 10, 30, 0, 6, 6, 0 }, { 10, 31, 0, 6, 6, 0 }, { 9, 32, -1, 6, 6, 0 }, { 9, 33, -2, 6, 6, 0 }, { 8, 34, -2, 6, 6, 0 }, - { 8, 35, -3, 6, 6, 0 }, { 7, 36, -3, 6, 6, 0 }, { 7, 37, -4, 5, 6, 0 }, { 6, 38, -4, 5, 6, 0 }, { 6, 39, -5, 5, 6, 0 }, - { 5, 40, -6, 5, 6, 0 }, { 4, 41, -6, 5, 6, 0 }, { 4, 42, -7, 5, 6, 0 }, { 3, 43, -7, 5, 6, 0 }, { 2, 44, -8, 5, 6, 0 }, - { 2, 45, -9, 5, 6, 0 }, { 1, 46, -9, 5, 6, 0 }, { 0, 47, -10, 5, 6, 0 }, { 0, 48, -11, 5, 6, 0 }, { -1, 49, -11, 5, 6, 0 }, - { -2, 50, -12, 4, 6, 0 }, { -3, 51, -12, 4, 6, 0 }, { -3, 52, -13, 4, 6, 0 }, { -4, 53, -14, 4, 6, 0 }, { -5, 54, -14, 4, 6, 0 }, - { -6, 55, -15, 4, 6, 0 }, { -7, 56, -16, 4, 6, 0 }, { -7, 57, -16, 4, 6, 0 }, { -8, 58, -17, 4, 6, 0 }, { -9, 59, -17, 4, 6, 0 }, - { -10, 60, -18, 4, 6, 0 }, { -11, 61, -19, 4, 6, 0 }, { -12, 61, -19, 4, 6, 0 }, { -13, 62, -20, 3, 6, 0 }, { -14, 63, -21, 3, 6, 0 }, - { -15, 64, -21, 3, 6, 0 }, { -16, 64, -22, 3, 6, 0 }, { -17, 65, -22, 3, 6, 0 }, { -18, 66, -23, 3, 6, 0 }, { -19, 66, -24, 3, 6, 0 }, - { -20, 67, -24, 3, 6, 0 }, { -21, 68, -25, 3, 6, 0 }, { -22, 68, -26, 3, 6, 0 }, { -23, 69, -26, 3, 6, 0 }, { -24, 70, -27, 3, 6, 0 }, - { -25, 70, -27, 3, 6, 0 }, { -26, 71, -28, 2, 6, 0 }, { -27, 71, -29, 2, 6, 0 }, { -28, 72, -29, 2, 6, 0 }, { -29, 72, -30, 2, 6, 0 }, - { -30, 73, -30, 2, 6, 0 }, { -31, 73, -31, 2, 6, 0 }, { -32, 74, -31, 2, 6, 0 }, { -33, 74, -32, 2, 6, 0 }, { -34, 75, -33, 2, 6, 0 }, - { -35, 75, -33, 2, 6, 0 }, { -36, 75, -34, 2, 6, 0 }, { -37, 76, -34, 2, 6, 0 }, { -38, 76, -35, 2, 6, 0 }, { -39, 76, -35, 2, 6, 0 }, - { -40, 77, -36, 1, 6, 0 }, { -41, 77, -36, 1, 6, 0 }, { -42, 77, -37, 1, 6, 0 }, { -43, 77, -37, 1, 6, 0 }, { -44, 78, -38, 1, 6, 0 }, - { -45, 78, -39, 1, 6, 0 }, { -46, 78, -39, 1, 6, 0 }, { -47, 78, -40, 1, 6, 0 }, { -48, 78, -40, 1, 6, 0 }, { -49, 79, -40, 1, 6, 0 }, - { -50, 79, -41, 1, 6, 0 }, { -51, 79, -42, 1, 6, 0 }, { -52, 79, -42, 1, 6, 0 }, { -53, 79, -43, 1, 6, 0 }, { -54, 79, -43, 1, 6, 0 }, - { -55, 80, -44, 1, 6, 0 }, { -56, 80, -44, 0, 6, 0 }, { -57, 80, -45, 0, 6, 0 }, { -58, 80, -45, 0, 6, 0 }, { -59, 80, -46, 0, 6, 0 }, - { -60, 80, -46, 0, 6, 0 }, { -61, 80, -47, 0, 6, 0 }, { -62, 80, -47, 0, 6, 0 }, { -63, 80, -48, 0, 6, 0 }, { -64, 80, -49, 0, 6, 0 }, + 115, { + { 16, 0, 15, 8, 6, 0 }, { 16, 1, 15, 8, 6, 0 }, { 16, 2, 15, 8, 6, 0 }, { 16, 3, 14, 8, 6, 0 }, { 16, 4, 14, 8, 6, 0 }, + { 16, 5, 13, 8, 6, 0 }, { 16, 6, 13, 8, 6, 0 }, { 16, 7, 12, 8, 6, 0 }, { 16, 8, 12, 7, 6, 0 }, { 15, 9, 11, 7, 6, 0 }, + { 15, 10, 11, 7, 6, 0 }, { 15, 11, 10, 7, 6, 0 }, { 15, 12, 10, 7, 6, 0 }, { 15, 13, 9, 7, 6, 0 }, { 15, 14, 9, 7, 6, 0 }, + { 14, 15, 8, 7, 6, 0 }, { 14, 16, 7, 7, 6, 0 }, { 14, 17, 7, 7, 6, 0 }, { 14, 18, 7, 7, 6, 0 }, { 14, 19, 6, 7, 6, 0 }, + { 13, 20, 6, 7, 6, 0 }, { 13, 21, 5, 7, 6, 0 }, { 13, 22, 4, 6, 6, 0 }, { 13, 23, 4, 6, 6, 0 }, { 12, 24, 3, 6, 6, 0 }, + { 12, 25, 3, 6, 6, 0 }, { 12, 26, 2, 6, 6, 0 }, { 11, 27, 2, 6, 6, 0 }, { 11, 28, 1, 6, 6, 0 }, { 11, 29, 1, 6, 6, 0 }, + { 10, 30, 0, 6, 6, 0 }, { 10, 31, 0, 6, 6, 0 }, { 9, 32, -1, 6, 6, 0 }, { 9, 33, -2, 6, 6, 0 }, { 8, 34, -2, 6, 6, 0 }, + { 8, 35, -3, 6, 6, 0 }, { 7, 36, -3, 6, 6, 0 }, { 7, 37, -4, 5, 6, 0 }, { 6, 38, -4, 5, 6, 0 }, { 6, 39, -5, 5, 6, 0 }, + { 5, 40, -6, 5, 6, 0 }, { 4, 41, -6, 5, 6, 0 }, { 4, 42, -7, 5, 6, 0 }, { 3, 43, -7, 5, 6, 0 }, { 2, 44, -8, 5, 6, 0 }, + { 2, 45, -9, 5, 6, 0 }, { 1, 46, -9, 5, 6, 0 }, { 0, 47, -10, 5, 6, 0 }, { 0, 48, -11, 5, 6, 0 }, { -1, 49, -11, 5, 6, 0 }, + { -2, 50, -12, 4, 6, 0 }, { -3, 51, -12, 4, 6, 0 }, { -3, 52, -13, 4, 6, 0 }, { -4, 53, -14, 4, 6, 0 }, { -5, 54, -14, 4, 6, 0 }, + { -6, 55, -15, 4, 6, 0 }, { -7, 56, -16, 4, 6, 0 }, { -7, 57, -16, 4, 6, 0 }, { -8, 58, -17, 4, 6, 0 }, { -9, 59, -17, 4, 6, 0 }, + { -10, 60, -18, 4, 6, 0 }, { -11, 61, -19, 4, 6, 0 }, { -12, 61, -19, 4, 6, 0 }, { -13, 62, -20, 3, 6, 0 }, { -14, 63, -21, 3, 6, 0 }, + { -15, 64, -21, 3, 6, 0 }, { -16, 64, -22, 3, 6, 0 }, { -17, 65, -22, 3, 6, 0 }, { -18, 66, -23, 3, 6, 0 }, { -19, 66, -24, 3, 6, 0 }, + { -20, 67, -24, 3, 6, 0 }, { -21, 68, -25, 3, 6, 0 }, { -22, 68, -26, 3, 6, 0 }, { -23, 69, -26, 3, 6, 0 }, { -24, 70, -27, 3, 6, 0 }, + { -25, 70, -27, 3, 6, 0 }, { -26, 71, -28, 2, 6, 0 }, { -27, 71, -29, 2, 6, 0 }, { -28, 72, -29, 2, 6, 0 }, { -29, 72, -30, 2, 6, 0 }, + { -30, 73, -30, 2, 6, 0 }, { -31, 73, -31, 2, 6, 0 }, { -32, 74, -31, 2, 6, 0 }, { -33, 74, -32, 2, 6, 0 }, { -34, 75, -33, 2, 6, 0 }, + { -35, 75, -33, 2, 6, 0 }, { -36, 75, -34, 2, 6, 0 }, { -37, 76, -34, 2, 6, 0 }, { -38, 76, -35, 2, 6, 0 }, { -39, 76, -35, 2, 6, 0 }, + { -40, 77, -36, 1, 6, 0 }, { -41, 77, -36, 1, 6, 0 }, { -42, 77, -37, 1, 6, 0 }, { -43, 77, -37, 1, 6, 0 }, { -44, 78, -38, 1, 6, 0 }, + { -45, 78, -39, 1, 6, 0 }, { -46, 78, -39, 1, 6, 0 }, { -47, 78, -40, 1, 6, 0 }, { -48, 78, -40, 1, 6, 0 }, { -49, 79, -40, 1, 6, 0 }, + { -50, 79, -41, 1, 6, 0 }, { -51, 79, -42, 1, 6, 0 }, { -52, 79, -42, 1, 6, 0 }, { -53, 79, -43, 1, 6, 0 }, { -54, 79, -43, 1, 6, 0 }, + { -55, 80, -44, 1, 6, 0 }, { -56, 80, -44, 0, 6, 0 }, { -57, 80, -45, 0, 6, 0 }, { -58, 80, -45, 0, 6, 0 }, { -59, 80, -46, 0, 6, 0 }, + { -60, 80, -46, 0, 6, 0 }, { -61, 80, -47, 0, 6, 0 }, { -62, 80, -47, 0, 6, 0 }, { -63, 80, -48, 0, 6, 0 }, { -64, 80, -49, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D2CAF = { - 114, { - { 0, 16, 15, 16, 6, 0 }, { 1, 16, 15, 16, 6, 0 }, { 2, 16, 15, 16, 6, 0 }, { 3, 16, 14, 16, 6, 0 }, { 4, 16, 14, 16, 6, 0 }, - { 5, 16, 13, 16, 6, 0 }, { 6, 16, 13, 16, 6, 0 }, { 7, 16, 12, 16, 6, 0 }, { 8, 16, 12, 15, 6, 0 }, { 9, 17, 11, 15, 6, 0 }, - { 10, 17, 10, 15, 6, 0 }, { 11, 17, 10, 15, 6, 0 }, { 12, 17, 10, 15, 6, 0 }, { 13, 17, 9, 15, 6, 0 }, { 14, 17, 9, 15, 6, 0 }, - { 15, 18, 8, 15, 6, 0 }, { 16, 18, 7, 15, 6, 0 }, { 17, 18, 7, 15, 6, 0 }, { 18, 18, 6, 15, 6, 0 }, { 19, 18, 6, 15, 6, 0 }, - { 20, 19, 5, 15, 6, 0 }, { 21, 19, 5, 15, 6, 0 }, { 22, 19, 4, 14, 6, 0 }, { 23, 19, 4, 14, 6, 0 }, { 24, 20, 3, 14, 6, 0 }, - { 25, 20, 3, 14, 6, 0 }, { 26, 20, 2, 14, 6, 0 }, { 27, 21, 2, 14, 6, 0 }, { 28, 21, 1, 14, 6, 0 }, { 29, 21, 1, 14, 6, 0 }, - { 30, 22, 0, 14, 6, 0 }, { 31, 22, -1, 14, 6, 0 }, { 32, 23, -1, 14, 6, 0 }, { 33, 23, -2, 14, 6, 0 }, { 34, 24, -2, 14, 6, 0 }, - { 35, 24, -3, 14, 6, 0 }, { 36, 25, -3, 14, 6, 0 }, { 37, 25, -4, 13, 6, 0 }, { 38, 26, -5, 13, 6, 0 }, { 39, 26, -5, 13, 6, 0 }, - { 40, 27, -6, 13, 6, 0 }, { 41, 28, -6, 13, 6, 0 }, { 42, 28, -7, 13, 6, 0 }, { 43, 29, -8, 13, 6, 0 }, { 44, 30, -8, 13, 6, 0 }, - { 45, 30, -9, 13, 6, 0 }, { 46, 31, -9, 13, 6, 0 }, { 47, 32, -10, 13, 6, 0 }, { 48, 32, -11, 13, 6, 0 }, { 49, 33, -11, 13, 6, 0 }, - { 50, 34, -12, 12, 6, 0 }, { 51, 35, -13, 12, 6, 0 }, { 52, 35, -13, 12, 6, 0 }, { 53, 36, -14, 12, 6, 0 }, { 54, 37, -14, 12, 6, 0 }, - { 55, 38, -15, 12, 6, 0 }, { 56, 39, -16, 12, 6, 0 }, { 57, 39, -17, 12, 6, 0 }, { 58, 40, -17, 12, 6, 0 }, { 59, 41, -18, 12, 6, 0 }, - { 60, 42, -18, 12, 6, 0 }, { 61, 43, -19, 12, 6, 0 }, { 61, 44, -20, 12, 6, 0 }, { 62, 45, -20, 11, 6, 0 }, { 63, 46, -21, 11, 6, 0 }, - { 64, 47, -22, 11, 6, 0 }, { 64, 48, -22, 11, 6, 0 }, { 65, 49, -23, 11, 6, 0 }, { 66, 50, -23, 11, 6, 0 }, { 66, 51, -24, 11, 6, 0 }, - { 67, 52, -25, 11, 6, 0 }, { 68, 53, -25, 11, 6, 0 }, { 68, 54, -26, 11, 6, 0 }, { 69, 55, -26, 11, 6, 0 }, { 70, 56, -27, 11, 6, 0 }, - { 70, 57, -28, 11, 6, 0 }, { 71, 58, -28, 10, 6, 0 }, { 71, 59, -29, 10, 6, 0 }, { 72, 60, -29, 10, 6, 0 }, { 72, 61, -30, 10, 6, 0 }, - { 73, 62, -31, 10, 6, 0 }, { 73, 63, -31, 10, 6, 0 }, { 74, 64, -32, 10, 6, 0 }, { 74, 65, -32, 10, 6, 0 }, { 75, 66, -33, 10, 6, 0 }, - { 75, 67, -34, 10, 6, 0 }, { 75, 68, -34, 10, 6, 0 }, { 76, 69, -35, 10, 6, 0 }, { 76, 70, -35, 10, 6, 0 }, { 76, 71, -36, 10, 6, 0 }, - { 77, 72, -36, 9, 6, 0 }, { 77, 73, -37, 9, 6, 0 }, { 77, 74, -37, 9, 6, 0 }, { 77, 75, -38, 9, 6, 0 }, { 78, 76, -38, 9, 6, 0 }, - { 78, 77, -39, 9, 6, 0 }, { 78, 78, -39, 9, 6, 0 }, { 78, 79, -40, 9, 6, 0 }, { 78, 80, -40, 9, 6, 0 }, { 79, 81, -41, 9, 6, 0 }, - { 79, 82, -42, 9, 6, 0 }, { 79, 83, -42, 9, 6, 0 }, { 79, 84, -43, 9, 6, 0 }, { 79, 85, -43, 9, 6, 0 }, { 79, 86, -43, 9, 6, 0 }, - { 80, 87, -44, 9, 6, 0 }, { 80, 88, -45, 8, 6, 0 }, { 80, 89, -45, 8, 6, 0 }, { 80, 90, -46, 8, 6, 0 }, { 80, 91, -46, 8, 6, 0 }, - { 80, 92, -47, 8, 6, 0 }, { 80, 93, -47, 8, 6, 0 }, { 80, 94, -48, 8, 6, 0 }, { 80, 95, -48, 8, 6, 0 }, + 114, { + { 0, 16, 15, 16, 6, 0 }, { 1, 16, 15, 16, 6, 0 }, { 2, 16, 15, 16, 6, 0 }, { 3, 16, 14, 16, 6, 0 }, { 4, 16, 14, 16, 6, 0 }, + { 5, 16, 13, 16, 6, 0 }, { 6, 16, 13, 16, 6, 0 }, { 7, 16, 12, 16, 6, 0 }, { 8, 16, 12, 15, 6, 0 }, { 9, 17, 11, 15, 6, 0 }, + { 10, 17, 10, 15, 6, 0 }, { 11, 17, 10, 15, 6, 0 }, { 12, 17, 10, 15, 6, 0 }, { 13, 17, 9, 15, 6, 0 }, { 14, 17, 9, 15, 6, 0 }, + { 15, 18, 8, 15, 6, 0 }, { 16, 18, 7, 15, 6, 0 }, { 17, 18, 7, 15, 6, 0 }, { 18, 18, 6, 15, 6, 0 }, { 19, 18, 6, 15, 6, 0 }, + { 20, 19, 5, 15, 6, 0 }, { 21, 19, 5, 15, 6, 0 }, { 22, 19, 4, 14, 6, 0 }, { 23, 19, 4, 14, 6, 0 }, { 24, 20, 3, 14, 6, 0 }, + { 25, 20, 3, 14, 6, 0 }, { 26, 20, 2, 14, 6, 0 }, { 27, 21, 2, 14, 6, 0 }, { 28, 21, 1, 14, 6, 0 }, { 29, 21, 1, 14, 6, 0 }, + { 30, 22, 0, 14, 6, 0 }, { 31, 22, -1, 14, 6, 0 }, { 32, 23, -1, 14, 6, 0 }, { 33, 23, -2, 14, 6, 0 }, { 34, 24, -2, 14, 6, 0 }, + { 35, 24, -3, 14, 6, 0 }, { 36, 25, -3, 14, 6, 0 }, { 37, 25, -4, 13, 6, 0 }, { 38, 26, -5, 13, 6, 0 }, { 39, 26, -5, 13, 6, 0 }, + { 40, 27, -6, 13, 6, 0 }, { 41, 28, -6, 13, 6, 0 }, { 42, 28, -7, 13, 6, 0 }, { 43, 29, -8, 13, 6, 0 }, { 44, 30, -8, 13, 6, 0 }, + { 45, 30, -9, 13, 6, 0 }, { 46, 31, -9, 13, 6, 0 }, { 47, 32, -10, 13, 6, 0 }, { 48, 32, -11, 13, 6, 0 }, { 49, 33, -11, 13, 6, 0 }, + { 50, 34, -12, 12, 6, 0 }, { 51, 35, -13, 12, 6, 0 }, { 52, 35, -13, 12, 6, 0 }, { 53, 36, -14, 12, 6, 0 }, { 54, 37, -14, 12, 6, 0 }, + { 55, 38, -15, 12, 6, 0 }, { 56, 39, -16, 12, 6, 0 }, { 57, 39, -17, 12, 6, 0 }, { 58, 40, -17, 12, 6, 0 }, { 59, 41, -18, 12, 6, 0 }, + { 60, 42, -18, 12, 6, 0 }, { 61, 43, -19, 12, 6, 0 }, { 61, 44, -20, 12, 6, 0 }, { 62, 45, -20, 11, 6, 0 }, { 63, 46, -21, 11, 6, 0 }, + { 64, 47, -22, 11, 6, 0 }, { 64, 48, -22, 11, 6, 0 }, { 65, 49, -23, 11, 6, 0 }, { 66, 50, -23, 11, 6, 0 }, { 66, 51, -24, 11, 6, 0 }, + { 67, 52, -25, 11, 6, 0 }, { 68, 53, -25, 11, 6, 0 }, { 68, 54, -26, 11, 6, 0 }, { 69, 55, -26, 11, 6, 0 }, { 70, 56, -27, 11, 6, 0 }, + { 70, 57, -28, 11, 6, 0 }, { 71, 58, -28, 10, 6, 0 }, { 71, 59, -29, 10, 6, 0 }, { 72, 60, -29, 10, 6, 0 }, { 72, 61, -30, 10, 6, 0 }, + { 73, 62, -31, 10, 6, 0 }, { 73, 63, -31, 10, 6, 0 }, { 74, 64, -32, 10, 6, 0 }, { 74, 65, -32, 10, 6, 0 }, { 75, 66, -33, 10, 6, 0 }, + { 75, 67, -34, 10, 6, 0 }, { 75, 68, -34, 10, 6, 0 }, { 76, 69, -35, 10, 6, 0 }, { 76, 70, -35, 10, 6, 0 }, { 76, 71, -36, 10, 6, 0 }, + { 77, 72, -36, 9, 6, 0 }, { 77, 73, -37, 9, 6, 0 }, { 77, 74, -37, 9, 6, 0 }, { 77, 75, -38, 9, 6, 0 }, { 78, 76, -38, 9, 6, 0 }, + { 78, 77, -39, 9, 6, 0 }, { 78, 78, -39, 9, 6, 0 }, { 78, 79, -40, 9, 6, 0 }, { 78, 80, -40, 9, 6, 0 }, { 79, 81, -41, 9, 6, 0 }, + { 79, 82, -42, 9, 6, 0 }, { 79, 83, -42, 9, 6, 0 }, { 79, 84, -43, 9, 6, 0 }, { 79, 85, -43, 9, 6, 0 }, { 79, 86, -43, 9, 6, 0 }, + { 80, 87, -44, 9, 6, 0 }, { 80, 88, -45, 8, 6, 0 }, { 80, 89, -45, 8, 6, 0 }, { 80, 90, -46, 8, 6, 0 }, { 80, 91, -46, 8, 6, 0 }, + { 80, 92, -47, 8, 6, 0 }, { 80, 93, -47, 8, 6, 0 }, { 80, 94, -48, 8, 6, 0 }, { 80, 95, -48, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D30B3 = { - 113, { - { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 24, 6, 0 }, - { 16, 26, 13, 24, 6, 0 }, { 16, 25, 12, 24, 6, 0 }, { 16, 24, 12, 23, 6, 0 }, { 17, 23, 11, 23, 6, 0 }, { 17, 22, 10, 23, 6, 0 }, - { 17, 21, 10, 23, 6, 0 }, { 17, 20, 10, 23, 6, 0 }, { 17, 19, 9, 23, 6, 0 }, { 17, 18, 9, 23, 6, 0 }, { 18, 17, 8, 23, 6, 0 }, - { 18, 16, 7, 23, 6, 0 }, { 18, 15, 7, 23, 6, 0 }, { 18, 14, 6, 23, 6, 0 }, { 18, 13, 6, 23, 6, 0 }, { 19, 12, 5, 23, 6, 0 }, - { 19, 11, 5, 23, 6, 0 }, { 19, 10, 4, 22, 6, 0 }, { 19, 9, 4, 22, 6, 0 }, { 20, 8, 3, 22, 6, 0 }, { 20, 7, 3, 22, 6, 0 }, - { 20, 6, 2, 22, 6, 0 }, { 21, 5, 2, 22, 6, 0 }, { 21, 4, 1, 22, 6, 0 }, { 21, 3, 1, 22, 6, 0 }, { 22, 2, 0, 22, 6, 0 }, - { 22, 1, -1, 22, 6, 0 }, { 23, 0, -1, 22, 6, 0 }, { 23, -1, -2, 22, 6, 0 }, { 24, -2, -2, 22, 6, 0 }, { 24, -3, -3, 22, 6, 0 }, - { 25, -4, -3, 22, 6, 0 }, { 25, -5, -4, 21, 6, 0 }, { 26, -6, -5, 21, 6, 0 }, { 26, -7, -5, 21, 6, 0 }, { 27, -8, -6, 21, 6, 0 }, - { 28, -9, -6, 21, 6, 0 }, { 28, -10, -7, 21, 6, 0 }, { 29, -11, -8, 21, 6, 0 }, { 30, -12, -8, 21, 6, 0 }, { 30, -13, -9, 21, 6, 0 }, - { 31, -14, -9, 21, 6, 0 }, { 32, -15, -10, 21, 6, 0 }, { 32, -16, -11, 21, 6, 0 }, { 33, -17, -11, 21, 6, 0 }, { 34, -18, -12, 20, 6, 0 }, - { 35, -19, -13, 20, 6, 0 }, { 35, -20, -13, 20, 6, 0 }, { 36, -21, -14, 20, 6, 0 }, { 37, -22, -14, 20, 6, 0 }, { 38, -23, -15, 20, 6, 0 }, - { 39, -24, -16, 20, 6, 0 }, { 39, -25, -17, 20, 6, 0 }, { 40, -26, -17, 20, 6, 0 }, { 41, -27, -18, 20, 6, 0 }, { 42, -28, -18, 20, 6, 0 }, - { 43, -29, -19, 20, 6, 0 }, { 44, -29, -20, 20, 6, 0 }, { 45, -30, -20, 19, 6, 0 }, { 46, -31, -21, 19, 6, 0 }, { 47, -32, -22, 19, 6, 0 }, - { 48, -32, -22, 19, 6, 0 }, { 49, -33, -23, 19, 6, 0 }, { 50, -34, -23, 19, 6, 0 }, { 51, -34, -24, 19, 6, 0 }, { 52, -35, -25, 19, 6, 0 }, - { 53, -36, -25, 19, 6, 0 }, { 54, -36, -26, 19, 6, 0 }, { 55, -37, -26, 19, 6, 0 }, { 56, -38, -27, 19, 6, 0 }, { 57, -38, -28, 19, 6, 0 }, - { 58, -39, -28, 18, 6, 0 }, { 59, -39, -29, 18, 6, 0 }, { 60, -40, -29, 18, 6, 0 }, { 61, -40, -30, 18, 6, 0 }, { 62, -41, -31, 18, 6, 0 }, - { 63, -41, -31, 18, 6, 0 }, { 64, -42, -32, 18, 6, 0 }, { 65, -42, -32, 18, 6, 0 }, { 66, -43, -33, 18, 6, 0 }, { 67, -43, -34, 18, 6, 0 }, - { 68, -43, -34, 18, 6, 0 }, { 69, -44, -35, 18, 6, 0 }, { 70, -44, -35, 18, 6, 0 }, { 71, -44, -36, 18, 6, 0 }, { 72, -45, -36, 17, 6, 0 }, - { 73, -45, -37, 17, 6, 0 }, { 74, -45, -37, 17, 6, 0 }, { 75, -45, -38, 17, 6, 0 }, { 76, -46, -38, 17, 6, 0 }, { 77, -46, -39, 17, 6, 0 }, - { 78, -46, -39, 17, 6, 0 }, { 79, -46, -40, 17, 6, 0 }, { 80, -46, -40, 17, 6, 0 }, { 81, -47, -41, 17, 6, 0 }, { 82, -47, -42, 17, 6, 0 }, - { 83, -47, -42, 17, 6, 0 }, { 84, -47, -43, 17, 6, 0 }, { 85, -47, -43, 17, 6, 0 }, { 86, -47, -43, 17, 6, 0 }, { 87, -48, -44, 17, 6, 0 }, - { 88, -48, -45, 16, 6, 0 }, { 89, -48, -45, 16, 6, 0 }, { 90, -48, -46, 16, 6, 0 }, { 91, -48, -46, 16, 6, 0 }, { 92, -48, -47, 16, 6, 0 }, - { 93, -48, -47, 16, 6, 0 }, { 94, -48, -48, 16, 6, 0 }, { 95, -48, -48, 16, 6, 0 }, + 113, { + { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 24, 6, 0 }, + { 16, 26, 13, 24, 6, 0 }, { 16, 25, 12, 24, 6, 0 }, { 16, 24, 12, 23, 6, 0 }, { 17, 23, 11, 23, 6, 0 }, { 17, 22, 10, 23, 6, 0 }, + { 17, 21, 10, 23, 6, 0 }, { 17, 20, 10, 23, 6, 0 }, { 17, 19, 9, 23, 6, 0 }, { 17, 18, 9, 23, 6, 0 }, { 18, 17, 8, 23, 6, 0 }, + { 18, 16, 7, 23, 6, 0 }, { 18, 15, 7, 23, 6, 0 }, { 18, 14, 6, 23, 6, 0 }, { 18, 13, 6, 23, 6, 0 }, { 19, 12, 5, 23, 6, 0 }, + { 19, 11, 5, 23, 6, 0 }, { 19, 10, 4, 22, 6, 0 }, { 19, 9, 4, 22, 6, 0 }, { 20, 8, 3, 22, 6, 0 }, { 20, 7, 3, 22, 6, 0 }, + { 20, 6, 2, 22, 6, 0 }, { 21, 5, 2, 22, 6, 0 }, { 21, 4, 1, 22, 6, 0 }, { 21, 3, 1, 22, 6, 0 }, { 22, 2, 0, 22, 6, 0 }, + { 22, 1, -1, 22, 6, 0 }, { 23, 0, -1, 22, 6, 0 }, { 23, -1, -2, 22, 6, 0 }, { 24, -2, -2, 22, 6, 0 }, { 24, -3, -3, 22, 6, 0 }, + { 25, -4, -3, 22, 6, 0 }, { 25, -5, -4, 21, 6, 0 }, { 26, -6, -5, 21, 6, 0 }, { 26, -7, -5, 21, 6, 0 }, { 27, -8, -6, 21, 6, 0 }, + { 28, -9, -6, 21, 6, 0 }, { 28, -10, -7, 21, 6, 0 }, { 29, -11, -8, 21, 6, 0 }, { 30, -12, -8, 21, 6, 0 }, { 30, -13, -9, 21, 6, 0 }, + { 31, -14, -9, 21, 6, 0 }, { 32, -15, -10, 21, 6, 0 }, { 32, -16, -11, 21, 6, 0 }, { 33, -17, -11, 21, 6, 0 }, { 34, -18, -12, 20, 6, 0 }, + { 35, -19, -13, 20, 6, 0 }, { 35, -20, -13, 20, 6, 0 }, { 36, -21, -14, 20, 6, 0 }, { 37, -22, -14, 20, 6, 0 }, { 38, -23, -15, 20, 6, 0 }, + { 39, -24, -16, 20, 6, 0 }, { 39, -25, -17, 20, 6, 0 }, { 40, -26, -17, 20, 6, 0 }, { 41, -27, -18, 20, 6, 0 }, { 42, -28, -18, 20, 6, 0 }, + { 43, -29, -19, 20, 6, 0 }, { 44, -29, -20, 20, 6, 0 }, { 45, -30, -20, 19, 6, 0 }, { 46, -31, -21, 19, 6, 0 }, { 47, -32, -22, 19, 6, 0 }, + { 48, -32, -22, 19, 6, 0 }, { 49, -33, -23, 19, 6, 0 }, { 50, -34, -23, 19, 6, 0 }, { 51, -34, -24, 19, 6, 0 }, { 52, -35, -25, 19, 6, 0 }, + { 53, -36, -25, 19, 6, 0 }, { 54, -36, -26, 19, 6, 0 }, { 55, -37, -26, 19, 6, 0 }, { 56, -38, -27, 19, 6, 0 }, { 57, -38, -28, 19, 6, 0 }, + { 58, -39, -28, 18, 6, 0 }, { 59, -39, -29, 18, 6, 0 }, { 60, -40, -29, 18, 6, 0 }, { 61, -40, -30, 18, 6, 0 }, { 62, -41, -31, 18, 6, 0 }, + { 63, -41, -31, 18, 6, 0 }, { 64, -42, -32, 18, 6, 0 }, { 65, -42, -32, 18, 6, 0 }, { 66, -43, -33, 18, 6, 0 }, { 67, -43, -34, 18, 6, 0 }, + { 68, -43, -34, 18, 6, 0 }, { 69, -44, -35, 18, 6, 0 }, { 70, -44, -35, 18, 6, 0 }, { 71, -44, -36, 18, 6, 0 }, { 72, -45, -36, 17, 6, 0 }, + { 73, -45, -37, 17, 6, 0 }, { 74, -45, -37, 17, 6, 0 }, { 75, -45, -38, 17, 6, 0 }, { 76, -46, -38, 17, 6, 0 }, { 77, -46, -39, 17, 6, 0 }, + { 78, -46, -39, 17, 6, 0 }, { 79, -46, -40, 17, 6, 0 }, { 80, -46, -40, 17, 6, 0 }, { 81, -47, -41, 17, 6, 0 }, { 82, -47, -42, 17, 6, 0 }, + { 83, -47, -42, 17, 6, 0 }, { 84, -47, -43, 17, 6, 0 }, { 85, -47, -43, 17, 6, 0 }, { 86, -47, -43, 17, 6, 0 }, { 87, -48, -44, 17, 6, 0 }, + { 88, -48, -45, 16, 6, 0 }, { 89, -48, -45, 16, 6, 0 }, { 90, -48, -46, 16, 6, 0 }, { 91, -48, -46, 16, 6, 0 }, { 92, -48, -47, 16, 6, 0 }, + { 93, -48, -47, 16, 6, 0 }, { 94, -48, -48, 16, 6, 0 }, { 95, -48, -48, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D34AE = { - 113, { - { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 0, 6, 0 }, - { 26, 16, 13, 0, 6, 0 }, { 25, 16, 12, 0, 6, 0 }, { 24, 16, 12, 1, 6, 0 }, { 23, 17, 11, 1, 6, 0 }, { 22, 17, 10, 1, 6, 0 }, - { 21, 17, 10, 1, 6, 0 }, { 20, 17, 10, 1, 6, 0 }, { 19, 17, 9, 1, 6, 0 }, { 18, 17, 9, 1, 6, 0 }, { 17, 18, 8, 1, 6, 0 }, - { 16, 18, 7, 1, 6, 0 }, { 15, 18, 7, 1, 6, 0 }, { 14, 18, 6, 1, 6, 0 }, { 13, 18, 6, 1, 6, 0 }, { 12, 19, 5, 1, 6, 0 }, - { 11, 19, 5, 1, 6, 0 }, { 10, 19, 4, 2, 6, 0 }, { 9, 19, 4, 2, 6, 0 }, { 8, 20, 3, 2, 6, 0 }, { 7, 20, 3, 2, 6, 0 }, - { 6, 20, 2, 2, 6, 0 }, { 5, 21, 2, 2, 6, 0 }, { 4, 21, 1, 2, 6, 0 }, { 3, 21, 1, 2, 6, 0 }, { 2, 22, 0, 2, 6, 0 }, - { 1, 22, -1, 2, 6, 0 }, { 0, 23, -1, 2, 6, 0 }, { -1, 23, -2, 2, 6, 0 }, { -2, 24, -2, 2, 6, 0 }, { -3, 24, -3, 2, 6, 0 }, - { -4, 25, -3, 2, 6, 0 }, { -5, 25, -4, 3, 6, 0 }, { -6, 26, -5, 3, 6, 0 }, { -7, 26, -5, 3, 6, 0 }, { -8, 27, -6, 3, 6, 0 }, - { -9, 28, -6, 3, 6, 0 }, { -10, 28, -7, 3, 6, 0 }, { -11, 29, -8, 3, 6, 0 }, { -12, 30, -8, 3, 6, 0 }, { -13, 30, -9, 3, 6, 0 }, - { -14, 31, -9, 3, 6, 0 }, { -15, 32, -10, 3, 6, 0 }, { -16, 32, -11, 3, 6, 0 }, { -17, 33, -11, 3, 6, 0 }, { -18, 34, -12, 4, 6, 0 }, - { -19, 35, -13, 4, 6, 0 }, { -20, 35, -13, 4, 6, 0 }, { -21, 36, -14, 4, 6, 0 }, { -22, 37, -14, 4, 6, 0 }, { -23, 38, -15, 4, 6, 0 }, - { -24, 39, -16, 4, 6, 0 }, { -25, 39, -17, 4, 6, 0 }, { -26, 40, -17, 4, 6, 0 }, { -27, 41, -18, 4, 6, 0 }, { -28, 42, -18, 4, 6, 0 }, - { -29, 43, -19, 4, 6, 0 }, { -29, 44, -20, 4, 6, 0 }, { -30, 45, -20, 5, 6, 0 }, { -31, 46, -21, 5, 6, 0 }, { -32, 47, -22, 5, 6, 0 }, - { -32, 48, -22, 5, 6, 0 }, { -33, 49, -23, 5, 6, 0 }, { -34, 50, -23, 5, 6, 0 }, { -34, 51, -24, 5, 6, 0 }, { -35, 52, -25, 5, 6, 0 }, - { -36, 53, -25, 5, 6, 0 }, { -36, 54, -26, 5, 6, 0 }, { -37, 55, -26, 5, 6, 0 }, { -38, 56, -27, 5, 6, 0 }, { -38, 57, -28, 5, 6, 0 }, - { -39, 58, -28, 6, 6, 0 }, { -39, 59, -29, 6, 6, 0 }, { -40, 60, -29, 6, 6, 0 }, { -40, 61, -30, 6, 6, 0 }, { -41, 62, -31, 6, 6, 0 }, - { -41, 63, -31, 6, 6, 0 }, { -42, 64, -32, 6, 6, 0 }, { -42, 65, -32, 6, 6, 0 }, { -43, 66, -33, 6, 6, 0 }, { -43, 67, -34, 6, 6, 0 }, - { -43, 68, -34, 6, 6, 0 }, { -44, 69, -35, 6, 6, 0 }, { -44, 70, -35, 6, 6, 0 }, { -44, 71, -36, 6, 6, 0 }, { -45, 72, -36, 7, 6, 0 }, - { -45, 73, -37, 7, 6, 0 }, { -45, 74, -37, 7, 6, 0 }, { -45, 75, -38, 7, 6, 0 }, { -46, 76, -38, 7, 6, 0 }, { -46, 77, -39, 7, 6, 0 }, - { -46, 78, -39, 7, 6, 0 }, { -46, 79, -40, 7, 6, 0 }, { -46, 80, -40, 7, 6, 0 }, { -47, 81, -41, 7, 6, 0 }, { -47, 82, -42, 7, 6, 0 }, - { -47, 83, -42, 7, 6, 0 }, { -47, 84, -43, 7, 6, 0 }, { -47, 85, -43, 7, 6, 0 }, { -47, 86, -43, 7, 6, 0 }, { -48, 87, -44, 7, 6, 0 }, - { -48, 88, -45, 8, 6, 0 }, { -48, 89, -45, 8, 6, 0 }, { -48, 90, -46, 8, 6, 0 }, { -48, 91, -46, 8, 6, 0 }, { -48, 92, -47, 8, 6, 0 }, - { -48, 93, -47, 8, 6, 0 }, { -48, 94, -48, 8, 6, 0 }, { -48, 95, -48, 8, 6, 0 }, + 113, { + { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 0, 6, 0 }, + { 26, 16, 13, 0, 6, 0 }, { 25, 16, 12, 0, 6, 0 }, { 24, 16, 12, 1, 6, 0 }, { 23, 17, 11, 1, 6, 0 }, { 22, 17, 10, 1, 6, 0 }, + { 21, 17, 10, 1, 6, 0 }, { 20, 17, 10, 1, 6, 0 }, { 19, 17, 9, 1, 6, 0 }, { 18, 17, 9, 1, 6, 0 }, { 17, 18, 8, 1, 6, 0 }, + { 16, 18, 7, 1, 6, 0 }, { 15, 18, 7, 1, 6, 0 }, { 14, 18, 6, 1, 6, 0 }, { 13, 18, 6, 1, 6, 0 }, { 12, 19, 5, 1, 6, 0 }, + { 11, 19, 5, 1, 6, 0 }, { 10, 19, 4, 2, 6, 0 }, { 9, 19, 4, 2, 6, 0 }, { 8, 20, 3, 2, 6, 0 }, { 7, 20, 3, 2, 6, 0 }, + { 6, 20, 2, 2, 6, 0 }, { 5, 21, 2, 2, 6, 0 }, { 4, 21, 1, 2, 6, 0 }, { 3, 21, 1, 2, 6, 0 }, { 2, 22, 0, 2, 6, 0 }, + { 1, 22, -1, 2, 6, 0 }, { 0, 23, -1, 2, 6, 0 }, { -1, 23, -2, 2, 6, 0 }, { -2, 24, -2, 2, 6, 0 }, { -3, 24, -3, 2, 6, 0 }, + { -4, 25, -3, 2, 6, 0 }, { -5, 25, -4, 3, 6, 0 }, { -6, 26, -5, 3, 6, 0 }, { -7, 26, -5, 3, 6, 0 }, { -8, 27, -6, 3, 6, 0 }, + { -9, 28, -6, 3, 6, 0 }, { -10, 28, -7, 3, 6, 0 }, { -11, 29, -8, 3, 6, 0 }, { -12, 30, -8, 3, 6, 0 }, { -13, 30, -9, 3, 6, 0 }, + { -14, 31, -9, 3, 6, 0 }, { -15, 32, -10, 3, 6, 0 }, { -16, 32, -11, 3, 6, 0 }, { -17, 33, -11, 3, 6, 0 }, { -18, 34, -12, 4, 6, 0 }, + { -19, 35, -13, 4, 6, 0 }, { -20, 35, -13, 4, 6, 0 }, { -21, 36, -14, 4, 6, 0 }, { -22, 37, -14, 4, 6, 0 }, { -23, 38, -15, 4, 6, 0 }, + { -24, 39, -16, 4, 6, 0 }, { -25, 39, -17, 4, 6, 0 }, { -26, 40, -17, 4, 6, 0 }, { -27, 41, -18, 4, 6, 0 }, { -28, 42, -18, 4, 6, 0 }, + { -29, 43, -19, 4, 6, 0 }, { -29, 44, -20, 4, 6, 0 }, { -30, 45, -20, 5, 6, 0 }, { -31, 46, -21, 5, 6, 0 }, { -32, 47, -22, 5, 6, 0 }, + { -32, 48, -22, 5, 6, 0 }, { -33, 49, -23, 5, 6, 0 }, { -34, 50, -23, 5, 6, 0 }, { -34, 51, -24, 5, 6, 0 }, { -35, 52, -25, 5, 6, 0 }, + { -36, 53, -25, 5, 6, 0 }, { -36, 54, -26, 5, 6, 0 }, { -37, 55, -26, 5, 6, 0 }, { -38, 56, -27, 5, 6, 0 }, { -38, 57, -28, 5, 6, 0 }, + { -39, 58, -28, 6, 6, 0 }, { -39, 59, -29, 6, 6, 0 }, { -40, 60, -29, 6, 6, 0 }, { -40, 61, -30, 6, 6, 0 }, { -41, 62, -31, 6, 6, 0 }, + { -41, 63, -31, 6, 6, 0 }, { -42, 64, -32, 6, 6, 0 }, { -42, 65, -32, 6, 6, 0 }, { -43, 66, -33, 6, 6, 0 }, { -43, 67, -34, 6, 6, 0 }, + { -43, 68, -34, 6, 6, 0 }, { -44, 69, -35, 6, 6, 0 }, { -44, 70, -35, 6, 6, 0 }, { -44, 71, -36, 6, 6, 0 }, { -45, 72, -36, 7, 6, 0 }, + { -45, 73, -37, 7, 6, 0 }, { -45, 74, -37, 7, 6, 0 }, { -45, 75, -38, 7, 6, 0 }, { -46, 76, -38, 7, 6, 0 }, { -46, 77, -39, 7, 6, 0 }, + { -46, 78, -39, 7, 6, 0 }, { -46, 79, -40, 7, 6, 0 }, { -46, 80, -40, 7, 6, 0 }, { -47, 81, -41, 7, 6, 0 }, { -47, 82, -42, 7, 6, 0 }, + { -47, 83, -42, 7, 6, 0 }, { -47, 84, -43, 7, 6, 0 }, { -47, 85, -43, 7, 6, 0 }, { -47, 86, -43, 7, 6, 0 }, { -48, 87, -44, 7, 6, 0 }, + { -48, 88, -45, 8, 6, 0 }, { -48, 89, -45, 8, 6, 0 }, { -48, 90, -46, 8, 6, 0 }, { -48, 91, -46, 8, 6, 0 }, { -48, 92, -47, 8, 6, 0 }, + { -48, 93, -47, 8, 6, 0 }, { -48, 94, -48, 8, 6, 0 }, { -48, 95, -48, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D38A9 = { - 114, { - { 16, 0, 15, 8, 6, 0 }, { 16, 1, 15, 8, 6, 0 }, { 16, 2, 15, 8, 6, 0 }, { 16, 3, 14, 8, 6, 0 }, { 16, 4, 14, 8, 6, 0 }, - { 16, 5, 13, 8, 6, 0 }, { 16, 6, 13, 8, 6, 0 }, { 16, 7, 12, 8, 6, 0 }, { 16, 8, 12, 9, 6, 0 }, { 17, 9, 11, 9, 6, 0 }, - { 17, 10, 10, 9, 6, 0 }, { 17, 11, 10, 9, 6, 0 }, { 17, 12, 10, 9, 6, 0 }, { 17, 13, 9, 9, 6, 0 }, { 17, 14, 9, 9, 6, 0 }, - { 18, 15, 8, 9, 6, 0 }, { 18, 16, 7, 9, 6, 0 }, { 18, 17, 7, 9, 6, 0 }, { 18, 18, 6, 9, 6, 0 }, { 18, 19, 6, 9, 6, 0 }, - { 19, 20, 5, 9, 6, 0 }, { 19, 21, 5, 9, 6, 0 }, { 19, 22, 4, 10, 6, 0 }, { 19, 23, 4, 10, 6, 0 }, { 20, 24, 3, 10, 6, 0 }, - { 20, 25, 3, 10, 6, 0 }, { 20, 26, 2, 10, 6, 0 }, { 21, 27, 2, 10, 6, 0 }, { 21, 28, 1, 10, 6, 0 }, { 21, 29, 1, 10, 6, 0 }, - { 22, 30, 0, 10, 6, 0 }, { 22, 31, -1, 10, 6, 0 }, { 23, 32, -1, 10, 6, 0 }, { 23, 33, -2, 10, 6, 0 }, { 24, 34, -2, 10, 6, 0 }, - { 24, 35, -3, 10, 6, 0 }, { 25, 36, -3, 10, 6, 0 }, { 25, 37, -4, 11, 6, 0 }, { 26, 38, -5, 11, 6, 0 }, { 26, 39, -5, 11, 6, 0 }, - { 27, 40, -6, 11, 6, 0 }, { 28, 41, -6, 11, 6, 0 }, { 28, 42, -7, 11, 6, 0 }, { 29, 43, -8, 11, 6, 0 }, { 30, 44, -8, 11, 6, 0 }, - { 30, 45, -9, 11, 6, 0 }, { 31, 46, -9, 11, 6, 0 }, { 32, 47, -10, 11, 6, 0 }, { 32, 48, -11, 11, 6, 0 }, { 33, 49, -11, 11, 6, 0 }, - { 34, 50, -12, 12, 6, 0 }, { 35, 51, -13, 12, 6, 0 }, { 35, 52, -13, 12, 6, 0 }, { 36, 53, -14, 12, 6, 0 }, { 37, 54, -14, 12, 6, 0 }, - { 38, 55, -15, 12, 6, 0 }, { 39, 56, -16, 12, 6, 0 }, { 39, 57, -17, 12, 6, 0 }, { 40, 58, -17, 12, 6, 0 }, { 41, 59, -18, 12, 6, 0 }, - { 42, 60, -18, 12, 6, 0 }, { 43, 61, -19, 12, 6, 0 }, { 44, 61, -20, 12, 6, 0 }, { 45, 62, -20, 13, 6, 0 }, { 46, 63, -21, 13, 6, 0 }, - { 47, 64, -22, 13, 6, 0 }, { 48, 64, -22, 13, 6, 0 }, { 49, 65, -23, 13, 6, 0 }, { 50, 66, -23, 13, 6, 0 }, { 51, 66, -24, 13, 6, 0 }, - { 52, 67, -25, 13, 6, 0 }, { 53, 68, -25, 13, 6, 0 }, { 54, 68, -26, 13, 6, 0 }, { 55, 69, -26, 13, 6, 0 }, { 56, 70, -27, 13, 6, 0 }, - { 57, 70, -28, 13, 6, 0 }, { 58, 71, -28, 14, 6, 0 }, { 59, 71, -29, 14, 6, 0 }, { 60, 72, -29, 14, 6, 0 }, { 61, 72, -30, 14, 6, 0 }, - { 62, 73, -31, 14, 6, 0 }, { 63, 73, -31, 14, 6, 0 }, { 64, 74, -32, 14, 6, 0 }, { 65, 74, -32, 14, 6, 0 }, { 66, 75, -33, 14, 6, 0 }, - { 67, 75, -34, 14, 6, 0 }, { 68, 75, -34, 14, 6, 0 }, { 69, 76, -35, 14, 6, 0 }, { 70, 76, -35, 14, 6, 0 }, { 71, 76, -36, 14, 6, 0 }, - { 72, 77, -36, 15, 6, 0 }, { 73, 77, -37, 15, 6, 0 }, { 74, 77, -37, 15, 6, 0 }, { 75, 77, -38, 15, 6, 0 }, { 76, 78, -38, 15, 6, 0 }, - { 77, 78, -39, 15, 6, 0 }, { 78, 78, -39, 15, 6, 0 }, { 79, 78, -40, 15, 6, 0 }, { 80, 78, -40, 15, 6, 0 }, { 81, 79, -41, 15, 6, 0 }, - { 82, 79, -42, 15, 6, 0 }, { 83, 79, -42, 15, 6, 0 }, { 84, 79, -43, 15, 6, 0 }, { 85, 79, -43, 15, 6, 0 }, { 86, 79, -43, 15, 6, 0 }, - { 87, 80, -44, 15, 6, 0 }, { 88, 80, -45, 16, 6, 0 }, { 89, 80, -45, 16, 6, 0 }, { 90, 80, -46, 16, 6, 0 }, { 91, 80, -46, 16, 6, 0 }, - { 92, 80, -47, 16, 6, 0 }, { 93, 80, -47, 16, 6, 0 }, { 94, 80, -48, 16, 6, 0 }, { 95, 80, -48, 16, 6, 0 }, + 114, { + { 16, 0, 15, 8, 6, 0 }, { 16, 1, 15, 8, 6, 0 }, { 16, 2, 15, 8, 6, 0 }, { 16, 3, 14, 8, 6, 0 }, { 16, 4, 14, 8, 6, 0 }, + { 16, 5, 13, 8, 6, 0 }, { 16, 6, 13, 8, 6, 0 }, { 16, 7, 12, 8, 6, 0 }, { 16, 8, 12, 9, 6, 0 }, { 17, 9, 11, 9, 6, 0 }, + { 17, 10, 10, 9, 6, 0 }, { 17, 11, 10, 9, 6, 0 }, { 17, 12, 10, 9, 6, 0 }, { 17, 13, 9, 9, 6, 0 }, { 17, 14, 9, 9, 6, 0 }, + { 18, 15, 8, 9, 6, 0 }, { 18, 16, 7, 9, 6, 0 }, { 18, 17, 7, 9, 6, 0 }, { 18, 18, 6, 9, 6, 0 }, { 18, 19, 6, 9, 6, 0 }, + { 19, 20, 5, 9, 6, 0 }, { 19, 21, 5, 9, 6, 0 }, { 19, 22, 4, 10, 6, 0 }, { 19, 23, 4, 10, 6, 0 }, { 20, 24, 3, 10, 6, 0 }, + { 20, 25, 3, 10, 6, 0 }, { 20, 26, 2, 10, 6, 0 }, { 21, 27, 2, 10, 6, 0 }, { 21, 28, 1, 10, 6, 0 }, { 21, 29, 1, 10, 6, 0 }, + { 22, 30, 0, 10, 6, 0 }, { 22, 31, -1, 10, 6, 0 }, { 23, 32, -1, 10, 6, 0 }, { 23, 33, -2, 10, 6, 0 }, { 24, 34, -2, 10, 6, 0 }, + { 24, 35, -3, 10, 6, 0 }, { 25, 36, -3, 10, 6, 0 }, { 25, 37, -4, 11, 6, 0 }, { 26, 38, -5, 11, 6, 0 }, { 26, 39, -5, 11, 6, 0 }, + { 27, 40, -6, 11, 6, 0 }, { 28, 41, -6, 11, 6, 0 }, { 28, 42, -7, 11, 6, 0 }, { 29, 43, -8, 11, 6, 0 }, { 30, 44, -8, 11, 6, 0 }, + { 30, 45, -9, 11, 6, 0 }, { 31, 46, -9, 11, 6, 0 }, { 32, 47, -10, 11, 6, 0 }, { 32, 48, -11, 11, 6, 0 }, { 33, 49, -11, 11, 6, 0 }, + { 34, 50, -12, 12, 6, 0 }, { 35, 51, -13, 12, 6, 0 }, { 35, 52, -13, 12, 6, 0 }, { 36, 53, -14, 12, 6, 0 }, { 37, 54, -14, 12, 6, 0 }, + { 38, 55, -15, 12, 6, 0 }, { 39, 56, -16, 12, 6, 0 }, { 39, 57, -17, 12, 6, 0 }, { 40, 58, -17, 12, 6, 0 }, { 41, 59, -18, 12, 6, 0 }, + { 42, 60, -18, 12, 6, 0 }, { 43, 61, -19, 12, 6, 0 }, { 44, 61, -20, 12, 6, 0 }, { 45, 62, -20, 13, 6, 0 }, { 46, 63, -21, 13, 6, 0 }, + { 47, 64, -22, 13, 6, 0 }, { 48, 64, -22, 13, 6, 0 }, { 49, 65, -23, 13, 6, 0 }, { 50, 66, -23, 13, 6, 0 }, { 51, 66, -24, 13, 6, 0 }, + { 52, 67, -25, 13, 6, 0 }, { 53, 68, -25, 13, 6, 0 }, { 54, 68, -26, 13, 6, 0 }, { 55, 69, -26, 13, 6, 0 }, { 56, 70, -27, 13, 6, 0 }, + { 57, 70, -28, 13, 6, 0 }, { 58, 71, -28, 14, 6, 0 }, { 59, 71, -29, 14, 6, 0 }, { 60, 72, -29, 14, 6, 0 }, { 61, 72, -30, 14, 6, 0 }, + { 62, 73, -31, 14, 6, 0 }, { 63, 73, -31, 14, 6, 0 }, { 64, 74, -32, 14, 6, 0 }, { 65, 74, -32, 14, 6, 0 }, { 66, 75, -33, 14, 6, 0 }, + { 67, 75, -34, 14, 6, 0 }, { 68, 75, -34, 14, 6, 0 }, { 69, 76, -35, 14, 6, 0 }, { 70, 76, -35, 14, 6, 0 }, { 71, 76, -36, 14, 6, 0 }, + { 72, 77, -36, 15, 6, 0 }, { 73, 77, -37, 15, 6, 0 }, { 74, 77, -37, 15, 6, 0 }, { 75, 77, -38, 15, 6, 0 }, { 76, 78, -38, 15, 6, 0 }, + { 77, 78, -39, 15, 6, 0 }, { 78, 78, -39, 15, 6, 0 }, { 79, 78, -40, 15, 6, 0 }, { 80, 78, -40, 15, 6, 0 }, { 81, 79, -41, 15, 6, 0 }, + { 82, 79, -42, 15, 6, 0 }, { 83, 79, -42, 15, 6, 0 }, { 84, 79, -43, 15, 6, 0 }, { 85, 79, -43, 15, 6, 0 }, { 86, 79, -43, 15, 6, 0 }, + { 87, 80, -44, 15, 6, 0 }, { 88, 80, -45, 16, 6, 0 }, { 89, 80, -45, 16, 6, 0 }, { 90, 80, -46, 16, 6, 0 }, { 91, 80, -46, 16, 6, 0 }, + { 92, 80, -47, 16, 6, 0 }, { 93, 80, -47, 16, 6, 0 }, { 94, 80, -48, 16, 6, 0 }, { 95, 80, -48, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D3CAD = { - 115, { - { 0, 16, 15, 16, 6, 0 }, { 1, 16, 15, 16, 6, 0 }, { 2, 16, 15, 16, 6, 0 }, { 3, 16, 14, 16, 6, 0 }, { 4, 16, 14, 16, 6, 0 }, - { 5, 16, 13, 16, 6, 0 }, { 6, 16, 13, 16, 6, 0 }, { 7, 16, 12, 16, 6, 0 }, { 8, 16, 12, 17, 6, 0 }, { 9, 15, 11, 17, 6, 0 }, - { 10, 15, 11, 17, 6, 0 }, { 11, 15, 10, 17, 6, 0 }, { 12, 15, 10, 17, 6, 0 }, { 13, 15, 9, 17, 6, 0 }, { 14, 15, 9, 17, 6, 0 }, - { 15, 14, 8, 17, 6, 0 }, { 16, 14, 7, 17, 6, 0 }, { 17, 14, 7, 17, 6, 0 }, { 18, 14, 7, 17, 6, 0 }, { 19, 14, 6, 17, 6, 0 }, - { 20, 13, 6, 17, 6, 0 }, { 21, 13, 5, 17, 6, 0 }, { 22, 13, 4, 18, 6, 0 }, { 23, 13, 4, 18, 6, 0 }, { 24, 12, 3, 18, 6, 0 }, - { 25, 12, 3, 18, 6, 0 }, { 26, 12, 2, 18, 6, 0 }, { 27, 11, 2, 18, 6, 0 }, { 28, 11, 1, 18, 6, 0 }, { 29, 11, 1, 18, 6, 0 }, - { 30, 10, 0, 18, 6, 0 }, { 31, 10, 0, 18, 6, 0 }, { 32, 9, -1, 18, 6, 0 }, { 33, 9, -2, 18, 6, 0 }, { 34, 8, -2, 18, 6, 0 }, - { 35, 8, -3, 18, 6, 0 }, { 36, 7, -3, 18, 6, 0 }, { 37, 7, -4, 19, 6, 0 }, { 38, 6, -4, 19, 6, 0 }, { 39, 6, -5, 19, 6, 0 }, - { 40, 5, -6, 19, 6, 0 }, { 41, 4, -6, 19, 6, 0 }, { 42, 4, -7, 19, 6, 0 }, { 43, 3, -7, 19, 6, 0 }, { 44, 2, -8, 19, 6, 0 }, - { 45, 2, -9, 19, 6, 0 }, { 46, 1, -9, 19, 6, 0 }, { 47, 0, -10, 19, 6, 0 }, { 48, 0, -11, 19, 6, 0 }, { 49, -1, -11, 19, 6, 0 }, - { 50, -2, -12, 20, 6, 0 }, { 51, -3, -12, 20, 6, 0 }, { 52, -3, -13, 20, 6, 0 }, { 53, -4, -14, 20, 6, 0 }, { 54, -5, -14, 20, 6, 0 }, - { 55, -6, -15, 20, 6, 0 }, { 56, -7, -16, 20, 6, 0 }, { 57, -7, -16, 20, 6, 0 }, { 58, -8, -17, 20, 6, 0 }, { 59, -9, -17, 20, 6, 0 }, - { 60, -10, -18, 20, 6, 0 }, { 61, -11, -19, 20, 6, 0 }, { 61, -12, -19, 20, 6, 0 }, { 62, -13, -20, 21, 6, 0 }, { 63, -14, -21, 21, 6, 0 }, - { 64, -15, -21, 21, 6, 0 }, { 64, -16, -22, 21, 6, 0 }, { 65, -17, -22, 21, 6, 0 }, { 66, -18, -23, 21, 6, 0 }, { 66, -19, -24, 21, 6, 0 }, - { 67, -20, -24, 21, 6, 0 }, { 68, -21, -25, 21, 6, 0 }, { 68, -22, -26, 21, 6, 0 }, { 69, -23, -26, 21, 6, 0 }, { 70, -24, -27, 21, 6, 0 }, - { 70, -25, -27, 21, 6, 0 }, { 71, -26, -28, 22, 6, 0 }, { 71, -27, -29, 22, 6, 0 }, { 72, -28, -29, 22, 6, 0 }, { 72, -29, -30, 22, 6, 0 }, - { 73, -30, -30, 22, 6, 0 }, { 73, -31, -31, 22, 6, 0 }, { 74, -32, -31, 22, 6, 0 }, { 74, -33, -32, 22, 6, 0 }, { 75, -34, -33, 22, 6, 0 }, - { 75, -35, -33, 22, 6, 0 }, { 75, -36, -34, 22, 6, 0 }, { 76, -37, -34, 22, 6, 0 }, { 76, -38, -35, 22, 6, 0 }, { 76, -39, -35, 22, 6, 0 }, - { 77, -40, -36, 23, 6, 0 }, { 77, -41, -36, 23, 6, 0 }, { 77, -42, -37, 23, 6, 0 }, { 77, -43, -37, 23, 6, 0 }, { 78, -44, -38, 23, 6, 0 }, - { 78, -45, -39, 23, 6, 0 }, { 78, -46, -39, 23, 6, 0 }, { 78, -47, -40, 23, 6, 0 }, { 78, -48, -40, 23, 6, 0 }, { 79, -49, -40, 23, 6, 0 }, - { 79, -50, -41, 23, 6, 0 }, { 79, -51, -42, 23, 6, 0 }, { 79, -52, -42, 23, 6, 0 }, { 79, -53, -43, 23, 6, 0 }, { 79, -54, -43, 23, 6, 0 }, - { 80, -55, -44, 23, 6, 0 }, { 80, -56, -44, 24, 6, 0 }, { 80, -57, -45, 24, 6, 0 }, { 80, -58, -45, 24, 6, 0 }, { 80, -59, -46, 24, 6, 0 }, - { 80, -60, -46, 24, 6, 0 }, { 80, -61, -47, 24, 6, 0 }, { 80, -62, -47, 24, 6, 0 }, { 80, -63, -48, 24, 6, 0 }, { 80, -64, -49, 24, 6, 0 }, + 115, { + { 0, 16, 15, 16, 6, 0 }, { 1, 16, 15, 16, 6, 0 }, { 2, 16, 15, 16, 6, 0 }, { 3, 16, 14, 16, 6, 0 }, { 4, 16, 14, 16, 6, 0 }, + { 5, 16, 13, 16, 6, 0 }, { 6, 16, 13, 16, 6, 0 }, { 7, 16, 12, 16, 6, 0 }, { 8, 16, 12, 17, 6, 0 }, { 9, 15, 11, 17, 6, 0 }, + { 10, 15, 11, 17, 6, 0 }, { 11, 15, 10, 17, 6, 0 }, { 12, 15, 10, 17, 6, 0 }, { 13, 15, 9, 17, 6, 0 }, { 14, 15, 9, 17, 6, 0 }, + { 15, 14, 8, 17, 6, 0 }, { 16, 14, 7, 17, 6, 0 }, { 17, 14, 7, 17, 6, 0 }, { 18, 14, 7, 17, 6, 0 }, { 19, 14, 6, 17, 6, 0 }, + { 20, 13, 6, 17, 6, 0 }, { 21, 13, 5, 17, 6, 0 }, { 22, 13, 4, 18, 6, 0 }, { 23, 13, 4, 18, 6, 0 }, { 24, 12, 3, 18, 6, 0 }, + { 25, 12, 3, 18, 6, 0 }, { 26, 12, 2, 18, 6, 0 }, { 27, 11, 2, 18, 6, 0 }, { 28, 11, 1, 18, 6, 0 }, { 29, 11, 1, 18, 6, 0 }, + { 30, 10, 0, 18, 6, 0 }, { 31, 10, 0, 18, 6, 0 }, { 32, 9, -1, 18, 6, 0 }, { 33, 9, -2, 18, 6, 0 }, { 34, 8, -2, 18, 6, 0 }, + { 35, 8, -3, 18, 6, 0 }, { 36, 7, -3, 18, 6, 0 }, { 37, 7, -4, 19, 6, 0 }, { 38, 6, -4, 19, 6, 0 }, { 39, 6, -5, 19, 6, 0 }, + { 40, 5, -6, 19, 6, 0 }, { 41, 4, -6, 19, 6, 0 }, { 42, 4, -7, 19, 6, 0 }, { 43, 3, -7, 19, 6, 0 }, { 44, 2, -8, 19, 6, 0 }, + { 45, 2, -9, 19, 6, 0 }, { 46, 1, -9, 19, 6, 0 }, { 47, 0, -10, 19, 6, 0 }, { 48, 0, -11, 19, 6, 0 }, { 49, -1, -11, 19, 6, 0 }, + { 50, -2, -12, 20, 6, 0 }, { 51, -3, -12, 20, 6, 0 }, { 52, -3, -13, 20, 6, 0 }, { 53, -4, -14, 20, 6, 0 }, { 54, -5, -14, 20, 6, 0 }, + { 55, -6, -15, 20, 6, 0 }, { 56, -7, -16, 20, 6, 0 }, { 57, -7, -16, 20, 6, 0 }, { 58, -8, -17, 20, 6, 0 }, { 59, -9, -17, 20, 6, 0 }, + { 60, -10, -18, 20, 6, 0 }, { 61, -11, -19, 20, 6, 0 }, { 61, -12, -19, 20, 6, 0 }, { 62, -13, -20, 21, 6, 0 }, { 63, -14, -21, 21, 6, 0 }, + { 64, -15, -21, 21, 6, 0 }, { 64, -16, -22, 21, 6, 0 }, { 65, -17, -22, 21, 6, 0 }, { 66, -18, -23, 21, 6, 0 }, { 66, -19, -24, 21, 6, 0 }, + { 67, -20, -24, 21, 6, 0 }, { 68, -21, -25, 21, 6, 0 }, { 68, -22, -26, 21, 6, 0 }, { 69, -23, -26, 21, 6, 0 }, { 70, -24, -27, 21, 6, 0 }, + { 70, -25, -27, 21, 6, 0 }, { 71, -26, -28, 22, 6, 0 }, { 71, -27, -29, 22, 6, 0 }, { 72, -28, -29, 22, 6, 0 }, { 72, -29, -30, 22, 6, 0 }, + { 73, -30, -30, 22, 6, 0 }, { 73, -31, -31, 22, 6, 0 }, { 74, -32, -31, 22, 6, 0 }, { 74, -33, -32, 22, 6, 0 }, { 75, -34, -33, 22, 6, 0 }, + { 75, -35, -33, 22, 6, 0 }, { 75, -36, -34, 22, 6, 0 }, { 76, -37, -34, 22, 6, 0 }, { 76, -38, -35, 22, 6, 0 }, { 76, -39, -35, 22, 6, 0 }, + { 77, -40, -36, 23, 6, 0 }, { 77, -41, -36, 23, 6, 0 }, { 77, -42, -37, 23, 6, 0 }, { 77, -43, -37, 23, 6, 0 }, { 78, -44, -38, 23, 6, 0 }, + { 78, -45, -39, 23, 6, 0 }, { 78, -46, -39, 23, 6, 0 }, { 78, -47, -40, 23, 6, 0 }, { 78, -48, -40, 23, 6, 0 }, { 79, -49, -40, 23, 6, 0 }, + { 79, -50, -41, 23, 6, 0 }, { 79, -51, -42, 23, 6, 0 }, { 79, -52, -42, 23, 6, 0 }, { 79, -53, -43, 23, 6, 0 }, { 79, -54, -43, 23, 6, 0 }, + { 80, -55, -44, 23, 6, 0 }, { 80, -56, -44, 24, 6, 0 }, { 80, -57, -45, 24, 6, 0 }, { 80, -58, -45, 24, 6, 0 }, { 80, -59, -46, 24, 6, 0 }, + { 80, -60, -46, 24, 6, 0 }, { 80, -61, -47, 24, 6, 0 }, { 80, -62, -47, 24, 6, 0 }, { 80, -63, -48, 24, 6, 0 }, { 80, -64, -49, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D40BA = { - 114, { - { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 24, 6, 0 }, - { 16, 26, 13, 24, 6, 0 }, { 16, 25, 12, 24, 6, 0 }, { 16, 24, 12, 25, 6, 0 }, { 15, 23, 11, 25, 6, 0 }, { 15, 22, 11, 25, 6, 0 }, - { 15, 21, 10, 25, 6, 0 }, { 15, 20, 10, 25, 6, 0 }, { 15, 19, 9, 25, 6, 0 }, { 15, 18, 9, 25, 6, 0 }, { 14, 17, 8, 25, 6, 0 }, - { 14, 16, 7, 25, 6, 0 }, { 14, 15, 7, 25, 6, 0 }, { 14, 14, 7, 25, 6, 0 }, { 14, 13, 6, 25, 6, 0 }, { 13, 12, 6, 25, 6, 0 }, - { 13, 11, 5, 25, 6, 0 }, { 13, 10, 4, 26, 6, 0 }, { 13, 9, 4, 26, 6, 0 }, { 12, 8, 3, 26, 6, 0 }, { 12, 7, 3, 26, 6, 0 }, - { 12, 6, 2, 26, 6, 0 }, { 11, 5, 2, 26, 6, 0 }, { 11, 4, 1, 26, 6, 0 }, { 11, 3, 1, 26, 6, 0 }, { 10, 2, 0, 26, 6, 0 }, - { 10, 1, 0, 26, 6, 0 }, { 9, 0, -1, 26, 6, 0 }, { 9, -1, -2, 26, 6, 0 }, { 8, -2, -2, 26, 6, 0 }, { 8, -3, -3, 26, 6, 0 }, - { 7, -4, -3, 26, 6, 0 }, { 7, -5, -4, 27, 6, 0 }, { 6, -6, -4, 27, 6, 0 }, { 6, -7, -5, 27, 6, 0 }, { 5, -8, -6, 27, 6, 0 }, - { 4, -9, -6, 27, 6, 0 }, { 4, -10, -7, 27, 6, 0 }, { 3, -11, -7, 27, 6, 0 }, { 2, -12, -8, 27, 6, 0 }, { 2, -13, -9, 27, 6, 0 }, - { 1, -14, -9, 27, 6, 0 }, { 0, -15, -10, 27, 6, 0 }, { 0, -16, -11, 27, 6, 0 }, { -1, -17, -11, 27, 6, 0 }, { -2, -18, -12, 28, 6, 0 }, - { -3, -19, -12, 28, 6, 0 }, { -3, -20, -13, 28, 6, 0 }, { -4, -21, -14, 28, 6, 0 }, { -5, -22, -14, 28, 6, 0 }, { -6, -23, -15, 28, 6, 0 }, - { -7, -24, -16, 28, 6, 0 }, { -7, -25, -16, 28, 6, 0 }, { -8, -26, -17, 28, 6, 0 }, { -9, -27, -17, 28, 6, 0 }, { -10, -28, -18, 28, 6, 0 }, - { -11, -29, -19, 28, 6, 0 }, { -12, -29, -19, 28, 6, 0 }, { -13, -30, -20, 29, 6, 0 }, { -14, -31, -21, 29, 6, 0 }, { -15, -32, -21, 29, 6, 0 }, - { -16, -32, -22, 29, 6, 0 }, { -17, -33, -22, 29, 6, 0 }, { -18, -34, -23, 29, 6, 0 }, { -19, -34, -24, 29, 6, 0 }, { -20, -35, -24, 29, 6, 0 }, - { -21, -36, -25, 29, 6, 0 }, { -22, -36, -26, 29, 6, 0 }, { -23, -37, -26, 29, 6, 0 }, { -24, -38, -27, 29, 6, 0 }, { -25, -38, -27, 29, 6, 0 }, - { -26, -39, -28, 30, 6, 0 }, { -27, -39, -29, 30, 6, 0 }, { -28, -40, -29, 30, 6, 0 }, { -29, -40, -30, 30, 6, 0 }, { -30, -41, -30, 30, 6, 0 }, - { -31, -41, -31, 30, 6, 0 }, { -32, -42, -31, 30, 6, 0 }, { -33, -42, -32, 30, 6, 0 }, { -34, -43, -33, 30, 6, 0 }, { -35, -43, -33, 30, 6, 0 }, - { -36, -43, -34, 30, 6, 0 }, { -37, -44, -34, 30, 6, 0 }, { -38, -44, -35, 30, 6, 0 }, { -39, -44, -35, 30, 6, 0 }, { -40, -45, -36, 31, 6, 0 }, - { -41, -45, -36, 31, 6, 0 }, { -42, -45, -37, 31, 6, 0 }, { -43, -45, -37, 31, 6, 0 }, { -44, -46, -38, 31, 6, 0 }, { -45, -46, -39, 31, 6, 0 }, - { -46, -46, -39, 31, 6, 0 }, { -47, -46, -40, 31, 6, 0 }, { -48, -46, -40, 31, 6, 0 }, { -49, -47, -40, 31, 6, 0 }, { -50, -47, -41, 31, 6, 0 }, - { -51, -47, -42, 31, 6, 0 }, { -52, -47, -42, 31, 6, 0 }, { -53, -47, -43, 31, 6, 0 }, { -54, -47, -43, 31, 6, 0 }, { -55, -48, -44, 31, 6, 0 }, - { -56, -48, -44, 0, 6, 0 }, { -57, -48, -45, 0, 6, 0 }, { -58, -48, -45, 0, 6, 0 }, { -59, -48, -46, 0, 6, 0 }, { -60, -48, -46, 0, 6, 0 }, - { -61, -48, -47, 0, 6, 0 }, { -62, -48, -47, 0, 6, 0 }, { -63, -48, -48, 0, 6, 0 }, { -64, -48, -49, 0, 6, 0 }, + 114, { + { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 24, 6, 0 }, + { 16, 26, 13, 24, 6, 0 }, { 16, 25, 12, 24, 6, 0 }, { 16, 24, 12, 25, 6, 0 }, { 15, 23, 11, 25, 6, 0 }, { 15, 22, 11, 25, 6, 0 }, + { 15, 21, 10, 25, 6, 0 }, { 15, 20, 10, 25, 6, 0 }, { 15, 19, 9, 25, 6, 0 }, { 15, 18, 9, 25, 6, 0 }, { 14, 17, 8, 25, 6, 0 }, + { 14, 16, 7, 25, 6, 0 }, { 14, 15, 7, 25, 6, 0 }, { 14, 14, 7, 25, 6, 0 }, { 14, 13, 6, 25, 6, 0 }, { 13, 12, 6, 25, 6, 0 }, + { 13, 11, 5, 25, 6, 0 }, { 13, 10, 4, 26, 6, 0 }, { 13, 9, 4, 26, 6, 0 }, { 12, 8, 3, 26, 6, 0 }, { 12, 7, 3, 26, 6, 0 }, + { 12, 6, 2, 26, 6, 0 }, { 11, 5, 2, 26, 6, 0 }, { 11, 4, 1, 26, 6, 0 }, { 11, 3, 1, 26, 6, 0 }, { 10, 2, 0, 26, 6, 0 }, + { 10, 1, 0, 26, 6, 0 }, { 9, 0, -1, 26, 6, 0 }, { 9, -1, -2, 26, 6, 0 }, { 8, -2, -2, 26, 6, 0 }, { 8, -3, -3, 26, 6, 0 }, + { 7, -4, -3, 26, 6, 0 }, { 7, -5, -4, 27, 6, 0 }, { 6, -6, -4, 27, 6, 0 }, { 6, -7, -5, 27, 6, 0 }, { 5, -8, -6, 27, 6, 0 }, + { 4, -9, -6, 27, 6, 0 }, { 4, -10, -7, 27, 6, 0 }, { 3, -11, -7, 27, 6, 0 }, { 2, -12, -8, 27, 6, 0 }, { 2, -13, -9, 27, 6, 0 }, + { 1, -14, -9, 27, 6, 0 }, { 0, -15, -10, 27, 6, 0 }, { 0, -16, -11, 27, 6, 0 }, { -1, -17, -11, 27, 6, 0 }, { -2, -18, -12, 28, 6, 0 }, + { -3, -19, -12, 28, 6, 0 }, { -3, -20, -13, 28, 6, 0 }, { -4, -21, -14, 28, 6, 0 }, { -5, -22, -14, 28, 6, 0 }, { -6, -23, -15, 28, 6, 0 }, + { -7, -24, -16, 28, 6, 0 }, { -7, -25, -16, 28, 6, 0 }, { -8, -26, -17, 28, 6, 0 }, { -9, -27, -17, 28, 6, 0 }, { -10, -28, -18, 28, 6, 0 }, + { -11, -29, -19, 28, 6, 0 }, { -12, -29, -19, 28, 6, 0 }, { -13, -30, -20, 29, 6, 0 }, { -14, -31, -21, 29, 6, 0 }, { -15, -32, -21, 29, 6, 0 }, + { -16, -32, -22, 29, 6, 0 }, { -17, -33, -22, 29, 6, 0 }, { -18, -34, -23, 29, 6, 0 }, { -19, -34, -24, 29, 6, 0 }, { -20, -35, -24, 29, 6, 0 }, + { -21, -36, -25, 29, 6, 0 }, { -22, -36, -26, 29, 6, 0 }, { -23, -37, -26, 29, 6, 0 }, { -24, -38, -27, 29, 6, 0 }, { -25, -38, -27, 29, 6, 0 }, + { -26, -39, -28, 30, 6, 0 }, { -27, -39, -29, 30, 6, 0 }, { -28, -40, -29, 30, 6, 0 }, { -29, -40, -30, 30, 6, 0 }, { -30, -41, -30, 30, 6, 0 }, + { -31, -41, -31, 30, 6, 0 }, { -32, -42, -31, 30, 6, 0 }, { -33, -42, -32, 30, 6, 0 }, { -34, -43, -33, 30, 6, 0 }, { -35, -43, -33, 30, 6, 0 }, + { -36, -43, -34, 30, 6, 0 }, { -37, -44, -34, 30, 6, 0 }, { -38, -44, -35, 30, 6, 0 }, { -39, -44, -35, 30, 6, 0 }, { -40, -45, -36, 31, 6, 0 }, + { -41, -45, -36, 31, 6, 0 }, { -42, -45, -37, 31, 6, 0 }, { -43, -45, -37, 31, 6, 0 }, { -44, -46, -38, 31, 6, 0 }, { -45, -46, -39, 31, 6, 0 }, + { -46, -46, -39, 31, 6, 0 }, { -47, -46, -40, 31, 6, 0 }, { -48, -46, -40, 31, 6, 0 }, { -49, -47, -40, 31, 6, 0 }, { -50, -47, -41, 31, 6, 0 }, + { -51, -47, -42, 31, 6, 0 }, { -52, -47, -42, 31, 6, 0 }, { -53, -47, -43, 31, 6, 0 }, { -54, -47, -43, 31, 6, 0 }, { -55, -48, -44, 31, 6, 0 }, + { -56, -48, -44, 0, 6, 0 }, { -57, -48, -45, 0, 6, 0 }, { -58, -48, -45, 0, 6, 0 }, { -59, -48, -46, 0, 6, 0 }, { -60, -48, -46, 0, 6, 0 }, + { -61, -48, -47, 0, 6, 0 }, { -62, -48, -47, 0, 6, 0 }, { -63, -48, -48, 0, 6, 0 }, { -64, -48, -49, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CC0D2 = { - 96, { - { 32, 16, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 31, 0, 0 }, { 23, 15, 0, 31, 0, 0 }, - { 22, 15, 0, 31, 0, 0 }, { 21, 15, 0, 31, 0, 0 }, { 20, 15, 0, 31, 0, 0 }, { 19, 15, 0, 31, 0, 0 }, { 18, 15, 0, 31, 0, 0 }, - { 17, 14, 0, 31, 0, 0 }, { 16, 14, 0, 31, 0, 0 }, { 15, 14, 0, 31, 0, 0 }, { 14, 14, 0, 31, 0, 0 }, { 13, 14, 0, 31, 0, 0 }, - { 12, 13, 0, 31, 0, 0 }, { 11, 13, 0, 31, 0, 0 }, { 10, 13, 0, 30, 0, 0 }, { 9, 13, 0, 30, 0, 0 }, { 8, 12, 0, 30, 0, 0 }, - { 7, 12, 0, 30, 0, 0 }, { 6, 12, 0, 30, 0, 0 }, { 5, 11, 0, 30, 0, 0 }, { 4, 11, 0, 30, 0, 0 }, { 3, 11, 0, 30, 0, 0 }, - { 2, 10, 0, 30, 0, 0 }, { 1, 10, 0, 30, 0, 0 }, { 0, 9, 0, 30, 0, 0 }, { -1, 9, 0, 30, 0, 0 }, { -2, 8, 0, 30, 0, 0 }, - { -3, 8, 0, 30, 0, 0 }, { -4, 7, 0, 29, 0, 0 }, { -5, 7, 0, 29, 0, 0 }, { -6, 6, 0, 29, 0, 0 }, { -7, 6, 0, 29, 0, 0 }, - { -8, 5, 0, 29, 0, 0 }, { -9, 4, 0, 29, 0, 0 }, { -10, 4, 0, 29, 0, 0 }, { -11, 3, 0, 29, 0, 0 }, { -12, 2, 0, 29, 0, 0 }, - { -13, 2, 0, 29, 0, 0 }, { -14, 1, 0, 29, 0, 0 }, { -15, 0, 0, 29, 0, 0 }, { -16, 0, 0, 29, 0, 0 }, { -17, -1, 0, 29, 0, 0 }, - { -18, -2, 0, 29, 0, 0 }, { -19, -2, 0, 29, 0, 0 }, { -20, -3, 0, 29, 0, 0 }, { -21, -4, 0, 29, 0, 0 }, { -22, -4, 0, 29, 0, 0 }, - { -23, -5, 0, 29, 0, 0 }, { -24, -6, 0, 29, 0, 0 }, { -25, -6, 0, 29, 0, 0 }, { -26, -7, 0, 29, 0, 0 }, { -27, -7, 0, 29, 0, 0 }, - { -28, -8, 0, 30, 0, 0 }, { -29, -8, 0, 30, 0, 0 }, { -30, -9, 0, 30, 0, 0 }, { -31, -9, 0, 30, 0, 0 }, { -32, -10, 0, 30, 0, 0 }, - { -33, -10, 0, 30, 0, 0 }, { -34, -11, 0, 30, 0, 0 }, { -35, -11, 0, 30, 0, 0 }, { -36, -11, 0, 30, 0, 0 }, { -37, -12, 0, 30, 0, 0 }, - { -38, -12, 0, 30, 0, 0 }, { -39, -12, 0, 30, 0, 0 }, { -40, -13, 0, 30, 0, 0 }, { -41, -13, 0, 31, 0, 0 }, { -42, -13, 0, 31, 0, 0 }, - { -43, -13, 0, 31, 0, 0 }, { -44, -14, 0, 31, 0, 0 }, { -45, -14, 0, 31, 0, 0 }, { -46, -14, 0, 31, 0, 0 }, { -47, -14, 0, 31, 0, 0 }, - { -48, -14, 0, 31, 0, 0 }, { -49, -15, 0, 31, 0, 0 }, { -50, -15, 0, 31, 0, 0 }, { -51, -15, 0, 31, 0, 0 }, { -52, -15, 0, 31, 0, 0 }, - { -53, -15, 0, 31, 0, 0 }, { -54, -15, 0, 31, 0, 0 }, { -55, -16, 0, 31, 0, 0 }, { -56, -16, 0, 0, 0, 0 }, { -57, -16, 0, 0, 0, 0 }, - { -58, -16, 0, 0, 0, 0 }, { -59, -16, 0, 0, 0, 0 }, { -60, -16, 0, 0, 0, 0 }, { -61, -16, 0, 0, 0, 0 }, { -62, -16, 0, 0, 0, 0 }, - { -63, -16, 0, 0, 0, 0 }, + 96, { + { 32, 16, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 31, 0, 0 }, { 23, 15, 0, 31, 0, 0 }, + { 22, 15, 0, 31, 0, 0 }, { 21, 15, 0, 31, 0, 0 }, { 20, 15, 0, 31, 0, 0 }, { 19, 15, 0, 31, 0, 0 }, { 18, 15, 0, 31, 0, 0 }, + { 17, 14, 0, 31, 0, 0 }, { 16, 14, 0, 31, 0, 0 }, { 15, 14, 0, 31, 0, 0 }, { 14, 14, 0, 31, 0, 0 }, { 13, 14, 0, 31, 0, 0 }, + { 12, 13, 0, 31, 0, 0 }, { 11, 13, 0, 31, 0, 0 }, { 10, 13, 0, 30, 0, 0 }, { 9, 13, 0, 30, 0, 0 }, { 8, 12, 0, 30, 0, 0 }, + { 7, 12, 0, 30, 0, 0 }, { 6, 12, 0, 30, 0, 0 }, { 5, 11, 0, 30, 0, 0 }, { 4, 11, 0, 30, 0, 0 }, { 3, 11, 0, 30, 0, 0 }, + { 2, 10, 0, 30, 0, 0 }, { 1, 10, 0, 30, 0, 0 }, { 0, 9, 0, 30, 0, 0 }, { -1, 9, 0, 30, 0, 0 }, { -2, 8, 0, 30, 0, 0 }, + { -3, 8, 0, 30, 0, 0 }, { -4, 7, 0, 29, 0, 0 }, { -5, 7, 0, 29, 0, 0 }, { -6, 6, 0, 29, 0, 0 }, { -7, 6, 0, 29, 0, 0 }, + { -8, 5, 0, 29, 0, 0 }, { -9, 4, 0, 29, 0, 0 }, { -10, 4, 0, 29, 0, 0 }, { -11, 3, 0, 29, 0, 0 }, { -12, 2, 0, 29, 0, 0 }, + { -13, 2, 0, 29, 0, 0 }, { -14, 1, 0, 29, 0, 0 }, { -15, 0, 0, 29, 0, 0 }, { -16, 0, 0, 29, 0, 0 }, { -17, -1, 0, 29, 0, 0 }, + { -18, -2, 0, 29, 0, 0 }, { -19, -2, 0, 29, 0, 0 }, { -20, -3, 0, 29, 0, 0 }, { -21, -4, 0, 29, 0, 0 }, { -22, -4, 0, 29, 0, 0 }, + { -23, -5, 0, 29, 0, 0 }, { -24, -6, 0, 29, 0, 0 }, { -25, -6, 0, 29, 0, 0 }, { -26, -7, 0, 29, 0, 0 }, { -27, -7, 0, 29, 0, 0 }, + { -28, -8, 0, 30, 0, 0 }, { -29, -8, 0, 30, 0, 0 }, { -30, -9, 0, 30, 0, 0 }, { -31, -9, 0, 30, 0, 0 }, { -32, -10, 0, 30, 0, 0 }, + { -33, -10, 0, 30, 0, 0 }, { -34, -11, 0, 30, 0, 0 }, { -35, -11, 0, 30, 0, 0 }, { -36, -11, 0, 30, 0, 0 }, { -37, -12, 0, 30, 0, 0 }, + { -38, -12, 0, 30, 0, 0 }, { -39, -12, 0, 30, 0, 0 }, { -40, -13, 0, 30, 0, 0 }, { -41, -13, 0, 31, 0, 0 }, { -42, -13, 0, 31, 0, 0 }, + { -43, -13, 0, 31, 0, 0 }, { -44, -14, 0, 31, 0, 0 }, { -45, -14, 0, 31, 0, 0 }, { -46, -14, 0, 31, 0, 0 }, { -47, -14, 0, 31, 0, 0 }, + { -48, -14, 0, 31, 0, 0 }, { -49, -15, 0, 31, 0, 0 }, { -50, -15, 0, 31, 0, 0 }, { -51, -15, 0, 31, 0, 0 }, { -52, -15, 0, 31, 0, 0 }, + { -53, -15, 0, 31, 0, 0 }, { -54, -15, 0, 31, 0, 0 }, { -55, -16, 0, 31, 0, 0 }, { -56, -16, 0, 0, 0, 0 }, { -57, -16, 0, 0, 0, 0 }, + { -58, -16, 0, 0, 0, 0 }, { -59, -16, 0, 0, 0, 0 }, { -60, -16, 0, 0, 0, 0 }, { -61, -16, 0, 0, 0, 0 }, { -62, -16, 0, 0, 0, 0 }, + { -63, -16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CC434 = { - 96, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 7, 0, 0 }, { 15, 9, 0, 7, 0, 0 }, - { 15, 10, 0, 7, 0, 0 }, { 15, 11, 0, 7, 0, 0 }, { 15, 12, 0, 7, 0, 0 }, { 15, 13, 0, 7, 0, 0 }, { 15, 14, 0, 7, 0, 0 }, - { 14, 15, 0, 7, 0, 0 }, { 14, 16, 0, 7, 0, 0 }, { 14, 17, 0, 7, 0, 0 }, { 14, 18, 0, 7, 0, 0 }, { 14, 19, 0, 7, 0, 0 }, - { 13, 20, 0, 7, 0, 0 }, { 13, 21, 0, 7, 0, 0 }, { 13, 22, 0, 6, 0, 0 }, { 13, 23, 0, 6, 0, 0 }, { 12, 24, 0, 6, 0, 0 }, - { 12, 25, 0, 6, 0, 0 }, { 12, 26, 0, 6, 0, 0 }, { 11, 27, 0, 6, 0, 0 }, { 11, 28, 0, 6, 0, 0 }, { 11, 29, 0, 6, 0, 0 }, - { 10, 30, 0, 6, 0, 0 }, { 10, 31, 0, 6, 0, 0 }, { 9, 32, 0, 6, 0, 0 }, { 9, 33, 0, 6, 0, 0 }, { 8, 34, 0, 6, 0, 0 }, - { 8, 35, 0, 6, 0, 0 }, { 7, 36, 0, 5, 0, 0 }, { 7, 37, 0, 5, 0, 0 }, { 6, 38, 0, 5, 0, 0 }, { 6, 39, 0, 5, 0, 0 }, - { 5, 40, 0, 5, 0, 0 }, { 4, 41, 0, 5, 0, 0 }, { 4, 42, 0, 5, 0, 0 }, { 3, 43, 0, 5, 0, 0 }, { 2, 44, 0, 5, 0, 0 }, - { 2, 45, 0, 5, 0, 0 }, { 1, 46, 0, 5, 0, 0 }, { 0, 47, 0, 5, 0, 0 }, { 0, 48, 0, 5, 0, 0 }, { -1, 49, 0, 5, 0, 0 }, - { -2, 50, 0, 5, 0, 0 }, { -2, 51, 0, 5, 0, 0 }, { -3, 52, 0, 5, 0, 0 }, { -4, 53, 0, 5, 0, 0 }, { -4, 54, 0, 5, 0, 0 }, - { -5, 55, 0, 5, 0, 0 }, { -6, 56, 0, 5, 0, 0 }, { -6, 57, 0, 5, 0, 0 }, { -7, 58, 0, 5, 0, 0 }, { -7, 59, 0, 5, 0, 0 }, - { -8, 60, 0, 6, 0, 0 }, { -8, 61, 0, 6, 0, 0 }, { -9, 62, 0, 6, 0, 0 }, { -9, 63, 0, 6, 0, 0 }, { -10, 64, 0, 6, 0, 0 }, - { -10, 65, 0, 6, 0, 0 }, { -11, 66, 0, 6, 0, 0 }, { -11, 67, 0, 6, 0, 0 }, { -11, 68, 0, 6, 0, 0 }, { -12, 69, 0, 6, 0, 0 }, - { -12, 70, 0, 6, 0, 0 }, { -12, 71, 0, 6, 0, 0 }, { -13, 72, 0, 6, 0, 0 }, { -13, 73, 0, 7, 0, 0 }, { -13, 74, 0, 7, 0, 0 }, - { -13, 75, 0, 7, 0, 0 }, { -14, 76, 0, 7, 0, 0 }, { -14, 77, 0, 7, 0, 0 }, { -14, 78, 0, 7, 0, 0 }, { -14, 79, 0, 7, 0, 0 }, - { -14, 80, 0, 7, 0, 0 }, { -15, 81, 0, 7, 0, 0 }, { -15, 82, 0, 7, 0, 0 }, { -15, 83, 0, 7, 0, 0 }, { -15, 84, 0, 7, 0, 0 }, - { -15, 85, 0, 7, 0, 0 }, { -15, 86, 0, 7, 0, 0 }, { -16, 87, 0, 7, 0, 0 }, { -16, 88, 0, 8, 0, 0 }, { -16, 89, 0, 8, 0, 0 }, - { -16, 90, 0, 8, 0, 0 }, { -16, 91, 0, 8, 0, 0 }, { -16, 92, 0, 8, 0, 0 }, { -16, 93, 0, 8, 0, 0 }, { -16, 94, 0, 8, 0, 0 }, - { -16, 95, 0, 8, 0, 0 }, + 96, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 7, 0, 0 }, { 15, 9, 0, 7, 0, 0 }, + { 15, 10, 0, 7, 0, 0 }, { 15, 11, 0, 7, 0, 0 }, { 15, 12, 0, 7, 0, 0 }, { 15, 13, 0, 7, 0, 0 }, { 15, 14, 0, 7, 0, 0 }, + { 14, 15, 0, 7, 0, 0 }, { 14, 16, 0, 7, 0, 0 }, { 14, 17, 0, 7, 0, 0 }, { 14, 18, 0, 7, 0, 0 }, { 14, 19, 0, 7, 0, 0 }, + { 13, 20, 0, 7, 0, 0 }, { 13, 21, 0, 7, 0, 0 }, { 13, 22, 0, 6, 0, 0 }, { 13, 23, 0, 6, 0, 0 }, { 12, 24, 0, 6, 0, 0 }, + { 12, 25, 0, 6, 0, 0 }, { 12, 26, 0, 6, 0, 0 }, { 11, 27, 0, 6, 0, 0 }, { 11, 28, 0, 6, 0, 0 }, { 11, 29, 0, 6, 0, 0 }, + { 10, 30, 0, 6, 0, 0 }, { 10, 31, 0, 6, 0, 0 }, { 9, 32, 0, 6, 0, 0 }, { 9, 33, 0, 6, 0, 0 }, { 8, 34, 0, 6, 0, 0 }, + { 8, 35, 0, 6, 0, 0 }, { 7, 36, 0, 5, 0, 0 }, { 7, 37, 0, 5, 0, 0 }, { 6, 38, 0, 5, 0, 0 }, { 6, 39, 0, 5, 0, 0 }, + { 5, 40, 0, 5, 0, 0 }, { 4, 41, 0, 5, 0, 0 }, { 4, 42, 0, 5, 0, 0 }, { 3, 43, 0, 5, 0, 0 }, { 2, 44, 0, 5, 0, 0 }, + { 2, 45, 0, 5, 0, 0 }, { 1, 46, 0, 5, 0, 0 }, { 0, 47, 0, 5, 0, 0 }, { 0, 48, 0, 5, 0, 0 }, { -1, 49, 0, 5, 0, 0 }, + { -2, 50, 0, 5, 0, 0 }, { -2, 51, 0, 5, 0, 0 }, { -3, 52, 0, 5, 0, 0 }, { -4, 53, 0, 5, 0, 0 }, { -4, 54, 0, 5, 0, 0 }, + { -5, 55, 0, 5, 0, 0 }, { -6, 56, 0, 5, 0, 0 }, { -6, 57, 0, 5, 0, 0 }, { -7, 58, 0, 5, 0, 0 }, { -7, 59, 0, 5, 0, 0 }, + { -8, 60, 0, 6, 0, 0 }, { -8, 61, 0, 6, 0, 0 }, { -9, 62, 0, 6, 0, 0 }, { -9, 63, 0, 6, 0, 0 }, { -10, 64, 0, 6, 0, 0 }, + { -10, 65, 0, 6, 0, 0 }, { -11, 66, 0, 6, 0, 0 }, { -11, 67, 0, 6, 0, 0 }, { -11, 68, 0, 6, 0, 0 }, { -12, 69, 0, 6, 0, 0 }, + { -12, 70, 0, 6, 0, 0 }, { -12, 71, 0, 6, 0, 0 }, { -13, 72, 0, 6, 0, 0 }, { -13, 73, 0, 7, 0, 0 }, { -13, 74, 0, 7, 0, 0 }, + { -13, 75, 0, 7, 0, 0 }, { -14, 76, 0, 7, 0, 0 }, { -14, 77, 0, 7, 0, 0 }, { -14, 78, 0, 7, 0, 0 }, { -14, 79, 0, 7, 0, 0 }, + { -14, 80, 0, 7, 0, 0 }, { -15, 81, 0, 7, 0, 0 }, { -15, 82, 0, 7, 0, 0 }, { -15, 83, 0, 7, 0, 0 }, { -15, 84, 0, 7, 0, 0 }, + { -15, 85, 0, 7, 0, 0 }, { -15, 86, 0, 7, 0, 0 }, { -16, 87, 0, 7, 0, 0 }, { -16, 88, 0, 8, 0, 0 }, { -16, 89, 0, 8, 0, 0 }, + { -16, 90, 0, 8, 0, 0 }, { -16, 91, 0, 8, 0, 0 }, { -16, 92, 0, 8, 0, 0 }, { -16, 93, 0, 8, 0, 0 }, { -16, 94, 0, 8, 0, 0 }, + { -16, 95, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CC796 = { - 96, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 15, 0, 0 }, { 9, 17, 0, 15, 0, 0 }, - { 10, 17, 0, 15, 0, 0 }, { 11, 17, 0, 15, 0, 0 }, { 12, 17, 0, 15, 0, 0 }, { 13, 17, 0, 15, 0, 0 }, { 14, 17, 0, 15, 0, 0 }, - { 15, 18, 0, 15, 0, 0 }, { 16, 18, 0, 15, 0, 0 }, { 17, 18, 0, 15, 0, 0 }, { 18, 18, 0, 15, 0, 0 }, { 19, 18, 0, 15, 0, 0 }, - { 20, 19, 0, 15, 0, 0 }, { 21, 19, 0, 15, 0, 0 }, { 22, 19, 0, 14, 0, 0 }, { 23, 19, 0, 14, 0, 0 }, { 24, 20, 0, 14, 0, 0 }, - { 25, 20, 0, 14, 0, 0 }, { 26, 20, 0, 14, 0, 0 }, { 27, 21, 0, 14, 0, 0 }, { 28, 21, 0, 14, 0, 0 }, { 29, 21, 0, 14, 0, 0 }, - { 30, 22, 0, 14, 0, 0 }, { 31, 22, 0, 14, 0, 0 }, { 32, 23, 0, 14, 0, 0 }, { 33, 23, 0, 14, 0, 0 }, { 34, 24, 0, 14, 0, 0 }, - { 35, 24, 0, 14, 0, 0 }, { 36, 25, 0, 13, 0, 0 }, { 37, 25, 0, 13, 0, 0 }, { 38, 26, 0, 13, 0, 0 }, { 39, 26, 0, 13, 0, 0 }, - { 40, 27, 0, 13, 0, 0 }, { 41, 28, 0, 13, 0, 0 }, { 42, 28, 0, 13, 0, 0 }, { 43, 29, 0, 13, 0, 0 }, { 44, 30, 0, 13, 0, 0 }, - { 45, 30, 0, 13, 0, 0 }, { 46, 31, 0, 13, 0, 0 }, { 47, 32, 0, 13, 0, 0 }, { 48, 32, 0, 13, 0, 0 }, { 49, 33, 0, 13, 0, 0 }, - { 50, 34, 0, 13, 0, 0 }, { 51, 34, 0, 13, 0, 0 }, { 52, 35, 0, 13, 0, 0 }, { 53, 36, 0, 13, 0, 0 }, { 54, 36, 0, 13, 0, 0 }, - { 55, 37, 0, 13, 0, 0 }, { 56, 38, 0, 13, 0, 0 }, { 57, 38, 0, 13, 0, 0 }, { 58, 39, 0, 13, 0, 0 }, { 59, 39, 0, 13, 0, 0 }, - { 60, 40, 0, 14, 0, 0 }, { 61, 40, 0, 14, 0, 0 }, { 62, 41, 0, 14, 0, 0 }, { 63, 41, 0, 14, 0, 0 }, { 64, 42, 0, 14, 0, 0 }, - { 65, 42, 0, 14, 0, 0 }, { 66, 43, 0, 14, 0, 0 }, { 67, 43, 0, 14, 0, 0 }, { 68, 43, 0, 14, 0, 0 }, { 69, 44, 0, 14, 0, 0 }, - { 70, 44, 0, 14, 0, 0 }, { 71, 44, 0, 14, 0, 0 }, { 72, 45, 0, 14, 0, 0 }, { 73, 45, 0, 15, 0, 0 }, { 74, 45, 0, 15, 0, 0 }, - { 75, 45, 0, 15, 0, 0 }, { 76, 46, 0, 15, 0, 0 }, { 77, 46, 0, 15, 0, 0 }, { 78, 46, 0, 15, 0, 0 }, { 79, 46, 0, 15, 0, 0 }, - { 80, 46, 0, 15, 0, 0 }, { 81, 47, 0, 15, 0, 0 }, { 82, 47, 0, 15, 0, 0 }, { 83, 47, 0, 15, 0, 0 }, { 84, 47, 0, 15, 0, 0 }, - { 85, 47, 0, 15, 0, 0 }, { 86, 47, 0, 15, 0, 0 }, { 87, 48, 0, 15, 0, 0 }, { 88, 48, 0, 16, 0, 0 }, { 89, 48, 0, 16, 0, 0 }, - { 90, 48, 0, 16, 0, 0 }, { 91, 48, 0, 16, 0, 0 }, { 92, 48, 0, 16, 0, 0 }, { 93, 48, 0, 16, 0, 0 }, { 94, 48, 0, 16, 0, 0 }, - { 95, 48, 0, 16, 0, 0 }, + 96, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 15, 0, 0 }, { 9, 17, 0, 15, 0, 0 }, + { 10, 17, 0, 15, 0, 0 }, { 11, 17, 0, 15, 0, 0 }, { 12, 17, 0, 15, 0, 0 }, { 13, 17, 0, 15, 0, 0 }, { 14, 17, 0, 15, 0, 0 }, + { 15, 18, 0, 15, 0, 0 }, { 16, 18, 0, 15, 0, 0 }, { 17, 18, 0, 15, 0, 0 }, { 18, 18, 0, 15, 0, 0 }, { 19, 18, 0, 15, 0, 0 }, + { 20, 19, 0, 15, 0, 0 }, { 21, 19, 0, 15, 0, 0 }, { 22, 19, 0, 14, 0, 0 }, { 23, 19, 0, 14, 0, 0 }, { 24, 20, 0, 14, 0, 0 }, + { 25, 20, 0, 14, 0, 0 }, { 26, 20, 0, 14, 0, 0 }, { 27, 21, 0, 14, 0, 0 }, { 28, 21, 0, 14, 0, 0 }, { 29, 21, 0, 14, 0, 0 }, + { 30, 22, 0, 14, 0, 0 }, { 31, 22, 0, 14, 0, 0 }, { 32, 23, 0, 14, 0, 0 }, { 33, 23, 0, 14, 0, 0 }, { 34, 24, 0, 14, 0, 0 }, + { 35, 24, 0, 14, 0, 0 }, { 36, 25, 0, 13, 0, 0 }, { 37, 25, 0, 13, 0, 0 }, { 38, 26, 0, 13, 0, 0 }, { 39, 26, 0, 13, 0, 0 }, + { 40, 27, 0, 13, 0, 0 }, { 41, 28, 0, 13, 0, 0 }, { 42, 28, 0, 13, 0, 0 }, { 43, 29, 0, 13, 0, 0 }, { 44, 30, 0, 13, 0, 0 }, + { 45, 30, 0, 13, 0, 0 }, { 46, 31, 0, 13, 0, 0 }, { 47, 32, 0, 13, 0, 0 }, { 48, 32, 0, 13, 0, 0 }, { 49, 33, 0, 13, 0, 0 }, + { 50, 34, 0, 13, 0, 0 }, { 51, 34, 0, 13, 0, 0 }, { 52, 35, 0, 13, 0, 0 }, { 53, 36, 0, 13, 0, 0 }, { 54, 36, 0, 13, 0, 0 }, + { 55, 37, 0, 13, 0, 0 }, { 56, 38, 0, 13, 0, 0 }, { 57, 38, 0, 13, 0, 0 }, { 58, 39, 0, 13, 0, 0 }, { 59, 39, 0, 13, 0, 0 }, + { 60, 40, 0, 14, 0, 0 }, { 61, 40, 0, 14, 0, 0 }, { 62, 41, 0, 14, 0, 0 }, { 63, 41, 0, 14, 0, 0 }, { 64, 42, 0, 14, 0, 0 }, + { 65, 42, 0, 14, 0, 0 }, { 66, 43, 0, 14, 0, 0 }, { 67, 43, 0, 14, 0, 0 }, { 68, 43, 0, 14, 0, 0 }, { 69, 44, 0, 14, 0, 0 }, + { 70, 44, 0, 14, 0, 0 }, { 71, 44, 0, 14, 0, 0 }, { 72, 45, 0, 14, 0, 0 }, { 73, 45, 0, 15, 0, 0 }, { 74, 45, 0, 15, 0, 0 }, + { 75, 45, 0, 15, 0, 0 }, { 76, 46, 0, 15, 0, 0 }, { 77, 46, 0, 15, 0, 0 }, { 78, 46, 0, 15, 0, 0 }, { 79, 46, 0, 15, 0, 0 }, + { 80, 46, 0, 15, 0, 0 }, { 81, 47, 0, 15, 0, 0 }, { 82, 47, 0, 15, 0, 0 }, { 83, 47, 0, 15, 0, 0 }, { 84, 47, 0, 15, 0, 0 }, + { 85, 47, 0, 15, 0, 0 }, { 86, 47, 0, 15, 0, 0 }, { 87, 48, 0, 15, 0, 0 }, { 88, 48, 0, 16, 0, 0 }, { 89, 48, 0, 16, 0, 0 }, + { 90, 48, 0, 16, 0, 0 }, { 91, 48, 0, 16, 0, 0 }, { 92, 48, 0, 16, 0, 0 }, { 93, 48, 0, 16, 0, 0 }, { 94, 48, 0, 16, 0, 0 }, + { 95, 48, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CCAF8 = { - 96, { - { 16, 32, 0, 24, 0, 0 }, { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, - { 16, 27, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 23, 0, 0 }, { 17, 23, 0, 23, 0, 0 }, - { 17, 22, 0, 23, 0, 0 }, { 17, 21, 0, 23, 0, 0 }, { 17, 20, 0, 23, 0, 0 }, { 17, 19, 0, 23, 0, 0 }, { 17, 18, 0, 23, 0, 0 }, - { 18, 17, 0, 23, 0, 0 }, { 18, 16, 0, 23, 0, 0 }, { 18, 15, 0, 23, 0, 0 }, { 18, 14, 0, 23, 0, 0 }, { 18, 13, 0, 23, 0, 0 }, - { 19, 12, 0, 23, 0, 0 }, { 19, 11, 0, 23, 0, 0 }, { 19, 10, 0, 22, 0, 0 }, { 19, 9, 0, 22, 0, 0 }, { 20, 8, 0, 22, 0, 0 }, - { 20, 7, 0, 22, 0, 0 }, { 20, 6, 0, 22, 0, 0 }, { 21, 5, 0, 22, 0, 0 }, { 21, 4, 0, 22, 0, 0 }, { 21, 3, 0, 22, 0, 0 }, - { 22, 2, 0, 22, 0, 0 }, { 22, 1, 0, 22, 0, 0 }, { 23, 0, 0, 22, 0, 0 }, { 23, -1, 0, 22, 0, 0 }, { 24, -2, 0, 22, 0, 0 }, - { 24, -3, 0, 22, 0, 0 }, { 25, -4, 0, 21, 0, 0 }, { 25, -5, 0, 21, 0, 0 }, { 26, -6, 0, 21, 0, 0 }, { 26, -7, 0, 21, 0, 0 }, - { 27, -8, 0, 21, 0, 0 }, { 28, -9, 0, 21, 0, 0 }, { 28, -10, 0, 21, 0, 0 }, { 29, -11, 0, 21, 0, 0 }, { 30, -12, 0, 21, 0, 0 }, - { 30, -13, 0, 21, 0, 0 }, { 31, -14, 0, 21, 0, 0 }, { 32, -15, 0, 21, 0, 0 }, { 32, -16, 0, 21, 0, 0 }, { 33, -17, 0, 21, 0, 0 }, - { 34, -18, 0, 21, 0, 0 }, { 34, -19, 0, 21, 0, 0 }, { 35, -20, 0, 21, 0, 0 }, { 36, -21, 0, 21, 0, 0 }, { 36, -22, 0, 21, 0, 0 }, - { 37, -23, 0, 21, 0, 0 }, { 38, -24, 0, 21, 0, 0 }, { 38, -25, 0, 21, 0, 0 }, { 39, -26, 0, 21, 0, 0 }, { 39, -27, 0, 21, 0, 0 }, - { 40, -28, 0, 22, 0, 0 }, { 40, -29, 0, 22, 0, 0 }, { 41, -30, 0, 22, 0, 0 }, { 41, -31, 0, 22, 0, 0 }, { 42, -32, 0, 22, 0, 0 }, - { 42, -33, 0, 22, 0, 0 }, { 43, -34, 0, 22, 0, 0 }, { 43, -35, 0, 22, 0, 0 }, { 43, -36, 0, 22, 0, 0 }, { 44, -37, 0, 22, 0, 0 }, - { 44, -38, 0, 22, 0, 0 }, { 44, -39, 0, 22, 0, 0 }, { 45, -40, 0, 22, 0, 0 }, { 45, -41, 0, 23, 0, 0 }, { 45, -42, 0, 23, 0, 0 }, - { 45, -43, 0, 23, 0, 0 }, { 46, -44, 0, 23, 0, 0 }, { 46, -45, 0, 23, 0, 0 }, { 46, -46, 0, 23, 0, 0 }, { 46, -47, 0, 23, 0, 0 }, - { 46, -48, 0, 23, 0, 0 }, { 47, -49, 0, 23, 0, 0 }, { 47, -50, 0, 23, 0, 0 }, { 47, -51, 0, 23, 0, 0 }, { 47, -52, 0, 23, 0, 0 }, - { 47, -53, 0, 23, 0, 0 }, { 47, -54, 0, 23, 0, 0 }, { 48, -55, 0, 23, 0, 0 }, { 48, -56, 0, 24, 0, 0 }, { 48, -57, 0, 24, 0, 0 }, - { 48, -58, 0, 24, 0, 0 }, { 48, -59, 0, 24, 0, 0 }, { 48, -60, 0, 24, 0, 0 }, { 48, -61, 0, 24, 0, 0 }, { 48, -62, 0, 24, 0, 0 }, - { 48, -63, 0, 24, 0, 0 }, + 96, { + { 16, 32, 0, 24, 0, 0 }, { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, + { 16, 27, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 23, 0, 0 }, { 17, 23, 0, 23, 0, 0 }, + { 17, 22, 0, 23, 0, 0 }, { 17, 21, 0, 23, 0, 0 }, { 17, 20, 0, 23, 0, 0 }, { 17, 19, 0, 23, 0, 0 }, { 17, 18, 0, 23, 0, 0 }, + { 18, 17, 0, 23, 0, 0 }, { 18, 16, 0, 23, 0, 0 }, { 18, 15, 0, 23, 0, 0 }, { 18, 14, 0, 23, 0, 0 }, { 18, 13, 0, 23, 0, 0 }, + { 19, 12, 0, 23, 0, 0 }, { 19, 11, 0, 23, 0, 0 }, { 19, 10, 0, 22, 0, 0 }, { 19, 9, 0, 22, 0, 0 }, { 20, 8, 0, 22, 0, 0 }, + { 20, 7, 0, 22, 0, 0 }, { 20, 6, 0, 22, 0, 0 }, { 21, 5, 0, 22, 0, 0 }, { 21, 4, 0, 22, 0, 0 }, { 21, 3, 0, 22, 0, 0 }, + { 22, 2, 0, 22, 0, 0 }, { 22, 1, 0, 22, 0, 0 }, { 23, 0, 0, 22, 0, 0 }, { 23, -1, 0, 22, 0, 0 }, { 24, -2, 0, 22, 0, 0 }, + { 24, -3, 0, 22, 0, 0 }, { 25, -4, 0, 21, 0, 0 }, { 25, -5, 0, 21, 0, 0 }, { 26, -6, 0, 21, 0, 0 }, { 26, -7, 0, 21, 0, 0 }, + { 27, -8, 0, 21, 0, 0 }, { 28, -9, 0, 21, 0, 0 }, { 28, -10, 0, 21, 0, 0 }, { 29, -11, 0, 21, 0, 0 }, { 30, -12, 0, 21, 0, 0 }, + { 30, -13, 0, 21, 0, 0 }, { 31, -14, 0, 21, 0, 0 }, { 32, -15, 0, 21, 0, 0 }, { 32, -16, 0, 21, 0, 0 }, { 33, -17, 0, 21, 0, 0 }, + { 34, -18, 0, 21, 0, 0 }, { 34, -19, 0, 21, 0, 0 }, { 35, -20, 0, 21, 0, 0 }, { 36, -21, 0, 21, 0, 0 }, { 36, -22, 0, 21, 0, 0 }, + { 37, -23, 0, 21, 0, 0 }, { 38, -24, 0, 21, 0, 0 }, { 38, -25, 0, 21, 0, 0 }, { 39, -26, 0, 21, 0, 0 }, { 39, -27, 0, 21, 0, 0 }, + { 40, -28, 0, 22, 0, 0 }, { 40, -29, 0, 22, 0, 0 }, { 41, -30, 0, 22, 0, 0 }, { 41, -31, 0, 22, 0, 0 }, { 42, -32, 0, 22, 0, 0 }, + { 42, -33, 0, 22, 0, 0 }, { 43, -34, 0, 22, 0, 0 }, { 43, -35, 0, 22, 0, 0 }, { 43, -36, 0, 22, 0, 0 }, { 44, -37, 0, 22, 0, 0 }, + { 44, -38, 0, 22, 0, 0 }, { 44, -39, 0, 22, 0, 0 }, { 45, -40, 0, 22, 0, 0 }, { 45, -41, 0, 23, 0, 0 }, { 45, -42, 0, 23, 0, 0 }, + { 45, -43, 0, 23, 0, 0 }, { 46, -44, 0, 23, 0, 0 }, { 46, -45, 0, 23, 0, 0 }, { 46, -46, 0, 23, 0, 0 }, { 46, -47, 0, 23, 0, 0 }, + { 46, -48, 0, 23, 0, 0 }, { 47, -49, 0, 23, 0, 0 }, { 47, -50, 0, 23, 0, 0 }, { 47, -51, 0, 23, 0, 0 }, { 47, -52, 0, 23, 0, 0 }, + { 47, -53, 0, 23, 0, 0 }, { 47, -54, 0, 23, 0, 0 }, { 48, -55, 0, 23, 0, 0 }, { 48, -56, 0, 24, 0, 0 }, { 48, -57, 0, 24, 0, 0 }, + { 48, -58, 0, 24, 0, 0 }, { 48, -59, 0, 24, 0, 0 }, { 48, -60, 0, 24, 0, 0 }, { 48, -61, 0, 24, 0, 0 }, { 48, -62, 0, 24, 0, 0 }, + { 48, -63, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CCE5A = { - 96, { - { 32, 16, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 1, 0, 0 }, { 23, 17, 0, 1, 0, 0 }, - { 22, 17, 0, 1, 0, 0 }, { 21, 17, 0, 1, 0, 0 }, { 20, 17, 0, 1, 0, 0 }, { 19, 17, 0, 1, 0, 0 }, { 18, 17, 0, 1, 0, 0 }, - { 17, 18, 0, 1, 0, 0 }, { 16, 18, 0, 1, 0, 0 }, { 15, 18, 0, 1, 0, 0 }, { 14, 18, 0, 1, 0, 0 }, { 13, 18, 0, 1, 0, 0 }, - { 12, 19, 0, 1, 0, 0 }, { 11, 19, 0, 1, 0, 0 }, { 10, 19, 0, 2, 0, 0 }, { 9, 19, 0, 2, 0, 0 }, { 8, 20, 0, 2, 0, 0 }, - { 7, 20, 0, 2, 0, 0 }, { 6, 20, 0, 2, 0, 0 }, { 5, 21, 0, 2, 0, 0 }, { 4, 21, 0, 2, 0, 0 }, { 3, 21, 0, 2, 0, 0 }, - { 2, 22, 0, 2, 0, 0 }, { 1, 22, 0, 2, 0, 0 }, { 0, 23, 0, 2, 0, 0 }, { -1, 23, 0, 2, 0, 0 }, { -2, 24, 0, 2, 0, 0 }, - { -3, 24, 0, 2, 0, 0 }, { -4, 25, 0, 3, 0, 0 }, { -5, 25, 0, 3, 0, 0 }, { -6, 26, 0, 3, 0, 0 }, { -7, 26, 0, 3, 0, 0 }, - { -8, 27, 0, 3, 0, 0 }, { -9, 28, 0, 3, 0, 0 }, { -10, 28, 0, 3, 0, 0 }, { -11, 29, 0, 3, 0, 0 }, { -12, 30, 0, 3, 0, 0 }, - { -13, 30, 0, 3, 0, 0 }, { -14, 31, 0, 3, 0, 0 }, { -15, 32, 0, 3, 0, 0 }, { -16, 32, 0, 3, 0, 0 }, { -17, 33, 0, 3, 0, 0 }, - { -18, 34, 0, 3, 0, 0 }, { -19, 34, 0, 3, 0, 0 }, { -20, 35, 0, 3, 0, 0 }, { -21, 36, 0, 3, 0, 0 }, { -22, 36, 0, 3, 0, 0 }, - { -23, 37, 0, 3, 0, 0 }, { -24, 38, 0, 3, 0, 0 }, { -25, 38, 0, 3, 0, 0 }, { -26, 39, 0, 3, 0, 0 }, { -27, 39, 0, 3, 0, 0 }, - { -28, 40, 0, 2, 0, 0 }, { -29, 40, 0, 2, 0, 0 }, { -30, 41, 0, 2, 0, 0 }, { -31, 41, 0, 2, 0, 0 }, { -32, 42, 0, 2, 0, 0 }, - { -33, 42, 0, 2, 0, 0 }, { -34, 43, 0, 2, 0, 0 }, { -35, 43, 0, 2, 0, 0 }, { -36, 43, 0, 2, 0, 0 }, { -37, 44, 0, 2, 0, 0 }, - { -38, 44, 0, 2, 0, 0 }, { -39, 44, 0, 2, 0, 0 }, { -40, 45, 0, 2, 0, 0 }, { -41, 45, 0, 1, 0, 0 }, { -42, 45, 0, 1, 0, 0 }, - { -43, 45, 0, 1, 0, 0 }, { -44, 46, 0, 1, 0, 0 }, { -45, 46, 0, 1, 0, 0 }, { -46, 46, 0, 1, 0, 0 }, { -47, 46, 0, 1, 0, 0 }, - { -48, 46, 0, 1, 0, 0 }, { -49, 47, 0, 1, 0, 0 }, { -50, 47, 0, 1, 0, 0 }, { -51, 47, 0, 1, 0, 0 }, { -52, 47, 0, 1, 0, 0 }, - { -53, 47, 0, 1, 0, 0 }, { -54, 47, 0, 1, 0, 0 }, { -55, 48, 0, 1, 0, 0 }, { -56, 48, 0, 0, 0, 0 }, { -57, 48, 0, 0, 0, 0 }, - { -58, 48, 0, 0, 0, 0 }, { -59, 48, 0, 0, 0, 0 }, { -60, 48, 0, 0, 0, 0 }, { -61, 48, 0, 0, 0, 0 }, { -62, 48, 0, 0, 0, 0 }, - { -63, 48, 0, 0, 0, 0 }, + 96, { + { 32, 16, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 1, 0, 0 }, { 23, 17, 0, 1, 0, 0 }, + { 22, 17, 0, 1, 0, 0 }, { 21, 17, 0, 1, 0, 0 }, { 20, 17, 0, 1, 0, 0 }, { 19, 17, 0, 1, 0, 0 }, { 18, 17, 0, 1, 0, 0 }, + { 17, 18, 0, 1, 0, 0 }, { 16, 18, 0, 1, 0, 0 }, { 15, 18, 0, 1, 0, 0 }, { 14, 18, 0, 1, 0, 0 }, { 13, 18, 0, 1, 0, 0 }, + { 12, 19, 0, 1, 0, 0 }, { 11, 19, 0, 1, 0, 0 }, { 10, 19, 0, 2, 0, 0 }, { 9, 19, 0, 2, 0, 0 }, { 8, 20, 0, 2, 0, 0 }, + { 7, 20, 0, 2, 0, 0 }, { 6, 20, 0, 2, 0, 0 }, { 5, 21, 0, 2, 0, 0 }, { 4, 21, 0, 2, 0, 0 }, { 3, 21, 0, 2, 0, 0 }, + { 2, 22, 0, 2, 0, 0 }, { 1, 22, 0, 2, 0, 0 }, { 0, 23, 0, 2, 0, 0 }, { -1, 23, 0, 2, 0, 0 }, { -2, 24, 0, 2, 0, 0 }, + { -3, 24, 0, 2, 0, 0 }, { -4, 25, 0, 3, 0, 0 }, { -5, 25, 0, 3, 0, 0 }, { -6, 26, 0, 3, 0, 0 }, { -7, 26, 0, 3, 0, 0 }, + { -8, 27, 0, 3, 0, 0 }, { -9, 28, 0, 3, 0, 0 }, { -10, 28, 0, 3, 0, 0 }, { -11, 29, 0, 3, 0, 0 }, { -12, 30, 0, 3, 0, 0 }, + { -13, 30, 0, 3, 0, 0 }, { -14, 31, 0, 3, 0, 0 }, { -15, 32, 0, 3, 0, 0 }, { -16, 32, 0, 3, 0, 0 }, { -17, 33, 0, 3, 0, 0 }, + { -18, 34, 0, 3, 0, 0 }, { -19, 34, 0, 3, 0, 0 }, { -20, 35, 0, 3, 0, 0 }, { -21, 36, 0, 3, 0, 0 }, { -22, 36, 0, 3, 0, 0 }, + { -23, 37, 0, 3, 0, 0 }, { -24, 38, 0, 3, 0, 0 }, { -25, 38, 0, 3, 0, 0 }, { -26, 39, 0, 3, 0, 0 }, { -27, 39, 0, 3, 0, 0 }, + { -28, 40, 0, 2, 0, 0 }, { -29, 40, 0, 2, 0, 0 }, { -30, 41, 0, 2, 0, 0 }, { -31, 41, 0, 2, 0, 0 }, { -32, 42, 0, 2, 0, 0 }, + { -33, 42, 0, 2, 0, 0 }, { -34, 43, 0, 2, 0, 0 }, { -35, 43, 0, 2, 0, 0 }, { -36, 43, 0, 2, 0, 0 }, { -37, 44, 0, 2, 0, 0 }, + { -38, 44, 0, 2, 0, 0 }, { -39, 44, 0, 2, 0, 0 }, { -40, 45, 0, 2, 0, 0 }, { -41, 45, 0, 1, 0, 0 }, { -42, 45, 0, 1, 0, 0 }, + { -43, 45, 0, 1, 0, 0 }, { -44, 46, 0, 1, 0, 0 }, { -45, 46, 0, 1, 0, 0 }, { -46, 46, 0, 1, 0, 0 }, { -47, 46, 0, 1, 0, 0 }, + { -48, 46, 0, 1, 0, 0 }, { -49, 47, 0, 1, 0, 0 }, { -50, 47, 0, 1, 0, 0 }, { -51, 47, 0, 1, 0, 0 }, { -52, 47, 0, 1, 0, 0 }, + { -53, 47, 0, 1, 0, 0 }, { -54, 47, 0, 1, 0, 0 }, { -55, 48, 0, 1, 0, 0 }, { -56, 48, 0, 0, 0, 0 }, { -57, 48, 0, 0, 0, 0 }, + { -58, 48, 0, 0, 0, 0 }, { -59, 48, 0, 0, 0, 0 }, { -60, 48, 0, 0, 0, 0 }, { -61, 48, 0, 0, 0, 0 }, { -62, 48, 0, 0, 0, 0 }, + { -63, 48, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CD1BC = { - 96, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 9, 0, 0 }, { 17, 9, 0, 9, 0, 0 }, - { 17, 10, 0, 9, 0, 0 }, { 17, 11, 0, 9, 0, 0 }, { 17, 12, 0, 9, 0, 0 }, { 17, 13, 0, 9, 0, 0 }, { 17, 14, 0, 9, 0, 0 }, - { 18, 15, 0, 9, 0, 0 }, { 18, 16, 0, 9, 0, 0 }, { 18, 17, 0, 9, 0, 0 }, { 18, 18, 0, 9, 0, 0 }, { 18, 19, 0, 9, 0, 0 }, - { 19, 20, 0, 9, 0, 0 }, { 19, 21, 0, 9, 0, 0 }, { 19, 22, 0, 10, 0, 0 }, { 19, 23, 0, 10, 0, 0 }, { 20, 24, 0, 10, 0, 0 }, - { 20, 25, 0, 10, 0, 0 }, { 20, 26, 0, 10, 0, 0 }, { 21, 27, 0, 10, 0, 0 }, { 21, 28, 0, 10, 0, 0 }, { 21, 29, 0, 10, 0, 0 }, - { 22, 30, 0, 10, 0, 0 }, { 22, 31, 0, 10, 0, 0 }, { 23, 32, 0, 10, 0, 0 }, { 23, 33, 0, 10, 0, 0 }, { 24, 34, 0, 10, 0, 0 }, - { 24, 35, 0, 10, 0, 0 }, { 25, 36, 0, 11, 0, 0 }, { 25, 37, 0, 11, 0, 0 }, { 26, 38, 0, 11, 0, 0 }, { 26, 39, 0, 11, 0, 0 }, - { 27, 40, 0, 11, 0, 0 }, { 28, 41, 0, 11, 0, 0 }, { 28, 42, 0, 11, 0, 0 }, { 29, 43, 0, 11, 0, 0 }, { 30, 44, 0, 11, 0, 0 }, - { 30, 45, 0, 11, 0, 0 }, { 31, 46, 0, 11, 0, 0 }, { 32, 47, 0, 11, 0, 0 }, { 32, 48, 0, 11, 0, 0 }, { 33, 49, 0, 11, 0, 0 }, - { 34, 50, 0, 11, 0, 0 }, { 34, 51, 0, 11, 0, 0 }, { 35, 52, 0, 11, 0, 0 }, { 36, 53, 0, 11, 0, 0 }, { 36, 54, 0, 11, 0, 0 }, - { 37, 55, 0, 11, 0, 0 }, { 38, 56, 0, 11, 0, 0 }, { 38, 57, 0, 11, 0, 0 }, { 39, 58, 0, 11, 0, 0 }, { 39, 59, 0, 11, 0, 0 }, - { 40, 60, 0, 10, 0, 0 }, { 40, 61, 0, 10, 0, 0 }, { 41, 62, 0, 10, 0, 0 }, { 41, 63, 0, 10, 0, 0 }, { 42, 64, 0, 10, 0, 0 }, - { 42, 65, 0, 10, 0, 0 }, { 43, 66, 0, 10, 0, 0 }, { 43, 67, 0, 10, 0, 0 }, { 43, 68, 0, 10, 0, 0 }, { 44, 69, 0, 10, 0, 0 }, - { 44, 70, 0, 10, 0, 0 }, { 44, 71, 0, 10, 0, 0 }, { 45, 72, 0, 10, 0, 0 }, { 45, 73, 0, 9, 0, 0 }, { 45, 74, 0, 9, 0, 0 }, - { 45, 75, 0, 9, 0, 0 }, { 46, 76, 0, 9, 0, 0 }, { 46, 77, 0, 9, 0, 0 }, { 46, 78, 0, 9, 0, 0 }, { 46, 79, 0, 9, 0, 0 }, - { 46, 80, 0, 9, 0, 0 }, { 47, 81, 0, 9, 0, 0 }, { 47, 82, 0, 9, 0, 0 }, { 47, 83, 0, 9, 0, 0 }, { 47, 84, 0, 9, 0, 0 }, - { 47, 85, 0, 9, 0, 0 }, { 47, 86, 0, 9, 0, 0 }, { 48, 87, 0, 9, 0, 0 }, { 48, 88, 0, 8, 0, 0 }, { 48, 89, 0, 8, 0, 0 }, - { 48, 90, 0, 8, 0, 0 }, { 48, 91, 0, 8, 0, 0 }, { 48, 92, 0, 8, 0, 0 }, { 48, 93, 0, 8, 0, 0 }, { 48, 94, 0, 8, 0, 0 }, - { 48, 95, 0, 8, 0, 0 }, + 96, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 9, 0, 0 }, { 17, 9, 0, 9, 0, 0 }, + { 17, 10, 0, 9, 0, 0 }, { 17, 11, 0, 9, 0, 0 }, { 17, 12, 0, 9, 0, 0 }, { 17, 13, 0, 9, 0, 0 }, { 17, 14, 0, 9, 0, 0 }, + { 18, 15, 0, 9, 0, 0 }, { 18, 16, 0, 9, 0, 0 }, { 18, 17, 0, 9, 0, 0 }, { 18, 18, 0, 9, 0, 0 }, { 18, 19, 0, 9, 0, 0 }, + { 19, 20, 0, 9, 0, 0 }, { 19, 21, 0, 9, 0, 0 }, { 19, 22, 0, 10, 0, 0 }, { 19, 23, 0, 10, 0, 0 }, { 20, 24, 0, 10, 0, 0 }, + { 20, 25, 0, 10, 0, 0 }, { 20, 26, 0, 10, 0, 0 }, { 21, 27, 0, 10, 0, 0 }, { 21, 28, 0, 10, 0, 0 }, { 21, 29, 0, 10, 0, 0 }, + { 22, 30, 0, 10, 0, 0 }, { 22, 31, 0, 10, 0, 0 }, { 23, 32, 0, 10, 0, 0 }, { 23, 33, 0, 10, 0, 0 }, { 24, 34, 0, 10, 0, 0 }, + { 24, 35, 0, 10, 0, 0 }, { 25, 36, 0, 11, 0, 0 }, { 25, 37, 0, 11, 0, 0 }, { 26, 38, 0, 11, 0, 0 }, { 26, 39, 0, 11, 0, 0 }, + { 27, 40, 0, 11, 0, 0 }, { 28, 41, 0, 11, 0, 0 }, { 28, 42, 0, 11, 0, 0 }, { 29, 43, 0, 11, 0, 0 }, { 30, 44, 0, 11, 0, 0 }, + { 30, 45, 0, 11, 0, 0 }, { 31, 46, 0, 11, 0, 0 }, { 32, 47, 0, 11, 0, 0 }, { 32, 48, 0, 11, 0, 0 }, { 33, 49, 0, 11, 0, 0 }, + { 34, 50, 0, 11, 0, 0 }, { 34, 51, 0, 11, 0, 0 }, { 35, 52, 0, 11, 0, 0 }, { 36, 53, 0, 11, 0, 0 }, { 36, 54, 0, 11, 0, 0 }, + { 37, 55, 0, 11, 0, 0 }, { 38, 56, 0, 11, 0, 0 }, { 38, 57, 0, 11, 0, 0 }, { 39, 58, 0, 11, 0, 0 }, { 39, 59, 0, 11, 0, 0 }, + { 40, 60, 0, 10, 0, 0 }, { 40, 61, 0, 10, 0, 0 }, { 41, 62, 0, 10, 0, 0 }, { 41, 63, 0, 10, 0, 0 }, { 42, 64, 0, 10, 0, 0 }, + { 42, 65, 0, 10, 0, 0 }, { 43, 66, 0, 10, 0, 0 }, { 43, 67, 0, 10, 0, 0 }, { 43, 68, 0, 10, 0, 0 }, { 44, 69, 0, 10, 0, 0 }, + { 44, 70, 0, 10, 0, 0 }, { 44, 71, 0, 10, 0, 0 }, { 45, 72, 0, 10, 0, 0 }, { 45, 73, 0, 9, 0, 0 }, { 45, 74, 0, 9, 0, 0 }, + { 45, 75, 0, 9, 0, 0 }, { 46, 76, 0, 9, 0, 0 }, { 46, 77, 0, 9, 0, 0 }, { 46, 78, 0, 9, 0, 0 }, { 46, 79, 0, 9, 0, 0 }, + { 46, 80, 0, 9, 0, 0 }, { 47, 81, 0, 9, 0, 0 }, { 47, 82, 0, 9, 0, 0 }, { 47, 83, 0, 9, 0, 0 }, { 47, 84, 0, 9, 0, 0 }, + { 47, 85, 0, 9, 0, 0 }, { 47, 86, 0, 9, 0, 0 }, { 48, 87, 0, 9, 0, 0 }, { 48, 88, 0, 8, 0, 0 }, { 48, 89, 0, 8, 0, 0 }, + { 48, 90, 0, 8, 0, 0 }, { 48, 91, 0, 8, 0, 0 }, { 48, 92, 0, 8, 0, 0 }, { 48, 93, 0, 8, 0, 0 }, { 48, 94, 0, 8, 0, 0 }, + { 48, 95, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CD51E = { - 96, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 17, 0, 0 }, { 9, 15, 0, 17, 0, 0 }, - { 10, 15, 0, 17, 0, 0 }, { 11, 15, 0, 17, 0, 0 }, { 12, 15, 0, 17, 0, 0 }, { 13, 15, 0, 17, 0, 0 }, { 14, 15, 0, 17, 0, 0 }, - { 15, 14, 0, 17, 0, 0 }, { 16, 14, 0, 17, 0, 0 }, { 17, 14, 0, 17, 0, 0 }, { 18, 14, 0, 17, 0, 0 }, { 19, 14, 0, 17, 0, 0 }, - { 20, 13, 0, 17, 0, 0 }, { 21, 13, 0, 17, 0, 0 }, { 22, 13, 0, 18, 0, 0 }, { 23, 13, 0, 18, 0, 0 }, { 24, 12, 0, 18, 0, 0 }, - { 25, 12, 0, 18, 0, 0 }, { 26, 12, 0, 18, 0, 0 }, { 27, 11, 0, 18, 0, 0 }, { 28, 11, 0, 18, 0, 0 }, { 29, 11, 0, 18, 0, 0 }, - { 30, 10, 0, 18, 0, 0 }, { 31, 10, 0, 18, 0, 0 }, { 32, 9, 0, 18, 0, 0 }, { 33, 9, 0, 18, 0, 0 }, { 34, 8, 0, 18, 0, 0 }, - { 35, 8, 0, 18, 0, 0 }, { 36, 7, 0, 19, 0, 0 }, { 37, 7, 0, 19, 0, 0 }, { 38, 6, 0, 19, 0, 0 }, { 39, 6, 0, 19, 0, 0 }, - { 40, 5, 0, 19, 0, 0 }, { 41, 4, 0, 19, 0, 0 }, { 42, 4, 0, 19, 0, 0 }, { 43, 3, 0, 19, 0, 0 }, { 44, 2, 0, 19, 0, 0 }, - { 45, 2, 0, 19, 0, 0 }, { 46, 1, 0, 19, 0, 0 }, { 47, 0, 0, 19, 0, 0 }, { 48, 0, 0, 19, 0, 0 }, { 49, -1, 0, 19, 0, 0 }, - { 50, -2, 0, 19, 0, 0 }, { 51, -2, 0, 19, 0, 0 }, { 52, -3, 0, 19, 0, 0 }, { 53, -4, 0, 19, 0, 0 }, { 54, -4, 0, 19, 0, 0 }, - { 55, -5, 0, 19, 0, 0 }, { 56, -6, 0, 19, 0, 0 }, { 57, -6, 0, 19, 0, 0 }, { 58, -7, 0, 19, 0, 0 }, { 59, -7, 0, 19, 0, 0 }, - { 60, -8, 0, 18, 0, 0 }, { 61, -8, 0, 18, 0, 0 }, { 62, -9, 0, 18, 0, 0 }, { 63, -9, 0, 18, 0, 0 }, { 64, -10, 0, 18, 0, 0 }, - { 65, -10, 0, 18, 0, 0 }, { 66, -11, 0, 18, 0, 0 }, { 67, -11, 0, 18, 0, 0 }, { 68, -11, 0, 18, 0, 0 }, { 69, -12, 0, 18, 0, 0 }, - { 70, -12, 0, 18, 0, 0 }, { 71, -12, 0, 18, 0, 0 }, { 72, -13, 0, 18, 0, 0 }, { 73, -13, 0, 17, 0, 0 }, { 74, -13, 0, 17, 0, 0 }, - { 75, -13, 0, 17, 0, 0 }, { 76, -14, 0, 17, 0, 0 }, { 77, -14, 0, 17, 0, 0 }, { 78, -14, 0, 17, 0, 0 }, { 79, -14, 0, 17, 0, 0 }, - { 80, -14, 0, 17, 0, 0 }, { 81, -15, 0, 17, 0, 0 }, { 82, -15, 0, 17, 0, 0 }, { 83, -15, 0, 17, 0, 0 }, { 84, -15, 0, 17, 0, 0 }, - { 85, -15, 0, 17, 0, 0 }, { 86, -15, 0, 17, 0, 0 }, { 87, -16, 0, 17, 0, 0 }, { 88, -16, 0, 16, 0, 0 }, { 89, -16, 0, 16, 0, 0 }, - { 90, -16, 0, 16, 0, 0 }, { 91, -16, 0, 16, 0, 0 }, { 92, -16, 0, 16, 0, 0 }, { 93, -16, 0, 16, 0, 0 }, { 94, -16, 0, 16, 0, 0 }, - { 95, -16, 0, 16, 0, 0 }, + 96, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 17, 0, 0 }, { 9, 15, 0, 17, 0, 0 }, + { 10, 15, 0, 17, 0, 0 }, { 11, 15, 0, 17, 0, 0 }, { 12, 15, 0, 17, 0, 0 }, { 13, 15, 0, 17, 0, 0 }, { 14, 15, 0, 17, 0, 0 }, + { 15, 14, 0, 17, 0, 0 }, { 16, 14, 0, 17, 0, 0 }, { 17, 14, 0, 17, 0, 0 }, { 18, 14, 0, 17, 0, 0 }, { 19, 14, 0, 17, 0, 0 }, + { 20, 13, 0, 17, 0, 0 }, { 21, 13, 0, 17, 0, 0 }, { 22, 13, 0, 18, 0, 0 }, { 23, 13, 0, 18, 0, 0 }, { 24, 12, 0, 18, 0, 0 }, + { 25, 12, 0, 18, 0, 0 }, { 26, 12, 0, 18, 0, 0 }, { 27, 11, 0, 18, 0, 0 }, { 28, 11, 0, 18, 0, 0 }, { 29, 11, 0, 18, 0, 0 }, + { 30, 10, 0, 18, 0, 0 }, { 31, 10, 0, 18, 0, 0 }, { 32, 9, 0, 18, 0, 0 }, { 33, 9, 0, 18, 0, 0 }, { 34, 8, 0, 18, 0, 0 }, + { 35, 8, 0, 18, 0, 0 }, { 36, 7, 0, 19, 0, 0 }, { 37, 7, 0, 19, 0, 0 }, { 38, 6, 0, 19, 0, 0 }, { 39, 6, 0, 19, 0, 0 }, + { 40, 5, 0, 19, 0, 0 }, { 41, 4, 0, 19, 0, 0 }, { 42, 4, 0, 19, 0, 0 }, { 43, 3, 0, 19, 0, 0 }, { 44, 2, 0, 19, 0, 0 }, + { 45, 2, 0, 19, 0, 0 }, { 46, 1, 0, 19, 0, 0 }, { 47, 0, 0, 19, 0, 0 }, { 48, 0, 0, 19, 0, 0 }, { 49, -1, 0, 19, 0, 0 }, + { 50, -2, 0, 19, 0, 0 }, { 51, -2, 0, 19, 0, 0 }, { 52, -3, 0, 19, 0, 0 }, { 53, -4, 0, 19, 0, 0 }, { 54, -4, 0, 19, 0, 0 }, + { 55, -5, 0, 19, 0, 0 }, { 56, -6, 0, 19, 0, 0 }, { 57, -6, 0, 19, 0, 0 }, { 58, -7, 0, 19, 0, 0 }, { 59, -7, 0, 19, 0, 0 }, + { 60, -8, 0, 18, 0, 0 }, { 61, -8, 0, 18, 0, 0 }, { 62, -9, 0, 18, 0, 0 }, { 63, -9, 0, 18, 0, 0 }, { 64, -10, 0, 18, 0, 0 }, + { 65, -10, 0, 18, 0, 0 }, { 66, -11, 0, 18, 0, 0 }, { 67, -11, 0, 18, 0, 0 }, { 68, -11, 0, 18, 0, 0 }, { 69, -12, 0, 18, 0, 0 }, + { 70, -12, 0, 18, 0, 0 }, { 71, -12, 0, 18, 0, 0 }, { 72, -13, 0, 18, 0, 0 }, { 73, -13, 0, 17, 0, 0 }, { 74, -13, 0, 17, 0, 0 }, + { 75, -13, 0, 17, 0, 0 }, { 76, -14, 0, 17, 0, 0 }, { 77, -14, 0, 17, 0, 0 }, { 78, -14, 0, 17, 0, 0 }, { 79, -14, 0, 17, 0, 0 }, + { 80, -14, 0, 17, 0, 0 }, { 81, -15, 0, 17, 0, 0 }, { 82, -15, 0, 17, 0, 0 }, { 83, -15, 0, 17, 0, 0 }, { 84, -15, 0, 17, 0, 0 }, + { 85, -15, 0, 17, 0, 0 }, { 86, -15, 0, 17, 0, 0 }, { 87, -16, 0, 17, 0, 0 }, { 88, -16, 0, 16, 0, 0 }, { 89, -16, 0, 16, 0, 0 }, + { 90, -16, 0, 16, 0, 0 }, { 91, -16, 0, 16, 0, 0 }, { 92, -16, 0, 16, 0, 0 }, { 93, -16, 0, 16, 0, 0 }, { 94, -16, 0, 16, 0, 0 }, + { 95, -16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CD880 = { - 96, { - { 16, 32, 0, 24, 0, 0 }, { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, - { 16, 27, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 25, 0, 0 }, { 15, 23, 0, 25, 0, 0 }, - { 15, 22, 0, 25, 0, 0 }, { 15, 21, 0, 25, 0, 0 }, { 15, 20, 0, 25, 0, 0 }, { 15, 19, 0, 25, 0, 0 }, { 15, 18, 0, 25, 0, 0 }, - { 14, 17, 0, 25, 0, 0 }, { 14, 16, 0, 25, 0, 0 }, { 14, 15, 0, 25, 0, 0 }, { 14, 14, 0, 25, 0, 0 }, { 14, 13, 0, 25, 0, 0 }, - { 13, 12, 0, 25, 0, 0 }, { 13, 11, 0, 25, 0, 0 }, { 13, 10, 0, 26, 0, 0 }, { 13, 9, 0, 26, 0, 0 }, { 12, 8, 0, 26, 0, 0 }, - { 12, 7, 0, 26, 0, 0 }, { 12, 6, 0, 26, 0, 0 }, { 11, 5, 0, 26, 0, 0 }, { 11, 4, 0, 26, 0, 0 }, { 11, 3, 0, 26, 0, 0 }, - { 10, 2, 0, 26, 0, 0 }, { 10, 1, 0, 26, 0, 0 }, { 9, 0, 0, 26, 0, 0 }, { 9, -1, 0, 26, 0, 0 }, { 8, -2, 0, 26, 0, 0 }, - { 8, -3, 0, 26, 0, 0 }, { 7, -4, 0, 27, 0, 0 }, { 7, -5, 0, 27, 0, 0 }, { 6, -6, 0, 27, 0, 0 }, { 6, -7, 0, 27, 0, 0 }, - { 5, -8, 0, 27, 0, 0 }, { 4, -9, 0, 27, 0, 0 }, { 4, -10, 0, 27, 0, 0 }, { 3, -11, 0, 27, 0, 0 }, { 2, -12, 0, 27, 0, 0 }, - { 2, -13, 0, 27, 0, 0 }, { 1, -14, 0, 27, 0, 0 }, { 0, -15, 0, 27, 0, 0 }, { 0, -16, 0, 27, 0, 0 }, { -1, -17, 0, 27, 0, 0 }, - { -2, -18, 0, 27, 0, 0 }, { -2, -19, 0, 27, 0, 0 }, { -3, -20, 0, 27, 0, 0 }, { -4, -21, 0, 27, 0, 0 }, { -4, -22, 0, 27, 0, 0 }, - { -5, -23, 0, 27, 0, 0 }, { -6, -24, 0, 27, 0, 0 }, { -6, -25, 0, 27, 0, 0 }, { -7, -26, 0, 27, 0, 0 }, { -7, -27, 0, 27, 0, 0 }, - { -8, -28, 0, 26, 0, 0 }, { -8, -29, 0, 26, 0, 0 }, { -9, -30, 0, 26, 0, 0 }, { -9, -31, 0, 26, 0, 0 }, { -10, -32, 0, 26, 0, 0 }, - { -10, -33, 0, 26, 0, 0 }, { -11, -34, 0, 26, 0, 0 }, { -11, -35, 0, 26, 0, 0 }, { -11, -36, 0, 26, 0, 0 }, { -12, -37, 0, 26, 0, 0 }, - { -12, -38, 0, 26, 0, 0 }, { -12, -39, 0, 26, 0, 0 }, { -13, -40, 0, 26, 0, 0 }, { -13, -41, 0, 25, 0, 0 }, { -13, -42, 0, 25, 0, 0 }, - { -13, -43, 0, 25, 0, 0 }, { -14, -44, 0, 25, 0, 0 }, { -14, -45, 0, 25, 0, 0 }, { -14, -46, 0, 25, 0, 0 }, { -14, -47, 0, 25, 0, 0 }, - { -14, -48, 0, 25, 0, 0 }, { -15, -49, 0, 25, 0, 0 }, { -15, -50, 0, 25, 0, 0 }, { -15, -51, 0, 25, 0, 0 }, { -15, -52, 0, 25, 0, 0 }, - { -15, -53, 0, 25, 0, 0 }, { -15, -54, 0, 25, 0, 0 }, { -16, -55, 0, 25, 0, 0 }, { -16, -56, 0, 24, 0, 0 }, { -16, -57, 0, 24, 0, 0 }, - { -16, -58, 0, 24, 0, 0 }, { -16, -59, 0, 24, 0, 0 }, { -16, -60, 0, 24, 0, 0 }, { -16, -61, 0, 24, 0, 0 }, { -16, -62, 0, 24, 0, 0 }, - { -16, -63, 0, 24, 0, 0 }, + 96, { + { 16, 32, 0, 24, 0, 0 }, { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, + { 16, 27, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 25, 0, 0 }, { 15, 23, 0, 25, 0, 0 }, + { 15, 22, 0, 25, 0, 0 }, { 15, 21, 0, 25, 0, 0 }, { 15, 20, 0, 25, 0, 0 }, { 15, 19, 0, 25, 0, 0 }, { 15, 18, 0, 25, 0, 0 }, + { 14, 17, 0, 25, 0, 0 }, { 14, 16, 0, 25, 0, 0 }, { 14, 15, 0, 25, 0, 0 }, { 14, 14, 0, 25, 0, 0 }, { 14, 13, 0, 25, 0, 0 }, + { 13, 12, 0, 25, 0, 0 }, { 13, 11, 0, 25, 0, 0 }, { 13, 10, 0, 26, 0, 0 }, { 13, 9, 0, 26, 0, 0 }, { 12, 8, 0, 26, 0, 0 }, + { 12, 7, 0, 26, 0, 0 }, { 12, 6, 0, 26, 0, 0 }, { 11, 5, 0, 26, 0, 0 }, { 11, 4, 0, 26, 0, 0 }, { 11, 3, 0, 26, 0, 0 }, + { 10, 2, 0, 26, 0, 0 }, { 10, 1, 0, 26, 0, 0 }, { 9, 0, 0, 26, 0, 0 }, { 9, -1, 0, 26, 0, 0 }, { 8, -2, 0, 26, 0, 0 }, + { 8, -3, 0, 26, 0, 0 }, { 7, -4, 0, 27, 0, 0 }, { 7, -5, 0, 27, 0, 0 }, { 6, -6, 0, 27, 0, 0 }, { 6, -7, 0, 27, 0, 0 }, + { 5, -8, 0, 27, 0, 0 }, { 4, -9, 0, 27, 0, 0 }, { 4, -10, 0, 27, 0, 0 }, { 3, -11, 0, 27, 0, 0 }, { 2, -12, 0, 27, 0, 0 }, + { 2, -13, 0, 27, 0, 0 }, { 1, -14, 0, 27, 0, 0 }, { 0, -15, 0, 27, 0, 0 }, { 0, -16, 0, 27, 0, 0 }, { -1, -17, 0, 27, 0, 0 }, + { -2, -18, 0, 27, 0, 0 }, { -2, -19, 0, 27, 0, 0 }, { -3, -20, 0, 27, 0, 0 }, { -4, -21, 0, 27, 0, 0 }, { -4, -22, 0, 27, 0, 0 }, + { -5, -23, 0, 27, 0, 0 }, { -6, -24, 0, 27, 0, 0 }, { -6, -25, 0, 27, 0, 0 }, { -7, -26, 0, 27, 0, 0 }, { -7, -27, 0, 27, 0, 0 }, + { -8, -28, 0, 26, 0, 0 }, { -8, -29, 0, 26, 0, 0 }, { -9, -30, 0, 26, 0, 0 }, { -9, -31, 0, 26, 0, 0 }, { -10, -32, 0, 26, 0, 0 }, + { -10, -33, 0, 26, 0, 0 }, { -11, -34, 0, 26, 0, 0 }, { -11, -35, 0, 26, 0, 0 }, { -11, -36, 0, 26, 0, 0 }, { -12, -37, 0, 26, 0, 0 }, + { -12, -38, 0, 26, 0, 0 }, { -12, -39, 0, 26, 0, 0 }, { -13, -40, 0, 26, 0, 0 }, { -13, -41, 0, 25, 0, 0 }, { -13, -42, 0, 25, 0, 0 }, + { -13, -43, 0, 25, 0, 0 }, { -14, -44, 0, 25, 0, 0 }, { -14, -45, 0, 25, 0, 0 }, { -14, -46, 0, 25, 0, 0 }, { -14, -47, 0, 25, 0, 0 }, + { -14, -48, 0, 25, 0, 0 }, { -15, -49, 0, 25, 0, 0 }, { -15, -50, 0, 25, 0, 0 }, { -15, -51, 0, 25, 0, 0 }, { -15, -52, 0, 25, 0, 0 }, + { -15, -53, 0, 25, 0, 0 }, { -15, -54, 0, 25, 0, 0 }, { -16, -55, 0, 25, 0, 0 }, { -16, -56, 0, 24, 0, 0 }, { -16, -57, 0, 24, 0, 0 }, + { -16, -58, 0, 24, 0, 0 }, { -16, -59, 0, 24, 0, 0 }, { -16, -60, 0, 24, 0, 0 }, { -16, -61, 0, 24, 0, 0 }, { -16, -62, 0, 24, 0, 0 }, + { -16, -63, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D44BE = { - 310, { - { 31, 16, 0, 0, 2, 0 }, { 30, 15, 0, 0, 2, 0 }, { 29, 15, 1, 0, 2, 0 }, { 28, 15, 1, 0, 2, 0 }, { 27, 15, 2, 0, 2, 0 }, - { 26, 15, 2, 0, 2, 0 }, { 25, 15, 3, 0, 2, 0 }, { 24, 15, 3, 0, 2, 0 }, { 23, 15, 3, 0, 2, 0 }, { 22, 15, 4, 0, 2, 0 }, - { 21, 14, 4, 0, 2, 0 }, { 20, 14, 5, 0, 2, 0 }, { 19, 14, 5, 0, 2, 0 }, { 18, 14, 6, 0, 2, 0 }, { 17, 14, 6, 0, 2, 0 }, - { 16, 14, 7, 0, 2, 0 }, { 15, 14, 7, 0, 2, 0 }, { 14, 14, 8, 0, 2, 0 }, { 13, 14, 8, 0, 2, 0 }, { 12, 14, 9, 0, 3, 0 }, - { 11, 13, 9, 0, 3, 0 }, { 10, 13, 10, 0, 3, 0 }, { 9, 13, 10, 0, 3, 0 }, { 8, 13, 11, 0, 3, 0 }, { 7, 13, 11, 0, 3, 0 }, - { 6, 13, 12, 0, 3, 0 }, { 5, 13, 13, 0, 3, 0 }, { 4, 13, 14, 0, 3, 0 }, { 3, 13, 15, 0, 3, 0 }, { 2, 12, 15, 0, 3, 0 }, - { 1, 12, 16, 0, 3, 0 }, { 0, 12, 17, 0, 3, 0 }, { -1, 12, 18, 0, 3, 0 }, { -2, 12, 18, 0, 3, 0 }, { -3, 12, 19, 0, 3, 0 }, - { -4, 12, 20, 0, 3, 0 }, { -5, 12, 21, 0, 3, 0 }, { -6, 11, 22, 0, 3, 0 }, { -7, 11, 23, 0, 3, 0 }, { -8, 11, 24, 0, 3, 0 }, - { -9, 11, 25, 0, 3, 0 }, { -10, 11, 26, 0, 3, 0 }, { -11, 11, 27, 0, 4, 0 }, { -12, 11, 28, 0, 4, 0 }, { -13, 11, 29, 0, 4, 0 }, - { -13, 11, 30, 0, 4, 0 }, { -14, 10, 31, 0, 4, 0 }, { -15, 10, 32, 0, 4, 0 }, { -16, 10, 33, 0, 4, 0 }, { -16, 10, 34, 0, 4, 0 }, - { -17, 10, 35, 0, 4, 0 }, { -18, 10, 36, 0, 4, 0 }, { -19, 10, 37, 0, 4, 0 }, { -19, 10, 38, 0, 4, 0 }, { -20, 10, 39, 0, 4, 0 }, - { -20, 9, 40, 0, 4, 0 }, { -21, 9, 41, 0, 4, 0 }, { -22, 9, 42, 0, 4, 0 }, { -22, 9, 43, 0, 9, 0 }, { -23, 9, 44, 0, 9, 0 }, - { -24, 9, 45, 0, 9, 0 }, { -24, 9, 46, 0, 9, 0 }, { -25, 9, 47, 0, 9, 0 }, { -25, 9, 48, 0, 9, 0 }, { -25, 8, 49, 0, 9, 0 }, - { -26, 8, 50, 0, 9, 0 }, { -26, 8, 51, 0, 9, 0 }, { -26, 8, 52, 0, 9, 0 }, { -27, 8, 53, 0, 9, 0 }, { -27, 8, 54, 0, 9, 0 }, - { -27, 8, 55, 0, 9, 0 }, { -28, 8, 56, 0, 9, 0 }, { -28, 8, 57, 0, 9, 0 }, { -28, 8, 58, 0, 9, 0 }, { -29, 7, 59, 0, 9, 0 }, - { -29, 7, 60, 0, 9, 0 }, { -29, 7, 61, 0, 9, 0 }, { -30, 7, 62, 0, 9, 0 }, { -30, 7, 63, 0, 9, 0 }, { -30, 7, 64, 0, 10, 0 }, - { -30, 7, 65, 0, 10, 0 }, { -31, 7, 66, 0, 10, 0 }, { -31, 7, 67, 0, 10, 0 }, { -31, 7, 68, 0, 10, 0 }, { -31, 6, 69, 0, 10, 0 }, - { -31, 6, 70, 0, 10, 0 }, { -32, 6, 71, 0, 10, 0 }, { -32, 6, 72, 0, 10, 0 }, { -32, 6, 73, 0, 10, 0 }, { -32, 6, 74, 0, 10, 0 }, - { -32, 6, 75, 0, 10, 0 }, { -32, 6, 76, 0, 10, 0 }, { -32, 6, 77, 0, 10, 0 }, { -32, 6, 78, 0, 10, 0 }, { -32, 6, 79, 0, 10, 0 }, - { -32, 5, 80, 0, 10, 0 }, { -32, 5, 81, 0, 10, 0 }, { -32, 5, 82, 0, 10, 0 }, { -32, 5, 83, 0, 10, 0 }, { -32, 5, 84, 0, 10, 0 }, - { -32, 5, 85, 0, 10, 0 }, { -32, 5, 86, 0, 10, 0 }, { -32, 5, 87, 0, 10, 0 }, { -32, 5, 88, 0, 10, 0 }, { -32, 5, 89, 0, 10, 0 }, - { -32, 5, 90, 0, 10, 0 }, { -32, 5, 91, 0, 11, 0 }, { -32, 4, 92, 0, 11, 0 }, { -31, 4, 93, 0, 11, 0 }, { -31, 4, 94, 0, 11, 0 }, - { -31, 4, 95, 0, 11, 0 }, { -31, 4, 96, 0, 11, 0 }, { -31, 4, 97, 0, 11, 0 }, { -30, 4, 98, 0, 11, 0 }, { -30, 4, 99, 0, 11, 0 }, - { -30, 4, 100, 0, 11, 0 }, { -30, 4, 101, 0, 11, 0 }, { -29, 3, 102, 0, 11, 0 }, { -29, 3, 103, 0, 11, 0 }, { -29, 3, 104, 0, 11, 0 }, - { -28, 3, 105, 0, 12, 0 }, { -28, 3, 106, 0, 12, 0 }, { -27, 3, 107, 0, 12, 0 }, { -27, 3, 108, 0, 12, 0 }, { -26, 3, 109, 0, 12, 0 }, - { -26, 3, 110, 0, 12, 0 }, { -26, 3, 111, 0, 12, 0 }, { -25, 2, 112, 0, 12, 0 }, { -25, 2, 113, 0, 12, 0 }, { -24, 2, 114, 0, 13, 0 }, - { -24, 2, 115, 0, 13, 0 }, { -23, 2, 116, 0, 13, 0 }, { -22, 2, 117, 0, 13, 0 }, { -22, 2, 118, 0, 13, 0 }, { -21, 2, 119, 0, 13, 0 }, - { -20, 2, 120, 0, 13, 0 }, { -19, 1, 121, 0, 13, 0 }, { -18, 1, 122, 0, 14, 0 }, { -17, 1, 123, 0, 14, 0 }, { -16, 1, 124, 0, 14, 0 }, - { -15, 1, 124, 0, 14, 0 }, { -14, 1, 125, 0, 14, 0 }, { -13, 1, 126, 0, 15, 0 }, { -12, 1, 127, 0, 15, 0 }, { -11, 0, 128, 0, 15, 0 }, - { -10, 0, 128, 0, 15, 0 }, { -9, 0, 129, 0, 15, 0 }, { -8, 0, 129, 0, 16, 0 }, { -7, 0, 129, 0, 16, 0 }, { -6, 0, 130, 0, 16, 0 }, - { -5, 0, 130, 0, 16, 0 }, { -4, 0, 130, 0, 16, 0 }, { -3, 0, 130, 0, 16, 0 }, { -2, 0, 130, 0, 16, 0 }, { -1, 0, 130, 0, 16, 0 }, - { 0, 0, 130, 0, 16, 0 }, { 1, 0, 130, 0, 16, 0 }, { 2, 0, 130, 0, 16, 0 }, { 3, 0, 130, 0, 16, 0 }, { 4, 0, 130, 0, 23, 0 }, - { 5, 0, 130, 0, 23, 0 }, { 6, 0, 129, 0, 23, 0 }, { 7, 0, 129, 0, 23, 0 }, { 8, 0, 129, 0, 23, 0 }, { 9, 0, 128, 0, 22, 0 }, - { 10, 0, 128, 0, 22, 0 }, { 11, -1, 127, 0, 22, 0 }, { 12, -1, 126, 0, 22, 0 }, { 13, -1, 125, 0, 22, 0 }, { 14, -1, 124, 0, 21, 0 }, - { 15, -1, 124, 0, 21, 0 }, { 16, -1, 123, 0, 21, 0 }, { 17, -1, 122, 0, 21, 0 }, { 18, -1, 121, 0, 21, 0 }, { 19, -2, 120, 0, 21, 0 }, - { 20, -2, 119, 0, 21, 0 }, { 21, -2, 118, 0, 21, 0 }, { 21, -2, 117, 0, 20, 0 }, { 22, -2, 116, 0, 20, 0 }, { 23, -2, 115, 0, 20, 0 }, - { 23, -2, 114, 0, 20, 0 }, { 24, -2, 113, 0, 20, 0 }, { 24, -2, 112, 0, 20, 0 }, { 25, -3, 111, 0, 20, 0 }, { 25, -3, 110, 0, 20, 0 }, - { 25, -3, 109, 0, 20, 0 }, { 26, -3, 108, 0, 19, 0 }, { 26, -3, 107, 0, 19, 0 }, { 27, -3, 106, 0, 19, 0 }, { 27, -3, 105, 0, 19, 0 }, - { 28, -3, 104, 0, 19, 0 }, { 28, -3, 103, 0, 19, 0 }, { 28, -3, 102, 0, 19, 0 }, { 29, -4, 101, 0, 19, 0 }, { 29, -4, 100, 0, 19, 0 }, - { 29, -4, 99, 0, 19, 0 }, { 29, -4, 98, 0, 19, 0 }, { 30, -4, 97, 0, 19, 0 }, { 30, -4, 96, 0, 19, 0 }, { 30, -4, 95, 0, 19, 0 }, - { 30, -4, 94, 0, 18, 0 }, { 30, -4, 93, 0, 18, 0 }, { 31, -4, 92, 0, 18, 0 }, { 31, -5, 91, 0, 18, 0 }, { 31, -5, 90, 0, 18, 0 }, - { 31, -5, 89, 0, 18, 0 }, { 31, -5, 88, 0, 18, 0 }, { 31, -5, 87, 0, 18, 0 }, { 31, -5, 86, 0, 18, 0 }, { 31, -5, 85, 0, 18, 0 }, - { 31, -5, 84, 0, 18, 0 }, { 31, -5, 83, 0, 18, 0 }, { 31, -5, 82, 0, 18, 0 }, { 31, -5, 81, 0, 18, 0 }, { 31, -5, 80, 0, 18, 0 }, - { 31, -6, 79, 0, 18, 0 }, { 31, -6, 78, 0, 18, 0 }, { 31, -6, 77, 0, 18, 0 }, { 31, -6, 76, 0, 18, 0 }, { 31, -6, 75, 0, 18, 0 }, - { 31, -6, 74, 0, 18, 0 }, { 31, -6, 73, 0, 18, 0 }, { 31, -6, 72, 0, 18, 0 }, { 31, -6, 71, 0, 18, 0 }, { 30, -6, 70, 0, 18, 0 }, - { 30, -6, 69, 0, 18, 0 }, { 30, -7, 68, 0, 18, 0 }, { 30, -7, 67, 0, 17, 0 }, { 30, -7, 66, 0, 17, 0 }, { 29, -7, 65, 0, 17, 0 }, - { 29, -7, 64, 0, 17, 0 }, { 29, -7, 63, 0, 17, 0 }, { 29, -7, 62, 0, 17, 0 }, { 28, -7, 61, 0, 17, 0 }, { 28, -7, 60, 0, 17, 0 }, - { 28, -7, 59, 0, 17, 0 }, { 27, -8, 58, 0, 17, 0 }, { 27, -8, 57, 0, 17, 0 }, { 27, -8, 56, 0, 17, 0 }, { 26, -8, 55, 0, 17, 0 }, - { 26, -8, 54, 0, 17, 0 }, { 26, -8, 53, 0, 17, 0 }, { 25, -8, 52, 0, 17, 0 }, { 25, -8, 51, 0, 17, 0 }, { 25, -8, 50, 0, 17, 0 }, - { 24, -8, 49, 0, 17, 0 }, { 24, -9, 48, 0, 17, 0 }, { 24, -9, 47, 0, 17, 0 }, { 23, -9, 46, 0, 8, 0 }, { 23, -9, 45, 0, 8, 0 }, - { 22, -9, 44, 0, 8, 0 }, { 21, -9, 43, 0, 8, 0 }, { 21, -9, 42, 0, 8, 0 }, { 20, -9, 41, 0, 8, 0 }, { 19, -9, 40, 0, 8, 0 }, - { 19, -9, 39, 0, 8, 0 }, { 18, -10, 38, 0, 8, 0 }, { 18, -10, 37, 0, 8, 0 }, { 17, -10, 36, 0, 8, 0 }, { 16, -10, 35, 0, 8, 0 }, - { 15, -10, 34, 0, 8, 0 }, { 15, -10, 33, 0, 8, 0 }, { 14, -10, 32, 0, 8, 0 }, { 13, -10, 31, 0, 8, 0 }, { 12, -11, 30, 0, 7, 0 }, - { 12, -11, 29, 0, 7, 0 }, { 11, -11, 28, 0, 7, 0 }, { 10, -11, 27, 0, 7, 0 }, { 9, -11, 26, 0, 7, 0 }, { 8, -11, 25, 0, 7, 0 }, - { 7, -11, 24, 0, 7, 0 }, { 6, -11, 23, 0, 7, 0 }, { 5, -11, 22, 0, 7, 0 }, { 4, -12, 21, 0, 7, 0 }, { 3, -12, 20, 0, 7, 0 }, - { 2, -12, 19, 0, 7, 0 }, { 1, -12, 18, 0, 7, 0 }, { 0, -12, 18, 0, 7, 0 }, { -1, -12, 17, 0, 7, 0 }, { -2, -12, 16, 0, 7, 0 }, - { -3, -12, 15, 0, 7, 0 }, { -4, -13, 15, 0, 7, 0 }, { -5, -13, 14, 0, 7, 0 }, { -6, -13, 13, 0, 7, 0 }, { -7, -13, 12, 0, 7, 0 }, - { -8, -13, 11, 0, 7, 0 }, { -9, -13, 11, 0, 7, 0 }, { -10, -13, 10, 0, 6, 0 }, { -11, -13, 10, 0, 6, 0 }, { -12, -13, 9, 0, 6, 0 }, - { -13, -14, 9, 0, 6, 0 }, { -14, -14, 8, 0, 6, 0 }, { -15, -14, 8, 0, 6, 0 }, { -16, -14, 7, 0, 6, 0 }, { -17, -14, 7, 0, 6, 0 }, - { -18, -14, 6, 0, 6, 0 }, { -19, -14, 6, 0, 6, 0 }, { -20, -14, 5, 0, 6, 0 }, { -21, -14, 5, 0, 6, 0 }, { -22, -14, 4, 0, 6, 0 }, - { -23, -15, 4, 0, 6, 0 }, { -24, -15, 3, 0, 6, 0 }, { -25, -15, 3, 0, 6, 0 }, { -26, -15, 3, 0, 6, 0 }, { -27, -15, 2, 0, 6, 0 }, - { -28, -15, 2, 0, 6, 0 }, { -29, -15, 1, 0, 6, 0 }, { -30, -15, 1, 0, 6, 0 }, { -31, -15, 0, 0, 6, 0 }, { -32, -16, 0, 0, 6, 0 }, + 310, { + { 31, 16, 0, 0, 2, 0 }, { 30, 15, 0, 0, 2, 0 }, { 29, 15, 1, 0, 2, 0 }, { 28, 15, 1, 0, 2, 0 }, { 27, 15, 2, 0, 2, 0 }, + { 26, 15, 2, 0, 2, 0 }, { 25, 15, 3, 0, 2, 0 }, { 24, 15, 3, 0, 2, 0 }, { 23, 15, 3, 0, 2, 0 }, { 22, 15, 4, 0, 2, 0 }, + { 21, 14, 4, 0, 2, 0 }, { 20, 14, 5, 0, 2, 0 }, { 19, 14, 5, 0, 2, 0 }, { 18, 14, 6, 0, 2, 0 }, { 17, 14, 6, 0, 2, 0 }, + { 16, 14, 7, 0, 2, 0 }, { 15, 14, 7, 0, 2, 0 }, { 14, 14, 8, 0, 2, 0 }, { 13, 14, 8, 0, 2, 0 }, { 12, 14, 9, 0, 3, 0 }, + { 11, 13, 9, 0, 3, 0 }, { 10, 13, 10, 0, 3, 0 }, { 9, 13, 10, 0, 3, 0 }, { 8, 13, 11, 0, 3, 0 }, { 7, 13, 11, 0, 3, 0 }, + { 6, 13, 12, 0, 3, 0 }, { 5, 13, 13, 0, 3, 0 }, { 4, 13, 14, 0, 3, 0 }, { 3, 13, 15, 0, 3, 0 }, { 2, 12, 15, 0, 3, 0 }, + { 1, 12, 16, 0, 3, 0 }, { 0, 12, 17, 0, 3, 0 }, { -1, 12, 18, 0, 3, 0 }, { -2, 12, 18, 0, 3, 0 }, { -3, 12, 19, 0, 3, 0 }, + { -4, 12, 20, 0, 3, 0 }, { -5, 12, 21, 0, 3, 0 }, { -6, 11, 22, 0, 3, 0 }, { -7, 11, 23, 0, 3, 0 }, { -8, 11, 24, 0, 3, 0 }, + { -9, 11, 25, 0, 3, 0 }, { -10, 11, 26, 0, 3, 0 }, { -11, 11, 27, 0, 4, 0 }, { -12, 11, 28, 0, 4, 0 }, { -13, 11, 29, 0, 4, 0 }, + { -13, 11, 30, 0, 4, 0 }, { -14, 10, 31, 0, 4, 0 }, { -15, 10, 32, 0, 4, 0 }, { -16, 10, 33, 0, 4, 0 }, { -16, 10, 34, 0, 4, 0 }, + { -17, 10, 35, 0, 4, 0 }, { -18, 10, 36, 0, 4, 0 }, { -19, 10, 37, 0, 4, 0 }, { -19, 10, 38, 0, 4, 0 }, { -20, 10, 39, 0, 4, 0 }, + { -20, 9, 40, 0, 4, 0 }, { -21, 9, 41, 0, 4, 0 }, { -22, 9, 42, 0, 4, 0 }, { -22, 9, 43, 0, 9, 0 }, { -23, 9, 44, 0, 9, 0 }, + { -24, 9, 45, 0, 9, 0 }, { -24, 9, 46, 0, 9, 0 }, { -25, 9, 47, 0, 9, 0 }, { -25, 9, 48, 0, 9, 0 }, { -25, 8, 49, 0, 9, 0 }, + { -26, 8, 50, 0, 9, 0 }, { -26, 8, 51, 0, 9, 0 }, { -26, 8, 52, 0, 9, 0 }, { -27, 8, 53, 0, 9, 0 }, { -27, 8, 54, 0, 9, 0 }, + { -27, 8, 55, 0, 9, 0 }, { -28, 8, 56, 0, 9, 0 }, { -28, 8, 57, 0, 9, 0 }, { -28, 8, 58, 0, 9, 0 }, { -29, 7, 59, 0, 9, 0 }, + { -29, 7, 60, 0, 9, 0 }, { -29, 7, 61, 0, 9, 0 }, { -30, 7, 62, 0, 9, 0 }, { -30, 7, 63, 0, 9, 0 }, { -30, 7, 64, 0, 10, 0 }, + { -30, 7, 65, 0, 10, 0 }, { -31, 7, 66, 0, 10, 0 }, { -31, 7, 67, 0, 10, 0 }, { -31, 7, 68, 0, 10, 0 }, { -31, 6, 69, 0, 10, 0 }, + { -31, 6, 70, 0, 10, 0 }, { -32, 6, 71, 0, 10, 0 }, { -32, 6, 72, 0, 10, 0 }, { -32, 6, 73, 0, 10, 0 }, { -32, 6, 74, 0, 10, 0 }, + { -32, 6, 75, 0, 10, 0 }, { -32, 6, 76, 0, 10, 0 }, { -32, 6, 77, 0, 10, 0 }, { -32, 6, 78, 0, 10, 0 }, { -32, 6, 79, 0, 10, 0 }, + { -32, 5, 80, 0, 10, 0 }, { -32, 5, 81, 0, 10, 0 }, { -32, 5, 82, 0, 10, 0 }, { -32, 5, 83, 0, 10, 0 }, { -32, 5, 84, 0, 10, 0 }, + { -32, 5, 85, 0, 10, 0 }, { -32, 5, 86, 0, 10, 0 }, { -32, 5, 87, 0, 10, 0 }, { -32, 5, 88, 0, 10, 0 }, { -32, 5, 89, 0, 10, 0 }, + { -32, 5, 90, 0, 10, 0 }, { -32, 5, 91, 0, 11, 0 }, { -32, 4, 92, 0, 11, 0 }, { -31, 4, 93, 0, 11, 0 }, { -31, 4, 94, 0, 11, 0 }, + { -31, 4, 95, 0, 11, 0 }, { -31, 4, 96, 0, 11, 0 }, { -31, 4, 97, 0, 11, 0 }, { -30, 4, 98, 0, 11, 0 }, { -30, 4, 99, 0, 11, 0 }, + { -30, 4, 100, 0, 11, 0 }, { -30, 4, 101, 0, 11, 0 }, { -29, 3, 102, 0, 11, 0 }, { -29, 3, 103, 0, 11, 0 }, { -29, 3, 104, 0, 11, 0 }, + { -28, 3, 105, 0, 12, 0 }, { -28, 3, 106, 0, 12, 0 }, { -27, 3, 107, 0, 12, 0 }, { -27, 3, 108, 0, 12, 0 }, { -26, 3, 109, 0, 12, 0 }, + { -26, 3, 110, 0, 12, 0 }, { -26, 3, 111, 0, 12, 0 }, { -25, 2, 112, 0, 12, 0 }, { -25, 2, 113, 0, 12, 0 }, { -24, 2, 114, 0, 13, 0 }, + { -24, 2, 115, 0, 13, 0 }, { -23, 2, 116, 0, 13, 0 }, { -22, 2, 117, 0, 13, 0 }, { -22, 2, 118, 0, 13, 0 }, { -21, 2, 119, 0, 13, 0 }, + { -20, 2, 120, 0, 13, 0 }, { -19, 1, 121, 0, 13, 0 }, { -18, 1, 122, 0, 14, 0 }, { -17, 1, 123, 0, 14, 0 }, { -16, 1, 124, 0, 14, 0 }, + { -15, 1, 124, 0, 14, 0 }, { -14, 1, 125, 0, 14, 0 }, { -13, 1, 126, 0, 15, 0 }, { -12, 1, 127, 0, 15, 0 }, { -11, 0, 128, 0, 15, 0 }, + { -10, 0, 128, 0, 15, 0 }, { -9, 0, 129, 0, 15, 0 }, { -8, 0, 129, 0, 16, 0 }, { -7, 0, 129, 0, 16, 0 }, { -6, 0, 130, 0, 16, 0 }, + { -5, 0, 130, 0, 16, 0 }, { -4, 0, 130, 0, 16, 0 }, { -3, 0, 130, 0, 16, 0 }, { -2, 0, 130, 0, 16, 0 }, { -1, 0, 130, 0, 16, 0 }, + { 0, 0, 130, 0, 16, 0 }, { 1, 0, 130, 0, 16, 0 }, { 2, 0, 130, 0, 16, 0 }, { 3, 0, 130, 0, 16, 0 }, { 4, 0, 130, 0, 23, 0 }, + { 5, 0, 130, 0, 23, 0 }, { 6, 0, 129, 0, 23, 0 }, { 7, 0, 129, 0, 23, 0 }, { 8, 0, 129, 0, 23, 0 }, { 9, 0, 128, 0, 22, 0 }, + { 10, 0, 128, 0, 22, 0 }, { 11, -1, 127, 0, 22, 0 }, { 12, -1, 126, 0, 22, 0 }, { 13, -1, 125, 0, 22, 0 }, { 14, -1, 124, 0, 21, 0 }, + { 15, -1, 124, 0, 21, 0 }, { 16, -1, 123, 0, 21, 0 }, { 17, -1, 122, 0, 21, 0 }, { 18, -1, 121, 0, 21, 0 }, { 19, -2, 120, 0, 21, 0 }, + { 20, -2, 119, 0, 21, 0 }, { 21, -2, 118, 0, 21, 0 }, { 21, -2, 117, 0, 20, 0 }, { 22, -2, 116, 0, 20, 0 }, { 23, -2, 115, 0, 20, 0 }, + { 23, -2, 114, 0, 20, 0 }, { 24, -2, 113, 0, 20, 0 }, { 24, -2, 112, 0, 20, 0 }, { 25, -3, 111, 0, 20, 0 }, { 25, -3, 110, 0, 20, 0 }, + { 25, -3, 109, 0, 20, 0 }, { 26, -3, 108, 0, 19, 0 }, { 26, -3, 107, 0, 19, 0 }, { 27, -3, 106, 0, 19, 0 }, { 27, -3, 105, 0, 19, 0 }, + { 28, -3, 104, 0, 19, 0 }, { 28, -3, 103, 0, 19, 0 }, { 28, -3, 102, 0, 19, 0 }, { 29, -4, 101, 0, 19, 0 }, { 29, -4, 100, 0, 19, 0 }, + { 29, -4, 99, 0, 19, 0 }, { 29, -4, 98, 0, 19, 0 }, { 30, -4, 97, 0, 19, 0 }, { 30, -4, 96, 0, 19, 0 }, { 30, -4, 95, 0, 19, 0 }, + { 30, -4, 94, 0, 18, 0 }, { 30, -4, 93, 0, 18, 0 }, { 31, -4, 92, 0, 18, 0 }, { 31, -5, 91, 0, 18, 0 }, { 31, -5, 90, 0, 18, 0 }, + { 31, -5, 89, 0, 18, 0 }, { 31, -5, 88, 0, 18, 0 }, { 31, -5, 87, 0, 18, 0 }, { 31, -5, 86, 0, 18, 0 }, { 31, -5, 85, 0, 18, 0 }, + { 31, -5, 84, 0, 18, 0 }, { 31, -5, 83, 0, 18, 0 }, { 31, -5, 82, 0, 18, 0 }, { 31, -5, 81, 0, 18, 0 }, { 31, -5, 80, 0, 18, 0 }, + { 31, -6, 79, 0, 18, 0 }, { 31, -6, 78, 0, 18, 0 }, { 31, -6, 77, 0, 18, 0 }, { 31, -6, 76, 0, 18, 0 }, { 31, -6, 75, 0, 18, 0 }, + { 31, -6, 74, 0, 18, 0 }, { 31, -6, 73, 0, 18, 0 }, { 31, -6, 72, 0, 18, 0 }, { 31, -6, 71, 0, 18, 0 }, { 30, -6, 70, 0, 18, 0 }, + { 30, -6, 69, 0, 18, 0 }, { 30, -7, 68, 0, 18, 0 }, { 30, -7, 67, 0, 17, 0 }, { 30, -7, 66, 0, 17, 0 }, { 29, -7, 65, 0, 17, 0 }, + { 29, -7, 64, 0, 17, 0 }, { 29, -7, 63, 0, 17, 0 }, { 29, -7, 62, 0, 17, 0 }, { 28, -7, 61, 0, 17, 0 }, { 28, -7, 60, 0, 17, 0 }, + { 28, -7, 59, 0, 17, 0 }, { 27, -8, 58, 0, 17, 0 }, { 27, -8, 57, 0, 17, 0 }, { 27, -8, 56, 0, 17, 0 }, { 26, -8, 55, 0, 17, 0 }, + { 26, -8, 54, 0, 17, 0 }, { 26, -8, 53, 0, 17, 0 }, { 25, -8, 52, 0, 17, 0 }, { 25, -8, 51, 0, 17, 0 }, { 25, -8, 50, 0, 17, 0 }, + { 24, -8, 49, 0, 17, 0 }, { 24, -9, 48, 0, 17, 0 }, { 24, -9, 47, 0, 17, 0 }, { 23, -9, 46, 0, 8, 0 }, { 23, -9, 45, 0, 8, 0 }, + { 22, -9, 44, 0, 8, 0 }, { 21, -9, 43, 0, 8, 0 }, { 21, -9, 42, 0, 8, 0 }, { 20, -9, 41, 0, 8, 0 }, { 19, -9, 40, 0, 8, 0 }, + { 19, -9, 39, 0, 8, 0 }, { 18, -10, 38, 0, 8, 0 }, { 18, -10, 37, 0, 8, 0 }, { 17, -10, 36, 0, 8, 0 }, { 16, -10, 35, 0, 8, 0 }, + { 15, -10, 34, 0, 8, 0 }, { 15, -10, 33, 0, 8, 0 }, { 14, -10, 32, 0, 8, 0 }, { 13, -10, 31, 0, 8, 0 }, { 12, -11, 30, 0, 7, 0 }, + { 12, -11, 29, 0, 7, 0 }, { 11, -11, 28, 0, 7, 0 }, { 10, -11, 27, 0, 7, 0 }, { 9, -11, 26, 0, 7, 0 }, { 8, -11, 25, 0, 7, 0 }, + { 7, -11, 24, 0, 7, 0 }, { 6, -11, 23, 0, 7, 0 }, { 5, -11, 22, 0, 7, 0 }, { 4, -12, 21, 0, 7, 0 }, { 3, -12, 20, 0, 7, 0 }, + { 2, -12, 19, 0, 7, 0 }, { 1, -12, 18, 0, 7, 0 }, { 0, -12, 18, 0, 7, 0 }, { -1, -12, 17, 0, 7, 0 }, { -2, -12, 16, 0, 7, 0 }, + { -3, -12, 15, 0, 7, 0 }, { -4, -13, 15, 0, 7, 0 }, { -5, -13, 14, 0, 7, 0 }, { -6, -13, 13, 0, 7, 0 }, { -7, -13, 12, 0, 7, 0 }, + { -8, -13, 11, 0, 7, 0 }, { -9, -13, 11, 0, 7, 0 }, { -10, -13, 10, 0, 6, 0 }, { -11, -13, 10, 0, 6, 0 }, { -12, -13, 9, 0, 6, 0 }, + { -13, -14, 9, 0, 6, 0 }, { -14, -14, 8, 0, 6, 0 }, { -15, -14, 8, 0, 6, 0 }, { -16, -14, 7, 0, 6, 0 }, { -17, -14, 7, 0, 6, 0 }, + { -18, -14, 6, 0, 6, 0 }, { -19, -14, 6, 0, 6, 0 }, { -20, -14, 5, 0, 6, 0 }, { -21, -14, 5, 0, 6, 0 }, { -22, -14, 4, 0, 6, 0 }, + { -23, -15, 4, 0, 6, 0 }, { -24, -15, 3, 0, 6, 0 }, { -25, -15, 3, 0, 6, 0 }, { -26, -15, 3, 0, 6, 0 }, { -27, -15, 2, 0, 6, 0 }, + { -28, -15, 2, 0, 6, 0 }, { -29, -15, 1, 0, 6, 0 }, { -30, -15, 1, 0, 6, 0 }, { -31, -15, 0, 0, 6, 0 }, { -32, -16, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D4FA6 = { - 310, { - { 16, 0, 0, 8, 2, 0 }, { 15, 1, 0, 8, 2, 0 }, { 15, 2, 1, 8, 2, 0 }, { 15, 3, 1, 8, 2, 0 }, { 15, 4, 2, 8, 2, 0 }, - { 15, 5, 2, 8, 2, 0 }, { 15, 6, 3, 8, 2, 0 }, { 15, 7, 3, 8, 2, 0 }, { 15, 8, 3, 8, 2, 0 }, { 15, 9, 4, 8, 2, 0 }, - { 14, 10, 4, 8, 2, 0 }, { 14, 11, 5, 8, 2, 0 }, { 14, 12, 5, 8, 2, 0 }, { 14, 13, 6, 8, 2, 0 }, { 14, 14, 6, 8, 2, 0 }, - { 14, 15, 7, 8, 2, 0 }, { 14, 16, 7, 8, 2, 0 }, { 14, 17, 8, 8, 2, 0 }, { 14, 18, 8, 8, 2, 0 }, { 14, 19, 9, 8, 3, 0 }, - { 13, 20, 9, 8, 3, 0 }, { 13, 21, 10, 8, 3, 0 }, { 13, 22, 10, 8, 3, 0 }, { 13, 23, 11, 8, 3, 0 }, { 13, 24, 11, 8, 3, 0 }, - { 13, 25, 12, 8, 3, 0 }, { 13, 26, 13, 8, 3, 0 }, { 13, 27, 14, 8, 3, 0 }, { 13, 28, 15, 8, 3, 0 }, { 12, 29, 15, 8, 3, 0 }, - { 12, 30, 16, 8, 3, 0 }, { 12, 31, 17, 8, 3, 0 }, { 12, 32, 18, 8, 3, 0 }, { 12, 33, 18, 8, 3, 0 }, { 12, 34, 19, 8, 3, 0 }, - { 12, 35, 20, 8, 3, 0 }, { 12, 36, 21, 8, 3, 0 }, { 11, 37, 22, 8, 3, 0 }, { 11, 38, 23, 8, 3, 0 }, { 11, 39, 24, 8, 3, 0 }, - { 11, 40, 25, 8, 3, 0 }, { 11, 41, 26, 8, 3, 0 }, { 11, 42, 27, 8, 4, 0 }, { 11, 43, 28, 8, 4, 0 }, { 11, 44, 29, 8, 4, 0 }, - { 11, 44, 30, 8, 4, 0 }, { 10, 45, 31, 8, 4, 0 }, { 10, 46, 32, 8, 4, 0 }, { 10, 47, 33, 8, 4, 0 }, { 10, 47, 34, 8, 4, 0 }, - { 10, 48, 35, 8, 4, 0 }, { 10, 49, 36, 8, 4, 0 }, { 10, 50, 37, 8, 4, 0 }, { 10, 50, 38, 8, 4, 0 }, { 10, 51, 39, 8, 4, 0 }, - { 9, 51, 40, 8, 4, 0 }, { 9, 52, 41, 8, 4, 0 }, { 9, 53, 42, 8, 4, 0 }, { 9, 53, 43, 8, 9, 0 }, { 9, 54, 44, 8, 9, 0 }, - { 9, 55, 45, 8, 9, 0 }, { 9, 55, 46, 8, 9, 0 }, { 9, 56, 47, 8, 9, 0 }, { 9, 56, 48, 8, 9, 0 }, { 8, 56, 49, 8, 9, 0 }, - { 8, 57, 50, 8, 9, 0 }, { 8, 57, 51, 8, 9, 0 }, { 8, 57, 52, 8, 9, 0 }, { 8, 58, 53, 8, 9, 0 }, { 8, 58, 54, 8, 9, 0 }, - { 8, 58, 55, 8, 9, 0 }, { 8, 59, 56, 8, 9, 0 }, { 8, 59, 57, 8, 9, 0 }, { 8, 59, 58, 8, 9, 0 }, { 7, 60, 59, 8, 9, 0 }, - { 7, 60, 60, 8, 9, 0 }, { 7, 60, 61, 8, 9, 0 }, { 7, 61, 62, 8, 9, 0 }, { 7, 61, 63, 8, 9, 0 }, { 7, 61, 64, 8, 10, 0 }, - { 7, 61, 65, 8, 10, 0 }, { 7, 62, 66, 8, 10, 0 }, { 7, 62, 67, 8, 10, 0 }, { 7, 62, 68, 8, 10, 0 }, { 6, 62, 69, 8, 10, 0 }, - { 6, 62, 70, 8, 10, 0 }, { 6, 63, 71, 8, 10, 0 }, { 6, 63, 72, 8, 10, 0 }, { 6, 63, 73, 8, 10, 0 }, { 6, 63, 74, 8, 10, 0 }, - { 6, 63, 75, 8, 10, 0 }, { 6, 63, 76, 8, 10, 0 }, { 6, 63, 77, 8, 10, 0 }, { 6, 63, 78, 8, 10, 0 }, { 6, 63, 79, 8, 10, 0 }, - { 5, 63, 80, 8, 10, 0 }, { 5, 63, 81, 8, 10, 0 }, { 5, 63, 82, 8, 10, 0 }, { 5, 63, 83, 8, 10, 0 }, { 5, 63, 84, 8, 10, 0 }, - { 5, 63, 85, 8, 10, 0 }, { 5, 63, 86, 8, 10, 0 }, { 5, 63, 87, 8, 10, 0 }, { 5, 63, 88, 8, 10, 0 }, { 5, 63, 89, 8, 10, 0 }, - { 5, 63, 90, 8, 10, 0 }, { 5, 63, 91, 8, 11, 0 }, { 4, 63, 92, 8, 11, 0 }, { 4, 62, 93, 8, 11, 0 }, { 4, 62, 94, 8, 11, 0 }, - { 4, 62, 95, 8, 11, 0 }, { 4, 62, 96, 8, 11, 0 }, { 4, 62, 97, 8, 11, 0 }, { 4, 61, 98, 8, 11, 0 }, { 4, 61, 99, 8, 11, 0 }, - { 4, 61, 100, 8, 11, 0 }, { 4, 61, 101, 8, 11, 0 }, { 3, 60, 102, 8, 11, 0 }, { 3, 60, 103, 8, 11, 0 }, { 3, 60, 104, 8, 11, 0 }, - { 3, 59, 105, 8, 12, 0 }, { 3, 59, 106, 8, 12, 0 }, { 3, 58, 107, 8, 12, 0 }, { 3, 58, 108, 8, 12, 0 }, { 3, 57, 109, 8, 12, 0 }, - { 3, 57, 110, 8, 12, 0 }, { 3, 57, 111, 8, 12, 0 }, { 2, 56, 112, 8, 12, 0 }, { 2, 56, 113, 8, 12, 0 }, { 2, 55, 114, 8, 13, 0 }, - { 2, 55, 115, 8, 13, 0 }, { 2, 54, 116, 8, 13, 0 }, { 2, 53, 117, 8, 13, 0 }, { 2, 53, 118, 8, 13, 0 }, { 2, 52, 119, 8, 13, 0 }, - { 2, 51, 120, 8, 13, 0 }, { 1, 50, 121, 8, 13, 0 }, { 1, 49, 122, 8, 14, 0 }, { 1, 48, 123, 8, 14, 0 }, { 1, 47, 124, 8, 14, 0 }, - { 1, 46, 124, 8, 14, 0 }, { 1, 45, 125, 8, 14, 0 }, { 1, 44, 126, 8, 15, 0 }, { 1, 43, 127, 8, 15, 0 }, { 0, 42, 128, 8, 15, 0 }, - { 0, 41, 128, 8, 15, 0 }, { 0, 40, 129, 8, 15, 0 }, { 0, 39, 129, 8, 16, 0 }, { 0, 38, 129, 8, 16, 0 }, { 0, 37, 130, 8, 16, 0 }, - { 0, 36, 130, 8, 16, 0 }, { 0, 35, 130, 8, 16, 0 }, { 0, 34, 130, 8, 16, 0 }, { 0, 33, 130, 8, 16, 0 }, { 0, 32, 130, 8, 16, 0 }, - { 0, 31, 130, 8, 16, 0 }, { 0, 30, 130, 8, 16, 0 }, { 0, 29, 130, 8, 16, 0 }, { 0, 28, 130, 8, 16, 0 }, { 0, 27, 130, 8, 23, 0 }, - { 0, 26, 130, 8, 23, 0 }, { 0, 25, 129, 8, 23, 0 }, { 0, 24, 129, 8, 23, 0 }, { 0, 23, 129, 8, 23, 0 }, { 0, 22, 128, 8, 22, 0 }, - { 0, 21, 128, 8, 22, 0 }, { -1, 20, 127, 8, 22, 0 }, { -1, 19, 126, 8, 22, 0 }, { -1, 18, 125, 8, 22, 0 }, { -1, 17, 124, 8, 21, 0 }, - { -1, 16, 124, 8, 21, 0 }, { -1, 15, 123, 8, 21, 0 }, { -1, 14, 122, 8, 21, 0 }, { -1, 13, 121, 8, 21, 0 }, { -2, 12, 120, 8, 21, 0 }, - { -2, 11, 119, 8, 21, 0 }, { -2, 10, 118, 8, 21, 0 }, { -2, 10, 117, 8, 20, 0 }, { -2, 9, 116, 8, 20, 0 }, { -2, 8, 115, 8, 20, 0 }, - { -2, 8, 114, 8, 20, 0 }, { -2, 7, 113, 8, 20, 0 }, { -2, 7, 112, 8, 20, 0 }, { -3, 6, 111, 8, 20, 0 }, { -3, 6, 110, 8, 20, 0 }, - { -3, 6, 109, 8, 20, 0 }, { -3, 5, 108, 8, 19, 0 }, { -3, 5, 107, 8, 19, 0 }, { -3, 4, 106, 8, 19, 0 }, { -3, 4, 105, 8, 19, 0 }, - { -3, 3, 104, 8, 19, 0 }, { -3, 3, 103, 8, 19, 0 }, { -3, 3, 102, 8, 19, 0 }, { -4, 2, 101, 8, 19, 0 }, { -4, 2, 100, 8, 19, 0 }, - { -4, 2, 99, 8, 19, 0 }, { -4, 2, 98, 8, 19, 0 }, { -4, 1, 97, 8, 19, 0 }, { -4, 1, 96, 8, 19, 0 }, { -4, 1, 95, 8, 19, 0 }, - { -4, 1, 94, 8, 18, 0 }, { -4, 1, 93, 8, 18, 0 }, { -4, 0, 92, 8, 18, 0 }, { -5, 0, 91, 8, 18, 0 }, { -5, 0, 90, 8, 18, 0 }, - { -5, 0, 89, 8, 18, 0 }, { -5, 0, 88, 8, 18, 0 }, { -5, 0, 87, 8, 18, 0 }, { -5, 0, 86, 8, 18, 0 }, { -5, 0, 85, 8, 18, 0 }, - { -5, 0, 84, 8, 18, 0 }, { -5, 0, 83, 8, 18, 0 }, { -5, 0, 82, 8, 18, 0 }, { -5, 0, 81, 8, 18, 0 }, { -5, 0, 80, 8, 18, 0 }, - { -6, 0, 79, 8, 18, 0 }, { -6, 0, 78, 8, 18, 0 }, { -6, 0, 77, 8, 18, 0 }, { -6, 0, 76, 8, 18, 0 }, { -6, 0, 75, 8, 18, 0 }, - { -6, 0, 74, 8, 18, 0 }, { -6, 0, 73, 8, 18, 0 }, { -6, 0, 72, 8, 18, 0 }, { -6, 0, 71, 8, 18, 0 }, { -6, 1, 70, 8, 18, 0 }, - { -6, 1, 69, 8, 18, 0 }, { -7, 1, 68, 8, 18, 0 }, { -7, 1, 67, 8, 17, 0 }, { -7, 1, 66, 8, 17, 0 }, { -7, 2, 65, 8, 17, 0 }, - { -7, 2, 64, 8, 17, 0 }, { -7, 2, 63, 8, 17, 0 }, { -7, 2, 62, 8, 17, 0 }, { -7, 3, 61, 8, 17, 0 }, { -7, 3, 60, 8, 17, 0 }, - { -7, 3, 59, 8, 17, 0 }, { -8, 4, 58, 8, 17, 0 }, { -8, 4, 57, 8, 17, 0 }, { -8, 4, 56, 8, 17, 0 }, { -8, 5, 55, 8, 17, 0 }, - { -8, 5, 54, 8, 17, 0 }, { -8, 5, 53, 8, 17, 0 }, { -8, 6, 52, 8, 17, 0 }, { -8, 6, 51, 8, 17, 0 }, { -8, 6, 50, 8, 17, 0 }, - { -8, 7, 49, 8, 17, 0 }, { -9, 7, 48, 8, 17, 0 }, { -9, 7, 47, 8, 17, 0 }, { -9, 8, 46, 8, 8, 0 }, { -9, 8, 45, 8, 8, 0 }, - { -9, 9, 44, 8, 8, 0 }, { -9, 10, 43, 8, 8, 0 }, { -9, 10, 42, 8, 8, 0 }, { -9, 11, 41, 8, 8, 0 }, { -9, 12, 40, 8, 8, 0 }, - { -9, 12, 39, 8, 8, 0 }, { -10, 13, 38, 8, 8, 0 }, { -10, 13, 37, 8, 8, 0 }, { -10, 14, 36, 8, 8, 0 }, { -10, 15, 35, 8, 8, 0 }, - { -10, 16, 34, 8, 8, 0 }, { -10, 16, 33, 8, 8, 0 }, { -10, 17, 32, 8, 8, 0 }, { -10, 18, 31, 8, 8, 0 }, { -11, 19, 30, 8, 7, 0 }, - { -11, 19, 29, 8, 7, 0 }, { -11, 20, 28, 8, 7, 0 }, { -11, 21, 27, 8, 7, 0 }, { -11, 22, 26, 8, 7, 0 }, { -11, 23, 25, 8, 7, 0 }, - { -11, 24, 24, 8, 7, 0 }, { -11, 25, 23, 8, 7, 0 }, { -11, 26, 22, 8, 7, 0 }, { -12, 27, 21, 8, 7, 0 }, { -12, 28, 20, 8, 7, 0 }, - { -12, 29, 19, 8, 7, 0 }, { -12, 30, 18, 8, 7, 0 }, { -12, 31, 18, 8, 7, 0 }, { -12, 32, 17, 8, 7, 0 }, { -12, 33, 16, 8, 7, 0 }, - { -12, 34, 15, 8, 7, 0 }, { -13, 35, 15, 8, 7, 0 }, { -13, 36, 14, 8, 7, 0 }, { -13, 37, 13, 8, 7, 0 }, { -13, 38, 12, 8, 7, 0 }, - { -13, 39, 11, 8, 7, 0 }, { -13, 40, 11, 8, 7, 0 }, { -13, 41, 10, 8, 6, 0 }, { -13, 42, 10, 8, 6, 0 }, { -13, 43, 9, 8, 6, 0 }, - { -14, 44, 9, 8, 6, 0 }, { -14, 45, 8, 8, 6, 0 }, { -14, 46, 8, 8, 6, 0 }, { -14, 47, 7, 8, 6, 0 }, { -14, 48, 7, 8, 6, 0 }, - { -14, 49, 6, 8, 6, 0 }, { -14, 50, 6, 8, 6, 0 }, { -14, 51, 5, 8, 6, 0 }, { -14, 52, 5, 8, 6, 0 }, { -14, 53, 4, 8, 6, 0 }, - { -15, 54, 4, 8, 6, 0 }, { -15, 55, 3, 8, 6, 0 }, { -15, 56, 3, 8, 6, 0 }, { -15, 57, 3, 8, 6, 0 }, { -15, 58, 2, 8, 6, 0 }, - { -15, 59, 2, 8, 6, 0 }, { -15, 60, 1, 8, 6, 0 }, { -15, 61, 1, 8, 6, 0 }, { -15, 62, 0, 8, 6, 0 }, { -16, 63, 0, 8, 6, 0 }, + 310, { + { 16, 0, 0, 8, 2, 0 }, { 15, 1, 0, 8, 2, 0 }, { 15, 2, 1, 8, 2, 0 }, { 15, 3, 1, 8, 2, 0 }, { 15, 4, 2, 8, 2, 0 }, + { 15, 5, 2, 8, 2, 0 }, { 15, 6, 3, 8, 2, 0 }, { 15, 7, 3, 8, 2, 0 }, { 15, 8, 3, 8, 2, 0 }, { 15, 9, 4, 8, 2, 0 }, + { 14, 10, 4, 8, 2, 0 }, { 14, 11, 5, 8, 2, 0 }, { 14, 12, 5, 8, 2, 0 }, { 14, 13, 6, 8, 2, 0 }, { 14, 14, 6, 8, 2, 0 }, + { 14, 15, 7, 8, 2, 0 }, { 14, 16, 7, 8, 2, 0 }, { 14, 17, 8, 8, 2, 0 }, { 14, 18, 8, 8, 2, 0 }, { 14, 19, 9, 8, 3, 0 }, + { 13, 20, 9, 8, 3, 0 }, { 13, 21, 10, 8, 3, 0 }, { 13, 22, 10, 8, 3, 0 }, { 13, 23, 11, 8, 3, 0 }, { 13, 24, 11, 8, 3, 0 }, + { 13, 25, 12, 8, 3, 0 }, { 13, 26, 13, 8, 3, 0 }, { 13, 27, 14, 8, 3, 0 }, { 13, 28, 15, 8, 3, 0 }, { 12, 29, 15, 8, 3, 0 }, + { 12, 30, 16, 8, 3, 0 }, { 12, 31, 17, 8, 3, 0 }, { 12, 32, 18, 8, 3, 0 }, { 12, 33, 18, 8, 3, 0 }, { 12, 34, 19, 8, 3, 0 }, + { 12, 35, 20, 8, 3, 0 }, { 12, 36, 21, 8, 3, 0 }, { 11, 37, 22, 8, 3, 0 }, { 11, 38, 23, 8, 3, 0 }, { 11, 39, 24, 8, 3, 0 }, + { 11, 40, 25, 8, 3, 0 }, { 11, 41, 26, 8, 3, 0 }, { 11, 42, 27, 8, 4, 0 }, { 11, 43, 28, 8, 4, 0 }, { 11, 44, 29, 8, 4, 0 }, + { 11, 44, 30, 8, 4, 0 }, { 10, 45, 31, 8, 4, 0 }, { 10, 46, 32, 8, 4, 0 }, { 10, 47, 33, 8, 4, 0 }, { 10, 47, 34, 8, 4, 0 }, + { 10, 48, 35, 8, 4, 0 }, { 10, 49, 36, 8, 4, 0 }, { 10, 50, 37, 8, 4, 0 }, { 10, 50, 38, 8, 4, 0 }, { 10, 51, 39, 8, 4, 0 }, + { 9, 51, 40, 8, 4, 0 }, { 9, 52, 41, 8, 4, 0 }, { 9, 53, 42, 8, 4, 0 }, { 9, 53, 43, 8, 9, 0 }, { 9, 54, 44, 8, 9, 0 }, + { 9, 55, 45, 8, 9, 0 }, { 9, 55, 46, 8, 9, 0 }, { 9, 56, 47, 8, 9, 0 }, { 9, 56, 48, 8, 9, 0 }, { 8, 56, 49, 8, 9, 0 }, + { 8, 57, 50, 8, 9, 0 }, { 8, 57, 51, 8, 9, 0 }, { 8, 57, 52, 8, 9, 0 }, { 8, 58, 53, 8, 9, 0 }, { 8, 58, 54, 8, 9, 0 }, + { 8, 58, 55, 8, 9, 0 }, { 8, 59, 56, 8, 9, 0 }, { 8, 59, 57, 8, 9, 0 }, { 8, 59, 58, 8, 9, 0 }, { 7, 60, 59, 8, 9, 0 }, + { 7, 60, 60, 8, 9, 0 }, { 7, 60, 61, 8, 9, 0 }, { 7, 61, 62, 8, 9, 0 }, { 7, 61, 63, 8, 9, 0 }, { 7, 61, 64, 8, 10, 0 }, + { 7, 61, 65, 8, 10, 0 }, { 7, 62, 66, 8, 10, 0 }, { 7, 62, 67, 8, 10, 0 }, { 7, 62, 68, 8, 10, 0 }, { 6, 62, 69, 8, 10, 0 }, + { 6, 62, 70, 8, 10, 0 }, { 6, 63, 71, 8, 10, 0 }, { 6, 63, 72, 8, 10, 0 }, { 6, 63, 73, 8, 10, 0 }, { 6, 63, 74, 8, 10, 0 }, + { 6, 63, 75, 8, 10, 0 }, { 6, 63, 76, 8, 10, 0 }, { 6, 63, 77, 8, 10, 0 }, { 6, 63, 78, 8, 10, 0 }, { 6, 63, 79, 8, 10, 0 }, + { 5, 63, 80, 8, 10, 0 }, { 5, 63, 81, 8, 10, 0 }, { 5, 63, 82, 8, 10, 0 }, { 5, 63, 83, 8, 10, 0 }, { 5, 63, 84, 8, 10, 0 }, + { 5, 63, 85, 8, 10, 0 }, { 5, 63, 86, 8, 10, 0 }, { 5, 63, 87, 8, 10, 0 }, { 5, 63, 88, 8, 10, 0 }, { 5, 63, 89, 8, 10, 0 }, + { 5, 63, 90, 8, 10, 0 }, { 5, 63, 91, 8, 11, 0 }, { 4, 63, 92, 8, 11, 0 }, { 4, 62, 93, 8, 11, 0 }, { 4, 62, 94, 8, 11, 0 }, + { 4, 62, 95, 8, 11, 0 }, { 4, 62, 96, 8, 11, 0 }, { 4, 62, 97, 8, 11, 0 }, { 4, 61, 98, 8, 11, 0 }, { 4, 61, 99, 8, 11, 0 }, + { 4, 61, 100, 8, 11, 0 }, { 4, 61, 101, 8, 11, 0 }, { 3, 60, 102, 8, 11, 0 }, { 3, 60, 103, 8, 11, 0 }, { 3, 60, 104, 8, 11, 0 }, + { 3, 59, 105, 8, 12, 0 }, { 3, 59, 106, 8, 12, 0 }, { 3, 58, 107, 8, 12, 0 }, { 3, 58, 108, 8, 12, 0 }, { 3, 57, 109, 8, 12, 0 }, + { 3, 57, 110, 8, 12, 0 }, { 3, 57, 111, 8, 12, 0 }, { 2, 56, 112, 8, 12, 0 }, { 2, 56, 113, 8, 12, 0 }, { 2, 55, 114, 8, 13, 0 }, + { 2, 55, 115, 8, 13, 0 }, { 2, 54, 116, 8, 13, 0 }, { 2, 53, 117, 8, 13, 0 }, { 2, 53, 118, 8, 13, 0 }, { 2, 52, 119, 8, 13, 0 }, + { 2, 51, 120, 8, 13, 0 }, { 1, 50, 121, 8, 13, 0 }, { 1, 49, 122, 8, 14, 0 }, { 1, 48, 123, 8, 14, 0 }, { 1, 47, 124, 8, 14, 0 }, + { 1, 46, 124, 8, 14, 0 }, { 1, 45, 125, 8, 14, 0 }, { 1, 44, 126, 8, 15, 0 }, { 1, 43, 127, 8, 15, 0 }, { 0, 42, 128, 8, 15, 0 }, + { 0, 41, 128, 8, 15, 0 }, { 0, 40, 129, 8, 15, 0 }, { 0, 39, 129, 8, 16, 0 }, { 0, 38, 129, 8, 16, 0 }, { 0, 37, 130, 8, 16, 0 }, + { 0, 36, 130, 8, 16, 0 }, { 0, 35, 130, 8, 16, 0 }, { 0, 34, 130, 8, 16, 0 }, { 0, 33, 130, 8, 16, 0 }, { 0, 32, 130, 8, 16, 0 }, + { 0, 31, 130, 8, 16, 0 }, { 0, 30, 130, 8, 16, 0 }, { 0, 29, 130, 8, 16, 0 }, { 0, 28, 130, 8, 16, 0 }, { 0, 27, 130, 8, 23, 0 }, + { 0, 26, 130, 8, 23, 0 }, { 0, 25, 129, 8, 23, 0 }, { 0, 24, 129, 8, 23, 0 }, { 0, 23, 129, 8, 23, 0 }, { 0, 22, 128, 8, 22, 0 }, + { 0, 21, 128, 8, 22, 0 }, { -1, 20, 127, 8, 22, 0 }, { -1, 19, 126, 8, 22, 0 }, { -1, 18, 125, 8, 22, 0 }, { -1, 17, 124, 8, 21, 0 }, + { -1, 16, 124, 8, 21, 0 }, { -1, 15, 123, 8, 21, 0 }, { -1, 14, 122, 8, 21, 0 }, { -1, 13, 121, 8, 21, 0 }, { -2, 12, 120, 8, 21, 0 }, + { -2, 11, 119, 8, 21, 0 }, { -2, 10, 118, 8, 21, 0 }, { -2, 10, 117, 8, 20, 0 }, { -2, 9, 116, 8, 20, 0 }, { -2, 8, 115, 8, 20, 0 }, + { -2, 8, 114, 8, 20, 0 }, { -2, 7, 113, 8, 20, 0 }, { -2, 7, 112, 8, 20, 0 }, { -3, 6, 111, 8, 20, 0 }, { -3, 6, 110, 8, 20, 0 }, + { -3, 6, 109, 8, 20, 0 }, { -3, 5, 108, 8, 19, 0 }, { -3, 5, 107, 8, 19, 0 }, { -3, 4, 106, 8, 19, 0 }, { -3, 4, 105, 8, 19, 0 }, + { -3, 3, 104, 8, 19, 0 }, { -3, 3, 103, 8, 19, 0 }, { -3, 3, 102, 8, 19, 0 }, { -4, 2, 101, 8, 19, 0 }, { -4, 2, 100, 8, 19, 0 }, + { -4, 2, 99, 8, 19, 0 }, { -4, 2, 98, 8, 19, 0 }, { -4, 1, 97, 8, 19, 0 }, { -4, 1, 96, 8, 19, 0 }, { -4, 1, 95, 8, 19, 0 }, + { -4, 1, 94, 8, 18, 0 }, { -4, 1, 93, 8, 18, 0 }, { -4, 0, 92, 8, 18, 0 }, { -5, 0, 91, 8, 18, 0 }, { -5, 0, 90, 8, 18, 0 }, + { -5, 0, 89, 8, 18, 0 }, { -5, 0, 88, 8, 18, 0 }, { -5, 0, 87, 8, 18, 0 }, { -5, 0, 86, 8, 18, 0 }, { -5, 0, 85, 8, 18, 0 }, + { -5, 0, 84, 8, 18, 0 }, { -5, 0, 83, 8, 18, 0 }, { -5, 0, 82, 8, 18, 0 }, { -5, 0, 81, 8, 18, 0 }, { -5, 0, 80, 8, 18, 0 }, + { -6, 0, 79, 8, 18, 0 }, { -6, 0, 78, 8, 18, 0 }, { -6, 0, 77, 8, 18, 0 }, { -6, 0, 76, 8, 18, 0 }, { -6, 0, 75, 8, 18, 0 }, + { -6, 0, 74, 8, 18, 0 }, { -6, 0, 73, 8, 18, 0 }, { -6, 0, 72, 8, 18, 0 }, { -6, 0, 71, 8, 18, 0 }, { -6, 1, 70, 8, 18, 0 }, + { -6, 1, 69, 8, 18, 0 }, { -7, 1, 68, 8, 18, 0 }, { -7, 1, 67, 8, 17, 0 }, { -7, 1, 66, 8, 17, 0 }, { -7, 2, 65, 8, 17, 0 }, + { -7, 2, 64, 8, 17, 0 }, { -7, 2, 63, 8, 17, 0 }, { -7, 2, 62, 8, 17, 0 }, { -7, 3, 61, 8, 17, 0 }, { -7, 3, 60, 8, 17, 0 }, + { -7, 3, 59, 8, 17, 0 }, { -8, 4, 58, 8, 17, 0 }, { -8, 4, 57, 8, 17, 0 }, { -8, 4, 56, 8, 17, 0 }, { -8, 5, 55, 8, 17, 0 }, + { -8, 5, 54, 8, 17, 0 }, { -8, 5, 53, 8, 17, 0 }, { -8, 6, 52, 8, 17, 0 }, { -8, 6, 51, 8, 17, 0 }, { -8, 6, 50, 8, 17, 0 }, + { -8, 7, 49, 8, 17, 0 }, { -9, 7, 48, 8, 17, 0 }, { -9, 7, 47, 8, 17, 0 }, { -9, 8, 46, 8, 8, 0 }, { -9, 8, 45, 8, 8, 0 }, + { -9, 9, 44, 8, 8, 0 }, { -9, 10, 43, 8, 8, 0 }, { -9, 10, 42, 8, 8, 0 }, { -9, 11, 41, 8, 8, 0 }, { -9, 12, 40, 8, 8, 0 }, + { -9, 12, 39, 8, 8, 0 }, { -10, 13, 38, 8, 8, 0 }, { -10, 13, 37, 8, 8, 0 }, { -10, 14, 36, 8, 8, 0 }, { -10, 15, 35, 8, 8, 0 }, + { -10, 16, 34, 8, 8, 0 }, { -10, 16, 33, 8, 8, 0 }, { -10, 17, 32, 8, 8, 0 }, { -10, 18, 31, 8, 8, 0 }, { -11, 19, 30, 8, 7, 0 }, + { -11, 19, 29, 8, 7, 0 }, { -11, 20, 28, 8, 7, 0 }, { -11, 21, 27, 8, 7, 0 }, { -11, 22, 26, 8, 7, 0 }, { -11, 23, 25, 8, 7, 0 }, + { -11, 24, 24, 8, 7, 0 }, { -11, 25, 23, 8, 7, 0 }, { -11, 26, 22, 8, 7, 0 }, { -12, 27, 21, 8, 7, 0 }, { -12, 28, 20, 8, 7, 0 }, + { -12, 29, 19, 8, 7, 0 }, { -12, 30, 18, 8, 7, 0 }, { -12, 31, 18, 8, 7, 0 }, { -12, 32, 17, 8, 7, 0 }, { -12, 33, 16, 8, 7, 0 }, + { -12, 34, 15, 8, 7, 0 }, { -13, 35, 15, 8, 7, 0 }, { -13, 36, 14, 8, 7, 0 }, { -13, 37, 13, 8, 7, 0 }, { -13, 38, 12, 8, 7, 0 }, + { -13, 39, 11, 8, 7, 0 }, { -13, 40, 11, 8, 7, 0 }, { -13, 41, 10, 8, 6, 0 }, { -13, 42, 10, 8, 6, 0 }, { -13, 43, 9, 8, 6, 0 }, + { -14, 44, 9, 8, 6, 0 }, { -14, 45, 8, 8, 6, 0 }, { -14, 46, 8, 8, 6, 0 }, { -14, 47, 7, 8, 6, 0 }, { -14, 48, 7, 8, 6, 0 }, + { -14, 49, 6, 8, 6, 0 }, { -14, 50, 6, 8, 6, 0 }, { -14, 51, 5, 8, 6, 0 }, { -14, 52, 5, 8, 6, 0 }, { -14, 53, 4, 8, 6, 0 }, + { -15, 54, 4, 8, 6, 0 }, { -15, 55, 3, 8, 6, 0 }, { -15, 56, 3, 8, 6, 0 }, { -15, 57, 3, 8, 6, 0 }, { -15, 58, 2, 8, 6, 0 }, + { -15, 59, 2, 8, 6, 0 }, { -15, 60, 1, 8, 6, 0 }, { -15, 61, 1, 8, 6, 0 }, { -15, 62, 0, 8, 6, 0 }, { -16, 63, 0, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D5A8E = { - 310, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 3, 16, 2, 0 }, { 9, 16, 4, 16, 2, 0 }, - { 10, 17, 4, 16, 2, 0 }, { 11, 17, 5, 16, 2, 0 }, { 12, 17, 5, 16, 2, 0 }, { 13, 17, 6, 16, 2, 0 }, { 14, 17, 6, 16, 2, 0 }, - { 15, 17, 7, 16, 2, 0 }, { 16, 17, 7, 16, 2, 0 }, { 17, 17, 8, 16, 2, 0 }, { 18, 17, 8, 16, 2, 0 }, { 19, 17, 9, 16, 3, 0 }, - { 20, 18, 9, 16, 3, 0 }, { 21, 18, 10, 16, 3, 0 }, { 22, 18, 10, 16, 3, 0 }, { 23, 18, 11, 16, 3, 0 }, { 24, 18, 11, 16, 3, 0 }, - { 25, 18, 12, 16, 3, 0 }, { 26, 18, 13, 16, 3, 0 }, { 27, 18, 14, 16, 3, 0 }, { 28, 18, 15, 16, 3, 0 }, { 29, 19, 15, 16, 3, 0 }, - { 30, 19, 16, 16, 3, 0 }, { 31, 19, 17, 16, 3, 0 }, { 32, 19, 18, 16, 3, 0 }, { 33, 19, 18, 16, 3, 0 }, { 34, 19, 19, 16, 3, 0 }, - { 35, 19, 20, 16, 3, 0 }, { 36, 19, 21, 16, 3, 0 }, { 37, 20, 22, 16, 3, 0 }, { 38, 20, 23, 16, 3, 0 }, { 39, 20, 24, 16, 3, 0 }, - { 40, 20, 25, 16, 3, 0 }, { 41, 20, 26, 16, 3, 0 }, { 42, 20, 27, 16, 4, 0 }, { 43, 20, 28, 16, 4, 0 }, { 44, 20, 29, 16, 4, 0 }, - { 44, 20, 30, 16, 4, 0 }, { 45, 21, 31, 16, 4, 0 }, { 46, 21, 32, 16, 4, 0 }, { 47, 21, 33, 16, 4, 0 }, { 47, 21, 34, 16, 4, 0 }, - { 48, 21, 35, 16, 4, 0 }, { 49, 21, 36, 16, 4, 0 }, { 50, 21, 37, 16, 4, 0 }, { 50, 21, 38, 16, 4, 0 }, { 51, 22, 39, 16, 4, 0 }, - { 51, 22, 40, 16, 4, 0 }, { 52, 22, 41, 16, 4, 0 }, { 53, 22, 42, 16, 4, 0 }, { 53, 22, 43, 16, 9, 0 }, { 54, 22, 44, 16, 9, 0 }, - { 55, 22, 45, 16, 9, 0 }, { 55, 22, 46, 16, 9, 0 }, { 56, 22, 47, 16, 9, 0 }, { 56, 22, 48, 16, 9, 0 }, { 56, 23, 49, 16, 9, 0 }, - { 57, 23, 50, 16, 9, 0 }, { 57, 23, 51, 16, 9, 0 }, { 57, 23, 52, 16, 9, 0 }, { 58, 23, 53, 16, 9, 0 }, { 58, 23, 54, 16, 9, 0 }, - { 58, 23, 55, 16, 9, 0 }, { 59, 23, 56, 16, 9, 0 }, { 59, 23, 57, 16, 9, 0 }, { 59, 23, 58, 16, 9, 0 }, { 60, 24, 59, 16, 9, 0 }, - { 60, 24, 60, 16, 9, 0 }, { 60, 24, 61, 16, 9, 0 }, { 61, 24, 62, 16, 9, 0 }, { 61, 24, 63, 16, 9, 0 }, { 61, 24, 64, 16, 10, 0 }, - { 61, 24, 65, 16, 10, 0 }, { 62, 24, 66, 16, 10, 0 }, { 62, 24, 67, 16, 10, 0 }, { 62, 24, 68, 16, 10, 0 }, { 62, 25, 69, 16, 10, 0 }, - { 62, 25, 70, 16, 10, 0 }, { 63, 25, 71, 16, 10, 0 }, { 63, 25, 72, 16, 10, 0 }, { 63, 25, 73, 16, 10, 0 }, { 63, 25, 74, 16, 10, 0 }, - { 63, 25, 75, 16, 10, 0 }, { 63, 25, 76, 16, 10, 0 }, { 63, 25, 77, 16, 10, 0 }, { 63, 25, 78, 16, 10, 0 }, { 63, 25, 79, 16, 10, 0 }, - { 63, 26, 80, 16, 10, 0 }, { 63, 26, 81, 16, 10, 0 }, { 63, 26, 82, 16, 10, 0 }, { 63, 26, 83, 16, 10, 0 }, { 63, 26, 84, 16, 10, 0 }, - { 63, 26, 85, 16, 10, 0 }, { 63, 26, 86, 16, 10, 0 }, { 63, 26, 87, 16, 10, 0 }, { 63, 26, 88, 16, 10, 0 }, { 63, 26, 89, 16, 10, 0 }, - { 63, 26, 90, 16, 10, 0 }, { 63, 26, 91, 16, 11, 0 }, { 63, 27, 92, 16, 11, 0 }, { 62, 27, 93, 16, 11, 0 }, { 62, 27, 94, 16, 11, 0 }, - { 62, 27, 95, 16, 11, 0 }, { 62, 27, 96, 16, 11, 0 }, { 62, 27, 97, 16, 11, 0 }, { 61, 27, 98, 16, 11, 0 }, { 61, 27, 99, 16, 11, 0 }, - { 61, 27, 100, 16, 11, 0 }, { 61, 27, 101, 16, 11, 0 }, { 60, 28, 102, 16, 11, 0 }, { 60, 28, 103, 16, 11, 0 }, { 60, 28, 104, 16, 11, 0 }, - { 59, 28, 105, 16, 12, 0 }, { 59, 28, 106, 16, 12, 0 }, { 58, 28, 107, 16, 12, 0 }, { 58, 28, 108, 16, 12, 0 }, { 57, 28, 109, 16, 12, 0 }, - { 57, 28, 110, 16, 12, 0 }, { 57, 28, 111, 16, 12, 0 }, { 56, 29, 112, 16, 12, 0 }, { 56, 29, 113, 16, 12, 0 }, { 55, 29, 114, 16, 13, 0 }, - { 55, 29, 115, 16, 13, 0 }, { 54, 29, 116, 16, 13, 0 }, { 53, 29, 117, 16, 13, 0 }, { 53, 29, 118, 16, 13, 0 }, { 52, 29, 119, 16, 13, 0 }, - { 51, 29, 120, 16, 13, 0 }, { 50, 30, 121, 16, 13, 0 }, { 49, 30, 122, 16, 14, 0 }, { 48, 30, 123, 16, 14, 0 }, { 47, 30, 124, 16, 14, 0 }, - { 46, 30, 124, 16, 14, 0 }, { 45, 30, 125, 16, 14, 0 }, { 44, 30, 126, 16, 15, 0 }, { 43, 30, 127, 16, 15, 0 }, { 42, 31, 128, 16, 15, 0 }, - { 41, 31, 128, 16, 15, 0 }, { 40, 31, 129, 16, 15, 0 }, { 39, 31, 129, 16, 16, 0 }, { 38, 31, 129, 16, 16, 0 }, { 37, 31, 130, 16, 16, 0 }, - { 36, 31, 130, 16, 16, 0 }, { 35, 31, 130, 16, 16, 0 }, { 34, 31, 130, 16, 16, 0 }, { 33, 31, 130, 16, 16, 0 }, { 32, 31, 130, 16, 16, 0 }, - { 31, 32, 130, 16, 16, 0 }, { 30, 32, 130, 16, 16, 0 }, { 29, 32, 130, 16, 16, 0 }, { 28, 32, 130, 16, 16, 0 }, { 27, 32, 130, 16, 23, 0 }, - { 26, 32, 130, 16, 23, 0 }, { 25, 32, 129, 16, 23, 0 }, { 24, 32, 129, 16, 23, 0 }, { 23, 32, 129, 16, 23, 0 }, { 22, 32, 128, 16, 22, 0 }, - { 21, 32, 128, 16, 22, 0 }, { 20, 33, 127, 16, 22, 0 }, { 19, 33, 126, 16, 22, 0 }, { 18, 33, 125, 16, 22, 0 }, { 17, 33, 124, 16, 21, 0 }, - { 16, 33, 124, 16, 21, 0 }, { 15, 33, 123, 16, 21, 0 }, { 14, 33, 122, 16, 21, 0 }, { 13, 33, 121, 16, 21, 0 }, { 12, 34, 120, 16, 21, 0 }, - { 11, 34, 119, 16, 21, 0 }, { 10, 34, 118, 16, 21, 0 }, { 10, 34, 117, 16, 20, 0 }, { 9, 34, 116, 16, 20, 0 }, { 8, 34, 115, 16, 20, 0 }, - { 8, 34, 114, 16, 20, 0 }, { 7, 34, 113, 16, 20, 0 }, { 7, 34, 112, 16, 20, 0 }, { 6, 35, 111, 16, 20, 0 }, { 6, 35, 110, 16, 20, 0 }, - { 6, 35, 109, 16, 20, 0 }, { 5, 35, 108, 16, 19, 0 }, { 5, 35, 107, 16, 19, 0 }, { 4, 35, 106, 16, 19, 0 }, { 4, 35, 105, 16, 19, 0 }, - { 3, 35, 104, 16, 19, 0 }, { 3, 35, 103, 16, 19, 0 }, { 3, 35, 102, 16, 19, 0 }, { 2, 36, 101, 16, 19, 0 }, { 2, 36, 100, 16, 19, 0 }, - { 2, 36, 99, 16, 19, 0 }, { 2, 36, 98, 16, 19, 0 }, { 1, 36, 97, 16, 19, 0 }, { 1, 36, 96, 16, 19, 0 }, { 1, 36, 95, 16, 19, 0 }, - { 1, 36, 94, 16, 18, 0 }, { 1, 36, 93, 16, 18, 0 }, { 0, 36, 92, 16, 18, 0 }, { 0, 37, 91, 16, 18, 0 }, { 0, 37, 90, 16, 18, 0 }, - { 0, 37, 89, 16, 18, 0 }, { 0, 37, 88, 16, 18, 0 }, { 0, 37, 87, 16, 18, 0 }, { 0, 37, 86, 16, 18, 0 }, { 0, 37, 85, 16, 18, 0 }, - { 0, 37, 84, 16, 18, 0 }, { 0, 37, 83, 16, 18, 0 }, { 0, 37, 82, 16, 18, 0 }, { 0, 37, 81, 16, 18, 0 }, { 0, 37, 80, 16, 18, 0 }, - { 0, 38, 79, 16, 18, 0 }, { 0, 38, 78, 16, 18, 0 }, { 0, 38, 77, 16, 18, 0 }, { 0, 38, 76, 16, 18, 0 }, { 0, 38, 75, 16, 18, 0 }, - { 0, 38, 74, 16, 18, 0 }, { 0, 38, 73, 16, 18, 0 }, { 0, 38, 72, 16, 18, 0 }, { 0, 38, 71, 16, 18, 0 }, { 1, 38, 70, 16, 18, 0 }, - { 1, 38, 69, 16, 18, 0 }, { 1, 39, 68, 16, 18, 0 }, { 1, 39, 67, 16, 17, 0 }, { 1, 39, 66, 16, 17, 0 }, { 2, 39, 65, 16, 17, 0 }, - { 2, 39, 64, 16, 17, 0 }, { 2, 39, 63, 16, 17, 0 }, { 2, 39, 62, 16, 17, 0 }, { 3, 39, 61, 16, 17, 0 }, { 3, 39, 60, 16, 17, 0 }, - { 3, 39, 59, 16, 17, 0 }, { 4, 40, 58, 16, 17, 0 }, { 4, 40, 57, 16, 17, 0 }, { 4, 40, 56, 16, 17, 0 }, { 5, 40, 55, 16, 17, 0 }, - { 5, 40, 54, 16, 17, 0 }, { 5, 40, 53, 16, 17, 0 }, { 6, 40, 52, 16, 17, 0 }, { 6, 40, 51, 16, 17, 0 }, { 6, 40, 50, 16, 17, 0 }, - { 7, 40, 49, 16, 17, 0 }, { 7, 41, 48, 16, 17, 0 }, { 7, 41, 47, 16, 17, 0 }, { 8, 41, 46, 16, 8, 0 }, { 8, 41, 45, 16, 8, 0 }, - { 9, 41, 44, 16, 8, 0 }, { 10, 41, 43, 16, 8, 0 }, { 10, 41, 42, 16, 8, 0 }, { 11, 41, 41, 16, 8, 0 }, { 12, 41, 40, 16, 8, 0 }, - { 12, 41, 39, 16, 8, 0 }, { 13, 42, 38, 16, 8, 0 }, { 13, 42, 37, 16, 8, 0 }, { 14, 42, 36, 16, 8, 0 }, { 15, 42, 35, 16, 8, 0 }, - { 16, 42, 34, 16, 8, 0 }, { 16, 42, 33, 16, 8, 0 }, { 17, 42, 32, 16, 8, 0 }, { 18, 42, 31, 16, 8, 0 }, { 19, 43, 30, 16, 7, 0 }, - { 19, 43, 29, 16, 7, 0 }, { 20, 43, 28, 16, 7, 0 }, { 21, 43, 27, 16, 7, 0 }, { 22, 43, 26, 16, 7, 0 }, { 23, 43, 25, 16, 7, 0 }, - { 24, 43, 24, 16, 7, 0 }, { 25, 43, 23, 16, 7, 0 }, { 26, 43, 22, 16, 7, 0 }, { 27, 44, 21, 16, 7, 0 }, { 28, 44, 20, 16, 7, 0 }, - { 29, 44, 19, 16, 7, 0 }, { 30, 44, 18, 16, 7, 0 }, { 31, 44, 18, 16, 7, 0 }, { 32, 44, 17, 16, 7, 0 }, { 33, 44, 16, 16, 7, 0 }, - { 34, 44, 15, 16, 7, 0 }, { 35, 45, 15, 16, 7, 0 }, { 36, 45, 14, 16, 7, 0 }, { 37, 45, 13, 16, 7, 0 }, { 38, 45, 12, 16, 7, 0 }, - { 39, 45, 11, 16, 7, 0 }, { 40, 45, 11, 16, 7, 0 }, { 41, 45, 10, 16, 6, 0 }, { 42, 45, 10, 16, 6, 0 }, { 43, 45, 9, 16, 6, 0 }, - { 44, 46, 9, 16, 6, 0 }, { 45, 46, 8, 16, 6, 0 }, { 46, 46, 8, 16, 6, 0 }, { 47, 46, 7, 16, 6, 0 }, { 48, 46, 7, 16, 6, 0 }, - { 49, 46, 6, 16, 6, 0 }, { 50, 46, 6, 16, 6, 0 }, { 51, 46, 5, 16, 6, 0 }, { 52, 46, 5, 16, 6, 0 }, { 53, 46, 4, 16, 6, 0 }, - { 54, 47, 4, 16, 6, 0 }, { 55, 47, 3, 16, 6, 0 }, { 56, 47, 3, 16, 6, 0 }, { 57, 47, 3, 16, 6, 0 }, { 58, 47, 2, 16, 6, 0 }, - { 59, 47, 2, 16, 6, 0 }, { 60, 47, 1, 16, 6, 0 }, { 61, 47, 1, 16, 6, 0 }, { 62, 47, 0, 16, 6, 0 }, { 63, 48, 0, 16, 6, 0 }, + 310, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 3, 16, 2, 0 }, { 9, 16, 4, 16, 2, 0 }, + { 10, 17, 4, 16, 2, 0 }, { 11, 17, 5, 16, 2, 0 }, { 12, 17, 5, 16, 2, 0 }, { 13, 17, 6, 16, 2, 0 }, { 14, 17, 6, 16, 2, 0 }, + { 15, 17, 7, 16, 2, 0 }, { 16, 17, 7, 16, 2, 0 }, { 17, 17, 8, 16, 2, 0 }, { 18, 17, 8, 16, 2, 0 }, { 19, 17, 9, 16, 3, 0 }, + { 20, 18, 9, 16, 3, 0 }, { 21, 18, 10, 16, 3, 0 }, { 22, 18, 10, 16, 3, 0 }, { 23, 18, 11, 16, 3, 0 }, { 24, 18, 11, 16, 3, 0 }, + { 25, 18, 12, 16, 3, 0 }, { 26, 18, 13, 16, 3, 0 }, { 27, 18, 14, 16, 3, 0 }, { 28, 18, 15, 16, 3, 0 }, { 29, 19, 15, 16, 3, 0 }, + { 30, 19, 16, 16, 3, 0 }, { 31, 19, 17, 16, 3, 0 }, { 32, 19, 18, 16, 3, 0 }, { 33, 19, 18, 16, 3, 0 }, { 34, 19, 19, 16, 3, 0 }, + { 35, 19, 20, 16, 3, 0 }, { 36, 19, 21, 16, 3, 0 }, { 37, 20, 22, 16, 3, 0 }, { 38, 20, 23, 16, 3, 0 }, { 39, 20, 24, 16, 3, 0 }, + { 40, 20, 25, 16, 3, 0 }, { 41, 20, 26, 16, 3, 0 }, { 42, 20, 27, 16, 4, 0 }, { 43, 20, 28, 16, 4, 0 }, { 44, 20, 29, 16, 4, 0 }, + { 44, 20, 30, 16, 4, 0 }, { 45, 21, 31, 16, 4, 0 }, { 46, 21, 32, 16, 4, 0 }, { 47, 21, 33, 16, 4, 0 }, { 47, 21, 34, 16, 4, 0 }, + { 48, 21, 35, 16, 4, 0 }, { 49, 21, 36, 16, 4, 0 }, { 50, 21, 37, 16, 4, 0 }, { 50, 21, 38, 16, 4, 0 }, { 51, 22, 39, 16, 4, 0 }, + { 51, 22, 40, 16, 4, 0 }, { 52, 22, 41, 16, 4, 0 }, { 53, 22, 42, 16, 4, 0 }, { 53, 22, 43, 16, 9, 0 }, { 54, 22, 44, 16, 9, 0 }, + { 55, 22, 45, 16, 9, 0 }, { 55, 22, 46, 16, 9, 0 }, { 56, 22, 47, 16, 9, 0 }, { 56, 22, 48, 16, 9, 0 }, { 56, 23, 49, 16, 9, 0 }, + { 57, 23, 50, 16, 9, 0 }, { 57, 23, 51, 16, 9, 0 }, { 57, 23, 52, 16, 9, 0 }, { 58, 23, 53, 16, 9, 0 }, { 58, 23, 54, 16, 9, 0 }, + { 58, 23, 55, 16, 9, 0 }, { 59, 23, 56, 16, 9, 0 }, { 59, 23, 57, 16, 9, 0 }, { 59, 23, 58, 16, 9, 0 }, { 60, 24, 59, 16, 9, 0 }, + { 60, 24, 60, 16, 9, 0 }, { 60, 24, 61, 16, 9, 0 }, { 61, 24, 62, 16, 9, 0 }, { 61, 24, 63, 16, 9, 0 }, { 61, 24, 64, 16, 10, 0 }, + { 61, 24, 65, 16, 10, 0 }, { 62, 24, 66, 16, 10, 0 }, { 62, 24, 67, 16, 10, 0 }, { 62, 24, 68, 16, 10, 0 }, { 62, 25, 69, 16, 10, 0 }, + { 62, 25, 70, 16, 10, 0 }, { 63, 25, 71, 16, 10, 0 }, { 63, 25, 72, 16, 10, 0 }, { 63, 25, 73, 16, 10, 0 }, { 63, 25, 74, 16, 10, 0 }, + { 63, 25, 75, 16, 10, 0 }, { 63, 25, 76, 16, 10, 0 }, { 63, 25, 77, 16, 10, 0 }, { 63, 25, 78, 16, 10, 0 }, { 63, 25, 79, 16, 10, 0 }, + { 63, 26, 80, 16, 10, 0 }, { 63, 26, 81, 16, 10, 0 }, { 63, 26, 82, 16, 10, 0 }, { 63, 26, 83, 16, 10, 0 }, { 63, 26, 84, 16, 10, 0 }, + { 63, 26, 85, 16, 10, 0 }, { 63, 26, 86, 16, 10, 0 }, { 63, 26, 87, 16, 10, 0 }, { 63, 26, 88, 16, 10, 0 }, { 63, 26, 89, 16, 10, 0 }, + { 63, 26, 90, 16, 10, 0 }, { 63, 26, 91, 16, 11, 0 }, { 63, 27, 92, 16, 11, 0 }, { 62, 27, 93, 16, 11, 0 }, { 62, 27, 94, 16, 11, 0 }, + { 62, 27, 95, 16, 11, 0 }, { 62, 27, 96, 16, 11, 0 }, { 62, 27, 97, 16, 11, 0 }, { 61, 27, 98, 16, 11, 0 }, { 61, 27, 99, 16, 11, 0 }, + { 61, 27, 100, 16, 11, 0 }, { 61, 27, 101, 16, 11, 0 }, { 60, 28, 102, 16, 11, 0 }, { 60, 28, 103, 16, 11, 0 }, { 60, 28, 104, 16, 11, 0 }, + { 59, 28, 105, 16, 12, 0 }, { 59, 28, 106, 16, 12, 0 }, { 58, 28, 107, 16, 12, 0 }, { 58, 28, 108, 16, 12, 0 }, { 57, 28, 109, 16, 12, 0 }, + { 57, 28, 110, 16, 12, 0 }, { 57, 28, 111, 16, 12, 0 }, { 56, 29, 112, 16, 12, 0 }, { 56, 29, 113, 16, 12, 0 }, { 55, 29, 114, 16, 13, 0 }, + { 55, 29, 115, 16, 13, 0 }, { 54, 29, 116, 16, 13, 0 }, { 53, 29, 117, 16, 13, 0 }, { 53, 29, 118, 16, 13, 0 }, { 52, 29, 119, 16, 13, 0 }, + { 51, 29, 120, 16, 13, 0 }, { 50, 30, 121, 16, 13, 0 }, { 49, 30, 122, 16, 14, 0 }, { 48, 30, 123, 16, 14, 0 }, { 47, 30, 124, 16, 14, 0 }, + { 46, 30, 124, 16, 14, 0 }, { 45, 30, 125, 16, 14, 0 }, { 44, 30, 126, 16, 15, 0 }, { 43, 30, 127, 16, 15, 0 }, { 42, 31, 128, 16, 15, 0 }, + { 41, 31, 128, 16, 15, 0 }, { 40, 31, 129, 16, 15, 0 }, { 39, 31, 129, 16, 16, 0 }, { 38, 31, 129, 16, 16, 0 }, { 37, 31, 130, 16, 16, 0 }, + { 36, 31, 130, 16, 16, 0 }, { 35, 31, 130, 16, 16, 0 }, { 34, 31, 130, 16, 16, 0 }, { 33, 31, 130, 16, 16, 0 }, { 32, 31, 130, 16, 16, 0 }, + { 31, 32, 130, 16, 16, 0 }, { 30, 32, 130, 16, 16, 0 }, { 29, 32, 130, 16, 16, 0 }, { 28, 32, 130, 16, 16, 0 }, { 27, 32, 130, 16, 23, 0 }, + { 26, 32, 130, 16, 23, 0 }, { 25, 32, 129, 16, 23, 0 }, { 24, 32, 129, 16, 23, 0 }, { 23, 32, 129, 16, 23, 0 }, { 22, 32, 128, 16, 22, 0 }, + { 21, 32, 128, 16, 22, 0 }, { 20, 33, 127, 16, 22, 0 }, { 19, 33, 126, 16, 22, 0 }, { 18, 33, 125, 16, 22, 0 }, { 17, 33, 124, 16, 21, 0 }, + { 16, 33, 124, 16, 21, 0 }, { 15, 33, 123, 16, 21, 0 }, { 14, 33, 122, 16, 21, 0 }, { 13, 33, 121, 16, 21, 0 }, { 12, 34, 120, 16, 21, 0 }, + { 11, 34, 119, 16, 21, 0 }, { 10, 34, 118, 16, 21, 0 }, { 10, 34, 117, 16, 20, 0 }, { 9, 34, 116, 16, 20, 0 }, { 8, 34, 115, 16, 20, 0 }, + { 8, 34, 114, 16, 20, 0 }, { 7, 34, 113, 16, 20, 0 }, { 7, 34, 112, 16, 20, 0 }, { 6, 35, 111, 16, 20, 0 }, { 6, 35, 110, 16, 20, 0 }, + { 6, 35, 109, 16, 20, 0 }, { 5, 35, 108, 16, 19, 0 }, { 5, 35, 107, 16, 19, 0 }, { 4, 35, 106, 16, 19, 0 }, { 4, 35, 105, 16, 19, 0 }, + { 3, 35, 104, 16, 19, 0 }, { 3, 35, 103, 16, 19, 0 }, { 3, 35, 102, 16, 19, 0 }, { 2, 36, 101, 16, 19, 0 }, { 2, 36, 100, 16, 19, 0 }, + { 2, 36, 99, 16, 19, 0 }, { 2, 36, 98, 16, 19, 0 }, { 1, 36, 97, 16, 19, 0 }, { 1, 36, 96, 16, 19, 0 }, { 1, 36, 95, 16, 19, 0 }, + { 1, 36, 94, 16, 18, 0 }, { 1, 36, 93, 16, 18, 0 }, { 0, 36, 92, 16, 18, 0 }, { 0, 37, 91, 16, 18, 0 }, { 0, 37, 90, 16, 18, 0 }, + { 0, 37, 89, 16, 18, 0 }, { 0, 37, 88, 16, 18, 0 }, { 0, 37, 87, 16, 18, 0 }, { 0, 37, 86, 16, 18, 0 }, { 0, 37, 85, 16, 18, 0 }, + { 0, 37, 84, 16, 18, 0 }, { 0, 37, 83, 16, 18, 0 }, { 0, 37, 82, 16, 18, 0 }, { 0, 37, 81, 16, 18, 0 }, { 0, 37, 80, 16, 18, 0 }, + { 0, 38, 79, 16, 18, 0 }, { 0, 38, 78, 16, 18, 0 }, { 0, 38, 77, 16, 18, 0 }, { 0, 38, 76, 16, 18, 0 }, { 0, 38, 75, 16, 18, 0 }, + { 0, 38, 74, 16, 18, 0 }, { 0, 38, 73, 16, 18, 0 }, { 0, 38, 72, 16, 18, 0 }, { 0, 38, 71, 16, 18, 0 }, { 1, 38, 70, 16, 18, 0 }, + { 1, 38, 69, 16, 18, 0 }, { 1, 39, 68, 16, 18, 0 }, { 1, 39, 67, 16, 17, 0 }, { 1, 39, 66, 16, 17, 0 }, { 2, 39, 65, 16, 17, 0 }, + { 2, 39, 64, 16, 17, 0 }, { 2, 39, 63, 16, 17, 0 }, { 2, 39, 62, 16, 17, 0 }, { 3, 39, 61, 16, 17, 0 }, { 3, 39, 60, 16, 17, 0 }, + { 3, 39, 59, 16, 17, 0 }, { 4, 40, 58, 16, 17, 0 }, { 4, 40, 57, 16, 17, 0 }, { 4, 40, 56, 16, 17, 0 }, { 5, 40, 55, 16, 17, 0 }, + { 5, 40, 54, 16, 17, 0 }, { 5, 40, 53, 16, 17, 0 }, { 6, 40, 52, 16, 17, 0 }, { 6, 40, 51, 16, 17, 0 }, { 6, 40, 50, 16, 17, 0 }, + { 7, 40, 49, 16, 17, 0 }, { 7, 41, 48, 16, 17, 0 }, { 7, 41, 47, 16, 17, 0 }, { 8, 41, 46, 16, 8, 0 }, { 8, 41, 45, 16, 8, 0 }, + { 9, 41, 44, 16, 8, 0 }, { 10, 41, 43, 16, 8, 0 }, { 10, 41, 42, 16, 8, 0 }, { 11, 41, 41, 16, 8, 0 }, { 12, 41, 40, 16, 8, 0 }, + { 12, 41, 39, 16, 8, 0 }, { 13, 42, 38, 16, 8, 0 }, { 13, 42, 37, 16, 8, 0 }, { 14, 42, 36, 16, 8, 0 }, { 15, 42, 35, 16, 8, 0 }, + { 16, 42, 34, 16, 8, 0 }, { 16, 42, 33, 16, 8, 0 }, { 17, 42, 32, 16, 8, 0 }, { 18, 42, 31, 16, 8, 0 }, { 19, 43, 30, 16, 7, 0 }, + { 19, 43, 29, 16, 7, 0 }, { 20, 43, 28, 16, 7, 0 }, { 21, 43, 27, 16, 7, 0 }, { 22, 43, 26, 16, 7, 0 }, { 23, 43, 25, 16, 7, 0 }, + { 24, 43, 24, 16, 7, 0 }, { 25, 43, 23, 16, 7, 0 }, { 26, 43, 22, 16, 7, 0 }, { 27, 44, 21, 16, 7, 0 }, { 28, 44, 20, 16, 7, 0 }, + { 29, 44, 19, 16, 7, 0 }, { 30, 44, 18, 16, 7, 0 }, { 31, 44, 18, 16, 7, 0 }, { 32, 44, 17, 16, 7, 0 }, { 33, 44, 16, 16, 7, 0 }, + { 34, 44, 15, 16, 7, 0 }, { 35, 45, 15, 16, 7, 0 }, { 36, 45, 14, 16, 7, 0 }, { 37, 45, 13, 16, 7, 0 }, { 38, 45, 12, 16, 7, 0 }, + { 39, 45, 11, 16, 7, 0 }, { 40, 45, 11, 16, 7, 0 }, { 41, 45, 10, 16, 6, 0 }, { 42, 45, 10, 16, 6, 0 }, { 43, 45, 9, 16, 6, 0 }, + { 44, 46, 9, 16, 6, 0 }, { 45, 46, 8, 16, 6, 0 }, { 46, 46, 8, 16, 6, 0 }, { 47, 46, 7, 16, 6, 0 }, { 48, 46, 7, 16, 6, 0 }, + { 49, 46, 6, 16, 6, 0 }, { 50, 46, 6, 16, 6, 0 }, { 51, 46, 5, 16, 6, 0 }, { 52, 46, 5, 16, 6, 0 }, { 53, 46, 4, 16, 6, 0 }, + { 54, 47, 4, 16, 6, 0 }, { 55, 47, 3, 16, 6, 0 }, { 56, 47, 3, 16, 6, 0 }, { 57, 47, 3, 16, 6, 0 }, { 58, 47, 2, 16, 6, 0 }, + { 59, 47, 2, 16, 6, 0 }, { 60, 47, 1, 16, 6, 0 }, { 61, 47, 1, 16, 6, 0 }, { 62, 47, 0, 16, 6, 0 }, { 63, 48, 0, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D6576 = { - 310, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 3, 24, 2, 0 }, { 16, 22, 4, 24, 2, 0 }, - { 17, 21, 4, 24, 2, 0 }, { 17, 20, 5, 24, 2, 0 }, { 17, 19, 5, 24, 2, 0 }, { 17, 18, 6, 24, 2, 0 }, { 17, 17, 6, 24, 2, 0 }, - { 17, 16, 7, 24, 2, 0 }, { 17, 15, 7, 24, 2, 0 }, { 17, 14, 8, 24, 2, 0 }, { 17, 13, 8, 24, 2, 0 }, { 17, 12, 9, 24, 3, 0 }, - { 18, 11, 9, 24, 3, 0 }, { 18, 10, 10, 24, 3, 0 }, { 18, 9, 10, 24, 3, 0 }, { 18, 8, 11, 24, 3, 0 }, { 18, 7, 11, 24, 3, 0 }, - { 18, 6, 12, 24, 3, 0 }, { 18, 5, 13, 24, 3, 0 }, { 18, 4, 14, 24, 3, 0 }, { 18, 3, 15, 24, 3, 0 }, { 19, 2, 15, 24, 3, 0 }, - { 19, 1, 16, 24, 3, 0 }, { 19, 0, 17, 24, 3, 0 }, { 19, -1, 18, 24, 3, 0 }, { 19, -2, 18, 24, 3, 0 }, { 19, -3, 19, 24, 3, 0 }, - { 19, -4, 20, 24, 3, 0 }, { 19, -5, 21, 24, 3, 0 }, { 20, -6, 22, 24, 3, 0 }, { 20, -7, 23, 24, 3, 0 }, { 20, -8, 24, 24, 3, 0 }, - { 20, -9, 25, 24, 3, 0 }, { 20, -10, 26, 24, 3, 0 }, { 20, -11, 27, 24, 4, 0 }, { 20, -12, 28, 24, 4, 0 }, { 20, -13, 29, 24, 4, 0 }, - { 20, -13, 30, 24, 4, 0 }, { 21, -14, 31, 24, 4, 0 }, { 21, -15, 32, 24, 4, 0 }, { 21, -16, 33, 24, 4, 0 }, { 21, -16, 34, 24, 4, 0 }, - { 21, -17, 35, 24, 4, 0 }, { 21, -18, 36, 24, 4, 0 }, { 21, -19, 37, 24, 4, 0 }, { 21, -19, 38, 24, 4, 0 }, { 22, -20, 39, 24, 4, 0 }, - { 22, -20, 40, 24, 4, 0 }, { 22, -21, 41, 24, 4, 0 }, { 22, -22, 42, 24, 4, 0 }, { 22, -22, 43, 24, 9, 0 }, { 22, -23, 44, 24, 9, 0 }, - { 22, -24, 45, 24, 9, 0 }, { 22, -24, 46, 24, 9, 0 }, { 22, -25, 47, 24, 9, 0 }, { 22, -25, 48, 24, 9, 0 }, { 23, -25, 49, 24, 9, 0 }, - { 23, -26, 50, 24, 9, 0 }, { 23, -26, 51, 24, 9, 0 }, { 23, -26, 52, 24, 9, 0 }, { 23, -27, 53, 24, 9, 0 }, { 23, -27, 54, 24, 9, 0 }, - { 23, -27, 55, 24, 9, 0 }, { 23, -28, 56, 24, 9, 0 }, { 23, -28, 57, 24, 9, 0 }, { 23, -28, 58, 24, 9, 0 }, { 24, -29, 59, 24, 9, 0 }, - { 24, -29, 60, 24, 9, 0 }, { 24, -29, 61, 24, 9, 0 }, { 24, -30, 62, 24, 9, 0 }, { 24, -30, 63, 24, 9, 0 }, { 24, -30, 64, 24, 10, 0 }, - { 24, -30, 65, 24, 10, 0 }, { 24, -31, 66, 24, 10, 0 }, { 24, -31, 67, 24, 10, 0 }, { 24, -31, 68, 24, 10, 0 }, { 25, -31, 69, 24, 10, 0 }, - { 25, -31, 70, 24, 10, 0 }, { 25, -32, 71, 24, 10, 0 }, { 25, -32, 72, 24, 10, 0 }, { 25, -32, 73, 24, 10, 0 }, { 25, -32, 74, 24, 10, 0 }, - { 25, -32, 75, 24, 10, 0 }, { 25, -32, 76, 24, 10, 0 }, { 25, -32, 77, 24, 10, 0 }, { 25, -32, 78, 24, 10, 0 }, { 25, -32, 79, 24, 10, 0 }, - { 26, -32, 80, 24, 10, 0 }, { 26, -32, 81, 24, 10, 0 }, { 26, -32, 82, 24, 10, 0 }, { 26, -32, 83, 24, 10, 0 }, { 26, -32, 84, 24, 10, 0 }, - { 26, -32, 85, 24, 10, 0 }, { 26, -32, 86, 24, 10, 0 }, { 26, -32, 87, 24, 10, 0 }, { 26, -32, 88, 24, 10, 0 }, { 26, -32, 89, 24, 10, 0 }, - { 26, -32, 90, 24, 10, 0 }, { 26, -32, 91, 24, 11, 0 }, { 27, -32, 92, 24, 11, 0 }, { 27, -31, 93, 24, 11, 0 }, { 27, -31, 94, 24, 11, 0 }, - { 27, -31, 95, 24, 11, 0 }, { 27, -31, 96, 24, 11, 0 }, { 27, -31, 97, 24, 11, 0 }, { 27, -30, 98, 24, 11, 0 }, { 27, -30, 99, 24, 11, 0 }, - { 27, -30, 100, 24, 11, 0 }, { 27, -30, 101, 24, 11, 0 }, { 28, -29, 102, 24, 11, 0 }, { 28, -29, 103, 24, 11, 0 }, { 28, -29, 104, 24, 11, 0 }, - { 28, -28, 105, 24, 12, 0 }, { 28, -28, 106, 24, 12, 0 }, { 28, -27, 107, 24, 12, 0 }, { 28, -27, 108, 24, 12, 0 }, { 28, -26, 109, 24, 12, 0 }, - { 28, -26, 110, 24, 12, 0 }, { 28, -26, 111, 24, 12, 0 }, { 29, -25, 112, 24, 12, 0 }, { 29, -25, 113, 24, 12, 0 }, { 29, -24, 114, 24, 13, 0 }, - { 29, -24, 115, 24, 13, 0 }, { 29, -23, 116, 24, 13, 0 }, { 29, -22, 117, 24, 13, 0 }, { 29, -22, 118, 24, 13, 0 }, { 29, -21, 119, 24, 13, 0 }, - { 29, -20, 120, 24, 13, 0 }, { 30, -19, 121, 24, 13, 0 }, { 30, -18, 122, 24, 14, 0 }, { 30, -17, 123, 24, 14, 0 }, { 30, -16, 124, 24, 14, 0 }, - { 30, -15, 124, 24, 14, 0 }, { 30, -14, 125, 24, 14, 0 }, { 30, -13, 126, 24, 15, 0 }, { 30, -12, 127, 24, 15, 0 }, { 31, -11, 128, 24, 15, 0 }, - { 31, -10, 128, 24, 15, 0 }, { 31, -9, 129, 24, 15, 0 }, { 31, -8, 129, 24, 16, 0 }, { 31, -7, 129, 24, 16, 0 }, { 31, -6, 130, 24, 16, 0 }, - { 31, -5, 130, 24, 16, 0 }, { 31, -4, 130, 24, 16, 0 }, { 31, -3, 130, 24, 16, 0 }, { 31, -2, 130, 24, 16, 0 }, { 31, -1, 130, 24, 16, 0 }, - { 32, 0, 130, 24, 16, 0 }, { 32, 1, 130, 24, 16, 0 }, { 32, 2, 130, 24, 16, 0 }, { 32, 3, 130, 24, 16, 0 }, { 32, 4, 130, 24, 23, 0 }, - { 32, 5, 130, 24, 23, 0 }, { 32, 6, 129, 24, 23, 0 }, { 32, 7, 129, 24, 23, 0 }, { 32, 8, 129, 24, 23, 0 }, { 32, 9, 128, 24, 22, 0 }, - { 32, 10, 128, 24, 22, 0 }, { 33, 11, 127, 24, 22, 0 }, { 33, 12, 126, 24, 22, 0 }, { 33, 13, 125, 24, 22, 0 }, { 33, 14, 124, 24, 21, 0 }, - { 33, 15, 124, 24, 21, 0 }, { 33, 16, 123, 24, 21, 0 }, { 33, 17, 122, 24, 21, 0 }, { 33, 18, 121, 24, 21, 0 }, { 34, 19, 120, 24, 21, 0 }, - { 34, 20, 119, 24, 21, 0 }, { 34, 21, 118, 24, 21, 0 }, { 34, 21, 117, 24, 20, 0 }, { 34, 22, 116, 24, 20, 0 }, { 34, 23, 115, 24, 20, 0 }, - { 34, 23, 114, 24, 20, 0 }, { 34, 24, 113, 24, 20, 0 }, { 34, 24, 112, 24, 20, 0 }, { 35, 25, 111, 24, 20, 0 }, { 35, 25, 110, 24, 20, 0 }, - { 35, 25, 109, 24, 20, 0 }, { 35, 26, 108, 24, 19, 0 }, { 35, 26, 107, 24, 19, 0 }, { 35, 27, 106, 24, 19, 0 }, { 35, 27, 105, 24, 19, 0 }, - { 35, 28, 104, 24, 19, 0 }, { 35, 28, 103, 24, 19, 0 }, { 35, 28, 102, 24, 19, 0 }, { 36, 29, 101, 24, 19, 0 }, { 36, 29, 100, 24, 19, 0 }, - { 36, 29, 99, 24, 19, 0 }, { 36, 29, 98, 24, 19, 0 }, { 36, 30, 97, 24, 19, 0 }, { 36, 30, 96, 24, 19, 0 }, { 36, 30, 95, 24, 19, 0 }, - { 36, 30, 94, 24, 18, 0 }, { 36, 30, 93, 24, 18, 0 }, { 36, 31, 92, 24, 18, 0 }, { 37, 31, 91, 24, 18, 0 }, { 37, 31, 90, 24, 18, 0 }, - { 37, 31, 89, 24, 18, 0 }, { 37, 31, 88, 24, 18, 0 }, { 37, 31, 87, 24, 18, 0 }, { 37, 31, 86, 24, 18, 0 }, { 37, 31, 85, 24, 18, 0 }, - { 37, 31, 84, 24, 18, 0 }, { 37, 31, 83, 24, 18, 0 }, { 37, 31, 82, 24, 18, 0 }, { 37, 31, 81, 24, 18, 0 }, { 37, 31, 80, 24, 18, 0 }, - { 38, 31, 79, 24, 18, 0 }, { 38, 31, 78, 24, 18, 0 }, { 38, 31, 77, 24, 18, 0 }, { 38, 31, 76, 24, 18, 0 }, { 38, 31, 75, 24, 18, 0 }, - { 38, 31, 74, 24, 18, 0 }, { 38, 31, 73, 24, 18, 0 }, { 38, 31, 72, 24, 18, 0 }, { 38, 31, 71, 24, 18, 0 }, { 38, 30, 70, 24, 18, 0 }, - { 38, 30, 69, 24, 18, 0 }, { 39, 30, 68, 24, 18, 0 }, { 39, 30, 67, 24, 17, 0 }, { 39, 30, 66, 24, 17, 0 }, { 39, 29, 65, 24, 17, 0 }, - { 39, 29, 64, 24, 17, 0 }, { 39, 29, 63, 24, 17, 0 }, { 39, 29, 62, 24, 17, 0 }, { 39, 28, 61, 24, 17, 0 }, { 39, 28, 60, 24, 17, 0 }, - { 39, 28, 59, 24, 17, 0 }, { 40, 27, 58, 24, 17, 0 }, { 40, 27, 57, 24, 17, 0 }, { 40, 27, 56, 24, 17, 0 }, { 40, 26, 55, 24, 17, 0 }, - { 40, 26, 54, 24, 17, 0 }, { 40, 26, 53, 24, 17, 0 }, { 40, 25, 52, 24, 17, 0 }, { 40, 25, 51, 24, 17, 0 }, { 40, 25, 50, 24, 17, 0 }, - { 40, 24, 49, 24, 17, 0 }, { 41, 24, 48, 24, 17, 0 }, { 41, 24, 47, 24, 17, 0 }, { 41, 23, 46, 24, 8, 0 }, { 41, 23, 45, 24, 8, 0 }, - { 41, 22, 44, 24, 8, 0 }, { 41, 21, 43, 24, 8, 0 }, { 41, 21, 42, 24, 8, 0 }, { 41, 20, 41, 24, 8, 0 }, { 41, 19, 40, 24, 8, 0 }, - { 41, 19, 39, 24, 8, 0 }, { 42, 18, 38, 24, 8, 0 }, { 42, 18, 37, 24, 8, 0 }, { 42, 17, 36, 24, 8, 0 }, { 42, 16, 35, 24, 8, 0 }, - { 42, 15, 34, 24, 8, 0 }, { 42, 15, 33, 24, 8, 0 }, { 42, 14, 32, 24, 8, 0 }, { 42, 13, 31, 24, 8, 0 }, { 43, 12, 30, 24, 7, 0 }, - { 43, 12, 29, 24, 7, 0 }, { 43, 11, 28, 24, 7, 0 }, { 43, 10, 27, 24, 7, 0 }, { 43, 9, 26, 24, 7, 0 }, { 43, 8, 25, 24, 7, 0 }, - { 43, 7, 24, 24, 7, 0 }, { 43, 6, 23, 24, 7, 0 }, { 43, 5, 22, 24, 7, 0 }, { 44, 4, 21, 24, 7, 0 }, { 44, 3, 20, 24, 7, 0 }, - { 44, 2, 19, 24, 7, 0 }, { 44, 1, 18, 24, 7, 0 }, { 44, 0, 18, 24, 7, 0 }, { 44, -1, 17, 24, 7, 0 }, { 44, -2, 16, 24, 7, 0 }, - { 44, -3, 15, 24, 7, 0 }, { 45, -4, 15, 24, 7, 0 }, { 45, -5, 14, 24, 7, 0 }, { 45, -6, 13, 24, 7, 0 }, { 45, -7, 12, 24, 7, 0 }, - { 45, -8, 11, 24, 7, 0 }, { 45, -9, 11, 24, 7, 0 }, { 45, -10, 10, 24, 6, 0 }, { 45, -11, 10, 24, 6, 0 }, { 45, -12, 9, 24, 6, 0 }, - { 46, -13, 9, 24, 6, 0 }, { 46, -14, 8, 24, 6, 0 }, { 46, -15, 8, 24, 6, 0 }, { 46, -16, 7, 24, 6, 0 }, { 46, -17, 7, 24, 6, 0 }, - { 46, -18, 6, 24, 6, 0 }, { 46, -19, 6, 24, 6, 0 }, { 46, -20, 5, 24, 6, 0 }, { 46, -21, 5, 24, 6, 0 }, { 46, -22, 4, 24, 6, 0 }, - { 47, -23, 4, 24, 6, 0 }, { 47, -24, 3, 24, 6, 0 }, { 47, -25, 3, 24, 6, 0 }, { 47, -26, 3, 24, 6, 0 }, { 47, -27, 2, 24, 6, 0 }, - { 47, -28, 2, 24, 6, 0 }, { 47, -29, 1, 24, 6, 0 }, { 47, -30, 1, 24, 6, 0 }, { 47, -31, 0, 24, 6, 0 }, { 48, -32, 0, 24, 6, 0 }, + 310, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 3, 24, 2, 0 }, { 16, 22, 4, 24, 2, 0 }, + { 17, 21, 4, 24, 2, 0 }, { 17, 20, 5, 24, 2, 0 }, { 17, 19, 5, 24, 2, 0 }, { 17, 18, 6, 24, 2, 0 }, { 17, 17, 6, 24, 2, 0 }, + { 17, 16, 7, 24, 2, 0 }, { 17, 15, 7, 24, 2, 0 }, { 17, 14, 8, 24, 2, 0 }, { 17, 13, 8, 24, 2, 0 }, { 17, 12, 9, 24, 3, 0 }, + { 18, 11, 9, 24, 3, 0 }, { 18, 10, 10, 24, 3, 0 }, { 18, 9, 10, 24, 3, 0 }, { 18, 8, 11, 24, 3, 0 }, { 18, 7, 11, 24, 3, 0 }, + { 18, 6, 12, 24, 3, 0 }, { 18, 5, 13, 24, 3, 0 }, { 18, 4, 14, 24, 3, 0 }, { 18, 3, 15, 24, 3, 0 }, { 19, 2, 15, 24, 3, 0 }, + { 19, 1, 16, 24, 3, 0 }, { 19, 0, 17, 24, 3, 0 }, { 19, -1, 18, 24, 3, 0 }, { 19, -2, 18, 24, 3, 0 }, { 19, -3, 19, 24, 3, 0 }, + { 19, -4, 20, 24, 3, 0 }, { 19, -5, 21, 24, 3, 0 }, { 20, -6, 22, 24, 3, 0 }, { 20, -7, 23, 24, 3, 0 }, { 20, -8, 24, 24, 3, 0 }, + { 20, -9, 25, 24, 3, 0 }, { 20, -10, 26, 24, 3, 0 }, { 20, -11, 27, 24, 4, 0 }, { 20, -12, 28, 24, 4, 0 }, { 20, -13, 29, 24, 4, 0 }, + { 20, -13, 30, 24, 4, 0 }, { 21, -14, 31, 24, 4, 0 }, { 21, -15, 32, 24, 4, 0 }, { 21, -16, 33, 24, 4, 0 }, { 21, -16, 34, 24, 4, 0 }, + { 21, -17, 35, 24, 4, 0 }, { 21, -18, 36, 24, 4, 0 }, { 21, -19, 37, 24, 4, 0 }, { 21, -19, 38, 24, 4, 0 }, { 22, -20, 39, 24, 4, 0 }, + { 22, -20, 40, 24, 4, 0 }, { 22, -21, 41, 24, 4, 0 }, { 22, -22, 42, 24, 4, 0 }, { 22, -22, 43, 24, 9, 0 }, { 22, -23, 44, 24, 9, 0 }, + { 22, -24, 45, 24, 9, 0 }, { 22, -24, 46, 24, 9, 0 }, { 22, -25, 47, 24, 9, 0 }, { 22, -25, 48, 24, 9, 0 }, { 23, -25, 49, 24, 9, 0 }, + { 23, -26, 50, 24, 9, 0 }, { 23, -26, 51, 24, 9, 0 }, { 23, -26, 52, 24, 9, 0 }, { 23, -27, 53, 24, 9, 0 }, { 23, -27, 54, 24, 9, 0 }, + { 23, -27, 55, 24, 9, 0 }, { 23, -28, 56, 24, 9, 0 }, { 23, -28, 57, 24, 9, 0 }, { 23, -28, 58, 24, 9, 0 }, { 24, -29, 59, 24, 9, 0 }, + { 24, -29, 60, 24, 9, 0 }, { 24, -29, 61, 24, 9, 0 }, { 24, -30, 62, 24, 9, 0 }, { 24, -30, 63, 24, 9, 0 }, { 24, -30, 64, 24, 10, 0 }, + { 24, -30, 65, 24, 10, 0 }, { 24, -31, 66, 24, 10, 0 }, { 24, -31, 67, 24, 10, 0 }, { 24, -31, 68, 24, 10, 0 }, { 25, -31, 69, 24, 10, 0 }, + { 25, -31, 70, 24, 10, 0 }, { 25, -32, 71, 24, 10, 0 }, { 25, -32, 72, 24, 10, 0 }, { 25, -32, 73, 24, 10, 0 }, { 25, -32, 74, 24, 10, 0 }, + { 25, -32, 75, 24, 10, 0 }, { 25, -32, 76, 24, 10, 0 }, { 25, -32, 77, 24, 10, 0 }, { 25, -32, 78, 24, 10, 0 }, { 25, -32, 79, 24, 10, 0 }, + { 26, -32, 80, 24, 10, 0 }, { 26, -32, 81, 24, 10, 0 }, { 26, -32, 82, 24, 10, 0 }, { 26, -32, 83, 24, 10, 0 }, { 26, -32, 84, 24, 10, 0 }, + { 26, -32, 85, 24, 10, 0 }, { 26, -32, 86, 24, 10, 0 }, { 26, -32, 87, 24, 10, 0 }, { 26, -32, 88, 24, 10, 0 }, { 26, -32, 89, 24, 10, 0 }, + { 26, -32, 90, 24, 10, 0 }, { 26, -32, 91, 24, 11, 0 }, { 27, -32, 92, 24, 11, 0 }, { 27, -31, 93, 24, 11, 0 }, { 27, -31, 94, 24, 11, 0 }, + { 27, -31, 95, 24, 11, 0 }, { 27, -31, 96, 24, 11, 0 }, { 27, -31, 97, 24, 11, 0 }, { 27, -30, 98, 24, 11, 0 }, { 27, -30, 99, 24, 11, 0 }, + { 27, -30, 100, 24, 11, 0 }, { 27, -30, 101, 24, 11, 0 }, { 28, -29, 102, 24, 11, 0 }, { 28, -29, 103, 24, 11, 0 }, { 28, -29, 104, 24, 11, 0 }, + { 28, -28, 105, 24, 12, 0 }, { 28, -28, 106, 24, 12, 0 }, { 28, -27, 107, 24, 12, 0 }, { 28, -27, 108, 24, 12, 0 }, { 28, -26, 109, 24, 12, 0 }, + { 28, -26, 110, 24, 12, 0 }, { 28, -26, 111, 24, 12, 0 }, { 29, -25, 112, 24, 12, 0 }, { 29, -25, 113, 24, 12, 0 }, { 29, -24, 114, 24, 13, 0 }, + { 29, -24, 115, 24, 13, 0 }, { 29, -23, 116, 24, 13, 0 }, { 29, -22, 117, 24, 13, 0 }, { 29, -22, 118, 24, 13, 0 }, { 29, -21, 119, 24, 13, 0 }, + { 29, -20, 120, 24, 13, 0 }, { 30, -19, 121, 24, 13, 0 }, { 30, -18, 122, 24, 14, 0 }, { 30, -17, 123, 24, 14, 0 }, { 30, -16, 124, 24, 14, 0 }, + { 30, -15, 124, 24, 14, 0 }, { 30, -14, 125, 24, 14, 0 }, { 30, -13, 126, 24, 15, 0 }, { 30, -12, 127, 24, 15, 0 }, { 31, -11, 128, 24, 15, 0 }, + { 31, -10, 128, 24, 15, 0 }, { 31, -9, 129, 24, 15, 0 }, { 31, -8, 129, 24, 16, 0 }, { 31, -7, 129, 24, 16, 0 }, { 31, -6, 130, 24, 16, 0 }, + { 31, -5, 130, 24, 16, 0 }, { 31, -4, 130, 24, 16, 0 }, { 31, -3, 130, 24, 16, 0 }, { 31, -2, 130, 24, 16, 0 }, { 31, -1, 130, 24, 16, 0 }, + { 32, 0, 130, 24, 16, 0 }, { 32, 1, 130, 24, 16, 0 }, { 32, 2, 130, 24, 16, 0 }, { 32, 3, 130, 24, 16, 0 }, { 32, 4, 130, 24, 23, 0 }, + { 32, 5, 130, 24, 23, 0 }, { 32, 6, 129, 24, 23, 0 }, { 32, 7, 129, 24, 23, 0 }, { 32, 8, 129, 24, 23, 0 }, { 32, 9, 128, 24, 22, 0 }, + { 32, 10, 128, 24, 22, 0 }, { 33, 11, 127, 24, 22, 0 }, { 33, 12, 126, 24, 22, 0 }, { 33, 13, 125, 24, 22, 0 }, { 33, 14, 124, 24, 21, 0 }, + { 33, 15, 124, 24, 21, 0 }, { 33, 16, 123, 24, 21, 0 }, { 33, 17, 122, 24, 21, 0 }, { 33, 18, 121, 24, 21, 0 }, { 34, 19, 120, 24, 21, 0 }, + { 34, 20, 119, 24, 21, 0 }, { 34, 21, 118, 24, 21, 0 }, { 34, 21, 117, 24, 20, 0 }, { 34, 22, 116, 24, 20, 0 }, { 34, 23, 115, 24, 20, 0 }, + { 34, 23, 114, 24, 20, 0 }, { 34, 24, 113, 24, 20, 0 }, { 34, 24, 112, 24, 20, 0 }, { 35, 25, 111, 24, 20, 0 }, { 35, 25, 110, 24, 20, 0 }, + { 35, 25, 109, 24, 20, 0 }, { 35, 26, 108, 24, 19, 0 }, { 35, 26, 107, 24, 19, 0 }, { 35, 27, 106, 24, 19, 0 }, { 35, 27, 105, 24, 19, 0 }, + { 35, 28, 104, 24, 19, 0 }, { 35, 28, 103, 24, 19, 0 }, { 35, 28, 102, 24, 19, 0 }, { 36, 29, 101, 24, 19, 0 }, { 36, 29, 100, 24, 19, 0 }, + { 36, 29, 99, 24, 19, 0 }, { 36, 29, 98, 24, 19, 0 }, { 36, 30, 97, 24, 19, 0 }, { 36, 30, 96, 24, 19, 0 }, { 36, 30, 95, 24, 19, 0 }, + { 36, 30, 94, 24, 18, 0 }, { 36, 30, 93, 24, 18, 0 }, { 36, 31, 92, 24, 18, 0 }, { 37, 31, 91, 24, 18, 0 }, { 37, 31, 90, 24, 18, 0 }, + { 37, 31, 89, 24, 18, 0 }, { 37, 31, 88, 24, 18, 0 }, { 37, 31, 87, 24, 18, 0 }, { 37, 31, 86, 24, 18, 0 }, { 37, 31, 85, 24, 18, 0 }, + { 37, 31, 84, 24, 18, 0 }, { 37, 31, 83, 24, 18, 0 }, { 37, 31, 82, 24, 18, 0 }, { 37, 31, 81, 24, 18, 0 }, { 37, 31, 80, 24, 18, 0 }, + { 38, 31, 79, 24, 18, 0 }, { 38, 31, 78, 24, 18, 0 }, { 38, 31, 77, 24, 18, 0 }, { 38, 31, 76, 24, 18, 0 }, { 38, 31, 75, 24, 18, 0 }, + { 38, 31, 74, 24, 18, 0 }, { 38, 31, 73, 24, 18, 0 }, { 38, 31, 72, 24, 18, 0 }, { 38, 31, 71, 24, 18, 0 }, { 38, 30, 70, 24, 18, 0 }, + { 38, 30, 69, 24, 18, 0 }, { 39, 30, 68, 24, 18, 0 }, { 39, 30, 67, 24, 17, 0 }, { 39, 30, 66, 24, 17, 0 }, { 39, 29, 65, 24, 17, 0 }, + { 39, 29, 64, 24, 17, 0 }, { 39, 29, 63, 24, 17, 0 }, { 39, 29, 62, 24, 17, 0 }, { 39, 28, 61, 24, 17, 0 }, { 39, 28, 60, 24, 17, 0 }, + { 39, 28, 59, 24, 17, 0 }, { 40, 27, 58, 24, 17, 0 }, { 40, 27, 57, 24, 17, 0 }, { 40, 27, 56, 24, 17, 0 }, { 40, 26, 55, 24, 17, 0 }, + { 40, 26, 54, 24, 17, 0 }, { 40, 26, 53, 24, 17, 0 }, { 40, 25, 52, 24, 17, 0 }, { 40, 25, 51, 24, 17, 0 }, { 40, 25, 50, 24, 17, 0 }, + { 40, 24, 49, 24, 17, 0 }, { 41, 24, 48, 24, 17, 0 }, { 41, 24, 47, 24, 17, 0 }, { 41, 23, 46, 24, 8, 0 }, { 41, 23, 45, 24, 8, 0 }, + { 41, 22, 44, 24, 8, 0 }, { 41, 21, 43, 24, 8, 0 }, { 41, 21, 42, 24, 8, 0 }, { 41, 20, 41, 24, 8, 0 }, { 41, 19, 40, 24, 8, 0 }, + { 41, 19, 39, 24, 8, 0 }, { 42, 18, 38, 24, 8, 0 }, { 42, 18, 37, 24, 8, 0 }, { 42, 17, 36, 24, 8, 0 }, { 42, 16, 35, 24, 8, 0 }, + { 42, 15, 34, 24, 8, 0 }, { 42, 15, 33, 24, 8, 0 }, { 42, 14, 32, 24, 8, 0 }, { 42, 13, 31, 24, 8, 0 }, { 43, 12, 30, 24, 7, 0 }, + { 43, 12, 29, 24, 7, 0 }, { 43, 11, 28, 24, 7, 0 }, { 43, 10, 27, 24, 7, 0 }, { 43, 9, 26, 24, 7, 0 }, { 43, 8, 25, 24, 7, 0 }, + { 43, 7, 24, 24, 7, 0 }, { 43, 6, 23, 24, 7, 0 }, { 43, 5, 22, 24, 7, 0 }, { 44, 4, 21, 24, 7, 0 }, { 44, 3, 20, 24, 7, 0 }, + { 44, 2, 19, 24, 7, 0 }, { 44, 1, 18, 24, 7, 0 }, { 44, 0, 18, 24, 7, 0 }, { 44, -1, 17, 24, 7, 0 }, { 44, -2, 16, 24, 7, 0 }, + { 44, -3, 15, 24, 7, 0 }, { 45, -4, 15, 24, 7, 0 }, { 45, -5, 14, 24, 7, 0 }, { 45, -6, 13, 24, 7, 0 }, { 45, -7, 12, 24, 7, 0 }, + { 45, -8, 11, 24, 7, 0 }, { 45, -9, 11, 24, 7, 0 }, { 45, -10, 10, 24, 6, 0 }, { 45, -11, 10, 24, 6, 0 }, { 45, -12, 9, 24, 6, 0 }, + { 46, -13, 9, 24, 6, 0 }, { 46, -14, 8, 24, 6, 0 }, { 46, -15, 8, 24, 6, 0 }, { 46, -16, 7, 24, 6, 0 }, { 46, -17, 7, 24, 6, 0 }, + { 46, -18, 6, 24, 6, 0 }, { 46, -19, 6, 24, 6, 0 }, { 46, -20, 5, 24, 6, 0 }, { 46, -21, 5, 24, 6, 0 }, { 46, -22, 4, 24, 6, 0 }, + { 47, -23, 4, 24, 6, 0 }, { 47, -24, 3, 24, 6, 0 }, { 47, -25, 3, 24, 6, 0 }, { 47, -26, 3, 24, 6, 0 }, { 47, -27, 2, 24, 6, 0 }, + { 47, -28, 2, 24, 6, 0 }, { 47, -29, 1, 24, 6, 0 }, { 47, -30, 1, 24, 6, 0 }, { 47, -31, 0, 24, 6, 0 }, { 48, -32, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D705E = { - 310, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 3, 0, 2, 0 }, { 22, 16, 4, 0, 2, 0 }, - { 21, 17, 4, 0, 2, 0 }, { 20, 17, 5, 0, 2, 0 }, { 19, 17, 5, 0, 2, 0 }, { 18, 17, 6, 0, 2, 0 }, { 17, 17, 6, 0, 2, 0 }, - { 16, 17, 7, 0, 2, 0 }, { 15, 17, 7, 0, 2, 0 }, { 14, 17, 8, 0, 2, 0 }, { 13, 17, 8, 0, 2, 0 }, { 12, 17, 9, 0, 3, 0 }, - { 11, 18, 9, 0, 3, 0 }, { 10, 18, 10, 0, 3, 0 }, { 9, 18, 10, 0, 3, 0 }, { 8, 18, 11, 0, 3, 0 }, { 7, 18, 11, 0, 3, 0 }, - { 6, 18, 12, 0, 3, 0 }, { 5, 18, 13, 0, 3, 0 }, { 4, 18, 14, 0, 3, 0 }, { 3, 18, 15, 0, 3, 0 }, { 2, 19, 15, 0, 3, 0 }, - { 1, 19, 16, 0, 3, 0 }, { 0, 19, 17, 0, 3, 0 }, { -1, 19, 18, 0, 3, 0 }, { -2, 19, 18, 0, 3, 0 }, { -3, 19, 19, 0, 3, 0 }, - { -4, 19, 20, 0, 3, 0 }, { -5, 19, 21, 0, 3, 0 }, { -6, 20, 22, 0, 3, 0 }, { -7, 20, 23, 0, 3, 0 }, { -8, 20, 24, 0, 3, 0 }, - { -9, 20, 25, 0, 3, 0 }, { -10, 20, 26, 0, 3, 0 }, { -11, 20, 27, 0, 4, 0 }, { -12, 20, 28, 0, 4, 0 }, { -13, 20, 29, 0, 4, 0 }, - { -13, 20, 30, 0, 4, 0 }, { -14, 21, 31, 0, 4, 0 }, { -15, 21, 32, 0, 4, 0 }, { -16, 21, 33, 0, 4, 0 }, { -16, 21, 34, 0, 4, 0 }, - { -17, 21, 35, 0, 4, 0 }, { -18, 21, 36, 0, 4, 0 }, { -19, 21, 37, 0, 4, 0 }, { -19, 21, 38, 0, 4, 0 }, { -20, 22, 39, 0, 4, 0 }, - { -20, 22, 40, 0, 4, 0 }, { -21, 22, 41, 0, 4, 0 }, { -22, 22, 42, 0, 4, 0 }, { -22, 22, 43, 0, 9, 0 }, { -23, 22, 44, 0, 9, 0 }, - { -24, 22, 45, 0, 9, 0 }, { -24, 22, 46, 0, 9, 0 }, { -25, 22, 47, 0, 9, 0 }, { -25, 22, 48, 0, 9, 0 }, { -25, 23, 49, 0, 9, 0 }, - { -26, 23, 50, 0, 9, 0 }, { -26, 23, 51, 0, 9, 0 }, { -26, 23, 52, 0, 9, 0 }, { -27, 23, 53, 0, 9, 0 }, { -27, 23, 54, 0, 9, 0 }, - { -27, 23, 55, 0, 9, 0 }, { -28, 23, 56, 0, 9, 0 }, { -28, 23, 57, 0, 9, 0 }, { -28, 23, 58, 0, 9, 0 }, { -29, 24, 59, 0, 9, 0 }, - { -29, 24, 60, 0, 9, 0 }, { -29, 24, 61, 0, 9, 0 }, { -30, 24, 62, 0, 9, 0 }, { -30, 24, 63, 0, 9, 0 }, { -30, 24, 64, 0, 10, 0 }, - { -30, 24, 65, 0, 10, 0 }, { -31, 24, 66, 0, 10, 0 }, { -31, 24, 67, 0, 10, 0 }, { -31, 24, 68, 0, 10, 0 }, { -31, 25, 69, 0, 10, 0 }, - { -31, 25, 70, 0, 10, 0 }, { -32, 25, 71, 0, 10, 0 }, { -32, 25, 72, 0, 10, 0 }, { -32, 25, 73, 0, 10, 0 }, { -32, 25, 74, 0, 10, 0 }, - { -32, 25, 75, 0, 10, 0 }, { -32, 25, 76, 0, 10, 0 }, { -32, 25, 77, 0, 10, 0 }, { -32, 25, 78, 0, 10, 0 }, { -32, 25, 79, 0, 10, 0 }, - { -32, 26, 80, 0, 10, 0 }, { -32, 26, 81, 0, 10, 0 }, { -32, 26, 82, 0, 10, 0 }, { -32, 26, 83, 0, 10, 0 }, { -32, 26, 84, 0, 10, 0 }, - { -32, 26, 85, 0, 10, 0 }, { -32, 26, 86, 0, 10, 0 }, { -32, 26, 87, 0, 10, 0 }, { -32, 26, 88, 0, 10, 0 }, { -32, 26, 89, 0, 10, 0 }, - { -32, 26, 90, 0, 10, 0 }, { -32, 26, 91, 0, 11, 0 }, { -32, 27, 92, 0, 11, 0 }, { -31, 27, 93, 0, 11, 0 }, { -31, 27, 94, 0, 11, 0 }, - { -31, 27, 95, 0, 11, 0 }, { -31, 27, 96, 0, 11, 0 }, { -31, 27, 97, 0, 11, 0 }, { -30, 27, 98, 0, 11, 0 }, { -30, 27, 99, 0, 11, 0 }, - { -30, 27, 100, 0, 11, 0 }, { -30, 27, 101, 0, 11, 0 }, { -29, 28, 102, 0, 11, 0 }, { -29, 28, 103, 0, 11, 0 }, { -29, 28, 104, 0, 11, 0 }, - { -28, 28, 105, 0, 12, 0 }, { -28, 28, 106, 0, 12, 0 }, { -27, 28, 107, 0, 12, 0 }, { -27, 28, 108, 0, 12, 0 }, { -26, 28, 109, 0, 12, 0 }, - { -26, 28, 110, 0, 12, 0 }, { -26, 28, 111, 0, 12, 0 }, { -25, 29, 112, 0, 12, 0 }, { -25, 29, 113, 0, 12, 0 }, { -24, 29, 114, 0, 13, 0 }, - { -24, 29, 115, 0, 13, 0 }, { -23, 29, 116, 0, 13, 0 }, { -22, 29, 117, 0, 13, 0 }, { -22, 29, 118, 0, 13, 0 }, { -21, 29, 119, 0, 13, 0 }, - { -20, 29, 120, 0, 13, 0 }, { -19, 30, 121, 0, 13, 0 }, { -18, 30, 122, 0, 14, 0 }, { -17, 30, 123, 0, 14, 0 }, { -16, 30, 124, 0, 14, 0 }, - { -15, 30, 124, 0, 14, 0 }, { -14, 30, 125, 0, 14, 0 }, { -13, 30, 126, 0, 15, 0 }, { -12, 30, 127, 0, 15, 0 }, { -11, 31, 128, 0, 15, 0 }, - { -10, 31, 128, 0, 15, 0 }, { -9, 31, 129, 0, 15, 0 }, { -8, 31, 129, 0, 16, 0 }, { -7, 31, 129, 0, 16, 0 }, { -6, 31, 130, 0, 16, 0 }, - { -5, 31, 130, 0, 16, 0 }, { -4, 31, 130, 0, 16, 0 }, { -3, 31, 130, 0, 16, 0 }, { -2, 31, 130, 0, 16, 0 }, { -1, 31, 130, 0, 16, 0 }, - { 0, 32, 130, 0, 16, 0 }, { 1, 32, 130, 0, 16, 0 }, { 2, 32, 130, 0, 16, 0 }, { 3, 32, 130, 0, 16, 0 }, { 4, 32, 130, 0, 23, 0 }, - { 5, 32, 130, 0, 23, 0 }, { 6, 32, 129, 0, 23, 0 }, { 7, 32, 129, 0, 23, 0 }, { 8, 32, 129, 0, 23, 0 }, { 9, 32, 128, 0, 22, 0 }, - { 10, 32, 128, 0, 22, 0 }, { 11, 33, 127, 0, 22, 0 }, { 12, 33, 126, 0, 22, 0 }, { 13, 33, 125, 0, 22, 0 }, { 14, 33, 124, 0, 21, 0 }, - { 15, 33, 124, 0, 21, 0 }, { 16, 33, 123, 0, 21, 0 }, { 17, 33, 122, 0, 21, 0 }, { 18, 33, 121, 0, 21, 0 }, { 19, 34, 120, 0, 21, 0 }, - { 20, 34, 119, 0, 21, 0 }, { 21, 34, 118, 0, 21, 0 }, { 21, 34, 117, 0, 20, 0 }, { 22, 34, 116, 0, 20, 0 }, { 23, 34, 115, 0, 20, 0 }, - { 23, 34, 114, 0, 20, 0 }, { 24, 34, 113, 0, 20, 0 }, { 24, 34, 112, 0, 20, 0 }, { 25, 35, 111, 0, 20, 0 }, { 25, 35, 110, 0, 20, 0 }, - { 25, 35, 109, 0, 20, 0 }, { 26, 35, 108, 0, 19, 0 }, { 26, 35, 107, 0, 19, 0 }, { 27, 35, 106, 0, 19, 0 }, { 27, 35, 105, 0, 19, 0 }, - { 28, 35, 104, 0, 19, 0 }, { 28, 35, 103, 0, 19, 0 }, { 28, 35, 102, 0, 19, 0 }, { 29, 36, 101, 0, 19, 0 }, { 29, 36, 100, 0, 19, 0 }, - { 29, 36, 99, 0, 19, 0 }, { 29, 36, 98, 0, 19, 0 }, { 30, 36, 97, 0, 19, 0 }, { 30, 36, 96, 0, 19, 0 }, { 30, 36, 95, 0, 19, 0 }, - { 30, 36, 94, 0, 18, 0 }, { 30, 36, 93, 0, 18, 0 }, { 31, 36, 92, 0, 18, 0 }, { 31, 37, 91, 0, 18, 0 }, { 31, 37, 90, 0, 18, 0 }, - { 31, 37, 89, 0, 18, 0 }, { 31, 37, 88, 0, 18, 0 }, { 31, 37, 87, 0, 18, 0 }, { 31, 37, 86, 0, 18, 0 }, { 31, 37, 85, 0, 18, 0 }, - { 31, 37, 84, 0, 18, 0 }, { 31, 37, 83, 0, 18, 0 }, { 31, 37, 82, 0, 18, 0 }, { 31, 37, 81, 0, 18, 0 }, { 31, 37, 80, 0, 18, 0 }, - { 31, 38, 79, 0, 18, 0 }, { 31, 38, 78, 0, 18, 0 }, { 31, 38, 77, 0, 18, 0 }, { 31, 38, 76, 0, 18, 0 }, { 31, 38, 75, 0, 18, 0 }, - { 31, 38, 74, 0, 18, 0 }, { 31, 38, 73, 0, 18, 0 }, { 31, 38, 72, 0, 18, 0 }, { 31, 38, 71, 0, 18, 0 }, { 30, 38, 70, 0, 18, 0 }, - { 30, 38, 69, 0, 18, 0 }, { 30, 39, 68, 0, 18, 0 }, { 30, 39, 67, 0, 17, 0 }, { 30, 39, 66, 0, 17, 0 }, { 29, 39, 65, 0, 17, 0 }, - { 29, 39, 64, 0, 17, 0 }, { 29, 39, 63, 0, 17, 0 }, { 29, 39, 62, 0, 17, 0 }, { 28, 39, 61, 0, 17, 0 }, { 28, 39, 60, 0, 17, 0 }, - { 28, 39, 59, 0, 17, 0 }, { 27, 40, 58, 0, 17, 0 }, { 27, 40, 57, 0, 17, 0 }, { 27, 40, 56, 0, 17, 0 }, { 26, 40, 55, 0, 17, 0 }, - { 26, 40, 54, 0, 17, 0 }, { 26, 40, 53, 0, 17, 0 }, { 25, 40, 52, 0, 17, 0 }, { 25, 40, 51, 0, 17, 0 }, { 25, 40, 50, 0, 17, 0 }, - { 24, 40, 49, 0, 17, 0 }, { 24, 41, 48, 0, 17, 0 }, { 24, 41, 47, 0, 17, 0 }, { 23, 41, 46, 0, 8, 0 }, { 23, 41, 45, 0, 8, 0 }, - { 22, 41, 44, 0, 8, 0 }, { 21, 41, 43, 0, 8, 0 }, { 21, 41, 42, 0, 8, 0 }, { 20, 41, 41, 0, 8, 0 }, { 19, 41, 40, 0, 8, 0 }, - { 19, 41, 39, 0, 8, 0 }, { 18, 42, 38, 0, 8, 0 }, { 18, 42, 37, 0, 8, 0 }, { 17, 42, 36, 0, 8, 0 }, { 16, 42, 35, 0, 8, 0 }, - { 15, 42, 34, 0, 8, 0 }, { 15, 42, 33, 0, 8, 0 }, { 14, 42, 32, 0, 8, 0 }, { 13, 42, 31, 0, 8, 0 }, { 12, 43, 30, 0, 7, 0 }, - { 12, 43, 29, 0, 7, 0 }, { 11, 43, 28, 0, 7, 0 }, { 10, 43, 27, 0, 7, 0 }, { 9, 43, 26, 0, 7, 0 }, { 8, 43, 25, 0, 7, 0 }, - { 7, 43, 24, 0, 7, 0 }, { 6, 43, 23, 0, 7, 0 }, { 5, 43, 22, 0, 7, 0 }, { 4, 44, 21, 0, 7, 0 }, { 3, 44, 20, 0, 7, 0 }, - { 2, 44, 19, 0, 7, 0 }, { 1, 44, 18, 0, 7, 0 }, { 0, 44, 18, 0, 7, 0 }, { -1, 44, 17, 0, 7, 0 }, { -2, 44, 16, 0, 7, 0 }, - { -3, 44, 15, 0, 7, 0 }, { -4, 45, 15, 0, 7, 0 }, { -5, 45, 14, 0, 7, 0 }, { -6, 45, 13, 0, 7, 0 }, { -7, 45, 12, 0, 7, 0 }, - { -8, 45, 11, 0, 7, 0 }, { -9, 45, 11, 0, 7, 0 }, { -10, 45, 10, 0, 6, 0 }, { -11, 45, 10, 0, 6, 0 }, { -12, 45, 9, 0, 6, 0 }, - { -13, 46, 9, 0, 6, 0 }, { -14, 46, 8, 0, 6, 0 }, { -15, 46, 8, 0, 6, 0 }, { -16, 46, 7, 0, 6, 0 }, { -17, 46, 7, 0, 6, 0 }, - { -18, 46, 6, 0, 6, 0 }, { -19, 46, 6, 0, 6, 0 }, { -20, 46, 5, 0, 6, 0 }, { -21, 46, 5, 0, 6, 0 }, { -22, 46, 4, 0, 6, 0 }, - { -23, 47, 4, 0, 6, 0 }, { -24, 47, 3, 0, 6, 0 }, { -25, 47, 3, 0, 6, 0 }, { -26, 47, 3, 0, 6, 0 }, { -27, 47, 2, 0, 6, 0 }, - { -28, 47, 2, 0, 6, 0 }, { -29, 47, 1, 0, 6, 0 }, { -30, 47, 1, 0, 6, 0 }, { -31, 47, 0, 0, 6, 0 }, { -32, 48, 0, 0, 6, 0 }, + 310, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 3, 0, 2, 0 }, { 22, 16, 4, 0, 2, 0 }, + { 21, 17, 4, 0, 2, 0 }, { 20, 17, 5, 0, 2, 0 }, { 19, 17, 5, 0, 2, 0 }, { 18, 17, 6, 0, 2, 0 }, { 17, 17, 6, 0, 2, 0 }, + { 16, 17, 7, 0, 2, 0 }, { 15, 17, 7, 0, 2, 0 }, { 14, 17, 8, 0, 2, 0 }, { 13, 17, 8, 0, 2, 0 }, { 12, 17, 9, 0, 3, 0 }, + { 11, 18, 9, 0, 3, 0 }, { 10, 18, 10, 0, 3, 0 }, { 9, 18, 10, 0, 3, 0 }, { 8, 18, 11, 0, 3, 0 }, { 7, 18, 11, 0, 3, 0 }, + { 6, 18, 12, 0, 3, 0 }, { 5, 18, 13, 0, 3, 0 }, { 4, 18, 14, 0, 3, 0 }, { 3, 18, 15, 0, 3, 0 }, { 2, 19, 15, 0, 3, 0 }, + { 1, 19, 16, 0, 3, 0 }, { 0, 19, 17, 0, 3, 0 }, { -1, 19, 18, 0, 3, 0 }, { -2, 19, 18, 0, 3, 0 }, { -3, 19, 19, 0, 3, 0 }, + { -4, 19, 20, 0, 3, 0 }, { -5, 19, 21, 0, 3, 0 }, { -6, 20, 22, 0, 3, 0 }, { -7, 20, 23, 0, 3, 0 }, { -8, 20, 24, 0, 3, 0 }, + { -9, 20, 25, 0, 3, 0 }, { -10, 20, 26, 0, 3, 0 }, { -11, 20, 27, 0, 4, 0 }, { -12, 20, 28, 0, 4, 0 }, { -13, 20, 29, 0, 4, 0 }, + { -13, 20, 30, 0, 4, 0 }, { -14, 21, 31, 0, 4, 0 }, { -15, 21, 32, 0, 4, 0 }, { -16, 21, 33, 0, 4, 0 }, { -16, 21, 34, 0, 4, 0 }, + { -17, 21, 35, 0, 4, 0 }, { -18, 21, 36, 0, 4, 0 }, { -19, 21, 37, 0, 4, 0 }, { -19, 21, 38, 0, 4, 0 }, { -20, 22, 39, 0, 4, 0 }, + { -20, 22, 40, 0, 4, 0 }, { -21, 22, 41, 0, 4, 0 }, { -22, 22, 42, 0, 4, 0 }, { -22, 22, 43, 0, 9, 0 }, { -23, 22, 44, 0, 9, 0 }, + { -24, 22, 45, 0, 9, 0 }, { -24, 22, 46, 0, 9, 0 }, { -25, 22, 47, 0, 9, 0 }, { -25, 22, 48, 0, 9, 0 }, { -25, 23, 49, 0, 9, 0 }, + { -26, 23, 50, 0, 9, 0 }, { -26, 23, 51, 0, 9, 0 }, { -26, 23, 52, 0, 9, 0 }, { -27, 23, 53, 0, 9, 0 }, { -27, 23, 54, 0, 9, 0 }, + { -27, 23, 55, 0, 9, 0 }, { -28, 23, 56, 0, 9, 0 }, { -28, 23, 57, 0, 9, 0 }, { -28, 23, 58, 0, 9, 0 }, { -29, 24, 59, 0, 9, 0 }, + { -29, 24, 60, 0, 9, 0 }, { -29, 24, 61, 0, 9, 0 }, { -30, 24, 62, 0, 9, 0 }, { -30, 24, 63, 0, 9, 0 }, { -30, 24, 64, 0, 10, 0 }, + { -30, 24, 65, 0, 10, 0 }, { -31, 24, 66, 0, 10, 0 }, { -31, 24, 67, 0, 10, 0 }, { -31, 24, 68, 0, 10, 0 }, { -31, 25, 69, 0, 10, 0 }, + { -31, 25, 70, 0, 10, 0 }, { -32, 25, 71, 0, 10, 0 }, { -32, 25, 72, 0, 10, 0 }, { -32, 25, 73, 0, 10, 0 }, { -32, 25, 74, 0, 10, 0 }, + { -32, 25, 75, 0, 10, 0 }, { -32, 25, 76, 0, 10, 0 }, { -32, 25, 77, 0, 10, 0 }, { -32, 25, 78, 0, 10, 0 }, { -32, 25, 79, 0, 10, 0 }, + { -32, 26, 80, 0, 10, 0 }, { -32, 26, 81, 0, 10, 0 }, { -32, 26, 82, 0, 10, 0 }, { -32, 26, 83, 0, 10, 0 }, { -32, 26, 84, 0, 10, 0 }, + { -32, 26, 85, 0, 10, 0 }, { -32, 26, 86, 0, 10, 0 }, { -32, 26, 87, 0, 10, 0 }, { -32, 26, 88, 0, 10, 0 }, { -32, 26, 89, 0, 10, 0 }, + { -32, 26, 90, 0, 10, 0 }, { -32, 26, 91, 0, 11, 0 }, { -32, 27, 92, 0, 11, 0 }, { -31, 27, 93, 0, 11, 0 }, { -31, 27, 94, 0, 11, 0 }, + { -31, 27, 95, 0, 11, 0 }, { -31, 27, 96, 0, 11, 0 }, { -31, 27, 97, 0, 11, 0 }, { -30, 27, 98, 0, 11, 0 }, { -30, 27, 99, 0, 11, 0 }, + { -30, 27, 100, 0, 11, 0 }, { -30, 27, 101, 0, 11, 0 }, { -29, 28, 102, 0, 11, 0 }, { -29, 28, 103, 0, 11, 0 }, { -29, 28, 104, 0, 11, 0 }, + { -28, 28, 105, 0, 12, 0 }, { -28, 28, 106, 0, 12, 0 }, { -27, 28, 107, 0, 12, 0 }, { -27, 28, 108, 0, 12, 0 }, { -26, 28, 109, 0, 12, 0 }, + { -26, 28, 110, 0, 12, 0 }, { -26, 28, 111, 0, 12, 0 }, { -25, 29, 112, 0, 12, 0 }, { -25, 29, 113, 0, 12, 0 }, { -24, 29, 114, 0, 13, 0 }, + { -24, 29, 115, 0, 13, 0 }, { -23, 29, 116, 0, 13, 0 }, { -22, 29, 117, 0, 13, 0 }, { -22, 29, 118, 0, 13, 0 }, { -21, 29, 119, 0, 13, 0 }, + { -20, 29, 120, 0, 13, 0 }, { -19, 30, 121, 0, 13, 0 }, { -18, 30, 122, 0, 14, 0 }, { -17, 30, 123, 0, 14, 0 }, { -16, 30, 124, 0, 14, 0 }, + { -15, 30, 124, 0, 14, 0 }, { -14, 30, 125, 0, 14, 0 }, { -13, 30, 126, 0, 15, 0 }, { -12, 30, 127, 0, 15, 0 }, { -11, 31, 128, 0, 15, 0 }, + { -10, 31, 128, 0, 15, 0 }, { -9, 31, 129, 0, 15, 0 }, { -8, 31, 129, 0, 16, 0 }, { -7, 31, 129, 0, 16, 0 }, { -6, 31, 130, 0, 16, 0 }, + { -5, 31, 130, 0, 16, 0 }, { -4, 31, 130, 0, 16, 0 }, { -3, 31, 130, 0, 16, 0 }, { -2, 31, 130, 0, 16, 0 }, { -1, 31, 130, 0, 16, 0 }, + { 0, 32, 130, 0, 16, 0 }, { 1, 32, 130, 0, 16, 0 }, { 2, 32, 130, 0, 16, 0 }, { 3, 32, 130, 0, 16, 0 }, { 4, 32, 130, 0, 23, 0 }, + { 5, 32, 130, 0, 23, 0 }, { 6, 32, 129, 0, 23, 0 }, { 7, 32, 129, 0, 23, 0 }, { 8, 32, 129, 0, 23, 0 }, { 9, 32, 128, 0, 22, 0 }, + { 10, 32, 128, 0, 22, 0 }, { 11, 33, 127, 0, 22, 0 }, { 12, 33, 126, 0, 22, 0 }, { 13, 33, 125, 0, 22, 0 }, { 14, 33, 124, 0, 21, 0 }, + { 15, 33, 124, 0, 21, 0 }, { 16, 33, 123, 0, 21, 0 }, { 17, 33, 122, 0, 21, 0 }, { 18, 33, 121, 0, 21, 0 }, { 19, 34, 120, 0, 21, 0 }, + { 20, 34, 119, 0, 21, 0 }, { 21, 34, 118, 0, 21, 0 }, { 21, 34, 117, 0, 20, 0 }, { 22, 34, 116, 0, 20, 0 }, { 23, 34, 115, 0, 20, 0 }, + { 23, 34, 114, 0, 20, 0 }, { 24, 34, 113, 0, 20, 0 }, { 24, 34, 112, 0, 20, 0 }, { 25, 35, 111, 0, 20, 0 }, { 25, 35, 110, 0, 20, 0 }, + { 25, 35, 109, 0, 20, 0 }, { 26, 35, 108, 0, 19, 0 }, { 26, 35, 107, 0, 19, 0 }, { 27, 35, 106, 0, 19, 0 }, { 27, 35, 105, 0, 19, 0 }, + { 28, 35, 104, 0, 19, 0 }, { 28, 35, 103, 0, 19, 0 }, { 28, 35, 102, 0, 19, 0 }, { 29, 36, 101, 0, 19, 0 }, { 29, 36, 100, 0, 19, 0 }, + { 29, 36, 99, 0, 19, 0 }, { 29, 36, 98, 0, 19, 0 }, { 30, 36, 97, 0, 19, 0 }, { 30, 36, 96, 0, 19, 0 }, { 30, 36, 95, 0, 19, 0 }, + { 30, 36, 94, 0, 18, 0 }, { 30, 36, 93, 0, 18, 0 }, { 31, 36, 92, 0, 18, 0 }, { 31, 37, 91, 0, 18, 0 }, { 31, 37, 90, 0, 18, 0 }, + { 31, 37, 89, 0, 18, 0 }, { 31, 37, 88, 0, 18, 0 }, { 31, 37, 87, 0, 18, 0 }, { 31, 37, 86, 0, 18, 0 }, { 31, 37, 85, 0, 18, 0 }, + { 31, 37, 84, 0, 18, 0 }, { 31, 37, 83, 0, 18, 0 }, { 31, 37, 82, 0, 18, 0 }, { 31, 37, 81, 0, 18, 0 }, { 31, 37, 80, 0, 18, 0 }, + { 31, 38, 79, 0, 18, 0 }, { 31, 38, 78, 0, 18, 0 }, { 31, 38, 77, 0, 18, 0 }, { 31, 38, 76, 0, 18, 0 }, { 31, 38, 75, 0, 18, 0 }, + { 31, 38, 74, 0, 18, 0 }, { 31, 38, 73, 0, 18, 0 }, { 31, 38, 72, 0, 18, 0 }, { 31, 38, 71, 0, 18, 0 }, { 30, 38, 70, 0, 18, 0 }, + { 30, 38, 69, 0, 18, 0 }, { 30, 39, 68, 0, 18, 0 }, { 30, 39, 67, 0, 17, 0 }, { 30, 39, 66, 0, 17, 0 }, { 29, 39, 65, 0, 17, 0 }, + { 29, 39, 64, 0, 17, 0 }, { 29, 39, 63, 0, 17, 0 }, { 29, 39, 62, 0, 17, 0 }, { 28, 39, 61, 0, 17, 0 }, { 28, 39, 60, 0, 17, 0 }, + { 28, 39, 59, 0, 17, 0 }, { 27, 40, 58, 0, 17, 0 }, { 27, 40, 57, 0, 17, 0 }, { 27, 40, 56, 0, 17, 0 }, { 26, 40, 55, 0, 17, 0 }, + { 26, 40, 54, 0, 17, 0 }, { 26, 40, 53, 0, 17, 0 }, { 25, 40, 52, 0, 17, 0 }, { 25, 40, 51, 0, 17, 0 }, { 25, 40, 50, 0, 17, 0 }, + { 24, 40, 49, 0, 17, 0 }, { 24, 41, 48, 0, 17, 0 }, { 24, 41, 47, 0, 17, 0 }, { 23, 41, 46, 0, 8, 0 }, { 23, 41, 45, 0, 8, 0 }, + { 22, 41, 44, 0, 8, 0 }, { 21, 41, 43, 0, 8, 0 }, { 21, 41, 42, 0, 8, 0 }, { 20, 41, 41, 0, 8, 0 }, { 19, 41, 40, 0, 8, 0 }, + { 19, 41, 39, 0, 8, 0 }, { 18, 42, 38, 0, 8, 0 }, { 18, 42, 37, 0, 8, 0 }, { 17, 42, 36, 0, 8, 0 }, { 16, 42, 35, 0, 8, 0 }, + { 15, 42, 34, 0, 8, 0 }, { 15, 42, 33, 0, 8, 0 }, { 14, 42, 32, 0, 8, 0 }, { 13, 42, 31, 0, 8, 0 }, { 12, 43, 30, 0, 7, 0 }, + { 12, 43, 29, 0, 7, 0 }, { 11, 43, 28, 0, 7, 0 }, { 10, 43, 27, 0, 7, 0 }, { 9, 43, 26, 0, 7, 0 }, { 8, 43, 25, 0, 7, 0 }, + { 7, 43, 24, 0, 7, 0 }, { 6, 43, 23, 0, 7, 0 }, { 5, 43, 22, 0, 7, 0 }, { 4, 44, 21, 0, 7, 0 }, { 3, 44, 20, 0, 7, 0 }, + { 2, 44, 19, 0, 7, 0 }, { 1, 44, 18, 0, 7, 0 }, { 0, 44, 18, 0, 7, 0 }, { -1, 44, 17, 0, 7, 0 }, { -2, 44, 16, 0, 7, 0 }, + { -3, 44, 15, 0, 7, 0 }, { -4, 45, 15, 0, 7, 0 }, { -5, 45, 14, 0, 7, 0 }, { -6, 45, 13, 0, 7, 0 }, { -7, 45, 12, 0, 7, 0 }, + { -8, 45, 11, 0, 7, 0 }, { -9, 45, 11, 0, 7, 0 }, { -10, 45, 10, 0, 6, 0 }, { -11, 45, 10, 0, 6, 0 }, { -12, 45, 9, 0, 6, 0 }, + { -13, 46, 9, 0, 6, 0 }, { -14, 46, 8, 0, 6, 0 }, { -15, 46, 8, 0, 6, 0 }, { -16, 46, 7, 0, 6, 0 }, { -17, 46, 7, 0, 6, 0 }, + { -18, 46, 6, 0, 6, 0 }, { -19, 46, 6, 0, 6, 0 }, { -20, 46, 5, 0, 6, 0 }, { -21, 46, 5, 0, 6, 0 }, { -22, 46, 4, 0, 6, 0 }, + { -23, 47, 4, 0, 6, 0 }, { -24, 47, 3, 0, 6, 0 }, { -25, 47, 3, 0, 6, 0 }, { -26, 47, 3, 0, 6, 0 }, { -27, 47, 2, 0, 6, 0 }, + { -28, 47, 2, 0, 6, 0 }, { -29, 47, 1, 0, 6, 0 }, { -30, 47, 1, 0, 6, 0 }, { -31, 47, 0, 0, 6, 0 }, { -32, 48, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D7B46 = { - 310, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 3, 8, 2, 0 }, { 16, 9, 4, 8, 2, 0 }, - { 17, 10, 4, 8, 2, 0 }, { 17, 11, 5, 8, 2, 0 }, { 17, 12, 5, 8, 2, 0 }, { 17, 13, 6, 8, 2, 0 }, { 17, 14, 6, 8, 2, 0 }, - { 17, 15, 7, 8, 2, 0 }, { 17, 16, 7, 8, 2, 0 }, { 17, 17, 8, 8, 2, 0 }, { 17, 18, 8, 8, 2, 0 }, { 17, 19, 9, 8, 3, 0 }, - { 18, 20, 9, 8, 3, 0 }, { 18, 21, 10, 8, 3, 0 }, { 18, 22, 10, 8, 3, 0 }, { 18, 23, 11, 8, 3, 0 }, { 18, 24, 11, 8, 3, 0 }, - { 18, 25, 12, 8, 3, 0 }, { 18, 26, 13, 8, 3, 0 }, { 18, 27, 14, 8, 3, 0 }, { 18, 28, 15, 8, 3, 0 }, { 19, 29, 15, 8, 3, 0 }, - { 19, 30, 16, 8, 3, 0 }, { 19, 31, 17, 8, 3, 0 }, { 19, 32, 18, 8, 3, 0 }, { 19, 33, 18, 8, 3, 0 }, { 19, 34, 19, 8, 3, 0 }, - { 19, 35, 20, 8, 3, 0 }, { 19, 36, 21, 8, 3, 0 }, { 20, 37, 22, 8, 3, 0 }, { 20, 38, 23, 8, 3, 0 }, { 20, 39, 24, 8, 3, 0 }, - { 20, 40, 25, 8, 3, 0 }, { 20, 41, 26, 8, 3, 0 }, { 20, 42, 27, 8, 4, 0 }, { 20, 43, 28, 8, 4, 0 }, { 20, 44, 29, 8, 4, 0 }, - { 20, 44, 30, 8, 4, 0 }, { 21, 45, 31, 8, 4, 0 }, { 21, 46, 32, 8, 4, 0 }, { 21, 47, 33, 8, 4, 0 }, { 21, 47, 34, 8, 4, 0 }, - { 21, 48, 35, 8, 4, 0 }, { 21, 49, 36, 8, 4, 0 }, { 21, 50, 37, 8, 4, 0 }, { 21, 50, 38, 8, 4, 0 }, { 22, 51, 39, 8, 4, 0 }, - { 22, 51, 40, 8, 4, 0 }, { 22, 52, 41, 8, 4, 0 }, { 22, 53, 42, 8, 4, 0 }, { 22, 53, 43, 8, 9, 0 }, { 22, 54, 44, 8, 9, 0 }, - { 22, 55, 45, 8, 9, 0 }, { 22, 55, 46, 8, 9, 0 }, { 22, 56, 47, 8, 9, 0 }, { 22, 56, 48, 8, 9, 0 }, { 23, 56, 49, 8, 9, 0 }, - { 23, 57, 50, 8, 9, 0 }, { 23, 57, 51, 8, 9, 0 }, { 23, 57, 52, 8, 9, 0 }, { 23, 58, 53, 8, 9, 0 }, { 23, 58, 54, 8, 9, 0 }, - { 23, 58, 55, 8, 9, 0 }, { 23, 59, 56, 8, 9, 0 }, { 23, 59, 57, 8, 9, 0 }, { 23, 59, 58, 8, 9, 0 }, { 24, 60, 59, 8, 9, 0 }, - { 24, 60, 60, 8, 9, 0 }, { 24, 60, 61, 8, 9, 0 }, { 24, 61, 62, 8, 9, 0 }, { 24, 61, 63, 8, 9, 0 }, { 24, 61, 64, 8, 10, 0 }, - { 24, 61, 65, 8, 10, 0 }, { 24, 62, 66, 8, 10, 0 }, { 24, 62, 67, 8, 10, 0 }, { 24, 62, 68, 8, 10, 0 }, { 25, 62, 69, 8, 10, 0 }, - { 25, 62, 70, 8, 10, 0 }, { 25, 63, 71, 8, 10, 0 }, { 25, 63, 72, 8, 10, 0 }, { 25, 63, 73, 8, 10, 0 }, { 25, 63, 74, 8, 10, 0 }, - { 25, 63, 75, 8, 10, 0 }, { 25, 63, 76, 8, 10, 0 }, { 25, 63, 77, 8, 10, 0 }, { 25, 63, 78, 8, 10, 0 }, { 25, 63, 79, 8, 10, 0 }, - { 26, 63, 80, 8, 10, 0 }, { 26, 63, 81, 8, 10, 0 }, { 26, 63, 82, 8, 10, 0 }, { 26, 63, 83, 8, 10, 0 }, { 26, 63, 84, 8, 10, 0 }, - { 26, 63, 85, 8, 10, 0 }, { 26, 63, 86, 8, 10, 0 }, { 26, 63, 87, 8, 10, 0 }, { 26, 63, 88, 8, 10, 0 }, { 26, 63, 89, 8, 10, 0 }, - { 26, 63, 90, 8, 10, 0 }, { 26, 63, 91, 8, 11, 0 }, { 27, 63, 92, 8, 11, 0 }, { 27, 62, 93, 8, 11, 0 }, { 27, 62, 94, 8, 11, 0 }, - { 27, 62, 95, 8, 11, 0 }, { 27, 62, 96, 8, 11, 0 }, { 27, 62, 97, 8, 11, 0 }, { 27, 61, 98, 8, 11, 0 }, { 27, 61, 99, 8, 11, 0 }, - { 27, 61, 100, 8, 11, 0 }, { 27, 61, 101, 8, 11, 0 }, { 28, 60, 102, 8, 11, 0 }, { 28, 60, 103, 8, 11, 0 }, { 28, 60, 104, 8, 11, 0 }, - { 28, 59, 105, 8, 12, 0 }, { 28, 59, 106, 8, 12, 0 }, { 28, 58, 107, 8, 12, 0 }, { 28, 58, 108, 8, 12, 0 }, { 28, 57, 109, 8, 12, 0 }, - { 28, 57, 110, 8, 12, 0 }, { 28, 57, 111, 8, 12, 0 }, { 29, 56, 112, 8, 12, 0 }, { 29, 56, 113, 8, 12, 0 }, { 29, 55, 114, 8, 13, 0 }, - { 29, 55, 115, 8, 13, 0 }, { 29, 54, 116, 8, 13, 0 }, { 29, 53, 117, 8, 13, 0 }, { 29, 53, 118, 8, 13, 0 }, { 29, 52, 119, 8, 13, 0 }, - { 29, 51, 120, 8, 13, 0 }, { 30, 50, 121, 8, 13, 0 }, { 30, 49, 122, 8, 14, 0 }, { 30, 48, 123, 8, 14, 0 }, { 30, 47, 124, 8, 14, 0 }, - { 30, 46, 124, 8, 14, 0 }, { 30, 45, 125, 8, 14, 0 }, { 30, 44, 126, 8, 15, 0 }, { 30, 43, 127, 8, 15, 0 }, { 31, 42, 128, 8, 15, 0 }, - { 31, 41, 128, 8, 15, 0 }, { 31, 40, 129, 8, 15, 0 }, { 31, 39, 129, 8, 16, 0 }, { 31, 38, 129, 8, 16, 0 }, { 31, 37, 130, 8, 16, 0 }, - { 31, 36, 130, 8, 16, 0 }, { 31, 35, 130, 8, 16, 0 }, { 31, 34, 130, 8, 16, 0 }, { 31, 33, 130, 8, 16, 0 }, { 31, 32, 130, 8, 16, 0 }, - { 32, 31, 130, 8, 16, 0 }, { 32, 30, 130, 8, 16, 0 }, { 32, 29, 130, 8, 16, 0 }, { 32, 28, 130, 8, 16, 0 }, { 32, 27, 130, 8, 23, 0 }, - { 32, 26, 130, 8, 23, 0 }, { 32, 25, 129, 8, 23, 0 }, { 32, 24, 129, 8, 23, 0 }, { 32, 23, 129, 8, 23, 0 }, { 32, 22, 128, 8, 22, 0 }, - { 32, 21, 128, 8, 22, 0 }, { 33, 20, 127, 8, 22, 0 }, { 33, 19, 126, 8, 22, 0 }, { 33, 18, 125, 8, 22, 0 }, { 33, 17, 124, 8, 21, 0 }, - { 33, 16, 124, 8, 21, 0 }, { 33, 15, 123, 8, 21, 0 }, { 33, 14, 122, 8, 21, 0 }, { 33, 13, 121, 8, 21, 0 }, { 34, 12, 120, 8, 21, 0 }, - { 34, 11, 119, 8, 21, 0 }, { 34, 10, 118, 8, 21, 0 }, { 34, 10, 117, 8, 20, 0 }, { 34, 9, 116, 8, 20, 0 }, { 34, 8, 115, 8, 20, 0 }, - { 34, 8, 114, 8, 20, 0 }, { 34, 7, 113, 8, 20, 0 }, { 34, 7, 112, 8, 20, 0 }, { 35, 6, 111, 8, 20, 0 }, { 35, 6, 110, 8, 20, 0 }, - { 35, 6, 109, 8, 20, 0 }, { 35, 5, 108, 8, 19, 0 }, { 35, 5, 107, 8, 19, 0 }, { 35, 4, 106, 8, 19, 0 }, { 35, 4, 105, 8, 19, 0 }, - { 35, 3, 104, 8, 19, 0 }, { 35, 3, 103, 8, 19, 0 }, { 35, 3, 102, 8, 19, 0 }, { 36, 2, 101, 8, 19, 0 }, { 36, 2, 100, 8, 19, 0 }, - { 36, 2, 99, 8, 19, 0 }, { 36, 2, 98, 8, 19, 0 }, { 36, 1, 97, 8, 19, 0 }, { 36, 1, 96, 8, 19, 0 }, { 36, 1, 95, 8, 19, 0 }, - { 36, 1, 94, 8, 18, 0 }, { 36, 1, 93, 8, 18, 0 }, { 36, 0, 92, 8, 18, 0 }, { 37, 0, 91, 8, 18, 0 }, { 37, 0, 90, 8, 18, 0 }, - { 37, 0, 89, 8, 18, 0 }, { 37, 0, 88, 8, 18, 0 }, { 37, 0, 87, 8, 18, 0 }, { 37, 0, 86, 8, 18, 0 }, { 37, 0, 85, 8, 18, 0 }, - { 37, 0, 84, 8, 18, 0 }, { 37, 0, 83, 8, 18, 0 }, { 37, 0, 82, 8, 18, 0 }, { 37, 0, 81, 8, 18, 0 }, { 37, 0, 80, 8, 18, 0 }, - { 38, 0, 79, 8, 18, 0 }, { 38, 0, 78, 8, 18, 0 }, { 38, 0, 77, 8, 18, 0 }, { 38, 0, 76, 8, 18, 0 }, { 38, 0, 75, 8, 18, 0 }, - { 38, 0, 74, 8, 18, 0 }, { 38, 0, 73, 8, 18, 0 }, { 38, 0, 72, 8, 18, 0 }, { 38, 0, 71, 8, 18, 0 }, { 38, 1, 70, 8, 18, 0 }, - { 38, 1, 69, 8, 18, 0 }, { 39, 1, 68, 8, 18, 0 }, { 39, 1, 67, 8, 17, 0 }, { 39, 1, 66, 8, 17, 0 }, { 39, 2, 65, 8, 17, 0 }, - { 39, 2, 64, 8, 17, 0 }, { 39, 2, 63, 8, 17, 0 }, { 39, 2, 62, 8, 17, 0 }, { 39, 3, 61, 8, 17, 0 }, { 39, 3, 60, 8, 17, 0 }, - { 39, 3, 59, 8, 17, 0 }, { 40, 4, 58, 8, 17, 0 }, { 40, 4, 57, 8, 17, 0 }, { 40, 4, 56, 8, 17, 0 }, { 40, 5, 55, 8, 17, 0 }, - { 40, 5, 54, 8, 17, 0 }, { 40, 5, 53, 8, 17, 0 }, { 40, 6, 52, 8, 17, 0 }, { 40, 6, 51, 8, 17, 0 }, { 40, 6, 50, 8, 17, 0 }, - { 40, 7, 49, 8, 17, 0 }, { 41, 7, 48, 8, 17, 0 }, { 41, 7, 47, 8, 17, 0 }, { 41, 8, 46, 8, 8, 0 }, { 41, 8, 45, 8, 8, 0 }, - { 41, 9, 44, 8, 8, 0 }, { 41, 10, 43, 8, 8, 0 }, { 41, 10, 42, 8, 8, 0 }, { 41, 11, 41, 8, 8, 0 }, { 41, 12, 40, 8, 8, 0 }, - { 41, 12, 39, 8, 8, 0 }, { 42, 13, 38, 8, 8, 0 }, { 42, 13, 37, 8, 8, 0 }, { 42, 14, 36, 8, 8, 0 }, { 42, 15, 35, 8, 8, 0 }, - { 42, 16, 34, 8, 8, 0 }, { 42, 16, 33, 8, 8, 0 }, { 42, 17, 32, 8, 8, 0 }, { 42, 18, 31, 8, 8, 0 }, { 43, 19, 30, 8, 7, 0 }, - { 43, 19, 29, 8, 7, 0 }, { 43, 20, 28, 8, 7, 0 }, { 43, 21, 27, 8, 7, 0 }, { 43, 22, 26, 8, 7, 0 }, { 43, 23, 25, 8, 7, 0 }, - { 43, 24, 24, 8, 7, 0 }, { 43, 25, 23, 8, 7, 0 }, { 43, 26, 22, 8, 7, 0 }, { 44, 27, 21, 8, 7, 0 }, { 44, 28, 20, 8, 7, 0 }, - { 44, 29, 19, 8, 7, 0 }, { 44, 30, 18, 8, 7, 0 }, { 44, 31, 18, 8, 7, 0 }, { 44, 32, 17, 8, 7, 0 }, { 44, 33, 16, 8, 7, 0 }, - { 44, 34, 15, 8, 7, 0 }, { 45, 35, 15, 8, 7, 0 }, { 45, 36, 14, 8, 7, 0 }, { 45, 37, 13, 8, 7, 0 }, { 45, 38, 12, 8, 7, 0 }, - { 45, 39, 11, 8, 7, 0 }, { 45, 40, 11, 8, 7, 0 }, { 45, 41, 10, 8, 6, 0 }, { 45, 42, 10, 8, 6, 0 }, { 45, 43, 9, 8, 6, 0 }, - { 46, 44, 9, 8, 6, 0 }, { 46, 45, 8, 8, 6, 0 }, { 46, 46, 8, 8, 6, 0 }, { 46, 47, 7, 8, 6, 0 }, { 46, 48, 7, 8, 6, 0 }, - { 46, 49, 6, 8, 6, 0 }, { 46, 50, 6, 8, 6, 0 }, { 46, 51, 5, 8, 6, 0 }, { 46, 52, 5, 8, 6, 0 }, { 46, 53, 4, 8, 6, 0 }, - { 47, 54, 4, 8, 6, 0 }, { 47, 55, 3, 8, 6, 0 }, { 47, 56, 3, 8, 6, 0 }, { 47, 57, 3, 8, 6, 0 }, { 47, 58, 2, 8, 6, 0 }, - { 47, 59, 2, 8, 6, 0 }, { 47, 60, 1, 8, 6, 0 }, { 47, 61, 1, 8, 6, 0 }, { 47, 62, 0, 8, 6, 0 }, { 48, 63, 0, 8, 6, 0 }, + 310, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 3, 8, 2, 0 }, { 16, 9, 4, 8, 2, 0 }, + { 17, 10, 4, 8, 2, 0 }, { 17, 11, 5, 8, 2, 0 }, { 17, 12, 5, 8, 2, 0 }, { 17, 13, 6, 8, 2, 0 }, { 17, 14, 6, 8, 2, 0 }, + { 17, 15, 7, 8, 2, 0 }, { 17, 16, 7, 8, 2, 0 }, { 17, 17, 8, 8, 2, 0 }, { 17, 18, 8, 8, 2, 0 }, { 17, 19, 9, 8, 3, 0 }, + { 18, 20, 9, 8, 3, 0 }, { 18, 21, 10, 8, 3, 0 }, { 18, 22, 10, 8, 3, 0 }, { 18, 23, 11, 8, 3, 0 }, { 18, 24, 11, 8, 3, 0 }, + { 18, 25, 12, 8, 3, 0 }, { 18, 26, 13, 8, 3, 0 }, { 18, 27, 14, 8, 3, 0 }, { 18, 28, 15, 8, 3, 0 }, { 19, 29, 15, 8, 3, 0 }, + { 19, 30, 16, 8, 3, 0 }, { 19, 31, 17, 8, 3, 0 }, { 19, 32, 18, 8, 3, 0 }, { 19, 33, 18, 8, 3, 0 }, { 19, 34, 19, 8, 3, 0 }, + { 19, 35, 20, 8, 3, 0 }, { 19, 36, 21, 8, 3, 0 }, { 20, 37, 22, 8, 3, 0 }, { 20, 38, 23, 8, 3, 0 }, { 20, 39, 24, 8, 3, 0 }, + { 20, 40, 25, 8, 3, 0 }, { 20, 41, 26, 8, 3, 0 }, { 20, 42, 27, 8, 4, 0 }, { 20, 43, 28, 8, 4, 0 }, { 20, 44, 29, 8, 4, 0 }, + { 20, 44, 30, 8, 4, 0 }, { 21, 45, 31, 8, 4, 0 }, { 21, 46, 32, 8, 4, 0 }, { 21, 47, 33, 8, 4, 0 }, { 21, 47, 34, 8, 4, 0 }, + { 21, 48, 35, 8, 4, 0 }, { 21, 49, 36, 8, 4, 0 }, { 21, 50, 37, 8, 4, 0 }, { 21, 50, 38, 8, 4, 0 }, { 22, 51, 39, 8, 4, 0 }, + { 22, 51, 40, 8, 4, 0 }, { 22, 52, 41, 8, 4, 0 }, { 22, 53, 42, 8, 4, 0 }, { 22, 53, 43, 8, 9, 0 }, { 22, 54, 44, 8, 9, 0 }, + { 22, 55, 45, 8, 9, 0 }, { 22, 55, 46, 8, 9, 0 }, { 22, 56, 47, 8, 9, 0 }, { 22, 56, 48, 8, 9, 0 }, { 23, 56, 49, 8, 9, 0 }, + { 23, 57, 50, 8, 9, 0 }, { 23, 57, 51, 8, 9, 0 }, { 23, 57, 52, 8, 9, 0 }, { 23, 58, 53, 8, 9, 0 }, { 23, 58, 54, 8, 9, 0 }, + { 23, 58, 55, 8, 9, 0 }, { 23, 59, 56, 8, 9, 0 }, { 23, 59, 57, 8, 9, 0 }, { 23, 59, 58, 8, 9, 0 }, { 24, 60, 59, 8, 9, 0 }, + { 24, 60, 60, 8, 9, 0 }, { 24, 60, 61, 8, 9, 0 }, { 24, 61, 62, 8, 9, 0 }, { 24, 61, 63, 8, 9, 0 }, { 24, 61, 64, 8, 10, 0 }, + { 24, 61, 65, 8, 10, 0 }, { 24, 62, 66, 8, 10, 0 }, { 24, 62, 67, 8, 10, 0 }, { 24, 62, 68, 8, 10, 0 }, { 25, 62, 69, 8, 10, 0 }, + { 25, 62, 70, 8, 10, 0 }, { 25, 63, 71, 8, 10, 0 }, { 25, 63, 72, 8, 10, 0 }, { 25, 63, 73, 8, 10, 0 }, { 25, 63, 74, 8, 10, 0 }, + { 25, 63, 75, 8, 10, 0 }, { 25, 63, 76, 8, 10, 0 }, { 25, 63, 77, 8, 10, 0 }, { 25, 63, 78, 8, 10, 0 }, { 25, 63, 79, 8, 10, 0 }, + { 26, 63, 80, 8, 10, 0 }, { 26, 63, 81, 8, 10, 0 }, { 26, 63, 82, 8, 10, 0 }, { 26, 63, 83, 8, 10, 0 }, { 26, 63, 84, 8, 10, 0 }, + { 26, 63, 85, 8, 10, 0 }, { 26, 63, 86, 8, 10, 0 }, { 26, 63, 87, 8, 10, 0 }, { 26, 63, 88, 8, 10, 0 }, { 26, 63, 89, 8, 10, 0 }, + { 26, 63, 90, 8, 10, 0 }, { 26, 63, 91, 8, 11, 0 }, { 27, 63, 92, 8, 11, 0 }, { 27, 62, 93, 8, 11, 0 }, { 27, 62, 94, 8, 11, 0 }, + { 27, 62, 95, 8, 11, 0 }, { 27, 62, 96, 8, 11, 0 }, { 27, 62, 97, 8, 11, 0 }, { 27, 61, 98, 8, 11, 0 }, { 27, 61, 99, 8, 11, 0 }, + { 27, 61, 100, 8, 11, 0 }, { 27, 61, 101, 8, 11, 0 }, { 28, 60, 102, 8, 11, 0 }, { 28, 60, 103, 8, 11, 0 }, { 28, 60, 104, 8, 11, 0 }, + { 28, 59, 105, 8, 12, 0 }, { 28, 59, 106, 8, 12, 0 }, { 28, 58, 107, 8, 12, 0 }, { 28, 58, 108, 8, 12, 0 }, { 28, 57, 109, 8, 12, 0 }, + { 28, 57, 110, 8, 12, 0 }, { 28, 57, 111, 8, 12, 0 }, { 29, 56, 112, 8, 12, 0 }, { 29, 56, 113, 8, 12, 0 }, { 29, 55, 114, 8, 13, 0 }, + { 29, 55, 115, 8, 13, 0 }, { 29, 54, 116, 8, 13, 0 }, { 29, 53, 117, 8, 13, 0 }, { 29, 53, 118, 8, 13, 0 }, { 29, 52, 119, 8, 13, 0 }, + { 29, 51, 120, 8, 13, 0 }, { 30, 50, 121, 8, 13, 0 }, { 30, 49, 122, 8, 14, 0 }, { 30, 48, 123, 8, 14, 0 }, { 30, 47, 124, 8, 14, 0 }, + { 30, 46, 124, 8, 14, 0 }, { 30, 45, 125, 8, 14, 0 }, { 30, 44, 126, 8, 15, 0 }, { 30, 43, 127, 8, 15, 0 }, { 31, 42, 128, 8, 15, 0 }, + { 31, 41, 128, 8, 15, 0 }, { 31, 40, 129, 8, 15, 0 }, { 31, 39, 129, 8, 16, 0 }, { 31, 38, 129, 8, 16, 0 }, { 31, 37, 130, 8, 16, 0 }, + { 31, 36, 130, 8, 16, 0 }, { 31, 35, 130, 8, 16, 0 }, { 31, 34, 130, 8, 16, 0 }, { 31, 33, 130, 8, 16, 0 }, { 31, 32, 130, 8, 16, 0 }, + { 32, 31, 130, 8, 16, 0 }, { 32, 30, 130, 8, 16, 0 }, { 32, 29, 130, 8, 16, 0 }, { 32, 28, 130, 8, 16, 0 }, { 32, 27, 130, 8, 23, 0 }, + { 32, 26, 130, 8, 23, 0 }, { 32, 25, 129, 8, 23, 0 }, { 32, 24, 129, 8, 23, 0 }, { 32, 23, 129, 8, 23, 0 }, { 32, 22, 128, 8, 22, 0 }, + { 32, 21, 128, 8, 22, 0 }, { 33, 20, 127, 8, 22, 0 }, { 33, 19, 126, 8, 22, 0 }, { 33, 18, 125, 8, 22, 0 }, { 33, 17, 124, 8, 21, 0 }, + { 33, 16, 124, 8, 21, 0 }, { 33, 15, 123, 8, 21, 0 }, { 33, 14, 122, 8, 21, 0 }, { 33, 13, 121, 8, 21, 0 }, { 34, 12, 120, 8, 21, 0 }, + { 34, 11, 119, 8, 21, 0 }, { 34, 10, 118, 8, 21, 0 }, { 34, 10, 117, 8, 20, 0 }, { 34, 9, 116, 8, 20, 0 }, { 34, 8, 115, 8, 20, 0 }, + { 34, 8, 114, 8, 20, 0 }, { 34, 7, 113, 8, 20, 0 }, { 34, 7, 112, 8, 20, 0 }, { 35, 6, 111, 8, 20, 0 }, { 35, 6, 110, 8, 20, 0 }, + { 35, 6, 109, 8, 20, 0 }, { 35, 5, 108, 8, 19, 0 }, { 35, 5, 107, 8, 19, 0 }, { 35, 4, 106, 8, 19, 0 }, { 35, 4, 105, 8, 19, 0 }, + { 35, 3, 104, 8, 19, 0 }, { 35, 3, 103, 8, 19, 0 }, { 35, 3, 102, 8, 19, 0 }, { 36, 2, 101, 8, 19, 0 }, { 36, 2, 100, 8, 19, 0 }, + { 36, 2, 99, 8, 19, 0 }, { 36, 2, 98, 8, 19, 0 }, { 36, 1, 97, 8, 19, 0 }, { 36, 1, 96, 8, 19, 0 }, { 36, 1, 95, 8, 19, 0 }, + { 36, 1, 94, 8, 18, 0 }, { 36, 1, 93, 8, 18, 0 }, { 36, 0, 92, 8, 18, 0 }, { 37, 0, 91, 8, 18, 0 }, { 37, 0, 90, 8, 18, 0 }, + { 37, 0, 89, 8, 18, 0 }, { 37, 0, 88, 8, 18, 0 }, { 37, 0, 87, 8, 18, 0 }, { 37, 0, 86, 8, 18, 0 }, { 37, 0, 85, 8, 18, 0 }, + { 37, 0, 84, 8, 18, 0 }, { 37, 0, 83, 8, 18, 0 }, { 37, 0, 82, 8, 18, 0 }, { 37, 0, 81, 8, 18, 0 }, { 37, 0, 80, 8, 18, 0 }, + { 38, 0, 79, 8, 18, 0 }, { 38, 0, 78, 8, 18, 0 }, { 38, 0, 77, 8, 18, 0 }, { 38, 0, 76, 8, 18, 0 }, { 38, 0, 75, 8, 18, 0 }, + { 38, 0, 74, 8, 18, 0 }, { 38, 0, 73, 8, 18, 0 }, { 38, 0, 72, 8, 18, 0 }, { 38, 0, 71, 8, 18, 0 }, { 38, 1, 70, 8, 18, 0 }, + { 38, 1, 69, 8, 18, 0 }, { 39, 1, 68, 8, 18, 0 }, { 39, 1, 67, 8, 17, 0 }, { 39, 1, 66, 8, 17, 0 }, { 39, 2, 65, 8, 17, 0 }, + { 39, 2, 64, 8, 17, 0 }, { 39, 2, 63, 8, 17, 0 }, { 39, 2, 62, 8, 17, 0 }, { 39, 3, 61, 8, 17, 0 }, { 39, 3, 60, 8, 17, 0 }, + { 39, 3, 59, 8, 17, 0 }, { 40, 4, 58, 8, 17, 0 }, { 40, 4, 57, 8, 17, 0 }, { 40, 4, 56, 8, 17, 0 }, { 40, 5, 55, 8, 17, 0 }, + { 40, 5, 54, 8, 17, 0 }, { 40, 5, 53, 8, 17, 0 }, { 40, 6, 52, 8, 17, 0 }, { 40, 6, 51, 8, 17, 0 }, { 40, 6, 50, 8, 17, 0 }, + { 40, 7, 49, 8, 17, 0 }, { 41, 7, 48, 8, 17, 0 }, { 41, 7, 47, 8, 17, 0 }, { 41, 8, 46, 8, 8, 0 }, { 41, 8, 45, 8, 8, 0 }, + { 41, 9, 44, 8, 8, 0 }, { 41, 10, 43, 8, 8, 0 }, { 41, 10, 42, 8, 8, 0 }, { 41, 11, 41, 8, 8, 0 }, { 41, 12, 40, 8, 8, 0 }, + { 41, 12, 39, 8, 8, 0 }, { 42, 13, 38, 8, 8, 0 }, { 42, 13, 37, 8, 8, 0 }, { 42, 14, 36, 8, 8, 0 }, { 42, 15, 35, 8, 8, 0 }, + { 42, 16, 34, 8, 8, 0 }, { 42, 16, 33, 8, 8, 0 }, { 42, 17, 32, 8, 8, 0 }, { 42, 18, 31, 8, 8, 0 }, { 43, 19, 30, 8, 7, 0 }, + { 43, 19, 29, 8, 7, 0 }, { 43, 20, 28, 8, 7, 0 }, { 43, 21, 27, 8, 7, 0 }, { 43, 22, 26, 8, 7, 0 }, { 43, 23, 25, 8, 7, 0 }, + { 43, 24, 24, 8, 7, 0 }, { 43, 25, 23, 8, 7, 0 }, { 43, 26, 22, 8, 7, 0 }, { 44, 27, 21, 8, 7, 0 }, { 44, 28, 20, 8, 7, 0 }, + { 44, 29, 19, 8, 7, 0 }, { 44, 30, 18, 8, 7, 0 }, { 44, 31, 18, 8, 7, 0 }, { 44, 32, 17, 8, 7, 0 }, { 44, 33, 16, 8, 7, 0 }, + { 44, 34, 15, 8, 7, 0 }, { 45, 35, 15, 8, 7, 0 }, { 45, 36, 14, 8, 7, 0 }, { 45, 37, 13, 8, 7, 0 }, { 45, 38, 12, 8, 7, 0 }, + { 45, 39, 11, 8, 7, 0 }, { 45, 40, 11, 8, 7, 0 }, { 45, 41, 10, 8, 6, 0 }, { 45, 42, 10, 8, 6, 0 }, { 45, 43, 9, 8, 6, 0 }, + { 46, 44, 9, 8, 6, 0 }, { 46, 45, 8, 8, 6, 0 }, { 46, 46, 8, 8, 6, 0 }, { 46, 47, 7, 8, 6, 0 }, { 46, 48, 7, 8, 6, 0 }, + { 46, 49, 6, 8, 6, 0 }, { 46, 50, 6, 8, 6, 0 }, { 46, 51, 5, 8, 6, 0 }, { 46, 52, 5, 8, 6, 0 }, { 46, 53, 4, 8, 6, 0 }, + { 47, 54, 4, 8, 6, 0 }, { 47, 55, 3, 8, 6, 0 }, { 47, 56, 3, 8, 6, 0 }, { 47, 57, 3, 8, 6, 0 }, { 47, 58, 2, 8, 6, 0 }, + { 47, 59, 2, 8, 6, 0 }, { 47, 60, 1, 8, 6, 0 }, { 47, 61, 1, 8, 6, 0 }, { 47, 62, 0, 8, 6, 0 }, { 48, 63, 0, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D862E = { - 310, { - { 0, 16, 0, 16, 2, 0 }, { 1, 15, 0, 16, 2, 0 }, { 2, 15, 1, 16, 2, 0 }, { 3, 15, 1, 16, 2, 0 }, { 4, 15, 2, 16, 2, 0 }, - { 5, 15, 2, 16, 2, 0 }, { 6, 15, 3, 16, 2, 0 }, { 7, 15, 3, 16, 2, 0 }, { 8, 15, 3, 16, 2, 0 }, { 9, 15, 4, 16, 2, 0 }, - { 10, 14, 4, 16, 2, 0 }, { 11, 14, 5, 16, 2, 0 }, { 12, 14, 5, 16, 2, 0 }, { 13, 14, 6, 16, 2, 0 }, { 14, 14, 6, 16, 2, 0 }, - { 15, 14, 7, 16, 2, 0 }, { 16, 14, 7, 16, 2, 0 }, { 17, 14, 8, 16, 2, 0 }, { 18, 14, 8, 16, 2, 0 }, { 19, 14, 9, 16, 3, 0 }, - { 20, 13, 9, 16, 3, 0 }, { 21, 13, 10, 16, 3, 0 }, { 22, 13, 10, 16, 3, 0 }, { 23, 13, 11, 16, 3, 0 }, { 24, 13, 11, 16, 3, 0 }, - { 25, 13, 12, 16, 3, 0 }, { 26, 13, 13, 16, 3, 0 }, { 27, 13, 14, 16, 3, 0 }, { 28, 13, 15, 16, 3, 0 }, { 29, 12, 15, 16, 3, 0 }, - { 30, 12, 16, 16, 3, 0 }, { 31, 12, 17, 16, 3, 0 }, { 32, 12, 18, 16, 3, 0 }, { 33, 12, 18, 16, 3, 0 }, { 34, 12, 19, 16, 3, 0 }, - { 35, 12, 20, 16, 3, 0 }, { 36, 12, 21, 16, 3, 0 }, { 37, 11, 22, 16, 3, 0 }, { 38, 11, 23, 16, 3, 0 }, { 39, 11, 24, 16, 3, 0 }, - { 40, 11, 25, 16, 3, 0 }, { 41, 11, 26, 16, 3, 0 }, { 42, 11, 27, 16, 4, 0 }, { 43, 11, 28, 16, 4, 0 }, { 44, 11, 29, 16, 4, 0 }, - { 44, 11, 30, 16, 4, 0 }, { 45, 10, 31, 16, 4, 0 }, { 46, 10, 32, 16, 4, 0 }, { 47, 10, 33, 16, 4, 0 }, { 47, 10, 34, 16, 4, 0 }, - { 48, 10, 35, 16, 4, 0 }, { 49, 10, 36, 16, 4, 0 }, { 50, 10, 37, 16, 4, 0 }, { 50, 10, 38, 16, 4, 0 }, { 51, 10, 39, 16, 4, 0 }, - { 51, 9, 40, 16, 4, 0 }, { 52, 9, 41, 16, 4, 0 }, { 53, 9, 42, 16, 4, 0 }, { 53, 9, 43, 16, 9, 0 }, { 54, 9, 44, 16, 9, 0 }, - { 55, 9, 45, 16, 9, 0 }, { 55, 9, 46, 16, 9, 0 }, { 56, 9, 47, 16, 9, 0 }, { 56, 9, 48, 16, 9, 0 }, { 56, 8, 49, 16, 9, 0 }, - { 57, 8, 50, 16, 9, 0 }, { 57, 8, 51, 16, 9, 0 }, { 57, 8, 52, 16, 9, 0 }, { 58, 8, 53, 16, 9, 0 }, { 58, 8, 54, 16, 9, 0 }, - { 58, 8, 55, 16, 9, 0 }, { 59, 8, 56, 16, 9, 0 }, { 59, 8, 57, 16, 9, 0 }, { 59, 8, 58, 16, 9, 0 }, { 60, 7, 59, 16, 9, 0 }, - { 60, 7, 60, 16, 9, 0 }, { 60, 7, 61, 16, 9, 0 }, { 61, 7, 62, 16, 9, 0 }, { 61, 7, 63, 16, 9, 0 }, { 61, 7, 64, 16, 10, 0 }, - { 61, 7, 65, 16, 10, 0 }, { 62, 7, 66, 16, 10, 0 }, { 62, 7, 67, 16, 10, 0 }, { 62, 7, 68, 16, 10, 0 }, { 62, 6, 69, 16, 10, 0 }, - { 62, 6, 70, 16, 10, 0 }, { 63, 6, 71, 16, 10, 0 }, { 63, 6, 72, 16, 10, 0 }, { 63, 6, 73, 16, 10, 0 }, { 63, 6, 74, 16, 10, 0 }, - { 63, 6, 75, 16, 10, 0 }, { 63, 6, 76, 16, 10, 0 }, { 63, 6, 77, 16, 10, 0 }, { 63, 6, 78, 16, 10, 0 }, { 63, 6, 79, 16, 10, 0 }, - { 63, 5, 80, 16, 10, 0 }, { 63, 5, 81, 16, 10, 0 }, { 63, 5, 82, 16, 10, 0 }, { 63, 5, 83, 16, 10, 0 }, { 63, 5, 84, 16, 10, 0 }, - { 63, 5, 85, 16, 10, 0 }, { 63, 5, 86, 16, 10, 0 }, { 63, 5, 87, 16, 10, 0 }, { 63, 5, 88, 16, 10, 0 }, { 63, 5, 89, 16, 10, 0 }, - { 63, 5, 90, 16, 10, 0 }, { 63, 5, 91, 16, 11, 0 }, { 63, 4, 92, 16, 11, 0 }, { 62, 4, 93, 16, 11, 0 }, { 62, 4, 94, 16, 11, 0 }, - { 62, 4, 95, 16, 11, 0 }, { 62, 4, 96, 16, 11, 0 }, { 62, 4, 97, 16, 11, 0 }, { 61, 4, 98, 16, 11, 0 }, { 61, 4, 99, 16, 11, 0 }, - { 61, 4, 100, 16, 11, 0 }, { 61, 4, 101, 16, 11, 0 }, { 60, 3, 102, 16, 11, 0 }, { 60, 3, 103, 16, 11, 0 }, { 60, 3, 104, 16, 11, 0 }, - { 59, 3, 105, 16, 12, 0 }, { 59, 3, 106, 16, 12, 0 }, { 58, 3, 107, 16, 12, 0 }, { 58, 3, 108, 16, 12, 0 }, { 57, 3, 109, 16, 12, 0 }, - { 57, 3, 110, 16, 12, 0 }, { 57, 3, 111, 16, 12, 0 }, { 56, 2, 112, 16, 12, 0 }, { 56, 2, 113, 16, 12, 0 }, { 55, 2, 114, 16, 13, 0 }, - { 55, 2, 115, 16, 13, 0 }, { 54, 2, 116, 16, 13, 0 }, { 53, 2, 117, 16, 13, 0 }, { 53, 2, 118, 16, 13, 0 }, { 52, 2, 119, 16, 13, 0 }, - { 51, 2, 120, 16, 13, 0 }, { 50, 1, 121, 16, 13, 0 }, { 49, 1, 122, 16, 14, 0 }, { 48, 1, 123, 16, 14, 0 }, { 47, 1, 124, 16, 14, 0 }, - { 46, 1, 124, 16, 14, 0 }, { 45, 1, 125, 16, 14, 0 }, { 44, 1, 126, 16, 15, 0 }, { 43, 1, 127, 16, 15, 0 }, { 42, 0, 128, 16, 15, 0 }, - { 41, 0, 128, 16, 15, 0 }, { 40, 0, 129, 16, 15, 0 }, { 39, 0, 129, 16, 16, 0 }, { 38, 0, 129, 16, 16, 0 }, { 37, 0, 130, 16, 16, 0 }, - { 36, 0, 130, 16, 16, 0 }, { 35, 0, 130, 16, 16, 0 }, { 34, 0, 130, 16, 16, 0 }, { 33, 0, 130, 16, 16, 0 }, { 32, 0, 130, 16, 16, 0 }, - { 31, 0, 130, 16, 16, 0 }, { 30, 0, 130, 16, 16, 0 }, { 29, 0, 130, 16, 16, 0 }, { 28, 0, 130, 16, 16, 0 }, { 27, 0, 130, 16, 23, 0 }, - { 26, 0, 130, 16, 23, 0 }, { 25, 0, 129, 16, 23, 0 }, { 24, 0, 129, 16, 23, 0 }, { 23, 0, 129, 16, 23, 0 }, { 22, 0, 128, 16, 22, 0 }, - { 21, 0, 128, 16, 22, 0 }, { 20, -1, 127, 16, 22, 0 }, { 19, -1, 126, 16, 22, 0 }, { 18, -1, 125, 16, 22, 0 }, { 17, -1, 124, 16, 21, 0 }, - { 16, -1, 124, 16, 21, 0 }, { 15, -1, 123, 16, 21, 0 }, { 14, -1, 122, 16, 21, 0 }, { 13, -1, 121, 16, 21, 0 }, { 12, -2, 120, 16, 21, 0 }, - { 11, -2, 119, 16, 21, 0 }, { 10, -2, 118, 16, 21, 0 }, { 10, -2, 117, 16, 20, 0 }, { 9, -2, 116, 16, 20, 0 }, { 8, -2, 115, 16, 20, 0 }, - { 8, -2, 114, 16, 20, 0 }, { 7, -2, 113, 16, 20, 0 }, { 7, -2, 112, 16, 20, 0 }, { 6, -3, 111, 16, 20, 0 }, { 6, -3, 110, 16, 20, 0 }, - { 6, -3, 109, 16, 20, 0 }, { 5, -3, 108, 16, 19, 0 }, { 5, -3, 107, 16, 19, 0 }, { 4, -3, 106, 16, 19, 0 }, { 4, -3, 105, 16, 19, 0 }, - { 3, -3, 104, 16, 19, 0 }, { 3, -3, 103, 16, 19, 0 }, { 3, -3, 102, 16, 19, 0 }, { 2, -4, 101, 16, 19, 0 }, { 2, -4, 100, 16, 19, 0 }, - { 2, -4, 99, 16, 19, 0 }, { 2, -4, 98, 16, 19, 0 }, { 1, -4, 97, 16, 19, 0 }, { 1, -4, 96, 16, 19, 0 }, { 1, -4, 95, 16, 19, 0 }, - { 1, -4, 94, 16, 18, 0 }, { 1, -4, 93, 16, 18, 0 }, { 0, -4, 92, 16, 18, 0 }, { 0, -5, 91, 16, 18, 0 }, { 0, -5, 90, 16, 18, 0 }, - { 0, -5, 89, 16, 18, 0 }, { 0, -5, 88, 16, 18, 0 }, { 0, -5, 87, 16, 18, 0 }, { 0, -5, 86, 16, 18, 0 }, { 0, -5, 85, 16, 18, 0 }, - { 0, -5, 84, 16, 18, 0 }, { 0, -5, 83, 16, 18, 0 }, { 0, -5, 82, 16, 18, 0 }, { 0, -5, 81, 16, 18, 0 }, { 0, -5, 80, 16, 18, 0 }, - { 0, -6, 79, 16, 18, 0 }, { 0, -6, 78, 16, 18, 0 }, { 0, -6, 77, 16, 18, 0 }, { 0, -6, 76, 16, 18, 0 }, { 0, -6, 75, 16, 18, 0 }, - { 0, -6, 74, 16, 18, 0 }, { 0, -6, 73, 16, 18, 0 }, { 0, -6, 72, 16, 18, 0 }, { 0, -6, 71, 16, 18, 0 }, { 1, -6, 70, 16, 18, 0 }, - { 1, -6, 69, 16, 18, 0 }, { 1, -7, 68, 16, 18, 0 }, { 1, -7, 67, 16, 17, 0 }, { 1, -7, 66, 16, 17, 0 }, { 2, -7, 65, 16, 17, 0 }, - { 2, -7, 64, 16, 17, 0 }, { 2, -7, 63, 16, 17, 0 }, { 2, -7, 62, 16, 17, 0 }, { 3, -7, 61, 16, 17, 0 }, { 3, -7, 60, 16, 17, 0 }, - { 3, -7, 59, 16, 17, 0 }, { 4, -8, 58, 16, 17, 0 }, { 4, -8, 57, 16, 17, 0 }, { 4, -8, 56, 16, 17, 0 }, { 5, -8, 55, 16, 17, 0 }, - { 5, -8, 54, 16, 17, 0 }, { 5, -8, 53, 16, 17, 0 }, { 6, -8, 52, 16, 17, 0 }, { 6, -8, 51, 16, 17, 0 }, { 6, -8, 50, 16, 17, 0 }, - { 7, -8, 49, 16, 17, 0 }, { 7, -9, 48, 16, 17, 0 }, { 7, -9, 47, 16, 17, 0 }, { 8, -9, 46, 16, 8, 0 }, { 8, -9, 45, 16, 8, 0 }, - { 9, -9, 44, 16, 8, 0 }, { 10, -9, 43, 16, 8, 0 }, { 10, -9, 42, 16, 8, 0 }, { 11, -9, 41, 16, 8, 0 }, { 12, -9, 40, 16, 8, 0 }, - { 12, -9, 39, 16, 8, 0 }, { 13, -10, 38, 16, 8, 0 }, { 13, -10, 37, 16, 8, 0 }, { 14, -10, 36, 16, 8, 0 }, { 15, -10, 35, 16, 8, 0 }, - { 16, -10, 34, 16, 8, 0 }, { 16, -10, 33, 16, 8, 0 }, { 17, -10, 32, 16, 8, 0 }, { 18, -10, 31, 16, 8, 0 }, { 19, -11, 30, 16, 7, 0 }, - { 19, -11, 29, 16, 7, 0 }, { 20, -11, 28, 16, 7, 0 }, { 21, -11, 27, 16, 7, 0 }, { 22, -11, 26, 16, 7, 0 }, { 23, -11, 25, 16, 7, 0 }, - { 24, -11, 24, 16, 7, 0 }, { 25, -11, 23, 16, 7, 0 }, { 26, -11, 22, 16, 7, 0 }, { 27, -12, 21, 16, 7, 0 }, { 28, -12, 20, 16, 7, 0 }, - { 29, -12, 19, 16, 7, 0 }, { 30, -12, 18, 16, 7, 0 }, { 31, -12, 18, 16, 7, 0 }, { 32, -12, 17, 16, 7, 0 }, { 33, -12, 16, 16, 7, 0 }, - { 34, -12, 15, 16, 7, 0 }, { 35, -13, 15, 16, 7, 0 }, { 36, -13, 14, 16, 7, 0 }, { 37, -13, 13, 16, 7, 0 }, { 38, -13, 12, 16, 7, 0 }, - { 39, -13, 11, 16, 7, 0 }, { 40, -13, 11, 16, 7, 0 }, { 41, -13, 10, 16, 6, 0 }, { 42, -13, 10, 16, 6, 0 }, { 43, -13, 9, 16, 6, 0 }, - { 44, -14, 9, 16, 6, 0 }, { 45, -14, 8, 16, 6, 0 }, { 46, -14, 8, 16, 6, 0 }, { 47, -14, 7, 16, 6, 0 }, { 48, -14, 7, 16, 6, 0 }, - { 49, -14, 6, 16, 6, 0 }, { 50, -14, 6, 16, 6, 0 }, { 51, -14, 5, 16, 6, 0 }, { 52, -14, 5, 16, 6, 0 }, { 53, -14, 4, 16, 6, 0 }, - { 54, -15, 4, 16, 6, 0 }, { 55, -15, 3, 16, 6, 0 }, { 56, -15, 3, 16, 6, 0 }, { 57, -15, 3, 16, 6, 0 }, { 58, -15, 2, 16, 6, 0 }, - { 59, -15, 2, 16, 6, 0 }, { 60, -15, 1, 16, 6, 0 }, { 61, -15, 1, 16, 6, 0 }, { 62, -15, 0, 16, 6, 0 }, { 63, -16, 0, 16, 6, 0 }, + 310, { + { 0, 16, 0, 16, 2, 0 }, { 1, 15, 0, 16, 2, 0 }, { 2, 15, 1, 16, 2, 0 }, { 3, 15, 1, 16, 2, 0 }, { 4, 15, 2, 16, 2, 0 }, + { 5, 15, 2, 16, 2, 0 }, { 6, 15, 3, 16, 2, 0 }, { 7, 15, 3, 16, 2, 0 }, { 8, 15, 3, 16, 2, 0 }, { 9, 15, 4, 16, 2, 0 }, + { 10, 14, 4, 16, 2, 0 }, { 11, 14, 5, 16, 2, 0 }, { 12, 14, 5, 16, 2, 0 }, { 13, 14, 6, 16, 2, 0 }, { 14, 14, 6, 16, 2, 0 }, + { 15, 14, 7, 16, 2, 0 }, { 16, 14, 7, 16, 2, 0 }, { 17, 14, 8, 16, 2, 0 }, { 18, 14, 8, 16, 2, 0 }, { 19, 14, 9, 16, 3, 0 }, + { 20, 13, 9, 16, 3, 0 }, { 21, 13, 10, 16, 3, 0 }, { 22, 13, 10, 16, 3, 0 }, { 23, 13, 11, 16, 3, 0 }, { 24, 13, 11, 16, 3, 0 }, + { 25, 13, 12, 16, 3, 0 }, { 26, 13, 13, 16, 3, 0 }, { 27, 13, 14, 16, 3, 0 }, { 28, 13, 15, 16, 3, 0 }, { 29, 12, 15, 16, 3, 0 }, + { 30, 12, 16, 16, 3, 0 }, { 31, 12, 17, 16, 3, 0 }, { 32, 12, 18, 16, 3, 0 }, { 33, 12, 18, 16, 3, 0 }, { 34, 12, 19, 16, 3, 0 }, + { 35, 12, 20, 16, 3, 0 }, { 36, 12, 21, 16, 3, 0 }, { 37, 11, 22, 16, 3, 0 }, { 38, 11, 23, 16, 3, 0 }, { 39, 11, 24, 16, 3, 0 }, + { 40, 11, 25, 16, 3, 0 }, { 41, 11, 26, 16, 3, 0 }, { 42, 11, 27, 16, 4, 0 }, { 43, 11, 28, 16, 4, 0 }, { 44, 11, 29, 16, 4, 0 }, + { 44, 11, 30, 16, 4, 0 }, { 45, 10, 31, 16, 4, 0 }, { 46, 10, 32, 16, 4, 0 }, { 47, 10, 33, 16, 4, 0 }, { 47, 10, 34, 16, 4, 0 }, + { 48, 10, 35, 16, 4, 0 }, { 49, 10, 36, 16, 4, 0 }, { 50, 10, 37, 16, 4, 0 }, { 50, 10, 38, 16, 4, 0 }, { 51, 10, 39, 16, 4, 0 }, + { 51, 9, 40, 16, 4, 0 }, { 52, 9, 41, 16, 4, 0 }, { 53, 9, 42, 16, 4, 0 }, { 53, 9, 43, 16, 9, 0 }, { 54, 9, 44, 16, 9, 0 }, + { 55, 9, 45, 16, 9, 0 }, { 55, 9, 46, 16, 9, 0 }, { 56, 9, 47, 16, 9, 0 }, { 56, 9, 48, 16, 9, 0 }, { 56, 8, 49, 16, 9, 0 }, + { 57, 8, 50, 16, 9, 0 }, { 57, 8, 51, 16, 9, 0 }, { 57, 8, 52, 16, 9, 0 }, { 58, 8, 53, 16, 9, 0 }, { 58, 8, 54, 16, 9, 0 }, + { 58, 8, 55, 16, 9, 0 }, { 59, 8, 56, 16, 9, 0 }, { 59, 8, 57, 16, 9, 0 }, { 59, 8, 58, 16, 9, 0 }, { 60, 7, 59, 16, 9, 0 }, + { 60, 7, 60, 16, 9, 0 }, { 60, 7, 61, 16, 9, 0 }, { 61, 7, 62, 16, 9, 0 }, { 61, 7, 63, 16, 9, 0 }, { 61, 7, 64, 16, 10, 0 }, + { 61, 7, 65, 16, 10, 0 }, { 62, 7, 66, 16, 10, 0 }, { 62, 7, 67, 16, 10, 0 }, { 62, 7, 68, 16, 10, 0 }, { 62, 6, 69, 16, 10, 0 }, + { 62, 6, 70, 16, 10, 0 }, { 63, 6, 71, 16, 10, 0 }, { 63, 6, 72, 16, 10, 0 }, { 63, 6, 73, 16, 10, 0 }, { 63, 6, 74, 16, 10, 0 }, + { 63, 6, 75, 16, 10, 0 }, { 63, 6, 76, 16, 10, 0 }, { 63, 6, 77, 16, 10, 0 }, { 63, 6, 78, 16, 10, 0 }, { 63, 6, 79, 16, 10, 0 }, + { 63, 5, 80, 16, 10, 0 }, { 63, 5, 81, 16, 10, 0 }, { 63, 5, 82, 16, 10, 0 }, { 63, 5, 83, 16, 10, 0 }, { 63, 5, 84, 16, 10, 0 }, + { 63, 5, 85, 16, 10, 0 }, { 63, 5, 86, 16, 10, 0 }, { 63, 5, 87, 16, 10, 0 }, { 63, 5, 88, 16, 10, 0 }, { 63, 5, 89, 16, 10, 0 }, + { 63, 5, 90, 16, 10, 0 }, { 63, 5, 91, 16, 11, 0 }, { 63, 4, 92, 16, 11, 0 }, { 62, 4, 93, 16, 11, 0 }, { 62, 4, 94, 16, 11, 0 }, + { 62, 4, 95, 16, 11, 0 }, { 62, 4, 96, 16, 11, 0 }, { 62, 4, 97, 16, 11, 0 }, { 61, 4, 98, 16, 11, 0 }, { 61, 4, 99, 16, 11, 0 }, + { 61, 4, 100, 16, 11, 0 }, { 61, 4, 101, 16, 11, 0 }, { 60, 3, 102, 16, 11, 0 }, { 60, 3, 103, 16, 11, 0 }, { 60, 3, 104, 16, 11, 0 }, + { 59, 3, 105, 16, 12, 0 }, { 59, 3, 106, 16, 12, 0 }, { 58, 3, 107, 16, 12, 0 }, { 58, 3, 108, 16, 12, 0 }, { 57, 3, 109, 16, 12, 0 }, + { 57, 3, 110, 16, 12, 0 }, { 57, 3, 111, 16, 12, 0 }, { 56, 2, 112, 16, 12, 0 }, { 56, 2, 113, 16, 12, 0 }, { 55, 2, 114, 16, 13, 0 }, + { 55, 2, 115, 16, 13, 0 }, { 54, 2, 116, 16, 13, 0 }, { 53, 2, 117, 16, 13, 0 }, { 53, 2, 118, 16, 13, 0 }, { 52, 2, 119, 16, 13, 0 }, + { 51, 2, 120, 16, 13, 0 }, { 50, 1, 121, 16, 13, 0 }, { 49, 1, 122, 16, 14, 0 }, { 48, 1, 123, 16, 14, 0 }, { 47, 1, 124, 16, 14, 0 }, + { 46, 1, 124, 16, 14, 0 }, { 45, 1, 125, 16, 14, 0 }, { 44, 1, 126, 16, 15, 0 }, { 43, 1, 127, 16, 15, 0 }, { 42, 0, 128, 16, 15, 0 }, + { 41, 0, 128, 16, 15, 0 }, { 40, 0, 129, 16, 15, 0 }, { 39, 0, 129, 16, 16, 0 }, { 38, 0, 129, 16, 16, 0 }, { 37, 0, 130, 16, 16, 0 }, + { 36, 0, 130, 16, 16, 0 }, { 35, 0, 130, 16, 16, 0 }, { 34, 0, 130, 16, 16, 0 }, { 33, 0, 130, 16, 16, 0 }, { 32, 0, 130, 16, 16, 0 }, + { 31, 0, 130, 16, 16, 0 }, { 30, 0, 130, 16, 16, 0 }, { 29, 0, 130, 16, 16, 0 }, { 28, 0, 130, 16, 16, 0 }, { 27, 0, 130, 16, 23, 0 }, + { 26, 0, 130, 16, 23, 0 }, { 25, 0, 129, 16, 23, 0 }, { 24, 0, 129, 16, 23, 0 }, { 23, 0, 129, 16, 23, 0 }, { 22, 0, 128, 16, 22, 0 }, + { 21, 0, 128, 16, 22, 0 }, { 20, -1, 127, 16, 22, 0 }, { 19, -1, 126, 16, 22, 0 }, { 18, -1, 125, 16, 22, 0 }, { 17, -1, 124, 16, 21, 0 }, + { 16, -1, 124, 16, 21, 0 }, { 15, -1, 123, 16, 21, 0 }, { 14, -1, 122, 16, 21, 0 }, { 13, -1, 121, 16, 21, 0 }, { 12, -2, 120, 16, 21, 0 }, + { 11, -2, 119, 16, 21, 0 }, { 10, -2, 118, 16, 21, 0 }, { 10, -2, 117, 16, 20, 0 }, { 9, -2, 116, 16, 20, 0 }, { 8, -2, 115, 16, 20, 0 }, + { 8, -2, 114, 16, 20, 0 }, { 7, -2, 113, 16, 20, 0 }, { 7, -2, 112, 16, 20, 0 }, { 6, -3, 111, 16, 20, 0 }, { 6, -3, 110, 16, 20, 0 }, + { 6, -3, 109, 16, 20, 0 }, { 5, -3, 108, 16, 19, 0 }, { 5, -3, 107, 16, 19, 0 }, { 4, -3, 106, 16, 19, 0 }, { 4, -3, 105, 16, 19, 0 }, + { 3, -3, 104, 16, 19, 0 }, { 3, -3, 103, 16, 19, 0 }, { 3, -3, 102, 16, 19, 0 }, { 2, -4, 101, 16, 19, 0 }, { 2, -4, 100, 16, 19, 0 }, + { 2, -4, 99, 16, 19, 0 }, { 2, -4, 98, 16, 19, 0 }, { 1, -4, 97, 16, 19, 0 }, { 1, -4, 96, 16, 19, 0 }, { 1, -4, 95, 16, 19, 0 }, + { 1, -4, 94, 16, 18, 0 }, { 1, -4, 93, 16, 18, 0 }, { 0, -4, 92, 16, 18, 0 }, { 0, -5, 91, 16, 18, 0 }, { 0, -5, 90, 16, 18, 0 }, + { 0, -5, 89, 16, 18, 0 }, { 0, -5, 88, 16, 18, 0 }, { 0, -5, 87, 16, 18, 0 }, { 0, -5, 86, 16, 18, 0 }, { 0, -5, 85, 16, 18, 0 }, + { 0, -5, 84, 16, 18, 0 }, { 0, -5, 83, 16, 18, 0 }, { 0, -5, 82, 16, 18, 0 }, { 0, -5, 81, 16, 18, 0 }, { 0, -5, 80, 16, 18, 0 }, + { 0, -6, 79, 16, 18, 0 }, { 0, -6, 78, 16, 18, 0 }, { 0, -6, 77, 16, 18, 0 }, { 0, -6, 76, 16, 18, 0 }, { 0, -6, 75, 16, 18, 0 }, + { 0, -6, 74, 16, 18, 0 }, { 0, -6, 73, 16, 18, 0 }, { 0, -6, 72, 16, 18, 0 }, { 0, -6, 71, 16, 18, 0 }, { 1, -6, 70, 16, 18, 0 }, + { 1, -6, 69, 16, 18, 0 }, { 1, -7, 68, 16, 18, 0 }, { 1, -7, 67, 16, 17, 0 }, { 1, -7, 66, 16, 17, 0 }, { 2, -7, 65, 16, 17, 0 }, + { 2, -7, 64, 16, 17, 0 }, { 2, -7, 63, 16, 17, 0 }, { 2, -7, 62, 16, 17, 0 }, { 3, -7, 61, 16, 17, 0 }, { 3, -7, 60, 16, 17, 0 }, + { 3, -7, 59, 16, 17, 0 }, { 4, -8, 58, 16, 17, 0 }, { 4, -8, 57, 16, 17, 0 }, { 4, -8, 56, 16, 17, 0 }, { 5, -8, 55, 16, 17, 0 }, + { 5, -8, 54, 16, 17, 0 }, { 5, -8, 53, 16, 17, 0 }, { 6, -8, 52, 16, 17, 0 }, { 6, -8, 51, 16, 17, 0 }, { 6, -8, 50, 16, 17, 0 }, + { 7, -8, 49, 16, 17, 0 }, { 7, -9, 48, 16, 17, 0 }, { 7, -9, 47, 16, 17, 0 }, { 8, -9, 46, 16, 8, 0 }, { 8, -9, 45, 16, 8, 0 }, + { 9, -9, 44, 16, 8, 0 }, { 10, -9, 43, 16, 8, 0 }, { 10, -9, 42, 16, 8, 0 }, { 11, -9, 41, 16, 8, 0 }, { 12, -9, 40, 16, 8, 0 }, + { 12, -9, 39, 16, 8, 0 }, { 13, -10, 38, 16, 8, 0 }, { 13, -10, 37, 16, 8, 0 }, { 14, -10, 36, 16, 8, 0 }, { 15, -10, 35, 16, 8, 0 }, + { 16, -10, 34, 16, 8, 0 }, { 16, -10, 33, 16, 8, 0 }, { 17, -10, 32, 16, 8, 0 }, { 18, -10, 31, 16, 8, 0 }, { 19, -11, 30, 16, 7, 0 }, + { 19, -11, 29, 16, 7, 0 }, { 20, -11, 28, 16, 7, 0 }, { 21, -11, 27, 16, 7, 0 }, { 22, -11, 26, 16, 7, 0 }, { 23, -11, 25, 16, 7, 0 }, + { 24, -11, 24, 16, 7, 0 }, { 25, -11, 23, 16, 7, 0 }, { 26, -11, 22, 16, 7, 0 }, { 27, -12, 21, 16, 7, 0 }, { 28, -12, 20, 16, 7, 0 }, + { 29, -12, 19, 16, 7, 0 }, { 30, -12, 18, 16, 7, 0 }, { 31, -12, 18, 16, 7, 0 }, { 32, -12, 17, 16, 7, 0 }, { 33, -12, 16, 16, 7, 0 }, + { 34, -12, 15, 16, 7, 0 }, { 35, -13, 15, 16, 7, 0 }, { 36, -13, 14, 16, 7, 0 }, { 37, -13, 13, 16, 7, 0 }, { 38, -13, 12, 16, 7, 0 }, + { 39, -13, 11, 16, 7, 0 }, { 40, -13, 11, 16, 7, 0 }, { 41, -13, 10, 16, 6, 0 }, { 42, -13, 10, 16, 6, 0 }, { 43, -13, 9, 16, 6, 0 }, + { 44, -14, 9, 16, 6, 0 }, { 45, -14, 8, 16, 6, 0 }, { 46, -14, 8, 16, 6, 0 }, { 47, -14, 7, 16, 6, 0 }, { 48, -14, 7, 16, 6, 0 }, + { 49, -14, 6, 16, 6, 0 }, { 50, -14, 6, 16, 6, 0 }, { 51, -14, 5, 16, 6, 0 }, { 52, -14, 5, 16, 6, 0 }, { 53, -14, 4, 16, 6, 0 }, + { 54, -15, 4, 16, 6, 0 }, { 55, -15, 3, 16, 6, 0 }, { 56, -15, 3, 16, 6, 0 }, { 57, -15, 3, 16, 6, 0 }, { 58, -15, 2, 16, 6, 0 }, + { 59, -15, 2, 16, 6, 0 }, { 60, -15, 1, 16, 6, 0 }, { 61, -15, 1, 16, 6, 0 }, { 62, -15, 0, 16, 6, 0 }, { 63, -16, 0, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D9116 = { - 310, { - { 16, 31, 0, 24, 2, 0 }, { 15, 30, 0, 24, 2, 0 }, { 15, 29, 1, 24, 2, 0 }, { 15, 28, 1, 24, 2, 0 }, { 15, 27, 2, 24, 2, 0 }, - { 15, 26, 2, 24, 2, 0 }, { 15, 25, 3, 24, 2, 0 }, { 15, 24, 3, 24, 2, 0 }, { 15, 23, 3, 24, 2, 0 }, { 15, 22, 4, 24, 2, 0 }, - { 14, 21, 4, 24, 2, 0 }, { 14, 20, 5, 24, 2, 0 }, { 14, 19, 5, 24, 2, 0 }, { 14, 18, 6, 24, 2, 0 }, { 14, 17, 6, 24, 2, 0 }, - { 14, 16, 7, 24, 2, 0 }, { 14, 15, 7, 24, 2, 0 }, { 14, 14, 8, 24, 2, 0 }, { 14, 13, 8, 24, 2, 0 }, { 14, 12, 9, 24, 3, 0 }, - { 13, 11, 9, 24, 3, 0 }, { 13, 10, 10, 24, 3, 0 }, { 13, 9, 10, 24, 3, 0 }, { 13, 8, 11, 24, 3, 0 }, { 13, 7, 11, 24, 3, 0 }, - { 13, 6, 12, 24, 3, 0 }, { 13, 5, 13, 24, 3, 0 }, { 13, 4, 14, 24, 3, 0 }, { 13, 3, 15, 24, 3, 0 }, { 12, 2, 15, 24, 3, 0 }, - { 12, 1, 16, 24, 3, 0 }, { 12, 0, 17, 24, 3, 0 }, { 12, -1, 18, 24, 3, 0 }, { 12, -2, 18, 24, 3, 0 }, { 12, -3, 19, 24, 3, 0 }, - { 12, -4, 20, 24, 3, 0 }, { 12, -5, 21, 24, 3, 0 }, { 11, -6, 22, 24, 3, 0 }, { 11, -7, 23, 24, 3, 0 }, { 11, -8, 24, 24, 3, 0 }, - { 11, -9, 25, 24, 3, 0 }, { 11, -10, 26, 24, 3, 0 }, { 11, -11, 27, 24, 4, 0 }, { 11, -12, 28, 24, 4, 0 }, { 11, -13, 29, 24, 4, 0 }, - { 11, -13, 30, 24, 4, 0 }, { 10, -14, 31, 24, 4, 0 }, { 10, -15, 32, 24, 4, 0 }, { 10, -16, 33, 24, 4, 0 }, { 10, -16, 34, 24, 4, 0 }, - { 10, -17, 35, 24, 4, 0 }, { 10, -18, 36, 24, 4, 0 }, { 10, -19, 37, 24, 4, 0 }, { 10, -19, 38, 24, 4, 0 }, { 10, -20, 39, 24, 4, 0 }, - { 9, -20, 40, 24, 4, 0 }, { 9, -21, 41, 24, 4, 0 }, { 9, -22, 42, 24, 4, 0 }, { 9, -22, 43, 24, 9, 0 }, { 9, -23, 44, 24, 9, 0 }, - { 9, -24, 45, 24, 9, 0 }, { 9, -24, 46, 24, 9, 0 }, { 9, -25, 47, 24, 9, 0 }, { 9, -25, 48, 24, 9, 0 }, { 8, -25, 49, 24, 9, 0 }, - { 8, -26, 50, 24, 9, 0 }, { 8, -26, 51, 24, 9, 0 }, { 8, -26, 52, 24, 9, 0 }, { 8, -27, 53, 24, 9, 0 }, { 8, -27, 54, 24, 9, 0 }, - { 8, -27, 55, 24, 9, 0 }, { 8, -28, 56, 24, 9, 0 }, { 8, -28, 57, 24, 9, 0 }, { 8, -28, 58, 24, 9, 0 }, { 7, -29, 59, 24, 9, 0 }, - { 7, -29, 60, 24, 9, 0 }, { 7, -29, 61, 24, 9, 0 }, { 7, -30, 62, 24, 9, 0 }, { 7, -30, 63, 24, 9, 0 }, { 7, -30, 64, 24, 10, 0 }, - { 7, -30, 65, 24, 10, 0 }, { 7, -31, 66, 24, 10, 0 }, { 7, -31, 67, 24, 10, 0 }, { 7, -31, 68, 24, 10, 0 }, { 6, -31, 69, 24, 10, 0 }, - { 6, -31, 70, 24, 10, 0 }, { 6, -32, 71, 24, 10, 0 }, { 6, -32, 72, 24, 10, 0 }, { 6, -32, 73, 24, 10, 0 }, { 6, -32, 74, 24, 10, 0 }, - { 6, -32, 75, 24, 10, 0 }, { 6, -32, 76, 24, 10, 0 }, { 6, -32, 77, 24, 10, 0 }, { 6, -32, 78, 24, 10, 0 }, { 6, -32, 79, 24, 10, 0 }, - { 5, -32, 80, 24, 10, 0 }, { 5, -32, 81, 24, 10, 0 }, { 5, -32, 82, 24, 10, 0 }, { 5, -32, 83, 24, 10, 0 }, { 5, -32, 84, 24, 10, 0 }, - { 5, -32, 85, 24, 10, 0 }, { 5, -32, 86, 24, 10, 0 }, { 5, -32, 87, 24, 10, 0 }, { 5, -32, 88, 24, 10, 0 }, { 5, -32, 89, 24, 10, 0 }, - { 5, -32, 90, 24, 10, 0 }, { 5, -32, 91, 24, 11, 0 }, { 4, -32, 92, 24, 11, 0 }, { 4, -31, 93, 24, 11, 0 }, { 4, -31, 94, 24, 11, 0 }, - { 4, -31, 95, 24, 11, 0 }, { 4, -31, 96, 24, 11, 0 }, { 4, -31, 97, 24, 11, 0 }, { 4, -30, 98, 24, 11, 0 }, { 4, -30, 99, 24, 11, 0 }, - { 4, -30, 100, 24, 11, 0 }, { 4, -30, 101, 24, 11, 0 }, { 3, -29, 102, 24, 11, 0 }, { 3, -29, 103, 24, 11, 0 }, { 3, -29, 104, 24, 11, 0 }, - { 3, -28, 105, 24, 12, 0 }, { 3, -28, 106, 24, 12, 0 }, { 3, -27, 107, 24, 12, 0 }, { 3, -27, 108, 24, 12, 0 }, { 3, -26, 109, 24, 12, 0 }, - { 3, -26, 110, 24, 12, 0 }, { 3, -26, 111, 24, 12, 0 }, { 2, -25, 112, 24, 12, 0 }, { 2, -25, 113, 24, 12, 0 }, { 2, -24, 114, 24, 13, 0 }, - { 2, -24, 115, 24, 13, 0 }, { 2, -23, 116, 24, 13, 0 }, { 2, -22, 117, 24, 13, 0 }, { 2, -22, 118, 24, 13, 0 }, { 2, -21, 119, 24, 13, 0 }, - { 2, -20, 120, 24, 13, 0 }, { 1, -19, 121, 24, 13, 0 }, { 1, -18, 122, 24, 14, 0 }, { 1, -17, 123, 24, 14, 0 }, { 1, -16, 124, 24, 14, 0 }, - { 1, -15, 124, 24, 14, 0 }, { 1, -14, 125, 24, 14, 0 }, { 1, -13, 126, 24, 15, 0 }, { 1, -12, 127, 24, 15, 0 }, { 0, -11, 128, 24, 15, 0 }, - { 0, -10, 128, 24, 15, 0 }, { 0, -9, 129, 24, 15, 0 }, { 0, -8, 129, 24, 16, 0 }, { 0, -7, 129, 24, 16, 0 }, { 0, -6, 130, 24, 16, 0 }, - { 0, -5, 130, 24, 16, 0 }, { 0, -4, 130, 24, 16, 0 }, { 0, -3, 130, 24, 16, 0 }, { 0, -2, 130, 24, 16, 0 }, { 0, -1, 130, 24, 16, 0 }, - { 0, 0, 130, 24, 16, 0 }, { 0, 1, 130, 24, 16, 0 }, { 0, 2, 130, 24, 16, 0 }, { 0, 3, 130, 24, 16, 0 }, { 0, 4, 130, 24, 23, 0 }, - { 0, 5, 130, 24, 23, 0 }, { 0, 6, 129, 24, 23, 0 }, { 0, 7, 129, 24, 23, 0 }, { 0, 8, 129, 24, 23, 0 }, { 0, 9, 128, 24, 22, 0 }, - { 0, 10, 128, 24, 22, 0 }, { -1, 11, 127, 24, 22, 0 }, { -1, 12, 126, 24, 22, 0 }, { -1, 13, 125, 24, 22, 0 }, { -1, 14, 124, 24, 21, 0 }, - { -1, 15, 124, 24, 21, 0 }, { -1, 16, 123, 24, 21, 0 }, { -1, 17, 122, 24, 21, 0 }, { -1, 18, 121, 24, 21, 0 }, { -2, 19, 120, 24, 21, 0 }, - { -2, 20, 119, 24, 21, 0 }, { -2, 21, 118, 24, 21, 0 }, { -2, 21, 117, 24, 20, 0 }, { -2, 22, 116, 24, 20, 0 }, { -2, 23, 115, 24, 20, 0 }, - { -2, 23, 114, 24, 20, 0 }, { -2, 24, 113, 24, 20, 0 }, { -2, 24, 112, 24, 20, 0 }, { -3, 25, 111, 24, 20, 0 }, { -3, 25, 110, 24, 20, 0 }, - { -3, 25, 109, 24, 20, 0 }, { -3, 26, 108, 24, 19, 0 }, { -3, 26, 107, 24, 19, 0 }, { -3, 27, 106, 24, 19, 0 }, { -3, 27, 105, 24, 19, 0 }, - { -3, 28, 104, 24, 19, 0 }, { -3, 28, 103, 24, 19, 0 }, { -3, 28, 102, 24, 19, 0 }, { -4, 29, 101, 24, 19, 0 }, { -4, 29, 100, 24, 19, 0 }, - { -4, 29, 99, 24, 19, 0 }, { -4, 29, 98, 24, 19, 0 }, { -4, 30, 97, 24, 19, 0 }, { -4, 30, 96, 24, 19, 0 }, { -4, 30, 95, 24, 19, 0 }, - { -4, 30, 94, 24, 18, 0 }, { -4, 30, 93, 24, 18, 0 }, { -4, 31, 92, 24, 18, 0 }, { -5, 31, 91, 24, 18, 0 }, { -5, 31, 90, 24, 18, 0 }, - { -5, 31, 89, 24, 18, 0 }, { -5, 31, 88, 24, 18, 0 }, { -5, 31, 87, 24, 18, 0 }, { -5, 31, 86, 24, 18, 0 }, { -5, 31, 85, 24, 18, 0 }, - { -5, 31, 84, 24, 18, 0 }, { -5, 31, 83, 24, 18, 0 }, { -5, 31, 82, 24, 18, 0 }, { -5, 31, 81, 24, 18, 0 }, { -5, 31, 80, 24, 18, 0 }, - { -6, 31, 79, 24, 18, 0 }, { -6, 31, 78, 24, 18, 0 }, { -6, 31, 77, 24, 18, 0 }, { -6, 31, 76, 24, 18, 0 }, { -6, 31, 75, 24, 18, 0 }, - { -6, 31, 74, 24, 18, 0 }, { -6, 31, 73, 24, 18, 0 }, { -6, 31, 72, 24, 18, 0 }, { -6, 31, 71, 24, 18, 0 }, { -6, 30, 70, 24, 18, 0 }, - { -6, 30, 69, 24, 18, 0 }, { -7, 30, 68, 24, 18, 0 }, { -7, 30, 67, 24, 17, 0 }, { -7, 30, 66, 24, 17, 0 }, { -7, 29, 65, 24, 17, 0 }, - { -7, 29, 64, 24, 17, 0 }, { -7, 29, 63, 24, 17, 0 }, { -7, 29, 62, 24, 17, 0 }, { -7, 28, 61, 24, 17, 0 }, { -7, 28, 60, 24, 17, 0 }, - { -7, 28, 59, 24, 17, 0 }, { -8, 27, 58, 24, 17, 0 }, { -8, 27, 57, 24, 17, 0 }, { -8, 27, 56, 24, 17, 0 }, { -8, 26, 55, 24, 17, 0 }, - { -8, 26, 54, 24, 17, 0 }, { -8, 26, 53, 24, 17, 0 }, { -8, 25, 52, 24, 17, 0 }, { -8, 25, 51, 24, 17, 0 }, { -8, 25, 50, 24, 17, 0 }, - { -8, 24, 49, 24, 17, 0 }, { -9, 24, 48, 24, 17, 0 }, { -9, 24, 47, 24, 17, 0 }, { -9, 23, 46, 24, 8, 0 }, { -9, 23, 45, 24, 8, 0 }, - { -9, 22, 44, 24, 8, 0 }, { -9, 21, 43, 24, 8, 0 }, { -9, 21, 42, 24, 8, 0 }, { -9, 20, 41, 24, 8, 0 }, { -9, 19, 40, 24, 8, 0 }, - { -9, 19, 39, 24, 8, 0 }, { -10, 18, 38, 24, 8, 0 }, { -10, 18, 37, 24, 8, 0 }, { -10, 17, 36, 24, 8, 0 }, { -10, 16, 35, 24, 8, 0 }, - { -10, 15, 34, 24, 8, 0 }, { -10, 15, 33, 24, 8, 0 }, { -10, 14, 32, 24, 8, 0 }, { -10, 13, 31, 24, 8, 0 }, { -11, 12, 30, 24, 7, 0 }, - { -11, 12, 29, 24, 7, 0 }, { -11, 11, 28, 24, 7, 0 }, { -11, 10, 27, 24, 7, 0 }, { -11, 9, 26, 24, 7, 0 }, { -11, 8, 25, 24, 7, 0 }, - { -11, 7, 24, 24, 7, 0 }, { -11, 6, 23, 24, 7, 0 }, { -11, 5, 22, 24, 7, 0 }, { -12, 4, 21, 24, 7, 0 }, { -12, 3, 20, 24, 7, 0 }, - { -12, 2, 19, 24, 7, 0 }, { -12, 1, 18, 24, 7, 0 }, { -12, 0, 18, 24, 7, 0 }, { -12, -1, 17, 24, 7, 0 }, { -12, -2, 16, 24, 7, 0 }, - { -12, -3, 15, 24, 7, 0 }, { -13, -4, 15, 24, 7, 0 }, { -13, -5, 14, 24, 7, 0 }, { -13, -6, 13, 24, 7, 0 }, { -13, -7, 12, 24, 7, 0 }, - { -13, -8, 11, 24, 7, 0 }, { -13, -9, 11, 24, 7, 0 }, { -13, -10, 10, 24, 6, 0 }, { -13, -11, 10, 24, 6, 0 }, { -13, -12, 9, 24, 6, 0 }, - { -14, -13, 9, 24, 6, 0 }, { -14, -14, 8, 24, 6, 0 }, { -14, -15, 8, 24, 6, 0 }, { -14, -16, 7, 24, 6, 0 }, { -14, -17, 7, 24, 6, 0 }, - { -14, -18, 6, 24, 6, 0 }, { -14, -19, 6, 24, 6, 0 }, { -14, -20, 5, 24, 6, 0 }, { -14, -21, 5, 24, 6, 0 }, { -14, -22, 4, 24, 6, 0 }, - { -15, -23, 4, 24, 6, 0 }, { -15, -24, 3, 24, 6, 0 }, { -15, -25, 3, 24, 6, 0 }, { -15, -26, 3, 24, 6, 0 }, { -15, -27, 2, 24, 6, 0 }, - { -15, -28, 2, 24, 6, 0 }, { -15, -29, 1, 24, 6, 0 }, { -15, -30, 1, 24, 6, 0 }, { -15, -31, 0, 24, 6, 0 }, { -16, -32, 0, 24, 6, 0 }, + 310, { + { 16, 31, 0, 24, 2, 0 }, { 15, 30, 0, 24, 2, 0 }, { 15, 29, 1, 24, 2, 0 }, { 15, 28, 1, 24, 2, 0 }, { 15, 27, 2, 24, 2, 0 }, + { 15, 26, 2, 24, 2, 0 }, { 15, 25, 3, 24, 2, 0 }, { 15, 24, 3, 24, 2, 0 }, { 15, 23, 3, 24, 2, 0 }, { 15, 22, 4, 24, 2, 0 }, + { 14, 21, 4, 24, 2, 0 }, { 14, 20, 5, 24, 2, 0 }, { 14, 19, 5, 24, 2, 0 }, { 14, 18, 6, 24, 2, 0 }, { 14, 17, 6, 24, 2, 0 }, + { 14, 16, 7, 24, 2, 0 }, { 14, 15, 7, 24, 2, 0 }, { 14, 14, 8, 24, 2, 0 }, { 14, 13, 8, 24, 2, 0 }, { 14, 12, 9, 24, 3, 0 }, + { 13, 11, 9, 24, 3, 0 }, { 13, 10, 10, 24, 3, 0 }, { 13, 9, 10, 24, 3, 0 }, { 13, 8, 11, 24, 3, 0 }, { 13, 7, 11, 24, 3, 0 }, + { 13, 6, 12, 24, 3, 0 }, { 13, 5, 13, 24, 3, 0 }, { 13, 4, 14, 24, 3, 0 }, { 13, 3, 15, 24, 3, 0 }, { 12, 2, 15, 24, 3, 0 }, + { 12, 1, 16, 24, 3, 0 }, { 12, 0, 17, 24, 3, 0 }, { 12, -1, 18, 24, 3, 0 }, { 12, -2, 18, 24, 3, 0 }, { 12, -3, 19, 24, 3, 0 }, + { 12, -4, 20, 24, 3, 0 }, { 12, -5, 21, 24, 3, 0 }, { 11, -6, 22, 24, 3, 0 }, { 11, -7, 23, 24, 3, 0 }, { 11, -8, 24, 24, 3, 0 }, + { 11, -9, 25, 24, 3, 0 }, { 11, -10, 26, 24, 3, 0 }, { 11, -11, 27, 24, 4, 0 }, { 11, -12, 28, 24, 4, 0 }, { 11, -13, 29, 24, 4, 0 }, + { 11, -13, 30, 24, 4, 0 }, { 10, -14, 31, 24, 4, 0 }, { 10, -15, 32, 24, 4, 0 }, { 10, -16, 33, 24, 4, 0 }, { 10, -16, 34, 24, 4, 0 }, + { 10, -17, 35, 24, 4, 0 }, { 10, -18, 36, 24, 4, 0 }, { 10, -19, 37, 24, 4, 0 }, { 10, -19, 38, 24, 4, 0 }, { 10, -20, 39, 24, 4, 0 }, + { 9, -20, 40, 24, 4, 0 }, { 9, -21, 41, 24, 4, 0 }, { 9, -22, 42, 24, 4, 0 }, { 9, -22, 43, 24, 9, 0 }, { 9, -23, 44, 24, 9, 0 }, + { 9, -24, 45, 24, 9, 0 }, { 9, -24, 46, 24, 9, 0 }, { 9, -25, 47, 24, 9, 0 }, { 9, -25, 48, 24, 9, 0 }, { 8, -25, 49, 24, 9, 0 }, + { 8, -26, 50, 24, 9, 0 }, { 8, -26, 51, 24, 9, 0 }, { 8, -26, 52, 24, 9, 0 }, { 8, -27, 53, 24, 9, 0 }, { 8, -27, 54, 24, 9, 0 }, + { 8, -27, 55, 24, 9, 0 }, { 8, -28, 56, 24, 9, 0 }, { 8, -28, 57, 24, 9, 0 }, { 8, -28, 58, 24, 9, 0 }, { 7, -29, 59, 24, 9, 0 }, + { 7, -29, 60, 24, 9, 0 }, { 7, -29, 61, 24, 9, 0 }, { 7, -30, 62, 24, 9, 0 }, { 7, -30, 63, 24, 9, 0 }, { 7, -30, 64, 24, 10, 0 }, + { 7, -30, 65, 24, 10, 0 }, { 7, -31, 66, 24, 10, 0 }, { 7, -31, 67, 24, 10, 0 }, { 7, -31, 68, 24, 10, 0 }, { 6, -31, 69, 24, 10, 0 }, + { 6, -31, 70, 24, 10, 0 }, { 6, -32, 71, 24, 10, 0 }, { 6, -32, 72, 24, 10, 0 }, { 6, -32, 73, 24, 10, 0 }, { 6, -32, 74, 24, 10, 0 }, + { 6, -32, 75, 24, 10, 0 }, { 6, -32, 76, 24, 10, 0 }, { 6, -32, 77, 24, 10, 0 }, { 6, -32, 78, 24, 10, 0 }, { 6, -32, 79, 24, 10, 0 }, + { 5, -32, 80, 24, 10, 0 }, { 5, -32, 81, 24, 10, 0 }, { 5, -32, 82, 24, 10, 0 }, { 5, -32, 83, 24, 10, 0 }, { 5, -32, 84, 24, 10, 0 }, + { 5, -32, 85, 24, 10, 0 }, { 5, -32, 86, 24, 10, 0 }, { 5, -32, 87, 24, 10, 0 }, { 5, -32, 88, 24, 10, 0 }, { 5, -32, 89, 24, 10, 0 }, + { 5, -32, 90, 24, 10, 0 }, { 5, -32, 91, 24, 11, 0 }, { 4, -32, 92, 24, 11, 0 }, { 4, -31, 93, 24, 11, 0 }, { 4, -31, 94, 24, 11, 0 }, + { 4, -31, 95, 24, 11, 0 }, { 4, -31, 96, 24, 11, 0 }, { 4, -31, 97, 24, 11, 0 }, { 4, -30, 98, 24, 11, 0 }, { 4, -30, 99, 24, 11, 0 }, + { 4, -30, 100, 24, 11, 0 }, { 4, -30, 101, 24, 11, 0 }, { 3, -29, 102, 24, 11, 0 }, { 3, -29, 103, 24, 11, 0 }, { 3, -29, 104, 24, 11, 0 }, + { 3, -28, 105, 24, 12, 0 }, { 3, -28, 106, 24, 12, 0 }, { 3, -27, 107, 24, 12, 0 }, { 3, -27, 108, 24, 12, 0 }, { 3, -26, 109, 24, 12, 0 }, + { 3, -26, 110, 24, 12, 0 }, { 3, -26, 111, 24, 12, 0 }, { 2, -25, 112, 24, 12, 0 }, { 2, -25, 113, 24, 12, 0 }, { 2, -24, 114, 24, 13, 0 }, + { 2, -24, 115, 24, 13, 0 }, { 2, -23, 116, 24, 13, 0 }, { 2, -22, 117, 24, 13, 0 }, { 2, -22, 118, 24, 13, 0 }, { 2, -21, 119, 24, 13, 0 }, + { 2, -20, 120, 24, 13, 0 }, { 1, -19, 121, 24, 13, 0 }, { 1, -18, 122, 24, 14, 0 }, { 1, -17, 123, 24, 14, 0 }, { 1, -16, 124, 24, 14, 0 }, + { 1, -15, 124, 24, 14, 0 }, { 1, -14, 125, 24, 14, 0 }, { 1, -13, 126, 24, 15, 0 }, { 1, -12, 127, 24, 15, 0 }, { 0, -11, 128, 24, 15, 0 }, + { 0, -10, 128, 24, 15, 0 }, { 0, -9, 129, 24, 15, 0 }, { 0, -8, 129, 24, 16, 0 }, { 0, -7, 129, 24, 16, 0 }, { 0, -6, 130, 24, 16, 0 }, + { 0, -5, 130, 24, 16, 0 }, { 0, -4, 130, 24, 16, 0 }, { 0, -3, 130, 24, 16, 0 }, { 0, -2, 130, 24, 16, 0 }, { 0, -1, 130, 24, 16, 0 }, + { 0, 0, 130, 24, 16, 0 }, { 0, 1, 130, 24, 16, 0 }, { 0, 2, 130, 24, 16, 0 }, { 0, 3, 130, 24, 16, 0 }, { 0, 4, 130, 24, 23, 0 }, + { 0, 5, 130, 24, 23, 0 }, { 0, 6, 129, 24, 23, 0 }, { 0, 7, 129, 24, 23, 0 }, { 0, 8, 129, 24, 23, 0 }, { 0, 9, 128, 24, 22, 0 }, + { 0, 10, 128, 24, 22, 0 }, { -1, 11, 127, 24, 22, 0 }, { -1, 12, 126, 24, 22, 0 }, { -1, 13, 125, 24, 22, 0 }, { -1, 14, 124, 24, 21, 0 }, + { -1, 15, 124, 24, 21, 0 }, { -1, 16, 123, 24, 21, 0 }, { -1, 17, 122, 24, 21, 0 }, { -1, 18, 121, 24, 21, 0 }, { -2, 19, 120, 24, 21, 0 }, + { -2, 20, 119, 24, 21, 0 }, { -2, 21, 118, 24, 21, 0 }, { -2, 21, 117, 24, 20, 0 }, { -2, 22, 116, 24, 20, 0 }, { -2, 23, 115, 24, 20, 0 }, + { -2, 23, 114, 24, 20, 0 }, { -2, 24, 113, 24, 20, 0 }, { -2, 24, 112, 24, 20, 0 }, { -3, 25, 111, 24, 20, 0 }, { -3, 25, 110, 24, 20, 0 }, + { -3, 25, 109, 24, 20, 0 }, { -3, 26, 108, 24, 19, 0 }, { -3, 26, 107, 24, 19, 0 }, { -3, 27, 106, 24, 19, 0 }, { -3, 27, 105, 24, 19, 0 }, + { -3, 28, 104, 24, 19, 0 }, { -3, 28, 103, 24, 19, 0 }, { -3, 28, 102, 24, 19, 0 }, { -4, 29, 101, 24, 19, 0 }, { -4, 29, 100, 24, 19, 0 }, + { -4, 29, 99, 24, 19, 0 }, { -4, 29, 98, 24, 19, 0 }, { -4, 30, 97, 24, 19, 0 }, { -4, 30, 96, 24, 19, 0 }, { -4, 30, 95, 24, 19, 0 }, + { -4, 30, 94, 24, 18, 0 }, { -4, 30, 93, 24, 18, 0 }, { -4, 31, 92, 24, 18, 0 }, { -5, 31, 91, 24, 18, 0 }, { -5, 31, 90, 24, 18, 0 }, + { -5, 31, 89, 24, 18, 0 }, { -5, 31, 88, 24, 18, 0 }, { -5, 31, 87, 24, 18, 0 }, { -5, 31, 86, 24, 18, 0 }, { -5, 31, 85, 24, 18, 0 }, + { -5, 31, 84, 24, 18, 0 }, { -5, 31, 83, 24, 18, 0 }, { -5, 31, 82, 24, 18, 0 }, { -5, 31, 81, 24, 18, 0 }, { -5, 31, 80, 24, 18, 0 }, + { -6, 31, 79, 24, 18, 0 }, { -6, 31, 78, 24, 18, 0 }, { -6, 31, 77, 24, 18, 0 }, { -6, 31, 76, 24, 18, 0 }, { -6, 31, 75, 24, 18, 0 }, + { -6, 31, 74, 24, 18, 0 }, { -6, 31, 73, 24, 18, 0 }, { -6, 31, 72, 24, 18, 0 }, { -6, 31, 71, 24, 18, 0 }, { -6, 30, 70, 24, 18, 0 }, + { -6, 30, 69, 24, 18, 0 }, { -7, 30, 68, 24, 18, 0 }, { -7, 30, 67, 24, 17, 0 }, { -7, 30, 66, 24, 17, 0 }, { -7, 29, 65, 24, 17, 0 }, + { -7, 29, 64, 24, 17, 0 }, { -7, 29, 63, 24, 17, 0 }, { -7, 29, 62, 24, 17, 0 }, { -7, 28, 61, 24, 17, 0 }, { -7, 28, 60, 24, 17, 0 }, + { -7, 28, 59, 24, 17, 0 }, { -8, 27, 58, 24, 17, 0 }, { -8, 27, 57, 24, 17, 0 }, { -8, 27, 56, 24, 17, 0 }, { -8, 26, 55, 24, 17, 0 }, + { -8, 26, 54, 24, 17, 0 }, { -8, 26, 53, 24, 17, 0 }, { -8, 25, 52, 24, 17, 0 }, { -8, 25, 51, 24, 17, 0 }, { -8, 25, 50, 24, 17, 0 }, + { -8, 24, 49, 24, 17, 0 }, { -9, 24, 48, 24, 17, 0 }, { -9, 24, 47, 24, 17, 0 }, { -9, 23, 46, 24, 8, 0 }, { -9, 23, 45, 24, 8, 0 }, + { -9, 22, 44, 24, 8, 0 }, { -9, 21, 43, 24, 8, 0 }, { -9, 21, 42, 24, 8, 0 }, { -9, 20, 41, 24, 8, 0 }, { -9, 19, 40, 24, 8, 0 }, + { -9, 19, 39, 24, 8, 0 }, { -10, 18, 38, 24, 8, 0 }, { -10, 18, 37, 24, 8, 0 }, { -10, 17, 36, 24, 8, 0 }, { -10, 16, 35, 24, 8, 0 }, + { -10, 15, 34, 24, 8, 0 }, { -10, 15, 33, 24, 8, 0 }, { -10, 14, 32, 24, 8, 0 }, { -10, 13, 31, 24, 8, 0 }, { -11, 12, 30, 24, 7, 0 }, + { -11, 12, 29, 24, 7, 0 }, { -11, 11, 28, 24, 7, 0 }, { -11, 10, 27, 24, 7, 0 }, { -11, 9, 26, 24, 7, 0 }, { -11, 8, 25, 24, 7, 0 }, + { -11, 7, 24, 24, 7, 0 }, { -11, 6, 23, 24, 7, 0 }, { -11, 5, 22, 24, 7, 0 }, { -12, 4, 21, 24, 7, 0 }, { -12, 3, 20, 24, 7, 0 }, + { -12, 2, 19, 24, 7, 0 }, { -12, 1, 18, 24, 7, 0 }, { -12, 0, 18, 24, 7, 0 }, { -12, -1, 17, 24, 7, 0 }, { -12, -2, 16, 24, 7, 0 }, + { -12, -3, 15, 24, 7, 0 }, { -13, -4, 15, 24, 7, 0 }, { -13, -5, 14, 24, 7, 0 }, { -13, -6, 13, 24, 7, 0 }, { -13, -7, 12, 24, 7, 0 }, + { -13, -8, 11, 24, 7, 0 }, { -13, -9, 11, 24, 7, 0 }, { -13, -10, 10, 24, 6, 0 }, { -13, -11, 10, 24, 6, 0 }, { -13, -12, 9, 24, 6, 0 }, + { -14, -13, 9, 24, 6, 0 }, { -14, -14, 8, 24, 6, 0 }, { -14, -15, 8, 24, 6, 0 }, { -14, -16, 7, 24, 6, 0 }, { -14, -17, 7, 24, 6, 0 }, + { -14, -18, 6, 24, 6, 0 }, { -14, -19, 6, 24, 6, 0 }, { -14, -20, 5, 24, 6, 0 }, { -14, -21, 5, 24, 6, 0 }, { -14, -22, 4, 24, 6, 0 }, + { -15, -23, 4, 24, 6, 0 }, { -15, -24, 3, 24, 6, 0 }, { -15, -25, 3, 24, 6, 0 }, { -15, -26, 3, 24, 6, 0 }, { -15, -27, 2, 24, 6, 0 }, + { -15, -28, 2, 24, 6, 0 }, { -15, -29, 1, 24, 6, 0 }, { -15, -30, 1, 24, 6, 0 }, { -15, -31, 0, 24, 6, 0 }, { -16, -32, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DED2E = { - 68, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 31, 0, 0 }, - { 26, 16, 0, 31, 0, 0 }, { 25, 15, 0, 31, 0, 0 }, { 24, 15, 0, 31, 0, 0 }, { 23, 15, 0, 31, 0, 0 }, { 22, 15, 0, 31, 0, 0 }, - { 21, 15, 0, 31, 0, 0 }, { 20, 15, 0, 31, 0, 0 }, { 19, 14, 0, 31, 0, 0 }, { 18, 14, 0, 30, 0, 0 }, { 17, 14, 0, 30, 0, 0 }, - { 16, 13, 0, 30, 0, 0 }, { 15, 13, 0, 30, 0, 0 }, { 14, 13, 0, 30, 0, 0 }, { 13, 12, 0, 30, 0, 0 }, { 12, 12, 0, 30, 0, 0 }, - { 11, 11, 0, 30, 0, 0 }, { 10, 11, 0, 30, 0, 0 }, { 9, 10, 0, 30, 0, 0 }, { 8, 10, 0, 29, 0, 0 }, { 7, 9, 0, 29, 0, 0 }, - { 6, 9, 0, 29, 0, 0 }, { 5, 8, 0, 29, 0, 0 }, { 4, 7, 0, 29, 0, 0 }, { 3, 7, 0, 29, 0, 0 }, { 2, 6, 0, 29, 0, 0 }, - { 1, 5, 0, 29, 0, 0 }, { 0, 4, 0, 29, 0, 0 }, { -1, 3, 0, 28, 0, 0 }, { -3, 3, 0, 28, 0, 0 }, { -4, 2, 0, 28, 0, 0 }, - { -5, 1, 0, 28, 0, 0 }, { -6, 0, 0, 28, 0, 0 }, { -7, -1, 0, 27, 0, 0 }, { -7, -2, 0, 27, 0, 0 }, { -8, -3, 0, 27, 0, 0 }, - { -9, -4, 0, 27, 0, 0 }, { -9, -5, 0, 27, 0, 0 }, { -10, -6, 0, 27, 0, 0 }, { -10, -7, 0, 27, 0, 0 }, { -11, -8, 0, 27, 0, 0 }, - { -11, -9, 0, 27, 0, 0 }, { -12, -10, 0, 26, 0, 0 }, { -12, -11, 0, 26, 0, 0 }, { -13, -12, 0, 26, 0, 0 }, { -13, -13, 0, 26, 0, 0 }, - { -13, -14, 0, 26, 0, 0 }, { -14, -15, 0, 26, 0, 0 }, { -14, -16, 0, 26, 0, 0 }, { -14, -17, 0, 26, 0, 0 }, { -15, -18, 0, 26, 0, 0 }, - { -15, -19, 0, 26, 0, 0 }, { -15, -20, 0, 25, 0, 0 }, { -15, -21, 0, 25, 0, 0 }, { -15, -22, 0, 25, 0, 0 }, { -15, -23, 0, 25, 0, 0 }, - { -16, -24, 0, 25, 0, 0 }, { -16, -25, 0, 25, 0, 0 }, { -16, -26, 0, 25, 0, 0 }, { -16, -27, 0, 25, 0, 0 }, { -16, -28, 0, 24, 0, 0 }, - { -16, -29, 0, 24, 0, 0 }, { -16, -30, 0, 24, 0, 0 }, { -16, -31, 0, 24, 0, 0 }, + 68, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 31, 0, 0 }, + { 26, 16, 0, 31, 0, 0 }, { 25, 15, 0, 31, 0, 0 }, { 24, 15, 0, 31, 0, 0 }, { 23, 15, 0, 31, 0, 0 }, { 22, 15, 0, 31, 0, 0 }, + { 21, 15, 0, 31, 0, 0 }, { 20, 15, 0, 31, 0, 0 }, { 19, 14, 0, 31, 0, 0 }, { 18, 14, 0, 30, 0, 0 }, { 17, 14, 0, 30, 0, 0 }, + { 16, 13, 0, 30, 0, 0 }, { 15, 13, 0, 30, 0, 0 }, { 14, 13, 0, 30, 0, 0 }, { 13, 12, 0, 30, 0, 0 }, { 12, 12, 0, 30, 0, 0 }, + { 11, 11, 0, 30, 0, 0 }, { 10, 11, 0, 30, 0, 0 }, { 9, 10, 0, 30, 0, 0 }, { 8, 10, 0, 29, 0, 0 }, { 7, 9, 0, 29, 0, 0 }, + { 6, 9, 0, 29, 0, 0 }, { 5, 8, 0, 29, 0, 0 }, { 4, 7, 0, 29, 0, 0 }, { 3, 7, 0, 29, 0, 0 }, { 2, 6, 0, 29, 0, 0 }, + { 1, 5, 0, 29, 0, 0 }, { 0, 4, 0, 29, 0, 0 }, { -1, 3, 0, 28, 0, 0 }, { -3, 3, 0, 28, 0, 0 }, { -4, 2, 0, 28, 0, 0 }, + { -5, 1, 0, 28, 0, 0 }, { -6, 0, 0, 28, 0, 0 }, { -7, -1, 0, 27, 0, 0 }, { -7, -2, 0, 27, 0, 0 }, { -8, -3, 0, 27, 0, 0 }, + { -9, -4, 0, 27, 0, 0 }, { -9, -5, 0, 27, 0, 0 }, { -10, -6, 0, 27, 0, 0 }, { -10, -7, 0, 27, 0, 0 }, { -11, -8, 0, 27, 0, 0 }, + { -11, -9, 0, 27, 0, 0 }, { -12, -10, 0, 26, 0, 0 }, { -12, -11, 0, 26, 0, 0 }, { -13, -12, 0, 26, 0, 0 }, { -13, -13, 0, 26, 0, 0 }, + { -13, -14, 0, 26, 0, 0 }, { -14, -15, 0, 26, 0, 0 }, { -14, -16, 0, 26, 0, 0 }, { -14, -17, 0, 26, 0, 0 }, { -15, -18, 0, 26, 0, 0 }, + { -15, -19, 0, 26, 0, 0 }, { -15, -20, 0, 25, 0, 0 }, { -15, -21, 0, 25, 0, 0 }, { -15, -22, 0, 25, 0, 0 }, { -15, -23, 0, 25, 0, 0 }, + { -16, -24, 0, 25, 0, 0 }, { -16, -25, 0, 25, 0, 0 }, { -16, -26, 0, 25, 0, 0 }, { -16, -27, 0, 25, 0, 0 }, { -16, -28, 0, 24, 0, 0 }, + { -16, -29, 0, 24, 0, 0 }, { -16, -30, 0, 24, 0, 0 }, { -16, -31, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DEF94 = { - 69, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 7, 0, 0 }, { 16, 6, 0, 7, 0, 0 }, { 15, 7, 0, 7, 0, 0 }, { 15, 8, 0, 7, 0, 0 }, { 15, 9, 0, 7, 0, 0 }, - { 15, 10, 0, 7, 0, 0 }, { 15, 11, 0, 7, 0, 0 }, { 15, 12, 0, 7, 0, 0 }, { 14, 13, 0, 7, 0, 0 }, { 14, 14, 0, 6, 0, 0 }, - { 14, 15, 0, 6, 0, 0 }, { 13, 16, 0, 6, 0, 0 }, { 13, 17, 0, 6, 0, 0 }, { 13, 18, 0, 6, 0, 0 }, { 12, 19, 0, 6, 0, 0 }, - { 12, 20, 0, 6, 0, 0 }, { 11, 21, 0, 6, 0, 0 }, { 11, 22, 0, 6, 0, 0 }, { 10, 23, 0, 6, 0, 0 }, { 10, 24, 0, 5, 0, 0 }, - { 9, 25, 0, 5, 0, 0 }, { 9, 26, 0, 5, 0, 0 }, { 8, 27, 0, 5, 0, 0 }, { 7, 28, 0, 5, 0, 0 }, { 7, 29, 0, 5, 0, 0 }, - { 6, 30, 0, 5, 0, 0 }, { 5, 31, 0, 5, 0, 0 }, { 4, 32, 0, 5, 0, 0 }, { 3, 33, 0, 4, 0, 0 }, { 3, 35, 0, 4, 0, 0 }, - { 2, 36, 0, 4, 0, 0 }, { 1, 37, 0, 4, 0, 0 }, { 0, 38, 0, 4, 0, 0 }, { -1, 39, 0, 3, 0, 0 }, { -2, 39, 0, 3, 0, 0 }, - { -3, 40, 0, 3, 0, 0 }, { -4, 41, 0, 3, 0, 0 }, { -5, 41, 0, 3, 0, 0 }, { -6, 42, 0, 3, 0, 0 }, { -7, 42, 0, 3, 0, 0 }, - { -8, 43, 0, 3, 0, 0 }, { -9, 43, 0, 3, 0, 0 }, { -10, 44, 0, 2, 0, 0 }, { -11, 44, 0, 2, 0, 0 }, { -12, 45, 0, 2, 0, 0 }, - { -13, 45, 0, 2, 0, 0 }, { -14, 45, 0, 2, 0, 0 }, { -15, 46, 0, 2, 0, 0 }, { -16, 46, 0, 2, 0, 0 }, { -17, 46, 0, 2, 0, 0 }, - { -18, 47, 0, 2, 0, 0 }, { -19, 47, 0, 2, 0, 0 }, { -20, 47, 0, 1, 0, 0 }, { -21, 47, 0, 1, 0, 0 }, { -22, 47, 0, 1, 0, 0 }, - { -23, 47, 0, 1, 0, 0 }, { -24, 48, 0, 1, 0, 0 }, { -25, 48, 0, 1, 0, 0 }, { -26, 48, 0, 1, 0, 0 }, { -27, 48, 0, 1, 0, 0 }, - { -28, 48, 0, 0, 0, 0 }, { -29, 48, 0, 0, 0, 0 }, { -30, 48, 0, 0, 0, 0 }, { -31, 48, 0, 0, 0, 0 }, + 69, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 7, 0, 0 }, { 16, 6, 0, 7, 0, 0 }, { 15, 7, 0, 7, 0, 0 }, { 15, 8, 0, 7, 0, 0 }, { 15, 9, 0, 7, 0, 0 }, + { 15, 10, 0, 7, 0, 0 }, { 15, 11, 0, 7, 0, 0 }, { 15, 12, 0, 7, 0, 0 }, { 14, 13, 0, 7, 0, 0 }, { 14, 14, 0, 6, 0, 0 }, + { 14, 15, 0, 6, 0, 0 }, { 13, 16, 0, 6, 0, 0 }, { 13, 17, 0, 6, 0, 0 }, { 13, 18, 0, 6, 0, 0 }, { 12, 19, 0, 6, 0, 0 }, + { 12, 20, 0, 6, 0, 0 }, { 11, 21, 0, 6, 0, 0 }, { 11, 22, 0, 6, 0, 0 }, { 10, 23, 0, 6, 0, 0 }, { 10, 24, 0, 5, 0, 0 }, + { 9, 25, 0, 5, 0, 0 }, { 9, 26, 0, 5, 0, 0 }, { 8, 27, 0, 5, 0, 0 }, { 7, 28, 0, 5, 0, 0 }, { 7, 29, 0, 5, 0, 0 }, + { 6, 30, 0, 5, 0, 0 }, { 5, 31, 0, 5, 0, 0 }, { 4, 32, 0, 5, 0, 0 }, { 3, 33, 0, 4, 0, 0 }, { 3, 35, 0, 4, 0, 0 }, + { 2, 36, 0, 4, 0, 0 }, { 1, 37, 0, 4, 0, 0 }, { 0, 38, 0, 4, 0, 0 }, { -1, 39, 0, 3, 0, 0 }, { -2, 39, 0, 3, 0, 0 }, + { -3, 40, 0, 3, 0, 0 }, { -4, 41, 0, 3, 0, 0 }, { -5, 41, 0, 3, 0, 0 }, { -6, 42, 0, 3, 0, 0 }, { -7, 42, 0, 3, 0, 0 }, + { -8, 43, 0, 3, 0, 0 }, { -9, 43, 0, 3, 0, 0 }, { -10, 44, 0, 2, 0, 0 }, { -11, 44, 0, 2, 0, 0 }, { -12, 45, 0, 2, 0, 0 }, + { -13, 45, 0, 2, 0, 0 }, { -14, 45, 0, 2, 0, 0 }, { -15, 46, 0, 2, 0, 0 }, { -16, 46, 0, 2, 0, 0 }, { -17, 46, 0, 2, 0, 0 }, + { -18, 47, 0, 2, 0, 0 }, { -19, 47, 0, 2, 0, 0 }, { -20, 47, 0, 1, 0, 0 }, { -21, 47, 0, 1, 0, 0 }, { -22, 47, 0, 1, 0, 0 }, + { -23, 47, 0, 1, 0, 0 }, { -24, 48, 0, 1, 0, 0 }, { -25, 48, 0, 1, 0, 0 }, { -26, 48, 0, 1, 0, 0 }, { -27, 48, 0, 1, 0, 0 }, + { -28, 48, 0, 0, 0, 0 }, { -29, 48, 0, 0, 0, 0 }, { -30, 48, 0, 0, 0, 0 }, { -31, 48, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DF203 = { - 68, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 15, 0, 0 }, { 6, 16, 0, 15, 0, 0 }, { 7, 17, 0, 15, 0, 0 }, { 8, 17, 0, 15, 0, 0 }, { 9, 17, 0, 15, 0, 0 }, - { 10, 17, 0, 15, 0, 0 }, { 11, 17, 0, 15, 0, 0 }, { 12, 17, 0, 15, 0, 0 }, { 13, 18, 0, 15, 0, 0 }, { 14, 18, 0, 14, 0, 0 }, - { 15, 18, 0, 14, 0, 0 }, { 16, 19, 0, 14, 0, 0 }, { 17, 19, 0, 14, 0, 0 }, { 18, 19, 0, 14, 0, 0 }, { 19, 20, 0, 14, 0, 0 }, - { 20, 20, 0, 14, 0, 0 }, { 21, 21, 0, 14, 0, 0 }, { 22, 21, 0, 14, 0, 0 }, { 23, 22, 0, 14, 0, 0 }, { 24, 22, 0, 13, 0, 0 }, - { 25, 23, 0, 13, 0, 0 }, { 26, 23, 0, 13, 0, 0 }, { 27, 24, 0, 13, 0, 0 }, { 28, 25, 0, 13, 0, 0 }, { 29, 25, 0, 13, 0, 0 }, - { 30, 26, 0, 13, 0, 0 }, { 31, 27, 0, 13, 0, 0 }, { 32, 28, 0, 13, 0, 0 }, { 33, 29, 0, 12, 0, 0 }, { 35, 29, 0, 12, 0, 0 }, - { 36, 30, 0, 12, 0, 0 }, { 37, 31, 0, 12, 0, 0 }, { 38, 32, 0, 12, 0, 0 }, { 39, 33, 0, 11, 0, 0 }, { 39, 34, 0, 11, 0, 0 }, - { 40, 35, 0, 11, 0, 0 }, { 41, 36, 0, 11, 0, 0 }, { 41, 37, 0, 11, 0, 0 }, { 42, 38, 0, 11, 0, 0 }, { 42, 39, 0, 11, 0, 0 }, - { 43, 40, 0, 11, 0, 0 }, { 43, 41, 0, 11, 0, 0 }, { 44, 42, 0, 10, 0, 0 }, { 44, 43, 0, 10, 0, 0 }, { 45, 44, 0, 10, 0, 0 }, - { 45, 45, 0, 10, 0, 0 }, { 45, 46, 0, 10, 0, 0 }, { 46, 47, 0, 10, 0, 0 }, { 46, 48, 0, 10, 0, 0 }, { 46, 49, 0, 10, 0, 0 }, - { 47, 50, 0, 10, 0, 0 }, { 47, 51, 0, 10, 0, 0 }, { 47, 52, 0, 9, 0, 0 }, { 47, 53, 0, 9, 0, 0 }, { 47, 54, 0, 9, 0, 0 }, - { 47, 55, 0, 9, 0, 0 }, { 48, 56, 0, 9, 0, 0 }, { 48, 57, 0, 9, 0, 0 }, { 48, 58, 0, 9, 0, 0 }, { 48, 59, 0, 9, 0, 0 }, - { 48, 60, 0, 8, 0, 0 }, { 48, 61, 0, 8, 0, 0 }, { 48, 62, 0, 8, 0, 0 }, + 68, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 15, 0, 0 }, { 6, 16, 0, 15, 0, 0 }, { 7, 17, 0, 15, 0, 0 }, { 8, 17, 0, 15, 0, 0 }, { 9, 17, 0, 15, 0, 0 }, + { 10, 17, 0, 15, 0, 0 }, { 11, 17, 0, 15, 0, 0 }, { 12, 17, 0, 15, 0, 0 }, { 13, 18, 0, 15, 0, 0 }, { 14, 18, 0, 14, 0, 0 }, + { 15, 18, 0, 14, 0, 0 }, { 16, 19, 0, 14, 0, 0 }, { 17, 19, 0, 14, 0, 0 }, { 18, 19, 0, 14, 0, 0 }, { 19, 20, 0, 14, 0, 0 }, + { 20, 20, 0, 14, 0, 0 }, { 21, 21, 0, 14, 0, 0 }, { 22, 21, 0, 14, 0, 0 }, { 23, 22, 0, 14, 0, 0 }, { 24, 22, 0, 13, 0, 0 }, + { 25, 23, 0, 13, 0, 0 }, { 26, 23, 0, 13, 0, 0 }, { 27, 24, 0, 13, 0, 0 }, { 28, 25, 0, 13, 0, 0 }, { 29, 25, 0, 13, 0, 0 }, + { 30, 26, 0, 13, 0, 0 }, { 31, 27, 0, 13, 0, 0 }, { 32, 28, 0, 13, 0, 0 }, { 33, 29, 0, 12, 0, 0 }, { 35, 29, 0, 12, 0, 0 }, + { 36, 30, 0, 12, 0, 0 }, { 37, 31, 0, 12, 0, 0 }, { 38, 32, 0, 12, 0, 0 }, { 39, 33, 0, 11, 0, 0 }, { 39, 34, 0, 11, 0, 0 }, + { 40, 35, 0, 11, 0, 0 }, { 41, 36, 0, 11, 0, 0 }, { 41, 37, 0, 11, 0, 0 }, { 42, 38, 0, 11, 0, 0 }, { 42, 39, 0, 11, 0, 0 }, + { 43, 40, 0, 11, 0, 0 }, { 43, 41, 0, 11, 0, 0 }, { 44, 42, 0, 10, 0, 0 }, { 44, 43, 0, 10, 0, 0 }, { 45, 44, 0, 10, 0, 0 }, + { 45, 45, 0, 10, 0, 0 }, { 45, 46, 0, 10, 0, 0 }, { 46, 47, 0, 10, 0, 0 }, { 46, 48, 0, 10, 0, 0 }, { 46, 49, 0, 10, 0, 0 }, + { 47, 50, 0, 10, 0, 0 }, { 47, 51, 0, 10, 0, 0 }, { 47, 52, 0, 9, 0, 0 }, { 47, 53, 0, 9, 0, 0 }, { 47, 54, 0, 9, 0, 0 }, + { 47, 55, 0, 9, 0, 0 }, { 48, 56, 0, 9, 0, 0 }, { 48, 57, 0, 9, 0, 0 }, { 48, 58, 0, 9, 0, 0 }, { 48, 59, 0, 9, 0, 0 }, + { 48, 60, 0, 8, 0, 0 }, { 48, 61, 0, 8, 0, 0 }, { 48, 62, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DF469 = { - 67, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 23, 0, 0 }, - { 16, 26, 0, 23, 0, 0 }, { 17, 25, 0, 23, 0, 0 }, { 17, 24, 0, 23, 0, 0 }, { 17, 23, 0, 23, 0, 0 }, { 17, 22, 0, 23, 0, 0 }, - { 17, 21, 0, 23, 0, 0 }, { 17, 20, 0, 23, 0, 0 }, { 18, 19, 0, 23, 0, 0 }, { 18, 18, 0, 22, 0, 0 }, { 18, 17, 0, 22, 0, 0 }, - { 19, 16, 0, 22, 0, 0 }, { 19, 15, 0, 22, 0, 0 }, { 19, 14, 0, 22, 0, 0 }, { 20, 13, 0, 22, 0, 0 }, { 20, 12, 0, 22, 0, 0 }, - { 21, 11, 0, 22, 0, 0 }, { 21, 10, 0, 22, 0, 0 }, { 22, 9, 0, 22, 0, 0 }, { 22, 8, 0, 21, 0, 0 }, { 23, 7, 0, 21, 0, 0 }, - { 23, 6, 0, 21, 0, 0 }, { 24, 5, 0, 21, 0, 0 }, { 25, 4, 0, 21, 0, 0 }, { 25, 3, 0, 21, 0, 0 }, { 26, 2, 0, 21, 0, 0 }, - { 27, 1, 0, 21, 0, 0 }, { 28, 0, 0, 21, 0, 0 }, { 29, -1, 0, 20, 0, 0 }, { 29, -3, 0, 20, 0, 0 }, { 30, -4, 0, 20, 0, 0 }, - { 31, -5, 0, 20, 0, 0 }, { 32, -6, 0, 20, 0, 0 }, { 33, -7, 0, 19, 0, 0 }, { 34, -7, 0, 19, 0, 0 }, { 35, -8, 0, 19, 0, 0 }, - { 36, -9, 0, 19, 0, 0 }, { 37, -9, 0, 19, 0, 0 }, { 38, -10, 0, 19, 0, 0 }, { 39, -10, 0, 19, 0, 0 }, { 40, -11, 0, 19, 0, 0 }, - { 41, -11, 0, 19, 0, 0 }, { 42, -12, 0, 18, 0, 0 }, { 43, -12, 0, 18, 0, 0 }, { 44, -13, 0, 18, 0, 0 }, { 45, -13, 0, 18, 0, 0 }, - { 46, -13, 0, 18, 0, 0 }, { 47, -14, 0, 18, 0, 0 }, { 48, -14, 0, 18, 0, 0 }, { 49, -14, 0, 18, 0, 0 }, { 50, -15, 0, 18, 0, 0 }, - { 51, -15, 0, 18, 0, 0 }, { 52, -15, 0, 17, 0, 0 }, { 53, -15, 0, 17, 0, 0 }, { 54, -15, 0, 17, 0, 0 }, { 55, -15, 0, 17, 0, 0 }, - { 56, -16, 0, 17, 0, 0 }, { 57, -16, 0, 17, 0, 0 }, { 58, -16, 0, 17, 0, 0 }, { 59, -16, 0, 17, 0, 0 }, { 60, -16, 0, 16, 0, 0 }, - { 61, -16, 0, 16, 0, 0 }, { 62, -16, 0, 16, 0, 0 }, + 67, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 23, 0, 0 }, + { 16, 26, 0, 23, 0, 0 }, { 17, 25, 0, 23, 0, 0 }, { 17, 24, 0, 23, 0, 0 }, { 17, 23, 0, 23, 0, 0 }, { 17, 22, 0, 23, 0, 0 }, + { 17, 21, 0, 23, 0, 0 }, { 17, 20, 0, 23, 0, 0 }, { 18, 19, 0, 23, 0, 0 }, { 18, 18, 0, 22, 0, 0 }, { 18, 17, 0, 22, 0, 0 }, + { 19, 16, 0, 22, 0, 0 }, { 19, 15, 0, 22, 0, 0 }, { 19, 14, 0, 22, 0, 0 }, { 20, 13, 0, 22, 0, 0 }, { 20, 12, 0, 22, 0, 0 }, + { 21, 11, 0, 22, 0, 0 }, { 21, 10, 0, 22, 0, 0 }, { 22, 9, 0, 22, 0, 0 }, { 22, 8, 0, 21, 0, 0 }, { 23, 7, 0, 21, 0, 0 }, + { 23, 6, 0, 21, 0, 0 }, { 24, 5, 0, 21, 0, 0 }, { 25, 4, 0, 21, 0, 0 }, { 25, 3, 0, 21, 0, 0 }, { 26, 2, 0, 21, 0, 0 }, + { 27, 1, 0, 21, 0, 0 }, { 28, 0, 0, 21, 0, 0 }, { 29, -1, 0, 20, 0, 0 }, { 29, -3, 0, 20, 0, 0 }, { 30, -4, 0, 20, 0, 0 }, + { 31, -5, 0, 20, 0, 0 }, { 32, -6, 0, 20, 0, 0 }, { 33, -7, 0, 19, 0, 0 }, { 34, -7, 0, 19, 0, 0 }, { 35, -8, 0, 19, 0, 0 }, + { 36, -9, 0, 19, 0, 0 }, { 37, -9, 0, 19, 0, 0 }, { 38, -10, 0, 19, 0, 0 }, { 39, -10, 0, 19, 0, 0 }, { 40, -11, 0, 19, 0, 0 }, + { 41, -11, 0, 19, 0, 0 }, { 42, -12, 0, 18, 0, 0 }, { 43, -12, 0, 18, 0, 0 }, { 44, -13, 0, 18, 0, 0 }, { 45, -13, 0, 18, 0, 0 }, + { 46, -13, 0, 18, 0, 0 }, { 47, -14, 0, 18, 0, 0 }, { 48, -14, 0, 18, 0, 0 }, { 49, -14, 0, 18, 0, 0 }, { 50, -15, 0, 18, 0, 0 }, + { 51, -15, 0, 18, 0, 0 }, { 52, -15, 0, 17, 0, 0 }, { 53, -15, 0, 17, 0, 0 }, { 54, -15, 0, 17, 0, 0 }, { 55, -15, 0, 17, 0, 0 }, + { 56, -16, 0, 17, 0, 0 }, { 57, -16, 0, 17, 0, 0 }, { 58, -16, 0, 17, 0, 0 }, { 59, -16, 0, 17, 0, 0 }, { 60, -16, 0, 16, 0, 0 }, + { 61, -16, 0, 16, 0, 0 }, { 62, -16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DF6C6 = { - 67, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 1, 0, 0 }, - { 26, 16, 0, 1, 0, 0 }, { 25, 17, 0, 1, 0, 0 }, { 24, 17, 0, 1, 0, 0 }, { 23, 17, 0, 1, 0, 0 }, { 22, 17, 0, 1, 0, 0 }, - { 21, 17, 0, 1, 0, 0 }, { 20, 17, 0, 1, 0, 0 }, { 19, 18, 0, 1, 0, 0 }, { 18, 18, 0, 2, 0, 0 }, { 17, 18, 0, 2, 0, 0 }, - { 16, 19, 0, 2, 0, 0 }, { 15, 19, 0, 2, 0, 0 }, { 14, 19, 0, 2, 0, 0 }, { 13, 20, 0, 2, 0, 0 }, { 12, 20, 0, 2, 0, 0 }, - { 11, 21, 0, 2, 0, 0 }, { 10, 21, 0, 2, 0, 0 }, { 9, 22, 0, 2, 0, 0 }, { 8, 22, 0, 3, 0, 0 }, { 7, 23, 0, 3, 0, 0 }, - { 6, 23, 0, 3, 0, 0 }, { 5, 24, 0, 3, 0, 0 }, { 4, 25, 0, 3, 0, 0 }, { 3, 25, 0, 3, 0, 0 }, { 2, 26, 0, 3, 0, 0 }, - { 1, 27, 0, 3, 0, 0 }, { 0, 28, 0, 3, 0, 0 }, { -1, 29, 0, 4, 0, 0 }, { -3, 29, 0, 4, 0, 0 }, { -4, 30, 0, 4, 0, 0 }, - { -5, 31, 0, 4, 0, 0 }, { -6, 32, 0, 4, 0, 0 }, { -7, 33, 0, 5, 0, 0 }, { -7, 34, 0, 5, 0, 0 }, { -8, 35, 0, 5, 0, 0 }, - { -9, 36, 0, 5, 0, 0 }, { -9, 37, 0, 5, 0, 0 }, { -10, 38, 0, 5, 0, 0 }, { -10, 39, 0, 5, 0, 0 }, { -11, 40, 0, 5, 0, 0 }, - { -11, 41, 0, 5, 0, 0 }, { -12, 42, 0, 6, 0, 0 }, { -12, 43, 0, 6, 0, 0 }, { -13, 44, 0, 6, 0, 0 }, { -13, 45, 0, 6, 0, 0 }, - { -13, 46, 0, 6, 0, 0 }, { -14, 47, 0, 6, 0, 0 }, { -14, 48, 0, 6, 0, 0 }, { -14, 49, 0, 6, 0, 0 }, { -15, 50, 0, 6, 0, 0 }, - { -15, 51, 0, 6, 0, 0 }, { -15, 52, 0, 7, 0, 0 }, { -15, 53, 0, 7, 0, 0 }, { -15, 54, 0, 7, 0, 0 }, { -15, 55, 0, 7, 0, 0 }, - { -16, 56, 0, 7, 0, 0 }, { -16, 57, 0, 7, 0, 0 }, { -16, 58, 0, 7, 0, 0 }, { -16, 59, 0, 7, 0, 0 }, { -16, 60, 0, 8, 0, 0 }, - { -16, 61, 0, 8, 0, 0 }, { -16, 62, 0, 8, 0, 0 }, + 67, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 1, 0, 0 }, + { 26, 16, 0, 1, 0, 0 }, { 25, 17, 0, 1, 0, 0 }, { 24, 17, 0, 1, 0, 0 }, { 23, 17, 0, 1, 0, 0 }, { 22, 17, 0, 1, 0, 0 }, + { 21, 17, 0, 1, 0, 0 }, { 20, 17, 0, 1, 0, 0 }, { 19, 18, 0, 1, 0, 0 }, { 18, 18, 0, 2, 0, 0 }, { 17, 18, 0, 2, 0, 0 }, + { 16, 19, 0, 2, 0, 0 }, { 15, 19, 0, 2, 0, 0 }, { 14, 19, 0, 2, 0, 0 }, { 13, 20, 0, 2, 0, 0 }, { 12, 20, 0, 2, 0, 0 }, + { 11, 21, 0, 2, 0, 0 }, { 10, 21, 0, 2, 0, 0 }, { 9, 22, 0, 2, 0, 0 }, { 8, 22, 0, 3, 0, 0 }, { 7, 23, 0, 3, 0, 0 }, + { 6, 23, 0, 3, 0, 0 }, { 5, 24, 0, 3, 0, 0 }, { 4, 25, 0, 3, 0, 0 }, { 3, 25, 0, 3, 0, 0 }, { 2, 26, 0, 3, 0, 0 }, + { 1, 27, 0, 3, 0, 0 }, { 0, 28, 0, 3, 0, 0 }, { -1, 29, 0, 4, 0, 0 }, { -3, 29, 0, 4, 0, 0 }, { -4, 30, 0, 4, 0, 0 }, + { -5, 31, 0, 4, 0, 0 }, { -6, 32, 0, 4, 0, 0 }, { -7, 33, 0, 5, 0, 0 }, { -7, 34, 0, 5, 0, 0 }, { -8, 35, 0, 5, 0, 0 }, + { -9, 36, 0, 5, 0, 0 }, { -9, 37, 0, 5, 0, 0 }, { -10, 38, 0, 5, 0, 0 }, { -10, 39, 0, 5, 0, 0 }, { -11, 40, 0, 5, 0, 0 }, + { -11, 41, 0, 5, 0, 0 }, { -12, 42, 0, 6, 0, 0 }, { -12, 43, 0, 6, 0, 0 }, { -13, 44, 0, 6, 0, 0 }, { -13, 45, 0, 6, 0, 0 }, + { -13, 46, 0, 6, 0, 0 }, { -14, 47, 0, 6, 0, 0 }, { -14, 48, 0, 6, 0, 0 }, { -14, 49, 0, 6, 0, 0 }, { -15, 50, 0, 6, 0, 0 }, + { -15, 51, 0, 6, 0, 0 }, { -15, 52, 0, 7, 0, 0 }, { -15, 53, 0, 7, 0, 0 }, { -15, 54, 0, 7, 0, 0 }, { -15, 55, 0, 7, 0, 0 }, + { -16, 56, 0, 7, 0, 0 }, { -16, 57, 0, 7, 0, 0 }, { -16, 58, 0, 7, 0, 0 }, { -16, 59, 0, 7, 0, 0 }, { -16, 60, 0, 8, 0, 0 }, + { -16, 61, 0, 8, 0, 0 }, { -16, 62, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DF923 = { - 68, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 9, 0, 0 }, { 16, 6, 0, 9, 0, 0 }, { 17, 7, 0, 9, 0, 0 }, { 17, 8, 0, 9, 0, 0 }, { 17, 9, 0, 9, 0, 0 }, - { 17, 10, 0, 9, 0, 0 }, { 17, 11, 0, 9, 0, 0 }, { 17, 12, 0, 9, 0, 0 }, { 18, 13, 0, 9, 0, 0 }, { 18, 14, 0, 10, 0, 0 }, - { 18, 15, 0, 10, 0, 0 }, { 19, 16, 0, 10, 0, 0 }, { 19, 17, 0, 10, 0, 0 }, { 19, 18, 0, 10, 0, 0 }, { 20, 19, 0, 10, 0, 0 }, - { 20, 20, 0, 10, 0, 0 }, { 21, 21, 0, 10, 0, 0 }, { 21, 22, 0, 10, 0, 0 }, { 22, 23, 0, 10, 0, 0 }, { 22, 24, 0, 11, 0, 0 }, - { 23, 25, 0, 11, 0, 0 }, { 23, 26, 0, 11, 0, 0 }, { 24, 27, 0, 11, 0, 0 }, { 25, 28, 0, 11, 0, 0 }, { 25, 29, 0, 11, 0, 0 }, - { 26, 30, 0, 11, 0, 0 }, { 27, 31, 0, 11, 0, 0 }, { 28, 32, 0, 11, 0, 0 }, { 29, 33, 0, 12, 0, 0 }, { 29, 35, 0, 12, 0, 0 }, - { 30, 36, 0, 12, 0, 0 }, { 31, 37, 0, 12, 0, 0 }, { 32, 38, 0, 12, 0, 0 }, { 33, 39, 0, 13, 0, 0 }, { 34, 39, 0, 13, 0, 0 }, - { 35, 40, 0, 13, 0, 0 }, { 36, 41, 0, 13, 0, 0 }, { 37, 41, 0, 13, 0, 0 }, { 38, 42, 0, 13, 0, 0 }, { 39, 42, 0, 13, 0, 0 }, - { 40, 43, 0, 13, 0, 0 }, { 41, 43, 0, 13, 0, 0 }, { 42, 44, 0, 14, 0, 0 }, { 43, 44, 0, 14, 0, 0 }, { 44, 45, 0, 14, 0, 0 }, - { 45, 45, 0, 14, 0, 0 }, { 46, 45, 0, 14, 0, 0 }, { 47, 46, 0, 14, 0, 0 }, { 48, 46, 0, 14, 0, 0 }, { 49, 46, 0, 14, 0, 0 }, - { 50, 47, 0, 14, 0, 0 }, { 51, 47, 0, 14, 0, 0 }, { 52, 47, 0, 15, 0, 0 }, { 53, 47, 0, 15, 0, 0 }, { 54, 47, 0, 15, 0, 0 }, - { 55, 47, 0, 15, 0, 0 }, { 56, 48, 0, 15, 0, 0 }, { 57, 48, 0, 15, 0, 0 }, { 58, 48, 0, 15, 0, 0 }, { 59, 48, 0, 15, 0, 0 }, - { 60, 48, 0, 16, 0, 0 }, { 61, 48, 0, 16, 0, 0 }, { 62, 48, 0, 16, 0, 0 }, + 68, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 9, 0, 0 }, { 16, 6, 0, 9, 0, 0 }, { 17, 7, 0, 9, 0, 0 }, { 17, 8, 0, 9, 0, 0 }, { 17, 9, 0, 9, 0, 0 }, + { 17, 10, 0, 9, 0, 0 }, { 17, 11, 0, 9, 0, 0 }, { 17, 12, 0, 9, 0, 0 }, { 18, 13, 0, 9, 0, 0 }, { 18, 14, 0, 10, 0, 0 }, + { 18, 15, 0, 10, 0, 0 }, { 19, 16, 0, 10, 0, 0 }, { 19, 17, 0, 10, 0, 0 }, { 19, 18, 0, 10, 0, 0 }, { 20, 19, 0, 10, 0, 0 }, + { 20, 20, 0, 10, 0, 0 }, { 21, 21, 0, 10, 0, 0 }, { 21, 22, 0, 10, 0, 0 }, { 22, 23, 0, 10, 0, 0 }, { 22, 24, 0, 11, 0, 0 }, + { 23, 25, 0, 11, 0, 0 }, { 23, 26, 0, 11, 0, 0 }, { 24, 27, 0, 11, 0, 0 }, { 25, 28, 0, 11, 0, 0 }, { 25, 29, 0, 11, 0, 0 }, + { 26, 30, 0, 11, 0, 0 }, { 27, 31, 0, 11, 0, 0 }, { 28, 32, 0, 11, 0, 0 }, { 29, 33, 0, 12, 0, 0 }, { 29, 35, 0, 12, 0, 0 }, + { 30, 36, 0, 12, 0, 0 }, { 31, 37, 0, 12, 0, 0 }, { 32, 38, 0, 12, 0, 0 }, { 33, 39, 0, 13, 0, 0 }, { 34, 39, 0, 13, 0, 0 }, + { 35, 40, 0, 13, 0, 0 }, { 36, 41, 0, 13, 0, 0 }, { 37, 41, 0, 13, 0, 0 }, { 38, 42, 0, 13, 0, 0 }, { 39, 42, 0, 13, 0, 0 }, + { 40, 43, 0, 13, 0, 0 }, { 41, 43, 0, 13, 0, 0 }, { 42, 44, 0, 14, 0, 0 }, { 43, 44, 0, 14, 0, 0 }, { 44, 45, 0, 14, 0, 0 }, + { 45, 45, 0, 14, 0, 0 }, { 46, 45, 0, 14, 0, 0 }, { 47, 46, 0, 14, 0, 0 }, { 48, 46, 0, 14, 0, 0 }, { 49, 46, 0, 14, 0, 0 }, + { 50, 47, 0, 14, 0, 0 }, { 51, 47, 0, 14, 0, 0 }, { 52, 47, 0, 15, 0, 0 }, { 53, 47, 0, 15, 0, 0 }, { 54, 47, 0, 15, 0, 0 }, + { 55, 47, 0, 15, 0, 0 }, { 56, 48, 0, 15, 0, 0 }, { 57, 48, 0, 15, 0, 0 }, { 58, 48, 0, 15, 0, 0 }, { 59, 48, 0, 15, 0, 0 }, + { 60, 48, 0, 16, 0, 0 }, { 61, 48, 0, 16, 0, 0 }, { 62, 48, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DFB89 = { - 69, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 17, 0, 0 }, { 6, 16, 0, 17, 0, 0 }, { 7, 15, 0, 17, 0, 0 }, { 8, 15, 0, 17, 0, 0 }, { 9, 15, 0, 17, 0, 0 }, - { 10, 15, 0, 17, 0, 0 }, { 11, 15, 0, 17, 0, 0 }, { 12, 15, 0, 17, 0, 0 }, { 13, 14, 0, 17, 0, 0 }, { 14, 14, 0, 18, 0, 0 }, - { 15, 14, 0, 18, 0, 0 }, { 16, 13, 0, 18, 0, 0 }, { 17, 13, 0, 18, 0, 0 }, { 18, 13, 0, 18, 0, 0 }, { 19, 12, 0, 18, 0, 0 }, - { 20, 12, 0, 18, 0, 0 }, { 21, 11, 0, 18, 0, 0 }, { 22, 11, 0, 18, 0, 0 }, { 23, 10, 0, 18, 0, 0 }, { 24, 10, 0, 19, 0, 0 }, - { 25, 9, 0, 19, 0, 0 }, { 26, 9, 0, 19, 0, 0 }, { 27, 8, 0, 19, 0, 0 }, { 28, 7, 0, 19, 0, 0 }, { 29, 7, 0, 19, 0, 0 }, - { 30, 6, 0, 19, 0, 0 }, { 31, 5, 0, 19, 0, 0 }, { 32, 4, 0, 19, 0, 0 }, { 33, 3, 0, 20, 0, 0 }, { 35, 3, 0, 20, 0, 0 }, - { 36, 2, 0, 20, 0, 0 }, { 37, 1, 0, 20, 0, 0 }, { 38, 0, 0, 20, 0, 0 }, { 39, -1, 0, 21, 0, 0 }, { 39, -2, 0, 21, 0, 0 }, - { 40, -3, 0, 21, 0, 0 }, { 41, -4, 0, 21, 0, 0 }, { 41, -5, 0, 21, 0, 0 }, { 42, -6, 0, 21, 0, 0 }, { 42, -7, 0, 21, 0, 0 }, - { 43, -8, 0, 21, 0, 0 }, { 43, -9, 0, 21, 0, 0 }, { 44, -10, 0, 22, 0, 0 }, { 44, -11, 0, 22, 0, 0 }, { 45, -12, 0, 22, 0, 0 }, - { 45, -13, 0, 22, 0, 0 }, { 45, -14, 0, 22, 0, 0 }, { 46, -15, 0, 22, 0, 0 }, { 46, -16, 0, 22, 0, 0 }, { 46, -17, 0, 22, 0, 0 }, - { 47, -18, 0, 22, 0, 0 }, { 47, -19, 0, 22, 0, 0 }, { 47, -20, 0, 23, 0, 0 }, { 47, -21, 0, 23, 0, 0 }, { 47, -22, 0, 23, 0, 0 }, - { 47, -23, 0, 23, 0, 0 }, { 48, -24, 0, 23, 0, 0 }, { 48, -25, 0, 23, 0, 0 }, { 48, -26, 0, 23, 0, 0 }, { 48, -27, 0, 23, 0, 0 }, - { 48, -28, 0, 24, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, { 48, -30, 0, 24, 0, 0 }, { 48, -31, 0, 24, 0, 0 }, + 69, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 17, 0, 0 }, { 6, 16, 0, 17, 0, 0 }, { 7, 15, 0, 17, 0, 0 }, { 8, 15, 0, 17, 0, 0 }, { 9, 15, 0, 17, 0, 0 }, + { 10, 15, 0, 17, 0, 0 }, { 11, 15, 0, 17, 0, 0 }, { 12, 15, 0, 17, 0, 0 }, { 13, 14, 0, 17, 0, 0 }, { 14, 14, 0, 18, 0, 0 }, + { 15, 14, 0, 18, 0, 0 }, { 16, 13, 0, 18, 0, 0 }, { 17, 13, 0, 18, 0, 0 }, { 18, 13, 0, 18, 0, 0 }, { 19, 12, 0, 18, 0, 0 }, + { 20, 12, 0, 18, 0, 0 }, { 21, 11, 0, 18, 0, 0 }, { 22, 11, 0, 18, 0, 0 }, { 23, 10, 0, 18, 0, 0 }, { 24, 10, 0, 19, 0, 0 }, + { 25, 9, 0, 19, 0, 0 }, { 26, 9, 0, 19, 0, 0 }, { 27, 8, 0, 19, 0, 0 }, { 28, 7, 0, 19, 0, 0 }, { 29, 7, 0, 19, 0, 0 }, + { 30, 6, 0, 19, 0, 0 }, { 31, 5, 0, 19, 0, 0 }, { 32, 4, 0, 19, 0, 0 }, { 33, 3, 0, 20, 0, 0 }, { 35, 3, 0, 20, 0, 0 }, + { 36, 2, 0, 20, 0, 0 }, { 37, 1, 0, 20, 0, 0 }, { 38, 0, 0, 20, 0, 0 }, { 39, -1, 0, 21, 0, 0 }, { 39, -2, 0, 21, 0, 0 }, + { 40, -3, 0, 21, 0, 0 }, { 41, -4, 0, 21, 0, 0 }, { 41, -5, 0, 21, 0, 0 }, { 42, -6, 0, 21, 0, 0 }, { 42, -7, 0, 21, 0, 0 }, + { 43, -8, 0, 21, 0, 0 }, { 43, -9, 0, 21, 0, 0 }, { 44, -10, 0, 22, 0, 0 }, { 44, -11, 0, 22, 0, 0 }, { 45, -12, 0, 22, 0, 0 }, + { 45, -13, 0, 22, 0, 0 }, { 45, -14, 0, 22, 0, 0 }, { 46, -15, 0, 22, 0, 0 }, { 46, -16, 0, 22, 0, 0 }, { 46, -17, 0, 22, 0, 0 }, + { 47, -18, 0, 22, 0, 0 }, { 47, -19, 0, 22, 0, 0 }, { 47, -20, 0, 23, 0, 0 }, { 47, -21, 0, 23, 0, 0 }, { 47, -22, 0, 23, 0, 0 }, + { 47, -23, 0, 23, 0, 0 }, { 48, -24, 0, 23, 0, 0 }, { 48, -25, 0, 23, 0, 0 }, { 48, -26, 0, 23, 0, 0 }, { 48, -27, 0, 23, 0, 0 }, + { 48, -28, 0, 24, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, { 48, -30, 0, 24, 0, 0 }, { 48, -31, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DFDF8 = { - 68, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 25, 0, 0 }, - { 16, 26, 0, 25, 0, 0 }, { 15, 25, 0, 25, 0, 0 }, { 15, 24, 0, 25, 0, 0 }, { 15, 23, 0, 25, 0, 0 }, { 15, 22, 0, 25, 0, 0 }, - { 15, 21, 0, 25, 0, 0 }, { 15, 20, 0, 25, 0, 0 }, { 14, 19, 0, 25, 0, 0 }, { 14, 18, 0, 26, 0, 0 }, { 14, 17, 0, 26, 0, 0 }, - { 13, 16, 0, 26, 0, 0 }, { 13, 15, 0, 26, 0, 0 }, { 13, 14, 0, 26, 0, 0 }, { 12, 13, 0, 26, 0, 0 }, { 12, 12, 0, 26, 0, 0 }, - { 11, 11, 0, 26, 0, 0 }, { 11, 10, 0, 26, 0, 0 }, { 10, 9, 0, 26, 0, 0 }, { 10, 8, 0, 27, 0, 0 }, { 9, 7, 0, 27, 0, 0 }, - { 9, 6, 0, 27, 0, 0 }, { 8, 5, 0, 27, 0, 0 }, { 7, 4, 0, 27, 0, 0 }, { 7, 3, 0, 27, 0, 0 }, { 6, 2, 0, 27, 0, 0 }, - { 5, 1, 0, 27, 0, 0 }, { 4, 0, 0, 27, 0, 0 }, { 3, -1, 0, 28, 0, 0 }, { 3, -3, 0, 28, 0, 0 }, { 2, -4, 0, 28, 0, 0 }, - { 1, -5, 0, 28, 0, 0 }, { 0, -6, 0, 28, 0, 0 }, { -1, -7, 0, 29, 0, 0 }, { -2, -7, 0, 29, 0, 0 }, { -3, -8, 0, 29, 0, 0 }, - { -4, -9, 0, 29, 0, 0 }, { -5, -9, 0, 29, 0, 0 }, { -6, -10, 0, 29, 0, 0 }, { -7, -10, 0, 29, 0, 0 }, { -8, -11, 0, 29, 0, 0 }, - { -9, -11, 0, 29, 0, 0 }, { -10, -12, 0, 30, 0, 0 }, { -11, -12, 0, 30, 0, 0 }, { -12, -13, 0, 30, 0, 0 }, { -13, -13, 0, 30, 0, 0 }, - { -14, -13, 0, 30, 0, 0 }, { -15, -14, 0, 30, 0, 0 }, { -16, -14, 0, 30, 0, 0 }, { -17, -14, 0, 30, 0, 0 }, { -18, -15, 0, 30, 0, 0 }, - { -19, -15, 0, 30, 0, 0 }, { -20, -15, 0, 31, 0, 0 }, { -21, -15, 0, 31, 0, 0 }, { -22, -15, 0, 31, 0, 0 }, { -23, -15, 0, 31, 0, 0 }, - { -24, -16, 0, 31, 0, 0 }, { -25, -16, 0, 31, 0, 0 }, { -26, -16, 0, 31, 0, 0 }, { -27, -16, 0, 31, 0, 0 }, { -28, -16, 0, 0, 0, 0 }, - { -29, -16, 0, 0, 0, 0 }, { -30, -16, 0, 0, 0, 0 }, { -31, -16, 0, 0, 0, 0 }, + 68, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 25, 0, 0 }, + { 16, 26, 0, 25, 0, 0 }, { 15, 25, 0, 25, 0, 0 }, { 15, 24, 0, 25, 0, 0 }, { 15, 23, 0, 25, 0, 0 }, { 15, 22, 0, 25, 0, 0 }, + { 15, 21, 0, 25, 0, 0 }, { 15, 20, 0, 25, 0, 0 }, { 14, 19, 0, 25, 0, 0 }, { 14, 18, 0, 26, 0, 0 }, { 14, 17, 0, 26, 0, 0 }, + { 13, 16, 0, 26, 0, 0 }, { 13, 15, 0, 26, 0, 0 }, { 13, 14, 0, 26, 0, 0 }, { 12, 13, 0, 26, 0, 0 }, { 12, 12, 0, 26, 0, 0 }, + { 11, 11, 0, 26, 0, 0 }, { 11, 10, 0, 26, 0, 0 }, { 10, 9, 0, 26, 0, 0 }, { 10, 8, 0, 27, 0, 0 }, { 9, 7, 0, 27, 0, 0 }, + { 9, 6, 0, 27, 0, 0 }, { 8, 5, 0, 27, 0, 0 }, { 7, 4, 0, 27, 0, 0 }, { 7, 3, 0, 27, 0, 0 }, { 6, 2, 0, 27, 0, 0 }, + { 5, 1, 0, 27, 0, 0 }, { 4, 0, 0, 27, 0, 0 }, { 3, -1, 0, 28, 0, 0 }, { 3, -3, 0, 28, 0, 0 }, { 2, -4, 0, 28, 0, 0 }, + { 1, -5, 0, 28, 0, 0 }, { 0, -6, 0, 28, 0, 0 }, { -1, -7, 0, 29, 0, 0 }, { -2, -7, 0, 29, 0, 0 }, { -3, -8, 0, 29, 0, 0 }, + { -4, -9, 0, 29, 0, 0 }, { -5, -9, 0, 29, 0, 0 }, { -6, -10, 0, 29, 0, 0 }, { -7, -10, 0, 29, 0, 0 }, { -8, -11, 0, 29, 0, 0 }, + { -9, -11, 0, 29, 0, 0 }, { -10, -12, 0, 30, 0, 0 }, { -11, -12, 0, 30, 0, 0 }, { -12, -13, 0, 30, 0, 0 }, { -13, -13, 0, 30, 0, 0 }, + { -14, -13, 0, 30, 0, 0 }, { -15, -14, 0, 30, 0, 0 }, { -16, -14, 0, 30, 0, 0 }, { -17, -14, 0, 30, 0, 0 }, { -18, -15, 0, 30, 0, 0 }, + { -19, -15, 0, 30, 0, 0 }, { -20, -15, 0, 31, 0, 0 }, { -21, -15, 0, 31, 0, 0 }, { -22, -15, 0, 31, 0, 0 }, { -23, -15, 0, 31, 0, 0 }, + { -24, -16, 0, 31, 0, 0 }, { -25, -16, 0, 31, 0, 0 }, { -26, -16, 0, 31, 0, 0 }, { -27, -16, 0, 31, 0, 0 }, { -28, -16, 0, 0, 0, 0 }, + { -29, -16, 0, 0, 0, 0 }, { -30, -16, 0, 0, 0, 0 }, { -31, -16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E005E = { - 68, { - { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 31, 0, 2 }, - { 26, 16, 0, 31, 0, 2 }, { 25, 15, 0, 31, 0, 2 }, { 24, 15, 0, 31, 0, 2 }, { 23, 15, 0, 31, 0, 2 }, { 22, 15, 0, 31, 0, 2 }, - { 21, 15, 0, 31, 0, 2 }, { 20, 15, 0, 31, 0, 2 }, { 19, 14, 0, 31, 0, 2 }, { 18, 14, 0, 30, 0, 2 }, { 17, 14, 0, 30, 0, 2 }, - { 16, 13, 0, 30, 0, 2 }, { 15, 13, 0, 30, 0, 2 }, { 14, 13, 0, 30, 0, 2 }, { 13, 12, 0, 30, 0, 2 }, { 12, 12, 0, 30, 0, 2 }, - { 11, 11, 0, 30, 0, 2 }, { 10, 11, 0, 30, 0, 2 }, { 9, 10, 0, 30, 0, 2 }, { 8, 10, 0, 29, 0, 2 }, { 7, 9, 0, 29, 0, 2 }, - { 6, 9, 0, 29, 0, 2 }, { 5, 8, 0, 29, 0, 2 }, { 4, 7, 0, 29, 0, 2 }, { 3, 7, 0, 29, 0, 2 }, { 2, 6, 0, 29, 0, 2 }, - { 1, 5, 0, 29, 0, 2 }, { 0, 4, 0, 29, 0, 2 }, { -1, 3, 0, 28, 0, 2 }, { -3, 3, 0, 28, 0, 2 }, { -4, 2, 0, 28, 0, 2 }, - { -5, 1, 0, 28, 0, 2 }, { -6, 0, 0, 28, 0, 2 }, { -7, -1, 0, 27, 0, 2 }, { -7, -2, 0, 27, 0, 2 }, { -8, -3, 0, 27, 0, 2 }, - { -9, -4, 0, 27, 0, 2 }, { -9, -5, 0, 27, 0, 2 }, { -10, -6, 0, 27, 0, 2 }, { -10, -7, 0, 27, 0, 2 }, { -11, -8, 0, 27, 0, 2 }, - { -11, -9, 0, 27, 0, 2 }, { -12, -10, 0, 26, 0, 2 }, { -12, -11, 0, 26, 0, 2 }, { -13, -12, 0, 26, 0, 2 }, { -13, -13, 0, 26, 0, 2 }, - { -13, -14, 0, 26, 0, 2 }, { -14, -15, 0, 26, 0, 2 }, { -14, -16, 0, 26, 0, 2 }, { -14, -17, 0, 26, 0, 2 }, { -15, -18, 0, 26, 0, 2 }, - { -15, -19, 0, 26, 0, 2 }, { -15, -20, 0, 25, 0, 2 }, { -15, -21, 0, 25, 0, 2 }, { -15, -22, 0, 25, 0, 2 }, { -15, -23, 0, 25, 0, 2 }, - { -16, -24, 0, 25, 0, 2 }, { -16, -25, 0, 25, 0, 2 }, { -16, -26, 0, 25, 0, 2 }, { -16, -27, 0, 25, 0, 2 }, { -16, -28, 0, 24, 0, 2 }, - { -16, -29, 0, 24, 0, 2 }, { -16, -30, 0, 24, 0, 2 }, { -16, -31, 0, 24, 0, 2 }, + 68, { + { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 31, 0, 2 }, + { 26, 16, 0, 31, 0, 2 }, { 25, 15, 0, 31, 0, 2 }, { 24, 15, 0, 31, 0, 2 }, { 23, 15, 0, 31, 0, 2 }, { 22, 15, 0, 31, 0, 2 }, + { 21, 15, 0, 31, 0, 2 }, { 20, 15, 0, 31, 0, 2 }, { 19, 14, 0, 31, 0, 2 }, { 18, 14, 0, 30, 0, 2 }, { 17, 14, 0, 30, 0, 2 }, + { 16, 13, 0, 30, 0, 2 }, { 15, 13, 0, 30, 0, 2 }, { 14, 13, 0, 30, 0, 2 }, { 13, 12, 0, 30, 0, 2 }, { 12, 12, 0, 30, 0, 2 }, + { 11, 11, 0, 30, 0, 2 }, { 10, 11, 0, 30, 0, 2 }, { 9, 10, 0, 30, 0, 2 }, { 8, 10, 0, 29, 0, 2 }, { 7, 9, 0, 29, 0, 2 }, + { 6, 9, 0, 29, 0, 2 }, { 5, 8, 0, 29, 0, 2 }, { 4, 7, 0, 29, 0, 2 }, { 3, 7, 0, 29, 0, 2 }, { 2, 6, 0, 29, 0, 2 }, + { 1, 5, 0, 29, 0, 2 }, { 0, 4, 0, 29, 0, 2 }, { -1, 3, 0, 28, 0, 2 }, { -3, 3, 0, 28, 0, 2 }, { -4, 2, 0, 28, 0, 2 }, + { -5, 1, 0, 28, 0, 2 }, { -6, 0, 0, 28, 0, 2 }, { -7, -1, 0, 27, 0, 2 }, { -7, -2, 0, 27, 0, 2 }, { -8, -3, 0, 27, 0, 2 }, + { -9, -4, 0, 27, 0, 2 }, { -9, -5, 0, 27, 0, 2 }, { -10, -6, 0, 27, 0, 2 }, { -10, -7, 0, 27, 0, 2 }, { -11, -8, 0, 27, 0, 2 }, + { -11, -9, 0, 27, 0, 2 }, { -12, -10, 0, 26, 0, 2 }, { -12, -11, 0, 26, 0, 2 }, { -13, -12, 0, 26, 0, 2 }, { -13, -13, 0, 26, 0, 2 }, + { -13, -14, 0, 26, 0, 2 }, { -14, -15, 0, 26, 0, 2 }, { -14, -16, 0, 26, 0, 2 }, { -14, -17, 0, 26, 0, 2 }, { -15, -18, 0, 26, 0, 2 }, + { -15, -19, 0, 26, 0, 2 }, { -15, -20, 0, 25, 0, 2 }, { -15, -21, 0, 25, 0, 2 }, { -15, -22, 0, 25, 0, 2 }, { -15, -23, 0, 25, 0, 2 }, + { -16, -24, 0, 25, 0, 2 }, { -16, -25, 0, 25, 0, 2 }, { -16, -26, 0, 25, 0, 2 }, { -16, -27, 0, 25, 0, 2 }, { -16, -28, 0, 24, 0, 2 }, + { -16, -29, 0, 24, 0, 2 }, { -16, -30, 0, 24, 0, 2 }, { -16, -31, 0, 24, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E02C4 = { - 69, { - { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, - { 16, 5, 0, 7, 0, 2 }, { 16, 6, 0, 7, 0, 2 }, { 15, 7, 0, 7, 0, 2 }, { 15, 8, 0, 7, 0, 2 }, { 15, 9, 0, 7, 0, 2 }, - { 15, 10, 0, 7, 0, 2 }, { 15, 11, 0, 7, 0, 2 }, { 15, 12, 0, 7, 0, 2 }, { 14, 13, 0, 7, 0, 2 }, { 14, 14, 0, 6, 0, 2 }, - { 14, 15, 0, 6, 0, 2 }, { 13, 16, 0, 6, 0, 2 }, { 13, 17, 0, 6, 0, 2 }, { 13, 18, 0, 6, 0, 2 }, { 12, 19, 0, 6, 0, 2 }, - { 12, 20, 0, 6, 0, 2 }, { 11, 21, 0, 6, 0, 2 }, { 11, 22, 0, 6, 0, 2 }, { 10, 23, 0, 6, 0, 2 }, { 10, 24, 0, 5, 0, 2 }, - { 9, 25, 0, 5, 0, 2 }, { 9, 26, 0, 5, 0, 2 }, { 8, 27, 0, 5, 0, 2 }, { 7, 28, 0, 5, 0, 2 }, { 7, 29, 0, 5, 0, 2 }, - { 6, 30, 0, 5, 0, 2 }, { 5, 31, 0, 5, 0, 2 }, { 4, 32, 0, 5, 0, 2 }, { 3, 33, 0, 4, 0, 2 }, { 3, 35, 0, 4, 0, 2 }, - { 2, 36, 0, 4, 0, 2 }, { 1, 37, 0, 4, 0, 2 }, { 0, 38, 0, 4, 0, 2 }, { -1, 39, 0, 3, 0, 2 }, { -2, 39, 0, 3, 0, 2 }, - { -3, 40, 0, 3, 0, 2 }, { -4, 41, 0, 3, 0, 2 }, { -5, 41, 0, 3, 0, 2 }, { -6, 42, 0, 3, 0, 2 }, { -7, 42, 0, 3, 0, 2 }, - { -8, 43, 0, 3, 0, 2 }, { -9, 43, 0, 3, 0, 2 }, { -10, 44, 0, 2, 0, 2 }, { -11, 44, 0, 2, 0, 2 }, { -12, 45, 0, 2, 0, 2 }, - { -13, 45, 0, 2, 0, 2 }, { -14, 45, 0, 2, 0, 2 }, { -15, 46, 0, 2, 0, 2 }, { -16, 46, 0, 2, 0, 2 }, { -17, 46, 0, 2, 0, 2 }, - { -18, 47, 0, 2, 0, 2 }, { -19, 47, 0, 2, 0, 2 }, { -20, 47, 0, 1, 0, 2 }, { -21, 47, 0, 1, 0, 2 }, { -22, 47, 0, 1, 0, 2 }, - { -23, 47, 0, 1, 0, 2 }, { -24, 48, 0, 1, 0, 2 }, { -25, 48, 0, 1, 0, 2 }, { -26, 48, 0, 1, 0, 2 }, { -27, 48, 0, 1, 0, 2 }, - { -28, 48, 0, 0, 0, 2 }, { -29, 48, 0, 0, 0, 2 }, { -30, 48, 0, 0, 0, 2 }, { -31, 48, 0, 0, 0, 2 }, + 69, { + { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, + { 16, 5, 0, 7, 0, 2 }, { 16, 6, 0, 7, 0, 2 }, { 15, 7, 0, 7, 0, 2 }, { 15, 8, 0, 7, 0, 2 }, { 15, 9, 0, 7, 0, 2 }, + { 15, 10, 0, 7, 0, 2 }, { 15, 11, 0, 7, 0, 2 }, { 15, 12, 0, 7, 0, 2 }, { 14, 13, 0, 7, 0, 2 }, { 14, 14, 0, 6, 0, 2 }, + { 14, 15, 0, 6, 0, 2 }, { 13, 16, 0, 6, 0, 2 }, { 13, 17, 0, 6, 0, 2 }, { 13, 18, 0, 6, 0, 2 }, { 12, 19, 0, 6, 0, 2 }, + { 12, 20, 0, 6, 0, 2 }, { 11, 21, 0, 6, 0, 2 }, { 11, 22, 0, 6, 0, 2 }, { 10, 23, 0, 6, 0, 2 }, { 10, 24, 0, 5, 0, 2 }, + { 9, 25, 0, 5, 0, 2 }, { 9, 26, 0, 5, 0, 2 }, { 8, 27, 0, 5, 0, 2 }, { 7, 28, 0, 5, 0, 2 }, { 7, 29, 0, 5, 0, 2 }, + { 6, 30, 0, 5, 0, 2 }, { 5, 31, 0, 5, 0, 2 }, { 4, 32, 0, 5, 0, 2 }, { 3, 33, 0, 4, 0, 2 }, { 3, 35, 0, 4, 0, 2 }, + { 2, 36, 0, 4, 0, 2 }, { 1, 37, 0, 4, 0, 2 }, { 0, 38, 0, 4, 0, 2 }, { -1, 39, 0, 3, 0, 2 }, { -2, 39, 0, 3, 0, 2 }, + { -3, 40, 0, 3, 0, 2 }, { -4, 41, 0, 3, 0, 2 }, { -5, 41, 0, 3, 0, 2 }, { -6, 42, 0, 3, 0, 2 }, { -7, 42, 0, 3, 0, 2 }, + { -8, 43, 0, 3, 0, 2 }, { -9, 43, 0, 3, 0, 2 }, { -10, 44, 0, 2, 0, 2 }, { -11, 44, 0, 2, 0, 2 }, { -12, 45, 0, 2, 0, 2 }, + { -13, 45, 0, 2, 0, 2 }, { -14, 45, 0, 2, 0, 2 }, { -15, 46, 0, 2, 0, 2 }, { -16, 46, 0, 2, 0, 2 }, { -17, 46, 0, 2, 0, 2 }, + { -18, 47, 0, 2, 0, 2 }, { -19, 47, 0, 2, 0, 2 }, { -20, 47, 0, 1, 0, 2 }, { -21, 47, 0, 1, 0, 2 }, { -22, 47, 0, 1, 0, 2 }, + { -23, 47, 0, 1, 0, 2 }, { -24, 48, 0, 1, 0, 2 }, { -25, 48, 0, 1, 0, 2 }, { -26, 48, 0, 1, 0, 2 }, { -27, 48, 0, 1, 0, 2 }, + { -28, 48, 0, 0, 0, 2 }, { -29, 48, 0, 0, 0, 2 }, { -30, 48, 0, 0, 0, 2 }, { -31, 48, 0, 0, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E0533 = { - 68, { - { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, - { 5, 16, 0, 15, 0, 2 }, { 6, 16, 0, 15, 0, 2 }, { 7, 17, 0, 15, 0, 2 }, { 8, 17, 0, 15, 0, 2 }, { 9, 17, 0, 15, 0, 2 }, - { 10, 17, 0, 15, 0, 2 }, { 11, 17, 0, 15, 0, 2 }, { 12, 17, 0, 15, 0, 2 }, { 13, 18, 0, 15, 0, 2 }, { 14, 18, 0, 14, 0, 2 }, - { 15, 18, 0, 14, 0, 2 }, { 16, 19, 0, 14, 0, 2 }, { 17, 19, 0, 14, 0, 2 }, { 18, 19, 0, 14, 0, 2 }, { 19, 20, 0, 14, 0, 2 }, - { 20, 20, 0, 14, 0, 2 }, { 21, 21, 0, 14, 0, 2 }, { 22, 21, 0, 14, 0, 2 }, { 23, 22, 0, 14, 0, 2 }, { 24, 22, 0, 13, 0, 2 }, - { 25, 23, 0, 13, 0, 2 }, { 26, 23, 0, 13, 0, 2 }, { 27, 24, 0, 13, 0, 2 }, { 28, 25, 0, 13, 0, 2 }, { 29, 25, 0, 13, 0, 2 }, - { 30, 26, 0, 13, 0, 2 }, { 31, 27, 0, 13, 0, 2 }, { 32, 28, 0, 13, 0, 2 }, { 33, 29, 0, 12, 0, 2 }, { 35, 29, 0, 12, 0, 2 }, - { 36, 30, 0, 12, 0, 2 }, { 37, 31, 0, 12, 0, 2 }, { 38, 32, 0, 12, 0, 2 }, { 39, 33, 0, 11, 0, 2 }, { 39, 34, 0, 11, 0, 2 }, - { 40, 35, 0, 11, 0, 2 }, { 41, 36, 0, 11, 0, 2 }, { 41, 37, 0, 11, 0, 2 }, { 42, 38, 0, 11, 0, 2 }, { 42, 39, 0, 11, 0, 2 }, - { 43, 40, 0, 11, 0, 2 }, { 43, 41, 0, 11, 0, 2 }, { 44, 42, 0, 10, 0, 2 }, { 44, 43, 0, 10, 0, 2 }, { 45, 44, 0, 10, 0, 2 }, - { 45, 45, 0, 10, 0, 2 }, { 45, 46, 0, 10, 0, 2 }, { 46, 47, 0, 10, 0, 2 }, { 46, 48, 0, 10, 0, 2 }, { 46, 49, 0, 10, 0, 2 }, - { 47, 50, 0, 10, 0, 2 }, { 47, 51, 0, 10, 0, 2 }, { 47, 52, 0, 9, 0, 2 }, { 47, 53, 0, 9, 0, 2 }, { 47, 54, 0, 9, 0, 2 }, - { 47, 55, 0, 9, 0, 2 }, { 48, 56, 0, 9, 0, 2 }, { 48, 57, 0, 9, 0, 2 }, { 48, 58, 0, 9, 0, 2 }, { 48, 59, 0, 9, 0, 2 }, - { 48, 60, 0, 8, 0, 2 }, { 48, 61, 0, 8, 0, 2 }, { 48, 62, 0, 8, 0, 2 }, + 68, { + { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, + { 5, 16, 0, 15, 0, 2 }, { 6, 16, 0, 15, 0, 2 }, { 7, 17, 0, 15, 0, 2 }, { 8, 17, 0, 15, 0, 2 }, { 9, 17, 0, 15, 0, 2 }, + { 10, 17, 0, 15, 0, 2 }, { 11, 17, 0, 15, 0, 2 }, { 12, 17, 0, 15, 0, 2 }, { 13, 18, 0, 15, 0, 2 }, { 14, 18, 0, 14, 0, 2 }, + { 15, 18, 0, 14, 0, 2 }, { 16, 19, 0, 14, 0, 2 }, { 17, 19, 0, 14, 0, 2 }, { 18, 19, 0, 14, 0, 2 }, { 19, 20, 0, 14, 0, 2 }, + { 20, 20, 0, 14, 0, 2 }, { 21, 21, 0, 14, 0, 2 }, { 22, 21, 0, 14, 0, 2 }, { 23, 22, 0, 14, 0, 2 }, { 24, 22, 0, 13, 0, 2 }, + { 25, 23, 0, 13, 0, 2 }, { 26, 23, 0, 13, 0, 2 }, { 27, 24, 0, 13, 0, 2 }, { 28, 25, 0, 13, 0, 2 }, { 29, 25, 0, 13, 0, 2 }, + { 30, 26, 0, 13, 0, 2 }, { 31, 27, 0, 13, 0, 2 }, { 32, 28, 0, 13, 0, 2 }, { 33, 29, 0, 12, 0, 2 }, { 35, 29, 0, 12, 0, 2 }, + { 36, 30, 0, 12, 0, 2 }, { 37, 31, 0, 12, 0, 2 }, { 38, 32, 0, 12, 0, 2 }, { 39, 33, 0, 11, 0, 2 }, { 39, 34, 0, 11, 0, 2 }, + { 40, 35, 0, 11, 0, 2 }, { 41, 36, 0, 11, 0, 2 }, { 41, 37, 0, 11, 0, 2 }, { 42, 38, 0, 11, 0, 2 }, { 42, 39, 0, 11, 0, 2 }, + { 43, 40, 0, 11, 0, 2 }, { 43, 41, 0, 11, 0, 2 }, { 44, 42, 0, 10, 0, 2 }, { 44, 43, 0, 10, 0, 2 }, { 45, 44, 0, 10, 0, 2 }, + { 45, 45, 0, 10, 0, 2 }, { 45, 46, 0, 10, 0, 2 }, { 46, 47, 0, 10, 0, 2 }, { 46, 48, 0, 10, 0, 2 }, { 46, 49, 0, 10, 0, 2 }, + { 47, 50, 0, 10, 0, 2 }, { 47, 51, 0, 10, 0, 2 }, { 47, 52, 0, 9, 0, 2 }, { 47, 53, 0, 9, 0, 2 }, { 47, 54, 0, 9, 0, 2 }, + { 47, 55, 0, 9, 0, 2 }, { 48, 56, 0, 9, 0, 2 }, { 48, 57, 0, 9, 0, 2 }, { 48, 58, 0, 9, 0, 2 }, { 48, 59, 0, 9, 0, 2 }, + { 48, 60, 0, 8, 0, 2 }, { 48, 61, 0, 8, 0, 2 }, { 48, 62, 0, 8, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E0799 = { - 67, { - { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 23, 0, 2 }, - { 16, 26, 0, 23, 0, 2 }, { 17, 25, 0, 23, 0, 2 }, { 17, 24, 0, 23, 0, 2 }, { 17, 23, 0, 23, 0, 2 }, { 17, 22, 0, 23, 0, 2 }, - { 17, 21, 0, 23, 0, 2 }, { 17, 20, 0, 23, 0, 2 }, { 18, 19, 0, 23, 0, 2 }, { 18, 18, 0, 22, 0, 2 }, { 18, 17, 0, 22, 0, 2 }, - { 19, 16, 0, 22, 0, 2 }, { 19, 15, 0, 22, 0, 2 }, { 19, 14, 0, 22, 0, 2 }, { 20, 13, 0, 22, 0, 2 }, { 20, 12, 0, 22, 0, 2 }, - { 21, 11, 0, 22, 0, 2 }, { 21, 10, 0, 22, 0, 2 }, { 22, 9, 0, 22, 0, 2 }, { 22, 8, 0, 21, 0, 2 }, { 23, 7, 0, 21, 0, 2 }, - { 23, 6, 0, 21, 0, 2 }, { 24, 5, 0, 21, 0, 2 }, { 25, 4, 0, 21, 0, 2 }, { 25, 3, 0, 21, 0, 2 }, { 26, 2, 0, 21, 0, 2 }, - { 27, 1, 0, 21, 0, 2 }, { 28, 0, 0, 21, 0, 2 }, { 29, -1, 0, 20, 0, 2 }, { 29, -3, 0, 20, 0, 2 }, { 30, -4, 0, 20, 0, 2 }, - { 31, -5, 0, 20, 0, 2 }, { 32, -6, 0, 20, 0, 2 }, { 33, -7, 0, 19, 0, 2 }, { 34, -7, 0, 19, 0, 2 }, { 35, -8, 0, 19, 0, 2 }, - { 36, -9, 0, 19, 0, 2 }, { 37, -9, 0, 19, 0, 2 }, { 38, -10, 0, 19, 0, 2 }, { 39, -10, 0, 19, 0, 2 }, { 40, -11, 0, 19, 0, 2 }, - { 41, -11, 0, 19, 0, 2 }, { 42, -12, 0, 18, 0, 2 }, { 43, -12, 0, 18, 0, 2 }, { 44, -13, 0, 18, 0, 2 }, { 45, -13, 0, 18, 0, 2 }, - { 46, -13, 0, 18, 0, 2 }, { 47, -14, 0, 18, 0, 2 }, { 48, -14, 0, 18, 0, 2 }, { 49, -14, 0, 18, 0, 2 }, { 50, -15, 0, 18, 0, 2 }, - { 51, -15, 0, 18, 0, 2 }, { 52, -15, 0, 17, 0, 2 }, { 53, -15, 0, 17, 0, 2 }, { 54, -15, 0, 17, 0, 2 }, { 55, -15, 0, 17, 0, 2 }, - { 56, -16, 0, 17, 0, 2 }, { 57, -16, 0, 17, 0, 2 }, { 58, -16, 0, 17, 0, 2 }, { 59, -16, 0, 17, 0, 2 }, { 60, -16, 0, 16, 0, 2 }, - { 61, -16, 0, 16, 0, 2 }, { 62, -16, 0, 16, 0, 2 }, + 67, { + { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 23, 0, 2 }, + { 16, 26, 0, 23, 0, 2 }, { 17, 25, 0, 23, 0, 2 }, { 17, 24, 0, 23, 0, 2 }, { 17, 23, 0, 23, 0, 2 }, { 17, 22, 0, 23, 0, 2 }, + { 17, 21, 0, 23, 0, 2 }, { 17, 20, 0, 23, 0, 2 }, { 18, 19, 0, 23, 0, 2 }, { 18, 18, 0, 22, 0, 2 }, { 18, 17, 0, 22, 0, 2 }, + { 19, 16, 0, 22, 0, 2 }, { 19, 15, 0, 22, 0, 2 }, { 19, 14, 0, 22, 0, 2 }, { 20, 13, 0, 22, 0, 2 }, { 20, 12, 0, 22, 0, 2 }, + { 21, 11, 0, 22, 0, 2 }, { 21, 10, 0, 22, 0, 2 }, { 22, 9, 0, 22, 0, 2 }, { 22, 8, 0, 21, 0, 2 }, { 23, 7, 0, 21, 0, 2 }, + { 23, 6, 0, 21, 0, 2 }, { 24, 5, 0, 21, 0, 2 }, { 25, 4, 0, 21, 0, 2 }, { 25, 3, 0, 21, 0, 2 }, { 26, 2, 0, 21, 0, 2 }, + { 27, 1, 0, 21, 0, 2 }, { 28, 0, 0, 21, 0, 2 }, { 29, -1, 0, 20, 0, 2 }, { 29, -3, 0, 20, 0, 2 }, { 30, -4, 0, 20, 0, 2 }, + { 31, -5, 0, 20, 0, 2 }, { 32, -6, 0, 20, 0, 2 }, { 33, -7, 0, 19, 0, 2 }, { 34, -7, 0, 19, 0, 2 }, { 35, -8, 0, 19, 0, 2 }, + { 36, -9, 0, 19, 0, 2 }, { 37, -9, 0, 19, 0, 2 }, { 38, -10, 0, 19, 0, 2 }, { 39, -10, 0, 19, 0, 2 }, { 40, -11, 0, 19, 0, 2 }, + { 41, -11, 0, 19, 0, 2 }, { 42, -12, 0, 18, 0, 2 }, { 43, -12, 0, 18, 0, 2 }, { 44, -13, 0, 18, 0, 2 }, { 45, -13, 0, 18, 0, 2 }, + { 46, -13, 0, 18, 0, 2 }, { 47, -14, 0, 18, 0, 2 }, { 48, -14, 0, 18, 0, 2 }, { 49, -14, 0, 18, 0, 2 }, { 50, -15, 0, 18, 0, 2 }, + { 51, -15, 0, 18, 0, 2 }, { 52, -15, 0, 17, 0, 2 }, { 53, -15, 0, 17, 0, 2 }, { 54, -15, 0, 17, 0, 2 }, { 55, -15, 0, 17, 0, 2 }, + { 56, -16, 0, 17, 0, 2 }, { 57, -16, 0, 17, 0, 2 }, { 58, -16, 0, 17, 0, 2 }, { 59, -16, 0, 17, 0, 2 }, { 60, -16, 0, 16, 0, 2 }, + { 61, -16, 0, 16, 0, 2 }, { 62, -16, 0, 16, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E09F6 = { - 67, { - { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 1, 0, 4 }, - { 26, 16, 0, 1, 0, 4 }, { 25, 17, 0, 1, 0, 4 }, { 24, 17, 0, 1, 0, 4 }, { 23, 17, 0, 1, 0, 4 }, { 22, 17, 0, 1, 0, 4 }, - { 21, 17, 0, 1, 0, 4 }, { 20, 17, 0, 1, 0, 4 }, { 19, 18, 0, 1, 0, 4 }, { 18, 18, 0, 2, 0, 4 }, { 17, 18, 0, 2, 0, 4 }, - { 16, 19, 0, 2, 0, 4 }, { 15, 19, 0, 2, 0, 4 }, { 14, 19, 0, 2, 0, 4 }, { 13, 20, 0, 2, 0, 4 }, { 12, 20, 0, 2, 0, 4 }, - { 11, 21, 0, 2, 0, 4 }, { 10, 21, 0, 2, 0, 4 }, { 9, 22, 0, 2, 0, 4 }, { 8, 22, 0, 3, 0, 4 }, { 7, 23, 0, 3, 0, 4 }, - { 6, 23, 0, 3, 0, 4 }, { 5, 24, 0, 3, 0, 4 }, { 4, 25, 0, 3, 0, 4 }, { 3, 25, 0, 3, 0, 4 }, { 2, 26, 0, 3, 0, 4 }, - { 1, 27, 0, 3, 0, 4 }, { 0, 28, 0, 3, 0, 4 }, { -1, 29, 0, 4, 0, 4 }, { -3, 29, 0, 4, 0, 4 }, { -4, 30, 0, 4, 0, 4 }, - { -5, 31, 0, 4, 0, 4 }, { -6, 32, 0, 4, 0, 4 }, { -7, 33, 0, 5, 0, 4 }, { -7, 34, 0, 5, 0, 4 }, { -8, 35, 0, 5, 0, 4 }, - { -9, 36, 0, 5, 0, 4 }, { -9, 37, 0, 5, 0, 4 }, { -10, 38, 0, 5, 0, 4 }, { -10, 39, 0, 5, 0, 4 }, { -11, 40, 0, 5, 0, 4 }, - { -11, 41, 0, 5, 0, 4 }, { -12, 42, 0, 6, 0, 4 }, { -12, 43, 0, 6, 0, 4 }, { -13, 44, 0, 6, 0, 4 }, { -13, 45, 0, 6, 0, 4 }, - { -13, 46, 0, 6, 0, 4 }, { -14, 47, 0, 6, 0, 4 }, { -14, 48, 0, 6, 0, 4 }, { -14, 49, 0, 6, 0, 4 }, { -15, 50, 0, 6, 0, 4 }, - { -15, 51, 0, 6, 0, 4 }, { -15, 52, 0, 7, 0, 4 }, { -15, 53, 0, 7, 0, 4 }, { -15, 54, 0, 7, 0, 4 }, { -15, 55, 0, 7, 0, 4 }, - { -16, 56, 0, 7, 0, 4 }, { -16, 57, 0, 7, 0, 4 }, { -16, 58, 0, 7, 0, 4 }, { -16, 59, 0, 7, 0, 4 }, { -16, 60, 0, 8, 0, 4 }, - { -16, 61, 0, 8, 0, 4 }, { -16, 62, 0, 8, 0, 4 }, + 67, { + { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 1, 0, 4 }, + { 26, 16, 0, 1, 0, 4 }, { 25, 17, 0, 1, 0, 4 }, { 24, 17, 0, 1, 0, 4 }, { 23, 17, 0, 1, 0, 4 }, { 22, 17, 0, 1, 0, 4 }, + { 21, 17, 0, 1, 0, 4 }, { 20, 17, 0, 1, 0, 4 }, { 19, 18, 0, 1, 0, 4 }, { 18, 18, 0, 2, 0, 4 }, { 17, 18, 0, 2, 0, 4 }, + { 16, 19, 0, 2, 0, 4 }, { 15, 19, 0, 2, 0, 4 }, { 14, 19, 0, 2, 0, 4 }, { 13, 20, 0, 2, 0, 4 }, { 12, 20, 0, 2, 0, 4 }, + { 11, 21, 0, 2, 0, 4 }, { 10, 21, 0, 2, 0, 4 }, { 9, 22, 0, 2, 0, 4 }, { 8, 22, 0, 3, 0, 4 }, { 7, 23, 0, 3, 0, 4 }, + { 6, 23, 0, 3, 0, 4 }, { 5, 24, 0, 3, 0, 4 }, { 4, 25, 0, 3, 0, 4 }, { 3, 25, 0, 3, 0, 4 }, { 2, 26, 0, 3, 0, 4 }, + { 1, 27, 0, 3, 0, 4 }, { 0, 28, 0, 3, 0, 4 }, { -1, 29, 0, 4, 0, 4 }, { -3, 29, 0, 4, 0, 4 }, { -4, 30, 0, 4, 0, 4 }, + { -5, 31, 0, 4, 0, 4 }, { -6, 32, 0, 4, 0, 4 }, { -7, 33, 0, 5, 0, 4 }, { -7, 34, 0, 5, 0, 4 }, { -8, 35, 0, 5, 0, 4 }, + { -9, 36, 0, 5, 0, 4 }, { -9, 37, 0, 5, 0, 4 }, { -10, 38, 0, 5, 0, 4 }, { -10, 39, 0, 5, 0, 4 }, { -11, 40, 0, 5, 0, 4 }, + { -11, 41, 0, 5, 0, 4 }, { -12, 42, 0, 6, 0, 4 }, { -12, 43, 0, 6, 0, 4 }, { -13, 44, 0, 6, 0, 4 }, { -13, 45, 0, 6, 0, 4 }, + { -13, 46, 0, 6, 0, 4 }, { -14, 47, 0, 6, 0, 4 }, { -14, 48, 0, 6, 0, 4 }, { -14, 49, 0, 6, 0, 4 }, { -15, 50, 0, 6, 0, 4 }, + { -15, 51, 0, 6, 0, 4 }, { -15, 52, 0, 7, 0, 4 }, { -15, 53, 0, 7, 0, 4 }, { -15, 54, 0, 7, 0, 4 }, { -15, 55, 0, 7, 0, 4 }, + { -16, 56, 0, 7, 0, 4 }, { -16, 57, 0, 7, 0, 4 }, { -16, 58, 0, 7, 0, 4 }, { -16, 59, 0, 7, 0, 4 }, { -16, 60, 0, 8, 0, 4 }, + { -16, 61, 0, 8, 0, 4 }, { -16, 62, 0, 8, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E0C53 = { - 68, { - { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, - { 16, 5, 0, 9, 0, 4 }, { 16, 6, 0, 9, 0, 4 }, { 17, 7, 0, 9, 0, 4 }, { 17, 8, 0, 9, 0, 4 }, { 17, 9, 0, 9, 0, 4 }, - { 17, 10, 0, 9, 0, 4 }, { 17, 11, 0, 9, 0, 4 }, { 17, 12, 0, 9, 0, 4 }, { 18, 13, 0, 9, 0, 4 }, { 18, 14, 0, 10, 0, 4 }, - { 18, 15, 0, 10, 0, 4 }, { 19, 16, 0, 10, 0, 4 }, { 19, 17, 0, 10, 0, 4 }, { 19, 18, 0, 10, 0, 4 }, { 20, 19, 0, 10, 0, 4 }, - { 20, 20, 0, 10, 0, 4 }, { 21, 21, 0, 10, 0, 4 }, { 21, 22, 0, 10, 0, 4 }, { 22, 23, 0, 10, 0, 4 }, { 22, 24, 0, 11, 0, 4 }, - { 23, 25, 0, 11, 0, 4 }, { 23, 26, 0, 11, 0, 4 }, { 24, 27, 0, 11, 0, 4 }, { 25, 28, 0, 11, 0, 4 }, { 25, 29, 0, 11, 0, 4 }, - { 26, 30, 0, 11, 0, 4 }, { 27, 31, 0, 11, 0, 4 }, { 28, 32, 0, 11, 0, 4 }, { 29, 33, 0, 12, 0, 4 }, { 29, 35, 0, 12, 0, 4 }, - { 30, 36, 0, 12, 0, 4 }, { 31, 37, 0, 12, 0, 4 }, { 32, 38, 0, 12, 0, 4 }, { 33, 39, 0, 13, 0, 4 }, { 34, 39, 0, 13, 0, 4 }, - { 35, 40, 0, 13, 0, 4 }, { 36, 41, 0, 13, 0, 4 }, { 37, 41, 0, 13, 0, 4 }, { 38, 42, 0, 13, 0, 4 }, { 39, 42, 0, 13, 0, 4 }, - { 40, 43, 0, 13, 0, 4 }, { 41, 43, 0, 13, 0, 4 }, { 42, 44, 0, 14, 0, 4 }, { 43, 44, 0, 14, 0, 4 }, { 44, 45, 0, 14, 0, 4 }, - { 45, 45, 0, 14, 0, 4 }, { 46, 45, 0, 14, 0, 4 }, { 47, 46, 0, 14, 0, 4 }, { 48, 46, 0, 14, 0, 4 }, { 49, 46, 0, 14, 0, 4 }, - { 50, 47, 0, 14, 0, 4 }, { 51, 47, 0, 14, 0, 4 }, { 52, 47, 0, 15, 0, 4 }, { 53, 47, 0, 15, 0, 4 }, { 54, 47, 0, 15, 0, 4 }, - { 55, 47, 0, 15, 0, 4 }, { 56, 48, 0, 15, 0, 4 }, { 57, 48, 0, 15, 0, 4 }, { 58, 48, 0, 15, 0, 4 }, { 59, 48, 0, 15, 0, 4 }, - { 60, 48, 0, 16, 0, 4 }, { 61, 48, 0, 16, 0, 4 }, { 62, 48, 0, 16, 0, 4 }, + 68, { + { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, + { 16, 5, 0, 9, 0, 4 }, { 16, 6, 0, 9, 0, 4 }, { 17, 7, 0, 9, 0, 4 }, { 17, 8, 0, 9, 0, 4 }, { 17, 9, 0, 9, 0, 4 }, + { 17, 10, 0, 9, 0, 4 }, { 17, 11, 0, 9, 0, 4 }, { 17, 12, 0, 9, 0, 4 }, { 18, 13, 0, 9, 0, 4 }, { 18, 14, 0, 10, 0, 4 }, + { 18, 15, 0, 10, 0, 4 }, { 19, 16, 0, 10, 0, 4 }, { 19, 17, 0, 10, 0, 4 }, { 19, 18, 0, 10, 0, 4 }, { 20, 19, 0, 10, 0, 4 }, + { 20, 20, 0, 10, 0, 4 }, { 21, 21, 0, 10, 0, 4 }, { 21, 22, 0, 10, 0, 4 }, { 22, 23, 0, 10, 0, 4 }, { 22, 24, 0, 11, 0, 4 }, + { 23, 25, 0, 11, 0, 4 }, { 23, 26, 0, 11, 0, 4 }, { 24, 27, 0, 11, 0, 4 }, { 25, 28, 0, 11, 0, 4 }, { 25, 29, 0, 11, 0, 4 }, + { 26, 30, 0, 11, 0, 4 }, { 27, 31, 0, 11, 0, 4 }, { 28, 32, 0, 11, 0, 4 }, { 29, 33, 0, 12, 0, 4 }, { 29, 35, 0, 12, 0, 4 }, + { 30, 36, 0, 12, 0, 4 }, { 31, 37, 0, 12, 0, 4 }, { 32, 38, 0, 12, 0, 4 }, { 33, 39, 0, 13, 0, 4 }, { 34, 39, 0, 13, 0, 4 }, + { 35, 40, 0, 13, 0, 4 }, { 36, 41, 0, 13, 0, 4 }, { 37, 41, 0, 13, 0, 4 }, { 38, 42, 0, 13, 0, 4 }, { 39, 42, 0, 13, 0, 4 }, + { 40, 43, 0, 13, 0, 4 }, { 41, 43, 0, 13, 0, 4 }, { 42, 44, 0, 14, 0, 4 }, { 43, 44, 0, 14, 0, 4 }, { 44, 45, 0, 14, 0, 4 }, + { 45, 45, 0, 14, 0, 4 }, { 46, 45, 0, 14, 0, 4 }, { 47, 46, 0, 14, 0, 4 }, { 48, 46, 0, 14, 0, 4 }, { 49, 46, 0, 14, 0, 4 }, + { 50, 47, 0, 14, 0, 4 }, { 51, 47, 0, 14, 0, 4 }, { 52, 47, 0, 15, 0, 4 }, { 53, 47, 0, 15, 0, 4 }, { 54, 47, 0, 15, 0, 4 }, + { 55, 47, 0, 15, 0, 4 }, { 56, 48, 0, 15, 0, 4 }, { 57, 48, 0, 15, 0, 4 }, { 58, 48, 0, 15, 0, 4 }, { 59, 48, 0, 15, 0, 4 }, + { 60, 48, 0, 16, 0, 4 }, { 61, 48, 0, 16, 0, 4 }, { 62, 48, 0, 16, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E0EB9 = { - 69, { - { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, - { 5, 16, 0, 17, 0, 4 }, { 6, 16, 0, 17, 0, 4 }, { 7, 15, 0, 17, 0, 4 }, { 8, 15, 0, 17, 0, 4 }, { 9, 15, 0, 17, 0, 4 }, - { 10, 15, 0, 17, 0, 4 }, { 11, 15, 0, 17, 0, 4 }, { 12, 15, 0, 17, 0, 4 }, { 13, 14, 0, 17, 0, 4 }, { 14, 14, 0, 18, 0, 4 }, - { 15, 14, 0, 18, 0, 4 }, { 16, 13, 0, 18, 0, 4 }, { 17, 13, 0, 18, 0, 4 }, { 18, 13, 0, 18, 0, 4 }, { 19, 12, 0, 18, 0, 4 }, - { 20, 12, 0, 18, 0, 4 }, { 21, 11, 0, 18, 0, 4 }, { 22, 11, 0, 18, 0, 4 }, { 23, 10, 0, 18, 0, 4 }, { 24, 10, 0, 19, 0, 4 }, - { 25, 9, 0, 19, 0, 4 }, { 26, 9, 0, 19, 0, 4 }, { 27, 8, 0, 19, 0, 4 }, { 28, 7, 0, 19, 0, 4 }, { 29, 7, 0, 19, 0, 4 }, - { 30, 6, 0, 19, 0, 4 }, { 31, 5, 0, 19, 0, 4 }, { 32, 4, 0, 19, 0, 4 }, { 33, 3, 0, 20, 0, 4 }, { 35, 3, 0, 20, 0, 4 }, - { 36, 2, 0, 20, 0, 4 }, { 37, 1, 0, 20, 0, 4 }, { 38, 0, 0, 20, 0, 4 }, { 39, -1, 0, 21, 0, 4 }, { 39, -2, 0, 21, 0, 4 }, - { 40, -3, 0, 21, 0, 4 }, { 41, -4, 0, 21, 0, 4 }, { 41, -5, 0, 21, 0, 4 }, { 42, -6, 0, 21, 0, 4 }, { 42, -7, 0, 21, 0, 4 }, - { 43, -8, 0, 21, 0, 4 }, { 43, -9, 0, 21, 0, 4 }, { 44, -10, 0, 22, 0, 4 }, { 44, -11, 0, 22, 0, 4 }, { 45, -12, 0, 22, 0, 4 }, - { 45, -13, 0, 22, 0, 4 }, { 45, -14, 0, 22, 0, 4 }, { 46, -15, 0, 22, 0, 4 }, { 46, -16, 0, 22, 0, 4 }, { 46, -17, 0, 22, 0, 4 }, - { 47, -18, 0, 22, 0, 4 }, { 47, -19, 0, 22, 0, 4 }, { 47, -20, 0, 23, 0, 4 }, { 47, -21, 0, 23, 0, 4 }, { 47, -22, 0, 23, 0, 4 }, - { 47, -23, 0, 23, 0, 4 }, { 48, -24, 0, 23, 0, 4 }, { 48, -25, 0, 23, 0, 4 }, { 48, -26, 0, 23, 0, 4 }, { 48, -27, 0, 23, 0, 4 }, - { 48, -28, 0, 24, 0, 4 }, { 48, -29, 0, 24, 0, 4 }, { 48, -30, 0, 24, 0, 4 }, { 48, -31, 0, 24, 0, 4 }, + 69, { + { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, + { 5, 16, 0, 17, 0, 4 }, { 6, 16, 0, 17, 0, 4 }, { 7, 15, 0, 17, 0, 4 }, { 8, 15, 0, 17, 0, 4 }, { 9, 15, 0, 17, 0, 4 }, + { 10, 15, 0, 17, 0, 4 }, { 11, 15, 0, 17, 0, 4 }, { 12, 15, 0, 17, 0, 4 }, { 13, 14, 0, 17, 0, 4 }, { 14, 14, 0, 18, 0, 4 }, + { 15, 14, 0, 18, 0, 4 }, { 16, 13, 0, 18, 0, 4 }, { 17, 13, 0, 18, 0, 4 }, { 18, 13, 0, 18, 0, 4 }, { 19, 12, 0, 18, 0, 4 }, + { 20, 12, 0, 18, 0, 4 }, { 21, 11, 0, 18, 0, 4 }, { 22, 11, 0, 18, 0, 4 }, { 23, 10, 0, 18, 0, 4 }, { 24, 10, 0, 19, 0, 4 }, + { 25, 9, 0, 19, 0, 4 }, { 26, 9, 0, 19, 0, 4 }, { 27, 8, 0, 19, 0, 4 }, { 28, 7, 0, 19, 0, 4 }, { 29, 7, 0, 19, 0, 4 }, + { 30, 6, 0, 19, 0, 4 }, { 31, 5, 0, 19, 0, 4 }, { 32, 4, 0, 19, 0, 4 }, { 33, 3, 0, 20, 0, 4 }, { 35, 3, 0, 20, 0, 4 }, + { 36, 2, 0, 20, 0, 4 }, { 37, 1, 0, 20, 0, 4 }, { 38, 0, 0, 20, 0, 4 }, { 39, -1, 0, 21, 0, 4 }, { 39, -2, 0, 21, 0, 4 }, + { 40, -3, 0, 21, 0, 4 }, { 41, -4, 0, 21, 0, 4 }, { 41, -5, 0, 21, 0, 4 }, { 42, -6, 0, 21, 0, 4 }, { 42, -7, 0, 21, 0, 4 }, + { 43, -8, 0, 21, 0, 4 }, { 43, -9, 0, 21, 0, 4 }, { 44, -10, 0, 22, 0, 4 }, { 44, -11, 0, 22, 0, 4 }, { 45, -12, 0, 22, 0, 4 }, + { 45, -13, 0, 22, 0, 4 }, { 45, -14, 0, 22, 0, 4 }, { 46, -15, 0, 22, 0, 4 }, { 46, -16, 0, 22, 0, 4 }, { 46, -17, 0, 22, 0, 4 }, + { 47, -18, 0, 22, 0, 4 }, { 47, -19, 0, 22, 0, 4 }, { 47, -20, 0, 23, 0, 4 }, { 47, -21, 0, 23, 0, 4 }, { 47, -22, 0, 23, 0, 4 }, + { 47, -23, 0, 23, 0, 4 }, { 48, -24, 0, 23, 0, 4 }, { 48, -25, 0, 23, 0, 4 }, { 48, -26, 0, 23, 0, 4 }, { 48, -27, 0, 23, 0, 4 }, + { 48, -28, 0, 24, 0, 4 }, { 48, -29, 0, 24, 0, 4 }, { 48, -30, 0, 24, 0, 4 }, { 48, -31, 0, 24, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E1128 = { - 68, { - { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 25, 0, 4 }, - { 16, 26, 0, 25, 0, 4 }, { 15, 25, 0, 25, 0, 4 }, { 15, 24, 0, 25, 0, 4 }, { 15, 23, 0, 25, 0, 4 }, { 15, 22, 0, 25, 0, 4 }, - { 15, 21, 0, 25, 0, 4 }, { 15, 20, 0, 25, 0, 4 }, { 14, 19, 0, 25, 0, 4 }, { 14, 18, 0, 26, 0, 4 }, { 14, 17, 0, 26, 0, 4 }, - { 13, 16, 0, 26, 0, 4 }, { 13, 15, 0, 26, 0, 4 }, { 13, 14, 0, 26, 0, 4 }, { 12, 13, 0, 26, 0, 4 }, { 12, 12, 0, 26, 0, 4 }, - { 11, 11, 0, 26, 0, 4 }, { 11, 10, 0, 26, 0, 4 }, { 10, 9, 0, 26, 0, 4 }, { 10, 8, 0, 27, 0, 4 }, { 9, 7, 0, 27, 0, 4 }, - { 9, 6, 0, 27, 0, 4 }, { 8, 5, 0, 27, 0, 4 }, { 7, 4, 0, 27, 0, 4 }, { 7, 3, 0, 27, 0, 4 }, { 6, 2, 0, 27, 0, 4 }, - { 5, 1, 0, 27, 0, 4 }, { 4, 0, 0, 27, 0, 4 }, { 3, -1, 0, 28, 0, 4 }, { 3, -3, 0, 28, 0, 4 }, { 2, -4, 0, 28, 0, 4 }, - { 1, -5, 0, 28, 0, 4 }, { 0, -6, 0, 28, 0, 4 }, { -1, -7, 0, 29, 0, 4 }, { -2, -7, 0, 29, 0, 4 }, { -3, -8, 0, 29, 0, 4 }, - { -4, -9, 0, 29, 0, 4 }, { -5, -9, 0, 29, 0, 4 }, { -6, -10, 0, 29, 0, 4 }, { -7, -10, 0, 29, 0, 4 }, { -8, -11, 0, 29, 0, 4 }, - { -9, -11, 0, 29, 0, 4 }, { -10, -12, 0, 30, 0, 4 }, { -11, -12, 0, 30, 0, 4 }, { -12, -13, 0, 30, 0, 4 }, { -13, -13, 0, 30, 0, 4 }, - { -14, -13, 0, 30, 0, 4 }, { -15, -14, 0, 30, 0, 4 }, { -16, -14, 0, 30, 0, 4 }, { -17, -14, 0, 30, 0, 4 }, { -18, -15, 0, 30, 0, 4 }, - { -19, -15, 0, 30, 0, 4 }, { -20, -15, 0, 31, 0, 4 }, { -21, -15, 0, 31, 0, 4 }, { -22, -15, 0, 31, 0, 4 }, { -23, -15, 0, 31, 0, 4 }, - { -24, -16, 0, 31, 0, 4 }, { -25, -16, 0, 31, 0, 4 }, { -26, -16, 0, 31, 0, 4 }, { -27, -16, 0, 31, 0, 4 }, { -28, -16, 0, 0, 0, 4 }, - { -29, -16, 0, 0, 0, 4 }, { -30, -16, 0, 0, 0, 4 }, { -31, -16, 0, 0, 0, 4 }, + 68, { + { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 25, 0, 4 }, + { 16, 26, 0, 25, 0, 4 }, { 15, 25, 0, 25, 0, 4 }, { 15, 24, 0, 25, 0, 4 }, { 15, 23, 0, 25, 0, 4 }, { 15, 22, 0, 25, 0, 4 }, + { 15, 21, 0, 25, 0, 4 }, { 15, 20, 0, 25, 0, 4 }, { 14, 19, 0, 25, 0, 4 }, { 14, 18, 0, 26, 0, 4 }, { 14, 17, 0, 26, 0, 4 }, + { 13, 16, 0, 26, 0, 4 }, { 13, 15, 0, 26, 0, 4 }, { 13, 14, 0, 26, 0, 4 }, { 12, 13, 0, 26, 0, 4 }, { 12, 12, 0, 26, 0, 4 }, + { 11, 11, 0, 26, 0, 4 }, { 11, 10, 0, 26, 0, 4 }, { 10, 9, 0, 26, 0, 4 }, { 10, 8, 0, 27, 0, 4 }, { 9, 7, 0, 27, 0, 4 }, + { 9, 6, 0, 27, 0, 4 }, { 8, 5, 0, 27, 0, 4 }, { 7, 4, 0, 27, 0, 4 }, { 7, 3, 0, 27, 0, 4 }, { 6, 2, 0, 27, 0, 4 }, + { 5, 1, 0, 27, 0, 4 }, { 4, 0, 0, 27, 0, 4 }, { 3, -1, 0, 28, 0, 4 }, { 3, -3, 0, 28, 0, 4 }, { 2, -4, 0, 28, 0, 4 }, + { 1, -5, 0, 28, 0, 4 }, { 0, -6, 0, 28, 0, 4 }, { -1, -7, 0, 29, 0, 4 }, { -2, -7, 0, 29, 0, 4 }, { -3, -8, 0, 29, 0, 4 }, + { -4, -9, 0, 29, 0, 4 }, { -5, -9, 0, 29, 0, 4 }, { -6, -10, 0, 29, 0, 4 }, { -7, -10, 0, 29, 0, 4 }, { -8, -11, 0, 29, 0, 4 }, + { -9, -11, 0, 29, 0, 4 }, { -10, -12, 0, 30, 0, 4 }, { -11, -12, 0, 30, 0, 4 }, { -12, -13, 0, 30, 0, 4 }, { -13, -13, 0, 30, 0, 4 }, + { -14, -13, 0, 30, 0, 4 }, { -15, -14, 0, 30, 0, 4 }, { -16, -14, 0, 30, 0, 4 }, { -17, -14, 0, 30, 0, 4 }, { -18, -15, 0, 30, 0, 4 }, + { -19, -15, 0, 30, 0, 4 }, { -20, -15, 0, 31, 0, 4 }, { -21, -15, 0, 31, 0, 4 }, { -22, -15, 0, 31, 0, 4 }, { -23, -15, 0, 31, 0, 4 }, + { -24, -16, 0, 31, 0, 4 }, { -25, -16, 0, 31, 0, 4 }, { -26, -16, 0, 31, 0, 4 }, { -27, -16, 0, 31, 0, 4 }, { -28, -16, 0, 0, 0, 4 }, + { -29, -16, 0, 0, 0, 4 }, { -30, -16, 0, 0, 0, 4 }, { -31, -16, 0, 0, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E26BE = { - 68, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 31, 2, 0 }, - { 26, 16, 2, 31, 2, 0 }, { 25, 15, 2, 31, 2, 0 }, { 24, 15, 3, 31, 2, 0 }, { 23, 15, 3, 31, 2, 0 }, { 22, 15, 4, 31, 2, 0 }, - { 21, 15, 4, 31, 2, 0 }, { 20, 15, 4, 31, 2, 0 }, { 19, 14, 5, 31, 2, 0 }, { 18, 14, 5, 30, 2, 0 }, { 17, 14, 6, 30, 2, 0 }, - { 16, 13, 6, 30, 2, 0 }, { 15, 13, 7, 30, 2, 0 }, { 14, 13, 7, 30, 2, 0 }, { 13, 12, 8, 30, 2, 0 }, { 12, 12, 8, 30, 2, 0 }, - { 11, 11, 9, 30, 2, 0 }, { 10, 11, 9, 30, 2, 0 }, { 9, 10, 10, 30, 2, 0 }, { 8, 10, 10, 29, 2, 0 }, { 7, 9, 11, 29, 2, 0 }, - { 6, 9, 11, 29, 2, 0 }, { 5, 8, 11, 29, 2, 0 }, { 4, 7, 12, 29, 2, 0 }, { 3, 7, 13, 29, 2, 0 }, { 2, 6, 13, 29, 2, 0 }, - { 1, 5, 14, 29, 2, 0 }, { 0, 4, 14, 29, 2, 0 }, { -1, 3, 15, 28, 2, 0 }, { -3, 3, 15, 28, 2, 0 }, { -4, 2, 16, 28, 2, 0 }, - { -5, 1, 16, 28, 2, 0 }, { -6, 0, 17, 28, 2, 0 }, { -7, -1, 17, 27, 2, 0 }, { -7, -2, 18, 27, 2, 0 }, { -8, -3, 18, 27, 2, 0 }, - { -9, -4, 19, 27, 2, 0 }, { -9, -5, 19, 27, 2, 0 }, { -10, -6, 20, 27, 2, 0 }, { -10, -7, 20, 27, 2, 0 }, { -11, -8, 21, 27, 2, 0 }, - { -11, -9, 21, 27, 2, 0 }, { -12, -10, 22, 26, 2, 0 }, { -12, -11, 22, 26, 2, 0 }, { -13, -12, 23, 26, 2, 0 }, { -13, -13, 23, 26, 2, 0 }, - { -13, -14, 24, 26, 2, 0 }, { -14, -15, 24, 26, 2, 0 }, { -14, -16, 25, 26, 2, 0 }, { -14, -17, 25, 26, 2, 0 }, { -15, -18, 25, 26, 2, 0 }, - { -15, -19, 26, 26, 2, 0 }, { -15, -20, 26, 25, 2, 0 }, { -15, -21, 27, 25, 2, 0 }, { -15, -22, 27, 25, 2, 0 }, { -15, -23, 28, 25, 2, 0 }, - { -16, -24, 28, 25, 2, 0 }, { -16, -25, 29, 25, 2, 0 }, { -16, -26, 29, 25, 2, 0 }, { -16, -27, 29, 25, 2, 0 }, { -16, -28, 30, 24, 2, 0 }, - { -16, -29, 30, 24, 2, 0 }, { -16, -30, 31, 24, 2, 0 }, { -16, -31, 31, 24, 2, 0 }, + 68, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 31, 2, 0 }, + { 26, 16, 2, 31, 2, 0 }, { 25, 15, 2, 31, 2, 0 }, { 24, 15, 3, 31, 2, 0 }, { 23, 15, 3, 31, 2, 0 }, { 22, 15, 4, 31, 2, 0 }, + { 21, 15, 4, 31, 2, 0 }, { 20, 15, 4, 31, 2, 0 }, { 19, 14, 5, 31, 2, 0 }, { 18, 14, 5, 30, 2, 0 }, { 17, 14, 6, 30, 2, 0 }, + { 16, 13, 6, 30, 2, 0 }, { 15, 13, 7, 30, 2, 0 }, { 14, 13, 7, 30, 2, 0 }, { 13, 12, 8, 30, 2, 0 }, { 12, 12, 8, 30, 2, 0 }, + { 11, 11, 9, 30, 2, 0 }, { 10, 11, 9, 30, 2, 0 }, { 9, 10, 10, 30, 2, 0 }, { 8, 10, 10, 29, 2, 0 }, { 7, 9, 11, 29, 2, 0 }, + { 6, 9, 11, 29, 2, 0 }, { 5, 8, 11, 29, 2, 0 }, { 4, 7, 12, 29, 2, 0 }, { 3, 7, 13, 29, 2, 0 }, { 2, 6, 13, 29, 2, 0 }, + { 1, 5, 14, 29, 2, 0 }, { 0, 4, 14, 29, 2, 0 }, { -1, 3, 15, 28, 2, 0 }, { -3, 3, 15, 28, 2, 0 }, { -4, 2, 16, 28, 2, 0 }, + { -5, 1, 16, 28, 2, 0 }, { -6, 0, 17, 28, 2, 0 }, { -7, -1, 17, 27, 2, 0 }, { -7, -2, 18, 27, 2, 0 }, { -8, -3, 18, 27, 2, 0 }, + { -9, -4, 19, 27, 2, 0 }, { -9, -5, 19, 27, 2, 0 }, { -10, -6, 20, 27, 2, 0 }, { -10, -7, 20, 27, 2, 0 }, { -11, -8, 21, 27, 2, 0 }, + { -11, -9, 21, 27, 2, 0 }, { -12, -10, 22, 26, 2, 0 }, { -12, -11, 22, 26, 2, 0 }, { -13, -12, 23, 26, 2, 0 }, { -13, -13, 23, 26, 2, 0 }, + { -13, -14, 24, 26, 2, 0 }, { -14, -15, 24, 26, 2, 0 }, { -14, -16, 25, 26, 2, 0 }, { -14, -17, 25, 26, 2, 0 }, { -15, -18, 25, 26, 2, 0 }, + { -15, -19, 26, 26, 2, 0 }, { -15, -20, 26, 25, 2, 0 }, { -15, -21, 27, 25, 2, 0 }, { -15, -22, 27, 25, 2, 0 }, { -15, -23, 28, 25, 2, 0 }, + { -16, -24, 28, 25, 2, 0 }, { -16, -25, 29, 25, 2, 0 }, { -16, -26, 29, 25, 2, 0 }, { -16, -27, 29, 25, 2, 0 }, { -16, -28, 30, 24, 2, 0 }, + { -16, -29, 30, 24, 2, 0 }, { -16, -30, 31, 24, 2, 0 }, { -16, -31, 31, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E2924 = { - 69, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 0, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 1, 8, 2, 0 }, - { 16, 5, 2, 7, 2, 0 }, { 16, 6, 2, 7, 2, 0 }, { 15, 7, 2, 7, 2, 0 }, { 15, 8, 3, 7, 2, 0 }, { 15, 9, 3, 7, 2, 0 }, - { 15, 10, 4, 7, 2, 0 }, { 15, 11, 4, 7, 2, 0 }, { 15, 12, 4, 7, 2, 0 }, { 14, 13, 5, 7, 2, 0 }, { 14, 14, 5, 6, 2, 0 }, - { 14, 15, 6, 6, 2, 0 }, { 13, 16, 6, 6, 2, 0 }, { 13, 17, 7, 6, 2, 0 }, { 13, 18, 7, 6, 2, 0 }, { 12, 19, 8, 6, 2, 0 }, - { 12, 20, 8, 6, 2, 0 }, { 11, 21, 9, 6, 2, 0 }, { 11, 22, 9, 6, 2, 0 }, { 10, 23, 10, 6, 2, 0 }, { 10, 24, 10, 5, 2, 0 }, - { 9, 25, 11, 5, 2, 0 }, { 9, 26, 11, 5, 2, 0 }, { 8, 27, 11, 5, 2, 0 }, { 7, 28, 12, 5, 2, 0 }, { 7, 29, 13, 5, 2, 0 }, - { 6, 30, 13, 5, 2, 0 }, { 5, 31, 14, 5, 2, 0 }, { 4, 32, 14, 5, 2, 0 }, { 3, 33, 15, 4, 2, 0 }, { 3, 35, 15, 4, 2, 0 }, - { 2, 36, 16, 4, 2, 0 }, { 1, 37, 16, 4, 2, 0 }, { 0, 38, 17, 4, 2, 0 }, { -1, 39, 17, 3, 2, 0 }, { -2, 39, 18, 3, 2, 0 }, - { -3, 40, 18, 3, 2, 0 }, { -4, 41, 19, 3, 2, 0 }, { -5, 41, 19, 3, 2, 0 }, { -6, 42, 20, 3, 2, 0 }, { -7, 42, 20, 3, 2, 0 }, - { -8, 43, 21, 3, 2, 0 }, { -9, 43, 21, 3, 2, 0 }, { -10, 44, 22, 2, 2, 0 }, { -11, 44, 22, 2, 2, 0 }, { -12, 45, 23, 2, 2, 0 }, - { -13, 45, 23, 2, 2, 0 }, { -14, 45, 24, 2, 2, 0 }, { -15, 46, 24, 2, 2, 0 }, { -16, 46, 25, 2, 2, 0 }, { -17, 46, 25, 2, 2, 0 }, - { -18, 47, 25, 2, 2, 0 }, { -19, 47, 26, 2, 2, 0 }, { -20, 47, 26, 1, 2, 0 }, { -21, 47, 27, 1, 2, 0 }, { -22, 47, 27, 1, 2, 0 }, - { -23, 47, 28, 1, 2, 0 }, { -24, 48, 28, 1, 2, 0 }, { -25, 48, 29, 1, 2, 0 }, { -26, 48, 29, 1, 2, 0 }, { -27, 48, 29, 1, 2, 0 }, - { -28, 48, 30, 0, 2, 0 }, { -29, 48, 30, 0, 2, 0 }, { -30, 48, 31, 0, 2, 0 }, { -31, 48, 31, 0, 2, 0 }, + 69, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 0, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 1, 8, 2, 0 }, + { 16, 5, 2, 7, 2, 0 }, { 16, 6, 2, 7, 2, 0 }, { 15, 7, 2, 7, 2, 0 }, { 15, 8, 3, 7, 2, 0 }, { 15, 9, 3, 7, 2, 0 }, + { 15, 10, 4, 7, 2, 0 }, { 15, 11, 4, 7, 2, 0 }, { 15, 12, 4, 7, 2, 0 }, { 14, 13, 5, 7, 2, 0 }, { 14, 14, 5, 6, 2, 0 }, + { 14, 15, 6, 6, 2, 0 }, { 13, 16, 6, 6, 2, 0 }, { 13, 17, 7, 6, 2, 0 }, { 13, 18, 7, 6, 2, 0 }, { 12, 19, 8, 6, 2, 0 }, + { 12, 20, 8, 6, 2, 0 }, { 11, 21, 9, 6, 2, 0 }, { 11, 22, 9, 6, 2, 0 }, { 10, 23, 10, 6, 2, 0 }, { 10, 24, 10, 5, 2, 0 }, + { 9, 25, 11, 5, 2, 0 }, { 9, 26, 11, 5, 2, 0 }, { 8, 27, 11, 5, 2, 0 }, { 7, 28, 12, 5, 2, 0 }, { 7, 29, 13, 5, 2, 0 }, + { 6, 30, 13, 5, 2, 0 }, { 5, 31, 14, 5, 2, 0 }, { 4, 32, 14, 5, 2, 0 }, { 3, 33, 15, 4, 2, 0 }, { 3, 35, 15, 4, 2, 0 }, + { 2, 36, 16, 4, 2, 0 }, { 1, 37, 16, 4, 2, 0 }, { 0, 38, 17, 4, 2, 0 }, { -1, 39, 17, 3, 2, 0 }, { -2, 39, 18, 3, 2, 0 }, + { -3, 40, 18, 3, 2, 0 }, { -4, 41, 19, 3, 2, 0 }, { -5, 41, 19, 3, 2, 0 }, { -6, 42, 20, 3, 2, 0 }, { -7, 42, 20, 3, 2, 0 }, + { -8, 43, 21, 3, 2, 0 }, { -9, 43, 21, 3, 2, 0 }, { -10, 44, 22, 2, 2, 0 }, { -11, 44, 22, 2, 2, 0 }, { -12, 45, 23, 2, 2, 0 }, + { -13, 45, 23, 2, 2, 0 }, { -14, 45, 24, 2, 2, 0 }, { -15, 46, 24, 2, 2, 0 }, { -16, 46, 25, 2, 2, 0 }, { -17, 46, 25, 2, 2, 0 }, + { -18, 47, 25, 2, 2, 0 }, { -19, 47, 26, 2, 2, 0 }, { -20, 47, 26, 1, 2, 0 }, { -21, 47, 27, 1, 2, 0 }, { -22, 47, 27, 1, 2, 0 }, + { -23, 47, 28, 1, 2, 0 }, { -24, 48, 28, 1, 2, 0 }, { -25, 48, 29, 1, 2, 0 }, { -26, 48, 29, 1, 2, 0 }, { -27, 48, 29, 1, 2, 0 }, + { -28, 48, 30, 0, 2, 0 }, { -29, 48, 30, 0, 2, 0 }, { -30, 48, 31, 0, 2, 0 }, { -31, 48, 31, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E2B93 = { - 68, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 0, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 1, 16, 2, 0 }, - { 5, 16, 2, 15, 2, 0 }, { 6, 16, 2, 15, 2, 0 }, { 7, 17, 2, 15, 2, 0 }, { 8, 17, 3, 15, 2, 0 }, { 9, 17, 3, 15, 2, 0 }, - { 10, 17, 4, 15, 2, 0 }, { 11, 17, 4, 15, 2, 0 }, { 12, 17, 5, 15, 2, 0 }, { 13, 18, 5, 15, 2, 0 }, { 14, 18, 6, 14, 2, 0 }, - { 15, 18, 6, 14, 2, 0 }, { 16, 19, 6, 14, 2, 0 }, { 17, 19, 7, 14, 2, 0 }, { 18, 19, 7, 14, 2, 0 }, { 19, 20, 8, 14, 2, 0 }, - { 20, 20, 8, 14, 2, 0 }, { 21, 21, 9, 14, 2, 0 }, { 22, 21, 9, 14, 2, 0 }, { 23, 22, 10, 14, 2, 0 }, { 24, 22, 10, 13, 2, 0 }, - { 25, 23, 11, 13, 2, 0 }, { 26, 23, 11, 13, 2, 0 }, { 27, 24, 12, 13, 2, 0 }, { 28, 25, 12, 13, 2, 0 }, { 29, 25, 13, 13, 2, 0 }, - { 30, 26, 13, 13, 2, 0 }, { 31, 27, 14, 13, 2, 0 }, { 32, 28, 14, 13, 2, 0 }, { 33, 29, 15, 12, 2, 0 }, { 35, 29, 15, 12, 2, 0 }, - { 36, 30, 16, 12, 2, 0 }, { 37, 31, 16, 12, 2, 0 }, { 38, 32, 17, 12, 2, 0 }, { 39, 33, 18, 11, 2, 0 }, { 39, 34, 18, 11, 2, 0 }, - { 40, 35, 19, 11, 2, 0 }, { 41, 36, 19, 11, 2, 0 }, { 41, 37, 20, 11, 2, 0 }, { 42, 38, 20, 11, 2, 0 }, { 42, 39, 21, 11, 2, 0 }, - { 43, 40, 21, 11, 2, 0 }, { 43, 41, 22, 11, 2, 0 }, { 44, 42, 22, 10, 2, 0 }, { 44, 43, 23, 10, 2, 0 }, { 45, 44, 23, 10, 2, 0 }, - { 45, 45, 24, 10, 2, 0 }, { 45, 46, 24, 10, 2, 0 }, { 46, 47, 24, 10, 2, 0 }, { 46, 48, 25, 10, 2, 0 }, { 46, 49, 25, 10, 2, 0 }, - { 47, 50, 26, 10, 2, 0 }, { 47, 51, 26, 10, 2, 0 }, { 47, 52, 27, 9, 2, 0 }, { 47, 53, 27, 9, 2, 0 }, { 47, 54, 28, 9, 2, 0 }, - { 47, 55, 28, 9, 2, 0 }, { 48, 56, 28, 9, 2, 0 }, { 48, 57, 29, 9, 2, 0 }, { 48, 58, 29, 9, 2, 0 }, { 48, 59, 30, 9, 2, 0 }, - { 48, 60, 30, 8, 2, 0 }, { 48, 61, 31, 8, 2, 0 }, { 48, 62, 31, 8, 2, 0 }, + 68, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 0, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 1, 16, 2, 0 }, + { 5, 16, 2, 15, 2, 0 }, { 6, 16, 2, 15, 2, 0 }, { 7, 17, 2, 15, 2, 0 }, { 8, 17, 3, 15, 2, 0 }, { 9, 17, 3, 15, 2, 0 }, + { 10, 17, 4, 15, 2, 0 }, { 11, 17, 4, 15, 2, 0 }, { 12, 17, 5, 15, 2, 0 }, { 13, 18, 5, 15, 2, 0 }, { 14, 18, 6, 14, 2, 0 }, + { 15, 18, 6, 14, 2, 0 }, { 16, 19, 6, 14, 2, 0 }, { 17, 19, 7, 14, 2, 0 }, { 18, 19, 7, 14, 2, 0 }, { 19, 20, 8, 14, 2, 0 }, + { 20, 20, 8, 14, 2, 0 }, { 21, 21, 9, 14, 2, 0 }, { 22, 21, 9, 14, 2, 0 }, { 23, 22, 10, 14, 2, 0 }, { 24, 22, 10, 13, 2, 0 }, + { 25, 23, 11, 13, 2, 0 }, { 26, 23, 11, 13, 2, 0 }, { 27, 24, 12, 13, 2, 0 }, { 28, 25, 12, 13, 2, 0 }, { 29, 25, 13, 13, 2, 0 }, + { 30, 26, 13, 13, 2, 0 }, { 31, 27, 14, 13, 2, 0 }, { 32, 28, 14, 13, 2, 0 }, { 33, 29, 15, 12, 2, 0 }, { 35, 29, 15, 12, 2, 0 }, + { 36, 30, 16, 12, 2, 0 }, { 37, 31, 16, 12, 2, 0 }, { 38, 32, 17, 12, 2, 0 }, { 39, 33, 18, 11, 2, 0 }, { 39, 34, 18, 11, 2, 0 }, + { 40, 35, 19, 11, 2, 0 }, { 41, 36, 19, 11, 2, 0 }, { 41, 37, 20, 11, 2, 0 }, { 42, 38, 20, 11, 2, 0 }, { 42, 39, 21, 11, 2, 0 }, + { 43, 40, 21, 11, 2, 0 }, { 43, 41, 22, 11, 2, 0 }, { 44, 42, 22, 10, 2, 0 }, { 44, 43, 23, 10, 2, 0 }, { 45, 44, 23, 10, 2, 0 }, + { 45, 45, 24, 10, 2, 0 }, { 45, 46, 24, 10, 2, 0 }, { 46, 47, 24, 10, 2, 0 }, { 46, 48, 25, 10, 2, 0 }, { 46, 49, 25, 10, 2, 0 }, + { 47, 50, 26, 10, 2, 0 }, { 47, 51, 26, 10, 2, 0 }, { 47, 52, 27, 9, 2, 0 }, { 47, 53, 27, 9, 2, 0 }, { 47, 54, 28, 9, 2, 0 }, + { 47, 55, 28, 9, 2, 0 }, { 48, 56, 28, 9, 2, 0 }, { 48, 57, 29, 9, 2, 0 }, { 48, 58, 29, 9, 2, 0 }, { 48, 59, 30, 9, 2, 0 }, + { 48, 60, 30, 8, 2, 0 }, { 48, 61, 31, 8, 2, 0 }, { 48, 62, 31, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E2DF9 = { - 67, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 23, 2, 0 }, - { 16, 26, 2, 23, 2, 0 }, { 17, 25, 2, 23, 2, 0 }, { 17, 24, 3, 23, 2, 0 }, { 17, 23, 3, 23, 2, 0 }, { 17, 22, 4, 23, 2, 0 }, - { 17, 21, 4, 23, 2, 0 }, { 17, 20, 5, 23, 2, 0 }, { 18, 19, 5, 23, 2, 0 }, { 18, 18, 6, 22, 2, 0 }, { 18, 17, 6, 22, 2, 0 }, - { 19, 16, 6, 22, 2, 0 }, { 19, 15, 7, 22, 2, 0 }, { 19, 14, 7, 22, 2, 0 }, { 20, 13, 8, 22, 2, 0 }, { 20, 12, 8, 22, 2, 0 }, - { 21, 11, 9, 22, 2, 0 }, { 21, 10, 9, 22, 2, 0 }, { 22, 9, 10, 22, 2, 0 }, { 22, 8, 10, 21, 2, 0 }, { 23, 7, 11, 21, 2, 0 }, - { 23, 6, 11, 21, 2, 0 }, { 24, 5, 12, 21, 2, 0 }, { 25, 4, 12, 21, 2, 0 }, { 25, 3, 13, 21, 2, 0 }, { 26, 2, 13, 21, 2, 0 }, - { 27, 1, 14, 21, 2, 0 }, { 28, 0, 14, 21, 2, 0 }, { 29, -1, 15, 20, 2, 0 }, { 29, -3, 15, 20, 2, 0 }, { 30, -4, 16, 20, 2, 0 }, - { 31, -5, 16, 20, 2, 0 }, { 32, -6, 17, 20, 2, 0 }, { 33, -7, 18, 19, 2, 0 }, { 34, -7, 18, 19, 2, 0 }, { 35, -8, 19, 19, 2, 0 }, - { 36, -9, 19, 19, 2, 0 }, { 37, -9, 20, 19, 2, 0 }, { 38, -10, 20, 19, 2, 0 }, { 39, -10, 21, 19, 2, 0 }, { 40, -11, 21, 19, 2, 0 }, - { 41, -11, 22, 19, 2, 0 }, { 42, -12, 22, 18, 2, 0 }, { 43, -12, 23, 18, 2, 0 }, { 44, -13, 23, 18, 2, 0 }, { 45, -13, 24, 18, 2, 0 }, - { 46, -13, 24, 18, 2, 0 }, { 47, -14, 24, 18, 2, 0 }, { 48, -14, 25, 18, 2, 0 }, { 49, -14, 25, 18, 2, 0 }, { 50, -15, 26, 18, 2, 0 }, - { 51, -15, 26, 18, 2, 0 }, { 52, -15, 27, 17, 2, 0 }, { 53, -15, 27, 17, 2, 0 }, { 54, -15, 28, 17, 2, 0 }, { 55, -15, 28, 17, 2, 0 }, - { 56, -16, 28, 17, 2, 0 }, { 57, -16, 29, 17, 2, 0 }, { 58, -16, 29, 17, 2, 0 }, { 59, -16, 30, 17, 2, 0 }, { 60, -16, 30, 16, 2, 0 }, - { 61, -16, 31, 16, 2, 0 }, { 62, -16, 31, 16, 2, 0 }, + 67, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 23, 2, 0 }, + { 16, 26, 2, 23, 2, 0 }, { 17, 25, 2, 23, 2, 0 }, { 17, 24, 3, 23, 2, 0 }, { 17, 23, 3, 23, 2, 0 }, { 17, 22, 4, 23, 2, 0 }, + { 17, 21, 4, 23, 2, 0 }, { 17, 20, 5, 23, 2, 0 }, { 18, 19, 5, 23, 2, 0 }, { 18, 18, 6, 22, 2, 0 }, { 18, 17, 6, 22, 2, 0 }, + { 19, 16, 6, 22, 2, 0 }, { 19, 15, 7, 22, 2, 0 }, { 19, 14, 7, 22, 2, 0 }, { 20, 13, 8, 22, 2, 0 }, { 20, 12, 8, 22, 2, 0 }, + { 21, 11, 9, 22, 2, 0 }, { 21, 10, 9, 22, 2, 0 }, { 22, 9, 10, 22, 2, 0 }, { 22, 8, 10, 21, 2, 0 }, { 23, 7, 11, 21, 2, 0 }, + { 23, 6, 11, 21, 2, 0 }, { 24, 5, 12, 21, 2, 0 }, { 25, 4, 12, 21, 2, 0 }, { 25, 3, 13, 21, 2, 0 }, { 26, 2, 13, 21, 2, 0 }, + { 27, 1, 14, 21, 2, 0 }, { 28, 0, 14, 21, 2, 0 }, { 29, -1, 15, 20, 2, 0 }, { 29, -3, 15, 20, 2, 0 }, { 30, -4, 16, 20, 2, 0 }, + { 31, -5, 16, 20, 2, 0 }, { 32, -6, 17, 20, 2, 0 }, { 33, -7, 18, 19, 2, 0 }, { 34, -7, 18, 19, 2, 0 }, { 35, -8, 19, 19, 2, 0 }, + { 36, -9, 19, 19, 2, 0 }, { 37, -9, 20, 19, 2, 0 }, { 38, -10, 20, 19, 2, 0 }, { 39, -10, 21, 19, 2, 0 }, { 40, -11, 21, 19, 2, 0 }, + { 41, -11, 22, 19, 2, 0 }, { 42, -12, 22, 18, 2, 0 }, { 43, -12, 23, 18, 2, 0 }, { 44, -13, 23, 18, 2, 0 }, { 45, -13, 24, 18, 2, 0 }, + { 46, -13, 24, 18, 2, 0 }, { 47, -14, 24, 18, 2, 0 }, { 48, -14, 25, 18, 2, 0 }, { 49, -14, 25, 18, 2, 0 }, { 50, -15, 26, 18, 2, 0 }, + { 51, -15, 26, 18, 2, 0 }, { 52, -15, 27, 17, 2, 0 }, { 53, -15, 27, 17, 2, 0 }, { 54, -15, 28, 17, 2, 0 }, { 55, -15, 28, 17, 2, 0 }, + { 56, -16, 28, 17, 2, 0 }, { 57, -16, 29, 17, 2, 0 }, { 58, -16, 29, 17, 2, 0 }, { 59, -16, 30, 17, 2, 0 }, { 60, -16, 30, 16, 2, 0 }, + { 61, -16, 31, 16, 2, 0 }, { 62, -16, 31, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E3056 = { - 67, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 1, 2, 0 }, - { 26, 16, 2, 1, 2, 0 }, { 25, 17, 2, 1, 2, 0 }, { 24, 17, 3, 1, 2, 0 }, { 23, 17, 3, 1, 2, 0 }, { 22, 17, 4, 1, 2, 0 }, - { 21, 17, 4, 1, 2, 0 }, { 20, 17, 5, 1, 2, 0 }, { 19, 18, 5, 1, 2, 0 }, { 18, 18, 6, 2, 2, 0 }, { 17, 18, 6, 2, 2, 0 }, - { 16, 19, 6, 2, 2, 0 }, { 15, 19, 7, 2, 2, 0 }, { 14, 19, 7, 2, 2, 0 }, { 13, 20, 8, 2, 2, 0 }, { 12, 20, 8, 2, 2, 0 }, - { 11, 21, 9, 2, 2, 0 }, { 10, 21, 9, 2, 2, 0 }, { 9, 22, 10, 2, 2, 0 }, { 8, 22, 10, 3, 2, 0 }, { 7, 23, 11, 3, 2, 0 }, - { 6, 23, 11, 3, 2, 0 }, { 5, 24, 12, 3, 2, 0 }, { 4, 25, 12, 3, 2, 0 }, { 3, 25, 13, 3, 2, 0 }, { 2, 26, 13, 3, 2, 0 }, - { 1, 27, 14, 3, 2, 0 }, { 0, 28, 14, 3, 2, 0 }, { -1, 29, 15, 4, 2, 0 }, { -3, 29, 15, 4, 2, 0 }, { -4, 30, 16, 4, 2, 0 }, - { -5, 31, 16, 4, 2, 0 }, { -6, 32, 17, 4, 2, 0 }, { -7, 33, 18, 5, 2, 0 }, { -7, 34, 18, 5, 2, 0 }, { -8, 35, 19, 5, 2, 0 }, - { -9, 36, 19, 5, 2, 0 }, { -9, 37, 20, 5, 2, 0 }, { -10, 38, 20, 5, 2, 0 }, { -10, 39, 21, 5, 2, 0 }, { -11, 40, 21, 5, 2, 0 }, - { -11, 41, 22, 5, 2, 0 }, { -12, 42, 22, 6, 2, 0 }, { -12, 43, 23, 6, 2, 0 }, { -13, 44, 23, 6, 2, 0 }, { -13, 45, 24, 6, 2, 0 }, - { -13, 46, 24, 6, 2, 0 }, { -14, 47, 24, 6, 2, 0 }, { -14, 48, 25, 6, 2, 0 }, { -14, 49, 25, 6, 2, 0 }, { -15, 50, 26, 6, 2, 0 }, - { -15, 51, 26, 6, 2, 0 }, { -15, 52, 27, 7, 2, 0 }, { -15, 53, 27, 7, 2, 0 }, { -15, 54, 28, 7, 2, 0 }, { -15, 55, 28, 7, 2, 0 }, - { -16, 56, 28, 7, 2, 0 }, { -16, 57, 29, 7, 2, 0 }, { -16, 58, 29, 7, 2, 0 }, { -16, 59, 30, 7, 2, 0 }, { -16, 60, 30, 8, 2, 0 }, - { -16, 61, 31, 8, 2, 0 }, { -16, 62, 31, 8, 2, 0 }, + 67, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 1, 2, 0 }, + { 26, 16, 2, 1, 2, 0 }, { 25, 17, 2, 1, 2, 0 }, { 24, 17, 3, 1, 2, 0 }, { 23, 17, 3, 1, 2, 0 }, { 22, 17, 4, 1, 2, 0 }, + { 21, 17, 4, 1, 2, 0 }, { 20, 17, 5, 1, 2, 0 }, { 19, 18, 5, 1, 2, 0 }, { 18, 18, 6, 2, 2, 0 }, { 17, 18, 6, 2, 2, 0 }, + { 16, 19, 6, 2, 2, 0 }, { 15, 19, 7, 2, 2, 0 }, { 14, 19, 7, 2, 2, 0 }, { 13, 20, 8, 2, 2, 0 }, { 12, 20, 8, 2, 2, 0 }, + { 11, 21, 9, 2, 2, 0 }, { 10, 21, 9, 2, 2, 0 }, { 9, 22, 10, 2, 2, 0 }, { 8, 22, 10, 3, 2, 0 }, { 7, 23, 11, 3, 2, 0 }, + { 6, 23, 11, 3, 2, 0 }, { 5, 24, 12, 3, 2, 0 }, { 4, 25, 12, 3, 2, 0 }, { 3, 25, 13, 3, 2, 0 }, { 2, 26, 13, 3, 2, 0 }, + { 1, 27, 14, 3, 2, 0 }, { 0, 28, 14, 3, 2, 0 }, { -1, 29, 15, 4, 2, 0 }, { -3, 29, 15, 4, 2, 0 }, { -4, 30, 16, 4, 2, 0 }, + { -5, 31, 16, 4, 2, 0 }, { -6, 32, 17, 4, 2, 0 }, { -7, 33, 18, 5, 2, 0 }, { -7, 34, 18, 5, 2, 0 }, { -8, 35, 19, 5, 2, 0 }, + { -9, 36, 19, 5, 2, 0 }, { -9, 37, 20, 5, 2, 0 }, { -10, 38, 20, 5, 2, 0 }, { -10, 39, 21, 5, 2, 0 }, { -11, 40, 21, 5, 2, 0 }, + { -11, 41, 22, 5, 2, 0 }, { -12, 42, 22, 6, 2, 0 }, { -12, 43, 23, 6, 2, 0 }, { -13, 44, 23, 6, 2, 0 }, { -13, 45, 24, 6, 2, 0 }, + { -13, 46, 24, 6, 2, 0 }, { -14, 47, 24, 6, 2, 0 }, { -14, 48, 25, 6, 2, 0 }, { -14, 49, 25, 6, 2, 0 }, { -15, 50, 26, 6, 2, 0 }, + { -15, 51, 26, 6, 2, 0 }, { -15, 52, 27, 7, 2, 0 }, { -15, 53, 27, 7, 2, 0 }, { -15, 54, 28, 7, 2, 0 }, { -15, 55, 28, 7, 2, 0 }, + { -16, 56, 28, 7, 2, 0 }, { -16, 57, 29, 7, 2, 0 }, { -16, 58, 29, 7, 2, 0 }, { -16, 59, 30, 7, 2, 0 }, { -16, 60, 30, 8, 2, 0 }, + { -16, 61, 31, 8, 2, 0 }, { -16, 62, 31, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E32B3 = { - 68, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 0, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 1, 8, 2, 0 }, - { 16, 5, 2, 9, 2, 0 }, { 16, 6, 2, 9, 2, 0 }, { 17, 7, 2, 9, 2, 0 }, { 17, 8, 3, 9, 2, 0 }, { 17, 9, 3, 9, 2, 0 }, - { 17, 10, 4, 9, 2, 0 }, { 17, 11, 4, 9, 2, 0 }, { 17, 12, 5, 9, 2, 0 }, { 18, 13, 5, 9, 2, 0 }, { 18, 14, 6, 10, 2, 0 }, - { 18, 15, 6, 10, 2, 0 }, { 19, 16, 6, 10, 2, 0 }, { 19, 17, 7, 10, 2, 0 }, { 19, 18, 7, 10, 2, 0 }, { 20, 19, 8, 10, 2, 0 }, - { 20, 20, 8, 10, 2, 0 }, { 21, 21, 9, 10, 2, 0 }, { 21, 22, 9, 10, 2, 0 }, { 22, 23, 10, 10, 2, 0 }, { 22, 24, 10, 11, 2, 0 }, - { 23, 25, 11, 11, 2, 0 }, { 23, 26, 11, 11, 2, 0 }, { 24, 27, 12, 11, 2, 0 }, { 25, 28, 12, 11, 2, 0 }, { 25, 29, 13, 11, 2, 0 }, - { 26, 30, 13, 11, 2, 0 }, { 27, 31, 14, 11, 2, 0 }, { 28, 32, 14, 11, 2, 0 }, { 29, 33, 15, 12, 2, 0 }, { 29, 35, 15, 12, 2, 0 }, - { 30, 36, 16, 12, 2, 0 }, { 31, 37, 16, 12, 2, 0 }, { 32, 38, 17, 12, 2, 0 }, { 33, 39, 18, 13, 2, 0 }, { 34, 39, 18, 13, 2, 0 }, - { 35, 40, 19, 13, 2, 0 }, { 36, 41, 19, 13, 2, 0 }, { 37, 41, 20, 13, 2, 0 }, { 38, 42, 20, 13, 2, 0 }, { 39, 42, 21, 13, 2, 0 }, - { 40, 43, 21, 13, 2, 0 }, { 41, 43, 22, 13, 2, 0 }, { 42, 44, 22, 14, 2, 0 }, { 43, 44, 23, 14, 2, 0 }, { 44, 45, 23, 14, 2, 0 }, - { 45, 45, 24, 14, 2, 0 }, { 46, 45, 24, 14, 2, 0 }, { 47, 46, 24, 14, 2, 0 }, { 48, 46, 25, 14, 2, 0 }, { 49, 46, 25, 14, 2, 0 }, - { 50, 47, 26, 14, 2, 0 }, { 51, 47, 26, 14, 2, 0 }, { 52, 47, 27, 15, 2, 0 }, { 53, 47, 27, 15, 2, 0 }, { 54, 47, 28, 15, 2, 0 }, - { 55, 47, 28, 15, 2, 0 }, { 56, 48, 28, 15, 2, 0 }, { 57, 48, 29, 15, 2, 0 }, { 58, 48, 29, 15, 2, 0 }, { 59, 48, 30, 15, 2, 0 }, - { 60, 48, 30, 16, 2, 0 }, { 61, 48, 31, 16, 2, 0 }, { 62, 48, 31, 16, 2, 0 }, + 68, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 0, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 1, 8, 2, 0 }, + { 16, 5, 2, 9, 2, 0 }, { 16, 6, 2, 9, 2, 0 }, { 17, 7, 2, 9, 2, 0 }, { 17, 8, 3, 9, 2, 0 }, { 17, 9, 3, 9, 2, 0 }, + { 17, 10, 4, 9, 2, 0 }, { 17, 11, 4, 9, 2, 0 }, { 17, 12, 5, 9, 2, 0 }, { 18, 13, 5, 9, 2, 0 }, { 18, 14, 6, 10, 2, 0 }, + { 18, 15, 6, 10, 2, 0 }, { 19, 16, 6, 10, 2, 0 }, { 19, 17, 7, 10, 2, 0 }, { 19, 18, 7, 10, 2, 0 }, { 20, 19, 8, 10, 2, 0 }, + { 20, 20, 8, 10, 2, 0 }, { 21, 21, 9, 10, 2, 0 }, { 21, 22, 9, 10, 2, 0 }, { 22, 23, 10, 10, 2, 0 }, { 22, 24, 10, 11, 2, 0 }, + { 23, 25, 11, 11, 2, 0 }, { 23, 26, 11, 11, 2, 0 }, { 24, 27, 12, 11, 2, 0 }, { 25, 28, 12, 11, 2, 0 }, { 25, 29, 13, 11, 2, 0 }, + { 26, 30, 13, 11, 2, 0 }, { 27, 31, 14, 11, 2, 0 }, { 28, 32, 14, 11, 2, 0 }, { 29, 33, 15, 12, 2, 0 }, { 29, 35, 15, 12, 2, 0 }, + { 30, 36, 16, 12, 2, 0 }, { 31, 37, 16, 12, 2, 0 }, { 32, 38, 17, 12, 2, 0 }, { 33, 39, 18, 13, 2, 0 }, { 34, 39, 18, 13, 2, 0 }, + { 35, 40, 19, 13, 2, 0 }, { 36, 41, 19, 13, 2, 0 }, { 37, 41, 20, 13, 2, 0 }, { 38, 42, 20, 13, 2, 0 }, { 39, 42, 21, 13, 2, 0 }, + { 40, 43, 21, 13, 2, 0 }, { 41, 43, 22, 13, 2, 0 }, { 42, 44, 22, 14, 2, 0 }, { 43, 44, 23, 14, 2, 0 }, { 44, 45, 23, 14, 2, 0 }, + { 45, 45, 24, 14, 2, 0 }, { 46, 45, 24, 14, 2, 0 }, { 47, 46, 24, 14, 2, 0 }, { 48, 46, 25, 14, 2, 0 }, { 49, 46, 25, 14, 2, 0 }, + { 50, 47, 26, 14, 2, 0 }, { 51, 47, 26, 14, 2, 0 }, { 52, 47, 27, 15, 2, 0 }, { 53, 47, 27, 15, 2, 0 }, { 54, 47, 28, 15, 2, 0 }, + { 55, 47, 28, 15, 2, 0 }, { 56, 48, 28, 15, 2, 0 }, { 57, 48, 29, 15, 2, 0 }, { 58, 48, 29, 15, 2, 0 }, { 59, 48, 30, 15, 2, 0 }, + { 60, 48, 30, 16, 2, 0 }, { 61, 48, 31, 16, 2, 0 }, { 62, 48, 31, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E3519 = { - 69, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 0, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 1, 16, 2, 0 }, - { 5, 16, 2, 17, 2, 0 }, { 6, 16, 2, 17, 2, 0 }, { 7, 15, 2, 17, 2, 0 }, { 8, 15, 3, 17, 2, 0 }, { 9, 15, 3, 17, 2, 0 }, - { 10, 15, 4, 17, 2, 0 }, { 11, 15, 4, 17, 2, 0 }, { 12, 15, 4, 17, 2, 0 }, { 13, 14, 5, 17, 2, 0 }, { 14, 14, 5, 18, 2, 0 }, - { 15, 14, 6, 18, 2, 0 }, { 16, 13, 6, 18, 2, 0 }, { 17, 13, 7, 18, 2, 0 }, { 18, 13, 7, 18, 2, 0 }, { 19, 12, 8, 18, 2, 0 }, - { 20, 12, 8, 18, 2, 0 }, { 21, 11, 9, 18, 2, 0 }, { 22, 11, 9, 18, 2, 0 }, { 23, 10, 10, 18, 2, 0 }, { 24, 10, 10, 19, 2, 0 }, - { 25, 9, 11, 19, 2, 0 }, { 26, 9, 11, 19, 2, 0 }, { 27, 8, 11, 19, 2, 0 }, { 28, 7, 12, 19, 2, 0 }, { 29, 7, 13, 19, 2, 0 }, - { 30, 6, 13, 19, 2, 0 }, { 31, 5, 14, 19, 2, 0 }, { 32, 4, 14, 19, 2, 0 }, { 33, 3, 15, 20, 2, 0 }, { 35, 3, 15, 20, 2, 0 }, - { 36, 2, 16, 20, 2, 0 }, { 37, 1, 16, 20, 2, 0 }, { 38, 0, 17, 20, 2, 0 }, { 39, -1, 17, 21, 2, 0 }, { 39, -2, 18, 21, 2, 0 }, - { 40, -3, 18, 21, 2, 0 }, { 41, -4, 19, 21, 2, 0 }, { 41, -5, 19, 21, 2, 0 }, { 42, -6, 20, 21, 2, 0 }, { 42, -7, 20, 21, 2, 0 }, - { 43, -8, 21, 21, 2, 0 }, { 43, -9, 21, 21, 2, 0 }, { 44, -10, 22, 22, 2, 0 }, { 44, -11, 22, 22, 2, 0 }, { 45, -12, 23, 22, 2, 0 }, - { 45, -13, 23, 22, 2, 0 }, { 45, -14, 24, 22, 2, 0 }, { 46, -15, 24, 22, 2, 0 }, { 46, -16, 25, 22, 2, 0 }, { 46, -17, 25, 22, 2, 0 }, - { 47, -18, 25, 22, 2, 0 }, { 47, -19, 26, 22, 2, 0 }, { 47, -20, 26, 23, 2, 0 }, { 47, -21, 27, 23, 2, 0 }, { 47, -22, 27, 23, 2, 0 }, - { 47, -23, 28, 23, 2, 0 }, { 48, -24, 28, 23, 2, 0 }, { 48, -25, 29, 23, 2, 0 }, { 48, -26, 29, 23, 2, 0 }, { 48, -27, 29, 23, 2, 0 }, - { 48, -28, 30, 24, 2, 0 }, { 48, -29, 30, 24, 2, 0 }, { 48, -30, 31, 24, 2, 0 }, { 48, -31, 31, 24, 2, 0 }, + 69, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 0, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 1, 16, 2, 0 }, + { 5, 16, 2, 17, 2, 0 }, { 6, 16, 2, 17, 2, 0 }, { 7, 15, 2, 17, 2, 0 }, { 8, 15, 3, 17, 2, 0 }, { 9, 15, 3, 17, 2, 0 }, + { 10, 15, 4, 17, 2, 0 }, { 11, 15, 4, 17, 2, 0 }, { 12, 15, 4, 17, 2, 0 }, { 13, 14, 5, 17, 2, 0 }, { 14, 14, 5, 18, 2, 0 }, + { 15, 14, 6, 18, 2, 0 }, { 16, 13, 6, 18, 2, 0 }, { 17, 13, 7, 18, 2, 0 }, { 18, 13, 7, 18, 2, 0 }, { 19, 12, 8, 18, 2, 0 }, + { 20, 12, 8, 18, 2, 0 }, { 21, 11, 9, 18, 2, 0 }, { 22, 11, 9, 18, 2, 0 }, { 23, 10, 10, 18, 2, 0 }, { 24, 10, 10, 19, 2, 0 }, + { 25, 9, 11, 19, 2, 0 }, { 26, 9, 11, 19, 2, 0 }, { 27, 8, 11, 19, 2, 0 }, { 28, 7, 12, 19, 2, 0 }, { 29, 7, 13, 19, 2, 0 }, + { 30, 6, 13, 19, 2, 0 }, { 31, 5, 14, 19, 2, 0 }, { 32, 4, 14, 19, 2, 0 }, { 33, 3, 15, 20, 2, 0 }, { 35, 3, 15, 20, 2, 0 }, + { 36, 2, 16, 20, 2, 0 }, { 37, 1, 16, 20, 2, 0 }, { 38, 0, 17, 20, 2, 0 }, { 39, -1, 17, 21, 2, 0 }, { 39, -2, 18, 21, 2, 0 }, + { 40, -3, 18, 21, 2, 0 }, { 41, -4, 19, 21, 2, 0 }, { 41, -5, 19, 21, 2, 0 }, { 42, -6, 20, 21, 2, 0 }, { 42, -7, 20, 21, 2, 0 }, + { 43, -8, 21, 21, 2, 0 }, { 43, -9, 21, 21, 2, 0 }, { 44, -10, 22, 22, 2, 0 }, { 44, -11, 22, 22, 2, 0 }, { 45, -12, 23, 22, 2, 0 }, + { 45, -13, 23, 22, 2, 0 }, { 45, -14, 24, 22, 2, 0 }, { 46, -15, 24, 22, 2, 0 }, { 46, -16, 25, 22, 2, 0 }, { 46, -17, 25, 22, 2, 0 }, + { 47, -18, 25, 22, 2, 0 }, { 47, -19, 26, 22, 2, 0 }, { 47, -20, 26, 23, 2, 0 }, { 47, -21, 27, 23, 2, 0 }, { 47, -22, 27, 23, 2, 0 }, + { 47, -23, 28, 23, 2, 0 }, { 48, -24, 28, 23, 2, 0 }, { 48, -25, 29, 23, 2, 0 }, { 48, -26, 29, 23, 2, 0 }, { 48, -27, 29, 23, 2, 0 }, + { 48, -28, 30, 24, 2, 0 }, { 48, -29, 30, 24, 2, 0 }, { 48, -30, 31, 24, 2, 0 }, { 48, -31, 31, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E3788 = { - 68, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 25, 2, 0 }, - { 16, 26, 2, 25, 2, 0 }, { 15, 25, 2, 25, 2, 0 }, { 15, 24, 3, 25, 2, 0 }, { 15, 23, 3, 25, 2, 0 }, { 15, 22, 4, 25, 2, 0 }, - { 15, 21, 4, 25, 2, 0 }, { 15, 20, 4, 25, 2, 0 }, { 14, 19, 5, 25, 2, 0 }, { 14, 18, 5, 26, 2, 0 }, { 14, 17, 6, 26, 2, 0 }, - { 13, 16, 6, 26, 2, 0 }, { 13, 15, 7, 26, 2, 0 }, { 13, 14, 7, 26, 2, 0 }, { 12, 13, 8, 26, 2, 0 }, { 12, 12, 8, 26, 2, 0 }, - { 11, 11, 9, 26, 2, 0 }, { 11, 10, 9, 26, 2, 0 }, { 10, 9, 10, 26, 2, 0 }, { 10, 8, 10, 27, 2, 0 }, { 9, 7, 11, 27, 2, 0 }, - { 9, 6, 11, 27, 2, 0 }, { 8, 5, 11, 27, 2, 0 }, { 7, 4, 12, 27, 2, 0 }, { 7, 3, 13, 27, 2, 0 }, { 6, 2, 13, 27, 2, 0 }, - { 5, 1, 14, 27, 2, 0 }, { 4, 0, 14, 27, 2, 0 }, { 3, -1, 15, 28, 2, 0 }, { 3, -3, 15, 28, 2, 0 }, { 2, -4, 16, 28, 2, 0 }, - { 1, -5, 16, 28, 2, 0 }, { 0, -6, 17, 28, 2, 0 }, { -1, -7, 17, 29, 2, 0 }, { -2, -7, 18, 29, 2, 0 }, { -3, -8, 18, 29, 2, 0 }, - { -4, -9, 19, 29, 2, 0 }, { -5, -9, 19, 29, 2, 0 }, { -6, -10, 20, 29, 2, 0 }, { -7, -10, 20, 29, 2, 0 }, { -8, -11, 21, 29, 2, 0 }, - { -9, -11, 21, 29, 2, 0 }, { -10, -12, 22, 30, 2, 0 }, { -11, -12, 22, 30, 2, 0 }, { -12, -13, 23, 30, 2, 0 }, { -13, -13, 23, 30, 2, 0 }, - { -14, -13, 24, 30, 2, 0 }, { -15, -14, 24, 30, 2, 0 }, { -16, -14, 25, 30, 2, 0 }, { -17, -14, 25, 30, 2, 0 }, { -18, -15, 25, 30, 2, 0 }, - { -19, -15, 26, 30, 2, 0 }, { -20, -15, 26, 31, 2, 0 }, { -21, -15, 27, 31, 2, 0 }, { -22, -15, 27, 31, 2, 0 }, { -23, -15, 28, 31, 2, 0 }, - { -24, -16, 28, 31, 2, 0 }, { -25, -16, 29, 31, 2, 0 }, { -26, -16, 29, 31, 2, 0 }, { -27, -16, 29, 31, 2, 0 }, { -28, -16, 30, 0, 2, 0 }, - { -29, -16, 30, 0, 2, 0 }, { -30, -16, 31, 0, 2, 0 }, { -31, -16, 31, 0, 2, 0 }, + 68, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 25, 2, 0 }, + { 16, 26, 2, 25, 2, 0 }, { 15, 25, 2, 25, 2, 0 }, { 15, 24, 3, 25, 2, 0 }, { 15, 23, 3, 25, 2, 0 }, { 15, 22, 4, 25, 2, 0 }, + { 15, 21, 4, 25, 2, 0 }, { 15, 20, 4, 25, 2, 0 }, { 14, 19, 5, 25, 2, 0 }, { 14, 18, 5, 26, 2, 0 }, { 14, 17, 6, 26, 2, 0 }, + { 13, 16, 6, 26, 2, 0 }, { 13, 15, 7, 26, 2, 0 }, { 13, 14, 7, 26, 2, 0 }, { 12, 13, 8, 26, 2, 0 }, { 12, 12, 8, 26, 2, 0 }, + { 11, 11, 9, 26, 2, 0 }, { 11, 10, 9, 26, 2, 0 }, { 10, 9, 10, 26, 2, 0 }, { 10, 8, 10, 27, 2, 0 }, { 9, 7, 11, 27, 2, 0 }, + { 9, 6, 11, 27, 2, 0 }, { 8, 5, 11, 27, 2, 0 }, { 7, 4, 12, 27, 2, 0 }, { 7, 3, 13, 27, 2, 0 }, { 6, 2, 13, 27, 2, 0 }, + { 5, 1, 14, 27, 2, 0 }, { 4, 0, 14, 27, 2, 0 }, { 3, -1, 15, 28, 2, 0 }, { 3, -3, 15, 28, 2, 0 }, { 2, -4, 16, 28, 2, 0 }, + { 1, -5, 16, 28, 2, 0 }, { 0, -6, 17, 28, 2, 0 }, { -1, -7, 17, 29, 2, 0 }, { -2, -7, 18, 29, 2, 0 }, { -3, -8, 18, 29, 2, 0 }, + { -4, -9, 19, 29, 2, 0 }, { -5, -9, 19, 29, 2, 0 }, { -6, -10, 20, 29, 2, 0 }, { -7, -10, 20, 29, 2, 0 }, { -8, -11, 21, 29, 2, 0 }, + { -9, -11, 21, 29, 2, 0 }, { -10, -12, 22, 30, 2, 0 }, { -11, -12, 22, 30, 2, 0 }, { -12, -13, 23, 30, 2, 0 }, { -13, -13, 23, 30, 2, 0 }, + { -14, -13, 24, 30, 2, 0 }, { -15, -14, 24, 30, 2, 0 }, { -16, -14, 25, 30, 2, 0 }, { -17, -14, 25, 30, 2, 0 }, { -18, -15, 25, 30, 2, 0 }, + { -19, -15, 26, 30, 2, 0 }, { -20, -15, 26, 31, 2, 0 }, { -21, -15, 27, 31, 2, 0 }, { -22, -15, 27, 31, 2, 0 }, { -23, -15, 28, 31, 2, 0 }, + { -24, -16, 28, 31, 2, 0 }, { -25, -16, 29, 31, 2, 0 }, { -26, -16, 29, 31, 2, 0 }, { -27, -16, 29, 31, 2, 0 }, { -28, -16, 30, 0, 2, 0 }, + { -29, -16, 30, 0, 2, 0 }, { -30, -16, 31, 0, 2, 0 }, { -31, -16, 31, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E138E = { - 68, { - { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 31, 6, 0 }, - { 26, 16, 13, 31, 6, 0 }, { 25, 15, 13, 31, 6, 0 }, { 24, 15, 12, 31, 6, 0 }, { 23, 15, 12, 31, 6, 0 }, { 22, 15, 11, 31, 6, 0 }, - { 21, 15, 11, 31, 6, 0 }, { 20, 15, 11, 31, 6, 0 }, { 19, 14, 10, 31, 6, 0 }, { 18, 14, 10, 30, 6, 0 }, { 17, 14, 9, 30, 6, 0 }, - { 16, 13, 9, 30, 6, 0 }, { 15, 13, 8, 30, 6, 0 }, { 14, 13, 8, 30, 6, 0 }, { 13, 12, 7, 30, 6, 0 }, { 12, 12, 7, 30, 6, 0 }, - { 11, 11, 6, 30, 6, 0 }, { 10, 11, 6, 30, 6, 0 }, { 9, 10, 5, 30, 6, 0 }, { 8, 10, 5, 29, 6, 0 }, { 7, 9, 4, 29, 6, 0 }, - { 6, 9, 4, 29, 6, 0 }, { 5, 8, 4, 29, 6, 0 }, { 4, 7, 3, 29, 6, 0 }, { 3, 7, 2, 29, 6, 0 }, { 2, 6, 2, 29, 6, 0 }, - { 1, 5, 1, 29, 6, 0 }, { 0, 4, 1, 29, 6, 0 }, { -1, 3, 0, 28, 6, 0 }, { -3, 3, 0, 28, 6, 0 }, { -4, 2, -1, 28, 6, 0 }, - { -5, 1, -1, 28, 6, 0 }, { -6, 0, -2, 28, 6, 0 }, { -7, -1, -2, 27, 6, 0 }, { -7, -2, -3, 27, 6, 0 }, { -8, -3, -3, 27, 6, 0 }, - { -9, -4, -4, 27, 6, 0 }, { -9, -5, -5, 27, 6, 0 }, { -10, -6, -5, 27, 6, 0 }, { -10, -7, -5, 27, 6, 0 }, { -11, -8, -6, 27, 6, 0 }, - { -11, -9, -6, 27, 6, 0 }, { -12, -10, -7, 26, 6, 0 }, { -12, -11, -7, 26, 6, 0 }, { -13, -12, -8, 26, 6, 0 }, { -13, -13, -8, 26, 6, 0 }, - { -13, -14, -9, 26, 6, 0 }, { -14, -15, -9, 26, 6, 0 }, { -14, -16, -10, 26, 6, 0 }, { -14, -17, -10, 26, 6, 0 }, { -15, -18, -11, 26, 6, 0 }, - { -15, -19, -11, 26, 6, 0 }, { -15, -20, -12, 25, 6, 0 }, { -15, -21, -12, 25, 6, 0 }, { -15, -22, -12, 25, 6, 0 }, { -15, -23, -13, 25, 6, 0 }, - { -16, -24, -13, 25, 6, 0 }, { -16, -25, -14, 25, 6, 0 }, { -16, -26, -14, 25, 6, 0 }, { -16, -27, -14, 25, 6, 0 }, { -16, -28, -15, 24, 6, 0 }, - { -16, -29, -15, 24, 6, 0 }, { -16, -30, -16, 24, 6, 0 }, { -16, -31, -17, 24, 6, 0 }, + 68, { + { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 31, 6, 0 }, + { 26, 16, 13, 31, 6, 0 }, { 25, 15, 13, 31, 6, 0 }, { 24, 15, 12, 31, 6, 0 }, { 23, 15, 12, 31, 6, 0 }, { 22, 15, 11, 31, 6, 0 }, + { 21, 15, 11, 31, 6, 0 }, { 20, 15, 11, 31, 6, 0 }, { 19, 14, 10, 31, 6, 0 }, { 18, 14, 10, 30, 6, 0 }, { 17, 14, 9, 30, 6, 0 }, + { 16, 13, 9, 30, 6, 0 }, { 15, 13, 8, 30, 6, 0 }, { 14, 13, 8, 30, 6, 0 }, { 13, 12, 7, 30, 6, 0 }, { 12, 12, 7, 30, 6, 0 }, + { 11, 11, 6, 30, 6, 0 }, { 10, 11, 6, 30, 6, 0 }, { 9, 10, 5, 30, 6, 0 }, { 8, 10, 5, 29, 6, 0 }, { 7, 9, 4, 29, 6, 0 }, + { 6, 9, 4, 29, 6, 0 }, { 5, 8, 4, 29, 6, 0 }, { 4, 7, 3, 29, 6, 0 }, { 3, 7, 2, 29, 6, 0 }, { 2, 6, 2, 29, 6, 0 }, + { 1, 5, 1, 29, 6, 0 }, { 0, 4, 1, 29, 6, 0 }, { -1, 3, 0, 28, 6, 0 }, { -3, 3, 0, 28, 6, 0 }, { -4, 2, -1, 28, 6, 0 }, + { -5, 1, -1, 28, 6, 0 }, { -6, 0, -2, 28, 6, 0 }, { -7, -1, -2, 27, 6, 0 }, { -7, -2, -3, 27, 6, 0 }, { -8, -3, -3, 27, 6, 0 }, + { -9, -4, -4, 27, 6, 0 }, { -9, -5, -5, 27, 6, 0 }, { -10, -6, -5, 27, 6, 0 }, { -10, -7, -5, 27, 6, 0 }, { -11, -8, -6, 27, 6, 0 }, + { -11, -9, -6, 27, 6, 0 }, { -12, -10, -7, 26, 6, 0 }, { -12, -11, -7, 26, 6, 0 }, { -13, -12, -8, 26, 6, 0 }, { -13, -13, -8, 26, 6, 0 }, + { -13, -14, -9, 26, 6, 0 }, { -14, -15, -9, 26, 6, 0 }, { -14, -16, -10, 26, 6, 0 }, { -14, -17, -10, 26, 6, 0 }, { -15, -18, -11, 26, 6, 0 }, + { -15, -19, -11, 26, 6, 0 }, { -15, -20, -12, 25, 6, 0 }, { -15, -21, -12, 25, 6, 0 }, { -15, -22, -12, 25, 6, 0 }, { -15, -23, -13, 25, 6, 0 }, + { -16, -24, -13, 25, 6, 0 }, { -16, -25, -14, 25, 6, 0 }, { -16, -26, -14, 25, 6, 0 }, { -16, -27, -14, 25, 6, 0 }, { -16, -28, -15, 24, 6, 0 }, + { -16, -29, -15, 24, 6, 0 }, { -16, -30, -16, 24, 6, 0 }, { -16, -31, -17, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E15F4 = { - 69, { - { 16, 0, 15, 8, 6, 0 }, { 16, 1, 15, 8, 6, 0 }, { 16, 2, 15, 8, 6, 0 }, { 16, 3, 14, 8, 6, 0 }, { 16, 4, 14, 8, 6, 0 }, - { 16, 5, 13, 7, 6, 0 }, { 16, 6, 13, 7, 6, 0 }, { 15, 7, 13, 7, 6, 0 }, { 15, 8, 12, 7, 6, 0 }, { 15, 9, 12, 7, 6, 0 }, - { 15, 10, 11, 7, 6, 0 }, { 15, 11, 11, 7, 6, 0 }, { 15, 12, 11, 7, 6, 0 }, { 14, 13, 10, 7, 6, 0 }, { 14, 14, 10, 6, 6, 0 }, - { 14, 15, 9, 6, 6, 0 }, { 13, 16, 9, 6, 6, 0 }, { 13, 17, 8, 6, 6, 0 }, { 13, 18, 8, 6, 6, 0 }, { 12, 19, 7, 6, 6, 0 }, - { 12, 20, 7, 6, 6, 0 }, { 11, 21, 6, 6, 6, 0 }, { 11, 22, 6, 6, 6, 0 }, { 10, 23, 5, 6, 6, 0 }, { 10, 24, 5, 5, 6, 0 }, - { 9, 25, 4, 5, 6, 0 }, { 9, 26, 4, 5, 6, 0 }, { 8, 27, 4, 5, 6, 0 }, { 7, 28, 3, 5, 6, 0 }, { 7, 29, 2, 5, 6, 0 }, - { 6, 30, 2, 5, 6, 0 }, { 5, 31, 1, 5, 6, 0 }, { 4, 32, 1, 5, 6, 0 }, { 3, 33, 0, 4, 6, 0 }, { 3, 35, 0, 4, 6, 0 }, - { 2, 36, -1, 4, 6, 0 }, { 1, 37, -1, 4, 6, 0 }, { 0, 38, -2, 4, 6, 0 }, { -1, 39, -2, 3, 6, 0 }, { -2, 39, -3, 3, 6, 0 }, - { -3, 40, -3, 3, 6, 0 }, { -4, 41, -4, 3, 6, 0 }, { -5, 41, -5, 3, 6, 0 }, { -6, 42, -5, 3, 6, 0 }, { -7, 42, -5, 3, 6, 0 }, - { -8, 43, -6, 3, 6, 0 }, { -9, 43, -6, 3, 6, 0 }, { -10, 44, -7, 2, 6, 0 }, { -11, 44, -7, 2, 6, 0 }, { -12, 45, -8, 2, 6, 0 }, - { -13, 45, -8, 2, 6, 0 }, { -14, 45, -9, 2, 6, 0 }, { -15, 46, -9, 2, 6, 0 }, { -16, 46, -10, 2, 6, 0 }, { -17, 46, -10, 2, 6, 0 }, - { -18, 47, -11, 2, 6, 0 }, { -19, 47, -11, 2, 6, 0 }, { -20, 47, -12, 1, 6, 0 }, { -21, 47, -12, 1, 6, 0 }, { -22, 47, -12, 1, 6, 0 }, - { -23, 47, -13, 1, 6, 0 }, { -24, 48, -13, 1, 6, 0 }, { -25, 48, -14, 1, 6, 0 }, { -26, 48, -14, 1, 6, 0 }, { -27, 48, -14, 1, 6, 0 }, - { -28, 48, -15, 0, 6, 0 }, { -29, 48, -15, 0, 6, 0 }, { -30, 48, -16, 0, 6, 0 }, { -31, 48, -17, 0, 6, 0 }, + 69, { + { 16, 0, 15, 8, 6, 0 }, { 16, 1, 15, 8, 6, 0 }, { 16, 2, 15, 8, 6, 0 }, { 16, 3, 14, 8, 6, 0 }, { 16, 4, 14, 8, 6, 0 }, + { 16, 5, 13, 7, 6, 0 }, { 16, 6, 13, 7, 6, 0 }, { 15, 7, 13, 7, 6, 0 }, { 15, 8, 12, 7, 6, 0 }, { 15, 9, 12, 7, 6, 0 }, + { 15, 10, 11, 7, 6, 0 }, { 15, 11, 11, 7, 6, 0 }, { 15, 12, 11, 7, 6, 0 }, { 14, 13, 10, 7, 6, 0 }, { 14, 14, 10, 6, 6, 0 }, + { 14, 15, 9, 6, 6, 0 }, { 13, 16, 9, 6, 6, 0 }, { 13, 17, 8, 6, 6, 0 }, { 13, 18, 8, 6, 6, 0 }, { 12, 19, 7, 6, 6, 0 }, + { 12, 20, 7, 6, 6, 0 }, { 11, 21, 6, 6, 6, 0 }, { 11, 22, 6, 6, 6, 0 }, { 10, 23, 5, 6, 6, 0 }, { 10, 24, 5, 5, 6, 0 }, + { 9, 25, 4, 5, 6, 0 }, { 9, 26, 4, 5, 6, 0 }, { 8, 27, 4, 5, 6, 0 }, { 7, 28, 3, 5, 6, 0 }, { 7, 29, 2, 5, 6, 0 }, + { 6, 30, 2, 5, 6, 0 }, { 5, 31, 1, 5, 6, 0 }, { 4, 32, 1, 5, 6, 0 }, { 3, 33, 0, 4, 6, 0 }, { 3, 35, 0, 4, 6, 0 }, + { 2, 36, -1, 4, 6, 0 }, { 1, 37, -1, 4, 6, 0 }, { 0, 38, -2, 4, 6, 0 }, { -1, 39, -2, 3, 6, 0 }, { -2, 39, -3, 3, 6, 0 }, + { -3, 40, -3, 3, 6, 0 }, { -4, 41, -4, 3, 6, 0 }, { -5, 41, -5, 3, 6, 0 }, { -6, 42, -5, 3, 6, 0 }, { -7, 42, -5, 3, 6, 0 }, + { -8, 43, -6, 3, 6, 0 }, { -9, 43, -6, 3, 6, 0 }, { -10, 44, -7, 2, 6, 0 }, { -11, 44, -7, 2, 6, 0 }, { -12, 45, -8, 2, 6, 0 }, + { -13, 45, -8, 2, 6, 0 }, { -14, 45, -9, 2, 6, 0 }, { -15, 46, -9, 2, 6, 0 }, { -16, 46, -10, 2, 6, 0 }, { -17, 46, -10, 2, 6, 0 }, + { -18, 47, -11, 2, 6, 0 }, { -19, 47, -11, 2, 6, 0 }, { -20, 47, -12, 1, 6, 0 }, { -21, 47, -12, 1, 6, 0 }, { -22, 47, -12, 1, 6, 0 }, + { -23, 47, -13, 1, 6, 0 }, { -24, 48, -13, 1, 6, 0 }, { -25, 48, -14, 1, 6, 0 }, { -26, 48, -14, 1, 6, 0 }, { -27, 48, -14, 1, 6, 0 }, + { -28, 48, -15, 0, 6, 0 }, { -29, 48, -15, 0, 6, 0 }, { -30, 48, -16, 0, 6, 0 }, { -31, 48, -17, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E1863 = { - 68, { - { 0, 16, 15, 16, 6, 0 }, { 1, 16, 15, 16, 6, 0 }, { 2, 16, 15, 16, 6, 0 }, { 3, 16, 14, 16, 6, 0 }, { 4, 16, 14, 16, 6, 0 }, - { 5, 16, 13, 15, 6, 0 }, { 6, 16, 13, 15, 6, 0 }, { 7, 17, 13, 15, 6, 0 }, { 8, 17, 12, 15, 6, 0 }, { 9, 17, 12, 15, 6, 0 }, - { 10, 17, 11, 15, 6, 0 }, { 11, 17, 11, 15, 6, 0 }, { 12, 17, 10, 15, 6, 0 }, { 13, 18, 10, 15, 6, 0 }, { 14, 18, 9, 14, 6, 0 }, - { 15, 18, 9, 14, 6, 0 }, { 16, 19, 9, 14, 6, 0 }, { 17, 19, 8, 14, 6, 0 }, { 18, 19, 8, 14, 6, 0 }, { 19, 20, 7, 14, 6, 0 }, - { 20, 20, 7, 14, 6, 0 }, { 21, 21, 6, 14, 6, 0 }, { 22, 21, 6, 14, 6, 0 }, { 23, 22, 5, 14, 6, 0 }, { 24, 22, 5, 13, 6, 0 }, - { 25, 23, 4, 13, 6, 0 }, { 26, 23, 4, 13, 6, 0 }, { 27, 24, 3, 13, 6, 0 }, { 28, 25, 3, 13, 6, 0 }, { 29, 25, 2, 13, 6, 0 }, - { 30, 26, 2, 13, 6, 0 }, { 31, 27, 1, 13, 6, 0 }, { 32, 28, 1, 13, 6, 0 }, { 33, 29, 0, 12, 6, 0 }, { 35, 29, -1, 12, 6, 0 }, - { 36, 30, -1, 12, 6, 0 }, { 37, 31, -1, 12, 6, 0 }, { 38, 32, -2, 12, 6, 0 }, { 39, 33, -3, 11, 6, 0 }, { 39, 34, -3, 11, 6, 0 }, - { 40, 35, -4, 11, 6, 0 }, { 41, 36, -4, 11, 6, 0 }, { 41, 37, -5, 11, 6, 0 }, { 42, 38, -5, 11, 6, 0 }, { 42, 39, -6, 11, 6, 0 }, - { 43, 40, -6, 11, 6, 0 }, { 43, 41, -7, 11, 6, 0 }, { 44, 42, -7, 10, 6, 0 }, { 44, 43, -8, 10, 6, 0 }, { 45, 44, -8, 10, 6, 0 }, - { 45, 45, -9, 10, 6, 0 }, { 45, 46, -9, 10, 6, 0 }, { 46, 47, -9, 10, 6, 0 }, { 46, 48, -10, 10, 6, 0 }, { 46, 49, -10, 10, 6, 0 }, - { 47, 50, -11, 10, 6, 0 }, { 47, 51, -11, 10, 6, 0 }, { 47, 52, -12, 9, 6, 0 }, { 47, 53, -12, 9, 6, 0 }, { 47, 54, -13, 9, 6, 0 }, - { 47, 55, -13, 9, 6, 0 }, { 48, 56, -13, 9, 6, 0 }, { 48, 57, -14, 9, 6, 0 }, { 48, 58, -14, 9, 6, 0 }, { 48, 59, -15, 9, 6, 0 }, - { 48, 60, -15, 8, 6, 0 }, { 48, 61, -16, 8, 6, 0 }, { 48, 62, -16, 8, 6, 0 }, + 68, { + { 0, 16, 15, 16, 6, 0 }, { 1, 16, 15, 16, 6, 0 }, { 2, 16, 15, 16, 6, 0 }, { 3, 16, 14, 16, 6, 0 }, { 4, 16, 14, 16, 6, 0 }, + { 5, 16, 13, 15, 6, 0 }, { 6, 16, 13, 15, 6, 0 }, { 7, 17, 13, 15, 6, 0 }, { 8, 17, 12, 15, 6, 0 }, { 9, 17, 12, 15, 6, 0 }, + { 10, 17, 11, 15, 6, 0 }, { 11, 17, 11, 15, 6, 0 }, { 12, 17, 10, 15, 6, 0 }, { 13, 18, 10, 15, 6, 0 }, { 14, 18, 9, 14, 6, 0 }, + { 15, 18, 9, 14, 6, 0 }, { 16, 19, 9, 14, 6, 0 }, { 17, 19, 8, 14, 6, 0 }, { 18, 19, 8, 14, 6, 0 }, { 19, 20, 7, 14, 6, 0 }, + { 20, 20, 7, 14, 6, 0 }, { 21, 21, 6, 14, 6, 0 }, { 22, 21, 6, 14, 6, 0 }, { 23, 22, 5, 14, 6, 0 }, { 24, 22, 5, 13, 6, 0 }, + { 25, 23, 4, 13, 6, 0 }, { 26, 23, 4, 13, 6, 0 }, { 27, 24, 3, 13, 6, 0 }, { 28, 25, 3, 13, 6, 0 }, { 29, 25, 2, 13, 6, 0 }, + { 30, 26, 2, 13, 6, 0 }, { 31, 27, 1, 13, 6, 0 }, { 32, 28, 1, 13, 6, 0 }, { 33, 29, 0, 12, 6, 0 }, { 35, 29, -1, 12, 6, 0 }, + { 36, 30, -1, 12, 6, 0 }, { 37, 31, -1, 12, 6, 0 }, { 38, 32, -2, 12, 6, 0 }, { 39, 33, -3, 11, 6, 0 }, { 39, 34, -3, 11, 6, 0 }, + { 40, 35, -4, 11, 6, 0 }, { 41, 36, -4, 11, 6, 0 }, { 41, 37, -5, 11, 6, 0 }, { 42, 38, -5, 11, 6, 0 }, { 42, 39, -6, 11, 6, 0 }, + { 43, 40, -6, 11, 6, 0 }, { 43, 41, -7, 11, 6, 0 }, { 44, 42, -7, 10, 6, 0 }, { 44, 43, -8, 10, 6, 0 }, { 45, 44, -8, 10, 6, 0 }, + { 45, 45, -9, 10, 6, 0 }, { 45, 46, -9, 10, 6, 0 }, { 46, 47, -9, 10, 6, 0 }, { 46, 48, -10, 10, 6, 0 }, { 46, 49, -10, 10, 6, 0 }, + { 47, 50, -11, 10, 6, 0 }, { 47, 51, -11, 10, 6, 0 }, { 47, 52, -12, 9, 6, 0 }, { 47, 53, -12, 9, 6, 0 }, { 47, 54, -13, 9, 6, 0 }, + { 47, 55, -13, 9, 6, 0 }, { 48, 56, -13, 9, 6, 0 }, { 48, 57, -14, 9, 6, 0 }, { 48, 58, -14, 9, 6, 0 }, { 48, 59, -15, 9, 6, 0 }, + { 48, 60, -15, 8, 6, 0 }, { 48, 61, -16, 8, 6, 0 }, { 48, 62, -16, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E1AC9 = { - 67, { - { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 23, 6, 0 }, - { 16, 26, 13, 23, 6, 0 }, { 17, 25, 13, 23, 6, 0 }, { 17, 24, 12, 23, 6, 0 }, { 17, 23, 12, 23, 6, 0 }, { 17, 22, 11, 23, 6, 0 }, - { 17, 21, 11, 23, 6, 0 }, { 17, 20, 10, 23, 6, 0 }, { 18, 19, 10, 23, 6, 0 }, { 18, 18, 9, 22, 6, 0 }, { 18, 17, 9, 22, 6, 0 }, - { 19, 16, 9, 22, 6, 0 }, { 19, 15, 8, 22, 6, 0 }, { 19, 14, 8, 22, 6, 0 }, { 20, 13, 7, 22, 6, 0 }, { 20, 12, 7, 22, 6, 0 }, - { 21, 11, 6, 22, 6, 0 }, { 21, 10, 6, 22, 6, 0 }, { 22, 9, 5, 22, 6, 0 }, { 22, 8, 5, 21, 6, 0 }, { 23, 7, 4, 21, 6, 0 }, - { 23, 6, 4, 21, 6, 0 }, { 24, 5, 3, 21, 6, 0 }, { 25, 4, 3, 21, 6, 0 }, { 25, 3, 2, 21, 6, 0 }, { 26, 2, 2, 21, 6, 0 }, - { 27, 1, 1, 21, 6, 0 }, { 28, 0, 1, 21, 6, 0 }, { 29, -1, 0, 20, 6, 0 }, { 29, -3, -1, 20, 6, 0 }, { 30, -4, -1, 20, 6, 0 }, - { 31, -5, -1, 20, 6, 0 }, { 32, -6, -2, 20, 6, 0 }, { 33, -7, -3, 19, 6, 0 }, { 34, -7, -3, 19, 6, 0 }, { 35, -8, -4, 19, 6, 0 }, - { 36, -9, -4, 19, 6, 0 }, { 37, -9, -5, 19, 6, 0 }, { 38, -10, -5, 19, 6, 0 }, { 39, -10, -6, 19, 6, 0 }, { 40, -11, -6, 19, 6, 0 }, - { 41, -11, -7, 19, 6, 0 }, { 42, -12, -7, 18, 6, 0 }, { 43, -12, -8, 18, 6, 0 }, { 44, -13, -8, 18, 6, 0 }, { 45, -13, -9, 18, 6, 0 }, - { 46, -13, -9, 18, 6, 0 }, { 47, -14, -9, 18, 6, 0 }, { 48, -14, -10, 18, 6, 0 }, { 49, -14, -10, 18, 6, 0 }, { 50, -15, -11, 18, 6, 0 }, - { 51, -15, -11, 18, 6, 0 }, { 52, -15, -12, 17, 6, 0 }, { 53, -15, -12, 17, 6, 0 }, { 54, -15, -13, 17, 6, 0 }, { 55, -15, -13, 17, 6, 0 }, - { 56, -16, -13, 17, 6, 0 }, { 57, -16, -14, 17, 6, 0 }, { 58, -16, -14, 17, 6, 0 }, { 59, -16, -15, 17, 6, 0 }, { 60, -16, -15, 16, 6, 0 }, - { 61, -16, -16, 16, 6, 0 }, { 62, -16, -16, 16, 6, 0 }, + 67, { + { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 23, 6, 0 }, + { 16, 26, 13, 23, 6, 0 }, { 17, 25, 13, 23, 6, 0 }, { 17, 24, 12, 23, 6, 0 }, { 17, 23, 12, 23, 6, 0 }, { 17, 22, 11, 23, 6, 0 }, + { 17, 21, 11, 23, 6, 0 }, { 17, 20, 10, 23, 6, 0 }, { 18, 19, 10, 23, 6, 0 }, { 18, 18, 9, 22, 6, 0 }, { 18, 17, 9, 22, 6, 0 }, + { 19, 16, 9, 22, 6, 0 }, { 19, 15, 8, 22, 6, 0 }, { 19, 14, 8, 22, 6, 0 }, { 20, 13, 7, 22, 6, 0 }, { 20, 12, 7, 22, 6, 0 }, + { 21, 11, 6, 22, 6, 0 }, { 21, 10, 6, 22, 6, 0 }, { 22, 9, 5, 22, 6, 0 }, { 22, 8, 5, 21, 6, 0 }, { 23, 7, 4, 21, 6, 0 }, + { 23, 6, 4, 21, 6, 0 }, { 24, 5, 3, 21, 6, 0 }, { 25, 4, 3, 21, 6, 0 }, { 25, 3, 2, 21, 6, 0 }, { 26, 2, 2, 21, 6, 0 }, + { 27, 1, 1, 21, 6, 0 }, { 28, 0, 1, 21, 6, 0 }, { 29, -1, 0, 20, 6, 0 }, { 29, -3, -1, 20, 6, 0 }, { 30, -4, -1, 20, 6, 0 }, + { 31, -5, -1, 20, 6, 0 }, { 32, -6, -2, 20, 6, 0 }, { 33, -7, -3, 19, 6, 0 }, { 34, -7, -3, 19, 6, 0 }, { 35, -8, -4, 19, 6, 0 }, + { 36, -9, -4, 19, 6, 0 }, { 37, -9, -5, 19, 6, 0 }, { 38, -10, -5, 19, 6, 0 }, { 39, -10, -6, 19, 6, 0 }, { 40, -11, -6, 19, 6, 0 }, + { 41, -11, -7, 19, 6, 0 }, { 42, -12, -7, 18, 6, 0 }, { 43, -12, -8, 18, 6, 0 }, { 44, -13, -8, 18, 6, 0 }, { 45, -13, -9, 18, 6, 0 }, + { 46, -13, -9, 18, 6, 0 }, { 47, -14, -9, 18, 6, 0 }, { 48, -14, -10, 18, 6, 0 }, { 49, -14, -10, 18, 6, 0 }, { 50, -15, -11, 18, 6, 0 }, + { 51, -15, -11, 18, 6, 0 }, { 52, -15, -12, 17, 6, 0 }, { 53, -15, -12, 17, 6, 0 }, { 54, -15, -13, 17, 6, 0 }, { 55, -15, -13, 17, 6, 0 }, + { 56, -16, -13, 17, 6, 0 }, { 57, -16, -14, 17, 6, 0 }, { 58, -16, -14, 17, 6, 0 }, { 59, -16, -15, 17, 6, 0 }, { 60, -16, -15, 16, 6, 0 }, + { 61, -16, -16, 16, 6, 0 }, { 62, -16, -16, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E1D26 = { - 67, { - { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 1, 6, 0 }, - { 26, 16, 13, 1, 6, 0 }, { 25, 17, 13, 1, 6, 0 }, { 24, 17, 12, 1, 6, 0 }, { 23, 17, 12, 1, 6, 0 }, { 22, 17, 11, 1, 6, 0 }, - { 21, 17, 11, 1, 6, 0 }, { 20, 17, 10, 1, 6, 0 }, { 19, 18, 10, 1, 6, 0 }, { 18, 18, 9, 2, 6, 0 }, { 17, 18, 9, 2, 6, 0 }, - { 16, 19, 9, 2, 6, 0 }, { 15, 19, 8, 2, 6, 0 }, { 14, 19, 8, 2, 6, 0 }, { 13, 20, 7, 2, 6, 0 }, { 12, 20, 7, 2, 6, 0 }, - { 11, 21, 6, 2, 6, 0 }, { 10, 21, 6, 2, 6, 0 }, { 9, 22, 5, 2, 6, 0 }, { 8, 22, 5, 3, 6, 0 }, { 7, 23, 4, 3, 6, 0 }, - { 6, 23, 4, 3, 6, 0 }, { 5, 24, 3, 3, 6, 0 }, { 4, 25, 3, 3, 6, 0 }, { 3, 25, 2, 3, 6, 0 }, { 2, 26, 2, 3, 6, 0 }, - { 1, 27, 1, 3, 6, 0 }, { 0, 28, 1, 3, 6, 0 }, { -1, 29, 0, 4, 6, 0 }, { -3, 29, -1, 4, 6, 0 }, { -4, 30, -1, 4, 6, 0 }, - { -5, 31, -1, 4, 6, 0 }, { -6, 32, -2, 4, 6, 0 }, { -7, 33, -3, 5, 6, 0 }, { -7, 34, -3, 5, 6, 0 }, { -8, 35, -4, 5, 6, 0 }, - { -9, 36, -4, 5, 6, 0 }, { -9, 37, -5, 5, 6, 0 }, { -10, 38, -5, 5, 6, 0 }, { -10, 39, -6, 5, 6, 0 }, { -11, 40, -6, 5, 6, 0 }, - { -11, 41, -7, 5, 6, 0 }, { -12, 42, -7, 6, 6, 0 }, { -12, 43, -8, 6, 6, 0 }, { -13, 44, -8, 6, 6, 0 }, { -13, 45, -9, 6, 6, 0 }, - { -13, 46, -9, 6, 6, 0 }, { -14, 47, -9, 6, 6, 0 }, { -14, 48, -10, 6, 6, 0 }, { -14, 49, -10, 6, 6, 0 }, { -15, 50, -11, 6, 6, 0 }, - { -15, 51, -11, 6, 6, 0 }, { -15, 52, -12, 7, 6, 0 }, { -15, 53, -12, 7, 6, 0 }, { -15, 54, -13, 7, 6, 0 }, { -15, 55, -13, 7, 6, 0 }, - { -16, 56, -13, 7, 6, 0 }, { -16, 57, -14, 7, 6, 0 }, { -16, 58, -14, 7, 6, 0 }, { -16, 59, -15, 7, 6, 0 }, { -16, 60, -15, 8, 6, 0 }, - { -16, 61, -16, 8, 6, 0 }, { -16, 62, -16, 8, 6, 0 }, + 67, { + { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 1, 6, 0 }, + { 26, 16, 13, 1, 6, 0 }, { 25, 17, 13, 1, 6, 0 }, { 24, 17, 12, 1, 6, 0 }, { 23, 17, 12, 1, 6, 0 }, { 22, 17, 11, 1, 6, 0 }, + { 21, 17, 11, 1, 6, 0 }, { 20, 17, 10, 1, 6, 0 }, { 19, 18, 10, 1, 6, 0 }, { 18, 18, 9, 2, 6, 0 }, { 17, 18, 9, 2, 6, 0 }, + { 16, 19, 9, 2, 6, 0 }, { 15, 19, 8, 2, 6, 0 }, { 14, 19, 8, 2, 6, 0 }, { 13, 20, 7, 2, 6, 0 }, { 12, 20, 7, 2, 6, 0 }, + { 11, 21, 6, 2, 6, 0 }, { 10, 21, 6, 2, 6, 0 }, { 9, 22, 5, 2, 6, 0 }, { 8, 22, 5, 3, 6, 0 }, { 7, 23, 4, 3, 6, 0 }, + { 6, 23, 4, 3, 6, 0 }, { 5, 24, 3, 3, 6, 0 }, { 4, 25, 3, 3, 6, 0 }, { 3, 25, 2, 3, 6, 0 }, { 2, 26, 2, 3, 6, 0 }, + { 1, 27, 1, 3, 6, 0 }, { 0, 28, 1, 3, 6, 0 }, { -1, 29, 0, 4, 6, 0 }, { -3, 29, -1, 4, 6, 0 }, { -4, 30, -1, 4, 6, 0 }, + { -5, 31, -1, 4, 6, 0 }, { -6, 32, -2, 4, 6, 0 }, { -7, 33, -3, 5, 6, 0 }, { -7, 34, -3, 5, 6, 0 }, { -8, 35, -4, 5, 6, 0 }, + { -9, 36, -4, 5, 6, 0 }, { -9, 37, -5, 5, 6, 0 }, { -10, 38, -5, 5, 6, 0 }, { -10, 39, -6, 5, 6, 0 }, { -11, 40, -6, 5, 6, 0 }, + { -11, 41, -7, 5, 6, 0 }, { -12, 42, -7, 6, 6, 0 }, { -12, 43, -8, 6, 6, 0 }, { -13, 44, -8, 6, 6, 0 }, { -13, 45, -9, 6, 6, 0 }, + { -13, 46, -9, 6, 6, 0 }, { -14, 47, -9, 6, 6, 0 }, { -14, 48, -10, 6, 6, 0 }, { -14, 49, -10, 6, 6, 0 }, { -15, 50, -11, 6, 6, 0 }, + { -15, 51, -11, 6, 6, 0 }, { -15, 52, -12, 7, 6, 0 }, { -15, 53, -12, 7, 6, 0 }, { -15, 54, -13, 7, 6, 0 }, { -15, 55, -13, 7, 6, 0 }, + { -16, 56, -13, 7, 6, 0 }, { -16, 57, -14, 7, 6, 0 }, { -16, 58, -14, 7, 6, 0 }, { -16, 59, -15, 7, 6, 0 }, { -16, 60, -15, 8, 6, 0 }, + { -16, 61, -16, 8, 6, 0 }, { -16, 62, -16, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E1F83 = { - 68, { - { 16, 0, 15, 8, 6, 0 }, { 16, 1, 15, 8, 6, 0 }, { 16, 2, 15, 8, 6, 0 }, { 16, 3, 14, 8, 6, 0 }, { 16, 4, 14, 8, 6, 0 }, - { 16, 5, 13, 9, 6, 0 }, { 16, 6, 13, 9, 6, 0 }, { 17, 7, 13, 9, 6, 0 }, { 17, 8, 12, 9, 6, 0 }, { 17, 9, 12, 9, 6, 0 }, - { 17, 10, 11, 9, 6, 0 }, { 17, 11, 11, 9, 6, 0 }, { 17, 12, 10, 9, 6, 0 }, { 18, 13, 10, 9, 6, 0 }, { 18, 14, 9, 10, 6, 0 }, - { 18, 15, 9, 10, 6, 0 }, { 19, 16, 9, 10, 6, 0 }, { 19, 17, 8, 10, 6, 0 }, { 19, 18, 8, 10, 6, 0 }, { 20, 19, 7, 10, 6, 0 }, - { 20, 20, 7, 10, 6, 0 }, { 21, 21, 6, 10, 6, 0 }, { 21, 22, 6, 10, 6, 0 }, { 22, 23, 5, 10, 6, 0 }, { 22, 24, 5, 11, 6, 0 }, - { 23, 25, 4, 11, 6, 0 }, { 23, 26, 4, 11, 6, 0 }, { 24, 27, 3, 11, 6, 0 }, { 25, 28, 3, 11, 6, 0 }, { 25, 29, 2, 11, 6, 0 }, - { 26, 30, 2, 11, 6, 0 }, { 27, 31, 1, 11, 6, 0 }, { 28, 32, 1, 11, 6, 0 }, { 29, 33, 0, 12, 6, 0 }, { 29, 35, -1, 12, 6, 0 }, - { 30, 36, -1, 12, 6, 0 }, { 31, 37, -1, 12, 6, 0 }, { 32, 38, -2, 12, 6, 0 }, { 33, 39, -3, 13, 6, 0 }, { 34, 39, -3, 13, 6, 0 }, - { 35, 40, -4, 13, 6, 0 }, { 36, 41, -4, 13, 6, 0 }, { 37, 41, -5, 13, 6, 0 }, { 38, 42, -5, 13, 6, 0 }, { 39, 42, -6, 13, 6, 0 }, - { 40, 43, -6, 13, 6, 0 }, { 41, 43, -7, 13, 6, 0 }, { 42, 44, -7, 14, 6, 0 }, { 43, 44, -8, 14, 6, 0 }, { 44, 45, -8, 14, 6, 0 }, - { 45, 45, -9, 14, 6, 0 }, { 46, 45, -9, 14, 6, 0 }, { 47, 46, -9, 14, 6, 0 }, { 48, 46, -10, 14, 6, 0 }, { 49, 46, -10, 14, 6, 0 }, - { 50, 47, -11, 14, 6, 0 }, { 51, 47, -11, 14, 6, 0 }, { 52, 47, -12, 15, 6, 0 }, { 53, 47, -12, 15, 6, 0 }, { 54, 47, -13, 15, 6, 0 }, - { 55, 47, -13, 15, 6, 0 }, { 56, 48, -13, 15, 6, 0 }, { 57, 48, -14, 15, 6, 0 }, { 58, 48, -14, 15, 6, 0 }, { 59, 48, -15, 15, 6, 0 }, - { 60, 48, -15, 16, 6, 0 }, { 61, 48, -16, 16, 6, 0 }, { 62, 48, -16, 16, 6, 0 }, + 68, { + { 16, 0, 15, 8, 6, 0 }, { 16, 1, 15, 8, 6, 0 }, { 16, 2, 15, 8, 6, 0 }, { 16, 3, 14, 8, 6, 0 }, { 16, 4, 14, 8, 6, 0 }, + { 16, 5, 13, 9, 6, 0 }, { 16, 6, 13, 9, 6, 0 }, { 17, 7, 13, 9, 6, 0 }, { 17, 8, 12, 9, 6, 0 }, { 17, 9, 12, 9, 6, 0 }, + { 17, 10, 11, 9, 6, 0 }, { 17, 11, 11, 9, 6, 0 }, { 17, 12, 10, 9, 6, 0 }, { 18, 13, 10, 9, 6, 0 }, { 18, 14, 9, 10, 6, 0 }, + { 18, 15, 9, 10, 6, 0 }, { 19, 16, 9, 10, 6, 0 }, { 19, 17, 8, 10, 6, 0 }, { 19, 18, 8, 10, 6, 0 }, { 20, 19, 7, 10, 6, 0 }, + { 20, 20, 7, 10, 6, 0 }, { 21, 21, 6, 10, 6, 0 }, { 21, 22, 6, 10, 6, 0 }, { 22, 23, 5, 10, 6, 0 }, { 22, 24, 5, 11, 6, 0 }, + { 23, 25, 4, 11, 6, 0 }, { 23, 26, 4, 11, 6, 0 }, { 24, 27, 3, 11, 6, 0 }, { 25, 28, 3, 11, 6, 0 }, { 25, 29, 2, 11, 6, 0 }, + { 26, 30, 2, 11, 6, 0 }, { 27, 31, 1, 11, 6, 0 }, { 28, 32, 1, 11, 6, 0 }, { 29, 33, 0, 12, 6, 0 }, { 29, 35, -1, 12, 6, 0 }, + { 30, 36, -1, 12, 6, 0 }, { 31, 37, -1, 12, 6, 0 }, { 32, 38, -2, 12, 6, 0 }, { 33, 39, -3, 13, 6, 0 }, { 34, 39, -3, 13, 6, 0 }, + { 35, 40, -4, 13, 6, 0 }, { 36, 41, -4, 13, 6, 0 }, { 37, 41, -5, 13, 6, 0 }, { 38, 42, -5, 13, 6, 0 }, { 39, 42, -6, 13, 6, 0 }, + { 40, 43, -6, 13, 6, 0 }, { 41, 43, -7, 13, 6, 0 }, { 42, 44, -7, 14, 6, 0 }, { 43, 44, -8, 14, 6, 0 }, { 44, 45, -8, 14, 6, 0 }, + { 45, 45, -9, 14, 6, 0 }, { 46, 45, -9, 14, 6, 0 }, { 47, 46, -9, 14, 6, 0 }, { 48, 46, -10, 14, 6, 0 }, { 49, 46, -10, 14, 6, 0 }, + { 50, 47, -11, 14, 6, 0 }, { 51, 47, -11, 14, 6, 0 }, { 52, 47, -12, 15, 6, 0 }, { 53, 47, -12, 15, 6, 0 }, { 54, 47, -13, 15, 6, 0 }, + { 55, 47, -13, 15, 6, 0 }, { 56, 48, -13, 15, 6, 0 }, { 57, 48, -14, 15, 6, 0 }, { 58, 48, -14, 15, 6, 0 }, { 59, 48, -15, 15, 6, 0 }, + { 60, 48, -15, 16, 6, 0 }, { 61, 48, -16, 16, 6, 0 }, { 62, 48, -16, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E21E9 = { - 69, { - { 0, 16, 15, 16, 6, 0 }, { 1, 16, 15, 16, 6, 0 }, { 2, 16, 15, 16, 6, 0 }, { 3, 16, 14, 16, 6, 0 }, { 4, 16, 14, 16, 6, 0 }, - { 5, 16, 13, 17, 6, 0 }, { 6, 16, 13, 17, 6, 0 }, { 7, 15, 13, 17, 6, 0 }, { 8, 15, 12, 17, 6, 0 }, { 9, 15, 12, 17, 6, 0 }, - { 10, 15, 11, 17, 6, 0 }, { 11, 15, 11, 17, 6, 0 }, { 12, 15, 11, 17, 6, 0 }, { 13, 14, 10, 17, 6, 0 }, { 14, 14, 10, 18, 6, 0 }, - { 15, 14, 9, 18, 6, 0 }, { 16, 13, 9, 18, 6, 0 }, { 17, 13, 8, 18, 6, 0 }, { 18, 13, 8, 18, 6, 0 }, { 19, 12, 7, 18, 6, 0 }, - { 20, 12, 7, 18, 6, 0 }, { 21, 11, 6, 18, 6, 0 }, { 22, 11, 6, 18, 6, 0 }, { 23, 10, 5, 18, 6, 0 }, { 24, 10, 5, 19, 6, 0 }, - { 25, 9, 4, 19, 6, 0 }, { 26, 9, 4, 19, 6, 0 }, { 27, 8, 4, 19, 6, 0 }, { 28, 7, 3, 19, 6, 0 }, { 29, 7, 2, 19, 6, 0 }, - { 30, 6, 2, 19, 6, 0 }, { 31, 5, 1, 19, 6, 0 }, { 32, 4, 1, 19, 6, 0 }, { 33, 3, 0, 20, 6, 0 }, { 35, 3, 0, 20, 6, 0 }, - { 36, 2, -1, 20, 6, 0 }, { 37, 1, -1, 20, 6, 0 }, { 38, 0, -2, 20, 6, 0 }, { 39, -1, -2, 21, 6, 0 }, { 39, -2, -3, 21, 6, 0 }, - { 40, -3, -3, 21, 6, 0 }, { 41, -4, -4, 21, 6, 0 }, { 41, -5, -4, 21, 6, 0 }, { 42, -6, -5, 21, 6, 0 }, { 42, -7, -5, 21, 6, 0 }, - { 43, -8, -6, 21, 6, 0 }, { 43, -9, -6, 21, 6, 0 }, { 44, -10, -7, 22, 6, 0 }, { 44, -11, -7, 22, 6, 0 }, { 45, -12, -8, 22, 6, 0 }, - { 45, -13, -8, 22, 6, 0 }, { 45, -14, -9, 22, 6, 0 }, { 46, -15, -9, 22, 6, 0 }, { 46, -16, -10, 22, 6, 0 }, { 46, -17, -10, 22, 6, 0 }, - { 47, -18, -10, 22, 6, 0 }, { 47, -19, -11, 22, 6, 0 }, { 47, -20, -11, 23, 6, 0 }, { 47, -21, -12, 23, 6, 0 }, { 47, -22, -12, 23, 6, 0 }, - { 47, -23, -13, 23, 6, 0 }, { 48, -24, -13, 23, 6, 0 }, { 48, -25, -14, 23, 6, 0 }, { 48, -26, -14, 23, 6, 0 }, { 48, -27, -14, 23, 6, 0 }, - { 48, -28, -15, 24, 6, 0 }, { 48, -29, -15, 24, 6, 0 }, { 48, -30, -16, 24, 6, 0 }, { 48, -31, -16, 24, 6, 0 }, + 69, { + { 0, 16, 15, 16, 6, 0 }, { 1, 16, 15, 16, 6, 0 }, { 2, 16, 15, 16, 6, 0 }, { 3, 16, 14, 16, 6, 0 }, { 4, 16, 14, 16, 6, 0 }, + { 5, 16, 13, 17, 6, 0 }, { 6, 16, 13, 17, 6, 0 }, { 7, 15, 13, 17, 6, 0 }, { 8, 15, 12, 17, 6, 0 }, { 9, 15, 12, 17, 6, 0 }, + { 10, 15, 11, 17, 6, 0 }, { 11, 15, 11, 17, 6, 0 }, { 12, 15, 11, 17, 6, 0 }, { 13, 14, 10, 17, 6, 0 }, { 14, 14, 10, 18, 6, 0 }, + { 15, 14, 9, 18, 6, 0 }, { 16, 13, 9, 18, 6, 0 }, { 17, 13, 8, 18, 6, 0 }, { 18, 13, 8, 18, 6, 0 }, { 19, 12, 7, 18, 6, 0 }, + { 20, 12, 7, 18, 6, 0 }, { 21, 11, 6, 18, 6, 0 }, { 22, 11, 6, 18, 6, 0 }, { 23, 10, 5, 18, 6, 0 }, { 24, 10, 5, 19, 6, 0 }, + { 25, 9, 4, 19, 6, 0 }, { 26, 9, 4, 19, 6, 0 }, { 27, 8, 4, 19, 6, 0 }, { 28, 7, 3, 19, 6, 0 }, { 29, 7, 2, 19, 6, 0 }, + { 30, 6, 2, 19, 6, 0 }, { 31, 5, 1, 19, 6, 0 }, { 32, 4, 1, 19, 6, 0 }, { 33, 3, 0, 20, 6, 0 }, { 35, 3, 0, 20, 6, 0 }, + { 36, 2, -1, 20, 6, 0 }, { 37, 1, -1, 20, 6, 0 }, { 38, 0, -2, 20, 6, 0 }, { 39, -1, -2, 21, 6, 0 }, { 39, -2, -3, 21, 6, 0 }, + { 40, -3, -3, 21, 6, 0 }, { 41, -4, -4, 21, 6, 0 }, { 41, -5, -4, 21, 6, 0 }, { 42, -6, -5, 21, 6, 0 }, { 42, -7, -5, 21, 6, 0 }, + { 43, -8, -6, 21, 6, 0 }, { 43, -9, -6, 21, 6, 0 }, { 44, -10, -7, 22, 6, 0 }, { 44, -11, -7, 22, 6, 0 }, { 45, -12, -8, 22, 6, 0 }, + { 45, -13, -8, 22, 6, 0 }, { 45, -14, -9, 22, 6, 0 }, { 46, -15, -9, 22, 6, 0 }, { 46, -16, -10, 22, 6, 0 }, { 46, -17, -10, 22, 6, 0 }, + { 47, -18, -10, 22, 6, 0 }, { 47, -19, -11, 22, 6, 0 }, { 47, -20, -11, 23, 6, 0 }, { 47, -21, -12, 23, 6, 0 }, { 47, -22, -12, 23, 6, 0 }, + { 47, -23, -13, 23, 6, 0 }, { 48, -24, -13, 23, 6, 0 }, { 48, -25, -14, 23, 6, 0 }, { 48, -26, -14, 23, 6, 0 }, { 48, -27, -14, 23, 6, 0 }, + { 48, -28, -15, 24, 6, 0 }, { 48, -29, -15, 24, 6, 0 }, { 48, -30, -16, 24, 6, 0 }, { 48, -31, -16, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E2458 = { - 68, { - { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 25, 6, 0 }, - { 16, 26, 13, 25, 6, 0 }, { 15, 25, 13, 25, 6, 0 }, { 15, 24, 12, 25, 6, 0 }, { 15, 23, 12, 25, 6, 0 }, { 15, 22, 11, 25, 6, 0 }, - { 15, 21, 11, 25, 6, 0 }, { 15, 20, 11, 25, 6, 0 }, { 14, 19, 10, 25, 6, 0 }, { 14, 18, 10, 26, 6, 0 }, { 14, 17, 9, 26, 6, 0 }, - { 13, 16, 9, 26, 6, 0 }, { 13, 15, 8, 26, 6, 0 }, { 13, 14, 8, 26, 6, 0 }, { 12, 13, 7, 26, 6, 0 }, { 12, 12, 7, 26, 6, 0 }, - { 11, 11, 6, 26, 6, 0 }, { 11, 10, 6, 26, 6, 0 }, { 10, 9, 5, 26, 6, 0 }, { 10, 8, 5, 27, 6, 0 }, { 9, 7, 4, 27, 6, 0 }, - { 9, 6, 4, 27, 6, 0 }, { 8, 5, 4, 27, 6, 0 }, { 7, 4, 3, 27, 6, 0 }, { 7, 3, 2, 27, 6, 0 }, { 6, 2, 2, 27, 6, 0 }, - { 5, 1, 1, 27, 6, 0 }, { 4, 0, 1, 27, 6, 0 }, { 3, -1, 0, 28, 6, 0 }, { 3, -3, 0, 28, 6, 0 }, { 2, -4, -1, 28, 6, 0 }, - { 1, -5, -1, 28, 6, 0 }, { 0, -6, -2, 28, 6, 0 }, { -1, -7, -2, 29, 6, 0 }, { -2, -7, -3, 29, 6, 0 }, { -3, -8, -3, 29, 6, 0 }, - { -4, -9, -4, 29, 6, 0 }, { -5, -9, -4, 29, 6, 0 }, { -6, -10, -5, 29, 6, 0 }, { -7, -10, -5, 29, 6, 0 }, { -8, -11, -6, 29, 6, 0 }, - { -9, -11, -6, 29, 6, 0 }, { -10, -12, -7, 30, 6, 0 }, { -11, -12, -7, 30, 6, 0 }, { -12, -13, -8, 30, 6, 0 }, { -13, -13, -8, 30, 6, 0 }, - { -14, -13, -9, 30, 6, 0 }, { -15, -14, -9, 30, 6, 0 }, { -16, -14, -10, 30, 6, 0 }, { -17, -14, -10, 30, 6, 0 }, { -18, -15, -10, 30, 6, 0 }, - { -19, -15, -11, 30, 6, 0 }, { -20, -15, -11, 31, 6, 0 }, { -21, -15, -12, 31, 6, 0 }, { -22, -15, -12, 31, 6, 0 }, { -23, -15, -13, 31, 6, 0 }, - { -24, -16, -13, 31, 6, 0 }, { -25, -16, -14, 31, 6, 0 }, { -26, -16, -14, 31, 6, 0 }, { -27, -16, -14, 31, 6, 0 }, { -28, -16, -15, 0, 6, 0 }, - { -29, -16, -15, 0, 6, 0 }, { -30, -16, -16, 0, 6, 0 }, { -31, -16, -16, 0, 6, 0 }, + 68, { + { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 25, 6, 0 }, + { 16, 26, 13, 25, 6, 0 }, { 15, 25, 13, 25, 6, 0 }, { 15, 24, 12, 25, 6, 0 }, { 15, 23, 12, 25, 6, 0 }, { 15, 22, 11, 25, 6, 0 }, + { 15, 21, 11, 25, 6, 0 }, { 15, 20, 11, 25, 6, 0 }, { 14, 19, 10, 25, 6, 0 }, { 14, 18, 10, 26, 6, 0 }, { 14, 17, 9, 26, 6, 0 }, + { 13, 16, 9, 26, 6, 0 }, { 13, 15, 8, 26, 6, 0 }, { 13, 14, 8, 26, 6, 0 }, { 12, 13, 7, 26, 6, 0 }, { 12, 12, 7, 26, 6, 0 }, + { 11, 11, 6, 26, 6, 0 }, { 11, 10, 6, 26, 6, 0 }, { 10, 9, 5, 26, 6, 0 }, { 10, 8, 5, 27, 6, 0 }, { 9, 7, 4, 27, 6, 0 }, + { 9, 6, 4, 27, 6, 0 }, { 8, 5, 4, 27, 6, 0 }, { 7, 4, 3, 27, 6, 0 }, { 7, 3, 2, 27, 6, 0 }, { 6, 2, 2, 27, 6, 0 }, + { 5, 1, 1, 27, 6, 0 }, { 4, 0, 1, 27, 6, 0 }, { 3, -1, 0, 28, 6, 0 }, { 3, -3, 0, 28, 6, 0 }, { 2, -4, -1, 28, 6, 0 }, + { 1, -5, -1, 28, 6, 0 }, { 0, -6, -2, 28, 6, 0 }, { -1, -7, -2, 29, 6, 0 }, { -2, -7, -3, 29, 6, 0 }, { -3, -8, -3, 29, 6, 0 }, + { -4, -9, -4, 29, 6, 0 }, { -5, -9, -4, 29, 6, 0 }, { -6, -10, -5, 29, 6, 0 }, { -7, -10, -5, 29, 6, 0 }, { -8, -11, -6, 29, 6, 0 }, + { -9, -11, -6, 29, 6, 0 }, { -10, -12, -7, 30, 6, 0 }, { -11, -12, -7, 30, 6, 0 }, { -12, -13, -8, 30, 6, 0 }, { -13, -13, -8, 30, 6, 0 }, + { -14, -13, -9, 30, 6, 0 }, { -15, -14, -9, 30, 6, 0 }, { -16, -14, -10, 30, 6, 0 }, { -17, -14, -10, 30, 6, 0 }, { -18, -15, -10, 30, 6, 0 }, + { -19, -15, -11, 30, 6, 0 }, { -20, -15, -11, 31, 6, 0 }, { -21, -15, -12, 31, 6, 0 }, { -22, -15, -12, 31, 6, 0 }, { -23, -15, -13, 31, 6, 0 }, + { -24, -16, -13, 31, 6, 0 }, { -25, -16, -14, 31, 6, 0 }, { -26, -16, -14, 31, 6, 0 }, { -27, -16, -14, 31, 6, 0 }, { -28, -16, -15, 0, 6, 0 }, + { -29, -16, -15, 0, 6, 0 }, { -30, -16, -16, 0, 6, 0 }, { -31, -16, -16, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E39EE = { - 22, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 31, 0, 0 }, { 28, 15, 0, 31, 0, 0 }, { 27, 15, 0, 30, 0, 0 }, - { 26, 15, 0, 30, 0, 0 }, { 25, 14, 0, 30, 0, 0 }, { 24, 14, 0, 29, 0, 0 }, { 23, 13, 0, 29, 0, 0 }, { 22, 12, 0, 28, 0, 0 }, - { 21, 11, 0, 28, 0, 0 }, { 20, 10, 0, 28, 0, 0 }, { 19, 9, 0, 27, 0, 0 }, { 18, 8, 0, 27, 0, 0 }, { 18, 7, 0, 26, 0, 0 }, - { 17, 6, 0, 26, 0, 0 }, { 17, 5, 0, 26, 0, 0 }, { 17, 4, 0, 25, 0, 0 }, { 16, 3, 0, 25, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, + 22, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 31, 0, 0 }, { 28, 15, 0, 31, 0, 0 }, { 27, 15, 0, 30, 0, 0 }, + { 26, 15, 0, 30, 0, 0 }, { 25, 14, 0, 30, 0, 0 }, { 24, 14, 0, 29, 0, 0 }, { 23, 13, 0, 29, 0, 0 }, { 22, 12, 0, 28, 0, 0 }, + { 21, 11, 0, 28, 0, 0 }, { 20, 10, 0, 28, 0, 0 }, { 19, 9, 0, 27, 0, 0 }, { 18, 8, 0, 27, 0, 0 }, { 18, 7, 0, 26, 0, 0 }, + { 17, 6, 0, 26, 0, 0 }, { 17, 5, 0, 26, 0, 0 }, { 17, 4, 0, 25, 0, 0 }, { 16, 3, 0, 25, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E3AB6 = { - 23, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 7, 0, 0 }, { 15, 4, 0, 7, 0, 0 }, - { 15, 5, 0, 6, 0, 0 }, { 15, 6, 0, 6, 0, 0 }, { 14, 7, 0, 6, 0, 0 }, { 14, 8, 0, 5, 0, 0 }, { 13, 9, 0, 5, 0, 0 }, - { 12, 10, 0, 4, 0, 0 }, { 11, 11, 0, 4, 0, 0 }, { 10, 12, 0, 4, 0, 0 }, { 9, 13, 0, 3, 0, 0 }, { 8, 14, 0, 3, 0, 0 }, - { 7, 14, 0, 2, 0, 0 }, { 6, 15, 0, 2, 0, 0 }, { 5, 15, 0, 2, 0, 0 }, { 4, 15, 0, 1, 0, 0 }, { 3, 16, 0, 1, 0, 0 }, - { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, + 23, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 7, 0, 0 }, { 15, 4, 0, 7, 0, 0 }, + { 15, 5, 0, 6, 0, 0 }, { 15, 6, 0, 6, 0, 0 }, { 14, 7, 0, 6, 0, 0 }, { 14, 8, 0, 5, 0, 0 }, { 13, 9, 0, 5, 0, 0 }, + { 12, 10, 0, 4, 0, 0 }, { 11, 11, 0, 4, 0, 0 }, { 10, 12, 0, 4, 0, 0 }, { 9, 13, 0, 3, 0, 0 }, { 8, 14, 0, 3, 0, 0 }, + { 7, 14, 0, 2, 0, 0 }, { 6, 15, 0, 2, 0, 0 }, { 5, 15, 0, 2, 0, 0 }, { 4, 15, 0, 1, 0, 0 }, { 3, 16, 0, 1, 0, 0 }, + { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E3B87 = { - 22, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 15, 0, 0 }, { 4, 17, 0, 15, 0, 0 }, - { 5, 17, 0, 14, 0, 0 }, { 6, 17, 0, 14, 0, 0 }, { 7, 18, 0, 14, 0, 0 }, { 8, 18, 0, 13, 0, 0 }, { 9, 19, 0, 13, 0, 0 }, - { 10, 20, 0, 12, 0, 0 }, { 11, 21, 0, 12, 0, 0 }, { 12, 22, 0, 12, 0, 0 }, { 13, 23, 0, 11, 0, 0 }, { 14, 24, 0, 11, 0, 0 }, - { 14, 25, 0, 10, 0, 0 }, { 15, 26, 0, 10, 0, 0 }, { 15, 27, 0, 10, 0, 0 }, { 15, 28, 0, 9, 0, 0 }, { 16, 29, 0, 9, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, + 22, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 15, 0, 0 }, { 4, 17, 0, 15, 0, 0 }, + { 5, 17, 0, 14, 0, 0 }, { 6, 17, 0, 14, 0, 0 }, { 7, 18, 0, 14, 0, 0 }, { 8, 18, 0, 13, 0, 0 }, { 9, 19, 0, 13, 0, 0 }, + { 10, 20, 0, 12, 0, 0 }, { 11, 21, 0, 12, 0, 0 }, { 12, 22, 0, 12, 0, 0 }, { 13, 23, 0, 11, 0, 0 }, { 14, 24, 0, 11, 0, 0 }, + { 14, 25, 0, 10, 0, 0 }, { 15, 26, 0, 10, 0, 0 }, { 15, 27, 0, 10, 0, 0 }, { 15, 28, 0, 9, 0, 0 }, { 16, 29, 0, 9, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E3C4F = { - 21, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 23, 0, 0 }, { 17, 28, 0, 23, 0, 0 }, { 17, 27, 0, 22, 0, 0 }, - { 17, 26, 0, 22, 0, 0 }, { 18, 25, 0, 22, 0, 0 }, { 18, 24, 0, 21, 0, 0 }, { 19, 23, 0, 21, 0, 0 }, { 20, 22, 0, 20, 0, 0 }, - { 21, 21, 0, 20, 0, 0 }, { 22, 20, 0, 20, 0, 0 }, { 23, 19, 0, 19, 0, 0 }, { 24, 18, 0, 19, 0, 0 }, { 25, 18, 0, 18, 0, 0 }, - { 26, 17, 0, 18, 0, 0 }, { 27, 17, 0, 18, 0, 0 }, { 28, 17, 0, 17, 0, 0 }, { 29, 16, 0, 17, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, - { 31, 16, 0, 16, 0, 0 }, + 21, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 23, 0, 0 }, { 17, 28, 0, 23, 0, 0 }, { 17, 27, 0, 22, 0, 0 }, + { 17, 26, 0, 22, 0, 0 }, { 18, 25, 0, 22, 0, 0 }, { 18, 24, 0, 21, 0, 0 }, { 19, 23, 0, 21, 0, 0 }, { 20, 22, 0, 20, 0, 0 }, + { 21, 21, 0, 20, 0, 0 }, { 22, 20, 0, 20, 0, 0 }, { 23, 19, 0, 19, 0, 0 }, { 24, 18, 0, 19, 0, 0 }, { 25, 18, 0, 18, 0, 0 }, + { 26, 17, 0, 18, 0, 0 }, { 27, 17, 0, 18, 0, 0 }, { 28, 17, 0, 17, 0, 0 }, { 29, 16, 0, 17, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, + { 31, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E3D0E = { - 21, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 1, 0, 0 }, { 28, 17, 0, 1, 0, 0 }, { 27, 17, 0, 2, 0, 0 }, - { 26, 17, 0, 2, 0, 0 }, { 25, 18, 0, 2, 0, 0 }, { 24, 18, 0, 3, 0, 0 }, { 23, 19, 0, 3, 0, 0 }, { 22, 20, 0, 4, 0, 0 }, - { 21, 21, 0, 4, 0, 0 }, { 20, 22, 0, 4, 0, 0 }, { 19, 23, 0, 5, 0, 0 }, { 18, 24, 0, 5, 0, 0 }, { 18, 25, 0, 6, 0, 0 }, - { 17, 26, 0, 6, 0, 0 }, { 17, 27, 0, 6, 0, 0 }, { 17, 28, 0, 7, 0, 0 }, { 16, 29, 0, 7, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, - { 16, 31, 0, 8, 0, 0 }, + 21, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 1, 0, 0 }, { 28, 17, 0, 1, 0, 0 }, { 27, 17, 0, 2, 0, 0 }, + { 26, 17, 0, 2, 0, 0 }, { 25, 18, 0, 2, 0, 0 }, { 24, 18, 0, 3, 0, 0 }, { 23, 19, 0, 3, 0, 0 }, { 22, 20, 0, 4, 0, 0 }, + { 21, 21, 0, 4, 0, 0 }, { 20, 22, 0, 4, 0, 0 }, { 19, 23, 0, 5, 0, 0 }, { 18, 24, 0, 5, 0, 0 }, { 18, 25, 0, 6, 0, 0 }, + { 17, 26, 0, 6, 0, 0 }, { 17, 27, 0, 6, 0, 0 }, { 17, 28, 0, 7, 0, 0 }, { 16, 29, 0, 7, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, + { 16, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E3DCD = { - 22, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 9, 0, 0 }, { 17, 4, 0, 9, 0, 0 }, - { 17, 5, 0, 10, 0, 0 }, { 17, 6, 0, 10, 0, 0 }, { 18, 7, 0, 10, 0, 0 }, { 18, 8, 0, 11, 0, 0 }, { 19, 9, 0, 11, 0, 0 }, - { 20, 10, 0, 12, 0, 0 }, { 21, 11, 0, 12, 0, 0 }, { 22, 12, 0, 12, 0, 0 }, { 23, 13, 0, 13, 0, 0 }, { 24, 14, 0, 13, 0, 0 }, - { 25, 14, 0, 14, 0, 0 }, { 26, 15, 0, 14, 0, 0 }, { 27, 15, 0, 14, 0, 0 }, { 28, 15, 0, 15, 0, 0 }, { 29, 16, 0, 15, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, + 22, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 9, 0, 0 }, { 17, 4, 0, 9, 0, 0 }, + { 17, 5, 0, 10, 0, 0 }, { 17, 6, 0, 10, 0, 0 }, { 18, 7, 0, 10, 0, 0 }, { 18, 8, 0, 11, 0, 0 }, { 19, 9, 0, 11, 0, 0 }, + { 20, 10, 0, 12, 0, 0 }, { 21, 11, 0, 12, 0, 0 }, { 22, 12, 0, 12, 0, 0 }, { 23, 13, 0, 13, 0, 0 }, { 24, 14, 0, 13, 0, 0 }, + { 25, 14, 0, 14, 0, 0 }, { 26, 15, 0, 14, 0, 0 }, { 27, 15, 0, 14, 0, 0 }, { 28, 15, 0, 15, 0, 0 }, { 29, 16, 0, 15, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E3E95 = { - 23, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 17, 0, 0 }, { 4, 15, 0, 17, 0, 0 }, - { 5, 15, 0, 18, 0, 0 }, { 6, 15, 0, 18, 0, 0 }, { 7, 14, 0, 18, 0, 0 }, { 8, 14, 0, 19, 0, 0 }, { 9, 13, 0, 19, 0, 0 }, - { 10, 12, 0, 20, 0, 0 }, { 11, 11, 0, 20, 0, 0 }, { 12, 10, 0, 20, 0, 0 }, { 13, 9, 0, 21, 0, 0 }, { 14, 8, 0, 21, 0, 0 }, - { 14, 7, 0, 22, 0, 0 }, { 15, 6, 0, 22, 0, 0 }, { 15, 5, 0, 22, 0, 0 }, { 15, 4, 0, 23, 0, 0 }, { 16, 3, 0, 23, 0, 0 }, - { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, + 23, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 17, 0, 0 }, { 4, 15, 0, 17, 0, 0 }, + { 5, 15, 0, 18, 0, 0 }, { 6, 15, 0, 18, 0, 0 }, { 7, 14, 0, 18, 0, 0 }, { 8, 14, 0, 19, 0, 0 }, { 9, 13, 0, 19, 0, 0 }, + { 10, 12, 0, 20, 0, 0 }, { 11, 11, 0, 20, 0, 0 }, { 12, 10, 0, 20, 0, 0 }, { 13, 9, 0, 21, 0, 0 }, { 14, 8, 0, 21, 0, 0 }, + { 14, 7, 0, 22, 0, 0 }, { 15, 6, 0, 22, 0, 0 }, { 15, 5, 0, 22, 0, 0 }, { 15, 4, 0, 23, 0, 0 }, { 16, 3, 0, 23, 0, 0 }, + { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E3F66 = { - 22, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 25, 0, 0 }, { 15, 28, 0, 25, 0, 0 }, { 15, 27, 0, 26, 0, 0 }, - { 15, 26, 0, 26, 0, 0 }, { 14, 25, 0, 26, 0, 0 }, { 14, 24, 0, 27, 0, 0 }, { 13, 23, 0, 27, 0, 0 }, { 12, 22, 0, 28, 0, 0 }, - { 11, 21, 0, 28, 0, 0 }, { 10, 20, 0, 28, 0, 0 }, { 9, 19, 0, 29, 0, 0 }, { 8, 18, 0, 29, 0, 0 }, { 7, 18, 0, 30, 0, 0 }, - { 6, 17, 0, 30, 0, 0 }, { 5, 17, 0, 30, 0, 0 }, { 4, 17, 0, 31, 0, 0 }, { 3, 16, 0, 31, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, + 22, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 25, 0, 0 }, { 15, 28, 0, 25, 0, 0 }, { 15, 27, 0, 26, 0, 0 }, + { 15, 26, 0, 26, 0, 0 }, { 14, 25, 0, 26, 0, 0 }, { 14, 24, 0, 27, 0, 0 }, { 13, 23, 0, 27, 0, 0 }, { 12, 22, 0, 28, 0, 0 }, + { 11, 21, 0, 28, 0, 0 }, { 10, 20, 0, 28, 0, 0 }, { 9, 19, 0, 29, 0, 0 }, { 8, 18, 0, 29, 0, 0 }, { 7, 18, 0, 30, 0, 0 }, + { 6, 17, 0, 30, 0, 0 }, { 5, 17, 0, 30, 0, 0 }, { 4, 17, 0, 31, 0, 0 }, { 3, 16, 0, 31, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D9BFE = { - 96, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 1 }, { 25, 16, 0, 0, 0, 1 }, { 24, 16, 0, 0, 0, 1 }, { 23, 16, 0, 0, 0, 1 }, { 22, 16, 0, 0, 0, 1 }, - { 21, 16, 0, 0, 0, 1 }, { 20, 16, 0, 0, 0, 1 }, { 19, 16, 0, 0, 0, 1 }, { 18, 16, 0, 0, 0, 1 }, { 17, 16, 0, 0, 0, 1 }, - { 16, 16, 0, 0, 0, 1 }, { 15, 16, 0, 0, 0, 1 }, { 14, 16, 0, 0, 0, 1 }, { 13, 16, 0, 0, 0, 2 }, { 12, 16, 0, 0, 0, 2 }, - { 11, 16, 0, 0, 0, 2 }, { 10, 16, 0, 0, 0, 2 }, { 9, 16, 0, 0, 0, 2 }, { 8, 16, 0, 0, 0, 2 }, { 7, 16, 0, 0, 0, 2 }, - { 6, 16, 0, 0, 0, 2 }, { 5, 16, 0, 0, 0, 2 }, { 4, 16, 0, 0, 0, 2 }, { 3, 16, 0, 0, 0, 2 }, { 2, 16, 0, 0, 0, 5 }, - { 1, 16, 0, 0, 0, 5 }, { 0, 16, 0, 0, 0, 5 }, { -1, 16, 0, 0, 0, 5 }, { -2, 16, 0, 0, 0, 5 }, { -3, 16, 0, 0, 0, 5 }, - { -4, 16, 0, 0, 0, 5 }, { -5, 16, 0, 0, 0, 5 }, { -6, 16, 0, 0, 0, 5 }, { -7, 16, 0, 0, 0, 5 }, { -8, 16, 0, 0, 0, 5 }, - { -9, 16, 0, 0, 0, 5 }, { -10, 16, 0, 0, 0, 5 }, { -11, 16, 0, 0, 0, 6 }, { -12, 16, 0, 0, 0, 6 }, { -13, 16, 0, 0, 0, 6 }, - { -14, 16, 0, 0, 0, 6 }, { -15, 16, 0, 0, 0, 6 }, { -16, 16, 0, 0, 0, 6 }, { -17, 16, 0, 0, 0, 6 }, { -18, 16, 0, 0, 0, 6 }, - { -19, 16, 0, 0, 0, 6 }, { -20, 16, 0, 0, 0, 6 }, { -21, 16, 0, 0, 0, 6 }, { -22, 16, 0, 0, 0, 7 }, { -23, 16, 0, 0, 0, 7 }, - { -24, 16, 0, 0, 0, 7 }, { -25, 16, 0, 0, 0, 7 }, { -26, 16, 0, 0, 0, 7 }, { -27, 16, 0, 0, 0, 7 }, { -28, 16, 0, 0, 0, 7 }, - { -29, 16, 0, 0, 0, 7 }, { -30, 16, 0, 0, 0, 7 }, { -31, 16, 0, 0, 0, 7 }, { -32, 16, 0, 0, 0, 7 }, { -33, 16, 0, 0, 0, 7 }, - { -34, 16, 0, 0, 0, 7 }, { -35, 16, 0, 0, 0, 8 }, { -36, 16, 0, 0, 0, 8 }, { -37, 16, 0, 0, 0, 8 }, { -38, 16, 0, 0, 0, 8 }, - { -39, 16, 0, 0, 0, 8 }, { -40, 16, 0, 0, 0, 8 }, { -41, 16, 0, 0, 0, 8 }, { -42, 16, 0, 0, 0, 8 }, { -43, 16, 0, 0, 0, 8 }, - { -44, 16, 0, 0, 0, 8 }, { -45, 16, 0, 0, 0, 8 }, { -46, 16, 0, 0, 0, 9 }, { -47, 16, 0, 0, 0, 9 }, { -48, 16, 0, 0, 0, 9 }, - { -49, 16, 0, 0, 0, 9 }, { -50, 16, 0, 0, 0, 9 }, { -51, 16, 0, 0, 0, 9 }, { -52, 16, 0, 0, 0, 9 }, { -53, 16, 0, 0, 0, 9 }, - { -54, 16, 0, 0, 0, 9 }, { -55, 16, 0, 0, 0, 9 }, { -56, 16, 0, 0, 0, 9 }, { -57, 16, 0, 0, 0, 9 }, { -58, 16, 0, 0, 0, 9 }, - { -59, 16, 0, 16, 16, 0 }, { -60, 16, 0, 16, 16, 0 }, { -61, 16, 0, 16, 16, 0 }, { -62, 16, 0, 16, 16, 0 }, { -63, 16, 0, 16, 16, 0 }, - { -64, 16, 0, 16, 16, 0 }, + 96, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 1 }, { 25, 16, 0, 0, 0, 1 }, { 24, 16, 0, 0, 0, 1 }, { 23, 16, 0, 0, 0, 1 }, { 22, 16, 0, 0, 0, 1 }, + { 21, 16, 0, 0, 0, 1 }, { 20, 16, 0, 0, 0, 1 }, { 19, 16, 0, 0, 0, 1 }, { 18, 16, 0, 0, 0, 1 }, { 17, 16, 0, 0, 0, 1 }, + { 16, 16, 0, 0, 0, 1 }, { 15, 16, 0, 0, 0, 1 }, { 14, 16, 0, 0, 0, 1 }, { 13, 16, 0, 0, 0, 2 }, { 12, 16, 0, 0, 0, 2 }, + { 11, 16, 0, 0, 0, 2 }, { 10, 16, 0, 0, 0, 2 }, { 9, 16, 0, 0, 0, 2 }, { 8, 16, 0, 0, 0, 2 }, { 7, 16, 0, 0, 0, 2 }, + { 6, 16, 0, 0, 0, 2 }, { 5, 16, 0, 0, 0, 2 }, { 4, 16, 0, 0, 0, 2 }, { 3, 16, 0, 0, 0, 2 }, { 2, 16, 0, 0, 0, 5 }, + { 1, 16, 0, 0, 0, 5 }, { 0, 16, 0, 0, 0, 5 }, { -1, 16, 0, 0, 0, 5 }, { -2, 16, 0, 0, 0, 5 }, { -3, 16, 0, 0, 0, 5 }, + { -4, 16, 0, 0, 0, 5 }, { -5, 16, 0, 0, 0, 5 }, { -6, 16, 0, 0, 0, 5 }, { -7, 16, 0, 0, 0, 5 }, { -8, 16, 0, 0, 0, 5 }, + { -9, 16, 0, 0, 0, 5 }, { -10, 16, 0, 0, 0, 5 }, { -11, 16, 0, 0, 0, 6 }, { -12, 16, 0, 0, 0, 6 }, { -13, 16, 0, 0, 0, 6 }, + { -14, 16, 0, 0, 0, 6 }, { -15, 16, 0, 0, 0, 6 }, { -16, 16, 0, 0, 0, 6 }, { -17, 16, 0, 0, 0, 6 }, { -18, 16, 0, 0, 0, 6 }, + { -19, 16, 0, 0, 0, 6 }, { -20, 16, 0, 0, 0, 6 }, { -21, 16, 0, 0, 0, 6 }, { -22, 16, 0, 0, 0, 7 }, { -23, 16, 0, 0, 0, 7 }, + { -24, 16, 0, 0, 0, 7 }, { -25, 16, 0, 0, 0, 7 }, { -26, 16, 0, 0, 0, 7 }, { -27, 16, 0, 0, 0, 7 }, { -28, 16, 0, 0, 0, 7 }, + { -29, 16, 0, 0, 0, 7 }, { -30, 16, 0, 0, 0, 7 }, { -31, 16, 0, 0, 0, 7 }, { -32, 16, 0, 0, 0, 7 }, { -33, 16, 0, 0, 0, 7 }, + { -34, 16, 0, 0, 0, 7 }, { -35, 16, 0, 0, 0, 8 }, { -36, 16, 0, 0, 0, 8 }, { -37, 16, 0, 0, 0, 8 }, { -38, 16, 0, 0, 0, 8 }, + { -39, 16, 0, 0, 0, 8 }, { -40, 16, 0, 0, 0, 8 }, { -41, 16, 0, 0, 0, 8 }, { -42, 16, 0, 0, 0, 8 }, { -43, 16, 0, 0, 0, 8 }, + { -44, 16, 0, 0, 0, 8 }, { -45, 16, 0, 0, 0, 8 }, { -46, 16, 0, 0, 0, 9 }, { -47, 16, 0, 0, 0, 9 }, { -48, 16, 0, 0, 0, 9 }, + { -49, 16, 0, 0, 0, 9 }, { -50, 16, 0, 0, 0, 9 }, { -51, 16, 0, 0, 0, 9 }, { -52, 16, 0, 0, 0, 9 }, { -53, 16, 0, 0, 0, 9 }, + { -54, 16, 0, 0, 0, 9 }, { -55, 16, 0, 0, 0, 9 }, { -56, 16, 0, 0, 0, 9 }, { -57, 16, 0, 0, 0, 9 }, { -58, 16, 0, 0, 0, 9 }, + { -59, 16, 0, 16, 16, 0 }, { -60, 16, 0, 16, 16, 0 }, { -61, 16, 0, 16, 16, 0 }, { -62, 16, 0, 16, 16, 0 }, { -63, 16, 0, 16, 16, 0 }, + { -64, 16, 0, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D9F60 = { - 96, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 1 }, { 16, 6, 0, 8, 0, 1 }, { 16, 7, 0, 8, 0, 1 }, { 16, 8, 0, 8, 0, 1 }, { 16, 9, 0, 8, 0, 1 }, - { 16, 10, 0, 8, 0, 1 }, { 16, 11, 0, 8, 0, 1 }, { 16, 12, 0, 8, 0, 1 }, { 16, 13, 0, 8, 0, 1 }, { 16, 14, 0, 8, 0, 1 }, - { 16, 15, 0, 8, 0, 1 }, { 16, 16, 0, 8, 0, 1 }, { 16, 17, 0, 8, 0, 1 }, { 16, 18, 0, 8, 0, 2 }, { 16, 19, 0, 8, 0, 2 }, - { 16, 20, 0, 8, 0, 2 }, { 16, 21, 0, 8, 0, 2 }, { 16, 22, 0, 8, 0, 2 }, { 16, 23, 0, 8, 0, 2 }, { 16, 24, 0, 8, 0, 2 }, - { 16, 25, 0, 8, 0, 2 }, { 16, 26, 0, 8, 0, 2 }, { 16, 27, 0, 8, 0, 2 }, { 16, 28, 0, 8, 0, 2 }, { 16, 29, 0, 8, 0, 5 }, - { 16, 30, 0, 8, 0, 5 }, { 16, 31, 0, 8, 0, 5 }, { 16, 32, 0, 8, 0, 5 }, { 16, 33, 0, 8, 0, 5 }, { 16, 34, 0, 8, 0, 5 }, - { 16, 35, 0, 8, 0, 5 }, { 16, 36, 0, 8, 0, 5 }, { 16, 37, 0, 8, 0, 5 }, { 16, 38, 0, 8, 0, 5 }, { 16, 39, 0, 8, 0, 5 }, - { 16, 40, 0, 8, 0, 5 }, { 16, 41, 0, 8, 0, 5 }, { 16, 42, 0, 8, 0, 6 }, { 16, 43, 0, 8, 0, 6 }, { 16, 44, 0, 8, 0, 6 }, - { 16, 45, 0, 8, 0, 6 }, { 16, 46, 0, 8, 0, 6 }, { 16, 47, 0, 8, 0, 6 }, { 16, 48, 0, 8, 0, 6 }, { 16, 49, 0, 8, 0, 6 }, - { 16, 50, 0, 8, 0, 6 }, { 16, 51, 0, 8, 0, 6 }, { 16, 52, 0, 8, 0, 6 }, { 16, 53, 0, 8, 0, 7 }, { 16, 54, 0, 8, 0, 7 }, - { 16, 55, 0, 8, 0, 7 }, { 16, 56, 0, 8, 0, 7 }, { 16, 57, 0, 8, 0, 7 }, { 16, 58, 0, 8, 0, 7 }, { 16, 59, 0, 8, 0, 7 }, - { 16, 60, 0, 8, 0, 7 }, { 16, 61, 0, 8, 0, 7 }, { 16, 62, 0, 8, 0, 7 }, { 16, 63, 0, 8, 0, 7 }, { 16, 64, 0, 8, 0, 7 }, - { 16, 65, 0, 8, 0, 7 }, { 16, 66, 0, 8, 0, 8 }, { 16, 67, 0, 8, 0, 8 }, { 16, 68, 0, 8, 0, 8 }, { 16, 69, 0, 8, 0, 8 }, - { 16, 70, 0, 8, 0, 8 }, { 16, 71, 0, 8, 0, 8 }, { 16, 72, 0, 8, 0, 8 }, { 16, 73, 0, 8, 0, 8 }, { 16, 74, 0, 8, 0, 8 }, - { 16, 75, 0, 8, 0, 8 }, { 16, 76, 0, 8, 0, 8 }, { 16, 77, 0, 8, 0, 9 }, { 16, 78, 0, 8, 0, 9 }, { 16, 79, 0, 8, 0, 9 }, - { 16, 80, 0, 8, 0, 9 }, { 16, 81, 0, 8, 0, 9 }, { 16, 82, 0, 8, 0, 9 }, { 16, 83, 0, 8, 0, 9 }, { 16, 84, 0, 8, 0, 9 }, - { 16, 85, 0, 8, 0, 9 }, { 16, 86, 0, 8, 0, 9 }, { 16, 87, 0, 8, 0, 9 }, { 16, 88, 0, 8, 0, 9 }, { 16, 89, 0, 8, 0, 9 }, - { 16, 90, 0, 24, 16, 0 }, { 16, 91, 0, 24, 16, 0 }, { 16, 92, 0, 24, 16, 0 }, { 16, 93, 0, 24, 16, 0 }, { 16, 94, 0, 24, 16, 0 }, - { 16, 95, 0, 24, 16, 0 }, + 96, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 1 }, { 16, 6, 0, 8, 0, 1 }, { 16, 7, 0, 8, 0, 1 }, { 16, 8, 0, 8, 0, 1 }, { 16, 9, 0, 8, 0, 1 }, + { 16, 10, 0, 8, 0, 1 }, { 16, 11, 0, 8, 0, 1 }, { 16, 12, 0, 8, 0, 1 }, { 16, 13, 0, 8, 0, 1 }, { 16, 14, 0, 8, 0, 1 }, + { 16, 15, 0, 8, 0, 1 }, { 16, 16, 0, 8, 0, 1 }, { 16, 17, 0, 8, 0, 1 }, { 16, 18, 0, 8, 0, 2 }, { 16, 19, 0, 8, 0, 2 }, + { 16, 20, 0, 8, 0, 2 }, { 16, 21, 0, 8, 0, 2 }, { 16, 22, 0, 8, 0, 2 }, { 16, 23, 0, 8, 0, 2 }, { 16, 24, 0, 8, 0, 2 }, + { 16, 25, 0, 8, 0, 2 }, { 16, 26, 0, 8, 0, 2 }, { 16, 27, 0, 8, 0, 2 }, { 16, 28, 0, 8, 0, 2 }, { 16, 29, 0, 8, 0, 5 }, + { 16, 30, 0, 8, 0, 5 }, { 16, 31, 0, 8, 0, 5 }, { 16, 32, 0, 8, 0, 5 }, { 16, 33, 0, 8, 0, 5 }, { 16, 34, 0, 8, 0, 5 }, + { 16, 35, 0, 8, 0, 5 }, { 16, 36, 0, 8, 0, 5 }, { 16, 37, 0, 8, 0, 5 }, { 16, 38, 0, 8, 0, 5 }, { 16, 39, 0, 8, 0, 5 }, + { 16, 40, 0, 8, 0, 5 }, { 16, 41, 0, 8, 0, 5 }, { 16, 42, 0, 8, 0, 6 }, { 16, 43, 0, 8, 0, 6 }, { 16, 44, 0, 8, 0, 6 }, + { 16, 45, 0, 8, 0, 6 }, { 16, 46, 0, 8, 0, 6 }, { 16, 47, 0, 8, 0, 6 }, { 16, 48, 0, 8, 0, 6 }, { 16, 49, 0, 8, 0, 6 }, + { 16, 50, 0, 8, 0, 6 }, { 16, 51, 0, 8, 0, 6 }, { 16, 52, 0, 8, 0, 6 }, { 16, 53, 0, 8, 0, 7 }, { 16, 54, 0, 8, 0, 7 }, + { 16, 55, 0, 8, 0, 7 }, { 16, 56, 0, 8, 0, 7 }, { 16, 57, 0, 8, 0, 7 }, { 16, 58, 0, 8, 0, 7 }, { 16, 59, 0, 8, 0, 7 }, + { 16, 60, 0, 8, 0, 7 }, { 16, 61, 0, 8, 0, 7 }, { 16, 62, 0, 8, 0, 7 }, { 16, 63, 0, 8, 0, 7 }, { 16, 64, 0, 8, 0, 7 }, + { 16, 65, 0, 8, 0, 7 }, { 16, 66, 0, 8, 0, 8 }, { 16, 67, 0, 8, 0, 8 }, { 16, 68, 0, 8, 0, 8 }, { 16, 69, 0, 8, 0, 8 }, + { 16, 70, 0, 8, 0, 8 }, { 16, 71, 0, 8, 0, 8 }, { 16, 72, 0, 8, 0, 8 }, { 16, 73, 0, 8, 0, 8 }, { 16, 74, 0, 8, 0, 8 }, + { 16, 75, 0, 8, 0, 8 }, { 16, 76, 0, 8, 0, 8 }, { 16, 77, 0, 8, 0, 9 }, { 16, 78, 0, 8, 0, 9 }, { 16, 79, 0, 8, 0, 9 }, + { 16, 80, 0, 8, 0, 9 }, { 16, 81, 0, 8, 0, 9 }, { 16, 82, 0, 8, 0, 9 }, { 16, 83, 0, 8, 0, 9 }, { 16, 84, 0, 8, 0, 9 }, + { 16, 85, 0, 8, 0, 9 }, { 16, 86, 0, 8, 0, 9 }, { 16, 87, 0, 8, 0, 9 }, { 16, 88, 0, 8, 0, 9 }, { 16, 89, 0, 8, 0, 9 }, + { 16, 90, 0, 24, 16, 0 }, { 16, 91, 0, 24, 16, 0 }, { 16, 92, 0, 24, 16, 0 }, { 16, 93, 0, 24, 16, 0 }, { 16, 94, 0, 24, 16, 0 }, + { 16, 95, 0, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DA2C2 = { - 96, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 1 }, { 6, 16, 0, 16, 0, 1 }, { 7, 16, 0, 16, 0, 1 }, { 8, 16, 0, 16, 0, 1 }, { 9, 16, 0, 16, 0, 1 }, - { 10, 16, 0, 16, 0, 1 }, { 11, 16, 0, 16, 0, 1 }, { 12, 16, 0, 16, 0, 1 }, { 13, 16, 0, 16, 0, 1 }, { 14, 16, 0, 16, 0, 1 }, - { 15, 16, 0, 16, 0, 1 }, { 16, 16, 0, 16, 0, 1 }, { 17, 16, 0, 16, 0, 1 }, { 18, 16, 0, 16, 0, 2 }, { 19, 16, 0, 16, 0, 2 }, - { 20, 16, 0, 16, 0, 2 }, { 21, 16, 0, 16, 0, 2 }, { 22, 16, 0, 16, 0, 2 }, { 23, 16, 0, 16, 0, 2 }, { 24, 16, 0, 16, 0, 2 }, - { 25, 16, 0, 16, 0, 2 }, { 26, 16, 0, 16, 0, 2 }, { 27, 16, 0, 16, 0, 2 }, { 28, 16, 0, 16, 0, 2 }, { 29, 16, 0, 16, 0, 5 }, - { 30, 16, 0, 16, 0, 5 }, { 31, 16, 0, 16, 0, 5 }, { 32, 16, 0, 16, 0, 5 }, { 33, 16, 0, 16, 0, 5 }, { 34, 16, 0, 16, 0, 5 }, - { 35, 16, 0, 16, 0, 5 }, { 36, 16, 0, 16, 0, 5 }, { 37, 16, 0, 16, 0, 5 }, { 38, 16, 0, 16, 0, 5 }, { 39, 16, 0, 16, 0, 5 }, - { 40, 16, 0, 16, 0, 5 }, { 41, 16, 0, 16, 0, 5 }, { 42, 16, 0, 16, 0, 6 }, { 43, 16, 0, 16, 0, 6 }, { 44, 16, 0, 16, 0, 6 }, - { 45, 16, 0, 16, 0, 6 }, { 46, 16, 0, 16, 0, 6 }, { 47, 16, 0, 16, 0, 6 }, { 48, 16, 0, 16, 0, 6 }, { 49, 16, 0, 16, 0, 6 }, - { 50, 16, 0, 16, 0, 6 }, { 51, 16, 0, 16, 0, 6 }, { 52, 16, 0, 16, 0, 6 }, { 53, 16, 0, 16, 0, 7 }, { 54, 16, 0, 16, 0, 7 }, - { 55, 16, 0, 16, 0, 7 }, { 56, 16, 0, 16, 0, 7 }, { 57, 16, 0, 16, 0, 7 }, { 58, 16, 0, 16, 0, 7 }, { 59, 16, 0, 16, 0, 7 }, - { 60, 16, 0, 16, 0, 7 }, { 61, 16, 0, 16, 0, 7 }, { 62, 16, 0, 16, 0, 7 }, { 63, 16, 0, 16, 0, 7 }, { 64, 16, 0, 16, 0, 7 }, - { 65, 16, 0, 16, 0, 7 }, { 66, 16, 0, 16, 0, 8 }, { 67, 16, 0, 16, 0, 8 }, { 68, 16, 0, 16, 0, 8 }, { 69, 16, 0, 16, 0, 8 }, - { 70, 16, 0, 16, 0, 8 }, { 71, 16, 0, 16, 0, 8 }, { 72, 16, 0, 16, 0, 8 }, { 73, 16, 0, 16, 0, 8 }, { 74, 16, 0, 16, 0, 8 }, - { 75, 16, 0, 16, 0, 8 }, { 76, 16, 0, 16, 0, 8 }, { 77, 16, 0, 16, 0, 9 }, { 78, 16, 0, 16, 0, 9 }, { 79, 16, 0, 16, 0, 9 }, - { 80, 16, 0, 16, 0, 9 }, { 81, 16, 0, 16, 0, 9 }, { 82, 16, 0, 16, 0, 9 }, { 83, 16, 0, 16, 0, 9 }, { 84, 16, 0, 16, 0, 9 }, - { 85, 16, 0, 16, 0, 9 }, { 86, 16, 0, 16, 0, 9 }, { 87, 16, 0, 16, 0, 9 }, { 88, 16, 0, 16, 0, 9 }, { 89, 16, 0, 16, 0, 9 }, - { 90, 16, 0, 0, 16, 0 }, { 91, 16, 0, 0, 16, 0 }, { 92, 16, 0, 0, 16, 0 }, { 93, 16, 0, 0, 16, 0 }, { 94, 16, 0, 0, 16, 0 }, - { 95, 16, 0, 0, 16, 0 }, + 96, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 1 }, { 6, 16, 0, 16, 0, 1 }, { 7, 16, 0, 16, 0, 1 }, { 8, 16, 0, 16, 0, 1 }, { 9, 16, 0, 16, 0, 1 }, + { 10, 16, 0, 16, 0, 1 }, { 11, 16, 0, 16, 0, 1 }, { 12, 16, 0, 16, 0, 1 }, { 13, 16, 0, 16, 0, 1 }, { 14, 16, 0, 16, 0, 1 }, + { 15, 16, 0, 16, 0, 1 }, { 16, 16, 0, 16, 0, 1 }, { 17, 16, 0, 16, 0, 1 }, { 18, 16, 0, 16, 0, 2 }, { 19, 16, 0, 16, 0, 2 }, + { 20, 16, 0, 16, 0, 2 }, { 21, 16, 0, 16, 0, 2 }, { 22, 16, 0, 16, 0, 2 }, { 23, 16, 0, 16, 0, 2 }, { 24, 16, 0, 16, 0, 2 }, + { 25, 16, 0, 16, 0, 2 }, { 26, 16, 0, 16, 0, 2 }, { 27, 16, 0, 16, 0, 2 }, { 28, 16, 0, 16, 0, 2 }, { 29, 16, 0, 16, 0, 5 }, + { 30, 16, 0, 16, 0, 5 }, { 31, 16, 0, 16, 0, 5 }, { 32, 16, 0, 16, 0, 5 }, { 33, 16, 0, 16, 0, 5 }, { 34, 16, 0, 16, 0, 5 }, + { 35, 16, 0, 16, 0, 5 }, { 36, 16, 0, 16, 0, 5 }, { 37, 16, 0, 16, 0, 5 }, { 38, 16, 0, 16, 0, 5 }, { 39, 16, 0, 16, 0, 5 }, + { 40, 16, 0, 16, 0, 5 }, { 41, 16, 0, 16, 0, 5 }, { 42, 16, 0, 16, 0, 6 }, { 43, 16, 0, 16, 0, 6 }, { 44, 16, 0, 16, 0, 6 }, + { 45, 16, 0, 16, 0, 6 }, { 46, 16, 0, 16, 0, 6 }, { 47, 16, 0, 16, 0, 6 }, { 48, 16, 0, 16, 0, 6 }, { 49, 16, 0, 16, 0, 6 }, + { 50, 16, 0, 16, 0, 6 }, { 51, 16, 0, 16, 0, 6 }, { 52, 16, 0, 16, 0, 6 }, { 53, 16, 0, 16, 0, 7 }, { 54, 16, 0, 16, 0, 7 }, + { 55, 16, 0, 16, 0, 7 }, { 56, 16, 0, 16, 0, 7 }, { 57, 16, 0, 16, 0, 7 }, { 58, 16, 0, 16, 0, 7 }, { 59, 16, 0, 16, 0, 7 }, + { 60, 16, 0, 16, 0, 7 }, { 61, 16, 0, 16, 0, 7 }, { 62, 16, 0, 16, 0, 7 }, { 63, 16, 0, 16, 0, 7 }, { 64, 16, 0, 16, 0, 7 }, + { 65, 16, 0, 16, 0, 7 }, { 66, 16, 0, 16, 0, 8 }, { 67, 16, 0, 16, 0, 8 }, { 68, 16, 0, 16, 0, 8 }, { 69, 16, 0, 16, 0, 8 }, + { 70, 16, 0, 16, 0, 8 }, { 71, 16, 0, 16, 0, 8 }, { 72, 16, 0, 16, 0, 8 }, { 73, 16, 0, 16, 0, 8 }, { 74, 16, 0, 16, 0, 8 }, + { 75, 16, 0, 16, 0, 8 }, { 76, 16, 0, 16, 0, 8 }, { 77, 16, 0, 16, 0, 9 }, { 78, 16, 0, 16, 0, 9 }, { 79, 16, 0, 16, 0, 9 }, + { 80, 16, 0, 16, 0, 9 }, { 81, 16, 0, 16, 0, 9 }, { 82, 16, 0, 16, 0, 9 }, { 83, 16, 0, 16, 0, 9 }, { 84, 16, 0, 16, 0, 9 }, + { 85, 16, 0, 16, 0, 9 }, { 86, 16, 0, 16, 0, 9 }, { 87, 16, 0, 16, 0, 9 }, { 88, 16, 0, 16, 0, 9 }, { 89, 16, 0, 16, 0, 9 }, + { 90, 16, 0, 0, 16, 0 }, { 91, 16, 0, 0, 16, 0 }, { 92, 16, 0, 0, 16, 0 }, { 93, 16, 0, 0, 16, 0 }, { 94, 16, 0, 0, 16, 0 }, + { 95, 16, 0, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DA624 = { - 96, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 1 }, { 16, 25, 0, 24, 0, 1 }, { 16, 24, 0, 24, 0, 1 }, { 16, 23, 0, 24, 0, 1 }, { 16, 22, 0, 24, 0, 1 }, - { 16, 21, 0, 24, 0, 1 }, { 16, 20, 0, 24, 0, 1 }, { 16, 19, 0, 24, 0, 1 }, { 16, 18, 0, 24, 0, 1 }, { 16, 17, 0, 24, 0, 1 }, - { 16, 16, 0, 24, 0, 1 }, { 16, 15, 0, 24, 0, 1 }, { 16, 14, 0, 24, 0, 1 }, { 16, 13, 0, 24, 0, 2 }, { 16, 12, 0, 24, 0, 2 }, - { 16, 11, 0, 24, 0, 2 }, { 16, 10, 0, 24, 0, 2 }, { 16, 9, 0, 24, 0, 2 }, { 16, 8, 0, 24, 0, 2 }, { 16, 7, 0, 24, 0, 2 }, - { 16, 6, 0, 24, 0, 2 }, { 16, 5, 0, 24, 0, 2 }, { 16, 4, 0, 24, 0, 2 }, { 16, 3, 0, 24, 0, 2 }, { 16, 2, 0, 24, 0, 5 }, - { 16, 1, 0, 24, 0, 5 }, { 16, 0, 0, 24, 0, 5 }, { 16, -1, 0, 24, 0, 5 }, { 16, -2, 0, 24, 0, 5 }, { 16, -3, 0, 24, 0, 5 }, - { 16, -4, 0, 24, 0, 5 }, { 16, -5, 0, 24, 0, 5 }, { 16, -6, 0, 24, 0, 5 }, { 16, -7, 0, 24, 0, 5 }, { 16, -8, 0, 24, 0, 5 }, - { 16, -9, 0, 24, 0, 5 }, { 16, -10, 0, 24, 0, 5 }, { 16, -11, 0, 24, 0, 6 }, { 16, -12, 0, 24, 0, 6 }, { 16, -13, 0, 24, 0, 6 }, - { 16, -14, 0, 24, 0, 6 }, { 16, -15, 0, 24, 0, 6 }, { 16, -16, 0, 24, 0, 6 }, { 16, -17, 0, 24, 0, 6 }, { 16, -18, 0, 24, 0, 6 }, - { 16, -19, 0, 24, 0, 6 }, { 16, -20, 0, 24, 0, 6 }, { 16, -21, 0, 24, 0, 6 }, { 16, -22, 0, 24, 0, 7 }, { 16, -23, 0, 24, 0, 7 }, - { 16, -24, 0, 24, 0, 7 }, { 16, -25, 0, 24, 0, 7 }, { 16, -26, 0, 24, 0, 7 }, { 16, -27, 0, 24, 0, 7 }, { 16, -28, 0, 24, 0, 7 }, - { 16, -29, 0, 24, 0, 7 }, { 16, -30, 0, 24, 0, 7 }, { 16, -31, 0, 24, 0, 7 }, { 16, -32, 0, 24, 0, 7 }, { 16, -33, 0, 24, 0, 7 }, - { 16, -34, 0, 24, 0, 7 }, { 16, -35, 0, 24, 0, 8 }, { 16, -36, 0, 24, 0, 8 }, { 16, -37, 0, 24, 0, 8 }, { 16, -38, 0, 24, 0, 8 }, - { 16, -39, 0, 24, 0, 8 }, { 16, -40, 0, 24, 0, 8 }, { 16, -41, 0, 24, 0, 8 }, { 16, -42, 0, 24, 0, 8 }, { 16, -43, 0, 24, 0, 8 }, - { 16, -44, 0, 24, 0, 8 }, { 16, -45, 0, 24, 0, 8 }, { 16, -46, 0, 24, 0, 9 }, { 16, -47, 0, 24, 0, 9 }, { 16, -48, 0, 24, 0, 9 }, - { 16, -49, 0, 24, 0, 9 }, { 16, -50, 0, 24, 0, 9 }, { 16, -51, 0, 24, 0, 9 }, { 16, -52, 0, 24, 0, 9 }, { 16, -53, 0, 24, 0, 9 }, - { 16, -54, 0, 24, 0, 9 }, { 16, -55, 0, 24, 0, 9 }, { 16, -56, 0, 24, 0, 9 }, { 16, -57, 0, 24, 0, 9 }, { 16, -58, 0, 24, 0, 9 }, - { 16, -59, 0, 8, 16, 0 }, { 16, -60, 0, 8, 16, 0 }, { 16, -61, 0, 8, 16, 0 }, { 16, -62, 0, 8, 16, 0 }, { 16, -63, 0, 8, 16, 0 }, - { 16, -64, 0, 8, 16, 0 }, + 96, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 1 }, { 16, 25, 0, 24, 0, 1 }, { 16, 24, 0, 24, 0, 1 }, { 16, 23, 0, 24, 0, 1 }, { 16, 22, 0, 24, 0, 1 }, + { 16, 21, 0, 24, 0, 1 }, { 16, 20, 0, 24, 0, 1 }, { 16, 19, 0, 24, 0, 1 }, { 16, 18, 0, 24, 0, 1 }, { 16, 17, 0, 24, 0, 1 }, + { 16, 16, 0, 24, 0, 1 }, { 16, 15, 0, 24, 0, 1 }, { 16, 14, 0, 24, 0, 1 }, { 16, 13, 0, 24, 0, 2 }, { 16, 12, 0, 24, 0, 2 }, + { 16, 11, 0, 24, 0, 2 }, { 16, 10, 0, 24, 0, 2 }, { 16, 9, 0, 24, 0, 2 }, { 16, 8, 0, 24, 0, 2 }, { 16, 7, 0, 24, 0, 2 }, + { 16, 6, 0, 24, 0, 2 }, { 16, 5, 0, 24, 0, 2 }, { 16, 4, 0, 24, 0, 2 }, { 16, 3, 0, 24, 0, 2 }, { 16, 2, 0, 24, 0, 5 }, + { 16, 1, 0, 24, 0, 5 }, { 16, 0, 0, 24, 0, 5 }, { 16, -1, 0, 24, 0, 5 }, { 16, -2, 0, 24, 0, 5 }, { 16, -3, 0, 24, 0, 5 }, + { 16, -4, 0, 24, 0, 5 }, { 16, -5, 0, 24, 0, 5 }, { 16, -6, 0, 24, 0, 5 }, { 16, -7, 0, 24, 0, 5 }, { 16, -8, 0, 24, 0, 5 }, + { 16, -9, 0, 24, 0, 5 }, { 16, -10, 0, 24, 0, 5 }, { 16, -11, 0, 24, 0, 6 }, { 16, -12, 0, 24, 0, 6 }, { 16, -13, 0, 24, 0, 6 }, + { 16, -14, 0, 24, 0, 6 }, { 16, -15, 0, 24, 0, 6 }, { 16, -16, 0, 24, 0, 6 }, { 16, -17, 0, 24, 0, 6 }, { 16, -18, 0, 24, 0, 6 }, + { 16, -19, 0, 24, 0, 6 }, { 16, -20, 0, 24, 0, 6 }, { 16, -21, 0, 24, 0, 6 }, { 16, -22, 0, 24, 0, 7 }, { 16, -23, 0, 24, 0, 7 }, + { 16, -24, 0, 24, 0, 7 }, { 16, -25, 0, 24, 0, 7 }, { 16, -26, 0, 24, 0, 7 }, { 16, -27, 0, 24, 0, 7 }, { 16, -28, 0, 24, 0, 7 }, + { 16, -29, 0, 24, 0, 7 }, { 16, -30, 0, 24, 0, 7 }, { 16, -31, 0, 24, 0, 7 }, { 16, -32, 0, 24, 0, 7 }, { 16, -33, 0, 24, 0, 7 }, + { 16, -34, 0, 24, 0, 7 }, { 16, -35, 0, 24, 0, 8 }, { 16, -36, 0, 24, 0, 8 }, { 16, -37, 0, 24, 0, 8 }, { 16, -38, 0, 24, 0, 8 }, + { 16, -39, 0, 24, 0, 8 }, { 16, -40, 0, 24, 0, 8 }, { 16, -41, 0, 24, 0, 8 }, { 16, -42, 0, 24, 0, 8 }, { 16, -43, 0, 24, 0, 8 }, + { 16, -44, 0, 24, 0, 8 }, { 16, -45, 0, 24, 0, 8 }, { 16, -46, 0, 24, 0, 9 }, { 16, -47, 0, 24, 0, 9 }, { 16, -48, 0, 24, 0, 9 }, + { 16, -49, 0, 24, 0, 9 }, { 16, -50, 0, 24, 0, 9 }, { 16, -51, 0, 24, 0, 9 }, { 16, -52, 0, 24, 0, 9 }, { 16, -53, 0, 24, 0, 9 }, + { 16, -54, 0, 24, 0, 9 }, { 16, -55, 0, 24, 0, 9 }, { 16, -56, 0, 24, 0, 9 }, { 16, -57, 0, 24, 0, 9 }, { 16, -58, 0, 24, 0, 9 }, + { 16, -59, 0, 8, 16, 0 }, { 16, -60, 0, 8, 16, 0 }, { 16, -61, 0, 8, 16, 0 }, { 16, -62, 0, 8, 16, 0 }, { 16, -63, 0, 8, 16, 0 }, + { 16, -64, 0, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DA986 = { - 96, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 3 }, { 25, 16, 0, 0, 0, 3 }, { 24, 16, 0, 0, 0, 3 }, { 23, 16, 0, 0, 0, 3 }, { 22, 16, 0, 0, 0, 3 }, - { 21, 16, 0, 0, 0, 3 }, { 20, 16, 0, 0, 0, 3 }, { 19, 16, 0, 0, 0, 3 }, { 18, 16, 0, 0, 0, 3 }, { 17, 16, 0, 0, 0, 3 }, - { 16, 16, 0, 0, 0, 3 }, { 15, 16, 0, 0, 0, 3 }, { 14, 16, 0, 0, 0, 3 }, { 13, 16, 0, 0, 0, 4 }, { 12, 16, 0, 0, 0, 4 }, - { 11, 16, 0, 0, 0, 4 }, { 10, 16, 0, 0, 0, 4 }, { 9, 16, 0, 0, 0, 4 }, { 8, 16, 0, 0, 0, 4 }, { 7, 16, 0, 0, 0, 4 }, - { 6, 16, 0, 0, 0, 4 }, { 5, 16, 0, 0, 0, 4 }, { 4, 16, 0, 0, 0, 4 }, { 3, 16, 0, 0, 0, 4 }, { 2, 16, 0, 0, 0, 10 }, - { 1, 16, 0, 0, 0, 10 }, { 0, 16, 0, 0, 0, 10 }, { -1, 16, 0, 0, 0, 10 }, { -2, 16, 0, 0, 0, 10 }, { -3, 16, 0, 0, 0, 10 }, - { -4, 16, 0, 0, 0, 10 }, { -5, 16, 0, 0, 0, 10 }, { -6, 16, 0, 0, 0, 10 }, { -7, 16, 0, 0, 0, 10 }, { -8, 16, 0, 0, 0, 10 }, - { -9, 16, 0, 0, 0, 10 }, { -10, 16, 0, 0, 0, 10 }, { -11, 16, 0, 0, 0, 11 }, { -12, 16, 0, 0, 0, 11 }, { -13, 16, 0, 0, 0, 11 }, - { -14, 16, 0, 0, 0, 11 }, { -15, 16, 0, 0, 0, 11 }, { -16, 16, 0, 0, 0, 11 }, { -17, 16, 0, 0, 0, 11 }, { -18, 16, 0, 0, 0, 11 }, - { -19, 16, 0, 0, 0, 11 }, { -20, 16, 0, 0, 0, 11 }, { -21, 16, 0, 0, 0, 11 }, { -22, 16, 0, 0, 0, 12 }, { -23, 16, 0, 0, 0, 12 }, - { -24, 16, 0, 0, 0, 12 }, { -25, 16, 0, 0, 0, 12 }, { -26, 16, 0, 0, 0, 12 }, { -27, 16, 0, 0, 0, 12 }, { -28, 16, 0, 0, 0, 12 }, - { -29, 16, 0, 0, 0, 12 }, { -30, 16, 0, 0, 0, 12 }, { -31, 16, 0, 0, 0, 12 }, { -32, 16, 0, 0, 0, 12 }, { -33, 16, 0, 0, 0, 12 }, - { -34, 16, 0, 0, 0, 12 }, { -35, 16, 0, 0, 0, 13 }, { -36, 16, 0, 0, 0, 13 }, { -37, 16, 0, 0, 0, 13 }, { -38, 16, 0, 0, 0, 13 }, - { -39, 16, 0, 0, 0, 13 }, { -40, 16, 0, 0, 0, 13 }, { -41, 16, 0, 0, 0, 13 }, { -42, 16, 0, 0, 0, 13 }, { -43, 16, 0, 0, 0, 13 }, - { -44, 16, 0, 0, 0, 13 }, { -45, 16, 0, 0, 0, 13 }, { -46, 16, 0, 0, 0, 14 }, { -47, 16, 0, 0, 0, 14 }, { -48, 16, 0, 0, 0, 14 }, - { -49, 16, 0, 0, 0, 14 }, { -50, 16, 0, 0, 0, 14 }, { -51, 16, 0, 0, 0, 14 }, { -52, 16, 0, 0, 0, 14 }, { -53, 16, 0, 0, 0, 14 }, - { -54, 16, 0, 0, 0, 14 }, { -55, 16, 0, 0, 0, 14 }, { -56, 16, 0, 0, 0, 14 }, { -57, 16, 0, 0, 0, 14 }, { -58, 16, 0, 0, 0, 14 }, - { -59, 16, 0, 16, 16, 0 }, { -60, 16, 0, 16, 16, 0 }, { -61, 16, 0, 16, 16, 0 }, { -62, 16, 0, 16, 16, 0 }, { -63, 16, 0, 16, 16, 0 }, - { -64, 16, 0, 16, 16, 0 }, + 96, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 3 }, { 25, 16, 0, 0, 0, 3 }, { 24, 16, 0, 0, 0, 3 }, { 23, 16, 0, 0, 0, 3 }, { 22, 16, 0, 0, 0, 3 }, + { 21, 16, 0, 0, 0, 3 }, { 20, 16, 0, 0, 0, 3 }, { 19, 16, 0, 0, 0, 3 }, { 18, 16, 0, 0, 0, 3 }, { 17, 16, 0, 0, 0, 3 }, + { 16, 16, 0, 0, 0, 3 }, { 15, 16, 0, 0, 0, 3 }, { 14, 16, 0, 0, 0, 3 }, { 13, 16, 0, 0, 0, 4 }, { 12, 16, 0, 0, 0, 4 }, + { 11, 16, 0, 0, 0, 4 }, { 10, 16, 0, 0, 0, 4 }, { 9, 16, 0, 0, 0, 4 }, { 8, 16, 0, 0, 0, 4 }, { 7, 16, 0, 0, 0, 4 }, + { 6, 16, 0, 0, 0, 4 }, { 5, 16, 0, 0, 0, 4 }, { 4, 16, 0, 0, 0, 4 }, { 3, 16, 0, 0, 0, 4 }, { 2, 16, 0, 0, 0, 10 }, + { 1, 16, 0, 0, 0, 10 }, { 0, 16, 0, 0, 0, 10 }, { -1, 16, 0, 0, 0, 10 }, { -2, 16, 0, 0, 0, 10 }, { -3, 16, 0, 0, 0, 10 }, + { -4, 16, 0, 0, 0, 10 }, { -5, 16, 0, 0, 0, 10 }, { -6, 16, 0, 0, 0, 10 }, { -7, 16, 0, 0, 0, 10 }, { -8, 16, 0, 0, 0, 10 }, + { -9, 16, 0, 0, 0, 10 }, { -10, 16, 0, 0, 0, 10 }, { -11, 16, 0, 0, 0, 11 }, { -12, 16, 0, 0, 0, 11 }, { -13, 16, 0, 0, 0, 11 }, + { -14, 16, 0, 0, 0, 11 }, { -15, 16, 0, 0, 0, 11 }, { -16, 16, 0, 0, 0, 11 }, { -17, 16, 0, 0, 0, 11 }, { -18, 16, 0, 0, 0, 11 }, + { -19, 16, 0, 0, 0, 11 }, { -20, 16, 0, 0, 0, 11 }, { -21, 16, 0, 0, 0, 11 }, { -22, 16, 0, 0, 0, 12 }, { -23, 16, 0, 0, 0, 12 }, + { -24, 16, 0, 0, 0, 12 }, { -25, 16, 0, 0, 0, 12 }, { -26, 16, 0, 0, 0, 12 }, { -27, 16, 0, 0, 0, 12 }, { -28, 16, 0, 0, 0, 12 }, + { -29, 16, 0, 0, 0, 12 }, { -30, 16, 0, 0, 0, 12 }, { -31, 16, 0, 0, 0, 12 }, { -32, 16, 0, 0, 0, 12 }, { -33, 16, 0, 0, 0, 12 }, + { -34, 16, 0, 0, 0, 12 }, { -35, 16, 0, 0, 0, 13 }, { -36, 16, 0, 0, 0, 13 }, { -37, 16, 0, 0, 0, 13 }, { -38, 16, 0, 0, 0, 13 }, + { -39, 16, 0, 0, 0, 13 }, { -40, 16, 0, 0, 0, 13 }, { -41, 16, 0, 0, 0, 13 }, { -42, 16, 0, 0, 0, 13 }, { -43, 16, 0, 0, 0, 13 }, + { -44, 16, 0, 0, 0, 13 }, { -45, 16, 0, 0, 0, 13 }, { -46, 16, 0, 0, 0, 14 }, { -47, 16, 0, 0, 0, 14 }, { -48, 16, 0, 0, 0, 14 }, + { -49, 16, 0, 0, 0, 14 }, { -50, 16, 0, 0, 0, 14 }, { -51, 16, 0, 0, 0, 14 }, { -52, 16, 0, 0, 0, 14 }, { -53, 16, 0, 0, 0, 14 }, + { -54, 16, 0, 0, 0, 14 }, { -55, 16, 0, 0, 0, 14 }, { -56, 16, 0, 0, 0, 14 }, { -57, 16, 0, 0, 0, 14 }, { -58, 16, 0, 0, 0, 14 }, + { -59, 16, 0, 16, 16, 0 }, { -60, 16, 0, 16, 16, 0 }, { -61, 16, 0, 16, 16, 0 }, { -62, 16, 0, 16, 16, 0 }, { -63, 16, 0, 16, 16, 0 }, + { -64, 16, 0, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DACE8 = { - 96, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 3 }, { 16, 6, 0, 8, 0, 3 }, { 16, 7, 0, 8, 0, 3 }, { 16, 8, 0, 8, 0, 3 }, { 16, 9, 0, 8, 0, 3 }, - { 16, 10, 0, 8, 0, 3 }, { 16, 11, 0, 8, 0, 3 }, { 16, 12, 0, 8, 0, 3 }, { 16, 13, 0, 8, 0, 3 }, { 16, 14, 0, 8, 0, 3 }, - { 16, 15, 0, 8, 0, 3 }, { 16, 16, 0, 8, 0, 3 }, { 16, 17, 0, 8, 0, 3 }, { 16, 18, 0, 8, 0, 4 }, { 16, 19, 0, 8, 0, 4 }, - { 16, 20, 0, 8, 0, 4 }, { 16, 21, 0, 8, 0, 4 }, { 16, 22, 0, 8, 0, 4 }, { 16, 23, 0, 8, 0, 4 }, { 16, 24, 0, 8, 0, 4 }, - { 16, 25, 0, 8, 0, 4 }, { 16, 26, 0, 8, 0, 4 }, { 16, 27, 0, 8, 0, 4 }, { 16, 28, 0, 8, 0, 4 }, { 16, 29, 0, 8, 0, 10 }, - { 16, 30, 0, 8, 0, 10 }, { 16, 31, 0, 8, 0, 10 }, { 16, 32, 0, 8, 0, 10 }, { 16, 33, 0, 8, 0, 10 }, { 16, 34, 0, 8, 0, 10 }, - { 16, 35, 0, 8, 0, 10 }, { 16, 36, 0, 8, 0, 10 }, { 16, 37, 0, 8, 0, 10 }, { 16, 38, 0, 8, 0, 10 }, { 16, 39, 0, 8, 0, 10 }, - { 16, 40, 0, 8, 0, 10 }, { 16, 41, 0, 8, 0, 10 }, { 16, 42, 0, 8, 0, 11 }, { 16, 43, 0, 8, 0, 11 }, { 16, 44, 0, 8, 0, 11 }, - { 16, 45, 0, 8, 0, 11 }, { 16, 46, 0, 8, 0, 11 }, { 16, 47, 0, 8, 0, 11 }, { 16, 48, 0, 8, 0, 11 }, { 16, 49, 0, 8, 0, 11 }, - { 16, 50, 0, 8, 0, 11 }, { 16, 51, 0, 8, 0, 11 }, { 16, 52, 0, 8, 0, 11 }, { 16, 53, 0, 8, 0, 12 }, { 16, 54, 0, 8, 0, 12 }, - { 16, 55, 0, 8, 0, 12 }, { 16, 56, 0, 8, 0, 12 }, { 16, 57, 0, 8, 0, 12 }, { 16, 58, 0, 8, 0, 12 }, { 16, 59, 0, 8, 0, 12 }, - { 16, 60, 0, 8, 0, 12 }, { 16, 61, 0, 8, 0, 12 }, { 16, 62, 0, 8, 0, 12 }, { 16, 63, 0, 8, 0, 12 }, { 16, 64, 0, 8, 0, 12 }, - { 16, 65, 0, 8, 0, 12 }, { 16, 66, 0, 8, 0, 13 }, { 16, 67, 0, 8, 0, 13 }, { 16, 68, 0, 8, 0, 13 }, { 16, 69, 0, 8, 0, 13 }, - { 16, 70, 0, 8, 0, 13 }, { 16, 71, 0, 8, 0, 13 }, { 16, 72, 0, 8, 0, 13 }, { 16, 73, 0, 8, 0, 13 }, { 16, 74, 0, 8, 0, 13 }, - { 16, 75, 0, 8, 0, 13 }, { 16, 76, 0, 8, 0, 13 }, { 16, 77, 0, 8, 0, 14 }, { 16, 78, 0, 8, 0, 14 }, { 16, 79, 0, 8, 0, 14 }, - { 16, 80, 0, 8, 0, 14 }, { 16, 81, 0, 8, 0, 14 }, { 16, 82, 0, 8, 0, 14 }, { 16, 83, 0, 8, 0, 14 }, { 16, 84, 0, 8, 0, 14 }, - { 16, 85, 0, 8, 0, 14 }, { 16, 86, 0, 8, 0, 14 }, { 16, 87, 0, 8, 0, 14 }, { 16, 88, 0, 8, 0, 14 }, { 16, 89, 0, 8, 0, 14 }, - { 16, 90, 0, 24, 16, 0 }, { 16, 91, 0, 24, 16, 0 }, { 16, 92, 0, 24, 16, 0 }, { 16, 93, 0, 24, 16, 0 }, { 16, 94, 0, 24, 16, 0 }, - { 16, 95, 0, 24, 16, 0 }, + 96, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 3 }, { 16, 6, 0, 8, 0, 3 }, { 16, 7, 0, 8, 0, 3 }, { 16, 8, 0, 8, 0, 3 }, { 16, 9, 0, 8, 0, 3 }, + { 16, 10, 0, 8, 0, 3 }, { 16, 11, 0, 8, 0, 3 }, { 16, 12, 0, 8, 0, 3 }, { 16, 13, 0, 8, 0, 3 }, { 16, 14, 0, 8, 0, 3 }, + { 16, 15, 0, 8, 0, 3 }, { 16, 16, 0, 8, 0, 3 }, { 16, 17, 0, 8, 0, 3 }, { 16, 18, 0, 8, 0, 4 }, { 16, 19, 0, 8, 0, 4 }, + { 16, 20, 0, 8, 0, 4 }, { 16, 21, 0, 8, 0, 4 }, { 16, 22, 0, 8, 0, 4 }, { 16, 23, 0, 8, 0, 4 }, { 16, 24, 0, 8, 0, 4 }, + { 16, 25, 0, 8, 0, 4 }, { 16, 26, 0, 8, 0, 4 }, { 16, 27, 0, 8, 0, 4 }, { 16, 28, 0, 8, 0, 4 }, { 16, 29, 0, 8, 0, 10 }, + { 16, 30, 0, 8, 0, 10 }, { 16, 31, 0, 8, 0, 10 }, { 16, 32, 0, 8, 0, 10 }, { 16, 33, 0, 8, 0, 10 }, { 16, 34, 0, 8, 0, 10 }, + { 16, 35, 0, 8, 0, 10 }, { 16, 36, 0, 8, 0, 10 }, { 16, 37, 0, 8, 0, 10 }, { 16, 38, 0, 8, 0, 10 }, { 16, 39, 0, 8, 0, 10 }, + { 16, 40, 0, 8, 0, 10 }, { 16, 41, 0, 8, 0, 10 }, { 16, 42, 0, 8, 0, 11 }, { 16, 43, 0, 8, 0, 11 }, { 16, 44, 0, 8, 0, 11 }, + { 16, 45, 0, 8, 0, 11 }, { 16, 46, 0, 8, 0, 11 }, { 16, 47, 0, 8, 0, 11 }, { 16, 48, 0, 8, 0, 11 }, { 16, 49, 0, 8, 0, 11 }, + { 16, 50, 0, 8, 0, 11 }, { 16, 51, 0, 8, 0, 11 }, { 16, 52, 0, 8, 0, 11 }, { 16, 53, 0, 8, 0, 12 }, { 16, 54, 0, 8, 0, 12 }, + { 16, 55, 0, 8, 0, 12 }, { 16, 56, 0, 8, 0, 12 }, { 16, 57, 0, 8, 0, 12 }, { 16, 58, 0, 8, 0, 12 }, { 16, 59, 0, 8, 0, 12 }, + { 16, 60, 0, 8, 0, 12 }, { 16, 61, 0, 8, 0, 12 }, { 16, 62, 0, 8, 0, 12 }, { 16, 63, 0, 8, 0, 12 }, { 16, 64, 0, 8, 0, 12 }, + { 16, 65, 0, 8, 0, 12 }, { 16, 66, 0, 8, 0, 13 }, { 16, 67, 0, 8, 0, 13 }, { 16, 68, 0, 8, 0, 13 }, { 16, 69, 0, 8, 0, 13 }, + { 16, 70, 0, 8, 0, 13 }, { 16, 71, 0, 8, 0, 13 }, { 16, 72, 0, 8, 0, 13 }, { 16, 73, 0, 8, 0, 13 }, { 16, 74, 0, 8, 0, 13 }, + { 16, 75, 0, 8, 0, 13 }, { 16, 76, 0, 8, 0, 13 }, { 16, 77, 0, 8, 0, 14 }, { 16, 78, 0, 8, 0, 14 }, { 16, 79, 0, 8, 0, 14 }, + { 16, 80, 0, 8, 0, 14 }, { 16, 81, 0, 8, 0, 14 }, { 16, 82, 0, 8, 0, 14 }, { 16, 83, 0, 8, 0, 14 }, { 16, 84, 0, 8, 0, 14 }, + { 16, 85, 0, 8, 0, 14 }, { 16, 86, 0, 8, 0, 14 }, { 16, 87, 0, 8, 0, 14 }, { 16, 88, 0, 8, 0, 14 }, { 16, 89, 0, 8, 0, 14 }, + { 16, 90, 0, 24, 16, 0 }, { 16, 91, 0, 24, 16, 0 }, { 16, 92, 0, 24, 16, 0 }, { 16, 93, 0, 24, 16, 0 }, { 16, 94, 0, 24, 16, 0 }, + { 16, 95, 0, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DB04A = { - 96, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 3 }, { 6, 16, 0, 16, 0, 3 }, { 7, 16, 0, 16, 0, 3 }, { 8, 16, 0, 16, 0, 3 }, { 9, 16, 0, 16, 0, 3 }, - { 10, 16, 0, 16, 0, 3 }, { 11, 16, 0, 16, 0, 3 }, { 12, 16, 0, 16, 0, 3 }, { 13, 16, 0, 16, 0, 3 }, { 14, 16, 0, 16, 0, 3 }, - { 15, 16, 0, 16, 0, 3 }, { 16, 16, 0, 16, 0, 3 }, { 17, 16, 0, 16, 0, 3 }, { 18, 16, 0, 16, 0, 4 }, { 19, 16, 0, 16, 0, 4 }, - { 20, 16, 0, 16, 0, 4 }, { 21, 16, 0, 16, 0, 4 }, { 22, 16, 0, 16, 0, 4 }, { 23, 16, 0, 16, 0, 4 }, { 24, 16, 0, 16, 0, 4 }, - { 25, 16, 0, 16, 0, 4 }, { 26, 16, 0, 16, 0, 4 }, { 27, 16, 0, 16, 0, 4 }, { 28, 16, 0, 16, 0, 4 }, { 29, 16, 0, 16, 0, 10 }, - { 30, 16, 0, 16, 0, 10 }, { 31, 16, 0, 16, 0, 10 }, { 32, 16, 0, 16, 0, 10 }, { 33, 16, 0, 16, 0, 10 }, { 34, 16, 0, 16, 0, 10 }, - { 35, 16, 0, 16, 0, 10 }, { 36, 16, 0, 16, 0, 10 }, { 37, 16, 0, 16, 0, 10 }, { 38, 16, 0, 16, 0, 10 }, { 39, 16, 0, 16, 0, 10 }, - { 40, 16, 0, 16, 0, 10 }, { 41, 16, 0, 16, 0, 10 }, { 42, 16, 0, 16, 0, 11 }, { 43, 16, 0, 16, 0, 11 }, { 44, 16, 0, 16, 0, 11 }, - { 45, 16, 0, 16, 0, 11 }, { 46, 16, 0, 16, 0, 11 }, { 47, 16, 0, 16, 0, 11 }, { 48, 16, 0, 16, 0, 11 }, { 49, 16, 0, 16, 0, 11 }, - { 50, 16, 0, 16, 0, 11 }, { 51, 16, 0, 16, 0, 11 }, { 52, 16, 0, 16, 0, 11 }, { 53, 16, 0, 16, 0, 12 }, { 54, 16, 0, 16, 0, 12 }, - { 55, 16, 0, 16, 0, 12 }, { 56, 16, 0, 16, 0, 12 }, { 57, 16, 0, 16, 0, 12 }, { 58, 16, 0, 16, 0, 12 }, { 59, 16, 0, 16, 0, 12 }, - { 60, 16, 0, 16, 0, 12 }, { 61, 16, 0, 16, 0, 12 }, { 62, 16, 0, 16, 0, 12 }, { 63, 16, 0, 16, 0, 12 }, { 64, 16, 0, 16, 0, 12 }, - { 65, 16, 0, 16, 0, 12 }, { 66, 16, 0, 16, 0, 13 }, { 67, 16, 0, 16, 0, 13 }, { 68, 16, 0, 16, 0, 13 }, { 69, 16, 0, 16, 0, 13 }, - { 70, 16, 0, 16, 0, 13 }, { 71, 16, 0, 16, 0, 13 }, { 72, 16, 0, 16, 0, 13 }, { 73, 16, 0, 16, 0, 13 }, { 74, 16, 0, 16, 0, 13 }, - { 75, 16, 0, 16, 0, 13 }, { 76, 16, 0, 16, 0, 13 }, { 77, 16, 0, 16, 0, 14 }, { 78, 16, 0, 16, 0, 14 }, { 79, 16, 0, 16, 0, 14 }, - { 80, 16, 0, 16, 0, 14 }, { 81, 16, 0, 16, 0, 14 }, { 82, 16, 0, 16, 0, 14 }, { 83, 16, 0, 16, 0, 14 }, { 84, 16, 0, 16, 0, 14 }, - { 85, 16, 0, 16, 0, 14 }, { 86, 16, 0, 16, 0, 14 }, { 87, 16, 0, 16, 0, 14 }, { 88, 16, 0, 16, 0, 14 }, { 89, 16, 0, 16, 0, 14 }, - { 90, 16, 0, 0, 16, 0 }, { 91, 16, 0, 0, 16, 0 }, { 92, 16, 0, 0, 16, 0 }, { 93, 16, 0, 0, 16, 0 }, { 94, 16, 0, 0, 16, 0 }, - { 95, 16, 0, 0, 16, 0 }, + 96, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 3 }, { 6, 16, 0, 16, 0, 3 }, { 7, 16, 0, 16, 0, 3 }, { 8, 16, 0, 16, 0, 3 }, { 9, 16, 0, 16, 0, 3 }, + { 10, 16, 0, 16, 0, 3 }, { 11, 16, 0, 16, 0, 3 }, { 12, 16, 0, 16, 0, 3 }, { 13, 16, 0, 16, 0, 3 }, { 14, 16, 0, 16, 0, 3 }, + { 15, 16, 0, 16, 0, 3 }, { 16, 16, 0, 16, 0, 3 }, { 17, 16, 0, 16, 0, 3 }, { 18, 16, 0, 16, 0, 4 }, { 19, 16, 0, 16, 0, 4 }, + { 20, 16, 0, 16, 0, 4 }, { 21, 16, 0, 16, 0, 4 }, { 22, 16, 0, 16, 0, 4 }, { 23, 16, 0, 16, 0, 4 }, { 24, 16, 0, 16, 0, 4 }, + { 25, 16, 0, 16, 0, 4 }, { 26, 16, 0, 16, 0, 4 }, { 27, 16, 0, 16, 0, 4 }, { 28, 16, 0, 16, 0, 4 }, { 29, 16, 0, 16, 0, 10 }, + { 30, 16, 0, 16, 0, 10 }, { 31, 16, 0, 16, 0, 10 }, { 32, 16, 0, 16, 0, 10 }, { 33, 16, 0, 16, 0, 10 }, { 34, 16, 0, 16, 0, 10 }, + { 35, 16, 0, 16, 0, 10 }, { 36, 16, 0, 16, 0, 10 }, { 37, 16, 0, 16, 0, 10 }, { 38, 16, 0, 16, 0, 10 }, { 39, 16, 0, 16, 0, 10 }, + { 40, 16, 0, 16, 0, 10 }, { 41, 16, 0, 16, 0, 10 }, { 42, 16, 0, 16, 0, 11 }, { 43, 16, 0, 16, 0, 11 }, { 44, 16, 0, 16, 0, 11 }, + { 45, 16, 0, 16, 0, 11 }, { 46, 16, 0, 16, 0, 11 }, { 47, 16, 0, 16, 0, 11 }, { 48, 16, 0, 16, 0, 11 }, { 49, 16, 0, 16, 0, 11 }, + { 50, 16, 0, 16, 0, 11 }, { 51, 16, 0, 16, 0, 11 }, { 52, 16, 0, 16, 0, 11 }, { 53, 16, 0, 16, 0, 12 }, { 54, 16, 0, 16, 0, 12 }, + { 55, 16, 0, 16, 0, 12 }, { 56, 16, 0, 16, 0, 12 }, { 57, 16, 0, 16, 0, 12 }, { 58, 16, 0, 16, 0, 12 }, { 59, 16, 0, 16, 0, 12 }, + { 60, 16, 0, 16, 0, 12 }, { 61, 16, 0, 16, 0, 12 }, { 62, 16, 0, 16, 0, 12 }, { 63, 16, 0, 16, 0, 12 }, { 64, 16, 0, 16, 0, 12 }, + { 65, 16, 0, 16, 0, 12 }, { 66, 16, 0, 16, 0, 13 }, { 67, 16, 0, 16, 0, 13 }, { 68, 16, 0, 16, 0, 13 }, { 69, 16, 0, 16, 0, 13 }, + { 70, 16, 0, 16, 0, 13 }, { 71, 16, 0, 16, 0, 13 }, { 72, 16, 0, 16, 0, 13 }, { 73, 16, 0, 16, 0, 13 }, { 74, 16, 0, 16, 0, 13 }, + { 75, 16, 0, 16, 0, 13 }, { 76, 16, 0, 16, 0, 13 }, { 77, 16, 0, 16, 0, 14 }, { 78, 16, 0, 16, 0, 14 }, { 79, 16, 0, 16, 0, 14 }, + { 80, 16, 0, 16, 0, 14 }, { 81, 16, 0, 16, 0, 14 }, { 82, 16, 0, 16, 0, 14 }, { 83, 16, 0, 16, 0, 14 }, { 84, 16, 0, 16, 0, 14 }, + { 85, 16, 0, 16, 0, 14 }, { 86, 16, 0, 16, 0, 14 }, { 87, 16, 0, 16, 0, 14 }, { 88, 16, 0, 16, 0, 14 }, { 89, 16, 0, 16, 0, 14 }, + { 90, 16, 0, 0, 16, 0 }, { 91, 16, 0, 0, 16, 0 }, { 92, 16, 0, 0, 16, 0 }, { 93, 16, 0, 0, 16, 0 }, { 94, 16, 0, 0, 16, 0 }, + { 95, 16, 0, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DB3AC = { - 96, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 3 }, { 16, 25, 0, 24, 0, 3 }, { 16, 24, 0, 24, 0, 3 }, { 16, 23, 0, 24, 0, 3 }, { 16, 22, 0, 24, 0, 3 }, - { 16, 21, 0, 24, 0, 3 }, { 16, 20, 0, 24, 0, 3 }, { 16, 19, 0, 24, 0, 3 }, { 16, 18, 0, 24, 0, 3 }, { 16, 17, 0, 24, 0, 3 }, - { 16, 16, 0, 24, 0, 3 }, { 16, 15, 0, 24, 0, 3 }, { 16, 14, 0, 24, 0, 3 }, { 16, 13, 0, 24, 0, 4 }, { 16, 12, 0, 24, 0, 4 }, - { 16, 11, 0, 24, 0, 4 }, { 16, 10, 0, 24, 0, 4 }, { 16, 9, 0, 24, 0, 4 }, { 16, 8, 0, 24, 0, 4 }, { 16, 7, 0, 24, 0, 4 }, - { 16, 6, 0, 24, 0, 4 }, { 16, 5, 0, 24, 0, 4 }, { 16, 4, 0, 24, 0, 4 }, { 16, 3, 0, 24, 0, 4 }, { 16, 2, 0, 24, 0, 10 }, - { 16, 1, 0, 24, 0, 10 }, { 16, 0, 0, 24, 0, 10 }, { 16, -1, 0, 24, 0, 10 }, { 16, -2, 0, 24, 0, 10 }, { 16, -3, 0, 24, 0, 10 }, - { 16, -4, 0, 24, 0, 10 }, { 16, -5, 0, 24, 0, 10 }, { 16, -6, 0, 24, 0, 10 }, { 16, -7, 0, 24, 0, 10 }, { 16, -8, 0, 24, 0, 10 }, - { 16, -9, 0, 24, 0, 10 }, { 16, -10, 0, 24, 0, 10 }, { 16, -11, 0, 24, 0, 11 }, { 16, -12, 0, 24, 0, 11 }, { 16, -13, 0, 24, 0, 11 }, - { 16, -14, 0, 24, 0, 11 }, { 16, -15, 0, 24, 0, 11 }, { 16, -16, 0, 24, 0, 11 }, { 16, -17, 0, 24, 0, 11 }, { 16, -18, 0, 24, 0, 11 }, - { 16, -19, 0, 24, 0, 11 }, { 16, -20, 0, 24, 0, 11 }, { 16, -21, 0, 24, 0, 11 }, { 16, -22, 0, 24, 0, 12 }, { 16, -23, 0, 24, 0, 12 }, - { 16, -24, 0, 24, 0, 12 }, { 16, -25, 0, 24, 0, 12 }, { 16, -26, 0, 24, 0, 12 }, { 16, -27, 0, 24, 0, 12 }, { 16, -28, 0, 24, 0, 12 }, - { 16, -29, 0, 24, 0, 12 }, { 16, -30, 0, 24, 0, 12 }, { 16, -31, 0, 24, 0, 12 }, { 16, -32, 0, 24, 0, 12 }, { 16, -33, 0, 24, 0, 12 }, - { 16, -34, 0, 24, 0, 12 }, { 16, -35, 0, 24, 0, 13 }, { 16, -36, 0, 24, 0, 13 }, { 16, -37, 0, 24, 0, 13 }, { 16, -38, 0, 24, 0, 13 }, - { 16, -39, 0, 24, 0, 13 }, { 16, -40, 0, 24, 0, 13 }, { 16, -41, 0, 24, 0, 13 }, { 16, -42, 0, 24, 0, 13 }, { 16, -43, 0, 24, 0, 13 }, - { 16, -44, 0, 24, 0, 13 }, { 16, -45, 0, 24, 0, 13 }, { 16, -46, 0, 24, 0, 14 }, { 16, -47, 0, 24, 0, 14 }, { 16, -48, 0, 24, 0, 14 }, - { 16, -49, 0, 24, 0, 14 }, { 16, -50, 0, 24, 0, 14 }, { 16, -51, 0, 24, 0, 14 }, { 16, -52, 0, 24, 0, 14 }, { 16, -53, 0, 24, 0, 14 }, - { 16, -54, 0, 24, 0, 14 }, { 16, -55, 0, 24, 0, 14 }, { 16, -56, 0, 24, 0, 14 }, { 16, -57, 0, 24, 0, 14 }, { 16, -58, 0, 24, 0, 14 }, - { 16, -59, 0, 8, 16, 0 }, { 16, -60, 0, 8, 16, 0 }, { 16, -61, 0, 8, 16, 0 }, { 16, -62, 0, 8, 16, 0 }, { 16, -63, 0, 8, 16, 0 }, - { 16, -64, 0, 8, 16, 0 }, + 96, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 3 }, { 16, 25, 0, 24, 0, 3 }, { 16, 24, 0, 24, 0, 3 }, { 16, 23, 0, 24, 0, 3 }, { 16, 22, 0, 24, 0, 3 }, + { 16, 21, 0, 24, 0, 3 }, { 16, 20, 0, 24, 0, 3 }, { 16, 19, 0, 24, 0, 3 }, { 16, 18, 0, 24, 0, 3 }, { 16, 17, 0, 24, 0, 3 }, + { 16, 16, 0, 24, 0, 3 }, { 16, 15, 0, 24, 0, 3 }, { 16, 14, 0, 24, 0, 3 }, { 16, 13, 0, 24, 0, 4 }, { 16, 12, 0, 24, 0, 4 }, + { 16, 11, 0, 24, 0, 4 }, { 16, 10, 0, 24, 0, 4 }, { 16, 9, 0, 24, 0, 4 }, { 16, 8, 0, 24, 0, 4 }, { 16, 7, 0, 24, 0, 4 }, + { 16, 6, 0, 24, 0, 4 }, { 16, 5, 0, 24, 0, 4 }, { 16, 4, 0, 24, 0, 4 }, { 16, 3, 0, 24, 0, 4 }, { 16, 2, 0, 24, 0, 10 }, + { 16, 1, 0, 24, 0, 10 }, { 16, 0, 0, 24, 0, 10 }, { 16, -1, 0, 24, 0, 10 }, { 16, -2, 0, 24, 0, 10 }, { 16, -3, 0, 24, 0, 10 }, + { 16, -4, 0, 24, 0, 10 }, { 16, -5, 0, 24, 0, 10 }, { 16, -6, 0, 24, 0, 10 }, { 16, -7, 0, 24, 0, 10 }, { 16, -8, 0, 24, 0, 10 }, + { 16, -9, 0, 24, 0, 10 }, { 16, -10, 0, 24, 0, 10 }, { 16, -11, 0, 24, 0, 11 }, { 16, -12, 0, 24, 0, 11 }, { 16, -13, 0, 24, 0, 11 }, + { 16, -14, 0, 24, 0, 11 }, { 16, -15, 0, 24, 0, 11 }, { 16, -16, 0, 24, 0, 11 }, { 16, -17, 0, 24, 0, 11 }, { 16, -18, 0, 24, 0, 11 }, + { 16, -19, 0, 24, 0, 11 }, { 16, -20, 0, 24, 0, 11 }, { 16, -21, 0, 24, 0, 11 }, { 16, -22, 0, 24, 0, 12 }, { 16, -23, 0, 24, 0, 12 }, + { 16, -24, 0, 24, 0, 12 }, { 16, -25, 0, 24, 0, 12 }, { 16, -26, 0, 24, 0, 12 }, { 16, -27, 0, 24, 0, 12 }, { 16, -28, 0, 24, 0, 12 }, + { 16, -29, 0, 24, 0, 12 }, { 16, -30, 0, 24, 0, 12 }, { 16, -31, 0, 24, 0, 12 }, { 16, -32, 0, 24, 0, 12 }, { 16, -33, 0, 24, 0, 12 }, + { 16, -34, 0, 24, 0, 12 }, { 16, -35, 0, 24, 0, 13 }, { 16, -36, 0, 24, 0, 13 }, { 16, -37, 0, 24, 0, 13 }, { 16, -38, 0, 24, 0, 13 }, + { 16, -39, 0, 24, 0, 13 }, { 16, -40, 0, 24, 0, 13 }, { 16, -41, 0, 24, 0, 13 }, { 16, -42, 0, 24, 0, 13 }, { 16, -43, 0, 24, 0, 13 }, + { 16, -44, 0, 24, 0, 13 }, { 16, -45, 0, 24, 0, 13 }, { 16, -46, 0, 24, 0, 14 }, { 16, -47, 0, 24, 0, 14 }, { 16, -48, 0, 24, 0, 14 }, + { 16, -49, 0, 24, 0, 14 }, { 16, -50, 0, 24, 0, 14 }, { 16, -51, 0, 24, 0, 14 }, { 16, -52, 0, 24, 0, 14 }, { 16, -53, 0, 24, 0, 14 }, + { 16, -54, 0, 24, 0, 14 }, { 16, -55, 0, 24, 0, 14 }, { 16, -56, 0, 24, 0, 14 }, { 16, -57, 0, 24, 0, 14 }, { 16, -58, 0, 24, 0, 14 }, + { 16, -59, 0, 8, 16, 0 }, { 16, -60, 0, 8, 16, 0 }, { 16, -61, 0, 8, 16, 0 }, { 16, -62, 0, 8, 16, 0 }, { 16, -63, 0, 8, 16, 0 }, + { 16, -64, 0, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DB70E = { - 96, { - { 31, 16, -16, 16, 16, 0 }, { 30, 16, -16, 16, 16, 0 }, { 29, 16, -16, 16, 16, 0 }, { 28, 16, -16, 16, 16, 0 }, { 27, 16, -16, 16, 16, 0 }, - { 26, 16, -16, 0, 0, 14 }, { 25, 16, -16, 0, 0, 14 }, { 24, 16, -16, 0, 0, 14 }, { 23, 16, -16, 0, 0, 14 }, { 22, 16, -16, 0, 0, 14 }, - { 21, 16, -16, 0, 0, 14 }, { 20, 16, -16, 0, 0, 14 }, { 19, 16, -16, 0, 0, 14 }, { 18, 16, -16, 0, 0, 14 }, { 17, 16, -16, 0, 0, 14 }, - { 16, 16, -16, 0, 0, 14 }, { 15, 16, -16, 0, 0, 14 }, { 14, 16, -16, 0, 0, 14 }, { 13, 16, -16, 0, 0, 13 }, { 12, 16, -16, 0, 0, 13 }, - { 11, 16, -16, 0, 0, 13 }, { 10, 16, -16, 0, 0, 13 }, { 9, 16, -16, 0, 0, 13 }, { 8, 16, -16, 0, 0, 13 }, { 7, 16, -16, 0, 0, 13 }, - { 6, 16, -16, 0, 0, 13 }, { 5, 16, -16, 0, 0, 13 }, { 4, 16, -16, 0, 0, 13 }, { 3, 16, -16, 0, 0, 13 }, { 2, 16, -16, 0, 0, 12 }, - { 1, 16, -16, 0, 0, 12 }, { 0, 16, -16, 0, 0, 12 }, { -1, 16, -16, 0, 0, 12 }, { -2, 16, -16, 0, 0, 12 }, { -3, 16, -16, 0, 0, 12 }, - { -4, 16, -16, 0, 0, 12 }, { -5, 16, -16, 0, 0, 12 }, { -6, 16, -16, 0, 0, 12 }, { -7, 16, -16, 0, 0, 12 }, { -8, 16, -16, 0, 0, 12 }, - { -9, 16, -16, 0, 0, 12 }, { -10, 16, -16, 0, 0, 12 }, { -11, 16, -16, 0, 0, 11 }, { -12, 16, -16, 0, 0, 11 }, { -13, 16, -16, 0, 0, 11 }, - { -14, 16, -16, 0, 0, 11 }, { -15, 16, -16, 0, 0, 11 }, { -16, 16, -16, 0, 0, 11 }, { -17, 16, -16, 0, 0, 11 }, { -18, 16, -16, 0, 0, 11 }, - { -19, 16, -16, 0, 0, 11 }, { -20, 16, -16, 0, 0, 11 }, { -21, 16, -16, 0, 0, 11 }, { -22, 16, -16, 0, 0, 10 }, { -23, 16, -16, 0, 0, 10 }, - { -24, 16, -16, 0, 0, 10 }, { -25, 16, -16, 0, 0, 10 }, { -26, 16, -16, 0, 0, 10 }, { -27, 16, -16, 0, 0, 10 }, { -28, 16, -16, 0, 0, 10 }, - { -29, 16, -16, 0, 0, 10 }, { -30, 16, -16, 0, 0, 10 }, { -31, 16, -16, 0, 0, 10 }, { -32, 16, -16, 0, 0, 10 }, { -33, 16, -16, 0, 0, 10 }, - { -34, 16, -16, 0, 0, 10 }, { -35, 16, -16, 0, 0, 4 }, { -36, 16, -16, 0, 0, 4 }, { -37, 16, -16, 0, 0, 4 }, { -38, 16, -16, 0, 0, 4 }, - { -39, 16, -16, 0, 0, 4 }, { -40, 16, -16, 0, 0, 4 }, { -41, 16, -16, 0, 0, 4 }, { -42, 16, -16, 0, 0, 4 }, { -43, 16, -16, 0, 0, 4 }, - { -44, 16, -16, 0, 0, 4 }, { -45, 16, -16, 0, 0, 4 }, { -46, 16, -16, 0, 0, 3 }, { -47, 16, -16, 0, 0, 3 }, { -48, 16, -16, 0, 0, 3 }, - { -49, 16, -16, 0, 0, 3 }, { -50, 16, -16, 0, 0, 3 }, { -51, 16, -16, 0, 0, 3 }, { -52, 16, -16, 0, 0, 3 }, { -53, 16, -16, 0, 0, 3 }, - { -54, 16, -16, 0, 0, 3 }, { -55, 16, -16, 0, 0, 3 }, { -56, 16, -16, 0, 0, 3 }, { -57, 16, -16, 0, 0, 3 }, { -58, 16, -16, 0, 0, 3 }, - { -59, 16, -16, 0, 0, 0 }, { -60, 16, -16, 0, 0, 0 }, { -61, 16, -16, 0, 0, 0 }, { -62, 16, -16, 0, 0, 0 }, { -63, 16, -16, 0, 0, 0 }, - { -64, 16, -16, 0, 0, 0 }, + 96, { + { 31, 16, -16, 16, 16, 0 }, { 30, 16, -16, 16, 16, 0 }, { 29, 16, -16, 16, 16, 0 }, { 28, 16, -16, 16, 16, 0 }, { 27, 16, -16, 16, 16, 0 }, + { 26, 16, -16, 0, 0, 14 }, { 25, 16, -16, 0, 0, 14 }, { 24, 16, -16, 0, 0, 14 }, { 23, 16, -16, 0, 0, 14 }, { 22, 16, -16, 0, 0, 14 }, + { 21, 16, -16, 0, 0, 14 }, { 20, 16, -16, 0, 0, 14 }, { 19, 16, -16, 0, 0, 14 }, { 18, 16, -16, 0, 0, 14 }, { 17, 16, -16, 0, 0, 14 }, + { 16, 16, -16, 0, 0, 14 }, { 15, 16, -16, 0, 0, 14 }, { 14, 16, -16, 0, 0, 14 }, { 13, 16, -16, 0, 0, 13 }, { 12, 16, -16, 0, 0, 13 }, + { 11, 16, -16, 0, 0, 13 }, { 10, 16, -16, 0, 0, 13 }, { 9, 16, -16, 0, 0, 13 }, { 8, 16, -16, 0, 0, 13 }, { 7, 16, -16, 0, 0, 13 }, + { 6, 16, -16, 0, 0, 13 }, { 5, 16, -16, 0, 0, 13 }, { 4, 16, -16, 0, 0, 13 }, { 3, 16, -16, 0, 0, 13 }, { 2, 16, -16, 0, 0, 12 }, + { 1, 16, -16, 0, 0, 12 }, { 0, 16, -16, 0, 0, 12 }, { -1, 16, -16, 0, 0, 12 }, { -2, 16, -16, 0, 0, 12 }, { -3, 16, -16, 0, 0, 12 }, + { -4, 16, -16, 0, 0, 12 }, { -5, 16, -16, 0, 0, 12 }, { -6, 16, -16, 0, 0, 12 }, { -7, 16, -16, 0, 0, 12 }, { -8, 16, -16, 0, 0, 12 }, + { -9, 16, -16, 0, 0, 12 }, { -10, 16, -16, 0, 0, 12 }, { -11, 16, -16, 0, 0, 11 }, { -12, 16, -16, 0, 0, 11 }, { -13, 16, -16, 0, 0, 11 }, + { -14, 16, -16, 0, 0, 11 }, { -15, 16, -16, 0, 0, 11 }, { -16, 16, -16, 0, 0, 11 }, { -17, 16, -16, 0, 0, 11 }, { -18, 16, -16, 0, 0, 11 }, + { -19, 16, -16, 0, 0, 11 }, { -20, 16, -16, 0, 0, 11 }, { -21, 16, -16, 0, 0, 11 }, { -22, 16, -16, 0, 0, 10 }, { -23, 16, -16, 0, 0, 10 }, + { -24, 16, -16, 0, 0, 10 }, { -25, 16, -16, 0, 0, 10 }, { -26, 16, -16, 0, 0, 10 }, { -27, 16, -16, 0, 0, 10 }, { -28, 16, -16, 0, 0, 10 }, + { -29, 16, -16, 0, 0, 10 }, { -30, 16, -16, 0, 0, 10 }, { -31, 16, -16, 0, 0, 10 }, { -32, 16, -16, 0, 0, 10 }, { -33, 16, -16, 0, 0, 10 }, + { -34, 16, -16, 0, 0, 10 }, { -35, 16, -16, 0, 0, 4 }, { -36, 16, -16, 0, 0, 4 }, { -37, 16, -16, 0, 0, 4 }, { -38, 16, -16, 0, 0, 4 }, + { -39, 16, -16, 0, 0, 4 }, { -40, 16, -16, 0, 0, 4 }, { -41, 16, -16, 0, 0, 4 }, { -42, 16, -16, 0, 0, 4 }, { -43, 16, -16, 0, 0, 4 }, + { -44, 16, -16, 0, 0, 4 }, { -45, 16, -16, 0, 0, 4 }, { -46, 16, -16, 0, 0, 3 }, { -47, 16, -16, 0, 0, 3 }, { -48, 16, -16, 0, 0, 3 }, + { -49, 16, -16, 0, 0, 3 }, { -50, 16, -16, 0, 0, 3 }, { -51, 16, -16, 0, 0, 3 }, { -52, 16, -16, 0, 0, 3 }, { -53, 16, -16, 0, 0, 3 }, + { -54, 16, -16, 0, 0, 3 }, { -55, 16, -16, 0, 0, 3 }, { -56, 16, -16, 0, 0, 3 }, { -57, 16, -16, 0, 0, 3 }, { -58, 16, -16, 0, 0, 3 }, + { -59, 16, -16, 0, 0, 0 }, { -60, 16, -16, 0, 0, 0 }, { -61, 16, -16, 0, 0, 0 }, { -62, 16, -16, 0, 0, 0 }, { -63, 16, -16, 0, 0, 0 }, + { -64, 16, -16, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DBA70 = { - 96, { - { 16, 0, -16, 24, 16, 0 }, { 16, 1, -16, 24, 16, 0 }, { 16, 2, -16, 24, 16, 0 }, { 16, 3, -16, 24, 16, 0 }, { 16, 4, -16, 24, 16, 0 }, - { 16, 5, -16, 8, 0, 14 }, { 16, 6, -16, 8, 0, 14 }, { 16, 7, -16, 8, 0, 14 }, { 16, 8, -16, 8, 0, 14 }, { 16, 9, -16, 8, 0, 14 }, - { 16, 10, -16, 8, 0, 14 }, { 16, 11, -16, 8, 0, 14 }, { 16, 12, -16, 8, 0, 14 }, { 16, 13, -16, 8, 0, 14 }, { 16, 14, -16, 8, 0, 14 }, - { 16, 15, -16, 8, 0, 14 }, { 16, 16, -16, 8, 0, 14 }, { 16, 17, -16, 8, 0, 14 }, { 16, 18, -16, 8, 0, 13 }, { 16, 19, -16, 8, 0, 13 }, - { 16, 20, -16, 8, 0, 13 }, { 16, 21, -16, 8, 0, 13 }, { 16, 22, -16, 8, 0, 13 }, { 16, 23, -16, 8, 0, 13 }, { 16, 24, -16, 8, 0, 13 }, - { 16, 25, -16, 8, 0, 13 }, { 16, 26, -16, 8, 0, 13 }, { 16, 27, -16, 8, 0, 13 }, { 16, 28, -16, 8, 0, 13 }, { 16, 29, -16, 8, 0, 12 }, - { 16, 30, -16, 8, 0, 12 }, { 16, 31, -16, 8, 0, 12 }, { 16, 32, -16, 8, 0, 12 }, { 16, 33, -16, 8, 0, 12 }, { 16, 34, -16, 8, 0, 12 }, - { 16, 35, -16, 8, 0, 12 }, { 16, 36, -16, 8, 0, 12 }, { 16, 37, -16, 8, 0, 12 }, { 16, 38, -16, 8, 0, 12 }, { 16, 39, -16, 8, 0, 12 }, - { 16, 40, -16, 8, 0, 12 }, { 16, 41, -16, 8, 0, 12 }, { 16, 42, -16, 8, 0, 11 }, { 16, 43, -16, 8, 0, 11 }, { 16, 44, -16, 8, 0, 11 }, - { 16, 45, -16, 8, 0, 11 }, { 16, 46, -16, 8, 0, 11 }, { 16, 47, -16, 8, 0, 11 }, { 16, 48, -16, 8, 0, 11 }, { 16, 49, -16, 8, 0, 11 }, - { 16, 50, -16, 8, 0, 11 }, { 16, 51, -16, 8, 0, 11 }, { 16, 52, -16, 8, 0, 11 }, { 16, 53, -16, 8, 0, 10 }, { 16, 54, -16, 8, 0, 10 }, - { 16, 55, -16, 8, 0, 10 }, { 16, 56, -16, 8, 0, 10 }, { 16, 57, -16, 8, 0, 10 }, { 16, 58, -16, 8, 0, 10 }, { 16, 59, -16, 8, 0, 10 }, - { 16, 60, -16, 8, 0, 10 }, { 16, 61, -16, 8, 0, 10 }, { 16, 62, -16, 8, 0, 10 }, { 16, 63, -16, 8, 0, 10 }, { 16, 64, -16, 8, 0, 10 }, - { 16, 65, -16, 8, 0, 10 }, { 16, 66, -16, 8, 0, 4 }, { 16, 67, -16, 8, 0, 4 }, { 16, 68, -16, 8, 0, 4 }, { 16, 69, -16, 8, 0, 4 }, - { 16, 70, -16, 8, 0, 4 }, { 16, 71, -16, 8, 0, 4 }, { 16, 72, -16, 8, 0, 4 }, { 16, 73, -16, 8, 0, 4 }, { 16, 74, -16, 8, 0, 4 }, - { 16, 75, -16, 8, 0, 4 }, { 16, 76, -16, 8, 0, 4 }, { 16, 77, -16, 8, 0, 3 }, { 16, 78, -16, 8, 0, 3 }, { 16, 79, -16, 8, 0, 3 }, - { 16, 80, -16, 8, 0, 3 }, { 16, 81, -16, 8, 0, 3 }, { 16, 82, -16, 8, 0, 3 }, { 16, 83, -16, 8, 0, 3 }, { 16, 84, -16, 8, 0, 3 }, - { 16, 85, -16, 8, 0, 3 }, { 16, 86, -16, 8, 0, 3 }, { 16, 87, -16, 8, 0, 3 }, { 16, 88, -16, 8, 0, 3 }, { 16, 89, -16, 8, 0, 3 }, - { 16, 90, -16, 8, 0, 0 }, { 16, 91, -16, 8, 0, 0 }, { 16, 92, -16, 8, 0, 0 }, { 16, 93, -16, 8, 0, 0 }, { 16, 94, -16, 8, 0, 0 }, - { 16, 95, -16, 8, 0, 0 }, + 96, { + { 16, 0, -16, 24, 16, 0 }, { 16, 1, -16, 24, 16, 0 }, { 16, 2, -16, 24, 16, 0 }, { 16, 3, -16, 24, 16, 0 }, { 16, 4, -16, 24, 16, 0 }, + { 16, 5, -16, 8, 0, 14 }, { 16, 6, -16, 8, 0, 14 }, { 16, 7, -16, 8, 0, 14 }, { 16, 8, -16, 8, 0, 14 }, { 16, 9, -16, 8, 0, 14 }, + { 16, 10, -16, 8, 0, 14 }, { 16, 11, -16, 8, 0, 14 }, { 16, 12, -16, 8, 0, 14 }, { 16, 13, -16, 8, 0, 14 }, { 16, 14, -16, 8, 0, 14 }, + { 16, 15, -16, 8, 0, 14 }, { 16, 16, -16, 8, 0, 14 }, { 16, 17, -16, 8, 0, 14 }, { 16, 18, -16, 8, 0, 13 }, { 16, 19, -16, 8, 0, 13 }, + { 16, 20, -16, 8, 0, 13 }, { 16, 21, -16, 8, 0, 13 }, { 16, 22, -16, 8, 0, 13 }, { 16, 23, -16, 8, 0, 13 }, { 16, 24, -16, 8, 0, 13 }, + { 16, 25, -16, 8, 0, 13 }, { 16, 26, -16, 8, 0, 13 }, { 16, 27, -16, 8, 0, 13 }, { 16, 28, -16, 8, 0, 13 }, { 16, 29, -16, 8, 0, 12 }, + { 16, 30, -16, 8, 0, 12 }, { 16, 31, -16, 8, 0, 12 }, { 16, 32, -16, 8, 0, 12 }, { 16, 33, -16, 8, 0, 12 }, { 16, 34, -16, 8, 0, 12 }, + { 16, 35, -16, 8, 0, 12 }, { 16, 36, -16, 8, 0, 12 }, { 16, 37, -16, 8, 0, 12 }, { 16, 38, -16, 8, 0, 12 }, { 16, 39, -16, 8, 0, 12 }, + { 16, 40, -16, 8, 0, 12 }, { 16, 41, -16, 8, 0, 12 }, { 16, 42, -16, 8, 0, 11 }, { 16, 43, -16, 8, 0, 11 }, { 16, 44, -16, 8, 0, 11 }, + { 16, 45, -16, 8, 0, 11 }, { 16, 46, -16, 8, 0, 11 }, { 16, 47, -16, 8, 0, 11 }, { 16, 48, -16, 8, 0, 11 }, { 16, 49, -16, 8, 0, 11 }, + { 16, 50, -16, 8, 0, 11 }, { 16, 51, -16, 8, 0, 11 }, { 16, 52, -16, 8, 0, 11 }, { 16, 53, -16, 8, 0, 10 }, { 16, 54, -16, 8, 0, 10 }, + { 16, 55, -16, 8, 0, 10 }, { 16, 56, -16, 8, 0, 10 }, { 16, 57, -16, 8, 0, 10 }, { 16, 58, -16, 8, 0, 10 }, { 16, 59, -16, 8, 0, 10 }, + { 16, 60, -16, 8, 0, 10 }, { 16, 61, -16, 8, 0, 10 }, { 16, 62, -16, 8, 0, 10 }, { 16, 63, -16, 8, 0, 10 }, { 16, 64, -16, 8, 0, 10 }, + { 16, 65, -16, 8, 0, 10 }, { 16, 66, -16, 8, 0, 4 }, { 16, 67, -16, 8, 0, 4 }, { 16, 68, -16, 8, 0, 4 }, { 16, 69, -16, 8, 0, 4 }, + { 16, 70, -16, 8, 0, 4 }, { 16, 71, -16, 8, 0, 4 }, { 16, 72, -16, 8, 0, 4 }, { 16, 73, -16, 8, 0, 4 }, { 16, 74, -16, 8, 0, 4 }, + { 16, 75, -16, 8, 0, 4 }, { 16, 76, -16, 8, 0, 4 }, { 16, 77, -16, 8, 0, 3 }, { 16, 78, -16, 8, 0, 3 }, { 16, 79, -16, 8, 0, 3 }, + { 16, 80, -16, 8, 0, 3 }, { 16, 81, -16, 8, 0, 3 }, { 16, 82, -16, 8, 0, 3 }, { 16, 83, -16, 8, 0, 3 }, { 16, 84, -16, 8, 0, 3 }, + { 16, 85, -16, 8, 0, 3 }, { 16, 86, -16, 8, 0, 3 }, { 16, 87, -16, 8, 0, 3 }, { 16, 88, -16, 8, 0, 3 }, { 16, 89, -16, 8, 0, 3 }, + { 16, 90, -16, 8, 0, 0 }, { 16, 91, -16, 8, 0, 0 }, { 16, 92, -16, 8, 0, 0 }, { 16, 93, -16, 8, 0, 0 }, { 16, 94, -16, 8, 0, 0 }, + { 16, 95, -16, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DBDD2 = { - 96, { - { 0, 16, -16, 0, 16, 0 }, { 1, 16, -16, 0, 16, 0 }, { 2, 16, -16, 0, 16, 0 }, { 3, 16, -16, 0, 16, 0 }, { 4, 16, -16, 0, 16, 0 }, - { 5, 16, -16, 16, 0, 14 }, { 6, 16, -16, 16, 0, 14 }, { 7, 16, -16, 16, 0, 14 }, { 8, 16, -16, 16, 0, 14 }, { 9, 16, -16, 16, 0, 14 }, - { 10, 16, -16, 16, 0, 14 }, { 11, 16, -16, 16, 0, 14 }, { 12, 16, -16, 16, 0, 14 }, { 13, 16, -16, 16, 0, 14 }, { 14, 16, -16, 16, 0, 14 }, - { 15, 16, -16, 16, 0, 14 }, { 16, 16, -16, 16, 0, 14 }, { 17, 16, -16, 16, 0, 14 }, { 18, 16, -16, 16, 0, 13 }, { 19, 16, -16, 16, 0, 13 }, - { 20, 16, -16, 16, 0, 13 }, { 21, 16, -16, 16, 0, 13 }, { 22, 16, -16, 16, 0, 13 }, { 23, 16, -16, 16, 0, 13 }, { 24, 16, -16, 16, 0, 13 }, - { 25, 16, -16, 16, 0, 13 }, { 26, 16, -16, 16, 0, 13 }, { 27, 16, -16, 16, 0, 13 }, { 28, 16, -16, 16, 0, 13 }, { 29, 16, -16, 16, 0, 12 }, - { 30, 16, -16, 16, 0, 12 }, { 31, 16, -16, 16, 0, 12 }, { 32, 16, -16, 16, 0, 12 }, { 33, 16, -16, 16, 0, 12 }, { 34, 16, -16, 16, 0, 12 }, - { 35, 16, -16, 16, 0, 12 }, { 36, 16, -16, 16, 0, 12 }, { 37, 16, -16, 16, 0, 12 }, { 38, 16, -16, 16, 0, 12 }, { 39, 16, -16, 16, 0, 12 }, - { 40, 16, -16, 16, 0, 12 }, { 41, 16, -16, 16, 0, 12 }, { 42, 16, -16, 16, 0, 11 }, { 43, 16, -16, 16, 0, 11 }, { 44, 16, -16, 16, 0, 11 }, - { 45, 16, -16, 16, 0, 11 }, { 46, 16, -16, 16, 0, 11 }, { 47, 16, -16, 16, 0, 11 }, { 48, 16, -16, 16, 0, 11 }, { 49, 16, -16, 16, 0, 11 }, - { 50, 16, -16, 16, 0, 11 }, { 51, 16, -16, 16, 0, 11 }, { 52, 16, -16, 16, 0, 11 }, { 53, 16, -16, 16, 0, 10 }, { 54, 16, -16, 16, 0, 10 }, - { 55, 16, -16, 16, 0, 10 }, { 56, 16, -16, 16, 0, 10 }, { 57, 16, -16, 16, 0, 10 }, { 58, 16, -16, 16, 0, 10 }, { 59, 16, -16, 16, 0, 10 }, - { 60, 16, -16, 16, 0, 10 }, { 61, 16, -16, 16, 0, 10 }, { 62, 16, -16, 16, 0, 10 }, { 63, 16, -16, 16, 0, 10 }, { 64, 16, -16, 16, 0, 10 }, - { 65, 16, -16, 16, 0, 10 }, { 66, 16, -16, 16, 0, 4 }, { 67, 16, -16, 16, 0, 4 }, { 68, 16, -16, 16, 0, 4 }, { 69, 16, -16, 16, 0, 4 }, - { 70, 16, -16, 16, 0, 4 }, { 71, 16, -16, 16, 0, 4 }, { 72, 16, -16, 16, 0, 4 }, { 73, 16, -16, 16, 0, 4 }, { 74, 16, -16, 16, 0, 4 }, - { 75, 16, -16, 16, 0, 4 }, { 76, 16, -16, 16, 0, 4 }, { 77, 16, -16, 16, 0, 3 }, { 78, 16, -16, 16, 0, 3 }, { 79, 16, -16, 16, 0, 3 }, - { 80, 16, -16, 16, 0, 3 }, { 81, 16, -16, 16, 0, 3 }, { 82, 16, -16, 16, 0, 3 }, { 83, 16, -16, 16, 0, 3 }, { 84, 16, -16, 16, 0, 3 }, - { 85, 16, -16, 16, 0, 3 }, { 86, 16, -16, 16, 0, 3 }, { 87, 16, -16, 16, 0, 3 }, { 88, 16, -16, 16, 0, 3 }, { 89, 16, -16, 16, 0, 3 }, - { 90, 16, -16, 16, 0, 0 }, { 91, 16, -16, 16, 0, 0 }, { 92, 16, -16, 16, 0, 0 }, { 93, 16, -16, 16, 0, 0 }, { 94, 16, -16, 16, 0, 0 }, - { 95, 16, -16, 16, 0, 0 }, + 96, { + { 0, 16, -16, 0, 16, 0 }, { 1, 16, -16, 0, 16, 0 }, { 2, 16, -16, 0, 16, 0 }, { 3, 16, -16, 0, 16, 0 }, { 4, 16, -16, 0, 16, 0 }, + { 5, 16, -16, 16, 0, 14 }, { 6, 16, -16, 16, 0, 14 }, { 7, 16, -16, 16, 0, 14 }, { 8, 16, -16, 16, 0, 14 }, { 9, 16, -16, 16, 0, 14 }, + { 10, 16, -16, 16, 0, 14 }, { 11, 16, -16, 16, 0, 14 }, { 12, 16, -16, 16, 0, 14 }, { 13, 16, -16, 16, 0, 14 }, { 14, 16, -16, 16, 0, 14 }, + { 15, 16, -16, 16, 0, 14 }, { 16, 16, -16, 16, 0, 14 }, { 17, 16, -16, 16, 0, 14 }, { 18, 16, -16, 16, 0, 13 }, { 19, 16, -16, 16, 0, 13 }, + { 20, 16, -16, 16, 0, 13 }, { 21, 16, -16, 16, 0, 13 }, { 22, 16, -16, 16, 0, 13 }, { 23, 16, -16, 16, 0, 13 }, { 24, 16, -16, 16, 0, 13 }, + { 25, 16, -16, 16, 0, 13 }, { 26, 16, -16, 16, 0, 13 }, { 27, 16, -16, 16, 0, 13 }, { 28, 16, -16, 16, 0, 13 }, { 29, 16, -16, 16, 0, 12 }, + { 30, 16, -16, 16, 0, 12 }, { 31, 16, -16, 16, 0, 12 }, { 32, 16, -16, 16, 0, 12 }, { 33, 16, -16, 16, 0, 12 }, { 34, 16, -16, 16, 0, 12 }, + { 35, 16, -16, 16, 0, 12 }, { 36, 16, -16, 16, 0, 12 }, { 37, 16, -16, 16, 0, 12 }, { 38, 16, -16, 16, 0, 12 }, { 39, 16, -16, 16, 0, 12 }, + { 40, 16, -16, 16, 0, 12 }, { 41, 16, -16, 16, 0, 12 }, { 42, 16, -16, 16, 0, 11 }, { 43, 16, -16, 16, 0, 11 }, { 44, 16, -16, 16, 0, 11 }, + { 45, 16, -16, 16, 0, 11 }, { 46, 16, -16, 16, 0, 11 }, { 47, 16, -16, 16, 0, 11 }, { 48, 16, -16, 16, 0, 11 }, { 49, 16, -16, 16, 0, 11 }, + { 50, 16, -16, 16, 0, 11 }, { 51, 16, -16, 16, 0, 11 }, { 52, 16, -16, 16, 0, 11 }, { 53, 16, -16, 16, 0, 10 }, { 54, 16, -16, 16, 0, 10 }, + { 55, 16, -16, 16, 0, 10 }, { 56, 16, -16, 16, 0, 10 }, { 57, 16, -16, 16, 0, 10 }, { 58, 16, -16, 16, 0, 10 }, { 59, 16, -16, 16, 0, 10 }, + { 60, 16, -16, 16, 0, 10 }, { 61, 16, -16, 16, 0, 10 }, { 62, 16, -16, 16, 0, 10 }, { 63, 16, -16, 16, 0, 10 }, { 64, 16, -16, 16, 0, 10 }, + { 65, 16, -16, 16, 0, 10 }, { 66, 16, -16, 16, 0, 4 }, { 67, 16, -16, 16, 0, 4 }, { 68, 16, -16, 16, 0, 4 }, { 69, 16, -16, 16, 0, 4 }, + { 70, 16, -16, 16, 0, 4 }, { 71, 16, -16, 16, 0, 4 }, { 72, 16, -16, 16, 0, 4 }, { 73, 16, -16, 16, 0, 4 }, { 74, 16, -16, 16, 0, 4 }, + { 75, 16, -16, 16, 0, 4 }, { 76, 16, -16, 16, 0, 4 }, { 77, 16, -16, 16, 0, 3 }, { 78, 16, -16, 16, 0, 3 }, { 79, 16, -16, 16, 0, 3 }, + { 80, 16, -16, 16, 0, 3 }, { 81, 16, -16, 16, 0, 3 }, { 82, 16, -16, 16, 0, 3 }, { 83, 16, -16, 16, 0, 3 }, { 84, 16, -16, 16, 0, 3 }, + { 85, 16, -16, 16, 0, 3 }, { 86, 16, -16, 16, 0, 3 }, { 87, 16, -16, 16, 0, 3 }, { 88, 16, -16, 16, 0, 3 }, { 89, 16, -16, 16, 0, 3 }, + { 90, 16, -16, 16, 0, 0 }, { 91, 16, -16, 16, 0, 0 }, { 92, 16, -16, 16, 0, 0 }, { 93, 16, -16, 16, 0, 0 }, { 94, 16, -16, 16, 0, 0 }, + { 95, 16, -16, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DC134 = { - 96, { - { 16, 31, -16, 8, 16, 0 }, { 16, 30, -16, 8, 16, 0 }, { 16, 29, -16, 8, 16, 0 }, { 16, 28, -16, 8, 16, 0 }, { 16, 27, -16, 8, 16, 0 }, - { 16, 26, -16, 24, 0, 14 }, { 16, 25, -16, 24, 0, 14 }, { 16, 24, -16, 24, 0, 14 }, { 16, 23, -16, 24, 0, 14 }, { 16, 22, -16, 24, 0, 14 }, - { 16, 21, -16, 24, 0, 14 }, { 16, 20, -16, 24, 0, 14 }, { 16, 19, -16, 24, 0, 14 }, { 16, 18, -16, 24, 0, 14 }, { 16, 17, -16, 24, 0, 14 }, - { 16, 16, -16, 24, 0, 14 }, { 16, 15, -16, 24, 0, 14 }, { 16, 14, -16, 24, 0, 14 }, { 16, 13, -16, 24, 0, 13 }, { 16, 12, -16, 24, 0, 13 }, - { 16, 11, -16, 24, 0, 13 }, { 16, 10, -16, 24, 0, 13 }, { 16, 9, -16, 24, 0, 13 }, { 16, 8, -16, 24, 0, 13 }, { 16, 7, -16, 24, 0, 13 }, - { 16, 6, -16, 24, 0, 13 }, { 16, 5, -16, 24, 0, 13 }, { 16, 4, -16, 24, 0, 13 }, { 16, 3, -16, 24, 0, 13 }, { 16, 2, -16, 24, 0, 12 }, - { 16, 1, -16, 24, 0, 12 }, { 16, 0, -16, 24, 0, 12 }, { 16, -1, -16, 24, 0, 12 }, { 16, -2, -16, 24, 0, 12 }, { 16, -3, -16, 24, 0, 12 }, - { 16, -4, -16, 24, 0, 12 }, { 16, -5, -16, 24, 0, 12 }, { 16, -6, -16, 24, 0, 12 }, { 16, -7, -16, 24, 0, 12 }, { 16, -8, -16, 24, 0, 12 }, - { 16, -9, -16, 24, 0, 12 }, { 16, -10, -16, 24, 0, 12 }, { 16, -11, -16, 24, 0, 11 }, { 16, -12, -16, 24, 0, 11 }, { 16, -13, -16, 24, 0, 11 }, - { 16, -14, -16, 24, 0, 11 }, { 16, -15, -16, 24, 0, 11 }, { 16, -16, -16, 24, 0, 11 }, { 16, -17, -16, 24, 0, 11 }, { 16, -18, -16, 24, 0, 11 }, - { 16, -19, -16, 24, 0, 11 }, { 16, -20, -16, 24, 0, 11 }, { 16, -21, -16, 24, 0, 11 }, { 16, -22, -16, 24, 0, 10 }, { 16, -23, -16, 24, 0, 10 }, - { 16, -24, -16, 24, 0, 10 }, { 16, -25, -16, 24, 0, 10 }, { 16, -26, -16, 24, 0, 10 }, { 16, -27, -16, 24, 0, 10 }, { 16, -28, -16, 24, 0, 10 }, - { 16, -29, -16, 24, 0, 10 }, { 16, -30, -16, 24, 0, 10 }, { 16, -31, -16, 24, 0, 10 }, { 16, -32, -16, 24, 0, 10 }, { 16, -33, -16, 24, 0, 10 }, - { 16, -34, -16, 24, 0, 10 }, { 16, -35, -16, 24, 0, 4 }, { 16, -36, -16, 24, 0, 4 }, { 16, -37, -16, 24, 0, 4 }, { 16, -38, -16, 24, 0, 4 }, - { 16, -39, -16, 24, 0, 4 }, { 16, -40, -16, 24, 0, 4 }, { 16, -41, -16, 24, 0, 4 }, { 16, -42, -16, 24, 0, 4 }, { 16, -43, -16, 24, 0, 4 }, - { 16, -44, -16, 24, 0, 4 }, { 16, -45, -16, 24, 0, 4 }, { 16, -46, -16, 24, 0, 3 }, { 16, -47, -16, 24, 0, 3 }, { 16, -48, -16, 24, 0, 3 }, - { 16, -49, -16, 24, 0, 3 }, { 16, -50, -16, 24, 0, 3 }, { 16, -51, -16, 24, 0, 3 }, { 16, -52, -16, 24, 0, 3 }, { 16, -53, -16, 24, 0, 3 }, - { 16, -54, -16, 24, 0, 3 }, { 16, -55, -16, 24, 0, 3 }, { 16, -56, -16, 24, 0, 3 }, { 16, -57, -16, 24, 0, 3 }, { 16, -58, -16, 24, 0, 3 }, - { 16, -59, -16, 24, 0, 0 }, { 16, -60, -16, 24, 0, 0 }, { 16, -61, -16, 24, 0, 0 }, { 16, -62, -16, 24, 0, 0 }, { 16, -63, -16, 24, 0, 0 }, - { 16, -64, -16, 24, 0, 0 }, + 96, { + { 16, 31, -16, 8, 16, 0 }, { 16, 30, -16, 8, 16, 0 }, { 16, 29, -16, 8, 16, 0 }, { 16, 28, -16, 8, 16, 0 }, { 16, 27, -16, 8, 16, 0 }, + { 16, 26, -16, 24, 0, 14 }, { 16, 25, -16, 24, 0, 14 }, { 16, 24, -16, 24, 0, 14 }, { 16, 23, -16, 24, 0, 14 }, { 16, 22, -16, 24, 0, 14 }, + { 16, 21, -16, 24, 0, 14 }, { 16, 20, -16, 24, 0, 14 }, { 16, 19, -16, 24, 0, 14 }, { 16, 18, -16, 24, 0, 14 }, { 16, 17, -16, 24, 0, 14 }, + { 16, 16, -16, 24, 0, 14 }, { 16, 15, -16, 24, 0, 14 }, { 16, 14, -16, 24, 0, 14 }, { 16, 13, -16, 24, 0, 13 }, { 16, 12, -16, 24, 0, 13 }, + { 16, 11, -16, 24, 0, 13 }, { 16, 10, -16, 24, 0, 13 }, { 16, 9, -16, 24, 0, 13 }, { 16, 8, -16, 24, 0, 13 }, { 16, 7, -16, 24, 0, 13 }, + { 16, 6, -16, 24, 0, 13 }, { 16, 5, -16, 24, 0, 13 }, { 16, 4, -16, 24, 0, 13 }, { 16, 3, -16, 24, 0, 13 }, { 16, 2, -16, 24, 0, 12 }, + { 16, 1, -16, 24, 0, 12 }, { 16, 0, -16, 24, 0, 12 }, { 16, -1, -16, 24, 0, 12 }, { 16, -2, -16, 24, 0, 12 }, { 16, -3, -16, 24, 0, 12 }, + { 16, -4, -16, 24, 0, 12 }, { 16, -5, -16, 24, 0, 12 }, { 16, -6, -16, 24, 0, 12 }, { 16, -7, -16, 24, 0, 12 }, { 16, -8, -16, 24, 0, 12 }, + { 16, -9, -16, 24, 0, 12 }, { 16, -10, -16, 24, 0, 12 }, { 16, -11, -16, 24, 0, 11 }, { 16, -12, -16, 24, 0, 11 }, { 16, -13, -16, 24, 0, 11 }, + { 16, -14, -16, 24, 0, 11 }, { 16, -15, -16, 24, 0, 11 }, { 16, -16, -16, 24, 0, 11 }, { 16, -17, -16, 24, 0, 11 }, { 16, -18, -16, 24, 0, 11 }, + { 16, -19, -16, 24, 0, 11 }, { 16, -20, -16, 24, 0, 11 }, { 16, -21, -16, 24, 0, 11 }, { 16, -22, -16, 24, 0, 10 }, { 16, -23, -16, 24, 0, 10 }, + { 16, -24, -16, 24, 0, 10 }, { 16, -25, -16, 24, 0, 10 }, { 16, -26, -16, 24, 0, 10 }, { 16, -27, -16, 24, 0, 10 }, { 16, -28, -16, 24, 0, 10 }, + { 16, -29, -16, 24, 0, 10 }, { 16, -30, -16, 24, 0, 10 }, { 16, -31, -16, 24, 0, 10 }, { 16, -32, -16, 24, 0, 10 }, { 16, -33, -16, 24, 0, 10 }, + { 16, -34, -16, 24, 0, 10 }, { 16, -35, -16, 24, 0, 4 }, { 16, -36, -16, 24, 0, 4 }, { 16, -37, -16, 24, 0, 4 }, { 16, -38, -16, 24, 0, 4 }, + { 16, -39, -16, 24, 0, 4 }, { 16, -40, -16, 24, 0, 4 }, { 16, -41, -16, 24, 0, 4 }, { 16, -42, -16, 24, 0, 4 }, { 16, -43, -16, 24, 0, 4 }, + { 16, -44, -16, 24, 0, 4 }, { 16, -45, -16, 24, 0, 4 }, { 16, -46, -16, 24, 0, 3 }, { 16, -47, -16, 24, 0, 3 }, { 16, -48, -16, 24, 0, 3 }, + { 16, -49, -16, 24, 0, 3 }, { 16, -50, -16, 24, 0, 3 }, { 16, -51, -16, 24, 0, 3 }, { 16, -52, -16, 24, 0, 3 }, { 16, -53, -16, 24, 0, 3 }, + { 16, -54, -16, 24, 0, 3 }, { 16, -55, -16, 24, 0, 3 }, { 16, -56, -16, 24, 0, 3 }, { 16, -57, -16, 24, 0, 3 }, { 16, -58, -16, 24, 0, 3 }, + { 16, -59, -16, 24, 0, 0 }, { 16, -60, -16, 24, 0, 0 }, { 16, -61, -16, 24, 0, 0 }, { 16, -62, -16, 24, 0, 0 }, { 16, -63, -16, 24, 0, 0 }, + { 16, -64, -16, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DC496 = { - 96, { - { 31, 16, -16, 16, 16, 0 }, { 30, 16, -16, 16, 16, 0 }, { 29, 16, -16, 16, 16, 0 }, { 28, 16, -16, 16, 16, 0 }, { 27, 16, -16, 16, 16, 0 }, - { 26, 16, -16, 0, 0, 9 }, { 25, 16, -16, 0, 0, 9 }, { 24, 16, -16, 0, 0, 9 }, { 23, 16, -16, 0, 0, 9 }, { 22, 16, -16, 0, 0, 9 }, - { 21, 16, -16, 0, 0, 9 }, { 20, 16, -16, 0, 0, 9 }, { 19, 16, -16, 0, 0, 9 }, { 18, 16, -16, 0, 0, 9 }, { 17, 16, -16, 0, 0, 9 }, - { 16, 16, -16, 0, 0, 9 }, { 15, 16, -16, 0, 0, 9 }, { 14, 16, -16, 0, 0, 9 }, { 13, 16, -16, 0, 0, 8 }, { 12, 16, -16, 0, 0, 8 }, - { 11, 16, -16, 0, 0, 8 }, { 10, 16, -16, 0, 0, 8 }, { 9, 16, -16, 0, 0, 8 }, { 8, 16, -16, 0, 0, 8 }, { 7, 16, -16, 0, 0, 8 }, - { 6, 16, -16, 0, 0, 8 }, { 5, 16, -16, 0, 0, 8 }, { 4, 16, -16, 0, 0, 8 }, { 3, 16, -16, 0, 0, 8 }, { 2, 16, -16, 0, 0, 7 }, - { 1, 16, -16, 0, 0, 7 }, { 0, 16, -16, 0, 0, 7 }, { -1, 16, -16, 0, 0, 7 }, { -2, 16, -16, 0, 0, 7 }, { -3, 16, -16, 0, 0, 7 }, - { -4, 16, -16, 0, 0, 7 }, { -5, 16, -16, 0, 0, 7 }, { -6, 16, -16, 0, 0, 7 }, { -7, 16, -16, 0, 0, 7 }, { -8, 16, -16, 0, 0, 7 }, - { -9, 16, -16, 0, 0, 7 }, { -10, 16, -16, 0, 0, 7 }, { -11, 16, -16, 0, 0, 6 }, { -12, 16, -16, 0, 0, 6 }, { -13, 16, -16, 0, 0, 6 }, - { -14, 16, -16, 0, 0, 6 }, { -15, 16, -16, 0, 0, 6 }, { -16, 16, -16, 0, 0, 6 }, { -17, 16, -16, 0, 0, 6 }, { -18, 16, -16, 0, 0, 6 }, - { -19, 16, -16, 0, 0, 6 }, { -20, 16, -16, 0, 0, 6 }, { -21, 16, -16, 0, 0, 6 }, { -22, 16, -16, 0, 0, 5 }, { -23, 16, -16, 0, 0, 5 }, - { -24, 16, -16, 0, 0, 5 }, { -25, 16, -16, 0, 0, 5 }, { -26, 16, -16, 0, 0, 5 }, { -27, 16, -16, 0, 0, 5 }, { -28, 16, -16, 0, 0, 5 }, - { -29, 16, -16, 0, 0, 5 }, { -30, 16, -16, 0, 0, 5 }, { -31, 16, -16, 0, 0, 5 }, { -32, 16, -16, 0, 0, 5 }, { -33, 16, -16, 0, 0, 5 }, - { -34, 16, -16, 0, 0, 5 }, { -35, 16, -16, 0, 0, 2 }, { -36, 16, -16, 0, 0, 2 }, { -37, 16, -16, 0, 0, 2 }, { -38, 16, -16, 0, 0, 2 }, - { -39, 16, -16, 0, 0, 2 }, { -40, 16, -16, 0, 0, 2 }, { -41, 16, -16, 0, 0, 2 }, { -42, 16, -16, 0, 0, 2 }, { -43, 16, -16, 0, 0, 2 }, - { -44, 16, -16, 0, 0, 2 }, { -45, 16, -16, 0, 0, 2 }, { -46, 16, -16, 0, 0, 1 }, { -47, 16, -16, 0, 0, 1 }, { -48, 16, -16, 0, 0, 1 }, - { -49, 16, -16, 0, 0, 1 }, { -50, 16, -16, 0, 0, 1 }, { -51, 16, -16, 0, 0, 1 }, { -52, 16, -16, 0, 0, 1 }, { -53, 16, -16, 0, 0, 1 }, - { -54, 16, -16, 0, 0, 1 }, { -55, 16, -16, 0, 0, 1 }, { -56, 16, -16, 0, 0, 1 }, { -57, 16, -16, 0, 0, 1 }, { -58, 16, -16, 0, 0, 1 }, - { -59, 16, -16, 0, 0, 0 }, { -60, 16, -16, 0, 0, 0 }, { -61, 16, -16, 0, 0, 0 }, { -62, 16, -16, 0, 0, 0 }, { -63, 16, -16, 0, 0, 0 }, - { -64, 16, -16, 0, 0, 0 }, + 96, { + { 31, 16, -16, 16, 16, 0 }, { 30, 16, -16, 16, 16, 0 }, { 29, 16, -16, 16, 16, 0 }, { 28, 16, -16, 16, 16, 0 }, { 27, 16, -16, 16, 16, 0 }, + { 26, 16, -16, 0, 0, 9 }, { 25, 16, -16, 0, 0, 9 }, { 24, 16, -16, 0, 0, 9 }, { 23, 16, -16, 0, 0, 9 }, { 22, 16, -16, 0, 0, 9 }, + { 21, 16, -16, 0, 0, 9 }, { 20, 16, -16, 0, 0, 9 }, { 19, 16, -16, 0, 0, 9 }, { 18, 16, -16, 0, 0, 9 }, { 17, 16, -16, 0, 0, 9 }, + { 16, 16, -16, 0, 0, 9 }, { 15, 16, -16, 0, 0, 9 }, { 14, 16, -16, 0, 0, 9 }, { 13, 16, -16, 0, 0, 8 }, { 12, 16, -16, 0, 0, 8 }, + { 11, 16, -16, 0, 0, 8 }, { 10, 16, -16, 0, 0, 8 }, { 9, 16, -16, 0, 0, 8 }, { 8, 16, -16, 0, 0, 8 }, { 7, 16, -16, 0, 0, 8 }, + { 6, 16, -16, 0, 0, 8 }, { 5, 16, -16, 0, 0, 8 }, { 4, 16, -16, 0, 0, 8 }, { 3, 16, -16, 0, 0, 8 }, { 2, 16, -16, 0, 0, 7 }, + { 1, 16, -16, 0, 0, 7 }, { 0, 16, -16, 0, 0, 7 }, { -1, 16, -16, 0, 0, 7 }, { -2, 16, -16, 0, 0, 7 }, { -3, 16, -16, 0, 0, 7 }, + { -4, 16, -16, 0, 0, 7 }, { -5, 16, -16, 0, 0, 7 }, { -6, 16, -16, 0, 0, 7 }, { -7, 16, -16, 0, 0, 7 }, { -8, 16, -16, 0, 0, 7 }, + { -9, 16, -16, 0, 0, 7 }, { -10, 16, -16, 0, 0, 7 }, { -11, 16, -16, 0, 0, 6 }, { -12, 16, -16, 0, 0, 6 }, { -13, 16, -16, 0, 0, 6 }, + { -14, 16, -16, 0, 0, 6 }, { -15, 16, -16, 0, 0, 6 }, { -16, 16, -16, 0, 0, 6 }, { -17, 16, -16, 0, 0, 6 }, { -18, 16, -16, 0, 0, 6 }, + { -19, 16, -16, 0, 0, 6 }, { -20, 16, -16, 0, 0, 6 }, { -21, 16, -16, 0, 0, 6 }, { -22, 16, -16, 0, 0, 5 }, { -23, 16, -16, 0, 0, 5 }, + { -24, 16, -16, 0, 0, 5 }, { -25, 16, -16, 0, 0, 5 }, { -26, 16, -16, 0, 0, 5 }, { -27, 16, -16, 0, 0, 5 }, { -28, 16, -16, 0, 0, 5 }, + { -29, 16, -16, 0, 0, 5 }, { -30, 16, -16, 0, 0, 5 }, { -31, 16, -16, 0, 0, 5 }, { -32, 16, -16, 0, 0, 5 }, { -33, 16, -16, 0, 0, 5 }, + { -34, 16, -16, 0, 0, 5 }, { -35, 16, -16, 0, 0, 2 }, { -36, 16, -16, 0, 0, 2 }, { -37, 16, -16, 0, 0, 2 }, { -38, 16, -16, 0, 0, 2 }, + { -39, 16, -16, 0, 0, 2 }, { -40, 16, -16, 0, 0, 2 }, { -41, 16, -16, 0, 0, 2 }, { -42, 16, -16, 0, 0, 2 }, { -43, 16, -16, 0, 0, 2 }, + { -44, 16, -16, 0, 0, 2 }, { -45, 16, -16, 0, 0, 2 }, { -46, 16, -16, 0, 0, 1 }, { -47, 16, -16, 0, 0, 1 }, { -48, 16, -16, 0, 0, 1 }, + { -49, 16, -16, 0, 0, 1 }, { -50, 16, -16, 0, 0, 1 }, { -51, 16, -16, 0, 0, 1 }, { -52, 16, -16, 0, 0, 1 }, { -53, 16, -16, 0, 0, 1 }, + { -54, 16, -16, 0, 0, 1 }, { -55, 16, -16, 0, 0, 1 }, { -56, 16, -16, 0, 0, 1 }, { -57, 16, -16, 0, 0, 1 }, { -58, 16, -16, 0, 0, 1 }, + { -59, 16, -16, 0, 0, 0 }, { -60, 16, -16, 0, 0, 0 }, { -61, 16, -16, 0, 0, 0 }, { -62, 16, -16, 0, 0, 0 }, { -63, 16, -16, 0, 0, 0 }, + { -64, 16, -16, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DC7F8 = { - 96, { - { 16, 0, -16, 24, 16, 0 }, { 16, 1, -16, 24, 16, 0 }, { 16, 2, -16, 24, 16, 0 }, { 16, 3, -16, 24, 16, 0 }, { 16, 4, -16, 24, 16, 0 }, - { 16, 5, -16, 8, 0, 9 }, { 16, 6, -16, 8, 0, 9 }, { 16, 7, -16, 8, 0, 9 }, { 16, 8, -16, 8, 0, 9 }, { 16, 9, -16, 8, 0, 9 }, - { 16, 10, -16, 8, 0, 9 }, { 16, 11, -16, 8, 0, 9 }, { 16, 12, -16, 8, 0, 9 }, { 16, 13, -16, 8, 0, 9 }, { 16, 14, -16, 8, 0, 9 }, - { 16, 15, -16, 8, 0, 9 }, { 16, 16, -16, 8, 0, 9 }, { 16, 17, -16, 8, 0, 9 }, { 16, 18, -16, 8, 0, 8 }, { 16, 19, -16, 8, 0, 8 }, - { 16, 20, -16, 8, 0, 8 }, { 16, 21, -16, 8, 0, 8 }, { 16, 22, -16, 8, 0, 8 }, { 16, 23, -16, 8, 0, 8 }, { 16, 24, -16, 8, 0, 8 }, - { 16, 25, -16, 8, 0, 8 }, { 16, 26, -16, 8, 0, 8 }, { 16, 27, -16, 8, 0, 8 }, { 16, 28, -16, 8, 0, 8 }, { 16, 29, -16, 8, 0, 7 }, - { 16, 30, -16, 8, 0, 7 }, { 16, 31, -16, 8, 0, 7 }, { 16, 32, -16, 8, 0, 7 }, { 16, 33, -16, 8, 0, 7 }, { 16, 34, -16, 8, 0, 7 }, - { 16, 35, -16, 8, 0, 7 }, { 16, 36, -16, 8, 0, 7 }, { 16, 37, -16, 8, 0, 7 }, { 16, 38, -16, 8, 0, 7 }, { 16, 39, -16, 8, 0, 7 }, - { 16, 40, -16, 8, 0, 7 }, { 16, 41, -16, 8, 0, 7 }, { 16, 42, -16, 8, 0, 6 }, { 16, 43, -16, 8, 0, 6 }, { 16, 44, -16, 8, 0, 6 }, - { 16, 45, -16, 8, 0, 6 }, { 16, 46, -16, 8, 0, 6 }, { 16, 47, -16, 8, 0, 6 }, { 16, 48, -16, 8, 0, 6 }, { 16, 49, -16, 8, 0, 6 }, - { 16, 50, -16, 8, 0, 6 }, { 16, 51, -16, 8, 0, 6 }, { 16, 52, -16, 8, 0, 6 }, { 16, 53, -16, 8, 0, 5 }, { 16, 54, -16, 8, 0, 5 }, - { 16, 55, -16, 8, 0, 5 }, { 16, 56, -16, 8, 0, 5 }, { 16, 57, -16, 8, 0, 5 }, { 16, 58, -16, 8, 0, 5 }, { 16, 59, -16, 8, 0, 5 }, - { 16, 60, -16, 8, 0, 5 }, { 16, 61, -16, 8, 0, 5 }, { 16, 62, -16, 8, 0, 5 }, { 16, 63, -16, 8, 0, 5 }, { 16, 64, -16, 8, 0, 5 }, - { 16, 65, -16, 8, 0, 5 }, { 16, 66, -16, 8, 0, 2 }, { 16, 67, -16, 8, 0, 2 }, { 16, 68, -16, 8, 0, 2 }, { 16, 69, -16, 8, 0, 2 }, - { 16, 70, -16, 8, 0, 2 }, { 16, 71, -16, 8, 0, 2 }, { 16, 72, -16, 8, 0, 2 }, { 16, 73, -16, 8, 0, 2 }, { 16, 74, -16, 8, 0, 2 }, - { 16, 75, -16, 8, 0, 2 }, { 16, 76, -16, 8, 0, 2 }, { 16, 77, -16, 8, 0, 1 }, { 16, 78, -16, 8, 0, 1 }, { 16, 79, -16, 8, 0, 1 }, - { 16, 80, -16, 8, 0, 1 }, { 16, 81, -16, 8, 0, 1 }, { 16, 82, -16, 8, 0, 1 }, { 16, 83, -16, 8, 0, 1 }, { 16, 84, -16, 8, 0, 1 }, - { 16, 85, -16, 8, 0, 1 }, { 16, 86, -16, 8, 0, 1 }, { 16, 87, -16, 8, 0, 1 }, { 16, 88, -16, 8, 0, 1 }, { 16, 89, -16, 8, 0, 1 }, - { 16, 90, -16, 8, 0, 0 }, { 16, 91, -16, 8, 0, 0 }, { 16, 92, -16, 8, 0, 0 }, { 16, 93, -16, 8, 0, 0 }, { 16, 94, -16, 8, 0, 0 }, - { 16, 95, -16, 8, 0, 0 }, + 96, { + { 16, 0, -16, 24, 16, 0 }, { 16, 1, -16, 24, 16, 0 }, { 16, 2, -16, 24, 16, 0 }, { 16, 3, -16, 24, 16, 0 }, { 16, 4, -16, 24, 16, 0 }, + { 16, 5, -16, 8, 0, 9 }, { 16, 6, -16, 8, 0, 9 }, { 16, 7, -16, 8, 0, 9 }, { 16, 8, -16, 8, 0, 9 }, { 16, 9, -16, 8, 0, 9 }, + { 16, 10, -16, 8, 0, 9 }, { 16, 11, -16, 8, 0, 9 }, { 16, 12, -16, 8, 0, 9 }, { 16, 13, -16, 8, 0, 9 }, { 16, 14, -16, 8, 0, 9 }, + { 16, 15, -16, 8, 0, 9 }, { 16, 16, -16, 8, 0, 9 }, { 16, 17, -16, 8, 0, 9 }, { 16, 18, -16, 8, 0, 8 }, { 16, 19, -16, 8, 0, 8 }, + { 16, 20, -16, 8, 0, 8 }, { 16, 21, -16, 8, 0, 8 }, { 16, 22, -16, 8, 0, 8 }, { 16, 23, -16, 8, 0, 8 }, { 16, 24, -16, 8, 0, 8 }, + { 16, 25, -16, 8, 0, 8 }, { 16, 26, -16, 8, 0, 8 }, { 16, 27, -16, 8, 0, 8 }, { 16, 28, -16, 8, 0, 8 }, { 16, 29, -16, 8, 0, 7 }, + { 16, 30, -16, 8, 0, 7 }, { 16, 31, -16, 8, 0, 7 }, { 16, 32, -16, 8, 0, 7 }, { 16, 33, -16, 8, 0, 7 }, { 16, 34, -16, 8, 0, 7 }, + { 16, 35, -16, 8, 0, 7 }, { 16, 36, -16, 8, 0, 7 }, { 16, 37, -16, 8, 0, 7 }, { 16, 38, -16, 8, 0, 7 }, { 16, 39, -16, 8, 0, 7 }, + { 16, 40, -16, 8, 0, 7 }, { 16, 41, -16, 8, 0, 7 }, { 16, 42, -16, 8, 0, 6 }, { 16, 43, -16, 8, 0, 6 }, { 16, 44, -16, 8, 0, 6 }, + { 16, 45, -16, 8, 0, 6 }, { 16, 46, -16, 8, 0, 6 }, { 16, 47, -16, 8, 0, 6 }, { 16, 48, -16, 8, 0, 6 }, { 16, 49, -16, 8, 0, 6 }, + { 16, 50, -16, 8, 0, 6 }, { 16, 51, -16, 8, 0, 6 }, { 16, 52, -16, 8, 0, 6 }, { 16, 53, -16, 8, 0, 5 }, { 16, 54, -16, 8, 0, 5 }, + { 16, 55, -16, 8, 0, 5 }, { 16, 56, -16, 8, 0, 5 }, { 16, 57, -16, 8, 0, 5 }, { 16, 58, -16, 8, 0, 5 }, { 16, 59, -16, 8, 0, 5 }, + { 16, 60, -16, 8, 0, 5 }, { 16, 61, -16, 8, 0, 5 }, { 16, 62, -16, 8, 0, 5 }, { 16, 63, -16, 8, 0, 5 }, { 16, 64, -16, 8, 0, 5 }, + { 16, 65, -16, 8, 0, 5 }, { 16, 66, -16, 8, 0, 2 }, { 16, 67, -16, 8, 0, 2 }, { 16, 68, -16, 8, 0, 2 }, { 16, 69, -16, 8, 0, 2 }, + { 16, 70, -16, 8, 0, 2 }, { 16, 71, -16, 8, 0, 2 }, { 16, 72, -16, 8, 0, 2 }, { 16, 73, -16, 8, 0, 2 }, { 16, 74, -16, 8, 0, 2 }, + { 16, 75, -16, 8, 0, 2 }, { 16, 76, -16, 8, 0, 2 }, { 16, 77, -16, 8, 0, 1 }, { 16, 78, -16, 8, 0, 1 }, { 16, 79, -16, 8, 0, 1 }, + { 16, 80, -16, 8, 0, 1 }, { 16, 81, -16, 8, 0, 1 }, { 16, 82, -16, 8, 0, 1 }, { 16, 83, -16, 8, 0, 1 }, { 16, 84, -16, 8, 0, 1 }, + { 16, 85, -16, 8, 0, 1 }, { 16, 86, -16, 8, 0, 1 }, { 16, 87, -16, 8, 0, 1 }, { 16, 88, -16, 8, 0, 1 }, { 16, 89, -16, 8, 0, 1 }, + { 16, 90, -16, 8, 0, 0 }, { 16, 91, -16, 8, 0, 0 }, { 16, 92, -16, 8, 0, 0 }, { 16, 93, -16, 8, 0, 0 }, { 16, 94, -16, 8, 0, 0 }, + { 16, 95, -16, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DCB5A = { - 96, { - { 0, 16, -16, 0, 16, 0 }, { 1, 16, -16, 0, 16, 0 }, { 2, 16, -16, 0, 16, 0 }, { 3, 16, -16, 0, 16, 0 }, { 4, 16, -16, 0, 16, 0 }, - { 5, 16, -16, 16, 0, 9 }, { 6, 16, -16, 16, 0, 9 }, { 7, 16, -16, 16, 0, 9 }, { 8, 16, -16, 16, 0, 9 }, { 9, 16, -16, 16, 0, 9 }, - { 10, 16, -16, 16, 0, 9 }, { 11, 16, -16, 16, 0, 9 }, { 12, 16, -16, 16, 0, 9 }, { 13, 16, -16, 16, 0, 9 }, { 14, 16, -16, 16, 0, 9 }, - { 15, 16, -16, 16, 0, 9 }, { 16, 16, -16, 16, 0, 9 }, { 17, 16, -16, 16, 0, 9 }, { 18, 16, -16, 16, 0, 8 }, { 19, 16, -16, 16, 0, 8 }, - { 20, 16, -16, 16, 0, 8 }, { 21, 16, -16, 16, 0, 8 }, { 22, 16, -16, 16, 0, 8 }, { 23, 16, -16, 16, 0, 8 }, { 24, 16, -16, 16, 0, 8 }, - { 25, 16, -16, 16, 0, 8 }, { 26, 16, -16, 16, 0, 8 }, { 27, 16, -16, 16, 0, 8 }, { 28, 16, -16, 16, 0, 8 }, { 29, 16, -16, 16, 0, 7 }, - { 30, 16, -16, 16, 0, 7 }, { 31, 16, -16, 16, 0, 7 }, { 32, 16, -16, 16, 0, 7 }, { 33, 16, -16, 16, 0, 7 }, { 34, 16, -16, 16, 0, 7 }, - { 35, 16, -16, 16, 0, 7 }, { 36, 16, -16, 16, 0, 7 }, { 37, 16, -16, 16, 0, 7 }, { 38, 16, -16, 16, 0, 7 }, { 39, 16, -16, 16, 0, 7 }, - { 40, 16, -16, 16, 0, 7 }, { 41, 16, -16, 16, 0, 7 }, { 42, 16, -16, 16, 0, 6 }, { 43, 16, -16, 16, 0, 6 }, { 44, 16, -16, 16, 0, 6 }, - { 45, 16, -16, 16, 0, 6 }, { 46, 16, -16, 16, 0, 6 }, { 47, 16, -16, 16, 0, 6 }, { 48, 16, -16, 16, 0, 6 }, { 49, 16, -16, 16, 0, 6 }, - { 50, 16, -16, 16, 0, 6 }, { 51, 16, -16, 16, 0, 6 }, { 52, 16, -16, 16, 0, 6 }, { 53, 16, -16, 16, 0, 5 }, { 54, 16, -16, 16, 0, 5 }, - { 55, 16, -16, 16, 0, 5 }, { 56, 16, -16, 16, 0, 5 }, { 57, 16, -16, 16, 0, 5 }, { 58, 16, -16, 16, 0, 5 }, { 59, 16, -16, 16, 0, 5 }, - { 60, 16, -16, 16, 0, 5 }, { 61, 16, -16, 16, 0, 5 }, { 62, 16, -16, 16, 0, 5 }, { 63, 16, -16, 16, 0, 5 }, { 64, 16, -16, 16, 0, 5 }, - { 65, 16, -16, 16, 0, 5 }, { 66, 16, -16, 16, 0, 2 }, { 67, 16, -16, 16, 0, 2 }, { 68, 16, -16, 16, 0, 2 }, { 69, 16, -16, 16, 0, 2 }, - { 70, 16, -16, 16, 0, 2 }, { 71, 16, -16, 16, 0, 2 }, { 72, 16, -16, 16, 0, 2 }, { 73, 16, -16, 16, 0, 2 }, { 74, 16, -16, 16, 0, 2 }, - { 75, 16, -16, 16, 0, 2 }, { 76, 16, -16, 16, 0, 2 }, { 77, 16, -16, 16, 0, 1 }, { 78, 16, -16, 16, 0, 1 }, { 79, 16, -16, 16, 0, 1 }, - { 80, 16, -16, 16, 0, 1 }, { 81, 16, -16, 16, 0, 1 }, { 82, 16, -16, 16, 0, 1 }, { 83, 16, -16, 16, 0, 1 }, { 84, 16, -16, 16, 0, 1 }, - { 85, 16, -16, 16, 0, 1 }, { 86, 16, -16, 16, 0, 1 }, { 87, 16, -16, 16, 0, 1 }, { 88, 16, -16, 16, 0, 1 }, { 89, 16, -16, 16, 0, 1 }, - { 90, 16, -16, 16, 0, 0 }, { 91, 16, -16, 16, 0, 0 }, { 92, 16, -16, 16, 0, 0 }, { 93, 16, -16, 16, 0, 0 }, { 94, 16, -16, 16, 0, 0 }, - { 95, 16, -16, 16, 0, 0 }, + 96, { + { 0, 16, -16, 0, 16, 0 }, { 1, 16, -16, 0, 16, 0 }, { 2, 16, -16, 0, 16, 0 }, { 3, 16, -16, 0, 16, 0 }, { 4, 16, -16, 0, 16, 0 }, + { 5, 16, -16, 16, 0, 9 }, { 6, 16, -16, 16, 0, 9 }, { 7, 16, -16, 16, 0, 9 }, { 8, 16, -16, 16, 0, 9 }, { 9, 16, -16, 16, 0, 9 }, + { 10, 16, -16, 16, 0, 9 }, { 11, 16, -16, 16, 0, 9 }, { 12, 16, -16, 16, 0, 9 }, { 13, 16, -16, 16, 0, 9 }, { 14, 16, -16, 16, 0, 9 }, + { 15, 16, -16, 16, 0, 9 }, { 16, 16, -16, 16, 0, 9 }, { 17, 16, -16, 16, 0, 9 }, { 18, 16, -16, 16, 0, 8 }, { 19, 16, -16, 16, 0, 8 }, + { 20, 16, -16, 16, 0, 8 }, { 21, 16, -16, 16, 0, 8 }, { 22, 16, -16, 16, 0, 8 }, { 23, 16, -16, 16, 0, 8 }, { 24, 16, -16, 16, 0, 8 }, + { 25, 16, -16, 16, 0, 8 }, { 26, 16, -16, 16, 0, 8 }, { 27, 16, -16, 16, 0, 8 }, { 28, 16, -16, 16, 0, 8 }, { 29, 16, -16, 16, 0, 7 }, + { 30, 16, -16, 16, 0, 7 }, { 31, 16, -16, 16, 0, 7 }, { 32, 16, -16, 16, 0, 7 }, { 33, 16, -16, 16, 0, 7 }, { 34, 16, -16, 16, 0, 7 }, + { 35, 16, -16, 16, 0, 7 }, { 36, 16, -16, 16, 0, 7 }, { 37, 16, -16, 16, 0, 7 }, { 38, 16, -16, 16, 0, 7 }, { 39, 16, -16, 16, 0, 7 }, + { 40, 16, -16, 16, 0, 7 }, { 41, 16, -16, 16, 0, 7 }, { 42, 16, -16, 16, 0, 6 }, { 43, 16, -16, 16, 0, 6 }, { 44, 16, -16, 16, 0, 6 }, + { 45, 16, -16, 16, 0, 6 }, { 46, 16, -16, 16, 0, 6 }, { 47, 16, -16, 16, 0, 6 }, { 48, 16, -16, 16, 0, 6 }, { 49, 16, -16, 16, 0, 6 }, + { 50, 16, -16, 16, 0, 6 }, { 51, 16, -16, 16, 0, 6 }, { 52, 16, -16, 16, 0, 6 }, { 53, 16, -16, 16, 0, 5 }, { 54, 16, -16, 16, 0, 5 }, + { 55, 16, -16, 16, 0, 5 }, { 56, 16, -16, 16, 0, 5 }, { 57, 16, -16, 16, 0, 5 }, { 58, 16, -16, 16, 0, 5 }, { 59, 16, -16, 16, 0, 5 }, + { 60, 16, -16, 16, 0, 5 }, { 61, 16, -16, 16, 0, 5 }, { 62, 16, -16, 16, 0, 5 }, { 63, 16, -16, 16, 0, 5 }, { 64, 16, -16, 16, 0, 5 }, + { 65, 16, -16, 16, 0, 5 }, { 66, 16, -16, 16, 0, 2 }, { 67, 16, -16, 16, 0, 2 }, { 68, 16, -16, 16, 0, 2 }, { 69, 16, -16, 16, 0, 2 }, + { 70, 16, -16, 16, 0, 2 }, { 71, 16, -16, 16, 0, 2 }, { 72, 16, -16, 16, 0, 2 }, { 73, 16, -16, 16, 0, 2 }, { 74, 16, -16, 16, 0, 2 }, + { 75, 16, -16, 16, 0, 2 }, { 76, 16, -16, 16, 0, 2 }, { 77, 16, -16, 16, 0, 1 }, { 78, 16, -16, 16, 0, 1 }, { 79, 16, -16, 16, 0, 1 }, + { 80, 16, -16, 16, 0, 1 }, { 81, 16, -16, 16, 0, 1 }, { 82, 16, -16, 16, 0, 1 }, { 83, 16, -16, 16, 0, 1 }, { 84, 16, -16, 16, 0, 1 }, + { 85, 16, -16, 16, 0, 1 }, { 86, 16, -16, 16, 0, 1 }, { 87, 16, -16, 16, 0, 1 }, { 88, 16, -16, 16, 0, 1 }, { 89, 16, -16, 16, 0, 1 }, + { 90, 16, -16, 16, 0, 0 }, { 91, 16, -16, 16, 0, 0 }, { 92, 16, -16, 16, 0, 0 }, { 93, 16, -16, 16, 0, 0 }, { 94, 16, -16, 16, 0, 0 }, + { 95, 16, -16, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DCEBC = { - 96, { - { 16, 31, -16, 8, 16, 0 }, { 16, 30, -16, 8, 16, 0 }, { 16, 29, -16, 8, 16, 0 }, { 16, 28, -16, 8, 16, 0 }, { 16, 27, -16, 8, 16, 0 }, - { 16, 26, -16, 24, 0, 9 }, { 16, 25, -16, 24, 0, 9 }, { 16, 24, -16, 24, 0, 9 }, { 16, 23, -16, 24, 0, 9 }, { 16, 22, -16, 24, 0, 9 }, - { 16, 21, -16, 24, 0, 9 }, { 16, 20, -16, 24, 0, 9 }, { 16, 19, -16, 24, 0, 9 }, { 16, 18, -16, 24, 0, 9 }, { 16, 17, -16, 24, 0, 9 }, - { 16, 16, -16, 24, 0, 9 }, { 16, 15, -16, 24, 0, 9 }, { 16, 14, -16, 24, 0, 9 }, { 16, 13, -16, 24, 0, 8 }, { 16, 12, -16, 24, 0, 8 }, - { 16, 11, -16, 24, 0, 8 }, { 16, 10, -16, 24, 0, 8 }, { 16, 9, -16, 24, 0, 8 }, { 16, 8, -16, 24, 0, 8 }, { 16, 7, -16, 24, 0, 8 }, - { 16, 6, -16, 24, 0, 8 }, { 16, 5, -16, 24, 0, 8 }, { 16, 4, -16, 24, 0, 8 }, { 16, 3, -16, 24, 0, 8 }, { 16, 2, -16, 24, 0, 7 }, - { 16, 1, -16, 24, 0, 7 }, { 16, 0, -16, 24, 0, 7 }, { 16, -1, -16, 24, 0, 7 }, { 16, -2, -16, 24, 0, 7 }, { 16, -3, -16, 24, 0, 7 }, - { 16, -4, -16, 24, 0, 7 }, { 16, -5, -16, 24, 0, 7 }, { 16, -6, -16, 24, 0, 7 }, { 16, -7, -16, 24, 0, 7 }, { 16, -8, -16, 24, 0, 7 }, - { 16, -9, -16, 24, 0, 7 }, { 16, -10, -16, 24, 0, 7 }, { 16, -11, -16, 24, 0, 6 }, { 16, -12, -16, 24, 0, 6 }, { 16, -13, -16, 24, 0, 6 }, - { 16, -14, -16, 24, 0, 6 }, { 16, -15, -16, 24, 0, 6 }, { 16, -16, -16, 24, 0, 6 }, { 16, -17, -16, 24, 0, 6 }, { 16, -18, -16, 24, 0, 6 }, - { 16, -19, -16, 24, 0, 6 }, { 16, -20, -16, 24, 0, 6 }, { 16, -21, -16, 24, 0, 6 }, { 16, -22, -16, 24, 0, 5 }, { 16, -23, -16, 24, 0, 5 }, - { 16, -24, -16, 24, 0, 5 }, { 16, -25, -16, 24, 0, 5 }, { 16, -26, -16, 24, 0, 5 }, { 16, -27, -16, 24, 0, 5 }, { 16, -28, -16, 24, 0, 5 }, - { 16, -29, -16, 24, 0, 5 }, { 16, -30, -16, 24, 0, 5 }, { 16, -31, -16, 24, 0, 5 }, { 16, -32, -16, 24, 0, 5 }, { 16, -33, -16, 24, 0, 5 }, - { 16, -34, -16, 24, 0, 5 }, { 16, -35, -16, 24, 0, 2 }, { 16, -36, -16, 24, 0, 2 }, { 16, -37, -16, 24, 0, 2 }, { 16, -38, -16, 24, 0, 2 }, - { 16, -39, -16, 24, 0, 2 }, { 16, -40, -16, 24, 0, 2 }, { 16, -41, -16, 24, 0, 2 }, { 16, -42, -16, 24, 0, 2 }, { 16, -43, -16, 24, 0, 2 }, - { 16, -44, -16, 24, 0, 2 }, { 16, -45, -16, 24, 0, 2 }, { 16, -46, -16, 24, 0, 1 }, { 16, -47, -16, 24, 0, 1 }, { 16, -48, -16, 24, 0, 1 }, - { 16, -49, -16, 24, 0, 1 }, { 16, -50, -16, 24, 0, 1 }, { 16, -51, -16, 24, 0, 1 }, { 16, -52, -16, 24, 0, 1 }, { 16, -53, -16, 24, 0, 1 }, - { 16, -54, -16, 24, 0, 1 }, { 16, -55, -16, 24, 0, 1 }, { 16, -56, -16, 24, 0, 1 }, { 16, -57, -16, 24, 0, 1 }, { 16, -58, -16, 24, 0, 1 }, - { 16, -59, -16, 24, 0, 0 }, { 16, -60, -16, 24, 0, 0 }, { 16, -61, -16, 24, 0, 0 }, { 16, -62, -16, 24, 0, 0 }, { 16, -63, -16, 24, 0, 0 }, - { 16, -64, -16, 24, 0, 0 }, + 96, { + { 16, 31, -16, 8, 16, 0 }, { 16, 30, -16, 8, 16, 0 }, { 16, 29, -16, 8, 16, 0 }, { 16, 28, -16, 8, 16, 0 }, { 16, 27, -16, 8, 16, 0 }, + { 16, 26, -16, 24, 0, 9 }, { 16, 25, -16, 24, 0, 9 }, { 16, 24, -16, 24, 0, 9 }, { 16, 23, -16, 24, 0, 9 }, { 16, 22, -16, 24, 0, 9 }, + { 16, 21, -16, 24, 0, 9 }, { 16, 20, -16, 24, 0, 9 }, { 16, 19, -16, 24, 0, 9 }, { 16, 18, -16, 24, 0, 9 }, { 16, 17, -16, 24, 0, 9 }, + { 16, 16, -16, 24, 0, 9 }, { 16, 15, -16, 24, 0, 9 }, { 16, 14, -16, 24, 0, 9 }, { 16, 13, -16, 24, 0, 8 }, { 16, 12, -16, 24, 0, 8 }, + { 16, 11, -16, 24, 0, 8 }, { 16, 10, -16, 24, 0, 8 }, { 16, 9, -16, 24, 0, 8 }, { 16, 8, -16, 24, 0, 8 }, { 16, 7, -16, 24, 0, 8 }, + { 16, 6, -16, 24, 0, 8 }, { 16, 5, -16, 24, 0, 8 }, { 16, 4, -16, 24, 0, 8 }, { 16, 3, -16, 24, 0, 8 }, { 16, 2, -16, 24, 0, 7 }, + { 16, 1, -16, 24, 0, 7 }, { 16, 0, -16, 24, 0, 7 }, { 16, -1, -16, 24, 0, 7 }, { 16, -2, -16, 24, 0, 7 }, { 16, -3, -16, 24, 0, 7 }, + { 16, -4, -16, 24, 0, 7 }, { 16, -5, -16, 24, 0, 7 }, { 16, -6, -16, 24, 0, 7 }, { 16, -7, -16, 24, 0, 7 }, { 16, -8, -16, 24, 0, 7 }, + { 16, -9, -16, 24, 0, 7 }, { 16, -10, -16, 24, 0, 7 }, { 16, -11, -16, 24, 0, 6 }, { 16, -12, -16, 24, 0, 6 }, { 16, -13, -16, 24, 0, 6 }, + { 16, -14, -16, 24, 0, 6 }, { 16, -15, -16, 24, 0, 6 }, { 16, -16, -16, 24, 0, 6 }, { 16, -17, -16, 24, 0, 6 }, { 16, -18, -16, 24, 0, 6 }, + { 16, -19, -16, 24, 0, 6 }, { 16, -20, -16, 24, 0, 6 }, { 16, -21, -16, 24, 0, 6 }, { 16, -22, -16, 24, 0, 5 }, { 16, -23, -16, 24, 0, 5 }, + { 16, -24, -16, 24, 0, 5 }, { 16, -25, -16, 24, 0, 5 }, { 16, -26, -16, 24, 0, 5 }, { 16, -27, -16, 24, 0, 5 }, { 16, -28, -16, 24, 0, 5 }, + { 16, -29, -16, 24, 0, 5 }, { 16, -30, -16, 24, 0, 5 }, { 16, -31, -16, 24, 0, 5 }, { 16, -32, -16, 24, 0, 5 }, { 16, -33, -16, 24, 0, 5 }, + { 16, -34, -16, 24, 0, 5 }, { 16, -35, -16, 24, 0, 2 }, { 16, -36, -16, 24, 0, 2 }, { 16, -37, -16, 24, 0, 2 }, { 16, -38, -16, 24, 0, 2 }, + { 16, -39, -16, 24, 0, 2 }, { 16, -40, -16, 24, 0, 2 }, { 16, -41, -16, 24, 0, 2 }, { 16, -42, -16, 24, 0, 2 }, { 16, -43, -16, 24, 0, 2 }, + { 16, -44, -16, 24, 0, 2 }, { 16, -45, -16, 24, 0, 2 }, { 16, -46, -16, 24, 0, 1 }, { 16, -47, -16, 24, 0, 1 }, { 16, -48, -16, 24, 0, 1 }, + { 16, -49, -16, 24, 0, 1 }, { 16, -50, -16, 24, 0, 1 }, { 16, -51, -16, 24, 0, 1 }, { 16, -52, -16, 24, 0, 1 }, { 16, -53, -16, 24, 0, 1 }, + { 16, -54, -16, 24, 0, 1 }, { 16, -55, -16, 24, 0, 1 }, { 16, -56, -16, 24, 0, 1 }, { 16, -57, -16, 24, 0, 1 }, { 16, -58, -16, 24, 0, 1 }, + { 16, -59, -16, 24, 0, 0 }, { 16, -60, -16, 24, 0, 0 }, { 16, -61, -16, 24, 0, 0 }, { 16, -62, -16, 24, 0, 0 }, { 16, -63, -16, 24, 0, 0 }, + { 16, -64, -16, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E644E = { - 160, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 3, 0, 2, 0 }, { 22, 16, 4, 0, 2, 0 }, - { 21, 16, 4, 0, 2, 0 }, { 20, 16, 5, 0, 2, 0 }, { 19, 16, 5, 0, 2, 0 }, { 18, 16, 6, 0, 2, 0 }, { 17, 16, 6, 0, 2, 0 }, - { 16, 16, 7, 0, 2, 0 }, { 15, 16, 7, 0, 2, 0 }, { 14, 16, 8, 0, 2, 0 }, { 13, 16, 8, 0, 2, 0 }, { 12, 16, 9, 0, 3, 0 }, - { 11, 16, 9, 0, 3, 0 }, { 10, 16, 10, 0, 3, 0 }, { 9, 16, 10, 0, 3, 0 }, { 8, 16, 11, 0, 3, 0 }, { 7, 16, 11, 0, 3, 0 }, - { 6, 16, 12, 0, 3, 0 }, { 5, 16, 13, 0, 3, 0 }, { 4, 16, 14, 0, 3, 0 }, { 3, 16, 15, 0, 3, 0 }, { 2, 16, 15, 0, 3, 0 }, - { 1, 16, 16, 0, 3, 0 }, { 0, 16, 17, 0, 3, 0 }, { -1, 16, 18, 0, 3, 0 }, { -2, 16, 18, 0, 3, 0 }, { -3, 16, 19, 0, 3, 0 }, - { -4, 16, 20, 0, 3, 0 }, { -5, 16, 21, 0, 3, 0 }, { -6, 16, 22, 0, 3, 0 }, { -7, 16, 23, 0, 3, 0 }, { -8, 16, 24, 0, 3, 0 }, - { -9, 16, 25, 0, 3, 0 }, { -10, 16, 26, 0, 3, 0 }, { -11, 16, 27, 0, 4, 0 }, { -12, 16, 28, 0, 4, 0 }, { -13, 16, 29, 0, 4, 0 }, - { -13, 16, 30, 0, 4, 0 }, { -14, 16, 31, 0, 4, 0 }, { -15, 16, 32, 0, 4, 0 }, { -16, 16, 33, 0, 4, 0 }, { -16, 16, 34, 0, 4, 0 }, - { -17, 16, 35, 0, 4, 0 }, { -18, 16, 36, 0, 4, 0 }, { -19, 16, 37, 0, 4, 0 }, { -19, 16, 38, 0, 4, 0 }, { -20, 16, 39, 0, 4, 0 }, - { -20, 16, 40, 0, 4, 0 }, { -21, 16, 41, 0, 4, 0 }, { -22, 16, 42, 0, 4, 0 }, { -22, 16, 43, 0, 9, 0 }, { -23, 16, 44, 0, 9, 0 }, - { -24, 16, 45, 0, 9, 0 }, { -24, 16, 46, 0, 9, 0 }, { -25, 16, 47, 0, 9, 0 }, { -25, 16, 48, 0, 9, 0 }, { -25, 16, 49, 0, 9, 0 }, - { -26, 16, 50, 0, 9, 0 }, { -26, 16, 51, 0, 9, 0 }, { -26, 16, 52, 0, 9, 0 }, { -27, 16, 53, 0, 9, 0 }, { -27, 16, 54, 0, 9, 0 }, - { -27, 16, 55, 0, 9, 0 }, { -28, 16, 56, 0, 9, 0 }, { -28, 16, 57, 0, 9, 0 }, { -28, 16, 58, 0, 9, 0 }, { -29, 16, 59, 0, 9, 0 }, - { -29, 16, 60, 0, 9, 0 }, { -29, 16, 61, 0, 9, 0 }, { -30, 16, 62, 0, 9, 0 }, { -30, 16, 63, 0, 9, 0 }, { -30, 16, 64, 0, 10, 0 }, - { -30, 16, 65, 0, 10, 0 }, { -31, 16, 66, 0, 10, 0 }, { -31, 16, 67, 0, 10, 0 }, { -31, 16, 68, 0, 10, 0 }, { -31, 16, 69, 0, 10, 0 }, - { -31, 16, 70, 0, 10, 0 }, { -32, 16, 71, 0, 10, 0 }, { -32, 16, 72, 0, 10, 0 }, { -32, 16, 73, 0, 10, 0 }, { -32, 16, 74, 0, 10, 0 }, - { -32, 16, 75, 0, 10, 0 }, { -32, 16, 76, 0, 10, 0 }, { -32, 16, 77, 0, 10, 0 }, { -32, 16, 78, 0, 10, 0 }, { -32, 16, 79, 0, 10, 0 }, - { -32, 16, 80, 0, 10, 0 }, { -32, 16, 81, 0, 10, 0 }, { -32, 16, 82, 0, 10, 0 }, { -32, 16, 83, 0, 10, 0 }, { -32, 16, 84, 0, 10, 0 }, - { -32, 16, 85, 0, 10, 0 }, { -32, 16, 86, 0, 10, 0 }, { -32, 16, 87, 0, 10, 0 }, { -32, 16, 88, 0, 10, 0 }, { -32, 16, 89, 0, 10, 0 }, - { -32, 16, 90, 0, 10, 0 }, { -32, 16, 91, 0, 10, 0 }, { -32, 16, 92, 0, 10, 0 }, { -32, 16, 93, 0, 10, 0 }, { -32, 16, 94, 0, 10, 0 }, - { -32, 16, 95, 0, 10, 0 }, { -32, 16, 96, 0, 10, 0 }, { -32, 16, 97, 0, 11, 0 }, { -32, 16, 98, 0, 11, 0 }, { -31, 16, 99, 0, 11, 0 }, - { -31, 16, 100, 0, 11, 0 }, { -31, 16, 101, 0, 11, 0 }, { -31, 16, 102, 0, 11, 0 }, { -31, 16, 103, 0, 11, 0 }, { -30, 16, 104, 0, 11, 0 }, - { -30, 16, 105, 0, 11, 0 }, { -30, 16, 106, 0, 11, 0 }, { -30, 16, 107, 0, 11, 0 }, { -29, 16, 108, 0, 11, 0 }, { -29, 16, 109, 0, 11, 0 }, - { -29, 16, 110, 0, 11, 0 }, { -28, 16, 111, 0, 12, 0 }, { -28, 16, 112, 0, 12, 0 }, { -27, 16, 113, 0, 12, 0 }, { -27, 16, 114, 0, 12, 0 }, - { -26, 16, 115, 0, 12, 0 }, { -26, 16, 116, 0, 12, 0 }, { -26, 16, 117, 0, 12, 0 }, { -25, 16, 118, 0, 12, 0 }, { -25, 16, 119, 0, 12, 0 }, - { -24, 16, 120, 0, 13, 0 }, { -24, 16, 121, 0, 13, 0 }, { -23, 16, 122, 0, 13, 0 }, { -22, 16, 123, 0, 13, 0 }, { -22, 16, 124, 0, 13, 0 }, - { -21, 16, 125, 0, 13, 0 }, { -20, 16, 126, 0, 13, 0 }, { -19, 16, 127, 0, 13, 0 }, { -18, 16, 128, 0, 14, 0 }, { -17, 16, 129, 0, 14, 0 }, - { -16, 16, 130, 0, 14, 0 }, { -15, 16, 130, 0, 14, 0 }, { -14, 16, 131, 0, 14, 0 }, { -13, 16, 132, 0, 15, 0 }, { -12, 16, 133, 0, 15, 0 }, - { -11, 16, 134, 0, 15, 0 }, { -10, 16, 134, 0, 15, 0 }, { -9, 16, 135, 0, 15, 0 }, { -8, 16, 135, 0, 16, 0 }, { -7, 16, 135, 0, 16, 0 }, - { -6, 16, 136, 0, 16, 0 }, { -5, 16, 136, 0, 16, 0 }, { -4, 16, 136, 0, 16, 0 }, { -3, 16, 136, 0, 16, 0 }, { -2, 16, 136, 0, 16, 0 }, + 160, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 3, 0, 2, 0 }, { 22, 16, 4, 0, 2, 0 }, + { 21, 16, 4, 0, 2, 0 }, { 20, 16, 5, 0, 2, 0 }, { 19, 16, 5, 0, 2, 0 }, { 18, 16, 6, 0, 2, 0 }, { 17, 16, 6, 0, 2, 0 }, + { 16, 16, 7, 0, 2, 0 }, { 15, 16, 7, 0, 2, 0 }, { 14, 16, 8, 0, 2, 0 }, { 13, 16, 8, 0, 2, 0 }, { 12, 16, 9, 0, 3, 0 }, + { 11, 16, 9, 0, 3, 0 }, { 10, 16, 10, 0, 3, 0 }, { 9, 16, 10, 0, 3, 0 }, { 8, 16, 11, 0, 3, 0 }, { 7, 16, 11, 0, 3, 0 }, + { 6, 16, 12, 0, 3, 0 }, { 5, 16, 13, 0, 3, 0 }, { 4, 16, 14, 0, 3, 0 }, { 3, 16, 15, 0, 3, 0 }, { 2, 16, 15, 0, 3, 0 }, + { 1, 16, 16, 0, 3, 0 }, { 0, 16, 17, 0, 3, 0 }, { -1, 16, 18, 0, 3, 0 }, { -2, 16, 18, 0, 3, 0 }, { -3, 16, 19, 0, 3, 0 }, + { -4, 16, 20, 0, 3, 0 }, { -5, 16, 21, 0, 3, 0 }, { -6, 16, 22, 0, 3, 0 }, { -7, 16, 23, 0, 3, 0 }, { -8, 16, 24, 0, 3, 0 }, + { -9, 16, 25, 0, 3, 0 }, { -10, 16, 26, 0, 3, 0 }, { -11, 16, 27, 0, 4, 0 }, { -12, 16, 28, 0, 4, 0 }, { -13, 16, 29, 0, 4, 0 }, + { -13, 16, 30, 0, 4, 0 }, { -14, 16, 31, 0, 4, 0 }, { -15, 16, 32, 0, 4, 0 }, { -16, 16, 33, 0, 4, 0 }, { -16, 16, 34, 0, 4, 0 }, + { -17, 16, 35, 0, 4, 0 }, { -18, 16, 36, 0, 4, 0 }, { -19, 16, 37, 0, 4, 0 }, { -19, 16, 38, 0, 4, 0 }, { -20, 16, 39, 0, 4, 0 }, + { -20, 16, 40, 0, 4, 0 }, { -21, 16, 41, 0, 4, 0 }, { -22, 16, 42, 0, 4, 0 }, { -22, 16, 43, 0, 9, 0 }, { -23, 16, 44, 0, 9, 0 }, + { -24, 16, 45, 0, 9, 0 }, { -24, 16, 46, 0, 9, 0 }, { -25, 16, 47, 0, 9, 0 }, { -25, 16, 48, 0, 9, 0 }, { -25, 16, 49, 0, 9, 0 }, + { -26, 16, 50, 0, 9, 0 }, { -26, 16, 51, 0, 9, 0 }, { -26, 16, 52, 0, 9, 0 }, { -27, 16, 53, 0, 9, 0 }, { -27, 16, 54, 0, 9, 0 }, + { -27, 16, 55, 0, 9, 0 }, { -28, 16, 56, 0, 9, 0 }, { -28, 16, 57, 0, 9, 0 }, { -28, 16, 58, 0, 9, 0 }, { -29, 16, 59, 0, 9, 0 }, + { -29, 16, 60, 0, 9, 0 }, { -29, 16, 61, 0, 9, 0 }, { -30, 16, 62, 0, 9, 0 }, { -30, 16, 63, 0, 9, 0 }, { -30, 16, 64, 0, 10, 0 }, + { -30, 16, 65, 0, 10, 0 }, { -31, 16, 66, 0, 10, 0 }, { -31, 16, 67, 0, 10, 0 }, { -31, 16, 68, 0, 10, 0 }, { -31, 16, 69, 0, 10, 0 }, + { -31, 16, 70, 0, 10, 0 }, { -32, 16, 71, 0, 10, 0 }, { -32, 16, 72, 0, 10, 0 }, { -32, 16, 73, 0, 10, 0 }, { -32, 16, 74, 0, 10, 0 }, + { -32, 16, 75, 0, 10, 0 }, { -32, 16, 76, 0, 10, 0 }, { -32, 16, 77, 0, 10, 0 }, { -32, 16, 78, 0, 10, 0 }, { -32, 16, 79, 0, 10, 0 }, + { -32, 16, 80, 0, 10, 0 }, { -32, 16, 81, 0, 10, 0 }, { -32, 16, 82, 0, 10, 0 }, { -32, 16, 83, 0, 10, 0 }, { -32, 16, 84, 0, 10, 0 }, + { -32, 16, 85, 0, 10, 0 }, { -32, 16, 86, 0, 10, 0 }, { -32, 16, 87, 0, 10, 0 }, { -32, 16, 88, 0, 10, 0 }, { -32, 16, 89, 0, 10, 0 }, + { -32, 16, 90, 0, 10, 0 }, { -32, 16, 91, 0, 10, 0 }, { -32, 16, 92, 0, 10, 0 }, { -32, 16, 93, 0, 10, 0 }, { -32, 16, 94, 0, 10, 0 }, + { -32, 16, 95, 0, 10, 0 }, { -32, 16, 96, 0, 10, 0 }, { -32, 16, 97, 0, 11, 0 }, { -32, 16, 98, 0, 11, 0 }, { -31, 16, 99, 0, 11, 0 }, + { -31, 16, 100, 0, 11, 0 }, { -31, 16, 101, 0, 11, 0 }, { -31, 16, 102, 0, 11, 0 }, { -31, 16, 103, 0, 11, 0 }, { -30, 16, 104, 0, 11, 0 }, + { -30, 16, 105, 0, 11, 0 }, { -30, 16, 106, 0, 11, 0 }, { -30, 16, 107, 0, 11, 0 }, { -29, 16, 108, 0, 11, 0 }, { -29, 16, 109, 0, 11, 0 }, + { -29, 16, 110, 0, 11, 0 }, { -28, 16, 111, 0, 12, 0 }, { -28, 16, 112, 0, 12, 0 }, { -27, 16, 113, 0, 12, 0 }, { -27, 16, 114, 0, 12, 0 }, + { -26, 16, 115, 0, 12, 0 }, { -26, 16, 116, 0, 12, 0 }, { -26, 16, 117, 0, 12, 0 }, { -25, 16, 118, 0, 12, 0 }, { -25, 16, 119, 0, 12, 0 }, + { -24, 16, 120, 0, 13, 0 }, { -24, 16, 121, 0, 13, 0 }, { -23, 16, 122, 0, 13, 0 }, { -22, 16, 123, 0, 13, 0 }, { -22, 16, 124, 0, 13, 0 }, + { -21, 16, 125, 0, 13, 0 }, { -20, 16, 126, 0, 13, 0 }, { -19, 16, 127, 0, 13, 0 }, { -18, 16, 128, 0, 14, 0 }, { -17, 16, 129, 0, 14, 0 }, + { -16, 16, 130, 0, 14, 0 }, { -15, 16, 130, 0, 14, 0 }, { -14, 16, 131, 0, 14, 0 }, { -13, 16, 132, 0, 15, 0 }, { -12, 16, 133, 0, 15, 0 }, + { -11, 16, 134, 0, 15, 0 }, { -10, 16, 134, 0, 15, 0 }, { -9, 16, 135, 0, 15, 0 }, { -8, 16, 135, 0, 16, 0 }, { -7, 16, 135, 0, 16, 0 }, + { -6, 16, 136, 0, 16, 0 }, { -5, 16, 136, 0, 16, 0 }, { -4, 16, 136, 0, 16, 0 }, { -3, 16, 136, 0, 16, 0 }, { -2, 16, 136, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E69F9 = { - 160, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 3, 8, 2, 0 }, { 16, 9, 4, 8, 2, 0 }, - { 16, 10, 4, 8, 2, 0 }, { 16, 11, 5, 8, 2, 0 }, { 16, 12, 5, 8, 2, 0 }, { 16, 13, 6, 8, 2, 0 }, { 16, 14, 6, 8, 2, 0 }, - { 16, 15, 7, 8, 2, 0 }, { 16, 16, 7, 8, 2, 0 }, { 16, 17, 8, 8, 2, 0 }, { 16, 18, 8, 8, 2, 0 }, { 16, 19, 9, 8, 3, 0 }, - { 16, 20, 9, 8, 3, 0 }, { 16, 21, 10, 8, 3, 0 }, { 16, 22, 10, 8, 3, 0 }, { 16, 23, 11, 8, 3, 0 }, { 16, 24, 11, 8, 3, 0 }, - { 16, 25, 12, 8, 3, 0 }, { 16, 26, 13, 8, 3, 0 }, { 16, 27, 14, 8, 3, 0 }, { 16, 28, 15, 8, 3, 0 }, { 16, 29, 15, 8, 3, 0 }, - { 16, 30, 16, 8, 3, 0 }, { 16, 31, 17, 8, 3, 0 }, { 16, 32, 18, 8, 3, 0 }, { 16, 33, 18, 8, 3, 0 }, { 16, 34, 19, 8, 3, 0 }, - { 16, 35, 20, 8, 3, 0 }, { 16, 36, 21, 8, 3, 0 }, { 16, 37, 22, 8, 3, 0 }, { 16, 38, 23, 8, 3, 0 }, { 16, 39, 24, 8, 3, 0 }, - { 16, 40, 25, 8, 3, 0 }, { 16, 41, 26, 8, 3, 0 }, { 16, 42, 27, 8, 4, 0 }, { 16, 43, 28, 8, 4, 0 }, { 16, 44, 29, 8, 4, 0 }, - { 16, 44, 30, 8, 4, 0 }, { 16, 45, 31, 8, 4, 0 }, { 16, 46, 32, 8, 4, 0 }, { 16, 47, 33, 8, 4, 0 }, { 16, 47, 34, 8, 4, 0 }, - { 16, 48, 35, 8, 4, 0 }, { 16, 49, 36, 8, 4, 0 }, { 16, 50, 37, 8, 4, 0 }, { 16, 50, 38, 8, 4, 0 }, { 16, 51, 39, 8, 4, 0 }, - { 16, 51, 40, 8, 4, 0 }, { 16, 52, 41, 8, 4, 0 }, { 16, 53, 42, 8, 4, 0 }, { 16, 53, 43, 8, 9, 0 }, { 16, 54, 44, 8, 9, 0 }, - { 16, 55, 45, 8, 9, 0 }, { 16, 55, 46, 8, 9, 0 }, { 16, 56, 47, 8, 9, 0 }, { 16, 56, 48, 8, 9, 0 }, { 16, 56, 49, 8, 9, 0 }, - { 16, 57, 50, 8, 9, 0 }, { 16, 57, 51, 8, 9, 0 }, { 16, 57, 52, 8, 9, 0 }, { 16, 58, 53, 8, 9, 0 }, { 16, 58, 54, 8, 9, 0 }, - { 16, 58, 55, 8, 9, 0 }, { 16, 59, 56, 8, 9, 0 }, { 16, 59, 57, 8, 9, 0 }, { 16, 59, 58, 8, 9, 0 }, { 16, 60, 59, 8, 9, 0 }, - { 16, 60, 60, 8, 9, 0 }, { 16, 60, 61, 8, 9, 0 }, { 16, 61, 62, 8, 9, 0 }, { 16, 61, 63, 8, 9, 0 }, { 16, 61, 64, 8, 10, 0 }, - { 16, 61, 65, 8, 10, 0 }, { 16, 62, 66, 8, 10, 0 }, { 16, 62, 67, 8, 10, 0 }, { 16, 62, 68, 8, 10, 0 }, { 16, 62, 69, 8, 10, 0 }, - { 16, 62, 70, 8, 10, 0 }, { 16, 63, 71, 8, 10, 0 }, { 16, 63, 72, 8, 10, 0 }, { 16, 63, 73, 8, 10, 0 }, { 16, 63, 74, 8, 10, 0 }, - { 16, 63, 75, 8, 10, 0 }, { 16, 63, 76, 8, 10, 0 }, { 16, 63, 77, 8, 10, 0 }, { 16, 63, 78, 8, 10, 0 }, { 16, 63, 79, 8, 10, 0 }, - { 16, 63, 80, 8, 10, 0 }, { 16, 63, 81, 8, 10, 0 }, { 16, 63, 82, 8, 10, 0 }, { 16, 63, 83, 8, 10, 0 }, { 16, 63, 84, 8, 10, 0 }, - { 16, 63, 85, 8, 10, 0 }, { 16, 63, 86, 8, 10, 0 }, { 16, 63, 87, 8, 10, 0 }, { 16, 63, 88, 8, 10, 0 }, { 16, 63, 89, 8, 10, 0 }, - { 16, 63, 90, 8, 10, 0 }, { 16, 63, 91, 8, 10, 0 }, { 16, 63, 92, 8, 10, 0 }, { 16, 63, 93, 8, 10, 0 }, { 16, 63, 94, 8, 10, 0 }, - { 16, 63, 95, 8, 10, 0 }, { 16, 63, 96, 8, 10, 0 }, { 16, 63, 97, 8, 11, 0 }, { 16, 63, 98, 8, 11, 0 }, { 16, 62, 99, 8, 11, 0 }, - { 16, 62, 100, 8, 11, 0 }, { 16, 62, 101, 8, 11, 0 }, { 16, 62, 102, 8, 11, 0 }, { 16, 62, 103, 8, 11, 0 }, { 16, 61, 104, 8, 11, 0 }, - { 16, 61, 105, 8, 11, 0 }, { 16, 61, 106, 8, 11, 0 }, { 16, 61, 107, 8, 11, 0 }, { 16, 60, 108, 8, 11, 0 }, { 16, 60, 109, 8, 11, 0 }, - { 16, 60, 110, 8, 11, 0 }, { 16, 59, 111, 8, 12, 0 }, { 16, 59, 112, 8, 12, 0 }, { 16, 58, 113, 8, 12, 0 }, { 16, 58, 114, 8, 12, 0 }, - { 16, 57, 115, 8, 12, 0 }, { 16, 57, 116, 8, 12, 0 }, { 16, 57, 117, 8, 12, 0 }, { 16, 56, 118, 8, 12, 0 }, { 16, 56, 119, 8, 12, 0 }, - { 16, 55, 120, 8, 13, 0 }, { 16, 55, 121, 8, 13, 0 }, { 16, 54, 122, 8, 13, 0 }, { 16, 53, 123, 8, 13, 0 }, { 16, 53, 124, 8, 13, 0 }, - { 16, 52, 125, 8, 13, 0 }, { 16, 51, 126, 8, 13, 0 }, { 16, 50, 127, 8, 13, 0 }, { 16, 49, 128, 8, 14, 0 }, { 16, 48, 129, 8, 14, 0 }, - { 16, 47, 130, 8, 14, 0 }, { 16, 46, 130, 8, 14, 0 }, { 16, 45, 131, 8, 14, 0 }, { 16, 44, 132, 8, 15, 0 }, { 16, 43, 133, 8, 15, 0 }, - { 16, 42, 134, 8, 15, 0 }, { 16, 41, 134, 8, 15, 0 }, { 16, 40, 135, 8, 15, 0 }, { 16, 39, 135, 8, 16, 0 }, { 16, 38, 135, 8, 16, 0 }, - { 16, 37, 136, 8, 16, 0 }, { 16, 36, 136, 8, 16, 0 }, { 16, 35, 136, 8, 16, 0 }, { 16, 34, 136, 8, 16, 0 }, { 16, 33, 136, 8, 16, 0 }, + 160, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 3, 8, 2, 0 }, { 16, 9, 4, 8, 2, 0 }, + { 16, 10, 4, 8, 2, 0 }, { 16, 11, 5, 8, 2, 0 }, { 16, 12, 5, 8, 2, 0 }, { 16, 13, 6, 8, 2, 0 }, { 16, 14, 6, 8, 2, 0 }, + { 16, 15, 7, 8, 2, 0 }, { 16, 16, 7, 8, 2, 0 }, { 16, 17, 8, 8, 2, 0 }, { 16, 18, 8, 8, 2, 0 }, { 16, 19, 9, 8, 3, 0 }, + { 16, 20, 9, 8, 3, 0 }, { 16, 21, 10, 8, 3, 0 }, { 16, 22, 10, 8, 3, 0 }, { 16, 23, 11, 8, 3, 0 }, { 16, 24, 11, 8, 3, 0 }, + { 16, 25, 12, 8, 3, 0 }, { 16, 26, 13, 8, 3, 0 }, { 16, 27, 14, 8, 3, 0 }, { 16, 28, 15, 8, 3, 0 }, { 16, 29, 15, 8, 3, 0 }, + { 16, 30, 16, 8, 3, 0 }, { 16, 31, 17, 8, 3, 0 }, { 16, 32, 18, 8, 3, 0 }, { 16, 33, 18, 8, 3, 0 }, { 16, 34, 19, 8, 3, 0 }, + { 16, 35, 20, 8, 3, 0 }, { 16, 36, 21, 8, 3, 0 }, { 16, 37, 22, 8, 3, 0 }, { 16, 38, 23, 8, 3, 0 }, { 16, 39, 24, 8, 3, 0 }, + { 16, 40, 25, 8, 3, 0 }, { 16, 41, 26, 8, 3, 0 }, { 16, 42, 27, 8, 4, 0 }, { 16, 43, 28, 8, 4, 0 }, { 16, 44, 29, 8, 4, 0 }, + { 16, 44, 30, 8, 4, 0 }, { 16, 45, 31, 8, 4, 0 }, { 16, 46, 32, 8, 4, 0 }, { 16, 47, 33, 8, 4, 0 }, { 16, 47, 34, 8, 4, 0 }, + { 16, 48, 35, 8, 4, 0 }, { 16, 49, 36, 8, 4, 0 }, { 16, 50, 37, 8, 4, 0 }, { 16, 50, 38, 8, 4, 0 }, { 16, 51, 39, 8, 4, 0 }, + { 16, 51, 40, 8, 4, 0 }, { 16, 52, 41, 8, 4, 0 }, { 16, 53, 42, 8, 4, 0 }, { 16, 53, 43, 8, 9, 0 }, { 16, 54, 44, 8, 9, 0 }, + { 16, 55, 45, 8, 9, 0 }, { 16, 55, 46, 8, 9, 0 }, { 16, 56, 47, 8, 9, 0 }, { 16, 56, 48, 8, 9, 0 }, { 16, 56, 49, 8, 9, 0 }, + { 16, 57, 50, 8, 9, 0 }, { 16, 57, 51, 8, 9, 0 }, { 16, 57, 52, 8, 9, 0 }, { 16, 58, 53, 8, 9, 0 }, { 16, 58, 54, 8, 9, 0 }, + { 16, 58, 55, 8, 9, 0 }, { 16, 59, 56, 8, 9, 0 }, { 16, 59, 57, 8, 9, 0 }, { 16, 59, 58, 8, 9, 0 }, { 16, 60, 59, 8, 9, 0 }, + { 16, 60, 60, 8, 9, 0 }, { 16, 60, 61, 8, 9, 0 }, { 16, 61, 62, 8, 9, 0 }, { 16, 61, 63, 8, 9, 0 }, { 16, 61, 64, 8, 10, 0 }, + { 16, 61, 65, 8, 10, 0 }, { 16, 62, 66, 8, 10, 0 }, { 16, 62, 67, 8, 10, 0 }, { 16, 62, 68, 8, 10, 0 }, { 16, 62, 69, 8, 10, 0 }, + { 16, 62, 70, 8, 10, 0 }, { 16, 63, 71, 8, 10, 0 }, { 16, 63, 72, 8, 10, 0 }, { 16, 63, 73, 8, 10, 0 }, { 16, 63, 74, 8, 10, 0 }, + { 16, 63, 75, 8, 10, 0 }, { 16, 63, 76, 8, 10, 0 }, { 16, 63, 77, 8, 10, 0 }, { 16, 63, 78, 8, 10, 0 }, { 16, 63, 79, 8, 10, 0 }, + { 16, 63, 80, 8, 10, 0 }, { 16, 63, 81, 8, 10, 0 }, { 16, 63, 82, 8, 10, 0 }, { 16, 63, 83, 8, 10, 0 }, { 16, 63, 84, 8, 10, 0 }, + { 16, 63, 85, 8, 10, 0 }, { 16, 63, 86, 8, 10, 0 }, { 16, 63, 87, 8, 10, 0 }, { 16, 63, 88, 8, 10, 0 }, { 16, 63, 89, 8, 10, 0 }, + { 16, 63, 90, 8, 10, 0 }, { 16, 63, 91, 8, 10, 0 }, { 16, 63, 92, 8, 10, 0 }, { 16, 63, 93, 8, 10, 0 }, { 16, 63, 94, 8, 10, 0 }, + { 16, 63, 95, 8, 10, 0 }, { 16, 63, 96, 8, 10, 0 }, { 16, 63, 97, 8, 11, 0 }, { 16, 63, 98, 8, 11, 0 }, { 16, 62, 99, 8, 11, 0 }, + { 16, 62, 100, 8, 11, 0 }, { 16, 62, 101, 8, 11, 0 }, { 16, 62, 102, 8, 11, 0 }, { 16, 62, 103, 8, 11, 0 }, { 16, 61, 104, 8, 11, 0 }, + { 16, 61, 105, 8, 11, 0 }, { 16, 61, 106, 8, 11, 0 }, { 16, 61, 107, 8, 11, 0 }, { 16, 60, 108, 8, 11, 0 }, { 16, 60, 109, 8, 11, 0 }, + { 16, 60, 110, 8, 11, 0 }, { 16, 59, 111, 8, 12, 0 }, { 16, 59, 112, 8, 12, 0 }, { 16, 58, 113, 8, 12, 0 }, { 16, 58, 114, 8, 12, 0 }, + { 16, 57, 115, 8, 12, 0 }, { 16, 57, 116, 8, 12, 0 }, { 16, 57, 117, 8, 12, 0 }, { 16, 56, 118, 8, 12, 0 }, { 16, 56, 119, 8, 12, 0 }, + { 16, 55, 120, 8, 13, 0 }, { 16, 55, 121, 8, 13, 0 }, { 16, 54, 122, 8, 13, 0 }, { 16, 53, 123, 8, 13, 0 }, { 16, 53, 124, 8, 13, 0 }, + { 16, 52, 125, 8, 13, 0 }, { 16, 51, 126, 8, 13, 0 }, { 16, 50, 127, 8, 13, 0 }, { 16, 49, 128, 8, 14, 0 }, { 16, 48, 129, 8, 14, 0 }, + { 16, 47, 130, 8, 14, 0 }, { 16, 46, 130, 8, 14, 0 }, { 16, 45, 131, 8, 14, 0 }, { 16, 44, 132, 8, 15, 0 }, { 16, 43, 133, 8, 15, 0 }, + { 16, 42, 134, 8, 15, 0 }, { 16, 41, 134, 8, 15, 0 }, { 16, 40, 135, 8, 15, 0 }, { 16, 39, 135, 8, 16, 0 }, { 16, 38, 135, 8, 16, 0 }, + { 16, 37, 136, 8, 16, 0 }, { 16, 36, 136, 8, 16, 0 }, { 16, 35, 136, 8, 16, 0 }, { 16, 34, 136, 8, 16, 0 }, { 16, 33, 136, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E6FA4 = { - 160, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 3, 16, 2, 0 }, { 9, 16, 4, 16, 2, 0 }, - { 10, 16, 4, 16, 2, 0 }, { 11, 16, 5, 16, 2, 0 }, { 12, 16, 5, 16, 2, 0 }, { 13, 16, 6, 16, 2, 0 }, { 14, 16, 6, 16, 2, 0 }, - { 15, 16, 7, 16, 2, 0 }, { 16, 16, 7, 16, 2, 0 }, { 17, 16, 8, 16, 2, 0 }, { 18, 16, 8, 16, 2, 0 }, { 19, 16, 9, 16, 3, 0 }, - { 20, 16, 9, 16, 3, 0 }, { 21, 16, 10, 16, 3, 0 }, { 22, 16, 10, 16, 3, 0 }, { 23, 16, 11, 16, 3, 0 }, { 24, 16, 11, 16, 3, 0 }, - { 25, 16, 12, 16, 3, 0 }, { 26, 16, 13, 16, 3, 0 }, { 27, 16, 14, 16, 3, 0 }, { 28, 16, 15, 16, 3, 0 }, { 29, 16, 15, 16, 3, 0 }, - { 30, 16, 16, 16, 3, 0 }, { 31, 16, 17, 16, 3, 0 }, { 32, 16, 18, 16, 3, 0 }, { 33, 16, 18, 16, 3, 0 }, { 34, 16, 19, 16, 3, 0 }, - { 35, 16, 20, 16, 3, 0 }, { 36, 16, 21, 16, 3, 0 }, { 37, 16, 22, 16, 3, 0 }, { 38, 16, 23, 16, 3, 0 }, { 39, 16, 24, 16, 3, 0 }, - { 40, 16, 25, 16, 3, 0 }, { 41, 16, 26, 16, 3, 0 }, { 42, 16, 27, 16, 4, 0 }, { 43, 16, 28, 16, 4, 0 }, { 44, 16, 29, 16, 4, 0 }, - { 44, 16, 30, 16, 4, 0 }, { 45, 16, 31, 16, 4, 0 }, { 46, 16, 32, 16, 4, 0 }, { 47, 16, 33, 16, 4, 0 }, { 47, 16, 34, 16, 4, 0 }, - { 48, 16, 35, 16, 4, 0 }, { 49, 16, 36, 16, 4, 0 }, { 50, 16, 37, 16, 4, 0 }, { 50, 16, 38, 16, 4, 0 }, { 51, 16, 39, 16, 4, 0 }, - { 51, 16, 40, 16, 4, 0 }, { 52, 16, 41, 16, 4, 0 }, { 53, 16, 42, 16, 4, 0 }, { 53, 16, 43, 16, 9, 0 }, { 54, 16, 44, 16, 9, 0 }, - { 55, 16, 45, 16, 9, 0 }, { 55, 16, 46, 16, 9, 0 }, { 56, 16, 47, 16, 9, 0 }, { 56, 16, 48, 16, 9, 0 }, { 56, 16, 49, 16, 9, 0 }, - { 57, 16, 50, 16, 9, 0 }, { 57, 16, 51, 16, 9, 0 }, { 57, 16, 52, 16, 9, 0 }, { 58, 16, 53, 16, 9, 0 }, { 58, 16, 54, 16, 9, 0 }, - { 58, 16, 55, 16, 9, 0 }, { 59, 16, 56, 16, 9, 0 }, { 59, 16, 57, 16, 9, 0 }, { 59, 16, 58, 16, 9, 0 }, { 60, 16, 59, 16, 9, 0 }, - { 60, 16, 60, 16, 9, 0 }, { 60, 16, 61, 16, 9, 0 }, { 61, 16, 62, 16, 9, 0 }, { 61, 16, 63, 16, 9, 0 }, { 61, 16, 64, 16, 10, 0 }, - { 61, 16, 65, 16, 10, 0 }, { 62, 16, 66, 16, 10, 0 }, { 62, 16, 67, 16, 10, 0 }, { 62, 16, 68, 16, 10, 0 }, { 62, 16, 69, 16, 10, 0 }, - { 62, 16, 70, 16, 10, 0 }, { 63, 16, 71, 16, 10, 0 }, { 63, 16, 72, 16, 10, 0 }, { 63, 16, 73, 16, 10, 0 }, { 63, 16, 74, 16, 10, 0 }, - { 63, 16, 75, 16, 10, 0 }, { 63, 16, 76, 16, 10, 0 }, { 63, 16, 77, 16, 10, 0 }, { 63, 16, 78, 16, 10, 0 }, { 63, 16, 79, 16, 10, 0 }, - { 63, 16, 80, 16, 10, 0 }, { 63, 16, 81, 16, 10, 0 }, { 63, 16, 82, 16, 10, 0 }, { 63, 16, 83, 16, 10, 0 }, { 63, 16, 84, 16, 10, 0 }, - { 63, 16, 85, 16, 10, 0 }, { 63, 16, 86, 16, 10, 0 }, { 63, 16, 87, 16, 10, 0 }, { 63, 16, 88, 16, 10, 0 }, { 63, 16, 89, 16, 10, 0 }, - { 63, 16, 90, 16, 10, 0 }, { 63, 16, 91, 16, 10, 0 }, { 63, 16, 92, 16, 10, 0 }, { 63, 16, 93, 16, 10, 0 }, { 63, 16, 94, 16, 10, 0 }, - { 63, 16, 95, 16, 10, 0 }, { 63, 16, 96, 16, 10, 0 }, { 63, 16, 97, 16, 11, 0 }, { 63, 16, 98, 16, 11, 0 }, { 62, 16, 99, 16, 11, 0 }, - { 62, 16, 100, 16, 11, 0 }, { 62, 16, 101, 16, 11, 0 }, { 62, 16, 102, 16, 11, 0 }, { 62, 16, 103, 16, 11, 0 }, { 61, 16, 104, 16, 11, 0 }, - { 61, 16, 105, 16, 11, 0 }, { 61, 16, 106, 16, 11, 0 }, { 61, 16, 107, 16, 11, 0 }, { 60, 16, 108, 16, 11, 0 }, { 60, 16, 109, 16, 11, 0 }, - { 60, 16, 110, 16, 11, 0 }, { 59, 16, 111, 16, 12, 0 }, { 59, 16, 112, 16, 12, 0 }, { 58, 16, 113, 16, 12, 0 }, { 58, 16, 114, 16, 12, 0 }, - { 57, 16, 115, 16, 12, 0 }, { 57, 16, 116, 16, 12, 0 }, { 57, 16, 117, 16, 12, 0 }, { 56, 16, 118, 16, 12, 0 }, { 56, 16, 119, 16, 12, 0 }, - { 55, 16, 120, 16, 13, 0 }, { 55, 16, 121, 16, 13, 0 }, { 54, 16, 122, 16, 13, 0 }, { 53, 16, 123, 16, 13, 0 }, { 53, 16, 124, 16, 13, 0 }, - { 52, 16, 125, 16, 13, 0 }, { 51, 16, 126, 16, 13, 0 }, { 50, 16, 127, 16, 13, 0 }, { 49, 16, 128, 16, 14, 0 }, { 48, 16, 129, 16, 14, 0 }, - { 47, 16, 130, 16, 14, 0 }, { 46, 16, 130, 16, 14, 0 }, { 45, 16, 131, 16, 14, 0 }, { 44, 16, 132, 16, 15, 0 }, { 43, 16, 133, 16, 15, 0 }, - { 42, 16, 134, 16, 15, 0 }, { 41, 16, 134, 16, 15, 0 }, { 40, 16, 135, 16, 15, 0 }, { 39, 16, 135, 16, 16, 0 }, { 38, 16, 135, 16, 16, 0 }, - { 37, 16, 136, 16, 16, 0 }, { 36, 16, 136, 16, 16, 0 }, { 35, 16, 136, 16, 16, 0 }, { 34, 16, 136, 16, 16, 0 }, { 33, 16, 136, 16, 16, 0 }, + 160, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 3, 16, 2, 0 }, { 9, 16, 4, 16, 2, 0 }, + { 10, 16, 4, 16, 2, 0 }, { 11, 16, 5, 16, 2, 0 }, { 12, 16, 5, 16, 2, 0 }, { 13, 16, 6, 16, 2, 0 }, { 14, 16, 6, 16, 2, 0 }, + { 15, 16, 7, 16, 2, 0 }, { 16, 16, 7, 16, 2, 0 }, { 17, 16, 8, 16, 2, 0 }, { 18, 16, 8, 16, 2, 0 }, { 19, 16, 9, 16, 3, 0 }, + { 20, 16, 9, 16, 3, 0 }, { 21, 16, 10, 16, 3, 0 }, { 22, 16, 10, 16, 3, 0 }, { 23, 16, 11, 16, 3, 0 }, { 24, 16, 11, 16, 3, 0 }, + { 25, 16, 12, 16, 3, 0 }, { 26, 16, 13, 16, 3, 0 }, { 27, 16, 14, 16, 3, 0 }, { 28, 16, 15, 16, 3, 0 }, { 29, 16, 15, 16, 3, 0 }, + { 30, 16, 16, 16, 3, 0 }, { 31, 16, 17, 16, 3, 0 }, { 32, 16, 18, 16, 3, 0 }, { 33, 16, 18, 16, 3, 0 }, { 34, 16, 19, 16, 3, 0 }, + { 35, 16, 20, 16, 3, 0 }, { 36, 16, 21, 16, 3, 0 }, { 37, 16, 22, 16, 3, 0 }, { 38, 16, 23, 16, 3, 0 }, { 39, 16, 24, 16, 3, 0 }, + { 40, 16, 25, 16, 3, 0 }, { 41, 16, 26, 16, 3, 0 }, { 42, 16, 27, 16, 4, 0 }, { 43, 16, 28, 16, 4, 0 }, { 44, 16, 29, 16, 4, 0 }, + { 44, 16, 30, 16, 4, 0 }, { 45, 16, 31, 16, 4, 0 }, { 46, 16, 32, 16, 4, 0 }, { 47, 16, 33, 16, 4, 0 }, { 47, 16, 34, 16, 4, 0 }, + { 48, 16, 35, 16, 4, 0 }, { 49, 16, 36, 16, 4, 0 }, { 50, 16, 37, 16, 4, 0 }, { 50, 16, 38, 16, 4, 0 }, { 51, 16, 39, 16, 4, 0 }, + { 51, 16, 40, 16, 4, 0 }, { 52, 16, 41, 16, 4, 0 }, { 53, 16, 42, 16, 4, 0 }, { 53, 16, 43, 16, 9, 0 }, { 54, 16, 44, 16, 9, 0 }, + { 55, 16, 45, 16, 9, 0 }, { 55, 16, 46, 16, 9, 0 }, { 56, 16, 47, 16, 9, 0 }, { 56, 16, 48, 16, 9, 0 }, { 56, 16, 49, 16, 9, 0 }, + { 57, 16, 50, 16, 9, 0 }, { 57, 16, 51, 16, 9, 0 }, { 57, 16, 52, 16, 9, 0 }, { 58, 16, 53, 16, 9, 0 }, { 58, 16, 54, 16, 9, 0 }, + { 58, 16, 55, 16, 9, 0 }, { 59, 16, 56, 16, 9, 0 }, { 59, 16, 57, 16, 9, 0 }, { 59, 16, 58, 16, 9, 0 }, { 60, 16, 59, 16, 9, 0 }, + { 60, 16, 60, 16, 9, 0 }, { 60, 16, 61, 16, 9, 0 }, { 61, 16, 62, 16, 9, 0 }, { 61, 16, 63, 16, 9, 0 }, { 61, 16, 64, 16, 10, 0 }, + { 61, 16, 65, 16, 10, 0 }, { 62, 16, 66, 16, 10, 0 }, { 62, 16, 67, 16, 10, 0 }, { 62, 16, 68, 16, 10, 0 }, { 62, 16, 69, 16, 10, 0 }, + { 62, 16, 70, 16, 10, 0 }, { 63, 16, 71, 16, 10, 0 }, { 63, 16, 72, 16, 10, 0 }, { 63, 16, 73, 16, 10, 0 }, { 63, 16, 74, 16, 10, 0 }, + { 63, 16, 75, 16, 10, 0 }, { 63, 16, 76, 16, 10, 0 }, { 63, 16, 77, 16, 10, 0 }, { 63, 16, 78, 16, 10, 0 }, { 63, 16, 79, 16, 10, 0 }, + { 63, 16, 80, 16, 10, 0 }, { 63, 16, 81, 16, 10, 0 }, { 63, 16, 82, 16, 10, 0 }, { 63, 16, 83, 16, 10, 0 }, { 63, 16, 84, 16, 10, 0 }, + { 63, 16, 85, 16, 10, 0 }, { 63, 16, 86, 16, 10, 0 }, { 63, 16, 87, 16, 10, 0 }, { 63, 16, 88, 16, 10, 0 }, { 63, 16, 89, 16, 10, 0 }, + { 63, 16, 90, 16, 10, 0 }, { 63, 16, 91, 16, 10, 0 }, { 63, 16, 92, 16, 10, 0 }, { 63, 16, 93, 16, 10, 0 }, { 63, 16, 94, 16, 10, 0 }, + { 63, 16, 95, 16, 10, 0 }, { 63, 16, 96, 16, 10, 0 }, { 63, 16, 97, 16, 11, 0 }, { 63, 16, 98, 16, 11, 0 }, { 62, 16, 99, 16, 11, 0 }, + { 62, 16, 100, 16, 11, 0 }, { 62, 16, 101, 16, 11, 0 }, { 62, 16, 102, 16, 11, 0 }, { 62, 16, 103, 16, 11, 0 }, { 61, 16, 104, 16, 11, 0 }, + { 61, 16, 105, 16, 11, 0 }, { 61, 16, 106, 16, 11, 0 }, { 61, 16, 107, 16, 11, 0 }, { 60, 16, 108, 16, 11, 0 }, { 60, 16, 109, 16, 11, 0 }, + { 60, 16, 110, 16, 11, 0 }, { 59, 16, 111, 16, 12, 0 }, { 59, 16, 112, 16, 12, 0 }, { 58, 16, 113, 16, 12, 0 }, { 58, 16, 114, 16, 12, 0 }, + { 57, 16, 115, 16, 12, 0 }, { 57, 16, 116, 16, 12, 0 }, { 57, 16, 117, 16, 12, 0 }, { 56, 16, 118, 16, 12, 0 }, { 56, 16, 119, 16, 12, 0 }, + { 55, 16, 120, 16, 13, 0 }, { 55, 16, 121, 16, 13, 0 }, { 54, 16, 122, 16, 13, 0 }, { 53, 16, 123, 16, 13, 0 }, { 53, 16, 124, 16, 13, 0 }, + { 52, 16, 125, 16, 13, 0 }, { 51, 16, 126, 16, 13, 0 }, { 50, 16, 127, 16, 13, 0 }, { 49, 16, 128, 16, 14, 0 }, { 48, 16, 129, 16, 14, 0 }, + { 47, 16, 130, 16, 14, 0 }, { 46, 16, 130, 16, 14, 0 }, { 45, 16, 131, 16, 14, 0 }, { 44, 16, 132, 16, 15, 0 }, { 43, 16, 133, 16, 15, 0 }, + { 42, 16, 134, 16, 15, 0 }, { 41, 16, 134, 16, 15, 0 }, { 40, 16, 135, 16, 15, 0 }, { 39, 16, 135, 16, 16, 0 }, { 38, 16, 135, 16, 16, 0 }, + { 37, 16, 136, 16, 16, 0 }, { 36, 16, 136, 16, 16, 0 }, { 35, 16, 136, 16, 16, 0 }, { 34, 16, 136, 16, 16, 0 }, { 33, 16, 136, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E754F = { - 160, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 3, 24, 2, 0 }, { 16, 22, 4, 24, 2, 0 }, - { 16, 21, 4, 24, 2, 0 }, { 16, 20, 5, 24, 2, 0 }, { 16, 19, 5, 24, 2, 0 }, { 16, 18, 6, 24, 2, 0 }, { 16, 17, 6, 24, 2, 0 }, - { 16, 16, 7, 24, 2, 0 }, { 16, 15, 7, 24, 2, 0 }, { 16, 14, 8, 24, 2, 0 }, { 16, 13, 8, 24, 2, 0 }, { 16, 12, 9, 24, 3, 0 }, - { 16, 11, 9, 24, 3, 0 }, { 16, 10, 10, 24, 3, 0 }, { 16, 9, 10, 24, 3, 0 }, { 16, 8, 11, 24, 3, 0 }, { 16, 7, 11, 24, 3, 0 }, - { 16, 6, 12, 24, 3, 0 }, { 16, 5, 13, 24, 3, 0 }, { 16, 4, 14, 24, 3, 0 }, { 16, 3, 15, 24, 3, 0 }, { 16, 2, 15, 24, 3, 0 }, - { 16, 1, 16, 24, 3, 0 }, { 16, 0, 17, 24, 3, 0 }, { 16, -1, 18, 24, 3, 0 }, { 16, -2, 18, 24, 3, 0 }, { 16, -3, 19, 24, 3, 0 }, - { 16, -4, 20, 24, 3, 0 }, { 16, -5, 21, 24, 3, 0 }, { 16, -6, 22, 24, 3, 0 }, { 16, -7, 23, 24, 3, 0 }, { 16, -8, 24, 24, 3, 0 }, - { 16, -9, 25, 24, 3, 0 }, { 16, -10, 26, 24, 3, 0 }, { 16, -11, 27, 24, 4, 0 }, { 16, -12, 28, 24, 4, 0 }, { 16, -13, 29, 24, 4, 0 }, - { 16, -13, 30, 24, 4, 0 }, { 16, -14, 31, 24, 4, 0 }, { 16, -15, 32, 24, 4, 0 }, { 16, -16, 33, 24, 4, 0 }, { 16, -16, 34, 24, 4, 0 }, - { 16, -17, 35, 24, 4, 0 }, { 16, -18, 36, 24, 4, 0 }, { 16, -19, 37, 24, 4, 0 }, { 16, -19, 38, 24, 4, 0 }, { 16, -20, 39, 24, 4, 0 }, - { 16, -20, 40, 24, 4, 0 }, { 16, -21, 41, 24, 4, 0 }, { 16, -22, 42, 24, 4, 0 }, { 16, -22, 43, 24, 9, 0 }, { 16, -23, 44, 24, 9, 0 }, - { 16, -24, 45, 24, 9, 0 }, { 16, -24, 46, 24, 9, 0 }, { 16, -25, 47, 24, 9, 0 }, { 16, -25, 48, 24, 9, 0 }, { 16, -25, 49, 24, 9, 0 }, - { 16, -26, 50, 24, 9, 0 }, { 16, -26, 51, 24, 9, 0 }, { 16, -26, 52, 24, 9, 0 }, { 16, -27, 53, 24, 9, 0 }, { 16, -27, 54, 24, 9, 0 }, - { 16, -27, 55, 24, 9, 0 }, { 16, -28, 56, 24, 9, 0 }, { 16, -28, 57, 24, 9, 0 }, { 16, -28, 58, 24, 9, 0 }, { 16, -29, 59, 24, 9, 0 }, - { 16, -29, 60, 24, 9, 0 }, { 16, -29, 61, 24, 9, 0 }, { 16, -30, 62, 24, 9, 0 }, { 16, -30, 63, 24, 9, 0 }, { 16, -30, 64, 24, 10, 0 }, - { 16, -30, 65, 24, 10, 0 }, { 16, -31, 66, 24, 10, 0 }, { 16, -31, 67, 24, 10, 0 }, { 16, -31, 68, 24, 10, 0 }, { 16, -31, 69, 24, 10, 0 }, - { 16, -31, 70, 24, 10, 0 }, { 16, -32, 71, 24, 10, 0 }, { 16, -32, 72, 24, 10, 0 }, { 16, -32, 73, 24, 10, 0 }, { 16, -32, 74, 24, 10, 0 }, - { 16, -32, 75, 24, 10, 0 }, { 16, -32, 76, 24, 10, 0 }, { 16, -32, 77, 24, 10, 0 }, { 16, -32, 78, 24, 10, 0 }, { 16, -32, 79, 24, 10, 0 }, - { 16, -32, 80, 24, 10, 0 }, { 16, -32, 81, 24, 10, 0 }, { 16, -32, 82, 24, 10, 0 }, { 16, -32, 83, 24, 10, 0 }, { 16, -32, 84, 24, 10, 0 }, - { 16, -32, 85, 24, 10, 0 }, { 16, -32, 86, 24, 10, 0 }, { 16, -32, 87, 24, 10, 0 }, { 16, -32, 88, 24, 10, 0 }, { 16, -32, 89, 24, 10, 0 }, - { 16, -32, 90, 24, 10, 0 }, { 16, -32, 91, 24, 10, 0 }, { 16, -32, 92, 24, 10, 0 }, { 16, -32, 93, 24, 10, 0 }, { 16, -32, 94, 24, 10, 0 }, - { 16, -32, 95, 24, 10, 0 }, { 16, -32, 96, 24, 10, 0 }, { 16, -32, 97, 24, 11, 0 }, { 16, -32, 98, 24, 11, 0 }, { 16, -31, 99, 24, 11, 0 }, - { 16, -31, 100, 24, 11, 0 }, { 16, -31, 101, 24, 11, 0 }, { 16, -31, 102, 24, 11, 0 }, { 16, -31, 103, 24, 11, 0 }, { 16, -30, 104, 24, 11, 0 }, - { 16, -30, 105, 24, 11, 0 }, { 16, -30, 106, 24, 11, 0 }, { 16, -30, 107, 24, 11, 0 }, { 16, -29, 108, 24, 11, 0 }, { 16, -29, 109, 24, 11, 0 }, - { 16, -29, 110, 24, 11, 0 }, { 16, -28, 111, 24, 12, 0 }, { 16, -28, 112, 24, 12, 0 }, { 16, -27, 113, 24, 12, 0 }, { 16, -27, 114, 24, 12, 0 }, - { 16, -26, 115, 24, 12, 0 }, { 16, -26, 116, 24, 12, 0 }, { 16, -26, 117, 24, 12, 0 }, { 16, -25, 118, 24, 12, 0 }, { 16, -25, 119, 24, 12, 0 }, - { 16, -24, 120, 24, 13, 0 }, { 16, -24, 121, 24, 13, 0 }, { 16, -23, 122, 24, 13, 0 }, { 16, -22, 123, 24, 13, 0 }, { 16, -22, 124, 24, 13, 0 }, - { 16, -21, 125, 24, 13, 0 }, { 16, -20, 126, 24, 13, 0 }, { 16, -19, 127, 24, 13, 0 }, { 16, -18, 128, 24, 14, 0 }, { 16, -17, 129, 24, 14, 0 }, - { 16, -16, 130, 24, 14, 0 }, { 16, -15, 130, 24, 14, 0 }, { 16, -14, 131, 24, 14, 0 }, { 16, -13, 132, 24, 15, 0 }, { 16, -12, 133, 24, 15, 0 }, - { 16, -11, 134, 24, 15, 0 }, { 16, -10, 134, 24, 15, 0 }, { 16, -9, 135, 24, 15, 0 }, { 16, -8, 135, 24, 16, 0 }, { 16, -7, 135, 24, 16, 0 }, - { 16, -6, 136, 24, 16, 0 }, { 16, -5, 136, 24, 16, 0 }, { 16, -4, 136, 24, 16, 0 }, { 16, -3, 136, 24, 16, 0 }, { 16, -2, 136, 24, 16, 0 }, + 160, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 3, 24, 2, 0 }, { 16, 22, 4, 24, 2, 0 }, + { 16, 21, 4, 24, 2, 0 }, { 16, 20, 5, 24, 2, 0 }, { 16, 19, 5, 24, 2, 0 }, { 16, 18, 6, 24, 2, 0 }, { 16, 17, 6, 24, 2, 0 }, + { 16, 16, 7, 24, 2, 0 }, { 16, 15, 7, 24, 2, 0 }, { 16, 14, 8, 24, 2, 0 }, { 16, 13, 8, 24, 2, 0 }, { 16, 12, 9, 24, 3, 0 }, + { 16, 11, 9, 24, 3, 0 }, { 16, 10, 10, 24, 3, 0 }, { 16, 9, 10, 24, 3, 0 }, { 16, 8, 11, 24, 3, 0 }, { 16, 7, 11, 24, 3, 0 }, + { 16, 6, 12, 24, 3, 0 }, { 16, 5, 13, 24, 3, 0 }, { 16, 4, 14, 24, 3, 0 }, { 16, 3, 15, 24, 3, 0 }, { 16, 2, 15, 24, 3, 0 }, + { 16, 1, 16, 24, 3, 0 }, { 16, 0, 17, 24, 3, 0 }, { 16, -1, 18, 24, 3, 0 }, { 16, -2, 18, 24, 3, 0 }, { 16, -3, 19, 24, 3, 0 }, + { 16, -4, 20, 24, 3, 0 }, { 16, -5, 21, 24, 3, 0 }, { 16, -6, 22, 24, 3, 0 }, { 16, -7, 23, 24, 3, 0 }, { 16, -8, 24, 24, 3, 0 }, + { 16, -9, 25, 24, 3, 0 }, { 16, -10, 26, 24, 3, 0 }, { 16, -11, 27, 24, 4, 0 }, { 16, -12, 28, 24, 4, 0 }, { 16, -13, 29, 24, 4, 0 }, + { 16, -13, 30, 24, 4, 0 }, { 16, -14, 31, 24, 4, 0 }, { 16, -15, 32, 24, 4, 0 }, { 16, -16, 33, 24, 4, 0 }, { 16, -16, 34, 24, 4, 0 }, + { 16, -17, 35, 24, 4, 0 }, { 16, -18, 36, 24, 4, 0 }, { 16, -19, 37, 24, 4, 0 }, { 16, -19, 38, 24, 4, 0 }, { 16, -20, 39, 24, 4, 0 }, + { 16, -20, 40, 24, 4, 0 }, { 16, -21, 41, 24, 4, 0 }, { 16, -22, 42, 24, 4, 0 }, { 16, -22, 43, 24, 9, 0 }, { 16, -23, 44, 24, 9, 0 }, + { 16, -24, 45, 24, 9, 0 }, { 16, -24, 46, 24, 9, 0 }, { 16, -25, 47, 24, 9, 0 }, { 16, -25, 48, 24, 9, 0 }, { 16, -25, 49, 24, 9, 0 }, + { 16, -26, 50, 24, 9, 0 }, { 16, -26, 51, 24, 9, 0 }, { 16, -26, 52, 24, 9, 0 }, { 16, -27, 53, 24, 9, 0 }, { 16, -27, 54, 24, 9, 0 }, + { 16, -27, 55, 24, 9, 0 }, { 16, -28, 56, 24, 9, 0 }, { 16, -28, 57, 24, 9, 0 }, { 16, -28, 58, 24, 9, 0 }, { 16, -29, 59, 24, 9, 0 }, + { 16, -29, 60, 24, 9, 0 }, { 16, -29, 61, 24, 9, 0 }, { 16, -30, 62, 24, 9, 0 }, { 16, -30, 63, 24, 9, 0 }, { 16, -30, 64, 24, 10, 0 }, + { 16, -30, 65, 24, 10, 0 }, { 16, -31, 66, 24, 10, 0 }, { 16, -31, 67, 24, 10, 0 }, { 16, -31, 68, 24, 10, 0 }, { 16, -31, 69, 24, 10, 0 }, + { 16, -31, 70, 24, 10, 0 }, { 16, -32, 71, 24, 10, 0 }, { 16, -32, 72, 24, 10, 0 }, { 16, -32, 73, 24, 10, 0 }, { 16, -32, 74, 24, 10, 0 }, + { 16, -32, 75, 24, 10, 0 }, { 16, -32, 76, 24, 10, 0 }, { 16, -32, 77, 24, 10, 0 }, { 16, -32, 78, 24, 10, 0 }, { 16, -32, 79, 24, 10, 0 }, + { 16, -32, 80, 24, 10, 0 }, { 16, -32, 81, 24, 10, 0 }, { 16, -32, 82, 24, 10, 0 }, { 16, -32, 83, 24, 10, 0 }, { 16, -32, 84, 24, 10, 0 }, + { 16, -32, 85, 24, 10, 0 }, { 16, -32, 86, 24, 10, 0 }, { 16, -32, 87, 24, 10, 0 }, { 16, -32, 88, 24, 10, 0 }, { 16, -32, 89, 24, 10, 0 }, + { 16, -32, 90, 24, 10, 0 }, { 16, -32, 91, 24, 10, 0 }, { 16, -32, 92, 24, 10, 0 }, { 16, -32, 93, 24, 10, 0 }, { 16, -32, 94, 24, 10, 0 }, + { 16, -32, 95, 24, 10, 0 }, { 16, -32, 96, 24, 10, 0 }, { 16, -32, 97, 24, 11, 0 }, { 16, -32, 98, 24, 11, 0 }, { 16, -31, 99, 24, 11, 0 }, + { 16, -31, 100, 24, 11, 0 }, { 16, -31, 101, 24, 11, 0 }, { 16, -31, 102, 24, 11, 0 }, { 16, -31, 103, 24, 11, 0 }, { 16, -30, 104, 24, 11, 0 }, + { 16, -30, 105, 24, 11, 0 }, { 16, -30, 106, 24, 11, 0 }, { 16, -30, 107, 24, 11, 0 }, { 16, -29, 108, 24, 11, 0 }, { 16, -29, 109, 24, 11, 0 }, + { 16, -29, 110, 24, 11, 0 }, { 16, -28, 111, 24, 12, 0 }, { 16, -28, 112, 24, 12, 0 }, { 16, -27, 113, 24, 12, 0 }, { 16, -27, 114, 24, 12, 0 }, + { 16, -26, 115, 24, 12, 0 }, { 16, -26, 116, 24, 12, 0 }, { 16, -26, 117, 24, 12, 0 }, { 16, -25, 118, 24, 12, 0 }, { 16, -25, 119, 24, 12, 0 }, + { 16, -24, 120, 24, 13, 0 }, { 16, -24, 121, 24, 13, 0 }, { 16, -23, 122, 24, 13, 0 }, { 16, -22, 123, 24, 13, 0 }, { 16, -22, 124, 24, 13, 0 }, + { 16, -21, 125, 24, 13, 0 }, { 16, -20, 126, 24, 13, 0 }, { 16, -19, 127, 24, 13, 0 }, { 16, -18, 128, 24, 14, 0 }, { 16, -17, 129, 24, 14, 0 }, + { 16, -16, 130, 24, 14, 0 }, { 16, -15, 130, 24, 14, 0 }, { 16, -14, 131, 24, 14, 0 }, { 16, -13, 132, 24, 15, 0 }, { 16, -12, 133, 24, 15, 0 }, + { 16, -11, 134, 24, 15, 0 }, { 16, -10, 134, 24, 15, 0 }, { 16, -9, 135, 24, 15, 0 }, { 16, -8, 135, 24, 16, 0 }, { 16, -7, 135, 24, 16, 0 }, + { 16, -6, 136, 24, 16, 0 }, { 16, -5, 136, 24, 16, 0 }, { 16, -4, 136, 24, 16, 0 }, { 16, -3, 136, 24, 16, 0 }, { 16, -2, 136, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E7AFA = { - 160, { - { 31, 16, 16, 16, 16, 0 }, { 30, 16, 16, 16, 16, 0 }, { 29, 16, 16, 16, 16, 0 }, { 28, 16, 16, 16, 16, 0 }, { 27, 16, 16, 16, 16, 0 }, - { 26, 16, 16, 16, 23, 0 }, { 25, 16, 15, 16, 23, 0 }, { 24, 16, 15, 16, 23, 0 }, { 23, 16, 15, 16, 23, 0 }, { 22, 16, 14, 16, 23, 0 }, - { 21, 16, 14, 16, 22, 0 }, { 20, 16, 13, 16, 22, 0 }, { 19, 16, 12, 16, 22, 0 }, { 18, 16, 11, 16, 22, 0 }, { 17, 16, 10, 16, 22, 0 }, - { 16, 16, 10, 16, 21, 0 }, { 15, 16, 9, 16, 21, 0 }, { 14, 16, 8, 16, 21, 0 }, { 13, 16, 7, 16, 21, 0 }, { 12, 16, 6, 16, 21, 0 }, - { 11, 16, 5, 16, 21, 0 }, { 10, 16, 4, 16, 21, 0 }, { 10, 16, 3, 16, 21, 0 }, { 9, 16, 2, 16, 20, 0 }, { 8, 16, 1, 16, 20, 0 }, - { 8, 16, 0, 16, 20, 0 }, { 7, 16, -1, 16, 20, 0 }, { 7, 16, -2, 16, 20, 0 }, { 6, 16, -3, 16, 20, 0 }, { 6, 16, -4, 16, 20, 0 }, - { 6, 16, -5, 16, 20, 0 }, { 5, 16, -6, 16, 20, 0 }, { 5, 16, -7, 16, 19, 0 }, { 4, 16, -8, 16, 19, 0 }, { 4, 16, -9, 16, 19, 0 }, - { 3, 16, -10, 16, 19, 0 }, { 3, 16, -11, 16, 19, 0 }, { 3, 16, -12, 16, 19, 0 }, { 2, 16, -13, 16, 19, 0 }, { 2, 16, -14, 16, 19, 0 }, - { 2, 16, -15, 16, 19, 0 }, { 2, 16, -16, 16, 19, 0 }, { 1, 16, -17, 16, 19, 0 }, { 1, 16, -18, 16, 19, 0 }, { 1, 16, -19, 16, 19, 0 }, - { 1, 16, -20, 16, 19, 0 }, { 1, 16, -21, 16, 18, 0 }, { 0, 16, -22, 16, 18, 0 }, { 0, 16, -23, 16, 18, 0 }, { 0, 16, -24, 16, 18, 0 }, - { 0, 16, -25, 16, 18, 0 }, { 0, 16, -26, 16, 18, 0 }, { 0, 16, -27, 16, 18, 0 }, { 0, 16, -28, 16, 18, 0 }, { 0, 16, -29, 16, 18, 0 }, - { 0, 16, -30, 16, 18, 0 }, { 0, 16, -31, 16, 18, 0 }, { 0, 16, -32, 16, 18, 0 }, { 0, 16, -33, 16, 18, 0 }, { 0, 16, -34, 16, 18, 0 }, - { 0, 16, -35, 16, 18, 0 }, { 0, 16, -36, 16, 18, 0 }, { 0, 16, -37, 16, 18, 0 }, { 0, 16, -38, 16, 18, 0 }, { 0, 16, -39, 16, 18, 0 }, - { 0, 16, -40, 16, 18, 0 }, { 0, 16, -41, 16, 18, 0 }, { 0, 16, -42, 16, 18, 0 }, { 0, 16, -43, 16, 18, 0 }, { 0, 16, -44, 16, 18, 0 }, - { 0, 16, -45, 16, 18, 0 }, { 0, 16, -46, 16, 18, 0 }, { 0, 16, -47, 16, 18, 0 }, { 0, 16, -48, 16, 18, 0 }, { 0, 16, -49, 16, 18, 0 }, - { 1, 16, -50, 16, 18, 0 }, { 1, 16, -51, 16, 18, 0 }, { 1, 16, -52, 16, 18, 0 }, { 1, 16, -53, 16, 18, 0 }, { 1, 16, -54, 16, 17, 0 }, - { 2, 16, -55, 16, 17, 0 }, { 2, 16, -56, 16, 17, 0 }, { 2, 16, -57, 16, 17, 0 }, { 2, 16, -58, 16, 17, 0 }, { 3, 16, -59, 16, 17, 0 }, - { 3, 16, -60, 16, 17, 0 }, { 3, 16, -61, 16, 17, 0 }, { 4, 16, -62, 16, 17, 0 }, { 4, 16, -63, 16, 17, 0 }, { 4, 16, -64, 16, 17, 0 }, - { 5, 16, -65, 16, 17, 0 }, { 5, 16, -66, 16, 17, 0 }, { 5, 16, -67, 16, 17, 0 }, { 6, 16, -68, 16, 17, 0 }, { 6, 16, -69, 16, 17, 0 }, - { 6, 16, -70, 16, 17, 0 }, { 7, 16, -71, 16, 17, 0 }, { 7, 16, -72, 16, 17, 0 }, { 7, 16, -73, 16, 17, 0 }, { 8, 16, -74, 16, 17, 0 }, - { 8, 16, -75, 16, 8, 0 }, { 9, 16, -76, 16, 8, 0 }, { 10, 16, -77, 16, 8, 0 }, { 10, 16, -78, 16, 8, 0 }, { 11, 16, -79, 16, 8, 0 }, - { 12, 16, -80, 16, 8, 0 }, { 12, 16, -81, 16, 8, 0 }, { 13, 16, -82, 16, 8, 0 }, { 13, 16, -83, 16, 8, 0 }, { 14, 16, -84, 16, 8, 0 }, - { 15, 16, -85, 16, 8, 0 }, { 16, 16, -86, 16, 8, 0 }, { 16, 16, -87, 16, 8, 0 }, { 17, 16, -88, 16, 8, 0 }, { 18, 16, -89, 16, 8, 0 }, - { 19, 16, -90, 16, 8, 0 }, { 19, 16, -91, 16, 7, 0 }, { 20, 16, -92, 16, 7, 0 }, { 21, 16, -93, 16, 7, 0 }, { 22, 16, -94, 16, 7, 0 }, - { 23, 16, -95, 16, 7, 0 }, { 24, 16, -96, 16, 7, 0 }, { 25, 16, -97, 16, 7, 0 }, { 26, 16, -98, 16, 7, 0 }, { 27, 16, -99, 16, 7, 0 }, - { 28, 16, -100, 16, 7, 0 }, { 29, 16, -101, 16, 7, 0 }, { 30, 16, -102, 16, 7, 0 }, { 31, 16, -102, 16, 7, 0 }, { 32, 16, -103, 16, 7, 0 }, - { 33, 16, -104, 16, 7, 0 }, { 34, 16, -105, 16, 7, 0 }, { 35, 16, -105, 16, 7, 0 }, { 36, 16, -106, 16, 7, 0 }, { 37, 16, -107, 16, 7, 0 }, - { 38, 16, -108, 16, 7, 0 }, { 39, 16, -109, 16, 7, 0 }, { 40, 16, -109, 16, 7, 0 }, { 41, 16, -110, 16, 7, 0 }, { 42, 16, -110, 16, 6, 0 }, - { 43, 16, -111, 16, 6, 0 }, { 44, 16, -111, 16, 6, 0 }, { 45, 16, -112, 16, 6, 0 }, { 46, 16, -112, 16, 6, 0 }, { 47, 16, -113, 16, 6, 0 }, - { 48, 16, -113, 16, 6, 0 }, { 49, 16, -114, 16, 6, 0 }, { 50, 16, -114, 16, 6, 0 }, { 51, 16, -115, 16, 6, 0 }, { 52, 16, -115, 16, 6, 0 }, - { 53, 16, -116, 16, 6, 0 }, { 54, 16, -116, 16, 6, 0 }, { 55, 16, -117, 16, 6, 0 }, { 56, 16, -117, 16, 6, 0 }, { 57, 16, -117, 16, 6, 0 }, - { 58, 16, -118, 16, 6, 0 }, { 59, 16, -118, 16, 6, 0 }, { 60, 16, -119, 16, 6, 0 }, { 61, 16, -119, 16, 6, 0 }, { 62, 16, -120, 16, 6, 0 }, + 160, { + { 31, 16, 16, 16, 16, 0 }, { 30, 16, 16, 16, 16, 0 }, { 29, 16, 16, 16, 16, 0 }, { 28, 16, 16, 16, 16, 0 }, { 27, 16, 16, 16, 16, 0 }, + { 26, 16, 16, 16, 23, 0 }, { 25, 16, 15, 16, 23, 0 }, { 24, 16, 15, 16, 23, 0 }, { 23, 16, 15, 16, 23, 0 }, { 22, 16, 14, 16, 23, 0 }, + { 21, 16, 14, 16, 22, 0 }, { 20, 16, 13, 16, 22, 0 }, { 19, 16, 12, 16, 22, 0 }, { 18, 16, 11, 16, 22, 0 }, { 17, 16, 10, 16, 22, 0 }, + { 16, 16, 10, 16, 21, 0 }, { 15, 16, 9, 16, 21, 0 }, { 14, 16, 8, 16, 21, 0 }, { 13, 16, 7, 16, 21, 0 }, { 12, 16, 6, 16, 21, 0 }, + { 11, 16, 5, 16, 21, 0 }, { 10, 16, 4, 16, 21, 0 }, { 10, 16, 3, 16, 21, 0 }, { 9, 16, 2, 16, 20, 0 }, { 8, 16, 1, 16, 20, 0 }, + { 8, 16, 0, 16, 20, 0 }, { 7, 16, -1, 16, 20, 0 }, { 7, 16, -2, 16, 20, 0 }, { 6, 16, -3, 16, 20, 0 }, { 6, 16, -4, 16, 20, 0 }, + { 6, 16, -5, 16, 20, 0 }, { 5, 16, -6, 16, 20, 0 }, { 5, 16, -7, 16, 19, 0 }, { 4, 16, -8, 16, 19, 0 }, { 4, 16, -9, 16, 19, 0 }, + { 3, 16, -10, 16, 19, 0 }, { 3, 16, -11, 16, 19, 0 }, { 3, 16, -12, 16, 19, 0 }, { 2, 16, -13, 16, 19, 0 }, { 2, 16, -14, 16, 19, 0 }, + { 2, 16, -15, 16, 19, 0 }, { 2, 16, -16, 16, 19, 0 }, { 1, 16, -17, 16, 19, 0 }, { 1, 16, -18, 16, 19, 0 }, { 1, 16, -19, 16, 19, 0 }, + { 1, 16, -20, 16, 19, 0 }, { 1, 16, -21, 16, 18, 0 }, { 0, 16, -22, 16, 18, 0 }, { 0, 16, -23, 16, 18, 0 }, { 0, 16, -24, 16, 18, 0 }, + { 0, 16, -25, 16, 18, 0 }, { 0, 16, -26, 16, 18, 0 }, { 0, 16, -27, 16, 18, 0 }, { 0, 16, -28, 16, 18, 0 }, { 0, 16, -29, 16, 18, 0 }, + { 0, 16, -30, 16, 18, 0 }, { 0, 16, -31, 16, 18, 0 }, { 0, 16, -32, 16, 18, 0 }, { 0, 16, -33, 16, 18, 0 }, { 0, 16, -34, 16, 18, 0 }, + { 0, 16, -35, 16, 18, 0 }, { 0, 16, -36, 16, 18, 0 }, { 0, 16, -37, 16, 18, 0 }, { 0, 16, -38, 16, 18, 0 }, { 0, 16, -39, 16, 18, 0 }, + { 0, 16, -40, 16, 18, 0 }, { 0, 16, -41, 16, 18, 0 }, { 0, 16, -42, 16, 18, 0 }, { 0, 16, -43, 16, 18, 0 }, { 0, 16, -44, 16, 18, 0 }, + { 0, 16, -45, 16, 18, 0 }, { 0, 16, -46, 16, 18, 0 }, { 0, 16, -47, 16, 18, 0 }, { 0, 16, -48, 16, 18, 0 }, { 0, 16, -49, 16, 18, 0 }, + { 1, 16, -50, 16, 18, 0 }, { 1, 16, -51, 16, 18, 0 }, { 1, 16, -52, 16, 18, 0 }, { 1, 16, -53, 16, 18, 0 }, { 1, 16, -54, 16, 17, 0 }, + { 2, 16, -55, 16, 17, 0 }, { 2, 16, -56, 16, 17, 0 }, { 2, 16, -57, 16, 17, 0 }, { 2, 16, -58, 16, 17, 0 }, { 3, 16, -59, 16, 17, 0 }, + { 3, 16, -60, 16, 17, 0 }, { 3, 16, -61, 16, 17, 0 }, { 4, 16, -62, 16, 17, 0 }, { 4, 16, -63, 16, 17, 0 }, { 4, 16, -64, 16, 17, 0 }, + { 5, 16, -65, 16, 17, 0 }, { 5, 16, -66, 16, 17, 0 }, { 5, 16, -67, 16, 17, 0 }, { 6, 16, -68, 16, 17, 0 }, { 6, 16, -69, 16, 17, 0 }, + { 6, 16, -70, 16, 17, 0 }, { 7, 16, -71, 16, 17, 0 }, { 7, 16, -72, 16, 17, 0 }, { 7, 16, -73, 16, 17, 0 }, { 8, 16, -74, 16, 17, 0 }, + { 8, 16, -75, 16, 8, 0 }, { 9, 16, -76, 16, 8, 0 }, { 10, 16, -77, 16, 8, 0 }, { 10, 16, -78, 16, 8, 0 }, { 11, 16, -79, 16, 8, 0 }, + { 12, 16, -80, 16, 8, 0 }, { 12, 16, -81, 16, 8, 0 }, { 13, 16, -82, 16, 8, 0 }, { 13, 16, -83, 16, 8, 0 }, { 14, 16, -84, 16, 8, 0 }, + { 15, 16, -85, 16, 8, 0 }, { 16, 16, -86, 16, 8, 0 }, { 16, 16, -87, 16, 8, 0 }, { 17, 16, -88, 16, 8, 0 }, { 18, 16, -89, 16, 8, 0 }, + { 19, 16, -90, 16, 8, 0 }, { 19, 16, -91, 16, 7, 0 }, { 20, 16, -92, 16, 7, 0 }, { 21, 16, -93, 16, 7, 0 }, { 22, 16, -94, 16, 7, 0 }, + { 23, 16, -95, 16, 7, 0 }, { 24, 16, -96, 16, 7, 0 }, { 25, 16, -97, 16, 7, 0 }, { 26, 16, -98, 16, 7, 0 }, { 27, 16, -99, 16, 7, 0 }, + { 28, 16, -100, 16, 7, 0 }, { 29, 16, -101, 16, 7, 0 }, { 30, 16, -102, 16, 7, 0 }, { 31, 16, -102, 16, 7, 0 }, { 32, 16, -103, 16, 7, 0 }, + { 33, 16, -104, 16, 7, 0 }, { 34, 16, -105, 16, 7, 0 }, { 35, 16, -105, 16, 7, 0 }, { 36, 16, -106, 16, 7, 0 }, { 37, 16, -107, 16, 7, 0 }, + { 38, 16, -108, 16, 7, 0 }, { 39, 16, -109, 16, 7, 0 }, { 40, 16, -109, 16, 7, 0 }, { 41, 16, -110, 16, 7, 0 }, { 42, 16, -110, 16, 6, 0 }, + { 43, 16, -111, 16, 6, 0 }, { 44, 16, -111, 16, 6, 0 }, { 45, 16, -112, 16, 6, 0 }, { 46, 16, -112, 16, 6, 0 }, { 47, 16, -113, 16, 6, 0 }, + { 48, 16, -113, 16, 6, 0 }, { 49, 16, -114, 16, 6, 0 }, { 50, 16, -114, 16, 6, 0 }, { 51, 16, -115, 16, 6, 0 }, { 52, 16, -115, 16, 6, 0 }, + { 53, 16, -116, 16, 6, 0 }, { 54, 16, -116, 16, 6, 0 }, { 55, 16, -117, 16, 6, 0 }, { 56, 16, -117, 16, 6, 0 }, { 57, 16, -117, 16, 6, 0 }, + { 58, 16, -118, 16, 6, 0 }, { 59, 16, -118, 16, 6, 0 }, { 60, 16, -119, 16, 6, 0 }, { 61, 16, -119, 16, 6, 0 }, { 62, 16, -120, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E80A5 = { - 160, { - { 16, 0, 16, 24, 16, 0 }, { 16, 1, 16, 24, 16, 0 }, { 16, 2, 16, 24, 16, 0 }, { 16, 3, 16, 24, 16, 0 }, { 16, 4, 16, 24, 16, 0 }, - { 16, 5, 16, 24, 23, 0 }, { 16, 6, 15, 24, 23, 0 }, { 16, 7, 15, 24, 23, 0 }, { 16, 8, 15, 24, 23, 0 }, { 16, 9, 14, 24, 23, 0 }, - { 16, 10, 14, 24, 22, 0 }, { 16, 11, 13, 24, 22, 0 }, { 16, 12, 12, 24, 22, 0 }, { 16, 13, 11, 24, 22, 0 }, { 16, 14, 10, 24, 22, 0 }, - { 16, 15, 10, 24, 21, 0 }, { 16, 16, 9, 24, 21, 0 }, { 16, 17, 8, 24, 21, 0 }, { 16, 18, 7, 24, 21, 0 }, { 16, 19, 6, 24, 21, 0 }, - { 16, 20, 5, 24, 21, 0 }, { 16, 21, 4, 24, 21, 0 }, { 16, 21, 3, 24, 21, 0 }, { 16, 22, 2, 24, 20, 0 }, { 16, 23, 1, 24, 20, 0 }, - { 16, 23, 0, 24, 20, 0 }, { 16, 24, -1, 24, 20, 0 }, { 16, 24, -2, 24, 20, 0 }, { 16, 25, -3, 24, 20, 0 }, { 16, 25, -4, 24, 20, 0 }, - { 16, 25, -5, 24, 20, 0 }, { 16, 26, -6, 24, 20, 0 }, { 16, 26, -7, 24, 19, 0 }, { 16, 27, -8, 24, 19, 0 }, { 16, 27, -9, 24, 19, 0 }, - { 16, 28, -10, 24, 19, 0 }, { 16, 28, -11, 24, 19, 0 }, { 16, 28, -12, 24, 19, 0 }, { 16, 29, -13, 24, 19, 0 }, { 16, 29, -14, 24, 19, 0 }, - { 16, 29, -15, 24, 19, 0 }, { 16, 29, -16, 24, 19, 0 }, { 16, 30, -17, 24, 19, 0 }, { 16, 30, -18, 24, 19, 0 }, { 16, 30, -19, 24, 19, 0 }, - { 16, 30, -20, 24, 19, 0 }, { 16, 30, -21, 24, 18, 0 }, { 16, 31, -22, 24, 18, 0 }, { 16, 31, -23, 24, 18, 0 }, { 16, 31, -24, 24, 18, 0 }, - { 16, 31, -25, 24, 18, 0 }, { 16, 31, -26, 24, 18, 0 }, { 16, 31, -27, 24, 18, 0 }, { 16, 31, -28, 24, 18, 0 }, { 16, 31, -29, 24, 18, 0 }, - { 16, 31, -30, 24, 18, 0 }, { 16, 31, -31, 24, 18, 0 }, { 16, 31, -32, 24, 18, 0 }, { 16, 31, -33, 24, 18, 0 }, { 16, 31, -34, 24, 18, 0 }, - { 16, 31, -35, 24, 18, 0 }, { 16, 31, -36, 24, 18, 0 }, { 16, 31, -37, 24, 18, 0 }, { 16, 31, -38, 24, 18, 0 }, { 16, 31, -39, 24, 18, 0 }, - { 16, 31, -40, 24, 18, 0 }, { 16, 31, -41, 24, 18, 0 }, { 16, 31, -42, 24, 18, 0 }, { 16, 31, -43, 24, 18, 0 }, { 16, 31, -44, 24, 18, 0 }, - { 16, 31, -45, 24, 18, 0 }, { 16, 31, -46, 24, 18, 0 }, { 16, 31, -47, 24, 18, 0 }, { 16, 31, -48, 24, 18, 0 }, { 16, 31, -49, 24, 18, 0 }, - { 16, 30, -50, 24, 18, 0 }, { 16, 30, -51, 24, 18, 0 }, { 16, 30, -52, 24, 18, 0 }, { 16, 30, -53, 24, 18, 0 }, { 16, 30, -54, 24, 17, 0 }, - { 16, 29, -55, 24, 17, 0 }, { 16, 29, -56, 24, 17, 0 }, { 16, 29, -57, 24, 17, 0 }, { 16, 29, -58, 24, 17, 0 }, { 16, 28, -59, 24, 17, 0 }, - { 16, 28, -60, 24, 17, 0 }, { 16, 28, -61, 24, 17, 0 }, { 16, 27, -62, 24, 17, 0 }, { 16, 27, -63, 24, 17, 0 }, { 16, 27, -64, 24, 17, 0 }, - { 16, 26, -65, 24, 17, 0 }, { 16, 26, -66, 24, 17, 0 }, { 16, 26, -67, 24, 17, 0 }, { 16, 25, -68, 24, 17, 0 }, { 16, 25, -69, 24, 17, 0 }, - { 16, 25, -70, 24, 17, 0 }, { 16, 24, -71, 24, 17, 0 }, { 16, 24, -72, 24, 17, 0 }, { 16, 24, -73, 24, 17, 0 }, { 16, 23, -74, 24, 17, 0 }, - { 16, 23, -75, 24, 8, 0 }, { 16, 22, -76, 24, 8, 0 }, { 16, 21, -77, 24, 8, 0 }, { 16, 21, -78, 24, 8, 0 }, { 16, 20, -79, 24, 8, 0 }, - { 16, 19, -80, 24, 8, 0 }, { 16, 19, -81, 24, 8, 0 }, { 16, 18, -82, 24, 8, 0 }, { 16, 18, -83, 24, 8, 0 }, { 16, 17, -84, 24, 8, 0 }, - { 16, 16, -85, 24, 8, 0 }, { 16, 15, -86, 24, 8, 0 }, { 16, 15, -87, 24, 8, 0 }, { 16, 14, -88, 24, 8, 0 }, { 16, 13, -89, 24, 8, 0 }, - { 16, 12, -90, 24, 8, 0 }, { 16, 12, -91, 24, 7, 0 }, { 16, 11, -92, 24, 7, 0 }, { 16, 10, -93, 24, 7, 0 }, { 16, 9, -94, 24, 7, 0 }, - { 16, 8, -95, 24, 7, 0 }, { 16, 7, -96, 24, 7, 0 }, { 16, 6, -97, 24, 7, 0 }, { 16, 5, -98, 24, 7, 0 }, { 16, 4, -99, 24, 7, 0 }, - { 16, 3, -100, 24, 7, 0 }, { 16, 2, -101, 24, 7, 0 }, { 16, 1, -102, 24, 7, 0 }, { 16, 0, -102, 24, 7, 0 }, { 16, -1, -103, 24, 7, 0 }, - { 16, -2, -104, 24, 7, 0 }, { 16, -3, -105, 24, 7, 0 }, { 16, -4, -105, 24, 7, 0 }, { 16, -5, -106, 24, 7, 0 }, { 16, -6, -107, 24, 7, 0 }, - { 16, -7, -108, 24, 7, 0 }, { 16, -8, -109, 24, 7, 0 }, { 16, -9, -109, 24, 7, 0 }, { 16, -10, -110, 24, 7, 0 }, { 16, -11, -110, 24, 6, 0 }, - { 16, -12, -111, 24, 6, 0 }, { 16, -13, -111, 24, 6, 0 }, { 16, -14, -112, 24, 6, 0 }, { 16, -15, -112, 24, 6, 0 }, { 16, -16, -113, 24, 6, 0 }, - { 16, -17, -113, 24, 6, 0 }, { 16, -18, -114, 24, 6, 0 }, { 16, -19, -114, 24, 6, 0 }, { 16, -20, -115, 24, 6, 0 }, { 16, -21, -115, 24, 6, 0 }, - { 16, -22, -116, 24, 6, 0 }, { 16, -23, -116, 24, 6, 0 }, { 16, -24, -117, 24, 6, 0 }, { 16, -25, -117, 24, 6, 0 }, { 16, -26, -117, 24, 6, 0 }, - { 16, -27, -118, 24, 6, 0 }, { 16, -28, -118, 24, 6, 0 }, { 16, -29, -119, 24, 6, 0 }, { 16, -30, -119, 24, 6, 0 }, { 16, -31, -120, 24, 6, 0 }, + 160, { + { 16, 0, 16, 24, 16, 0 }, { 16, 1, 16, 24, 16, 0 }, { 16, 2, 16, 24, 16, 0 }, { 16, 3, 16, 24, 16, 0 }, { 16, 4, 16, 24, 16, 0 }, + { 16, 5, 16, 24, 23, 0 }, { 16, 6, 15, 24, 23, 0 }, { 16, 7, 15, 24, 23, 0 }, { 16, 8, 15, 24, 23, 0 }, { 16, 9, 14, 24, 23, 0 }, + { 16, 10, 14, 24, 22, 0 }, { 16, 11, 13, 24, 22, 0 }, { 16, 12, 12, 24, 22, 0 }, { 16, 13, 11, 24, 22, 0 }, { 16, 14, 10, 24, 22, 0 }, + { 16, 15, 10, 24, 21, 0 }, { 16, 16, 9, 24, 21, 0 }, { 16, 17, 8, 24, 21, 0 }, { 16, 18, 7, 24, 21, 0 }, { 16, 19, 6, 24, 21, 0 }, + { 16, 20, 5, 24, 21, 0 }, { 16, 21, 4, 24, 21, 0 }, { 16, 21, 3, 24, 21, 0 }, { 16, 22, 2, 24, 20, 0 }, { 16, 23, 1, 24, 20, 0 }, + { 16, 23, 0, 24, 20, 0 }, { 16, 24, -1, 24, 20, 0 }, { 16, 24, -2, 24, 20, 0 }, { 16, 25, -3, 24, 20, 0 }, { 16, 25, -4, 24, 20, 0 }, + { 16, 25, -5, 24, 20, 0 }, { 16, 26, -6, 24, 20, 0 }, { 16, 26, -7, 24, 19, 0 }, { 16, 27, -8, 24, 19, 0 }, { 16, 27, -9, 24, 19, 0 }, + { 16, 28, -10, 24, 19, 0 }, { 16, 28, -11, 24, 19, 0 }, { 16, 28, -12, 24, 19, 0 }, { 16, 29, -13, 24, 19, 0 }, { 16, 29, -14, 24, 19, 0 }, + { 16, 29, -15, 24, 19, 0 }, { 16, 29, -16, 24, 19, 0 }, { 16, 30, -17, 24, 19, 0 }, { 16, 30, -18, 24, 19, 0 }, { 16, 30, -19, 24, 19, 0 }, + { 16, 30, -20, 24, 19, 0 }, { 16, 30, -21, 24, 18, 0 }, { 16, 31, -22, 24, 18, 0 }, { 16, 31, -23, 24, 18, 0 }, { 16, 31, -24, 24, 18, 0 }, + { 16, 31, -25, 24, 18, 0 }, { 16, 31, -26, 24, 18, 0 }, { 16, 31, -27, 24, 18, 0 }, { 16, 31, -28, 24, 18, 0 }, { 16, 31, -29, 24, 18, 0 }, + { 16, 31, -30, 24, 18, 0 }, { 16, 31, -31, 24, 18, 0 }, { 16, 31, -32, 24, 18, 0 }, { 16, 31, -33, 24, 18, 0 }, { 16, 31, -34, 24, 18, 0 }, + { 16, 31, -35, 24, 18, 0 }, { 16, 31, -36, 24, 18, 0 }, { 16, 31, -37, 24, 18, 0 }, { 16, 31, -38, 24, 18, 0 }, { 16, 31, -39, 24, 18, 0 }, + { 16, 31, -40, 24, 18, 0 }, { 16, 31, -41, 24, 18, 0 }, { 16, 31, -42, 24, 18, 0 }, { 16, 31, -43, 24, 18, 0 }, { 16, 31, -44, 24, 18, 0 }, + { 16, 31, -45, 24, 18, 0 }, { 16, 31, -46, 24, 18, 0 }, { 16, 31, -47, 24, 18, 0 }, { 16, 31, -48, 24, 18, 0 }, { 16, 31, -49, 24, 18, 0 }, + { 16, 30, -50, 24, 18, 0 }, { 16, 30, -51, 24, 18, 0 }, { 16, 30, -52, 24, 18, 0 }, { 16, 30, -53, 24, 18, 0 }, { 16, 30, -54, 24, 17, 0 }, + { 16, 29, -55, 24, 17, 0 }, { 16, 29, -56, 24, 17, 0 }, { 16, 29, -57, 24, 17, 0 }, { 16, 29, -58, 24, 17, 0 }, { 16, 28, -59, 24, 17, 0 }, + { 16, 28, -60, 24, 17, 0 }, { 16, 28, -61, 24, 17, 0 }, { 16, 27, -62, 24, 17, 0 }, { 16, 27, -63, 24, 17, 0 }, { 16, 27, -64, 24, 17, 0 }, + { 16, 26, -65, 24, 17, 0 }, { 16, 26, -66, 24, 17, 0 }, { 16, 26, -67, 24, 17, 0 }, { 16, 25, -68, 24, 17, 0 }, { 16, 25, -69, 24, 17, 0 }, + { 16, 25, -70, 24, 17, 0 }, { 16, 24, -71, 24, 17, 0 }, { 16, 24, -72, 24, 17, 0 }, { 16, 24, -73, 24, 17, 0 }, { 16, 23, -74, 24, 17, 0 }, + { 16, 23, -75, 24, 8, 0 }, { 16, 22, -76, 24, 8, 0 }, { 16, 21, -77, 24, 8, 0 }, { 16, 21, -78, 24, 8, 0 }, { 16, 20, -79, 24, 8, 0 }, + { 16, 19, -80, 24, 8, 0 }, { 16, 19, -81, 24, 8, 0 }, { 16, 18, -82, 24, 8, 0 }, { 16, 18, -83, 24, 8, 0 }, { 16, 17, -84, 24, 8, 0 }, + { 16, 16, -85, 24, 8, 0 }, { 16, 15, -86, 24, 8, 0 }, { 16, 15, -87, 24, 8, 0 }, { 16, 14, -88, 24, 8, 0 }, { 16, 13, -89, 24, 8, 0 }, + { 16, 12, -90, 24, 8, 0 }, { 16, 12, -91, 24, 7, 0 }, { 16, 11, -92, 24, 7, 0 }, { 16, 10, -93, 24, 7, 0 }, { 16, 9, -94, 24, 7, 0 }, + { 16, 8, -95, 24, 7, 0 }, { 16, 7, -96, 24, 7, 0 }, { 16, 6, -97, 24, 7, 0 }, { 16, 5, -98, 24, 7, 0 }, { 16, 4, -99, 24, 7, 0 }, + { 16, 3, -100, 24, 7, 0 }, { 16, 2, -101, 24, 7, 0 }, { 16, 1, -102, 24, 7, 0 }, { 16, 0, -102, 24, 7, 0 }, { 16, -1, -103, 24, 7, 0 }, + { 16, -2, -104, 24, 7, 0 }, { 16, -3, -105, 24, 7, 0 }, { 16, -4, -105, 24, 7, 0 }, { 16, -5, -106, 24, 7, 0 }, { 16, -6, -107, 24, 7, 0 }, + { 16, -7, -108, 24, 7, 0 }, { 16, -8, -109, 24, 7, 0 }, { 16, -9, -109, 24, 7, 0 }, { 16, -10, -110, 24, 7, 0 }, { 16, -11, -110, 24, 6, 0 }, + { 16, -12, -111, 24, 6, 0 }, { 16, -13, -111, 24, 6, 0 }, { 16, -14, -112, 24, 6, 0 }, { 16, -15, -112, 24, 6, 0 }, { 16, -16, -113, 24, 6, 0 }, + { 16, -17, -113, 24, 6, 0 }, { 16, -18, -114, 24, 6, 0 }, { 16, -19, -114, 24, 6, 0 }, { 16, -20, -115, 24, 6, 0 }, { 16, -21, -115, 24, 6, 0 }, + { 16, -22, -116, 24, 6, 0 }, { 16, -23, -116, 24, 6, 0 }, { 16, -24, -117, 24, 6, 0 }, { 16, -25, -117, 24, 6, 0 }, { 16, -26, -117, 24, 6, 0 }, + { 16, -27, -118, 24, 6, 0 }, { 16, -28, -118, 24, 6, 0 }, { 16, -29, -119, 24, 6, 0 }, { 16, -30, -119, 24, 6, 0 }, { 16, -31, -120, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E8650 = { - 160, { - { 0, 16, 16, 0, 16, 0 }, { 1, 16, 16, 0, 16, 0 }, { 2, 16, 16, 0, 16, 0 }, { 3, 16, 16, 0, 16, 0 }, { 4, 16, 16, 0, 16, 0 }, - { 5, 16, 16, 0, 23, 0 }, { 6, 16, 15, 0, 23, 0 }, { 7, 16, 15, 0, 23, 0 }, { 8, 16, 15, 0, 23, 0 }, { 9, 16, 14, 0, 23, 0 }, - { 10, 16, 14, 0, 22, 0 }, { 11, 16, 13, 0, 22, 0 }, { 12, 16, 12, 0, 22, 0 }, { 13, 16, 11, 0, 22, 0 }, { 14, 16, 10, 0, 22, 0 }, - { 15, 16, 10, 0, 21, 0 }, { 16, 16, 9, 0, 21, 0 }, { 17, 16, 8, 0, 21, 0 }, { 18, 16, 7, 0, 21, 0 }, { 19, 16, 6, 0, 21, 0 }, - { 20, 16, 5, 0, 21, 0 }, { 21, 16, 4, 0, 21, 0 }, { 21, 16, 3, 0, 21, 0 }, { 22, 16, 2, 0, 20, 0 }, { 23, 16, 1, 0, 20, 0 }, - { 23, 16, 0, 0, 20, 0 }, { 24, 16, -1, 0, 20, 0 }, { 24, 16, -2, 0, 20, 0 }, { 25, 16, -3, 0, 20, 0 }, { 25, 16, -4, 0, 20, 0 }, - { 25, 16, -5, 0, 20, 0 }, { 26, 16, -6, 0, 20, 0 }, { 26, 16, -7, 0, 19, 0 }, { 27, 16, -8, 0, 19, 0 }, { 27, 16, -9, 0, 19, 0 }, - { 28, 16, -10, 0, 19, 0 }, { 28, 16, -11, 0, 19, 0 }, { 28, 16, -12, 0, 19, 0 }, { 29, 16, -13, 0, 19, 0 }, { 29, 16, -14, 0, 19, 0 }, - { 29, 16, -15, 0, 19, 0 }, { 29, 16, -16, 0, 19, 0 }, { 30, 16, -17, 0, 19, 0 }, { 30, 16, -18, 0, 19, 0 }, { 30, 16, -19, 0, 19, 0 }, - { 30, 16, -20, 0, 19, 0 }, { 30, 16, -21, 0, 18, 0 }, { 31, 16, -22, 0, 18, 0 }, { 31, 16, -23, 0, 18, 0 }, { 31, 16, -24, 0, 18, 0 }, - { 31, 16, -25, 0, 18, 0 }, { 31, 16, -26, 0, 18, 0 }, { 31, 16, -27, 0, 18, 0 }, { 31, 16, -28, 0, 18, 0 }, { 31, 16, -29, 0, 18, 0 }, - { 31, 16, -30, 0, 18, 0 }, { 31, 16, -31, 0, 18, 0 }, { 31, 16, -32, 0, 18, 0 }, { 31, 16, -33, 0, 18, 0 }, { 31, 16, -34, 0, 18, 0 }, - { 31, 16, -35, 0, 18, 0 }, { 31, 16, -36, 0, 18, 0 }, { 31, 16, -37, 0, 18, 0 }, { 31, 16, -38, 0, 18, 0 }, { 31, 16, -39, 0, 18, 0 }, - { 31, 16, -40, 0, 18, 0 }, { 31, 16, -41, 0, 18, 0 }, { 31, 16, -42, 0, 18, 0 }, { 31, 16, -43, 0, 18, 0 }, { 31, 16, -44, 0, 18, 0 }, - { 31, 16, -45, 0, 18, 0 }, { 31, 16, -46, 0, 18, 0 }, { 31, 16, -47, 0, 18, 0 }, { 31, 16, -48, 0, 18, 0 }, { 31, 16, -49, 0, 18, 0 }, - { 30, 16, -50, 0, 18, 0 }, { 30, 16, -51, 0, 18, 0 }, { 30, 16, -52, 0, 18, 0 }, { 30, 16, -53, 0, 18, 0 }, { 30, 16, -54, 0, 17, 0 }, - { 29, 16, -55, 0, 17, 0 }, { 29, 16, -56, 0, 17, 0 }, { 29, 16, -57, 0, 17, 0 }, { 29, 16, -58, 0, 17, 0 }, { 28, 16, -59, 0, 17, 0 }, - { 28, 16, -60, 0, 17, 0 }, { 28, 16, -61, 0, 17, 0 }, { 27, 16, -62, 0, 17, 0 }, { 27, 16, -63, 0, 17, 0 }, { 27, 16, -64, 0, 17, 0 }, - { 26, 16, -65, 0, 17, 0 }, { 26, 16, -66, 0, 17, 0 }, { 26, 16, -67, 0, 17, 0 }, { 25, 16, -68, 0, 17, 0 }, { 25, 16, -69, 0, 17, 0 }, - { 25, 16, -70, 0, 17, 0 }, { 24, 16, -71, 0, 17, 0 }, { 24, 16, -72, 0, 17, 0 }, { 24, 16, -73, 0, 17, 0 }, { 23, 16, -74, 0, 17, 0 }, - { 23, 16, -75, 0, 8, 0 }, { 22, 16, -76, 0, 8, 0 }, { 21, 16, -77, 0, 8, 0 }, { 21, 16, -78, 0, 8, 0 }, { 20, 16, -79, 0, 8, 0 }, - { 19, 16, -80, 0, 8, 0 }, { 19, 16, -81, 0, 8, 0 }, { 18, 16, -82, 0, 8, 0 }, { 18, 16, -83, 0, 8, 0 }, { 17, 16, -84, 0, 8, 0 }, - { 16, 16, -85, 0, 8, 0 }, { 15, 16, -86, 0, 8, 0 }, { 15, 16, -87, 0, 8, 0 }, { 14, 16, -88, 0, 8, 0 }, { 13, 16, -89, 0, 8, 0 }, - { 12, 16, -90, 0, 8, 0 }, { 12, 16, -91, 0, 7, 0 }, { 11, 16, -92, 0, 7, 0 }, { 10, 16, -93, 0, 7, 0 }, { 9, 16, -94, 0, 7, 0 }, - { 8, 16, -95, 0, 7, 0 }, { 7, 16, -96, 0, 7, 0 }, { 6, 16, -97, 0, 7, 0 }, { 5, 16, -98, 0, 7, 0 }, { 4, 16, -99, 0, 7, 0 }, - { 3, 16, -100, 0, 7, 0 }, { 2, 16, -101, 0, 7, 0 }, { 1, 16, -102, 0, 7, 0 }, { 0, 16, -102, 0, 7, 0 }, { -1, 16, -103, 0, 7, 0 }, - { -2, 16, -104, 0, 7, 0 }, { -3, 16, -105, 0, 7, 0 }, { -4, 16, -105, 0, 7, 0 }, { -5, 16, -106, 0, 7, 0 }, { -6, 16, -107, 0, 7, 0 }, - { -7, 16, -108, 0, 7, 0 }, { -8, 16, -109, 0, 7, 0 }, { -9, 16, -109, 0, 7, 0 }, { -10, 16, -110, 0, 7, 0 }, { -11, 16, -110, 0, 6, 0 }, - { -12, 16, -111, 0, 6, 0 }, { -13, 16, -111, 0, 6, 0 }, { -14, 16, -112, 0, 6, 0 }, { -15, 16, -112, 0, 6, 0 }, { -16, 16, -113, 0, 6, 0 }, - { -17, 16, -113, 0, 6, 0 }, { -18, 16, -114, 0, 6, 0 }, { -19, 16, -114, 0, 6, 0 }, { -20, 16, -115, 0, 6, 0 }, { -21, 16, -115, 0, 6, 0 }, - { -22, 16, -116, 0, 6, 0 }, { -23, 16, -116, 0, 6, 0 }, { -24, 16, -117, 0, 6, 0 }, { -25, 16, -117, 0, 6, 0 }, { -26, 16, -117, 0, 6, 0 }, - { -27, 16, -118, 0, 6, 0 }, { -28, 16, -118, 0, 6, 0 }, { -29, 16, -119, 0, 6, 0 }, { -30, 16, -119, 0, 6, 0 }, { -31, 16, -120, 0, 6, 0 }, + 160, { + { 0, 16, 16, 0, 16, 0 }, { 1, 16, 16, 0, 16, 0 }, { 2, 16, 16, 0, 16, 0 }, { 3, 16, 16, 0, 16, 0 }, { 4, 16, 16, 0, 16, 0 }, + { 5, 16, 16, 0, 23, 0 }, { 6, 16, 15, 0, 23, 0 }, { 7, 16, 15, 0, 23, 0 }, { 8, 16, 15, 0, 23, 0 }, { 9, 16, 14, 0, 23, 0 }, + { 10, 16, 14, 0, 22, 0 }, { 11, 16, 13, 0, 22, 0 }, { 12, 16, 12, 0, 22, 0 }, { 13, 16, 11, 0, 22, 0 }, { 14, 16, 10, 0, 22, 0 }, + { 15, 16, 10, 0, 21, 0 }, { 16, 16, 9, 0, 21, 0 }, { 17, 16, 8, 0, 21, 0 }, { 18, 16, 7, 0, 21, 0 }, { 19, 16, 6, 0, 21, 0 }, + { 20, 16, 5, 0, 21, 0 }, { 21, 16, 4, 0, 21, 0 }, { 21, 16, 3, 0, 21, 0 }, { 22, 16, 2, 0, 20, 0 }, { 23, 16, 1, 0, 20, 0 }, + { 23, 16, 0, 0, 20, 0 }, { 24, 16, -1, 0, 20, 0 }, { 24, 16, -2, 0, 20, 0 }, { 25, 16, -3, 0, 20, 0 }, { 25, 16, -4, 0, 20, 0 }, + { 25, 16, -5, 0, 20, 0 }, { 26, 16, -6, 0, 20, 0 }, { 26, 16, -7, 0, 19, 0 }, { 27, 16, -8, 0, 19, 0 }, { 27, 16, -9, 0, 19, 0 }, + { 28, 16, -10, 0, 19, 0 }, { 28, 16, -11, 0, 19, 0 }, { 28, 16, -12, 0, 19, 0 }, { 29, 16, -13, 0, 19, 0 }, { 29, 16, -14, 0, 19, 0 }, + { 29, 16, -15, 0, 19, 0 }, { 29, 16, -16, 0, 19, 0 }, { 30, 16, -17, 0, 19, 0 }, { 30, 16, -18, 0, 19, 0 }, { 30, 16, -19, 0, 19, 0 }, + { 30, 16, -20, 0, 19, 0 }, { 30, 16, -21, 0, 18, 0 }, { 31, 16, -22, 0, 18, 0 }, { 31, 16, -23, 0, 18, 0 }, { 31, 16, -24, 0, 18, 0 }, + { 31, 16, -25, 0, 18, 0 }, { 31, 16, -26, 0, 18, 0 }, { 31, 16, -27, 0, 18, 0 }, { 31, 16, -28, 0, 18, 0 }, { 31, 16, -29, 0, 18, 0 }, + { 31, 16, -30, 0, 18, 0 }, { 31, 16, -31, 0, 18, 0 }, { 31, 16, -32, 0, 18, 0 }, { 31, 16, -33, 0, 18, 0 }, { 31, 16, -34, 0, 18, 0 }, + { 31, 16, -35, 0, 18, 0 }, { 31, 16, -36, 0, 18, 0 }, { 31, 16, -37, 0, 18, 0 }, { 31, 16, -38, 0, 18, 0 }, { 31, 16, -39, 0, 18, 0 }, + { 31, 16, -40, 0, 18, 0 }, { 31, 16, -41, 0, 18, 0 }, { 31, 16, -42, 0, 18, 0 }, { 31, 16, -43, 0, 18, 0 }, { 31, 16, -44, 0, 18, 0 }, + { 31, 16, -45, 0, 18, 0 }, { 31, 16, -46, 0, 18, 0 }, { 31, 16, -47, 0, 18, 0 }, { 31, 16, -48, 0, 18, 0 }, { 31, 16, -49, 0, 18, 0 }, + { 30, 16, -50, 0, 18, 0 }, { 30, 16, -51, 0, 18, 0 }, { 30, 16, -52, 0, 18, 0 }, { 30, 16, -53, 0, 18, 0 }, { 30, 16, -54, 0, 17, 0 }, + { 29, 16, -55, 0, 17, 0 }, { 29, 16, -56, 0, 17, 0 }, { 29, 16, -57, 0, 17, 0 }, { 29, 16, -58, 0, 17, 0 }, { 28, 16, -59, 0, 17, 0 }, + { 28, 16, -60, 0, 17, 0 }, { 28, 16, -61, 0, 17, 0 }, { 27, 16, -62, 0, 17, 0 }, { 27, 16, -63, 0, 17, 0 }, { 27, 16, -64, 0, 17, 0 }, + { 26, 16, -65, 0, 17, 0 }, { 26, 16, -66, 0, 17, 0 }, { 26, 16, -67, 0, 17, 0 }, { 25, 16, -68, 0, 17, 0 }, { 25, 16, -69, 0, 17, 0 }, + { 25, 16, -70, 0, 17, 0 }, { 24, 16, -71, 0, 17, 0 }, { 24, 16, -72, 0, 17, 0 }, { 24, 16, -73, 0, 17, 0 }, { 23, 16, -74, 0, 17, 0 }, + { 23, 16, -75, 0, 8, 0 }, { 22, 16, -76, 0, 8, 0 }, { 21, 16, -77, 0, 8, 0 }, { 21, 16, -78, 0, 8, 0 }, { 20, 16, -79, 0, 8, 0 }, + { 19, 16, -80, 0, 8, 0 }, { 19, 16, -81, 0, 8, 0 }, { 18, 16, -82, 0, 8, 0 }, { 18, 16, -83, 0, 8, 0 }, { 17, 16, -84, 0, 8, 0 }, + { 16, 16, -85, 0, 8, 0 }, { 15, 16, -86, 0, 8, 0 }, { 15, 16, -87, 0, 8, 0 }, { 14, 16, -88, 0, 8, 0 }, { 13, 16, -89, 0, 8, 0 }, + { 12, 16, -90, 0, 8, 0 }, { 12, 16, -91, 0, 7, 0 }, { 11, 16, -92, 0, 7, 0 }, { 10, 16, -93, 0, 7, 0 }, { 9, 16, -94, 0, 7, 0 }, + { 8, 16, -95, 0, 7, 0 }, { 7, 16, -96, 0, 7, 0 }, { 6, 16, -97, 0, 7, 0 }, { 5, 16, -98, 0, 7, 0 }, { 4, 16, -99, 0, 7, 0 }, + { 3, 16, -100, 0, 7, 0 }, { 2, 16, -101, 0, 7, 0 }, { 1, 16, -102, 0, 7, 0 }, { 0, 16, -102, 0, 7, 0 }, { -1, 16, -103, 0, 7, 0 }, + { -2, 16, -104, 0, 7, 0 }, { -3, 16, -105, 0, 7, 0 }, { -4, 16, -105, 0, 7, 0 }, { -5, 16, -106, 0, 7, 0 }, { -6, 16, -107, 0, 7, 0 }, + { -7, 16, -108, 0, 7, 0 }, { -8, 16, -109, 0, 7, 0 }, { -9, 16, -109, 0, 7, 0 }, { -10, 16, -110, 0, 7, 0 }, { -11, 16, -110, 0, 6, 0 }, + { -12, 16, -111, 0, 6, 0 }, { -13, 16, -111, 0, 6, 0 }, { -14, 16, -112, 0, 6, 0 }, { -15, 16, -112, 0, 6, 0 }, { -16, 16, -113, 0, 6, 0 }, + { -17, 16, -113, 0, 6, 0 }, { -18, 16, -114, 0, 6, 0 }, { -19, 16, -114, 0, 6, 0 }, { -20, 16, -115, 0, 6, 0 }, { -21, 16, -115, 0, 6, 0 }, + { -22, 16, -116, 0, 6, 0 }, { -23, 16, -116, 0, 6, 0 }, { -24, 16, -117, 0, 6, 0 }, { -25, 16, -117, 0, 6, 0 }, { -26, 16, -117, 0, 6, 0 }, + { -27, 16, -118, 0, 6, 0 }, { -28, 16, -118, 0, 6, 0 }, { -29, 16, -119, 0, 6, 0 }, { -30, 16, -119, 0, 6, 0 }, { -31, 16, -120, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E8BFB = { - 160, { - { 16, 31, 16, 8, 16, 0 }, { 16, 30, 16, 8, 16, 0 }, { 16, 29, 16, 8, 16, 0 }, { 16, 28, 16, 8, 16, 0 }, { 16, 27, 16, 8, 16, 0 }, - { 16, 26, 16, 8, 23, 0 }, { 16, 25, 15, 8, 23, 0 }, { 16, 24, 15, 8, 23, 0 }, { 16, 23, 15, 8, 23, 0 }, { 16, 22, 14, 8, 23, 0 }, - { 16, 21, 14, 8, 22, 0 }, { 16, 20, 13, 8, 22, 0 }, { 16, 19, 12, 8, 22, 0 }, { 16, 18, 11, 8, 22, 0 }, { 16, 17, 10, 8, 22, 0 }, - { 16, 16, 10, 8, 21, 0 }, { 16, 15, 9, 8, 21, 0 }, { 16, 14, 8, 8, 21, 0 }, { 16, 13, 7, 8, 21, 0 }, { 16, 12, 6, 8, 21, 0 }, - { 16, 11, 5, 8, 21, 0 }, { 16, 10, 4, 8, 21, 0 }, { 16, 10, 3, 8, 21, 0 }, { 16, 9, 2, 8, 20, 0 }, { 16, 8, 1, 8, 20, 0 }, - { 16, 8, 0, 8, 20, 0 }, { 16, 7, -1, 8, 20, 0 }, { 16, 7, -2, 8, 20, 0 }, { 16, 6, -3, 8, 20, 0 }, { 16, 6, -4, 8, 20, 0 }, - { 16, 6, -5, 8, 20, 0 }, { 16, 5, -6, 8, 20, 0 }, { 16, 5, -7, 8, 19, 0 }, { 16, 4, -8, 8, 19, 0 }, { 16, 4, -9, 8, 19, 0 }, - { 16, 3, -10, 8, 19, 0 }, { 16, 3, -11, 8, 19, 0 }, { 16, 3, -12, 8, 19, 0 }, { 16, 2, -13, 8, 19, 0 }, { 16, 2, -14, 8, 19, 0 }, - { 16, 2, -15, 8, 19, 0 }, { 16, 2, -16, 8, 19, 0 }, { 16, 1, -17, 8, 19, 0 }, { 16, 1, -18, 8, 19, 0 }, { 16, 1, -19, 8, 19, 0 }, - { 16, 1, -20, 8, 19, 0 }, { 16, 1, -21, 8, 18, 0 }, { 16, 0, -22, 8, 18, 0 }, { 16, 0, -23, 8, 18, 0 }, { 16, 0, -24, 8, 18, 0 }, - { 16, 0, -25, 8, 18, 0 }, { 16, 0, -26, 8, 18, 0 }, { 16, 0, -27, 8, 18, 0 }, { 16, 0, -28, 8, 18, 0 }, { 16, 0, -29, 8, 18, 0 }, - { 16, 0, -30, 8, 18, 0 }, { 16, 0, -31, 8, 18, 0 }, { 16, 0, -32, 8, 18, 0 }, { 16, 0, -33, 8, 18, 0 }, { 16, 0, -34, 8, 18, 0 }, - { 16, 0, -35, 8, 18, 0 }, { 16, 0, -36, 8, 18, 0 }, { 16, 0, -37, 8, 18, 0 }, { 16, 0, -38, 8, 18, 0 }, { 16, 0, -39, 8, 18, 0 }, - { 16, 0, -40, 8, 18, 0 }, { 16, 0, -41, 8, 18, 0 }, { 16, 0, -42, 8, 18, 0 }, { 16, 0, -43, 8, 18, 0 }, { 16, 0, -44, 8, 18, 0 }, - { 16, 0, -45, 8, 18, 0 }, { 16, 0, -46, 8, 18, 0 }, { 16, 0, -47, 8, 18, 0 }, { 16, 0, -48, 8, 18, 0 }, { 16, 0, -49, 8, 18, 0 }, - { 16, 1, -50, 8, 18, 0 }, { 16, 1, -51, 8, 18, 0 }, { 16, 1, -52, 8, 18, 0 }, { 16, 1, -53, 8, 18, 0 }, { 16, 1, -54, 8, 17, 0 }, - { 16, 2, -55, 8, 17, 0 }, { 16, 2, -56, 8, 17, 0 }, { 16, 2, -57, 8, 17, 0 }, { 16, 2, -58, 8, 17, 0 }, { 16, 3, -59, 8, 17, 0 }, - { 16, 3, -60, 8, 17, 0 }, { 16, 3, -61, 8, 17, 0 }, { 16, 4, -62, 8, 17, 0 }, { 16, 4, -63, 8, 17, 0 }, { 16, 4, -64, 8, 17, 0 }, - { 16, 5, -65, 8, 17, 0 }, { 16, 5, -66, 8, 17, 0 }, { 16, 5, -67, 8, 17, 0 }, { 16, 6, -68, 8, 17, 0 }, { 16, 6, -69, 8, 17, 0 }, - { 16, 6, -70, 8, 17, 0 }, { 16, 7, -71, 8, 17, 0 }, { 16, 7, -72, 8, 17, 0 }, { 16, 7, -73, 8, 17, 0 }, { 16, 8, -74, 8, 17, 0 }, - { 16, 8, -75, 8, 8, 0 }, { 16, 9, -76, 8, 8, 0 }, { 16, 10, -77, 8, 8, 0 }, { 16, 10, -78, 8, 8, 0 }, { 16, 11, -79, 8, 8, 0 }, - { 16, 12, -80, 8, 8, 0 }, { 16, 12, -81, 8, 8, 0 }, { 16, 13, -82, 8, 8, 0 }, { 16, 13, -83, 8, 8, 0 }, { 16, 14, -84, 8, 8, 0 }, - { 16, 15, -85, 8, 8, 0 }, { 16, 16, -86, 8, 8, 0 }, { 16, 16, -87, 8, 8, 0 }, { 16, 17, -88, 8, 8, 0 }, { 16, 18, -89, 8, 8, 0 }, - { 16, 19, -90, 8, 8, 0 }, { 16, 19, -91, 8, 7, 0 }, { 16, 20, -92, 8, 7, 0 }, { 16, 21, -93, 8, 7, 0 }, { 16, 22, -94, 8, 7, 0 }, - { 16, 23, -95, 8, 7, 0 }, { 16, 24, -96, 8, 7, 0 }, { 16, 25, -97, 8, 7, 0 }, { 16, 26, -98, 8, 7, 0 }, { 16, 27, -99, 8, 7, 0 }, - { 16, 28, -100, 8, 7, 0 }, { 16, 29, -101, 8, 7, 0 }, { 16, 30, -102, 8, 7, 0 }, { 16, 31, -102, 8, 7, 0 }, { 16, 32, -103, 8, 7, 0 }, - { 16, 33, -104, 8, 7, 0 }, { 16, 34, -105, 8, 7, 0 }, { 16, 35, -105, 8, 7, 0 }, { 16, 36, -106, 8, 7, 0 }, { 16, 37, -107, 8, 7, 0 }, - { 16, 38, -108, 8, 7, 0 }, { 16, 39, -109, 8, 7, 0 }, { 16, 40, -109, 8, 7, 0 }, { 16, 41, -110, 8, 7, 0 }, { 16, 42, -110, 8, 6, 0 }, - { 16, 43, -111, 8, 6, 0 }, { 16, 44, -111, 8, 6, 0 }, { 16, 45, -112, 8, 6, 0 }, { 16, 46, -112, 8, 6, 0 }, { 16, 47, -113, 8, 6, 0 }, - { 16, 48, -113, 8, 6, 0 }, { 16, 49, -114, 8, 6, 0 }, { 16, 50, -114, 8, 6, 0 }, { 16, 51, -115, 8, 6, 0 }, { 16, 52, -115, 8, 6, 0 }, - { 16, 53, -116, 8, 6, 0 }, { 16, 54, -116, 8, 6, 0 }, { 16, 55, -117, 8, 6, 0 }, { 16, 56, -117, 8, 6, 0 }, { 16, 57, -117, 8, 6, 0 }, - { 16, 58, -118, 8, 6, 0 }, { 16, 59, -118, 8, 6, 0 }, { 16, 60, -119, 8, 6, 0 }, { 16, 61, -119, 8, 6, 0 }, { 16, 62, -120, 8, 6, 0 }, + 160, { + { 16, 31, 16, 8, 16, 0 }, { 16, 30, 16, 8, 16, 0 }, { 16, 29, 16, 8, 16, 0 }, { 16, 28, 16, 8, 16, 0 }, { 16, 27, 16, 8, 16, 0 }, + { 16, 26, 16, 8, 23, 0 }, { 16, 25, 15, 8, 23, 0 }, { 16, 24, 15, 8, 23, 0 }, { 16, 23, 15, 8, 23, 0 }, { 16, 22, 14, 8, 23, 0 }, + { 16, 21, 14, 8, 22, 0 }, { 16, 20, 13, 8, 22, 0 }, { 16, 19, 12, 8, 22, 0 }, { 16, 18, 11, 8, 22, 0 }, { 16, 17, 10, 8, 22, 0 }, + { 16, 16, 10, 8, 21, 0 }, { 16, 15, 9, 8, 21, 0 }, { 16, 14, 8, 8, 21, 0 }, { 16, 13, 7, 8, 21, 0 }, { 16, 12, 6, 8, 21, 0 }, + { 16, 11, 5, 8, 21, 0 }, { 16, 10, 4, 8, 21, 0 }, { 16, 10, 3, 8, 21, 0 }, { 16, 9, 2, 8, 20, 0 }, { 16, 8, 1, 8, 20, 0 }, + { 16, 8, 0, 8, 20, 0 }, { 16, 7, -1, 8, 20, 0 }, { 16, 7, -2, 8, 20, 0 }, { 16, 6, -3, 8, 20, 0 }, { 16, 6, -4, 8, 20, 0 }, + { 16, 6, -5, 8, 20, 0 }, { 16, 5, -6, 8, 20, 0 }, { 16, 5, -7, 8, 19, 0 }, { 16, 4, -8, 8, 19, 0 }, { 16, 4, -9, 8, 19, 0 }, + { 16, 3, -10, 8, 19, 0 }, { 16, 3, -11, 8, 19, 0 }, { 16, 3, -12, 8, 19, 0 }, { 16, 2, -13, 8, 19, 0 }, { 16, 2, -14, 8, 19, 0 }, + { 16, 2, -15, 8, 19, 0 }, { 16, 2, -16, 8, 19, 0 }, { 16, 1, -17, 8, 19, 0 }, { 16, 1, -18, 8, 19, 0 }, { 16, 1, -19, 8, 19, 0 }, + { 16, 1, -20, 8, 19, 0 }, { 16, 1, -21, 8, 18, 0 }, { 16, 0, -22, 8, 18, 0 }, { 16, 0, -23, 8, 18, 0 }, { 16, 0, -24, 8, 18, 0 }, + { 16, 0, -25, 8, 18, 0 }, { 16, 0, -26, 8, 18, 0 }, { 16, 0, -27, 8, 18, 0 }, { 16, 0, -28, 8, 18, 0 }, { 16, 0, -29, 8, 18, 0 }, + { 16, 0, -30, 8, 18, 0 }, { 16, 0, -31, 8, 18, 0 }, { 16, 0, -32, 8, 18, 0 }, { 16, 0, -33, 8, 18, 0 }, { 16, 0, -34, 8, 18, 0 }, + { 16, 0, -35, 8, 18, 0 }, { 16, 0, -36, 8, 18, 0 }, { 16, 0, -37, 8, 18, 0 }, { 16, 0, -38, 8, 18, 0 }, { 16, 0, -39, 8, 18, 0 }, + { 16, 0, -40, 8, 18, 0 }, { 16, 0, -41, 8, 18, 0 }, { 16, 0, -42, 8, 18, 0 }, { 16, 0, -43, 8, 18, 0 }, { 16, 0, -44, 8, 18, 0 }, + { 16, 0, -45, 8, 18, 0 }, { 16, 0, -46, 8, 18, 0 }, { 16, 0, -47, 8, 18, 0 }, { 16, 0, -48, 8, 18, 0 }, { 16, 0, -49, 8, 18, 0 }, + { 16, 1, -50, 8, 18, 0 }, { 16, 1, -51, 8, 18, 0 }, { 16, 1, -52, 8, 18, 0 }, { 16, 1, -53, 8, 18, 0 }, { 16, 1, -54, 8, 17, 0 }, + { 16, 2, -55, 8, 17, 0 }, { 16, 2, -56, 8, 17, 0 }, { 16, 2, -57, 8, 17, 0 }, { 16, 2, -58, 8, 17, 0 }, { 16, 3, -59, 8, 17, 0 }, + { 16, 3, -60, 8, 17, 0 }, { 16, 3, -61, 8, 17, 0 }, { 16, 4, -62, 8, 17, 0 }, { 16, 4, -63, 8, 17, 0 }, { 16, 4, -64, 8, 17, 0 }, + { 16, 5, -65, 8, 17, 0 }, { 16, 5, -66, 8, 17, 0 }, { 16, 5, -67, 8, 17, 0 }, { 16, 6, -68, 8, 17, 0 }, { 16, 6, -69, 8, 17, 0 }, + { 16, 6, -70, 8, 17, 0 }, { 16, 7, -71, 8, 17, 0 }, { 16, 7, -72, 8, 17, 0 }, { 16, 7, -73, 8, 17, 0 }, { 16, 8, -74, 8, 17, 0 }, + { 16, 8, -75, 8, 8, 0 }, { 16, 9, -76, 8, 8, 0 }, { 16, 10, -77, 8, 8, 0 }, { 16, 10, -78, 8, 8, 0 }, { 16, 11, -79, 8, 8, 0 }, + { 16, 12, -80, 8, 8, 0 }, { 16, 12, -81, 8, 8, 0 }, { 16, 13, -82, 8, 8, 0 }, { 16, 13, -83, 8, 8, 0 }, { 16, 14, -84, 8, 8, 0 }, + { 16, 15, -85, 8, 8, 0 }, { 16, 16, -86, 8, 8, 0 }, { 16, 16, -87, 8, 8, 0 }, { 16, 17, -88, 8, 8, 0 }, { 16, 18, -89, 8, 8, 0 }, + { 16, 19, -90, 8, 8, 0 }, { 16, 19, -91, 8, 7, 0 }, { 16, 20, -92, 8, 7, 0 }, { 16, 21, -93, 8, 7, 0 }, { 16, 22, -94, 8, 7, 0 }, + { 16, 23, -95, 8, 7, 0 }, { 16, 24, -96, 8, 7, 0 }, { 16, 25, -97, 8, 7, 0 }, { 16, 26, -98, 8, 7, 0 }, { 16, 27, -99, 8, 7, 0 }, + { 16, 28, -100, 8, 7, 0 }, { 16, 29, -101, 8, 7, 0 }, { 16, 30, -102, 8, 7, 0 }, { 16, 31, -102, 8, 7, 0 }, { 16, 32, -103, 8, 7, 0 }, + { 16, 33, -104, 8, 7, 0 }, { 16, 34, -105, 8, 7, 0 }, { 16, 35, -105, 8, 7, 0 }, { 16, 36, -106, 8, 7, 0 }, { 16, 37, -107, 8, 7, 0 }, + { 16, 38, -108, 8, 7, 0 }, { 16, 39, -109, 8, 7, 0 }, { 16, 40, -109, 8, 7, 0 }, { 16, 41, -110, 8, 7, 0 }, { 16, 42, -110, 8, 6, 0 }, + { 16, 43, -111, 8, 6, 0 }, { 16, 44, -111, 8, 6, 0 }, { 16, 45, -112, 8, 6, 0 }, { 16, 46, -112, 8, 6, 0 }, { 16, 47, -113, 8, 6, 0 }, + { 16, 48, -113, 8, 6, 0 }, { 16, 49, -114, 8, 6, 0 }, { 16, 50, -114, 8, 6, 0 }, { 16, 51, -115, 8, 6, 0 }, { 16, 52, -115, 8, 6, 0 }, + { 16, 53, -116, 8, 6, 0 }, { 16, 54, -116, 8, 6, 0 }, { 16, 55, -117, 8, 6, 0 }, { 16, 56, -117, 8, 6, 0 }, { 16, 57, -117, 8, 6, 0 }, + { 16, 58, -118, 8, 6, 0 }, { 16, 59, -118, 8, 6, 0 }, { 16, 60, -119, 8, 6, 0 }, { 16, 61, -119, 8, 6, 0 }, { 16, 62, -120, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EA852 = { - 97, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 1, 0, 0, 0 }, { 24, 16, 1, 0, 0, 0 }, { 23, 16, 1, 0, 34, 0 }, { 22, 16, 1, 0, 34, 0 }, - { 21, 16, 1, 0, 34, 0 }, { 20, 16, 2, 0, 34, 0 }, { 19, 16, 2, 0, 34, 0 }, { 18, 16, 2, 0, 34, 0 }, { 17, 16, 3, 0, 34, 0 }, - { 16, 16, 3, 0, 34, 0 }, { 15, 16, 4, 0, 34, 0 }, { 14, 16, 4, 0, 34, 0 }, { 13, 16, 5, 0, 34, 0 }, { 12, 16, 5, 0, 34, 0 }, - { 11, 16, 6, 0, 34, 0 }, { 10, 16, 6, 0, 34, 0 }, { 9, 16, 7, 0, 34, 0 }, { 8, 16, 8, 0, 34, 0 }, { 7, 16, 9, 0, 35, 0 }, - { 6, 16, 9, 0, 35, 0 }, { 5, 15, 10, 0, 35, 0 }, { 4, 15, 11, 0, 35, 0 }, { 3, 15, 12, 0, 35, 0 }, { 2, 15, 13, 0, 35, 0 }, - { 1, 15, 14, 0, 35, 0 }, { 0, 15, 15, 0, 35, 0 }, { -1, 14, 16, 0, 35, 0 }, { -2, 14, 17, 0, 35, 0 }, { -2, 14, 18, 0, 35, 0 }, - { -3, 14, 19, 0, 35, 0 }, { -4, 14, 20, 0, 35, 0 }, { -5, 13, 21, 0, 35, 0 }, { -5, 13, 22, 0, 35, 0 }, { -6, 13, 23, 0, 35, 0 }, - { -6, 12, 24, 0, 36, 0 }, { -7, 12, 25, 0, 36, 0 }, { -8, 12, 26, 0, 36, 0 }, { -8, 12, 27, 0, 36, 0 }, { -9, 11, 28, 0, 36, 0 }, - { -9, 11, 29, 0, 36, 0 }, { -10, 10, 30, 0, 36, 0 }, { -10, 10, 31, 0, 36, 0 }, { -11, 10, 32, 0, 36, 0 }, { -11, 9, 33, 0, 36, 0 }, - { -11, 9, 34, 0, 36, 0 }, { -12, 8, 35, 0, 36, 0 }, { -12, 8, 36, 0, 36, 0 }, { -13, 7, 37, 0, 36, 0 }, { -13, 7, 38, 0, 36, 0 }, - { -13, 6, 39, 0, 36, 0 }, { -13, 5, 40, 0, 36, 0 }, { -14, 5, 41, 0, 37, 0 }, { -14, 4, 42, 0, 37, 0 }, { -14, 4, 43, 0, 37, 0 }, - { -15, 3, 44, 0, 37, 0 }, { -15, 2, 45, 0, 37, 0 }, { -15, 1, 46, 0, 37, 0 }, { -15, 1, 47, 0, 37, 0 }, { -15, 0, 48, 0, 37, 0 }, - { -16, -1, 49, 0, 37, 0 }, { -16, -2, 50, 0, 37, 0 }, { -16, -3, 51, 0, 37, 0 }, { -16, -4, 52, 0, 37, 0 }, { -16, -5, 53, 0, 37, 0 }, - { -16, -6, 54, 0, 37, 0 }, { -17, -7, 55, 0, 37, 0 }, { -17, -8, 55, 0, 37, 0 }, { -17, -9, 56, 0, 38, 0 }, { -17, -10, 57, 0, 38, 0 }, - { -17, -11, 58, 0, 38, 0 }, { -17, -12, 58, 0, 38, 0 }, { -17, -13, 59, 0, 38, 0 }, { -17, -14, 59, 0, 38, 0 }, { -17, -15, 60, 0, 38, 0 }, - { -17, -16, 60, 0, 38, 0 }, { -17, -17, 61, 0, 38, 0 }, { -17, -18, 61, 0, 38, 0 }, { -17, -19, 62, 0, 38, 0 }, { -17, -20, 62, 0, 38, 0 }, - { -17, -21, 62, 0, 38, 0 }, { -17, -22, 63, 0, 38, 0 }, { -17, -23, 63, 0, 38, 0 }, { -17, -24, 63, 0, 38, 0 }, { -17, -25, 63, 0, 38, 0 }, - { -17, -26, 63, 8, 16, 0 }, { -17, -27, 64, 8, 16, 0 }, { -17, -28, 64, 8, 16, 0 }, { -17, -29, 64, 8, 16, 0 }, { -17, -30, 64, 8, 16, 0 }, - { -17, -31, 64, 8, 16, 0 }, { -17, -32, 64, 8, 16, 0 }, + 97, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 1, 0, 0, 0 }, { 24, 16, 1, 0, 0, 0 }, { 23, 16, 1, 0, 34, 0 }, { 22, 16, 1, 0, 34, 0 }, + { 21, 16, 1, 0, 34, 0 }, { 20, 16, 2, 0, 34, 0 }, { 19, 16, 2, 0, 34, 0 }, { 18, 16, 2, 0, 34, 0 }, { 17, 16, 3, 0, 34, 0 }, + { 16, 16, 3, 0, 34, 0 }, { 15, 16, 4, 0, 34, 0 }, { 14, 16, 4, 0, 34, 0 }, { 13, 16, 5, 0, 34, 0 }, { 12, 16, 5, 0, 34, 0 }, + { 11, 16, 6, 0, 34, 0 }, { 10, 16, 6, 0, 34, 0 }, { 9, 16, 7, 0, 34, 0 }, { 8, 16, 8, 0, 34, 0 }, { 7, 16, 9, 0, 35, 0 }, + { 6, 16, 9, 0, 35, 0 }, { 5, 15, 10, 0, 35, 0 }, { 4, 15, 11, 0, 35, 0 }, { 3, 15, 12, 0, 35, 0 }, { 2, 15, 13, 0, 35, 0 }, + { 1, 15, 14, 0, 35, 0 }, { 0, 15, 15, 0, 35, 0 }, { -1, 14, 16, 0, 35, 0 }, { -2, 14, 17, 0, 35, 0 }, { -2, 14, 18, 0, 35, 0 }, + { -3, 14, 19, 0, 35, 0 }, { -4, 14, 20, 0, 35, 0 }, { -5, 13, 21, 0, 35, 0 }, { -5, 13, 22, 0, 35, 0 }, { -6, 13, 23, 0, 35, 0 }, + { -6, 12, 24, 0, 36, 0 }, { -7, 12, 25, 0, 36, 0 }, { -8, 12, 26, 0, 36, 0 }, { -8, 12, 27, 0, 36, 0 }, { -9, 11, 28, 0, 36, 0 }, + { -9, 11, 29, 0, 36, 0 }, { -10, 10, 30, 0, 36, 0 }, { -10, 10, 31, 0, 36, 0 }, { -11, 10, 32, 0, 36, 0 }, { -11, 9, 33, 0, 36, 0 }, + { -11, 9, 34, 0, 36, 0 }, { -12, 8, 35, 0, 36, 0 }, { -12, 8, 36, 0, 36, 0 }, { -13, 7, 37, 0, 36, 0 }, { -13, 7, 38, 0, 36, 0 }, + { -13, 6, 39, 0, 36, 0 }, { -13, 5, 40, 0, 36, 0 }, { -14, 5, 41, 0, 37, 0 }, { -14, 4, 42, 0, 37, 0 }, { -14, 4, 43, 0, 37, 0 }, + { -15, 3, 44, 0, 37, 0 }, { -15, 2, 45, 0, 37, 0 }, { -15, 1, 46, 0, 37, 0 }, { -15, 1, 47, 0, 37, 0 }, { -15, 0, 48, 0, 37, 0 }, + { -16, -1, 49, 0, 37, 0 }, { -16, -2, 50, 0, 37, 0 }, { -16, -3, 51, 0, 37, 0 }, { -16, -4, 52, 0, 37, 0 }, { -16, -5, 53, 0, 37, 0 }, + { -16, -6, 54, 0, 37, 0 }, { -17, -7, 55, 0, 37, 0 }, { -17, -8, 55, 0, 37, 0 }, { -17, -9, 56, 0, 38, 0 }, { -17, -10, 57, 0, 38, 0 }, + { -17, -11, 58, 0, 38, 0 }, { -17, -12, 58, 0, 38, 0 }, { -17, -13, 59, 0, 38, 0 }, { -17, -14, 59, 0, 38, 0 }, { -17, -15, 60, 0, 38, 0 }, + { -17, -16, 60, 0, 38, 0 }, { -17, -17, 61, 0, 38, 0 }, { -17, -18, 61, 0, 38, 0 }, { -17, -19, 62, 0, 38, 0 }, { -17, -20, 62, 0, 38, 0 }, + { -17, -21, 62, 0, 38, 0 }, { -17, -22, 63, 0, 38, 0 }, { -17, -23, 63, 0, 38, 0 }, { -17, -24, 63, 0, 38, 0 }, { -17, -25, 63, 0, 38, 0 }, + { -17, -26, 63, 8, 16, 0 }, { -17, -27, 64, 8, 16, 0 }, { -17, -28, 64, 8, 16, 0 }, { -17, -29, 64, 8, 16, 0 }, { -17, -30, 64, 8, 16, 0 }, + { -17, -31, 64, 8, 16, 0 }, { -17, -32, 64, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EABBD = { - 97, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 1, 8, 0, 0 }, { 16, 7, 1, 8, 0, 0 }, { 16, 8, 1, 8, 34, 0 }, { 16, 9, 1, 8, 34, 0 }, - { 16, 10, 1, 8, 34, 0 }, { 16, 11, 2, 8, 34, 0 }, { 16, 12, 2, 8, 34, 0 }, { 16, 13, 2, 8, 34, 0 }, { 16, 14, 3, 8, 34, 0 }, - { 16, 15, 3, 8, 34, 0 }, { 16, 16, 4, 8, 34, 0 }, { 16, 17, 4, 8, 34, 0 }, { 16, 18, 5, 8, 34, 0 }, { 16, 19, 5, 8, 34, 0 }, - { 16, 20, 6, 8, 34, 0 }, { 16, 21, 6, 8, 34, 0 }, { 16, 22, 7, 8, 34, 0 }, { 16, 23, 8, 8, 34, 0 }, { 16, 24, 9, 8, 35, 0 }, - { 16, 25, 9, 8, 35, 0 }, { 15, 26, 10, 8, 35, 0 }, { 15, 27, 11, 8, 35, 0 }, { 15, 28, 12, 8, 35, 0 }, { 15, 29, 13, 8, 35, 0 }, - { 15, 30, 14, 8, 35, 0 }, { 15, 31, 15, 8, 35, 0 }, { 14, 32, 16, 8, 35, 0 }, { 14, 33, 17, 8, 35, 0 }, { 14, 33, 18, 8, 35, 0 }, - { 14, 34, 19, 8, 35, 0 }, { 14, 35, 20, 8, 35, 0 }, { 13, 36, 21, 8, 35, 0 }, { 13, 36, 22, 8, 35, 0 }, { 13, 37, 23, 8, 35, 0 }, - { 12, 37, 24, 8, 36, 0 }, { 12, 38, 25, 8, 36, 0 }, { 12, 39, 26, 8, 36, 0 }, { 12, 39, 27, 8, 36, 0 }, { 11, 40, 28, 8, 36, 0 }, - { 11, 40, 29, 8, 36, 0 }, { 10, 41, 30, 8, 36, 0 }, { 10, 41, 31, 8, 36, 0 }, { 10, 42, 32, 8, 36, 0 }, { 9, 42, 33, 8, 36, 0 }, - { 9, 42, 34, 8, 36, 0 }, { 8, 43, 35, 8, 36, 0 }, { 8, 43, 36, 8, 36, 0 }, { 7, 44, 37, 8, 36, 0 }, { 7, 44, 38, 8, 36, 0 }, - { 6, 44, 39, 8, 36, 0 }, { 5, 44, 40, 8, 36, 0 }, { 5, 45, 41, 8, 37, 0 }, { 4, 45, 42, 8, 37, 0 }, { 4, 45, 43, 8, 37, 0 }, - { 3, 46, 44, 8, 37, 0 }, { 2, 46, 45, 8, 37, 0 }, { 1, 46, 46, 8, 37, 0 }, { 1, 46, 47, 8, 37, 0 }, { 0, 46, 48, 8, 37, 0 }, - { -1, 47, 49, 8, 37, 0 }, { -2, 47, 50, 8, 37, 0 }, { -3, 47, 51, 8, 37, 0 }, { -4, 47, 52, 8, 37, 0 }, { -5, 47, 53, 8, 37, 0 }, - { -6, 47, 54, 8, 37, 0 }, { -7, 48, 55, 8, 37, 0 }, { -8, 48, 55, 8, 37, 0 }, { -9, 48, 56, 8, 38, 0 }, { -10, 48, 57, 8, 38, 0 }, - { -11, 48, 58, 8, 38, 0 }, { -12, 48, 58, 8, 38, 0 }, { -13, 48, 59, 8, 38, 0 }, { -14, 48, 59, 8, 38, 0 }, { -15, 48, 60, 8, 38, 0 }, - { -16, 48, 60, 8, 38, 0 }, { -17, 48, 61, 8, 38, 0 }, { -18, 48, 61, 8, 38, 0 }, { -19, 48, 62, 8, 38, 0 }, { -20, 48, 62, 8, 38, 0 }, - { -21, 48, 62, 8, 38, 0 }, { -22, 48, 63, 8, 38, 0 }, { -23, 48, 63, 8, 38, 0 }, { -24, 48, 63, 8, 38, 0 }, { -25, 48, 63, 8, 38, 0 }, - { -26, 48, 63, 16, 16, 0 }, { -27, 48, 64, 16, 16, 0 }, { -28, 48, 64, 16, 16, 0 }, { -29, 48, 64, 16, 16, 0 }, { -30, 48, 64, 16, 16, 0 }, - { -31, 48, 64, 16, 16, 0 }, { -32, 48, 64, 16, 16, 0 }, + 97, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 1, 8, 0, 0 }, { 16, 7, 1, 8, 0, 0 }, { 16, 8, 1, 8, 34, 0 }, { 16, 9, 1, 8, 34, 0 }, + { 16, 10, 1, 8, 34, 0 }, { 16, 11, 2, 8, 34, 0 }, { 16, 12, 2, 8, 34, 0 }, { 16, 13, 2, 8, 34, 0 }, { 16, 14, 3, 8, 34, 0 }, + { 16, 15, 3, 8, 34, 0 }, { 16, 16, 4, 8, 34, 0 }, { 16, 17, 4, 8, 34, 0 }, { 16, 18, 5, 8, 34, 0 }, { 16, 19, 5, 8, 34, 0 }, + { 16, 20, 6, 8, 34, 0 }, { 16, 21, 6, 8, 34, 0 }, { 16, 22, 7, 8, 34, 0 }, { 16, 23, 8, 8, 34, 0 }, { 16, 24, 9, 8, 35, 0 }, + { 16, 25, 9, 8, 35, 0 }, { 15, 26, 10, 8, 35, 0 }, { 15, 27, 11, 8, 35, 0 }, { 15, 28, 12, 8, 35, 0 }, { 15, 29, 13, 8, 35, 0 }, + { 15, 30, 14, 8, 35, 0 }, { 15, 31, 15, 8, 35, 0 }, { 14, 32, 16, 8, 35, 0 }, { 14, 33, 17, 8, 35, 0 }, { 14, 33, 18, 8, 35, 0 }, + { 14, 34, 19, 8, 35, 0 }, { 14, 35, 20, 8, 35, 0 }, { 13, 36, 21, 8, 35, 0 }, { 13, 36, 22, 8, 35, 0 }, { 13, 37, 23, 8, 35, 0 }, + { 12, 37, 24, 8, 36, 0 }, { 12, 38, 25, 8, 36, 0 }, { 12, 39, 26, 8, 36, 0 }, { 12, 39, 27, 8, 36, 0 }, { 11, 40, 28, 8, 36, 0 }, + { 11, 40, 29, 8, 36, 0 }, { 10, 41, 30, 8, 36, 0 }, { 10, 41, 31, 8, 36, 0 }, { 10, 42, 32, 8, 36, 0 }, { 9, 42, 33, 8, 36, 0 }, + { 9, 42, 34, 8, 36, 0 }, { 8, 43, 35, 8, 36, 0 }, { 8, 43, 36, 8, 36, 0 }, { 7, 44, 37, 8, 36, 0 }, { 7, 44, 38, 8, 36, 0 }, + { 6, 44, 39, 8, 36, 0 }, { 5, 44, 40, 8, 36, 0 }, { 5, 45, 41, 8, 37, 0 }, { 4, 45, 42, 8, 37, 0 }, { 4, 45, 43, 8, 37, 0 }, + { 3, 46, 44, 8, 37, 0 }, { 2, 46, 45, 8, 37, 0 }, { 1, 46, 46, 8, 37, 0 }, { 1, 46, 47, 8, 37, 0 }, { 0, 46, 48, 8, 37, 0 }, + { -1, 47, 49, 8, 37, 0 }, { -2, 47, 50, 8, 37, 0 }, { -3, 47, 51, 8, 37, 0 }, { -4, 47, 52, 8, 37, 0 }, { -5, 47, 53, 8, 37, 0 }, + { -6, 47, 54, 8, 37, 0 }, { -7, 48, 55, 8, 37, 0 }, { -8, 48, 55, 8, 37, 0 }, { -9, 48, 56, 8, 38, 0 }, { -10, 48, 57, 8, 38, 0 }, + { -11, 48, 58, 8, 38, 0 }, { -12, 48, 58, 8, 38, 0 }, { -13, 48, 59, 8, 38, 0 }, { -14, 48, 59, 8, 38, 0 }, { -15, 48, 60, 8, 38, 0 }, + { -16, 48, 60, 8, 38, 0 }, { -17, 48, 61, 8, 38, 0 }, { -18, 48, 61, 8, 38, 0 }, { -19, 48, 62, 8, 38, 0 }, { -20, 48, 62, 8, 38, 0 }, + { -21, 48, 62, 8, 38, 0 }, { -22, 48, 63, 8, 38, 0 }, { -23, 48, 63, 8, 38, 0 }, { -24, 48, 63, 8, 38, 0 }, { -25, 48, 63, 8, 38, 0 }, + { -26, 48, 63, 16, 16, 0 }, { -27, 48, 64, 16, 16, 0 }, { -28, 48, 64, 16, 16, 0 }, { -29, 48, 64, 16, 16, 0 }, { -30, 48, 64, 16, 16, 0 }, + { -31, 48, 64, 16, 16, 0 }, { -32, 48, 64, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EAF28 = { - 97, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 1, 16, 0, 0 }, { 7, 16, 1, 16, 0, 0 }, { 8, 16, 1, 16, 34, 0 }, { 9, 16, 1, 16, 34, 0 }, - { 10, 16, 1, 16, 34, 0 }, { 11, 16, 2, 16, 34, 0 }, { 12, 16, 2, 16, 34, 0 }, { 13, 16, 2, 16, 34, 0 }, { 14, 16, 3, 16, 34, 0 }, - { 15, 16, 3, 16, 34, 0 }, { 16, 16, 4, 16, 34, 0 }, { 17, 16, 4, 16, 34, 0 }, { 18, 16, 5, 16, 34, 0 }, { 19, 16, 5, 16, 34, 0 }, - { 20, 16, 6, 16, 34, 0 }, { 21, 16, 6, 16, 34, 0 }, { 22, 16, 7, 16, 34, 0 }, { 23, 16, 8, 16, 34, 0 }, { 24, 16, 9, 16, 35, 0 }, - { 25, 16, 9, 16, 35, 0 }, { 26, 17, 10, 16, 35, 0 }, { 27, 17, 11, 16, 35, 0 }, { 28, 17, 12, 16, 35, 0 }, { 29, 17, 13, 16, 35, 0 }, - { 30, 17, 14, 16, 35, 0 }, { 31, 17, 15, 16, 35, 0 }, { 32, 18, 16, 16, 35, 0 }, { 33, 18, 17, 16, 35, 0 }, { 33, 18, 18, 16, 35, 0 }, - { 34, 18, 19, 16, 35, 0 }, { 35, 18, 20, 16, 35, 0 }, { 36, 19, 21, 16, 35, 0 }, { 36, 19, 22, 16, 35, 0 }, { 37, 19, 23, 16, 35, 0 }, - { 37, 20, 24, 16, 36, 0 }, { 38, 20, 25, 16, 36, 0 }, { 39, 20, 26, 16, 36, 0 }, { 39, 20, 27, 16, 36, 0 }, { 40, 21, 28, 16, 36, 0 }, - { 40, 21, 29, 16, 36, 0 }, { 41, 22, 30, 16, 36, 0 }, { 41, 22, 31, 16, 36, 0 }, { 42, 22, 32, 16, 36, 0 }, { 42, 23, 33, 16, 36, 0 }, - { 42, 23, 34, 16, 36, 0 }, { 43, 24, 35, 16, 36, 0 }, { 43, 24, 36, 16, 36, 0 }, { 44, 25, 37, 16, 36, 0 }, { 44, 25, 38, 16, 36, 0 }, - { 44, 26, 39, 16, 36, 0 }, { 44, 27, 40, 16, 36, 0 }, { 45, 27, 41, 16, 37, 0 }, { 45, 28, 42, 16, 37, 0 }, { 45, 28, 43, 16, 37, 0 }, - { 46, 29, 44, 16, 37, 0 }, { 46, 30, 45, 16, 37, 0 }, { 46, 31, 46, 16, 37, 0 }, { 46, 31, 47, 16, 37, 0 }, { 46, 32, 48, 16, 37, 0 }, - { 47, 33, 49, 16, 37, 0 }, { 47, 34, 50, 16, 37, 0 }, { 47, 35, 51, 16, 37, 0 }, { 47, 36, 52, 16, 37, 0 }, { 47, 37, 53, 16, 37, 0 }, - { 47, 38, 54, 16, 37, 0 }, { 48, 39, 55, 16, 37, 0 }, { 48, 40, 55, 16, 37, 0 }, { 48, 41, 56, 16, 38, 0 }, { 48, 42, 57, 16, 38, 0 }, - { 48, 43, 58, 16, 38, 0 }, { 48, 44, 58, 16, 38, 0 }, { 48, 45, 59, 16, 38, 0 }, { 48, 46, 59, 16, 38, 0 }, { 48, 47, 60, 16, 38, 0 }, - { 48, 48, 60, 16, 38, 0 }, { 48, 49, 61, 16, 38, 0 }, { 48, 50, 61, 16, 38, 0 }, { 48, 51, 62, 16, 38, 0 }, { 48, 52, 62, 16, 38, 0 }, - { 48, 53, 62, 16, 38, 0 }, { 48, 54, 63, 16, 38, 0 }, { 48, 55, 63, 16, 38, 0 }, { 48, 56, 63, 16, 38, 0 }, { 48, 57, 63, 16, 38, 0 }, - { 48, 58, 63, 24, 16, 0 }, { 48, 59, 64, 24, 16, 0 }, { 48, 60, 64, 24, 16, 0 }, { 48, 61, 64, 24, 16, 0 }, { 48, 62, 64, 24, 16, 0 }, - { 48, 63, 64, 24, 16, 0 }, { 48, 64, 64, 24, 16, 0 }, + 97, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 1, 16, 0, 0 }, { 7, 16, 1, 16, 0, 0 }, { 8, 16, 1, 16, 34, 0 }, { 9, 16, 1, 16, 34, 0 }, + { 10, 16, 1, 16, 34, 0 }, { 11, 16, 2, 16, 34, 0 }, { 12, 16, 2, 16, 34, 0 }, { 13, 16, 2, 16, 34, 0 }, { 14, 16, 3, 16, 34, 0 }, + { 15, 16, 3, 16, 34, 0 }, { 16, 16, 4, 16, 34, 0 }, { 17, 16, 4, 16, 34, 0 }, { 18, 16, 5, 16, 34, 0 }, { 19, 16, 5, 16, 34, 0 }, + { 20, 16, 6, 16, 34, 0 }, { 21, 16, 6, 16, 34, 0 }, { 22, 16, 7, 16, 34, 0 }, { 23, 16, 8, 16, 34, 0 }, { 24, 16, 9, 16, 35, 0 }, + { 25, 16, 9, 16, 35, 0 }, { 26, 17, 10, 16, 35, 0 }, { 27, 17, 11, 16, 35, 0 }, { 28, 17, 12, 16, 35, 0 }, { 29, 17, 13, 16, 35, 0 }, + { 30, 17, 14, 16, 35, 0 }, { 31, 17, 15, 16, 35, 0 }, { 32, 18, 16, 16, 35, 0 }, { 33, 18, 17, 16, 35, 0 }, { 33, 18, 18, 16, 35, 0 }, + { 34, 18, 19, 16, 35, 0 }, { 35, 18, 20, 16, 35, 0 }, { 36, 19, 21, 16, 35, 0 }, { 36, 19, 22, 16, 35, 0 }, { 37, 19, 23, 16, 35, 0 }, + { 37, 20, 24, 16, 36, 0 }, { 38, 20, 25, 16, 36, 0 }, { 39, 20, 26, 16, 36, 0 }, { 39, 20, 27, 16, 36, 0 }, { 40, 21, 28, 16, 36, 0 }, + { 40, 21, 29, 16, 36, 0 }, { 41, 22, 30, 16, 36, 0 }, { 41, 22, 31, 16, 36, 0 }, { 42, 22, 32, 16, 36, 0 }, { 42, 23, 33, 16, 36, 0 }, + { 42, 23, 34, 16, 36, 0 }, { 43, 24, 35, 16, 36, 0 }, { 43, 24, 36, 16, 36, 0 }, { 44, 25, 37, 16, 36, 0 }, { 44, 25, 38, 16, 36, 0 }, + { 44, 26, 39, 16, 36, 0 }, { 44, 27, 40, 16, 36, 0 }, { 45, 27, 41, 16, 37, 0 }, { 45, 28, 42, 16, 37, 0 }, { 45, 28, 43, 16, 37, 0 }, + { 46, 29, 44, 16, 37, 0 }, { 46, 30, 45, 16, 37, 0 }, { 46, 31, 46, 16, 37, 0 }, { 46, 31, 47, 16, 37, 0 }, { 46, 32, 48, 16, 37, 0 }, + { 47, 33, 49, 16, 37, 0 }, { 47, 34, 50, 16, 37, 0 }, { 47, 35, 51, 16, 37, 0 }, { 47, 36, 52, 16, 37, 0 }, { 47, 37, 53, 16, 37, 0 }, + { 47, 38, 54, 16, 37, 0 }, { 48, 39, 55, 16, 37, 0 }, { 48, 40, 55, 16, 37, 0 }, { 48, 41, 56, 16, 38, 0 }, { 48, 42, 57, 16, 38, 0 }, + { 48, 43, 58, 16, 38, 0 }, { 48, 44, 58, 16, 38, 0 }, { 48, 45, 59, 16, 38, 0 }, { 48, 46, 59, 16, 38, 0 }, { 48, 47, 60, 16, 38, 0 }, + { 48, 48, 60, 16, 38, 0 }, { 48, 49, 61, 16, 38, 0 }, { 48, 50, 61, 16, 38, 0 }, { 48, 51, 62, 16, 38, 0 }, { 48, 52, 62, 16, 38, 0 }, + { 48, 53, 62, 16, 38, 0 }, { 48, 54, 63, 16, 38, 0 }, { 48, 55, 63, 16, 38, 0 }, { 48, 56, 63, 16, 38, 0 }, { 48, 57, 63, 16, 38, 0 }, + { 48, 58, 63, 24, 16, 0 }, { 48, 59, 64, 24, 16, 0 }, { 48, 60, 64, 24, 16, 0 }, { 48, 61, 64, 24, 16, 0 }, { 48, 62, 64, 24, 16, 0 }, + { 48, 63, 64, 24, 16, 0 }, { 48, 64, 64, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EB293 = { - 97, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 1, 24, 0, 0 }, { 16, 24, 1, 24, 0, 0 }, { 16, 23, 1, 24, 34, 0 }, { 16, 22, 1, 24, 34, 0 }, - { 16, 21, 1, 24, 34, 0 }, { 16, 20, 2, 24, 34, 0 }, { 16, 19, 2, 24, 34, 0 }, { 16, 18, 2, 24, 34, 0 }, { 16, 17, 3, 24, 34, 0 }, - { 16, 16, 3, 24, 34, 0 }, { 16, 15, 4, 24, 34, 0 }, { 16, 14, 4, 24, 34, 0 }, { 16, 13, 5, 24, 34, 0 }, { 16, 12, 5, 24, 34, 0 }, - { 16, 11, 6, 24, 34, 0 }, { 16, 10, 6, 24, 34, 0 }, { 16, 9, 7, 24, 34, 0 }, { 16, 8, 8, 24, 34, 0 }, { 16, 7, 9, 24, 35, 0 }, - { 16, 6, 9, 24, 35, 0 }, { 17, 5, 10, 24, 35, 0 }, { 17, 4, 11, 24, 35, 0 }, { 17, 3, 12, 24, 35, 0 }, { 17, 2, 13, 24, 35, 0 }, - { 17, 1, 14, 24, 35, 0 }, { 17, 0, 15, 24, 35, 0 }, { 18, -1, 16, 24, 35, 0 }, { 18, -2, 17, 24, 35, 0 }, { 18, -2, 18, 24, 35, 0 }, - { 18, -3, 19, 24, 35, 0 }, { 18, -4, 20, 24, 35, 0 }, { 19, -5, 21, 24, 35, 0 }, { 19, -5, 22, 24, 35, 0 }, { 19, -6, 23, 24, 35, 0 }, - { 20, -6, 24, 24, 36, 0 }, { 20, -7, 25, 24, 36, 0 }, { 20, -8, 26, 24, 36, 0 }, { 20, -8, 27, 24, 36, 0 }, { 21, -9, 28, 24, 36, 0 }, - { 21, -9, 29, 24, 36, 0 }, { 22, -10, 30, 24, 36, 0 }, { 22, -10, 31, 24, 36, 0 }, { 22, -11, 32, 24, 36, 0 }, { 23, -11, 33, 24, 36, 0 }, - { 23, -11, 34, 24, 36, 0 }, { 24, -12, 35, 24, 36, 0 }, { 24, -12, 36, 24, 36, 0 }, { 25, -13, 37, 24, 36, 0 }, { 25, -13, 38, 24, 36, 0 }, - { 26, -13, 39, 24, 36, 0 }, { 27, -13, 40, 24, 36, 0 }, { 27, -14, 41, 24, 37, 0 }, { 28, -14, 42, 24, 37, 0 }, { 28, -14, 43, 24, 37, 0 }, - { 29, -15, 44, 24, 37, 0 }, { 30, -15, 45, 24, 37, 0 }, { 31, -15, 46, 24, 37, 0 }, { 31, -15, 47, 24, 37, 0 }, { 32, -15, 48, 24, 37, 0 }, - { 33, -16, 49, 24, 37, 0 }, { 34, -16, 50, 24, 37, 0 }, { 35, -16, 51, 24, 37, 0 }, { 36, -16, 52, 24, 37, 0 }, { 37, -16, 53, 24, 37, 0 }, - { 38, -16, 54, 24, 37, 0 }, { 39, -17, 55, 24, 37, 0 }, { 40, -17, 55, 24, 37, 0 }, { 41, -17, 56, 24, 38, 0 }, { 42, -17, 57, 24, 38, 0 }, - { 43, -17, 58, 24, 38, 0 }, { 44, -17, 58, 24, 38, 0 }, { 45, -17, 59, 24, 38, 0 }, { 46, -17, 59, 24, 38, 0 }, { 47, -17, 60, 24, 38, 0 }, - { 48, -17, 60, 24, 38, 0 }, { 49, -17, 61, 24, 38, 0 }, { 50, -17, 61, 24, 38, 0 }, { 51, -17, 62, 24, 38, 0 }, { 52, -17, 62, 24, 38, 0 }, - { 53, -17, 62, 24, 38, 0 }, { 54, -17, 63, 24, 38, 0 }, { 55, -17, 63, 24, 38, 0 }, { 56, -17, 63, 24, 38, 0 }, { 57, -17, 63, 24, 38, 0 }, - { 58, -17, 63, 0, 16, 0 }, { 59, -17, 64, 0, 16, 0 }, { 60, -17, 64, 0, 16, 0 }, { 61, -17, 64, 0, 16, 0 }, { 62, -17, 64, 0, 16, 0 }, - { 63, -17, 64, 0, 16, 0 }, { 64, -17, 64, 0, 16, 0 }, + 97, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 1, 24, 0, 0 }, { 16, 24, 1, 24, 0, 0 }, { 16, 23, 1, 24, 34, 0 }, { 16, 22, 1, 24, 34, 0 }, + { 16, 21, 1, 24, 34, 0 }, { 16, 20, 2, 24, 34, 0 }, { 16, 19, 2, 24, 34, 0 }, { 16, 18, 2, 24, 34, 0 }, { 16, 17, 3, 24, 34, 0 }, + { 16, 16, 3, 24, 34, 0 }, { 16, 15, 4, 24, 34, 0 }, { 16, 14, 4, 24, 34, 0 }, { 16, 13, 5, 24, 34, 0 }, { 16, 12, 5, 24, 34, 0 }, + { 16, 11, 6, 24, 34, 0 }, { 16, 10, 6, 24, 34, 0 }, { 16, 9, 7, 24, 34, 0 }, { 16, 8, 8, 24, 34, 0 }, { 16, 7, 9, 24, 35, 0 }, + { 16, 6, 9, 24, 35, 0 }, { 17, 5, 10, 24, 35, 0 }, { 17, 4, 11, 24, 35, 0 }, { 17, 3, 12, 24, 35, 0 }, { 17, 2, 13, 24, 35, 0 }, + { 17, 1, 14, 24, 35, 0 }, { 17, 0, 15, 24, 35, 0 }, { 18, -1, 16, 24, 35, 0 }, { 18, -2, 17, 24, 35, 0 }, { 18, -2, 18, 24, 35, 0 }, + { 18, -3, 19, 24, 35, 0 }, { 18, -4, 20, 24, 35, 0 }, { 19, -5, 21, 24, 35, 0 }, { 19, -5, 22, 24, 35, 0 }, { 19, -6, 23, 24, 35, 0 }, + { 20, -6, 24, 24, 36, 0 }, { 20, -7, 25, 24, 36, 0 }, { 20, -8, 26, 24, 36, 0 }, { 20, -8, 27, 24, 36, 0 }, { 21, -9, 28, 24, 36, 0 }, + { 21, -9, 29, 24, 36, 0 }, { 22, -10, 30, 24, 36, 0 }, { 22, -10, 31, 24, 36, 0 }, { 22, -11, 32, 24, 36, 0 }, { 23, -11, 33, 24, 36, 0 }, + { 23, -11, 34, 24, 36, 0 }, { 24, -12, 35, 24, 36, 0 }, { 24, -12, 36, 24, 36, 0 }, { 25, -13, 37, 24, 36, 0 }, { 25, -13, 38, 24, 36, 0 }, + { 26, -13, 39, 24, 36, 0 }, { 27, -13, 40, 24, 36, 0 }, { 27, -14, 41, 24, 37, 0 }, { 28, -14, 42, 24, 37, 0 }, { 28, -14, 43, 24, 37, 0 }, + { 29, -15, 44, 24, 37, 0 }, { 30, -15, 45, 24, 37, 0 }, { 31, -15, 46, 24, 37, 0 }, { 31, -15, 47, 24, 37, 0 }, { 32, -15, 48, 24, 37, 0 }, + { 33, -16, 49, 24, 37, 0 }, { 34, -16, 50, 24, 37, 0 }, { 35, -16, 51, 24, 37, 0 }, { 36, -16, 52, 24, 37, 0 }, { 37, -16, 53, 24, 37, 0 }, + { 38, -16, 54, 24, 37, 0 }, { 39, -17, 55, 24, 37, 0 }, { 40, -17, 55, 24, 37, 0 }, { 41, -17, 56, 24, 38, 0 }, { 42, -17, 57, 24, 38, 0 }, + { 43, -17, 58, 24, 38, 0 }, { 44, -17, 58, 24, 38, 0 }, { 45, -17, 59, 24, 38, 0 }, { 46, -17, 59, 24, 38, 0 }, { 47, -17, 60, 24, 38, 0 }, + { 48, -17, 60, 24, 38, 0 }, { 49, -17, 61, 24, 38, 0 }, { 50, -17, 61, 24, 38, 0 }, { 51, -17, 62, 24, 38, 0 }, { 52, -17, 62, 24, 38, 0 }, + { 53, -17, 62, 24, 38, 0 }, { 54, -17, 63, 24, 38, 0 }, { 55, -17, 63, 24, 38, 0 }, { 56, -17, 63, 24, 38, 0 }, { 57, -17, 63, 24, 38, 0 }, + { 58, -17, 63, 0, 16, 0 }, { 59, -17, 64, 0, 16, 0 }, { 60, -17, 64, 0, 16, 0 }, { 61, -17, 64, 0, 16, 0 }, { 62, -17, 64, 0, 16, 0 }, + { 63, -17, 64, 0, 16, 0 }, { 64, -17, 64, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EB5FE = { - 97, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 1, 0, 0, 0 }, { 24, 16, 1, 0, 0, 0 }, { 23, 16, 1, 0, 24, 0 }, { 22, 16, 1, 0, 24, 0 }, - { 21, 16, 1, 0, 24, 0 }, { 20, 16, 2, 0, 24, 0 }, { 19, 16, 2, 0, 24, 0 }, { 18, 16, 2, 0, 24, 0 }, { 17, 16, 3, 0, 24, 0 }, - { 16, 16, 3, 0, 24, 0 }, { 15, 16, 4, 0, 24, 0 }, { 14, 16, 4, 0, 24, 0 }, { 13, 16, 5, 0, 24, 0 }, { 12, 16, 5, 0, 24, 0 }, - { 11, 16, 6, 0, 24, 0 }, { 10, 16, 6, 0, 24, 0 }, { 9, 16, 7, 0, 24, 0 }, { 8, 16, 8, 0, 24, 0 }, { 7, 16, 9, 0, 25, 0 }, - { 6, 16, 9, 0, 25, 0 }, { 5, 17, 10, 0, 25, 0 }, { 4, 17, 11, 0, 25, 0 }, { 3, 17, 12, 0, 25, 0 }, { 2, 17, 13, 0, 25, 0 }, - { 1, 17, 14, 0, 25, 0 }, { 0, 17, 15, 0, 25, 0 }, { -1, 18, 16, 0, 25, 0 }, { -2, 18, 17, 0, 25, 0 }, { -2, 18, 18, 0, 25, 0 }, - { -3, 18, 19, 0, 25, 0 }, { -4, 18, 20, 0, 25, 0 }, { -5, 19, 21, 0, 25, 0 }, { -5, 19, 22, 0, 25, 0 }, { -6, 19, 23, 0, 25, 0 }, - { -6, 20, 24, 0, 26, 0 }, { -7, 20, 25, 0, 26, 0 }, { -8, 20, 26, 0, 26, 0 }, { -8, 20, 27, 0, 26, 0 }, { -9, 21, 28, 0, 26, 0 }, - { -9, 21, 29, 0, 26, 0 }, { -10, 22, 30, 0, 26, 0 }, { -10, 22, 31, 0, 26, 0 }, { -11, 22, 32, 0, 26, 0 }, { -11, 23, 33, 0, 26, 0 }, - { -11, 23, 34, 0, 26, 0 }, { -12, 24, 35, 0, 26, 0 }, { -12, 24, 36, 0, 26, 0 }, { -13, 25, 37, 0, 26, 0 }, { -13, 25, 38, 0, 26, 0 }, - { -13, 26, 39, 0, 26, 0 }, { -13, 27, 40, 0, 26, 0 }, { -14, 27, 41, 0, 27, 0 }, { -14, 28, 42, 0, 27, 0 }, { -14, 28, 43, 0, 27, 0 }, - { -15, 29, 44, 0, 27, 0 }, { -15, 30, 45, 0, 27, 0 }, { -15, 31, 46, 0, 27, 0 }, { -15, 31, 47, 0, 27, 0 }, { -15, 32, 48, 0, 27, 0 }, - { -16, 33, 49, 0, 27, 0 }, { -16, 34, 50, 0, 27, 0 }, { -16, 35, 51, 0, 27, 0 }, { -16, 36, 52, 0, 27, 0 }, { -16, 37, 53, 0, 27, 0 }, - { -16, 38, 54, 0, 27, 0 }, { -17, 39, 55, 0, 27, 0 }, { -17, 40, 55, 0, 27, 0 }, { -17, 41, 56, 0, 28, 0 }, { -17, 42, 57, 0, 28, 0 }, - { -17, 43, 58, 0, 28, 0 }, { -17, 44, 58, 0, 28, 0 }, { -17, 45, 59, 0, 28, 0 }, { -17, 46, 59, 0, 28, 0 }, { -17, 47, 60, 0, 28, 0 }, - { -17, 48, 60, 0, 28, 0 }, { -17, 49, 61, 0, 28, 0 }, { -17, 50, 61, 0, 28, 0 }, { -17, 51, 62, 0, 28, 0 }, { -17, 52, 62, 0, 28, 0 }, - { -17, 53, 62, 0, 28, 0 }, { -17, 54, 63, 0, 28, 0 }, { -17, 55, 63, 0, 28, 0 }, { -17, 56, 63, 0, 28, 0 }, { -17, 57, 63, 0, 28, 0 }, - { -17, 58, 63, 24, 16, 0 }, { -17, 59, 64, 24, 16, 0 }, { -17, 60, 64, 24, 16, 0 }, { -17, 61, 64, 24, 16, 0 }, { -17, 62, 64, 24, 16, 0 }, - { -17, 63, 64, 24, 16, 0 }, { -17, 64, 64, 24, 16, 0 }, + 97, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 1, 0, 0, 0 }, { 24, 16, 1, 0, 0, 0 }, { 23, 16, 1, 0, 24, 0 }, { 22, 16, 1, 0, 24, 0 }, + { 21, 16, 1, 0, 24, 0 }, { 20, 16, 2, 0, 24, 0 }, { 19, 16, 2, 0, 24, 0 }, { 18, 16, 2, 0, 24, 0 }, { 17, 16, 3, 0, 24, 0 }, + { 16, 16, 3, 0, 24, 0 }, { 15, 16, 4, 0, 24, 0 }, { 14, 16, 4, 0, 24, 0 }, { 13, 16, 5, 0, 24, 0 }, { 12, 16, 5, 0, 24, 0 }, + { 11, 16, 6, 0, 24, 0 }, { 10, 16, 6, 0, 24, 0 }, { 9, 16, 7, 0, 24, 0 }, { 8, 16, 8, 0, 24, 0 }, { 7, 16, 9, 0, 25, 0 }, + { 6, 16, 9, 0, 25, 0 }, { 5, 17, 10, 0, 25, 0 }, { 4, 17, 11, 0, 25, 0 }, { 3, 17, 12, 0, 25, 0 }, { 2, 17, 13, 0, 25, 0 }, + { 1, 17, 14, 0, 25, 0 }, { 0, 17, 15, 0, 25, 0 }, { -1, 18, 16, 0, 25, 0 }, { -2, 18, 17, 0, 25, 0 }, { -2, 18, 18, 0, 25, 0 }, + { -3, 18, 19, 0, 25, 0 }, { -4, 18, 20, 0, 25, 0 }, { -5, 19, 21, 0, 25, 0 }, { -5, 19, 22, 0, 25, 0 }, { -6, 19, 23, 0, 25, 0 }, + { -6, 20, 24, 0, 26, 0 }, { -7, 20, 25, 0, 26, 0 }, { -8, 20, 26, 0, 26, 0 }, { -8, 20, 27, 0, 26, 0 }, { -9, 21, 28, 0, 26, 0 }, + { -9, 21, 29, 0, 26, 0 }, { -10, 22, 30, 0, 26, 0 }, { -10, 22, 31, 0, 26, 0 }, { -11, 22, 32, 0, 26, 0 }, { -11, 23, 33, 0, 26, 0 }, + { -11, 23, 34, 0, 26, 0 }, { -12, 24, 35, 0, 26, 0 }, { -12, 24, 36, 0, 26, 0 }, { -13, 25, 37, 0, 26, 0 }, { -13, 25, 38, 0, 26, 0 }, + { -13, 26, 39, 0, 26, 0 }, { -13, 27, 40, 0, 26, 0 }, { -14, 27, 41, 0, 27, 0 }, { -14, 28, 42, 0, 27, 0 }, { -14, 28, 43, 0, 27, 0 }, + { -15, 29, 44, 0, 27, 0 }, { -15, 30, 45, 0, 27, 0 }, { -15, 31, 46, 0, 27, 0 }, { -15, 31, 47, 0, 27, 0 }, { -15, 32, 48, 0, 27, 0 }, + { -16, 33, 49, 0, 27, 0 }, { -16, 34, 50, 0, 27, 0 }, { -16, 35, 51, 0, 27, 0 }, { -16, 36, 52, 0, 27, 0 }, { -16, 37, 53, 0, 27, 0 }, + { -16, 38, 54, 0, 27, 0 }, { -17, 39, 55, 0, 27, 0 }, { -17, 40, 55, 0, 27, 0 }, { -17, 41, 56, 0, 28, 0 }, { -17, 42, 57, 0, 28, 0 }, + { -17, 43, 58, 0, 28, 0 }, { -17, 44, 58, 0, 28, 0 }, { -17, 45, 59, 0, 28, 0 }, { -17, 46, 59, 0, 28, 0 }, { -17, 47, 60, 0, 28, 0 }, + { -17, 48, 60, 0, 28, 0 }, { -17, 49, 61, 0, 28, 0 }, { -17, 50, 61, 0, 28, 0 }, { -17, 51, 62, 0, 28, 0 }, { -17, 52, 62, 0, 28, 0 }, + { -17, 53, 62, 0, 28, 0 }, { -17, 54, 63, 0, 28, 0 }, { -17, 55, 63, 0, 28, 0 }, { -17, 56, 63, 0, 28, 0 }, { -17, 57, 63, 0, 28, 0 }, + { -17, 58, 63, 24, 16, 0 }, { -17, 59, 64, 24, 16, 0 }, { -17, 60, 64, 24, 16, 0 }, { -17, 61, 64, 24, 16, 0 }, { -17, 62, 64, 24, 16, 0 }, + { -17, 63, 64, 24, 16, 0 }, { -17, 64, 64, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EB969 = { - 97, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 1, 8, 0, 0 }, { 16, 7, 1, 8, 0, 0 }, { 16, 8, 1, 8, 24, 0 }, { 16, 9, 1, 8, 24, 0 }, - { 16, 10, 1, 8, 24, 0 }, { 16, 11, 2, 8, 24, 0 }, { 16, 12, 2, 8, 24, 0 }, { 16, 13, 2, 8, 24, 0 }, { 16, 14, 3, 8, 24, 0 }, - { 16, 15, 3, 8, 24, 0 }, { 16, 16, 4, 8, 24, 0 }, { 16, 17, 4, 8, 24, 0 }, { 16, 18, 5, 8, 24, 0 }, { 16, 19, 5, 8, 24, 0 }, - { 16, 20, 6, 8, 24, 0 }, { 16, 21, 6, 8, 24, 0 }, { 16, 22, 7, 8, 24, 0 }, { 16, 23, 8, 8, 24, 0 }, { 16, 24, 9, 8, 25, 0 }, - { 16, 25, 9, 8, 25, 0 }, { 17, 26, 10, 8, 25, 0 }, { 17, 27, 11, 8, 25, 0 }, { 17, 28, 12, 8, 25, 0 }, { 17, 29, 13, 8, 25, 0 }, - { 17, 30, 14, 8, 25, 0 }, { 17, 31, 15, 8, 25, 0 }, { 18, 32, 16, 8, 25, 0 }, { 18, 33, 17, 8, 25, 0 }, { 18, 33, 18, 8, 25, 0 }, - { 18, 34, 19, 8, 25, 0 }, { 18, 35, 20, 8, 25, 0 }, { 19, 36, 21, 8, 25, 0 }, { 19, 36, 22, 8, 25, 0 }, { 19, 37, 23, 8, 25, 0 }, - { 20, 37, 24, 8, 26, 0 }, { 20, 38, 25, 8, 26, 0 }, { 20, 39, 26, 8, 26, 0 }, { 20, 39, 27, 8, 26, 0 }, { 21, 40, 28, 8, 26, 0 }, - { 21, 40, 29, 8, 26, 0 }, { 22, 41, 30, 8, 26, 0 }, { 22, 41, 31, 8, 26, 0 }, { 22, 42, 32, 8, 26, 0 }, { 23, 42, 33, 8, 26, 0 }, - { 23, 42, 34, 8, 26, 0 }, { 24, 43, 35, 8, 26, 0 }, { 24, 43, 36, 8, 26, 0 }, { 25, 44, 37, 8, 26, 0 }, { 25, 44, 38, 8, 26, 0 }, - { 26, 44, 39, 8, 26, 0 }, { 27, 44, 40, 8, 26, 0 }, { 27, 45, 41, 8, 27, 0 }, { 28, 45, 42, 8, 27, 0 }, { 28, 45, 43, 8, 27, 0 }, - { 29, 46, 44, 8, 27, 0 }, { 30, 46, 45, 8, 27, 0 }, { 31, 46, 46, 8, 27, 0 }, { 31, 46, 47, 8, 27, 0 }, { 32, 46, 48, 8, 27, 0 }, - { 33, 47, 49, 8, 27, 0 }, { 34, 47, 50, 8, 27, 0 }, { 35, 47, 51, 8, 27, 0 }, { 36, 47, 52, 8, 27, 0 }, { 37, 47, 53, 8, 27, 0 }, - { 38, 47, 54, 8, 27, 0 }, { 39, 48, 55, 8, 27, 0 }, { 40, 48, 55, 8, 27, 0 }, { 41, 48, 56, 8, 28, 0 }, { 42, 48, 57, 8, 28, 0 }, - { 43, 48, 58, 8, 28, 0 }, { 44, 48, 58, 8, 28, 0 }, { 45, 48, 59, 8, 28, 0 }, { 46, 48, 59, 8, 28, 0 }, { 47, 48, 60, 8, 28, 0 }, - { 48, 48, 60, 8, 28, 0 }, { 49, 48, 61, 8, 28, 0 }, { 50, 48, 61, 8, 28, 0 }, { 51, 48, 62, 8, 28, 0 }, { 52, 48, 62, 8, 28, 0 }, - { 53, 48, 62, 8, 28, 0 }, { 54, 48, 63, 8, 28, 0 }, { 55, 48, 63, 8, 28, 0 }, { 56, 48, 63, 8, 28, 0 }, { 57, 48, 63, 8, 28, 0 }, - { 58, 48, 63, 0, 16, 0 }, { 59, 48, 64, 0, 16, 0 }, { 60, 48, 64, 0, 16, 0 }, { 61, 48, 64, 0, 16, 0 }, { 62, 48, 64, 0, 16, 0 }, - { 63, 48, 64, 0, 16, 0 }, { 64, 48, 64, 0, 16, 0 }, + 97, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 1, 8, 0, 0 }, { 16, 7, 1, 8, 0, 0 }, { 16, 8, 1, 8, 24, 0 }, { 16, 9, 1, 8, 24, 0 }, + { 16, 10, 1, 8, 24, 0 }, { 16, 11, 2, 8, 24, 0 }, { 16, 12, 2, 8, 24, 0 }, { 16, 13, 2, 8, 24, 0 }, { 16, 14, 3, 8, 24, 0 }, + { 16, 15, 3, 8, 24, 0 }, { 16, 16, 4, 8, 24, 0 }, { 16, 17, 4, 8, 24, 0 }, { 16, 18, 5, 8, 24, 0 }, { 16, 19, 5, 8, 24, 0 }, + { 16, 20, 6, 8, 24, 0 }, { 16, 21, 6, 8, 24, 0 }, { 16, 22, 7, 8, 24, 0 }, { 16, 23, 8, 8, 24, 0 }, { 16, 24, 9, 8, 25, 0 }, + { 16, 25, 9, 8, 25, 0 }, { 17, 26, 10, 8, 25, 0 }, { 17, 27, 11, 8, 25, 0 }, { 17, 28, 12, 8, 25, 0 }, { 17, 29, 13, 8, 25, 0 }, + { 17, 30, 14, 8, 25, 0 }, { 17, 31, 15, 8, 25, 0 }, { 18, 32, 16, 8, 25, 0 }, { 18, 33, 17, 8, 25, 0 }, { 18, 33, 18, 8, 25, 0 }, + { 18, 34, 19, 8, 25, 0 }, { 18, 35, 20, 8, 25, 0 }, { 19, 36, 21, 8, 25, 0 }, { 19, 36, 22, 8, 25, 0 }, { 19, 37, 23, 8, 25, 0 }, + { 20, 37, 24, 8, 26, 0 }, { 20, 38, 25, 8, 26, 0 }, { 20, 39, 26, 8, 26, 0 }, { 20, 39, 27, 8, 26, 0 }, { 21, 40, 28, 8, 26, 0 }, + { 21, 40, 29, 8, 26, 0 }, { 22, 41, 30, 8, 26, 0 }, { 22, 41, 31, 8, 26, 0 }, { 22, 42, 32, 8, 26, 0 }, { 23, 42, 33, 8, 26, 0 }, + { 23, 42, 34, 8, 26, 0 }, { 24, 43, 35, 8, 26, 0 }, { 24, 43, 36, 8, 26, 0 }, { 25, 44, 37, 8, 26, 0 }, { 25, 44, 38, 8, 26, 0 }, + { 26, 44, 39, 8, 26, 0 }, { 27, 44, 40, 8, 26, 0 }, { 27, 45, 41, 8, 27, 0 }, { 28, 45, 42, 8, 27, 0 }, { 28, 45, 43, 8, 27, 0 }, + { 29, 46, 44, 8, 27, 0 }, { 30, 46, 45, 8, 27, 0 }, { 31, 46, 46, 8, 27, 0 }, { 31, 46, 47, 8, 27, 0 }, { 32, 46, 48, 8, 27, 0 }, + { 33, 47, 49, 8, 27, 0 }, { 34, 47, 50, 8, 27, 0 }, { 35, 47, 51, 8, 27, 0 }, { 36, 47, 52, 8, 27, 0 }, { 37, 47, 53, 8, 27, 0 }, + { 38, 47, 54, 8, 27, 0 }, { 39, 48, 55, 8, 27, 0 }, { 40, 48, 55, 8, 27, 0 }, { 41, 48, 56, 8, 28, 0 }, { 42, 48, 57, 8, 28, 0 }, + { 43, 48, 58, 8, 28, 0 }, { 44, 48, 58, 8, 28, 0 }, { 45, 48, 59, 8, 28, 0 }, { 46, 48, 59, 8, 28, 0 }, { 47, 48, 60, 8, 28, 0 }, + { 48, 48, 60, 8, 28, 0 }, { 49, 48, 61, 8, 28, 0 }, { 50, 48, 61, 8, 28, 0 }, { 51, 48, 62, 8, 28, 0 }, { 52, 48, 62, 8, 28, 0 }, + { 53, 48, 62, 8, 28, 0 }, { 54, 48, 63, 8, 28, 0 }, { 55, 48, 63, 8, 28, 0 }, { 56, 48, 63, 8, 28, 0 }, { 57, 48, 63, 8, 28, 0 }, + { 58, 48, 63, 0, 16, 0 }, { 59, 48, 64, 0, 16, 0 }, { 60, 48, 64, 0, 16, 0 }, { 61, 48, 64, 0, 16, 0 }, { 62, 48, 64, 0, 16, 0 }, + { 63, 48, 64, 0, 16, 0 }, { 64, 48, 64, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EBCD4 = { - 97, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 1, 16, 0, 0 }, { 7, 16, 1, 16, 0, 0 }, { 8, 16, 1, 16, 24, 0 }, { 9, 16, 1, 16, 24, 0 }, - { 10, 16, 1, 16, 24, 0 }, { 11, 16, 2, 16, 24, 0 }, { 12, 16, 2, 16, 24, 0 }, { 13, 16, 2, 16, 24, 0 }, { 14, 16, 3, 16, 24, 0 }, - { 15, 16, 3, 16, 24, 0 }, { 16, 16, 4, 16, 24, 0 }, { 17, 16, 4, 16, 24, 0 }, { 18, 16, 5, 16, 24, 0 }, { 19, 16, 5, 16, 24, 0 }, - { 20, 16, 6, 16, 24, 0 }, { 21, 16, 6, 16, 24, 0 }, { 22, 16, 7, 16, 24, 0 }, { 23, 16, 8, 16, 24, 0 }, { 24, 16, 9, 16, 25, 0 }, - { 25, 16, 9, 16, 25, 0 }, { 26, 15, 10, 16, 25, 0 }, { 27, 15, 11, 16, 25, 0 }, { 28, 15, 12, 16, 25, 0 }, { 29, 15, 13, 16, 25, 0 }, - { 30, 15, 14, 16, 25, 0 }, { 31, 15, 15, 16, 25, 0 }, { 32, 14, 16, 16, 25, 0 }, { 33, 14, 17, 16, 25, 0 }, { 33, 14, 18, 16, 25, 0 }, - { 34, 14, 19, 16, 25, 0 }, { 35, 14, 20, 16, 25, 0 }, { 36, 13, 21, 16, 25, 0 }, { 36, 13, 22, 16, 25, 0 }, { 37, 13, 23, 16, 25, 0 }, - { 37, 12, 24, 16, 26, 0 }, { 38, 12, 25, 16, 26, 0 }, { 39, 12, 26, 16, 26, 0 }, { 39, 12, 27, 16, 26, 0 }, { 40, 11, 28, 16, 26, 0 }, - { 40, 11, 29, 16, 26, 0 }, { 41, 10, 30, 16, 26, 0 }, { 41, 10, 31, 16, 26, 0 }, { 42, 10, 32, 16, 26, 0 }, { 42, 9, 33, 16, 26, 0 }, - { 42, 9, 34, 16, 26, 0 }, { 43, 8, 35, 16, 26, 0 }, { 43, 8, 36, 16, 26, 0 }, { 44, 7, 37, 16, 26, 0 }, { 44, 7, 38, 16, 26, 0 }, - { 44, 6, 39, 16, 26, 0 }, { 44, 5, 40, 16, 26, 0 }, { 45, 5, 41, 16, 27, 0 }, { 45, 4, 42, 16, 27, 0 }, { 45, 4, 43, 16, 27, 0 }, - { 46, 3, 44, 16, 27, 0 }, { 46, 2, 45, 16, 27, 0 }, { 46, 1, 46, 16, 27, 0 }, { 46, 1, 47, 16, 27, 0 }, { 46, 0, 48, 16, 27, 0 }, - { 47, -1, 49, 16, 27, 0 }, { 47, -2, 50, 16, 27, 0 }, { 47, -3, 51, 16, 27, 0 }, { 47, -4, 52, 16, 27, 0 }, { 47, -5, 53, 16, 27, 0 }, - { 47, -6, 54, 16, 27, 0 }, { 48, -7, 55, 16, 27, 0 }, { 48, -8, 55, 16, 27, 0 }, { 48, -9, 56, 16, 28, 0 }, { 48, -10, 57, 16, 28, 0 }, - { 48, -11, 58, 16, 28, 0 }, { 48, -12, 58, 16, 28, 0 }, { 48, -13, 59, 16, 28, 0 }, { 48, -14, 59, 16, 28, 0 }, { 48, -15, 60, 16, 28, 0 }, - { 48, -16, 60, 16, 28, 0 }, { 48, -17, 61, 16, 28, 0 }, { 48, -18, 61, 16, 28, 0 }, { 48, -19, 62, 16, 28, 0 }, { 48, -20, 62, 16, 28, 0 }, - { 48, -21, 62, 16, 28, 0 }, { 48, -22, 63, 16, 28, 0 }, { 48, -23, 63, 16, 28, 0 }, { 48, -24, 63, 16, 28, 0 }, { 48, -25, 63, 16, 28, 0 }, - { 48, -26, 63, 8, 16, 0 }, { 48, -27, 64, 8, 16, 0 }, { 48, -28, 64, 8, 16, 0 }, { 48, -29, 64, 8, 16, 0 }, { 48, -30, 64, 8, 16, 0 }, - { 48, -31, 64, 8, 16, 0 }, { 48, -32, 64, 8, 16, 0 }, + 97, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 1, 16, 0, 0 }, { 7, 16, 1, 16, 0, 0 }, { 8, 16, 1, 16, 24, 0 }, { 9, 16, 1, 16, 24, 0 }, + { 10, 16, 1, 16, 24, 0 }, { 11, 16, 2, 16, 24, 0 }, { 12, 16, 2, 16, 24, 0 }, { 13, 16, 2, 16, 24, 0 }, { 14, 16, 3, 16, 24, 0 }, + { 15, 16, 3, 16, 24, 0 }, { 16, 16, 4, 16, 24, 0 }, { 17, 16, 4, 16, 24, 0 }, { 18, 16, 5, 16, 24, 0 }, { 19, 16, 5, 16, 24, 0 }, + { 20, 16, 6, 16, 24, 0 }, { 21, 16, 6, 16, 24, 0 }, { 22, 16, 7, 16, 24, 0 }, { 23, 16, 8, 16, 24, 0 }, { 24, 16, 9, 16, 25, 0 }, + { 25, 16, 9, 16, 25, 0 }, { 26, 15, 10, 16, 25, 0 }, { 27, 15, 11, 16, 25, 0 }, { 28, 15, 12, 16, 25, 0 }, { 29, 15, 13, 16, 25, 0 }, + { 30, 15, 14, 16, 25, 0 }, { 31, 15, 15, 16, 25, 0 }, { 32, 14, 16, 16, 25, 0 }, { 33, 14, 17, 16, 25, 0 }, { 33, 14, 18, 16, 25, 0 }, + { 34, 14, 19, 16, 25, 0 }, { 35, 14, 20, 16, 25, 0 }, { 36, 13, 21, 16, 25, 0 }, { 36, 13, 22, 16, 25, 0 }, { 37, 13, 23, 16, 25, 0 }, + { 37, 12, 24, 16, 26, 0 }, { 38, 12, 25, 16, 26, 0 }, { 39, 12, 26, 16, 26, 0 }, { 39, 12, 27, 16, 26, 0 }, { 40, 11, 28, 16, 26, 0 }, + { 40, 11, 29, 16, 26, 0 }, { 41, 10, 30, 16, 26, 0 }, { 41, 10, 31, 16, 26, 0 }, { 42, 10, 32, 16, 26, 0 }, { 42, 9, 33, 16, 26, 0 }, + { 42, 9, 34, 16, 26, 0 }, { 43, 8, 35, 16, 26, 0 }, { 43, 8, 36, 16, 26, 0 }, { 44, 7, 37, 16, 26, 0 }, { 44, 7, 38, 16, 26, 0 }, + { 44, 6, 39, 16, 26, 0 }, { 44, 5, 40, 16, 26, 0 }, { 45, 5, 41, 16, 27, 0 }, { 45, 4, 42, 16, 27, 0 }, { 45, 4, 43, 16, 27, 0 }, + { 46, 3, 44, 16, 27, 0 }, { 46, 2, 45, 16, 27, 0 }, { 46, 1, 46, 16, 27, 0 }, { 46, 1, 47, 16, 27, 0 }, { 46, 0, 48, 16, 27, 0 }, + { 47, -1, 49, 16, 27, 0 }, { 47, -2, 50, 16, 27, 0 }, { 47, -3, 51, 16, 27, 0 }, { 47, -4, 52, 16, 27, 0 }, { 47, -5, 53, 16, 27, 0 }, + { 47, -6, 54, 16, 27, 0 }, { 48, -7, 55, 16, 27, 0 }, { 48, -8, 55, 16, 27, 0 }, { 48, -9, 56, 16, 28, 0 }, { 48, -10, 57, 16, 28, 0 }, + { 48, -11, 58, 16, 28, 0 }, { 48, -12, 58, 16, 28, 0 }, { 48, -13, 59, 16, 28, 0 }, { 48, -14, 59, 16, 28, 0 }, { 48, -15, 60, 16, 28, 0 }, + { 48, -16, 60, 16, 28, 0 }, { 48, -17, 61, 16, 28, 0 }, { 48, -18, 61, 16, 28, 0 }, { 48, -19, 62, 16, 28, 0 }, { 48, -20, 62, 16, 28, 0 }, + { 48, -21, 62, 16, 28, 0 }, { 48, -22, 63, 16, 28, 0 }, { 48, -23, 63, 16, 28, 0 }, { 48, -24, 63, 16, 28, 0 }, { 48, -25, 63, 16, 28, 0 }, + { 48, -26, 63, 8, 16, 0 }, { 48, -27, 64, 8, 16, 0 }, { 48, -28, 64, 8, 16, 0 }, { 48, -29, 64, 8, 16, 0 }, { 48, -30, 64, 8, 16, 0 }, + { 48, -31, 64, 8, 16, 0 }, { 48, -32, 64, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EC03F = { - 97, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 1, 24, 0, 0 }, { 16, 24, 1, 24, 0, 0 }, { 16, 23, 1, 24, 24, 0 }, { 16, 22, 1, 24, 24, 0 }, - { 16, 21, 1, 24, 24, 0 }, { 16, 20, 2, 24, 24, 0 }, { 16, 19, 2, 24, 24, 0 }, { 16, 18, 2, 24, 24, 0 }, { 16, 17, 3, 24, 24, 0 }, - { 16, 16, 3, 24, 24, 0 }, { 16, 15, 4, 24, 24, 0 }, { 16, 14, 4, 24, 24, 0 }, { 16, 13, 5, 24, 24, 0 }, { 16, 12, 5, 24, 24, 0 }, - { 16, 11, 6, 24, 24, 0 }, { 16, 10, 6, 24, 24, 0 }, { 16, 9, 7, 24, 24, 0 }, { 16, 8, 8, 24, 24, 0 }, { 16, 7, 9, 24, 25, 0 }, - { 16, 6, 9, 24, 25, 0 }, { 15, 5, 10, 24, 25, 0 }, { 15, 4, 11, 24, 25, 0 }, { 15, 3, 12, 24, 25, 0 }, { 15, 2, 13, 24, 25, 0 }, - { 15, 1, 14, 24, 25, 0 }, { 15, 0, 15, 24, 25, 0 }, { 14, -1, 16, 24, 25, 0 }, { 14, -2, 17, 24, 25, 0 }, { 14, -2, 18, 24, 25, 0 }, - { 14, -3, 19, 24, 25, 0 }, { 14, -4, 20, 24, 25, 0 }, { 13, -5, 21, 24, 25, 0 }, { 13, -5, 22, 24, 25, 0 }, { 13, -6, 23, 24, 25, 0 }, - { 12, -6, 24, 24, 26, 0 }, { 12, -7, 25, 24, 26, 0 }, { 12, -8, 26, 24, 26, 0 }, { 12, -8, 27, 24, 26, 0 }, { 11, -9, 28, 24, 26, 0 }, - { 11, -9, 29, 24, 26, 0 }, { 10, -10, 30, 24, 26, 0 }, { 10, -10, 31, 24, 26, 0 }, { 10, -11, 32, 24, 26, 0 }, { 9, -11, 33, 24, 26, 0 }, - { 9, -11, 34, 24, 26, 0 }, { 8, -12, 35, 24, 26, 0 }, { 8, -12, 36, 24, 26, 0 }, { 7, -13, 37, 24, 26, 0 }, { 7, -13, 38, 24, 26, 0 }, - { 6, -13, 39, 24, 26, 0 }, { 5, -13, 40, 24, 26, 0 }, { 5, -14, 41, 24, 27, 0 }, { 4, -14, 42, 24, 27, 0 }, { 4, -14, 43, 24, 27, 0 }, - { 3, -15, 44, 24, 27, 0 }, { 2, -15, 45, 24, 27, 0 }, { 1, -15, 46, 24, 27, 0 }, { 1, -15, 47, 24, 27, 0 }, { 0, -15, 48, 24, 27, 0 }, - { -1, -16, 49, 24, 27, 0 }, { -2, -16, 50, 24, 27, 0 }, { -3, -16, 51, 24, 27, 0 }, { -4, -16, 52, 24, 27, 0 }, { -5, -16, 53, 24, 27, 0 }, - { -6, -16, 54, 24, 27, 0 }, { -7, -17, 55, 24, 27, 0 }, { -8, -17, 55, 24, 27, 0 }, { -9, -17, 56, 24, 28, 0 }, { -10, -17, 57, 24, 28, 0 }, - { -11, -17, 58, 24, 28, 0 }, { -12, -17, 58, 24, 28, 0 }, { -13, -17, 59, 24, 28, 0 }, { -14, -17, 59, 24, 28, 0 }, { -15, -17, 60, 24, 28, 0 }, - { -16, -17, 60, 24, 28, 0 }, { -17, -17, 61, 24, 28, 0 }, { -18, -17, 61, 24, 28, 0 }, { -19, -17, 62, 24, 28, 0 }, { -20, -17, 62, 24, 28, 0 }, - { -21, -17, 62, 24, 28, 0 }, { -22, -17, 63, 24, 28, 0 }, { -23, -17, 63, 24, 28, 0 }, { -24, -17, 63, 24, 28, 0 }, { -25, -17, 63, 24, 28, 0 }, - { -26, -17, 63, 16, 16, 0 }, { -27, -17, 64, 16, 16, 0 }, { -28, -17, 64, 16, 16, 0 }, { -29, -17, 64, 16, 16, 0 }, { -30, -17, 64, 16, 16, 0 }, - { -31, -17, 64, 16, 16, 0 }, { -32, -17, 64, 16, 16, 0 }, + 97, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 1, 24, 0, 0 }, { 16, 24, 1, 24, 0, 0 }, { 16, 23, 1, 24, 24, 0 }, { 16, 22, 1, 24, 24, 0 }, + { 16, 21, 1, 24, 24, 0 }, { 16, 20, 2, 24, 24, 0 }, { 16, 19, 2, 24, 24, 0 }, { 16, 18, 2, 24, 24, 0 }, { 16, 17, 3, 24, 24, 0 }, + { 16, 16, 3, 24, 24, 0 }, { 16, 15, 4, 24, 24, 0 }, { 16, 14, 4, 24, 24, 0 }, { 16, 13, 5, 24, 24, 0 }, { 16, 12, 5, 24, 24, 0 }, + { 16, 11, 6, 24, 24, 0 }, { 16, 10, 6, 24, 24, 0 }, { 16, 9, 7, 24, 24, 0 }, { 16, 8, 8, 24, 24, 0 }, { 16, 7, 9, 24, 25, 0 }, + { 16, 6, 9, 24, 25, 0 }, { 15, 5, 10, 24, 25, 0 }, { 15, 4, 11, 24, 25, 0 }, { 15, 3, 12, 24, 25, 0 }, { 15, 2, 13, 24, 25, 0 }, + { 15, 1, 14, 24, 25, 0 }, { 15, 0, 15, 24, 25, 0 }, { 14, -1, 16, 24, 25, 0 }, { 14, -2, 17, 24, 25, 0 }, { 14, -2, 18, 24, 25, 0 }, + { 14, -3, 19, 24, 25, 0 }, { 14, -4, 20, 24, 25, 0 }, { 13, -5, 21, 24, 25, 0 }, { 13, -5, 22, 24, 25, 0 }, { 13, -6, 23, 24, 25, 0 }, + { 12, -6, 24, 24, 26, 0 }, { 12, -7, 25, 24, 26, 0 }, { 12, -8, 26, 24, 26, 0 }, { 12, -8, 27, 24, 26, 0 }, { 11, -9, 28, 24, 26, 0 }, + { 11, -9, 29, 24, 26, 0 }, { 10, -10, 30, 24, 26, 0 }, { 10, -10, 31, 24, 26, 0 }, { 10, -11, 32, 24, 26, 0 }, { 9, -11, 33, 24, 26, 0 }, + { 9, -11, 34, 24, 26, 0 }, { 8, -12, 35, 24, 26, 0 }, { 8, -12, 36, 24, 26, 0 }, { 7, -13, 37, 24, 26, 0 }, { 7, -13, 38, 24, 26, 0 }, + { 6, -13, 39, 24, 26, 0 }, { 5, -13, 40, 24, 26, 0 }, { 5, -14, 41, 24, 27, 0 }, { 4, -14, 42, 24, 27, 0 }, { 4, -14, 43, 24, 27, 0 }, + { 3, -15, 44, 24, 27, 0 }, { 2, -15, 45, 24, 27, 0 }, { 1, -15, 46, 24, 27, 0 }, { 1, -15, 47, 24, 27, 0 }, { 0, -15, 48, 24, 27, 0 }, + { -1, -16, 49, 24, 27, 0 }, { -2, -16, 50, 24, 27, 0 }, { -3, -16, 51, 24, 27, 0 }, { -4, -16, 52, 24, 27, 0 }, { -5, -16, 53, 24, 27, 0 }, + { -6, -16, 54, 24, 27, 0 }, { -7, -17, 55, 24, 27, 0 }, { -8, -17, 55, 24, 27, 0 }, { -9, -17, 56, 24, 28, 0 }, { -10, -17, 57, 24, 28, 0 }, + { -11, -17, 58, 24, 28, 0 }, { -12, -17, 58, 24, 28, 0 }, { -13, -17, 59, 24, 28, 0 }, { -14, -17, 59, 24, 28, 0 }, { -15, -17, 60, 24, 28, 0 }, + { -16, -17, 60, 24, 28, 0 }, { -17, -17, 61, 24, 28, 0 }, { -18, -17, 61, 24, 28, 0 }, { -19, -17, 62, 24, 28, 0 }, { -20, -17, 62, 24, 28, 0 }, + { -21, -17, 62, 24, 28, 0 }, { -22, -17, 63, 24, 28, 0 }, { -23, -17, 63, 24, 28, 0 }, { -24, -17, 63, 24, 28, 0 }, { -25, -17, 63, 24, 28, 0 }, + { -26, -17, 63, 16, 16, 0 }, { -27, -17, 64, 16, 16, 0 }, { -28, -17, 64, 16, 16, 0 }, { -29, -17, 64, 16, 16, 0 }, { -30, -17, 64, 16, 16, 0 }, + { -31, -17, 64, 16, 16, 0 }, { -32, -17, 64, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EC3AA = { - 97, { - { 31, 16, 16, 16, 16, 0 }, { 30, 16, 16, 16, 16, 0 }, { 29, 16, 16, 16, 16, 0 }, { 28, 16, 16, 16, 16, 0 }, { 27, 16, 16, 16, 16, 0 }, - { 26, 16, 16, 16, 16, 0 }, { 25, 16, 15, 16, 16, 0 }, { 24, 16, 15, 16, 16, 0 }, { 23, 16, 15, 24, 33, 0 }, { 22, 16, 15, 24, 33, 0 }, - { 21, 16, 15, 24, 33, 0 }, { 20, 16, 14, 24, 33, 0 }, { 19, 16, 14, 24, 33, 0 }, { 18, 16, 14, 24, 33, 0 }, { 17, 16, 13, 24, 33, 0 }, - { 16, 16, 13, 24, 33, 0 }, { 15, 16, 12, 24, 33, 0 }, { 14, 16, 12, 24, 33, 0 }, { 13, 16, 11, 24, 33, 0 }, { 12, 16, 11, 24, 33, 0 }, - { 11, 16, 10, 24, 33, 0 }, { 10, 16, 10, 24, 33, 0 }, { 9, 16, 9, 24, 33, 0 }, { 8, 16, 8, 24, 33, 0 }, { 7, 16, 7, 24, 32, 0 }, - { 6, 16, 7, 24, 32, 0 }, { 5, 15, 6, 24, 32, 0 }, { 4, 15, 5, 24, 32, 0 }, { 3, 15, 4, 24, 32, 0 }, { 2, 15, 3, 24, 32, 0 }, - { 1, 15, 2, 24, 32, 0 }, { 0, 15, 1, 24, 32, 0 }, { -1, 14, 0, 24, 32, 0 }, { -2, 14, -1, 24, 32, 0 }, { -2, 14, -2, 24, 32, 0 }, - { -3, 14, -3, 24, 32, 0 }, { -4, 14, -4, 24, 32, 0 }, { -5, 13, -5, 24, 32, 0 }, { -5, 13, -6, 24, 32, 0 }, { -6, 13, -7, 24, 32, 0 }, - { -6, 12, -8, 24, 31, 0 }, { -7, 12, -9, 24, 31, 0 }, { -8, 12, -10, 24, 31, 0 }, { -8, 12, -11, 24, 31, 0 }, { -9, 11, -12, 24, 31, 0 }, - { -9, 11, -13, 24, 31, 0 }, { -10, 10, -14, 24, 31, 0 }, { -10, 10, -15, 24, 31, 0 }, { -11, 10, -16, 24, 31, 0 }, { -11, 9, -17, 24, 31, 0 }, - { -11, 9, -18, 24, 31, 0 }, { -12, 8, -19, 24, 31, 0 }, { -12, 8, -20, 24, 31, 0 }, { -13, 7, -21, 24, 31, 0 }, { -13, 7, -22, 24, 31, 0 }, - { -13, 6, -23, 24, 31, 0 }, { -13, 5, -24, 24, 31, 0 }, { -14, 5, -25, 24, 30, 0 }, { -14, 4, -26, 24, 30, 0 }, { -14, 4, -27, 24, 30, 0 }, - { -15, 3, -28, 24, 30, 0 }, { -15, 2, -29, 24, 30, 0 }, { -15, 1, -30, 24, 30, 0 }, { -15, 1, -31, 24, 30, 0 }, { -15, 0, -32, 24, 30, 0 }, - { -16, -1, -33, 24, 30, 0 }, { -16, -2, -34, 24, 30, 0 }, { -16, -3, -35, 24, 30, 0 }, { -16, -4, -36, 24, 30, 0 }, { -16, -5, -37, 24, 30, 0 }, - { -16, -6, -38, 24, 30, 0 }, { -17, -7, -39, 24, 30, 0 }, { -17, -8, -39, 24, 30, 0 }, { -17, -9, -40, 24, 29, 0 }, { -17, -10, -41, 24, 29, 0 }, - { -17, -11, -42, 24, 29, 0 }, { -17, -12, -42, 24, 29, 0 }, { -17, -13, -43, 24, 29, 0 }, { -17, -14, -43, 24, 29, 0 }, { -17, -15, -44, 24, 29, 0 }, - { -17, -16, -44, 24, 29, 0 }, { -17, -17, -45, 24, 29, 0 }, { -17, -18, -45, 24, 29, 0 }, { -17, -19, -46, 24, 29, 0 }, { -17, -20, -46, 24, 29, 0 }, - { -17, -21, -46, 24, 29, 0 }, { -17, -22, -47, 24, 29, 0 }, { -17, -23, -47, 24, 29, 0 }, { -17, -24, -47, 24, 29, 0 }, { -17, -25, -47, 24, 29, 0 }, - { -17, -26, -47, 24, 0, 0 }, { -17, -27, -48, 24, 0, 0 }, { -17, -28, -48, 24, 0, 0 }, { -17, -29, -48, 24, 0, 0 }, { -17, -30, -48, 24, 0, 0 }, - { -17, -31, -48, 24, 0, 0 }, { -17, -32, -48, 24, 0, 0 }, + 97, { + { 31, 16, 16, 16, 16, 0 }, { 30, 16, 16, 16, 16, 0 }, { 29, 16, 16, 16, 16, 0 }, { 28, 16, 16, 16, 16, 0 }, { 27, 16, 16, 16, 16, 0 }, + { 26, 16, 16, 16, 16, 0 }, { 25, 16, 15, 16, 16, 0 }, { 24, 16, 15, 16, 16, 0 }, { 23, 16, 15, 24, 33, 0 }, { 22, 16, 15, 24, 33, 0 }, + { 21, 16, 15, 24, 33, 0 }, { 20, 16, 14, 24, 33, 0 }, { 19, 16, 14, 24, 33, 0 }, { 18, 16, 14, 24, 33, 0 }, { 17, 16, 13, 24, 33, 0 }, + { 16, 16, 13, 24, 33, 0 }, { 15, 16, 12, 24, 33, 0 }, { 14, 16, 12, 24, 33, 0 }, { 13, 16, 11, 24, 33, 0 }, { 12, 16, 11, 24, 33, 0 }, + { 11, 16, 10, 24, 33, 0 }, { 10, 16, 10, 24, 33, 0 }, { 9, 16, 9, 24, 33, 0 }, { 8, 16, 8, 24, 33, 0 }, { 7, 16, 7, 24, 32, 0 }, + { 6, 16, 7, 24, 32, 0 }, { 5, 15, 6, 24, 32, 0 }, { 4, 15, 5, 24, 32, 0 }, { 3, 15, 4, 24, 32, 0 }, { 2, 15, 3, 24, 32, 0 }, + { 1, 15, 2, 24, 32, 0 }, { 0, 15, 1, 24, 32, 0 }, { -1, 14, 0, 24, 32, 0 }, { -2, 14, -1, 24, 32, 0 }, { -2, 14, -2, 24, 32, 0 }, + { -3, 14, -3, 24, 32, 0 }, { -4, 14, -4, 24, 32, 0 }, { -5, 13, -5, 24, 32, 0 }, { -5, 13, -6, 24, 32, 0 }, { -6, 13, -7, 24, 32, 0 }, + { -6, 12, -8, 24, 31, 0 }, { -7, 12, -9, 24, 31, 0 }, { -8, 12, -10, 24, 31, 0 }, { -8, 12, -11, 24, 31, 0 }, { -9, 11, -12, 24, 31, 0 }, + { -9, 11, -13, 24, 31, 0 }, { -10, 10, -14, 24, 31, 0 }, { -10, 10, -15, 24, 31, 0 }, { -11, 10, -16, 24, 31, 0 }, { -11, 9, -17, 24, 31, 0 }, + { -11, 9, -18, 24, 31, 0 }, { -12, 8, -19, 24, 31, 0 }, { -12, 8, -20, 24, 31, 0 }, { -13, 7, -21, 24, 31, 0 }, { -13, 7, -22, 24, 31, 0 }, + { -13, 6, -23, 24, 31, 0 }, { -13, 5, -24, 24, 31, 0 }, { -14, 5, -25, 24, 30, 0 }, { -14, 4, -26, 24, 30, 0 }, { -14, 4, -27, 24, 30, 0 }, + { -15, 3, -28, 24, 30, 0 }, { -15, 2, -29, 24, 30, 0 }, { -15, 1, -30, 24, 30, 0 }, { -15, 1, -31, 24, 30, 0 }, { -15, 0, -32, 24, 30, 0 }, + { -16, -1, -33, 24, 30, 0 }, { -16, -2, -34, 24, 30, 0 }, { -16, -3, -35, 24, 30, 0 }, { -16, -4, -36, 24, 30, 0 }, { -16, -5, -37, 24, 30, 0 }, + { -16, -6, -38, 24, 30, 0 }, { -17, -7, -39, 24, 30, 0 }, { -17, -8, -39, 24, 30, 0 }, { -17, -9, -40, 24, 29, 0 }, { -17, -10, -41, 24, 29, 0 }, + { -17, -11, -42, 24, 29, 0 }, { -17, -12, -42, 24, 29, 0 }, { -17, -13, -43, 24, 29, 0 }, { -17, -14, -43, 24, 29, 0 }, { -17, -15, -44, 24, 29, 0 }, + { -17, -16, -44, 24, 29, 0 }, { -17, -17, -45, 24, 29, 0 }, { -17, -18, -45, 24, 29, 0 }, { -17, -19, -46, 24, 29, 0 }, { -17, -20, -46, 24, 29, 0 }, + { -17, -21, -46, 24, 29, 0 }, { -17, -22, -47, 24, 29, 0 }, { -17, -23, -47, 24, 29, 0 }, { -17, -24, -47, 24, 29, 0 }, { -17, -25, -47, 24, 29, 0 }, + { -17, -26, -47, 24, 0, 0 }, { -17, -27, -48, 24, 0, 0 }, { -17, -28, -48, 24, 0, 0 }, { -17, -29, -48, 24, 0, 0 }, { -17, -30, -48, 24, 0, 0 }, + { -17, -31, -48, 24, 0, 0 }, { -17, -32, -48, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EC715 = { - 97, { - { 16, 0, 16, 24, 16, 0 }, { 16, 1, 16, 24, 16, 0 }, { 16, 2, 16, 24, 16, 0 }, { 16, 3, 16, 24, 16, 0 }, { 16, 4, 16, 24, 16, 0 }, - { 16, 5, 16, 24, 16, 0 }, { 16, 6, 15, 24, 16, 0 }, { 16, 7, 15, 24, 16, 0 }, { 16, 8, 15, 0, 33, 0 }, { 16, 9, 15, 0, 33, 0 }, - { 16, 10, 15, 0, 33, 0 }, { 16, 11, 14, 0, 33, 0 }, { 16, 12, 14, 0, 33, 0 }, { 16, 13, 14, 0, 33, 0 }, { 16, 14, 13, 0, 33, 0 }, - { 16, 15, 13, 0, 33, 0 }, { 16, 16, 12, 0, 33, 0 }, { 16, 17, 12, 0, 33, 0 }, { 16, 18, 11, 0, 33, 0 }, { 16, 19, 11, 0, 33, 0 }, - { 16, 20, 10, 0, 33, 0 }, { 16, 21, 10, 0, 33, 0 }, { 16, 22, 9, 0, 33, 0 }, { 16, 23, 8, 0, 33, 0 }, { 16, 24, 7, 0, 32, 0 }, - { 16, 25, 7, 0, 32, 0 }, { 15, 26, 6, 0, 32, 0 }, { 15, 27, 5, 0, 32, 0 }, { 15, 28, 4, 0, 32, 0 }, { 15, 29, 3, 0, 32, 0 }, - { 15, 30, 2, 0, 32, 0 }, { 15, 31, 1, 0, 32, 0 }, { 14, 32, 0, 0, 32, 0 }, { 14, 33, -1, 0, 32, 0 }, { 14, 33, -2, 0, 32, 0 }, - { 14, 34, -3, 0, 32, 0 }, { 14, 35, -4, 0, 32, 0 }, { 13, 36, -5, 0, 32, 0 }, { 13, 36, -6, 0, 32, 0 }, { 13, 37, -7, 0, 32, 0 }, - { 12, 37, -8, 0, 31, 0 }, { 12, 38, -9, 0, 31, 0 }, { 12, 39, -10, 0, 31, 0 }, { 12, 39, -11, 0, 31, 0 }, { 11, 40, -12, 0, 31, 0 }, - { 11, 40, -13, 0, 31, 0 }, { 10, 41, -14, 0, 31, 0 }, { 10, 41, -15, 0, 31, 0 }, { 10, 42, -16, 0, 31, 0 }, { 9, 42, -17, 0, 31, 0 }, - { 9, 42, -18, 0, 31, 0 }, { 8, 43, -19, 0, 31, 0 }, { 8, 43, -20, 0, 31, 0 }, { 7, 44, -21, 0, 31, 0 }, { 7, 44, -22, 0, 31, 0 }, - { 6, 44, -23, 0, 31, 0 }, { 5, 44, -24, 0, 31, 0 }, { 5, 45, -25, 0, 30, 0 }, { 4, 45, -26, 0, 30, 0 }, { 4, 45, -27, 0, 30, 0 }, - { 3, 46, -28, 0, 30, 0 }, { 2, 46, -29, 0, 30, 0 }, { 1, 46, -30, 0, 30, 0 }, { 1, 46, -31, 0, 30, 0 }, { 0, 46, -32, 0, 30, 0 }, - { -1, 47, -33, 0, 30, 0 }, { -2, 47, -34, 0, 30, 0 }, { -3, 47, -35, 0, 30, 0 }, { -4, 47, -36, 0, 30, 0 }, { -5, 47, -37, 0, 30, 0 }, - { -6, 47, -38, 0, 30, 0 }, { -7, 48, -39, 0, 30, 0 }, { -8, 48, -39, 0, 30, 0 }, { -9, 48, -40, 0, 29, 0 }, { -10, 48, -41, 0, 29, 0 }, - { -11, 48, -42, 0, 29, 0 }, { -12, 48, -42, 0, 29, 0 }, { -13, 48, -43, 0, 29, 0 }, { -14, 48, -43, 0, 29, 0 }, { -15, 48, -44, 0, 29, 0 }, - { -16, 48, -44, 0, 29, 0 }, { -17, 48, -45, 0, 29, 0 }, { -18, 48, -45, 0, 29, 0 }, { -19, 48, -46, 0, 29, 0 }, { -20, 48, -46, 0, 29, 0 }, - { -21, 48, -46, 0, 29, 0 }, { -22, 48, -47, 0, 29, 0 }, { -23, 48, -47, 0, 29, 0 }, { -24, 48, -47, 0, 29, 0 }, { -25, 48, -47, 0, 29, 0 }, - { -26, 48, -47, 0, 0, 0 }, { -27, 48, -48, 0, 0, 0 }, { -28, 48, -48, 0, 0, 0 }, { -29, 48, -48, 0, 0, 0 }, { -30, 48, -48, 0, 0, 0 }, - { -31, 48, -48, 0, 0, 0 }, { -32, 48, -48, 0, 0, 0 }, + 97, { + { 16, 0, 16, 24, 16, 0 }, { 16, 1, 16, 24, 16, 0 }, { 16, 2, 16, 24, 16, 0 }, { 16, 3, 16, 24, 16, 0 }, { 16, 4, 16, 24, 16, 0 }, + { 16, 5, 16, 24, 16, 0 }, { 16, 6, 15, 24, 16, 0 }, { 16, 7, 15, 24, 16, 0 }, { 16, 8, 15, 0, 33, 0 }, { 16, 9, 15, 0, 33, 0 }, + { 16, 10, 15, 0, 33, 0 }, { 16, 11, 14, 0, 33, 0 }, { 16, 12, 14, 0, 33, 0 }, { 16, 13, 14, 0, 33, 0 }, { 16, 14, 13, 0, 33, 0 }, + { 16, 15, 13, 0, 33, 0 }, { 16, 16, 12, 0, 33, 0 }, { 16, 17, 12, 0, 33, 0 }, { 16, 18, 11, 0, 33, 0 }, { 16, 19, 11, 0, 33, 0 }, + { 16, 20, 10, 0, 33, 0 }, { 16, 21, 10, 0, 33, 0 }, { 16, 22, 9, 0, 33, 0 }, { 16, 23, 8, 0, 33, 0 }, { 16, 24, 7, 0, 32, 0 }, + { 16, 25, 7, 0, 32, 0 }, { 15, 26, 6, 0, 32, 0 }, { 15, 27, 5, 0, 32, 0 }, { 15, 28, 4, 0, 32, 0 }, { 15, 29, 3, 0, 32, 0 }, + { 15, 30, 2, 0, 32, 0 }, { 15, 31, 1, 0, 32, 0 }, { 14, 32, 0, 0, 32, 0 }, { 14, 33, -1, 0, 32, 0 }, { 14, 33, -2, 0, 32, 0 }, + { 14, 34, -3, 0, 32, 0 }, { 14, 35, -4, 0, 32, 0 }, { 13, 36, -5, 0, 32, 0 }, { 13, 36, -6, 0, 32, 0 }, { 13, 37, -7, 0, 32, 0 }, + { 12, 37, -8, 0, 31, 0 }, { 12, 38, -9, 0, 31, 0 }, { 12, 39, -10, 0, 31, 0 }, { 12, 39, -11, 0, 31, 0 }, { 11, 40, -12, 0, 31, 0 }, + { 11, 40, -13, 0, 31, 0 }, { 10, 41, -14, 0, 31, 0 }, { 10, 41, -15, 0, 31, 0 }, { 10, 42, -16, 0, 31, 0 }, { 9, 42, -17, 0, 31, 0 }, + { 9, 42, -18, 0, 31, 0 }, { 8, 43, -19, 0, 31, 0 }, { 8, 43, -20, 0, 31, 0 }, { 7, 44, -21, 0, 31, 0 }, { 7, 44, -22, 0, 31, 0 }, + { 6, 44, -23, 0, 31, 0 }, { 5, 44, -24, 0, 31, 0 }, { 5, 45, -25, 0, 30, 0 }, { 4, 45, -26, 0, 30, 0 }, { 4, 45, -27, 0, 30, 0 }, + { 3, 46, -28, 0, 30, 0 }, { 2, 46, -29, 0, 30, 0 }, { 1, 46, -30, 0, 30, 0 }, { 1, 46, -31, 0, 30, 0 }, { 0, 46, -32, 0, 30, 0 }, + { -1, 47, -33, 0, 30, 0 }, { -2, 47, -34, 0, 30, 0 }, { -3, 47, -35, 0, 30, 0 }, { -4, 47, -36, 0, 30, 0 }, { -5, 47, -37, 0, 30, 0 }, + { -6, 47, -38, 0, 30, 0 }, { -7, 48, -39, 0, 30, 0 }, { -8, 48, -39, 0, 30, 0 }, { -9, 48, -40, 0, 29, 0 }, { -10, 48, -41, 0, 29, 0 }, + { -11, 48, -42, 0, 29, 0 }, { -12, 48, -42, 0, 29, 0 }, { -13, 48, -43, 0, 29, 0 }, { -14, 48, -43, 0, 29, 0 }, { -15, 48, -44, 0, 29, 0 }, + { -16, 48, -44, 0, 29, 0 }, { -17, 48, -45, 0, 29, 0 }, { -18, 48, -45, 0, 29, 0 }, { -19, 48, -46, 0, 29, 0 }, { -20, 48, -46, 0, 29, 0 }, + { -21, 48, -46, 0, 29, 0 }, { -22, 48, -47, 0, 29, 0 }, { -23, 48, -47, 0, 29, 0 }, { -24, 48, -47, 0, 29, 0 }, { -25, 48, -47, 0, 29, 0 }, + { -26, 48, -47, 0, 0, 0 }, { -27, 48, -48, 0, 0, 0 }, { -28, 48, -48, 0, 0, 0 }, { -29, 48, -48, 0, 0, 0 }, { -30, 48, -48, 0, 0, 0 }, + { -31, 48, -48, 0, 0, 0 }, { -32, 48, -48, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8ECA80 = { - 97, { - { 0, 16, 16, 0, 16, 0 }, { 1, 16, 16, 0, 16, 0 }, { 2, 16, 16, 0, 16, 0 }, { 3, 16, 16, 0, 16, 0 }, { 4, 16, 16, 0, 16, 0 }, - { 5, 16, 16, 0, 16, 0 }, { 6, 16, 15, 0, 16, 0 }, { 7, 16, 15, 0, 16, 0 }, { 8, 16, 15, 8, 33, 0 }, { 9, 16, 15, 8, 33, 0 }, - { 10, 16, 15, 8, 33, 0 }, { 11, 16, 14, 8, 33, 0 }, { 12, 16, 14, 8, 33, 0 }, { 13, 16, 14, 8, 33, 0 }, { 14, 16, 13, 8, 33, 0 }, - { 15, 16, 13, 8, 33, 0 }, { 16, 16, 12, 8, 33, 0 }, { 17, 16, 12, 8, 33, 0 }, { 18, 16, 11, 8, 33, 0 }, { 19, 16, 11, 8, 33, 0 }, - { 20, 16, 10, 8, 33, 0 }, { 21, 16, 10, 8, 33, 0 }, { 22, 16, 9, 8, 33, 0 }, { 23, 16, 8, 8, 33, 0 }, { 24, 16, 7, 8, 32, 0 }, - { 25, 16, 7, 8, 32, 0 }, { 26, 17, 6, 8, 32, 0 }, { 27, 17, 5, 8, 32, 0 }, { 28, 17, 4, 8, 32, 0 }, { 29, 17, 3, 8, 32, 0 }, - { 30, 17, 2, 8, 32, 0 }, { 31, 17, 1, 8, 32, 0 }, { 32, 18, 0, 8, 32, 0 }, { 33, 18, -1, 8, 32, 0 }, { 33, 18, -2, 8, 32, 0 }, - { 34, 18, -3, 8, 32, 0 }, { 35, 18, -4, 8, 32, 0 }, { 36, 19, -5, 8, 32, 0 }, { 36, 19, -6, 8, 32, 0 }, { 37, 19, -7, 8, 32, 0 }, - { 37, 20, -8, 8, 31, 0 }, { 38, 20, -9, 8, 31, 0 }, { 39, 20, -10, 8, 31, 0 }, { 39, 20, -11, 8, 31, 0 }, { 40, 21, -12, 8, 31, 0 }, - { 40, 21, -13, 8, 31, 0 }, { 41, 22, -14, 8, 31, 0 }, { 41, 22, -15, 8, 31, 0 }, { 42, 22, -16, 8, 31, 0 }, { 42, 23, -17, 8, 31, 0 }, - { 42, 23, -18, 8, 31, 0 }, { 43, 24, -19, 8, 31, 0 }, { 43, 24, -20, 8, 31, 0 }, { 44, 25, -21, 8, 31, 0 }, { 44, 25, -22, 8, 31, 0 }, - { 44, 26, -23, 8, 31, 0 }, { 44, 27, -24, 8, 31, 0 }, { 45, 27, -25, 8, 30, 0 }, { 45, 28, -26, 8, 30, 0 }, { 45, 28, -27, 8, 30, 0 }, - { 46, 29, -28, 8, 30, 0 }, { 46, 30, -29, 8, 30, 0 }, { 46, 31, -30, 8, 30, 0 }, { 46, 31, -31, 8, 30, 0 }, { 46, 32, -32, 8, 30, 0 }, - { 47, 33, -33, 8, 30, 0 }, { 47, 34, -34, 8, 30, 0 }, { 47, 35, -35, 8, 30, 0 }, { 47, 36, -36, 8, 30, 0 }, { 47, 37, -37, 8, 30, 0 }, - { 47, 38, -38, 8, 30, 0 }, { 48, 39, -39, 8, 30, 0 }, { 48, 40, -39, 8, 30, 0 }, { 48, 41, -40, 8, 29, 0 }, { 48, 42, -41, 8, 29, 0 }, - { 48, 43, -42, 8, 29, 0 }, { 48, 44, -42, 8, 29, 0 }, { 48, 45, -43, 8, 29, 0 }, { 48, 46, -43, 8, 29, 0 }, { 48, 47, -44, 8, 29, 0 }, - { 48, 48, -44, 8, 29, 0 }, { 48, 49, -45, 8, 29, 0 }, { 48, 50, -45, 8, 29, 0 }, { 48, 51, -46, 8, 29, 0 }, { 48, 52, -46, 8, 29, 0 }, - { 48, 53, -46, 8, 29, 0 }, { 48, 54, -47, 8, 29, 0 }, { 48, 55, -47, 8, 29, 0 }, { 48, 56, -47, 8, 29, 0 }, { 48, 57, -47, 8, 29, 0 }, - { 48, 58, -47, 8, 0, 0 }, { 48, 59, -48, 8, 0, 0 }, { 48, 60, -48, 8, 0, 0 }, { 48, 61, -48, 8, 0, 0 }, { 48, 62, -48, 8, 0, 0 }, - { 48, 63, -48, 8, 0, 0 }, { 48, 64, -48, 8, 0, 0 }, + 97, { + { 0, 16, 16, 0, 16, 0 }, { 1, 16, 16, 0, 16, 0 }, { 2, 16, 16, 0, 16, 0 }, { 3, 16, 16, 0, 16, 0 }, { 4, 16, 16, 0, 16, 0 }, + { 5, 16, 16, 0, 16, 0 }, { 6, 16, 15, 0, 16, 0 }, { 7, 16, 15, 0, 16, 0 }, { 8, 16, 15, 8, 33, 0 }, { 9, 16, 15, 8, 33, 0 }, + { 10, 16, 15, 8, 33, 0 }, { 11, 16, 14, 8, 33, 0 }, { 12, 16, 14, 8, 33, 0 }, { 13, 16, 14, 8, 33, 0 }, { 14, 16, 13, 8, 33, 0 }, + { 15, 16, 13, 8, 33, 0 }, { 16, 16, 12, 8, 33, 0 }, { 17, 16, 12, 8, 33, 0 }, { 18, 16, 11, 8, 33, 0 }, { 19, 16, 11, 8, 33, 0 }, + { 20, 16, 10, 8, 33, 0 }, { 21, 16, 10, 8, 33, 0 }, { 22, 16, 9, 8, 33, 0 }, { 23, 16, 8, 8, 33, 0 }, { 24, 16, 7, 8, 32, 0 }, + { 25, 16, 7, 8, 32, 0 }, { 26, 17, 6, 8, 32, 0 }, { 27, 17, 5, 8, 32, 0 }, { 28, 17, 4, 8, 32, 0 }, { 29, 17, 3, 8, 32, 0 }, + { 30, 17, 2, 8, 32, 0 }, { 31, 17, 1, 8, 32, 0 }, { 32, 18, 0, 8, 32, 0 }, { 33, 18, -1, 8, 32, 0 }, { 33, 18, -2, 8, 32, 0 }, + { 34, 18, -3, 8, 32, 0 }, { 35, 18, -4, 8, 32, 0 }, { 36, 19, -5, 8, 32, 0 }, { 36, 19, -6, 8, 32, 0 }, { 37, 19, -7, 8, 32, 0 }, + { 37, 20, -8, 8, 31, 0 }, { 38, 20, -9, 8, 31, 0 }, { 39, 20, -10, 8, 31, 0 }, { 39, 20, -11, 8, 31, 0 }, { 40, 21, -12, 8, 31, 0 }, + { 40, 21, -13, 8, 31, 0 }, { 41, 22, -14, 8, 31, 0 }, { 41, 22, -15, 8, 31, 0 }, { 42, 22, -16, 8, 31, 0 }, { 42, 23, -17, 8, 31, 0 }, + { 42, 23, -18, 8, 31, 0 }, { 43, 24, -19, 8, 31, 0 }, { 43, 24, -20, 8, 31, 0 }, { 44, 25, -21, 8, 31, 0 }, { 44, 25, -22, 8, 31, 0 }, + { 44, 26, -23, 8, 31, 0 }, { 44, 27, -24, 8, 31, 0 }, { 45, 27, -25, 8, 30, 0 }, { 45, 28, -26, 8, 30, 0 }, { 45, 28, -27, 8, 30, 0 }, + { 46, 29, -28, 8, 30, 0 }, { 46, 30, -29, 8, 30, 0 }, { 46, 31, -30, 8, 30, 0 }, { 46, 31, -31, 8, 30, 0 }, { 46, 32, -32, 8, 30, 0 }, + { 47, 33, -33, 8, 30, 0 }, { 47, 34, -34, 8, 30, 0 }, { 47, 35, -35, 8, 30, 0 }, { 47, 36, -36, 8, 30, 0 }, { 47, 37, -37, 8, 30, 0 }, + { 47, 38, -38, 8, 30, 0 }, { 48, 39, -39, 8, 30, 0 }, { 48, 40, -39, 8, 30, 0 }, { 48, 41, -40, 8, 29, 0 }, { 48, 42, -41, 8, 29, 0 }, + { 48, 43, -42, 8, 29, 0 }, { 48, 44, -42, 8, 29, 0 }, { 48, 45, -43, 8, 29, 0 }, { 48, 46, -43, 8, 29, 0 }, { 48, 47, -44, 8, 29, 0 }, + { 48, 48, -44, 8, 29, 0 }, { 48, 49, -45, 8, 29, 0 }, { 48, 50, -45, 8, 29, 0 }, { 48, 51, -46, 8, 29, 0 }, { 48, 52, -46, 8, 29, 0 }, + { 48, 53, -46, 8, 29, 0 }, { 48, 54, -47, 8, 29, 0 }, { 48, 55, -47, 8, 29, 0 }, { 48, 56, -47, 8, 29, 0 }, { 48, 57, -47, 8, 29, 0 }, + { 48, 58, -47, 8, 0, 0 }, { 48, 59, -48, 8, 0, 0 }, { 48, 60, -48, 8, 0, 0 }, { 48, 61, -48, 8, 0, 0 }, { 48, 62, -48, 8, 0, 0 }, + { 48, 63, -48, 8, 0, 0 }, { 48, 64, -48, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8ECDEB = { - 97, { - { 16, 31, 16, 8, 16, 0 }, { 16, 30, 16, 8, 16, 0 }, { 16, 29, 16, 8, 16, 0 }, { 16, 28, 16, 8, 16, 0 }, { 16, 27, 16, 8, 16, 0 }, - { 16, 26, 16, 8, 16, 0 }, { 16, 25, 15, 8, 16, 0 }, { 16, 24, 15, 8, 16, 0 }, { 16, 23, 15, 16, 33, 0 }, { 16, 22, 15, 16, 33, 0 }, - { 16, 21, 15, 16, 33, 0 }, { 16, 20, 14, 16, 33, 0 }, { 16, 19, 14, 16, 33, 0 }, { 16, 18, 14, 16, 33, 0 }, { 16, 17, 13, 16, 33, 0 }, - { 16, 16, 13, 16, 33, 0 }, { 16, 15, 12, 16, 33, 0 }, { 16, 14, 12, 16, 33, 0 }, { 16, 13, 11, 16, 33, 0 }, { 16, 12, 11, 16, 33, 0 }, - { 16, 11, 10, 16, 33, 0 }, { 16, 10, 10, 16, 33, 0 }, { 16, 9, 9, 16, 33, 0 }, { 16, 8, 8, 16, 33, 0 }, { 16, 7, 7, 16, 32, 0 }, - { 16, 6, 7, 16, 32, 0 }, { 17, 5, 6, 16, 32, 0 }, { 17, 4, 5, 16, 32, 0 }, { 17, 3, 4, 16, 32, 0 }, { 17, 2, 3, 16, 32, 0 }, - { 17, 1, 2, 16, 32, 0 }, { 17, 0, 1, 16, 32, 0 }, { 18, -1, 0, 16, 32, 0 }, { 18, -2, -1, 16, 32, 0 }, { 18, -2, -2, 16, 32, 0 }, - { 18, -3, -3, 16, 32, 0 }, { 18, -4, -4, 16, 32, 0 }, { 19, -5, -5, 16, 32, 0 }, { 19, -5, -6, 16, 32, 0 }, { 19, -6, -7, 16, 32, 0 }, - { 20, -6, -8, 16, 31, 0 }, { 20, -7, -9, 16, 31, 0 }, { 20, -8, -10, 16, 31, 0 }, { 20, -8, -11, 16, 31, 0 }, { 21, -9, -12, 16, 31, 0 }, - { 21, -9, -13, 16, 31, 0 }, { 22, -10, -14, 16, 31, 0 }, { 22, -10, -15, 16, 31, 0 }, { 22, -11, -16, 16, 31, 0 }, { 23, -11, -17, 16, 31, 0 }, - { 23, -11, -18, 16, 31, 0 }, { 24, -12, -19, 16, 31, 0 }, { 24, -12, -20, 16, 31, 0 }, { 25, -13, -21, 16, 31, 0 }, { 25, -13, -22, 16, 31, 0 }, - { 26, -13, -23, 16, 31, 0 }, { 27, -13, -24, 16, 31, 0 }, { 27, -14, -25, 16, 30, 0 }, { 28, -14, -26, 16, 30, 0 }, { 28, -14, -27, 16, 30, 0 }, - { 29, -15, -28, 16, 30, 0 }, { 30, -15, -29, 16, 30, 0 }, { 31, -15, -30, 16, 30, 0 }, { 31, -15, -31, 16, 30, 0 }, { 32, -15, -32, 16, 30, 0 }, - { 33, -16, -33, 16, 30, 0 }, { 34, -16, -34, 16, 30, 0 }, { 35, -16, -35, 16, 30, 0 }, { 36, -16, -36, 16, 30, 0 }, { 37, -16, -37, 16, 30, 0 }, - { 38, -16, -38, 16, 30, 0 }, { 39, -17, -39, 16, 30, 0 }, { 40, -17, -39, 16, 30, 0 }, { 41, -17, -40, 16, 29, 0 }, { 42, -17, -41, 16, 29, 0 }, - { 43, -17, -42, 16, 29, 0 }, { 44, -17, -42, 16, 29, 0 }, { 45, -17, -43, 16, 29, 0 }, { 46, -17, -43, 16, 29, 0 }, { 47, -17, -44, 16, 29, 0 }, - { 48, -17, -44, 16, 29, 0 }, { 49, -17, -45, 16, 29, 0 }, { 50, -17, -45, 16, 29, 0 }, { 51, -17, -46, 16, 29, 0 }, { 52, -17, -46, 16, 29, 0 }, - { 53, -17, -46, 16, 29, 0 }, { 54, -17, -47, 16, 29, 0 }, { 55, -17, -47, 16, 29, 0 }, { 56, -17, -47, 16, 29, 0 }, { 57, -17, -47, 16, 29, 0 }, - { 58, -17, -47, 16, 0, 0 }, { 59, -17, -48, 16, 0, 0 }, { 60, -17, -48, 16, 0, 0 }, { 61, -17, -48, 16, 0, 0 }, { 62, -17, -48, 16, 0, 0 }, - { 63, -17, -48, 16, 0, 0 }, { 64, -17, -48, 16, 0, 0 }, + 97, { + { 16, 31, 16, 8, 16, 0 }, { 16, 30, 16, 8, 16, 0 }, { 16, 29, 16, 8, 16, 0 }, { 16, 28, 16, 8, 16, 0 }, { 16, 27, 16, 8, 16, 0 }, + { 16, 26, 16, 8, 16, 0 }, { 16, 25, 15, 8, 16, 0 }, { 16, 24, 15, 8, 16, 0 }, { 16, 23, 15, 16, 33, 0 }, { 16, 22, 15, 16, 33, 0 }, + { 16, 21, 15, 16, 33, 0 }, { 16, 20, 14, 16, 33, 0 }, { 16, 19, 14, 16, 33, 0 }, { 16, 18, 14, 16, 33, 0 }, { 16, 17, 13, 16, 33, 0 }, + { 16, 16, 13, 16, 33, 0 }, { 16, 15, 12, 16, 33, 0 }, { 16, 14, 12, 16, 33, 0 }, { 16, 13, 11, 16, 33, 0 }, { 16, 12, 11, 16, 33, 0 }, + { 16, 11, 10, 16, 33, 0 }, { 16, 10, 10, 16, 33, 0 }, { 16, 9, 9, 16, 33, 0 }, { 16, 8, 8, 16, 33, 0 }, { 16, 7, 7, 16, 32, 0 }, + { 16, 6, 7, 16, 32, 0 }, { 17, 5, 6, 16, 32, 0 }, { 17, 4, 5, 16, 32, 0 }, { 17, 3, 4, 16, 32, 0 }, { 17, 2, 3, 16, 32, 0 }, + { 17, 1, 2, 16, 32, 0 }, { 17, 0, 1, 16, 32, 0 }, { 18, -1, 0, 16, 32, 0 }, { 18, -2, -1, 16, 32, 0 }, { 18, -2, -2, 16, 32, 0 }, + { 18, -3, -3, 16, 32, 0 }, { 18, -4, -4, 16, 32, 0 }, { 19, -5, -5, 16, 32, 0 }, { 19, -5, -6, 16, 32, 0 }, { 19, -6, -7, 16, 32, 0 }, + { 20, -6, -8, 16, 31, 0 }, { 20, -7, -9, 16, 31, 0 }, { 20, -8, -10, 16, 31, 0 }, { 20, -8, -11, 16, 31, 0 }, { 21, -9, -12, 16, 31, 0 }, + { 21, -9, -13, 16, 31, 0 }, { 22, -10, -14, 16, 31, 0 }, { 22, -10, -15, 16, 31, 0 }, { 22, -11, -16, 16, 31, 0 }, { 23, -11, -17, 16, 31, 0 }, + { 23, -11, -18, 16, 31, 0 }, { 24, -12, -19, 16, 31, 0 }, { 24, -12, -20, 16, 31, 0 }, { 25, -13, -21, 16, 31, 0 }, { 25, -13, -22, 16, 31, 0 }, + { 26, -13, -23, 16, 31, 0 }, { 27, -13, -24, 16, 31, 0 }, { 27, -14, -25, 16, 30, 0 }, { 28, -14, -26, 16, 30, 0 }, { 28, -14, -27, 16, 30, 0 }, + { 29, -15, -28, 16, 30, 0 }, { 30, -15, -29, 16, 30, 0 }, { 31, -15, -30, 16, 30, 0 }, { 31, -15, -31, 16, 30, 0 }, { 32, -15, -32, 16, 30, 0 }, + { 33, -16, -33, 16, 30, 0 }, { 34, -16, -34, 16, 30, 0 }, { 35, -16, -35, 16, 30, 0 }, { 36, -16, -36, 16, 30, 0 }, { 37, -16, -37, 16, 30, 0 }, + { 38, -16, -38, 16, 30, 0 }, { 39, -17, -39, 16, 30, 0 }, { 40, -17, -39, 16, 30, 0 }, { 41, -17, -40, 16, 29, 0 }, { 42, -17, -41, 16, 29, 0 }, + { 43, -17, -42, 16, 29, 0 }, { 44, -17, -42, 16, 29, 0 }, { 45, -17, -43, 16, 29, 0 }, { 46, -17, -43, 16, 29, 0 }, { 47, -17, -44, 16, 29, 0 }, + { 48, -17, -44, 16, 29, 0 }, { 49, -17, -45, 16, 29, 0 }, { 50, -17, -45, 16, 29, 0 }, { 51, -17, -46, 16, 29, 0 }, { 52, -17, -46, 16, 29, 0 }, + { 53, -17, -46, 16, 29, 0 }, { 54, -17, -47, 16, 29, 0 }, { 55, -17, -47, 16, 29, 0 }, { 56, -17, -47, 16, 29, 0 }, { 57, -17, -47, 16, 29, 0 }, + { 58, -17, -47, 16, 0, 0 }, { 59, -17, -48, 16, 0, 0 }, { 60, -17, -48, 16, 0, 0 }, { 61, -17, -48, 16, 0, 0 }, { 62, -17, -48, 16, 0, 0 }, + { 63, -17, -48, 16, 0, 0 }, { 64, -17, -48, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8ED156 = { - 97, { - { 31, 16, 16, 16, 16, 0 }, { 30, 16, 16, 16, 16, 0 }, { 29, 16, 16, 16, 16, 0 }, { 28, 16, 16, 16, 16, 0 }, { 27, 16, 16, 16, 16, 0 }, - { 26, 16, 16, 16, 16, 0 }, { 25, 16, 15, 16, 16, 0 }, { 24, 16, 15, 16, 16, 0 }, { 23, 16, 15, 8, 43, 0 }, { 22, 16, 15, 8, 43, 0 }, - { 21, 16, 15, 8, 43, 0 }, { 20, 16, 14, 8, 43, 0 }, { 19, 16, 14, 8, 43, 0 }, { 18, 16, 14, 8, 43, 0 }, { 17, 16, 13, 8, 43, 0 }, - { 16, 16, 13, 8, 43, 0 }, { 15, 16, 12, 8, 43, 0 }, { 14, 16, 12, 8, 43, 0 }, { 13, 16, 11, 8, 43, 0 }, { 12, 16, 11, 8, 43, 0 }, - { 11, 16, 10, 8, 43, 0 }, { 10, 16, 10, 8, 43, 0 }, { 9, 16, 9, 8, 43, 0 }, { 8, 16, 8, 8, 43, 0 }, { 7, 16, 7, 8, 42, 0 }, - { 6, 16, 7, 8, 42, 0 }, { 5, 17, 6, 8, 42, 0 }, { 4, 17, 5, 8, 42, 0 }, { 3, 17, 4, 8, 42, 0 }, { 2, 17, 3, 8, 42, 0 }, - { 1, 17, 2, 8, 42, 0 }, { 0, 17, 1, 8, 42, 0 }, { -1, 18, 0, 8, 42, 0 }, { -2, 18, -1, 8, 42, 0 }, { -2, 18, -2, 8, 42, 0 }, - { -3, 18, -3, 8, 42, 0 }, { -4, 18, -4, 8, 42, 0 }, { -5, 19, -5, 8, 42, 0 }, { -5, 19, -6, 8, 42, 0 }, { -6, 19, -7, 8, 42, 0 }, - { -6, 20, -8, 8, 41, 0 }, { -7, 20, -9, 8, 41, 0 }, { -8, 20, -10, 8, 41, 0 }, { -8, 20, -11, 8, 41, 0 }, { -9, 21, -12, 8, 41, 0 }, - { -9, 21, -13, 8, 41, 0 }, { -10, 22, -14, 8, 41, 0 }, { -10, 22, -15, 8, 41, 0 }, { -11, 22, -16, 8, 41, 0 }, { -11, 23, -17, 8, 41, 0 }, - { -11, 23, -18, 8, 41, 0 }, { -12, 24, -19, 8, 41, 0 }, { -12, 24, -20, 8, 41, 0 }, { -13, 25, -21, 8, 41, 0 }, { -13, 25, -22, 8, 41, 0 }, - { -13, 26, -23, 8, 41, 0 }, { -13, 27, -24, 8, 41, 0 }, { -14, 27, -25, 8, 40, 0 }, { -14, 28, -26, 8, 40, 0 }, { -14, 28, -27, 8, 40, 0 }, - { -15, 29, -28, 8, 40, 0 }, { -15, 30, -29, 8, 40, 0 }, { -15, 31, -30, 8, 40, 0 }, { -15, 31, -31, 8, 40, 0 }, { -15, 32, -32, 8, 40, 0 }, - { -16, 33, -33, 8, 40, 0 }, { -16, 34, -34, 8, 40, 0 }, { -16, 35, -35, 8, 40, 0 }, { -16, 36, -36, 8, 40, 0 }, { -16, 37, -37, 8, 40, 0 }, - { -16, 38, -38, 8, 40, 0 }, { -17, 39, -39, 8, 40, 0 }, { -17, 40, -39, 8, 40, 0 }, { -17, 41, -40, 8, 39, 0 }, { -17, 42, -41, 8, 39, 0 }, - { -17, 43, -42, 8, 39, 0 }, { -17, 44, -42, 8, 39, 0 }, { -17, 45, -43, 8, 39, 0 }, { -17, 46, -43, 8, 39, 0 }, { -17, 47, -44, 8, 39, 0 }, - { -17, 48, -44, 8, 39, 0 }, { -17, 49, -45, 8, 39, 0 }, { -17, 50, -45, 8, 39, 0 }, { -17, 51, -46, 8, 39, 0 }, { -17, 52, -46, 8, 39, 0 }, - { -17, 53, -46, 8, 39, 0 }, { -17, 54, -47, 8, 39, 0 }, { -17, 55, -47, 8, 39, 0 }, { -17, 56, -47, 8, 39, 0 }, { -17, 57, -47, 8, 39, 0 }, - { -17, 58, -47, 8, 0, 0 }, { -17, 59, -48, 8, 0, 0 }, { -17, 60, -48, 8, 0, 0 }, { -17, 61, -48, 8, 0, 0 }, { -17, 62, -48, 8, 0, 0 }, - { -17, 63, -48, 8, 0, 0 }, { -17, 64, -48, 8, 0, 0 }, + 97, { + { 31, 16, 16, 16, 16, 0 }, { 30, 16, 16, 16, 16, 0 }, { 29, 16, 16, 16, 16, 0 }, { 28, 16, 16, 16, 16, 0 }, { 27, 16, 16, 16, 16, 0 }, + { 26, 16, 16, 16, 16, 0 }, { 25, 16, 15, 16, 16, 0 }, { 24, 16, 15, 16, 16, 0 }, { 23, 16, 15, 8, 43, 0 }, { 22, 16, 15, 8, 43, 0 }, + { 21, 16, 15, 8, 43, 0 }, { 20, 16, 14, 8, 43, 0 }, { 19, 16, 14, 8, 43, 0 }, { 18, 16, 14, 8, 43, 0 }, { 17, 16, 13, 8, 43, 0 }, + { 16, 16, 13, 8, 43, 0 }, { 15, 16, 12, 8, 43, 0 }, { 14, 16, 12, 8, 43, 0 }, { 13, 16, 11, 8, 43, 0 }, { 12, 16, 11, 8, 43, 0 }, + { 11, 16, 10, 8, 43, 0 }, { 10, 16, 10, 8, 43, 0 }, { 9, 16, 9, 8, 43, 0 }, { 8, 16, 8, 8, 43, 0 }, { 7, 16, 7, 8, 42, 0 }, + { 6, 16, 7, 8, 42, 0 }, { 5, 17, 6, 8, 42, 0 }, { 4, 17, 5, 8, 42, 0 }, { 3, 17, 4, 8, 42, 0 }, { 2, 17, 3, 8, 42, 0 }, + { 1, 17, 2, 8, 42, 0 }, { 0, 17, 1, 8, 42, 0 }, { -1, 18, 0, 8, 42, 0 }, { -2, 18, -1, 8, 42, 0 }, { -2, 18, -2, 8, 42, 0 }, + { -3, 18, -3, 8, 42, 0 }, { -4, 18, -4, 8, 42, 0 }, { -5, 19, -5, 8, 42, 0 }, { -5, 19, -6, 8, 42, 0 }, { -6, 19, -7, 8, 42, 0 }, + { -6, 20, -8, 8, 41, 0 }, { -7, 20, -9, 8, 41, 0 }, { -8, 20, -10, 8, 41, 0 }, { -8, 20, -11, 8, 41, 0 }, { -9, 21, -12, 8, 41, 0 }, + { -9, 21, -13, 8, 41, 0 }, { -10, 22, -14, 8, 41, 0 }, { -10, 22, -15, 8, 41, 0 }, { -11, 22, -16, 8, 41, 0 }, { -11, 23, -17, 8, 41, 0 }, + { -11, 23, -18, 8, 41, 0 }, { -12, 24, -19, 8, 41, 0 }, { -12, 24, -20, 8, 41, 0 }, { -13, 25, -21, 8, 41, 0 }, { -13, 25, -22, 8, 41, 0 }, + { -13, 26, -23, 8, 41, 0 }, { -13, 27, -24, 8, 41, 0 }, { -14, 27, -25, 8, 40, 0 }, { -14, 28, -26, 8, 40, 0 }, { -14, 28, -27, 8, 40, 0 }, + { -15, 29, -28, 8, 40, 0 }, { -15, 30, -29, 8, 40, 0 }, { -15, 31, -30, 8, 40, 0 }, { -15, 31, -31, 8, 40, 0 }, { -15, 32, -32, 8, 40, 0 }, + { -16, 33, -33, 8, 40, 0 }, { -16, 34, -34, 8, 40, 0 }, { -16, 35, -35, 8, 40, 0 }, { -16, 36, -36, 8, 40, 0 }, { -16, 37, -37, 8, 40, 0 }, + { -16, 38, -38, 8, 40, 0 }, { -17, 39, -39, 8, 40, 0 }, { -17, 40, -39, 8, 40, 0 }, { -17, 41, -40, 8, 39, 0 }, { -17, 42, -41, 8, 39, 0 }, + { -17, 43, -42, 8, 39, 0 }, { -17, 44, -42, 8, 39, 0 }, { -17, 45, -43, 8, 39, 0 }, { -17, 46, -43, 8, 39, 0 }, { -17, 47, -44, 8, 39, 0 }, + { -17, 48, -44, 8, 39, 0 }, { -17, 49, -45, 8, 39, 0 }, { -17, 50, -45, 8, 39, 0 }, { -17, 51, -46, 8, 39, 0 }, { -17, 52, -46, 8, 39, 0 }, + { -17, 53, -46, 8, 39, 0 }, { -17, 54, -47, 8, 39, 0 }, { -17, 55, -47, 8, 39, 0 }, { -17, 56, -47, 8, 39, 0 }, { -17, 57, -47, 8, 39, 0 }, + { -17, 58, -47, 8, 0, 0 }, { -17, 59, -48, 8, 0, 0 }, { -17, 60, -48, 8, 0, 0 }, { -17, 61, -48, 8, 0, 0 }, { -17, 62, -48, 8, 0, 0 }, + { -17, 63, -48, 8, 0, 0 }, { -17, 64, -48, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8ED4C1 = { - 97, { - { 16, 0, 16, 24, 16, 0 }, { 16, 1, 16, 24, 16, 0 }, { 16, 2, 16, 24, 16, 0 }, { 16, 3, 16, 24, 16, 0 }, { 16, 4, 16, 24, 16, 0 }, - { 16, 5, 16, 24, 16, 0 }, { 16, 6, 15, 24, 16, 0 }, { 16, 7, 15, 24, 16, 0 }, { 16, 8, 15, 16, 43, 0 }, { 16, 9, 15, 16, 43, 0 }, - { 16, 10, 15, 16, 43, 0 }, { 16, 11, 14, 16, 43, 0 }, { 16, 12, 14, 16, 43, 0 }, { 16, 13, 14, 16, 43, 0 }, { 16, 14, 13, 16, 43, 0 }, - { 16, 15, 13, 16, 43, 0 }, { 16, 16, 12, 16, 43, 0 }, { 16, 17, 12, 16, 43, 0 }, { 16, 18, 11, 16, 43, 0 }, { 16, 19, 11, 16, 43, 0 }, - { 16, 20, 10, 16, 43, 0 }, { 16, 21, 10, 16, 43, 0 }, { 16, 22, 9, 16, 43, 0 }, { 16, 23, 8, 16, 43, 0 }, { 16, 24, 7, 16, 42, 0 }, - { 16, 25, 7, 16, 42, 0 }, { 17, 26, 6, 16, 42, 0 }, { 17, 27, 5, 16, 42, 0 }, { 17, 28, 4, 16, 42, 0 }, { 17, 29, 3, 16, 42, 0 }, - { 17, 30, 2, 16, 42, 0 }, { 17, 31, 1, 16, 42, 0 }, { 18, 32, 0, 16, 42, 0 }, { 18, 33, -1, 16, 42, 0 }, { 18, 33, -2, 16, 42, 0 }, - { 18, 34, -3, 16, 42, 0 }, { 18, 35, -4, 16, 42, 0 }, { 19, 36, -5, 16, 42, 0 }, { 19, 36, -6, 16, 42, 0 }, { 19, 37, -7, 16, 42, 0 }, - { 20, 37, -8, 16, 41, 0 }, { 20, 38, -9, 16, 41, 0 }, { 20, 39, -10, 16, 41, 0 }, { 20, 39, -11, 16, 41, 0 }, { 21, 40, -12, 16, 41, 0 }, - { 21, 40, -13, 16, 41, 0 }, { 22, 41, -14, 16, 41, 0 }, { 22, 41, -15, 16, 41, 0 }, { 22, 42, -16, 16, 41, 0 }, { 23, 42, -17, 16, 41, 0 }, - { 23, 42, -18, 16, 41, 0 }, { 24, 43, -19, 16, 41, 0 }, { 24, 43, -20, 16, 41, 0 }, { 25, 44, -21, 16, 41, 0 }, { 25, 44, -22, 16, 41, 0 }, - { 26, 44, -23, 16, 41, 0 }, { 27, 44, -24, 16, 41, 0 }, { 27, 45, -25, 16, 40, 0 }, { 28, 45, -26, 16, 40, 0 }, { 28, 45, -27, 16, 40, 0 }, - { 29, 46, -28, 16, 40, 0 }, { 30, 46, -29, 16, 40, 0 }, { 31, 46, -30, 16, 40, 0 }, { 31, 46, -31, 16, 40, 0 }, { 32, 46, -32, 16, 40, 0 }, - { 33, 47, -33, 16, 40, 0 }, { 34, 47, -34, 16, 40, 0 }, { 35, 47, -35, 16, 40, 0 }, { 36, 47, -36, 16, 40, 0 }, { 37, 47, -37, 16, 40, 0 }, - { 38, 47, -38, 16, 40, 0 }, { 39, 48, -39, 16, 40, 0 }, { 40, 48, -39, 16, 40, 0 }, { 41, 48, -40, 16, 39, 0 }, { 42, 48, -41, 16, 39, 0 }, - { 43, 48, -42, 16, 39, 0 }, { 44, 48, -42, 16, 39, 0 }, { 45, 48, -43, 16, 39, 0 }, { 46, 48, -43, 16, 39, 0 }, { 47, 48, -44, 16, 39, 0 }, - { 48, 48, -44, 16, 39, 0 }, { 49, 48, -45, 16, 39, 0 }, { 50, 48, -45, 16, 39, 0 }, { 51, 48, -46, 16, 39, 0 }, { 52, 48, -46, 16, 39, 0 }, - { 53, 48, -46, 16, 39, 0 }, { 54, 48, -47, 16, 39, 0 }, { 55, 48, -47, 16, 39, 0 }, { 56, 48, -47, 16, 39, 0 }, { 57, 48, -47, 16, 39, 0 }, - { 58, 48, -47, 16, 0, 0 }, { 59, 48, -48, 16, 0, 0 }, { 60, 48, -48, 16, 0, 0 }, { 61, 48, -48, 16, 0, 0 }, { 62, 48, -48, 16, 0, 0 }, - { 63, 48, -48, 16, 0, 0 }, { 64, 48, -48, 16, 0, 0 }, + 97, { + { 16, 0, 16, 24, 16, 0 }, { 16, 1, 16, 24, 16, 0 }, { 16, 2, 16, 24, 16, 0 }, { 16, 3, 16, 24, 16, 0 }, { 16, 4, 16, 24, 16, 0 }, + { 16, 5, 16, 24, 16, 0 }, { 16, 6, 15, 24, 16, 0 }, { 16, 7, 15, 24, 16, 0 }, { 16, 8, 15, 16, 43, 0 }, { 16, 9, 15, 16, 43, 0 }, + { 16, 10, 15, 16, 43, 0 }, { 16, 11, 14, 16, 43, 0 }, { 16, 12, 14, 16, 43, 0 }, { 16, 13, 14, 16, 43, 0 }, { 16, 14, 13, 16, 43, 0 }, + { 16, 15, 13, 16, 43, 0 }, { 16, 16, 12, 16, 43, 0 }, { 16, 17, 12, 16, 43, 0 }, { 16, 18, 11, 16, 43, 0 }, { 16, 19, 11, 16, 43, 0 }, + { 16, 20, 10, 16, 43, 0 }, { 16, 21, 10, 16, 43, 0 }, { 16, 22, 9, 16, 43, 0 }, { 16, 23, 8, 16, 43, 0 }, { 16, 24, 7, 16, 42, 0 }, + { 16, 25, 7, 16, 42, 0 }, { 17, 26, 6, 16, 42, 0 }, { 17, 27, 5, 16, 42, 0 }, { 17, 28, 4, 16, 42, 0 }, { 17, 29, 3, 16, 42, 0 }, + { 17, 30, 2, 16, 42, 0 }, { 17, 31, 1, 16, 42, 0 }, { 18, 32, 0, 16, 42, 0 }, { 18, 33, -1, 16, 42, 0 }, { 18, 33, -2, 16, 42, 0 }, + { 18, 34, -3, 16, 42, 0 }, { 18, 35, -4, 16, 42, 0 }, { 19, 36, -5, 16, 42, 0 }, { 19, 36, -6, 16, 42, 0 }, { 19, 37, -7, 16, 42, 0 }, + { 20, 37, -8, 16, 41, 0 }, { 20, 38, -9, 16, 41, 0 }, { 20, 39, -10, 16, 41, 0 }, { 20, 39, -11, 16, 41, 0 }, { 21, 40, -12, 16, 41, 0 }, + { 21, 40, -13, 16, 41, 0 }, { 22, 41, -14, 16, 41, 0 }, { 22, 41, -15, 16, 41, 0 }, { 22, 42, -16, 16, 41, 0 }, { 23, 42, -17, 16, 41, 0 }, + { 23, 42, -18, 16, 41, 0 }, { 24, 43, -19, 16, 41, 0 }, { 24, 43, -20, 16, 41, 0 }, { 25, 44, -21, 16, 41, 0 }, { 25, 44, -22, 16, 41, 0 }, + { 26, 44, -23, 16, 41, 0 }, { 27, 44, -24, 16, 41, 0 }, { 27, 45, -25, 16, 40, 0 }, { 28, 45, -26, 16, 40, 0 }, { 28, 45, -27, 16, 40, 0 }, + { 29, 46, -28, 16, 40, 0 }, { 30, 46, -29, 16, 40, 0 }, { 31, 46, -30, 16, 40, 0 }, { 31, 46, -31, 16, 40, 0 }, { 32, 46, -32, 16, 40, 0 }, + { 33, 47, -33, 16, 40, 0 }, { 34, 47, -34, 16, 40, 0 }, { 35, 47, -35, 16, 40, 0 }, { 36, 47, -36, 16, 40, 0 }, { 37, 47, -37, 16, 40, 0 }, + { 38, 47, -38, 16, 40, 0 }, { 39, 48, -39, 16, 40, 0 }, { 40, 48, -39, 16, 40, 0 }, { 41, 48, -40, 16, 39, 0 }, { 42, 48, -41, 16, 39, 0 }, + { 43, 48, -42, 16, 39, 0 }, { 44, 48, -42, 16, 39, 0 }, { 45, 48, -43, 16, 39, 0 }, { 46, 48, -43, 16, 39, 0 }, { 47, 48, -44, 16, 39, 0 }, + { 48, 48, -44, 16, 39, 0 }, { 49, 48, -45, 16, 39, 0 }, { 50, 48, -45, 16, 39, 0 }, { 51, 48, -46, 16, 39, 0 }, { 52, 48, -46, 16, 39, 0 }, + { 53, 48, -46, 16, 39, 0 }, { 54, 48, -47, 16, 39, 0 }, { 55, 48, -47, 16, 39, 0 }, { 56, 48, -47, 16, 39, 0 }, { 57, 48, -47, 16, 39, 0 }, + { 58, 48, -47, 16, 0, 0 }, { 59, 48, -48, 16, 0, 0 }, { 60, 48, -48, 16, 0, 0 }, { 61, 48, -48, 16, 0, 0 }, { 62, 48, -48, 16, 0, 0 }, + { 63, 48, -48, 16, 0, 0 }, { 64, 48, -48, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8ED82C = { - 97, { - { 0, 16, 16, 0, 16, 0 }, { 1, 16, 16, 0, 16, 0 }, { 2, 16, 16, 0, 16, 0 }, { 3, 16, 16, 0, 16, 0 }, { 4, 16, 16, 0, 16, 0 }, - { 5, 16, 16, 0, 16, 0 }, { 6, 16, 15, 0, 16, 0 }, { 7, 16, 15, 0, 16, 0 }, { 8, 16, 15, 24, 43, 0 }, { 9, 16, 15, 24, 43, 0 }, - { 10, 16, 15, 24, 43, 0 }, { 11, 16, 14, 24, 43, 0 }, { 12, 16, 14, 24, 43, 0 }, { 13, 16, 14, 24, 43, 0 }, { 14, 16, 13, 24, 43, 0 }, - { 15, 16, 13, 24, 43, 0 }, { 16, 16, 12, 24, 43, 0 }, { 17, 16, 12, 24, 43, 0 }, { 18, 16, 11, 24, 43, 0 }, { 19, 16, 11, 24, 43, 0 }, - { 20, 16, 10, 24, 43, 0 }, { 21, 16, 10, 24, 43, 0 }, { 22, 16, 9, 24, 43, 0 }, { 23, 16, 8, 24, 43, 0 }, { 24, 16, 7, 24, 42, 0 }, - { 25, 16, 7, 24, 42, 0 }, { 26, 15, 6, 24, 42, 0 }, { 27, 15, 5, 24, 42, 0 }, { 28, 15, 4, 24, 42, 0 }, { 29, 15, 3, 24, 42, 0 }, - { 30, 15, 2, 24, 42, 0 }, { 31, 15, 1, 24, 42, 0 }, { 32, 14, 0, 24, 42, 0 }, { 33, 14, -1, 24, 42, 0 }, { 33, 14, -2, 24, 42, 0 }, - { 34, 14, -3, 24, 42, 0 }, { 35, 14, -4, 24, 42, 0 }, { 36, 13, -5, 24, 42, 0 }, { 36, 13, -6, 24, 42, 0 }, { 37, 13, -7, 24, 42, 0 }, - { 37, 12, -8, 24, 41, 0 }, { 38, 12, -9, 24, 41, 0 }, { 39, 12, -10, 24, 41, 0 }, { 39, 12, -11, 24, 41, 0 }, { 40, 11, -12, 24, 41, 0 }, - { 40, 11, -13, 24, 41, 0 }, { 41, 10, -14, 24, 41, 0 }, { 41, 10, -15, 24, 41, 0 }, { 42, 10, -16, 24, 41, 0 }, { 42, 9, -17, 24, 41, 0 }, - { 42, 9, -18, 24, 41, 0 }, { 43, 8, -19, 24, 41, 0 }, { 43, 8, -20, 24, 41, 0 }, { 44, 7, -21, 24, 41, 0 }, { 44, 7, -22, 24, 41, 0 }, - { 44, 6, -23, 24, 41, 0 }, { 44, 5, -24, 24, 41, 0 }, { 45, 5, -25, 24, 40, 0 }, { 45, 4, -26, 24, 40, 0 }, { 45, 4, -27, 24, 40, 0 }, - { 46, 3, -28, 24, 40, 0 }, { 46, 2, -29, 24, 40, 0 }, { 46, 1, -30, 24, 40, 0 }, { 46, 1, -31, 24, 40, 0 }, { 46, 0, -32, 24, 40, 0 }, - { 47, -1, -33, 24, 40, 0 }, { 47, -2, -34, 24, 40, 0 }, { 47, -3, -35, 24, 40, 0 }, { 47, -4, -36, 24, 40, 0 }, { 47, -5, -37, 24, 40, 0 }, - { 47, -6, -38, 24, 40, 0 }, { 48, -7, -39, 24, 40, 0 }, { 48, -8, -39, 24, 40, 0 }, { 48, -9, -40, 24, 39, 0 }, { 48, -10, -41, 24, 39, 0 }, - { 48, -11, -42, 24, 39, 0 }, { 48, -12, -42, 24, 39, 0 }, { 48, -13, -43, 24, 39, 0 }, { 48, -14, -43, 24, 39, 0 }, { 48, -15, -44, 24, 39, 0 }, - { 48, -16, -44, 24, 39, 0 }, { 48, -17, -45, 24, 39, 0 }, { 48, -18, -45, 24, 39, 0 }, { 48, -19, -46, 24, 39, 0 }, { 48, -20, -46, 24, 39, 0 }, - { 48, -21, -46, 24, 39, 0 }, { 48, -22, -47, 24, 39, 0 }, { 48, -23, -47, 24, 39, 0 }, { 48, -24, -47, 24, 39, 0 }, { 48, -25, -47, 24, 39, 0 }, - { 48, -26, -47, 24, 0, 0 }, { 48, -27, -48, 24, 0, 0 }, { 48, -28, -48, 24, 0, 0 }, { 48, -29, -48, 24, 0, 0 }, { 48, -30, -48, 24, 0, 0 }, - { 48, -31, -48, 24, 0, 0 }, { 48, -32, -48, 24, 0, 0 }, + 97, { + { 0, 16, 16, 0, 16, 0 }, { 1, 16, 16, 0, 16, 0 }, { 2, 16, 16, 0, 16, 0 }, { 3, 16, 16, 0, 16, 0 }, { 4, 16, 16, 0, 16, 0 }, + { 5, 16, 16, 0, 16, 0 }, { 6, 16, 15, 0, 16, 0 }, { 7, 16, 15, 0, 16, 0 }, { 8, 16, 15, 24, 43, 0 }, { 9, 16, 15, 24, 43, 0 }, + { 10, 16, 15, 24, 43, 0 }, { 11, 16, 14, 24, 43, 0 }, { 12, 16, 14, 24, 43, 0 }, { 13, 16, 14, 24, 43, 0 }, { 14, 16, 13, 24, 43, 0 }, + { 15, 16, 13, 24, 43, 0 }, { 16, 16, 12, 24, 43, 0 }, { 17, 16, 12, 24, 43, 0 }, { 18, 16, 11, 24, 43, 0 }, { 19, 16, 11, 24, 43, 0 }, + { 20, 16, 10, 24, 43, 0 }, { 21, 16, 10, 24, 43, 0 }, { 22, 16, 9, 24, 43, 0 }, { 23, 16, 8, 24, 43, 0 }, { 24, 16, 7, 24, 42, 0 }, + { 25, 16, 7, 24, 42, 0 }, { 26, 15, 6, 24, 42, 0 }, { 27, 15, 5, 24, 42, 0 }, { 28, 15, 4, 24, 42, 0 }, { 29, 15, 3, 24, 42, 0 }, + { 30, 15, 2, 24, 42, 0 }, { 31, 15, 1, 24, 42, 0 }, { 32, 14, 0, 24, 42, 0 }, { 33, 14, -1, 24, 42, 0 }, { 33, 14, -2, 24, 42, 0 }, + { 34, 14, -3, 24, 42, 0 }, { 35, 14, -4, 24, 42, 0 }, { 36, 13, -5, 24, 42, 0 }, { 36, 13, -6, 24, 42, 0 }, { 37, 13, -7, 24, 42, 0 }, + { 37, 12, -8, 24, 41, 0 }, { 38, 12, -9, 24, 41, 0 }, { 39, 12, -10, 24, 41, 0 }, { 39, 12, -11, 24, 41, 0 }, { 40, 11, -12, 24, 41, 0 }, + { 40, 11, -13, 24, 41, 0 }, { 41, 10, -14, 24, 41, 0 }, { 41, 10, -15, 24, 41, 0 }, { 42, 10, -16, 24, 41, 0 }, { 42, 9, -17, 24, 41, 0 }, + { 42, 9, -18, 24, 41, 0 }, { 43, 8, -19, 24, 41, 0 }, { 43, 8, -20, 24, 41, 0 }, { 44, 7, -21, 24, 41, 0 }, { 44, 7, -22, 24, 41, 0 }, + { 44, 6, -23, 24, 41, 0 }, { 44, 5, -24, 24, 41, 0 }, { 45, 5, -25, 24, 40, 0 }, { 45, 4, -26, 24, 40, 0 }, { 45, 4, -27, 24, 40, 0 }, + { 46, 3, -28, 24, 40, 0 }, { 46, 2, -29, 24, 40, 0 }, { 46, 1, -30, 24, 40, 0 }, { 46, 1, -31, 24, 40, 0 }, { 46, 0, -32, 24, 40, 0 }, + { 47, -1, -33, 24, 40, 0 }, { 47, -2, -34, 24, 40, 0 }, { 47, -3, -35, 24, 40, 0 }, { 47, -4, -36, 24, 40, 0 }, { 47, -5, -37, 24, 40, 0 }, + { 47, -6, -38, 24, 40, 0 }, { 48, -7, -39, 24, 40, 0 }, { 48, -8, -39, 24, 40, 0 }, { 48, -9, -40, 24, 39, 0 }, { 48, -10, -41, 24, 39, 0 }, + { 48, -11, -42, 24, 39, 0 }, { 48, -12, -42, 24, 39, 0 }, { 48, -13, -43, 24, 39, 0 }, { 48, -14, -43, 24, 39, 0 }, { 48, -15, -44, 24, 39, 0 }, + { 48, -16, -44, 24, 39, 0 }, { 48, -17, -45, 24, 39, 0 }, { 48, -18, -45, 24, 39, 0 }, { 48, -19, -46, 24, 39, 0 }, { 48, -20, -46, 24, 39, 0 }, + { 48, -21, -46, 24, 39, 0 }, { 48, -22, -47, 24, 39, 0 }, { 48, -23, -47, 24, 39, 0 }, { 48, -24, -47, 24, 39, 0 }, { 48, -25, -47, 24, 39, 0 }, + { 48, -26, -47, 24, 0, 0 }, { 48, -27, -48, 24, 0, 0 }, { 48, -28, -48, 24, 0, 0 }, { 48, -29, -48, 24, 0, 0 }, { 48, -30, -48, 24, 0, 0 }, + { 48, -31, -48, 24, 0, 0 }, { 48, -32, -48, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EDB97 = { - 97, { - { 16, 31, 16, 8, 16, 0 }, { 16, 30, 16, 8, 16, 0 }, { 16, 29, 16, 8, 16, 0 }, { 16, 28, 16, 8, 16, 0 }, { 16, 27, 16, 8, 16, 0 }, - { 16, 26, 16, 8, 16, 0 }, { 16, 25, 15, 8, 16, 0 }, { 16, 24, 15, 8, 16, 0 }, { 16, 23, 15, 0, 43, 0 }, { 16, 22, 15, 0, 43, 0 }, - { 16, 21, 15, 0, 43, 0 }, { 16, 20, 14, 0, 43, 0 }, { 16, 19, 14, 0, 43, 0 }, { 16, 18, 14, 0, 43, 0 }, { 16, 17, 13, 0, 43, 0 }, - { 16, 16, 13, 0, 43, 0 }, { 16, 15, 12, 0, 43, 0 }, { 16, 14, 12, 0, 43, 0 }, { 16, 13, 11, 0, 43, 0 }, { 16, 12, 11, 0, 43, 0 }, - { 16, 11, 10, 0, 43, 0 }, { 16, 10, 10, 0, 43, 0 }, { 16, 9, 9, 0, 43, 0 }, { 16, 8, 8, 0, 43, 0 }, { 16, 7, 7, 0, 42, 0 }, - { 16, 6, 7, 0, 42, 0 }, { 15, 5, 6, 0, 42, 0 }, { 15, 4, 5, 0, 42, 0 }, { 15, 3, 4, 0, 42, 0 }, { 15, 2, 3, 0, 42, 0 }, - { 15, 1, 2, 0, 42, 0 }, { 15, 0, 1, 0, 42, 0 }, { 14, -1, 0, 0, 42, 0 }, { 14, -2, -1, 0, 42, 0 }, { 14, -2, -2, 0, 42, 0 }, - { 14, -3, -3, 0, 42, 0 }, { 14, -4, -4, 0, 42, 0 }, { 13, -5, -5, 0, 42, 0 }, { 13, -5, -6, 0, 42, 0 }, { 13, -6, -7, 0, 42, 0 }, - { 12, -6, -8, 0, 41, 0 }, { 12, -7, -9, 0, 41, 0 }, { 12, -8, -10, 0, 41, 0 }, { 12, -8, -11, 0, 41, 0 }, { 11, -9, -12, 0, 41, 0 }, - { 11, -9, -13, 0, 41, 0 }, { 10, -10, -14, 0, 41, 0 }, { 10, -10, -15, 0, 41, 0 }, { 10, -11, -16, 0, 41, 0 }, { 9, -11, -17, 0, 41, 0 }, - { 9, -11, -18, 0, 41, 0 }, { 8, -12, -19, 0, 41, 0 }, { 8, -12, -20, 0, 41, 0 }, { 7, -13, -21, 0, 41, 0 }, { 7, -13, -22, 0, 41, 0 }, - { 6, -13, -23, 0, 41, 0 }, { 5, -13, -24, 0, 41, 0 }, { 5, -14, -25, 0, 40, 0 }, { 4, -14, -26, 0, 40, 0 }, { 4, -14, -27, 0, 40, 0 }, - { 3, -15, -28, 0, 40, 0 }, { 2, -15, -29, 0, 40, 0 }, { 1, -15, -30, 0, 40, 0 }, { 1, -15, -31, 0, 40, 0 }, { 0, -15, -32, 0, 40, 0 }, - { -1, -16, -33, 0, 40, 0 }, { -2, -16, -34, 0, 40, 0 }, { -3, -16, -35, 0, 40, 0 }, { -4, -16, -36, 0, 40, 0 }, { -5, -16, -37, 0, 40, 0 }, - { -6, -16, -38, 0, 40, 0 }, { -7, -17, -39, 0, 40, 0 }, { -8, -17, -39, 0, 40, 0 }, { -9, -17, -40, 0, 39, 0 }, { -10, -17, -41, 0, 39, 0 }, - { -11, -17, -42, 0, 39, 0 }, { -12, -17, -42, 0, 39, 0 }, { -13, -17, -43, 0, 39, 0 }, { -14, -17, -43, 0, 39, 0 }, { -15, -17, -44, 0, 39, 0 }, - { -16, -17, -44, 0, 39, 0 }, { -17, -17, -45, 0, 39, 0 }, { -18, -17, -45, 0, 39, 0 }, { -19, -17, -46, 0, 39, 0 }, { -20, -17, -46, 0, 39, 0 }, - { -21, -17, -46, 0, 39, 0 }, { -22, -17, -47, 0, 39, 0 }, { -23, -17, -47, 0, 39, 0 }, { -24, -17, -47, 0, 39, 0 }, { -25, -17, -47, 0, 39, 0 }, - { -26, -17, -47, 0, 0, 0 }, { -27, -17, -48, 0, 0, 0 }, { -28, -17, -48, 0, 0, 0 }, { -29, -17, -48, 0, 0, 0 }, { -30, -17, -48, 0, 0, 0 }, - { -31, -17, -48, 0, 0, 0 }, { -32, -17, -48, 0, 0, 0 }, + 97, { + { 16, 31, 16, 8, 16, 0 }, { 16, 30, 16, 8, 16, 0 }, { 16, 29, 16, 8, 16, 0 }, { 16, 28, 16, 8, 16, 0 }, { 16, 27, 16, 8, 16, 0 }, + { 16, 26, 16, 8, 16, 0 }, { 16, 25, 15, 8, 16, 0 }, { 16, 24, 15, 8, 16, 0 }, { 16, 23, 15, 0, 43, 0 }, { 16, 22, 15, 0, 43, 0 }, + { 16, 21, 15, 0, 43, 0 }, { 16, 20, 14, 0, 43, 0 }, { 16, 19, 14, 0, 43, 0 }, { 16, 18, 14, 0, 43, 0 }, { 16, 17, 13, 0, 43, 0 }, + { 16, 16, 13, 0, 43, 0 }, { 16, 15, 12, 0, 43, 0 }, { 16, 14, 12, 0, 43, 0 }, { 16, 13, 11, 0, 43, 0 }, { 16, 12, 11, 0, 43, 0 }, + { 16, 11, 10, 0, 43, 0 }, { 16, 10, 10, 0, 43, 0 }, { 16, 9, 9, 0, 43, 0 }, { 16, 8, 8, 0, 43, 0 }, { 16, 7, 7, 0, 42, 0 }, + { 16, 6, 7, 0, 42, 0 }, { 15, 5, 6, 0, 42, 0 }, { 15, 4, 5, 0, 42, 0 }, { 15, 3, 4, 0, 42, 0 }, { 15, 2, 3, 0, 42, 0 }, + { 15, 1, 2, 0, 42, 0 }, { 15, 0, 1, 0, 42, 0 }, { 14, -1, 0, 0, 42, 0 }, { 14, -2, -1, 0, 42, 0 }, { 14, -2, -2, 0, 42, 0 }, + { 14, -3, -3, 0, 42, 0 }, { 14, -4, -4, 0, 42, 0 }, { 13, -5, -5, 0, 42, 0 }, { 13, -5, -6, 0, 42, 0 }, { 13, -6, -7, 0, 42, 0 }, + { 12, -6, -8, 0, 41, 0 }, { 12, -7, -9, 0, 41, 0 }, { 12, -8, -10, 0, 41, 0 }, { 12, -8, -11, 0, 41, 0 }, { 11, -9, -12, 0, 41, 0 }, + { 11, -9, -13, 0, 41, 0 }, { 10, -10, -14, 0, 41, 0 }, { 10, -10, -15, 0, 41, 0 }, { 10, -11, -16, 0, 41, 0 }, { 9, -11, -17, 0, 41, 0 }, + { 9, -11, -18, 0, 41, 0 }, { 8, -12, -19, 0, 41, 0 }, { 8, -12, -20, 0, 41, 0 }, { 7, -13, -21, 0, 41, 0 }, { 7, -13, -22, 0, 41, 0 }, + { 6, -13, -23, 0, 41, 0 }, { 5, -13, -24, 0, 41, 0 }, { 5, -14, -25, 0, 40, 0 }, { 4, -14, -26, 0, 40, 0 }, { 4, -14, -27, 0, 40, 0 }, + { 3, -15, -28, 0, 40, 0 }, { 2, -15, -29, 0, 40, 0 }, { 1, -15, -30, 0, 40, 0 }, { 1, -15, -31, 0, 40, 0 }, { 0, -15, -32, 0, 40, 0 }, + { -1, -16, -33, 0, 40, 0 }, { -2, -16, -34, 0, 40, 0 }, { -3, -16, -35, 0, 40, 0 }, { -4, -16, -36, 0, 40, 0 }, { -5, -16, -37, 0, 40, 0 }, + { -6, -16, -38, 0, 40, 0 }, { -7, -17, -39, 0, 40, 0 }, { -8, -17, -39, 0, 40, 0 }, { -9, -17, -40, 0, 39, 0 }, { -10, -17, -41, 0, 39, 0 }, + { -11, -17, -42, 0, 39, 0 }, { -12, -17, -42, 0, 39, 0 }, { -13, -17, -43, 0, 39, 0 }, { -14, -17, -43, 0, 39, 0 }, { -15, -17, -44, 0, 39, 0 }, + { -16, -17, -44, 0, 39, 0 }, { -17, -17, -45, 0, 39, 0 }, { -18, -17, -45, 0, 39, 0 }, { -19, -17, -46, 0, 39, 0 }, { -20, -17, -46, 0, 39, 0 }, + { -21, -17, -46, 0, 39, 0 }, { -22, -17, -47, 0, 39, 0 }, { -23, -17, -47, 0, 39, 0 }, { -24, -17, -47, 0, 39, 0 }, { -25, -17, -47, 0, 39, 0 }, + { -26, -17, -47, 0, 0, 0 }, { -27, -17, -48, 0, 0, 0 }, { -28, -17, -48, 0, 0, 0 }, { -29, -17, -48, 0, 0, 0 }, { -30, -17, -48, 0, 0, 0 }, + { -31, -17, -48, 0, 0, 0 }, { -32, -17, -48, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C6C32 = { - 36, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 1, 0, 0, 0 }, - { 26, 16, 1, 0, 1, 0 }, { 25, 16, 1, 0, 1, 0 }, { 24, 16, 2, 0, 1, 0 }, { 23, 16, 2, 0, 1, 0 }, { 22, 16, 2, 0, 1, 0 }, - { 21, 16, 3, 0, 1, 0 }, { 20, 16, 3, 0, 1, 0 }, { 19, 16, 4, 0, 1, 0 }, { 18, 16, 4, 0, 2, 0 }, { 17, 16, 5, 0, 2, 0 }, - { 16, 16, 5, 0, 2, 0 }, { 15, 16, 6, 0, 2, 0 }, { 14, 16, 6, 0, 2, 0 }, { 13, 16, 7, 0, 2, 0 }, { 12, 16, 8, 0, 2, 0 }, - { 11, 16, 8, 0, 2, 0 }, { 10, 16, 9, 0, 2, 0 }, { 9, 16, 10, 0, 3, 0 }, { 8, 16, 11, 0, 3, 0 }, { 7, 16, 12, 0, 3, 0 }, - { 6, 16, 13, 0, 3, 0 }, { 5, 16, 14, 0, 3, 0 }, { 4, 16, 15, 0, 3, 0 }, { 4, 16, 16, 0, 3, 0 }, { 3, 16, 17, 0, 4, 0 }, - { 2, 16, 18, 0, 4, 0 }, { 2, 16, 19, 0, 4, 0 }, { 1, 16, 20, 0, 4, 0 }, { 1, 16, 21, 0, 4, 0 }, { 0, 16, 22, 0, 4, 0 }, - { 0, 16, 23, 0, 4, 0 }, + 36, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 1, 0, 0, 0 }, + { 26, 16, 1, 0, 1, 0 }, { 25, 16, 1, 0, 1, 0 }, { 24, 16, 2, 0, 1, 0 }, { 23, 16, 2, 0, 1, 0 }, { 22, 16, 2, 0, 1, 0 }, + { 21, 16, 3, 0, 1, 0 }, { 20, 16, 3, 0, 1, 0 }, { 19, 16, 4, 0, 1, 0 }, { 18, 16, 4, 0, 2, 0 }, { 17, 16, 5, 0, 2, 0 }, + { 16, 16, 5, 0, 2, 0 }, { 15, 16, 6, 0, 2, 0 }, { 14, 16, 6, 0, 2, 0 }, { 13, 16, 7, 0, 2, 0 }, { 12, 16, 8, 0, 2, 0 }, + { 11, 16, 8, 0, 2, 0 }, { 10, 16, 9, 0, 2, 0 }, { 9, 16, 10, 0, 3, 0 }, { 8, 16, 11, 0, 3, 0 }, { 7, 16, 12, 0, 3, 0 }, + { 6, 16, 13, 0, 3, 0 }, { 5, 16, 14, 0, 3, 0 }, { 4, 16, 15, 0, 3, 0 }, { 4, 16, 16, 0, 3, 0 }, { 3, 16, 17, 0, 4, 0 }, + { 2, 16, 18, 0, 4, 0 }, { 2, 16, 19, 0, 4, 0 }, { 1, 16, 20, 0, 4, 0 }, { 1, 16, 21, 0, 4, 0 }, { 0, 16, 22, 0, 4, 0 }, + { 0, 16, 23, 0, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C6D78 = { - 36, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 1, 8, 0, 0 }, - { 16, 5, 1, 8, 1, 0 }, { 16, 6, 1, 8, 1, 0 }, { 16, 7, 2, 8, 1, 0 }, { 16, 8, 2, 8, 1, 0 }, { 16, 9, 2, 8, 1, 0 }, - { 16, 10, 3, 8, 1, 0 }, { 16, 11, 3, 8, 1, 0 }, { 16, 12, 4, 8, 1, 0 }, { 16, 13, 4, 8, 2, 0 }, { 16, 14, 5, 8, 2, 0 }, - { 16, 15, 5, 8, 2, 0 }, { 16, 16, 6, 8, 2, 0 }, { 16, 17, 6, 8, 2, 0 }, { 16, 18, 7, 8, 2, 0 }, { 16, 19, 8, 8, 2, 0 }, - { 16, 20, 8, 8, 2, 0 }, { 16, 21, 9, 8, 2, 0 }, { 16, 22, 10, 8, 3, 0 }, { 16, 23, 11, 8, 3, 0 }, { 16, 24, 12, 8, 3, 0 }, - { 16, 25, 13, 8, 3, 0 }, { 16, 26, 14, 8, 3, 0 }, { 16, 27, 15, 8, 3, 0 }, { 16, 27, 16, 8, 3, 0 }, { 16, 28, 17, 8, 4, 0 }, - { 16, 29, 18, 8, 4, 0 }, { 16, 29, 19, 8, 4, 0 }, { 16, 30, 20, 8, 4, 0 }, { 16, 30, 21, 8, 4, 0 }, { 16, 31, 22, 8, 4, 0 }, - { 16, 31, 23, 8, 4, 0 }, + 36, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 1, 8, 0, 0 }, + { 16, 5, 1, 8, 1, 0 }, { 16, 6, 1, 8, 1, 0 }, { 16, 7, 2, 8, 1, 0 }, { 16, 8, 2, 8, 1, 0 }, { 16, 9, 2, 8, 1, 0 }, + { 16, 10, 3, 8, 1, 0 }, { 16, 11, 3, 8, 1, 0 }, { 16, 12, 4, 8, 1, 0 }, { 16, 13, 4, 8, 2, 0 }, { 16, 14, 5, 8, 2, 0 }, + { 16, 15, 5, 8, 2, 0 }, { 16, 16, 6, 8, 2, 0 }, { 16, 17, 6, 8, 2, 0 }, { 16, 18, 7, 8, 2, 0 }, { 16, 19, 8, 8, 2, 0 }, + { 16, 20, 8, 8, 2, 0 }, { 16, 21, 9, 8, 2, 0 }, { 16, 22, 10, 8, 3, 0 }, { 16, 23, 11, 8, 3, 0 }, { 16, 24, 12, 8, 3, 0 }, + { 16, 25, 13, 8, 3, 0 }, { 16, 26, 14, 8, 3, 0 }, { 16, 27, 15, 8, 3, 0 }, { 16, 27, 16, 8, 3, 0 }, { 16, 28, 17, 8, 4, 0 }, + { 16, 29, 18, 8, 4, 0 }, { 16, 29, 19, 8, 4, 0 }, { 16, 30, 20, 8, 4, 0 }, { 16, 30, 21, 8, 4, 0 }, { 16, 31, 22, 8, 4, 0 }, + { 16, 31, 23, 8, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C6EBE = { - 36, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 1, 16, 0, 0 }, - { 5, 16, 1, 16, 1, 0 }, { 6, 16, 1, 16, 1, 0 }, { 7, 16, 2, 16, 1, 0 }, { 8, 16, 2, 16, 1, 0 }, { 9, 16, 2, 16, 1, 0 }, - { 10, 16, 3, 16, 1, 0 }, { 11, 16, 3, 16, 1, 0 }, { 12, 16, 4, 16, 1, 0 }, { 13, 16, 4, 16, 2, 0 }, { 14, 16, 5, 16, 2, 0 }, - { 15, 16, 5, 16, 2, 0 }, { 16, 16, 6, 16, 2, 0 }, { 17, 16, 6, 16, 2, 0 }, { 18, 16, 7, 16, 2, 0 }, { 19, 16, 8, 16, 2, 0 }, - { 20, 16, 8, 16, 2, 0 }, { 21, 16, 9, 16, 2, 0 }, { 22, 16, 10, 16, 3, 0 }, { 23, 16, 11, 16, 3, 0 }, { 24, 16, 12, 16, 3, 0 }, - { 25, 16, 13, 16, 3, 0 }, { 26, 16, 14, 16, 3, 0 }, { 27, 16, 15, 16, 3, 0 }, { 27, 16, 16, 16, 3, 0 }, { 28, 16, 17, 16, 4, 0 }, - { 29, 16, 18, 16, 4, 0 }, { 29, 16, 19, 16, 4, 0 }, { 30, 16, 20, 16, 4, 0 }, { 30, 16, 21, 16, 4, 0 }, { 31, 16, 22, 16, 4, 0 }, - { 31, 16, 23, 16, 4, 0 }, + 36, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 1, 16, 0, 0 }, + { 5, 16, 1, 16, 1, 0 }, { 6, 16, 1, 16, 1, 0 }, { 7, 16, 2, 16, 1, 0 }, { 8, 16, 2, 16, 1, 0 }, { 9, 16, 2, 16, 1, 0 }, + { 10, 16, 3, 16, 1, 0 }, { 11, 16, 3, 16, 1, 0 }, { 12, 16, 4, 16, 1, 0 }, { 13, 16, 4, 16, 2, 0 }, { 14, 16, 5, 16, 2, 0 }, + { 15, 16, 5, 16, 2, 0 }, { 16, 16, 6, 16, 2, 0 }, { 17, 16, 6, 16, 2, 0 }, { 18, 16, 7, 16, 2, 0 }, { 19, 16, 8, 16, 2, 0 }, + { 20, 16, 8, 16, 2, 0 }, { 21, 16, 9, 16, 2, 0 }, { 22, 16, 10, 16, 3, 0 }, { 23, 16, 11, 16, 3, 0 }, { 24, 16, 12, 16, 3, 0 }, + { 25, 16, 13, 16, 3, 0 }, { 26, 16, 14, 16, 3, 0 }, { 27, 16, 15, 16, 3, 0 }, { 27, 16, 16, 16, 3, 0 }, { 28, 16, 17, 16, 4, 0 }, + { 29, 16, 18, 16, 4, 0 }, { 29, 16, 19, 16, 4, 0 }, { 30, 16, 20, 16, 4, 0 }, { 30, 16, 21, 16, 4, 0 }, { 31, 16, 22, 16, 4, 0 }, + { 31, 16, 23, 16, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C7004 = { - 36, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 1, 24, 0, 0 }, - { 16, 26, 1, 24, 1, 0 }, { 16, 25, 1, 24, 1, 0 }, { 16, 24, 2, 24, 1, 0 }, { 16, 23, 2, 24, 1, 0 }, { 16, 22, 2, 24, 1, 0 }, - { 16, 21, 3, 24, 1, 0 }, { 16, 20, 3, 24, 1, 0 }, { 16, 19, 4, 24, 1, 0 }, { 16, 18, 4, 24, 2, 0 }, { 16, 17, 5, 24, 2, 0 }, - { 16, 16, 5, 24, 2, 0 }, { 16, 15, 6, 24, 2, 0 }, { 16, 14, 6, 24, 2, 0 }, { 16, 13, 7, 24, 2, 0 }, { 16, 12, 8, 24, 2, 0 }, - { 16, 11, 8, 24, 2, 0 }, { 16, 10, 9, 24, 2, 0 }, { 16, 9, 10, 24, 3, 0 }, { 16, 8, 11, 24, 3, 0 }, { 16, 7, 12, 24, 3, 0 }, - { 16, 6, 13, 24, 3, 0 }, { 16, 5, 14, 24, 3, 0 }, { 16, 4, 15, 24, 3, 0 }, { 16, 4, 16, 24, 3, 0 }, { 16, 3, 17, 24, 4, 0 }, - { 16, 2, 18, 24, 4, 0 }, { 16, 2, 19, 24, 4, 0 }, { 16, 1, 20, 24, 4, 0 }, { 16, 1, 21, 24, 4, 0 }, { 16, 0, 22, 24, 4, 0 }, - { 16, 0, 23, 24, 4, 0 }, + 36, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 1, 24, 0, 0 }, + { 16, 26, 1, 24, 1, 0 }, { 16, 25, 1, 24, 1, 0 }, { 16, 24, 2, 24, 1, 0 }, { 16, 23, 2, 24, 1, 0 }, { 16, 22, 2, 24, 1, 0 }, + { 16, 21, 3, 24, 1, 0 }, { 16, 20, 3, 24, 1, 0 }, { 16, 19, 4, 24, 1, 0 }, { 16, 18, 4, 24, 2, 0 }, { 16, 17, 5, 24, 2, 0 }, + { 16, 16, 5, 24, 2, 0 }, { 16, 15, 6, 24, 2, 0 }, { 16, 14, 6, 24, 2, 0 }, { 16, 13, 7, 24, 2, 0 }, { 16, 12, 8, 24, 2, 0 }, + { 16, 11, 8, 24, 2, 0 }, { 16, 10, 9, 24, 2, 0 }, { 16, 9, 10, 24, 3, 0 }, { 16, 8, 11, 24, 3, 0 }, { 16, 7, 12, 24, 3, 0 }, + { 16, 6, 13, 24, 3, 0 }, { 16, 5, 14, 24, 3, 0 }, { 16, 4, 15, 24, 3, 0 }, { 16, 4, 16, 24, 3, 0 }, { 16, 3, 17, 24, 4, 0 }, + { 16, 2, 18, 24, 4, 0 }, { 16, 2, 19, 24, 4, 0 }, { 16, 1, 20, 24, 4, 0 }, { 16, 1, 21, 24, 4, 0 }, { 16, 0, 22, 24, 4, 0 }, + { 16, 0, 23, 24, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C714A = { - 36, { - { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 30, 16, 3, 0, 4, 0 }, { 29, 16, 4, 0, 4, 0 }, - { 29, 16, 5, 0, 4, 0 }, { 28, 16, 6, 0, 4, 0 }, { 27, 16, 7, 0, 3, 0 }, { 27, 16, 8, 0, 3, 0 }, { 26, 16, 9, 0, 3, 0 }, - { 25, 16, 10, 0, 3, 0 }, { 24, 16, 11, 0, 3, 0 }, { 23, 16, 12, 0, 3, 0 }, { 22, 16, 13, 0, 3, 0 }, { 21, 16, 14, 0, 2, 0 }, - { 20, 16, 15, 0, 2, 0 }, { 19, 16, 15, 0, 2, 0 }, { 18, 16, 16, 0, 2, 0 }, { 17, 16, 17, 0, 2, 0 }, { 16, 16, 17, 0, 2, 0 }, - { 15, 16, 18, 0, 2, 0 }, { 14, 16, 18, 0, 2, 0 }, { 13, 16, 19, 0, 2, 0 }, { 12, 16, 19, 0, 1, 0 }, { 11, 16, 20, 0, 1, 0 }, - { 10, 16, 20, 0, 1, 0 }, { 9, 16, 21, 0, 1, 0 }, { 8, 16, 21, 0, 1, 0 }, { 7, 16, 21, 0, 1, 0 }, { 6, 16, 22, 0, 1, 0 }, - { 5, 16, 22, 0, 1, 0 }, { 4, 16, 22, 0, 0, 0 }, { 3, 16, 23, 0, 0, 0 }, { 2, 16, 23, 0, 0, 0 }, { 1, 16, 23, 0, 0, 0 }, - { 0, 16, 23, 0, 0, 0 }, + 36, { + { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 30, 16, 3, 0, 4, 0 }, { 29, 16, 4, 0, 4, 0 }, + { 29, 16, 5, 0, 4, 0 }, { 28, 16, 6, 0, 4, 0 }, { 27, 16, 7, 0, 3, 0 }, { 27, 16, 8, 0, 3, 0 }, { 26, 16, 9, 0, 3, 0 }, + { 25, 16, 10, 0, 3, 0 }, { 24, 16, 11, 0, 3, 0 }, { 23, 16, 12, 0, 3, 0 }, { 22, 16, 13, 0, 3, 0 }, { 21, 16, 14, 0, 2, 0 }, + { 20, 16, 15, 0, 2, 0 }, { 19, 16, 15, 0, 2, 0 }, { 18, 16, 16, 0, 2, 0 }, { 17, 16, 17, 0, 2, 0 }, { 16, 16, 17, 0, 2, 0 }, + { 15, 16, 18, 0, 2, 0 }, { 14, 16, 18, 0, 2, 0 }, { 13, 16, 19, 0, 2, 0 }, { 12, 16, 19, 0, 1, 0 }, { 11, 16, 20, 0, 1, 0 }, + { 10, 16, 20, 0, 1, 0 }, { 9, 16, 21, 0, 1, 0 }, { 8, 16, 21, 0, 1, 0 }, { 7, 16, 21, 0, 1, 0 }, { 6, 16, 22, 0, 1, 0 }, + { 5, 16, 22, 0, 1, 0 }, { 4, 16, 22, 0, 0, 0 }, { 3, 16, 23, 0, 0, 0 }, { 2, 16, 23, 0, 0, 0 }, { 1, 16, 23, 0, 0, 0 }, + { 0, 16, 23, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C7290 = { - 36, { - { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 1, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, - { 16, 2, 5, 8, 4, 0 }, { 16, 3, 6, 8, 4, 0 }, { 16, 4, 7, 8, 3, 0 }, { 16, 4, 8, 8, 3, 0 }, { 16, 5, 9, 8, 3, 0 }, - { 16, 6, 10, 8, 3, 0 }, { 16, 7, 11, 8, 3, 0 }, { 16, 8, 12, 8, 3, 0 }, { 16, 9, 13, 8, 3, 0 }, { 16, 10, 14, 8, 2, 0 }, - { 16, 11, 15, 8, 2, 0 }, { 16, 12, 15, 8, 2, 0 }, { 16, 13, 16, 8, 2, 0 }, { 16, 14, 17, 8, 2, 0 }, { 16, 15, 17, 8, 2, 0 }, - { 16, 16, 18, 8, 2, 0 }, { 16, 17, 18, 8, 2, 0 }, { 16, 18, 19, 8, 2, 0 }, { 16, 19, 19, 8, 1, 0 }, { 16, 20, 20, 8, 1, 0 }, - { 16, 21, 20, 8, 1, 0 }, { 16, 22, 21, 8, 1, 0 }, { 16, 23, 21, 8, 1, 0 }, { 16, 24, 21, 8, 1, 0 }, { 16, 25, 22, 8, 1, 0 }, - { 16, 26, 22, 8, 1, 0 }, { 16, 27, 22, 8, 0, 0 }, { 16, 28, 23, 8, 0, 0 }, { 16, 29, 23, 8, 0, 0 }, { 16, 30, 23, 8, 0, 0 }, - { 16, 31, 23, 8, 0, 0 }, + 36, { + { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 1, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, + { 16, 2, 5, 8, 4, 0 }, { 16, 3, 6, 8, 4, 0 }, { 16, 4, 7, 8, 3, 0 }, { 16, 4, 8, 8, 3, 0 }, { 16, 5, 9, 8, 3, 0 }, + { 16, 6, 10, 8, 3, 0 }, { 16, 7, 11, 8, 3, 0 }, { 16, 8, 12, 8, 3, 0 }, { 16, 9, 13, 8, 3, 0 }, { 16, 10, 14, 8, 2, 0 }, + { 16, 11, 15, 8, 2, 0 }, { 16, 12, 15, 8, 2, 0 }, { 16, 13, 16, 8, 2, 0 }, { 16, 14, 17, 8, 2, 0 }, { 16, 15, 17, 8, 2, 0 }, + { 16, 16, 18, 8, 2, 0 }, { 16, 17, 18, 8, 2, 0 }, { 16, 18, 19, 8, 2, 0 }, { 16, 19, 19, 8, 1, 0 }, { 16, 20, 20, 8, 1, 0 }, + { 16, 21, 20, 8, 1, 0 }, { 16, 22, 21, 8, 1, 0 }, { 16, 23, 21, 8, 1, 0 }, { 16, 24, 21, 8, 1, 0 }, { 16, 25, 22, 8, 1, 0 }, + { 16, 26, 22, 8, 1, 0 }, { 16, 27, 22, 8, 0, 0 }, { 16, 28, 23, 8, 0, 0 }, { 16, 29, 23, 8, 0, 0 }, { 16, 30, 23, 8, 0, 0 }, + { 16, 31, 23, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C73D6 = { - 36, { - { 0, 16, 0, 16, 4, 0 }, { 0, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 1, 16, 3, 16, 4, 0 }, { 2, 16, 4, 16, 4, 0 }, - { 2, 16, 5, 16, 4, 0 }, { 3, 16, 6, 16, 4, 0 }, { 4, 16, 7, 16, 3, 0 }, { 4, 16, 8, 16, 3, 0 }, { 5, 16, 9, 16, 3, 0 }, - { 6, 16, 10, 16, 3, 0 }, { 7, 16, 11, 16, 3, 0 }, { 8, 16, 12, 16, 3, 0 }, { 9, 16, 13, 16, 3, 0 }, { 10, 16, 14, 16, 2, 0 }, - { 11, 16, 15, 16, 2, 0 }, { 12, 16, 15, 16, 2, 0 }, { 13, 16, 16, 16, 2, 0 }, { 14, 16, 17, 16, 2, 0 }, { 15, 16, 17, 16, 2, 0 }, - { 16, 16, 18, 16, 2, 0 }, { 17, 16, 18, 16, 2, 0 }, { 18, 16, 19, 16, 2, 0 }, { 19, 16, 19, 16, 1, 0 }, { 20, 16, 20, 16, 1, 0 }, - { 21, 16, 20, 16, 1, 0 }, { 22, 16, 21, 16, 1, 0 }, { 23, 16, 21, 16, 1, 0 }, { 24, 16, 21, 16, 1, 0 }, { 25, 16, 22, 16, 1, 0 }, - { 26, 16, 22, 16, 1, 0 }, { 27, 16, 22, 16, 0, 0 }, { 28, 16, 23, 16, 0, 0 }, { 29, 16, 23, 16, 0, 0 }, { 30, 16, 23, 16, 0, 0 }, - { 31, 16, 23, 16, 0, 0 }, + 36, { + { 0, 16, 0, 16, 4, 0 }, { 0, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 1, 16, 3, 16, 4, 0 }, { 2, 16, 4, 16, 4, 0 }, + { 2, 16, 5, 16, 4, 0 }, { 3, 16, 6, 16, 4, 0 }, { 4, 16, 7, 16, 3, 0 }, { 4, 16, 8, 16, 3, 0 }, { 5, 16, 9, 16, 3, 0 }, + { 6, 16, 10, 16, 3, 0 }, { 7, 16, 11, 16, 3, 0 }, { 8, 16, 12, 16, 3, 0 }, { 9, 16, 13, 16, 3, 0 }, { 10, 16, 14, 16, 2, 0 }, + { 11, 16, 15, 16, 2, 0 }, { 12, 16, 15, 16, 2, 0 }, { 13, 16, 16, 16, 2, 0 }, { 14, 16, 17, 16, 2, 0 }, { 15, 16, 17, 16, 2, 0 }, + { 16, 16, 18, 16, 2, 0 }, { 17, 16, 18, 16, 2, 0 }, { 18, 16, 19, 16, 2, 0 }, { 19, 16, 19, 16, 1, 0 }, { 20, 16, 20, 16, 1, 0 }, + { 21, 16, 20, 16, 1, 0 }, { 22, 16, 21, 16, 1, 0 }, { 23, 16, 21, 16, 1, 0 }, { 24, 16, 21, 16, 1, 0 }, { 25, 16, 22, 16, 1, 0 }, + { 26, 16, 22, 16, 1, 0 }, { 27, 16, 22, 16, 0, 0 }, { 28, 16, 23, 16, 0, 0 }, { 29, 16, 23, 16, 0, 0 }, { 30, 16, 23, 16, 0, 0 }, + { 31, 16, 23, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C751C = { - 36, { - { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 30, 3, 24, 4, 0 }, { 16, 29, 4, 24, 4, 0 }, - { 16, 29, 5, 24, 4, 0 }, { 16, 28, 6, 24, 4, 0 }, { 16, 27, 7, 24, 3, 0 }, { 16, 27, 8, 24, 3, 0 }, { 16, 26, 9, 24, 3, 0 }, - { 16, 25, 10, 24, 3, 0 }, { 16, 24, 11, 24, 3, 0 }, { 16, 23, 12, 24, 3, 0 }, { 16, 22, 13, 24, 3, 0 }, { 16, 21, 14, 24, 2, 0 }, - { 16, 20, 15, 24, 2, 0 }, { 16, 19, 15, 24, 2, 0 }, { 16, 18, 16, 24, 2, 0 }, { 16, 17, 17, 24, 2, 0 }, { 16, 16, 17, 24, 2, 0 }, - { 16, 15, 18, 24, 2, 0 }, { 16, 14, 18, 24, 2, 0 }, { 16, 13, 19, 24, 2, 0 }, { 16, 12, 19, 24, 1, 0 }, { 16, 11, 20, 24, 1, 0 }, - { 16, 10, 20, 24, 1, 0 }, { 16, 9, 21, 24, 1, 0 }, { 16, 8, 21, 24, 1, 0 }, { 16, 7, 21, 24, 1, 0 }, { 16, 6, 22, 24, 1, 0 }, - { 16, 5, 22, 24, 1, 0 }, { 16, 4, 22, 24, 0, 0 }, { 16, 3, 23, 24, 0, 0 }, { 16, 2, 23, 24, 0, 0 }, { 16, 1, 23, 24, 0, 0 }, - { 16, 0, 23, 24, 0, 0 }, + 36, { + { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 30, 3, 24, 4, 0 }, { 16, 29, 4, 24, 4, 0 }, + { 16, 29, 5, 24, 4, 0 }, { 16, 28, 6, 24, 4, 0 }, { 16, 27, 7, 24, 3, 0 }, { 16, 27, 8, 24, 3, 0 }, { 16, 26, 9, 24, 3, 0 }, + { 16, 25, 10, 24, 3, 0 }, { 16, 24, 11, 24, 3, 0 }, { 16, 23, 12, 24, 3, 0 }, { 16, 22, 13, 24, 3, 0 }, { 16, 21, 14, 24, 2, 0 }, + { 16, 20, 15, 24, 2, 0 }, { 16, 19, 15, 24, 2, 0 }, { 16, 18, 16, 24, 2, 0 }, { 16, 17, 17, 24, 2, 0 }, { 16, 16, 17, 24, 2, 0 }, + { 16, 15, 18, 24, 2, 0 }, { 16, 14, 18, 24, 2, 0 }, { 16, 13, 19, 24, 2, 0 }, { 16, 12, 19, 24, 1, 0 }, { 16, 11, 20, 24, 1, 0 }, + { 16, 10, 20, 24, 1, 0 }, { 16, 9, 21, 24, 1, 0 }, { 16, 8, 21, 24, 1, 0 }, { 16, 7, 21, 24, 1, 0 }, { 16, 6, 22, 24, 1, 0 }, + { 16, 5, 22, 24, 1, 0 }, { 16, 4, 22, 24, 0, 0 }, { 16, 3, 23, 24, 0, 0 }, { 16, 2, 23, 24, 0, 0 }, { 16, 1, 23, 24, 0, 0 }, + { 16, 0, 23, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C7662 = { - 36, { - { 31, 16, 23, 0, 0, 0 }, { 30, 16, 23, 0, 0, 0 }, { 29, 16, 23, 0, 0, 0 }, { 28, 16, 23, 0, 0, 0 }, { 27, 16, 22, 0, 0, 0 }, - { 26, 16, 22, 0, 5, 0 }, { 25, 16, 22, 0, 5, 0 }, { 24, 16, 21, 0, 5, 0 }, { 23, 16, 21, 0, 5, 0 }, { 22, 16, 21, 0, 5, 0 }, - { 21, 16, 20, 0, 5, 0 }, { 20, 16, 20, 0, 5, 0 }, { 19, 16, 19, 0, 5, 0 }, { 18, 16, 19, 0, 6, 0 }, { 17, 16, 18, 0, 6, 0 }, - { 16, 16, 18, 0, 6, 0 }, { 15, 16, 17, 0, 6, 0 }, { 14, 16, 17, 0, 6, 0 }, { 13, 16, 16, 0, 6, 0 }, { 12, 16, 15, 0, 6, 0 }, - { 11, 16, 15, 0, 6, 0 }, { 10, 16, 14, 0, 6, 0 }, { 9, 16, 13, 0, 7, 0 }, { 8, 16, 12, 0, 7, 0 }, { 7, 16, 11, 0, 7, 0 }, - { 6, 16, 10, 0, 7, 0 }, { 5, 16, 9, 0, 7, 0 }, { 4, 16, 8, 0, 7, 0 }, { 4, 16, 7, 0, 7, 0 }, { 3, 16, 6, 0, 8, 0 }, - { 2, 16, 5, 0, 8, 0 }, { 2, 16, 4, 0, 8, 0 }, { 1, 16, 3, 0, 8, 0 }, { 1, 16, 2, 0, 8, 0 }, { 0, 16, 1, 0, 8, 0 }, - { 0, 16, 0, 0, 8, 0 }, + 36, { + { 31, 16, 23, 0, 0, 0 }, { 30, 16, 23, 0, 0, 0 }, { 29, 16, 23, 0, 0, 0 }, { 28, 16, 23, 0, 0, 0 }, { 27, 16, 22, 0, 0, 0 }, + { 26, 16, 22, 0, 5, 0 }, { 25, 16, 22, 0, 5, 0 }, { 24, 16, 21, 0, 5, 0 }, { 23, 16, 21, 0, 5, 0 }, { 22, 16, 21, 0, 5, 0 }, + { 21, 16, 20, 0, 5, 0 }, { 20, 16, 20, 0, 5, 0 }, { 19, 16, 19, 0, 5, 0 }, { 18, 16, 19, 0, 6, 0 }, { 17, 16, 18, 0, 6, 0 }, + { 16, 16, 18, 0, 6, 0 }, { 15, 16, 17, 0, 6, 0 }, { 14, 16, 17, 0, 6, 0 }, { 13, 16, 16, 0, 6, 0 }, { 12, 16, 15, 0, 6, 0 }, + { 11, 16, 15, 0, 6, 0 }, { 10, 16, 14, 0, 6, 0 }, { 9, 16, 13, 0, 7, 0 }, { 8, 16, 12, 0, 7, 0 }, { 7, 16, 11, 0, 7, 0 }, + { 6, 16, 10, 0, 7, 0 }, { 5, 16, 9, 0, 7, 0 }, { 4, 16, 8, 0, 7, 0 }, { 4, 16, 7, 0, 7, 0 }, { 3, 16, 6, 0, 8, 0 }, + { 2, 16, 5, 0, 8, 0 }, { 2, 16, 4, 0, 8, 0 }, { 1, 16, 3, 0, 8, 0 }, { 1, 16, 2, 0, 8, 0 }, { 0, 16, 1, 0, 8, 0 }, + { 0, 16, 0, 0, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C77A8 = { - 36, { - { 16, 0, 23, 8, 0, 0 }, { 16, 1, 23, 8, 0, 0 }, { 16, 2, 23, 8, 0, 0 }, { 16, 3, 23, 8, 0, 0 }, { 16, 4, 22, 8, 0, 0 }, - { 16, 5, 22, 8, 5, 0 }, { 16, 6, 22, 8, 5, 0 }, { 16, 7, 21, 8, 5, 0 }, { 16, 8, 21, 8, 5, 0 }, { 16, 9, 21, 8, 5, 0 }, - { 16, 10, 20, 8, 5, 0 }, { 16, 11, 20, 8, 5, 0 }, { 16, 12, 19, 8, 5, 0 }, { 16, 13, 19, 8, 6, 0 }, { 16, 14, 18, 8, 6, 0 }, - { 16, 15, 18, 8, 6, 0 }, { 16, 16, 17, 8, 6, 0 }, { 16, 17, 17, 8, 6, 0 }, { 16, 18, 16, 8, 6, 0 }, { 16, 19, 15, 8, 6, 0 }, - { 16, 20, 15, 8, 6, 0 }, { 16, 21, 14, 8, 6, 0 }, { 16, 22, 13, 8, 7, 0 }, { 16, 23, 12, 8, 7, 0 }, { 16, 24, 11, 8, 7, 0 }, - { 16, 25, 10, 8, 7, 0 }, { 16, 26, 9, 8, 7, 0 }, { 16, 27, 8, 8, 7, 0 }, { 16, 27, 7, 8, 7, 0 }, { 16, 28, 6, 8, 8, 0 }, - { 16, 29, 5, 8, 8, 0 }, { 16, 29, 4, 8, 8, 0 }, { 16, 30, 3, 8, 8, 0 }, { 16, 30, 2, 8, 8, 0 }, { 16, 31, 1, 8, 8, 0 }, - { 16, 31, 0, 8, 8, 0 }, + 36, { + { 16, 0, 23, 8, 0, 0 }, { 16, 1, 23, 8, 0, 0 }, { 16, 2, 23, 8, 0, 0 }, { 16, 3, 23, 8, 0, 0 }, { 16, 4, 22, 8, 0, 0 }, + { 16, 5, 22, 8, 5, 0 }, { 16, 6, 22, 8, 5, 0 }, { 16, 7, 21, 8, 5, 0 }, { 16, 8, 21, 8, 5, 0 }, { 16, 9, 21, 8, 5, 0 }, + { 16, 10, 20, 8, 5, 0 }, { 16, 11, 20, 8, 5, 0 }, { 16, 12, 19, 8, 5, 0 }, { 16, 13, 19, 8, 6, 0 }, { 16, 14, 18, 8, 6, 0 }, + { 16, 15, 18, 8, 6, 0 }, { 16, 16, 17, 8, 6, 0 }, { 16, 17, 17, 8, 6, 0 }, { 16, 18, 16, 8, 6, 0 }, { 16, 19, 15, 8, 6, 0 }, + { 16, 20, 15, 8, 6, 0 }, { 16, 21, 14, 8, 6, 0 }, { 16, 22, 13, 8, 7, 0 }, { 16, 23, 12, 8, 7, 0 }, { 16, 24, 11, 8, 7, 0 }, + { 16, 25, 10, 8, 7, 0 }, { 16, 26, 9, 8, 7, 0 }, { 16, 27, 8, 8, 7, 0 }, { 16, 27, 7, 8, 7, 0 }, { 16, 28, 6, 8, 8, 0 }, + { 16, 29, 5, 8, 8, 0 }, { 16, 29, 4, 8, 8, 0 }, { 16, 30, 3, 8, 8, 0 }, { 16, 30, 2, 8, 8, 0 }, { 16, 31, 1, 8, 8, 0 }, + { 16, 31, 0, 8, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C78EE = { - 36, { - { 0, 16, 23, 16, 0, 0 }, { 1, 16, 23, 16, 0, 0 }, { 2, 16, 23, 16, 0, 0 }, { 3, 16, 23, 16, 0, 0 }, { 4, 16, 22, 16, 0, 0 }, - { 5, 16, 22, 16, 5, 0 }, { 6, 16, 22, 16, 5, 0 }, { 7, 16, 21, 16, 5, 0 }, { 8, 16, 21, 16, 5, 0 }, { 9, 16, 21, 16, 5, 0 }, - { 10, 16, 20, 16, 5, 0 }, { 11, 16, 20, 16, 5, 0 }, { 12, 16, 19, 16, 5, 0 }, { 13, 16, 19, 16, 6, 0 }, { 14, 16, 18, 16, 6, 0 }, - { 15, 16, 18, 16, 6, 0 }, { 16, 16, 17, 16, 6, 0 }, { 17, 16, 17, 16, 6, 0 }, { 18, 16, 16, 16, 6, 0 }, { 19, 16, 15, 16, 6, 0 }, - { 20, 16, 15, 16, 6, 0 }, { 21, 16, 14, 16, 6, 0 }, { 22, 16, 13, 16, 7, 0 }, { 23, 16, 12, 16, 7, 0 }, { 24, 16, 11, 16, 7, 0 }, - { 25, 16, 10, 16, 7, 0 }, { 26, 16, 9, 16, 7, 0 }, { 27, 16, 8, 16, 7, 0 }, { 27, 16, 7, 16, 7, 0 }, { 28, 16, 6, 16, 8, 0 }, - { 29, 16, 5, 16, 8, 0 }, { 29, 16, 4, 16, 8, 0 }, { 30, 16, 3, 16, 8, 0 }, { 30, 16, 2, 16, 8, 0 }, { 31, 16, 1, 16, 8, 0 }, - { 31, 16, 0, 16, 8, 0 }, + 36, { + { 0, 16, 23, 16, 0, 0 }, { 1, 16, 23, 16, 0, 0 }, { 2, 16, 23, 16, 0, 0 }, { 3, 16, 23, 16, 0, 0 }, { 4, 16, 22, 16, 0, 0 }, + { 5, 16, 22, 16, 5, 0 }, { 6, 16, 22, 16, 5, 0 }, { 7, 16, 21, 16, 5, 0 }, { 8, 16, 21, 16, 5, 0 }, { 9, 16, 21, 16, 5, 0 }, + { 10, 16, 20, 16, 5, 0 }, { 11, 16, 20, 16, 5, 0 }, { 12, 16, 19, 16, 5, 0 }, { 13, 16, 19, 16, 6, 0 }, { 14, 16, 18, 16, 6, 0 }, + { 15, 16, 18, 16, 6, 0 }, { 16, 16, 17, 16, 6, 0 }, { 17, 16, 17, 16, 6, 0 }, { 18, 16, 16, 16, 6, 0 }, { 19, 16, 15, 16, 6, 0 }, + { 20, 16, 15, 16, 6, 0 }, { 21, 16, 14, 16, 6, 0 }, { 22, 16, 13, 16, 7, 0 }, { 23, 16, 12, 16, 7, 0 }, { 24, 16, 11, 16, 7, 0 }, + { 25, 16, 10, 16, 7, 0 }, { 26, 16, 9, 16, 7, 0 }, { 27, 16, 8, 16, 7, 0 }, { 27, 16, 7, 16, 7, 0 }, { 28, 16, 6, 16, 8, 0 }, + { 29, 16, 5, 16, 8, 0 }, { 29, 16, 4, 16, 8, 0 }, { 30, 16, 3, 16, 8, 0 }, { 30, 16, 2, 16, 8, 0 }, { 31, 16, 1, 16, 8, 0 }, + { 31, 16, 0, 16, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C7A34 = { - 36, { - { 16, 31, 23, 24, 0, 0 }, { 16, 30, 23, 24, 0, 0 }, { 16, 29, 23, 24, 0, 0 }, { 16, 28, 23, 24, 0, 0 }, { 16, 27, 22, 24, 0, 0 }, - { 16, 26, 22, 24, 5, 0 }, { 16, 25, 22, 24, 5, 0 }, { 16, 24, 21, 24, 5, 0 }, { 16, 23, 21, 24, 5, 0 }, { 16, 22, 21, 24, 5, 0 }, - { 16, 21, 20, 24, 5, 0 }, { 16, 20, 20, 24, 5, 0 }, { 16, 19, 19, 24, 5, 0 }, { 16, 18, 19, 24, 6, 0 }, { 16, 17, 18, 24, 6, 0 }, - { 16, 16, 18, 24, 6, 0 }, { 16, 15, 17, 24, 6, 0 }, { 16, 14, 17, 24, 6, 0 }, { 16, 13, 16, 24, 6, 0 }, { 16, 12, 15, 24, 6, 0 }, - { 16, 11, 15, 24, 6, 0 }, { 16, 10, 14, 24, 6, 0 }, { 16, 9, 13, 24, 7, 0 }, { 16, 8, 12, 24, 7, 0 }, { 16, 7, 11, 24, 7, 0 }, - { 16, 6, 10, 24, 7, 0 }, { 16, 5, 9, 24, 7, 0 }, { 16, 4, 8, 24, 7, 0 }, { 16, 4, 7, 24, 7, 0 }, { 16, 3, 6, 24, 8, 0 }, - { 16, 2, 5, 24, 8, 0 }, { 16, 2, 4, 24, 8, 0 }, { 16, 1, 3, 24, 8, 0 }, { 16, 1, 2, 24, 8, 0 }, { 16, 0, 1, 24, 8, 0 }, - { 16, 0, 0, 24, 8, 0 }, + 36, { + { 16, 31, 23, 24, 0, 0 }, { 16, 30, 23, 24, 0, 0 }, { 16, 29, 23, 24, 0, 0 }, { 16, 28, 23, 24, 0, 0 }, { 16, 27, 22, 24, 0, 0 }, + { 16, 26, 22, 24, 5, 0 }, { 16, 25, 22, 24, 5, 0 }, { 16, 24, 21, 24, 5, 0 }, { 16, 23, 21, 24, 5, 0 }, { 16, 22, 21, 24, 5, 0 }, + { 16, 21, 20, 24, 5, 0 }, { 16, 20, 20, 24, 5, 0 }, { 16, 19, 19, 24, 5, 0 }, { 16, 18, 19, 24, 6, 0 }, { 16, 17, 18, 24, 6, 0 }, + { 16, 16, 18, 24, 6, 0 }, { 16, 15, 17, 24, 6, 0 }, { 16, 14, 17, 24, 6, 0 }, { 16, 13, 16, 24, 6, 0 }, { 16, 12, 15, 24, 6, 0 }, + { 16, 11, 15, 24, 6, 0 }, { 16, 10, 14, 24, 6, 0 }, { 16, 9, 13, 24, 7, 0 }, { 16, 8, 12, 24, 7, 0 }, { 16, 7, 11, 24, 7, 0 }, + { 16, 6, 10, 24, 7, 0 }, { 16, 5, 9, 24, 7, 0 }, { 16, 4, 8, 24, 7, 0 }, { 16, 4, 7, 24, 7, 0 }, { 16, 3, 6, 24, 8, 0 }, + { 16, 2, 5, 24, 8, 0 }, { 16, 2, 4, 24, 8, 0 }, { 16, 1, 3, 24, 8, 0 }, { 16, 1, 2, 24, 8, 0 }, { 16, 0, 1, 24, 8, 0 }, + { 16, 0, 0, 24, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C7B7A = { - 36, { - { 31, 16, 23, 0, 8, 0 }, { 31, 16, 22, 0, 8, 0 }, { 30, 16, 21, 0, 8, 0 }, { 30, 16, 20, 0, 8, 0 }, { 29, 16, 19, 0, 8, 0 }, - { 29, 16, 18, 0, 8, 0 }, { 28, 16, 17, 0, 8, 0 }, { 27, 16, 16, 0, 7, 0 }, { 27, 16, 15, 0, 7, 0 }, { 26, 16, 14, 0, 7, 0 }, - { 25, 16, 13, 0, 7, 0 }, { 24, 16, 12, 0, 7, 0 }, { 23, 16, 11, 0, 7, 0 }, { 22, 16, 10, 0, 7, 0 }, { 21, 16, 9, 0, 6, 0 }, - { 20, 16, 8, 0, 6, 0 }, { 19, 16, 8, 0, 6, 0 }, { 18, 16, 7, 0, 6, 0 }, { 17, 16, 6, 0, 6, 0 }, { 16, 16, 6, 0, 6, 0 }, - { 15, 16, 5, 0, 6, 0 }, { 14, 16, 5, 0, 6, 0 }, { 13, 16, 4, 0, 6, 0 }, { 12, 16, 4, 0, 5, 0 }, { 11, 16, 3, 0, 5, 0 }, - { 10, 16, 3, 0, 5, 0 }, { 9, 16, 2, 0, 5, 0 }, { 8, 16, 2, 0, 5, 0 }, { 7, 16, 2, 0, 5, 0 }, { 6, 16, 1, 0, 5, 0 }, - { 5, 16, 1, 0, 5, 0 }, { 4, 16, 1, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, - { 0, 16, 0, 0, 0, 0 }, + 36, { + { 31, 16, 23, 0, 8, 0 }, { 31, 16, 22, 0, 8, 0 }, { 30, 16, 21, 0, 8, 0 }, { 30, 16, 20, 0, 8, 0 }, { 29, 16, 19, 0, 8, 0 }, + { 29, 16, 18, 0, 8, 0 }, { 28, 16, 17, 0, 8, 0 }, { 27, 16, 16, 0, 7, 0 }, { 27, 16, 15, 0, 7, 0 }, { 26, 16, 14, 0, 7, 0 }, + { 25, 16, 13, 0, 7, 0 }, { 24, 16, 12, 0, 7, 0 }, { 23, 16, 11, 0, 7, 0 }, { 22, 16, 10, 0, 7, 0 }, { 21, 16, 9, 0, 6, 0 }, + { 20, 16, 8, 0, 6, 0 }, { 19, 16, 8, 0, 6, 0 }, { 18, 16, 7, 0, 6, 0 }, { 17, 16, 6, 0, 6, 0 }, { 16, 16, 6, 0, 6, 0 }, + { 15, 16, 5, 0, 6, 0 }, { 14, 16, 5, 0, 6, 0 }, { 13, 16, 4, 0, 6, 0 }, { 12, 16, 4, 0, 5, 0 }, { 11, 16, 3, 0, 5, 0 }, + { 10, 16, 3, 0, 5, 0 }, { 9, 16, 2, 0, 5, 0 }, { 8, 16, 2, 0, 5, 0 }, { 7, 16, 2, 0, 5, 0 }, { 6, 16, 1, 0, 5, 0 }, + { 5, 16, 1, 0, 5, 0 }, { 4, 16, 1, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, + { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C7CC0 = { - 36, { - { 16, 0, 23, 8, 8, 0 }, { 16, 0, 22, 8, 8, 0 }, { 16, 1, 21, 8, 8, 0 }, { 16, 1, 20, 8, 8, 0 }, { 16, 2, 19, 8, 8, 0 }, - { 16, 2, 18, 8, 8, 0 }, { 16, 3, 17, 8, 8, 0 }, { 16, 4, 16, 8, 7, 0 }, { 16, 4, 15, 8, 7, 0 }, { 16, 5, 14, 8, 7, 0 }, - { 16, 6, 13, 8, 7, 0 }, { 16, 7, 12, 8, 7, 0 }, { 16, 8, 11, 8, 7, 0 }, { 16, 9, 10, 8, 7, 0 }, { 16, 10, 9, 8, 6, 0 }, - { 16, 11, 8, 8, 6, 0 }, { 16, 12, 8, 8, 6, 0 }, { 16, 13, 7, 8, 6, 0 }, { 16, 14, 6, 8, 6, 0 }, { 16, 15, 6, 8, 6, 0 }, - { 16, 16, 5, 8, 6, 0 }, { 16, 17, 5, 8, 6, 0 }, { 16, 18, 4, 8, 6, 0 }, { 16, 19, 4, 8, 5, 0 }, { 16, 20, 3, 8, 5, 0 }, - { 16, 21, 3, 8, 5, 0 }, { 16, 22, 2, 8, 5, 0 }, { 16, 23, 2, 8, 5, 0 }, { 16, 24, 2, 8, 5, 0 }, { 16, 25, 1, 8, 5, 0 }, - { 16, 26, 1, 8, 5, 0 }, { 16, 27, 1, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, - { 16, 31, 0, 8, 0, 0 }, + 36, { + { 16, 0, 23, 8, 8, 0 }, { 16, 0, 22, 8, 8, 0 }, { 16, 1, 21, 8, 8, 0 }, { 16, 1, 20, 8, 8, 0 }, { 16, 2, 19, 8, 8, 0 }, + { 16, 2, 18, 8, 8, 0 }, { 16, 3, 17, 8, 8, 0 }, { 16, 4, 16, 8, 7, 0 }, { 16, 4, 15, 8, 7, 0 }, { 16, 5, 14, 8, 7, 0 }, + { 16, 6, 13, 8, 7, 0 }, { 16, 7, 12, 8, 7, 0 }, { 16, 8, 11, 8, 7, 0 }, { 16, 9, 10, 8, 7, 0 }, { 16, 10, 9, 8, 6, 0 }, + { 16, 11, 8, 8, 6, 0 }, { 16, 12, 8, 8, 6, 0 }, { 16, 13, 7, 8, 6, 0 }, { 16, 14, 6, 8, 6, 0 }, { 16, 15, 6, 8, 6, 0 }, + { 16, 16, 5, 8, 6, 0 }, { 16, 17, 5, 8, 6, 0 }, { 16, 18, 4, 8, 6, 0 }, { 16, 19, 4, 8, 5, 0 }, { 16, 20, 3, 8, 5, 0 }, + { 16, 21, 3, 8, 5, 0 }, { 16, 22, 2, 8, 5, 0 }, { 16, 23, 2, 8, 5, 0 }, { 16, 24, 2, 8, 5, 0 }, { 16, 25, 1, 8, 5, 0 }, + { 16, 26, 1, 8, 5, 0 }, { 16, 27, 1, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, + { 16, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C7E06 = { - 36, { - { 0, 16, 23, 16, 8, 0 }, { 0, 16, 22, 16, 8, 0 }, { 1, 16, 21, 16, 8, 0 }, { 1, 16, 20, 16, 8, 0 }, { 2, 16, 19, 16, 8, 0 }, - { 2, 16, 18, 16, 8, 0 }, { 3, 16, 17, 16, 8, 0 }, { 4, 16, 16, 16, 7, 0 }, { 4, 16, 15, 16, 7, 0 }, { 5, 16, 14, 16, 7, 0 }, - { 6, 16, 13, 16, 7, 0 }, { 7, 16, 12, 16, 7, 0 }, { 8, 16, 11, 16, 7, 0 }, { 9, 16, 10, 16, 7, 0 }, { 10, 16, 9, 16, 6, 0 }, - { 11, 16, 8, 16, 6, 0 }, { 12, 16, 8, 16, 6, 0 }, { 13, 16, 7, 16, 6, 0 }, { 14, 16, 6, 16, 6, 0 }, { 15, 16, 6, 16, 6, 0 }, - { 16, 16, 5, 16, 6, 0 }, { 17, 16, 5, 16, 6, 0 }, { 18, 16, 4, 16, 6, 0 }, { 19, 16, 4, 16, 5, 0 }, { 20, 16, 3, 16, 5, 0 }, - { 21, 16, 3, 16, 5, 0 }, { 22, 16, 2, 16, 5, 0 }, { 23, 16, 2, 16, 5, 0 }, { 24, 16, 2, 16, 5, 0 }, { 25, 16, 1, 16, 5, 0 }, - { 26, 16, 1, 16, 5, 0 }, { 27, 16, 1, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, - { 31, 16, 0, 16, 0, 0 }, + 36, { + { 0, 16, 23, 16, 8, 0 }, { 0, 16, 22, 16, 8, 0 }, { 1, 16, 21, 16, 8, 0 }, { 1, 16, 20, 16, 8, 0 }, { 2, 16, 19, 16, 8, 0 }, + { 2, 16, 18, 16, 8, 0 }, { 3, 16, 17, 16, 8, 0 }, { 4, 16, 16, 16, 7, 0 }, { 4, 16, 15, 16, 7, 0 }, { 5, 16, 14, 16, 7, 0 }, + { 6, 16, 13, 16, 7, 0 }, { 7, 16, 12, 16, 7, 0 }, { 8, 16, 11, 16, 7, 0 }, { 9, 16, 10, 16, 7, 0 }, { 10, 16, 9, 16, 6, 0 }, + { 11, 16, 8, 16, 6, 0 }, { 12, 16, 8, 16, 6, 0 }, { 13, 16, 7, 16, 6, 0 }, { 14, 16, 6, 16, 6, 0 }, { 15, 16, 6, 16, 6, 0 }, + { 16, 16, 5, 16, 6, 0 }, { 17, 16, 5, 16, 6, 0 }, { 18, 16, 4, 16, 6, 0 }, { 19, 16, 4, 16, 5, 0 }, { 20, 16, 3, 16, 5, 0 }, + { 21, 16, 3, 16, 5, 0 }, { 22, 16, 2, 16, 5, 0 }, { 23, 16, 2, 16, 5, 0 }, { 24, 16, 2, 16, 5, 0 }, { 25, 16, 1, 16, 5, 0 }, + { 26, 16, 1, 16, 5, 0 }, { 27, 16, 1, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, + { 31, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8C7F4C = { - 36, { - { 16, 31, 23, 24, 8, 0 }, { 16, 31, 22, 24, 8, 0 }, { 16, 30, 21, 24, 8, 0 }, { 16, 30, 20, 24, 8, 0 }, { 16, 29, 19, 24, 8, 0 }, - { 16, 29, 18, 24, 8, 0 }, { 16, 28, 17, 24, 8, 0 }, { 16, 27, 16, 24, 7, 0 }, { 16, 27, 15, 24, 7, 0 }, { 16, 26, 14, 24, 7, 0 }, - { 16, 25, 13, 24, 7, 0 }, { 16, 24, 12, 24, 7, 0 }, { 16, 23, 11, 24, 7, 0 }, { 16, 22, 10, 24, 7, 0 }, { 16, 21, 9, 24, 6, 0 }, - { 16, 20, 8, 24, 6, 0 }, { 16, 19, 8, 24, 6, 0 }, { 16, 18, 7, 24, 6, 0 }, { 16, 17, 6, 24, 6, 0 }, { 16, 16, 6, 24, 6, 0 }, - { 16, 15, 5, 24, 6, 0 }, { 16, 14, 5, 24, 6, 0 }, { 16, 13, 4, 24, 6, 0 }, { 16, 12, 4, 24, 5, 0 }, { 16, 11, 3, 24, 5, 0 }, - { 16, 10, 3, 24, 5, 0 }, { 16, 9, 2, 24, 5, 0 }, { 16, 8, 2, 24, 5, 0 }, { 16, 7, 2, 24, 5, 0 }, { 16, 6, 1, 24, 5, 0 }, - { 16, 5, 1, 24, 5, 0 }, { 16, 4, 1, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, - { 16, 0, 0, 24, 0, 0 }, + 36, { + { 16, 31, 23, 24, 8, 0 }, { 16, 31, 22, 24, 8, 0 }, { 16, 30, 21, 24, 8, 0 }, { 16, 30, 20, 24, 8, 0 }, { 16, 29, 19, 24, 8, 0 }, + { 16, 29, 18, 24, 8, 0 }, { 16, 28, 17, 24, 8, 0 }, { 16, 27, 16, 24, 7, 0 }, { 16, 27, 15, 24, 7, 0 }, { 16, 26, 14, 24, 7, 0 }, + { 16, 25, 13, 24, 7, 0 }, { 16, 24, 12, 24, 7, 0 }, { 16, 23, 11, 24, 7, 0 }, { 16, 22, 10, 24, 7, 0 }, { 16, 21, 9, 24, 6, 0 }, + { 16, 20, 8, 24, 6, 0 }, { 16, 19, 8, 24, 6, 0 }, { 16, 18, 7, 24, 6, 0 }, { 16, 17, 6, 24, 6, 0 }, { 16, 16, 6, 24, 6, 0 }, + { 16, 15, 5, 24, 6, 0 }, { 16, 14, 5, 24, 6, 0 }, { 16, 13, 4, 24, 6, 0 }, { 16, 12, 4, 24, 5, 0 }, { 16, 11, 3, 24, 5, 0 }, + { 16, 10, 3, 24, 5, 0 }, { 16, 9, 2, 24, 5, 0 }, { 16, 8, 2, 24, 5, 0 }, { 16, 7, 2, 24, 5, 0 }, { 16, 6, 1, 24, 5, 0 }, + { 16, 5, 1, 24, 5, 0 }, { 16, 4, 1, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, + { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EFA5A = { - 94, { - { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 0, 10, 0 }, - { 16, 16, 7, 0, 10, 0 }, { 16, 16, 8, 0, 10, 0 }, { 16, 16, 9, 0, 10, 0 }, { 16, 16, 10, 0, 10, 0 }, { 16, 16, 11, 0, 10, 0 }, - { 16, 16, 12, 0, 10, 0 }, { 16, 16, 13, 0, 10, 0 }, { 16, 16, 14, 0, 10, 0 }, { 16, 16, 15, 0, 10, 0 }, { 16, 16, 16, 0, 10, 0 }, - { 16, 16, 17, 0, 10, 0 }, { 16, 16, 18, 0, 10, 0 }, { 16, 16, 19, 0, 10, 0 }, { 16, 16, 20, 0, 10, 0 }, { 16, 16, 21, 0, 10, 0 }, - { 16, 16, 22, 0, 10, 0 }, { 16, 16, 23, 0, 10, 0 }, { 16, 16, 24, 0, 10, 0 }, { 16, 16, 25, 0, 10, 0 }, { 16, 16, 26, 0, 10, 0 }, - { 16, 16, 27, 0, 10, 0 }, { 16, 16, 28, 0, 10, 0 }, { 16, 16, 29, 0, 10, 0 }, { 16, 16, 30, 0, 10, 0 }, { 16, 16, 31, 0, 10, 0 }, - { 16, 16, 32, 0, 10, 0 }, { 16, 16, 33, 0, 10, 0 }, { 16, 16, 34, 0, 10, 0 }, { 16, 16, 35, 0, 10, 0 }, { 16, 16, 36, 0, 10, 0 }, - { 16, 16, 37, 0, 10, 0 }, { 16, 16, 38, 0, 10, 0 }, { 16, 16, 39, 0, 10, 0 }, { 16, 16, 40, 0, 10, 0 }, { 16, 16, 41, 0, 10, 0 }, - { 16, 16, 42, 0, 10, 0 }, { 16, 16, 43, 0, 10, 0 }, { 16, 16, 44, 0, 10, 0 }, { 16, 16, 45, 0, 10, 0 }, { 16, 16, 46, 0, 10, 0 }, - { 16, 16, 47, 0, 10, 0 }, { 16, 16, 48, 0, 10, 0 }, { 16, 16, 49, 0, 10, 0 }, { 16, 16, 50, 0, 10, 0 }, { 16, 16, 51, 0, 10, 0 }, - { 16, 16, 52, 0, 10, 0 }, { 16, 16, 53, 0, 10, 0 }, { 16, 16, 54, 0, 10, 0 }, { 16, 16, 55, 0, 10, 0 }, { 16, 16, 56, 0, 10, 0 }, - { 16, 16, 57, 0, 10, 0 }, { 16, 16, 58, 0, 10, 0 }, { 16, 16, 59, 0, 10, 0 }, { 16, 16, 60, 0, 10, 0 }, { 16, 16, 61, 0, 10, 0 }, - { 16, 16, 62, 0, 10, 0 }, { 16, 16, 63, 0, 10, 0 }, { 16, 16, 64, 0, 10, 0 }, { 16, 16, 65, 0, 10, 0 }, { 16, 16, 66, 0, 10, 0 }, - { 16, 16, 67, 0, 10, 0 }, { 16, 16, 68, 0, 10, 0 }, { 16, 16, 69, 0, 10, 0 }, { 16, 16, 70, 0, 10, 0 }, { 16, 16, 71, 0, 10, 0 }, - { 16, 16, 72, 0, 10, 0 }, { 16, 16, 73, 0, 10, 0 }, { 16, 16, 74, 0, 10, 0 }, { 16, 16, 75, 0, 10, 0 }, { 16, 16, 76, 0, 10, 0 }, - { 16, 16, 77, 0, 10, 0 }, { 16, 16, 78, 0, 10, 0 }, { 16, 16, 79, 0, 10, 0 }, { 16, 16, 80, 0, 10, 0 }, { 16, 16, 81, 0, 10, 0 }, - { 16, 16, 82, 0, 10, 0 }, { 16, 16, 83, 0, 10, 0 }, { 16, 16, 84, 0, 10, 0 }, { 16, 16, 85, 0, 10, 0 }, { 16, 16, 86, 0, 10, 0 }, - { 16, 16, 87, 0, 10, 0 }, { 16, 16, 88, 0, 10, 0 }, { 16, 16, 89, 0, 10, 0 }, { 16, 16, 90, 0, 10, 0 }, { 16, 16, 91, 0, 10, 0 }, - { 16, 16, 92, 0, 10, 0 }, { 16, 16, 93, 0, 10, 0 }, { 16, 16, 94, 0, 10, 0 }, { 16, 16, 95, 0, 10, 0 }, + 94, { + { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 0, 10, 0 }, + { 16, 16, 7, 0, 10, 0 }, { 16, 16, 8, 0, 10, 0 }, { 16, 16, 9, 0, 10, 0 }, { 16, 16, 10, 0, 10, 0 }, { 16, 16, 11, 0, 10, 0 }, + { 16, 16, 12, 0, 10, 0 }, { 16, 16, 13, 0, 10, 0 }, { 16, 16, 14, 0, 10, 0 }, { 16, 16, 15, 0, 10, 0 }, { 16, 16, 16, 0, 10, 0 }, + { 16, 16, 17, 0, 10, 0 }, { 16, 16, 18, 0, 10, 0 }, { 16, 16, 19, 0, 10, 0 }, { 16, 16, 20, 0, 10, 0 }, { 16, 16, 21, 0, 10, 0 }, + { 16, 16, 22, 0, 10, 0 }, { 16, 16, 23, 0, 10, 0 }, { 16, 16, 24, 0, 10, 0 }, { 16, 16, 25, 0, 10, 0 }, { 16, 16, 26, 0, 10, 0 }, + { 16, 16, 27, 0, 10, 0 }, { 16, 16, 28, 0, 10, 0 }, { 16, 16, 29, 0, 10, 0 }, { 16, 16, 30, 0, 10, 0 }, { 16, 16, 31, 0, 10, 0 }, + { 16, 16, 32, 0, 10, 0 }, { 16, 16, 33, 0, 10, 0 }, { 16, 16, 34, 0, 10, 0 }, { 16, 16, 35, 0, 10, 0 }, { 16, 16, 36, 0, 10, 0 }, + { 16, 16, 37, 0, 10, 0 }, { 16, 16, 38, 0, 10, 0 }, { 16, 16, 39, 0, 10, 0 }, { 16, 16, 40, 0, 10, 0 }, { 16, 16, 41, 0, 10, 0 }, + { 16, 16, 42, 0, 10, 0 }, { 16, 16, 43, 0, 10, 0 }, { 16, 16, 44, 0, 10, 0 }, { 16, 16, 45, 0, 10, 0 }, { 16, 16, 46, 0, 10, 0 }, + { 16, 16, 47, 0, 10, 0 }, { 16, 16, 48, 0, 10, 0 }, { 16, 16, 49, 0, 10, 0 }, { 16, 16, 50, 0, 10, 0 }, { 16, 16, 51, 0, 10, 0 }, + { 16, 16, 52, 0, 10, 0 }, { 16, 16, 53, 0, 10, 0 }, { 16, 16, 54, 0, 10, 0 }, { 16, 16, 55, 0, 10, 0 }, { 16, 16, 56, 0, 10, 0 }, + { 16, 16, 57, 0, 10, 0 }, { 16, 16, 58, 0, 10, 0 }, { 16, 16, 59, 0, 10, 0 }, { 16, 16, 60, 0, 10, 0 }, { 16, 16, 61, 0, 10, 0 }, + { 16, 16, 62, 0, 10, 0 }, { 16, 16, 63, 0, 10, 0 }, { 16, 16, 64, 0, 10, 0 }, { 16, 16, 65, 0, 10, 0 }, { 16, 16, 66, 0, 10, 0 }, + { 16, 16, 67, 0, 10, 0 }, { 16, 16, 68, 0, 10, 0 }, { 16, 16, 69, 0, 10, 0 }, { 16, 16, 70, 0, 10, 0 }, { 16, 16, 71, 0, 10, 0 }, + { 16, 16, 72, 0, 10, 0 }, { 16, 16, 73, 0, 10, 0 }, { 16, 16, 74, 0, 10, 0 }, { 16, 16, 75, 0, 10, 0 }, { 16, 16, 76, 0, 10, 0 }, + { 16, 16, 77, 0, 10, 0 }, { 16, 16, 78, 0, 10, 0 }, { 16, 16, 79, 0, 10, 0 }, { 16, 16, 80, 0, 10, 0 }, { 16, 16, 81, 0, 10, 0 }, + { 16, 16, 82, 0, 10, 0 }, { 16, 16, 83, 0, 10, 0 }, { 16, 16, 84, 0, 10, 0 }, { 16, 16, 85, 0, 10, 0 }, { 16, 16, 86, 0, 10, 0 }, + { 16, 16, 87, 0, 10, 0 }, { 16, 16, 88, 0, 10, 0 }, { 16, 16, 89, 0, 10, 0 }, { 16, 16, 90, 0, 10, 0 }, { 16, 16, 91, 0, 10, 0 }, + { 16, 16, 92, 0, 10, 0 }, { 16, 16, 93, 0, 10, 0 }, { 16, 16, 94, 0, 10, 0 }, { 16, 16, 95, 0, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EFDAA = { - 94, { - { 16, 16, 2, 8, 10, 0 }, { 16, 16, 3, 8, 10, 0 }, { 16, 16, 4, 8, 10, 0 }, { 16, 16, 5, 8, 10, 0 }, { 16, 16, 6, 8, 10, 0 }, - { 16, 16, 7, 8, 10, 0 }, { 16, 16, 8, 8, 10, 0 }, { 16, 16, 9, 8, 10, 0 }, { 16, 16, 10, 8, 10, 0 }, { 16, 16, 11, 8, 10, 0 }, - { 16, 16, 12, 8, 10, 0 }, { 16, 16, 13, 8, 10, 0 }, { 16, 16, 14, 8, 10, 0 }, { 16, 16, 15, 8, 10, 0 }, { 16, 16, 16, 8, 10, 0 }, - { 16, 16, 17, 8, 10, 0 }, { 16, 16, 18, 8, 10, 0 }, { 16, 16, 19, 8, 10, 0 }, { 16, 16, 20, 8, 10, 0 }, { 16, 16, 21, 8, 10, 0 }, - { 16, 16, 22, 8, 10, 0 }, { 16, 16, 23, 8, 10, 0 }, { 16, 16, 24, 8, 10, 0 }, { 16, 16, 25, 8, 10, 0 }, { 16, 16, 26, 8, 10, 0 }, - { 16, 16, 27, 8, 10, 0 }, { 16, 16, 28, 8, 10, 0 }, { 16, 16, 29, 8, 10, 0 }, { 16, 16, 30, 8, 10, 0 }, { 16, 16, 31, 8, 10, 0 }, - { 16, 16, 32, 8, 10, 0 }, { 16, 16, 33, 8, 10, 0 }, { 16, 16, 34, 8, 10, 0 }, { 16, 16, 35, 8, 10, 0 }, { 16, 16, 36, 8, 10, 0 }, - { 16, 16, 37, 8, 10, 0 }, { 16, 16, 38, 8, 10, 0 }, { 16, 16, 39, 8, 10, 0 }, { 16, 16, 40, 8, 10, 0 }, { 16, 16, 41, 8, 10, 0 }, - { 16, 16, 42, 8, 10, 0 }, { 16, 16, 43, 8, 10, 0 }, { 16, 16, 44, 8, 10, 0 }, { 16, 16, 45, 8, 10, 0 }, { 16, 16, 46, 8, 10, 0 }, - { 16, 16, 47, 8, 10, 0 }, { 16, 16, 48, 8, 10, 0 }, { 16, 16, 49, 8, 10, 0 }, { 16, 16, 50, 8, 10, 0 }, { 16, 16, 51, 8, 10, 0 }, - { 16, 16, 52, 8, 10, 0 }, { 16, 16, 53, 8, 10, 0 }, { 16, 16, 54, 8, 10, 0 }, { 16, 16, 55, 8, 10, 0 }, { 16, 16, 56, 8, 10, 0 }, - { 16, 16, 57, 8, 10, 0 }, { 16, 16, 58, 8, 10, 0 }, { 16, 16, 59, 8, 10, 0 }, { 16, 16, 60, 8, 10, 0 }, { 16, 16, 61, 8, 10, 0 }, - { 16, 16, 62, 8, 10, 0 }, { 16, 16, 63, 8, 10, 0 }, { 16, 16, 64, 8, 10, 0 }, { 16, 16, 65, 8, 10, 0 }, { 16, 16, 66, 8, 10, 0 }, - { 16, 16, 67, 8, 10, 0 }, { 16, 16, 68, 8, 10, 0 }, { 16, 16, 69, 8, 10, 0 }, { 16, 16, 70, 8, 10, 0 }, { 16, 16, 71, 8, 10, 0 }, - { 16, 16, 72, 8, 10, 0 }, { 16, 16, 73, 8, 10, 0 }, { 16, 16, 74, 8, 10, 0 }, { 16, 16, 75, 8, 10, 0 }, { 16, 16, 76, 8, 10, 0 }, - { 16, 16, 77, 8, 10, 0 }, { 16, 16, 78, 8, 10, 0 }, { 16, 16, 79, 8, 10, 0 }, { 16, 16, 80, 8, 10, 0 }, { 16, 16, 81, 8, 10, 0 }, - { 16, 16, 82, 8, 10, 0 }, { 16, 16, 83, 8, 10, 0 }, { 16, 16, 84, 8, 10, 0 }, { 16, 16, 85, 8, 10, 0 }, { 16, 16, 86, 8, 10, 0 }, - { 16, 16, 87, 8, 10, 0 }, { 16, 16, 88, 8, 10, 0 }, { 16, 16, 89, 8, 10, 0 }, { 16, 16, 90, 8, 10, 0 }, { 16, 16, 91, 8, 10, 0 }, - { 16, 16, 92, 8, 10, 0 }, { 16, 16, 93, 8, 10, 0 }, { 16, 16, 94, 8, 10, 0 }, { 16, 16, 95, 8, 10, 0 }, + 94, { + { 16, 16, 2, 8, 10, 0 }, { 16, 16, 3, 8, 10, 0 }, { 16, 16, 4, 8, 10, 0 }, { 16, 16, 5, 8, 10, 0 }, { 16, 16, 6, 8, 10, 0 }, + { 16, 16, 7, 8, 10, 0 }, { 16, 16, 8, 8, 10, 0 }, { 16, 16, 9, 8, 10, 0 }, { 16, 16, 10, 8, 10, 0 }, { 16, 16, 11, 8, 10, 0 }, + { 16, 16, 12, 8, 10, 0 }, { 16, 16, 13, 8, 10, 0 }, { 16, 16, 14, 8, 10, 0 }, { 16, 16, 15, 8, 10, 0 }, { 16, 16, 16, 8, 10, 0 }, + { 16, 16, 17, 8, 10, 0 }, { 16, 16, 18, 8, 10, 0 }, { 16, 16, 19, 8, 10, 0 }, { 16, 16, 20, 8, 10, 0 }, { 16, 16, 21, 8, 10, 0 }, + { 16, 16, 22, 8, 10, 0 }, { 16, 16, 23, 8, 10, 0 }, { 16, 16, 24, 8, 10, 0 }, { 16, 16, 25, 8, 10, 0 }, { 16, 16, 26, 8, 10, 0 }, + { 16, 16, 27, 8, 10, 0 }, { 16, 16, 28, 8, 10, 0 }, { 16, 16, 29, 8, 10, 0 }, { 16, 16, 30, 8, 10, 0 }, { 16, 16, 31, 8, 10, 0 }, + { 16, 16, 32, 8, 10, 0 }, { 16, 16, 33, 8, 10, 0 }, { 16, 16, 34, 8, 10, 0 }, { 16, 16, 35, 8, 10, 0 }, { 16, 16, 36, 8, 10, 0 }, + { 16, 16, 37, 8, 10, 0 }, { 16, 16, 38, 8, 10, 0 }, { 16, 16, 39, 8, 10, 0 }, { 16, 16, 40, 8, 10, 0 }, { 16, 16, 41, 8, 10, 0 }, + { 16, 16, 42, 8, 10, 0 }, { 16, 16, 43, 8, 10, 0 }, { 16, 16, 44, 8, 10, 0 }, { 16, 16, 45, 8, 10, 0 }, { 16, 16, 46, 8, 10, 0 }, + { 16, 16, 47, 8, 10, 0 }, { 16, 16, 48, 8, 10, 0 }, { 16, 16, 49, 8, 10, 0 }, { 16, 16, 50, 8, 10, 0 }, { 16, 16, 51, 8, 10, 0 }, + { 16, 16, 52, 8, 10, 0 }, { 16, 16, 53, 8, 10, 0 }, { 16, 16, 54, 8, 10, 0 }, { 16, 16, 55, 8, 10, 0 }, { 16, 16, 56, 8, 10, 0 }, + { 16, 16, 57, 8, 10, 0 }, { 16, 16, 58, 8, 10, 0 }, { 16, 16, 59, 8, 10, 0 }, { 16, 16, 60, 8, 10, 0 }, { 16, 16, 61, 8, 10, 0 }, + { 16, 16, 62, 8, 10, 0 }, { 16, 16, 63, 8, 10, 0 }, { 16, 16, 64, 8, 10, 0 }, { 16, 16, 65, 8, 10, 0 }, { 16, 16, 66, 8, 10, 0 }, + { 16, 16, 67, 8, 10, 0 }, { 16, 16, 68, 8, 10, 0 }, { 16, 16, 69, 8, 10, 0 }, { 16, 16, 70, 8, 10, 0 }, { 16, 16, 71, 8, 10, 0 }, + { 16, 16, 72, 8, 10, 0 }, { 16, 16, 73, 8, 10, 0 }, { 16, 16, 74, 8, 10, 0 }, { 16, 16, 75, 8, 10, 0 }, { 16, 16, 76, 8, 10, 0 }, + { 16, 16, 77, 8, 10, 0 }, { 16, 16, 78, 8, 10, 0 }, { 16, 16, 79, 8, 10, 0 }, { 16, 16, 80, 8, 10, 0 }, { 16, 16, 81, 8, 10, 0 }, + { 16, 16, 82, 8, 10, 0 }, { 16, 16, 83, 8, 10, 0 }, { 16, 16, 84, 8, 10, 0 }, { 16, 16, 85, 8, 10, 0 }, { 16, 16, 86, 8, 10, 0 }, + { 16, 16, 87, 8, 10, 0 }, { 16, 16, 88, 8, 10, 0 }, { 16, 16, 89, 8, 10, 0 }, { 16, 16, 90, 8, 10, 0 }, { 16, 16, 91, 8, 10, 0 }, + { 16, 16, 92, 8, 10, 0 }, { 16, 16, 93, 8, 10, 0 }, { 16, 16, 94, 8, 10, 0 }, { 16, 16, 95, 8, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F00FA = { - 94, { - { 16, 16, 2, 16, 10, 0 }, { 16, 16, 3, 16, 10, 0 }, { 16, 16, 4, 16, 10, 0 }, { 16, 16, 5, 16, 10, 0 }, { 16, 16, 6, 16, 10, 0 }, - { 16, 16, 7, 16, 10, 0 }, { 16, 16, 8, 16, 10, 0 }, { 16, 16, 9, 16, 10, 0 }, { 16, 16, 10, 16, 10, 0 }, { 16, 16, 11, 16, 10, 0 }, - { 16, 16, 12, 16, 10, 0 }, { 16, 16, 13, 16, 10, 0 }, { 16, 16, 14, 16, 10, 0 }, { 16, 16, 15, 16, 10, 0 }, { 16, 16, 16, 16, 10, 0 }, - { 16, 16, 17, 16, 10, 0 }, { 16, 16, 18, 16, 10, 0 }, { 16, 16, 19, 16, 10, 0 }, { 16, 16, 20, 16, 10, 0 }, { 16, 16, 21, 16, 10, 0 }, - { 16, 16, 22, 16, 10, 0 }, { 16, 16, 23, 16, 10, 0 }, { 16, 16, 24, 16, 10, 0 }, { 16, 16, 25, 16, 10, 0 }, { 16, 16, 26, 16, 10, 0 }, - { 16, 16, 27, 16, 10, 0 }, { 16, 16, 28, 16, 10, 0 }, { 16, 16, 29, 16, 10, 0 }, { 16, 16, 30, 16, 10, 0 }, { 16, 16, 31, 16, 10, 0 }, - { 16, 16, 32, 16, 10, 0 }, { 16, 16, 33, 16, 10, 0 }, { 16, 16, 34, 16, 10, 0 }, { 16, 16, 35, 16, 10, 0 }, { 16, 16, 36, 16, 10, 0 }, - { 16, 16, 37, 16, 10, 0 }, { 16, 16, 38, 16, 10, 0 }, { 16, 16, 39, 16, 10, 0 }, { 16, 16, 40, 16, 10, 0 }, { 16, 16, 41, 16, 10, 0 }, - { 16, 16, 42, 16, 10, 0 }, { 16, 16, 43, 16, 10, 0 }, { 16, 16, 44, 16, 10, 0 }, { 16, 16, 45, 16, 10, 0 }, { 16, 16, 46, 16, 10, 0 }, - { 16, 16, 47, 16, 10, 0 }, { 16, 16, 48, 16, 10, 0 }, { 16, 16, 49, 16, 10, 0 }, { 16, 16, 50, 16, 10, 0 }, { 16, 16, 51, 16, 10, 0 }, - { 16, 16, 52, 16, 10, 0 }, { 16, 16, 53, 16, 10, 0 }, { 16, 16, 54, 16, 10, 0 }, { 16, 16, 55, 16, 10, 0 }, { 16, 16, 56, 16, 10, 0 }, - { 16, 16, 57, 16, 10, 0 }, { 16, 16, 58, 16, 10, 0 }, { 16, 16, 59, 16, 10, 0 }, { 16, 16, 60, 16, 10, 0 }, { 16, 16, 61, 16, 10, 0 }, - { 16, 16, 62, 16, 10, 0 }, { 16, 16, 63, 16, 10, 0 }, { 16, 16, 64, 16, 10, 0 }, { 16, 16, 65, 16, 10, 0 }, { 16, 16, 66, 16, 10, 0 }, - { 16, 16, 67, 16, 10, 0 }, { 16, 16, 68, 16, 10, 0 }, { 16, 16, 69, 16, 10, 0 }, { 16, 16, 70, 16, 10, 0 }, { 16, 16, 71, 16, 10, 0 }, - { 16, 16, 72, 16, 10, 0 }, { 16, 16, 73, 16, 10, 0 }, { 16, 16, 74, 16, 10, 0 }, { 16, 16, 75, 16, 10, 0 }, { 16, 16, 76, 16, 10, 0 }, - { 16, 16, 77, 16, 10, 0 }, { 16, 16, 78, 16, 10, 0 }, { 16, 16, 79, 16, 10, 0 }, { 16, 16, 80, 16, 10, 0 }, { 16, 16, 81, 16, 10, 0 }, - { 16, 16, 82, 16, 10, 0 }, { 16, 16, 83, 16, 10, 0 }, { 16, 16, 84, 16, 10, 0 }, { 16, 16, 85, 16, 10, 0 }, { 16, 16, 86, 16, 10, 0 }, - { 16, 16, 87, 16, 10, 0 }, { 16, 16, 88, 16, 10, 0 }, { 16, 16, 89, 16, 10, 0 }, { 16, 16, 90, 16, 10, 0 }, { 16, 16, 91, 16, 10, 0 }, - { 16, 16, 92, 16, 10, 0 }, { 16, 16, 93, 16, 10, 0 }, { 16, 16, 94, 16, 10, 0 }, { 16, 16, 95, 16, 10, 0 }, + 94, { + { 16, 16, 2, 16, 10, 0 }, { 16, 16, 3, 16, 10, 0 }, { 16, 16, 4, 16, 10, 0 }, { 16, 16, 5, 16, 10, 0 }, { 16, 16, 6, 16, 10, 0 }, + { 16, 16, 7, 16, 10, 0 }, { 16, 16, 8, 16, 10, 0 }, { 16, 16, 9, 16, 10, 0 }, { 16, 16, 10, 16, 10, 0 }, { 16, 16, 11, 16, 10, 0 }, + { 16, 16, 12, 16, 10, 0 }, { 16, 16, 13, 16, 10, 0 }, { 16, 16, 14, 16, 10, 0 }, { 16, 16, 15, 16, 10, 0 }, { 16, 16, 16, 16, 10, 0 }, + { 16, 16, 17, 16, 10, 0 }, { 16, 16, 18, 16, 10, 0 }, { 16, 16, 19, 16, 10, 0 }, { 16, 16, 20, 16, 10, 0 }, { 16, 16, 21, 16, 10, 0 }, + { 16, 16, 22, 16, 10, 0 }, { 16, 16, 23, 16, 10, 0 }, { 16, 16, 24, 16, 10, 0 }, { 16, 16, 25, 16, 10, 0 }, { 16, 16, 26, 16, 10, 0 }, + { 16, 16, 27, 16, 10, 0 }, { 16, 16, 28, 16, 10, 0 }, { 16, 16, 29, 16, 10, 0 }, { 16, 16, 30, 16, 10, 0 }, { 16, 16, 31, 16, 10, 0 }, + { 16, 16, 32, 16, 10, 0 }, { 16, 16, 33, 16, 10, 0 }, { 16, 16, 34, 16, 10, 0 }, { 16, 16, 35, 16, 10, 0 }, { 16, 16, 36, 16, 10, 0 }, + { 16, 16, 37, 16, 10, 0 }, { 16, 16, 38, 16, 10, 0 }, { 16, 16, 39, 16, 10, 0 }, { 16, 16, 40, 16, 10, 0 }, { 16, 16, 41, 16, 10, 0 }, + { 16, 16, 42, 16, 10, 0 }, { 16, 16, 43, 16, 10, 0 }, { 16, 16, 44, 16, 10, 0 }, { 16, 16, 45, 16, 10, 0 }, { 16, 16, 46, 16, 10, 0 }, + { 16, 16, 47, 16, 10, 0 }, { 16, 16, 48, 16, 10, 0 }, { 16, 16, 49, 16, 10, 0 }, { 16, 16, 50, 16, 10, 0 }, { 16, 16, 51, 16, 10, 0 }, + { 16, 16, 52, 16, 10, 0 }, { 16, 16, 53, 16, 10, 0 }, { 16, 16, 54, 16, 10, 0 }, { 16, 16, 55, 16, 10, 0 }, { 16, 16, 56, 16, 10, 0 }, + { 16, 16, 57, 16, 10, 0 }, { 16, 16, 58, 16, 10, 0 }, { 16, 16, 59, 16, 10, 0 }, { 16, 16, 60, 16, 10, 0 }, { 16, 16, 61, 16, 10, 0 }, + { 16, 16, 62, 16, 10, 0 }, { 16, 16, 63, 16, 10, 0 }, { 16, 16, 64, 16, 10, 0 }, { 16, 16, 65, 16, 10, 0 }, { 16, 16, 66, 16, 10, 0 }, + { 16, 16, 67, 16, 10, 0 }, { 16, 16, 68, 16, 10, 0 }, { 16, 16, 69, 16, 10, 0 }, { 16, 16, 70, 16, 10, 0 }, { 16, 16, 71, 16, 10, 0 }, + { 16, 16, 72, 16, 10, 0 }, { 16, 16, 73, 16, 10, 0 }, { 16, 16, 74, 16, 10, 0 }, { 16, 16, 75, 16, 10, 0 }, { 16, 16, 76, 16, 10, 0 }, + { 16, 16, 77, 16, 10, 0 }, { 16, 16, 78, 16, 10, 0 }, { 16, 16, 79, 16, 10, 0 }, { 16, 16, 80, 16, 10, 0 }, { 16, 16, 81, 16, 10, 0 }, + { 16, 16, 82, 16, 10, 0 }, { 16, 16, 83, 16, 10, 0 }, { 16, 16, 84, 16, 10, 0 }, { 16, 16, 85, 16, 10, 0 }, { 16, 16, 86, 16, 10, 0 }, + { 16, 16, 87, 16, 10, 0 }, { 16, 16, 88, 16, 10, 0 }, { 16, 16, 89, 16, 10, 0 }, { 16, 16, 90, 16, 10, 0 }, { 16, 16, 91, 16, 10, 0 }, + { 16, 16, 92, 16, 10, 0 }, { 16, 16, 93, 16, 10, 0 }, { 16, 16, 94, 16, 10, 0 }, { 16, 16, 95, 16, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F044A = { - 94, { - { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 24, 10, 0 }, - { 16, 16, 7, 24, 10, 0 }, { 16, 16, 8, 24, 10, 0 }, { 16, 16, 9, 24, 10, 0 }, { 16, 16, 10, 24, 10, 0 }, { 16, 16, 11, 24, 10, 0 }, - { 16, 16, 12, 24, 10, 0 }, { 16, 16, 13, 24, 10, 0 }, { 16, 16, 14, 24, 10, 0 }, { 16, 16, 15, 24, 10, 0 }, { 16, 16, 16, 24, 10, 0 }, - { 16, 16, 17, 24, 10, 0 }, { 16, 16, 18, 24, 10, 0 }, { 16, 16, 19, 24, 10, 0 }, { 16, 16, 20, 24, 10, 0 }, { 16, 16, 21, 24, 10, 0 }, - { 16, 16, 22, 24, 10, 0 }, { 16, 16, 23, 24, 10, 0 }, { 16, 16, 24, 24, 10, 0 }, { 16, 16, 25, 24, 10, 0 }, { 16, 16, 26, 24, 10, 0 }, - { 16, 16, 27, 24, 10, 0 }, { 16, 16, 28, 24, 10, 0 }, { 16, 16, 29, 24, 10, 0 }, { 16, 16, 30, 24, 10, 0 }, { 16, 16, 31, 24, 10, 0 }, - { 16, 16, 32, 24, 10, 0 }, { 16, 16, 33, 24, 10, 0 }, { 16, 16, 34, 24, 10, 0 }, { 16, 16, 35, 24, 10, 0 }, { 16, 16, 36, 24, 10, 0 }, - { 16, 16, 37, 24, 10, 0 }, { 16, 16, 38, 24, 10, 0 }, { 16, 16, 39, 24, 10, 0 }, { 16, 16, 40, 24, 10, 0 }, { 16, 16, 41, 24, 10, 0 }, - { 16, 16, 42, 24, 10, 0 }, { 16, 16, 43, 24, 10, 0 }, { 16, 16, 44, 24, 10, 0 }, { 16, 16, 45, 24, 10, 0 }, { 16, 16, 46, 24, 10, 0 }, - { 16, 16, 47, 24, 10, 0 }, { 16, 16, 48, 24, 10, 0 }, { 16, 16, 49, 24, 10, 0 }, { 16, 16, 50, 24, 10, 0 }, { 16, 16, 51, 24, 10, 0 }, - { 16, 16, 52, 24, 10, 0 }, { 16, 16, 53, 24, 10, 0 }, { 16, 16, 54, 24, 10, 0 }, { 16, 16, 55, 24, 10, 0 }, { 16, 16, 56, 24, 10, 0 }, - { 16, 16, 57, 24, 10, 0 }, { 16, 16, 58, 24, 10, 0 }, { 16, 16, 59, 24, 10, 0 }, { 16, 16, 60, 24, 10, 0 }, { 16, 16, 61, 24, 10, 0 }, - { 16, 16, 62, 24, 10, 0 }, { 16, 16, 63, 24, 10, 0 }, { 16, 16, 64, 24, 10, 0 }, { 16, 16, 65, 24, 10, 0 }, { 16, 16, 66, 24, 10, 0 }, - { 16, 16, 67, 24, 10, 0 }, { 16, 16, 68, 24, 10, 0 }, { 16, 16, 69, 24, 10, 0 }, { 16, 16, 70, 24, 10, 0 }, { 16, 16, 71, 24, 10, 0 }, - { 16, 16, 72, 24, 10, 0 }, { 16, 16, 73, 24, 10, 0 }, { 16, 16, 74, 24, 10, 0 }, { 16, 16, 75, 24, 10, 0 }, { 16, 16, 76, 24, 10, 0 }, - { 16, 16, 77, 24, 10, 0 }, { 16, 16, 78, 24, 10, 0 }, { 16, 16, 79, 24, 10, 0 }, { 16, 16, 80, 24, 10, 0 }, { 16, 16, 81, 24, 10, 0 }, - { 16, 16, 82, 24, 10, 0 }, { 16, 16, 83, 24, 10, 0 }, { 16, 16, 84, 24, 10, 0 }, { 16, 16, 85, 24, 10, 0 }, { 16, 16, 86, 24, 10, 0 }, - { 16, 16, 87, 24, 10, 0 }, { 16, 16, 88, 24, 10, 0 }, { 16, 16, 89, 24, 10, 0 }, { 16, 16, 90, 24, 10, 0 }, { 16, 16, 91, 24, 10, 0 }, - { 16, 16, 92, 24, 10, 0 }, { 16, 16, 93, 24, 10, 0 }, { 16, 16, 94, 24, 10, 0 }, { 16, 16, 95, 24, 10, 0 }, + 94, { + { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 24, 10, 0 }, + { 16, 16, 7, 24, 10, 0 }, { 16, 16, 8, 24, 10, 0 }, { 16, 16, 9, 24, 10, 0 }, { 16, 16, 10, 24, 10, 0 }, { 16, 16, 11, 24, 10, 0 }, + { 16, 16, 12, 24, 10, 0 }, { 16, 16, 13, 24, 10, 0 }, { 16, 16, 14, 24, 10, 0 }, { 16, 16, 15, 24, 10, 0 }, { 16, 16, 16, 24, 10, 0 }, + { 16, 16, 17, 24, 10, 0 }, { 16, 16, 18, 24, 10, 0 }, { 16, 16, 19, 24, 10, 0 }, { 16, 16, 20, 24, 10, 0 }, { 16, 16, 21, 24, 10, 0 }, + { 16, 16, 22, 24, 10, 0 }, { 16, 16, 23, 24, 10, 0 }, { 16, 16, 24, 24, 10, 0 }, { 16, 16, 25, 24, 10, 0 }, { 16, 16, 26, 24, 10, 0 }, + { 16, 16, 27, 24, 10, 0 }, { 16, 16, 28, 24, 10, 0 }, { 16, 16, 29, 24, 10, 0 }, { 16, 16, 30, 24, 10, 0 }, { 16, 16, 31, 24, 10, 0 }, + { 16, 16, 32, 24, 10, 0 }, { 16, 16, 33, 24, 10, 0 }, { 16, 16, 34, 24, 10, 0 }, { 16, 16, 35, 24, 10, 0 }, { 16, 16, 36, 24, 10, 0 }, + { 16, 16, 37, 24, 10, 0 }, { 16, 16, 38, 24, 10, 0 }, { 16, 16, 39, 24, 10, 0 }, { 16, 16, 40, 24, 10, 0 }, { 16, 16, 41, 24, 10, 0 }, + { 16, 16, 42, 24, 10, 0 }, { 16, 16, 43, 24, 10, 0 }, { 16, 16, 44, 24, 10, 0 }, { 16, 16, 45, 24, 10, 0 }, { 16, 16, 46, 24, 10, 0 }, + { 16, 16, 47, 24, 10, 0 }, { 16, 16, 48, 24, 10, 0 }, { 16, 16, 49, 24, 10, 0 }, { 16, 16, 50, 24, 10, 0 }, { 16, 16, 51, 24, 10, 0 }, + { 16, 16, 52, 24, 10, 0 }, { 16, 16, 53, 24, 10, 0 }, { 16, 16, 54, 24, 10, 0 }, { 16, 16, 55, 24, 10, 0 }, { 16, 16, 56, 24, 10, 0 }, + { 16, 16, 57, 24, 10, 0 }, { 16, 16, 58, 24, 10, 0 }, { 16, 16, 59, 24, 10, 0 }, { 16, 16, 60, 24, 10, 0 }, { 16, 16, 61, 24, 10, 0 }, + { 16, 16, 62, 24, 10, 0 }, { 16, 16, 63, 24, 10, 0 }, { 16, 16, 64, 24, 10, 0 }, { 16, 16, 65, 24, 10, 0 }, { 16, 16, 66, 24, 10, 0 }, + { 16, 16, 67, 24, 10, 0 }, { 16, 16, 68, 24, 10, 0 }, { 16, 16, 69, 24, 10, 0 }, { 16, 16, 70, 24, 10, 0 }, { 16, 16, 71, 24, 10, 0 }, + { 16, 16, 72, 24, 10, 0 }, { 16, 16, 73, 24, 10, 0 }, { 16, 16, 74, 24, 10, 0 }, { 16, 16, 75, 24, 10, 0 }, { 16, 16, 76, 24, 10, 0 }, + { 16, 16, 77, 24, 10, 0 }, { 16, 16, 78, 24, 10, 0 }, { 16, 16, 79, 24, 10, 0 }, { 16, 16, 80, 24, 10, 0 }, { 16, 16, 81, 24, 10, 0 }, + { 16, 16, 82, 24, 10, 0 }, { 16, 16, 83, 24, 10, 0 }, { 16, 16, 84, 24, 10, 0 }, { 16, 16, 85, 24, 10, 0 }, { 16, 16, 86, 24, 10, 0 }, + { 16, 16, 87, 24, 10, 0 }, { 16, 16, 88, 24, 10, 0 }, { 16, 16, 89, 24, 10, 0 }, { 16, 16, 90, 24, 10, 0 }, { 16, 16, 91, 24, 10, 0 }, + { 16, 16, 92, 24, 10, 0 }, { 16, 16, 93, 24, 10, 0 }, { 16, 16, 94, 24, 10, 0 }, { 16, 16, 95, 24, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F079A = { - 32, { - { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, - { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 0, 10, 0 }, { 16, 16, 7, 0, 10, 0 }, { 16, 16, 8, 0, 10, 0 }, { 16, 16, 9, 0, 10, 0 }, - { 16, 16, 10, 0, 10, 0 }, { 16, 16, 11, 0, 10, 0 }, { 16, 16, 12, 0, 10, 0 }, { 16, 16, 13, 0, 10, 0 }, { 16, 16, 14, 0, 10, 0 }, - { 16, 16, 15, 0, 10, 0 }, { 16, 16, 16, 0, 10, 0 }, { 16, 16, 17, 0, 10, 0 }, { 16, 16, 18, 0, 10, 0 }, { 16, 16, 19, 0, 10, 0 }, - { 16, 16, 20, 0, 10, 0 }, { 16, 16, 21, 0, 10, 0 }, { 16, 16, 22, 0, 10, 0 }, { 16, 16, 23, 0, 10, 0 }, { 16, 16, 24, 0, 10, 0 }, - { 16, 16, 25, 0, 10, 0 }, { 16, 16, 26, 0, 10, 0 }, { 16, 16, 27, 0, 10, 0 }, { 16, 16, 28, 0, 10, 0 }, { 16, 16, 29, 0, 10, 0 }, - { 16, 16, 30, 0, 10, 0 }, { 16, 16, 31, 0, 10, 0 }, + 32, { + { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, + { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 0, 10, 0 }, { 16, 16, 7, 0, 10, 0 }, { 16, 16, 8, 0, 10, 0 }, { 16, 16, 9, 0, 10, 0 }, + { 16, 16, 10, 0, 10, 0 }, { 16, 16, 11, 0, 10, 0 }, { 16, 16, 12, 0, 10, 0 }, { 16, 16, 13, 0, 10, 0 }, { 16, 16, 14, 0, 10, 0 }, + { 16, 16, 15, 0, 10, 0 }, { 16, 16, 16, 0, 10, 0 }, { 16, 16, 17, 0, 10, 0 }, { 16, 16, 18, 0, 10, 0 }, { 16, 16, 19, 0, 10, 0 }, + { 16, 16, 20, 0, 10, 0 }, { 16, 16, 21, 0, 10, 0 }, { 16, 16, 22, 0, 10, 0 }, { 16, 16, 23, 0, 10, 0 }, { 16, 16, 24, 0, 10, 0 }, + { 16, 16, 25, 0, 10, 0 }, { 16, 16, 26, 0, 10, 0 }, { 16, 16, 27, 0, 10, 0 }, { 16, 16, 28, 0, 10, 0 }, { 16, 16, 29, 0, 10, 0 }, + { 16, 16, 30, 0, 10, 0 }, { 16, 16, 31, 0, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F08BC = { - 32, { - { 16, 16, 0, 8, 10, 0 }, { 16, 16, 1, 8, 10, 0 }, { 16, 16, 2, 8, 10, 0 }, { 16, 16, 3, 8, 10, 0 }, { 16, 16, 4, 8, 10, 0 }, - { 16, 16, 5, 8, 10, 0 }, { 16, 16, 6, 8, 10, 0 }, { 16, 16, 7, 8, 10, 0 }, { 16, 16, 8, 8, 10, 0 }, { 16, 16, 9, 8, 10, 0 }, - { 16, 16, 10, 8, 10, 0 }, { 16, 16, 11, 8, 10, 0 }, { 16, 16, 12, 8, 10, 0 }, { 16, 16, 13, 8, 10, 0 }, { 16, 16, 14, 8, 10, 0 }, - { 16, 16, 15, 8, 10, 0 }, { 16, 16, 16, 8, 10, 0 }, { 16, 16, 17, 8, 10, 0 }, { 16, 16, 18, 8, 10, 0 }, { 16, 16, 19, 8, 10, 0 }, - { 16, 16, 20, 8, 10, 0 }, { 16, 16, 21, 8, 10, 0 }, { 16, 16, 22, 8, 10, 0 }, { 16, 16, 23, 8, 10, 0 }, { 16, 16, 24, 8, 10, 0 }, - { 16, 16, 25, 8, 10, 0 }, { 16, 16, 26, 8, 10, 0 }, { 16, 16, 27, 8, 10, 0 }, { 16, 16, 28, 8, 10, 0 }, { 16, 16, 29, 8, 10, 0 }, - { 16, 16, 30, 8, 10, 0 }, { 16, 16, 31, 8, 10, 0 }, + 32, { + { 16, 16, 0, 8, 10, 0 }, { 16, 16, 1, 8, 10, 0 }, { 16, 16, 2, 8, 10, 0 }, { 16, 16, 3, 8, 10, 0 }, { 16, 16, 4, 8, 10, 0 }, + { 16, 16, 5, 8, 10, 0 }, { 16, 16, 6, 8, 10, 0 }, { 16, 16, 7, 8, 10, 0 }, { 16, 16, 8, 8, 10, 0 }, { 16, 16, 9, 8, 10, 0 }, + { 16, 16, 10, 8, 10, 0 }, { 16, 16, 11, 8, 10, 0 }, { 16, 16, 12, 8, 10, 0 }, { 16, 16, 13, 8, 10, 0 }, { 16, 16, 14, 8, 10, 0 }, + { 16, 16, 15, 8, 10, 0 }, { 16, 16, 16, 8, 10, 0 }, { 16, 16, 17, 8, 10, 0 }, { 16, 16, 18, 8, 10, 0 }, { 16, 16, 19, 8, 10, 0 }, + { 16, 16, 20, 8, 10, 0 }, { 16, 16, 21, 8, 10, 0 }, { 16, 16, 22, 8, 10, 0 }, { 16, 16, 23, 8, 10, 0 }, { 16, 16, 24, 8, 10, 0 }, + { 16, 16, 25, 8, 10, 0 }, { 16, 16, 26, 8, 10, 0 }, { 16, 16, 27, 8, 10, 0 }, { 16, 16, 28, 8, 10, 0 }, { 16, 16, 29, 8, 10, 0 }, + { 16, 16, 30, 8, 10, 0 }, { 16, 16, 31, 8, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F09DE = { - 32, { - { 16, 16, 0, 16, 10, 0 }, { 16, 16, 1, 16, 10, 0 }, { 16, 16, 2, 16, 10, 0 }, { 16, 16, 3, 16, 10, 0 }, { 16, 16, 4, 16, 10, 0 }, - { 16, 16, 5, 16, 10, 0 }, { 16, 16, 6, 16, 10, 0 }, { 16, 16, 7, 16, 10, 0 }, { 16, 16, 8, 16, 10, 0 }, { 16, 16, 9, 16, 10, 0 }, - { 16, 16, 10, 16, 10, 0 }, { 16, 16, 11, 16, 10, 0 }, { 16, 16, 12, 16, 10, 0 }, { 16, 16, 13, 16, 10, 0 }, { 16, 16, 14, 16, 10, 0 }, - { 16, 16, 15, 16, 10, 0 }, { 16, 16, 16, 16, 10, 0 }, { 16, 16, 17, 16, 10, 0 }, { 16, 16, 18, 16, 10, 0 }, { 16, 16, 19, 16, 10, 0 }, - { 16, 16, 20, 16, 10, 0 }, { 16, 16, 21, 16, 10, 0 }, { 16, 16, 22, 16, 10, 0 }, { 16, 16, 23, 16, 10, 0 }, { 16, 16, 24, 16, 10, 0 }, - { 16, 16, 25, 16, 10, 0 }, { 16, 16, 26, 16, 10, 0 }, { 16, 16, 27, 16, 10, 0 }, { 16, 16, 28, 16, 10, 0 }, { 16, 16, 29, 16, 10, 0 }, - { 16, 16, 30, 16, 10, 0 }, { 16, 16, 31, 16, 10, 0 }, + 32, { + { 16, 16, 0, 16, 10, 0 }, { 16, 16, 1, 16, 10, 0 }, { 16, 16, 2, 16, 10, 0 }, { 16, 16, 3, 16, 10, 0 }, { 16, 16, 4, 16, 10, 0 }, + { 16, 16, 5, 16, 10, 0 }, { 16, 16, 6, 16, 10, 0 }, { 16, 16, 7, 16, 10, 0 }, { 16, 16, 8, 16, 10, 0 }, { 16, 16, 9, 16, 10, 0 }, + { 16, 16, 10, 16, 10, 0 }, { 16, 16, 11, 16, 10, 0 }, { 16, 16, 12, 16, 10, 0 }, { 16, 16, 13, 16, 10, 0 }, { 16, 16, 14, 16, 10, 0 }, + { 16, 16, 15, 16, 10, 0 }, { 16, 16, 16, 16, 10, 0 }, { 16, 16, 17, 16, 10, 0 }, { 16, 16, 18, 16, 10, 0 }, { 16, 16, 19, 16, 10, 0 }, + { 16, 16, 20, 16, 10, 0 }, { 16, 16, 21, 16, 10, 0 }, { 16, 16, 22, 16, 10, 0 }, { 16, 16, 23, 16, 10, 0 }, { 16, 16, 24, 16, 10, 0 }, + { 16, 16, 25, 16, 10, 0 }, { 16, 16, 26, 16, 10, 0 }, { 16, 16, 27, 16, 10, 0 }, { 16, 16, 28, 16, 10, 0 }, { 16, 16, 29, 16, 10, 0 }, + { 16, 16, 30, 16, 10, 0 }, { 16, 16, 31, 16, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F0B00 = { - 32, { - { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, - { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 24, 10, 0 }, { 16, 16, 7, 24, 10, 0 }, { 16, 16, 8, 24, 10, 0 }, { 16, 16, 9, 24, 10, 0 }, - { 16, 16, 10, 24, 10, 0 }, { 16, 16, 11, 24, 10, 0 }, { 16, 16, 12, 24, 10, 0 }, { 16, 16, 13, 24, 10, 0 }, { 16, 16, 14, 24, 10, 0 }, - { 16, 16, 15, 24, 10, 0 }, { 16, 16, 16, 24, 10, 0 }, { 16, 16, 17, 24, 10, 0 }, { 16, 16, 18, 24, 10, 0 }, { 16, 16, 19, 24, 10, 0 }, - { 16, 16, 20, 24, 10, 0 }, { 16, 16, 21, 24, 10, 0 }, { 16, 16, 22, 24, 10, 0 }, { 16, 16, 23, 24, 10, 0 }, { 16, 16, 24, 24, 10, 0 }, - { 16, 16, 25, 24, 10, 0 }, { 16, 16, 26, 24, 10, 0 }, { 16, 16, 27, 24, 10, 0 }, { 16, 16, 28, 24, 10, 0 }, { 16, 16, 29, 24, 10, 0 }, - { 16, 16, 30, 24, 10, 0 }, { 16, 16, 31, 24, 10, 0 }, + 32, { + { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, + { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 24, 10, 0 }, { 16, 16, 7, 24, 10, 0 }, { 16, 16, 8, 24, 10, 0 }, { 16, 16, 9, 24, 10, 0 }, + { 16, 16, 10, 24, 10, 0 }, { 16, 16, 11, 24, 10, 0 }, { 16, 16, 12, 24, 10, 0 }, { 16, 16, 13, 24, 10, 0 }, { 16, 16, 14, 24, 10, 0 }, + { 16, 16, 15, 24, 10, 0 }, { 16, 16, 16, 24, 10, 0 }, { 16, 16, 17, 24, 10, 0 }, { 16, 16, 18, 24, 10, 0 }, { 16, 16, 19, 24, 10, 0 }, + { 16, 16, 20, 24, 10, 0 }, { 16, 16, 21, 24, 10, 0 }, { 16, 16, 22, 24, 10, 0 }, { 16, 16, 23, 24, 10, 0 }, { 16, 16, 24, 24, 10, 0 }, + { 16, 16, 25, 24, 10, 0 }, { 16, 16, 26, 24, 10, 0 }, { 16, 16, 27, 24, 10, 0 }, { 16, 16, 28, 24, 10, 0 }, { 16, 16, 29, 24, 10, 0 }, + { 16, 16, 30, 24, 10, 0 }, { 16, 16, 31, 24, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F8C82 = { - 135, { - { 31, 16, 0, 0, 45, 2 }, { 30, 16, 0, 0, 45, 2 }, { 29, 16, 0, 0, 45, 2 }, { 28, 16, 0, 0, 45, 2 }, { 27, 16, 0, 31, 45, 2 }, - { 26, 16, 0, 31, 45, 2 }, { 25, 15, 0, 31, 45, 2 }, { 24, 15, 0, 31, 45, 2 }, { 23, 15, 1, 31, 45, 2 }, { 22, 15, 1, 31, 45, 2 }, - { 21, 15, 1, 31, 45, 2 }, { 20, 15, 1, 31, 45, 2 }, { 19, 14, 1, 31, 45, 2 }, { 18, 14, 1, 30, 45, 2 }, { 17, 14, 1, 30, 45, 2 }, - { 16, 13, 1, 30, 45, 2 }, { 15, 13, 2, 30, 45, 2 }, { 14, 13, 2, 30, 45, 2 }, { 13, 12, 2, 30, 45, 2 }, { 12, 12, 2, 30, 45, 2 }, - { 11, 11, 2, 30, 45, 2 }, { 10, 11, 2, 30, 45, 2 }, { 9, 10, 2, 30, 45, 2 }, { 8, 10, 2, 29, 45, 2 }, { 7, 9, 2, 29, 45, 2 }, - { 6, 9, 3, 29, 45, 2 }, { 5, 8, 3, 29, 45, 2 }, { 4, 7, 3, 29, 45, 2 }, { 3, 7, 3, 29, 45, 2 }, { 2, 6, 3, 29, 45, 2 }, - { 1, 5, 3, 29, 45, 2 }, { 0, 4, 3, 29, 45, 2 }, { -1, 3, 3, 28, 45, 2 }, { -3, 3, 4, 28, 45, 2 }, { -4, 2, 4, 28, 45, 2 }, - { -5, 1, 4, 28, 45, 2 }, { -6, 0, 4, 28, 45, 2 }, { -7, -1, 4, 27, 45, 2 }, { -7, -2, 4, 27, 45, 2 }, { -8, -3, 4, 27, 45, 2 }, - { -9, -4, 4, 27, 45, 2 }, { -9, -5, 4, 27, 45, 2 }, { -10, -6, 5, 27, 45, 2 }, { -10, -7, 5, 27, 45, 2 }, { -11, -8, 5, 27, 45, 2 }, - { -11, -9, 5, 27, 45, 2 }, { -12, -10, 5, 26, 45, 2 }, { -12, -11, 5, 26, 45, 2 }, { -13, -12, 5, 26, 45, 2 }, { -13, -13, 5, 26, 45, 2 }, - { -13, -14, 6, 26, 45, 2 }, { -14, -15, 6, 26, 45, 2 }, { -14, -16, 6, 26, 45, 2 }, { -14, -17, 6, 26, 45, 2 }, { -15, -18, 6, 26, 45, 2 }, - { -15, -19, 6, 26, 45, 2 }, { -15, -20, 6, 25, 45, 2 }, { -15, -21, 6, 25, 45, 2 }, { -15, -22, 6, 25, 45, 2 }, { -15, -23, 7, 25, 45, 2 }, - { -16, -24, 7, 25, 45, 2 }, { -16, -25, 7, 25, 45, 2 }, { -16, -26, 7, 25, 45, 2 }, { -16, -27, 7, 25, 45, 2 }, { -16, -28, 7, 24, 45, 2 }, - { -16, -29, 7, 24, 45, 2 }, { -16, -30, 7, 24, 45, 2 }, { -16, -31, 8, 24, 45, 2 }, { -16, -33, 8, 24, 45, 2 }, { -16, -34, 8, 24, 45, 2 }, - { -16, -35, 8, 24, 45, 2 }, { -16, -36, 8, 24, 45, 2 }, { -16, -37, 8, 23, 45, 2 }, { -16, -38, 8, 23, 45, 2 }, { -15, -39, 8, 23, 45, 2 }, - { -15, -40, 8, 23, 45, 2 }, { -15, -41, 9, 23, 45, 2 }, { -15, -42, 9, 23, 45, 2 }, { -15, -43, 9, 23, 45, 2 }, { -15, -44, 9, 23, 45, 2 }, - { -14, -45, 9, 23, 45, 2 }, { -14, -46, 9, 22, 45, 2 }, { -14, -47, 9, 22, 45, 2 }, { -13, -48, 9, 22, 45, 2 }, { -13, -49, 10, 22, 45, 2 }, - { -13, -50, 10, 22, 45, 2 }, { -12, -51, 10, 22, 45, 2 }, { -12, -52, 10, 22, 45, 2 }, { -11, -53, 10, 22, 45, 2 }, { -11, -54, 10, 22, 45, 2 }, - { -10, -55, 10, 22, 45, 2 }, { -10, -56, 10, 21, 45, 2 }, { -9, -57, 10, 21, 45, 2 }, { -9, -58, 11, 21, 45, 2 }, { -8, -59, 11, 21, 45, 2 }, - { -7, -60, 11, 21, 45, 2 }, { -7, -61, 11, 21, 45, 2 }, { -6, -62, 11, 21, 45, 2 }, { -5, -63, 11, 21, 45, 2 }, { -4, -64, 11, 21, 45, 2 }, - { -3, -65, 11, 20, 45, 2 }, { -3, -67, 12, 20, 45, 2 }, { -2, -68, 12, 20, 45, 2 }, { -1, -69, 12, 20, 45, 2 }, { 0, -70, 12, 20, 45, 2 }, - { 1, -71, 12, 19, 45, 2 }, { 2, -71, 12, 19, 45, 2 }, { 3, -72, 12, 19, 45, 2 }, { 4, -73, 12, 19, 45, 2 }, { 5, -73, 13, 19, 45, 2 }, - { 6, -74, 13, 19, 45, 2 }, { 7, -74, 13, 19, 45, 2 }, { 8, -75, 13, 19, 45, 2 }, { 9, -75, 13, 19, 45, 2 }, { 10, -76, 13, 18, 45, 2 }, - { 11, -76, 13, 18, 45, 2 }, { 12, -77, 13, 18, 45, 2 }, { 13, -77, 13, 18, 45, 2 }, { 14, -77, 14, 18, 45, 2 }, { 15, -78, 14, 18, 45, 2 }, - { 16, -78, 14, 18, 45, 2 }, { 17, -78, 14, 18, 45, 2 }, { 18, -79, 14, 18, 45, 2 }, { 19, -79, 14, 18, 45, 2 }, { 20, -79, 14, 17, 45, 2 }, - { 21, -79, 14, 17, 45, 2 }, { 22, -79, 15, 17, 45, 2 }, { 23, -79, 15, 17, 45, 2 }, { 24, -80, 15, 17, 45, 2 }, { 25, -80, 15, 17, 45, 2 }, - { 26, -80, 15, 17, 45, 2 }, { 27, -80, 15, 17, 45, 2 }, { 28, -80, 15, 16, 45, 2 }, { 29, -80, 15, 16, 45, 2 }, { 30, -80, 16, 16, 45, 2 }, + 135, { + { 31, 16, 0, 0, 45, 2 }, { 30, 16, 0, 0, 45, 2 }, { 29, 16, 0, 0, 45, 2 }, { 28, 16, 0, 0, 45, 2 }, { 27, 16, 0, 31, 45, 2 }, + { 26, 16, 0, 31, 45, 2 }, { 25, 15, 0, 31, 45, 2 }, { 24, 15, 0, 31, 45, 2 }, { 23, 15, 1, 31, 45, 2 }, { 22, 15, 1, 31, 45, 2 }, + { 21, 15, 1, 31, 45, 2 }, { 20, 15, 1, 31, 45, 2 }, { 19, 14, 1, 31, 45, 2 }, { 18, 14, 1, 30, 45, 2 }, { 17, 14, 1, 30, 45, 2 }, + { 16, 13, 1, 30, 45, 2 }, { 15, 13, 2, 30, 45, 2 }, { 14, 13, 2, 30, 45, 2 }, { 13, 12, 2, 30, 45, 2 }, { 12, 12, 2, 30, 45, 2 }, + { 11, 11, 2, 30, 45, 2 }, { 10, 11, 2, 30, 45, 2 }, { 9, 10, 2, 30, 45, 2 }, { 8, 10, 2, 29, 45, 2 }, { 7, 9, 2, 29, 45, 2 }, + { 6, 9, 3, 29, 45, 2 }, { 5, 8, 3, 29, 45, 2 }, { 4, 7, 3, 29, 45, 2 }, { 3, 7, 3, 29, 45, 2 }, { 2, 6, 3, 29, 45, 2 }, + { 1, 5, 3, 29, 45, 2 }, { 0, 4, 3, 29, 45, 2 }, { -1, 3, 3, 28, 45, 2 }, { -3, 3, 4, 28, 45, 2 }, { -4, 2, 4, 28, 45, 2 }, + { -5, 1, 4, 28, 45, 2 }, { -6, 0, 4, 28, 45, 2 }, { -7, -1, 4, 27, 45, 2 }, { -7, -2, 4, 27, 45, 2 }, { -8, -3, 4, 27, 45, 2 }, + { -9, -4, 4, 27, 45, 2 }, { -9, -5, 4, 27, 45, 2 }, { -10, -6, 5, 27, 45, 2 }, { -10, -7, 5, 27, 45, 2 }, { -11, -8, 5, 27, 45, 2 }, + { -11, -9, 5, 27, 45, 2 }, { -12, -10, 5, 26, 45, 2 }, { -12, -11, 5, 26, 45, 2 }, { -13, -12, 5, 26, 45, 2 }, { -13, -13, 5, 26, 45, 2 }, + { -13, -14, 6, 26, 45, 2 }, { -14, -15, 6, 26, 45, 2 }, { -14, -16, 6, 26, 45, 2 }, { -14, -17, 6, 26, 45, 2 }, { -15, -18, 6, 26, 45, 2 }, + { -15, -19, 6, 26, 45, 2 }, { -15, -20, 6, 25, 45, 2 }, { -15, -21, 6, 25, 45, 2 }, { -15, -22, 6, 25, 45, 2 }, { -15, -23, 7, 25, 45, 2 }, + { -16, -24, 7, 25, 45, 2 }, { -16, -25, 7, 25, 45, 2 }, { -16, -26, 7, 25, 45, 2 }, { -16, -27, 7, 25, 45, 2 }, { -16, -28, 7, 24, 45, 2 }, + { -16, -29, 7, 24, 45, 2 }, { -16, -30, 7, 24, 45, 2 }, { -16, -31, 8, 24, 45, 2 }, { -16, -33, 8, 24, 45, 2 }, { -16, -34, 8, 24, 45, 2 }, + { -16, -35, 8, 24, 45, 2 }, { -16, -36, 8, 24, 45, 2 }, { -16, -37, 8, 23, 45, 2 }, { -16, -38, 8, 23, 45, 2 }, { -15, -39, 8, 23, 45, 2 }, + { -15, -40, 8, 23, 45, 2 }, { -15, -41, 9, 23, 45, 2 }, { -15, -42, 9, 23, 45, 2 }, { -15, -43, 9, 23, 45, 2 }, { -15, -44, 9, 23, 45, 2 }, + { -14, -45, 9, 23, 45, 2 }, { -14, -46, 9, 22, 45, 2 }, { -14, -47, 9, 22, 45, 2 }, { -13, -48, 9, 22, 45, 2 }, { -13, -49, 10, 22, 45, 2 }, + { -13, -50, 10, 22, 45, 2 }, { -12, -51, 10, 22, 45, 2 }, { -12, -52, 10, 22, 45, 2 }, { -11, -53, 10, 22, 45, 2 }, { -11, -54, 10, 22, 45, 2 }, + { -10, -55, 10, 22, 45, 2 }, { -10, -56, 10, 21, 45, 2 }, { -9, -57, 10, 21, 45, 2 }, { -9, -58, 11, 21, 45, 2 }, { -8, -59, 11, 21, 45, 2 }, + { -7, -60, 11, 21, 45, 2 }, { -7, -61, 11, 21, 45, 2 }, { -6, -62, 11, 21, 45, 2 }, { -5, -63, 11, 21, 45, 2 }, { -4, -64, 11, 21, 45, 2 }, + { -3, -65, 11, 20, 45, 2 }, { -3, -67, 12, 20, 45, 2 }, { -2, -68, 12, 20, 45, 2 }, { -1, -69, 12, 20, 45, 2 }, { 0, -70, 12, 20, 45, 2 }, + { 1, -71, 12, 19, 45, 2 }, { 2, -71, 12, 19, 45, 2 }, { 3, -72, 12, 19, 45, 2 }, { 4, -73, 12, 19, 45, 2 }, { 5, -73, 13, 19, 45, 2 }, + { 6, -74, 13, 19, 45, 2 }, { 7, -74, 13, 19, 45, 2 }, { 8, -75, 13, 19, 45, 2 }, { 9, -75, 13, 19, 45, 2 }, { 10, -76, 13, 18, 45, 2 }, + { 11, -76, 13, 18, 45, 2 }, { 12, -77, 13, 18, 45, 2 }, { 13, -77, 13, 18, 45, 2 }, { 14, -77, 14, 18, 45, 2 }, { 15, -78, 14, 18, 45, 2 }, + { 16, -78, 14, 18, 45, 2 }, { 17, -78, 14, 18, 45, 2 }, { 18, -79, 14, 18, 45, 2 }, { 19, -79, 14, 18, 45, 2 }, { 20, -79, 14, 17, 45, 2 }, + { 21, -79, 14, 17, 45, 2 }, { 22, -79, 15, 17, 45, 2 }, { 23, -79, 15, 17, 45, 2 }, { 24, -80, 15, 17, 45, 2 }, { 25, -80, 15, 17, 45, 2 }, + { 26, -80, 15, 17, 45, 2 }, { 27, -80, 15, 17, 45, 2 }, { 28, -80, 15, 16, 45, 2 }, { 29, -80, 15, 16, 45, 2 }, { 30, -80, 16, 16, 45, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F9143 = { - 137, { - { 16, 0, 0, 8, 45, 2 }, { 16, 1, 0, 8, 45, 2 }, { 16, 2, 0, 8, 45, 2 }, { 16, 3, 0, 8, 45, 2 }, { 16, 4, 0, 8, 45, 2 }, - { 16, 5, 0, 7, 45, 2 }, { 16, 6, 0, 7, 45, 2 }, { 15, 7, 0, 7, 45, 2 }, { 15, 8, 0, 7, 45, 2 }, { 15, 9, 1, 7, 45, 2 }, - { 15, 10, 1, 7, 45, 2 }, { 15, 11, 1, 7, 45, 2 }, { 15, 12, 1, 7, 45, 2 }, { 14, 13, 1, 7, 45, 2 }, { 14, 14, 1, 6, 45, 2 }, - { 14, 15, 1, 6, 45, 2 }, { 13, 16, 1, 6, 45, 2 }, { 13, 17, 1, 6, 45, 2 }, { 13, 18, 2, 6, 45, 2 }, { 12, 19, 2, 6, 45, 2 }, - { 12, 20, 2, 6, 45, 2 }, { 11, 21, 2, 6, 45, 2 }, { 11, 22, 2, 6, 45, 2 }, { 10, 23, 2, 6, 45, 2 }, { 10, 24, 2, 5, 45, 2 }, - { 9, 25, 2, 5, 45, 2 }, { 9, 26, 3, 5, 45, 2 }, { 8, 27, 3, 5, 45, 2 }, { 7, 28, 3, 5, 45, 2 }, { 7, 29, 3, 5, 45, 2 }, - { 6, 30, 3, 5, 45, 2 }, { 5, 31, 3, 5, 45, 2 }, { 4, 32, 3, 5, 45, 2 }, { 3, 33, 3, 4, 45, 2 }, { 3, 35, 3, 4, 45, 2 }, - { 2, 36, 4, 4, 45, 2 }, { 1, 37, 4, 4, 45, 2 }, { 0, 38, 4, 4, 45, 2 }, { -1, 39, 4, 3, 45, 2 }, { -2, 39, 4, 3, 45, 2 }, - { -3, 40, 4, 3, 45, 2 }, { -4, 41, 4, 3, 45, 2 }, { -5, 41, 4, 3, 45, 2 }, { -6, 42, 4, 3, 45, 2 }, { -7, 42, 5, 3, 45, 2 }, - { -8, 43, 5, 3, 45, 2 }, { -9, 43, 5, 3, 45, 2 }, { -10, 44, 5, 2, 45, 2 }, { -11, 44, 5, 2, 45, 2 }, { -12, 45, 5, 2, 45, 2 }, - { -13, 45, 5, 2, 45, 2 }, { -14, 45, 5, 2, 45, 2 }, { -15, 46, 6, 2, 45, 2 }, { -16, 46, 6, 2, 45, 2 }, { -17, 46, 6, 2, 45, 2 }, - { -18, 47, 6, 2, 45, 2 }, { -19, 47, 6, 2, 45, 2 }, { -20, 47, 6, 1, 45, 2 }, { -21, 47, 6, 1, 45, 2 }, { -22, 47, 6, 1, 45, 2 }, - { -23, 47, 6, 1, 45, 2 }, { -24, 48, 7, 1, 45, 2 }, { -25, 48, 7, 1, 45, 2 }, { -26, 48, 7, 1, 45, 2 }, { -27, 48, 7, 1, 45, 2 }, - { -28, 48, 7, 0, 45, 2 }, { -29, 48, 7, 0, 45, 2 }, { -30, 48, 7, 0, 45, 2 }, { -31, 48, 7, 0, 45, 2 }, { -33, 48, 8, 0, 45, 2 }, - { -34, 48, 8, 0, 45, 2 }, { -35, 48, 8, 0, 45, 2 }, { -36, 48, 8, 0, 45, 2 }, { -37, 48, 8, 31, 45, 2 }, { -38, 48, 8, 31, 45, 2 }, - { -39, 47, 8, 31, 45, 2 }, { -40, 47, 8, 31, 45, 2 }, { -41, 47, 9, 31, 45, 2 }, { -42, 47, 9, 31, 45, 2 }, { -43, 47, 9, 31, 45, 2 }, - { -44, 47, 9, 31, 45, 2 }, { -45, 46, 9, 31, 45, 2 }, { -46, 46, 9, 30, 45, 2 }, { -47, 46, 9, 30, 45, 2 }, { -48, 45, 9, 30, 45, 2 }, - { -49, 45, 10, 30, 45, 2 }, { -50, 45, 10, 30, 45, 2 }, { -51, 44, 10, 30, 45, 2 }, { -52, 44, 10, 30, 45, 2 }, { -53, 43, 10, 30, 45, 2 }, - { -54, 43, 10, 30, 45, 2 }, { -55, 42, 10, 30, 45, 2 }, { -56, 42, 10, 29, 45, 2 }, { -57, 41, 10, 29, 45, 2 }, { -58, 41, 11, 29, 45, 2 }, - { -59, 40, 11, 29, 45, 2 }, { -60, 39, 11, 29, 45, 2 }, { -61, 39, 11, 29, 45, 2 }, { -62, 38, 11, 29, 45, 2 }, { -63, 37, 11, 29, 45, 2 }, - { -64, 36, 11, 29, 45, 2 }, { -65, 35, 11, 28, 45, 2 }, { -67, 35, 12, 28, 45, 2 }, { -68, 34, 12, 28, 45, 2 }, { -69, 33, 12, 28, 45, 2 }, - { -70, 32, 12, 28, 45, 2 }, { -71, 31, 12, 27, 45, 2 }, { -71, 30, 12, 27, 45, 2 }, { -72, 29, 12, 27, 45, 2 }, { -73, 28, 12, 27, 45, 2 }, - { -73, 27, 12, 27, 45, 2 }, { -74, 26, 13, 27, 45, 2 }, { -74, 25, 13, 27, 45, 2 }, { -75, 24, 13, 27, 45, 2 }, { -75, 23, 13, 27, 45, 2 }, - { -76, 22, 13, 26, 45, 2 }, { -76, 21, 13, 26, 45, 2 }, { -77, 20, 13, 26, 45, 2 }, { -77, 19, 13, 26, 45, 2 }, { -77, 18, 14, 26, 45, 2 }, - { -78, 17, 14, 26, 45, 2 }, { -78, 16, 14, 26, 45, 2 }, { -78, 15, 14, 26, 45, 2 }, { -79, 14, 14, 26, 45, 2 }, { -79, 13, 14, 26, 45, 2 }, - { -79, 12, 14, 25, 45, 2 }, { -79, 11, 14, 25, 45, 2 }, { -79, 10, 14, 25, 45, 2 }, { -79, 9, 15, 25, 45, 2 }, { -80, 8, 15, 25, 45, 2 }, - { -80, 7, 15, 25, 45, 2 }, { -80, 6, 15, 25, 45, 2 }, { -80, 5, 15, 25, 45, 2 }, { -80, 4, 15, 24, 45, 2 }, { -80, 3, 15, 24, 45, 2 }, - { -80, 2, 15, 24, 45, 2 }, { -80, 1, 16, 24, 45, 2 }, + 137, { + { 16, 0, 0, 8, 45, 2 }, { 16, 1, 0, 8, 45, 2 }, { 16, 2, 0, 8, 45, 2 }, { 16, 3, 0, 8, 45, 2 }, { 16, 4, 0, 8, 45, 2 }, + { 16, 5, 0, 7, 45, 2 }, { 16, 6, 0, 7, 45, 2 }, { 15, 7, 0, 7, 45, 2 }, { 15, 8, 0, 7, 45, 2 }, { 15, 9, 1, 7, 45, 2 }, + { 15, 10, 1, 7, 45, 2 }, { 15, 11, 1, 7, 45, 2 }, { 15, 12, 1, 7, 45, 2 }, { 14, 13, 1, 7, 45, 2 }, { 14, 14, 1, 6, 45, 2 }, + { 14, 15, 1, 6, 45, 2 }, { 13, 16, 1, 6, 45, 2 }, { 13, 17, 1, 6, 45, 2 }, { 13, 18, 2, 6, 45, 2 }, { 12, 19, 2, 6, 45, 2 }, + { 12, 20, 2, 6, 45, 2 }, { 11, 21, 2, 6, 45, 2 }, { 11, 22, 2, 6, 45, 2 }, { 10, 23, 2, 6, 45, 2 }, { 10, 24, 2, 5, 45, 2 }, + { 9, 25, 2, 5, 45, 2 }, { 9, 26, 3, 5, 45, 2 }, { 8, 27, 3, 5, 45, 2 }, { 7, 28, 3, 5, 45, 2 }, { 7, 29, 3, 5, 45, 2 }, + { 6, 30, 3, 5, 45, 2 }, { 5, 31, 3, 5, 45, 2 }, { 4, 32, 3, 5, 45, 2 }, { 3, 33, 3, 4, 45, 2 }, { 3, 35, 3, 4, 45, 2 }, + { 2, 36, 4, 4, 45, 2 }, { 1, 37, 4, 4, 45, 2 }, { 0, 38, 4, 4, 45, 2 }, { -1, 39, 4, 3, 45, 2 }, { -2, 39, 4, 3, 45, 2 }, + { -3, 40, 4, 3, 45, 2 }, { -4, 41, 4, 3, 45, 2 }, { -5, 41, 4, 3, 45, 2 }, { -6, 42, 4, 3, 45, 2 }, { -7, 42, 5, 3, 45, 2 }, + { -8, 43, 5, 3, 45, 2 }, { -9, 43, 5, 3, 45, 2 }, { -10, 44, 5, 2, 45, 2 }, { -11, 44, 5, 2, 45, 2 }, { -12, 45, 5, 2, 45, 2 }, + { -13, 45, 5, 2, 45, 2 }, { -14, 45, 5, 2, 45, 2 }, { -15, 46, 6, 2, 45, 2 }, { -16, 46, 6, 2, 45, 2 }, { -17, 46, 6, 2, 45, 2 }, + { -18, 47, 6, 2, 45, 2 }, { -19, 47, 6, 2, 45, 2 }, { -20, 47, 6, 1, 45, 2 }, { -21, 47, 6, 1, 45, 2 }, { -22, 47, 6, 1, 45, 2 }, + { -23, 47, 6, 1, 45, 2 }, { -24, 48, 7, 1, 45, 2 }, { -25, 48, 7, 1, 45, 2 }, { -26, 48, 7, 1, 45, 2 }, { -27, 48, 7, 1, 45, 2 }, + { -28, 48, 7, 0, 45, 2 }, { -29, 48, 7, 0, 45, 2 }, { -30, 48, 7, 0, 45, 2 }, { -31, 48, 7, 0, 45, 2 }, { -33, 48, 8, 0, 45, 2 }, + { -34, 48, 8, 0, 45, 2 }, { -35, 48, 8, 0, 45, 2 }, { -36, 48, 8, 0, 45, 2 }, { -37, 48, 8, 31, 45, 2 }, { -38, 48, 8, 31, 45, 2 }, + { -39, 47, 8, 31, 45, 2 }, { -40, 47, 8, 31, 45, 2 }, { -41, 47, 9, 31, 45, 2 }, { -42, 47, 9, 31, 45, 2 }, { -43, 47, 9, 31, 45, 2 }, + { -44, 47, 9, 31, 45, 2 }, { -45, 46, 9, 31, 45, 2 }, { -46, 46, 9, 30, 45, 2 }, { -47, 46, 9, 30, 45, 2 }, { -48, 45, 9, 30, 45, 2 }, + { -49, 45, 10, 30, 45, 2 }, { -50, 45, 10, 30, 45, 2 }, { -51, 44, 10, 30, 45, 2 }, { -52, 44, 10, 30, 45, 2 }, { -53, 43, 10, 30, 45, 2 }, + { -54, 43, 10, 30, 45, 2 }, { -55, 42, 10, 30, 45, 2 }, { -56, 42, 10, 29, 45, 2 }, { -57, 41, 10, 29, 45, 2 }, { -58, 41, 11, 29, 45, 2 }, + { -59, 40, 11, 29, 45, 2 }, { -60, 39, 11, 29, 45, 2 }, { -61, 39, 11, 29, 45, 2 }, { -62, 38, 11, 29, 45, 2 }, { -63, 37, 11, 29, 45, 2 }, + { -64, 36, 11, 29, 45, 2 }, { -65, 35, 11, 28, 45, 2 }, { -67, 35, 12, 28, 45, 2 }, { -68, 34, 12, 28, 45, 2 }, { -69, 33, 12, 28, 45, 2 }, + { -70, 32, 12, 28, 45, 2 }, { -71, 31, 12, 27, 45, 2 }, { -71, 30, 12, 27, 45, 2 }, { -72, 29, 12, 27, 45, 2 }, { -73, 28, 12, 27, 45, 2 }, + { -73, 27, 12, 27, 45, 2 }, { -74, 26, 13, 27, 45, 2 }, { -74, 25, 13, 27, 45, 2 }, { -75, 24, 13, 27, 45, 2 }, { -75, 23, 13, 27, 45, 2 }, + { -76, 22, 13, 26, 45, 2 }, { -76, 21, 13, 26, 45, 2 }, { -77, 20, 13, 26, 45, 2 }, { -77, 19, 13, 26, 45, 2 }, { -77, 18, 14, 26, 45, 2 }, + { -78, 17, 14, 26, 45, 2 }, { -78, 16, 14, 26, 45, 2 }, { -78, 15, 14, 26, 45, 2 }, { -79, 14, 14, 26, 45, 2 }, { -79, 13, 14, 26, 45, 2 }, + { -79, 12, 14, 25, 45, 2 }, { -79, 11, 14, 25, 45, 2 }, { -79, 10, 14, 25, 45, 2 }, { -79, 9, 15, 25, 45, 2 }, { -80, 8, 15, 25, 45, 2 }, + { -80, 7, 15, 25, 45, 2 }, { -80, 6, 15, 25, 45, 2 }, { -80, 5, 15, 25, 45, 2 }, { -80, 4, 15, 24, 45, 2 }, { -80, 3, 15, 24, 45, 2 }, + { -80, 2, 15, 24, 45, 2 }, { -80, 1, 16, 24, 45, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F9616 = { - 137, { - { 0, 16, 0, 16, 45, 2 }, { 1, 16, 0, 16, 45, 2 }, { 2, 16, 0, 16, 45, 2 }, { 3, 16, 0, 16, 45, 2 }, { 4, 16, 0, 16, 45, 2 }, - { 5, 16, 0, 15, 45, 2 }, { 6, 16, 0, 15, 45, 2 }, { 7, 17, 0, 15, 45, 2 }, { 8, 17, 0, 15, 45, 2 }, { 9, 17, 1, 15, 45, 2 }, - { 10, 17, 1, 15, 45, 2 }, { 11, 17, 1, 15, 45, 2 }, { 12, 17, 1, 15, 45, 2 }, { 13, 18, 1, 15, 45, 2 }, { 14, 18, 1, 14, 45, 2 }, - { 15, 18, 1, 14, 45, 2 }, { 16, 19, 1, 14, 45, 2 }, { 17, 19, 2, 14, 45, 2 }, { 18, 19, 2, 14, 45, 2 }, { 19, 20, 2, 14, 45, 2 }, - { 20, 20, 2, 14, 45, 2 }, { 21, 21, 2, 14, 45, 2 }, { 22, 21, 2, 14, 45, 2 }, { 23, 22, 2, 14, 45, 2 }, { 24, 22, 2, 13, 45, 2 }, - { 25, 23, 2, 13, 45, 2 }, { 26, 23, 3, 13, 45, 2 }, { 27, 24, 3, 13, 45, 2 }, { 28, 25, 3, 13, 45, 2 }, { 29, 25, 3, 13, 45, 2 }, - { 30, 26, 3, 13, 45, 2 }, { 31, 27, 3, 13, 45, 2 }, { 32, 28, 3, 13, 45, 2 }, { 33, 29, 3, 12, 45, 2 }, { 35, 29, 4, 12, 45, 2 }, - { 36, 30, 4, 12, 45, 2 }, { 37, 31, 4, 12, 45, 2 }, { 38, 32, 4, 12, 45, 2 }, { 39, 33, 4, 11, 45, 2 }, { 39, 34, 4, 11, 45, 2 }, - { 40, 35, 4, 11, 45, 2 }, { 41, 36, 4, 11, 45, 2 }, { 41, 37, 4, 11, 45, 2 }, { 42, 38, 5, 11, 45, 2 }, { 42, 39, 5, 11, 45, 2 }, - { 43, 40, 5, 11, 45, 2 }, { 43, 41, 5, 11, 45, 2 }, { 44, 42, 5, 10, 45, 2 }, { 44, 43, 5, 10, 45, 2 }, { 45, 44, 5, 10, 45, 2 }, - { 45, 45, 5, 10, 45, 2 }, { 45, 46, 6, 10, 45, 2 }, { 46, 47, 6, 10, 45, 2 }, { 46, 48, 6, 10, 45, 2 }, { 46, 49, 6, 10, 45, 2 }, - { 47, 50, 6, 10, 45, 2 }, { 47, 51, 6, 10, 45, 2 }, { 47, 52, 6, 9, 45, 2 }, { 47, 53, 6, 9, 45, 2 }, { 47, 54, 6, 9, 45, 2 }, - { 47, 55, 7, 9, 45, 2 }, { 48, 56, 7, 9, 45, 2 }, { 48, 57, 7, 9, 45, 2 }, { 48, 58, 7, 9, 45, 2 }, { 48, 59, 7, 9, 45, 2 }, - { 48, 60, 7, 8, 45, 2 }, { 48, 61, 7, 8, 45, 2 }, { 48, 62, 7, 8, 45, 2 }, { 48, 64, 8, 8, 45, 2 }, { 48, 65, 8, 8, 45, 2 }, - { 48, 66, 8, 8, 45, 2 }, { 48, 67, 8, 8, 45, 2 }, { 48, 68, 8, 8, 45, 2 }, { 48, 69, 8, 7, 45, 2 }, { 48, 70, 8, 7, 45, 2 }, - { 47, 71, 8, 7, 45, 2 }, { 47, 72, 8, 7, 45, 2 }, { 47, 73, 9, 7, 45, 2 }, { 47, 74, 9, 7, 45, 2 }, { 47, 75, 9, 7, 45, 2 }, - { 47, 76, 9, 7, 45, 2 }, { 46, 77, 9, 7, 45, 2 }, { 46, 78, 9, 6, 45, 2 }, { 46, 79, 9, 6, 45, 2 }, { 45, 80, 9, 6, 45, 2 }, - { 45, 81, 9, 6, 45, 2 }, { 45, 82, 10, 6, 45, 2 }, { 44, 83, 10, 6, 45, 2 }, { 44, 84, 10, 6, 45, 2 }, { 43, 85, 10, 6, 45, 2 }, - { 43, 86, 10, 6, 45, 2 }, { 42, 87, 10, 6, 45, 2 }, { 42, 88, 10, 5, 45, 2 }, { 41, 89, 10, 5, 45, 2 }, { 41, 90, 11, 5, 45, 2 }, - { 40, 91, 11, 5, 45, 2 }, { 39, 92, 11, 5, 45, 2 }, { 39, 93, 11, 5, 45, 2 }, { 38, 94, 11, 5, 45, 2 }, { 37, 95, 11, 5, 45, 2 }, - { 36, 96, 11, 5, 45, 2 }, { 35, 97, 11, 4, 45, 2 }, { 35, 99, 11, 4, 45, 2 }, { 34, 100, 12, 4, 45, 2 }, { 33, 101, 12, 4, 45, 2 }, - { 32, 102, 12, 4, 45, 2 }, { 31, 103, 12, 3, 45, 2 }, { 30, 103, 12, 3, 45, 2 }, { 29, 104, 12, 3, 45, 2 }, { 28, 105, 12, 3, 45, 2 }, - { 27, 105, 12, 3, 45, 2 }, { 26, 106, 12, 3, 45, 2 }, { 25, 106, 13, 3, 45, 2 }, { 24, 107, 13, 3, 45, 2 }, { 23, 107, 13, 3, 45, 2 }, - { 22, 108, 13, 2, 45, 2 }, { 21, 108, 13, 2, 45, 2 }, { 20, 109, 13, 2, 45, 2 }, { 19, 109, 13, 2, 45, 2 }, { 18, 109, 13, 2, 45, 2 }, - { 17, 110, 14, 2, 45, 2 }, { 16, 110, 14, 2, 45, 2 }, { 15, 110, 14, 2, 45, 2 }, { 14, 111, 14, 2, 45, 2 }, { 13, 111, 14, 2, 45, 2 }, - { 12, 111, 14, 1, 45, 2 }, { 11, 111, 14, 1, 45, 2 }, { 10, 111, 14, 1, 45, 2 }, { 9, 111, 14, 1, 45, 2 }, { 8, 112, 15, 1, 45, 2 }, - { 7, 112, 15, 1, 45, 2 }, { 6, 112, 15, 1, 45, 2 }, { 5, 112, 15, 1, 45, 2 }, { 4, 112, 15, 0, 45, 2 }, { 3, 112, 15, 0, 45, 2 }, - { 2, 112, 15, 0, 45, 2 }, { 1, 112, 15, 0, 45, 2 }, + 137, { + { 0, 16, 0, 16, 45, 2 }, { 1, 16, 0, 16, 45, 2 }, { 2, 16, 0, 16, 45, 2 }, { 3, 16, 0, 16, 45, 2 }, { 4, 16, 0, 16, 45, 2 }, + { 5, 16, 0, 15, 45, 2 }, { 6, 16, 0, 15, 45, 2 }, { 7, 17, 0, 15, 45, 2 }, { 8, 17, 0, 15, 45, 2 }, { 9, 17, 1, 15, 45, 2 }, + { 10, 17, 1, 15, 45, 2 }, { 11, 17, 1, 15, 45, 2 }, { 12, 17, 1, 15, 45, 2 }, { 13, 18, 1, 15, 45, 2 }, { 14, 18, 1, 14, 45, 2 }, + { 15, 18, 1, 14, 45, 2 }, { 16, 19, 1, 14, 45, 2 }, { 17, 19, 2, 14, 45, 2 }, { 18, 19, 2, 14, 45, 2 }, { 19, 20, 2, 14, 45, 2 }, + { 20, 20, 2, 14, 45, 2 }, { 21, 21, 2, 14, 45, 2 }, { 22, 21, 2, 14, 45, 2 }, { 23, 22, 2, 14, 45, 2 }, { 24, 22, 2, 13, 45, 2 }, + { 25, 23, 2, 13, 45, 2 }, { 26, 23, 3, 13, 45, 2 }, { 27, 24, 3, 13, 45, 2 }, { 28, 25, 3, 13, 45, 2 }, { 29, 25, 3, 13, 45, 2 }, + { 30, 26, 3, 13, 45, 2 }, { 31, 27, 3, 13, 45, 2 }, { 32, 28, 3, 13, 45, 2 }, { 33, 29, 3, 12, 45, 2 }, { 35, 29, 4, 12, 45, 2 }, + { 36, 30, 4, 12, 45, 2 }, { 37, 31, 4, 12, 45, 2 }, { 38, 32, 4, 12, 45, 2 }, { 39, 33, 4, 11, 45, 2 }, { 39, 34, 4, 11, 45, 2 }, + { 40, 35, 4, 11, 45, 2 }, { 41, 36, 4, 11, 45, 2 }, { 41, 37, 4, 11, 45, 2 }, { 42, 38, 5, 11, 45, 2 }, { 42, 39, 5, 11, 45, 2 }, + { 43, 40, 5, 11, 45, 2 }, { 43, 41, 5, 11, 45, 2 }, { 44, 42, 5, 10, 45, 2 }, { 44, 43, 5, 10, 45, 2 }, { 45, 44, 5, 10, 45, 2 }, + { 45, 45, 5, 10, 45, 2 }, { 45, 46, 6, 10, 45, 2 }, { 46, 47, 6, 10, 45, 2 }, { 46, 48, 6, 10, 45, 2 }, { 46, 49, 6, 10, 45, 2 }, + { 47, 50, 6, 10, 45, 2 }, { 47, 51, 6, 10, 45, 2 }, { 47, 52, 6, 9, 45, 2 }, { 47, 53, 6, 9, 45, 2 }, { 47, 54, 6, 9, 45, 2 }, + { 47, 55, 7, 9, 45, 2 }, { 48, 56, 7, 9, 45, 2 }, { 48, 57, 7, 9, 45, 2 }, { 48, 58, 7, 9, 45, 2 }, { 48, 59, 7, 9, 45, 2 }, + { 48, 60, 7, 8, 45, 2 }, { 48, 61, 7, 8, 45, 2 }, { 48, 62, 7, 8, 45, 2 }, { 48, 64, 8, 8, 45, 2 }, { 48, 65, 8, 8, 45, 2 }, + { 48, 66, 8, 8, 45, 2 }, { 48, 67, 8, 8, 45, 2 }, { 48, 68, 8, 8, 45, 2 }, { 48, 69, 8, 7, 45, 2 }, { 48, 70, 8, 7, 45, 2 }, + { 47, 71, 8, 7, 45, 2 }, { 47, 72, 8, 7, 45, 2 }, { 47, 73, 9, 7, 45, 2 }, { 47, 74, 9, 7, 45, 2 }, { 47, 75, 9, 7, 45, 2 }, + { 47, 76, 9, 7, 45, 2 }, { 46, 77, 9, 7, 45, 2 }, { 46, 78, 9, 6, 45, 2 }, { 46, 79, 9, 6, 45, 2 }, { 45, 80, 9, 6, 45, 2 }, + { 45, 81, 9, 6, 45, 2 }, { 45, 82, 10, 6, 45, 2 }, { 44, 83, 10, 6, 45, 2 }, { 44, 84, 10, 6, 45, 2 }, { 43, 85, 10, 6, 45, 2 }, + { 43, 86, 10, 6, 45, 2 }, { 42, 87, 10, 6, 45, 2 }, { 42, 88, 10, 5, 45, 2 }, { 41, 89, 10, 5, 45, 2 }, { 41, 90, 11, 5, 45, 2 }, + { 40, 91, 11, 5, 45, 2 }, { 39, 92, 11, 5, 45, 2 }, { 39, 93, 11, 5, 45, 2 }, { 38, 94, 11, 5, 45, 2 }, { 37, 95, 11, 5, 45, 2 }, + { 36, 96, 11, 5, 45, 2 }, { 35, 97, 11, 4, 45, 2 }, { 35, 99, 11, 4, 45, 2 }, { 34, 100, 12, 4, 45, 2 }, { 33, 101, 12, 4, 45, 2 }, + { 32, 102, 12, 4, 45, 2 }, { 31, 103, 12, 3, 45, 2 }, { 30, 103, 12, 3, 45, 2 }, { 29, 104, 12, 3, 45, 2 }, { 28, 105, 12, 3, 45, 2 }, + { 27, 105, 12, 3, 45, 2 }, { 26, 106, 12, 3, 45, 2 }, { 25, 106, 13, 3, 45, 2 }, { 24, 107, 13, 3, 45, 2 }, { 23, 107, 13, 3, 45, 2 }, + { 22, 108, 13, 2, 45, 2 }, { 21, 108, 13, 2, 45, 2 }, { 20, 109, 13, 2, 45, 2 }, { 19, 109, 13, 2, 45, 2 }, { 18, 109, 13, 2, 45, 2 }, + { 17, 110, 14, 2, 45, 2 }, { 16, 110, 14, 2, 45, 2 }, { 15, 110, 14, 2, 45, 2 }, { 14, 111, 14, 2, 45, 2 }, { 13, 111, 14, 2, 45, 2 }, + { 12, 111, 14, 1, 45, 2 }, { 11, 111, 14, 1, 45, 2 }, { 10, 111, 14, 1, 45, 2 }, { 9, 111, 14, 1, 45, 2 }, { 8, 112, 15, 1, 45, 2 }, + { 7, 112, 15, 1, 45, 2 }, { 6, 112, 15, 1, 45, 2 }, { 5, 112, 15, 1, 45, 2 }, { 4, 112, 15, 0, 45, 2 }, { 3, 112, 15, 0, 45, 2 }, + { 2, 112, 15, 0, 45, 2 }, { 1, 112, 15, 0, 45, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F9AE9 = { - 135, { - { 16, 31, 0, 24, 45, 2 }, { 16, 30, 0, 24, 45, 2 }, { 16, 29, 0, 24, 45, 2 }, { 16, 28, 0, 24, 45, 2 }, { 16, 27, 0, 23, 45, 2 }, - { 16, 26, 0, 23, 45, 2 }, { 17, 25, 0, 23, 45, 2 }, { 17, 24, 0, 23, 45, 2 }, { 17, 23, 1, 23, 45, 2 }, { 17, 22, 1, 23, 45, 2 }, - { 17, 21, 1, 23, 45, 2 }, { 17, 20, 1, 23, 45, 2 }, { 18, 19, 1, 23, 45, 2 }, { 18, 18, 1, 22, 45, 2 }, { 18, 17, 1, 22, 45, 2 }, - { 19, 16, 1, 22, 45, 2 }, { 19, 15, 2, 22, 45, 2 }, { 19, 14, 2, 22, 45, 2 }, { 20, 13, 2, 22, 45, 2 }, { 20, 12, 2, 22, 45, 2 }, - { 21, 11, 2, 22, 45, 2 }, { 21, 10, 2, 22, 45, 2 }, { 22, 9, 2, 22, 45, 2 }, { 22, 8, 2, 21, 45, 2 }, { 23, 7, 2, 21, 45, 2 }, - { 23, 6, 3, 21, 45, 2 }, { 24, 5, 3, 21, 45, 2 }, { 25, 4, 3, 21, 45, 2 }, { 25, 3, 3, 21, 45, 2 }, { 26, 2, 3, 21, 45, 2 }, - { 27, 1, 3, 21, 45, 2 }, { 28, 0, 3, 21, 45, 2 }, { 29, -1, 3, 20, 45, 2 }, { 29, -3, 4, 20, 45, 2 }, { 30, -4, 4, 20, 45, 2 }, - { 31, -5, 4, 20, 45, 2 }, { 32, -6, 4, 20, 45, 2 }, { 33, -7, 4, 19, 45, 2 }, { 34, -7, 4, 19, 45, 2 }, { 35, -8, 4, 19, 45, 2 }, - { 36, -9, 4, 19, 45, 2 }, { 37, -9, 5, 19, 45, 2 }, { 38, -10, 5, 19, 45, 2 }, { 39, -10, 5, 19, 45, 2 }, { 40, -11, 5, 19, 45, 2 }, - { 41, -11, 5, 19, 45, 2 }, { 42, -12, 5, 18, 45, 2 }, { 43, -12, 5, 18, 45, 2 }, { 44, -13, 5, 18, 45, 2 }, { 45, -13, 5, 18, 45, 2 }, - { 46, -13, 6, 18, 45, 2 }, { 47, -14, 6, 18, 45, 2 }, { 48, -14, 6, 18, 45, 2 }, { 49, -14, 6, 18, 45, 2 }, { 50, -15, 6, 18, 45, 2 }, - { 51, -15, 6, 18, 45, 2 }, { 52, -15, 6, 17, 45, 2 }, { 53, -15, 6, 17, 45, 2 }, { 54, -15, 7, 17, 45, 2 }, { 55, -15, 7, 17, 45, 2 }, - { 56, -16, 7, 17, 45, 2 }, { 57, -16, 7, 17, 45, 2 }, { 58, -16, 7, 17, 45, 2 }, { 59, -16, 7, 17, 45, 2 }, { 60, -16, 7, 16, 45, 2 }, - { 61, -16, 7, 16, 45, 2 }, { 62, -16, 8, 16, 45, 2 }, { 64, -16, 8, 16, 45, 2 }, { 65, -16, 8, 16, 45, 2 }, { 66, -16, 8, 16, 45, 2 }, - { 67, -16, 8, 16, 45, 2 }, { 68, -16, 8, 16, 45, 2 }, { 69, -16, 8, 15, 45, 2 }, { 70, -16, 8, 15, 45, 2 }, { 71, -15, 8, 15, 45, 2 }, - { 72, -15, 8, 15, 45, 2 }, { 73, -15, 9, 15, 45, 2 }, { 74, -15, 9, 15, 45, 2 }, { 75, -15, 9, 15, 45, 2 }, { 76, -15, 9, 15, 45, 2 }, - { 77, -14, 9, 15, 45, 2 }, { 78, -14, 9, 14, 45, 2 }, { 79, -14, 9, 14, 45, 2 }, { 80, -13, 9, 14, 45, 2 }, { 81, -13, 10, 14, 45, 2 }, - { 82, -13, 10, 14, 45, 2 }, { 83, -12, 10, 14, 45, 2 }, { 84, -12, 10, 14, 45, 2 }, { 85, -11, 10, 14, 45, 2 }, { 86, -11, 10, 14, 45, 2 }, - { 87, -10, 10, 14, 45, 2 }, { 88, -10, 10, 13, 45, 2 }, { 89, -9, 10, 13, 45, 2 }, { 90, -9, 11, 13, 45, 2 }, { 91, -8, 11, 13, 45, 2 }, - { 92, -7, 11, 13, 45, 2 }, { 93, -7, 11, 13, 45, 2 }, { 94, -6, 11, 13, 45, 2 }, { 95, -5, 11, 13, 45, 2 }, { 96, -4, 11, 13, 45, 2 }, - { 97, -3, 11, 12, 45, 2 }, { 99, -3, 12, 12, 45, 2 }, { 100, -2, 12, 12, 45, 2 }, { 101, -1, 12, 12, 45, 2 }, { 102, 0, 12, 12, 45, 2 }, - { 103, 1, 12, 11, 45, 2 }, { 103, 2, 12, 11, 45, 2 }, { 104, 3, 12, 11, 45, 2 }, { 105, 4, 12, 11, 45, 2 }, { 105, 5, 12, 11, 45, 2 }, - { 106, 6, 13, 11, 45, 2 }, { 106, 7, 13, 11, 45, 2 }, { 107, 8, 13, 11, 45, 2 }, { 107, 9, 13, 11, 45, 2 }, { 108, 10, 13, 10, 45, 2 }, - { 108, 11, 13, 10, 45, 2 }, { 109, 12, 13, 10, 45, 2 }, { 109, 13, 13, 10, 45, 2 }, { 109, 14, 14, 10, 45, 2 }, { 110, 15, 14, 10, 45, 2 }, - { 110, 16, 14, 10, 45, 2 }, { 110, 17, 14, 10, 45, 2 }, { 111, 18, 14, 10, 45, 2 }, { 111, 19, 14, 10, 45, 2 }, { 111, 20, 14, 9, 45, 2 }, - { 111, 21, 14, 9, 45, 2 }, { 111, 22, 14, 9, 45, 2 }, { 111, 23, 15, 9, 45, 2 }, { 112, 24, 15, 9, 45, 2 }, { 112, 25, 15, 9, 45, 2 }, - { 112, 26, 15, 9, 45, 2 }, { 112, 27, 15, 9, 45, 2 }, { 112, 28, 15, 8, 45, 2 }, { 112, 29, 15, 8, 45, 2 }, { 112, 30, 15, 8, 45, 2 }, + 135, { + { 16, 31, 0, 24, 45, 2 }, { 16, 30, 0, 24, 45, 2 }, { 16, 29, 0, 24, 45, 2 }, { 16, 28, 0, 24, 45, 2 }, { 16, 27, 0, 23, 45, 2 }, + { 16, 26, 0, 23, 45, 2 }, { 17, 25, 0, 23, 45, 2 }, { 17, 24, 0, 23, 45, 2 }, { 17, 23, 1, 23, 45, 2 }, { 17, 22, 1, 23, 45, 2 }, + { 17, 21, 1, 23, 45, 2 }, { 17, 20, 1, 23, 45, 2 }, { 18, 19, 1, 23, 45, 2 }, { 18, 18, 1, 22, 45, 2 }, { 18, 17, 1, 22, 45, 2 }, + { 19, 16, 1, 22, 45, 2 }, { 19, 15, 2, 22, 45, 2 }, { 19, 14, 2, 22, 45, 2 }, { 20, 13, 2, 22, 45, 2 }, { 20, 12, 2, 22, 45, 2 }, + { 21, 11, 2, 22, 45, 2 }, { 21, 10, 2, 22, 45, 2 }, { 22, 9, 2, 22, 45, 2 }, { 22, 8, 2, 21, 45, 2 }, { 23, 7, 2, 21, 45, 2 }, + { 23, 6, 3, 21, 45, 2 }, { 24, 5, 3, 21, 45, 2 }, { 25, 4, 3, 21, 45, 2 }, { 25, 3, 3, 21, 45, 2 }, { 26, 2, 3, 21, 45, 2 }, + { 27, 1, 3, 21, 45, 2 }, { 28, 0, 3, 21, 45, 2 }, { 29, -1, 3, 20, 45, 2 }, { 29, -3, 4, 20, 45, 2 }, { 30, -4, 4, 20, 45, 2 }, + { 31, -5, 4, 20, 45, 2 }, { 32, -6, 4, 20, 45, 2 }, { 33, -7, 4, 19, 45, 2 }, { 34, -7, 4, 19, 45, 2 }, { 35, -8, 4, 19, 45, 2 }, + { 36, -9, 4, 19, 45, 2 }, { 37, -9, 5, 19, 45, 2 }, { 38, -10, 5, 19, 45, 2 }, { 39, -10, 5, 19, 45, 2 }, { 40, -11, 5, 19, 45, 2 }, + { 41, -11, 5, 19, 45, 2 }, { 42, -12, 5, 18, 45, 2 }, { 43, -12, 5, 18, 45, 2 }, { 44, -13, 5, 18, 45, 2 }, { 45, -13, 5, 18, 45, 2 }, + { 46, -13, 6, 18, 45, 2 }, { 47, -14, 6, 18, 45, 2 }, { 48, -14, 6, 18, 45, 2 }, { 49, -14, 6, 18, 45, 2 }, { 50, -15, 6, 18, 45, 2 }, + { 51, -15, 6, 18, 45, 2 }, { 52, -15, 6, 17, 45, 2 }, { 53, -15, 6, 17, 45, 2 }, { 54, -15, 7, 17, 45, 2 }, { 55, -15, 7, 17, 45, 2 }, + { 56, -16, 7, 17, 45, 2 }, { 57, -16, 7, 17, 45, 2 }, { 58, -16, 7, 17, 45, 2 }, { 59, -16, 7, 17, 45, 2 }, { 60, -16, 7, 16, 45, 2 }, + { 61, -16, 7, 16, 45, 2 }, { 62, -16, 8, 16, 45, 2 }, { 64, -16, 8, 16, 45, 2 }, { 65, -16, 8, 16, 45, 2 }, { 66, -16, 8, 16, 45, 2 }, + { 67, -16, 8, 16, 45, 2 }, { 68, -16, 8, 16, 45, 2 }, { 69, -16, 8, 15, 45, 2 }, { 70, -16, 8, 15, 45, 2 }, { 71, -15, 8, 15, 45, 2 }, + { 72, -15, 8, 15, 45, 2 }, { 73, -15, 9, 15, 45, 2 }, { 74, -15, 9, 15, 45, 2 }, { 75, -15, 9, 15, 45, 2 }, { 76, -15, 9, 15, 45, 2 }, + { 77, -14, 9, 15, 45, 2 }, { 78, -14, 9, 14, 45, 2 }, { 79, -14, 9, 14, 45, 2 }, { 80, -13, 9, 14, 45, 2 }, { 81, -13, 10, 14, 45, 2 }, + { 82, -13, 10, 14, 45, 2 }, { 83, -12, 10, 14, 45, 2 }, { 84, -12, 10, 14, 45, 2 }, { 85, -11, 10, 14, 45, 2 }, { 86, -11, 10, 14, 45, 2 }, + { 87, -10, 10, 14, 45, 2 }, { 88, -10, 10, 13, 45, 2 }, { 89, -9, 10, 13, 45, 2 }, { 90, -9, 11, 13, 45, 2 }, { 91, -8, 11, 13, 45, 2 }, + { 92, -7, 11, 13, 45, 2 }, { 93, -7, 11, 13, 45, 2 }, { 94, -6, 11, 13, 45, 2 }, { 95, -5, 11, 13, 45, 2 }, { 96, -4, 11, 13, 45, 2 }, + { 97, -3, 11, 12, 45, 2 }, { 99, -3, 12, 12, 45, 2 }, { 100, -2, 12, 12, 45, 2 }, { 101, -1, 12, 12, 45, 2 }, { 102, 0, 12, 12, 45, 2 }, + { 103, 1, 12, 11, 45, 2 }, { 103, 2, 12, 11, 45, 2 }, { 104, 3, 12, 11, 45, 2 }, { 105, 4, 12, 11, 45, 2 }, { 105, 5, 12, 11, 45, 2 }, + { 106, 6, 13, 11, 45, 2 }, { 106, 7, 13, 11, 45, 2 }, { 107, 8, 13, 11, 45, 2 }, { 107, 9, 13, 11, 45, 2 }, { 108, 10, 13, 10, 45, 2 }, + { 108, 11, 13, 10, 45, 2 }, { 109, 12, 13, 10, 45, 2 }, { 109, 13, 13, 10, 45, 2 }, { 109, 14, 14, 10, 45, 2 }, { 110, 15, 14, 10, 45, 2 }, + { 110, 16, 14, 10, 45, 2 }, { 110, 17, 14, 10, 45, 2 }, { 111, 18, 14, 10, 45, 2 }, { 111, 19, 14, 10, 45, 2 }, { 111, 20, 14, 9, 45, 2 }, + { 111, 21, 14, 9, 45, 2 }, { 111, 22, 14, 9, 45, 2 }, { 111, 23, 15, 9, 45, 2 }, { 112, 24, 15, 9, 45, 2 }, { 112, 25, 15, 9, 45, 2 }, + { 112, 26, 15, 9, 45, 2 }, { 112, 27, 15, 9, 45, 2 }, { 112, 28, 15, 8, 45, 2 }, { 112, 29, 15, 8, 45, 2 }, { 112, 30, 15, 8, 45, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F9FAA = { - 135, { - { 31, 16, 0, 0, 45, 4 }, { 30, 16, 0, 0, 45, 4 }, { 29, 16, 0, 0, 45, 4 }, { 28, 16, 0, 0, 45, 4 }, { 27, 16, 0, 1, 45, 4 }, - { 26, 16, 0, 1, 45, 4 }, { 25, 17, 0, 1, 45, 4 }, { 24, 17, 0, 1, 45, 4 }, { 23, 17, 1, 1, 45, 4 }, { 22, 17, 1, 1, 45, 4 }, - { 21, 17, 1, 1, 45, 4 }, { 20, 17, 1, 1, 45, 4 }, { 19, 18, 1, 1, 45, 4 }, { 18, 18, 1, 2, 45, 4 }, { 17, 18, 1, 2, 45, 4 }, - { 16, 19, 1, 2, 45, 4 }, { 15, 19, 2, 2, 45, 4 }, { 14, 19, 2, 2, 45, 4 }, { 13, 20, 2, 2, 45, 4 }, { 12, 20, 2, 2, 45, 4 }, - { 11, 21, 2, 2, 45, 4 }, { 10, 21, 2, 2, 45, 4 }, { 9, 22, 2, 2, 45, 4 }, { 8, 22, 2, 3, 45, 4 }, { 7, 23, 2, 3, 45, 4 }, - { 6, 23, 3, 3, 45, 4 }, { 5, 24, 3, 3, 45, 4 }, { 4, 25, 3, 3, 45, 4 }, { 3, 25, 3, 3, 45, 4 }, { 2, 26, 3, 3, 45, 4 }, - { 1, 27, 3, 3, 45, 4 }, { 0, 28, 3, 3, 45, 4 }, { -1, 29, 3, 4, 45, 4 }, { -3, 29, 4, 4, 45, 4 }, { -4, 30, 4, 4, 45, 4 }, - { -5, 31, 4, 4, 45, 4 }, { -6, 32, 4, 4, 45, 4 }, { -7, 33, 4, 5, 45, 4 }, { -7, 34, 4, 5, 45, 4 }, { -8, 35, 4, 5, 45, 4 }, - { -9, 36, 4, 5, 45, 4 }, { -9, 37, 5, 5, 45, 4 }, { -10, 38, 5, 5, 45, 4 }, { -10, 39, 5, 5, 45, 4 }, { -11, 40, 5, 5, 45, 4 }, - { -11, 41, 5, 5, 45, 4 }, { -12, 42, 5, 6, 45, 4 }, { -12, 43, 5, 6, 45, 4 }, { -13, 44, 5, 6, 45, 4 }, { -13, 45, 5, 6, 45, 4 }, - { -13, 46, 6, 6, 45, 4 }, { -14, 47, 6, 6, 45, 4 }, { -14, 48, 6, 6, 45, 4 }, { -14, 49, 6, 6, 45, 4 }, { -15, 50, 6, 6, 45, 4 }, - { -15, 51, 6, 6, 45, 4 }, { -15, 52, 6, 7, 45, 4 }, { -15, 53, 6, 7, 45, 4 }, { -15, 54, 7, 7, 45, 4 }, { -15, 55, 7, 7, 45, 4 }, - { -16, 56, 7, 7, 45, 4 }, { -16, 57, 7, 7, 45, 4 }, { -16, 58, 7, 7, 45, 4 }, { -16, 59, 7, 7, 45, 4 }, { -16, 60, 7, 8, 45, 4 }, - { -16, 61, 7, 8, 45, 4 }, { -16, 62, 8, 8, 45, 4 }, { -16, 64, 8, 8, 45, 4 }, { -16, 65, 8, 8, 45, 4 }, { -16, 66, 8, 8, 45, 4 }, - { -16, 67, 8, 8, 45, 4 }, { -16, 68, 8, 8, 45, 4 }, { -16, 69, 8, 9, 45, 4 }, { -16, 70, 8, 9, 45, 4 }, { -15, 71, 8, 9, 45, 4 }, - { -15, 72, 8, 9, 45, 4 }, { -15, 73, 9, 9, 45, 4 }, { -15, 74, 9, 9, 45, 4 }, { -15, 75, 9, 9, 45, 4 }, { -15, 76, 9, 9, 45, 4 }, - { -14, 77, 9, 9, 45, 4 }, { -14, 78, 9, 10, 45, 4 }, { -14, 79, 9, 10, 45, 4 }, { -13, 80, 9, 10, 45, 4 }, { -13, 81, 10, 10, 45, 4 }, - { -13, 82, 10, 10, 45, 4 }, { -12, 83, 10, 10, 45, 4 }, { -12, 84, 10, 10, 45, 4 }, { -11, 85, 10, 10, 45, 4 }, { -11, 86, 10, 10, 45, 4 }, - { -10, 87, 10, 10, 45, 4 }, { -10, 88, 10, 11, 45, 4 }, { -9, 89, 10, 11, 45, 4 }, { -9, 90, 11, 11, 45, 4 }, { -8, 91, 11, 11, 45, 4 }, - { -7, 92, 11, 11, 45, 4 }, { -7, 93, 11, 11, 45, 4 }, { -6, 94, 11, 11, 45, 4 }, { -5, 95, 11, 11, 45, 4 }, { -4, 96, 11, 11, 45, 4 }, - { -3, 97, 11, 12, 45, 4 }, { -3, 99, 12, 12, 45, 4 }, { -2, 100, 12, 12, 45, 4 }, { -1, 101, 12, 12, 45, 4 }, { 0, 102, 12, 12, 45, 4 }, - { 1, 103, 12, 13, 45, 4 }, { 2, 103, 12, 13, 45, 4 }, { 3, 104, 12, 13, 45, 4 }, { 4, 105, 12, 13, 45, 4 }, { 5, 105, 12, 13, 45, 4 }, - { 6, 106, 13, 13, 45, 4 }, { 7, 106, 13, 13, 45, 4 }, { 8, 107, 13, 13, 45, 4 }, { 9, 107, 13, 13, 45, 4 }, { 10, 108, 13, 14, 45, 4 }, - { 11, 108, 13, 14, 45, 4 }, { 12, 109, 13, 14, 45, 4 }, { 13, 109, 13, 14, 45, 4 }, { 14, 109, 14, 14, 45, 4 }, { 15, 110, 14, 14, 45, 4 }, - { 16, 110, 14, 14, 45, 4 }, { 17, 110, 14, 14, 45, 4 }, { 18, 111, 14, 14, 45, 4 }, { 19, 111, 14, 14, 45, 4 }, { 20, 111, 14, 15, 45, 4 }, - { 21, 111, 14, 15, 45, 4 }, { 22, 111, 14, 15, 45, 4 }, { 23, 111, 15, 15, 45, 4 }, { 24, 112, 15, 15, 45, 4 }, { 25, 112, 15, 15, 45, 4 }, - { 26, 112, 15, 15, 45, 4 }, { 27, 112, 15, 15, 45, 4 }, { 28, 112, 15, 16, 45, 4 }, { 29, 112, 15, 16, 45, 4 }, { 30, 112, 15, 16, 45, 4 }, + 135, { + { 31, 16, 0, 0, 45, 4 }, { 30, 16, 0, 0, 45, 4 }, { 29, 16, 0, 0, 45, 4 }, { 28, 16, 0, 0, 45, 4 }, { 27, 16, 0, 1, 45, 4 }, + { 26, 16, 0, 1, 45, 4 }, { 25, 17, 0, 1, 45, 4 }, { 24, 17, 0, 1, 45, 4 }, { 23, 17, 1, 1, 45, 4 }, { 22, 17, 1, 1, 45, 4 }, + { 21, 17, 1, 1, 45, 4 }, { 20, 17, 1, 1, 45, 4 }, { 19, 18, 1, 1, 45, 4 }, { 18, 18, 1, 2, 45, 4 }, { 17, 18, 1, 2, 45, 4 }, + { 16, 19, 1, 2, 45, 4 }, { 15, 19, 2, 2, 45, 4 }, { 14, 19, 2, 2, 45, 4 }, { 13, 20, 2, 2, 45, 4 }, { 12, 20, 2, 2, 45, 4 }, + { 11, 21, 2, 2, 45, 4 }, { 10, 21, 2, 2, 45, 4 }, { 9, 22, 2, 2, 45, 4 }, { 8, 22, 2, 3, 45, 4 }, { 7, 23, 2, 3, 45, 4 }, + { 6, 23, 3, 3, 45, 4 }, { 5, 24, 3, 3, 45, 4 }, { 4, 25, 3, 3, 45, 4 }, { 3, 25, 3, 3, 45, 4 }, { 2, 26, 3, 3, 45, 4 }, + { 1, 27, 3, 3, 45, 4 }, { 0, 28, 3, 3, 45, 4 }, { -1, 29, 3, 4, 45, 4 }, { -3, 29, 4, 4, 45, 4 }, { -4, 30, 4, 4, 45, 4 }, + { -5, 31, 4, 4, 45, 4 }, { -6, 32, 4, 4, 45, 4 }, { -7, 33, 4, 5, 45, 4 }, { -7, 34, 4, 5, 45, 4 }, { -8, 35, 4, 5, 45, 4 }, + { -9, 36, 4, 5, 45, 4 }, { -9, 37, 5, 5, 45, 4 }, { -10, 38, 5, 5, 45, 4 }, { -10, 39, 5, 5, 45, 4 }, { -11, 40, 5, 5, 45, 4 }, + { -11, 41, 5, 5, 45, 4 }, { -12, 42, 5, 6, 45, 4 }, { -12, 43, 5, 6, 45, 4 }, { -13, 44, 5, 6, 45, 4 }, { -13, 45, 5, 6, 45, 4 }, + { -13, 46, 6, 6, 45, 4 }, { -14, 47, 6, 6, 45, 4 }, { -14, 48, 6, 6, 45, 4 }, { -14, 49, 6, 6, 45, 4 }, { -15, 50, 6, 6, 45, 4 }, + { -15, 51, 6, 6, 45, 4 }, { -15, 52, 6, 7, 45, 4 }, { -15, 53, 6, 7, 45, 4 }, { -15, 54, 7, 7, 45, 4 }, { -15, 55, 7, 7, 45, 4 }, + { -16, 56, 7, 7, 45, 4 }, { -16, 57, 7, 7, 45, 4 }, { -16, 58, 7, 7, 45, 4 }, { -16, 59, 7, 7, 45, 4 }, { -16, 60, 7, 8, 45, 4 }, + { -16, 61, 7, 8, 45, 4 }, { -16, 62, 8, 8, 45, 4 }, { -16, 64, 8, 8, 45, 4 }, { -16, 65, 8, 8, 45, 4 }, { -16, 66, 8, 8, 45, 4 }, + { -16, 67, 8, 8, 45, 4 }, { -16, 68, 8, 8, 45, 4 }, { -16, 69, 8, 9, 45, 4 }, { -16, 70, 8, 9, 45, 4 }, { -15, 71, 8, 9, 45, 4 }, + { -15, 72, 8, 9, 45, 4 }, { -15, 73, 9, 9, 45, 4 }, { -15, 74, 9, 9, 45, 4 }, { -15, 75, 9, 9, 45, 4 }, { -15, 76, 9, 9, 45, 4 }, + { -14, 77, 9, 9, 45, 4 }, { -14, 78, 9, 10, 45, 4 }, { -14, 79, 9, 10, 45, 4 }, { -13, 80, 9, 10, 45, 4 }, { -13, 81, 10, 10, 45, 4 }, + { -13, 82, 10, 10, 45, 4 }, { -12, 83, 10, 10, 45, 4 }, { -12, 84, 10, 10, 45, 4 }, { -11, 85, 10, 10, 45, 4 }, { -11, 86, 10, 10, 45, 4 }, + { -10, 87, 10, 10, 45, 4 }, { -10, 88, 10, 11, 45, 4 }, { -9, 89, 10, 11, 45, 4 }, { -9, 90, 11, 11, 45, 4 }, { -8, 91, 11, 11, 45, 4 }, + { -7, 92, 11, 11, 45, 4 }, { -7, 93, 11, 11, 45, 4 }, { -6, 94, 11, 11, 45, 4 }, { -5, 95, 11, 11, 45, 4 }, { -4, 96, 11, 11, 45, 4 }, + { -3, 97, 11, 12, 45, 4 }, { -3, 99, 12, 12, 45, 4 }, { -2, 100, 12, 12, 45, 4 }, { -1, 101, 12, 12, 45, 4 }, { 0, 102, 12, 12, 45, 4 }, + { 1, 103, 12, 13, 45, 4 }, { 2, 103, 12, 13, 45, 4 }, { 3, 104, 12, 13, 45, 4 }, { 4, 105, 12, 13, 45, 4 }, { 5, 105, 12, 13, 45, 4 }, + { 6, 106, 13, 13, 45, 4 }, { 7, 106, 13, 13, 45, 4 }, { 8, 107, 13, 13, 45, 4 }, { 9, 107, 13, 13, 45, 4 }, { 10, 108, 13, 14, 45, 4 }, + { 11, 108, 13, 14, 45, 4 }, { 12, 109, 13, 14, 45, 4 }, { 13, 109, 13, 14, 45, 4 }, { 14, 109, 14, 14, 45, 4 }, { 15, 110, 14, 14, 45, 4 }, + { 16, 110, 14, 14, 45, 4 }, { 17, 110, 14, 14, 45, 4 }, { 18, 111, 14, 14, 45, 4 }, { 19, 111, 14, 14, 45, 4 }, { 20, 111, 14, 15, 45, 4 }, + { 21, 111, 14, 15, 45, 4 }, { 22, 111, 14, 15, 45, 4 }, { 23, 111, 15, 15, 45, 4 }, { 24, 112, 15, 15, 45, 4 }, { 25, 112, 15, 15, 45, 4 }, + { 26, 112, 15, 15, 45, 4 }, { 27, 112, 15, 15, 45, 4 }, { 28, 112, 15, 16, 45, 4 }, { 29, 112, 15, 16, 45, 4 }, { 30, 112, 15, 16, 45, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FA46B = { - 137, { - { 16, 0, 0, 8, 45, 4 }, { 16, 1, 0, 8, 45, 4 }, { 16, 2, 0, 8, 45, 4 }, { 16, 3, 0, 8, 45, 4 }, { 16, 4, 0, 8, 45, 4 }, - { 16, 5, 0, 9, 45, 4 }, { 16, 6, 0, 9, 45, 4 }, { 17, 7, 0, 9, 45, 4 }, { 17, 8, 0, 9, 45, 4 }, { 17, 9, 1, 9, 45, 4 }, - { 17, 10, 1, 9, 45, 4 }, { 17, 11, 1, 9, 45, 4 }, { 17, 12, 1, 9, 45, 4 }, { 18, 13, 1, 9, 45, 4 }, { 18, 14, 1, 10, 45, 4 }, - { 18, 15, 1, 10, 45, 4 }, { 19, 16, 1, 10, 45, 4 }, { 19, 17, 2, 10, 45, 4 }, { 19, 18, 2, 10, 45, 4 }, { 20, 19, 2, 10, 45, 4 }, - { 20, 20, 2, 10, 45, 4 }, { 21, 21, 2, 10, 45, 4 }, { 21, 22, 2, 10, 45, 4 }, { 22, 23, 2, 10, 45, 4 }, { 22, 24, 2, 11, 45, 4 }, - { 23, 25, 2, 11, 45, 4 }, { 23, 26, 3, 11, 45, 4 }, { 24, 27, 3, 11, 45, 4 }, { 25, 28, 3, 11, 45, 4 }, { 25, 29, 3, 11, 45, 4 }, - { 26, 30, 3, 11, 45, 4 }, { 27, 31, 3, 11, 45, 4 }, { 28, 32, 3, 11, 45, 4 }, { 29, 33, 3, 12, 45, 4 }, { 29, 35, 4, 12, 45, 4 }, - { 30, 36, 4, 12, 45, 4 }, { 31, 37, 4, 12, 45, 4 }, { 32, 38, 4, 12, 45, 4 }, { 33, 39, 4, 13, 45, 4 }, { 34, 39, 4, 13, 45, 4 }, - { 35, 40, 4, 13, 45, 4 }, { 36, 41, 4, 13, 45, 4 }, { 37, 41, 4, 13, 45, 4 }, { 38, 42, 5, 13, 45, 4 }, { 39, 42, 5, 13, 45, 4 }, - { 40, 43, 5, 13, 45, 4 }, { 41, 43, 5, 13, 45, 4 }, { 42, 44, 5, 14, 45, 4 }, { 43, 44, 5, 14, 45, 4 }, { 44, 45, 5, 14, 45, 4 }, - { 45, 45, 5, 14, 45, 4 }, { 46, 45, 6, 14, 45, 4 }, { 47, 46, 6, 14, 45, 4 }, { 48, 46, 6, 14, 45, 4 }, { 49, 46, 6, 14, 45, 4 }, - { 50, 47, 6, 14, 45, 4 }, { 51, 47, 6, 14, 45, 4 }, { 52, 47, 6, 15, 45, 4 }, { 53, 47, 6, 15, 45, 4 }, { 54, 47, 6, 15, 45, 4 }, - { 55, 47, 7, 15, 45, 4 }, { 56, 48, 7, 15, 45, 4 }, { 57, 48, 7, 15, 45, 4 }, { 58, 48, 7, 15, 45, 4 }, { 59, 48, 7, 15, 45, 4 }, - { 60, 48, 7, 16, 45, 4 }, { 61, 48, 7, 16, 45, 4 }, { 62, 48, 7, 16, 45, 4 }, { 64, 48, 8, 16, 45, 4 }, { 65, 48, 8, 16, 45, 4 }, - { 66, 48, 8, 16, 45, 4 }, { 67, 48, 8, 16, 45, 4 }, { 68, 48, 8, 16, 45, 4 }, { 69, 48, 8, 17, 45, 4 }, { 70, 48, 8, 17, 45, 4 }, - { 71, 47, 8, 17, 45, 4 }, { 72, 47, 8, 17, 45, 4 }, { 73, 47, 9, 17, 45, 4 }, { 74, 47, 9, 17, 45, 4 }, { 75, 47, 9, 17, 45, 4 }, - { 76, 47, 9, 17, 45, 4 }, { 77, 46, 9, 17, 45, 4 }, { 78, 46, 9, 18, 45, 4 }, { 79, 46, 9, 18, 45, 4 }, { 80, 45, 9, 18, 45, 4 }, - { 81, 45, 9, 18, 45, 4 }, { 82, 45, 10, 18, 45, 4 }, { 83, 44, 10, 18, 45, 4 }, { 84, 44, 10, 18, 45, 4 }, { 85, 43, 10, 18, 45, 4 }, - { 86, 43, 10, 18, 45, 4 }, { 87, 42, 10, 18, 45, 4 }, { 88, 42, 10, 19, 45, 4 }, { 89, 41, 10, 19, 45, 4 }, { 90, 41, 11, 19, 45, 4 }, - { 91, 40, 11, 19, 45, 4 }, { 92, 39, 11, 19, 45, 4 }, { 93, 39, 11, 19, 45, 4 }, { 94, 38, 11, 19, 45, 4 }, { 95, 37, 11, 19, 45, 4 }, - { 96, 36, 11, 19, 45, 4 }, { 97, 35, 11, 20, 45, 4 }, { 99, 35, 11, 20, 45, 4 }, { 100, 34, 12, 20, 45, 4 }, { 101, 33, 12, 20, 45, 4 }, - { 102, 32, 12, 20, 45, 4 }, { 103, 31, 12, 21, 45, 4 }, { 103, 30, 12, 21, 45, 4 }, { 104, 29, 12, 21, 45, 4 }, { 105, 28, 12, 21, 45, 4 }, - { 105, 27, 12, 21, 45, 4 }, { 106, 26, 12, 21, 45, 4 }, { 106, 25, 13, 21, 45, 4 }, { 107, 24, 13, 21, 45, 4 }, { 107, 23, 13, 21, 45, 4 }, - { 108, 22, 13, 22, 45, 4 }, { 108, 21, 13, 22, 45, 4 }, { 109, 20, 13, 22, 45, 4 }, { 109, 19, 13, 22, 45, 4 }, { 109, 18, 13, 22, 45, 4 }, - { 110, 17, 14, 22, 45, 4 }, { 110, 16, 14, 22, 45, 4 }, { 110, 15, 14, 22, 45, 4 }, { 111, 14, 14, 22, 45, 4 }, { 111, 13, 14, 22, 45, 4 }, - { 111, 12, 14, 23, 45, 4 }, { 111, 11, 14, 23, 45, 4 }, { 111, 10, 14, 23, 45, 4 }, { 111, 9, 14, 23, 45, 4 }, { 112, 8, 15, 23, 45, 4 }, - { 112, 7, 15, 23, 45, 4 }, { 112, 6, 15, 23, 45, 4 }, { 112, 5, 15, 23, 45, 4 }, { 112, 4, 15, 24, 45, 4 }, { 112, 3, 15, 24, 45, 4 }, - { 112, 2, 15, 24, 45, 4 }, { 112, 1, 15, 24, 45, 4 }, + 137, { + { 16, 0, 0, 8, 45, 4 }, { 16, 1, 0, 8, 45, 4 }, { 16, 2, 0, 8, 45, 4 }, { 16, 3, 0, 8, 45, 4 }, { 16, 4, 0, 8, 45, 4 }, + { 16, 5, 0, 9, 45, 4 }, { 16, 6, 0, 9, 45, 4 }, { 17, 7, 0, 9, 45, 4 }, { 17, 8, 0, 9, 45, 4 }, { 17, 9, 1, 9, 45, 4 }, + { 17, 10, 1, 9, 45, 4 }, { 17, 11, 1, 9, 45, 4 }, { 17, 12, 1, 9, 45, 4 }, { 18, 13, 1, 9, 45, 4 }, { 18, 14, 1, 10, 45, 4 }, + { 18, 15, 1, 10, 45, 4 }, { 19, 16, 1, 10, 45, 4 }, { 19, 17, 2, 10, 45, 4 }, { 19, 18, 2, 10, 45, 4 }, { 20, 19, 2, 10, 45, 4 }, + { 20, 20, 2, 10, 45, 4 }, { 21, 21, 2, 10, 45, 4 }, { 21, 22, 2, 10, 45, 4 }, { 22, 23, 2, 10, 45, 4 }, { 22, 24, 2, 11, 45, 4 }, + { 23, 25, 2, 11, 45, 4 }, { 23, 26, 3, 11, 45, 4 }, { 24, 27, 3, 11, 45, 4 }, { 25, 28, 3, 11, 45, 4 }, { 25, 29, 3, 11, 45, 4 }, + { 26, 30, 3, 11, 45, 4 }, { 27, 31, 3, 11, 45, 4 }, { 28, 32, 3, 11, 45, 4 }, { 29, 33, 3, 12, 45, 4 }, { 29, 35, 4, 12, 45, 4 }, + { 30, 36, 4, 12, 45, 4 }, { 31, 37, 4, 12, 45, 4 }, { 32, 38, 4, 12, 45, 4 }, { 33, 39, 4, 13, 45, 4 }, { 34, 39, 4, 13, 45, 4 }, + { 35, 40, 4, 13, 45, 4 }, { 36, 41, 4, 13, 45, 4 }, { 37, 41, 4, 13, 45, 4 }, { 38, 42, 5, 13, 45, 4 }, { 39, 42, 5, 13, 45, 4 }, + { 40, 43, 5, 13, 45, 4 }, { 41, 43, 5, 13, 45, 4 }, { 42, 44, 5, 14, 45, 4 }, { 43, 44, 5, 14, 45, 4 }, { 44, 45, 5, 14, 45, 4 }, + { 45, 45, 5, 14, 45, 4 }, { 46, 45, 6, 14, 45, 4 }, { 47, 46, 6, 14, 45, 4 }, { 48, 46, 6, 14, 45, 4 }, { 49, 46, 6, 14, 45, 4 }, + { 50, 47, 6, 14, 45, 4 }, { 51, 47, 6, 14, 45, 4 }, { 52, 47, 6, 15, 45, 4 }, { 53, 47, 6, 15, 45, 4 }, { 54, 47, 6, 15, 45, 4 }, + { 55, 47, 7, 15, 45, 4 }, { 56, 48, 7, 15, 45, 4 }, { 57, 48, 7, 15, 45, 4 }, { 58, 48, 7, 15, 45, 4 }, { 59, 48, 7, 15, 45, 4 }, + { 60, 48, 7, 16, 45, 4 }, { 61, 48, 7, 16, 45, 4 }, { 62, 48, 7, 16, 45, 4 }, { 64, 48, 8, 16, 45, 4 }, { 65, 48, 8, 16, 45, 4 }, + { 66, 48, 8, 16, 45, 4 }, { 67, 48, 8, 16, 45, 4 }, { 68, 48, 8, 16, 45, 4 }, { 69, 48, 8, 17, 45, 4 }, { 70, 48, 8, 17, 45, 4 }, + { 71, 47, 8, 17, 45, 4 }, { 72, 47, 8, 17, 45, 4 }, { 73, 47, 9, 17, 45, 4 }, { 74, 47, 9, 17, 45, 4 }, { 75, 47, 9, 17, 45, 4 }, + { 76, 47, 9, 17, 45, 4 }, { 77, 46, 9, 17, 45, 4 }, { 78, 46, 9, 18, 45, 4 }, { 79, 46, 9, 18, 45, 4 }, { 80, 45, 9, 18, 45, 4 }, + { 81, 45, 9, 18, 45, 4 }, { 82, 45, 10, 18, 45, 4 }, { 83, 44, 10, 18, 45, 4 }, { 84, 44, 10, 18, 45, 4 }, { 85, 43, 10, 18, 45, 4 }, + { 86, 43, 10, 18, 45, 4 }, { 87, 42, 10, 18, 45, 4 }, { 88, 42, 10, 19, 45, 4 }, { 89, 41, 10, 19, 45, 4 }, { 90, 41, 11, 19, 45, 4 }, + { 91, 40, 11, 19, 45, 4 }, { 92, 39, 11, 19, 45, 4 }, { 93, 39, 11, 19, 45, 4 }, { 94, 38, 11, 19, 45, 4 }, { 95, 37, 11, 19, 45, 4 }, + { 96, 36, 11, 19, 45, 4 }, { 97, 35, 11, 20, 45, 4 }, { 99, 35, 11, 20, 45, 4 }, { 100, 34, 12, 20, 45, 4 }, { 101, 33, 12, 20, 45, 4 }, + { 102, 32, 12, 20, 45, 4 }, { 103, 31, 12, 21, 45, 4 }, { 103, 30, 12, 21, 45, 4 }, { 104, 29, 12, 21, 45, 4 }, { 105, 28, 12, 21, 45, 4 }, + { 105, 27, 12, 21, 45, 4 }, { 106, 26, 12, 21, 45, 4 }, { 106, 25, 13, 21, 45, 4 }, { 107, 24, 13, 21, 45, 4 }, { 107, 23, 13, 21, 45, 4 }, + { 108, 22, 13, 22, 45, 4 }, { 108, 21, 13, 22, 45, 4 }, { 109, 20, 13, 22, 45, 4 }, { 109, 19, 13, 22, 45, 4 }, { 109, 18, 13, 22, 45, 4 }, + { 110, 17, 14, 22, 45, 4 }, { 110, 16, 14, 22, 45, 4 }, { 110, 15, 14, 22, 45, 4 }, { 111, 14, 14, 22, 45, 4 }, { 111, 13, 14, 22, 45, 4 }, + { 111, 12, 14, 23, 45, 4 }, { 111, 11, 14, 23, 45, 4 }, { 111, 10, 14, 23, 45, 4 }, { 111, 9, 14, 23, 45, 4 }, { 112, 8, 15, 23, 45, 4 }, + { 112, 7, 15, 23, 45, 4 }, { 112, 6, 15, 23, 45, 4 }, { 112, 5, 15, 23, 45, 4 }, { 112, 4, 15, 24, 45, 4 }, { 112, 3, 15, 24, 45, 4 }, + { 112, 2, 15, 24, 45, 4 }, { 112, 1, 15, 24, 45, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FA93E = { - 137, { - { 0, 16, 0, 16, 45, 4 }, { 1, 16, 0, 16, 45, 4 }, { 2, 16, 0, 16, 45, 4 }, { 3, 16, 0, 16, 45, 4 }, { 4, 16, 0, 16, 45, 4 }, - { 5, 16, 0, 17, 45, 4 }, { 6, 16, 0, 17, 45, 4 }, { 7, 15, 0, 17, 45, 4 }, { 8, 15, 0, 17, 45, 4 }, { 9, 15, 1, 17, 45, 4 }, - { 10, 15, 1, 17, 45, 4 }, { 11, 15, 1, 17, 45, 4 }, { 12, 15, 1, 17, 45, 4 }, { 13, 14, 1, 17, 45, 4 }, { 14, 14, 1, 18, 45, 4 }, - { 15, 14, 1, 18, 45, 4 }, { 16, 13, 1, 18, 45, 4 }, { 17, 13, 1, 18, 45, 4 }, { 18, 13, 2, 18, 45, 4 }, { 19, 12, 2, 18, 45, 4 }, - { 20, 12, 2, 18, 45, 4 }, { 21, 11, 2, 18, 45, 4 }, { 22, 11, 2, 18, 45, 4 }, { 23, 10, 2, 18, 45, 4 }, { 24, 10, 2, 19, 45, 4 }, - { 25, 9, 2, 19, 45, 4 }, { 26, 9, 3, 19, 45, 4 }, { 27, 8, 3, 19, 45, 4 }, { 28, 7, 3, 19, 45, 4 }, { 29, 7, 3, 19, 45, 4 }, - { 30, 6, 3, 19, 45, 4 }, { 31, 5, 3, 19, 45, 4 }, { 32, 4, 3, 19, 45, 4 }, { 33, 3, 3, 20, 45, 4 }, { 35, 3, 3, 20, 45, 4 }, - { 36, 2, 4, 20, 45, 4 }, { 37, 1, 4, 20, 45, 4 }, { 38, 0, 4, 20, 45, 4 }, { 39, -1, 4, 21, 45, 4 }, { 39, -2, 4, 21, 45, 4 }, - { 40, -3, 4, 21, 45, 4 }, { 41, -4, 4, 21, 45, 4 }, { 41, -5, 4, 21, 45, 4 }, { 42, -6, 4, 21, 45, 4 }, { 42, -7, 5, 21, 45, 4 }, - { 43, -8, 5, 21, 45, 4 }, { 43, -9, 5, 21, 45, 4 }, { 44, -10, 5, 22, 45, 4 }, { 44, -11, 5, 22, 45, 4 }, { 45, -12, 5, 22, 45, 4 }, - { 45, -13, 5, 22, 45, 4 }, { 45, -14, 5, 22, 45, 4 }, { 46, -15, 6, 22, 45, 4 }, { 46, -16, 6, 22, 45, 4 }, { 46, -17, 6, 22, 45, 4 }, - { 47, -18, 6, 22, 45, 4 }, { 47, -19, 6, 22, 45, 4 }, { 47, -20, 6, 23, 45, 4 }, { 47, -21, 6, 23, 45, 4 }, { 47, -22, 6, 23, 45, 4 }, - { 47, -23, 6, 23, 45, 4 }, { 48, -24, 7, 23, 45, 4 }, { 48, -25, 7, 23, 45, 4 }, { 48, -26, 7, 23, 45, 4 }, { 48, -27, 7, 23, 45, 4 }, - { 48, -28, 7, 24, 45, 4 }, { 48, -29, 7, 24, 45, 4 }, { 48, -30, 7, 24, 45, 4 }, { 48, -31, 7, 24, 45, 4 }, { 48, -33, 8, 24, 45, 4 }, - { 48, -34, 8, 24, 45, 4 }, { 48, -35, 8, 24, 45, 4 }, { 48, -36, 8, 24, 45, 4 }, { 48, -37, 8, 25, 45, 4 }, { 48, -38, 8, 25, 45, 4 }, - { 47, -39, 8, 25, 45, 4 }, { 47, -40, 8, 25, 45, 4 }, { 47, -41, 9, 25, 45, 4 }, { 47, -42, 9, 25, 45, 4 }, { 47, -43, 9, 25, 45, 4 }, - { 47, -44, 9, 25, 45, 4 }, { 46, -45, 9, 25, 45, 4 }, { 46, -46, 9, 26, 45, 4 }, { 46, -47, 9, 26, 45, 4 }, { 45, -48, 9, 26, 45, 4 }, - { 45, -49, 10, 26, 45, 4 }, { 45, -50, 10, 26, 45, 4 }, { 44, -51, 10, 26, 45, 4 }, { 44, -52, 10, 26, 45, 4 }, { 43, -53, 10, 26, 45, 4 }, - { 43, -54, 10, 26, 45, 4 }, { 42, -55, 10, 26, 45, 4 }, { 42, -56, 10, 27, 45, 4 }, { 41, -57, 10, 27, 45, 4 }, { 41, -58, 11, 27, 45, 4 }, - { 40, -59, 11, 27, 45, 4 }, { 39, -60, 11, 27, 45, 4 }, { 39, -61, 11, 27, 45, 4 }, { 38, -62, 11, 27, 45, 4 }, { 37, -63, 11, 27, 45, 4 }, - { 36, -64, 11, 27, 45, 4 }, { 35, -65, 11, 28, 45, 4 }, { 35, -67, 12, 28, 45, 4 }, { 34, -68, 12, 28, 45, 4 }, { 33, -69, 12, 28, 45, 4 }, - { 32, -70, 12, 28, 45, 4 }, { 31, -71, 12, 29, 45, 4 }, { 30, -71, 12, 29, 45, 4 }, { 29, -72, 12, 29, 45, 4 }, { 28, -73, 12, 29, 45, 4 }, - { 27, -73, 12, 29, 45, 4 }, { 26, -74, 13, 29, 45, 4 }, { 25, -74, 13, 29, 45, 4 }, { 24, -75, 13, 29, 45, 4 }, { 23, -75, 13, 29, 45, 4 }, - { 22, -76, 13, 30, 45, 4 }, { 21, -76, 13, 30, 45, 4 }, { 20, -77, 13, 30, 45, 4 }, { 19, -77, 13, 30, 45, 4 }, { 18, -77, 14, 30, 45, 4 }, - { 17, -78, 14, 30, 45, 4 }, { 16, -78, 14, 30, 45, 4 }, { 15, -78, 14, 30, 45, 4 }, { 14, -79, 14, 30, 45, 4 }, { 13, -79, 14, 30, 45, 4 }, - { 12, -79, 14, 31, 45, 4 }, { 11, -79, 14, 31, 45, 4 }, { 10, -79, 14, 31, 45, 4 }, { 9, -79, 15, 31, 45, 4 }, { 8, -80, 15, 31, 45, 4 }, - { 7, -80, 15, 31, 45, 4 }, { 6, -80, 15, 31, 45, 4 }, { 5, -80, 15, 31, 45, 4 }, { 4, -80, 15, 0, 45, 4 }, { 3, -80, 15, 0, 45, 4 }, - { 2, -80, 15, 0, 45, 4 }, { 1, -80, 16, 0, 45, 4 }, + 137, { + { 0, 16, 0, 16, 45, 4 }, { 1, 16, 0, 16, 45, 4 }, { 2, 16, 0, 16, 45, 4 }, { 3, 16, 0, 16, 45, 4 }, { 4, 16, 0, 16, 45, 4 }, + { 5, 16, 0, 17, 45, 4 }, { 6, 16, 0, 17, 45, 4 }, { 7, 15, 0, 17, 45, 4 }, { 8, 15, 0, 17, 45, 4 }, { 9, 15, 1, 17, 45, 4 }, + { 10, 15, 1, 17, 45, 4 }, { 11, 15, 1, 17, 45, 4 }, { 12, 15, 1, 17, 45, 4 }, { 13, 14, 1, 17, 45, 4 }, { 14, 14, 1, 18, 45, 4 }, + { 15, 14, 1, 18, 45, 4 }, { 16, 13, 1, 18, 45, 4 }, { 17, 13, 1, 18, 45, 4 }, { 18, 13, 2, 18, 45, 4 }, { 19, 12, 2, 18, 45, 4 }, + { 20, 12, 2, 18, 45, 4 }, { 21, 11, 2, 18, 45, 4 }, { 22, 11, 2, 18, 45, 4 }, { 23, 10, 2, 18, 45, 4 }, { 24, 10, 2, 19, 45, 4 }, + { 25, 9, 2, 19, 45, 4 }, { 26, 9, 3, 19, 45, 4 }, { 27, 8, 3, 19, 45, 4 }, { 28, 7, 3, 19, 45, 4 }, { 29, 7, 3, 19, 45, 4 }, + { 30, 6, 3, 19, 45, 4 }, { 31, 5, 3, 19, 45, 4 }, { 32, 4, 3, 19, 45, 4 }, { 33, 3, 3, 20, 45, 4 }, { 35, 3, 3, 20, 45, 4 }, + { 36, 2, 4, 20, 45, 4 }, { 37, 1, 4, 20, 45, 4 }, { 38, 0, 4, 20, 45, 4 }, { 39, -1, 4, 21, 45, 4 }, { 39, -2, 4, 21, 45, 4 }, + { 40, -3, 4, 21, 45, 4 }, { 41, -4, 4, 21, 45, 4 }, { 41, -5, 4, 21, 45, 4 }, { 42, -6, 4, 21, 45, 4 }, { 42, -7, 5, 21, 45, 4 }, + { 43, -8, 5, 21, 45, 4 }, { 43, -9, 5, 21, 45, 4 }, { 44, -10, 5, 22, 45, 4 }, { 44, -11, 5, 22, 45, 4 }, { 45, -12, 5, 22, 45, 4 }, + { 45, -13, 5, 22, 45, 4 }, { 45, -14, 5, 22, 45, 4 }, { 46, -15, 6, 22, 45, 4 }, { 46, -16, 6, 22, 45, 4 }, { 46, -17, 6, 22, 45, 4 }, + { 47, -18, 6, 22, 45, 4 }, { 47, -19, 6, 22, 45, 4 }, { 47, -20, 6, 23, 45, 4 }, { 47, -21, 6, 23, 45, 4 }, { 47, -22, 6, 23, 45, 4 }, + { 47, -23, 6, 23, 45, 4 }, { 48, -24, 7, 23, 45, 4 }, { 48, -25, 7, 23, 45, 4 }, { 48, -26, 7, 23, 45, 4 }, { 48, -27, 7, 23, 45, 4 }, + { 48, -28, 7, 24, 45, 4 }, { 48, -29, 7, 24, 45, 4 }, { 48, -30, 7, 24, 45, 4 }, { 48, -31, 7, 24, 45, 4 }, { 48, -33, 8, 24, 45, 4 }, + { 48, -34, 8, 24, 45, 4 }, { 48, -35, 8, 24, 45, 4 }, { 48, -36, 8, 24, 45, 4 }, { 48, -37, 8, 25, 45, 4 }, { 48, -38, 8, 25, 45, 4 }, + { 47, -39, 8, 25, 45, 4 }, { 47, -40, 8, 25, 45, 4 }, { 47, -41, 9, 25, 45, 4 }, { 47, -42, 9, 25, 45, 4 }, { 47, -43, 9, 25, 45, 4 }, + { 47, -44, 9, 25, 45, 4 }, { 46, -45, 9, 25, 45, 4 }, { 46, -46, 9, 26, 45, 4 }, { 46, -47, 9, 26, 45, 4 }, { 45, -48, 9, 26, 45, 4 }, + { 45, -49, 10, 26, 45, 4 }, { 45, -50, 10, 26, 45, 4 }, { 44, -51, 10, 26, 45, 4 }, { 44, -52, 10, 26, 45, 4 }, { 43, -53, 10, 26, 45, 4 }, + { 43, -54, 10, 26, 45, 4 }, { 42, -55, 10, 26, 45, 4 }, { 42, -56, 10, 27, 45, 4 }, { 41, -57, 10, 27, 45, 4 }, { 41, -58, 11, 27, 45, 4 }, + { 40, -59, 11, 27, 45, 4 }, { 39, -60, 11, 27, 45, 4 }, { 39, -61, 11, 27, 45, 4 }, { 38, -62, 11, 27, 45, 4 }, { 37, -63, 11, 27, 45, 4 }, + { 36, -64, 11, 27, 45, 4 }, { 35, -65, 11, 28, 45, 4 }, { 35, -67, 12, 28, 45, 4 }, { 34, -68, 12, 28, 45, 4 }, { 33, -69, 12, 28, 45, 4 }, + { 32, -70, 12, 28, 45, 4 }, { 31, -71, 12, 29, 45, 4 }, { 30, -71, 12, 29, 45, 4 }, { 29, -72, 12, 29, 45, 4 }, { 28, -73, 12, 29, 45, 4 }, + { 27, -73, 12, 29, 45, 4 }, { 26, -74, 13, 29, 45, 4 }, { 25, -74, 13, 29, 45, 4 }, { 24, -75, 13, 29, 45, 4 }, { 23, -75, 13, 29, 45, 4 }, + { 22, -76, 13, 30, 45, 4 }, { 21, -76, 13, 30, 45, 4 }, { 20, -77, 13, 30, 45, 4 }, { 19, -77, 13, 30, 45, 4 }, { 18, -77, 14, 30, 45, 4 }, + { 17, -78, 14, 30, 45, 4 }, { 16, -78, 14, 30, 45, 4 }, { 15, -78, 14, 30, 45, 4 }, { 14, -79, 14, 30, 45, 4 }, { 13, -79, 14, 30, 45, 4 }, + { 12, -79, 14, 31, 45, 4 }, { 11, -79, 14, 31, 45, 4 }, { 10, -79, 14, 31, 45, 4 }, { 9, -79, 15, 31, 45, 4 }, { 8, -80, 15, 31, 45, 4 }, + { 7, -80, 15, 31, 45, 4 }, { 6, -80, 15, 31, 45, 4 }, { 5, -80, 15, 31, 45, 4 }, { 4, -80, 15, 0, 45, 4 }, { 3, -80, 15, 0, 45, 4 }, + { 2, -80, 15, 0, 45, 4 }, { 1, -80, 16, 0, 45, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FAE11 = { - 135, { - { 16, 31, 0, 24, 45, 4 }, { 16, 30, 0, 24, 45, 4 }, { 16, 29, 0, 24, 45, 4 }, { 16, 28, 0, 24, 45, 4 }, { 16, 27, 0, 25, 45, 4 }, - { 16, 26, 0, 25, 45, 4 }, { 15, 25, 0, 25, 45, 4 }, { 15, 24, 0, 25, 45, 4 }, { 15, 23, 1, 25, 45, 4 }, { 15, 22, 1, 25, 45, 4 }, - { 15, 21, 1, 25, 45, 4 }, { 15, 20, 1, 25, 45, 4 }, { 14, 19, 1, 25, 45, 4 }, { 14, 18, 1, 26, 45, 4 }, { 14, 17, 1, 26, 45, 4 }, - { 13, 16, 1, 26, 45, 4 }, { 13, 15, 2, 26, 45, 4 }, { 13, 14, 2, 26, 45, 4 }, { 12, 13, 2, 26, 45, 4 }, { 12, 12, 2, 26, 45, 4 }, - { 11, 11, 2, 26, 45, 4 }, { 11, 10, 2, 26, 45, 4 }, { 10, 9, 2, 26, 45, 4 }, { 10, 8, 2, 27, 45, 4 }, { 9, 7, 2, 27, 45, 4 }, - { 9, 6, 3, 27, 45, 4 }, { 8, 5, 3, 27, 45, 4 }, { 7, 4, 3, 27, 45, 4 }, { 7, 3, 3, 27, 45, 4 }, { 6, 2, 3, 27, 45, 4 }, - { 5, 1, 3, 27, 45, 4 }, { 4, 0, 3, 27, 45, 4 }, { 3, -1, 3, 28, 45, 4 }, { 3, -3, 4, 28, 45, 4 }, { 2, -4, 4, 28, 45, 4 }, - { 1, -5, 4, 28, 45, 4 }, { 0, -6, 4, 28, 45, 4 }, { -1, -7, 4, 29, 45, 4 }, { -2, -7, 4, 29, 45, 4 }, { -3, -8, 4, 29, 45, 4 }, - { -4, -9, 4, 29, 45, 4 }, { -5, -9, 4, 29, 45, 4 }, { -6, -10, 5, 29, 45, 4 }, { -7, -10, 5, 29, 45, 4 }, { -8, -11, 5, 29, 45, 4 }, - { -9, -11, 5, 29, 45, 4 }, { -10, -12, 5, 30, 45, 4 }, { -11, -12, 5, 30, 45, 4 }, { -12, -13, 5, 30, 45, 4 }, { -13, -13, 5, 30, 45, 4 }, - { -14, -13, 6, 30, 45, 4 }, { -15, -14, 6, 30, 45, 4 }, { -16, -14, 6, 30, 45, 4 }, { -17, -14, 6, 30, 45, 4 }, { -18, -15, 6, 30, 45, 4 }, - { -19, -15, 6, 30, 45, 4 }, { -20, -15, 6, 31, 45, 4 }, { -21, -15, 6, 31, 45, 4 }, { -22, -15, 6, 31, 45, 4 }, { -23, -15, 7, 31, 45, 4 }, - { -24, -16, 7, 31, 45, 4 }, { -25, -16, 7, 31, 45, 4 }, { -26, -16, 7, 31, 45, 4 }, { -27, -16, 7, 31, 45, 4 }, { -28, -16, 7, 0, 45, 4 }, - { -29, -16, 7, 0, 45, 4 }, { -30, -16, 7, 0, 45, 4 }, { -31, -16, 8, 0, 45, 4 }, { -33, -16, 8, 0, 45, 4 }, { -34, -16, 8, 0, 45, 4 }, - { -35, -16, 8, 0, 45, 4 }, { -36, -16, 8, 0, 45, 4 }, { -37, -16, 8, 1, 45, 4 }, { -38, -16, 8, 1, 45, 4 }, { -39, -15, 8, 1, 45, 4 }, - { -40, -15, 8, 1, 45, 4 }, { -41, -15, 9, 1, 45, 4 }, { -42, -15, 9, 1, 45, 4 }, { -43, -15, 9, 1, 45, 4 }, { -44, -15, 9, 1, 45, 4 }, - { -45, -14, 9, 1, 45, 4 }, { -46, -14, 9, 2, 45, 4 }, { -47, -14, 9, 2, 45, 4 }, { -48, -13, 9, 2, 45, 4 }, { -49, -13, 10, 2, 45, 4 }, - { -50, -13, 10, 2, 45, 4 }, { -51, -12, 10, 2, 45, 4 }, { -52, -12, 10, 2, 45, 4 }, { -53, -11, 10, 2, 45, 4 }, { -54, -11, 10, 2, 45, 4 }, - { -55, -10, 10, 2, 45, 4 }, { -56, -10, 10, 3, 45, 4 }, { -57, -9, 10, 3, 45, 4 }, { -58, -9, 11, 3, 45, 4 }, { -59, -8, 11, 3, 45, 4 }, - { -60, -7, 11, 3, 45, 4 }, { -61, -7, 11, 3, 45, 4 }, { -62, -6, 11, 3, 45, 4 }, { -63, -5, 11, 3, 45, 4 }, { -64, -4, 11, 3, 45, 4 }, - { -65, -3, 11, 4, 45, 4 }, { -67, -3, 12, 4, 45, 4 }, { -68, -2, 12, 4, 45, 4 }, { -69, -1, 12, 4, 45, 4 }, { -70, 0, 12, 4, 45, 4 }, - { -71, 1, 12, 5, 45, 4 }, { -71, 2, 12, 5, 45, 4 }, { -72, 3, 12, 5, 45, 4 }, { -73, 4, 12, 5, 45, 4 }, { -73, 5, 13, 5, 45, 4 }, - { -74, 6, 13, 5, 45, 4 }, { -74, 7, 13, 5, 45, 4 }, { -75, 8, 13, 5, 45, 4 }, { -75, 9, 13, 5, 45, 4 }, { -76, 10, 13, 6, 45, 4 }, - { -76, 11, 13, 6, 45, 4 }, { -77, 12, 13, 6, 45, 4 }, { -77, 13, 13, 6, 45, 4 }, { -77, 14, 14, 6, 45, 4 }, { -78, 15, 14, 6, 45, 4 }, - { -78, 16, 14, 6, 45, 4 }, { -78, 17, 14, 6, 45, 4 }, { -79, 18, 14, 6, 45, 4 }, { -79, 19, 14, 6, 45, 4 }, { -79, 20, 14, 7, 45, 4 }, - { -79, 21, 14, 7, 45, 4 }, { -79, 22, 15, 7, 45, 4 }, { -79, 23, 15, 7, 45, 4 }, { -80, 24, 15, 7, 45, 4 }, { -80, 25, 15, 7, 45, 4 }, - { -80, 26, 15, 7, 45, 4 }, { -80, 27, 15, 7, 45, 4 }, { -80, 28, 15, 8, 45, 4 }, { -80, 29, 15, 8, 45, 4 }, { -80, 30, 16, 8, 45, 4 }, + 135, { + { 16, 31, 0, 24, 45, 4 }, { 16, 30, 0, 24, 45, 4 }, { 16, 29, 0, 24, 45, 4 }, { 16, 28, 0, 24, 45, 4 }, { 16, 27, 0, 25, 45, 4 }, + { 16, 26, 0, 25, 45, 4 }, { 15, 25, 0, 25, 45, 4 }, { 15, 24, 0, 25, 45, 4 }, { 15, 23, 1, 25, 45, 4 }, { 15, 22, 1, 25, 45, 4 }, + { 15, 21, 1, 25, 45, 4 }, { 15, 20, 1, 25, 45, 4 }, { 14, 19, 1, 25, 45, 4 }, { 14, 18, 1, 26, 45, 4 }, { 14, 17, 1, 26, 45, 4 }, + { 13, 16, 1, 26, 45, 4 }, { 13, 15, 2, 26, 45, 4 }, { 13, 14, 2, 26, 45, 4 }, { 12, 13, 2, 26, 45, 4 }, { 12, 12, 2, 26, 45, 4 }, + { 11, 11, 2, 26, 45, 4 }, { 11, 10, 2, 26, 45, 4 }, { 10, 9, 2, 26, 45, 4 }, { 10, 8, 2, 27, 45, 4 }, { 9, 7, 2, 27, 45, 4 }, + { 9, 6, 3, 27, 45, 4 }, { 8, 5, 3, 27, 45, 4 }, { 7, 4, 3, 27, 45, 4 }, { 7, 3, 3, 27, 45, 4 }, { 6, 2, 3, 27, 45, 4 }, + { 5, 1, 3, 27, 45, 4 }, { 4, 0, 3, 27, 45, 4 }, { 3, -1, 3, 28, 45, 4 }, { 3, -3, 4, 28, 45, 4 }, { 2, -4, 4, 28, 45, 4 }, + { 1, -5, 4, 28, 45, 4 }, { 0, -6, 4, 28, 45, 4 }, { -1, -7, 4, 29, 45, 4 }, { -2, -7, 4, 29, 45, 4 }, { -3, -8, 4, 29, 45, 4 }, + { -4, -9, 4, 29, 45, 4 }, { -5, -9, 4, 29, 45, 4 }, { -6, -10, 5, 29, 45, 4 }, { -7, -10, 5, 29, 45, 4 }, { -8, -11, 5, 29, 45, 4 }, + { -9, -11, 5, 29, 45, 4 }, { -10, -12, 5, 30, 45, 4 }, { -11, -12, 5, 30, 45, 4 }, { -12, -13, 5, 30, 45, 4 }, { -13, -13, 5, 30, 45, 4 }, + { -14, -13, 6, 30, 45, 4 }, { -15, -14, 6, 30, 45, 4 }, { -16, -14, 6, 30, 45, 4 }, { -17, -14, 6, 30, 45, 4 }, { -18, -15, 6, 30, 45, 4 }, + { -19, -15, 6, 30, 45, 4 }, { -20, -15, 6, 31, 45, 4 }, { -21, -15, 6, 31, 45, 4 }, { -22, -15, 6, 31, 45, 4 }, { -23, -15, 7, 31, 45, 4 }, + { -24, -16, 7, 31, 45, 4 }, { -25, -16, 7, 31, 45, 4 }, { -26, -16, 7, 31, 45, 4 }, { -27, -16, 7, 31, 45, 4 }, { -28, -16, 7, 0, 45, 4 }, + { -29, -16, 7, 0, 45, 4 }, { -30, -16, 7, 0, 45, 4 }, { -31, -16, 8, 0, 45, 4 }, { -33, -16, 8, 0, 45, 4 }, { -34, -16, 8, 0, 45, 4 }, + { -35, -16, 8, 0, 45, 4 }, { -36, -16, 8, 0, 45, 4 }, { -37, -16, 8, 1, 45, 4 }, { -38, -16, 8, 1, 45, 4 }, { -39, -15, 8, 1, 45, 4 }, + { -40, -15, 8, 1, 45, 4 }, { -41, -15, 9, 1, 45, 4 }, { -42, -15, 9, 1, 45, 4 }, { -43, -15, 9, 1, 45, 4 }, { -44, -15, 9, 1, 45, 4 }, + { -45, -14, 9, 1, 45, 4 }, { -46, -14, 9, 2, 45, 4 }, { -47, -14, 9, 2, 45, 4 }, { -48, -13, 9, 2, 45, 4 }, { -49, -13, 10, 2, 45, 4 }, + { -50, -13, 10, 2, 45, 4 }, { -51, -12, 10, 2, 45, 4 }, { -52, -12, 10, 2, 45, 4 }, { -53, -11, 10, 2, 45, 4 }, { -54, -11, 10, 2, 45, 4 }, + { -55, -10, 10, 2, 45, 4 }, { -56, -10, 10, 3, 45, 4 }, { -57, -9, 10, 3, 45, 4 }, { -58, -9, 11, 3, 45, 4 }, { -59, -8, 11, 3, 45, 4 }, + { -60, -7, 11, 3, 45, 4 }, { -61, -7, 11, 3, 45, 4 }, { -62, -6, 11, 3, 45, 4 }, { -63, -5, 11, 3, 45, 4 }, { -64, -4, 11, 3, 45, 4 }, + { -65, -3, 11, 4, 45, 4 }, { -67, -3, 12, 4, 45, 4 }, { -68, -2, 12, 4, 45, 4 }, { -69, -1, 12, 4, 45, 4 }, { -70, 0, 12, 4, 45, 4 }, + { -71, 1, 12, 5, 45, 4 }, { -71, 2, 12, 5, 45, 4 }, { -72, 3, 12, 5, 45, 4 }, { -73, 4, 12, 5, 45, 4 }, { -73, 5, 13, 5, 45, 4 }, + { -74, 6, 13, 5, 45, 4 }, { -74, 7, 13, 5, 45, 4 }, { -75, 8, 13, 5, 45, 4 }, { -75, 9, 13, 5, 45, 4 }, { -76, 10, 13, 6, 45, 4 }, + { -76, 11, 13, 6, 45, 4 }, { -77, 12, 13, 6, 45, 4 }, { -77, 13, 13, 6, 45, 4 }, { -77, 14, 14, 6, 45, 4 }, { -78, 15, 14, 6, 45, 4 }, + { -78, 16, 14, 6, 45, 4 }, { -78, 17, 14, 6, 45, 4 }, { -79, 18, 14, 6, 45, 4 }, { -79, 19, 14, 6, 45, 4 }, { -79, 20, 14, 7, 45, 4 }, + { -79, 21, 14, 7, 45, 4 }, { -79, 22, 15, 7, 45, 4 }, { -79, 23, 15, 7, 45, 4 }, { -80, 24, 15, 7, 45, 4 }, { -80, 25, 15, 7, 45, 4 }, + { -80, 26, 15, 7, 45, 4 }, { -80, 27, 15, 7, 45, 4 }, { -80, 28, 15, 8, 45, 4 }, { -80, 29, 15, 8, 45, 4 }, { -80, 30, 16, 8, 45, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FB2D2 = { - 135, { - { 31, 16, 8, 0, 47, 2 }, { 30, 16, 8, 0, 47, 2 }, { 29, 16, 8, 0, 47, 2 }, { 28, 16, 8, 0, 47, 2 }, { 27, 16, 8, 31, 47, 2 }, - { 26, 16, 8, 31, 47, 2 }, { 25, 15, 8, 31, 47, 2 }, { 24, 15, 8, 31, 47, 2 }, { 23, 15, 7, 31, 47, 2 }, { 22, 15, 7, 31, 47, 2 }, - { 21, 15, 7, 31, 47, 2 }, { 20, 15, 7, 31, 47, 2 }, { 19, 14, 7, 31, 47, 2 }, { 18, 14, 7, 30, 47, 2 }, { 17, 14, 7, 30, 47, 2 }, - { 16, 13, 7, 30, 47, 2 }, { 15, 13, 6, 30, 47, 2 }, { 14, 13, 6, 30, 47, 2 }, { 13, 12, 6, 30, 47, 2 }, { 12, 12, 6, 30, 47, 2 }, - { 11, 11, 6, 30, 47, 2 }, { 10, 11, 6, 30, 47, 2 }, { 9, 10, 6, 30, 47, 2 }, { 8, 10, 6, 29, 47, 2 }, { 7, 9, 6, 29, 47, 2 }, - { 6, 9, 5, 29, 47, 2 }, { 5, 8, 5, 29, 47, 2 }, { 4, 7, 5, 29, 47, 2 }, { 3, 7, 5, 29, 47, 2 }, { 2, 6, 5, 29, 47, 2 }, - { 1, 5, 5, 29, 47, 2 }, { 0, 4, 5, 29, 47, 2 }, { -1, 3, 5, 28, 47, 2 }, { -3, 3, 4, 28, 47, 2 }, { -4, 2, 4, 28, 47, 2 }, - { -5, 1, 4, 28, 47, 2 }, { -6, 0, 4, 28, 47, 2 }, { -7, -1, 4, 27, 47, 2 }, { -7, -2, 4, 27, 47, 2 }, { -8, -3, 4, 27, 47, 2 }, - { -9, -4, 4, 27, 47, 2 }, { -9, -5, 4, 27, 47, 2 }, { -10, -6, 3, 27, 47, 2 }, { -10, -7, 3, 27, 47, 2 }, { -11, -8, 3, 27, 47, 2 }, - { -11, -9, 3, 27, 47, 2 }, { -12, -10, 3, 26, 47, 2 }, { -12, -11, 3, 26, 47, 2 }, { -13, -12, 3, 26, 47, 2 }, { -13, -13, 3, 26, 47, 2 }, - { -13, -14, 2, 26, 47, 2 }, { -14, -15, 2, 26, 47, 2 }, { -14, -16, 2, 26, 47, 2 }, { -14, -17, 2, 26, 47, 2 }, { -15, -18, 2, 26, 47, 2 }, - { -15, -19, 2, 26, 47, 2 }, { -15, -20, 2, 25, 47, 2 }, { -15, -21, 2, 25, 47, 2 }, { -15, -22, 2, 25, 47, 2 }, { -15, -23, 1, 25, 47, 2 }, - { -16, -24, 1, 25, 47, 2 }, { -16, -25, 1, 25, 47, 2 }, { -16, -26, 1, 25, 47, 2 }, { -16, -27, 1, 25, 47, 2 }, { -16, -28, 1, 24, 47, 2 }, - { -16, -29, 1, 24, 47, 2 }, { -16, -30, 1, 24, 47, 2 }, { -16, -31, 0, 24, 47, 2 }, { -16, -33, 0, 24, 47, 2 }, { -16, -34, 0, 24, 47, 2 }, - { -16, -35, 0, 24, 47, 2 }, { -16, -36, 0, 24, 47, 2 }, { -16, -37, 0, 23, 47, 2 }, { -16, -38, 0, 23, 47, 2 }, { -15, -39, 0, 23, 47, 2 }, - { -15, -40, 0, 23, 47, 2 }, { -15, -41, -1, 23, 47, 2 }, { -15, -42, -1, 23, 47, 2 }, { -15, -43, -1, 23, 47, 2 }, { -15, -44, -1, 23, 47, 2 }, - { -14, -45, -1, 23, 47, 2 }, { -14, -46, -1, 22, 47, 2 }, { -14, -47, -1, 22, 47, 2 }, { -13, -48, -1, 22, 47, 2 }, { -13, -49, -2, 22, 47, 2 }, - { -13, -50, -2, 22, 47, 2 }, { -12, -51, -2, 22, 47, 2 }, { -12, -52, -2, 22, 47, 2 }, { -11, -53, -2, 22, 47, 2 }, { -11, -54, -2, 22, 47, 2 }, - { -10, -55, -2, 22, 47, 2 }, { -10, -56, -2, 21, 47, 2 }, { -9, -57, -2, 21, 47, 2 }, { -9, -58, -3, 21, 47, 2 }, { -8, -59, -3, 21, 47, 2 }, - { -7, -60, -3, 21, 47, 2 }, { -7, -61, -3, 21, 47, 2 }, { -6, -62, -3, 21, 47, 2 }, { -5, -63, -3, 21, 47, 2 }, { -4, -64, -3, 21, 47, 2 }, - { -3, -65, -3, 20, 47, 2 }, { -3, -67, -4, 20, 47, 2 }, { -2, -68, -4, 20, 47, 2 }, { -1, -69, -4, 20, 47, 2 }, { 0, -70, -4, 20, 47, 2 }, - { 1, -71, -4, 19, 47, 2 }, { 2, -71, -4, 19, 47, 2 }, { 3, -72, -4, 19, 47, 2 }, { 4, -73, -4, 19, 47, 2 }, { 5, -73, -5, 19, 47, 2 }, - { 6, -74, -5, 19, 47, 2 }, { 7, -74, -5, 19, 47, 2 }, { 8, -75, -5, 19, 47, 2 }, { 9, -75, -5, 19, 47, 2 }, { 10, -76, -5, 18, 47, 2 }, - { 11, -76, -5, 18, 47, 2 }, { 12, -77, -5, 18, 47, 2 }, { 13, -77, -5, 18, 47, 2 }, { 14, -77, -6, 18, 47, 2 }, { 15, -78, -6, 18, 47, 2 }, - { 16, -78, -6, 18, 47, 2 }, { 17, -78, -6, 18, 47, 2 }, { 18, -79, -6, 18, 47, 2 }, { 19, -79, -6, 18, 47, 2 }, { 20, -79, -6, 17, 47, 2 }, - { 21, -79, -6, 17, 47, 2 }, { 22, -79, -7, 17, 47, 2 }, { 23, -79, -7, 17, 47, 2 }, { 24, -80, -7, 17, 47, 2 }, { 25, -80, -7, 17, 47, 2 }, - { 26, -80, -7, 17, 47, 2 }, { 27, -80, -7, 17, 47, 2 }, { 28, -80, -7, 16, 47, 2 }, { 29, -80, -7, 16, 47, 2 }, { 30, -80, -8, 16, 47, 2 }, + 135, { + { 31, 16, 8, 0, 47, 2 }, { 30, 16, 8, 0, 47, 2 }, { 29, 16, 8, 0, 47, 2 }, { 28, 16, 8, 0, 47, 2 }, { 27, 16, 8, 31, 47, 2 }, + { 26, 16, 8, 31, 47, 2 }, { 25, 15, 8, 31, 47, 2 }, { 24, 15, 8, 31, 47, 2 }, { 23, 15, 7, 31, 47, 2 }, { 22, 15, 7, 31, 47, 2 }, + { 21, 15, 7, 31, 47, 2 }, { 20, 15, 7, 31, 47, 2 }, { 19, 14, 7, 31, 47, 2 }, { 18, 14, 7, 30, 47, 2 }, { 17, 14, 7, 30, 47, 2 }, + { 16, 13, 7, 30, 47, 2 }, { 15, 13, 6, 30, 47, 2 }, { 14, 13, 6, 30, 47, 2 }, { 13, 12, 6, 30, 47, 2 }, { 12, 12, 6, 30, 47, 2 }, + { 11, 11, 6, 30, 47, 2 }, { 10, 11, 6, 30, 47, 2 }, { 9, 10, 6, 30, 47, 2 }, { 8, 10, 6, 29, 47, 2 }, { 7, 9, 6, 29, 47, 2 }, + { 6, 9, 5, 29, 47, 2 }, { 5, 8, 5, 29, 47, 2 }, { 4, 7, 5, 29, 47, 2 }, { 3, 7, 5, 29, 47, 2 }, { 2, 6, 5, 29, 47, 2 }, + { 1, 5, 5, 29, 47, 2 }, { 0, 4, 5, 29, 47, 2 }, { -1, 3, 5, 28, 47, 2 }, { -3, 3, 4, 28, 47, 2 }, { -4, 2, 4, 28, 47, 2 }, + { -5, 1, 4, 28, 47, 2 }, { -6, 0, 4, 28, 47, 2 }, { -7, -1, 4, 27, 47, 2 }, { -7, -2, 4, 27, 47, 2 }, { -8, -3, 4, 27, 47, 2 }, + { -9, -4, 4, 27, 47, 2 }, { -9, -5, 4, 27, 47, 2 }, { -10, -6, 3, 27, 47, 2 }, { -10, -7, 3, 27, 47, 2 }, { -11, -8, 3, 27, 47, 2 }, + { -11, -9, 3, 27, 47, 2 }, { -12, -10, 3, 26, 47, 2 }, { -12, -11, 3, 26, 47, 2 }, { -13, -12, 3, 26, 47, 2 }, { -13, -13, 3, 26, 47, 2 }, + { -13, -14, 2, 26, 47, 2 }, { -14, -15, 2, 26, 47, 2 }, { -14, -16, 2, 26, 47, 2 }, { -14, -17, 2, 26, 47, 2 }, { -15, -18, 2, 26, 47, 2 }, + { -15, -19, 2, 26, 47, 2 }, { -15, -20, 2, 25, 47, 2 }, { -15, -21, 2, 25, 47, 2 }, { -15, -22, 2, 25, 47, 2 }, { -15, -23, 1, 25, 47, 2 }, + { -16, -24, 1, 25, 47, 2 }, { -16, -25, 1, 25, 47, 2 }, { -16, -26, 1, 25, 47, 2 }, { -16, -27, 1, 25, 47, 2 }, { -16, -28, 1, 24, 47, 2 }, + { -16, -29, 1, 24, 47, 2 }, { -16, -30, 1, 24, 47, 2 }, { -16, -31, 0, 24, 47, 2 }, { -16, -33, 0, 24, 47, 2 }, { -16, -34, 0, 24, 47, 2 }, + { -16, -35, 0, 24, 47, 2 }, { -16, -36, 0, 24, 47, 2 }, { -16, -37, 0, 23, 47, 2 }, { -16, -38, 0, 23, 47, 2 }, { -15, -39, 0, 23, 47, 2 }, + { -15, -40, 0, 23, 47, 2 }, { -15, -41, -1, 23, 47, 2 }, { -15, -42, -1, 23, 47, 2 }, { -15, -43, -1, 23, 47, 2 }, { -15, -44, -1, 23, 47, 2 }, + { -14, -45, -1, 23, 47, 2 }, { -14, -46, -1, 22, 47, 2 }, { -14, -47, -1, 22, 47, 2 }, { -13, -48, -1, 22, 47, 2 }, { -13, -49, -2, 22, 47, 2 }, + { -13, -50, -2, 22, 47, 2 }, { -12, -51, -2, 22, 47, 2 }, { -12, -52, -2, 22, 47, 2 }, { -11, -53, -2, 22, 47, 2 }, { -11, -54, -2, 22, 47, 2 }, + { -10, -55, -2, 22, 47, 2 }, { -10, -56, -2, 21, 47, 2 }, { -9, -57, -2, 21, 47, 2 }, { -9, -58, -3, 21, 47, 2 }, { -8, -59, -3, 21, 47, 2 }, + { -7, -60, -3, 21, 47, 2 }, { -7, -61, -3, 21, 47, 2 }, { -6, -62, -3, 21, 47, 2 }, { -5, -63, -3, 21, 47, 2 }, { -4, -64, -3, 21, 47, 2 }, + { -3, -65, -3, 20, 47, 2 }, { -3, -67, -4, 20, 47, 2 }, { -2, -68, -4, 20, 47, 2 }, { -1, -69, -4, 20, 47, 2 }, { 0, -70, -4, 20, 47, 2 }, + { 1, -71, -4, 19, 47, 2 }, { 2, -71, -4, 19, 47, 2 }, { 3, -72, -4, 19, 47, 2 }, { 4, -73, -4, 19, 47, 2 }, { 5, -73, -5, 19, 47, 2 }, + { 6, -74, -5, 19, 47, 2 }, { 7, -74, -5, 19, 47, 2 }, { 8, -75, -5, 19, 47, 2 }, { 9, -75, -5, 19, 47, 2 }, { 10, -76, -5, 18, 47, 2 }, + { 11, -76, -5, 18, 47, 2 }, { 12, -77, -5, 18, 47, 2 }, { 13, -77, -5, 18, 47, 2 }, { 14, -77, -6, 18, 47, 2 }, { 15, -78, -6, 18, 47, 2 }, + { 16, -78, -6, 18, 47, 2 }, { 17, -78, -6, 18, 47, 2 }, { 18, -79, -6, 18, 47, 2 }, { 19, -79, -6, 18, 47, 2 }, { 20, -79, -6, 17, 47, 2 }, + { 21, -79, -6, 17, 47, 2 }, { 22, -79, -7, 17, 47, 2 }, { 23, -79, -7, 17, 47, 2 }, { 24, -80, -7, 17, 47, 2 }, { 25, -80, -7, 17, 47, 2 }, + { 26, -80, -7, 17, 47, 2 }, { 27, -80, -7, 17, 47, 2 }, { 28, -80, -7, 16, 47, 2 }, { 29, -80, -7, 16, 47, 2 }, { 30, -80, -8, 16, 47, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FB793 = { - 137, { - { 16, 0, 8, 8, 47, 2 }, { 16, 1, 8, 8, 47, 2 }, { 16, 2, 8, 8, 47, 2 }, { 16, 3, 8, 8, 47, 2 }, { 16, 4, 8, 8, 47, 2 }, - { 16, 5, 8, 7, 47, 2 }, { 16, 6, 8, 7, 47, 2 }, { 15, 7, 8, 7, 47, 2 }, { 15, 8, 8, 7, 47, 2 }, { 15, 9, 7, 7, 47, 2 }, - { 15, 10, 7, 7, 47, 2 }, { 15, 11, 7, 7, 47, 2 }, { 15, 12, 7, 7, 47, 2 }, { 14, 13, 7, 7, 47, 2 }, { 14, 14, 7, 6, 47, 2 }, - { 14, 15, 7, 6, 47, 2 }, { 13, 16, 7, 6, 47, 2 }, { 13, 17, 7, 6, 47, 2 }, { 13, 18, 6, 6, 47, 2 }, { 12, 19, 6, 6, 47, 2 }, - { 12, 20, 6, 6, 47, 2 }, { 11, 21, 6, 6, 47, 2 }, { 11, 22, 6, 6, 47, 2 }, { 10, 23, 6, 6, 47, 2 }, { 10, 24, 6, 5, 47, 2 }, - { 9, 25, 6, 5, 47, 2 }, { 9, 26, 5, 5, 47, 2 }, { 8, 27, 5, 5, 47, 2 }, { 7, 28, 5, 5, 47, 2 }, { 7, 29, 5, 5, 47, 2 }, - { 6, 30, 5, 5, 47, 2 }, { 5, 31, 5, 5, 47, 2 }, { 4, 32, 5, 5, 47, 2 }, { 3, 33, 5, 4, 47, 2 }, { 3, 35, 5, 4, 47, 2 }, - { 2, 36, 4, 4, 47, 2 }, { 1, 37, 4, 4, 47, 2 }, { 0, 38, 4, 4, 47, 2 }, { -1, 39, 4, 3, 47, 2 }, { -2, 39, 4, 3, 47, 2 }, - { -3, 40, 4, 3, 47, 2 }, { -4, 41, 4, 3, 47, 2 }, { -5, 41, 4, 3, 47, 2 }, { -6, 42, 4, 3, 47, 2 }, { -7, 42, 3, 3, 47, 2 }, - { -8, 43, 3, 3, 47, 2 }, { -9, 43, 3, 3, 47, 2 }, { -10, 44, 3, 2, 47, 2 }, { -11, 44, 3, 2, 47, 2 }, { -12, 45, 3, 2, 47, 2 }, - { -13, 45, 3, 2, 47, 2 }, { -14, 45, 3, 2, 47, 2 }, { -15, 46, 2, 2, 47, 2 }, { -16, 46, 2, 2, 47, 2 }, { -17, 46, 2, 2, 47, 2 }, - { -18, 47, 2, 2, 47, 2 }, { -19, 47, 2, 2, 47, 2 }, { -20, 47, 2, 1, 47, 2 }, { -21, 47, 2, 1, 47, 2 }, { -22, 47, 2, 1, 47, 2 }, - { -23, 47, 2, 1, 47, 2 }, { -24, 48, 1, 1, 47, 2 }, { -25, 48, 1, 1, 47, 2 }, { -26, 48, 1, 1, 47, 2 }, { -27, 48, 1, 1, 47, 2 }, - { -28, 48, 1, 0, 47, 2 }, { -29, 48, 1, 0, 47, 2 }, { -30, 48, 1, 0, 47, 2 }, { -31, 48, 1, 0, 47, 2 }, { -33, 48, 0, 0, 47, 2 }, - { -34, 48, 0, 0, 47, 2 }, { -35, 48, 0, 0, 47, 2 }, { -36, 48, 0, 0, 47, 2 }, { -37, 48, 0, 31, 47, 2 }, { -38, 48, 0, 31, 47, 2 }, - { -39, 47, 0, 31, 47, 2 }, { -40, 47, 0, 31, 47, 2 }, { -41, 47, -1, 31, 47, 2 }, { -42, 47, -1, 31, 47, 2 }, { -43, 47, -1, 31, 47, 2 }, - { -44, 47, -1, 31, 47, 2 }, { -45, 46, -1, 31, 47, 2 }, { -46, 46, -1, 30, 47, 2 }, { -47, 46, -1, 30, 47, 2 }, { -48, 45, -1, 30, 47, 2 }, - { -49, 45, -2, 30, 47, 2 }, { -50, 45, -2, 30, 47, 2 }, { -51, 44, -2, 30, 47, 2 }, { -52, 44, -2, 30, 47, 2 }, { -53, 43, -2, 30, 47, 2 }, - { -54, 43, -2, 30, 47, 2 }, { -55, 42, -2, 30, 47, 2 }, { -56, 42, -2, 29, 47, 2 }, { -57, 41, -2, 29, 47, 2 }, { -58, 41, -3, 29, 47, 2 }, - { -59, 40, -3, 29, 47, 2 }, { -60, 39, -3, 29, 47, 2 }, { -61, 39, -3, 29, 47, 2 }, { -62, 38, -3, 29, 47, 2 }, { -63, 37, -3, 29, 47, 2 }, - { -64, 36, -3, 29, 47, 2 }, { -65, 35, -3, 28, 47, 2 }, { -67, 35, -4, 28, 47, 2 }, { -68, 34, -4, 28, 47, 2 }, { -69, 33, -4, 28, 47, 2 }, - { -70, 32, -4, 28, 47, 2 }, { -71, 31, -4, 27, 47, 2 }, { -71, 30, -4, 27, 47, 2 }, { -72, 29, -4, 27, 47, 2 }, { -73, 28, -4, 27, 47, 2 }, - { -73, 27, -4, 27, 47, 2 }, { -74, 26, -5, 27, 47, 2 }, { -74, 25, -5, 27, 47, 2 }, { -75, 24, -5, 27, 47, 2 }, { -75, 23, -5, 27, 47, 2 }, - { -76, 22, -5, 26, 47, 2 }, { -76, 21, -5, 26, 47, 2 }, { -77, 20, -5, 26, 47, 2 }, { -77, 19, -5, 26, 47, 2 }, { -77, 18, -6, 26, 47, 2 }, - { -78, 17, -6, 26, 47, 2 }, { -78, 16, -6, 26, 47, 2 }, { -78, 15, -6, 26, 47, 2 }, { -79, 14, -6, 26, 47, 2 }, { -79, 13, -6, 26, 47, 2 }, - { -79, 12, -6, 25, 47, 2 }, { -79, 11, -6, 25, 47, 2 }, { -79, 10, -6, 25, 47, 2 }, { -79, 9, -7, 25, 47, 2 }, { -80, 8, -7, 25, 47, 2 }, - { -80, 7, -7, 25, 47, 2 }, { -80, 6, -7, 25, 47, 2 }, { -80, 5, -7, 25, 47, 2 }, { -80, 4, -7, 24, 47, 2 }, { -80, 3, -7, 24, 47, 2 }, - { -80, 2, -7, 24, 47, 2 }, { -80, 1, -8, 24, 47, 2 }, + 137, { + { 16, 0, 8, 8, 47, 2 }, { 16, 1, 8, 8, 47, 2 }, { 16, 2, 8, 8, 47, 2 }, { 16, 3, 8, 8, 47, 2 }, { 16, 4, 8, 8, 47, 2 }, + { 16, 5, 8, 7, 47, 2 }, { 16, 6, 8, 7, 47, 2 }, { 15, 7, 8, 7, 47, 2 }, { 15, 8, 8, 7, 47, 2 }, { 15, 9, 7, 7, 47, 2 }, + { 15, 10, 7, 7, 47, 2 }, { 15, 11, 7, 7, 47, 2 }, { 15, 12, 7, 7, 47, 2 }, { 14, 13, 7, 7, 47, 2 }, { 14, 14, 7, 6, 47, 2 }, + { 14, 15, 7, 6, 47, 2 }, { 13, 16, 7, 6, 47, 2 }, { 13, 17, 7, 6, 47, 2 }, { 13, 18, 6, 6, 47, 2 }, { 12, 19, 6, 6, 47, 2 }, + { 12, 20, 6, 6, 47, 2 }, { 11, 21, 6, 6, 47, 2 }, { 11, 22, 6, 6, 47, 2 }, { 10, 23, 6, 6, 47, 2 }, { 10, 24, 6, 5, 47, 2 }, + { 9, 25, 6, 5, 47, 2 }, { 9, 26, 5, 5, 47, 2 }, { 8, 27, 5, 5, 47, 2 }, { 7, 28, 5, 5, 47, 2 }, { 7, 29, 5, 5, 47, 2 }, + { 6, 30, 5, 5, 47, 2 }, { 5, 31, 5, 5, 47, 2 }, { 4, 32, 5, 5, 47, 2 }, { 3, 33, 5, 4, 47, 2 }, { 3, 35, 5, 4, 47, 2 }, + { 2, 36, 4, 4, 47, 2 }, { 1, 37, 4, 4, 47, 2 }, { 0, 38, 4, 4, 47, 2 }, { -1, 39, 4, 3, 47, 2 }, { -2, 39, 4, 3, 47, 2 }, + { -3, 40, 4, 3, 47, 2 }, { -4, 41, 4, 3, 47, 2 }, { -5, 41, 4, 3, 47, 2 }, { -6, 42, 4, 3, 47, 2 }, { -7, 42, 3, 3, 47, 2 }, + { -8, 43, 3, 3, 47, 2 }, { -9, 43, 3, 3, 47, 2 }, { -10, 44, 3, 2, 47, 2 }, { -11, 44, 3, 2, 47, 2 }, { -12, 45, 3, 2, 47, 2 }, + { -13, 45, 3, 2, 47, 2 }, { -14, 45, 3, 2, 47, 2 }, { -15, 46, 2, 2, 47, 2 }, { -16, 46, 2, 2, 47, 2 }, { -17, 46, 2, 2, 47, 2 }, + { -18, 47, 2, 2, 47, 2 }, { -19, 47, 2, 2, 47, 2 }, { -20, 47, 2, 1, 47, 2 }, { -21, 47, 2, 1, 47, 2 }, { -22, 47, 2, 1, 47, 2 }, + { -23, 47, 2, 1, 47, 2 }, { -24, 48, 1, 1, 47, 2 }, { -25, 48, 1, 1, 47, 2 }, { -26, 48, 1, 1, 47, 2 }, { -27, 48, 1, 1, 47, 2 }, + { -28, 48, 1, 0, 47, 2 }, { -29, 48, 1, 0, 47, 2 }, { -30, 48, 1, 0, 47, 2 }, { -31, 48, 1, 0, 47, 2 }, { -33, 48, 0, 0, 47, 2 }, + { -34, 48, 0, 0, 47, 2 }, { -35, 48, 0, 0, 47, 2 }, { -36, 48, 0, 0, 47, 2 }, { -37, 48, 0, 31, 47, 2 }, { -38, 48, 0, 31, 47, 2 }, + { -39, 47, 0, 31, 47, 2 }, { -40, 47, 0, 31, 47, 2 }, { -41, 47, -1, 31, 47, 2 }, { -42, 47, -1, 31, 47, 2 }, { -43, 47, -1, 31, 47, 2 }, + { -44, 47, -1, 31, 47, 2 }, { -45, 46, -1, 31, 47, 2 }, { -46, 46, -1, 30, 47, 2 }, { -47, 46, -1, 30, 47, 2 }, { -48, 45, -1, 30, 47, 2 }, + { -49, 45, -2, 30, 47, 2 }, { -50, 45, -2, 30, 47, 2 }, { -51, 44, -2, 30, 47, 2 }, { -52, 44, -2, 30, 47, 2 }, { -53, 43, -2, 30, 47, 2 }, + { -54, 43, -2, 30, 47, 2 }, { -55, 42, -2, 30, 47, 2 }, { -56, 42, -2, 29, 47, 2 }, { -57, 41, -2, 29, 47, 2 }, { -58, 41, -3, 29, 47, 2 }, + { -59, 40, -3, 29, 47, 2 }, { -60, 39, -3, 29, 47, 2 }, { -61, 39, -3, 29, 47, 2 }, { -62, 38, -3, 29, 47, 2 }, { -63, 37, -3, 29, 47, 2 }, + { -64, 36, -3, 29, 47, 2 }, { -65, 35, -3, 28, 47, 2 }, { -67, 35, -4, 28, 47, 2 }, { -68, 34, -4, 28, 47, 2 }, { -69, 33, -4, 28, 47, 2 }, + { -70, 32, -4, 28, 47, 2 }, { -71, 31, -4, 27, 47, 2 }, { -71, 30, -4, 27, 47, 2 }, { -72, 29, -4, 27, 47, 2 }, { -73, 28, -4, 27, 47, 2 }, + { -73, 27, -4, 27, 47, 2 }, { -74, 26, -5, 27, 47, 2 }, { -74, 25, -5, 27, 47, 2 }, { -75, 24, -5, 27, 47, 2 }, { -75, 23, -5, 27, 47, 2 }, + { -76, 22, -5, 26, 47, 2 }, { -76, 21, -5, 26, 47, 2 }, { -77, 20, -5, 26, 47, 2 }, { -77, 19, -5, 26, 47, 2 }, { -77, 18, -6, 26, 47, 2 }, + { -78, 17, -6, 26, 47, 2 }, { -78, 16, -6, 26, 47, 2 }, { -78, 15, -6, 26, 47, 2 }, { -79, 14, -6, 26, 47, 2 }, { -79, 13, -6, 26, 47, 2 }, + { -79, 12, -6, 25, 47, 2 }, { -79, 11, -6, 25, 47, 2 }, { -79, 10, -6, 25, 47, 2 }, { -79, 9, -7, 25, 47, 2 }, { -80, 8, -7, 25, 47, 2 }, + { -80, 7, -7, 25, 47, 2 }, { -80, 6, -7, 25, 47, 2 }, { -80, 5, -7, 25, 47, 2 }, { -80, 4, -7, 24, 47, 2 }, { -80, 3, -7, 24, 47, 2 }, + { -80, 2, -7, 24, 47, 2 }, { -80, 1, -8, 24, 47, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FBC66 = { - 137, { - { 0, 16, 8, 16, 47, 2 }, { 1, 16, 8, 16, 47, 2 }, { 2, 16, 8, 16, 47, 2 }, { 3, 16, 8, 16, 47, 2 }, { 4, 16, 8, 16, 47, 2 }, - { 5, 16, 8, 15, 47, 2 }, { 6, 16, 8, 15, 47, 2 }, { 7, 17, 8, 15, 47, 2 }, { 8, 17, 8, 15, 47, 2 }, { 9, 17, 7, 15, 47, 2 }, - { 10, 17, 7, 15, 47, 2 }, { 11, 17, 7, 15, 47, 2 }, { 12, 17, 7, 15, 47, 2 }, { 13, 18, 7, 15, 47, 2 }, { 14, 18, 7, 14, 47, 2 }, - { 15, 18, 7, 14, 47, 2 }, { 16, 19, 7, 14, 47, 2 }, { 17, 19, 6, 14, 47, 2 }, { 18, 19, 6, 14, 47, 2 }, { 19, 20, 6, 14, 47, 2 }, - { 20, 20, 6, 14, 47, 2 }, { 21, 21, 6, 14, 47, 2 }, { 22, 21, 6, 14, 47, 2 }, { 23, 22, 6, 14, 47, 2 }, { 24, 22, 6, 13, 47, 2 }, - { 25, 23, 6, 13, 47, 2 }, { 26, 23, 5, 13, 47, 2 }, { 27, 24, 5, 13, 47, 2 }, { 28, 25, 5, 13, 47, 2 }, { 29, 25, 5, 13, 47, 2 }, - { 30, 26, 5, 13, 47, 2 }, { 31, 27, 5, 13, 47, 2 }, { 32, 28, 5, 13, 47, 2 }, { 33, 29, 5, 12, 47, 2 }, { 35, 29, 4, 12, 47, 2 }, - { 36, 30, 4, 12, 47, 2 }, { 37, 31, 4, 12, 47, 2 }, { 38, 32, 4, 12, 47, 2 }, { 39, 33, 4, 11, 47, 2 }, { 39, 34, 4, 11, 47, 2 }, - { 40, 35, 4, 11, 47, 2 }, { 41, 36, 4, 11, 47, 2 }, { 41, 37, 4, 11, 47, 2 }, { 42, 38, 3, 11, 47, 2 }, { 42, 39, 3, 11, 47, 2 }, - { 43, 40, 3, 11, 47, 2 }, { 43, 41, 3, 11, 47, 2 }, { 44, 42, 3, 10, 47, 2 }, { 44, 43, 3, 10, 47, 2 }, { 45, 44, 3, 10, 47, 2 }, - { 45, 45, 3, 10, 47, 2 }, { 45, 46, 2, 10, 47, 2 }, { 46, 47, 2, 10, 47, 2 }, { 46, 48, 2, 10, 47, 2 }, { 46, 49, 2, 10, 47, 2 }, - { 47, 50, 2, 10, 47, 2 }, { 47, 51, 2, 10, 47, 2 }, { 47, 52, 2, 9, 47, 2 }, { 47, 53, 2, 9, 47, 2 }, { 47, 54, 2, 9, 47, 2 }, - { 47, 55, 1, 9, 47, 2 }, { 48, 56, 1, 9, 47, 2 }, { 48, 57, 1, 9, 47, 2 }, { 48, 58, 1, 9, 47, 2 }, { 48, 59, 1, 9, 47, 2 }, - { 48, 60, 1, 8, 47, 2 }, { 48, 61, 1, 8, 47, 2 }, { 48, 62, 1, 8, 47, 2 }, { 48, 64, 0, 8, 47, 2 }, { 48, 65, 0, 8, 47, 2 }, - { 48, 66, 0, 8, 47, 2 }, { 48, 67, 0, 8, 47, 2 }, { 48, 68, 0, 8, 47, 2 }, { 48, 69, 0, 7, 47, 2 }, { 48, 70, 0, 7, 47, 2 }, - { 47, 71, 0, 7, 47, 2 }, { 47, 72, 0, 7, 47, 2 }, { 47, 73, -1, 7, 47, 2 }, { 47, 74, -1, 7, 47, 2 }, { 47, 75, -1, 7, 47, 2 }, - { 47, 76, -1, 7, 47, 2 }, { 46, 77, -1, 7, 47, 2 }, { 46, 78, -1, 6, 47, 2 }, { 46, 79, -1, 6, 47, 2 }, { 45, 80, -1, 6, 47, 2 }, - { 45, 81, -1, 6, 47, 2 }, { 45, 82, -2, 6, 47, 2 }, { 44, 83, -2, 6, 47, 2 }, { 44, 84, -2, 6, 47, 2 }, { 43, 85, -2, 6, 47, 2 }, - { 43, 86, -2, 6, 47, 2 }, { 42, 87, -2, 6, 47, 2 }, { 42, 88, -2, 5, 47, 2 }, { 41, 89, -2, 5, 47, 2 }, { 41, 90, -3, 5, 47, 2 }, - { 40, 91, -3, 5, 47, 2 }, { 39, 92, -3, 5, 47, 2 }, { 39, 93, -3, 5, 47, 2 }, { 38, 94, -3, 5, 47, 2 }, { 37, 95, -3, 5, 47, 2 }, - { 36, 96, -3, 5, 47, 2 }, { 35, 97, -3, 4, 47, 2 }, { 35, 99, -3, 4, 47, 2 }, { 34, 100, -4, 4, 47, 2 }, { 33, 101, -4, 4, 47, 2 }, - { 32, 102, -4, 4, 47, 2 }, { 31, 103, -4, 3, 47, 2 }, { 30, 103, -4, 3, 47, 2 }, { 29, 104, -4, 3, 47, 2 }, { 28, 105, -4, 3, 47, 2 }, - { 27, 105, -4, 3, 47, 2 }, { 26, 106, -4, 3, 47, 2 }, { 25, 106, -5, 3, 47, 2 }, { 24, 107, -5, 3, 47, 2 }, { 23, 107, -5, 3, 47, 2 }, - { 22, 108, -5, 2, 47, 2 }, { 21, 108, -5, 2, 47, 2 }, { 20, 109, -5, 2, 47, 2 }, { 19, 109, -5, 2, 47, 2 }, { 18, 109, -5, 2, 47, 2 }, - { 17, 110, -6, 2, 47, 2 }, { 16, 110, -6, 2, 47, 2 }, { 15, 110, -6, 2, 47, 2 }, { 14, 111, -6, 2, 47, 2 }, { 13, 111, -6, 2, 47, 2 }, - { 12, 111, -6, 1, 47, 2 }, { 11, 111, -6, 1, 47, 2 }, { 10, 111, -6, 1, 47, 2 }, { 9, 111, -6, 1, 47, 2 }, { 8, 112, -7, 1, 47, 2 }, - { 7, 112, -7, 1, 47, 2 }, { 6, 112, -7, 1, 47, 2 }, { 5, 112, -7, 1, 47, 2 }, { 4, 112, -7, 0, 47, 2 }, { 3, 112, -7, 0, 47, 2 }, - { 2, 112, -7, 0, 47, 2 }, { 1, 112, -7, 0, 47, 2 }, + 137, { + { 0, 16, 8, 16, 47, 2 }, { 1, 16, 8, 16, 47, 2 }, { 2, 16, 8, 16, 47, 2 }, { 3, 16, 8, 16, 47, 2 }, { 4, 16, 8, 16, 47, 2 }, + { 5, 16, 8, 15, 47, 2 }, { 6, 16, 8, 15, 47, 2 }, { 7, 17, 8, 15, 47, 2 }, { 8, 17, 8, 15, 47, 2 }, { 9, 17, 7, 15, 47, 2 }, + { 10, 17, 7, 15, 47, 2 }, { 11, 17, 7, 15, 47, 2 }, { 12, 17, 7, 15, 47, 2 }, { 13, 18, 7, 15, 47, 2 }, { 14, 18, 7, 14, 47, 2 }, + { 15, 18, 7, 14, 47, 2 }, { 16, 19, 7, 14, 47, 2 }, { 17, 19, 6, 14, 47, 2 }, { 18, 19, 6, 14, 47, 2 }, { 19, 20, 6, 14, 47, 2 }, + { 20, 20, 6, 14, 47, 2 }, { 21, 21, 6, 14, 47, 2 }, { 22, 21, 6, 14, 47, 2 }, { 23, 22, 6, 14, 47, 2 }, { 24, 22, 6, 13, 47, 2 }, + { 25, 23, 6, 13, 47, 2 }, { 26, 23, 5, 13, 47, 2 }, { 27, 24, 5, 13, 47, 2 }, { 28, 25, 5, 13, 47, 2 }, { 29, 25, 5, 13, 47, 2 }, + { 30, 26, 5, 13, 47, 2 }, { 31, 27, 5, 13, 47, 2 }, { 32, 28, 5, 13, 47, 2 }, { 33, 29, 5, 12, 47, 2 }, { 35, 29, 4, 12, 47, 2 }, + { 36, 30, 4, 12, 47, 2 }, { 37, 31, 4, 12, 47, 2 }, { 38, 32, 4, 12, 47, 2 }, { 39, 33, 4, 11, 47, 2 }, { 39, 34, 4, 11, 47, 2 }, + { 40, 35, 4, 11, 47, 2 }, { 41, 36, 4, 11, 47, 2 }, { 41, 37, 4, 11, 47, 2 }, { 42, 38, 3, 11, 47, 2 }, { 42, 39, 3, 11, 47, 2 }, + { 43, 40, 3, 11, 47, 2 }, { 43, 41, 3, 11, 47, 2 }, { 44, 42, 3, 10, 47, 2 }, { 44, 43, 3, 10, 47, 2 }, { 45, 44, 3, 10, 47, 2 }, + { 45, 45, 3, 10, 47, 2 }, { 45, 46, 2, 10, 47, 2 }, { 46, 47, 2, 10, 47, 2 }, { 46, 48, 2, 10, 47, 2 }, { 46, 49, 2, 10, 47, 2 }, + { 47, 50, 2, 10, 47, 2 }, { 47, 51, 2, 10, 47, 2 }, { 47, 52, 2, 9, 47, 2 }, { 47, 53, 2, 9, 47, 2 }, { 47, 54, 2, 9, 47, 2 }, + { 47, 55, 1, 9, 47, 2 }, { 48, 56, 1, 9, 47, 2 }, { 48, 57, 1, 9, 47, 2 }, { 48, 58, 1, 9, 47, 2 }, { 48, 59, 1, 9, 47, 2 }, + { 48, 60, 1, 8, 47, 2 }, { 48, 61, 1, 8, 47, 2 }, { 48, 62, 1, 8, 47, 2 }, { 48, 64, 0, 8, 47, 2 }, { 48, 65, 0, 8, 47, 2 }, + { 48, 66, 0, 8, 47, 2 }, { 48, 67, 0, 8, 47, 2 }, { 48, 68, 0, 8, 47, 2 }, { 48, 69, 0, 7, 47, 2 }, { 48, 70, 0, 7, 47, 2 }, + { 47, 71, 0, 7, 47, 2 }, { 47, 72, 0, 7, 47, 2 }, { 47, 73, -1, 7, 47, 2 }, { 47, 74, -1, 7, 47, 2 }, { 47, 75, -1, 7, 47, 2 }, + { 47, 76, -1, 7, 47, 2 }, { 46, 77, -1, 7, 47, 2 }, { 46, 78, -1, 6, 47, 2 }, { 46, 79, -1, 6, 47, 2 }, { 45, 80, -1, 6, 47, 2 }, + { 45, 81, -1, 6, 47, 2 }, { 45, 82, -2, 6, 47, 2 }, { 44, 83, -2, 6, 47, 2 }, { 44, 84, -2, 6, 47, 2 }, { 43, 85, -2, 6, 47, 2 }, + { 43, 86, -2, 6, 47, 2 }, { 42, 87, -2, 6, 47, 2 }, { 42, 88, -2, 5, 47, 2 }, { 41, 89, -2, 5, 47, 2 }, { 41, 90, -3, 5, 47, 2 }, + { 40, 91, -3, 5, 47, 2 }, { 39, 92, -3, 5, 47, 2 }, { 39, 93, -3, 5, 47, 2 }, { 38, 94, -3, 5, 47, 2 }, { 37, 95, -3, 5, 47, 2 }, + { 36, 96, -3, 5, 47, 2 }, { 35, 97, -3, 4, 47, 2 }, { 35, 99, -3, 4, 47, 2 }, { 34, 100, -4, 4, 47, 2 }, { 33, 101, -4, 4, 47, 2 }, + { 32, 102, -4, 4, 47, 2 }, { 31, 103, -4, 3, 47, 2 }, { 30, 103, -4, 3, 47, 2 }, { 29, 104, -4, 3, 47, 2 }, { 28, 105, -4, 3, 47, 2 }, + { 27, 105, -4, 3, 47, 2 }, { 26, 106, -4, 3, 47, 2 }, { 25, 106, -5, 3, 47, 2 }, { 24, 107, -5, 3, 47, 2 }, { 23, 107, -5, 3, 47, 2 }, + { 22, 108, -5, 2, 47, 2 }, { 21, 108, -5, 2, 47, 2 }, { 20, 109, -5, 2, 47, 2 }, { 19, 109, -5, 2, 47, 2 }, { 18, 109, -5, 2, 47, 2 }, + { 17, 110, -6, 2, 47, 2 }, { 16, 110, -6, 2, 47, 2 }, { 15, 110, -6, 2, 47, 2 }, { 14, 111, -6, 2, 47, 2 }, { 13, 111, -6, 2, 47, 2 }, + { 12, 111, -6, 1, 47, 2 }, { 11, 111, -6, 1, 47, 2 }, { 10, 111, -6, 1, 47, 2 }, { 9, 111, -6, 1, 47, 2 }, { 8, 112, -7, 1, 47, 2 }, + { 7, 112, -7, 1, 47, 2 }, { 6, 112, -7, 1, 47, 2 }, { 5, 112, -7, 1, 47, 2 }, { 4, 112, -7, 0, 47, 2 }, { 3, 112, -7, 0, 47, 2 }, + { 2, 112, -7, 0, 47, 2 }, { 1, 112, -7, 0, 47, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FC139 = { - 135, { - { 16, 31, 8, 24, 47, 2 }, { 16, 30, 8, 24, 47, 2 }, { 16, 29, 8, 24, 47, 2 }, { 16, 28, 8, 24, 47, 2 }, { 16, 27, 8, 23, 47, 2 }, - { 16, 26, 8, 23, 47, 2 }, { 17, 25, 8, 23, 47, 2 }, { 17, 24, 8, 23, 47, 2 }, { 17, 23, 7, 23, 47, 2 }, { 17, 22, 7, 23, 47, 2 }, - { 17, 21, 7, 23, 47, 2 }, { 17, 20, 7, 23, 47, 2 }, { 18, 19, 7, 23, 47, 2 }, { 18, 18, 7, 22, 47, 2 }, { 18, 17, 7, 22, 47, 2 }, - { 19, 16, 7, 22, 47, 2 }, { 19, 15, 6, 22, 47, 2 }, { 19, 14, 6, 22, 47, 2 }, { 20, 13, 6, 22, 47, 2 }, { 20, 12, 6, 22, 47, 2 }, - { 21, 11, 6, 22, 47, 2 }, { 21, 10, 6, 22, 47, 2 }, { 22, 9, 6, 22, 47, 2 }, { 22, 8, 6, 21, 47, 2 }, { 23, 7, 6, 21, 47, 2 }, - { 23, 6, 5, 21, 47, 2 }, { 24, 5, 5, 21, 47, 2 }, { 25, 4, 5, 21, 47, 2 }, { 25, 3, 5, 21, 47, 2 }, { 26, 2, 5, 21, 47, 2 }, - { 27, 1, 5, 21, 47, 2 }, { 28, 0, 5, 21, 47, 2 }, { 29, -1, 5, 20, 47, 2 }, { 29, -3, 4, 20, 47, 2 }, { 30, -4, 4, 20, 47, 2 }, - { 31, -5, 4, 20, 47, 2 }, { 32, -6, 4, 20, 47, 2 }, { 33, -7, 4, 19, 47, 2 }, { 34, -7, 4, 19, 47, 2 }, { 35, -8, 4, 19, 47, 2 }, - { 36, -9, 4, 19, 47, 2 }, { 37, -9, 3, 19, 47, 2 }, { 38, -10, 3, 19, 47, 2 }, { 39, -10, 3, 19, 47, 2 }, { 40, -11, 3, 19, 47, 2 }, - { 41, -11, 3, 19, 47, 2 }, { 42, -12, 3, 18, 47, 2 }, { 43, -12, 3, 18, 47, 2 }, { 44, -13, 3, 18, 47, 2 }, { 45, -13, 3, 18, 47, 2 }, - { 46, -13, 2, 18, 47, 2 }, { 47, -14, 2, 18, 47, 2 }, { 48, -14, 2, 18, 47, 2 }, { 49, -14, 2, 18, 47, 2 }, { 50, -15, 2, 18, 47, 2 }, - { 51, -15, 2, 18, 47, 2 }, { 52, -15, 2, 17, 47, 2 }, { 53, -15, 2, 17, 47, 2 }, { 54, -15, 1, 17, 47, 2 }, { 55, -15, 1, 17, 47, 2 }, - { 56, -16, 1, 17, 47, 2 }, { 57, -16, 1, 17, 47, 2 }, { 58, -16, 1, 17, 47, 2 }, { 59, -16, 1, 17, 47, 2 }, { 60, -16, 1, 16, 47, 2 }, - { 61, -16, 1, 16, 47, 2 }, { 62, -16, 0, 16, 47, 2 }, { 64, -16, 0, 16, 47, 2 }, { 65, -16, 0, 16, 47, 2 }, { 66, -16, 0, 16, 47, 2 }, - { 67, -16, 0, 16, 47, 2 }, { 68, -16, 0, 16, 47, 2 }, { 69, -16, 0, 15, 47, 2 }, { 70, -16, 0, 15, 47, 2 }, { 71, -15, 0, 15, 47, 2 }, - { 72, -15, 0, 15, 47, 2 }, { 73, -15, -1, 15, 47, 2 }, { 74, -15, -1, 15, 47, 2 }, { 75, -15, -1, 15, 47, 2 }, { 76, -15, -1, 15, 47, 2 }, - { 77, -14, -1, 15, 47, 2 }, { 78, -14, -1, 14, 47, 2 }, { 79, -14, -1, 14, 47, 2 }, { 80, -13, -1, 14, 47, 2 }, { 81, -13, -2, 14, 47, 2 }, - { 82, -13, -2, 14, 47, 2 }, { 83, -12, -2, 14, 47, 2 }, { 84, -12, -2, 14, 47, 2 }, { 85, -11, -2, 14, 47, 2 }, { 86, -11, -2, 14, 47, 2 }, - { 87, -10, -2, 14, 47, 2 }, { 88, -10, -2, 13, 47, 2 }, { 89, -9, -2, 13, 47, 2 }, { 90, -9, -3, 13, 47, 2 }, { 91, -8, -3, 13, 47, 2 }, - { 92, -7, -3, 13, 47, 2 }, { 93, -7, -3, 13, 47, 2 }, { 94, -6, -3, 13, 47, 2 }, { 95, -5, -3, 13, 47, 2 }, { 96, -4, -3, 13, 47, 2 }, - { 97, -3, -3, 12, 47, 2 }, { 99, -3, -4, 12, 47, 2 }, { 100, -2, -4, 12, 47, 2 }, { 101, -1, -4, 12, 47, 2 }, { 102, 0, -4, 12, 47, 2 }, - { 103, 1, -4, 11, 47, 2 }, { 103, 2, -4, 11, 47, 2 }, { 104, 3, -4, 11, 47, 2 }, { 105, 4, -4, 11, 47, 2 }, { 105, 5, -4, 11, 47, 2 }, - { 106, 6, -5, 11, 47, 2 }, { 106, 7, -5, 11, 47, 2 }, { 107, 8, -5, 11, 47, 2 }, { 107, 9, -5, 11, 47, 2 }, { 108, 10, -5, 10, 47, 2 }, - { 108, 11, -5, 10, 47, 2 }, { 109, 12, -5, 10, 47, 2 }, { 109, 13, -5, 10, 47, 2 }, { 109, 14, -6, 10, 47, 2 }, { 110, 15, -6, 10, 47, 2 }, - { 110, 16, -6, 10, 47, 2 }, { 110, 17, -6, 10, 47, 2 }, { 111, 18, -6, 10, 47, 2 }, { 111, 19, -6, 10, 47, 2 }, { 111, 20, -6, 9, 47, 2 }, - { 111, 21, -6, 9, 47, 2 }, { 111, 22, -6, 9, 47, 2 }, { 111, 23, -7, 9, 47, 2 }, { 112, 24, -7, 9, 47, 2 }, { 112, 25, -7, 9, 47, 2 }, - { 112, 26, -7, 9, 47, 2 }, { 112, 27, -7, 9, 47, 2 }, { 112, 28, -7, 8, 47, 2 }, { 112, 29, -7, 8, 47, 2 }, { 112, 30, -7, 8, 47, 2 }, + 135, { + { 16, 31, 8, 24, 47, 2 }, { 16, 30, 8, 24, 47, 2 }, { 16, 29, 8, 24, 47, 2 }, { 16, 28, 8, 24, 47, 2 }, { 16, 27, 8, 23, 47, 2 }, + { 16, 26, 8, 23, 47, 2 }, { 17, 25, 8, 23, 47, 2 }, { 17, 24, 8, 23, 47, 2 }, { 17, 23, 7, 23, 47, 2 }, { 17, 22, 7, 23, 47, 2 }, + { 17, 21, 7, 23, 47, 2 }, { 17, 20, 7, 23, 47, 2 }, { 18, 19, 7, 23, 47, 2 }, { 18, 18, 7, 22, 47, 2 }, { 18, 17, 7, 22, 47, 2 }, + { 19, 16, 7, 22, 47, 2 }, { 19, 15, 6, 22, 47, 2 }, { 19, 14, 6, 22, 47, 2 }, { 20, 13, 6, 22, 47, 2 }, { 20, 12, 6, 22, 47, 2 }, + { 21, 11, 6, 22, 47, 2 }, { 21, 10, 6, 22, 47, 2 }, { 22, 9, 6, 22, 47, 2 }, { 22, 8, 6, 21, 47, 2 }, { 23, 7, 6, 21, 47, 2 }, + { 23, 6, 5, 21, 47, 2 }, { 24, 5, 5, 21, 47, 2 }, { 25, 4, 5, 21, 47, 2 }, { 25, 3, 5, 21, 47, 2 }, { 26, 2, 5, 21, 47, 2 }, + { 27, 1, 5, 21, 47, 2 }, { 28, 0, 5, 21, 47, 2 }, { 29, -1, 5, 20, 47, 2 }, { 29, -3, 4, 20, 47, 2 }, { 30, -4, 4, 20, 47, 2 }, + { 31, -5, 4, 20, 47, 2 }, { 32, -6, 4, 20, 47, 2 }, { 33, -7, 4, 19, 47, 2 }, { 34, -7, 4, 19, 47, 2 }, { 35, -8, 4, 19, 47, 2 }, + { 36, -9, 4, 19, 47, 2 }, { 37, -9, 3, 19, 47, 2 }, { 38, -10, 3, 19, 47, 2 }, { 39, -10, 3, 19, 47, 2 }, { 40, -11, 3, 19, 47, 2 }, + { 41, -11, 3, 19, 47, 2 }, { 42, -12, 3, 18, 47, 2 }, { 43, -12, 3, 18, 47, 2 }, { 44, -13, 3, 18, 47, 2 }, { 45, -13, 3, 18, 47, 2 }, + { 46, -13, 2, 18, 47, 2 }, { 47, -14, 2, 18, 47, 2 }, { 48, -14, 2, 18, 47, 2 }, { 49, -14, 2, 18, 47, 2 }, { 50, -15, 2, 18, 47, 2 }, + { 51, -15, 2, 18, 47, 2 }, { 52, -15, 2, 17, 47, 2 }, { 53, -15, 2, 17, 47, 2 }, { 54, -15, 1, 17, 47, 2 }, { 55, -15, 1, 17, 47, 2 }, + { 56, -16, 1, 17, 47, 2 }, { 57, -16, 1, 17, 47, 2 }, { 58, -16, 1, 17, 47, 2 }, { 59, -16, 1, 17, 47, 2 }, { 60, -16, 1, 16, 47, 2 }, + { 61, -16, 1, 16, 47, 2 }, { 62, -16, 0, 16, 47, 2 }, { 64, -16, 0, 16, 47, 2 }, { 65, -16, 0, 16, 47, 2 }, { 66, -16, 0, 16, 47, 2 }, + { 67, -16, 0, 16, 47, 2 }, { 68, -16, 0, 16, 47, 2 }, { 69, -16, 0, 15, 47, 2 }, { 70, -16, 0, 15, 47, 2 }, { 71, -15, 0, 15, 47, 2 }, + { 72, -15, 0, 15, 47, 2 }, { 73, -15, -1, 15, 47, 2 }, { 74, -15, -1, 15, 47, 2 }, { 75, -15, -1, 15, 47, 2 }, { 76, -15, -1, 15, 47, 2 }, + { 77, -14, -1, 15, 47, 2 }, { 78, -14, -1, 14, 47, 2 }, { 79, -14, -1, 14, 47, 2 }, { 80, -13, -1, 14, 47, 2 }, { 81, -13, -2, 14, 47, 2 }, + { 82, -13, -2, 14, 47, 2 }, { 83, -12, -2, 14, 47, 2 }, { 84, -12, -2, 14, 47, 2 }, { 85, -11, -2, 14, 47, 2 }, { 86, -11, -2, 14, 47, 2 }, + { 87, -10, -2, 14, 47, 2 }, { 88, -10, -2, 13, 47, 2 }, { 89, -9, -2, 13, 47, 2 }, { 90, -9, -3, 13, 47, 2 }, { 91, -8, -3, 13, 47, 2 }, + { 92, -7, -3, 13, 47, 2 }, { 93, -7, -3, 13, 47, 2 }, { 94, -6, -3, 13, 47, 2 }, { 95, -5, -3, 13, 47, 2 }, { 96, -4, -3, 13, 47, 2 }, + { 97, -3, -3, 12, 47, 2 }, { 99, -3, -4, 12, 47, 2 }, { 100, -2, -4, 12, 47, 2 }, { 101, -1, -4, 12, 47, 2 }, { 102, 0, -4, 12, 47, 2 }, + { 103, 1, -4, 11, 47, 2 }, { 103, 2, -4, 11, 47, 2 }, { 104, 3, -4, 11, 47, 2 }, { 105, 4, -4, 11, 47, 2 }, { 105, 5, -4, 11, 47, 2 }, + { 106, 6, -5, 11, 47, 2 }, { 106, 7, -5, 11, 47, 2 }, { 107, 8, -5, 11, 47, 2 }, { 107, 9, -5, 11, 47, 2 }, { 108, 10, -5, 10, 47, 2 }, + { 108, 11, -5, 10, 47, 2 }, { 109, 12, -5, 10, 47, 2 }, { 109, 13, -5, 10, 47, 2 }, { 109, 14, -6, 10, 47, 2 }, { 110, 15, -6, 10, 47, 2 }, + { 110, 16, -6, 10, 47, 2 }, { 110, 17, -6, 10, 47, 2 }, { 111, 18, -6, 10, 47, 2 }, { 111, 19, -6, 10, 47, 2 }, { 111, 20, -6, 9, 47, 2 }, + { 111, 21, -6, 9, 47, 2 }, { 111, 22, -6, 9, 47, 2 }, { 111, 23, -7, 9, 47, 2 }, { 112, 24, -7, 9, 47, 2 }, { 112, 25, -7, 9, 47, 2 }, + { 112, 26, -7, 9, 47, 2 }, { 112, 27, -7, 9, 47, 2 }, { 112, 28, -7, 8, 47, 2 }, { 112, 29, -7, 8, 47, 2 }, { 112, 30, -7, 8, 47, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FC5FA = { - 135, { - { 31, 16, 8, 0, 47, 4 }, { 30, 16, 8, 0, 47, 4 }, { 29, 16, 8, 0, 47, 4 }, { 28, 16, 8, 0, 47, 4 }, { 27, 16, 8, 1, 47, 4 }, - { 26, 16, 8, 1, 47, 4 }, { 25, 17, 8, 1, 47, 4 }, { 24, 17, 8, 1, 47, 4 }, { 23, 17, 7, 1, 47, 4 }, { 22, 17, 7, 1, 47, 4 }, - { 21, 17, 7, 1, 47, 4 }, { 20, 17, 7, 1, 47, 4 }, { 19, 18, 7, 1, 47, 4 }, { 18, 18, 7, 2, 47, 4 }, { 17, 18, 7, 2, 47, 4 }, - { 16, 19, 7, 2, 47, 4 }, { 15, 19, 6, 2, 47, 4 }, { 14, 19, 6, 2, 47, 4 }, { 13, 20, 6, 2, 47, 4 }, { 12, 20, 6, 2, 47, 4 }, - { 11, 21, 6, 2, 47, 4 }, { 10, 21, 6, 2, 47, 4 }, { 9, 22, 6, 2, 47, 4 }, { 8, 22, 6, 3, 47, 4 }, { 7, 23, 6, 3, 47, 4 }, - { 6, 23, 5, 3, 47, 4 }, { 5, 24, 5, 3, 47, 4 }, { 4, 25, 5, 3, 47, 4 }, { 3, 25, 5, 3, 47, 4 }, { 2, 26, 5, 3, 47, 4 }, - { 1, 27, 5, 3, 47, 4 }, { 0, 28, 5, 3, 47, 4 }, { -1, 29, 5, 4, 47, 4 }, { -3, 29, 4, 4, 47, 4 }, { -4, 30, 4, 4, 47, 4 }, - { -5, 31, 4, 4, 47, 4 }, { -6, 32, 4, 4, 47, 4 }, { -7, 33, 4, 5, 47, 4 }, { -7, 34, 4, 5, 47, 4 }, { -8, 35, 4, 5, 47, 4 }, - { -9, 36, 4, 5, 47, 4 }, { -9, 37, 3, 5, 47, 4 }, { -10, 38, 3, 5, 47, 4 }, { -10, 39, 3, 5, 47, 4 }, { -11, 40, 3, 5, 47, 4 }, - { -11, 41, 3, 5, 47, 4 }, { -12, 42, 3, 6, 47, 4 }, { -12, 43, 3, 6, 47, 4 }, { -13, 44, 3, 6, 47, 4 }, { -13, 45, 3, 6, 47, 4 }, - { -13, 46, 2, 6, 47, 4 }, { -14, 47, 2, 6, 47, 4 }, { -14, 48, 2, 6, 47, 4 }, { -14, 49, 2, 6, 47, 4 }, { -15, 50, 2, 6, 47, 4 }, - { -15, 51, 2, 6, 47, 4 }, { -15, 52, 2, 7, 47, 4 }, { -15, 53, 2, 7, 47, 4 }, { -15, 54, 1, 7, 47, 4 }, { -15, 55, 1, 7, 47, 4 }, - { -16, 56, 1, 7, 47, 4 }, { -16, 57, 1, 7, 47, 4 }, { -16, 58, 1, 7, 47, 4 }, { -16, 59, 1, 7, 47, 4 }, { -16, 60, 1, 8, 47, 4 }, - { -16, 61, 1, 8, 47, 4 }, { -16, 62, 0, 8, 47, 4 }, { -16, 64, 0, 8, 47, 4 }, { -16, 65, 0, 8, 47, 4 }, { -16, 66, 0, 8, 47, 4 }, - { -16, 67, 0, 8, 47, 4 }, { -16, 68, 0, 8, 47, 4 }, { -16, 69, 0, 9, 47, 4 }, { -16, 70, 0, 9, 47, 4 }, { -15, 71, 0, 9, 47, 4 }, - { -15, 72, 0, 9, 47, 4 }, { -15, 73, -1, 9, 47, 4 }, { -15, 74, -1, 9, 47, 4 }, { -15, 75, -1, 9, 47, 4 }, { -15, 76, -1, 9, 47, 4 }, - { -14, 77, -1, 9, 47, 4 }, { -14, 78, -1, 10, 47, 4 }, { -14, 79, -1, 10, 47, 4 }, { -13, 80, -1, 10, 47, 4 }, { -13, 81, -2, 10, 47, 4 }, - { -13, 82, -2, 10, 47, 4 }, { -12, 83, -2, 10, 47, 4 }, { -12, 84, -2, 10, 47, 4 }, { -11, 85, -2, 10, 47, 4 }, { -11, 86, -2, 10, 47, 4 }, - { -10, 87, -2, 10, 47, 4 }, { -10, 88, -2, 11, 47, 4 }, { -9, 89, -2, 11, 47, 4 }, { -9, 90, -3, 11, 47, 4 }, { -8, 91, -3, 11, 47, 4 }, - { -7, 92, -3, 11, 47, 4 }, { -7, 93, -3, 11, 47, 4 }, { -6, 94, -3, 11, 47, 4 }, { -5, 95, -3, 11, 47, 4 }, { -4, 96, -3, 11, 47, 4 }, - { -3, 97, -3, 12, 47, 4 }, { -3, 99, -4, 12, 47, 4 }, { -2, 100, -4, 12, 47, 4 }, { -1, 101, -4, 12, 47, 4 }, { 0, 102, -4, 12, 47, 4 }, - { 1, 103, -4, 13, 47, 4 }, { 2, 103, -4, 13, 47, 4 }, { 3, 104, -4, 13, 47, 4 }, { 4, 105, -4, 13, 47, 4 }, { 5, 105, -4, 13, 47, 4 }, - { 6, 106, -5, 13, 47, 4 }, { 7, 106, -5, 13, 47, 4 }, { 8, 107, -5, 13, 47, 4 }, { 9, 107, -5, 13, 47, 4 }, { 10, 108, -5, 14, 47, 4 }, - { 11, 108, -5, 14, 47, 4 }, { 12, 109, -5, 14, 47, 4 }, { 13, 109, -5, 14, 47, 4 }, { 14, 109, -6, 14, 47, 4 }, { 15, 110, -6, 14, 47, 4 }, - { 16, 110, -6, 14, 47, 4 }, { 17, 110, -6, 14, 47, 4 }, { 18, 111, -6, 14, 47, 4 }, { 19, 111, -6, 14, 47, 4 }, { 20, 111, -6, 15, 47, 4 }, - { 21, 111, -6, 15, 47, 4 }, { 22, 111, -6, 15, 47, 4 }, { 23, 111, -7, 15, 47, 4 }, { 24, 112, -7, 15, 47, 4 }, { 25, 112, -7, 15, 47, 4 }, - { 26, 112, -7, 15, 47, 4 }, { 27, 112, -7, 15, 47, 4 }, { 28, 112, -7, 16, 47, 4 }, { 29, 112, -7, 16, 47, 4 }, { 30, 112, -7, 16, 47, 4 }, + 135, { + { 31, 16, 8, 0, 47, 4 }, { 30, 16, 8, 0, 47, 4 }, { 29, 16, 8, 0, 47, 4 }, { 28, 16, 8, 0, 47, 4 }, { 27, 16, 8, 1, 47, 4 }, + { 26, 16, 8, 1, 47, 4 }, { 25, 17, 8, 1, 47, 4 }, { 24, 17, 8, 1, 47, 4 }, { 23, 17, 7, 1, 47, 4 }, { 22, 17, 7, 1, 47, 4 }, + { 21, 17, 7, 1, 47, 4 }, { 20, 17, 7, 1, 47, 4 }, { 19, 18, 7, 1, 47, 4 }, { 18, 18, 7, 2, 47, 4 }, { 17, 18, 7, 2, 47, 4 }, + { 16, 19, 7, 2, 47, 4 }, { 15, 19, 6, 2, 47, 4 }, { 14, 19, 6, 2, 47, 4 }, { 13, 20, 6, 2, 47, 4 }, { 12, 20, 6, 2, 47, 4 }, + { 11, 21, 6, 2, 47, 4 }, { 10, 21, 6, 2, 47, 4 }, { 9, 22, 6, 2, 47, 4 }, { 8, 22, 6, 3, 47, 4 }, { 7, 23, 6, 3, 47, 4 }, + { 6, 23, 5, 3, 47, 4 }, { 5, 24, 5, 3, 47, 4 }, { 4, 25, 5, 3, 47, 4 }, { 3, 25, 5, 3, 47, 4 }, { 2, 26, 5, 3, 47, 4 }, + { 1, 27, 5, 3, 47, 4 }, { 0, 28, 5, 3, 47, 4 }, { -1, 29, 5, 4, 47, 4 }, { -3, 29, 4, 4, 47, 4 }, { -4, 30, 4, 4, 47, 4 }, + { -5, 31, 4, 4, 47, 4 }, { -6, 32, 4, 4, 47, 4 }, { -7, 33, 4, 5, 47, 4 }, { -7, 34, 4, 5, 47, 4 }, { -8, 35, 4, 5, 47, 4 }, + { -9, 36, 4, 5, 47, 4 }, { -9, 37, 3, 5, 47, 4 }, { -10, 38, 3, 5, 47, 4 }, { -10, 39, 3, 5, 47, 4 }, { -11, 40, 3, 5, 47, 4 }, + { -11, 41, 3, 5, 47, 4 }, { -12, 42, 3, 6, 47, 4 }, { -12, 43, 3, 6, 47, 4 }, { -13, 44, 3, 6, 47, 4 }, { -13, 45, 3, 6, 47, 4 }, + { -13, 46, 2, 6, 47, 4 }, { -14, 47, 2, 6, 47, 4 }, { -14, 48, 2, 6, 47, 4 }, { -14, 49, 2, 6, 47, 4 }, { -15, 50, 2, 6, 47, 4 }, + { -15, 51, 2, 6, 47, 4 }, { -15, 52, 2, 7, 47, 4 }, { -15, 53, 2, 7, 47, 4 }, { -15, 54, 1, 7, 47, 4 }, { -15, 55, 1, 7, 47, 4 }, + { -16, 56, 1, 7, 47, 4 }, { -16, 57, 1, 7, 47, 4 }, { -16, 58, 1, 7, 47, 4 }, { -16, 59, 1, 7, 47, 4 }, { -16, 60, 1, 8, 47, 4 }, + { -16, 61, 1, 8, 47, 4 }, { -16, 62, 0, 8, 47, 4 }, { -16, 64, 0, 8, 47, 4 }, { -16, 65, 0, 8, 47, 4 }, { -16, 66, 0, 8, 47, 4 }, + { -16, 67, 0, 8, 47, 4 }, { -16, 68, 0, 8, 47, 4 }, { -16, 69, 0, 9, 47, 4 }, { -16, 70, 0, 9, 47, 4 }, { -15, 71, 0, 9, 47, 4 }, + { -15, 72, 0, 9, 47, 4 }, { -15, 73, -1, 9, 47, 4 }, { -15, 74, -1, 9, 47, 4 }, { -15, 75, -1, 9, 47, 4 }, { -15, 76, -1, 9, 47, 4 }, + { -14, 77, -1, 9, 47, 4 }, { -14, 78, -1, 10, 47, 4 }, { -14, 79, -1, 10, 47, 4 }, { -13, 80, -1, 10, 47, 4 }, { -13, 81, -2, 10, 47, 4 }, + { -13, 82, -2, 10, 47, 4 }, { -12, 83, -2, 10, 47, 4 }, { -12, 84, -2, 10, 47, 4 }, { -11, 85, -2, 10, 47, 4 }, { -11, 86, -2, 10, 47, 4 }, + { -10, 87, -2, 10, 47, 4 }, { -10, 88, -2, 11, 47, 4 }, { -9, 89, -2, 11, 47, 4 }, { -9, 90, -3, 11, 47, 4 }, { -8, 91, -3, 11, 47, 4 }, + { -7, 92, -3, 11, 47, 4 }, { -7, 93, -3, 11, 47, 4 }, { -6, 94, -3, 11, 47, 4 }, { -5, 95, -3, 11, 47, 4 }, { -4, 96, -3, 11, 47, 4 }, + { -3, 97, -3, 12, 47, 4 }, { -3, 99, -4, 12, 47, 4 }, { -2, 100, -4, 12, 47, 4 }, { -1, 101, -4, 12, 47, 4 }, { 0, 102, -4, 12, 47, 4 }, + { 1, 103, -4, 13, 47, 4 }, { 2, 103, -4, 13, 47, 4 }, { 3, 104, -4, 13, 47, 4 }, { 4, 105, -4, 13, 47, 4 }, { 5, 105, -4, 13, 47, 4 }, + { 6, 106, -5, 13, 47, 4 }, { 7, 106, -5, 13, 47, 4 }, { 8, 107, -5, 13, 47, 4 }, { 9, 107, -5, 13, 47, 4 }, { 10, 108, -5, 14, 47, 4 }, + { 11, 108, -5, 14, 47, 4 }, { 12, 109, -5, 14, 47, 4 }, { 13, 109, -5, 14, 47, 4 }, { 14, 109, -6, 14, 47, 4 }, { 15, 110, -6, 14, 47, 4 }, + { 16, 110, -6, 14, 47, 4 }, { 17, 110, -6, 14, 47, 4 }, { 18, 111, -6, 14, 47, 4 }, { 19, 111, -6, 14, 47, 4 }, { 20, 111, -6, 15, 47, 4 }, + { 21, 111, -6, 15, 47, 4 }, { 22, 111, -6, 15, 47, 4 }, { 23, 111, -7, 15, 47, 4 }, { 24, 112, -7, 15, 47, 4 }, { 25, 112, -7, 15, 47, 4 }, + { 26, 112, -7, 15, 47, 4 }, { 27, 112, -7, 15, 47, 4 }, { 28, 112, -7, 16, 47, 4 }, { 29, 112, -7, 16, 47, 4 }, { 30, 112, -7, 16, 47, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FCABB = { - 137, { - { 16, 0, 8, 8, 47, 4 }, { 16, 1, 8, 8, 47, 4 }, { 16, 2, 8, 8, 47, 4 }, { 16, 3, 8, 8, 47, 4 }, { 16, 4, 8, 8, 47, 4 }, - { 16, 5, 8, 9, 47, 4 }, { 16, 6, 8, 9, 47, 4 }, { 17, 7, 8, 9, 47, 4 }, { 17, 8, 8, 9, 47, 4 }, { 17, 9, 7, 9, 47, 4 }, - { 17, 10, 7, 9, 47, 4 }, { 17, 11, 7, 9, 47, 4 }, { 17, 12, 7, 9, 47, 4 }, { 18, 13, 7, 9, 47, 4 }, { 18, 14, 7, 10, 47, 4 }, - { 18, 15, 7, 10, 47, 4 }, { 19, 16, 7, 10, 47, 4 }, { 19, 17, 6, 10, 47, 4 }, { 19, 18, 6, 10, 47, 4 }, { 20, 19, 6, 10, 47, 4 }, - { 20, 20, 6, 10, 47, 4 }, { 21, 21, 6, 10, 47, 4 }, { 21, 22, 6, 10, 47, 4 }, { 22, 23, 6, 10, 47, 4 }, { 22, 24, 6, 11, 47, 4 }, - { 23, 25, 6, 11, 47, 4 }, { 23, 26, 5, 11, 47, 4 }, { 24, 27, 5, 11, 47, 4 }, { 25, 28, 5, 11, 47, 4 }, { 25, 29, 5, 11, 47, 4 }, - { 26, 30, 5, 11, 47, 4 }, { 27, 31, 5, 11, 47, 4 }, { 28, 32, 5, 11, 47, 4 }, { 29, 33, 5, 12, 47, 4 }, { 29, 35, 4, 12, 47, 4 }, - { 30, 36, 4, 12, 47, 4 }, { 31, 37, 4, 12, 47, 4 }, { 32, 38, 4, 12, 47, 4 }, { 33, 39, 4, 13, 47, 4 }, { 34, 39, 4, 13, 47, 4 }, - { 35, 40, 4, 13, 47, 4 }, { 36, 41, 4, 13, 47, 4 }, { 37, 41, 4, 13, 47, 4 }, { 38, 42, 3, 13, 47, 4 }, { 39, 42, 3, 13, 47, 4 }, - { 40, 43, 3, 13, 47, 4 }, { 41, 43, 3, 13, 47, 4 }, { 42, 44, 3, 14, 47, 4 }, { 43, 44, 3, 14, 47, 4 }, { 44, 45, 3, 14, 47, 4 }, - { 45, 45, 3, 14, 47, 4 }, { 46, 45, 2, 14, 47, 4 }, { 47, 46, 2, 14, 47, 4 }, { 48, 46, 2, 14, 47, 4 }, { 49, 46, 2, 14, 47, 4 }, - { 50, 47, 2, 14, 47, 4 }, { 51, 47, 2, 14, 47, 4 }, { 52, 47, 2, 15, 47, 4 }, { 53, 47, 2, 15, 47, 4 }, { 54, 47, 2, 15, 47, 4 }, - { 55, 47, 1, 15, 47, 4 }, { 56, 48, 1, 15, 47, 4 }, { 57, 48, 1, 15, 47, 4 }, { 58, 48, 1, 15, 47, 4 }, { 59, 48, 1, 15, 47, 4 }, - { 60, 48, 1, 16, 47, 4 }, { 61, 48, 1, 16, 47, 4 }, { 62, 48, 1, 16, 47, 4 }, { 64, 48, 0, 16, 47, 4 }, { 65, 48, 0, 16, 47, 4 }, - { 66, 48, 0, 16, 47, 4 }, { 67, 48, 0, 16, 47, 4 }, { 68, 48, 0, 16, 47, 4 }, { 69, 48, 0, 17, 47, 4 }, { 70, 48, 0, 17, 47, 4 }, - { 71, 47, 0, 17, 47, 4 }, { 72, 47, 0, 17, 47, 4 }, { 73, 47, -1, 17, 47, 4 }, { 74, 47, -1, 17, 47, 4 }, { 75, 47, -1, 17, 47, 4 }, - { 76, 47, -1, 17, 47, 4 }, { 77, 46, -1, 17, 47, 4 }, { 78, 46, -1, 18, 47, 4 }, { 79, 46, -1, 18, 47, 4 }, { 80, 45, -1, 18, 47, 4 }, - { 81, 45, -1, 18, 47, 4 }, { 82, 45, -2, 18, 47, 4 }, { 83, 44, -2, 18, 47, 4 }, { 84, 44, -2, 18, 47, 4 }, { 85, 43, -2, 18, 47, 4 }, - { 86, 43, -2, 18, 47, 4 }, { 87, 42, -2, 18, 47, 4 }, { 88, 42, -2, 19, 47, 4 }, { 89, 41, -2, 19, 47, 4 }, { 90, 41, -3, 19, 47, 4 }, - { 91, 40, -3, 19, 47, 4 }, { 92, 39, -3, 19, 47, 4 }, { 93, 39, -3, 19, 47, 4 }, { 94, 38, -3, 19, 47, 4 }, { 95, 37, -3, 19, 47, 4 }, - { 96, 36, -3, 19, 47, 4 }, { 97, 35, -3, 20, 47, 4 }, { 99, 35, -3, 20, 47, 4 }, { 100, 34, -4, 20, 47, 4 }, { 101, 33, -4, 20, 47, 4 }, - { 102, 32, -4, 20, 47, 4 }, { 103, 31, -4, 21, 47, 4 }, { 103, 30, -4, 21, 47, 4 }, { 104, 29, -4, 21, 47, 4 }, { 105, 28, -4, 21, 47, 4 }, - { 105, 27, -4, 21, 47, 4 }, { 106, 26, -4, 21, 47, 4 }, { 106, 25, -5, 21, 47, 4 }, { 107, 24, -5, 21, 47, 4 }, { 107, 23, -5, 21, 47, 4 }, - { 108, 22, -5, 22, 47, 4 }, { 108, 21, -5, 22, 47, 4 }, { 109, 20, -5, 22, 47, 4 }, { 109, 19, -5, 22, 47, 4 }, { 109, 18, -5, 22, 47, 4 }, - { 110, 17, -6, 22, 47, 4 }, { 110, 16, -6, 22, 47, 4 }, { 110, 15, -6, 22, 47, 4 }, { 111, 14, -6, 22, 47, 4 }, { 111, 13, -6, 22, 47, 4 }, - { 111, 12, -6, 23, 47, 4 }, { 111, 11, -6, 23, 47, 4 }, { 111, 10, -6, 23, 47, 4 }, { 111, 9, -6, 23, 47, 4 }, { 112, 8, -7, 23, 47, 4 }, - { 112, 7, -7, 23, 47, 4 }, { 112, 6, -7, 23, 47, 4 }, { 112, 5, -7, 23, 47, 4 }, { 112, 4, -7, 24, 47, 4 }, { 112, 3, -7, 24, 47, 4 }, - { 112, 2, -7, 24, 47, 4 }, { 112, 1, -7, 24, 47, 4 }, + 137, { + { 16, 0, 8, 8, 47, 4 }, { 16, 1, 8, 8, 47, 4 }, { 16, 2, 8, 8, 47, 4 }, { 16, 3, 8, 8, 47, 4 }, { 16, 4, 8, 8, 47, 4 }, + { 16, 5, 8, 9, 47, 4 }, { 16, 6, 8, 9, 47, 4 }, { 17, 7, 8, 9, 47, 4 }, { 17, 8, 8, 9, 47, 4 }, { 17, 9, 7, 9, 47, 4 }, + { 17, 10, 7, 9, 47, 4 }, { 17, 11, 7, 9, 47, 4 }, { 17, 12, 7, 9, 47, 4 }, { 18, 13, 7, 9, 47, 4 }, { 18, 14, 7, 10, 47, 4 }, + { 18, 15, 7, 10, 47, 4 }, { 19, 16, 7, 10, 47, 4 }, { 19, 17, 6, 10, 47, 4 }, { 19, 18, 6, 10, 47, 4 }, { 20, 19, 6, 10, 47, 4 }, + { 20, 20, 6, 10, 47, 4 }, { 21, 21, 6, 10, 47, 4 }, { 21, 22, 6, 10, 47, 4 }, { 22, 23, 6, 10, 47, 4 }, { 22, 24, 6, 11, 47, 4 }, + { 23, 25, 6, 11, 47, 4 }, { 23, 26, 5, 11, 47, 4 }, { 24, 27, 5, 11, 47, 4 }, { 25, 28, 5, 11, 47, 4 }, { 25, 29, 5, 11, 47, 4 }, + { 26, 30, 5, 11, 47, 4 }, { 27, 31, 5, 11, 47, 4 }, { 28, 32, 5, 11, 47, 4 }, { 29, 33, 5, 12, 47, 4 }, { 29, 35, 4, 12, 47, 4 }, + { 30, 36, 4, 12, 47, 4 }, { 31, 37, 4, 12, 47, 4 }, { 32, 38, 4, 12, 47, 4 }, { 33, 39, 4, 13, 47, 4 }, { 34, 39, 4, 13, 47, 4 }, + { 35, 40, 4, 13, 47, 4 }, { 36, 41, 4, 13, 47, 4 }, { 37, 41, 4, 13, 47, 4 }, { 38, 42, 3, 13, 47, 4 }, { 39, 42, 3, 13, 47, 4 }, + { 40, 43, 3, 13, 47, 4 }, { 41, 43, 3, 13, 47, 4 }, { 42, 44, 3, 14, 47, 4 }, { 43, 44, 3, 14, 47, 4 }, { 44, 45, 3, 14, 47, 4 }, + { 45, 45, 3, 14, 47, 4 }, { 46, 45, 2, 14, 47, 4 }, { 47, 46, 2, 14, 47, 4 }, { 48, 46, 2, 14, 47, 4 }, { 49, 46, 2, 14, 47, 4 }, + { 50, 47, 2, 14, 47, 4 }, { 51, 47, 2, 14, 47, 4 }, { 52, 47, 2, 15, 47, 4 }, { 53, 47, 2, 15, 47, 4 }, { 54, 47, 2, 15, 47, 4 }, + { 55, 47, 1, 15, 47, 4 }, { 56, 48, 1, 15, 47, 4 }, { 57, 48, 1, 15, 47, 4 }, { 58, 48, 1, 15, 47, 4 }, { 59, 48, 1, 15, 47, 4 }, + { 60, 48, 1, 16, 47, 4 }, { 61, 48, 1, 16, 47, 4 }, { 62, 48, 1, 16, 47, 4 }, { 64, 48, 0, 16, 47, 4 }, { 65, 48, 0, 16, 47, 4 }, + { 66, 48, 0, 16, 47, 4 }, { 67, 48, 0, 16, 47, 4 }, { 68, 48, 0, 16, 47, 4 }, { 69, 48, 0, 17, 47, 4 }, { 70, 48, 0, 17, 47, 4 }, + { 71, 47, 0, 17, 47, 4 }, { 72, 47, 0, 17, 47, 4 }, { 73, 47, -1, 17, 47, 4 }, { 74, 47, -1, 17, 47, 4 }, { 75, 47, -1, 17, 47, 4 }, + { 76, 47, -1, 17, 47, 4 }, { 77, 46, -1, 17, 47, 4 }, { 78, 46, -1, 18, 47, 4 }, { 79, 46, -1, 18, 47, 4 }, { 80, 45, -1, 18, 47, 4 }, + { 81, 45, -1, 18, 47, 4 }, { 82, 45, -2, 18, 47, 4 }, { 83, 44, -2, 18, 47, 4 }, { 84, 44, -2, 18, 47, 4 }, { 85, 43, -2, 18, 47, 4 }, + { 86, 43, -2, 18, 47, 4 }, { 87, 42, -2, 18, 47, 4 }, { 88, 42, -2, 19, 47, 4 }, { 89, 41, -2, 19, 47, 4 }, { 90, 41, -3, 19, 47, 4 }, + { 91, 40, -3, 19, 47, 4 }, { 92, 39, -3, 19, 47, 4 }, { 93, 39, -3, 19, 47, 4 }, { 94, 38, -3, 19, 47, 4 }, { 95, 37, -3, 19, 47, 4 }, + { 96, 36, -3, 19, 47, 4 }, { 97, 35, -3, 20, 47, 4 }, { 99, 35, -3, 20, 47, 4 }, { 100, 34, -4, 20, 47, 4 }, { 101, 33, -4, 20, 47, 4 }, + { 102, 32, -4, 20, 47, 4 }, { 103, 31, -4, 21, 47, 4 }, { 103, 30, -4, 21, 47, 4 }, { 104, 29, -4, 21, 47, 4 }, { 105, 28, -4, 21, 47, 4 }, + { 105, 27, -4, 21, 47, 4 }, { 106, 26, -4, 21, 47, 4 }, { 106, 25, -5, 21, 47, 4 }, { 107, 24, -5, 21, 47, 4 }, { 107, 23, -5, 21, 47, 4 }, + { 108, 22, -5, 22, 47, 4 }, { 108, 21, -5, 22, 47, 4 }, { 109, 20, -5, 22, 47, 4 }, { 109, 19, -5, 22, 47, 4 }, { 109, 18, -5, 22, 47, 4 }, + { 110, 17, -6, 22, 47, 4 }, { 110, 16, -6, 22, 47, 4 }, { 110, 15, -6, 22, 47, 4 }, { 111, 14, -6, 22, 47, 4 }, { 111, 13, -6, 22, 47, 4 }, + { 111, 12, -6, 23, 47, 4 }, { 111, 11, -6, 23, 47, 4 }, { 111, 10, -6, 23, 47, 4 }, { 111, 9, -6, 23, 47, 4 }, { 112, 8, -7, 23, 47, 4 }, + { 112, 7, -7, 23, 47, 4 }, { 112, 6, -7, 23, 47, 4 }, { 112, 5, -7, 23, 47, 4 }, { 112, 4, -7, 24, 47, 4 }, { 112, 3, -7, 24, 47, 4 }, + { 112, 2, -7, 24, 47, 4 }, { 112, 1, -7, 24, 47, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FCF8E = { - 137, { - { 0, 16, 8, 16, 47, 4 }, { 1, 16, 8, 16, 47, 4 }, { 2, 16, 8, 16, 47, 4 }, { 3, 16, 8, 16, 47, 4 }, { 4, 16, 8, 16, 47, 4 }, - { 5, 16, 8, 17, 47, 4 }, { 6, 16, 8, 17, 47, 4 }, { 7, 15, 8, 17, 47, 4 }, { 8, 15, 8, 17, 47, 4 }, { 9, 15, 7, 17, 47, 4 }, - { 10, 15, 7, 17, 47, 4 }, { 11, 15, 7, 17, 47, 4 }, { 12, 15, 7, 17, 47, 4 }, { 13, 14, 7, 17, 47, 4 }, { 14, 14, 7, 18, 47, 4 }, - { 15, 14, 7, 18, 47, 4 }, { 16, 13, 7, 18, 47, 4 }, { 17, 13, 7, 18, 47, 4 }, { 18, 13, 6, 18, 47, 4 }, { 19, 12, 6, 18, 47, 4 }, - { 20, 12, 6, 18, 47, 4 }, { 21, 11, 6, 18, 47, 4 }, { 22, 11, 6, 18, 47, 4 }, { 23, 10, 6, 18, 47, 4 }, { 24, 10, 6, 19, 47, 4 }, - { 25, 9, 6, 19, 47, 4 }, { 26, 9, 5, 19, 47, 4 }, { 27, 8, 5, 19, 47, 4 }, { 28, 7, 5, 19, 47, 4 }, { 29, 7, 5, 19, 47, 4 }, - { 30, 6, 5, 19, 47, 4 }, { 31, 5, 5, 19, 47, 4 }, { 32, 4, 5, 19, 47, 4 }, { 33, 3, 5, 20, 47, 4 }, { 35, 3, 5, 20, 47, 4 }, - { 36, 2, 4, 20, 47, 4 }, { 37, 1, 4, 20, 47, 4 }, { 38, 0, 4, 20, 47, 4 }, { 39, -1, 4, 21, 47, 4 }, { 39, -2, 4, 21, 47, 4 }, - { 40, -3, 4, 21, 47, 4 }, { 41, -4, 4, 21, 47, 4 }, { 41, -5, 4, 21, 47, 4 }, { 42, -6, 4, 21, 47, 4 }, { 42, -7, 3, 21, 47, 4 }, - { 43, -8, 3, 21, 47, 4 }, { 43, -9, 3, 21, 47, 4 }, { 44, -10, 3, 22, 47, 4 }, { 44, -11, 3, 22, 47, 4 }, { 45, -12, 3, 22, 47, 4 }, - { 45, -13, 3, 22, 47, 4 }, { 45, -14, 3, 22, 47, 4 }, { 46, -15, 2, 22, 47, 4 }, { 46, -16, 2, 22, 47, 4 }, { 46, -17, 2, 22, 47, 4 }, - { 47, -18, 2, 22, 47, 4 }, { 47, -19, 2, 22, 47, 4 }, { 47, -20, 2, 23, 47, 4 }, { 47, -21, 2, 23, 47, 4 }, { 47, -22, 2, 23, 47, 4 }, - { 47, -23, 2, 23, 47, 4 }, { 48, -24, 1, 23, 47, 4 }, { 48, -25, 1, 23, 47, 4 }, { 48, -26, 1, 23, 47, 4 }, { 48, -27, 1, 23, 47, 4 }, - { 48, -28, 1, 24, 47, 4 }, { 48, -29, 1, 24, 47, 4 }, { 48, -30, 1, 24, 47, 4 }, { 48, -31, 1, 24, 47, 4 }, { 48, -33, 0, 24, 47, 4 }, - { 48, -34, 0, 24, 47, 4 }, { 48, -35, 0, 24, 47, 4 }, { 48, -36, 0, 24, 47, 4 }, { 48, -37, 0, 25, 47, 4 }, { 48, -38, 0, 25, 47, 4 }, - { 47, -39, 0, 25, 47, 4 }, { 47, -40, 0, 25, 47, 4 }, { 47, -41, -1, 25, 47, 4 }, { 47, -42, -1, 25, 47, 4 }, { 47, -43, -1, 25, 47, 4 }, - { 47, -44, -1, 25, 47, 4 }, { 46, -45, -1, 25, 47, 4 }, { 46, -46, -1, 26, 47, 4 }, { 46, -47, -1, 26, 47, 4 }, { 45, -48, -1, 26, 47, 4 }, - { 45, -49, -2, 26, 47, 4 }, { 45, -50, -2, 26, 47, 4 }, { 44, -51, -2, 26, 47, 4 }, { 44, -52, -2, 26, 47, 4 }, { 43, -53, -2, 26, 47, 4 }, - { 43, -54, -2, 26, 47, 4 }, { 42, -55, -2, 26, 47, 4 }, { 42, -56, -2, 27, 47, 4 }, { 41, -57, -2, 27, 47, 4 }, { 41, -58, -3, 27, 47, 4 }, - { 40, -59, -3, 27, 47, 4 }, { 39, -60, -3, 27, 47, 4 }, { 39, -61, -3, 27, 47, 4 }, { 38, -62, -3, 27, 47, 4 }, { 37, -63, -3, 27, 47, 4 }, - { 36, -64, -3, 27, 47, 4 }, { 35, -65, -3, 28, 47, 4 }, { 35, -67, -4, 28, 47, 4 }, { 34, -68, -4, 28, 47, 4 }, { 33, -69, -4, 28, 47, 4 }, - { 32, -70, -4, 28, 47, 4 }, { 31, -71, -4, 29, 47, 4 }, { 30, -71, -4, 29, 47, 4 }, { 29, -72, -4, 29, 47, 4 }, { 28, -73, -4, 29, 47, 4 }, - { 27, -73, -4, 29, 47, 4 }, { 26, -74, -5, 29, 47, 4 }, { 25, -74, -5, 29, 47, 4 }, { 24, -75, -5, 29, 47, 4 }, { 23, -75, -5, 29, 47, 4 }, - { 22, -76, -5, 30, 47, 4 }, { 21, -76, -5, 30, 47, 4 }, { 20, -77, -5, 30, 47, 4 }, { 19, -77, -5, 30, 47, 4 }, { 18, -77, -6, 30, 47, 4 }, - { 17, -78, -6, 30, 47, 4 }, { 16, -78, -6, 30, 47, 4 }, { 15, -78, -6, 30, 47, 4 }, { 14, -79, -6, 30, 47, 4 }, { 13, -79, -6, 30, 47, 4 }, - { 12, -79, -6, 31, 47, 4 }, { 11, -79, -6, 31, 47, 4 }, { 10, -79, -6, 31, 47, 4 }, { 9, -79, -7, 31, 47, 4 }, { 8, -80, -7, 31, 47, 4 }, - { 7, -80, -7, 31, 47, 4 }, { 6, -80, -7, 31, 47, 4 }, { 5, -80, -7, 31, 47, 4 }, { 4, -80, -7, 0, 47, 4 }, { 3, -80, -7, 0, 47, 4 }, - { 2, -80, -7, 0, 47, 4 }, { 1, -80, -8, 0, 47, 4 }, + 137, { + { 0, 16, 8, 16, 47, 4 }, { 1, 16, 8, 16, 47, 4 }, { 2, 16, 8, 16, 47, 4 }, { 3, 16, 8, 16, 47, 4 }, { 4, 16, 8, 16, 47, 4 }, + { 5, 16, 8, 17, 47, 4 }, { 6, 16, 8, 17, 47, 4 }, { 7, 15, 8, 17, 47, 4 }, { 8, 15, 8, 17, 47, 4 }, { 9, 15, 7, 17, 47, 4 }, + { 10, 15, 7, 17, 47, 4 }, { 11, 15, 7, 17, 47, 4 }, { 12, 15, 7, 17, 47, 4 }, { 13, 14, 7, 17, 47, 4 }, { 14, 14, 7, 18, 47, 4 }, + { 15, 14, 7, 18, 47, 4 }, { 16, 13, 7, 18, 47, 4 }, { 17, 13, 7, 18, 47, 4 }, { 18, 13, 6, 18, 47, 4 }, { 19, 12, 6, 18, 47, 4 }, + { 20, 12, 6, 18, 47, 4 }, { 21, 11, 6, 18, 47, 4 }, { 22, 11, 6, 18, 47, 4 }, { 23, 10, 6, 18, 47, 4 }, { 24, 10, 6, 19, 47, 4 }, + { 25, 9, 6, 19, 47, 4 }, { 26, 9, 5, 19, 47, 4 }, { 27, 8, 5, 19, 47, 4 }, { 28, 7, 5, 19, 47, 4 }, { 29, 7, 5, 19, 47, 4 }, + { 30, 6, 5, 19, 47, 4 }, { 31, 5, 5, 19, 47, 4 }, { 32, 4, 5, 19, 47, 4 }, { 33, 3, 5, 20, 47, 4 }, { 35, 3, 5, 20, 47, 4 }, + { 36, 2, 4, 20, 47, 4 }, { 37, 1, 4, 20, 47, 4 }, { 38, 0, 4, 20, 47, 4 }, { 39, -1, 4, 21, 47, 4 }, { 39, -2, 4, 21, 47, 4 }, + { 40, -3, 4, 21, 47, 4 }, { 41, -4, 4, 21, 47, 4 }, { 41, -5, 4, 21, 47, 4 }, { 42, -6, 4, 21, 47, 4 }, { 42, -7, 3, 21, 47, 4 }, + { 43, -8, 3, 21, 47, 4 }, { 43, -9, 3, 21, 47, 4 }, { 44, -10, 3, 22, 47, 4 }, { 44, -11, 3, 22, 47, 4 }, { 45, -12, 3, 22, 47, 4 }, + { 45, -13, 3, 22, 47, 4 }, { 45, -14, 3, 22, 47, 4 }, { 46, -15, 2, 22, 47, 4 }, { 46, -16, 2, 22, 47, 4 }, { 46, -17, 2, 22, 47, 4 }, + { 47, -18, 2, 22, 47, 4 }, { 47, -19, 2, 22, 47, 4 }, { 47, -20, 2, 23, 47, 4 }, { 47, -21, 2, 23, 47, 4 }, { 47, -22, 2, 23, 47, 4 }, + { 47, -23, 2, 23, 47, 4 }, { 48, -24, 1, 23, 47, 4 }, { 48, -25, 1, 23, 47, 4 }, { 48, -26, 1, 23, 47, 4 }, { 48, -27, 1, 23, 47, 4 }, + { 48, -28, 1, 24, 47, 4 }, { 48, -29, 1, 24, 47, 4 }, { 48, -30, 1, 24, 47, 4 }, { 48, -31, 1, 24, 47, 4 }, { 48, -33, 0, 24, 47, 4 }, + { 48, -34, 0, 24, 47, 4 }, { 48, -35, 0, 24, 47, 4 }, { 48, -36, 0, 24, 47, 4 }, { 48, -37, 0, 25, 47, 4 }, { 48, -38, 0, 25, 47, 4 }, + { 47, -39, 0, 25, 47, 4 }, { 47, -40, 0, 25, 47, 4 }, { 47, -41, -1, 25, 47, 4 }, { 47, -42, -1, 25, 47, 4 }, { 47, -43, -1, 25, 47, 4 }, + { 47, -44, -1, 25, 47, 4 }, { 46, -45, -1, 25, 47, 4 }, { 46, -46, -1, 26, 47, 4 }, { 46, -47, -1, 26, 47, 4 }, { 45, -48, -1, 26, 47, 4 }, + { 45, -49, -2, 26, 47, 4 }, { 45, -50, -2, 26, 47, 4 }, { 44, -51, -2, 26, 47, 4 }, { 44, -52, -2, 26, 47, 4 }, { 43, -53, -2, 26, 47, 4 }, + { 43, -54, -2, 26, 47, 4 }, { 42, -55, -2, 26, 47, 4 }, { 42, -56, -2, 27, 47, 4 }, { 41, -57, -2, 27, 47, 4 }, { 41, -58, -3, 27, 47, 4 }, + { 40, -59, -3, 27, 47, 4 }, { 39, -60, -3, 27, 47, 4 }, { 39, -61, -3, 27, 47, 4 }, { 38, -62, -3, 27, 47, 4 }, { 37, -63, -3, 27, 47, 4 }, + { 36, -64, -3, 27, 47, 4 }, { 35, -65, -3, 28, 47, 4 }, { 35, -67, -4, 28, 47, 4 }, { 34, -68, -4, 28, 47, 4 }, { 33, -69, -4, 28, 47, 4 }, + { 32, -70, -4, 28, 47, 4 }, { 31, -71, -4, 29, 47, 4 }, { 30, -71, -4, 29, 47, 4 }, { 29, -72, -4, 29, 47, 4 }, { 28, -73, -4, 29, 47, 4 }, + { 27, -73, -4, 29, 47, 4 }, { 26, -74, -5, 29, 47, 4 }, { 25, -74, -5, 29, 47, 4 }, { 24, -75, -5, 29, 47, 4 }, { 23, -75, -5, 29, 47, 4 }, + { 22, -76, -5, 30, 47, 4 }, { 21, -76, -5, 30, 47, 4 }, { 20, -77, -5, 30, 47, 4 }, { 19, -77, -5, 30, 47, 4 }, { 18, -77, -6, 30, 47, 4 }, + { 17, -78, -6, 30, 47, 4 }, { 16, -78, -6, 30, 47, 4 }, { 15, -78, -6, 30, 47, 4 }, { 14, -79, -6, 30, 47, 4 }, { 13, -79, -6, 30, 47, 4 }, + { 12, -79, -6, 31, 47, 4 }, { 11, -79, -6, 31, 47, 4 }, { 10, -79, -6, 31, 47, 4 }, { 9, -79, -7, 31, 47, 4 }, { 8, -80, -7, 31, 47, 4 }, + { 7, -80, -7, 31, 47, 4 }, { 6, -80, -7, 31, 47, 4 }, { 5, -80, -7, 31, 47, 4 }, { 4, -80, -7, 0, 47, 4 }, { 3, -80, -7, 0, 47, 4 }, + { 2, -80, -7, 0, 47, 4 }, { 1, -80, -8, 0, 47, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FD461 = { - 135, { - { 16, 31, 8, 24, 47, 4 }, { 16, 30, 8, 24, 47, 4 }, { 16, 29, 8, 24, 47, 4 }, { 16, 28, 8, 24, 47, 4 }, { 16, 27, 8, 25, 47, 4 }, - { 16, 26, 8, 25, 47, 4 }, { 15, 25, 8, 25, 47, 4 }, { 15, 24, 8, 25, 47, 4 }, { 15, 23, 7, 25, 47, 4 }, { 15, 22, 7, 25, 47, 4 }, - { 15, 21, 7, 25, 47, 4 }, { 15, 20, 7, 25, 47, 4 }, { 14, 19, 7, 25, 47, 4 }, { 14, 18, 7, 26, 47, 4 }, { 14, 17, 7, 26, 47, 4 }, - { 13, 16, 7, 26, 47, 4 }, { 13, 15, 6, 26, 47, 4 }, { 13, 14, 6, 26, 47, 4 }, { 12, 13, 6, 26, 47, 4 }, { 12, 12, 6, 26, 47, 4 }, - { 11, 11, 6, 26, 47, 4 }, { 11, 10, 6, 26, 47, 4 }, { 10, 9, 6, 26, 47, 4 }, { 10, 8, 6, 27, 47, 4 }, { 9, 7, 6, 27, 47, 4 }, - { 9, 6, 5, 27, 47, 4 }, { 8, 5, 5, 27, 47, 4 }, { 7, 4, 5, 27, 47, 4 }, { 7, 3, 5, 27, 47, 4 }, { 6, 2, 5, 27, 47, 4 }, - { 5, 1, 5, 27, 47, 4 }, { 4, 0, 5, 27, 47, 4 }, { 3, -1, 5, 28, 47, 4 }, { 3, -3, 4, 28, 47, 4 }, { 2, -4, 4, 28, 47, 4 }, - { 1, -5, 4, 28, 47, 4 }, { 0, -6, 4, 28, 47, 4 }, { -1, -7, 4, 29, 47, 4 }, { -2, -7, 4, 29, 47, 4 }, { -3, -8, 4, 29, 47, 4 }, - { -4, -9, 4, 29, 47, 4 }, { -5, -9, 4, 29, 47, 4 }, { -6, -10, 3, 29, 47, 4 }, { -7, -10, 3, 29, 47, 4 }, { -8, -11, 3, 29, 47, 4 }, - { -9, -11, 3, 29, 47, 4 }, { -10, -12, 3, 30, 47, 4 }, { -11, -12, 3, 30, 47, 4 }, { -12, -13, 3, 30, 47, 4 }, { -13, -13, 3, 30, 47, 4 }, - { -14, -13, 2, 30, 47, 4 }, { -15, -14, 2, 30, 47, 4 }, { -16, -14, 2, 30, 47, 4 }, { -17, -14, 2, 30, 47, 4 }, { -18, -15, 2, 30, 47, 4 }, - { -19, -15, 2, 30, 47, 4 }, { -20, -15, 2, 31, 47, 4 }, { -21, -15, 2, 31, 47, 4 }, { -22, -15, 2, 31, 47, 4 }, { -23, -15, 1, 31, 47, 4 }, - { -24, -16, 1, 31, 47, 4 }, { -25, -16, 1, 31, 47, 4 }, { -26, -16, 1, 31, 47, 4 }, { -27, -16, 1, 31, 47, 4 }, { -28, -16, 1, 0, 47, 4 }, - { -29, -16, 1, 0, 47, 4 }, { -30, -16, 1, 0, 47, 4 }, { -31, -16, 0, 0, 47, 4 }, { -33, -16, 0, 0, 47, 4 }, { -34, -16, 0, 0, 47, 4 }, - { -35, -16, 0, 0, 47, 4 }, { -36, -16, 0, 0, 47, 4 }, { -37, -16, 0, 1, 47, 4 }, { -38, -16, 0, 1, 47, 4 }, { -39, -15, 0, 1, 47, 4 }, - { -40, -15, 0, 1, 47, 4 }, { -41, -15, -1, 1, 47, 4 }, { -42, -15, -1, 1, 47, 4 }, { -43, -15, -1, 1, 47, 4 }, { -44, -15, -1, 1, 47, 4 }, - { -45, -14, -1, 1, 47, 4 }, { -46, -14, -1, 2, 47, 4 }, { -47, -14, -1, 2, 47, 4 }, { -48, -13, -1, 2, 47, 4 }, { -49, -13, -2, 2, 47, 4 }, - { -50, -13, -2, 2, 47, 4 }, { -51, -12, -2, 2, 47, 4 }, { -52, -12, -2, 2, 47, 4 }, { -53, -11, -2, 2, 47, 4 }, { -54, -11, -2, 2, 47, 4 }, - { -55, -10, -2, 2, 47, 4 }, { -56, -10, -2, 3, 47, 4 }, { -57, -9, -2, 3, 47, 4 }, { -58, -9, -3, 3, 47, 4 }, { -59, -8, -3, 3, 47, 4 }, - { -60, -7, -3, 3, 47, 4 }, { -61, -7, -3, 3, 47, 4 }, { -62, -6, -3, 3, 47, 4 }, { -63, -5, -3, 3, 47, 4 }, { -64, -4, -3, 3, 47, 4 }, - { -65, -3, -3, 4, 47, 4 }, { -67, -3, -4, 4, 47, 4 }, { -68, -2, -4, 4, 47, 4 }, { -69, -1, -4, 4, 47, 4 }, { -70, 0, -4, 4, 47, 4 }, - { -71, 1, -4, 5, 47, 4 }, { -71, 2, -4, 5, 47, 4 }, { -72, 3, -4, 5, 47, 4 }, { -73, 4, -4, 5, 47, 4 }, { -73, 5, -5, 5, 47, 4 }, - { -74, 6, -5, 5, 47, 4 }, { -74, 7, -5, 5, 47, 4 }, { -75, 8, -5, 5, 47, 4 }, { -75, 9, -5, 5, 47, 4 }, { -76, 10, -5, 6, 47, 4 }, - { -76, 11, -5, 6, 47, 4 }, { -77, 12, -5, 6, 47, 4 }, { -77, 13, -5, 6, 47, 4 }, { -77, 14, -6, 6, 47, 4 }, { -78, 15, -6, 6, 47, 4 }, - { -78, 16, -6, 6, 47, 4 }, { -78, 17, -6, 6, 47, 4 }, { -79, 18, -6, 6, 47, 4 }, { -79, 19, -6, 6, 47, 4 }, { -79, 20, -6, 7, 47, 4 }, - { -79, 21, -6, 7, 47, 4 }, { -79, 22, -7, 7, 47, 4 }, { -79, 23, -7, 7, 47, 4 }, { -80, 24, -7, 7, 47, 4 }, { -80, 25, -7, 7, 47, 4 }, - { -80, 26, -7, 7, 47, 4 }, { -80, 27, -7, 7, 47, 4 }, { -80, 28, -7, 8, 47, 4 }, { -80, 29, -7, 8, 47, 4 }, { -80, 30, -8, 8, 47, 4 }, + 135, { + { 16, 31, 8, 24, 47, 4 }, { 16, 30, 8, 24, 47, 4 }, { 16, 29, 8, 24, 47, 4 }, { 16, 28, 8, 24, 47, 4 }, { 16, 27, 8, 25, 47, 4 }, + { 16, 26, 8, 25, 47, 4 }, { 15, 25, 8, 25, 47, 4 }, { 15, 24, 8, 25, 47, 4 }, { 15, 23, 7, 25, 47, 4 }, { 15, 22, 7, 25, 47, 4 }, + { 15, 21, 7, 25, 47, 4 }, { 15, 20, 7, 25, 47, 4 }, { 14, 19, 7, 25, 47, 4 }, { 14, 18, 7, 26, 47, 4 }, { 14, 17, 7, 26, 47, 4 }, + { 13, 16, 7, 26, 47, 4 }, { 13, 15, 6, 26, 47, 4 }, { 13, 14, 6, 26, 47, 4 }, { 12, 13, 6, 26, 47, 4 }, { 12, 12, 6, 26, 47, 4 }, + { 11, 11, 6, 26, 47, 4 }, { 11, 10, 6, 26, 47, 4 }, { 10, 9, 6, 26, 47, 4 }, { 10, 8, 6, 27, 47, 4 }, { 9, 7, 6, 27, 47, 4 }, + { 9, 6, 5, 27, 47, 4 }, { 8, 5, 5, 27, 47, 4 }, { 7, 4, 5, 27, 47, 4 }, { 7, 3, 5, 27, 47, 4 }, { 6, 2, 5, 27, 47, 4 }, + { 5, 1, 5, 27, 47, 4 }, { 4, 0, 5, 27, 47, 4 }, { 3, -1, 5, 28, 47, 4 }, { 3, -3, 4, 28, 47, 4 }, { 2, -4, 4, 28, 47, 4 }, + { 1, -5, 4, 28, 47, 4 }, { 0, -6, 4, 28, 47, 4 }, { -1, -7, 4, 29, 47, 4 }, { -2, -7, 4, 29, 47, 4 }, { -3, -8, 4, 29, 47, 4 }, + { -4, -9, 4, 29, 47, 4 }, { -5, -9, 4, 29, 47, 4 }, { -6, -10, 3, 29, 47, 4 }, { -7, -10, 3, 29, 47, 4 }, { -8, -11, 3, 29, 47, 4 }, + { -9, -11, 3, 29, 47, 4 }, { -10, -12, 3, 30, 47, 4 }, { -11, -12, 3, 30, 47, 4 }, { -12, -13, 3, 30, 47, 4 }, { -13, -13, 3, 30, 47, 4 }, + { -14, -13, 2, 30, 47, 4 }, { -15, -14, 2, 30, 47, 4 }, { -16, -14, 2, 30, 47, 4 }, { -17, -14, 2, 30, 47, 4 }, { -18, -15, 2, 30, 47, 4 }, + { -19, -15, 2, 30, 47, 4 }, { -20, -15, 2, 31, 47, 4 }, { -21, -15, 2, 31, 47, 4 }, { -22, -15, 2, 31, 47, 4 }, { -23, -15, 1, 31, 47, 4 }, + { -24, -16, 1, 31, 47, 4 }, { -25, -16, 1, 31, 47, 4 }, { -26, -16, 1, 31, 47, 4 }, { -27, -16, 1, 31, 47, 4 }, { -28, -16, 1, 0, 47, 4 }, + { -29, -16, 1, 0, 47, 4 }, { -30, -16, 1, 0, 47, 4 }, { -31, -16, 0, 0, 47, 4 }, { -33, -16, 0, 0, 47, 4 }, { -34, -16, 0, 0, 47, 4 }, + { -35, -16, 0, 0, 47, 4 }, { -36, -16, 0, 0, 47, 4 }, { -37, -16, 0, 1, 47, 4 }, { -38, -16, 0, 1, 47, 4 }, { -39, -15, 0, 1, 47, 4 }, + { -40, -15, 0, 1, 47, 4 }, { -41, -15, -1, 1, 47, 4 }, { -42, -15, -1, 1, 47, 4 }, { -43, -15, -1, 1, 47, 4 }, { -44, -15, -1, 1, 47, 4 }, + { -45, -14, -1, 1, 47, 4 }, { -46, -14, -1, 2, 47, 4 }, { -47, -14, -1, 2, 47, 4 }, { -48, -13, -1, 2, 47, 4 }, { -49, -13, -2, 2, 47, 4 }, + { -50, -13, -2, 2, 47, 4 }, { -51, -12, -2, 2, 47, 4 }, { -52, -12, -2, 2, 47, 4 }, { -53, -11, -2, 2, 47, 4 }, { -54, -11, -2, 2, 47, 4 }, + { -55, -10, -2, 2, 47, 4 }, { -56, -10, -2, 3, 47, 4 }, { -57, -9, -2, 3, 47, 4 }, { -58, -9, -3, 3, 47, 4 }, { -59, -8, -3, 3, 47, 4 }, + { -60, -7, -3, 3, 47, 4 }, { -61, -7, -3, 3, 47, 4 }, { -62, -6, -3, 3, 47, 4 }, { -63, -5, -3, 3, 47, 4 }, { -64, -4, -3, 3, 47, 4 }, + { -65, -3, -3, 4, 47, 4 }, { -67, -3, -4, 4, 47, 4 }, { -68, -2, -4, 4, 47, 4 }, { -69, -1, -4, 4, 47, 4 }, { -70, 0, -4, 4, 47, 4 }, + { -71, 1, -4, 5, 47, 4 }, { -71, 2, -4, 5, 47, 4 }, { -72, 3, -4, 5, 47, 4 }, { -73, 4, -4, 5, 47, 4 }, { -73, 5, -5, 5, 47, 4 }, + { -74, 6, -5, 5, 47, 4 }, { -74, 7, -5, 5, 47, 4 }, { -75, 8, -5, 5, 47, 4 }, { -75, 9, -5, 5, 47, 4 }, { -76, 10, -5, 6, 47, 4 }, + { -76, 11, -5, 6, 47, 4 }, { -77, 12, -5, 6, 47, 4 }, { -77, 13, -5, 6, 47, 4 }, { -77, 14, -6, 6, 47, 4 }, { -78, 15, -6, 6, 47, 4 }, + { -78, 16, -6, 6, 47, 4 }, { -78, 17, -6, 6, 47, 4 }, { -79, 18, -6, 6, 47, 4 }, { -79, 19, -6, 6, 47, 4 }, { -79, 20, -6, 7, 47, 4 }, + { -79, 21, -6, 7, 47, 4 }, { -79, 22, -7, 7, 47, 4 }, { -79, 23, -7, 7, 47, 4 }, { -80, 24, -7, 7, 47, 4 }, { -80, 25, -7, 7, 47, 4 }, + { -80, 26, -7, 7, 47, 4 }, { -80, 27, -7, 7, 47, 4 }, { -80, 28, -7, 8, 47, 4 }, { -80, 29, -7, 8, 47, 4 }, { -80, 30, -8, 8, 47, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F0C22 = { - 227, { - { 31, 16, 0, 0, 44, 2 }, { 30, 16, 0, 0, 44, 2 }, { 29, 16, 0, 0, 44, 2 }, { 28, 16, 0, 0, 44, 2 }, { 27, 16, 0, 0, 44, 2 }, - { 26, 16, 0, 0, 44, 2 }, { 25, 16, 0, 0, 44, 2 }, { 24, 16, 0, 31, 44, 2 }, { 23, 15, 0, 31, 44, 2 }, { 22, 15, 0, 31, 44, 2 }, - { 21, 15, 0, 31, 44, 2 }, { 20, 15, 0, 31, 44, 2 }, { 19, 15, 0, 31, 44, 2 }, { 18, 15, 0, 31, 44, 2 }, { 17, 14, 1, 31, 44, 2 }, - { 16, 14, 1, 31, 44, 2 }, { 15, 14, 1, 31, 44, 2 }, { 14, 14, 1, 31, 44, 2 }, { 13, 14, 1, 31, 44, 2 }, { 12, 13, 1, 31, 44, 2 }, - { 11, 13, 1, 31, 44, 2 }, { 10, 13, 1, 30, 44, 2 }, { 9, 13, 1, 30, 44, 2 }, { 8, 12, 1, 30, 44, 2 }, { 7, 12, 1, 30, 44, 2 }, - { 6, 12, 1, 30, 44, 2 }, { 5, 11, 1, 30, 44, 2 }, { 4, 11, 1, 30, 44, 2 }, { 3, 11, 2, 30, 44, 2 }, { 2, 10, 2, 30, 44, 2 }, - { 1, 10, 2, 30, 44, 2 }, { 0, 9, 2, 30, 44, 2 }, { -1, 9, 2, 30, 44, 2 }, { -2, 8, 2, 30, 44, 2 }, { -3, 8, 2, 30, 44, 2 }, - { -4, 7, 2, 30, 44, 2 }, { -5, 7, 2, 29, 44, 2 }, { -6, 6, 2, 29, 44, 2 }, { -7, 6, 2, 29, 44, 2 }, { -8, 5, 2, 29, 44, 2 }, - { -9, 4, 2, 29, 44, 2 }, { -10, 4, 2, 29, 44, 2 }, { -11, 3, 3, 29, 44, 2 }, { -12, 2, 3, 29, 44, 2 }, { -13, 2, 3, 29, 44, 2 }, - { -14, 1, 3, 29, 44, 2 }, { -15, 0, 3, 29, 44, 2 }, { -16, 0, 3, 29, 44, 2 }, { -17, -1, 3, 29, 44, 2 }, { -18, -2, 3, 28, 44, 2 }, - { -19, -3, 3, 28, 44, 2 }, { -20, -3, 3, 28, 44, 2 }, { -21, -4, 3, 28, 44, 2 }, { -22, -5, 3, 28, 44, 2 }, { -23, -6, 3, 28, 44, 2 }, - { -24, -7, 3, 28, 44, 2 }, { -25, -7, 4, 28, 44, 2 }, { -26, -8, 4, 28, 44, 2 }, { -27, -9, 4, 28, 44, 2 }, { -28, -10, 4, 28, 44, 2 }, - { -29, -11, 4, 28, 44, 2 }, { -29, -12, 4, 28, 44, 2 }, { -30, -13, 4, 27, 44, 2 }, { -31, -14, 4, 27, 44, 2 }, { -32, -15, 4, 27, 44, 2 }, - { -32, -16, 4, 27, 44, 2 }, { -33, -17, 4, 27, 44, 2 }, { -34, -18, 4, 27, 44, 2 }, { -34, -19, 4, 27, 44, 2 }, { -35, -20, 4, 27, 44, 2 }, - { -36, -21, 4, 27, 44, 2 }, { -36, -22, 5, 27, 44, 2 }, { -37, -23, 5, 27, 44, 2 }, { -38, -24, 5, 27, 44, 2 }, { -38, -25, 5, 27, 44, 2 }, - { -39, -26, 5, 26, 44, 2 }, { -39, -27, 5, 26, 44, 2 }, { -40, -28, 5, 26, 44, 2 }, { -40, -29, 5, 26, 44, 2 }, { -41, -30, 5, 26, 44, 2 }, - { -41, -31, 5, 26, 44, 2 }, { -42, -32, 5, 26, 44, 2 }, { -42, -33, 5, 26, 44, 2 }, { -43, -34, 5, 26, 44, 2 }, { -43, -35, 5, 26, 44, 2 }, - { -43, -36, 6, 26, 44, 2 }, { -44, -37, 6, 26, 44, 2 }, { -44, -38, 6, 26, 44, 2 }, { -44, -39, 6, 26, 44, 2 }, { -45, -40, 6, 25, 44, 2 }, - { -45, -41, 6, 25, 44, 2 }, { -45, -42, 6, 25, 44, 2 }, { -45, -43, 6, 25, 44, 2 }, { -46, -44, 6, 25, 44, 2 }, { -46, -45, 6, 25, 44, 2 }, - { -46, -46, 6, 25, 44, 2 }, { -46, -47, 6, 25, 44, 2 }, { -46, -48, 6, 25, 44, 2 }, { -47, -49, 6, 25, 44, 2 }, { -47, -50, 7, 25, 44, 2 }, - { -47, -51, 7, 25, 44, 2 }, { -47, -52, 7, 25, 44, 2 }, { -47, -53, 7, 25, 44, 2 }, { -47, -54, 7, 25, 44, 2 }, { -48, -55, 7, 25, 44, 2 }, - { -48, -56, 7, 24, 44, 2 }, { -48, -57, 7, 24, 44, 2 }, { -48, -58, 7, 24, 44, 2 }, { -48, -59, 7, 24, 44, 2 }, { -48, -60, 7, 24, 44, 2 }, - { -48, -61, 7, 24, 44, 2 }, { -48, -62, 7, 24, 44, 2 }, { -48, -63, 7, 24, 44, 2 }, { -48, -64, 8, 24, 44, 2 }, { -48, -65, 8, 24, 44, 2 }, - { -48, -66, 8, 24, 44, 2 }, { -48, -67, 8, 24, 44, 2 }, { -48, -68, 8, 24, 44, 2 }, { -48, -69, 8, 24, 44, 2 }, { -48, -70, 8, 24, 44, 2 }, - { -48, -71, 8, 24, 44, 2 }, { -48, -72, 8, 23, 44, 2 }, { -47, -73, 8, 23, 44, 2 }, { -47, -74, 8, 23, 44, 2 }, { -47, -75, 8, 23, 44, 2 }, - { -47, -76, 8, 23, 44, 2 }, { -47, -77, 8, 23, 44, 2 }, { -47, -78, 8, 23, 44, 2 }, { -46, -79, 9, 23, 44, 2 }, { -46, -80, 9, 23, 44, 2 }, - { -46, -81, 9, 23, 44, 2 }, { -46, -82, 9, 23, 44, 2 }, { -46, -83, 9, 23, 44, 2 }, { -45, -84, 9, 23, 44, 2 }, { -45, -85, 9, 23, 44, 2 }, - { -45, -86, 9, 22, 44, 2 }, { -45, -87, 9, 22, 44, 2 }, { -44, -88, 9, 22, 44, 2 }, { -44, -89, 9, 22, 44, 2 }, { -44, -90, 9, 22, 44, 2 }, - { -43, -91, 9, 22, 44, 2 }, { -43, -92, 9, 22, 44, 2 }, { -43, -93, 10, 22, 44, 2 }, { -42, -94, 10, 22, 44, 2 }, { -42, -95, 10, 22, 44, 2 }, - { -41, -96, 10, 22, 44, 2 }, { -41, -97, 10, 22, 44, 2 }, { -40, -98, 10, 22, 44, 2 }, { -40, -99, 10, 22, 44, 2 }, { -39, -100, 10, 22, 44, 2 }, - { -39, -101, 10, 21, 44, 2 }, { -38, -102, 10, 21, 44, 2 }, { -38, -103, 10, 21, 44, 2 }, { -37, -104, 10, 21, 44, 2 }, { -36, -105, 10, 21, 44, 2 }, - { -36, -106, 10, 21, 44, 2 }, { -35, -107, 11, 21, 44, 2 }, { -34, -108, 11, 21, 44, 2 }, { -34, -109, 11, 21, 44, 2 }, { -33, -110, 11, 21, 44, 2 }, - { -32, -111, 11, 21, 44, 2 }, { -32, -112, 11, 21, 44, 2 }, { -31, -113, 11, 21, 44, 2 }, { -30, -114, 11, 20, 44, 2 }, { -29, -115, 11, 20, 44, 2 }, - { -29, -116, 11, 20, 44, 2 }, { -28, -117, 11, 20, 44, 2 }, { -27, -118, 11, 20, 44, 2 }, { -26, -119, 11, 20, 44, 2 }, { -25, -120, 11, 20, 44, 2 }, - { -25, -121, 12, 20, 44, 2 }, { -24, -122, 12, 20, 44, 2 }, { -23, -123, 12, 20, 44, 2 }, { -22, -124, 12, 20, 44, 2 }, { -21, -125, 12, 20, 44, 2 }, - { -20, -125, 12, 20, 44, 2 }, { -19, -126, 12, 19, 44, 2 }, { -18, -127, 12, 19, 44, 2 }, { -17, -128, 12, 19, 44, 2 }, { -16, -128, 12, 19, 44, 2 }, - { -15, -129, 12, 19, 44, 2 }, { -14, -130, 12, 19, 44, 2 }, { -13, -130, 12, 19, 44, 2 }, { -12, -131, 12, 19, 44, 2 }, { -11, -132, 13, 19, 44, 2 }, - { -10, -132, 13, 19, 44, 2 }, { -9, -133, 13, 19, 44, 2 }, { -8, -134, 13, 19, 44, 2 }, { -7, -134, 13, 19, 44, 2 }, { -6, -135, 13, 18, 44, 2 }, - { -5, -135, 13, 18, 44, 2 }, { -4, -136, 13, 18, 44, 2 }, { -3, -136, 13, 18, 44, 2 }, { -2, -137, 13, 18, 44, 2 }, { -1, -137, 13, 18, 44, 2 }, - { 0, -138, 13, 18, 44, 2 }, { 1, -138, 13, 18, 44, 2 }, { 2, -139, 13, 18, 44, 2 }, { 3, -139, 14, 18, 44, 2 }, { 4, -139, 14, 18, 44, 2 }, - { 5, -140, 14, 18, 44, 2 }, { 6, -140, 14, 18, 44, 2 }, { 7, -140, 14, 18, 44, 2 }, { 8, -141, 14, 17, 44, 2 }, { 9, -141, 14, 17, 44, 2 }, - { 10, -141, 14, 17, 44, 2 }, { 11, -141, 14, 17, 44, 2 }, { 12, -142, 14, 17, 44, 2 }, { 13, -142, 14, 17, 44, 2 }, { 14, -142, 14, 17, 44, 2 }, - { 15, -142, 14, 17, 44, 2 }, { 16, -142, 14, 17, 44, 2 }, { 17, -143, 15, 17, 44, 2 }, { 18, -143, 15, 17, 44, 2 }, { 19, -143, 15, 17, 44, 2 }, - { 20, -143, 15, 17, 44, 2 }, { 21, -143, 15, 17, 44, 2 }, { 22, -143, 15, 17, 44, 2 }, { 23, -144, 15, 17, 44, 2 }, { 24, -144, 15, 16, 44, 2 }, - { 25, -144, 15, 16, 44, 2 }, { 26, -144, 15, 16, 44, 2 }, { 27, -144, 15, 16, 44, 2 }, { 28, -144, 15, 16, 44, 2 }, { 29, -144, 15, 16, 44, 2 }, - { 30, -144, 15, 16, 44, 2 }, { 31, -144, 16, 16, 44, 2 }, + 227, { + { 31, 16, 0, 0, 44, 2 }, { 30, 16, 0, 0, 44, 2 }, { 29, 16, 0, 0, 44, 2 }, { 28, 16, 0, 0, 44, 2 }, { 27, 16, 0, 0, 44, 2 }, + { 26, 16, 0, 0, 44, 2 }, { 25, 16, 0, 0, 44, 2 }, { 24, 16, 0, 31, 44, 2 }, { 23, 15, 0, 31, 44, 2 }, { 22, 15, 0, 31, 44, 2 }, + { 21, 15, 0, 31, 44, 2 }, { 20, 15, 0, 31, 44, 2 }, { 19, 15, 0, 31, 44, 2 }, { 18, 15, 0, 31, 44, 2 }, { 17, 14, 1, 31, 44, 2 }, + { 16, 14, 1, 31, 44, 2 }, { 15, 14, 1, 31, 44, 2 }, { 14, 14, 1, 31, 44, 2 }, { 13, 14, 1, 31, 44, 2 }, { 12, 13, 1, 31, 44, 2 }, + { 11, 13, 1, 31, 44, 2 }, { 10, 13, 1, 30, 44, 2 }, { 9, 13, 1, 30, 44, 2 }, { 8, 12, 1, 30, 44, 2 }, { 7, 12, 1, 30, 44, 2 }, + { 6, 12, 1, 30, 44, 2 }, { 5, 11, 1, 30, 44, 2 }, { 4, 11, 1, 30, 44, 2 }, { 3, 11, 2, 30, 44, 2 }, { 2, 10, 2, 30, 44, 2 }, + { 1, 10, 2, 30, 44, 2 }, { 0, 9, 2, 30, 44, 2 }, { -1, 9, 2, 30, 44, 2 }, { -2, 8, 2, 30, 44, 2 }, { -3, 8, 2, 30, 44, 2 }, + { -4, 7, 2, 30, 44, 2 }, { -5, 7, 2, 29, 44, 2 }, { -6, 6, 2, 29, 44, 2 }, { -7, 6, 2, 29, 44, 2 }, { -8, 5, 2, 29, 44, 2 }, + { -9, 4, 2, 29, 44, 2 }, { -10, 4, 2, 29, 44, 2 }, { -11, 3, 3, 29, 44, 2 }, { -12, 2, 3, 29, 44, 2 }, { -13, 2, 3, 29, 44, 2 }, + { -14, 1, 3, 29, 44, 2 }, { -15, 0, 3, 29, 44, 2 }, { -16, 0, 3, 29, 44, 2 }, { -17, -1, 3, 29, 44, 2 }, { -18, -2, 3, 28, 44, 2 }, + { -19, -3, 3, 28, 44, 2 }, { -20, -3, 3, 28, 44, 2 }, { -21, -4, 3, 28, 44, 2 }, { -22, -5, 3, 28, 44, 2 }, { -23, -6, 3, 28, 44, 2 }, + { -24, -7, 3, 28, 44, 2 }, { -25, -7, 4, 28, 44, 2 }, { -26, -8, 4, 28, 44, 2 }, { -27, -9, 4, 28, 44, 2 }, { -28, -10, 4, 28, 44, 2 }, + { -29, -11, 4, 28, 44, 2 }, { -29, -12, 4, 28, 44, 2 }, { -30, -13, 4, 27, 44, 2 }, { -31, -14, 4, 27, 44, 2 }, { -32, -15, 4, 27, 44, 2 }, + { -32, -16, 4, 27, 44, 2 }, { -33, -17, 4, 27, 44, 2 }, { -34, -18, 4, 27, 44, 2 }, { -34, -19, 4, 27, 44, 2 }, { -35, -20, 4, 27, 44, 2 }, + { -36, -21, 4, 27, 44, 2 }, { -36, -22, 5, 27, 44, 2 }, { -37, -23, 5, 27, 44, 2 }, { -38, -24, 5, 27, 44, 2 }, { -38, -25, 5, 27, 44, 2 }, + { -39, -26, 5, 26, 44, 2 }, { -39, -27, 5, 26, 44, 2 }, { -40, -28, 5, 26, 44, 2 }, { -40, -29, 5, 26, 44, 2 }, { -41, -30, 5, 26, 44, 2 }, + { -41, -31, 5, 26, 44, 2 }, { -42, -32, 5, 26, 44, 2 }, { -42, -33, 5, 26, 44, 2 }, { -43, -34, 5, 26, 44, 2 }, { -43, -35, 5, 26, 44, 2 }, + { -43, -36, 6, 26, 44, 2 }, { -44, -37, 6, 26, 44, 2 }, { -44, -38, 6, 26, 44, 2 }, { -44, -39, 6, 26, 44, 2 }, { -45, -40, 6, 25, 44, 2 }, + { -45, -41, 6, 25, 44, 2 }, { -45, -42, 6, 25, 44, 2 }, { -45, -43, 6, 25, 44, 2 }, { -46, -44, 6, 25, 44, 2 }, { -46, -45, 6, 25, 44, 2 }, + { -46, -46, 6, 25, 44, 2 }, { -46, -47, 6, 25, 44, 2 }, { -46, -48, 6, 25, 44, 2 }, { -47, -49, 6, 25, 44, 2 }, { -47, -50, 7, 25, 44, 2 }, + { -47, -51, 7, 25, 44, 2 }, { -47, -52, 7, 25, 44, 2 }, { -47, -53, 7, 25, 44, 2 }, { -47, -54, 7, 25, 44, 2 }, { -48, -55, 7, 25, 44, 2 }, + { -48, -56, 7, 24, 44, 2 }, { -48, -57, 7, 24, 44, 2 }, { -48, -58, 7, 24, 44, 2 }, { -48, -59, 7, 24, 44, 2 }, { -48, -60, 7, 24, 44, 2 }, + { -48, -61, 7, 24, 44, 2 }, { -48, -62, 7, 24, 44, 2 }, { -48, -63, 7, 24, 44, 2 }, { -48, -64, 8, 24, 44, 2 }, { -48, -65, 8, 24, 44, 2 }, + { -48, -66, 8, 24, 44, 2 }, { -48, -67, 8, 24, 44, 2 }, { -48, -68, 8, 24, 44, 2 }, { -48, -69, 8, 24, 44, 2 }, { -48, -70, 8, 24, 44, 2 }, + { -48, -71, 8, 24, 44, 2 }, { -48, -72, 8, 23, 44, 2 }, { -47, -73, 8, 23, 44, 2 }, { -47, -74, 8, 23, 44, 2 }, { -47, -75, 8, 23, 44, 2 }, + { -47, -76, 8, 23, 44, 2 }, { -47, -77, 8, 23, 44, 2 }, { -47, -78, 8, 23, 44, 2 }, { -46, -79, 9, 23, 44, 2 }, { -46, -80, 9, 23, 44, 2 }, + { -46, -81, 9, 23, 44, 2 }, { -46, -82, 9, 23, 44, 2 }, { -46, -83, 9, 23, 44, 2 }, { -45, -84, 9, 23, 44, 2 }, { -45, -85, 9, 23, 44, 2 }, + { -45, -86, 9, 22, 44, 2 }, { -45, -87, 9, 22, 44, 2 }, { -44, -88, 9, 22, 44, 2 }, { -44, -89, 9, 22, 44, 2 }, { -44, -90, 9, 22, 44, 2 }, + { -43, -91, 9, 22, 44, 2 }, { -43, -92, 9, 22, 44, 2 }, { -43, -93, 10, 22, 44, 2 }, { -42, -94, 10, 22, 44, 2 }, { -42, -95, 10, 22, 44, 2 }, + { -41, -96, 10, 22, 44, 2 }, { -41, -97, 10, 22, 44, 2 }, { -40, -98, 10, 22, 44, 2 }, { -40, -99, 10, 22, 44, 2 }, { -39, -100, 10, 22, 44, 2 }, + { -39, -101, 10, 21, 44, 2 }, { -38, -102, 10, 21, 44, 2 }, { -38, -103, 10, 21, 44, 2 }, { -37, -104, 10, 21, 44, 2 }, { -36, -105, 10, 21, 44, 2 }, + { -36, -106, 10, 21, 44, 2 }, { -35, -107, 11, 21, 44, 2 }, { -34, -108, 11, 21, 44, 2 }, { -34, -109, 11, 21, 44, 2 }, { -33, -110, 11, 21, 44, 2 }, + { -32, -111, 11, 21, 44, 2 }, { -32, -112, 11, 21, 44, 2 }, { -31, -113, 11, 21, 44, 2 }, { -30, -114, 11, 20, 44, 2 }, { -29, -115, 11, 20, 44, 2 }, + { -29, -116, 11, 20, 44, 2 }, { -28, -117, 11, 20, 44, 2 }, { -27, -118, 11, 20, 44, 2 }, { -26, -119, 11, 20, 44, 2 }, { -25, -120, 11, 20, 44, 2 }, + { -25, -121, 12, 20, 44, 2 }, { -24, -122, 12, 20, 44, 2 }, { -23, -123, 12, 20, 44, 2 }, { -22, -124, 12, 20, 44, 2 }, { -21, -125, 12, 20, 44, 2 }, + { -20, -125, 12, 20, 44, 2 }, { -19, -126, 12, 19, 44, 2 }, { -18, -127, 12, 19, 44, 2 }, { -17, -128, 12, 19, 44, 2 }, { -16, -128, 12, 19, 44, 2 }, + { -15, -129, 12, 19, 44, 2 }, { -14, -130, 12, 19, 44, 2 }, { -13, -130, 12, 19, 44, 2 }, { -12, -131, 12, 19, 44, 2 }, { -11, -132, 13, 19, 44, 2 }, + { -10, -132, 13, 19, 44, 2 }, { -9, -133, 13, 19, 44, 2 }, { -8, -134, 13, 19, 44, 2 }, { -7, -134, 13, 19, 44, 2 }, { -6, -135, 13, 18, 44, 2 }, + { -5, -135, 13, 18, 44, 2 }, { -4, -136, 13, 18, 44, 2 }, { -3, -136, 13, 18, 44, 2 }, { -2, -137, 13, 18, 44, 2 }, { -1, -137, 13, 18, 44, 2 }, + { 0, -138, 13, 18, 44, 2 }, { 1, -138, 13, 18, 44, 2 }, { 2, -139, 13, 18, 44, 2 }, { 3, -139, 14, 18, 44, 2 }, { 4, -139, 14, 18, 44, 2 }, + { 5, -140, 14, 18, 44, 2 }, { 6, -140, 14, 18, 44, 2 }, { 7, -140, 14, 18, 44, 2 }, { 8, -141, 14, 17, 44, 2 }, { 9, -141, 14, 17, 44, 2 }, + { 10, -141, 14, 17, 44, 2 }, { 11, -141, 14, 17, 44, 2 }, { 12, -142, 14, 17, 44, 2 }, { 13, -142, 14, 17, 44, 2 }, { 14, -142, 14, 17, 44, 2 }, + { 15, -142, 14, 17, 44, 2 }, { 16, -142, 14, 17, 44, 2 }, { 17, -143, 15, 17, 44, 2 }, { 18, -143, 15, 17, 44, 2 }, { 19, -143, 15, 17, 44, 2 }, + { 20, -143, 15, 17, 44, 2 }, { 21, -143, 15, 17, 44, 2 }, { 22, -143, 15, 17, 44, 2 }, { 23, -144, 15, 17, 44, 2 }, { 24, -144, 15, 16, 44, 2 }, + { 25, -144, 15, 16, 44, 2 }, { 26, -144, 15, 16, 44, 2 }, { 27, -144, 15, 16, 44, 2 }, { 28, -144, 15, 16, 44, 2 }, { 29, -144, 15, 16, 44, 2 }, + { 30, -144, 15, 16, 44, 2 }, { 31, -144, 16, 16, 44, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F141F = { - 229, { - { 16, 0, 0, 8, 44, 2 }, { 16, 1, 0, 8, 44, 2 }, { 16, 2, 0, 8, 44, 2 }, { 16, 3, 0, 8, 44, 2 }, { 16, 4, 0, 8, 44, 2 }, - { 16, 5, 0, 8, 44, 2 }, { 16, 6, 0, 8, 44, 2 }, { 16, 7, 0, 8, 44, 2 }, { 16, 8, 0, 7, 44, 2 }, { 15, 9, 0, 7, 44, 2 }, - { 15, 10, 0, 7, 44, 2 }, { 15, 11, 0, 7, 44, 2 }, { 15, 12, 0, 7, 44, 2 }, { 15, 13, 0, 7, 44, 2 }, { 15, 14, 0, 7, 44, 2 }, - { 14, 15, 1, 7, 44, 2 }, { 14, 16, 1, 7, 44, 2 }, { 14, 17, 1, 7, 44, 2 }, { 14, 18, 1, 7, 44, 2 }, { 14, 19, 1, 7, 44, 2 }, - { 13, 20, 1, 7, 44, 2 }, { 13, 21, 1, 7, 44, 2 }, { 13, 22, 1, 6, 44, 2 }, { 13, 23, 1, 6, 44, 2 }, { 12, 24, 1, 6, 44, 2 }, - { 12, 25, 1, 6, 44, 2 }, { 12, 26, 1, 6, 44, 2 }, { 11, 27, 1, 6, 44, 2 }, { 11, 28, 1, 6, 44, 2 }, { 11, 29, 2, 6, 44, 2 }, - { 10, 30, 2, 6, 44, 2 }, { 10, 31, 2, 6, 44, 2 }, { 9, 32, 2, 6, 44, 2 }, { 9, 33, 2, 6, 44, 2 }, { 8, 34, 2, 6, 44, 2 }, - { 8, 35, 2, 6, 44, 2 }, { 7, 36, 2, 6, 44, 2 }, { 7, 37, 2, 5, 44, 2 }, { 6, 38, 2, 5, 44, 2 }, { 6, 39, 2, 5, 44, 2 }, - { 5, 40, 2, 5, 44, 2 }, { 4, 41, 2, 5, 44, 2 }, { 4, 42, 2, 5, 44, 2 }, { 3, 43, 2, 5, 44, 2 }, { 2, 44, 3, 5, 44, 2 }, - { 2, 45, 3, 5, 44, 2 }, { 1, 46, 3, 5, 44, 2 }, { 0, 47, 3, 5, 44, 2 }, { 0, 48, 3, 5, 44, 2 }, { -1, 49, 3, 5, 44, 2 }, - { -2, 50, 3, 4, 44, 2 }, { -3, 51, 3, 4, 44, 2 }, { -3, 52, 3, 4, 44, 2 }, { -4, 53, 3, 4, 44, 2 }, { -5, 54, 3, 4, 44, 2 }, - { -6, 55, 3, 4, 44, 2 }, { -7, 56, 3, 4, 44, 2 }, { -7, 57, 3, 4, 44, 2 }, { -8, 58, 4, 4, 44, 2 }, { -9, 59, 4, 4, 44, 2 }, - { -10, 60, 4, 4, 44, 2 }, { -11, 61, 4, 4, 44, 2 }, { -12, 61, 4, 4, 44, 2 }, { -13, 62, 4, 3, 44, 2 }, { -14, 63, 4, 3, 44, 2 }, - { -15, 64, 4, 3, 44, 2 }, { -16, 64, 4, 3, 44, 2 }, { -17, 65, 4, 3, 44, 2 }, { -18, 66, 4, 3, 44, 2 }, { -19, 66, 4, 3, 44, 2 }, - { -20, 67, 4, 3, 44, 2 }, { -21, 68, 4, 3, 44, 2 }, { -22, 68, 5, 3, 44, 2 }, { -23, 69, 5, 3, 44, 2 }, { -24, 70, 5, 3, 44, 2 }, - { -25, 70, 5, 3, 44, 2 }, { -26, 71, 5, 2, 44, 2 }, { -27, 71, 5, 2, 44, 2 }, { -28, 72, 5, 2, 44, 2 }, { -29, 72, 5, 2, 44, 2 }, - { -30, 73, 5, 2, 44, 2 }, { -31, 73, 5, 2, 44, 2 }, { -32, 74, 5, 2, 44, 2 }, { -33, 74, 5, 2, 44, 2 }, { -34, 75, 5, 2, 44, 2 }, - { -35, 75, 5, 2, 44, 2 }, { -36, 75, 5, 2, 44, 2 }, { -37, 76, 6, 2, 44, 2 }, { -38, 76, 6, 2, 44, 2 }, { -39, 76, 6, 2, 44, 2 }, - { -40, 77, 6, 1, 44, 2 }, { -41, 77, 6, 1, 44, 2 }, { -42, 77, 6, 1, 44, 2 }, { -43, 77, 6, 1, 44, 2 }, { -44, 78, 6, 1, 44, 2 }, - { -45, 78, 6, 1, 44, 2 }, { -46, 78, 6, 1, 44, 2 }, { -47, 78, 6, 1, 44, 2 }, { -48, 78, 6, 1, 44, 2 }, { -49, 79, 6, 1, 44, 2 }, - { -50, 79, 6, 1, 44, 2 }, { -51, 79, 7, 1, 44, 2 }, { -52, 79, 7, 1, 44, 2 }, { -53, 79, 7, 1, 44, 2 }, { -54, 79, 7, 1, 44, 2 }, - { -55, 80, 7, 1, 44, 2 }, { -56, 80, 7, 0, 44, 2 }, { -57, 80, 7, 0, 44, 2 }, { -58, 80, 7, 0, 44, 2 }, { -59, 80, 7, 0, 44, 2 }, - { -60, 80, 7, 0, 44, 2 }, { -61, 80, 7, 0, 44, 2 }, { -62, 80, 7, 0, 44, 2 }, { -63, 80, 7, 0, 44, 2 }, { -64, 80, 7, 0, 44, 2 }, - { -65, 80, 8, 0, 44, 2 }, { -66, 80, 8, 0, 44, 2 }, { -67, 80, 8, 0, 44, 2 }, { -68, 80, 8, 0, 44, 2 }, { -69, 80, 8, 0, 44, 2 }, - { -70, 80, 8, 0, 44, 2 }, { -71, 80, 8, 0, 44, 2 }, { -72, 80, 8, 31, 44, 2 }, { -73, 79, 8, 31, 44, 2 }, { -74, 79, 8, 31, 44, 2 }, - { -75, 79, 8, 31, 44, 2 }, { -76, 79, 8, 31, 44, 2 }, { -77, 79, 8, 31, 44, 2 }, { -78, 79, 8, 31, 44, 2 }, { -79, 78, 9, 31, 44, 2 }, - { -80, 78, 9, 31, 44, 2 }, { -81, 78, 9, 31, 44, 2 }, { -82, 78, 9, 31, 44, 2 }, { -83, 78, 9, 31, 44, 2 }, { -84, 77, 9, 31, 44, 2 }, - { -85, 77, 9, 31, 44, 2 }, { -86, 77, 9, 30, 44, 2 }, { -87, 77, 9, 30, 44, 2 }, { -88, 76, 9, 30, 44, 2 }, { -89, 76, 9, 30, 44, 2 }, - { -90, 76, 9, 30, 44, 2 }, { -91, 75, 9, 30, 44, 2 }, { -92, 75, 9, 30, 44, 2 }, { -93, 75, 10, 30, 44, 2 }, { -94, 74, 10, 30, 44, 2 }, - { -95, 74, 10, 30, 44, 2 }, { -96, 73, 10, 30, 44, 2 }, { -97, 73, 10, 30, 44, 2 }, { -98, 72, 10, 30, 44, 2 }, { -99, 72, 10, 30, 44, 2 }, - { -100, 71, 10, 30, 44, 2 }, { -101, 71, 10, 29, 44, 2 }, { -102, 70, 10, 29, 44, 2 }, { -103, 70, 10, 29, 44, 2 }, { -104, 69, 10, 29, 44, 2 }, - { -105, 68, 10, 29, 44, 2 }, { -106, 68, 10, 29, 44, 2 }, { -107, 67, 11, 29, 44, 2 }, { -108, 66, 11, 29, 44, 2 }, { -109, 66, 11, 29, 44, 2 }, - { -110, 65, 11, 29, 44, 2 }, { -111, 64, 11, 29, 44, 2 }, { -112, 64, 11, 29, 44, 2 }, { -113, 63, 11, 29, 44, 2 }, { -114, 62, 11, 28, 44, 2 }, - { -115, 61, 11, 28, 44, 2 }, { -116, 61, 11, 28, 44, 2 }, { -117, 60, 11, 28, 44, 2 }, { -118, 59, 11, 28, 44, 2 }, { -119, 58, 11, 28, 44, 2 }, - { -120, 57, 11, 28, 44, 2 }, { -121, 57, 12, 28, 44, 2 }, { -122, 56, 12, 28, 44, 2 }, { -123, 55, 12, 28, 44, 2 }, { -124, 54, 12, 28, 44, 2 }, - { -125, 53, 12, 28, 44, 2 }, { -125, 52, 12, 28, 44, 2 }, { -126, 51, 12, 27, 44, 2 }, { -127, 50, 12, 27, 44, 2 }, { -128, 49, 12, 27, 44, 2 }, - { -128, 48, 12, 27, 44, 2 }, { -129, 47, 12, 27, 44, 2 }, { -130, 46, 12, 27, 44, 2 }, { -130, 45, 12, 27, 44, 2 }, { -131, 44, 12, 27, 44, 2 }, - { -132, 43, 12, 27, 44, 2 }, { -132, 42, 13, 27, 44, 2 }, { -133, 41, 13, 27, 44, 2 }, { -134, 40, 13, 27, 44, 2 }, { -134, 39, 13, 27, 44, 2 }, - { -135, 38, 13, 26, 44, 2 }, { -135, 37, 13, 26, 44, 2 }, { -136, 36, 13, 26, 44, 2 }, { -136, 35, 13, 26, 44, 2 }, { -137, 34, 13, 26, 44, 2 }, - { -137, 33, 13, 26, 44, 2 }, { -138, 32, 13, 26, 44, 2 }, { -138, 31, 13, 26, 44, 2 }, { -139, 30, 13, 26, 44, 2 }, { -139, 29, 13, 26, 44, 2 }, - { -139, 28, 14, 26, 44, 2 }, { -140, 27, 14, 26, 44, 2 }, { -140, 26, 14, 26, 44, 2 }, { -140, 25, 14, 26, 44, 2 }, { -141, 24, 14, 25, 44, 2 }, - { -141, 23, 14, 25, 44, 2 }, { -141, 22, 14, 25, 44, 2 }, { -141, 21, 14, 25, 44, 2 }, { -142, 20, 14, 25, 44, 2 }, { -142, 19, 14, 25, 44, 2 }, - { -142, 18, 14, 25, 44, 2 }, { -142, 17, 14, 25, 44, 2 }, { -142, 16, 14, 25, 44, 2 }, { -143, 15, 14, 25, 44, 2 }, { -143, 14, 15, 25, 44, 2 }, - { -143, 13, 15, 25, 44, 2 }, { -143, 12, 15, 25, 44, 2 }, { -143, 11, 15, 25, 44, 2 }, { -143, 10, 15, 25, 44, 2 }, { -144, 9, 15, 25, 44, 2 }, - { -144, 8, 15, 24, 44, 2 }, { -144, 7, 15, 24, 44, 2 }, { -144, 6, 15, 24, 44, 2 }, { -144, 5, 15, 24, 44, 2 }, { -144, 4, 15, 24, 44, 2 }, - { -144, 3, 15, 24, 44, 2 }, { -144, 2, 15, 24, 44, 2 }, { -144, 1, 15, 24, 44, 2 }, { -144, 0, 16, 24, 44, 2 }, + 229, { + { 16, 0, 0, 8, 44, 2 }, { 16, 1, 0, 8, 44, 2 }, { 16, 2, 0, 8, 44, 2 }, { 16, 3, 0, 8, 44, 2 }, { 16, 4, 0, 8, 44, 2 }, + { 16, 5, 0, 8, 44, 2 }, { 16, 6, 0, 8, 44, 2 }, { 16, 7, 0, 8, 44, 2 }, { 16, 8, 0, 7, 44, 2 }, { 15, 9, 0, 7, 44, 2 }, + { 15, 10, 0, 7, 44, 2 }, { 15, 11, 0, 7, 44, 2 }, { 15, 12, 0, 7, 44, 2 }, { 15, 13, 0, 7, 44, 2 }, { 15, 14, 0, 7, 44, 2 }, + { 14, 15, 1, 7, 44, 2 }, { 14, 16, 1, 7, 44, 2 }, { 14, 17, 1, 7, 44, 2 }, { 14, 18, 1, 7, 44, 2 }, { 14, 19, 1, 7, 44, 2 }, + { 13, 20, 1, 7, 44, 2 }, { 13, 21, 1, 7, 44, 2 }, { 13, 22, 1, 6, 44, 2 }, { 13, 23, 1, 6, 44, 2 }, { 12, 24, 1, 6, 44, 2 }, + { 12, 25, 1, 6, 44, 2 }, { 12, 26, 1, 6, 44, 2 }, { 11, 27, 1, 6, 44, 2 }, { 11, 28, 1, 6, 44, 2 }, { 11, 29, 2, 6, 44, 2 }, + { 10, 30, 2, 6, 44, 2 }, { 10, 31, 2, 6, 44, 2 }, { 9, 32, 2, 6, 44, 2 }, { 9, 33, 2, 6, 44, 2 }, { 8, 34, 2, 6, 44, 2 }, + { 8, 35, 2, 6, 44, 2 }, { 7, 36, 2, 6, 44, 2 }, { 7, 37, 2, 5, 44, 2 }, { 6, 38, 2, 5, 44, 2 }, { 6, 39, 2, 5, 44, 2 }, + { 5, 40, 2, 5, 44, 2 }, { 4, 41, 2, 5, 44, 2 }, { 4, 42, 2, 5, 44, 2 }, { 3, 43, 2, 5, 44, 2 }, { 2, 44, 3, 5, 44, 2 }, + { 2, 45, 3, 5, 44, 2 }, { 1, 46, 3, 5, 44, 2 }, { 0, 47, 3, 5, 44, 2 }, { 0, 48, 3, 5, 44, 2 }, { -1, 49, 3, 5, 44, 2 }, + { -2, 50, 3, 4, 44, 2 }, { -3, 51, 3, 4, 44, 2 }, { -3, 52, 3, 4, 44, 2 }, { -4, 53, 3, 4, 44, 2 }, { -5, 54, 3, 4, 44, 2 }, + { -6, 55, 3, 4, 44, 2 }, { -7, 56, 3, 4, 44, 2 }, { -7, 57, 3, 4, 44, 2 }, { -8, 58, 4, 4, 44, 2 }, { -9, 59, 4, 4, 44, 2 }, + { -10, 60, 4, 4, 44, 2 }, { -11, 61, 4, 4, 44, 2 }, { -12, 61, 4, 4, 44, 2 }, { -13, 62, 4, 3, 44, 2 }, { -14, 63, 4, 3, 44, 2 }, + { -15, 64, 4, 3, 44, 2 }, { -16, 64, 4, 3, 44, 2 }, { -17, 65, 4, 3, 44, 2 }, { -18, 66, 4, 3, 44, 2 }, { -19, 66, 4, 3, 44, 2 }, + { -20, 67, 4, 3, 44, 2 }, { -21, 68, 4, 3, 44, 2 }, { -22, 68, 5, 3, 44, 2 }, { -23, 69, 5, 3, 44, 2 }, { -24, 70, 5, 3, 44, 2 }, + { -25, 70, 5, 3, 44, 2 }, { -26, 71, 5, 2, 44, 2 }, { -27, 71, 5, 2, 44, 2 }, { -28, 72, 5, 2, 44, 2 }, { -29, 72, 5, 2, 44, 2 }, + { -30, 73, 5, 2, 44, 2 }, { -31, 73, 5, 2, 44, 2 }, { -32, 74, 5, 2, 44, 2 }, { -33, 74, 5, 2, 44, 2 }, { -34, 75, 5, 2, 44, 2 }, + { -35, 75, 5, 2, 44, 2 }, { -36, 75, 5, 2, 44, 2 }, { -37, 76, 6, 2, 44, 2 }, { -38, 76, 6, 2, 44, 2 }, { -39, 76, 6, 2, 44, 2 }, + { -40, 77, 6, 1, 44, 2 }, { -41, 77, 6, 1, 44, 2 }, { -42, 77, 6, 1, 44, 2 }, { -43, 77, 6, 1, 44, 2 }, { -44, 78, 6, 1, 44, 2 }, + { -45, 78, 6, 1, 44, 2 }, { -46, 78, 6, 1, 44, 2 }, { -47, 78, 6, 1, 44, 2 }, { -48, 78, 6, 1, 44, 2 }, { -49, 79, 6, 1, 44, 2 }, + { -50, 79, 6, 1, 44, 2 }, { -51, 79, 7, 1, 44, 2 }, { -52, 79, 7, 1, 44, 2 }, { -53, 79, 7, 1, 44, 2 }, { -54, 79, 7, 1, 44, 2 }, + { -55, 80, 7, 1, 44, 2 }, { -56, 80, 7, 0, 44, 2 }, { -57, 80, 7, 0, 44, 2 }, { -58, 80, 7, 0, 44, 2 }, { -59, 80, 7, 0, 44, 2 }, + { -60, 80, 7, 0, 44, 2 }, { -61, 80, 7, 0, 44, 2 }, { -62, 80, 7, 0, 44, 2 }, { -63, 80, 7, 0, 44, 2 }, { -64, 80, 7, 0, 44, 2 }, + { -65, 80, 8, 0, 44, 2 }, { -66, 80, 8, 0, 44, 2 }, { -67, 80, 8, 0, 44, 2 }, { -68, 80, 8, 0, 44, 2 }, { -69, 80, 8, 0, 44, 2 }, + { -70, 80, 8, 0, 44, 2 }, { -71, 80, 8, 0, 44, 2 }, { -72, 80, 8, 31, 44, 2 }, { -73, 79, 8, 31, 44, 2 }, { -74, 79, 8, 31, 44, 2 }, + { -75, 79, 8, 31, 44, 2 }, { -76, 79, 8, 31, 44, 2 }, { -77, 79, 8, 31, 44, 2 }, { -78, 79, 8, 31, 44, 2 }, { -79, 78, 9, 31, 44, 2 }, + { -80, 78, 9, 31, 44, 2 }, { -81, 78, 9, 31, 44, 2 }, { -82, 78, 9, 31, 44, 2 }, { -83, 78, 9, 31, 44, 2 }, { -84, 77, 9, 31, 44, 2 }, + { -85, 77, 9, 31, 44, 2 }, { -86, 77, 9, 30, 44, 2 }, { -87, 77, 9, 30, 44, 2 }, { -88, 76, 9, 30, 44, 2 }, { -89, 76, 9, 30, 44, 2 }, + { -90, 76, 9, 30, 44, 2 }, { -91, 75, 9, 30, 44, 2 }, { -92, 75, 9, 30, 44, 2 }, { -93, 75, 10, 30, 44, 2 }, { -94, 74, 10, 30, 44, 2 }, + { -95, 74, 10, 30, 44, 2 }, { -96, 73, 10, 30, 44, 2 }, { -97, 73, 10, 30, 44, 2 }, { -98, 72, 10, 30, 44, 2 }, { -99, 72, 10, 30, 44, 2 }, + { -100, 71, 10, 30, 44, 2 }, { -101, 71, 10, 29, 44, 2 }, { -102, 70, 10, 29, 44, 2 }, { -103, 70, 10, 29, 44, 2 }, { -104, 69, 10, 29, 44, 2 }, + { -105, 68, 10, 29, 44, 2 }, { -106, 68, 10, 29, 44, 2 }, { -107, 67, 11, 29, 44, 2 }, { -108, 66, 11, 29, 44, 2 }, { -109, 66, 11, 29, 44, 2 }, + { -110, 65, 11, 29, 44, 2 }, { -111, 64, 11, 29, 44, 2 }, { -112, 64, 11, 29, 44, 2 }, { -113, 63, 11, 29, 44, 2 }, { -114, 62, 11, 28, 44, 2 }, + { -115, 61, 11, 28, 44, 2 }, { -116, 61, 11, 28, 44, 2 }, { -117, 60, 11, 28, 44, 2 }, { -118, 59, 11, 28, 44, 2 }, { -119, 58, 11, 28, 44, 2 }, + { -120, 57, 11, 28, 44, 2 }, { -121, 57, 12, 28, 44, 2 }, { -122, 56, 12, 28, 44, 2 }, { -123, 55, 12, 28, 44, 2 }, { -124, 54, 12, 28, 44, 2 }, + { -125, 53, 12, 28, 44, 2 }, { -125, 52, 12, 28, 44, 2 }, { -126, 51, 12, 27, 44, 2 }, { -127, 50, 12, 27, 44, 2 }, { -128, 49, 12, 27, 44, 2 }, + { -128, 48, 12, 27, 44, 2 }, { -129, 47, 12, 27, 44, 2 }, { -130, 46, 12, 27, 44, 2 }, { -130, 45, 12, 27, 44, 2 }, { -131, 44, 12, 27, 44, 2 }, + { -132, 43, 12, 27, 44, 2 }, { -132, 42, 13, 27, 44, 2 }, { -133, 41, 13, 27, 44, 2 }, { -134, 40, 13, 27, 44, 2 }, { -134, 39, 13, 27, 44, 2 }, + { -135, 38, 13, 26, 44, 2 }, { -135, 37, 13, 26, 44, 2 }, { -136, 36, 13, 26, 44, 2 }, { -136, 35, 13, 26, 44, 2 }, { -137, 34, 13, 26, 44, 2 }, + { -137, 33, 13, 26, 44, 2 }, { -138, 32, 13, 26, 44, 2 }, { -138, 31, 13, 26, 44, 2 }, { -139, 30, 13, 26, 44, 2 }, { -139, 29, 13, 26, 44, 2 }, + { -139, 28, 14, 26, 44, 2 }, { -140, 27, 14, 26, 44, 2 }, { -140, 26, 14, 26, 44, 2 }, { -140, 25, 14, 26, 44, 2 }, { -141, 24, 14, 25, 44, 2 }, + { -141, 23, 14, 25, 44, 2 }, { -141, 22, 14, 25, 44, 2 }, { -141, 21, 14, 25, 44, 2 }, { -142, 20, 14, 25, 44, 2 }, { -142, 19, 14, 25, 44, 2 }, + { -142, 18, 14, 25, 44, 2 }, { -142, 17, 14, 25, 44, 2 }, { -142, 16, 14, 25, 44, 2 }, { -143, 15, 14, 25, 44, 2 }, { -143, 14, 15, 25, 44, 2 }, + { -143, 13, 15, 25, 44, 2 }, { -143, 12, 15, 25, 44, 2 }, { -143, 11, 15, 25, 44, 2 }, { -143, 10, 15, 25, 44, 2 }, { -144, 9, 15, 25, 44, 2 }, + { -144, 8, 15, 24, 44, 2 }, { -144, 7, 15, 24, 44, 2 }, { -144, 6, 15, 24, 44, 2 }, { -144, 5, 15, 24, 44, 2 }, { -144, 4, 15, 24, 44, 2 }, + { -144, 3, 15, 24, 44, 2 }, { -144, 2, 15, 24, 44, 2 }, { -144, 1, 15, 24, 44, 2 }, { -144, 0, 16, 24, 44, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F1C2E = { - 229, { - { 0, 16, 0, 16, 44, 2 }, { 1, 16, 0, 16, 44, 2 }, { 2, 16, 0, 16, 44, 2 }, { 3, 16, 0, 16, 44, 2 }, { 4, 16, 0, 16, 44, 2 }, - { 5, 16, 0, 16, 44, 2 }, { 6, 16, 0, 16, 44, 2 }, { 7, 16, 0, 16, 44, 2 }, { 8, 16, 0, 15, 44, 2 }, { 9, 17, 0, 15, 44, 2 }, - { 10, 17, 0, 15, 44, 2 }, { 11, 17, 0, 15, 44, 2 }, { 12, 17, 0, 15, 44, 2 }, { 13, 17, 0, 15, 44, 2 }, { 14, 17, 0, 15, 44, 2 }, - { 15, 18, 1, 15, 44, 2 }, { 16, 18, 1, 15, 44, 2 }, { 17, 18, 1, 15, 44, 2 }, { 18, 18, 1, 15, 44, 2 }, { 19, 18, 1, 15, 44, 2 }, - { 20, 19, 1, 15, 44, 2 }, { 21, 19, 1, 15, 44, 2 }, { 22, 19, 1, 14, 44, 2 }, { 23, 19, 1, 14, 44, 2 }, { 24, 20, 1, 14, 44, 2 }, - { 25, 20, 1, 14, 44, 2 }, { 26, 20, 1, 14, 44, 2 }, { 27, 21, 1, 14, 44, 2 }, { 28, 21, 1, 14, 44, 2 }, { 29, 21, 2, 14, 44, 2 }, - { 30, 22, 2, 14, 44, 2 }, { 31, 22, 2, 14, 44, 2 }, { 32, 23, 2, 14, 44, 2 }, { 33, 23, 2, 14, 44, 2 }, { 34, 24, 2, 14, 44, 2 }, - { 35, 24, 2, 14, 44, 2 }, { 36, 25, 2, 14, 44, 2 }, { 37, 25, 2, 13, 44, 2 }, { 38, 26, 2, 13, 44, 2 }, { 39, 26, 2, 13, 44, 2 }, - { 40, 27, 2, 13, 44, 2 }, { 41, 28, 2, 13, 44, 2 }, { 42, 28, 2, 13, 44, 2 }, { 43, 29, 3, 13, 44, 2 }, { 44, 30, 3, 13, 44, 2 }, - { 45, 30, 3, 13, 44, 2 }, { 46, 31, 3, 13, 44, 2 }, { 47, 32, 3, 13, 44, 2 }, { 48, 32, 3, 13, 44, 2 }, { 49, 33, 3, 13, 44, 2 }, - { 50, 34, 3, 12, 44, 2 }, { 51, 35, 3, 12, 44, 2 }, { 52, 35, 3, 12, 44, 2 }, { 53, 36, 3, 12, 44, 2 }, { 54, 37, 3, 12, 44, 2 }, - { 55, 38, 3, 12, 44, 2 }, { 56, 39, 3, 12, 44, 2 }, { 57, 39, 4, 12, 44, 2 }, { 58, 40, 4, 12, 44, 2 }, { 59, 41, 4, 12, 44, 2 }, - { 60, 42, 4, 12, 44, 2 }, { 61, 43, 4, 12, 44, 2 }, { 61, 44, 4, 12, 44, 2 }, { 62, 45, 4, 11, 44, 2 }, { 63, 46, 4, 11, 44, 2 }, - { 64, 47, 4, 11, 44, 2 }, { 64, 48, 4, 11, 44, 2 }, { 65, 49, 4, 11, 44, 2 }, { 66, 50, 4, 11, 44, 2 }, { 66, 51, 4, 11, 44, 2 }, - { 67, 52, 4, 11, 44, 2 }, { 68, 53, 4, 11, 44, 2 }, { 68, 54, 5, 11, 44, 2 }, { 69, 55, 5, 11, 44, 2 }, { 70, 56, 5, 11, 44, 2 }, - { 70, 57, 5, 11, 44, 2 }, { 71, 58, 5, 10, 44, 2 }, { 71, 59, 5, 10, 44, 2 }, { 72, 60, 5, 10, 44, 2 }, { 72, 61, 5, 10, 44, 2 }, - { 73, 62, 5, 10, 44, 2 }, { 73, 63, 5, 10, 44, 2 }, { 74, 64, 5, 10, 44, 2 }, { 74, 65, 5, 10, 44, 2 }, { 75, 66, 5, 10, 44, 2 }, - { 75, 67, 5, 10, 44, 2 }, { 75, 68, 6, 10, 44, 2 }, { 76, 69, 6, 10, 44, 2 }, { 76, 70, 6, 10, 44, 2 }, { 76, 71, 6, 10, 44, 2 }, - { 77, 72, 6, 9, 44, 2 }, { 77, 73, 6, 9, 44, 2 }, { 77, 74, 6, 9, 44, 2 }, { 77, 75, 6, 9, 44, 2 }, { 78, 76, 6, 9, 44, 2 }, - { 78, 77, 6, 9, 44, 2 }, { 78, 78, 6, 9, 44, 2 }, { 78, 79, 6, 9, 44, 2 }, { 78, 80, 6, 9, 44, 2 }, { 79, 81, 6, 9, 44, 2 }, - { 79, 82, 7, 9, 44, 2 }, { 79, 83, 7, 9, 44, 2 }, { 79, 84, 7, 9, 44, 2 }, { 79, 85, 7, 9, 44, 2 }, { 79, 86, 7, 9, 44, 2 }, - { 80, 87, 7, 9, 44, 2 }, { 80, 88, 7, 8, 44, 2 }, { 80, 89, 7, 8, 44, 2 }, { 80, 90, 7, 8, 44, 2 }, { 80, 91, 7, 8, 44, 2 }, - { 80, 92, 7, 8, 44, 2 }, { 80, 93, 7, 8, 44, 2 }, { 80, 94, 7, 8, 44, 2 }, { 80, 95, 7, 8, 44, 2 }, { 80, 96, 8, 8, 44, 2 }, - { 80, 97, 8, 8, 44, 2 }, { 80, 98, 8, 8, 44, 2 }, { 80, 99, 8, 8, 44, 2 }, { 80, 100, 8, 8, 44, 2 }, { 80, 101, 8, 8, 44, 2 }, - { 80, 102, 8, 8, 44, 2 }, { 80, 103, 8, 8, 44, 2 }, { 80, 104, 8, 7, 44, 2 }, { 79, 105, 8, 7, 44, 2 }, { 79, 106, 8, 7, 44, 2 }, - { 79, 107, 8, 7, 44, 2 }, { 79, 108, 8, 7, 44, 2 }, { 79, 109, 8, 7, 44, 2 }, { 79, 110, 8, 7, 44, 2 }, { 78, 111, 9, 7, 44, 2 }, - { 78, 112, 9, 7, 44, 2 }, { 78, 113, 9, 7, 44, 2 }, { 78, 114, 9, 7, 44, 2 }, { 78, 115, 9, 7, 44, 2 }, { 77, 116, 9, 7, 44, 2 }, - { 77, 117, 9, 7, 44, 2 }, { 77, 118, 9, 6, 44, 2 }, { 77, 119, 9, 6, 44, 2 }, { 76, 120, 9, 6, 44, 2 }, { 76, 121, 9, 6, 44, 2 }, - { 76, 122, 9, 6, 44, 2 }, { 75, 123, 9, 6, 44, 2 }, { 75, 124, 9, 6, 44, 2 }, { 75, 125, 10, 6, 44, 2 }, { 74, 126, 10, 6, 44, 2 }, - { 74, 127, 10, 6, 44, 2 }, { 73, 128, 10, 6, 44, 2 }, { 73, 129, 10, 6, 44, 2 }, { 72, 130, 10, 6, 44, 2 }, { 72, 131, 10, 6, 44, 2 }, - { 71, 132, 10, 6, 44, 2 }, { 71, 133, 10, 5, 44, 2 }, { 70, 134, 10, 5, 44, 2 }, { 70, 135, 10, 5, 44, 2 }, { 69, 136, 10, 5, 44, 2 }, - { 68, 137, 10, 5, 44, 2 }, { 68, 138, 10, 5, 44, 2 }, { 67, 139, 10, 5, 44, 2 }, { 66, 140, 11, 5, 44, 2 }, { 66, 141, 11, 5, 44, 2 }, - { 65, 142, 11, 5, 44, 2 }, { 64, 143, 11, 5, 44, 2 }, { 64, 144, 11, 5, 44, 2 }, { 63, 145, 11, 5, 44, 2 }, { 62, 146, 11, 4, 44, 2 }, - { 61, 147, 11, 4, 44, 2 }, { 61, 148, 11, 4, 44, 2 }, { 60, 149, 11, 4, 44, 2 }, { 59, 150, 11, 4, 44, 2 }, { 58, 151, 11, 4, 44, 2 }, - { 57, 152, 11, 4, 44, 2 }, { 57, 153, 11, 4, 44, 2 }, { 56, 154, 12, 4, 44, 2 }, { 55, 155, 12, 4, 44, 2 }, { 54, 156, 12, 4, 44, 2 }, - { 53, 157, 12, 4, 44, 2 }, { 52, 157, 12, 4, 44, 2 }, { 51, 158, 12, 3, 44, 2 }, { 50, 159, 12, 3, 44, 2 }, { 49, 160, 12, 3, 44, 2 }, - { 48, 160, 12, 3, 44, 2 }, { 47, 161, 12, 3, 44, 2 }, { 46, 162, 12, 3, 44, 2 }, { 45, 162, 12, 3, 44, 2 }, { 44, 163, 12, 3, 44, 2 }, - { 43, 164, 12, 3, 44, 2 }, { 42, 164, 13, 3, 44, 2 }, { 41, 165, 13, 3, 44, 2 }, { 40, 166, 13, 3, 44, 2 }, { 39, 166, 13, 3, 44, 2 }, - { 38, 167, 13, 2, 44, 2 }, { 37, 167, 13, 2, 44, 2 }, { 36, 168, 13, 2, 44, 2 }, { 35, 168, 13, 2, 44, 2 }, { 34, 169, 13, 2, 44, 2 }, - { 33, 169, 13, 2, 44, 2 }, { 32, 170, 13, 2, 44, 2 }, { 31, 170, 13, 2, 44, 2 }, { 30, 171, 13, 2, 44, 2 }, { 29, 171, 13, 2, 44, 2 }, - { 28, 171, 13, 2, 44, 2 }, { 27, 172, 14, 2, 44, 2 }, { 26, 172, 14, 2, 44, 2 }, { 25, 172, 14, 2, 44, 2 }, { 24, 173, 14, 1, 44, 2 }, - { 23, 173, 14, 1, 44, 2 }, { 22, 173, 14, 1, 44, 2 }, { 21, 173, 14, 1, 44, 2 }, { 20, 174, 14, 1, 44, 2 }, { 19, 174, 14, 1, 44, 2 }, - { 18, 174, 14, 1, 44, 2 }, { 17, 174, 14, 1, 44, 2 }, { 16, 174, 14, 1, 44, 2 }, { 15, 175, 14, 1, 44, 2 }, { 14, 175, 14, 1, 44, 2 }, - { 13, 175, 15, 1, 44, 2 }, { 12, 175, 15, 1, 44, 2 }, { 11, 175, 15, 1, 44, 2 }, { 10, 175, 15, 1, 44, 2 }, { 9, 176, 15, 1, 44, 2 }, - { 8, 176, 15, 0, 44, 2 }, { 7, 176, 15, 0, 44, 2 }, { 6, 176, 15, 0, 44, 2 }, { 5, 176, 15, 0, 44, 2 }, { 4, 176, 15, 0, 44, 2 }, - { 3, 176, 15, 0, 44, 2 }, { 2, 176, 15, 0, 44, 2 }, { 1, 176, 15, 0, 44, 2 }, { 0, 176, 15, 0, 44, 2 }, + 229, { + { 0, 16, 0, 16, 44, 2 }, { 1, 16, 0, 16, 44, 2 }, { 2, 16, 0, 16, 44, 2 }, { 3, 16, 0, 16, 44, 2 }, { 4, 16, 0, 16, 44, 2 }, + { 5, 16, 0, 16, 44, 2 }, { 6, 16, 0, 16, 44, 2 }, { 7, 16, 0, 16, 44, 2 }, { 8, 16, 0, 15, 44, 2 }, { 9, 17, 0, 15, 44, 2 }, + { 10, 17, 0, 15, 44, 2 }, { 11, 17, 0, 15, 44, 2 }, { 12, 17, 0, 15, 44, 2 }, { 13, 17, 0, 15, 44, 2 }, { 14, 17, 0, 15, 44, 2 }, + { 15, 18, 1, 15, 44, 2 }, { 16, 18, 1, 15, 44, 2 }, { 17, 18, 1, 15, 44, 2 }, { 18, 18, 1, 15, 44, 2 }, { 19, 18, 1, 15, 44, 2 }, + { 20, 19, 1, 15, 44, 2 }, { 21, 19, 1, 15, 44, 2 }, { 22, 19, 1, 14, 44, 2 }, { 23, 19, 1, 14, 44, 2 }, { 24, 20, 1, 14, 44, 2 }, + { 25, 20, 1, 14, 44, 2 }, { 26, 20, 1, 14, 44, 2 }, { 27, 21, 1, 14, 44, 2 }, { 28, 21, 1, 14, 44, 2 }, { 29, 21, 2, 14, 44, 2 }, + { 30, 22, 2, 14, 44, 2 }, { 31, 22, 2, 14, 44, 2 }, { 32, 23, 2, 14, 44, 2 }, { 33, 23, 2, 14, 44, 2 }, { 34, 24, 2, 14, 44, 2 }, + { 35, 24, 2, 14, 44, 2 }, { 36, 25, 2, 14, 44, 2 }, { 37, 25, 2, 13, 44, 2 }, { 38, 26, 2, 13, 44, 2 }, { 39, 26, 2, 13, 44, 2 }, + { 40, 27, 2, 13, 44, 2 }, { 41, 28, 2, 13, 44, 2 }, { 42, 28, 2, 13, 44, 2 }, { 43, 29, 3, 13, 44, 2 }, { 44, 30, 3, 13, 44, 2 }, + { 45, 30, 3, 13, 44, 2 }, { 46, 31, 3, 13, 44, 2 }, { 47, 32, 3, 13, 44, 2 }, { 48, 32, 3, 13, 44, 2 }, { 49, 33, 3, 13, 44, 2 }, + { 50, 34, 3, 12, 44, 2 }, { 51, 35, 3, 12, 44, 2 }, { 52, 35, 3, 12, 44, 2 }, { 53, 36, 3, 12, 44, 2 }, { 54, 37, 3, 12, 44, 2 }, + { 55, 38, 3, 12, 44, 2 }, { 56, 39, 3, 12, 44, 2 }, { 57, 39, 4, 12, 44, 2 }, { 58, 40, 4, 12, 44, 2 }, { 59, 41, 4, 12, 44, 2 }, + { 60, 42, 4, 12, 44, 2 }, { 61, 43, 4, 12, 44, 2 }, { 61, 44, 4, 12, 44, 2 }, { 62, 45, 4, 11, 44, 2 }, { 63, 46, 4, 11, 44, 2 }, + { 64, 47, 4, 11, 44, 2 }, { 64, 48, 4, 11, 44, 2 }, { 65, 49, 4, 11, 44, 2 }, { 66, 50, 4, 11, 44, 2 }, { 66, 51, 4, 11, 44, 2 }, + { 67, 52, 4, 11, 44, 2 }, { 68, 53, 4, 11, 44, 2 }, { 68, 54, 5, 11, 44, 2 }, { 69, 55, 5, 11, 44, 2 }, { 70, 56, 5, 11, 44, 2 }, + { 70, 57, 5, 11, 44, 2 }, { 71, 58, 5, 10, 44, 2 }, { 71, 59, 5, 10, 44, 2 }, { 72, 60, 5, 10, 44, 2 }, { 72, 61, 5, 10, 44, 2 }, + { 73, 62, 5, 10, 44, 2 }, { 73, 63, 5, 10, 44, 2 }, { 74, 64, 5, 10, 44, 2 }, { 74, 65, 5, 10, 44, 2 }, { 75, 66, 5, 10, 44, 2 }, + { 75, 67, 5, 10, 44, 2 }, { 75, 68, 6, 10, 44, 2 }, { 76, 69, 6, 10, 44, 2 }, { 76, 70, 6, 10, 44, 2 }, { 76, 71, 6, 10, 44, 2 }, + { 77, 72, 6, 9, 44, 2 }, { 77, 73, 6, 9, 44, 2 }, { 77, 74, 6, 9, 44, 2 }, { 77, 75, 6, 9, 44, 2 }, { 78, 76, 6, 9, 44, 2 }, + { 78, 77, 6, 9, 44, 2 }, { 78, 78, 6, 9, 44, 2 }, { 78, 79, 6, 9, 44, 2 }, { 78, 80, 6, 9, 44, 2 }, { 79, 81, 6, 9, 44, 2 }, + { 79, 82, 7, 9, 44, 2 }, { 79, 83, 7, 9, 44, 2 }, { 79, 84, 7, 9, 44, 2 }, { 79, 85, 7, 9, 44, 2 }, { 79, 86, 7, 9, 44, 2 }, + { 80, 87, 7, 9, 44, 2 }, { 80, 88, 7, 8, 44, 2 }, { 80, 89, 7, 8, 44, 2 }, { 80, 90, 7, 8, 44, 2 }, { 80, 91, 7, 8, 44, 2 }, + { 80, 92, 7, 8, 44, 2 }, { 80, 93, 7, 8, 44, 2 }, { 80, 94, 7, 8, 44, 2 }, { 80, 95, 7, 8, 44, 2 }, { 80, 96, 8, 8, 44, 2 }, + { 80, 97, 8, 8, 44, 2 }, { 80, 98, 8, 8, 44, 2 }, { 80, 99, 8, 8, 44, 2 }, { 80, 100, 8, 8, 44, 2 }, { 80, 101, 8, 8, 44, 2 }, + { 80, 102, 8, 8, 44, 2 }, { 80, 103, 8, 8, 44, 2 }, { 80, 104, 8, 7, 44, 2 }, { 79, 105, 8, 7, 44, 2 }, { 79, 106, 8, 7, 44, 2 }, + { 79, 107, 8, 7, 44, 2 }, { 79, 108, 8, 7, 44, 2 }, { 79, 109, 8, 7, 44, 2 }, { 79, 110, 8, 7, 44, 2 }, { 78, 111, 9, 7, 44, 2 }, + { 78, 112, 9, 7, 44, 2 }, { 78, 113, 9, 7, 44, 2 }, { 78, 114, 9, 7, 44, 2 }, { 78, 115, 9, 7, 44, 2 }, { 77, 116, 9, 7, 44, 2 }, + { 77, 117, 9, 7, 44, 2 }, { 77, 118, 9, 6, 44, 2 }, { 77, 119, 9, 6, 44, 2 }, { 76, 120, 9, 6, 44, 2 }, { 76, 121, 9, 6, 44, 2 }, + { 76, 122, 9, 6, 44, 2 }, { 75, 123, 9, 6, 44, 2 }, { 75, 124, 9, 6, 44, 2 }, { 75, 125, 10, 6, 44, 2 }, { 74, 126, 10, 6, 44, 2 }, + { 74, 127, 10, 6, 44, 2 }, { 73, 128, 10, 6, 44, 2 }, { 73, 129, 10, 6, 44, 2 }, { 72, 130, 10, 6, 44, 2 }, { 72, 131, 10, 6, 44, 2 }, + { 71, 132, 10, 6, 44, 2 }, { 71, 133, 10, 5, 44, 2 }, { 70, 134, 10, 5, 44, 2 }, { 70, 135, 10, 5, 44, 2 }, { 69, 136, 10, 5, 44, 2 }, + { 68, 137, 10, 5, 44, 2 }, { 68, 138, 10, 5, 44, 2 }, { 67, 139, 10, 5, 44, 2 }, { 66, 140, 11, 5, 44, 2 }, { 66, 141, 11, 5, 44, 2 }, + { 65, 142, 11, 5, 44, 2 }, { 64, 143, 11, 5, 44, 2 }, { 64, 144, 11, 5, 44, 2 }, { 63, 145, 11, 5, 44, 2 }, { 62, 146, 11, 4, 44, 2 }, + { 61, 147, 11, 4, 44, 2 }, { 61, 148, 11, 4, 44, 2 }, { 60, 149, 11, 4, 44, 2 }, { 59, 150, 11, 4, 44, 2 }, { 58, 151, 11, 4, 44, 2 }, + { 57, 152, 11, 4, 44, 2 }, { 57, 153, 11, 4, 44, 2 }, { 56, 154, 12, 4, 44, 2 }, { 55, 155, 12, 4, 44, 2 }, { 54, 156, 12, 4, 44, 2 }, + { 53, 157, 12, 4, 44, 2 }, { 52, 157, 12, 4, 44, 2 }, { 51, 158, 12, 3, 44, 2 }, { 50, 159, 12, 3, 44, 2 }, { 49, 160, 12, 3, 44, 2 }, + { 48, 160, 12, 3, 44, 2 }, { 47, 161, 12, 3, 44, 2 }, { 46, 162, 12, 3, 44, 2 }, { 45, 162, 12, 3, 44, 2 }, { 44, 163, 12, 3, 44, 2 }, + { 43, 164, 12, 3, 44, 2 }, { 42, 164, 13, 3, 44, 2 }, { 41, 165, 13, 3, 44, 2 }, { 40, 166, 13, 3, 44, 2 }, { 39, 166, 13, 3, 44, 2 }, + { 38, 167, 13, 2, 44, 2 }, { 37, 167, 13, 2, 44, 2 }, { 36, 168, 13, 2, 44, 2 }, { 35, 168, 13, 2, 44, 2 }, { 34, 169, 13, 2, 44, 2 }, + { 33, 169, 13, 2, 44, 2 }, { 32, 170, 13, 2, 44, 2 }, { 31, 170, 13, 2, 44, 2 }, { 30, 171, 13, 2, 44, 2 }, { 29, 171, 13, 2, 44, 2 }, + { 28, 171, 13, 2, 44, 2 }, { 27, 172, 14, 2, 44, 2 }, { 26, 172, 14, 2, 44, 2 }, { 25, 172, 14, 2, 44, 2 }, { 24, 173, 14, 1, 44, 2 }, + { 23, 173, 14, 1, 44, 2 }, { 22, 173, 14, 1, 44, 2 }, { 21, 173, 14, 1, 44, 2 }, { 20, 174, 14, 1, 44, 2 }, { 19, 174, 14, 1, 44, 2 }, + { 18, 174, 14, 1, 44, 2 }, { 17, 174, 14, 1, 44, 2 }, { 16, 174, 14, 1, 44, 2 }, { 15, 175, 14, 1, 44, 2 }, { 14, 175, 14, 1, 44, 2 }, + { 13, 175, 15, 1, 44, 2 }, { 12, 175, 15, 1, 44, 2 }, { 11, 175, 15, 1, 44, 2 }, { 10, 175, 15, 1, 44, 2 }, { 9, 176, 15, 1, 44, 2 }, + { 8, 176, 15, 0, 44, 2 }, { 7, 176, 15, 0, 44, 2 }, { 6, 176, 15, 0, 44, 2 }, { 5, 176, 15, 0, 44, 2 }, { 4, 176, 15, 0, 44, 2 }, + { 3, 176, 15, 0, 44, 2 }, { 2, 176, 15, 0, 44, 2 }, { 1, 176, 15, 0, 44, 2 }, { 0, 176, 15, 0, 44, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F243D = { - 227, { - { 16, 31, 0, 24, 44, 2 }, { 16, 30, 0, 24, 44, 2 }, { 16, 29, 0, 24, 44, 2 }, { 16, 28, 0, 24, 44, 2 }, { 16, 27, 0, 24, 44, 2 }, - { 16, 26, 0, 24, 44, 2 }, { 16, 25, 0, 24, 44, 2 }, { 16, 24, 0, 23, 44, 2 }, { 17, 23, 0, 23, 44, 2 }, { 17, 22, 0, 23, 44, 2 }, - { 17, 21, 0, 23, 44, 2 }, { 17, 20, 0, 23, 44, 2 }, { 17, 19, 0, 23, 44, 2 }, { 17, 18, 0, 23, 44, 2 }, { 18, 17, 1, 23, 44, 2 }, - { 18, 16, 1, 23, 44, 2 }, { 18, 15, 1, 23, 44, 2 }, { 18, 14, 1, 23, 44, 2 }, { 18, 13, 1, 23, 44, 2 }, { 19, 12, 1, 23, 44, 2 }, - { 19, 11, 1, 23, 44, 2 }, { 19, 10, 1, 22, 44, 2 }, { 19, 9, 1, 22, 44, 2 }, { 20, 8, 1, 22, 44, 2 }, { 20, 7, 1, 22, 44, 2 }, - { 20, 6, 1, 22, 44, 2 }, { 21, 5, 1, 22, 44, 2 }, { 21, 4, 1, 22, 44, 2 }, { 21, 3, 2, 22, 44, 2 }, { 22, 2, 2, 22, 44, 2 }, - { 22, 1, 2, 22, 44, 2 }, { 23, 0, 2, 22, 44, 2 }, { 23, -1, 2, 22, 44, 2 }, { 24, -2, 2, 22, 44, 2 }, { 24, -3, 2, 22, 44, 2 }, - { 25, -4, 2, 22, 44, 2 }, { 25, -5, 2, 21, 44, 2 }, { 26, -6, 2, 21, 44, 2 }, { 26, -7, 2, 21, 44, 2 }, { 27, -8, 2, 21, 44, 2 }, - { 28, -9, 2, 21, 44, 2 }, { 28, -10, 2, 21, 44, 2 }, { 29, -11, 3, 21, 44, 2 }, { 30, -12, 3, 21, 44, 2 }, { 30, -13, 3, 21, 44, 2 }, - { 31, -14, 3, 21, 44, 2 }, { 32, -15, 3, 21, 44, 2 }, { 32, -16, 3, 21, 44, 2 }, { 33, -17, 3, 21, 44, 2 }, { 34, -18, 3, 20, 44, 2 }, - { 35, -19, 3, 20, 44, 2 }, { 35, -20, 3, 20, 44, 2 }, { 36, -21, 3, 20, 44, 2 }, { 37, -22, 3, 20, 44, 2 }, { 38, -23, 3, 20, 44, 2 }, - { 39, -24, 3, 20, 44, 2 }, { 39, -25, 4, 20, 44, 2 }, { 40, -26, 4, 20, 44, 2 }, { 41, -27, 4, 20, 44, 2 }, { 42, -28, 4, 20, 44, 2 }, - { 43, -29, 4, 20, 44, 2 }, { 44, -29, 4, 20, 44, 2 }, { 45, -30, 4, 19, 44, 2 }, { 46, -31, 4, 19, 44, 2 }, { 47, -32, 4, 19, 44, 2 }, - { 48, -32, 4, 19, 44, 2 }, { 49, -33, 4, 19, 44, 2 }, { 50, -34, 4, 19, 44, 2 }, { 51, -34, 4, 19, 44, 2 }, { 52, -35, 4, 19, 44, 2 }, - { 53, -36, 5, 19, 44, 2 }, { 54, -36, 5, 19, 44, 2 }, { 55, -37, 5, 19, 44, 2 }, { 56, -38, 5, 19, 44, 2 }, { 57, -38, 5, 19, 44, 2 }, - { 58, -39, 5, 18, 44, 2 }, { 59, -39, 5, 18, 44, 2 }, { 60, -40, 5, 18, 44, 2 }, { 61, -40, 5, 18, 44, 2 }, { 62, -41, 5, 18, 44, 2 }, - { 63, -41, 5, 18, 44, 2 }, { 64, -42, 5, 18, 44, 2 }, { 65, -42, 5, 18, 44, 2 }, { 66, -43, 5, 18, 44, 2 }, { 67, -43, 6, 18, 44, 2 }, - { 68, -43, 6, 18, 44, 2 }, { 69, -44, 6, 18, 44, 2 }, { 70, -44, 6, 18, 44, 2 }, { 71, -44, 6, 18, 44, 2 }, { 72, -45, 6, 17, 44, 2 }, - { 73, -45, 6, 17, 44, 2 }, { 74, -45, 6, 17, 44, 2 }, { 75, -45, 6, 17, 44, 2 }, { 76, -46, 6, 17, 44, 2 }, { 77, -46, 6, 17, 44, 2 }, - { 78, -46, 6, 17, 44, 2 }, { 79, -46, 6, 17, 44, 2 }, { 80, -46, 6, 17, 44, 2 }, { 81, -47, 7, 17, 44, 2 }, { 82, -47, 7, 17, 44, 2 }, - { 83, -47, 7, 17, 44, 2 }, { 84, -47, 7, 17, 44, 2 }, { 85, -47, 7, 17, 44, 2 }, { 86, -47, 7, 17, 44, 2 }, { 87, -48, 7, 17, 44, 2 }, - { 88, -48, 7, 16, 44, 2 }, { 89, -48, 7, 16, 44, 2 }, { 90, -48, 7, 16, 44, 2 }, { 91, -48, 7, 16, 44, 2 }, { 92, -48, 7, 16, 44, 2 }, - { 93, -48, 7, 16, 44, 2 }, { 94, -48, 7, 16, 44, 2 }, { 95, -48, 8, 16, 44, 2 }, { 96, -48, 8, 16, 44, 2 }, { 97, -48, 8, 16, 44, 2 }, - { 98, -48, 8, 16, 44, 2 }, { 99, -48, 8, 16, 44, 2 }, { 100, -48, 8, 16, 44, 2 }, { 101, -48, 8, 16, 44, 2 }, { 102, -48, 8, 16, 44, 2 }, - { 103, -48, 8, 16, 44, 2 }, { 104, -48, 8, 15, 44, 2 }, { 105, -47, 8, 15, 44, 2 }, { 106, -47, 8, 15, 44, 2 }, { 107, -47, 8, 15, 44, 2 }, - { 108, -47, 8, 15, 44, 2 }, { 109, -47, 8, 15, 44, 2 }, { 110, -47, 8, 15, 44, 2 }, { 111, -46, 9, 15, 44, 2 }, { 112, -46, 9, 15, 44, 2 }, - { 113, -46, 9, 15, 44, 2 }, { 114, -46, 9, 15, 44, 2 }, { 115, -46, 9, 15, 44, 2 }, { 116, -45, 9, 15, 44, 2 }, { 117, -45, 9, 15, 44, 2 }, - { 118, -45, 9, 14, 44, 2 }, { 119, -45, 9, 14, 44, 2 }, { 120, -44, 9, 14, 44, 2 }, { 121, -44, 9, 14, 44, 2 }, { 122, -44, 9, 14, 44, 2 }, - { 123, -43, 9, 14, 44, 2 }, { 124, -43, 9, 14, 44, 2 }, { 125, -43, 10, 14, 44, 2 }, { 126, -42, 10, 14, 44, 2 }, { 127, -42, 10, 14, 44, 2 }, - { 128, -41, 10, 14, 44, 2 }, { 129, -41, 10, 14, 44, 2 }, { 130, -40, 10, 14, 44, 2 }, { 131, -40, 10, 14, 44, 2 }, { 132, -39, 10, 14, 44, 2 }, - { 133, -39, 10, 13, 44, 2 }, { 134, -38, 10, 13, 44, 2 }, { 135, -38, 10, 13, 44, 2 }, { 136, -37, 10, 13, 44, 2 }, { 137, -36, 10, 13, 44, 2 }, - { 138, -36, 10, 13, 44, 2 }, { 139, -35, 11, 13, 44, 2 }, { 140, -34, 11, 13, 44, 2 }, { 141, -34, 11, 13, 44, 2 }, { 142, -33, 11, 13, 44, 2 }, - { 143, -32, 11, 13, 44, 2 }, { 144, -32, 11, 13, 44, 2 }, { 145, -31, 11, 13, 44, 2 }, { 146, -30, 11, 12, 44, 2 }, { 147, -29, 11, 12, 44, 2 }, - { 148, -29, 11, 12, 44, 2 }, { 149, -28, 11, 12, 44, 2 }, { 150, -27, 11, 12, 44, 2 }, { 151, -26, 11, 12, 44, 2 }, { 152, -25, 11, 12, 44, 2 }, - { 153, -25, 12, 12, 44, 2 }, { 154, -24, 12, 12, 44, 2 }, { 155, -23, 12, 12, 44, 2 }, { 156, -22, 12, 12, 44, 2 }, { 157, -21, 12, 12, 44, 2 }, - { 157, -20, 12, 12, 44, 2 }, { 158, -19, 12, 11, 44, 2 }, { 159, -18, 12, 11, 44, 2 }, { 160, -17, 12, 11, 44, 2 }, { 160, -16, 12, 11, 44, 2 }, - { 161, -15, 12, 11, 44, 2 }, { 162, -14, 12, 11, 44, 2 }, { 162, -13, 12, 11, 44, 2 }, { 163, -12, 12, 11, 44, 2 }, { 164, -11, 12, 11, 44, 2 }, - { 164, -10, 13, 11, 44, 2 }, { 165, -9, 13, 11, 44, 2 }, { 166, -8, 13, 11, 44, 2 }, { 166, -7, 13, 11, 44, 2 }, { 167, -6, 13, 10, 44, 2 }, - { 167, -5, 13, 10, 44, 2 }, { 168, -4, 13, 10, 44, 2 }, { 168, -3, 13, 10, 44, 2 }, { 169, -2, 13, 10, 44, 2 }, { 169, -1, 13, 10, 44, 2 }, - { 170, 0, 13, 10, 44, 2 }, { 170, 1, 13, 10, 44, 2 }, { 171, 2, 13, 10, 44, 2 }, { 171, 3, 13, 10, 44, 2 }, { 171, 4, 14, 10, 44, 2 }, - { 172, 5, 14, 10, 44, 2 }, { 172, 6, 14, 10, 44, 2 }, { 172, 7, 14, 10, 44, 2 }, { 173, 8, 14, 9, 44, 2 }, { 173, 9, 14, 9, 44, 2 }, - { 173, 10, 14, 9, 44, 2 }, { 173, 11, 14, 9, 44, 2 }, { 174, 12, 14, 9, 44, 2 }, { 174, 13, 14, 9, 44, 2 }, { 174, 14, 14, 9, 44, 2 }, - { 174, 15, 14, 9, 44, 2 }, { 174, 16, 14, 9, 44, 2 }, { 175, 17, 14, 9, 44, 2 }, { 175, 18, 15, 9, 44, 2 }, { 175, 19, 15, 9, 44, 2 }, - { 175, 20, 15, 9, 44, 2 }, { 175, 21, 15, 9, 44, 2 }, { 175, 22, 15, 9, 44, 2 }, { 176, 23, 15, 9, 44, 2 }, { 176, 24, 15, 8, 44, 2 }, - { 176, 25, 15, 8, 44, 2 }, { 176, 26, 15, 8, 44, 2 }, { 176, 27, 15, 8, 44, 2 }, { 176, 28, 15, 8, 44, 2 }, { 176, 29, 15, 8, 44, 2 }, - { 176, 30, 15, 8, 44, 2 }, { 176, 31, 15, 8, 44, 2 }, + 227, { + { 16, 31, 0, 24, 44, 2 }, { 16, 30, 0, 24, 44, 2 }, { 16, 29, 0, 24, 44, 2 }, { 16, 28, 0, 24, 44, 2 }, { 16, 27, 0, 24, 44, 2 }, + { 16, 26, 0, 24, 44, 2 }, { 16, 25, 0, 24, 44, 2 }, { 16, 24, 0, 23, 44, 2 }, { 17, 23, 0, 23, 44, 2 }, { 17, 22, 0, 23, 44, 2 }, + { 17, 21, 0, 23, 44, 2 }, { 17, 20, 0, 23, 44, 2 }, { 17, 19, 0, 23, 44, 2 }, { 17, 18, 0, 23, 44, 2 }, { 18, 17, 1, 23, 44, 2 }, + { 18, 16, 1, 23, 44, 2 }, { 18, 15, 1, 23, 44, 2 }, { 18, 14, 1, 23, 44, 2 }, { 18, 13, 1, 23, 44, 2 }, { 19, 12, 1, 23, 44, 2 }, + { 19, 11, 1, 23, 44, 2 }, { 19, 10, 1, 22, 44, 2 }, { 19, 9, 1, 22, 44, 2 }, { 20, 8, 1, 22, 44, 2 }, { 20, 7, 1, 22, 44, 2 }, + { 20, 6, 1, 22, 44, 2 }, { 21, 5, 1, 22, 44, 2 }, { 21, 4, 1, 22, 44, 2 }, { 21, 3, 2, 22, 44, 2 }, { 22, 2, 2, 22, 44, 2 }, + { 22, 1, 2, 22, 44, 2 }, { 23, 0, 2, 22, 44, 2 }, { 23, -1, 2, 22, 44, 2 }, { 24, -2, 2, 22, 44, 2 }, { 24, -3, 2, 22, 44, 2 }, + { 25, -4, 2, 22, 44, 2 }, { 25, -5, 2, 21, 44, 2 }, { 26, -6, 2, 21, 44, 2 }, { 26, -7, 2, 21, 44, 2 }, { 27, -8, 2, 21, 44, 2 }, + { 28, -9, 2, 21, 44, 2 }, { 28, -10, 2, 21, 44, 2 }, { 29, -11, 3, 21, 44, 2 }, { 30, -12, 3, 21, 44, 2 }, { 30, -13, 3, 21, 44, 2 }, + { 31, -14, 3, 21, 44, 2 }, { 32, -15, 3, 21, 44, 2 }, { 32, -16, 3, 21, 44, 2 }, { 33, -17, 3, 21, 44, 2 }, { 34, -18, 3, 20, 44, 2 }, + { 35, -19, 3, 20, 44, 2 }, { 35, -20, 3, 20, 44, 2 }, { 36, -21, 3, 20, 44, 2 }, { 37, -22, 3, 20, 44, 2 }, { 38, -23, 3, 20, 44, 2 }, + { 39, -24, 3, 20, 44, 2 }, { 39, -25, 4, 20, 44, 2 }, { 40, -26, 4, 20, 44, 2 }, { 41, -27, 4, 20, 44, 2 }, { 42, -28, 4, 20, 44, 2 }, + { 43, -29, 4, 20, 44, 2 }, { 44, -29, 4, 20, 44, 2 }, { 45, -30, 4, 19, 44, 2 }, { 46, -31, 4, 19, 44, 2 }, { 47, -32, 4, 19, 44, 2 }, + { 48, -32, 4, 19, 44, 2 }, { 49, -33, 4, 19, 44, 2 }, { 50, -34, 4, 19, 44, 2 }, { 51, -34, 4, 19, 44, 2 }, { 52, -35, 4, 19, 44, 2 }, + { 53, -36, 5, 19, 44, 2 }, { 54, -36, 5, 19, 44, 2 }, { 55, -37, 5, 19, 44, 2 }, { 56, -38, 5, 19, 44, 2 }, { 57, -38, 5, 19, 44, 2 }, + { 58, -39, 5, 18, 44, 2 }, { 59, -39, 5, 18, 44, 2 }, { 60, -40, 5, 18, 44, 2 }, { 61, -40, 5, 18, 44, 2 }, { 62, -41, 5, 18, 44, 2 }, + { 63, -41, 5, 18, 44, 2 }, { 64, -42, 5, 18, 44, 2 }, { 65, -42, 5, 18, 44, 2 }, { 66, -43, 5, 18, 44, 2 }, { 67, -43, 6, 18, 44, 2 }, + { 68, -43, 6, 18, 44, 2 }, { 69, -44, 6, 18, 44, 2 }, { 70, -44, 6, 18, 44, 2 }, { 71, -44, 6, 18, 44, 2 }, { 72, -45, 6, 17, 44, 2 }, + { 73, -45, 6, 17, 44, 2 }, { 74, -45, 6, 17, 44, 2 }, { 75, -45, 6, 17, 44, 2 }, { 76, -46, 6, 17, 44, 2 }, { 77, -46, 6, 17, 44, 2 }, + { 78, -46, 6, 17, 44, 2 }, { 79, -46, 6, 17, 44, 2 }, { 80, -46, 6, 17, 44, 2 }, { 81, -47, 7, 17, 44, 2 }, { 82, -47, 7, 17, 44, 2 }, + { 83, -47, 7, 17, 44, 2 }, { 84, -47, 7, 17, 44, 2 }, { 85, -47, 7, 17, 44, 2 }, { 86, -47, 7, 17, 44, 2 }, { 87, -48, 7, 17, 44, 2 }, + { 88, -48, 7, 16, 44, 2 }, { 89, -48, 7, 16, 44, 2 }, { 90, -48, 7, 16, 44, 2 }, { 91, -48, 7, 16, 44, 2 }, { 92, -48, 7, 16, 44, 2 }, + { 93, -48, 7, 16, 44, 2 }, { 94, -48, 7, 16, 44, 2 }, { 95, -48, 8, 16, 44, 2 }, { 96, -48, 8, 16, 44, 2 }, { 97, -48, 8, 16, 44, 2 }, + { 98, -48, 8, 16, 44, 2 }, { 99, -48, 8, 16, 44, 2 }, { 100, -48, 8, 16, 44, 2 }, { 101, -48, 8, 16, 44, 2 }, { 102, -48, 8, 16, 44, 2 }, + { 103, -48, 8, 16, 44, 2 }, { 104, -48, 8, 15, 44, 2 }, { 105, -47, 8, 15, 44, 2 }, { 106, -47, 8, 15, 44, 2 }, { 107, -47, 8, 15, 44, 2 }, + { 108, -47, 8, 15, 44, 2 }, { 109, -47, 8, 15, 44, 2 }, { 110, -47, 8, 15, 44, 2 }, { 111, -46, 9, 15, 44, 2 }, { 112, -46, 9, 15, 44, 2 }, + { 113, -46, 9, 15, 44, 2 }, { 114, -46, 9, 15, 44, 2 }, { 115, -46, 9, 15, 44, 2 }, { 116, -45, 9, 15, 44, 2 }, { 117, -45, 9, 15, 44, 2 }, + { 118, -45, 9, 14, 44, 2 }, { 119, -45, 9, 14, 44, 2 }, { 120, -44, 9, 14, 44, 2 }, { 121, -44, 9, 14, 44, 2 }, { 122, -44, 9, 14, 44, 2 }, + { 123, -43, 9, 14, 44, 2 }, { 124, -43, 9, 14, 44, 2 }, { 125, -43, 10, 14, 44, 2 }, { 126, -42, 10, 14, 44, 2 }, { 127, -42, 10, 14, 44, 2 }, + { 128, -41, 10, 14, 44, 2 }, { 129, -41, 10, 14, 44, 2 }, { 130, -40, 10, 14, 44, 2 }, { 131, -40, 10, 14, 44, 2 }, { 132, -39, 10, 14, 44, 2 }, + { 133, -39, 10, 13, 44, 2 }, { 134, -38, 10, 13, 44, 2 }, { 135, -38, 10, 13, 44, 2 }, { 136, -37, 10, 13, 44, 2 }, { 137, -36, 10, 13, 44, 2 }, + { 138, -36, 10, 13, 44, 2 }, { 139, -35, 11, 13, 44, 2 }, { 140, -34, 11, 13, 44, 2 }, { 141, -34, 11, 13, 44, 2 }, { 142, -33, 11, 13, 44, 2 }, + { 143, -32, 11, 13, 44, 2 }, { 144, -32, 11, 13, 44, 2 }, { 145, -31, 11, 13, 44, 2 }, { 146, -30, 11, 12, 44, 2 }, { 147, -29, 11, 12, 44, 2 }, + { 148, -29, 11, 12, 44, 2 }, { 149, -28, 11, 12, 44, 2 }, { 150, -27, 11, 12, 44, 2 }, { 151, -26, 11, 12, 44, 2 }, { 152, -25, 11, 12, 44, 2 }, + { 153, -25, 12, 12, 44, 2 }, { 154, -24, 12, 12, 44, 2 }, { 155, -23, 12, 12, 44, 2 }, { 156, -22, 12, 12, 44, 2 }, { 157, -21, 12, 12, 44, 2 }, + { 157, -20, 12, 12, 44, 2 }, { 158, -19, 12, 11, 44, 2 }, { 159, -18, 12, 11, 44, 2 }, { 160, -17, 12, 11, 44, 2 }, { 160, -16, 12, 11, 44, 2 }, + { 161, -15, 12, 11, 44, 2 }, { 162, -14, 12, 11, 44, 2 }, { 162, -13, 12, 11, 44, 2 }, { 163, -12, 12, 11, 44, 2 }, { 164, -11, 12, 11, 44, 2 }, + { 164, -10, 13, 11, 44, 2 }, { 165, -9, 13, 11, 44, 2 }, { 166, -8, 13, 11, 44, 2 }, { 166, -7, 13, 11, 44, 2 }, { 167, -6, 13, 10, 44, 2 }, + { 167, -5, 13, 10, 44, 2 }, { 168, -4, 13, 10, 44, 2 }, { 168, -3, 13, 10, 44, 2 }, { 169, -2, 13, 10, 44, 2 }, { 169, -1, 13, 10, 44, 2 }, + { 170, 0, 13, 10, 44, 2 }, { 170, 1, 13, 10, 44, 2 }, { 171, 2, 13, 10, 44, 2 }, { 171, 3, 13, 10, 44, 2 }, { 171, 4, 14, 10, 44, 2 }, + { 172, 5, 14, 10, 44, 2 }, { 172, 6, 14, 10, 44, 2 }, { 172, 7, 14, 10, 44, 2 }, { 173, 8, 14, 9, 44, 2 }, { 173, 9, 14, 9, 44, 2 }, + { 173, 10, 14, 9, 44, 2 }, { 173, 11, 14, 9, 44, 2 }, { 174, 12, 14, 9, 44, 2 }, { 174, 13, 14, 9, 44, 2 }, { 174, 14, 14, 9, 44, 2 }, + { 174, 15, 14, 9, 44, 2 }, { 174, 16, 14, 9, 44, 2 }, { 175, 17, 14, 9, 44, 2 }, { 175, 18, 15, 9, 44, 2 }, { 175, 19, 15, 9, 44, 2 }, + { 175, 20, 15, 9, 44, 2 }, { 175, 21, 15, 9, 44, 2 }, { 175, 22, 15, 9, 44, 2 }, { 176, 23, 15, 9, 44, 2 }, { 176, 24, 15, 8, 44, 2 }, + { 176, 25, 15, 8, 44, 2 }, { 176, 26, 15, 8, 44, 2 }, { 176, 27, 15, 8, 44, 2 }, { 176, 28, 15, 8, 44, 2 }, { 176, 29, 15, 8, 44, 2 }, + { 176, 30, 15, 8, 44, 2 }, { 176, 31, 15, 8, 44, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F2C3A = { - 227, { - { 31, 16, 0, 0, 44, 4 }, { 30, 16, 0, 0, 44, 4 }, { 29, 16, 0, 0, 44, 4 }, { 28, 16, 0, 0, 44, 4 }, { 27, 16, 0, 0, 44, 4 }, - { 26, 16, 0, 0, 44, 4 }, { 25, 16, 0, 0, 44, 4 }, { 24, 16, 0, 1, 44, 4 }, { 23, 17, 0, 1, 44, 4 }, { 22, 17, 0, 1, 44, 4 }, - { 21, 17, 0, 1, 44, 4 }, { 20, 17, 0, 1, 44, 4 }, { 19, 17, 0, 1, 44, 4 }, { 18, 17, 0, 1, 44, 4 }, { 17, 18, 1, 1, 44, 4 }, - { 16, 18, 1, 1, 44, 4 }, { 15, 18, 1, 1, 44, 4 }, { 14, 18, 1, 1, 44, 4 }, { 13, 18, 1, 1, 44, 4 }, { 12, 19, 1, 1, 44, 4 }, - { 11, 19, 1, 1, 44, 4 }, { 10, 19, 1, 2, 44, 4 }, { 9, 19, 1, 2, 44, 4 }, { 8, 20, 1, 2, 44, 4 }, { 7, 20, 1, 2, 44, 4 }, - { 6, 20, 1, 2, 44, 4 }, { 5, 21, 1, 2, 44, 4 }, { 4, 21, 1, 2, 44, 4 }, { 3, 21, 2, 2, 44, 4 }, { 2, 22, 2, 2, 44, 4 }, - { 1, 22, 2, 2, 44, 4 }, { 0, 23, 2, 2, 44, 4 }, { -1, 23, 2, 2, 44, 4 }, { -2, 24, 2, 2, 44, 4 }, { -3, 24, 2, 2, 44, 4 }, - { -4, 25, 2, 2, 44, 4 }, { -5, 25, 2, 3, 44, 4 }, { -6, 26, 2, 3, 44, 4 }, { -7, 26, 2, 3, 44, 4 }, { -8, 27, 2, 3, 44, 4 }, - { -9, 28, 2, 3, 44, 4 }, { -10, 28, 2, 3, 44, 4 }, { -11, 29, 3, 3, 44, 4 }, { -12, 30, 3, 3, 44, 4 }, { -13, 30, 3, 3, 44, 4 }, - { -14, 31, 3, 3, 44, 4 }, { -15, 32, 3, 3, 44, 4 }, { -16, 32, 3, 3, 44, 4 }, { -17, 33, 3, 3, 44, 4 }, { -18, 34, 3, 4, 44, 4 }, - { -19, 35, 3, 4, 44, 4 }, { -20, 35, 3, 4, 44, 4 }, { -21, 36, 3, 4, 44, 4 }, { -22, 37, 3, 4, 44, 4 }, { -23, 38, 3, 4, 44, 4 }, - { -24, 39, 3, 4, 44, 4 }, { -25, 39, 4, 4, 44, 4 }, { -26, 40, 4, 4, 44, 4 }, { -27, 41, 4, 4, 44, 4 }, { -28, 42, 4, 4, 44, 4 }, - { -29, 43, 4, 4, 44, 4 }, { -29, 44, 4, 4, 44, 4 }, { -30, 45, 4, 5, 44, 4 }, { -31, 46, 4, 5, 44, 4 }, { -32, 47, 4, 5, 44, 4 }, - { -32, 48, 4, 5, 44, 4 }, { -33, 49, 4, 5, 44, 4 }, { -34, 50, 4, 5, 44, 4 }, { -34, 51, 4, 5, 44, 4 }, { -35, 52, 4, 5, 44, 4 }, - { -36, 53, 5, 5, 44, 4 }, { -36, 54, 5, 5, 44, 4 }, { -37, 55, 5, 5, 44, 4 }, { -38, 56, 5, 5, 44, 4 }, { -38, 57, 5, 5, 44, 4 }, - { -39, 58, 5, 6, 44, 4 }, { -39, 59, 5, 6, 44, 4 }, { -40, 60, 5, 6, 44, 4 }, { -40, 61, 5, 6, 44, 4 }, { -41, 62, 5, 6, 44, 4 }, - { -41, 63, 5, 6, 44, 4 }, { -42, 64, 5, 6, 44, 4 }, { -42, 65, 5, 6, 44, 4 }, { -43, 66, 5, 6, 44, 4 }, { -43, 67, 6, 6, 44, 4 }, - { -43, 68, 6, 6, 44, 4 }, { -44, 69, 6, 6, 44, 4 }, { -44, 70, 6, 6, 44, 4 }, { -44, 71, 6, 6, 44, 4 }, { -45, 72, 6, 7, 44, 4 }, - { -45, 73, 6, 7, 44, 4 }, { -45, 74, 6, 7, 44, 4 }, { -45, 75, 6, 7, 44, 4 }, { -46, 76, 6, 7, 44, 4 }, { -46, 77, 6, 7, 44, 4 }, - { -46, 78, 6, 7, 44, 4 }, { -46, 79, 6, 7, 44, 4 }, { -46, 80, 6, 7, 44, 4 }, { -47, 81, 7, 7, 44, 4 }, { -47, 82, 7, 7, 44, 4 }, - { -47, 83, 7, 7, 44, 4 }, { -47, 84, 7, 7, 44, 4 }, { -47, 85, 7, 7, 44, 4 }, { -47, 86, 7, 7, 44, 4 }, { -48, 87, 7, 7, 44, 4 }, - { -48, 88, 7, 8, 44, 4 }, { -48, 89, 7, 8, 44, 4 }, { -48, 90, 7, 8, 44, 4 }, { -48, 91, 7, 8, 44, 4 }, { -48, 92, 7, 8, 44, 4 }, - { -48, 93, 7, 8, 44, 4 }, { -48, 94, 7, 8, 44, 4 }, { -48, 95, 8, 8, 44, 4 }, { -48, 96, 8, 8, 44, 4 }, { -48, 97, 8, 8, 44, 4 }, - { -48, 98, 8, 8, 44, 4 }, { -48, 99, 8, 8, 44, 4 }, { -48, 100, 8, 8, 44, 4 }, { -48, 101, 8, 8, 44, 4 }, { -48, 102, 8, 8, 44, 4 }, - { -48, 103, 8, 8, 44, 4 }, { -48, 104, 8, 9, 44, 4 }, { -47, 105, 8, 9, 44, 4 }, { -47, 106, 8, 9, 44, 4 }, { -47, 107, 8, 9, 44, 4 }, - { -47, 108, 8, 9, 44, 4 }, { -47, 109, 8, 9, 44, 4 }, { -47, 110, 8, 9, 44, 4 }, { -46, 111, 9, 9, 44, 4 }, { -46, 112, 9, 9, 44, 4 }, - { -46, 113, 9, 9, 44, 4 }, { -46, 114, 9, 9, 44, 4 }, { -46, 115, 9, 9, 44, 4 }, { -45, 116, 9, 9, 44, 4 }, { -45, 117, 9, 9, 44, 4 }, - { -45, 118, 9, 10, 44, 4 }, { -45, 119, 9, 10, 44, 4 }, { -44, 120, 9, 10, 44, 4 }, { -44, 121, 9, 10, 44, 4 }, { -44, 122, 9, 10, 44, 4 }, - { -43, 123, 9, 10, 44, 4 }, { -43, 124, 9, 10, 44, 4 }, { -43, 125, 10, 10, 44, 4 }, { -42, 126, 10, 10, 44, 4 }, { -42, 127, 10, 10, 44, 4 }, - { -41, 128, 10, 10, 44, 4 }, { -41, 129, 10, 10, 44, 4 }, { -40, 130, 10, 10, 44, 4 }, { -40, 131, 10, 10, 44, 4 }, { -39, 132, 10, 10, 44, 4 }, - { -39, 133, 10, 11, 44, 4 }, { -38, 134, 10, 11, 44, 4 }, { -38, 135, 10, 11, 44, 4 }, { -37, 136, 10, 11, 44, 4 }, { -36, 137, 10, 11, 44, 4 }, - { -36, 138, 10, 11, 44, 4 }, { -35, 139, 11, 11, 44, 4 }, { -34, 140, 11, 11, 44, 4 }, { -34, 141, 11, 11, 44, 4 }, { -33, 142, 11, 11, 44, 4 }, - { -32, 143, 11, 11, 44, 4 }, { -32, 144, 11, 11, 44, 4 }, { -31, 145, 11, 11, 44, 4 }, { -30, 146, 11, 12, 44, 4 }, { -29, 147, 11, 12, 44, 4 }, - { -29, 148, 11, 12, 44, 4 }, { -28, 149, 11, 12, 44, 4 }, { -27, 150, 11, 12, 44, 4 }, { -26, 151, 11, 12, 44, 4 }, { -25, 152, 11, 12, 44, 4 }, - { -25, 153, 12, 12, 44, 4 }, { -24, 154, 12, 12, 44, 4 }, { -23, 155, 12, 12, 44, 4 }, { -22, 156, 12, 12, 44, 4 }, { -21, 157, 12, 12, 44, 4 }, - { -20, 157, 12, 12, 44, 4 }, { -19, 158, 12, 13, 44, 4 }, { -18, 159, 12, 13, 44, 4 }, { -17, 160, 12, 13, 44, 4 }, { -16, 160, 12, 13, 44, 4 }, - { -15, 161, 12, 13, 44, 4 }, { -14, 162, 12, 13, 44, 4 }, { -13, 162, 12, 13, 44, 4 }, { -12, 163, 12, 13, 44, 4 }, { -11, 164, 12, 13, 44, 4 }, - { -10, 164, 13, 13, 44, 4 }, { -9, 165, 13, 13, 44, 4 }, { -8, 166, 13, 13, 44, 4 }, { -7, 166, 13, 13, 44, 4 }, { -6, 167, 13, 14, 44, 4 }, - { -5, 167, 13, 14, 44, 4 }, { -4, 168, 13, 14, 44, 4 }, { -3, 168, 13, 14, 44, 4 }, { -2, 169, 13, 14, 44, 4 }, { -1, 169, 13, 14, 44, 4 }, - { 0, 170, 13, 14, 44, 4 }, { 1, 170, 13, 14, 44, 4 }, { 2, 171, 13, 14, 44, 4 }, { 3, 171, 13, 14, 44, 4 }, { 4, 171, 14, 14, 44, 4 }, - { 5, 172, 14, 14, 44, 4 }, { 6, 172, 14, 14, 44, 4 }, { 7, 172, 14, 14, 44, 4 }, { 8, 173, 14, 15, 44, 4 }, { 9, 173, 14, 15, 44, 4 }, - { 10, 173, 14, 15, 44, 4 }, { 11, 173, 14, 15, 44, 4 }, { 12, 174, 14, 15, 44, 4 }, { 13, 174, 14, 15, 44, 4 }, { 14, 174, 14, 15, 44, 4 }, - { 15, 174, 14, 15, 44, 4 }, { 16, 174, 14, 15, 44, 4 }, { 17, 175, 14, 15, 44, 4 }, { 18, 175, 15, 15, 44, 4 }, { 19, 175, 15, 15, 44, 4 }, - { 20, 175, 15, 15, 44, 4 }, { 21, 175, 15, 15, 44, 4 }, { 22, 175, 15, 15, 44, 4 }, { 23, 176, 15, 15, 44, 4 }, { 24, 176, 15, 16, 44, 4 }, - { 25, 176, 15, 16, 44, 4 }, { 26, 176, 15, 16, 44, 4 }, { 27, 176, 15, 16, 44, 4 }, { 28, 176, 15, 16, 44, 4 }, { 29, 176, 15, 16, 44, 4 }, - { 30, 176, 15, 16, 44, 4 }, { 31, 176, 15, 16, 44, 4 }, + 227, { + { 31, 16, 0, 0, 44, 4 }, { 30, 16, 0, 0, 44, 4 }, { 29, 16, 0, 0, 44, 4 }, { 28, 16, 0, 0, 44, 4 }, { 27, 16, 0, 0, 44, 4 }, + { 26, 16, 0, 0, 44, 4 }, { 25, 16, 0, 0, 44, 4 }, { 24, 16, 0, 1, 44, 4 }, { 23, 17, 0, 1, 44, 4 }, { 22, 17, 0, 1, 44, 4 }, + { 21, 17, 0, 1, 44, 4 }, { 20, 17, 0, 1, 44, 4 }, { 19, 17, 0, 1, 44, 4 }, { 18, 17, 0, 1, 44, 4 }, { 17, 18, 1, 1, 44, 4 }, + { 16, 18, 1, 1, 44, 4 }, { 15, 18, 1, 1, 44, 4 }, { 14, 18, 1, 1, 44, 4 }, { 13, 18, 1, 1, 44, 4 }, { 12, 19, 1, 1, 44, 4 }, + { 11, 19, 1, 1, 44, 4 }, { 10, 19, 1, 2, 44, 4 }, { 9, 19, 1, 2, 44, 4 }, { 8, 20, 1, 2, 44, 4 }, { 7, 20, 1, 2, 44, 4 }, + { 6, 20, 1, 2, 44, 4 }, { 5, 21, 1, 2, 44, 4 }, { 4, 21, 1, 2, 44, 4 }, { 3, 21, 2, 2, 44, 4 }, { 2, 22, 2, 2, 44, 4 }, + { 1, 22, 2, 2, 44, 4 }, { 0, 23, 2, 2, 44, 4 }, { -1, 23, 2, 2, 44, 4 }, { -2, 24, 2, 2, 44, 4 }, { -3, 24, 2, 2, 44, 4 }, + { -4, 25, 2, 2, 44, 4 }, { -5, 25, 2, 3, 44, 4 }, { -6, 26, 2, 3, 44, 4 }, { -7, 26, 2, 3, 44, 4 }, { -8, 27, 2, 3, 44, 4 }, + { -9, 28, 2, 3, 44, 4 }, { -10, 28, 2, 3, 44, 4 }, { -11, 29, 3, 3, 44, 4 }, { -12, 30, 3, 3, 44, 4 }, { -13, 30, 3, 3, 44, 4 }, + { -14, 31, 3, 3, 44, 4 }, { -15, 32, 3, 3, 44, 4 }, { -16, 32, 3, 3, 44, 4 }, { -17, 33, 3, 3, 44, 4 }, { -18, 34, 3, 4, 44, 4 }, + { -19, 35, 3, 4, 44, 4 }, { -20, 35, 3, 4, 44, 4 }, { -21, 36, 3, 4, 44, 4 }, { -22, 37, 3, 4, 44, 4 }, { -23, 38, 3, 4, 44, 4 }, + { -24, 39, 3, 4, 44, 4 }, { -25, 39, 4, 4, 44, 4 }, { -26, 40, 4, 4, 44, 4 }, { -27, 41, 4, 4, 44, 4 }, { -28, 42, 4, 4, 44, 4 }, + { -29, 43, 4, 4, 44, 4 }, { -29, 44, 4, 4, 44, 4 }, { -30, 45, 4, 5, 44, 4 }, { -31, 46, 4, 5, 44, 4 }, { -32, 47, 4, 5, 44, 4 }, + { -32, 48, 4, 5, 44, 4 }, { -33, 49, 4, 5, 44, 4 }, { -34, 50, 4, 5, 44, 4 }, { -34, 51, 4, 5, 44, 4 }, { -35, 52, 4, 5, 44, 4 }, + { -36, 53, 5, 5, 44, 4 }, { -36, 54, 5, 5, 44, 4 }, { -37, 55, 5, 5, 44, 4 }, { -38, 56, 5, 5, 44, 4 }, { -38, 57, 5, 5, 44, 4 }, + { -39, 58, 5, 6, 44, 4 }, { -39, 59, 5, 6, 44, 4 }, { -40, 60, 5, 6, 44, 4 }, { -40, 61, 5, 6, 44, 4 }, { -41, 62, 5, 6, 44, 4 }, + { -41, 63, 5, 6, 44, 4 }, { -42, 64, 5, 6, 44, 4 }, { -42, 65, 5, 6, 44, 4 }, { -43, 66, 5, 6, 44, 4 }, { -43, 67, 6, 6, 44, 4 }, + { -43, 68, 6, 6, 44, 4 }, { -44, 69, 6, 6, 44, 4 }, { -44, 70, 6, 6, 44, 4 }, { -44, 71, 6, 6, 44, 4 }, { -45, 72, 6, 7, 44, 4 }, + { -45, 73, 6, 7, 44, 4 }, { -45, 74, 6, 7, 44, 4 }, { -45, 75, 6, 7, 44, 4 }, { -46, 76, 6, 7, 44, 4 }, { -46, 77, 6, 7, 44, 4 }, + { -46, 78, 6, 7, 44, 4 }, { -46, 79, 6, 7, 44, 4 }, { -46, 80, 6, 7, 44, 4 }, { -47, 81, 7, 7, 44, 4 }, { -47, 82, 7, 7, 44, 4 }, + { -47, 83, 7, 7, 44, 4 }, { -47, 84, 7, 7, 44, 4 }, { -47, 85, 7, 7, 44, 4 }, { -47, 86, 7, 7, 44, 4 }, { -48, 87, 7, 7, 44, 4 }, + { -48, 88, 7, 8, 44, 4 }, { -48, 89, 7, 8, 44, 4 }, { -48, 90, 7, 8, 44, 4 }, { -48, 91, 7, 8, 44, 4 }, { -48, 92, 7, 8, 44, 4 }, + { -48, 93, 7, 8, 44, 4 }, { -48, 94, 7, 8, 44, 4 }, { -48, 95, 8, 8, 44, 4 }, { -48, 96, 8, 8, 44, 4 }, { -48, 97, 8, 8, 44, 4 }, + { -48, 98, 8, 8, 44, 4 }, { -48, 99, 8, 8, 44, 4 }, { -48, 100, 8, 8, 44, 4 }, { -48, 101, 8, 8, 44, 4 }, { -48, 102, 8, 8, 44, 4 }, + { -48, 103, 8, 8, 44, 4 }, { -48, 104, 8, 9, 44, 4 }, { -47, 105, 8, 9, 44, 4 }, { -47, 106, 8, 9, 44, 4 }, { -47, 107, 8, 9, 44, 4 }, + { -47, 108, 8, 9, 44, 4 }, { -47, 109, 8, 9, 44, 4 }, { -47, 110, 8, 9, 44, 4 }, { -46, 111, 9, 9, 44, 4 }, { -46, 112, 9, 9, 44, 4 }, + { -46, 113, 9, 9, 44, 4 }, { -46, 114, 9, 9, 44, 4 }, { -46, 115, 9, 9, 44, 4 }, { -45, 116, 9, 9, 44, 4 }, { -45, 117, 9, 9, 44, 4 }, + { -45, 118, 9, 10, 44, 4 }, { -45, 119, 9, 10, 44, 4 }, { -44, 120, 9, 10, 44, 4 }, { -44, 121, 9, 10, 44, 4 }, { -44, 122, 9, 10, 44, 4 }, + { -43, 123, 9, 10, 44, 4 }, { -43, 124, 9, 10, 44, 4 }, { -43, 125, 10, 10, 44, 4 }, { -42, 126, 10, 10, 44, 4 }, { -42, 127, 10, 10, 44, 4 }, + { -41, 128, 10, 10, 44, 4 }, { -41, 129, 10, 10, 44, 4 }, { -40, 130, 10, 10, 44, 4 }, { -40, 131, 10, 10, 44, 4 }, { -39, 132, 10, 10, 44, 4 }, + { -39, 133, 10, 11, 44, 4 }, { -38, 134, 10, 11, 44, 4 }, { -38, 135, 10, 11, 44, 4 }, { -37, 136, 10, 11, 44, 4 }, { -36, 137, 10, 11, 44, 4 }, + { -36, 138, 10, 11, 44, 4 }, { -35, 139, 11, 11, 44, 4 }, { -34, 140, 11, 11, 44, 4 }, { -34, 141, 11, 11, 44, 4 }, { -33, 142, 11, 11, 44, 4 }, + { -32, 143, 11, 11, 44, 4 }, { -32, 144, 11, 11, 44, 4 }, { -31, 145, 11, 11, 44, 4 }, { -30, 146, 11, 12, 44, 4 }, { -29, 147, 11, 12, 44, 4 }, + { -29, 148, 11, 12, 44, 4 }, { -28, 149, 11, 12, 44, 4 }, { -27, 150, 11, 12, 44, 4 }, { -26, 151, 11, 12, 44, 4 }, { -25, 152, 11, 12, 44, 4 }, + { -25, 153, 12, 12, 44, 4 }, { -24, 154, 12, 12, 44, 4 }, { -23, 155, 12, 12, 44, 4 }, { -22, 156, 12, 12, 44, 4 }, { -21, 157, 12, 12, 44, 4 }, + { -20, 157, 12, 12, 44, 4 }, { -19, 158, 12, 13, 44, 4 }, { -18, 159, 12, 13, 44, 4 }, { -17, 160, 12, 13, 44, 4 }, { -16, 160, 12, 13, 44, 4 }, + { -15, 161, 12, 13, 44, 4 }, { -14, 162, 12, 13, 44, 4 }, { -13, 162, 12, 13, 44, 4 }, { -12, 163, 12, 13, 44, 4 }, { -11, 164, 12, 13, 44, 4 }, + { -10, 164, 13, 13, 44, 4 }, { -9, 165, 13, 13, 44, 4 }, { -8, 166, 13, 13, 44, 4 }, { -7, 166, 13, 13, 44, 4 }, { -6, 167, 13, 14, 44, 4 }, + { -5, 167, 13, 14, 44, 4 }, { -4, 168, 13, 14, 44, 4 }, { -3, 168, 13, 14, 44, 4 }, { -2, 169, 13, 14, 44, 4 }, { -1, 169, 13, 14, 44, 4 }, + { 0, 170, 13, 14, 44, 4 }, { 1, 170, 13, 14, 44, 4 }, { 2, 171, 13, 14, 44, 4 }, { 3, 171, 13, 14, 44, 4 }, { 4, 171, 14, 14, 44, 4 }, + { 5, 172, 14, 14, 44, 4 }, { 6, 172, 14, 14, 44, 4 }, { 7, 172, 14, 14, 44, 4 }, { 8, 173, 14, 15, 44, 4 }, { 9, 173, 14, 15, 44, 4 }, + { 10, 173, 14, 15, 44, 4 }, { 11, 173, 14, 15, 44, 4 }, { 12, 174, 14, 15, 44, 4 }, { 13, 174, 14, 15, 44, 4 }, { 14, 174, 14, 15, 44, 4 }, + { 15, 174, 14, 15, 44, 4 }, { 16, 174, 14, 15, 44, 4 }, { 17, 175, 14, 15, 44, 4 }, { 18, 175, 15, 15, 44, 4 }, { 19, 175, 15, 15, 44, 4 }, + { 20, 175, 15, 15, 44, 4 }, { 21, 175, 15, 15, 44, 4 }, { 22, 175, 15, 15, 44, 4 }, { 23, 176, 15, 15, 44, 4 }, { 24, 176, 15, 16, 44, 4 }, + { 25, 176, 15, 16, 44, 4 }, { 26, 176, 15, 16, 44, 4 }, { 27, 176, 15, 16, 44, 4 }, { 28, 176, 15, 16, 44, 4 }, { 29, 176, 15, 16, 44, 4 }, + { 30, 176, 15, 16, 44, 4 }, { 31, 176, 15, 16, 44, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F3437 = { - 229, { - { 16, 0, 0, 8, 44, 4 }, { 16, 1, 0, 8, 44, 4 }, { 16, 2, 0, 8, 44, 4 }, { 16, 3, 0, 8, 44, 4 }, { 16, 4, 0, 8, 44, 4 }, - { 16, 5, 0, 8, 44, 4 }, { 16, 6, 0, 8, 44, 4 }, { 16, 7, 0, 8, 44, 4 }, { 16, 8, 0, 9, 44, 4 }, { 17, 9, 0, 9, 44, 4 }, - { 17, 10, 0, 9, 44, 4 }, { 17, 11, 0, 9, 44, 4 }, { 17, 12, 0, 9, 44, 4 }, { 17, 13, 0, 9, 44, 4 }, { 17, 14, 0, 9, 44, 4 }, - { 18, 15, 1, 9, 44, 4 }, { 18, 16, 1, 9, 44, 4 }, { 18, 17, 1, 9, 44, 4 }, { 18, 18, 1, 9, 44, 4 }, { 18, 19, 1, 9, 44, 4 }, - { 19, 20, 1, 9, 44, 4 }, { 19, 21, 1, 9, 44, 4 }, { 19, 22, 1, 10, 44, 4 }, { 19, 23, 1, 10, 44, 4 }, { 20, 24, 1, 10, 44, 4 }, - { 20, 25, 1, 10, 44, 4 }, { 20, 26, 1, 10, 44, 4 }, { 21, 27, 1, 10, 44, 4 }, { 21, 28, 1, 10, 44, 4 }, { 21, 29, 2, 10, 44, 4 }, - { 22, 30, 2, 10, 44, 4 }, { 22, 31, 2, 10, 44, 4 }, { 23, 32, 2, 10, 44, 4 }, { 23, 33, 2, 10, 44, 4 }, { 24, 34, 2, 10, 44, 4 }, - { 24, 35, 2, 10, 44, 4 }, { 25, 36, 2, 10, 44, 4 }, { 25, 37, 2, 11, 44, 4 }, { 26, 38, 2, 11, 44, 4 }, { 26, 39, 2, 11, 44, 4 }, - { 27, 40, 2, 11, 44, 4 }, { 28, 41, 2, 11, 44, 4 }, { 28, 42, 2, 11, 44, 4 }, { 29, 43, 3, 11, 44, 4 }, { 30, 44, 3, 11, 44, 4 }, - { 30, 45, 3, 11, 44, 4 }, { 31, 46, 3, 11, 44, 4 }, { 32, 47, 3, 11, 44, 4 }, { 32, 48, 3, 11, 44, 4 }, { 33, 49, 3, 11, 44, 4 }, - { 34, 50, 3, 12, 44, 4 }, { 35, 51, 3, 12, 44, 4 }, { 35, 52, 3, 12, 44, 4 }, { 36, 53, 3, 12, 44, 4 }, { 37, 54, 3, 12, 44, 4 }, - { 38, 55, 3, 12, 44, 4 }, { 39, 56, 3, 12, 44, 4 }, { 39, 57, 4, 12, 44, 4 }, { 40, 58, 4, 12, 44, 4 }, { 41, 59, 4, 12, 44, 4 }, - { 42, 60, 4, 12, 44, 4 }, { 43, 61, 4, 12, 44, 4 }, { 44, 61, 4, 12, 44, 4 }, { 45, 62, 4, 13, 44, 4 }, { 46, 63, 4, 13, 44, 4 }, - { 47, 64, 4, 13, 44, 4 }, { 48, 64, 4, 13, 44, 4 }, { 49, 65, 4, 13, 44, 4 }, { 50, 66, 4, 13, 44, 4 }, { 51, 66, 4, 13, 44, 4 }, - { 52, 67, 4, 13, 44, 4 }, { 53, 68, 4, 13, 44, 4 }, { 54, 68, 5, 13, 44, 4 }, { 55, 69, 5, 13, 44, 4 }, { 56, 70, 5, 13, 44, 4 }, - { 57, 70, 5, 13, 44, 4 }, { 58, 71, 5, 14, 44, 4 }, { 59, 71, 5, 14, 44, 4 }, { 60, 72, 5, 14, 44, 4 }, { 61, 72, 5, 14, 44, 4 }, - { 62, 73, 5, 14, 44, 4 }, { 63, 73, 5, 14, 44, 4 }, { 64, 74, 5, 14, 44, 4 }, { 65, 74, 5, 14, 44, 4 }, { 66, 75, 5, 14, 44, 4 }, - { 67, 75, 5, 14, 44, 4 }, { 68, 75, 6, 14, 44, 4 }, { 69, 76, 6, 14, 44, 4 }, { 70, 76, 6, 14, 44, 4 }, { 71, 76, 6, 14, 44, 4 }, - { 72, 77, 6, 15, 44, 4 }, { 73, 77, 6, 15, 44, 4 }, { 74, 77, 6, 15, 44, 4 }, { 75, 77, 6, 15, 44, 4 }, { 76, 78, 6, 15, 44, 4 }, - { 77, 78, 6, 15, 44, 4 }, { 78, 78, 6, 15, 44, 4 }, { 79, 78, 6, 15, 44, 4 }, { 80, 78, 6, 15, 44, 4 }, { 81, 79, 6, 15, 44, 4 }, - { 82, 79, 7, 15, 44, 4 }, { 83, 79, 7, 15, 44, 4 }, { 84, 79, 7, 15, 44, 4 }, { 85, 79, 7, 15, 44, 4 }, { 86, 79, 7, 15, 44, 4 }, - { 87, 80, 7, 15, 44, 4 }, { 88, 80, 7, 16, 44, 4 }, { 89, 80, 7, 16, 44, 4 }, { 90, 80, 7, 16, 44, 4 }, { 91, 80, 7, 16, 44, 4 }, - { 92, 80, 7, 16, 44, 4 }, { 93, 80, 7, 16, 44, 4 }, { 94, 80, 7, 16, 44, 4 }, { 95, 80, 7, 16, 44, 4 }, { 96, 80, 8, 16, 44, 4 }, - { 97, 80, 8, 16, 44, 4 }, { 98, 80, 8, 16, 44, 4 }, { 99, 80, 8, 16, 44, 4 }, { 100, 80, 8, 16, 44, 4 }, { 101, 80, 8, 16, 44, 4 }, - { 102, 80, 8, 16, 44, 4 }, { 103, 80, 8, 16, 44, 4 }, { 104, 80, 8, 17, 44, 4 }, { 105, 79, 8, 17, 44, 4 }, { 106, 79, 8, 17, 44, 4 }, - { 107, 79, 8, 17, 44, 4 }, { 108, 79, 8, 17, 44, 4 }, { 109, 79, 8, 17, 44, 4 }, { 110, 79, 8, 17, 44, 4 }, { 111, 78, 9, 17, 44, 4 }, - { 112, 78, 9, 17, 44, 4 }, { 113, 78, 9, 17, 44, 4 }, { 114, 78, 9, 17, 44, 4 }, { 115, 78, 9, 17, 44, 4 }, { 116, 77, 9, 17, 44, 4 }, - { 117, 77, 9, 17, 44, 4 }, { 118, 77, 9, 18, 44, 4 }, { 119, 77, 9, 18, 44, 4 }, { 120, 76, 9, 18, 44, 4 }, { 121, 76, 9, 18, 44, 4 }, - { 122, 76, 9, 18, 44, 4 }, { 123, 75, 9, 18, 44, 4 }, { 124, 75, 9, 18, 44, 4 }, { 125, 75, 10, 18, 44, 4 }, { 126, 74, 10, 18, 44, 4 }, - { 127, 74, 10, 18, 44, 4 }, { 128, 73, 10, 18, 44, 4 }, { 129, 73, 10, 18, 44, 4 }, { 130, 72, 10, 18, 44, 4 }, { 131, 72, 10, 18, 44, 4 }, - { 132, 71, 10, 18, 44, 4 }, { 133, 71, 10, 19, 44, 4 }, { 134, 70, 10, 19, 44, 4 }, { 135, 70, 10, 19, 44, 4 }, { 136, 69, 10, 19, 44, 4 }, - { 137, 68, 10, 19, 44, 4 }, { 138, 68, 10, 19, 44, 4 }, { 139, 67, 10, 19, 44, 4 }, { 140, 66, 11, 19, 44, 4 }, { 141, 66, 11, 19, 44, 4 }, - { 142, 65, 11, 19, 44, 4 }, { 143, 64, 11, 19, 44, 4 }, { 144, 64, 11, 19, 44, 4 }, { 145, 63, 11, 19, 44, 4 }, { 146, 62, 11, 20, 44, 4 }, - { 147, 61, 11, 20, 44, 4 }, { 148, 61, 11, 20, 44, 4 }, { 149, 60, 11, 20, 44, 4 }, { 150, 59, 11, 20, 44, 4 }, { 151, 58, 11, 20, 44, 4 }, - { 152, 57, 11, 20, 44, 4 }, { 153, 57, 11, 20, 44, 4 }, { 154, 56, 12, 20, 44, 4 }, { 155, 55, 12, 20, 44, 4 }, { 156, 54, 12, 20, 44, 4 }, - { 157, 53, 12, 20, 44, 4 }, { 157, 52, 12, 20, 44, 4 }, { 158, 51, 12, 21, 44, 4 }, { 159, 50, 12, 21, 44, 4 }, { 160, 49, 12, 21, 44, 4 }, - { 160, 48, 12, 21, 44, 4 }, { 161, 47, 12, 21, 44, 4 }, { 162, 46, 12, 21, 44, 4 }, { 162, 45, 12, 21, 44, 4 }, { 163, 44, 12, 21, 44, 4 }, - { 164, 43, 12, 21, 44, 4 }, { 164, 42, 13, 21, 44, 4 }, { 165, 41, 13, 21, 44, 4 }, { 166, 40, 13, 21, 44, 4 }, { 166, 39, 13, 21, 44, 4 }, - { 167, 38, 13, 22, 44, 4 }, { 167, 37, 13, 22, 44, 4 }, { 168, 36, 13, 22, 44, 4 }, { 168, 35, 13, 22, 44, 4 }, { 169, 34, 13, 22, 44, 4 }, - { 169, 33, 13, 22, 44, 4 }, { 170, 32, 13, 22, 44, 4 }, { 170, 31, 13, 22, 44, 4 }, { 171, 30, 13, 22, 44, 4 }, { 171, 29, 13, 22, 44, 4 }, - { 171, 28, 13, 22, 44, 4 }, { 172, 27, 14, 22, 44, 4 }, { 172, 26, 14, 22, 44, 4 }, { 172, 25, 14, 22, 44, 4 }, { 173, 24, 14, 23, 44, 4 }, - { 173, 23, 14, 23, 44, 4 }, { 173, 22, 14, 23, 44, 4 }, { 173, 21, 14, 23, 44, 4 }, { 174, 20, 14, 23, 44, 4 }, { 174, 19, 14, 23, 44, 4 }, - { 174, 18, 14, 23, 44, 4 }, { 174, 17, 14, 23, 44, 4 }, { 174, 16, 14, 23, 44, 4 }, { 175, 15, 14, 23, 44, 4 }, { 175, 14, 14, 23, 44, 4 }, - { 175, 13, 15, 23, 44, 4 }, { 175, 12, 15, 23, 44, 4 }, { 175, 11, 15, 23, 44, 4 }, { 175, 10, 15, 23, 44, 4 }, { 176, 9, 15, 23, 44, 4 }, - { 176, 8, 15, 24, 44, 4 }, { 176, 7, 15, 24, 44, 4 }, { 176, 6, 15, 24, 44, 4 }, { 176, 5, 15, 24, 44, 4 }, { 176, 4, 15, 24, 44, 4 }, - { 176, 3, 15, 24, 44, 4 }, { 176, 2, 15, 24, 44, 4 }, { 176, 1, 15, 24, 44, 4 }, { 176, 0, 15, 24, 44, 4 }, + 229, { + { 16, 0, 0, 8, 44, 4 }, { 16, 1, 0, 8, 44, 4 }, { 16, 2, 0, 8, 44, 4 }, { 16, 3, 0, 8, 44, 4 }, { 16, 4, 0, 8, 44, 4 }, + { 16, 5, 0, 8, 44, 4 }, { 16, 6, 0, 8, 44, 4 }, { 16, 7, 0, 8, 44, 4 }, { 16, 8, 0, 9, 44, 4 }, { 17, 9, 0, 9, 44, 4 }, + { 17, 10, 0, 9, 44, 4 }, { 17, 11, 0, 9, 44, 4 }, { 17, 12, 0, 9, 44, 4 }, { 17, 13, 0, 9, 44, 4 }, { 17, 14, 0, 9, 44, 4 }, + { 18, 15, 1, 9, 44, 4 }, { 18, 16, 1, 9, 44, 4 }, { 18, 17, 1, 9, 44, 4 }, { 18, 18, 1, 9, 44, 4 }, { 18, 19, 1, 9, 44, 4 }, + { 19, 20, 1, 9, 44, 4 }, { 19, 21, 1, 9, 44, 4 }, { 19, 22, 1, 10, 44, 4 }, { 19, 23, 1, 10, 44, 4 }, { 20, 24, 1, 10, 44, 4 }, + { 20, 25, 1, 10, 44, 4 }, { 20, 26, 1, 10, 44, 4 }, { 21, 27, 1, 10, 44, 4 }, { 21, 28, 1, 10, 44, 4 }, { 21, 29, 2, 10, 44, 4 }, + { 22, 30, 2, 10, 44, 4 }, { 22, 31, 2, 10, 44, 4 }, { 23, 32, 2, 10, 44, 4 }, { 23, 33, 2, 10, 44, 4 }, { 24, 34, 2, 10, 44, 4 }, + { 24, 35, 2, 10, 44, 4 }, { 25, 36, 2, 10, 44, 4 }, { 25, 37, 2, 11, 44, 4 }, { 26, 38, 2, 11, 44, 4 }, { 26, 39, 2, 11, 44, 4 }, + { 27, 40, 2, 11, 44, 4 }, { 28, 41, 2, 11, 44, 4 }, { 28, 42, 2, 11, 44, 4 }, { 29, 43, 3, 11, 44, 4 }, { 30, 44, 3, 11, 44, 4 }, + { 30, 45, 3, 11, 44, 4 }, { 31, 46, 3, 11, 44, 4 }, { 32, 47, 3, 11, 44, 4 }, { 32, 48, 3, 11, 44, 4 }, { 33, 49, 3, 11, 44, 4 }, + { 34, 50, 3, 12, 44, 4 }, { 35, 51, 3, 12, 44, 4 }, { 35, 52, 3, 12, 44, 4 }, { 36, 53, 3, 12, 44, 4 }, { 37, 54, 3, 12, 44, 4 }, + { 38, 55, 3, 12, 44, 4 }, { 39, 56, 3, 12, 44, 4 }, { 39, 57, 4, 12, 44, 4 }, { 40, 58, 4, 12, 44, 4 }, { 41, 59, 4, 12, 44, 4 }, + { 42, 60, 4, 12, 44, 4 }, { 43, 61, 4, 12, 44, 4 }, { 44, 61, 4, 12, 44, 4 }, { 45, 62, 4, 13, 44, 4 }, { 46, 63, 4, 13, 44, 4 }, + { 47, 64, 4, 13, 44, 4 }, { 48, 64, 4, 13, 44, 4 }, { 49, 65, 4, 13, 44, 4 }, { 50, 66, 4, 13, 44, 4 }, { 51, 66, 4, 13, 44, 4 }, + { 52, 67, 4, 13, 44, 4 }, { 53, 68, 4, 13, 44, 4 }, { 54, 68, 5, 13, 44, 4 }, { 55, 69, 5, 13, 44, 4 }, { 56, 70, 5, 13, 44, 4 }, + { 57, 70, 5, 13, 44, 4 }, { 58, 71, 5, 14, 44, 4 }, { 59, 71, 5, 14, 44, 4 }, { 60, 72, 5, 14, 44, 4 }, { 61, 72, 5, 14, 44, 4 }, + { 62, 73, 5, 14, 44, 4 }, { 63, 73, 5, 14, 44, 4 }, { 64, 74, 5, 14, 44, 4 }, { 65, 74, 5, 14, 44, 4 }, { 66, 75, 5, 14, 44, 4 }, + { 67, 75, 5, 14, 44, 4 }, { 68, 75, 6, 14, 44, 4 }, { 69, 76, 6, 14, 44, 4 }, { 70, 76, 6, 14, 44, 4 }, { 71, 76, 6, 14, 44, 4 }, + { 72, 77, 6, 15, 44, 4 }, { 73, 77, 6, 15, 44, 4 }, { 74, 77, 6, 15, 44, 4 }, { 75, 77, 6, 15, 44, 4 }, { 76, 78, 6, 15, 44, 4 }, + { 77, 78, 6, 15, 44, 4 }, { 78, 78, 6, 15, 44, 4 }, { 79, 78, 6, 15, 44, 4 }, { 80, 78, 6, 15, 44, 4 }, { 81, 79, 6, 15, 44, 4 }, + { 82, 79, 7, 15, 44, 4 }, { 83, 79, 7, 15, 44, 4 }, { 84, 79, 7, 15, 44, 4 }, { 85, 79, 7, 15, 44, 4 }, { 86, 79, 7, 15, 44, 4 }, + { 87, 80, 7, 15, 44, 4 }, { 88, 80, 7, 16, 44, 4 }, { 89, 80, 7, 16, 44, 4 }, { 90, 80, 7, 16, 44, 4 }, { 91, 80, 7, 16, 44, 4 }, + { 92, 80, 7, 16, 44, 4 }, { 93, 80, 7, 16, 44, 4 }, { 94, 80, 7, 16, 44, 4 }, { 95, 80, 7, 16, 44, 4 }, { 96, 80, 8, 16, 44, 4 }, + { 97, 80, 8, 16, 44, 4 }, { 98, 80, 8, 16, 44, 4 }, { 99, 80, 8, 16, 44, 4 }, { 100, 80, 8, 16, 44, 4 }, { 101, 80, 8, 16, 44, 4 }, + { 102, 80, 8, 16, 44, 4 }, { 103, 80, 8, 16, 44, 4 }, { 104, 80, 8, 17, 44, 4 }, { 105, 79, 8, 17, 44, 4 }, { 106, 79, 8, 17, 44, 4 }, + { 107, 79, 8, 17, 44, 4 }, { 108, 79, 8, 17, 44, 4 }, { 109, 79, 8, 17, 44, 4 }, { 110, 79, 8, 17, 44, 4 }, { 111, 78, 9, 17, 44, 4 }, + { 112, 78, 9, 17, 44, 4 }, { 113, 78, 9, 17, 44, 4 }, { 114, 78, 9, 17, 44, 4 }, { 115, 78, 9, 17, 44, 4 }, { 116, 77, 9, 17, 44, 4 }, + { 117, 77, 9, 17, 44, 4 }, { 118, 77, 9, 18, 44, 4 }, { 119, 77, 9, 18, 44, 4 }, { 120, 76, 9, 18, 44, 4 }, { 121, 76, 9, 18, 44, 4 }, + { 122, 76, 9, 18, 44, 4 }, { 123, 75, 9, 18, 44, 4 }, { 124, 75, 9, 18, 44, 4 }, { 125, 75, 10, 18, 44, 4 }, { 126, 74, 10, 18, 44, 4 }, + { 127, 74, 10, 18, 44, 4 }, { 128, 73, 10, 18, 44, 4 }, { 129, 73, 10, 18, 44, 4 }, { 130, 72, 10, 18, 44, 4 }, { 131, 72, 10, 18, 44, 4 }, + { 132, 71, 10, 18, 44, 4 }, { 133, 71, 10, 19, 44, 4 }, { 134, 70, 10, 19, 44, 4 }, { 135, 70, 10, 19, 44, 4 }, { 136, 69, 10, 19, 44, 4 }, + { 137, 68, 10, 19, 44, 4 }, { 138, 68, 10, 19, 44, 4 }, { 139, 67, 10, 19, 44, 4 }, { 140, 66, 11, 19, 44, 4 }, { 141, 66, 11, 19, 44, 4 }, + { 142, 65, 11, 19, 44, 4 }, { 143, 64, 11, 19, 44, 4 }, { 144, 64, 11, 19, 44, 4 }, { 145, 63, 11, 19, 44, 4 }, { 146, 62, 11, 20, 44, 4 }, + { 147, 61, 11, 20, 44, 4 }, { 148, 61, 11, 20, 44, 4 }, { 149, 60, 11, 20, 44, 4 }, { 150, 59, 11, 20, 44, 4 }, { 151, 58, 11, 20, 44, 4 }, + { 152, 57, 11, 20, 44, 4 }, { 153, 57, 11, 20, 44, 4 }, { 154, 56, 12, 20, 44, 4 }, { 155, 55, 12, 20, 44, 4 }, { 156, 54, 12, 20, 44, 4 }, + { 157, 53, 12, 20, 44, 4 }, { 157, 52, 12, 20, 44, 4 }, { 158, 51, 12, 21, 44, 4 }, { 159, 50, 12, 21, 44, 4 }, { 160, 49, 12, 21, 44, 4 }, + { 160, 48, 12, 21, 44, 4 }, { 161, 47, 12, 21, 44, 4 }, { 162, 46, 12, 21, 44, 4 }, { 162, 45, 12, 21, 44, 4 }, { 163, 44, 12, 21, 44, 4 }, + { 164, 43, 12, 21, 44, 4 }, { 164, 42, 13, 21, 44, 4 }, { 165, 41, 13, 21, 44, 4 }, { 166, 40, 13, 21, 44, 4 }, { 166, 39, 13, 21, 44, 4 }, + { 167, 38, 13, 22, 44, 4 }, { 167, 37, 13, 22, 44, 4 }, { 168, 36, 13, 22, 44, 4 }, { 168, 35, 13, 22, 44, 4 }, { 169, 34, 13, 22, 44, 4 }, + { 169, 33, 13, 22, 44, 4 }, { 170, 32, 13, 22, 44, 4 }, { 170, 31, 13, 22, 44, 4 }, { 171, 30, 13, 22, 44, 4 }, { 171, 29, 13, 22, 44, 4 }, + { 171, 28, 13, 22, 44, 4 }, { 172, 27, 14, 22, 44, 4 }, { 172, 26, 14, 22, 44, 4 }, { 172, 25, 14, 22, 44, 4 }, { 173, 24, 14, 23, 44, 4 }, + { 173, 23, 14, 23, 44, 4 }, { 173, 22, 14, 23, 44, 4 }, { 173, 21, 14, 23, 44, 4 }, { 174, 20, 14, 23, 44, 4 }, { 174, 19, 14, 23, 44, 4 }, + { 174, 18, 14, 23, 44, 4 }, { 174, 17, 14, 23, 44, 4 }, { 174, 16, 14, 23, 44, 4 }, { 175, 15, 14, 23, 44, 4 }, { 175, 14, 14, 23, 44, 4 }, + { 175, 13, 15, 23, 44, 4 }, { 175, 12, 15, 23, 44, 4 }, { 175, 11, 15, 23, 44, 4 }, { 175, 10, 15, 23, 44, 4 }, { 176, 9, 15, 23, 44, 4 }, + { 176, 8, 15, 24, 44, 4 }, { 176, 7, 15, 24, 44, 4 }, { 176, 6, 15, 24, 44, 4 }, { 176, 5, 15, 24, 44, 4 }, { 176, 4, 15, 24, 44, 4 }, + { 176, 3, 15, 24, 44, 4 }, { 176, 2, 15, 24, 44, 4 }, { 176, 1, 15, 24, 44, 4 }, { 176, 0, 15, 24, 44, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F3C46 = { - 229, { - { 0, 16, 0, 16, 44, 4 }, { 1, 16, 0, 16, 44, 4 }, { 2, 16, 0, 16, 44, 4 }, { 3, 16, 0, 16, 44, 4 }, { 4, 16, 0, 16, 44, 4 }, - { 5, 16, 0, 16, 44, 4 }, { 6, 16, 0, 16, 44, 4 }, { 7, 16, 0, 16, 44, 4 }, { 8, 16, 0, 17, 44, 4 }, { 9, 15, 0, 17, 44, 4 }, - { 10, 15, 0, 17, 44, 4 }, { 11, 15, 0, 17, 44, 4 }, { 12, 15, 0, 17, 44, 4 }, { 13, 15, 0, 17, 44, 4 }, { 14, 15, 0, 17, 44, 4 }, - { 15, 14, 1, 17, 44, 4 }, { 16, 14, 1, 17, 44, 4 }, { 17, 14, 1, 17, 44, 4 }, { 18, 14, 1, 17, 44, 4 }, { 19, 14, 1, 17, 44, 4 }, - { 20, 13, 1, 17, 44, 4 }, { 21, 13, 1, 17, 44, 4 }, { 22, 13, 1, 18, 44, 4 }, { 23, 13, 1, 18, 44, 4 }, { 24, 12, 1, 18, 44, 4 }, - { 25, 12, 1, 18, 44, 4 }, { 26, 12, 1, 18, 44, 4 }, { 27, 11, 1, 18, 44, 4 }, { 28, 11, 1, 18, 44, 4 }, { 29, 11, 2, 18, 44, 4 }, - { 30, 10, 2, 18, 44, 4 }, { 31, 10, 2, 18, 44, 4 }, { 32, 9, 2, 18, 44, 4 }, { 33, 9, 2, 18, 44, 4 }, { 34, 8, 2, 18, 44, 4 }, - { 35, 8, 2, 18, 44, 4 }, { 36, 7, 2, 18, 44, 4 }, { 37, 7, 2, 19, 44, 4 }, { 38, 6, 2, 19, 44, 4 }, { 39, 6, 2, 19, 44, 4 }, - { 40, 5, 2, 19, 44, 4 }, { 41, 4, 2, 19, 44, 4 }, { 42, 4, 2, 19, 44, 4 }, { 43, 3, 2, 19, 44, 4 }, { 44, 2, 3, 19, 44, 4 }, - { 45, 2, 3, 19, 44, 4 }, { 46, 1, 3, 19, 44, 4 }, { 47, 0, 3, 19, 44, 4 }, { 48, 0, 3, 19, 44, 4 }, { 49, -1, 3, 19, 44, 4 }, - { 50, -2, 3, 20, 44, 4 }, { 51, -3, 3, 20, 44, 4 }, { 52, -3, 3, 20, 44, 4 }, { 53, -4, 3, 20, 44, 4 }, { 54, -5, 3, 20, 44, 4 }, - { 55, -6, 3, 20, 44, 4 }, { 56, -7, 3, 20, 44, 4 }, { 57, -7, 3, 20, 44, 4 }, { 58, -8, 4, 20, 44, 4 }, { 59, -9, 4, 20, 44, 4 }, - { 60, -10, 4, 20, 44, 4 }, { 61, -11, 4, 20, 44, 4 }, { 61, -12, 4, 20, 44, 4 }, { 62, -13, 4, 21, 44, 4 }, { 63, -14, 4, 21, 44, 4 }, - { 64, -15, 4, 21, 44, 4 }, { 64, -16, 4, 21, 44, 4 }, { 65, -17, 4, 21, 44, 4 }, { 66, -18, 4, 21, 44, 4 }, { 66, -19, 4, 21, 44, 4 }, - { 67, -20, 4, 21, 44, 4 }, { 68, -21, 4, 21, 44, 4 }, { 68, -22, 5, 21, 44, 4 }, { 69, -23, 5, 21, 44, 4 }, { 70, -24, 5, 21, 44, 4 }, - { 70, -25, 5, 21, 44, 4 }, { 71, -26, 5, 22, 44, 4 }, { 71, -27, 5, 22, 44, 4 }, { 72, -28, 5, 22, 44, 4 }, { 72, -29, 5, 22, 44, 4 }, - { 73, -30, 5, 22, 44, 4 }, { 73, -31, 5, 22, 44, 4 }, { 74, -32, 5, 22, 44, 4 }, { 74, -33, 5, 22, 44, 4 }, { 75, -34, 5, 22, 44, 4 }, - { 75, -35, 5, 22, 44, 4 }, { 75, -36, 5, 22, 44, 4 }, { 76, -37, 6, 22, 44, 4 }, { 76, -38, 6, 22, 44, 4 }, { 76, -39, 6, 22, 44, 4 }, - { 77, -40, 6, 23, 44, 4 }, { 77, -41, 6, 23, 44, 4 }, { 77, -42, 6, 23, 44, 4 }, { 77, -43, 6, 23, 44, 4 }, { 78, -44, 6, 23, 44, 4 }, - { 78, -45, 6, 23, 44, 4 }, { 78, -46, 6, 23, 44, 4 }, { 78, -47, 6, 23, 44, 4 }, { 78, -48, 6, 23, 44, 4 }, { 79, -49, 6, 23, 44, 4 }, - { 79, -50, 6, 23, 44, 4 }, { 79, -51, 7, 23, 44, 4 }, { 79, -52, 7, 23, 44, 4 }, { 79, -53, 7, 23, 44, 4 }, { 79, -54, 7, 23, 44, 4 }, - { 80, -55, 7, 23, 44, 4 }, { 80, -56, 7, 24, 44, 4 }, { 80, -57, 7, 24, 44, 4 }, { 80, -58, 7, 24, 44, 4 }, { 80, -59, 7, 24, 44, 4 }, - { 80, -60, 7, 24, 44, 4 }, { 80, -61, 7, 24, 44, 4 }, { 80, -62, 7, 24, 44, 4 }, { 80, -63, 7, 24, 44, 4 }, { 80, -64, 7, 24, 44, 4 }, - { 80, -65, 8, 24, 44, 4 }, { 80, -66, 8, 24, 44, 4 }, { 80, -67, 8, 24, 44, 4 }, { 80, -68, 8, 24, 44, 4 }, { 80, -69, 8, 24, 44, 4 }, - { 80, -70, 8, 24, 44, 4 }, { 80, -71, 8, 24, 44, 4 }, { 80, -72, 8, 25, 44, 4 }, { 79, -73, 8, 25, 44, 4 }, { 79, -74, 8, 25, 44, 4 }, - { 79, -75, 8, 25, 44, 4 }, { 79, -76, 8, 25, 44, 4 }, { 79, -77, 8, 25, 44, 4 }, { 79, -78, 8, 25, 44, 4 }, { 78, -79, 9, 25, 44, 4 }, - { 78, -80, 9, 25, 44, 4 }, { 78, -81, 9, 25, 44, 4 }, { 78, -82, 9, 25, 44, 4 }, { 78, -83, 9, 25, 44, 4 }, { 77, -84, 9, 25, 44, 4 }, - { 77, -85, 9, 25, 44, 4 }, { 77, -86, 9, 26, 44, 4 }, { 77, -87, 9, 26, 44, 4 }, { 76, -88, 9, 26, 44, 4 }, { 76, -89, 9, 26, 44, 4 }, - { 76, -90, 9, 26, 44, 4 }, { 75, -91, 9, 26, 44, 4 }, { 75, -92, 9, 26, 44, 4 }, { 75, -93, 10, 26, 44, 4 }, { 74, -94, 10, 26, 44, 4 }, - { 74, -95, 10, 26, 44, 4 }, { 73, -96, 10, 26, 44, 4 }, { 73, -97, 10, 26, 44, 4 }, { 72, -98, 10, 26, 44, 4 }, { 72, -99, 10, 26, 44, 4 }, - { 71, -100, 10, 26, 44, 4 }, { 71, -101, 10, 27, 44, 4 }, { 70, -102, 10, 27, 44, 4 }, { 70, -103, 10, 27, 44, 4 }, { 69, -104, 10, 27, 44, 4 }, - { 68, -105, 10, 27, 44, 4 }, { 68, -106, 10, 27, 44, 4 }, { 67, -107, 11, 27, 44, 4 }, { 66, -108, 11, 27, 44, 4 }, { 66, -109, 11, 27, 44, 4 }, - { 65, -110, 11, 27, 44, 4 }, { 64, -111, 11, 27, 44, 4 }, { 64, -112, 11, 27, 44, 4 }, { 63, -113, 11, 27, 44, 4 }, { 62, -114, 11, 28, 44, 4 }, - { 61, -115, 11, 28, 44, 4 }, { 61, -116, 11, 28, 44, 4 }, { 60, -117, 11, 28, 44, 4 }, { 59, -118, 11, 28, 44, 4 }, { 58, -119, 11, 28, 44, 4 }, - { 57, -120, 11, 28, 44, 4 }, { 57, -121, 12, 28, 44, 4 }, { 56, -122, 12, 28, 44, 4 }, { 55, -123, 12, 28, 44, 4 }, { 54, -124, 12, 28, 44, 4 }, - { 53, -125, 12, 28, 44, 4 }, { 52, -125, 12, 28, 44, 4 }, { 51, -126, 12, 29, 44, 4 }, { 50, -127, 12, 29, 44, 4 }, { 49, -128, 12, 29, 44, 4 }, - { 48, -128, 12, 29, 44, 4 }, { 47, -129, 12, 29, 44, 4 }, { 46, -130, 12, 29, 44, 4 }, { 45, -130, 12, 29, 44, 4 }, { 44, -131, 12, 29, 44, 4 }, - { 43, -132, 12, 29, 44, 4 }, { 42, -132, 13, 29, 44, 4 }, { 41, -133, 13, 29, 44, 4 }, { 40, -134, 13, 29, 44, 4 }, { 39, -134, 13, 29, 44, 4 }, - { 38, -135, 13, 30, 44, 4 }, { 37, -135, 13, 30, 44, 4 }, { 36, -136, 13, 30, 44, 4 }, { 35, -136, 13, 30, 44, 4 }, { 34, -137, 13, 30, 44, 4 }, - { 33, -137, 13, 30, 44, 4 }, { 32, -138, 13, 30, 44, 4 }, { 31, -138, 13, 30, 44, 4 }, { 30, -139, 13, 30, 44, 4 }, { 29, -139, 13, 30, 44, 4 }, - { 28, -139, 14, 30, 44, 4 }, { 27, -140, 14, 30, 44, 4 }, { 26, -140, 14, 30, 44, 4 }, { 25, -140, 14, 30, 44, 4 }, { 24, -141, 14, 31, 44, 4 }, - { 23, -141, 14, 31, 44, 4 }, { 22, -141, 14, 31, 44, 4 }, { 21, -141, 14, 31, 44, 4 }, { 20, -142, 14, 31, 44, 4 }, { 19, -142, 14, 31, 44, 4 }, - { 18, -142, 14, 31, 44, 4 }, { 17, -142, 14, 31, 44, 4 }, { 16, -142, 14, 31, 44, 4 }, { 15, -143, 14, 31, 44, 4 }, { 14, -143, 15, 31, 44, 4 }, - { 13, -143, 15, 31, 44, 4 }, { 12, -143, 15, 31, 44, 4 }, { 11, -143, 15, 31, 44, 4 }, { 10, -143, 15, 31, 44, 4 }, { 9, -144, 15, 31, 44, 4 }, - { 8, -144, 15, 0, 44, 4 }, { 7, -144, 15, 0, 44, 4 }, { 6, -144, 15, 0, 44, 4 }, { 5, -144, 15, 0, 44, 4 }, { 4, -144, 15, 0, 44, 4 }, - { 3, -144, 15, 0, 44, 4 }, { 2, -144, 15, 0, 44, 4 }, { 1, -144, 15, 0, 44, 4 }, { 0, -144, 16, 0, 44, 4 }, + 229, { + { 0, 16, 0, 16, 44, 4 }, { 1, 16, 0, 16, 44, 4 }, { 2, 16, 0, 16, 44, 4 }, { 3, 16, 0, 16, 44, 4 }, { 4, 16, 0, 16, 44, 4 }, + { 5, 16, 0, 16, 44, 4 }, { 6, 16, 0, 16, 44, 4 }, { 7, 16, 0, 16, 44, 4 }, { 8, 16, 0, 17, 44, 4 }, { 9, 15, 0, 17, 44, 4 }, + { 10, 15, 0, 17, 44, 4 }, { 11, 15, 0, 17, 44, 4 }, { 12, 15, 0, 17, 44, 4 }, { 13, 15, 0, 17, 44, 4 }, { 14, 15, 0, 17, 44, 4 }, + { 15, 14, 1, 17, 44, 4 }, { 16, 14, 1, 17, 44, 4 }, { 17, 14, 1, 17, 44, 4 }, { 18, 14, 1, 17, 44, 4 }, { 19, 14, 1, 17, 44, 4 }, + { 20, 13, 1, 17, 44, 4 }, { 21, 13, 1, 17, 44, 4 }, { 22, 13, 1, 18, 44, 4 }, { 23, 13, 1, 18, 44, 4 }, { 24, 12, 1, 18, 44, 4 }, + { 25, 12, 1, 18, 44, 4 }, { 26, 12, 1, 18, 44, 4 }, { 27, 11, 1, 18, 44, 4 }, { 28, 11, 1, 18, 44, 4 }, { 29, 11, 2, 18, 44, 4 }, + { 30, 10, 2, 18, 44, 4 }, { 31, 10, 2, 18, 44, 4 }, { 32, 9, 2, 18, 44, 4 }, { 33, 9, 2, 18, 44, 4 }, { 34, 8, 2, 18, 44, 4 }, + { 35, 8, 2, 18, 44, 4 }, { 36, 7, 2, 18, 44, 4 }, { 37, 7, 2, 19, 44, 4 }, { 38, 6, 2, 19, 44, 4 }, { 39, 6, 2, 19, 44, 4 }, + { 40, 5, 2, 19, 44, 4 }, { 41, 4, 2, 19, 44, 4 }, { 42, 4, 2, 19, 44, 4 }, { 43, 3, 2, 19, 44, 4 }, { 44, 2, 3, 19, 44, 4 }, + { 45, 2, 3, 19, 44, 4 }, { 46, 1, 3, 19, 44, 4 }, { 47, 0, 3, 19, 44, 4 }, { 48, 0, 3, 19, 44, 4 }, { 49, -1, 3, 19, 44, 4 }, + { 50, -2, 3, 20, 44, 4 }, { 51, -3, 3, 20, 44, 4 }, { 52, -3, 3, 20, 44, 4 }, { 53, -4, 3, 20, 44, 4 }, { 54, -5, 3, 20, 44, 4 }, + { 55, -6, 3, 20, 44, 4 }, { 56, -7, 3, 20, 44, 4 }, { 57, -7, 3, 20, 44, 4 }, { 58, -8, 4, 20, 44, 4 }, { 59, -9, 4, 20, 44, 4 }, + { 60, -10, 4, 20, 44, 4 }, { 61, -11, 4, 20, 44, 4 }, { 61, -12, 4, 20, 44, 4 }, { 62, -13, 4, 21, 44, 4 }, { 63, -14, 4, 21, 44, 4 }, + { 64, -15, 4, 21, 44, 4 }, { 64, -16, 4, 21, 44, 4 }, { 65, -17, 4, 21, 44, 4 }, { 66, -18, 4, 21, 44, 4 }, { 66, -19, 4, 21, 44, 4 }, + { 67, -20, 4, 21, 44, 4 }, { 68, -21, 4, 21, 44, 4 }, { 68, -22, 5, 21, 44, 4 }, { 69, -23, 5, 21, 44, 4 }, { 70, -24, 5, 21, 44, 4 }, + { 70, -25, 5, 21, 44, 4 }, { 71, -26, 5, 22, 44, 4 }, { 71, -27, 5, 22, 44, 4 }, { 72, -28, 5, 22, 44, 4 }, { 72, -29, 5, 22, 44, 4 }, + { 73, -30, 5, 22, 44, 4 }, { 73, -31, 5, 22, 44, 4 }, { 74, -32, 5, 22, 44, 4 }, { 74, -33, 5, 22, 44, 4 }, { 75, -34, 5, 22, 44, 4 }, + { 75, -35, 5, 22, 44, 4 }, { 75, -36, 5, 22, 44, 4 }, { 76, -37, 6, 22, 44, 4 }, { 76, -38, 6, 22, 44, 4 }, { 76, -39, 6, 22, 44, 4 }, + { 77, -40, 6, 23, 44, 4 }, { 77, -41, 6, 23, 44, 4 }, { 77, -42, 6, 23, 44, 4 }, { 77, -43, 6, 23, 44, 4 }, { 78, -44, 6, 23, 44, 4 }, + { 78, -45, 6, 23, 44, 4 }, { 78, -46, 6, 23, 44, 4 }, { 78, -47, 6, 23, 44, 4 }, { 78, -48, 6, 23, 44, 4 }, { 79, -49, 6, 23, 44, 4 }, + { 79, -50, 6, 23, 44, 4 }, { 79, -51, 7, 23, 44, 4 }, { 79, -52, 7, 23, 44, 4 }, { 79, -53, 7, 23, 44, 4 }, { 79, -54, 7, 23, 44, 4 }, + { 80, -55, 7, 23, 44, 4 }, { 80, -56, 7, 24, 44, 4 }, { 80, -57, 7, 24, 44, 4 }, { 80, -58, 7, 24, 44, 4 }, { 80, -59, 7, 24, 44, 4 }, + { 80, -60, 7, 24, 44, 4 }, { 80, -61, 7, 24, 44, 4 }, { 80, -62, 7, 24, 44, 4 }, { 80, -63, 7, 24, 44, 4 }, { 80, -64, 7, 24, 44, 4 }, + { 80, -65, 8, 24, 44, 4 }, { 80, -66, 8, 24, 44, 4 }, { 80, -67, 8, 24, 44, 4 }, { 80, -68, 8, 24, 44, 4 }, { 80, -69, 8, 24, 44, 4 }, + { 80, -70, 8, 24, 44, 4 }, { 80, -71, 8, 24, 44, 4 }, { 80, -72, 8, 25, 44, 4 }, { 79, -73, 8, 25, 44, 4 }, { 79, -74, 8, 25, 44, 4 }, + { 79, -75, 8, 25, 44, 4 }, { 79, -76, 8, 25, 44, 4 }, { 79, -77, 8, 25, 44, 4 }, { 79, -78, 8, 25, 44, 4 }, { 78, -79, 9, 25, 44, 4 }, + { 78, -80, 9, 25, 44, 4 }, { 78, -81, 9, 25, 44, 4 }, { 78, -82, 9, 25, 44, 4 }, { 78, -83, 9, 25, 44, 4 }, { 77, -84, 9, 25, 44, 4 }, + { 77, -85, 9, 25, 44, 4 }, { 77, -86, 9, 26, 44, 4 }, { 77, -87, 9, 26, 44, 4 }, { 76, -88, 9, 26, 44, 4 }, { 76, -89, 9, 26, 44, 4 }, + { 76, -90, 9, 26, 44, 4 }, { 75, -91, 9, 26, 44, 4 }, { 75, -92, 9, 26, 44, 4 }, { 75, -93, 10, 26, 44, 4 }, { 74, -94, 10, 26, 44, 4 }, + { 74, -95, 10, 26, 44, 4 }, { 73, -96, 10, 26, 44, 4 }, { 73, -97, 10, 26, 44, 4 }, { 72, -98, 10, 26, 44, 4 }, { 72, -99, 10, 26, 44, 4 }, + { 71, -100, 10, 26, 44, 4 }, { 71, -101, 10, 27, 44, 4 }, { 70, -102, 10, 27, 44, 4 }, { 70, -103, 10, 27, 44, 4 }, { 69, -104, 10, 27, 44, 4 }, + { 68, -105, 10, 27, 44, 4 }, { 68, -106, 10, 27, 44, 4 }, { 67, -107, 11, 27, 44, 4 }, { 66, -108, 11, 27, 44, 4 }, { 66, -109, 11, 27, 44, 4 }, + { 65, -110, 11, 27, 44, 4 }, { 64, -111, 11, 27, 44, 4 }, { 64, -112, 11, 27, 44, 4 }, { 63, -113, 11, 27, 44, 4 }, { 62, -114, 11, 28, 44, 4 }, + { 61, -115, 11, 28, 44, 4 }, { 61, -116, 11, 28, 44, 4 }, { 60, -117, 11, 28, 44, 4 }, { 59, -118, 11, 28, 44, 4 }, { 58, -119, 11, 28, 44, 4 }, + { 57, -120, 11, 28, 44, 4 }, { 57, -121, 12, 28, 44, 4 }, { 56, -122, 12, 28, 44, 4 }, { 55, -123, 12, 28, 44, 4 }, { 54, -124, 12, 28, 44, 4 }, + { 53, -125, 12, 28, 44, 4 }, { 52, -125, 12, 28, 44, 4 }, { 51, -126, 12, 29, 44, 4 }, { 50, -127, 12, 29, 44, 4 }, { 49, -128, 12, 29, 44, 4 }, + { 48, -128, 12, 29, 44, 4 }, { 47, -129, 12, 29, 44, 4 }, { 46, -130, 12, 29, 44, 4 }, { 45, -130, 12, 29, 44, 4 }, { 44, -131, 12, 29, 44, 4 }, + { 43, -132, 12, 29, 44, 4 }, { 42, -132, 13, 29, 44, 4 }, { 41, -133, 13, 29, 44, 4 }, { 40, -134, 13, 29, 44, 4 }, { 39, -134, 13, 29, 44, 4 }, + { 38, -135, 13, 30, 44, 4 }, { 37, -135, 13, 30, 44, 4 }, { 36, -136, 13, 30, 44, 4 }, { 35, -136, 13, 30, 44, 4 }, { 34, -137, 13, 30, 44, 4 }, + { 33, -137, 13, 30, 44, 4 }, { 32, -138, 13, 30, 44, 4 }, { 31, -138, 13, 30, 44, 4 }, { 30, -139, 13, 30, 44, 4 }, { 29, -139, 13, 30, 44, 4 }, + { 28, -139, 14, 30, 44, 4 }, { 27, -140, 14, 30, 44, 4 }, { 26, -140, 14, 30, 44, 4 }, { 25, -140, 14, 30, 44, 4 }, { 24, -141, 14, 31, 44, 4 }, + { 23, -141, 14, 31, 44, 4 }, { 22, -141, 14, 31, 44, 4 }, { 21, -141, 14, 31, 44, 4 }, { 20, -142, 14, 31, 44, 4 }, { 19, -142, 14, 31, 44, 4 }, + { 18, -142, 14, 31, 44, 4 }, { 17, -142, 14, 31, 44, 4 }, { 16, -142, 14, 31, 44, 4 }, { 15, -143, 14, 31, 44, 4 }, { 14, -143, 15, 31, 44, 4 }, + { 13, -143, 15, 31, 44, 4 }, { 12, -143, 15, 31, 44, 4 }, { 11, -143, 15, 31, 44, 4 }, { 10, -143, 15, 31, 44, 4 }, { 9, -144, 15, 31, 44, 4 }, + { 8, -144, 15, 0, 44, 4 }, { 7, -144, 15, 0, 44, 4 }, { 6, -144, 15, 0, 44, 4 }, { 5, -144, 15, 0, 44, 4 }, { 4, -144, 15, 0, 44, 4 }, + { 3, -144, 15, 0, 44, 4 }, { 2, -144, 15, 0, 44, 4 }, { 1, -144, 15, 0, 44, 4 }, { 0, -144, 16, 0, 44, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F4455 = { - 227, { - { 16, 31, 0, 24, 44, 4 }, { 16, 30, 0, 24, 44, 4 }, { 16, 29, 0, 24, 44, 4 }, { 16, 28, 0, 24, 44, 4 }, { 16, 27, 0, 24, 44, 4 }, - { 16, 26, 0, 24, 44, 4 }, { 16, 25, 0, 24, 44, 4 }, { 16, 24, 0, 25, 44, 4 }, { 15, 23, 0, 25, 44, 4 }, { 15, 22, 0, 25, 44, 4 }, - { 15, 21, 0, 25, 44, 4 }, { 15, 20, 0, 25, 44, 4 }, { 15, 19, 0, 25, 44, 4 }, { 15, 18, 0, 25, 44, 4 }, { 14, 17, 1, 25, 44, 4 }, - { 14, 16, 1, 25, 44, 4 }, { 14, 15, 1, 25, 44, 4 }, { 14, 14, 1, 25, 44, 4 }, { 14, 13, 1, 25, 44, 4 }, { 13, 12, 1, 25, 44, 4 }, - { 13, 11, 1, 25, 44, 4 }, { 13, 10, 1, 26, 44, 4 }, { 13, 9, 1, 26, 44, 4 }, { 12, 8, 1, 26, 44, 4 }, { 12, 7, 1, 26, 44, 4 }, - { 12, 6, 1, 26, 44, 4 }, { 11, 5, 1, 26, 44, 4 }, { 11, 4, 1, 26, 44, 4 }, { 11, 3, 2, 26, 44, 4 }, { 10, 2, 2, 26, 44, 4 }, - { 10, 1, 2, 26, 44, 4 }, { 9, 0, 2, 26, 44, 4 }, { 9, -1, 2, 26, 44, 4 }, { 8, -2, 2, 26, 44, 4 }, { 8, -3, 2, 26, 44, 4 }, - { 7, -4, 2, 26, 44, 4 }, { 7, -5, 2, 27, 44, 4 }, { 6, -6, 2, 27, 44, 4 }, { 6, -7, 2, 27, 44, 4 }, { 5, -8, 2, 27, 44, 4 }, - { 4, -9, 2, 27, 44, 4 }, { 4, -10, 2, 27, 44, 4 }, { 3, -11, 3, 27, 44, 4 }, { 2, -12, 3, 27, 44, 4 }, { 2, -13, 3, 27, 44, 4 }, - { 1, -14, 3, 27, 44, 4 }, { 0, -15, 3, 27, 44, 4 }, { 0, -16, 3, 27, 44, 4 }, { -1, -17, 3, 27, 44, 4 }, { -2, -18, 3, 28, 44, 4 }, - { -3, -19, 3, 28, 44, 4 }, { -3, -20, 3, 28, 44, 4 }, { -4, -21, 3, 28, 44, 4 }, { -5, -22, 3, 28, 44, 4 }, { -6, -23, 3, 28, 44, 4 }, - { -7, -24, 3, 28, 44, 4 }, { -7, -25, 4, 28, 44, 4 }, { -8, -26, 4, 28, 44, 4 }, { -9, -27, 4, 28, 44, 4 }, { -10, -28, 4, 28, 44, 4 }, - { -11, -29, 4, 28, 44, 4 }, { -12, -29, 4, 28, 44, 4 }, { -13, -30, 4, 29, 44, 4 }, { -14, -31, 4, 29, 44, 4 }, { -15, -32, 4, 29, 44, 4 }, - { -16, -32, 4, 29, 44, 4 }, { -17, -33, 4, 29, 44, 4 }, { -18, -34, 4, 29, 44, 4 }, { -19, -34, 4, 29, 44, 4 }, { -20, -35, 4, 29, 44, 4 }, - { -21, -36, 4, 29, 44, 4 }, { -22, -36, 5, 29, 44, 4 }, { -23, -37, 5, 29, 44, 4 }, { -24, -38, 5, 29, 44, 4 }, { -25, -38, 5, 29, 44, 4 }, - { -26, -39, 5, 30, 44, 4 }, { -27, -39, 5, 30, 44, 4 }, { -28, -40, 5, 30, 44, 4 }, { -29, -40, 5, 30, 44, 4 }, { -30, -41, 5, 30, 44, 4 }, - { -31, -41, 5, 30, 44, 4 }, { -32, -42, 5, 30, 44, 4 }, { -33, -42, 5, 30, 44, 4 }, { -34, -43, 5, 30, 44, 4 }, { -35, -43, 5, 30, 44, 4 }, - { -36, -43, 6, 30, 44, 4 }, { -37, -44, 6, 30, 44, 4 }, { -38, -44, 6, 30, 44, 4 }, { -39, -44, 6, 30, 44, 4 }, { -40, -45, 6, 31, 44, 4 }, - { -41, -45, 6, 31, 44, 4 }, { -42, -45, 6, 31, 44, 4 }, { -43, -45, 6, 31, 44, 4 }, { -44, -46, 6, 31, 44, 4 }, { -45, -46, 6, 31, 44, 4 }, - { -46, -46, 6, 31, 44, 4 }, { -47, -46, 6, 31, 44, 4 }, { -48, -46, 6, 31, 44, 4 }, { -49, -47, 6, 31, 44, 4 }, { -50, -47, 7, 31, 44, 4 }, - { -51, -47, 7, 31, 44, 4 }, { -52, -47, 7, 31, 44, 4 }, { -53, -47, 7, 31, 44, 4 }, { -54, -47, 7, 31, 44, 4 }, { -55, -48, 7, 31, 44, 4 }, - { -56, -48, 7, 0, 44, 4 }, { -57, -48, 7, 0, 44, 4 }, { -58, -48, 7, 0, 44, 4 }, { -59, -48, 7, 0, 44, 4 }, { -60, -48, 7, 0, 44, 4 }, - { -61, -48, 7, 0, 44, 4 }, { -62, -48, 7, 0, 44, 4 }, { -63, -48, 7, 0, 44, 4 }, { -64, -48, 8, 0, 44, 4 }, { -65, -48, 8, 0, 44, 4 }, - { -66, -48, 8, 0, 44, 4 }, { -67, -48, 8, 0, 44, 4 }, { -68, -48, 8, 0, 44, 4 }, { -69, -48, 8, 0, 44, 4 }, { -70, -48, 8, 0, 44, 4 }, - { -71, -48, 8, 0, 44, 4 }, { -72, -48, 8, 1, 44, 4 }, { -73, -47, 8, 1, 44, 4 }, { -74, -47, 8, 1, 44, 4 }, { -75, -47, 8, 1, 44, 4 }, - { -76, -47, 8, 1, 44, 4 }, { -77, -47, 8, 1, 44, 4 }, { -78, -47, 8, 1, 44, 4 }, { -79, -46, 9, 1, 44, 4 }, { -80, -46, 9, 1, 44, 4 }, - { -81, -46, 9, 1, 44, 4 }, { -82, -46, 9, 1, 44, 4 }, { -83, -46, 9, 1, 44, 4 }, { -84, -45, 9, 1, 44, 4 }, { -85, -45, 9, 1, 44, 4 }, - { -86, -45, 9, 2, 44, 4 }, { -87, -45, 9, 2, 44, 4 }, { -88, -44, 9, 2, 44, 4 }, { -89, -44, 9, 2, 44, 4 }, { -90, -44, 9, 2, 44, 4 }, - { -91, -43, 9, 2, 44, 4 }, { -92, -43, 9, 2, 44, 4 }, { -93, -43, 10, 2, 44, 4 }, { -94, -42, 10, 2, 44, 4 }, { -95, -42, 10, 2, 44, 4 }, - { -96, -41, 10, 2, 44, 4 }, { -97, -41, 10, 2, 44, 4 }, { -98, -40, 10, 2, 44, 4 }, { -99, -40, 10, 2, 44, 4 }, { -100, -39, 10, 2, 44, 4 }, - { -101, -39, 10, 3, 44, 4 }, { -102, -38, 10, 3, 44, 4 }, { -103, -38, 10, 3, 44, 4 }, { -104, -37, 10, 3, 44, 4 }, { -105, -36, 10, 3, 44, 4 }, - { -106, -36, 10, 3, 44, 4 }, { -107, -35, 11, 3, 44, 4 }, { -108, -34, 11, 3, 44, 4 }, { -109, -34, 11, 3, 44, 4 }, { -110, -33, 11, 3, 44, 4 }, - { -111, -32, 11, 3, 44, 4 }, { -112, -32, 11, 3, 44, 4 }, { -113, -31, 11, 3, 44, 4 }, { -114, -30, 11, 4, 44, 4 }, { -115, -29, 11, 4, 44, 4 }, - { -116, -29, 11, 4, 44, 4 }, { -117, -28, 11, 4, 44, 4 }, { -118, -27, 11, 4, 44, 4 }, { -119, -26, 11, 4, 44, 4 }, { -120, -25, 11, 4, 44, 4 }, - { -121, -25, 12, 4, 44, 4 }, { -122, -24, 12, 4, 44, 4 }, { -123, -23, 12, 4, 44, 4 }, { -124, -22, 12, 4, 44, 4 }, { -125, -21, 12, 4, 44, 4 }, - { -125, -20, 12, 4, 44, 4 }, { -126, -19, 12, 5, 44, 4 }, { -127, -18, 12, 5, 44, 4 }, { -128, -17, 12, 5, 44, 4 }, { -128, -16, 12, 5, 44, 4 }, - { -129, -15, 12, 5, 44, 4 }, { -130, -14, 12, 5, 44, 4 }, { -130, -13, 12, 5, 44, 4 }, { -131, -12, 12, 5, 44, 4 }, { -132, -11, 13, 5, 44, 4 }, - { -132, -10, 13, 5, 44, 4 }, { -133, -9, 13, 5, 44, 4 }, { -134, -8, 13, 5, 44, 4 }, { -134, -7, 13, 5, 44, 4 }, { -135, -6, 13, 6, 44, 4 }, - { -135, -5, 13, 6, 44, 4 }, { -136, -4, 13, 6, 44, 4 }, { -136, -3, 13, 6, 44, 4 }, { -137, -2, 13, 6, 44, 4 }, { -137, -1, 13, 6, 44, 4 }, - { -138, 0, 13, 6, 44, 4 }, { -138, 1, 13, 6, 44, 4 }, { -139, 2, 13, 6, 44, 4 }, { -139, 3, 14, 6, 44, 4 }, { -139, 4, 14, 6, 44, 4 }, - { -140, 5, 14, 6, 44, 4 }, { -140, 6, 14, 6, 44, 4 }, { -140, 7, 14, 6, 44, 4 }, { -141, 8, 14, 7, 44, 4 }, { -141, 9, 14, 7, 44, 4 }, - { -141, 10, 14, 7, 44, 4 }, { -141, 11, 14, 7, 44, 4 }, { -142, 12, 14, 7, 44, 4 }, { -142, 13, 14, 7, 44, 4 }, { -142, 14, 14, 7, 44, 4 }, - { -142, 15, 14, 7, 44, 4 }, { -142, 16, 14, 7, 44, 4 }, { -143, 17, 15, 7, 44, 4 }, { -143, 18, 15, 7, 44, 4 }, { -143, 19, 15, 7, 44, 4 }, - { -143, 20, 15, 7, 44, 4 }, { -143, 21, 15, 7, 44, 4 }, { -143, 22, 15, 7, 44, 4 }, { -144, 23, 15, 7, 44, 4 }, { -144, 24, 15, 8, 44, 4 }, - { -144, 25, 15, 8, 44, 4 }, { -144, 26, 15, 8, 44, 4 }, { -144, 27, 15, 8, 44, 4 }, { -144, 28, 15, 8, 44, 4 }, { -144, 29, 15, 8, 44, 4 }, - { -144, 30, 15, 8, 44, 4 }, { -144, 31, 16, 8, 44, 4 }, + 227, { + { 16, 31, 0, 24, 44, 4 }, { 16, 30, 0, 24, 44, 4 }, { 16, 29, 0, 24, 44, 4 }, { 16, 28, 0, 24, 44, 4 }, { 16, 27, 0, 24, 44, 4 }, + { 16, 26, 0, 24, 44, 4 }, { 16, 25, 0, 24, 44, 4 }, { 16, 24, 0, 25, 44, 4 }, { 15, 23, 0, 25, 44, 4 }, { 15, 22, 0, 25, 44, 4 }, + { 15, 21, 0, 25, 44, 4 }, { 15, 20, 0, 25, 44, 4 }, { 15, 19, 0, 25, 44, 4 }, { 15, 18, 0, 25, 44, 4 }, { 14, 17, 1, 25, 44, 4 }, + { 14, 16, 1, 25, 44, 4 }, { 14, 15, 1, 25, 44, 4 }, { 14, 14, 1, 25, 44, 4 }, { 14, 13, 1, 25, 44, 4 }, { 13, 12, 1, 25, 44, 4 }, + { 13, 11, 1, 25, 44, 4 }, { 13, 10, 1, 26, 44, 4 }, { 13, 9, 1, 26, 44, 4 }, { 12, 8, 1, 26, 44, 4 }, { 12, 7, 1, 26, 44, 4 }, + { 12, 6, 1, 26, 44, 4 }, { 11, 5, 1, 26, 44, 4 }, { 11, 4, 1, 26, 44, 4 }, { 11, 3, 2, 26, 44, 4 }, { 10, 2, 2, 26, 44, 4 }, + { 10, 1, 2, 26, 44, 4 }, { 9, 0, 2, 26, 44, 4 }, { 9, -1, 2, 26, 44, 4 }, { 8, -2, 2, 26, 44, 4 }, { 8, -3, 2, 26, 44, 4 }, + { 7, -4, 2, 26, 44, 4 }, { 7, -5, 2, 27, 44, 4 }, { 6, -6, 2, 27, 44, 4 }, { 6, -7, 2, 27, 44, 4 }, { 5, -8, 2, 27, 44, 4 }, + { 4, -9, 2, 27, 44, 4 }, { 4, -10, 2, 27, 44, 4 }, { 3, -11, 3, 27, 44, 4 }, { 2, -12, 3, 27, 44, 4 }, { 2, -13, 3, 27, 44, 4 }, + { 1, -14, 3, 27, 44, 4 }, { 0, -15, 3, 27, 44, 4 }, { 0, -16, 3, 27, 44, 4 }, { -1, -17, 3, 27, 44, 4 }, { -2, -18, 3, 28, 44, 4 }, + { -3, -19, 3, 28, 44, 4 }, { -3, -20, 3, 28, 44, 4 }, { -4, -21, 3, 28, 44, 4 }, { -5, -22, 3, 28, 44, 4 }, { -6, -23, 3, 28, 44, 4 }, + { -7, -24, 3, 28, 44, 4 }, { -7, -25, 4, 28, 44, 4 }, { -8, -26, 4, 28, 44, 4 }, { -9, -27, 4, 28, 44, 4 }, { -10, -28, 4, 28, 44, 4 }, + { -11, -29, 4, 28, 44, 4 }, { -12, -29, 4, 28, 44, 4 }, { -13, -30, 4, 29, 44, 4 }, { -14, -31, 4, 29, 44, 4 }, { -15, -32, 4, 29, 44, 4 }, + { -16, -32, 4, 29, 44, 4 }, { -17, -33, 4, 29, 44, 4 }, { -18, -34, 4, 29, 44, 4 }, { -19, -34, 4, 29, 44, 4 }, { -20, -35, 4, 29, 44, 4 }, + { -21, -36, 4, 29, 44, 4 }, { -22, -36, 5, 29, 44, 4 }, { -23, -37, 5, 29, 44, 4 }, { -24, -38, 5, 29, 44, 4 }, { -25, -38, 5, 29, 44, 4 }, + { -26, -39, 5, 30, 44, 4 }, { -27, -39, 5, 30, 44, 4 }, { -28, -40, 5, 30, 44, 4 }, { -29, -40, 5, 30, 44, 4 }, { -30, -41, 5, 30, 44, 4 }, + { -31, -41, 5, 30, 44, 4 }, { -32, -42, 5, 30, 44, 4 }, { -33, -42, 5, 30, 44, 4 }, { -34, -43, 5, 30, 44, 4 }, { -35, -43, 5, 30, 44, 4 }, + { -36, -43, 6, 30, 44, 4 }, { -37, -44, 6, 30, 44, 4 }, { -38, -44, 6, 30, 44, 4 }, { -39, -44, 6, 30, 44, 4 }, { -40, -45, 6, 31, 44, 4 }, + { -41, -45, 6, 31, 44, 4 }, { -42, -45, 6, 31, 44, 4 }, { -43, -45, 6, 31, 44, 4 }, { -44, -46, 6, 31, 44, 4 }, { -45, -46, 6, 31, 44, 4 }, + { -46, -46, 6, 31, 44, 4 }, { -47, -46, 6, 31, 44, 4 }, { -48, -46, 6, 31, 44, 4 }, { -49, -47, 6, 31, 44, 4 }, { -50, -47, 7, 31, 44, 4 }, + { -51, -47, 7, 31, 44, 4 }, { -52, -47, 7, 31, 44, 4 }, { -53, -47, 7, 31, 44, 4 }, { -54, -47, 7, 31, 44, 4 }, { -55, -48, 7, 31, 44, 4 }, + { -56, -48, 7, 0, 44, 4 }, { -57, -48, 7, 0, 44, 4 }, { -58, -48, 7, 0, 44, 4 }, { -59, -48, 7, 0, 44, 4 }, { -60, -48, 7, 0, 44, 4 }, + { -61, -48, 7, 0, 44, 4 }, { -62, -48, 7, 0, 44, 4 }, { -63, -48, 7, 0, 44, 4 }, { -64, -48, 8, 0, 44, 4 }, { -65, -48, 8, 0, 44, 4 }, + { -66, -48, 8, 0, 44, 4 }, { -67, -48, 8, 0, 44, 4 }, { -68, -48, 8, 0, 44, 4 }, { -69, -48, 8, 0, 44, 4 }, { -70, -48, 8, 0, 44, 4 }, + { -71, -48, 8, 0, 44, 4 }, { -72, -48, 8, 1, 44, 4 }, { -73, -47, 8, 1, 44, 4 }, { -74, -47, 8, 1, 44, 4 }, { -75, -47, 8, 1, 44, 4 }, + { -76, -47, 8, 1, 44, 4 }, { -77, -47, 8, 1, 44, 4 }, { -78, -47, 8, 1, 44, 4 }, { -79, -46, 9, 1, 44, 4 }, { -80, -46, 9, 1, 44, 4 }, + { -81, -46, 9, 1, 44, 4 }, { -82, -46, 9, 1, 44, 4 }, { -83, -46, 9, 1, 44, 4 }, { -84, -45, 9, 1, 44, 4 }, { -85, -45, 9, 1, 44, 4 }, + { -86, -45, 9, 2, 44, 4 }, { -87, -45, 9, 2, 44, 4 }, { -88, -44, 9, 2, 44, 4 }, { -89, -44, 9, 2, 44, 4 }, { -90, -44, 9, 2, 44, 4 }, + { -91, -43, 9, 2, 44, 4 }, { -92, -43, 9, 2, 44, 4 }, { -93, -43, 10, 2, 44, 4 }, { -94, -42, 10, 2, 44, 4 }, { -95, -42, 10, 2, 44, 4 }, + { -96, -41, 10, 2, 44, 4 }, { -97, -41, 10, 2, 44, 4 }, { -98, -40, 10, 2, 44, 4 }, { -99, -40, 10, 2, 44, 4 }, { -100, -39, 10, 2, 44, 4 }, + { -101, -39, 10, 3, 44, 4 }, { -102, -38, 10, 3, 44, 4 }, { -103, -38, 10, 3, 44, 4 }, { -104, -37, 10, 3, 44, 4 }, { -105, -36, 10, 3, 44, 4 }, + { -106, -36, 10, 3, 44, 4 }, { -107, -35, 11, 3, 44, 4 }, { -108, -34, 11, 3, 44, 4 }, { -109, -34, 11, 3, 44, 4 }, { -110, -33, 11, 3, 44, 4 }, + { -111, -32, 11, 3, 44, 4 }, { -112, -32, 11, 3, 44, 4 }, { -113, -31, 11, 3, 44, 4 }, { -114, -30, 11, 4, 44, 4 }, { -115, -29, 11, 4, 44, 4 }, + { -116, -29, 11, 4, 44, 4 }, { -117, -28, 11, 4, 44, 4 }, { -118, -27, 11, 4, 44, 4 }, { -119, -26, 11, 4, 44, 4 }, { -120, -25, 11, 4, 44, 4 }, + { -121, -25, 12, 4, 44, 4 }, { -122, -24, 12, 4, 44, 4 }, { -123, -23, 12, 4, 44, 4 }, { -124, -22, 12, 4, 44, 4 }, { -125, -21, 12, 4, 44, 4 }, + { -125, -20, 12, 4, 44, 4 }, { -126, -19, 12, 5, 44, 4 }, { -127, -18, 12, 5, 44, 4 }, { -128, -17, 12, 5, 44, 4 }, { -128, -16, 12, 5, 44, 4 }, + { -129, -15, 12, 5, 44, 4 }, { -130, -14, 12, 5, 44, 4 }, { -130, -13, 12, 5, 44, 4 }, { -131, -12, 12, 5, 44, 4 }, { -132, -11, 13, 5, 44, 4 }, + { -132, -10, 13, 5, 44, 4 }, { -133, -9, 13, 5, 44, 4 }, { -134, -8, 13, 5, 44, 4 }, { -134, -7, 13, 5, 44, 4 }, { -135, -6, 13, 6, 44, 4 }, + { -135, -5, 13, 6, 44, 4 }, { -136, -4, 13, 6, 44, 4 }, { -136, -3, 13, 6, 44, 4 }, { -137, -2, 13, 6, 44, 4 }, { -137, -1, 13, 6, 44, 4 }, + { -138, 0, 13, 6, 44, 4 }, { -138, 1, 13, 6, 44, 4 }, { -139, 2, 13, 6, 44, 4 }, { -139, 3, 14, 6, 44, 4 }, { -139, 4, 14, 6, 44, 4 }, + { -140, 5, 14, 6, 44, 4 }, { -140, 6, 14, 6, 44, 4 }, { -140, 7, 14, 6, 44, 4 }, { -141, 8, 14, 7, 44, 4 }, { -141, 9, 14, 7, 44, 4 }, + { -141, 10, 14, 7, 44, 4 }, { -141, 11, 14, 7, 44, 4 }, { -142, 12, 14, 7, 44, 4 }, { -142, 13, 14, 7, 44, 4 }, { -142, 14, 14, 7, 44, 4 }, + { -142, 15, 14, 7, 44, 4 }, { -142, 16, 14, 7, 44, 4 }, { -143, 17, 15, 7, 44, 4 }, { -143, 18, 15, 7, 44, 4 }, { -143, 19, 15, 7, 44, 4 }, + { -143, 20, 15, 7, 44, 4 }, { -143, 21, 15, 7, 44, 4 }, { -143, 22, 15, 7, 44, 4 }, { -144, 23, 15, 7, 44, 4 }, { -144, 24, 15, 8, 44, 4 }, + { -144, 25, 15, 8, 44, 4 }, { -144, 26, 15, 8, 44, 4 }, { -144, 27, 15, 8, 44, 4 }, { -144, 28, 15, 8, 44, 4 }, { -144, 29, 15, 8, 44, 4 }, + { -144, 30, 15, 8, 44, 4 }, { -144, 31, 16, 8, 44, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F4C52 = { - 227, { - { 31, 16, 8, 0, 46, 2 }, { 30, 16, 8, 0, 46, 2 }, { 29, 16, 8, 0, 46, 2 }, { 28, 16, 8, 0, 46, 2 }, { 27, 16, 8, 0, 46, 2 }, - { 26, 16, 8, 0, 46, 2 }, { 25, 16, 8, 0, 46, 2 }, { 24, 16, 8, 31, 46, 2 }, { 23, 15, 8, 31, 46, 2 }, { 22, 15, 8, 31, 46, 2 }, - { 21, 15, 8, 31, 46, 2 }, { 20, 15, 8, 31, 46, 2 }, { 19, 15, 8, 31, 46, 2 }, { 18, 15, 8, 31, 46, 2 }, { 17, 14, 7, 31, 46, 2 }, - { 16, 14, 7, 31, 46, 2 }, { 15, 14, 7, 31, 46, 2 }, { 14, 14, 7, 31, 46, 2 }, { 13, 14, 7, 31, 46, 2 }, { 12, 13, 7, 31, 46, 2 }, - { 11, 13, 7, 31, 46, 2 }, { 10, 13, 7, 30, 46, 2 }, { 9, 13, 7, 30, 46, 2 }, { 8, 12, 7, 30, 46, 2 }, { 7, 12, 7, 30, 46, 2 }, - { 6, 12, 7, 30, 46, 2 }, { 5, 11, 7, 30, 46, 2 }, { 4, 11, 7, 30, 46, 2 }, { 3, 11, 6, 30, 46, 2 }, { 2, 10, 6, 30, 46, 2 }, - { 1, 10, 6, 30, 46, 2 }, { 0, 9, 6, 30, 46, 2 }, { -1, 9, 6, 30, 46, 2 }, { -2, 8, 6, 30, 46, 2 }, { -3, 8, 6, 30, 46, 2 }, - { -4, 7, 6, 30, 46, 2 }, { -5, 7, 6, 29, 46, 2 }, { -6, 6, 6, 29, 46, 2 }, { -7, 6, 6, 29, 46, 2 }, { -8, 5, 6, 29, 46, 2 }, - { -9, 4, 6, 29, 46, 2 }, { -10, 4, 6, 29, 46, 2 }, { -11, 3, 5, 29, 46, 2 }, { -12, 2, 5, 29, 46, 2 }, { -13, 2, 5, 29, 46, 2 }, - { -14, 1, 5, 29, 46, 2 }, { -15, 0, 5, 29, 46, 2 }, { -16, 0, 5, 29, 46, 2 }, { -17, -1, 5, 29, 46, 2 }, { -18, -2, 5, 28, 46, 2 }, - { -19, -3, 5, 28, 46, 2 }, { -20, -3, 5, 28, 46, 2 }, { -21, -4, 5, 28, 46, 2 }, { -22, -5, 5, 28, 46, 2 }, { -23, -6, 5, 28, 46, 2 }, - { -24, -7, 5, 28, 46, 2 }, { -25, -7, 4, 28, 46, 2 }, { -26, -8, 4, 28, 46, 2 }, { -27, -9, 4, 28, 46, 2 }, { -28, -10, 4, 28, 46, 2 }, - { -29, -11, 4, 28, 46, 2 }, { -29, -12, 4, 28, 46, 2 }, { -30, -13, 4, 27, 46, 2 }, { -31, -14, 4, 27, 46, 2 }, { -32, -15, 4, 27, 46, 2 }, - { -32, -16, 4, 27, 46, 2 }, { -33, -17, 4, 27, 46, 2 }, { -34, -18, 4, 27, 46, 2 }, { -34, -19, 4, 27, 46, 2 }, { -35, -20, 4, 27, 46, 2 }, - { -36, -21, 4, 27, 46, 2 }, { -36, -22, 3, 27, 46, 2 }, { -37, -23, 3, 27, 46, 2 }, { -38, -24, 3, 27, 46, 2 }, { -38, -25, 3, 27, 46, 2 }, - { -39, -26, 3, 26, 46, 2 }, { -39, -27, 3, 26, 46, 2 }, { -40, -28, 3, 26, 46, 2 }, { -40, -29, 3, 26, 46, 2 }, { -41, -30, 3, 26, 46, 2 }, - { -41, -31, 3, 26, 46, 2 }, { -42, -32, 3, 26, 46, 2 }, { -42, -33, 3, 26, 46, 2 }, { -43, -34, 3, 26, 46, 2 }, { -43, -35, 3, 26, 46, 2 }, - { -43, -36, 2, 26, 46, 2 }, { -44, -37, 2, 26, 46, 2 }, { -44, -38, 2, 26, 46, 2 }, { -44, -39, 2, 26, 46, 2 }, { -45, -40, 2, 25, 46, 2 }, - { -45, -41, 2, 25, 46, 2 }, { -45, -42, 2, 25, 46, 2 }, { -45, -43, 2, 25, 46, 2 }, { -46, -44, 2, 25, 46, 2 }, { -46, -45, 2, 25, 46, 2 }, - { -46, -46, 2, 25, 46, 2 }, { -46, -47, 2, 25, 46, 2 }, { -46, -48, 2, 25, 46, 2 }, { -47, -49, 2, 25, 46, 2 }, { -47, -50, 1, 25, 46, 2 }, - { -47, -51, 1, 25, 46, 2 }, { -47, -52, 1, 25, 46, 2 }, { -47, -53, 1, 25, 46, 2 }, { -47, -54, 1, 25, 46, 2 }, { -48, -55, 1, 25, 46, 2 }, - { -48, -56, 1, 24, 46, 2 }, { -48, -57, 1, 24, 46, 2 }, { -48, -58, 1, 24, 46, 2 }, { -48, -59, 1, 24, 46, 2 }, { -48, -60, 1, 24, 46, 2 }, - { -48, -61, 1, 24, 46, 2 }, { -48, -62, 1, 24, 46, 2 }, { -48, -63, 1, 24, 46, 2 }, { -48, -64, 0, 24, 46, 2 }, { -48, -65, 0, 24, 46, 2 }, - { -48, -66, 0, 24, 46, 2 }, { -48, -67, 0, 24, 46, 2 }, { -48, -68, 0, 24, 46, 2 }, { -48, -69, 0, 24, 46, 2 }, { -48, -70, 0, 24, 46, 2 }, - { -48, -71, 0, 24, 46, 2 }, { -48, -72, 0, 23, 46, 2 }, { -47, -73, 0, 23, 46, 2 }, { -47, -74, 0, 23, 46, 2 }, { -47, -75, 0, 23, 46, 2 }, - { -47, -76, 0, 23, 46, 2 }, { -47, -77, 0, 23, 46, 2 }, { -47, -78, 0, 23, 46, 2 }, { -46, -79, -1, 23, 46, 2 }, { -46, -80, -1, 23, 46, 2 }, - { -46, -81, -1, 23, 46, 2 }, { -46, -82, -1, 23, 46, 2 }, { -46, -83, -1, 23, 46, 2 }, { -45, -84, -1, 23, 46, 2 }, { -45, -85, -1, 23, 46, 2 }, - { -45, -86, -1, 22, 46, 2 }, { -45, -87, -1, 22, 46, 2 }, { -44, -88, -1, 22, 46, 2 }, { -44, -89, -1, 22, 46, 2 }, { -44, -90, -1, 22, 46, 2 }, - { -43, -91, -1, 22, 46, 2 }, { -43, -92, -1, 22, 46, 2 }, { -43, -93, -2, 22, 46, 2 }, { -42, -94, -2, 22, 46, 2 }, { -42, -95, -2, 22, 46, 2 }, - { -41, -96, -2, 22, 46, 2 }, { -41, -97, -2, 22, 46, 2 }, { -40, -98, -2, 22, 46, 2 }, { -40, -99, -2, 22, 46, 2 }, { -39, -100, -2, 22, 46, 2 }, - { -39, -101, -2, 21, 46, 2 }, { -38, -102, -2, 21, 46, 2 }, { -38, -103, -2, 21, 46, 2 }, { -37, -104, -2, 21, 46, 2 }, { -36, -105, -2, 21, 46, 2 }, - { -36, -106, -2, 21, 46, 2 }, { -35, -107, -3, 21, 46, 2 }, { -34, -108, -3, 21, 46, 2 }, { -34, -109, -3, 21, 46, 2 }, { -33, -110, -3, 21, 46, 2 }, - { -32, -111, -3, 21, 46, 2 }, { -32, -112, -3, 21, 46, 2 }, { -31, -113, -3, 21, 46, 2 }, { -30, -114, -3, 20, 46, 2 }, { -29, -115, -3, 20, 46, 2 }, - { -29, -116, -3, 20, 46, 2 }, { -28, -117, -3, 20, 46, 2 }, { -27, -118, -3, 20, 46, 2 }, { -26, -119, -3, 20, 46, 2 }, { -25, -120, -3, 20, 46, 2 }, - { -25, -121, -4, 20, 46, 2 }, { -24, -122, -4, 20, 46, 2 }, { -23, -123, -4, 20, 46, 2 }, { -22, -124, -4, 20, 46, 2 }, { -21, -125, -4, 20, 46, 2 }, - { -20, -125, -4, 20, 46, 2 }, { -19, -126, -4, 19, 46, 2 }, { -18, -127, -4, 19, 46, 2 }, { -17, -128, -4, 19, 46, 2 }, { -16, -128, -4, 19, 46, 2 }, - { -15, -129, -4, 19, 46, 2 }, { -14, -130, -4, 19, 46, 2 }, { -13, -130, -4, 19, 46, 2 }, { -12, -131, -4, 19, 46, 2 }, { -11, -132, -5, 19, 46, 2 }, - { -10, -132, -5, 19, 46, 2 }, { -9, -133, -5, 19, 46, 2 }, { -8, -134, -5, 19, 46, 2 }, { -7, -134, -5, 19, 46, 2 }, { -6, -135, -5, 18, 46, 2 }, - { -5, -135, -5, 18, 46, 2 }, { -4, -136, -5, 18, 46, 2 }, { -3, -136, -5, 18, 46, 2 }, { -2, -137, -5, 18, 46, 2 }, { -1, -137, -5, 18, 46, 2 }, - { 0, -138, -5, 18, 46, 2 }, { 1, -138, -5, 18, 46, 2 }, { 2, -139, -5, 18, 46, 2 }, { 3, -139, -6, 18, 46, 2 }, { 4, -139, -6, 18, 46, 2 }, - { 5, -140, -6, 18, 46, 2 }, { 6, -140, -6, 18, 46, 2 }, { 7, -140, -6, 18, 46, 2 }, { 8, -141, -6, 17, 46, 2 }, { 9, -141, -6, 17, 46, 2 }, - { 10, -141, -6, 17, 46, 2 }, { 11, -141, -6, 17, 46, 2 }, { 12, -142, -6, 17, 46, 2 }, { 13, -142, -6, 17, 46, 2 }, { 14, -142, -6, 17, 46, 2 }, - { 15, -142, -6, 17, 46, 2 }, { 16, -142, -6, 17, 46, 2 }, { 17, -143, -7, 17, 46, 2 }, { 18, -143, -7, 17, 46, 2 }, { 19, -143, -7, 17, 46, 2 }, - { 20, -143, -7, 17, 46, 2 }, { 21, -143, -7, 17, 46, 2 }, { 22, -143, -7, 17, 46, 2 }, { 23, -144, -7, 17, 46, 2 }, { 24, -144, -7, 16, 46, 2 }, - { 25, -144, -7, 16, 46, 2 }, { 26, -144, -7, 16, 46, 2 }, { 27, -144, -7, 16, 46, 2 }, { 28, -144, -7, 16, 46, 2 }, { 29, -144, -7, 16, 46, 2 }, - { 30, -144, -7, 16, 46, 2 }, { 31, -144, -8, 16, 46, 2 }, + 227, { + { 31, 16, 8, 0, 46, 2 }, { 30, 16, 8, 0, 46, 2 }, { 29, 16, 8, 0, 46, 2 }, { 28, 16, 8, 0, 46, 2 }, { 27, 16, 8, 0, 46, 2 }, + { 26, 16, 8, 0, 46, 2 }, { 25, 16, 8, 0, 46, 2 }, { 24, 16, 8, 31, 46, 2 }, { 23, 15, 8, 31, 46, 2 }, { 22, 15, 8, 31, 46, 2 }, + { 21, 15, 8, 31, 46, 2 }, { 20, 15, 8, 31, 46, 2 }, { 19, 15, 8, 31, 46, 2 }, { 18, 15, 8, 31, 46, 2 }, { 17, 14, 7, 31, 46, 2 }, + { 16, 14, 7, 31, 46, 2 }, { 15, 14, 7, 31, 46, 2 }, { 14, 14, 7, 31, 46, 2 }, { 13, 14, 7, 31, 46, 2 }, { 12, 13, 7, 31, 46, 2 }, + { 11, 13, 7, 31, 46, 2 }, { 10, 13, 7, 30, 46, 2 }, { 9, 13, 7, 30, 46, 2 }, { 8, 12, 7, 30, 46, 2 }, { 7, 12, 7, 30, 46, 2 }, + { 6, 12, 7, 30, 46, 2 }, { 5, 11, 7, 30, 46, 2 }, { 4, 11, 7, 30, 46, 2 }, { 3, 11, 6, 30, 46, 2 }, { 2, 10, 6, 30, 46, 2 }, + { 1, 10, 6, 30, 46, 2 }, { 0, 9, 6, 30, 46, 2 }, { -1, 9, 6, 30, 46, 2 }, { -2, 8, 6, 30, 46, 2 }, { -3, 8, 6, 30, 46, 2 }, + { -4, 7, 6, 30, 46, 2 }, { -5, 7, 6, 29, 46, 2 }, { -6, 6, 6, 29, 46, 2 }, { -7, 6, 6, 29, 46, 2 }, { -8, 5, 6, 29, 46, 2 }, + { -9, 4, 6, 29, 46, 2 }, { -10, 4, 6, 29, 46, 2 }, { -11, 3, 5, 29, 46, 2 }, { -12, 2, 5, 29, 46, 2 }, { -13, 2, 5, 29, 46, 2 }, + { -14, 1, 5, 29, 46, 2 }, { -15, 0, 5, 29, 46, 2 }, { -16, 0, 5, 29, 46, 2 }, { -17, -1, 5, 29, 46, 2 }, { -18, -2, 5, 28, 46, 2 }, + { -19, -3, 5, 28, 46, 2 }, { -20, -3, 5, 28, 46, 2 }, { -21, -4, 5, 28, 46, 2 }, { -22, -5, 5, 28, 46, 2 }, { -23, -6, 5, 28, 46, 2 }, + { -24, -7, 5, 28, 46, 2 }, { -25, -7, 4, 28, 46, 2 }, { -26, -8, 4, 28, 46, 2 }, { -27, -9, 4, 28, 46, 2 }, { -28, -10, 4, 28, 46, 2 }, + { -29, -11, 4, 28, 46, 2 }, { -29, -12, 4, 28, 46, 2 }, { -30, -13, 4, 27, 46, 2 }, { -31, -14, 4, 27, 46, 2 }, { -32, -15, 4, 27, 46, 2 }, + { -32, -16, 4, 27, 46, 2 }, { -33, -17, 4, 27, 46, 2 }, { -34, -18, 4, 27, 46, 2 }, { -34, -19, 4, 27, 46, 2 }, { -35, -20, 4, 27, 46, 2 }, + { -36, -21, 4, 27, 46, 2 }, { -36, -22, 3, 27, 46, 2 }, { -37, -23, 3, 27, 46, 2 }, { -38, -24, 3, 27, 46, 2 }, { -38, -25, 3, 27, 46, 2 }, + { -39, -26, 3, 26, 46, 2 }, { -39, -27, 3, 26, 46, 2 }, { -40, -28, 3, 26, 46, 2 }, { -40, -29, 3, 26, 46, 2 }, { -41, -30, 3, 26, 46, 2 }, + { -41, -31, 3, 26, 46, 2 }, { -42, -32, 3, 26, 46, 2 }, { -42, -33, 3, 26, 46, 2 }, { -43, -34, 3, 26, 46, 2 }, { -43, -35, 3, 26, 46, 2 }, + { -43, -36, 2, 26, 46, 2 }, { -44, -37, 2, 26, 46, 2 }, { -44, -38, 2, 26, 46, 2 }, { -44, -39, 2, 26, 46, 2 }, { -45, -40, 2, 25, 46, 2 }, + { -45, -41, 2, 25, 46, 2 }, { -45, -42, 2, 25, 46, 2 }, { -45, -43, 2, 25, 46, 2 }, { -46, -44, 2, 25, 46, 2 }, { -46, -45, 2, 25, 46, 2 }, + { -46, -46, 2, 25, 46, 2 }, { -46, -47, 2, 25, 46, 2 }, { -46, -48, 2, 25, 46, 2 }, { -47, -49, 2, 25, 46, 2 }, { -47, -50, 1, 25, 46, 2 }, + { -47, -51, 1, 25, 46, 2 }, { -47, -52, 1, 25, 46, 2 }, { -47, -53, 1, 25, 46, 2 }, { -47, -54, 1, 25, 46, 2 }, { -48, -55, 1, 25, 46, 2 }, + { -48, -56, 1, 24, 46, 2 }, { -48, -57, 1, 24, 46, 2 }, { -48, -58, 1, 24, 46, 2 }, { -48, -59, 1, 24, 46, 2 }, { -48, -60, 1, 24, 46, 2 }, + { -48, -61, 1, 24, 46, 2 }, { -48, -62, 1, 24, 46, 2 }, { -48, -63, 1, 24, 46, 2 }, { -48, -64, 0, 24, 46, 2 }, { -48, -65, 0, 24, 46, 2 }, + { -48, -66, 0, 24, 46, 2 }, { -48, -67, 0, 24, 46, 2 }, { -48, -68, 0, 24, 46, 2 }, { -48, -69, 0, 24, 46, 2 }, { -48, -70, 0, 24, 46, 2 }, + { -48, -71, 0, 24, 46, 2 }, { -48, -72, 0, 23, 46, 2 }, { -47, -73, 0, 23, 46, 2 }, { -47, -74, 0, 23, 46, 2 }, { -47, -75, 0, 23, 46, 2 }, + { -47, -76, 0, 23, 46, 2 }, { -47, -77, 0, 23, 46, 2 }, { -47, -78, 0, 23, 46, 2 }, { -46, -79, -1, 23, 46, 2 }, { -46, -80, -1, 23, 46, 2 }, + { -46, -81, -1, 23, 46, 2 }, { -46, -82, -1, 23, 46, 2 }, { -46, -83, -1, 23, 46, 2 }, { -45, -84, -1, 23, 46, 2 }, { -45, -85, -1, 23, 46, 2 }, + { -45, -86, -1, 22, 46, 2 }, { -45, -87, -1, 22, 46, 2 }, { -44, -88, -1, 22, 46, 2 }, { -44, -89, -1, 22, 46, 2 }, { -44, -90, -1, 22, 46, 2 }, + { -43, -91, -1, 22, 46, 2 }, { -43, -92, -1, 22, 46, 2 }, { -43, -93, -2, 22, 46, 2 }, { -42, -94, -2, 22, 46, 2 }, { -42, -95, -2, 22, 46, 2 }, + { -41, -96, -2, 22, 46, 2 }, { -41, -97, -2, 22, 46, 2 }, { -40, -98, -2, 22, 46, 2 }, { -40, -99, -2, 22, 46, 2 }, { -39, -100, -2, 22, 46, 2 }, + { -39, -101, -2, 21, 46, 2 }, { -38, -102, -2, 21, 46, 2 }, { -38, -103, -2, 21, 46, 2 }, { -37, -104, -2, 21, 46, 2 }, { -36, -105, -2, 21, 46, 2 }, + { -36, -106, -2, 21, 46, 2 }, { -35, -107, -3, 21, 46, 2 }, { -34, -108, -3, 21, 46, 2 }, { -34, -109, -3, 21, 46, 2 }, { -33, -110, -3, 21, 46, 2 }, + { -32, -111, -3, 21, 46, 2 }, { -32, -112, -3, 21, 46, 2 }, { -31, -113, -3, 21, 46, 2 }, { -30, -114, -3, 20, 46, 2 }, { -29, -115, -3, 20, 46, 2 }, + { -29, -116, -3, 20, 46, 2 }, { -28, -117, -3, 20, 46, 2 }, { -27, -118, -3, 20, 46, 2 }, { -26, -119, -3, 20, 46, 2 }, { -25, -120, -3, 20, 46, 2 }, + { -25, -121, -4, 20, 46, 2 }, { -24, -122, -4, 20, 46, 2 }, { -23, -123, -4, 20, 46, 2 }, { -22, -124, -4, 20, 46, 2 }, { -21, -125, -4, 20, 46, 2 }, + { -20, -125, -4, 20, 46, 2 }, { -19, -126, -4, 19, 46, 2 }, { -18, -127, -4, 19, 46, 2 }, { -17, -128, -4, 19, 46, 2 }, { -16, -128, -4, 19, 46, 2 }, + { -15, -129, -4, 19, 46, 2 }, { -14, -130, -4, 19, 46, 2 }, { -13, -130, -4, 19, 46, 2 }, { -12, -131, -4, 19, 46, 2 }, { -11, -132, -5, 19, 46, 2 }, + { -10, -132, -5, 19, 46, 2 }, { -9, -133, -5, 19, 46, 2 }, { -8, -134, -5, 19, 46, 2 }, { -7, -134, -5, 19, 46, 2 }, { -6, -135, -5, 18, 46, 2 }, + { -5, -135, -5, 18, 46, 2 }, { -4, -136, -5, 18, 46, 2 }, { -3, -136, -5, 18, 46, 2 }, { -2, -137, -5, 18, 46, 2 }, { -1, -137, -5, 18, 46, 2 }, + { 0, -138, -5, 18, 46, 2 }, { 1, -138, -5, 18, 46, 2 }, { 2, -139, -5, 18, 46, 2 }, { 3, -139, -6, 18, 46, 2 }, { 4, -139, -6, 18, 46, 2 }, + { 5, -140, -6, 18, 46, 2 }, { 6, -140, -6, 18, 46, 2 }, { 7, -140, -6, 18, 46, 2 }, { 8, -141, -6, 17, 46, 2 }, { 9, -141, -6, 17, 46, 2 }, + { 10, -141, -6, 17, 46, 2 }, { 11, -141, -6, 17, 46, 2 }, { 12, -142, -6, 17, 46, 2 }, { 13, -142, -6, 17, 46, 2 }, { 14, -142, -6, 17, 46, 2 }, + { 15, -142, -6, 17, 46, 2 }, { 16, -142, -6, 17, 46, 2 }, { 17, -143, -7, 17, 46, 2 }, { 18, -143, -7, 17, 46, 2 }, { 19, -143, -7, 17, 46, 2 }, + { 20, -143, -7, 17, 46, 2 }, { 21, -143, -7, 17, 46, 2 }, { 22, -143, -7, 17, 46, 2 }, { 23, -144, -7, 17, 46, 2 }, { 24, -144, -7, 16, 46, 2 }, + { 25, -144, -7, 16, 46, 2 }, { 26, -144, -7, 16, 46, 2 }, { 27, -144, -7, 16, 46, 2 }, { 28, -144, -7, 16, 46, 2 }, { 29, -144, -7, 16, 46, 2 }, + { 30, -144, -7, 16, 46, 2 }, { 31, -144, -8, 16, 46, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F544F = { - 229, { - { 16, 0, 8, 8, 46, 2 }, { 16, 1, 8, 8, 46, 2 }, { 16, 2, 8, 8, 46, 2 }, { 16, 3, 8, 8, 46, 2 }, { 16, 4, 8, 8, 46, 2 }, - { 16, 5, 8, 8, 46, 2 }, { 16, 6, 8, 8, 46, 2 }, { 16, 7, 8, 8, 46, 2 }, { 16, 8, 8, 7, 46, 2 }, { 15, 9, 8, 7, 46, 2 }, - { 15, 10, 8, 7, 46, 2 }, { 15, 11, 8, 7, 46, 2 }, { 15, 12, 8, 7, 46, 2 }, { 15, 13, 8, 7, 46, 2 }, { 15, 14, 8, 7, 46, 2 }, - { 14, 15, 7, 7, 46, 2 }, { 14, 16, 7, 7, 46, 2 }, { 14, 17, 7, 7, 46, 2 }, { 14, 18, 7, 7, 46, 2 }, { 14, 19, 7, 7, 46, 2 }, - { 13, 20, 7, 7, 46, 2 }, { 13, 21, 7, 7, 46, 2 }, { 13, 22, 7, 6, 46, 2 }, { 13, 23, 7, 6, 46, 2 }, { 12, 24, 7, 6, 46, 2 }, - { 12, 25, 7, 6, 46, 2 }, { 12, 26, 7, 6, 46, 2 }, { 11, 27, 7, 6, 46, 2 }, { 11, 28, 7, 6, 46, 2 }, { 11, 29, 6, 6, 46, 2 }, - { 10, 30, 6, 6, 46, 2 }, { 10, 31, 6, 6, 46, 2 }, { 9, 32, 6, 6, 46, 2 }, { 9, 33, 6, 6, 46, 2 }, { 8, 34, 6, 6, 46, 2 }, - { 8, 35, 6, 6, 46, 2 }, { 7, 36, 6, 6, 46, 2 }, { 7, 37, 6, 5, 46, 2 }, { 6, 38, 6, 5, 46, 2 }, { 6, 39, 6, 5, 46, 2 }, - { 5, 40, 6, 5, 46, 2 }, { 4, 41, 6, 5, 46, 2 }, { 4, 42, 6, 5, 46, 2 }, { 3, 43, 6, 5, 46, 2 }, { 2, 44, 5, 5, 46, 2 }, - { 2, 45, 5, 5, 46, 2 }, { 1, 46, 5, 5, 46, 2 }, { 0, 47, 5, 5, 46, 2 }, { 0, 48, 5, 5, 46, 2 }, { -1, 49, 5, 5, 46, 2 }, - { -2, 50, 5, 4, 46, 2 }, { -3, 51, 5, 4, 46, 2 }, { -3, 52, 5, 4, 46, 2 }, { -4, 53, 5, 4, 46, 2 }, { -5, 54, 5, 4, 46, 2 }, - { -6, 55, 5, 4, 46, 2 }, { -7, 56, 5, 4, 46, 2 }, { -7, 57, 5, 4, 46, 2 }, { -8, 58, 4, 4, 46, 2 }, { -9, 59, 4, 4, 46, 2 }, - { -10, 60, 4, 4, 46, 2 }, { -11, 61, 4, 4, 46, 2 }, { -12, 61, 4, 4, 46, 2 }, { -13, 62, 4, 3, 46, 2 }, { -14, 63, 4, 3, 46, 2 }, - { -15, 64, 4, 3, 46, 2 }, { -16, 64, 4, 3, 46, 2 }, { -17, 65, 4, 3, 46, 2 }, { -18, 66, 4, 3, 46, 2 }, { -19, 66, 4, 3, 46, 2 }, - { -20, 67, 4, 3, 46, 2 }, { -21, 68, 4, 3, 46, 2 }, { -22, 68, 3, 3, 46, 2 }, { -23, 69, 3, 3, 46, 2 }, { -24, 70, 3, 3, 46, 2 }, - { -25, 70, 3, 3, 46, 2 }, { -26, 71, 3, 2, 46, 2 }, { -27, 71, 3, 2, 46, 2 }, { -28, 72, 3, 2, 46, 2 }, { -29, 72, 3, 2, 46, 2 }, - { -30, 73, 3, 2, 46, 2 }, { -31, 73, 3, 2, 46, 2 }, { -32, 74, 3, 2, 46, 2 }, { -33, 74, 3, 2, 46, 2 }, { -34, 75, 3, 2, 46, 2 }, - { -35, 75, 3, 2, 46, 2 }, { -36, 75, 3, 2, 46, 2 }, { -37, 76, 2, 2, 46, 2 }, { -38, 76, 2, 2, 46, 2 }, { -39, 76, 2, 2, 46, 2 }, - { -40, 77, 2, 1, 46, 2 }, { -41, 77, 2, 1, 46, 2 }, { -42, 77, 2, 1, 46, 2 }, { -43, 77, 2, 1, 46, 2 }, { -44, 78, 2, 1, 46, 2 }, - { -45, 78, 2, 1, 46, 2 }, { -46, 78, 2, 1, 46, 2 }, { -47, 78, 2, 1, 46, 2 }, { -48, 78, 2, 1, 46, 2 }, { -49, 79, 2, 1, 46, 2 }, - { -50, 79, 2, 1, 46, 2 }, { -51, 79, 1, 1, 46, 2 }, { -52, 79, 1, 1, 46, 2 }, { -53, 79, 1, 1, 46, 2 }, { -54, 79, 1, 1, 46, 2 }, - { -55, 80, 1, 1, 46, 2 }, { -56, 80, 1, 0, 46, 2 }, { -57, 80, 1, 0, 46, 2 }, { -58, 80, 1, 0, 46, 2 }, { -59, 80, 1, 0, 46, 2 }, - { -60, 80, 1, 0, 46, 2 }, { -61, 80, 1, 0, 46, 2 }, { -62, 80, 1, 0, 46, 2 }, { -63, 80, 1, 0, 46, 2 }, { -64, 80, 1, 0, 46, 2 }, - { -65, 80, 0, 0, 46, 2 }, { -66, 80, 0, 0, 46, 2 }, { -67, 80, 0, 0, 46, 2 }, { -68, 80, 0, 0, 46, 2 }, { -69, 80, 0, 0, 46, 2 }, - { -70, 80, 0, 0, 46, 2 }, { -71, 80, 0, 0, 46, 2 }, { -72, 80, 0, 31, 46, 2 }, { -73, 79, 0, 31, 46, 2 }, { -74, 79, 0, 31, 46, 2 }, - { -75, 79, 0, 31, 46, 2 }, { -76, 79, 0, 31, 46, 2 }, { -77, 79, 0, 31, 46, 2 }, { -78, 79, 0, 31, 46, 2 }, { -79, 78, -1, 31, 46, 2 }, - { -80, 78, -1, 31, 46, 2 }, { -81, 78, -1, 31, 46, 2 }, { -82, 78, -1, 31, 46, 2 }, { -83, 78, -1, 31, 46, 2 }, { -84, 77, -1, 31, 46, 2 }, - { -85, 77, -1, 31, 46, 2 }, { -86, 77, -1, 30, 46, 2 }, { -87, 77, -1, 30, 46, 2 }, { -88, 76, -1, 30, 46, 2 }, { -89, 76, -1, 30, 46, 2 }, - { -90, 76, -1, 30, 46, 2 }, { -91, 75, -1, 30, 46, 2 }, { -92, 75, -1, 30, 46, 2 }, { -93, 75, -2, 30, 46, 2 }, { -94, 74, -2, 30, 46, 2 }, - { -95, 74, -2, 30, 46, 2 }, { -96, 73, -2, 30, 46, 2 }, { -97, 73, -2, 30, 46, 2 }, { -98, 72, -2, 30, 46, 2 }, { -99, 72, -2, 30, 46, 2 }, - { -100, 71, -2, 30, 46, 2 }, { -101, 71, -2, 29, 46, 2 }, { -102, 70, -2, 29, 46, 2 }, { -103, 70, -2, 29, 46, 2 }, { -104, 69, -2, 29, 46, 2 }, - { -105, 68, -2, 29, 46, 2 }, { -106, 68, -2, 29, 46, 2 }, { -107, 67, -3, 29, 46, 2 }, { -108, 66, -3, 29, 46, 2 }, { -109, 66, -3, 29, 46, 2 }, - { -110, 65, -3, 29, 46, 2 }, { -111, 64, -3, 29, 46, 2 }, { -112, 64, -3, 29, 46, 2 }, { -113, 63, -3, 29, 46, 2 }, { -114, 62, -3, 28, 46, 2 }, - { -115, 61, -3, 28, 46, 2 }, { -116, 61, -3, 28, 46, 2 }, { -117, 60, -3, 28, 46, 2 }, { -118, 59, -3, 28, 46, 2 }, { -119, 58, -3, 28, 46, 2 }, - { -120, 57, -3, 28, 46, 2 }, { -121, 57, -4, 28, 46, 2 }, { -122, 56, -4, 28, 46, 2 }, { -123, 55, -4, 28, 46, 2 }, { -124, 54, -4, 28, 46, 2 }, - { -125, 53, -4, 28, 46, 2 }, { -125, 52, -4, 28, 46, 2 }, { -126, 51, -4, 27, 46, 2 }, { -127, 50, -4, 27, 46, 2 }, { -128, 49, -4, 27, 46, 2 }, - { -128, 48, -4, 27, 46, 2 }, { -129, 47, -4, 27, 46, 2 }, { -130, 46, -4, 27, 46, 2 }, { -130, 45, -4, 27, 46, 2 }, { -131, 44, -4, 27, 46, 2 }, - { -132, 43, -4, 27, 46, 2 }, { -132, 42, -5, 27, 46, 2 }, { -133, 41, -5, 27, 46, 2 }, { -134, 40, -5, 27, 46, 2 }, { -134, 39, -5, 27, 46, 2 }, - { -135, 38, -5, 26, 46, 2 }, { -135, 37, -5, 26, 46, 2 }, { -136, 36, -5, 26, 46, 2 }, { -136, 35, -5, 26, 46, 2 }, { -137, 34, -5, 26, 46, 2 }, - { -137, 33, -5, 26, 46, 2 }, { -138, 32, -5, 26, 46, 2 }, { -138, 31, -5, 26, 46, 2 }, { -139, 30, -5, 26, 46, 2 }, { -139, 29, -5, 26, 46, 2 }, - { -139, 28, -6, 26, 46, 2 }, { -140, 27, -6, 26, 46, 2 }, { -140, 26, -6, 26, 46, 2 }, { -140, 25, -6, 26, 46, 2 }, { -141, 24, -6, 25, 46, 2 }, - { -141, 23, -6, 25, 46, 2 }, { -141, 22, -6, 25, 46, 2 }, { -141, 21, -6, 25, 46, 2 }, { -142, 20, -6, 25, 46, 2 }, { -142, 19, -6, 25, 46, 2 }, - { -142, 18, -6, 25, 46, 2 }, { -142, 17, -6, 25, 46, 2 }, { -142, 16, -6, 25, 46, 2 }, { -143, 15, -6, 25, 46, 2 }, { -143, 14, -7, 25, 46, 2 }, - { -143, 13, -7, 25, 46, 2 }, { -143, 12, -7, 25, 46, 2 }, { -143, 11, -7, 25, 46, 2 }, { -143, 10, -7, 25, 46, 2 }, { -144, 9, -7, 25, 46, 2 }, - { -144, 8, -7, 24, 46, 2 }, { -144, 7, -7, 24, 46, 2 }, { -144, 6, -7, 24, 46, 2 }, { -144, 5, -7, 24, 46, 2 }, { -144, 4, -7, 24, 46, 2 }, - { -144, 3, -7, 24, 46, 2 }, { -144, 2, -7, 24, 46, 2 }, { -144, 1, -7, 24, 46, 2 }, { -144, 0, -8, 24, 46, 2 }, + 229, { + { 16, 0, 8, 8, 46, 2 }, { 16, 1, 8, 8, 46, 2 }, { 16, 2, 8, 8, 46, 2 }, { 16, 3, 8, 8, 46, 2 }, { 16, 4, 8, 8, 46, 2 }, + { 16, 5, 8, 8, 46, 2 }, { 16, 6, 8, 8, 46, 2 }, { 16, 7, 8, 8, 46, 2 }, { 16, 8, 8, 7, 46, 2 }, { 15, 9, 8, 7, 46, 2 }, + { 15, 10, 8, 7, 46, 2 }, { 15, 11, 8, 7, 46, 2 }, { 15, 12, 8, 7, 46, 2 }, { 15, 13, 8, 7, 46, 2 }, { 15, 14, 8, 7, 46, 2 }, + { 14, 15, 7, 7, 46, 2 }, { 14, 16, 7, 7, 46, 2 }, { 14, 17, 7, 7, 46, 2 }, { 14, 18, 7, 7, 46, 2 }, { 14, 19, 7, 7, 46, 2 }, + { 13, 20, 7, 7, 46, 2 }, { 13, 21, 7, 7, 46, 2 }, { 13, 22, 7, 6, 46, 2 }, { 13, 23, 7, 6, 46, 2 }, { 12, 24, 7, 6, 46, 2 }, + { 12, 25, 7, 6, 46, 2 }, { 12, 26, 7, 6, 46, 2 }, { 11, 27, 7, 6, 46, 2 }, { 11, 28, 7, 6, 46, 2 }, { 11, 29, 6, 6, 46, 2 }, + { 10, 30, 6, 6, 46, 2 }, { 10, 31, 6, 6, 46, 2 }, { 9, 32, 6, 6, 46, 2 }, { 9, 33, 6, 6, 46, 2 }, { 8, 34, 6, 6, 46, 2 }, + { 8, 35, 6, 6, 46, 2 }, { 7, 36, 6, 6, 46, 2 }, { 7, 37, 6, 5, 46, 2 }, { 6, 38, 6, 5, 46, 2 }, { 6, 39, 6, 5, 46, 2 }, + { 5, 40, 6, 5, 46, 2 }, { 4, 41, 6, 5, 46, 2 }, { 4, 42, 6, 5, 46, 2 }, { 3, 43, 6, 5, 46, 2 }, { 2, 44, 5, 5, 46, 2 }, + { 2, 45, 5, 5, 46, 2 }, { 1, 46, 5, 5, 46, 2 }, { 0, 47, 5, 5, 46, 2 }, { 0, 48, 5, 5, 46, 2 }, { -1, 49, 5, 5, 46, 2 }, + { -2, 50, 5, 4, 46, 2 }, { -3, 51, 5, 4, 46, 2 }, { -3, 52, 5, 4, 46, 2 }, { -4, 53, 5, 4, 46, 2 }, { -5, 54, 5, 4, 46, 2 }, + { -6, 55, 5, 4, 46, 2 }, { -7, 56, 5, 4, 46, 2 }, { -7, 57, 5, 4, 46, 2 }, { -8, 58, 4, 4, 46, 2 }, { -9, 59, 4, 4, 46, 2 }, + { -10, 60, 4, 4, 46, 2 }, { -11, 61, 4, 4, 46, 2 }, { -12, 61, 4, 4, 46, 2 }, { -13, 62, 4, 3, 46, 2 }, { -14, 63, 4, 3, 46, 2 }, + { -15, 64, 4, 3, 46, 2 }, { -16, 64, 4, 3, 46, 2 }, { -17, 65, 4, 3, 46, 2 }, { -18, 66, 4, 3, 46, 2 }, { -19, 66, 4, 3, 46, 2 }, + { -20, 67, 4, 3, 46, 2 }, { -21, 68, 4, 3, 46, 2 }, { -22, 68, 3, 3, 46, 2 }, { -23, 69, 3, 3, 46, 2 }, { -24, 70, 3, 3, 46, 2 }, + { -25, 70, 3, 3, 46, 2 }, { -26, 71, 3, 2, 46, 2 }, { -27, 71, 3, 2, 46, 2 }, { -28, 72, 3, 2, 46, 2 }, { -29, 72, 3, 2, 46, 2 }, + { -30, 73, 3, 2, 46, 2 }, { -31, 73, 3, 2, 46, 2 }, { -32, 74, 3, 2, 46, 2 }, { -33, 74, 3, 2, 46, 2 }, { -34, 75, 3, 2, 46, 2 }, + { -35, 75, 3, 2, 46, 2 }, { -36, 75, 3, 2, 46, 2 }, { -37, 76, 2, 2, 46, 2 }, { -38, 76, 2, 2, 46, 2 }, { -39, 76, 2, 2, 46, 2 }, + { -40, 77, 2, 1, 46, 2 }, { -41, 77, 2, 1, 46, 2 }, { -42, 77, 2, 1, 46, 2 }, { -43, 77, 2, 1, 46, 2 }, { -44, 78, 2, 1, 46, 2 }, + { -45, 78, 2, 1, 46, 2 }, { -46, 78, 2, 1, 46, 2 }, { -47, 78, 2, 1, 46, 2 }, { -48, 78, 2, 1, 46, 2 }, { -49, 79, 2, 1, 46, 2 }, + { -50, 79, 2, 1, 46, 2 }, { -51, 79, 1, 1, 46, 2 }, { -52, 79, 1, 1, 46, 2 }, { -53, 79, 1, 1, 46, 2 }, { -54, 79, 1, 1, 46, 2 }, + { -55, 80, 1, 1, 46, 2 }, { -56, 80, 1, 0, 46, 2 }, { -57, 80, 1, 0, 46, 2 }, { -58, 80, 1, 0, 46, 2 }, { -59, 80, 1, 0, 46, 2 }, + { -60, 80, 1, 0, 46, 2 }, { -61, 80, 1, 0, 46, 2 }, { -62, 80, 1, 0, 46, 2 }, { -63, 80, 1, 0, 46, 2 }, { -64, 80, 1, 0, 46, 2 }, + { -65, 80, 0, 0, 46, 2 }, { -66, 80, 0, 0, 46, 2 }, { -67, 80, 0, 0, 46, 2 }, { -68, 80, 0, 0, 46, 2 }, { -69, 80, 0, 0, 46, 2 }, + { -70, 80, 0, 0, 46, 2 }, { -71, 80, 0, 0, 46, 2 }, { -72, 80, 0, 31, 46, 2 }, { -73, 79, 0, 31, 46, 2 }, { -74, 79, 0, 31, 46, 2 }, + { -75, 79, 0, 31, 46, 2 }, { -76, 79, 0, 31, 46, 2 }, { -77, 79, 0, 31, 46, 2 }, { -78, 79, 0, 31, 46, 2 }, { -79, 78, -1, 31, 46, 2 }, + { -80, 78, -1, 31, 46, 2 }, { -81, 78, -1, 31, 46, 2 }, { -82, 78, -1, 31, 46, 2 }, { -83, 78, -1, 31, 46, 2 }, { -84, 77, -1, 31, 46, 2 }, + { -85, 77, -1, 31, 46, 2 }, { -86, 77, -1, 30, 46, 2 }, { -87, 77, -1, 30, 46, 2 }, { -88, 76, -1, 30, 46, 2 }, { -89, 76, -1, 30, 46, 2 }, + { -90, 76, -1, 30, 46, 2 }, { -91, 75, -1, 30, 46, 2 }, { -92, 75, -1, 30, 46, 2 }, { -93, 75, -2, 30, 46, 2 }, { -94, 74, -2, 30, 46, 2 }, + { -95, 74, -2, 30, 46, 2 }, { -96, 73, -2, 30, 46, 2 }, { -97, 73, -2, 30, 46, 2 }, { -98, 72, -2, 30, 46, 2 }, { -99, 72, -2, 30, 46, 2 }, + { -100, 71, -2, 30, 46, 2 }, { -101, 71, -2, 29, 46, 2 }, { -102, 70, -2, 29, 46, 2 }, { -103, 70, -2, 29, 46, 2 }, { -104, 69, -2, 29, 46, 2 }, + { -105, 68, -2, 29, 46, 2 }, { -106, 68, -2, 29, 46, 2 }, { -107, 67, -3, 29, 46, 2 }, { -108, 66, -3, 29, 46, 2 }, { -109, 66, -3, 29, 46, 2 }, + { -110, 65, -3, 29, 46, 2 }, { -111, 64, -3, 29, 46, 2 }, { -112, 64, -3, 29, 46, 2 }, { -113, 63, -3, 29, 46, 2 }, { -114, 62, -3, 28, 46, 2 }, + { -115, 61, -3, 28, 46, 2 }, { -116, 61, -3, 28, 46, 2 }, { -117, 60, -3, 28, 46, 2 }, { -118, 59, -3, 28, 46, 2 }, { -119, 58, -3, 28, 46, 2 }, + { -120, 57, -3, 28, 46, 2 }, { -121, 57, -4, 28, 46, 2 }, { -122, 56, -4, 28, 46, 2 }, { -123, 55, -4, 28, 46, 2 }, { -124, 54, -4, 28, 46, 2 }, + { -125, 53, -4, 28, 46, 2 }, { -125, 52, -4, 28, 46, 2 }, { -126, 51, -4, 27, 46, 2 }, { -127, 50, -4, 27, 46, 2 }, { -128, 49, -4, 27, 46, 2 }, + { -128, 48, -4, 27, 46, 2 }, { -129, 47, -4, 27, 46, 2 }, { -130, 46, -4, 27, 46, 2 }, { -130, 45, -4, 27, 46, 2 }, { -131, 44, -4, 27, 46, 2 }, + { -132, 43, -4, 27, 46, 2 }, { -132, 42, -5, 27, 46, 2 }, { -133, 41, -5, 27, 46, 2 }, { -134, 40, -5, 27, 46, 2 }, { -134, 39, -5, 27, 46, 2 }, + { -135, 38, -5, 26, 46, 2 }, { -135, 37, -5, 26, 46, 2 }, { -136, 36, -5, 26, 46, 2 }, { -136, 35, -5, 26, 46, 2 }, { -137, 34, -5, 26, 46, 2 }, + { -137, 33, -5, 26, 46, 2 }, { -138, 32, -5, 26, 46, 2 }, { -138, 31, -5, 26, 46, 2 }, { -139, 30, -5, 26, 46, 2 }, { -139, 29, -5, 26, 46, 2 }, + { -139, 28, -6, 26, 46, 2 }, { -140, 27, -6, 26, 46, 2 }, { -140, 26, -6, 26, 46, 2 }, { -140, 25, -6, 26, 46, 2 }, { -141, 24, -6, 25, 46, 2 }, + { -141, 23, -6, 25, 46, 2 }, { -141, 22, -6, 25, 46, 2 }, { -141, 21, -6, 25, 46, 2 }, { -142, 20, -6, 25, 46, 2 }, { -142, 19, -6, 25, 46, 2 }, + { -142, 18, -6, 25, 46, 2 }, { -142, 17, -6, 25, 46, 2 }, { -142, 16, -6, 25, 46, 2 }, { -143, 15, -6, 25, 46, 2 }, { -143, 14, -7, 25, 46, 2 }, + { -143, 13, -7, 25, 46, 2 }, { -143, 12, -7, 25, 46, 2 }, { -143, 11, -7, 25, 46, 2 }, { -143, 10, -7, 25, 46, 2 }, { -144, 9, -7, 25, 46, 2 }, + { -144, 8, -7, 24, 46, 2 }, { -144, 7, -7, 24, 46, 2 }, { -144, 6, -7, 24, 46, 2 }, { -144, 5, -7, 24, 46, 2 }, { -144, 4, -7, 24, 46, 2 }, + { -144, 3, -7, 24, 46, 2 }, { -144, 2, -7, 24, 46, 2 }, { -144, 1, -7, 24, 46, 2 }, { -144, 0, -8, 24, 46, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F5C5E = { - 229, { - { 0, 16, 8, 16, 46, 2 }, { 1, 16, 8, 16, 46, 2 }, { 2, 16, 8, 16, 46, 2 }, { 3, 16, 8, 16, 46, 2 }, { 4, 16, 8, 16, 46, 2 }, - { 5, 16, 8, 16, 46, 2 }, { 6, 16, 8, 16, 46, 2 }, { 7, 16, 8, 16, 46, 2 }, { 8, 16, 8, 15, 46, 2 }, { 9, 17, 8, 15, 46, 2 }, - { 10, 17, 8, 15, 46, 2 }, { 11, 17, 8, 15, 46, 2 }, { 12, 17, 8, 15, 46, 2 }, { 13, 17, 8, 15, 46, 2 }, { 14, 17, 8, 15, 46, 2 }, - { 15, 18, 7, 15, 46, 2 }, { 16, 18, 7, 15, 46, 2 }, { 17, 18, 7, 15, 46, 2 }, { 18, 18, 7, 15, 46, 2 }, { 19, 18, 7, 15, 46, 2 }, - { 20, 19, 7, 15, 46, 2 }, { 21, 19, 7, 15, 46, 2 }, { 22, 19, 7, 14, 46, 2 }, { 23, 19, 7, 14, 46, 2 }, { 24, 20, 7, 14, 46, 2 }, - { 25, 20, 7, 14, 46, 2 }, { 26, 20, 7, 14, 46, 2 }, { 27, 21, 7, 14, 46, 2 }, { 28, 21, 7, 14, 46, 2 }, { 29, 21, 6, 14, 46, 2 }, - { 30, 22, 6, 14, 46, 2 }, { 31, 22, 6, 14, 46, 2 }, { 32, 23, 6, 14, 46, 2 }, { 33, 23, 6, 14, 46, 2 }, { 34, 24, 6, 14, 46, 2 }, - { 35, 24, 6, 14, 46, 2 }, { 36, 25, 6, 14, 46, 2 }, { 37, 25, 6, 13, 46, 2 }, { 38, 26, 6, 13, 46, 2 }, { 39, 26, 6, 13, 46, 2 }, - { 40, 27, 6, 13, 46, 2 }, { 41, 28, 6, 13, 46, 2 }, { 42, 28, 6, 13, 46, 2 }, { 43, 29, 5, 13, 46, 2 }, { 44, 30, 5, 13, 46, 2 }, - { 45, 30, 5, 13, 46, 2 }, { 46, 31, 5, 13, 46, 2 }, { 47, 32, 5, 13, 46, 2 }, { 48, 32, 5, 13, 46, 2 }, { 49, 33, 5, 13, 46, 2 }, - { 50, 34, 5, 12, 46, 2 }, { 51, 35, 5, 12, 46, 2 }, { 52, 35, 5, 12, 46, 2 }, { 53, 36, 5, 12, 46, 2 }, { 54, 37, 5, 12, 46, 2 }, - { 55, 38, 5, 12, 46, 2 }, { 56, 39, 5, 12, 46, 2 }, { 57, 39, 4, 12, 46, 2 }, { 58, 40, 4, 12, 46, 2 }, { 59, 41, 4, 12, 46, 2 }, - { 60, 42, 4, 12, 46, 2 }, { 61, 43, 4, 12, 46, 2 }, { 61, 44, 4, 12, 46, 2 }, { 62, 45, 4, 11, 46, 2 }, { 63, 46, 4, 11, 46, 2 }, - { 64, 47, 4, 11, 46, 2 }, { 64, 48, 4, 11, 46, 2 }, { 65, 49, 4, 11, 46, 2 }, { 66, 50, 4, 11, 46, 2 }, { 66, 51, 4, 11, 46, 2 }, - { 67, 52, 4, 11, 46, 2 }, { 68, 53, 4, 11, 46, 2 }, { 68, 54, 3, 11, 46, 2 }, { 69, 55, 3, 11, 46, 2 }, { 70, 56, 3, 11, 46, 2 }, - { 70, 57, 3, 11, 46, 2 }, { 71, 58, 3, 10, 46, 2 }, { 71, 59, 3, 10, 46, 2 }, { 72, 60, 3, 10, 46, 2 }, { 72, 61, 3, 10, 46, 2 }, - { 73, 62, 3, 10, 46, 2 }, { 73, 63, 3, 10, 46, 2 }, { 74, 64, 3, 10, 46, 2 }, { 74, 65, 3, 10, 46, 2 }, { 75, 66, 3, 10, 46, 2 }, - { 75, 67, 3, 10, 46, 2 }, { 75, 68, 2, 10, 46, 2 }, { 76, 69, 2, 10, 46, 2 }, { 76, 70, 2, 10, 46, 2 }, { 76, 71, 2, 10, 46, 2 }, - { 77, 72, 2, 9, 46, 2 }, { 77, 73, 2, 9, 46, 2 }, { 77, 74, 2, 9, 46, 2 }, { 77, 75, 2, 9, 46, 2 }, { 78, 76, 2, 9, 46, 2 }, - { 78, 77, 2, 9, 46, 2 }, { 78, 78, 2, 9, 46, 2 }, { 78, 79, 2, 9, 46, 2 }, { 78, 80, 2, 9, 46, 2 }, { 79, 81, 2, 9, 46, 2 }, - { 79, 82, 1, 9, 46, 2 }, { 79, 83, 1, 9, 46, 2 }, { 79, 84, 1, 9, 46, 2 }, { 79, 85, 1, 9, 46, 2 }, { 79, 86, 1, 9, 46, 2 }, - { 80, 87, 1, 9, 46, 2 }, { 80, 88, 1, 8, 46, 2 }, { 80, 89, 1, 8, 46, 2 }, { 80, 90, 1, 8, 46, 2 }, { 80, 91, 1, 8, 46, 2 }, - { 80, 92, 1, 8, 46, 2 }, { 80, 93, 1, 8, 46, 2 }, { 80, 94, 1, 8, 46, 2 }, { 80, 95, 1, 8, 46, 2 }, { 80, 96, 0, 8, 46, 2 }, - { 80, 97, 0, 8, 46, 2 }, { 80, 98, 0, 8, 46, 2 }, { 80, 99, 0, 8, 46, 2 }, { 80, 100, 0, 8, 46, 2 }, { 80, 101, 0, 8, 46, 2 }, - { 80, 102, 0, 8, 46, 2 }, { 80, 103, 0, 8, 46, 2 }, { 80, 104, 0, 7, 46, 2 }, { 79, 105, 0, 7, 46, 2 }, { 79, 106, 0, 7, 46, 2 }, - { 79, 107, 0, 7, 46, 2 }, { 79, 108, 0, 7, 46, 2 }, { 79, 109, 0, 7, 46, 2 }, { 79, 110, 0, 7, 46, 2 }, { 78, 111, -1, 7, 46, 2 }, - { 78, 112, -1, 7, 46, 2 }, { 78, 113, -1, 7, 46, 2 }, { 78, 114, -1, 7, 46, 2 }, { 78, 115, -1, 7, 46, 2 }, { 77, 116, -1, 7, 46, 2 }, - { 77, 117, -1, 7, 46, 2 }, { 77, 118, -1, 6, 46, 2 }, { 77, 119, -1, 6, 46, 2 }, { 76, 120, -1, 6, 46, 2 }, { 76, 121, -1, 6, 46, 2 }, - { 76, 122, -1, 6, 46, 2 }, { 75, 123, -1, 6, 46, 2 }, { 75, 124, -1, 6, 46, 2 }, { 75, 125, -2, 6, 46, 2 }, { 74, 126, -2, 6, 46, 2 }, - { 74, 127, -2, 6, 46, 2 }, { 73, 128, -2, 6, 46, 2 }, { 73, 129, -2, 6, 46, 2 }, { 72, 130, -2, 6, 46, 2 }, { 72, 131, -2, 6, 46, 2 }, - { 71, 132, -2, 6, 46, 2 }, { 71, 133, -2, 5, 46, 2 }, { 70, 134, -2, 5, 46, 2 }, { 70, 135, -2, 5, 46, 2 }, { 69, 136, -2, 5, 46, 2 }, - { 68, 137, -2, 5, 46, 2 }, { 68, 138, -2, 5, 46, 2 }, { 67, 139, -2, 5, 46, 2 }, { 66, 140, -3, 5, 46, 2 }, { 66, 141, -3, 5, 46, 2 }, - { 65, 142, -3, 5, 46, 2 }, { 64, 143, -3, 5, 46, 2 }, { 64, 144, -3, 5, 46, 2 }, { 63, 145, -3, 5, 46, 2 }, { 62, 146, -3, 4, 46, 2 }, - { 61, 147, -3, 4, 46, 2 }, { 61, 148, -3, 4, 46, 2 }, { 60, 149, -3, 4, 46, 2 }, { 59, 150, -3, 4, 46, 2 }, { 58, 151, -3, 4, 46, 2 }, - { 57, 152, -3, 4, 46, 2 }, { 57, 153, -3, 4, 46, 2 }, { 56, 154, -4, 4, 46, 2 }, { 55, 155, -4, 4, 46, 2 }, { 54, 156, -4, 4, 46, 2 }, - { 53, 157, -4, 4, 46, 2 }, { 52, 157, -4, 4, 46, 2 }, { 51, 158, -4, 3, 46, 2 }, { 50, 159, -4, 3, 46, 2 }, { 49, 160, -4, 3, 46, 2 }, - { 48, 160, -4, 3, 46, 2 }, { 47, 161, -4, 3, 46, 2 }, { 46, 162, -4, 3, 46, 2 }, { 45, 162, -4, 3, 46, 2 }, { 44, 163, -4, 3, 46, 2 }, - { 43, 164, -4, 3, 46, 2 }, { 42, 164, -5, 3, 46, 2 }, { 41, 165, -5, 3, 46, 2 }, { 40, 166, -5, 3, 46, 2 }, { 39, 166, -5, 3, 46, 2 }, - { 38, 167, -5, 2, 46, 2 }, { 37, 167, -5, 2, 46, 2 }, { 36, 168, -5, 2, 46, 2 }, { 35, 168, -5, 2, 46, 2 }, { 34, 169, -5, 2, 46, 2 }, - { 33, 169, -5, 2, 46, 2 }, { 32, 170, -5, 2, 46, 2 }, { 31, 170, -5, 2, 46, 2 }, { 30, 171, -5, 2, 46, 2 }, { 29, 171, -5, 2, 46, 2 }, - { 28, 171, -5, 2, 46, 2 }, { 27, 172, -6, 2, 46, 2 }, { 26, 172, -6, 2, 46, 2 }, { 25, 172, -6, 2, 46, 2 }, { 24, 173, -6, 1, 46, 2 }, - { 23, 173, -6, 1, 46, 2 }, { 22, 173, -6, 1, 46, 2 }, { 21, 173, -6, 1, 46, 2 }, { 20, 174, -6, 1, 46, 2 }, { 19, 174, -6, 1, 46, 2 }, - { 18, 174, -6, 1, 46, 2 }, { 17, 174, -6, 1, 46, 2 }, { 16, 174, -6, 1, 46, 2 }, { 15, 175, -6, 1, 46, 2 }, { 14, 175, -6, 1, 46, 2 }, - { 13, 175, -7, 1, 46, 2 }, { 12, 175, -7, 1, 46, 2 }, { 11, 175, -7, 1, 46, 2 }, { 10, 175, -7, 1, 46, 2 }, { 9, 176, -7, 1, 46, 2 }, - { 8, 176, -7, 0, 46, 2 }, { 7, 176, -7, 0, 46, 2 }, { 6, 176, -7, 0, 46, 2 }, { 5, 176, -7, 0, 46, 2 }, { 4, 176, -7, 0, 46, 2 }, - { 3, 176, -7, 0, 46, 2 }, { 2, 176, -7, 0, 46, 2 }, { 1, 176, -7, 0, 46, 2 }, { 0, 176, -7, 0, 46, 2 }, + 229, { + { 0, 16, 8, 16, 46, 2 }, { 1, 16, 8, 16, 46, 2 }, { 2, 16, 8, 16, 46, 2 }, { 3, 16, 8, 16, 46, 2 }, { 4, 16, 8, 16, 46, 2 }, + { 5, 16, 8, 16, 46, 2 }, { 6, 16, 8, 16, 46, 2 }, { 7, 16, 8, 16, 46, 2 }, { 8, 16, 8, 15, 46, 2 }, { 9, 17, 8, 15, 46, 2 }, + { 10, 17, 8, 15, 46, 2 }, { 11, 17, 8, 15, 46, 2 }, { 12, 17, 8, 15, 46, 2 }, { 13, 17, 8, 15, 46, 2 }, { 14, 17, 8, 15, 46, 2 }, + { 15, 18, 7, 15, 46, 2 }, { 16, 18, 7, 15, 46, 2 }, { 17, 18, 7, 15, 46, 2 }, { 18, 18, 7, 15, 46, 2 }, { 19, 18, 7, 15, 46, 2 }, + { 20, 19, 7, 15, 46, 2 }, { 21, 19, 7, 15, 46, 2 }, { 22, 19, 7, 14, 46, 2 }, { 23, 19, 7, 14, 46, 2 }, { 24, 20, 7, 14, 46, 2 }, + { 25, 20, 7, 14, 46, 2 }, { 26, 20, 7, 14, 46, 2 }, { 27, 21, 7, 14, 46, 2 }, { 28, 21, 7, 14, 46, 2 }, { 29, 21, 6, 14, 46, 2 }, + { 30, 22, 6, 14, 46, 2 }, { 31, 22, 6, 14, 46, 2 }, { 32, 23, 6, 14, 46, 2 }, { 33, 23, 6, 14, 46, 2 }, { 34, 24, 6, 14, 46, 2 }, + { 35, 24, 6, 14, 46, 2 }, { 36, 25, 6, 14, 46, 2 }, { 37, 25, 6, 13, 46, 2 }, { 38, 26, 6, 13, 46, 2 }, { 39, 26, 6, 13, 46, 2 }, + { 40, 27, 6, 13, 46, 2 }, { 41, 28, 6, 13, 46, 2 }, { 42, 28, 6, 13, 46, 2 }, { 43, 29, 5, 13, 46, 2 }, { 44, 30, 5, 13, 46, 2 }, + { 45, 30, 5, 13, 46, 2 }, { 46, 31, 5, 13, 46, 2 }, { 47, 32, 5, 13, 46, 2 }, { 48, 32, 5, 13, 46, 2 }, { 49, 33, 5, 13, 46, 2 }, + { 50, 34, 5, 12, 46, 2 }, { 51, 35, 5, 12, 46, 2 }, { 52, 35, 5, 12, 46, 2 }, { 53, 36, 5, 12, 46, 2 }, { 54, 37, 5, 12, 46, 2 }, + { 55, 38, 5, 12, 46, 2 }, { 56, 39, 5, 12, 46, 2 }, { 57, 39, 4, 12, 46, 2 }, { 58, 40, 4, 12, 46, 2 }, { 59, 41, 4, 12, 46, 2 }, + { 60, 42, 4, 12, 46, 2 }, { 61, 43, 4, 12, 46, 2 }, { 61, 44, 4, 12, 46, 2 }, { 62, 45, 4, 11, 46, 2 }, { 63, 46, 4, 11, 46, 2 }, + { 64, 47, 4, 11, 46, 2 }, { 64, 48, 4, 11, 46, 2 }, { 65, 49, 4, 11, 46, 2 }, { 66, 50, 4, 11, 46, 2 }, { 66, 51, 4, 11, 46, 2 }, + { 67, 52, 4, 11, 46, 2 }, { 68, 53, 4, 11, 46, 2 }, { 68, 54, 3, 11, 46, 2 }, { 69, 55, 3, 11, 46, 2 }, { 70, 56, 3, 11, 46, 2 }, + { 70, 57, 3, 11, 46, 2 }, { 71, 58, 3, 10, 46, 2 }, { 71, 59, 3, 10, 46, 2 }, { 72, 60, 3, 10, 46, 2 }, { 72, 61, 3, 10, 46, 2 }, + { 73, 62, 3, 10, 46, 2 }, { 73, 63, 3, 10, 46, 2 }, { 74, 64, 3, 10, 46, 2 }, { 74, 65, 3, 10, 46, 2 }, { 75, 66, 3, 10, 46, 2 }, + { 75, 67, 3, 10, 46, 2 }, { 75, 68, 2, 10, 46, 2 }, { 76, 69, 2, 10, 46, 2 }, { 76, 70, 2, 10, 46, 2 }, { 76, 71, 2, 10, 46, 2 }, + { 77, 72, 2, 9, 46, 2 }, { 77, 73, 2, 9, 46, 2 }, { 77, 74, 2, 9, 46, 2 }, { 77, 75, 2, 9, 46, 2 }, { 78, 76, 2, 9, 46, 2 }, + { 78, 77, 2, 9, 46, 2 }, { 78, 78, 2, 9, 46, 2 }, { 78, 79, 2, 9, 46, 2 }, { 78, 80, 2, 9, 46, 2 }, { 79, 81, 2, 9, 46, 2 }, + { 79, 82, 1, 9, 46, 2 }, { 79, 83, 1, 9, 46, 2 }, { 79, 84, 1, 9, 46, 2 }, { 79, 85, 1, 9, 46, 2 }, { 79, 86, 1, 9, 46, 2 }, + { 80, 87, 1, 9, 46, 2 }, { 80, 88, 1, 8, 46, 2 }, { 80, 89, 1, 8, 46, 2 }, { 80, 90, 1, 8, 46, 2 }, { 80, 91, 1, 8, 46, 2 }, + { 80, 92, 1, 8, 46, 2 }, { 80, 93, 1, 8, 46, 2 }, { 80, 94, 1, 8, 46, 2 }, { 80, 95, 1, 8, 46, 2 }, { 80, 96, 0, 8, 46, 2 }, + { 80, 97, 0, 8, 46, 2 }, { 80, 98, 0, 8, 46, 2 }, { 80, 99, 0, 8, 46, 2 }, { 80, 100, 0, 8, 46, 2 }, { 80, 101, 0, 8, 46, 2 }, + { 80, 102, 0, 8, 46, 2 }, { 80, 103, 0, 8, 46, 2 }, { 80, 104, 0, 7, 46, 2 }, { 79, 105, 0, 7, 46, 2 }, { 79, 106, 0, 7, 46, 2 }, + { 79, 107, 0, 7, 46, 2 }, { 79, 108, 0, 7, 46, 2 }, { 79, 109, 0, 7, 46, 2 }, { 79, 110, 0, 7, 46, 2 }, { 78, 111, -1, 7, 46, 2 }, + { 78, 112, -1, 7, 46, 2 }, { 78, 113, -1, 7, 46, 2 }, { 78, 114, -1, 7, 46, 2 }, { 78, 115, -1, 7, 46, 2 }, { 77, 116, -1, 7, 46, 2 }, + { 77, 117, -1, 7, 46, 2 }, { 77, 118, -1, 6, 46, 2 }, { 77, 119, -1, 6, 46, 2 }, { 76, 120, -1, 6, 46, 2 }, { 76, 121, -1, 6, 46, 2 }, + { 76, 122, -1, 6, 46, 2 }, { 75, 123, -1, 6, 46, 2 }, { 75, 124, -1, 6, 46, 2 }, { 75, 125, -2, 6, 46, 2 }, { 74, 126, -2, 6, 46, 2 }, + { 74, 127, -2, 6, 46, 2 }, { 73, 128, -2, 6, 46, 2 }, { 73, 129, -2, 6, 46, 2 }, { 72, 130, -2, 6, 46, 2 }, { 72, 131, -2, 6, 46, 2 }, + { 71, 132, -2, 6, 46, 2 }, { 71, 133, -2, 5, 46, 2 }, { 70, 134, -2, 5, 46, 2 }, { 70, 135, -2, 5, 46, 2 }, { 69, 136, -2, 5, 46, 2 }, + { 68, 137, -2, 5, 46, 2 }, { 68, 138, -2, 5, 46, 2 }, { 67, 139, -2, 5, 46, 2 }, { 66, 140, -3, 5, 46, 2 }, { 66, 141, -3, 5, 46, 2 }, + { 65, 142, -3, 5, 46, 2 }, { 64, 143, -3, 5, 46, 2 }, { 64, 144, -3, 5, 46, 2 }, { 63, 145, -3, 5, 46, 2 }, { 62, 146, -3, 4, 46, 2 }, + { 61, 147, -3, 4, 46, 2 }, { 61, 148, -3, 4, 46, 2 }, { 60, 149, -3, 4, 46, 2 }, { 59, 150, -3, 4, 46, 2 }, { 58, 151, -3, 4, 46, 2 }, + { 57, 152, -3, 4, 46, 2 }, { 57, 153, -3, 4, 46, 2 }, { 56, 154, -4, 4, 46, 2 }, { 55, 155, -4, 4, 46, 2 }, { 54, 156, -4, 4, 46, 2 }, + { 53, 157, -4, 4, 46, 2 }, { 52, 157, -4, 4, 46, 2 }, { 51, 158, -4, 3, 46, 2 }, { 50, 159, -4, 3, 46, 2 }, { 49, 160, -4, 3, 46, 2 }, + { 48, 160, -4, 3, 46, 2 }, { 47, 161, -4, 3, 46, 2 }, { 46, 162, -4, 3, 46, 2 }, { 45, 162, -4, 3, 46, 2 }, { 44, 163, -4, 3, 46, 2 }, + { 43, 164, -4, 3, 46, 2 }, { 42, 164, -5, 3, 46, 2 }, { 41, 165, -5, 3, 46, 2 }, { 40, 166, -5, 3, 46, 2 }, { 39, 166, -5, 3, 46, 2 }, + { 38, 167, -5, 2, 46, 2 }, { 37, 167, -5, 2, 46, 2 }, { 36, 168, -5, 2, 46, 2 }, { 35, 168, -5, 2, 46, 2 }, { 34, 169, -5, 2, 46, 2 }, + { 33, 169, -5, 2, 46, 2 }, { 32, 170, -5, 2, 46, 2 }, { 31, 170, -5, 2, 46, 2 }, { 30, 171, -5, 2, 46, 2 }, { 29, 171, -5, 2, 46, 2 }, + { 28, 171, -5, 2, 46, 2 }, { 27, 172, -6, 2, 46, 2 }, { 26, 172, -6, 2, 46, 2 }, { 25, 172, -6, 2, 46, 2 }, { 24, 173, -6, 1, 46, 2 }, + { 23, 173, -6, 1, 46, 2 }, { 22, 173, -6, 1, 46, 2 }, { 21, 173, -6, 1, 46, 2 }, { 20, 174, -6, 1, 46, 2 }, { 19, 174, -6, 1, 46, 2 }, + { 18, 174, -6, 1, 46, 2 }, { 17, 174, -6, 1, 46, 2 }, { 16, 174, -6, 1, 46, 2 }, { 15, 175, -6, 1, 46, 2 }, { 14, 175, -6, 1, 46, 2 }, + { 13, 175, -7, 1, 46, 2 }, { 12, 175, -7, 1, 46, 2 }, { 11, 175, -7, 1, 46, 2 }, { 10, 175, -7, 1, 46, 2 }, { 9, 176, -7, 1, 46, 2 }, + { 8, 176, -7, 0, 46, 2 }, { 7, 176, -7, 0, 46, 2 }, { 6, 176, -7, 0, 46, 2 }, { 5, 176, -7, 0, 46, 2 }, { 4, 176, -7, 0, 46, 2 }, + { 3, 176, -7, 0, 46, 2 }, { 2, 176, -7, 0, 46, 2 }, { 1, 176, -7, 0, 46, 2 }, { 0, 176, -7, 0, 46, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F646D = { - 227, { - { 16, 31, 8, 24, 46, 2 }, { 16, 30, 8, 24, 46, 2 }, { 16, 29, 8, 24, 46, 2 }, { 16, 28, 8, 24, 46, 2 }, { 16, 27, 8, 24, 46, 2 }, - { 16, 26, 8, 24, 46, 2 }, { 16, 25, 8, 24, 46, 2 }, { 16, 24, 8, 23, 46, 2 }, { 17, 23, 8, 23, 46, 2 }, { 17, 22, 8, 23, 46, 2 }, - { 17, 21, 8, 23, 46, 2 }, { 17, 20, 8, 23, 46, 2 }, { 17, 19, 8, 23, 46, 2 }, { 17, 18, 8, 23, 46, 2 }, { 18, 17, 7, 23, 46, 2 }, - { 18, 16, 7, 23, 46, 2 }, { 18, 15, 7, 23, 46, 2 }, { 18, 14, 7, 23, 46, 2 }, { 18, 13, 7, 23, 46, 2 }, { 19, 12, 7, 23, 46, 2 }, - { 19, 11, 7, 23, 46, 2 }, { 19, 10, 7, 22, 46, 2 }, { 19, 9, 7, 22, 46, 2 }, { 20, 8, 7, 22, 46, 2 }, { 20, 7, 7, 22, 46, 2 }, - { 20, 6, 7, 22, 46, 2 }, { 21, 5, 7, 22, 46, 2 }, { 21, 4, 7, 22, 46, 2 }, { 21, 3, 6, 22, 46, 2 }, { 22, 2, 6, 22, 46, 2 }, - { 22, 1, 6, 22, 46, 2 }, { 23, 0, 6, 22, 46, 2 }, { 23, -1, 6, 22, 46, 2 }, { 24, -2, 6, 22, 46, 2 }, { 24, -3, 6, 22, 46, 2 }, - { 25, -4, 6, 22, 46, 2 }, { 25, -5, 6, 21, 46, 2 }, { 26, -6, 6, 21, 46, 2 }, { 26, -7, 6, 21, 46, 2 }, { 27, -8, 6, 21, 46, 2 }, - { 28, -9, 6, 21, 46, 2 }, { 28, -10, 6, 21, 46, 2 }, { 29, -11, 5, 21, 46, 2 }, { 30, -12, 5, 21, 46, 2 }, { 30, -13, 5, 21, 46, 2 }, - { 31, -14, 5, 21, 46, 2 }, { 32, -15, 5, 21, 46, 2 }, { 32, -16, 5, 21, 46, 2 }, { 33, -17, 5, 21, 46, 2 }, { 34, -18, 5, 20, 46, 2 }, - { 35, -19, 5, 20, 46, 2 }, { 35, -20, 5, 20, 46, 2 }, { 36, -21, 5, 20, 46, 2 }, { 37, -22, 5, 20, 46, 2 }, { 38, -23, 5, 20, 46, 2 }, - { 39, -24, 5, 20, 46, 2 }, { 39, -25, 4, 20, 46, 2 }, { 40, -26, 4, 20, 46, 2 }, { 41, -27, 4, 20, 46, 2 }, { 42, -28, 4, 20, 46, 2 }, - { 43, -29, 4, 20, 46, 2 }, { 44, -29, 4, 20, 46, 2 }, { 45, -30, 4, 19, 46, 2 }, { 46, -31, 4, 19, 46, 2 }, { 47, -32, 4, 19, 46, 2 }, - { 48, -32, 4, 19, 46, 2 }, { 49, -33, 4, 19, 46, 2 }, { 50, -34, 4, 19, 46, 2 }, { 51, -34, 4, 19, 46, 2 }, { 52, -35, 4, 19, 46, 2 }, - { 53, -36, 3, 19, 46, 2 }, { 54, -36, 3, 19, 46, 2 }, { 55, -37, 3, 19, 46, 2 }, { 56, -38, 3, 19, 46, 2 }, { 57, -38, 3, 19, 46, 2 }, - { 58, -39, 3, 18, 46, 2 }, { 59, -39, 3, 18, 46, 2 }, { 60, -40, 3, 18, 46, 2 }, { 61, -40, 3, 18, 46, 2 }, { 62, -41, 3, 18, 46, 2 }, - { 63, -41, 3, 18, 46, 2 }, { 64, -42, 3, 18, 46, 2 }, { 65, -42, 3, 18, 46, 2 }, { 66, -43, 3, 18, 46, 2 }, { 67, -43, 2, 18, 46, 2 }, - { 68, -43, 2, 18, 46, 2 }, { 69, -44, 2, 18, 46, 2 }, { 70, -44, 2, 18, 46, 2 }, { 71, -44, 2, 18, 46, 2 }, { 72, -45, 2, 17, 46, 2 }, - { 73, -45, 2, 17, 46, 2 }, { 74, -45, 2, 17, 46, 2 }, { 75, -45, 2, 17, 46, 2 }, { 76, -46, 2, 17, 46, 2 }, { 77, -46, 2, 17, 46, 2 }, - { 78, -46, 2, 17, 46, 2 }, { 79, -46, 2, 17, 46, 2 }, { 80, -46, 2, 17, 46, 2 }, { 81, -47, 1, 17, 46, 2 }, { 82, -47, 1, 17, 46, 2 }, - { 83, -47, 1, 17, 46, 2 }, { 84, -47, 1, 17, 46, 2 }, { 85, -47, 1, 17, 46, 2 }, { 86, -47, 1, 17, 46, 2 }, { 87, -48, 1, 17, 46, 2 }, - { 88, -48, 1, 16, 46, 2 }, { 89, -48, 1, 16, 46, 2 }, { 90, -48, 1, 16, 46, 2 }, { 91, -48, 1, 16, 46, 2 }, { 92, -48, 1, 16, 46, 2 }, - { 93, -48, 1, 16, 46, 2 }, { 94, -48, 1, 16, 46, 2 }, { 95, -48, 0, 16, 46, 2 }, { 96, -48, 0, 16, 46, 2 }, { 97, -48, 0, 16, 46, 2 }, - { 98, -48, 0, 16, 46, 2 }, { 99, -48, 0, 16, 46, 2 }, { 100, -48, 0, 16, 46, 2 }, { 101, -48, 0, 16, 46, 2 }, { 102, -48, 0, 16, 46, 2 }, - { 103, -48, 0, 16, 46, 2 }, { 104, -48, 0, 15, 46, 2 }, { 105, -47, 0, 15, 46, 2 }, { 106, -47, 0, 15, 46, 2 }, { 107, -47, 0, 15, 46, 2 }, - { 108, -47, 0, 15, 46, 2 }, { 109, -47, 0, 15, 46, 2 }, { 110, -47, 0, 15, 46, 2 }, { 111, -46, -1, 15, 46, 2 }, { 112, -46, -1, 15, 46, 2 }, - { 113, -46, -1, 15, 46, 2 }, { 114, -46, -1, 15, 46, 2 }, { 115, -46, -1, 15, 46, 2 }, { 116, -45, -1, 15, 46, 2 }, { 117, -45, -1, 15, 46, 2 }, - { 118, -45, -1, 14, 46, 2 }, { 119, -45, -1, 14, 46, 2 }, { 120, -44, -1, 14, 46, 2 }, { 121, -44, -1, 14, 46, 2 }, { 122, -44, -1, 14, 46, 2 }, - { 123, -43, -1, 14, 46, 2 }, { 124, -43, -1, 14, 46, 2 }, { 125, -43, -2, 14, 46, 2 }, { 126, -42, -2, 14, 46, 2 }, { 127, -42, -2, 14, 46, 2 }, - { 128, -41, -2, 14, 46, 2 }, { 129, -41, -2, 14, 46, 2 }, { 130, -40, -2, 14, 46, 2 }, { 131, -40, -2, 14, 46, 2 }, { 132, -39, -2, 14, 46, 2 }, - { 133, -39, -2, 13, 46, 2 }, { 134, -38, -2, 13, 46, 2 }, { 135, -38, -2, 13, 46, 2 }, { 136, -37, -2, 13, 46, 2 }, { 137, -36, -2, 13, 46, 2 }, - { 138, -36, -2, 13, 46, 2 }, { 139, -35, -3, 13, 46, 2 }, { 140, -34, -3, 13, 46, 2 }, { 141, -34, -3, 13, 46, 2 }, { 142, -33, -3, 13, 46, 2 }, - { 143, -32, -3, 13, 46, 2 }, { 144, -32, -3, 13, 46, 2 }, { 145, -31, -3, 13, 46, 2 }, { 146, -30, -3, 12, 46, 2 }, { 147, -29, -3, 12, 46, 2 }, - { 148, -29, -3, 12, 46, 2 }, { 149, -28, -3, 12, 46, 2 }, { 150, -27, -3, 12, 46, 2 }, { 151, -26, -3, 12, 46, 2 }, { 152, -25, -3, 12, 46, 2 }, - { 153, -25, -4, 12, 46, 2 }, { 154, -24, -4, 12, 46, 2 }, { 155, -23, -4, 12, 46, 2 }, { 156, -22, -4, 12, 46, 2 }, { 157, -21, -4, 12, 46, 2 }, - { 157, -20, -4, 12, 46, 2 }, { 158, -19, -4, 11, 46, 2 }, { 159, -18, -4, 11, 46, 2 }, { 160, -17, -4, 11, 46, 2 }, { 160, -16, -4, 11, 46, 2 }, - { 161, -15, -4, 11, 46, 2 }, { 162, -14, -4, 11, 46, 2 }, { 162, -13, -4, 11, 46, 2 }, { 163, -12, -4, 11, 46, 2 }, { 164, -11, -4, 11, 46, 2 }, - { 164, -10, -5, 11, 46, 2 }, { 165, -9, -5, 11, 46, 2 }, { 166, -8, -5, 11, 46, 2 }, { 166, -7, -5, 11, 46, 2 }, { 167, -6, -5, 10, 46, 2 }, - { 167, -5, -5, 10, 46, 2 }, { 168, -4, -5, 10, 46, 2 }, { 168, -3, -5, 10, 46, 2 }, { 169, -2, -5, 10, 46, 2 }, { 169, -1, -5, 10, 46, 2 }, - { 170, 0, -5, 10, 46, 2 }, { 170, 1, -5, 10, 46, 2 }, { 171, 2, -5, 10, 46, 2 }, { 171, 3, -5, 10, 46, 2 }, { 171, 4, -6, 10, 46, 2 }, - { 172, 5, -6, 10, 46, 2 }, { 172, 6, -6, 10, 46, 2 }, { 172, 7, -6, 10, 46, 2 }, { 173, 8, -6, 9, 46, 2 }, { 173, 9, -6, 9, 46, 2 }, - { 173, 10, -6, 9, 46, 2 }, { 173, 11, -6, 9, 46, 2 }, { 174, 12, -6, 9, 46, 2 }, { 174, 13, -6, 9, 46, 2 }, { 174, 14, -6, 9, 46, 2 }, - { 174, 15, -6, 9, 46, 2 }, { 174, 16, -6, 9, 46, 2 }, { 175, 17, -6, 9, 46, 2 }, { 175, 18, -7, 9, 46, 2 }, { 175, 19, -7, 9, 46, 2 }, - { 175, 20, -7, 9, 46, 2 }, { 175, 21, -7, 9, 46, 2 }, { 175, 22, -7, 9, 46, 2 }, { 176, 23, -7, 9, 46, 2 }, { 176, 24, -7, 8, 46, 2 }, - { 176, 25, -7, 8, 46, 2 }, { 176, 26, -7, 8, 46, 2 }, { 176, 27, -7, 8, 46, 2 }, { 176, 28, -7, 8, 46, 2 }, { 176, 29, -7, 8, 46, 2 }, - { 176, 30, -7, 8, 46, 2 }, { 176, 31, -7, 8, 46, 2 }, + 227, { + { 16, 31, 8, 24, 46, 2 }, { 16, 30, 8, 24, 46, 2 }, { 16, 29, 8, 24, 46, 2 }, { 16, 28, 8, 24, 46, 2 }, { 16, 27, 8, 24, 46, 2 }, + { 16, 26, 8, 24, 46, 2 }, { 16, 25, 8, 24, 46, 2 }, { 16, 24, 8, 23, 46, 2 }, { 17, 23, 8, 23, 46, 2 }, { 17, 22, 8, 23, 46, 2 }, + { 17, 21, 8, 23, 46, 2 }, { 17, 20, 8, 23, 46, 2 }, { 17, 19, 8, 23, 46, 2 }, { 17, 18, 8, 23, 46, 2 }, { 18, 17, 7, 23, 46, 2 }, + { 18, 16, 7, 23, 46, 2 }, { 18, 15, 7, 23, 46, 2 }, { 18, 14, 7, 23, 46, 2 }, { 18, 13, 7, 23, 46, 2 }, { 19, 12, 7, 23, 46, 2 }, + { 19, 11, 7, 23, 46, 2 }, { 19, 10, 7, 22, 46, 2 }, { 19, 9, 7, 22, 46, 2 }, { 20, 8, 7, 22, 46, 2 }, { 20, 7, 7, 22, 46, 2 }, + { 20, 6, 7, 22, 46, 2 }, { 21, 5, 7, 22, 46, 2 }, { 21, 4, 7, 22, 46, 2 }, { 21, 3, 6, 22, 46, 2 }, { 22, 2, 6, 22, 46, 2 }, + { 22, 1, 6, 22, 46, 2 }, { 23, 0, 6, 22, 46, 2 }, { 23, -1, 6, 22, 46, 2 }, { 24, -2, 6, 22, 46, 2 }, { 24, -3, 6, 22, 46, 2 }, + { 25, -4, 6, 22, 46, 2 }, { 25, -5, 6, 21, 46, 2 }, { 26, -6, 6, 21, 46, 2 }, { 26, -7, 6, 21, 46, 2 }, { 27, -8, 6, 21, 46, 2 }, + { 28, -9, 6, 21, 46, 2 }, { 28, -10, 6, 21, 46, 2 }, { 29, -11, 5, 21, 46, 2 }, { 30, -12, 5, 21, 46, 2 }, { 30, -13, 5, 21, 46, 2 }, + { 31, -14, 5, 21, 46, 2 }, { 32, -15, 5, 21, 46, 2 }, { 32, -16, 5, 21, 46, 2 }, { 33, -17, 5, 21, 46, 2 }, { 34, -18, 5, 20, 46, 2 }, + { 35, -19, 5, 20, 46, 2 }, { 35, -20, 5, 20, 46, 2 }, { 36, -21, 5, 20, 46, 2 }, { 37, -22, 5, 20, 46, 2 }, { 38, -23, 5, 20, 46, 2 }, + { 39, -24, 5, 20, 46, 2 }, { 39, -25, 4, 20, 46, 2 }, { 40, -26, 4, 20, 46, 2 }, { 41, -27, 4, 20, 46, 2 }, { 42, -28, 4, 20, 46, 2 }, + { 43, -29, 4, 20, 46, 2 }, { 44, -29, 4, 20, 46, 2 }, { 45, -30, 4, 19, 46, 2 }, { 46, -31, 4, 19, 46, 2 }, { 47, -32, 4, 19, 46, 2 }, + { 48, -32, 4, 19, 46, 2 }, { 49, -33, 4, 19, 46, 2 }, { 50, -34, 4, 19, 46, 2 }, { 51, -34, 4, 19, 46, 2 }, { 52, -35, 4, 19, 46, 2 }, + { 53, -36, 3, 19, 46, 2 }, { 54, -36, 3, 19, 46, 2 }, { 55, -37, 3, 19, 46, 2 }, { 56, -38, 3, 19, 46, 2 }, { 57, -38, 3, 19, 46, 2 }, + { 58, -39, 3, 18, 46, 2 }, { 59, -39, 3, 18, 46, 2 }, { 60, -40, 3, 18, 46, 2 }, { 61, -40, 3, 18, 46, 2 }, { 62, -41, 3, 18, 46, 2 }, + { 63, -41, 3, 18, 46, 2 }, { 64, -42, 3, 18, 46, 2 }, { 65, -42, 3, 18, 46, 2 }, { 66, -43, 3, 18, 46, 2 }, { 67, -43, 2, 18, 46, 2 }, + { 68, -43, 2, 18, 46, 2 }, { 69, -44, 2, 18, 46, 2 }, { 70, -44, 2, 18, 46, 2 }, { 71, -44, 2, 18, 46, 2 }, { 72, -45, 2, 17, 46, 2 }, + { 73, -45, 2, 17, 46, 2 }, { 74, -45, 2, 17, 46, 2 }, { 75, -45, 2, 17, 46, 2 }, { 76, -46, 2, 17, 46, 2 }, { 77, -46, 2, 17, 46, 2 }, + { 78, -46, 2, 17, 46, 2 }, { 79, -46, 2, 17, 46, 2 }, { 80, -46, 2, 17, 46, 2 }, { 81, -47, 1, 17, 46, 2 }, { 82, -47, 1, 17, 46, 2 }, + { 83, -47, 1, 17, 46, 2 }, { 84, -47, 1, 17, 46, 2 }, { 85, -47, 1, 17, 46, 2 }, { 86, -47, 1, 17, 46, 2 }, { 87, -48, 1, 17, 46, 2 }, + { 88, -48, 1, 16, 46, 2 }, { 89, -48, 1, 16, 46, 2 }, { 90, -48, 1, 16, 46, 2 }, { 91, -48, 1, 16, 46, 2 }, { 92, -48, 1, 16, 46, 2 }, + { 93, -48, 1, 16, 46, 2 }, { 94, -48, 1, 16, 46, 2 }, { 95, -48, 0, 16, 46, 2 }, { 96, -48, 0, 16, 46, 2 }, { 97, -48, 0, 16, 46, 2 }, + { 98, -48, 0, 16, 46, 2 }, { 99, -48, 0, 16, 46, 2 }, { 100, -48, 0, 16, 46, 2 }, { 101, -48, 0, 16, 46, 2 }, { 102, -48, 0, 16, 46, 2 }, + { 103, -48, 0, 16, 46, 2 }, { 104, -48, 0, 15, 46, 2 }, { 105, -47, 0, 15, 46, 2 }, { 106, -47, 0, 15, 46, 2 }, { 107, -47, 0, 15, 46, 2 }, + { 108, -47, 0, 15, 46, 2 }, { 109, -47, 0, 15, 46, 2 }, { 110, -47, 0, 15, 46, 2 }, { 111, -46, -1, 15, 46, 2 }, { 112, -46, -1, 15, 46, 2 }, + { 113, -46, -1, 15, 46, 2 }, { 114, -46, -1, 15, 46, 2 }, { 115, -46, -1, 15, 46, 2 }, { 116, -45, -1, 15, 46, 2 }, { 117, -45, -1, 15, 46, 2 }, + { 118, -45, -1, 14, 46, 2 }, { 119, -45, -1, 14, 46, 2 }, { 120, -44, -1, 14, 46, 2 }, { 121, -44, -1, 14, 46, 2 }, { 122, -44, -1, 14, 46, 2 }, + { 123, -43, -1, 14, 46, 2 }, { 124, -43, -1, 14, 46, 2 }, { 125, -43, -2, 14, 46, 2 }, { 126, -42, -2, 14, 46, 2 }, { 127, -42, -2, 14, 46, 2 }, + { 128, -41, -2, 14, 46, 2 }, { 129, -41, -2, 14, 46, 2 }, { 130, -40, -2, 14, 46, 2 }, { 131, -40, -2, 14, 46, 2 }, { 132, -39, -2, 14, 46, 2 }, + { 133, -39, -2, 13, 46, 2 }, { 134, -38, -2, 13, 46, 2 }, { 135, -38, -2, 13, 46, 2 }, { 136, -37, -2, 13, 46, 2 }, { 137, -36, -2, 13, 46, 2 }, + { 138, -36, -2, 13, 46, 2 }, { 139, -35, -3, 13, 46, 2 }, { 140, -34, -3, 13, 46, 2 }, { 141, -34, -3, 13, 46, 2 }, { 142, -33, -3, 13, 46, 2 }, + { 143, -32, -3, 13, 46, 2 }, { 144, -32, -3, 13, 46, 2 }, { 145, -31, -3, 13, 46, 2 }, { 146, -30, -3, 12, 46, 2 }, { 147, -29, -3, 12, 46, 2 }, + { 148, -29, -3, 12, 46, 2 }, { 149, -28, -3, 12, 46, 2 }, { 150, -27, -3, 12, 46, 2 }, { 151, -26, -3, 12, 46, 2 }, { 152, -25, -3, 12, 46, 2 }, + { 153, -25, -4, 12, 46, 2 }, { 154, -24, -4, 12, 46, 2 }, { 155, -23, -4, 12, 46, 2 }, { 156, -22, -4, 12, 46, 2 }, { 157, -21, -4, 12, 46, 2 }, + { 157, -20, -4, 12, 46, 2 }, { 158, -19, -4, 11, 46, 2 }, { 159, -18, -4, 11, 46, 2 }, { 160, -17, -4, 11, 46, 2 }, { 160, -16, -4, 11, 46, 2 }, + { 161, -15, -4, 11, 46, 2 }, { 162, -14, -4, 11, 46, 2 }, { 162, -13, -4, 11, 46, 2 }, { 163, -12, -4, 11, 46, 2 }, { 164, -11, -4, 11, 46, 2 }, + { 164, -10, -5, 11, 46, 2 }, { 165, -9, -5, 11, 46, 2 }, { 166, -8, -5, 11, 46, 2 }, { 166, -7, -5, 11, 46, 2 }, { 167, -6, -5, 10, 46, 2 }, + { 167, -5, -5, 10, 46, 2 }, { 168, -4, -5, 10, 46, 2 }, { 168, -3, -5, 10, 46, 2 }, { 169, -2, -5, 10, 46, 2 }, { 169, -1, -5, 10, 46, 2 }, + { 170, 0, -5, 10, 46, 2 }, { 170, 1, -5, 10, 46, 2 }, { 171, 2, -5, 10, 46, 2 }, { 171, 3, -5, 10, 46, 2 }, { 171, 4, -6, 10, 46, 2 }, + { 172, 5, -6, 10, 46, 2 }, { 172, 6, -6, 10, 46, 2 }, { 172, 7, -6, 10, 46, 2 }, { 173, 8, -6, 9, 46, 2 }, { 173, 9, -6, 9, 46, 2 }, + { 173, 10, -6, 9, 46, 2 }, { 173, 11, -6, 9, 46, 2 }, { 174, 12, -6, 9, 46, 2 }, { 174, 13, -6, 9, 46, 2 }, { 174, 14, -6, 9, 46, 2 }, + { 174, 15, -6, 9, 46, 2 }, { 174, 16, -6, 9, 46, 2 }, { 175, 17, -6, 9, 46, 2 }, { 175, 18, -7, 9, 46, 2 }, { 175, 19, -7, 9, 46, 2 }, + { 175, 20, -7, 9, 46, 2 }, { 175, 21, -7, 9, 46, 2 }, { 175, 22, -7, 9, 46, 2 }, { 176, 23, -7, 9, 46, 2 }, { 176, 24, -7, 8, 46, 2 }, + { 176, 25, -7, 8, 46, 2 }, { 176, 26, -7, 8, 46, 2 }, { 176, 27, -7, 8, 46, 2 }, { 176, 28, -7, 8, 46, 2 }, { 176, 29, -7, 8, 46, 2 }, + { 176, 30, -7, 8, 46, 2 }, { 176, 31, -7, 8, 46, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F6C6A = { - 227, { - { 31, 16, 8, 0, 46, 4 }, { 30, 16, 8, 0, 46, 4 }, { 29, 16, 8, 0, 46, 4 }, { 28, 16, 8, 0, 46, 4 }, { 27, 16, 8, 0, 46, 4 }, - { 26, 16, 8, 0, 46, 4 }, { 25, 16, 8, 0, 46, 4 }, { 24, 16, 8, 1, 46, 4 }, { 23, 17, 8, 1, 46, 4 }, { 22, 17, 8, 1, 46, 4 }, - { 21, 17, 8, 1, 46, 4 }, { 20, 17, 8, 1, 46, 4 }, { 19, 17, 8, 1, 46, 4 }, { 18, 17, 8, 1, 46, 4 }, { 17, 18, 7, 1, 46, 4 }, - { 16, 18, 7, 1, 46, 4 }, { 15, 18, 7, 1, 46, 4 }, { 14, 18, 7, 1, 46, 4 }, { 13, 18, 7, 1, 46, 4 }, { 12, 19, 7, 1, 46, 4 }, - { 11, 19, 7, 1, 46, 4 }, { 10, 19, 7, 2, 46, 4 }, { 9, 19, 7, 2, 46, 4 }, { 8, 20, 7, 2, 46, 4 }, { 7, 20, 7, 2, 46, 4 }, - { 6, 20, 7, 2, 46, 4 }, { 5, 21, 7, 2, 46, 4 }, { 4, 21, 7, 2, 46, 4 }, { 3, 21, 6, 2, 46, 4 }, { 2, 22, 6, 2, 46, 4 }, - { 1, 22, 6, 2, 46, 4 }, { 0, 23, 6, 2, 46, 4 }, { -1, 23, 6, 2, 46, 4 }, { -2, 24, 6, 2, 46, 4 }, { -3, 24, 6, 2, 46, 4 }, - { -4, 25, 6, 2, 46, 4 }, { -5, 25, 6, 3, 46, 4 }, { -6, 26, 6, 3, 46, 4 }, { -7, 26, 6, 3, 46, 4 }, { -8, 27, 6, 3, 46, 4 }, - { -9, 28, 6, 3, 46, 4 }, { -10, 28, 6, 3, 46, 4 }, { -11, 29, 5, 3, 46, 4 }, { -12, 30, 5, 3, 46, 4 }, { -13, 30, 5, 3, 46, 4 }, - { -14, 31, 5, 3, 46, 4 }, { -15, 32, 5, 3, 46, 4 }, { -16, 32, 5, 3, 46, 4 }, { -17, 33, 5, 3, 46, 4 }, { -18, 34, 5, 4, 46, 4 }, - { -19, 35, 5, 4, 46, 4 }, { -20, 35, 5, 4, 46, 4 }, { -21, 36, 5, 4, 46, 4 }, { -22, 37, 5, 4, 46, 4 }, { -23, 38, 5, 4, 46, 4 }, - { -24, 39, 5, 4, 46, 4 }, { -25, 39, 4, 4, 46, 4 }, { -26, 40, 4, 4, 46, 4 }, { -27, 41, 4, 4, 46, 4 }, { -28, 42, 4, 4, 46, 4 }, - { -29, 43, 4, 4, 46, 4 }, { -29, 44, 4, 4, 46, 4 }, { -30, 45, 4, 5, 46, 4 }, { -31, 46, 4, 5, 46, 4 }, { -32, 47, 4, 5, 46, 4 }, - { -32, 48, 4, 5, 46, 4 }, { -33, 49, 4, 5, 46, 4 }, { -34, 50, 4, 5, 46, 4 }, { -34, 51, 4, 5, 46, 4 }, { -35, 52, 4, 5, 46, 4 }, - { -36, 53, 3, 5, 46, 4 }, { -36, 54, 3, 5, 46, 4 }, { -37, 55, 3, 5, 46, 4 }, { -38, 56, 3, 5, 46, 4 }, { -38, 57, 3, 5, 46, 4 }, - { -39, 58, 3, 6, 46, 4 }, { -39, 59, 3, 6, 46, 4 }, { -40, 60, 3, 6, 46, 4 }, { -40, 61, 3, 6, 46, 4 }, { -41, 62, 3, 6, 46, 4 }, - { -41, 63, 3, 6, 46, 4 }, { -42, 64, 3, 6, 46, 4 }, { -42, 65, 3, 6, 46, 4 }, { -43, 66, 3, 6, 46, 4 }, { -43, 67, 2, 6, 46, 4 }, - { -43, 68, 2, 6, 46, 4 }, { -44, 69, 2, 6, 46, 4 }, { -44, 70, 2, 6, 46, 4 }, { -44, 71, 2, 6, 46, 4 }, { -45, 72, 2, 7, 46, 4 }, - { -45, 73, 2, 7, 46, 4 }, { -45, 74, 2, 7, 46, 4 }, { -45, 75, 2, 7, 46, 4 }, { -46, 76, 2, 7, 46, 4 }, { -46, 77, 2, 7, 46, 4 }, - { -46, 78, 2, 7, 46, 4 }, { -46, 79, 2, 7, 46, 4 }, { -46, 80, 2, 7, 46, 4 }, { -47, 81, 1, 7, 46, 4 }, { -47, 82, 1, 7, 46, 4 }, - { -47, 83, 1, 7, 46, 4 }, { -47, 84, 1, 7, 46, 4 }, { -47, 85, 1, 7, 46, 4 }, { -47, 86, 1, 7, 46, 4 }, { -48, 87, 1, 7, 46, 4 }, - { -48, 88, 1, 8, 46, 4 }, { -48, 89, 1, 8, 46, 4 }, { -48, 90, 1, 8, 46, 4 }, { -48, 91, 1, 8, 46, 4 }, { -48, 92, 1, 8, 46, 4 }, - { -48, 93, 1, 8, 46, 4 }, { -48, 94, 1, 8, 46, 4 }, { -48, 95, 0, 8, 46, 4 }, { -48, 96, 0, 8, 46, 4 }, { -48, 97, 0, 8, 46, 4 }, - { -48, 98, 0, 8, 46, 4 }, { -48, 99, 0, 8, 46, 4 }, { -48, 100, 0, 8, 46, 4 }, { -48, 101, 0, 8, 46, 4 }, { -48, 102, 0, 8, 46, 4 }, - { -48, 103, 0, 8, 46, 4 }, { -48, 104, 0, 9, 46, 4 }, { -47, 105, 0, 9, 46, 4 }, { -47, 106, 0, 9, 46, 4 }, { -47, 107, 0, 9, 46, 4 }, - { -47, 108, 0, 9, 46, 4 }, { -47, 109, 0, 9, 46, 4 }, { -47, 110, 0, 9, 46, 4 }, { -46, 111, -1, 9, 46, 4 }, { -46, 112, -1, 9, 46, 4 }, - { -46, 113, -1, 9, 46, 4 }, { -46, 114, -1, 9, 46, 4 }, { -46, 115, -1, 9, 46, 4 }, { -45, 116, -1, 9, 46, 4 }, { -45, 117, -1, 9, 46, 4 }, - { -45, 118, -1, 10, 46, 4 }, { -45, 119, -1, 10, 46, 4 }, { -44, 120, -1, 10, 46, 4 }, { -44, 121, -1, 10, 46, 4 }, { -44, 122, -1, 10, 46, 4 }, - { -43, 123, -1, 10, 46, 4 }, { -43, 124, -1, 10, 46, 4 }, { -43, 125, -2, 10, 46, 4 }, { -42, 126, -2, 10, 46, 4 }, { -42, 127, -2, 10, 46, 4 }, - { -41, 128, -2, 10, 46, 4 }, { -41, 129, -2, 10, 46, 4 }, { -40, 130, -2, 10, 46, 4 }, { -40, 131, -2, 10, 46, 4 }, { -39, 132, -2, 10, 46, 4 }, - { -39, 133, -2, 11, 46, 4 }, { -38, 134, -2, 11, 46, 4 }, { -38, 135, -2, 11, 46, 4 }, { -37, 136, -2, 11, 46, 4 }, { -36, 137, -2, 11, 46, 4 }, - { -36, 138, -2, 11, 46, 4 }, { -35, 139, -3, 11, 46, 4 }, { -34, 140, -3, 11, 46, 4 }, { -34, 141, -3, 11, 46, 4 }, { -33, 142, -3, 11, 46, 4 }, - { -32, 143, -3, 11, 46, 4 }, { -32, 144, -3, 11, 46, 4 }, { -31, 145, -3, 11, 46, 4 }, { -30, 146, -3, 12, 46, 4 }, { -29, 147, -3, 12, 46, 4 }, - { -29, 148, -3, 12, 46, 4 }, { -28, 149, -3, 12, 46, 4 }, { -27, 150, -3, 12, 46, 4 }, { -26, 151, -3, 12, 46, 4 }, { -25, 152, -3, 12, 46, 4 }, - { -25, 153, -4, 12, 46, 4 }, { -24, 154, -4, 12, 46, 4 }, { -23, 155, -4, 12, 46, 4 }, { -22, 156, -4, 12, 46, 4 }, { -21, 157, -4, 12, 46, 4 }, - { -20, 157, -4, 12, 46, 4 }, { -19, 158, -4, 13, 46, 4 }, { -18, 159, -4, 13, 46, 4 }, { -17, 160, -4, 13, 46, 4 }, { -16, 160, -4, 13, 46, 4 }, - { -15, 161, -4, 13, 46, 4 }, { -14, 162, -4, 13, 46, 4 }, { -13, 162, -4, 13, 46, 4 }, { -12, 163, -4, 13, 46, 4 }, { -11, 164, -4, 13, 46, 4 }, - { -10, 164, -5, 13, 46, 4 }, { -9, 165, -5, 13, 46, 4 }, { -8, 166, -5, 13, 46, 4 }, { -7, 166, -5, 13, 46, 4 }, { -6, 167, -5, 14, 46, 4 }, - { -5, 167, -5, 14, 46, 4 }, { -4, 168, -5, 14, 46, 4 }, { -3, 168, -5, 14, 46, 4 }, { -2, 169, -5, 14, 46, 4 }, { -1, 169, -5, 14, 46, 4 }, - { 0, 170, -5, 14, 46, 4 }, { 1, 170, -5, 14, 46, 4 }, { 2, 171, -5, 14, 46, 4 }, { 3, 171, -5, 14, 46, 4 }, { 4, 171, -6, 14, 46, 4 }, - { 5, 172, -6, 14, 46, 4 }, { 6, 172, -6, 14, 46, 4 }, { 7, 172, -6, 14, 46, 4 }, { 8, 173, -6, 15, 46, 4 }, { 9, 173, -6, 15, 46, 4 }, - { 10, 173, -6, 15, 46, 4 }, { 11, 173, -6, 15, 46, 4 }, { 12, 174, -6, 15, 46, 4 }, { 13, 174, -6, 15, 46, 4 }, { 14, 174, -6, 15, 46, 4 }, - { 15, 174, -6, 15, 46, 4 }, { 16, 174, -6, 15, 46, 4 }, { 17, 175, -6, 15, 46, 4 }, { 18, 175, -7, 15, 46, 4 }, { 19, 175, -7, 15, 46, 4 }, - { 20, 175, -7, 15, 46, 4 }, { 21, 175, -7, 15, 46, 4 }, { 22, 175, -7, 15, 46, 4 }, { 23, 176, -7, 15, 46, 4 }, { 24, 176, -7, 16, 46, 4 }, - { 25, 176, -7, 16, 46, 4 }, { 26, 176, -7, 16, 46, 4 }, { 27, 176, -7, 16, 46, 4 }, { 28, 176, -7, 16, 46, 4 }, { 29, 176, -7, 16, 46, 4 }, - { 30, 176, -7, 16, 46, 4 }, { 31, 176, -7, 16, 46, 4 }, + 227, { + { 31, 16, 8, 0, 46, 4 }, { 30, 16, 8, 0, 46, 4 }, { 29, 16, 8, 0, 46, 4 }, { 28, 16, 8, 0, 46, 4 }, { 27, 16, 8, 0, 46, 4 }, + { 26, 16, 8, 0, 46, 4 }, { 25, 16, 8, 0, 46, 4 }, { 24, 16, 8, 1, 46, 4 }, { 23, 17, 8, 1, 46, 4 }, { 22, 17, 8, 1, 46, 4 }, + { 21, 17, 8, 1, 46, 4 }, { 20, 17, 8, 1, 46, 4 }, { 19, 17, 8, 1, 46, 4 }, { 18, 17, 8, 1, 46, 4 }, { 17, 18, 7, 1, 46, 4 }, + { 16, 18, 7, 1, 46, 4 }, { 15, 18, 7, 1, 46, 4 }, { 14, 18, 7, 1, 46, 4 }, { 13, 18, 7, 1, 46, 4 }, { 12, 19, 7, 1, 46, 4 }, + { 11, 19, 7, 1, 46, 4 }, { 10, 19, 7, 2, 46, 4 }, { 9, 19, 7, 2, 46, 4 }, { 8, 20, 7, 2, 46, 4 }, { 7, 20, 7, 2, 46, 4 }, + { 6, 20, 7, 2, 46, 4 }, { 5, 21, 7, 2, 46, 4 }, { 4, 21, 7, 2, 46, 4 }, { 3, 21, 6, 2, 46, 4 }, { 2, 22, 6, 2, 46, 4 }, + { 1, 22, 6, 2, 46, 4 }, { 0, 23, 6, 2, 46, 4 }, { -1, 23, 6, 2, 46, 4 }, { -2, 24, 6, 2, 46, 4 }, { -3, 24, 6, 2, 46, 4 }, + { -4, 25, 6, 2, 46, 4 }, { -5, 25, 6, 3, 46, 4 }, { -6, 26, 6, 3, 46, 4 }, { -7, 26, 6, 3, 46, 4 }, { -8, 27, 6, 3, 46, 4 }, + { -9, 28, 6, 3, 46, 4 }, { -10, 28, 6, 3, 46, 4 }, { -11, 29, 5, 3, 46, 4 }, { -12, 30, 5, 3, 46, 4 }, { -13, 30, 5, 3, 46, 4 }, + { -14, 31, 5, 3, 46, 4 }, { -15, 32, 5, 3, 46, 4 }, { -16, 32, 5, 3, 46, 4 }, { -17, 33, 5, 3, 46, 4 }, { -18, 34, 5, 4, 46, 4 }, + { -19, 35, 5, 4, 46, 4 }, { -20, 35, 5, 4, 46, 4 }, { -21, 36, 5, 4, 46, 4 }, { -22, 37, 5, 4, 46, 4 }, { -23, 38, 5, 4, 46, 4 }, + { -24, 39, 5, 4, 46, 4 }, { -25, 39, 4, 4, 46, 4 }, { -26, 40, 4, 4, 46, 4 }, { -27, 41, 4, 4, 46, 4 }, { -28, 42, 4, 4, 46, 4 }, + { -29, 43, 4, 4, 46, 4 }, { -29, 44, 4, 4, 46, 4 }, { -30, 45, 4, 5, 46, 4 }, { -31, 46, 4, 5, 46, 4 }, { -32, 47, 4, 5, 46, 4 }, + { -32, 48, 4, 5, 46, 4 }, { -33, 49, 4, 5, 46, 4 }, { -34, 50, 4, 5, 46, 4 }, { -34, 51, 4, 5, 46, 4 }, { -35, 52, 4, 5, 46, 4 }, + { -36, 53, 3, 5, 46, 4 }, { -36, 54, 3, 5, 46, 4 }, { -37, 55, 3, 5, 46, 4 }, { -38, 56, 3, 5, 46, 4 }, { -38, 57, 3, 5, 46, 4 }, + { -39, 58, 3, 6, 46, 4 }, { -39, 59, 3, 6, 46, 4 }, { -40, 60, 3, 6, 46, 4 }, { -40, 61, 3, 6, 46, 4 }, { -41, 62, 3, 6, 46, 4 }, + { -41, 63, 3, 6, 46, 4 }, { -42, 64, 3, 6, 46, 4 }, { -42, 65, 3, 6, 46, 4 }, { -43, 66, 3, 6, 46, 4 }, { -43, 67, 2, 6, 46, 4 }, + { -43, 68, 2, 6, 46, 4 }, { -44, 69, 2, 6, 46, 4 }, { -44, 70, 2, 6, 46, 4 }, { -44, 71, 2, 6, 46, 4 }, { -45, 72, 2, 7, 46, 4 }, + { -45, 73, 2, 7, 46, 4 }, { -45, 74, 2, 7, 46, 4 }, { -45, 75, 2, 7, 46, 4 }, { -46, 76, 2, 7, 46, 4 }, { -46, 77, 2, 7, 46, 4 }, + { -46, 78, 2, 7, 46, 4 }, { -46, 79, 2, 7, 46, 4 }, { -46, 80, 2, 7, 46, 4 }, { -47, 81, 1, 7, 46, 4 }, { -47, 82, 1, 7, 46, 4 }, + { -47, 83, 1, 7, 46, 4 }, { -47, 84, 1, 7, 46, 4 }, { -47, 85, 1, 7, 46, 4 }, { -47, 86, 1, 7, 46, 4 }, { -48, 87, 1, 7, 46, 4 }, + { -48, 88, 1, 8, 46, 4 }, { -48, 89, 1, 8, 46, 4 }, { -48, 90, 1, 8, 46, 4 }, { -48, 91, 1, 8, 46, 4 }, { -48, 92, 1, 8, 46, 4 }, + { -48, 93, 1, 8, 46, 4 }, { -48, 94, 1, 8, 46, 4 }, { -48, 95, 0, 8, 46, 4 }, { -48, 96, 0, 8, 46, 4 }, { -48, 97, 0, 8, 46, 4 }, + { -48, 98, 0, 8, 46, 4 }, { -48, 99, 0, 8, 46, 4 }, { -48, 100, 0, 8, 46, 4 }, { -48, 101, 0, 8, 46, 4 }, { -48, 102, 0, 8, 46, 4 }, + { -48, 103, 0, 8, 46, 4 }, { -48, 104, 0, 9, 46, 4 }, { -47, 105, 0, 9, 46, 4 }, { -47, 106, 0, 9, 46, 4 }, { -47, 107, 0, 9, 46, 4 }, + { -47, 108, 0, 9, 46, 4 }, { -47, 109, 0, 9, 46, 4 }, { -47, 110, 0, 9, 46, 4 }, { -46, 111, -1, 9, 46, 4 }, { -46, 112, -1, 9, 46, 4 }, + { -46, 113, -1, 9, 46, 4 }, { -46, 114, -1, 9, 46, 4 }, { -46, 115, -1, 9, 46, 4 }, { -45, 116, -1, 9, 46, 4 }, { -45, 117, -1, 9, 46, 4 }, + { -45, 118, -1, 10, 46, 4 }, { -45, 119, -1, 10, 46, 4 }, { -44, 120, -1, 10, 46, 4 }, { -44, 121, -1, 10, 46, 4 }, { -44, 122, -1, 10, 46, 4 }, + { -43, 123, -1, 10, 46, 4 }, { -43, 124, -1, 10, 46, 4 }, { -43, 125, -2, 10, 46, 4 }, { -42, 126, -2, 10, 46, 4 }, { -42, 127, -2, 10, 46, 4 }, + { -41, 128, -2, 10, 46, 4 }, { -41, 129, -2, 10, 46, 4 }, { -40, 130, -2, 10, 46, 4 }, { -40, 131, -2, 10, 46, 4 }, { -39, 132, -2, 10, 46, 4 }, + { -39, 133, -2, 11, 46, 4 }, { -38, 134, -2, 11, 46, 4 }, { -38, 135, -2, 11, 46, 4 }, { -37, 136, -2, 11, 46, 4 }, { -36, 137, -2, 11, 46, 4 }, + { -36, 138, -2, 11, 46, 4 }, { -35, 139, -3, 11, 46, 4 }, { -34, 140, -3, 11, 46, 4 }, { -34, 141, -3, 11, 46, 4 }, { -33, 142, -3, 11, 46, 4 }, + { -32, 143, -3, 11, 46, 4 }, { -32, 144, -3, 11, 46, 4 }, { -31, 145, -3, 11, 46, 4 }, { -30, 146, -3, 12, 46, 4 }, { -29, 147, -3, 12, 46, 4 }, + { -29, 148, -3, 12, 46, 4 }, { -28, 149, -3, 12, 46, 4 }, { -27, 150, -3, 12, 46, 4 }, { -26, 151, -3, 12, 46, 4 }, { -25, 152, -3, 12, 46, 4 }, + { -25, 153, -4, 12, 46, 4 }, { -24, 154, -4, 12, 46, 4 }, { -23, 155, -4, 12, 46, 4 }, { -22, 156, -4, 12, 46, 4 }, { -21, 157, -4, 12, 46, 4 }, + { -20, 157, -4, 12, 46, 4 }, { -19, 158, -4, 13, 46, 4 }, { -18, 159, -4, 13, 46, 4 }, { -17, 160, -4, 13, 46, 4 }, { -16, 160, -4, 13, 46, 4 }, + { -15, 161, -4, 13, 46, 4 }, { -14, 162, -4, 13, 46, 4 }, { -13, 162, -4, 13, 46, 4 }, { -12, 163, -4, 13, 46, 4 }, { -11, 164, -4, 13, 46, 4 }, + { -10, 164, -5, 13, 46, 4 }, { -9, 165, -5, 13, 46, 4 }, { -8, 166, -5, 13, 46, 4 }, { -7, 166, -5, 13, 46, 4 }, { -6, 167, -5, 14, 46, 4 }, + { -5, 167, -5, 14, 46, 4 }, { -4, 168, -5, 14, 46, 4 }, { -3, 168, -5, 14, 46, 4 }, { -2, 169, -5, 14, 46, 4 }, { -1, 169, -5, 14, 46, 4 }, + { 0, 170, -5, 14, 46, 4 }, { 1, 170, -5, 14, 46, 4 }, { 2, 171, -5, 14, 46, 4 }, { 3, 171, -5, 14, 46, 4 }, { 4, 171, -6, 14, 46, 4 }, + { 5, 172, -6, 14, 46, 4 }, { 6, 172, -6, 14, 46, 4 }, { 7, 172, -6, 14, 46, 4 }, { 8, 173, -6, 15, 46, 4 }, { 9, 173, -6, 15, 46, 4 }, + { 10, 173, -6, 15, 46, 4 }, { 11, 173, -6, 15, 46, 4 }, { 12, 174, -6, 15, 46, 4 }, { 13, 174, -6, 15, 46, 4 }, { 14, 174, -6, 15, 46, 4 }, + { 15, 174, -6, 15, 46, 4 }, { 16, 174, -6, 15, 46, 4 }, { 17, 175, -6, 15, 46, 4 }, { 18, 175, -7, 15, 46, 4 }, { 19, 175, -7, 15, 46, 4 }, + { 20, 175, -7, 15, 46, 4 }, { 21, 175, -7, 15, 46, 4 }, { 22, 175, -7, 15, 46, 4 }, { 23, 176, -7, 15, 46, 4 }, { 24, 176, -7, 16, 46, 4 }, + { 25, 176, -7, 16, 46, 4 }, { 26, 176, -7, 16, 46, 4 }, { 27, 176, -7, 16, 46, 4 }, { 28, 176, -7, 16, 46, 4 }, { 29, 176, -7, 16, 46, 4 }, + { 30, 176, -7, 16, 46, 4 }, { 31, 176, -7, 16, 46, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F7467 = { - 229, { - { 16, 0, 8, 8, 46, 4 }, { 16, 1, 8, 8, 46, 4 }, { 16, 2, 8, 8, 46, 4 }, { 16, 3, 8, 8, 46, 4 }, { 16, 4, 8, 8, 46, 4 }, - { 16, 5, 8, 8, 46, 4 }, { 16, 6, 8, 8, 46, 4 }, { 16, 7, 8, 8, 46, 4 }, { 16, 8, 8, 9, 46, 4 }, { 17, 9, 8, 9, 46, 4 }, - { 17, 10, 8, 9, 46, 4 }, { 17, 11, 8, 9, 46, 4 }, { 17, 12, 8, 9, 46, 4 }, { 17, 13, 8, 9, 46, 4 }, { 17, 14, 8, 9, 46, 4 }, - { 18, 15, 7, 9, 46, 4 }, { 18, 16, 7, 9, 46, 4 }, { 18, 17, 7, 9, 46, 4 }, { 18, 18, 7, 9, 46, 4 }, { 18, 19, 7, 9, 46, 4 }, - { 19, 20, 7, 9, 46, 4 }, { 19, 21, 7, 9, 46, 4 }, { 19, 22, 7, 10, 46, 4 }, { 19, 23, 7, 10, 46, 4 }, { 20, 24, 7, 10, 46, 4 }, - { 20, 25, 7, 10, 46, 4 }, { 20, 26, 7, 10, 46, 4 }, { 21, 27, 7, 10, 46, 4 }, { 21, 28, 7, 10, 46, 4 }, { 21, 29, 6, 10, 46, 4 }, - { 22, 30, 6, 10, 46, 4 }, { 22, 31, 6, 10, 46, 4 }, { 23, 32, 6, 10, 46, 4 }, { 23, 33, 6, 10, 46, 4 }, { 24, 34, 6, 10, 46, 4 }, - { 24, 35, 6, 10, 46, 4 }, { 25, 36, 6, 10, 46, 4 }, { 25, 37, 6, 11, 46, 4 }, { 26, 38, 6, 11, 46, 4 }, { 26, 39, 6, 11, 46, 4 }, - { 27, 40, 6, 11, 46, 4 }, { 28, 41, 6, 11, 46, 4 }, { 28, 42, 6, 11, 46, 4 }, { 29, 43, 5, 11, 46, 4 }, { 30, 44, 5, 11, 46, 4 }, - { 30, 45, 5, 11, 46, 4 }, { 31, 46, 5, 11, 46, 4 }, { 32, 47, 5, 11, 46, 4 }, { 32, 48, 5, 11, 46, 4 }, { 33, 49, 5, 11, 46, 4 }, - { 34, 50, 5, 12, 46, 4 }, { 35, 51, 5, 12, 46, 4 }, { 35, 52, 5, 12, 46, 4 }, { 36, 53, 5, 12, 46, 4 }, { 37, 54, 5, 12, 46, 4 }, - { 38, 55, 5, 12, 46, 4 }, { 39, 56, 5, 12, 46, 4 }, { 39, 57, 4, 12, 46, 4 }, { 40, 58, 4, 12, 46, 4 }, { 41, 59, 4, 12, 46, 4 }, - { 42, 60, 4, 12, 46, 4 }, { 43, 61, 4, 12, 46, 4 }, { 44, 61, 4, 12, 46, 4 }, { 45, 62, 4, 13, 46, 4 }, { 46, 63, 4, 13, 46, 4 }, - { 47, 64, 4, 13, 46, 4 }, { 48, 64, 4, 13, 46, 4 }, { 49, 65, 4, 13, 46, 4 }, { 50, 66, 4, 13, 46, 4 }, { 51, 66, 4, 13, 46, 4 }, - { 52, 67, 4, 13, 46, 4 }, { 53, 68, 4, 13, 46, 4 }, { 54, 68, 3, 13, 46, 4 }, { 55, 69, 3, 13, 46, 4 }, { 56, 70, 3, 13, 46, 4 }, - { 57, 70, 3, 13, 46, 4 }, { 58, 71, 3, 14, 46, 4 }, { 59, 71, 3, 14, 46, 4 }, { 60, 72, 3, 14, 46, 4 }, { 61, 72, 3, 14, 46, 4 }, - { 62, 73, 3, 14, 46, 4 }, { 63, 73, 3, 14, 46, 4 }, { 64, 74, 3, 14, 46, 4 }, { 65, 74, 3, 14, 46, 4 }, { 66, 75, 3, 14, 46, 4 }, - { 67, 75, 3, 14, 46, 4 }, { 68, 75, 2, 14, 46, 4 }, { 69, 76, 2, 14, 46, 4 }, { 70, 76, 2, 14, 46, 4 }, { 71, 76, 2, 14, 46, 4 }, - { 72, 77, 2, 15, 46, 4 }, { 73, 77, 2, 15, 46, 4 }, { 74, 77, 2, 15, 46, 4 }, { 75, 77, 2, 15, 46, 4 }, { 76, 78, 2, 15, 46, 4 }, - { 77, 78, 2, 15, 46, 4 }, { 78, 78, 2, 15, 46, 4 }, { 79, 78, 2, 15, 46, 4 }, { 80, 78, 2, 15, 46, 4 }, { 81, 79, 2, 15, 46, 4 }, - { 82, 79, 1, 15, 46, 4 }, { 83, 79, 1, 15, 46, 4 }, { 84, 79, 1, 15, 46, 4 }, { 85, 79, 1, 15, 46, 4 }, { 86, 79, 1, 15, 46, 4 }, - { 87, 80, 1, 15, 46, 4 }, { 88, 80, 1, 16, 46, 4 }, { 89, 80, 1, 16, 46, 4 }, { 90, 80, 1, 16, 46, 4 }, { 91, 80, 1, 16, 46, 4 }, - { 92, 80, 1, 16, 46, 4 }, { 93, 80, 1, 16, 46, 4 }, { 94, 80, 1, 16, 46, 4 }, { 95, 80, 1, 16, 46, 4 }, { 96, 80, 0, 16, 46, 4 }, - { 97, 80, 0, 16, 46, 4 }, { 98, 80, 0, 16, 46, 4 }, { 99, 80, 0, 16, 46, 4 }, { 100, 80, 0, 16, 46, 4 }, { 101, 80, 0, 16, 46, 4 }, - { 102, 80, 0, 16, 46, 4 }, { 103, 80, 0, 16, 46, 4 }, { 104, 80, 0, 17, 46, 4 }, { 105, 79, 0, 17, 46, 4 }, { 106, 79, 0, 17, 46, 4 }, - { 107, 79, 0, 17, 46, 4 }, { 108, 79, 0, 17, 46, 4 }, { 109, 79, 0, 17, 46, 4 }, { 110, 79, 0, 17, 46, 4 }, { 111, 78, -1, 17, 46, 4 }, - { 112, 78, -1, 17, 46, 4 }, { 113, 78, -1, 17, 46, 4 }, { 114, 78, -1, 17, 46, 4 }, { 115, 78, -1, 17, 46, 4 }, { 116, 77, -1, 17, 46, 4 }, - { 117, 77, -1, 17, 46, 4 }, { 118, 77, -1, 18, 46, 4 }, { 119, 77, -1, 18, 46, 4 }, { 120, 76, -1, 18, 46, 4 }, { 121, 76, -1, 18, 46, 4 }, - { 122, 76, -1, 18, 46, 4 }, { 123, 75, -1, 18, 46, 4 }, { 124, 75, -1, 18, 46, 4 }, { 125, 75, -2, 18, 46, 4 }, { 126, 74, -2, 18, 46, 4 }, - { 127, 74, -2, 18, 46, 4 }, { 128, 73, -2, 18, 46, 4 }, { 129, 73, -2, 18, 46, 4 }, { 130, 72, -2, 18, 46, 4 }, { 131, 72, -2, 18, 46, 4 }, - { 132, 71, -2, 18, 46, 4 }, { 133, 71, -2, 19, 46, 4 }, { 134, 70, -2, 19, 46, 4 }, { 135, 70, -2, 19, 46, 4 }, { 136, 69, -2, 19, 46, 4 }, - { 137, 68, -2, 19, 46, 4 }, { 138, 68, -2, 19, 46, 4 }, { 139, 67, -2, 19, 46, 4 }, { 140, 66, -3, 19, 46, 4 }, { 141, 66, -3, 19, 46, 4 }, - { 142, 65, -3, 19, 46, 4 }, { 143, 64, -3, 19, 46, 4 }, { 144, 64, -3, 19, 46, 4 }, { 145, 63, -3, 19, 46, 4 }, { 146, 62, -3, 20, 46, 4 }, - { 147, 61, -3, 20, 46, 4 }, { 148, 61, -3, 20, 46, 4 }, { 149, 60, -3, 20, 46, 4 }, { 150, 59, -3, 20, 46, 4 }, { 151, 58, -3, 20, 46, 4 }, - { 152, 57, -3, 20, 46, 4 }, { 153, 57, -3, 20, 46, 4 }, { 154, 56, -4, 20, 46, 4 }, { 155, 55, -4, 20, 46, 4 }, { 156, 54, -4, 20, 46, 4 }, - { 157, 53, -4, 20, 46, 4 }, { 157, 52, -4, 20, 46, 4 }, { 158, 51, -4, 21, 46, 4 }, { 159, 50, -4, 21, 46, 4 }, { 160, 49, -4, 21, 46, 4 }, - { 160, 48, -4, 21, 46, 4 }, { 161, 47, -4, 21, 46, 4 }, { 162, 46, -4, 21, 46, 4 }, { 162, 45, -4, 21, 46, 4 }, { 163, 44, -4, 21, 46, 4 }, - { 164, 43, -4, 21, 46, 4 }, { 164, 42, -5, 21, 46, 4 }, { 165, 41, -5, 21, 46, 4 }, { 166, 40, -5, 21, 46, 4 }, { 166, 39, -5, 21, 46, 4 }, - { 167, 38, -5, 22, 46, 4 }, { 167, 37, -5, 22, 46, 4 }, { 168, 36, -5, 22, 46, 4 }, { 168, 35, -5, 22, 46, 4 }, { 169, 34, -5, 22, 46, 4 }, - { 169, 33, -5, 22, 46, 4 }, { 170, 32, -5, 22, 46, 4 }, { 170, 31, -5, 22, 46, 4 }, { 171, 30, -5, 22, 46, 4 }, { 171, 29, -5, 22, 46, 4 }, - { 171, 28, -5, 22, 46, 4 }, { 172, 27, -6, 22, 46, 4 }, { 172, 26, -6, 22, 46, 4 }, { 172, 25, -6, 22, 46, 4 }, { 173, 24, -6, 23, 46, 4 }, - { 173, 23, -6, 23, 46, 4 }, { 173, 22, -6, 23, 46, 4 }, { 173, 21, -6, 23, 46, 4 }, { 174, 20, -6, 23, 46, 4 }, { 174, 19, -6, 23, 46, 4 }, - { 174, 18, -6, 23, 46, 4 }, { 174, 17, -6, 23, 46, 4 }, { 174, 16, -6, 23, 46, 4 }, { 175, 15, -6, 23, 46, 4 }, { 175, 14, -6, 23, 46, 4 }, - { 175, 13, -7, 23, 46, 4 }, { 175, 12, -7, 23, 46, 4 }, { 175, 11, -7, 23, 46, 4 }, { 175, 10, -7, 23, 46, 4 }, { 176, 9, -7, 23, 46, 4 }, - { 176, 8, -7, 24, 46, 4 }, { 176, 7, -7, 24, 46, 4 }, { 176, 6, -7, 24, 46, 4 }, { 176, 5, -7, 24, 46, 4 }, { 176, 4, -7, 24, 46, 4 }, - { 176, 3, -7, 24, 46, 4 }, { 176, 2, -7, 24, 46, 4 }, { 176, 1, -7, 24, 46, 4 }, { 176, 0, -7, 24, 46, 4 }, + 229, { + { 16, 0, 8, 8, 46, 4 }, { 16, 1, 8, 8, 46, 4 }, { 16, 2, 8, 8, 46, 4 }, { 16, 3, 8, 8, 46, 4 }, { 16, 4, 8, 8, 46, 4 }, + { 16, 5, 8, 8, 46, 4 }, { 16, 6, 8, 8, 46, 4 }, { 16, 7, 8, 8, 46, 4 }, { 16, 8, 8, 9, 46, 4 }, { 17, 9, 8, 9, 46, 4 }, + { 17, 10, 8, 9, 46, 4 }, { 17, 11, 8, 9, 46, 4 }, { 17, 12, 8, 9, 46, 4 }, { 17, 13, 8, 9, 46, 4 }, { 17, 14, 8, 9, 46, 4 }, + { 18, 15, 7, 9, 46, 4 }, { 18, 16, 7, 9, 46, 4 }, { 18, 17, 7, 9, 46, 4 }, { 18, 18, 7, 9, 46, 4 }, { 18, 19, 7, 9, 46, 4 }, + { 19, 20, 7, 9, 46, 4 }, { 19, 21, 7, 9, 46, 4 }, { 19, 22, 7, 10, 46, 4 }, { 19, 23, 7, 10, 46, 4 }, { 20, 24, 7, 10, 46, 4 }, + { 20, 25, 7, 10, 46, 4 }, { 20, 26, 7, 10, 46, 4 }, { 21, 27, 7, 10, 46, 4 }, { 21, 28, 7, 10, 46, 4 }, { 21, 29, 6, 10, 46, 4 }, + { 22, 30, 6, 10, 46, 4 }, { 22, 31, 6, 10, 46, 4 }, { 23, 32, 6, 10, 46, 4 }, { 23, 33, 6, 10, 46, 4 }, { 24, 34, 6, 10, 46, 4 }, + { 24, 35, 6, 10, 46, 4 }, { 25, 36, 6, 10, 46, 4 }, { 25, 37, 6, 11, 46, 4 }, { 26, 38, 6, 11, 46, 4 }, { 26, 39, 6, 11, 46, 4 }, + { 27, 40, 6, 11, 46, 4 }, { 28, 41, 6, 11, 46, 4 }, { 28, 42, 6, 11, 46, 4 }, { 29, 43, 5, 11, 46, 4 }, { 30, 44, 5, 11, 46, 4 }, + { 30, 45, 5, 11, 46, 4 }, { 31, 46, 5, 11, 46, 4 }, { 32, 47, 5, 11, 46, 4 }, { 32, 48, 5, 11, 46, 4 }, { 33, 49, 5, 11, 46, 4 }, + { 34, 50, 5, 12, 46, 4 }, { 35, 51, 5, 12, 46, 4 }, { 35, 52, 5, 12, 46, 4 }, { 36, 53, 5, 12, 46, 4 }, { 37, 54, 5, 12, 46, 4 }, + { 38, 55, 5, 12, 46, 4 }, { 39, 56, 5, 12, 46, 4 }, { 39, 57, 4, 12, 46, 4 }, { 40, 58, 4, 12, 46, 4 }, { 41, 59, 4, 12, 46, 4 }, + { 42, 60, 4, 12, 46, 4 }, { 43, 61, 4, 12, 46, 4 }, { 44, 61, 4, 12, 46, 4 }, { 45, 62, 4, 13, 46, 4 }, { 46, 63, 4, 13, 46, 4 }, + { 47, 64, 4, 13, 46, 4 }, { 48, 64, 4, 13, 46, 4 }, { 49, 65, 4, 13, 46, 4 }, { 50, 66, 4, 13, 46, 4 }, { 51, 66, 4, 13, 46, 4 }, + { 52, 67, 4, 13, 46, 4 }, { 53, 68, 4, 13, 46, 4 }, { 54, 68, 3, 13, 46, 4 }, { 55, 69, 3, 13, 46, 4 }, { 56, 70, 3, 13, 46, 4 }, + { 57, 70, 3, 13, 46, 4 }, { 58, 71, 3, 14, 46, 4 }, { 59, 71, 3, 14, 46, 4 }, { 60, 72, 3, 14, 46, 4 }, { 61, 72, 3, 14, 46, 4 }, + { 62, 73, 3, 14, 46, 4 }, { 63, 73, 3, 14, 46, 4 }, { 64, 74, 3, 14, 46, 4 }, { 65, 74, 3, 14, 46, 4 }, { 66, 75, 3, 14, 46, 4 }, + { 67, 75, 3, 14, 46, 4 }, { 68, 75, 2, 14, 46, 4 }, { 69, 76, 2, 14, 46, 4 }, { 70, 76, 2, 14, 46, 4 }, { 71, 76, 2, 14, 46, 4 }, + { 72, 77, 2, 15, 46, 4 }, { 73, 77, 2, 15, 46, 4 }, { 74, 77, 2, 15, 46, 4 }, { 75, 77, 2, 15, 46, 4 }, { 76, 78, 2, 15, 46, 4 }, + { 77, 78, 2, 15, 46, 4 }, { 78, 78, 2, 15, 46, 4 }, { 79, 78, 2, 15, 46, 4 }, { 80, 78, 2, 15, 46, 4 }, { 81, 79, 2, 15, 46, 4 }, + { 82, 79, 1, 15, 46, 4 }, { 83, 79, 1, 15, 46, 4 }, { 84, 79, 1, 15, 46, 4 }, { 85, 79, 1, 15, 46, 4 }, { 86, 79, 1, 15, 46, 4 }, + { 87, 80, 1, 15, 46, 4 }, { 88, 80, 1, 16, 46, 4 }, { 89, 80, 1, 16, 46, 4 }, { 90, 80, 1, 16, 46, 4 }, { 91, 80, 1, 16, 46, 4 }, + { 92, 80, 1, 16, 46, 4 }, { 93, 80, 1, 16, 46, 4 }, { 94, 80, 1, 16, 46, 4 }, { 95, 80, 1, 16, 46, 4 }, { 96, 80, 0, 16, 46, 4 }, + { 97, 80, 0, 16, 46, 4 }, { 98, 80, 0, 16, 46, 4 }, { 99, 80, 0, 16, 46, 4 }, { 100, 80, 0, 16, 46, 4 }, { 101, 80, 0, 16, 46, 4 }, + { 102, 80, 0, 16, 46, 4 }, { 103, 80, 0, 16, 46, 4 }, { 104, 80, 0, 17, 46, 4 }, { 105, 79, 0, 17, 46, 4 }, { 106, 79, 0, 17, 46, 4 }, + { 107, 79, 0, 17, 46, 4 }, { 108, 79, 0, 17, 46, 4 }, { 109, 79, 0, 17, 46, 4 }, { 110, 79, 0, 17, 46, 4 }, { 111, 78, -1, 17, 46, 4 }, + { 112, 78, -1, 17, 46, 4 }, { 113, 78, -1, 17, 46, 4 }, { 114, 78, -1, 17, 46, 4 }, { 115, 78, -1, 17, 46, 4 }, { 116, 77, -1, 17, 46, 4 }, + { 117, 77, -1, 17, 46, 4 }, { 118, 77, -1, 18, 46, 4 }, { 119, 77, -1, 18, 46, 4 }, { 120, 76, -1, 18, 46, 4 }, { 121, 76, -1, 18, 46, 4 }, + { 122, 76, -1, 18, 46, 4 }, { 123, 75, -1, 18, 46, 4 }, { 124, 75, -1, 18, 46, 4 }, { 125, 75, -2, 18, 46, 4 }, { 126, 74, -2, 18, 46, 4 }, + { 127, 74, -2, 18, 46, 4 }, { 128, 73, -2, 18, 46, 4 }, { 129, 73, -2, 18, 46, 4 }, { 130, 72, -2, 18, 46, 4 }, { 131, 72, -2, 18, 46, 4 }, + { 132, 71, -2, 18, 46, 4 }, { 133, 71, -2, 19, 46, 4 }, { 134, 70, -2, 19, 46, 4 }, { 135, 70, -2, 19, 46, 4 }, { 136, 69, -2, 19, 46, 4 }, + { 137, 68, -2, 19, 46, 4 }, { 138, 68, -2, 19, 46, 4 }, { 139, 67, -2, 19, 46, 4 }, { 140, 66, -3, 19, 46, 4 }, { 141, 66, -3, 19, 46, 4 }, + { 142, 65, -3, 19, 46, 4 }, { 143, 64, -3, 19, 46, 4 }, { 144, 64, -3, 19, 46, 4 }, { 145, 63, -3, 19, 46, 4 }, { 146, 62, -3, 20, 46, 4 }, + { 147, 61, -3, 20, 46, 4 }, { 148, 61, -3, 20, 46, 4 }, { 149, 60, -3, 20, 46, 4 }, { 150, 59, -3, 20, 46, 4 }, { 151, 58, -3, 20, 46, 4 }, + { 152, 57, -3, 20, 46, 4 }, { 153, 57, -3, 20, 46, 4 }, { 154, 56, -4, 20, 46, 4 }, { 155, 55, -4, 20, 46, 4 }, { 156, 54, -4, 20, 46, 4 }, + { 157, 53, -4, 20, 46, 4 }, { 157, 52, -4, 20, 46, 4 }, { 158, 51, -4, 21, 46, 4 }, { 159, 50, -4, 21, 46, 4 }, { 160, 49, -4, 21, 46, 4 }, + { 160, 48, -4, 21, 46, 4 }, { 161, 47, -4, 21, 46, 4 }, { 162, 46, -4, 21, 46, 4 }, { 162, 45, -4, 21, 46, 4 }, { 163, 44, -4, 21, 46, 4 }, + { 164, 43, -4, 21, 46, 4 }, { 164, 42, -5, 21, 46, 4 }, { 165, 41, -5, 21, 46, 4 }, { 166, 40, -5, 21, 46, 4 }, { 166, 39, -5, 21, 46, 4 }, + { 167, 38, -5, 22, 46, 4 }, { 167, 37, -5, 22, 46, 4 }, { 168, 36, -5, 22, 46, 4 }, { 168, 35, -5, 22, 46, 4 }, { 169, 34, -5, 22, 46, 4 }, + { 169, 33, -5, 22, 46, 4 }, { 170, 32, -5, 22, 46, 4 }, { 170, 31, -5, 22, 46, 4 }, { 171, 30, -5, 22, 46, 4 }, { 171, 29, -5, 22, 46, 4 }, + { 171, 28, -5, 22, 46, 4 }, { 172, 27, -6, 22, 46, 4 }, { 172, 26, -6, 22, 46, 4 }, { 172, 25, -6, 22, 46, 4 }, { 173, 24, -6, 23, 46, 4 }, + { 173, 23, -6, 23, 46, 4 }, { 173, 22, -6, 23, 46, 4 }, { 173, 21, -6, 23, 46, 4 }, { 174, 20, -6, 23, 46, 4 }, { 174, 19, -6, 23, 46, 4 }, + { 174, 18, -6, 23, 46, 4 }, { 174, 17, -6, 23, 46, 4 }, { 174, 16, -6, 23, 46, 4 }, { 175, 15, -6, 23, 46, 4 }, { 175, 14, -6, 23, 46, 4 }, + { 175, 13, -7, 23, 46, 4 }, { 175, 12, -7, 23, 46, 4 }, { 175, 11, -7, 23, 46, 4 }, { 175, 10, -7, 23, 46, 4 }, { 176, 9, -7, 23, 46, 4 }, + { 176, 8, -7, 24, 46, 4 }, { 176, 7, -7, 24, 46, 4 }, { 176, 6, -7, 24, 46, 4 }, { 176, 5, -7, 24, 46, 4 }, { 176, 4, -7, 24, 46, 4 }, + { 176, 3, -7, 24, 46, 4 }, { 176, 2, -7, 24, 46, 4 }, { 176, 1, -7, 24, 46, 4 }, { 176, 0, -7, 24, 46, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F7C76 = { - 229, { - { 0, 16, 8, 16, 46, 4 }, { 1, 16, 8, 16, 46, 4 }, { 2, 16, 8, 16, 46, 4 }, { 3, 16, 8, 16, 46, 4 }, { 4, 16, 8, 16, 46, 4 }, - { 5, 16, 8, 16, 46, 4 }, { 6, 16, 8, 16, 46, 4 }, { 7, 16, 8, 16, 46, 4 }, { 8, 16, 8, 17, 46, 4 }, { 9, 15, 8, 17, 46, 4 }, - { 10, 15, 8, 17, 46, 4 }, { 11, 15, 8, 17, 46, 4 }, { 12, 15, 8, 17, 46, 4 }, { 13, 15, 8, 17, 46, 4 }, { 14, 15, 8, 17, 46, 4 }, - { 15, 14, 7, 17, 46, 4 }, { 16, 14, 7, 17, 46, 4 }, { 17, 14, 7, 17, 46, 4 }, { 18, 14, 7, 17, 46, 4 }, { 19, 14, 7, 17, 46, 4 }, - { 20, 13, 7, 17, 46, 4 }, { 21, 13, 7, 17, 46, 4 }, { 22, 13, 7, 18, 46, 4 }, { 23, 13, 7, 18, 46, 4 }, { 24, 12, 7, 18, 46, 4 }, - { 25, 12, 7, 18, 46, 4 }, { 26, 12, 7, 18, 46, 4 }, { 27, 11, 7, 18, 46, 4 }, { 28, 11, 7, 18, 46, 4 }, { 29, 11, 6, 18, 46, 4 }, - { 30, 10, 6, 18, 46, 4 }, { 31, 10, 6, 18, 46, 4 }, { 32, 9, 6, 18, 46, 4 }, { 33, 9, 6, 18, 46, 4 }, { 34, 8, 6, 18, 46, 4 }, - { 35, 8, 6, 18, 46, 4 }, { 36, 7, 6, 18, 46, 4 }, { 37, 7, 6, 19, 46, 4 }, { 38, 6, 6, 19, 46, 4 }, { 39, 6, 6, 19, 46, 4 }, - { 40, 5, 6, 19, 46, 4 }, { 41, 4, 6, 19, 46, 4 }, { 42, 4, 6, 19, 46, 4 }, { 43, 3, 6, 19, 46, 4 }, { 44, 2, 5, 19, 46, 4 }, - { 45, 2, 5, 19, 46, 4 }, { 46, 1, 5, 19, 46, 4 }, { 47, 0, 5, 19, 46, 4 }, { 48, 0, 5, 19, 46, 4 }, { 49, -1, 5, 19, 46, 4 }, - { 50, -2, 5, 20, 46, 4 }, { 51, -3, 5, 20, 46, 4 }, { 52, -3, 5, 20, 46, 4 }, { 53, -4, 5, 20, 46, 4 }, { 54, -5, 5, 20, 46, 4 }, - { 55, -6, 5, 20, 46, 4 }, { 56, -7, 5, 20, 46, 4 }, { 57, -7, 5, 20, 46, 4 }, { 58, -8, 4, 20, 46, 4 }, { 59, -9, 4, 20, 46, 4 }, - { 60, -10, 4, 20, 46, 4 }, { 61, -11, 4, 20, 46, 4 }, { 61, -12, 4, 20, 46, 4 }, { 62, -13, 4, 21, 46, 4 }, { 63, -14, 4, 21, 46, 4 }, - { 64, -15, 4, 21, 46, 4 }, { 64, -16, 4, 21, 46, 4 }, { 65, -17, 4, 21, 46, 4 }, { 66, -18, 4, 21, 46, 4 }, { 66, -19, 4, 21, 46, 4 }, - { 67, -20, 4, 21, 46, 4 }, { 68, -21, 4, 21, 46, 4 }, { 68, -22, 3, 21, 46, 4 }, { 69, -23, 3, 21, 46, 4 }, { 70, -24, 3, 21, 46, 4 }, - { 70, -25, 3, 21, 46, 4 }, { 71, -26, 3, 22, 46, 4 }, { 71, -27, 3, 22, 46, 4 }, { 72, -28, 3, 22, 46, 4 }, { 72, -29, 3, 22, 46, 4 }, - { 73, -30, 3, 22, 46, 4 }, { 73, -31, 3, 22, 46, 4 }, { 74, -32, 3, 22, 46, 4 }, { 74, -33, 3, 22, 46, 4 }, { 75, -34, 3, 22, 46, 4 }, - { 75, -35, 3, 22, 46, 4 }, { 75, -36, 3, 22, 46, 4 }, { 76, -37, 2, 22, 46, 4 }, { 76, -38, 2, 22, 46, 4 }, { 76, -39, 2, 22, 46, 4 }, - { 77, -40, 2, 23, 46, 4 }, { 77, -41, 2, 23, 46, 4 }, { 77, -42, 2, 23, 46, 4 }, { 77, -43, 2, 23, 46, 4 }, { 78, -44, 2, 23, 46, 4 }, - { 78, -45, 2, 23, 46, 4 }, { 78, -46, 2, 23, 46, 4 }, { 78, -47, 2, 23, 46, 4 }, { 78, -48, 2, 23, 46, 4 }, { 79, -49, 2, 23, 46, 4 }, - { 79, -50, 2, 23, 46, 4 }, { 79, -51, 1, 23, 46, 4 }, { 79, -52, 1, 23, 46, 4 }, { 79, -53, 1, 23, 46, 4 }, { 79, -54, 1, 23, 46, 4 }, - { 80, -55, 1, 23, 46, 4 }, { 80, -56, 1, 24, 46, 4 }, { 80, -57, 1, 24, 46, 4 }, { 80, -58, 1, 24, 46, 4 }, { 80, -59, 1, 24, 46, 4 }, - { 80, -60, 1, 24, 46, 4 }, { 80, -61, 1, 24, 46, 4 }, { 80, -62, 1, 24, 46, 4 }, { 80, -63, 1, 24, 46, 4 }, { 80, -64, 1, 24, 46, 4 }, - { 80, -65, 0, 24, 46, 4 }, { 80, -66, 0, 24, 46, 4 }, { 80, -67, 0, 24, 46, 4 }, { 80, -68, 0, 24, 46, 4 }, { 80, -69, 0, 24, 46, 4 }, - { 80, -70, 0, 24, 46, 4 }, { 80, -71, 0, 24, 46, 4 }, { 80, -72, 0, 25, 46, 4 }, { 79, -73, 0, 25, 46, 4 }, { 79, -74, 0, 25, 46, 4 }, - { 79, -75, 0, 25, 46, 4 }, { 79, -76, 0, 25, 46, 4 }, { 79, -77, 0, 25, 46, 4 }, { 79, -78, 0, 25, 46, 4 }, { 78, -79, -1, 25, 46, 4 }, - { 78, -80, -1, 25, 46, 4 }, { 78, -81, -1, 25, 46, 4 }, { 78, -82, -1, 25, 46, 4 }, { 78, -83, -1, 25, 46, 4 }, { 77, -84, -1, 25, 46, 4 }, - { 77, -85, -1, 25, 46, 4 }, { 77, -86, -1, 26, 46, 4 }, { 77, -87, -1, 26, 46, 4 }, { 76, -88, -1, 26, 46, 4 }, { 76, -89, -1, 26, 46, 4 }, - { 76, -90, -1, 26, 46, 4 }, { 75, -91, -1, 26, 46, 4 }, { 75, -92, -1, 26, 46, 4 }, { 75, -93, -2, 26, 46, 4 }, { 74, -94, -2, 26, 46, 4 }, - { 74, -95, -2, 26, 46, 4 }, { 73, -96, -2, 26, 46, 4 }, { 73, -97, -2, 26, 46, 4 }, { 72, -98, -2, 26, 46, 4 }, { 72, -99, -2, 26, 46, 4 }, - { 71, -100, -2, 26, 46, 4 }, { 71, -101, -2, 27, 46, 4 }, { 70, -102, -2, 27, 46, 4 }, { 70, -103, -2, 27, 46, 4 }, { 69, -104, -2, 27, 46, 4 }, - { 68, -105, -2, 27, 46, 4 }, { 68, -106, -2, 27, 46, 4 }, { 67, -107, -3, 27, 46, 4 }, { 66, -108, -3, 27, 46, 4 }, { 66, -109, -3, 27, 46, 4 }, - { 65, -110, -3, 27, 46, 4 }, { 64, -111, -3, 27, 46, 4 }, { 64, -112, -3, 27, 46, 4 }, { 63, -113, -3, 27, 46, 4 }, { 62, -114, -3, 28, 46, 4 }, - { 61, -115, -3, 28, 46, 4 }, { 61, -116, -3, 28, 46, 4 }, { 60, -117, -3, 28, 46, 4 }, { 59, -118, -3, 28, 46, 4 }, { 58, -119, -3, 28, 46, 4 }, - { 57, -120, -3, 28, 46, 4 }, { 57, -121, -4, 28, 46, 4 }, { 56, -122, -4, 28, 46, 4 }, { 55, -123, -4, 28, 46, 4 }, { 54, -124, -4, 28, 46, 4 }, - { 53, -125, -4, 28, 46, 4 }, { 52, -125, -4, 28, 46, 4 }, { 51, -126, -4, 29, 46, 4 }, { 50, -127, -4, 29, 46, 4 }, { 49, -128, -4, 29, 46, 4 }, - { 48, -128, -4, 29, 46, 4 }, { 47, -129, -4, 29, 46, 4 }, { 46, -130, -4, 29, 46, 4 }, { 45, -130, -4, 29, 46, 4 }, { 44, -131, -4, 29, 46, 4 }, - { 43, -132, -4, 29, 46, 4 }, { 42, -132, -5, 29, 46, 4 }, { 41, -133, -5, 29, 46, 4 }, { 40, -134, -5, 29, 46, 4 }, { 39, -134, -5, 29, 46, 4 }, - { 38, -135, -5, 30, 46, 4 }, { 37, -135, -5, 30, 46, 4 }, { 36, -136, -5, 30, 46, 4 }, { 35, -136, -5, 30, 46, 4 }, { 34, -137, -5, 30, 46, 4 }, - { 33, -137, -5, 30, 46, 4 }, { 32, -138, -5, 30, 46, 4 }, { 31, -138, -5, 30, 46, 4 }, { 30, -139, -5, 30, 46, 4 }, { 29, -139, -5, 30, 46, 4 }, - { 28, -139, -6, 30, 46, 4 }, { 27, -140, -6, 30, 46, 4 }, { 26, -140, -6, 30, 46, 4 }, { 25, -140, -6, 30, 46, 4 }, { 24, -141, -6, 31, 46, 4 }, - { 23, -141, -6, 31, 46, 4 }, { 22, -141, -6, 31, 46, 4 }, { 21, -141, -6, 31, 46, 4 }, { 20, -142, -6, 31, 46, 4 }, { 19, -142, -6, 31, 46, 4 }, - { 18, -142, -6, 31, 46, 4 }, { 17, -142, -6, 31, 46, 4 }, { 16, -142, -6, 31, 46, 4 }, { 15, -143, -6, 31, 46, 4 }, { 14, -143, -7, 31, 46, 4 }, - { 13, -143, -7, 31, 46, 4 }, { 12, -143, -7, 31, 46, 4 }, { 11, -143, -7, 31, 46, 4 }, { 10, -143, -7, 31, 46, 4 }, { 9, -144, -7, 31, 46, 4 }, - { 8, -144, -7, 0, 46, 4 }, { 7, -144, -7, 0, 46, 4 }, { 6, -144, -7, 0, 46, 4 }, { 5, -144, -7, 0, 46, 4 }, { 4, -144, -7, 0, 46, 4 }, - { 3, -144, -7, 0, 46, 4 }, { 2, -144, -7, 0, 46, 4 }, { 1, -144, -7, 0, 46, 4 }, { 0, -144, -8, 0, 46, 4 }, + 229, { + { 0, 16, 8, 16, 46, 4 }, { 1, 16, 8, 16, 46, 4 }, { 2, 16, 8, 16, 46, 4 }, { 3, 16, 8, 16, 46, 4 }, { 4, 16, 8, 16, 46, 4 }, + { 5, 16, 8, 16, 46, 4 }, { 6, 16, 8, 16, 46, 4 }, { 7, 16, 8, 16, 46, 4 }, { 8, 16, 8, 17, 46, 4 }, { 9, 15, 8, 17, 46, 4 }, + { 10, 15, 8, 17, 46, 4 }, { 11, 15, 8, 17, 46, 4 }, { 12, 15, 8, 17, 46, 4 }, { 13, 15, 8, 17, 46, 4 }, { 14, 15, 8, 17, 46, 4 }, + { 15, 14, 7, 17, 46, 4 }, { 16, 14, 7, 17, 46, 4 }, { 17, 14, 7, 17, 46, 4 }, { 18, 14, 7, 17, 46, 4 }, { 19, 14, 7, 17, 46, 4 }, + { 20, 13, 7, 17, 46, 4 }, { 21, 13, 7, 17, 46, 4 }, { 22, 13, 7, 18, 46, 4 }, { 23, 13, 7, 18, 46, 4 }, { 24, 12, 7, 18, 46, 4 }, + { 25, 12, 7, 18, 46, 4 }, { 26, 12, 7, 18, 46, 4 }, { 27, 11, 7, 18, 46, 4 }, { 28, 11, 7, 18, 46, 4 }, { 29, 11, 6, 18, 46, 4 }, + { 30, 10, 6, 18, 46, 4 }, { 31, 10, 6, 18, 46, 4 }, { 32, 9, 6, 18, 46, 4 }, { 33, 9, 6, 18, 46, 4 }, { 34, 8, 6, 18, 46, 4 }, + { 35, 8, 6, 18, 46, 4 }, { 36, 7, 6, 18, 46, 4 }, { 37, 7, 6, 19, 46, 4 }, { 38, 6, 6, 19, 46, 4 }, { 39, 6, 6, 19, 46, 4 }, + { 40, 5, 6, 19, 46, 4 }, { 41, 4, 6, 19, 46, 4 }, { 42, 4, 6, 19, 46, 4 }, { 43, 3, 6, 19, 46, 4 }, { 44, 2, 5, 19, 46, 4 }, + { 45, 2, 5, 19, 46, 4 }, { 46, 1, 5, 19, 46, 4 }, { 47, 0, 5, 19, 46, 4 }, { 48, 0, 5, 19, 46, 4 }, { 49, -1, 5, 19, 46, 4 }, + { 50, -2, 5, 20, 46, 4 }, { 51, -3, 5, 20, 46, 4 }, { 52, -3, 5, 20, 46, 4 }, { 53, -4, 5, 20, 46, 4 }, { 54, -5, 5, 20, 46, 4 }, + { 55, -6, 5, 20, 46, 4 }, { 56, -7, 5, 20, 46, 4 }, { 57, -7, 5, 20, 46, 4 }, { 58, -8, 4, 20, 46, 4 }, { 59, -9, 4, 20, 46, 4 }, + { 60, -10, 4, 20, 46, 4 }, { 61, -11, 4, 20, 46, 4 }, { 61, -12, 4, 20, 46, 4 }, { 62, -13, 4, 21, 46, 4 }, { 63, -14, 4, 21, 46, 4 }, + { 64, -15, 4, 21, 46, 4 }, { 64, -16, 4, 21, 46, 4 }, { 65, -17, 4, 21, 46, 4 }, { 66, -18, 4, 21, 46, 4 }, { 66, -19, 4, 21, 46, 4 }, + { 67, -20, 4, 21, 46, 4 }, { 68, -21, 4, 21, 46, 4 }, { 68, -22, 3, 21, 46, 4 }, { 69, -23, 3, 21, 46, 4 }, { 70, -24, 3, 21, 46, 4 }, + { 70, -25, 3, 21, 46, 4 }, { 71, -26, 3, 22, 46, 4 }, { 71, -27, 3, 22, 46, 4 }, { 72, -28, 3, 22, 46, 4 }, { 72, -29, 3, 22, 46, 4 }, + { 73, -30, 3, 22, 46, 4 }, { 73, -31, 3, 22, 46, 4 }, { 74, -32, 3, 22, 46, 4 }, { 74, -33, 3, 22, 46, 4 }, { 75, -34, 3, 22, 46, 4 }, + { 75, -35, 3, 22, 46, 4 }, { 75, -36, 3, 22, 46, 4 }, { 76, -37, 2, 22, 46, 4 }, { 76, -38, 2, 22, 46, 4 }, { 76, -39, 2, 22, 46, 4 }, + { 77, -40, 2, 23, 46, 4 }, { 77, -41, 2, 23, 46, 4 }, { 77, -42, 2, 23, 46, 4 }, { 77, -43, 2, 23, 46, 4 }, { 78, -44, 2, 23, 46, 4 }, + { 78, -45, 2, 23, 46, 4 }, { 78, -46, 2, 23, 46, 4 }, { 78, -47, 2, 23, 46, 4 }, { 78, -48, 2, 23, 46, 4 }, { 79, -49, 2, 23, 46, 4 }, + { 79, -50, 2, 23, 46, 4 }, { 79, -51, 1, 23, 46, 4 }, { 79, -52, 1, 23, 46, 4 }, { 79, -53, 1, 23, 46, 4 }, { 79, -54, 1, 23, 46, 4 }, + { 80, -55, 1, 23, 46, 4 }, { 80, -56, 1, 24, 46, 4 }, { 80, -57, 1, 24, 46, 4 }, { 80, -58, 1, 24, 46, 4 }, { 80, -59, 1, 24, 46, 4 }, + { 80, -60, 1, 24, 46, 4 }, { 80, -61, 1, 24, 46, 4 }, { 80, -62, 1, 24, 46, 4 }, { 80, -63, 1, 24, 46, 4 }, { 80, -64, 1, 24, 46, 4 }, + { 80, -65, 0, 24, 46, 4 }, { 80, -66, 0, 24, 46, 4 }, { 80, -67, 0, 24, 46, 4 }, { 80, -68, 0, 24, 46, 4 }, { 80, -69, 0, 24, 46, 4 }, + { 80, -70, 0, 24, 46, 4 }, { 80, -71, 0, 24, 46, 4 }, { 80, -72, 0, 25, 46, 4 }, { 79, -73, 0, 25, 46, 4 }, { 79, -74, 0, 25, 46, 4 }, + { 79, -75, 0, 25, 46, 4 }, { 79, -76, 0, 25, 46, 4 }, { 79, -77, 0, 25, 46, 4 }, { 79, -78, 0, 25, 46, 4 }, { 78, -79, -1, 25, 46, 4 }, + { 78, -80, -1, 25, 46, 4 }, { 78, -81, -1, 25, 46, 4 }, { 78, -82, -1, 25, 46, 4 }, { 78, -83, -1, 25, 46, 4 }, { 77, -84, -1, 25, 46, 4 }, + { 77, -85, -1, 25, 46, 4 }, { 77, -86, -1, 26, 46, 4 }, { 77, -87, -1, 26, 46, 4 }, { 76, -88, -1, 26, 46, 4 }, { 76, -89, -1, 26, 46, 4 }, + { 76, -90, -1, 26, 46, 4 }, { 75, -91, -1, 26, 46, 4 }, { 75, -92, -1, 26, 46, 4 }, { 75, -93, -2, 26, 46, 4 }, { 74, -94, -2, 26, 46, 4 }, + { 74, -95, -2, 26, 46, 4 }, { 73, -96, -2, 26, 46, 4 }, { 73, -97, -2, 26, 46, 4 }, { 72, -98, -2, 26, 46, 4 }, { 72, -99, -2, 26, 46, 4 }, + { 71, -100, -2, 26, 46, 4 }, { 71, -101, -2, 27, 46, 4 }, { 70, -102, -2, 27, 46, 4 }, { 70, -103, -2, 27, 46, 4 }, { 69, -104, -2, 27, 46, 4 }, + { 68, -105, -2, 27, 46, 4 }, { 68, -106, -2, 27, 46, 4 }, { 67, -107, -3, 27, 46, 4 }, { 66, -108, -3, 27, 46, 4 }, { 66, -109, -3, 27, 46, 4 }, + { 65, -110, -3, 27, 46, 4 }, { 64, -111, -3, 27, 46, 4 }, { 64, -112, -3, 27, 46, 4 }, { 63, -113, -3, 27, 46, 4 }, { 62, -114, -3, 28, 46, 4 }, + { 61, -115, -3, 28, 46, 4 }, { 61, -116, -3, 28, 46, 4 }, { 60, -117, -3, 28, 46, 4 }, { 59, -118, -3, 28, 46, 4 }, { 58, -119, -3, 28, 46, 4 }, + { 57, -120, -3, 28, 46, 4 }, { 57, -121, -4, 28, 46, 4 }, { 56, -122, -4, 28, 46, 4 }, { 55, -123, -4, 28, 46, 4 }, { 54, -124, -4, 28, 46, 4 }, + { 53, -125, -4, 28, 46, 4 }, { 52, -125, -4, 28, 46, 4 }, { 51, -126, -4, 29, 46, 4 }, { 50, -127, -4, 29, 46, 4 }, { 49, -128, -4, 29, 46, 4 }, + { 48, -128, -4, 29, 46, 4 }, { 47, -129, -4, 29, 46, 4 }, { 46, -130, -4, 29, 46, 4 }, { 45, -130, -4, 29, 46, 4 }, { 44, -131, -4, 29, 46, 4 }, + { 43, -132, -4, 29, 46, 4 }, { 42, -132, -5, 29, 46, 4 }, { 41, -133, -5, 29, 46, 4 }, { 40, -134, -5, 29, 46, 4 }, { 39, -134, -5, 29, 46, 4 }, + { 38, -135, -5, 30, 46, 4 }, { 37, -135, -5, 30, 46, 4 }, { 36, -136, -5, 30, 46, 4 }, { 35, -136, -5, 30, 46, 4 }, { 34, -137, -5, 30, 46, 4 }, + { 33, -137, -5, 30, 46, 4 }, { 32, -138, -5, 30, 46, 4 }, { 31, -138, -5, 30, 46, 4 }, { 30, -139, -5, 30, 46, 4 }, { 29, -139, -5, 30, 46, 4 }, + { 28, -139, -6, 30, 46, 4 }, { 27, -140, -6, 30, 46, 4 }, { 26, -140, -6, 30, 46, 4 }, { 25, -140, -6, 30, 46, 4 }, { 24, -141, -6, 31, 46, 4 }, + { 23, -141, -6, 31, 46, 4 }, { 22, -141, -6, 31, 46, 4 }, { 21, -141, -6, 31, 46, 4 }, { 20, -142, -6, 31, 46, 4 }, { 19, -142, -6, 31, 46, 4 }, + { 18, -142, -6, 31, 46, 4 }, { 17, -142, -6, 31, 46, 4 }, { 16, -142, -6, 31, 46, 4 }, { 15, -143, -6, 31, 46, 4 }, { 14, -143, -7, 31, 46, 4 }, + { 13, -143, -7, 31, 46, 4 }, { 12, -143, -7, 31, 46, 4 }, { 11, -143, -7, 31, 46, 4 }, { 10, -143, -7, 31, 46, 4 }, { 9, -144, -7, 31, 46, 4 }, + { 8, -144, -7, 0, 46, 4 }, { 7, -144, -7, 0, 46, 4 }, { 6, -144, -7, 0, 46, 4 }, { 5, -144, -7, 0, 46, 4 }, { 4, -144, -7, 0, 46, 4 }, + { 3, -144, -7, 0, 46, 4 }, { 2, -144, -7, 0, 46, 4 }, { 1, -144, -7, 0, 46, 4 }, { 0, -144, -8, 0, 46, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8F8485 = { - 227, { - { 16, 31, 8, 24, 46, 4 }, { 16, 30, 8, 24, 46, 4 }, { 16, 29, 8, 24, 46, 4 }, { 16, 28, 8, 24, 46, 4 }, { 16, 27, 8, 24, 46, 4 }, - { 16, 26, 8, 24, 46, 4 }, { 16, 25, 8, 24, 46, 4 }, { 16, 24, 8, 25, 46, 4 }, { 15, 23, 8, 25, 46, 4 }, { 15, 22, 8, 25, 46, 4 }, - { 15, 21, 8, 25, 46, 4 }, { 15, 20, 8, 25, 46, 4 }, { 15, 19, 8, 25, 46, 4 }, { 15, 18, 8, 25, 46, 4 }, { 14, 17, 7, 25, 46, 4 }, - { 14, 16, 7, 25, 46, 4 }, { 14, 15, 7, 25, 46, 4 }, { 14, 14, 7, 25, 46, 4 }, { 14, 13, 7, 25, 46, 4 }, { 13, 12, 7, 25, 46, 4 }, - { 13, 11, 7, 25, 46, 4 }, { 13, 10, 7, 26, 46, 4 }, { 13, 9, 7, 26, 46, 4 }, { 12, 8, 7, 26, 46, 4 }, { 12, 7, 7, 26, 46, 4 }, - { 12, 6, 7, 26, 46, 4 }, { 11, 5, 7, 26, 46, 4 }, { 11, 4, 7, 26, 46, 4 }, { 11, 3, 6, 26, 46, 4 }, { 10, 2, 6, 26, 46, 4 }, - { 10, 1, 6, 26, 46, 4 }, { 9, 0, 6, 26, 46, 4 }, { 9, -1, 6, 26, 46, 4 }, { 8, -2, 6, 26, 46, 4 }, { 8, -3, 6, 26, 46, 4 }, - { 7, -4, 6, 26, 46, 4 }, { 7, -5, 6, 27, 46, 4 }, { 6, -6, 6, 27, 46, 4 }, { 6, -7, 6, 27, 46, 4 }, { 5, -8, 6, 27, 46, 4 }, - { 4, -9, 6, 27, 46, 4 }, { 4, -10, 6, 27, 46, 4 }, { 3, -11, 5, 27, 46, 4 }, { 2, -12, 5, 27, 46, 4 }, { 2, -13, 5, 27, 46, 4 }, - { 1, -14, 5, 27, 46, 4 }, { 0, -15, 5, 27, 46, 4 }, { 0, -16, 5, 27, 46, 4 }, { -1, -17, 5, 27, 46, 4 }, { -2, -18, 5, 28, 46, 4 }, - { -3, -19, 5, 28, 46, 4 }, { -3, -20, 5, 28, 46, 4 }, { -4, -21, 5, 28, 46, 4 }, { -5, -22, 5, 28, 46, 4 }, { -6, -23, 5, 28, 46, 4 }, - { -7, -24, 5, 28, 46, 4 }, { -7, -25, 4, 28, 46, 4 }, { -8, -26, 4, 28, 46, 4 }, { -9, -27, 4, 28, 46, 4 }, { -10, -28, 4, 28, 46, 4 }, - { -11, -29, 4, 28, 46, 4 }, { -12, -29, 4, 28, 46, 4 }, { -13, -30, 4, 29, 46, 4 }, { -14, -31, 4, 29, 46, 4 }, { -15, -32, 4, 29, 46, 4 }, - { -16, -32, 4, 29, 46, 4 }, { -17, -33, 4, 29, 46, 4 }, { -18, -34, 4, 29, 46, 4 }, { -19, -34, 4, 29, 46, 4 }, { -20, -35, 4, 29, 46, 4 }, - { -21, -36, 4, 29, 46, 4 }, { -22, -36, 3, 29, 46, 4 }, { -23, -37, 3, 29, 46, 4 }, { -24, -38, 3, 29, 46, 4 }, { -25, -38, 3, 29, 46, 4 }, - { -26, -39, 3, 30, 46, 4 }, { -27, -39, 3, 30, 46, 4 }, { -28, -40, 3, 30, 46, 4 }, { -29, -40, 3, 30, 46, 4 }, { -30, -41, 3, 30, 46, 4 }, - { -31, -41, 3, 30, 46, 4 }, { -32, -42, 3, 30, 46, 4 }, { -33, -42, 3, 30, 46, 4 }, { -34, -43, 3, 30, 46, 4 }, { -35, -43, 3, 30, 46, 4 }, - { -36, -43, 2, 30, 46, 4 }, { -37, -44, 2, 30, 46, 4 }, { -38, -44, 2, 30, 46, 4 }, { -39, -44, 2, 30, 46, 4 }, { -40, -45, 2, 31, 46, 4 }, - { -41, -45, 2, 31, 46, 4 }, { -42, -45, 2, 31, 46, 4 }, { -43, -45, 2, 31, 46, 4 }, { -44, -46, 2, 31, 46, 4 }, { -45, -46, 2, 31, 46, 4 }, - { -46, -46, 2, 31, 46, 4 }, { -47, -46, 2, 31, 46, 4 }, { -48, -46, 2, 31, 46, 4 }, { -49, -47, 2, 31, 46, 4 }, { -50, -47, 1, 31, 46, 4 }, - { -51, -47, 1, 31, 46, 4 }, { -52, -47, 1, 31, 46, 4 }, { -53, -47, 1, 31, 46, 4 }, { -54, -47, 1, 31, 46, 4 }, { -55, -48, 1, 31, 46, 4 }, - { -56, -48, 1, 0, 46, 4 }, { -57, -48, 1, 0, 46, 4 }, { -58, -48, 1, 0, 46, 4 }, { -59, -48, 1, 0, 46, 4 }, { -60, -48, 1, 0, 46, 4 }, - { -61, -48, 1, 0, 46, 4 }, { -62, -48, 1, 0, 46, 4 }, { -63, -48, 1, 0, 46, 4 }, { -64, -48, 0, 0, 46, 4 }, { -65, -48, 0, 0, 46, 4 }, - { -66, -48, 0, 0, 46, 4 }, { -67, -48, 0, 0, 46, 4 }, { -68, -48, 0, 0, 46, 4 }, { -69, -48, 0, 0, 46, 4 }, { -70, -48, 0, 0, 46, 4 }, - { -71, -48, 0, 0, 46, 4 }, { -72, -48, 0, 1, 46, 4 }, { -73, -47, 0, 1, 46, 4 }, { -74, -47, 0, 1, 46, 4 }, { -75, -47, 0, 1, 46, 4 }, - { -76, -47, 0, 1, 46, 4 }, { -77, -47, 0, 1, 46, 4 }, { -78, -47, 0, 1, 46, 4 }, { -79, -46, -1, 1, 46, 4 }, { -80, -46, -1, 1, 46, 4 }, - { -81, -46, -1, 1, 46, 4 }, { -82, -46, -1, 1, 46, 4 }, { -83, -46, -1, 1, 46, 4 }, { -84, -45, -1, 1, 46, 4 }, { -85, -45, -1, 1, 46, 4 }, - { -86, -45, -1, 2, 46, 4 }, { -87, -45, -1, 2, 46, 4 }, { -88, -44, -1, 2, 46, 4 }, { -89, -44, -1, 2, 46, 4 }, { -90, -44, -1, 2, 46, 4 }, - { -91, -43, -1, 2, 46, 4 }, { -92, -43, -1, 2, 46, 4 }, { -93, -43, -2, 2, 46, 4 }, { -94, -42, -2, 2, 46, 4 }, { -95, -42, -2, 2, 46, 4 }, - { -96, -41, -2, 2, 46, 4 }, { -97, -41, -2, 2, 46, 4 }, { -98, -40, -2, 2, 46, 4 }, { -99, -40, -2, 2, 46, 4 }, { -100, -39, -2, 2, 46, 4 }, - { -101, -39, -2, 3, 46, 4 }, { -102, -38, -2, 3, 46, 4 }, { -103, -38, -2, 3, 46, 4 }, { -104, -37, -2, 3, 46, 4 }, { -105, -36, -2, 3, 46, 4 }, - { -106, -36, -2, 3, 46, 4 }, { -107, -35, -3, 3, 46, 4 }, { -108, -34, -3, 3, 46, 4 }, { -109, -34, -3, 3, 46, 4 }, { -110, -33, -3, 3, 46, 4 }, - { -111, -32, -3, 3, 46, 4 }, { -112, -32, -3, 3, 46, 4 }, { -113, -31, -3, 3, 46, 4 }, { -114, -30, -3, 4, 46, 4 }, { -115, -29, -3, 4, 46, 4 }, - { -116, -29, -3, 4, 46, 4 }, { -117, -28, -3, 4, 46, 4 }, { -118, -27, -3, 4, 46, 4 }, { -119, -26, -3, 4, 46, 4 }, { -120, -25, -3, 4, 46, 4 }, - { -121, -25, -4, 4, 46, 4 }, { -122, -24, -4, 4, 46, 4 }, { -123, -23, -4, 4, 46, 4 }, { -124, -22, -4, 4, 46, 4 }, { -125, -21, -4, 4, 46, 4 }, - { -125, -20, -4, 4, 46, 4 }, { -126, -19, -4, 5, 46, 4 }, { -127, -18, -4, 5, 46, 4 }, { -128, -17, -4, 5, 46, 4 }, { -128, -16, -4, 5, 46, 4 }, - { -129, -15, -4, 5, 46, 4 }, { -130, -14, -4, 5, 46, 4 }, { -130, -13, -4, 5, 46, 4 }, { -131, -12, -4, 5, 46, 4 }, { -132, -11, -5, 5, 46, 4 }, - { -132, -10, -5, 5, 46, 4 }, { -133, -9, -5, 5, 46, 4 }, { -134, -8, -5, 5, 46, 4 }, { -134, -7, -5, 5, 46, 4 }, { -135, -6, -5, 6, 46, 4 }, - { -135, -5, -5, 6, 46, 4 }, { -136, -4, -5, 6, 46, 4 }, { -136, -3, -5, 6, 46, 4 }, { -137, -2, -5, 6, 46, 4 }, { -137, -1, -5, 6, 46, 4 }, - { -138, 0, -5, 6, 46, 4 }, { -138, 1, -5, 6, 46, 4 }, { -139, 2, -5, 6, 46, 4 }, { -139, 3, -6, 6, 46, 4 }, { -139, 4, -6, 6, 46, 4 }, - { -140, 5, -6, 6, 46, 4 }, { -140, 6, -6, 6, 46, 4 }, { -140, 7, -6, 6, 46, 4 }, { -141, 8, -6, 7, 46, 4 }, { -141, 9, -6, 7, 46, 4 }, - { -141, 10, -6, 7, 46, 4 }, { -141, 11, -6, 7, 46, 4 }, { -142, 12, -6, 7, 46, 4 }, { -142, 13, -6, 7, 46, 4 }, { -142, 14, -6, 7, 46, 4 }, - { -142, 15, -6, 7, 46, 4 }, { -142, 16, -6, 7, 46, 4 }, { -143, 17, -7, 7, 46, 4 }, { -143, 18, -7, 7, 46, 4 }, { -143, 19, -7, 7, 46, 4 }, - { -143, 20, -7, 7, 46, 4 }, { -143, 21, -7, 7, 46, 4 }, { -143, 22, -7, 7, 46, 4 }, { -144, 23, -7, 7, 46, 4 }, { -144, 24, -7, 8, 46, 4 }, - { -144, 25, -7, 8, 46, 4 }, { -144, 26, -7, 8, 46, 4 }, { -144, 27, -7, 8, 46, 4 }, { -144, 28, -7, 8, 46, 4 }, { -144, 29, -7, 8, 46, 4 }, - { -144, 30, -7, 8, 46, 4 }, { -144, 31, -8, 8, 46, 4 }, + 227, { + { 16, 31, 8, 24, 46, 4 }, { 16, 30, 8, 24, 46, 4 }, { 16, 29, 8, 24, 46, 4 }, { 16, 28, 8, 24, 46, 4 }, { 16, 27, 8, 24, 46, 4 }, + { 16, 26, 8, 24, 46, 4 }, { 16, 25, 8, 24, 46, 4 }, { 16, 24, 8, 25, 46, 4 }, { 15, 23, 8, 25, 46, 4 }, { 15, 22, 8, 25, 46, 4 }, + { 15, 21, 8, 25, 46, 4 }, { 15, 20, 8, 25, 46, 4 }, { 15, 19, 8, 25, 46, 4 }, { 15, 18, 8, 25, 46, 4 }, { 14, 17, 7, 25, 46, 4 }, + { 14, 16, 7, 25, 46, 4 }, { 14, 15, 7, 25, 46, 4 }, { 14, 14, 7, 25, 46, 4 }, { 14, 13, 7, 25, 46, 4 }, { 13, 12, 7, 25, 46, 4 }, + { 13, 11, 7, 25, 46, 4 }, { 13, 10, 7, 26, 46, 4 }, { 13, 9, 7, 26, 46, 4 }, { 12, 8, 7, 26, 46, 4 }, { 12, 7, 7, 26, 46, 4 }, + { 12, 6, 7, 26, 46, 4 }, { 11, 5, 7, 26, 46, 4 }, { 11, 4, 7, 26, 46, 4 }, { 11, 3, 6, 26, 46, 4 }, { 10, 2, 6, 26, 46, 4 }, + { 10, 1, 6, 26, 46, 4 }, { 9, 0, 6, 26, 46, 4 }, { 9, -1, 6, 26, 46, 4 }, { 8, -2, 6, 26, 46, 4 }, { 8, -3, 6, 26, 46, 4 }, + { 7, -4, 6, 26, 46, 4 }, { 7, -5, 6, 27, 46, 4 }, { 6, -6, 6, 27, 46, 4 }, { 6, -7, 6, 27, 46, 4 }, { 5, -8, 6, 27, 46, 4 }, + { 4, -9, 6, 27, 46, 4 }, { 4, -10, 6, 27, 46, 4 }, { 3, -11, 5, 27, 46, 4 }, { 2, -12, 5, 27, 46, 4 }, { 2, -13, 5, 27, 46, 4 }, + { 1, -14, 5, 27, 46, 4 }, { 0, -15, 5, 27, 46, 4 }, { 0, -16, 5, 27, 46, 4 }, { -1, -17, 5, 27, 46, 4 }, { -2, -18, 5, 28, 46, 4 }, + { -3, -19, 5, 28, 46, 4 }, { -3, -20, 5, 28, 46, 4 }, { -4, -21, 5, 28, 46, 4 }, { -5, -22, 5, 28, 46, 4 }, { -6, -23, 5, 28, 46, 4 }, + { -7, -24, 5, 28, 46, 4 }, { -7, -25, 4, 28, 46, 4 }, { -8, -26, 4, 28, 46, 4 }, { -9, -27, 4, 28, 46, 4 }, { -10, -28, 4, 28, 46, 4 }, + { -11, -29, 4, 28, 46, 4 }, { -12, -29, 4, 28, 46, 4 }, { -13, -30, 4, 29, 46, 4 }, { -14, -31, 4, 29, 46, 4 }, { -15, -32, 4, 29, 46, 4 }, + { -16, -32, 4, 29, 46, 4 }, { -17, -33, 4, 29, 46, 4 }, { -18, -34, 4, 29, 46, 4 }, { -19, -34, 4, 29, 46, 4 }, { -20, -35, 4, 29, 46, 4 }, + { -21, -36, 4, 29, 46, 4 }, { -22, -36, 3, 29, 46, 4 }, { -23, -37, 3, 29, 46, 4 }, { -24, -38, 3, 29, 46, 4 }, { -25, -38, 3, 29, 46, 4 }, + { -26, -39, 3, 30, 46, 4 }, { -27, -39, 3, 30, 46, 4 }, { -28, -40, 3, 30, 46, 4 }, { -29, -40, 3, 30, 46, 4 }, { -30, -41, 3, 30, 46, 4 }, + { -31, -41, 3, 30, 46, 4 }, { -32, -42, 3, 30, 46, 4 }, { -33, -42, 3, 30, 46, 4 }, { -34, -43, 3, 30, 46, 4 }, { -35, -43, 3, 30, 46, 4 }, + { -36, -43, 2, 30, 46, 4 }, { -37, -44, 2, 30, 46, 4 }, { -38, -44, 2, 30, 46, 4 }, { -39, -44, 2, 30, 46, 4 }, { -40, -45, 2, 31, 46, 4 }, + { -41, -45, 2, 31, 46, 4 }, { -42, -45, 2, 31, 46, 4 }, { -43, -45, 2, 31, 46, 4 }, { -44, -46, 2, 31, 46, 4 }, { -45, -46, 2, 31, 46, 4 }, + { -46, -46, 2, 31, 46, 4 }, { -47, -46, 2, 31, 46, 4 }, { -48, -46, 2, 31, 46, 4 }, { -49, -47, 2, 31, 46, 4 }, { -50, -47, 1, 31, 46, 4 }, + { -51, -47, 1, 31, 46, 4 }, { -52, -47, 1, 31, 46, 4 }, { -53, -47, 1, 31, 46, 4 }, { -54, -47, 1, 31, 46, 4 }, { -55, -48, 1, 31, 46, 4 }, + { -56, -48, 1, 0, 46, 4 }, { -57, -48, 1, 0, 46, 4 }, { -58, -48, 1, 0, 46, 4 }, { -59, -48, 1, 0, 46, 4 }, { -60, -48, 1, 0, 46, 4 }, + { -61, -48, 1, 0, 46, 4 }, { -62, -48, 1, 0, 46, 4 }, { -63, -48, 1, 0, 46, 4 }, { -64, -48, 0, 0, 46, 4 }, { -65, -48, 0, 0, 46, 4 }, + { -66, -48, 0, 0, 46, 4 }, { -67, -48, 0, 0, 46, 4 }, { -68, -48, 0, 0, 46, 4 }, { -69, -48, 0, 0, 46, 4 }, { -70, -48, 0, 0, 46, 4 }, + { -71, -48, 0, 0, 46, 4 }, { -72, -48, 0, 1, 46, 4 }, { -73, -47, 0, 1, 46, 4 }, { -74, -47, 0, 1, 46, 4 }, { -75, -47, 0, 1, 46, 4 }, + { -76, -47, 0, 1, 46, 4 }, { -77, -47, 0, 1, 46, 4 }, { -78, -47, 0, 1, 46, 4 }, { -79, -46, -1, 1, 46, 4 }, { -80, -46, -1, 1, 46, 4 }, + { -81, -46, -1, 1, 46, 4 }, { -82, -46, -1, 1, 46, 4 }, { -83, -46, -1, 1, 46, 4 }, { -84, -45, -1, 1, 46, 4 }, { -85, -45, -1, 1, 46, 4 }, + { -86, -45, -1, 2, 46, 4 }, { -87, -45, -1, 2, 46, 4 }, { -88, -44, -1, 2, 46, 4 }, { -89, -44, -1, 2, 46, 4 }, { -90, -44, -1, 2, 46, 4 }, + { -91, -43, -1, 2, 46, 4 }, { -92, -43, -1, 2, 46, 4 }, { -93, -43, -2, 2, 46, 4 }, { -94, -42, -2, 2, 46, 4 }, { -95, -42, -2, 2, 46, 4 }, + { -96, -41, -2, 2, 46, 4 }, { -97, -41, -2, 2, 46, 4 }, { -98, -40, -2, 2, 46, 4 }, { -99, -40, -2, 2, 46, 4 }, { -100, -39, -2, 2, 46, 4 }, + { -101, -39, -2, 3, 46, 4 }, { -102, -38, -2, 3, 46, 4 }, { -103, -38, -2, 3, 46, 4 }, { -104, -37, -2, 3, 46, 4 }, { -105, -36, -2, 3, 46, 4 }, + { -106, -36, -2, 3, 46, 4 }, { -107, -35, -3, 3, 46, 4 }, { -108, -34, -3, 3, 46, 4 }, { -109, -34, -3, 3, 46, 4 }, { -110, -33, -3, 3, 46, 4 }, + { -111, -32, -3, 3, 46, 4 }, { -112, -32, -3, 3, 46, 4 }, { -113, -31, -3, 3, 46, 4 }, { -114, -30, -3, 4, 46, 4 }, { -115, -29, -3, 4, 46, 4 }, + { -116, -29, -3, 4, 46, 4 }, { -117, -28, -3, 4, 46, 4 }, { -118, -27, -3, 4, 46, 4 }, { -119, -26, -3, 4, 46, 4 }, { -120, -25, -3, 4, 46, 4 }, + { -121, -25, -4, 4, 46, 4 }, { -122, -24, -4, 4, 46, 4 }, { -123, -23, -4, 4, 46, 4 }, { -124, -22, -4, 4, 46, 4 }, { -125, -21, -4, 4, 46, 4 }, + { -125, -20, -4, 4, 46, 4 }, { -126, -19, -4, 5, 46, 4 }, { -127, -18, -4, 5, 46, 4 }, { -128, -17, -4, 5, 46, 4 }, { -128, -16, -4, 5, 46, 4 }, + { -129, -15, -4, 5, 46, 4 }, { -130, -14, -4, 5, 46, 4 }, { -130, -13, -4, 5, 46, 4 }, { -131, -12, -4, 5, 46, 4 }, { -132, -11, -5, 5, 46, 4 }, + { -132, -10, -5, 5, 46, 4 }, { -133, -9, -5, 5, 46, 4 }, { -134, -8, -5, 5, 46, 4 }, { -134, -7, -5, 5, 46, 4 }, { -135, -6, -5, 6, 46, 4 }, + { -135, -5, -5, 6, 46, 4 }, { -136, -4, -5, 6, 46, 4 }, { -136, -3, -5, 6, 46, 4 }, { -137, -2, -5, 6, 46, 4 }, { -137, -1, -5, 6, 46, 4 }, + { -138, 0, -5, 6, 46, 4 }, { -138, 1, -5, 6, 46, 4 }, { -139, 2, -5, 6, 46, 4 }, { -139, 3, -6, 6, 46, 4 }, { -139, 4, -6, 6, 46, 4 }, + { -140, 5, -6, 6, 46, 4 }, { -140, 6, -6, 6, 46, 4 }, { -140, 7, -6, 6, 46, 4 }, { -141, 8, -6, 7, 46, 4 }, { -141, 9, -6, 7, 46, 4 }, + { -141, 10, -6, 7, 46, 4 }, { -141, 11, -6, 7, 46, 4 }, { -142, 12, -6, 7, 46, 4 }, { -142, 13, -6, 7, 46, 4 }, { -142, 14, -6, 7, 46, 4 }, + { -142, 15, -6, 7, 46, 4 }, { -142, 16, -6, 7, 46, 4 }, { -143, 17, -7, 7, 46, 4 }, { -143, 18, -7, 7, 46, 4 }, { -143, 19, -7, 7, 46, 4 }, + { -143, 20, -7, 7, 46, 4 }, { -143, 21, -7, 7, 46, 4 }, { -143, 22, -7, 7, 46, 4 }, { -144, 23, -7, 7, 46, 4 }, { -144, 24, -7, 8, 46, 4 }, + { -144, 25, -7, 8, 46, 4 }, { -144, 26, -7, 8, 46, 4 }, { -144, 27, -7, 8, 46, 4 }, { -144, 28, -7, 8, 46, 4 }, { -144, 29, -7, 8, 46, 4 }, + { -144, 30, -7, 8, 46, 4 }, { -144, 31, -8, 8, 46, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E402E = { - 64, { - { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 30, 16, 3, 0, 4, 0 }, { 30, 16, 4, 0, 4, 0 }, - { 29, 16, 5, 31, 4, 0 }, { 29, 16, 6, 31, 4, 0 }, { 28, 15, 7, 31, 4, 0 }, { 28, 15, 8, 31, 4, 0 }, { 28, 15, 9, 31, 4, 0 }, - { 27, 15, 10, 30, 4, 0 }, { 27, 15, 11, 30, 4, 0 }, { 27, 15, 12, 30, 4, 0 }, { 26, 15, 13, 30, 4, 0 }, { 26, 15, 14, 30, 4, 0 }, - { 26, 15, 15, 30, 4, 0 }, { 25, 14, 16, 30, 4, 0 }, { 25, 14, 17, 30, 4, 0 }, { 25, 14, 18, 30, 4, 0 }, { 24, 14, 19, 29, 4, 0 }, - { 24, 14, 20, 29, 4, 0 }, { 24, 14, 21, 29, 4, 0 }, { 23, 13, 22, 29, 4, 0 }, { 23, 13, 23, 29, 4, 0 }, { 23, 13, 24, 29, 4, 0 }, - { 22, 12, 25, 28, 4, 0 }, { 22, 12, 26, 28, 4, 0 }, { 22, 12, 27, 28, 4, 0 }, { 21, 11, 28, 28, 4, 0 }, { 21, 11, 29, 28, 4, 0 }, - { 21, 11, 30, 28, 4, 0 }, { 20, 10, 31, 28, 4, 0 }, { 20, 10, 32, 28, 4, 0 }, { 20, 10, 33, 28, 4, 0 }, { 19, 9, 34, 27, 4, 0 }, - { 19, 9, 35, 27, 4, 0 }, { 19, 9, 36, 27, 4, 0 }, { 18, 8, 37, 27, 4, 0 }, { 18, 8, 38, 27, 4, 0 }, { 18, 8, 39, 27, 4, 0 }, - { 18, 7, 40, 26, 4, 0 }, { 18, 7, 41, 26, 4, 0 }, { 18, 7, 42, 26, 4, 0 }, { 17, 6, 43, 26, 4, 0 }, { 17, 6, 44, 26, 4, 0 }, - { 17, 6, 45, 26, 4, 0 }, { 17, 5, 46, 26, 4, 0 }, { 17, 5, 47, 26, 4, 0 }, { 17, 5, 48, 26, 4, 0 }, { 17, 4, 49, 25, 4, 0 }, - { 17, 4, 50, 25, 4, 0 }, { 17, 4, 51, 25, 4, 0 }, { 16, 3, 52, 25, 4, 0 }, { 16, 3, 53, 25, 4, 0 }, { 16, 3, 54, 25, 4, 0 }, - { 16, 2, 55, 24, 4, 0 }, { 16, 2, 56, 24, 4, 0 }, { 16, 2, 57, 24, 4, 0 }, { 16, 1, 58, 24, 4, 0 }, { 16, 1, 59, 24, 4, 0 }, - { 16, 1, 60, 24, 4, 0 }, { 16, 0, 61, 24, 4, 0 }, { 16, 0, 62, 24, 4, 0 }, { 16, 0, 63, 24, 4, 0 }, + 64, { + { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 30, 16, 3, 0, 4, 0 }, { 30, 16, 4, 0, 4, 0 }, + { 29, 16, 5, 31, 4, 0 }, { 29, 16, 6, 31, 4, 0 }, { 28, 15, 7, 31, 4, 0 }, { 28, 15, 8, 31, 4, 0 }, { 28, 15, 9, 31, 4, 0 }, + { 27, 15, 10, 30, 4, 0 }, { 27, 15, 11, 30, 4, 0 }, { 27, 15, 12, 30, 4, 0 }, { 26, 15, 13, 30, 4, 0 }, { 26, 15, 14, 30, 4, 0 }, + { 26, 15, 15, 30, 4, 0 }, { 25, 14, 16, 30, 4, 0 }, { 25, 14, 17, 30, 4, 0 }, { 25, 14, 18, 30, 4, 0 }, { 24, 14, 19, 29, 4, 0 }, + { 24, 14, 20, 29, 4, 0 }, { 24, 14, 21, 29, 4, 0 }, { 23, 13, 22, 29, 4, 0 }, { 23, 13, 23, 29, 4, 0 }, { 23, 13, 24, 29, 4, 0 }, + { 22, 12, 25, 28, 4, 0 }, { 22, 12, 26, 28, 4, 0 }, { 22, 12, 27, 28, 4, 0 }, { 21, 11, 28, 28, 4, 0 }, { 21, 11, 29, 28, 4, 0 }, + { 21, 11, 30, 28, 4, 0 }, { 20, 10, 31, 28, 4, 0 }, { 20, 10, 32, 28, 4, 0 }, { 20, 10, 33, 28, 4, 0 }, { 19, 9, 34, 27, 4, 0 }, + { 19, 9, 35, 27, 4, 0 }, { 19, 9, 36, 27, 4, 0 }, { 18, 8, 37, 27, 4, 0 }, { 18, 8, 38, 27, 4, 0 }, { 18, 8, 39, 27, 4, 0 }, + { 18, 7, 40, 26, 4, 0 }, { 18, 7, 41, 26, 4, 0 }, { 18, 7, 42, 26, 4, 0 }, { 17, 6, 43, 26, 4, 0 }, { 17, 6, 44, 26, 4, 0 }, + { 17, 6, 45, 26, 4, 0 }, { 17, 5, 46, 26, 4, 0 }, { 17, 5, 47, 26, 4, 0 }, { 17, 5, 48, 26, 4, 0 }, { 17, 4, 49, 25, 4, 0 }, + { 17, 4, 50, 25, 4, 0 }, { 17, 4, 51, 25, 4, 0 }, { 16, 3, 52, 25, 4, 0 }, { 16, 3, 53, 25, 4, 0 }, { 16, 3, 54, 25, 4, 0 }, + { 16, 2, 55, 24, 4, 0 }, { 16, 2, 56, 24, 4, 0 }, { 16, 2, 57, 24, 4, 0 }, { 16, 1, 58, 24, 4, 0 }, { 16, 1, 59, 24, 4, 0 }, + { 16, 1, 60, 24, 4, 0 }, { 16, 0, 61, 24, 4, 0 }, { 16, 0, 62, 24, 4, 0 }, { 16, 0, 63, 24, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E4270 = { - 64, { - { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 1, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, - { 16, 2, 5, 8, 4, 0 }, { 16, 3, 6, 7, 4, 0 }, { 16, 3, 7, 7, 4, 0 }, { 15, 4, 8, 7, 4, 0 }, { 15, 4, 9, 7, 4, 0 }, - { 15, 4, 10, 7, 4, 0 }, { 15, 5, 11, 6, 4, 0 }, { 15, 5, 12, 6, 4, 0 }, { 15, 5, 13, 6, 4, 0 }, { 15, 6, 14, 6, 4, 0 }, - { 15, 6, 15, 6, 4, 0 }, { 15, 6, 16, 6, 4, 0 }, { 14, 7, 17, 6, 4, 0 }, { 14, 7, 18, 6, 4, 0 }, { 14, 7, 19, 6, 4, 0 }, - { 14, 8, 20, 5, 4, 0 }, { 14, 8, 21, 5, 4, 0 }, { 13, 9, 22, 5, 4, 0 }, { 13, 9, 23, 5, 4, 0 }, { 13, 9, 24, 5, 4, 0 }, - { 12, 10, 25, 4, 4, 0 }, { 12, 10, 26, 4, 4, 0 }, { 12, 10, 27, 4, 4, 0 }, { 11, 11, 28, 4, 4, 0 }, { 11, 11, 29, 4, 4, 0 }, - { 11, 11, 30, 4, 4, 0 }, { 10, 12, 31, 4, 4, 0 }, { 10, 12, 32, 4, 4, 0 }, { 10, 12, 33, 4, 4, 0 }, { 9, 13, 34, 3, 4, 0 }, - { 9, 13, 35, 3, 4, 0 }, { 9, 13, 36, 3, 4, 0 }, { 8, 14, 37, 3, 4, 0 }, { 8, 14, 38, 3, 4, 0 }, { 8, 14, 39, 3, 4, 0 }, - { 7, 14, 40, 2, 4, 0 }, { 7, 14, 41, 2, 4, 0 }, { 7, 14, 42, 2, 4, 0 }, { 6, 15, 43, 2, 4, 0 }, { 6, 15, 44, 2, 4, 0 }, - { 6, 15, 45, 2, 4, 0 }, { 5, 15, 46, 2, 4, 0 }, { 5, 15, 47, 2, 4, 0 }, { 5, 15, 48, 2, 4, 0 }, { 4, 15, 49, 1, 4, 0 }, - { 4, 15, 50, 1, 4, 0 }, { 4, 15, 51, 1, 4, 0 }, { 3, 16, 52, 1, 4, 0 }, { 3, 16, 53, 1, 4, 0 }, { 3, 16, 54, 1, 4, 0 }, - { 2, 16, 55, 0, 4, 0 }, { 2, 16, 56, 0, 4, 0 }, { 2, 16, 57, 0, 4, 0 }, { 1, 16, 58, 0, 4, 0 }, { 1, 16, 59, 0, 4, 0 }, - { 1, 16, 60, 0, 4, 0 }, { 0, 16, 61, 0, 4, 0 }, { 0, 16, 62, 0, 4, 0 }, { 0, 16, 63, 0, 4, 0 }, + 64, { + { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 1, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, + { 16, 2, 5, 8, 4, 0 }, { 16, 3, 6, 7, 4, 0 }, { 16, 3, 7, 7, 4, 0 }, { 15, 4, 8, 7, 4, 0 }, { 15, 4, 9, 7, 4, 0 }, + { 15, 4, 10, 7, 4, 0 }, { 15, 5, 11, 6, 4, 0 }, { 15, 5, 12, 6, 4, 0 }, { 15, 5, 13, 6, 4, 0 }, { 15, 6, 14, 6, 4, 0 }, + { 15, 6, 15, 6, 4, 0 }, { 15, 6, 16, 6, 4, 0 }, { 14, 7, 17, 6, 4, 0 }, { 14, 7, 18, 6, 4, 0 }, { 14, 7, 19, 6, 4, 0 }, + { 14, 8, 20, 5, 4, 0 }, { 14, 8, 21, 5, 4, 0 }, { 13, 9, 22, 5, 4, 0 }, { 13, 9, 23, 5, 4, 0 }, { 13, 9, 24, 5, 4, 0 }, + { 12, 10, 25, 4, 4, 0 }, { 12, 10, 26, 4, 4, 0 }, { 12, 10, 27, 4, 4, 0 }, { 11, 11, 28, 4, 4, 0 }, { 11, 11, 29, 4, 4, 0 }, + { 11, 11, 30, 4, 4, 0 }, { 10, 12, 31, 4, 4, 0 }, { 10, 12, 32, 4, 4, 0 }, { 10, 12, 33, 4, 4, 0 }, { 9, 13, 34, 3, 4, 0 }, + { 9, 13, 35, 3, 4, 0 }, { 9, 13, 36, 3, 4, 0 }, { 8, 14, 37, 3, 4, 0 }, { 8, 14, 38, 3, 4, 0 }, { 8, 14, 39, 3, 4, 0 }, + { 7, 14, 40, 2, 4, 0 }, { 7, 14, 41, 2, 4, 0 }, { 7, 14, 42, 2, 4, 0 }, { 6, 15, 43, 2, 4, 0 }, { 6, 15, 44, 2, 4, 0 }, + { 6, 15, 45, 2, 4, 0 }, { 5, 15, 46, 2, 4, 0 }, { 5, 15, 47, 2, 4, 0 }, { 5, 15, 48, 2, 4, 0 }, { 4, 15, 49, 1, 4, 0 }, + { 4, 15, 50, 1, 4, 0 }, { 4, 15, 51, 1, 4, 0 }, { 3, 16, 52, 1, 4, 0 }, { 3, 16, 53, 1, 4, 0 }, { 3, 16, 54, 1, 4, 0 }, + { 2, 16, 55, 0, 4, 0 }, { 2, 16, 56, 0, 4, 0 }, { 2, 16, 57, 0, 4, 0 }, { 1, 16, 58, 0, 4, 0 }, { 1, 16, 59, 0, 4, 0 }, + { 1, 16, 60, 0, 4, 0 }, { 0, 16, 61, 0, 4, 0 }, { 0, 16, 62, 0, 4, 0 }, { 0, 16, 63, 0, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E44B2 = { - 64, { - { 0, 16, 0, 16, 4, 0 }, { 0, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 1, 16, 3, 16, 4, 0 }, { 1, 16, 4, 16, 4, 0 }, - { 2, 16, 5, 16, 4, 0 }, { 2, 16, 6, 16, 4, 0 }, { 3, 16, 7, 15, 4, 0 }, { 3, 16, 8, 15, 4, 0 }, { 3, 16, 9, 15, 4, 0 }, - { 4, 17, 10, 15, 4, 0 }, { 4, 17, 11, 15, 4, 0 }, { 4, 17, 12, 15, 4, 0 }, { 5, 17, 13, 14, 4, 0 }, { 5, 17, 14, 14, 4, 0 }, - { 5, 17, 15, 14, 4, 0 }, { 6, 17, 16, 14, 4, 0 }, { 6, 17, 17, 14, 4, 0 }, { 6, 17, 18, 14, 4, 0 }, { 7, 18, 19, 14, 4, 0 }, - { 7, 18, 20, 14, 4, 0 }, { 7, 18, 21, 14, 4, 0 }, { 8, 18, 22, 13, 4, 0 }, { 8, 18, 23, 13, 4, 0 }, { 8, 18, 24, 13, 4, 0 }, - { 9, 19, 25, 13, 4, 0 }, { 9, 19, 26, 13, 4, 0 }, { 9, 19, 27, 13, 4, 0 }, { 10, 20, 28, 12, 4, 0 }, { 10, 20, 29, 12, 4, 0 }, - { 10, 20, 30, 12, 4, 0 }, { 11, 21, 31, 12, 4, 0 }, { 11, 21, 32, 12, 4, 0 }, { 11, 21, 33, 12, 4, 0 }, { 12, 22, 34, 12, 4, 0 }, - { 12, 22, 35, 12, 4, 0 }, { 12, 22, 36, 12, 4, 0 }, { 13, 23, 37, 11, 4, 0 }, { 13, 23, 38, 11, 4, 0 }, { 13, 23, 39, 11, 4, 0 }, - { 14, 24, 40, 11, 4, 0 }, { 14, 24, 41, 11, 4, 0 }, { 14, 24, 42, 11, 4, 0 }, { 14, 25, 43, 10, 4, 0 }, { 14, 25, 44, 10, 4, 0 }, - { 14, 25, 45, 10, 4, 0 }, { 15, 26, 46, 10, 4, 0 }, { 15, 26, 47, 10, 4, 0 }, { 15, 26, 48, 10, 4, 0 }, { 15, 27, 49, 10, 4, 0 }, - { 15, 27, 50, 10, 4, 0 }, { 15, 27, 51, 10, 4, 0 }, { 15, 28, 52, 9, 4, 0 }, { 15, 28, 53, 9, 4, 0 }, { 15, 28, 54, 9, 4, 0 }, - { 16, 29, 55, 9, 4, 0 }, { 16, 29, 56, 9, 4, 0 }, { 16, 29, 57, 9, 4, 0 }, { 16, 30, 58, 8, 4, 0 }, { 16, 30, 59, 8, 4, 0 }, - { 16, 30, 60, 8, 4, 0 }, { 16, 31, 61, 8, 4, 0 }, { 16, 31, 62, 8, 4, 0 }, { 16, 31, 63, 8, 4, 0 }, + 64, { + { 0, 16, 0, 16, 4, 0 }, { 0, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 1, 16, 3, 16, 4, 0 }, { 1, 16, 4, 16, 4, 0 }, + { 2, 16, 5, 16, 4, 0 }, { 2, 16, 6, 16, 4, 0 }, { 3, 16, 7, 15, 4, 0 }, { 3, 16, 8, 15, 4, 0 }, { 3, 16, 9, 15, 4, 0 }, + { 4, 17, 10, 15, 4, 0 }, { 4, 17, 11, 15, 4, 0 }, { 4, 17, 12, 15, 4, 0 }, { 5, 17, 13, 14, 4, 0 }, { 5, 17, 14, 14, 4, 0 }, + { 5, 17, 15, 14, 4, 0 }, { 6, 17, 16, 14, 4, 0 }, { 6, 17, 17, 14, 4, 0 }, { 6, 17, 18, 14, 4, 0 }, { 7, 18, 19, 14, 4, 0 }, + { 7, 18, 20, 14, 4, 0 }, { 7, 18, 21, 14, 4, 0 }, { 8, 18, 22, 13, 4, 0 }, { 8, 18, 23, 13, 4, 0 }, { 8, 18, 24, 13, 4, 0 }, + { 9, 19, 25, 13, 4, 0 }, { 9, 19, 26, 13, 4, 0 }, { 9, 19, 27, 13, 4, 0 }, { 10, 20, 28, 12, 4, 0 }, { 10, 20, 29, 12, 4, 0 }, + { 10, 20, 30, 12, 4, 0 }, { 11, 21, 31, 12, 4, 0 }, { 11, 21, 32, 12, 4, 0 }, { 11, 21, 33, 12, 4, 0 }, { 12, 22, 34, 12, 4, 0 }, + { 12, 22, 35, 12, 4, 0 }, { 12, 22, 36, 12, 4, 0 }, { 13, 23, 37, 11, 4, 0 }, { 13, 23, 38, 11, 4, 0 }, { 13, 23, 39, 11, 4, 0 }, + { 14, 24, 40, 11, 4, 0 }, { 14, 24, 41, 11, 4, 0 }, { 14, 24, 42, 11, 4, 0 }, { 14, 25, 43, 10, 4, 0 }, { 14, 25, 44, 10, 4, 0 }, + { 14, 25, 45, 10, 4, 0 }, { 15, 26, 46, 10, 4, 0 }, { 15, 26, 47, 10, 4, 0 }, { 15, 26, 48, 10, 4, 0 }, { 15, 27, 49, 10, 4, 0 }, + { 15, 27, 50, 10, 4, 0 }, { 15, 27, 51, 10, 4, 0 }, { 15, 28, 52, 9, 4, 0 }, { 15, 28, 53, 9, 4, 0 }, { 15, 28, 54, 9, 4, 0 }, + { 16, 29, 55, 9, 4, 0 }, { 16, 29, 56, 9, 4, 0 }, { 16, 29, 57, 9, 4, 0 }, { 16, 30, 58, 8, 4, 0 }, { 16, 30, 59, 8, 4, 0 }, + { 16, 30, 60, 8, 4, 0 }, { 16, 31, 61, 8, 4, 0 }, { 16, 31, 62, 8, 4, 0 }, { 16, 31, 63, 8, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E46F4 = { - 64, { - { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 30, 3, 24, 4, 0 }, { 16, 29, 4, 23, 4, 0 }, - { 16, 29, 5, 23, 4, 0 }, { 17, 28, 6, 23, 4, 0 }, { 17, 28, 7, 23, 4, 0 }, { 17, 28, 8, 23, 4, 0 }, { 17, 27, 9, 22, 4, 0 }, - { 17, 27, 10, 22, 4, 0 }, { 17, 27, 11, 22, 4, 0 }, { 17, 27, 12, 22, 4, 0 }, { 17, 26, 13, 22, 4, 0 }, { 17, 26, 14, 22, 4, 0 }, - { 17, 26, 15, 22, 4, 0 }, { 18, 25, 16, 22, 4, 0 }, { 18, 25, 17, 22, 4, 0 }, { 18, 25, 18, 22, 4, 0 }, { 18, 24, 19, 21, 4, 0 }, - { 18, 24, 20, 21, 4, 0 }, { 18, 24, 21, 21, 4, 0 }, { 19, 23, 22, 21, 4, 0 }, { 19, 23, 23, 21, 4, 0 }, { 19, 23, 24, 21, 4, 0 }, - { 20, 22, 25, 20, 4, 0 }, { 20, 22, 26, 20, 4, 0 }, { 20, 22, 27, 20, 4, 0 }, { 20, 22, 28, 20, 4, 0 }, { 21, 21, 29, 20, 4, 0 }, - { 21, 21, 30, 20, 4, 0 }, { 21, 21, 31, 20, 4, 0 }, { 22, 20, 32, 20, 4, 0 }, { 22, 20, 33, 20, 4, 0 }, { 22, 20, 34, 20, 4, 0 }, - { 23, 19, 35, 19, 4, 0 }, { 23, 19, 36, 19, 4, 0 }, { 23, 19, 37, 19, 4, 0 }, { 24, 18, 38, 19, 4, 0 }, { 24, 18, 39, 19, 4, 0 }, - { 24, 18, 40, 19, 4, 0 }, { 25, 18, 41, 18, 4, 0 }, { 25, 18, 42, 18, 4, 0 }, { 25, 18, 43, 18, 4, 0 }, { 26, 17, 44, 18, 4, 0 }, - { 26, 17, 45, 18, 4, 0 }, { 26, 17, 46, 18, 4, 0 }, { 26, 17, 47, 18, 4, 0 }, { 27, 17, 48, 18, 4, 0 }, { 27, 17, 49, 18, 4, 0 }, - { 27, 17, 50, 18, 4, 0 }, { 28, 17, 51, 17, 4, 0 }, { 28, 17, 52, 17, 4, 0 }, { 28, 17, 53, 17, 4, 0 }, { 29, 16, 54, 17, 4, 0 }, - { 29, 16, 55, 17, 4, 0 }, { 29, 16, 56, 17, 4, 0 }, { 30, 16, 57, 16, 4, 0 }, { 30, 16, 58, 16, 4, 0 }, { 30, 16, 59, 16, 4, 0 }, - { 31, 16, 60, 16, 4, 0 }, { 31, 16, 61, 16, 4, 0 }, { 31, 16, 62, 16, 4, 0 }, { 31, 16, 63, 16, 4, 0 }, + 64, { + { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 30, 3, 24, 4, 0 }, { 16, 29, 4, 23, 4, 0 }, + { 16, 29, 5, 23, 4, 0 }, { 17, 28, 6, 23, 4, 0 }, { 17, 28, 7, 23, 4, 0 }, { 17, 28, 8, 23, 4, 0 }, { 17, 27, 9, 22, 4, 0 }, + { 17, 27, 10, 22, 4, 0 }, { 17, 27, 11, 22, 4, 0 }, { 17, 27, 12, 22, 4, 0 }, { 17, 26, 13, 22, 4, 0 }, { 17, 26, 14, 22, 4, 0 }, + { 17, 26, 15, 22, 4, 0 }, { 18, 25, 16, 22, 4, 0 }, { 18, 25, 17, 22, 4, 0 }, { 18, 25, 18, 22, 4, 0 }, { 18, 24, 19, 21, 4, 0 }, + { 18, 24, 20, 21, 4, 0 }, { 18, 24, 21, 21, 4, 0 }, { 19, 23, 22, 21, 4, 0 }, { 19, 23, 23, 21, 4, 0 }, { 19, 23, 24, 21, 4, 0 }, + { 20, 22, 25, 20, 4, 0 }, { 20, 22, 26, 20, 4, 0 }, { 20, 22, 27, 20, 4, 0 }, { 20, 22, 28, 20, 4, 0 }, { 21, 21, 29, 20, 4, 0 }, + { 21, 21, 30, 20, 4, 0 }, { 21, 21, 31, 20, 4, 0 }, { 22, 20, 32, 20, 4, 0 }, { 22, 20, 33, 20, 4, 0 }, { 22, 20, 34, 20, 4, 0 }, + { 23, 19, 35, 19, 4, 0 }, { 23, 19, 36, 19, 4, 0 }, { 23, 19, 37, 19, 4, 0 }, { 24, 18, 38, 19, 4, 0 }, { 24, 18, 39, 19, 4, 0 }, + { 24, 18, 40, 19, 4, 0 }, { 25, 18, 41, 18, 4, 0 }, { 25, 18, 42, 18, 4, 0 }, { 25, 18, 43, 18, 4, 0 }, { 26, 17, 44, 18, 4, 0 }, + { 26, 17, 45, 18, 4, 0 }, { 26, 17, 46, 18, 4, 0 }, { 26, 17, 47, 18, 4, 0 }, { 27, 17, 48, 18, 4, 0 }, { 27, 17, 49, 18, 4, 0 }, + { 27, 17, 50, 18, 4, 0 }, { 28, 17, 51, 17, 4, 0 }, { 28, 17, 52, 17, 4, 0 }, { 28, 17, 53, 17, 4, 0 }, { 29, 16, 54, 17, 4, 0 }, + { 29, 16, 55, 17, 4, 0 }, { 29, 16, 56, 17, 4, 0 }, { 30, 16, 57, 16, 4, 0 }, { 30, 16, 58, 16, 4, 0 }, { 30, 16, 59, 16, 4, 0 }, + { 31, 16, 60, 16, 4, 0 }, { 31, 16, 61, 16, 4, 0 }, { 31, 16, 62, 16, 4, 0 }, { 31, 16, 63, 16, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E4936 = { - 64, { - { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 30, 16, 3, 0, 4, 0 }, { 30, 16, 4, 0, 4, 0 }, - { 29, 16, 5, 1, 4, 0 }, { 29, 16, 6, 1, 4, 0 }, { 29, 16, 7, 1, 4, 0 }, { 28, 17, 8, 1, 4, 0 }, { 28, 17, 9, 1, 4, 0 }, - { 28, 17, 10, 1, 4, 0 }, { 27, 17, 11, 2, 4, 0 }, { 27, 17, 12, 2, 4, 0 }, { 27, 17, 13, 2, 4, 0 }, { 26, 17, 14, 2, 4, 0 }, - { 26, 17, 15, 2, 4, 0 }, { 26, 17, 16, 2, 4, 0 }, { 25, 18, 17, 2, 4, 0 }, { 25, 18, 18, 2, 4, 0 }, { 25, 18, 19, 2, 4, 0 }, - { 24, 18, 20, 3, 4, 0 }, { 24, 18, 21, 3, 4, 0 }, { 24, 18, 22, 3, 4, 0 }, { 23, 19, 23, 3, 4, 0 }, { 23, 19, 24, 3, 4, 0 }, - { 23, 19, 25, 3, 4, 0 }, { 22, 20, 26, 4, 4, 0 }, { 22, 20, 27, 4, 4, 0 }, { 22, 20, 28, 4, 4, 0 }, { 22, 20, 29, 4, 4, 0 }, - { 21, 21, 30, 4, 4, 0 }, { 21, 21, 31, 4, 4, 0 }, { 21, 21, 32, 4, 4, 0 }, { 20, 22, 33, 4, 4, 0 }, { 20, 22, 34, 4, 4, 0 }, - { 20, 22, 35, 4, 4, 0 }, { 19, 23, 36, 5, 4, 0 }, { 19, 23, 37, 5, 4, 0 }, { 19, 23, 38, 5, 4, 0 }, { 18, 24, 39, 5, 4, 0 }, - { 18, 24, 40, 5, 4, 0 }, { 18, 24, 41, 5, 4, 0 }, { 18, 25, 42, 6, 4, 0 }, { 18, 25, 43, 6, 4, 0 }, { 18, 25, 44, 6, 4, 0 }, - { 17, 26, 45, 6, 4, 0 }, { 17, 26, 46, 6, 4, 0 }, { 17, 26, 47, 6, 4, 0 }, { 17, 27, 48, 6, 4, 0 }, { 17, 27, 49, 6, 4, 0 }, - { 17, 27, 50, 6, 4, 0 }, { 17, 28, 51, 7, 4, 0 }, { 17, 28, 52, 7, 4, 0 }, { 17, 28, 53, 7, 4, 0 }, { 16, 29, 54, 7, 4, 0 }, - { 16, 29, 55, 7, 4, 0 }, { 16, 29, 56, 7, 4, 0 }, { 16, 30, 57, 8, 4, 0 }, { 16, 30, 58, 8, 4, 0 }, { 16, 30, 59, 8, 4, 0 }, - { 16, 31, 60, 8, 4, 0 }, { 16, 31, 61, 8, 4, 0 }, { 16, 31, 62, 8, 4, 0 }, { 16, 31, 63, 8, 4, 0 }, + 64, { + { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 30, 16, 3, 0, 4, 0 }, { 30, 16, 4, 0, 4, 0 }, + { 29, 16, 5, 1, 4, 0 }, { 29, 16, 6, 1, 4, 0 }, { 29, 16, 7, 1, 4, 0 }, { 28, 17, 8, 1, 4, 0 }, { 28, 17, 9, 1, 4, 0 }, + { 28, 17, 10, 1, 4, 0 }, { 27, 17, 11, 2, 4, 0 }, { 27, 17, 12, 2, 4, 0 }, { 27, 17, 13, 2, 4, 0 }, { 26, 17, 14, 2, 4, 0 }, + { 26, 17, 15, 2, 4, 0 }, { 26, 17, 16, 2, 4, 0 }, { 25, 18, 17, 2, 4, 0 }, { 25, 18, 18, 2, 4, 0 }, { 25, 18, 19, 2, 4, 0 }, + { 24, 18, 20, 3, 4, 0 }, { 24, 18, 21, 3, 4, 0 }, { 24, 18, 22, 3, 4, 0 }, { 23, 19, 23, 3, 4, 0 }, { 23, 19, 24, 3, 4, 0 }, + { 23, 19, 25, 3, 4, 0 }, { 22, 20, 26, 4, 4, 0 }, { 22, 20, 27, 4, 4, 0 }, { 22, 20, 28, 4, 4, 0 }, { 22, 20, 29, 4, 4, 0 }, + { 21, 21, 30, 4, 4, 0 }, { 21, 21, 31, 4, 4, 0 }, { 21, 21, 32, 4, 4, 0 }, { 20, 22, 33, 4, 4, 0 }, { 20, 22, 34, 4, 4, 0 }, + { 20, 22, 35, 4, 4, 0 }, { 19, 23, 36, 5, 4, 0 }, { 19, 23, 37, 5, 4, 0 }, { 19, 23, 38, 5, 4, 0 }, { 18, 24, 39, 5, 4, 0 }, + { 18, 24, 40, 5, 4, 0 }, { 18, 24, 41, 5, 4, 0 }, { 18, 25, 42, 6, 4, 0 }, { 18, 25, 43, 6, 4, 0 }, { 18, 25, 44, 6, 4, 0 }, + { 17, 26, 45, 6, 4, 0 }, { 17, 26, 46, 6, 4, 0 }, { 17, 26, 47, 6, 4, 0 }, { 17, 27, 48, 6, 4, 0 }, { 17, 27, 49, 6, 4, 0 }, + { 17, 27, 50, 6, 4, 0 }, { 17, 28, 51, 7, 4, 0 }, { 17, 28, 52, 7, 4, 0 }, { 17, 28, 53, 7, 4, 0 }, { 16, 29, 54, 7, 4, 0 }, + { 16, 29, 55, 7, 4, 0 }, { 16, 29, 56, 7, 4, 0 }, { 16, 30, 57, 8, 4, 0 }, { 16, 30, 58, 8, 4, 0 }, { 16, 30, 59, 8, 4, 0 }, + { 16, 31, 60, 8, 4, 0 }, { 16, 31, 61, 8, 4, 0 }, { 16, 31, 62, 8, 4, 0 }, { 16, 31, 63, 8, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E4B78 = { - 64, { - { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 1, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, - { 16, 2, 5, 8, 4, 0 }, { 16, 3, 6, 9, 4, 0 }, { 16, 3, 7, 9, 4, 0 }, { 17, 4, 8, 9, 4, 0 }, { 17, 4, 9, 9, 4, 0 }, - { 17, 4, 10, 9, 4, 0 }, { 17, 5, 11, 10, 4, 0 }, { 17, 5, 12, 10, 4, 0 }, { 17, 5, 13, 10, 4, 0 }, { 17, 6, 14, 10, 4, 0 }, - { 17, 6, 15, 10, 4, 0 }, { 17, 6, 16, 10, 4, 0 }, { 18, 7, 17, 10, 4, 0 }, { 18, 7, 18, 10, 4, 0 }, { 18, 7, 19, 10, 4, 0 }, - { 18, 8, 20, 11, 4, 0 }, { 18, 8, 21, 11, 4, 0 }, { 18, 8, 22, 11, 4, 0 }, { 18, 8, 23, 11, 4, 0 }, { 19, 9, 24, 11, 4, 0 }, - { 19, 9, 25, 11, 4, 0 }, { 19, 9, 26, 11, 4, 0 }, { 20, 10, 27, 12, 4, 0 }, { 20, 10, 28, 12, 4, 0 }, { 20, 10, 29, 12, 4, 0 }, - { 21, 11, 30, 12, 4, 0 }, { 21, 11, 31, 12, 4, 0 }, { 21, 11, 32, 12, 4, 0 }, { 22, 12, 33, 12, 4, 0 }, { 22, 12, 34, 12, 4, 0 }, - { 22, 12, 35, 12, 4, 0 }, { 23, 13, 36, 13, 4, 0 }, { 23, 13, 37, 13, 4, 0 }, { 23, 13, 38, 13, 4, 0 }, { 24, 14, 39, 13, 4, 0 }, - { 24, 14, 40, 13, 4, 0 }, { 24, 14, 41, 13, 4, 0 }, { 25, 14, 42, 14, 4, 0 }, { 25, 14, 43, 14, 4, 0 }, { 25, 14, 44, 14, 4, 0 }, - { 26, 15, 45, 14, 4, 0 }, { 26, 15, 46, 14, 4, 0 }, { 26, 15, 47, 14, 4, 0 }, { 27, 15, 48, 14, 4, 0 }, { 27, 15, 49, 14, 4, 0 }, - { 27, 15, 50, 14, 4, 0 }, { 28, 15, 51, 15, 4, 0 }, { 28, 15, 52, 15, 4, 0 }, { 28, 15, 53, 15, 4, 0 }, { 29, 16, 54, 15, 4, 0 }, - { 29, 16, 55, 15, 4, 0 }, { 29, 16, 56, 15, 4, 0 }, { 30, 16, 57, 16, 4, 0 }, { 30, 16, 58, 16, 4, 0 }, { 30, 16, 59, 16, 4, 0 }, - { 31, 16, 60, 16, 4, 0 }, { 31, 16, 61, 16, 4, 0 }, { 31, 16, 62, 16, 4, 0 }, { 31, 16, 63, 16, 4, 0 }, + 64, { + { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 1, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, + { 16, 2, 5, 8, 4, 0 }, { 16, 3, 6, 9, 4, 0 }, { 16, 3, 7, 9, 4, 0 }, { 17, 4, 8, 9, 4, 0 }, { 17, 4, 9, 9, 4, 0 }, + { 17, 4, 10, 9, 4, 0 }, { 17, 5, 11, 10, 4, 0 }, { 17, 5, 12, 10, 4, 0 }, { 17, 5, 13, 10, 4, 0 }, { 17, 6, 14, 10, 4, 0 }, + { 17, 6, 15, 10, 4, 0 }, { 17, 6, 16, 10, 4, 0 }, { 18, 7, 17, 10, 4, 0 }, { 18, 7, 18, 10, 4, 0 }, { 18, 7, 19, 10, 4, 0 }, + { 18, 8, 20, 11, 4, 0 }, { 18, 8, 21, 11, 4, 0 }, { 18, 8, 22, 11, 4, 0 }, { 18, 8, 23, 11, 4, 0 }, { 19, 9, 24, 11, 4, 0 }, + { 19, 9, 25, 11, 4, 0 }, { 19, 9, 26, 11, 4, 0 }, { 20, 10, 27, 12, 4, 0 }, { 20, 10, 28, 12, 4, 0 }, { 20, 10, 29, 12, 4, 0 }, + { 21, 11, 30, 12, 4, 0 }, { 21, 11, 31, 12, 4, 0 }, { 21, 11, 32, 12, 4, 0 }, { 22, 12, 33, 12, 4, 0 }, { 22, 12, 34, 12, 4, 0 }, + { 22, 12, 35, 12, 4, 0 }, { 23, 13, 36, 13, 4, 0 }, { 23, 13, 37, 13, 4, 0 }, { 23, 13, 38, 13, 4, 0 }, { 24, 14, 39, 13, 4, 0 }, + { 24, 14, 40, 13, 4, 0 }, { 24, 14, 41, 13, 4, 0 }, { 25, 14, 42, 14, 4, 0 }, { 25, 14, 43, 14, 4, 0 }, { 25, 14, 44, 14, 4, 0 }, + { 26, 15, 45, 14, 4, 0 }, { 26, 15, 46, 14, 4, 0 }, { 26, 15, 47, 14, 4, 0 }, { 27, 15, 48, 14, 4, 0 }, { 27, 15, 49, 14, 4, 0 }, + { 27, 15, 50, 14, 4, 0 }, { 28, 15, 51, 15, 4, 0 }, { 28, 15, 52, 15, 4, 0 }, { 28, 15, 53, 15, 4, 0 }, { 29, 16, 54, 15, 4, 0 }, + { 29, 16, 55, 15, 4, 0 }, { 29, 16, 56, 15, 4, 0 }, { 30, 16, 57, 16, 4, 0 }, { 30, 16, 58, 16, 4, 0 }, { 30, 16, 59, 16, 4, 0 }, + { 31, 16, 60, 16, 4, 0 }, { 31, 16, 61, 16, 4, 0 }, { 31, 16, 62, 16, 4, 0 }, { 31, 16, 63, 16, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E4DBA = { - 64, { - { 0, 16, 0, 16, 4, 0 }, { 1, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 1, 16, 3, 16, 4, 0 }, { 2, 16, 4, 16, 4, 0 }, - { 2, 16, 5, 16, 4, 0 }, { 2, 16, 6, 16, 4, 0 }, { 3, 16, 7, 17, 4, 0 }, { 3, 16, 8, 17, 4, 0 }, { 3, 16, 9, 17, 4, 0 }, - { 4, 15, 10, 17, 4, 0 }, { 4, 15, 11, 17, 4, 0 }, { 4, 15, 12, 17, 4, 0 }, { 5, 15, 13, 18, 4, 0 }, { 5, 15, 14, 18, 4, 0 }, - { 5, 15, 15, 18, 4, 0 }, { 6, 15, 16, 18, 4, 0 }, { 6, 15, 17, 18, 4, 0 }, { 7, 14, 18, 18, 4, 0 }, { 7, 14, 19, 18, 4, 0 }, - { 7, 14, 20, 18, 4, 0 }, { 8, 14, 21, 19, 4, 0 }, { 8, 14, 22, 19, 4, 0 }, { 8, 14, 23, 19, 4, 0 }, { 9, 13, 24, 19, 4, 0 }, - { 9, 13, 25, 19, 4, 0 }, { 9, 13, 26, 19, 4, 0 }, { 10, 12, 27, 20, 4, 0 }, { 10, 12, 28, 20, 4, 0 }, { 10, 12, 29, 20, 4, 0 }, - { 11, 11, 30, 20, 4, 0 }, { 11, 11, 31, 20, 4, 0 }, { 12, 10, 32, 20, 4, 0 }, { 12, 10, 33, 20, 4, 0 }, { 12, 10, 34, 20, 4, 0 }, - { 13, 9, 35, 21, 4, 0 }, { 13, 9, 36, 21, 4, 0 }, { 13, 9, 37, 21, 4, 0 }, { 14, 8, 38, 21, 4, 0 }, { 14, 8, 39, 21, 4, 0 }, - { 14, 8, 40, 21, 4, 0 }, { 14, 7, 41, 22, 4, 0 }, { 14, 7, 42, 22, 4, 0 }, { 14, 7, 43, 22, 4, 0 }, { 15, 6, 44, 22, 4, 0 }, - { 15, 6, 45, 22, 4, 0 }, { 15, 6, 46, 22, 4, 0 }, { 15, 5, 47, 22, 4, 0 }, { 15, 5, 48, 22, 4, 0 }, { 15, 4, 49, 23, 4, 0 }, - { 15, 4, 50, 23, 4, 0 }, { 15, 4, 51, 23, 4, 0 }, { 16, 3, 52, 23, 4, 0 }, { 16, 3, 53, 23, 4, 0 }, { 16, 3, 54, 23, 4, 0 }, - { 16, 2, 55, 24, 4, 0 }, { 16, 2, 56, 24, 4, 0 }, { 16, 2, 57, 24, 4, 0 }, { 16, 1, 58, 24, 4, 0 }, { 16, 1, 59, 24, 4, 0 }, - { 16, 1, 60, 24, 4, 0 }, { 16, 0, 61, 24, 4, 0 }, { 16, 0, 62, 24, 4, 0 }, { 16, 0, 63, 24, 4, 0 }, + 64, { + { 0, 16, 0, 16, 4, 0 }, { 1, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 1, 16, 3, 16, 4, 0 }, { 2, 16, 4, 16, 4, 0 }, + { 2, 16, 5, 16, 4, 0 }, { 2, 16, 6, 16, 4, 0 }, { 3, 16, 7, 17, 4, 0 }, { 3, 16, 8, 17, 4, 0 }, { 3, 16, 9, 17, 4, 0 }, + { 4, 15, 10, 17, 4, 0 }, { 4, 15, 11, 17, 4, 0 }, { 4, 15, 12, 17, 4, 0 }, { 5, 15, 13, 18, 4, 0 }, { 5, 15, 14, 18, 4, 0 }, + { 5, 15, 15, 18, 4, 0 }, { 6, 15, 16, 18, 4, 0 }, { 6, 15, 17, 18, 4, 0 }, { 7, 14, 18, 18, 4, 0 }, { 7, 14, 19, 18, 4, 0 }, + { 7, 14, 20, 18, 4, 0 }, { 8, 14, 21, 19, 4, 0 }, { 8, 14, 22, 19, 4, 0 }, { 8, 14, 23, 19, 4, 0 }, { 9, 13, 24, 19, 4, 0 }, + { 9, 13, 25, 19, 4, 0 }, { 9, 13, 26, 19, 4, 0 }, { 10, 12, 27, 20, 4, 0 }, { 10, 12, 28, 20, 4, 0 }, { 10, 12, 29, 20, 4, 0 }, + { 11, 11, 30, 20, 4, 0 }, { 11, 11, 31, 20, 4, 0 }, { 12, 10, 32, 20, 4, 0 }, { 12, 10, 33, 20, 4, 0 }, { 12, 10, 34, 20, 4, 0 }, + { 13, 9, 35, 21, 4, 0 }, { 13, 9, 36, 21, 4, 0 }, { 13, 9, 37, 21, 4, 0 }, { 14, 8, 38, 21, 4, 0 }, { 14, 8, 39, 21, 4, 0 }, + { 14, 8, 40, 21, 4, 0 }, { 14, 7, 41, 22, 4, 0 }, { 14, 7, 42, 22, 4, 0 }, { 14, 7, 43, 22, 4, 0 }, { 15, 6, 44, 22, 4, 0 }, + { 15, 6, 45, 22, 4, 0 }, { 15, 6, 46, 22, 4, 0 }, { 15, 5, 47, 22, 4, 0 }, { 15, 5, 48, 22, 4, 0 }, { 15, 4, 49, 23, 4, 0 }, + { 15, 4, 50, 23, 4, 0 }, { 15, 4, 51, 23, 4, 0 }, { 16, 3, 52, 23, 4, 0 }, { 16, 3, 53, 23, 4, 0 }, { 16, 3, 54, 23, 4, 0 }, + { 16, 2, 55, 24, 4, 0 }, { 16, 2, 56, 24, 4, 0 }, { 16, 2, 57, 24, 4, 0 }, { 16, 1, 58, 24, 4, 0 }, { 16, 1, 59, 24, 4, 0 }, + { 16, 1, 60, 24, 4, 0 }, { 16, 0, 61, 24, 4, 0 }, { 16, 0, 62, 24, 4, 0 }, { 16, 0, 63, 24, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E4FFC = { - 64, { - { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 30, 3, 24, 4, 0 }, { 16, 29, 4, 25, 4, 0 }, - { 16, 29, 5, 25, 4, 0 }, { 15, 28, 6, 25, 4, 0 }, { 15, 28, 7, 25, 4, 0 }, { 15, 28, 8, 25, 4, 0 }, { 15, 27, 9, 26, 4, 0 }, - { 15, 27, 10, 26, 4, 0 }, { 15, 27, 11, 26, 4, 0 }, { 15, 26, 12, 26, 4, 0 }, { 15, 26, 13, 26, 4, 0 }, { 15, 26, 14, 26, 4, 0 }, - { 14, 25, 15, 26, 4, 0 }, { 14, 25, 16, 26, 4, 0 }, { 14, 25, 17, 26, 4, 0 }, { 14, 24, 18, 27, 4, 0 }, { 14, 24, 19, 27, 4, 0 }, - { 14, 24, 20, 27, 4, 0 }, { 13, 23, 21, 27, 4, 0 }, { 13, 23, 22, 27, 4, 0 }, { 13, 23, 23, 27, 4, 0 }, { 12, 22, 24, 28, 4, 0 }, - { 12, 22, 25, 28, 4, 0 }, { 12, 22, 26, 28, 4, 0 }, { 11, 21, 27, 28, 4, 0 }, { 11, 21, 28, 28, 4, 0 }, { 11, 21, 29, 28, 4, 0 }, - { 10, 20, 30, 28, 4, 0 }, { 10, 20, 31, 28, 4, 0 }, { 10, 20, 32, 28, 4, 0 }, { 9, 19, 33, 29, 4, 0 }, { 9, 19, 34, 29, 4, 0 }, - { 9, 19, 35, 29, 4, 0 }, { 8, 18, 36, 29, 4, 0 }, { 8, 18, 37, 29, 4, 0 }, { 8, 18, 38, 29, 4, 0 }, { 7, 18, 39, 30, 4, 0 }, - { 7, 18, 40, 30, 4, 0 }, { 7, 18, 41, 30, 4, 0 }, { 6, 17, 42, 30, 4, 0 }, { 6, 17, 43, 30, 4, 0 }, { 6, 17, 44, 30, 4, 0 }, - { 5, 17, 45, 30, 4, 0 }, { 5, 17, 46, 30, 4, 0 }, { 5, 17, 47, 30, 4, 0 }, { 4, 17, 48, 31, 4, 0 }, { 4, 17, 49, 31, 4, 0 }, - { 4, 17, 50, 31, 4, 0 }, { 3, 16, 51, 31, 4, 0 }, { 3, 16, 52, 31, 4, 0 }, { 3, 16, 53, 31, 4, 0 }, { 2, 16, 54, 0, 4, 0 }, - { 2, 16, 55, 0, 4, 0 }, { 2, 16, 56, 0, 4, 0 }, { 1, 16, 57, 0, 4, 0 }, { 1, 16, 58, 0, 4, 0 }, { 1, 16, 59, 0, 4, 0 }, - { 0, 16, 60, 0, 4, 0 }, { 0, 16, 61, 0, 4, 0 }, { 0, 16, 62, 0, 4, 0 }, { 0, 16, 63, 0, 4, 0 }, + 64, { + { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 30, 3, 24, 4, 0 }, { 16, 29, 4, 25, 4, 0 }, + { 16, 29, 5, 25, 4, 0 }, { 15, 28, 6, 25, 4, 0 }, { 15, 28, 7, 25, 4, 0 }, { 15, 28, 8, 25, 4, 0 }, { 15, 27, 9, 26, 4, 0 }, + { 15, 27, 10, 26, 4, 0 }, { 15, 27, 11, 26, 4, 0 }, { 15, 26, 12, 26, 4, 0 }, { 15, 26, 13, 26, 4, 0 }, { 15, 26, 14, 26, 4, 0 }, + { 14, 25, 15, 26, 4, 0 }, { 14, 25, 16, 26, 4, 0 }, { 14, 25, 17, 26, 4, 0 }, { 14, 24, 18, 27, 4, 0 }, { 14, 24, 19, 27, 4, 0 }, + { 14, 24, 20, 27, 4, 0 }, { 13, 23, 21, 27, 4, 0 }, { 13, 23, 22, 27, 4, 0 }, { 13, 23, 23, 27, 4, 0 }, { 12, 22, 24, 28, 4, 0 }, + { 12, 22, 25, 28, 4, 0 }, { 12, 22, 26, 28, 4, 0 }, { 11, 21, 27, 28, 4, 0 }, { 11, 21, 28, 28, 4, 0 }, { 11, 21, 29, 28, 4, 0 }, + { 10, 20, 30, 28, 4, 0 }, { 10, 20, 31, 28, 4, 0 }, { 10, 20, 32, 28, 4, 0 }, { 9, 19, 33, 29, 4, 0 }, { 9, 19, 34, 29, 4, 0 }, + { 9, 19, 35, 29, 4, 0 }, { 8, 18, 36, 29, 4, 0 }, { 8, 18, 37, 29, 4, 0 }, { 8, 18, 38, 29, 4, 0 }, { 7, 18, 39, 30, 4, 0 }, + { 7, 18, 40, 30, 4, 0 }, { 7, 18, 41, 30, 4, 0 }, { 6, 17, 42, 30, 4, 0 }, { 6, 17, 43, 30, 4, 0 }, { 6, 17, 44, 30, 4, 0 }, + { 5, 17, 45, 30, 4, 0 }, { 5, 17, 46, 30, 4, 0 }, { 5, 17, 47, 30, 4, 0 }, { 4, 17, 48, 31, 4, 0 }, { 4, 17, 49, 31, 4, 0 }, + { 4, 17, 50, 31, 4, 0 }, { 3, 16, 51, 31, 4, 0 }, { 3, 16, 52, 31, 4, 0 }, { 3, 16, 53, 31, 4, 0 }, { 2, 16, 54, 0, 4, 0 }, + { 2, 16, 55, 0, 4, 0 }, { 2, 16, 56, 0, 4, 0 }, { 1, 16, 57, 0, 4, 0 }, { 1, 16, 58, 0, 4, 0 }, { 1, 16, 59, 0, 4, 0 }, + { 0, 16, 60, 0, 4, 0 }, { 0, 16, 61, 0, 4, 0 }, { 0, 16, 62, 0, 4, 0 }, { 0, 16, 63, 0, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E523E = { - 64, { - { 31, 16, 63, 0, 8, 0 }, { 31, 16, 62, 0, 8, 0 }, { 30, 16, 61, 0, 8, 0 }, { 30, 16, 60, 0, 8, 0 }, { 30, 16, 59, 0, 8, 0 }, - { 29, 16, 58, 31, 8, 0 }, { 29, 16, 57, 31, 8, 0 }, { 28, 15, 56, 31, 8, 0 }, { 28, 15, 55, 31, 8, 0 }, { 28, 15, 54, 31, 8, 0 }, - { 27, 15, 53, 30, 8, 0 }, { 27, 15, 52, 30, 8, 0 }, { 27, 15, 51, 30, 8, 0 }, { 26, 15, 50, 30, 8, 0 }, { 26, 15, 49, 30, 8, 0 }, - { 26, 15, 48, 30, 8, 0 }, { 25, 14, 47, 30, 8, 0 }, { 25, 14, 46, 30, 8, 0 }, { 25, 14, 45, 30, 8, 0 }, { 24, 14, 44, 29, 8, 0 }, - { 24, 14, 43, 29, 8, 0 }, { 24, 14, 42, 29, 8, 0 }, { 23, 13, 41, 29, 8, 0 }, { 23, 13, 40, 29, 8, 0 }, { 23, 13, 39, 29, 8, 0 }, - { 22, 12, 38, 28, 8, 0 }, { 22, 12, 37, 28, 8, 0 }, { 22, 12, 36, 28, 8, 0 }, { 21, 11, 35, 28, 8, 0 }, { 21, 11, 34, 28, 8, 0 }, - { 21, 11, 33, 28, 8, 0 }, { 20, 10, 32, 28, 8, 0 }, { 20, 10, 31, 28, 8, 0 }, { 20, 10, 30, 28, 8, 0 }, { 19, 9, 29, 27, 8, 0 }, - { 19, 9, 28, 27, 8, 0 }, { 19, 9, 27, 27, 8, 0 }, { 18, 8, 26, 27, 8, 0 }, { 18, 8, 25, 27, 8, 0 }, { 18, 8, 24, 27, 8, 0 }, - { 18, 7, 23, 26, 8, 0 }, { 18, 7, 22, 26, 8, 0 }, { 18, 7, 21, 26, 8, 0 }, { 17, 6, 20, 26, 8, 0 }, { 17, 6, 19, 26, 8, 0 }, - { 17, 6, 18, 26, 8, 0 }, { 17, 5, 17, 26, 8, 0 }, { 17, 5, 16, 26, 8, 0 }, { 17, 5, 15, 26, 8, 0 }, { 17, 4, 14, 25, 8, 0 }, - { 17, 4, 13, 25, 8, 0 }, { 17, 4, 12, 25, 8, 0 }, { 16, 3, 11, 25, 8, 0 }, { 16, 3, 10, 25, 8, 0 }, { 16, 3, 9, 25, 8, 0 }, - { 16, 2, 8, 24, 8, 0 }, { 16, 2, 7, 24, 8, 0 }, { 16, 2, 6, 24, 8, 0 }, { 16, 1, 5, 24, 8, 0 }, { 16, 1, 4, 24, 8, 0 }, - { 16, 1, 3, 24, 8, 0 }, { 16, 0, 2, 24, 8, 0 }, { 16, 0, 1, 24, 8, 0 }, { 16, 0, 0, 24, 8, 0 }, + 64, { + { 31, 16, 63, 0, 8, 0 }, { 31, 16, 62, 0, 8, 0 }, { 30, 16, 61, 0, 8, 0 }, { 30, 16, 60, 0, 8, 0 }, { 30, 16, 59, 0, 8, 0 }, + { 29, 16, 58, 31, 8, 0 }, { 29, 16, 57, 31, 8, 0 }, { 28, 15, 56, 31, 8, 0 }, { 28, 15, 55, 31, 8, 0 }, { 28, 15, 54, 31, 8, 0 }, + { 27, 15, 53, 30, 8, 0 }, { 27, 15, 52, 30, 8, 0 }, { 27, 15, 51, 30, 8, 0 }, { 26, 15, 50, 30, 8, 0 }, { 26, 15, 49, 30, 8, 0 }, + { 26, 15, 48, 30, 8, 0 }, { 25, 14, 47, 30, 8, 0 }, { 25, 14, 46, 30, 8, 0 }, { 25, 14, 45, 30, 8, 0 }, { 24, 14, 44, 29, 8, 0 }, + { 24, 14, 43, 29, 8, 0 }, { 24, 14, 42, 29, 8, 0 }, { 23, 13, 41, 29, 8, 0 }, { 23, 13, 40, 29, 8, 0 }, { 23, 13, 39, 29, 8, 0 }, + { 22, 12, 38, 28, 8, 0 }, { 22, 12, 37, 28, 8, 0 }, { 22, 12, 36, 28, 8, 0 }, { 21, 11, 35, 28, 8, 0 }, { 21, 11, 34, 28, 8, 0 }, + { 21, 11, 33, 28, 8, 0 }, { 20, 10, 32, 28, 8, 0 }, { 20, 10, 31, 28, 8, 0 }, { 20, 10, 30, 28, 8, 0 }, { 19, 9, 29, 27, 8, 0 }, + { 19, 9, 28, 27, 8, 0 }, { 19, 9, 27, 27, 8, 0 }, { 18, 8, 26, 27, 8, 0 }, { 18, 8, 25, 27, 8, 0 }, { 18, 8, 24, 27, 8, 0 }, + { 18, 7, 23, 26, 8, 0 }, { 18, 7, 22, 26, 8, 0 }, { 18, 7, 21, 26, 8, 0 }, { 17, 6, 20, 26, 8, 0 }, { 17, 6, 19, 26, 8, 0 }, + { 17, 6, 18, 26, 8, 0 }, { 17, 5, 17, 26, 8, 0 }, { 17, 5, 16, 26, 8, 0 }, { 17, 5, 15, 26, 8, 0 }, { 17, 4, 14, 25, 8, 0 }, + { 17, 4, 13, 25, 8, 0 }, { 17, 4, 12, 25, 8, 0 }, { 16, 3, 11, 25, 8, 0 }, { 16, 3, 10, 25, 8, 0 }, { 16, 3, 9, 25, 8, 0 }, + { 16, 2, 8, 24, 8, 0 }, { 16, 2, 7, 24, 8, 0 }, { 16, 2, 6, 24, 8, 0 }, { 16, 1, 5, 24, 8, 0 }, { 16, 1, 4, 24, 8, 0 }, + { 16, 1, 3, 24, 8, 0 }, { 16, 0, 2, 24, 8, 0 }, { 16, 0, 1, 24, 8, 0 }, { 16, 0, 0, 24, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E5480 = { - 64, { - { 16, 0, 63, 8, 8, 0 }, { 16, 0, 62, 8, 8, 0 }, { 16, 1, 61, 8, 8, 0 }, { 16, 1, 60, 8, 8, 0 }, { 16, 2, 59, 8, 8, 0 }, - { 16, 2, 58, 8, 8, 0 }, { 16, 3, 57, 7, 8, 0 }, { 16, 3, 56, 7, 8, 0 }, { 15, 4, 55, 7, 8, 0 }, { 15, 4, 54, 7, 8, 0 }, - { 15, 4, 53, 7, 8, 0 }, { 15, 5, 52, 6, 8, 0 }, { 15, 5, 51, 6, 8, 0 }, { 15, 5, 50, 6, 8, 0 }, { 15, 6, 49, 6, 8, 0 }, - { 15, 6, 48, 6, 8, 0 }, { 15, 6, 47, 6, 8, 0 }, { 14, 7, 46, 6, 8, 0 }, { 14, 7, 45, 6, 8, 0 }, { 14, 7, 44, 6, 8, 0 }, - { 14, 8, 43, 5, 8, 0 }, { 14, 8, 42, 5, 8, 0 }, { 13, 9, 41, 5, 8, 0 }, { 13, 9, 40, 5, 8, 0 }, { 13, 9, 39, 5, 8, 0 }, - { 12, 10, 38, 4, 8, 0 }, { 12, 10, 37, 4, 8, 0 }, { 12, 10, 36, 4, 8, 0 }, { 11, 11, 35, 4, 8, 0 }, { 11, 11, 34, 4, 8, 0 }, - { 11, 11, 33, 4, 8, 0 }, { 10, 12, 32, 4, 8, 0 }, { 10, 12, 31, 4, 8, 0 }, { 10, 12, 30, 4, 8, 0 }, { 9, 13, 29, 3, 8, 0 }, - { 9, 13, 28, 3, 8, 0 }, { 9, 13, 27, 3, 8, 0 }, { 8, 14, 26, 3, 8, 0 }, { 8, 14, 25, 3, 8, 0 }, { 8, 14, 24, 3, 8, 0 }, - { 7, 14, 23, 2, 8, 0 }, { 7, 14, 22, 2, 8, 0 }, { 7, 14, 21, 2, 8, 0 }, { 6, 15, 20, 2, 8, 0 }, { 6, 15, 19, 2, 8, 0 }, - { 6, 15, 18, 2, 8, 0 }, { 5, 15, 17, 2, 8, 0 }, { 5, 15, 16, 2, 8, 0 }, { 5, 15, 15, 2, 8, 0 }, { 4, 15, 14, 1, 8, 0 }, - { 4, 15, 13, 1, 8, 0 }, { 4, 15, 12, 1, 8, 0 }, { 3, 16, 11, 1, 8, 0 }, { 3, 16, 10, 1, 8, 0 }, { 3, 16, 9, 1, 8, 0 }, - { 2, 16, 8, 0, 8, 0 }, { 2, 16, 7, 0, 8, 0 }, { 2, 16, 6, 0, 8, 0 }, { 1, 16, 5, 0, 8, 0 }, { 1, 16, 4, 0, 8, 0 }, - { 1, 16, 3, 0, 8, 0 }, { 0, 16, 2, 0, 8, 0 }, { 0, 16, 1, 0, 8, 0 }, { 0, 16, 0, 0, 8, 0 }, + 64, { + { 16, 0, 63, 8, 8, 0 }, { 16, 0, 62, 8, 8, 0 }, { 16, 1, 61, 8, 8, 0 }, { 16, 1, 60, 8, 8, 0 }, { 16, 2, 59, 8, 8, 0 }, + { 16, 2, 58, 8, 8, 0 }, { 16, 3, 57, 7, 8, 0 }, { 16, 3, 56, 7, 8, 0 }, { 15, 4, 55, 7, 8, 0 }, { 15, 4, 54, 7, 8, 0 }, + { 15, 4, 53, 7, 8, 0 }, { 15, 5, 52, 6, 8, 0 }, { 15, 5, 51, 6, 8, 0 }, { 15, 5, 50, 6, 8, 0 }, { 15, 6, 49, 6, 8, 0 }, + { 15, 6, 48, 6, 8, 0 }, { 15, 6, 47, 6, 8, 0 }, { 14, 7, 46, 6, 8, 0 }, { 14, 7, 45, 6, 8, 0 }, { 14, 7, 44, 6, 8, 0 }, + { 14, 8, 43, 5, 8, 0 }, { 14, 8, 42, 5, 8, 0 }, { 13, 9, 41, 5, 8, 0 }, { 13, 9, 40, 5, 8, 0 }, { 13, 9, 39, 5, 8, 0 }, + { 12, 10, 38, 4, 8, 0 }, { 12, 10, 37, 4, 8, 0 }, { 12, 10, 36, 4, 8, 0 }, { 11, 11, 35, 4, 8, 0 }, { 11, 11, 34, 4, 8, 0 }, + { 11, 11, 33, 4, 8, 0 }, { 10, 12, 32, 4, 8, 0 }, { 10, 12, 31, 4, 8, 0 }, { 10, 12, 30, 4, 8, 0 }, { 9, 13, 29, 3, 8, 0 }, + { 9, 13, 28, 3, 8, 0 }, { 9, 13, 27, 3, 8, 0 }, { 8, 14, 26, 3, 8, 0 }, { 8, 14, 25, 3, 8, 0 }, { 8, 14, 24, 3, 8, 0 }, + { 7, 14, 23, 2, 8, 0 }, { 7, 14, 22, 2, 8, 0 }, { 7, 14, 21, 2, 8, 0 }, { 6, 15, 20, 2, 8, 0 }, { 6, 15, 19, 2, 8, 0 }, + { 6, 15, 18, 2, 8, 0 }, { 5, 15, 17, 2, 8, 0 }, { 5, 15, 16, 2, 8, 0 }, { 5, 15, 15, 2, 8, 0 }, { 4, 15, 14, 1, 8, 0 }, + { 4, 15, 13, 1, 8, 0 }, { 4, 15, 12, 1, 8, 0 }, { 3, 16, 11, 1, 8, 0 }, { 3, 16, 10, 1, 8, 0 }, { 3, 16, 9, 1, 8, 0 }, + { 2, 16, 8, 0, 8, 0 }, { 2, 16, 7, 0, 8, 0 }, { 2, 16, 6, 0, 8, 0 }, { 1, 16, 5, 0, 8, 0 }, { 1, 16, 4, 0, 8, 0 }, + { 1, 16, 3, 0, 8, 0 }, { 0, 16, 2, 0, 8, 0 }, { 0, 16, 1, 0, 8, 0 }, { 0, 16, 0, 0, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E56C2 = { - 64, { - { 0, 16, 63, 16, 8, 0 }, { 0, 16, 62, 16, 8, 0 }, { 1, 16, 61, 16, 8, 0 }, { 1, 16, 60, 16, 8, 0 }, { 1, 16, 59, 16, 8, 0 }, - { 2, 16, 58, 16, 8, 0 }, { 2, 16, 57, 16, 8, 0 }, { 3, 16, 56, 15, 8, 0 }, { 3, 16, 55, 15, 8, 0 }, { 3, 16, 54, 15, 8, 0 }, - { 4, 17, 53, 15, 8, 0 }, { 4, 17, 52, 15, 8, 0 }, { 4, 17, 51, 15, 8, 0 }, { 5, 17, 50, 14, 8, 0 }, { 5, 17, 49, 14, 8, 0 }, - { 5, 17, 48, 14, 8, 0 }, { 6, 17, 47, 14, 8, 0 }, { 6, 17, 46, 14, 8, 0 }, { 6, 17, 45, 14, 8, 0 }, { 7, 18, 44, 14, 8, 0 }, - { 7, 18, 43, 14, 8, 0 }, { 7, 18, 42, 14, 8, 0 }, { 8, 18, 41, 13, 8, 0 }, { 8, 18, 40, 13, 8, 0 }, { 8, 18, 39, 13, 8, 0 }, - { 9, 19, 38, 13, 8, 0 }, { 9, 19, 37, 13, 8, 0 }, { 9, 19, 36, 13, 8, 0 }, { 10, 20, 35, 12, 8, 0 }, { 10, 20, 34, 12, 8, 0 }, - { 10, 20, 33, 12, 8, 0 }, { 11, 21, 32, 12, 8, 0 }, { 11, 21, 31, 12, 8, 0 }, { 11, 21, 30, 12, 8, 0 }, { 12, 22, 29, 12, 8, 0 }, - { 12, 22, 28, 12, 8, 0 }, { 12, 22, 27, 12, 8, 0 }, { 13, 23, 26, 11, 8, 0 }, { 13, 23, 25, 11, 8, 0 }, { 13, 23, 24, 11, 8, 0 }, - { 14, 24, 23, 11, 8, 0 }, { 14, 24, 22, 11, 8, 0 }, { 14, 24, 21, 11, 8, 0 }, { 14, 25, 20, 10, 8, 0 }, { 14, 25, 19, 10, 8, 0 }, - { 14, 25, 18, 10, 8, 0 }, { 15, 26, 17, 10, 8, 0 }, { 15, 26, 16, 10, 8, 0 }, { 15, 26, 15, 10, 8, 0 }, { 15, 27, 14, 10, 8, 0 }, - { 15, 27, 13, 10, 8, 0 }, { 15, 27, 12, 10, 8, 0 }, { 15, 28, 11, 9, 8, 0 }, { 15, 28, 10, 9, 8, 0 }, { 15, 28, 9, 9, 8, 0 }, - { 16, 29, 8, 9, 8, 0 }, { 16, 29, 7, 9, 8, 0 }, { 16, 29, 6, 9, 8, 0 }, { 16, 30, 5, 8, 8, 0 }, { 16, 30, 4, 8, 8, 0 }, - { 16, 30, 3, 8, 8, 0 }, { 16, 31, 2, 8, 8, 0 }, { 16, 31, 1, 8, 8, 0 }, { 16, 31, 0, 8, 8, 0 }, + 64, { + { 0, 16, 63, 16, 8, 0 }, { 0, 16, 62, 16, 8, 0 }, { 1, 16, 61, 16, 8, 0 }, { 1, 16, 60, 16, 8, 0 }, { 1, 16, 59, 16, 8, 0 }, + { 2, 16, 58, 16, 8, 0 }, { 2, 16, 57, 16, 8, 0 }, { 3, 16, 56, 15, 8, 0 }, { 3, 16, 55, 15, 8, 0 }, { 3, 16, 54, 15, 8, 0 }, + { 4, 17, 53, 15, 8, 0 }, { 4, 17, 52, 15, 8, 0 }, { 4, 17, 51, 15, 8, 0 }, { 5, 17, 50, 14, 8, 0 }, { 5, 17, 49, 14, 8, 0 }, + { 5, 17, 48, 14, 8, 0 }, { 6, 17, 47, 14, 8, 0 }, { 6, 17, 46, 14, 8, 0 }, { 6, 17, 45, 14, 8, 0 }, { 7, 18, 44, 14, 8, 0 }, + { 7, 18, 43, 14, 8, 0 }, { 7, 18, 42, 14, 8, 0 }, { 8, 18, 41, 13, 8, 0 }, { 8, 18, 40, 13, 8, 0 }, { 8, 18, 39, 13, 8, 0 }, + { 9, 19, 38, 13, 8, 0 }, { 9, 19, 37, 13, 8, 0 }, { 9, 19, 36, 13, 8, 0 }, { 10, 20, 35, 12, 8, 0 }, { 10, 20, 34, 12, 8, 0 }, + { 10, 20, 33, 12, 8, 0 }, { 11, 21, 32, 12, 8, 0 }, { 11, 21, 31, 12, 8, 0 }, { 11, 21, 30, 12, 8, 0 }, { 12, 22, 29, 12, 8, 0 }, + { 12, 22, 28, 12, 8, 0 }, { 12, 22, 27, 12, 8, 0 }, { 13, 23, 26, 11, 8, 0 }, { 13, 23, 25, 11, 8, 0 }, { 13, 23, 24, 11, 8, 0 }, + { 14, 24, 23, 11, 8, 0 }, { 14, 24, 22, 11, 8, 0 }, { 14, 24, 21, 11, 8, 0 }, { 14, 25, 20, 10, 8, 0 }, { 14, 25, 19, 10, 8, 0 }, + { 14, 25, 18, 10, 8, 0 }, { 15, 26, 17, 10, 8, 0 }, { 15, 26, 16, 10, 8, 0 }, { 15, 26, 15, 10, 8, 0 }, { 15, 27, 14, 10, 8, 0 }, + { 15, 27, 13, 10, 8, 0 }, { 15, 27, 12, 10, 8, 0 }, { 15, 28, 11, 9, 8, 0 }, { 15, 28, 10, 9, 8, 0 }, { 15, 28, 9, 9, 8, 0 }, + { 16, 29, 8, 9, 8, 0 }, { 16, 29, 7, 9, 8, 0 }, { 16, 29, 6, 9, 8, 0 }, { 16, 30, 5, 8, 8, 0 }, { 16, 30, 4, 8, 8, 0 }, + { 16, 30, 3, 8, 8, 0 }, { 16, 31, 2, 8, 8, 0 }, { 16, 31, 1, 8, 8, 0 }, { 16, 31, 0, 8, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E5904 = { - 64, { - { 16, 31, 63, 24, 8, 0 }, { 16, 31, 62, 24, 8, 0 }, { 16, 30, 61, 24, 8, 0 }, { 16, 30, 60, 24, 8, 0 }, { 16, 29, 59, 23, 8, 0 }, - { 16, 29, 58, 23, 8, 0 }, { 17, 28, 57, 23, 8, 0 }, { 17, 28, 56, 23, 8, 0 }, { 17, 28, 55, 23, 8, 0 }, { 17, 27, 54, 22, 8, 0 }, - { 17, 27, 53, 22, 8, 0 }, { 17, 27, 52, 22, 8, 0 }, { 17, 27, 51, 22, 8, 0 }, { 17, 26, 50, 22, 8, 0 }, { 17, 26, 49, 22, 8, 0 }, - { 17, 26, 48, 22, 8, 0 }, { 18, 25, 47, 22, 8, 0 }, { 18, 25, 46, 22, 8, 0 }, { 18, 25, 45, 22, 8, 0 }, { 18, 24, 44, 21, 8, 0 }, - { 18, 24, 43, 21, 8, 0 }, { 18, 24, 42, 21, 8, 0 }, { 19, 23, 41, 21, 8, 0 }, { 19, 23, 40, 21, 8, 0 }, { 19, 23, 39, 21, 8, 0 }, - { 20, 22, 38, 20, 8, 0 }, { 20, 22, 37, 20, 8, 0 }, { 20, 22, 36, 20, 8, 0 }, { 20, 22, 35, 20, 8, 0 }, { 21, 21, 34, 20, 8, 0 }, - { 21, 21, 33, 20, 8, 0 }, { 21, 21, 32, 20, 8, 0 }, { 22, 20, 31, 20, 8, 0 }, { 22, 20, 30, 20, 8, 0 }, { 22, 20, 29, 20, 8, 0 }, - { 23, 19, 28, 19, 8, 0 }, { 23, 19, 27, 19, 8, 0 }, { 23, 19, 26, 19, 8, 0 }, { 24, 18, 25, 19, 8, 0 }, { 24, 18, 24, 19, 8, 0 }, - { 24, 18, 23, 19, 8, 0 }, { 25, 18, 22, 18, 8, 0 }, { 25, 18, 21, 18, 8, 0 }, { 25, 18, 20, 18, 8, 0 }, { 26, 17, 19, 18, 8, 0 }, - { 26, 17, 18, 18, 8, 0 }, { 26, 17, 17, 18, 8, 0 }, { 26, 17, 16, 18, 8, 0 }, { 27, 17, 15, 18, 8, 0 }, { 27, 17, 14, 18, 8, 0 }, - { 27, 17, 13, 18, 8, 0 }, { 28, 17, 12, 17, 8, 0 }, { 28, 17, 11, 17, 8, 0 }, { 28, 17, 10, 17, 8, 0 }, { 29, 16, 9, 17, 8, 0 }, - { 29, 16, 8, 17, 8, 0 }, { 29, 16, 7, 17, 8, 0 }, { 30, 16, 6, 16, 8, 0 }, { 30, 16, 5, 16, 8, 0 }, { 30, 16, 4, 16, 8, 0 }, - { 31, 16, 3, 16, 8, 0 }, { 31, 16, 2, 16, 8, 0 }, { 31, 16, 1, 16, 8, 0 }, { 31, 16, 0, 16, 8, 0 }, + 64, { + { 16, 31, 63, 24, 8, 0 }, { 16, 31, 62, 24, 8, 0 }, { 16, 30, 61, 24, 8, 0 }, { 16, 30, 60, 24, 8, 0 }, { 16, 29, 59, 23, 8, 0 }, + { 16, 29, 58, 23, 8, 0 }, { 17, 28, 57, 23, 8, 0 }, { 17, 28, 56, 23, 8, 0 }, { 17, 28, 55, 23, 8, 0 }, { 17, 27, 54, 22, 8, 0 }, + { 17, 27, 53, 22, 8, 0 }, { 17, 27, 52, 22, 8, 0 }, { 17, 27, 51, 22, 8, 0 }, { 17, 26, 50, 22, 8, 0 }, { 17, 26, 49, 22, 8, 0 }, + { 17, 26, 48, 22, 8, 0 }, { 18, 25, 47, 22, 8, 0 }, { 18, 25, 46, 22, 8, 0 }, { 18, 25, 45, 22, 8, 0 }, { 18, 24, 44, 21, 8, 0 }, + { 18, 24, 43, 21, 8, 0 }, { 18, 24, 42, 21, 8, 0 }, { 19, 23, 41, 21, 8, 0 }, { 19, 23, 40, 21, 8, 0 }, { 19, 23, 39, 21, 8, 0 }, + { 20, 22, 38, 20, 8, 0 }, { 20, 22, 37, 20, 8, 0 }, { 20, 22, 36, 20, 8, 0 }, { 20, 22, 35, 20, 8, 0 }, { 21, 21, 34, 20, 8, 0 }, + { 21, 21, 33, 20, 8, 0 }, { 21, 21, 32, 20, 8, 0 }, { 22, 20, 31, 20, 8, 0 }, { 22, 20, 30, 20, 8, 0 }, { 22, 20, 29, 20, 8, 0 }, + { 23, 19, 28, 19, 8, 0 }, { 23, 19, 27, 19, 8, 0 }, { 23, 19, 26, 19, 8, 0 }, { 24, 18, 25, 19, 8, 0 }, { 24, 18, 24, 19, 8, 0 }, + { 24, 18, 23, 19, 8, 0 }, { 25, 18, 22, 18, 8, 0 }, { 25, 18, 21, 18, 8, 0 }, { 25, 18, 20, 18, 8, 0 }, { 26, 17, 19, 18, 8, 0 }, + { 26, 17, 18, 18, 8, 0 }, { 26, 17, 17, 18, 8, 0 }, { 26, 17, 16, 18, 8, 0 }, { 27, 17, 15, 18, 8, 0 }, { 27, 17, 14, 18, 8, 0 }, + { 27, 17, 13, 18, 8, 0 }, { 28, 17, 12, 17, 8, 0 }, { 28, 17, 11, 17, 8, 0 }, { 28, 17, 10, 17, 8, 0 }, { 29, 16, 9, 17, 8, 0 }, + { 29, 16, 8, 17, 8, 0 }, { 29, 16, 7, 17, 8, 0 }, { 30, 16, 6, 16, 8, 0 }, { 30, 16, 5, 16, 8, 0 }, { 30, 16, 4, 16, 8, 0 }, + { 31, 16, 3, 16, 8, 0 }, { 31, 16, 2, 16, 8, 0 }, { 31, 16, 1, 16, 8, 0 }, { 31, 16, 0, 16, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E5B46 = { - 64, { - { 31, 16, 63, 0, 8, 0 }, { 31, 16, 62, 0, 8, 0 }, { 30, 16, 61, 0, 8, 0 }, { 30, 16, 60, 0, 8, 0 }, { 30, 16, 59, 0, 8, 0 }, - { 29, 16, 58, 1, 8, 0 }, { 29, 16, 57, 1, 8, 0 }, { 29, 16, 56, 1, 8, 0 }, { 28, 17, 55, 1, 8, 0 }, { 28, 17, 54, 1, 8, 0 }, - { 28, 17, 53, 1, 8, 0 }, { 27, 17, 52, 2, 8, 0 }, { 27, 17, 51, 2, 8, 0 }, { 27, 17, 50, 2, 8, 0 }, { 26, 17, 49, 2, 8, 0 }, - { 26, 17, 48, 2, 8, 0 }, { 26, 17, 47, 2, 8, 0 }, { 25, 18, 46, 2, 8, 0 }, { 25, 18, 45, 2, 8, 0 }, { 25, 18, 44, 2, 8, 0 }, - { 24, 18, 43, 3, 8, 0 }, { 24, 18, 42, 3, 8, 0 }, { 24, 18, 41, 3, 8, 0 }, { 23, 19, 40, 3, 8, 0 }, { 23, 19, 39, 3, 8, 0 }, - { 23, 19, 38, 3, 8, 0 }, { 22, 20, 37, 4, 8, 0 }, { 22, 20, 36, 4, 8, 0 }, { 22, 20, 35, 4, 8, 0 }, { 22, 20, 34, 4, 8, 0 }, - { 21, 21, 33, 4, 8, 0 }, { 21, 21, 32, 4, 8, 0 }, { 21, 21, 31, 4, 8, 0 }, { 20, 22, 30, 4, 8, 0 }, { 20, 22, 29, 4, 8, 0 }, - { 20, 22, 28, 4, 8, 0 }, { 19, 23, 27, 5, 8, 0 }, { 19, 23, 26, 5, 8, 0 }, { 19, 23, 25, 5, 8, 0 }, { 18, 24, 24, 5, 8, 0 }, - { 18, 24, 23, 5, 8, 0 }, { 18, 24, 22, 5, 8, 0 }, { 18, 25, 21, 6, 8, 0 }, { 18, 25, 20, 6, 8, 0 }, { 18, 25, 19, 6, 8, 0 }, - { 17, 26, 18, 6, 8, 0 }, { 17, 26, 17, 6, 8, 0 }, { 17, 26, 16, 6, 8, 0 }, { 17, 27, 15, 6, 8, 0 }, { 17, 27, 14, 6, 8, 0 }, - { 17, 27, 13, 6, 8, 0 }, { 17, 28, 12, 7, 8, 0 }, { 17, 28, 11, 7, 8, 0 }, { 17, 28, 10, 7, 8, 0 }, { 16, 29, 9, 7, 8, 0 }, - { 16, 29, 8, 7, 8, 0 }, { 16, 29, 7, 7, 8, 0 }, { 16, 30, 6, 8, 8, 0 }, { 16, 30, 5, 8, 8, 0 }, { 16, 30, 4, 8, 8, 0 }, - { 16, 31, 3, 8, 8, 0 }, { 16, 31, 2, 8, 8, 0 }, { 16, 31, 1, 8, 8, 0 }, { 16, 31, 0, 8, 8, 0 }, + 64, { + { 31, 16, 63, 0, 8, 0 }, { 31, 16, 62, 0, 8, 0 }, { 30, 16, 61, 0, 8, 0 }, { 30, 16, 60, 0, 8, 0 }, { 30, 16, 59, 0, 8, 0 }, + { 29, 16, 58, 1, 8, 0 }, { 29, 16, 57, 1, 8, 0 }, { 29, 16, 56, 1, 8, 0 }, { 28, 17, 55, 1, 8, 0 }, { 28, 17, 54, 1, 8, 0 }, + { 28, 17, 53, 1, 8, 0 }, { 27, 17, 52, 2, 8, 0 }, { 27, 17, 51, 2, 8, 0 }, { 27, 17, 50, 2, 8, 0 }, { 26, 17, 49, 2, 8, 0 }, + { 26, 17, 48, 2, 8, 0 }, { 26, 17, 47, 2, 8, 0 }, { 25, 18, 46, 2, 8, 0 }, { 25, 18, 45, 2, 8, 0 }, { 25, 18, 44, 2, 8, 0 }, + { 24, 18, 43, 3, 8, 0 }, { 24, 18, 42, 3, 8, 0 }, { 24, 18, 41, 3, 8, 0 }, { 23, 19, 40, 3, 8, 0 }, { 23, 19, 39, 3, 8, 0 }, + { 23, 19, 38, 3, 8, 0 }, { 22, 20, 37, 4, 8, 0 }, { 22, 20, 36, 4, 8, 0 }, { 22, 20, 35, 4, 8, 0 }, { 22, 20, 34, 4, 8, 0 }, + { 21, 21, 33, 4, 8, 0 }, { 21, 21, 32, 4, 8, 0 }, { 21, 21, 31, 4, 8, 0 }, { 20, 22, 30, 4, 8, 0 }, { 20, 22, 29, 4, 8, 0 }, + { 20, 22, 28, 4, 8, 0 }, { 19, 23, 27, 5, 8, 0 }, { 19, 23, 26, 5, 8, 0 }, { 19, 23, 25, 5, 8, 0 }, { 18, 24, 24, 5, 8, 0 }, + { 18, 24, 23, 5, 8, 0 }, { 18, 24, 22, 5, 8, 0 }, { 18, 25, 21, 6, 8, 0 }, { 18, 25, 20, 6, 8, 0 }, { 18, 25, 19, 6, 8, 0 }, + { 17, 26, 18, 6, 8, 0 }, { 17, 26, 17, 6, 8, 0 }, { 17, 26, 16, 6, 8, 0 }, { 17, 27, 15, 6, 8, 0 }, { 17, 27, 14, 6, 8, 0 }, + { 17, 27, 13, 6, 8, 0 }, { 17, 28, 12, 7, 8, 0 }, { 17, 28, 11, 7, 8, 0 }, { 17, 28, 10, 7, 8, 0 }, { 16, 29, 9, 7, 8, 0 }, + { 16, 29, 8, 7, 8, 0 }, { 16, 29, 7, 7, 8, 0 }, { 16, 30, 6, 8, 8, 0 }, { 16, 30, 5, 8, 8, 0 }, { 16, 30, 4, 8, 8, 0 }, + { 16, 31, 3, 8, 8, 0 }, { 16, 31, 2, 8, 8, 0 }, { 16, 31, 1, 8, 8, 0 }, { 16, 31, 0, 8, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E5D88 = { - 64, { - { 16, 0, 63, 8, 8, 0 }, { 16, 0, 62, 8, 8, 0 }, { 16, 1, 61, 8, 8, 0 }, { 16, 1, 60, 8, 8, 0 }, { 16, 2, 59, 8, 8, 0 }, - { 16, 2, 58, 8, 8, 0 }, { 16, 3, 57, 9, 8, 0 }, { 16, 3, 56, 9, 8, 0 }, { 17, 4, 55, 9, 8, 0 }, { 17, 4, 54, 9, 8, 0 }, - { 17, 4, 53, 9, 8, 0 }, { 17, 5, 52, 10, 8, 0 }, { 17, 5, 51, 10, 8, 0 }, { 17, 5, 50, 10, 8, 0 }, { 17, 6, 49, 10, 8, 0 }, - { 17, 6, 48, 10, 8, 0 }, { 17, 6, 47, 10, 8, 0 }, { 18, 7, 46, 10, 8, 0 }, { 18, 7, 45, 10, 8, 0 }, { 18, 7, 44, 10, 8, 0 }, - { 18, 8, 43, 11, 8, 0 }, { 18, 8, 42, 11, 8, 0 }, { 18, 8, 41, 11, 8, 0 }, { 18, 8, 40, 11, 8, 0 }, { 19, 9, 39, 11, 8, 0 }, - { 19, 9, 38, 11, 8, 0 }, { 19, 9, 37, 11, 8, 0 }, { 20, 10, 36, 12, 8, 0 }, { 20, 10, 35, 12, 8, 0 }, { 20, 10, 34, 12, 8, 0 }, - { 21, 11, 33, 12, 8, 0 }, { 21, 11, 32, 12, 8, 0 }, { 21, 11, 31, 12, 8, 0 }, { 22, 12, 30, 12, 8, 0 }, { 22, 12, 29, 12, 8, 0 }, - { 22, 12, 28, 12, 8, 0 }, { 23, 13, 27, 13, 8, 0 }, { 23, 13, 26, 13, 8, 0 }, { 23, 13, 25, 13, 8, 0 }, { 24, 14, 24, 13, 8, 0 }, - { 24, 14, 23, 13, 8, 0 }, { 24, 14, 22, 13, 8, 0 }, { 25, 14, 21, 14, 8, 0 }, { 25, 14, 20, 14, 8, 0 }, { 25, 14, 19, 14, 8, 0 }, - { 26, 15, 18, 14, 8, 0 }, { 26, 15, 17, 14, 8, 0 }, { 26, 15, 16, 14, 8, 0 }, { 27, 15, 15, 14, 8, 0 }, { 27, 15, 14, 14, 8, 0 }, - { 27, 15, 13, 14, 8, 0 }, { 28, 15, 12, 15, 8, 0 }, { 28, 15, 11, 15, 8, 0 }, { 28, 15, 10, 15, 8, 0 }, { 29, 16, 9, 15, 8, 0 }, - { 29, 16, 8, 15, 8, 0 }, { 29, 16, 7, 15, 8, 0 }, { 30, 16, 6, 16, 8, 0 }, { 30, 16, 5, 16, 8, 0 }, { 30, 16, 4, 16, 8, 0 }, - { 31, 16, 3, 16, 8, 0 }, { 31, 16, 2, 16, 8, 0 }, { 31, 16, 1, 16, 8, 0 }, { 31, 16, 0, 16, 8, 0 }, + 64, { + { 16, 0, 63, 8, 8, 0 }, { 16, 0, 62, 8, 8, 0 }, { 16, 1, 61, 8, 8, 0 }, { 16, 1, 60, 8, 8, 0 }, { 16, 2, 59, 8, 8, 0 }, + { 16, 2, 58, 8, 8, 0 }, { 16, 3, 57, 9, 8, 0 }, { 16, 3, 56, 9, 8, 0 }, { 17, 4, 55, 9, 8, 0 }, { 17, 4, 54, 9, 8, 0 }, + { 17, 4, 53, 9, 8, 0 }, { 17, 5, 52, 10, 8, 0 }, { 17, 5, 51, 10, 8, 0 }, { 17, 5, 50, 10, 8, 0 }, { 17, 6, 49, 10, 8, 0 }, + { 17, 6, 48, 10, 8, 0 }, { 17, 6, 47, 10, 8, 0 }, { 18, 7, 46, 10, 8, 0 }, { 18, 7, 45, 10, 8, 0 }, { 18, 7, 44, 10, 8, 0 }, + { 18, 8, 43, 11, 8, 0 }, { 18, 8, 42, 11, 8, 0 }, { 18, 8, 41, 11, 8, 0 }, { 18, 8, 40, 11, 8, 0 }, { 19, 9, 39, 11, 8, 0 }, + { 19, 9, 38, 11, 8, 0 }, { 19, 9, 37, 11, 8, 0 }, { 20, 10, 36, 12, 8, 0 }, { 20, 10, 35, 12, 8, 0 }, { 20, 10, 34, 12, 8, 0 }, + { 21, 11, 33, 12, 8, 0 }, { 21, 11, 32, 12, 8, 0 }, { 21, 11, 31, 12, 8, 0 }, { 22, 12, 30, 12, 8, 0 }, { 22, 12, 29, 12, 8, 0 }, + { 22, 12, 28, 12, 8, 0 }, { 23, 13, 27, 13, 8, 0 }, { 23, 13, 26, 13, 8, 0 }, { 23, 13, 25, 13, 8, 0 }, { 24, 14, 24, 13, 8, 0 }, + { 24, 14, 23, 13, 8, 0 }, { 24, 14, 22, 13, 8, 0 }, { 25, 14, 21, 14, 8, 0 }, { 25, 14, 20, 14, 8, 0 }, { 25, 14, 19, 14, 8, 0 }, + { 26, 15, 18, 14, 8, 0 }, { 26, 15, 17, 14, 8, 0 }, { 26, 15, 16, 14, 8, 0 }, { 27, 15, 15, 14, 8, 0 }, { 27, 15, 14, 14, 8, 0 }, + { 27, 15, 13, 14, 8, 0 }, { 28, 15, 12, 15, 8, 0 }, { 28, 15, 11, 15, 8, 0 }, { 28, 15, 10, 15, 8, 0 }, { 29, 16, 9, 15, 8, 0 }, + { 29, 16, 8, 15, 8, 0 }, { 29, 16, 7, 15, 8, 0 }, { 30, 16, 6, 16, 8, 0 }, { 30, 16, 5, 16, 8, 0 }, { 30, 16, 4, 16, 8, 0 }, + { 31, 16, 3, 16, 8, 0 }, { 31, 16, 2, 16, 8, 0 }, { 31, 16, 1, 16, 8, 0 }, { 31, 16, 0, 16, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E5FCA = { - 64, { - { 0, 16, 63, 16, 8, 0 }, { 1, 16, 62, 16, 8, 0 }, { 1, 16, 61, 16, 8, 0 }, { 1, 16, 60, 16, 8, 0 }, { 2, 16, 59, 16, 8, 0 }, - { 2, 16, 58, 16, 8, 0 }, { 2, 16, 57, 16, 8, 0 }, { 3, 16, 56, 17, 8, 0 }, { 3, 16, 55, 17, 8, 0 }, { 3, 16, 54, 17, 8, 0 }, - { 4, 15, 53, 17, 8, 0 }, { 4, 15, 52, 17, 8, 0 }, { 4, 15, 51, 17, 8, 0 }, { 5, 15, 50, 18, 8, 0 }, { 5, 15, 49, 18, 8, 0 }, - { 5, 15, 48, 18, 8, 0 }, { 6, 15, 47, 18, 8, 0 }, { 6, 15, 46, 18, 8, 0 }, { 7, 14, 45, 18, 8, 0 }, { 7, 14, 44, 18, 8, 0 }, - { 7, 14, 43, 18, 8, 0 }, { 8, 14, 42, 19, 8, 0 }, { 8, 14, 41, 19, 8, 0 }, { 8, 14, 40, 19, 8, 0 }, { 9, 13, 39, 19, 8, 0 }, - { 9, 13, 38, 19, 8, 0 }, { 9, 13, 37, 19, 8, 0 }, { 10, 12, 36, 20, 8, 0 }, { 10, 12, 35, 20, 8, 0 }, { 10, 12, 34, 20, 8, 0 }, - { 11, 11, 33, 20, 8, 0 }, { 11, 11, 32, 20, 8, 0 }, { 12, 10, 31, 20, 8, 0 }, { 12, 10, 30, 20, 8, 0 }, { 12, 10, 29, 20, 8, 0 }, - { 13, 9, 28, 21, 8, 0 }, { 13, 9, 27, 21, 8, 0 }, { 13, 9, 26, 21, 8, 0 }, { 14, 8, 25, 21, 8, 0 }, { 14, 8, 24, 21, 8, 0 }, - { 14, 8, 23, 21, 8, 0 }, { 14, 7, 22, 22, 8, 0 }, { 14, 7, 21, 22, 8, 0 }, { 14, 7, 20, 22, 8, 0 }, { 15, 6, 19, 22, 8, 0 }, - { 15, 6, 18, 22, 8, 0 }, { 15, 6, 17, 22, 8, 0 }, { 15, 5, 16, 22, 8, 0 }, { 15, 5, 15, 22, 8, 0 }, { 15, 4, 14, 23, 8, 0 }, - { 15, 4, 13, 23, 8, 0 }, { 15, 4, 12, 23, 8, 0 }, { 16, 3, 11, 23, 8, 0 }, { 16, 3, 10, 23, 8, 0 }, { 16, 3, 9, 23, 8, 0 }, - { 16, 2, 8, 24, 8, 0 }, { 16, 2, 7, 24, 8, 0 }, { 16, 2, 6, 24, 8, 0 }, { 16, 1, 5, 24, 8, 0 }, { 16, 1, 4, 24, 8, 0 }, - { 16, 1, 3, 24, 8, 0 }, { 16, 0, 2, 24, 8, 0 }, { 16, 0, 1, 24, 8, 0 }, { 16, 0, 0, 24, 8, 0 }, + 64, { + { 0, 16, 63, 16, 8, 0 }, { 1, 16, 62, 16, 8, 0 }, { 1, 16, 61, 16, 8, 0 }, { 1, 16, 60, 16, 8, 0 }, { 2, 16, 59, 16, 8, 0 }, + { 2, 16, 58, 16, 8, 0 }, { 2, 16, 57, 16, 8, 0 }, { 3, 16, 56, 17, 8, 0 }, { 3, 16, 55, 17, 8, 0 }, { 3, 16, 54, 17, 8, 0 }, + { 4, 15, 53, 17, 8, 0 }, { 4, 15, 52, 17, 8, 0 }, { 4, 15, 51, 17, 8, 0 }, { 5, 15, 50, 18, 8, 0 }, { 5, 15, 49, 18, 8, 0 }, + { 5, 15, 48, 18, 8, 0 }, { 6, 15, 47, 18, 8, 0 }, { 6, 15, 46, 18, 8, 0 }, { 7, 14, 45, 18, 8, 0 }, { 7, 14, 44, 18, 8, 0 }, + { 7, 14, 43, 18, 8, 0 }, { 8, 14, 42, 19, 8, 0 }, { 8, 14, 41, 19, 8, 0 }, { 8, 14, 40, 19, 8, 0 }, { 9, 13, 39, 19, 8, 0 }, + { 9, 13, 38, 19, 8, 0 }, { 9, 13, 37, 19, 8, 0 }, { 10, 12, 36, 20, 8, 0 }, { 10, 12, 35, 20, 8, 0 }, { 10, 12, 34, 20, 8, 0 }, + { 11, 11, 33, 20, 8, 0 }, { 11, 11, 32, 20, 8, 0 }, { 12, 10, 31, 20, 8, 0 }, { 12, 10, 30, 20, 8, 0 }, { 12, 10, 29, 20, 8, 0 }, + { 13, 9, 28, 21, 8, 0 }, { 13, 9, 27, 21, 8, 0 }, { 13, 9, 26, 21, 8, 0 }, { 14, 8, 25, 21, 8, 0 }, { 14, 8, 24, 21, 8, 0 }, + { 14, 8, 23, 21, 8, 0 }, { 14, 7, 22, 22, 8, 0 }, { 14, 7, 21, 22, 8, 0 }, { 14, 7, 20, 22, 8, 0 }, { 15, 6, 19, 22, 8, 0 }, + { 15, 6, 18, 22, 8, 0 }, { 15, 6, 17, 22, 8, 0 }, { 15, 5, 16, 22, 8, 0 }, { 15, 5, 15, 22, 8, 0 }, { 15, 4, 14, 23, 8, 0 }, + { 15, 4, 13, 23, 8, 0 }, { 15, 4, 12, 23, 8, 0 }, { 16, 3, 11, 23, 8, 0 }, { 16, 3, 10, 23, 8, 0 }, { 16, 3, 9, 23, 8, 0 }, + { 16, 2, 8, 24, 8, 0 }, { 16, 2, 7, 24, 8, 0 }, { 16, 2, 6, 24, 8, 0 }, { 16, 1, 5, 24, 8, 0 }, { 16, 1, 4, 24, 8, 0 }, + { 16, 1, 3, 24, 8, 0 }, { 16, 0, 2, 24, 8, 0 }, { 16, 0, 1, 24, 8, 0 }, { 16, 0, 0, 24, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E620C = { - 64, { - { 16, 31, 63, 24, 8, 0 }, { 16, 31, 62, 24, 8, 0 }, { 16, 30, 61, 24, 8, 0 }, { 16, 30, 60, 24, 8, 0 }, { 16, 29, 59, 25, 8, 0 }, - { 16, 29, 58, 25, 8, 0 }, { 15, 28, 57, 25, 8, 0 }, { 15, 28, 56, 25, 8, 0 }, { 15, 28, 55, 25, 8, 0 }, { 15, 27, 54, 26, 8, 0 }, - { 15, 27, 53, 26, 8, 0 }, { 15, 27, 52, 26, 8, 0 }, { 15, 26, 51, 26, 8, 0 }, { 15, 26, 50, 26, 8, 0 }, { 15, 26, 49, 26, 8, 0 }, - { 14, 25, 48, 26, 8, 0 }, { 14, 25, 47, 26, 8, 0 }, { 14, 25, 46, 26, 8, 0 }, { 14, 24, 45, 27, 8, 0 }, { 14, 24, 44, 27, 8, 0 }, - { 14, 24, 43, 27, 8, 0 }, { 13, 23, 42, 27, 8, 0 }, { 13, 23, 41, 27, 8, 0 }, { 13, 23, 40, 27, 8, 0 }, { 12, 22, 39, 28, 8, 0 }, - { 12, 22, 38, 28, 8, 0 }, { 12, 22, 37, 28, 8, 0 }, { 11, 21, 36, 28, 8, 0 }, { 11, 21, 35, 28, 8, 0 }, { 11, 21, 34, 28, 8, 0 }, - { 10, 20, 33, 28, 8, 0 }, { 10, 20, 32, 28, 8, 0 }, { 10, 20, 31, 28, 8, 0 }, { 9, 19, 30, 29, 8, 0 }, { 9, 19, 29, 29, 8, 0 }, - { 9, 19, 28, 29, 8, 0 }, { 8, 18, 27, 29, 8, 0 }, { 8, 18, 26, 29, 8, 0 }, { 8, 18, 25, 29, 8, 0 }, { 7, 18, 24, 30, 8, 0 }, - { 7, 18, 23, 30, 8, 0 }, { 7, 18, 22, 30, 8, 0 }, { 6, 17, 21, 30, 8, 0 }, { 6, 17, 20, 30, 8, 0 }, { 6, 17, 19, 30, 8, 0 }, - { 5, 17, 18, 30, 8, 0 }, { 5, 17, 17, 30, 8, 0 }, { 5, 17, 16, 30, 8, 0 }, { 4, 17, 15, 31, 8, 0 }, { 4, 17, 14, 31, 8, 0 }, - { 4, 17, 13, 31, 8, 0 }, { 3, 16, 12, 31, 8, 0 }, { 3, 16, 11, 31, 8, 0 }, { 3, 16, 10, 31, 8, 0 }, { 2, 16, 9, 0, 8, 0 }, - { 2, 16, 8, 0, 8, 0 }, { 2, 16, 7, 0, 8, 0 }, { 1, 16, 6, 0, 8, 0 }, { 1, 16, 5, 0, 8, 0 }, { 1, 16, 4, 0, 8, 0 }, - { 0, 16, 3, 0, 8, 0 }, { 0, 16, 2, 0, 8, 0 }, { 0, 16, 1, 0, 8, 0 }, { 0, 16, 0, 0, 8, 0 }, + 64, { + { 16, 31, 63, 24, 8, 0 }, { 16, 31, 62, 24, 8, 0 }, { 16, 30, 61, 24, 8, 0 }, { 16, 30, 60, 24, 8, 0 }, { 16, 29, 59, 25, 8, 0 }, + { 16, 29, 58, 25, 8, 0 }, { 15, 28, 57, 25, 8, 0 }, { 15, 28, 56, 25, 8, 0 }, { 15, 28, 55, 25, 8, 0 }, { 15, 27, 54, 26, 8, 0 }, + { 15, 27, 53, 26, 8, 0 }, { 15, 27, 52, 26, 8, 0 }, { 15, 26, 51, 26, 8, 0 }, { 15, 26, 50, 26, 8, 0 }, { 15, 26, 49, 26, 8, 0 }, + { 14, 25, 48, 26, 8, 0 }, { 14, 25, 47, 26, 8, 0 }, { 14, 25, 46, 26, 8, 0 }, { 14, 24, 45, 27, 8, 0 }, { 14, 24, 44, 27, 8, 0 }, + { 14, 24, 43, 27, 8, 0 }, { 13, 23, 42, 27, 8, 0 }, { 13, 23, 41, 27, 8, 0 }, { 13, 23, 40, 27, 8, 0 }, { 12, 22, 39, 28, 8, 0 }, + { 12, 22, 38, 28, 8, 0 }, { 12, 22, 37, 28, 8, 0 }, { 11, 21, 36, 28, 8, 0 }, { 11, 21, 35, 28, 8, 0 }, { 11, 21, 34, 28, 8, 0 }, + { 10, 20, 33, 28, 8, 0 }, { 10, 20, 32, 28, 8, 0 }, { 10, 20, 31, 28, 8, 0 }, { 9, 19, 30, 29, 8, 0 }, { 9, 19, 29, 29, 8, 0 }, + { 9, 19, 28, 29, 8, 0 }, { 8, 18, 27, 29, 8, 0 }, { 8, 18, 26, 29, 8, 0 }, { 8, 18, 25, 29, 8, 0 }, { 7, 18, 24, 30, 8, 0 }, + { 7, 18, 23, 30, 8, 0 }, { 7, 18, 22, 30, 8, 0 }, { 6, 17, 21, 30, 8, 0 }, { 6, 17, 20, 30, 8, 0 }, { 6, 17, 19, 30, 8, 0 }, + { 5, 17, 18, 30, 8, 0 }, { 5, 17, 17, 30, 8, 0 }, { 5, 17, 16, 30, 8, 0 }, { 4, 17, 15, 31, 8, 0 }, { 4, 17, 14, 31, 8, 0 }, + { 4, 17, 13, 31, 8, 0 }, { 3, 16, 12, 31, 8, 0 }, { 3, 16, 11, 31, 8, 0 }, { 3, 16, 10, 31, 8, 0 }, { 2, 16, 9, 0, 8, 0 }, + { 2, 16, 8, 0, 8, 0 }, { 2, 16, 7, 0, 8, 0 }, { 1, 16, 6, 0, 8, 0 }, { 1, 16, 5, 0, 8, 0 }, { 1, 16, 4, 0, 8, 0 }, + { 0, 16, 3, 0, 8, 0 }, { 0, 16, 2, 0, 8, 0 }, { 0, 16, 1, 0, 8, 0 }, { 0, 16, 0, 0, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B0EB2 = { - 114, { - { 31, 16, 0, 0, 48, 2 }, { 30, 16, 0, 0, 48, 2 }, { 29, 16, 0, 0, 48, 2 }, { 28, 16, 0, 0, 48, 2 }, { 27, 16, 0, 0, 48, 2 }, - { 26, 16, 0, 0, 48, 2 }, { 25, 16, 0, 0, 48, 2 }, { 24, 16, 1, 31, 48, 2 }, { 23, 15, 1, 31, 48, 2 }, { 22, 15, 1, 31, 48, 2 }, - { 21, 15, 1, 31, 48, 2 }, { 20, 15, 1, 31, 48, 2 }, { 19, 15, 1, 31, 48, 2 }, { 18, 15, 1, 31, 48, 2 }, { 17, 14, 2, 31, 48, 2 }, - { 16, 14, 2, 31, 48, 2 }, { 15, 14, 2, 31, 48, 2 }, { 14, 14, 2, 31, 48, 2 }, { 13, 14, 2, 31, 48, 2 }, { 12, 13, 2, 31, 48, 2 }, - { 11, 13, 2, 31, 48, 2 }, { 10, 13, 3, 30, 48, 2 }, { 9, 13, 3, 30, 48, 2 }, { 8, 12, 3, 30, 48, 2 }, { 7, 12, 3, 30, 48, 2 }, - { 6, 12, 3, 30, 48, 2 }, { 5, 11, 3, 30, 48, 2 }, { 4, 11, 3, 30, 48, 2 }, { 3, 11, 4, 30, 48, 2 }, { 2, 10, 4, 30, 48, 2 }, - { 1, 10, 4, 30, 48, 2 }, { 0, 9, 4, 30, 48, 2 }, { -1, 9, 4, 30, 48, 2 }, { -2, 8, 4, 30, 48, 2 }, { -3, 8, 4, 30, 48, 2 }, - { -4, 7, 5, 30, 48, 2 }, { -5, 7, 5, 29, 48, 2 }, { -6, 6, 5, 29, 48, 2 }, { -7, 6, 5, 29, 48, 2 }, { -8, 5, 5, 29, 48, 2 }, - { -9, 4, 5, 29, 48, 2 }, { -10, 4, 5, 29, 48, 2 }, { -11, 3, 6, 29, 48, 2 }, { -12, 2, 6, 29, 48, 2 }, { -13, 2, 6, 29, 48, 2 }, - { -14, 1, 6, 29, 48, 2 }, { -15, 0, 6, 29, 48, 2 }, { -16, 0, 6, 29, 48, 2 }, { -17, -1, 6, 29, 48, 2 }, { -18, -2, 7, 28, 48, 2 }, - { -19, -3, 7, 28, 48, 2 }, { -20, -3, 7, 28, 48, 2 }, { -21, -4, 7, 28, 48, 2 }, { -22, -5, 7, 28, 48, 2 }, { -23, -6, 7, 28, 48, 2 }, - { -24, -7, 7, 28, 48, 2 }, { -25, -7, 8, 28, 48, 2 }, { -26, -8, 8, 28, 48, 2 }, { -27, -9, 8, 28, 48, 2 }, { -28, -10, 8, 28, 48, 2 }, - { -29, -11, 8, 28, 48, 2 }, { -29, -12, 8, 28, 48, 2 }, { -30, -13, 8, 27, 48, 2 }, { -31, -14, 8, 27, 48, 2 }, { -32, -15, 9, 27, 48, 2 }, - { -32, -16, 9, 27, 48, 2 }, { -33, -17, 9, 27, 48, 2 }, { -34, -18, 9, 27, 48, 2 }, { -34, -19, 9, 27, 48, 2 }, { -35, -20, 9, 27, 48, 2 }, - { -36, -21, 9, 27, 48, 2 }, { -36, -22, 10, 27, 48, 2 }, { -37, -23, 10, 27, 48, 2 }, { -38, -24, 10, 27, 48, 2 }, { -38, -25, 10, 27, 48, 2 }, - { -39, -26, 10, 26, 48, 2 }, { -39, -27, 10, 26, 48, 2 }, { -40, -28, 10, 26, 48, 2 }, { -40, -29, 11, 26, 48, 2 }, { -41, -30, 11, 26, 48, 2 }, - { -41, -31, 11, 26, 48, 2 }, { -42, -32, 11, 26, 48, 2 }, { -42, -33, 11, 26, 48, 2 }, { -43, -34, 11, 26, 48, 2 }, { -43, -35, 11, 26, 48, 2 }, - { -43, -36, 12, 26, 48, 2 }, { -44, -37, 12, 26, 48, 2 }, { -44, -38, 12, 26, 48, 2 }, { -44, -39, 12, 26, 48, 2 }, { -45, -40, 12, 25, 48, 2 }, - { -45, -41, 12, 25, 48, 2 }, { -45, -42, 12, 25, 48, 2 }, { -45, -43, 13, 25, 48, 2 }, { -46, -44, 13, 25, 48, 2 }, { -46, -45, 13, 25, 48, 2 }, - { -46, -46, 13, 25, 48, 2 }, { -46, -47, 13, 25, 48, 2 }, { -46, -48, 13, 25, 48, 2 }, { -47, -49, 13, 25, 48, 2 }, { -47, -50, 14, 25, 48, 2 }, - { -47, -51, 14, 25, 48, 2 }, { -47, -52, 14, 25, 48, 2 }, { -47, -53, 14, 25, 48, 2 }, { -47, -54, 14, 25, 48, 2 }, { -48, -55, 14, 25, 48, 2 }, - { -48, -56, 14, 24, 48, 2 }, { -48, -57, 15, 24, 48, 2 }, { -48, -58, 15, 24, 48, 2 }, { -48, -59, 15, 24, 48, 2 }, { -48, -60, 15, 24, 48, 2 }, - { -48, -61, 15, 24, 48, 2 }, { -48, -62, 15, 24, 48, 2 }, { -48, -63, 15, 24, 48, 2 }, { -48, -64, 16, 24, 48, 2 }, + 114, { + { 31, 16, 0, 0, 48, 2 }, { 30, 16, 0, 0, 48, 2 }, { 29, 16, 0, 0, 48, 2 }, { 28, 16, 0, 0, 48, 2 }, { 27, 16, 0, 0, 48, 2 }, + { 26, 16, 0, 0, 48, 2 }, { 25, 16, 0, 0, 48, 2 }, { 24, 16, 1, 31, 48, 2 }, { 23, 15, 1, 31, 48, 2 }, { 22, 15, 1, 31, 48, 2 }, + { 21, 15, 1, 31, 48, 2 }, { 20, 15, 1, 31, 48, 2 }, { 19, 15, 1, 31, 48, 2 }, { 18, 15, 1, 31, 48, 2 }, { 17, 14, 2, 31, 48, 2 }, + { 16, 14, 2, 31, 48, 2 }, { 15, 14, 2, 31, 48, 2 }, { 14, 14, 2, 31, 48, 2 }, { 13, 14, 2, 31, 48, 2 }, { 12, 13, 2, 31, 48, 2 }, + { 11, 13, 2, 31, 48, 2 }, { 10, 13, 3, 30, 48, 2 }, { 9, 13, 3, 30, 48, 2 }, { 8, 12, 3, 30, 48, 2 }, { 7, 12, 3, 30, 48, 2 }, + { 6, 12, 3, 30, 48, 2 }, { 5, 11, 3, 30, 48, 2 }, { 4, 11, 3, 30, 48, 2 }, { 3, 11, 4, 30, 48, 2 }, { 2, 10, 4, 30, 48, 2 }, + { 1, 10, 4, 30, 48, 2 }, { 0, 9, 4, 30, 48, 2 }, { -1, 9, 4, 30, 48, 2 }, { -2, 8, 4, 30, 48, 2 }, { -3, 8, 4, 30, 48, 2 }, + { -4, 7, 5, 30, 48, 2 }, { -5, 7, 5, 29, 48, 2 }, { -6, 6, 5, 29, 48, 2 }, { -7, 6, 5, 29, 48, 2 }, { -8, 5, 5, 29, 48, 2 }, + { -9, 4, 5, 29, 48, 2 }, { -10, 4, 5, 29, 48, 2 }, { -11, 3, 6, 29, 48, 2 }, { -12, 2, 6, 29, 48, 2 }, { -13, 2, 6, 29, 48, 2 }, + { -14, 1, 6, 29, 48, 2 }, { -15, 0, 6, 29, 48, 2 }, { -16, 0, 6, 29, 48, 2 }, { -17, -1, 6, 29, 48, 2 }, { -18, -2, 7, 28, 48, 2 }, + { -19, -3, 7, 28, 48, 2 }, { -20, -3, 7, 28, 48, 2 }, { -21, -4, 7, 28, 48, 2 }, { -22, -5, 7, 28, 48, 2 }, { -23, -6, 7, 28, 48, 2 }, + { -24, -7, 7, 28, 48, 2 }, { -25, -7, 8, 28, 48, 2 }, { -26, -8, 8, 28, 48, 2 }, { -27, -9, 8, 28, 48, 2 }, { -28, -10, 8, 28, 48, 2 }, + { -29, -11, 8, 28, 48, 2 }, { -29, -12, 8, 28, 48, 2 }, { -30, -13, 8, 27, 48, 2 }, { -31, -14, 8, 27, 48, 2 }, { -32, -15, 9, 27, 48, 2 }, + { -32, -16, 9, 27, 48, 2 }, { -33, -17, 9, 27, 48, 2 }, { -34, -18, 9, 27, 48, 2 }, { -34, -19, 9, 27, 48, 2 }, { -35, -20, 9, 27, 48, 2 }, + { -36, -21, 9, 27, 48, 2 }, { -36, -22, 10, 27, 48, 2 }, { -37, -23, 10, 27, 48, 2 }, { -38, -24, 10, 27, 48, 2 }, { -38, -25, 10, 27, 48, 2 }, + { -39, -26, 10, 26, 48, 2 }, { -39, -27, 10, 26, 48, 2 }, { -40, -28, 10, 26, 48, 2 }, { -40, -29, 11, 26, 48, 2 }, { -41, -30, 11, 26, 48, 2 }, + { -41, -31, 11, 26, 48, 2 }, { -42, -32, 11, 26, 48, 2 }, { -42, -33, 11, 26, 48, 2 }, { -43, -34, 11, 26, 48, 2 }, { -43, -35, 11, 26, 48, 2 }, + { -43, -36, 12, 26, 48, 2 }, { -44, -37, 12, 26, 48, 2 }, { -44, -38, 12, 26, 48, 2 }, { -44, -39, 12, 26, 48, 2 }, { -45, -40, 12, 25, 48, 2 }, + { -45, -41, 12, 25, 48, 2 }, { -45, -42, 12, 25, 48, 2 }, { -45, -43, 13, 25, 48, 2 }, { -46, -44, 13, 25, 48, 2 }, { -46, -45, 13, 25, 48, 2 }, + { -46, -46, 13, 25, 48, 2 }, { -46, -47, 13, 25, 48, 2 }, { -46, -48, 13, 25, 48, 2 }, { -47, -49, 13, 25, 48, 2 }, { -47, -50, 14, 25, 48, 2 }, + { -47, -51, 14, 25, 48, 2 }, { -47, -52, 14, 25, 48, 2 }, { -47, -53, 14, 25, 48, 2 }, { -47, -54, 14, 25, 48, 2 }, { -48, -55, 14, 25, 48, 2 }, + { -48, -56, 14, 24, 48, 2 }, { -48, -57, 15, 24, 48, 2 }, { -48, -58, 15, 24, 48, 2 }, { -48, -59, 15, 24, 48, 2 }, { -48, -60, 15, 24, 48, 2 }, + { -48, -61, 15, 24, 48, 2 }, { -48, -62, 15, 24, 48, 2 }, { -48, -63, 15, 24, 48, 2 }, { -48, -64, 16, 24, 48, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B12B6 = { - 115, { - { 16, 0, 0, 8, 48, 2 }, { 16, 1, 0, 8, 48, 2 }, { 16, 2, 0, 8, 48, 2 }, { 16, 3, 0, 8, 48, 2 }, { 16, 4, 0, 8, 48, 2 }, - { 16, 5, 0, 8, 48, 2 }, { 16, 6, 0, 8, 48, 2 }, { 16, 7, 0, 8, 48, 2 }, { 16, 8, 1, 7, 48, 2 }, { 15, 9, 1, 7, 48, 2 }, - { 15, 10, 1, 7, 48, 2 }, { 15, 11, 1, 7, 48, 2 }, { 15, 12, 1, 7, 48, 2 }, { 15, 13, 1, 7, 48, 2 }, { 15, 14, 1, 7, 48, 2 }, - { 14, 15, 2, 7, 48, 2 }, { 14, 16, 2, 7, 48, 2 }, { 14, 17, 2, 7, 48, 2 }, { 14, 18, 2, 7, 48, 2 }, { 14, 19, 2, 7, 48, 2 }, - { 13, 20, 2, 7, 48, 2 }, { 13, 21, 2, 7, 48, 2 }, { 13, 22, 3, 6, 48, 2 }, { 13, 23, 3, 6, 48, 2 }, { 12, 24, 3, 6, 48, 2 }, - { 12, 25, 3, 6, 48, 2 }, { 12, 26, 3, 6, 48, 2 }, { 11, 27, 3, 6, 48, 2 }, { 11, 28, 3, 6, 48, 2 }, { 11, 29, 4, 6, 48, 2 }, - { 10, 30, 4, 6, 48, 2 }, { 10, 31, 4, 6, 48, 2 }, { 9, 32, 4, 6, 48, 2 }, { 9, 33, 4, 6, 48, 2 }, { 8, 34, 4, 6, 48, 2 }, - { 8, 35, 4, 6, 48, 2 }, { 7, 36, 5, 6, 48, 2 }, { 7, 37, 5, 5, 48, 2 }, { 6, 38, 5, 5, 48, 2 }, { 6, 39, 5, 5, 48, 2 }, - { 5, 40, 5, 5, 48, 2 }, { 4, 41, 5, 5, 48, 2 }, { 4, 42, 5, 5, 48, 2 }, { 3, 43, 5, 5, 48, 2 }, { 2, 44, 6, 5, 48, 2 }, - { 2, 45, 6, 5, 48, 2 }, { 1, 46, 6, 5, 48, 2 }, { 0, 47, 6, 5, 48, 2 }, { 0, 48, 6, 5, 48, 2 }, { -1, 49, 6, 5, 48, 2 }, - { -2, 50, 6, 4, 48, 2 }, { -3, 51, 7, 4, 48, 2 }, { -3, 52, 7, 4, 48, 2 }, { -4, 53, 7, 4, 48, 2 }, { -5, 54, 7, 4, 48, 2 }, - { -6, 55, 7, 4, 48, 2 }, { -7, 56, 7, 4, 48, 2 }, { -7, 57, 7, 4, 48, 2 }, { -8, 58, 8, 4, 48, 2 }, { -9, 59, 8, 4, 48, 2 }, - { -10, 60, 8, 4, 48, 2 }, { -11, 61, 8, 4, 48, 2 }, { -12, 61, 8, 4, 48, 2 }, { -13, 62, 8, 3, 48, 2 }, { -14, 63, 8, 3, 48, 2 }, - { -15, 64, 9, 3, 48, 2 }, { -16, 64, 9, 3, 48, 2 }, { -17, 65, 9, 3, 48, 2 }, { -18, 66, 9, 3, 48, 2 }, { -19, 66, 9, 3, 48, 2 }, - { -20, 67, 9, 3, 48, 2 }, { -21, 68, 9, 3, 48, 2 }, { -22, 68, 10, 3, 48, 2 }, { -23, 69, 10, 3, 48, 2 }, { -24, 70, 10, 3, 48, 2 }, - { -25, 70, 10, 3, 48, 2 }, { -26, 71, 10, 2, 48, 2 }, { -27, 71, 10, 2, 48, 2 }, { -28, 72, 10, 2, 48, 2 }, { -29, 72, 10, 2, 48, 2 }, - { -30, 73, 11, 2, 48, 2 }, { -31, 73, 11, 2, 48, 2 }, { -32, 74, 11, 2, 48, 2 }, { -33, 74, 11, 2, 48, 2 }, { -34, 75, 11, 2, 48, 2 }, - { -35, 75, 11, 2, 48, 2 }, { -36, 75, 11, 2, 48, 2 }, { -37, 76, 12, 2, 48, 2 }, { -38, 76, 12, 2, 48, 2 }, { -39, 76, 12, 2, 48, 2 }, - { -40, 77, 12, 1, 48, 2 }, { -41, 77, 12, 1, 48, 2 }, { -42, 77, 12, 1, 48, 2 }, { -43, 77, 12, 1, 48, 2 }, { -44, 78, 13, 1, 48, 2 }, - { -45, 78, 13, 1, 48, 2 }, { -46, 78, 13, 1, 48, 2 }, { -47, 78, 13, 1, 48, 2 }, { -48, 78, 13, 1, 48, 2 }, { -49, 79, 13, 1, 48, 2 }, - { -50, 79, 13, 1, 48, 2 }, { -51, 79, 14, 1, 48, 2 }, { -52, 79, 14, 1, 48, 2 }, { -53, 79, 14, 1, 48, 2 }, { -54, 79, 14, 1, 48, 2 }, - { -55, 80, 14, 1, 48, 2 }, { -56, 80, 14, 0, 48, 2 }, { -57, 80, 14, 0, 48, 2 }, { -58, 80, 15, 0, 48, 2 }, { -59, 80, 15, 0, 48, 2 }, - { -60, 80, 15, 0, 48, 2 }, { -61, 80, 15, 0, 48, 2 }, { -62, 80, 15, 0, 48, 2 }, { -63, 80, 15, 0, 48, 2 }, { -64, 80, 15, 0, 48, 2 }, + 115, { + { 16, 0, 0, 8, 48, 2 }, { 16, 1, 0, 8, 48, 2 }, { 16, 2, 0, 8, 48, 2 }, { 16, 3, 0, 8, 48, 2 }, { 16, 4, 0, 8, 48, 2 }, + { 16, 5, 0, 8, 48, 2 }, { 16, 6, 0, 8, 48, 2 }, { 16, 7, 0, 8, 48, 2 }, { 16, 8, 1, 7, 48, 2 }, { 15, 9, 1, 7, 48, 2 }, + { 15, 10, 1, 7, 48, 2 }, { 15, 11, 1, 7, 48, 2 }, { 15, 12, 1, 7, 48, 2 }, { 15, 13, 1, 7, 48, 2 }, { 15, 14, 1, 7, 48, 2 }, + { 14, 15, 2, 7, 48, 2 }, { 14, 16, 2, 7, 48, 2 }, { 14, 17, 2, 7, 48, 2 }, { 14, 18, 2, 7, 48, 2 }, { 14, 19, 2, 7, 48, 2 }, + { 13, 20, 2, 7, 48, 2 }, { 13, 21, 2, 7, 48, 2 }, { 13, 22, 3, 6, 48, 2 }, { 13, 23, 3, 6, 48, 2 }, { 12, 24, 3, 6, 48, 2 }, + { 12, 25, 3, 6, 48, 2 }, { 12, 26, 3, 6, 48, 2 }, { 11, 27, 3, 6, 48, 2 }, { 11, 28, 3, 6, 48, 2 }, { 11, 29, 4, 6, 48, 2 }, + { 10, 30, 4, 6, 48, 2 }, { 10, 31, 4, 6, 48, 2 }, { 9, 32, 4, 6, 48, 2 }, { 9, 33, 4, 6, 48, 2 }, { 8, 34, 4, 6, 48, 2 }, + { 8, 35, 4, 6, 48, 2 }, { 7, 36, 5, 6, 48, 2 }, { 7, 37, 5, 5, 48, 2 }, { 6, 38, 5, 5, 48, 2 }, { 6, 39, 5, 5, 48, 2 }, + { 5, 40, 5, 5, 48, 2 }, { 4, 41, 5, 5, 48, 2 }, { 4, 42, 5, 5, 48, 2 }, { 3, 43, 5, 5, 48, 2 }, { 2, 44, 6, 5, 48, 2 }, + { 2, 45, 6, 5, 48, 2 }, { 1, 46, 6, 5, 48, 2 }, { 0, 47, 6, 5, 48, 2 }, { 0, 48, 6, 5, 48, 2 }, { -1, 49, 6, 5, 48, 2 }, + { -2, 50, 6, 4, 48, 2 }, { -3, 51, 7, 4, 48, 2 }, { -3, 52, 7, 4, 48, 2 }, { -4, 53, 7, 4, 48, 2 }, { -5, 54, 7, 4, 48, 2 }, + { -6, 55, 7, 4, 48, 2 }, { -7, 56, 7, 4, 48, 2 }, { -7, 57, 7, 4, 48, 2 }, { -8, 58, 8, 4, 48, 2 }, { -9, 59, 8, 4, 48, 2 }, + { -10, 60, 8, 4, 48, 2 }, { -11, 61, 8, 4, 48, 2 }, { -12, 61, 8, 4, 48, 2 }, { -13, 62, 8, 3, 48, 2 }, { -14, 63, 8, 3, 48, 2 }, + { -15, 64, 9, 3, 48, 2 }, { -16, 64, 9, 3, 48, 2 }, { -17, 65, 9, 3, 48, 2 }, { -18, 66, 9, 3, 48, 2 }, { -19, 66, 9, 3, 48, 2 }, + { -20, 67, 9, 3, 48, 2 }, { -21, 68, 9, 3, 48, 2 }, { -22, 68, 10, 3, 48, 2 }, { -23, 69, 10, 3, 48, 2 }, { -24, 70, 10, 3, 48, 2 }, + { -25, 70, 10, 3, 48, 2 }, { -26, 71, 10, 2, 48, 2 }, { -27, 71, 10, 2, 48, 2 }, { -28, 72, 10, 2, 48, 2 }, { -29, 72, 10, 2, 48, 2 }, + { -30, 73, 11, 2, 48, 2 }, { -31, 73, 11, 2, 48, 2 }, { -32, 74, 11, 2, 48, 2 }, { -33, 74, 11, 2, 48, 2 }, { -34, 75, 11, 2, 48, 2 }, + { -35, 75, 11, 2, 48, 2 }, { -36, 75, 11, 2, 48, 2 }, { -37, 76, 12, 2, 48, 2 }, { -38, 76, 12, 2, 48, 2 }, { -39, 76, 12, 2, 48, 2 }, + { -40, 77, 12, 1, 48, 2 }, { -41, 77, 12, 1, 48, 2 }, { -42, 77, 12, 1, 48, 2 }, { -43, 77, 12, 1, 48, 2 }, { -44, 78, 13, 1, 48, 2 }, + { -45, 78, 13, 1, 48, 2 }, { -46, 78, 13, 1, 48, 2 }, { -47, 78, 13, 1, 48, 2 }, { -48, 78, 13, 1, 48, 2 }, { -49, 79, 13, 1, 48, 2 }, + { -50, 79, 13, 1, 48, 2 }, { -51, 79, 14, 1, 48, 2 }, { -52, 79, 14, 1, 48, 2 }, { -53, 79, 14, 1, 48, 2 }, { -54, 79, 14, 1, 48, 2 }, + { -55, 80, 14, 1, 48, 2 }, { -56, 80, 14, 0, 48, 2 }, { -57, 80, 14, 0, 48, 2 }, { -58, 80, 15, 0, 48, 2 }, { -59, 80, 15, 0, 48, 2 }, + { -60, 80, 15, 0, 48, 2 }, { -61, 80, 15, 0, 48, 2 }, { -62, 80, 15, 0, 48, 2 }, { -63, 80, 15, 0, 48, 2 }, { -64, 80, 15, 0, 48, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B16C3 = { - 114, { - { 0, 16, 0, 16, 48, 2 }, { 1, 16, 0, 16, 48, 2 }, { 2, 16, 0, 16, 48, 2 }, { 3, 16, 0, 16, 48, 2 }, { 4, 16, 0, 16, 48, 2 }, - { 5, 16, 0, 16, 48, 2 }, { 6, 16, 0, 16, 48, 2 }, { 7, 16, 0, 16, 48, 2 }, { 8, 16, 1, 15, 48, 2 }, { 9, 17, 1, 15, 48, 2 }, - { 10, 17, 1, 15, 48, 2 }, { 11, 17, 1, 15, 48, 2 }, { 12, 17, 1, 15, 48, 2 }, { 13, 17, 1, 15, 48, 2 }, { 14, 17, 1, 15, 48, 2 }, - { 15, 18, 2, 15, 48, 2 }, { 16, 18, 2, 15, 48, 2 }, { 17, 18, 2, 15, 48, 2 }, { 18, 18, 2, 15, 48, 2 }, { 19, 18, 2, 15, 48, 2 }, - { 20, 19, 2, 15, 48, 2 }, { 21, 19, 2, 15, 48, 2 }, { 22, 19, 3, 14, 48, 2 }, { 23, 19, 3, 14, 48, 2 }, { 24, 20, 3, 14, 48, 2 }, - { 25, 20, 3, 14, 48, 2 }, { 26, 20, 3, 14, 48, 2 }, { 27, 21, 3, 14, 48, 2 }, { 28, 21, 3, 14, 48, 2 }, { 29, 21, 4, 14, 48, 2 }, - { 30, 22, 4, 14, 48, 2 }, { 31, 22, 4, 14, 48, 2 }, { 32, 23, 4, 14, 48, 2 }, { 33, 23, 4, 14, 48, 2 }, { 34, 24, 4, 14, 48, 2 }, - { 35, 24, 4, 14, 48, 2 }, { 36, 25, 5, 14, 48, 2 }, { 37, 25, 5, 13, 48, 2 }, { 38, 26, 5, 13, 48, 2 }, { 39, 26, 5, 13, 48, 2 }, - { 40, 27, 5, 13, 48, 2 }, { 41, 28, 5, 13, 48, 2 }, { 42, 28, 5, 13, 48, 2 }, { 43, 29, 6, 13, 48, 2 }, { 44, 30, 6, 13, 48, 2 }, - { 45, 30, 6, 13, 48, 2 }, { 46, 31, 6, 13, 48, 2 }, { 47, 32, 6, 13, 48, 2 }, { 48, 32, 6, 13, 48, 2 }, { 49, 33, 6, 13, 48, 2 }, - { 50, 34, 7, 12, 48, 2 }, { 51, 35, 7, 12, 48, 2 }, { 52, 35, 7, 12, 48, 2 }, { 53, 36, 7, 12, 48, 2 }, { 54, 37, 7, 12, 48, 2 }, - { 55, 38, 7, 12, 48, 2 }, { 56, 39, 7, 12, 48, 2 }, { 57, 39, 8, 12, 48, 2 }, { 58, 40, 8, 12, 48, 2 }, { 59, 41, 8, 12, 48, 2 }, - { 60, 42, 8, 12, 48, 2 }, { 61, 43, 8, 12, 48, 2 }, { 61, 44, 8, 12, 48, 2 }, { 62, 45, 8, 11, 48, 2 }, { 63, 46, 8, 11, 48, 2 }, - { 64, 47, 9, 11, 48, 2 }, { 64, 48, 9, 11, 48, 2 }, { 65, 49, 9, 11, 48, 2 }, { 66, 50, 9, 11, 48, 2 }, { 66, 51, 9, 11, 48, 2 }, - { 67, 52, 9, 11, 48, 2 }, { 68, 53, 9, 11, 48, 2 }, { 68, 54, 10, 11, 48, 2 }, { 69, 55, 10, 11, 48, 2 }, { 70, 56, 10, 11, 48, 2 }, - { 70, 57, 10, 11, 48, 2 }, { 71, 58, 10, 10, 48, 2 }, { 71, 59, 10, 10, 48, 2 }, { 72, 60, 10, 10, 48, 2 }, { 72, 61, 11, 10, 48, 2 }, - { 73, 62, 11, 10, 48, 2 }, { 73, 63, 11, 10, 48, 2 }, { 74, 64, 11, 10, 48, 2 }, { 74, 65, 11, 10, 48, 2 }, { 75, 66, 11, 10, 48, 2 }, - { 75, 67, 11, 10, 48, 2 }, { 75, 68, 12, 10, 48, 2 }, { 76, 69, 12, 10, 48, 2 }, { 76, 70, 12, 10, 48, 2 }, { 76, 71, 12, 10, 48, 2 }, - { 77, 72, 12, 9, 48, 2 }, { 77, 73, 12, 9, 48, 2 }, { 77, 74, 12, 9, 48, 2 }, { 77, 75, 13, 9, 48, 2 }, { 78, 76, 13, 9, 48, 2 }, - { 78, 77, 13, 9, 48, 2 }, { 78, 78, 13, 9, 48, 2 }, { 78, 79, 13, 9, 48, 2 }, { 78, 80, 13, 9, 48, 2 }, { 79, 81, 13, 9, 48, 2 }, - { 79, 82, 14, 9, 48, 2 }, { 79, 83, 14, 9, 48, 2 }, { 79, 84, 14, 9, 48, 2 }, { 79, 85, 14, 9, 48, 2 }, { 79, 86, 14, 9, 48, 2 }, - { 80, 87, 14, 9, 48, 2 }, { 80, 88, 14, 8, 48, 2 }, { 80, 89, 15, 8, 48, 2 }, { 80, 90, 15, 8, 48, 2 }, { 80, 91, 15, 8, 48, 2 }, - { 80, 92, 15, 8, 48, 2 }, { 80, 93, 15, 8, 48, 2 }, { 80, 94, 15, 8, 48, 2 }, { 80, 95, 15, 8, 48, 2 }, + 114, { + { 0, 16, 0, 16, 48, 2 }, { 1, 16, 0, 16, 48, 2 }, { 2, 16, 0, 16, 48, 2 }, { 3, 16, 0, 16, 48, 2 }, { 4, 16, 0, 16, 48, 2 }, + { 5, 16, 0, 16, 48, 2 }, { 6, 16, 0, 16, 48, 2 }, { 7, 16, 0, 16, 48, 2 }, { 8, 16, 1, 15, 48, 2 }, { 9, 17, 1, 15, 48, 2 }, + { 10, 17, 1, 15, 48, 2 }, { 11, 17, 1, 15, 48, 2 }, { 12, 17, 1, 15, 48, 2 }, { 13, 17, 1, 15, 48, 2 }, { 14, 17, 1, 15, 48, 2 }, + { 15, 18, 2, 15, 48, 2 }, { 16, 18, 2, 15, 48, 2 }, { 17, 18, 2, 15, 48, 2 }, { 18, 18, 2, 15, 48, 2 }, { 19, 18, 2, 15, 48, 2 }, + { 20, 19, 2, 15, 48, 2 }, { 21, 19, 2, 15, 48, 2 }, { 22, 19, 3, 14, 48, 2 }, { 23, 19, 3, 14, 48, 2 }, { 24, 20, 3, 14, 48, 2 }, + { 25, 20, 3, 14, 48, 2 }, { 26, 20, 3, 14, 48, 2 }, { 27, 21, 3, 14, 48, 2 }, { 28, 21, 3, 14, 48, 2 }, { 29, 21, 4, 14, 48, 2 }, + { 30, 22, 4, 14, 48, 2 }, { 31, 22, 4, 14, 48, 2 }, { 32, 23, 4, 14, 48, 2 }, { 33, 23, 4, 14, 48, 2 }, { 34, 24, 4, 14, 48, 2 }, + { 35, 24, 4, 14, 48, 2 }, { 36, 25, 5, 14, 48, 2 }, { 37, 25, 5, 13, 48, 2 }, { 38, 26, 5, 13, 48, 2 }, { 39, 26, 5, 13, 48, 2 }, + { 40, 27, 5, 13, 48, 2 }, { 41, 28, 5, 13, 48, 2 }, { 42, 28, 5, 13, 48, 2 }, { 43, 29, 6, 13, 48, 2 }, { 44, 30, 6, 13, 48, 2 }, + { 45, 30, 6, 13, 48, 2 }, { 46, 31, 6, 13, 48, 2 }, { 47, 32, 6, 13, 48, 2 }, { 48, 32, 6, 13, 48, 2 }, { 49, 33, 6, 13, 48, 2 }, + { 50, 34, 7, 12, 48, 2 }, { 51, 35, 7, 12, 48, 2 }, { 52, 35, 7, 12, 48, 2 }, { 53, 36, 7, 12, 48, 2 }, { 54, 37, 7, 12, 48, 2 }, + { 55, 38, 7, 12, 48, 2 }, { 56, 39, 7, 12, 48, 2 }, { 57, 39, 8, 12, 48, 2 }, { 58, 40, 8, 12, 48, 2 }, { 59, 41, 8, 12, 48, 2 }, + { 60, 42, 8, 12, 48, 2 }, { 61, 43, 8, 12, 48, 2 }, { 61, 44, 8, 12, 48, 2 }, { 62, 45, 8, 11, 48, 2 }, { 63, 46, 8, 11, 48, 2 }, + { 64, 47, 9, 11, 48, 2 }, { 64, 48, 9, 11, 48, 2 }, { 65, 49, 9, 11, 48, 2 }, { 66, 50, 9, 11, 48, 2 }, { 66, 51, 9, 11, 48, 2 }, + { 67, 52, 9, 11, 48, 2 }, { 68, 53, 9, 11, 48, 2 }, { 68, 54, 10, 11, 48, 2 }, { 69, 55, 10, 11, 48, 2 }, { 70, 56, 10, 11, 48, 2 }, + { 70, 57, 10, 11, 48, 2 }, { 71, 58, 10, 10, 48, 2 }, { 71, 59, 10, 10, 48, 2 }, { 72, 60, 10, 10, 48, 2 }, { 72, 61, 11, 10, 48, 2 }, + { 73, 62, 11, 10, 48, 2 }, { 73, 63, 11, 10, 48, 2 }, { 74, 64, 11, 10, 48, 2 }, { 74, 65, 11, 10, 48, 2 }, { 75, 66, 11, 10, 48, 2 }, + { 75, 67, 11, 10, 48, 2 }, { 75, 68, 12, 10, 48, 2 }, { 76, 69, 12, 10, 48, 2 }, { 76, 70, 12, 10, 48, 2 }, { 76, 71, 12, 10, 48, 2 }, + { 77, 72, 12, 9, 48, 2 }, { 77, 73, 12, 9, 48, 2 }, { 77, 74, 12, 9, 48, 2 }, { 77, 75, 13, 9, 48, 2 }, { 78, 76, 13, 9, 48, 2 }, + { 78, 77, 13, 9, 48, 2 }, { 78, 78, 13, 9, 48, 2 }, { 78, 79, 13, 9, 48, 2 }, { 78, 80, 13, 9, 48, 2 }, { 79, 81, 13, 9, 48, 2 }, + { 79, 82, 14, 9, 48, 2 }, { 79, 83, 14, 9, 48, 2 }, { 79, 84, 14, 9, 48, 2 }, { 79, 85, 14, 9, 48, 2 }, { 79, 86, 14, 9, 48, 2 }, + { 80, 87, 14, 9, 48, 2 }, { 80, 88, 14, 8, 48, 2 }, { 80, 89, 15, 8, 48, 2 }, { 80, 90, 15, 8, 48, 2 }, { 80, 91, 15, 8, 48, 2 }, + { 80, 92, 15, 8, 48, 2 }, { 80, 93, 15, 8, 48, 2 }, { 80, 94, 15, 8, 48, 2 }, { 80, 95, 15, 8, 48, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B1AC7 = { - 113, { - { 16, 31, 0, 24, 48, 2 }, { 16, 30, 0, 24, 48, 2 }, { 16, 29, 0, 24, 48, 2 }, { 16, 28, 0, 24, 48, 2 }, { 16, 27, 0, 24, 48, 2 }, - { 16, 26, 0, 24, 48, 2 }, { 16, 25, 0, 24, 48, 2 }, { 16, 24, 1, 23, 48, 2 }, { 17, 23, 1, 23, 48, 2 }, { 17, 22, 1, 23, 48, 2 }, - { 17, 21, 1, 23, 48, 2 }, { 17, 20, 1, 23, 48, 2 }, { 17, 19, 1, 23, 48, 2 }, { 17, 18, 1, 23, 48, 2 }, { 18, 17, 2, 23, 48, 2 }, - { 18, 16, 2, 23, 48, 2 }, { 18, 15, 2, 23, 48, 2 }, { 18, 14, 2, 23, 48, 2 }, { 18, 13, 2, 23, 48, 2 }, { 19, 12, 2, 23, 48, 2 }, - { 19, 11, 2, 23, 48, 2 }, { 19, 10, 3, 22, 48, 2 }, { 19, 9, 3, 22, 48, 2 }, { 20, 8, 3, 22, 48, 2 }, { 20, 7, 3, 22, 48, 2 }, - { 20, 6, 3, 22, 48, 2 }, { 21, 5, 3, 22, 48, 2 }, { 21, 4, 3, 22, 48, 2 }, { 21, 3, 4, 22, 48, 2 }, { 22, 2, 4, 22, 48, 2 }, - { 22, 1, 4, 22, 48, 2 }, { 23, 0, 4, 22, 48, 2 }, { 23, -1, 4, 22, 48, 2 }, { 24, -2, 4, 22, 48, 2 }, { 24, -3, 4, 22, 48, 2 }, - { 25, -4, 5, 22, 48, 2 }, { 25, -5, 5, 21, 48, 2 }, { 26, -6, 5, 21, 48, 2 }, { 26, -7, 5, 21, 48, 2 }, { 27, -8, 5, 21, 48, 2 }, - { 28, -9, 5, 21, 48, 2 }, { 28, -10, 5, 21, 48, 2 }, { 29, -11, 6, 21, 48, 2 }, { 30, -12, 6, 21, 48, 2 }, { 30, -13, 6, 21, 48, 2 }, - { 31, -14, 6, 21, 48, 2 }, { 32, -15, 6, 21, 48, 2 }, { 32, -16, 6, 21, 48, 2 }, { 33, -17, 6, 21, 48, 2 }, { 34, -18, 7, 20, 48, 2 }, - { 35, -19, 7, 20, 48, 2 }, { 35, -20, 7, 20, 48, 2 }, { 36, -21, 7, 20, 48, 2 }, { 37, -22, 7, 20, 48, 2 }, { 38, -23, 7, 20, 48, 2 }, - { 39, -24, 7, 20, 48, 2 }, { 39, -25, 8, 20, 48, 2 }, { 40, -26, 8, 20, 48, 2 }, { 41, -27, 8, 20, 48, 2 }, { 42, -28, 8, 20, 48, 2 }, - { 43, -29, 8, 20, 48, 2 }, { 44, -29, 8, 20, 48, 2 }, { 45, -30, 8, 19, 48, 2 }, { 46, -31, 9, 19, 48, 2 }, { 47, -32, 9, 19, 48, 2 }, - { 48, -32, 9, 19, 48, 2 }, { 49, -33, 9, 19, 48, 2 }, { 50, -34, 9, 19, 48, 2 }, { 51, -34, 9, 19, 48, 2 }, { 52, -35, 9, 19, 48, 2 }, - { 53, -36, 10, 19, 48, 2 }, { 54, -36, 10, 19, 48, 2 }, { 55, -37, 10, 19, 48, 2 }, { 56, -38, 10, 19, 48, 2 }, { 57, -38, 10, 19, 48, 2 }, - { 58, -39, 10, 18, 48, 2 }, { 59, -39, 10, 18, 48, 2 }, { 60, -40, 11, 18, 48, 2 }, { 61, -40, 11, 18, 48, 2 }, { 62, -41, 11, 18, 48, 2 }, - { 63, -41, 11, 18, 48, 2 }, { 64, -42, 11, 18, 48, 2 }, { 65, -42, 11, 18, 48, 2 }, { 66, -43, 11, 18, 48, 2 }, { 67, -43, 12, 18, 48, 2 }, - { 68, -43, 12, 18, 48, 2 }, { 69, -44, 12, 18, 48, 2 }, { 70, -44, 12, 18, 48, 2 }, { 71, -44, 12, 18, 48, 2 }, { 72, -45, 12, 17, 48, 2 }, - { 73, -45, 12, 17, 48, 2 }, { 74, -45, 13, 17, 48, 2 }, { 75, -45, 13, 17, 48, 2 }, { 76, -46, 13, 17, 48, 2 }, { 77, -46, 13, 17, 48, 2 }, - { 78, -46, 13, 17, 48, 2 }, { 79, -46, 13, 17, 48, 2 }, { 80, -46, 13, 17, 48, 2 }, { 81, -47, 14, 17, 48, 2 }, { 82, -47, 14, 17, 48, 2 }, - { 83, -47, 14, 17, 48, 2 }, { 84, -47, 14, 17, 48, 2 }, { 85, -47, 14, 17, 48, 2 }, { 86, -47, 14, 17, 48, 2 }, { 87, -48, 14, 17, 48, 2 }, - { 88, -48, 15, 16, 48, 2 }, { 89, -48, 15, 16, 48, 2 }, { 90, -48, 15, 16, 48, 2 }, { 91, -48, 15, 16, 48, 2 }, { 92, -48, 15, 16, 48, 2 }, - { 93, -48, 15, 16, 48, 2 }, { 94, -48, 15, 16, 48, 2 }, { 95, -48, 16, 16, 48, 2 }, + 113, { + { 16, 31, 0, 24, 48, 2 }, { 16, 30, 0, 24, 48, 2 }, { 16, 29, 0, 24, 48, 2 }, { 16, 28, 0, 24, 48, 2 }, { 16, 27, 0, 24, 48, 2 }, + { 16, 26, 0, 24, 48, 2 }, { 16, 25, 0, 24, 48, 2 }, { 16, 24, 1, 23, 48, 2 }, { 17, 23, 1, 23, 48, 2 }, { 17, 22, 1, 23, 48, 2 }, + { 17, 21, 1, 23, 48, 2 }, { 17, 20, 1, 23, 48, 2 }, { 17, 19, 1, 23, 48, 2 }, { 17, 18, 1, 23, 48, 2 }, { 18, 17, 2, 23, 48, 2 }, + { 18, 16, 2, 23, 48, 2 }, { 18, 15, 2, 23, 48, 2 }, { 18, 14, 2, 23, 48, 2 }, { 18, 13, 2, 23, 48, 2 }, { 19, 12, 2, 23, 48, 2 }, + { 19, 11, 2, 23, 48, 2 }, { 19, 10, 3, 22, 48, 2 }, { 19, 9, 3, 22, 48, 2 }, { 20, 8, 3, 22, 48, 2 }, { 20, 7, 3, 22, 48, 2 }, + { 20, 6, 3, 22, 48, 2 }, { 21, 5, 3, 22, 48, 2 }, { 21, 4, 3, 22, 48, 2 }, { 21, 3, 4, 22, 48, 2 }, { 22, 2, 4, 22, 48, 2 }, + { 22, 1, 4, 22, 48, 2 }, { 23, 0, 4, 22, 48, 2 }, { 23, -1, 4, 22, 48, 2 }, { 24, -2, 4, 22, 48, 2 }, { 24, -3, 4, 22, 48, 2 }, + { 25, -4, 5, 22, 48, 2 }, { 25, -5, 5, 21, 48, 2 }, { 26, -6, 5, 21, 48, 2 }, { 26, -7, 5, 21, 48, 2 }, { 27, -8, 5, 21, 48, 2 }, + { 28, -9, 5, 21, 48, 2 }, { 28, -10, 5, 21, 48, 2 }, { 29, -11, 6, 21, 48, 2 }, { 30, -12, 6, 21, 48, 2 }, { 30, -13, 6, 21, 48, 2 }, + { 31, -14, 6, 21, 48, 2 }, { 32, -15, 6, 21, 48, 2 }, { 32, -16, 6, 21, 48, 2 }, { 33, -17, 6, 21, 48, 2 }, { 34, -18, 7, 20, 48, 2 }, + { 35, -19, 7, 20, 48, 2 }, { 35, -20, 7, 20, 48, 2 }, { 36, -21, 7, 20, 48, 2 }, { 37, -22, 7, 20, 48, 2 }, { 38, -23, 7, 20, 48, 2 }, + { 39, -24, 7, 20, 48, 2 }, { 39, -25, 8, 20, 48, 2 }, { 40, -26, 8, 20, 48, 2 }, { 41, -27, 8, 20, 48, 2 }, { 42, -28, 8, 20, 48, 2 }, + { 43, -29, 8, 20, 48, 2 }, { 44, -29, 8, 20, 48, 2 }, { 45, -30, 8, 19, 48, 2 }, { 46, -31, 9, 19, 48, 2 }, { 47, -32, 9, 19, 48, 2 }, + { 48, -32, 9, 19, 48, 2 }, { 49, -33, 9, 19, 48, 2 }, { 50, -34, 9, 19, 48, 2 }, { 51, -34, 9, 19, 48, 2 }, { 52, -35, 9, 19, 48, 2 }, + { 53, -36, 10, 19, 48, 2 }, { 54, -36, 10, 19, 48, 2 }, { 55, -37, 10, 19, 48, 2 }, { 56, -38, 10, 19, 48, 2 }, { 57, -38, 10, 19, 48, 2 }, + { 58, -39, 10, 18, 48, 2 }, { 59, -39, 10, 18, 48, 2 }, { 60, -40, 11, 18, 48, 2 }, { 61, -40, 11, 18, 48, 2 }, { 62, -41, 11, 18, 48, 2 }, + { 63, -41, 11, 18, 48, 2 }, { 64, -42, 11, 18, 48, 2 }, { 65, -42, 11, 18, 48, 2 }, { 66, -43, 11, 18, 48, 2 }, { 67, -43, 12, 18, 48, 2 }, + { 68, -43, 12, 18, 48, 2 }, { 69, -44, 12, 18, 48, 2 }, { 70, -44, 12, 18, 48, 2 }, { 71, -44, 12, 18, 48, 2 }, { 72, -45, 12, 17, 48, 2 }, + { 73, -45, 12, 17, 48, 2 }, { 74, -45, 13, 17, 48, 2 }, { 75, -45, 13, 17, 48, 2 }, { 76, -46, 13, 17, 48, 2 }, { 77, -46, 13, 17, 48, 2 }, + { 78, -46, 13, 17, 48, 2 }, { 79, -46, 13, 17, 48, 2 }, { 80, -46, 13, 17, 48, 2 }, { 81, -47, 14, 17, 48, 2 }, { 82, -47, 14, 17, 48, 2 }, + { 83, -47, 14, 17, 48, 2 }, { 84, -47, 14, 17, 48, 2 }, { 85, -47, 14, 17, 48, 2 }, { 86, -47, 14, 17, 48, 2 }, { 87, -48, 14, 17, 48, 2 }, + { 88, -48, 15, 16, 48, 2 }, { 89, -48, 15, 16, 48, 2 }, { 90, -48, 15, 16, 48, 2 }, { 91, -48, 15, 16, 48, 2 }, { 92, -48, 15, 16, 48, 2 }, + { 93, -48, 15, 16, 48, 2 }, { 94, -48, 15, 16, 48, 2 }, { 95, -48, 16, 16, 48, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B1EC2 = { - 113, { - { 31, 16, 0, 0, 48, 4 }, { 30, 16, 0, 0, 48, 4 }, { 29, 16, 0, 0, 48, 4 }, { 28, 16, 0, 0, 48, 4 }, { 27, 16, 0, 0, 48, 4 }, - { 26, 16, 0, 0, 48, 4 }, { 25, 16, 0, 0, 48, 4 }, { 24, 16, 1, 1, 48, 4 }, { 23, 17, 1, 1, 48, 4 }, { 22, 17, 1, 1, 48, 4 }, - { 21, 17, 1, 1, 48, 4 }, { 20, 17, 1, 1, 48, 4 }, { 19, 17, 1, 1, 48, 4 }, { 18, 17, 1, 1, 48, 4 }, { 17, 18, 2, 1, 48, 4 }, - { 16, 18, 2, 1, 48, 4 }, { 15, 18, 2, 1, 48, 4 }, { 14, 18, 2, 1, 48, 4 }, { 13, 18, 2, 1, 48, 4 }, { 12, 19, 2, 1, 48, 4 }, - { 11, 19, 2, 1, 48, 4 }, { 10, 19, 3, 2, 48, 4 }, { 9, 19, 3, 2, 48, 4 }, { 8, 20, 3, 2, 48, 4 }, { 7, 20, 3, 2, 48, 4 }, - { 6, 20, 3, 2, 48, 4 }, { 5, 21, 3, 2, 48, 4 }, { 4, 21, 3, 2, 48, 4 }, { 3, 21, 4, 2, 48, 4 }, { 2, 22, 4, 2, 48, 4 }, - { 1, 22, 4, 2, 48, 4 }, { 0, 23, 4, 2, 48, 4 }, { -1, 23, 4, 2, 48, 4 }, { -2, 24, 4, 2, 48, 4 }, { -3, 24, 4, 2, 48, 4 }, - { -4, 25, 5, 2, 48, 4 }, { -5, 25, 5, 3, 48, 4 }, { -6, 26, 5, 3, 48, 4 }, { -7, 26, 5, 3, 48, 4 }, { -8, 27, 5, 3, 48, 4 }, - { -9, 28, 5, 3, 48, 4 }, { -10, 28, 5, 3, 48, 4 }, { -11, 29, 6, 3, 48, 4 }, { -12, 30, 6, 3, 48, 4 }, { -13, 30, 6, 3, 48, 4 }, - { -14, 31, 6, 3, 48, 4 }, { -15, 32, 6, 3, 48, 4 }, { -16, 32, 6, 3, 48, 4 }, { -17, 33, 6, 3, 48, 4 }, { -18, 34, 7, 4, 48, 4 }, - { -19, 35, 7, 4, 48, 4 }, { -20, 35, 7, 4, 48, 4 }, { -21, 36, 7, 4, 48, 4 }, { -22, 37, 7, 4, 48, 4 }, { -23, 38, 7, 4, 48, 4 }, - { -24, 39, 7, 4, 48, 4 }, { -25, 39, 8, 4, 48, 4 }, { -26, 40, 8, 4, 48, 4 }, { -27, 41, 8, 4, 48, 4 }, { -28, 42, 8, 4, 48, 4 }, - { -29, 43, 8, 4, 48, 4 }, { -29, 44, 8, 4, 48, 4 }, { -30, 45, 8, 5, 48, 4 }, { -31, 46, 9, 5, 48, 4 }, { -32, 47, 9, 5, 48, 4 }, - { -32, 48, 9, 5, 48, 4 }, { -33, 49, 9, 5, 48, 4 }, { -34, 50, 9, 5, 48, 4 }, { -34, 51, 9, 5, 48, 4 }, { -35, 52, 9, 5, 48, 4 }, - { -36, 53, 10, 5, 48, 4 }, { -36, 54, 10, 5, 48, 4 }, { -37, 55, 10, 5, 48, 4 }, { -38, 56, 10, 5, 48, 4 }, { -38, 57, 10, 5, 48, 4 }, - { -39, 58, 10, 6, 48, 4 }, { -39, 59, 10, 6, 48, 4 }, { -40, 60, 11, 6, 48, 4 }, { -40, 61, 11, 6, 48, 4 }, { -41, 62, 11, 6, 48, 4 }, - { -41, 63, 11, 6, 48, 4 }, { -42, 64, 11, 6, 48, 4 }, { -42, 65, 11, 6, 48, 4 }, { -43, 66, 11, 6, 48, 4 }, { -43, 67, 12, 6, 48, 4 }, - { -43, 68, 12, 6, 48, 4 }, { -44, 69, 12, 6, 48, 4 }, { -44, 70, 12, 6, 48, 4 }, { -44, 71, 12, 6, 48, 4 }, { -45, 72, 12, 7, 48, 4 }, - { -45, 73, 12, 7, 48, 4 }, { -45, 74, 13, 7, 48, 4 }, { -45, 75, 13, 7, 48, 4 }, { -46, 76, 13, 7, 48, 4 }, { -46, 77, 13, 7, 48, 4 }, - { -46, 78, 13, 7, 48, 4 }, { -46, 79, 13, 7, 48, 4 }, { -46, 80, 13, 7, 48, 4 }, { -47, 81, 14, 7, 48, 4 }, { -47, 82, 14, 7, 48, 4 }, - { -47, 83, 14, 7, 48, 4 }, { -47, 84, 14, 7, 48, 4 }, { -47, 85, 14, 7, 48, 4 }, { -47, 86, 14, 7, 48, 4 }, { -48, 87, 14, 7, 48, 4 }, - { -48, 88, 15, 8, 48, 4 }, { -48, 89, 15, 8, 48, 4 }, { -48, 90, 15, 8, 48, 4 }, { -48, 91, 15, 8, 48, 4 }, { -48, 92, 15, 8, 48, 4 }, - { -48, 93, 15, 8, 48, 4 }, { -48, 94, 15, 8, 48, 4 }, { -48, 95, 16, 8, 48, 4 }, + 113, { + { 31, 16, 0, 0, 48, 4 }, { 30, 16, 0, 0, 48, 4 }, { 29, 16, 0, 0, 48, 4 }, { 28, 16, 0, 0, 48, 4 }, { 27, 16, 0, 0, 48, 4 }, + { 26, 16, 0, 0, 48, 4 }, { 25, 16, 0, 0, 48, 4 }, { 24, 16, 1, 1, 48, 4 }, { 23, 17, 1, 1, 48, 4 }, { 22, 17, 1, 1, 48, 4 }, + { 21, 17, 1, 1, 48, 4 }, { 20, 17, 1, 1, 48, 4 }, { 19, 17, 1, 1, 48, 4 }, { 18, 17, 1, 1, 48, 4 }, { 17, 18, 2, 1, 48, 4 }, + { 16, 18, 2, 1, 48, 4 }, { 15, 18, 2, 1, 48, 4 }, { 14, 18, 2, 1, 48, 4 }, { 13, 18, 2, 1, 48, 4 }, { 12, 19, 2, 1, 48, 4 }, + { 11, 19, 2, 1, 48, 4 }, { 10, 19, 3, 2, 48, 4 }, { 9, 19, 3, 2, 48, 4 }, { 8, 20, 3, 2, 48, 4 }, { 7, 20, 3, 2, 48, 4 }, + { 6, 20, 3, 2, 48, 4 }, { 5, 21, 3, 2, 48, 4 }, { 4, 21, 3, 2, 48, 4 }, { 3, 21, 4, 2, 48, 4 }, { 2, 22, 4, 2, 48, 4 }, + { 1, 22, 4, 2, 48, 4 }, { 0, 23, 4, 2, 48, 4 }, { -1, 23, 4, 2, 48, 4 }, { -2, 24, 4, 2, 48, 4 }, { -3, 24, 4, 2, 48, 4 }, + { -4, 25, 5, 2, 48, 4 }, { -5, 25, 5, 3, 48, 4 }, { -6, 26, 5, 3, 48, 4 }, { -7, 26, 5, 3, 48, 4 }, { -8, 27, 5, 3, 48, 4 }, + { -9, 28, 5, 3, 48, 4 }, { -10, 28, 5, 3, 48, 4 }, { -11, 29, 6, 3, 48, 4 }, { -12, 30, 6, 3, 48, 4 }, { -13, 30, 6, 3, 48, 4 }, + { -14, 31, 6, 3, 48, 4 }, { -15, 32, 6, 3, 48, 4 }, { -16, 32, 6, 3, 48, 4 }, { -17, 33, 6, 3, 48, 4 }, { -18, 34, 7, 4, 48, 4 }, + { -19, 35, 7, 4, 48, 4 }, { -20, 35, 7, 4, 48, 4 }, { -21, 36, 7, 4, 48, 4 }, { -22, 37, 7, 4, 48, 4 }, { -23, 38, 7, 4, 48, 4 }, + { -24, 39, 7, 4, 48, 4 }, { -25, 39, 8, 4, 48, 4 }, { -26, 40, 8, 4, 48, 4 }, { -27, 41, 8, 4, 48, 4 }, { -28, 42, 8, 4, 48, 4 }, + { -29, 43, 8, 4, 48, 4 }, { -29, 44, 8, 4, 48, 4 }, { -30, 45, 8, 5, 48, 4 }, { -31, 46, 9, 5, 48, 4 }, { -32, 47, 9, 5, 48, 4 }, + { -32, 48, 9, 5, 48, 4 }, { -33, 49, 9, 5, 48, 4 }, { -34, 50, 9, 5, 48, 4 }, { -34, 51, 9, 5, 48, 4 }, { -35, 52, 9, 5, 48, 4 }, + { -36, 53, 10, 5, 48, 4 }, { -36, 54, 10, 5, 48, 4 }, { -37, 55, 10, 5, 48, 4 }, { -38, 56, 10, 5, 48, 4 }, { -38, 57, 10, 5, 48, 4 }, + { -39, 58, 10, 6, 48, 4 }, { -39, 59, 10, 6, 48, 4 }, { -40, 60, 11, 6, 48, 4 }, { -40, 61, 11, 6, 48, 4 }, { -41, 62, 11, 6, 48, 4 }, + { -41, 63, 11, 6, 48, 4 }, { -42, 64, 11, 6, 48, 4 }, { -42, 65, 11, 6, 48, 4 }, { -43, 66, 11, 6, 48, 4 }, { -43, 67, 12, 6, 48, 4 }, + { -43, 68, 12, 6, 48, 4 }, { -44, 69, 12, 6, 48, 4 }, { -44, 70, 12, 6, 48, 4 }, { -44, 71, 12, 6, 48, 4 }, { -45, 72, 12, 7, 48, 4 }, + { -45, 73, 12, 7, 48, 4 }, { -45, 74, 13, 7, 48, 4 }, { -45, 75, 13, 7, 48, 4 }, { -46, 76, 13, 7, 48, 4 }, { -46, 77, 13, 7, 48, 4 }, + { -46, 78, 13, 7, 48, 4 }, { -46, 79, 13, 7, 48, 4 }, { -46, 80, 13, 7, 48, 4 }, { -47, 81, 14, 7, 48, 4 }, { -47, 82, 14, 7, 48, 4 }, + { -47, 83, 14, 7, 48, 4 }, { -47, 84, 14, 7, 48, 4 }, { -47, 85, 14, 7, 48, 4 }, { -47, 86, 14, 7, 48, 4 }, { -48, 87, 14, 7, 48, 4 }, + { -48, 88, 15, 8, 48, 4 }, { -48, 89, 15, 8, 48, 4 }, { -48, 90, 15, 8, 48, 4 }, { -48, 91, 15, 8, 48, 4 }, { -48, 92, 15, 8, 48, 4 }, + { -48, 93, 15, 8, 48, 4 }, { -48, 94, 15, 8, 48, 4 }, { -48, 95, 16, 8, 48, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B22BD = { - 114, { - { 16, 0, 0, 8, 48, 4 }, { 16, 1, 0, 8, 48, 4 }, { 16, 2, 0, 8, 48, 4 }, { 16, 3, 0, 8, 48, 4 }, { 16, 4, 0, 8, 48, 4 }, - { 16, 5, 0, 8, 48, 4 }, { 16, 6, 0, 8, 48, 4 }, { 16, 7, 0, 8, 48, 4 }, { 16, 8, 1, 9, 48, 4 }, { 17, 9, 1, 9, 48, 4 }, - { 17, 10, 1, 9, 48, 4 }, { 17, 11, 1, 9, 48, 4 }, { 17, 12, 1, 9, 48, 4 }, { 17, 13, 1, 9, 48, 4 }, { 17, 14, 1, 9, 48, 4 }, - { 18, 15, 2, 9, 48, 4 }, { 18, 16, 2, 9, 48, 4 }, { 18, 17, 2, 9, 48, 4 }, { 18, 18, 2, 9, 48, 4 }, { 18, 19, 2, 9, 48, 4 }, - { 19, 20, 2, 9, 48, 4 }, { 19, 21, 2, 9, 48, 4 }, { 19, 22, 3, 10, 48, 4 }, { 19, 23, 3, 10, 48, 4 }, { 20, 24, 3, 10, 48, 4 }, - { 20, 25, 3, 10, 48, 4 }, { 20, 26, 3, 10, 48, 4 }, { 21, 27, 3, 10, 48, 4 }, { 21, 28, 3, 10, 48, 4 }, { 21, 29, 4, 10, 48, 4 }, - { 22, 30, 4, 10, 48, 4 }, { 22, 31, 4, 10, 48, 4 }, { 23, 32, 4, 10, 48, 4 }, { 23, 33, 4, 10, 48, 4 }, { 24, 34, 4, 10, 48, 4 }, - { 24, 35, 4, 10, 48, 4 }, { 25, 36, 5, 10, 48, 4 }, { 25, 37, 5, 11, 48, 4 }, { 26, 38, 5, 11, 48, 4 }, { 26, 39, 5, 11, 48, 4 }, - { 27, 40, 5, 11, 48, 4 }, { 28, 41, 5, 11, 48, 4 }, { 28, 42, 5, 11, 48, 4 }, { 29, 43, 6, 11, 48, 4 }, { 30, 44, 6, 11, 48, 4 }, - { 30, 45, 6, 11, 48, 4 }, { 31, 46, 6, 11, 48, 4 }, { 32, 47, 6, 11, 48, 4 }, { 32, 48, 6, 11, 48, 4 }, { 33, 49, 6, 11, 48, 4 }, - { 34, 50, 7, 12, 48, 4 }, { 35, 51, 7, 12, 48, 4 }, { 35, 52, 7, 12, 48, 4 }, { 36, 53, 7, 12, 48, 4 }, { 37, 54, 7, 12, 48, 4 }, - { 38, 55, 7, 12, 48, 4 }, { 39, 56, 7, 12, 48, 4 }, { 39, 57, 8, 12, 48, 4 }, { 40, 58, 8, 12, 48, 4 }, { 41, 59, 8, 12, 48, 4 }, - { 42, 60, 8, 12, 48, 4 }, { 43, 61, 8, 12, 48, 4 }, { 44, 61, 8, 12, 48, 4 }, { 45, 62, 8, 13, 48, 4 }, { 46, 63, 8, 13, 48, 4 }, - { 47, 64, 9, 13, 48, 4 }, { 48, 64, 9, 13, 48, 4 }, { 49, 65, 9, 13, 48, 4 }, { 50, 66, 9, 13, 48, 4 }, { 51, 66, 9, 13, 48, 4 }, - { 52, 67, 9, 13, 48, 4 }, { 53, 68, 9, 13, 48, 4 }, { 54, 68, 10, 13, 48, 4 }, { 55, 69, 10, 13, 48, 4 }, { 56, 70, 10, 13, 48, 4 }, - { 57, 70, 10, 13, 48, 4 }, { 58, 71, 10, 14, 48, 4 }, { 59, 71, 10, 14, 48, 4 }, { 60, 72, 10, 14, 48, 4 }, { 61, 72, 11, 14, 48, 4 }, - { 62, 73, 11, 14, 48, 4 }, { 63, 73, 11, 14, 48, 4 }, { 64, 74, 11, 14, 48, 4 }, { 65, 74, 11, 14, 48, 4 }, { 66, 75, 11, 14, 48, 4 }, - { 67, 75, 11, 14, 48, 4 }, { 68, 75, 12, 14, 48, 4 }, { 69, 76, 12, 14, 48, 4 }, { 70, 76, 12, 14, 48, 4 }, { 71, 76, 12, 14, 48, 4 }, - { 72, 77, 12, 15, 48, 4 }, { 73, 77, 12, 15, 48, 4 }, { 74, 77, 12, 15, 48, 4 }, { 75, 77, 13, 15, 48, 4 }, { 76, 78, 13, 15, 48, 4 }, - { 77, 78, 13, 15, 48, 4 }, { 78, 78, 13, 15, 48, 4 }, { 79, 78, 13, 15, 48, 4 }, { 80, 78, 13, 15, 48, 4 }, { 81, 79, 13, 15, 48, 4 }, - { 82, 79, 14, 15, 48, 4 }, { 83, 79, 14, 15, 48, 4 }, { 84, 79, 14, 15, 48, 4 }, { 85, 79, 14, 15, 48, 4 }, { 86, 79, 14, 15, 48, 4 }, - { 87, 80, 14, 15, 48, 4 }, { 88, 80, 14, 16, 48, 4 }, { 89, 80, 15, 16, 48, 4 }, { 90, 80, 15, 16, 48, 4 }, { 91, 80, 15, 16, 48, 4 }, - { 92, 80, 15, 16, 48, 4 }, { 93, 80, 15, 16, 48, 4 }, { 94, 80, 15, 16, 48, 4 }, { 95, 80, 15, 16, 48, 4 }, + 114, { + { 16, 0, 0, 8, 48, 4 }, { 16, 1, 0, 8, 48, 4 }, { 16, 2, 0, 8, 48, 4 }, { 16, 3, 0, 8, 48, 4 }, { 16, 4, 0, 8, 48, 4 }, + { 16, 5, 0, 8, 48, 4 }, { 16, 6, 0, 8, 48, 4 }, { 16, 7, 0, 8, 48, 4 }, { 16, 8, 1, 9, 48, 4 }, { 17, 9, 1, 9, 48, 4 }, + { 17, 10, 1, 9, 48, 4 }, { 17, 11, 1, 9, 48, 4 }, { 17, 12, 1, 9, 48, 4 }, { 17, 13, 1, 9, 48, 4 }, { 17, 14, 1, 9, 48, 4 }, + { 18, 15, 2, 9, 48, 4 }, { 18, 16, 2, 9, 48, 4 }, { 18, 17, 2, 9, 48, 4 }, { 18, 18, 2, 9, 48, 4 }, { 18, 19, 2, 9, 48, 4 }, + { 19, 20, 2, 9, 48, 4 }, { 19, 21, 2, 9, 48, 4 }, { 19, 22, 3, 10, 48, 4 }, { 19, 23, 3, 10, 48, 4 }, { 20, 24, 3, 10, 48, 4 }, + { 20, 25, 3, 10, 48, 4 }, { 20, 26, 3, 10, 48, 4 }, { 21, 27, 3, 10, 48, 4 }, { 21, 28, 3, 10, 48, 4 }, { 21, 29, 4, 10, 48, 4 }, + { 22, 30, 4, 10, 48, 4 }, { 22, 31, 4, 10, 48, 4 }, { 23, 32, 4, 10, 48, 4 }, { 23, 33, 4, 10, 48, 4 }, { 24, 34, 4, 10, 48, 4 }, + { 24, 35, 4, 10, 48, 4 }, { 25, 36, 5, 10, 48, 4 }, { 25, 37, 5, 11, 48, 4 }, { 26, 38, 5, 11, 48, 4 }, { 26, 39, 5, 11, 48, 4 }, + { 27, 40, 5, 11, 48, 4 }, { 28, 41, 5, 11, 48, 4 }, { 28, 42, 5, 11, 48, 4 }, { 29, 43, 6, 11, 48, 4 }, { 30, 44, 6, 11, 48, 4 }, + { 30, 45, 6, 11, 48, 4 }, { 31, 46, 6, 11, 48, 4 }, { 32, 47, 6, 11, 48, 4 }, { 32, 48, 6, 11, 48, 4 }, { 33, 49, 6, 11, 48, 4 }, + { 34, 50, 7, 12, 48, 4 }, { 35, 51, 7, 12, 48, 4 }, { 35, 52, 7, 12, 48, 4 }, { 36, 53, 7, 12, 48, 4 }, { 37, 54, 7, 12, 48, 4 }, + { 38, 55, 7, 12, 48, 4 }, { 39, 56, 7, 12, 48, 4 }, { 39, 57, 8, 12, 48, 4 }, { 40, 58, 8, 12, 48, 4 }, { 41, 59, 8, 12, 48, 4 }, + { 42, 60, 8, 12, 48, 4 }, { 43, 61, 8, 12, 48, 4 }, { 44, 61, 8, 12, 48, 4 }, { 45, 62, 8, 13, 48, 4 }, { 46, 63, 8, 13, 48, 4 }, + { 47, 64, 9, 13, 48, 4 }, { 48, 64, 9, 13, 48, 4 }, { 49, 65, 9, 13, 48, 4 }, { 50, 66, 9, 13, 48, 4 }, { 51, 66, 9, 13, 48, 4 }, + { 52, 67, 9, 13, 48, 4 }, { 53, 68, 9, 13, 48, 4 }, { 54, 68, 10, 13, 48, 4 }, { 55, 69, 10, 13, 48, 4 }, { 56, 70, 10, 13, 48, 4 }, + { 57, 70, 10, 13, 48, 4 }, { 58, 71, 10, 14, 48, 4 }, { 59, 71, 10, 14, 48, 4 }, { 60, 72, 10, 14, 48, 4 }, { 61, 72, 11, 14, 48, 4 }, + { 62, 73, 11, 14, 48, 4 }, { 63, 73, 11, 14, 48, 4 }, { 64, 74, 11, 14, 48, 4 }, { 65, 74, 11, 14, 48, 4 }, { 66, 75, 11, 14, 48, 4 }, + { 67, 75, 11, 14, 48, 4 }, { 68, 75, 12, 14, 48, 4 }, { 69, 76, 12, 14, 48, 4 }, { 70, 76, 12, 14, 48, 4 }, { 71, 76, 12, 14, 48, 4 }, + { 72, 77, 12, 15, 48, 4 }, { 73, 77, 12, 15, 48, 4 }, { 74, 77, 12, 15, 48, 4 }, { 75, 77, 13, 15, 48, 4 }, { 76, 78, 13, 15, 48, 4 }, + { 77, 78, 13, 15, 48, 4 }, { 78, 78, 13, 15, 48, 4 }, { 79, 78, 13, 15, 48, 4 }, { 80, 78, 13, 15, 48, 4 }, { 81, 79, 13, 15, 48, 4 }, + { 82, 79, 14, 15, 48, 4 }, { 83, 79, 14, 15, 48, 4 }, { 84, 79, 14, 15, 48, 4 }, { 85, 79, 14, 15, 48, 4 }, { 86, 79, 14, 15, 48, 4 }, + { 87, 80, 14, 15, 48, 4 }, { 88, 80, 14, 16, 48, 4 }, { 89, 80, 15, 16, 48, 4 }, { 90, 80, 15, 16, 48, 4 }, { 91, 80, 15, 16, 48, 4 }, + { 92, 80, 15, 16, 48, 4 }, { 93, 80, 15, 16, 48, 4 }, { 94, 80, 15, 16, 48, 4 }, { 95, 80, 15, 16, 48, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B26C1 = { - 115, { - { 0, 16, 0, 16, 48, 4 }, { 1, 16, 0, 16, 48, 4 }, { 2, 16, 0, 16, 48, 4 }, { 3, 16, 0, 16, 48, 4 }, { 4, 16, 0, 16, 48, 4 }, - { 5, 16, 0, 16, 48, 4 }, { 6, 16, 0, 16, 48, 4 }, { 7, 16, 0, 16, 48, 4 }, { 8, 16, 1, 17, 48, 4 }, { 9, 15, 1, 17, 48, 4 }, - { 10, 15, 1, 17, 48, 4 }, { 11, 15, 1, 17, 48, 4 }, { 12, 15, 1, 17, 48, 4 }, { 13, 15, 1, 17, 48, 4 }, { 14, 15, 1, 17, 48, 4 }, - { 15, 14, 2, 17, 48, 4 }, { 16, 14, 2, 17, 48, 4 }, { 17, 14, 2, 17, 48, 4 }, { 18, 14, 2, 17, 48, 4 }, { 19, 14, 2, 17, 48, 4 }, - { 20, 13, 2, 17, 48, 4 }, { 21, 13, 2, 17, 48, 4 }, { 22, 13, 3, 18, 48, 4 }, { 23, 13, 3, 18, 48, 4 }, { 24, 12, 3, 18, 48, 4 }, - { 25, 12, 3, 18, 48, 4 }, { 26, 12, 3, 18, 48, 4 }, { 27, 11, 3, 18, 48, 4 }, { 28, 11, 3, 18, 48, 4 }, { 29, 11, 4, 18, 48, 4 }, - { 30, 10, 4, 18, 48, 4 }, { 31, 10, 4, 18, 48, 4 }, { 32, 9, 4, 18, 48, 4 }, { 33, 9, 4, 18, 48, 4 }, { 34, 8, 4, 18, 48, 4 }, - { 35, 8, 4, 18, 48, 4 }, { 36, 7, 5, 18, 48, 4 }, { 37, 7, 5, 19, 48, 4 }, { 38, 6, 5, 19, 48, 4 }, { 39, 6, 5, 19, 48, 4 }, - { 40, 5, 5, 19, 48, 4 }, { 41, 4, 5, 19, 48, 4 }, { 42, 4, 5, 19, 48, 4 }, { 43, 3, 5, 19, 48, 4 }, { 44, 2, 6, 19, 48, 4 }, - { 45, 2, 6, 19, 48, 4 }, { 46, 1, 6, 19, 48, 4 }, { 47, 0, 6, 19, 48, 4 }, { 48, 0, 6, 19, 48, 4 }, { 49, -1, 6, 19, 48, 4 }, - { 50, -2, 6, 20, 48, 4 }, { 51, -3, 7, 20, 48, 4 }, { 52, -3, 7, 20, 48, 4 }, { 53, -4, 7, 20, 48, 4 }, { 54, -5, 7, 20, 48, 4 }, - { 55, -6, 7, 20, 48, 4 }, { 56, -7, 7, 20, 48, 4 }, { 57, -7, 7, 20, 48, 4 }, { 58, -8, 8, 20, 48, 4 }, { 59, -9, 8, 20, 48, 4 }, - { 60, -10, 8, 20, 48, 4 }, { 61, -11, 8, 20, 48, 4 }, { 61, -12, 8, 20, 48, 4 }, { 62, -13, 8, 21, 48, 4 }, { 63, -14, 8, 21, 48, 4 }, - { 64, -15, 9, 21, 48, 4 }, { 64, -16, 9, 21, 48, 4 }, { 65, -17, 9, 21, 48, 4 }, { 66, -18, 9, 21, 48, 4 }, { 66, -19, 9, 21, 48, 4 }, - { 67, -20, 9, 21, 48, 4 }, { 68, -21, 9, 21, 48, 4 }, { 68, -22, 10, 21, 48, 4 }, { 69, -23, 10, 21, 48, 4 }, { 70, -24, 10, 21, 48, 4 }, - { 70, -25, 10, 21, 48, 4 }, { 71, -26, 10, 22, 48, 4 }, { 71, -27, 10, 22, 48, 4 }, { 72, -28, 10, 22, 48, 4 }, { 72, -29, 10, 22, 48, 4 }, - { 73, -30, 11, 22, 48, 4 }, { 73, -31, 11, 22, 48, 4 }, { 74, -32, 11, 22, 48, 4 }, { 74, -33, 11, 22, 48, 4 }, { 75, -34, 11, 22, 48, 4 }, - { 75, -35, 11, 22, 48, 4 }, { 75, -36, 11, 22, 48, 4 }, { 76, -37, 12, 22, 48, 4 }, { 76, -38, 12, 22, 48, 4 }, { 76, -39, 12, 22, 48, 4 }, - { 77, -40, 12, 23, 48, 4 }, { 77, -41, 12, 23, 48, 4 }, { 77, -42, 12, 23, 48, 4 }, { 77, -43, 12, 23, 48, 4 }, { 78, -44, 13, 23, 48, 4 }, - { 78, -45, 13, 23, 48, 4 }, { 78, -46, 13, 23, 48, 4 }, { 78, -47, 13, 23, 48, 4 }, { 78, -48, 13, 23, 48, 4 }, { 79, -49, 13, 23, 48, 4 }, - { 79, -50, 13, 23, 48, 4 }, { 79, -51, 14, 23, 48, 4 }, { 79, -52, 14, 23, 48, 4 }, { 79, -53, 14, 23, 48, 4 }, { 79, -54, 14, 23, 48, 4 }, - { 80, -55, 14, 23, 48, 4 }, { 80, -56, 14, 24, 48, 4 }, { 80, -57, 14, 24, 48, 4 }, { 80, -58, 15, 24, 48, 4 }, { 80, -59, 15, 24, 48, 4 }, - { 80, -60, 15, 24, 48, 4 }, { 80, -61, 15, 24, 48, 4 }, { 80, -62, 15, 24, 48, 4 }, { 80, -63, 15, 24, 48, 4 }, { 80, -64, 15, 24, 48, 4 }, + 115, { + { 0, 16, 0, 16, 48, 4 }, { 1, 16, 0, 16, 48, 4 }, { 2, 16, 0, 16, 48, 4 }, { 3, 16, 0, 16, 48, 4 }, { 4, 16, 0, 16, 48, 4 }, + { 5, 16, 0, 16, 48, 4 }, { 6, 16, 0, 16, 48, 4 }, { 7, 16, 0, 16, 48, 4 }, { 8, 16, 1, 17, 48, 4 }, { 9, 15, 1, 17, 48, 4 }, + { 10, 15, 1, 17, 48, 4 }, { 11, 15, 1, 17, 48, 4 }, { 12, 15, 1, 17, 48, 4 }, { 13, 15, 1, 17, 48, 4 }, { 14, 15, 1, 17, 48, 4 }, + { 15, 14, 2, 17, 48, 4 }, { 16, 14, 2, 17, 48, 4 }, { 17, 14, 2, 17, 48, 4 }, { 18, 14, 2, 17, 48, 4 }, { 19, 14, 2, 17, 48, 4 }, + { 20, 13, 2, 17, 48, 4 }, { 21, 13, 2, 17, 48, 4 }, { 22, 13, 3, 18, 48, 4 }, { 23, 13, 3, 18, 48, 4 }, { 24, 12, 3, 18, 48, 4 }, + { 25, 12, 3, 18, 48, 4 }, { 26, 12, 3, 18, 48, 4 }, { 27, 11, 3, 18, 48, 4 }, { 28, 11, 3, 18, 48, 4 }, { 29, 11, 4, 18, 48, 4 }, + { 30, 10, 4, 18, 48, 4 }, { 31, 10, 4, 18, 48, 4 }, { 32, 9, 4, 18, 48, 4 }, { 33, 9, 4, 18, 48, 4 }, { 34, 8, 4, 18, 48, 4 }, + { 35, 8, 4, 18, 48, 4 }, { 36, 7, 5, 18, 48, 4 }, { 37, 7, 5, 19, 48, 4 }, { 38, 6, 5, 19, 48, 4 }, { 39, 6, 5, 19, 48, 4 }, + { 40, 5, 5, 19, 48, 4 }, { 41, 4, 5, 19, 48, 4 }, { 42, 4, 5, 19, 48, 4 }, { 43, 3, 5, 19, 48, 4 }, { 44, 2, 6, 19, 48, 4 }, + { 45, 2, 6, 19, 48, 4 }, { 46, 1, 6, 19, 48, 4 }, { 47, 0, 6, 19, 48, 4 }, { 48, 0, 6, 19, 48, 4 }, { 49, -1, 6, 19, 48, 4 }, + { 50, -2, 6, 20, 48, 4 }, { 51, -3, 7, 20, 48, 4 }, { 52, -3, 7, 20, 48, 4 }, { 53, -4, 7, 20, 48, 4 }, { 54, -5, 7, 20, 48, 4 }, + { 55, -6, 7, 20, 48, 4 }, { 56, -7, 7, 20, 48, 4 }, { 57, -7, 7, 20, 48, 4 }, { 58, -8, 8, 20, 48, 4 }, { 59, -9, 8, 20, 48, 4 }, + { 60, -10, 8, 20, 48, 4 }, { 61, -11, 8, 20, 48, 4 }, { 61, -12, 8, 20, 48, 4 }, { 62, -13, 8, 21, 48, 4 }, { 63, -14, 8, 21, 48, 4 }, + { 64, -15, 9, 21, 48, 4 }, { 64, -16, 9, 21, 48, 4 }, { 65, -17, 9, 21, 48, 4 }, { 66, -18, 9, 21, 48, 4 }, { 66, -19, 9, 21, 48, 4 }, + { 67, -20, 9, 21, 48, 4 }, { 68, -21, 9, 21, 48, 4 }, { 68, -22, 10, 21, 48, 4 }, { 69, -23, 10, 21, 48, 4 }, { 70, -24, 10, 21, 48, 4 }, + { 70, -25, 10, 21, 48, 4 }, { 71, -26, 10, 22, 48, 4 }, { 71, -27, 10, 22, 48, 4 }, { 72, -28, 10, 22, 48, 4 }, { 72, -29, 10, 22, 48, 4 }, + { 73, -30, 11, 22, 48, 4 }, { 73, -31, 11, 22, 48, 4 }, { 74, -32, 11, 22, 48, 4 }, { 74, -33, 11, 22, 48, 4 }, { 75, -34, 11, 22, 48, 4 }, + { 75, -35, 11, 22, 48, 4 }, { 75, -36, 11, 22, 48, 4 }, { 76, -37, 12, 22, 48, 4 }, { 76, -38, 12, 22, 48, 4 }, { 76, -39, 12, 22, 48, 4 }, + { 77, -40, 12, 23, 48, 4 }, { 77, -41, 12, 23, 48, 4 }, { 77, -42, 12, 23, 48, 4 }, { 77, -43, 12, 23, 48, 4 }, { 78, -44, 13, 23, 48, 4 }, + { 78, -45, 13, 23, 48, 4 }, { 78, -46, 13, 23, 48, 4 }, { 78, -47, 13, 23, 48, 4 }, { 78, -48, 13, 23, 48, 4 }, { 79, -49, 13, 23, 48, 4 }, + { 79, -50, 13, 23, 48, 4 }, { 79, -51, 14, 23, 48, 4 }, { 79, -52, 14, 23, 48, 4 }, { 79, -53, 14, 23, 48, 4 }, { 79, -54, 14, 23, 48, 4 }, + { 80, -55, 14, 23, 48, 4 }, { 80, -56, 14, 24, 48, 4 }, { 80, -57, 14, 24, 48, 4 }, { 80, -58, 15, 24, 48, 4 }, { 80, -59, 15, 24, 48, 4 }, + { 80, -60, 15, 24, 48, 4 }, { 80, -61, 15, 24, 48, 4 }, { 80, -62, 15, 24, 48, 4 }, { 80, -63, 15, 24, 48, 4 }, { 80, -64, 15, 24, 48, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B2ACE = { - 114, { - { 16, 31, 0, 24, 48, 4 }, { 16, 30, 0, 24, 48, 4 }, { 16, 29, 0, 24, 48, 4 }, { 16, 28, 0, 24, 48, 4 }, { 16, 27, 0, 24, 48, 4 }, - { 16, 26, 0, 24, 48, 4 }, { 16, 25, 0, 24, 48, 4 }, { 16, 24, 1, 25, 48, 4 }, { 15, 23, 1, 25, 48, 4 }, { 15, 22, 1, 25, 48, 4 }, - { 15, 21, 1, 25, 48, 4 }, { 15, 20, 1, 25, 48, 4 }, { 15, 19, 1, 25, 48, 4 }, { 15, 18, 1, 25, 48, 4 }, { 14, 17, 2, 25, 48, 4 }, - { 14, 16, 2, 25, 48, 4 }, { 14, 15, 2, 25, 48, 4 }, { 14, 14, 2, 25, 48, 4 }, { 14, 13, 2, 25, 48, 4 }, { 13, 12, 2, 25, 48, 4 }, - { 13, 11, 2, 25, 48, 4 }, { 13, 10, 3, 26, 48, 4 }, { 13, 9, 3, 26, 48, 4 }, { 12, 8, 3, 26, 48, 4 }, { 12, 7, 3, 26, 48, 4 }, - { 12, 6, 3, 26, 48, 4 }, { 11, 5, 3, 26, 48, 4 }, { 11, 4, 3, 26, 48, 4 }, { 11, 3, 4, 26, 48, 4 }, { 10, 2, 4, 26, 48, 4 }, - { 10, 1, 4, 26, 48, 4 }, { 9, 0, 4, 26, 48, 4 }, { 9, -1, 4, 26, 48, 4 }, { 8, -2, 4, 26, 48, 4 }, { 8, -3, 4, 26, 48, 4 }, - { 7, -4, 5, 26, 48, 4 }, { 7, -5, 5, 27, 48, 4 }, { 6, -6, 5, 27, 48, 4 }, { 6, -7, 5, 27, 48, 4 }, { 5, -8, 5, 27, 48, 4 }, - { 4, -9, 5, 27, 48, 4 }, { 4, -10, 5, 27, 48, 4 }, { 3, -11, 6, 27, 48, 4 }, { 2, -12, 6, 27, 48, 4 }, { 2, -13, 6, 27, 48, 4 }, - { 1, -14, 6, 27, 48, 4 }, { 0, -15, 6, 27, 48, 4 }, { 0, -16, 6, 27, 48, 4 }, { -1, -17, 6, 27, 48, 4 }, { -2, -18, 7, 28, 48, 4 }, - { -3, -19, 7, 28, 48, 4 }, { -3, -20, 7, 28, 48, 4 }, { -4, -21, 7, 28, 48, 4 }, { -5, -22, 7, 28, 48, 4 }, { -6, -23, 7, 28, 48, 4 }, - { -7, -24, 7, 28, 48, 4 }, { -7, -25, 8, 28, 48, 4 }, { -8, -26, 8, 28, 48, 4 }, { -9, -27, 8, 28, 48, 4 }, { -10, -28, 8, 28, 48, 4 }, - { -11, -29, 8, 28, 48, 4 }, { -12, -29, 8, 28, 48, 4 }, { -13, -30, 8, 29, 48, 4 }, { -14, -31, 8, 29, 48, 4 }, { -15, -32, 9, 29, 48, 4 }, - { -16, -32, 9, 29, 48, 4 }, { -17, -33, 9, 29, 48, 4 }, { -18, -34, 9, 29, 48, 4 }, { -19, -34, 9, 29, 48, 4 }, { -20, -35, 9, 29, 48, 4 }, - { -21, -36, 9, 29, 48, 4 }, { -22, -36, 10, 29, 48, 4 }, { -23, -37, 10, 29, 48, 4 }, { -24, -38, 10, 29, 48, 4 }, { -25, -38, 10, 29, 48, 4 }, - { -26, -39, 10, 30, 48, 4 }, { -27, -39, 10, 30, 48, 4 }, { -28, -40, 10, 30, 48, 4 }, { -29, -40, 11, 30, 48, 4 }, { -30, -41, 11, 30, 48, 4 }, - { -31, -41, 11, 30, 48, 4 }, { -32, -42, 11, 30, 48, 4 }, { -33, -42, 11, 30, 48, 4 }, { -34, -43, 11, 30, 48, 4 }, { -35, -43, 11, 30, 48, 4 }, - { -36, -43, 12, 30, 48, 4 }, { -37, -44, 12, 30, 48, 4 }, { -38, -44, 12, 30, 48, 4 }, { -39, -44, 12, 30, 48, 4 }, { -40, -45, 12, 31, 48, 4 }, - { -41, -45, 12, 31, 48, 4 }, { -42, -45, 12, 31, 48, 4 }, { -43, -45, 13, 31, 48, 4 }, { -44, -46, 13, 31, 48, 4 }, { -45, -46, 13, 31, 48, 4 }, - { -46, -46, 13, 31, 48, 4 }, { -47, -46, 13, 31, 48, 4 }, { -48, -46, 13, 31, 48, 4 }, { -49, -47, 13, 31, 48, 4 }, { -50, -47, 14, 31, 48, 4 }, - { -51, -47, 14, 31, 48, 4 }, { -52, -47, 14, 31, 48, 4 }, { -53, -47, 14, 31, 48, 4 }, { -54, -47, 14, 31, 48, 4 }, { -55, -48, 14, 31, 48, 4 }, - { -56, -48, 14, 0, 48, 4 }, { -57, -48, 15, 0, 48, 4 }, { -58, -48, 15, 0, 48, 4 }, { -59, -48, 15, 0, 48, 4 }, { -60, -48, 15, 0, 48, 4 }, - { -61, -48, 15, 0, 48, 4 }, { -62, -48, 15, 0, 48, 4 }, { -63, -48, 15, 0, 48, 4 }, { -64, -48, 16, 0, 48, 4 }, + 114, { + { 16, 31, 0, 24, 48, 4 }, { 16, 30, 0, 24, 48, 4 }, { 16, 29, 0, 24, 48, 4 }, { 16, 28, 0, 24, 48, 4 }, { 16, 27, 0, 24, 48, 4 }, + { 16, 26, 0, 24, 48, 4 }, { 16, 25, 0, 24, 48, 4 }, { 16, 24, 1, 25, 48, 4 }, { 15, 23, 1, 25, 48, 4 }, { 15, 22, 1, 25, 48, 4 }, + { 15, 21, 1, 25, 48, 4 }, { 15, 20, 1, 25, 48, 4 }, { 15, 19, 1, 25, 48, 4 }, { 15, 18, 1, 25, 48, 4 }, { 14, 17, 2, 25, 48, 4 }, + { 14, 16, 2, 25, 48, 4 }, { 14, 15, 2, 25, 48, 4 }, { 14, 14, 2, 25, 48, 4 }, { 14, 13, 2, 25, 48, 4 }, { 13, 12, 2, 25, 48, 4 }, + { 13, 11, 2, 25, 48, 4 }, { 13, 10, 3, 26, 48, 4 }, { 13, 9, 3, 26, 48, 4 }, { 12, 8, 3, 26, 48, 4 }, { 12, 7, 3, 26, 48, 4 }, + { 12, 6, 3, 26, 48, 4 }, { 11, 5, 3, 26, 48, 4 }, { 11, 4, 3, 26, 48, 4 }, { 11, 3, 4, 26, 48, 4 }, { 10, 2, 4, 26, 48, 4 }, + { 10, 1, 4, 26, 48, 4 }, { 9, 0, 4, 26, 48, 4 }, { 9, -1, 4, 26, 48, 4 }, { 8, -2, 4, 26, 48, 4 }, { 8, -3, 4, 26, 48, 4 }, + { 7, -4, 5, 26, 48, 4 }, { 7, -5, 5, 27, 48, 4 }, { 6, -6, 5, 27, 48, 4 }, { 6, -7, 5, 27, 48, 4 }, { 5, -8, 5, 27, 48, 4 }, + { 4, -9, 5, 27, 48, 4 }, { 4, -10, 5, 27, 48, 4 }, { 3, -11, 6, 27, 48, 4 }, { 2, -12, 6, 27, 48, 4 }, { 2, -13, 6, 27, 48, 4 }, + { 1, -14, 6, 27, 48, 4 }, { 0, -15, 6, 27, 48, 4 }, { 0, -16, 6, 27, 48, 4 }, { -1, -17, 6, 27, 48, 4 }, { -2, -18, 7, 28, 48, 4 }, + { -3, -19, 7, 28, 48, 4 }, { -3, -20, 7, 28, 48, 4 }, { -4, -21, 7, 28, 48, 4 }, { -5, -22, 7, 28, 48, 4 }, { -6, -23, 7, 28, 48, 4 }, + { -7, -24, 7, 28, 48, 4 }, { -7, -25, 8, 28, 48, 4 }, { -8, -26, 8, 28, 48, 4 }, { -9, -27, 8, 28, 48, 4 }, { -10, -28, 8, 28, 48, 4 }, + { -11, -29, 8, 28, 48, 4 }, { -12, -29, 8, 28, 48, 4 }, { -13, -30, 8, 29, 48, 4 }, { -14, -31, 8, 29, 48, 4 }, { -15, -32, 9, 29, 48, 4 }, + { -16, -32, 9, 29, 48, 4 }, { -17, -33, 9, 29, 48, 4 }, { -18, -34, 9, 29, 48, 4 }, { -19, -34, 9, 29, 48, 4 }, { -20, -35, 9, 29, 48, 4 }, + { -21, -36, 9, 29, 48, 4 }, { -22, -36, 10, 29, 48, 4 }, { -23, -37, 10, 29, 48, 4 }, { -24, -38, 10, 29, 48, 4 }, { -25, -38, 10, 29, 48, 4 }, + { -26, -39, 10, 30, 48, 4 }, { -27, -39, 10, 30, 48, 4 }, { -28, -40, 10, 30, 48, 4 }, { -29, -40, 11, 30, 48, 4 }, { -30, -41, 11, 30, 48, 4 }, + { -31, -41, 11, 30, 48, 4 }, { -32, -42, 11, 30, 48, 4 }, { -33, -42, 11, 30, 48, 4 }, { -34, -43, 11, 30, 48, 4 }, { -35, -43, 11, 30, 48, 4 }, + { -36, -43, 12, 30, 48, 4 }, { -37, -44, 12, 30, 48, 4 }, { -38, -44, 12, 30, 48, 4 }, { -39, -44, 12, 30, 48, 4 }, { -40, -45, 12, 31, 48, 4 }, + { -41, -45, 12, 31, 48, 4 }, { -42, -45, 12, 31, 48, 4 }, { -43, -45, 13, 31, 48, 4 }, { -44, -46, 13, 31, 48, 4 }, { -45, -46, 13, 31, 48, 4 }, + { -46, -46, 13, 31, 48, 4 }, { -47, -46, 13, 31, 48, 4 }, { -48, -46, 13, 31, 48, 4 }, { -49, -47, 13, 31, 48, 4 }, { -50, -47, 14, 31, 48, 4 }, + { -51, -47, 14, 31, 48, 4 }, { -52, -47, 14, 31, 48, 4 }, { -53, -47, 14, 31, 48, 4 }, { -54, -47, 14, 31, 48, 4 }, { -55, -48, 14, 31, 48, 4 }, + { -56, -48, 14, 0, 48, 4 }, { -57, -48, 15, 0, 48, 4 }, { -58, -48, 15, 0, 48, 4 }, { -59, -48, 15, 0, 48, 4 }, { -60, -48, 15, 0, 48, 4 }, + { -61, -48, 15, 0, 48, 4 }, { -62, -48, 15, 0, 48, 4 }, { -63, -48, 15, 0, 48, 4 }, { -64, -48, 16, 0, 48, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B2ED2 = { - 114, { - { 31, 16, 16, 0, 49, 2 }, { 30, 16, 16, 0, 49, 2 }, { 29, 16, 16, 0, 49, 2 }, { 28, 16, 16, 0, 49, 2 }, { 27, 16, 16, 0, 49, 2 }, - { 26, 16, 16, 0, 49, 2 }, { 25, 16, 16, 0, 49, 2 }, { 24, 16, 15, 31, 49, 2 }, { 23, 15, 15, 31, 49, 2 }, { 22, 15, 15, 31, 49, 2 }, - { 21, 15, 15, 31, 49, 2 }, { 20, 15, 15, 31, 49, 2 }, { 19, 15, 15, 31, 49, 2 }, { 18, 15, 15, 31, 49, 2 }, { 17, 14, 14, 31, 49, 2 }, - { 16, 14, 14, 31, 49, 2 }, { 15, 14, 14, 31, 49, 2 }, { 14, 14, 14, 31, 49, 2 }, { 13, 14, 14, 31, 49, 2 }, { 12, 13, 14, 31, 49, 2 }, - { 11, 13, 14, 31, 49, 2 }, { 10, 13, 13, 30, 49, 2 }, { 9, 13, 13, 30, 49, 2 }, { 8, 12, 13, 30, 49, 2 }, { 7, 12, 13, 30, 49, 2 }, - { 6, 12, 13, 30, 49, 2 }, { 5, 11, 13, 30, 49, 2 }, { 4, 11, 13, 30, 49, 2 }, { 3, 11, 12, 30, 49, 2 }, { 2, 10, 12, 30, 49, 2 }, - { 1, 10, 12, 30, 49, 2 }, { 0, 9, 12, 30, 49, 2 }, { -1, 9, 12, 30, 49, 2 }, { -2, 8, 12, 30, 49, 2 }, { -3, 8, 12, 30, 49, 2 }, - { -4, 7, 11, 30, 49, 2 }, { -5, 7, 11, 29, 49, 2 }, { -6, 6, 11, 29, 49, 2 }, { -7, 6, 11, 29, 49, 2 }, { -8, 5, 11, 29, 49, 2 }, - { -9, 4, 11, 29, 49, 2 }, { -10, 4, 11, 29, 49, 2 }, { -11, 3, 10, 29, 49, 2 }, { -12, 2, 10, 29, 49, 2 }, { -13, 2, 10, 29, 49, 2 }, - { -14, 1, 10, 29, 49, 2 }, { -15, 0, 10, 29, 49, 2 }, { -16, 0, 10, 29, 49, 2 }, { -17, -1, 10, 29, 49, 2 }, { -18, -2, 9, 28, 49, 2 }, - { -19, -3, 9, 28, 49, 2 }, { -20, -3, 9, 28, 49, 2 }, { -21, -4, 9, 28, 49, 2 }, { -22, -5, 9, 28, 49, 2 }, { -23, -6, 9, 28, 49, 2 }, - { -24, -7, 9, 28, 49, 2 }, { -25, -7, 8, 28, 49, 2 }, { -26, -8, 8, 28, 49, 2 }, { -27, -9, 8, 28, 49, 2 }, { -28, -10, 8, 28, 49, 2 }, - { -29, -11, 8, 28, 49, 2 }, { -29, -12, 8, 28, 49, 2 }, { -30, -13, 8, 27, 49, 2 }, { -31, -14, 8, 27, 49, 2 }, { -32, -15, 7, 27, 49, 2 }, - { -32, -16, 7, 27, 49, 2 }, { -33, -17, 7, 27, 49, 2 }, { -34, -18, 7, 27, 49, 2 }, { -34, -19, 7, 27, 49, 2 }, { -35, -20, 7, 27, 49, 2 }, - { -36, -21, 7, 27, 49, 2 }, { -36, -22, 6, 27, 49, 2 }, { -37, -23, 6, 27, 49, 2 }, { -38, -24, 6, 27, 49, 2 }, { -38, -25, 6, 27, 49, 2 }, - { -39, -26, 6, 26, 49, 2 }, { -39, -27, 6, 26, 49, 2 }, { -40, -28, 6, 26, 49, 2 }, { -40, -29, 5, 26, 49, 2 }, { -41, -30, 5, 26, 49, 2 }, - { -41, -31, 5, 26, 49, 2 }, { -42, -32, 5, 26, 49, 2 }, { -42, -33, 5, 26, 49, 2 }, { -43, -34, 5, 26, 49, 2 }, { -43, -35, 5, 26, 49, 2 }, - { -43, -36, 4, 26, 49, 2 }, { -44, -37, 4, 26, 49, 2 }, { -44, -38, 4, 26, 49, 2 }, { -44, -39, 4, 26, 49, 2 }, { -45, -40, 4, 25, 49, 2 }, - { -45, -41, 4, 25, 49, 2 }, { -45, -42, 4, 25, 49, 2 }, { -45, -43, 3, 25, 49, 2 }, { -46, -44, 3, 25, 49, 2 }, { -46, -45, 3, 25, 49, 2 }, - { -46, -46, 3, 25, 49, 2 }, { -46, -47, 3, 25, 49, 2 }, { -46, -48, 3, 25, 49, 2 }, { -47, -49, 3, 25, 49, 2 }, { -47, -50, 2, 25, 49, 2 }, - { -47, -51, 2, 25, 49, 2 }, { -47, -52, 2, 25, 49, 2 }, { -47, -53, 2, 25, 49, 2 }, { -47, -54, 2, 25, 49, 2 }, { -48, -55, 2, 25, 49, 2 }, - { -48, -56, 2, 24, 49, 2 }, { -48, -57, 1, 24, 49, 2 }, { -48, -58, 1, 24, 49, 2 }, { -48, -59, 1, 24, 49, 2 }, { -48, -60, 1, 24, 49, 2 }, - { -48, -61, 1, 24, 49, 2 }, { -48, -62, 1, 24, 49, 2 }, { -48, -63, 1, 24, 49, 2 }, { -48, -64, 0, 24, 49, 2 }, + 114, { + { 31, 16, 16, 0, 49, 2 }, { 30, 16, 16, 0, 49, 2 }, { 29, 16, 16, 0, 49, 2 }, { 28, 16, 16, 0, 49, 2 }, { 27, 16, 16, 0, 49, 2 }, + { 26, 16, 16, 0, 49, 2 }, { 25, 16, 16, 0, 49, 2 }, { 24, 16, 15, 31, 49, 2 }, { 23, 15, 15, 31, 49, 2 }, { 22, 15, 15, 31, 49, 2 }, + { 21, 15, 15, 31, 49, 2 }, { 20, 15, 15, 31, 49, 2 }, { 19, 15, 15, 31, 49, 2 }, { 18, 15, 15, 31, 49, 2 }, { 17, 14, 14, 31, 49, 2 }, + { 16, 14, 14, 31, 49, 2 }, { 15, 14, 14, 31, 49, 2 }, { 14, 14, 14, 31, 49, 2 }, { 13, 14, 14, 31, 49, 2 }, { 12, 13, 14, 31, 49, 2 }, + { 11, 13, 14, 31, 49, 2 }, { 10, 13, 13, 30, 49, 2 }, { 9, 13, 13, 30, 49, 2 }, { 8, 12, 13, 30, 49, 2 }, { 7, 12, 13, 30, 49, 2 }, + { 6, 12, 13, 30, 49, 2 }, { 5, 11, 13, 30, 49, 2 }, { 4, 11, 13, 30, 49, 2 }, { 3, 11, 12, 30, 49, 2 }, { 2, 10, 12, 30, 49, 2 }, + { 1, 10, 12, 30, 49, 2 }, { 0, 9, 12, 30, 49, 2 }, { -1, 9, 12, 30, 49, 2 }, { -2, 8, 12, 30, 49, 2 }, { -3, 8, 12, 30, 49, 2 }, + { -4, 7, 11, 30, 49, 2 }, { -5, 7, 11, 29, 49, 2 }, { -6, 6, 11, 29, 49, 2 }, { -7, 6, 11, 29, 49, 2 }, { -8, 5, 11, 29, 49, 2 }, + { -9, 4, 11, 29, 49, 2 }, { -10, 4, 11, 29, 49, 2 }, { -11, 3, 10, 29, 49, 2 }, { -12, 2, 10, 29, 49, 2 }, { -13, 2, 10, 29, 49, 2 }, + { -14, 1, 10, 29, 49, 2 }, { -15, 0, 10, 29, 49, 2 }, { -16, 0, 10, 29, 49, 2 }, { -17, -1, 10, 29, 49, 2 }, { -18, -2, 9, 28, 49, 2 }, + { -19, -3, 9, 28, 49, 2 }, { -20, -3, 9, 28, 49, 2 }, { -21, -4, 9, 28, 49, 2 }, { -22, -5, 9, 28, 49, 2 }, { -23, -6, 9, 28, 49, 2 }, + { -24, -7, 9, 28, 49, 2 }, { -25, -7, 8, 28, 49, 2 }, { -26, -8, 8, 28, 49, 2 }, { -27, -9, 8, 28, 49, 2 }, { -28, -10, 8, 28, 49, 2 }, + { -29, -11, 8, 28, 49, 2 }, { -29, -12, 8, 28, 49, 2 }, { -30, -13, 8, 27, 49, 2 }, { -31, -14, 8, 27, 49, 2 }, { -32, -15, 7, 27, 49, 2 }, + { -32, -16, 7, 27, 49, 2 }, { -33, -17, 7, 27, 49, 2 }, { -34, -18, 7, 27, 49, 2 }, { -34, -19, 7, 27, 49, 2 }, { -35, -20, 7, 27, 49, 2 }, + { -36, -21, 7, 27, 49, 2 }, { -36, -22, 6, 27, 49, 2 }, { -37, -23, 6, 27, 49, 2 }, { -38, -24, 6, 27, 49, 2 }, { -38, -25, 6, 27, 49, 2 }, + { -39, -26, 6, 26, 49, 2 }, { -39, -27, 6, 26, 49, 2 }, { -40, -28, 6, 26, 49, 2 }, { -40, -29, 5, 26, 49, 2 }, { -41, -30, 5, 26, 49, 2 }, + { -41, -31, 5, 26, 49, 2 }, { -42, -32, 5, 26, 49, 2 }, { -42, -33, 5, 26, 49, 2 }, { -43, -34, 5, 26, 49, 2 }, { -43, -35, 5, 26, 49, 2 }, + { -43, -36, 4, 26, 49, 2 }, { -44, -37, 4, 26, 49, 2 }, { -44, -38, 4, 26, 49, 2 }, { -44, -39, 4, 26, 49, 2 }, { -45, -40, 4, 25, 49, 2 }, + { -45, -41, 4, 25, 49, 2 }, { -45, -42, 4, 25, 49, 2 }, { -45, -43, 3, 25, 49, 2 }, { -46, -44, 3, 25, 49, 2 }, { -46, -45, 3, 25, 49, 2 }, + { -46, -46, 3, 25, 49, 2 }, { -46, -47, 3, 25, 49, 2 }, { -46, -48, 3, 25, 49, 2 }, { -47, -49, 3, 25, 49, 2 }, { -47, -50, 2, 25, 49, 2 }, + { -47, -51, 2, 25, 49, 2 }, { -47, -52, 2, 25, 49, 2 }, { -47, -53, 2, 25, 49, 2 }, { -47, -54, 2, 25, 49, 2 }, { -48, -55, 2, 25, 49, 2 }, + { -48, -56, 2, 24, 49, 2 }, { -48, -57, 1, 24, 49, 2 }, { -48, -58, 1, 24, 49, 2 }, { -48, -59, 1, 24, 49, 2 }, { -48, -60, 1, 24, 49, 2 }, + { -48, -61, 1, 24, 49, 2 }, { -48, -62, 1, 24, 49, 2 }, { -48, -63, 1, 24, 49, 2 }, { -48, -64, 0, 24, 49, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B32D6 = { - 115, { - { 16, 0, 16, 8, 49, 2 }, { 16, 1, 16, 8, 49, 2 }, { 16, 2, 16, 8, 49, 2 }, { 16, 3, 16, 8, 49, 2 }, { 16, 4, 16, 8, 49, 2 }, - { 16, 5, 16, 8, 49, 2 }, { 16, 6, 16, 8, 49, 2 }, { 16, 7, 16, 8, 49, 2 }, { 16, 8, 15, 7, 49, 2 }, { 15, 9, 15, 7, 49, 2 }, - { 15, 10, 15, 7, 49, 2 }, { 15, 11, 15, 7, 49, 2 }, { 15, 12, 15, 7, 49, 2 }, { 15, 13, 15, 7, 49, 2 }, { 15, 14, 15, 7, 49, 2 }, - { 14, 15, 14, 7, 49, 2 }, { 14, 16, 14, 7, 49, 2 }, { 14, 17, 14, 7, 49, 2 }, { 14, 18, 14, 7, 49, 2 }, { 14, 19, 14, 7, 49, 2 }, - { 13, 20, 14, 7, 49, 2 }, { 13, 21, 14, 7, 49, 2 }, { 13, 22, 13, 6, 49, 2 }, { 13, 23, 13, 6, 49, 2 }, { 12, 24, 13, 6, 49, 2 }, - { 12, 25, 13, 6, 49, 2 }, { 12, 26, 13, 6, 49, 2 }, { 11, 27, 13, 6, 49, 2 }, { 11, 28, 13, 6, 49, 2 }, { 11, 29, 12, 6, 49, 2 }, - { 10, 30, 12, 6, 49, 2 }, { 10, 31, 12, 6, 49, 2 }, { 9, 32, 12, 6, 49, 2 }, { 9, 33, 12, 6, 49, 2 }, { 8, 34, 12, 6, 49, 2 }, - { 8, 35, 12, 6, 49, 2 }, { 7, 36, 11, 6, 49, 2 }, { 7, 37, 11, 5, 49, 2 }, { 6, 38, 11, 5, 49, 2 }, { 6, 39, 11, 5, 49, 2 }, - { 5, 40, 11, 5, 49, 2 }, { 4, 41, 11, 5, 49, 2 }, { 4, 42, 11, 5, 49, 2 }, { 3, 43, 11, 5, 49, 2 }, { 2, 44, 10, 5, 49, 2 }, - { 2, 45, 10, 5, 49, 2 }, { 1, 46, 10, 5, 49, 2 }, { 0, 47, 10, 5, 49, 2 }, { 0, 48, 10, 5, 49, 2 }, { -1, 49, 10, 5, 49, 2 }, - { -2, 50, 10, 4, 49, 2 }, { -3, 51, 9, 4, 49, 2 }, { -3, 52, 9, 4, 49, 2 }, { -4, 53, 9, 4, 49, 2 }, { -5, 54, 9, 4, 49, 2 }, - { -6, 55, 9, 4, 49, 2 }, { -7, 56, 9, 4, 49, 2 }, { -7, 57, 9, 4, 49, 2 }, { -8, 58, 8, 4, 49, 2 }, { -9, 59, 8, 4, 49, 2 }, - { -10, 60, 8, 4, 49, 2 }, { -11, 61, 8, 4, 49, 2 }, { -12, 61, 8, 4, 49, 2 }, { -13, 62, 8, 3, 49, 2 }, { -14, 63, 8, 3, 49, 2 }, - { -15, 64, 7, 3, 49, 2 }, { -16, 64, 7, 3, 49, 2 }, { -17, 65, 7, 3, 49, 2 }, { -18, 66, 7, 3, 49, 2 }, { -19, 66, 7, 3, 49, 2 }, - { -20, 67, 7, 3, 49, 2 }, { -21, 68, 7, 3, 49, 2 }, { -22, 68, 6, 3, 49, 2 }, { -23, 69, 6, 3, 49, 2 }, { -24, 70, 6, 3, 49, 2 }, - { -25, 70, 6, 3, 49, 2 }, { -26, 71, 6, 2, 49, 2 }, { -27, 71, 6, 2, 49, 2 }, { -28, 72, 6, 2, 49, 2 }, { -29, 72, 6, 2, 49, 2 }, - { -30, 73, 5, 2, 49, 2 }, { -31, 73, 5, 2, 49, 2 }, { -32, 74, 5, 2, 49, 2 }, { -33, 74, 5, 2, 49, 2 }, { -34, 75, 5, 2, 49, 2 }, - { -35, 75, 5, 2, 49, 2 }, { -36, 75, 5, 2, 49, 2 }, { -37, 76, 4, 2, 49, 2 }, { -38, 76, 4, 2, 49, 2 }, { -39, 76, 4, 2, 49, 2 }, - { -40, 77, 4, 1, 49, 2 }, { -41, 77, 4, 1, 49, 2 }, { -42, 77, 4, 1, 49, 2 }, { -43, 77, 4, 1, 49, 2 }, { -44, 78, 3, 1, 49, 2 }, - { -45, 78, 3, 1, 49, 2 }, { -46, 78, 3, 1, 49, 2 }, { -47, 78, 3, 1, 49, 2 }, { -48, 78, 3, 1, 49, 2 }, { -49, 79, 3, 1, 49, 2 }, - { -50, 79, 3, 1, 49, 2 }, { -51, 79, 2, 1, 49, 2 }, { -52, 79, 2, 1, 49, 2 }, { -53, 79, 2, 1, 49, 2 }, { -54, 79, 2, 1, 49, 2 }, - { -55, 80, 2, 1, 49, 2 }, { -56, 80, 2, 0, 49, 2 }, { -57, 80, 2, 0, 49, 2 }, { -58, 80, 1, 0, 49, 2 }, { -59, 80, 1, 0, 49, 2 }, - { -60, 80, 1, 0, 49, 2 }, { -61, 80, 1, 0, 49, 2 }, { -62, 80, 1, 0, 49, 2 }, { -63, 80, 1, 0, 49, 2 }, { -64, 80, 1, 0, 49, 2 }, + 115, { + { 16, 0, 16, 8, 49, 2 }, { 16, 1, 16, 8, 49, 2 }, { 16, 2, 16, 8, 49, 2 }, { 16, 3, 16, 8, 49, 2 }, { 16, 4, 16, 8, 49, 2 }, + { 16, 5, 16, 8, 49, 2 }, { 16, 6, 16, 8, 49, 2 }, { 16, 7, 16, 8, 49, 2 }, { 16, 8, 15, 7, 49, 2 }, { 15, 9, 15, 7, 49, 2 }, + { 15, 10, 15, 7, 49, 2 }, { 15, 11, 15, 7, 49, 2 }, { 15, 12, 15, 7, 49, 2 }, { 15, 13, 15, 7, 49, 2 }, { 15, 14, 15, 7, 49, 2 }, + { 14, 15, 14, 7, 49, 2 }, { 14, 16, 14, 7, 49, 2 }, { 14, 17, 14, 7, 49, 2 }, { 14, 18, 14, 7, 49, 2 }, { 14, 19, 14, 7, 49, 2 }, + { 13, 20, 14, 7, 49, 2 }, { 13, 21, 14, 7, 49, 2 }, { 13, 22, 13, 6, 49, 2 }, { 13, 23, 13, 6, 49, 2 }, { 12, 24, 13, 6, 49, 2 }, + { 12, 25, 13, 6, 49, 2 }, { 12, 26, 13, 6, 49, 2 }, { 11, 27, 13, 6, 49, 2 }, { 11, 28, 13, 6, 49, 2 }, { 11, 29, 12, 6, 49, 2 }, + { 10, 30, 12, 6, 49, 2 }, { 10, 31, 12, 6, 49, 2 }, { 9, 32, 12, 6, 49, 2 }, { 9, 33, 12, 6, 49, 2 }, { 8, 34, 12, 6, 49, 2 }, + { 8, 35, 12, 6, 49, 2 }, { 7, 36, 11, 6, 49, 2 }, { 7, 37, 11, 5, 49, 2 }, { 6, 38, 11, 5, 49, 2 }, { 6, 39, 11, 5, 49, 2 }, + { 5, 40, 11, 5, 49, 2 }, { 4, 41, 11, 5, 49, 2 }, { 4, 42, 11, 5, 49, 2 }, { 3, 43, 11, 5, 49, 2 }, { 2, 44, 10, 5, 49, 2 }, + { 2, 45, 10, 5, 49, 2 }, { 1, 46, 10, 5, 49, 2 }, { 0, 47, 10, 5, 49, 2 }, { 0, 48, 10, 5, 49, 2 }, { -1, 49, 10, 5, 49, 2 }, + { -2, 50, 10, 4, 49, 2 }, { -3, 51, 9, 4, 49, 2 }, { -3, 52, 9, 4, 49, 2 }, { -4, 53, 9, 4, 49, 2 }, { -5, 54, 9, 4, 49, 2 }, + { -6, 55, 9, 4, 49, 2 }, { -7, 56, 9, 4, 49, 2 }, { -7, 57, 9, 4, 49, 2 }, { -8, 58, 8, 4, 49, 2 }, { -9, 59, 8, 4, 49, 2 }, + { -10, 60, 8, 4, 49, 2 }, { -11, 61, 8, 4, 49, 2 }, { -12, 61, 8, 4, 49, 2 }, { -13, 62, 8, 3, 49, 2 }, { -14, 63, 8, 3, 49, 2 }, + { -15, 64, 7, 3, 49, 2 }, { -16, 64, 7, 3, 49, 2 }, { -17, 65, 7, 3, 49, 2 }, { -18, 66, 7, 3, 49, 2 }, { -19, 66, 7, 3, 49, 2 }, + { -20, 67, 7, 3, 49, 2 }, { -21, 68, 7, 3, 49, 2 }, { -22, 68, 6, 3, 49, 2 }, { -23, 69, 6, 3, 49, 2 }, { -24, 70, 6, 3, 49, 2 }, + { -25, 70, 6, 3, 49, 2 }, { -26, 71, 6, 2, 49, 2 }, { -27, 71, 6, 2, 49, 2 }, { -28, 72, 6, 2, 49, 2 }, { -29, 72, 6, 2, 49, 2 }, + { -30, 73, 5, 2, 49, 2 }, { -31, 73, 5, 2, 49, 2 }, { -32, 74, 5, 2, 49, 2 }, { -33, 74, 5, 2, 49, 2 }, { -34, 75, 5, 2, 49, 2 }, + { -35, 75, 5, 2, 49, 2 }, { -36, 75, 5, 2, 49, 2 }, { -37, 76, 4, 2, 49, 2 }, { -38, 76, 4, 2, 49, 2 }, { -39, 76, 4, 2, 49, 2 }, + { -40, 77, 4, 1, 49, 2 }, { -41, 77, 4, 1, 49, 2 }, { -42, 77, 4, 1, 49, 2 }, { -43, 77, 4, 1, 49, 2 }, { -44, 78, 3, 1, 49, 2 }, + { -45, 78, 3, 1, 49, 2 }, { -46, 78, 3, 1, 49, 2 }, { -47, 78, 3, 1, 49, 2 }, { -48, 78, 3, 1, 49, 2 }, { -49, 79, 3, 1, 49, 2 }, + { -50, 79, 3, 1, 49, 2 }, { -51, 79, 2, 1, 49, 2 }, { -52, 79, 2, 1, 49, 2 }, { -53, 79, 2, 1, 49, 2 }, { -54, 79, 2, 1, 49, 2 }, + { -55, 80, 2, 1, 49, 2 }, { -56, 80, 2, 0, 49, 2 }, { -57, 80, 2, 0, 49, 2 }, { -58, 80, 1, 0, 49, 2 }, { -59, 80, 1, 0, 49, 2 }, + { -60, 80, 1, 0, 49, 2 }, { -61, 80, 1, 0, 49, 2 }, { -62, 80, 1, 0, 49, 2 }, { -63, 80, 1, 0, 49, 2 }, { -64, 80, 1, 0, 49, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B36E3 = { - 114, { - { 0, 16, 16, 16, 49, 2 }, { 1, 16, 16, 16, 49, 2 }, { 2, 16, 16, 16, 49, 2 }, { 3, 16, 16, 16, 49, 2 }, { 4, 16, 16, 16, 49, 2 }, - { 5, 16, 16, 16, 49, 2 }, { 6, 16, 16, 16, 49, 2 }, { 7, 16, 16, 16, 49, 2 }, { 8, 16, 15, 15, 49, 2 }, { 9, 17, 15, 15, 49, 2 }, - { 10, 17, 15, 15, 49, 2 }, { 11, 17, 15, 15, 49, 2 }, { 12, 17, 15, 15, 49, 2 }, { 13, 17, 15, 15, 49, 2 }, { 14, 17, 15, 15, 49, 2 }, - { 15, 18, 14, 15, 49, 2 }, { 16, 18, 14, 15, 49, 2 }, { 17, 18, 14, 15, 49, 2 }, { 18, 18, 14, 15, 49, 2 }, { 19, 18, 14, 15, 49, 2 }, - { 20, 19, 14, 15, 49, 2 }, { 21, 19, 14, 15, 49, 2 }, { 22, 19, 13, 14, 49, 2 }, { 23, 19, 13, 14, 49, 2 }, { 24, 20, 13, 14, 49, 2 }, - { 25, 20, 13, 14, 49, 2 }, { 26, 20, 13, 14, 49, 2 }, { 27, 21, 13, 14, 49, 2 }, { 28, 21, 13, 14, 49, 2 }, { 29, 21, 12, 14, 49, 2 }, - { 30, 22, 12, 14, 49, 2 }, { 31, 22, 12, 14, 49, 2 }, { 32, 23, 12, 14, 49, 2 }, { 33, 23, 12, 14, 49, 2 }, { 34, 24, 12, 14, 49, 2 }, - { 35, 24, 12, 14, 49, 2 }, { 36, 25, 11, 14, 49, 2 }, { 37, 25, 11, 13, 49, 2 }, { 38, 26, 11, 13, 49, 2 }, { 39, 26, 11, 13, 49, 2 }, - { 40, 27, 11, 13, 49, 2 }, { 41, 28, 11, 13, 49, 2 }, { 42, 28, 11, 13, 49, 2 }, { 43, 29, 10, 13, 49, 2 }, { 44, 30, 10, 13, 49, 2 }, - { 45, 30, 10, 13, 49, 2 }, { 46, 31, 10, 13, 49, 2 }, { 47, 32, 10, 13, 49, 2 }, { 48, 32, 10, 13, 49, 2 }, { 49, 33, 10, 13, 49, 2 }, - { 50, 34, 9, 12, 49, 2 }, { 51, 35, 9, 12, 49, 2 }, { 52, 35, 9, 12, 49, 2 }, { 53, 36, 9, 12, 49, 2 }, { 54, 37, 9, 12, 49, 2 }, - { 55, 38, 9, 12, 49, 2 }, { 56, 39, 9, 12, 49, 2 }, { 57, 39, 8, 12, 49, 2 }, { 58, 40, 8, 12, 49, 2 }, { 59, 41, 8, 12, 49, 2 }, - { 60, 42, 8, 12, 49, 2 }, { 61, 43, 8, 12, 49, 2 }, { 61, 44, 8, 12, 49, 2 }, { 62, 45, 8, 11, 49, 2 }, { 63, 46, 8, 11, 49, 2 }, - { 64, 47, 7, 11, 49, 2 }, { 64, 48, 7, 11, 49, 2 }, { 65, 49, 7, 11, 49, 2 }, { 66, 50, 7, 11, 49, 2 }, { 66, 51, 7, 11, 49, 2 }, - { 67, 52, 7, 11, 49, 2 }, { 68, 53, 7, 11, 49, 2 }, { 68, 54, 6, 11, 49, 2 }, { 69, 55, 6, 11, 49, 2 }, { 70, 56, 6, 11, 49, 2 }, - { 70, 57, 6, 11, 49, 2 }, { 71, 58, 6, 10, 49, 2 }, { 71, 59, 6, 10, 49, 2 }, { 72, 60, 6, 10, 49, 2 }, { 72, 61, 5, 10, 49, 2 }, - { 73, 62, 5, 10, 49, 2 }, { 73, 63, 5, 10, 49, 2 }, { 74, 64, 5, 10, 49, 2 }, { 74, 65, 5, 10, 49, 2 }, { 75, 66, 5, 10, 49, 2 }, - { 75, 67, 5, 10, 49, 2 }, { 75, 68, 4, 10, 49, 2 }, { 76, 69, 4, 10, 49, 2 }, { 76, 70, 4, 10, 49, 2 }, { 76, 71, 4, 10, 49, 2 }, - { 77, 72, 4, 9, 49, 2 }, { 77, 73, 4, 9, 49, 2 }, { 77, 74, 4, 9, 49, 2 }, { 77, 75, 3, 9, 49, 2 }, { 78, 76, 3, 9, 49, 2 }, - { 78, 77, 3, 9, 49, 2 }, { 78, 78, 3, 9, 49, 2 }, { 78, 79, 3, 9, 49, 2 }, { 78, 80, 3, 9, 49, 2 }, { 79, 81, 3, 9, 49, 2 }, - { 79, 82, 2, 9, 49, 2 }, { 79, 83, 2, 9, 49, 2 }, { 79, 84, 2, 9, 49, 2 }, { 79, 85, 2, 9, 49, 2 }, { 79, 86, 2, 9, 49, 2 }, - { 80, 87, 2, 9, 49, 2 }, { 80, 88, 2, 8, 49, 2 }, { 80, 89, 1, 8, 49, 2 }, { 80, 90, 1, 8, 49, 2 }, { 80, 91, 1, 8, 49, 2 }, - { 80, 92, 1, 8, 49, 2 }, { 80, 93, 1, 8, 49, 2 }, { 80, 94, 1, 8, 49, 2 }, { 80, 95, 1, 8, 49, 2 }, + 114, { + { 0, 16, 16, 16, 49, 2 }, { 1, 16, 16, 16, 49, 2 }, { 2, 16, 16, 16, 49, 2 }, { 3, 16, 16, 16, 49, 2 }, { 4, 16, 16, 16, 49, 2 }, + { 5, 16, 16, 16, 49, 2 }, { 6, 16, 16, 16, 49, 2 }, { 7, 16, 16, 16, 49, 2 }, { 8, 16, 15, 15, 49, 2 }, { 9, 17, 15, 15, 49, 2 }, + { 10, 17, 15, 15, 49, 2 }, { 11, 17, 15, 15, 49, 2 }, { 12, 17, 15, 15, 49, 2 }, { 13, 17, 15, 15, 49, 2 }, { 14, 17, 15, 15, 49, 2 }, + { 15, 18, 14, 15, 49, 2 }, { 16, 18, 14, 15, 49, 2 }, { 17, 18, 14, 15, 49, 2 }, { 18, 18, 14, 15, 49, 2 }, { 19, 18, 14, 15, 49, 2 }, + { 20, 19, 14, 15, 49, 2 }, { 21, 19, 14, 15, 49, 2 }, { 22, 19, 13, 14, 49, 2 }, { 23, 19, 13, 14, 49, 2 }, { 24, 20, 13, 14, 49, 2 }, + { 25, 20, 13, 14, 49, 2 }, { 26, 20, 13, 14, 49, 2 }, { 27, 21, 13, 14, 49, 2 }, { 28, 21, 13, 14, 49, 2 }, { 29, 21, 12, 14, 49, 2 }, + { 30, 22, 12, 14, 49, 2 }, { 31, 22, 12, 14, 49, 2 }, { 32, 23, 12, 14, 49, 2 }, { 33, 23, 12, 14, 49, 2 }, { 34, 24, 12, 14, 49, 2 }, + { 35, 24, 12, 14, 49, 2 }, { 36, 25, 11, 14, 49, 2 }, { 37, 25, 11, 13, 49, 2 }, { 38, 26, 11, 13, 49, 2 }, { 39, 26, 11, 13, 49, 2 }, + { 40, 27, 11, 13, 49, 2 }, { 41, 28, 11, 13, 49, 2 }, { 42, 28, 11, 13, 49, 2 }, { 43, 29, 10, 13, 49, 2 }, { 44, 30, 10, 13, 49, 2 }, + { 45, 30, 10, 13, 49, 2 }, { 46, 31, 10, 13, 49, 2 }, { 47, 32, 10, 13, 49, 2 }, { 48, 32, 10, 13, 49, 2 }, { 49, 33, 10, 13, 49, 2 }, + { 50, 34, 9, 12, 49, 2 }, { 51, 35, 9, 12, 49, 2 }, { 52, 35, 9, 12, 49, 2 }, { 53, 36, 9, 12, 49, 2 }, { 54, 37, 9, 12, 49, 2 }, + { 55, 38, 9, 12, 49, 2 }, { 56, 39, 9, 12, 49, 2 }, { 57, 39, 8, 12, 49, 2 }, { 58, 40, 8, 12, 49, 2 }, { 59, 41, 8, 12, 49, 2 }, + { 60, 42, 8, 12, 49, 2 }, { 61, 43, 8, 12, 49, 2 }, { 61, 44, 8, 12, 49, 2 }, { 62, 45, 8, 11, 49, 2 }, { 63, 46, 8, 11, 49, 2 }, + { 64, 47, 7, 11, 49, 2 }, { 64, 48, 7, 11, 49, 2 }, { 65, 49, 7, 11, 49, 2 }, { 66, 50, 7, 11, 49, 2 }, { 66, 51, 7, 11, 49, 2 }, + { 67, 52, 7, 11, 49, 2 }, { 68, 53, 7, 11, 49, 2 }, { 68, 54, 6, 11, 49, 2 }, { 69, 55, 6, 11, 49, 2 }, { 70, 56, 6, 11, 49, 2 }, + { 70, 57, 6, 11, 49, 2 }, { 71, 58, 6, 10, 49, 2 }, { 71, 59, 6, 10, 49, 2 }, { 72, 60, 6, 10, 49, 2 }, { 72, 61, 5, 10, 49, 2 }, + { 73, 62, 5, 10, 49, 2 }, { 73, 63, 5, 10, 49, 2 }, { 74, 64, 5, 10, 49, 2 }, { 74, 65, 5, 10, 49, 2 }, { 75, 66, 5, 10, 49, 2 }, + { 75, 67, 5, 10, 49, 2 }, { 75, 68, 4, 10, 49, 2 }, { 76, 69, 4, 10, 49, 2 }, { 76, 70, 4, 10, 49, 2 }, { 76, 71, 4, 10, 49, 2 }, + { 77, 72, 4, 9, 49, 2 }, { 77, 73, 4, 9, 49, 2 }, { 77, 74, 4, 9, 49, 2 }, { 77, 75, 3, 9, 49, 2 }, { 78, 76, 3, 9, 49, 2 }, + { 78, 77, 3, 9, 49, 2 }, { 78, 78, 3, 9, 49, 2 }, { 78, 79, 3, 9, 49, 2 }, { 78, 80, 3, 9, 49, 2 }, { 79, 81, 3, 9, 49, 2 }, + { 79, 82, 2, 9, 49, 2 }, { 79, 83, 2, 9, 49, 2 }, { 79, 84, 2, 9, 49, 2 }, { 79, 85, 2, 9, 49, 2 }, { 79, 86, 2, 9, 49, 2 }, + { 80, 87, 2, 9, 49, 2 }, { 80, 88, 2, 8, 49, 2 }, { 80, 89, 1, 8, 49, 2 }, { 80, 90, 1, 8, 49, 2 }, { 80, 91, 1, 8, 49, 2 }, + { 80, 92, 1, 8, 49, 2 }, { 80, 93, 1, 8, 49, 2 }, { 80, 94, 1, 8, 49, 2 }, { 80, 95, 1, 8, 49, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B3AE7 = { - 113, { - { 16, 31, 16, 24, 49, 2 }, { 16, 30, 16, 24, 49, 2 }, { 16, 29, 16, 24, 49, 2 }, { 16, 28, 16, 24, 49, 2 }, { 16, 27, 16, 24, 49, 2 }, - { 16, 26, 16, 24, 49, 2 }, { 16, 25, 16, 24, 49, 2 }, { 16, 24, 15, 23, 49, 2 }, { 17, 23, 15, 23, 49, 2 }, { 17, 22, 15, 23, 49, 2 }, - { 17, 21, 15, 23, 49, 2 }, { 17, 20, 15, 23, 49, 2 }, { 17, 19, 15, 23, 49, 2 }, { 17, 18, 15, 23, 49, 2 }, { 18, 17, 14, 23, 49, 2 }, - { 18, 16, 14, 23, 49, 2 }, { 18, 15, 14, 23, 49, 2 }, { 18, 14, 14, 23, 49, 2 }, { 18, 13, 14, 23, 49, 2 }, { 19, 12, 14, 23, 49, 2 }, - { 19, 11, 14, 23, 49, 2 }, { 19, 10, 13, 22, 49, 2 }, { 19, 9, 13, 22, 49, 2 }, { 20, 8, 13, 22, 49, 2 }, { 20, 7, 13, 22, 49, 2 }, - { 20, 6, 13, 22, 49, 2 }, { 21, 5, 13, 22, 49, 2 }, { 21, 4, 13, 22, 49, 2 }, { 21, 3, 12, 22, 49, 2 }, { 22, 2, 12, 22, 49, 2 }, - { 22, 1, 12, 22, 49, 2 }, { 23, 0, 12, 22, 49, 2 }, { 23, -1, 12, 22, 49, 2 }, { 24, -2, 12, 22, 49, 2 }, { 24, -3, 12, 22, 49, 2 }, - { 25, -4, 11, 22, 49, 2 }, { 25, -5, 11, 21, 49, 2 }, { 26, -6, 11, 21, 49, 2 }, { 26, -7, 11, 21, 49, 2 }, { 27, -8, 11, 21, 49, 2 }, - { 28, -9, 11, 21, 49, 2 }, { 28, -10, 11, 21, 49, 2 }, { 29, -11, 10, 21, 49, 2 }, { 30, -12, 10, 21, 49, 2 }, { 30, -13, 10, 21, 49, 2 }, - { 31, -14, 10, 21, 49, 2 }, { 32, -15, 10, 21, 49, 2 }, { 32, -16, 10, 21, 49, 2 }, { 33, -17, 10, 21, 49, 2 }, { 34, -18, 9, 20, 49, 2 }, - { 35, -19, 9, 20, 49, 2 }, { 35, -20, 9, 20, 49, 2 }, { 36, -21, 9, 20, 49, 2 }, { 37, -22, 9, 20, 49, 2 }, { 38, -23, 9, 20, 49, 2 }, - { 39, -24, 9, 20, 49, 2 }, { 39, -25, 8, 20, 49, 2 }, { 40, -26, 8, 20, 49, 2 }, { 41, -27, 8, 20, 49, 2 }, { 42, -28, 8, 20, 49, 2 }, - { 43, -29, 8, 20, 49, 2 }, { 44, -29, 8, 20, 49, 2 }, { 45, -30, 8, 19, 49, 2 }, { 46, -31, 7, 19, 49, 2 }, { 47, -32, 7, 19, 49, 2 }, - { 48, -32, 7, 19, 49, 2 }, { 49, -33, 7, 19, 49, 2 }, { 50, -34, 7, 19, 49, 2 }, { 51, -34, 7, 19, 49, 2 }, { 52, -35, 7, 19, 49, 2 }, - { 53, -36, 6, 19, 49, 2 }, { 54, -36, 6, 19, 49, 2 }, { 55, -37, 6, 19, 49, 2 }, { 56, -38, 6, 19, 49, 2 }, { 57, -38, 6, 19, 49, 2 }, - { 58, -39, 6, 18, 49, 2 }, { 59, -39, 6, 18, 49, 2 }, { 60, -40, 5, 18, 49, 2 }, { 61, -40, 5, 18, 49, 2 }, { 62, -41, 5, 18, 49, 2 }, - { 63, -41, 5, 18, 49, 2 }, { 64, -42, 5, 18, 49, 2 }, { 65, -42, 5, 18, 49, 2 }, { 66, -43, 5, 18, 49, 2 }, { 67, -43, 4, 18, 49, 2 }, - { 68, -43, 4, 18, 49, 2 }, { 69, -44, 4, 18, 49, 2 }, { 70, -44, 4, 18, 49, 2 }, { 71, -44, 4, 18, 49, 2 }, { 72, -45, 4, 17, 49, 2 }, - { 73, -45, 4, 17, 49, 2 }, { 74, -45, 3, 17, 49, 2 }, { 75, -45, 3, 17, 49, 2 }, { 76, -46, 3, 17, 49, 2 }, { 77, -46, 3, 17, 49, 2 }, - { 78, -46, 3, 17, 49, 2 }, { 79, -46, 3, 17, 49, 2 }, { 80, -46, 3, 17, 49, 2 }, { 81, -47, 2, 17, 49, 2 }, { 82, -47, 2, 17, 49, 2 }, - { 83, -47, 2, 17, 49, 2 }, { 84, -47, 2, 17, 49, 2 }, { 85, -47, 2, 17, 49, 2 }, { 86, -47, 2, 17, 49, 2 }, { 87, -48, 2, 17, 49, 2 }, - { 88, -48, 1, 16, 49, 2 }, { 89, -48, 1, 16, 49, 2 }, { 90, -48, 1, 16, 49, 2 }, { 91, -48, 1, 16, 49, 2 }, { 92, -48, 1, 16, 49, 2 }, - { 93, -48, 1, 16, 49, 2 }, { 94, -48, 1, 16, 49, 2 }, { 95, -48, 0, 16, 49, 2 }, + 113, { + { 16, 31, 16, 24, 49, 2 }, { 16, 30, 16, 24, 49, 2 }, { 16, 29, 16, 24, 49, 2 }, { 16, 28, 16, 24, 49, 2 }, { 16, 27, 16, 24, 49, 2 }, + { 16, 26, 16, 24, 49, 2 }, { 16, 25, 16, 24, 49, 2 }, { 16, 24, 15, 23, 49, 2 }, { 17, 23, 15, 23, 49, 2 }, { 17, 22, 15, 23, 49, 2 }, + { 17, 21, 15, 23, 49, 2 }, { 17, 20, 15, 23, 49, 2 }, { 17, 19, 15, 23, 49, 2 }, { 17, 18, 15, 23, 49, 2 }, { 18, 17, 14, 23, 49, 2 }, + { 18, 16, 14, 23, 49, 2 }, { 18, 15, 14, 23, 49, 2 }, { 18, 14, 14, 23, 49, 2 }, { 18, 13, 14, 23, 49, 2 }, { 19, 12, 14, 23, 49, 2 }, + { 19, 11, 14, 23, 49, 2 }, { 19, 10, 13, 22, 49, 2 }, { 19, 9, 13, 22, 49, 2 }, { 20, 8, 13, 22, 49, 2 }, { 20, 7, 13, 22, 49, 2 }, + { 20, 6, 13, 22, 49, 2 }, { 21, 5, 13, 22, 49, 2 }, { 21, 4, 13, 22, 49, 2 }, { 21, 3, 12, 22, 49, 2 }, { 22, 2, 12, 22, 49, 2 }, + { 22, 1, 12, 22, 49, 2 }, { 23, 0, 12, 22, 49, 2 }, { 23, -1, 12, 22, 49, 2 }, { 24, -2, 12, 22, 49, 2 }, { 24, -3, 12, 22, 49, 2 }, + { 25, -4, 11, 22, 49, 2 }, { 25, -5, 11, 21, 49, 2 }, { 26, -6, 11, 21, 49, 2 }, { 26, -7, 11, 21, 49, 2 }, { 27, -8, 11, 21, 49, 2 }, + { 28, -9, 11, 21, 49, 2 }, { 28, -10, 11, 21, 49, 2 }, { 29, -11, 10, 21, 49, 2 }, { 30, -12, 10, 21, 49, 2 }, { 30, -13, 10, 21, 49, 2 }, + { 31, -14, 10, 21, 49, 2 }, { 32, -15, 10, 21, 49, 2 }, { 32, -16, 10, 21, 49, 2 }, { 33, -17, 10, 21, 49, 2 }, { 34, -18, 9, 20, 49, 2 }, + { 35, -19, 9, 20, 49, 2 }, { 35, -20, 9, 20, 49, 2 }, { 36, -21, 9, 20, 49, 2 }, { 37, -22, 9, 20, 49, 2 }, { 38, -23, 9, 20, 49, 2 }, + { 39, -24, 9, 20, 49, 2 }, { 39, -25, 8, 20, 49, 2 }, { 40, -26, 8, 20, 49, 2 }, { 41, -27, 8, 20, 49, 2 }, { 42, -28, 8, 20, 49, 2 }, + { 43, -29, 8, 20, 49, 2 }, { 44, -29, 8, 20, 49, 2 }, { 45, -30, 8, 19, 49, 2 }, { 46, -31, 7, 19, 49, 2 }, { 47, -32, 7, 19, 49, 2 }, + { 48, -32, 7, 19, 49, 2 }, { 49, -33, 7, 19, 49, 2 }, { 50, -34, 7, 19, 49, 2 }, { 51, -34, 7, 19, 49, 2 }, { 52, -35, 7, 19, 49, 2 }, + { 53, -36, 6, 19, 49, 2 }, { 54, -36, 6, 19, 49, 2 }, { 55, -37, 6, 19, 49, 2 }, { 56, -38, 6, 19, 49, 2 }, { 57, -38, 6, 19, 49, 2 }, + { 58, -39, 6, 18, 49, 2 }, { 59, -39, 6, 18, 49, 2 }, { 60, -40, 5, 18, 49, 2 }, { 61, -40, 5, 18, 49, 2 }, { 62, -41, 5, 18, 49, 2 }, + { 63, -41, 5, 18, 49, 2 }, { 64, -42, 5, 18, 49, 2 }, { 65, -42, 5, 18, 49, 2 }, { 66, -43, 5, 18, 49, 2 }, { 67, -43, 4, 18, 49, 2 }, + { 68, -43, 4, 18, 49, 2 }, { 69, -44, 4, 18, 49, 2 }, { 70, -44, 4, 18, 49, 2 }, { 71, -44, 4, 18, 49, 2 }, { 72, -45, 4, 17, 49, 2 }, + { 73, -45, 4, 17, 49, 2 }, { 74, -45, 3, 17, 49, 2 }, { 75, -45, 3, 17, 49, 2 }, { 76, -46, 3, 17, 49, 2 }, { 77, -46, 3, 17, 49, 2 }, + { 78, -46, 3, 17, 49, 2 }, { 79, -46, 3, 17, 49, 2 }, { 80, -46, 3, 17, 49, 2 }, { 81, -47, 2, 17, 49, 2 }, { 82, -47, 2, 17, 49, 2 }, + { 83, -47, 2, 17, 49, 2 }, { 84, -47, 2, 17, 49, 2 }, { 85, -47, 2, 17, 49, 2 }, { 86, -47, 2, 17, 49, 2 }, { 87, -48, 2, 17, 49, 2 }, + { 88, -48, 1, 16, 49, 2 }, { 89, -48, 1, 16, 49, 2 }, { 90, -48, 1, 16, 49, 2 }, { 91, -48, 1, 16, 49, 2 }, { 92, -48, 1, 16, 49, 2 }, + { 93, -48, 1, 16, 49, 2 }, { 94, -48, 1, 16, 49, 2 }, { 95, -48, 0, 16, 49, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B3EE2 = { - 113, { - { 31, 16, 16, 0, 49, 4 }, { 30, 16, 16, 0, 49, 4 }, { 29, 16, 16, 0, 49, 4 }, { 28, 16, 16, 0, 49, 4 }, { 27, 16, 16, 0, 49, 4 }, - { 26, 16, 16, 0, 49, 4 }, { 25, 16, 16, 0, 49, 4 }, { 24, 16, 15, 1, 49, 4 }, { 23, 17, 15, 1, 49, 4 }, { 22, 17, 15, 1, 49, 4 }, - { 21, 17, 15, 1, 49, 4 }, { 20, 17, 15, 1, 49, 4 }, { 19, 17, 15, 1, 49, 4 }, { 18, 17, 15, 1, 49, 4 }, { 17, 18, 14, 1, 49, 4 }, - { 16, 18, 14, 1, 49, 4 }, { 15, 18, 14, 1, 49, 4 }, { 14, 18, 14, 1, 49, 4 }, { 13, 18, 14, 1, 49, 4 }, { 12, 19, 14, 1, 49, 4 }, - { 11, 19, 14, 1, 49, 4 }, { 10, 19, 13, 2, 49, 4 }, { 9, 19, 13, 2, 49, 4 }, { 8, 20, 13, 2, 49, 4 }, { 7, 20, 13, 2, 49, 4 }, - { 6, 20, 13, 2, 49, 4 }, { 5, 21, 13, 2, 49, 4 }, { 4, 21, 13, 2, 49, 4 }, { 3, 21, 12, 2, 49, 4 }, { 2, 22, 12, 2, 49, 4 }, - { 1, 22, 12, 2, 49, 4 }, { 0, 23, 12, 2, 49, 4 }, { -1, 23, 12, 2, 49, 4 }, { -2, 24, 12, 2, 49, 4 }, { -3, 24, 12, 2, 49, 4 }, - { -4, 25, 11, 2, 49, 4 }, { -5, 25, 11, 3, 49, 4 }, { -6, 26, 11, 3, 49, 4 }, { -7, 26, 11, 3, 49, 4 }, { -8, 27, 11, 3, 49, 4 }, - { -9, 28, 11, 3, 49, 4 }, { -10, 28, 11, 3, 49, 4 }, { -11, 29, 10, 3, 49, 4 }, { -12, 30, 10, 3, 49, 4 }, { -13, 30, 10, 3, 49, 4 }, - { -14, 31, 10, 3, 49, 4 }, { -15, 32, 10, 3, 49, 4 }, { -16, 32, 10, 3, 49, 4 }, { -17, 33, 10, 3, 49, 4 }, { -18, 34, 9, 4, 49, 4 }, - { -19, 35, 9, 4, 49, 4 }, { -20, 35, 9, 4, 49, 4 }, { -21, 36, 9, 4, 49, 4 }, { -22, 37, 9, 4, 49, 4 }, { -23, 38, 9, 4, 49, 4 }, - { -24, 39, 9, 4, 49, 4 }, { -25, 39, 8, 4, 49, 4 }, { -26, 40, 8, 4, 49, 4 }, { -27, 41, 8, 4, 49, 4 }, { -28, 42, 8, 4, 49, 4 }, - { -29, 43, 8, 4, 49, 4 }, { -29, 44, 8, 4, 49, 4 }, { -30, 45, 8, 5, 49, 4 }, { -31, 46, 7, 5, 49, 4 }, { -32, 47, 7, 5, 49, 4 }, - { -32, 48, 7, 5, 49, 4 }, { -33, 49, 7, 5, 49, 4 }, { -34, 50, 7, 5, 49, 4 }, { -34, 51, 7, 5, 49, 4 }, { -35, 52, 7, 5, 49, 4 }, - { -36, 53, 6, 5, 49, 4 }, { -36, 54, 6, 5, 49, 4 }, { -37, 55, 6, 5, 49, 4 }, { -38, 56, 6, 5, 49, 4 }, { -38, 57, 6, 5, 49, 4 }, - { -39, 58, 6, 6, 49, 4 }, { -39, 59, 6, 6, 49, 4 }, { -40, 60, 5, 6, 49, 4 }, { -40, 61, 5, 6, 49, 4 }, { -41, 62, 5, 6, 49, 4 }, - { -41, 63, 5, 6, 49, 4 }, { -42, 64, 5, 6, 49, 4 }, { -42, 65, 5, 6, 49, 4 }, { -43, 66, 5, 6, 49, 4 }, { -43, 67, 4, 6, 49, 4 }, - { -43, 68, 4, 6, 49, 4 }, { -44, 69, 4, 6, 49, 4 }, { -44, 70, 4, 6, 49, 4 }, { -44, 71, 4, 6, 49, 4 }, { -45, 72, 4, 7, 49, 4 }, - { -45, 73, 4, 7, 49, 4 }, { -45, 74, 3, 7, 49, 4 }, { -45, 75, 3, 7, 49, 4 }, { -46, 76, 3, 7, 49, 4 }, { -46, 77, 3, 7, 49, 4 }, - { -46, 78, 3, 7, 49, 4 }, { -46, 79, 3, 7, 49, 4 }, { -46, 80, 3, 7, 49, 4 }, { -47, 81, 2, 7, 49, 4 }, { -47, 82, 2, 7, 49, 4 }, - { -47, 83, 2, 7, 49, 4 }, { -47, 84, 2, 7, 49, 4 }, { -47, 85, 2, 7, 49, 4 }, { -47, 86, 2, 7, 49, 4 }, { -48, 87, 2, 7, 49, 4 }, - { -48, 88, 1, 8, 49, 4 }, { -48, 89, 1, 8, 49, 4 }, { -48, 90, 1, 8, 49, 4 }, { -48, 91, 1, 8, 49, 4 }, { -48, 92, 1, 8, 49, 4 }, - { -48, 93, 1, 8, 49, 4 }, { -48, 94, 1, 8, 49, 4 }, { -48, 95, 0, 8, 49, 4 }, + 113, { + { 31, 16, 16, 0, 49, 4 }, { 30, 16, 16, 0, 49, 4 }, { 29, 16, 16, 0, 49, 4 }, { 28, 16, 16, 0, 49, 4 }, { 27, 16, 16, 0, 49, 4 }, + { 26, 16, 16, 0, 49, 4 }, { 25, 16, 16, 0, 49, 4 }, { 24, 16, 15, 1, 49, 4 }, { 23, 17, 15, 1, 49, 4 }, { 22, 17, 15, 1, 49, 4 }, + { 21, 17, 15, 1, 49, 4 }, { 20, 17, 15, 1, 49, 4 }, { 19, 17, 15, 1, 49, 4 }, { 18, 17, 15, 1, 49, 4 }, { 17, 18, 14, 1, 49, 4 }, + { 16, 18, 14, 1, 49, 4 }, { 15, 18, 14, 1, 49, 4 }, { 14, 18, 14, 1, 49, 4 }, { 13, 18, 14, 1, 49, 4 }, { 12, 19, 14, 1, 49, 4 }, + { 11, 19, 14, 1, 49, 4 }, { 10, 19, 13, 2, 49, 4 }, { 9, 19, 13, 2, 49, 4 }, { 8, 20, 13, 2, 49, 4 }, { 7, 20, 13, 2, 49, 4 }, + { 6, 20, 13, 2, 49, 4 }, { 5, 21, 13, 2, 49, 4 }, { 4, 21, 13, 2, 49, 4 }, { 3, 21, 12, 2, 49, 4 }, { 2, 22, 12, 2, 49, 4 }, + { 1, 22, 12, 2, 49, 4 }, { 0, 23, 12, 2, 49, 4 }, { -1, 23, 12, 2, 49, 4 }, { -2, 24, 12, 2, 49, 4 }, { -3, 24, 12, 2, 49, 4 }, + { -4, 25, 11, 2, 49, 4 }, { -5, 25, 11, 3, 49, 4 }, { -6, 26, 11, 3, 49, 4 }, { -7, 26, 11, 3, 49, 4 }, { -8, 27, 11, 3, 49, 4 }, + { -9, 28, 11, 3, 49, 4 }, { -10, 28, 11, 3, 49, 4 }, { -11, 29, 10, 3, 49, 4 }, { -12, 30, 10, 3, 49, 4 }, { -13, 30, 10, 3, 49, 4 }, + { -14, 31, 10, 3, 49, 4 }, { -15, 32, 10, 3, 49, 4 }, { -16, 32, 10, 3, 49, 4 }, { -17, 33, 10, 3, 49, 4 }, { -18, 34, 9, 4, 49, 4 }, + { -19, 35, 9, 4, 49, 4 }, { -20, 35, 9, 4, 49, 4 }, { -21, 36, 9, 4, 49, 4 }, { -22, 37, 9, 4, 49, 4 }, { -23, 38, 9, 4, 49, 4 }, + { -24, 39, 9, 4, 49, 4 }, { -25, 39, 8, 4, 49, 4 }, { -26, 40, 8, 4, 49, 4 }, { -27, 41, 8, 4, 49, 4 }, { -28, 42, 8, 4, 49, 4 }, + { -29, 43, 8, 4, 49, 4 }, { -29, 44, 8, 4, 49, 4 }, { -30, 45, 8, 5, 49, 4 }, { -31, 46, 7, 5, 49, 4 }, { -32, 47, 7, 5, 49, 4 }, + { -32, 48, 7, 5, 49, 4 }, { -33, 49, 7, 5, 49, 4 }, { -34, 50, 7, 5, 49, 4 }, { -34, 51, 7, 5, 49, 4 }, { -35, 52, 7, 5, 49, 4 }, + { -36, 53, 6, 5, 49, 4 }, { -36, 54, 6, 5, 49, 4 }, { -37, 55, 6, 5, 49, 4 }, { -38, 56, 6, 5, 49, 4 }, { -38, 57, 6, 5, 49, 4 }, + { -39, 58, 6, 6, 49, 4 }, { -39, 59, 6, 6, 49, 4 }, { -40, 60, 5, 6, 49, 4 }, { -40, 61, 5, 6, 49, 4 }, { -41, 62, 5, 6, 49, 4 }, + { -41, 63, 5, 6, 49, 4 }, { -42, 64, 5, 6, 49, 4 }, { -42, 65, 5, 6, 49, 4 }, { -43, 66, 5, 6, 49, 4 }, { -43, 67, 4, 6, 49, 4 }, + { -43, 68, 4, 6, 49, 4 }, { -44, 69, 4, 6, 49, 4 }, { -44, 70, 4, 6, 49, 4 }, { -44, 71, 4, 6, 49, 4 }, { -45, 72, 4, 7, 49, 4 }, + { -45, 73, 4, 7, 49, 4 }, { -45, 74, 3, 7, 49, 4 }, { -45, 75, 3, 7, 49, 4 }, { -46, 76, 3, 7, 49, 4 }, { -46, 77, 3, 7, 49, 4 }, + { -46, 78, 3, 7, 49, 4 }, { -46, 79, 3, 7, 49, 4 }, { -46, 80, 3, 7, 49, 4 }, { -47, 81, 2, 7, 49, 4 }, { -47, 82, 2, 7, 49, 4 }, + { -47, 83, 2, 7, 49, 4 }, { -47, 84, 2, 7, 49, 4 }, { -47, 85, 2, 7, 49, 4 }, { -47, 86, 2, 7, 49, 4 }, { -48, 87, 2, 7, 49, 4 }, + { -48, 88, 1, 8, 49, 4 }, { -48, 89, 1, 8, 49, 4 }, { -48, 90, 1, 8, 49, 4 }, { -48, 91, 1, 8, 49, 4 }, { -48, 92, 1, 8, 49, 4 }, + { -48, 93, 1, 8, 49, 4 }, { -48, 94, 1, 8, 49, 4 }, { -48, 95, 0, 8, 49, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B42DD = { - 114, { - { 16, 0, 16, 8, 49, 4 }, { 16, 1, 16, 8, 49, 4 }, { 16, 2, 16, 8, 49, 4 }, { 16, 3, 16, 8, 49, 4 }, { 16, 4, 16, 8, 49, 4 }, - { 16, 5, 16, 8, 49, 4 }, { 16, 6, 16, 8, 49, 4 }, { 16, 7, 16, 8, 49, 4 }, { 16, 8, 15, 9, 49, 4 }, { 17, 9, 15, 9, 49, 4 }, - { 17, 10, 15, 9, 49, 4 }, { 17, 11, 15, 9, 49, 4 }, { 17, 12, 15, 9, 49, 4 }, { 17, 13, 15, 9, 49, 4 }, { 17, 14, 15, 9, 49, 4 }, - { 18, 15, 14, 9, 49, 4 }, { 18, 16, 14, 9, 49, 4 }, { 18, 17, 14, 9, 49, 4 }, { 18, 18, 14, 9, 49, 4 }, { 18, 19, 14, 9, 49, 4 }, - { 19, 20, 14, 9, 49, 4 }, { 19, 21, 14, 9, 49, 4 }, { 19, 22, 13, 10, 49, 4 }, { 19, 23, 13, 10, 49, 4 }, { 20, 24, 13, 10, 49, 4 }, - { 20, 25, 13, 10, 49, 4 }, { 20, 26, 13, 10, 49, 4 }, { 21, 27, 13, 10, 49, 4 }, { 21, 28, 13, 10, 49, 4 }, { 21, 29, 12, 10, 49, 4 }, - { 22, 30, 12, 10, 49, 4 }, { 22, 31, 12, 10, 49, 4 }, { 23, 32, 12, 10, 49, 4 }, { 23, 33, 12, 10, 49, 4 }, { 24, 34, 12, 10, 49, 4 }, - { 24, 35, 12, 10, 49, 4 }, { 25, 36, 11, 10, 49, 4 }, { 25, 37, 11, 11, 49, 4 }, { 26, 38, 11, 11, 49, 4 }, { 26, 39, 11, 11, 49, 4 }, - { 27, 40, 11, 11, 49, 4 }, { 28, 41, 11, 11, 49, 4 }, { 28, 42, 11, 11, 49, 4 }, { 29, 43, 10, 11, 49, 4 }, { 30, 44, 10, 11, 49, 4 }, - { 30, 45, 10, 11, 49, 4 }, { 31, 46, 10, 11, 49, 4 }, { 32, 47, 10, 11, 49, 4 }, { 32, 48, 10, 11, 49, 4 }, { 33, 49, 10, 11, 49, 4 }, - { 34, 50, 9, 12, 49, 4 }, { 35, 51, 9, 12, 49, 4 }, { 35, 52, 9, 12, 49, 4 }, { 36, 53, 9, 12, 49, 4 }, { 37, 54, 9, 12, 49, 4 }, - { 38, 55, 9, 12, 49, 4 }, { 39, 56, 9, 12, 49, 4 }, { 39, 57, 8, 12, 49, 4 }, { 40, 58, 8, 12, 49, 4 }, { 41, 59, 8, 12, 49, 4 }, - { 42, 60, 8, 12, 49, 4 }, { 43, 61, 8, 12, 49, 4 }, { 44, 61, 8, 12, 49, 4 }, { 45, 62, 8, 13, 49, 4 }, { 46, 63, 8, 13, 49, 4 }, - { 47, 64, 7, 13, 49, 4 }, { 48, 64, 7, 13, 49, 4 }, { 49, 65, 7, 13, 49, 4 }, { 50, 66, 7, 13, 49, 4 }, { 51, 66, 7, 13, 49, 4 }, - { 52, 67, 7, 13, 49, 4 }, { 53, 68, 7, 13, 49, 4 }, { 54, 68, 6, 13, 49, 4 }, { 55, 69, 6, 13, 49, 4 }, { 56, 70, 6, 13, 49, 4 }, - { 57, 70, 6, 13, 49, 4 }, { 58, 71, 6, 14, 49, 4 }, { 59, 71, 6, 14, 49, 4 }, { 60, 72, 6, 14, 49, 4 }, { 61, 72, 5, 14, 49, 4 }, - { 62, 73, 5, 14, 49, 4 }, { 63, 73, 5, 14, 49, 4 }, { 64, 74, 5, 14, 49, 4 }, { 65, 74, 5, 14, 49, 4 }, { 66, 75, 5, 14, 49, 4 }, - { 67, 75, 5, 14, 49, 4 }, { 68, 75, 4, 14, 49, 4 }, { 69, 76, 4, 14, 49, 4 }, { 70, 76, 4, 14, 49, 4 }, { 71, 76, 4, 14, 49, 4 }, - { 72, 77, 4, 15, 49, 4 }, { 73, 77, 4, 15, 49, 4 }, { 74, 77, 4, 15, 49, 4 }, { 75, 77, 3, 15, 49, 4 }, { 76, 78, 3, 15, 49, 4 }, - { 77, 78, 3, 15, 49, 4 }, { 78, 78, 3, 15, 49, 4 }, { 79, 78, 3, 15, 49, 4 }, { 80, 78, 3, 15, 49, 4 }, { 81, 79, 3, 15, 49, 4 }, - { 82, 79, 2, 15, 49, 4 }, { 83, 79, 2, 15, 49, 4 }, { 84, 79, 2, 15, 49, 4 }, { 85, 79, 2, 15, 49, 4 }, { 86, 79, 2, 15, 49, 4 }, - { 87, 80, 2, 15, 49, 4 }, { 88, 80, 2, 16, 49, 4 }, { 89, 80, 1, 16, 49, 4 }, { 90, 80, 1, 16, 49, 4 }, { 91, 80, 1, 16, 49, 4 }, - { 92, 80, 1, 16, 49, 4 }, { 93, 80, 1, 16, 49, 4 }, { 94, 80, 1, 16, 49, 4 }, { 95, 80, 1, 16, 49, 4 }, + 114, { + { 16, 0, 16, 8, 49, 4 }, { 16, 1, 16, 8, 49, 4 }, { 16, 2, 16, 8, 49, 4 }, { 16, 3, 16, 8, 49, 4 }, { 16, 4, 16, 8, 49, 4 }, + { 16, 5, 16, 8, 49, 4 }, { 16, 6, 16, 8, 49, 4 }, { 16, 7, 16, 8, 49, 4 }, { 16, 8, 15, 9, 49, 4 }, { 17, 9, 15, 9, 49, 4 }, + { 17, 10, 15, 9, 49, 4 }, { 17, 11, 15, 9, 49, 4 }, { 17, 12, 15, 9, 49, 4 }, { 17, 13, 15, 9, 49, 4 }, { 17, 14, 15, 9, 49, 4 }, + { 18, 15, 14, 9, 49, 4 }, { 18, 16, 14, 9, 49, 4 }, { 18, 17, 14, 9, 49, 4 }, { 18, 18, 14, 9, 49, 4 }, { 18, 19, 14, 9, 49, 4 }, + { 19, 20, 14, 9, 49, 4 }, { 19, 21, 14, 9, 49, 4 }, { 19, 22, 13, 10, 49, 4 }, { 19, 23, 13, 10, 49, 4 }, { 20, 24, 13, 10, 49, 4 }, + { 20, 25, 13, 10, 49, 4 }, { 20, 26, 13, 10, 49, 4 }, { 21, 27, 13, 10, 49, 4 }, { 21, 28, 13, 10, 49, 4 }, { 21, 29, 12, 10, 49, 4 }, + { 22, 30, 12, 10, 49, 4 }, { 22, 31, 12, 10, 49, 4 }, { 23, 32, 12, 10, 49, 4 }, { 23, 33, 12, 10, 49, 4 }, { 24, 34, 12, 10, 49, 4 }, + { 24, 35, 12, 10, 49, 4 }, { 25, 36, 11, 10, 49, 4 }, { 25, 37, 11, 11, 49, 4 }, { 26, 38, 11, 11, 49, 4 }, { 26, 39, 11, 11, 49, 4 }, + { 27, 40, 11, 11, 49, 4 }, { 28, 41, 11, 11, 49, 4 }, { 28, 42, 11, 11, 49, 4 }, { 29, 43, 10, 11, 49, 4 }, { 30, 44, 10, 11, 49, 4 }, + { 30, 45, 10, 11, 49, 4 }, { 31, 46, 10, 11, 49, 4 }, { 32, 47, 10, 11, 49, 4 }, { 32, 48, 10, 11, 49, 4 }, { 33, 49, 10, 11, 49, 4 }, + { 34, 50, 9, 12, 49, 4 }, { 35, 51, 9, 12, 49, 4 }, { 35, 52, 9, 12, 49, 4 }, { 36, 53, 9, 12, 49, 4 }, { 37, 54, 9, 12, 49, 4 }, + { 38, 55, 9, 12, 49, 4 }, { 39, 56, 9, 12, 49, 4 }, { 39, 57, 8, 12, 49, 4 }, { 40, 58, 8, 12, 49, 4 }, { 41, 59, 8, 12, 49, 4 }, + { 42, 60, 8, 12, 49, 4 }, { 43, 61, 8, 12, 49, 4 }, { 44, 61, 8, 12, 49, 4 }, { 45, 62, 8, 13, 49, 4 }, { 46, 63, 8, 13, 49, 4 }, + { 47, 64, 7, 13, 49, 4 }, { 48, 64, 7, 13, 49, 4 }, { 49, 65, 7, 13, 49, 4 }, { 50, 66, 7, 13, 49, 4 }, { 51, 66, 7, 13, 49, 4 }, + { 52, 67, 7, 13, 49, 4 }, { 53, 68, 7, 13, 49, 4 }, { 54, 68, 6, 13, 49, 4 }, { 55, 69, 6, 13, 49, 4 }, { 56, 70, 6, 13, 49, 4 }, + { 57, 70, 6, 13, 49, 4 }, { 58, 71, 6, 14, 49, 4 }, { 59, 71, 6, 14, 49, 4 }, { 60, 72, 6, 14, 49, 4 }, { 61, 72, 5, 14, 49, 4 }, + { 62, 73, 5, 14, 49, 4 }, { 63, 73, 5, 14, 49, 4 }, { 64, 74, 5, 14, 49, 4 }, { 65, 74, 5, 14, 49, 4 }, { 66, 75, 5, 14, 49, 4 }, + { 67, 75, 5, 14, 49, 4 }, { 68, 75, 4, 14, 49, 4 }, { 69, 76, 4, 14, 49, 4 }, { 70, 76, 4, 14, 49, 4 }, { 71, 76, 4, 14, 49, 4 }, + { 72, 77, 4, 15, 49, 4 }, { 73, 77, 4, 15, 49, 4 }, { 74, 77, 4, 15, 49, 4 }, { 75, 77, 3, 15, 49, 4 }, { 76, 78, 3, 15, 49, 4 }, + { 77, 78, 3, 15, 49, 4 }, { 78, 78, 3, 15, 49, 4 }, { 79, 78, 3, 15, 49, 4 }, { 80, 78, 3, 15, 49, 4 }, { 81, 79, 3, 15, 49, 4 }, + { 82, 79, 2, 15, 49, 4 }, { 83, 79, 2, 15, 49, 4 }, { 84, 79, 2, 15, 49, 4 }, { 85, 79, 2, 15, 49, 4 }, { 86, 79, 2, 15, 49, 4 }, + { 87, 80, 2, 15, 49, 4 }, { 88, 80, 2, 16, 49, 4 }, { 89, 80, 1, 16, 49, 4 }, { 90, 80, 1, 16, 49, 4 }, { 91, 80, 1, 16, 49, 4 }, + { 92, 80, 1, 16, 49, 4 }, { 93, 80, 1, 16, 49, 4 }, { 94, 80, 1, 16, 49, 4 }, { 95, 80, 1, 16, 49, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B46E1 = { - 115, { - { 0, 16, 16, 16, 49, 4 }, { 1, 16, 16, 16, 49, 4 }, { 2, 16, 16, 16, 49, 4 }, { 3, 16, 16, 16, 49, 4 }, { 4, 16, 16, 16, 49, 4 }, - { 5, 16, 16, 16, 49, 4 }, { 6, 16, 16, 16, 49, 4 }, { 7, 16, 16, 16, 49, 4 }, { 8, 16, 15, 17, 49, 4 }, { 9, 15, 15, 17, 49, 4 }, - { 10, 15, 15, 17, 49, 4 }, { 11, 15, 15, 17, 49, 4 }, { 12, 15, 15, 17, 49, 4 }, { 13, 15, 15, 17, 49, 4 }, { 14, 15, 15, 17, 49, 4 }, - { 15, 14, 14, 17, 49, 4 }, { 16, 14, 14, 17, 49, 4 }, { 17, 14, 14, 17, 49, 4 }, { 18, 14, 14, 17, 49, 4 }, { 19, 14, 14, 17, 49, 4 }, - { 20, 13, 14, 17, 49, 4 }, { 21, 13, 14, 17, 49, 4 }, { 22, 13, 13, 18, 49, 4 }, { 23, 13, 13, 18, 49, 4 }, { 24, 12, 13, 18, 49, 4 }, - { 25, 12, 13, 18, 49, 4 }, { 26, 12, 13, 18, 49, 4 }, { 27, 11, 13, 18, 49, 4 }, { 28, 11, 13, 18, 49, 4 }, { 29, 11, 12, 18, 49, 4 }, - { 30, 10, 12, 18, 49, 4 }, { 31, 10, 12, 18, 49, 4 }, { 32, 9, 12, 18, 49, 4 }, { 33, 9, 12, 18, 49, 4 }, { 34, 8, 12, 18, 49, 4 }, - { 35, 8, 12, 18, 49, 4 }, { 36, 7, 11, 18, 49, 4 }, { 37, 7, 11, 19, 49, 4 }, { 38, 6, 11, 19, 49, 4 }, { 39, 6, 11, 19, 49, 4 }, - { 40, 5, 11, 19, 49, 4 }, { 41, 4, 11, 19, 49, 4 }, { 42, 4, 11, 19, 49, 4 }, { 43, 3, 11, 19, 49, 4 }, { 44, 2, 10, 19, 49, 4 }, - { 45, 2, 10, 19, 49, 4 }, { 46, 1, 10, 19, 49, 4 }, { 47, 0, 10, 19, 49, 4 }, { 48, 0, 10, 19, 49, 4 }, { 49, -1, 10, 19, 49, 4 }, - { 50, -2, 10, 20, 49, 4 }, { 51, -3, 9, 20, 49, 4 }, { 52, -3, 9, 20, 49, 4 }, { 53, -4, 9, 20, 49, 4 }, { 54, -5, 9, 20, 49, 4 }, - { 55, -6, 9, 20, 49, 4 }, { 56, -7, 9, 20, 49, 4 }, { 57, -7, 9, 20, 49, 4 }, { 58, -8, 8, 20, 49, 4 }, { 59, -9, 8, 20, 49, 4 }, - { 60, -10, 8, 20, 49, 4 }, { 61, -11, 8, 20, 49, 4 }, { 61, -12, 8, 20, 49, 4 }, { 62, -13, 8, 21, 49, 4 }, { 63, -14, 8, 21, 49, 4 }, - { 64, -15, 7, 21, 49, 4 }, { 64, -16, 7, 21, 49, 4 }, { 65, -17, 7, 21, 49, 4 }, { 66, -18, 7, 21, 49, 4 }, { 66, -19, 7, 21, 49, 4 }, - { 67, -20, 7, 21, 49, 4 }, { 68, -21, 7, 21, 49, 4 }, { 68, -22, 6, 21, 49, 4 }, { 69, -23, 6, 21, 49, 4 }, { 70, -24, 6, 21, 49, 4 }, - { 70, -25, 6, 21, 49, 4 }, { 71, -26, 6, 22, 49, 4 }, { 71, -27, 6, 22, 49, 4 }, { 72, -28, 6, 22, 49, 4 }, { 72, -29, 6, 22, 49, 4 }, - { 73, -30, 5, 22, 49, 4 }, { 73, -31, 5, 22, 49, 4 }, { 74, -32, 5, 22, 49, 4 }, { 74, -33, 5, 22, 49, 4 }, { 75, -34, 5, 22, 49, 4 }, - { 75, -35, 5, 22, 49, 4 }, { 75, -36, 5, 22, 49, 4 }, { 76, -37, 4, 22, 49, 4 }, { 76, -38, 4, 22, 49, 4 }, { 76, -39, 4, 22, 49, 4 }, - { 77, -40, 4, 23, 49, 4 }, { 77, -41, 4, 23, 49, 4 }, { 77, -42, 4, 23, 49, 4 }, { 77, -43, 4, 23, 49, 4 }, { 78, -44, 3, 23, 49, 4 }, - { 78, -45, 3, 23, 49, 4 }, { 78, -46, 3, 23, 49, 4 }, { 78, -47, 3, 23, 49, 4 }, { 78, -48, 3, 23, 49, 4 }, { 79, -49, 3, 23, 49, 4 }, - { 79, -50, 3, 23, 49, 4 }, { 79, -51, 2, 23, 49, 4 }, { 79, -52, 2, 23, 49, 4 }, { 79, -53, 2, 23, 49, 4 }, { 79, -54, 2, 23, 49, 4 }, - { 80, -55, 2, 23, 49, 4 }, { 80, -56, 2, 24, 49, 4 }, { 80, -57, 2, 24, 49, 4 }, { 80, -58, 1, 24, 49, 4 }, { 80, -59, 1, 24, 49, 4 }, - { 80, -60, 1, 24, 49, 4 }, { 80, -61, 1, 24, 49, 4 }, { 80, -62, 1, 24, 49, 4 }, { 80, -63, 1, 24, 49, 4 }, { 80, -64, 1, 24, 49, 4 }, + 115, { + { 0, 16, 16, 16, 49, 4 }, { 1, 16, 16, 16, 49, 4 }, { 2, 16, 16, 16, 49, 4 }, { 3, 16, 16, 16, 49, 4 }, { 4, 16, 16, 16, 49, 4 }, + { 5, 16, 16, 16, 49, 4 }, { 6, 16, 16, 16, 49, 4 }, { 7, 16, 16, 16, 49, 4 }, { 8, 16, 15, 17, 49, 4 }, { 9, 15, 15, 17, 49, 4 }, + { 10, 15, 15, 17, 49, 4 }, { 11, 15, 15, 17, 49, 4 }, { 12, 15, 15, 17, 49, 4 }, { 13, 15, 15, 17, 49, 4 }, { 14, 15, 15, 17, 49, 4 }, + { 15, 14, 14, 17, 49, 4 }, { 16, 14, 14, 17, 49, 4 }, { 17, 14, 14, 17, 49, 4 }, { 18, 14, 14, 17, 49, 4 }, { 19, 14, 14, 17, 49, 4 }, + { 20, 13, 14, 17, 49, 4 }, { 21, 13, 14, 17, 49, 4 }, { 22, 13, 13, 18, 49, 4 }, { 23, 13, 13, 18, 49, 4 }, { 24, 12, 13, 18, 49, 4 }, + { 25, 12, 13, 18, 49, 4 }, { 26, 12, 13, 18, 49, 4 }, { 27, 11, 13, 18, 49, 4 }, { 28, 11, 13, 18, 49, 4 }, { 29, 11, 12, 18, 49, 4 }, + { 30, 10, 12, 18, 49, 4 }, { 31, 10, 12, 18, 49, 4 }, { 32, 9, 12, 18, 49, 4 }, { 33, 9, 12, 18, 49, 4 }, { 34, 8, 12, 18, 49, 4 }, + { 35, 8, 12, 18, 49, 4 }, { 36, 7, 11, 18, 49, 4 }, { 37, 7, 11, 19, 49, 4 }, { 38, 6, 11, 19, 49, 4 }, { 39, 6, 11, 19, 49, 4 }, + { 40, 5, 11, 19, 49, 4 }, { 41, 4, 11, 19, 49, 4 }, { 42, 4, 11, 19, 49, 4 }, { 43, 3, 11, 19, 49, 4 }, { 44, 2, 10, 19, 49, 4 }, + { 45, 2, 10, 19, 49, 4 }, { 46, 1, 10, 19, 49, 4 }, { 47, 0, 10, 19, 49, 4 }, { 48, 0, 10, 19, 49, 4 }, { 49, -1, 10, 19, 49, 4 }, + { 50, -2, 10, 20, 49, 4 }, { 51, -3, 9, 20, 49, 4 }, { 52, -3, 9, 20, 49, 4 }, { 53, -4, 9, 20, 49, 4 }, { 54, -5, 9, 20, 49, 4 }, + { 55, -6, 9, 20, 49, 4 }, { 56, -7, 9, 20, 49, 4 }, { 57, -7, 9, 20, 49, 4 }, { 58, -8, 8, 20, 49, 4 }, { 59, -9, 8, 20, 49, 4 }, + { 60, -10, 8, 20, 49, 4 }, { 61, -11, 8, 20, 49, 4 }, { 61, -12, 8, 20, 49, 4 }, { 62, -13, 8, 21, 49, 4 }, { 63, -14, 8, 21, 49, 4 }, + { 64, -15, 7, 21, 49, 4 }, { 64, -16, 7, 21, 49, 4 }, { 65, -17, 7, 21, 49, 4 }, { 66, -18, 7, 21, 49, 4 }, { 66, -19, 7, 21, 49, 4 }, + { 67, -20, 7, 21, 49, 4 }, { 68, -21, 7, 21, 49, 4 }, { 68, -22, 6, 21, 49, 4 }, { 69, -23, 6, 21, 49, 4 }, { 70, -24, 6, 21, 49, 4 }, + { 70, -25, 6, 21, 49, 4 }, { 71, -26, 6, 22, 49, 4 }, { 71, -27, 6, 22, 49, 4 }, { 72, -28, 6, 22, 49, 4 }, { 72, -29, 6, 22, 49, 4 }, + { 73, -30, 5, 22, 49, 4 }, { 73, -31, 5, 22, 49, 4 }, { 74, -32, 5, 22, 49, 4 }, { 74, -33, 5, 22, 49, 4 }, { 75, -34, 5, 22, 49, 4 }, + { 75, -35, 5, 22, 49, 4 }, { 75, -36, 5, 22, 49, 4 }, { 76, -37, 4, 22, 49, 4 }, { 76, -38, 4, 22, 49, 4 }, { 76, -39, 4, 22, 49, 4 }, + { 77, -40, 4, 23, 49, 4 }, { 77, -41, 4, 23, 49, 4 }, { 77, -42, 4, 23, 49, 4 }, { 77, -43, 4, 23, 49, 4 }, { 78, -44, 3, 23, 49, 4 }, + { 78, -45, 3, 23, 49, 4 }, { 78, -46, 3, 23, 49, 4 }, { 78, -47, 3, 23, 49, 4 }, { 78, -48, 3, 23, 49, 4 }, { 79, -49, 3, 23, 49, 4 }, + { 79, -50, 3, 23, 49, 4 }, { 79, -51, 2, 23, 49, 4 }, { 79, -52, 2, 23, 49, 4 }, { 79, -53, 2, 23, 49, 4 }, { 79, -54, 2, 23, 49, 4 }, + { 80, -55, 2, 23, 49, 4 }, { 80, -56, 2, 24, 49, 4 }, { 80, -57, 2, 24, 49, 4 }, { 80, -58, 1, 24, 49, 4 }, { 80, -59, 1, 24, 49, 4 }, + { 80, -60, 1, 24, 49, 4 }, { 80, -61, 1, 24, 49, 4 }, { 80, -62, 1, 24, 49, 4 }, { 80, -63, 1, 24, 49, 4 }, { 80, -64, 1, 24, 49, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B4AEE = { - 114, { - { 16, 31, 16, 24, 49, 4 }, { 16, 30, 16, 24, 49, 4 }, { 16, 29, 16, 24, 49, 4 }, { 16, 28, 16, 24, 49, 4 }, { 16, 27, 16, 24, 49, 4 }, - { 16, 26, 16, 24, 49, 4 }, { 16, 25, 16, 24, 49, 4 }, { 16, 24, 15, 25, 49, 4 }, { 15, 23, 15, 25, 49, 4 }, { 15, 22, 15, 25, 49, 4 }, - { 15, 21, 15, 25, 49, 4 }, { 15, 20, 15, 25, 49, 4 }, { 15, 19, 15, 25, 49, 4 }, { 15, 18, 15, 25, 49, 4 }, { 14, 17, 14, 25, 49, 4 }, - { 14, 16, 14, 25, 49, 4 }, { 14, 15, 14, 25, 49, 4 }, { 14, 14, 14, 25, 49, 4 }, { 14, 13, 14, 25, 49, 4 }, { 13, 12, 14, 25, 49, 4 }, - { 13, 11, 14, 25, 49, 4 }, { 13, 10, 13, 26, 49, 4 }, { 13, 9, 13, 26, 49, 4 }, { 12, 8, 13, 26, 49, 4 }, { 12, 7, 13, 26, 49, 4 }, - { 12, 6, 13, 26, 49, 4 }, { 11, 5, 13, 26, 49, 4 }, { 11, 4, 13, 26, 49, 4 }, { 11, 3, 12, 26, 49, 4 }, { 10, 2, 12, 26, 49, 4 }, - { 10, 1, 12, 26, 49, 4 }, { 9, 0, 12, 26, 49, 4 }, { 9, -1, 12, 26, 49, 4 }, { 8, -2, 12, 26, 49, 4 }, { 8, -3, 12, 26, 49, 4 }, - { 7, -4, 11, 26, 49, 4 }, { 7, -5, 11, 27, 49, 4 }, { 6, -6, 11, 27, 49, 4 }, { 6, -7, 11, 27, 49, 4 }, { 5, -8, 11, 27, 49, 4 }, - { 4, -9, 11, 27, 49, 4 }, { 4, -10, 11, 27, 49, 4 }, { 3, -11, 10, 27, 49, 4 }, { 2, -12, 10, 27, 49, 4 }, { 2, -13, 10, 27, 49, 4 }, - { 1, -14, 10, 27, 49, 4 }, { 0, -15, 10, 27, 49, 4 }, { 0, -16, 10, 27, 49, 4 }, { -1, -17, 10, 27, 49, 4 }, { -2, -18, 9, 28, 49, 4 }, - { -3, -19, 9, 28, 49, 4 }, { -3, -20, 9, 28, 49, 4 }, { -4, -21, 9, 28, 49, 4 }, { -5, -22, 9, 28, 49, 4 }, { -6, -23, 9, 28, 49, 4 }, - { -7, -24, 9, 28, 49, 4 }, { -7, -25, 8, 28, 49, 4 }, { -8, -26, 8, 28, 49, 4 }, { -9, -27, 8, 28, 49, 4 }, { -10, -28, 8, 28, 49, 4 }, - { -11, -29, 8, 28, 49, 4 }, { -12, -29, 8, 28, 49, 4 }, { -13, -30, 8, 29, 49, 4 }, { -14, -31, 8, 29, 49, 4 }, { -15, -32, 7, 29, 49, 4 }, - { -16, -32, 7, 29, 49, 4 }, { -17, -33, 7, 29, 49, 4 }, { -18, -34, 7, 29, 49, 4 }, { -19, -34, 7, 29, 49, 4 }, { -20, -35, 7, 29, 49, 4 }, - { -21, -36, 7, 29, 49, 4 }, { -22, -36, 6, 29, 49, 4 }, { -23, -37, 6, 29, 49, 4 }, { -24, -38, 6, 29, 49, 4 }, { -25, -38, 6, 29, 49, 4 }, - { -26, -39, 6, 30, 49, 4 }, { -27, -39, 6, 30, 49, 4 }, { -28, -40, 6, 30, 49, 4 }, { -29, -40, 5, 30, 49, 4 }, { -30, -41, 5, 30, 49, 4 }, - { -31, -41, 5, 30, 49, 4 }, { -32, -42, 5, 30, 49, 4 }, { -33, -42, 5, 30, 49, 4 }, { -34, -43, 5, 30, 49, 4 }, { -35, -43, 5, 30, 49, 4 }, - { -36, -43, 4, 30, 49, 4 }, { -37, -44, 4, 30, 49, 4 }, { -38, -44, 4, 30, 49, 4 }, { -39, -44, 4, 30, 49, 4 }, { -40, -45, 4, 31, 49, 4 }, - { -41, -45, 4, 31, 49, 4 }, { -42, -45, 4, 31, 49, 4 }, { -43, -45, 3, 31, 49, 4 }, { -44, -46, 3, 31, 49, 4 }, { -45, -46, 3, 31, 49, 4 }, - { -46, -46, 3, 31, 49, 4 }, { -47, -46, 3, 31, 49, 4 }, { -48, -46, 3, 31, 49, 4 }, { -49, -47, 3, 31, 49, 4 }, { -50, -47, 2, 31, 49, 4 }, - { -51, -47, 2, 31, 49, 4 }, { -52, -47, 2, 31, 49, 4 }, { -53, -47, 2, 31, 49, 4 }, { -54, -47, 2, 31, 49, 4 }, { -55, -48, 2, 31, 49, 4 }, - { -56, -48, 2, 0, 49, 4 }, { -57, -48, 1, 0, 49, 4 }, { -58, -48, 1, 0, 49, 4 }, { -59, -48, 1, 0, 49, 4 }, { -60, -48, 1, 0, 49, 4 }, - { -61, -48, 1, 0, 49, 4 }, { -62, -48, 1, 0, 49, 4 }, { -63, -48, 1, 0, 49, 4 }, { -64, -48, 0, 0, 49, 4 }, + 114, { + { 16, 31, 16, 24, 49, 4 }, { 16, 30, 16, 24, 49, 4 }, { 16, 29, 16, 24, 49, 4 }, { 16, 28, 16, 24, 49, 4 }, { 16, 27, 16, 24, 49, 4 }, + { 16, 26, 16, 24, 49, 4 }, { 16, 25, 16, 24, 49, 4 }, { 16, 24, 15, 25, 49, 4 }, { 15, 23, 15, 25, 49, 4 }, { 15, 22, 15, 25, 49, 4 }, + { 15, 21, 15, 25, 49, 4 }, { 15, 20, 15, 25, 49, 4 }, { 15, 19, 15, 25, 49, 4 }, { 15, 18, 15, 25, 49, 4 }, { 14, 17, 14, 25, 49, 4 }, + { 14, 16, 14, 25, 49, 4 }, { 14, 15, 14, 25, 49, 4 }, { 14, 14, 14, 25, 49, 4 }, { 14, 13, 14, 25, 49, 4 }, { 13, 12, 14, 25, 49, 4 }, + { 13, 11, 14, 25, 49, 4 }, { 13, 10, 13, 26, 49, 4 }, { 13, 9, 13, 26, 49, 4 }, { 12, 8, 13, 26, 49, 4 }, { 12, 7, 13, 26, 49, 4 }, + { 12, 6, 13, 26, 49, 4 }, { 11, 5, 13, 26, 49, 4 }, { 11, 4, 13, 26, 49, 4 }, { 11, 3, 12, 26, 49, 4 }, { 10, 2, 12, 26, 49, 4 }, + { 10, 1, 12, 26, 49, 4 }, { 9, 0, 12, 26, 49, 4 }, { 9, -1, 12, 26, 49, 4 }, { 8, -2, 12, 26, 49, 4 }, { 8, -3, 12, 26, 49, 4 }, + { 7, -4, 11, 26, 49, 4 }, { 7, -5, 11, 27, 49, 4 }, { 6, -6, 11, 27, 49, 4 }, { 6, -7, 11, 27, 49, 4 }, { 5, -8, 11, 27, 49, 4 }, + { 4, -9, 11, 27, 49, 4 }, { 4, -10, 11, 27, 49, 4 }, { 3, -11, 10, 27, 49, 4 }, { 2, -12, 10, 27, 49, 4 }, { 2, -13, 10, 27, 49, 4 }, + { 1, -14, 10, 27, 49, 4 }, { 0, -15, 10, 27, 49, 4 }, { 0, -16, 10, 27, 49, 4 }, { -1, -17, 10, 27, 49, 4 }, { -2, -18, 9, 28, 49, 4 }, + { -3, -19, 9, 28, 49, 4 }, { -3, -20, 9, 28, 49, 4 }, { -4, -21, 9, 28, 49, 4 }, { -5, -22, 9, 28, 49, 4 }, { -6, -23, 9, 28, 49, 4 }, + { -7, -24, 9, 28, 49, 4 }, { -7, -25, 8, 28, 49, 4 }, { -8, -26, 8, 28, 49, 4 }, { -9, -27, 8, 28, 49, 4 }, { -10, -28, 8, 28, 49, 4 }, + { -11, -29, 8, 28, 49, 4 }, { -12, -29, 8, 28, 49, 4 }, { -13, -30, 8, 29, 49, 4 }, { -14, -31, 8, 29, 49, 4 }, { -15, -32, 7, 29, 49, 4 }, + { -16, -32, 7, 29, 49, 4 }, { -17, -33, 7, 29, 49, 4 }, { -18, -34, 7, 29, 49, 4 }, { -19, -34, 7, 29, 49, 4 }, { -20, -35, 7, 29, 49, 4 }, + { -21, -36, 7, 29, 49, 4 }, { -22, -36, 6, 29, 49, 4 }, { -23, -37, 6, 29, 49, 4 }, { -24, -38, 6, 29, 49, 4 }, { -25, -38, 6, 29, 49, 4 }, + { -26, -39, 6, 30, 49, 4 }, { -27, -39, 6, 30, 49, 4 }, { -28, -40, 6, 30, 49, 4 }, { -29, -40, 5, 30, 49, 4 }, { -30, -41, 5, 30, 49, 4 }, + { -31, -41, 5, 30, 49, 4 }, { -32, -42, 5, 30, 49, 4 }, { -33, -42, 5, 30, 49, 4 }, { -34, -43, 5, 30, 49, 4 }, { -35, -43, 5, 30, 49, 4 }, + { -36, -43, 4, 30, 49, 4 }, { -37, -44, 4, 30, 49, 4 }, { -38, -44, 4, 30, 49, 4 }, { -39, -44, 4, 30, 49, 4 }, { -40, -45, 4, 31, 49, 4 }, + { -41, -45, 4, 31, 49, 4 }, { -42, -45, 4, 31, 49, 4 }, { -43, -45, 3, 31, 49, 4 }, { -44, -46, 3, 31, 49, 4 }, { -45, -46, 3, 31, 49, 4 }, + { -46, -46, 3, 31, 49, 4 }, { -47, -46, 3, 31, 49, 4 }, { -48, -46, 3, 31, 49, 4 }, { -49, -47, 3, 31, 49, 4 }, { -50, -47, 2, 31, 49, 4 }, + { -51, -47, 2, 31, 49, 4 }, { -52, -47, 2, 31, 49, 4 }, { -53, -47, 2, 31, 49, 4 }, { -54, -47, 2, 31, 49, 4 }, { -55, -48, 2, 31, 49, 4 }, + { -56, -48, 2, 0, 49, 4 }, { -57, -48, 1, 0, 49, 4 }, { -58, -48, 1, 0, 49, 4 }, { -59, -48, 1, 0, 49, 4 }, { -60, -48, 1, 0, 49, 4 }, + { -61, -48, 1, 0, 49, 4 }, { -62, -48, 1, 0, 49, 4 }, { -63, -48, 1, 0, 49, 4 }, { -64, -48, 0, 0, 49, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B4EF2 = { - 114, { - { 31, 16, 0, 0, 48, 0 }, { 30, 16, 0, 0, 48, 0 }, { 29, 16, 0, 0, 48, 0 }, { 28, 16, 0, 0, 48, 0 }, { 27, 16, 0, 0, 48, 0 }, - { 26, 16, 0, 0, 48, 0 }, { 25, 16, 0, 0, 48, 0 }, { 24, 16, 1, 31, 48, 0 }, { 23, 15, 1, 31, 48, 0 }, { 22, 15, 1, 31, 48, 0 }, - { 21, 15, 1, 31, 48, 0 }, { 20, 15, 1, 31, 48, 0 }, { 19, 15, 1, 31, 48, 0 }, { 18, 15, 1, 31, 48, 0 }, { 17, 14, 2, 31, 48, 0 }, - { 16, 14, 2, 31, 48, 0 }, { 15, 14, 2, 31, 48, 0 }, { 14, 14, 2, 31, 48, 0 }, { 13, 14, 2, 31, 48, 0 }, { 12, 13, 2, 31, 48, 0 }, - { 11, 13, 2, 31, 48, 0 }, { 10, 13, 3, 30, 48, 0 }, { 9, 13, 3, 30, 48, 0 }, { 8, 12, 3, 30, 48, 0 }, { 7, 12, 3, 30, 48, 0 }, - { 6, 12, 3, 30, 48, 0 }, { 5, 11, 3, 30, 48, 0 }, { 4, 11, 3, 30, 48, 0 }, { 3, 11, 4, 30, 48, 0 }, { 2, 10, 4, 30, 48, 0 }, - { 1, 10, 4, 30, 48, 0 }, { 0, 9, 4, 30, 48, 0 }, { -1, 9, 4, 30, 48, 0 }, { -2, 8, 4, 30, 48, 0 }, { -3, 8, 4, 30, 48, 0 }, - { -4, 7, 5, 30, 48, 0 }, { -5, 7, 5, 29, 48, 0 }, { -6, 6, 5, 29, 48, 0 }, { -7, 6, 5, 29, 48, 0 }, { -8, 5, 5, 29, 48, 0 }, - { -9, 4, 5, 29, 48, 0 }, { -10, 4, 5, 29, 48, 0 }, { -11, 3, 6, 29, 48, 0 }, { -12, 2, 6, 29, 48, 0 }, { -13, 2, 6, 29, 48, 0 }, - { -14, 1, 6, 29, 48, 0 }, { -15, 0, 6, 29, 48, 0 }, { -16, 0, 6, 29, 48, 0 }, { -17, -1, 6, 29, 48, 0 }, { -18, -2, 7, 28, 48, 0 }, - { -19, -3, 7, 28, 48, 0 }, { -20, -3, 7, 28, 48, 0 }, { -21, -4, 7, 28, 48, 0 }, { -22, -5, 7, 28, 48, 0 }, { -23, -6, 7, 28, 48, 0 }, - { -24, -7, 7, 28, 48, 0 }, { -25, -7, 8, 28, 48, 0 }, { -26, -8, 8, 28, 48, 0 }, { -27, -9, 8, 28, 48, 0 }, { -28, -10, 8, 28, 48, 0 }, - { -29, -11, 8, 28, 48, 0 }, { -29, -12, 8, 28, 48, 0 }, { -30, -13, 8, 27, 48, 0 }, { -31, -14, 8, 27, 48, 0 }, { -32, -15, 9, 27, 48, 0 }, - { -32, -16, 9, 27, 48, 0 }, { -33, -17, 9, 27, 48, 0 }, { -34, -18, 9, 27, 48, 0 }, { -34, -19, 9, 27, 48, 0 }, { -35, -20, 9, 27, 48, 0 }, - { -36, -21, 9, 27, 48, 0 }, { -36, -22, 10, 27, 48, 0 }, { -37, -23, 10, 27, 48, 0 }, { -38, -24, 10, 27, 48, 0 }, { -38, -25, 10, 27, 48, 0 }, - { -39, -26, 10, 26, 48, 0 }, { -39, -27, 10, 26, 48, 0 }, { -40, -28, 10, 26, 48, 0 }, { -40, -29, 11, 26, 48, 0 }, { -41, -30, 11, 26, 48, 0 }, - { -41, -31, 11, 26, 48, 0 }, { -42, -32, 11, 26, 48, 0 }, { -42, -33, 11, 26, 48, 0 }, { -43, -34, 11, 26, 48, 0 }, { -43, -35, 11, 26, 48, 0 }, - { -43, -36, 12, 26, 48, 0 }, { -44, -37, 12, 26, 48, 0 }, { -44, -38, 12, 26, 48, 0 }, { -44, -39, 12, 26, 48, 0 }, { -45, -40, 12, 25, 48, 0 }, - { -45, -41, 12, 25, 48, 0 }, { -45, -42, 12, 25, 48, 0 }, { -45, -43, 13, 25, 48, 0 }, { -46, -44, 13, 25, 48, 0 }, { -46, -45, 13, 25, 48, 0 }, - { -46, -46, 13, 25, 48, 0 }, { -46, -47, 13, 25, 48, 0 }, { -46, -48, 13, 25, 48, 0 }, { -47, -49, 13, 25, 48, 0 }, { -47, -50, 14, 25, 48, 0 }, - { -47, -51, 14, 25, 48, 0 }, { -47, -52, 14, 25, 48, 0 }, { -47, -53, 14, 25, 48, 0 }, { -47, -54, 14, 25, 48, 0 }, { -48, -55, 14, 25, 48, 0 }, - { -48, -56, 14, 24, 48, 0 }, { -48, -57, 15, 24, 48, 0 }, { -48, -58, 15, 24, 48, 0 }, { -48, -59, 15, 24, 48, 0 }, { -48, -60, 15, 24, 48, 0 }, - { -48, -61, 15, 24, 48, 0 }, { -48, -62, 15, 24, 48, 0 }, { -48, -63, 15, 24, 48, 0 }, { -48, -64, 16, 24, 48, 0 }, + 114, { + { 31, 16, 0, 0, 48, 0 }, { 30, 16, 0, 0, 48, 0 }, { 29, 16, 0, 0, 48, 0 }, { 28, 16, 0, 0, 48, 0 }, { 27, 16, 0, 0, 48, 0 }, + { 26, 16, 0, 0, 48, 0 }, { 25, 16, 0, 0, 48, 0 }, { 24, 16, 1, 31, 48, 0 }, { 23, 15, 1, 31, 48, 0 }, { 22, 15, 1, 31, 48, 0 }, + { 21, 15, 1, 31, 48, 0 }, { 20, 15, 1, 31, 48, 0 }, { 19, 15, 1, 31, 48, 0 }, { 18, 15, 1, 31, 48, 0 }, { 17, 14, 2, 31, 48, 0 }, + { 16, 14, 2, 31, 48, 0 }, { 15, 14, 2, 31, 48, 0 }, { 14, 14, 2, 31, 48, 0 }, { 13, 14, 2, 31, 48, 0 }, { 12, 13, 2, 31, 48, 0 }, + { 11, 13, 2, 31, 48, 0 }, { 10, 13, 3, 30, 48, 0 }, { 9, 13, 3, 30, 48, 0 }, { 8, 12, 3, 30, 48, 0 }, { 7, 12, 3, 30, 48, 0 }, + { 6, 12, 3, 30, 48, 0 }, { 5, 11, 3, 30, 48, 0 }, { 4, 11, 3, 30, 48, 0 }, { 3, 11, 4, 30, 48, 0 }, { 2, 10, 4, 30, 48, 0 }, + { 1, 10, 4, 30, 48, 0 }, { 0, 9, 4, 30, 48, 0 }, { -1, 9, 4, 30, 48, 0 }, { -2, 8, 4, 30, 48, 0 }, { -3, 8, 4, 30, 48, 0 }, + { -4, 7, 5, 30, 48, 0 }, { -5, 7, 5, 29, 48, 0 }, { -6, 6, 5, 29, 48, 0 }, { -7, 6, 5, 29, 48, 0 }, { -8, 5, 5, 29, 48, 0 }, + { -9, 4, 5, 29, 48, 0 }, { -10, 4, 5, 29, 48, 0 }, { -11, 3, 6, 29, 48, 0 }, { -12, 2, 6, 29, 48, 0 }, { -13, 2, 6, 29, 48, 0 }, + { -14, 1, 6, 29, 48, 0 }, { -15, 0, 6, 29, 48, 0 }, { -16, 0, 6, 29, 48, 0 }, { -17, -1, 6, 29, 48, 0 }, { -18, -2, 7, 28, 48, 0 }, + { -19, -3, 7, 28, 48, 0 }, { -20, -3, 7, 28, 48, 0 }, { -21, -4, 7, 28, 48, 0 }, { -22, -5, 7, 28, 48, 0 }, { -23, -6, 7, 28, 48, 0 }, + { -24, -7, 7, 28, 48, 0 }, { -25, -7, 8, 28, 48, 0 }, { -26, -8, 8, 28, 48, 0 }, { -27, -9, 8, 28, 48, 0 }, { -28, -10, 8, 28, 48, 0 }, + { -29, -11, 8, 28, 48, 0 }, { -29, -12, 8, 28, 48, 0 }, { -30, -13, 8, 27, 48, 0 }, { -31, -14, 8, 27, 48, 0 }, { -32, -15, 9, 27, 48, 0 }, + { -32, -16, 9, 27, 48, 0 }, { -33, -17, 9, 27, 48, 0 }, { -34, -18, 9, 27, 48, 0 }, { -34, -19, 9, 27, 48, 0 }, { -35, -20, 9, 27, 48, 0 }, + { -36, -21, 9, 27, 48, 0 }, { -36, -22, 10, 27, 48, 0 }, { -37, -23, 10, 27, 48, 0 }, { -38, -24, 10, 27, 48, 0 }, { -38, -25, 10, 27, 48, 0 }, + { -39, -26, 10, 26, 48, 0 }, { -39, -27, 10, 26, 48, 0 }, { -40, -28, 10, 26, 48, 0 }, { -40, -29, 11, 26, 48, 0 }, { -41, -30, 11, 26, 48, 0 }, + { -41, -31, 11, 26, 48, 0 }, { -42, -32, 11, 26, 48, 0 }, { -42, -33, 11, 26, 48, 0 }, { -43, -34, 11, 26, 48, 0 }, { -43, -35, 11, 26, 48, 0 }, + { -43, -36, 12, 26, 48, 0 }, { -44, -37, 12, 26, 48, 0 }, { -44, -38, 12, 26, 48, 0 }, { -44, -39, 12, 26, 48, 0 }, { -45, -40, 12, 25, 48, 0 }, + { -45, -41, 12, 25, 48, 0 }, { -45, -42, 12, 25, 48, 0 }, { -45, -43, 13, 25, 48, 0 }, { -46, -44, 13, 25, 48, 0 }, { -46, -45, 13, 25, 48, 0 }, + { -46, -46, 13, 25, 48, 0 }, { -46, -47, 13, 25, 48, 0 }, { -46, -48, 13, 25, 48, 0 }, { -47, -49, 13, 25, 48, 0 }, { -47, -50, 14, 25, 48, 0 }, + { -47, -51, 14, 25, 48, 0 }, { -47, -52, 14, 25, 48, 0 }, { -47, -53, 14, 25, 48, 0 }, { -47, -54, 14, 25, 48, 0 }, { -48, -55, 14, 25, 48, 0 }, + { -48, -56, 14, 24, 48, 0 }, { -48, -57, 15, 24, 48, 0 }, { -48, -58, 15, 24, 48, 0 }, { -48, -59, 15, 24, 48, 0 }, { -48, -60, 15, 24, 48, 0 }, + { -48, -61, 15, 24, 48, 0 }, { -48, -62, 15, 24, 48, 0 }, { -48, -63, 15, 24, 48, 0 }, { -48, -64, 16, 24, 48, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B52F6 = { - 115, { - { 16, 0, 0, 8, 48, 0 }, { 16, 1, 0, 8, 48, 0 }, { 16, 2, 0, 8, 48, 0 }, { 16, 3, 0, 8, 48, 0 }, { 16, 4, 0, 8, 48, 0 }, - { 16, 5, 0, 8, 48, 0 }, { 16, 6, 0, 8, 48, 0 }, { 16, 7, 0, 8, 48, 0 }, { 16, 8, 1, 7, 48, 0 }, { 15, 9, 1, 7, 48, 0 }, - { 15, 10, 1, 7, 48, 0 }, { 15, 11, 1, 7, 48, 0 }, { 15, 12, 1, 7, 48, 0 }, { 15, 13, 1, 7, 48, 0 }, { 15, 14, 1, 7, 48, 0 }, - { 14, 15, 2, 7, 48, 0 }, { 14, 16, 2, 7, 48, 0 }, { 14, 17, 2, 7, 48, 0 }, { 14, 18, 2, 7, 48, 0 }, { 14, 19, 2, 7, 48, 0 }, - { 13, 20, 2, 7, 48, 0 }, { 13, 21, 2, 7, 48, 0 }, { 13, 22, 3, 6, 48, 0 }, { 13, 23, 3, 6, 48, 0 }, { 12, 24, 3, 6, 48, 0 }, - { 12, 25, 3, 6, 48, 0 }, { 12, 26, 3, 6, 48, 0 }, { 11, 27, 3, 6, 48, 0 }, { 11, 28, 3, 6, 48, 0 }, { 11, 29, 4, 6, 48, 0 }, - { 10, 30, 4, 6, 48, 0 }, { 10, 31, 4, 6, 48, 0 }, { 9, 32, 4, 6, 48, 0 }, { 9, 33, 4, 6, 48, 0 }, { 8, 34, 4, 6, 48, 0 }, - { 8, 35, 4, 6, 48, 0 }, { 7, 36, 5, 6, 48, 0 }, { 7, 37, 5, 5, 48, 0 }, { 6, 38, 5, 5, 48, 0 }, { 6, 39, 5, 5, 48, 0 }, - { 5, 40, 5, 5, 48, 0 }, { 4, 41, 5, 5, 48, 0 }, { 4, 42, 5, 5, 48, 0 }, { 3, 43, 5, 5, 48, 0 }, { 2, 44, 6, 5, 48, 0 }, - { 2, 45, 6, 5, 48, 0 }, { 1, 46, 6, 5, 48, 0 }, { 0, 47, 6, 5, 48, 0 }, { 0, 48, 6, 5, 48, 0 }, { -1, 49, 6, 5, 48, 0 }, - { -2, 50, 6, 4, 48, 0 }, { -3, 51, 7, 4, 48, 0 }, { -3, 52, 7, 4, 48, 0 }, { -4, 53, 7, 4, 48, 0 }, { -5, 54, 7, 4, 48, 0 }, - { -6, 55, 7, 4, 48, 0 }, { -7, 56, 7, 4, 48, 0 }, { -7, 57, 7, 4, 48, 0 }, { -8, 58, 8, 4, 48, 0 }, { -9, 59, 8, 4, 48, 0 }, - { -10, 60, 8, 4, 48, 0 }, { -11, 61, 8, 4, 48, 0 }, { -12, 61, 8, 4, 48, 0 }, { -13, 62, 8, 3, 48, 0 }, { -14, 63, 8, 3, 48, 0 }, - { -15, 64, 9, 3, 48, 0 }, { -16, 64, 9, 3, 48, 0 }, { -17, 65, 9, 3, 48, 0 }, { -18, 66, 9, 3, 48, 0 }, { -19, 66, 9, 3, 48, 0 }, - { -20, 67, 9, 3, 48, 0 }, { -21, 68, 9, 3, 48, 0 }, { -22, 68, 10, 3, 48, 0 }, { -23, 69, 10, 3, 48, 0 }, { -24, 70, 10, 3, 48, 0 }, - { -25, 70, 10, 3, 48, 0 }, { -26, 71, 10, 2, 48, 0 }, { -27, 71, 10, 2, 48, 0 }, { -28, 72, 10, 2, 48, 0 }, { -29, 72, 10, 2, 48, 0 }, - { -30, 73, 11, 2, 48, 0 }, { -31, 73, 11, 2, 48, 0 }, { -32, 74, 11, 2, 48, 0 }, { -33, 74, 11, 2, 48, 0 }, { -34, 75, 11, 2, 48, 0 }, - { -35, 75, 11, 2, 48, 0 }, { -36, 75, 11, 2, 48, 0 }, { -37, 76, 12, 2, 48, 0 }, { -38, 76, 12, 2, 48, 0 }, { -39, 76, 12, 2, 48, 0 }, - { -40, 77, 12, 1, 48, 0 }, { -41, 77, 12, 1, 48, 0 }, { -42, 77, 12, 1, 48, 0 }, { -43, 77, 12, 1, 48, 0 }, { -44, 78, 13, 1, 48, 0 }, - { -45, 78, 13, 1, 48, 0 }, { -46, 78, 13, 1, 48, 0 }, { -47, 78, 13, 1, 48, 0 }, { -48, 78, 13, 1, 48, 0 }, { -49, 79, 13, 1, 48, 0 }, - { -50, 79, 13, 1, 48, 0 }, { -51, 79, 14, 1, 48, 0 }, { -52, 79, 14, 1, 48, 0 }, { -53, 79, 14, 1, 48, 0 }, { -54, 79, 14, 1, 48, 0 }, - { -55, 80, 14, 1, 48, 0 }, { -56, 80, 14, 0, 48, 0 }, { -57, 80, 14, 0, 48, 0 }, { -58, 80, 15, 0, 48, 0 }, { -59, 80, 15, 0, 48, 0 }, - { -60, 80, 15, 0, 48, 0 }, { -61, 80, 15, 0, 48, 0 }, { -62, 80, 15, 0, 48, 0 }, { -63, 80, 15, 0, 48, 0 }, { -64, 80, 15, 0, 48, 0 }, + 115, { + { 16, 0, 0, 8, 48, 0 }, { 16, 1, 0, 8, 48, 0 }, { 16, 2, 0, 8, 48, 0 }, { 16, 3, 0, 8, 48, 0 }, { 16, 4, 0, 8, 48, 0 }, + { 16, 5, 0, 8, 48, 0 }, { 16, 6, 0, 8, 48, 0 }, { 16, 7, 0, 8, 48, 0 }, { 16, 8, 1, 7, 48, 0 }, { 15, 9, 1, 7, 48, 0 }, + { 15, 10, 1, 7, 48, 0 }, { 15, 11, 1, 7, 48, 0 }, { 15, 12, 1, 7, 48, 0 }, { 15, 13, 1, 7, 48, 0 }, { 15, 14, 1, 7, 48, 0 }, + { 14, 15, 2, 7, 48, 0 }, { 14, 16, 2, 7, 48, 0 }, { 14, 17, 2, 7, 48, 0 }, { 14, 18, 2, 7, 48, 0 }, { 14, 19, 2, 7, 48, 0 }, + { 13, 20, 2, 7, 48, 0 }, { 13, 21, 2, 7, 48, 0 }, { 13, 22, 3, 6, 48, 0 }, { 13, 23, 3, 6, 48, 0 }, { 12, 24, 3, 6, 48, 0 }, + { 12, 25, 3, 6, 48, 0 }, { 12, 26, 3, 6, 48, 0 }, { 11, 27, 3, 6, 48, 0 }, { 11, 28, 3, 6, 48, 0 }, { 11, 29, 4, 6, 48, 0 }, + { 10, 30, 4, 6, 48, 0 }, { 10, 31, 4, 6, 48, 0 }, { 9, 32, 4, 6, 48, 0 }, { 9, 33, 4, 6, 48, 0 }, { 8, 34, 4, 6, 48, 0 }, + { 8, 35, 4, 6, 48, 0 }, { 7, 36, 5, 6, 48, 0 }, { 7, 37, 5, 5, 48, 0 }, { 6, 38, 5, 5, 48, 0 }, { 6, 39, 5, 5, 48, 0 }, + { 5, 40, 5, 5, 48, 0 }, { 4, 41, 5, 5, 48, 0 }, { 4, 42, 5, 5, 48, 0 }, { 3, 43, 5, 5, 48, 0 }, { 2, 44, 6, 5, 48, 0 }, + { 2, 45, 6, 5, 48, 0 }, { 1, 46, 6, 5, 48, 0 }, { 0, 47, 6, 5, 48, 0 }, { 0, 48, 6, 5, 48, 0 }, { -1, 49, 6, 5, 48, 0 }, + { -2, 50, 6, 4, 48, 0 }, { -3, 51, 7, 4, 48, 0 }, { -3, 52, 7, 4, 48, 0 }, { -4, 53, 7, 4, 48, 0 }, { -5, 54, 7, 4, 48, 0 }, + { -6, 55, 7, 4, 48, 0 }, { -7, 56, 7, 4, 48, 0 }, { -7, 57, 7, 4, 48, 0 }, { -8, 58, 8, 4, 48, 0 }, { -9, 59, 8, 4, 48, 0 }, + { -10, 60, 8, 4, 48, 0 }, { -11, 61, 8, 4, 48, 0 }, { -12, 61, 8, 4, 48, 0 }, { -13, 62, 8, 3, 48, 0 }, { -14, 63, 8, 3, 48, 0 }, + { -15, 64, 9, 3, 48, 0 }, { -16, 64, 9, 3, 48, 0 }, { -17, 65, 9, 3, 48, 0 }, { -18, 66, 9, 3, 48, 0 }, { -19, 66, 9, 3, 48, 0 }, + { -20, 67, 9, 3, 48, 0 }, { -21, 68, 9, 3, 48, 0 }, { -22, 68, 10, 3, 48, 0 }, { -23, 69, 10, 3, 48, 0 }, { -24, 70, 10, 3, 48, 0 }, + { -25, 70, 10, 3, 48, 0 }, { -26, 71, 10, 2, 48, 0 }, { -27, 71, 10, 2, 48, 0 }, { -28, 72, 10, 2, 48, 0 }, { -29, 72, 10, 2, 48, 0 }, + { -30, 73, 11, 2, 48, 0 }, { -31, 73, 11, 2, 48, 0 }, { -32, 74, 11, 2, 48, 0 }, { -33, 74, 11, 2, 48, 0 }, { -34, 75, 11, 2, 48, 0 }, + { -35, 75, 11, 2, 48, 0 }, { -36, 75, 11, 2, 48, 0 }, { -37, 76, 12, 2, 48, 0 }, { -38, 76, 12, 2, 48, 0 }, { -39, 76, 12, 2, 48, 0 }, + { -40, 77, 12, 1, 48, 0 }, { -41, 77, 12, 1, 48, 0 }, { -42, 77, 12, 1, 48, 0 }, { -43, 77, 12, 1, 48, 0 }, { -44, 78, 13, 1, 48, 0 }, + { -45, 78, 13, 1, 48, 0 }, { -46, 78, 13, 1, 48, 0 }, { -47, 78, 13, 1, 48, 0 }, { -48, 78, 13, 1, 48, 0 }, { -49, 79, 13, 1, 48, 0 }, + { -50, 79, 13, 1, 48, 0 }, { -51, 79, 14, 1, 48, 0 }, { -52, 79, 14, 1, 48, 0 }, { -53, 79, 14, 1, 48, 0 }, { -54, 79, 14, 1, 48, 0 }, + { -55, 80, 14, 1, 48, 0 }, { -56, 80, 14, 0, 48, 0 }, { -57, 80, 14, 0, 48, 0 }, { -58, 80, 15, 0, 48, 0 }, { -59, 80, 15, 0, 48, 0 }, + { -60, 80, 15, 0, 48, 0 }, { -61, 80, 15, 0, 48, 0 }, { -62, 80, 15, 0, 48, 0 }, { -63, 80, 15, 0, 48, 0 }, { -64, 80, 15, 0, 48, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B5703 = { - 114, { - { 0, 16, 0, 16, 48, 0 }, { 1, 16, 0, 16, 48, 0 }, { 2, 16, 0, 16, 48, 0 }, { 3, 16, 0, 16, 48, 0 }, { 4, 16, 0, 16, 48, 0 }, - { 5, 16, 0, 16, 48, 0 }, { 6, 16, 0, 16, 48, 0 }, { 7, 16, 0, 16, 48, 0 }, { 8, 16, 1, 15, 48, 0 }, { 9, 17, 1, 15, 48, 0 }, - { 10, 17, 1, 15, 48, 0 }, { 11, 17, 1, 15, 48, 0 }, { 12, 17, 1, 15, 48, 0 }, { 13, 17, 1, 15, 48, 0 }, { 14, 17, 1, 15, 48, 0 }, - { 15, 18, 2, 15, 48, 0 }, { 16, 18, 2, 15, 48, 0 }, { 17, 18, 2, 15, 48, 0 }, { 18, 18, 2, 15, 48, 0 }, { 19, 18, 2, 15, 48, 0 }, - { 20, 19, 2, 15, 48, 0 }, { 21, 19, 2, 15, 48, 0 }, { 22, 19, 3, 14, 48, 0 }, { 23, 19, 3, 14, 48, 0 }, { 24, 20, 3, 14, 48, 0 }, - { 25, 20, 3, 14, 48, 0 }, { 26, 20, 3, 14, 48, 0 }, { 27, 21, 3, 14, 48, 0 }, { 28, 21, 3, 14, 48, 0 }, { 29, 21, 4, 14, 48, 0 }, - { 30, 22, 4, 14, 48, 0 }, { 31, 22, 4, 14, 48, 0 }, { 32, 23, 4, 14, 48, 0 }, { 33, 23, 4, 14, 48, 0 }, { 34, 24, 4, 14, 48, 0 }, - { 35, 24, 4, 14, 48, 0 }, { 36, 25, 5, 14, 48, 0 }, { 37, 25, 5, 13, 48, 0 }, { 38, 26, 5, 13, 48, 0 }, { 39, 26, 5, 13, 48, 0 }, - { 40, 27, 5, 13, 48, 0 }, { 41, 28, 5, 13, 48, 0 }, { 42, 28, 5, 13, 48, 0 }, { 43, 29, 6, 13, 48, 0 }, { 44, 30, 6, 13, 48, 0 }, - { 45, 30, 6, 13, 48, 0 }, { 46, 31, 6, 13, 48, 0 }, { 47, 32, 6, 13, 48, 0 }, { 48, 32, 6, 13, 48, 0 }, { 49, 33, 6, 13, 48, 0 }, - { 50, 34, 7, 12, 48, 0 }, { 51, 35, 7, 12, 48, 0 }, { 52, 35, 7, 12, 48, 0 }, { 53, 36, 7, 12, 48, 0 }, { 54, 37, 7, 12, 48, 0 }, - { 55, 38, 7, 12, 48, 0 }, { 56, 39, 7, 12, 48, 0 }, { 57, 39, 8, 12, 48, 0 }, { 58, 40, 8, 12, 48, 0 }, { 59, 41, 8, 12, 48, 0 }, - { 60, 42, 8, 12, 48, 0 }, { 61, 43, 8, 12, 48, 0 }, { 61, 44, 8, 12, 48, 0 }, { 62, 45, 8, 11, 48, 0 }, { 63, 46, 8, 11, 48, 0 }, - { 64, 47, 9, 11, 48, 0 }, { 64, 48, 9, 11, 48, 0 }, { 65, 49, 9, 11, 48, 0 }, { 66, 50, 9, 11, 48, 0 }, { 66, 51, 9, 11, 48, 0 }, - { 67, 52, 9, 11, 48, 0 }, { 68, 53, 9, 11, 48, 0 }, { 68, 54, 10, 11, 48, 0 }, { 69, 55, 10, 11, 48, 0 }, { 70, 56, 10, 11, 48, 0 }, - { 70, 57, 10, 11, 48, 0 }, { 71, 58, 10, 10, 48, 0 }, { 71, 59, 10, 10, 48, 0 }, { 72, 60, 10, 10, 48, 0 }, { 72, 61, 11, 10, 48, 0 }, - { 73, 62, 11, 10, 48, 0 }, { 73, 63, 11, 10, 48, 0 }, { 74, 64, 11, 10, 48, 0 }, { 74, 65, 11, 10, 48, 0 }, { 75, 66, 11, 10, 48, 0 }, - { 75, 67, 11, 10, 48, 0 }, { 75, 68, 12, 10, 48, 0 }, { 76, 69, 12, 10, 48, 0 }, { 76, 70, 12, 10, 48, 0 }, { 76, 71, 12, 10, 48, 0 }, - { 77, 72, 12, 9, 48, 0 }, { 77, 73, 12, 9, 48, 0 }, { 77, 74, 12, 9, 48, 0 }, { 77, 75, 13, 9, 48, 0 }, { 78, 76, 13, 9, 48, 0 }, - { 78, 77, 13, 9, 48, 0 }, { 78, 78, 13, 9, 48, 0 }, { 78, 79, 13, 9, 48, 0 }, { 78, 80, 13, 9, 48, 0 }, { 79, 81, 13, 9, 48, 0 }, - { 79, 82, 14, 9, 48, 0 }, { 79, 83, 14, 9, 48, 0 }, { 79, 84, 14, 9, 48, 0 }, { 79, 85, 14, 9, 48, 0 }, { 79, 86, 14, 9, 48, 0 }, - { 80, 87, 14, 9, 48, 0 }, { 80, 88, 14, 8, 48, 0 }, { 80, 89, 15, 8, 48, 0 }, { 80, 90, 15, 8, 48, 0 }, { 80, 91, 15, 8, 48, 0 }, - { 80, 92, 15, 8, 48, 0 }, { 80, 93, 15, 8, 48, 0 }, { 80, 94, 15, 8, 48, 0 }, { 80, 95, 15, 8, 48, 0 }, + 114, { + { 0, 16, 0, 16, 48, 0 }, { 1, 16, 0, 16, 48, 0 }, { 2, 16, 0, 16, 48, 0 }, { 3, 16, 0, 16, 48, 0 }, { 4, 16, 0, 16, 48, 0 }, + { 5, 16, 0, 16, 48, 0 }, { 6, 16, 0, 16, 48, 0 }, { 7, 16, 0, 16, 48, 0 }, { 8, 16, 1, 15, 48, 0 }, { 9, 17, 1, 15, 48, 0 }, + { 10, 17, 1, 15, 48, 0 }, { 11, 17, 1, 15, 48, 0 }, { 12, 17, 1, 15, 48, 0 }, { 13, 17, 1, 15, 48, 0 }, { 14, 17, 1, 15, 48, 0 }, + { 15, 18, 2, 15, 48, 0 }, { 16, 18, 2, 15, 48, 0 }, { 17, 18, 2, 15, 48, 0 }, { 18, 18, 2, 15, 48, 0 }, { 19, 18, 2, 15, 48, 0 }, + { 20, 19, 2, 15, 48, 0 }, { 21, 19, 2, 15, 48, 0 }, { 22, 19, 3, 14, 48, 0 }, { 23, 19, 3, 14, 48, 0 }, { 24, 20, 3, 14, 48, 0 }, + { 25, 20, 3, 14, 48, 0 }, { 26, 20, 3, 14, 48, 0 }, { 27, 21, 3, 14, 48, 0 }, { 28, 21, 3, 14, 48, 0 }, { 29, 21, 4, 14, 48, 0 }, + { 30, 22, 4, 14, 48, 0 }, { 31, 22, 4, 14, 48, 0 }, { 32, 23, 4, 14, 48, 0 }, { 33, 23, 4, 14, 48, 0 }, { 34, 24, 4, 14, 48, 0 }, + { 35, 24, 4, 14, 48, 0 }, { 36, 25, 5, 14, 48, 0 }, { 37, 25, 5, 13, 48, 0 }, { 38, 26, 5, 13, 48, 0 }, { 39, 26, 5, 13, 48, 0 }, + { 40, 27, 5, 13, 48, 0 }, { 41, 28, 5, 13, 48, 0 }, { 42, 28, 5, 13, 48, 0 }, { 43, 29, 6, 13, 48, 0 }, { 44, 30, 6, 13, 48, 0 }, + { 45, 30, 6, 13, 48, 0 }, { 46, 31, 6, 13, 48, 0 }, { 47, 32, 6, 13, 48, 0 }, { 48, 32, 6, 13, 48, 0 }, { 49, 33, 6, 13, 48, 0 }, + { 50, 34, 7, 12, 48, 0 }, { 51, 35, 7, 12, 48, 0 }, { 52, 35, 7, 12, 48, 0 }, { 53, 36, 7, 12, 48, 0 }, { 54, 37, 7, 12, 48, 0 }, + { 55, 38, 7, 12, 48, 0 }, { 56, 39, 7, 12, 48, 0 }, { 57, 39, 8, 12, 48, 0 }, { 58, 40, 8, 12, 48, 0 }, { 59, 41, 8, 12, 48, 0 }, + { 60, 42, 8, 12, 48, 0 }, { 61, 43, 8, 12, 48, 0 }, { 61, 44, 8, 12, 48, 0 }, { 62, 45, 8, 11, 48, 0 }, { 63, 46, 8, 11, 48, 0 }, + { 64, 47, 9, 11, 48, 0 }, { 64, 48, 9, 11, 48, 0 }, { 65, 49, 9, 11, 48, 0 }, { 66, 50, 9, 11, 48, 0 }, { 66, 51, 9, 11, 48, 0 }, + { 67, 52, 9, 11, 48, 0 }, { 68, 53, 9, 11, 48, 0 }, { 68, 54, 10, 11, 48, 0 }, { 69, 55, 10, 11, 48, 0 }, { 70, 56, 10, 11, 48, 0 }, + { 70, 57, 10, 11, 48, 0 }, { 71, 58, 10, 10, 48, 0 }, { 71, 59, 10, 10, 48, 0 }, { 72, 60, 10, 10, 48, 0 }, { 72, 61, 11, 10, 48, 0 }, + { 73, 62, 11, 10, 48, 0 }, { 73, 63, 11, 10, 48, 0 }, { 74, 64, 11, 10, 48, 0 }, { 74, 65, 11, 10, 48, 0 }, { 75, 66, 11, 10, 48, 0 }, + { 75, 67, 11, 10, 48, 0 }, { 75, 68, 12, 10, 48, 0 }, { 76, 69, 12, 10, 48, 0 }, { 76, 70, 12, 10, 48, 0 }, { 76, 71, 12, 10, 48, 0 }, + { 77, 72, 12, 9, 48, 0 }, { 77, 73, 12, 9, 48, 0 }, { 77, 74, 12, 9, 48, 0 }, { 77, 75, 13, 9, 48, 0 }, { 78, 76, 13, 9, 48, 0 }, + { 78, 77, 13, 9, 48, 0 }, { 78, 78, 13, 9, 48, 0 }, { 78, 79, 13, 9, 48, 0 }, { 78, 80, 13, 9, 48, 0 }, { 79, 81, 13, 9, 48, 0 }, + { 79, 82, 14, 9, 48, 0 }, { 79, 83, 14, 9, 48, 0 }, { 79, 84, 14, 9, 48, 0 }, { 79, 85, 14, 9, 48, 0 }, { 79, 86, 14, 9, 48, 0 }, + { 80, 87, 14, 9, 48, 0 }, { 80, 88, 14, 8, 48, 0 }, { 80, 89, 15, 8, 48, 0 }, { 80, 90, 15, 8, 48, 0 }, { 80, 91, 15, 8, 48, 0 }, + { 80, 92, 15, 8, 48, 0 }, { 80, 93, 15, 8, 48, 0 }, { 80, 94, 15, 8, 48, 0 }, { 80, 95, 15, 8, 48, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B5B07 = { - 113, { - { 16, 31, 0, 24, 48, 0 }, { 16, 30, 0, 24, 48, 0 }, { 16, 29, 0, 24, 48, 0 }, { 16, 28, 0, 24, 48, 0 }, { 16, 27, 0, 24, 48, 0 }, - { 16, 26, 0, 24, 48, 0 }, { 16, 25, 0, 24, 48, 0 }, { 16, 24, 1, 23, 48, 0 }, { 17, 23, 1, 23, 48, 0 }, { 17, 22, 1, 23, 48, 0 }, - { 17, 21, 1, 23, 48, 0 }, { 17, 20, 1, 23, 48, 0 }, { 17, 19, 1, 23, 48, 0 }, { 17, 18, 1, 23, 48, 0 }, { 18, 17, 2, 23, 48, 0 }, - { 18, 16, 2, 23, 48, 0 }, { 18, 15, 2, 23, 48, 0 }, { 18, 14, 2, 23, 48, 0 }, { 18, 13, 2, 23, 48, 0 }, { 19, 12, 2, 23, 48, 0 }, - { 19, 11, 2, 23, 48, 0 }, { 19, 10, 3, 22, 48, 0 }, { 19, 9, 3, 22, 48, 0 }, { 20, 8, 3, 22, 48, 0 }, { 20, 7, 3, 22, 48, 0 }, - { 20, 6, 3, 22, 48, 0 }, { 21, 5, 3, 22, 48, 0 }, { 21, 4, 3, 22, 48, 0 }, { 21, 3, 4, 22, 48, 0 }, { 22, 2, 4, 22, 48, 0 }, - { 22, 1, 4, 22, 48, 0 }, { 23, 0, 4, 22, 48, 0 }, { 23, -1, 4, 22, 48, 0 }, { 24, -2, 4, 22, 48, 0 }, { 24, -3, 4, 22, 48, 0 }, - { 25, -4, 5, 22, 48, 0 }, { 25, -5, 5, 21, 48, 0 }, { 26, -6, 5, 21, 48, 0 }, { 26, -7, 5, 21, 48, 0 }, { 27, -8, 5, 21, 48, 0 }, - { 28, -9, 5, 21, 48, 0 }, { 28, -10, 5, 21, 48, 0 }, { 29, -11, 6, 21, 48, 0 }, { 30, -12, 6, 21, 48, 0 }, { 30, -13, 6, 21, 48, 0 }, - { 31, -14, 6, 21, 48, 0 }, { 32, -15, 6, 21, 48, 0 }, { 32, -16, 6, 21, 48, 0 }, { 33, -17, 6, 21, 48, 0 }, { 34, -18, 7, 20, 48, 0 }, - { 35, -19, 7, 20, 48, 0 }, { 35, -20, 7, 20, 48, 0 }, { 36, -21, 7, 20, 48, 0 }, { 37, -22, 7, 20, 48, 0 }, { 38, -23, 7, 20, 48, 0 }, - { 39, -24, 7, 20, 48, 0 }, { 39, -25, 8, 20, 48, 0 }, { 40, -26, 8, 20, 48, 0 }, { 41, -27, 8, 20, 48, 0 }, { 42, -28, 8, 20, 48, 0 }, - { 43, -29, 8, 20, 48, 0 }, { 44, -29, 8, 20, 48, 0 }, { 45, -30, 8, 19, 48, 0 }, { 46, -31, 9, 19, 48, 0 }, { 47, -32, 9, 19, 48, 0 }, - { 48, -32, 9, 19, 48, 0 }, { 49, -33, 9, 19, 48, 0 }, { 50, -34, 9, 19, 48, 0 }, { 51, -34, 9, 19, 48, 0 }, { 52, -35, 9, 19, 48, 0 }, - { 53, -36, 10, 19, 48, 0 }, { 54, -36, 10, 19, 48, 0 }, { 55, -37, 10, 19, 48, 0 }, { 56, -38, 10, 19, 48, 0 }, { 57, -38, 10, 19, 48, 0 }, - { 58, -39, 10, 18, 48, 0 }, { 59, -39, 10, 18, 48, 0 }, { 60, -40, 11, 18, 48, 0 }, { 61, -40, 11, 18, 48, 0 }, { 62, -41, 11, 18, 48, 0 }, - { 63, -41, 11, 18, 48, 0 }, { 64, -42, 11, 18, 48, 0 }, { 65, -42, 11, 18, 48, 0 }, { 66, -43, 11, 18, 48, 0 }, { 67, -43, 12, 18, 48, 0 }, - { 68, -43, 12, 18, 48, 0 }, { 69, -44, 12, 18, 48, 0 }, { 70, -44, 12, 18, 48, 0 }, { 71, -44, 12, 18, 48, 0 }, { 72, -45, 12, 17, 48, 0 }, - { 73, -45, 12, 17, 48, 0 }, { 74, -45, 13, 17, 48, 0 }, { 75, -45, 13, 17, 48, 0 }, { 76, -46, 13, 17, 48, 0 }, { 77, -46, 13, 17, 48, 0 }, - { 78, -46, 13, 17, 48, 0 }, { 79, -46, 13, 17, 48, 0 }, { 80, -46, 13, 17, 48, 0 }, { 81, -47, 14, 17, 48, 0 }, { 82, -47, 14, 17, 48, 0 }, - { 83, -47, 14, 17, 48, 0 }, { 84, -47, 14, 17, 48, 0 }, { 85, -47, 14, 17, 48, 0 }, { 86, -47, 14, 17, 48, 0 }, { 87, -48, 14, 17, 48, 0 }, - { 88, -48, 15, 16, 48, 0 }, { 89, -48, 15, 16, 48, 0 }, { 90, -48, 15, 16, 48, 0 }, { 91, -48, 15, 16, 48, 0 }, { 92, -48, 15, 16, 48, 0 }, - { 93, -48, 15, 16, 48, 0 }, { 94, -48, 15, 16, 48, 0 }, { 95, -48, 16, 16, 48, 0 }, + 113, { + { 16, 31, 0, 24, 48, 0 }, { 16, 30, 0, 24, 48, 0 }, { 16, 29, 0, 24, 48, 0 }, { 16, 28, 0, 24, 48, 0 }, { 16, 27, 0, 24, 48, 0 }, + { 16, 26, 0, 24, 48, 0 }, { 16, 25, 0, 24, 48, 0 }, { 16, 24, 1, 23, 48, 0 }, { 17, 23, 1, 23, 48, 0 }, { 17, 22, 1, 23, 48, 0 }, + { 17, 21, 1, 23, 48, 0 }, { 17, 20, 1, 23, 48, 0 }, { 17, 19, 1, 23, 48, 0 }, { 17, 18, 1, 23, 48, 0 }, { 18, 17, 2, 23, 48, 0 }, + { 18, 16, 2, 23, 48, 0 }, { 18, 15, 2, 23, 48, 0 }, { 18, 14, 2, 23, 48, 0 }, { 18, 13, 2, 23, 48, 0 }, { 19, 12, 2, 23, 48, 0 }, + { 19, 11, 2, 23, 48, 0 }, { 19, 10, 3, 22, 48, 0 }, { 19, 9, 3, 22, 48, 0 }, { 20, 8, 3, 22, 48, 0 }, { 20, 7, 3, 22, 48, 0 }, + { 20, 6, 3, 22, 48, 0 }, { 21, 5, 3, 22, 48, 0 }, { 21, 4, 3, 22, 48, 0 }, { 21, 3, 4, 22, 48, 0 }, { 22, 2, 4, 22, 48, 0 }, + { 22, 1, 4, 22, 48, 0 }, { 23, 0, 4, 22, 48, 0 }, { 23, -1, 4, 22, 48, 0 }, { 24, -2, 4, 22, 48, 0 }, { 24, -3, 4, 22, 48, 0 }, + { 25, -4, 5, 22, 48, 0 }, { 25, -5, 5, 21, 48, 0 }, { 26, -6, 5, 21, 48, 0 }, { 26, -7, 5, 21, 48, 0 }, { 27, -8, 5, 21, 48, 0 }, + { 28, -9, 5, 21, 48, 0 }, { 28, -10, 5, 21, 48, 0 }, { 29, -11, 6, 21, 48, 0 }, { 30, -12, 6, 21, 48, 0 }, { 30, -13, 6, 21, 48, 0 }, + { 31, -14, 6, 21, 48, 0 }, { 32, -15, 6, 21, 48, 0 }, { 32, -16, 6, 21, 48, 0 }, { 33, -17, 6, 21, 48, 0 }, { 34, -18, 7, 20, 48, 0 }, + { 35, -19, 7, 20, 48, 0 }, { 35, -20, 7, 20, 48, 0 }, { 36, -21, 7, 20, 48, 0 }, { 37, -22, 7, 20, 48, 0 }, { 38, -23, 7, 20, 48, 0 }, + { 39, -24, 7, 20, 48, 0 }, { 39, -25, 8, 20, 48, 0 }, { 40, -26, 8, 20, 48, 0 }, { 41, -27, 8, 20, 48, 0 }, { 42, -28, 8, 20, 48, 0 }, + { 43, -29, 8, 20, 48, 0 }, { 44, -29, 8, 20, 48, 0 }, { 45, -30, 8, 19, 48, 0 }, { 46, -31, 9, 19, 48, 0 }, { 47, -32, 9, 19, 48, 0 }, + { 48, -32, 9, 19, 48, 0 }, { 49, -33, 9, 19, 48, 0 }, { 50, -34, 9, 19, 48, 0 }, { 51, -34, 9, 19, 48, 0 }, { 52, -35, 9, 19, 48, 0 }, + { 53, -36, 10, 19, 48, 0 }, { 54, -36, 10, 19, 48, 0 }, { 55, -37, 10, 19, 48, 0 }, { 56, -38, 10, 19, 48, 0 }, { 57, -38, 10, 19, 48, 0 }, + { 58, -39, 10, 18, 48, 0 }, { 59, -39, 10, 18, 48, 0 }, { 60, -40, 11, 18, 48, 0 }, { 61, -40, 11, 18, 48, 0 }, { 62, -41, 11, 18, 48, 0 }, + { 63, -41, 11, 18, 48, 0 }, { 64, -42, 11, 18, 48, 0 }, { 65, -42, 11, 18, 48, 0 }, { 66, -43, 11, 18, 48, 0 }, { 67, -43, 12, 18, 48, 0 }, + { 68, -43, 12, 18, 48, 0 }, { 69, -44, 12, 18, 48, 0 }, { 70, -44, 12, 18, 48, 0 }, { 71, -44, 12, 18, 48, 0 }, { 72, -45, 12, 17, 48, 0 }, + { 73, -45, 12, 17, 48, 0 }, { 74, -45, 13, 17, 48, 0 }, { 75, -45, 13, 17, 48, 0 }, { 76, -46, 13, 17, 48, 0 }, { 77, -46, 13, 17, 48, 0 }, + { 78, -46, 13, 17, 48, 0 }, { 79, -46, 13, 17, 48, 0 }, { 80, -46, 13, 17, 48, 0 }, { 81, -47, 14, 17, 48, 0 }, { 82, -47, 14, 17, 48, 0 }, + { 83, -47, 14, 17, 48, 0 }, { 84, -47, 14, 17, 48, 0 }, { 85, -47, 14, 17, 48, 0 }, { 86, -47, 14, 17, 48, 0 }, { 87, -48, 14, 17, 48, 0 }, + { 88, -48, 15, 16, 48, 0 }, { 89, -48, 15, 16, 48, 0 }, { 90, -48, 15, 16, 48, 0 }, { 91, -48, 15, 16, 48, 0 }, { 92, -48, 15, 16, 48, 0 }, + { 93, -48, 15, 16, 48, 0 }, { 94, -48, 15, 16, 48, 0 }, { 95, -48, 16, 16, 48, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B5F02 = { - 113, { - { 31, 16, 0, 0, 48, 0 }, { 30, 16, 0, 0, 48, 0 }, { 29, 16, 0, 0, 48, 0 }, { 28, 16, 0, 0, 48, 0 }, { 27, 16, 0, 0, 48, 0 }, - { 26, 16, 0, 0, 48, 0 }, { 25, 16, 0, 0, 48, 0 }, { 24, 16, 1, 1, 48, 0 }, { 23, 17, 1, 1, 48, 0 }, { 22, 17, 1, 1, 48, 0 }, - { 21, 17, 1, 1, 48, 0 }, { 20, 17, 1, 1, 48, 0 }, { 19, 17, 1, 1, 48, 0 }, { 18, 17, 1, 1, 48, 0 }, { 17, 18, 2, 1, 48, 0 }, - { 16, 18, 2, 1, 48, 0 }, { 15, 18, 2, 1, 48, 0 }, { 14, 18, 2, 1, 48, 0 }, { 13, 18, 2, 1, 48, 0 }, { 12, 19, 2, 1, 48, 0 }, - { 11, 19, 2, 1, 48, 0 }, { 10, 19, 3, 2, 48, 0 }, { 9, 19, 3, 2, 48, 0 }, { 8, 20, 3, 2, 48, 0 }, { 7, 20, 3, 2, 48, 0 }, - { 6, 20, 3, 2, 48, 0 }, { 5, 21, 3, 2, 48, 0 }, { 4, 21, 3, 2, 48, 0 }, { 3, 21, 4, 2, 48, 0 }, { 2, 22, 4, 2, 48, 0 }, - { 1, 22, 4, 2, 48, 0 }, { 0, 23, 4, 2, 48, 0 }, { -1, 23, 4, 2, 48, 0 }, { -2, 24, 4, 2, 48, 0 }, { -3, 24, 4, 2, 48, 0 }, - { -4, 25, 5, 2, 48, 0 }, { -5, 25, 5, 3, 48, 0 }, { -6, 26, 5, 3, 48, 0 }, { -7, 26, 5, 3, 48, 0 }, { -8, 27, 5, 3, 48, 0 }, - { -9, 28, 5, 3, 48, 0 }, { -10, 28, 5, 3, 48, 0 }, { -11, 29, 6, 3, 48, 0 }, { -12, 30, 6, 3, 48, 0 }, { -13, 30, 6, 3, 48, 0 }, - { -14, 31, 6, 3, 48, 0 }, { -15, 32, 6, 3, 48, 0 }, { -16, 32, 6, 3, 48, 0 }, { -17, 33, 6, 3, 48, 0 }, { -18, 34, 7, 4, 48, 0 }, - { -19, 35, 7, 4, 48, 0 }, { -20, 35, 7, 4, 48, 0 }, { -21, 36, 7, 4, 48, 0 }, { -22, 37, 7, 4, 48, 0 }, { -23, 38, 7, 4, 48, 0 }, - { -24, 39, 7, 4, 48, 0 }, { -25, 39, 8, 4, 48, 0 }, { -26, 40, 8, 4, 48, 0 }, { -27, 41, 8, 4, 48, 0 }, { -28, 42, 8, 4, 48, 0 }, - { -29, 43, 8, 4, 48, 0 }, { -29, 44, 8, 4, 48, 0 }, { -30, 45, 8, 5, 48, 0 }, { -31, 46, 9, 5, 48, 0 }, { -32, 47, 9, 5, 48, 0 }, - { -32, 48, 9, 5, 48, 0 }, { -33, 49, 9, 5, 48, 0 }, { -34, 50, 9, 5, 48, 0 }, { -34, 51, 9, 5, 48, 0 }, { -35, 52, 9, 5, 48, 0 }, - { -36, 53, 10, 5, 48, 0 }, { -36, 54, 10, 5, 48, 0 }, { -37, 55, 10, 5, 48, 0 }, { -38, 56, 10, 5, 48, 0 }, { -38, 57, 10, 5, 48, 0 }, - { -39, 58, 10, 6, 48, 0 }, { -39, 59, 10, 6, 48, 0 }, { -40, 60, 11, 6, 48, 0 }, { -40, 61, 11, 6, 48, 0 }, { -41, 62, 11, 6, 48, 0 }, - { -41, 63, 11, 6, 48, 0 }, { -42, 64, 11, 6, 48, 0 }, { -42, 65, 11, 6, 48, 0 }, { -43, 66, 11, 6, 48, 0 }, { -43, 67, 12, 6, 48, 0 }, - { -43, 68, 12, 6, 48, 0 }, { -44, 69, 12, 6, 48, 0 }, { -44, 70, 12, 6, 48, 0 }, { -44, 71, 12, 6, 48, 0 }, { -45, 72, 12, 7, 48, 0 }, - { -45, 73, 12, 7, 48, 0 }, { -45, 74, 13, 7, 48, 0 }, { -45, 75, 13, 7, 48, 0 }, { -46, 76, 13, 7, 48, 0 }, { -46, 77, 13, 7, 48, 0 }, - { -46, 78, 13, 7, 48, 0 }, { -46, 79, 13, 7, 48, 0 }, { -46, 80, 13, 7, 48, 0 }, { -47, 81, 14, 7, 48, 0 }, { -47, 82, 14, 7, 48, 0 }, - { -47, 83, 14, 7, 48, 0 }, { -47, 84, 14, 7, 48, 0 }, { -47, 85, 14, 7, 48, 0 }, { -47, 86, 14, 7, 48, 0 }, { -48, 87, 14, 7, 48, 0 }, - { -48, 88, 15, 8, 48, 0 }, { -48, 89, 15, 8, 48, 0 }, { -48, 90, 15, 8, 48, 0 }, { -48, 91, 15, 8, 48, 0 }, { -48, 92, 15, 8, 48, 0 }, - { -48, 93, 15, 8, 48, 0 }, { -48, 94, 15, 8, 48, 0 }, { -48, 95, 16, 8, 48, 0 }, + 113, { + { 31, 16, 0, 0, 48, 0 }, { 30, 16, 0, 0, 48, 0 }, { 29, 16, 0, 0, 48, 0 }, { 28, 16, 0, 0, 48, 0 }, { 27, 16, 0, 0, 48, 0 }, + { 26, 16, 0, 0, 48, 0 }, { 25, 16, 0, 0, 48, 0 }, { 24, 16, 1, 1, 48, 0 }, { 23, 17, 1, 1, 48, 0 }, { 22, 17, 1, 1, 48, 0 }, + { 21, 17, 1, 1, 48, 0 }, { 20, 17, 1, 1, 48, 0 }, { 19, 17, 1, 1, 48, 0 }, { 18, 17, 1, 1, 48, 0 }, { 17, 18, 2, 1, 48, 0 }, + { 16, 18, 2, 1, 48, 0 }, { 15, 18, 2, 1, 48, 0 }, { 14, 18, 2, 1, 48, 0 }, { 13, 18, 2, 1, 48, 0 }, { 12, 19, 2, 1, 48, 0 }, + { 11, 19, 2, 1, 48, 0 }, { 10, 19, 3, 2, 48, 0 }, { 9, 19, 3, 2, 48, 0 }, { 8, 20, 3, 2, 48, 0 }, { 7, 20, 3, 2, 48, 0 }, + { 6, 20, 3, 2, 48, 0 }, { 5, 21, 3, 2, 48, 0 }, { 4, 21, 3, 2, 48, 0 }, { 3, 21, 4, 2, 48, 0 }, { 2, 22, 4, 2, 48, 0 }, + { 1, 22, 4, 2, 48, 0 }, { 0, 23, 4, 2, 48, 0 }, { -1, 23, 4, 2, 48, 0 }, { -2, 24, 4, 2, 48, 0 }, { -3, 24, 4, 2, 48, 0 }, + { -4, 25, 5, 2, 48, 0 }, { -5, 25, 5, 3, 48, 0 }, { -6, 26, 5, 3, 48, 0 }, { -7, 26, 5, 3, 48, 0 }, { -8, 27, 5, 3, 48, 0 }, + { -9, 28, 5, 3, 48, 0 }, { -10, 28, 5, 3, 48, 0 }, { -11, 29, 6, 3, 48, 0 }, { -12, 30, 6, 3, 48, 0 }, { -13, 30, 6, 3, 48, 0 }, + { -14, 31, 6, 3, 48, 0 }, { -15, 32, 6, 3, 48, 0 }, { -16, 32, 6, 3, 48, 0 }, { -17, 33, 6, 3, 48, 0 }, { -18, 34, 7, 4, 48, 0 }, + { -19, 35, 7, 4, 48, 0 }, { -20, 35, 7, 4, 48, 0 }, { -21, 36, 7, 4, 48, 0 }, { -22, 37, 7, 4, 48, 0 }, { -23, 38, 7, 4, 48, 0 }, + { -24, 39, 7, 4, 48, 0 }, { -25, 39, 8, 4, 48, 0 }, { -26, 40, 8, 4, 48, 0 }, { -27, 41, 8, 4, 48, 0 }, { -28, 42, 8, 4, 48, 0 }, + { -29, 43, 8, 4, 48, 0 }, { -29, 44, 8, 4, 48, 0 }, { -30, 45, 8, 5, 48, 0 }, { -31, 46, 9, 5, 48, 0 }, { -32, 47, 9, 5, 48, 0 }, + { -32, 48, 9, 5, 48, 0 }, { -33, 49, 9, 5, 48, 0 }, { -34, 50, 9, 5, 48, 0 }, { -34, 51, 9, 5, 48, 0 }, { -35, 52, 9, 5, 48, 0 }, + { -36, 53, 10, 5, 48, 0 }, { -36, 54, 10, 5, 48, 0 }, { -37, 55, 10, 5, 48, 0 }, { -38, 56, 10, 5, 48, 0 }, { -38, 57, 10, 5, 48, 0 }, + { -39, 58, 10, 6, 48, 0 }, { -39, 59, 10, 6, 48, 0 }, { -40, 60, 11, 6, 48, 0 }, { -40, 61, 11, 6, 48, 0 }, { -41, 62, 11, 6, 48, 0 }, + { -41, 63, 11, 6, 48, 0 }, { -42, 64, 11, 6, 48, 0 }, { -42, 65, 11, 6, 48, 0 }, { -43, 66, 11, 6, 48, 0 }, { -43, 67, 12, 6, 48, 0 }, + { -43, 68, 12, 6, 48, 0 }, { -44, 69, 12, 6, 48, 0 }, { -44, 70, 12, 6, 48, 0 }, { -44, 71, 12, 6, 48, 0 }, { -45, 72, 12, 7, 48, 0 }, + { -45, 73, 12, 7, 48, 0 }, { -45, 74, 13, 7, 48, 0 }, { -45, 75, 13, 7, 48, 0 }, { -46, 76, 13, 7, 48, 0 }, { -46, 77, 13, 7, 48, 0 }, + { -46, 78, 13, 7, 48, 0 }, { -46, 79, 13, 7, 48, 0 }, { -46, 80, 13, 7, 48, 0 }, { -47, 81, 14, 7, 48, 0 }, { -47, 82, 14, 7, 48, 0 }, + { -47, 83, 14, 7, 48, 0 }, { -47, 84, 14, 7, 48, 0 }, { -47, 85, 14, 7, 48, 0 }, { -47, 86, 14, 7, 48, 0 }, { -48, 87, 14, 7, 48, 0 }, + { -48, 88, 15, 8, 48, 0 }, { -48, 89, 15, 8, 48, 0 }, { -48, 90, 15, 8, 48, 0 }, { -48, 91, 15, 8, 48, 0 }, { -48, 92, 15, 8, 48, 0 }, + { -48, 93, 15, 8, 48, 0 }, { -48, 94, 15, 8, 48, 0 }, { -48, 95, 16, 8, 48, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B62FD = { - 114, { - { 16, 0, 0, 8, 48, 0 }, { 16, 1, 0, 8, 48, 0 }, { 16, 2, 0, 8, 48, 0 }, { 16, 3, 0, 8, 48, 0 }, { 16, 4, 0, 8, 48, 0 }, - { 16, 5, 0, 8, 48, 0 }, { 16, 6, 0, 8, 48, 0 }, { 16, 7, 0, 8, 48, 0 }, { 16, 8, 1, 9, 48, 0 }, { 17, 9, 1, 9, 48, 0 }, - { 17, 10, 1, 9, 48, 0 }, { 17, 11, 1, 9, 48, 0 }, { 17, 12, 1, 9, 48, 0 }, { 17, 13, 1, 9, 48, 0 }, { 17, 14, 1, 9, 48, 0 }, - { 18, 15, 2, 9, 48, 0 }, { 18, 16, 2, 9, 48, 0 }, { 18, 17, 2, 9, 48, 0 }, { 18, 18, 2, 9, 48, 0 }, { 18, 19, 2, 9, 48, 0 }, - { 19, 20, 2, 9, 48, 0 }, { 19, 21, 2, 9, 48, 0 }, { 19, 22, 3, 10, 48, 0 }, { 19, 23, 3, 10, 48, 0 }, { 20, 24, 3, 10, 48, 0 }, - { 20, 25, 3, 10, 48, 0 }, { 20, 26, 3, 10, 48, 0 }, { 21, 27, 3, 10, 48, 0 }, { 21, 28, 3, 10, 48, 0 }, { 21, 29, 4, 10, 48, 0 }, - { 22, 30, 4, 10, 48, 0 }, { 22, 31, 4, 10, 48, 0 }, { 23, 32, 4, 10, 48, 0 }, { 23, 33, 4, 10, 48, 0 }, { 24, 34, 4, 10, 48, 0 }, - { 24, 35, 4, 10, 48, 0 }, { 25, 36, 5, 10, 48, 0 }, { 25, 37, 5, 11, 48, 0 }, { 26, 38, 5, 11, 48, 0 }, { 26, 39, 5, 11, 48, 0 }, - { 27, 40, 5, 11, 48, 0 }, { 28, 41, 5, 11, 48, 0 }, { 28, 42, 5, 11, 48, 0 }, { 29, 43, 6, 11, 48, 0 }, { 30, 44, 6, 11, 48, 0 }, - { 30, 45, 6, 11, 48, 0 }, { 31, 46, 6, 11, 48, 0 }, { 32, 47, 6, 11, 48, 0 }, { 32, 48, 6, 11, 48, 0 }, { 33, 49, 6, 11, 48, 0 }, - { 34, 50, 7, 12, 48, 0 }, { 35, 51, 7, 12, 48, 0 }, { 35, 52, 7, 12, 48, 0 }, { 36, 53, 7, 12, 48, 0 }, { 37, 54, 7, 12, 48, 0 }, - { 38, 55, 7, 12, 48, 0 }, { 39, 56, 7, 12, 48, 0 }, { 39, 57, 8, 12, 48, 0 }, { 40, 58, 8, 12, 48, 0 }, { 41, 59, 8, 12, 48, 0 }, - { 42, 60, 8, 12, 48, 0 }, { 43, 61, 8, 12, 48, 0 }, { 44, 61, 8, 12, 48, 0 }, { 45, 62, 8, 13, 48, 0 }, { 46, 63, 8, 13, 48, 0 }, - { 47, 64, 9, 13, 48, 0 }, { 48, 64, 9, 13, 48, 0 }, { 49, 65, 9, 13, 48, 0 }, { 50, 66, 9, 13, 48, 0 }, { 51, 66, 9, 13, 48, 0 }, - { 52, 67, 9, 13, 48, 0 }, { 53, 68, 9, 13, 48, 0 }, { 54, 68, 10, 13, 48, 0 }, { 55, 69, 10, 13, 48, 0 }, { 56, 70, 10, 13, 48, 0 }, - { 57, 70, 10, 13, 48, 0 }, { 58, 71, 10, 14, 48, 0 }, { 59, 71, 10, 14, 48, 0 }, { 60, 72, 10, 14, 48, 0 }, { 61, 72, 11, 14, 48, 0 }, - { 62, 73, 11, 14, 48, 0 }, { 63, 73, 11, 14, 48, 0 }, { 64, 74, 11, 14, 48, 0 }, { 65, 74, 11, 14, 48, 0 }, { 66, 75, 11, 14, 48, 0 }, - { 67, 75, 11, 14, 48, 0 }, { 68, 75, 12, 14, 48, 0 }, { 69, 76, 12, 14, 48, 0 }, { 70, 76, 12, 14, 48, 0 }, { 71, 76, 12, 14, 48, 0 }, - { 72, 77, 12, 15, 48, 0 }, { 73, 77, 12, 15, 48, 0 }, { 74, 77, 12, 15, 48, 0 }, { 75, 77, 13, 15, 48, 0 }, { 76, 78, 13, 15, 48, 0 }, - { 77, 78, 13, 15, 48, 0 }, { 78, 78, 13, 15, 48, 0 }, { 79, 78, 13, 15, 48, 0 }, { 80, 78, 13, 15, 48, 0 }, { 81, 79, 13, 15, 48, 0 }, - { 82, 79, 14, 15, 48, 0 }, { 83, 79, 14, 15, 48, 0 }, { 84, 79, 14, 15, 48, 0 }, { 85, 79, 14, 15, 48, 0 }, { 86, 79, 14, 15, 48, 0 }, - { 87, 80, 14, 15, 48, 0 }, { 88, 80, 14, 16, 48, 0 }, { 89, 80, 15, 16, 48, 0 }, { 90, 80, 15, 16, 48, 0 }, { 91, 80, 15, 16, 48, 0 }, - { 92, 80, 15, 16, 48, 0 }, { 93, 80, 15, 16, 48, 0 }, { 94, 80, 15, 16, 48, 0 }, { 95, 80, 15, 16, 48, 0 }, + 114, { + { 16, 0, 0, 8, 48, 0 }, { 16, 1, 0, 8, 48, 0 }, { 16, 2, 0, 8, 48, 0 }, { 16, 3, 0, 8, 48, 0 }, { 16, 4, 0, 8, 48, 0 }, + { 16, 5, 0, 8, 48, 0 }, { 16, 6, 0, 8, 48, 0 }, { 16, 7, 0, 8, 48, 0 }, { 16, 8, 1, 9, 48, 0 }, { 17, 9, 1, 9, 48, 0 }, + { 17, 10, 1, 9, 48, 0 }, { 17, 11, 1, 9, 48, 0 }, { 17, 12, 1, 9, 48, 0 }, { 17, 13, 1, 9, 48, 0 }, { 17, 14, 1, 9, 48, 0 }, + { 18, 15, 2, 9, 48, 0 }, { 18, 16, 2, 9, 48, 0 }, { 18, 17, 2, 9, 48, 0 }, { 18, 18, 2, 9, 48, 0 }, { 18, 19, 2, 9, 48, 0 }, + { 19, 20, 2, 9, 48, 0 }, { 19, 21, 2, 9, 48, 0 }, { 19, 22, 3, 10, 48, 0 }, { 19, 23, 3, 10, 48, 0 }, { 20, 24, 3, 10, 48, 0 }, + { 20, 25, 3, 10, 48, 0 }, { 20, 26, 3, 10, 48, 0 }, { 21, 27, 3, 10, 48, 0 }, { 21, 28, 3, 10, 48, 0 }, { 21, 29, 4, 10, 48, 0 }, + { 22, 30, 4, 10, 48, 0 }, { 22, 31, 4, 10, 48, 0 }, { 23, 32, 4, 10, 48, 0 }, { 23, 33, 4, 10, 48, 0 }, { 24, 34, 4, 10, 48, 0 }, + { 24, 35, 4, 10, 48, 0 }, { 25, 36, 5, 10, 48, 0 }, { 25, 37, 5, 11, 48, 0 }, { 26, 38, 5, 11, 48, 0 }, { 26, 39, 5, 11, 48, 0 }, + { 27, 40, 5, 11, 48, 0 }, { 28, 41, 5, 11, 48, 0 }, { 28, 42, 5, 11, 48, 0 }, { 29, 43, 6, 11, 48, 0 }, { 30, 44, 6, 11, 48, 0 }, + { 30, 45, 6, 11, 48, 0 }, { 31, 46, 6, 11, 48, 0 }, { 32, 47, 6, 11, 48, 0 }, { 32, 48, 6, 11, 48, 0 }, { 33, 49, 6, 11, 48, 0 }, + { 34, 50, 7, 12, 48, 0 }, { 35, 51, 7, 12, 48, 0 }, { 35, 52, 7, 12, 48, 0 }, { 36, 53, 7, 12, 48, 0 }, { 37, 54, 7, 12, 48, 0 }, + { 38, 55, 7, 12, 48, 0 }, { 39, 56, 7, 12, 48, 0 }, { 39, 57, 8, 12, 48, 0 }, { 40, 58, 8, 12, 48, 0 }, { 41, 59, 8, 12, 48, 0 }, + { 42, 60, 8, 12, 48, 0 }, { 43, 61, 8, 12, 48, 0 }, { 44, 61, 8, 12, 48, 0 }, { 45, 62, 8, 13, 48, 0 }, { 46, 63, 8, 13, 48, 0 }, + { 47, 64, 9, 13, 48, 0 }, { 48, 64, 9, 13, 48, 0 }, { 49, 65, 9, 13, 48, 0 }, { 50, 66, 9, 13, 48, 0 }, { 51, 66, 9, 13, 48, 0 }, + { 52, 67, 9, 13, 48, 0 }, { 53, 68, 9, 13, 48, 0 }, { 54, 68, 10, 13, 48, 0 }, { 55, 69, 10, 13, 48, 0 }, { 56, 70, 10, 13, 48, 0 }, + { 57, 70, 10, 13, 48, 0 }, { 58, 71, 10, 14, 48, 0 }, { 59, 71, 10, 14, 48, 0 }, { 60, 72, 10, 14, 48, 0 }, { 61, 72, 11, 14, 48, 0 }, + { 62, 73, 11, 14, 48, 0 }, { 63, 73, 11, 14, 48, 0 }, { 64, 74, 11, 14, 48, 0 }, { 65, 74, 11, 14, 48, 0 }, { 66, 75, 11, 14, 48, 0 }, + { 67, 75, 11, 14, 48, 0 }, { 68, 75, 12, 14, 48, 0 }, { 69, 76, 12, 14, 48, 0 }, { 70, 76, 12, 14, 48, 0 }, { 71, 76, 12, 14, 48, 0 }, + { 72, 77, 12, 15, 48, 0 }, { 73, 77, 12, 15, 48, 0 }, { 74, 77, 12, 15, 48, 0 }, { 75, 77, 13, 15, 48, 0 }, { 76, 78, 13, 15, 48, 0 }, + { 77, 78, 13, 15, 48, 0 }, { 78, 78, 13, 15, 48, 0 }, { 79, 78, 13, 15, 48, 0 }, { 80, 78, 13, 15, 48, 0 }, { 81, 79, 13, 15, 48, 0 }, + { 82, 79, 14, 15, 48, 0 }, { 83, 79, 14, 15, 48, 0 }, { 84, 79, 14, 15, 48, 0 }, { 85, 79, 14, 15, 48, 0 }, { 86, 79, 14, 15, 48, 0 }, + { 87, 80, 14, 15, 48, 0 }, { 88, 80, 14, 16, 48, 0 }, { 89, 80, 15, 16, 48, 0 }, { 90, 80, 15, 16, 48, 0 }, { 91, 80, 15, 16, 48, 0 }, + { 92, 80, 15, 16, 48, 0 }, { 93, 80, 15, 16, 48, 0 }, { 94, 80, 15, 16, 48, 0 }, { 95, 80, 15, 16, 48, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B6701 = { - 115, { - { 0, 16, 0, 16, 48, 0 }, { 1, 16, 0, 16, 48, 0 }, { 2, 16, 0, 16, 48, 0 }, { 3, 16, 0, 16, 48, 0 }, { 4, 16, 0, 16, 48, 0 }, - { 5, 16, 0, 16, 48, 0 }, { 6, 16, 0, 16, 48, 0 }, { 7, 16, 0, 16, 48, 0 }, { 8, 16, 1, 17, 48, 0 }, { 9, 15, 1, 17, 48, 0 }, - { 10, 15, 1, 17, 48, 0 }, { 11, 15, 1, 17, 48, 0 }, { 12, 15, 1, 17, 48, 0 }, { 13, 15, 1, 17, 48, 0 }, { 14, 15, 1, 17, 48, 0 }, - { 15, 14, 2, 17, 48, 0 }, { 16, 14, 2, 17, 48, 0 }, { 17, 14, 2, 17, 48, 0 }, { 18, 14, 2, 17, 48, 0 }, { 19, 14, 2, 17, 48, 0 }, - { 20, 13, 2, 17, 48, 0 }, { 21, 13, 2, 17, 48, 0 }, { 22, 13, 3, 18, 48, 0 }, { 23, 13, 3, 18, 48, 0 }, { 24, 12, 3, 18, 48, 0 }, - { 25, 12, 3, 18, 48, 0 }, { 26, 12, 3, 18, 48, 0 }, { 27, 11, 3, 18, 48, 0 }, { 28, 11, 3, 18, 48, 0 }, { 29, 11, 4, 18, 48, 0 }, - { 30, 10, 4, 18, 48, 0 }, { 31, 10, 4, 18, 48, 0 }, { 32, 9, 4, 18, 48, 0 }, { 33, 9, 4, 18, 48, 0 }, { 34, 8, 4, 18, 48, 0 }, - { 35, 8, 4, 18, 48, 0 }, { 36, 7, 5, 18, 48, 0 }, { 37, 7, 5, 19, 48, 0 }, { 38, 6, 5, 19, 48, 0 }, { 39, 6, 5, 19, 48, 0 }, - { 40, 5, 5, 19, 48, 0 }, { 41, 4, 5, 19, 48, 0 }, { 42, 4, 5, 19, 48, 0 }, { 43, 3, 5, 19, 48, 0 }, { 44, 2, 6, 19, 48, 0 }, - { 45, 2, 6, 19, 48, 0 }, { 46, 1, 6, 19, 48, 0 }, { 47, 0, 6, 19, 48, 0 }, { 48, 0, 6, 19, 48, 0 }, { 49, -1, 6, 19, 48, 0 }, - { 50, -2, 6, 20, 48, 0 }, { 51, -3, 7, 20, 48, 0 }, { 52, -3, 7, 20, 48, 0 }, { 53, -4, 7, 20, 48, 0 }, { 54, -5, 7, 20, 48, 0 }, - { 55, -6, 7, 20, 48, 0 }, { 56, -7, 7, 20, 48, 0 }, { 57, -7, 7, 20, 48, 0 }, { 58, -8, 8, 20, 48, 0 }, { 59, -9, 8, 20, 48, 0 }, - { 60, -10, 8, 20, 48, 0 }, { 61, -11, 8, 20, 48, 0 }, { 61, -12, 8, 20, 48, 0 }, { 62, -13, 8, 21, 48, 0 }, { 63, -14, 8, 21, 48, 0 }, - { 64, -15, 9, 21, 48, 0 }, { 64, -16, 9, 21, 48, 0 }, { 65, -17, 9, 21, 48, 0 }, { 66, -18, 9, 21, 48, 0 }, { 66, -19, 9, 21, 48, 0 }, - { 67, -20, 9, 21, 48, 0 }, { 68, -21, 9, 21, 48, 0 }, { 68, -22, 10, 21, 48, 0 }, { 69, -23, 10, 21, 48, 0 }, { 70, -24, 10, 21, 48, 0 }, - { 70, -25, 10, 21, 48, 0 }, { 71, -26, 10, 22, 48, 0 }, { 71, -27, 10, 22, 48, 0 }, { 72, -28, 10, 22, 48, 0 }, { 72, -29, 10, 22, 48, 0 }, - { 73, -30, 11, 22, 48, 0 }, { 73, -31, 11, 22, 48, 0 }, { 74, -32, 11, 22, 48, 0 }, { 74, -33, 11, 22, 48, 0 }, { 75, -34, 11, 22, 48, 0 }, - { 75, -35, 11, 22, 48, 0 }, { 75, -36, 11, 22, 48, 0 }, { 76, -37, 12, 22, 48, 0 }, { 76, -38, 12, 22, 48, 0 }, { 76, -39, 12, 22, 48, 0 }, - { 77, -40, 12, 23, 48, 0 }, { 77, -41, 12, 23, 48, 0 }, { 77, -42, 12, 23, 48, 0 }, { 77, -43, 12, 23, 48, 0 }, { 78, -44, 13, 23, 48, 0 }, - { 78, -45, 13, 23, 48, 0 }, { 78, -46, 13, 23, 48, 0 }, { 78, -47, 13, 23, 48, 0 }, { 78, -48, 13, 23, 48, 0 }, { 79, -49, 13, 23, 48, 0 }, - { 79, -50, 13, 23, 48, 0 }, { 79, -51, 14, 23, 48, 0 }, { 79, -52, 14, 23, 48, 0 }, { 79, -53, 14, 23, 48, 0 }, { 79, -54, 14, 23, 48, 0 }, - { 80, -55, 14, 23, 48, 0 }, { 80, -56, 14, 24, 48, 0 }, { 80, -57, 14, 24, 48, 0 }, { 80, -58, 15, 24, 48, 0 }, { 80, -59, 15, 24, 48, 0 }, - { 80, -60, 15, 24, 48, 0 }, { 80, -61, 15, 24, 48, 0 }, { 80, -62, 15, 24, 48, 0 }, { 80, -63, 15, 24, 48, 0 }, { 80, -64, 15, 24, 48, 0 }, + 115, { + { 0, 16, 0, 16, 48, 0 }, { 1, 16, 0, 16, 48, 0 }, { 2, 16, 0, 16, 48, 0 }, { 3, 16, 0, 16, 48, 0 }, { 4, 16, 0, 16, 48, 0 }, + { 5, 16, 0, 16, 48, 0 }, { 6, 16, 0, 16, 48, 0 }, { 7, 16, 0, 16, 48, 0 }, { 8, 16, 1, 17, 48, 0 }, { 9, 15, 1, 17, 48, 0 }, + { 10, 15, 1, 17, 48, 0 }, { 11, 15, 1, 17, 48, 0 }, { 12, 15, 1, 17, 48, 0 }, { 13, 15, 1, 17, 48, 0 }, { 14, 15, 1, 17, 48, 0 }, + { 15, 14, 2, 17, 48, 0 }, { 16, 14, 2, 17, 48, 0 }, { 17, 14, 2, 17, 48, 0 }, { 18, 14, 2, 17, 48, 0 }, { 19, 14, 2, 17, 48, 0 }, + { 20, 13, 2, 17, 48, 0 }, { 21, 13, 2, 17, 48, 0 }, { 22, 13, 3, 18, 48, 0 }, { 23, 13, 3, 18, 48, 0 }, { 24, 12, 3, 18, 48, 0 }, + { 25, 12, 3, 18, 48, 0 }, { 26, 12, 3, 18, 48, 0 }, { 27, 11, 3, 18, 48, 0 }, { 28, 11, 3, 18, 48, 0 }, { 29, 11, 4, 18, 48, 0 }, + { 30, 10, 4, 18, 48, 0 }, { 31, 10, 4, 18, 48, 0 }, { 32, 9, 4, 18, 48, 0 }, { 33, 9, 4, 18, 48, 0 }, { 34, 8, 4, 18, 48, 0 }, + { 35, 8, 4, 18, 48, 0 }, { 36, 7, 5, 18, 48, 0 }, { 37, 7, 5, 19, 48, 0 }, { 38, 6, 5, 19, 48, 0 }, { 39, 6, 5, 19, 48, 0 }, + { 40, 5, 5, 19, 48, 0 }, { 41, 4, 5, 19, 48, 0 }, { 42, 4, 5, 19, 48, 0 }, { 43, 3, 5, 19, 48, 0 }, { 44, 2, 6, 19, 48, 0 }, + { 45, 2, 6, 19, 48, 0 }, { 46, 1, 6, 19, 48, 0 }, { 47, 0, 6, 19, 48, 0 }, { 48, 0, 6, 19, 48, 0 }, { 49, -1, 6, 19, 48, 0 }, + { 50, -2, 6, 20, 48, 0 }, { 51, -3, 7, 20, 48, 0 }, { 52, -3, 7, 20, 48, 0 }, { 53, -4, 7, 20, 48, 0 }, { 54, -5, 7, 20, 48, 0 }, + { 55, -6, 7, 20, 48, 0 }, { 56, -7, 7, 20, 48, 0 }, { 57, -7, 7, 20, 48, 0 }, { 58, -8, 8, 20, 48, 0 }, { 59, -9, 8, 20, 48, 0 }, + { 60, -10, 8, 20, 48, 0 }, { 61, -11, 8, 20, 48, 0 }, { 61, -12, 8, 20, 48, 0 }, { 62, -13, 8, 21, 48, 0 }, { 63, -14, 8, 21, 48, 0 }, + { 64, -15, 9, 21, 48, 0 }, { 64, -16, 9, 21, 48, 0 }, { 65, -17, 9, 21, 48, 0 }, { 66, -18, 9, 21, 48, 0 }, { 66, -19, 9, 21, 48, 0 }, + { 67, -20, 9, 21, 48, 0 }, { 68, -21, 9, 21, 48, 0 }, { 68, -22, 10, 21, 48, 0 }, { 69, -23, 10, 21, 48, 0 }, { 70, -24, 10, 21, 48, 0 }, + { 70, -25, 10, 21, 48, 0 }, { 71, -26, 10, 22, 48, 0 }, { 71, -27, 10, 22, 48, 0 }, { 72, -28, 10, 22, 48, 0 }, { 72, -29, 10, 22, 48, 0 }, + { 73, -30, 11, 22, 48, 0 }, { 73, -31, 11, 22, 48, 0 }, { 74, -32, 11, 22, 48, 0 }, { 74, -33, 11, 22, 48, 0 }, { 75, -34, 11, 22, 48, 0 }, + { 75, -35, 11, 22, 48, 0 }, { 75, -36, 11, 22, 48, 0 }, { 76, -37, 12, 22, 48, 0 }, { 76, -38, 12, 22, 48, 0 }, { 76, -39, 12, 22, 48, 0 }, + { 77, -40, 12, 23, 48, 0 }, { 77, -41, 12, 23, 48, 0 }, { 77, -42, 12, 23, 48, 0 }, { 77, -43, 12, 23, 48, 0 }, { 78, -44, 13, 23, 48, 0 }, + { 78, -45, 13, 23, 48, 0 }, { 78, -46, 13, 23, 48, 0 }, { 78, -47, 13, 23, 48, 0 }, { 78, -48, 13, 23, 48, 0 }, { 79, -49, 13, 23, 48, 0 }, + { 79, -50, 13, 23, 48, 0 }, { 79, -51, 14, 23, 48, 0 }, { 79, -52, 14, 23, 48, 0 }, { 79, -53, 14, 23, 48, 0 }, { 79, -54, 14, 23, 48, 0 }, + { 80, -55, 14, 23, 48, 0 }, { 80, -56, 14, 24, 48, 0 }, { 80, -57, 14, 24, 48, 0 }, { 80, -58, 15, 24, 48, 0 }, { 80, -59, 15, 24, 48, 0 }, + { 80, -60, 15, 24, 48, 0 }, { 80, -61, 15, 24, 48, 0 }, { 80, -62, 15, 24, 48, 0 }, { 80, -63, 15, 24, 48, 0 }, { 80, -64, 15, 24, 48, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B6B0E = { - 114, { - { 16, 31, 0, 24, 48, 0 }, { 16, 30, 0, 24, 48, 0 }, { 16, 29, 0, 24, 48, 0 }, { 16, 28, 0, 24, 48, 0 }, { 16, 27, 0, 24, 48, 0 }, - { 16, 26, 0, 24, 48, 0 }, { 16, 25, 0, 24, 48, 0 }, { 16, 24, 1, 25, 48, 0 }, { 15, 23, 1, 25, 48, 0 }, { 15, 22, 1, 25, 48, 0 }, - { 15, 21, 1, 25, 48, 0 }, { 15, 20, 1, 25, 48, 0 }, { 15, 19, 1, 25, 48, 0 }, { 15, 18, 1, 25, 48, 0 }, { 14, 17, 2, 25, 48, 0 }, - { 14, 16, 2, 25, 48, 0 }, { 14, 15, 2, 25, 48, 0 }, { 14, 14, 2, 25, 48, 0 }, { 14, 13, 2, 25, 48, 0 }, { 13, 12, 2, 25, 48, 0 }, - { 13, 11, 2, 25, 48, 0 }, { 13, 10, 3, 26, 48, 0 }, { 13, 9, 3, 26, 48, 0 }, { 12, 8, 3, 26, 48, 0 }, { 12, 7, 3, 26, 48, 0 }, - { 12, 6, 3, 26, 48, 0 }, { 11, 5, 3, 26, 48, 0 }, { 11, 4, 3, 26, 48, 0 }, { 11, 3, 4, 26, 48, 0 }, { 10, 2, 4, 26, 48, 0 }, - { 10, 1, 4, 26, 48, 0 }, { 9, 0, 4, 26, 48, 0 }, { 9, -1, 4, 26, 48, 0 }, { 8, -2, 4, 26, 48, 0 }, { 8, -3, 4, 26, 48, 0 }, - { 7, -4, 5, 26, 48, 0 }, { 7, -5, 5, 27, 48, 0 }, { 6, -6, 5, 27, 48, 0 }, { 6, -7, 5, 27, 48, 0 }, { 5, -8, 5, 27, 48, 0 }, - { 4, -9, 5, 27, 48, 0 }, { 4, -10, 5, 27, 48, 0 }, { 3, -11, 6, 27, 48, 0 }, { 2, -12, 6, 27, 48, 0 }, { 2, -13, 6, 27, 48, 0 }, - { 1, -14, 6, 27, 48, 0 }, { 0, -15, 6, 27, 48, 0 }, { 0, -16, 6, 27, 48, 0 }, { -1, -17, 6, 27, 48, 0 }, { -2, -18, 7, 28, 48, 0 }, - { -3, -19, 7, 28, 48, 0 }, { -3, -20, 7, 28, 48, 0 }, { -4, -21, 7, 28, 48, 0 }, { -5, -22, 7, 28, 48, 0 }, { -6, -23, 7, 28, 48, 0 }, - { -7, -24, 7, 28, 48, 0 }, { -7, -25, 8, 28, 48, 0 }, { -8, -26, 8, 28, 48, 0 }, { -9, -27, 8, 28, 48, 0 }, { -10, -28, 8, 28, 48, 0 }, - { -11, -29, 8, 28, 48, 0 }, { -12, -29, 8, 28, 48, 0 }, { -13, -30, 8, 29, 48, 0 }, { -14, -31, 8, 29, 48, 0 }, { -15, -32, 9, 29, 48, 0 }, - { -16, -32, 9, 29, 48, 0 }, { -17, -33, 9, 29, 48, 0 }, { -18, -34, 9, 29, 48, 0 }, { -19, -34, 9, 29, 48, 0 }, { -20, -35, 9, 29, 48, 0 }, - { -21, -36, 9, 29, 48, 0 }, { -22, -36, 10, 29, 48, 0 }, { -23, -37, 10, 29, 48, 0 }, { -24, -38, 10, 29, 48, 0 }, { -25, -38, 10, 29, 48, 0 }, - { -26, -39, 10, 30, 48, 0 }, { -27, -39, 10, 30, 48, 0 }, { -28, -40, 10, 30, 48, 0 }, { -29, -40, 11, 30, 48, 0 }, { -30, -41, 11, 30, 48, 0 }, - { -31, -41, 11, 30, 48, 0 }, { -32, -42, 11, 30, 48, 0 }, { -33, -42, 11, 30, 48, 0 }, { -34, -43, 11, 30, 48, 0 }, { -35, -43, 11, 30, 48, 0 }, - { -36, -43, 12, 30, 48, 0 }, { -37, -44, 12, 30, 48, 0 }, { -38, -44, 12, 30, 48, 0 }, { -39, -44, 12, 30, 48, 0 }, { -40, -45, 12, 31, 48, 0 }, - { -41, -45, 12, 31, 48, 0 }, { -42, -45, 12, 31, 48, 0 }, { -43, -45, 13, 31, 48, 0 }, { -44, -46, 13, 31, 48, 0 }, { -45, -46, 13, 31, 48, 0 }, - { -46, -46, 13, 31, 48, 0 }, { -47, -46, 13, 31, 48, 0 }, { -48, -46, 13, 31, 48, 0 }, { -49, -47, 13, 31, 48, 0 }, { -50, -47, 14, 31, 48, 0 }, - { -51, -47, 14, 31, 48, 0 }, { -52, -47, 14, 31, 48, 0 }, { -53, -47, 14, 31, 48, 0 }, { -54, -47, 14, 31, 48, 0 }, { -55, -48, 14, 31, 48, 0 }, - { -56, -48, 14, 0, 48, 0 }, { -57, -48, 15, 0, 48, 0 }, { -58, -48, 15, 0, 48, 0 }, { -59, -48, 15, 0, 48, 0 }, { -60, -48, 15, 0, 48, 0 }, - { -61, -48, 15, 0, 48, 0 }, { -62, -48, 15, 0, 48, 0 }, { -63, -48, 15, 0, 48, 0 }, { -64, -48, 16, 0, 48, 0 }, + 114, { + { 16, 31, 0, 24, 48, 0 }, { 16, 30, 0, 24, 48, 0 }, { 16, 29, 0, 24, 48, 0 }, { 16, 28, 0, 24, 48, 0 }, { 16, 27, 0, 24, 48, 0 }, + { 16, 26, 0, 24, 48, 0 }, { 16, 25, 0, 24, 48, 0 }, { 16, 24, 1, 25, 48, 0 }, { 15, 23, 1, 25, 48, 0 }, { 15, 22, 1, 25, 48, 0 }, + { 15, 21, 1, 25, 48, 0 }, { 15, 20, 1, 25, 48, 0 }, { 15, 19, 1, 25, 48, 0 }, { 15, 18, 1, 25, 48, 0 }, { 14, 17, 2, 25, 48, 0 }, + { 14, 16, 2, 25, 48, 0 }, { 14, 15, 2, 25, 48, 0 }, { 14, 14, 2, 25, 48, 0 }, { 14, 13, 2, 25, 48, 0 }, { 13, 12, 2, 25, 48, 0 }, + { 13, 11, 2, 25, 48, 0 }, { 13, 10, 3, 26, 48, 0 }, { 13, 9, 3, 26, 48, 0 }, { 12, 8, 3, 26, 48, 0 }, { 12, 7, 3, 26, 48, 0 }, + { 12, 6, 3, 26, 48, 0 }, { 11, 5, 3, 26, 48, 0 }, { 11, 4, 3, 26, 48, 0 }, { 11, 3, 4, 26, 48, 0 }, { 10, 2, 4, 26, 48, 0 }, + { 10, 1, 4, 26, 48, 0 }, { 9, 0, 4, 26, 48, 0 }, { 9, -1, 4, 26, 48, 0 }, { 8, -2, 4, 26, 48, 0 }, { 8, -3, 4, 26, 48, 0 }, + { 7, -4, 5, 26, 48, 0 }, { 7, -5, 5, 27, 48, 0 }, { 6, -6, 5, 27, 48, 0 }, { 6, -7, 5, 27, 48, 0 }, { 5, -8, 5, 27, 48, 0 }, + { 4, -9, 5, 27, 48, 0 }, { 4, -10, 5, 27, 48, 0 }, { 3, -11, 6, 27, 48, 0 }, { 2, -12, 6, 27, 48, 0 }, { 2, -13, 6, 27, 48, 0 }, + { 1, -14, 6, 27, 48, 0 }, { 0, -15, 6, 27, 48, 0 }, { 0, -16, 6, 27, 48, 0 }, { -1, -17, 6, 27, 48, 0 }, { -2, -18, 7, 28, 48, 0 }, + { -3, -19, 7, 28, 48, 0 }, { -3, -20, 7, 28, 48, 0 }, { -4, -21, 7, 28, 48, 0 }, { -5, -22, 7, 28, 48, 0 }, { -6, -23, 7, 28, 48, 0 }, + { -7, -24, 7, 28, 48, 0 }, { -7, -25, 8, 28, 48, 0 }, { -8, -26, 8, 28, 48, 0 }, { -9, -27, 8, 28, 48, 0 }, { -10, -28, 8, 28, 48, 0 }, + { -11, -29, 8, 28, 48, 0 }, { -12, -29, 8, 28, 48, 0 }, { -13, -30, 8, 29, 48, 0 }, { -14, -31, 8, 29, 48, 0 }, { -15, -32, 9, 29, 48, 0 }, + { -16, -32, 9, 29, 48, 0 }, { -17, -33, 9, 29, 48, 0 }, { -18, -34, 9, 29, 48, 0 }, { -19, -34, 9, 29, 48, 0 }, { -20, -35, 9, 29, 48, 0 }, + { -21, -36, 9, 29, 48, 0 }, { -22, -36, 10, 29, 48, 0 }, { -23, -37, 10, 29, 48, 0 }, { -24, -38, 10, 29, 48, 0 }, { -25, -38, 10, 29, 48, 0 }, + { -26, -39, 10, 30, 48, 0 }, { -27, -39, 10, 30, 48, 0 }, { -28, -40, 10, 30, 48, 0 }, { -29, -40, 11, 30, 48, 0 }, { -30, -41, 11, 30, 48, 0 }, + { -31, -41, 11, 30, 48, 0 }, { -32, -42, 11, 30, 48, 0 }, { -33, -42, 11, 30, 48, 0 }, { -34, -43, 11, 30, 48, 0 }, { -35, -43, 11, 30, 48, 0 }, + { -36, -43, 12, 30, 48, 0 }, { -37, -44, 12, 30, 48, 0 }, { -38, -44, 12, 30, 48, 0 }, { -39, -44, 12, 30, 48, 0 }, { -40, -45, 12, 31, 48, 0 }, + { -41, -45, 12, 31, 48, 0 }, { -42, -45, 12, 31, 48, 0 }, { -43, -45, 13, 31, 48, 0 }, { -44, -46, 13, 31, 48, 0 }, { -45, -46, 13, 31, 48, 0 }, + { -46, -46, 13, 31, 48, 0 }, { -47, -46, 13, 31, 48, 0 }, { -48, -46, 13, 31, 48, 0 }, { -49, -47, 13, 31, 48, 0 }, { -50, -47, 14, 31, 48, 0 }, + { -51, -47, 14, 31, 48, 0 }, { -52, -47, 14, 31, 48, 0 }, { -53, -47, 14, 31, 48, 0 }, { -54, -47, 14, 31, 48, 0 }, { -55, -48, 14, 31, 48, 0 }, + { -56, -48, 14, 0, 48, 0 }, { -57, -48, 15, 0, 48, 0 }, { -58, -48, 15, 0, 48, 0 }, { -59, -48, 15, 0, 48, 0 }, { -60, -48, 15, 0, 48, 0 }, + { -61, -48, 15, 0, 48, 0 }, { -62, -48, 15, 0, 48, 0 }, { -63, -48, 15, 0, 48, 0 }, { -64, -48, 16, 0, 48, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B6F12 = { - 114, { - { 31, 16, 16, 0, 49, 0 }, { 30, 16, 16, 0, 49, 0 }, { 29, 16, 16, 0, 49, 0 }, { 28, 16, 16, 0, 49, 0 }, { 27, 16, 16, 0, 49, 0 }, - { 26, 16, 16, 0, 49, 0 }, { 25, 16, 16, 0, 49, 0 }, { 24, 16, 15, 31, 49, 0 }, { 23, 15, 15, 31, 49, 0 }, { 22, 15, 15, 31, 49, 0 }, - { 21, 15, 15, 31, 49, 0 }, { 20, 15, 15, 31, 49, 0 }, { 19, 15, 15, 31, 49, 0 }, { 18, 15, 15, 31, 49, 0 }, { 17, 14, 14, 31, 49, 0 }, - { 16, 14, 14, 31, 49, 0 }, { 15, 14, 14, 31, 49, 0 }, { 14, 14, 14, 31, 49, 0 }, { 13, 14, 14, 31, 49, 0 }, { 12, 13, 14, 31, 49, 0 }, - { 11, 13, 14, 31, 49, 0 }, { 10, 13, 13, 30, 49, 0 }, { 9, 13, 13, 30, 49, 0 }, { 8, 12, 13, 30, 49, 0 }, { 7, 12, 13, 30, 49, 0 }, - { 6, 12, 13, 30, 49, 0 }, { 5, 11, 13, 30, 49, 0 }, { 4, 11, 13, 30, 49, 0 }, { 3, 11, 12, 30, 49, 0 }, { 2, 10, 12, 30, 49, 0 }, - { 1, 10, 12, 30, 49, 0 }, { 0, 9, 12, 30, 49, 0 }, { -1, 9, 12, 30, 49, 0 }, { -2, 8, 12, 30, 49, 0 }, { -3, 8, 12, 30, 49, 0 }, - { -4, 7, 11, 30, 49, 0 }, { -5, 7, 11, 29, 49, 0 }, { -6, 6, 11, 29, 49, 0 }, { -7, 6, 11, 29, 49, 0 }, { -8, 5, 11, 29, 49, 0 }, - { -9, 4, 11, 29, 49, 0 }, { -10, 4, 11, 29, 49, 0 }, { -11, 3, 10, 29, 49, 0 }, { -12, 2, 10, 29, 49, 0 }, { -13, 2, 10, 29, 49, 0 }, - { -14, 1, 10, 29, 49, 0 }, { -15, 0, 10, 29, 49, 0 }, { -16, 0, 10, 29, 49, 0 }, { -17, -1, 10, 29, 49, 0 }, { -18, -2, 9, 28, 49, 0 }, - { -19, -3, 9, 28, 49, 0 }, { -20, -3, 9, 28, 49, 0 }, { -21, -4, 9, 28, 49, 0 }, { -22, -5, 9, 28, 49, 0 }, { -23, -6, 9, 28, 49, 0 }, - { -24, -7, 9, 28, 49, 0 }, { -25, -7, 8, 28, 49, 0 }, { -26, -8, 8, 28, 49, 0 }, { -27, -9, 8, 28, 49, 0 }, { -28, -10, 8, 28, 49, 0 }, - { -29, -11, 8, 28, 49, 0 }, { -29, -12, 8, 28, 49, 0 }, { -30, -13, 8, 27, 49, 0 }, { -31, -14, 8, 27, 49, 0 }, { -32, -15, 7, 27, 49, 0 }, - { -32, -16, 7, 27, 49, 0 }, { -33, -17, 7, 27, 49, 0 }, { -34, -18, 7, 27, 49, 0 }, { -34, -19, 7, 27, 49, 0 }, { -35, -20, 7, 27, 49, 0 }, - { -36, -21, 7, 27, 49, 0 }, { -36, -22, 6, 27, 49, 0 }, { -37, -23, 6, 27, 49, 0 }, { -38, -24, 6, 27, 49, 0 }, { -38, -25, 6, 27, 49, 0 }, - { -39, -26, 6, 26, 49, 0 }, { -39, -27, 6, 26, 49, 0 }, { -40, -28, 6, 26, 49, 0 }, { -40, -29, 5, 26, 49, 0 }, { -41, -30, 5, 26, 49, 0 }, - { -41, -31, 5, 26, 49, 0 }, { -42, -32, 5, 26, 49, 0 }, { -42, -33, 5, 26, 49, 0 }, { -43, -34, 5, 26, 49, 0 }, { -43, -35, 5, 26, 49, 0 }, - { -43, -36, 4, 26, 49, 0 }, { -44, -37, 4, 26, 49, 0 }, { -44, -38, 4, 26, 49, 0 }, { -44, -39, 4, 26, 49, 0 }, { -45, -40, 4, 25, 49, 0 }, - { -45, -41, 4, 25, 49, 0 }, { -45, -42, 4, 25, 49, 0 }, { -45, -43, 3, 25, 49, 0 }, { -46, -44, 3, 25, 49, 0 }, { -46, -45, 3, 25, 49, 0 }, - { -46, -46, 3, 25, 49, 0 }, { -46, -47, 3, 25, 49, 0 }, { -46, -48, 3, 25, 49, 0 }, { -47, -49, 3, 25, 49, 0 }, { -47, -50, 2, 25, 49, 0 }, - { -47, -51, 2, 25, 49, 0 }, { -47, -52, 2, 25, 49, 0 }, { -47, -53, 2, 25, 49, 0 }, { -47, -54, 2, 25, 49, 0 }, { -48, -55, 2, 25, 49, 0 }, - { -48, -56, 2, 24, 49, 0 }, { -48, -57, 1, 24, 49, 0 }, { -48, -58, 1, 24, 49, 0 }, { -48, -59, 1, 24, 49, 0 }, { -48, -60, 1, 24, 49, 0 }, - { -48, -61, 1, 24, 49, 0 }, { -48, -62, 1, 24, 49, 0 }, { -48, -63, 1, 24, 49, 0 }, { -48, -64, 0, 24, 49, 0 }, + 114, { + { 31, 16, 16, 0, 49, 0 }, { 30, 16, 16, 0, 49, 0 }, { 29, 16, 16, 0, 49, 0 }, { 28, 16, 16, 0, 49, 0 }, { 27, 16, 16, 0, 49, 0 }, + { 26, 16, 16, 0, 49, 0 }, { 25, 16, 16, 0, 49, 0 }, { 24, 16, 15, 31, 49, 0 }, { 23, 15, 15, 31, 49, 0 }, { 22, 15, 15, 31, 49, 0 }, + { 21, 15, 15, 31, 49, 0 }, { 20, 15, 15, 31, 49, 0 }, { 19, 15, 15, 31, 49, 0 }, { 18, 15, 15, 31, 49, 0 }, { 17, 14, 14, 31, 49, 0 }, + { 16, 14, 14, 31, 49, 0 }, { 15, 14, 14, 31, 49, 0 }, { 14, 14, 14, 31, 49, 0 }, { 13, 14, 14, 31, 49, 0 }, { 12, 13, 14, 31, 49, 0 }, + { 11, 13, 14, 31, 49, 0 }, { 10, 13, 13, 30, 49, 0 }, { 9, 13, 13, 30, 49, 0 }, { 8, 12, 13, 30, 49, 0 }, { 7, 12, 13, 30, 49, 0 }, + { 6, 12, 13, 30, 49, 0 }, { 5, 11, 13, 30, 49, 0 }, { 4, 11, 13, 30, 49, 0 }, { 3, 11, 12, 30, 49, 0 }, { 2, 10, 12, 30, 49, 0 }, + { 1, 10, 12, 30, 49, 0 }, { 0, 9, 12, 30, 49, 0 }, { -1, 9, 12, 30, 49, 0 }, { -2, 8, 12, 30, 49, 0 }, { -3, 8, 12, 30, 49, 0 }, + { -4, 7, 11, 30, 49, 0 }, { -5, 7, 11, 29, 49, 0 }, { -6, 6, 11, 29, 49, 0 }, { -7, 6, 11, 29, 49, 0 }, { -8, 5, 11, 29, 49, 0 }, + { -9, 4, 11, 29, 49, 0 }, { -10, 4, 11, 29, 49, 0 }, { -11, 3, 10, 29, 49, 0 }, { -12, 2, 10, 29, 49, 0 }, { -13, 2, 10, 29, 49, 0 }, + { -14, 1, 10, 29, 49, 0 }, { -15, 0, 10, 29, 49, 0 }, { -16, 0, 10, 29, 49, 0 }, { -17, -1, 10, 29, 49, 0 }, { -18, -2, 9, 28, 49, 0 }, + { -19, -3, 9, 28, 49, 0 }, { -20, -3, 9, 28, 49, 0 }, { -21, -4, 9, 28, 49, 0 }, { -22, -5, 9, 28, 49, 0 }, { -23, -6, 9, 28, 49, 0 }, + { -24, -7, 9, 28, 49, 0 }, { -25, -7, 8, 28, 49, 0 }, { -26, -8, 8, 28, 49, 0 }, { -27, -9, 8, 28, 49, 0 }, { -28, -10, 8, 28, 49, 0 }, + { -29, -11, 8, 28, 49, 0 }, { -29, -12, 8, 28, 49, 0 }, { -30, -13, 8, 27, 49, 0 }, { -31, -14, 8, 27, 49, 0 }, { -32, -15, 7, 27, 49, 0 }, + { -32, -16, 7, 27, 49, 0 }, { -33, -17, 7, 27, 49, 0 }, { -34, -18, 7, 27, 49, 0 }, { -34, -19, 7, 27, 49, 0 }, { -35, -20, 7, 27, 49, 0 }, + { -36, -21, 7, 27, 49, 0 }, { -36, -22, 6, 27, 49, 0 }, { -37, -23, 6, 27, 49, 0 }, { -38, -24, 6, 27, 49, 0 }, { -38, -25, 6, 27, 49, 0 }, + { -39, -26, 6, 26, 49, 0 }, { -39, -27, 6, 26, 49, 0 }, { -40, -28, 6, 26, 49, 0 }, { -40, -29, 5, 26, 49, 0 }, { -41, -30, 5, 26, 49, 0 }, + { -41, -31, 5, 26, 49, 0 }, { -42, -32, 5, 26, 49, 0 }, { -42, -33, 5, 26, 49, 0 }, { -43, -34, 5, 26, 49, 0 }, { -43, -35, 5, 26, 49, 0 }, + { -43, -36, 4, 26, 49, 0 }, { -44, -37, 4, 26, 49, 0 }, { -44, -38, 4, 26, 49, 0 }, { -44, -39, 4, 26, 49, 0 }, { -45, -40, 4, 25, 49, 0 }, + { -45, -41, 4, 25, 49, 0 }, { -45, -42, 4, 25, 49, 0 }, { -45, -43, 3, 25, 49, 0 }, { -46, -44, 3, 25, 49, 0 }, { -46, -45, 3, 25, 49, 0 }, + { -46, -46, 3, 25, 49, 0 }, { -46, -47, 3, 25, 49, 0 }, { -46, -48, 3, 25, 49, 0 }, { -47, -49, 3, 25, 49, 0 }, { -47, -50, 2, 25, 49, 0 }, + { -47, -51, 2, 25, 49, 0 }, { -47, -52, 2, 25, 49, 0 }, { -47, -53, 2, 25, 49, 0 }, { -47, -54, 2, 25, 49, 0 }, { -48, -55, 2, 25, 49, 0 }, + { -48, -56, 2, 24, 49, 0 }, { -48, -57, 1, 24, 49, 0 }, { -48, -58, 1, 24, 49, 0 }, { -48, -59, 1, 24, 49, 0 }, { -48, -60, 1, 24, 49, 0 }, + { -48, -61, 1, 24, 49, 0 }, { -48, -62, 1, 24, 49, 0 }, { -48, -63, 1, 24, 49, 0 }, { -48, -64, 0, 24, 49, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B7316 = { - 115, { - { 16, 0, 16, 8, 49, 0 }, { 16, 1, 16, 8, 49, 0 }, { 16, 2, 16, 8, 49, 0 }, { 16, 3, 16, 8, 49, 0 }, { 16, 4, 16, 8, 49, 0 }, - { 16, 5, 16, 8, 49, 0 }, { 16, 6, 16, 8, 49, 0 }, { 16, 7, 16, 8, 49, 0 }, { 16, 8, 15, 7, 49, 0 }, { 15, 9, 15, 7, 49, 0 }, - { 15, 10, 15, 7, 49, 0 }, { 15, 11, 15, 7, 49, 0 }, { 15, 12, 15, 7, 49, 0 }, { 15, 13, 15, 7, 49, 0 }, { 15, 14, 15, 7, 49, 0 }, - { 14, 15, 14, 7, 49, 0 }, { 14, 16, 14, 7, 49, 0 }, { 14, 17, 14, 7, 49, 0 }, { 14, 18, 14, 7, 49, 0 }, { 14, 19, 14, 7, 49, 0 }, - { 13, 20, 14, 7, 49, 0 }, { 13, 21, 14, 7, 49, 0 }, { 13, 22, 13, 6, 49, 0 }, { 13, 23, 13, 6, 49, 0 }, { 12, 24, 13, 6, 49, 0 }, - { 12, 25, 13, 6, 49, 0 }, { 12, 26, 13, 6, 49, 0 }, { 11, 27, 13, 6, 49, 0 }, { 11, 28, 13, 6, 49, 0 }, { 11, 29, 12, 6, 49, 0 }, - { 10, 30, 12, 6, 49, 0 }, { 10, 31, 12, 6, 49, 0 }, { 9, 32, 12, 6, 49, 0 }, { 9, 33, 12, 6, 49, 0 }, { 8, 34, 12, 6, 49, 0 }, - { 8, 35, 12, 6, 49, 0 }, { 7, 36, 11, 6, 49, 0 }, { 7, 37, 11, 5, 49, 0 }, { 6, 38, 11, 5, 49, 0 }, { 6, 39, 11, 5, 49, 0 }, - { 5, 40, 11, 5, 49, 0 }, { 4, 41, 11, 5, 49, 0 }, { 4, 42, 11, 5, 49, 0 }, { 3, 43, 11, 5, 49, 0 }, { 2, 44, 10, 5, 49, 0 }, - { 2, 45, 10, 5, 49, 0 }, { 1, 46, 10, 5, 49, 0 }, { 0, 47, 10, 5, 49, 0 }, { 0, 48, 10, 5, 49, 0 }, { -1, 49, 10, 5, 49, 0 }, - { -2, 50, 10, 4, 49, 0 }, { -3, 51, 9, 4, 49, 0 }, { -3, 52, 9, 4, 49, 0 }, { -4, 53, 9, 4, 49, 0 }, { -5, 54, 9, 4, 49, 0 }, - { -6, 55, 9, 4, 49, 0 }, { -7, 56, 9, 4, 49, 0 }, { -7, 57, 9, 4, 49, 0 }, { -8, 58, 8, 4, 49, 0 }, { -9, 59, 8, 4, 49, 0 }, - { -10, 60, 8, 4, 49, 0 }, { -11, 61, 8, 4, 49, 0 }, { -12, 61, 8, 4, 49, 0 }, { -13, 62, 8, 3, 49, 0 }, { -14, 63, 8, 3, 49, 0 }, - { -15, 64, 7, 3, 49, 0 }, { -16, 64, 7, 3, 49, 0 }, { -17, 65, 7, 3, 49, 0 }, { -18, 66, 7, 3, 49, 0 }, { -19, 66, 7, 3, 49, 0 }, - { -20, 67, 7, 3, 49, 0 }, { -21, 68, 7, 3, 49, 0 }, { -22, 68, 6, 3, 49, 0 }, { -23, 69, 6, 3, 49, 0 }, { -24, 70, 6, 3, 49, 0 }, - { -25, 70, 6, 3, 49, 0 }, { -26, 71, 6, 2, 49, 0 }, { -27, 71, 6, 2, 49, 0 }, { -28, 72, 6, 2, 49, 0 }, { -29, 72, 6, 2, 49, 0 }, - { -30, 73, 5, 2, 49, 0 }, { -31, 73, 5, 2, 49, 0 }, { -32, 74, 5, 2, 49, 0 }, { -33, 74, 5, 2, 49, 0 }, { -34, 75, 5, 2, 49, 0 }, - { -35, 75, 5, 2, 49, 0 }, { -36, 75, 5, 2, 49, 0 }, { -37, 76, 4, 2, 49, 0 }, { -38, 76, 4, 2, 49, 0 }, { -39, 76, 4, 2, 49, 0 }, - { -40, 77, 4, 1, 49, 0 }, { -41, 77, 4, 1, 49, 0 }, { -42, 77, 4, 1, 49, 0 }, { -43, 77, 4, 1, 49, 0 }, { -44, 78, 3, 1, 49, 0 }, - { -45, 78, 3, 1, 49, 0 }, { -46, 78, 3, 1, 49, 0 }, { -47, 78, 3, 1, 49, 0 }, { -48, 78, 3, 1, 49, 0 }, { -49, 79, 3, 1, 49, 0 }, - { -50, 79, 3, 1, 49, 0 }, { -51, 79, 2, 1, 49, 0 }, { -52, 79, 2, 1, 49, 0 }, { -53, 79, 2, 1, 49, 0 }, { -54, 79, 2, 1, 49, 0 }, - { -55, 80, 2, 1, 49, 0 }, { -56, 80, 2, 0, 49, 0 }, { -57, 80, 2, 0, 49, 0 }, { -58, 80, 1, 0, 49, 0 }, { -59, 80, 1, 0, 49, 0 }, - { -60, 80, 1, 0, 49, 0 }, { -61, 80, 1, 0, 49, 0 }, { -62, 80, 1, 0, 49, 0 }, { -63, 80, 1, 0, 49, 0 }, { -64, 80, 1, 0, 49, 0 }, + 115, { + { 16, 0, 16, 8, 49, 0 }, { 16, 1, 16, 8, 49, 0 }, { 16, 2, 16, 8, 49, 0 }, { 16, 3, 16, 8, 49, 0 }, { 16, 4, 16, 8, 49, 0 }, + { 16, 5, 16, 8, 49, 0 }, { 16, 6, 16, 8, 49, 0 }, { 16, 7, 16, 8, 49, 0 }, { 16, 8, 15, 7, 49, 0 }, { 15, 9, 15, 7, 49, 0 }, + { 15, 10, 15, 7, 49, 0 }, { 15, 11, 15, 7, 49, 0 }, { 15, 12, 15, 7, 49, 0 }, { 15, 13, 15, 7, 49, 0 }, { 15, 14, 15, 7, 49, 0 }, + { 14, 15, 14, 7, 49, 0 }, { 14, 16, 14, 7, 49, 0 }, { 14, 17, 14, 7, 49, 0 }, { 14, 18, 14, 7, 49, 0 }, { 14, 19, 14, 7, 49, 0 }, + { 13, 20, 14, 7, 49, 0 }, { 13, 21, 14, 7, 49, 0 }, { 13, 22, 13, 6, 49, 0 }, { 13, 23, 13, 6, 49, 0 }, { 12, 24, 13, 6, 49, 0 }, + { 12, 25, 13, 6, 49, 0 }, { 12, 26, 13, 6, 49, 0 }, { 11, 27, 13, 6, 49, 0 }, { 11, 28, 13, 6, 49, 0 }, { 11, 29, 12, 6, 49, 0 }, + { 10, 30, 12, 6, 49, 0 }, { 10, 31, 12, 6, 49, 0 }, { 9, 32, 12, 6, 49, 0 }, { 9, 33, 12, 6, 49, 0 }, { 8, 34, 12, 6, 49, 0 }, + { 8, 35, 12, 6, 49, 0 }, { 7, 36, 11, 6, 49, 0 }, { 7, 37, 11, 5, 49, 0 }, { 6, 38, 11, 5, 49, 0 }, { 6, 39, 11, 5, 49, 0 }, + { 5, 40, 11, 5, 49, 0 }, { 4, 41, 11, 5, 49, 0 }, { 4, 42, 11, 5, 49, 0 }, { 3, 43, 11, 5, 49, 0 }, { 2, 44, 10, 5, 49, 0 }, + { 2, 45, 10, 5, 49, 0 }, { 1, 46, 10, 5, 49, 0 }, { 0, 47, 10, 5, 49, 0 }, { 0, 48, 10, 5, 49, 0 }, { -1, 49, 10, 5, 49, 0 }, + { -2, 50, 10, 4, 49, 0 }, { -3, 51, 9, 4, 49, 0 }, { -3, 52, 9, 4, 49, 0 }, { -4, 53, 9, 4, 49, 0 }, { -5, 54, 9, 4, 49, 0 }, + { -6, 55, 9, 4, 49, 0 }, { -7, 56, 9, 4, 49, 0 }, { -7, 57, 9, 4, 49, 0 }, { -8, 58, 8, 4, 49, 0 }, { -9, 59, 8, 4, 49, 0 }, + { -10, 60, 8, 4, 49, 0 }, { -11, 61, 8, 4, 49, 0 }, { -12, 61, 8, 4, 49, 0 }, { -13, 62, 8, 3, 49, 0 }, { -14, 63, 8, 3, 49, 0 }, + { -15, 64, 7, 3, 49, 0 }, { -16, 64, 7, 3, 49, 0 }, { -17, 65, 7, 3, 49, 0 }, { -18, 66, 7, 3, 49, 0 }, { -19, 66, 7, 3, 49, 0 }, + { -20, 67, 7, 3, 49, 0 }, { -21, 68, 7, 3, 49, 0 }, { -22, 68, 6, 3, 49, 0 }, { -23, 69, 6, 3, 49, 0 }, { -24, 70, 6, 3, 49, 0 }, + { -25, 70, 6, 3, 49, 0 }, { -26, 71, 6, 2, 49, 0 }, { -27, 71, 6, 2, 49, 0 }, { -28, 72, 6, 2, 49, 0 }, { -29, 72, 6, 2, 49, 0 }, + { -30, 73, 5, 2, 49, 0 }, { -31, 73, 5, 2, 49, 0 }, { -32, 74, 5, 2, 49, 0 }, { -33, 74, 5, 2, 49, 0 }, { -34, 75, 5, 2, 49, 0 }, + { -35, 75, 5, 2, 49, 0 }, { -36, 75, 5, 2, 49, 0 }, { -37, 76, 4, 2, 49, 0 }, { -38, 76, 4, 2, 49, 0 }, { -39, 76, 4, 2, 49, 0 }, + { -40, 77, 4, 1, 49, 0 }, { -41, 77, 4, 1, 49, 0 }, { -42, 77, 4, 1, 49, 0 }, { -43, 77, 4, 1, 49, 0 }, { -44, 78, 3, 1, 49, 0 }, + { -45, 78, 3, 1, 49, 0 }, { -46, 78, 3, 1, 49, 0 }, { -47, 78, 3, 1, 49, 0 }, { -48, 78, 3, 1, 49, 0 }, { -49, 79, 3, 1, 49, 0 }, + { -50, 79, 3, 1, 49, 0 }, { -51, 79, 2, 1, 49, 0 }, { -52, 79, 2, 1, 49, 0 }, { -53, 79, 2, 1, 49, 0 }, { -54, 79, 2, 1, 49, 0 }, + { -55, 80, 2, 1, 49, 0 }, { -56, 80, 2, 0, 49, 0 }, { -57, 80, 2, 0, 49, 0 }, { -58, 80, 1, 0, 49, 0 }, { -59, 80, 1, 0, 49, 0 }, + { -60, 80, 1, 0, 49, 0 }, { -61, 80, 1, 0, 49, 0 }, { -62, 80, 1, 0, 49, 0 }, { -63, 80, 1, 0, 49, 0 }, { -64, 80, 1, 0, 49, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B7723 = { - 114, { - { 0, 16, 16, 16, 49, 0 }, { 1, 16, 16, 16, 49, 0 }, { 2, 16, 16, 16, 49, 0 }, { 3, 16, 16, 16, 49, 0 }, { 4, 16, 16, 16, 49, 0 }, - { 5, 16, 16, 16, 49, 0 }, { 6, 16, 16, 16, 49, 0 }, { 7, 16, 16, 16, 49, 0 }, { 8, 16, 15, 15, 49, 0 }, { 9, 17, 15, 15, 49, 0 }, - { 10, 17, 15, 15, 49, 0 }, { 11, 17, 15, 15, 49, 0 }, { 12, 17, 15, 15, 49, 0 }, { 13, 17, 15, 15, 49, 0 }, { 14, 17, 15, 15, 49, 0 }, - { 15, 18, 14, 15, 49, 0 }, { 16, 18, 14, 15, 49, 0 }, { 17, 18, 14, 15, 49, 0 }, { 18, 18, 14, 15, 49, 0 }, { 19, 18, 14, 15, 49, 0 }, - { 20, 19, 14, 15, 49, 0 }, { 21, 19, 14, 15, 49, 0 }, { 22, 19, 13, 14, 49, 0 }, { 23, 19, 13, 14, 49, 0 }, { 24, 20, 13, 14, 49, 0 }, - { 25, 20, 13, 14, 49, 0 }, { 26, 20, 13, 14, 49, 0 }, { 27, 21, 13, 14, 49, 0 }, { 28, 21, 13, 14, 49, 0 }, { 29, 21, 12, 14, 49, 0 }, - { 30, 22, 12, 14, 49, 0 }, { 31, 22, 12, 14, 49, 0 }, { 32, 23, 12, 14, 49, 0 }, { 33, 23, 12, 14, 49, 0 }, { 34, 24, 12, 14, 49, 0 }, - { 35, 24, 12, 14, 49, 0 }, { 36, 25, 11, 14, 49, 0 }, { 37, 25, 11, 13, 49, 0 }, { 38, 26, 11, 13, 49, 0 }, { 39, 26, 11, 13, 49, 0 }, - { 40, 27, 11, 13, 49, 0 }, { 41, 28, 11, 13, 49, 0 }, { 42, 28, 11, 13, 49, 0 }, { 43, 29, 10, 13, 49, 0 }, { 44, 30, 10, 13, 49, 0 }, - { 45, 30, 10, 13, 49, 0 }, { 46, 31, 10, 13, 49, 0 }, { 47, 32, 10, 13, 49, 0 }, { 48, 32, 10, 13, 49, 0 }, { 49, 33, 10, 13, 49, 0 }, - { 50, 34, 9, 12, 49, 0 }, { 51, 35, 9, 12, 49, 0 }, { 52, 35, 9, 12, 49, 0 }, { 53, 36, 9, 12, 49, 0 }, { 54, 37, 9, 12, 49, 0 }, - { 55, 38, 9, 12, 49, 0 }, { 56, 39, 9, 12, 49, 0 }, { 57, 39, 8, 12, 49, 0 }, { 58, 40, 8, 12, 49, 0 }, { 59, 41, 8, 12, 49, 0 }, - { 60, 42, 8, 12, 49, 0 }, { 61, 43, 8, 12, 49, 0 }, { 61, 44, 8, 12, 49, 0 }, { 62, 45, 8, 11, 49, 0 }, { 63, 46, 8, 11, 49, 0 }, - { 64, 47, 7, 11, 49, 0 }, { 64, 48, 7, 11, 49, 0 }, { 65, 49, 7, 11, 49, 0 }, { 66, 50, 7, 11, 49, 0 }, { 66, 51, 7, 11, 49, 0 }, - { 67, 52, 7, 11, 49, 0 }, { 68, 53, 7, 11, 49, 0 }, { 68, 54, 6, 11, 49, 0 }, { 69, 55, 6, 11, 49, 0 }, { 70, 56, 6, 11, 49, 0 }, - { 70, 57, 6, 11, 49, 0 }, { 71, 58, 6, 10, 49, 0 }, { 71, 59, 6, 10, 49, 0 }, { 72, 60, 6, 10, 49, 0 }, { 72, 61, 5, 10, 49, 0 }, - { 73, 62, 5, 10, 49, 0 }, { 73, 63, 5, 10, 49, 0 }, { 74, 64, 5, 10, 49, 0 }, { 74, 65, 5, 10, 49, 0 }, { 75, 66, 5, 10, 49, 0 }, - { 75, 67, 5, 10, 49, 0 }, { 75, 68, 4, 10, 49, 0 }, { 76, 69, 4, 10, 49, 0 }, { 76, 70, 4, 10, 49, 0 }, { 76, 71, 4, 10, 49, 0 }, - { 77, 72, 4, 9, 49, 0 }, { 77, 73, 4, 9, 49, 0 }, { 77, 74, 4, 9, 49, 0 }, { 77, 75, 3, 9, 49, 0 }, { 78, 76, 3, 9, 49, 0 }, - { 78, 77, 3, 9, 49, 0 }, { 78, 78, 3, 9, 49, 0 }, { 78, 79, 3, 9, 49, 0 }, { 78, 80, 3, 9, 49, 0 }, { 79, 81, 3, 9, 49, 0 }, - { 79, 82, 2, 9, 49, 0 }, { 79, 83, 2, 9, 49, 0 }, { 79, 84, 2, 9, 49, 0 }, { 79, 85, 2, 9, 49, 0 }, { 79, 86, 2, 9, 49, 0 }, - { 80, 87, 2, 9, 49, 0 }, { 80, 88, 2, 8, 49, 0 }, { 80, 89, 1, 8, 49, 0 }, { 80, 90, 1, 8, 49, 0 }, { 80, 91, 1, 8, 49, 0 }, - { 80, 92, 1, 8, 49, 0 }, { 80, 93, 1, 8, 49, 0 }, { 80, 94, 1, 8, 49, 0 }, { 80, 95, 1, 8, 49, 0 }, + 114, { + { 0, 16, 16, 16, 49, 0 }, { 1, 16, 16, 16, 49, 0 }, { 2, 16, 16, 16, 49, 0 }, { 3, 16, 16, 16, 49, 0 }, { 4, 16, 16, 16, 49, 0 }, + { 5, 16, 16, 16, 49, 0 }, { 6, 16, 16, 16, 49, 0 }, { 7, 16, 16, 16, 49, 0 }, { 8, 16, 15, 15, 49, 0 }, { 9, 17, 15, 15, 49, 0 }, + { 10, 17, 15, 15, 49, 0 }, { 11, 17, 15, 15, 49, 0 }, { 12, 17, 15, 15, 49, 0 }, { 13, 17, 15, 15, 49, 0 }, { 14, 17, 15, 15, 49, 0 }, + { 15, 18, 14, 15, 49, 0 }, { 16, 18, 14, 15, 49, 0 }, { 17, 18, 14, 15, 49, 0 }, { 18, 18, 14, 15, 49, 0 }, { 19, 18, 14, 15, 49, 0 }, + { 20, 19, 14, 15, 49, 0 }, { 21, 19, 14, 15, 49, 0 }, { 22, 19, 13, 14, 49, 0 }, { 23, 19, 13, 14, 49, 0 }, { 24, 20, 13, 14, 49, 0 }, + { 25, 20, 13, 14, 49, 0 }, { 26, 20, 13, 14, 49, 0 }, { 27, 21, 13, 14, 49, 0 }, { 28, 21, 13, 14, 49, 0 }, { 29, 21, 12, 14, 49, 0 }, + { 30, 22, 12, 14, 49, 0 }, { 31, 22, 12, 14, 49, 0 }, { 32, 23, 12, 14, 49, 0 }, { 33, 23, 12, 14, 49, 0 }, { 34, 24, 12, 14, 49, 0 }, + { 35, 24, 12, 14, 49, 0 }, { 36, 25, 11, 14, 49, 0 }, { 37, 25, 11, 13, 49, 0 }, { 38, 26, 11, 13, 49, 0 }, { 39, 26, 11, 13, 49, 0 }, + { 40, 27, 11, 13, 49, 0 }, { 41, 28, 11, 13, 49, 0 }, { 42, 28, 11, 13, 49, 0 }, { 43, 29, 10, 13, 49, 0 }, { 44, 30, 10, 13, 49, 0 }, + { 45, 30, 10, 13, 49, 0 }, { 46, 31, 10, 13, 49, 0 }, { 47, 32, 10, 13, 49, 0 }, { 48, 32, 10, 13, 49, 0 }, { 49, 33, 10, 13, 49, 0 }, + { 50, 34, 9, 12, 49, 0 }, { 51, 35, 9, 12, 49, 0 }, { 52, 35, 9, 12, 49, 0 }, { 53, 36, 9, 12, 49, 0 }, { 54, 37, 9, 12, 49, 0 }, + { 55, 38, 9, 12, 49, 0 }, { 56, 39, 9, 12, 49, 0 }, { 57, 39, 8, 12, 49, 0 }, { 58, 40, 8, 12, 49, 0 }, { 59, 41, 8, 12, 49, 0 }, + { 60, 42, 8, 12, 49, 0 }, { 61, 43, 8, 12, 49, 0 }, { 61, 44, 8, 12, 49, 0 }, { 62, 45, 8, 11, 49, 0 }, { 63, 46, 8, 11, 49, 0 }, + { 64, 47, 7, 11, 49, 0 }, { 64, 48, 7, 11, 49, 0 }, { 65, 49, 7, 11, 49, 0 }, { 66, 50, 7, 11, 49, 0 }, { 66, 51, 7, 11, 49, 0 }, + { 67, 52, 7, 11, 49, 0 }, { 68, 53, 7, 11, 49, 0 }, { 68, 54, 6, 11, 49, 0 }, { 69, 55, 6, 11, 49, 0 }, { 70, 56, 6, 11, 49, 0 }, + { 70, 57, 6, 11, 49, 0 }, { 71, 58, 6, 10, 49, 0 }, { 71, 59, 6, 10, 49, 0 }, { 72, 60, 6, 10, 49, 0 }, { 72, 61, 5, 10, 49, 0 }, + { 73, 62, 5, 10, 49, 0 }, { 73, 63, 5, 10, 49, 0 }, { 74, 64, 5, 10, 49, 0 }, { 74, 65, 5, 10, 49, 0 }, { 75, 66, 5, 10, 49, 0 }, + { 75, 67, 5, 10, 49, 0 }, { 75, 68, 4, 10, 49, 0 }, { 76, 69, 4, 10, 49, 0 }, { 76, 70, 4, 10, 49, 0 }, { 76, 71, 4, 10, 49, 0 }, + { 77, 72, 4, 9, 49, 0 }, { 77, 73, 4, 9, 49, 0 }, { 77, 74, 4, 9, 49, 0 }, { 77, 75, 3, 9, 49, 0 }, { 78, 76, 3, 9, 49, 0 }, + { 78, 77, 3, 9, 49, 0 }, { 78, 78, 3, 9, 49, 0 }, { 78, 79, 3, 9, 49, 0 }, { 78, 80, 3, 9, 49, 0 }, { 79, 81, 3, 9, 49, 0 }, + { 79, 82, 2, 9, 49, 0 }, { 79, 83, 2, 9, 49, 0 }, { 79, 84, 2, 9, 49, 0 }, { 79, 85, 2, 9, 49, 0 }, { 79, 86, 2, 9, 49, 0 }, + { 80, 87, 2, 9, 49, 0 }, { 80, 88, 2, 8, 49, 0 }, { 80, 89, 1, 8, 49, 0 }, { 80, 90, 1, 8, 49, 0 }, { 80, 91, 1, 8, 49, 0 }, + { 80, 92, 1, 8, 49, 0 }, { 80, 93, 1, 8, 49, 0 }, { 80, 94, 1, 8, 49, 0 }, { 80, 95, 1, 8, 49, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B7B27 = { - 113, { - { 16, 31, 16, 24, 49, 0 }, { 16, 30, 16, 24, 49, 0 }, { 16, 29, 16, 24, 49, 0 }, { 16, 28, 16, 24, 49, 0 }, { 16, 27, 16, 24, 49, 0 }, - { 16, 26, 16, 24, 49, 0 }, { 16, 25, 16, 24, 49, 0 }, { 16, 24, 15, 23, 49, 0 }, { 17, 23, 15, 23, 49, 0 }, { 17, 22, 15, 23, 49, 0 }, - { 17, 21, 15, 23, 49, 0 }, { 17, 20, 15, 23, 49, 0 }, { 17, 19, 15, 23, 49, 0 }, { 17, 18, 15, 23, 49, 0 }, { 18, 17, 14, 23, 49, 0 }, - { 18, 16, 14, 23, 49, 0 }, { 18, 15, 14, 23, 49, 0 }, { 18, 14, 14, 23, 49, 0 }, { 18, 13, 14, 23, 49, 0 }, { 19, 12, 14, 23, 49, 0 }, - { 19, 11, 14, 23, 49, 0 }, { 19, 10, 13, 22, 49, 0 }, { 19, 9, 13, 22, 49, 0 }, { 20, 8, 13, 22, 49, 0 }, { 20, 7, 13, 22, 49, 0 }, - { 20, 6, 13, 22, 49, 0 }, { 21, 5, 13, 22, 49, 0 }, { 21, 4, 13, 22, 49, 0 }, { 21, 3, 12, 22, 49, 0 }, { 22, 2, 12, 22, 49, 0 }, - { 22, 1, 12, 22, 49, 0 }, { 23, 0, 12, 22, 49, 0 }, { 23, -1, 12, 22, 49, 0 }, { 24, -2, 12, 22, 49, 0 }, { 24, -3, 12, 22, 49, 0 }, - { 25, -4, 11, 22, 49, 0 }, { 25, -5, 11, 21, 49, 0 }, { 26, -6, 11, 21, 49, 0 }, { 26, -7, 11, 21, 49, 0 }, { 27, -8, 11, 21, 49, 0 }, - { 28, -9, 11, 21, 49, 0 }, { 28, -10, 11, 21, 49, 0 }, { 29, -11, 10, 21, 49, 0 }, { 30, -12, 10, 21, 49, 0 }, { 30, -13, 10, 21, 49, 0 }, - { 31, -14, 10, 21, 49, 0 }, { 32, -15, 10, 21, 49, 0 }, { 32, -16, 10, 21, 49, 0 }, { 33, -17, 10, 21, 49, 0 }, { 34, -18, 9, 20, 49, 0 }, - { 35, -19, 9, 20, 49, 0 }, { 35, -20, 9, 20, 49, 0 }, { 36, -21, 9, 20, 49, 0 }, { 37, -22, 9, 20, 49, 0 }, { 38, -23, 9, 20, 49, 0 }, - { 39, -24, 9, 20, 49, 0 }, { 39, -25, 8, 20, 49, 0 }, { 40, -26, 8, 20, 49, 0 }, { 41, -27, 8, 20, 49, 0 }, { 42, -28, 8, 20, 49, 0 }, - { 43, -29, 8, 20, 49, 0 }, { 44, -29, 8, 20, 49, 0 }, { 45, -30, 8, 19, 49, 0 }, { 46, -31, 7, 19, 49, 0 }, { 47, -32, 7, 19, 49, 0 }, - { 48, -32, 7, 19, 49, 0 }, { 49, -33, 7, 19, 49, 0 }, { 50, -34, 7, 19, 49, 0 }, { 51, -34, 7, 19, 49, 0 }, { 52, -35, 7, 19, 49, 0 }, - { 53, -36, 6, 19, 49, 0 }, { 54, -36, 6, 19, 49, 0 }, { 55, -37, 6, 19, 49, 0 }, { 56, -38, 6, 19, 49, 0 }, { 57, -38, 6, 19, 49, 0 }, - { 58, -39, 6, 18, 49, 0 }, { 59, -39, 6, 18, 49, 0 }, { 60, -40, 5, 18, 49, 0 }, { 61, -40, 5, 18, 49, 0 }, { 62, -41, 5, 18, 49, 0 }, - { 63, -41, 5, 18, 49, 0 }, { 64, -42, 5, 18, 49, 0 }, { 65, -42, 5, 18, 49, 0 }, { 66, -43, 5, 18, 49, 0 }, { 67, -43, 4, 18, 49, 0 }, - { 68, -43, 4, 18, 49, 0 }, { 69, -44, 4, 18, 49, 0 }, { 70, -44, 4, 18, 49, 0 }, { 71, -44, 4, 18, 49, 0 }, { 72, -45, 4, 17, 49, 0 }, - { 73, -45, 4, 17, 49, 0 }, { 74, -45, 3, 17, 49, 0 }, { 75, -45, 3, 17, 49, 0 }, { 76, -46, 3, 17, 49, 0 }, { 77, -46, 3, 17, 49, 0 }, - { 78, -46, 3, 17, 49, 0 }, { 79, -46, 3, 17, 49, 0 }, { 80, -46, 3, 17, 49, 0 }, { 81, -47, 2, 17, 49, 0 }, { 82, -47, 2, 17, 49, 0 }, - { 83, -47, 2, 17, 49, 0 }, { 84, -47, 2, 17, 49, 0 }, { 85, -47, 2, 17, 49, 0 }, { 86, -47, 2, 17, 49, 0 }, { 87, -48, 2, 17, 49, 0 }, - { 88, -48, 1, 16, 49, 0 }, { 89, -48, 1, 16, 49, 0 }, { 90, -48, 1, 16, 49, 0 }, { 91, -48, 1, 16, 49, 0 }, { 92, -48, 1, 16, 49, 0 }, - { 93, -48, 1, 16, 49, 0 }, { 94, -48, 1, 16, 49, 0 }, { 95, -48, 0, 16, 49, 0 }, + 113, { + { 16, 31, 16, 24, 49, 0 }, { 16, 30, 16, 24, 49, 0 }, { 16, 29, 16, 24, 49, 0 }, { 16, 28, 16, 24, 49, 0 }, { 16, 27, 16, 24, 49, 0 }, + { 16, 26, 16, 24, 49, 0 }, { 16, 25, 16, 24, 49, 0 }, { 16, 24, 15, 23, 49, 0 }, { 17, 23, 15, 23, 49, 0 }, { 17, 22, 15, 23, 49, 0 }, + { 17, 21, 15, 23, 49, 0 }, { 17, 20, 15, 23, 49, 0 }, { 17, 19, 15, 23, 49, 0 }, { 17, 18, 15, 23, 49, 0 }, { 18, 17, 14, 23, 49, 0 }, + { 18, 16, 14, 23, 49, 0 }, { 18, 15, 14, 23, 49, 0 }, { 18, 14, 14, 23, 49, 0 }, { 18, 13, 14, 23, 49, 0 }, { 19, 12, 14, 23, 49, 0 }, + { 19, 11, 14, 23, 49, 0 }, { 19, 10, 13, 22, 49, 0 }, { 19, 9, 13, 22, 49, 0 }, { 20, 8, 13, 22, 49, 0 }, { 20, 7, 13, 22, 49, 0 }, + { 20, 6, 13, 22, 49, 0 }, { 21, 5, 13, 22, 49, 0 }, { 21, 4, 13, 22, 49, 0 }, { 21, 3, 12, 22, 49, 0 }, { 22, 2, 12, 22, 49, 0 }, + { 22, 1, 12, 22, 49, 0 }, { 23, 0, 12, 22, 49, 0 }, { 23, -1, 12, 22, 49, 0 }, { 24, -2, 12, 22, 49, 0 }, { 24, -3, 12, 22, 49, 0 }, + { 25, -4, 11, 22, 49, 0 }, { 25, -5, 11, 21, 49, 0 }, { 26, -6, 11, 21, 49, 0 }, { 26, -7, 11, 21, 49, 0 }, { 27, -8, 11, 21, 49, 0 }, + { 28, -9, 11, 21, 49, 0 }, { 28, -10, 11, 21, 49, 0 }, { 29, -11, 10, 21, 49, 0 }, { 30, -12, 10, 21, 49, 0 }, { 30, -13, 10, 21, 49, 0 }, + { 31, -14, 10, 21, 49, 0 }, { 32, -15, 10, 21, 49, 0 }, { 32, -16, 10, 21, 49, 0 }, { 33, -17, 10, 21, 49, 0 }, { 34, -18, 9, 20, 49, 0 }, + { 35, -19, 9, 20, 49, 0 }, { 35, -20, 9, 20, 49, 0 }, { 36, -21, 9, 20, 49, 0 }, { 37, -22, 9, 20, 49, 0 }, { 38, -23, 9, 20, 49, 0 }, + { 39, -24, 9, 20, 49, 0 }, { 39, -25, 8, 20, 49, 0 }, { 40, -26, 8, 20, 49, 0 }, { 41, -27, 8, 20, 49, 0 }, { 42, -28, 8, 20, 49, 0 }, + { 43, -29, 8, 20, 49, 0 }, { 44, -29, 8, 20, 49, 0 }, { 45, -30, 8, 19, 49, 0 }, { 46, -31, 7, 19, 49, 0 }, { 47, -32, 7, 19, 49, 0 }, + { 48, -32, 7, 19, 49, 0 }, { 49, -33, 7, 19, 49, 0 }, { 50, -34, 7, 19, 49, 0 }, { 51, -34, 7, 19, 49, 0 }, { 52, -35, 7, 19, 49, 0 }, + { 53, -36, 6, 19, 49, 0 }, { 54, -36, 6, 19, 49, 0 }, { 55, -37, 6, 19, 49, 0 }, { 56, -38, 6, 19, 49, 0 }, { 57, -38, 6, 19, 49, 0 }, + { 58, -39, 6, 18, 49, 0 }, { 59, -39, 6, 18, 49, 0 }, { 60, -40, 5, 18, 49, 0 }, { 61, -40, 5, 18, 49, 0 }, { 62, -41, 5, 18, 49, 0 }, + { 63, -41, 5, 18, 49, 0 }, { 64, -42, 5, 18, 49, 0 }, { 65, -42, 5, 18, 49, 0 }, { 66, -43, 5, 18, 49, 0 }, { 67, -43, 4, 18, 49, 0 }, + { 68, -43, 4, 18, 49, 0 }, { 69, -44, 4, 18, 49, 0 }, { 70, -44, 4, 18, 49, 0 }, { 71, -44, 4, 18, 49, 0 }, { 72, -45, 4, 17, 49, 0 }, + { 73, -45, 4, 17, 49, 0 }, { 74, -45, 3, 17, 49, 0 }, { 75, -45, 3, 17, 49, 0 }, { 76, -46, 3, 17, 49, 0 }, { 77, -46, 3, 17, 49, 0 }, + { 78, -46, 3, 17, 49, 0 }, { 79, -46, 3, 17, 49, 0 }, { 80, -46, 3, 17, 49, 0 }, { 81, -47, 2, 17, 49, 0 }, { 82, -47, 2, 17, 49, 0 }, + { 83, -47, 2, 17, 49, 0 }, { 84, -47, 2, 17, 49, 0 }, { 85, -47, 2, 17, 49, 0 }, { 86, -47, 2, 17, 49, 0 }, { 87, -48, 2, 17, 49, 0 }, + { 88, -48, 1, 16, 49, 0 }, { 89, -48, 1, 16, 49, 0 }, { 90, -48, 1, 16, 49, 0 }, { 91, -48, 1, 16, 49, 0 }, { 92, -48, 1, 16, 49, 0 }, + { 93, -48, 1, 16, 49, 0 }, { 94, -48, 1, 16, 49, 0 }, { 95, -48, 0, 16, 49, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B7F22 = { - 113, { - { 31, 16, 16, 0, 49, 0 }, { 30, 16, 16, 0, 49, 0 }, { 29, 16, 16, 0, 49, 0 }, { 28, 16, 16, 0, 49, 0 }, { 27, 16, 16, 0, 49, 0 }, - { 26, 16, 16, 0, 49, 0 }, { 25, 16, 16, 0, 49, 0 }, { 24, 16, 15, 1, 49, 0 }, { 23, 17, 15, 1, 49, 0 }, { 22, 17, 15, 1, 49, 0 }, - { 21, 17, 15, 1, 49, 0 }, { 20, 17, 15, 1, 49, 0 }, { 19, 17, 15, 1, 49, 0 }, { 18, 17, 15, 1, 49, 0 }, { 17, 18, 14, 1, 49, 0 }, - { 16, 18, 14, 1, 49, 0 }, { 15, 18, 14, 1, 49, 0 }, { 14, 18, 14, 1, 49, 0 }, { 13, 18, 14, 1, 49, 0 }, { 12, 19, 14, 1, 49, 0 }, - { 11, 19, 14, 1, 49, 0 }, { 10, 19, 13, 2, 49, 0 }, { 9, 19, 13, 2, 49, 0 }, { 8, 20, 13, 2, 49, 0 }, { 7, 20, 13, 2, 49, 0 }, - { 6, 20, 13, 2, 49, 0 }, { 5, 21, 13, 2, 49, 0 }, { 4, 21, 13, 2, 49, 0 }, { 3, 21, 12, 2, 49, 0 }, { 2, 22, 12, 2, 49, 0 }, - { 1, 22, 12, 2, 49, 0 }, { 0, 23, 12, 2, 49, 0 }, { -1, 23, 12, 2, 49, 0 }, { -2, 24, 12, 2, 49, 0 }, { -3, 24, 12, 2, 49, 0 }, - { -4, 25, 11, 2, 49, 0 }, { -5, 25, 11, 3, 49, 0 }, { -6, 26, 11, 3, 49, 0 }, { -7, 26, 11, 3, 49, 0 }, { -8, 27, 11, 3, 49, 0 }, - { -9, 28, 11, 3, 49, 0 }, { -10, 28, 11, 3, 49, 0 }, { -11, 29, 10, 3, 49, 0 }, { -12, 30, 10, 3, 49, 0 }, { -13, 30, 10, 3, 49, 0 }, - { -14, 31, 10, 3, 49, 0 }, { -15, 32, 10, 3, 49, 0 }, { -16, 32, 10, 3, 49, 0 }, { -17, 33, 10, 3, 49, 0 }, { -18, 34, 9, 4, 49, 0 }, - { -19, 35, 9, 4, 49, 0 }, { -20, 35, 9, 4, 49, 0 }, { -21, 36, 9, 4, 49, 0 }, { -22, 37, 9, 4, 49, 0 }, { -23, 38, 9, 4, 49, 0 }, - { -24, 39, 9, 4, 49, 0 }, { -25, 39, 8, 4, 49, 0 }, { -26, 40, 8, 4, 49, 0 }, { -27, 41, 8, 4, 49, 0 }, { -28, 42, 8, 4, 49, 0 }, - { -29, 43, 8, 4, 49, 0 }, { -29, 44, 8, 4, 49, 0 }, { -30, 45, 8, 5, 49, 0 }, { -31, 46, 7, 5, 49, 0 }, { -32, 47, 7, 5, 49, 0 }, - { -32, 48, 7, 5, 49, 0 }, { -33, 49, 7, 5, 49, 0 }, { -34, 50, 7, 5, 49, 0 }, { -34, 51, 7, 5, 49, 0 }, { -35, 52, 7, 5, 49, 0 }, - { -36, 53, 6, 5, 49, 0 }, { -36, 54, 6, 5, 49, 0 }, { -37, 55, 6, 5, 49, 0 }, { -38, 56, 6, 5, 49, 0 }, { -38, 57, 6, 5, 49, 0 }, - { -39, 58, 6, 6, 49, 0 }, { -39, 59, 6, 6, 49, 0 }, { -40, 60, 5, 6, 49, 0 }, { -40, 61, 5, 6, 49, 0 }, { -41, 62, 5, 6, 49, 0 }, - { -41, 63, 5, 6, 49, 0 }, { -42, 64, 5, 6, 49, 0 }, { -42, 65, 5, 6, 49, 0 }, { -43, 66, 5, 6, 49, 0 }, { -43, 67, 4, 6, 49, 0 }, - { -43, 68, 4, 6, 49, 0 }, { -44, 69, 4, 6, 49, 0 }, { -44, 70, 4, 6, 49, 0 }, { -44, 71, 4, 6, 49, 0 }, { -45, 72, 4, 7, 49, 0 }, - { -45, 73, 4, 7, 49, 0 }, { -45, 74, 3, 7, 49, 0 }, { -45, 75, 3, 7, 49, 0 }, { -46, 76, 3, 7, 49, 0 }, { -46, 77, 3, 7, 49, 0 }, - { -46, 78, 3, 7, 49, 0 }, { -46, 79, 3, 7, 49, 0 }, { -46, 80, 3, 7, 49, 0 }, { -47, 81, 2, 7, 49, 0 }, { -47, 82, 2, 7, 49, 0 }, - { -47, 83, 2, 7, 49, 0 }, { -47, 84, 2, 7, 49, 0 }, { -47, 85, 2, 7, 49, 0 }, { -47, 86, 2, 7, 49, 0 }, { -48, 87, 2, 7, 49, 0 }, - { -48, 88, 1, 8, 49, 0 }, { -48, 89, 1, 8, 49, 0 }, { -48, 90, 1, 8, 49, 0 }, { -48, 91, 1, 8, 49, 0 }, { -48, 92, 1, 8, 49, 0 }, - { -48, 93, 1, 8, 49, 0 }, { -48, 94, 1, 8, 49, 0 }, { -48, 95, 0, 8, 49, 0 }, + 113, { + { 31, 16, 16, 0, 49, 0 }, { 30, 16, 16, 0, 49, 0 }, { 29, 16, 16, 0, 49, 0 }, { 28, 16, 16, 0, 49, 0 }, { 27, 16, 16, 0, 49, 0 }, + { 26, 16, 16, 0, 49, 0 }, { 25, 16, 16, 0, 49, 0 }, { 24, 16, 15, 1, 49, 0 }, { 23, 17, 15, 1, 49, 0 }, { 22, 17, 15, 1, 49, 0 }, + { 21, 17, 15, 1, 49, 0 }, { 20, 17, 15, 1, 49, 0 }, { 19, 17, 15, 1, 49, 0 }, { 18, 17, 15, 1, 49, 0 }, { 17, 18, 14, 1, 49, 0 }, + { 16, 18, 14, 1, 49, 0 }, { 15, 18, 14, 1, 49, 0 }, { 14, 18, 14, 1, 49, 0 }, { 13, 18, 14, 1, 49, 0 }, { 12, 19, 14, 1, 49, 0 }, + { 11, 19, 14, 1, 49, 0 }, { 10, 19, 13, 2, 49, 0 }, { 9, 19, 13, 2, 49, 0 }, { 8, 20, 13, 2, 49, 0 }, { 7, 20, 13, 2, 49, 0 }, + { 6, 20, 13, 2, 49, 0 }, { 5, 21, 13, 2, 49, 0 }, { 4, 21, 13, 2, 49, 0 }, { 3, 21, 12, 2, 49, 0 }, { 2, 22, 12, 2, 49, 0 }, + { 1, 22, 12, 2, 49, 0 }, { 0, 23, 12, 2, 49, 0 }, { -1, 23, 12, 2, 49, 0 }, { -2, 24, 12, 2, 49, 0 }, { -3, 24, 12, 2, 49, 0 }, + { -4, 25, 11, 2, 49, 0 }, { -5, 25, 11, 3, 49, 0 }, { -6, 26, 11, 3, 49, 0 }, { -7, 26, 11, 3, 49, 0 }, { -8, 27, 11, 3, 49, 0 }, + { -9, 28, 11, 3, 49, 0 }, { -10, 28, 11, 3, 49, 0 }, { -11, 29, 10, 3, 49, 0 }, { -12, 30, 10, 3, 49, 0 }, { -13, 30, 10, 3, 49, 0 }, + { -14, 31, 10, 3, 49, 0 }, { -15, 32, 10, 3, 49, 0 }, { -16, 32, 10, 3, 49, 0 }, { -17, 33, 10, 3, 49, 0 }, { -18, 34, 9, 4, 49, 0 }, + { -19, 35, 9, 4, 49, 0 }, { -20, 35, 9, 4, 49, 0 }, { -21, 36, 9, 4, 49, 0 }, { -22, 37, 9, 4, 49, 0 }, { -23, 38, 9, 4, 49, 0 }, + { -24, 39, 9, 4, 49, 0 }, { -25, 39, 8, 4, 49, 0 }, { -26, 40, 8, 4, 49, 0 }, { -27, 41, 8, 4, 49, 0 }, { -28, 42, 8, 4, 49, 0 }, + { -29, 43, 8, 4, 49, 0 }, { -29, 44, 8, 4, 49, 0 }, { -30, 45, 8, 5, 49, 0 }, { -31, 46, 7, 5, 49, 0 }, { -32, 47, 7, 5, 49, 0 }, + { -32, 48, 7, 5, 49, 0 }, { -33, 49, 7, 5, 49, 0 }, { -34, 50, 7, 5, 49, 0 }, { -34, 51, 7, 5, 49, 0 }, { -35, 52, 7, 5, 49, 0 }, + { -36, 53, 6, 5, 49, 0 }, { -36, 54, 6, 5, 49, 0 }, { -37, 55, 6, 5, 49, 0 }, { -38, 56, 6, 5, 49, 0 }, { -38, 57, 6, 5, 49, 0 }, + { -39, 58, 6, 6, 49, 0 }, { -39, 59, 6, 6, 49, 0 }, { -40, 60, 5, 6, 49, 0 }, { -40, 61, 5, 6, 49, 0 }, { -41, 62, 5, 6, 49, 0 }, + { -41, 63, 5, 6, 49, 0 }, { -42, 64, 5, 6, 49, 0 }, { -42, 65, 5, 6, 49, 0 }, { -43, 66, 5, 6, 49, 0 }, { -43, 67, 4, 6, 49, 0 }, + { -43, 68, 4, 6, 49, 0 }, { -44, 69, 4, 6, 49, 0 }, { -44, 70, 4, 6, 49, 0 }, { -44, 71, 4, 6, 49, 0 }, { -45, 72, 4, 7, 49, 0 }, + { -45, 73, 4, 7, 49, 0 }, { -45, 74, 3, 7, 49, 0 }, { -45, 75, 3, 7, 49, 0 }, { -46, 76, 3, 7, 49, 0 }, { -46, 77, 3, 7, 49, 0 }, + { -46, 78, 3, 7, 49, 0 }, { -46, 79, 3, 7, 49, 0 }, { -46, 80, 3, 7, 49, 0 }, { -47, 81, 2, 7, 49, 0 }, { -47, 82, 2, 7, 49, 0 }, + { -47, 83, 2, 7, 49, 0 }, { -47, 84, 2, 7, 49, 0 }, { -47, 85, 2, 7, 49, 0 }, { -47, 86, 2, 7, 49, 0 }, { -48, 87, 2, 7, 49, 0 }, + { -48, 88, 1, 8, 49, 0 }, { -48, 89, 1, 8, 49, 0 }, { -48, 90, 1, 8, 49, 0 }, { -48, 91, 1, 8, 49, 0 }, { -48, 92, 1, 8, 49, 0 }, + { -48, 93, 1, 8, 49, 0 }, { -48, 94, 1, 8, 49, 0 }, { -48, 95, 0, 8, 49, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B831D = { - 114, { - { 16, 0, 16, 8, 49, 0 }, { 16, 1, 16, 8, 49, 0 }, { 16, 2, 16, 8, 49, 0 }, { 16, 3, 16, 8, 49, 0 }, { 16, 4, 16, 8, 49, 0 }, - { 16, 5, 16, 8, 49, 0 }, { 16, 6, 16, 8, 49, 0 }, { 16, 7, 16, 8, 49, 0 }, { 16, 8, 15, 9, 49, 0 }, { 17, 9, 15, 9, 49, 0 }, - { 17, 10, 15, 9, 49, 0 }, { 17, 11, 15, 9, 49, 0 }, { 17, 12, 15, 9, 49, 0 }, { 17, 13, 15, 9, 49, 0 }, { 17, 14, 15, 9, 49, 0 }, - { 18, 15, 14, 9, 49, 0 }, { 18, 16, 14, 9, 49, 0 }, { 18, 17, 14, 9, 49, 0 }, { 18, 18, 14, 9, 49, 0 }, { 18, 19, 14, 9, 49, 0 }, - { 19, 20, 14, 9, 49, 0 }, { 19, 21, 14, 9, 49, 0 }, { 19, 22, 13, 10, 49, 0 }, { 19, 23, 13, 10, 49, 0 }, { 20, 24, 13, 10, 49, 0 }, - { 20, 25, 13, 10, 49, 0 }, { 20, 26, 13, 10, 49, 0 }, { 21, 27, 13, 10, 49, 0 }, { 21, 28, 13, 10, 49, 0 }, { 21, 29, 12, 10, 49, 0 }, - { 22, 30, 12, 10, 49, 0 }, { 22, 31, 12, 10, 49, 0 }, { 23, 32, 12, 10, 49, 0 }, { 23, 33, 12, 10, 49, 0 }, { 24, 34, 12, 10, 49, 0 }, - { 24, 35, 12, 10, 49, 0 }, { 25, 36, 11, 10, 49, 0 }, { 25, 37, 11, 11, 49, 0 }, { 26, 38, 11, 11, 49, 0 }, { 26, 39, 11, 11, 49, 0 }, - { 27, 40, 11, 11, 49, 0 }, { 28, 41, 11, 11, 49, 0 }, { 28, 42, 11, 11, 49, 0 }, { 29, 43, 10, 11, 49, 0 }, { 30, 44, 10, 11, 49, 0 }, - { 30, 45, 10, 11, 49, 0 }, { 31, 46, 10, 11, 49, 0 }, { 32, 47, 10, 11, 49, 0 }, { 32, 48, 10, 11, 49, 0 }, { 33, 49, 10, 11, 49, 0 }, - { 34, 50, 9, 12, 49, 0 }, { 35, 51, 9, 12, 49, 0 }, { 35, 52, 9, 12, 49, 0 }, { 36, 53, 9, 12, 49, 0 }, { 37, 54, 9, 12, 49, 0 }, - { 38, 55, 9, 12, 49, 0 }, { 39, 56, 9, 12, 49, 0 }, { 39, 57, 8, 12, 49, 0 }, { 40, 58, 8, 12, 49, 0 }, { 41, 59, 8, 12, 49, 0 }, - { 42, 60, 8, 12, 49, 0 }, { 43, 61, 8, 12, 49, 0 }, { 44, 61, 8, 12, 49, 0 }, { 45, 62, 8, 13, 49, 0 }, { 46, 63, 8, 13, 49, 0 }, - { 47, 64, 7, 13, 49, 0 }, { 48, 64, 7, 13, 49, 0 }, { 49, 65, 7, 13, 49, 0 }, { 50, 66, 7, 13, 49, 0 }, { 51, 66, 7, 13, 49, 0 }, - { 52, 67, 7, 13, 49, 0 }, { 53, 68, 7, 13, 49, 0 }, { 54, 68, 6, 13, 49, 0 }, { 55, 69, 6, 13, 49, 0 }, { 56, 70, 6, 13, 49, 0 }, - { 57, 70, 6, 13, 49, 0 }, { 58, 71, 6, 14, 49, 0 }, { 59, 71, 6, 14, 49, 0 }, { 60, 72, 6, 14, 49, 0 }, { 61, 72, 5, 14, 49, 0 }, - { 62, 73, 5, 14, 49, 0 }, { 63, 73, 5, 14, 49, 0 }, { 64, 74, 5, 14, 49, 0 }, { 65, 74, 5, 14, 49, 0 }, { 66, 75, 5, 14, 49, 0 }, - { 67, 75, 5, 14, 49, 0 }, { 68, 75, 4, 14, 49, 0 }, { 69, 76, 4, 14, 49, 0 }, { 70, 76, 4, 14, 49, 0 }, { 71, 76, 4, 14, 49, 0 }, - { 72, 77, 4, 15, 49, 0 }, { 73, 77, 4, 15, 49, 0 }, { 74, 77, 4, 15, 49, 0 }, { 75, 77, 3, 15, 49, 0 }, { 76, 78, 3, 15, 49, 0 }, - { 77, 78, 3, 15, 49, 0 }, { 78, 78, 3, 15, 49, 0 }, { 79, 78, 3, 15, 49, 0 }, { 80, 78, 3, 15, 49, 0 }, { 81, 79, 3, 15, 49, 0 }, - { 82, 79, 2, 15, 49, 0 }, { 83, 79, 2, 15, 49, 0 }, { 84, 79, 2, 15, 49, 0 }, { 85, 79, 2, 15, 49, 0 }, { 86, 79, 2, 15, 49, 0 }, - { 87, 80, 2, 15, 49, 0 }, { 88, 80, 2, 16, 49, 0 }, { 89, 80, 1, 16, 49, 0 }, { 90, 80, 1, 16, 49, 0 }, { 91, 80, 1, 16, 49, 0 }, - { 92, 80, 1, 16, 49, 0 }, { 93, 80, 1, 16, 49, 0 }, { 94, 80, 1, 16, 49, 0 }, { 95, 80, 1, 16, 49, 0 }, + 114, { + { 16, 0, 16, 8, 49, 0 }, { 16, 1, 16, 8, 49, 0 }, { 16, 2, 16, 8, 49, 0 }, { 16, 3, 16, 8, 49, 0 }, { 16, 4, 16, 8, 49, 0 }, + { 16, 5, 16, 8, 49, 0 }, { 16, 6, 16, 8, 49, 0 }, { 16, 7, 16, 8, 49, 0 }, { 16, 8, 15, 9, 49, 0 }, { 17, 9, 15, 9, 49, 0 }, + { 17, 10, 15, 9, 49, 0 }, { 17, 11, 15, 9, 49, 0 }, { 17, 12, 15, 9, 49, 0 }, { 17, 13, 15, 9, 49, 0 }, { 17, 14, 15, 9, 49, 0 }, + { 18, 15, 14, 9, 49, 0 }, { 18, 16, 14, 9, 49, 0 }, { 18, 17, 14, 9, 49, 0 }, { 18, 18, 14, 9, 49, 0 }, { 18, 19, 14, 9, 49, 0 }, + { 19, 20, 14, 9, 49, 0 }, { 19, 21, 14, 9, 49, 0 }, { 19, 22, 13, 10, 49, 0 }, { 19, 23, 13, 10, 49, 0 }, { 20, 24, 13, 10, 49, 0 }, + { 20, 25, 13, 10, 49, 0 }, { 20, 26, 13, 10, 49, 0 }, { 21, 27, 13, 10, 49, 0 }, { 21, 28, 13, 10, 49, 0 }, { 21, 29, 12, 10, 49, 0 }, + { 22, 30, 12, 10, 49, 0 }, { 22, 31, 12, 10, 49, 0 }, { 23, 32, 12, 10, 49, 0 }, { 23, 33, 12, 10, 49, 0 }, { 24, 34, 12, 10, 49, 0 }, + { 24, 35, 12, 10, 49, 0 }, { 25, 36, 11, 10, 49, 0 }, { 25, 37, 11, 11, 49, 0 }, { 26, 38, 11, 11, 49, 0 }, { 26, 39, 11, 11, 49, 0 }, + { 27, 40, 11, 11, 49, 0 }, { 28, 41, 11, 11, 49, 0 }, { 28, 42, 11, 11, 49, 0 }, { 29, 43, 10, 11, 49, 0 }, { 30, 44, 10, 11, 49, 0 }, + { 30, 45, 10, 11, 49, 0 }, { 31, 46, 10, 11, 49, 0 }, { 32, 47, 10, 11, 49, 0 }, { 32, 48, 10, 11, 49, 0 }, { 33, 49, 10, 11, 49, 0 }, + { 34, 50, 9, 12, 49, 0 }, { 35, 51, 9, 12, 49, 0 }, { 35, 52, 9, 12, 49, 0 }, { 36, 53, 9, 12, 49, 0 }, { 37, 54, 9, 12, 49, 0 }, + { 38, 55, 9, 12, 49, 0 }, { 39, 56, 9, 12, 49, 0 }, { 39, 57, 8, 12, 49, 0 }, { 40, 58, 8, 12, 49, 0 }, { 41, 59, 8, 12, 49, 0 }, + { 42, 60, 8, 12, 49, 0 }, { 43, 61, 8, 12, 49, 0 }, { 44, 61, 8, 12, 49, 0 }, { 45, 62, 8, 13, 49, 0 }, { 46, 63, 8, 13, 49, 0 }, + { 47, 64, 7, 13, 49, 0 }, { 48, 64, 7, 13, 49, 0 }, { 49, 65, 7, 13, 49, 0 }, { 50, 66, 7, 13, 49, 0 }, { 51, 66, 7, 13, 49, 0 }, + { 52, 67, 7, 13, 49, 0 }, { 53, 68, 7, 13, 49, 0 }, { 54, 68, 6, 13, 49, 0 }, { 55, 69, 6, 13, 49, 0 }, { 56, 70, 6, 13, 49, 0 }, + { 57, 70, 6, 13, 49, 0 }, { 58, 71, 6, 14, 49, 0 }, { 59, 71, 6, 14, 49, 0 }, { 60, 72, 6, 14, 49, 0 }, { 61, 72, 5, 14, 49, 0 }, + { 62, 73, 5, 14, 49, 0 }, { 63, 73, 5, 14, 49, 0 }, { 64, 74, 5, 14, 49, 0 }, { 65, 74, 5, 14, 49, 0 }, { 66, 75, 5, 14, 49, 0 }, + { 67, 75, 5, 14, 49, 0 }, { 68, 75, 4, 14, 49, 0 }, { 69, 76, 4, 14, 49, 0 }, { 70, 76, 4, 14, 49, 0 }, { 71, 76, 4, 14, 49, 0 }, + { 72, 77, 4, 15, 49, 0 }, { 73, 77, 4, 15, 49, 0 }, { 74, 77, 4, 15, 49, 0 }, { 75, 77, 3, 15, 49, 0 }, { 76, 78, 3, 15, 49, 0 }, + { 77, 78, 3, 15, 49, 0 }, { 78, 78, 3, 15, 49, 0 }, { 79, 78, 3, 15, 49, 0 }, { 80, 78, 3, 15, 49, 0 }, { 81, 79, 3, 15, 49, 0 }, + { 82, 79, 2, 15, 49, 0 }, { 83, 79, 2, 15, 49, 0 }, { 84, 79, 2, 15, 49, 0 }, { 85, 79, 2, 15, 49, 0 }, { 86, 79, 2, 15, 49, 0 }, + { 87, 80, 2, 15, 49, 0 }, { 88, 80, 2, 16, 49, 0 }, { 89, 80, 1, 16, 49, 0 }, { 90, 80, 1, 16, 49, 0 }, { 91, 80, 1, 16, 49, 0 }, + { 92, 80, 1, 16, 49, 0 }, { 93, 80, 1, 16, 49, 0 }, { 94, 80, 1, 16, 49, 0 }, { 95, 80, 1, 16, 49, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B8721 = { - 115, { - { 0, 16, 16, 16, 49, 0 }, { 1, 16, 16, 16, 49, 0 }, { 2, 16, 16, 16, 49, 0 }, { 3, 16, 16, 16, 49, 0 }, { 4, 16, 16, 16, 49, 0 }, - { 5, 16, 16, 16, 49, 0 }, { 6, 16, 16, 16, 49, 0 }, { 7, 16, 16, 16, 49, 0 }, { 8, 16, 15, 17, 49, 0 }, { 9, 15, 15, 17, 49, 0 }, - { 10, 15, 15, 17, 49, 0 }, { 11, 15, 15, 17, 49, 0 }, { 12, 15, 15, 17, 49, 0 }, { 13, 15, 15, 17, 49, 0 }, { 14, 15, 15, 17, 49, 0 }, - { 15, 14, 14, 17, 49, 0 }, { 16, 14, 14, 17, 49, 0 }, { 17, 14, 14, 17, 49, 0 }, { 18, 14, 14, 17, 49, 0 }, { 19, 14, 14, 17, 49, 0 }, - { 20, 13, 14, 17, 49, 0 }, { 21, 13, 14, 17, 49, 0 }, { 22, 13, 13, 18, 49, 0 }, { 23, 13, 13, 18, 49, 0 }, { 24, 12, 13, 18, 49, 0 }, - { 25, 12, 13, 18, 49, 0 }, { 26, 12, 13, 18, 49, 0 }, { 27, 11, 13, 18, 49, 0 }, { 28, 11, 13, 18, 49, 0 }, { 29, 11, 12, 18, 49, 0 }, - { 30, 10, 12, 18, 49, 0 }, { 31, 10, 12, 18, 49, 0 }, { 32, 9, 12, 18, 49, 0 }, { 33, 9, 12, 18, 49, 0 }, { 34, 8, 12, 18, 49, 0 }, - { 35, 8, 12, 18, 49, 0 }, { 36, 7, 11, 18, 49, 0 }, { 37, 7, 11, 19, 49, 0 }, { 38, 6, 11, 19, 49, 0 }, { 39, 6, 11, 19, 49, 0 }, - { 40, 5, 11, 19, 49, 0 }, { 41, 4, 11, 19, 49, 0 }, { 42, 4, 11, 19, 49, 0 }, { 43, 3, 11, 19, 49, 0 }, { 44, 2, 10, 19, 49, 0 }, - { 45, 2, 10, 19, 49, 0 }, { 46, 1, 10, 19, 49, 0 }, { 47, 0, 10, 19, 49, 0 }, { 48, 0, 10, 19, 49, 0 }, { 49, -1, 10, 19, 49, 0 }, - { 50, -2, 10, 20, 49, 0 }, { 51, -3, 9, 20, 49, 0 }, { 52, -3, 9, 20, 49, 0 }, { 53, -4, 9, 20, 49, 0 }, { 54, -5, 9, 20, 49, 0 }, - { 55, -6, 9, 20, 49, 0 }, { 56, -7, 9, 20, 49, 0 }, { 57, -7, 9, 20, 49, 0 }, { 58, -8, 8, 20, 49, 0 }, { 59, -9, 8, 20, 49, 0 }, - { 60, -10, 8, 20, 49, 0 }, { 61, -11, 8, 20, 49, 0 }, { 61, -12, 8, 20, 49, 0 }, { 62, -13, 8, 21, 49, 0 }, { 63, -14, 8, 21, 49, 0 }, - { 64, -15, 7, 21, 49, 0 }, { 64, -16, 7, 21, 49, 0 }, { 65, -17, 7, 21, 49, 0 }, { 66, -18, 7, 21, 49, 0 }, { 66, -19, 7, 21, 49, 0 }, - { 67, -20, 7, 21, 49, 0 }, { 68, -21, 7, 21, 49, 0 }, { 68, -22, 6, 21, 49, 0 }, { 69, -23, 6, 21, 49, 0 }, { 70, -24, 6, 21, 49, 0 }, - { 70, -25, 6, 21, 49, 0 }, { 71, -26, 6, 22, 49, 0 }, { 71, -27, 6, 22, 49, 0 }, { 72, -28, 6, 22, 49, 0 }, { 72, -29, 6, 22, 49, 0 }, - { 73, -30, 5, 22, 49, 0 }, { 73, -31, 5, 22, 49, 0 }, { 74, -32, 5, 22, 49, 0 }, { 74, -33, 5, 22, 49, 0 }, { 75, -34, 5, 22, 49, 0 }, - { 75, -35, 5, 22, 49, 0 }, { 75, -36, 5, 22, 49, 0 }, { 76, -37, 4, 22, 49, 0 }, { 76, -38, 4, 22, 49, 0 }, { 76, -39, 4, 22, 49, 0 }, - { 77, -40, 4, 23, 49, 0 }, { 77, -41, 4, 23, 49, 0 }, { 77, -42, 4, 23, 49, 0 }, { 77, -43, 4, 23, 49, 0 }, { 78, -44, 3, 23, 49, 0 }, - { 78, -45, 3, 23, 49, 0 }, { 78, -46, 3, 23, 49, 0 }, { 78, -47, 3, 23, 49, 0 }, { 78, -48, 3, 23, 49, 0 }, { 79, -49, 3, 23, 49, 0 }, - { 79, -50, 3, 23, 49, 0 }, { 79, -51, 2, 23, 49, 0 }, { 79, -52, 2, 23, 49, 0 }, { 79, -53, 2, 23, 49, 0 }, { 79, -54, 2, 23, 49, 0 }, - { 80, -55, 2, 23, 49, 0 }, { 80, -56, 2, 24, 49, 0 }, { 80, -57, 2, 24, 49, 0 }, { 80, -58, 1, 24, 49, 0 }, { 80, -59, 1, 24, 49, 0 }, - { 80, -60, 1, 24, 49, 0 }, { 80, -61, 1, 24, 49, 0 }, { 80, -62, 1, 24, 49, 0 }, { 80, -63, 1, 24, 49, 0 }, { 80, -64, 1, 24, 49, 0 }, + 115, { + { 0, 16, 16, 16, 49, 0 }, { 1, 16, 16, 16, 49, 0 }, { 2, 16, 16, 16, 49, 0 }, { 3, 16, 16, 16, 49, 0 }, { 4, 16, 16, 16, 49, 0 }, + { 5, 16, 16, 16, 49, 0 }, { 6, 16, 16, 16, 49, 0 }, { 7, 16, 16, 16, 49, 0 }, { 8, 16, 15, 17, 49, 0 }, { 9, 15, 15, 17, 49, 0 }, + { 10, 15, 15, 17, 49, 0 }, { 11, 15, 15, 17, 49, 0 }, { 12, 15, 15, 17, 49, 0 }, { 13, 15, 15, 17, 49, 0 }, { 14, 15, 15, 17, 49, 0 }, + { 15, 14, 14, 17, 49, 0 }, { 16, 14, 14, 17, 49, 0 }, { 17, 14, 14, 17, 49, 0 }, { 18, 14, 14, 17, 49, 0 }, { 19, 14, 14, 17, 49, 0 }, + { 20, 13, 14, 17, 49, 0 }, { 21, 13, 14, 17, 49, 0 }, { 22, 13, 13, 18, 49, 0 }, { 23, 13, 13, 18, 49, 0 }, { 24, 12, 13, 18, 49, 0 }, + { 25, 12, 13, 18, 49, 0 }, { 26, 12, 13, 18, 49, 0 }, { 27, 11, 13, 18, 49, 0 }, { 28, 11, 13, 18, 49, 0 }, { 29, 11, 12, 18, 49, 0 }, + { 30, 10, 12, 18, 49, 0 }, { 31, 10, 12, 18, 49, 0 }, { 32, 9, 12, 18, 49, 0 }, { 33, 9, 12, 18, 49, 0 }, { 34, 8, 12, 18, 49, 0 }, + { 35, 8, 12, 18, 49, 0 }, { 36, 7, 11, 18, 49, 0 }, { 37, 7, 11, 19, 49, 0 }, { 38, 6, 11, 19, 49, 0 }, { 39, 6, 11, 19, 49, 0 }, + { 40, 5, 11, 19, 49, 0 }, { 41, 4, 11, 19, 49, 0 }, { 42, 4, 11, 19, 49, 0 }, { 43, 3, 11, 19, 49, 0 }, { 44, 2, 10, 19, 49, 0 }, + { 45, 2, 10, 19, 49, 0 }, { 46, 1, 10, 19, 49, 0 }, { 47, 0, 10, 19, 49, 0 }, { 48, 0, 10, 19, 49, 0 }, { 49, -1, 10, 19, 49, 0 }, + { 50, -2, 10, 20, 49, 0 }, { 51, -3, 9, 20, 49, 0 }, { 52, -3, 9, 20, 49, 0 }, { 53, -4, 9, 20, 49, 0 }, { 54, -5, 9, 20, 49, 0 }, + { 55, -6, 9, 20, 49, 0 }, { 56, -7, 9, 20, 49, 0 }, { 57, -7, 9, 20, 49, 0 }, { 58, -8, 8, 20, 49, 0 }, { 59, -9, 8, 20, 49, 0 }, + { 60, -10, 8, 20, 49, 0 }, { 61, -11, 8, 20, 49, 0 }, { 61, -12, 8, 20, 49, 0 }, { 62, -13, 8, 21, 49, 0 }, { 63, -14, 8, 21, 49, 0 }, + { 64, -15, 7, 21, 49, 0 }, { 64, -16, 7, 21, 49, 0 }, { 65, -17, 7, 21, 49, 0 }, { 66, -18, 7, 21, 49, 0 }, { 66, -19, 7, 21, 49, 0 }, + { 67, -20, 7, 21, 49, 0 }, { 68, -21, 7, 21, 49, 0 }, { 68, -22, 6, 21, 49, 0 }, { 69, -23, 6, 21, 49, 0 }, { 70, -24, 6, 21, 49, 0 }, + { 70, -25, 6, 21, 49, 0 }, { 71, -26, 6, 22, 49, 0 }, { 71, -27, 6, 22, 49, 0 }, { 72, -28, 6, 22, 49, 0 }, { 72, -29, 6, 22, 49, 0 }, + { 73, -30, 5, 22, 49, 0 }, { 73, -31, 5, 22, 49, 0 }, { 74, -32, 5, 22, 49, 0 }, { 74, -33, 5, 22, 49, 0 }, { 75, -34, 5, 22, 49, 0 }, + { 75, -35, 5, 22, 49, 0 }, { 75, -36, 5, 22, 49, 0 }, { 76, -37, 4, 22, 49, 0 }, { 76, -38, 4, 22, 49, 0 }, { 76, -39, 4, 22, 49, 0 }, + { 77, -40, 4, 23, 49, 0 }, { 77, -41, 4, 23, 49, 0 }, { 77, -42, 4, 23, 49, 0 }, { 77, -43, 4, 23, 49, 0 }, { 78, -44, 3, 23, 49, 0 }, + { 78, -45, 3, 23, 49, 0 }, { 78, -46, 3, 23, 49, 0 }, { 78, -47, 3, 23, 49, 0 }, { 78, -48, 3, 23, 49, 0 }, { 79, -49, 3, 23, 49, 0 }, + { 79, -50, 3, 23, 49, 0 }, { 79, -51, 2, 23, 49, 0 }, { 79, -52, 2, 23, 49, 0 }, { 79, -53, 2, 23, 49, 0 }, { 79, -54, 2, 23, 49, 0 }, + { 80, -55, 2, 23, 49, 0 }, { 80, -56, 2, 24, 49, 0 }, { 80, -57, 2, 24, 49, 0 }, { 80, -58, 1, 24, 49, 0 }, { 80, -59, 1, 24, 49, 0 }, + { 80, -60, 1, 24, 49, 0 }, { 80, -61, 1, 24, 49, 0 }, { 80, -62, 1, 24, 49, 0 }, { 80, -63, 1, 24, 49, 0 }, { 80, -64, 1, 24, 49, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8B8B2E = { - 114, { - { 16, 31, 16, 24, 49, 0 }, { 16, 30, 16, 24, 49, 0 }, { 16, 29, 16, 24, 49, 0 }, { 16, 28, 16, 24, 49, 0 }, { 16, 27, 16, 24, 49, 0 }, - { 16, 26, 16, 24, 49, 0 }, { 16, 25, 16, 24, 49, 0 }, { 16, 24, 15, 25, 49, 0 }, { 15, 23, 15, 25, 49, 0 }, { 15, 22, 15, 25, 49, 0 }, - { 15, 21, 15, 25, 49, 0 }, { 15, 20, 15, 25, 49, 0 }, { 15, 19, 15, 25, 49, 0 }, { 15, 18, 15, 25, 49, 0 }, { 14, 17, 14, 25, 49, 0 }, - { 14, 16, 14, 25, 49, 0 }, { 14, 15, 14, 25, 49, 0 }, { 14, 14, 14, 25, 49, 0 }, { 14, 13, 14, 25, 49, 0 }, { 13, 12, 14, 25, 49, 0 }, - { 13, 11, 14, 25, 49, 0 }, { 13, 10, 13, 26, 49, 0 }, { 13, 9, 13, 26, 49, 0 }, { 12, 8, 13, 26, 49, 0 }, { 12, 7, 13, 26, 49, 0 }, - { 12, 6, 13, 26, 49, 0 }, { 11, 5, 13, 26, 49, 0 }, { 11, 4, 13, 26, 49, 0 }, { 11, 3, 12, 26, 49, 0 }, { 10, 2, 12, 26, 49, 0 }, - { 10, 1, 12, 26, 49, 0 }, { 9, 0, 12, 26, 49, 0 }, { 9, -1, 12, 26, 49, 0 }, { 8, -2, 12, 26, 49, 0 }, { 8, -3, 12, 26, 49, 0 }, - { 7, -4, 11, 26, 49, 0 }, { 7, -5, 11, 27, 49, 0 }, { 6, -6, 11, 27, 49, 0 }, { 6, -7, 11, 27, 49, 0 }, { 5, -8, 11, 27, 49, 0 }, - { 4, -9, 11, 27, 49, 0 }, { 4, -10, 11, 27, 49, 0 }, { 3, -11, 10, 27, 49, 0 }, { 2, -12, 10, 27, 49, 0 }, { 2, -13, 10, 27, 49, 0 }, - { 1, -14, 10, 27, 49, 0 }, { 0, -15, 10, 27, 49, 0 }, { 0, -16, 10, 27, 49, 0 }, { -1, -17, 10, 27, 49, 0 }, { -2, -18, 9, 28, 49, 0 }, - { -3, -19, 9, 28, 49, 0 }, { -3, -20, 9, 28, 49, 0 }, { -4, -21, 9, 28, 49, 0 }, { -5, -22, 9, 28, 49, 0 }, { -6, -23, 9, 28, 49, 0 }, - { -7, -24, 9, 28, 49, 0 }, { -7, -25, 8, 28, 49, 0 }, { -8, -26, 8, 28, 49, 0 }, { -9, -27, 8, 28, 49, 0 }, { -10, -28, 8, 28, 49, 0 }, - { -11, -29, 8, 28, 49, 0 }, { -12, -29, 8, 28, 49, 0 }, { -13, -30, 8, 29, 49, 0 }, { -14, -31, 8, 29, 49, 0 }, { -15, -32, 7, 29, 49, 0 }, - { -16, -32, 7, 29, 49, 0 }, { -17, -33, 7, 29, 49, 0 }, { -18, -34, 7, 29, 49, 0 }, { -19, -34, 7, 29, 49, 0 }, { -20, -35, 7, 29, 49, 0 }, - { -21, -36, 7, 29, 49, 0 }, { -22, -36, 6, 29, 49, 0 }, { -23, -37, 6, 29, 49, 0 }, { -24, -38, 6, 29, 49, 0 }, { -25, -38, 6, 29, 49, 0 }, - { -26, -39, 6, 30, 49, 0 }, { -27, -39, 6, 30, 49, 0 }, { -28, -40, 6, 30, 49, 0 }, { -29, -40, 5, 30, 49, 0 }, { -30, -41, 5, 30, 49, 0 }, - { -31, -41, 5, 30, 49, 0 }, { -32, -42, 5, 30, 49, 0 }, { -33, -42, 5, 30, 49, 0 }, { -34, -43, 5, 30, 49, 0 }, { -35, -43, 5, 30, 49, 0 }, - { -36, -43, 4, 30, 49, 0 }, { -37, -44, 4, 30, 49, 0 }, { -38, -44, 4, 30, 49, 0 }, { -39, -44, 4, 30, 49, 0 }, { -40, -45, 4, 31, 49, 0 }, - { -41, -45, 4, 31, 49, 0 }, { -42, -45, 4, 31, 49, 0 }, { -43, -45, 3, 31, 49, 0 }, { -44, -46, 3, 31, 49, 0 }, { -45, -46, 3, 31, 49, 0 }, - { -46, -46, 3, 31, 49, 0 }, { -47, -46, 3, 31, 49, 0 }, { -48, -46, 3, 31, 49, 0 }, { -49, -47, 3, 31, 49, 0 }, { -50, -47, 2, 31, 49, 0 }, - { -51, -47, 2, 31, 49, 0 }, { -52, -47, 2, 31, 49, 0 }, { -53, -47, 2, 31, 49, 0 }, { -54, -47, 2, 31, 49, 0 }, { -55, -48, 2, 31, 49, 0 }, - { -56, -48, 2, 0, 49, 0 }, { -57, -48, 1, 0, 49, 0 }, { -58, -48, 1, 0, 49, 0 }, { -59, -48, 1, 0, 49, 0 }, { -60, -48, 1, 0, 49, 0 }, - { -61, -48, 1, 0, 49, 0 }, { -62, -48, 1, 0, 49, 0 }, { -63, -48, 1, 0, 49, 0 }, { -64, -48, 0, 0, 49, 0 }, + 114, { + { 16, 31, 16, 24, 49, 0 }, { 16, 30, 16, 24, 49, 0 }, { 16, 29, 16, 24, 49, 0 }, { 16, 28, 16, 24, 49, 0 }, { 16, 27, 16, 24, 49, 0 }, + { 16, 26, 16, 24, 49, 0 }, { 16, 25, 16, 24, 49, 0 }, { 16, 24, 15, 25, 49, 0 }, { 15, 23, 15, 25, 49, 0 }, { 15, 22, 15, 25, 49, 0 }, + { 15, 21, 15, 25, 49, 0 }, { 15, 20, 15, 25, 49, 0 }, { 15, 19, 15, 25, 49, 0 }, { 15, 18, 15, 25, 49, 0 }, { 14, 17, 14, 25, 49, 0 }, + { 14, 16, 14, 25, 49, 0 }, { 14, 15, 14, 25, 49, 0 }, { 14, 14, 14, 25, 49, 0 }, { 14, 13, 14, 25, 49, 0 }, { 13, 12, 14, 25, 49, 0 }, + { 13, 11, 14, 25, 49, 0 }, { 13, 10, 13, 26, 49, 0 }, { 13, 9, 13, 26, 49, 0 }, { 12, 8, 13, 26, 49, 0 }, { 12, 7, 13, 26, 49, 0 }, + { 12, 6, 13, 26, 49, 0 }, { 11, 5, 13, 26, 49, 0 }, { 11, 4, 13, 26, 49, 0 }, { 11, 3, 12, 26, 49, 0 }, { 10, 2, 12, 26, 49, 0 }, + { 10, 1, 12, 26, 49, 0 }, { 9, 0, 12, 26, 49, 0 }, { 9, -1, 12, 26, 49, 0 }, { 8, -2, 12, 26, 49, 0 }, { 8, -3, 12, 26, 49, 0 }, + { 7, -4, 11, 26, 49, 0 }, { 7, -5, 11, 27, 49, 0 }, { 6, -6, 11, 27, 49, 0 }, { 6, -7, 11, 27, 49, 0 }, { 5, -8, 11, 27, 49, 0 }, + { 4, -9, 11, 27, 49, 0 }, { 4, -10, 11, 27, 49, 0 }, { 3, -11, 10, 27, 49, 0 }, { 2, -12, 10, 27, 49, 0 }, { 2, -13, 10, 27, 49, 0 }, + { 1, -14, 10, 27, 49, 0 }, { 0, -15, 10, 27, 49, 0 }, { 0, -16, 10, 27, 49, 0 }, { -1, -17, 10, 27, 49, 0 }, { -2, -18, 9, 28, 49, 0 }, + { -3, -19, 9, 28, 49, 0 }, { -3, -20, 9, 28, 49, 0 }, { -4, -21, 9, 28, 49, 0 }, { -5, -22, 9, 28, 49, 0 }, { -6, -23, 9, 28, 49, 0 }, + { -7, -24, 9, 28, 49, 0 }, { -7, -25, 8, 28, 49, 0 }, { -8, -26, 8, 28, 49, 0 }, { -9, -27, 8, 28, 49, 0 }, { -10, -28, 8, 28, 49, 0 }, + { -11, -29, 8, 28, 49, 0 }, { -12, -29, 8, 28, 49, 0 }, { -13, -30, 8, 29, 49, 0 }, { -14, -31, 8, 29, 49, 0 }, { -15, -32, 7, 29, 49, 0 }, + { -16, -32, 7, 29, 49, 0 }, { -17, -33, 7, 29, 49, 0 }, { -18, -34, 7, 29, 49, 0 }, { -19, -34, 7, 29, 49, 0 }, { -20, -35, 7, 29, 49, 0 }, + { -21, -36, 7, 29, 49, 0 }, { -22, -36, 6, 29, 49, 0 }, { -23, -37, 6, 29, 49, 0 }, { -24, -38, 6, 29, 49, 0 }, { -25, -38, 6, 29, 49, 0 }, + { -26, -39, 6, 30, 49, 0 }, { -27, -39, 6, 30, 49, 0 }, { -28, -40, 6, 30, 49, 0 }, { -29, -40, 5, 30, 49, 0 }, { -30, -41, 5, 30, 49, 0 }, + { -31, -41, 5, 30, 49, 0 }, { -32, -42, 5, 30, 49, 0 }, { -33, -42, 5, 30, 49, 0 }, { -34, -43, 5, 30, 49, 0 }, { -35, -43, 5, 30, 49, 0 }, + { -36, -43, 4, 30, 49, 0 }, { -37, -44, 4, 30, 49, 0 }, { -38, -44, 4, 30, 49, 0 }, { -39, -44, 4, 30, 49, 0 }, { -40, -45, 4, 31, 49, 0 }, + { -41, -45, 4, 31, 49, 0 }, { -42, -45, 4, 31, 49, 0 }, { -43, -45, 3, 31, 49, 0 }, { -44, -46, 3, 31, 49, 0 }, { -45, -46, 3, 31, 49, 0 }, + { -46, -46, 3, 31, 49, 0 }, { -47, -46, 3, 31, 49, 0 }, { -48, -46, 3, 31, 49, 0 }, { -49, -47, 3, 31, 49, 0 }, { -50, -47, 2, 31, 49, 0 }, + { -51, -47, 2, 31, 49, 0 }, { -52, -47, 2, 31, 49, 0 }, { -53, -47, 2, 31, 49, 0 }, { -54, -47, 2, 31, 49, 0 }, { -55, -48, 2, 31, 49, 0 }, + { -56, -48, 2, 0, 49, 0 }, { -57, -48, 1, 0, 49, 0 }, { -58, -48, 1, 0, 49, 0 }, { -59, -48, 1, 0, 49, 0 }, { -60, -48, 1, 0, 49, 0 }, + { -61, -48, 1, 0, 49, 0 }, { -62, -48, 1, 0, 49, 0 }, { -63, -48, 1, 0, 49, 0 }, { -64, -48, 0, 0, 49, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_968C6E = { - 32, { - { 31, 16, 0, 0, 2, 2 }, { 30, 16, 1, 0, 2, 2 }, { 29, 16, 1, 0, 2, 2 }, { 28, 16, 2, 0, 2, 2 }, { 27, 16, 2, 0, 2, 2 }, - { 26, 16, 3, 0, 2, 2 }, { 25, 16, 3, 0, 2, 2 }, { 24, 16, 4, 0, 2, 2 }, { 23, 16, 4, 0, 2, 2 }, { 22, 16, 5, 0, 2, 2 }, - { 21, 16, 5, 0, 2, 2 }, { 20, 16, 6, 0, 2, 2 }, { 19, 16, 6, 0, 2, 2 }, { 18, 16, 7, 0, 2, 2 }, { 17, 16, 7, 0, 2, 2 }, - { 16, 16, 8, 0, 2, 2 }, { 15, 16, 8, 0, 2, 2 }, { 14, 16, 9, 0, 2, 2 }, { 13, 16, 9, 0, 2, 2 }, { 12, 16, 10, 0, 2, 2 }, - { 11, 16, 10, 0, 2, 2 }, { 10, 16, 11, 0, 2, 2 }, { 9, 16, 11, 0, 2, 2 }, { 8, 16, 12, 0, 2, 2 }, { 7, 16, 12, 0, 2, 2 }, - { 6, 16, 13, 0, 2, 2 }, { 5, 16, 13, 0, 2, 2 }, { 4, 16, 14, 0, 2, 2 }, { 3, 16, 14, 0, 2, 2 }, { 2, 16, 15, 0, 2, 2 }, - { 1, 16, 15, 0, 2, 2 }, { 0, 16, 16, 0, 2, 2 }, + 32, { + { 31, 16, 0, 0, 2, 2 }, { 30, 16, 1, 0, 2, 2 }, { 29, 16, 1, 0, 2, 2 }, { 28, 16, 2, 0, 2, 2 }, { 27, 16, 2, 0, 2, 2 }, + { 26, 16, 3, 0, 2, 2 }, { 25, 16, 3, 0, 2, 2 }, { 24, 16, 4, 0, 2, 2 }, { 23, 16, 4, 0, 2, 2 }, { 22, 16, 5, 0, 2, 2 }, + { 21, 16, 5, 0, 2, 2 }, { 20, 16, 6, 0, 2, 2 }, { 19, 16, 6, 0, 2, 2 }, { 18, 16, 7, 0, 2, 2 }, { 17, 16, 7, 0, 2, 2 }, + { 16, 16, 8, 0, 2, 2 }, { 15, 16, 8, 0, 2, 2 }, { 14, 16, 9, 0, 2, 2 }, { 13, 16, 9, 0, 2, 2 }, { 12, 16, 10, 0, 2, 2 }, + { 11, 16, 10, 0, 2, 2 }, { 10, 16, 11, 0, 2, 2 }, { 9, 16, 11, 0, 2, 2 }, { 8, 16, 12, 0, 2, 2 }, { 7, 16, 12, 0, 2, 2 }, + { 6, 16, 13, 0, 2, 2 }, { 5, 16, 13, 0, 2, 2 }, { 4, 16, 14, 0, 2, 2 }, { 3, 16, 14, 0, 2, 2 }, { 2, 16, 15, 0, 2, 2 }, + { 1, 16, 15, 0, 2, 2 }, { 0, 16, 16, 0, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_968D90 = { - 32, { - { 16, 0, 0, 8, 2, 2 }, { 16, 1, 0, 8, 2, 2 }, { 16, 2, 1, 8, 2, 2 }, { 16, 3, 1, 8, 2, 2 }, { 16, 4, 2, 8, 2, 2 }, - { 16, 5, 2, 8, 2, 2 }, { 16, 6, 3, 8, 2, 2 }, { 16, 7, 3, 8, 2, 2 }, { 16, 8, 4, 8, 2, 2 }, { 16, 9, 4, 8, 2, 2 }, - { 16, 10, 5, 8, 2, 2 }, { 16, 11, 5, 8, 2, 2 }, { 16, 12, 6, 8, 2, 2 }, { 16, 13, 6, 8, 2, 2 }, { 16, 14, 7, 8, 2, 2 }, - { 16, 15, 7, 8, 2, 2 }, { 16, 16, 8, 8, 2, 2 }, { 16, 17, 8, 8, 2, 2 }, { 16, 18, 9, 8, 2, 2 }, { 16, 19, 9, 8, 2, 2 }, - { 16, 20, 10, 8, 2, 2 }, { 16, 21, 10, 8, 2, 2 }, { 16, 22, 11, 8, 2, 2 }, { 16, 23, 11, 8, 2, 2 }, { 16, 24, 12, 8, 2, 2 }, - { 16, 25, 12, 8, 2, 2 }, { 16, 26, 13, 8, 2, 2 }, { 16, 27, 13, 8, 2, 2 }, { 16, 28, 14, 8, 2, 2 }, { 16, 29, 14, 8, 2, 2 }, - { 16, 30, 15, 8, 2, 2 }, { 16, 31, 15, 8, 2, 2 }, + 32, { + { 16, 0, 0, 8, 2, 2 }, { 16, 1, 0, 8, 2, 2 }, { 16, 2, 1, 8, 2, 2 }, { 16, 3, 1, 8, 2, 2 }, { 16, 4, 2, 8, 2, 2 }, + { 16, 5, 2, 8, 2, 2 }, { 16, 6, 3, 8, 2, 2 }, { 16, 7, 3, 8, 2, 2 }, { 16, 8, 4, 8, 2, 2 }, { 16, 9, 4, 8, 2, 2 }, + { 16, 10, 5, 8, 2, 2 }, { 16, 11, 5, 8, 2, 2 }, { 16, 12, 6, 8, 2, 2 }, { 16, 13, 6, 8, 2, 2 }, { 16, 14, 7, 8, 2, 2 }, + { 16, 15, 7, 8, 2, 2 }, { 16, 16, 8, 8, 2, 2 }, { 16, 17, 8, 8, 2, 2 }, { 16, 18, 9, 8, 2, 2 }, { 16, 19, 9, 8, 2, 2 }, + { 16, 20, 10, 8, 2, 2 }, { 16, 21, 10, 8, 2, 2 }, { 16, 22, 11, 8, 2, 2 }, { 16, 23, 11, 8, 2, 2 }, { 16, 24, 12, 8, 2, 2 }, + { 16, 25, 12, 8, 2, 2 }, { 16, 26, 13, 8, 2, 2 }, { 16, 27, 13, 8, 2, 2 }, { 16, 28, 14, 8, 2, 2 }, { 16, 29, 14, 8, 2, 2 }, + { 16, 30, 15, 8, 2, 2 }, { 16, 31, 15, 8, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_968EB2 = { - 32, { - { 0, 16, 0, 16, 2, 2 }, { 1, 16, 0, 16, 2, 2 }, { 2, 16, 1, 16, 2, 2 }, { 3, 16, 1, 16, 2, 2 }, { 4, 16, 2, 16, 2, 2 }, - { 5, 16, 2, 16, 2, 2 }, { 6, 16, 3, 16, 2, 2 }, { 7, 16, 3, 16, 2, 2 }, { 8, 16, 4, 16, 2, 2 }, { 9, 16, 4, 16, 2, 2 }, - { 10, 16, 5, 16, 2, 2 }, { 11, 16, 5, 16, 2, 2 }, { 12, 16, 6, 16, 2, 2 }, { 13, 16, 6, 16, 2, 2 }, { 14, 16, 7, 16, 2, 2 }, - { 15, 16, 7, 16, 2, 2 }, { 16, 16, 8, 16, 2, 2 }, { 17, 16, 8, 16, 2, 2 }, { 18, 16, 9, 16, 2, 2 }, { 19, 16, 9, 16, 2, 2 }, - { 20, 16, 10, 16, 2, 2 }, { 21, 16, 10, 16, 2, 2 }, { 22, 16, 11, 16, 2, 2 }, { 23, 16, 11, 16, 2, 2 }, { 24, 16, 12, 16, 2, 2 }, - { 25, 16, 12, 16, 2, 2 }, { 26, 16, 13, 16, 2, 2 }, { 27, 16, 13, 16, 2, 2 }, { 28, 16, 14, 16, 2, 2 }, { 29, 16, 14, 16, 2, 2 }, - { 30, 16, 15, 16, 2, 2 }, { 31, 16, 15, 16, 2, 2 }, + 32, { + { 0, 16, 0, 16, 2, 2 }, { 1, 16, 0, 16, 2, 2 }, { 2, 16, 1, 16, 2, 2 }, { 3, 16, 1, 16, 2, 2 }, { 4, 16, 2, 16, 2, 2 }, + { 5, 16, 2, 16, 2, 2 }, { 6, 16, 3, 16, 2, 2 }, { 7, 16, 3, 16, 2, 2 }, { 8, 16, 4, 16, 2, 2 }, { 9, 16, 4, 16, 2, 2 }, + { 10, 16, 5, 16, 2, 2 }, { 11, 16, 5, 16, 2, 2 }, { 12, 16, 6, 16, 2, 2 }, { 13, 16, 6, 16, 2, 2 }, { 14, 16, 7, 16, 2, 2 }, + { 15, 16, 7, 16, 2, 2 }, { 16, 16, 8, 16, 2, 2 }, { 17, 16, 8, 16, 2, 2 }, { 18, 16, 9, 16, 2, 2 }, { 19, 16, 9, 16, 2, 2 }, + { 20, 16, 10, 16, 2, 2 }, { 21, 16, 10, 16, 2, 2 }, { 22, 16, 11, 16, 2, 2 }, { 23, 16, 11, 16, 2, 2 }, { 24, 16, 12, 16, 2, 2 }, + { 25, 16, 12, 16, 2, 2 }, { 26, 16, 13, 16, 2, 2 }, { 27, 16, 13, 16, 2, 2 }, { 28, 16, 14, 16, 2, 2 }, { 29, 16, 14, 16, 2, 2 }, + { 30, 16, 15, 16, 2, 2 }, { 31, 16, 15, 16, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_968FD4 = { - 32, { - { 16, 31, 0, 24, 2, 2 }, { 16, 30, 1, 24, 2, 2 }, { 16, 29, 1, 24, 2, 2 }, { 16, 28, 2, 24, 2, 2 }, { 16, 27, 2, 24, 2, 2 }, - { 16, 26, 3, 24, 2, 2 }, { 16, 25, 3, 24, 2, 2 }, { 16, 24, 4, 24, 2, 2 }, { 16, 23, 4, 24, 2, 2 }, { 16, 22, 5, 24, 2, 2 }, - { 16, 21, 5, 24, 2, 2 }, { 16, 20, 6, 24, 2, 2 }, { 16, 19, 6, 24, 2, 2 }, { 16, 18, 7, 24, 2, 2 }, { 16, 17, 7, 24, 2, 2 }, - { 16, 16, 8, 24, 2, 2 }, { 16, 15, 8, 24, 2, 2 }, { 16, 14, 9, 24, 2, 2 }, { 16, 13, 9, 24, 2, 2 }, { 16, 12, 10, 24, 2, 2 }, - { 16, 11, 10, 24, 2, 2 }, { 16, 10, 11, 24, 2, 2 }, { 16, 9, 11, 24, 2, 2 }, { 16, 8, 12, 24, 2, 2 }, { 16, 7, 12, 24, 2, 2 }, - { 16, 6, 13, 24, 2, 2 }, { 16, 5, 13, 24, 2, 2 }, { 16, 4, 14, 24, 2, 2 }, { 16, 3, 14, 24, 2, 2 }, { 16, 2, 15, 24, 2, 2 }, - { 16, 1, 15, 24, 2, 2 }, { 16, 0, 16, 24, 2, 2 }, + 32, { + { 16, 31, 0, 24, 2, 2 }, { 16, 30, 1, 24, 2, 2 }, { 16, 29, 1, 24, 2, 2 }, { 16, 28, 2, 24, 2, 2 }, { 16, 27, 2, 24, 2, 2 }, + { 16, 26, 3, 24, 2, 2 }, { 16, 25, 3, 24, 2, 2 }, { 16, 24, 4, 24, 2, 2 }, { 16, 23, 4, 24, 2, 2 }, { 16, 22, 5, 24, 2, 2 }, + { 16, 21, 5, 24, 2, 2 }, { 16, 20, 6, 24, 2, 2 }, { 16, 19, 6, 24, 2, 2 }, { 16, 18, 7, 24, 2, 2 }, { 16, 17, 7, 24, 2, 2 }, + { 16, 16, 8, 24, 2, 2 }, { 16, 15, 8, 24, 2, 2 }, { 16, 14, 9, 24, 2, 2 }, { 16, 13, 9, 24, 2, 2 }, { 16, 12, 10, 24, 2, 2 }, + { 16, 11, 10, 24, 2, 2 }, { 16, 10, 11, 24, 2, 2 }, { 16, 9, 11, 24, 2, 2 }, { 16, 8, 12, 24, 2, 2 }, { 16, 7, 12, 24, 2, 2 }, + { 16, 6, 13, 24, 2, 2 }, { 16, 5, 13, 24, 2, 2 }, { 16, 4, 14, 24, 2, 2 }, { 16, 3, 14, 24, 2, 2 }, { 16, 2, 15, 24, 2, 2 }, + { 16, 1, 15, 24, 2, 2 }, { 16, 0, 16, 24, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96957E = { - 32, { - { 31, 16, 0, 0, 2, 4 }, { 30, 16, 1, 0, 2, 4 }, { 29, 16, 1, 0, 2, 4 }, { 28, 16, 2, 0, 2, 4 }, { 27, 16, 2, 0, 2, 4 }, - { 26, 16, 3, 0, 2, 4 }, { 25, 16, 3, 0, 2, 4 }, { 24, 16, 4, 0, 2, 4 }, { 23, 16, 4, 0, 2, 4 }, { 22, 16, 5, 0, 2, 4 }, - { 21, 16, 5, 0, 2, 4 }, { 20, 16, 6, 0, 2, 4 }, { 19, 16, 6, 0, 2, 4 }, { 18, 16, 7, 0, 2, 4 }, { 17, 16, 7, 0, 2, 4 }, - { 16, 16, 8, 0, 2, 4 }, { 15, 16, 8, 0, 2, 4 }, { 14, 16, 9, 0, 2, 4 }, { 13, 16, 9, 0, 2, 4 }, { 12, 16, 10, 0, 2, 4 }, - { 11, 16, 10, 0, 2, 4 }, { 10, 16, 11, 0, 2, 4 }, { 9, 16, 11, 0, 2, 4 }, { 8, 16, 12, 0, 2, 4 }, { 7, 16, 12, 0, 2, 4 }, - { 6, 16, 13, 0, 2, 4 }, { 5, 16, 13, 0, 2, 4 }, { 4, 16, 14, 0, 2, 4 }, { 3, 16, 14, 0, 2, 4 }, { 2, 16, 15, 0, 2, 4 }, - { 1, 16, 15, 0, 2, 4 }, { 0, 16, 16, 0, 2, 4 }, + 32, { + { 31, 16, 0, 0, 2, 4 }, { 30, 16, 1, 0, 2, 4 }, { 29, 16, 1, 0, 2, 4 }, { 28, 16, 2, 0, 2, 4 }, { 27, 16, 2, 0, 2, 4 }, + { 26, 16, 3, 0, 2, 4 }, { 25, 16, 3, 0, 2, 4 }, { 24, 16, 4, 0, 2, 4 }, { 23, 16, 4, 0, 2, 4 }, { 22, 16, 5, 0, 2, 4 }, + { 21, 16, 5, 0, 2, 4 }, { 20, 16, 6, 0, 2, 4 }, { 19, 16, 6, 0, 2, 4 }, { 18, 16, 7, 0, 2, 4 }, { 17, 16, 7, 0, 2, 4 }, + { 16, 16, 8, 0, 2, 4 }, { 15, 16, 8, 0, 2, 4 }, { 14, 16, 9, 0, 2, 4 }, { 13, 16, 9, 0, 2, 4 }, { 12, 16, 10, 0, 2, 4 }, + { 11, 16, 10, 0, 2, 4 }, { 10, 16, 11, 0, 2, 4 }, { 9, 16, 11, 0, 2, 4 }, { 8, 16, 12, 0, 2, 4 }, { 7, 16, 12, 0, 2, 4 }, + { 6, 16, 13, 0, 2, 4 }, { 5, 16, 13, 0, 2, 4 }, { 4, 16, 14, 0, 2, 4 }, { 3, 16, 14, 0, 2, 4 }, { 2, 16, 15, 0, 2, 4 }, + { 1, 16, 15, 0, 2, 4 }, { 0, 16, 16, 0, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9696A0 = { - 32, { - { 16, 0, 0, 8, 2, 4 }, { 16, 1, 0, 8, 2, 4 }, { 16, 2, 1, 8, 2, 4 }, { 16, 3, 1, 8, 2, 4 }, { 16, 4, 2, 8, 2, 4 }, - { 16, 5, 2, 8, 2, 4 }, { 16, 6, 3, 8, 2, 4 }, { 16, 7, 3, 8, 2, 4 }, { 16, 8, 4, 8, 2, 4 }, { 16, 9, 4, 8, 2, 4 }, - { 16, 10, 5, 8, 2, 4 }, { 16, 11, 5, 8, 2, 4 }, { 16, 12, 6, 8, 2, 4 }, { 16, 13, 6, 8, 2, 4 }, { 16, 14, 7, 8, 2, 4 }, - { 16, 15, 7, 8, 2, 4 }, { 16, 16, 8, 8, 2, 4 }, { 16, 17, 8, 8, 2, 4 }, { 16, 18, 9, 8, 2, 4 }, { 16, 19, 9, 8, 2, 4 }, - { 16, 20, 10, 8, 2, 4 }, { 16, 21, 10, 8, 2, 4 }, { 16, 22, 11, 8, 2, 4 }, { 16, 23, 11, 8, 2, 4 }, { 16, 24, 12, 8, 2, 4 }, - { 16, 25, 12, 8, 2, 4 }, { 16, 26, 13, 8, 2, 4 }, { 16, 27, 13, 8, 2, 4 }, { 16, 28, 14, 8, 2, 4 }, { 16, 29, 14, 8, 2, 4 }, - { 16, 30, 15, 8, 2, 4 }, { 16, 31, 15, 8, 2, 4 }, + 32, { + { 16, 0, 0, 8, 2, 4 }, { 16, 1, 0, 8, 2, 4 }, { 16, 2, 1, 8, 2, 4 }, { 16, 3, 1, 8, 2, 4 }, { 16, 4, 2, 8, 2, 4 }, + { 16, 5, 2, 8, 2, 4 }, { 16, 6, 3, 8, 2, 4 }, { 16, 7, 3, 8, 2, 4 }, { 16, 8, 4, 8, 2, 4 }, { 16, 9, 4, 8, 2, 4 }, + { 16, 10, 5, 8, 2, 4 }, { 16, 11, 5, 8, 2, 4 }, { 16, 12, 6, 8, 2, 4 }, { 16, 13, 6, 8, 2, 4 }, { 16, 14, 7, 8, 2, 4 }, + { 16, 15, 7, 8, 2, 4 }, { 16, 16, 8, 8, 2, 4 }, { 16, 17, 8, 8, 2, 4 }, { 16, 18, 9, 8, 2, 4 }, { 16, 19, 9, 8, 2, 4 }, + { 16, 20, 10, 8, 2, 4 }, { 16, 21, 10, 8, 2, 4 }, { 16, 22, 11, 8, 2, 4 }, { 16, 23, 11, 8, 2, 4 }, { 16, 24, 12, 8, 2, 4 }, + { 16, 25, 12, 8, 2, 4 }, { 16, 26, 13, 8, 2, 4 }, { 16, 27, 13, 8, 2, 4 }, { 16, 28, 14, 8, 2, 4 }, { 16, 29, 14, 8, 2, 4 }, + { 16, 30, 15, 8, 2, 4 }, { 16, 31, 15, 8, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9697C2 = { - 32, { - { 0, 16, 0, 16, 2, 4 }, { 1, 16, 0, 16, 2, 4 }, { 2, 16, 1, 16, 2, 4 }, { 3, 16, 1, 16, 2, 4 }, { 4, 16, 2, 16, 2, 4 }, - { 5, 16, 2, 16, 2, 4 }, { 6, 16, 3, 16, 2, 4 }, { 7, 16, 3, 16, 2, 4 }, { 8, 16, 4, 16, 2, 4 }, { 9, 16, 4, 16, 2, 4 }, - { 10, 16, 5, 16, 2, 4 }, { 11, 16, 5, 16, 2, 4 }, { 12, 16, 6, 16, 2, 4 }, { 13, 16, 6, 16, 2, 4 }, { 14, 16, 7, 16, 2, 4 }, - { 15, 16, 7, 16, 2, 4 }, { 16, 16, 8, 16, 2, 4 }, { 17, 16, 8, 16, 2, 4 }, { 18, 16, 9, 16, 2, 4 }, { 19, 16, 9, 16, 2, 4 }, - { 20, 16, 10, 16, 2, 4 }, { 21, 16, 10, 16, 2, 4 }, { 22, 16, 11, 16, 2, 4 }, { 23, 16, 11, 16, 2, 4 }, { 24, 16, 12, 16, 2, 4 }, - { 25, 16, 12, 16, 2, 4 }, { 26, 16, 13, 16, 2, 4 }, { 27, 16, 13, 16, 2, 4 }, { 28, 16, 14, 16, 2, 4 }, { 29, 16, 14, 16, 2, 4 }, - { 30, 16, 15, 16, 2, 4 }, { 31, 16, 15, 16, 2, 4 }, + 32, { + { 0, 16, 0, 16, 2, 4 }, { 1, 16, 0, 16, 2, 4 }, { 2, 16, 1, 16, 2, 4 }, { 3, 16, 1, 16, 2, 4 }, { 4, 16, 2, 16, 2, 4 }, + { 5, 16, 2, 16, 2, 4 }, { 6, 16, 3, 16, 2, 4 }, { 7, 16, 3, 16, 2, 4 }, { 8, 16, 4, 16, 2, 4 }, { 9, 16, 4, 16, 2, 4 }, + { 10, 16, 5, 16, 2, 4 }, { 11, 16, 5, 16, 2, 4 }, { 12, 16, 6, 16, 2, 4 }, { 13, 16, 6, 16, 2, 4 }, { 14, 16, 7, 16, 2, 4 }, + { 15, 16, 7, 16, 2, 4 }, { 16, 16, 8, 16, 2, 4 }, { 17, 16, 8, 16, 2, 4 }, { 18, 16, 9, 16, 2, 4 }, { 19, 16, 9, 16, 2, 4 }, + { 20, 16, 10, 16, 2, 4 }, { 21, 16, 10, 16, 2, 4 }, { 22, 16, 11, 16, 2, 4 }, { 23, 16, 11, 16, 2, 4 }, { 24, 16, 12, 16, 2, 4 }, + { 25, 16, 12, 16, 2, 4 }, { 26, 16, 13, 16, 2, 4 }, { 27, 16, 13, 16, 2, 4 }, { 28, 16, 14, 16, 2, 4 }, { 29, 16, 14, 16, 2, 4 }, + { 30, 16, 15, 16, 2, 4 }, { 31, 16, 15, 16, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9698E4 = { - 32, { - { 16, 31, 0, 24, 2, 4 }, { 16, 30, 1, 24, 2, 4 }, { 16, 29, 1, 24, 2, 4 }, { 16, 28, 2, 24, 2, 4 }, { 16, 27, 2, 24, 2, 4 }, - { 16, 26, 3, 24, 2, 4 }, { 16, 25, 3, 24, 2, 4 }, { 16, 24, 4, 24, 2, 4 }, { 16, 23, 4, 24, 2, 4 }, { 16, 22, 5, 24, 2, 4 }, - { 16, 21, 5, 24, 2, 4 }, { 16, 20, 6, 24, 2, 4 }, { 16, 19, 6, 24, 2, 4 }, { 16, 18, 7, 24, 2, 4 }, { 16, 17, 7, 24, 2, 4 }, - { 16, 16, 8, 24, 2, 4 }, { 16, 15, 8, 24, 2, 4 }, { 16, 14, 9, 24, 2, 4 }, { 16, 13, 9, 24, 2, 4 }, { 16, 12, 10, 24, 2, 4 }, - { 16, 11, 10, 24, 2, 4 }, { 16, 10, 11, 24, 2, 4 }, { 16, 9, 11, 24, 2, 4 }, { 16, 8, 12, 24, 2, 4 }, { 16, 7, 12, 24, 2, 4 }, - { 16, 6, 13, 24, 2, 4 }, { 16, 5, 13, 24, 2, 4 }, { 16, 4, 14, 24, 2, 4 }, { 16, 3, 14, 24, 2, 4 }, { 16, 2, 15, 24, 2, 4 }, - { 16, 1, 15, 24, 2, 4 }, { 16, 0, 16, 24, 2, 4 }, + 32, { + { 16, 31, 0, 24, 2, 4 }, { 16, 30, 1, 24, 2, 4 }, { 16, 29, 1, 24, 2, 4 }, { 16, 28, 2, 24, 2, 4 }, { 16, 27, 2, 24, 2, 4 }, + { 16, 26, 3, 24, 2, 4 }, { 16, 25, 3, 24, 2, 4 }, { 16, 24, 4, 24, 2, 4 }, { 16, 23, 4, 24, 2, 4 }, { 16, 22, 5, 24, 2, 4 }, + { 16, 21, 5, 24, 2, 4 }, { 16, 20, 6, 24, 2, 4 }, { 16, 19, 6, 24, 2, 4 }, { 16, 18, 7, 24, 2, 4 }, { 16, 17, 7, 24, 2, 4 }, + { 16, 16, 8, 24, 2, 4 }, { 16, 15, 8, 24, 2, 4 }, { 16, 14, 9, 24, 2, 4 }, { 16, 13, 9, 24, 2, 4 }, { 16, 12, 10, 24, 2, 4 }, + { 16, 11, 10, 24, 2, 4 }, { 16, 10, 11, 24, 2, 4 }, { 16, 9, 11, 24, 2, 4 }, { 16, 8, 12, 24, 2, 4 }, { 16, 7, 12, 24, 2, 4 }, + { 16, 6, 13, 24, 2, 4 }, { 16, 5, 13, 24, 2, 4 }, { 16, 4, 14, 24, 2, 4 }, { 16, 3, 14, 24, 2, 4 }, { 16, 2, 15, 24, 2, 4 }, + { 16, 1, 15, 24, 2, 4 }, { 16, 0, 16, 24, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9048E8 = { - 32, { - { 31, 16, 0, 0, 1, 0 }, { 30, 16, 0, 0, 1, 0 }, { 29, 16, 0, 0, 1, 0 }, { 28, 16, 0, 0, 1, 0 }, { 27, 16, 0, 0, 1, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 5, 0 }, { 22, 16, 0, 0, 5, 0 }, - { 21, 16, 0, 0, 5, 0 }, { 20, 16, 0, 0, 5, 0 }, { 19, 16, 0, 0, 5, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 1, 0 }, { 14, 16, 0, 0, 1, 0 }, { 13, 16, 0, 0, 1, 0 }, { 12, 16, 0, 0, 1, 0 }, - { 11, 16, 0, 0, 1, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 5, 0 }, - { 6, 16, 0, 0, 5, 0 }, { 5, 16, 0, 0, 5, 0 }, { 4, 16, 0, 0, 5, 0 }, { 3, 16, 0, 0, 5, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, + 32, { + { 31, 16, 0, 0, 1, 0 }, { 30, 16, 0, 0, 1, 0 }, { 29, 16, 0, 0, 1, 0 }, { 28, 16, 0, 0, 1, 0 }, { 27, 16, 0, 0, 1, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 5, 0 }, { 22, 16, 0, 0, 5, 0 }, + { 21, 16, 0, 0, 5, 0 }, { 20, 16, 0, 0, 5, 0 }, { 19, 16, 0, 0, 5, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 1, 0 }, { 14, 16, 0, 0, 1, 0 }, { 13, 16, 0, 0, 1, 0 }, { 12, 16, 0, 0, 1, 0 }, + { 11, 16, 0, 0, 1, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 5, 0 }, + { 6, 16, 0, 0, 5, 0 }, { 5, 16, 0, 0, 5, 0 }, { 4, 16, 0, 0, 5, 0 }, { 3, 16, 0, 0, 5, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_904A0A = { - 32, { - { 16, 0, 0, 8, 1, 0 }, { 16, 1, 0, 8, 1, 0 }, { 16, 2, 0, 8, 1, 0 }, { 16, 3, 0, 8, 1, 0 }, { 16, 4, 0, 8, 1, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 5, 0 }, { 16, 9, 0, 8, 5, 0 }, - { 16, 10, 0, 8, 5, 0 }, { 16, 11, 0, 8, 5, 0 }, { 16, 12, 0, 8, 5, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 1, 0 }, { 16, 17, 0, 8, 1, 0 }, { 16, 18, 0, 8, 1, 0 }, { 16, 19, 0, 8, 1, 0 }, - { 16, 20, 0, 8, 1, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 5, 0 }, - { 16, 25, 0, 8, 5, 0 }, { 16, 26, 0, 8, 5, 0 }, { 16, 27, 0, 8, 5, 0 }, { 16, 28, 0, 8, 5, 0 }, { 16, 29, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, + 32, { + { 16, 0, 0, 8, 1, 0 }, { 16, 1, 0, 8, 1, 0 }, { 16, 2, 0, 8, 1, 0 }, { 16, 3, 0, 8, 1, 0 }, { 16, 4, 0, 8, 1, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 5, 0 }, { 16, 9, 0, 8, 5, 0 }, + { 16, 10, 0, 8, 5, 0 }, { 16, 11, 0, 8, 5, 0 }, { 16, 12, 0, 8, 5, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 1, 0 }, { 16, 17, 0, 8, 1, 0 }, { 16, 18, 0, 8, 1, 0 }, { 16, 19, 0, 8, 1, 0 }, + { 16, 20, 0, 8, 1, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 5, 0 }, + { 16, 25, 0, 8, 5, 0 }, { 16, 26, 0, 8, 5, 0 }, { 16, 27, 0, 8, 5, 0 }, { 16, 28, 0, 8, 5, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_904B2C = { - 32, { - { 0, 16, 0, 16, 1, 0 }, { 1, 16, 0, 16, 1, 0 }, { 2, 16, 0, 16, 1, 0 }, { 3, 16, 0, 16, 1, 0 }, { 4, 16, 0, 16, 1, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 5, 0 }, { 9, 16, 0, 16, 5, 0 }, - { 10, 16, 0, 16, 5, 0 }, { 11, 16, 0, 16, 5, 0 }, { 12, 16, 0, 16, 5, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, - { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 1, 0 }, { 17, 16, 0, 16, 1, 0 }, { 18, 16, 0, 16, 1, 0 }, { 19, 16, 0, 16, 1, 0 }, - { 20, 16, 0, 16, 1, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 5, 0 }, - { 25, 16, 0, 16, 5, 0 }, { 26, 16, 0, 16, 5, 0 }, { 27, 16, 0, 16, 5, 0 }, { 28, 16, 0, 16, 5, 0 }, { 29, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, + 32, { + { 0, 16, 0, 16, 1, 0 }, { 1, 16, 0, 16, 1, 0 }, { 2, 16, 0, 16, 1, 0 }, { 3, 16, 0, 16, 1, 0 }, { 4, 16, 0, 16, 1, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 5, 0 }, { 9, 16, 0, 16, 5, 0 }, + { 10, 16, 0, 16, 5, 0 }, { 11, 16, 0, 16, 5, 0 }, { 12, 16, 0, 16, 5, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, + { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 1, 0 }, { 17, 16, 0, 16, 1, 0 }, { 18, 16, 0, 16, 1, 0 }, { 19, 16, 0, 16, 1, 0 }, + { 20, 16, 0, 16, 1, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 5, 0 }, + { 25, 16, 0, 16, 5, 0 }, { 26, 16, 0, 16, 5, 0 }, { 27, 16, 0, 16, 5, 0 }, { 28, 16, 0, 16, 5, 0 }, { 29, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_904C4E = { - 32, { - { 16, 31, 0, 24, 1, 0 }, { 16, 30, 0, 24, 1, 0 }, { 16, 29, 0, 24, 1, 0 }, { 16, 28, 0, 24, 1, 0 }, { 16, 27, 0, 24, 1, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 5, 0 }, { 16, 22, 0, 24, 5, 0 }, - { 16, 21, 0, 24, 5, 0 }, { 16, 20, 0, 24, 5, 0 }, { 16, 19, 0, 24, 5, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, - { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 1, 0 }, { 16, 14, 0, 24, 1, 0 }, { 16, 13, 0, 24, 1, 0 }, { 16, 12, 0, 24, 1, 0 }, - { 16, 11, 0, 24, 1, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 5, 0 }, - { 16, 6, 0, 24, 5, 0 }, { 16, 5, 0, 24, 5, 0 }, { 16, 4, 0, 24, 5, 0 }, { 16, 3, 0, 24, 5, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, + 32, { + { 16, 31, 0, 24, 1, 0 }, { 16, 30, 0, 24, 1, 0 }, { 16, 29, 0, 24, 1, 0 }, { 16, 28, 0, 24, 1, 0 }, { 16, 27, 0, 24, 1, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 5, 0 }, { 16, 22, 0, 24, 5, 0 }, + { 16, 21, 0, 24, 5, 0 }, { 16, 20, 0, 24, 5, 0 }, { 16, 19, 0, 24, 5, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, + { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 1, 0 }, { 16, 14, 0, 24, 1, 0 }, { 16, 13, 0, 24, 1, 0 }, { 16, 12, 0, 24, 1, 0 }, + { 16, 11, 0, 24, 1, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 5, 0 }, + { 16, 6, 0, 24, 5, 0 }, { 16, 5, 0, 24, 5, 0 }, { 16, 4, 0, 24, 5, 0 }, { 16, 3, 0, 24, 5, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9690F6 = { - 32, { - { 31, 16, 15, 0, 6, 2 }, { 30, 16, 15, 0, 6, 2 }, { 29, 16, 14, 0, 6, 2 }, { 28, 16, 14, 0, 6, 2 }, { 27, 16, 13, 0, 6, 2 }, - { 26, 16, 13, 0, 6, 2 }, { 25, 16, 12, 0, 6, 2 }, { 24, 16, 12, 0, 6, 2 }, { 23, 16, 11, 0, 6, 2 }, { 22, 16, 11, 0, 6, 2 }, - { 21, 16, 10, 0, 6, 2 }, { 20, 16, 10, 0, 6, 2 }, { 19, 16, 9, 0, 6, 2 }, { 18, 16, 9, 0, 6, 2 }, { 17, 16, 8, 0, 6, 2 }, - { 16, 16, 8, 0, 6, 2 }, { 15, 16, 7, 0, 6, 2 }, { 14, 16, 7, 0, 6, 2 }, { 13, 16, 6, 0, 6, 2 }, { 12, 16, 6, 0, 6, 2 }, - { 11, 16, 5, 0, 6, 2 }, { 10, 16, 5, 0, 6, 2 }, { 9, 16, 4, 0, 6, 2 }, { 8, 16, 4, 0, 6, 2 }, { 7, 16, 3, 0, 6, 2 }, - { 6, 16, 3, 0, 6, 2 }, { 5, 16, 2, 0, 6, 2 }, { 4, 16, 2, 0, 6, 2 }, { 3, 16, 1, 0, 6, 2 }, { 2, 16, 1, 0, 6, 2 }, - { 1, 16, 0, 0, 6, 2 }, { 0, 16, 0, 0, 6, 2 }, + 32, { + { 31, 16, 15, 0, 6, 2 }, { 30, 16, 15, 0, 6, 2 }, { 29, 16, 14, 0, 6, 2 }, { 28, 16, 14, 0, 6, 2 }, { 27, 16, 13, 0, 6, 2 }, + { 26, 16, 13, 0, 6, 2 }, { 25, 16, 12, 0, 6, 2 }, { 24, 16, 12, 0, 6, 2 }, { 23, 16, 11, 0, 6, 2 }, { 22, 16, 11, 0, 6, 2 }, + { 21, 16, 10, 0, 6, 2 }, { 20, 16, 10, 0, 6, 2 }, { 19, 16, 9, 0, 6, 2 }, { 18, 16, 9, 0, 6, 2 }, { 17, 16, 8, 0, 6, 2 }, + { 16, 16, 8, 0, 6, 2 }, { 15, 16, 7, 0, 6, 2 }, { 14, 16, 7, 0, 6, 2 }, { 13, 16, 6, 0, 6, 2 }, { 12, 16, 6, 0, 6, 2 }, + { 11, 16, 5, 0, 6, 2 }, { 10, 16, 5, 0, 6, 2 }, { 9, 16, 4, 0, 6, 2 }, { 8, 16, 4, 0, 6, 2 }, { 7, 16, 3, 0, 6, 2 }, + { 6, 16, 3, 0, 6, 2 }, { 5, 16, 2, 0, 6, 2 }, { 4, 16, 2, 0, 6, 2 }, { 3, 16, 1, 0, 6, 2 }, { 2, 16, 1, 0, 6, 2 }, + { 1, 16, 0, 0, 6, 2 }, { 0, 16, 0, 0, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_969218 = { - 32, { - { 16, 0, 15, 8, 6, 2 }, { 16, 1, 14, 8, 6, 2 }, { 16, 2, 14, 8, 6, 2 }, { 16, 3, 13, 8, 6, 2 }, { 16, 4, 13, 8, 6, 2 }, - { 16, 5, 12, 8, 6, 2 }, { 16, 6, 12, 8, 6, 2 }, { 16, 7, 11, 8, 6, 2 }, { 16, 8, 11, 8, 6, 2 }, { 16, 9, 10, 8, 6, 2 }, - { 16, 10, 10, 8, 6, 2 }, { 16, 11, 9, 8, 6, 2 }, { 16, 12, 9, 8, 6, 2 }, { 16, 13, 8, 8, 6, 2 }, { 16, 14, 8, 8, 6, 2 }, - { 16, 15, 7, 8, 6, 2 }, { 16, 16, 7, 8, 6, 2 }, { 16, 17, 6, 8, 6, 2 }, { 16, 18, 6, 8, 6, 2 }, { 16, 19, 5, 8, 6, 2 }, - { 16, 20, 5, 8, 6, 2 }, { 16, 21, 4, 8, 6, 2 }, { 16, 22, 4, 8, 6, 2 }, { 16, 23, 3, 8, 6, 2 }, { 16, 24, 3, 8, 6, 2 }, - { 16, 25, 2, 8, 6, 2 }, { 16, 26, 2, 8, 6, 2 }, { 16, 27, 1, 8, 6, 2 }, { 16, 28, 1, 8, 6, 2 }, { 16, 29, 0, 8, 6, 2 }, - { 16, 30, 0, 8, 6, 2 }, { 16, 31, -1, 8, 6, 2 }, + 32, { + { 16, 0, 15, 8, 6, 2 }, { 16, 1, 14, 8, 6, 2 }, { 16, 2, 14, 8, 6, 2 }, { 16, 3, 13, 8, 6, 2 }, { 16, 4, 13, 8, 6, 2 }, + { 16, 5, 12, 8, 6, 2 }, { 16, 6, 12, 8, 6, 2 }, { 16, 7, 11, 8, 6, 2 }, { 16, 8, 11, 8, 6, 2 }, { 16, 9, 10, 8, 6, 2 }, + { 16, 10, 10, 8, 6, 2 }, { 16, 11, 9, 8, 6, 2 }, { 16, 12, 9, 8, 6, 2 }, { 16, 13, 8, 8, 6, 2 }, { 16, 14, 8, 8, 6, 2 }, + { 16, 15, 7, 8, 6, 2 }, { 16, 16, 7, 8, 6, 2 }, { 16, 17, 6, 8, 6, 2 }, { 16, 18, 6, 8, 6, 2 }, { 16, 19, 5, 8, 6, 2 }, + { 16, 20, 5, 8, 6, 2 }, { 16, 21, 4, 8, 6, 2 }, { 16, 22, 4, 8, 6, 2 }, { 16, 23, 3, 8, 6, 2 }, { 16, 24, 3, 8, 6, 2 }, + { 16, 25, 2, 8, 6, 2 }, { 16, 26, 2, 8, 6, 2 }, { 16, 27, 1, 8, 6, 2 }, { 16, 28, 1, 8, 6, 2 }, { 16, 29, 0, 8, 6, 2 }, + { 16, 30, 0, 8, 6, 2 }, { 16, 31, -1, 8, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96933A = { - 32, { - { 0, 16, 15, 16, 6, 2 }, { 1, 16, 14, 16, 6, 2 }, { 2, 16, 14, 16, 6, 2 }, { 3, 16, 13, 16, 6, 2 }, { 4, 16, 13, 16, 6, 2 }, - { 5, 16, 12, 16, 6, 2 }, { 6, 16, 12, 16, 6, 2 }, { 7, 16, 11, 16, 6, 2 }, { 8, 16, 11, 16, 6, 2 }, { 9, 16, 10, 16, 6, 2 }, - { 10, 16, 10, 16, 6, 2 }, { 11, 16, 9, 16, 6, 2 }, { 12, 16, 9, 16, 6, 2 }, { 13, 16, 8, 16, 6, 2 }, { 14, 16, 8, 16, 6, 2 }, - { 15, 16, 7, 16, 6, 2 }, { 16, 16, 7, 16, 6, 2 }, { 17, 16, 6, 16, 6, 2 }, { 18, 16, 6, 16, 6, 2 }, { 19, 16, 5, 16, 6, 2 }, - { 20, 16, 5, 16, 6, 2 }, { 21, 16, 4, 16, 6, 2 }, { 22, 16, 4, 16, 6, 2 }, { 23, 16, 3, 16, 6, 2 }, { 24, 16, 3, 16, 6, 2 }, - { 25, 16, 2, 16, 6, 2 }, { 26, 16, 2, 16, 6, 2 }, { 27, 16, 1, 16, 6, 2 }, { 28, 16, 1, 16, 6, 2 }, { 29, 16, 0, 16, 6, 2 }, - { 30, 16, 0, 16, 6, 2 }, { 31, 16, -1, 16, 6, 2 }, + 32, { + { 0, 16, 15, 16, 6, 2 }, { 1, 16, 14, 16, 6, 2 }, { 2, 16, 14, 16, 6, 2 }, { 3, 16, 13, 16, 6, 2 }, { 4, 16, 13, 16, 6, 2 }, + { 5, 16, 12, 16, 6, 2 }, { 6, 16, 12, 16, 6, 2 }, { 7, 16, 11, 16, 6, 2 }, { 8, 16, 11, 16, 6, 2 }, { 9, 16, 10, 16, 6, 2 }, + { 10, 16, 10, 16, 6, 2 }, { 11, 16, 9, 16, 6, 2 }, { 12, 16, 9, 16, 6, 2 }, { 13, 16, 8, 16, 6, 2 }, { 14, 16, 8, 16, 6, 2 }, + { 15, 16, 7, 16, 6, 2 }, { 16, 16, 7, 16, 6, 2 }, { 17, 16, 6, 16, 6, 2 }, { 18, 16, 6, 16, 6, 2 }, { 19, 16, 5, 16, 6, 2 }, + { 20, 16, 5, 16, 6, 2 }, { 21, 16, 4, 16, 6, 2 }, { 22, 16, 4, 16, 6, 2 }, { 23, 16, 3, 16, 6, 2 }, { 24, 16, 3, 16, 6, 2 }, + { 25, 16, 2, 16, 6, 2 }, { 26, 16, 2, 16, 6, 2 }, { 27, 16, 1, 16, 6, 2 }, { 28, 16, 1, 16, 6, 2 }, { 29, 16, 0, 16, 6, 2 }, + { 30, 16, 0, 16, 6, 2 }, { 31, 16, -1, 16, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96945C = { - 32, { - { 16, 31, 15, 24, 6, 2 }, { 16, 30, 15, 24, 6, 2 }, { 16, 29, 14, 24, 6, 2 }, { 16, 28, 14, 24, 6, 2 }, { 16, 27, 13, 24, 6, 2 }, - { 16, 26, 13, 24, 6, 2 }, { 16, 25, 12, 24, 6, 2 }, { 16, 24, 12, 24, 6, 2 }, { 16, 23, 11, 24, 6, 2 }, { 16, 22, 11, 24, 6, 2 }, - { 16, 21, 10, 24, 6, 2 }, { 16, 20, 10, 24, 6, 2 }, { 16, 19, 9, 24, 6, 2 }, { 16, 18, 9, 24, 6, 2 }, { 16, 17, 8, 24, 6, 2 }, - { 16, 16, 8, 24, 6, 2 }, { 16, 15, 7, 24, 6, 2 }, { 16, 14, 7, 24, 6, 2 }, { 16, 13, 6, 24, 6, 2 }, { 16, 12, 6, 24, 6, 2 }, - { 16, 11, 5, 24, 6, 2 }, { 16, 10, 5, 24, 6, 2 }, { 16, 9, 4, 24, 6, 2 }, { 16, 8, 4, 24, 6, 2 }, { 16, 7, 3, 24, 6, 2 }, - { 16, 6, 3, 24, 6, 2 }, { 16, 5, 2, 24, 6, 2 }, { 16, 4, 2, 24, 6, 2 }, { 16, 3, 1, 24, 6, 2 }, { 16, 2, 1, 24, 6, 2 }, - { 16, 1, 0, 24, 6, 2 }, { 16, 0, 0, 24, 6, 2 }, + 32, { + { 16, 31, 15, 24, 6, 2 }, { 16, 30, 15, 24, 6, 2 }, { 16, 29, 14, 24, 6, 2 }, { 16, 28, 14, 24, 6, 2 }, { 16, 27, 13, 24, 6, 2 }, + { 16, 26, 13, 24, 6, 2 }, { 16, 25, 12, 24, 6, 2 }, { 16, 24, 12, 24, 6, 2 }, { 16, 23, 11, 24, 6, 2 }, { 16, 22, 11, 24, 6, 2 }, + { 16, 21, 10, 24, 6, 2 }, { 16, 20, 10, 24, 6, 2 }, { 16, 19, 9, 24, 6, 2 }, { 16, 18, 9, 24, 6, 2 }, { 16, 17, 8, 24, 6, 2 }, + { 16, 16, 8, 24, 6, 2 }, { 16, 15, 7, 24, 6, 2 }, { 16, 14, 7, 24, 6, 2 }, { 16, 13, 6, 24, 6, 2 }, { 16, 12, 6, 24, 6, 2 }, + { 16, 11, 5, 24, 6, 2 }, { 16, 10, 5, 24, 6, 2 }, { 16, 9, 4, 24, 6, 2 }, { 16, 8, 4, 24, 6, 2 }, { 16, 7, 3, 24, 6, 2 }, + { 16, 6, 3, 24, 6, 2 }, { 16, 5, 2, 24, 6, 2 }, { 16, 4, 2, 24, 6, 2 }, { 16, 3, 1, 24, 6, 2 }, { 16, 2, 1, 24, 6, 2 }, + { 16, 1, 0, 24, 6, 2 }, { 16, 0, 0, 24, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_969A06 = { - 32, { - { 31, 16, 15, 0, 6, 4 }, { 30, 16, 15, 0, 6, 4 }, { 29, 16, 14, 0, 6, 4 }, { 28, 16, 14, 0, 6, 4 }, { 27, 16, 13, 0, 6, 4 }, - { 26, 16, 13, 0, 6, 4 }, { 25, 16, 12, 0, 6, 4 }, { 24, 16, 12, 0, 6, 4 }, { 23, 16, 11, 0, 6, 4 }, { 22, 16, 11, 0, 6, 4 }, - { 21, 16, 10, 0, 6, 4 }, { 20, 16, 10, 0, 6, 4 }, { 19, 16, 9, 0, 6, 4 }, { 18, 16, 9, 0, 6, 4 }, { 17, 16, 8, 0, 6, 4 }, - { 16, 16, 8, 0, 6, 4 }, { 15, 16, 7, 0, 6, 4 }, { 14, 16, 7, 0, 6, 4 }, { 13, 16, 6, 0, 6, 4 }, { 12, 16, 6, 0, 6, 4 }, - { 11, 16, 5, 0, 6, 4 }, { 10, 16, 5, 0, 6, 4 }, { 9, 16, 4, 0, 6, 4 }, { 8, 16, 4, 0, 6, 4 }, { 7, 16, 3, 0, 6, 4 }, - { 6, 16, 3, 0, 6, 4 }, { 5, 16, 2, 0, 6, 4 }, { 4, 16, 2, 0, 6, 4 }, { 3, 16, 1, 0, 6, 4 }, { 2, 16, 1, 0, 6, 4 }, - { 1, 16, 0, 0, 6, 4 }, { 0, 16, 0, 0, 6, 4 }, + 32, { + { 31, 16, 15, 0, 6, 4 }, { 30, 16, 15, 0, 6, 4 }, { 29, 16, 14, 0, 6, 4 }, { 28, 16, 14, 0, 6, 4 }, { 27, 16, 13, 0, 6, 4 }, + { 26, 16, 13, 0, 6, 4 }, { 25, 16, 12, 0, 6, 4 }, { 24, 16, 12, 0, 6, 4 }, { 23, 16, 11, 0, 6, 4 }, { 22, 16, 11, 0, 6, 4 }, + { 21, 16, 10, 0, 6, 4 }, { 20, 16, 10, 0, 6, 4 }, { 19, 16, 9, 0, 6, 4 }, { 18, 16, 9, 0, 6, 4 }, { 17, 16, 8, 0, 6, 4 }, + { 16, 16, 8, 0, 6, 4 }, { 15, 16, 7, 0, 6, 4 }, { 14, 16, 7, 0, 6, 4 }, { 13, 16, 6, 0, 6, 4 }, { 12, 16, 6, 0, 6, 4 }, + { 11, 16, 5, 0, 6, 4 }, { 10, 16, 5, 0, 6, 4 }, { 9, 16, 4, 0, 6, 4 }, { 8, 16, 4, 0, 6, 4 }, { 7, 16, 3, 0, 6, 4 }, + { 6, 16, 3, 0, 6, 4 }, { 5, 16, 2, 0, 6, 4 }, { 4, 16, 2, 0, 6, 4 }, { 3, 16, 1, 0, 6, 4 }, { 2, 16, 1, 0, 6, 4 }, + { 1, 16, 0, 0, 6, 4 }, { 0, 16, 0, 0, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_969B28 = { - 32, { - { 16, 0, 15, 8, 6, 4 }, { 16, 1, 14, 8, 6, 4 }, { 16, 2, 14, 8, 6, 4 }, { 16, 3, 13, 8, 6, 4 }, { 16, 4, 13, 8, 6, 4 }, - { 16, 5, 12, 8, 6, 4 }, { 16, 6, 12, 8, 6, 4 }, { 16, 7, 11, 8, 6, 4 }, { 16, 8, 11, 8, 6, 4 }, { 16, 9, 10, 8, 6, 4 }, - { 16, 10, 10, 8, 6, 4 }, { 16, 11, 9, 8, 6, 4 }, { 16, 12, 9, 8, 6, 4 }, { 16, 13, 8, 8, 6, 4 }, { 16, 14, 8, 8, 6, 4 }, - { 16, 15, 7, 8, 6, 4 }, { 16, 16, 7, 8, 6, 4 }, { 16, 17, 6, 8, 6, 4 }, { 16, 18, 6, 8, 6, 4 }, { 16, 19, 5, 8, 6, 4 }, - { 16, 20, 5, 8, 6, 4 }, { 16, 21, 4, 8, 6, 4 }, { 16, 22, 4, 8, 6, 4 }, { 16, 23, 3, 8, 6, 4 }, { 16, 24, 3, 8, 6, 4 }, - { 16, 25, 2, 8, 6, 4 }, { 16, 26, 2, 8, 6, 4 }, { 16, 27, 1, 8, 6, 4 }, { 16, 28, 1, 8, 6, 4 }, { 16, 29, 0, 8, 6, 4 }, - { 16, 30, 0, 8, 6, 4 }, { 16, 31, -1, 8, 6, 4 }, + 32, { + { 16, 0, 15, 8, 6, 4 }, { 16, 1, 14, 8, 6, 4 }, { 16, 2, 14, 8, 6, 4 }, { 16, 3, 13, 8, 6, 4 }, { 16, 4, 13, 8, 6, 4 }, + { 16, 5, 12, 8, 6, 4 }, { 16, 6, 12, 8, 6, 4 }, { 16, 7, 11, 8, 6, 4 }, { 16, 8, 11, 8, 6, 4 }, { 16, 9, 10, 8, 6, 4 }, + { 16, 10, 10, 8, 6, 4 }, { 16, 11, 9, 8, 6, 4 }, { 16, 12, 9, 8, 6, 4 }, { 16, 13, 8, 8, 6, 4 }, { 16, 14, 8, 8, 6, 4 }, + { 16, 15, 7, 8, 6, 4 }, { 16, 16, 7, 8, 6, 4 }, { 16, 17, 6, 8, 6, 4 }, { 16, 18, 6, 8, 6, 4 }, { 16, 19, 5, 8, 6, 4 }, + { 16, 20, 5, 8, 6, 4 }, { 16, 21, 4, 8, 6, 4 }, { 16, 22, 4, 8, 6, 4 }, { 16, 23, 3, 8, 6, 4 }, { 16, 24, 3, 8, 6, 4 }, + { 16, 25, 2, 8, 6, 4 }, { 16, 26, 2, 8, 6, 4 }, { 16, 27, 1, 8, 6, 4 }, { 16, 28, 1, 8, 6, 4 }, { 16, 29, 0, 8, 6, 4 }, + { 16, 30, 0, 8, 6, 4 }, { 16, 31, -1, 8, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_969C4A = { - 32, { - { 0, 16, 15, 16, 6, 4 }, { 1, 16, 14, 16, 6, 4 }, { 2, 16, 14, 16, 6, 4 }, { 3, 16, 13, 16, 6, 4 }, { 4, 16, 13, 16, 6, 4 }, - { 5, 16, 12, 16, 6, 4 }, { 6, 16, 12, 16, 6, 4 }, { 7, 16, 11, 16, 6, 4 }, { 8, 16, 11, 16, 6, 4 }, { 9, 16, 10, 16, 6, 4 }, - { 10, 16, 10, 16, 6, 4 }, { 11, 16, 9, 16, 6, 4 }, { 12, 16, 9, 16, 6, 4 }, { 13, 16, 8, 16, 6, 4 }, { 14, 16, 8, 16, 6, 4 }, - { 15, 16, 7, 16, 6, 4 }, { 16, 16, 7, 16, 6, 4 }, { 17, 16, 6, 16, 6, 4 }, { 18, 16, 6, 16, 6, 4 }, { 19, 16, 5, 16, 6, 4 }, - { 20, 16, 5, 16, 6, 4 }, { 21, 16, 4, 16, 6, 4 }, { 22, 16, 4, 16, 6, 4 }, { 23, 16, 3, 16, 6, 4 }, { 24, 16, 3, 16, 6, 4 }, - { 25, 16, 2, 16, 6, 4 }, { 26, 16, 2, 16, 6, 4 }, { 27, 16, 1, 16, 6, 4 }, { 28, 16, 1, 16, 6, 4 }, { 29, 16, 0, 16, 6, 4 }, - { 30, 16, 0, 16, 6, 4 }, { 31, 16, -1, 16, 6, 4 }, + 32, { + { 0, 16, 15, 16, 6, 4 }, { 1, 16, 14, 16, 6, 4 }, { 2, 16, 14, 16, 6, 4 }, { 3, 16, 13, 16, 6, 4 }, { 4, 16, 13, 16, 6, 4 }, + { 5, 16, 12, 16, 6, 4 }, { 6, 16, 12, 16, 6, 4 }, { 7, 16, 11, 16, 6, 4 }, { 8, 16, 11, 16, 6, 4 }, { 9, 16, 10, 16, 6, 4 }, + { 10, 16, 10, 16, 6, 4 }, { 11, 16, 9, 16, 6, 4 }, { 12, 16, 9, 16, 6, 4 }, { 13, 16, 8, 16, 6, 4 }, { 14, 16, 8, 16, 6, 4 }, + { 15, 16, 7, 16, 6, 4 }, { 16, 16, 7, 16, 6, 4 }, { 17, 16, 6, 16, 6, 4 }, { 18, 16, 6, 16, 6, 4 }, { 19, 16, 5, 16, 6, 4 }, + { 20, 16, 5, 16, 6, 4 }, { 21, 16, 4, 16, 6, 4 }, { 22, 16, 4, 16, 6, 4 }, { 23, 16, 3, 16, 6, 4 }, { 24, 16, 3, 16, 6, 4 }, + { 25, 16, 2, 16, 6, 4 }, { 26, 16, 2, 16, 6, 4 }, { 27, 16, 1, 16, 6, 4 }, { 28, 16, 1, 16, 6, 4 }, { 29, 16, 0, 16, 6, 4 }, + { 30, 16, 0, 16, 6, 4 }, { 31, 16, -1, 16, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_969D6C = { - 32, { - { 16, 31, 15, 24, 6, 4 }, { 16, 30, 15, 24, 6, 4 }, { 16, 29, 14, 24, 6, 4 }, { 16, 28, 14, 24, 6, 4 }, { 16, 27, 13, 24, 6, 4 }, - { 16, 26, 13, 24, 6, 4 }, { 16, 25, 12, 24, 6, 4 }, { 16, 24, 12, 24, 6, 4 }, { 16, 23, 11, 24, 6, 4 }, { 16, 22, 11, 24, 6, 4 }, - { 16, 21, 10, 24, 6, 4 }, { 16, 20, 10, 24, 6, 4 }, { 16, 19, 9, 24, 6, 4 }, { 16, 18, 9, 24, 6, 4 }, { 16, 17, 8, 24, 6, 4 }, - { 16, 16, 8, 24, 6, 4 }, { 16, 15, 7, 24, 6, 4 }, { 16, 14, 7, 24, 6, 4 }, { 16, 13, 6, 24, 6, 4 }, { 16, 12, 6, 24, 6, 4 }, - { 16, 11, 5, 24, 6, 4 }, { 16, 10, 5, 24, 6, 4 }, { 16, 9, 4, 24, 6, 4 }, { 16, 8, 4, 24, 6, 4 }, { 16, 7, 3, 24, 6, 4 }, - { 16, 6, 3, 24, 6, 4 }, { 16, 5, 2, 24, 6, 4 }, { 16, 4, 2, 24, 6, 4 }, { 16, 3, 1, 24, 6, 4 }, { 16, 2, 1, 24, 6, 4 }, - { 16, 1, 0, 24, 6, 4 }, { 16, 0, 0, 24, 6, 4 }, + 32, { + { 16, 31, 15, 24, 6, 4 }, { 16, 30, 15, 24, 6, 4 }, { 16, 29, 14, 24, 6, 4 }, { 16, 28, 14, 24, 6, 4 }, { 16, 27, 13, 24, 6, 4 }, + { 16, 26, 13, 24, 6, 4 }, { 16, 25, 12, 24, 6, 4 }, { 16, 24, 12, 24, 6, 4 }, { 16, 23, 11, 24, 6, 4 }, { 16, 22, 11, 24, 6, 4 }, + { 16, 21, 10, 24, 6, 4 }, { 16, 20, 10, 24, 6, 4 }, { 16, 19, 9, 24, 6, 4 }, { 16, 18, 9, 24, 6, 4 }, { 16, 17, 8, 24, 6, 4 }, + { 16, 16, 8, 24, 6, 4 }, { 16, 15, 7, 24, 6, 4 }, { 16, 14, 7, 24, 6, 4 }, { 16, 13, 6, 24, 6, 4 }, { 16, 12, 6, 24, 6, 4 }, + { 16, 11, 5, 24, 6, 4 }, { 16, 10, 5, 24, 6, 4 }, { 16, 9, 4, 24, 6, 4 }, { 16, 8, 4, 24, 6, 4 }, { 16, 7, 3, 24, 6, 4 }, + { 16, 6, 3, 24, 6, 4 }, { 16, 5, 2, 24, 6, 4 }, { 16, 4, 2, 24, 6, 4 }, { 16, 3, 1, 24, 6, 4 }, { 16, 2, 1, 24, 6, 4 }, + { 16, 1, 0, 24, 6, 4 }, { 16, 0, 0, 24, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_904D72 = { - 160, { - { 31, 16, 16, 0, 0, 0 }, { 30, 16, 16, 0, 0, 0 }, { 29, 16, 16, 0, 0, 0 }, { 28, 16, 16, 0, 0, 0 }, { 27, 16, 16, 0, 0, 0 }, - { 26, 16, 16, 0, 0, 0 }, { 25, 16, 16, 0, 0, 0 }, { 24, 16, 16, 0, 0, 0 }, { 23, 16, 16, 0, 0, 0 }, { 22, 16, 16, 0, 0, 0 }, - { 21, 16, 16, 0, 0, 0 }, { 20, 16, 16, 0, 0, 0 }, { 19, 16, 16, 0, 0, 0 }, { 18, 16, 16, 0, 0, 0 }, { 17, 16, 15, 0, 0, 0 }, - { 16, 16, 15, 0, 0, 0 }, { 15, 16, 15, 0, 0, 0 }, { 14, 16, 15, 0, 0, 0 }, { 13, 16, 15, 0, 0, 0 }, { 12, 16, 15, 0, 0, 0 }, - { 11, 16, 15, 0, 0, 0 }, { 10, 16, 14, 0, 5, 0 }, { 9, 16, 14, 0, 5, 0 }, { 8, 16, 14, 0, 5, 0 }, { 7, 16, 14, 0, 5, 0 }, - { 6, 16, 14, 0, 5, 0 }, { 5, 16, 13, 0, 5, 0 }, { 4, 16, 13, 0, 5, 0 }, { 3, 16, 13, 0, 5, 0 }, { 2, 16, 13, 0, 5, 0 }, - { 1, 16, 12, 0, 5, 0 }, { 0, 16, 12, 0, 5, 0 }, { -1, 16, 12, 0, 5, 0 }, { -2, 16, 12, 0, 5, 0 }, { -3, 16, 11, 0, 5, 0 }, - { -4, 16, 11, 0, 5, 0 }, { -5, 16, 11, 0, 5, 0 }, { -6, 16, 11, 0, 5, 0 }, { -7, 16, 10, 0, 5, 0 }, { -8, 16, 10, 0, 5, 0 }, - { -9, 16, 10, 0, 5, 0 }, { -10, 16, 10, 0, 5, 0 }, { -11, 16, 10, 0, 5, 0 }, { -12, 16, 9, 0, 0, 0 }, { -13, 16, 9, 0, 0, 0 }, - { -14, 16, 9, 0, 0, 0 }, { -15, 16, 9, 0, 0, 0 }, { -16, 16, 9, 0, 0, 0 }, { -17, 16, 9, 0, 0, 0 }, { -18, 16, 9, 0, 0, 0 }, - { -19, 16, 8, 0, 0, 0 }, { -20, 16, 8, 0, 0, 0 }, { -21, 16, 8, 0, 0, 0 }, { -22, 16, 8, 0, 0, 0 }, { -23, 16, 8, 0, 0, 0 }, - { -24, 16, 8, 0, 0, 0 }, { -25, 16, 8, 0, 0, 0 }, { -26, 16, 8, 0, 0, 0 }, { -27, 16, 8, 0, 0, 0 }, { -28, 16, 8, 0, 0, 0 }, - { -29, 16, 8, 0, 0, 0 }, { -30, 16, 8, 0, 0, 0 }, { -31, 16, 8, 0, 0, 0 }, { -32, 16, 8, 0, 0, 0 }, { -33, 16, 8, 0, 0, 0 }, - { -34, 16, 8, 0, 0, 0 }, { -35, 16, 8, 0, 0, 0 }, { -36, 16, 8, 0, 0, 0 }, { -37, 16, 8, 0, 0, 0 }, { -38, 16, 8, 0, 0, 0 }, - { -39, 16, 8, 0, 0, 0 }, { -40, 16, 8, 0, 0, 0 }, { -41, 16, 8, 0, 0, 0 }, { -42, 16, 8, 0, 0, 0 }, { -43, 16, 8, 0, 0, 0 }, - { -44, 16, 8, 0, 0, 0 }, { -45, 16, 8, 0, 0, 0 }, { -46, 16, 8, 0, 0, 0 }, { -47, 16, 8, 0, 0, 0 }, { -48, 16, 8, 0, 0, 0 }, - { -49, 16, 8, 0, 0, 0 }, { -50, 16, 8, 0, 0, 0 }, { -51, 16, 8, 0, 0, 0 }, { -52, 16, 8, 0, 0, 0 }, { -53, 16, 8, 0, 0, 0 }, - { -54, 16, 8, 0, 0, 0 }, { -55, 16, 8, 0, 0, 0 }, { -56, 16, 8, 0, 0, 0 }, { -57, 16, 8, 0, 0, 0 }, { -58, 16, 8, 0, 0, 0 }, - { -59, 16, 8, 0, 0, 0 }, { -60, 16, 8, 0, 0, 0 }, { -61, 16, 8, 0, 0, 0 }, { -62, 16, 8, 0, 0, 0 }, { -63, 16, 8, 0, 0, 0 }, - { -64, 16, 8, 0, 0, 0 }, { -65, 16, 8, 0, 0, 0 }, { -66, 16, 8, 0, 0, 0 }, { -67, 16, 8, 0, 0, 0 }, { -68, 16, 8, 0, 0, 0 }, - { -69, 16, 8, 0, 0, 0 }, { -70, 16, 8, 0, 0, 0 }, { -71, 16, 8, 0, 0, 0 }, { -72, 16, 8, 0, 0, 0 }, { -73, 16, 8, 0, 0, 0 }, - { -74, 16, 8, 0, 0, 0 }, { -75, 16, 8, 0, 0, 0 }, { -76, 16, 8, 0, 0, 0 }, { -77, 16, 8, 0, 0, 0 }, { -78, 16, 8, 0, 0, 0 }, - { -79, 16, 9, 0, 0, 0 }, { -80, 16, 9, 0, 0, 0 }, { -81, 16, 9, 0, 0, 0 }, { -82, 16, 9, 0, 0, 0 }, { -83, 16, 9, 0, 0, 0 }, - { -84, 16, 9, 0, 0, 0 }, { -85, 16, 9, 0, 0, 0 }, { -86, 16, 10, 0, 1, 0 }, { -87, 16, 10, 0, 1, 0 }, { -88, 16, 10, 0, 1, 0 }, - { -89, 16, 10, 0, 1, 0 }, { -90, 16, 10, 0, 1, 0 }, { -91, 16, 11, 0, 1, 0 }, { -92, 16, 11, 0, 1, 0 }, { -93, 16, 11, 0, 1, 0 }, - { -94, 16, 11, 0, 1, 0 }, { -95, 16, 12, 0, 1, 0 }, { -96, 16, 12, 0, 1, 0 }, { -97, 16, 12, 0, 1, 0 }, { -98, 16, 12, 0, 1, 0 }, - { -99, 16, 13, 0, 1, 0 }, { -100, 16, 13, 0, 1, 0 }, { -101, 16, 13, 0, 1, 0 }, { -102, 16, 13, 0, 1, 0 }, { -103, 16, 14, 0, 1, 0 }, - { -104, 16, 14, 0, 1, 0 }, { -105, 16, 14, 0, 1, 0 }, { -106, 16, 14, 0, 1, 0 }, { -107, 16, 14, 0, 1, 0 }, { -108, 16, 15, 0, 0, 0 }, - { -109, 16, 15, 0, 0, 0 }, { -110, 16, 15, 0, 0, 0 }, { -111, 16, 15, 0, 0, 0 }, { -112, 16, 15, 0, 0, 0 }, { -113, 16, 15, 0, 0, 0 }, - { -114, 16, 15, 0, 0, 0 }, { -115, 16, 16, 0, 0, 0 }, { -116, 16, 16, 0, 0, 0 }, { -117, 16, 16, 0, 0, 0 }, { -118, 16, 16, 0, 0, 0 }, - { -119, 16, 16, 0, 0, 0 }, { -120, 16, 16, 0, 0, 0 }, { -121, 16, 16, 0, 0, 0 }, { -122, 16, 16, 0, 0, 0 }, { -123, 16, 16, 0, 0, 0 }, - { -124, 16, 16, 0, 0, 0 }, { -125, 16, 16, 0, 0, 0 }, { -126, 16, 16, 0, 0, 0 }, { -127, 16, 16, 0, 0, 0 }, { -128, 16, 16, 0, 0, 0 }, + 160, { + { 31, 16, 16, 0, 0, 0 }, { 30, 16, 16, 0, 0, 0 }, { 29, 16, 16, 0, 0, 0 }, { 28, 16, 16, 0, 0, 0 }, { 27, 16, 16, 0, 0, 0 }, + { 26, 16, 16, 0, 0, 0 }, { 25, 16, 16, 0, 0, 0 }, { 24, 16, 16, 0, 0, 0 }, { 23, 16, 16, 0, 0, 0 }, { 22, 16, 16, 0, 0, 0 }, + { 21, 16, 16, 0, 0, 0 }, { 20, 16, 16, 0, 0, 0 }, { 19, 16, 16, 0, 0, 0 }, { 18, 16, 16, 0, 0, 0 }, { 17, 16, 15, 0, 0, 0 }, + { 16, 16, 15, 0, 0, 0 }, { 15, 16, 15, 0, 0, 0 }, { 14, 16, 15, 0, 0, 0 }, { 13, 16, 15, 0, 0, 0 }, { 12, 16, 15, 0, 0, 0 }, + { 11, 16, 15, 0, 0, 0 }, { 10, 16, 14, 0, 5, 0 }, { 9, 16, 14, 0, 5, 0 }, { 8, 16, 14, 0, 5, 0 }, { 7, 16, 14, 0, 5, 0 }, + { 6, 16, 14, 0, 5, 0 }, { 5, 16, 13, 0, 5, 0 }, { 4, 16, 13, 0, 5, 0 }, { 3, 16, 13, 0, 5, 0 }, { 2, 16, 13, 0, 5, 0 }, + { 1, 16, 12, 0, 5, 0 }, { 0, 16, 12, 0, 5, 0 }, { -1, 16, 12, 0, 5, 0 }, { -2, 16, 12, 0, 5, 0 }, { -3, 16, 11, 0, 5, 0 }, + { -4, 16, 11, 0, 5, 0 }, { -5, 16, 11, 0, 5, 0 }, { -6, 16, 11, 0, 5, 0 }, { -7, 16, 10, 0, 5, 0 }, { -8, 16, 10, 0, 5, 0 }, + { -9, 16, 10, 0, 5, 0 }, { -10, 16, 10, 0, 5, 0 }, { -11, 16, 10, 0, 5, 0 }, { -12, 16, 9, 0, 0, 0 }, { -13, 16, 9, 0, 0, 0 }, + { -14, 16, 9, 0, 0, 0 }, { -15, 16, 9, 0, 0, 0 }, { -16, 16, 9, 0, 0, 0 }, { -17, 16, 9, 0, 0, 0 }, { -18, 16, 9, 0, 0, 0 }, + { -19, 16, 8, 0, 0, 0 }, { -20, 16, 8, 0, 0, 0 }, { -21, 16, 8, 0, 0, 0 }, { -22, 16, 8, 0, 0, 0 }, { -23, 16, 8, 0, 0, 0 }, + { -24, 16, 8, 0, 0, 0 }, { -25, 16, 8, 0, 0, 0 }, { -26, 16, 8, 0, 0, 0 }, { -27, 16, 8, 0, 0, 0 }, { -28, 16, 8, 0, 0, 0 }, + { -29, 16, 8, 0, 0, 0 }, { -30, 16, 8, 0, 0, 0 }, { -31, 16, 8, 0, 0, 0 }, { -32, 16, 8, 0, 0, 0 }, { -33, 16, 8, 0, 0, 0 }, + { -34, 16, 8, 0, 0, 0 }, { -35, 16, 8, 0, 0, 0 }, { -36, 16, 8, 0, 0, 0 }, { -37, 16, 8, 0, 0, 0 }, { -38, 16, 8, 0, 0, 0 }, + { -39, 16, 8, 0, 0, 0 }, { -40, 16, 8, 0, 0, 0 }, { -41, 16, 8, 0, 0, 0 }, { -42, 16, 8, 0, 0, 0 }, { -43, 16, 8, 0, 0, 0 }, + { -44, 16, 8, 0, 0, 0 }, { -45, 16, 8, 0, 0, 0 }, { -46, 16, 8, 0, 0, 0 }, { -47, 16, 8, 0, 0, 0 }, { -48, 16, 8, 0, 0, 0 }, + { -49, 16, 8, 0, 0, 0 }, { -50, 16, 8, 0, 0, 0 }, { -51, 16, 8, 0, 0, 0 }, { -52, 16, 8, 0, 0, 0 }, { -53, 16, 8, 0, 0, 0 }, + { -54, 16, 8, 0, 0, 0 }, { -55, 16, 8, 0, 0, 0 }, { -56, 16, 8, 0, 0, 0 }, { -57, 16, 8, 0, 0, 0 }, { -58, 16, 8, 0, 0, 0 }, + { -59, 16, 8, 0, 0, 0 }, { -60, 16, 8, 0, 0, 0 }, { -61, 16, 8, 0, 0, 0 }, { -62, 16, 8, 0, 0, 0 }, { -63, 16, 8, 0, 0, 0 }, + { -64, 16, 8, 0, 0, 0 }, { -65, 16, 8, 0, 0, 0 }, { -66, 16, 8, 0, 0, 0 }, { -67, 16, 8, 0, 0, 0 }, { -68, 16, 8, 0, 0, 0 }, + { -69, 16, 8, 0, 0, 0 }, { -70, 16, 8, 0, 0, 0 }, { -71, 16, 8, 0, 0, 0 }, { -72, 16, 8, 0, 0, 0 }, { -73, 16, 8, 0, 0, 0 }, + { -74, 16, 8, 0, 0, 0 }, { -75, 16, 8, 0, 0, 0 }, { -76, 16, 8, 0, 0, 0 }, { -77, 16, 8, 0, 0, 0 }, { -78, 16, 8, 0, 0, 0 }, + { -79, 16, 9, 0, 0, 0 }, { -80, 16, 9, 0, 0, 0 }, { -81, 16, 9, 0, 0, 0 }, { -82, 16, 9, 0, 0, 0 }, { -83, 16, 9, 0, 0, 0 }, + { -84, 16, 9, 0, 0, 0 }, { -85, 16, 9, 0, 0, 0 }, { -86, 16, 10, 0, 1, 0 }, { -87, 16, 10, 0, 1, 0 }, { -88, 16, 10, 0, 1, 0 }, + { -89, 16, 10, 0, 1, 0 }, { -90, 16, 10, 0, 1, 0 }, { -91, 16, 11, 0, 1, 0 }, { -92, 16, 11, 0, 1, 0 }, { -93, 16, 11, 0, 1, 0 }, + { -94, 16, 11, 0, 1, 0 }, { -95, 16, 12, 0, 1, 0 }, { -96, 16, 12, 0, 1, 0 }, { -97, 16, 12, 0, 1, 0 }, { -98, 16, 12, 0, 1, 0 }, + { -99, 16, 13, 0, 1, 0 }, { -100, 16, 13, 0, 1, 0 }, { -101, 16, 13, 0, 1, 0 }, { -102, 16, 13, 0, 1, 0 }, { -103, 16, 14, 0, 1, 0 }, + { -104, 16, 14, 0, 1, 0 }, { -105, 16, 14, 0, 1, 0 }, { -106, 16, 14, 0, 1, 0 }, { -107, 16, 14, 0, 1, 0 }, { -108, 16, 15, 0, 0, 0 }, + { -109, 16, 15, 0, 0, 0 }, { -110, 16, 15, 0, 0, 0 }, { -111, 16, 15, 0, 0, 0 }, { -112, 16, 15, 0, 0, 0 }, { -113, 16, 15, 0, 0, 0 }, + { -114, 16, 15, 0, 0, 0 }, { -115, 16, 16, 0, 0, 0 }, { -116, 16, 16, 0, 0, 0 }, { -117, 16, 16, 0, 0, 0 }, { -118, 16, 16, 0, 0, 0 }, + { -119, 16, 16, 0, 0, 0 }, { -120, 16, 16, 0, 0, 0 }, { -121, 16, 16, 0, 0, 0 }, { -122, 16, 16, 0, 0, 0 }, { -123, 16, 16, 0, 0, 0 }, + { -124, 16, 16, 0, 0, 0 }, { -125, 16, 16, 0, 0, 0 }, { -126, 16, 16, 0, 0, 0 }, { -127, 16, 16, 0, 0, 0 }, { -128, 16, 16, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_905314 = { - 160, { - { 16, 0, 16, 8, 0, 0 }, { 16, 1, 16, 8, 0, 0 }, { 16, 2, 16, 8, 0, 0 }, { 16, 3, 16, 8, 0, 0 }, { 16, 4, 16, 8, 0, 0 }, - { 16, 5, 16, 8, 0, 0 }, { 16, 6, 16, 8, 0, 0 }, { 16, 7, 16, 8, 0, 0 }, { 16, 8, 16, 8, 0, 0 }, { 16, 9, 16, 8, 0, 0 }, - { 16, 10, 16, 8, 0, 0 }, { 16, 11, 16, 8, 0, 0 }, { 16, 12, 16, 8, 0, 0 }, { 16, 13, 16, 8, 0, 0 }, { 16, 14, 15, 8, 0, 0 }, - { 16, 15, 15, 8, 0, 0 }, { 16, 16, 15, 8, 0, 0 }, { 16, 17, 15, 8, 0, 0 }, { 16, 18, 15, 8, 0, 0 }, { 16, 19, 15, 8, 0, 0 }, - { 16, 20, 15, 8, 0, 0 }, { 16, 21, 14, 8, 5, 0 }, { 16, 22, 14, 8, 5, 0 }, { 16, 23, 14, 8, 5, 0 }, { 16, 24, 14, 8, 5, 0 }, - { 16, 25, 14, 8, 5, 0 }, { 16, 26, 13, 8, 5, 0 }, { 16, 27, 13, 8, 5, 0 }, { 16, 28, 13, 8, 5, 0 }, { 16, 29, 13, 8, 5, 0 }, - { 16, 30, 12, 8, 5, 0 }, { 16, 31, 12, 8, 5, 0 }, { 16, 32, 12, 8, 5, 0 }, { 16, 33, 12, 8, 5, 0 }, { 16, 34, 11, 8, 5, 0 }, - { 16, 35, 11, 8, 5, 0 }, { 16, 36, 11, 8, 5, 0 }, { 16, 37, 11, 8, 5, 0 }, { 16, 38, 10, 8, 5, 0 }, { 16, 39, 10, 8, 5, 0 }, - { 16, 40, 10, 8, 5, 0 }, { 16, 41, 10, 8, 5, 0 }, { 16, 42, 10, 8, 5, 0 }, { 16, 43, 9, 8, 0, 0 }, { 16, 44, 9, 8, 0, 0 }, - { 16, 45, 9, 8, 0, 0 }, { 16, 46, 9, 8, 0, 0 }, { 16, 47, 9, 8, 0, 0 }, { 16, 48, 9, 8, 0, 0 }, { 16, 49, 9, 8, 0, 0 }, - { 16, 50, 8, 8, 0, 0 }, { 16, 51, 8, 8, 0, 0 }, { 16, 52, 8, 8, 0, 0 }, { 16, 53, 8, 8, 0, 0 }, { 16, 54, 8, 8, 0, 0 }, - { 16, 55, 8, 8, 0, 0 }, { 16, 56, 8, 8, 0, 0 }, { 16, 57, 8, 8, 0, 0 }, { 16, 58, 8, 8, 0, 0 }, { 16, 59, 8, 8, 0, 0 }, - { 16, 60, 8, 8, 0, 0 }, { 16, 61, 8, 8, 0, 0 }, { 16, 62, 8, 8, 0, 0 }, { 16, 63, 8, 8, 0, 0 }, { 16, 64, 8, 8, 0, 0 }, - { 16, 65, 8, 8, 0, 0 }, { 16, 66, 8, 8, 0, 0 }, { 16, 67, 8, 8, 0, 0 }, { 16, 68, 8, 8, 0, 0 }, { 16, 69, 8, 8, 0, 0 }, - { 16, 70, 8, 8, 0, 0 }, { 16, 71, 8, 8, 0, 0 }, { 16, 72, 8, 8, 0, 0 }, { 16, 73, 8, 8, 0, 0 }, { 16, 74, 8, 8, 0, 0 }, - { 16, 75, 8, 8, 0, 0 }, { 16, 76, 8, 8, 0, 0 }, { 16, 77, 8, 8, 0, 0 }, { 16, 78, 8, 8, 0, 0 }, { 16, 79, 8, 8, 0, 0 }, - { 16, 80, 8, 8, 0, 0 }, { 16, 81, 8, 8, 0, 0 }, { 16, 82, 8, 8, 0, 0 }, { 16, 83, 8, 8, 0, 0 }, { 16, 84, 8, 8, 0, 0 }, - { 16, 85, 8, 8, 0, 0 }, { 16, 86, 8, 8, 0, 0 }, { 16, 87, 8, 8, 0, 0 }, { 16, 88, 8, 8, 0, 0 }, { 16, 89, 8, 8, 0, 0 }, - { 16, 90, 8, 8, 0, 0 }, { 16, 91, 8, 8, 0, 0 }, { 16, 92, 8, 8, 0, 0 }, { 16, 93, 8, 8, 0, 0 }, { 16, 94, 8, 8, 0, 0 }, - { 16, 95, 8, 8, 0, 0 }, { 16, 96, 8, 8, 0, 0 }, { 16, 97, 8, 8, 0, 0 }, { 16, 98, 8, 8, 0, 0 }, { 16, 99, 8, 8, 0, 0 }, - { 16, 100, 8, 8, 0, 0 }, { 16, 101, 8, 8, 0, 0 }, { 16, 102, 8, 8, 0, 0 }, { 16, 103, 8, 8, 0, 0 }, { 16, 104, 8, 8, 0, 0 }, - { 16, 105, 8, 8, 0, 0 }, { 16, 106, 8, 8, 0, 0 }, { 16, 107, 8, 8, 0, 0 }, { 16, 108, 8, 8, 0, 0 }, { 16, 109, 8, 8, 0, 0 }, - { 16, 110, 9, 8, 0, 0 }, { 16, 111, 9, 8, 0, 0 }, { 16, 112, 9, 8, 0, 0 }, { 16, 113, 9, 8, 0, 0 }, { 16, 114, 9, 8, 0, 0 }, - { 16, 115, 9, 8, 0, 0 }, { 16, 116, 9, 8, 0, 0 }, { 16, 117, 10, 8, 1, 0 }, { 16, 118, 10, 8, 1, 0 }, { 16, 119, 10, 8, 1, 0 }, - { 16, 120, 10, 8, 1, 0 }, { 16, 121, 10, 8, 1, 0 }, { 16, 122, 11, 8, 1, 0 }, { 16, 123, 11, 8, 1, 0 }, { 16, 124, 11, 8, 1, 0 }, - { 16, 125, 11, 8, 1, 0 }, { 16, 126, 12, 8, 1, 0 }, { 16, 127, 12, 8, 1, 0 }, { 16, 128, 12, 8, 1, 0 }, { 16, 129, 12, 8, 1, 0 }, - { 16, 130, 13, 8, 1, 0 }, { 16, 131, 13, 8, 1, 0 }, { 16, 132, 13, 8, 1, 0 }, { 16, 133, 13, 8, 1, 0 }, { 16, 134, 14, 8, 1, 0 }, - { 16, 135, 14, 8, 1, 0 }, { 16, 136, 14, 8, 1, 0 }, { 16, 137, 14, 8, 1, 0 }, { 16, 138, 14, 8, 1, 0 }, { 16, 139, 15, 8, 0, 0 }, - { 16, 140, 15, 8, 0, 0 }, { 16, 141, 15, 8, 0, 0 }, { 16, 142, 15, 8, 0, 0 }, { 16, 143, 15, 8, 0, 0 }, { 16, 144, 15, 8, 0, 0 }, - { 16, 145, 15, 8, 0, 0 }, { 16, 146, 16, 8, 0, 0 }, { 16, 147, 16, 8, 0, 0 }, { 16, 148, 16, 8, 0, 0 }, { 16, 149, 16, 8, 0, 0 }, - { 16, 150, 16, 8, 0, 0 }, { 16, 151, 16, 8, 0, 0 }, { 16, 152, 16, 8, 0, 0 }, { 16, 153, 16, 8, 0, 0 }, { 16, 154, 16, 8, 0, 0 }, - { 16, 155, 16, 8, 0, 0 }, { 16, 156, 16, 8, 0, 0 }, { 16, 157, 16, 8, 0, 0 }, { 16, 158, 16, 8, 0, 0 }, { 16, 159, 16, 8, 0, 0 }, + 160, { + { 16, 0, 16, 8, 0, 0 }, { 16, 1, 16, 8, 0, 0 }, { 16, 2, 16, 8, 0, 0 }, { 16, 3, 16, 8, 0, 0 }, { 16, 4, 16, 8, 0, 0 }, + { 16, 5, 16, 8, 0, 0 }, { 16, 6, 16, 8, 0, 0 }, { 16, 7, 16, 8, 0, 0 }, { 16, 8, 16, 8, 0, 0 }, { 16, 9, 16, 8, 0, 0 }, + { 16, 10, 16, 8, 0, 0 }, { 16, 11, 16, 8, 0, 0 }, { 16, 12, 16, 8, 0, 0 }, { 16, 13, 16, 8, 0, 0 }, { 16, 14, 15, 8, 0, 0 }, + { 16, 15, 15, 8, 0, 0 }, { 16, 16, 15, 8, 0, 0 }, { 16, 17, 15, 8, 0, 0 }, { 16, 18, 15, 8, 0, 0 }, { 16, 19, 15, 8, 0, 0 }, + { 16, 20, 15, 8, 0, 0 }, { 16, 21, 14, 8, 5, 0 }, { 16, 22, 14, 8, 5, 0 }, { 16, 23, 14, 8, 5, 0 }, { 16, 24, 14, 8, 5, 0 }, + { 16, 25, 14, 8, 5, 0 }, { 16, 26, 13, 8, 5, 0 }, { 16, 27, 13, 8, 5, 0 }, { 16, 28, 13, 8, 5, 0 }, { 16, 29, 13, 8, 5, 0 }, + { 16, 30, 12, 8, 5, 0 }, { 16, 31, 12, 8, 5, 0 }, { 16, 32, 12, 8, 5, 0 }, { 16, 33, 12, 8, 5, 0 }, { 16, 34, 11, 8, 5, 0 }, + { 16, 35, 11, 8, 5, 0 }, { 16, 36, 11, 8, 5, 0 }, { 16, 37, 11, 8, 5, 0 }, { 16, 38, 10, 8, 5, 0 }, { 16, 39, 10, 8, 5, 0 }, + { 16, 40, 10, 8, 5, 0 }, { 16, 41, 10, 8, 5, 0 }, { 16, 42, 10, 8, 5, 0 }, { 16, 43, 9, 8, 0, 0 }, { 16, 44, 9, 8, 0, 0 }, + { 16, 45, 9, 8, 0, 0 }, { 16, 46, 9, 8, 0, 0 }, { 16, 47, 9, 8, 0, 0 }, { 16, 48, 9, 8, 0, 0 }, { 16, 49, 9, 8, 0, 0 }, + { 16, 50, 8, 8, 0, 0 }, { 16, 51, 8, 8, 0, 0 }, { 16, 52, 8, 8, 0, 0 }, { 16, 53, 8, 8, 0, 0 }, { 16, 54, 8, 8, 0, 0 }, + { 16, 55, 8, 8, 0, 0 }, { 16, 56, 8, 8, 0, 0 }, { 16, 57, 8, 8, 0, 0 }, { 16, 58, 8, 8, 0, 0 }, { 16, 59, 8, 8, 0, 0 }, + { 16, 60, 8, 8, 0, 0 }, { 16, 61, 8, 8, 0, 0 }, { 16, 62, 8, 8, 0, 0 }, { 16, 63, 8, 8, 0, 0 }, { 16, 64, 8, 8, 0, 0 }, + { 16, 65, 8, 8, 0, 0 }, { 16, 66, 8, 8, 0, 0 }, { 16, 67, 8, 8, 0, 0 }, { 16, 68, 8, 8, 0, 0 }, { 16, 69, 8, 8, 0, 0 }, + { 16, 70, 8, 8, 0, 0 }, { 16, 71, 8, 8, 0, 0 }, { 16, 72, 8, 8, 0, 0 }, { 16, 73, 8, 8, 0, 0 }, { 16, 74, 8, 8, 0, 0 }, + { 16, 75, 8, 8, 0, 0 }, { 16, 76, 8, 8, 0, 0 }, { 16, 77, 8, 8, 0, 0 }, { 16, 78, 8, 8, 0, 0 }, { 16, 79, 8, 8, 0, 0 }, + { 16, 80, 8, 8, 0, 0 }, { 16, 81, 8, 8, 0, 0 }, { 16, 82, 8, 8, 0, 0 }, { 16, 83, 8, 8, 0, 0 }, { 16, 84, 8, 8, 0, 0 }, + { 16, 85, 8, 8, 0, 0 }, { 16, 86, 8, 8, 0, 0 }, { 16, 87, 8, 8, 0, 0 }, { 16, 88, 8, 8, 0, 0 }, { 16, 89, 8, 8, 0, 0 }, + { 16, 90, 8, 8, 0, 0 }, { 16, 91, 8, 8, 0, 0 }, { 16, 92, 8, 8, 0, 0 }, { 16, 93, 8, 8, 0, 0 }, { 16, 94, 8, 8, 0, 0 }, + { 16, 95, 8, 8, 0, 0 }, { 16, 96, 8, 8, 0, 0 }, { 16, 97, 8, 8, 0, 0 }, { 16, 98, 8, 8, 0, 0 }, { 16, 99, 8, 8, 0, 0 }, + { 16, 100, 8, 8, 0, 0 }, { 16, 101, 8, 8, 0, 0 }, { 16, 102, 8, 8, 0, 0 }, { 16, 103, 8, 8, 0, 0 }, { 16, 104, 8, 8, 0, 0 }, + { 16, 105, 8, 8, 0, 0 }, { 16, 106, 8, 8, 0, 0 }, { 16, 107, 8, 8, 0, 0 }, { 16, 108, 8, 8, 0, 0 }, { 16, 109, 8, 8, 0, 0 }, + { 16, 110, 9, 8, 0, 0 }, { 16, 111, 9, 8, 0, 0 }, { 16, 112, 9, 8, 0, 0 }, { 16, 113, 9, 8, 0, 0 }, { 16, 114, 9, 8, 0, 0 }, + { 16, 115, 9, 8, 0, 0 }, { 16, 116, 9, 8, 0, 0 }, { 16, 117, 10, 8, 1, 0 }, { 16, 118, 10, 8, 1, 0 }, { 16, 119, 10, 8, 1, 0 }, + { 16, 120, 10, 8, 1, 0 }, { 16, 121, 10, 8, 1, 0 }, { 16, 122, 11, 8, 1, 0 }, { 16, 123, 11, 8, 1, 0 }, { 16, 124, 11, 8, 1, 0 }, + { 16, 125, 11, 8, 1, 0 }, { 16, 126, 12, 8, 1, 0 }, { 16, 127, 12, 8, 1, 0 }, { 16, 128, 12, 8, 1, 0 }, { 16, 129, 12, 8, 1, 0 }, + { 16, 130, 13, 8, 1, 0 }, { 16, 131, 13, 8, 1, 0 }, { 16, 132, 13, 8, 1, 0 }, { 16, 133, 13, 8, 1, 0 }, { 16, 134, 14, 8, 1, 0 }, + { 16, 135, 14, 8, 1, 0 }, { 16, 136, 14, 8, 1, 0 }, { 16, 137, 14, 8, 1, 0 }, { 16, 138, 14, 8, 1, 0 }, { 16, 139, 15, 8, 0, 0 }, + { 16, 140, 15, 8, 0, 0 }, { 16, 141, 15, 8, 0, 0 }, { 16, 142, 15, 8, 0, 0 }, { 16, 143, 15, 8, 0, 0 }, { 16, 144, 15, 8, 0, 0 }, + { 16, 145, 15, 8, 0, 0 }, { 16, 146, 16, 8, 0, 0 }, { 16, 147, 16, 8, 0, 0 }, { 16, 148, 16, 8, 0, 0 }, { 16, 149, 16, 8, 0, 0 }, + { 16, 150, 16, 8, 0, 0 }, { 16, 151, 16, 8, 0, 0 }, { 16, 152, 16, 8, 0, 0 }, { 16, 153, 16, 8, 0, 0 }, { 16, 154, 16, 8, 0, 0 }, + { 16, 155, 16, 8, 0, 0 }, { 16, 156, 16, 8, 0, 0 }, { 16, 157, 16, 8, 0, 0 }, { 16, 158, 16, 8, 0, 0 }, { 16, 159, 16, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9058B6 = { - 160, { - { 0, 16, 16, 16, 0, 0 }, { 1, 16, 16, 16, 0, 0 }, { 2, 16, 16, 16, 0, 0 }, { 3, 16, 16, 16, 0, 0 }, { 4, 16, 16, 16, 0, 0 }, - { 5, 16, 16, 16, 0, 0 }, { 6, 16, 16, 16, 0, 0 }, { 7, 16, 16, 16, 0, 0 }, { 8, 16, 16, 16, 0, 0 }, { 9, 16, 16, 16, 0, 0 }, - { 10, 16, 16, 16, 0, 0 }, { 11, 16, 16, 16, 0, 0 }, { 12, 16, 16, 16, 0, 0 }, { 13, 16, 16, 16, 0, 0 }, { 14, 16, 15, 16, 0, 0 }, - { 15, 16, 15, 16, 0, 0 }, { 16, 16, 15, 16, 0, 0 }, { 17, 16, 15, 16, 0, 0 }, { 18, 16, 15, 16, 0, 0 }, { 19, 16, 15, 16, 0, 0 }, - { 20, 16, 15, 16, 0, 0 }, { 21, 16, 14, 16, 5, 0 }, { 22, 16, 14, 16, 5, 0 }, { 23, 16, 14, 16, 5, 0 }, { 24, 16, 14, 16, 5, 0 }, - { 25, 16, 14, 16, 5, 0 }, { 26, 16, 13, 16, 5, 0 }, { 27, 16, 13, 16, 5, 0 }, { 28, 16, 13, 16, 5, 0 }, { 29, 16, 13, 16, 5, 0 }, - { 30, 16, 12, 16, 5, 0 }, { 31, 16, 12, 16, 5, 0 }, { 32, 16, 12, 16, 5, 0 }, { 33, 16, 12, 16, 5, 0 }, { 34, 16, 11, 16, 5, 0 }, - { 35, 16, 11, 16, 5, 0 }, { 36, 16, 11, 16, 5, 0 }, { 37, 16, 11, 16, 5, 0 }, { 38, 16, 10, 16, 5, 0 }, { 39, 16, 10, 16, 5, 0 }, - { 40, 16, 10, 16, 5, 0 }, { 41, 16, 10, 16, 5, 0 }, { 42, 16, 10, 16, 5, 0 }, { 43, 16, 9, 16, 0, 0 }, { 44, 16, 9, 16, 0, 0 }, - { 45, 16, 9, 16, 0, 0 }, { 46, 16, 9, 16, 0, 0 }, { 47, 16, 9, 16, 0, 0 }, { 48, 16, 9, 16, 0, 0 }, { 49, 16, 9, 16, 0, 0 }, - { 50, 16, 8, 16, 0, 0 }, { 51, 16, 8, 16, 0, 0 }, { 52, 16, 8, 16, 0, 0 }, { 53, 16, 8, 16, 0, 0 }, { 54, 16, 8, 16, 0, 0 }, - { 55, 16, 8, 16, 0, 0 }, { 56, 16, 8, 16, 0, 0 }, { 57, 16, 8, 16, 0, 0 }, { 58, 16, 8, 16, 0, 0 }, { 59, 16, 8, 16, 0, 0 }, - { 60, 16, 8, 16, 0, 0 }, { 61, 16, 8, 16, 0, 0 }, { 62, 16, 8, 16, 0, 0 }, { 63, 16, 8, 16, 0, 0 }, { 64, 16, 8, 16, 0, 0 }, - { 65, 16, 8, 16, 0, 0 }, { 66, 16, 8, 16, 0, 0 }, { 67, 16, 8, 16, 0, 0 }, { 68, 16, 8, 16, 0, 0 }, { 69, 16, 8, 16, 0, 0 }, - { 70, 16, 8, 16, 0, 0 }, { 71, 16, 8, 16, 0, 0 }, { 72, 16, 8, 16, 0, 0 }, { 73, 16, 8, 16, 0, 0 }, { 74, 16, 8, 16, 0, 0 }, - { 75, 16, 8, 16, 0, 0 }, { 76, 16, 8, 16, 0, 0 }, { 77, 16, 8, 16, 0, 0 }, { 78, 16, 8, 16, 0, 0 }, { 79, 16, 8, 16, 0, 0 }, - { 80, 16, 8, 16, 0, 0 }, { 81, 16, 8, 16, 0, 0 }, { 82, 16, 8, 16, 0, 0 }, { 83, 16, 8, 16, 0, 0 }, { 84, 16, 8, 16, 0, 0 }, - { 85, 16, 8, 16, 0, 0 }, { 86, 16, 8, 16, 0, 0 }, { 87, 16, 8, 16, 0, 0 }, { 88, 16, 8, 16, 0, 0 }, { 89, 16, 8, 16, 0, 0 }, - { 90, 16, 8, 16, 0, 0 }, { 91, 16, 8, 16, 0, 0 }, { 92, 16, 8, 16, 0, 0 }, { 93, 16, 8, 16, 0, 0 }, { 94, 16, 8, 16, 0, 0 }, - { 95, 16, 8, 16, 0, 0 }, { 96, 16, 8, 16, 0, 0 }, { 97, 16, 8, 16, 0, 0 }, { 98, 16, 8, 16, 0, 0 }, { 99, 16, 8, 16, 0, 0 }, - { 100, 16, 8, 16, 0, 0 }, { 101, 16, 8, 16, 0, 0 }, { 102, 16, 8, 16, 0, 0 }, { 103, 16, 8, 16, 0, 0 }, { 104, 16, 8, 16, 0, 0 }, - { 105, 16, 8, 16, 0, 0 }, { 106, 16, 8, 16, 0, 0 }, { 107, 16, 8, 16, 0, 0 }, { 108, 16, 8, 16, 0, 0 }, { 109, 16, 8, 16, 0, 0 }, - { 110, 16, 9, 16, 0, 0 }, { 111, 16, 9, 16, 0, 0 }, { 112, 16, 9, 16, 0, 0 }, { 113, 16, 9, 16, 0, 0 }, { 114, 16, 9, 16, 0, 0 }, - { 115, 16, 9, 16, 0, 0 }, { 116, 16, 9, 16, 0, 0 }, { 117, 16, 10, 16, 1, 0 }, { 118, 16, 10, 16, 1, 0 }, { 119, 16, 10, 16, 1, 0 }, - { 120, 16, 10, 16, 1, 0 }, { 121, 16, 10, 16, 1, 0 }, { 122, 16, 11, 16, 1, 0 }, { 123, 16, 11, 16, 1, 0 }, { 124, 16, 11, 16, 1, 0 }, - { 125, 16, 11, 16, 1, 0 }, { 126, 16, 12, 16, 1, 0 }, { 127, 16, 12, 16, 1, 0 }, { 128, 16, 12, 16, 1, 0 }, { 129, 16, 12, 16, 1, 0 }, - { 130, 16, 13, 16, 1, 0 }, { 131, 16, 13, 16, 1, 0 }, { 132, 16, 13, 16, 1, 0 }, { 133, 16, 13, 16, 1, 0 }, { 134, 16, 14, 16, 1, 0 }, - { 135, 16, 14, 16, 1, 0 }, { 136, 16, 14, 16, 1, 0 }, { 137, 16, 14, 16, 1, 0 }, { 138, 16, 14, 16, 1, 0 }, { 139, 16, 15, 16, 0, 0 }, - { 140, 16, 15, 16, 0, 0 }, { 141, 16, 15, 16, 0, 0 }, { 142, 16, 15, 16, 0, 0 }, { 143, 16, 15, 16, 0, 0 }, { 144, 16, 15, 16, 0, 0 }, - { 145, 16, 15, 16, 0, 0 }, { 146, 16, 16, 16, 0, 0 }, { 147, 16, 16, 16, 0, 0 }, { 148, 16, 16, 16, 0, 0 }, { 149, 16, 16, 16, 0, 0 }, - { 150, 16, 16, 16, 0, 0 }, { 151, 16, 16, 16, 0, 0 }, { 152, 16, 16, 16, 0, 0 }, { 153, 16, 16, 16, 0, 0 }, { 154, 16, 16, 16, 0, 0 }, - { 155, 16, 16, 16, 0, 0 }, { 156, 16, 16, 16, 0, 0 }, { 157, 16, 16, 16, 0, 0 }, { 158, 16, 16, 16, 0, 0 }, { 159, 16, 16, 16, 0, 0 }, + 160, { + { 0, 16, 16, 16, 0, 0 }, { 1, 16, 16, 16, 0, 0 }, { 2, 16, 16, 16, 0, 0 }, { 3, 16, 16, 16, 0, 0 }, { 4, 16, 16, 16, 0, 0 }, + { 5, 16, 16, 16, 0, 0 }, { 6, 16, 16, 16, 0, 0 }, { 7, 16, 16, 16, 0, 0 }, { 8, 16, 16, 16, 0, 0 }, { 9, 16, 16, 16, 0, 0 }, + { 10, 16, 16, 16, 0, 0 }, { 11, 16, 16, 16, 0, 0 }, { 12, 16, 16, 16, 0, 0 }, { 13, 16, 16, 16, 0, 0 }, { 14, 16, 15, 16, 0, 0 }, + { 15, 16, 15, 16, 0, 0 }, { 16, 16, 15, 16, 0, 0 }, { 17, 16, 15, 16, 0, 0 }, { 18, 16, 15, 16, 0, 0 }, { 19, 16, 15, 16, 0, 0 }, + { 20, 16, 15, 16, 0, 0 }, { 21, 16, 14, 16, 5, 0 }, { 22, 16, 14, 16, 5, 0 }, { 23, 16, 14, 16, 5, 0 }, { 24, 16, 14, 16, 5, 0 }, + { 25, 16, 14, 16, 5, 0 }, { 26, 16, 13, 16, 5, 0 }, { 27, 16, 13, 16, 5, 0 }, { 28, 16, 13, 16, 5, 0 }, { 29, 16, 13, 16, 5, 0 }, + { 30, 16, 12, 16, 5, 0 }, { 31, 16, 12, 16, 5, 0 }, { 32, 16, 12, 16, 5, 0 }, { 33, 16, 12, 16, 5, 0 }, { 34, 16, 11, 16, 5, 0 }, + { 35, 16, 11, 16, 5, 0 }, { 36, 16, 11, 16, 5, 0 }, { 37, 16, 11, 16, 5, 0 }, { 38, 16, 10, 16, 5, 0 }, { 39, 16, 10, 16, 5, 0 }, + { 40, 16, 10, 16, 5, 0 }, { 41, 16, 10, 16, 5, 0 }, { 42, 16, 10, 16, 5, 0 }, { 43, 16, 9, 16, 0, 0 }, { 44, 16, 9, 16, 0, 0 }, + { 45, 16, 9, 16, 0, 0 }, { 46, 16, 9, 16, 0, 0 }, { 47, 16, 9, 16, 0, 0 }, { 48, 16, 9, 16, 0, 0 }, { 49, 16, 9, 16, 0, 0 }, + { 50, 16, 8, 16, 0, 0 }, { 51, 16, 8, 16, 0, 0 }, { 52, 16, 8, 16, 0, 0 }, { 53, 16, 8, 16, 0, 0 }, { 54, 16, 8, 16, 0, 0 }, + { 55, 16, 8, 16, 0, 0 }, { 56, 16, 8, 16, 0, 0 }, { 57, 16, 8, 16, 0, 0 }, { 58, 16, 8, 16, 0, 0 }, { 59, 16, 8, 16, 0, 0 }, + { 60, 16, 8, 16, 0, 0 }, { 61, 16, 8, 16, 0, 0 }, { 62, 16, 8, 16, 0, 0 }, { 63, 16, 8, 16, 0, 0 }, { 64, 16, 8, 16, 0, 0 }, + { 65, 16, 8, 16, 0, 0 }, { 66, 16, 8, 16, 0, 0 }, { 67, 16, 8, 16, 0, 0 }, { 68, 16, 8, 16, 0, 0 }, { 69, 16, 8, 16, 0, 0 }, + { 70, 16, 8, 16, 0, 0 }, { 71, 16, 8, 16, 0, 0 }, { 72, 16, 8, 16, 0, 0 }, { 73, 16, 8, 16, 0, 0 }, { 74, 16, 8, 16, 0, 0 }, + { 75, 16, 8, 16, 0, 0 }, { 76, 16, 8, 16, 0, 0 }, { 77, 16, 8, 16, 0, 0 }, { 78, 16, 8, 16, 0, 0 }, { 79, 16, 8, 16, 0, 0 }, + { 80, 16, 8, 16, 0, 0 }, { 81, 16, 8, 16, 0, 0 }, { 82, 16, 8, 16, 0, 0 }, { 83, 16, 8, 16, 0, 0 }, { 84, 16, 8, 16, 0, 0 }, + { 85, 16, 8, 16, 0, 0 }, { 86, 16, 8, 16, 0, 0 }, { 87, 16, 8, 16, 0, 0 }, { 88, 16, 8, 16, 0, 0 }, { 89, 16, 8, 16, 0, 0 }, + { 90, 16, 8, 16, 0, 0 }, { 91, 16, 8, 16, 0, 0 }, { 92, 16, 8, 16, 0, 0 }, { 93, 16, 8, 16, 0, 0 }, { 94, 16, 8, 16, 0, 0 }, + { 95, 16, 8, 16, 0, 0 }, { 96, 16, 8, 16, 0, 0 }, { 97, 16, 8, 16, 0, 0 }, { 98, 16, 8, 16, 0, 0 }, { 99, 16, 8, 16, 0, 0 }, + { 100, 16, 8, 16, 0, 0 }, { 101, 16, 8, 16, 0, 0 }, { 102, 16, 8, 16, 0, 0 }, { 103, 16, 8, 16, 0, 0 }, { 104, 16, 8, 16, 0, 0 }, + { 105, 16, 8, 16, 0, 0 }, { 106, 16, 8, 16, 0, 0 }, { 107, 16, 8, 16, 0, 0 }, { 108, 16, 8, 16, 0, 0 }, { 109, 16, 8, 16, 0, 0 }, + { 110, 16, 9, 16, 0, 0 }, { 111, 16, 9, 16, 0, 0 }, { 112, 16, 9, 16, 0, 0 }, { 113, 16, 9, 16, 0, 0 }, { 114, 16, 9, 16, 0, 0 }, + { 115, 16, 9, 16, 0, 0 }, { 116, 16, 9, 16, 0, 0 }, { 117, 16, 10, 16, 1, 0 }, { 118, 16, 10, 16, 1, 0 }, { 119, 16, 10, 16, 1, 0 }, + { 120, 16, 10, 16, 1, 0 }, { 121, 16, 10, 16, 1, 0 }, { 122, 16, 11, 16, 1, 0 }, { 123, 16, 11, 16, 1, 0 }, { 124, 16, 11, 16, 1, 0 }, + { 125, 16, 11, 16, 1, 0 }, { 126, 16, 12, 16, 1, 0 }, { 127, 16, 12, 16, 1, 0 }, { 128, 16, 12, 16, 1, 0 }, { 129, 16, 12, 16, 1, 0 }, + { 130, 16, 13, 16, 1, 0 }, { 131, 16, 13, 16, 1, 0 }, { 132, 16, 13, 16, 1, 0 }, { 133, 16, 13, 16, 1, 0 }, { 134, 16, 14, 16, 1, 0 }, + { 135, 16, 14, 16, 1, 0 }, { 136, 16, 14, 16, 1, 0 }, { 137, 16, 14, 16, 1, 0 }, { 138, 16, 14, 16, 1, 0 }, { 139, 16, 15, 16, 0, 0 }, + { 140, 16, 15, 16, 0, 0 }, { 141, 16, 15, 16, 0, 0 }, { 142, 16, 15, 16, 0, 0 }, { 143, 16, 15, 16, 0, 0 }, { 144, 16, 15, 16, 0, 0 }, + { 145, 16, 15, 16, 0, 0 }, { 146, 16, 16, 16, 0, 0 }, { 147, 16, 16, 16, 0, 0 }, { 148, 16, 16, 16, 0, 0 }, { 149, 16, 16, 16, 0, 0 }, + { 150, 16, 16, 16, 0, 0 }, { 151, 16, 16, 16, 0, 0 }, { 152, 16, 16, 16, 0, 0 }, { 153, 16, 16, 16, 0, 0 }, { 154, 16, 16, 16, 0, 0 }, + { 155, 16, 16, 16, 0, 0 }, { 156, 16, 16, 16, 0, 0 }, { 157, 16, 16, 16, 0, 0 }, { 158, 16, 16, 16, 0, 0 }, { 159, 16, 16, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_905E58 = { - 160, { - { 16, 31, 16, 24, 0, 0 }, { 16, 30, 16, 24, 0, 0 }, { 16, 29, 16, 24, 0, 0 }, { 16, 28, 16, 24, 0, 0 }, { 16, 27, 16, 24, 0, 0 }, - { 16, 26, 16, 24, 0, 0 }, { 16, 25, 16, 24, 0, 0 }, { 16, 24, 16, 24, 0, 0 }, { 16, 23, 16, 24, 0, 0 }, { 16, 22, 16, 24, 0, 0 }, - { 16, 21, 16, 24, 0, 0 }, { 16, 20, 16, 24, 0, 0 }, { 16, 19, 16, 24, 0, 0 }, { 16, 18, 16, 24, 0, 0 }, { 16, 17, 15, 24, 0, 0 }, - { 16, 16, 15, 24, 0, 0 }, { 16, 15, 15, 24, 0, 0 }, { 16, 14, 15, 24, 0, 0 }, { 16, 13, 15, 24, 0, 0 }, { 16, 12, 15, 24, 0, 0 }, - { 16, 11, 15, 24, 0, 0 }, { 16, 10, 14, 24, 5, 0 }, { 16, 9, 14, 24, 5, 0 }, { 16, 8, 14, 24, 5, 0 }, { 16, 7, 14, 24, 5, 0 }, - { 16, 6, 14, 24, 5, 0 }, { 16, 5, 13, 24, 5, 0 }, { 16, 4, 13, 24, 5, 0 }, { 16, 3, 13, 24, 5, 0 }, { 16, 2, 13, 24, 5, 0 }, - { 16, 1, 12, 24, 5, 0 }, { 16, 0, 12, 24, 5, 0 }, { 16, -1, 12, 24, 5, 0 }, { 16, -2, 12, 24, 5, 0 }, { 16, -3, 11, 24, 5, 0 }, - { 16, -4, 11, 24, 5, 0 }, { 16, -5, 11, 24, 5, 0 }, { 16, -6, 11, 24, 5, 0 }, { 16, -7, 10, 24, 5, 0 }, { 16, -8, 10, 24, 5, 0 }, - { 16, -9, 10, 24, 5, 0 }, { 16, -10, 10, 24, 5, 0 }, { 16, -11, 10, 24, 5, 0 }, { 16, -12, 9, 24, 0, 0 }, { 16, -13, 9, 24, 0, 0 }, - { 16, -14, 9, 24, 0, 0 }, { 16, -15, 9, 24, 0, 0 }, { 16, -16, 9, 24, 0, 0 }, { 16, -17, 9, 24, 0, 0 }, { 16, -18, 9, 24, 0, 0 }, - { 16, -19, 8, 24, 0, 0 }, { 16, -20, 8, 24, 0, 0 }, { 16, -21, 8, 24, 0, 0 }, { 16, -22, 8, 24, 0, 0 }, { 16, -23, 8, 24, 0, 0 }, - { 16, -24, 8, 24, 0, 0 }, { 16, -25, 8, 24, 0, 0 }, { 16, -26, 8, 24, 0, 0 }, { 16, -27, 8, 24, 0, 0 }, { 16, -28, 8, 24, 0, 0 }, - { 16, -29, 8, 24, 0, 0 }, { 16, -30, 8, 24, 0, 0 }, { 16, -31, 8, 24, 0, 0 }, { 16, -32, 8, 24, 0, 0 }, { 16, -33, 8, 24, 0, 0 }, - { 16, -34, 8, 24, 0, 0 }, { 16, -35, 8, 24, 0, 0 }, { 16, -36, 8, 24, 0, 0 }, { 16, -37, 8, 24, 0, 0 }, { 16, -38, 8, 24, 0, 0 }, - { 16, -39, 8, 24, 0, 0 }, { 16, -40, 8, 24, 0, 0 }, { 16, -41, 8, 24, 0, 0 }, { 16, -42, 8, 24, 0, 0 }, { 16, -43, 8, 24, 0, 0 }, - { 16, -44, 8, 24, 0, 0 }, { 16, -45, 8, 24, 0, 0 }, { 16, -46, 8, 24, 0, 0 }, { 16, -47, 8, 24, 0, 0 }, { 16, -48, 8, 24, 0, 0 }, - { 16, -49, 8, 24, 0, 0 }, { 16, -50, 8, 24, 0, 0 }, { 16, -51, 8, 24, 0, 0 }, { 16, -52, 8, 24, 0, 0 }, { 16, -53, 8, 24, 0, 0 }, - { 16, -54, 8, 24, 0, 0 }, { 16, -55, 8, 24, 0, 0 }, { 16, -56, 8, 24, 0, 0 }, { 16, -57, 8, 24, 0, 0 }, { 16, -58, 8, 24, 0, 0 }, - { 16, -59, 8, 24, 0, 0 }, { 16, -60, 8, 24, 0, 0 }, { 16, -61, 8, 24, 0, 0 }, { 16, -62, 8, 24, 0, 0 }, { 16, -63, 8, 24, 0, 0 }, - { 16, -64, 8, 24, 0, 0 }, { 16, -65, 8, 24, 0, 0 }, { 16, -66, 8, 24, 0, 0 }, { 16, -67, 8, 24, 0, 0 }, { 16, -68, 8, 24, 0, 0 }, - { 16, -69, 8, 24, 0, 0 }, { 16, -70, 8, 24, 0, 0 }, { 16, -71, 8, 24, 0, 0 }, { 16, -72, 8, 24, 0, 0 }, { 16, -73, 8, 24, 0, 0 }, - { 16, -74, 8, 24, 0, 0 }, { 16, -75, 8, 24, 0, 0 }, { 16, -76, 8, 24, 0, 0 }, { 16, -77, 8, 24, 0, 0 }, { 16, -78, 8, 24, 0, 0 }, - { 16, -79, 9, 24, 0, 0 }, { 16, -80, 9, 24, 0, 0 }, { 16, -81, 9, 24, 0, 0 }, { 16, -82, 9, 24, 0, 0 }, { 16, -83, 9, 24, 0, 0 }, - { 16, -84, 9, 24, 0, 0 }, { 16, -85, 9, 24, 0, 0 }, { 16, -86, 10, 24, 1, 0 }, { 16, -87, 10, 24, 1, 0 }, { 16, -88, 10, 24, 1, 0 }, - { 16, -89, 10, 24, 1, 0 }, { 16, -90, 10, 24, 1, 0 }, { 16, -91, 11, 24, 1, 0 }, { 16, -92, 11, 24, 1, 0 }, { 16, -93, 11, 24, 1, 0 }, - { 16, -94, 11, 24, 1, 0 }, { 16, -95, 12, 24, 1, 0 }, { 16, -96, 12, 24, 1, 0 }, { 16, -97, 12, 24, 1, 0 }, { 16, -98, 12, 24, 1, 0 }, - { 16, -99, 13, 24, 1, 0 }, { 16, -100, 13, 24, 1, 0 }, { 16, -101, 13, 24, 1, 0 }, { 16, -102, 13, 24, 1, 0 }, { 16, -103, 14, 24, 1, 0 }, - { 16, -104, 14, 24, 1, 0 }, { 16, -105, 14, 24, 1, 0 }, { 16, -106, 14, 24, 1, 0 }, { 16, -107, 14, 24, 1, 0 }, { 16, -108, 15, 24, 0, 0 }, - { 16, -109, 15, 24, 0, 0 }, { 16, -110, 15, 24, 0, 0 }, { 16, -111, 15, 24, 0, 0 }, { 16, -112, 15, 24, 0, 0 }, { 16, -113, 15, 24, 0, 0 }, - { 16, -114, 15, 24, 0, 0 }, { 16, -115, 16, 24, 0, 0 }, { 16, -116, 16, 24, 0, 0 }, { 16, -117, 16, 24, 0, 0 }, { 16, -118, 16, 24, 0, 0 }, - { 16, -119, 16, 24, 0, 0 }, { 16, -120, 16, 24, 0, 0 }, { 16, -121, 16, 24, 0, 0 }, { 16, -122, 16, 24, 0, 0 }, { 16, -123, 16, 24, 0, 0 }, - { 16, -124, 16, 24, 0, 0 }, { 16, -125, 16, 24, 0, 0 }, { 16, -126, 16, 24, 0, 0 }, { 16, -127, 16, 24, 0, 0 }, { 16, -128, 16, 24, 0, 0 }, + 160, { + { 16, 31, 16, 24, 0, 0 }, { 16, 30, 16, 24, 0, 0 }, { 16, 29, 16, 24, 0, 0 }, { 16, 28, 16, 24, 0, 0 }, { 16, 27, 16, 24, 0, 0 }, + { 16, 26, 16, 24, 0, 0 }, { 16, 25, 16, 24, 0, 0 }, { 16, 24, 16, 24, 0, 0 }, { 16, 23, 16, 24, 0, 0 }, { 16, 22, 16, 24, 0, 0 }, + { 16, 21, 16, 24, 0, 0 }, { 16, 20, 16, 24, 0, 0 }, { 16, 19, 16, 24, 0, 0 }, { 16, 18, 16, 24, 0, 0 }, { 16, 17, 15, 24, 0, 0 }, + { 16, 16, 15, 24, 0, 0 }, { 16, 15, 15, 24, 0, 0 }, { 16, 14, 15, 24, 0, 0 }, { 16, 13, 15, 24, 0, 0 }, { 16, 12, 15, 24, 0, 0 }, + { 16, 11, 15, 24, 0, 0 }, { 16, 10, 14, 24, 5, 0 }, { 16, 9, 14, 24, 5, 0 }, { 16, 8, 14, 24, 5, 0 }, { 16, 7, 14, 24, 5, 0 }, + { 16, 6, 14, 24, 5, 0 }, { 16, 5, 13, 24, 5, 0 }, { 16, 4, 13, 24, 5, 0 }, { 16, 3, 13, 24, 5, 0 }, { 16, 2, 13, 24, 5, 0 }, + { 16, 1, 12, 24, 5, 0 }, { 16, 0, 12, 24, 5, 0 }, { 16, -1, 12, 24, 5, 0 }, { 16, -2, 12, 24, 5, 0 }, { 16, -3, 11, 24, 5, 0 }, + { 16, -4, 11, 24, 5, 0 }, { 16, -5, 11, 24, 5, 0 }, { 16, -6, 11, 24, 5, 0 }, { 16, -7, 10, 24, 5, 0 }, { 16, -8, 10, 24, 5, 0 }, + { 16, -9, 10, 24, 5, 0 }, { 16, -10, 10, 24, 5, 0 }, { 16, -11, 10, 24, 5, 0 }, { 16, -12, 9, 24, 0, 0 }, { 16, -13, 9, 24, 0, 0 }, + { 16, -14, 9, 24, 0, 0 }, { 16, -15, 9, 24, 0, 0 }, { 16, -16, 9, 24, 0, 0 }, { 16, -17, 9, 24, 0, 0 }, { 16, -18, 9, 24, 0, 0 }, + { 16, -19, 8, 24, 0, 0 }, { 16, -20, 8, 24, 0, 0 }, { 16, -21, 8, 24, 0, 0 }, { 16, -22, 8, 24, 0, 0 }, { 16, -23, 8, 24, 0, 0 }, + { 16, -24, 8, 24, 0, 0 }, { 16, -25, 8, 24, 0, 0 }, { 16, -26, 8, 24, 0, 0 }, { 16, -27, 8, 24, 0, 0 }, { 16, -28, 8, 24, 0, 0 }, + { 16, -29, 8, 24, 0, 0 }, { 16, -30, 8, 24, 0, 0 }, { 16, -31, 8, 24, 0, 0 }, { 16, -32, 8, 24, 0, 0 }, { 16, -33, 8, 24, 0, 0 }, + { 16, -34, 8, 24, 0, 0 }, { 16, -35, 8, 24, 0, 0 }, { 16, -36, 8, 24, 0, 0 }, { 16, -37, 8, 24, 0, 0 }, { 16, -38, 8, 24, 0, 0 }, + { 16, -39, 8, 24, 0, 0 }, { 16, -40, 8, 24, 0, 0 }, { 16, -41, 8, 24, 0, 0 }, { 16, -42, 8, 24, 0, 0 }, { 16, -43, 8, 24, 0, 0 }, + { 16, -44, 8, 24, 0, 0 }, { 16, -45, 8, 24, 0, 0 }, { 16, -46, 8, 24, 0, 0 }, { 16, -47, 8, 24, 0, 0 }, { 16, -48, 8, 24, 0, 0 }, + { 16, -49, 8, 24, 0, 0 }, { 16, -50, 8, 24, 0, 0 }, { 16, -51, 8, 24, 0, 0 }, { 16, -52, 8, 24, 0, 0 }, { 16, -53, 8, 24, 0, 0 }, + { 16, -54, 8, 24, 0, 0 }, { 16, -55, 8, 24, 0, 0 }, { 16, -56, 8, 24, 0, 0 }, { 16, -57, 8, 24, 0, 0 }, { 16, -58, 8, 24, 0, 0 }, + { 16, -59, 8, 24, 0, 0 }, { 16, -60, 8, 24, 0, 0 }, { 16, -61, 8, 24, 0, 0 }, { 16, -62, 8, 24, 0, 0 }, { 16, -63, 8, 24, 0, 0 }, + { 16, -64, 8, 24, 0, 0 }, { 16, -65, 8, 24, 0, 0 }, { 16, -66, 8, 24, 0, 0 }, { 16, -67, 8, 24, 0, 0 }, { 16, -68, 8, 24, 0, 0 }, + { 16, -69, 8, 24, 0, 0 }, { 16, -70, 8, 24, 0, 0 }, { 16, -71, 8, 24, 0, 0 }, { 16, -72, 8, 24, 0, 0 }, { 16, -73, 8, 24, 0, 0 }, + { 16, -74, 8, 24, 0, 0 }, { 16, -75, 8, 24, 0, 0 }, { 16, -76, 8, 24, 0, 0 }, { 16, -77, 8, 24, 0, 0 }, { 16, -78, 8, 24, 0, 0 }, + { 16, -79, 9, 24, 0, 0 }, { 16, -80, 9, 24, 0, 0 }, { 16, -81, 9, 24, 0, 0 }, { 16, -82, 9, 24, 0, 0 }, { 16, -83, 9, 24, 0, 0 }, + { 16, -84, 9, 24, 0, 0 }, { 16, -85, 9, 24, 0, 0 }, { 16, -86, 10, 24, 1, 0 }, { 16, -87, 10, 24, 1, 0 }, { 16, -88, 10, 24, 1, 0 }, + { 16, -89, 10, 24, 1, 0 }, { 16, -90, 10, 24, 1, 0 }, { 16, -91, 11, 24, 1, 0 }, { 16, -92, 11, 24, 1, 0 }, { 16, -93, 11, 24, 1, 0 }, + { 16, -94, 11, 24, 1, 0 }, { 16, -95, 12, 24, 1, 0 }, { 16, -96, 12, 24, 1, 0 }, { 16, -97, 12, 24, 1, 0 }, { 16, -98, 12, 24, 1, 0 }, + { 16, -99, 13, 24, 1, 0 }, { 16, -100, 13, 24, 1, 0 }, { 16, -101, 13, 24, 1, 0 }, { 16, -102, 13, 24, 1, 0 }, { 16, -103, 14, 24, 1, 0 }, + { 16, -104, 14, 24, 1, 0 }, { 16, -105, 14, 24, 1, 0 }, { 16, -106, 14, 24, 1, 0 }, { 16, -107, 14, 24, 1, 0 }, { 16, -108, 15, 24, 0, 0 }, + { 16, -109, 15, 24, 0, 0 }, { 16, -110, 15, 24, 0, 0 }, { 16, -111, 15, 24, 0, 0 }, { 16, -112, 15, 24, 0, 0 }, { 16, -113, 15, 24, 0, 0 }, + { 16, -114, 15, 24, 0, 0 }, { 16, -115, 16, 24, 0, 0 }, { 16, -116, 16, 24, 0, 0 }, { 16, -117, 16, 24, 0, 0 }, { 16, -118, 16, 24, 0, 0 }, + { 16, -119, 16, 24, 0, 0 }, { 16, -120, 16, 24, 0, 0 }, { 16, -121, 16, 24, 0, 0 }, { 16, -122, 16, 24, 0, 0 }, { 16, -123, 16, 24, 0, 0 }, + { 16, -124, 16, 24, 0, 0 }, { 16, -125, 16, 24, 0, 0 }, { 16, -126, 16, 24, 0, 0 }, { 16, -127, 16, 24, 0, 0 }, { 16, -128, 16, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96D4AE = { - 141, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 1, 0, 0, 0 }, { 13, 16, 1, 0, 1, 0 }, { 12, 16, 1, 0, 1, 0 }, - { 11, 16, 1, 0, 1, 0 }, { 10, 16, 1, 0, 1, 0 }, { 9, 16, 1, 0, 1, 0 }, { 8, 16, 2, 0, 1, 0 }, { 7, 16, 2, 0, 1, 0 }, - { 6, 16, 2, 0, 1, 0 }, { 5, 16, 2, 0, 1, 0 }, { 4, 16, 3, 0, 1, 0 }, { 3, 16, 3, 0, 1, 0 }, { 2, 16, 3, 0, 1, 0 }, - { 1, 16, 3, 0, 1, 0 }, { 0, 16, 4, 0, 1, 0 }, { -1, 16, 4, 0, 1, 0 }, { -2, 16, 4, 0, 1, 0 }, { -3, 16, 4, 0, 1, 0 }, - { -4, 16, 5, 0, 1, 0 }, { -5, 16, 5, 0, 1, 0 }, { -6, 16, 6, 0, 1, 0 }, { -7, 16, 6, 0, 1, 0 }, { -8, 16, 6, 0, 1, 0 }, - { -9, 16, 6, 0, 1, 0 }, { -10, 16, 7, 0, 2, 0 }, { -11, 16, 7, 0, 2, 0 }, { -12, 16, 7, 0, 2, 0 }, { -13, 16, 8, 0, 2, 0 }, - { -14, 16, 8, 0, 2, 0 }, { -15, 16, 9, 0, 2, 0 }, { -16, 16, 9, 0, 2, 0 }, { -17, 16, 9, 0, 2, 0 }, { -18, 16, 10, 0, 2, 0 }, - { -19, 16, 10, 0, 2, 0 }, { -20, 16, 11, 0, 2, 0 }, { -21, 16, 12, 0, 2, 0 }, { -22, 16, 12, 0, 2, 0 }, { -23, 16, 12, 0, 2, 0 }, - { -24, 16, 12, 0, 2, 0 }, { -25, 16, 13, 0, 2, 0 }, { -26, 16, 14, 0, 2, 0 }, { -27, 16, 14, 0, 2, 0 }, { -28, 16, 14, 0, 2, 0 }, - { -29, 16, 15, 0, 2, 0 }, { -30, 16, 16, 0, 2, 0 }, { -31, 16, 16, 0, 2, 0 }, { -32, 16, 17, 0, 2, 0 }, { -33, 16, 18, 0, 2, 0 }, - { -34, 16, 18, 0, 2, 0 }, { -35, 16, 18, 0, 2, 0 }, { -36, 16, 19, 0, 2, 0 }, { -37, 16, 20, 0, 2, 0 }, { -38, 16, 20, 0, 2, 0 }, - { -39, 16, 21, 0, 2, 0 }, { -40, 16, 22, 0, 3, 0 }, { -41, 16, 22, 0, 3, 0 }, { -42, 16, 23, 0, 3, 0 }, { -43, 16, 24, 0, 3, 0 }, - { -44, 16, 25, 0, 3, 0 }, { -45, 16, 26, 0, 3, 0 }, { -46, 16, 26, 0, 3, 0 }, { -47, 16, 27, 0, 3, 0 }, { -48, 16, 28, 0, 3, 0 }, - { -49, 16, 28, 0, 3, 0 }, { -50, 16, 29, 0, 3, 0 }, { -51, 16, 30, 0, 3, 0 }, { -52, 16, 30, 0, 3, 0 }, { -53, 16, 31, 0, 3, 0 }, - { -54, 16, 32, 0, 3, 0 }, { -55, 16, 33, 0, 3, 0 }, { -56, 16, 34, 0, 3, 0 }, { -57, 16, 35, 0, 3, 0 }, { -58, 16, 36, 0, 3, 0 }, - { -59, 16, 37, 0, 3, 0 }, { -60, 16, 38, 0, 3, 0 }, { -61, 16, 39, 0, 3, 0 }, { -62, 16, 40, 0, 3, 0 }, { -63, 16, 41, 0, 3, 0 }, - { -64, 16, 42, 0, 3, 0 }, { -65, 16, 43, 0, 3, 0 }, { -66, 16, 44, 0, 3, 0 }, { -67, 16, 45, 0, 3, 0 }, { -68, 16, 46, 0, 3, 0 }, - { -69, 16, 47, 0, 3, 0 }, { -70, 16, 48, 0, 3, 0 }, { -71, 16, 49, 0, 3, 0 }, { -72, 16, 50, 0, 3, 0 }, { -73, 16, 51, 0, 3, 0 }, - { -73, 16, 52, 0, 3, 0 }, { -74, 16, 53, 0, 4, 0 }, { -74, 16, 54, 0, 4, 0 }, { -75, 16, 55, 0, 4, 0 }, { -76, 16, 56, 0, 4, 0 }, - { -77, 16, 57, 0, 4, 0 }, { -78, 16, 58, 0, 4, 0 }, { -79, 16, 59, 0, 4, 0 }, { -79, 16, 60, 0, 4, 0 }, { -80, 16, 61, 0, 4, 0 }, - { -81, 16, 62, 0, 4, 0 }, { -82, 16, 63, 0, 4, 0 }, { -82, 16, 64, 0, 4, 0 }, { -83, 16, 65, 0, 4, 0 }, { -84, 16, 66, 0, 4, 0 }, - { -84, 16, 67, 0, 4, 0 }, { -85, 16, 68, 0, 4, 0 }, { -86, 16, 69, 0, 4, 0 }, { -86, 16, 70, 0, 4, 0 }, { -87, 16, 71, 0, 4, 0 }, - { -88, 16, 72, 0, 4, 0 }, { -88, 16, 73, 0, 4, 0 }, { -89, 16, 74, 0, 4, 0 }, { -89, 16, 75, 0, 4, 0 }, { -90, 16, 76, 0, 4, 0 }, - { -91, 16, 77, 0, 4, 0 }, { -91, 16, 78, 0, 4, 0 }, { -92, 16, 79, 0, 4, 0 }, { -92, 16, 80, 0, 4, 0 }, { -93, 16, 81, 0, 4, 0 }, - { -93, 16, 82, 0, 4, 0 }, { -94, 16, 83, 0, 4, 0 }, { -94, 16, 84, 0, 4, 0 }, { -95, 16, 85, 0, 4, 0 }, { -96, 16, 86, 0, 4, 0 }, - { -96, 16, 87, 0, 4, 0 }, + 141, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 1, 0, 0, 0 }, { 13, 16, 1, 0, 1, 0 }, { 12, 16, 1, 0, 1, 0 }, + { 11, 16, 1, 0, 1, 0 }, { 10, 16, 1, 0, 1, 0 }, { 9, 16, 1, 0, 1, 0 }, { 8, 16, 2, 0, 1, 0 }, { 7, 16, 2, 0, 1, 0 }, + { 6, 16, 2, 0, 1, 0 }, { 5, 16, 2, 0, 1, 0 }, { 4, 16, 3, 0, 1, 0 }, { 3, 16, 3, 0, 1, 0 }, { 2, 16, 3, 0, 1, 0 }, + { 1, 16, 3, 0, 1, 0 }, { 0, 16, 4, 0, 1, 0 }, { -1, 16, 4, 0, 1, 0 }, { -2, 16, 4, 0, 1, 0 }, { -3, 16, 4, 0, 1, 0 }, + { -4, 16, 5, 0, 1, 0 }, { -5, 16, 5, 0, 1, 0 }, { -6, 16, 6, 0, 1, 0 }, { -7, 16, 6, 0, 1, 0 }, { -8, 16, 6, 0, 1, 0 }, + { -9, 16, 6, 0, 1, 0 }, { -10, 16, 7, 0, 2, 0 }, { -11, 16, 7, 0, 2, 0 }, { -12, 16, 7, 0, 2, 0 }, { -13, 16, 8, 0, 2, 0 }, + { -14, 16, 8, 0, 2, 0 }, { -15, 16, 9, 0, 2, 0 }, { -16, 16, 9, 0, 2, 0 }, { -17, 16, 9, 0, 2, 0 }, { -18, 16, 10, 0, 2, 0 }, + { -19, 16, 10, 0, 2, 0 }, { -20, 16, 11, 0, 2, 0 }, { -21, 16, 12, 0, 2, 0 }, { -22, 16, 12, 0, 2, 0 }, { -23, 16, 12, 0, 2, 0 }, + { -24, 16, 12, 0, 2, 0 }, { -25, 16, 13, 0, 2, 0 }, { -26, 16, 14, 0, 2, 0 }, { -27, 16, 14, 0, 2, 0 }, { -28, 16, 14, 0, 2, 0 }, + { -29, 16, 15, 0, 2, 0 }, { -30, 16, 16, 0, 2, 0 }, { -31, 16, 16, 0, 2, 0 }, { -32, 16, 17, 0, 2, 0 }, { -33, 16, 18, 0, 2, 0 }, + { -34, 16, 18, 0, 2, 0 }, { -35, 16, 18, 0, 2, 0 }, { -36, 16, 19, 0, 2, 0 }, { -37, 16, 20, 0, 2, 0 }, { -38, 16, 20, 0, 2, 0 }, + { -39, 16, 21, 0, 2, 0 }, { -40, 16, 22, 0, 3, 0 }, { -41, 16, 22, 0, 3, 0 }, { -42, 16, 23, 0, 3, 0 }, { -43, 16, 24, 0, 3, 0 }, + { -44, 16, 25, 0, 3, 0 }, { -45, 16, 26, 0, 3, 0 }, { -46, 16, 26, 0, 3, 0 }, { -47, 16, 27, 0, 3, 0 }, { -48, 16, 28, 0, 3, 0 }, + { -49, 16, 28, 0, 3, 0 }, { -50, 16, 29, 0, 3, 0 }, { -51, 16, 30, 0, 3, 0 }, { -52, 16, 30, 0, 3, 0 }, { -53, 16, 31, 0, 3, 0 }, + { -54, 16, 32, 0, 3, 0 }, { -55, 16, 33, 0, 3, 0 }, { -56, 16, 34, 0, 3, 0 }, { -57, 16, 35, 0, 3, 0 }, { -58, 16, 36, 0, 3, 0 }, + { -59, 16, 37, 0, 3, 0 }, { -60, 16, 38, 0, 3, 0 }, { -61, 16, 39, 0, 3, 0 }, { -62, 16, 40, 0, 3, 0 }, { -63, 16, 41, 0, 3, 0 }, + { -64, 16, 42, 0, 3, 0 }, { -65, 16, 43, 0, 3, 0 }, { -66, 16, 44, 0, 3, 0 }, { -67, 16, 45, 0, 3, 0 }, { -68, 16, 46, 0, 3, 0 }, + { -69, 16, 47, 0, 3, 0 }, { -70, 16, 48, 0, 3, 0 }, { -71, 16, 49, 0, 3, 0 }, { -72, 16, 50, 0, 3, 0 }, { -73, 16, 51, 0, 3, 0 }, + { -73, 16, 52, 0, 3, 0 }, { -74, 16, 53, 0, 4, 0 }, { -74, 16, 54, 0, 4, 0 }, { -75, 16, 55, 0, 4, 0 }, { -76, 16, 56, 0, 4, 0 }, + { -77, 16, 57, 0, 4, 0 }, { -78, 16, 58, 0, 4, 0 }, { -79, 16, 59, 0, 4, 0 }, { -79, 16, 60, 0, 4, 0 }, { -80, 16, 61, 0, 4, 0 }, + { -81, 16, 62, 0, 4, 0 }, { -82, 16, 63, 0, 4, 0 }, { -82, 16, 64, 0, 4, 0 }, { -83, 16, 65, 0, 4, 0 }, { -84, 16, 66, 0, 4, 0 }, + { -84, 16, 67, 0, 4, 0 }, { -85, 16, 68, 0, 4, 0 }, { -86, 16, 69, 0, 4, 0 }, { -86, 16, 70, 0, 4, 0 }, { -87, 16, 71, 0, 4, 0 }, + { -88, 16, 72, 0, 4, 0 }, { -88, 16, 73, 0, 4, 0 }, { -89, 16, 74, 0, 4, 0 }, { -89, 16, 75, 0, 4, 0 }, { -90, 16, 76, 0, 4, 0 }, + { -91, 16, 77, 0, 4, 0 }, { -91, 16, 78, 0, 4, 0 }, { -92, 16, 79, 0, 4, 0 }, { -92, 16, 80, 0, 4, 0 }, { -93, 16, 81, 0, 4, 0 }, + { -93, 16, 82, 0, 4, 0 }, { -94, 16, 83, 0, 4, 0 }, { -94, 16, 84, 0, 4, 0 }, { -95, 16, 85, 0, 4, 0 }, { -96, 16, 86, 0, 4, 0 }, + { -96, 16, 87, 0, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96D9A5 = { - 141, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 1, 8, 0, 0 }, { 16, 18, 1, 8, 1, 0 }, { 16, 19, 1, 8, 1, 0 }, - { 16, 20, 1, 8, 1, 0 }, { 16, 21, 1, 8, 1, 0 }, { 16, 22, 1, 8, 1, 0 }, { 16, 23, 2, 8, 1, 0 }, { 16, 24, 2, 8, 1, 0 }, - { 16, 25, 2, 8, 1, 0 }, { 16, 26, 2, 8, 1, 0 }, { 16, 27, 3, 8, 1, 0 }, { 16, 28, 3, 8, 1, 0 }, { 16, 29, 3, 8, 1, 0 }, - { 16, 30, 3, 8, 1, 0 }, { 16, 31, 4, 8, 1, 0 }, { 16, 32, 4, 8, 1, 0 }, { 16, 33, 4, 8, 1, 0 }, { 16, 34, 4, 8, 1, 0 }, - { 16, 35, 5, 8, 1, 0 }, { 16, 36, 5, 8, 1, 0 }, { 16, 37, 6, 8, 1, 0 }, { 16, 38, 6, 8, 1, 0 }, { 16, 39, 6, 8, 1, 0 }, - { 16, 40, 6, 8, 1, 0 }, { 16, 41, 7, 8, 2, 0 }, { 16, 42, 7, 8, 2, 0 }, { 16, 43, 7, 8, 2, 0 }, { 16, 44, 8, 8, 2, 0 }, - { 16, 45, 8, 8, 2, 0 }, { 16, 46, 9, 8, 2, 0 }, { 16, 47, 9, 8, 2, 0 }, { 16, 48, 9, 8, 2, 0 }, { 16, 49, 10, 8, 2, 0 }, - { 16, 50, 10, 8, 2, 0 }, { 16, 51, 11, 8, 2, 0 }, { 16, 52, 12, 8, 2, 0 }, { 16, 53, 12, 8, 2, 0 }, { 16, 54, 12, 8, 2, 0 }, - { 16, 55, 12, 8, 2, 0 }, { 16, 56, 13, 8, 2, 0 }, { 16, 57, 14, 8, 2, 0 }, { 16, 58, 14, 8, 2, 0 }, { 16, 59, 14, 8, 2, 0 }, - { 16, 60, 15, 8, 2, 0 }, { 16, 61, 16, 8, 2, 0 }, { 16, 62, 16, 8, 2, 0 }, { 16, 63, 17, 8, 2, 0 }, { 16, 64, 18, 8, 2, 0 }, - { 16, 65, 18, 8, 2, 0 }, { 16, 66, 18, 8, 2, 0 }, { 16, 67, 19, 8, 2, 0 }, { 16, 68, 20, 8, 2, 0 }, { 16, 69, 20, 8, 2, 0 }, - { 16, 70, 21, 8, 2, 0 }, { 16, 71, 22, 8, 3, 0 }, { 16, 72, 22, 8, 3, 0 }, { 16, 73, 23, 8, 3, 0 }, { 16, 74, 24, 8, 3, 0 }, - { 16, 75, 25, 8, 3, 0 }, { 16, 76, 26, 8, 3, 0 }, { 16, 77, 26, 8, 3, 0 }, { 16, 78, 27, 8, 3, 0 }, { 16, 79, 28, 8, 3, 0 }, - { 16, 80, 28, 8, 3, 0 }, { 16, 81, 29, 8, 3, 0 }, { 16, 82, 30, 8, 3, 0 }, { 16, 83, 30, 8, 3, 0 }, { 16, 84, 31, 8, 3, 0 }, - { 16, 85, 32, 8, 3, 0 }, { 16, 86, 33, 8, 3, 0 }, { 16, 87, 34, 8, 3, 0 }, { 16, 88, 35, 8, 3, 0 }, { 16, 89, 36, 8, 3, 0 }, - { 16, 90, 37, 8, 3, 0 }, { 16, 91, 38, 8, 3, 0 }, { 16, 92, 39, 8, 3, 0 }, { 16, 93, 40, 8, 3, 0 }, { 16, 94, 41, 8, 3, 0 }, - { 16, 95, 42, 8, 3, 0 }, { 16, 96, 43, 8, 3, 0 }, { 16, 97, 44, 8, 3, 0 }, { 16, 98, 45, 8, 3, 0 }, { 16, 99, 46, 8, 3, 0 }, - { 16, 100, 47, 8, 3, 0 }, { 16, 101, 48, 8, 3, 0 }, { 16, 102, 49, 8, 3, 0 }, { 16, 103, 50, 8, 3, 0 }, { 16, 104, 51, 8, 3, 0 }, - { 16, 104, 52, 8, 3, 0 }, { 16, 105, 53, 8, 4, 0 }, { 16, 105, 54, 8, 4, 0 }, { 16, 106, 55, 8, 4, 0 }, { 16, 107, 56, 8, 4, 0 }, - { 16, 108, 57, 8, 4, 0 }, { 16, 109, 58, 8, 4, 0 }, { 16, 110, 59, 8, 4, 0 }, { 16, 110, 60, 8, 4, 0 }, { 16, 111, 61, 8, 4, 0 }, - { 16, 112, 62, 8, 4, 0 }, { 16, 113, 63, 8, 4, 0 }, { 16, 113, 64, 8, 4, 0 }, { 16, 114, 65, 8, 4, 0 }, { 16, 115, 66, 8, 4, 0 }, - { 16, 115, 67, 8, 4, 0 }, { 16, 116, 68, 8, 4, 0 }, { 16, 117, 69, 8, 4, 0 }, { 16, 117, 70, 8, 4, 0 }, { 16, 118, 71, 8, 4, 0 }, - { 16, 119, 72, 8, 4, 0 }, { 16, 119, 73, 8, 4, 0 }, { 16, 120, 74, 8, 4, 0 }, { 16, 120, 75, 8, 4, 0 }, { 16, 121, 76, 8, 4, 0 }, - { 16, 122, 77, 8, 4, 0 }, { 16, 122, 78, 8, 4, 0 }, { 16, 123, 79, 8, 4, 0 }, { 16, 123, 80, 8, 4, 0 }, { 16, 124, 81, 8, 4, 0 }, - { 16, 124, 82, 8, 4, 0 }, { 16, 125, 83, 8, 4, 0 }, { 16, 125, 84, 8, 4, 0 }, { 16, 126, 85, 8, 4, 0 }, { 16, 127, 86, 8, 4, 0 }, - { 16, 127, 87, 8, 4, 0 }, + 141, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 1, 8, 0, 0 }, { 16, 18, 1, 8, 1, 0 }, { 16, 19, 1, 8, 1, 0 }, + { 16, 20, 1, 8, 1, 0 }, { 16, 21, 1, 8, 1, 0 }, { 16, 22, 1, 8, 1, 0 }, { 16, 23, 2, 8, 1, 0 }, { 16, 24, 2, 8, 1, 0 }, + { 16, 25, 2, 8, 1, 0 }, { 16, 26, 2, 8, 1, 0 }, { 16, 27, 3, 8, 1, 0 }, { 16, 28, 3, 8, 1, 0 }, { 16, 29, 3, 8, 1, 0 }, + { 16, 30, 3, 8, 1, 0 }, { 16, 31, 4, 8, 1, 0 }, { 16, 32, 4, 8, 1, 0 }, { 16, 33, 4, 8, 1, 0 }, { 16, 34, 4, 8, 1, 0 }, + { 16, 35, 5, 8, 1, 0 }, { 16, 36, 5, 8, 1, 0 }, { 16, 37, 6, 8, 1, 0 }, { 16, 38, 6, 8, 1, 0 }, { 16, 39, 6, 8, 1, 0 }, + { 16, 40, 6, 8, 1, 0 }, { 16, 41, 7, 8, 2, 0 }, { 16, 42, 7, 8, 2, 0 }, { 16, 43, 7, 8, 2, 0 }, { 16, 44, 8, 8, 2, 0 }, + { 16, 45, 8, 8, 2, 0 }, { 16, 46, 9, 8, 2, 0 }, { 16, 47, 9, 8, 2, 0 }, { 16, 48, 9, 8, 2, 0 }, { 16, 49, 10, 8, 2, 0 }, + { 16, 50, 10, 8, 2, 0 }, { 16, 51, 11, 8, 2, 0 }, { 16, 52, 12, 8, 2, 0 }, { 16, 53, 12, 8, 2, 0 }, { 16, 54, 12, 8, 2, 0 }, + { 16, 55, 12, 8, 2, 0 }, { 16, 56, 13, 8, 2, 0 }, { 16, 57, 14, 8, 2, 0 }, { 16, 58, 14, 8, 2, 0 }, { 16, 59, 14, 8, 2, 0 }, + { 16, 60, 15, 8, 2, 0 }, { 16, 61, 16, 8, 2, 0 }, { 16, 62, 16, 8, 2, 0 }, { 16, 63, 17, 8, 2, 0 }, { 16, 64, 18, 8, 2, 0 }, + { 16, 65, 18, 8, 2, 0 }, { 16, 66, 18, 8, 2, 0 }, { 16, 67, 19, 8, 2, 0 }, { 16, 68, 20, 8, 2, 0 }, { 16, 69, 20, 8, 2, 0 }, + { 16, 70, 21, 8, 2, 0 }, { 16, 71, 22, 8, 3, 0 }, { 16, 72, 22, 8, 3, 0 }, { 16, 73, 23, 8, 3, 0 }, { 16, 74, 24, 8, 3, 0 }, + { 16, 75, 25, 8, 3, 0 }, { 16, 76, 26, 8, 3, 0 }, { 16, 77, 26, 8, 3, 0 }, { 16, 78, 27, 8, 3, 0 }, { 16, 79, 28, 8, 3, 0 }, + { 16, 80, 28, 8, 3, 0 }, { 16, 81, 29, 8, 3, 0 }, { 16, 82, 30, 8, 3, 0 }, { 16, 83, 30, 8, 3, 0 }, { 16, 84, 31, 8, 3, 0 }, + { 16, 85, 32, 8, 3, 0 }, { 16, 86, 33, 8, 3, 0 }, { 16, 87, 34, 8, 3, 0 }, { 16, 88, 35, 8, 3, 0 }, { 16, 89, 36, 8, 3, 0 }, + { 16, 90, 37, 8, 3, 0 }, { 16, 91, 38, 8, 3, 0 }, { 16, 92, 39, 8, 3, 0 }, { 16, 93, 40, 8, 3, 0 }, { 16, 94, 41, 8, 3, 0 }, + { 16, 95, 42, 8, 3, 0 }, { 16, 96, 43, 8, 3, 0 }, { 16, 97, 44, 8, 3, 0 }, { 16, 98, 45, 8, 3, 0 }, { 16, 99, 46, 8, 3, 0 }, + { 16, 100, 47, 8, 3, 0 }, { 16, 101, 48, 8, 3, 0 }, { 16, 102, 49, 8, 3, 0 }, { 16, 103, 50, 8, 3, 0 }, { 16, 104, 51, 8, 3, 0 }, + { 16, 104, 52, 8, 3, 0 }, { 16, 105, 53, 8, 4, 0 }, { 16, 105, 54, 8, 4, 0 }, { 16, 106, 55, 8, 4, 0 }, { 16, 107, 56, 8, 4, 0 }, + { 16, 108, 57, 8, 4, 0 }, { 16, 109, 58, 8, 4, 0 }, { 16, 110, 59, 8, 4, 0 }, { 16, 110, 60, 8, 4, 0 }, { 16, 111, 61, 8, 4, 0 }, + { 16, 112, 62, 8, 4, 0 }, { 16, 113, 63, 8, 4, 0 }, { 16, 113, 64, 8, 4, 0 }, { 16, 114, 65, 8, 4, 0 }, { 16, 115, 66, 8, 4, 0 }, + { 16, 115, 67, 8, 4, 0 }, { 16, 116, 68, 8, 4, 0 }, { 16, 117, 69, 8, 4, 0 }, { 16, 117, 70, 8, 4, 0 }, { 16, 118, 71, 8, 4, 0 }, + { 16, 119, 72, 8, 4, 0 }, { 16, 119, 73, 8, 4, 0 }, { 16, 120, 74, 8, 4, 0 }, { 16, 120, 75, 8, 4, 0 }, { 16, 121, 76, 8, 4, 0 }, + { 16, 122, 77, 8, 4, 0 }, { 16, 122, 78, 8, 4, 0 }, { 16, 123, 79, 8, 4, 0 }, { 16, 123, 80, 8, 4, 0 }, { 16, 124, 81, 8, 4, 0 }, + { 16, 124, 82, 8, 4, 0 }, { 16, 125, 83, 8, 4, 0 }, { 16, 125, 84, 8, 4, 0 }, { 16, 126, 85, 8, 4, 0 }, { 16, 127, 86, 8, 4, 0 }, + { 16, 127, 87, 8, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96DE9C = { - 141, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, - { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 1, 16, 0, 0 }, { 18, 16, 1, 16, 1, 0 }, { 19, 16, 1, 16, 1, 0 }, - { 20, 16, 1, 16, 1, 0 }, { 21, 16, 1, 16, 1, 0 }, { 22, 16, 1, 16, 1, 0 }, { 23, 16, 2, 16, 1, 0 }, { 24, 16, 2, 16, 1, 0 }, - { 25, 16, 2, 16, 1, 0 }, { 26, 16, 2, 16, 1, 0 }, { 27, 16, 3, 16, 1, 0 }, { 28, 16, 3, 16, 1, 0 }, { 29, 16, 3, 16, 1, 0 }, - { 30, 16, 3, 16, 1, 0 }, { 31, 16, 4, 16, 1, 0 }, { 32, 16, 4, 16, 1, 0 }, { 33, 16, 4, 16, 1, 0 }, { 34, 16, 4, 16, 1, 0 }, - { 35, 16, 5, 16, 1, 0 }, { 36, 16, 5, 16, 1, 0 }, { 37, 16, 6, 16, 1, 0 }, { 38, 16, 6, 16, 1, 0 }, { 39, 16, 6, 16, 1, 0 }, - { 40, 16, 6, 16, 1, 0 }, { 41, 16, 7, 16, 2, 0 }, { 42, 16, 7, 16, 2, 0 }, { 43, 16, 7, 16, 2, 0 }, { 44, 16, 8, 16, 2, 0 }, - { 45, 16, 8, 16, 2, 0 }, { 46, 16, 9, 16, 2, 0 }, { 47, 16, 9, 16, 2, 0 }, { 48, 16, 9, 16, 2, 0 }, { 49, 16, 10, 16, 2, 0 }, - { 50, 16, 10, 16, 2, 0 }, { 51, 16, 11, 16, 2, 0 }, { 52, 16, 12, 16, 2, 0 }, { 53, 16, 12, 16, 2, 0 }, { 54, 16, 12, 16, 2, 0 }, - { 55, 16, 12, 16, 2, 0 }, { 56, 16, 13, 16, 2, 0 }, { 57, 16, 14, 16, 2, 0 }, { 58, 16, 14, 16, 2, 0 }, { 59, 16, 14, 16, 2, 0 }, - { 60, 16, 15, 16, 2, 0 }, { 61, 16, 16, 16, 2, 0 }, { 62, 16, 16, 16, 2, 0 }, { 63, 16, 17, 16, 2, 0 }, { 64, 16, 18, 16, 2, 0 }, - { 65, 16, 18, 16, 2, 0 }, { 66, 16, 18, 16, 2, 0 }, { 67, 16, 19, 16, 2, 0 }, { 68, 16, 20, 16, 2, 0 }, { 69, 16, 20, 16, 2, 0 }, - { 70, 16, 21, 16, 2, 0 }, { 71, 16, 22, 16, 3, 0 }, { 72, 16, 22, 16, 3, 0 }, { 73, 16, 23, 16, 3, 0 }, { 74, 16, 24, 16, 3, 0 }, - { 75, 16, 25, 16, 3, 0 }, { 76, 16, 26, 16, 3, 0 }, { 77, 16, 26, 16, 3, 0 }, { 78, 16, 27, 16, 3, 0 }, { 79, 16, 28, 16, 3, 0 }, - { 80, 16, 28, 16, 3, 0 }, { 81, 16, 29, 16, 3, 0 }, { 82, 16, 30, 16, 3, 0 }, { 83, 16, 30, 16, 3, 0 }, { 84, 16, 31, 16, 3, 0 }, - { 85, 16, 32, 16, 3, 0 }, { 86, 16, 33, 16, 3, 0 }, { 87, 16, 34, 16, 3, 0 }, { 88, 16, 35, 16, 3, 0 }, { 89, 16, 36, 16, 3, 0 }, - { 90, 16, 37, 16, 3, 0 }, { 91, 16, 38, 16, 3, 0 }, { 92, 16, 39, 16, 3, 0 }, { 93, 16, 40, 16, 3, 0 }, { 94, 16, 41, 16, 3, 0 }, - { 95, 16, 42, 16, 3, 0 }, { 96, 16, 43, 16, 3, 0 }, { 97, 16, 44, 16, 3, 0 }, { 98, 16, 45, 16, 3, 0 }, { 99, 16, 46, 16, 3, 0 }, - { 100, 16, 47, 16, 3, 0 }, { 101, 16, 48, 16, 3, 0 }, { 102, 16, 49, 16, 3, 0 }, { 103, 16, 50, 16, 3, 0 }, { 104, 16, 51, 16, 3, 0 }, - { 104, 16, 52, 16, 3, 0 }, { 105, 16, 53, 16, 4, 0 }, { 105, 16, 54, 16, 4, 0 }, { 106, 16, 55, 16, 4, 0 }, { 107, 16, 56, 16, 4, 0 }, - { 108, 16, 57, 16, 4, 0 }, { 109, 16, 58, 16, 4, 0 }, { 110, 16, 59, 16, 4, 0 }, { 110, 16, 60, 16, 4, 0 }, { 111, 16, 61, 16, 4, 0 }, - { 112, 16, 62, 16, 4, 0 }, { 113, 16, 63, 16, 4, 0 }, { 113, 16, 64, 16, 4, 0 }, { 114, 16, 65, 16, 4, 0 }, { 115, 16, 66, 16, 4, 0 }, - { 115, 16, 67, 16, 4, 0 }, { 116, 16, 68, 16, 4, 0 }, { 117, 16, 69, 16, 4, 0 }, { 117, 16, 70, 16, 4, 0 }, { 118, 16, 71, 16, 4, 0 }, - { 119, 16, 72, 16, 4, 0 }, { 119, 16, 73, 16, 4, 0 }, { 120, 16, 74, 16, 4, 0 }, { 120, 16, 75, 16, 4, 0 }, { 121, 16, 76, 16, 4, 0 }, - { 122, 16, 77, 16, 4, 0 }, { 122, 16, 78, 16, 4, 0 }, { 123, 16, 79, 16, 4, 0 }, { 123, 16, 80, 16, 4, 0 }, { 124, 16, 81, 16, 4, 0 }, - { 124, 16, 82, 16, 4, 0 }, { 125, 16, 83, 16, 4, 0 }, { 125, 16, 84, 16, 4, 0 }, { 126, 16, 85, 16, 4, 0 }, { 127, 16, 86, 16, 4, 0 }, - { 127, 16, 87, 16, 4, 0 }, + 141, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, + { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 1, 16, 0, 0 }, { 18, 16, 1, 16, 1, 0 }, { 19, 16, 1, 16, 1, 0 }, + { 20, 16, 1, 16, 1, 0 }, { 21, 16, 1, 16, 1, 0 }, { 22, 16, 1, 16, 1, 0 }, { 23, 16, 2, 16, 1, 0 }, { 24, 16, 2, 16, 1, 0 }, + { 25, 16, 2, 16, 1, 0 }, { 26, 16, 2, 16, 1, 0 }, { 27, 16, 3, 16, 1, 0 }, { 28, 16, 3, 16, 1, 0 }, { 29, 16, 3, 16, 1, 0 }, + { 30, 16, 3, 16, 1, 0 }, { 31, 16, 4, 16, 1, 0 }, { 32, 16, 4, 16, 1, 0 }, { 33, 16, 4, 16, 1, 0 }, { 34, 16, 4, 16, 1, 0 }, + { 35, 16, 5, 16, 1, 0 }, { 36, 16, 5, 16, 1, 0 }, { 37, 16, 6, 16, 1, 0 }, { 38, 16, 6, 16, 1, 0 }, { 39, 16, 6, 16, 1, 0 }, + { 40, 16, 6, 16, 1, 0 }, { 41, 16, 7, 16, 2, 0 }, { 42, 16, 7, 16, 2, 0 }, { 43, 16, 7, 16, 2, 0 }, { 44, 16, 8, 16, 2, 0 }, + { 45, 16, 8, 16, 2, 0 }, { 46, 16, 9, 16, 2, 0 }, { 47, 16, 9, 16, 2, 0 }, { 48, 16, 9, 16, 2, 0 }, { 49, 16, 10, 16, 2, 0 }, + { 50, 16, 10, 16, 2, 0 }, { 51, 16, 11, 16, 2, 0 }, { 52, 16, 12, 16, 2, 0 }, { 53, 16, 12, 16, 2, 0 }, { 54, 16, 12, 16, 2, 0 }, + { 55, 16, 12, 16, 2, 0 }, { 56, 16, 13, 16, 2, 0 }, { 57, 16, 14, 16, 2, 0 }, { 58, 16, 14, 16, 2, 0 }, { 59, 16, 14, 16, 2, 0 }, + { 60, 16, 15, 16, 2, 0 }, { 61, 16, 16, 16, 2, 0 }, { 62, 16, 16, 16, 2, 0 }, { 63, 16, 17, 16, 2, 0 }, { 64, 16, 18, 16, 2, 0 }, + { 65, 16, 18, 16, 2, 0 }, { 66, 16, 18, 16, 2, 0 }, { 67, 16, 19, 16, 2, 0 }, { 68, 16, 20, 16, 2, 0 }, { 69, 16, 20, 16, 2, 0 }, + { 70, 16, 21, 16, 2, 0 }, { 71, 16, 22, 16, 3, 0 }, { 72, 16, 22, 16, 3, 0 }, { 73, 16, 23, 16, 3, 0 }, { 74, 16, 24, 16, 3, 0 }, + { 75, 16, 25, 16, 3, 0 }, { 76, 16, 26, 16, 3, 0 }, { 77, 16, 26, 16, 3, 0 }, { 78, 16, 27, 16, 3, 0 }, { 79, 16, 28, 16, 3, 0 }, + { 80, 16, 28, 16, 3, 0 }, { 81, 16, 29, 16, 3, 0 }, { 82, 16, 30, 16, 3, 0 }, { 83, 16, 30, 16, 3, 0 }, { 84, 16, 31, 16, 3, 0 }, + { 85, 16, 32, 16, 3, 0 }, { 86, 16, 33, 16, 3, 0 }, { 87, 16, 34, 16, 3, 0 }, { 88, 16, 35, 16, 3, 0 }, { 89, 16, 36, 16, 3, 0 }, + { 90, 16, 37, 16, 3, 0 }, { 91, 16, 38, 16, 3, 0 }, { 92, 16, 39, 16, 3, 0 }, { 93, 16, 40, 16, 3, 0 }, { 94, 16, 41, 16, 3, 0 }, + { 95, 16, 42, 16, 3, 0 }, { 96, 16, 43, 16, 3, 0 }, { 97, 16, 44, 16, 3, 0 }, { 98, 16, 45, 16, 3, 0 }, { 99, 16, 46, 16, 3, 0 }, + { 100, 16, 47, 16, 3, 0 }, { 101, 16, 48, 16, 3, 0 }, { 102, 16, 49, 16, 3, 0 }, { 103, 16, 50, 16, 3, 0 }, { 104, 16, 51, 16, 3, 0 }, + { 104, 16, 52, 16, 3, 0 }, { 105, 16, 53, 16, 4, 0 }, { 105, 16, 54, 16, 4, 0 }, { 106, 16, 55, 16, 4, 0 }, { 107, 16, 56, 16, 4, 0 }, + { 108, 16, 57, 16, 4, 0 }, { 109, 16, 58, 16, 4, 0 }, { 110, 16, 59, 16, 4, 0 }, { 110, 16, 60, 16, 4, 0 }, { 111, 16, 61, 16, 4, 0 }, + { 112, 16, 62, 16, 4, 0 }, { 113, 16, 63, 16, 4, 0 }, { 113, 16, 64, 16, 4, 0 }, { 114, 16, 65, 16, 4, 0 }, { 115, 16, 66, 16, 4, 0 }, + { 115, 16, 67, 16, 4, 0 }, { 116, 16, 68, 16, 4, 0 }, { 117, 16, 69, 16, 4, 0 }, { 117, 16, 70, 16, 4, 0 }, { 118, 16, 71, 16, 4, 0 }, + { 119, 16, 72, 16, 4, 0 }, { 119, 16, 73, 16, 4, 0 }, { 120, 16, 74, 16, 4, 0 }, { 120, 16, 75, 16, 4, 0 }, { 121, 16, 76, 16, 4, 0 }, + { 122, 16, 77, 16, 4, 0 }, { 122, 16, 78, 16, 4, 0 }, { 123, 16, 79, 16, 4, 0 }, { 123, 16, 80, 16, 4, 0 }, { 124, 16, 81, 16, 4, 0 }, + { 124, 16, 82, 16, 4, 0 }, { 125, 16, 83, 16, 4, 0 }, { 125, 16, 84, 16, 4, 0 }, { 126, 16, 85, 16, 4, 0 }, { 127, 16, 86, 16, 4, 0 }, + { 127, 16, 87, 16, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96E393 = { - 141, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, - { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 1, 24, 0, 0 }, { 16, 13, 1, 24, 1, 0 }, { 16, 12, 1, 24, 1, 0 }, - { 16, 11, 1, 24, 1, 0 }, { 16, 10, 1, 24, 1, 0 }, { 16, 9, 1, 24, 1, 0 }, { 16, 8, 2, 24, 1, 0 }, { 16, 7, 2, 24, 1, 0 }, - { 16, 6, 2, 24, 1, 0 }, { 16, 5, 2, 24, 1, 0 }, { 16, 4, 3, 24, 1, 0 }, { 16, 3, 3, 24, 1, 0 }, { 16, 2, 3, 24, 1, 0 }, - { 16, 1, 3, 24, 1, 0 }, { 16, 0, 4, 24, 1, 0 }, { 16, -1, 4, 24, 1, 0 }, { 16, -2, 4, 24, 1, 0 }, { 16, -3, 4, 24, 1, 0 }, - { 16, -4, 5, 24, 1, 0 }, { 16, -5, 5, 24, 1, 0 }, { 16, -6, 6, 24, 1, 0 }, { 16, -7, 6, 24, 1, 0 }, { 16, -8, 6, 24, 1, 0 }, - { 16, -9, 6, 24, 1, 0 }, { 16, -10, 7, 24, 2, 0 }, { 16, -11, 7, 24, 2, 0 }, { 16, -12, 7, 24, 2, 0 }, { 16, -13, 8, 24, 2, 0 }, - { 16, -14, 8, 24, 2, 0 }, { 16, -15, 9, 24, 2, 0 }, { 16, -16, 9, 24, 2, 0 }, { 16, -17, 9, 24, 2, 0 }, { 16, -18, 10, 24, 2, 0 }, - { 16, -19, 10, 24, 2, 0 }, { 16, -20, 11, 24, 2, 0 }, { 16, -21, 12, 24, 2, 0 }, { 16, -22, 12, 24, 2, 0 }, { 16, -23, 12, 24, 2, 0 }, - { 16, -24, 12, 24, 2, 0 }, { 16, -25, 13, 24, 2, 0 }, { 16, -26, 14, 24, 2, 0 }, { 16, -27, 14, 24, 2, 0 }, { 16, -28, 14, 24, 2, 0 }, - { 16, -29, 15, 24, 2, 0 }, { 16, -30, 16, 24, 2, 0 }, { 16, -31, 16, 24, 2, 0 }, { 16, -32, 17, 24, 2, 0 }, { 16, -33, 18, 24, 2, 0 }, - { 16, -34, 18, 24, 2, 0 }, { 16, -35, 18, 24, 2, 0 }, { 16, -36, 19, 24, 2, 0 }, { 16, -37, 20, 24, 2, 0 }, { 16, -38, 20, 24, 2, 0 }, - { 16, -39, 21, 24, 2, 0 }, { 16, -40, 22, 24, 3, 0 }, { 16, -41, 22, 24, 3, 0 }, { 16, -42, 23, 24, 3, 0 }, { 16, -43, 24, 24, 3, 0 }, - { 16, -44, 25, 24, 3, 0 }, { 16, -45, 26, 24, 3, 0 }, { 16, -46, 26, 24, 3, 0 }, { 16, -47, 27, 24, 3, 0 }, { 16, -48, 28, 24, 3, 0 }, - { 16, -49, 28, 24, 3, 0 }, { 16, -50, 29, 24, 3, 0 }, { 16, -51, 30, 24, 3, 0 }, { 16, -52, 30, 24, 3, 0 }, { 16, -53, 31, 24, 3, 0 }, - { 16, -54, 32, 24, 3, 0 }, { 16, -55, 33, 24, 3, 0 }, { 16, -56, 34, 24, 3, 0 }, { 16, -57, 35, 24, 3, 0 }, { 16, -58, 36, 24, 3, 0 }, - { 16, -59, 37, 24, 3, 0 }, { 16, -60, 38, 24, 3, 0 }, { 16, -61, 39, 24, 3, 0 }, { 16, -62, 40, 24, 3, 0 }, { 16, -63, 41, 24, 3, 0 }, - { 16, -64, 42, 24, 3, 0 }, { 16, -65, 43, 24, 3, 0 }, { 16, -66, 44, 24, 3, 0 }, { 16, -67, 45, 24, 3, 0 }, { 16, -68, 46, 24, 3, 0 }, - { 16, -69, 47, 24, 3, 0 }, { 16, -70, 48, 24, 3, 0 }, { 16, -71, 49, 24, 3, 0 }, { 16, -72, 50, 24, 3, 0 }, { 16, -73, 51, 24, 3, 0 }, - { 16, -73, 52, 24, 3, 0 }, { 16, -74, 53, 24, 4, 0 }, { 16, -74, 54, 24, 4, 0 }, { 16, -75, 55, 24, 4, 0 }, { 16, -76, 56, 24, 4, 0 }, - { 16, -77, 57, 24, 4, 0 }, { 16, -78, 58, 24, 4, 0 }, { 16, -79, 59, 24, 4, 0 }, { 16, -79, 60, 24, 4, 0 }, { 16, -80, 61, 24, 4, 0 }, - { 16, -81, 62, 24, 4, 0 }, { 16, -82, 63, 24, 4, 0 }, { 16, -82, 64, 24, 4, 0 }, { 16, -83, 65, 24, 4, 0 }, { 16, -84, 66, 24, 4, 0 }, - { 16, -84, 67, 24, 4, 0 }, { 16, -85, 68, 24, 4, 0 }, { 16, -86, 69, 24, 4, 0 }, { 16, -86, 70, 24, 4, 0 }, { 16, -87, 71, 24, 4, 0 }, - { 16, -88, 72, 24, 4, 0 }, { 16, -88, 73, 24, 4, 0 }, { 16, -89, 74, 24, 4, 0 }, { 16, -89, 75, 24, 4, 0 }, { 16, -90, 76, 24, 4, 0 }, - { 16, -91, 77, 24, 4, 0 }, { 16, -91, 78, 24, 4, 0 }, { 16, -92, 79, 24, 4, 0 }, { 16, -92, 80, 24, 4, 0 }, { 16, -93, 81, 24, 4, 0 }, - { 16, -93, 82, 24, 4, 0 }, { 16, -94, 83, 24, 4, 0 }, { 16, -94, 84, 24, 4, 0 }, { 16, -95, 85, 24, 4, 0 }, { 16, -96, 86, 24, 4, 0 }, - { 16, -96, 87, 24, 4, 0 }, + 141, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, + { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 1, 24, 0, 0 }, { 16, 13, 1, 24, 1, 0 }, { 16, 12, 1, 24, 1, 0 }, + { 16, 11, 1, 24, 1, 0 }, { 16, 10, 1, 24, 1, 0 }, { 16, 9, 1, 24, 1, 0 }, { 16, 8, 2, 24, 1, 0 }, { 16, 7, 2, 24, 1, 0 }, + { 16, 6, 2, 24, 1, 0 }, { 16, 5, 2, 24, 1, 0 }, { 16, 4, 3, 24, 1, 0 }, { 16, 3, 3, 24, 1, 0 }, { 16, 2, 3, 24, 1, 0 }, + { 16, 1, 3, 24, 1, 0 }, { 16, 0, 4, 24, 1, 0 }, { 16, -1, 4, 24, 1, 0 }, { 16, -2, 4, 24, 1, 0 }, { 16, -3, 4, 24, 1, 0 }, + { 16, -4, 5, 24, 1, 0 }, { 16, -5, 5, 24, 1, 0 }, { 16, -6, 6, 24, 1, 0 }, { 16, -7, 6, 24, 1, 0 }, { 16, -8, 6, 24, 1, 0 }, + { 16, -9, 6, 24, 1, 0 }, { 16, -10, 7, 24, 2, 0 }, { 16, -11, 7, 24, 2, 0 }, { 16, -12, 7, 24, 2, 0 }, { 16, -13, 8, 24, 2, 0 }, + { 16, -14, 8, 24, 2, 0 }, { 16, -15, 9, 24, 2, 0 }, { 16, -16, 9, 24, 2, 0 }, { 16, -17, 9, 24, 2, 0 }, { 16, -18, 10, 24, 2, 0 }, + { 16, -19, 10, 24, 2, 0 }, { 16, -20, 11, 24, 2, 0 }, { 16, -21, 12, 24, 2, 0 }, { 16, -22, 12, 24, 2, 0 }, { 16, -23, 12, 24, 2, 0 }, + { 16, -24, 12, 24, 2, 0 }, { 16, -25, 13, 24, 2, 0 }, { 16, -26, 14, 24, 2, 0 }, { 16, -27, 14, 24, 2, 0 }, { 16, -28, 14, 24, 2, 0 }, + { 16, -29, 15, 24, 2, 0 }, { 16, -30, 16, 24, 2, 0 }, { 16, -31, 16, 24, 2, 0 }, { 16, -32, 17, 24, 2, 0 }, { 16, -33, 18, 24, 2, 0 }, + { 16, -34, 18, 24, 2, 0 }, { 16, -35, 18, 24, 2, 0 }, { 16, -36, 19, 24, 2, 0 }, { 16, -37, 20, 24, 2, 0 }, { 16, -38, 20, 24, 2, 0 }, + { 16, -39, 21, 24, 2, 0 }, { 16, -40, 22, 24, 3, 0 }, { 16, -41, 22, 24, 3, 0 }, { 16, -42, 23, 24, 3, 0 }, { 16, -43, 24, 24, 3, 0 }, + { 16, -44, 25, 24, 3, 0 }, { 16, -45, 26, 24, 3, 0 }, { 16, -46, 26, 24, 3, 0 }, { 16, -47, 27, 24, 3, 0 }, { 16, -48, 28, 24, 3, 0 }, + { 16, -49, 28, 24, 3, 0 }, { 16, -50, 29, 24, 3, 0 }, { 16, -51, 30, 24, 3, 0 }, { 16, -52, 30, 24, 3, 0 }, { 16, -53, 31, 24, 3, 0 }, + { 16, -54, 32, 24, 3, 0 }, { 16, -55, 33, 24, 3, 0 }, { 16, -56, 34, 24, 3, 0 }, { 16, -57, 35, 24, 3, 0 }, { 16, -58, 36, 24, 3, 0 }, + { 16, -59, 37, 24, 3, 0 }, { 16, -60, 38, 24, 3, 0 }, { 16, -61, 39, 24, 3, 0 }, { 16, -62, 40, 24, 3, 0 }, { 16, -63, 41, 24, 3, 0 }, + { 16, -64, 42, 24, 3, 0 }, { 16, -65, 43, 24, 3, 0 }, { 16, -66, 44, 24, 3, 0 }, { 16, -67, 45, 24, 3, 0 }, { 16, -68, 46, 24, 3, 0 }, + { 16, -69, 47, 24, 3, 0 }, { 16, -70, 48, 24, 3, 0 }, { 16, -71, 49, 24, 3, 0 }, { 16, -72, 50, 24, 3, 0 }, { 16, -73, 51, 24, 3, 0 }, + { 16, -73, 52, 24, 3, 0 }, { 16, -74, 53, 24, 4, 0 }, { 16, -74, 54, 24, 4, 0 }, { 16, -75, 55, 24, 4, 0 }, { 16, -76, 56, 24, 4, 0 }, + { 16, -77, 57, 24, 4, 0 }, { 16, -78, 58, 24, 4, 0 }, { 16, -79, 59, 24, 4, 0 }, { 16, -79, 60, 24, 4, 0 }, { 16, -80, 61, 24, 4, 0 }, + { 16, -81, 62, 24, 4, 0 }, { 16, -82, 63, 24, 4, 0 }, { 16, -82, 64, 24, 4, 0 }, { 16, -83, 65, 24, 4, 0 }, { 16, -84, 66, 24, 4, 0 }, + { 16, -84, 67, 24, 4, 0 }, { 16, -85, 68, 24, 4, 0 }, { 16, -86, 69, 24, 4, 0 }, { 16, -86, 70, 24, 4, 0 }, { 16, -87, 71, 24, 4, 0 }, + { 16, -88, 72, 24, 4, 0 }, { 16, -88, 73, 24, 4, 0 }, { 16, -89, 74, 24, 4, 0 }, { 16, -89, 75, 24, 4, 0 }, { 16, -90, 76, 24, 4, 0 }, + { 16, -91, 77, 24, 4, 0 }, { 16, -91, 78, 24, 4, 0 }, { 16, -92, 79, 24, 4, 0 }, { 16, -92, 80, 24, 4, 0 }, { 16, -93, 81, 24, 4, 0 }, + { 16, -93, 82, 24, 4, 0 }, { 16, -94, 83, 24, 4, 0 }, { 16, -94, 84, 24, 4, 0 }, { 16, -95, 85, 24, 4, 0 }, { 16, -96, 86, 24, 4, 0 }, + { 16, -96, 87, 24, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96E88A = { - 141, { - { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 29, 16, 3, 0, 4, 0 }, { 29, 16, 4, 0, 4, 0 }, - { 28, 16, 5, 0, 4, 0 }, { 28, 16, 6, 0, 4, 0 }, { 27, 16, 7, 0, 4, 0 }, { 27, 16, 8, 0, 4, 0 }, { 26, 16, 9, 0, 4, 0 }, - { 26, 16, 10, 0, 4, 0 }, { 25, 16, 11, 0, 4, 0 }, { 24, 16, 12, 0, 4, 0 }, { 24, 16, 13, 0, 4, 0 }, { 23, 16, 14, 0, 4, 0 }, - { 23, 16, 15, 0, 4, 0 }, { 22, 16, 16, 0, 4, 0 }, { 21, 16, 17, 0, 4, 0 }, { 21, 16, 18, 0, 4, 0 }, { 20, 16, 19, 0, 4, 0 }, - { 19, 16, 20, 0, 4, 0 }, { 19, 16, 21, 0, 4, 0 }, { 18, 16, 22, 0, 4, 0 }, { 17, 16, 23, 0, 4, 0 }, { 17, 16, 24, 0, 4, 0 }, - { 16, 16, 25, 0, 4, 0 }, { 15, 16, 26, 0, 4, 0 }, { 14, 16, 27, 0, 4, 0 }, { 14, 16, 28, 0, 4, 0 }, { 13, 16, 29, 0, 4, 0 }, - { 12, 16, 30, 0, 4, 0 }, { 11, 16, 31, 0, 4, 0 }, { 10, 16, 32, 0, 4, 0 }, { 9, 16, 33, 0, 4, 0 }, { 9, 16, 34, 0, 4, 0 }, - { 8, 16, 35, 0, 3, 0 }, { 8, 16, 36, 0, 3, 0 }, { 7, 16, 37, 0, 3, 0 }, { 6, 16, 38, 0, 3, 0 }, { 5, 16, 39, 0, 3, 0 }, - { 4, 16, 40, 0, 3, 0 }, { 3, 16, 41, 0, 3, 0 }, { 2, 16, 42, 0, 3, 0 }, { 1, 16, 43, 0, 3, 0 }, { 0, 16, 44, 0, 3, 0 }, - { -1, 16, 45, 0, 3, 0 }, { -2, 16, 46, 0, 3, 0 }, { -3, 16, 47, 0, 3, 0 }, { -4, 16, 48, 0, 3, 0 }, { -5, 16, 49, 0, 3, 0 }, - { -6, 16, 50, 0, 3, 0 }, { -7, 16, 51, 0, 3, 0 }, { -8, 16, 52, 0, 3, 0 }, { -9, 16, 53, 0, 3, 0 }, { -10, 16, 54, 0, 3, 0 }, - { -11, 16, 55, 0, 3, 0 }, { -12, 16, 56, 0, 3, 0 }, { -13, 16, 57, 0, 3, 0 }, { -14, 16, 57, 0, 3, 0 }, { -15, 16, 58, 0, 3, 0 }, - { -16, 16, 59, 0, 3, 0 }, { -17, 16, 59, 0, 3, 0 }, { -18, 16, 60, 0, 3, 0 }, { -19, 16, 61, 0, 3, 0 }, { -20, 16, 61, 0, 3, 0 }, - { -21, 16, 62, 0, 3, 0 }, { -22, 16, 63, 0, 3, 0 }, { -23, 16, 64, 0, 3, 0 }, { -24, 16, 65, 0, 3, 0 }, { -25, 16, 65, 0, 3, 0 }, - { -26, 16, 66, 0, 2, 0 }, { -27, 16, 67, 0, 2, 0 }, { -28, 16, 67, 0, 2, 0 }, { -29, 16, 68, 0, 2, 0 }, { -30, 16, 69, 0, 2, 0 }, - { -31, 16, 69, 0, 2, 0 }, { -32, 16, 69, 0, 2, 0 }, { -33, 16, 70, 0, 2, 0 }, { -34, 16, 71, 0, 2, 0 }, { -35, 16, 71, 0, 2, 0 }, - { -36, 16, 72, 0, 2, 0 }, { -37, 16, 73, 0, 2, 0 }, { -38, 16, 73, 0, 2, 0 }, { -39, 16, 73, 0, 2, 0 }, { -40, 16, 74, 0, 2, 0 }, - { -41, 16, 75, 0, 2, 0 }, { -42, 16, 75, 0, 2, 0 }, { -43, 16, 75, 0, 2, 0 }, { -44, 16, 75, 0, 2, 0 }, { -45, 16, 76, 0, 2, 0 }, - { -46, 16, 77, 0, 2, 0 }, { -47, 16, 77, 0, 2, 0 }, { -48, 16, 78, 0, 2, 0 }, { -49, 16, 78, 0, 2, 0 }, { -50, 16, 78, 0, 2, 0 }, - { -51, 16, 79, 0, 2, 0 }, { -52, 16, 79, 0, 2, 0 }, { -53, 16, 80, 0, 2, 0 }, { -54, 16, 80, 0, 2, 0 }, { -55, 16, 80, 0, 2, 0 }, - { -56, 16, 81, 0, 1, 0 }, { -57, 16, 81, 0, 1, 0 }, { -58, 16, 81, 0, 1, 0 }, { -59, 16, 81, 0, 1, 0 }, { -60, 16, 82, 0, 1, 0 }, - { -61, 16, 82, 0, 1, 0 }, { -62, 16, 83, 0, 1, 0 }, { -63, 16, 83, 0, 1, 0 }, { -64, 16, 83, 0, 1, 0 }, { -65, 16, 83, 0, 1, 0 }, - { -66, 16, 84, 0, 1, 0 }, { -67, 16, 84, 0, 1, 0 }, { -68, 16, 84, 0, 1, 0 }, { -69, 16, 84, 0, 1, 0 }, { -70, 16, 85, 0, 1, 0 }, - { -71, 16, 85, 0, 1, 0 }, { -72, 16, 85, 0, 1, 0 }, { -73, 16, 85, 0, 1, 0 }, { -74, 16, 86, 0, 1, 0 }, { -75, 16, 86, 0, 1, 0 }, - { -76, 16, 86, 0, 1, 0 }, { -77, 16, 86, 0, 1, 0 }, { -78, 16, 86, 0, 1, 0 }, { -79, 16, 86, 0, 0, 0 }, { -80, 16, 87, 0, 0, 0 }, - { -81, 16, 87, 0, 0, 0 }, { -82, 16, 87, 0, 0, 0 }, { -83, 16, 87, 0, 0, 0 }, { -84, 16, 87, 0, 0, 0 }, { -85, 16, 87, 0, 0, 0 }, - { -86, 16, 87, 0, 0, 0 }, { -87, 16, 87, 0, 0, 0 }, { -88, 16, 87, 0, 0, 0 }, { -89, 16, 87, 0, 0, 0 }, { -90, 16, 87, 0, 0, 0 }, - { -91, 16, 87, 0, 0, 0 }, { -92, 16, 87, 0, 0, 0 }, { -93, 16, 87, 0, 0, 0 }, { -94, 16, 87, 0, 0, 0 }, { -95, 16, 87, 0, 0, 0 }, - { -96, 16, 87, 0, 0, 0 }, + 141, { + { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 29, 16, 3, 0, 4, 0 }, { 29, 16, 4, 0, 4, 0 }, + { 28, 16, 5, 0, 4, 0 }, { 28, 16, 6, 0, 4, 0 }, { 27, 16, 7, 0, 4, 0 }, { 27, 16, 8, 0, 4, 0 }, { 26, 16, 9, 0, 4, 0 }, + { 26, 16, 10, 0, 4, 0 }, { 25, 16, 11, 0, 4, 0 }, { 24, 16, 12, 0, 4, 0 }, { 24, 16, 13, 0, 4, 0 }, { 23, 16, 14, 0, 4, 0 }, + { 23, 16, 15, 0, 4, 0 }, { 22, 16, 16, 0, 4, 0 }, { 21, 16, 17, 0, 4, 0 }, { 21, 16, 18, 0, 4, 0 }, { 20, 16, 19, 0, 4, 0 }, + { 19, 16, 20, 0, 4, 0 }, { 19, 16, 21, 0, 4, 0 }, { 18, 16, 22, 0, 4, 0 }, { 17, 16, 23, 0, 4, 0 }, { 17, 16, 24, 0, 4, 0 }, + { 16, 16, 25, 0, 4, 0 }, { 15, 16, 26, 0, 4, 0 }, { 14, 16, 27, 0, 4, 0 }, { 14, 16, 28, 0, 4, 0 }, { 13, 16, 29, 0, 4, 0 }, + { 12, 16, 30, 0, 4, 0 }, { 11, 16, 31, 0, 4, 0 }, { 10, 16, 32, 0, 4, 0 }, { 9, 16, 33, 0, 4, 0 }, { 9, 16, 34, 0, 4, 0 }, + { 8, 16, 35, 0, 3, 0 }, { 8, 16, 36, 0, 3, 0 }, { 7, 16, 37, 0, 3, 0 }, { 6, 16, 38, 0, 3, 0 }, { 5, 16, 39, 0, 3, 0 }, + { 4, 16, 40, 0, 3, 0 }, { 3, 16, 41, 0, 3, 0 }, { 2, 16, 42, 0, 3, 0 }, { 1, 16, 43, 0, 3, 0 }, { 0, 16, 44, 0, 3, 0 }, + { -1, 16, 45, 0, 3, 0 }, { -2, 16, 46, 0, 3, 0 }, { -3, 16, 47, 0, 3, 0 }, { -4, 16, 48, 0, 3, 0 }, { -5, 16, 49, 0, 3, 0 }, + { -6, 16, 50, 0, 3, 0 }, { -7, 16, 51, 0, 3, 0 }, { -8, 16, 52, 0, 3, 0 }, { -9, 16, 53, 0, 3, 0 }, { -10, 16, 54, 0, 3, 0 }, + { -11, 16, 55, 0, 3, 0 }, { -12, 16, 56, 0, 3, 0 }, { -13, 16, 57, 0, 3, 0 }, { -14, 16, 57, 0, 3, 0 }, { -15, 16, 58, 0, 3, 0 }, + { -16, 16, 59, 0, 3, 0 }, { -17, 16, 59, 0, 3, 0 }, { -18, 16, 60, 0, 3, 0 }, { -19, 16, 61, 0, 3, 0 }, { -20, 16, 61, 0, 3, 0 }, + { -21, 16, 62, 0, 3, 0 }, { -22, 16, 63, 0, 3, 0 }, { -23, 16, 64, 0, 3, 0 }, { -24, 16, 65, 0, 3, 0 }, { -25, 16, 65, 0, 3, 0 }, + { -26, 16, 66, 0, 2, 0 }, { -27, 16, 67, 0, 2, 0 }, { -28, 16, 67, 0, 2, 0 }, { -29, 16, 68, 0, 2, 0 }, { -30, 16, 69, 0, 2, 0 }, + { -31, 16, 69, 0, 2, 0 }, { -32, 16, 69, 0, 2, 0 }, { -33, 16, 70, 0, 2, 0 }, { -34, 16, 71, 0, 2, 0 }, { -35, 16, 71, 0, 2, 0 }, + { -36, 16, 72, 0, 2, 0 }, { -37, 16, 73, 0, 2, 0 }, { -38, 16, 73, 0, 2, 0 }, { -39, 16, 73, 0, 2, 0 }, { -40, 16, 74, 0, 2, 0 }, + { -41, 16, 75, 0, 2, 0 }, { -42, 16, 75, 0, 2, 0 }, { -43, 16, 75, 0, 2, 0 }, { -44, 16, 75, 0, 2, 0 }, { -45, 16, 76, 0, 2, 0 }, + { -46, 16, 77, 0, 2, 0 }, { -47, 16, 77, 0, 2, 0 }, { -48, 16, 78, 0, 2, 0 }, { -49, 16, 78, 0, 2, 0 }, { -50, 16, 78, 0, 2, 0 }, + { -51, 16, 79, 0, 2, 0 }, { -52, 16, 79, 0, 2, 0 }, { -53, 16, 80, 0, 2, 0 }, { -54, 16, 80, 0, 2, 0 }, { -55, 16, 80, 0, 2, 0 }, + { -56, 16, 81, 0, 1, 0 }, { -57, 16, 81, 0, 1, 0 }, { -58, 16, 81, 0, 1, 0 }, { -59, 16, 81, 0, 1, 0 }, { -60, 16, 82, 0, 1, 0 }, + { -61, 16, 82, 0, 1, 0 }, { -62, 16, 83, 0, 1, 0 }, { -63, 16, 83, 0, 1, 0 }, { -64, 16, 83, 0, 1, 0 }, { -65, 16, 83, 0, 1, 0 }, + { -66, 16, 84, 0, 1, 0 }, { -67, 16, 84, 0, 1, 0 }, { -68, 16, 84, 0, 1, 0 }, { -69, 16, 84, 0, 1, 0 }, { -70, 16, 85, 0, 1, 0 }, + { -71, 16, 85, 0, 1, 0 }, { -72, 16, 85, 0, 1, 0 }, { -73, 16, 85, 0, 1, 0 }, { -74, 16, 86, 0, 1, 0 }, { -75, 16, 86, 0, 1, 0 }, + { -76, 16, 86, 0, 1, 0 }, { -77, 16, 86, 0, 1, 0 }, { -78, 16, 86, 0, 1, 0 }, { -79, 16, 86, 0, 0, 0 }, { -80, 16, 87, 0, 0, 0 }, + { -81, 16, 87, 0, 0, 0 }, { -82, 16, 87, 0, 0, 0 }, { -83, 16, 87, 0, 0, 0 }, { -84, 16, 87, 0, 0, 0 }, { -85, 16, 87, 0, 0, 0 }, + { -86, 16, 87, 0, 0, 0 }, { -87, 16, 87, 0, 0, 0 }, { -88, 16, 87, 0, 0, 0 }, { -89, 16, 87, 0, 0, 0 }, { -90, 16, 87, 0, 0, 0 }, + { -91, 16, 87, 0, 0, 0 }, { -92, 16, 87, 0, 0, 0 }, { -93, 16, 87, 0, 0, 0 }, { -94, 16, 87, 0, 0, 0 }, { -95, 16, 87, 0, 0, 0 }, + { -96, 16, 87, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96ED81 = { - 141, { - { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 2, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, - { 16, 3, 5, 8, 4, 0 }, { 16, 3, 6, 8, 4, 0 }, { 16, 4, 7, 8, 4, 0 }, { 16, 4, 8, 8, 4, 0 }, { 16, 5, 9, 8, 4, 0 }, - { 16, 5, 10, 8, 4, 0 }, { 16, 6, 11, 8, 4, 0 }, { 16, 7, 12, 8, 4, 0 }, { 16, 7, 13, 8, 4, 0 }, { 16, 8, 14, 8, 4, 0 }, - { 16, 8, 15, 8, 4, 0 }, { 16, 9, 16, 8, 4, 0 }, { 16, 10, 17, 8, 4, 0 }, { 16, 10, 18, 8, 4, 0 }, { 16, 11, 19, 8, 4, 0 }, - { 16, 12, 20, 8, 4, 0 }, { 16, 12, 21, 8, 4, 0 }, { 16, 13, 22, 8, 4, 0 }, { 16, 14, 23, 8, 4, 0 }, { 16, 14, 24, 8, 4, 0 }, - { 16, 15, 25, 8, 4, 0 }, { 16, 16, 26, 8, 4, 0 }, { 16, 17, 27, 8, 4, 0 }, { 16, 17, 28, 8, 4, 0 }, { 16, 18, 29, 8, 4, 0 }, - { 16, 19, 30, 8, 4, 0 }, { 16, 20, 31, 8, 4, 0 }, { 16, 21, 32, 8, 4, 0 }, { 16, 22, 33, 8, 4, 0 }, { 16, 22, 34, 8, 4, 0 }, - { 16, 23, 35, 8, 3, 0 }, { 16, 23, 36, 8, 3, 0 }, { 16, 24, 37, 8, 3, 0 }, { 16, 25, 38, 8, 3, 0 }, { 16, 26, 39, 8, 3, 0 }, - { 16, 27, 40, 8, 3, 0 }, { 16, 28, 41, 8, 3, 0 }, { 16, 29, 42, 8, 3, 0 }, { 16, 30, 43, 8, 3, 0 }, { 16, 31, 44, 8, 3, 0 }, - { 16, 32, 45, 8, 3, 0 }, { 16, 33, 46, 8, 3, 0 }, { 16, 34, 47, 8, 3, 0 }, { 16, 35, 48, 8, 3, 0 }, { 16, 36, 49, 8, 3, 0 }, - { 16, 37, 50, 8, 3, 0 }, { 16, 38, 51, 8, 3, 0 }, { 16, 39, 52, 8, 3, 0 }, { 16, 40, 53, 8, 3, 0 }, { 16, 41, 54, 8, 3, 0 }, - { 16, 42, 55, 8, 3, 0 }, { 16, 43, 56, 8, 3, 0 }, { 16, 44, 57, 8, 3, 0 }, { 16, 45, 57, 8, 3, 0 }, { 16, 46, 58, 8, 3, 0 }, - { 16, 47, 59, 8, 3, 0 }, { 16, 48, 59, 8, 3, 0 }, { 16, 49, 60, 8, 3, 0 }, { 16, 50, 61, 8, 3, 0 }, { 16, 51, 61, 8, 3, 0 }, - { 16, 52, 62, 8, 3, 0 }, { 16, 53, 63, 8, 3, 0 }, { 16, 54, 64, 8, 3, 0 }, { 16, 55, 65, 8, 3, 0 }, { 16, 56, 65, 8, 3, 0 }, - { 16, 57, 66, 8, 2, 0 }, { 16, 58, 67, 8, 2, 0 }, { 16, 59, 67, 8, 2, 0 }, { 16, 60, 68, 8, 2, 0 }, { 16, 61, 69, 8, 2, 0 }, - { 16, 62, 69, 8, 2, 0 }, { 16, 63, 69, 8, 2, 0 }, { 16, 64, 70, 8, 2, 0 }, { 16, 65, 71, 8, 2, 0 }, { 16, 66, 71, 8, 2, 0 }, - { 16, 67, 72, 8, 2, 0 }, { 16, 68, 73, 8, 2, 0 }, { 16, 69, 73, 8, 2, 0 }, { 16, 70, 73, 8, 2, 0 }, { 16, 71, 74, 8, 2, 0 }, - { 16, 72, 75, 8, 2, 0 }, { 16, 73, 75, 8, 2, 0 }, { 16, 74, 75, 8, 2, 0 }, { 16, 75, 75, 8, 2, 0 }, { 16, 76, 76, 8, 2, 0 }, - { 16, 77, 77, 8, 2, 0 }, { 16, 78, 77, 8, 2, 0 }, { 16, 79, 78, 8, 2, 0 }, { 16, 80, 78, 8, 2, 0 }, { 16, 81, 78, 8, 2, 0 }, - { 16, 82, 79, 8, 2, 0 }, { 16, 83, 79, 8, 2, 0 }, { 16, 84, 80, 8, 2, 0 }, { 16, 85, 80, 8, 2, 0 }, { 16, 86, 80, 8, 2, 0 }, - { 16, 87, 81, 8, 1, 0 }, { 16, 88, 81, 8, 1, 0 }, { 16, 89, 81, 8, 1, 0 }, { 16, 90, 81, 8, 1, 0 }, { 16, 91, 82, 8, 1, 0 }, - { 16, 92, 82, 8, 1, 0 }, { 16, 93, 83, 8, 1, 0 }, { 16, 94, 83, 8, 1, 0 }, { 16, 95, 83, 8, 1, 0 }, { 16, 96, 83, 8, 1, 0 }, - { 16, 97, 84, 8, 1, 0 }, { 16, 98, 84, 8, 1, 0 }, { 16, 99, 84, 8, 1, 0 }, { 16, 100, 84, 8, 1, 0 }, { 16, 101, 85, 8, 1, 0 }, - { 16, 102, 85, 8, 1, 0 }, { 16, 103, 85, 8, 1, 0 }, { 16, 104, 85, 8, 1, 0 }, { 16, 105, 86, 8, 1, 0 }, { 16, 106, 86, 8, 1, 0 }, - { 16, 107, 86, 8, 1, 0 }, { 16, 108, 86, 8, 1, 0 }, { 16, 109, 86, 8, 1, 0 }, { 16, 110, 86, 8, 0, 0 }, { 16, 111, 87, 8, 0, 0 }, - { 16, 112, 87, 8, 0, 0 }, { 16, 113, 87, 8, 0, 0 }, { 16, 114, 87, 8, 0, 0 }, { 16, 115, 87, 8, 0, 0 }, { 16, 116, 87, 8, 0, 0 }, - { 16, 117, 87, 8, 0, 0 }, { 16, 118, 87, 8, 0, 0 }, { 16, 119, 87, 8, 0, 0 }, { 16, 120, 87, 8, 0, 0 }, { 16, 121, 87, 8, 0, 0 }, - { 16, 122, 87, 8, 0, 0 }, { 16, 123, 87, 8, 0, 0 }, { 16, 124, 87, 8, 0, 0 }, { 16, 125, 87, 8, 0, 0 }, { 16, 126, 87, 8, 0, 0 }, - { 16, 127, 87, 8, 0, 0 }, + 141, { + { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 2, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, + { 16, 3, 5, 8, 4, 0 }, { 16, 3, 6, 8, 4, 0 }, { 16, 4, 7, 8, 4, 0 }, { 16, 4, 8, 8, 4, 0 }, { 16, 5, 9, 8, 4, 0 }, + { 16, 5, 10, 8, 4, 0 }, { 16, 6, 11, 8, 4, 0 }, { 16, 7, 12, 8, 4, 0 }, { 16, 7, 13, 8, 4, 0 }, { 16, 8, 14, 8, 4, 0 }, + { 16, 8, 15, 8, 4, 0 }, { 16, 9, 16, 8, 4, 0 }, { 16, 10, 17, 8, 4, 0 }, { 16, 10, 18, 8, 4, 0 }, { 16, 11, 19, 8, 4, 0 }, + { 16, 12, 20, 8, 4, 0 }, { 16, 12, 21, 8, 4, 0 }, { 16, 13, 22, 8, 4, 0 }, { 16, 14, 23, 8, 4, 0 }, { 16, 14, 24, 8, 4, 0 }, + { 16, 15, 25, 8, 4, 0 }, { 16, 16, 26, 8, 4, 0 }, { 16, 17, 27, 8, 4, 0 }, { 16, 17, 28, 8, 4, 0 }, { 16, 18, 29, 8, 4, 0 }, + { 16, 19, 30, 8, 4, 0 }, { 16, 20, 31, 8, 4, 0 }, { 16, 21, 32, 8, 4, 0 }, { 16, 22, 33, 8, 4, 0 }, { 16, 22, 34, 8, 4, 0 }, + { 16, 23, 35, 8, 3, 0 }, { 16, 23, 36, 8, 3, 0 }, { 16, 24, 37, 8, 3, 0 }, { 16, 25, 38, 8, 3, 0 }, { 16, 26, 39, 8, 3, 0 }, + { 16, 27, 40, 8, 3, 0 }, { 16, 28, 41, 8, 3, 0 }, { 16, 29, 42, 8, 3, 0 }, { 16, 30, 43, 8, 3, 0 }, { 16, 31, 44, 8, 3, 0 }, + { 16, 32, 45, 8, 3, 0 }, { 16, 33, 46, 8, 3, 0 }, { 16, 34, 47, 8, 3, 0 }, { 16, 35, 48, 8, 3, 0 }, { 16, 36, 49, 8, 3, 0 }, + { 16, 37, 50, 8, 3, 0 }, { 16, 38, 51, 8, 3, 0 }, { 16, 39, 52, 8, 3, 0 }, { 16, 40, 53, 8, 3, 0 }, { 16, 41, 54, 8, 3, 0 }, + { 16, 42, 55, 8, 3, 0 }, { 16, 43, 56, 8, 3, 0 }, { 16, 44, 57, 8, 3, 0 }, { 16, 45, 57, 8, 3, 0 }, { 16, 46, 58, 8, 3, 0 }, + { 16, 47, 59, 8, 3, 0 }, { 16, 48, 59, 8, 3, 0 }, { 16, 49, 60, 8, 3, 0 }, { 16, 50, 61, 8, 3, 0 }, { 16, 51, 61, 8, 3, 0 }, + { 16, 52, 62, 8, 3, 0 }, { 16, 53, 63, 8, 3, 0 }, { 16, 54, 64, 8, 3, 0 }, { 16, 55, 65, 8, 3, 0 }, { 16, 56, 65, 8, 3, 0 }, + { 16, 57, 66, 8, 2, 0 }, { 16, 58, 67, 8, 2, 0 }, { 16, 59, 67, 8, 2, 0 }, { 16, 60, 68, 8, 2, 0 }, { 16, 61, 69, 8, 2, 0 }, + { 16, 62, 69, 8, 2, 0 }, { 16, 63, 69, 8, 2, 0 }, { 16, 64, 70, 8, 2, 0 }, { 16, 65, 71, 8, 2, 0 }, { 16, 66, 71, 8, 2, 0 }, + { 16, 67, 72, 8, 2, 0 }, { 16, 68, 73, 8, 2, 0 }, { 16, 69, 73, 8, 2, 0 }, { 16, 70, 73, 8, 2, 0 }, { 16, 71, 74, 8, 2, 0 }, + { 16, 72, 75, 8, 2, 0 }, { 16, 73, 75, 8, 2, 0 }, { 16, 74, 75, 8, 2, 0 }, { 16, 75, 75, 8, 2, 0 }, { 16, 76, 76, 8, 2, 0 }, + { 16, 77, 77, 8, 2, 0 }, { 16, 78, 77, 8, 2, 0 }, { 16, 79, 78, 8, 2, 0 }, { 16, 80, 78, 8, 2, 0 }, { 16, 81, 78, 8, 2, 0 }, + { 16, 82, 79, 8, 2, 0 }, { 16, 83, 79, 8, 2, 0 }, { 16, 84, 80, 8, 2, 0 }, { 16, 85, 80, 8, 2, 0 }, { 16, 86, 80, 8, 2, 0 }, + { 16, 87, 81, 8, 1, 0 }, { 16, 88, 81, 8, 1, 0 }, { 16, 89, 81, 8, 1, 0 }, { 16, 90, 81, 8, 1, 0 }, { 16, 91, 82, 8, 1, 0 }, + { 16, 92, 82, 8, 1, 0 }, { 16, 93, 83, 8, 1, 0 }, { 16, 94, 83, 8, 1, 0 }, { 16, 95, 83, 8, 1, 0 }, { 16, 96, 83, 8, 1, 0 }, + { 16, 97, 84, 8, 1, 0 }, { 16, 98, 84, 8, 1, 0 }, { 16, 99, 84, 8, 1, 0 }, { 16, 100, 84, 8, 1, 0 }, { 16, 101, 85, 8, 1, 0 }, + { 16, 102, 85, 8, 1, 0 }, { 16, 103, 85, 8, 1, 0 }, { 16, 104, 85, 8, 1, 0 }, { 16, 105, 86, 8, 1, 0 }, { 16, 106, 86, 8, 1, 0 }, + { 16, 107, 86, 8, 1, 0 }, { 16, 108, 86, 8, 1, 0 }, { 16, 109, 86, 8, 1, 0 }, { 16, 110, 86, 8, 0, 0 }, { 16, 111, 87, 8, 0, 0 }, + { 16, 112, 87, 8, 0, 0 }, { 16, 113, 87, 8, 0, 0 }, { 16, 114, 87, 8, 0, 0 }, { 16, 115, 87, 8, 0, 0 }, { 16, 116, 87, 8, 0, 0 }, + { 16, 117, 87, 8, 0, 0 }, { 16, 118, 87, 8, 0, 0 }, { 16, 119, 87, 8, 0, 0 }, { 16, 120, 87, 8, 0, 0 }, { 16, 121, 87, 8, 0, 0 }, + { 16, 122, 87, 8, 0, 0 }, { 16, 123, 87, 8, 0, 0 }, { 16, 124, 87, 8, 0, 0 }, { 16, 125, 87, 8, 0, 0 }, { 16, 126, 87, 8, 0, 0 }, + { 16, 127, 87, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96F278 = { - 141, { - { 0, 16, 0, 16, 4, 0 }, { 0, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 2, 16, 3, 16, 4, 0 }, { 2, 16, 4, 16, 4, 0 }, - { 3, 16, 5, 16, 4, 0 }, { 3, 16, 6, 16, 4, 0 }, { 4, 16, 7, 16, 4, 0 }, { 4, 16, 8, 16, 4, 0 }, { 5, 16, 9, 16, 4, 0 }, - { 5, 16, 10, 16, 4, 0 }, { 6, 16, 11, 16, 4, 0 }, { 7, 16, 12, 16, 4, 0 }, { 7, 16, 13, 16, 4, 0 }, { 8, 16, 14, 16, 4, 0 }, - { 8, 16, 15, 16, 4, 0 }, { 9, 16, 16, 16, 4, 0 }, { 10, 16, 17, 16, 4, 0 }, { 10, 16, 18, 16, 4, 0 }, { 11, 16, 19, 16, 4, 0 }, - { 12, 16, 20, 16, 4, 0 }, { 12, 16, 21, 16, 4, 0 }, { 13, 16, 22, 16, 4, 0 }, { 14, 16, 23, 16, 4, 0 }, { 14, 16, 24, 16, 4, 0 }, - { 15, 16, 25, 16, 4, 0 }, { 16, 16, 26, 16, 4, 0 }, { 17, 16, 27, 16, 4, 0 }, { 17, 16, 28, 16, 4, 0 }, { 18, 16, 29, 16, 4, 0 }, - { 19, 16, 30, 16, 4, 0 }, { 20, 16, 31, 16, 4, 0 }, { 21, 16, 32, 16, 4, 0 }, { 22, 16, 33, 16, 4, 0 }, { 22, 16, 34, 16, 4, 0 }, - { 23, 16, 35, 16, 3, 0 }, { 23, 16, 36, 16, 3, 0 }, { 24, 16, 37, 16, 3, 0 }, { 25, 16, 38, 16, 3, 0 }, { 26, 16, 39, 16, 3, 0 }, - { 27, 16, 40, 16, 3, 0 }, { 28, 16, 41, 16, 3, 0 }, { 29, 16, 42, 16, 3, 0 }, { 30, 16, 43, 16, 3, 0 }, { 31, 16, 44, 16, 3, 0 }, - { 32, 16, 45, 16, 3, 0 }, { 33, 16, 46, 16, 3, 0 }, { 34, 16, 47, 16, 3, 0 }, { 35, 16, 48, 16, 3, 0 }, { 36, 16, 49, 16, 3, 0 }, - { 37, 16, 50, 16, 3, 0 }, { 38, 16, 51, 16, 3, 0 }, { 39, 16, 52, 16, 3, 0 }, { 40, 16, 53, 16, 3, 0 }, { 41, 16, 54, 16, 3, 0 }, - { 42, 16, 55, 16, 3, 0 }, { 43, 16, 56, 16, 3, 0 }, { 44, 16, 57, 16, 3, 0 }, { 45, 16, 57, 16, 3, 0 }, { 46, 16, 58, 16, 3, 0 }, - { 47, 16, 59, 16, 3, 0 }, { 48, 16, 59, 16, 3, 0 }, { 49, 16, 60, 16, 3, 0 }, { 50, 16, 61, 16, 3, 0 }, { 51, 16, 61, 16, 3, 0 }, - { 52, 16, 62, 16, 3, 0 }, { 53, 16, 63, 16, 3, 0 }, { 54, 16, 64, 16, 3, 0 }, { 55, 16, 65, 16, 3, 0 }, { 56, 16, 65, 16, 3, 0 }, - { 57, 16, 66, 16, 2, 0 }, { 58, 16, 67, 16, 2, 0 }, { 59, 16, 67, 16, 2, 0 }, { 60, 16, 68, 16, 2, 0 }, { 61, 16, 69, 16, 2, 0 }, - { 62, 16, 69, 16, 2, 0 }, { 63, 16, 69, 16, 2, 0 }, { 64, 16, 70, 16, 2, 0 }, { 65, 16, 71, 16, 2, 0 }, { 66, 16, 71, 16, 2, 0 }, - { 67, 16, 72, 16, 2, 0 }, { 68, 16, 73, 16, 2, 0 }, { 69, 16, 73, 16, 2, 0 }, { 70, 16, 73, 16, 2, 0 }, { 71, 16, 74, 16, 2, 0 }, - { 72, 16, 75, 16, 2, 0 }, { 73, 16, 75, 16, 2, 0 }, { 74, 16, 75, 16, 2, 0 }, { 75, 16, 75, 16, 2, 0 }, { 76, 16, 76, 16, 2, 0 }, - { 77, 16, 77, 16, 2, 0 }, { 78, 16, 77, 16, 2, 0 }, { 79, 16, 78, 16, 2, 0 }, { 80, 16, 78, 16, 2, 0 }, { 81, 16, 78, 16, 2, 0 }, - { 82, 16, 79, 16, 2, 0 }, { 83, 16, 79, 16, 2, 0 }, { 84, 16, 80, 16, 2, 0 }, { 85, 16, 80, 16, 2, 0 }, { 86, 16, 80, 16, 2, 0 }, - { 87, 16, 81, 16, 1, 0 }, { 88, 16, 81, 16, 1, 0 }, { 89, 16, 81, 16, 1, 0 }, { 90, 16, 81, 16, 1, 0 }, { 91, 16, 82, 16, 1, 0 }, - { 92, 16, 82, 16, 1, 0 }, { 93, 16, 83, 16, 1, 0 }, { 94, 16, 83, 16, 1, 0 }, { 95, 16, 83, 16, 1, 0 }, { 96, 16, 83, 16, 1, 0 }, - { 97, 16, 84, 16, 1, 0 }, { 98, 16, 84, 16, 1, 0 }, { 99, 16, 84, 16, 1, 0 }, { 100, 16, 84, 16, 1, 0 }, { 101, 16, 85, 16, 1, 0 }, - { 102, 16, 85, 16, 1, 0 }, { 103, 16, 85, 16, 1, 0 }, { 104, 16, 85, 16, 1, 0 }, { 105, 16, 86, 16, 1, 0 }, { 106, 16, 86, 16, 1, 0 }, - { 107, 16, 86, 16, 1, 0 }, { 108, 16, 86, 16, 1, 0 }, { 109, 16, 86, 16, 1, 0 }, { 110, 16, 86, 16, 0, 0 }, { 111, 16, 87, 16, 0, 0 }, - { 112, 16, 87, 16, 0, 0 }, { 113, 16, 87, 16, 0, 0 }, { 114, 16, 87, 16, 0, 0 }, { 115, 16, 87, 16, 0, 0 }, { 116, 16, 87, 16, 0, 0 }, - { 117, 16, 87, 16, 0, 0 }, { 118, 16, 87, 16, 0, 0 }, { 119, 16, 87, 16, 0, 0 }, { 120, 16, 87, 16, 0, 0 }, { 121, 16, 87, 16, 0, 0 }, - { 122, 16, 87, 16, 0, 0 }, { 123, 16, 87, 16, 0, 0 }, { 124, 16, 87, 16, 0, 0 }, { 125, 16, 87, 16, 0, 0 }, { 126, 16, 87, 16, 0, 0 }, - { 127, 16, 87, 16, 0, 0 }, + 141, { + { 0, 16, 0, 16, 4, 0 }, { 0, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 2, 16, 3, 16, 4, 0 }, { 2, 16, 4, 16, 4, 0 }, + { 3, 16, 5, 16, 4, 0 }, { 3, 16, 6, 16, 4, 0 }, { 4, 16, 7, 16, 4, 0 }, { 4, 16, 8, 16, 4, 0 }, { 5, 16, 9, 16, 4, 0 }, + { 5, 16, 10, 16, 4, 0 }, { 6, 16, 11, 16, 4, 0 }, { 7, 16, 12, 16, 4, 0 }, { 7, 16, 13, 16, 4, 0 }, { 8, 16, 14, 16, 4, 0 }, + { 8, 16, 15, 16, 4, 0 }, { 9, 16, 16, 16, 4, 0 }, { 10, 16, 17, 16, 4, 0 }, { 10, 16, 18, 16, 4, 0 }, { 11, 16, 19, 16, 4, 0 }, + { 12, 16, 20, 16, 4, 0 }, { 12, 16, 21, 16, 4, 0 }, { 13, 16, 22, 16, 4, 0 }, { 14, 16, 23, 16, 4, 0 }, { 14, 16, 24, 16, 4, 0 }, + { 15, 16, 25, 16, 4, 0 }, { 16, 16, 26, 16, 4, 0 }, { 17, 16, 27, 16, 4, 0 }, { 17, 16, 28, 16, 4, 0 }, { 18, 16, 29, 16, 4, 0 }, + { 19, 16, 30, 16, 4, 0 }, { 20, 16, 31, 16, 4, 0 }, { 21, 16, 32, 16, 4, 0 }, { 22, 16, 33, 16, 4, 0 }, { 22, 16, 34, 16, 4, 0 }, + { 23, 16, 35, 16, 3, 0 }, { 23, 16, 36, 16, 3, 0 }, { 24, 16, 37, 16, 3, 0 }, { 25, 16, 38, 16, 3, 0 }, { 26, 16, 39, 16, 3, 0 }, + { 27, 16, 40, 16, 3, 0 }, { 28, 16, 41, 16, 3, 0 }, { 29, 16, 42, 16, 3, 0 }, { 30, 16, 43, 16, 3, 0 }, { 31, 16, 44, 16, 3, 0 }, + { 32, 16, 45, 16, 3, 0 }, { 33, 16, 46, 16, 3, 0 }, { 34, 16, 47, 16, 3, 0 }, { 35, 16, 48, 16, 3, 0 }, { 36, 16, 49, 16, 3, 0 }, + { 37, 16, 50, 16, 3, 0 }, { 38, 16, 51, 16, 3, 0 }, { 39, 16, 52, 16, 3, 0 }, { 40, 16, 53, 16, 3, 0 }, { 41, 16, 54, 16, 3, 0 }, + { 42, 16, 55, 16, 3, 0 }, { 43, 16, 56, 16, 3, 0 }, { 44, 16, 57, 16, 3, 0 }, { 45, 16, 57, 16, 3, 0 }, { 46, 16, 58, 16, 3, 0 }, + { 47, 16, 59, 16, 3, 0 }, { 48, 16, 59, 16, 3, 0 }, { 49, 16, 60, 16, 3, 0 }, { 50, 16, 61, 16, 3, 0 }, { 51, 16, 61, 16, 3, 0 }, + { 52, 16, 62, 16, 3, 0 }, { 53, 16, 63, 16, 3, 0 }, { 54, 16, 64, 16, 3, 0 }, { 55, 16, 65, 16, 3, 0 }, { 56, 16, 65, 16, 3, 0 }, + { 57, 16, 66, 16, 2, 0 }, { 58, 16, 67, 16, 2, 0 }, { 59, 16, 67, 16, 2, 0 }, { 60, 16, 68, 16, 2, 0 }, { 61, 16, 69, 16, 2, 0 }, + { 62, 16, 69, 16, 2, 0 }, { 63, 16, 69, 16, 2, 0 }, { 64, 16, 70, 16, 2, 0 }, { 65, 16, 71, 16, 2, 0 }, { 66, 16, 71, 16, 2, 0 }, + { 67, 16, 72, 16, 2, 0 }, { 68, 16, 73, 16, 2, 0 }, { 69, 16, 73, 16, 2, 0 }, { 70, 16, 73, 16, 2, 0 }, { 71, 16, 74, 16, 2, 0 }, + { 72, 16, 75, 16, 2, 0 }, { 73, 16, 75, 16, 2, 0 }, { 74, 16, 75, 16, 2, 0 }, { 75, 16, 75, 16, 2, 0 }, { 76, 16, 76, 16, 2, 0 }, + { 77, 16, 77, 16, 2, 0 }, { 78, 16, 77, 16, 2, 0 }, { 79, 16, 78, 16, 2, 0 }, { 80, 16, 78, 16, 2, 0 }, { 81, 16, 78, 16, 2, 0 }, + { 82, 16, 79, 16, 2, 0 }, { 83, 16, 79, 16, 2, 0 }, { 84, 16, 80, 16, 2, 0 }, { 85, 16, 80, 16, 2, 0 }, { 86, 16, 80, 16, 2, 0 }, + { 87, 16, 81, 16, 1, 0 }, { 88, 16, 81, 16, 1, 0 }, { 89, 16, 81, 16, 1, 0 }, { 90, 16, 81, 16, 1, 0 }, { 91, 16, 82, 16, 1, 0 }, + { 92, 16, 82, 16, 1, 0 }, { 93, 16, 83, 16, 1, 0 }, { 94, 16, 83, 16, 1, 0 }, { 95, 16, 83, 16, 1, 0 }, { 96, 16, 83, 16, 1, 0 }, + { 97, 16, 84, 16, 1, 0 }, { 98, 16, 84, 16, 1, 0 }, { 99, 16, 84, 16, 1, 0 }, { 100, 16, 84, 16, 1, 0 }, { 101, 16, 85, 16, 1, 0 }, + { 102, 16, 85, 16, 1, 0 }, { 103, 16, 85, 16, 1, 0 }, { 104, 16, 85, 16, 1, 0 }, { 105, 16, 86, 16, 1, 0 }, { 106, 16, 86, 16, 1, 0 }, + { 107, 16, 86, 16, 1, 0 }, { 108, 16, 86, 16, 1, 0 }, { 109, 16, 86, 16, 1, 0 }, { 110, 16, 86, 16, 0, 0 }, { 111, 16, 87, 16, 0, 0 }, + { 112, 16, 87, 16, 0, 0 }, { 113, 16, 87, 16, 0, 0 }, { 114, 16, 87, 16, 0, 0 }, { 115, 16, 87, 16, 0, 0 }, { 116, 16, 87, 16, 0, 0 }, + { 117, 16, 87, 16, 0, 0 }, { 118, 16, 87, 16, 0, 0 }, { 119, 16, 87, 16, 0, 0 }, { 120, 16, 87, 16, 0, 0 }, { 121, 16, 87, 16, 0, 0 }, + { 122, 16, 87, 16, 0, 0 }, { 123, 16, 87, 16, 0, 0 }, { 124, 16, 87, 16, 0, 0 }, { 125, 16, 87, 16, 0, 0 }, { 126, 16, 87, 16, 0, 0 }, + { 127, 16, 87, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96F76F = { - 141, { - { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 29, 3, 24, 4, 0 }, { 16, 29, 4, 24, 4, 0 }, - { 16, 28, 5, 24, 4, 0 }, { 16, 28, 6, 24, 4, 0 }, { 16, 27, 7, 24, 4, 0 }, { 16, 27, 8, 24, 4, 0 }, { 16, 26, 9, 24, 4, 0 }, - { 16, 26, 10, 24, 4, 0 }, { 16, 25, 11, 24, 4, 0 }, { 16, 24, 12, 24, 4, 0 }, { 16, 24, 13, 24, 4, 0 }, { 16, 23, 14, 24, 4, 0 }, - { 16, 23, 15, 24, 4, 0 }, { 16, 22, 16, 24, 4, 0 }, { 16, 21, 17, 24, 4, 0 }, { 16, 21, 18, 24, 4, 0 }, { 16, 20, 19, 24, 4, 0 }, - { 16, 19, 20, 24, 4, 0 }, { 16, 19, 21, 24, 4, 0 }, { 16, 18, 22, 24, 4, 0 }, { 16, 17, 23, 24, 4, 0 }, { 16, 17, 24, 24, 4, 0 }, - { 16, 16, 25, 24, 4, 0 }, { 16, 15, 26, 24, 4, 0 }, { 16, 14, 27, 24, 4, 0 }, { 16, 14, 28, 24, 4, 0 }, { 16, 13, 29, 24, 4, 0 }, - { 16, 12, 30, 24, 4, 0 }, { 16, 11, 31, 24, 4, 0 }, { 16, 10, 32, 24, 4, 0 }, { 16, 9, 33, 24, 4, 0 }, { 16, 9, 34, 24, 4, 0 }, - { 16, 8, 35, 24, 3, 0 }, { 16, 8, 36, 24, 3, 0 }, { 16, 7, 37, 24, 3, 0 }, { 16, 6, 38, 24, 3, 0 }, { 16, 5, 39, 24, 3, 0 }, - { 16, 4, 40, 24, 3, 0 }, { 16, 3, 41, 24, 3, 0 }, { 16, 2, 42, 24, 3, 0 }, { 16, 1, 43, 24, 3, 0 }, { 16, 0, 44, 24, 3, 0 }, - { 16, -1, 45, 24, 3, 0 }, { 16, -2, 46, 24, 3, 0 }, { 16, -3, 47, 24, 3, 0 }, { 16, -4, 48, 24, 3, 0 }, { 16, -5, 49, 24, 3, 0 }, - { 16, -6, 50, 24, 3, 0 }, { 16, -7, 51, 24, 3, 0 }, { 16, -8, 52, 24, 3, 0 }, { 16, -9, 53, 24, 3, 0 }, { 16, -10, 54, 24, 3, 0 }, - { 16, -11, 55, 24, 3, 0 }, { 16, -12, 56, 24, 3, 0 }, { 16, -13, 57, 24, 3, 0 }, { 16, -14, 57, 24, 3, 0 }, { 16, -15, 58, 24, 3, 0 }, - { 16, -16, 59, 24, 3, 0 }, { 16, -17, 59, 24, 3, 0 }, { 16, -18, 60, 24, 3, 0 }, { 16, -19, 61, 24, 3, 0 }, { 16, -20, 61, 24, 3, 0 }, - { 16, -21, 62, 24, 3, 0 }, { 16, -22, 63, 24, 3, 0 }, { 16, -23, 64, 24, 3, 0 }, { 16, -24, 65, 24, 3, 0 }, { 16, -25, 65, 24, 3, 0 }, - { 16, -26, 66, 24, 2, 0 }, { 16, -27, 67, 24, 2, 0 }, { 16, -28, 67, 24, 2, 0 }, { 16, -29, 68, 24, 2, 0 }, { 16, -30, 69, 24, 2, 0 }, - { 16, -31, 69, 24, 2, 0 }, { 16, -32, 69, 24, 2, 0 }, { 16, -33, 70, 24, 2, 0 }, { 16, -34, 71, 24, 2, 0 }, { 16, -35, 71, 24, 2, 0 }, - { 16, -36, 72, 24, 2, 0 }, { 16, -37, 73, 24, 2, 0 }, { 16, -38, 73, 24, 2, 0 }, { 16, -39, 73, 24, 2, 0 }, { 16, -40, 74, 24, 2, 0 }, - { 16, -41, 75, 24, 2, 0 }, { 16, -42, 75, 24, 2, 0 }, { 16, -43, 75, 24, 2, 0 }, { 16, -44, 75, 24, 2, 0 }, { 16, -45, 76, 24, 2, 0 }, - { 16, -46, 77, 24, 2, 0 }, { 16, -47, 77, 24, 2, 0 }, { 16, -48, 78, 24, 2, 0 }, { 16, -49, 78, 24, 2, 0 }, { 16, -50, 78, 24, 2, 0 }, - { 16, -51, 79, 24, 2, 0 }, { 16, -52, 79, 24, 2, 0 }, { 16, -53, 80, 24, 2, 0 }, { 16, -54, 80, 24, 2, 0 }, { 16, -55, 80, 24, 2, 0 }, - { 16, -56, 81, 24, 1, 0 }, { 16, -57, 81, 24, 1, 0 }, { 16, -58, 81, 24, 1, 0 }, { 16, -59, 81, 24, 1, 0 }, { 16, -60, 82, 24, 1, 0 }, - { 16, -61, 82, 24, 1, 0 }, { 16, -62, 83, 24, 1, 0 }, { 16, -63, 83, 24, 1, 0 }, { 16, -64, 83, 24, 1, 0 }, { 16, -65, 83, 24, 1, 0 }, - { 16, -66, 84, 24, 1, 0 }, { 16, -67, 84, 24, 1, 0 }, { 16, -68, 84, 24, 1, 0 }, { 16, -69, 84, 24, 1, 0 }, { 16, -70, 85, 24, 1, 0 }, - { 16, -71, 85, 24, 1, 0 }, { 16, -72, 85, 24, 1, 0 }, { 16, -73, 85, 24, 1, 0 }, { 16, -74, 86, 24, 1, 0 }, { 16, -75, 86, 24, 1, 0 }, - { 16, -76, 86, 24, 1, 0 }, { 16, -77, 86, 24, 1, 0 }, { 16, -78, 86, 24, 1, 0 }, { 16, -79, 86, 24, 0, 0 }, { 16, -80, 87, 24, 0, 0 }, - { 16, -81, 87, 24, 0, 0 }, { 16, -82, 87, 24, 0, 0 }, { 16, -83, 87, 24, 0, 0 }, { 16, -84, 87, 24, 0, 0 }, { 16, -85, 87, 24, 0, 0 }, - { 16, -86, 87, 24, 0, 0 }, { 16, -87, 87, 24, 0, 0 }, { 16, -88, 87, 24, 0, 0 }, { 16, -89, 87, 24, 0, 0 }, { 16, -90, 87, 24, 0, 0 }, - { 16, -91, 87, 24, 0, 0 }, { 16, -92, 87, 24, 0, 0 }, { 16, -93, 87, 24, 0, 0 }, { 16, -94, 87, 24, 0, 0 }, { 16, -95, 87, 24, 0, 0 }, - { 16, -96, 87, 24, 0, 0 }, + 141, { + { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 29, 3, 24, 4, 0 }, { 16, 29, 4, 24, 4, 0 }, + { 16, 28, 5, 24, 4, 0 }, { 16, 28, 6, 24, 4, 0 }, { 16, 27, 7, 24, 4, 0 }, { 16, 27, 8, 24, 4, 0 }, { 16, 26, 9, 24, 4, 0 }, + { 16, 26, 10, 24, 4, 0 }, { 16, 25, 11, 24, 4, 0 }, { 16, 24, 12, 24, 4, 0 }, { 16, 24, 13, 24, 4, 0 }, { 16, 23, 14, 24, 4, 0 }, + { 16, 23, 15, 24, 4, 0 }, { 16, 22, 16, 24, 4, 0 }, { 16, 21, 17, 24, 4, 0 }, { 16, 21, 18, 24, 4, 0 }, { 16, 20, 19, 24, 4, 0 }, + { 16, 19, 20, 24, 4, 0 }, { 16, 19, 21, 24, 4, 0 }, { 16, 18, 22, 24, 4, 0 }, { 16, 17, 23, 24, 4, 0 }, { 16, 17, 24, 24, 4, 0 }, + { 16, 16, 25, 24, 4, 0 }, { 16, 15, 26, 24, 4, 0 }, { 16, 14, 27, 24, 4, 0 }, { 16, 14, 28, 24, 4, 0 }, { 16, 13, 29, 24, 4, 0 }, + { 16, 12, 30, 24, 4, 0 }, { 16, 11, 31, 24, 4, 0 }, { 16, 10, 32, 24, 4, 0 }, { 16, 9, 33, 24, 4, 0 }, { 16, 9, 34, 24, 4, 0 }, + { 16, 8, 35, 24, 3, 0 }, { 16, 8, 36, 24, 3, 0 }, { 16, 7, 37, 24, 3, 0 }, { 16, 6, 38, 24, 3, 0 }, { 16, 5, 39, 24, 3, 0 }, + { 16, 4, 40, 24, 3, 0 }, { 16, 3, 41, 24, 3, 0 }, { 16, 2, 42, 24, 3, 0 }, { 16, 1, 43, 24, 3, 0 }, { 16, 0, 44, 24, 3, 0 }, + { 16, -1, 45, 24, 3, 0 }, { 16, -2, 46, 24, 3, 0 }, { 16, -3, 47, 24, 3, 0 }, { 16, -4, 48, 24, 3, 0 }, { 16, -5, 49, 24, 3, 0 }, + { 16, -6, 50, 24, 3, 0 }, { 16, -7, 51, 24, 3, 0 }, { 16, -8, 52, 24, 3, 0 }, { 16, -9, 53, 24, 3, 0 }, { 16, -10, 54, 24, 3, 0 }, + { 16, -11, 55, 24, 3, 0 }, { 16, -12, 56, 24, 3, 0 }, { 16, -13, 57, 24, 3, 0 }, { 16, -14, 57, 24, 3, 0 }, { 16, -15, 58, 24, 3, 0 }, + { 16, -16, 59, 24, 3, 0 }, { 16, -17, 59, 24, 3, 0 }, { 16, -18, 60, 24, 3, 0 }, { 16, -19, 61, 24, 3, 0 }, { 16, -20, 61, 24, 3, 0 }, + { 16, -21, 62, 24, 3, 0 }, { 16, -22, 63, 24, 3, 0 }, { 16, -23, 64, 24, 3, 0 }, { 16, -24, 65, 24, 3, 0 }, { 16, -25, 65, 24, 3, 0 }, + { 16, -26, 66, 24, 2, 0 }, { 16, -27, 67, 24, 2, 0 }, { 16, -28, 67, 24, 2, 0 }, { 16, -29, 68, 24, 2, 0 }, { 16, -30, 69, 24, 2, 0 }, + { 16, -31, 69, 24, 2, 0 }, { 16, -32, 69, 24, 2, 0 }, { 16, -33, 70, 24, 2, 0 }, { 16, -34, 71, 24, 2, 0 }, { 16, -35, 71, 24, 2, 0 }, + { 16, -36, 72, 24, 2, 0 }, { 16, -37, 73, 24, 2, 0 }, { 16, -38, 73, 24, 2, 0 }, { 16, -39, 73, 24, 2, 0 }, { 16, -40, 74, 24, 2, 0 }, + { 16, -41, 75, 24, 2, 0 }, { 16, -42, 75, 24, 2, 0 }, { 16, -43, 75, 24, 2, 0 }, { 16, -44, 75, 24, 2, 0 }, { 16, -45, 76, 24, 2, 0 }, + { 16, -46, 77, 24, 2, 0 }, { 16, -47, 77, 24, 2, 0 }, { 16, -48, 78, 24, 2, 0 }, { 16, -49, 78, 24, 2, 0 }, { 16, -50, 78, 24, 2, 0 }, + { 16, -51, 79, 24, 2, 0 }, { 16, -52, 79, 24, 2, 0 }, { 16, -53, 80, 24, 2, 0 }, { 16, -54, 80, 24, 2, 0 }, { 16, -55, 80, 24, 2, 0 }, + { 16, -56, 81, 24, 1, 0 }, { 16, -57, 81, 24, 1, 0 }, { 16, -58, 81, 24, 1, 0 }, { 16, -59, 81, 24, 1, 0 }, { 16, -60, 82, 24, 1, 0 }, + { 16, -61, 82, 24, 1, 0 }, { 16, -62, 83, 24, 1, 0 }, { 16, -63, 83, 24, 1, 0 }, { 16, -64, 83, 24, 1, 0 }, { 16, -65, 83, 24, 1, 0 }, + { 16, -66, 84, 24, 1, 0 }, { 16, -67, 84, 24, 1, 0 }, { 16, -68, 84, 24, 1, 0 }, { 16, -69, 84, 24, 1, 0 }, { 16, -70, 85, 24, 1, 0 }, + { 16, -71, 85, 24, 1, 0 }, { 16, -72, 85, 24, 1, 0 }, { 16, -73, 85, 24, 1, 0 }, { 16, -74, 86, 24, 1, 0 }, { 16, -75, 86, 24, 1, 0 }, + { 16, -76, 86, 24, 1, 0 }, { 16, -77, 86, 24, 1, 0 }, { 16, -78, 86, 24, 1, 0 }, { 16, -79, 86, 24, 0, 0 }, { 16, -80, 87, 24, 0, 0 }, + { 16, -81, 87, 24, 0, 0 }, { 16, -82, 87, 24, 0, 0 }, { 16, -83, 87, 24, 0, 0 }, { 16, -84, 87, 24, 0, 0 }, { 16, -85, 87, 24, 0, 0 }, + { 16, -86, 87, 24, 0, 0 }, { 16, -87, 87, 24, 0, 0 }, { 16, -88, 87, 24, 0, 0 }, { 16, -89, 87, 24, 0, 0 }, { 16, -90, 87, 24, 0, 0 }, + { 16, -91, 87, 24, 0, 0 }, { 16, -92, 87, 24, 0, 0 }, { 16, -93, 87, 24, 0, 0 }, { 16, -94, 87, 24, 0, 0 }, { 16, -95, 87, 24, 0, 0 }, + { 16, -96, 87, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_971042 = { - 141, { - { 31, 16, 48, 0, 8, 0 }, { 31, 16, 47, 0, 8, 0 }, { 30, 16, 46, 0, 8, 0 }, { 29, 16, 45, 0, 8, 0 }, { 29, 16, 44, 0, 8, 0 }, - { 28, 16, 43, 0, 8, 0 }, { 28, 16, 42, 0, 8, 0 }, { 27, 16, 41, 0, 8, 0 }, { 27, 16, 40, 0, 8, 0 }, { 26, 16, 39, 0, 8, 0 }, - { 26, 16, 38, 0, 8, 0 }, { 25, 16, 37, 0, 8, 0 }, { 24, 16, 36, 0, 8, 0 }, { 24, 16, 35, 0, 8, 0 }, { 23, 16, 34, 0, 8, 0 }, - { 23, 16, 33, 0, 8, 0 }, { 22, 16, 32, 0, 8, 0 }, { 21, 16, 31, 0, 8, 0 }, { 21, 16, 30, 0, 8, 0 }, { 20, 16, 29, 0, 8, 0 }, - { 19, 16, 28, 0, 8, 0 }, { 19, 16, 27, 0, 8, 0 }, { 18, 16, 26, 0, 8, 0 }, { 17, 16, 25, 0, 8, 0 }, { 17, 16, 24, 0, 8, 0 }, - { 16, 16, 23, 0, 8, 0 }, { 15, 16, 22, 0, 8, 0 }, { 14, 16, 21, 0, 8, 0 }, { 14, 16, 20, 0, 8, 0 }, { 13, 16, 19, 0, 8, 0 }, - { 12, 16, 18, 0, 8, 0 }, { 11, 16, 17, 0, 8, 0 }, { 10, 16, 16, 0, 8, 0 }, { 9, 16, 15, 0, 8, 0 }, { 9, 16, 14, 0, 8, 0 }, - { 8, 16, 13, 0, 7, 0 }, { 8, 16, 12, 0, 7, 0 }, { 7, 16, 11, 0, 7, 0 }, { 6, 16, 10, 0, 7, 0 }, { 5, 16, 9, 0, 7, 0 }, - { 4, 16, 8, 0, 7, 0 }, { 3, 16, 7, 0, 7, 0 }, { 2, 16, 6, 0, 7, 0 }, { 1, 16, 5, 0, 7, 0 }, { 0, 16, 4, 0, 7, 0 }, - { -1, 16, 3, 0, 7, 0 }, { -2, 16, 2, 0, 7, 0 }, { -3, 16, 1, 0, 7, 0 }, { -4, 16, 0, 0, 7, 0 }, { -5, 16, -1, 0, 7, 0 }, - { -6, 16, -2, 0, 7, 0 }, { -7, 16, -3, 0, 7, 0 }, { -8, 16, -4, 0, 7, 0 }, { -9, 16, -5, 0, 7, 0 }, { -10, 16, -6, 0, 7, 0 }, - { -11, 16, -7, 0, 7, 0 }, { -12, 16, -8, 0, 7, 0 }, { -13, 16, -9, 0, 7, 0 }, { -14, 16, -9, 0, 7, 0 }, { -15, 16, -10, 0, 7, 0 }, - { -16, 16, -11, 0, 7, 0 }, { -17, 16, -11, 0, 7, 0 }, { -18, 16, -12, 0, 7, 0 }, { -19, 16, -13, 0, 7, 0 }, { -20, 16, -13, 0, 7, 0 }, - { -21, 16, -14, 0, 7, 0 }, { -22, 16, -15, 0, 7, 0 }, { -23, 16, -16, 0, 7, 0 }, { -24, 16, -17, 0, 7, 0 }, { -25, 16, -17, 0, 7, 0 }, - { -26, 16, -18, 0, 6, 0 }, { -27, 16, -19, 0, 6, 0 }, { -28, 16, -19, 0, 6, 0 }, { -29, 16, -20, 0, 6, 0 }, { -30, 16, -21, 0, 6, 0 }, - { -31, 16, -21, 0, 6, 0 }, { -32, 16, -21, 0, 6, 0 }, { -33, 16, -22, 0, 6, 0 }, { -34, 16, -23, 0, 6, 0 }, { -35, 16, -23, 0, 6, 0 }, - { -36, 16, -24, 0, 6, 0 }, { -37, 16, -25, 0, 6, 0 }, { -38, 16, -25, 0, 6, 0 }, { -39, 16, -25, 0, 6, 0 }, { -40, 16, -26, 0, 6, 0 }, - { -41, 16, -27, 0, 6, 0 }, { -42, 16, -27, 0, 6, 0 }, { -43, 16, -27, 0, 6, 0 }, { -44, 16, -27, 0, 6, 0 }, { -45, 16, -28, 0, 6, 0 }, - { -46, 16, -29, 0, 6, 0 }, { -47, 16, -29, 0, 6, 0 }, { -48, 16, -30, 0, 6, 0 }, { -49, 16, -30, 0, 6, 0 }, { -50, 16, -30, 0, 6, 0 }, - { -51, 16, -31, 0, 6, 0 }, { -52, 16, -31, 0, 6, 0 }, { -53, 16, -32, 0, 6, 0 }, { -54, 16, -32, 0, 6, 0 }, { -55, 16, -32, 0, 6, 0 }, - { -56, 16, -33, 0, 5, 0 }, { -57, 16, -33, 0, 5, 0 }, { -58, 16, -33, 0, 5, 0 }, { -59, 16, -33, 0, 5, 0 }, { -60, 16, -34, 0, 5, 0 }, - { -61, 16, -34, 0, 5, 0 }, { -62, 16, -35, 0, 5, 0 }, { -63, 16, -35, 0, 5, 0 }, { -64, 16, -35, 0, 5, 0 }, { -65, 16, -35, 0, 5, 0 }, - { -66, 16, -36, 0, 5, 0 }, { -67, 16, -36, 0, 5, 0 }, { -68, 16, -36, 0, 5, 0 }, { -69, 16, -36, 0, 5, 0 }, { -70, 16, -37, 0, 5, 0 }, - { -71, 16, -37, 0, 5, 0 }, { -72, 16, -37, 0, 5, 0 }, { -73, 16, -37, 0, 5, 0 }, { -74, 16, -38, 0, 5, 0 }, { -75, 16, -38, 0, 5, 0 }, - { -76, 16, -38, 0, 5, 0 }, { -77, 16, -38, 0, 5, 0 }, { -78, 16, -38, 0, 5, 0 }, { -79, 16, -38, 0, 0, 0 }, { -80, 16, -39, 0, 0, 0 }, - { -81, 16, -39, 0, 0, 0 }, { -82, 16, -39, 0, 0, 0 }, { -83, 16, -39, 0, 0, 0 }, { -84, 16, -39, 0, 0, 0 }, { -85, 16, -39, 0, 0, 0 }, - { -86, 16, -39, 0, 0, 0 }, { -87, 16, -39, 0, 0, 0 }, { -88, 16, -39, 0, 0, 0 }, { -89, 16, -39, 0, 0, 0 }, { -90, 16, -39, 0, 0, 0 }, - { -91, 16, -39, 0, 0, 0 }, { -92, 16, -39, 0, 0, 0 }, { -93, 16, -39, 0, 0, 0 }, { -94, 16, -39, 0, 0, 0 }, { -95, 16, -39, 0, 0, 0 }, - { -96, 16, -39, 0, 0, 0 }, + 141, { + { 31, 16, 48, 0, 8, 0 }, { 31, 16, 47, 0, 8, 0 }, { 30, 16, 46, 0, 8, 0 }, { 29, 16, 45, 0, 8, 0 }, { 29, 16, 44, 0, 8, 0 }, + { 28, 16, 43, 0, 8, 0 }, { 28, 16, 42, 0, 8, 0 }, { 27, 16, 41, 0, 8, 0 }, { 27, 16, 40, 0, 8, 0 }, { 26, 16, 39, 0, 8, 0 }, + { 26, 16, 38, 0, 8, 0 }, { 25, 16, 37, 0, 8, 0 }, { 24, 16, 36, 0, 8, 0 }, { 24, 16, 35, 0, 8, 0 }, { 23, 16, 34, 0, 8, 0 }, + { 23, 16, 33, 0, 8, 0 }, { 22, 16, 32, 0, 8, 0 }, { 21, 16, 31, 0, 8, 0 }, { 21, 16, 30, 0, 8, 0 }, { 20, 16, 29, 0, 8, 0 }, + { 19, 16, 28, 0, 8, 0 }, { 19, 16, 27, 0, 8, 0 }, { 18, 16, 26, 0, 8, 0 }, { 17, 16, 25, 0, 8, 0 }, { 17, 16, 24, 0, 8, 0 }, + { 16, 16, 23, 0, 8, 0 }, { 15, 16, 22, 0, 8, 0 }, { 14, 16, 21, 0, 8, 0 }, { 14, 16, 20, 0, 8, 0 }, { 13, 16, 19, 0, 8, 0 }, + { 12, 16, 18, 0, 8, 0 }, { 11, 16, 17, 0, 8, 0 }, { 10, 16, 16, 0, 8, 0 }, { 9, 16, 15, 0, 8, 0 }, { 9, 16, 14, 0, 8, 0 }, + { 8, 16, 13, 0, 7, 0 }, { 8, 16, 12, 0, 7, 0 }, { 7, 16, 11, 0, 7, 0 }, { 6, 16, 10, 0, 7, 0 }, { 5, 16, 9, 0, 7, 0 }, + { 4, 16, 8, 0, 7, 0 }, { 3, 16, 7, 0, 7, 0 }, { 2, 16, 6, 0, 7, 0 }, { 1, 16, 5, 0, 7, 0 }, { 0, 16, 4, 0, 7, 0 }, + { -1, 16, 3, 0, 7, 0 }, { -2, 16, 2, 0, 7, 0 }, { -3, 16, 1, 0, 7, 0 }, { -4, 16, 0, 0, 7, 0 }, { -5, 16, -1, 0, 7, 0 }, + { -6, 16, -2, 0, 7, 0 }, { -7, 16, -3, 0, 7, 0 }, { -8, 16, -4, 0, 7, 0 }, { -9, 16, -5, 0, 7, 0 }, { -10, 16, -6, 0, 7, 0 }, + { -11, 16, -7, 0, 7, 0 }, { -12, 16, -8, 0, 7, 0 }, { -13, 16, -9, 0, 7, 0 }, { -14, 16, -9, 0, 7, 0 }, { -15, 16, -10, 0, 7, 0 }, + { -16, 16, -11, 0, 7, 0 }, { -17, 16, -11, 0, 7, 0 }, { -18, 16, -12, 0, 7, 0 }, { -19, 16, -13, 0, 7, 0 }, { -20, 16, -13, 0, 7, 0 }, + { -21, 16, -14, 0, 7, 0 }, { -22, 16, -15, 0, 7, 0 }, { -23, 16, -16, 0, 7, 0 }, { -24, 16, -17, 0, 7, 0 }, { -25, 16, -17, 0, 7, 0 }, + { -26, 16, -18, 0, 6, 0 }, { -27, 16, -19, 0, 6, 0 }, { -28, 16, -19, 0, 6, 0 }, { -29, 16, -20, 0, 6, 0 }, { -30, 16, -21, 0, 6, 0 }, + { -31, 16, -21, 0, 6, 0 }, { -32, 16, -21, 0, 6, 0 }, { -33, 16, -22, 0, 6, 0 }, { -34, 16, -23, 0, 6, 0 }, { -35, 16, -23, 0, 6, 0 }, + { -36, 16, -24, 0, 6, 0 }, { -37, 16, -25, 0, 6, 0 }, { -38, 16, -25, 0, 6, 0 }, { -39, 16, -25, 0, 6, 0 }, { -40, 16, -26, 0, 6, 0 }, + { -41, 16, -27, 0, 6, 0 }, { -42, 16, -27, 0, 6, 0 }, { -43, 16, -27, 0, 6, 0 }, { -44, 16, -27, 0, 6, 0 }, { -45, 16, -28, 0, 6, 0 }, + { -46, 16, -29, 0, 6, 0 }, { -47, 16, -29, 0, 6, 0 }, { -48, 16, -30, 0, 6, 0 }, { -49, 16, -30, 0, 6, 0 }, { -50, 16, -30, 0, 6, 0 }, + { -51, 16, -31, 0, 6, 0 }, { -52, 16, -31, 0, 6, 0 }, { -53, 16, -32, 0, 6, 0 }, { -54, 16, -32, 0, 6, 0 }, { -55, 16, -32, 0, 6, 0 }, + { -56, 16, -33, 0, 5, 0 }, { -57, 16, -33, 0, 5, 0 }, { -58, 16, -33, 0, 5, 0 }, { -59, 16, -33, 0, 5, 0 }, { -60, 16, -34, 0, 5, 0 }, + { -61, 16, -34, 0, 5, 0 }, { -62, 16, -35, 0, 5, 0 }, { -63, 16, -35, 0, 5, 0 }, { -64, 16, -35, 0, 5, 0 }, { -65, 16, -35, 0, 5, 0 }, + { -66, 16, -36, 0, 5, 0 }, { -67, 16, -36, 0, 5, 0 }, { -68, 16, -36, 0, 5, 0 }, { -69, 16, -36, 0, 5, 0 }, { -70, 16, -37, 0, 5, 0 }, + { -71, 16, -37, 0, 5, 0 }, { -72, 16, -37, 0, 5, 0 }, { -73, 16, -37, 0, 5, 0 }, { -74, 16, -38, 0, 5, 0 }, { -75, 16, -38, 0, 5, 0 }, + { -76, 16, -38, 0, 5, 0 }, { -77, 16, -38, 0, 5, 0 }, { -78, 16, -38, 0, 5, 0 }, { -79, 16, -38, 0, 0, 0 }, { -80, 16, -39, 0, 0, 0 }, + { -81, 16, -39, 0, 0, 0 }, { -82, 16, -39, 0, 0, 0 }, { -83, 16, -39, 0, 0, 0 }, { -84, 16, -39, 0, 0, 0 }, { -85, 16, -39, 0, 0, 0 }, + { -86, 16, -39, 0, 0, 0 }, { -87, 16, -39, 0, 0, 0 }, { -88, 16, -39, 0, 0, 0 }, { -89, 16, -39, 0, 0, 0 }, { -90, 16, -39, 0, 0, 0 }, + { -91, 16, -39, 0, 0, 0 }, { -92, 16, -39, 0, 0, 0 }, { -93, 16, -39, 0, 0, 0 }, { -94, 16, -39, 0, 0, 0 }, { -95, 16, -39, 0, 0, 0 }, + { -96, 16, -39, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_971539 = { - 141, { - { 16, 0, 48, 8, 8, 0 }, { 16, 0, 47, 8, 8, 0 }, { 16, 1, 46, 8, 8, 0 }, { 16, 2, 45, 8, 8, 0 }, { 16, 2, 44, 8, 8, 0 }, - { 16, 3, 43, 8, 8, 0 }, { 16, 3, 42, 8, 8, 0 }, { 16, 4, 41, 8, 8, 0 }, { 16, 4, 40, 8, 8, 0 }, { 16, 5, 39, 8, 8, 0 }, - { 16, 5, 38, 8, 8, 0 }, { 16, 6, 37, 8, 8, 0 }, { 16, 7, 36, 8, 8, 0 }, { 16, 7, 35, 8, 8, 0 }, { 16, 8, 34, 8, 8, 0 }, - { 16, 8, 33, 8, 8, 0 }, { 16, 9, 32, 8, 8, 0 }, { 16, 10, 31, 8, 8, 0 }, { 16, 10, 30, 8, 8, 0 }, { 16, 11, 29, 8, 8, 0 }, - { 16, 12, 28, 8, 8, 0 }, { 16, 12, 27, 8, 8, 0 }, { 16, 13, 26, 8, 8, 0 }, { 16, 14, 25, 8, 8, 0 }, { 16, 14, 24, 8, 8, 0 }, - { 16, 15, 23, 8, 8, 0 }, { 16, 16, 22, 8, 8, 0 }, { 16, 17, 21, 8, 8, 0 }, { 16, 17, 20, 8, 8, 0 }, { 16, 18, 19, 8, 8, 0 }, - { 16, 19, 18, 8, 8, 0 }, { 16, 20, 17, 8, 8, 0 }, { 16, 21, 16, 8, 8, 0 }, { 16, 22, 15, 8, 8, 0 }, { 16, 22, 14, 8, 8, 0 }, - { 16, 23, 13, 8, 7, 0 }, { 16, 23, 12, 8, 7, 0 }, { 16, 24, 11, 8, 7, 0 }, { 16, 25, 10, 8, 7, 0 }, { 16, 26, 9, 8, 7, 0 }, - { 16, 27, 8, 8, 7, 0 }, { 16, 28, 7, 8, 7, 0 }, { 16, 29, 6, 8, 7, 0 }, { 16, 30, 5, 8, 7, 0 }, { 16, 31, 4, 8, 7, 0 }, - { 16, 32, 3, 8, 7, 0 }, { 16, 33, 2, 8, 7, 0 }, { 16, 34, 1, 8, 7, 0 }, { 16, 35, 0, 8, 7, 0 }, { 16, 36, -1, 8, 7, 0 }, - { 16, 37, -2, 8, 7, 0 }, { 16, 38, -3, 8, 7, 0 }, { 16, 39, -4, 8, 7, 0 }, { 16, 40, -5, 8, 7, 0 }, { 16, 41, -6, 8, 7, 0 }, - { 16, 42, -7, 8, 7, 0 }, { 16, 43, -8, 8, 7, 0 }, { 16, 44, -9, 8, 7, 0 }, { 16, 45, -9, 8, 7, 0 }, { 16, 46, -10, 8, 7, 0 }, - { 16, 47, -11, 8, 7, 0 }, { 16, 48, -11, 8, 7, 0 }, { 16, 49, -12, 8, 7, 0 }, { 16, 50, -13, 8, 7, 0 }, { 16, 51, -13, 8, 7, 0 }, - { 16, 52, -14, 8, 7, 0 }, { 16, 53, -15, 8, 7, 0 }, { 16, 54, -16, 8, 7, 0 }, { 16, 55, -17, 8, 7, 0 }, { 16, 56, -17, 8, 7, 0 }, - { 16, 57, -18, 8, 6, 0 }, { 16, 58, -19, 8, 6, 0 }, { 16, 59, -19, 8, 6, 0 }, { 16, 60, -20, 8, 6, 0 }, { 16, 61, -21, 8, 6, 0 }, - { 16, 62, -21, 8, 6, 0 }, { 16, 63, -21, 8, 6, 0 }, { 16, 64, -22, 8, 6, 0 }, { 16, 65, -23, 8, 6, 0 }, { 16, 66, -23, 8, 6, 0 }, - { 16, 67, -24, 8, 6, 0 }, { 16, 68, -25, 8, 6, 0 }, { 16, 69, -25, 8, 6, 0 }, { 16, 70, -25, 8, 6, 0 }, { 16, 71, -26, 8, 6, 0 }, - { 16, 72, -27, 8, 6, 0 }, { 16, 73, -27, 8, 6, 0 }, { 16, 74, -27, 8, 6, 0 }, { 16, 75, -27, 8, 6, 0 }, { 16, 76, -28, 8, 6, 0 }, - { 16, 77, -29, 8, 6, 0 }, { 16, 78, -29, 8, 6, 0 }, { 16, 79, -30, 8, 6, 0 }, { 16, 80, -30, 8, 6, 0 }, { 16, 81, -30, 8, 6, 0 }, - { 16, 82, -31, 8, 6, 0 }, { 16, 83, -31, 8, 6, 0 }, { 16, 84, -32, 8, 6, 0 }, { 16, 85, -32, 8, 6, 0 }, { 16, 86, -32, 8, 6, 0 }, - { 16, 87, -33, 8, 5, 0 }, { 16, 88, -33, 8, 5, 0 }, { 16, 89, -33, 8, 5, 0 }, { 16, 90, -33, 8, 5, 0 }, { 16, 91, -34, 8, 5, 0 }, - { 16, 92, -34, 8, 5, 0 }, { 16, 93, -35, 8, 5, 0 }, { 16, 94, -35, 8, 5, 0 }, { 16, 95, -35, 8, 5, 0 }, { 16, 96, -35, 8, 5, 0 }, - { 16, 97, -36, 8, 5, 0 }, { 16, 98, -36, 8, 5, 0 }, { 16, 99, -36, 8, 5, 0 }, { 16, 100, -36, 8, 5, 0 }, { 16, 101, -37, 8, 5, 0 }, - { 16, 102, -37, 8, 5, 0 }, { 16, 103, -37, 8, 5, 0 }, { 16, 104, -37, 8, 5, 0 }, { 16, 105, -38, 8, 5, 0 }, { 16, 106, -38, 8, 5, 0 }, - { 16, 107, -38, 8, 5, 0 }, { 16, 108, -38, 8, 5, 0 }, { 16, 109, -38, 8, 5, 0 }, { 16, 110, -38, 8, 0, 0 }, { 16, 111, -39, 8, 0, 0 }, - { 16, 112, -39, 8, 0, 0 }, { 16, 113, -39, 8, 0, 0 }, { 16, 114, -39, 8, 0, 0 }, { 16, 115, -39, 8, 0, 0 }, { 16, 116, -39, 8, 0, 0 }, - { 16, 117, -39, 8, 0, 0 }, { 16, 118, -39, 8, 0, 0 }, { 16, 119, -39, 8, 0, 0 }, { 16, 120, -39, 8, 0, 0 }, { 16, 121, -39, 8, 0, 0 }, - { 16, 122, -39, 8, 0, 0 }, { 16, 123, -39, 8, 0, 0 }, { 16, 124, -39, 8, 0, 0 }, { 16, 125, -39, 8, 0, 0 }, { 16, 126, -39, 8, 0, 0 }, - { 16, 127, -39, 8, 0, 0 }, + 141, { + { 16, 0, 48, 8, 8, 0 }, { 16, 0, 47, 8, 8, 0 }, { 16, 1, 46, 8, 8, 0 }, { 16, 2, 45, 8, 8, 0 }, { 16, 2, 44, 8, 8, 0 }, + { 16, 3, 43, 8, 8, 0 }, { 16, 3, 42, 8, 8, 0 }, { 16, 4, 41, 8, 8, 0 }, { 16, 4, 40, 8, 8, 0 }, { 16, 5, 39, 8, 8, 0 }, + { 16, 5, 38, 8, 8, 0 }, { 16, 6, 37, 8, 8, 0 }, { 16, 7, 36, 8, 8, 0 }, { 16, 7, 35, 8, 8, 0 }, { 16, 8, 34, 8, 8, 0 }, + { 16, 8, 33, 8, 8, 0 }, { 16, 9, 32, 8, 8, 0 }, { 16, 10, 31, 8, 8, 0 }, { 16, 10, 30, 8, 8, 0 }, { 16, 11, 29, 8, 8, 0 }, + { 16, 12, 28, 8, 8, 0 }, { 16, 12, 27, 8, 8, 0 }, { 16, 13, 26, 8, 8, 0 }, { 16, 14, 25, 8, 8, 0 }, { 16, 14, 24, 8, 8, 0 }, + { 16, 15, 23, 8, 8, 0 }, { 16, 16, 22, 8, 8, 0 }, { 16, 17, 21, 8, 8, 0 }, { 16, 17, 20, 8, 8, 0 }, { 16, 18, 19, 8, 8, 0 }, + { 16, 19, 18, 8, 8, 0 }, { 16, 20, 17, 8, 8, 0 }, { 16, 21, 16, 8, 8, 0 }, { 16, 22, 15, 8, 8, 0 }, { 16, 22, 14, 8, 8, 0 }, + { 16, 23, 13, 8, 7, 0 }, { 16, 23, 12, 8, 7, 0 }, { 16, 24, 11, 8, 7, 0 }, { 16, 25, 10, 8, 7, 0 }, { 16, 26, 9, 8, 7, 0 }, + { 16, 27, 8, 8, 7, 0 }, { 16, 28, 7, 8, 7, 0 }, { 16, 29, 6, 8, 7, 0 }, { 16, 30, 5, 8, 7, 0 }, { 16, 31, 4, 8, 7, 0 }, + { 16, 32, 3, 8, 7, 0 }, { 16, 33, 2, 8, 7, 0 }, { 16, 34, 1, 8, 7, 0 }, { 16, 35, 0, 8, 7, 0 }, { 16, 36, -1, 8, 7, 0 }, + { 16, 37, -2, 8, 7, 0 }, { 16, 38, -3, 8, 7, 0 }, { 16, 39, -4, 8, 7, 0 }, { 16, 40, -5, 8, 7, 0 }, { 16, 41, -6, 8, 7, 0 }, + { 16, 42, -7, 8, 7, 0 }, { 16, 43, -8, 8, 7, 0 }, { 16, 44, -9, 8, 7, 0 }, { 16, 45, -9, 8, 7, 0 }, { 16, 46, -10, 8, 7, 0 }, + { 16, 47, -11, 8, 7, 0 }, { 16, 48, -11, 8, 7, 0 }, { 16, 49, -12, 8, 7, 0 }, { 16, 50, -13, 8, 7, 0 }, { 16, 51, -13, 8, 7, 0 }, + { 16, 52, -14, 8, 7, 0 }, { 16, 53, -15, 8, 7, 0 }, { 16, 54, -16, 8, 7, 0 }, { 16, 55, -17, 8, 7, 0 }, { 16, 56, -17, 8, 7, 0 }, + { 16, 57, -18, 8, 6, 0 }, { 16, 58, -19, 8, 6, 0 }, { 16, 59, -19, 8, 6, 0 }, { 16, 60, -20, 8, 6, 0 }, { 16, 61, -21, 8, 6, 0 }, + { 16, 62, -21, 8, 6, 0 }, { 16, 63, -21, 8, 6, 0 }, { 16, 64, -22, 8, 6, 0 }, { 16, 65, -23, 8, 6, 0 }, { 16, 66, -23, 8, 6, 0 }, + { 16, 67, -24, 8, 6, 0 }, { 16, 68, -25, 8, 6, 0 }, { 16, 69, -25, 8, 6, 0 }, { 16, 70, -25, 8, 6, 0 }, { 16, 71, -26, 8, 6, 0 }, + { 16, 72, -27, 8, 6, 0 }, { 16, 73, -27, 8, 6, 0 }, { 16, 74, -27, 8, 6, 0 }, { 16, 75, -27, 8, 6, 0 }, { 16, 76, -28, 8, 6, 0 }, + { 16, 77, -29, 8, 6, 0 }, { 16, 78, -29, 8, 6, 0 }, { 16, 79, -30, 8, 6, 0 }, { 16, 80, -30, 8, 6, 0 }, { 16, 81, -30, 8, 6, 0 }, + { 16, 82, -31, 8, 6, 0 }, { 16, 83, -31, 8, 6, 0 }, { 16, 84, -32, 8, 6, 0 }, { 16, 85, -32, 8, 6, 0 }, { 16, 86, -32, 8, 6, 0 }, + { 16, 87, -33, 8, 5, 0 }, { 16, 88, -33, 8, 5, 0 }, { 16, 89, -33, 8, 5, 0 }, { 16, 90, -33, 8, 5, 0 }, { 16, 91, -34, 8, 5, 0 }, + { 16, 92, -34, 8, 5, 0 }, { 16, 93, -35, 8, 5, 0 }, { 16, 94, -35, 8, 5, 0 }, { 16, 95, -35, 8, 5, 0 }, { 16, 96, -35, 8, 5, 0 }, + { 16, 97, -36, 8, 5, 0 }, { 16, 98, -36, 8, 5, 0 }, { 16, 99, -36, 8, 5, 0 }, { 16, 100, -36, 8, 5, 0 }, { 16, 101, -37, 8, 5, 0 }, + { 16, 102, -37, 8, 5, 0 }, { 16, 103, -37, 8, 5, 0 }, { 16, 104, -37, 8, 5, 0 }, { 16, 105, -38, 8, 5, 0 }, { 16, 106, -38, 8, 5, 0 }, + { 16, 107, -38, 8, 5, 0 }, { 16, 108, -38, 8, 5, 0 }, { 16, 109, -38, 8, 5, 0 }, { 16, 110, -38, 8, 0, 0 }, { 16, 111, -39, 8, 0, 0 }, + { 16, 112, -39, 8, 0, 0 }, { 16, 113, -39, 8, 0, 0 }, { 16, 114, -39, 8, 0, 0 }, { 16, 115, -39, 8, 0, 0 }, { 16, 116, -39, 8, 0, 0 }, + { 16, 117, -39, 8, 0, 0 }, { 16, 118, -39, 8, 0, 0 }, { 16, 119, -39, 8, 0, 0 }, { 16, 120, -39, 8, 0, 0 }, { 16, 121, -39, 8, 0, 0 }, + { 16, 122, -39, 8, 0, 0 }, { 16, 123, -39, 8, 0, 0 }, { 16, 124, -39, 8, 0, 0 }, { 16, 125, -39, 8, 0, 0 }, { 16, 126, -39, 8, 0, 0 }, + { 16, 127, -39, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_971A30 = { - 141, { - { 0, 16, 48, 16, 8, 0 }, { 0, 16, 47, 16, 8, 0 }, { 1, 16, 46, 16, 8, 0 }, { 2, 16, 45, 16, 8, 0 }, { 2, 16, 44, 16, 8, 0 }, - { 3, 16, 43, 16, 8, 0 }, { 3, 16, 42, 16, 8, 0 }, { 4, 16, 41, 16, 8, 0 }, { 4, 16, 40, 16, 8, 0 }, { 5, 16, 39, 16, 8, 0 }, - { 5, 16, 38, 16, 8, 0 }, { 6, 16, 37, 16, 8, 0 }, { 7, 16, 36, 16, 8, 0 }, { 7, 16, 35, 16, 8, 0 }, { 8, 16, 34, 16, 8, 0 }, - { 8, 16, 33, 16, 8, 0 }, { 9, 16, 32, 16, 8, 0 }, { 10, 16, 31, 16, 8, 0 }, { 10, 16, 30, 16, 8, 0 }, { 11, 16, 29, 16, 8, 0 }, - { 12, 16, 28, 16, 8, 0 }, { 12, 16, 27, 16, 8, 0 }, { 13, 16, 26, 16, 8, 0 }, { 14, 16, 25, 16, 8, 0 }, { 14, 16, 24, 16, 8, 0 }, - { 15, 16, 23, 16, 8, 0 }, { 16, 16, 22, 16, 8, 0 }, { 17, 16, 21, 16, 8, 0 }, { 17, 16, 20, 16, 8, 0 }, { 18, 16, 19, 16, 8, 0 }, - { 19, 16, 18, 16, 8, 0 }, { 20, 16, 17, 16, 8, 0 }, { 21, 16, 16, 16, 8, 0 }, { 22, 16, 15, 16, 8, 0 }, { 22, 16, 14, 16, 8, 0 }, - { 23, 16, 13, 16, 7, 0 }, { 23, 16, 12, 16, 7, 0 }, { 24, 16, 11, 16, 7, 0 }, { 25, 16, 10, 16, 7, 0 }, { 26, 16, 9, 16, 7, 0 }, - { 27, 16, 8, 16, 7, 0 }, { 28, 16, 7, 16, 7, 0 }, { 29, 16, 6, 16, 7, 0 }, { 30, 16, 5, 16, 7, 0 }, { 31, 16, 4, 16, 7, 0 }, - { 32, 16, 3, 16, 7, 0 }, { 33, 16, 2, 16, 7, 0 }, { 34, 16, 1, 16, 7, 0 }, { 35, 16, 0, 16, 7, 0 }, { 36, 16, -1, 16, 7, 0 }, - { 37, 16, -2, 16, 7, 0 }, { 38, 16, -3, 16, 7, 0 }, { 39, 16, -4, 16, 7, 0 }, { 40, 16, -5, 16, 7, 0 }, { 41, 16, -6, 16, 7, 0 }, - { 42, 16, -7, 16, 7, 0 }, { 43, 16, -8, 16, 7, 0 }, { 44, 16, -9, 16, 7, 0 }, { 45, 16, -9, 16, 7, 0 }, { 46, 16, -10, 16, 7, 0 }, - { 47, 16, -11, 16, 7, 0 }, { 48, 16, -11, 16, 7, 0 }, { 49, 16, -12, 16, 7, 0 }, { 50, 16, -13, 16, 7, 0 }, { 51, 16, -13, 16, 7, 0 }, - { 52, 16, -14, 16, 7, 0 }, { 53, 16, -15, 16, 7, 0 }, { 54, 16, -16, 16, 7, 0 }, { 55, 16, -17, 16, 7, 0 }, { 56, 16, -17, 16, 7, 0 }, - { 57, 16, -18, 16, 6, 0 }, { 58, 16, -19, 16, 6, 0 }, { 59, 16, -19, 16, 6, 0 }, { 60, 16, -20, 16, 6, 0 }, { 61, 16, -21, 16, 6, 0 }, - { 62, 16, -21, 16, 6, 0 }, { 63, 16, -21, 16, 6, 0 }, { 64, 16, -22, 16, 6, 0 }, { 65, 16, -23, 16, 6, 0 }, { 66, 16, -23, 16, 6, 0 }, - { 67, 16, -24, 16, 6, 0 }, { 68, 16, -25, 16, 6, 0 }, { 69, 16, -25, 16, 6, 0 }, { 70, 16, -25, 16, 6, 0 }, { 71, 16, -26, 16, 6, 0 }, - { 72, 16, -27, 16, 6, 0 }, { 73, 16, -27, 16, 6, 0 }, { 74, 16, -27, 16, 6, 0 }, { 75, 16, -27, 16, 6, 0 }, { 76, 16, -28, 16, 6, 0 }, - { 77, 16, -29, 16, 6, 0 }, { 78, 16, -29, 16, 6, 0 }, { 79, 16, -30, 16, 6, 0 }, { 80, 16, -30, 16, 6, 0 }, { 81, 16, -30, 16, 6, 0 }, - { 82, 16, -31, 16, 6, 0 }, { 83, 16, -31, 16, 6, 0 }, { 84, 16, -32, 16, 6, 0 }, { 85, 16, -32, 16, 6, 0 }, { 86, 16, -32, 16, 6, 0 }, - { 87, 16, -33, 16, 5, 0 }, { 88, 16, -33, 16, 5, 0 }, { 89, 16, -33, 16, 5, 0 }, { 90, 16, -33, 16, 5, 0 }, { 91, 16, -34, 16, 5, 0 }, - { 92, 16, -34, 16, 5, 0 }, { 93, 16, -35, 16, 5, 0 }, { 94, 16, -35, 16, 5, 0 }, { 95, 16, -35, 16, 5, 0 }, { 96, 16, -35, 16, 5, 0 }, - { 97, 16, -36, 16, 5, 0 }, { 98, 16, -36, 16, 5, 0 }, { 99, 16, -36, 16, 5, 0 }, { 100, 16, -36, 16, 5, 0 }, { 101, 16, -37, 16, 5, 0 }, - { 102, 16, -37, 16, 5, 0 }, { 103, 16, -37, 16, 5, 0 }, { 104, 16, -37, 16, 5, 0 }, { 105, 16, -38, 16, 5, 0 }, { 106, 16, -38, 16, 5, 0 }, - { 107, 16, -38, 16, 5, 0 }, { 108, 16, -38, 16, 5, 0 }, { 109, 16, -38, 16, 5, 0 }, { 110, 16, -38, 16, 0, 0 }, { 111, 16, -39, 16, 0, 0 }, - { 112, 16, -39, 16, 0, 0 }, { 113, 16, -39, 16, 0, 0 }, { 114, 16, -39, 16, 0, 0 }, { 115, 16, -39, 16, 0, 0 }, { 116, 16, -39, 16, 0, 0 }, - { 117, 16, -39, 16, 0, 0 }, { 118, 16, -39, 16, 0, 0 }, { 119, 16, -39, 16, 0, 0 }, { 120, 16, -39, 16, 0, 0 }, { 121, 16, -39, 16, 0, 0 }, - { 122, 16, -39, 16, 0, 0 }, { 123, 16, -39, 16, 0, 0 }, { 124, 16, -39, 16, 0, 0 }, { 125, 16, -39, 16, 0, 0 }, { 126, 16, -39, 16, 0, 0 }, - { 127, 16, -39, 16, 0, 0 }, + 141, { + { 0, 16, 48, 16, 8, 0 }, { 0, 16, 47, 16, 8, 0 }, { 1, 16, 46, 16, 8, 0 }, { 2, 16, 45, 16, 8, 0 }, { 2, 16, 44, 16, 8, 0 }, + { 3, 16, 43, 16, 8, 0 }, { 3, 16, 42, 16, 8, 0 }, { 4, 16, 41, 16, 8, 0 }, { 4, 16, 40, 16, 8, 0 }, { 5, 16, 39, 16, 8, 0 }, + { 5, 16, 38, 16, 8, 0 }, { 6, 16, 37, 16, 8, 0 }, { 7, 16, 36, 16, 8, 0 }, { 7, 16, 35, 16, 8, 0 }, { 8, 16, 34, 16, 8, 0 }, + { 8, 16, 33, 16, 8, 0 }, { 9, 16, 32, 16, 8, 0 }, { 10, 16, 31, 16, 8, 0 }, { 10, 16, 30, 16, 8, 0 }, { 11, 16, 29, 16, 8, 0 }, + { 12, 16, 28, 16, 8, 0 }, { 12, 16, 27, 16, 8, 0 }, { 13, 16, 26, 16, 8, 0 }, { 14, 16, 25, 16, 8, 0 }, { 14, 16, 24, 16, 8, 0 }, + { 15, 16, 23, 16, 8, 0 }, { 16, 16, 22, 16, 8, 0 }, { 17, 16, 21, 16, 8, 0 }, { 17, 16, 20, 16, 8, 0 }, { 18, 16, 19, 16, 8, 0 }, + { 19, 16, 18, 16, 8, 0 }, { 20, 16, 17, 16, 8, 0 }, { 21, 16, 16, 16, 8, 0 }, { 22, 16, 15, 16, 8, 0 }, { 22, 16, 14, 16, 8, 0 }, + { 23, 16, 13, 16, 7, 0 }, { 23, 16, 12, 16, 7, 0 }, { 24, 16, 11, 16, 7, 0 }, { 25, 16, 10, 16, 7, 0 }, { 26, 16, 9, 16, 7, 0 }, + { 27, 16, 8, 16, 7, 0 }, { 28, 16, 7, 16, 7, 0 }, { 29, 16, 6, 16, 7, 0 }, { 30, 16, 5, 16, 7, 0 }, { 31, 16, 4, 16, 7, 0 }, + { 32, 16, 3, 16, 7, 0 }, { 33, 16, 2, 16, 7, 0 }, { 34, 16, 1, 16, 7, 0 }, { 35, 16, 0, 16, 7, 0 }, { 36, 16, -1, 16, 7, 0 }, + { 37, 16, -2, 16, 7, 0 }, { 38, 16, -3, 16, 7, 0 }, { 39, 16, -4, 16, 7, 0 }, { 40, 16, -5, 16, 7, 0 }, { 41, 16, -6, 16, 7, 0 }, + { 42, 16, -7, 16, 7, 0 }, { 43, 16, -8, 16, 7, 0 }, { 44, 16, -9, 16, 7, 0 }, { 45, 16, -9, 16, 7, 0 }, { 46, 16, -10, 16, 7, 0 }, + { 47, 16, -11, 16, 7, 0 }, { 48, 16, -11, 16, 7, 0 }, { 49, 16, -12, 16, 7, 0 }, { 50, 16, -13, 16, 7, 0 }, { 51, 16, -13, 16, 7, 0 }, + { 52, 16, -14, 16, 7, 0 }, { 53, 16, -15, 16, 7, 0 }, { 54, 16, -16, 16, 7, 0 }, { 55, 16, -17, 16, 7, 0 }, { 56, 16, -17, 16, 7, 0 }, + { 57, 16, -18, 16, 6, 0 }, { 58, 16, -19, 16, 6, 0 }, { 59, 16, -19, 16, 6, 0 }, { 60, 16, -20, 16, 6, 0 }, { 61, 16, -21, 16, 6, 0 }, + { 62, 16, -21, 16, 6, 0 }, { 63, 16, -21, 16, 6, 0 }, { 64, 16, -22, 16, 6, 0 }, { 65, 16, -23, 16, 6, 0 }, { 66, 16, -23, 16, 6, 0 }, + { 67, 16, -24, 16, 6, 0 }, { 68, 16, -25, 16, 6, 0 }, { 69, 16, -25, 16, 6, 0 }, { 70, 16, -25, 16, 6, 0 }, { 71, 16, -26, 16, 6, 0 }, + { 72, 16, -27, 16, 6, 0 }, { 73, 16, -27, 16, 6, 0 }, { 74, 16, -27, 16, 6, 0 }, { 75, 16, -27, 16, 6, 0 }, { 76, 16, -28, 16, 6, 0 }, + { 77, 16, -29, 16, 6, 0 }, { 78, 16, -29, 16, 6, 0 }, { 79, 16, -30, 16, 6, 0 }, { 80, 16, -30, 16, 6, 0 }, { 81, 16, -30, 16, 6, 0 }, + { 82, 16, -31, 16, 6, 0 }, { 83, 16, -31, 16, 6, 0 }, { 84, 16, -32, 16, 6, 0 }, { 85, 16, -32, 16, 6, 0 }, { 86, 16, -32, 16, 6, 0 }, + { 87, 16, -33, 16, 5, 0 }, { 88, 16, -33, 16, 5, 0 }, { 89, 16, -33, 16, 5, 0 }, { 90, 16, -33, 16, 5, 0 }, { 91, 16, -34, 16, 5, 0 }, + { 92, 16, -34, 16, 5, 0 }, { 93, 16, -35, 16, 5, 0 }, { 94, 16, -35, 16, 5, 0 }, { 95, 16, -35, 16, 5, 0 }, { 96, 16, -35, 16, 5, 0 }, + { 97, 16, -36, 16, 5, 0 }, { 98, 16, -36, 16, 5, 0 }, { 99, 16, -36, 16, 5, 0 }, { 100, 16, -36, 16, 5, 0 }, { 101, 16, -37, 16, 5, 0 }, + { 102, 16, -37, 16, 5, 0 }, { 103, 16, -37, 16, 5, 0 }, { 104, 16, -37, 16, 5, 0 }, { 105, 16, -38, 16, 5, 0 }, { 106, 16, -38, 16, 5, 0 }, + { 107, 16, -38, 16, 5, 0 }, { 108, 16, -38, 16, 5, 0 }, { 109, 16, -38, 16, 5, 0 }, { 110, 16, -38, 16, 0, 0 }, { 111, 16, -39, 16, 0, 0 }, + { 112, 16, -39, 16, 0, 0 }, { 113, 16, -39, 16, 0, 0 }, { 114, 16, -39, 16, 0, 0 }, { 115, 16, -39, 16, 0, 0 }, { 116, 16, -39, 16, 0, 0 }, + { 117, 16, -39, 16, 0, 0 }, { 118, 16, -39, 16, 0, 0 }, { 119, 16, -39, 16, 0, 0 }, { 120, 16, -39, 16, 0, 0 }, { 121, 16, -39, 16, 0, 0 }, + { 122, 16, -39, 16, 0, 0 }, { 123, 16, -39, 16, 0, 0 }, { 124, 16, -39, 16, 0, 0 }, { 125, 16, -39, 16, 0, 0 }, { 126, 16, -39, 16, 0, 0 }, + { 127, 16, -39, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_971F27 = { - 141, { - { 16, 31, 48, 24, 8, 0 }, { 16, 31, 47, 24, 8, 0 }, { 16, 30, 46, 24, 8, 0 }, { 16, 29, 45, 24, 8, 0 }, { 16, 29, 44, 24, 8, 0 }, - { 16, 28, 43, 24, 8, 0 }, { 16, 28, 42, 24, 8, 0 }, { 16, 27, 41, 24, 8, 0 }, { 16, 27, 40, 24, 8, 0 }, { 16, 26, 39, 24, 8, 0 }, - { 16, 26, 38, 24, 8, 0 }, { 16, 25, 37, 24, 8, 0 }, { 16, 24, 36, 24, 8, 0 }, { 16, 24, 35, 24, 8, 0 }, { 16, 23, 34, 24, 8, 0 }, - { 16, 23, 33, 24, 8, 0 }, { 16, 22, 32, 24, 8, 0 }, { 16, 21, 31, 24, 8, 0 }, { 16, 21, 30, 24, 8, 0 }, { 16, 20, 29, 24, 8, 0 }, - { 16, 19, 28, 24, 8, 0 }, { 16, 19, 27, 24, 8, 0 }, { 16, 18, 26, 24, 8, 0 }, { 16, 17, 25, 24, 8, 0 }, { 16, 17, 24, 24, 8, 0 }, - { 16, 16, 23, 24, 8, 0 }, { 16, 15, 22, 24, 8, 0 }, { 16, 14, 21, 24, 8, 0 }, { 16, 14, 20, 24, 8, 0 }, { 16, 13, 19, 24, 8, 0 }, - { 16, 12, 18, 24, 8, 0 }, { 16, 11, 17, 24, 8, 0 }, { 16, 10, 16, 24, 8, 0 }, { 16, 9, 15, 24, 8, 0 }, { 16, 9, 14, 24, 8, 0 }, - { 16, 8, 13, 24, 7, 0 }, { 16, 8, 12, 24, 7, 0 }, { 16, 7, 11, 24, 7, 0 }, { 16, 6, 10, 24, 7, 0 }, { 16, 5, 9, 24, 7, 0 }, - { 16, 4, 8, 24, 7, 0 }, { 16, 3, 7, 24, 7, 0 }, { 16, 2, 6, 24, 7, 0 }, { 16, 1, 5, 24, 7, 0 }, { 16, 0, 4, 24, 7, 0 }, - { 16, -1, 3, 24, 7, 0 }, { 16, -2, 2, 24, 7, 0 }, { 16, -3, 1, 24, 7, 0 }, { 16, -4, 0, 24, 7, 0 }, { 16, -5, -1, 24, 7, 0 }, - { 16, -6, -2, 24, 7, 0 }, { 16, -7, -3, 24, 7, 0 }, { 16, -8, -4, 24, 7, 0 }, { 16, -9, -5, 24, 7, 0 }, { 16, -10, -6, 24, 7, 0 }, - { 16, -11, -7, 24, 7, 0 }, { 16, -12, -8, 24, 7, 0 }, { 16, -13, -9, 24, 7, 0 }, { 16, -14, -9, 24, 7, 0 }, { 16, -15, -10, 24, 7, 0 }, - { 16, -16, -11, 24, 7, 0 }, { 16, -17, -11, 24, 7, 0 }, { 16, -18, -12, 24, 7, 0 }, { 16, -19, -13, 24, 7, 0 }, { 16, -20, -13, 24, 7, 0 }, - { 16, -21, -14, 24, 7, 0 }, { 16, -22, -15, 24, 7, 0 }, { 16, -23, -16, 24, 7, 0 }, { 16, -24, -17, 24, 7, 0 }, { 16, -25, -17, 24, 7, 0 }, - { 16, -26, -18, 24, 6, 0 }, { 16, -27, -19, 24, 6, 0 }, { 16, -28, -19, 24, 6, 0 }, { 16, -29, -20, 24, 6, 0 }, { 16, -30, -21, 24, 6, 0 }, - { 16, -31, -21, 24, 6, 0 }, { 16, -32, -21, 24, 6, 0 }, { 16, -33, -22, 24, 6, 0 }, { 16, -34, -23, 24, 6, 0 }, { 16, -35, -23, 24, 6, 0 }, - { 16, -36, -24, 24, 6, 0 }, { 16, -37, -25, 24, 6, 0 }, { 16, -38, -25, 24, 6, 0 }, { 16, -39, -25, 24, 6, 0 }, { 16, -40, -26, 24, 6, 0 }, - { 16, -41, -27, 24, 6, 0 }, { 16, -42, -27, 24, 6, 0 }, { 16, -43, -27, 24, 6, 0 }, { 16, -44, -27, 24, 6, 0 }, { 16, -45, -28, 24, 6, 0 }, - { 16, -46, -29, 24, 6, 0 }, { 16, -47, -29, 24, 6, 0 }, { 16, -48, -30, 24, 6, 0 }, { 16, -49, -30, 24, 6, 0 }, { 16, -50, -30, 24, 6, 0 }, - { 16, -51, -31, 24, 6, 0 }, { 16, -52, -31, 24, 6, 0 }, { 16, -53, -32, 24, 6, 0 }, { 16, -54, -32, 24, 6, 0 }, { 16, -55, -32, 24, 6, 0 }, - { 16, -56, -33, 24, 5, 0 }, { 16, -57, -33, 24, 5, 0 }, { 16, -58, -33, 24, 5, 0 }, { 16, -59, -33, 24, 5, 0 }, { 16, -60, -34, 24, 5, 0 }, - { 16, -61, -34, 24, 5, 0 }, { 16, -62, -35, 24, 5, 0 }, { 16, -63, -35, 24, 5, 0 }, { 16, -64, -35, 24, 5, 0 }, { 16, -65, -35, 24, 5, 0 }, - { 16, -66, -36, 24, 5, 0 }, { 16, -67, -36, 24, 5, 0 }, { 16, -68, -36, 24, 5, 0 }, { 16, -69, -36, 24, 5, 0 }, { 16, -70, -37, 24, 5, 0 }, - { 16, -71, -37, 24, 5, 0 }, { 16, -72, -37, 24, 5, 0 }, { 16, -73, -37, 24, 5, 0 }, { 16, -74, -38, 24, 5, 0 }, { 16, -75, -38, 24, 5, 0 }, - { 16, -76, -38, 24, 5, 0 }, { 16, -77, -38, 24, 5, 0 }, { 16, -78, -38, 24, 5, 0 }, { 16, -79, -38, 24, 0, 0 }, { 16, -80, -39, 24, 0, 0 }, - { 16, -81, -39, 24, 0, 0 }, { 16, -82, -39, 24, 0, 0 }, { 16, -83, -39, 24, 0, 0 }, { 16, -84, -39, 24, 0, 0 }, { 16, -85, -39, 24, 0, 0 }, - { 16, -86, -39, 24, 0, 0 }, { 16, -87, -39, 24, 0, 0 }, { 16, -88, -39, 24, 0, 0 }, { 16, -89, -39, 24, 0, 0 }, { 16, -90, -39, 24, 0, 0 }, - { 16, -91, -39, 24, 0, 0 }, { 16, -92, -39, 24, 0, 0 }, { 16, -93, -39, 24, 0, 0 }, { 16, -94, -39, 24, 0, 0 }, { 16, -95, -39, 24, 0, 0 }, - { 16, -96, -39, 24, 0, 0 }, + 141, { + { 16, 31, 48, 24, 8, 0 }, { 16, 31, 47, 24, 8, 0 }, { 16, 30, 46, 24, 8, 0 }, { 16, 29, 45, 24, 8, 0 }, { 16, 29, 44, 24, 8, 0 }, + { 16, 28, 43, 24, 8, 0 }, { 16, 28, 42, 24, 8, 0 }, { 16, 27, 41, 24, 8, 0 }, { 16, 27, 40, 24, 8, 0 }, { 16, 26, 39, 24, 8, 0 }, + { 16, 26, 38, 24, 8, 0 }, { 16, 25, 37, 24, 8, 0 }, { 16, 24, 36, 24, 8, 0 }, { 16, 24, 35, 24, 8, 0 }, { 16, 23, 34, 24, 8, 0 }, + { 16, 23, 33, 24, 8, 0 }, { 16, 22, 32, 24, 8, 0 }, { 16, 21, 31, 24, 8, 0 }, { 16, 21, 30, 24, 8, 0 }, { 16, 20, 29, 24, 8, 0 }, + { 16, 19, 28, 24, 8, 0 }, { 16, 19, 27, 24, 8, 0 }, { 16, 18, 26, 24, 8, 0 }, { 16, 17, 25, 24, 8, 0 }, { 16, 17, 24, 24, 8, 0 }, + { 16, 16, 23, 24, 8, 0 }, { 16, 15, 22, 24, 8, 0 }, { 16, 14, 21, 24, 8, 0 }, { 16, 14, 20, 24, 8, 0 }, { 16, 13, 19, 24, 8, 0 }, + { 16, 12, 18, 24, 8, 0 }, { 16, 11, 17, 24, 8, 0 }, { 16, 10, 16, 24, 8, 0 }, { 16, 9, 15, 24, 8, 0 }, { 16, 9, 14, 24, 8, 0 }, + { 16, 8, 13, 24, 7, 0 }, { 16, 8, 12, 24, 7, 0 }, { 16, 7, 11, 24, 7, 0 }, { 16, 6, 10, 24, 7, 0 }, { 16, 5, 9, 24, 7, 0 }, + { 16, 4, 8, 24, 7, 0 }, { 16, 3, 7, 24, 7, 0 }, { 16, 2, 6, 24, 7, 0 }, { 16, 1, 5, 24, 7, 0 }, { 16, 0, 4, 24, 7, 0 }, + { 16, -1, 3, 24, 7, 0 }, { 16, -2, 2, 24, 7, 0 }, { 16, -3, 1, 24, 7, 0 }, { 16, -4, 0, 24, 7, 0 }, { 16, -5, -1, 24, 7, 0 }, + { 16, -6, -2, 24, 7, 0 }, { 16, -7, -3, 24, 7, 0 }, { 16, -8, -4, 24, 7, 0 }, { 16, -9, -5, 24, 7, 0 }, { 16, -10, -6, 24, 7, 0 }, + { 16, -11, -7, 24, 7, 0 }, { 16, -12, -8, 24, 7, 0 }, { 16, -13, -9, 24, 7, 0 }, { 16, -14, -9, 24, 7, 0 }, { 16, -15, -10, 24, 7, 0 }, + { 16, -16, -11, 24, 7, 0 }, { 16, -17, -11, 24, 7, 0 }, { 16, -18, -12, 24, 7, 0 }, { 16, -19, -13, 24, 7, 0 }, { 16, -20, -13, 24, 7, 0 }, + { 16, -21, -14, 24, 7, 0 }, { 16, -22, -15, 24, 7, 0 }, { 16, -23, -16, 24, 7, 0 }, { 16, -24, -17, 24, 7, 0 }, { 16, -25, -17, 24, 7, 0 }, + { 16, -26, -18, 24, 6, 0 }, { 16, -27, -19, 24, 6, 0 }, { 16, -28, -19, 24, 6, 0 }, { 16, -29, -20, 24, 6, 0 }, { 16, -30, -21, 24, 6, 0 }, + { 16, -31, -21, 24, 6, 0 }, { 16, -32, -21, 24, 6, 0 }, { 16, -33, -22, 24, 6, 0 }, { 16, -34, -23, 24, 6, 0 }, { 16, -35, -23, 24, 6, 0 }, + { 16, -36, -24, 24, 6, 0 }, { 16, -37, -25, 24, 6, 0 }, { 16, -38, -25, 24, 6, 0 }, { 16, -39, -25, 24, 6, 0 }, { 16, -40, -26, 24, 6, 0 }, + { 16, -41, -27, 24, 6, 0 }, { 16, -42, -27, 24, 6, 0 }, { 16, -43, -27, 24, 6, 0 }, { 16, -44, -27, 24, 6, 0 }, { 16, -45, -28, 24, 6, 0 }, + { 16, -46, -29, 24, 6, 0 }, { 16, -47, -29, 24, 6, 0 }, { 16, -48, -30, 24, 6, 0 }, { 16, -49, -30, 24, 6, 0 }, { 16, -50, -30, 24, 6, 0 }, + { 16, -51, -31, 24, 6, 0 }, { 16, -52, -31, 24, 6, 0 }, { 16, -53, -32, 24, 6, 0 }, { 16, -54, -32, 24, 6, 0 }, { 16, -55, -32, 24, 6, 0 }, + { 16, -56, -33, 24, 5, 0 }, { 16, -57, -33, 24, 5, 0 }, { 16, -58, -33, 24, 5, 0 }, { 16, -59, -33, 24, 5, 0 }, { 16, -60, -34, 24, 5, 0 }, + { 16, -61, -34, 24, 5, 0 }, { 16, -62, -35, 24, 5, 0 }, { 16, -63, -35, 24, 5, 0 }, { 16, -64, -35, 24, 5, 0 }, { 16, -65, -35, 24, 5, 0 }, + { 16, -66, -36, 24, 5, 0 }, { 16, -67, -36, 24, 5, 0 }, { 16, -68, -36, 24, 5, 0 }, { 16, -69, -36, 24, 5, 0 }, { 16, -70, -37, 24, 5, 0 }, + { 16, -71, -37, 24, 5, 0 }, { 16, -72, -37, 24, 5, 0 }, { 16, -73, -37, 24, 5, 0 }, { 16, -74, -38, 24, 5, 0 }, { 16, -75, -38, 24, 5, 0 }, + { 16, -76, -38, 24, 5, 0 }, { 16, -77, -38, 24, 5, 0 }, { 16, -78, -38, 24, 5, 0 }, { 16, -79, -38, 24, 0, 0 }, { 16, -80, -39, 24, 0, 0 }, + { 16, -81, -39, 24, 0, 0 }, { 16, -82, -39, 24, 0, 0 }, { 16, -83, -39, 24, 0, 0 }, { 16, -84, -39, 24, 0, 0 }, { 16, -85, -39, 24, 0, 0 }, + { 16, -86, -39, 24, 0, 0 }, { 16, -87, -39, 24, 0, 0 }, { 16, -88, -39, 24, 0, 0 }, { 16, -89, -39, 24, 0, 0 }, { 16, -90, -39, 24, 0, 0 }, + { 16, -91, -39, 24, 0, 0 }, { 16, -92, -39, 24, 0, 0 }, { 16, -93, -39, 24, 0, 0 }, { 16, -94, -39, 24, 0, 0 }, { 16, -95, -39, 24, 0, 0 }, + { 16, -96, -39, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96FC66 = { - 141, { - { 31, 16, 8, 0, 0, 0 }, { 30, 16, 8, 0, 0, 0 }, { 29, 16, 8, 0, 0, 0 }, { 28, 16, 8, 0, 0, 0 }, { 27, 16, 8, 0, 0, 0 }, - { 26, 16, 8, 0, 0, 0 }, { 25, 16, 8, 0, 0, 0 }, { 24, 16, 8, 0, 0, 0 }, { 23, 16, 8, 0, 0, 0 }, { 22, 16, 8, 0, 0, 0 }, - { 21, 16, 8, 0, 0, 0 }, { 20, 16, 8, 0, 0, 0 }, { 19, 16, 8, 0, 0, 0 }, { 18, 16, 8, 0, 0, 0 }, { 17, 16, 8, 0, 0, 0 }, - { 16, 16, 8, 0, 0, 0 }, { 15, 16, 8, 0, 0, 0 }, { 14, 16, 7, 0, 0, 0 }, { 13, 16, 7, 0, 5, 0 }, { 12, 16, 7, 0, 5, 0 }, - { 11, 16, 7, 0, 5, 0 }, { 10, 16, 7, 0, 5, 0 }, { 9, 16, 7, 0, 5, 0 }, { 8, 16, 6, 0, 5, 0 }, { 7, 16, 6, 0, 5, 0 }, - { 6, 16, 6, 0, 5, 0 }, { 5, 16, 6, 0, 5, 0 }, { 4, 16, 5, 0, 5, 0 }, { 3, 16, 5, 0, 5, 0 }, { 2, 16, 5, 0, 5, 0 }, - { 1, 16, 5, 0, 5, 0 }, { 0, 16, 4, 0, 5, 0 }, { -1, 16, 4, 0, 5, 0 }, { -2, 16, 4, 0, 5, 0 }, { -3, 16, 4, 0, 5, 0 }, - { -4, 16, 3, 0, 5, 0 }, { -5, 16, 3, 0, 5, 0 }, { -6, 16, 2, 0, 5, 0 }, { -7, 16, 2, 0, 5, 0 }, { -8, 16, 2, 0, 5, 0 }, - { -9, 16, 2, 0, 5, 0 }, { -10, 16, 1, 0, 6, 0 }, { -11, 16, 1, 0, 6, 0 }, { -12, 16, 1, 0, 6, 0 }, { -13, 16, 0, 0, 6, 0 }, - { -14, 16, 0, 0, 6, 0 }, { -15, 16, -1, 0, 6, 0 }, { -16, 16, -1, 0, 6, 0 }, { -17, 16, -1, 0, 6, 0 }, { -18, 16, -2, 0, 6, 0 }, - { -19, 16, -2, 0, 6, 0 }, { -20, 16, -3, 0, 6, 0 }, { -21, 16, -4, 0, 6, 0 }, { -22, 16, -4, 0, 6, 0 }, { -23, 16, -4, 0, 6, 0 }, - { -24, 16, -4, 0, 6, 0 }, { -25, 16, -5, 0, 6, 0 }, { -26, 16, -6, 0, 6, 0 }, { -27, 16, -6, 0, 6, 0 }, { -28, 16, -6, 0, 6, 0 }, - { -29, 16, -7, 0, 6, 0 }, { -30, 16, -8, 0, 6, 0 }, { -31, 16, -8, 0, 6, 0 }, { -32, 16, -9, 0, 6, 0 }, { -33, 16, -10, 0, 6, 0 }, - { -34, 16, -10, 0, 6, 0 }, { -35, 16, -10, 0, 6, 0 }, { -36, 16, -11, 0, 6, 0 }, { -37, 16, -12, 0, 6, 0 }, { -38, 16, -12, 0, 6, 0 }, - { -39, 16, -13, 0, 6, 0 }, { -40, 16, -14, 0, 7, 0 }, { -41, 16, -14, 0, 7, 0 }, { -42, 16, -15, 0, 7, 0 }, { -43, 16, -16, 0, 7, 0 }, - { -44, 16, -17, 0, 7, 0 }, { -45, 16, -18, 0, 7, 0 }, { -46, 16, -18, 0, 7, 0 }, { -47, 16, -19, 0, 7, 0 }, { -48, 16, -20, 0, 7, 0 }, - { -49, 16, -20, 0, 7, 0 }, { -50, 16, -21, 0, 7, 0 }, { -51, 16, -22, 0, 7, 0 }, { -52, 16, -22, 0, 7, 0 }, { -53, 16, -23, 0, 7, 0 }, - { -54, 16, -24, 0, 7, 0 }, { -55, 16, -25, 0, 7, 0 }, { -56, 16, -26, 0, 7, 0 }, { -57, 16, -27, 0, 7, 0 }, { -58, 16, -28, 0, 7, 0 }, - { -59, 16, -29, 0, 7, 0 }, { -60, 16, -30, 0, 7, 0 }, { -61, 16, -31, 0, 7, 0 }, { -62, 16, -32, 0, 7, 0 }, { -63, 16, -33, 0, 7, 0 }, - { -64, 16, -34, 0, 7, 0 }, { -65, 16, -35, 0, 7, 0 }, { -66, 16, -36, 0, 7, 0 }, { -67, 16, -37, 0, 7, 0 }, { -68, 16, -38, 0, 7, 0 }, - { -69, 16, -39, 0, 7, 0 }, { -70, 16, -40, 0, 7, 0 }, { -71, 16, -41, 0, 7, 0 }, { -72, 16, -42, 0, 7, 0 }, { -73, 16, -43, 0, 7, 0 }, - { -73, 16, -44, 0, 7, 0 }, { -74, 16, -45, 0, 8, 0 }, { -74, 16, -46, 0, 8, 0 }, { -75, 16, -47, 0, 8, 0 }, { -76, 16, -48, 0, 8, 0 }, - { -77, 16, -49, 0, 8, 0 }, { -78, 16, -50, 0, 8, 0 }, { -79, 16, -51, 0, 8, 0 }, { -79, 16, -52, 0, 8, 0 }, { -80, 16, -53, 0, 8, 0 }, - { -81, 16, -54, 0, 8, 0 }, { -82, 16, -55, 0, 8, 0 }, { -82, 16, -56, 0, 8, 0 }, { -83, 16, -57, 0, 8, 0 }, { -84, 16, -58, 0, 8, 0 }, - { -84, 16, -59, 0, 8, 0 }, { -85, 16, -60, 0, 8, 0 }, { -86, 16, -61, 0, 8, 0 }, { -86, 16, -62, 0, 8, 0 }, { -87, 16, -63, 0, 8, 0 }, - { -88, 16, -64, 0, 8, 0 }, { -88, 16, -65, 0, 8, 0 }, { -89, 16, -66, 0, 8, 0 }, { -89, 16, -67, 0, 8, 0 }, { -90, 16, -68, 0, 8, 0 }, - { -91, 16, -69, 0, 8, 0 }, { -91, 16, -70, 0, 8, 0 }, { -92, 16, -71, 0, 8, 0 }, { -92, 16, -72, 0, 8, 0 }, { -93, 16, -73, 0, 8, 0 }, - { -93, 16, -74, 0, 8, 0 }, { -94, 16, -75, 0, 8, 0 }, { -94, 16, -76, 0, 8, 0 }, { -95, 16, -77, 0, 8, 0 }, { -96, 16, -78, 0, 8, 0 }, - { -96, 16, -79, 0, 8, 0 }, + 141, { + { 31, 16, 8, 0, 0, 0 }, { 30, 16, 8, 0, 0, 0 }, { 29, 16, 8, 0, 0, 0 }, { 28, 16, 8, 0, 0, 0 }, { 27, 16, 8, 0, 0, 0 }, + { 26, 16, 8, 0, 0, 0 }, { 25, 16, 8, 0, 0, 0 }, { 24, 16, 8, 0, 0, 0 }, { 23, 16, 8, 0, 0, 0 }, { 22, 16, 8, 0, 0, 0 }, + { 21, 16, 8, 0, 0, 0 }, { 20, 16, 8, 0, 0, 0 }, { 19, 16, 8, 0, 0, 0 }, { 18, 16, 8, 0, 0, 0 }, { 17, 16, 8, 0, 0, 0 }, + { 16, 16, 8, 0, 0, 0 }, { 15, 16, 8, 0, 0, 0 }, { 14, 16, 7, 0, 0, 0 }, { 13, 16, 7, 0, 5, 0 }, { 12, 16, 7, 0, 5, 0 }, + { 11, 16, 7, 0, 5, 0 }, { 10, 16, 7, 0, 5, 0 }, { 9, 16, 7, 0, 5, 0 }, { 8, 16, 6, 0, 5, 0 }, { 7, 16, 6, 0, 5, 0 }, + { 6, 16, 6, 0, 5, 0 }, { 5, 16, 6, 0, 5, 0 }, { 4, 16, 5, 0, 5, 0 }, { 3, 16, 5, 0, 5, 0 }, { 2, 16, 5, 0, 5, 0 }, + { 1, 16, 5, 0, 5, 0 }, { 0, 16, 4, 0, 5, 0 }, { -1, 16, 4, 0, 5, 0 }, { -2, 16, 4, 0, 5, 0 }, { -3, 16, 4, 0, 5, 0 }, + { -4, 16, 3, 0, 5, 0 }, { -5, 16, 3, 0, 5, 0 }, { -6, 16, 2, 0, 5, 0 }, { -7, 16, 2, 0, 5, 0 }, { -8, 16, 2, 0, 5, 0 }, + { -9, 16, 2, 0, 5, 0 }, { -10, 16, 1, 0, 6, 0 }, { -11, 16, 1, 0, 6, 0 }, { -12, 16, 1, 0, 6, 0 }, { -13, 16, 0, 0, 6, 0 }, + { -14, 16, 0, 0, 6, 0 }, { -15, 16, -1, 0, 6, 0 }, { -16, 16, -1, 0, 6, 0 }, { -17, 16, -1, 0, 6, 0 }, { -18, 16, -2, 0, 6, 0 }, + { -19, 16, -2, 0, 6, 0 }, { -20, 16, -3, 0, 6, 0 }, { -21, 16, -4, 0, 6, 0 }, { -22, 16, -4, 0, 6, 0 }, { -23, 16, -4, 0, 6, 0 }, + { -24, 16, -4, 0, 6, 0 }, { -25, 16, -5, 0, 6, 0 }, { -26, 16, -6, 0, 6, 0 }, { -27, 16, -6, 0, 6, 0 }, { -28, 16, -6, 0, 6, 0 }, + { -29, 16, -7, 0, 6, 0 }, { -30, 16, -8, 0, 6, 0 }, { -31, 16, -8, 0, 6, 0 }, { -32, 16, -9, 0, 6, 0 }, { -33, 16, -10, 0, 6, 0 }, + { -34, 16, -10, 0, 6, 0 }, { -35, 16, -10, 0, 6, 0 }, { -36, 16, -11, 0, 6, 0 }, { -37, 16, -12, 0, 6, 0 }, { -38, 16, -12, 0, 6, 0 }, + { -39, 16, -13, 0, 6, 0 }, { -40, 16, -14, 0, 7, 0 }, { -41, 16, -14, 0, 7, 0 }, { -42, 16, -15, 0, 7, 0 }, { -43, 16, -16, 0, 7, 0 }, + { -44, 16, -17, 0, 7, 0 }, { -45, 16, -18, 0, 7, 0 }, { -46, 16, -18, 0, 7, 0 }, { -47, 16, -19, 0, 7, 0 }, { -48, 16, -20, 0, 7, 0 }, + { -49, 16, -20, 0, 7, 0 }, { -50, 16, -21, 0, 7, 0 }, { -51, 16, -22, 0, 7, 0 }, { -52, 16, -22, 0, 7, 0 }, { -53, 16, -23, 0, 7, 0 }, + { -54, 16, -24, 0, 7, 0 }, { -55, 16, -25, 0, 7, 0 }, { -56, 16, -26, 0, 7, 0 }, { -57, 16, -27, 0, 7, 0 }, { -58, 16, -28, 0, 7, 0 }, + { -59, 16, -29, 0, 7, 0 }, { -60, 16, -30, 0, 7, 0 }, { -61, 16, -31, 0, 7, 0 }, { -62, 16, -32, 0, 7, 0 }, { -63, 16, -33, 0, 7, 0 }, + { -64, 16, -34, 0, 7, 0 }, { -65, 16, -35, 0, 7, 0 }, { -66, 16, -36, 0, 7, 0 }, { -67, 16, -37, 0, 7, 0 }, { -68, 16, -38, 0, 7, 0 }, + { -69, 16, -39, 0, 7, 0 }, { -70, 16, -40, 0, 7, 0 }, { -71, 16, -41, 0, 7, 0 }, { -72, 16, -42, 0, 7, 0 }, { -73, 16, -43, 0, 7, 0 }, + { -73, 16, -44, 0, 7, 0 }, { -74, 16, -45, 0, 8, 0 }, { -74, 16, -46, 0, 8, 0 }, { -75, 16, -47, 0, 8, 0 }, { -76, 16, -48, 0, 8, 0 }, + { -77, 16, -49, 0, 8, 0 }, { -78, 16, -50, 0, 8, 0 }, { -79, 16, -51, 0, 8, 0 }, { -79, 16, -52, 0, 8, 0 }, { -80, 16, -53, 0, 8, 0 }, + { -81, 16, -54, 0, 8, 0 }, { -82, 16, -55, 0, 8, 0 }, { -82, 16, -56, 0, 8, 0 }, { -83, 16, -57, 0, 8, 0 }, { -84, 16, -58, 0, 8, 0 }, + { -84, 16, -59, 0, 8, 0 }, { -85, 16, -60, 0, 8, 0 }, { -86, 16, -61, 0, 8, 0 }, { -86, 16, -62, 0, 8, 0 }, { -87, 16, -63, 0, 8, 0 }, + { -88, 16, -64, 0, 8, 0 }, { -88, 16, -65, 0, 8, 0 }, { -89, 16, -66, 0, 8, 0 }, { -89, 16, -67, 0, 8, 0 }, { -90, 16, -68, 0, 8, 0 }, + { -91, 16, -69, 0, 8, 0 }, { -91, 16, -70, 0, 8, 0 }, { -92, 16, -71, 0, 8, 0 }, { -92, 16, -72, 0, 8, 0 }, { -93, 16, -73, 0, 8, 0 }, + { -93, 16, -74, 0, 8, 0 }, { -94, 16, -75, 0, 8, 0 }, { -94, 16, -76, 0, 8, 0 }, { -95, 16, -77, 0, 8, 0 }, { -96, 16, -78, 0, 8, 0 }, + { -96, 16, -79, 0, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_97015D = { - 141, { - { 16, 0, 8, 8, 0, 0 }, { 16, 1, 8, 8, 0, 0 }, { 16, 2, 8, 8, 0, 0 }, { 16, 3, 8, 8, 0, 0 }, { 16, 4, 8, 8, 0, 0 }, - { 16, 5, 8, 8, 0, 0 }, { 16, 6, 8, 8, 0, 0 }, { 16, 7, 8, 8, 0, 0 }, { 16, 8, 8, 8, 0, 0 }, { 16, 9, 8, 8, 0, 0 }, - { 16, 10, 8, 8, 0, 0 }, { 16, 11, 8, 8, 0, 0 }, { 16, 12, 8, 8, 0, 0 }, { 16, 13, 8, 8, 0, 0 }, { 16, 14, 8, 8, 0, 0 }, - { 16, 15, 8, 8, 0, 0 }, { 16, 16, 8, 8, 0, 0 }, { 16, 17, 7, 8, 0, 0 }, { 16, 18, 7, 8, 5, 0 }, { 16, 19, 7, 8, 5, 0 }, - { 16, 20, 7, 8, 5, 0 }, { 16, 21, 7, 8, 5, 0 }, { 16, 22, 7, 8, 5, 0 }, { 16, 23, 6, 8, 5, 0 }, { 16, 24, 6, 8, 5, 0 }, - { 16, 25, 6, 8, 5, 0 }, { 16, 26, 6, 8, 5, 0 }, { 16, 27, 5, 8, 5, 0 }, { 16, 28, 5, 8, 5, 0 }, { 16, 29, 5, 8, 5, 0 }, - { 16, 30, 5, 8, 5, 0 }, { 16, 31, 4, 8, 5, 0 }, { 16, 32, 4, 8, 5, 0 }, { 16, 33, 4, 8, 5, 0 }, { 16, 34, 4, 8, 5, 0 }, - { 16, 35, 3, 8, 5, 0 }, { 16, 36, 3, 8, 5, 0 }, { 16, 37, 2, 8, 5, 0 }, { 16, 38, 2, 8, 5, 0 }, { 16, 39, 2, 8, 5, 0 }, - { 16, 40, 2, 8, 5, 0 }, { 16, 41, 1, 8, 6, 0 }, { 16, 42, 1, 8, 6, 0 }, { 16, 43, 1, 8, 6, 0 }, { 16, 44, 0, 8, 6, 0 }, - { 16, 45, 0, 8, 6, 0 }, { 16, 46, -1, 8, 6, 0 }, { 16, 47, -1, 8, 6, 0 }, { 16, 48, -1, 8, 6, 0 }, { 16, 49, -2, 8, 6, 0 }, - { 16, 50, -2, 8, 6, 0 }, { 16, 51, -3, 8, 6, 0 }, { 16, 52, -4, 8, 6, 0 }, { 16, 53, -4, 8, 6, 0 }, { 16, 54, -4, 8, 6, 0 }, - { 16, 55, -4, 8, 6, 0 }, { 16, 56, -5, 8, 6, 0 }, { 16, 57, -6, 8, 6, 0 }, { 16, 58, -6, 8, 6, 0 }, { 16, 59, -6, 8, 6, 0 }, - { 16, 60, -7, 8, 6, 0 }, { 16, 61, -8, 8, 6, 0 }, { 16, 62, -8, 8, 6, 0 }, { 16, 63, -9, 8, 6, 0 }, { 16, 64, -10, 8, 6, 0 }, - { 16, 65, -10, 8, 6, 0 }, { 16, 66, -10, 8, 6, 0 }, { 16, 67, -11, 8, 6, 0 }, { 16, 68, -12, 8, 6, 0 }, { 16, 69, -12, 8, 6, 0 }, - { 16, 70, -13, 8, 6, 0 }, { 16, 71, -14, 8, 7, 0 }, { 16, 72, -14, 8, 7, 0 }, { 16, 73, -15, 8, 7, 0 }, { 16, 74, -16, 8, 7, 0 }, - { 16, 75, -17, 8, 7, 0 }, { 16, 76, -18, 8, 7, 0 }, { 16, 77, -18, 8, 7, 0 }, { 16, 78, -19, 8, 7, 0 }, { 16, 79, -20, 8, 7, 0 }, - { 16, 80, -20, 8, 7, 0 }, { 16, 81, -21, 8, 7, 0 }, { 16, 82, -22, 8, 7, 0 }, { 16, 83, -22, 8, 7, 0 }, { 16, 84, -23, 8, 7, 0 }, - { 16, 85, -24, 8, 7, 0 }, { 16, 86, -25, 8, 7, 0 }, { 16, 87, -26, 8, 7, 0 }, { 16, 88, -27, 8, 7, 0 }, { 16, 89, -28, 8, 7, 0 }, - { 16, 90, -29, 8, 7, 0 }, { 16, 91, -30, 8, 7, 0 }, { 16, 92, -31, 8, 7, 0 }, { 16, 93, -32, 8, 7, 0 }, { 16, 94, -33, 8, 7, 0 }, - { 16, 95, -34, 8, 7, 0 }, { 16, 96, -35, 8, 7, 0 }, { 16, 97, -36, 8, 7, 0 }, { 16, 98, -37, 8, 7, 0 }, { 16, 99, -38, 8, 7, 0 }, - { 16, 100, -39, 8, 7, 0 }, { 16, 101, -40, 8, 7, 0 }, { 16, 102, -41, 8, 7, 0 }, { 16, 103, -42, 8, 7, 0 }, { 16, 104, -43, 8, 7, 0 }, - { 16, 104, -44, 8, 7, 0 }, { 16, 105, -45, 8, 8, 0 }, { 16, 105, -46, 8, 8, 0 }, { 16, 106, -47, 8, 8, 0 }, { 16, 107, -48, 8, 8, 0 }, - { 16, 108, -49, 8, 8, 0 }, { 16, 109, -50, 8, 8, 0 }, { 16, 110, -51, 8, 8, 0 }, { 16, 110, -52, 8, 8, 0 }, { 16, 111, -53, 8, 8, 0 }, - { 16, 112, -54, 8, 8, 0 }, { 16, 113, -55, 8, 8, 0 }, { 16, 113, -56, 8, 8, 0 }, { 16, 114, -57, 8, 8, 0 }, { 16, 115, -58, 8, 8, 0 }, - { 16, 115, -59, 8, 8, 0 }, { 16, 116, -60, 8, 8, 0 }, { 16, 117, -61, 8, 8, 0 }, { 16, 117, -62, 8, 8, 0 }, { 16, 118, -63, 8, 8, 0 }, - { 16, 119, -64, 8, 8, 0 }, { 16, 119, -65, 8, 8, 0 }, { 16, 120, -66, 8, 8, 0 }, { 16, 120, -67, 8, 8, 0 }, { 16, 121, -68, 8, 8, 0 }, - { 16, 122, -69, 8, 8, 0 }, { 16, 122, -70, 8, 8, 0 }, { 16, 123, -71, 8, 8, 0 }, { 16, 123, -72, 8, 8, 0 }, { 16, 124, -73, 8, 8, 0 }, - { 16, 124, -74, 8, 8, 0 }, { 16, 125, -75, 8, 8, 0 }, { 16, 125, -76, 8, 8, 0 }, { 16, 126, -77, 8, 8, 0 }, { 16, 127, -78, 8, 8, 0 }, - { 16, 127, -79, 8, 8, 0 }, + 141, { + { 16, 0, 8, 8, 0, 0 }, { 16, 1, 8, 8, 0, 0 }, { 16, 2, 8, 8, 0, 0 }, { 16, 3, 8, 8, 0, 0 }, { 16, 4, 8, 8, 0, 0 }, + { 16, 5, 8, 8, 0, 0 }, { 16, 6, 8, 8, 0, 0 }, { 16, 7, 8, 8, 0, 0 }, { 16, 8, 8, 8, 0, 0 }, { 16, 9, 8, 8, 0, 0 }, + { 16, 10, 8, 8, 0, 0 }, { 16, 11, 8, 8, 0, 0 }, { 16, 12, 8, 8, 0, 0 }, { 16, 13, 8, 8, 0, 0 }, { 16, 14, 8, 8, 0, 0 }, + { 16, 15, 8, 8, 0, 0 }, { 16, 16, 8, 8, 0, 0 }, { 16, 17, 7, 8, 0, 0 }, { 16, 18, 7, 8, 5, 0 }, { 16, 19, 7, 8, 5, 0 }, + { 16, 20, 7, 8, 5, 0 }, { 16, 21, 7, 8, 5, 0 }, { 16, 22, 7, 8, 5, 0 }, { 16, 23, 6, 8, 5, 0 }, { 16, 24, 6, 8, 5, 0 }, + { 16, 25, 6, 8, 5, 0 }, { 16, 26, 6, 8, 5, 0 }, { 16, 27, 5, 8, 5, 0 }, { 16, 28, 5, 8, 5, 0 }, { 16, 29, 5, 8, 5, 0 }, + { 16, 30, 5, 8, 5, 0 }, { 16, 31, 4, 8, 5, 0 }, { 16, 32, 4, 8, 5, 0 }, { 16, 33, 4, 8, 5, 0 }, { 16, 34, 4, 8, 5, 0 }, + { 16, 35, 3, 8, 5, 0 }, { 16, 36, 3, 8, 5, 0 }, { 16, 37, 2, 8, 5, 0 }, { 16, 38, 2, 8, 5, 0 }, { 16, 39, 2, 8, 5, 0 }, + { 16, 40, 2, 8, 5, 0 }, { 16, 41, 1, 8, 6, 0 }, { 16, 42, 1, 8, 6, 0 }, { 16, 43, 1, 8, 6, 0 }, { 16, 44, 0, 8, 6, 0 }, + { 16, 45, 0, 8, 6, 0 }, { 16, 46, -1, 8, 6, 0 }, { 16, 47, -1, 8, 6, 0 }, { 16, 48, -1, 8, 6, 0 }, { 16, 49, -2, 8, 6, 0 }, + { 16, 50, -2, 8, 6, 0 }, { 16, 51, -3, 8, 6, 0 }, { 16, 52, -4, 8, 6, 0 }, { 16, 53, -4, 8, 6, 0 }, { 16, 54, -4, 8, 6, 0 }, + { 16, 55, -4, 8, 6, 0 }, { 16, 56, -5, 8, 6, 0 }, { 16, 57, -6, 8, 6, 0 }, { 16, 58, -6, 8, 6, 0 }, { 16, 59, -6, 8, 6, 0 }, + { 16, 60, -7, 8, 6, 0 }, { 16, 61, -8, 8, 6, 0 }, { 16, 62, -8, 8, 6, 0 }, { 16, 63, -9, 8, 6, 0 }, { 16, 64, -10, 8, 6, 0 }, + { 16, 65, -10, 8, 6, 0 }, { 16, 66, -10, 8, 6, 0 }, { 16, 67, -11, 8, 6, 0 }, { 16, 68, -12, 8, 6, 0 }, { 16, 69, -12, 8, 6, 0 }, + { 16, 70, -13, 8, 6, 0 }, { 16, 71, -14, 8, 7, 0 }, { 16, 72, -14, 8, 7, 0 }, { 16, 73, -15, 8, 7, 0 }, { 16, 74, -16, 8, 7, 0 }, + { 16, 75, -17, 8, 7, 0 }, { 16, 76, -18, 8, 7, 0 }, { 16, 77, -18, 8, 7, 0 }, { 16, 78, -19, 8, 7, 0 }, { 16, 79, -20, 8, 7, 0 }, + { 16, 80, -20, 8, 7, 0 }, { 16, 81, -21, 8, 7, 0 }, { 16, 82, -22, 8, 7, 0 }, { 16, 83, -22, 8, 7, 0 }, { 16, 84, -23, 8, 7, 0 }, + { 16, 85, -24, 8, 7, 0 }, { 16, 86, -25, 8, 7, 0 }, { 16, 87, -26, 8, 7, 0 }, { 16, 88, -27, 8, 7, 0 }, { 16, 89, -28, 8, 7, 0 }, + { 16, 90, -29, 8, 7, 0 }, { 16, 91, -30, 8, 7, 0 }, { 16, 92, -31, 8, 7, 0 }, { 16, 93, -32, 8, 7, 0 }, { 16, 94, -33, 8, 7, 0 }, + { 16, 95, -34, 8, 7, 0 }, { 16, 96, -35, 8, 7, 0 }, { 16, 97, -36, 8, 7, 0 }, { 16, 98, -37, 8, 7, 0 }, { 16, 99, -38, 8, 7, 0 }, + { 16, 100, -39, 8, 7, 0 }, { 16, 101, -40, 8, 7, 0 }, { 16, 102, -41, 8, 7, 0 }, { 16, 103, -42, 8, 7, 0 }, { 16, 104, -43, 8, 7, 0 }, + { 16, 104, -44, 8, 7, 0 }, { 16, 105, -45, 8, 8, 0 }, { 16, 105, -46, 8, 8, 0 }, { 16, 106, -47, 8, 8, 0 }, { 16, 107, -48, 8, 8, 0 }, + { 16, 108, -49, 8, 8, 0 }, { 16, 109, -50, 8, 8, 0 }, { 16, 110, -51, 8, 8, 0 }, { 16, 110, -52, 8, 8, 0 }, { 16, 111, -53, 8, 8, 0 }, + { 16, 112, -54, 8, 8, 0 }, { 16, 113, -55, 8, 8, 0 }, { 16, 113, -56, 8, 8, 0 }, { 16, 114, -57, 8, 8, 0 }, { 16, 115, -58, 8, 8, 0 }, + { 16, 115, -59, 8, 8, 0 }, { 16, 116, -60, 8, 8, 0 }, { 16, 117, -61, 8, 8, 0 }, { 16, 117, -62, 8, 8, 0 }, { 16, 118, -63, 8, 8, 0 }, + { 16, 119, -64, 8, 8, 0 }, { 16, 119, -65, 8, 8, 0 }, { 16, 120, -66, 8, 8, 0 }, { 16, 120, -67, 8, 8, 0 }, { 16, 121, -68, 8, 8, 0 }, + { 16, 122, -69, 8, 8, 0 }, { 16, 122, -70, 8, 8, 0 }, { 16, 123, -71, 8, 8, 0 }, { 16, 123, -72, 8, 8, 0 }, { 16, 124, -73, 8, 8, 0 }, + { 16, 124, -74, 8, 8, 0 }, { 16, 125, -75, 8, 8, 0 }, { 16, 125, -76, 8, 8, 0 }, { 16, 126, -77, 8, 8, 0 }, { 16, 127, -78, 8, 8, 0 }, + { 16, 127, -79, 8, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_970654 = { - 141, { - { 0, 16, 8, 16, 0, 0 }, { 1, 16, 8, 16, 0, 0 }, { 2, 16, 8, 16, 0, 0 }, { 3, 16, 8, 16, 0, 0 }, { 4, 16, 8, 16, 0, 0 }, - { 5, 16, 8, 16, 0, 0 }, { 6, 16, 8, 16, 0, 0 }, { 7, 16, 8, 16, 0, 0 }, { 8, 16, 8, 16, 0, 0 }, { 9, 16, 8, 16, 0, 0 }, - { 10, 16, 8, 16, 0, 0 }, { 11, 16, 8, 16, 0, 0 }, { 12, 16, 8, 16, 0, 0 }, { 13, 16, 8, 16, 0, 0 }, { 14, 16, 8, 16, 0, 0 }, - { 15, 16, 8, 16, 0, 0 }, { 16, 16, 8, 16, 0, 0 }, { 17, 16, 7, 16, 0, 0 }, { 18, 16, 7, 16, 5, 0 }, { 19, 16, 7, 16, 5, 0 }, - { 20, 16, 7, 16, 5, 0 }, { 21, 16, 7, 16, 5, 0 }, { 22, 16, 7, 16, 5, 0 }, { 23, 16, 6, 16, 5, 0 }, { 24, 16, 6, 16, 5, 0 }, - { 25, 16, 6, 16, 5, 0 }, { 26, 16, 6, 16, 5, 0 }, { 27, 16, 5, 16, 5, 0 }, { 28, 16, 5, 16, 5, 0 }, { 29, 16, 5, 16, 5, 0 }, - { 30, 16, 5, 16, 5, 0 }, { 31, 16, 4, 16, 5, 0 }, { 32, 16, 4, 16, 5, 0 }, { 33, 16, 4, 16, 5, 0 }, { 34, 16, 4, 16, 5, 0 }, - { 35, 16, 3, 16, 5, 0 }, { 36, 16, 3, 16, 5, 0 }, { 37, 16, 2, 16, 5, 0 }, { 38, 16, 2, 16, 5, 0 }, { 39, 16, 2, 16, 5, 0 }, - { 40, 16, 2, 16, 5, 0 }, { 41, 16, 1, 16, 6, 0 }, { 42, 16, 1, 16, 6, 0 }, { 43, 16, 1, 16, 6, 0 }, { 44, 16, 0, 16, 6, 0 }, - { 45, 16, 0, 16, 6, 0 }, { 46, 16, -1, 16, 6, 0 }, { 47, 16, -1, 16, 6, 0 }, { 48, 16, -1, 16, 6, 0 }, { 49, 16, -2, 16, 6, 0 }, - { 50, 16, -2, 16, 6, 0 }, { 51, 16, -3, 16, 6, 0 }, { 52, 16, -4, 16, 6, 0 }, { 53, 16, -4, 16, 6, 0 }, { 54, 16, -4, 16, 6, 0 }, - { 55, 16, -4, 16, 6, 0 }, { 56, 16, -5, 16, 6, 0 }, { 57, 16, -6, 16, 6, 0 }, { 58, 16, -6, 16, 6, 0 }, { 59, 16, -6, 16, 6, 0 }, - { 60, 16, -7, 16, 6, 0 }, { 61, 16, -8, 16, 6, 0 }, { 62, 16, -8, 16, 6, 0 }, { 63, 16, -9, 16, 6, 0 }, { 64, 16, -10, 16, 6, 0 }, - { 65, 16, -10, 16, 6, 0 }, { 66, 16, -10, 16, 6, 0 }, { 67, 16, -11, 16, 6, 0 }, { 68, 16, -12, 16, 6, 0 }, { 69, 16, -12, 16, 6, 0 }, - { 70, 16, -13, 16, 6, 0 }, { 71, 16, -14, 16, 7, 0 }, { 72, 16, -14, 16, 7, 0 }, { 73, 16, -15, 16, 7, 0 }, { 74, 16, -16, 16, 7, 0 }, - { 75, 16, -17, 16, 7, 0 }, { 76, 16, -18, 16, 7, 0 }, { 77, 16, -18, 16, 7, 0 }, { 78, 16, -19, 16, 7, 0 }, { 79, 16, -20, 16, 7, 0 }, - { 80, 16, -20, 16, 7, 0 }, { 81, 16, -21, 16, 7, 0 }, { 82, 16, -22, 16, 7, 0 }, { 83, 16, -22, 16, 7, 0 }, { 84, 16, -23, 16, 7, 0 }, - { 85, 16, -24, 16, 7, 0 }, { 86, 16, -25, 16, 7, 0 }, { 87, 16, -26, 16, 7, 0 }, { 88, 16, -27, 16, 7, 0 }, { 89, 16, -28, 16, 7, 0 }, - { 90, 16, -29, 16, 7, 0 }, { 91, 16, -30, 16, 7, 0 }, { 92, 16, -31, 16, 7, 0 }, { 93, 16, -32, 16, 7, 0 }, { 94, 16, -33, 16, 7, 0 }, - { 95, 16, -34, 16, 7, 0 }, { 96, 16, -35, 16, 7, 0 }, { 97, 16, -36, 16, 7, 0 }, { 98, 16, -37, 16, 7, 0 }, { 99, 16, -38, 16, 7, 0 }, - { 100, 16, -39, 16, 7, 0 }, { 101, 16, -40, 16, 7, 0 }, { 102, 16, -41, 16, 7, 0 }, { 103, 16, -42, 16, 7, 0 }, { 104, 16, -43, 16, 7, 0 }, - { 104, 16, -44, 16, 7, 0 }, { 105, 16, -45, 16, 8, 0 }, { 105, 16, -46, 16, 8, 0 }, { 106, 16, -47, 16, 8, 0 }, { 107, 16, -48, 16, 8, 0 }, - { 108, 16, -49, 16, 8, 0 }, { 109, 16, -50, 16, 8, 0 }, { 110, 16, -51, 16, 8, 0 }, { 110, 16, -52, 16, 8, 0 }, { 111, 16, -53, 16, 8, 0 }, - { 112, 16, -54, 16, 8, 0 }, { 113, 16, -55, 16, 8, 0 }, { 113, 16, -56, 16, 8, 0 }, { 114, 16, -57, 16, 8, 0 }, { 115, 16, -58, 16, 8, 0 }, - { 115, 16, -59, 16, 8, 0 }, { 116, 16, -60, 16, 8, 0 }, { 117, 16, -61, 16, 8, 0 }, { 117, 16, -62, 16, 8, 0 }, { 118, 16, -63, 16, 8, 0 }, - { 119, 16, -64, 16, 8, 0 }, { 119, 16, -65, 16, 8, 0 }, { 120, 16, -66, 16, 8, 0 }, { 120, 16, -67, 16, 8, 0 }, { 121, 16, -68, 16, 8, 0 }, - { 122, 16, -69, 16, 8, 0 }, { 122, 16, -70, 16, 8, 0 }, { 123, 16, -71, 16, 8, 0 }, { 123, 16, -72, 16, 8, 0 }, { 124, 16, -73, 16, 8, 0 }, - { 124, 16, -74, 16, 8, 0 }, { 125, 16, -75, 16, 8, 0 }, { 125, 16, -76, 16, 8, 0 }, { 126, 16, -77, 16, 8, 0 }, { 127, 16, -78, 16, 8, 0 }, - { 127, 16, -79, 16, 8, 0 }, + 141, { + { 0, 16, 8, 16, 0, 0 }, { 1, 16, 8, 16, 0, 0 }, { 2, 16, 8, 16, 0, 0 }, { 3, 16, 8, 16, 0, 0 }, { 4, 16, 8, 16, 0, 0 }, + { 5, 16, 8, 16, 0, 0 }, { 6, 16, 8, 16, 0, 0 }, { 7, 16, 8, 16, 0, 0 }, { 8, 16, 8, 16, 0, 0 }, { 9, 16, 8, 16, 0, 0 }, + { 10, 16, 8, 16, 0, 0 }, { 11, 16, 8, 16, 0, 0 }, { 12, 16, 8, 16, 0, 0 }, { 13, 16, 8, 16, 0, 0 }, { 14, 16, 8, 16, 0, 0 }, + { 15, 16, 8, 16, 0, 0 }, { 16, 16, 8, 16, 0, 0 }, { 17, 16, 7, 16, 0, 0 }, { 18, 16, 7, 16, 5, 0 }, { 19, 16, 7, 16, 5, 0 }, + { 20, 16, 7, 16, 5, 0 }, { 21, 16, 7, 16, 5, 0 }, { 22, 16, 7, 16, 5, 0 }, { 23, 16, 6, 16, 5, 0 }, { 24, 16, 6, 16, 5, 0 }, + { 25, 16, 6, 16, 5, 0 }, { 26, 16, 6, 16, 5, 0 }, { 27, 16, 5, 16, 5, 0 }, { 28, 16, 5, 16, 5, 0 }, { 29, 16, 5, 16, 5, 0 }, + { 30, 16, 5, 16, 5, 0 }, { 31, 16, 4, 16, 5, 0 }, { 32, 16, 4, 16, 5, 0 }, { 33, 16, 4, 16, 5, 0 }, { 34, 16, 4, 16, 5, 0 }, + { 35, 16, 3, 16, 5, 0 }, { 36, 16, 3, 16, 5, 0 }, { 37, 16, 2, 16, 5, 0 }, { 38, 16, 2, 16, 5, 0 }, { 39, 16, 2, 16, 5, 0 }, + { 40, 16, 2, 16, 5, 0 }, { 41, 16, 1, 16, 6, 0 }, { 42, 16, 1, 16, 6, 0 }, { 43, 16, 1, 16, 6, 0 }, { 44, 16, 0, 16, 6, 0 }, + { 45, 16, 0, 16, 6, 0 }, { 46, 16, -1, 16, 6, 0 }, { 47, 16, -1, 16, 6, 0 }, { 48, 16, -1, 16, 6, 0 }, { 49, 16, -2, 16, 6, 0 }, + { 50, 16, -2, 16, 6, 0 }, { 51, 16, -3, 16, 6, 0 }, { 52, 16, -4, 16, 6, 0 }, { 53, 16, -4, 16, 6, 0 }, { 54, 16, -4, 16, 6, 0 }, + { 55, 16, -4, 16, 6, 0 }, { 56, 16, -5, 16, 6, 0 }, { 57, 16, -6, 16, 6, 0 }, { 58, 16, -6, 16, 6, 0 }, { 59, 16, -6, 16, 6, 0 }, + { 60, 16, -7, 16, 6, 0 }, { 61, 16, -8, 16, 6, 0 }, { 62, 16, -8, 16, 6, 0 }, { 63, 16, -9, 16, 6, 0 }, { 64, 16, -10, 16, 6, 0 }, + { 65, 16, -10, 16, 6, 0 }, { 66, 16, -10, 16, 6, 0 }, { 67, 16, -11, 16, 6, 0 }, { 68, 16, -12, 16, 6, 0 }, { 69, 16, -12, 16, 6, 0 }, + { 70, 16, -13, 16, 6, 0 }, { 71, 16, -14, 16, 7, 0 }, { 72, 16, -14, 16, 7, 0 }, { 73, 16, -15, 16, 7, 0 }, { 74, 16, -16, 16, 7, 0 }, + { 75, 16, -17, 16, 7, 0 }, { 76, 16, -18, 16, 7, 0 }, { 77, 16, -18, 16, 7, 0 }, { 78, 16, -19, 16, 7, 0 }, { 79, 16, -20, 16, 7, 0 }, + { 80, 16, -20, 16, 7, 0 }, { 81, 16, -21, 16, 7, 0 }, { 82, 16, -22, 16, 7, 0 }, { 83, 16, -22, 16, 7, 0 }, { 84, 16, -23, 16, 7, 0 }, + { 85, 16, -24, 16, 7, 0 }, { 86, 16, -25, 16, 7, 0 }, { 87, 16, -26, 16, 7, 0 }, { 88, 16, -27, 16, 7, 0 }, { 89, 16, -28, 16, 7, 0 }, + { 90, 16, -29, 16, 7, 0 }, { 91, 16, -30, 16, 7, 0 }, { 92, 16, -31, 16, 7, 0 }, { 93, 16, -32, 16, 7, 0 }, { 94, 16, -33, 16, 7, 0 }, + { 95, 16, -34, 16, 7, 0 }, { 96, 16, -35, 16, 7, 0 }, { 97, 16, -36, 16, 7, 0 }, { 98, 16, -37, 16, 7, 0 }, { 99, 16, -38, 16, 7, 0 }, + { 100, 16, -39, 16, 7, 0 }, { 101, 16, -40, 16, 7, 0 }, { 102, 16, -41, 16, 7, 0 }, { 103, 16, -42, 16, 7, 0 }, { 104, 16, -43, 16, 7, 0 }, + { 104, 16, -44, 16, 7, 0 }, { 105, 16, -45, 16, 8, 0 }, { 105, 16, -46, 16, 8, 0 }, { 106, 16, -47, 16, 8, 0 }, { 107, 16, -48, 16, 8, 0 }, + { 108, 16, -49, 16, 8, 0 }, { 109, 16, -50, 16, 8, 0 }, { 110, 16, -51, 16, 8, 0 }, { 110, 16, -52, 16, 8, 0 }, { 111, 16, -53, 16, 8, 0 }, + { 112, 16, -54, 16, 8, 0 }, { 113, 16, -55, 16, 8, 0 }, { 113, 16, -56, 16, 8, 0 }, { 114, 16, -57, 16, 8, 0 }, { 115, 16, -58, 16, 8, 0 }, + { 115, 16, -59, 16, 8, 0 }, { 116, 16, -60, 16, 8, 0 }, { 117, 16, -61, 16, 8, 0 }, { 117, 16, -62, 16, 8, 0 }, { 118, 16, -63, 16, 8, 0 }, + { 119, 16, -64, 16, 8, 0 }, { 119, 16, -65, 16, 8, 0 }, { 120, 16, -66, 16, 8, 0 }, { 120, 16, -67, 16, 8, 0 }, { 121, 16, -68, 16, 8, 0 }, + { 122, 16, -69, 16, 8, 0 }, { 122, 16, -70, 16, 8, 0 }, { 123, 16, -71, 16, 8, 0 }, { 123, 16, -72, 16, 8, 0 }, { 124, 16, -73, 16, 8, 0 }, + { 124, 16, -74, 16, 8, 0 }, { 125, 16, -75, 16, 8, 0 }, { 125, 16, -76, 16, 8, 0 }, { 126, 16, -77, 16, 8, 0 }, { 127, 16, -78, 16, 8, 0 }, + { 127, 16, -79, 16, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_970B4B = { - 141, { - { 16, 31, 8, 24, 0, 0 }, { 16, 30, 8, 24, 0, 0 }, { 16, 29, 8, 24, 0, 0 }, { 16, 28, 8, 24, 0, 0 }, { 16, 27, 8, 24, 0, 0 }, - { 16, 26, 8, 24, 0, 0 }, { 16, 25, 8, 24, 0, 0 }, { 16, 24, 8, 24, 0, 0 }, { 16, 23, 8, 24, 0, 0 }, { 16, 22, 8, 24, 0, 0 }, - { 16, 21, 8, 24, 0, 0 }, { 16, 20, 8, 24, 0, 0 }, { 16, 19, 8, 24, 0, 0 }, { 16, 18, 8, 24, 0, 0 }, { 16, 17, 8, 24, 0, 0 }, - { 16, 16, 8, 24, 0, 0 }, { 16, 15, 8, 24, 0, 0 }, { 16, 14, 7, 24, 0, 0 }, { 16, 13, 7, 24, 5, 0 }, { 16, 12, 7, 24, 5, 0 }, - { 16, 11, 7, 24, 5, 0 }, { 16, 10, 7, 24, 5, 0 }, { 16, 9, 7, 24, 5, 0 }, { 16, 8, 6, 24, 5, 0 }, { 16, 7, 6, 24, 5, 0 }, - { 16, 6, 6, 24, 5, 0 }, { 16, 5, 6, 24, 5, 0 }, { 16, 4, 5, 24, 5, 0 }, { 16, 3, 5, 24, 5, 0 }, { 16, 2, 5, 24, 5, 0 }, - { 16, 1, 5, 24, 5, 0 }, { 16, 0, 4, 24, 5, 0 }, { 16, -1, 4, 24, 5, 0 }, { 16, -2, 4, 24, 5, 0 }, { 16, -3, 4, 24, 5, 0 }, - { 16, -4, 3, 24, 5, 0 }, { 16, -5, 3, 24, 5, 0 }, { 16, -6, 2, 24, 5, 0 }, { 16, -7, 2, 24, 5, 0 }, { 16, -8, 2, 24, 5, 0 }, - { 16, -9, 2, 24, 5, 0 }, { 16, -10, 1, 24, 6, 0 }, { 16, -11, 1, 24, 6, 0 }, { 16, -12, 1, 24, 6, 0 }, { 16, -13, 0, 24, 6, 0 }, - { 16, -14, 0, 24, 6, 0 }, { 16, -15, -1, 24, 6, 0 }, { 16, -16, -1, 24, 6, 0 }, { 16, -17, -1, 24, 6, 0 }, { 16, -18, -2, 24, 6, 0 }, - { 16, -19, -2, 24, 6, 0 }, { 16, -20, -3, 24, 6, 0 }, { 16, -21, -4, 24, 6, 0 }, { 16, -22, -4, 24, 6, 0 }, { 16, -23, -4, 24, 6, 0 }, - { 16, -24, -4, 24, 6, 0 }, { 16, -25, -5, 24, 6, 0 }, { 16, -26, -6, 24, 6, 0 }, { 16, -27, -6, 24, 6, 0 }, { 16, -28, -6, 24, 6, 0 }, - { 16, -29, -7, 24, 6, 0 }, { 16, -30, -8, 24, 6, 0 }, { 16, -31, -8, 24, 6, 0 }, { 16, -32, -9, 24, 6, 0 }, { 16, -33, -10, 24, 6, 0 }, - { 16, -34, -10, 24, 6, 0 }, { 16, -35, -10, 24, 6, 0 }, { 16, -36, -11, 24, 6, 0 }, { 16, -37, -12, 24, 6, 0 }, { 16, -38, -12, 24, 6, 0 }, - { 16, -39, -13, 24, 6, 0 }, { 16, -40, -14, 24, 7, 0 }, { 16, -41, -14, 24, 7, 0 }, { 16, -42, -15, 24, 7, 0 }, { 16, -43, -16, 24, 7, 0 }, - { 16, -44, -17, 24, 7, 0 }, { 16, -45, -18, 24, 7, 0 }, { 16, -46, -18, 24, 7, 0 }, { 16, -47, -19, 24, 7, 0 }, { 16, -48, -20, 24, 7, 0 }, - { 16, -49, -20, 24, 7, 0 }, { 16, -50, -21, 24, 7, 0 }, { 16, -51, -22, 24, 7, 0 }, { 16, -52, -22, 24, 7, 0 }, { 16, -53, -23, 24, 7, 0 }, - { 16, -54, -24, 24, 7, 0 }, { 16, -55, -25, 24, 7, 0 }, { 16, -56, -26, 24, 7, 0 }, { 16, -57, -27, 24, 7, 0 }, { 16, -58, -28, 24, 7, 0 }, - { 16, -59, -29, 24, 7, 0 }, { 16, -60, -30, 24, 7, 0 }, { 16, -61, -31, 24, 7, 0 }, { 16, -62, -32, 24, 7, 0 }, { 16, -63, -33, 24, 7, 0 }, - { 16, -64, -34, 24, 7, 0 }, { 16, -65, -35, 24, 7, 0 }, { 16, -66, -36, 24, 7, 0 }, { 16, -67, -37, 24, 7, 0 }, { 16, -68, -38, 24, 7, 0 }, - { 16, -69, -39, 24, 7, 0 }, { 16, -70, -40, 24, 7, 0 }, { 16, -71, -41, 24, 7, 0 }, { 16, -72, -42, 24, 7, 0 }, { 16, -73, -43, 24, 7, 0 }, - { 16, -73, -44, 24, 7, 0 }, { 16, -74, -45, 24, 8, 0 }, { 16, -74, -46, 24, 8, 0 }, { 16, -75, -47, 24, 8, 0 }, { 16, -76, -48, 24, 8, 0 }, - { 16, -77, -49, 24, 8, 0 }, { 16, -78, -50, 24, 8, 0 }, { 16, -79, -51, 24, 8, 0 }, { 16, -79, -52, 24, 8, 0 }, { 16, -80, -53, 24, 8, 0 }, - { 16, -81, -54, 24, 8, 0 }, { 16, -82, -55, 24, 8, 0 }, { 16, -82, -56, 24, 8, 0 }, { 16, -83, -57, 24, 8, 0 }, { 16, -84, -58, 24, 8, 0 }, - { 16, -84, -59, 24, 8, 0 }, { 16, -85, -60, 24, 8, 0 }, { 16, -86, -61, 24, 8, 0 }, { 16, -86, -62, 24, 8, 0 }, { 16, -87, -63, 24, 8, 0 }, - { 16, -88, -64, 24, 8, 0 }, { 16, -88, -65, 24, 8, 0 }, { 16, -89, -66, 24, 8, 0 }, { 16, -89, -67, 24, 8, 0 }, { 16, -90, -68, 24, 8, 0 }, - { 16, -91, -69, 24, 8, 0 }, { 16, -91, -70, 24, 8, 0 }, { 16, -92, -71, 24, 8, 0 }, { 16, -92, -72, 24, 8, 0 }, { 16, -93, -73, 24, 8, 0 }, - { 16, -93, -74, 24, 8, 0 }, { 16, -94, -75, 24, 8, 0 }, { 16, -94, -76, 24, 8, 0 }, { 16, -95, -77, 24, 8, 0 }, { 16, -96, -78, 24, 8, 0 }, - { 16, -96, -79, 24, 8, 0 }, + 141, { + { 16, 31, 8, 24, 0, 0 }, { 16, 30, 8, 24, 0, 0 }, { 16, 29, 8, 24, 0, 0 }, { 16, 28, 8, 24, 0, 0 }, { 16, 27, 8, 24, 0, 0 }, + { 16, 26, 8, 24, 0, 0 }, { 16, 25, 8, 24, 0, 0 }, { 16, 24, 8, 24, 0, 0 }, { 16, 23, 8, 24, 0, 0 }, { 16, 22, 8, 24, 0, 0 }, + { 16, 21, 8, 24, 0, 0 }, { 16, 20, 8, 24, 0, 0 }, { 16, 19, 8, 24, 0, 0 }, { 16, 18, 8, 24, 0, 0 }, { 16, 17, 8, 24, 0, 0 }, + { 16, 16, 8, 24, 0, 0 }, { 16, 15, 8, 24, 0, 0 }, { 16, 14, 7, 24, 0, 0 }, { 16, 13, 7, 24, 5, 0 }, { 16, 12, 7, 24, 5, 0 }, + { 16, 11, 7, 24, 5, 0 }, { 16, 10, 7, 24, 5, 0 }, { 16, 9, 7, 24, 5, 0 }, { 16, 8, 6, 24, 5, 0 }, { 16, 7, 6, 24, 5, 0 }, + { 16, 6, 6, 24, 5, 0 }, { 16, 5, 6, 24, 5, 0 }, { 16, 4, 5, 24, 5, 0 }, { 16, 3, 5, 24, 5, 0 }, { 16, 2, 5, 24, 5, 0 }, + { 16, 1, 5, 24, 5, 0 }, { 16, 0, 4, 24, 5, 0 }, { 16, -1, 4, 24, 5, 0 }, { 16, -2, 4, 24, 5, 0 }, { 16, -3, 4, 24, 5, 0 }, + { 16, -4, 3, 24, 5, 0 }, { 16, -5, 3, 24, 5, 0 }, { 16, -6, 2, 24, 5, 0 }, { 16, -7, 2, 24, 5, 0 }, { 16, -8, 2, 24, 5, 0 }, + { 16, -9, 2, 24, 5, 0 }, { 16, -10, 1, 24, 6, 0 }, { 16, -11, 1, 24, 6, 0 }, { 16, -12, 1, 24, 6, 0 }, { 16, -13, 0, 24, 6, 0 }, + { 16, -14, 0, 24, 6, 0 }, { 16, -15, -1, 24, 6, 0 }, { 16, -16, -1, 24, 6, 0 }, { 16, -17, -1, 24, 6, 0 }, { 16, -18, -2, 24, 6, 0 }, + { 16, -19, -2, 24, 6, 0 }, { 16, -20, -3, 24, 6, 0 }, { 16, -21, -4, 24, 6, 0 }, { 16, -22, -4, 24, 6, 0 }, { 16, -23, -4, 24, 6, 0 }, + { 16, -24, -4, 24, 6, 0 }, { 16, -25, -5, 24, 6, 0 }, { 16, -26, -6, 24, 6, 0 }, { 16, -27, -6, 24, 6, 0 }, { 16, -28, -6, 24, 6, 0 }, + { 16, -29, -7, 24, 6, 0 }, { 16, -30, -8, 24, 6, 0 }, { 16, -31, -8, 24, 6, 0 }, { 16, -32, -9, 24, 6, 0 }, { 16, -33, -10, 24, 6, 0 }, + { 16, -34, -10, 24, 6, 0 }, { 16, -35, -10, 24, 6, 0 }, { 16, -36, -11, 24, 6, 0 }, { 16, -37, -12, 24, 6, 0 }, { 16, -38, -12, 24, 6, 0 }, + { 16, -39, -13, 24, 6, 0 }, { 16, -40, -14, 24, 7, 0 }, { 16, -41, -14, 24, 7, 0 }, { 16, -42, -15, 24, 7, 0 }, { 16, -43, -16, 24, 7, 0 }, + { 16, -44, -17, 24, 7, 0 }, { 16, -45, -18, 24, 7, 0 }, { 16, -46, -18, 24, 7, 0 }, { 16, -47, -19, 24, 7, 0 }, { 16, -48, -20, 24, 7, 0 }, + { 16, -49, -20, 24, 7, 0 }, { 16, -50, -21, 24, 7, 0 }, { 16, -51, -22, 24, 7, 0 }, { 16, -52, -22, 24, 7, 0 }, { 16, -53, -23, 24, 7, 0 }, + { 16, -54, -24, 24, 7, 0 }, { 16, -55, -25, 24, 7, 0 }, { 16, -56, -26, 24, 7, 0 }, { 16, -57, -27, 24, 7, 0 }, { 16, -58, -28, 24, 7, 0 }, + { 16, -59, -29, 24, 7, 0 }, { 16, -60, -30, 24, 7, 0 }, { 16, -61, -31, 24, 7, 0 }, { 16, -62, -32, 24, 7, 0 }, { 16, -63, -33, 24, 7, 0 }, + { 16, -64, -34, 24, 7, 0 }, { 16, -65, -35, 24, 7, 0 }, { 16, -66, -36, 24, 7, 0 }, { 16, -67, -37, 24, 7, 0 }, { 16, -68, -38, 24, 7, 0 }, + { 16, -69, -39, 24, 7, 0 }, { 16, -70, -40, 24, 7, 0 }, { 16, -71, -41, 24, 7, 0 }, { 16, -72, -42, 24, 7, 0 }, { 16, -73, -43, 24, 7, 0 }, + { 16, -73, -44, 24, 7, 0 }, { 16, -74, -45, 24, 8, 0 }, { 16, -74, -46, 24, 8, 0 }, { 16, -75, -47, 24, 8, 0 }, { 16, -76, -48, 24, 8, 0 }, + { 16, -77, -49, 24, 8, 0 }, { 16, -78, -50, 24, 8, 0 }, { 16, -79, -51, 24, 8, 0 }, { 16, -79, -52, 24, 8, 0 }, { 16, -80, -53, 24, 8, 0 }, + { 16, -81, -54, 24, 8, 0 }, { 16, -82, -55, 24, 8, 0 }, { 16, -82, -56, 24, 8, 0 }, { 16, -83, -57, 24, 8, 0 }, { 16, -84, -58, 24, 8, 0 }, + { 16, -84, -59, 24, 8, 0 }, { 16, -85, -60, 24, 8, 0 }, { 16, -86, -61, 24, 8, 0 }, { 16, -86, -62, 24, 8, 0 }, { 16, -87, -63, 24, 8, 0 }, + { 16, -88, -64, 24, 8, 0 }, { 16, -88, -65, 24, 8, 0 }, { 16, -89, -66, 24, 8, 0 }, { 16, -89, -67, 24, 8, 0 }, { 16, -90, -68, 24, 8, 0 }, + { 16, -91, -69, 24, 8, 0 }, { 16, -91, -70, 24, 8, 0 }, { 16, -92, -71, 24, 8, 0 }, { 16, -92, -72, 24, 8, 0 }, { 16, -93, -73, 24, 8, 0 }, + { 16, -93, -74, 24, 8, 0 }, { 16, -94, -75, 24, 8, 0 }, { 16, -94, -76, 24, 8, 0 }, { 16, -95, -77, 24, 8, 0 }, { 16, -96, -78, 24, 8, 0 }, + { 16, -96, -79, 24, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_97241E = { - 165, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 1, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 2, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 3, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 4, 0, 1, 0 }, { 22, 16, 4, 0, 1, 0 }, - { 21, 16, 4, 0, 1, 0 }, { 20, 16, 5, 0, 1, 0 }, { 19, 16, 5, 0, 1, 0 }, { 18, 16, 5, 0, 1, 0 }, { 17, 16, 6, 0, 1, 0 }, - { 16, 16, 6, 0, 1, 0 }, { 15, 16, 6, 0, 1, 0 }, { 14, 16, 6, 0, 1, 0 }, { 13, 16, 7, 0, 1, 0 }, { 12, 16, 7, 0, 1, 0 }, - { 11, 16, 7, 0, 1, 0 }, { 10, 16, 7, 0, 1, 0 }, { 9, 16, 7, 0, 0, 0 }, { 8, 16, 7, 0, 0, 0 }, { 7, 16, 8, 0, 0, 0 }, - { 6, 16, 8, 0, 0, 0 }, { 5, 16, 8, 0, 0, 0 }, { 4, 16, 8, 0, 0, 0 }, { 3, 16, 8, 0, 0, 0 }, { 2, 16, 8, 0, 0, 0 }, - { 1, 16, 8, 0, 0, 0 }, { 0, 16, 8, 0, 0, 0 }, { -1, 16, 8, 0, 0, 0 }, { -2, 16, 8, 0, 0, 0 }, { -3, 16, 8, 0, 0, 0 }, - { -4, 16, 8, 0, 0, 0 }, { -5, 16, 8, 0, 0, 0 }, { -6, 16, 8, 0, 0, 0 }, { -7, 16, 8, 0, 0, 0 }, { -8, 16, 8, 0, 0, 0 }, - { -9, 16, 7, 0, 5, 0 }, { -10, 16, 7, 0, 5, 0 }, { -11, 16, 7, 0, 5, 0 }, { -12, 16, 7, 0, 5, 0 }, { -13, 16, 7, 0, 5, 0 }, - { -14, 16, 7, 0, 5, 0 }, { -15, 16, 6, 0, 5, 0 }, { -16, 16, 6, 0, 5, 0 }, { -17, 16, 6, 0, 5, 0 }, { -18, 16, 6, 0, 5, 0 }, - { -19, 16, 5, 0, 5, 0 }, { -20, 16, 5, 0, 5, 0 }, { -21, 16, 5, 0, 5, 0 }, { -22, 16, 4, 0, 5, 0 }, { -23, 16, 4, 0, 5, 0 }, - { -24, 16, 4, 0, 5, 0 }, { -25, 16, 3, 0, 6, 0 }, { -26, 16, 3, 0, 6, 0 }, { -27, 16, 2, 0, 6, 0 }, { -28, 16, 2, 0, 6, 0 }, - { -29, 16, 1, 0, 6, 0 }, { -30, 16, 1, 0, 6, 0 }, { -31, 16, 0, 0, 6, 0 }, { -32, 16, 0, 0, 6, 0 }, { -33, 16, -1, 0, 6, 0 }, - { -34, 16, -1, 0, 6, 0 }, { -35, 16, -2, 0, 6, 0 }, { -36, 16, -2, 0, 6, 0 }, { -37, 16, -3, 0, 6, 0 }, { -38, 16, -4, 0, 6, 0 }, - { -39, 16, -4, 0, 6, 0 }, { -40, 16, -5, 0, 6, 0 }, { -41, 16, -6, 0, 6, 0 }, { -42, 16, -6, 0, 6, 0 }, { -43, 16, -7, 0, 7, 0 }, - { -44, 16, -8, 0, 7, 0 }, { -45, 16, -9, 0, 7, 0 }, { -46, 16, -9, 0, 7, 0 }, { -47, 16, -10, 0, 7, 0 }, { -48, 16, -11, 0, 7, 0 }, - { -49, 16, -12, 0, 7, 0 }, { -50, 16, -13, 0, 7, 0 }, { -51, 16, -14, 0, 7, 0 }, { -52, 16, -16, 0, 7, 0 }, { -53, 16, -17, 0, 7, 0 }, - { -54, 16, -18, 0, 7, 0 }, { -55, 16, -19, 0, 7, 0 }, { -56, 16, -20, 0, 7, 0 }, { -56, 16, -21, 0, 7, 0 }, { -57, 16, -22, 0, 7, 0 }, - { -58, 16, -23, 0, 7, 0 }, { -59, 16, -24, 0, 8, 0 }, { -59, 16, -25, 0, 8, 0 }, { -60, 16, -26, 0, 8, 0 }, { -61, 16, -27, 0, 8, 0 }, - { -61, 16, -28, 0, 8, 0 }, { -62, 16, -29, 0, 8, 0 }, { -63, 16, -30, 0, 8, 0 }, { -63, 16, -31, 0, 8, 0 }, { -64, 16, -32, 0, 8, 0 }, - { -64, 16, -33, 0, 8, 0 }, { -65, 16, -33, 0, 8, 0 }, { -65, 16, -34, 0, 8, 0 }, { -66, 16, -35, 0, 8, 0 }, { -66, 16, -36, 0, 8, 0 }, - { -67, 16, -37, 0, 8, 0 }, { -67, 16, -38, 0, 8, 0 }, { -68, 16, -39, 0, 8, 0 }, { -68, 16, -40, 0, 8, 0 }, { -69, 16, -41, 0, 8, 0 }, - { -69, 16, -42, 0, 8, 0 }, { -70, 16, -43, 0, 8, 0 }, { -70, 16, -44, 0, 8, 0 }, { -71, 16, -45, 0, 8, 0 }, { -71, 16, -46, 0, 8, 0 }, - { -72, 16, -47, 0, 8, 0 }, { -72, 16, -48, 0, 8, 0 }, { -73, 16, -49, 0, 8, 0 }, { -73, 16, -50, 0, 8, 0 }, { -74, 16, -51, 0, 8, 0 }, - { -74, 16, -52, 0, 8, 0 }, { -75, 16, -53, 0, 8, 0 }, { -75, 16, -54, 0, 8, 0 }, { -76, 16, -55, 0, 8, 0 }, { -76, 16, -56, 0, 8, 0 }, - { -77, 16, -57, 0, 8, 0 }, { -77, 16, -58, 0, 8, 0 }, { -78, 16, -59, 0, 8, 0 }, { -78, 16, -60, 0, 8, 0 }, { -79, 16, -61, 0, 8, 0 }, - { -79, 16, -62, 0, 8, 0 }, { -80, 16, -63, 0, 8, 0 }, { -80, 16, -64, 0, 8, 0 }, { -81, 16, -65, 0, 8, 0 }, { -81, 16, -66, 0, 8, 0 }, - { -82, 16, -67, 0, 8, 0 }, { -82, 16, -68, 0, 8, 0 }, { -83, 16, -69, 0, 8, 0 }, { -83, 16, -70, 0, 8, 0 }, { -84, 16, -71, 0, 8, 0 }, - { -84, 16, -72, 0, 8, 0 }, { -85, 16, -73, 0, 8, 0 }, { -85, 16, -74, 0, 8, 0 }, { -86, 16, -75, 0, 8, 0 }, { -86, 16, -76, 0, 8, 0 }, - { -87, 16, -77, 0, 8, 0 }, { -87, 16, -78, 0, 8, 0 }, { -88, 16, -79, 0, 8, 0 }, { -88, 16, -80, 0, 8, 0 }, { -89, 16, -81, 0, 8, 0 }, - { -89, 16, -82, 0, 8, 0 }, { -90, 16, -83, 0, 8, 0 }, { -90, 16, -84, 0, 8, 0 }, { -91, 16, -85, 0, 8, 0 }, { -91, 16, -86, 0, 8, 0 }, - { -92, 16, -87, 0, 8, 0 }, { -92, 16, -88, 0, 8, 0 }, { -93, 16, -89, 0, 8, 0 }, { -93, 16, -90, 0, 8, 0 }, { -94, 16, -91, 0, 8, 0 }, - { -94, 16, -92, 0, 8, 0 }, { -95, 16, -93, 0, 8, 0 }, { -95, 16, -94, 0, 8, 0 }, { -96, 16, -95, 0, 8, 0 }, { -96, 16, -96, 0, 8, 0 }, + 165, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 1, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 2, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 3, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 4, 0, 1, 0 }, { 22, 16, 4, 0, 1, 0 }, + { 21, 16, 4, 0, 1, 0 }, { 20, 16, 5, 0, 1, 0 }, { 19, 16, 5, 0, 1, 0 }, { 18, 16, 5, 0, 1, 0 }, { 17, 16, 6, 0, 1, 0 }, + { 16, 16, 6, 0, 1, 0 }, { 15, 16, 6, 0, 1, 0 }, { 14, 16, 6, 0, 1, 0 }, { 13, 16, 7, 0, 1, 0 }, { 12, 16, 7, 0, 1, 0 }, + { 11, 16, 7, 0, 1, 0 }, { 10, 16, 7, 0, 1, 0 }, { 9, 16, 7, 0, 0, 0 }, { 8, 16, 7, 0, 0, 0 }, { 7, 16, 8, 0, 0, 0 }, + { 6, 16, 8, 0, 0, 0 }, { 5, 16, 8, 0, 0, 0 }, { 4, 16, 8, 0, 0, 0 }, { 3, 16, 8, 0, 0, 0 }, { 2, 16, 8, 0, 0, 0 }, + { 1, 16, 8, 0, 0, 0 }, { 0, 16, 8, 0, 0, 0 }, { -1, 16, 8, 0, 0, 0 }, { -2, 16, 8, 0, 0, 0 }, { -3, 16, 8, 0, 0, 0 }, + { -4, 16, 8, 0, 0, 0 }, { -5, 16, 8, 0, 0, 0 }, { -6, 16, 8, 0, 0, 0 }, { -7, 16, 8, 0, 0, 0 }, { -8, 16, 8, 0, 0, 0 }, + { -9, 16, 7, 0, 5, 0 }, { -10, 16, 7, 0, 5, 0 }, { -11, 16, 7, 0, 5, 0 }, { -12, 16, 7, 0, 5, 0 }, { -13, 16, 7, 0, 5, 0 }, + { -14, 16, 7, 0, 5, 0 }, { -15, 16, 6, 0, 5, 0 }, { -16, 16, 6, 0, 5, 0 }, { -17, 16, 6, 0, 5, 0 }, { -18, 16, 6, 0, 5, 0 }, + { -19, 16, 5, 0, 5, 0 }, { -20, 16, 5, 0, 5, 0 }, { -21, 16, 5, 0, 5, 0 }, { -22, 16, 4, 0, 5, 0 }, { -23, 16, 4, 0, 5, 0 }, + { -24, 16, 4, 0, 5, 0 }, { -25, 16, 3, 0, 6, 0 }, { -26, 16, 3, 0, 6, 0 }, { -27, 16, 2, 0, 6, 0 }, { -28, 16, 2, 0, 6, 0 }, + { -29, 16, 1, 0, 6, 0 }, { -30, 16, 1, 0, 6, 0 }, { -31, 16, 0, 0, 6, 0 }, { -32, 16, 0, 0, 6, 0 }, { -33, 16, -1, 0, 6, 0 }, + { -34, 16, -1, 0, 6, 0 }, { -35, 16, -2, 0, 6, 0 }, { -36, 16, -2, 0, 6, 0 }, { -37, 16, -3, 0, 6, 0 }, { -38, 16, -4, 0, 6, 0 }, + { -39, 16, -4, 0, 6, 0 }, { -40, 16, -5, 0, 6, 0 }, { -41, 16, -6, 0, 6, 0 }, { -42, 16, -6, 0, 6, 0 }, { -43, 16, -7, 0, 7, 0 }, + { -44, 16, -8, 0, 7, 0 }, { -45, 16, -9, 0, 7, 0 }, { -46, 16, -9, 0, 7, 0 }, { -47, 16, -10, 0, 7, 0 }, { -48, 16, -11, 0, 7, 0 }, + { -49, 16, -12, 0, 7, 0 }, { -50, 16, -13, 0, 7, 0 }, { -51, 16, -14, 0, 7, 0 }, { -52, 16, -16, 0, 7, 0 }, { -53, 16, -17, 0, 7, 0 }, + { -54, 16, -18, 0, 7, 0 }, { -55, 16, -19, 0, 7, 0 }, { -56, 16, -20, 0, 7, 0 }, { -56, 16, -21, 0, 7, 0 }, { -57, 16, -22, 0, 7, 0 }, + { -58, 16, -23, 0, 7, 0 }, { -59, 16, -24, 0, 8, 0 }, { -59, 16, -25, 0, 8, 0 }, { -60, 16, -26, 0, 8, 0 }, { -61, 16, -27, 0, 8, 0 }, + { -61, 16, -28, 0, 8, 0 }, { -62, 16, -29, 0, 8, 0 }, { -63, 16, -30, 0, 8, 0 }, { -63, 16, -31, 0, 8, 0 }, { -64, 16, -32, 0, 8, 0 }, + { -64, 16, -33, 0, 8, 0 }, { -65, 16, -33, 0, 8, 0 }, { -65, 16, -34, 0, 8, 0 }, { -66, 16, -35, 0, 8, 0 }, { -66, 16, -36, 0, 8, 0 }, + { -67, 16, -37, 0, 8, 0 }, { -67, 16, -38, 0, 8, 0 }, { -68, 16, -39, 0, 8, 0 }, { -68, 16, -40, 0, 8, 0 }, { -69, 16, -41, 0, 8, 0 }, + { -69, 16, -42, 0, 8, 0 }, { -70, 16, -43, 0, 8, 0 }, { -70, 16, -44, 0, 8, 0 }, { -71, 16, -45, 0, 8, 0 }, { -71, 16, -46, 0, 8, 0 }, + { -72, 16, -47, 0, 8, 0 }, { -72, 16, -48, 0, 8, 0 }, { -73, 16, -49, 0, 8, 0 }, { -73, 16, -50, 0, 8, 0 }, { -74, 16, -51, 0, 8, 0 }, + { -74, 16, -52, 0, 8, 0 }, { -75, 16, -53, 0, 8, 0 }, { -75, 16, -54, 0, 8, 0 }, { -76, 16, -55, 0, 8, 0 }, { -76, 16, -56, 0, 8, 0 }, + { -77, 16, -57, 0, 8, 0 }, { -77, 16, -58, 0, 8, 0 }, { -78, 16, -59, 0, 8, 0 }, { -78, 16, -60, 0, 8, 0 }, { -79, 16, -61, 0, 8, 0 }, + { -79, 16, -62, 0, 8, 0 }, { -80, 16, -63, 0, 8, 0 }, { -80, 16, -64, 0, 8, 0 }, { -81, 16, -65, 0, 8, 0 }, { -81, 16, -66, 0, 8, 0 }, + { -82, 16, -67, 0, 8, 0 }, { -82, 16, -68, 0, 8, 0 }, { -83, 16, -69, 0, 8, 0 }, { -83, 16, -70, 0, 8, 0 }, { -84, 16, -71, 0, 8, 0 }, + { -84, 16, -72, 0, 8, 0 }, { -85, 16, -73, 0, 8, 0 }, { -85, 16, -74, 0, 8, 0 }, { -86, 16, -75, 0, 8, 0 }, { -86, 16, -76, 0, 8, 0 }, + { -87, 16, -77, 0, 8, 0 }, { -87, 16, -78, 0, 8, 0 }, { -88, 16, -79, 0, 8, 0 }, { -88, 16, -80, 0, 8, 0 }, { -89, 16, -81, 0, 8, 0 }, + { -89, 16, -82, 0, 8, 0 }, { -90, 16, -83, 0, 8, 0 }, { -90, 16, -84, 0, 8, 0 }, { -91, 16, -85, 0, 8, 0 }, { -91, 16, -86, 0, 8, 0 }, + { -92, 16, -87, 0, 8, 0 }, { -92, 16, -88, 0, 8, 0 }, { -93, 16, -89, 0, 8, 0 }, { -93, 16, -90, 0, 8, 0 }, { -94, 16, -91, 0, 8, 0 }, + { -94, 16, -92, 0, 8, 0 }, { -95, 16, -93, 0, 8, 0 }, { -95, 16, -94, 0, 8, 0 }, { -96, 16, -95, 0, 8, 0 }, { -96, 16, -96, 0, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9729ED = { - 165, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 1, 0 }, { 16, 9, 4, 8, 1, 0 }, - { 16, 10, 4, 8, 1, 0 }, { 16, 11, 5, 8, 1, 0 }, { 16, 12, 5, 8, 1, 0 }, { 16, 13, 5, 8, 1, 0 }, { 16, 14, 6, 8, 1, 0 }, - { 16, 15, 6, 8, 1, 0 }, { 16, 16, 6, 8, 1, 0 }, { 16, 17, 6, 8, 1, 0 }, { 16, 18, 7, 8, 1, 0 }, { 16, 19, 7, 8, 1, 0 }, - { 16, 20, 7, 8, 1, 0 }, { 16, 21, 7, 8, 1, 0 }, { 16, 22, 7, 8, 0, 0 }, { 16, 23, 7, 8, 0, 0 }, { 16, 24, 8, 8, 0, 0 }, - { 16, 25, 8, 8, 0, 0 }, { 16, 26, 8, 8, 0, 0 }, { 16, 27, 8, 8, 0, 0 }, { 16, 28, 8, 8, 0, 0 }, { 16, 29, 8, 8, 0, 0 }, - { 16, 30, 8, 8, 0, 0 }, { 16, 31, 8, 8, 0, 0 }, { 16, 32, 8, 8, 0, 0 }, { 16, 33, 8, 8, 0, 0 }, { 16, 34, 8, 8, 0, 0 }, - { 16, 35, 8, 8, 0, 0 }, { 16, 36, 8, 8, 0, 0 }, { 16, 37, 8, 8, 0, 0 }, { 16, 38, 8, 8, 0, 0 }, { 16, 39, 8, 8, 0, 0 }, - { 16, 40, 7, 8, 5, 0 }, { 16, 41, 7, 8, 5, 0 }, { 16, 42, 7, 8, 5, 0 }, { 16, 43, 7, 8, 5, 0 }, { 16, 44, 7, 8, 5, 0 }, - { 16, 45, 7, 8, 5, 0 }, { 16, 46, 6, 8, 5, 0 }, { 16, 47, 6, 8, 5, 0 }, { 16, 48, 6, 8, 5, 0 }, { 16, 49, 6, 8, 5, 0 }, - { 16, 50, 5, 8, 5, 0 }, { 16, 51, 5, 8, 5, 0 }, { 16, 52, 5, 8, 5, 0 }, { 16, 53, 4, 8, 5, 0 }, { 16, 54, 4, 8, 5, 0 }, - { 16, 55, 4, 8, 5, 0 }, { 16, 56, 3, 8, 6, 0 }, { 16, 57, 3, 8, 6, 0 }, { 16, 58, 3, 8, 6, 0 }, { 16, 59, 2, 8, 6, 0 }, - { 16, 60, 2, 8, 6, 0 }, { 16, 61, 1, 8, 6, 0 }, { 16, 62, 1, 8, 6, 0 }, { 16, 63, 0, 8, 6, 0 }, { 16, 64, -1, 8, 6, 0 }, - { 16, 65, -1, 8, 6, 0 }, { 16, 66, -2, 8, 6, 0 }, { 16, 67, -2, 8, 6, 0 }, { 16, 68, -3, 8, 6, 0 }, { 16, 69, -4, 8, 6, 0 }, - { 16, 70, -4, 8, 6, 0 }, { 16, 71, -5, 8, 6, 0 }, { 16, 72, -6, 8, 6, 0 }, { 16, 73, -6, 8, 6, 0 }, { 16, 74, -7, 8, 7, 0 }, - { 16, 75, -8, 8, 7, 0 }, { 16, 76, -9, 8, 7, 0 }, { 16, 77, -9, 8, 7, 0 }, { 16, 78, -10, 8, 7, 0 }, { 16, 79, -11, 8, 7, 0 }, - { 16, 80, -12, 8, 7, 0 }, { 16, 81, -13, 8, 7, 0 }, { 16, 82, -14, 8, 7, 0 }, { 16, 83, -16, 8, 7, 0 }, { 16, 84, -17, 8, 7, 0 }, - { 16, 85, -18, 8, 7, 0 }, { 16, 86, -19, 8, 7, 0 }, { 16, 87, -20, 8, 7, 0 }, { 16, 87, -21, 8, 7, 0 }, { 16, 88, -22, 8, 7, 0 }, - { 16, 89, -23, 8, 7, 0 }, { 16, 90, -24, 8, 8, 0 }, { 16, 90, -25, 8, 8, 0 }, { 16, 91, -26, 8, 8, 0 }, { 16, 92, -27, 8, 8, 0 }, - { 16, 92, -28, 8, 8, 0 }, { 16, 93, -29, 8, 8, 0 }, { 16, 94, -30, 8, 8, 0 }, { 16, 94, -31, 8, 8, 0 }, { 16, 95, -32, 8, 8, 0 }, - { 16, 95, -33, 8, 8, 0 }, { 16, 96, -33, 8, 8, 0 }, { 16, 96, -34, 8, 8, 0 }, { 16, 97, -35, 8, 8, 0 }, { 16, 97, -36, 8, 8, 0 }, - { 16, 98, -37, 8, 8, 0 }, { 16, 98, -38, 8, 8, 0 }, { 16, 99, -39, 8, 8, 0 }, { 16, 99, -40, 8, 8, 0 }, { 16, 100, -41, 8, 8, 0 }, - { 16, 100, -42, 8, 8, 0 }, { 16, 101, -43, 8, 8, 0 }, { 16, 101, -44, 8, 8, 0 }, { 16, 102, -45, 8, 8, 0 }, { 16, 102, -46, 8, 8, 0 }, - { 16, 103, -47, 8, 8, 0 }, { 16, 103, -48, 8, 8, 0 }, { 16, 104, -49, 8, 8, 0 }, { 16, 104, -50, 8, 8, 0 }, { 16, 105, -51, 8, 8, 0 }, - { 16, 105, -52, 8, 8, 0 }, { 16, 106, -53, 8, 8, 0 }, { 16, 106, -54, 8, 8, 0 }, { 16, 107, -55, 8, 8, 0 }, { 16, 107, -56, 8, 8, 0 }, - { 16, 108, -57, 8, 8, 0 }, { 16, 108, -58, 8, 8, 0 }, { 16, 109, -59, 8, 8, 0 }, { 16, 109, -60, 8, 8, 0 }, { 16, 110, -61, 8, 8, 0 }, - { 16, 110, -62, 8, 8, 0 }, { 16, 111, -63, 8, 8, 0 }, { 16, 111, -64, 8, 8, 0 }, { 16, 112, -65, 8, 8, 0 }, { 16, 112, -66, 8, 8, 0 }, - { 16, 113, -67, 8, 8, 0 }, { 16, 113, -68, 8, 8, 0 }, { 16, 114, -69, 8, 8, 0 }, { 16, 114, -70, 8, 8, 0 }, { 16, 115, -71, 8, 8, 0 }, - { 16, 115, -72, 8, 8, 0 }, { 16, 116, -73, 8, 8, 0 }, { 16, 116, -74, 8, 8, 0 }, { 16, 117, -75, 8, 8, 0 }, { 16, 117, -76, 8, 8, 0 }, - { 16, 118, -77, 8, 8, 0 }, { 16, 118, -78, 8, 8, 0 }, { 16, 119, -79, 8, 8, 0 }, { 16, 119, -80, 8, 8, 0 }, { 16, 120, -81, 8, 8, 0 }, - { 16, 120, -82, 8, 8, 0 }, { 16, 121, -83, 8, 8, 0 }, { 16, 121, -84, 8, 8, 0 }, { 16, 122, -85, 8, 8, 0 }, { 16, 122, -86, 8, 8, 0 }, - { 16, 123, -87, 8, 8, 0 }, { 16, 123, -88, 8, 8, 0 }, { 16, 124, -89, 8, 8, 0 }, { 16, 124, -90, 8, 8, 0 }, { 16, 125, -91, 8, 8, 0 }, - { 16, 125, -92, 8, 8, 0 }, { 16, 126, -93, 8, 8, 0 }, { 16, 126, -94, 8, 8, 0 }, { 16, 127, -95, 8, 8, 0 }, { 16, 127, -96, 8, 8, 0 }, + 165, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 1, 0 }, { 16, 9, 4, 8, 1, 0 }, + { 16, 10, 4, 8, 1, 0 }, { 16, 11, 5, 8, 1, 0 }, { 16, 12, 5, 8, 1, 0 }, { 16, 13, 5, 8, 1, 0 }, { 16, 14, 6, 8, 1, 0 }, + { 16, 15, 6, 8, 1, 0 }, { 16, 16, 6, 8, 1, 0 }, { 16, 17, 6, 8, 1, 0 }, { 16, 18, 7, 8, 1, 0 }, { 16, 19, 7, 8, 1, 0 }, + { 16, 20, 7, 8, 1, 0 }, { 16, 21, 7, 8, 1, 0 }, { 16, 22, 7, 8, 0, 0 }, { 16, 23, 7, 8, 0, 0 }, { 16, 24, 8, 8, 0, 0 }, + { 16, 25, 8, 8, 0, 0 }, { 16, 26, 8, 8, 0, 0 }, { 16, 27, 8, 8, 0, 0 }, { 16, 28, 8, 8, 0, 0 }, { 16, 29, 8, 8, 0, 0 }, + { 16, 30, 8, 8, 0, 0 }, { 16, 31, 8, 8, 0, 0 }, { 16, 32, 8, 8, 0, 0 }, { 16, 33, 8, 8, 0, 0 }, { 16, 34, 8, 8, 0, 0 }, + { 16, 35, 8, 8, 0, 0 }, { 16, 36, 8, 8, 0, 0 }, { 16, 37, 8, 8, 0, 0 }, { 16, 38, 8, 8, 0, 0 }, { 16, 39, 8, 8, 0, 0 }, + { 16, 40, 7, 8, 5, 0 }, { 16, 41, 7, 8, 5, 0 }, { 16, 42, 7, 8, 5, 0 }, { 16, 43, 7, 8, 5, 0 }, { 16, 44, 7, 8, 5, 0 }, + { 16, 45, 7, 8, 5, 0 }, { 16, 46, 6, 8, 5, 0 }, { 16, 47, 6, 8, 5, 0 }, { 16, 48, 6, 8, 5, 0 }, { 16, 49, 6, 8, 5, 0 }, + { 16, 50, 5, 8, 5, 0 }, { 16, 51, 5, 8, 5, 0 }, { 16, 52, 5, 8, 5, 0 }, { 16, 53, 4, 8, 5, 0 }, { 16, 54, 4, 8, 5, 0 }, + { 16, 55, 4, 8, 5, 0 }, { 16, 56, 3, 8, 6, 0 }, { 16, 57, 3, 8, 6, 0 }, { 16, 58, 3, 8, 6, 0 }, { 16, 59, 2, 8, 6, 0 }, + { 16, 60, 2, 8, 6, 0 }, { 16, 61, 1, 8, 6, 0 }, { 16, 62, 1, 8, 6, 0 }, { 16, 63, 0, 8, 6, 0 }, { 16, 64, -1, 8, 6, 0 }, + { 16, 65, -1, 8, 6, 0 }, { 16, 66, -2, 8, 6, 0 }, { 16, 67, -2, 8, 6, 0 }, { 16, 68, -3, 8, 6, 0 }, { 16, 69, -4, 8, 6, 0 }, + { 16, 70, -4, 8, 6, 0 }, { 16, 71, -5, 8, 6, 0 }, { 16, 72, -6, 8, 6, 0 }, { 16, 73, -6, 8, 6, 0 }, { 16, 74, -7, 8, 7, 0 }, + { 16, 75, -8, 8, 7, 0 }, { 16, 76, -9, 8, 7, 0 }, { 16, 77, -9, 8, 7, 0 }, { 16, 78, -10, 8, 7, 0 }, { 16, 79, -11, 8, 7, 0 }, + { 16, 80, -12, 8, 7, 0 }, { 16, 81, -13, 8, 7, 0 }, { 16, 82, -14, 8, 7, 0 }, { 16, 83, -16, 8, 7, 0 }, { 16, 84, -17, 8, 7, 0 }, + { 16, 85, -18, 8, 7, 0 }, { 16, 86, -19, 8, 7, 0 }, { 16, 87, -20, 8, 7, 0 }, { 16, 87, -21, 8, 7, 0 }, { 16, 88, -22, 8, 7, 0 }, + { 16, 89, -23, 8, 7, 0 }, { 16, 90, -24, 8, 8, 0 }, { 16, 90, -25, 8, 8, 0 }, { 16, 91, -26, 8, 8, 0 }, { 16, 92, -27, 8, 8, 0 }, + { 16, 92, -28, 8, 8, 0 }, { 16, 93, -29, 8, 8, 0 }, { 16, 94, -30, 8, 8, 0 }, { 16, 94, -31, 8, 8, 0 }, { 16, 95, -32, 8, 8, 0 }, + { 16, 95, -33, 8, 8, 0 }, { 16, 96, -33, 8, 8, 0 }, { 16, 96, -34, 8, 8, 0 }, { 16, 97, -35, 8, 8, 0 }, { 16, 97, -36, 8, 8, 0 }, + { 16, 98, -37, 8, 8, 0 }, { 16, 98, -38, 8, 8, 0 }, { 16, 99, -39, 8, 8, 0 }, { 16, 99, -40, 8, 8, 0 }, { 16, 100, -41, 8, 8, 0 }, + { 16, 100, -42, 8, 8, 0 }, { 16, 101, -43, 8, 8, 0 }, { 16, 101, -44, 8, 8, 0 }, { 16, 102, -45, 8, 8, 0 }, { 16, 102, -46, 8, 8, 0 }, + { 16, 103, -47, 8, 8, 0 }, { 16, 103, -48, 8, 8, 0 }, { 16, 104, -49, 8, 8, 0 }, { 16, 104, -50, 8, 8, 0 }, { 16, 105, -51, 8, 8, 0 }, + { 16, 105, -52, 8, 8, 0 }, { 16, 106, -53, 8, 8, 0 }, { 16, 106, -54, 8, 8, 0 }, { 16, 107, -55, 8, 8, 0 }, { 16, 107, -56, 8, 8, 0 }, + { 16, 108, -57, 8, 8, 0 }, { 16, 108, -58, 8, 8, 0 }, { 16, 109, -59, 8, 8, 0 }, { 16, 109, -60, 8, 8, 0 }, { 16, 110, -61, 8, 8, 0 }, + { 16, 110, -62, 8, 8, 0 }, { 16, 111, -63, 8, 8, 0 }, { 16, 111, -64, 8, 8, 0 }, { 16, 112, -65, 8, 8, 0 }, { 16, 112, -66, 8, 8, 0 }, + { 16, 113, -67, 8, 8, 0 }, { 16, 113, -68, 8, 8, 0 }, { 16, 114, -69, 8, 8, 0 }, { 16, 114, -70, 8, 8, 0 }, { 16, 115, -71, 8, 8, 0 }, + { 16, 115, -72, 8, 8, 0 }, { 16, 116, -73, 8, 8, 0 }, { 16, 116, -74, 8, 8, 0 }, { 16, 117, -75, 8, 8, 0 }, { 16, 117, -76, 8, 8, 0 }, + { 16, 118, -77, 8, 8, 0 }, { 16, 118, -78, 8, 8, 0 }, { 16, 119, -79, 8, 8, 0 }, { 16, 119, -80, 8, 8, 0 }, { 16, 120, -81, 8, 8, 0 }, + { 16, 120, -82, 8, 8, 0 }, { 16, 121, -83, 8, 8, 0 }, { 16, 121, -84, 8, 8, 0 }, { 16, 122, -85, 8, 8, 0 }, { 16, 122, -86, 8, 8, 0 }, + { 16, 123, -87, 8, 8, 0 }, { 16, 123, -88, 8, 8, 0 }, { 16, 124, -89, 8, 8, 0 }, { 16, 124, -90, 8, 8, 0 }, { 16, 125, -91, 8, 8, 0 }, + { 16, 125, -92, 8, 8, 0 }, { 16, 126, -93, 8, 8, 0 }, { 16, 126, -94, 8, 8, 0 }, { 16, 127, -95, 8, 8, 0 }, { 16, 127, -96, 8, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_972FBC = { - 165, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 1, 0 }, { 9, 16, 4, 16, 1, 0 }, - { 10, 16, 4, 16, 1, 0 }, { 11, 16, 5, 16, 1, 0 }, { 12, 16, 5, 16, 1, 0 }, { 13, 16, 5, 16, 1, 0 }, { 14, 16, 6, 16, 1, 0 }, - { 15, 16, 6, 16, 1, 0 }, { 16, 16, 6, 16, 1, 0 }, { 17, 16, 6, 16, 1, 0 }, { 18, 16, 7, 16, 1, 0 }, { 19, 16, 7, 16, 1, 0 }, - { 20, 16, 7, 16, 1, 0 }, { 21, 16, 7, 16, 1, 0 }, { 22, 16, 7, 16, 0, 0 }, { 23, 16, 7, 16, 0, 0 }, { 24, 16, 8, 16, 0, 0 }, - { 25, 16, 8, 16, 0, 0 }, { 26, 16, 8, 16, 0, 0 }, { 27, 16, 8, 16, 0, 0 }, { 28, 16, 8, 16, 0, 0 }, { 29, 16, 8, 16, 0, 0 }, - { 30, 16, 8, 16, 0, 0 }, { 31, 16, 8, 16, 0, 0 }, { 32, 16, 8, 16, 0, 0 }, { 33, 16, 8, 16, 0, 0 }, { 34, 16, 8, 16, 0, 0 }, - { 35, 16, 8, 16, 0, 0 }, { 36, 16, 8, 16, 0, 0 }, { 37, 16, 8, 16, 0, 0 }, { 38, 16, 8, 16, 0, 0 }, { 39, 16, 8, 16, 0, 0 }, - { 40, 16, 7, 16, 5, 0 }, { 41, 16, 7, 16, 5, 0 }, { 42, 16, 7, 16, 5, 0 }, { 43, 16, 7, 16, 5, 0 }, { 44, 16, 7, 16, 5, 0 }, - { 45, 16, 7, 16, 5, 0 }, { 46, 16, 6, 16, 5, 0 }, { 47, 16, 6, 16, 5, 0 }, { 48, 16, 6, 16, 5, 0 }, { 49, 16, 6, 16, 5, 0 }, - { 50, 16, 5, 16, 5, 0 }, { 51, 16, 5, 16, 5, 0 }, { 52, 16, 5, 16, 5, 0 }, { 53, 16, 4, 16, 5, 0 }, { 54, 16, 4, 16, 5, 0 }, - { 55, 16, 4, 16, 5, 0 }, { 56, 16, 3, 16, 6, 0 }, { 57, 16, 3, 16, 6, 0 }, { 58, 16, 3, 16, 6, 0 }, { 59, 16, 2, 16, 6, 0 }, - { 60, 16, 2, 16, 6, 0 }, { 61, 16, 1, 16, 6, 0 }, { 62, 16, 1, 16, 6, 0 }, { 63, 16, 0, 16, 6, 0 }, { 64, 16, -1, 16, 6, 0 }, - { 65, 16, -1, 16, 6, 0 }, { 66, 16, -2, 16, 6, 0 }, { 67, 16, -2, 16, 6, 0 }, { 68, 16, -3, 16, 6, 0 }, { 69, 16, -4, 16, 6, 0 }, - { 70, 16, -4, 16, 6, 0 }, { 71, 16, -5, 16, 6, 0 }, { 72, 16, -6, 16, 6, 0 }, { 73, 16, -6, 16, 6, 0 }, { 74, 16, -7, 16, 7, 0 }, - { 75, 16, -8, 16, 7, 0 }, { 76, 16, -9, 16, 7, 0 }, { 77, 16, -9, 16, 7, 0 }, { 78, 16, -10, 16, 7, 0 }, { 79, 16, -11, 16, 7, 0 }, - { 80, 16, -12, 16, 7, 0 }, { 81, 16, -13, 16, 7, 0 }, { 82, 16, -14, 16, 7, 0 }, { 83, 16, -16, 16, 7, 0 }, { 84, 16, -17, 16, 7, 0 }, - { 85, 16, -18, 16, 7, 0 }, { 86, 16, -19, 16, 7, 0 }, { 87, 16, -20, 16, 7, 0 }, { 87, 16, -21, 16, 7, 0 }, { 88, 16, -22, 16, 7, 0 }, - { 89, 16, -23, 16, 7, 0 }, { 90, 16, -24, 16, 8, 0 }, { 90, 16, -25, 16, 8, 0 }, { 91, 16, -26, 16, 8, 0 }, { 92, 16, -27, 16, 8, 0 }, - { 92, 16, -28, 16, 8, 0 }, { 93, 16, -29, 16, 8, 0 }, { 94, 16, -30, 16, 8, 0 }, { 94, 16, -31, 16, 8, 0 }, { 95, 16, -32, 16, 8, 0 }, - { 95, 16, -33, 16, 8, 0 }, { 96, 16, -33, 16, 8, 0 }, { 96, 16, -34, 16, 8, 0 }, { 97, 16, -35, 16, 8, 0 }, { 97, 16, -36, 16, 8, 0 }, - { 98, 16, -37, 16, 8, 0 }, { 98, 16, -38, 16, 8, 0 }, { 99, 16, -39, 16, 8, 0 }, { 99, 16, -40, 16, 8, 0 }, { 100, 16, -41, 16, 8, 0 }, - { 100, 16, -42, 16, 8, 0 }, { 101, 16, -43, 16, 8, 0 }, { 101, 16, -44, 16, 8, 0 }, { 102, 16, -45, 16, 8, 0 }, { 102, 16, -46, 16, 8, 0 }, - { 103, 16, -47, 16, 8, 0 }, { 103, 16, -48, 16, 8, 0 }, { 104, 16, -49, 16, 8, 0 }, { 104, 16, -50, 16, 8, 0 }, { 105, 16, -51, 16, 8, 0 }, - { 105, 16, -52, 16, 8, 0 }, { 106, 16, -53, 16, 8, 0 }, { 106, 16, -54, 16, 8, 0 }, { 107, 16, -55, 16, 8, 0 }, { 107, 16, -56, 16, 8, 0 }, - { 108, 16, -57, 16, 8, 0 }, { 108, 16, -58, 16, 8, 0 }, { 109, 16, -59, 16, 8, 0 }, { 109, 16, -60, 16, 8, 0 }, { 110, 16, -61, 16, 8, 0 }, - { 110, 16, -62, 16, 8, 0 }, { 111, 16, -63, 16, 8, 0 }, { 111, 16, -64, 16, 8, 0 }, { 112, 16, -65, 16, 8, 0 }, { 112, 16, -66, 16, 8, 0 }, - { 113, 16, -67, 16, 8, 0 }, { 113, 16, -68, 16, 8, 0 }, { 114, 16, -69, 16, 8, 0 }, { 114, 16, -70, 16, 8, 0 }, { 115, 16, -71, 16, 8, 0 }, - { 115, 16, -72, 16, 8, 0 }, { 116, 16, -73, 16, 8, 0 }, { 116, 16, -74, 16, 8, 0 }, { 117, 16, -75, 16, 8, 0 }, { 117, 16, -76, 16, 8, 0 }, - { 118, 16, -77, 16, 8, 0 }, { 118, 16, -78, 16, 8, 0 }, { 119, 16, -79, 16, 8, 0 }, { 119, 16, -80, 16, 8, 0 }, { 120, 16, -81, 16, 8, 0 }, - { 120, 16, -82, 16, 8, 0 }, { 121, 16, -83, 16, 8, 0 }, { 121, 16, -84, 16, 8, 0 }, { 122, 16, -85, 16, 8, 0 }, { 122, 16, -86, 16, 8, 0 }, - { 123, 16, -87, 16, 8, 0 }, { 123, 16, -88, 16, 8, 0 }, { 124, 16, -89, 16, 8, 0 }, { 124, 16, -90, 16, 8, 0 }, { 125, 16, -91, 16, 8, 0 }, - { 125, 16, -92, 16, 8, 0 }, { 126, 16, -93, 16, 8, 0 }, { 126, 16, -94, 16, 8, 0 }, { 127, 16, -95, 16, 8, 0 }, { 127, 16, -96, 16, 8, 0 }, + 165, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 1, 0 }, { 9, 16, 4, 16, 1, 0 }, + { 10, 16, 4, 16, 1, 0 }, { 11, 16, 5, 16, 1, 0 }, { 12, 16, 5, 16, 1, 0 }, { 13, 16, 5, 16, 1, 0 }, { 14, 16, 6, 16, 1, 0 }, + { 15, 16, 6, 16, 1, 0 }, { 16, 16, 6, 16, 1, 0 }, { 17, 16, 6, 16, 1, 0 }, { 18, 16, 7, 16, 1, 0 }, { 19, 16, 7, 16, 1, 0 }, + { 20, 16, 7, 16, 1, 0 }, { 21, 16, 7, 16, 1, 0 }, { 22, 16, 7, 16, 0, 0 }, { 23, 16, 7, 16, 0, 0 }, { 24, 16, 8, 16, 0, 0 }, + { 25, 16, 8, 16, 0, 0 }, { 26, 16, 8, 16, 0, 0 }, { 27, 16, 8, 16, 0, 0 }, { 28, 16, 8, 16, 0, 0 }, { 29, 16, 8, 16, 0, 0 }, + { 30, 16, 8, 16, 0, 0 }, { 31, 16, 8, 16, 0, 0 }, { 32, 16, 8, 16, 0, 0 }, { 33, 16, 8, 16, 0, 0 }, { 34, 16, 8, 16, 0, 0 }, + { 35, 16, 8, 16, 0, 0 }, { 36, 16, 8, 16, 0, 0 }, { 37, 16, 8, 16, 0, 0 }, { 38, 16, 8, 16, 0, 0 }, { 39, 16, 8, 16, 0, 0 }, + { 40, 16, 7, 16, 5, 0 }, { 41, 16, 7, 16, 5, 0 }, { 42, 16, 7, 16, 5, 0 }, { 43, 16, 7, 16, 5, 0 }, { 44, 16, 7, 16, 5, 0 }, + { 45, 16, 7, 16, 5, 0 }, { 46, 16, 6, 16, 5, 0 }, { 47, 16, 6, 16, 5, 0 }, { 48, 16, 6, 16, 5, 0 }, { 49, 16, 6, 16, 5, 0 }, + { 50, 16, 5, 16, 5, 0 }, { 51, 16, 5, 16, 5, 0 }, { 52, 16, 5, 16, 5, 0 }, { 53, 16, 4, 16, 5, 0 }, { 54, 16, 4, 16, 5, 0 }, + { 55, 16, 4, 16, 5, 0 }, { 56, 16, 3, 16, 6, 0 }, { 57, 16, 3, 16, 6, 0 }, { 58, 16, 3, 16, 6, 0 }, { 59, 16, 2, 16, 6, 0 }, + { 60, 16, 2, 16, 6, 0 }, { 61, 16, 1, 16, 6, 0 }, { 62, 16, 1, 16, 6, 0 }, { 63, 16, 0, 16, 6, 0 }, { 64, 16, -1, 16, 6, 0 }, + { 65, 16, -1, 16, 6, 0 }, { 66, 16, -2, 16, 6, 0 }, { 67, 16, -2, 16, 6, 0 }, { 68, 16, -3, 16, 6, 0 }, { 69, 16, -4, 16, 6, 0 }, + { 70, 16, -4, 16, 6, 0 }, { 71, 16, -5, 16, 6, 0 }, { 72, 16, -6, 16, 6, 0 }, { 73, 16, -6, 16, 6, 0 }, { 74, 16, -7, 16, 7, 0 }, + { 75, 16, -8, 16, 7, 0 }, { 76, 16, -9, 16, 7, 0 }, { 77, 16, -9, 16, 7, 0 }, { 78, 16, -10, 16, 7, 0 }, { 79, 16, -11, 16, 7, 0 }, + { 80, 16, -12, 16, 7, 0 }, { 81, 16, -13, 16, 7, 0 }, { 82, 16, -14, 16, 7, 0 }, { 83, 16, -16, 16, 7, 0 }, { 84, 16, -17, 16, 7, 0 }, + { 85, 16, -18, 16, 7, 0 }, { 86, 16, -19, 16, 7, 0 }, { 87, 16, -20, 16, 7, 0 }, { 87, 16, -21, 16, 7, 0 }, { 88, 16, -22, 16, 7, 0 }, + { 89, 16, -23, 16, 7, 0 }, { 90, 16, -24, 16, 8, 0 }, { 90, 16, -25, 16, 8, 0 }, { 91, 16, -26, 16, 8, 0 }, { 92, 16, -27, 16, 8, 0 }, + { 92, 16, -28, 16, 8, 0 }, { 93, 16, -29, 16, 8, 0 }, { 94, 16, -30, 16, 8, 0 }, { 94, 16, -31, 16, 8, 0 }, { 95, 16, -32, 16, 8, 0 }, + { 95, 16, -33, 16, 8, 0 }, { 96, 16, -33, 16, 8, 0 }, { 96, 16, -34, 16, 8, 0 }, { 97, 16, -35, 16, 8, 0 }, { 97, 16, -36, 16, 8, 0 }, + { 98, 16, -37, 16, 8, 0 }, { 98, 16, -38, 16, 8, 0 }, { 99, 16, -39, 16, 8, 0 }, { 99, 16, -40, 16, 8, 0 }, { 100, 16, -41, 16, 8, 0 }, + { 100, 16, -42, 16, 8, 0 }, { 101, 16, -43, 16, 8, 0 }, { 101, 16, -44, 16, 8, 0 }, { 102, 16, -45, 16, 8, 0 }, { 102, 16, -46, 16, 8, 0 }, + { 103, 16, -47, 16, 8, 0 }, { 103, 16, -48, 16, 8, 0 }, { 104, 16, -49, 16, 8, 0 }, { 104, 16, -50, 16, 8, 0 }, { 105, 16, -51, 16, 8, 0 }, + { 105, 16, -52, 16, 8, 0 }, { 106, 16, -53, 16, 8, 0 }, { 106, 16, -54, 16, 8, 0 }, { 107, 16, -55, 16, 8, 0 }, { 107, 16, -56, 16, 8, 0 }, + { 108, 16, -57, 16, 8, 0 }, { 108, 16, -58, 16, 8, 0 }, { 109, 16, -59, 16, 8, 0 }, { 109, 16, -60, 16, 8, 0 }, { 110, 16, -61, 16, 8, 0 }, + { 110, 16, -62, 16, 8, 0 }, { 111, 16, -63, 16, 8, 0 }, { 111, 16, -64, 16, 8, 0 }, { 112, 16, -65, 16, 8, 0 }, { 112, 16, -66, 16, 8, 0 }, + { 113, 16, -67, 16, 8, 0 }, { 113, 16, -68, 16, 8, 0 }, { 114, 16, -69, 16, 8, 0 }, { 114, 16, -70, 16, 8, 0 }, { 115, 16, -71, 16, 8, 0 }, + { 115, 16, -72, 16, 8, 0 }, { 116, 16, -73, 16, 8, 0 }, { 116, 16, -74, 16, 8, 0 }, { 117, 16, -75, 16, 8, 0 }, { 117, 16, -76, 16, 8, 0 }, + { 118, 16, -77, 16, 8, 0 }, { 118, 16, -78, 16, 8, 0 }, { 119, 16, -79, 16, 8, 0 }, { 119, 16, -80, 16, 8, 0 }, { 120, 16, -81, 16, 8, 0 }, + { 120, 16, -82, 16, 8, 0 }, { 121, 16, -83, 16, 8, 0 }, { 121, 16, -84, 16, 8, 0 }, { 122, 16, -85, 16, 8, 0 }, { 122, 16, -86, 16, 8, 0 }, + { 123, 16, -87, 16, 8, 0 }, { 123, 16, -88, 16, 8, 0 }, { 124, 16, -89, 16, 8, 0 }, { 124, 16, -90, 16, 8, 0 }, { 125, 16, -91, 16, 8, 0 }, + { 125, 16, -92, 16, 8, 0 }, { 126, 16, -93, 16, 8, 0 }, { 126, 16, -94, 16, 8, 0 }, { 127, 16, -95, 16, 8, 0 }, { 127, 16, -96, 16, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_97358B = { - 165, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 1, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 2, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 3, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 4, 24, 1, 0 }, { 16, 22, 4, 24, 1, 0 }, - { 16, 21, 4, 24, 1, 0 }, { 16, 20, 5, 24, 1, 0 }, { 16, 19, 5, 24, 1, 0 }, { 16, 18, 5, 24, 1, 0 }, { 16, 17, 6, 24, 1, 0 }, - { 16, 16, 6, 24, 1, 0 }, { 16, 15, 6, 24, 1, 0 }, { 16, 14, 6, 24, 1, 0 }, { 16, 13, 7, 24, 1, 0 }, { 16, 12, 7, 24, 1, 0 }, - { 16, 11, 7, 24, 1, 0 }, { 16, 10, 7, 24, 1, 0 }, { 16, 9, 7, 24, 0, 0 }, { 16, 8, 7, 24, 0, 0 }, { 16, 7, 8, 24, 0, 0 }, - { 16, 6, 8, 24, 0, 0 }, { 16, 5, 8, 24, 0, 0 }, { 16, 4, 8, 24, 0, 0 }, { 16, 3, 8, 24, 0, 0 }, { 16, 2, 8, 24, 0, 0 }, - { 16, 1, 8, 24, 0, 0 }, { 16, 0, 8, 24, 0, 0 }, { 16, -1, 8, 24, 0, 0 }, { 16, -2, 8, 24, 0, 0 }, { 16, -3, 8, 24, 0, 0 }, - { 16, -4, 8, 24, 0, 0 }, { 16, -5, 8, 24, 0, 0 }, { 16, -6, 8, 24, 0, 0 }, { 16, -7, 8, 24, 0, 0 }, { 16, -8, 8, 24, 0, 0 }, - { 16, -9, 7, 24, 5, 0 }, { 16, -10, 7, 24, 5, 0 }, { 16, -11, 7, 24, 5, 0 }, { 16, -12, 7, 24, 5, 0 }, { 16, -13, 7, 24, 5, 0 }, - { 16, -14, 7, 24, 5, 0 }, { 16, -15, 6, 24, 5, 0 }, { 16, -16, 6, 24, 5, 0 }, { 16, -17, 6, 24, 5, 0 }, { 16, -18, 6, 24, 5, 0 }, - { 16, -19, 5, 24, 5, 0 }, { 16, -20, 5, 24, 5, 0 }, { 16, -21, 5, 24, 5, 0 }, { 16, -22, 4, 24, 5, 0 }, { 16, -23, 4, 24, 5, 0 }, - { 16, -24, 4, 24, 5, 0 }, { 16, -25, 3, 24, 6, 0 }, { 16, -26, 3, 24, 6, 0 }, { 16, -27, 2, 24, 6, 0 }, { 16, -28, 2, 24, 6, 0 }, - { 16, -29, 1, 24, 6, 0 }, { 16, -30, 1, 24, 6, 0 }, { 16, -31, 0, 24, 6, 0 }, { 16, -32, 0, 24, 6, 0 }, { 16, -33, -1, 24, 6, 0 }, - { 16, -34, -1, 24, 6, 0 }, { 16, -35, -2, 24, 6, 0 }, { 16, -36, -2, 24, 6, 0 }, { 16, -37, -3, 24, 6, 0 }, { 16, -38, -4, 24, 6, 0 }, - { 16, -39, -4, 24, 6, 0 }, { 16, -40, -5, 24, 6, 0 }, { 16, -41, -6, 24, 6, 0 }, { 16, -42, -6, 24, 6, 0 }, { 16, -43, -7, 24, 7, 0 }, - { 16, -44, -8, 24, 7, 0 }, { 16, -45, -9, 24, 7, 0 }, { 16, -46, -9, 24, 7, 0 }, { 16, -47, -10, 24, 7, 0 }, { 16, -48, -11, 24, 7, 0 }, - { 16, -49, -12, 24, 7, 0 }, { 16, -50, -13, 24, 7, 0 }, { 16, -51, -14, 24, 7, 0 }, { 16, -52, -16, 24, 7, 0 }, { 16, -53, -17, 24, 7, 0 }, - { 16, -54, -18, 24, 7, 0 }, { 16, -55, -19, 24, 7, 0 }, { 16, -56, -20, 24, 7, 0 }, { 16, -56, -21, 24, 7, 0 }, { 16, -57, -22, 24, 7, 0 }, - { 16, -58, -23, 24, 7, 0 }, { 16, -59, -24, 24, 8, 0 }, { 16, -59, -25, 24, 8, 0 }, { 16, -60, -26, 24, 8, 0 }, { 16, -61, -27, 24, 8, 0 }, - { 16, -61, -28, 24, 8, 0 }, { 16, -62, -29, 24, 8, 0 }, { 16, -63, -30, 24, 8, 0 }, { 16, -63, -31, 24, 8, 0 }, { 16, -64, -32, 24, 8, 0 }, - { 16, -64, -33, 24, 8, 0 }, { 16, -65, -33, 24, 8, 0 }, { 16, -65, -34, 24, 8, 0 }, { 16, -66, -35, 24, 8, 0 }, { 16, -66, -36, 24, 8, 0 }, - { 16, -67, -37, 24, 8, 0 }, { 16, -67, -38, 24, 8, 0 }, { 16, -68, -39, 24, 8, 0 }, { 16, -68, -40, 24, 8, 0 }, { 16, -69, -41, 24, 8, 0 }, - { 16, -69, -42, 24, 8, 0 }, { 16, -70, -43, 24, 8, 0 }, { 16, -70, -44, 24, 8, 0 }, { 16, -71, -45, 24, 8, 0 }, { 16, -71, -46, 24, 8, 0 }, - { 16, -72, -47, 24, 8, 0 }, { 16, -72, -48, 24, 8, 0 }, { 16, -73, -49, 24, 8, 0 }, { 16, -73, -50, 24, 8, 0 }, { 16, -74, -51, 24, 8, 0 }, - { 16, -74, -52, 24, 8, 0 }, { 16, -75, -53, 24, 8, 0 }, { 16, -75, -54, 24, 8, 0 }, { 16, -76, -55, 24, 8, 0 }, { 16, -76, -56, 24, 8, 0 }, - { 16, -77, -57, 24, 8, 0 }, { 16, -77, -58, 24, 8, 0 }, { 16, -78, -59, 24, 8, 0 }, { 16, -78, -60, 24, 8, 0 }, { 16, -79, -61, 24, 8, 0 }, - { 16, -79, -62, 24, 8, 0 }, { 16, -80, -63, 24, 8, 0 }, { 16, -80, -64, 24, 8, 0 }, { 16, -81, -65, 24, 8, 0 }, { 16, -81, -66, 24, 8, 0 }, - { 16, -82, -67, 24, 8, 0 }, { 16, -82, -68, 24, 8, 0 }, { 16, -83, -69, 24, 8, 0 }, { 16, -83, -70, 24, 8, 0 }, { 16, -84, -71, 24, 8, 0 }, - { 16, -84, -72, 24, 8, 0 }, { 16, -85, -73, 24, 8, 0 }, { 16, -85, -74, 24, 8, 0 }, { 16, -86, -75, 24, 8, 0 }, { 16, -86, -76, 24, 8, 0 }, - { 16, -87, -77, 24, 8, 0 }, { 16, -87, -78, 24, 8, 0 }, { 16, -88, -79, 24, 8, 0 }, { 16, -88, -80, 24, 8, 0 }, { 16, -89, -81, 24, 8, 0 }, - { 16, -89, -82, 24, 8, 0 }, { 16, -90, -83, 24, 8, 0 }, { 16, -90, -84, 24, 8, 0 }, { 16, -91, -85, 24, 8, 0 }, { 16, -91, -86, 24, 8, 0 }, - { 16, -92, -87, 24, 8, 0 }, { 16, -92, -88, 24, 8, 0 }, { 16, -93, -89, 24, 8, 0 }, { 16, -93, -90, 24, 8, 0 }, { 16, -94, -91, 24, 8, 0 }, - { 16, -94, -92, 24, 8, 0 }, { 16, -95, -93, 24, 8, 0 }, { 16, -95, -94, 24, 8, 0 }, { 16, -96, -95, 24, 8, 0 }, { 16, -96, -96, 24, 8, 0 }, + 165, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 1, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 2, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 3, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 4, 24, 1, 0 }, { 16, 22, 4, 24, 1, 0 }, + { 16, 21, 4, 24, 1, 0 }, { 16, 20, 5, 24, 1, 0 }, { 16, 19, 5, 24, 1, 0 }, { 16, 18, 5, 24, 1, 0 }, { 16, 17, 6, 24, 1, 0 }, + { 16, 16, 6, 24, 1, 0 }, { 16, 15, 6, 24, 1, 0 }, { 16, 14, 6, 24, 1, 0 }, { 16, 13, 7, 24, 1, 0 }, { 16, 12, 7, 24, 1, 0 }, + { 16, 11, 7, 24, 1, 0 }, { 16, 10, 7, 24, 1, 0 }, { 16, 9, 7, 24, 0, 0 }, { 16, 8, 7, 24, 0, 0 }, { 16, 7, 8, 24, 0, 0 }, + { 16, 6, 8, 24, 0, 0 }, { 16, 5, 8, 24, 0, 0 }, { 16, 4, 8, 24, 0, 0 }, { 16, 3, 8, 24, 0, 0 }, { 16, 2, 8, 24, 0, 0 }, + { 16, 1, 8, 24, 0, 0 }, { 16, 0, 8, 24, 0, 0 }, { 16, -1, 8, 24, 0, 0 }, { 16, -2, 8, 24, 0, 0 }, { 16, -3, 8, 24, 0, 0 }, + { 16, -4, 8, 24, 0, 0 }, { 16, -5, 8, 24, 0, 0 }, { 16, -6, 8, 24, 0, 0 }, { 16, -7, 8, 24, 0, 0 }, { 16, -8, 8, 24, 0, 0 }, + { 16, -9, 7, 24, 5, 0 }, { 16, -10, 7, 24, 5, 0 }, { 16, -11, 7, 24, 5, 0 }, { 16, -12, 7, 24, 5, 0 }, { 16, -13, 7, 24, 5, 0 }, + { 16, -14, 7, 24, 5, 0 }, { 16, -15, 6, 24, 5, 0 }, { 16, -16, 6, 24, 5, 0 }, { 16, -17, 6, 24, 5, 0 }, { 16, -18, 6, 24, 5, 0 }, + { 16, -19, 5, 24, 5, 0 }, { 16, -20, 5, 24, 5, 0 }, { 16, -21, 5, 24, 5, 0 }, { 16, -22, 4, 24, 5, 0 }, { 16, -23, 4, 24, 5, 0 }, + { 16, -24, 4, 24, 5, 0 }, { 16, -25, 3, 24, 6, 0 }, { 16, -26, 3, 24, 6, 0 }, { 16, -27, 2, 24, 6, 0 }, { 16, -28, 2, 24, 6, 0 }, + { 16, -29, 1, 24, 6, 0 }, { 16, -30, 1, 24, 6, 0 }, { 16, -31, 0, 24, 6, 0 }, { 16, -32, 0, 24, 6, 0 }, { 16, -33, -1, 24, 6, 0 }, + { 16, -34, -1, 24, 6, 0 }, { 16, -35, -2, 24, 6, 0 }, { 16, -36, -2, 24, 6, 0 }, { 16, -37, -3, 24, 6, 0 }, { 16, -38, -4, 24, 6, 0 }, + { 16, -39, -4, 24, 6, 0 }, { 16, -40, -5, 24, 6, 0 }, { 16, -41, -6, 24, 6, 0 }, { 16, -42, -6, 24, 6, 0 }, { 16, -43, -7, 24, 7, 0 }, + { 16, -44, -8, 24, 7, 0 }, { 16, -45, -9, 24, 7, 0 }, { 16, -46, -9, 24, 7, 0 }, { 16, -47, -10, 24, 7, 0 }, { 16, -48, -11, 24, 7, 0 }, + { 16, -49, -12, 24, 7, 0 }, { 16, -50, -13, 24, 7, 0 }, { 16, -51, -14, 24, 7, 0 }, { 16, -52, -16, 24, 7, 0 }, { 16, -53, -17, 24, 7, 0 }, + { 16, -54, -18, 24, 7, 0 }, { 16, -55, -19, 24, 7, 0 }, { 16, -56, -20, 24, 7, 0 }, { 16, -56, -21, 24, 7, 0 }, { 16, -57, -22, 24, 7, 0 }, + { 16, -58, -23, 24, 7, 0 }, { 16, -59, -24, 24, 8, 0 }, { 16, -59, -25, 24, 8, 0 }, { 16, -60, -26, 24, 8, 0 }, { 16, -61, -27, 24, 8, 0 }, + { 16, -61, -28, 24, 8, 0 }, { 16, -62, -29, 24, 8, 0 }, { 16, -63, -30, 24, 8, 0 }, { 16, -63, -31, 24, 8, 0 }, { 16, -64, -32, 24, 8, 0 }, + { 16, -64, -33, 24, 8, 0 }, { 16, -65, -33, 24, 8, 0 }, { 16, -65, -34, 24, 8, 0 }, { 16, -66, -35, 24, 8, 0 }, { 16, -66, -36, 24, 8, 0 }, + { 16, -67, -37, 24, 8, 0 }, { 16, -67, -38, 24, 8, 0 }, { 16, -68, -39, 24, 8, 0 }, { 16, -68, -40, 24, 8, 0 }, { 16, -69, -41, 24, 8, 0 }, + { 16, -69, -42, 24, 8, 0 }, { 16, -70, -43, 24, 8, 0 }, { 16, -70, -44, 24, 8, 0 }, { 16, -71, -45, 24, 8, 0 }, { 16, -71, -46, 24, 8, 0 }, + { 16, -72, -47, 24, 8, 0 }, { 16, -72, -48, 24, 8, 0 }, { 16, -73, -49, 24, 8, 0 }, { 16, -73, -50, 24, 8, 0 }, { 16, -74, -51, 24, 8, 0 }, + { 16, -74, -52, 24, 8, 0 }, { 16, -75, -53, 24, 8, 0 }, { 16, -75, -54, 24, 8, 0 }, { 16, -76, -55, 24, 8, 0 }, { 16, -76, -56, 24, 8, 0 }, + { 16, -77, -57, 24, 8, 0 }, { 16, -77, -58, 24, 8, 0 }, { 16, -78, -59, 24, 8, 0 }, { 16, -78, -60, 24, 8, 0 }, { 16, -79, -61, 24, 8, 0 }, + { 16, -79, -62, 24, 8, 0 }, { 16, -80, -63, 24, 8, 0 }, { 16, -80, -64, 24, 8, 0 }, { 16, -81, -65, 24, 8, 0 }, { 16, -81, -66, 24, 8, 0 }, + { 16, -82, -67, 24, 8, 0 }, { 16, -82, -68, 24, 8, 0 }, { 16, -83, -69, 24, 8, 0 }, { 16, -83, -70, 24, 8, 0 }, { 16, -84, -71, 24, 8, 0 }, + { 16, -84, -72, 24, 8, 0 }, { 16, -85, -73, 24, 8, 0 }, { 16, -85, -74, 24, 8, 0 }, { 16, -86, -75, 24, 8, 0 }, { 16, -86, -76, 24, 8, 0 }, + { 16, -87, -77, 24, 8, 0 }, { 16, -87, -78, 24, 8, 0 }, { 16, -88, -79, 24, 8, 0 }, { 16, -88, -80, 24, 8, 0 }, { 16, -89, -81, 24, 8, 0 }, + { 16, -89, -82, 24, 8, 0 }, { 16, -90, -83, 24, 8, 0 }, { 16, -90, -84, 24, 8, 0 }, { 16, -91, -85, 24, 8, 0 }, { 16, -91, -86, 24, 8, 0 }, + { 16, -92, -87, 24, 8, 0 }, { 16, -92, -88, 24, 8, 0 }, { 16, -93, -89, 24, 8, 0 }, { 16, -93, -90, 24, 8, 0 }, { 16, -94, -91, 24, 8, 0 }, + { 16, -94, -92, 24, 8, 0 }, { 16, -95, -93, 24, 8, 0 }, { 16, -95, -94, 24, 8, 0 }, { 16, -96, -95, 24, 8, 0 }, { 16, -96, -96, 24, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9063FA = { - 304, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 1, 0, 0, 0 }, { 23, 16, 1, 0, 0, 0 }, { 22, 16, 1, 0, 0, 0 }, - { 21, 16, 1, 0, 0, 0 }, { 20, 16, 1, 0, 0, 0 }, { 19, 16, 1, 0, 0, 0 }, { 18, 16, 1, 0, 0, 0 }, { 17, 16, 1, 0, 0, 0 }, - { 16, 16, 1, 0, 0, 0 }, { 15, 16, 2, 0, 0, 0 }, { 14, 16, 2, 0, 1, 0 }, { 13, 16, 2, 0, 1, 0 }, { 12, 16, 2, 0, 1, 0 }, - { 11, 16, 2, 0, 1, 0 }, { 10, 16, 2, 0, 1, 0 }, { 9, 16, 2, 0, 1, 0 }, { 8, 16, 3, 0, 1, 0 }, { 7, 16, 3, 0, 1, 0 }, - { 6, 16, 3, 0, 1, 0 }, { 5, 16, 3, 0, 1, 0 }, { 4, 16, 3, 0, 1, 0 }, { 3, 16, 4, 0, 1, 0 }, { 2, 16, 4, 0, 1, 0 }, - { 1, 16, 4, 0, 1, 0 }, { 0, 16, 4, 0, 1, 0 }, { -1, 16, 5, 0, 1, 0 }, { -2, 16, 5, 0, 1, 0 }, { -3, 16, 5, 0, 1, 0 }, - { -4, 16, 5, 0, 1, 0 }, { -5, 16, 6, 0, 1, 0 }, { -6, 16, 6, 0, 1, 0 }, { -7, 16, 6, 0, 1, 0 }, { -8, 16, 6, 0, 1, 0 }, - { -9, 16, 7, 0, 1, 0 }, { -10, 16, 7, 0, 1, 0 }, { -11, 16, 7, 0, 1, 0 }, { -12, 16, 8, 0, 1, 0 }, { -13, 16, 8, 0, 1, 0 }, - { -14, 16, 8, 0, 1, 0 }, { -15, 16, 9, 0, 1, 0 }, { -16, 16, 9, 0, 1, 0 }, { -17, 16, 9, 0, 1, 0 }, { -18, 16, 10, 0, 1, 0 }, - { -19, 16, 10, 0, 1, 0 }, { -20, 16, 10, 0, 1, 0 }, { -21, 16, 11, 0, 1, 0 }, { -22, 16, 11, 0, 1, 0 }, { -23, 16, 11, 0, 2, 0 }, - { -24, 16, 12, 0, 2, 0 }, { -25, 16, 12, 0, 2, 0 }, { -26, 16, 13, 0, 2, 0 }, { -27, 16, 13, 0, 2, 0 }, { -28, 16, 13, 0, 2, 0 }, - { -29, 16, 14, 0, 2, 0 }, { -30, 16, 14, 0, 2, 0 }, { -31, 16, 15, 0, 2, 0 }, { -32, 16, 15, 0, 2, 0 }, { -33, 16, 16, 0, 2, 0 }, - { -34, 16, 16, 0, 2, 0 }, { -35, 16, 17, 0, 2, 0 }, { -36, 16, 17, 0, 2, 0 }, { -37, 16, 18, 0, 2, 0 }, { -38, 16, 18, 0, 2, 0 }, - { -39, 16, 19, 0, 2, 0 }, { -40, 16, 19, 0, 2, 0 }, { -41, 16, 20, 0, 2, 0 }, { -42, 16, 20, 0, 2, 0 }, { -43, 16, 21, 0, 2, 0 }, - { -44, 16, 21, 0, 2, 0 }, { -45, 16, 22, 0, 2, 0 }, { -46, 16, 22, 0, 2, 0 }, { -47, 16, 23, 0, 2, 0 }, { -48, 16, 24, 0, 2, 0 }, - { -49, 16, 24, 0, 2, 0 }, { -50, 16, 25, 0, 2, 0 }, { -51, 16, 25, 0, 2, 0 }, { -52, 16, 26, 0, 2, 0 }, { -53, 16, 27, 0, 2, 0 }, - { -54, 16, 27, 0, 2, 0 }, { -55, 16, 28, 0, 2, 0 }, { -56, 16, 29, 0, 2, 0 }, { -57, 16, 29, 0, 2, 0 }, { -58, 16, 30, 0, 2, 0 }, - { -59, 16, 31, 0, 2, 0 }, { -60, 16, 31, 0, 2, 0 }, { -61, 16, 32, 0, 2, 0 }, { -62, 16, 33, 0, 2, 0 }, { -63, 16, 33, 0, 2, 0 }, - { -64, 16, 34, 0, 2, 0 }, { -65, 16, 35, 0, 2, 0 }, { -66, 16, 36, 0, 2, 0 }, { -67, 16, 36, 0, 2, 0 }, { -68, 16, 37, 0, 2, 0 }, - { -69, 16, 38, 0, 2, 0 }, { -70, 16, 39, 0, 2, 0 }, { -71, 16, 39, 0, 3, 0 }, { -72, 16, 40, 0, 3, 0 }, { -73, 16, 41, 0, 3, 0 }, - { -74, 16, 42, 0, 3, 0 }, { -75, 16, 43, 0, 3, 0 }, { -76, 16, 44, 0, 3, 0 }, { -77, 16, 45, 0, 3, 0 }, { -78, 16, 45, 0, 3, 0 }, - { -79, 16, 46, 0, 3, 0 }, { -80, 16, 47, 0, 3, 0 }, { -81, 16, 48, 0, 3, 0 }, { -82, 16, 49, 0, 3, 0 }, { -83, 16, 50, 0, 3, 0 }, - { -84, 16, 51, 0, 3, 0 }, { -85, 16, 52, 0, 3, 0 }, { -86, 16, 53, 0, 3, 0 }, { -87, 16, 54, 0, 3, 0 }, { -88, 16, 55, 0, 3, 0 }, - { -89, 16, 56, 0, 3, 0 }, { -90, 16, 57, 0, 3, 0 }, { -91, 16, 58, 0, 3, 0 }, { -92, 16, 59, 0, 3, 0 }, { -93, 16, 60, 0, 3, 0 }, - { -94, 16, 61, 0, 3, 0 }, { -95, 16, 62, 0, 3, 0 }, { -96, 16, 63, 0, 3, 0 }, { -96, 16, 64, 0, 3, 0 }, { -97, 16, 65, 0, 3, 0 }, - { -98, 16, 66, 0, 3, 0 }, { -99, 16, 67, 0, 3, 0 }, { -100, 16, 68, 0, 3, 0 }, { -101, 16, 69, 0, 3, 0 }, { -101, 16, 70, 0, 3, 0 }, - { -102, 16, 71, 0, 3, 0 }, { -103, 16, 72, 0, 3, 0 }, { -104, 16, 73, 0, 3, 0 }, { -105, 16, 74, 0, 3, 0 }, { -105, 16, 75, 0, 3, 0 }, - { -106, 16, 76, 0, 3, 0 }, { -107, 16, 77, 0, 3, 0 }, { -108, 16, 78, 0, 3, 0 }, { -108, 16, 79, 0, 3, 0 }, { -109, 16, 80, 0, 3, 0 }, - { -110, 16, 81, 0, 3, 0 }, { -110, 16, 82, 0, 3, 0 }, { -111, 16, 83, 0, 3, 0 }, { -112, 16, 84, 0, 3, 0 }, { -113, 16, 85, 0, 3, 0 }, - { -113, 16, 86, 0, 3, 0 }, { -114, 16, 87, 0, 3, 0 }, { -115, 16, 88, 0, 3, 0 }, { -115, 16, 89, 0, 3, 0 }, { -116, 16, 90, 0, 4, 0 }, - { -116, 16, 91, 0, 4, 0 }, { -117, 16, 92, 0, 4, 0 }, { -118, 16, 93, 0, 4, 0 }, { -118, 16, 94, 0, 4, 0 }, { -119, 16, 95, 0, 4, 0 }, - { -120, 16, 96, 0, 4, 0 }, { -120, 16, 97, 0, 4, 0 }, { -121, 16, 98, 0, 4, 0 }, { -121, 16, 99, 0, 4, 0 }, { -122, 16, 100, 0, 4, 0 }, - { -122, 16, 101, 0, 4, 0 }, { -123, 16, 102, 0, 4, 0 }, { -124, 16, 103, 0, 4, 0 }, { -124, 16, 104, 0, 4, 0 }, { -125, 16, 105, 0, 4, 0 }, - { -125, 16, 106, 0, 4, 0 }, { -126, 16, 107, 0, 4, 0 }, { -126, 16, 108, 0, 4, 0 }, { -127, 16, 109, 0, 4, 0 }, { -127, 16, 110, 0, 4, 0 }, - { -128, 16, 111, 0, 4, 0 }, { -128, 16, 112, 0, 4, 0 }, { -129, 16, 113, 0, 4, 0 }, { -129, 16, 114, 0, 4, 0 }, { -130, 16, 115, 0, 4, 0 }, - { -130, 16, 116, 0, 4, 0 }, { -131, 16, 117, 0, 4, 0 }, { -131, 16, 118, 0, 4, 0 }, { -132, 16, 119, 0, 4, 0 }, { -132, 16, 120, 0, 4, 0 }, - { -133, 16, 121, 0, 4, 0 }, { -133, 16, 122, 0, 4, 0 }, { -133, 16, 123, 0, 4, 0 }, { -134, 16, 124, 0, 4, 0 }, { -134, 16, 125, 0, 4, 0 }, - { -135, 16, 126, 0, 4, 0 }, { -135, 16, 127, 0, 4, 0 }, { -136, 16, 128, 0, 4, 0 }, { -136, 16, 129, 0, 4, 0 }, { -136, 16, 130, 0, 4, 0 }, - { -137, 16, 131, 0, 4, 0 }, { -137, 16, 132, 0, 4, 0 }, { -138, 16, 133, 0, 4, 0 }, { -138, 16, 134, 0, 4, 0 }, { -138, 16, 135, 0, 9, 0 }, - { -139, 16, 136, 0, 9, 0 }, { -139, 16, 137, 0, 9, 0 }, { -139, 16, 138, 0, 9, 0 }, { -140, 16, 139, 0, 9, 0 }, { -140, 16, 140, 0, 9, 0 }, - { -140, 16, 141, 0, 9, 0 }, { -141, 16, 142, 0, 9, 0 }, { -141, 16, 143, 0, 9, 0 }, { -141, 16, 144, 0, 9, 0 }, { -142, 16, 145, 0, 9, 0 }, - { -142, 16, 146, 0, 9, 0 }, { -142, 16, 147, 0, 9, 0 }, { -143, 16, 148, 0, 9, 0 }, { -143, 16, 149, 0, 9, 0 }, { -143, 16, 150, 0, 9, 0 }, - { -144, 16, 151, 0, 9, 0 }, { -144, 16, 152, 0, 9, 0 }, { -144, 16, 153, 0, 9, 0 }, { -145, 16, 154, 0, 9, 0 }, { -145, 16, 155, 0, 9, 0 }, - { -145, 16, 156, 0, 9, 0 }, { -145, 16, 157, 0, 9, 0 }, { -146, 16, 158, 0, 9, 0 }, { -146, 16, 159, 0, 9, 0 }, { -146, 16, 160, 0, 9, 0 }, - { -147, 16, 161, 0, 9, 0 }, { -147, 16, 162, 0, 9, 0 }, { -147, 16, 163, 0, 9, 0 }, { -147, 16, 164, 0, 9, 0 }, { -148, 16, 165, 0, 9, 0 }, - { -148, 16, 166, 0, 9, 0 }, { -148, 16, 167, 0, 9, 0 }, { -148, 16, 168, 0, 9, 0 }, { -148, 16, 169, 0, 9, 0 }, { -149, 16, 170, 0, 9, 0 }, - { -149, 16, 171, 0, 9, 0 }, { -149, 16, 172, 0, 9, 0 }, { -149, 16, 173, 0, 9, 0 }, { -150, 16, 174, 0, 9, 0 }, { -150, 16, 175, 0, 9, 0 }, - { -150, 16, 176, 0, 9, 0 }, { -150, 16, 177, 0, 9, 0 }, { -150, 16, 178, 0, 9, 0 }, { -151, 16, 179, 0, 9, 0 }, { -151, 16, 180, 0, 9, 0 }, - { -151, 16, 181, 0, 9, 0 }, { -151, 16, 182, 0, 9, 0 }, { -151, 16, 183, 0, 9, 0 }, { -151, 16, 184, 0, 9, 0 }, { -152, 16, 185, 0, 9, 0 }, - { -152, 16, 186, 0, 9, 0 }, { -152, 16, 187, 0, 9, 0 }, { -152, 16, 188, 0, 10, 0 }, { -152, 16, 189, 0, 10, 0 }, { -152, 16, 190, 0, 10, 0 }, - { -152, 16, 191, 0, 10, 0 }, { -153, 16, 192, 0, 10, 0 }, { -153, 16, 193, 0, 10, 0 }, { -153, 16, 194, 0, 10, 0 }, { -153, 16, 195, 0, 10, 0 }, - { -153, 16, 196, 0, 10, 0 }, { -153, 16, 197, 0, 10, 0 }, { -153, 16, 198, 0, 10, 0 }, { -153, 16, 199, 0, 10, 0 }, { -154, 16, 200, 0, 10, 0 }, - { -154, 16, 201, 0, 10, 0 }, { -154, 16, 202, 0, 10, 0 }, { -154, 16, 203, 0, 10, 0 }, { -154, 16, 204, 0, 10, 0 }, { -154, 16, 205, 0, 10, 0 }, - { -154, 16, 206, 0, 10, 0 }, { -154, 16, 207, 0, 10, 0 }, { -154, 16, 208, 0, 10, 0 }, { -154, 16, 209, 0, 10, 0 }, { -154, 16, 210, 0, 10, 0 }, - { -154, 16, 211, 0, 10, 0 }, { -155, 16, 212, 0, 10, 0 }, { -155, 16, 213, 0, 10, 0 }, { -155, 16, 214, 0, 10, 0 }, { -155, 16, 215, 0, 10, 0 }, - { -155, 16, 216, 0, 10, 0 }, { -155, 16, 217, 0, 10, 0 }, { -155, 16, 218, 0, 10, 0 }, { -155, 16, 219, 0, 10, 0 }, { -155, 16, 220, 0, 10, 0 }, - { -155, 16, 221, 0, 10, 0 }, { -155, 16, 222, 0, 10, 0 }, { -155, 16, 223, 0, 10, 0 }, { -155, 16, 224, 0, 10, 0 }, { -155, 16, 225, 0, 10, 0 }, - { -155, 16, 226, 0, 10, 0 }, { -155, 16, 227, 0, 10, 0 }, { -155, 16, 228, 0, 10, 0 }, { -155, 16, 229, 0, 10, 0 }, { -155, 16, 230, 0, 10, 0 }, - { -155, 16, 230, 0, 10, 0 }, { -155, 16, 231, 0, 10, 0 }, { -155, 16, 232, 0, 10, 0 }, { -155, 16, 233, 0, 10, 0 }, { -155, 16, 234, 0, 10, 0 }, - { -155, 16, 235, 0, 10, 0 }, { -155, 16, 236, 0, 10, 0 }, { -155, 16, 237, 0, 10, 0 }, { -155, 16, 238, 0, 10, 0 }, + 304, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 1, 0, 0, 0 }, { 23, 16, 1, 0, 0, 0 }, { 22, 16, 1, 0, 0, 0 }, + { 21, 16, 1, 0, 0, 0 }, { 20, 16, 1, 0, 0, 0 }, { 19, 16, 1, 0, 0, 0 }, { 18, 16, 1, 0, 0, 0 }, { 17, 16, 1, 0, 0, 0 }, + { 16, 16, 1, 0, 0, 0 }, { 15, 16, 2, 0, 0, 0 }, { 14, 16, 2, 0, 1, 0 }, { 13, 16, 2, 0, 1, 0 }, { 12, 16, 2, 0, 1, 0 }, + { 11, 16, 2, 0, 1, 0 }, { 10, 16, 2, 0, 1, 0 }, { 9, 16, 2, 0, 1, 0 }, { 8, 16, 3, 0, 1, 0 }, { 7, 16, 3, 0, 1, 0 }, + { 6, 16, 3, 0, 1, 0 }, { 5, 16, 3, 0, 1, 0 }, { 4, 16, 3, 0, 1, 0 }, { 3, 16, 4, 0, 1, 0 }, { 2, 16, 4, 0, 1, 0 }, + { 1, 16, 4, 0, 1, 0 }, { 0, 16, 4, 0, 1, 0 }, { -1, 16, 5, 0, 1, 0 }, { -2, 16, 5, 0, 1, 0 }, { -3, 16, 5, 0, 1, 0 }, + { -4, 16, 5, 0, 1, 0 }, { -5, 16, 6, 0, 1, 0 }, { -6, 16, 6, 0, 1, 0 }, { -7, 16, 6, 0, 1, 0 }, { -8, 16, 6, 0, 1, 0 }, + { -9, 16, 7, 0, 1, 0 }, { -10, 16, 7, 0, 1, 0 }, { -11, 16, 7, 0, 1, 0 }, { -12, 16, 8, 0, 1, 0 }, { -13, 16, 8, 0, 1, 0 }, + { -14, 16, 8, 0, 1, 0 }, { -15, 16, 9, 0, 1, 0 }, { -16, 16, 9, 0, 1, 0 }, { -17, 16, 9, 0, 1, 0 }, { -18, 16, 10, 0, 1, 0 }, + { -19, 16, 10, 0, 1, 0 }, { -20, 16, 10, 0, 1, 0 }, { -21, 16, 11, 0, 1, 0 }, { -22, 16, 11, 0, 1, 0 }, { -23, 16, 11, 0, 2, 0 }, + { -24, 16, 12, 0, 2, 0 }, { -25, 16, 12, 0, 2, 0 }, { -26, 16, 13, 0, 2, 0 }, { -27, 16, 13, 0, 2, 0 }, { -28, 16, 13, 0, 2, 0 }, + { -29, 16, 14, 0, 2, 0 }, { -30, 16, 14, 0, 2, 0 }, { -31, 16, 15, 0, 2, 0 }, { -32, 16, 15, 0, 2, 0 }, { -33, 16, 16, 0, 2, 0 }, + { -34, 16, 16, 0, 2, 0 }, { -35, 16, 17, 0, 2, 0 }, { -36, 16, 17, 0, 2, 0 }, { -37, 16, 18, 0, 2, 0 }, { -38, 16, 18, 0, 2, 0 }, + { -39, 16, 19, 0, 2, 0 }, { -40, 16, 19, 0, 2, 0 }, { -41, 16, 20, 0, 2, 0 }, { -42, 16, 20, 0, 2, 0 }, { -43, 16, 21, 0, 2, 0 }, + { -44, 16, 21, 0, 2, 0 }, { -45, 16, 22, 0, 2, 0 }, { -46, 16, 22, 0, 2, 0 }, { -47, 16, 23, 0, 2, 0 }, { -48, 16, 24, 0, 2, 0 }, + { -49, 16, 24, 0, 2, 0 }, { -50, 16, 25, 0, 2, 0 }, { -51, 16, 25, 0, 2, 0 }, { -52, 16, 26, 0, 2, 0 }, { -53, 16, 27, 0, 2, 0 }, + { -54, 16, 27, 0, 2, 0 }, { -55, 16, 28, 0, 2, 0 }, { -56, 16, 29, 0, 2, 0 }, { -57, 16, 29, 0, 2, 0 }, { -58, 16, 30, 0, 2, 0 }, + { -59, 16, 31, 0, 2, 0 }, { -60, 16, 31, 0, 2, 0 }, { -61, 16, 32, 0, 2, 0 }, { -62, 16, 33, 0, 2, 0 }, { -63, 16, 33, 0, 2, 0 }, + { -64, 16, 34, 0, 2, 0 }, { -65, 16, 35, 0, 2, 0 }, { -66, 16, 36, 0, 2, 0 }, { -67, 16, 36, 0, 2, 0 }, { -68, 16, 37, 0, 2, 0 }, + { -69, 16, 38, 0, 2, 0 }, { -70, 16, 39, 0, 2, 0 }, { -71, 16, 39, 0, 3, 0 }, { -72, 16, 40, 0, 3, 0 }, { -73, 16, 41, 0, 3, 0 }, + { -74, 16, 42, 0, 3, 0 }, { -75, 16, 43, 0, 3, 0 }, { -76, 16, 44, 0, 3, 0 }, { -77, 16, 45, 0, 3, 0 }, { -78, 16, 45, 0, 3, 0 }, + { -79, 16, 46, 0, 3, 0 }, { -80, 16, 47, 0, 3, 0 }, { -81, 16, 48, 0, 3, 0 }, { -82, 16, 49, 0, 3, 0 }, { -83, 16, 50, 0, 3, 0 }, + { -84, 16, 51, 0, 3, 0 }, { -85, 16, 52, 0, 3, 0 }, { -86, 16, 53, 0, 3, 0 }, { -87, 16, 54, 0, 3, 0 }, { -88, 16, 55, 0, 3, 0 }, + { -89, 16, 56, 0, 3, 0 }, { -90, 16, 57, 0, 3, 0 }, { -91, 16, 58, 0, 3, 0 }, { -92, 16, 59, 0, 3, 0 }, { -93, 16, 60, 0, 3, 0 }, + { -94, 16, 61, 0, 3, 0 }, { -95, 16, 62, 0, 3, 0 }, { -96, 16, 63, 0, 3, 0 }, { -96, 16, 64, 0, 3, 0 }, { -97, 16, 65, 0, 3, 0 }, + { -98, 16, 66, 0, 3, 0 }, { -99, 16, 67, 0, 3, 0 }, { -100, 16, 68, 0, 3, 0 }, { -101, 16, 69, 0, 3, 0 }, { -101, 16, 70, 0, 3, 0 }, + { -102, 16, 71, 0, 3, 0 }, { -103, 16, 72, 0, 3, 0 }, { -104, 16, 73, 0, 3, 0 }, { -105, 16, 74, 0, 3, 0 }, { -105, 16, 75, 0, 3, 0 }, + { -106, 16, 76, 0, 3, 0 }, { -107, 16, 77, 0, 3, 0 }, { -108, 16, 78, 0, 3, 0 }, { -108, 16, 79, 0, 3, 0 }, { -109, 16, 80, 0, 3, 0 }, + { -110, 16, 81, 0, 3, 0 }, { -110, 16, 82, 0, 3, 0 }, { -111, 16, 83, 0, 3, 0 }, { -112, 16, 84, 0, 3, 0 }, { -113, 16, 85, 0, 3, 0 }, + { -113, 16, 86, 0, 3, 0 }, { -114, 16, 87, 0, 3, 0 }, { -115, 16, 88, 0, 3, 0 }, { -115, 16, 89, 0, 3, 0 }, { -116, 16, 90, 0, 4, 0 }, + { -116, 16, 91, 0, 4, 0 }, { -117, 16, 92, 0, 4, 0 }, { -118, 16, 93, 0, 4, 0 }, { -118, 16, 94, 0, 4, 0 }, { -119, 16, 95, 0, 4, 0 }, + { -120, 16, 96, 0, 4, 0 }, { -120, 16, 97, 0, 4, 0 }, { -121, 16, 98, 0, 4, 0 }, { -121, 16, 99, 0, 4, 0 }, { -122, 16, 100, 0, 4, 0 }, + { -122, 16, 101, 0, 4, 0 }, { -123, 16, 102, 0, 4, 0 }, { -124, 16, 103, 0, 4, 0 }, { -124, 16, 104, 0, 4, 0 }, { -125, 16, 105, 0, 4, 0 }, + { -125, 16, 106, 0, 4, 0 }, { -126, 16, 107, 0, 4, 0 }, { -126, 16, 108, 0, 4, 0 }, { -127, 16, 109, 0, 4, 0 }, { -127, 16, 110, 0, 4, 0 }, + { -128, 16, 111, 0, 4, 0 }, { -128, 16, 112, 0, 4, 0 }, { -129, 16, 113, 0, 4, 0 }, { -129, 16, 114, 0, 4, 0 }, { -130, 16, 115, 0, 4, 0 }, + { -130, 16, 116, 0, 4, 0 }, { -131, 16, 117, 0, 4, 0 }, { -131, 16, 118, 0, 4, 0 }, { -132, 16, 119, 0, 4, 0 }, { -132, 16, 120, 0, 4, 0 }, + { -133, 16, 121, 0, 4, 0 }, { -133, 16, 122, 0, 4, 0 }, { -133, 16, 123, 0, 4, 0 }, { -134, 16, 124, 0, 4, 0 }, { -134, 16, 125, 0, 4, 0 }, + { -135, 16, 126, 0, 4, 0 }, { -135, 16, 127, 0, 4, 0 }, { -136, 16, 128, 0, 4, 0 }, { -136, 16, 129, 0, 4, 0 }, { -136, 16, 130, 0, 4, 0 }, + { -137, 16, 131, 0, 4, 0 }, { -137, 16, 132, 0, 4, 0 }, { -138, 16, 133, 0, 4, 0 }, { -138, 16, 134, 0, 4, 0 }, { -138, 16, 135, 0, 9, 0 }, + { -139, 16, 136, 0, 9, 0 }, { -139, 16, 137, 0, 9, 0 }, { -139, 16, 138, 0, 9, 0 }, { -140, 16, 139, 0, 9, 0 }, { -140, 16, 140, 0, 9, 0 }, + { -140, 16, 141, 0, 9, 0 }, { -141, 16, 142, 0, 9, 0 }, { -141, 16, 143, 0, 9, 0 }, { -141, 16, 144, 0, 9, 0 }, { -142, 16, 145, 0, 9, 0 }, + { -142, 16, 146, 0, 9, 0 }, { -142, 16, 147, 0, 9, 0 }, { -143, 16, 148, 0, 9, 0 }, { -143, 16, 149, 0, 9, 0 }, { -143, 16, 150, 0, 9, 0 }, + { -144, 16, 151, 0, 9, 0 }, { -144, 16, 152, 0, 9, 0 }, { -144, 16, 153, 0, 9, 0 }, { -145, 16, 154, 0, 9, 0 }, { -145, 16, 155, 0, 9, 0 }, + { -145, 16, 156, 0, 9, 0 }, { -145, 16, 157, 0, 9, 0 }, { -146, 16, 158, 0, 9, 0 }, { -146, 16, 159, 0, 9, 0 }, { -146, 16, 160, 0, 9, 0 }, + { -147, 16, 161, 0, 9, 0 }, { -147, 16, 162, 0, 9, 0 }, { -147, 16, 163, 0, 9, 0 }, { -147, 16, 164, 0, 9, 0 }, { -148, 16, 165, 0, 9, 0 }, + { -148, 16, 166, 0, 9, 0 }, { -148, 16, 167, 0, 9, 0 }, { -148, 16, 168, 0, 9, 0 }, { -148, 16, 169, 0, 9, 0 }, { -149, 16, 170, 0, 9, 0 }, + { -149, 16, 171, 0, 9, 0 }, { -149, 16, 172, 0, 9, 0 }, { -149, 16, 173, 0, 9, 0 }, { -150, 16, 174, 0, 9, 0 }, { -150, 16, 175, 0, 9, 0 }, + { -150, 16, 176, 0, 9, 0 }, { -150, 16, 177, 0, 9, 0 }, { -150, 16, 178, 0, 9, 0 }, { -151, 16, 179, 0, 9, 0 }, { -151, 16, 180, 0, 9, 0 }, + { -151, 16, 181, 0, 9, 0 }, { -151, 16, 182, 0, 9, 0 }, { -151, 16, 183, 0, 9, 0 }, { -151, 16, 184, 0, 9, 0 }, { -152, 16, 185, 0, 9, 0 }, + { -152, 16, 186, 0, 9, 0 }, { -152, 16, 187, 0, 9, 0 }, { -152, 16, 188, 0, 10, 0 }, { -152, 16, 189, 0, 10, 0 }, { -152, 16, 190, 0, 10, 0 }, + { -152, 16, 191, 0, 10, 0 }, { -153, 16, 192, 0, 10, 0 }, { -153, 16, 193, 0, 10, 0 }, { -153, 16, 194, 0, 10, 0 }, { -153, 16, 195, 0, 10, 0 }, + { -153, 16, 196, 0, 10, 0 }, { -153, 16, 197, 0, 10, 0 }, { -153, 16, 198, 0, 10, 0 }, { -153, 16, 199, 0, 10, 0 }, { -154, 16, 200, 0, 10, 0 }, + { -154, 16, 201, 0, 10, 0 }, { -154, 16, 202, 0, 10, 0 }, { -154, 16, 203, 0, 10, 0 }, { -154, 16, 204, 0, 10, 0 }, { -154, 16, 205, 0, 10, 0 }, + { -154, 16, 206, 0, 10, 0 }, { -154, 16, 207, 0, 10, 0 }, { -154, 16, 208, 0, 10, 0 }, { -154, 16, 209, 0, 10, 0 }, { -154, 16, 210, 0, 10, 0 }, + { -154, 16, 211, 0, 10, 0 }, { -155, 16, 212, 0, 10, 0 }, { -155, 16, 213, 0, 10, 0 }, { -155, 16, 214, 0, 10, 0 }, { -155, 16, 215, 0, 10, 0 }, + { -155, 16, 216, 0, 10, 0 }, { -155, 16, 217, 0, 10, 0 }, { -155, 16, 218, 0, 10, 0 }, { -155, 16, 219, 0, 10, 0 }, { -155, 16, 220, 0, 10, 0 }, + { -155, 16, 221, 0, 10, 0 }, { -155, 16, 222, 0, 10, 0 }, { -155, 16, 223, 0, 10, 0 }, { -155, 16, 224, 0, 10, 0 }, { -155, 16, 225, 0, 10, 0 }, + { -155, 16, 226, 0, 10, 0 }, { -155, 16, 227, 0, 10, 0 }, { -155, 16, 228, 0, 10, 0 }, { -155, 16, 229, 0, 10, 0 }, { -155, 16, 230, 0, 10, 0 }, + { -155, 16, 230, 0, 10, 0 }, { -155, 16, 231, 0, 10, 0 }, { -155, 16, 232, 0, 10, 0 }, { -155, 16, 233, 0, 10, 0 }, { -155, 16, 234, 0, 10, 0 }, + { -155, 16, 235, 0, 10, 0 }, { -155, 16, 236, 0, 10, 0 }, { -155, 16, 237, 0, 10, 0 }, { -155, 16, 238, 0, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_906EAC = { - 304, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 1, 8, 0, 0 }, { 16, 8, 1, 8, 0, 0 }, { 16, 9, 1, 8, 0, 0 }, - { 16, 10, 1, 8, 0, 0 }, { 16, 11, 1, 8, 0, 0 }, { 16, 12, 1, 8, 0, 0 }, { 16, 13, 1, 8, 0, 0 }, { 16, 14, 1, 8, 0, 0 }, - { 16, 15, 1, 8, 0, 0 }, { 16, 16, 2, 8, 0, 0 }, { 16, 17, 2, 8, 1, 0 }, { 16, 18, 2, 8, 1, 0 }, { 16, 19, 2, 8, 1, 0 }, - { 16, 20, 2, 8, 1, 0 }, { 16, 21, 2, 8, 1, 0 }, { 16, 22, 2, 8, 1, 0 }, { 16, 23, 3, 8, 1, 0 }, { 16, 24, 3, 8, 1, 0 }, - { 16, 25, 3, 8, 1, 0 }, { 16, 26, 3, 8, 1, 0 }, { 16, 27, 3, 8, 1, 0 }, { 16, 28, 4, 8, 1, 0 }, { 16, 29, 4, 8, 1, 0 }, - { 16, 30, 4, 8, 1, 0 }, { 16, 31, 4, 8, 1, 0 }, { 16, 32, 5, 8, 1, 0 }, { 16, 33, 5, 8, 1, 0 }, { 16, 34, 5, 8, 1, 0 }, - { 16, 35, 5, 8, 1, 0 }, { 16, 36, 6, 8, 1, 0 }, { 16, 37, 6, 8, 1, 0 }, { 16, 38, 6, 8, 1, 0 }, { 16, 39, 6, 8, 1, 0 }, - { 16, 40, 7, 8, 1, 0 }, { 16, 41, 7, 8, 1, 0 }, { 16, 42, 7, 8, 1, 0 }, { 16, 43, 8, 8, 1, 0 }, { 16, 44, 8, 8, 1, 0 }, - { 16, 45, 8, 8, 1, 0 }, { 16, 46, 9, 8, 1, 0 }, { 16, 47, 9, 8, 1, 0 }, { 16, 48, 9, 8, 1, 0 }, { 16, 49, 10, 8, 1, 0 }, - { 16, 50, 10, 8, 1, 0 }, { 16, 51, 10, 8, 1, 0 }, { 16, 52, 11, 8, 1, 0 }, { 16, 53, 11, 8, 1, 0 }, { 16, 54, 11, 8, 2, 0 }, - { 16, 55, 12, 8, 2, 0 }, { 16, 56, 12, 8, 2, 0 }, { 16, 57, 13, 8, 2, 0 }, { 16, 58, 13, 8, 2, 0 }, { 16, 59, 13, 8, 2, 0 }, - { 16, 60, 14, 8, 2, 0 }, { 16, 61, 14, 8, 2, 0 }, { 16, 62, 15, 8, 2, 0 }, { 16, 63, 15, 8, 2, 0 }, { 16, 64, 16, 8, 2, 0 }, - { 16, 65, 16, 8, 2, 0 }, { 16, 66, 17, 8, 2, 0 }, { 16, 67, 17, 8, 2, 0 }, { 16, 68, 18, 8, 2, 0 }, { 16, 69, 18, 8, 2, 0 }, - { 16, 70, 19, 8, 2, 0 }, { 16, 71, 19, 8, 2, 0 }, { 16, 72, 20, 8, 2, 0 }, { 16, 73, 20, 8, 2, 0 }, { 16, 74, 21, 8, 2, 0 }, - { 16, 75, 21, 8, 2, 0 }, { 16, 76, 22, 8, 2, 0 }, { 16, 77, 22, 8, 2, 0 }, { 16, 78, 23, 8, 2, 0 }, { 16, 79, 24, 8, 2, 0 }, - { 16, 80, 24, 8, 2, 0 }, { 16, 81, 25, 8, 2, 0 }, { 16, 82, 25, 8, 2, 0 }, { 16, 83, 26, 8, 2, 0 }, { 16, 84, 27, 8, 2, 0 }, - { 16, 85, 27, 8, 2, 0 }, { 16, 86, 28, 8, 2, 0 }, { 16, 87, 29, 8, 2, 0 }, { 16, 88, 29, 8, 2, 0 }, { 16, 89, 30, 8, 2, 0 }, - { 16, 90, 31, 8, 2, 0 }, { 16, 91, 31, 8, 2, 0 }, { 16, 92, 32, 8, 2, 0 }, { 16, 93, 33, 8, 2, 0 }, { 16, 94, 33, 8, 2, 0 }, - { 16, 95, 34, 8, 2, 0 }, { 16, 96, 35, 8, 2, 0 }, { 16, 97, 36, 8, 2, 0 }, { 16, 98, 36, 8, 2, 0 }, { 16, 99, 37, 8, 2, 0 }, - { 16, 100, 38, 8, 2, 0 }, { 16, 101, 39, 8, 2, 0 }, { 16, 102, 39, 8, 3, 0 }, { 16, 103, 40, 8, 3, 0 }, { 16, 104, 41, 8, 3, 0 }, - { 16, 105, 42, 8, 3, 0 }, { 16, 106, 43, 8, 3, 0 }, { 16, 107, 44, 8, 3, 0 }, { 16, 108, 45, 8, 3, 0 }, { 16, 109, 45, 8, 3, 0 }, - { 16, 110, 46, 8, 3, 0 }, { 16, 111, 47, 8, 3, 0 }, { 16, 112, 48, 8, 3, 0 }, { 16, 113, 49, 8, 3, 0 }, { 16, 114, 50, 8, 3, 0 }, - { 16, 115, 51, 8, 3, 0 }, { 16, 116, 52, 8, 3, 0 }, { 16, 117, 53, 8, 3, 0 }, { 16, 118, 54, 8, 3, 0 }, { 16, 119, 55, 8, 3, 0 }, - { 16, 120, 56, 8, 3, 0 }, { 16, 121, 57, 8, 3, 0 }, { 16, 122, 58, 8, 3, 0 }, { 16, 123, 59, 8, 3, 0 }, { 16, 124, 60, 8, 3, 0 }, - { 16, 125, 61, 8, 3, 0 }, { 16, 126, 62, 8, 3, 0 }, { 16, 127, 63, 8, 3, 0 }, { 16, 127, 64, 8, 3, 0 }, { 16, 128, 65, 8, 3, 0 }, - { 16, 129, 66, 8, 3, 0 }, { 16, 130, 67, 8, 3, 0 }, { 16, 131, 68, 8, 3, 0 }, { 16, 132, 69, 8, 3, 0 }, { 16, 132, 70, 8, 3, 0 }, - { 16, 133, 71, 8, 3, 0 }, { 16, 134, 72, 8, 3, 0 }, { 16, 135, 73, 8, 3, 0 }, { 16, 136, 74, 8, 3, 0 }, { 16, 136, 75, 8, 3, 0 }, - { 16, 137, 76, 8, 3, 0 }, { 16, 138, 77, 8, 3, 0 }, { 16, 139, 78, 8, 3, 0 }, { 16, 139, 79, 8, 3, 0 }, { 16, 140, 80, 8, 3, 0 }, - { 16, 141, 81, 8, 3, 0 }, { 16, 141, 82, 8, 3, 0 }, { 16, 142, 83, 8, 3, 0 }, { 16, 143, 84, 8, 3, 0 }, { 16, 144, 85, 8, 3, 0 }, - { 16, 144, 86, 8, 3, 0 }, { 16, 145, 87, 8, 3, 0 }, { 16, 146, 88, 8, 3, 0 }, { 16, 146, 89, 8, 3, 0 }, { 16, 147, 90, 8, 4, 0 }, - { 16, 147, 91, 8, 4, 0 }, { 16, 148, 92, 8, 4, 0 }, { 16, 149, 93, 8, 4, 0 }, { 16, 149, 94, 8, 4, 0 }, { 16, 150, 95, 8, 4, 0 }, - { 16, 151, 96, 8, 4, 0 }, { 16, 151, 97, 8, 4, 0 }, { 16, 152, 98, 8, 4, 0 }, { 16, 152, 99, 8, 4, 0 }, { 16, 153, 100, 8, 4, 0 }, - { 16, 153, 101, 8, 4, 0 }, { 16, 154, 102, 8, 4, 0 }, { 16, 155, 103, 8, 4, 0 }, { 16, 155, 104, 8, 4, 0 }, { 16, 156, 105, 8, 4, 0 }, - { 16, 156, 106, 8, 4, 0 }, { 16, 157, 107, 8, 4, 0 }, { 16, 157, 108, 8, 4, 0 }, { 16, 158, 109, 8, 4, 0 }, { 16, 158, 110, 8, 4, 0 }, - { 16, 159, 111, 8, 4, 0 }, { 16, 159, 112, 8, 4, 0 }, { 16, 160, 113, 8, 4, 0 }, { 16, 160, 114, 8, 4, 0 }, { 16, 161, 115, 8, 4, 0 }, - { 16, 161, 116, 8, 4, 0 }, { 16, 162, 117, 8, 4, 0 }, { 16, 162, 118, 8, 4, 0 }, { 16, 163, 119, 8, 4, 0 }, { 16, 163, 120, 8, 4, 0 }, - { 16, 164, 121, 8, 4, 0 }, { 16, 164, 122, 8, 4, 0 }, { 16, 164, 123, 8, 4, 0 }, { 16, 165, 124, 8, 4, 0 }, { 16, 165, 125, 8, 4, 0 }, - { 16, 166, 126, 8, 4, 0 }, { 16, 166, 127, 8, 4, 0 }, { 16, 167, 128, 8, 4, 0 }, { 16, 167, 129, 8, 4, 0 }, { 16, 167, 130, 8, 4, 0 }, - { 16, 168, 131, 8, 4, 0 }, { 16, 168, 132, 8, 4, 0 }, { 16, 169, 133, 8, 4, 0 }, { 16, 169, 134, 8, 4, 0 }, { 16, 169, 135, 8, 9, 0 }, - { 16, 170, 136, 8, 9, 0 }, { 16, 170, 137, 8, 9, 0 }, { 16, 170, 138, 8, 9, 0 }, { 16, 171, 139, 8, 9, 0 }, { 16, 171, 140, 8, 9, 0 }, - { 16, 171, 141, 8, 9, 0 }, { 16, 172, 142, 8, 9, 0 }, { 16, 172, 143, 8, 9, 0 }, { 16, 172, 144, 8, 9, 0 }, { 16, 173, 145, 8, 9, 0 }, - { 16, 173, 146, 8, 9, 0 }, { 16, 173, 147, 8, 9, 0 }, { 16, 174, 148, 8, 9, 0 }, { 16, 174, 149, 8, 9, 0 }, { 16, 174, 150, 8, 9, 0 }, - { 16, 175, 151, 8, 9, 0 }, { 16, 175, 152, 8, 9, 0 }, { 16, 175, 153, 8, 9, 0 }, { 16, 176, 154, 8, 9, 0 }, { 16, 176, 155, 8, 9, 0 }, - { 16, 176, 156, 8, 9, 0 }, { 16, 176, 157, 8, 9, 0 }, { 16, 177, 158, 8, 9, 0 }, { 16, 177, 159, 8, 9, 0 }, { 16, 177, 160, 8, 9, 0 }, - { 16, 178, 161, 8, 9, 0 }, { 16, 178, 162, 8, 9, 0 }, { 16, 178, 163, 8, 9, 0 }, { 16, 178, 164, 8, 9, 0 }, { 16, 179, 165, 8, 9, 0 }, - { 16, 179, 166, 8, 9, 0 }, { 16, 179, 167, 8, 9, 0 }, { 16, 179, 168, 8, 9, 0 }, { 16, 179, 169, 8, 9, 0 }, { 16, 180, 170, 8, 9, 0 }, - { 16, 180, 171, 8, 9, 0 }, { 16, 180, 172, 8, 9, 0 }, { 16, 180, 173, 8, 9, 0 }, { 16, 181, 174, 8, 9, 0 }, { 16, 181, 175, 8, 9, 0 }, - { 16, 181, 176, 8, 9, 0 }, { 16, 181, 177, 8, 9, 0 }, { 16, 181, 178, 8, 9, 0 }, { 16, 182, 179, 8, 9, 0 }, { 16, 182, 180, 8, 9, 0 }, - { 16, 182, 181, 8, 9, 0 }, { 16, 182, 182, 8, 9, 0 }, { 16, 182, 183, 8, 9, 0 }, { 16, 182, 184, 8, 9, 0 }, { 16, 183, 185, 8, 9, 0 }, - { 16, 183, 186, 8, 9, 0 }, { 16, 183, 187, 8, 9, 0 }, { 16, 183, 188, 8, 10, 0 }, { 16, 183, 189, 8, 10, 0 }, { 16, 183, 190, 8, 10, 0 }, - { 16, 183, 191, 8, 10, 0 }, { 16, 184, 192, 8, 10, 0 }, { 16, 184, 193, 8, 10, 0 }, { 16, 184, 194, 8, 10, 0 }, { 16, 184, 195, 8, 10, 0 }, - { 16, 184, 196, 8, 10, 0 }, { 16, 184, 197, 8, 10, 0 }, { 16, 184, 198, 8, 10, 0 }, { 16, 184, 199, 8, 10, 0 }, { 16, 185, 200, 8, 10, 0 }, - { 16, 185, 201, 8, 10, 0 }, { 16, 185, 202, 8, 10, 0 }, { 16, 185, 203, 8, 10, 0 }, { 16, 185, 204, 8, 10, 0 }, { 16, 185, 205, 8, 10, 0 }, - { 16, 185, 206, 8, 10, 0 }, { 16, 185, 207, 8, 10, 0 }, { 16, 185, 208, 8, 10, 0 }, { 16, 185, 209, 8, 10, 0 }, { 16, 185, 210, 8, 10, 0 }, - { 16, 185, 211, 8, 10, 0 }, { 16, 186, 212, 8, 10, 0 }, { 16, 186, 213, 8, 10, 0 }, { 16, 186, 214, 8, 10, 0 }, { 16, 186, 215, 8, 10, 0 }, - { 16, 186, 216, 8, 10, 0 }, { 16, 186, 217, 8, 10, 0 }, { 16, 186, 218, 8, 10, 0 }, { 16, 186, 219, 8, 10, 0 }, { 16, 186, 220, 8, 10, 0 }, - { 16, 186, 221, 8, 10, 0 }, { 16, 186, 222, 8, 10, 0 }, { 16, 186, 223, 8, 10, 0 }, { 16, 186, 224, 8, 10, 0 }, { 16, 186, 225, 8, 10, 0 }, - { 16, 186, 226, 8, 10, 0 }, { 16, 186, 227, 8, 10, 0 }, { 16, 186, 228, 8, 10, 0 }, { 16, 186, 229, 8, 10, 0 }, { 16, 186, 230, 8, 10, 0 }, - { 16, 186, 230, 8, 10, 0 }, { 16, 186, 231, 8, 10, 0 }, { 16, 186, 232, 8, 10, 0 }, { 16, 186, 233, 8, 10, 0 }, { 16, 186, 234, 8, 10, 0 }, - { 16, 186, 235, 8, 10, 0 }, { 16, 186, 236, 8, 10, 0 }, { 16, 186, 237, 8, 10, 0 }, { 16, 186, 238, 8, 10, 0 }, + 304, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 1, 8, 0, 0 }, { 16, 8, 1, 8, 0, 0 }, { 16, 9, 1, 8, 0, 0 }, + { 16, 10, 1, 8, 0, 0 }, { 16, 11, 1, 8, 0, 0 }, { 16, 12, 1, 8, 0, 0 }, { 16, 13, 1, 8, 0, 0 }, { 16, 14, 1, 8, 0, 0 }, + { 16, 15, 1, 8, 0, 0 }, { 16, 16, 2, 8, 0, 0 }, { 16, 17, 2, 8, 1, 0 }, { 16, 18, 2, 8, 1, 0 }, { 16, 19, 2, 8, 1, 0 }, + { 16, 20, 2, 8, 1, 0 }, { 16, 21, 2, 8, 1, 0 }, { 16, 22, 2, 8, 1, 0 }, { 16, 23, 3, 8, 1, 0 }, { 16, 24, 3, 8, 1, 0 }, + { 16, 25, 3, 8, 1, 0 }, { 16, 26, 3, 8, 1, 0 }, { 16, 27, 3, 8, 1, 0 }, { 16, 28, 4, 8, 1, 0 }, { 16, 29, 4, 8, 1, 0 }, + { 16, 30, 4, 8, 1, 0 }, { 16, 31, 4, 8, 1, 0 }, { 16, 32, 5, 8, 1, 0 }, { 16, 33, 5, 8, 1, 0 }, { 16, 34, 5, 8, 1, 0 }, + { 16, 35, 5, 8, 1, 0 }, { 16, 36, 6, 8, 1, 0 }, { 16, 37, 6, 8, 1, 0 }, { 16, 38, 6, 8, 1, 0 }, { 16, 39, 6, 8, 1, 0 }, + { 16, 40, 7, 8, 1, 0 }, { 16, 41, 7, 8, 1, 0 }, { 16, 42, 7, 8, 1, 0 }, { 16, 43, 8, 8, 1, 0 }, { 16, 44, 8, 8, 1, 0 }, + { 16, 45, 8, 8, 1, 0 }, { 16, 46, 9, 8, 1, 0 }, { 16, 47, 9, 8, 1, 0 }, { 16, 48, 9, 8, 1, 0 }, { 16, 49, 10, 8, 1, 0 }, + { 16, 50, 10, 8, 1, 0 }, { 16, 51, 10, 8, 1, 0 }, { 16, 52, 11, 8, 1, 0 }, { 16, 53, 11, 8, 1, 0 }, { 16, 54, 11, 8, 2, 0 }, + { 16, 55, 12, 8, 2, 0 }, { 16, 56, 12, 8, 2, 0 }, { 16, 57, 13, 8, 2, 0 }, { 16, 58, 13, 8, 2, 0 }, { 16, 59, 13, 8, 2, 0 }, + { 16, 60, 14, 8, 2, 0 }, { 16, 61, 14, 8, 2, 0 }, { 16, 62, 15, 8, 2, 0 }, { 16, 63, 15, 8, 2, 0 }, { 16, 64, 16, 8, 2, 0 }, + { 16, 65, 16, 8, 2, 0 }, { 16, 66, 17, 8, 2, 0 }, { 16, 67, 17, 8, 2, 0 }, { 16, 68, 18, 8, 2, 0 }, { 16, 69, 18, 8, 2, 0 }, + { 16, 70, 19, 8, 2, 0 }, { 16, 71, 19, 8, 2, 0 }, { 16, 72, 20, 8, 2, 0 }, { 16, 73, 20, 8, 2, 0 }, { 16, 74, 21, 8, 2, 0 }, + { 16, 75, 21, 8, 2, 0 }, { 16, 76, 22, 8, 2, 0 }, { 16, 77, 22, 8, 2, 0 }, { 16, 78, 23, 8, 2, 0 }, { 16, 79, 24, 8, 2, 0 }, + { 16, 80, 24, 8, 2, 0 }, { 16, 81, 25, 8, 2, 0 }, { 16, 82, 25, 8, 2, 0 }, { 16, 83, 26, 8, 2, 0 }, { 16, 84, 27, 8, 2, 0 }, + { 16, 85, 27, 8, 2, 0 }, { 16, 86, 28, 8, 2, 0 }, { 16, 87, 29, 8, 2, 0 }, { 16, 88, 29, 8, 2, 0 }, { 16, 89, 30, 8, 2, 0 }, + { 16, 90, 31, 8, 2, 0 }, { 16, 91, 31, 8, 2, 0 }, { 16, 92, 32, 8, 2, 0 }, { 16, 93, 33, 8, 2, 0 }, { 16, 94, 33, 8, 2, 0 }, + { 16, 95, 34, 8, 2, 0 }, { 16, 96, 35, 8, 2, 0 }, { 16, 97, 36, 8, 2, 0 }, { 16, 98, 36, 8, 2, 0 }, { 16, 99, 37, 8, 2, 0 }, + { 16, 100, 38, 8, 2, 0 }, { 16, 101, 39, 8, 2, 0 }, { 16, 102, 39, 8, 3, 0 }, { 16, 103, 40, 8, 3, 0 }, { 16, 104, 41, 8, 3, 0 }, + { 16, 105, 42, 8, 3, 0 }, { 16, 106, 43, 8, 3, 0 }, { 16, 107, 44, 8, 3, 0 }, { 16, 108, 45, 8, 3, 0 }, { 16, 109, 45, 8, 3, 0 }, + { 16, 110, 46, 8, 3, 0 }, { 16, 111, 47, 8, 3, 0 }, { 16, 112, 48, 8, 3, 0 }, { 16, 113, 49, 8, 3, 0 }, { 16, 114, 50, 8, 3, 0 }, + { 16, 115, 51, 8, 3, 0 }, { 16, 116, 52, 8, 3, 0 }, { 16, 117, 53, 8, 3, 0 }, { 16, 118, 54, 8, 3, 0 }, { 16, 119, 55, 8, 3, 0 }, + { 16, 120, 56, 8, 3, 0 }, { 16, 121, 57, 8, 3, 0 }, { 16, 122, 58, 8, 3, 0 }, { 16, 123, 59, 8, 3, 0 }, { 16, 124, 60, 8, 3, 0 }, + { 16, 125, 61, 8, 3, 0 }, { 16, 126, 62, 8, 3, 0 }, { 16, 127, 63, 8, 3, 0 }, { 16, 127, 64, 8, 3, 0 }, { 16, 128, 65, 8, 3, 0 }, + { 16, 129, 66, 8, 3, 0 }, { 16, 130, 67, 8, 3, 0 }, { 16, 131, 68, 8, 3, 0 }, { 16, 132, 69, 8, 3, 0 }, { 16, 132, 70, 8, 3, 0 }, + { 16, 133, 71, 8, 3, 0 }, { 16, 134, 72, 8, 3, 0 }, { 16, 135, 73, 8, 3, 0 }, { 16, 136, 74, 8, 3, 0 }, { 16, 136, 75, 8, 3, 0 }, + { 16, 137, 76, 8, 3, 0 }, { 16, 138, 77, 8, 3, 0 }, { 16, 139, 78, 8, 3, 0 }, { 16, 139, 79, 8, 3, 0 }, { 16, 140, 80, 8, 3, 0 }, + { 16, 141, 81, 8, 3, 0 }, { 16, 141, 82, 8, 3, 0 }, { 16, 142, 83, 8, 3, 0 }, { 16, 143, 84, 8, 3, 0 }, { 16, 144, 85, 8, 3, 0 }, + { 16, 144, 86, 8, 3, 0 }, { 16, 145, 87, 8, 3, 0 }, { 16, 146, 88, 8, 3, 0 }, { 16, 146, 89, 8, 3, 0 }, { 16, 147, 90, 8, 4, 0 }, + { 16, 147, 91, 8, 4, 0 }, { 16, 148, 92, 8, 4, 0 }, { 16, 149, 93, 8, 4, 0 }, { 16, 149, 94, 8, 4, 0 }, { 16, 150, 95, 8, 4, 0 }, + { 16, 151, 96, 8, 4, 0 }, { 16, 151, 97, 8, 4, 0 }, { 16, 152, 98, 8, 4, 0 }, { 16, 152, 99, 8, 4, 0 }, { 16, 153, 100, 8, 4, 0 }, + { 16, 153, 101, 8, 4, 0 }, { 16, 154, 102, 8, 4, 0 }, { 16, 155, 103, 8, 4, 0 }, { 16, 155, 104, 8, 4, 0 }, { 16, 156, 105, 8, 4, 0 }, + { 16, 156, 106, 8, 4, 0 }, { 16, 157, 107, 8, 4, 0 }, { 16, 157, 108, 8, 4, 0 }, { 16, 158, 109, 8, 4, 0 }, { 16, 158, 110, 8, 4, 0 }, + { 16, 159, 111, 8, 4, 0 }, { 16, 159, 112, 8, 4, 0 }, { 16, 160, 113, 8, 4, 0 }, { 16, 160, 114, 8, 4, 0 }, { 16, 161, 115, 8, 4, 0 }, + { 16, 161, 116, 8, 4, 0 }, { 16, 162, 117, 8, 4, 0 }, { 16, 162, 118, 8, 4, 0 }, { 16, 163, 119, 8, 4, 0 }, { 16, 163, 120, 8, 4, 0 }, + { 16, 164, 121, 8, 4, 0 }, { 16, 164, 122, 8, 4, 0 }, { 16, 164, 123, 8, 4, 0 }, { 16, 165, 124, 8, 4, 0 }, { 16, 165, 125, 8, 4, 0 }, + { 16, 166, 126, 8, 4, 0 }, { 16, 166, 127, 8, 4, 0 }, { 16, 167, 128, 8, 4, 0 }, { 16, 167, 129, 8, 4, 0 }, { 16, 167, 130, 8, 4, 0 }, + { 16, 168, 131, 8, 4, 0 }, { 16, 168, 132, 8, 4, 0 }, { 16, 169, 133, 8, 4, 0 }, { 16, 169, 134, 8, 4, 0 }, { 16, 169, 135, 8, 9, 0 }, + { 16, 170, 136, 8, 9, 0 }, { 16, 170, 137, 8, 9, 0 }, { 16, 170, 138, 8, 9, 0 }, { 16, 171, 139, 8, 9, 0 }, { 16, 171, 140, 8, 9, 0 }, + { 16, 171, 141, 8, 9, 0 }, { 16, 172, 142, 8, 9, 0 }, { 16, 172, 143, 8, 9, 0 }, { 16, 172, 144, 8, 9, 0 }, { 16, 173, 145, 8, 9, 0 }, + { 16, 173, 146, 8, 9, 0 }, { 16, 173, 147, 8, 9, 0 }, { 16, 174, 148, 8, 9, 0 }, { 16, 174, 149, 8, 9, 0 }, { 16, 174, 150, 8, 9, 0 }, + { 16, 175, 151, 8, 9, 0 }, { 16, 175, 152, 8, 9, 0 }, { 16, 175, 153, 8, 9, 0 }, { 16, 176, 154, 8, 9, 0 }, { 16, 176, 155, 8, 9, 0 }, + { 16, 176, 156, 8, 9, 0 }, { 16, 176, 157, 8, 9, 0 }, { 16, 177, 158, 8, 9, 0 }, { 16, 177, 159, 8, 9, 0 }, { 16, 177, 160, 8, 9, 0 }, + { 16, 178, 161, 8, 9, 0 }, { 16, 178, 162, 8, 9, 0 }, { 16, 178, 163, 8, 9, 0 }, { 16, 178, 164, 8, 9, 0 }, { 16, 179, 165, 8, 9, 0 }, + { 16, 179, 166, 8, 9, 0 }, { 16, 179, 167, 8, 9, 0 }, { 16, 179, 168, 8, 9, 0 }, { 16, 179, 169, 8, 9, 0 }, { 16, 180, 170, 8, 9, 0 }, + { 16, 180, 171, 8, 9, 0 }, { 16, 180, 172, 8, 9, 0 }, { 16, 180, 173, 8, 9, 0 }, { 16, 181, 174, 8, 9, 0 }, { 16, 181, 175, 8, 9, 0 }, + { 16, 181, 176, 8, 9, 0 }, { 16, 181, 177, 8, 9, 0 }, { 16, 181, 178, 8, 9, 0 }, { 16, 182, 179, 8, 9, 0 }, { 16, 182, 180, 8, 9, 0 }, + { 16, 182, 181, 8, 9, 0 }, { 16, 182, 182, 8, 9, 0 }, { 16, 182, 183, 8, 9, 0 }, { 16, 182, 184, 8, 9, 0 }, { 16, 183, 185, 8, 9, 0 }, + { 16, 183, 186, 8, 9, 0 }, { 16, 183, 187, 8, 9, 0 }, { 16, 183, 188, 8, 10, 0 }, { 16, 183, 189, 8, 10, 0 }, { 16, 183, 190, 8, 10, 0 }, + { 16, 183, 191, 8, 10, 0 }, { 16, 184, 192, 8, 10, 0 }, { 16, 184, 193, 8, 10, 0 }, { 16, 184, 194, 8, 10, 0 }, { 16, 184, 195, 8, 10, 0 }, + { 16, 184, 196, 8, 10, 0 }, { 16, 184, 197, 8, 10, 0 }, { 16, 184, 198, 8, 10, 0 }, { 16, 184, 199, 8, 10, 0 }, { 16, 185, 200, 8, 10, 0 }, + { 16, 185, 201, 8, 10, 0 }, { 16, 185, 202, 8, 10, 0 }, { 16, 185, 203, 8, 10, 0 }, { 16, 185, 204, 8, 10, 0 }, { 16, 185, 205, 8, 10, 0 }, + { 16, 185, 206, 8, 10, 0 }, { 16, 185, 207, 8, 10, 0 }, { 16, 185, 208, 8, 10, 0 }, { 16, 185, 209, 8, 10, 0 }, { 16, 185, 210, 8, 10, 0 }, + { 16, 185, 211, 8, 10, 0 }, { 16, 186, 212, 8, 10, 0 }, { 16, 186, 213, 8, 10, 0 }, { 16, 186, 214, 8, 10, 0 }, { 16, 186, 215, 8, 10, 0 }, + { 16, 186, 216, 8, 10, 0 }, { 16, 186, 217, 8, 10, 0 }, { 16, 186, 218, 8, 10, 0 }, { 16, 186, 219, 8, 10, 0 }, { 16, 186, 220, 8, 10, 0 }, + { 16, 186, 221, 8, 10, 0 }, { 16, 186, 222, 8, 10, 0 }, { 16, 186, 223, 8, 10, 0 }, { 16, 186, 224, 8, 10, 0 }, { 16, 186, 225, 8, 10, 0 }, + { 16, 186, 226, 8, 10, 0 }, { 16, 186, 227, 8, 10, 0 }, { 16, 186, 228, 8, 10, 0 }, { 16, 186, 229, 8, 10, 0 }, { 16, 186, 230, 8, 10, 0 }, + { 16, 186, 230, 8, 10, 0 }, { 16, 186, 231, 8, 10, 0 }, { 16, 186, 232, 8, 10, 0 }, { 16, 186, 233, 8, 10, 0 }, { 16, 186, 234, 8, 10, 0 }, + { 16, 186, 235, 8, 10, 0 }, { 16, 186, 236, 8, 10, 0 }, { 16, 186, 237, 8, 10, 0 }, { 16, 186, 238, 8, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90795E = { - 304, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 1, 16, 0, 0 }, { 8, 16, 1, 16, 0, 0 }, { 9, 16, 1, 16, 0, 0 }, - { 10, 16, 1, 16, 0, 0 }, { 11, 16, 1, 16, 0, 0 }, { 12, 16, 1, 16, 0, 0 }, { 13, 16, 1, 16, 0, 0 }, { 14, 16, 1, 16, 0, 0 }, - { 15, 16, 1, 16, 0, 0 }, { 16, 16, 2, 16, 0, 0 }, { 17, 16, 2, 16, 1, 0 }, { 18, 16, 2, 16, 1, 0 }, { 19, 16, 2, 16, 1, 0 }, - { 20, 16, 2, 16, 1, 0 }, { 21, 16, 2, 16, 1, 0 }, { 22, 16, 2, 16, 1, 0 }, { 23, 16, 3, 16, 1, 0 }, { 24, 16, 3, 16, 1, 0 }, - { 25, 16, 3, 16, 1, 0 }, { 26, 16, 3, 16, 1, 0 }, { 27, 16, 3, 16, 1, 0 }, { 28, 16, 4, 16, 1, 0 }, { 29, 16, 4, 16, 1, 0 }, - { 30, 16, 4, 16, 1, 0 }, { 31, 16, 4, 16, 1, 0 }, { 32, 16, 5, 16, 1, 0 }, { 33, 16, 5, 16, 1, 0 }, { 34, 16, 5, 16, 1, 0 }, - { 35, 16, 5, 16, 1, 0 }, { 36, 16, 6, 16, 1, 0 }, { 37, 16, 6, 16, 1, 0 }, { 38, 16, 6, 16, 1, 0 }, { 39, 16, 6, 16, 1, 0 }, - { 40, 16, 7, 16, 1, 0 }, { 41, 16, 7, 16, 1, 0 }, { 42, 16, 7, 16, 1, 0 }, { 43, 16, 8, 16, 1, 0 }, { 44, 16, 8, 16, 1, 0 }, - { 45, 16, 8, 16, 1, 0 }, { 46, 16, 9, 16, 1, 0 }, { 47, 16, 9, 16, 1, 0 }, { 48, 16, 9, 16, 1, 0 }, { 49, 16, 10, 16, 1, 0 }, - { 50, 16, 10, 16, 1, 0 }, { 51, 16, 10, 16, 1, 0 }, { 52, 16, 11, 16, 1, 0 }, { 53, 16, 11, 16, 1, 0 }, { 54, 16, 11, 16, 2, 0 }, - { 55, 16, 12, 16, 2, 0 }, { 56, 16, 12, 16, 2, 0 }, { 57, 16, 13, 16, 2, 0 }, { 58, 16, 13, 16, 2, 0 }, { 59, 16, 13, 16, 2, 0 }, - { 60, 16, 14, 16, 2, 0 }, { 61, 16, 14, 16, 2, 0 }, { 62, 16, 15, 16, 2, 0 }, { 63, 16, 15, 16, 2, 0 }, { 64, 16, 16, 16, 2, 0 }, - { 65, 16, 16, 16, 2, 0 }, { 66, 16, 17, 16, 2, 0 }, { 67, 16, 17, 16, 2, 0 }, { 68, 16, 18, 16, 2, 0 }, { 69, 16, 18, 16, 2, 0 }, - { 70, 16, 19, 16, 2, 0 }, { 71, 16, 19, 16, 2, 0 }, { 72, 16, 20, 16, 2, 0 }, { 73, 16, 20, 16, 2, 0 }, { 74, 16, 21, 16, 2, 0 }, - { 75, 16, 21, 16, 2, 0 }, { 76, 16, 22, 16, 2, 0 }, { 77, 16, 22, 16, 2, 0 }, { 78, 16, 23, 16, 2, 0 }, { 79, 16, 24, 16, 2, 0 }, - { 80, 16, 24, 16, 2, 0 }, { 81, 16, 25, 16, 2, 0 }, { 82, 16, 25, 16, 2, 0 }, { 83, 16, 26, 16, 2, 0 }, { 84, 16, 27, 16, 2, 0 }, - { 85, 16, 27, 16, 2, 0 }, { 86, 16, 28, 16, 2, 0 }, { 87, 16, 29, 16, 2, 0 }, { 88, 16, 29, 16, 2, 0 }, { 89, 16, 30, 16, 2, 0 }, - { 90, 16, 31, 16, 2, 0 }, { 91, 16, 31, 16, 2, 0 }, { 92, 16, 32, 16, 2, 0 }, { 93, 16, 33, 16, 2, 0 }, { 94, 16, 33, 16, 2, 0 }, - { 95, 16, 34, 16, 2, 0 }, { 96, 16, 35, 16, 2, 0 }, { 97, 16, 36, 16, 2, 0 }, { 98, 16, 36, 16, 2, 0 }, { 99, 16, 37, 16, 2, 0 }, - { 100, 16, 38, 16, 2, 0 }, { 101, 16, 39, 16, 2, 0 }, { 102, 16, 39, 16, 3, 0 }, { 103, 16, 40, 16, 3, 0 }, { 104, 16, 41, 16, 3, 0 }, - { 105, 16, 42, 16, 3, 0 }, { 106, 16, 43, 16, 3, 0 }, { 107, 16, 44, 16, 3, 0 }, { 108, 16, 45, 16, 3, 0 }, { 109, 16, 45, 16, 3, 0 }, - { 110, 16, 46, 16, 3, 0 }, { 111, 16, 47, 16, 3, 0 }, { 112, 16, 48, 16, 3, 0 }, { 113, 16, 49, 16, 3, 0 }, { 114, 16, 50, 16, 3, 0 }, - { 115, 16, 51, 16, 3, 0 }, { 116, 16, 52, 16, 3, 0 }, { 117, 16, 53, 16, 3, 0 }, { 118, 16, 54, 16, 3, 0 }, { 119, 16, 55, 16, 3, 0 }, - { 120, 16, 56, 16, 3, 0 }, { 121, 16, 57, 16, 3, 0 }, { 122, 16, 58, 16, 3, 0 }, { 123, 16, 59, 16, 3, 0 }, { 124, 16, 60, 16, 3, 0 }, - { 125, 16, 61, 16, 3, 0 }, { 126, 16, 62, 16, 3, 0 }, { 127, 16, 63, 16, 3, 0 }, { 127, 16, 64, 16, 3, 0 }, { 128, 16, 65, 16, 3, 0 }, - { 129, 16, 66, 16, 3, 0 }, { 130, 16, 67, 16, 3, 0 }, { 131, 16, 68, 16, 3, 0 }, { 132, 16, 69, 16, 3, 0 }, { 132, 16, 70, 16, 3, 0 }, - { 133, 16, 71, 16, 3, 0 }, { 134, 16, 72, 16, 3, 0 }, { 135, 16, 73, 16, 3, 0 }, { 136, 16, 74, 16, 3, 0 }, { 136, 16, 75, 16, 3, 0 }, - { 137, 16, 76, 16, 3, 0 }, { 138, 16, 77, 16, 3, 0 }, { 139, 16, 78, 16, 3, 0 }, { 139, 16, 79, 16, 3, 0 }, { 140, 16, 80, 16, 3, 0 }, - { 141, 16, 81, 16, 3, 0 }, { 141, 16, 82, 16, 3, 0 }, { 142, 16, 83, 16, 3, 0 }, { 143, 16, 84, 16, 3, 0 }, { 144, 16, 85, 16, 3, 0 }, - { 144, 16, 86, 16, 3, 0 }, { 145, 16, 87, 16, 3, 0 }, { 146, 16, 88, 16, 3, 0 }, { 146, 16, 89, 16, 3, 0 }, { 147, 16, 90, 16, 4, 0 }, - { 147, 16, 91, 16, 4, 0 }, { 148, 16, 92, 16, 4, 0 }, { 149, 16, 93, 16, 4, 0 }, { 149, 16, 94, 16, 4, 0 }, { 150, 16, 95, 16, 4, 0 }, - { 151, 16, 96, 16, 4, 0 }, { 151, 16, 97, 16, 4, 0 }, { 152, 16, 98, 16, 4, 0 }, { 152, 16, 99, 16, 4, 0 }, { 153, 16, 100, 16, 4, 0 }, - { 153, 16, 101, 16, 4, 0 }, { 154, 16, 102, 16, 4, 0 }, { 155, 16, 103, 16, 4, 0 }, { 155, 16, 104, 16, 4, 0 }, { 156, 16, 105, 16, 4, 0 }, - { 156, 16, 106, 16, 4, 0 }, { 157, 16, 107, 16, 4, 0 }, { 157, 16, 108, 16, 4, 0 }, { 158, 16, 109, 16, 4, 0 }, { 158, 16, 110, 16, 4, 0 }, - { 159, 16, 111, 16, 4, 0 }, { 159, 16, 112, 16, 4, 0 }, { 160, 16, 113, 16, 4, 0 }, { 160, 16, 114, 16, 4, 0 }, { 161, 16, 115, 16, 4, 0 }, - { 161, 16, 116, 16, 4, 0 }, { 162, 16, 117, 16, 4, 0 }, { 162, 16, 118, 16, 4, 0 }, { 163, 16, 119, 16, 4, 0 }, { 163, 16, 120, 16, 4, 0 }, - { 164, 16, 121, 16, 4, 0 }, { 164, 16, 122, 16, 4, 0 }, { 164, 16, 123, 16, 4, 0 }, { 165, 16, 124, 16, 4, 0 }, { 165, 16, 125, 16, 4, 0 }, - { 166, 16, 126, 16, 4, 0 }, { 166, 16, 127, 16, 4, 0 }, { 167, 16, 128, 16, 4, 0 }, { 167, 16, 129, 16, 4, 0 }, { 167, 16, 130, 16, 4, 0 }, - { 168, 16, 131, 16, 4, 0 }, { 168, 16, 132, 16, 4, 0 }, { 169, 16, 133, 16, 4, 0 }, { 169, 16, 134, 16, 4, 0 }, { 169, 16, 135, 16, 9, 0 }, - { 170, 16, 136, 16, 9, 0 }, { 170, 16, 137, 16, 9, 0 }, { 170, 16, 138, 16, 9, 0 }, { 171, 16, 139, 16, 9, 0 }, { 171, 16, 140, 16, 9, 0 }, - { 171, 16, 141, 16, 9, 0 }, { 172, 16, 142, 16, 9, 0 }, { 172, 16, 143, 16, 9, 0 }, { 172, 16, 144, 16, 9, 0 }, { 173, 16, 145, 16, 9, 0 }, - { 173, 16, 146, 16, 9, 0 }, { 173, 16, 147, 16, 9, 0 }, { 174, 16, 148, 16, 9, 0 }, { 174, 16, 149, 16, 9, 0 }, { 174, 16, 150, 16, 9, 0 }, - { 175, 16, 151, 16, 9, 0 }, { 175, 16, 152, 16, 9, 0 }, { 175, 16, 153, 16, 9, 0 }, { 176, 16, 154, 16, 9, 0 }, { 176, 16, 155, 16, 9, 0 }, - { 176, 16, 156, 16, 9, 0 }, { 176, 16, 157, 16, 9, 0 }, { 177, 16, 158, 16, 9, 0 }, { 177, 16, 159, 16, 9, 0 }, { 177, 16, 160, 16, 9, 0 }, - { 178, 16, 161, 16, 9, 0 }, { 178, 16, 162, 16, 9, 0 }, { 178, 16, 163, 16, 9, 0 }, { 178, 16, 164, 16, 9, 0 }, { 179, 16, 165, 16, 9, 0 }, - { 179, 16, 166, 16, 9, 0 }, { 179, 16, 167, 16, 9, 0 }, { 179, 16, 168, 16, 9, 0 }, { 179, 16, 169, 16, 9, 0 }, { 180, 16, 170, 16, 9, 0 }, - { 180, 16, 171, 16, 9, 0 }, { 180, 16, 172, 16, 9, 0 }, { 180, 16, 173, 16, 9, 0 }, { 181, 16, 174, 16, 9, 0 }, { 181, 16, 175, 16, 9, 0 }, - { 181, 16, 176, 16, 9, 0 }, { 181, 16, 177, 16, 9, 0 }, { 181, 16, 178, 16, 9, 0 }, { 182, 16, 179, 16, 9, 0 }, { 182, 16, 180, 16, 9, 0 }, - { 182, 16, 181, 16, 9, 0 }, { 182, 16, 182, 16, 9, 0 }, { 182, 16, 183, 16, 9, 0 }, { 182, 16, 184, 16, 9, 0 }, { 183, 16, 185, 16, 9, 0 }, - { 183, 16, 186, 16, 9, 0 }, { 183, 16, 187, 16, 9, 0 }, { 183, 16, 188, 16, 10, 0 }, { 183, 16, 189, 16, 10, 0 }, { 183, 16, 190, 16, 10, 0 }, - { 183, 16, 191, 16, 10, 0 }, { 184, 16, 192, 16, 10, 0 }, { 184, 16, 193, 16, 10, 0 }, { 184, 16, 194, 16, 10, 0 }, { 184, 16, 195, 16, 10, 0 }, - { 184, 16, 196, 16, 10, 0 }, { 184, 16, 197, 16, 10, 0 }, { 184, 16, 198, 16, 10, 0 }, { 184, 16, 199, 16, 10, 0 }, { 185, 16, 200, 16, 10, 0 }, - { 185, 16, 201, 16, 10, 0 }, { 185, 16, 202, 16, 10, 0 }, { 185, 16, 203, 16, 10, 0 }, { 185, 16, 204, 16, 10, 0 }, { 185, 16, 205, 16, 10, 0 }, - { 185, 16, 206, 16, 10, 0 }, { 185, 16, 207, 16, 10, 0 }, { 185, 16, 208, 16, 10, 0 }, { 185, 16, 209, 16, 10, 0 }, { 185, 16, 210, 16, 10, 0 }, - { 185, 16, 211, 16, 10, 0 }, { 186, 16, 212, 16, 10, 0 }, { 186, 16, 213, 16, 10, 0 }, { 186, 16, 214, 16, 10, 0 }, { 186, 16, 215, 16, 10, 0 }, - { 186, 16, 216, 16, 10, 0 }, { 186, 16, 217, 16, 10, 0 }, { 186, 16, 218, 16, 10, 0 }, { 186, 16, 219, 16, 10, 0 }, { 186, 16, 220, 16, 10, 0 }, - { 186, 16, 221, 16, 10, 0 }, { 186, 16, 222, 16, 10, 0 }, { 186, 16, 223, 16, 10, 0 }, { 186, 16, 224, 16, 10, 0 }, { 186, 16, 225, 16, 10, 0 }, - { 186, 16, 226, 16, 10, 0 }, { 186, 16, 227, 16, 10, 0 }, { 186, 16, 228, 16, 10, 0 }, { 186, 16, 229, 16, 10, 0 }, { 186, 16, 230, 16, 10, 0 }, - { 186, 16, 230, 16, 10, 0 }, { 186, 16, 231, 16, 10, 0 }, { 186, 16, 232, 16, 10, 0 }, { 186, 16, 233, 16, 10, 0 }, { 186, 16, 234, 16, 10, 0 }, - { 186, 16, 235, 16, 10, 0 }, { 186, 16, 236, 16, 10, 0 }, { 186, 16, 237, 16, 10, 0 }, { 186, 16, 238, 16, 10, 0 }, + 304, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 1, 16, 0, 0 }, { 8, 16, 1, 16, 0, 0 }, { 9, 16, 1, 16, 0, 0 }, + { 10, 16, 1, 16, 0, 0 }, { 11, 16, 1, 16, 0, 0 }, { 12, 16, 1, 16, 0, 0 }, { 13, 16, 1, 16, 0, 0 }, { 14, 16, 1, 16, 0, 0 }, + { 15, 16, 1, 16, 0, 0 }, { 16, 16, 2, 16, 0, 0 }, { 17, 16, 2, 16, 1, 0 }, { 18, 16, 2, 16, 1, 0 }, { 19, 16, 2, 16, 1, 0 }, + { 20, 16, 2, 16, 1, 0 }, { 21, 16, 2, 16, 1, 0 }, { 22, 16, 2, 16, 1, 0 }, { 23, 16, 3, 16, 1, 0 }, { 24, 16, 3, 16, 1, 0 }, + { 25, 16, 3, 16, 1, 0 }, { 26, 16, 3, 16, 1, 0 }, { 27, 16, 3, 16, 1, 0 }, { 28, 16, 4, 16, 1, 0 }, { 29, 16, 4, 16, 1, 0 }, + { 30, 16, 4, 16, 1, 0 }, { 31, 16, 4, 16, 1, 0 }, { 32, 16, 5, 16, 1, 0 }, { 33, 16, 5, 16, 1, 0 }, { 34, 16, 5, 16, 1, 0 }, + { 35, 16, 5, 16, 1, 0 }, { 36, 16, 6, 16, 1, 0 }, { 37, 16, 6, 16, 1, 0 }, { 38, 16, 6, 16, 1, 0 }, { 39, 16, 6, 16, 1, 0 }, + { 40, 16, 7, 16, 1, 0 }, { 41, 16, 7, 16, 1, 0 }, { 42, 16, 7, 16, 1, 0 }, { 43, 16, 8, 16, 1, 0 }, { 44, 16, 8, 16, 1, 0 }, + { 45, 16, 8, 16, 1, 0 }, { 46, 16, 9, 16, 1, 0 }, { 47, 16, 9, 16, 1, 0 }, { 48, 16, 9, 16, 1, 0 }, { 49, 16, 10, 16, 1, 0 }, + { 50, 16, 10, 16, 1, 0 }, { 51, 16, 10, 16, 1, 0 }, { 52, 16, 11, 16, 1, 0 }, { 53, 16, 11, 16, 1, 0 }, { 54, 16, 11, 16, 2, 0 }, + { 55, 16, 12, 16, 2, 0 }, { 56, 16, 12, 16, 2, 0 }, { 57, 16, 13, 16, 2, 0 }, { 58, 16, 13, 16, 2, 0 }, { 59, 16, 13, 16, 2, 0 }, + { 60, 16, 14, 16, 2, 0 }, { 61, 16, 14, 16, 2, 0 }, { 62, 16, 15, 16, 2, 0 }, { 63, 16, 15, 16, 2, 0 }, { 64, 16, 16, 16, 2, 0 }, + { 65, 16, 16, 16, 2, 0 }, { 66, 16, 17, 16, 2, 0 }, { 67, 16, 17, 16, 2, 0 }, { 68, 16, 18, 16, 2, 0 }, { 69, 16, 18, 16, 2, 0 }, + { 70, 16, 19, 16, 2, 0 }, { 71, 16, 19, 16, 2, 0 }, { 72, 16, 20, 16, 2, 0 }, { 73, 16, 20, 16, 2, 0 }, { 74, 16, 21, 16, 2, 0 }, + { 75, 16, 21, 16, 2, 0 }, { 76, 16, 22, 16, 2, 0 }, { 77, 16, 22, 16, 2, 0 }, { 78, 16, 23, 16, 2, 0 }, { 79, 16, 24, 16, 2, 0 }, + { 80, 16, 24, 16, 2, 0 }, { 81, 16, 25, 16, 2, 0 }, { 82, 16, 25, 16, 2, 0 }, { 83, 16, 26, 16, 2, 0 }, { 84, 16, 27, 16, 2, 0 }, + { 85, 16, 27, 16, 2, 0 }, { 86, 16, 28, 16, 2, 0 }, { 87, 16, 29, 16, 2, 0 }, { 88, 16, 29, 16, 2, 0 }, { 89, 16, 30, 16, 2, 0 }, + { 90, 16, 31, 16, 2, 0 }, { 91, 16, 31, 16, 2, 0 }, { 92, 16, 32, 16, 2, 0 }, { 93, 16, 33, 16, 2, 0 }, { 94, 16, 33, 16, 2, 0 }, + { 95, 16, 34, 16, 2, 0 }, { 96, 16, 35, 16, 2, 0 }, { 97, 16, 36, 16, 2, 0 }, { 98, 16, 36, 16, 2, 0 }, { 99, 16, 37, 16, 2, 0 }, + { 100, 16, 38, 16, 2, 0 }, { 101, 16, 39, 16, 2, 0 }, { 102, 16, 39, 16, 3, 0 }, { 103, 16, 40, 16, 3, 0 }, { 104, 16, 41, 16, 3, 0 }, + { 105, 16, 42, 16, 3, 0 }, { 106, 16, 43, 16, 3, 0 }, { 107, 16, 44, 16, 3, 0 }, { 108, 16, 45, 16, 3, 0 }, { 109, 16, 45, 16, 3, 0 }, + { 110, 16, 46, 16, 3, 0 }, { 111, 16, 47, 16, 3, 0 }, { 112, 16, 48, 16, 3, 0 }, { 113, 16, 49, 16, 3, 0 }, { 114, 16, 50, 16, 3, 0 }, + { 115, 16, 51, 16, 3, 0 }, { 116, 16, 52, 16, 3, 0 }, { 117, 16, 53, 16, 3, 0 }, { 118, 16, 54, 16, 3, 0 }, { 119, 16, 55, 16, 3, 0 }, + { 120, 16, 56, 16, 3, 0 }, { 121, 16, 57, 16, 3, 0 }, { 122, 16, 58, 16, 3, 0 }, { 123, 16, 59, 16, 3, 0 }, { 124, 16, 60, 16, 3, 0 }, + { 125, 16, 61, 16, 3, 0 }, { 126, 16, 62, 16, 3, 0 }, { 127, 16, 63, 16, 3, 0 }, { 127, 16, 64, 16, 3, 0 }, { 128, 16, 65, 16, 3, 0 }, + { 129, 16, 66, 16, 3, 0 }, { 130, 16, 67, 16, 3, 0 }, { 131, 16, 68, 16, 3, 0 }, { 132, 16, 69, 16, 3, 0 }, { 132, 16, 70, 16, 3, 0 }, + { 133, 16, 71, 16, 3, 0 }, { 134, 16, 72, 16, 3, 0 }, { 135, 16, 73, 16, 3, 0 }, { 136, 16, 74, 16, 3, 0 }, { 136, 16, 75, 16, 3, 0 }, + { 137, 16, 76, 16, 3, 0 }, { 138, 16, 77, 16, 3, 0 }, { 139, 16, 78, 16, 3, 0 }, { 139, 16, 79, 16, 3, 0 }, { 140, 16, 80, 16, 3, 0 }, + { 141, 16, 81, 16, 3, 0 }, { 141, 16, 82, 16, 3, 0 }, { 142, 16, 83, 16, 3, 0 }, { 143, 16, 84, 16, 3, 0 }, { 144, 16, 85, 16, 3, 0 }, + { 144, 16, 86, 16, 3, 0 }, { 145, 16, 87, 16, 3, 0 }, { 146, 16, 88, 16, 3, 0 }, { 146, 16, 89, 16, 3, 0 }, { 147, 16, 90, 16, 4, 0 }, + { 147, 16, 91, 16, 4, 0 }, { 148, 16, 92, 16, 4, 0 }, { 149, 16, 93, 16, 4, 0 }, { 149, 16, 94, 16, 4, 0 }, { 150, 16, 95, 16, 4, 0 }, + { 151, 16, 96, 16, 4, 0 }, { 151, 16, 97, 16, 4, 0 }, { 152, 16, 98, 16, 4, 0 }, { 152, 16, 99, 16, 4, 0 }, { 153, 16, 100, 16, 4, 0 }, + { 153, 16, 101, 16, 4, 0 }, { 154, 16, 102, 16, 4, 0 }, { 155, 16, 103, 16, 4, 0 }, { 155, 16, 104, 16, 4, 0 }, { 156, 16, 105, 16, 4, 0 }, + { 156, 16, 106, 16, 4, 0 }, { 157, 16, 107, 16, 4, 0 }, { 157, 16, 108, 16, 4, 0 }, { 158, 16, 109, 16, 4, 0 }, { 158, 16, 110, 16, 4, 0 }, + { 159, 16, 111, 16, 4, 0 }, { 159, 16, 112, 16, 4, 0 }, { 160, 16, 113, 16, 4, 0 }, { 160, 16, 114, 16, 4, 0 }, { 161, 16, 115, 16, 4, 0 }, + { 161, 16, 116, 16, 4, 0 }, { 162, 16, 117, 16, 4, 0 }, { 162, 16, 118, 16, 4, 0 }, { 163, 16, 119, 16, 4, 0 }, { 163, 16, 120, 16, 4, 0 }, + { 164, 16, 121, 16, 4, 0 }, { 164, 16, 122, 16, 4, 0 }, { 164, 16, 123, 16, 4, 0 }, { 165, 16, 124, 16, 4, 0 }, { 165, 16, 125, 16, 4, 0 }, + { 166, 16, 126, 16, 4, 0 }, { 166, 16, 127, 16, 4, 0 }, { 167, 16, 128, 16, 4, 0 }, { 167, 16, 129, 16, 4, 0 }, { 167, 16, 130, 16, 4, 0 }, + { 168, 16, 131, 16, 4, 0 }, { 168, 16, 132, 16, 4, 0 }, { 169, 16, 133, 16, 4, 0 }, { 169, 16, 134, 16, 4, 0 }, { 169, 16, 135, 16, 9, 0 }, + { 170, 16, 136, 16, 9, 0 }, { 170, 16, 137, 16, 9, 0 }, { 170, 16, 138, 16, 9, 0 }, { 171, 16, 139, 16, 9, 0 }, { 171, 16, 140, 16, 9, 0 }, + { 171, 16, 141, 16, 9, 0 }, { 172, 16, 142, 16, 9, 0 }, { 172, 16, 143, 16, 9, 0 }, { 172, 16, 144, 16, 9, 0 }, { 173, 16, 145, 16, 9, 0 }, + { 173, 16, 146, 16, 9, 0 }, { 173, 16, 147, 16, 9, 0 }, { 174, 16, 148, 16, 9, 0 }, { 174, 16, 149, 16, 9, 0 }, { 174, 16, 150, 16, 9, 0 }, + { 175, 16, 151, 16, 9, 0 }, { 175, 16, 152, 16, 9, 0 }, { 175, 16, 153, 16, 9, 0 }, { 176, 16, 154, 16, 9, 0 }, { 176, 16, 155, 16, 9, 0 }, + { 176, 16, 156, 16, 9, 0 }, { 176, 16, 157, 16, 9, 0 }, { 177, 16, 158, 16, 9, 0 }, { 177, 16, 159, 16, 9, 0 }, { 177, 16, 160, 16, 9, 0 }, + { 178, 16, 161, 16, 9, 0 }, { 178, 16, 162, 16, 9, 0 }, { 178, 16, 163, 16, 9, 0 }, { 178, 16, 164, 16, 9, 0 }, { 179, 16, 165, 16, 9, 0 }, + { 179, 16, 166, 16, 9, 0 }, { 179, 16, 167, 16, 9, 0 }, { 179, 16, 168, 16, 9, 0 }, { 179, 16, 169, 16, 9, 0 }, { 180, 16, 170, 16, 9, 0 }, + { 180, 16, 171, 16, 9, 0 }, { 180, 16, 172, 16, 9, 0 }, { 180, 16, 173, 16, 9, 0 }, { 181, 16, 174, 16, 9, 0 }, { 181, 16, 175, 16, 9, 0 }, + { 181, 16, 176, 16, 9, 0 }, { 181, 16, 177, 16, 9, 0 }, { 181, 16, 178, 16, 9, 0 }, { 182, 16, 179, 16, 9, 0 }, { 182, 16, 180, 16, 9, 0 }, + { 182, 16, 181, 16, 9, 0 }, { 182, 16, 182, 16, 9, 0 }, { 182, 16, 183, 16, 9, 0 }, { 182, 16, 184, 16, 9, 0 }, { 183, 16, 185, 16, 9, 0 }, + { 183, 16, 186, 16, 9, 0 }, { 183, 16, 187, 16, 9, 0 }, { 183, 16, 188, 16, 10, 0 }, { 183, 16, 189, 16, 10, 0 }, { 183, 16, 190, 16, 10, 0 }, + { 183, 16, 191, 16, 10, 0 }, { 184, 16, 192, 16, 10, 0 }, { 184, 16, 193, 16, 10, 0 }, { 184, 16, 194, 16, 10, 0 }, { 184, 16, 195, 16, 10, 0 }, + { 184, 16, 196, 16, 10, 0 }, { 184, 16, 197, 16, 10, 0 }, { 184, 16, 198, 16, 10, 0 }, { 184, 16, 199, 16, 10, 0 }, { 185, 16, 200, 16, 10, 0 }, + { 185, 16, 201, 16, 10, 0 }, { 185, 16, 202, 16, 10, 0 }, { 185, 16, 203, 16, 10, 0 }, { 185, 16, 204, 16, 10, 0 }, { 185, 16, 205, 16, 10, 0 }, + { 185, 16, 206, 16, 10, 0 }, { 185, 16, 207, 16, 10, 0 }, { 185, 16, 208, 16, 10, 0 }, { 185, 16, 209, 16, 10, 0 }, { 185, 16, 210, 16, 10, 0 }, + { 185, 16, 211, 16, 10, 0 }, { 186, 16, 212, 16, 10, 0 }, { 186, 16, 213, 16, 10, 0 }, { 186, 16, 214, 16, 10, 0 }, { 186, 16, 215, 16, 10, 0 }, + { 186, 16, 216, 16, 10, 0 }, { 186, 16, 217, 16, 10, 0 }, { 186, 16, 218, 16, 10, 0 }, { 186, 16, 219, 16, 10, 0 }, { 186, 16, 220, 16, 10, 0 }, + { 186, 16, 221, 16, 10, 0 }, { 186, 16, 222, 16, 10, 0 }, { 186, 16, 223, 16, 10, 0 }, { 186, 16, 224, 16, 10, 0 }, { 186, 16, 225, 16, 10, 0 }, + { 186, 16, 226, 16, 10, 0 }, { 186, 16, 227, 16, 10, 0 }, { 186, 16, 228, 16, 10, 0 }, { 186, 16, 229, 16, 10, 0 }, { 186, 16, 230, 16, 10, 0 }, + { 186, 16, 230, 16, 10, 0 }, { 186, 16, 231, 16, 10, 0 }, { 186, 16, 232, 16, 10, 0 }, { 186, 16, 233, 16, 10, 0 }, { 186, 16, 234, 16, 10, 0 }, + { 186, 16, 235, 16, 10, 0 }, { 186, 16, 236, 16, 10, 0 }, { 186, 16, 237, 16, 10, 0 }, { 186, 16, 238, 16, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_908410 = { - 304, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 1, 24, 0, 0 }, { 16, 23, 1, 24, 0, 0 }, { 16, 22, 1, 24, 0, 0 }, - { 16, 21, 1, 24, 0, 0 }, { 16, 20, 1, 24, 0, 0 }, { 16, 19, 1, 24, 0, 0 }, { 16, 18, 1, 24, 0, 0 }, { 16, 17, 1, 24, 0, 0 }, - { 16, 16, 1, 24, 0, 0 }, { 16, 15, 2, 24, 0, 0 }, { 16, 14, 2, 24, 1, 0 }, { 16, 13, 2, 24, 1, 0 }, { 16, 12, 2, 24, 1, 0 }, - { 16, 11, 2, 24, 1, 0 }, { 16, 10, 2, 24, 1, 0 }, { 16, 9, 2, 24, 1, 0 }, { 16, 8, 3, 24, 1, 0 }, { 16, 7, 3, 24, 1, 0 }, - { 16, 6, 3, 24, 1, 0 }, { 16, 5, 3, 24, 1, 0 }, { 16, 4, 3, 24, 1, 0 }, { 16, 3, 4, 24, 1, 0 }, { 16, 2, 4, 24, 1, 0 }, - { 16, 1, 4, 24, 1, 0 }, { 16, 0, 4, 24, 1, 0 }, { 16, -1, 5, 24, 1, 0 }, { 16, -2, 5, 24, 1, 0 }, { 16, -3, 5, 24, 1, 0 }, - { 16, -4, 5, 24, 1, 0 }, { 16, -5, 6, 24, 1, 0 }, { 16, -6, 6, 24, 1, 0 }, { 16, -7, 6, 24, 1, 0 }, { 16, -8, 6, 24, 1, 0 }, - { 16, -9, 7, 24, 1, 0 }, { 16, -10, 7, 24, 1, 0 }, { 16, -11, 7, 24, 1, 0 }, { 16, -12, 8, 24, 1, 0 }, { 16, -13, 8, 24, 1, 0 }, - { 16, -14, 8, 24, 1, 0 }, { 16, -15, 9, 24, 1, 0 }, { 16, -16, 9, 24, 1, 0 }, { 16, -17, 9, 24, 1, 0 }, { 16, -18, 10, 24, 1, 0 }, - { 16, -19, 10, 24, 1, 0 }, { 16, -20, 10, 24, 1, 0 }, { 16, -21, 11, 24, 1, 0 }, { 16, -22, 11, 24, 1, 0 }, { 16, -23, 11, 24, 2, 0 }, - { 16, -24, 12, 24, 2, 0 }, { 16, -25, 12, 24, 2, 0 }, { 16, -26, 13, 24, 2, 0 }, { 16, -27, 13, 24, 2, 0 }, { 16, -28, 13, 24, 2, 0 }, - { 16, -29, 14, 24, 2, 0 }, { 16, -30, 14, 24, 2, 0 }, { 16, -31, 15, 24, 2, 0 }, { 16, -32, 15, 24, 2, 0 }, { 16, -33, 16, 24, 2, 0 }, - { 16, -34, 16, 24, 2, 0 }, { 16, -35, 17, 24, 2, 0 }, { 16, -36, 17, 24, 2, 0 }, { 16, -37, 18, 24, 2, 0 }, { 16, -38, 18, 24, 2, 0 }, - { 16, -39, 19, 24, 2, 0 }, { 16, -40, 19, 24, 2, 0 }, { 16, -41, 20, 24, 2, 0 }, { 16, -42, 20, 24, 2, 0 }, { 16, -43, 21, 24, 2, 0 }, - { 16, -44, 21, 24, 2, 0 }, { 16, -45, 22, 24, 2, 0 }, { 16, -46, 22, 24, 2, 0 }, { 16, -47, 23, 24, 2, 0 }, { 16, -48, 24, 24, 2, 0 }, - { 16, -49, 24, 24, 2, 0 }, { 16, -50, 25, 24, 2, 0 }, { 16, -51, 25, 24, 2, 0 }, { 16, -52, 26, 24, 2, 0 }, { 16, -53, 27, 24, 2, 0 }, - { 16, -54, 27, 24, 2, 0 }, { 16, -55, 28, 24, 2, 0 }, { 16, -56, 29, 24, 2, 0 }, { 16, -57, 29, 24, 2, 0 }, { 16, -58, 30, 24, 2, 0 }, - { 16, -59, 31, 24, 2, 0 }, { 16, -60, 31, 24, 2, 0 }, { 16, -61, 32, 24, 2, 0 }, { 16, -62, 33, 24, 2, 0 }, { 16, -63, 33, 24, 2, 0 }, - { 16, -64, 34, 24, 2, 0 }, { 16, -65, 35, 24, 2, 0 }, { 16, -66, 36, 24, 2, 0 }, { 16, -67, 36, 24, 2, 0 }, { 16, -68, 37, 24, 2, 0 }, - { 16, -69, 38, 24, 2, 0 }, { 16, -70, 39, 24, 2, 0 }, { 16, -71, 39, 24, 3, 0 }, { 16, -72, 40, 24, 3, 0 }, { 16, -73, 41, 24, 3, 0 }, - { 16, -74, 42, 24, 3, 0 }, { 16, -75, 43, 24, 3, 0 }, { 16, -76, 44, 24, 3, 0 }, { 16, -77, 45, 24, 3, 0 }, { 16, -78, 45, 24, 3, 0 }, - { 16, -79, 46, 24, 3, 0 }, { 16, -80, 47, 24, 3, 0 }, { 16, -81, 48, 24, 3, 0 }, { 16, -82, 49, 24, 3, 0 }, { 16, -83, 50, 24, 3, 0 }, - { 16, -84, 51, 24, 3, 0 }, { 16, -85, 52, 24, 3, 0 }, { 16, -86, 53, 24, 3, 0 }, { 16, -87, 54, 24, 3, 0 }, { 16, -88, 55, 24, 3, 0 }, - { 16, -89, 56, 24, 3, 0 }, { 16, -90, 57, 24, 3, 0 }, { 16, -91, 58, 24, 3, 0 }, { 16, -92, 59, 24, 3, 0 }, { 16, -93, 60, 24, 3, 0 }, - { 16, -94, 61, 24, 3, 0 }, { 16, -95, 62, 24, 3, 0 }, { 16, -96, 63, 24, 3, 0 }, { 16, -96, 64, 24, 3, 0 }, { 16, -97, 65, 24, 3, 0 }, - { 16, -98, 66, 24, 3, 0 }, { 16, -99, 67, 24, 3, 0 }, { 16, -100, 68, 24, 3, 0 }, { 16, -101, 69, 24, 3, 0 }, { 16, -101, 70, 24, 3, 0 }, - { 16, -102, 71, 24, 3, 0 }, { 16, -103, 72, 24, 3, 0 }, { 16, -104, 73, 24, 3, 0 }, { 16, -105, 74, 24, 3, 0 }, { 16, -105, 75, 24, 3, 0 }, - { 16, -106, 76, 24, 3, 0 }, { 16, -107, 77, 24, 3, 0 }, { 16, -108, 78, 24, 3, 0 }, { 16, -108, 79, 24, 3, 0 }, { 16, -109, 80, 24, 3, 0 }, - { 16, -110, 81, 24, 3, 0 }, { 16, -110, 82, 24, 3, 0 }, { 16, -111, 83, 24, 3, 0 }, { 16, -112, 84, 24, 3, 0 }, { 16, -113, 85, 24, 3, 0 }, - { 16, -113, 86, 24, 3, 0 }, { 16, -114, 87, 24, 3, 0 }, { 16, -115, 88, 24, 3, 0 }, { 16, -115, 89, 24, 3, 0 }, { 16, -116, 90, 24, 4, 0 }, - { 16, -116, 91, 24, 4, 0 }, { 16, -117, 92, 24, 4, 0 }, { 16, -118, 93, 24, 4, 0 }, { 16, -118, 94, 24, 4, 0 }, { 16, -119, 95, 24, 4, 0 }, - { 16, -120, 96, 24, 4, 0 }, { 16, -120, 97, 24, 4, 0 }, { 16, -121, 98, 24, 4, 0 }, { 16, -121, 99, 24, 4, 0 }, { 16, -122, 100, 24, 4, 0 }, - { 16, -122, 101, 24, 4, 0 }, { 16, -123, 102, 24, 4, 0 }, { 16, -124, 103, 24, 4, 0 }, { 16, -124, 104, 24, 4, 0 }, { 16, -125, 105, 24, 4, 0 }, - { 16, -125, 106, 24, 4, 0 }, { 16, -126, 107, 24, 4, 0 }, { 16, -126, 108, 24, 4, 0 }, { 16, -127, 109, 24, 4, 0 }, { 16, -127, 110, 24, 4, 0 }, - { 16, -128, 111, 24, 4, 0 }, { 16, -128, 112, 24, 4, 0 }, { 16, -129, 113, 24, 4, 0 }, { 16, -129, 114, 24, 4, 0 }, { 16, -130, 115, 24, 4, 0 }, - { 16, -130, 116, 24, 4, 0 }, { 16, -131, 117, 24, 4, 0 }, { 16, -131, 118, 24, 4, 0 }, { 16, -132, 119, 24, 4, 0 }, { 16, -132, 120, 24, 4, 0 }, - { 16, -133, 121, 24, 4, 0 }, { 16, -133, 122, 24, 4, 0 }, { 16, -133, 123, 24, 4, 0 }, { 16, -134, 124, 24, 4, 0 }, { 16, -134, 125, 24, 4, 0 }, - { 16, -135, 126, 24, 4, 0 }, { 16, -135, 127, 24, 4, 0 }, { 16, -136, 128, 24, 4, 0 }, { 16, -136, 129, 24, 4, 0 }, { 16, -136, 130, 24, 4, 0 }, - { 16, -137, 131, 24, 4, 0 }, { 16, -137, 132, 24, 4, 0 }, { 16, -138, 133, 24, 4, 0 }, { 16, -138, 134, 24, 4, 0 }, { 16, -138, 135, 24, 9, 0 }, - { 16, -139, 136, 24, 9, 0 }, { 16, -139, 137, 24, 9, 0 }, { 16, -139, 138, 24, 9, 0 }, { 16, -140, 139, 24, 9, 0 }, { 16, -140, 140, 24, 9, 0 }, - { 16, -140, 141, 24, 9, 0 }, { 16, -141, 142, 24, 9, 0 }, { 16, -141, 143, 24, 9, 0 }, { 16, -141, 144, 24, 9, 0 }, { 16, -142, 145, 24, 9, 0 }, - { 16, -142, 146, 24, 9, 0 }, { 16, -142, 147, 24, 9, 0 }, { 16, -143, 148, 24, 9, 0 }, { 16, -143, 149, 24, 9, 0 }, { 16, -143, 150, 24, 9, 0 }, - { 16, -144, 151, 24, 9, 0 }, { 16, -144, 152, 24, 9, 0 }, { 16, -144, 153, 24, 9, 0 }, { 16, -145, 154, 24, 9, 0 }, { 16, -145, 155, 24, 9, 0 }, - { 16, -145, 156, 24, 9, 0 }, { 16, -145, 157, 24, 9, 0 }, { 16, -146, 158, 24, 9, 0 }, { 16, -146, 159, 24, 9, 0 }, { 16, -146, 160, 24, 9, 0 }, - { 16, -147, 161, 24, 9, 0 }, { 16, -147, 162, 24, 9, 0 }, { 16, -147, 163, 24, 9, 0 }, { 16, -147, 164, 24, 9, 0 }, { 16, -148, 165, 24, 9, 0 }, - { 16, -148, 166, 24, 9, 0 }, { 16, -148, 167, 24, 9, 0 }, { 16, -148, 168, 24, 9, 0 }, { 16, -148, 169, 24, 9, 0 }, { 16, -149, 170, 24, 9, 0 }, - { 16, -149, 171, 24, 9, 0 }, { 16, -149, 172, 24, 9, 0 }, { 16, -149, 173, 24, 9, 0 }, { 16, -150, 174, 24, 9, 0 }, { 16, -150, 175, 24, 9, 0 }, - { 16, -150, 176, 24, 9, 0 }, { 16, -150, 177, 24, 9, 0 }, { 16, -150, 178, 24, 9, 0 }, { 16, -151, 179, 24, 9, 0 }, { 16, -151, 180, 24, 9, 0 }, - { 16, -151, 181, 24, 9, 0 }, { 16, -151, 182, 24, 9, 0 }, { 16, -151, 183, 24, 9, 0 }, { 16, -151, 184, 24, 9, 0 }, { 16, -152, 185, 24, 9, 0 }, - { 16, -152, 186, 24, 9, 0 }, { 16, -152, 187, 24, 9, 0 }, { 16, -152, 188, 24, 10, 0 }, { 16, -152, 189, 24, 10, 0 }, { 16, -152, 190, 24, 10, 0 }, - { 16, -152, 191, 24, 10, 0 }, { 16, -153, 192, 24, 10, 0 }, { 16, -153, 193, 24, 10, 0 }, { 16, -153, 194, 24, 10, 0 }, { 16, -153, 195, 24, 10, 0 }, - { 16, -153, 196, 24, 10, 0 }, { 16, -153, 197, 24, 10, 0 }, { 16, -153, 198, 24, 10, 0 }, { 16, -153, 199, 24, 10, 0 }, { 16, -154, 200, 24, 10, 0 }, - { 16, -154, 201, 24, 10, 0 }, { 16, -154, 202, 24, 10, 0 }, { 16, -154, 203, 24, 10, 0 }, { 16, -154, 204, 24, 10, 0 }, { 16, -154, 205, 24, 10, 0 }, - { 16, -154, 206, 24, 10, 0 }, { 16, -154, 207, 24, 10, 0 }, { 16, -154, 208, 24, 10, 0 }, { 16, -154, 209, 24, 10, 0 }, { 16, -154, 210, 24, 10, 0 }, - { 16, -154, 211, 24, 10, 0 }, { 16, -155, 212, 24, 10, 0 }, { 16, -155, 213, 24, 10, 0 }, { 16, -155, 214, 24, 10, 0 }, { 16, -155, 215, 24, 10, 0 }, - { 16, -155, 216, 24, 10, 0 }, { 16, -155, 217, 24, 10, 0 }, { 16, -155, 218, 24, 10, 0 }, { 16, -155, 219, 24, 10, 0 }, { 16, -155, 220, 24, 10, 0 }, - { 16, -155, 221, 24, 10, 0 }, { 16, -155, 222, 24, 10, 0 }, { 16, -155, 223, 24, 10, 0 }, { 16, -155, 224, 24, 10, 0 }, { 16, -155, 225, 24, 10, 0 }, - { 16, -155, 226, 24, 10, 0 }, { 16, -155, 227, 24, 10, 0 }, { 16, -155, 228, 24, 10, 0 }, { 16, -155, 229, 24, 10, 0 }, { 16, -155, 230, 24, 10, 0 }, - { 16, -155, 230, 24, 10, 0 }, { 16, -155, 231, 24, 10, 0 }, { 16, -155, 232, 24, 10, 0 }, { 16, -155, 233, 24, 10, 0 }, { 16, -155, 234, 24, 10, 0 }, - { 16, -155, 235, 24, 10, 0 }, { 16, -155, 236, 24, 10, 0 }, { 16, -155, 237, 24, 10, 0 }, { 16, -155, 238, 24, 10, 0 }, + 304, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 1, 24, 0, 0 }, { 16, 23, 1, 24, 0, 0 }, { 16, 22, 1, 24, 0, 0 }, + { 16, 21, 1, 24, 0, 0 }, { 16, 20, 1, 24, 0, 0 }, { 16, 19, 1, 24, 0, 0 }, { 16, 18, 1, 24, 0, 0 }, { 16, 17, 1, 24, 0, 0 }, + { 16, 16, 1, 24, 0, 0 }, { 16, 15, 2, 24, 0, 0 }, { 16, 14, 2, 24, 1, 0 }, { 16, 13, 2, 24, 1, 0 }, { 16, 12, 2, 24, 1, 0 }, + { 16, 11, 2, 24, 1, 0 }, { 16, 10, 2, 24, 1, 0 }, { 16, 9, 2, 24, 1, 0 }, { 16, 8, 3, 24, 1, 0 }, { 16, 7, 3, 24, 1, 0 }, + { 16, 6, 3, 24, 1, 0 }, { 16, 5, 3, 24, 1, 0 }, { 16, 4, 3, 24, 1, 0 }, { 16, 3, 4, 24, 1, 0 }, { 16, 2, 4, 24, 1, 0 }, + { 16, 1, 4, 24, 1, 0 }, { 16, 0, 4, 24, 1, 0 }, { 16, -1, 5, 24, 1, 0 }, { 16, -2, 5, 24, 1, 0 }, { 16, -3, 5, 24, 1, 0 }, + { 16, -4, 5, 24, 1, 0 }, { 16, -5, 6, 24, 1, 0 }, { 16, -6, 6, 24, 1, 0 }, { 16, -7, 6, 24, 1, 0 }, { 16, -8, 6, 24, 1, 0 }, + { 16, -9, 7, 24, 1, 0 }, { 16, -10, 7, 24, 1, 0 }, { 16, -11, 7, 24, 1, 0 }, { 16, -12, 8, 24, 1, 0 }, { 16, -13, 8, 24, 1, 0 }, + { 16, -14, 8, 24, 1, 0 }, { 16, -15, 9, 24, 1, 0 }, { 16, -16, 9, 24, 1, 0 }, { 16, -17, 9, 24, 1, 0 }, { 16, -18, 10, 24, 1, 0 }, + { 16, -19, 10, 24, 1, 0 }, { 16, -20, 10, 24, 1, 0 }, { 16, -21, 11, 24, 1, 0 }, { 16, -22, 11, 24, 1, 0 }, { 16, -23, 11, 24, 2, 0 }, + { 16, -24, 12, 24, 2, 0 }, { 16, -25, 12, 24, 2, 0 }, { 16, -26, 13, 24, 2, 0 }, { 16, -27, 13, 24, 2, 0 }, { 16, -28, 13, 24, 2, 0 }, + { 16, -29, 14, 24, 2, 0 }, { 16, -30, 14, 24, 2, 0 }, { 16, -31, 15, 24, 2, 0 }, { 16, -32, 15, 24, 2, 0 }, { 16, -33, 16, 24, 2, 0 }, + { 16, -34, 16, 24, 2, 0 }, { 16, -35, 17, 24, 2, 0 }, { 16, -36, 17, 24, 2, 0 }, { 16, -37, 18, 24, 2, 0 }, { 16, -38, 18, 24, 2, 0 }, + { 16, -39, 19, 24, 2, 0 }, { 16, -40, 19, 24, 2, 0 }, { 16, -41, 20, 24, 2, 0 }, { 16, -42, 20, 24, 2, 0 }, { 16, -43, 21, 24, 2, 0 }, + { 16, -44, 21, 24, 2, 0 }, { 16, -45, 22, 24, 2, 0 }, { 16, -46, 22, 24, 2, 0 }, { 16, -47, 23, 24, 2, 0 }, { 16, -48, 24, 24, 2, 0 }, + { 16, -49, 24, 24, 2, 0 }, { 16, -50, 25, 24, 2, 0 }, { 16, -51, 25, 24, 2, 0 }, { 16, -52, 26, 24, 2, 0 }, { 16, -53, 27, 24, 2, 0 }, + { 16, -54, 27, 24, 2, 0 }, { 16, -55, 28, 24, 2, 0 }, { 16, -56, 29, 24, 2, 0 }, { 16, -57, 29, 24, 2, 0 }, { 16, -58, 30, 24, 2, 0 }, + { 16, -59, 31, 24, 2, 0 }, { 16, -60, 31, 24, 2, 0 }, { 16, -61, 32, 24, 2, 0 }, { 16, -62, 33, 24, 2, 0 }, { 16, -63, 33, 24, 2, 0 }, + { 16, -64, 34, 24, 2, 0 }, { 16, -65, 35, 24, 2, 0 }, { 16, -66, 36, 24, 2, 0 }, { 16, -67, 36, 24, 2, 0 }, { 16, -68, 37, 24, 2, 0 }, + { 16, -69, 38, 24, 2, 0 }, { 16, -70, 39, 24, 2, 0 }, { 16, -71, 39, 24, 3, 0 }, { 16, -72, 40, 24, 3, 0 }, { 16, -73, 41, 24, 3, 0 }, + { 16, -74, 42, 24, 3, 0 }, { 16, -75, 43, 24, 3, 0 }, { 16, -76, 44, 24, 3, 0 }, { 16, -77, 45, 24, 3, 0 }, { 16, -78, 45, 24, 3, 0 }, + { 16, -79, 46, 24, 3, 0 }, { 16, -80, 47, 24, 3, 0 }, { 16, -81, 48, 24, 3, 0 }, { 16, -82, 49, 24, 3, 0 }, { 16, -83, 50, 24, 3, 0 }, + { 16, -84, 51, 24, 3, 0 }, { 16, -85, 52, 24, 3, 0 }, { 16, -86, 53, 24, 3, 0 }, { 16, -87, 54, 24, 3, 0 }, { 16, -88, 55, 24, 3, 0 }, + { 16, -89, 56, 24, 3, 0 }, { 16, -90, 57, 24, 3, 0 }, { 16, -91, 58, 24, 3, 0 }, { 16, -92, 59, 24, 3, 0 }, { 16, -93, 60, 24, 3, 0 }, + { 16, -94, 61, 24, 3, 0 }, { 16, -95, 62, 24, 3, 0 }, { 16, -96, 63, 24, 3, 0 }, { 16, -96, 64, 24, 3, 0 }, { 16, -97, 65, 24, 3, 0 }, + { 16, -98, 66, 24, 3, 0 }, { 16, -99, 67, 24, 3, 0 }, { 16, -100, 68, 24, 3, 0 }, { 16, -101, 69, 24, 3, 0 }, { 16, -101, 70, 24, 3, 0 }, + { 16, -102, 71, 24, 3, 0 }, { 16, -103, 72, 24, 3, 0 }, { 16, -104, 73, 24, 3, 0 }, { 16, -105, 74, 24, 3, 0 }, { 16, -105, 75, 24, 3, 0 }, + { 16, -106, 76, 24, 3, 0 }, { 16, -107, 77, 24, 3, 0 }, { 16, -108, 78, 24, 3, 0 }, { 16, -108, 79, 24, 3, 0 }, { 16, -109, 80, 24, 3, 0 }, + { 16, -110, 81, 24, 3, 0 }, { 16, -110, 82, 24, 3, 0 }, { 16, -111, 83, 24, 3, 0 }, { 16, -112, 84, 24, 3, 0 }, { 16, -113, 85, 24, 3, 0 }, + { 16, -113, 86, 24, 3, 0 }, { 16, -114, 87, 24, 3, 0 }, { 16, -115, 88, 24, 3, 0 }, { 16, -115, 89, 24, 3, 0 }, { 16, -116, 90, 24, 4, 0 }, + { 16, -116, 91, 24, 4, 0 }, { 16, -117, 92, 24, 4, 0 }, { 16, -118, 93, 24, 4, 0 }, { 16, -118, 94, 24, 4, 0 }, { 16, -119, 95, 24, 4, 0 }, + { 16, -120, 96, 24, 4, 0 }, { 16, -120, 97, 24, 4, 0 }, { 16, -121, 98, 24, 4, 0 }, { 16, -121, 99, 24, 4, 0 }, { 16, -122, 100, 24, 4, 0 }, + { 16, -122, 101, 24, 4, 0 }, { 16, -123, 102, 24, 4, 0 }, { 16, -124, 103, 24, 4, 0 }, { 16, -124, 104, 24, 4, 0 }, { 16, -125, 105, 24, 4, 0 }, + { 16, -125, 106, 24, 4, 0 }, { 16, -126, 107, 24, 4, 0 }, { 16, -126, 108, 24, 4, 0 }, { 16, -127, 109, 24, 4, 0 }, { 16, -127, 110, 24, 4, 0 }, + { 16, -128, 111, 24, 4, 0 }, { 16, -128, 112, 24, 4, 0 }, { 16, -129, 113, 24, 4, 0 }, { 16, -129, 114, 24, 4, 0 }, { 16, -130, 115, 24, 4, 0 }, + { 16, -130, 116, 24, 4, 0 }, { 16, -131, 117, 24, 4, 0 }, { 16, -131, 118, 24, 4, 0 }, { 16, -132, 119, 24, 4, 0 }, { 16, -132, 120, 24, 4, 0 }, + { 16, -133, 121, 24, 4, 0 }, { 16, -133, 122, 24, 4, 0 }, { 16, -133, 123, 24, 4, 0 }, { 16, -134, 124, 24, 4, 0 }, { 16, -134, 125, 24, 4, 0 }, + { 16, -135, 126, 24, 4, 0 }, { 16, -135, 127, 24, 4, 0 }, { 16, -136, 128, 24, 4, 0 }, { 16, -136, 129, 24, 4, 0 }, { 16, -136, 130, 24, 4, 0 }, + { 16, -137, 131, 24, 4, 0 }, { 16, -137, 132, 24, 4, 0 }, { 16, -138, 133, 24, 4, 0 }, { 16, -138, 134, 24, 4, 0 }, { 16, -138, 135, 24, 9, 0 }, + { 16, -139, 136, 24, 9, 0 }, { 16, -139, 137, 24, 9, 0 }, { 16, -139, 138, 24, 9, 0 }, { 16, -140, 139, 24, 9, 0 }, { 16, -140, 140, 24, 9, 0 }, + { 16, -140, 141, 24, 9, 0 }, { 16, -141, 142, 24, 9, 0 }, { 16, -141, 143, 24, 9, 0 }, { 16, -141, 144, 24, 9, 0 }, { 16, -142, 145, 24, 9, 0 }, + { 16, -142, 146, 24, 9, 0 }, { 16, -142, 147, 24, 9, 0 }, { 16, -143, 148, 24, 9, 0 }, { 16, -143, 149, 24, 9, 0 }, { 16, -143, 150, 24, 9, 0 }, + { 16, -144, 151, 24, 9, 0 }, { 16, -144, 152, 24, 9, 0 }, { 16, -144, 153, 24, 9, 0 }, { 16, -145, 154, 24, 9, 0 }, { 16, -145, 155, 24, 9, 0 }, + { 16, -145, 156, 24, 9, 0 }, { 16, -145, 157, 24, 9, 0 }, { 16, -146, 158, 24, 9, 0 }, { 16, -146, 159, 24, 9, 0 }, { 16, -146, 160, 24, 9, 0 }, + { 16, -147, 161, 24, 9, 0 }, { 16, -147, 162, 24, 9, 0 }, { 16, -147, 163, 24, 9, 0 }, { 16, -147, 164, 24, 9, 0 }, { 16, -148, 165, 24, 9, 0 }, + { 16, -148, 166, 24, 9, 0 }, { 16, -148, 167, 24, 9, 0 }, { 16, -148, 168, 24, 9, 0 }, { 16, -148, 169, 24, 9, 0 }, { 16, -149, 170, 24, 9, 0 }, + { 16, -149, 171, 24, 9, 0 }, { 16, -149, 172, 24, 9, 0 }, { 16, -149, 173, 24, 9, 0 }, { 16, -150, 174, 24, 9, 0 }, { 16, -150, 175, 24, 9, 0 }, + { 16, -150, 176, 24, 9, 0 }, { 16, -150, 177, 24, 9, 0 }, { 16, -150, 178, 24, 9, 0 }, { 16, -151, 179, 24, 9, 0 }, { 16, -151, 180, 24, 9, 0 }, + { 16, -151, 181, 24, 9, 0 }, { 16, -151, 182, 24, 9, 0 }, { 16, -151, 183, 24, 9, 0 }, { 16, -151, 184, 24, 9, 0 }, { 16, -152, 185, 24, 9, 0 }, + { 16, -152, 186, 24, 9, 0 }, { 16, -152, 187, 24, 9, 0 }, { 16, -152, 188, 24, 10, 0 }, { 16, -152, 189, 24, 10, 0 }, { 16, -152, 190, 24, 10, 0 }, + { 16, -152, 191, 24, 10, 0 }, { 16, -153, 192, 24, 10, 0 }, { 16, -153, 193, 24, 10, 0 }, { 16, -153, 194, 24, 10, 0 }, { 16, -153, 195, 24, 10, 0 }, + { 16, -153, 196, 24, 10, 0 }, { 16, -153, 197, 24, 10, 0 }, { 16, -153, 198, 24, 10, 0 }, { 16, -153, 199, 24, 10, 0 }, { 16, -154, 200, 24, 10, 0 }, + { 16, -154, 201, 24, 10, 0 }, { 16, -154, 202, 24, 10, 0 }, { 16, -154, 203, 24, 10, 0 }, { 16, -154, 204, 24, 10, 0 }, { 16, -154, 205, 24, 10, 0 }, + { 16, -154, 206, 24, 10, 0 }, { 16, -154, 207, 24, 10, 0 }, { 16, -154, 208, 24, 10, 0 }, { 16, -154, 209, 24, 10, 0 }, { 16, -154, 210, 24, 10, 0 }, + { 16, -154, 211, 24, 10, 0 }, { 16, -155, 212, 24, 10, 0 }, { 16, -155, 213, 24, 10, 0 }, { 16, -155, 214, 24, 10, 0 }, { 16, -155, 215, 24, 10, 0 }, + { 16, -155, 216, 24, 10, 0 }, { 16, -155, 217, 24, 10, 0 }, { 16, -155, 218, 24, 10, 0 }, { 16, -155, 219, 24, 10, 0 }, { 16, -155, 220, 24, 10, 0 }, + { 16, -155, 221, 24, 10, 0 }, { 16, -155, 222, 24, 10, 0 }, { 16, -155, 223, 24, 10, 0 }, { 16, -155, 224, 24, 10, 0 }, { 16, -155, 225, 24, 10, 0 }, + { 16, -155, 226, 24, 10, 0 }, { 16, -155, 227, 24, 10, 0 }, { 16, -155, 228, 24, 10, 0 }, { 16, -155, 229, 24, 10, 0 }, { 16, -155, 230, 24, 10, 0 }, + { 16, -155, 230, 24, 10, 0 }, { 16, -155, 231, 24, 10, 0 }, { 16, -155, 232, 24, 10, 0 }, { 16, -155, 233, 24, 10, 0 }, { 16, -155, 234, 24, 10, 0 }, + { 16, -155, 235, 24, 10, 0 }, { 16, -155, 236, 24, 10, 0 }, { 16, -155, 237, 24, 10, 0 }, { 16, -155, 238, 24, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90B98A = { - 80, { - { 37, 16, 0, 0, 10, 0 }, { 37, 16, 1, 0, 10, 0 }, { 37, 16, 2, 0, 10, 0 }, { 37, 16, 3, 0, 10, 0 }, { 37, 16, 4, 0, 10, 0 }, - { 37, 16, 5, 0, 10, 0 }, { 37, 16, 6, 0, 10, 0 }, { 37, 16, 7, 0, 10, 0 }, { 37, 16, 8, 0, 10, 0 }, { 37, 16, 9, 0, 10, 0 }, - { 37, 16, 10, 0, 10, 0 }, { 37, 16, 11, 0, 10, 0 }, { 37, 16, 12, 0, 10, 0 }, { 37, 16, 13, 0, 10, 0 }, { 37, 16, 14, 0, 10, 0 }, - { 37, 16, 15, 0, 10, 0 }, { 37, 16, 16, 0, 10, 0 }, { 37, 16, 17, 0, 10, 0 }, { 37, 16, 18, 0, 10, 0 }, { 37, 16, 19, 0, 10, 0 }, - { 37, 16, 20, 0, 10, 0 }, { 37, 16, 21, 0, 10, 0 }, { 37, 16, 22, 0, 10, 0 }, { 37, 16, 23, 0, 10, 0 }, { 37, 16, 24, 0, 10, 0 }, - { 37, 16, 25, 0, 10, 0 }, { 37, 16, 26, 0, 10, 0 }, { 37, 16, 27, 0, 10, 0 }, { 37, 16, 28, 0, 10, 0 }, { 37, 16, 29, 0, 10, 0 }, - { 37, 16, 30, 0, 10, 0 }, { 37, 16, 31, 0, 10, 0 }, { 37, 16, 32, 0, 10, 0 }, { 37, 16, 33, 0, 10, 0 }, { 37, 16, 34, 0, 10, 0 }, - { 37, 16, 35, 0, 10, 0 }, { 37, 16, 36, 0, 10, 0 }, { 37, 16, 37, 0, 10, 0 }, { 37, 16, 38, 0, 10, 0 }, { 37, 16, 39, 0, 10, 0 }, - { 37, 16, 40, 0, 10, 0 }, { 37, 16, 41, 0, 10, 0 }, { 37, 16, 42, 0, 10, 0 }, { 37, 16, 43, 0, 10, 0 }, { 37, 16, 44, 0, 10, 0 }, - { 37, 16, 45, 0, 10, 0 }, { 37, 16, 46, 0, 10, 0 }, { 37, 16, 47, 0, 10, 0 }, { 37, 16, 48, 0, 10, 0 }, { 37, 16, 49, 0, 10, 0 }, - { 37, 16, 50, 0, 10, 0 }, { 37, 16, 51, 0, 10, 0 }, { 37, 16, 52, 0, 10, 0 }, { 37, 16, 53, 0, 10, 0 }, { 37, 16, 54, 0, 10, 0 }, - { 37, 16, 55, 0, 10, 0 }, { 37, 16, 56, 0, 10, 0 }, { 37, 16, 57, 0, 10, 0 }, { 37, 16, 58, 0, 10, 0 }, { 37, 16, 59, 0, 10, 0 }, - { 37, 16, 60, 0, 10, 0 }, { 37, 16, 61, 0, 10, 0 }, { 37, 16, 62, 0, 10, 0 }, { 37, 16, 63, 0, 10, 0 }, { 37, 16, 64, 0, 10, 0 }, - { 37, 16, 65, 0, 10, 0 }, { 37, 16, 66, 0, 10, 0 }, { 37, 16, 67, 0, 10, 0 }, { 37, 16, 68, 0, 10, 0 }, { 37, 16, 69, 0, 10, 0 }, - { 37, 16, 70, 0, 10, 0 }, { 37, 16, 71, 0, 10, 0 }, { 37, 16, 72, 0, 10, 0 }, { 37, 16, 73, 0, 10, 0 }, { 37, 16, 74, 0, 10, 0 }, - { 37, 16, 75, 0, 10, 0 }, { 37, 16, 76, 0, 10, 0 }, { 37, 16, 77, 0, 10, 0 }, { 37, 16, 78, 0, 10, 0 }, { 37, 16, 79, 0, 10, 0 }, + 80, { + { 37, 16, 0, 0, 10, 0 }, { 37, 16, 1, 0, 10, 0 }, { 37, 16, 2, 0, 10, 0 }, { 37, 16, 3, 0, 10, 0 }, { 37, 16, 4, 0, 10, 0 }, + { 37, 16, 5, 0, 10, 0 }, { 37, 16, 6, 0, 10, 0 }, { 37, 16, 7, 0, 10, 0 }, { 37, 16, 8, 0, 10, 0 }, { 37, 16, 9, 0, 10, 0 }, + { 37, 16, 10, 0, 10, 0 }, { 37, 16, 11, 0, 10, 0 }, { 37, 16, 12, 0, 10, 0 }, { 37, 16, 13, 0, 10, 0 }, { 37, 16, 14, 0, 10, 0 }, + { 37, 16, 15, 0, 10, 0 }, { 37, 16, 16, 0, 10, 0 }, { 37, 16, 17, 0, 10, 0 }, { 37, 16, 18, 0, 10, 0 }, { 37, 16, 19, 0, 10, 0 }, + { 37, 16, 20, 0, 10, 0 }, { 37, 16, 21, 0, 10, 0 }, { 37, 16, 22, 0, 10, 0 }, { 37, 16, 23, 0, 10, 0 }, { 37, 16, 24, 0, 10, 0 }, + { 37, 16, 25, 0, 10, 0 }, { 37, 16, 26, 0, 10, 0 }, { 37, 16, 27, 0, 10, 0 }, { 37, 16, 28, 0, 10, 0 }, { 37, 16, 29, 0, 10, 0 }, + { 37, 16, 30, 0, 10, 0 }, { 37, 16, 31, 0, 10, 0 }, { 37, 16, 32, 0, 10, 0 }, { 37, 16, 33, 0, 10, 0 }, { 37, 16, 34, 0, 10, 0 }, + { 37, 16, 35, 0, 10, 0 }, { 37, 16, 36, 0, 10, 0 }, { 37, 16, 37, 0, 10, 0 }, { 37, 16, 38, 0, 10, 0 }, { 37, 16, 39, 0, 10, 0 }, + { 37, 16, 40, 0, 10, 0 }, { 37, 16, 41, 0, 10, 0 }, { 37, 16, 42, 0, 10, 0 }, { 37, 16, 43, 0, 10, 0 }, { 37, 16, 44, 0, 10, 0 }, + { 37, 16, 45, 0, 10, 0 }, { 37, 16, 46, 0, 10, 0 }, { 37, 16, 47, 0, 10, 0 }, { 37, 16, 48, 0, 10, 0 }, { 37, 16, 49, 0, 10, 0 }, + { 37, 16, 50, 0, 10, 0 }, { 37, 16, 51, 0, 10, 0 }, { 37, 16, 52, 0, 10, 0 }, { 37, 16, 53, 0, 10, 0 }, { 37, 16, 54, 0, 10, 0 }, + { 37, 16, 55, 0, 10, 0 }, { 37, 16, 56, 0, 10, 0 }, { 37, 16, 57, 0, 10, 0 }, { 37, 16, 58, 0, 10, 0 }, { 37, 16, 59, 0, 10, 0 }, + { 37, 16, 60, 0, 10, 0 }, { 37, 16, 61, 0, 10, 0 }, { 37, 16, 62, 0, 10, 0 }, { 37, 16, 63, 0, 10, 0 }, { 37, 16, 64, 0, 10, 0 }, + { 37, 16, 65, 0, 10, 0 }, { 37, 16, 66, 0, 10, 0 }, { 37, 16, 67, 0, 10, 0 }, { 37, 16, 68, 0, 10, 0 }, { 37, 16, 69, 0, 10, 0 }, + { 37, 16, 70, 0, 10, 0 }, { 37, 16, 71, 0, 10, 0 }, { 37, 16, 72, 0, 10, 0 }, { 37, 16, 73, 0, 10, 0 }, { 37, 16, 74, 0, 10, 0 }, + { 37, 16, 75, 0, 10, 0 }, { 37, 16, 76, 0, 10, 0 }, { 37, 16, 77, 0, 10, 0 }, { 37, 16, 78, 0, 10, 0 }, { 37, 16, 79, 0, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90BC5C = { - 80, { - { 16, -6, 0, 8, 10, 0 }, { 16, -6, 1, 8, 10, 0 }, { 16, -6, 2, 8, 10, 0 }, { 16, -6, 3, 8, 10, 0 }, { 16, -6, 4, 8, 10, 0 }, - { 16, -6, 5, 8, 10, 0 }, { 16, -6, 6, 8, 10, 0 }, { 16, -6, 7, 8, 10, 0 }, { 16, -6, 8, 8, 10, 0 }, { 16, -6, 9, 8, 10, 0 }, - { 16, -6, 10, 8, 10, 0 }, { 16, -6, 11, 8, 10, 0 }, { 16, -6, 12, 8, 10, 0 }, { 16, -6, 13, 8, 10, 0 }, { 16, -6, 14, 8, 10, 0 }, - { 16, -6, 15, 8, 10, 0 }, { 16, -6, 16, 8, 10, 0 }, { 16, -6, 17, 8, 10, 0 }, { 16, -6, 18, 8, 10, 0 }, { 16, -6, 19, 8, 10, 0 }, - { 16, -6, 20, 8, 10, 0 }, { 16, -6, 21, 8, 10, 0 }, { 16, -6, 22, 8, 10, 0 }, { 16, -6, 23, 8, 10, 0 }, { 16, -6, 24, 8, 10, 0 }, - { 16, -6, 25, 8, 10, 0 }, { 16, -6, 26, 8, 10, 0 }, { 16, -6, 27, 8, 10, 0 }, { 16, -6, 28, 8, 10, 0 }, { 16, -6, 29, 8, 10, 0 }, - { 16, -6, 30, 8, 10, 0 }, { 16, -6, 31, 8, 10, 0 }, { 16, -6, 32, 8, 10, 0 }, { 16, -6, 33, 8, 10, 0 }, { 16, -6, 34, 8, 10, 0 }, - { 16, -6, 35, 8, 10, 0 }, { 16, -6, 36, 8, 10, 0 }, { 16, -6, 37, 8, 10, 0 }, { 16, -6, 38, 8, 10, 0 }, { 16, -6, 39, 8, 10, 0 }, - { 16, -6, 40, 8, 10, 0 }, { 16, -6, 41, 8, 10, 0 }, { 16, -6, 42, 8, 10, 0 }, { 16, -6, 43, 8, 10, 0 }, { 16, -6, 44, 8, 10, 0 }, - { 16, -6, 45, 8, 10, 0 }, { 16, -6, 46, 8, 10, 0 }, { 16, -6, 47, 8, 10, 0 }, { 16, -6, 48, 8, 10, 0 }, { 16, -6, 49, 8, 10, 0 }, - { 16, -6, 50, 8, 10, 0 }, { 16, -6, 51, 8, 10, 0 }, { 16, -6, 52, 8, 10, 0 }, { 16, -6, 53, 8, 10, 0 }, { 16, -6, 54, 8, 10, 0 }, - { 16, -6, 55, 8, 10, 0 }, { 16, -6, 56, 8, 10, 0 }, { 16, -6, 57, 8, 10, 0 }, { 16, -6, 58, 8, 10, 0 }, { 16, -6, 59, 8, 10, 0 }, - { 16, -6, 60, 8, 10, 0 }, { 16, -6, 61, 8, 10, 0 }, { 16, -6, 62, 8, 10, 0 }, { 16, -6, 63, 8, 10, 0 }, { 16, -6, 64, 8, 10, 0 }, - { 16, -6, 65, 8, 10, 0 }, { 16, -6, 66, 8, 10, 0 }, { 16, -6, 67, 8, 10, 0 }, { 16, -6, 68, 8, 10, 0 }, { 16, -6, 69, 8, 10, 0 }, - { 16, -6, 70, 8, 10, 0 }, { 16, -6, 71, 8, 10, 0 }, { 16, -6, 72, 8, 10, 0 }, { 16, -6, 73, 8, 10, 0 }, { 16, -6, 74, 8, 10, 0 }, - { 16, -6, 75, 8, 10, 0 }, { 16, -6, 76, 8, 10, 0 }, { 16, -6, 77, 8, 10, 0 }, { 16, -6, 78, 8, 10, 0 }, { 16, -6, 79, 8, 10, 0 }, + 80, { + { 16, -6, 0, 8, 10, 0 }, { 16, -6, 1, 8, 10, 0 }, { 16, -6, 2, 8, 10, 0 }, { 16, -6, 3, 8, 10, 0 }, { 16, -6, 4, 8, 10, 0 }, + { 16, -6, 5, 8, 10, 0 }, { 16, -6, 6, 8, 10, 0 }, { 16, -6, 7, 8, 10, 0 }, { 16, -6, 8, 8, 10, 0 }, { 16, -6, 9, 8, 10, 0 }, + { 16, -6, 10, 8, 10, 0 }, { 16, -6, 11, 8, 10, 0 }, { 16, -6, 12, 8, 10, 0 }, { 16, -6, 13, 8, 10, 0 }, { 16, -6, 14, 8, 10, 0 }, + { 16, -6, 15, 8, 10, 0 }, { 16, -6, 16, 8, 10, 0 }, { 16, -6, 17, 8, 10, 0 }, { 16, -6, 18, 8, 10, 0 }, { 16, -6, 19, 8, 10, 0 }, + { 16, -6, 20, 8, 10, 0 }, { 16, -6, 21, 8, 10, 0 }, { 16, -6, 22, 8, 10, 0 }, { 16, -6, 23, 8, 10, 0 }, { 16, -6, 24, 8, 10, 0 }, + { 16, -6, 25, 8, 10, 0 }, { 16, -6, 26, 8, 10, 0 }, { 16, -6, 27, 8, 10, 0 }, { 16, -6, 28, 8, 10, 0 }, { 16, -6, 29, 8, 10, 0 }, + { 16, -6, 30, 8, 10, 0 }, { 16, -6, 31, 8, 10, 0 }, { 16, -6, 32, 8, 10, 0 }, { 16, -6, 33, 8, 10, 0 }, { 16, -6, 34, 8, 10, 0 }, + { 16, -6, 35, 8, 10, 0 }, { 16, -6, 36, 8, 10, 0 }, { 16, -6, 37, 8, 10, 0 }, { 16, -6, 38, 8, 10, 0 }, { 16, -6, 39, 8, 10, 0 }, + { 16, -6, 40, 8, 10, 0 }, { 16, -6, 41, 8, 10, 0 }, { 16, -6, 42, 8, 10, 0 }, { 16, -6, 43, 8, 10, 0 }, { 16, -6, 44, 8, 10, 0 }, + { 16, -6, 45, 8, 10, 0 }, { 16, -6, 46, 8, 10, 0 }, { 16, -6, 47, 8, 10, 0 }, { 16, -6, 48, 8, 10, 0 }, { 16, -6, 49, 8, 10, 0 }, + { 16, -6, 50, 8, 10, 0 }, { 16, -6, 51, 8, 10, 0 }, { 16, -6, 52, 8, 10, 0 }, { 16, -6, 53, 8, 10, 0 }, { 16, -6, 54, 8, 10, 0 }, + { 16, -6, 55, 8, 10, 0 }, { 16, -6, 56, 8, 10, 0 }, { 16, -6, 57, 8, 10, 0 }, { 16, -6, 58, 8, 10, 0 }, { 16, -6, 59, 8, 10, 0 }, + { 16, -6, 60, 8, 10, 0 }, { 16, -6, 61, 8, 10, 0 }, { 16, -6, 62, 8, 10, 0 }, { 16, -6, 63, 8, 10, 0 }, { 16, -6, 64, 8, 10, 0 }, + { 16, -6, 65, 8, 10, 0 }, { 16, -6, 66, 8, 10, 0 }, { 16, -6, 67, 8, 10, 0 }, { 16, -6, 68, 8, 10, 0 }, { 16, -6, 69, 8, 10, 0 }, + { 16, -6, 70, 8, 10, 0 }, { 16, -6, 71, 8, 10, 0 }, { 16, -6, 72, 8, 10, 0 }, { 16, -6, 73, 8, 10, 0 }, { 16, -6, 74, 8, 10, 0 }, + { 16, -6, 75, 8, 10, 0 }, { 16, -6, 76, 8, 10, 0 }, { 16, -6, 77, 8, 10, 0 }, { 16, -6, 78, 8, 10, 0 }, { 16, -6, 79, 8, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90BF2E = { - 80, { - { -6, 16, 0, 16, 10, 0 }, { -6, 16, 1, 16, 10, 0 }, { -6, 16, 2, 16, 10, 0 }, { -6, 16, 3, 16, 10, 0 }, { -6, 16, 4, 16, 10, 0 }, - { -6, 16, 5, 16, 10, 0 }, { -6, 16, 6, 16, 10, 0 }, { -6, 16, 7, 16, 10, 0 }, { -6, 16, 8, 16, 10, 0 }, { -6, 16, 9, 16, 10, 0 }, - { -6, 16, 10, 16, 10, 0 }, { -6, 16, 11, 16, 10, 0 }, { -6, 16, 12, 16, 10, 0 }, { -6, 16, 13, 16, 10, 0 }, { -6, 16, 14, 16, 10, 0 }, - { -6, 16, 15, 16, 10, 0 }, { -6, 16, 16, 16, 10, 0 }, { -6, 16, 17, 16, 10, 0 }, { -6, 16, 18, 16, 10, 0 }, { -6, 16, 19, 16, 10, 0 }, - { -6, 16, 20, 16, 10, 0 }, { -6, 16, 21, 16, 10, 0 }, { -6, 16, 22, 16, 10, 0 }, { -6, 16, 23, 16, 10, 0 }, { -6, 16, 24, 16, 10, 0 }, - { -6, 16, 25, 16, 10, 0 }, { -6, 16, 26, 16, 10, 0 }, { -6, 16, 27, 16, 10, 0 }, { -6, 16, 28, 16, 10, 0 }, { -6, 16, 29, 16, 10, 0 }, - { -6, 16, 30, 16, 10, 0 }, { -6, 16, 31, 16, 10, 0 }, { -6, 16, 32, 16, 10, 0 }, { -6, 16, 33, 16, 10, 0 }, { -6, 16, 34, 16, 10, 0 }, - { -6, 16, 35, 16, 10, 0 }, { -6, 16, 36, 16, 10, 0 }, { -6, 16, 37, 16, 10, 0 }, { -6, 16, 38, 16, 10, 0 }, { -6, 16, 39, 16, 10, 0 }, - { -6, 16, 40, 16, 10, 0 }, { -6, 16, 41, 16, 10, 0 }, { -6, 16, 42, 16, 10, 0 }, { -6, 16, 43, 16, 10, 0 }, { -6, 16, 44, 16, 10, 0 }, - { -6, 16, 45, 16, 10, 0 }, { -6, 16, 46, 16, 10, 0 }, { -6, 16, 47, 16, 10, 0 }, { -6, 16, 48, 16, 10, 0 }, { -6, 16, 49, 16, 10, 0 }, - { -6, 16, 50, 16, 10, 0 }, { -6, 16, 51, 16, 10, 0 }, { -6, 16, 52, 16, 10, 0 }, { -6, 16, 53, 16, 10, 0 }, { -6, 16, 54, 16, 10, 0 }, - { -6, 16, 55, 16, 10, 0 }, { -6, 16, 56, 16, 10, 0 }, { -6, 16, 57, 16, 10, 0 }, { -6, 16, 58, 16, 10, 0 }, { -6, 16, 59, 16, 10, 0 }, - { -6, 16, 60, 16, 10, 0 }, { -6, 16, 61, 16, 10, 0 }, { -6, 16, 62, 16, 10, 0 }, { -6, 16, 63, 16, 10, 0 }, { -6, 16, 64, 16, 10, 0 }, - { -6, 16, 65, 16, 10, 0 }, { -6, 16, 66, 16, 10, 0 }, { -6, 16, 67, 16, 10, 0 }, { -6, 16, 68, 16, 10, 0 }, { -6, 16, 69, 16, 10, 0 }, - { -6, 16, 70, 16, 10, 0 }, { -6, 16, 71, 16, 10, 0 }, { -6, 16, 72, 16, 10, 0 }, { -6, 16, 73, 16, 10, 0 }, { -6, 16, 74, 16, 10, 0 }, - { -6, 16, 75, 16, 10, 0 }, { -6, 16, 76, 16, 10, 0 }, { -6, 16, 77, 16, 10, 0 }, { -6, 16, 78, 16, 10, 0 }, { -6, 16, 79, 16, 10, 0 }, + 80, { + { -6, 16, 0, 16, 10, 0 }, { -6, 16, 1, 16, 10, 0 }, { -6, 16, 2, 16, 10, 0 }, { -6, 16, 3, 16, 10, 0 }, { -6, 16, 4, 16, 10, 0 }, + { -6, 16, 5, 16, 10, 0 }, { -6, 16, 6, 16, 10, 0 }, { -6, 16, 7, 16, 10, 0 }, { -6, 16, 8, 16, 10, 0 }, { -6, 16, 9, 16, 10, 0 }, + { -6, 16, 10, 16, 10, 0 }, { -6, 16, 11, 16, 10, 0 }, { -6, 16, 12, 16, 10, 0 }, { -6, 16, 13, 16, 10, 0 }, { -6, 16, 14, 16, 10, 0 }, + { -6, 16, 15, 16, 10, 0 }, { -6, 16, 16, 16, 10, 0 }, { -6, 16, 17, 16, 10, 0 }, { -6, 16, 18, 16, 10, 0 }, { -6, 16, 19, 16, 10, 0 }, + { -6, 16, 20, 16, 10, 0 }, { -6, 16, 21, 16, 10, 0 }, { -6, 16, 22, 16, 10, 0 }, { -6, 16, 23, 16, 10, 0 }, { -6, 16, 24, 16, 10, 0 }, + { -6, 16, 25, 16, 10, 0 }, { -6, 16, 26, 16, 10, 0 }, { -6, 16, 27, 16, 10, 0 }, { -6, 16, 28, 16, 10, 0 }, { -6, 16, 29, 16, 10, 0 }, + { -6, 16, 30, 16, 10, 0 }, { -6, 16, 31, 16, 10, 0 }, { -6, 16, 32, 16, 10, 0 }, { -6, 16, 33, 16, 10, 0 }, { -6, 16, 34, 16, 10, 0 }, + { -6, 16, 35, 16, 10, 0 }, { -6, 16, 36, 16, 10, 0 }, { -6, 16, 37, 16, 10, 0 }, { -6, 16, 38, 16, 10, 0 }, { -6, 16, 39, 16, 10, 0 }, + { -6, 16, 40, 16, 10, 0 }, { -6, 16, 41, 16, 10, 0 }, { -6, 16, 42, 16, 10, 0 }, { -6, 16, 43, 16, 10, 0 }, { -6, 16, 44, 16, 10, 0 }, + { -6, 16, 45, 16, 10, 0 }, { -6, 16, 46, 16, 10, 0 }, { -6, 16, 47, 16, 10, 0 }, { -6, 16, 48, 16, 10, 0 }, { -6, 16, 49, 16, 10, 0 }, + { -6, 16, 50, 16, 10, 0 }, { -6, 16, 51, 16, 10, 0 }, { -6, 16, 52, 16, 10, 0 }, { -6, 16, 53, 16, 10, 0 }, { -6, 16, 54, 16, 10, 0 }, + { -6, 16, 55, 16, 10, 0 }, { -6, 16, 56, 16, 10, 0 }, { -6, 16, 57, 16, 10, 0 }, { -6, 16, 58, 16, 10, 0 }, { -6, 16, 59, 16, 10, 0 }, + { -6, 16, 60, 16, 10, 0 }, { -6, 16, 61, 16, 10, 0 }, { -6, 16, 62, 16, 10, 0 }, { -6, 16, 63, 16, 10, 0 }, { -6, 16, 64, 16, 10, 0 }, + { -6, 16, 65, 16, 10, 0 }, { -6, 16, 66, 16, 10, 0 }, { -6, 16, 67, 16, 10, 0 }, { -6, 16, 68, 16, 10, 0 }, { -6, 16, 69, 16, 10, 0 }, + { -6, 16, 70, 16, 10, 0 }, { -6, 16, 71, 16, 10, 0 }, { -6, 16, 72, 16, 10, 0 }, { -6, 16, 73, 16, 10, 0 }, { -6, 16, 74, 16, 10, 0 }, + { -6, 16, 75, 16, 10, 0 }, { -6, 16, 76, 16, 10, 0 }, { -6, 16, 77, 16, 10, 0 }, { -6, 16, 78, 16, 10, 0 }, { -6, 16, 79, 16, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90C200 = { - 80, { - { 16, 37, 0, 24, 10, 0 }, { 16, 37, 1, 24, 10, 0 }, { 16, 37, 2, 24, 10, 0 }, { 16, 37, 3, 24, 10, 0 }, { 16, 37, 4, 24, 10, 0 }, - { 16, 37, 5, 24, 10, 0 }, { 16, 37, 6, 24, 10, 0 }, { 16, 37, 7, 24, 10, 0 }, { 16, 37, 8, 24, 10, 0 }, { 16, 37, 9, 24, 10, 0 }, - { 16, 37, 10, 24, 10, 0 }, { 16, 37, 11, 24, 10, 0 }, { 16, 37, 12, 24, 10, 0 }, { 16, 37, 13, 24, 10, 0 }, { 16, 37, 14, 24, 10, 0 }, - { 16, 37, 15, 24, 10, 0 }, { 16, 37, 16, 24, 10, 0 }, { 16, 37, 17, 24, 10, 0 }, { 16, 37, 18, 24, 10, 0 }, { 16, 37, 19, 24, 10, 0 }, - { 16, 37, 20, 24, 10, 0 }, { 16, 37, 21, 24, 10, 0 }, { 16, 37, 22, 24, 10, 0 }, { 16, 37, 23, 24, 10, 0 }, { 16, 37, 24, 24, 10, 0 }, - { 16, 37, 25, 24, 10, 0 }, { 16, 37, 26, 24, 10, 0 }, { 16, 37, 27, 24, 10, 0 }, { 16, 37, 28, 24, 10, 0 }, { 16, 37, 29, 24, 10, 0 }, - { 16, 37, 30, 24, 10, 0 }, { 16, 37, 31, 24, 10, 0 }, { 16, 37, 32, 24, 10, 0 }, { 16, 37, 33, 24, 10, 0 }, { 16, 37, 34, 24, 10, 0 }, - { 16, 37, 35, 24, 10, 0 }, { 16, 37, 36, 24, 10, 0 }, { 16, 37, 37, 24, 10, 0 }, { 16, 37, 38, 24, 10, 0 }, { 16, 37, 39, 24, 10, 0 }, - { 16, 37, 40, 24, 10, 0 }, { 16, 37, 41, 24, 10, 0 }, { 16, 37, 42, 24, 10, 0 }, { 16, 37, 43, 24, 10, 0 }, { 16, 37, 44, 24, 10, 0 }, - { 16, 37, 45, 24, 10, 0 }, { 16, 37, 46, 24, 10, 0 }, { 16, 37, 47, 24, 10, 0 }, { 16, 37, 48, 24, 10, 0 }, { 16, 37, 49, 24, 10, 0 }, - { 16, 37, 50, 24, 10, 0 }, { 16, 37, 51, 24, 10, 0 }, { 16, 37, 52, 24, 10, 0 }, { 16, 37, 53, 24, 10, 0 }, { 16, 37, 54, 24, 10, 0 }, - { 16, 37, 55, 24, 10, 0 }, { 16, 37, 56, 24, 10, 0 }, { 16, 37, 57, 24, 10, 0 }, { 16, 37, 58, 24, 10, 0 }, { 16, 37, 59, 24, 10, 0 }, - { 16, 37, 60, 24, 10, 0 }, { 16, 37, 61, 24, 10, 0 }, { 16, 37, 62, 24, 10, 0 }, { 16, 37, 63, 24, 10, 0 }, { 16, 37, 64, 24, 10, 0 }, - { 16, 37, 65, 24, 10, 0 }, { 16, 37, 66, 24, 10, 0 }, { 16, 37, 67, 24, 10, 0 }, { 16, 37, 68, 24, 10, 0 }, { 16, 37, 69, 24, 10, 0 }, - { 16, 37, 70, 24, 10, 0 }, { 16, 37, 71, 24, 10, 0 }, { 16, 37, 72, 24, 10, 0 }, { 16, 37, 73, 24, 10, 0 }, { 16, 37, 74, 24, 10, 0 }, - { 16, 37, 75, 24, 10, 0 }, { 16, 37, 76, 24, 10, 0 }, { 16, 37, 77, 24, 10, 0 }, { 16, 37, 78, 24, 10, 0 }, { 16, 37, 79, 24, 10, 0 }, + 80, { + { 16, 37, 0, 24, 10, 0 }, { 16, 37, 1, 24, 10, 0 }, { 16, 37, 2, 24, 10, 0 }, { 16, 37, 3, 24, 10, 0 }, { 16, 37, 4, 24, 10, 0 }, + { 16, 37, 5, 24, 10, 0 }, { 16, 37, 6, 24, 10, 0 }, { 16, 37, 7, 24, 10, 0 }, { 16, 37, 8, 24, 10, 0 }, { 16, 37, 9, 24, 10, 0 }, + { 16, 37, 10, 24, 10, 0 }, { 16, 37, 11, 24, 10, 0 }, { 16, 37, 12, 24, 10, 0 }, { 16, 37, 13, 24, 10, 0 }, { 16, 37, 14, 24, 10, 0 }, + { 16, 37, 15, 24, 10, 0 }, { 16, 37, 16, 24, 10, 0 }, { 16, 37, 17, 24, 10, 0 }, { 16, 37, 18, 24, 10, 0 }, { 16, 37, 19, 24, 10, 0 }, + { 16, 37, 20, 24, 10, 0 }, { 16, 37, 21, 24, 10, 0 }, { 16, 37, 22, 24, 10, 0 }, { 16, 37, 23, 24, 10, 0 }, { 16, 37, 24, 24, 10, 0 }, + { 16, 37, 25, 24, 10, 0 }, { 16, 37, 26, 24, 10, 0 }, { 16, 37, 27, 24, 10, 0 }, { 16, 37, 28, 24, 10, 0 }, { 16, 37, 29, 24, 10, 0 }, + { 16, 37, 30, 24, 10, 0 }, { 16, 37, 31, 24, 10, 0 }, { 16, 37, 32, 24, 10, 0 }, { 16, 37, 33, 24, 10, 0 }, { 16, 37, 34, 24, 10, 0 }, + { 16, 37, 35, 24, 10, 0 }, { 16, 37, 36, 24, 10, 0 }, { 16, 37, 37, 24, 10, 0 }, { 16, 37, 38, 24, 10, 0 }, { 16, 37, 39, 24, 10, 0 }, + { 16, 37, 40, 24, 10, 0 }, { 16, 37, 41, 24, 10, 0 }, { 16, 37, 42, 24, 10, 0 }, { 16, 37, 43, 24, 10, 0 }, { 16, 37, 44, 24, 10, 0 }, + { 16, 37, 45, 24, 10, 0 }, { 16, 37, 46, 24, 10, 0 }, { 16, 37, 47, 24, 10, 0 }, { 16, 37, 48, 24, 10, 0 }, { 16, 37, 49, 24, 10, 0 }, + { 16, 37, 50, 24, 10, 0 }, { 16, 37, 51, 24, 10, 0 }, { 16, 37, 52, 24, 10, 0 }, { 16, 37, 53, 24, 10, 0 }, { 16, 37, 54, 24, 10, 0 }, + { 16, 37, 55, 24, 10, 0 }, { 16, 37, 56, 24, 10, 0 }, { 16, 37, 57, 24, 10, 0 }, { 16, 37, 58, 24, 10, 0 }, { 16, 37, 59, 24, 10, 0 }, + { 16, 37, 60, 24, 10, 0 }, { 16, 37, 61, 24, 10, 0 }, { 16, 37, 62, 24, 10, 0 }, { 16, 37, 63, 24, 10, 0 }, { 16, 37, 64, 24, 10, 0 }, + { 16, 37, 65, 24, 10, 0 }, { 16, 37, 66, 24, 10, 0 }, { 16, 37, 67, 24, 10, 0 }, { 16, 37, 68, 24, 10, 0 }, { 16, 37, 69, 24, 10, 0 }, + { 16, 37, 70, 24, 10, 0 }, { 16, 37, 71, 24, 10, 0 }, { 16, 37, 72, 24, 10, 0 }, { 16, 37, 73, 24, 10, 0 }, { 16, 37, 74, 24, 10, 0 }, + { 16, 37, 75, 24, 10, 0 }, { 16, 37, 76, 24, 10, 0 }, { 16, 37, 77, 24, 10, 0 }, { 16, 37, 78, 24, 10, 0 }, { 16, 37, 79, 24, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90E02A = { - 32, { - { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, - { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 0, 10, 0 }, { 16, 16, 7, 0, 10, 0 }, { 16, 16, 8, 0, 10, 0 }, { 16, 16, 9, 0, 10, 0 }, - { 16, 16, 10, 0, 10, 0 }, { 16, 16, 11, 0, 10, 0 }, { 16, 16, 12, 0, 10, 0 }, { 16, 16, 13, 0, 10, 0 }, { 16, 16, 14, 0, 10, 0 }, - { 16, 16, 15, 0, 10, 0 }, { 16, 16, 16, 0, 10, 0 }, { 16, 16, 17, 0, 10, 0 }, { 16, 16, 18, 0, 10, 0 }, { 16, 16, 19, 0, 10, 0 }, - { 16, 16, 20, 0, 10, 0 }, { 16, 16, 21, 0, 10, 0 }, { 16, 16, 22, 0, 10, 0 }, { 16, 16, 23, 0, 10, 0 }, { 16, 16, 24, 0, 10, 0 }, - { 16, 16, 25, 0, 10, 0 }, { 16, 16, 26, 0, 10, 0 }, { 16, 16, 27, 0, 10, 0 }, { 16, 16, 28, 0, 10, 0 }, { 16, 16, 29, 0, 10, 0 }, - { 16, 16, 30, 0, 10, 0 }, { 16, 16, 31, 0, 10, 0 }, + 32, { + { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, + { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 0, 10, 0 }, { 16, 16, 7, 0, 10, 0 }, { 16, 16, 8, 0, 10, 0 }, { 16, 16, 9, 0, 10, 0 }, + { 16, 16, 10, 0, 10, 0 }, { 16, 16, 11, 0, 10, 0 }, { 16, 16, 12, 0, 10, 0 }, { 16, 16, 13, 0, 10, 0 }, { 16, 16, 14, 0, 10, 0 }, + { 16, 16, 15, 0, 10, 0 }, { 16, 16, 16, 0, 10, 0 }, { 16, 16, 17, 0, 10, 0 }, { 16, 16, 18, 0, 10, 0 }, { 16, 16, 19, 0, 10, 0 }, + { 16, 16, 20, 0, 10, 0 }, { 16, 16, 21, 0, 10, 0 }, { 16, 16, 22, 0, 10, 0 }, { 16, 16, 23, 0, 10, 0 }, { 16, 16, 24, 0, 10, 0 }, + { 16, 16, 25, 0, 10, 0 }, { 16, 16, 26, 0, 10, 0 }, { 16, 16, 27, 0, 10, 0 }, { 16, 16, 28, 0, 10, 0 }, { 16, 16, 29, 0, 10, 0 }, + { 16, 16, 30, 0, 10, 0 }, { 16, 16, 31, 0, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90E14C = { - 32, { - { 16, 15, 0, 8, 10, 0 }, { 16, 15, 1, 8, 10, 0 }, { 16, 15, 2, 8, 10, 0 }, { 16, 15, 3, 8, 10, 0 }, { 16, 15, 4, 8, 10, 0 }, - { 16, 15, 5, 8, 10, 0 }, { 16, 15, 6, 8, 10, 0 }, { 16, 15, 7, 8, 10, 0 }, { 16, 15, 8, 8, 10, 0 }, { 16, 15, 9, 8, 10, 0 }, - { 16, 15, 10, 8, 10, 0 }, { 16, 15, 11, 8, 10, 0 }, { 16, 15, 12, 8, 10, 0 }, { 16, 15, 13, 8, 10, 0 }, { 16, 15, 14, 8, 10, 0 }, - { 16, 15, 15, 8, 10, 0 }, { 16, 15, 16, 8, 10, 0 }, { 16, 15, 17, 8, 10, 0 }, { 16, 15, 18, 8, 10, 0 }, { 16, 15, 19, 8, 10, 0 }, - { 16, 15, 20, 8, 10, 0 }, { 16, 15, 21, 8, 10, 0 }, { 16, 15, 22, 8, 10, 0 }, { 16, 15, 23, 8, 10, 0 }, { 16, 15, 24, 8, 10, 0 }, - { 16, 15, 25, 8, 10, 0 }, { 16, 15, 26, 8, 10, 0 }, { 16, 15, 27, 8, 10, 0 }, { 16, 15, 28, 8, 10, 0 }, { 16, 15, 29, 8, 10, 0 }, - { 16, 15, 30, 8, 10, 0 }, { 16, 15, 31, 8, 10, 0 }, + 32, { + { 16, 15, 0, 8, 10, 0 }, { 16, 15, 1, 8, 10, 0 }, { 16, 15, 2, 8, 10, 0 }, { 16, 15, 3, 8, 10, 0 }, { 16, 15, 4, 8, 10, 0 }, + { 16, 15, 5, 8, 10, 0 }, { 16, 15, 6, 8, 10, 0 }, { 16, 15, 7, 8, 10, 0 }, { 16, 15, 8, 8, 10, 0 }, { 16, 15, 9, 8, 10, 0 }, + { 16, 15, 10, 8, 10, 0 }, { 16, 15, 11, 8, 10, 0 }, { 16, 15, 12, 8, 10, 0 }, { 16, 15, 13, 8, 10, 0 }, { 16, 15, 14, 8, 10, 0 }, + { 16, 15, 15, 8, 10, 0 }, { 16, 15, 16, 8, 10, 0 }, { 16, 15, 17, 8, 10, 0 }, { 16, 15, 18, 8, 10, 0 }, { 16, 15, 19, 8, 10, 0 }, + { 16, 15, 20, 8, 10, 0 }, { 16, 15, 21, 8, 10, 0 }, { 16, 15, 22, 8, 10, 0 }, { 16, 15, 23, 8, 10, 0 }, { 16, 15, 24, 8, 10, 0 }, + { 16, 15, 25, 8, 10, 0 }, { 16, 15, 26, 8, 10, 0 }, { 16, 15, 27, 8, 10, 0 }, { 16, 15, 28, 8, 10, 0 }, { 16, 15, 29, 8, 10, 0 }, + { 16, 15, 30, 8, 10, 0 }, { 16, 15, 31, 8, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90E26E = { - 32, { - { 15, 16, 0, 16, 10, 0 }, { 15, 16, 1, 16, 10, 0 }, { 15, 16, 2, 16, 10, 0 }, { 15, 16, 3, 16, 10, 0 }, { 15, 16, 4, 16, 10, 0 }, - { 15, 16, 5, 16, 10, 0 }, { 15, 16, 6, 16, 10, 0 }, { 15, 16, 7, 16, 10, 0 }, { 15, 16, 8, 16, 10, 0 }, { 15, 16, 9, 16, 10, 0 }, - { 15, 16, 10, 16, 10, 0 }, { 15, 16, 11, 16, 10, 0 }, { 15, 16, 12, 16, 10, 0 }, { 15, 16, 13, 16, 10, 0 }, { 15, 16, 14, 16, 10, 0 }, - { 15, 16, 15, 16, 10, 0 }, { 15, 16, 16, 16, 10, 0 }, { 15, 16, 17, 16, 10, 0 }, { 15, 16, 18, 16, 10, 0 }, { 15, 16, 19, 16, 10, 0 }, - { 15, 16, 20, 16, 10, 0 }, { 15, 16, 21, 16, 10, 0 }, { 15, 16, 22, 16, 10, 0 }, { 15, 16, 23, 16, 10, 0 }, { 15, 16, 24, 16, 10, 0 }, - { 15, 16, 25, 16, 10, 0 }, { 15, 16, 26, 16, 10, 0 }, { 15, 16, 27, 16, 10, 0 }, { 15, 16, 28, 16, 10, 0 }, { 15, 16, 29, 16, 10, 0 }, - { 15, 16, 30, 16, 10, 0 }, { 15, 16, 31, 16, 10, 0 }, + 32, { + { 15, 16, 0, 16, 10, 0 }, { 15, 16, 1, 16, 10, 0 }, { 15, 16, 2, 16, 10, 0 }, { 15, 16, 3, 16, 10, 0 }, { 15, 16, 4, 16, 10, 0 }, + { 15, 16, 5, 16, 10, 0 }, { 15, 16, 6, 16, 10, 0 }, { 15, 16, 7, 16, 10, 0 }, { 15, 16, 8, 16, 10, 0 }, { 15, 16, 9, 16, 10, 0 }, + { 15, 16, 10, 16, 10, 0 }, { 15, 16, 11, 16, 10, 0 }, { 15, 16, 12, 16, 10, 0 }, { 15, 16, 13, 16, 10, 0 }, { 15, 16, 14, 16, 10, 0 }, + { 15, 16, 15, 16, 10, 0 }, { 15, 16, 16, 16, 10, 0 }, { 15, 16, 17, 16, 10, 0 }, { 15, 16, 18, 16, 10, 0 }, { 15, 16, 19, 16, 10, 0 }, + { 15, 16, 20, 16, 10, 0 }, { 15, 16, 21, 16, 10, 0 }, { 15, 16, 22, 16, 10, 0 }, { 15, 16, 23, 16, 10, 0 }, { 15, 16, 24, 16, 10, 0 }, + { 15, 16, 25, 16, 10, 0 }, { 15, 16, 26, 16, 10, 0 }, { 15, 16, 27, 16, 10, 0 }, { 15, 16, 28, 16, 10, 0 }, { 15, 16, 29, 16, 10, 0 }, + { 15, 16, 30, 16, 10, 0 }, { 15, 16, 31, 16, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90E390 = { - 32, { - { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, - { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 24, 10, 0 }, { 16, 16, 7, 24, 10, 0 }, { 16, 16, 8, 24, 10, 0 }, { 16, 16, 9, 24, 10, 0 }, - { 16, 16, 10, 24, 10, 0 }, { 16, 16, 11, 24, 10, 0 }, { 16, 16, 12, 24, 10, 0 }, { 16, 16, 13, 24, 10, 0 }, { 16, 16, 14, 24, 10, 0 }, - { 16, 16, 15, 24, 10, 0 }, { 16, 16, 16, 24, 10, 0 }, { 16, 16, 17, 24, 10, 0 }, { 16, 16, 18, 24, 10, 0 }, { 16, 16, 19, 24, 10, 0 }, - { 16, 16, 20, 24, 10, 0 }, { 16, 16, 21, 24, 10, 0 }, { 16, 16, 22, 24, 10, 0 }, { 16, 16, 23, 24, 10, 0 }, { 16, 16, 24, 24, 10, 0 }, - { 16, 16, 25, 24, 10, 0 }, { 16, 16, 26, 24, 10, 0 }, { 16, 16, 27, 24, 10, 0 }, { 16, 16, 28, 24, 10, 0 }, { 16, 16, 29, 24, 10, 0 }, - { 16, 16, 30, 24, 10, 0 }, { 16, 16, 31, 24, 10, 0 }, + 32, { + { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, + { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 24, 10, 0 }, { 16, 16, 7, 24, 10, 0 }, { 16, 16, 8, 24, 10, 0 }, { 16, 16, 9, 24, 10, 0 }, + { 16, 16, 10, 24, 10, 0 }, { 16, 16, 11, 24, 10, 0 }, { 16, 16, 12, 24, 10, 0 }, { 16, 16, 13, 24, 10, 0 }, { 16, 16, 14, 24, 10, 0 }, + { 16, 16, 15, 24, 10, 0 }, { 16, 16, 16, 24, 10, 0 }, { 16, 16, 17, 24, 10, 0 }, { 16, 16, 18, 24, 10, 0 }, { 16, 16, 19, 24, 10, 0 }, + { 16, 16, 20, 24, 10, 0 }, { 16, 16, 21, 24, 10, 0 }, { 16, 16, 22, 24, 10, 0 }, { 16, 16, 23, 24, 10, 0 }, { 16, 16, 24, 24, 10, 0 }, + { 16, 16, 25, 24, 10, 0 }, { 16, 16, 26, 24, 10, 0 }, { 16, 16, 27, 24, 10, 0 }, { 16, 16, 28, 24, 10, 0 }, { 16, 16, 29, 24, 10, 0 }, + { 16, 16, 30, 24, 10, 0 }, { 16, 16, 31, 24, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90E4B2 = { - 32, { - { 16, 16, 31, 0, 18, 0 }, { 16, 16, 30, 0, 18, 0 }, { 16, 16, 29, 0, 18, 0 }, { 16, 16, 28, 0, 18, 0 }, { 16, 16, 27, 0, 18, 0 }, - { 16, 16, 26, 0, 18, 0 }, { 16, 16, 25, 0, 18, 0 }, { 16, 16, 24, 0, 18, 0 }, { 16, 16, 23, 0, 18, 0 }, { 16, 16, 22, 0, 18, 0 }, - { 16, 16, 21, 0, 18, 0 }, { 16, 16, 20, 0, 18, 0 }, { 16, 16, 19, 0, 18, 0 }, { 16, 16, 18, 0, 18, 0 }, { 16, 16, 17, 0, 18, 0 }, - { 16, 16, 16, 0, 18, 0 }, { 16, 16, 15, 0, 18, 0 }, { 16, 16, 14, 0, 18, 0 }, { 16, 16, 13, 0, 18, 0 }, { 16, 16, 12, 0, 18, 0 }, - { 16, 16, 11, 0, 18, 0 }, { 16, 16, 10, 0, 18, 0 }, { 16, 16, 9, 0, 18, 0 }, { 16, 16, 8, 0, 18, 0 }, { 16, 16, 7, 0, 18, 0 }, - { 16, 16, 6, 0, 18, 0 }, { 16, 16, 5, 0, 18, 0 }, { 16, 16, 4, 0, 18, 0 }, { 16, 16, 3, 0, 18, 0 }, { 16, 16, 2, 0, 18, 0 }, - { 16, 16, 1, 0, 18, 0 }, { 16, 16, 0, 0, 18, 0 }, + 32, { + { 16, 16, 31, 0, 18, 0 }, { 16, 16, 30, 0, 18, 0 }, { 16, 16, 29, 0, 18, 0 }, { 16, 16, 28, 0, 18, 0 }, { 16, 16, 27, 0, 18, 0 }, + { 16, 16, 26, 0, 18, 0 }, { 16, 16, 25, 0, 18, 0 }, { 16, 16, 24, 0, 18, 0 }, { 16, 16, 23, 0, 18, 0 }, { 16, 16, 22, 0, 18, 0 }, + { 16, 16, 21, 0, 18, 0 }, { 16, 16, 20, 0, 18, 0 }, { 16, 16, 19, 0, 18, 0 }, { 16, 16, 18, 0, 18, 0 }, { 16, 16, 17, 0, 18, 0 }, + { 16, 16, 16, 0, 18, 0 }, { 16, 16, 15, 0, 18, 0 }, { 16, 16, 14, 0, 18, 0 }, { 16, 16, 13, 0, 18, 0 }, { 16, 16, 12, 0, 18, 0 }, + { 16, 16, 11, 0, 18, 0 }, { 16, 16, 10, 0, 18, 0 }, { 16, 16, 9, 0, 18, 0 }, { 16, 16, 8, 0, 18, 0 }, { 16, 16, 7, 0, 18, 0 }, + { 16, 16, 6, 0, 18, 0 }, { 16, 16, 5, 0, 18, 0 }, { 16, 16, 4, 0, 18, 0 }, { 16, 16, 3, 0, 18, 0 }, { 16, 16, 2, 0, 18, 0 }, + { 16, 16, 1, 0, 18, 0 }, { 16, 16, 0, 0, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90E5D4 = { - 32, { - { 16, 15, 31, 8, 18, 0 }, { 16, 15, 30, 8, 18, 0 }, { 16, 15, 29, 8, 18, 0 }, { 16, 15, 28, 8, 18, 0 }, { 16, 15, 27, 8, 18, 0 }, - { 16, 15, 26, 8, 18, 0 }, { 16, 15, 25, 8, 18, 0 }, { 16, 15, 24, 8, 18, 0 }, { 16, 15, 23, 8, 18, 0 }, { 16, 15, 22, 8, 18, 0 }, - { 16, 15, 21, 8, 18, 0 }, { 16, 15, 20, 8, 18, 0 }, { 16, 15, 19, 8, 18, 0 }, { 16, 15, 18, 8, 18, 0 }, { 16, 15, 17, 8, 18, 0 }, - { 16, 15, 16, 8, 18, 0 }, { 16, 15, 15, 8, 18, 0 }, { 16, 15, 14, 8, 18, 0 }, { 16, 15, 13, 8, 18, 0 }, { 16, 15, 12, 8, 18, 0 }, - { 16, 15, 11, 8, 18, 0 }, { 16, 15, 10, 8, 18, 0 }, { 16, 15, 9, 8, 18, 0 }, { 16, 15, 8, 8, 18, 0 }, { 16, 15, 7, 8, 18, 0 }, - { 16, 15, 6, 8, 18, 0 }, { 16, 15, 5, 8, 18, 0 }, { 16, 15, 4, 8, 18, 0 }, { 16, 15, 3, 8, 18, 0 }, { 16, 15, 2, 8, 18, 0 }, - { 16, 15, 1, 8, 18, 0 }, { 16, 15, 0, 8, 18, 0 }, + 32, { + { 16, 15, 31, 8, 18, 0 }, { 16, 15, 30, 8, 18, 0 }, { 16, 15, 29, 8, 18, 0 }, { 16, 15, 28, 8, 18, 0 }, { 16, 15, 27, 8, 18, 0 }, + { 16, 15, 26, 8, 18, 0 }, { 16, 15, 25, 8, 18, 0 }, { 16, 15, 24, 8, 18, 0 }, { 16, 15, 23, 8, 18, 0 }, { 16, 15, 22, 8, 18, 0 }, + { 16, 15, 21, 8, 18, 0 }, { 16, 15, 20, 8, 18, 0 }, { 16, 15, 19, 8, 18, 0 }, { 16, 15, 18, 8, 18, 0 }, { 16, 15, 17, 8, 18, 0 }, + { 16, 15, 16, 8, 18, 0 }, { 16, 15, 15, 8, 18, 0 }, { 16, 15, 14, 8, 18, 0 }, { 16, 15, 13, 8, 18, 0 }, { 16, 15, 12, 8, 18, 0 }, + { 16, 15, 11, 8, 18, 0 }, { 16, 15, 10, 8, 18, 0 }, { 16, 15, 9, 8, 18, 0 }, { 16, 15, 8, 8, 18, 0 }, { 16, 15, 7, 8, 18, 0 }, + { 16, 15, 6, 8, 18, 0 }, { 16, 15, 5, 8, 18, 0 }, { 16, 15, 4, 8, 18, 0 }, { 16, 15, 3, 8, 18, 0 }, { 16, 15, 2, 8, 18, 0 }, + { 16, 15, 1, 8, 18, 0 }, { 16, 15, 0, 8, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90E6F6 = { - 32, { - { 15, 16, 31, 16, 18, 0 }, { 15, 16, 30, 16, 18, 0 }, { 15, 16, 29, 16, 18, 0 }, { 15, 16, 28, 16, 18, 0 }, { 15, 16, 27, 16, 18, 0 }, - { 15, 16, 26, 16, 18, 0 }, { 15, 16, 25, 16, 18, 0 }, { 15, 16, 24, 16, 18, 0 }, { 15, 16, 23, 16, 18, 0 }, { 15, 16, 22, 16, 18, 0 }, - { 15, 16, 21, 16, 18, 0 }, { 15, 16, 20, 16, 18, 0 }, { 15, 16, 19, 16, 18, 0 }, { 15, 16, 18, 16, 18, 0 }, { 15, 16, 17, 16, 18, 0 }, - { 15, 16, 16, 16, 18, 0 }, { 15, 16, 15, 16, 18, 0 }, { 15, 16, 14, 16, 18, 0 }, { 15, 16, 13, 16, 18, 0 }, { 15, 16, 12, 16, 18, 0 }, - { 15, 16, 11, 16, 18, 0 }, { 15, 16, 10, 16, 18, 0 }, { 15, 16, 9, 16, 18, 0 }, { 15, 16, 8, 16, 18, 0 }, { 15, 16, 7, 16, 18, 0 }, - { 15, 16, 6, 16, 18, 0 }, { 15, 16, 5, 16, 18, 0 }, { 15, 16, 4, 16, 18, 0 }, { 15, 16, 3, 16, 18, 0 }, { 15, 16, 2, 16, 18, 0 }, - { 15, 16, 1, 16, 18, 0 }, { 15, 16, 0, 16, 18, 0 }, + 32, { + { 15, 16, 31, 16, 18, 0 }, { 15, 16, 30, 16, 18, 0 }, { 15, 16, 29, 16, 18, 0 }, { 15, 16, 28, 16, 18, 0 }, { 15, 16, 27, 16, 18, 0 }, + { 15, 16, 26, 16, 18, 0 }, { 15, 16, 25, 16, 18, 0 }, { 15, 16, 24, 16, 18, 0 }, { 15, 16, 23, 16, 18, 0 }, { 15, 16, 22, 16, 18, 0 }, + { 15, 16, 21, 16, 18, 0 }, { 15, 16, 20, 16, 18, 0 }, { 15, 16, 19, 16, 18, 0 }, { 15, 16, 18, 16, 18, 0 }, { 15, 16, 17, 16, 18, 0 }, + { 15, 16, 16, 16, 18, 0 }, { 15, 16, 15, 16, 18, 0 }, { 15, 16, 14, 16, 18, 0 }, { 15, 16, 13, 16, 18, 0 }, { 15, 16, 12, 16, 18, 0 }, + { 15, 16, 11, 16, 18, 0 }, { 15, 16, 10, 16, 18, 0 }, { 15, 16, 9, 16, 18, 0 }, { 15, 16, 8, 16, 18, 0 }, { 15, 16, 7, 16, 18, 0 }, + { 15, 16, 6, 16, 18, 0 }, { 15, 16, 5, 16, 18, 0 }, { 15, 16, 4, 16, 18, 0 }, { 15, 16, 3, 16, 18, 0 }, { 15, 16, 2, 16, 18, 0 }, + { 15, 16, 1, 16, 18, 0 }, { 15, 16, 0, 16, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90E818 = { - 32, { - { 16, 16, 31, 24, 18, 0 }, { 16, 16, 30, 24, 18, 0 }, { 16, 16, 29, 24, 18, 0 }, { 16, 16, 28, 24, 18, 0 }, { 16, 16, 27, 24, 18, 0 }, - { 16, 16, 26, 24, 18, 0 }, { 16, 16, 25, 24, 18, 0 }, { 16, 16, 24, 24, 18, 0 }, { 16, 16, 23, 24, 18, 0 }, { 16, 16, 22, 24, 18, 0 }, - { 16, 16, 21, 24, 18, 0 }, { 16, 16, 20, 24, 18, 0 }, { 16, 16, 19, 24, 18, 0 }, { 16, 16, 18, 24, 18, 0 }, { 16, 16, 17, 24, 18, 0 }, - { 16, 16, 16, 24, 18, 0 }, { 16, 16, 15, 24, 18, 0 }, { 16, 16, 14, 24, 18, 0 }, { 16, 16, 13, 24, 18, 0 }, { 16, 16, 12, 24, 18, 0 }, - { 16, 16, 11, 24, 18, 0 }, { 16, 16, 10, 24, 18, 0 }, { 16, 16, 9, 24, 18, 0 }, { 16, 16, 8, 24, 18, 0 }, { 16, 16, 7, 24, 18, 0 }, - { 16, 16, 6, 24, 18, 0 }, { 16, 16, 5, 24, 18, 0 }, { 16, 16, 4, 24, 18, 0 }, { 16, 16, 3, 24, 18, 0 }, { 16, 16, 2, 24, 18, 0 }, - { 16, 16, 1, 24, 18, 0 }, { 16, 16, 0, 24, 18, 0 }, + 32, { + { 16, 16, 31, 24, 18, 0 }, { 16, 16, 30, 24, 18, 0 }, { 16, 16, 29, 24, 18, 0 }, { 16, 16, 28, 24, 18, 0 }, { 16, 16, 27, 24, 18, 0 }, + { 16, 16, 26, 24, 18, 0 }, { 16, 16, 25, 24, 18, 0 }, { 16, 16, 24, 24, 18, 0 }, { 16, 16, 23, 24, 18, 0 }, { 16, 16, 22, 24, 18, 0 }, + { 16, 16, 21, 24, 18, 0 }, { 16, 16, 20, 24, 18, 0 }, { 16, 16, 19, 24, 18, 0 }, { 16, 16, 18, 24, 18, 0 }, { 16, 16, 17, 24, 18, 0 }, + { 16, 16, 16, 24, 18, 0 }, { 16, 16, 15, 24, 18, 0 }, { 16, 16, 14, 24, 18, 0 }, { 16, 16, 13, 24, 18, 0 }, { 16, 16, 12, 24, 18, 0 }, + { 16, 16, 11, 24, 18, 0 }, { 16, 16, 10, 24, 18, 0 }, { 16, 16, 9, 24, 18, 0 }, { 16, 16, 8, 24, 18, 0 }, { 16, 16, 7, 24, 18, 0 }, + { 16, 16, 6, 24, 18, 0 }, { 16, 16, 5, 24, 18, 0 }, { 16, 16, 4, 24, 18, 0 }, { 16, 16, 3, 24, 18, 0 }, { 16, 16, 2, 24, 18, 0 }, + { 16, 16, 1, 24, 18, 0 }, { 16, 16, 0, 24, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90E93A = { - 56, { - { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 30, 16, 3, 0, 4, 0 }, { 29, 16, 4, 0, 4, 0 }, - { 29, 16, 5, 0, 4, 0 }, { 28, 16, 6, 0, 4, 0 }, { 28, 16, 7, 0, 4, 0 }, { 27, 16, 8, 0, 4, 0 }, { 27, 16, 9, 0, 4, 0 }, - { 26, 16, 10, 0, 4, 0 }, { 26, 16, 11, 0, 4, 0 }, { 25, 16, 12, 0, 4, 0 }, { 25, 16, 13, 0, 4, 0 }, { 25, 16, 14, 0, 4, 0 }, - { 24, 16, 15, 0, 4, 0 }, { 24, 16, 16, 0, 4, 0 }, { 23, 16, 17, 0, 9, 0 }, { 23, 16, 18, 0, 9, 0 }, { 23, 16, 19, 0, 9, 0 }, - { 22, 16, 20, 0, 9, 0 }, { 22, 16, 21, 0, 9, 0 }, { 22, 16, 22, 0, 9, 0 }, { 21, 16, 23, 0, 9, 0 }, { 21, 16, 24, 0, 9, 0 }, - { 21, 16, 25, 0, 9, 0 }, { 21, 16, 26, 0, 9, 0 }, { 20, 16, 27, 0, 9, 0 }, { 20, 16, 28, 0, 9, 0 }, { 20, 16, 29, 0, 9, 0 }, - { 20, 16, 30, 0, 9, 0 }, { 19, 16, 31, 0, 9, 0 }, { 19, 16, 32, 0, 9, 0 }, { 19, 16, 33, 0, 9, 0 }, { 19, 16, 34, 0, 9, 0 }, - { 18, 16, 35, 0, 9, 0 }, { 18, 16, 36, 0, 9, 0 }, { 18, 16, 37, 0, 9, 0 }, { 18, 16, 38, 0, 9, 0 }, { 17, 16, 39, 0, 9, 0 }, - { 17, 16, 40, 0, 9, 0 }, { 17, 16, 41, 0, 9, 0 }, { 17, 16, 42, 0, 9, 0 }, { 17, 16, 43, 0, 10, 0 }, { 17, 16, 44, 0, 10, 0 }, - { 17, 16, 45, 0, 10, 0 }, { 16, 16, 46, 0, 10, 0 }, { 16, 16, 47, 0, 10, 0 }, { 16, 16, 48, 0, 10, 0 }, { 16, 16, 49, 0, 10, 0 }, - { 16, 16, 50, 0, 10, 0 }, { 16, 16, 51, 0, 10, 0 }, { 16, 16, 52, 0, 10, 0 }, { 16, 16, 53, 0, 10, 0 }, { 16, 16, 54, 0, 10, 0 }, - { 16, 16, 55, 0, 10, 0 }, + 56, { + { 31, 16, 0, 0, 4, 0 }, { 31, 16, 1, 0, 4, 0 }, { 30, 16, 2, 0, 4, 0 }, { 30, 16, 3, 0, 4, 0 }, { 29, 16, 4, 0, 4, 0 }, + { 29, 16, 5, 0, 4, 0 }, { 28, 16, 6, 0, 4, 0 }, { 28, 16, 7, 0, 4, 0 }, { 27, 16, 8, 0, 4, 0 }, { 27, 16, 9, 0, 4, 0 }, + { 26, 16, 10, 0, 4, 0 }, { 26, 16, 11, 0, 4, 0 }, { 25, 16, 12, 0, 4, 0 }, { 25, 16, 13, 0, 4, 0 }, { 25, 16, 14, 0, 4, 0 }, + { 24, 16, 15, 0, 4, 0 }, { 24, 16, 16, 0, 4, 0 }, { 23, 16, 17, 0, 9, 0 }, { 23, 16, 18, 0, 9, 0 }, { 23, 16, 19, 0, 9, 0 }, + { 22, 16, 20, 0, 9, 0 }, { 22, 16, 21, 0, 9, 0 }, { 22, 16, 22, 0, 9, 0 }, { 21, 16, 23, 0, 9, 0 }, { 21, 16, 24, 0, 9, 0 }, + { 21, 16, 25, 0, 9, 0 }, { 21, 16, 26, 0, 9, 0 }, { 20, 16, 27, 0, 9, 0 }, { 20, 16, 28, 0, 9, 0 }, { 20, 16, 29, 0, 9, 0 }, + { 20, 16, 30, 0, 9, 0 }, { 19, 16, 31, 0, 9, 0 }, { 19, 16, 32, 0, 9, 0 }, { 19, 16, 33, 0, 9, 0 }, { 19, 16, 34, 0, 9, 0 }, + { 18, 16, 35, 0, 9, 0 }, { 18, 16, 36, 0, 9, 0 }, { 18, 16, 37, 0, 9, 0 }, { 18, 16, 38, 0, 9, 0 }, { 17, 16, 39, 0, 9, 0 }, + { 17, 16, 40, 0, 9, 0 }, { 17, 16, 41, 0, 9, 0 }, { 17, 16, 42, 0, 9, 0 }, { 17, 16, 43, 0, 10, 0 }, { 17, 16, 44, 0, 10, 0 }, + { 17, 16, 45, 0, 10, 0 }, { 16, 16, 46, 0, 10, 0 }, { 16, 16, 47, 0, 10, 0 }, { 16, 16, 48, 0, 10, 0 }, { 16, 16, 49, 0, 10, 0 }, + { 16, 16, 50, 0, 10, 0 }, { 16, 16, 51, 0, 10, 0 }, { 16, 16, 52, 0, 10, 0 }, { 16, 16, 53, 0, 10, 0 }, { 16, 16, 54, 0, 10, 0 }, + { 16, 16, 55, 0, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90EB34 = { - 56, { - { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 1, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, - { 16, 2, 5, 8, 4, 0 }, { 16, 3, 6, 8, 4, 0 }, { 16, 3, 7, 8, 4, 0 }, { 16, 4, 8, 8, 4, 0 }, { 16, 4, 9, 8, 4, 0 }, - { 16, 5, 10, 8, 4, 0 }, { 16, 5, 11, 8, 4, 0 }, { 16, 6, 12, 8, 4, 0 }, { 16, 6, 13, 8, 4, 0 }, { 16, 6, 14, 8, 4, 0 }, - { 16, 7, 15, 8, 4, 0 }, { 16, 7, 16, 8, 4, 0 }, { 16, 8, 17, 8, 9, 0 }, { 16, 8, 18, 8, 9, 0 }, { 16, 8, 19, 8, 9, 0 }, - { 16, 9, 20, 8, 9, 0 }, { 16, 9, 21, 8, 9, 0 }, { 16, 9, 22, 8, 9, 0 }, { 16, 10, 23, 8, 9, 0 }, { 16, 10, 24, 8, 9, 0 }, - { 16, 10, 25, 8, 9, 0 }, { 16, 10, 26, 8, 9, 0 }, { 16, 11, 27, 8, 9, 0 }, { 16, 11, 28, 8, 9, 0 }, { 16, 11, 29, 8, 9, 0 }, - { 16, 11, 30, 8, 9, 0 }, { 16, 12, 31, 8, 9, 0 }, { 16, 12, 32, 8, 9, 0 }, { 16, 12, 33, 8, 9, 0 }, { 16, 12, 34, 8, 9, 0 }, - { 16, 13, 35, 8, 9, 0 }, { 16, 13, 36, 8, 9, 0 }, { 16, 13, 37, 8, 9, 0 }, { 16, 13, 38, 8, 9, 0 }, { 16, 14, 39, 8, 9, 0 }, - { 16, 14, 40, 8, 9, 0 }, { 16, 14, 41, 8, 9, 0 }, { 16, 14, 42, 8, 9, 0 }, { 16, 14, 43, 8, 10, 0 }, { 16, 14, 44, 8, 10, 0 }, - { 16, 14, 45, 8, 10, 0 }, { 16, 15, 46, 8, 10, 0 }, { 16, 15, 47, 8, 10, 0 }, { 16, 15, 48, 8, 10, 0 }, { 16, 15, 49, 8, 10, 0 }, - { 16, 15, 50, 8, 10, 0 }, { 16, 15, 51, 8, 10, 0 }, { 16, 15, 52, 8, 10, 0 }, { 16, 15, 53, 8, 10, 0 }, { 16, 15, 54, 8, 10, 0 }, - { 16, 15, 55, 8, 10, 0 }, + 56, { + { 16, 0, 0, 8, 4, 0 }, { 16, 0, 1, 8, 4, 0 }, { 16, 1, 2, 8, 4, 0 }, { 16, 1, 3, 8, 4, 0 }, { 16, 2, 4, 8, 4, 0 }, + { 16, 2, 5, 8, 4, 0 }, { 16, 3, 6, 8, 4, 0 }, { 16, 3, 7, 8, 4, 0 }, { 16, 4, 8, 8, 4, 0 }, { 16, 4, 9, 8, 4, 0 }, + { 16, 5, 10, 8, 4, 0 }, { 16, 5, 11, 8, 4, 0 }, { 16, 6, 12, 8, 4, 0 }, { 16, 6, 13, 8, 4, 0 }, { 16, 6, 14, 8, 4, 0 }, + { 16, 7, 15, 8, 4, 0 }, { 16, 7, 16, 8, 4, 0 }, { 16, 8, 17, 8, 9, 0 }, { 16, 8, 18, 8, 9, 0 }, { 16, 8, 19, 8, 9, 0 }, + { 16, 9, 20, 8, 9, 0 }, { 16, 9, 21, 8, 9, 0 }, { 16, 9, 22, 8, 9, 0 }, { 16, 10, 23, 8, 9, 0 }, { 16, 10, 24, 8, 9, 0 }, + { 16, 10, 25, 8, 9, 0 }, { 16, 10, 26, 8, 9, 0 }, { 16, 11, 27, 8, 9, 0 }, { 16, 11, 28, 8, 9, 0 }, { 16, 11, 29, 8, 9, 0 }, + { 16, 11, 30, 8, 9, 0 }, { 16, 12, 31, 8, 9, 0 }, { 16, 12, 32, 8, 9, 0 }, { 16, 12, 33, 8, 9, 0 }, { 16, 12, 34, 8, 9, 0 }, + { 16, 13, 35, 8, 9, 0 }, { 16, 13, 36, 8, 9, 0 }, { 16, 13, 37, 8, 9, 0 }, { 16, 13, 38, 8, 9, 0 }, { 16, 14, 39, 8, 9, 0 }, + { 16, 14, 40, 8, 9, 0 }, { 16, 14, 41, 8, 9, 0 }, { 16, 14, 42, 8, 9, 0 }, { 16, 14, 43, 8, 10, 0 }, { 16, 14, 44, 8, 10, 0 }, + { 16, 14, 45, 8, 10, 0 }, { 16, 15, 46, 8, 10, 0 }, { 16, 15, 47, 8, 10, 0 }, { 16, 15, 48, 8, 10, 0 }, { 16, 15, 49, 8, 10, 0 }, + { 16, 15, 50, 8, 10, 0 }, { 16, 15, 51, 8, 10, 0 }, { 16, 15, 52, 8, 10, 0 }, { 16, 15, 53, 8, 10, 0 }, { 16, 15, 54, 8, 10, 0 }, + { 16, 15, 55, 8, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90ED2E = { - 56, { - { 0, 16, 0, 16, 4, 0 }, { 0, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 1, 16, 3, 16, 4, 0 }, { 2, 16, 4, 16, 4, 0 }, - { 2, 16, 5, 16, 4, 0 }, { 3, 16, 6, 16, 4, 0 }, { 3, 16, 7, 16, 4, 0 }, { 4, 16, 8, 16, 4, 0 }, { 4, 16, 9, 16, 4, 0 }, - { 5, 16, 10, 16, 4, 0 }, { 5, 16, 11, 16, 4, 0 }, { 6, 16, 12, 16, 4, 0 }, { 6, 16, 13, 16, 4, 0 }, { 6, 16, 14, 16, 4, 0 }, - { 7, 16, 15, 16, 4, 0 }, { 7, 16, 16, 16, 4, 0 }, { 8, 16, 17, 16, 9, 0 }, { 8, 16, 18, 16, 9, 0 }, { 8, 16, 19, 16, 9, 0 }, - { 9, 16, 20, 16, 9, 0 }, { 9, 16, 21, 16, 9, 0 }, { 9, 16, 22, 16, 9, 0 }, { 10, 16, 23, 16, 9, 0 }, { 10, 16, 24, 16, 9, 0 }, - { 10, 16, 25, 16, 9, 0 }, { 10, 16, 26, 16, 9, 0 }, { 11, 16, 27, 16, 9, 0 }, { 11, 16, 28, 16, 9, 0 }, { 11, 16, 29, 16, 9, 0 }, - { 11, 16, 30, 16, 9, 0 }, { 12, 16, 31, 16, 9, 0 }, { 12, 16, 32, 16, 9, 0 }, { 12, 16, 33, 16, 9, 0 }, { 12, 16, 34, 16, 9, 0 }, - { 13, 16, 35, 16, 9, 0 }, { 13, 16, 36, 16, 9, 0 }, { 13, 16, 37, 16, 9, 0 }, { 13, 16, 38, 16, 9, 0 }, { 14, 16, 39, 16, 9, 0 }, - { 14, 16, 40, 16, 9, 0 }, { 14, 16, 41, 16, 9, 0 }, { 14, 16, 42, 16, 9, 0 }, { 14, 16, 43, 16, 10, 0 }, { 14, 16, 44, 16, 10, 0 }, - { 14, 16, 45, 16, 10, 0 }, { 15, 16, 46, 16, 10, 0 }, { 15, 16, 47, 16, 10, 0 }, { 15, 16, 48, 16, 10, 0 }, { 15, 16, 49, 16, 10, 0 }, - { 15, 16, 50, 16, 10, 0 }, { 15, 16, 51, 16, 10, 0 }, { 15, 16, 52, 16, 10, 0 }, { 15, 16, 53, 16, 10, 0 }, { 15, 16, 54, 16, 10, 0 }, - { 15, 16, 55, 16, 10, 0 }, + 56, { + { 0, 16, 0, 16, 4, 0 }, { 0, 16, 1, 16, 4, 0 }, { 1, 16, 2, 16, 4, 0 }, { 1, 16, 3, 16, 4, 0 }, { 2, 16, 4, 16, 4, 0 }, + { 2, 16, 5, 16, 4, 0 }, { 3, 16, 6, 16, 4, 0 }, { 3, 16, 7, 16, 4, 0 }, { 4, 16, 8, 16, 4, 0 }, { 4, 16, 9, 16, 4, 0 }, + { 5, 16, 10, 16, 4, 0 }, { 5, 16, 11, 16, 4, 0 }, { 6, 16, 12, 16, 4, 0 }, { 6, 16, 13, 16, 4, 0 }, { 6, 16, 14, 16, 4, 0 }, + { 7, 16, 15, 16, 4, 0 }, { 7, 16, 16, 16, 4, 0 }, { 8, 16, 17, 16, 9, 0 }, { 8, 16, 18, 16, 9, 0 }, { 8, 16, 19, 16, 9, 0 }, + { 9, 16, 20, 16, 9, 0 }, { 9, 16, 21, 16, 9, 0 }, { 9, 16, 22, 16, 9, 0 }, { 10, 16, 23, 16, 9, 0 }, { 10, 16, 24, 16, 9, 0 }, + { 10, 16, 25, 16, 9, 0 }, { 10, 16, 26, 16, 9, 0 }, { 11, 16, 27, 16, 9, 0 }, { 11, 16, 28, 16, 9, 0 }, { 11, 16, 29, 16, 9, 0 }, + { 11, 16, 30, 16, 9, 0 }, { 12, 16, 31, 16, 9, 0 }, { 12, 16, 32, 16, 9, 0 }, { 12, 16, 33, 16, 9, 0 }, { 12, 16, 34, 16, 9, 0 }, + { 13, 16, 35, 16, 9, 0 }, { 13, 16, 36, 16, 9, 0 }, { 13, 16, 37, 16, 9, 0 }, { 13, 16, 38, 16, 9, 0 }, { 14, 16, 39, 16, 9, 0 }, + { 14, 16, 40, 16, 9, 0 }, { 14, 16, 41, 16, 9, 0 }, { 14, 16, 42, 16, 9, 0 }, { 14, 16, 43, 16, 10, 0 }, { 14, 16, 44, 16, 10, 0 }, + { 14, 16, 45, 16, 10, 0 }, { 15, 16, 46, 16, 10, 0 }, { 15, 16, 47, 16, 10, 0 }, { 15, 16, 48, 16, 10, 0 }, { 15, 16, 49, 16, 10, 0 }, + { 15, 16, 50, 16, 10, 0 }, { 15, 16, 51, 16, 10, 0 }, { 15, 16, 52, 16, 10, 0 }, { 15, 16, 53, 16, 10, 0 }, { 15, 16, 54, 16, 10, 0 }, + { 15, 16, 55, 16, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90EF28 = { - 56, { - { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 30, 3, 24, 4, 0 }, { 16, 29, 4, 24, 4, 0 }, - { 16, 29, 5, 24, 4, 0 }, { 16, 28, 6, 24, 4, 0 }, { 16, 28, 7, 24, 4, 0 }, { 16, 27, 8, 24, 4, 0 }, { 16, 27, 9, 24, 4, 0 }, - { 16, 26, 10, 24, 4, 0 }, { 16, 26, 11, 24, 4, 0 }, { 16, 25, 12, 24, 4, 0 }, { 16, 25, 13, 24, 4, 0 }, { 16, 25, 14, 24, 4, 0 }, - { 16, 24, 15, 24, 4, 0 }, { 16, 24, 16, 24, 4, 0 }, { 16, 23, 17, 24, 9, 0 }, { 16, 23, 18, 24, 9, 0 }, { 16, 23, 19, 24, 9, 0 }, - { 16, 22, 20, 24, 9, 0 }, { 16, 22, 21, 24, 9, 0 }, { 16, 22, 22, 24, 9, 0 }, { 16, 21, 23, 24, 9, 0 }, { 16, 21, 24, 24, 9, 0 }, - { 16, 21, 25, 24, 9, 0 }, { 16, 21, 26, 24, 9, 0 }, { 16, 20, 27, 24, 9, 0 }, { 16, 20, 28, 24, 9, 0 }, { 16, 20, 29, 24, 9, 0 }, - { 16, 20, 30, 24, 9, 0 }, { 16, 19, 31, 24, 9, 0 }, { 16, 19, 32, 24, 9, 0 }, { 16, 19, 33, 24, 9, 0 }, { 16, 19, 34, 24, 9, 0 }, - { 16, 18, 35, 24, 9, 0 }, { 16, 18, 36, 24, 9, 0 }, { 16, 18, 37, 24, 9, 0 }, { 16, 18, 38, 24, 9, 0 }, { 16, 17, 39, 24, 9, 0 }, - { 16, 17, 40, 24, 9, 0 }, { 16, 17, 41, 24, 9, 0 }, { 16, 17, 42, 24, 9, 0 }, { 16, 17, 43, 24, 10, 0 }, { 16, 17, 44, 24, 10, 0 }, - { 16, 17, 45, 24, 10, 0 }, { 16, 16, 46, 24, 10, 0 }, { 16, 16, 47, 24, 10, 0 }, { 16, 16, 48, 24, 10, 0 }, { 16, 16, 49, 24, 10, 0 }, - { 16, 16, 50, 24, 10, 0 }, { 16, 16, 51, 24, 10, 0 }, { 16, 16, 52, 24, 10, 0 }, { 16, 16, 53, 24, 10, 0 }, { 16, 16, 54, 24, 10, 0 }, - { 16, 16, 55, 24, 10, 0 }, + 56, { + { 16, 31, 0, 24, 4, 0 }, { 16, 31, 1, 24, 4, 0 }, { 16, 30, 2, 24, 4, 0 }, { 16, 30, 3, 24, 4, 0 }, { 16, 29, 4, 24, 4, 0 }, + { 16, 29, 5, 24, 4, 0 }, { 16, 28, 6, 24, 4, 0 }, { 16, 28, 7, 24, 4, 0 }, { 16, 27, 8, 24, 4, 0 }, { 16, 27, 9, 24, 4, 0 }, + { 16, 26, 10, 24, 4, 0 }, { 16, 26, 11, 24, 4, 0 }, { 16, 25, 12, 24, 4, 0 }, { 16, 25, 13, 24, 4, 0 }, { 16, 25, 14, 24, 4, 0 }, + { 16, 24, 15, 24, 4, 0 }, { 16, 24, 16, 24, 4, 0 }, { 16, 23, 17, 24, 9, 0 }, { 16, 23, 18, 24, 9, 0 }, { 16, 23, 19, 24, 9, 0 }, + { 16, 22, 20, 24, 9, 0 }, { 16, 22, 21, 24, 9, 0 }, { 16, 22, 22, 24, 9, 0 }, { 16, 21, 23, 24, 9, 0 }, { 16, 21, 24, 24, 9, 0 }, + { 16, 21, 25, 24, 9, 0 }, { 16, 21, 26, 24, 9, 0 }, { 16, 20, 27, 24, 9, 0 }, { 16, 20, 28, 24, 9, 0 }, { 16, 20, 29, 24, 9, 0 }, + { 16, 20, 30, 24, 9, 0 }, { 16, 19, 31, 24, 9, 0 }, { 16, 19, 32, 24, 9, 0 }, { 16, 19, 33, 24, 9, 0 }, { 16, 19, 34, 24, 9, 0 }, + { 16, 18, 35, 24, 9, 0 }, { 16, 18, 36, 24, 9, 0 }, { 16, 18, 37, 24, 9, 0 }, { 16, 18, 38, 24, 9, 0 }, { 16, 17, 39, 24, 9, 0 }, + { 16, 17, 40, 24, 9, 0 }, { 16, 17, 41, 24, 9, 0 }, { 16, 17, 42, 24, 9, 0 }, { 16, 17, 43, 24, 10, 0 }, { 16, 17, 44, 24, 10, 0 }, + { 16, 17, 45, 24, 10, 0 }, { 16, 16, 46, 24, 10, 0 }, { 16, 16, 47, 24, 10, 0 }, { 16, 16, 48, 24, 10, 0 }, { 16, 16, 49, 24, 10, 0 }, + { 16, 16, 50, 24, 10, 0 }, { 16, 16, 51, 24, 10, 0 }, { 16, 16, 52, 24, 10, 0 }, { 16, 16, 53, 24, 10, 0 }, { 16, 16, 54, 24, 10, 0 }, + { 16, 16, 55, 24, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9100F2 = { - 56, { - { 16, 16, 55, 0, 18, 0 }, { 16, 16, 54, 0, 18, 0 }, { 16, 16, 53, 0, 18, 0 }, { 16, 16, 52, 0, 18, 0 }, { 16, 16, 51, 0, 18, 0 }, - { 16, 16, 50, 0, 18, 0 }, { 16, 16, 49, 0, 18, 0 }, { 16, 16, 48, 0, 18, 0 }, { 15, 16, 47, 0, 18, 0 }, { 15, 16, 46, 0, 18, 0 }, - { 15, 16, 45, 0, 18, 0 }, { 15, 16, 44, 0, 18, 0 }, { 15, 16, 43, 0, 18, 0 }, { 15, 16, 42, 0, 17, 0 }, { 15, 16, 41, 0, 17, 0 }, - { 14, 16, 40, 0, 17, 0 }, { 14, 16, 39, 0, 17, 0 }, { 14, 16, 38, 0, 17, 0 }, { 14, 16, 37, 0, 17, 0 }, { 13, 16, 36, 0, 17, 0 }, - { 13, 16, 35, 0, 17, 0 }, { 13, 16, 34, 0, 17, 0 }, { 13, 16, 33, 0, 17, 0 }, { 12, 16, 32, 0, 17, 0 }, { 12, 16, 31, 0, 17, 0 }, - { 12, 16, 30, 0, 17, 0 }, { 12, 16, 29, 0, 17, 0 }, { 11, 16, 28, 0, 17, 0 }, { 11, 16, 27, 0, 17, 0 }, { 11, 16, 26, 0, 17, 0 }, - { 11, 16, 25, 0, 17, 0 }, { 10, 16, 24, 0, 17, 0 }, { 10, 16, 23, 0, 17, 0 }, { 10, 16, 22, 0, 17, 0 }, { 9, 16, 21, 0, 17, 0 }, - { 9, 16, 20, 0, 17, 0 }, { 9, 16, 19, 0, 17, 0 }, { 8, 16, 18, 0, 8, 0 }, { 8, 16, 17, 0, 8, 0 }, { 7, 16, 16, 0, 8, 0 }, - { 7, 16, 15, 0, 8, 0 }, { 7, 16, 14, 0, 8, 0 }, { 6, 16, 13, 0, 8, 0 }, { 6, 16, 12, 0, 8, 0 }, { 5, 16, 11, 0, 8, 0 }, - { 5, 16, 10, 0, 8, 0 }, { 4, 16, 9, 0, 8, 0 }, { 4, 16, 8, 0, 8, 0 }, { 3, 16, 7, 0, 8, 0 }, { 3, 16, 6, 0, 8, 0 }, - { 2, 16, 5, 0, 8, 0 }, { 2, 16, 4, 0, 8, 0 }, { 1, 16, 3, 0, 8, 0 }, { 1, 16, 2, 0, 8, 0 }, { 0, 16, 1, 0, 8, 0 }, - { 0, 16, 0, 0, 8, 0 }, + 56, { + { 16, 16, 55, 0, 18, 0 }, { 16, 16, 54, 0, 18, 0 }, { 16, 16, 53, 0, 18, 0 }, { 16, 16, 52, 0, 18, 0 }, { 16, 16, 51, 0, 18, 0 }, + { 16, 16, 50, 0, 18, 0 }, { 16, 16, 49, 0, 18, 0 }, { 16, 16, 48, 0, 18, 0 }, { 15, 16, 47, 0, 18, 0 }, { 15, 16, 46, 0, 18, 0 }, + { 15, 16, 45, 0, 18, 0 }, { 15, 16, 44, 0, 18, 0 }, { 15, 16, 43, 0, 18, 0 }, { 15, 16, 42, 0, 17, 0 }, { 15, 16, 41, 0, 17, 0 }, + { 14, 16, 40, 0, 17, 0 }, { 14, 16, 39, 0, 17, 0 }, { 14, 16, 38, 0, 17, 0 }, { 14, 16, 37, 0, 17, 0 }, { 13, 16, 36, 0, 17, 0 }, + { 13, 16, 35, 0, 17, 0 }, { 13, 16, 34, 0, 17, 0 }, { 13, 16, 33, 0, 17, 0 }, { 12, 16, 32, 0, 17, 0 }, { 12, 16, 31, 0, 17, 0 }, + { 12, 16, 30, 0, 17, 0 }, { 12, 16, 29, 0, 17, 0 }, { 11, 16, 28, 0, 17, 0 }, { 11, 16, 27, 0, 17, 0 }, { 11, 16, 26, 0, 17, 0 }, + { 11, 16, 25, 0, 17, 0 }, { 10, 16, 24, 0, 17, 0 }, { 10, 16, 23, 0, 17, 0 }, { 10, 16, 22, 0, 17, 0 }, { 9, 16, 21, 0, 17, 0 }, + { 9, 16, 20, 0, 17, 0 }, { 9, 16, 19, 0, 17, 0 }, { 8, 16, 18, 0, 8, 0 }, { 8, 16, 17, 0, 8, 0 }, { 7, 16, 16, 0, 8, 0 }, + { 7, 16, 15, 0, 8, 0 }, { 7, 16, 14, 0, 8, 0 }, { 6, 16, 13, 0, 8, 0 }, { 6, 16, 12, 0, 8, 0 }, { 5, 16, 11, 0, 8, 0 }, + { 5, 16, 10, 0, 8, 0 }, { 4, 16, 9, 0, 8, 0 }, { 4, 16, 8, 0, 8, 0 }, { 3, 16, 7, 0, 8, 0 }, { 3, 16, 6, 0, 8, 0 }, + { 2, 16, 5, 0, 8, 0 }, { 2, 16, 4, 0, 8, 0 }, { 1, 16, 3, 0, 8, 0 }, { 1, 16, 2, 0, 8, 0 }, { 0, 16, 1, 0, 8, 0 }, + { 0, 16, 0, 0, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9102EC = { - 56, { - { 16, 15, 55, 8, 18, 0 }, { 16, 15, 54, 8, 18, 0 }, { 16, 15, 53, 8, 18, 0 }, { 16, 15, 52, 8, 18, 0 }, { 16, 15, 51, 8, 18, 0 }, - { 16, 15, 50, 8, 18, 0 }, { 16, 15, 49, 8, 18, 0 }, { 16, 15, 48, 8, 18, 0 }, { 16, 16, 47, 8, 18, 0 }, { 16, 16, 46, 8, 18, 0 }, - { 16, 16, 45, 8, 18, 0 }, { 16, 16, 44, 8, 18, 0 }, { 16, 16, 43, 8, 18, 0 }, { 16, 16, 42, 8, 17, 0 }, { 16, 16, 41, 8, 17, 0 }, - { 16, 17, 40, 8, 17, 0 }, { 16, 17, 39, 8, 17, 0 }, { 16, 17, 38, 8, 17, 0 }, { 16, 17, 37, 8, 17, 0 }, { 16, 18, 36, 8, 17, 0 }, - { 16, 18, 35, 8, 17, 0 }, { 16, 18, 34, 8, 17, 0 }, { 16, 18, 33, 8, 17, 0 }, { 16, 19, 32, 8, 17, 0 }, { 16, 19, 31, 8, 17, 0 }, - { 16, 19, 30, 8, 17, 0 }, { 16, 19, 29, 8, 17, 0 }, { 16, 20, 28, 8, 17, 0 }, { 16, 20, 27, 8, 17, 0 }, { 16, 20, 26, 8, 17, 0 }, - { 16, 20, 25, 8, 17, 0 }, { 16, 21, 24, 8, 17, 0 }, { 16, 21, 23, 8, 17, 0 }, { 16, 21, 22, 8, 17, 0 }, { 16, 22, 21, 8, 17, 0 }, - { 16, 22, 20, 8, 17, 0 }, { 16, 22, 19, 8, 17, 0 }, { 16, 23, 18, 8, 8, 0 }, { 16, 23, 17, 8, 8, 0 }, { 16, 24, 16, 8, 8, 0 }, - { 16, 24, 15, 8, 8, 0 }, { 16, 24, 14, 8, 8, 0 }, { 16, 25, 13, 8, 8, 0 }, { 16, 25, 12, 8, 8, 0 }, { 16, 26, 11, 8, 8, 0 }, - { 16, 26, 10, 8, 8, 0 }, { 16, 27, 9, 8, 8, 0 }, { 16, 27, 8, 8, 8, 0 }, { 16, 28, 7, 8, 8, 0 }, { 16, 28, 6, 8, 8, 0 }, - { 16, 29, 5, 8, 8, 0 }, { 16, 29, 4, 8, 8, 0 }, { 16, 30, 3, 8, 8, 0 }, { 16, 30, 2, 8, 8, 0 }, { 16, 31, 1, 8, 8, 0 }, - { 16, 31, 0, 8, 8, 0 }, + 56, { + { 16, 15, 55, 8, 18, 0 }, { 16, 15, 54, 8, 18, 0 }, { 16, 15, 53, 8, 18, 0 }, { 16, 15, 52, 8, 18, 0 }, { 16, 15, 51, 8, 18, 0 }, + { 16, 15, 50, 8, 18, 0 }, { 16, 15, 49, 8, 18, 0 }, { 16, 15, 48, 8, 18, 0 }, { 16, 16, 47, 8, 18, 0 }, { 16, 16, 46, 8, 18, 0 }, + { 16, 16, 45, 8, 18, 0 }, { 16, 16, 44, 8, 18, 0 }, { 16, 16, 43, 8, 18, 0 }, { 16, 16, 42, 8, 17, 0 }, { 16, 16, 41, 8, 17, 0 }, + { 16, 17, 40, 8, 17, 0 }, { 16, 17, 39, 8, 17, 0 }, { 16, 17, 38, 8, 17, 0 }, { 16, 17, 37, 8, 17, 0 }, { 16, 18, 36, 8, 17, 0 }, + { 16, 18, 35, 8, 17, 0 }, { 16, 18, 34, 8, 17, 0 }, { 16, 18, 33, 8, 17, 0 }, { 16, 19, 32, 8, 17, 0 }, { 16, 19, 31, 8, 17, 0 }, + { 16, 19, 30, 8, 17, 0 }, { 16, 19, 29, 8, 17, 0 }, { 16, 20, 28, 8, 17, 0 }, { 16, 20, 27, 8, 17, 0 }, { 16, 20, 26, 8, 17, 0 }, + { 16, 20, 25, 8, 17, 0 }, { 16, 21, 24, 8, 17, 0 }, { 16, 21, 23, 8, 17, 0 }, { 16, 21, 22, 8, 17, 0 }, { 16, 22, 21, 8, 17, 0 }, + { 16, 22, 20, 8, 17, 0 }, { 16, 22, 19, 8, 17, 0 }, { 16, 23, 18, 8, 8, 0 }, { 16, 23, 17, 8, 8, 0 }, { 16, 24, 16, 8, 8, 0 }, + { 16, 24, 15, 8, 8, 0 }, { 16, 24, 14, 8, 8, 0 }, { 16, 25, 13, 8, 8, 0 }, { 16, 25, 12, 8, 8, 0 }, { 16, 26, 11, 8, 8, 0 }, + { 16, 26, 10, 8, 8, 0 }, { 16, 27, 9, 8, 8, 0 }, { 16, 27, 8, 8, 8, 0 }, { 16, 28, 7, 8, 8, 0 }, { 16, 28, 6, 8, 8, 0 }, + { 16, 29, 5, 8, 8, 0 }, { 16, 29, 4, 8, 8, 0 }, { 16, 30, 3, 8, 8, 0 }, { 16, 30, 2, 8, 8, 0 }, { 16, 31, 1, 8, 8, 0 }, + { 16, 31, 0, 8, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9104E6 = { - 56, { - { 15, 16, 55, 16, 18, 0 }, { 15, 16, 54, 16, 18, 0 }, { 15, 16, 53, 16, 18, 0 }, { 15, 16, 52, 16, 18, 0 }, { 15, 16, 51, 16, 18, 0 }, - { 15, 16, 50, 16, 18, 0 }, { 15, 16, 49, 16, 18, 0 }, { 15, 16, 48, 16, 18, 0 }, { 16, 16, 47, 16, 18, 0 }, { 16, 16, 46, 16, 18, 0 }, - { 16, 16, 45, 16, 18, 0 }, { 16, 16, 44, 16, 18, 0 }, { 16, 16, 43, 16, 18, 0 }, { 16, 16, 42, 16, 17, 0 }, { 16, 16, 41, 16, 17, 0 }, - { 17, 16, 40, 16, 17, 0 }, { 17, 16, 39, 16, 17, 0 }, { 17, 16, 38, 16, 17, 0 }, { 17, 16, 37, 16, 17, 0 }, { 18, 16, 36, 16, 17, 0 }, - { 18, 16, 35, 16, 17, 0 }, { 18, 16, 34, 16, 17, 0 }, { 18, 16, 33, 16, 17, 0 }, { 19, 16, 32, 16, 17, 0 }, { 19, 16, 31, 16, 17, 0 }, - { 19, 16, 30, 16, 17, 0 }, { 19, 16, 29, 16, 17, 0 }, { 20, 16, 28, 16, 17, 0 }, { 20, 16, 27, 16, 17, 0 }, { 20, 16, 26, 16, 17, 0 }, - { 20, 16, 25, 16, 17, 0 }, { 21, 16, 24, 16, 17, 0 }, { 21, 16, 23, 16, 17, 0 }, { 21, 16, 22, 16, 17, 0 }, { 22, 16, 21, 16, 17, 0 }, - { 22, 16, 20, 16, 17, 0 }, { 22, 16, 19, 16, 17, 0 }, { 23, 16, 18, 16, 8, 0 }, { 23, 16, 17, 16, 8, 0 }, { 24, 16, 16, 16, 8, 0 }, - { 24, 16, 15, 16, 8, 0 }, { 24, 16, 14, 16, 8, 0 }, { 25, 16, 13, 16, 8, 0 }, { 25, 16, 12, 16, 8, 0 }, { 26, 16, 11, 16, 8, 0 }, - { 26, 16, 10, 16, 8, 0 }, { 27, 16, 9, 16, 8, 0 }, { 27, 16, 8, 16, 8, 0 }, { 28, 16, 7, 16, 8, 0 }, { 28, 16, 6, 16, 8, 0 }, - { 29, 16, 5, 16, 8, 0 }, { 29, 16, 4, 16, 8, 0 }, { 30, 16, 3, 16, 8, 0 }, { 30, 16, 2, 16, 8, 0 }, { 31, 16, 1, 16, 8, 0 }, - { 31, 16, 0, 16, 8, 0 }, + 56, { + { 15, 16, 55, 16, 18, 0 }, { 15, 16, 54, 16, 18, 0 }, { 15, 16, 53, 16, 18, 0 }, { 15, 16, 52, 16, 18, 0 }, { 15, 16, 51, 16, 18, 0 }, + { 15, 16, 50, 16, 18, 0 }, { 15, 16, 49, 16, 18, 0 }, { 15, 16, 48, 16, 18, 0 }, { 16, 16, 47, 16, 18, 0 }, { 16, 16, 46, 16, 18, 0 }, + { 16, 16, 45, 16, 18, 0 }, { 16, 16, 44, 16, 18, 0 }, { 16, 16, 43, 16, 18, 0 }, { 16, 16, 42, 16, 17, 0 }, { 16, 16, 41, 16, 17, 0 }, + { 17, 16, 40, 16, 17, 0 }, { 17, 16, 39, 16, 17, 0 }, { 17, 16, 38, 16, 17, 0 }, { 17, 16, 37, 16, 17, 0 }, { 18, 16, 36, 16, 17, 0 }, + { 18, 16, 35, 16, 17, 0 }, { 18, 16, 34, 16, 17, 0 }, { 18, 16, 33, 16, 17, 0 }, { 19, 16, 32, 16, 17, 0 }, { 19, 16, 31, 16, 17, 0 }, + { 19, 16, 30, 16, 17, 0 }, { 19, 16, 29, 16, 17, 0 }, { 20, 16, 28, 16, 17, 0 }, { 20, 16, 27, 16, 17, 0 }, { 20, 16, 26, 16, 17, 0 }, + { 20, 16, 25, 16, 17, 0 }, { 21, 16, 24, 16, 17, 0 }, { 21, 16, 23, 16, 17, 0 }, { 21, 16, 22, 16, 17, 0 }, { 22, 16, 21, 16, 17, 0 }, + { 22, 16, 20, 16, 17, 0 }, { 22, 16, 19, 16, 17, 0 }, { 23, 16, 18, 16, 8, 0 }, { 23, 16, 17, 16, 8, 0 }, { 24, 16, 16, 16, 8, 0 }, + { 24, 16, 15, 16, 8, 0 }, { 24, 16, 14, 16, 8, 0 }, { 25, 16, 13, 16, 8, 0 }, { 25, 16, 12, 16, 8, 0 }, { 26, 16, 11, 16, 8, 0 }, + { 26, 16, 10, 16, 8, 0 }, { 27, 16, 9, 16, 8, 0 }, { 27, 16, 8, 16, 8, 0 }, { 28, 16, 7, 16, 8, 0 }, { 28, 16, 6, 16, 8, 0 }, + { 29, 16, 5, 16, 8, 0 }, { 29, 16, 4, 16, 8, 0 }, { 30, 16, 3, 16, 8, 0 }, { 30, 16, 2, 16, 8, 0 }, { 31, 16, 1, 16, 8, 0 }, + { 31, 16, 0, 16, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9106E0 = { - 56, { - { 16, 16, 55, 24, 18, 0 }, { 16, 16, 54, 24, 18, 0 }, { 16, 16, 53, 24, 18, 0 }, { 16, 16, 52, 24, 18, 0 }, { 16, 16, 51, 24, 18, 0 }, - { 16, 16, 50, 24, 18, 0 }, { 16, 16, 49, 24, 18, 0 }, { 16, 16, 48, 24, 18, 0 }, { 16, 15, 47, 24, 18, 0 }, { 16, 15, 46, 24, 18, 0 }, - { 16, 15, 45, 24, 18, 0 }, { 16, 15, 44, 24, 18, 0 }, { 16, 15, 43, 24, 18, 0 }, { 16, 15, 42, 24, 17, 0 }, { 16, 15, 41, 24, 17, 0 }, - { 16, 14, 40, 24, 17, 0 }, { 16, 14, 39, 24, 17, 0 }, { 16, 14, 38, 24, 17, 0 }, { 16, 14, 37, 24, 17, 0 }, { 16, 13, 36, 24, 17, 0 }, - { 16, 13, 35, 24, 17, 0 }, { 16, 13, 34, 24, 17, 0 }, { 16, 13, 33, 24, 17, 0 }, { 16, 12, 32, 24, 17, 0 }, { 16, 12, 31, 24, 17, 0 }, - { 16, 12, 30, 24, 17, 0 }, { 16, 12, 29, 24, 17, 0 }, { 16, 11, 28, 24, 17, 0 }, { 16, 11, 27, 24, 17, 0 }, { 16, 11, 26, 24, 17, 0 }, - { 16, 11, 25, 24, 17, 0 }, { 16, 10, 24, 24, 17, 0 }, { 16, 10, 23, 24, 17, 0 }, { 16, 10, 22, 24, 17, 0 }, { 16, 9, 21, 24, 17, 0 }, - { 16, 9, 20, 24, 17, 0 }, { 16, 9, 19, 24, 17, 0 }, { 16, 8, 18, 24, 8, 0 }, { 16, 8, 17, 24, 8, 0 }, { 16, 7, 16, 24, 8, 0 }, - { 16, 7, 15, 24, 8, 0 }, { 16, 7, 14, 24, 8, 0 }, { 16, 6, 13, 24, 8, 0 }, { 16, 6, 12, 24, 8, 0 }, { 16, 5, 11, 24, 8, 0 }, - { 16, 5, 10, 24, 8, 0 }, { 16, 4, 9, 24, 8, 0 }, { 16, 4, 8, 24, 8, 0 }, { 16, 3, 7, 24, 8, 0 }, { 16, 3, 6, 24, 8, 0 }, - { 16, 2, 5, 24, 8, 0 }, { 16, 2, 4, 24, 8, 0 }, { 16, 1, 3, 24, 8, 0 }, { 16, 1, 2, 24, 8, 0 }, { 16, 0, 1, 24, 8, 0 }, - { 16, 0, 0, 24, 8, 0 }, + 56, { + { 16, 16, 55, 24, 18, 0 }, { 16, 16, 54, 24, 18, 0 }, { 16, 16, 53, 24, 18, 0 }, { 16, 16, 52, 24, 18, 0 }, { 16, 16, 51, 24, 18, 0 }, + { 16, 16, 50, 24, 18, 0 }, { 16, 16, 49, 24, 18, 0 }, { 16, 16, 48, 24, 18, 0 }, { 16, 15, 47, 24, 18, 0 }, { 16, 15, 46, 24, 18, 0 }, + { 16, 15, 45, 24, 18, 0 }, { 16, 15, 44, 24, 18, 0 }, { 16, 15, 43, 24, 18, 0 }, { 16, 15, 42, 24, 17, 0 }, { 16, 15, 41, 24, 17, 0 }, + { 16, 14, 40, 24, 17, 0 }, { 16, 14, 39, 24, 17, 0 }, { 16, 14, 38, 24, 17, 0 }, { 16, 14, 37, 24, 17, 0 }, { 16, 13, 36, 24, 17, 0 }, + { 16, 13, 35, 24, 17, 0 }, { 16, 13, 34, 24, 17, 0 }, { 16, 13, 33, 24, 17, 0 }, { 16, 12, 32, 24, 17, 0 }, { 16, 12, 31, 24, 17, 0 }, + { 16, 12, 30, 24, 17, 0 }, { 16, 12, 29, 24, 17, 0 }, { 16, 11, 28, 24, 17, 0 }, { 16, 11, 27, 24, 17, 0 }, { 16, 11, 26, 24, 17, 0 }, + { 16, 11, 25, 24, 17, 0 }, { 16, 10, 24, 24, 17, 0 }, { 16, 10, 23, 24, 17, 0 }, { 16, 10, 22, 24, 17, 0 }, { 16, 9, 21, 24, 17, 0 }, + { 16, 9, 20, 24, 17, 0 }, { 16, 9, 19, 24, 17, 0 }, { 16, 8, 18, 24, 8, 0 }, { 16, 8, 17, 24, 8, 0 }, { 16, 7, 16, 24, 8, 0 }, + { 16, 7, 15, 24, 8, 0 }, { 16, 7, 14, 24, 8, 0 }, { 16, 6, 13, 24, 8, 0 }, { 16, 6, 12, 24, 8, 0 }, { 16, 5, 11, 24, 8, 0 }, + { 16, 5, 10, 24, 8, 0 }, { 16, 4, 9, 24, 8, 0 }, { 16, 4, 8, 24, 8, 0 }, { 16, 3, 7, 24, 8, 0 }, { 16, 3, 6, 24, 8, 0 }, + { 16, 2, 5, 24, 8, 0 }, { 16, 2, 4, 24, 8, 0 }, { 16, 1, 3, 24, 8, 0 }, { 16, 1, 2, 24, 8, 0 }, { 16, 0, 1, 24, 8, 0 }, + { 16, 0, 0, 24, 8, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90F122 = { - 56, { - { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, - { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 0, 10, 0 }, { 16, 16, 7, 0, 10, 0 }, { 15, 16, 8, 0, 10, 0 }, { 15, 16, 9, 0, 10, 0 }, - { 15, 16, 10, 0, 10, 0 }, { 15, 16, 11, 0, 10, 0 }, { 15, 16, 12, 0, 10, 0 }, { 15, 16, 13, 0, 9, 0 }, { 15, 16, 14, 0, 9, 0 }, - { 14, 16, 15, 0, 9, 0 }, { 14, 16, 16, 0, 9, 0 }, { 14, 16, 17, 0, 9, 0 }, { 14, 16, 18, 0, 9, 0 }, { 13, 16, 19, 0, 9, 0 }, - { 13, 16, 20, 0, 9, 0 }, { 13, 16, 21, 0, 9, 0 }, { 13, 16, 22, 0, 9, 0 }, { 12, 16, 23, 0, 9, 0 }, { 12, 16, 24, 0, 9, 0 }, - { 12, 16, 25, 0, 9, 0 }, { 12, 16, 26, 0, 9, 0 }, { 11, 16, 27, 0, 9, 0 }, { 11, 16, 28, 0, 9, 0 }, { 11, 16, 29, 0, 9, 0 }, - { 11, 16, 30, 0, 9, 0 }, { 10, 16, 31, 0, 9, 0 }, { 10, 16, 32, 0, 9, 0 }, { 10, 16, 33, 0, 9, 0 }, { 9, 16, 34, 0, 9, 0 }, - { 9, 16, 35, 0, 9, 0 }, { 9, 16, 36, 0, 9, 0 }, { 8, 16, 37, 0, 4, 0 }, { 8, 16, 38, 0, 4, 0 }, { 7, 16, 39, 0, 4, 0 }, - { 7, 16, 40, 0, 4, 0 }, { 7, 16, 41, 0, 4, 0 }, { 6, 16, 42, 0, 4, 0 }, { 6, 16, 43, 0, 4, 0 }, { 5, 16, 44, 0, 4, 0 }, - { 5, 16, 45, 0, 4, 0 }, { 4, 16, 46, 0, 4, 0 }, { 4, 16, 47, 0, 4, 0 }, { 3, 16, 48, 0, 4, 0 }, { 3, 16, 49, 0, 4, 0 }, - { 2, 16, 50, 0, 4, 0 }, { 2, 16, 51, 0, 4, 0 }, { 1, 16, 52, 0, 4, 0 }, { 1, 16, 53, 0, 4, 0 }, { 0, 16, 54, 0, 4, 0 }, - { 0, 16, 55, 0, 4, 0 }, + 56, { + { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, + { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 0, 10, 0 }, { 16, 16, 7, 0, 10, 0 }, { 15, 16, 8, 0, 10, 0 }, { 15, 16, 9, 0, 10, 0 }, + { 15, 16, 10, 0, 10, 0 }, { 15, 16, 11, 0, 10, 0 }, { 15, 16, 12, 0, 10, 0 }, { 15, 16, 13, 0, 9, 0 }, { 15, 16, 14, 0, 9, 0 }, + { 14, 16, 15, 0, 9, 0 }, { 14, 16, 16, 0, 9, 0 }, { 14, 16, 17, 0, 9, 0 }, { 14, 16, 18, 0, 9, 0 }, { 13, 16, 19, 0, 9, 0 }, + { 13, 16, 20, 0, 9, 0 }, { 13, 16, 21, 0, 9, 0 }, { 13, 16, 22, 0, 9, 0 }, { 12, 16, 23, 0, 9, 0 }, { 12, 16, 24, 0, 9, 0 }, + { 12, 16, 25, 0, 9, 0 }, { 12, 16, 26, 0, 9, 0 }, { 11, 16, 27, 0, 9, 0 }, { 11, 16, 28, 0, 9, 0 }, { 11, 16, 29, 0, 9, 0 }, + { 11, 16, 30, 0, 9, 0 }, { 10, 16, 31, 0, 9, 0 }, { 10, 16, 32, 0, 9, 0 }, { 10, 16, 33, 0, 9, 0 }, { 9, 16, 34, 0, 9, 0 }, + { 9, 16, 35, 0, 9, 0 }, { 9, 16, 36, 0, 9, 0 }, { 8, 16, 37, 0, 4, 0 }, { 8, 16, 38, 0, 4, 0 }, { 7, 16, 39, 0, 4, 0 }, + { 7, 16, 40, 0, 4, 0 }, { 7, 16, 41, 0, 4, 0 }, { 6, 16, 42, 0, 4, 0 }, { 6, 16, 43, 0, 4, 0 }, { 5, 16, 44, 0, 4, 0 }, + { 5, 16, 45, 0, 4, 0 }, { 4, 16, 46, 0, 4, 0 }, { 4, 16, 47, 0, 4, 0 }, { 3, 16, 48, 0, 4, 0 }, { 3, 16, 49, 0, 4, 0 }, + { 2, 16, 50, 0, 4, 0 }, { 2, 16, 51, 0, 4, 0 }, { 1, 16, 52, 0, 4, 0 }, { 1, 16, 53, 0, 4, 0 }, { 0, 16, 54, 0, 4, 0 }, + { 0, 16, 55, 0, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90F31C = { - 56, { - { 16, 15, 0, 8, 10, 0 }, { 16, 15, 1, 8, 10, 0 }, { 16, 15, 2, 8, 10, 0 }, { 16, 15, 3, 8, 10, 0 }, { 16, 15, 4, 8, 10, 0 }, - { 16, 15, 5, 8, 10, 0 }, { 16, 15, 6, 8, 10, 0 }, { 16, 15, 7, 8, 10, 0 }, { 16, 16, 8, 8, 10, 0 }, { 16, 16, 9, 8, 10, 0 }, - { 16, 16, 10, 8, 10, 0 }, { 16, 16, 11, 8, 10, 0 }, { 16, 16, 12, 8, 10, 0 }, { 16, 16, 13, 8, 9, 0 }, { 16, 16, 14, 8, 9, 0 }, - { 16, 17, 15, 8, 9, 0 }, { 16, 17, 16, 8, 9, 0 }, { 16, 17, 17, 8, 9, 0 }, { 16, 17, 18, 8, 9, 0 }, { 16, 18, 19, 8, 9, 0 }, - { 16, 18, 20, 8, 9, 0 }, { 16, 18, 21, 8, 9, 0 }, { 16, 18, 22, 8, 9, 0 }, { 16, 19, 23, 8, 9, 0 }, { 16, 19, 24, 8, 9, 0 }, - { 16, 19, 25, 8, 9, 0 }, { 16, 19, 26, 8, 9, 0 }, { 16, 20, 27, 8, 9, 0 }, { 16, 20, 28, 8, 9, 0 }, { 16, 20, 29, 8, 9, 0 }, - { 16, 20, 30, 8, 9, 0 }, { 16, 21, 31, 8, 9, 0 }, { 16, 21, 32, 8, 9, 0 }, { 16, 21, 33, 8, 9, 0 }, { 16, 22, 34, 8, 9, 0 }, - { 16, 22, 35, 8, 9, 0 }, { 16, 22, 36, 8, 9, 0 }, { 16, 23, 37, 8, 4, 0 }, { 16, 23, 38, 8, 4, 0 }, { 16, 24, 39, 8, 4, 0 }, - { 16, 24, 40, 8, 4, 0 }, { 16, 24, 41, 8, 4, 0 }, { 16, 25, 42, 8, 4, 0 }, { 16, 25, 43, 8, 4, 0 }, { 16, 26, 44, 8, 4, 0 }, - { 16, 26, 45, 8, 4, 0 }, { 16, 27, 46, 8, 4, 0 }, { 16, 27, 47, 8, 4, 0 }, { 16, 28, 48, 8, 4, 0 }, { 16, 28, 49, 8, 4, 0 }, - { 16, 29, 50, 8, 4, 0 }, { 16, 29, 51, 8, 4, 0 }, { 16, 30, 52, 8, 4, 0 }, { 16, 30, 53, 8, 4, 0 }, { 16, 31, 54, 8, 4, 0 }, - { 16, 31, 55, 8, 4, 0 }, + 56, { + { 16, 15, 0, 8, 10, 0 }, { 16, 15, 1, 8, 10, 0 }, { 16, 15, 2, 8, 10, 0 }, { 16, 15, 3, 8, 10, 0 }, { 16, 15, 4, 8, 10, 0 }, + { 16, 15, 5, 8, 10, 0 }, { 16, 15, 6, 8, 10, 0 }, { 16, 15, 7, 8, 10, 0 }, { 16, 16, 8, 8, 10, 0 }, { 16, 16, 9, 8, 10, 0 }, + { 16, 16, 10, 8, 10, 0 }, { 16, 16, 11, 8, 10, 0 }, { 16, 16, 12, 8, 10, 0 }, { 16, 16, 13, 8, 9, 0 }, { 16, 16, 14, 8, 9, 0 }, + { 16, 17, 15, 8, 9, 0 }, { 16, 17, 16, 8, 9, 0 }, { 16, 17, 17, 8, 9, 0 }, { 16, 17, 18, 8, 9, 0 }, { 16, 18, 19, 8, 9, 0 }, + { 16, 18, 20, 8, 9, 0 }, { 16, 18, 21, 8, 9, 0 }, { 16, 18, 22, 8, 9, 0 }, { 16, 19, 23, 8, 9, 0 }, { 16, 19, 24, 8, 9, 0 }, + { 16, 19, 25, 8, 9, 0 }, { 16, 19, 26, 8, 9, 0 }, { 16, 20, 27, 8, 9, 0 }, { 16, 20, 28, 8, 9, 0 }, { 16, 20, 29, 8, 9, 0 }, + { 16, 20, 30, 8, 9, 0 }, { 16, 21, 31, 8, 9, 0 }, { 16, 21, 32, 8, 9, 0 }, { 16, 21, 33, 8, 9, 0 }, { 16, 22, 34, 8, 9, 0 }, + { 16, 22, 35, 8, 9, 0 }, { 16, 22, 36, 8, 9, 0 }, { 16, 23, 37, 8, 4, 0 }, { 16, 23, 38, 8, 4, 0 }, { 16, 24, 39, 8, 4, 0 }, + { 16, 24, 40, 8, 4, 0 }, { 16, 24, 41, 8, 4, 0 }, { 16, 25, 42, 8, 4, 0 }, { 16, 25, 43, 8, 4, 0 }, { 16, 26, 44, 8, 4, 0 }, + { 16, 26, 45, 8, 4, 0 }, { 16, 27, 46, 8, 4, 0 }, { 16, 27, 47, 8, 4, 0 }, { 16, 28, 48, 8, 4, 0 }, { 16, 28, 49, 8, 4, 0 }, + { 16, 29, 50, 8, 4, 0 }, { 16, 29, 51, 8, 4, 0 }, { 16, 30, 52, 8, 4, 0 }, { 16, 30, 53, 8, 4, 0 }, { 16, 31, 54, 8, 4, 0 }, + { 16, 31, 55, 8, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90F516 = { - 56, { - { 15, 16, 0, 16, 10, 0 }, { 15, 16, 1, 16, 10, 0 }, { 15, 16, 2, 16, 10, 0 }, { 15, 16, 3, 16, 10, 0 }, { 15, 16, 4, 16, 10, 0 }, - { 15, 16, 5, 16, 10, 0 }, { 15, 16, 6, 16, 10, 0 }, { 15, 16, 7, 16, 10, 0 }, { 16, 16, 8, 16, 10, 0 }, { 16, 16, 9, 16, 10, 0 }, - { 16, 16, 10, 16, 10, 0 }, { 16, 16, 11, 16, 10, 0 }, { 16, 16, 12, 16, 10, 0 }, { 16, 16, 13, 16, 9, 0 }, { 16, 16, 14, 16, 9, 0 }, - { 17, 16, 15, 16, 9, 0 }, { 17, 16, 16, 16, 9, 0 }, { 17, 16, 17, 16, 9, 0 }, { 17, 16, 18, 16, 9, 0 }, { 18, 16, 19, 16, 9, 0 }, - { 18, 16, 20, 16, 9, 0 }, { 18, 16, 21, 16, 9, 0 }, { 18, 16, 22, 16, 9, 0 }, { 19, 16, 23, 16, 9, 0 }, { 19, 16, 24, 16, 9, 0 }, - { 19, 16, 25, 16, 9, 0 }, { 19, 16, 26, 16, 9, 0 }, { 20, 16, 27, 16, 9, 0 }, { 20, 16, 28, 16, 9, 0 }, { 20, 16, 29, 16, 9, 0 }, - { 20, 16, 30, 16, 9, 0 }, { 21, 16, 31, 16, 9, 0 }, { 21, 16, 32, 16, 9, 0 }, { 21, 16, 33, 16, 9, 0 }, { 22, 16, 34, 16, 9, 0 }, - { 22, 16, 35, 16, 9, 0 }, { 22, 16, 36, 16, 9, 0 }, { 23, 16, 37, 16, 4, 0 }, { 23, 16, 38, 16, 4, 0 }, { 24, 16, 39, 16, 4, 0 }, - { 24, 16, 40, 16, 4, 0 }, { 24, 16, 41, 16, 4, 0 }, { 25, 16, 42, 16, 4, 0 }, { 25, 16, 43, 16, 4, 0 }, { 26, 16, 44, 16, 4, 0 }, - { 26, 16, 45, 16, 4, 0 }, { 27, 16, 46, 16, 4, 0 }, { 27, 16, 47, 16, 4, 0 }, { 28, 16, 48, 16, 4, 0 }, { 28, 16, 49, 16, 4, 0 }, - { 29, 16, 50, 16, 4, 0 }, { 29, 16, 51, 16, 4, 0 }, { 30, 16, 52, 16, 4, 0 }, { 30, 16, 53, 16, 4, 0 }, { 31, 16, 54, 16, 4, 0 }, - { 31, 16, 55, 16, 4, 0 }, + 56, { + { 15, 16, 0, 16, 10, 0 }, { 15, 16, 1, 16, 10, 0 }, { 15, 16, 2, 16, 10, 0 }, { 15, 16, 3, 16, 10, 0 }, { 15, 16, 4, 16, 10, 0 }, + { 15, 16, 5, 16, 10, 0 }, { 15, 16, 6, 16, 10, 0 }, { 15, 16, 7, 16, 10, 0 }, { 16, 16, 8, 16, 10, 0 }, { 16, 16, 9, 16, 10, 0 }, + { 16, 16, 10, 16, 10, 0 }, { 16, 16, 11, 16, 10, 0 }, { 16, 16, 12, 16, 10, 0 }, { 16, 16, 13, 16, 9, 0 }, { 16, 16, 14, 16, 9, 0 }, + { 17, 16, 15, 16, 9, 0 }, { 17, 16, 16, 16, 9, 0 }, { 17, 16, 17, 16, 9, 0 }, { 17, 16, 18, 16, 9, 0 }, { 18, 16, 19, 16, 9, 0 }, + { 18, 16, 20, 16, 9, 0 }, { 18, 16, 21, 16, 9, 0 }, { 18, 16, 22, 16, 9, 0 }, { 19, 16, 23, 16, 9, 0 }, { 19, 16, 24, 16, 9, 0 }, + { 19, 16, 25, 16, 9, 0 }, { 19, 16, 26, 16, 9, 0 }, { 20, 16, 27, 16, 9, 0 }, { 20, 16, 28, 16, 9, 0 }, { 20, 16, 29, 16, 9, 0 }, + { 20, 16, 30, 16, 9, 0 }, { 21, 16, 31, 16, 9, 0 }, { 21, 16, 32, 16, 9, 0 }, { 21, 16, 33, 16, 9, 0 }, { 22, 16, 34, 16, 9, 0 }, + { 22, 16, 35, 16, 9, 0 }, { 22, 16, 36, 16, 9, 0 }, { 23, 16, 37, 16, 4, 0 }, { 23, 16, 38, 16, 4, 0 }, { 24, 16, 39, 16, 4, 0 }, + { 24, 16, 40, 16, 4, 0 }, { 24, 16, 41, 16, 4, 0 }, { 25, 16, 42, 16, 4, 0 }, { 25, 16, 43, 16, 4, 0 }, { 26, 16, 44, 16, 4, 0 }, + { 26, 16, 45, 16, 4, 0 }, { 27, 16, 46, 16, 4, 0 }, { 27, 16, 47, 16, 4, 0 }, { 28, 16, 48, 16, 4, 0 }, { 28, 16, 49, 16, 4, 0 }, + { 29, 16, 50, 16, 4, 0 }, { 29, 16, 51, 16, 4, 0 }, { 30, 16, 52, 16, 4, 0 }, { 30, 16, 53, 16, 4, 0 }, { 31, 16, 54, 16, 4, 0 }, + { 31, 16, 55, 16, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90F710 = { - 56, { - { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, - { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 24, 10, 0 }, { 16, 16, 7, 24, 10, 0 }, { 16, 15, 8, 24, 10, 0 }, { 16, 15, 9, 24, 10, 0 }, - { 16, 15, 10, 24, 10, 0 }, { 16, 15, 11, 24, 10, 0 }, { 16, 15, 12, 24, 10, 0 }, { 16, 15, 13, 24, 9, 0 }, { 16, 15, 14, 24, 9, 0 }, - { 16, 14, 15, 24, 9, 0 }, { 16, 14, 16, 24, 9, 0 }, { 16, 14, 17, 24, 9, 0 }, { 16, 14, 18, 24, 9, 0 }, { 16, 13, 19, 24, 9, 0 }, - { 16, 13, 20, 24, 9, 0 }, { 16, 13, 21, 24, 9, 0 }, { 16, 13, 22, 24, 9, 0 }, { 16, 12, 23, 24, 9, 0 }, { 16, 12, 24, 24, 9, 0 }, - { 16, 12, 25, 24, 9, 0 }, { 16, 12, 26, 24, 9, 0 }, { 16, 11, 27, 24, 9, 0 }, { 16, 11, 28, 24, 9, 0 }, { 16, 11, 29, 24, 9, 0 }, - { 16, 11, 30, 24, 9, 0 }, { 16, 10, 31, 24, 9, 0 }, { 16, 10, 32, 24, 9, 0 }, { 16, 10, 33, 24, 9, 0 }, { 16, 9, 34, 24, 9, 0 }, - { 16, 9, 35, 24, 9, 0 }, { 16, 9, 36, 24, 9, 0 }, { 16, 8, 37, 24, 4, 0 }, { 16, 8, 38, 24, 4, 0 }, { 16, 7, 39, 24, 4, 0 }, - { 16, 7, 40, 24, 4, 0 }, { 16, 7, 41, 24, 4, 0 }, { 16, 6, 42, 24, 4, 0 }, { 16, 6, 43, 24, 4, 0 }, { 16, 5, 44, 24, 4, 0 }, - { 16, 5, 45, 24, 4, 0 }, { 16, 4, 46, 24, 4, 0 }, { 16, 4, 47, 24, 4, 0 }, { 16, 3, 48, 24, 4, 0 }, { 16, 3, 49, 24, 4, 0 }, - { 16, 2, 50, 24, 4, 0 }, { 16, 2, 51, 24, 4, 0 }, { 16, 1, 52, 24, 4, 0 }, { 16, 1, 53, 24, 4, 0 }, { 16, 0, 54, 24, 4, 0 }, - { 16, 0, 55, 24, 4, 0 }, + 56, { + { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, + { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 24, 10, 0 }, { 16, 16, 7, 24, 10, 0 }, { 16, 15, 8, 24, 10, 0 }, { 16, 15, 9, 24, 10, 0 }, + { 16, 15, 10, 24, 10, 0 }, { 16, 15, 11, 24, 10, 0 }, { 16, 15, 12, 24, 10, 0 }, { 16, 15, 13, 24, 9, 0 }, { 16, 15, 14, 24, 9, 0 }, + { 16, 14, 15, 24, 9, 0 }, { 16, 14, 16, 24, 9, 0 }, { 16, 14, 17, 24, 9, 0 }, { 16, 14, 18, 24, 9, 0 }, { 16, 13, 19, 24, 9, 0 }, + { 16, 13, 20, 24, 9, 0 }, { 16, 13, 21, 24, 9, 0 }, { 16, 13, 22, 24, 9, 0 }, { 16, 12, 23, 24, 9, 0 }, { 16, 12, 24, 24, 9, 0 }, + { 16, 12, 25, 24, 9, 0 }, { 16, 12, 26, 24, 9, 0 }, { 16, 11, 27, 24, 9, 0 }, { 16, 11, 28, 24, 9, 0 }, { 16, 11, 29, 24, 9, 0 }, + { 16, 11, 30, 24, 9, 0 }, { 16, 10, 31, 24, 9, 0 }, { 16, 10, 32, 24, 9, 0 }, { 16, 10, 33, 24, 9, 0 }, { 16, 9, 34, 24, 9, 0 }, + { 16, 9, 35, 24, 9, 0 }, { 16, 9, 36, 24, 9, 0 }, { 16, 8, 37, 24, 4, 0 }, { 16, 8, 38, 24, 4, 0 }, { 16, 7, 39, 24, 4, 0 }, + { 16, 7, 40, 24, 4, 0 }, { 16, 7, 41, 24, 4, 0 }, { 16, 6, 42, 24, 4, 0 }, { 16, 6, 43, 24, 4, 0 }, { 16, 5, 44, 24, 4, 0 }, + { 16, 5, 45, 24, 4, 0 }, { 16, 4, 46, 24, 4, 0 }, { 16, 4, 47, 24, 4, 0 }, { 16, 3, 48, 24, 4, 0 }, { 16, 3, 49, 24, 4, 0 }, + { 16, 2, 50, 24, 4, 0 }, { 16, 2, 51, 24, 4, 0 }, { 16, 1, 52, 24, 4, 0 }, { 16, 1, 53, 24, 4, 0 }, { 16, 0, 54, 24, 4, 0 }, + { 16, 0, 55, 24, 4, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90F90A = { - 56, { - { 31, 16, 55, 0, 8, 0 }, { 31, 16, 54, 0, 8, 0 }, { 30, 16, 53, 0, 8, 0 }, { 30, 16, 52, 0, 8, 0 }, { 29, 16, 51, 0, 8, 0 }, - { 29, 16, 50, 0, 8, 0 }, { 28, 16, 49, 0, 8, 0 }, { 28, 16, 48, 0, 8, 0 }, { 27, 16, 47, 0, 8, 0 }, { 27, 16, 46, 0, 8, 0 }, - { 26, 16, 45, 0, 8, 0 }, { 26, 16, 44, 0, 8, 0 }, { 25, 16, 43, 0, 8, 0 }, { 25, 16, 42, 0, 8, 0 }, { 25, 16, 41, 0, 8, 0 }, - { 24, 16, 40, 0, 8, 0 }, { 24, 16, 39, 0, 8, 0 }, { 23, 16, 38, 0, 17, 0 }, { 23, 16, 37, 0, 17, 0 }, { 23, 16, 36, 0, 17, 0 }, - { 22, 16, 35, 0, 17, 0 }, { 22, 16, 34, 0, 17, 0 }, { 22, 16, 33, 0, 17, 0 }, { 21, 16, 32, 0, 17, 0 }, { 21, 16, 31, 0, 17, 0 }, - { 21, 16, 30, 0, 17, 0 }, { 21, 16, 29, 0, 17, 0 }, { 20, 16, 28, 0, 17, 0 }, { 20, 16, 27, 0, 17, 0 }, { 20, 16, 26, 0, 17, 0 }, - { 20, 16, 25, 0, 17, 0 }, { 19, 16, 24, 0, 17, 0 }, { 19, 16, 23, 0, 17, 0 }, { 19, 16, 22, 0, 17, 0 }, { 19, 16, 21, 0, 17, 0 }, - { 18, 16, 20, 0, 17, 0 }, { 18, 16, 19, 0, 17, 0 }, { 18, 16, 18, 0, 17, 0 }, { 18, 16, 17, 0, 17, 0 }, { 17, 16, 16, 0, 17, 0 }, - { 17, 16, 15, 0, 17, 0 }, { 17, 16, 14, 0, 17, 0 }, { 17, 16, 13, 0, 17, 0 }, { 17, 16, 12, 0, 18, 0 }, { 17, 16, 11, 0, 18, 0 }, - { 17, 16, 10, 0, 18, 0 }, { 16, 16, 9, 0, 18, 0 }, { 16, 16, 8, 0, 18, 0 }, { 16, 16, 7, 0, 18, 0 }, { 16, 16, 6, 0, 18, 0 }, - { 16, 16, 5, 0, 18, 0 }, { 16, 16, 4, 0, 18, 0 }, { 16, 16, 3, 0, 18, 0 }, { 16, 16, 2, 0, 18, 0 }, { 16, 16, 1, 0, 18, 0 }, - { 16, 16, 0, 0, 18, 0 }, + 56, { + { 31, 16, 55, 0, 8, 0 }, { 31, 16, 54, 0, 8, 0 }, { 30, 16, 53, 0, 8, 0 }, { 30, 16, 52, 0, 8, 0 }, { 29, 16, 51, 0, 8, 0 }, + { 29, 16, 50, 0, 8, 0 }, { 28, 16, 49, 0, 8, 0 }, { 28, 16, 48, 0, 8, 0 }, { 27, 16, 47, 0, 8, 0 }, { 27, 16, 46, 0, 8, 0 }, + { 26, 16, 45, 0, 8, 0 }, { 26, 16, 44, 0, 8, 0 }, { 25, 16, 43, 0, 8, 0 }, { 25, 16, 42, 0, 8, 0 }, { 25, 16, 41, 0, 8, 0 }, + { 24, 16, 40, 0, 8, 0 }, { 24, 16, 39, 0, 8, 0 }, { 23, 16, 38, 0, 17, 0 }, { 23, 16, 37, 0, 17, 0 }, { 23, 16, 36, 0, 17, 0 }, + { 22, 16, 35, 0, 17, 0 }, { 22, 16, 34, 0, 17, 0 }, { 22, 16, 33, 0, 17, 0 }, { 21, 16, 32, 0, 17, 0 }, { 21, 16, 31, 0, 17, 0 }, + { 21, 16, 30, 0, 17, 0 }, { 21, 16, 29, 0, 17, 0 }, { 20, 16, 28, 0, 17, 0 }, { 20, 16, 27, 0, 17, 0 }, { 20, 16, 26, 0, 17, 0 }, + { 20, 16, 25, 0, 17, 0 }, { 19, 16, 24, 0, 17, 0 }, { 19, 16, 23, 0, 17, 0 }, { 19, 16, 22, 0, 17, 0 }, { 19, 16, 21, 0, 17, 0 }, + { 18, 16, 20, 0, 17, 0 }, { 18, 16, 19, 0, 17, 0 }, { 18, 16, 18, 0, 17, 0 }, { 18, 16, 17, 0, 17, 0 }, { 17, 16, 16, 0, 17, 0 }, + { 17, 16, 15, 0, 17, 0 }, { 17, 16, 14, 0, 17, 0 }, { 17, 16, 13, 0, 17, 0 }, { 17, 16, 12, 0, 18, 0 }, { 17, 16, 11, 0, 18, 0 }, + { 17, 16, 10, 0, 18, 0 }, { 16, 16, 9, 0, 18, 0 }, { 16, 16, 8, 0, 18, 0 }, { 16, 16, 7, 0, 18, 0 }, { 16, 16, 6, 0, 18, 0 }, + { 16, 16, 5, 0, 18, 0 }, { 16, 16, 4, 0, 18, 0 }, { 16, 16, 3, 0, 18, 0 }, { 16, 16, 2, 0, 18, 0 }, { 16, 16, 1, 0, 18, 0 }, + { 16, 16, 0, 0, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90FB04 = { - 56, { - { 16, 0, 55, 8, 8, 0 }, { 16, 0, 54, 8, 8, 0 }, { 16, 1, 53, 8, 8, 0 }, { 16, 1, 52, 8, 8, 0 }, { 16, 2, 51, 8, 8, 0 }, - { 16, 2, 50, 8, 8, 0 }, { 16, 3, 49, 8, 8, 0 }, { 16, 3, 48, 8, 8, 0 }, { 16, 4, 47, 8, 8, 0 }, { 16, 4, 46, 8, 8, 0 }, - { 16, 5, 45, 8, 8, 0 }, { 16, 5, 44, 8, 8, 0 }, { 16, 6, 43, 8, 8, 0 }, { 16, 6, 42, 8, 8, 0 }, { 16, 6, 41, 8, 8, 0 }, - { 16, 7, 40, 8, 8, 0 }, { 16, 7, 39, 8, 8, 0 }, { 16, 8, 38, 8, 17, 0 }, { 16, 8, 37, 8, 17, 0 }, { 16, 8, 36, 8, 17, 0 }, - { 16, 9, 35, 8, 17, 0 }, { 16, 9, 34, 8, 17, 0 }, { 16, 9, 33, 8, 17, 0 }, { 16, 10, 32, 8, 17, 0 }, { 16, 10, 31, 8, 17, 0 }, - { 16, 10, 30, 8, 17, 0 }, { 16, 10, 29, 8, 17, 0 }, { 16, 11, 28, 8, 17, 0 }, { 16, 11, 27, 8, 17, 0 }, { 16, 11, 26, 8, 17, 0 }, - { 16, 11, 25, 8, 17, 0 }, { 16, 12, 24, 8, 17, 0 }, { 16, 12, 23, 8, 17, 0 }, { 16, 12, 22, 8, 17, 0 }, { 16, 12, 21, 8, 17, 0 }, - { 16, 13, 20, 8, 17, 0 }, { 16, 13, 19, 8, 17, 0 }, { 16, 13, 18, 8, 17, 0 }, { 16, 13, 17, 8, 17, 0 }, { 16, 14, 16, 8, 17, 0 }, - { 16, 14, 15, 8, 17, 0 }, { 16, 14, 14, 8, 17, 0 }, { 16, 14, 13, 8, 17, 0 }, { 16, 14, 12, 8, 18, 0 }, { 16, 14, 11, 8, 18, 0 }, - { 16, 14, 10, 8, 18, 0 }, { 16, 15, 9, 8, 18, 0 }, { 16, 15, 8, 8, 18, 0 }, { 16, 15, 7, 8, 18, 0 }, { 16, 15, 6, 8, 18, 0 }, - { 16, 15, 5, 8, 18, 0 }, { 16, 15, 4, 8, 18, 0 }, { 16, 15, 3, 8, 18, 0 }, { 16, 15, 2, 8, 18, 0 }, { 16, 15, 1, 8, 18, 0 }, - { 16, 15, 0, 8, 18, 0 }, + 56, { + { 16, 0, 55, 8, 8, 0 }, { 16, 0, 54, 8, 8, 0 }, { 16, 1, 53, 8, 8, 0 }, { 16, 1, 52, 8, 8, 0 }, { 16, 2, 51, 8, 8, 0 }, + { 16, 2, 50, 8, 8, 0 }, { 16, 3, 49, 8, 8, 0 }, { 16, 3, 48, 8, 8, 0 }, { 16, 4, 47, 8, 8, 0 }, { 16, 4, 46, 8, 8, 0 }, + { 16, 5, 45, 8, 8, 0 }, { 16, 5, 44, 8, 8, 0 }, { 16, 6, 43, 8, 8, 0 }, { 16, 6, 42, 8, 8, 0 }, { 16, 6, 41, 8, 8, 0 }, + { 16, 7, 40, 8, 8, 0 }, { 16, 7, 39, 8, 8, 0 }, { 16, 8, 38, 8, 17, 0 }, { 16, 8, 37, 8, 17, 0 }, { 16, 8, 36, 8, 17, 0 }, + { 16, 9, 35, 8, 17, 0 }, { 16, 9, 34, 8, 17, 0 }, { 16, 9, 33, 8, 17, 0 }, { 16, 10, 32, 8, 17, 0 }, { 16, 10, 31, 8, 17, 0 }, + { 16, 10, 30, 8, 17, 0 }, { 16, 10, 29, 8, 17, 0 }, { 16, 11, 28, 8, 17, 0 }, { 16, 11, 27, 8, 17, 0 }, { 16, 11, 26, 8, 17, 0 }, + { 16, 11, 25, 8, 17, 0 }, { 16, 12, 24, 8, 17, 0 }, { 16, 12, 23, 8, 17, 0 }, { 16, 12, 22, 8, 17, 0 }, { 16, 12, 21, 8, 17, 0 }, + { 16, 13, 20, 8, 17, 0 }, { 16, 13, 19, 8, 17, 0 }, { 16, 13, 18, 8, 17, 0 }, { 16, 13, 17, 8, 17, 0 }, { 16, 14, 16, 8, 17, 0 }, + { 16, 14, 15, 8, 17, 0 }, { 16, 14, 14, 8, 17, 0 }, { 16, 14, 13, 8, 17, 0 }, { 16, 14, 12, 8, 18, 0 }, { 16, 14, 11, 8, 18, 0 }, + { 16, 14, 10, 8, 18, 0 }, { 16, 15, 9, 8, 18, 0 }, { 16, 15, 8, 8, 18, 0 }, { 16, 15, 7, 8, 18, 0 }, { 16, 15, 6, 8, 18, 0 }, + { 16, 15, 5, 8, 18, 0 }, { 16, 15, 4, 8, 18, 0 }, { 16, 15, 3, 8, 18, 0 }, { 16, 15, 2, 8, 18, 0 }, { 16, 15, 1, 8, 18, 0 }, + { 16, 15, 0, 8, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90FCFE = { - 56, { - { 0, 16, 55, 16, 8, 0 }, { 0, 16, 54, 16, 8, 0 }, { 1, 16, 53, 16, 8, 0 }, { 1, 16, 52, 16, 8, 0 }, { 2, 16, 51, 16, 8, 0 }, - { 2, 16, 50, 16, 8, 0 }, { 3, 16, 49, 16, 8, 0 }, { 3, 16, 48, 16, 8, 0 }, { 4, 16, 47, 16, 8, 0 }, { 4, 16, 46, 16, 8, 0 }, - { 5, 16, 45, 16, 8, 0 }, { 5, 16, 44, 16, 8, 0 }, { 6, 16, 43, 16, 8, 0 }, { 6, 16, 42, 16, 8, 0 }, { 6, 16, 41, 16, 8, 0 }, - { 7, 16, 40, 16, 8, 0 }, { 7, 16, 39, 16, 8, 0 }, { 8, 16, 38, 16, 17, 0 }, { 8, 16, 37, 16, 17, 0 }, { 8, 16, 36, 16, 17, 0 }, - { 9, 16, 35, 16, 17, 0 }, { 9, 16, 34, 16, 17, 0 }, { 9, 16, 33, 16, 17, 0 }, { 10, 16, 32, 16, 17, 0 }, { 10, 16, 31, 16, 17, 0 }, - { 10, 16, 30, 16, 17, 0 }, { 10, 16, 29, 16, 17, 0 }, { 11, 16, 28, 16, 17, 0 }, { 11, 16, 27, 16, 17, 0 }, { 11, 16, 26, 16, 17, 0 }, - { 11, 16, 25, 16, 17, 0 }, { 12, 16, 24, 16, 17, 0 }, { 12, 16, 23, 16, 17, 0 }, { 12, 16, 22, 16, 17, 0 }, { 12, 16, 21, 16, 17, 0 }, - { 13, 16, 20, 16, 17, 0 }, { 13, 16, 19, 16, 17, 0 }, { 13, 16, 18, 16, 17, 0 }, { 13, 16, 17, 16, 17, 0 }, { 14, 16, 16, 16, 17, 0 }, - { 14, 16, 15, 16, 17, 0 }, { 14, 16, 14, 16, 17, 0 }, { 14, 16, 13, 16, 17, 0 }, { 14, 16, 12, 16, 18, 0 }, { 14, 16, 11, 16, 18, 0 }, - { 14, 16, 10, 16, 18, 0 }, { 15, 16, 9, 16, 18, 0 }, { 15, 16, 8, 16, 18, 0 }, { 15, 16, 7, 16, 18, 0 }, { 15, 16, 6, 16, 18, 0 }, - { 15, 16, 5, 16, 18, 0 }, { 15, 16, 4, 16, 18, 0 }, { 15, 16, 3, 16, 18, 0 }, { 15, 16, 2, 16, 18, 0 }, { 15, 16, 1, 16, 18, 0 }, - { 15, 16, 0, 16, 18, 0 }, + 56, { + { 0, 16, 55, 16, 8, 0 }, { 0, 16, 54, 16, 8, 0 }, { 1, 16, 53, 16, 8, 0 }, { 1, 16, 52, 16, 8, 0 }, { 2, 16, 51, 16, 8, 0 }, + { 2, 16, 50, 16, 8, 0 }, { 3, 16, 49, 16, 8, 0 }, { 3, 16, 48, 16, 8, 0 }, { 4, 16, 47, 16, 8, 0 }, { 4, 16, 46, 16, 8, 0 }, + { 5, 16, 45, 16, 8, 0 }, { 5, 16, 44, 16, 8, 0 }, { 6, 16, 43, 16, 8, 0 }, { 6, 16, 42, 16, 8, 0 }, { 6, 16, 41, 16, 8, 0 }, + { 7, 16, 40, 16, 8, 0 }, { 7, 16, 39, 16, 8, 0 }, { 8, 16, 38, 16, 17, 0 }, { 8, 16, 37, 16, 17, 0 }, { 8, 16, 36, 16, 17, 0 }, + { 9, 16, 35, 16, 17, 0 }, { 9, 16, 34, 16, 17, 0 }, { 9, 16, 33, 16, 17, 0 }, { 10, 16, 32, 16, 17, 0 }, { 10, 16, 31, 16, 17, 0 }, + { 10, 16, 30, 16, 17, 0 }, { 10, 16, 29, 16, 17, 0 }, { 11, 16, 28, 16, 17, 0 }, { 11, 16, 27, 16, 17, 0 }, { 11, 16, 26, 16, 17, 0 }, + { 11, 16, 25, 16, 17, 0 }, { 12, 16, 24, 16, 17, 0 }, { 12, 16, 23, 16, 17, 0 }, { 12, 16, 22, 16, 17, 0 }, { 12, 16, 21, 16, 17, 0 }, + { 13, 16, 20, 16, 17, 0 }, { 13, 16, 19, 16, 17, 0 }, { 13, 16, 18, 16, 17, 0 }, { 13, 16, 17, 16, 17, 0 }, { 14, 16, 16, 16, 17, 0 }, + { 14, 16, 15, 16, 17, 0 }, { 14, 16, 14, 16, 17, 0 }, { 14, 16, 13, 16, 17, 0 }, { 14, 16, 12, 16, 18, 0 }, { 14, 16, 11, 16, 18, 0 }, + { 14, 16, 10, 16, 18, 0 }, { 15, 16, 9, 16, 18, 0 }, { 15, 16, 8, 16, 18, 0 }, { 15, 16, 7, 16, 18, 0 }, { 15, 16, 6, 16, 18, 0 }, + { 15, 16, 5, 16, 18, 0 }, { 15, 16, 4, 16, 18, 0 }, { 15, 16, 3, 16, 18, 0 }, { 15, 16, 2, 16, 18, 0 }, { 15, 16, 1, 16, 18, 0 }, + { 15, 16, 0, 16, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90FEF8 = { - 56, { - { 16, 31, 55, 24, 8, 0 }, { 16, 31, 54, 24, 8, 0 }, { 16, 30, 53, 24, 8, 0 }, { 16, 30, 52, 24, 8, 0 }, { 16, 29, 51, 24, 8, 0 }, - { 16, 29, 50, 24, 8, 0 }, { 16, 28, 49, 24, 8, 0 }, { 16, 28, 48, 24, 8, 0 }, { 16, 27, 47, 24, 8, 0 }, { 16, 27, 46, 24, 8, 0 }, - { 16, 26, 45, 24, 8, 0 }, { 16, 26, 44, 24, 8, 0 }, { 16, 25, 43, 24, 8, 0 }, { 16, 25, 42, 24, 8, 0 }, { 16, 25, 41, 24, 8, 0 }, - { 16, 24, 40, 24, 8, 0 }, { 16, 24, 39, 24, 8, 0 }, { 16, 23, 38, 24, 17, 0 }, { 16, 23, 37, 24, 17, 0 }, { 16, 23, 36, 24, 17, 0 }, - { 16, 22, 35, 24, 17, 0 }, { 16, 22, 34, 24, 17, 0 }, { 16, 22, 33, 24, 17, 0 }, { 16, 21, 32, 24, 17, 0 }, { 16, 21, 31, 24, 17, 0 }, - { 16, 21, 30, 24, 17, 0 }, { 16, 21, 29, 24, 17, 0 }, { 16, 20, 28, 24, 17, 0 }, { 16, 20, 27, 24, 17, 0 }, { 16, 20, 26, 24, 17, 0 }, - { 16, 20, 25, 24, 17, 0 }, { 16, 19, 24, 24, 17, 0 }, { 16, 19, 23, 24, 17, 0 }, { 16, 19, 22, 24, 17, 0 }, { 16, 19, 21, 24, 17, 0 }, - { 16, 18, 20, 24, 17, 0 }, { 16, 18, 19, 24, 17, 0 }, { 16, 18, 18, 24, 17, 0 }, { 16, 18, 17, 24, 17, 0 }, { 16, 17, 16, 24, 17, 0 }, - { 16, 17, 15, 24, 17, 0 }, { 16, 17, 14, 24, 17, 0 }, { 16, 17, 13, 24, 17, 0 }, { 16, 17, 12, 24, 18, 0 }, { 16, 17, 11, 24, 18, 0 }, - { 16, 17, 10, 24, 18, 0 }, { 16, 16, 9, 24, 18, 0 }, { 16, 16, 8, 24, 18, 0 }, { 16, 16, 7, 24, 18, 0 }, { 16, 16, 6, 24, 18, 0 }, - { 16, 16, 5, 24, 18, 0 }, { 16, 16, 4, 24, 18, 0 }, { 16, 16, 3, 24, 18, 0 }, { 16, 16, 2, 24, 18, 0 }, { 16, 16, 1, 24, 18, 0 }, - { 16, 16, 0, 24, 18, 0 }, + 56, { + { 16, 31, 55, 24, 8, 0 }, { 16, 31, 54, 24, 8, 0 }, { 16, 30, 53, 24, 8, 0 }, { 16, 30, 52, 24, 8, 0 }, { 16, 29, 51, 24, 8, 0 }, + { 16, 29, 50, 24, 8, 0 }, { 16, 28, 49, 24, 8, 0 }, { 16, 28, 48, 24, 8, 0 }, { 16, 27, 47, 24, 8, 0 }, { 16, 27, 46, 24, 8, 0 }, + { 16, 26, 45, 24, 8, 0 }, { 16, 26, 44, 24, 8, 0 }, { 16, 25, 43, 24, 8, 0 }, { 16, 25, 42, 24, 8, 0 }, { 16, 25, 41, 24, 8, 0 }, + { 16, 24, 40, 24, 8, 0 }, { 16, 24, 39, 24, 8, 0 }, { 16, 23, 38, 24, 17, 0 }, { 16, 23, 37, 24, 17, 0 }, { 16, 23, 36, 24, 17, 0 }, + { 16, 22, 35, 24, 17, 0 }, { 16, 22, 34, 24, 17, 0 }, { 16, 22, 33, 24, 17, 0 }, { 16, 21, 32, 24, 17, 0 }, { 16, 21, 31, 24, 17, 0 }, + { 16, 21, 30, 24, 17, 0 }, { 16, 21, 29, 24, 17, 0 }, { 16, 20, 28, 24, 17, 0 }, { 16, 20, 27, 24, 17, 0 }, { 16, 20, 26, 24, 17, 0 }, + { 16, 20, 25, 24, 17, 0 }, { 16, 19, 24, 24, 17, 0 }, { 16, 19, 23, 24, 17, 0 }, { 16, 19, 22, 24, 17, 0 }, { 16, 19, 21, 24, 17, 0 }, + { 16, 18, 20, 24, 17, 0 }, { 16, 18, 19, 24, 17, 0 }, { 16, 18, 18, 24, 17, 0 }, { 16, 18, 17, 24, 17, 0 }, { 16, 17, 16, 24, 17, 0 }, + { 16, 17, 15, 24, 17, 0 }, { 16, 17, 14, 24, 17, 0 }, { 16, 17, 13, 24, 17, 0 }, { 16, 17, 12, 24, 18, 0 }, { 16, 17, 11, 24, 18, 0 }, + { 16, 17, 10, 24, 18, 0 }, { 16, 16, 9, 24, 18, 0 }, { 16, 16, 8, 24, 18, 0 }, { 16, 16, 7, 24, 18, 0 }, { 16, 16, 6, 24, 18, 0 }, + { 16, 16, 5, 24, 18, 0 }, { 16, 16, 4, 24, 18, 0 }, { 16, 16, 3, 24, 18, 0 }, { 16, 16, 2, 24, 18, 0 }, { 16, 16, 1, 24, 18, 0 }, + { 16, 16, 0, 24, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9108DA = { - 79, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 21, 16, 0, 31, 0, 0 }, { 20, 16, 0, 31, 0, 0 }, { 19, 15, 0, 31, 0, 0 }, { 18, 15, 0, 31, 0, 0 }, { 17, 15, 0, 31, 0, 0 }, - { 16, 15, 0, 31, 0, 0 }, { 15, 15, 0, 31, 0, 0 }, { 14, 14, 0, 31, 0, 0 }, { 13, 14, 0, 31, 0, 0 }, { 12, 14, 0, 31, 0, 0 }, - { 11, 14, 0, 31, 0, 0 }, { 10, 14, 0, 31, 0, 0 }, { 9, 13, 0, 31, 0, 0 }, { 8, 13, 0, 31, 0, 0 }, { 7, 13, 0, 31, 0, 0 }, - { 6, 13, 0, 31, 0, 0 }, { 5, 13, 0, 31, 0, 0 }, { 4, 12, 0, 31, 0, 0 }, { 3, 12, 0, 31, 0, 0 }, { 2, 12, 0, 31, 0, 0 }, - { 1, 12, 0, 30, 0, 0 }, { 0, 11, 0, 30, 0, 0 }, { -1, 11, 0, 30, 0, 0 }, { -2, 11, 0, 30, 0, 0 }, { -3, 11, 0, 30, 0, 0 }, - { -4, 10, 0, 30, 0, 0 }, { -5, 10, 0, 30, 0, 0 }, { -6, 10, 0, 30, 0, 0 }, { -7, 9, 0, 30, 0, 0 }, { -8, 9, 0, 30, 0, 0 }, - { -9, 9, 0, 30, 0, 0 }, { -10, 8, 0, 30, 0, 0 }, { -11, 8, 0, 30, 0, 0 }, { -12, 8, 0, 30, 0, 0 }, { -13, 7, 0, 30, 0, 0 }, - { -14, 7, 0, 30, 0, 0 }, { -15, 6, 0, 30, 0, 0 }, { -16, 6, 0, 30, 0, 0 }, { -17, 5, 0, 30, 0, 0 }, { -18, 5, 0, 30, 0, 0 }, - { -19, 4, 0, 30, 0, 0 }, { -20, 4, 0, 29, 0, 0 }, { -21, 3, 0, 29, 0, 0 }, { -22, 3, 0, 29, 0, 0 }, { -23, 2, 0, 29, 0, 0 }, - { -24, 2, 0, 29, 0, 0 }, { -25, 1, 0, 29, 0, 0 }, { -26, 0, 0, 29, 0, 0 }, { -27, 0, 0, 29, 0, 0 }, { -28, -1, 0, 29, 0, 0 }, - { -29, -2, 0, 29, 0, 0 }, { -30, -2, 0, 29, 0, 0 }, { -31, -3, 0, 29, 0, 0 }, { -32, -4, 0, 29, 0, 0 }, { -33, -4, 0, 29, 0, 0 }, - { -34, -5, 0, 29, 0, 0 }, { -35, -6, 0, 29, 0, 0 }, { -36, -7, 0, 29, 0, 0 }, { -37, -7, 0, 29, 0, 0 }, { -38, -8, 0, 29, 0, 0 }, - { -39, -9, 0, 28, 0, 0 }, { -40, -10, 0, 28, 0, 0 }, { -41, -11, 0, 28, 0, 0 }, { -42, -12, 0, 28, 0, 0 }, { -43, -12, 0, 28, 0, 0 }, - { -44, -13, 0, 28, 0, 0 }, { -45, -14, 0, 28, 0, 0 }, { -46, -15, 0, 28, 0, 0 }, { -47, -16, 0, 28, 0, 0 }, + 79, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 21, 16, 0, 31, 0, 0 }, { 20, 16, 0, 31, 0, 0 }, { 19, 15, 0, 31, 0, 0 }, { 18, 15, 0, 31, 0, 0 }, { 17, 15, 0, 31, 0, 0 }, + { 16, 15, 0, 31, 0, 0 }, { 15, 15, 0, 31, 0, 0 }, { 14, 14, 0, 31, 0, 0 }, { 13, 14, 0, 31, 0, 0 }, { 12, 14, 0, 31, 0, 0 }, + { 11, 14, 0, 31, 0, 0 }, { 10, 14, 0, 31, 0, 0 }, { 9, 13, 0, 31, 0, 0 }, { 8, 13, 0, 31, 0, 0 }, { 7, 13, 0, 31, 0, 0 }, + { 6, 13, 0, 31, 0, 0 }, { 5, 13, 0, 31, 0, 0 }, { 4, 12, 0, 31, 0, 0 }, { 3, 12, 0, 31, 0, 0 }, { 2, 12, 0, 31, 0, 0 }, + { 1, 12, 0, 30, 0, 0 }, { 0, 11, 0, 30, 0, 0 }, { -1, 11, 0, 30, 0, 0 }, { -2, 11, 0, 30, 0, 0 }, { -3, 11, 0, 30, 0, 0 }, + { -4, 10, 0, 30, 0, 0 }, { -5, 10, 0, 30, 0, 0 }, { -6, 10, 0, 30, 0, 0 }, { -7, 9, 0, 30, 0, 0 }, { -8, 9, 0, 30, 0, 0 }, + { -9, 9, 0, 30, 0, 0 }, { -10, 8, 0, 30, 0, 0 }, { -11, 8, 0, 30, 0, 0 }, { -12, 8, 0, 30, 0, 0 }, { -13, 7, 0, 30, 0, 0 }, + { -14, 7, 0, 30, 0, 0 }, { -15, 6, 0, 30, 0, 0 }, { -16, 6, 0, 30, 0, 0 }, { -17, 5, 0, 30, 0, 0 }, { -18, 5, 0, 30, 0, 0 }, + { -19, 4, 0, 30, 0, 0 }, { -20, 4, 0, 29, 0, 0 }, { -21, 3, 0, 29, 0, 0 }, { -22, 3, 0, 29, 0, 0 }, { -23, 2, 0, 29, 0, 0 }, + { -24, 2, 0, 29, 0, 0 }, { -25, 1, 0, 29, 0, 0 }, { -26, 0, 0, 29, 0, 0 }, { -27, 0, 0, 29, 0, 0 }, { -28, -1, 0, 29, 0, 0 }, + { -29, -2, 0, 29, 0, 0 }, { -30, -2, 0, 29, 0, 0 }, { -31, -3, 0, 29, 0, 0 }, { -32, -4, 0, 29, 0, 0 }, { -33, -4, 0, 29, 0, 0 }, + { -34, -5, 0, 29, 0, 0 }, { -35, -6, 0, 29, 0, 0 }, { -36, -7, 0, 29, 0, 0 }, { -37, -7, 0, 29, 0, 0 }, { -38, -8, 0, 29, 0, 0 }, + { -39, -9, 0, 28, 0, 0 }, { -40, -10, 0, 28, 0, 0 }, { -41, -11, 0, 28, 0, 0 }, { -42, -12, 0, 28, 0, 0 }, { -43, -12, 0, 28, 0, 0 }, + { -44, -13, 0, 28, 0, 0 }, { -45, -14, 0, 28, 0, 0 }, { -46, -15, 0, 28, 0, 0 }, { -47, -16, 0, 28, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_910BA3 = { - 80, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 7, 0, 0 }, { 16, 12, 0, 7, 0, 0 }, { 15, 13, 0, 7, 0, 0 }, { 15, 14, 0, 7, 0, 0 }, - { 15, 15, 0, 7, 0, 0 }, { 15, 16, 0, 7, 0, 0 }, { 15, 17, 0, 7, 0, 0 }, { 14, 18, 0, 7, 0, 0 }, { 14, 19, 0, 7, 0, 0 }, - { 14, 20, 0, 7, 0, 0 }, { 14, 21, 0, 7, 0, 0 }, { 14, 22, 0, 7, 0, 0 }, { 13, 23, 0, 7, 0, 0 }, { 13, 24, 0, 7, 0, 0 }, - { 13, 25, 0, 7, 0, 0 }, { 13, 26, 0, 7, 0, 0 }, { 13, 27, 0, 7, 0, 0 }, { 12, 28, 0, 7, 0, 0 }, { 12, 29, 0, 7, 0, 0 }, - { 12, 30, 0, 7, 0, 0 }, { 12, 31, 0, 6, 0, 0 }, { 11, 32, 0, 6, 0, 0 }, { 11, 33, 0, 6, 0, 0 }, { 11, 34, 0, 6, 0, 0 }, - { 11, 35, 0, 6, 0, 0 }, { 10, 36, 0, 6, 0, 0 }, { 10, 37, 0, 6, 0, 0 }, { 10, 38, 0, 6, 0, 0 }, { 9, 39, 0, 6, 0, 0 }, - { 9, 40, 0, 6, 0, 0 }, { 9, 41, 0, 6, 0, 0 }, { 8, 42, 0, 6, 0, 0 }, { 8, 43, 0, 6, 0, 0 }, { 8, 44, 0, 6, 0, 0 }, - { 7, 45, 0, 6, 0, 0 }, { 7, 46, 0, 6, 0, 0 }, { 6, 47, 0, 6, 0, 0 }, { 6, 48, 0, 6, 0, 0 }, { 5, 49, 0, 6, 0, 0 }, - { 5, 50, 0, 6, 0, 0 }, { 4, 51, 0, 6, 0, 0 }, { 4, 52, 0, 5, 0, 0 }, { 3, 53, 0, 5, 0, 0 }, { 3, 54, 0, 5, 0, 0 }, - { 2, 55, 0, 5, 0, 0 }, { 2, 56, 0, 5, 0, 0 }, { 1, 57, 0, 5, 0, 0 }, { 0, 58, 0, 5, 0, 0 }, { 0, 59, 0, 5, 0, 0 }, - { -1, 60, 0, 5, 0, 0 }, { -2, 61, 0, 5, 0, 0 }, { -2, 62, 0, 5, 0, 0 }, { -3, 63, 0, 5, 0, 0 }, { -4, 64, 0, 5, 0, 0 }, - { -4, 65, 0, 5, 0, 0 }, { -5, 66, 0, 5, 0, 0 }, { -6, 67, 0, 5, 0, 0 }, { -7, 68, 0, 5, 0, 0 }, { -7, 69, 0, 5, 0, 0 }, - { -8, 70, 0, 5, 0, 0 }, { -9, 71, 0, 4, 0, 0 }, { -10, 72, 0, 4, 0, 0 }, { -11, 73, 0, 4, 0, 0 }, { -12, 74, 0, 4, 0, 0 }, - { -12, 75, 0, 4, 0, 0 }, { -13, 76, 0, 4, 0, 0 }, { -14, 77, 0, 4, 0, 0 }, { -15, 78, 0, 4, 0, 0 }, { -16, 79, 0, 4, 0, 0 }, + 80, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 7, 0, 0 }, { 16, 12, 0, 7, 0, 0 }, { 15, 13, 0, 7, 0, 0 }, { 15, 14, 0, 7, 0, 0 }, + { 15, 15, 0, 7, 0, 0 }, { 15, 16, 0, 7, 0, 0 }, { 15, 17, 0, 7, 0, 0 }, { 14, 18, 0, 7, 0, 0 }, { 14, 19, 0, 7, 0, 0 }, + { 14, 20, 0, 7, 0, 0 }, { 14, 21, 0, 7, 0, 0 }, { 14, 22, 0, 7, 0, 0 }, { 13, 23, 0, 7, 0, 0 }, { 13, 24, 0, 7, 0, 0 }, + { 13, 25, 0, 7, 0, 0 }, { 13, 26, 0, 7, 0, 0 }, { 13, 27, 0, 7, 0, 0 }, { 12, 28, 0, 7, 0, 0 }, { 12, 29, 0, 7, 0, 0 }, + { 12, 30, 0, 7, 0, 0 }, { 12, 31, 0, 6, 0, 0 }, { 11, 32, 0, 6, 0, 0 }, { 11, 33, 0, 6, 0, 0 }, { 11, 34, 0, 6, 0, 0 }, + { 11, 35, 0, 6, 0, 0 }, { 10, 36, 0, 6, 0, 0 }, { 10, 37, 0, 6, 0, 0 }, { 10, 38, 0, 6, 0, 0 }, { 9, 39, 0, 6, 0, 0 }, + { 9, 40, 0, 6, 0, 0 }, { 9, 41, 0, 6, 0, 0 }, { 8, 42, 0, 6, 0, 0 }, { 8, 43, 0, 6, 0, 0 }, { 8, 44, 0, 6, 0, 0 }, + { 7, 45, 0, 6, 0, 0 }, { 7, 46, 0, 6, 0, 0 }, { 6, 47, 0, 6, 0, 0 }, { 6, 48, 0, 6, 0, 0 }, { 5, 49, 0, 6, 0, 0 }, + { 5, 50, 0, 6, 0, 0 }, { 4, 51, 0, 6, 0, 0 }, { 4, 52, 0, 5, 0, 0 }, { 3, 53, 0, 5, 0, 0 }, { 3, 54, 0, 5, 0, 0 }, + { 2, 55, 0, 5, 0, 0 }, { 2, 56, 0, 5, 0, 0 }, { 1, 57, 0, 5, 0, 0 }, { 0, 58, 0, 5, 0, 0 }, { 0, 59, 0, 5, 0, 0 }, + { -1, 60, 0, 5, 0, 0 }, { -2, 61, 0, 5, 0, 0 }, { -2, 62, 0, 5, 0, 0 }, { -3, 63, 0, 5, 0, 0 }, { -4, 64, 0, 5, 0, 0 }, + { -4, 65, 0, 5, 0, 0 }, { -5, 66, 0, 5, 0, 0 }, { -6, 67, 0, 5, 0, 0 }, { -7, 68, 0, 5, 0, 0 }, { -7, 69, 0, 5, 0, 0 }, + { -8, 70, 0, 5, 0, 0 }, { -9, 71, 0, 4, 0, 0 }, { -10, 72, 0, 4, 0, 0 }, { -11, 73, 0, 4, 0, 0 }, { -12, 74, 0, 4, 0, 0 }, + { -12, 75, 0, 4, 0, 0 }, { -13, 76, 0, 4, 0, 0 }, { -14, 77, 0, 4, 0, 0 }, { -15, 78, 0, 4, 0, 0 }, { -16, 79, 0, 4, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_910E75 = { - 80, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 15, 0, 0 }, { 12, 16, 0, 15, 0, 0 }, { 13, 16, 0, 15, 0, 0 }, { 14, 17, 0, 15, 0, 0 }, - { 15, 17, 0, 15, 0, 0 }, { 16, 17, 0, 15, 0, 0 }, { 17, 17, 0, 15, 0, 0 }, { 18, 17, 0, 15, 0, 0 }, { 19, 18, 0, 15, 0, 0 }, - { 20, 18, 0, 15, 0, 0 }, { 21, 18, 0, 15, 0, 0 }, { 22, 18, 0, 15, 0, 0 }, { 23, 18, 0, 15, 0, 0 }, { 24, 19, 0, 15, 0, 0 }, - { 25, 19, 0, 15, 0, 0 }, { 26, 19, 0, 15, 0, 0 }, { 27, 19, 0, 15, 0, 0 }, { 28, 19, 0, 15, 0, 0 }, { 29, 20, 0, 15, 0, 0 }, - { 30, 20, 0, 15, 0, 0 }, { 31, 20, 0, 14, 0, 0 }, { 32, 20, 0, 14, 0, 0 }, { 33, 21, 0, 14, 0, 0 }, { 34, 21, 0, 14, 0, 0 }, - { 35, 21, 0, 14, 0, 0 }, { 36, 21, 0, 14, 0, 0 }, { 37, 22, 0, 14, 0, 0 }, { 38, 22, 0, 14, 0, 0 }, { 39, 22, 0, 14, 0, 0 }, - { 40, 23, 0, 14, 0, 0 }, { 41, 23, 0, 14, 0, 0 }, { 42, 23, 0, 14, 0, 0 }, { 43, 24, 0, 14, 0, 0 }, { 44, 24, 0, 14, 0, 0 }, - { 45, 24, 0, 14, 0, 0 }, { 46, 25, 0, 14, 0, 0 }, { 47, 25, 0, 14, 0, 0 }, { 48, 26, 0, 14, 0, 0 }, { 49, 26, 0, 14, 0, 0 }, - { 50, 27, 0, 14, 0, 0 }, { 51, 27, 0, 14, 0, 0 }, { 52, 28, 0, 13, 0, 0 }, { 53, 28, 0, 13, 0, 0 }, { 54, 29, 0, 13, 0, 0 }, - { 55, 29, 0, 13, 0, 0 }, { 56, 30, 0, 13, 0, 0 }, { 57, 30, 0, 13, 0, 0 }, { 58, 31, 0, 13, 0, 0 }, { 59, 32, 0, 13, 0, 0 }, - { 60, 32, 0, 13, 0, 0 }, { 61, 33, 0, 13, 0, 0 }, { 62, 34, 0, 13, 0, 0 }, { 63, 34, 0, 13, 0, 0 }, { 64, 35, 0, 13, 0, 0 }, - { 65, 36, 0, 13, 0, 0 }, { 66, 36, 0, 13, 0, 0 }, { 67, 37, 0, 13, 0, 0 }, { 68, 38, 0, 13, 0, 0 }, { 69, 39, 0, 13, 0, 0 }, - { 70, 39, 0, 13, 0, 0 }, { 71, 40, 0, 12, 0, 0 }, { 72, 41, 0, 12, 0, 0 }, { 73, 42, 0, 12, 0, 0 }, { 74, 43, 0, 12, 0, 0 }, - { 75, 44, 0, 12, 0, 0 }, { 76, 44, 0, 12, 0, 0 }, { 77, 45, 0, 12, 0, 0 }, { 78, 46, 0, 12, 0, 0 }, { 79, 47, 0, 12, 0, 0 }, + 80, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 15, 0, 0 }, { 12, 16, 0, 15, 0, 0 }, { 13, 16, 0, 15, 0, 0 }, { 14, 17, 0, 15, 0, 0 }, + { 15, 17, 0, 15, 0, 0 }, { 16, 17, 0, 15, 0, 0 }, { 17, 17, 0, 15, 0, 0 }, { 18, 17, 0, 15, 0, 0 }, { 19, 18, 0, 15, 0, 0 }, + { 20, 18, 0, 15, 0, 0 }, { 21, 18, 0, 15, 0, 0 }, { 22, 18, 0, 15, 0, 0 }, { 23, 18, 0, 15, 0, 0 }, { 24, 19, 0, 15, 0, 0 }, + { 25, 19, 0, 15, 0, 0 }, { 26, 19, 0, 15, 0, 0 }, { 27, 19, 0, 15, 0, 0 }, { 28, 19, 0, 15, 0, 0 }, { 29, 20, 0, 15, 0, 0 }, + { 30, 20, 0, 15, 0, 0 }, { 31, 20, 0, 14, 0, 0 }, { 32, 20, 0, 14, 0, 0 }, { 33, 21, 0, 14, 0, 0 }, { 34, 21, 0, 14, 0, 0 }, + { 35, 21, 0, 14, 0, 0 }, { 36, 21, 0, 14, 0, 0 }, { 37, 22, 0, 14, 0, 0 }, { 38, 22, 0, 14, 0, 0 }, { 39, 22, 0, 14, 0, 0 }, + { 40, 23, 0, 14, 0, 0 }, { 41, 23, 0, 14, 0, 0 }, { 42, 23, 0, 14, 0, 0 }, { 43, 24, 0, 14, 0, 0 }, { 44, 24, 0, 14, 0, 0 }, + { 45, 24, 0, 14, 0, 0 }, { 46, 25, 0, 14, 0, 0 }, { 47, 25, 0, 14, 0, 0 }, { 48, 26, 0, 14, 0, 0 }, { 49, 26, 0, 14, 0, 0 }, + { 50, 27, 0, 14, 0, 0 }, { 51, 27, 0, 14, 0, 0 }, { 52, 28, 0, 13, 0, 0 }, { 53, 28, 0, 13, 0, 0 }, { 54, 29, 0, 13, 0, 0 }, + { 55, 29, 0, 13, 0, 0 }, { 56, 30, 0, 13, 0, 0 }, { 57, 30, 0, 13, 0, 0 }, { 58, 31, 0, 13, 0, 0 }, { 59, 32, 0, 13, 0, 0 }, + { 60, 32, 0, 13, 0, 0 }, { 61, 33, 0, 13, 0, 0 }, { 62, 34, 0, 13, 0, 0 }, { 63, 34, 0, 13, 0, 0 }, { 64, 35, 0, 13, 0, 0 }, + { 65, 36, 0, 13, 0, 0 }, { 66, 36, 0, 13, 0, 0 }, { 67, 37, 0, 13, 0, 0 }, { 68, 38, 0, 13, 0, 0 }, { 69, 39, 0, 13, 0, 0 }, + { 70, 39, 0, 13, 0, 0 }, { 71, 40, 0, 12, 0, 0 }, { 72, 41, 0, 12, 0, 0 }, { 73, 42, 0, 12, 0, 0 }, { 74, 43, 0, 12, 0, 0 }, + { 75, 44, 0, 12, 0, 0 }, { 76, 44, 0, 12, 0, 0 }, { 77, 45, 0, 12, 0, 0 }, { 78, 46, 0, 12, 0, 0 }, { 79, 47, 0, 12, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_911147 = { - 80, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 21, 0, 23, 0, 0 }, { 16, 20, 0, 23, 0, 0 }, { 16, 19, 0, 23, 0, 0 }, { 16, 18, 0, 23, 0, 0 }, { 17, 17, 0, 23, 0, 0 }, - { 17, 16, 0, 23, 0, 0 }, { 17, 15, 0, 23, 0, 0 }, { 17, 14, 0, 23, 0, 0 }, { 17, 13, 0, 23, 0, 0 }, { 18, 12, 0, 23, 0, 0 }, - { 18, 11, 0, 23, 0, 0 }, { 18, 10, 0, 23, 0, 0 }, { 18, 9, 0, 23, 0, 0 }, { 18, 8, 0, 23, 0, 0 }, { 19, 7, 0, 23, 0, 0 }, - { 19, 6, 0, 23, 0, 0 }, { 19, 5, 0, 23, 0, 0 }, { 19, 4, 0, 23, 0, 0 }, { 19, 3, 0, 23, 0, 0 }, { 20, 2, 0, 23, 0, 0 }, - { 20, 1, 0, 22, 0, 0 }, { 20, 0, 0, 22, 0, 0 }, { 20, -1, 0, 22, 0, 0 }, { 21, -2, 0, 22, 0, 0 }, { 21, -3, 0, 22, 0, 0 }, - { 21, -4, 0, 22, 0, 0 }, { 21, -5, 0, 22, 0, 0 }, { 22, -6, 0, 22, 0, 0 }, { 22, -7, 0, 22, 0, 0 }, { 22, -8, 0, 22, 0, 0 }, - { 23, -9, 0, 22, 0, 0 }, { 23, -10, 0, 22, 0, 0 }, { 23, -11, 0, 22, 0, 0 }, { 24, -12, 0, 22, 0, 0 }, { 24, -13, 0, 22, 0, 0 }, - { 24, -14, 0, 22, 0, 0 }, { 25, -15, 0, 22, 0, 0 }, { 25, -16, 0, 22, 0, 0 }, { 26, -17, 0, 22, 0, 0 }, { 26, -18, 0, 22, 0, 0 }, - { 27, -19, 0, 22, 0, 0 }, { 27, -20, 0, 21, 0, 0 }, { 28, -21, 0, 21, 0, 0 }, { 28, -22, 0, 21, 0, 0 }, { 29, -23, 0, 21, 0, 0 }, - { 29, -24, 0, 21, 0, 0 }, { 30, -25, 0, 21, 0, 0 }, { 30, -26, 0, 21, 0, 0 }, { 31, -27, 0, 21, 0, 0 }, { 32, -28, 0, 21, 0, 0 }, - { 32, -29, 0, 21, 0, 0 }, { 33, -30, 0, 21, 0, 0 }, { 34, -31, 0, 21, 0, 0 }, { 34, -32, 0, 21, 0, 0 }, { 35, -33, 0, 21, 0, 0 }, - { 36, -34, 0, 21, 0, 0 }, { 36, -35, 0, 21, 0, 0 }, { 37, -36, 0, 21, 0, 0 }, { 38, -37, 0, 21, 0, 0 }, { 39, -38, 0, 21, 0, 0 }, - { 39, -39, 0, 20, 0, 0 }, { 40, -40, 0, 20, 0, 0 }, { 41, -41, 0, 20, 0, 0 }, { 42, -42, 0, 20, 0, 0 }, { 43, -43, 0, 20, 0, 0 }, - { 44, -44, 0, 20, 0, 0 }, { 44, -45, 0, 20, 0, 0 }, { 45, -46, 0, 20, 0, 0 }, { 46, -47, 0, 20, 0, 0 }, { 47, -48, 0, 20, 0, 0 }, + 80, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 21, 0, 23, 0, 0 }, { 16, 20, 0, 23, 0, 0 }, { 16, 19, 0, 23, 0, 0 }, { 16, 18, 0, 23, 0, 0 }, { 17, 17, 0, 23, 0, 0 }, + { 17, 16, 0, 23, 0, 0 }, { 17, 15, 0, 23, 0, 0 }, { 17, 14, 0, 23, 0, 0 }, { 17, 13, 0, 23, 0, 0 }, { 18, 12, 0, 23, 0, 0 }, + { 18, 11, 0, 23, 0, 0 }, { 18, 10, 0, 23, 0, 0 }, { 18, 9, 0, 23, 0, 0 }, { 18, 8, 0, 23, 0, 0 }, { 19, 7, 0, 23, 0, 0 }, + { 19, 6, 0, 23, 0, 0 }, { 19, 5, 0, 23, 0, 0 }, { 19, 4, 0, 23, 0, 0 }, { 19, 3, 0, 23, 0, 0 }, { 20, 2, 0, 23, 0, 0 }, + { 20, 1, 0, 22, 0, 0 }, { 20, 0, 0, 22, 0, 0 }, { 20, -1, 0, 22, 0, 0 }, { 21, -2, 0, 22, 0, 0 }, { 21, -3, 0, 22, 0, 0 }, + { 21, -4, 0, 22, 0, 0 }, { 21, -5, 0, 22, 0, 0 }, { 22, -6, 0, 22, 0, 0 }, { 22, -7, 0, 22, 0, 0 }, { 22, -8, 0, 22, 0, 0 }, + { 23, -9, 0, 22, 0, 0 }, { 23, -10, 0, 22, 0, 0 }, { 23, -11, 0, 22, 0, 0 }, { 24, -12, 0, 22, 0, 0 }, { 24, -13, 0, 22, 0, 0 }, + { 24, -14, 0, 22, 0, 0 }, { 25, -15, 0, 22, 0, 0 }, { 25, -16, 0, 22, 0, 0 }, { 26, -17, 0, 22, 0, 0 }, { 26, -18, 0, 22, 0, 0 }, + { 27, -19, 0, 22, 0, 0 }, { 27, -20, 0, 21, 0, 0 }, { 28, -21, 0, 21, 0, 0 }, { 28, -22, 0, 21, 0, 0 }, { 29, -23, 0, 21, 0, 0 }, + { 29, -24, 0, 21, 0, 0 }, { 30, -25, 0, 21, 0, 0 }, { 30, -26, 0, 21, 0, 0 }, { 31, -27, 0, 21, 0, 0 }, { 32, -28, 0, 21, 0, 0 }, + { 32, -29, 0, 21, 0, 0 }, { 33, -30, 0, 21, 0, 0 }, { 34, -31, 0, 21, 0, 0 }, { 34, -32, 0, 21, 0, 0 }, { 35, -33, 0, 21, 0, 0 }, + { 36, -34, 0, 21, 0, 0 }, { 36, -35, 0, 21, 0, 0 }, { 37, -36, 0, 21, 0, 0 }, { 38, -37, 0, 21, 0, 0 }, { 39, -38, 0, 21, 0, 0 }, + { 39, -39, 0, 20, 0, 0 }, { 40, -40, 0, 20, 0, 0 }, { 41, -41, 0, 20, 0, 0 }, { 42, -42, 0, 20, 0, 0 }, { 43, -43, 0, 20, 0, 0 }, + { 44, -44, 0, 20, 0, 0 }, { 44, -45, 0, 20, 0, 0 }, { 45, -46, 0, 20, 0, 0 }, { 46, -47, 0, 20, 0, 0 }, { 47, -48, 0, 20, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_911F58 = { - 80, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 21, 16, 0, 1, 0, 0 }, { 20, 16, 0, 1, 0, 0 }, { 19, 16, 0, 1, 0, 0 }, { 18, 16, 0, 1, 0, 0 }, { 17, 17, 0, 1, 0, 0 }, - { 16, 17, 0, 1, 0, 0 }, { 15, 17, 0, 1, 0, 0 }, { 14, 17, 0, 1, 0, 0 }, { 13, 17, 0, 1, 0, 0 }, { 12, 18, 0, 1, 0, 0 }, - { 11, 18, 0, 1, 0, 0 }, { 10, 18, 0, 1, 0, 0 }, { 9, 18, 0, 1, 0, 0 }, { 8, 18, 0, 1, 0, 0 }, { 7, 19, 0, 1, 0, 0 }, - { 6, 19, 0, 1, 0, 0 }, { 5, 19, 0, 1, 0, 0 }, { 4, 19, 0, 1, 0, 0 }, { 3, 19, 0, 1, 0, 0 }, { 2, 20, 0, 1, 0, 0 }, - { 1, 20, 0, 2, 0, 0 }, { 0, 20, 0, 2, 0, 0 }, { -1, 20, 0, 2, 0, 0 }, { -2, 21, 0, 2, 0, 0 }, { -3, 21, 0, 2, 0, 0 }, - { -4, 21, 0, 2, 0, 0 }, { -5, 21, 0, 2, 0, 0 }, { -6, 22, 0, 2, 0, 0 }, { -7, 22, 0, 2, 0, 0 }, { -8, 22, 0, 2, 0, 0 }, - { -9, 23, 0, 2, 0, 0 }, { -10, 23, 0, 2, 0, 0 }, { -11, 23, 0, 2, 0, 0 }, { -12, 24, 0, 2, 0, 0 }, { -13, 24, 0, 2, 0, 0 }, - { -14, 24, 0, 2, 0, 0 }, { -15, 25, 0, 2, 0, 0 }, { -16, 25, 0, 2, 0, 0 }, { -17, 26, 0, 2, 0, 0 }, { -18, 26, 0, 2, 0, 0 }, - { -19, 27, 0, 2, 0, 0 }, { -20, 27, 0, 3, 0, 0 }, { -21, 28, 0, 3, 0, 0 }, { -22, 28, 0, 3, 0, 0 }, { -23, 29, 0, 3, 0, 0 }, - { -24, 29, 0, 3, 0, 0 }, { -25, 30, 0, 3, 0, 0 }, { -26, 30, 0, 3, 0, 0 }, { -27, 31, 0, 3, 0, 0 }, { -28, 32, 0, 3, 0, 0 }, - { -29, 32, 0, 3, 0, 0 }, { -30, 33, 0, 3, 0, 0 }, { -31, 34, 0, 3, 0, 0 }, { -32, 34, 0, 3, 0, 0 }, { -33, 35, 0, 3, 0, 0 }, - { -34, 36, 0, 3, 0, 0 }, { -35, 36, 0, 3, 0, 0 }, { -36, 37, 0, 3, 0, 0 }, { -37, 38, 0, 3, 0, 0 }, { -38, 39, 0, 3, 0, 0 }, - { -39, 39, 0, 4, 0, 0 }, { -40, 40, 0, 4, 0, 0 }, { -41, 41, 0, 4, 0, 0 }, { -42, 42, 0, 4, 0, 0 }, { -43, 43, 0, 4, 0, 0 }, - { -44, 44, 0, 4, 0, 0 }, { -45, 44, 0, 4, 0, 0 }, { -46, 45, 0, 4, 0, 0 }, { -47, 46, 0, 4, 0, 0 }, { -48, 47, 0, 4, 0, 0 }, + 80, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 21, 16, 0, 1, 0, 0 }, { 20, 16, 0, 1, 0, 0 }, { 19, 16, 0, 1, 0, 0 }, { 18, 16, 0, 1, 0, 0 }, { 17, 17, 0, 1, 0, 0 }, + { 16, 17, 0, 1, 0, 0 }, { 15, 17, 0, 1, 0, 0 }, { 14, 17, 0, 1, 0, 0 }, { 13, 17, 0, 1, 0, 0 }, { 12, 18, 0, 1, 0, 0 }, + { 11, 18, 0, 1, 0, 0 }, { 10, 18, 0, 1, 0, 0 }, { 9, 18, 0, 1, 0, 0 }, { 8, 18, 0, 1, 0, 0 }, { 7, 19, 0, 1, 0, 0 }, + { 6, 19, 0, 1, 0, 0 }, { 5, 19, 0, 1, 0, 0 }, { 4, 19, 0, 1, 0, 0 }, { 3, 19, 0, 1, 0, 0 }, { 2, 20, 0, 1, 0, 0 }, + { 1, 20, 0, 2, 0, 0 }, { 0, 20, 0, 2, 0, 0 }, { -1, 20, 0, 2, 0, 0 }, { -2, 21, 0, 2, 0, 0 }, { -3, 21, 0, 2, 0, 0 }, + { -4, 21, 0, 2, 0, 0 }, { -5, 21, 0, 2, 0, 0 }, { -6, 22, 0, 2, 0, 0 }, { -7, 22, 0, 2, 0, 0 }, { -8, 22, 0, 2, 0, 0 }, + { -9, 23, 0, 2, 0, 0 }, { -10, 23, 0, 2, 0, 0 }, { -11, 23, 0, 2, 0, 0 }, { -12, 24, 0, 2, 0, 0 }, { -13, 24, 0, 2, 0, 0 }, + { -14, 24, 0, 2, 0, 0 }, { -15, 25, 0, 2, 0, 0 }, { -16, 25, 0, 2, 0, 0 }, { -17, 26, 0, 2, 0, 0 }, { -18, 26, 0, 2, 0, 0 }, + { -19, 27, 0, 2, 0, 0 }, { -20, 27, 0, 3, 0, 0 }, { -21, 28, 0, 3, 0, 0 }, { -22, 28, 0, 3, 0, 0 }, { -23, 29, 0, 3, 0, 0 }, + { -24, 29, 0, 3, 0, 0 }, { -25, 30, 0, 3, 0, 0 }, { -26, 30, 0, 3, 0, 0 }, { -27, 31, 0, 3, 0, 0 }, { -28, 32, 0, 3, 0, 0 }, + { -29, 32, 0, 3, 0, 0 }, { -30, 33, 0, 3, 0, 0 }, { -31, 34, 0, 3, 0, 0 }, { -32, 34, 0, 3, 0, 0 }, { -33, 35, 0, 3, 0, 0 }, + { -34, 36, 0, 3, 0, 0 }, { -35, 36, 0, 3, 0, 0 }, { -36, 37, 0, 3, 0, 0 }, { -37, 38, 0, 3, 0, 0 }, { -38, 39, 0, 3, 0, 0 }, + { -39, 39, 0, 4, 0, 0 }, { -40, 40, 0, 4, 0, 0 }, { -41, 41, 0, 4, 0, 0 }, { -42, 42, 0, 4, 0, 0 }, { -43, 43, 0, 4, 0, 0 }, + { -44, 44, 0, 4, 0, 0 }, { -45, 44, 0, 4, 0, 0 }, { -46, 45, 0, 4, 0, 0 }, { -47, 46, 0, 4, 0, 0 }, { -48, 47, 0, 4, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91222A = { - 80, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 9, 0, 0 }, { 16, 12, 0, 9, 0, 0 }, { 16, 13, 0, 9, 0, 0 }, { 17, 14, 0, 9, 0, 0 }, - { 17, 15, 0, 9, 0, 0 }, { 17, 16, 0, 9, 0, 0 }, { 17, 17, 0, 9, 0, 0 }, { 17, 18, 0, 9, 0, 0 }, { 18, 19, 0, 9, 0, 0 }, - { 18, 20, 0, 9, 0, 0 }, { 18, 21, 0, 9, 0, 0 }, { 18, 22, 0, 9, 0, 0 }, { 18, 23, 0, 9, 0, 0 }, { 19, 24, 0, 9, 0, 0 }, - { 19, 25, 0, 9, 0, 0 }, { 19, 26, 0, 9, 0, 0 }, { 19, 27, 0, 9, 0, 0 }, { 19, 28, 0, 9, 0, 0 }, { 20, 29, 0, 9, 0, 0 }, - { 20, 30, 0, 9, 0, 0 }, { 20, 31, 0, 10, 0, 0 }, { 20, 32, 0, 10, 0, 0 }, { 21, 33, 0, 10, 0, 0 }, { 21, 34, 0, 10, 0, 0 }, - { 21, 35, 0, 10, 0, 0 }, { 21, 36, 0, 10, 0, 0 }, { 22, 37, 0, 10, 0, 0 }, { 22, 38, 0, 10, 0, 0 }, { 22, 39, 0, 10, 0, 0 }, - { 23, 40, 0, 10, 0, 0 }, { 23, 41, 0, 10, 0, 0 }, { 23, 42, 0, 10, 0, 0 }, { 24, 43, 0, 10, 0, 0 }, { 24, 44, 0, 10, 0, 0 }, - { 24, 45, 0, 10, 0, 0 }, { 25, 46, 0, 10, 0, 0 }, { 25, 47, 0, 10, 0, 0 }, { 26, 48, 0, 10, 0, 0 }, { 26, 49, 0, 10, 0, 0 }, - { 27, 50, 0, 10, 0, 0 }, { 27, 51, 0, 10, 0, 0 }, { 28, 52, 0, 11, 0, 0 }, { 28, 53, 0, 11, 0, 0 }, { 29, 54, 0, 11, 0, 0 }, - { 29, 55, 0, 11, 0, 0 }, { 30, 56, 0, 11, 0, 0 }, { 30, 57, 0, 11, 0, 0 }, { 31, 58, 0, 11, 0, 0 }, { 32, 59, 0, 11, 0, 0 }, - { 32, 60, 0, 11, 0, 0 }, { 33, 61, 0, 11, 0, 0 }, { 34, 62, 0, 11, 0, 0 }, { 34, 63, 0, 11, 0, 0 }, { 35, 64, 0, 11, 0, 0 }, - { 36, 65, 0, 11, 0, 0 }, { 36, 66, 0, 11, 0, 0 }, { 37, 67, 0, 11, 0, 0 }, { 38, 68, 0, 11, 0, 0 }, { 39, 69, 0, 11, 0, 0 }, - { 39, 70, 0, 11, 0, 0 }, { 40, 71, 0, 12, 0, 0 }, { 41, 72, 0, 12, 0, 0 }, { 42, 73, 0, 12, 0, 0 }, { 43, 74, 0, 12, 0, 0 }, - { 44, 75, 0, 12, 0, 0 }, { 44, 76, 0, 12, 0, 0 }, { 45, 77, 0, 12, 0, 0 }, { 46, 78, 0, 12, 0, 0 }, { 47, 79, 0, 12, 0, 0 }, + 80, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 9, 0, 0 }, { 16, 12, 0, 9, 0, 0 }, { 16, 13, 0, 9, 0, 0 }, { 17, 14, 0, 9, 0, 0 }, + { 17, 15, 0, 9, 0, 0 }, { 17, 16, 0, 9, 0, 0 }, { 17, 17, 0, 9, 0, 0 }, { 17, 18, 0, 9, 0, 0 }, { 18, 19, 0, 9, 0, 0 }, + { 18, 20, 0, 9, 0, 0 }, { 18, 21, 0, 9, 0, 0 }, { 18, 22, 0, 9, 0, 0 }, { 18, 23, 0, 9, 0, 0 }, { 19, 24, 0, 9, 0, 0 }, + { 19, 25, 0, 9, 0, 0 }, { 19, 26, 0, 9, 0, 0 }, { 19, 27, 0, 9, 0, 0 }, { 19, 28, 0, 9, 0, 0 }, { 20, 29, 0, 9, 0, 0 }, + { 20, 30, 0, 9, 0, 0 }, { 20, 31, 0, 10, 0, 0 }, { 20, 32, 0, 10, 0, 0 }, { 21, 33, 0, 10, 0, 0 }, { 21, 34, 0, 10, 0, 0 }, + { 21, 35, 0, 10, 0, 0 }, { 21, 36, 0, 10, 0, 0 }, { 22, 37, 0, 10, 0, 0 }, { 22, 38, 0, 10, 0, 0 }, { 22, 39, 0, 10, 0, 0 }, + { 23, 40, 0, 10, 0, 0 }, { 23, 41, 0, 10, 0, 0 }, { 23, 42, 0, 10, 0, 0 }, { 24, 43, 0, 10, 0, 0 }, { 24, 44, 0, 10, 0, 0 }, + { 24, 45, 0, 10, 0, 0 }, { 25, 46, 0, 10, 0, 0 }, { 25, 47, 0, 10, 0, 0 }, { 26, 48, 0, 10, 0, 0 }, { 26, 49, 0, 10, 0, 0 }, + { 27, 50, 0, 10, 0, 0 }, { 27, 51, 0, 10, 0, 0 }, { 28, 52, 0, 11, 0, 0 }, { 28, 53, 0, 11, 0, 0 }, { 29, 54, 0, 11, 0, 0 }, + { 29, 55, 0, 11, 0, 0 }, { 30, 56, 0, 11, 0, 0 }, { 30, 57, 0, 11, 0, 0 }, { 31, 58, 0, 11, 0, 0 }, { 32, 59, 0, 11, 0, 0 }, + { 32, 60, 0, 11, 0, 0 }, { 33, 61, 0, 11, 0, 0 }, { 34, 62, 0, 11, 0, 0 }, { 34, 63, 0, 11, 0, 0 }, { 35, 64, 0, 11, 0, 0 }, + { 36, 65, 0, 11, 0, 0 }, { 36, 66, 0, 11, 0, 0 }, { 37, 67, 0, 11, 0, 0 }, { 38, 68, 0, 11, 0, 0 }, { 39, 69, 0, 11, 0, 0 }, + { 39, 70, 0, 11, 0, 0 }, { 40, 71, 0, 12, 0, 0 }, { 41, 72, 0, 12, 0, 0 }, { 42, 73, 0, 12, 0, 0 }, { 43, 74, 0, 12, 0, 0 }, + { 44, 75, 0, 12, 0, 0 }, { 44, 76, 0, 12, 0, 0 }, { 45, 77, 0, 12, 0, 0 }, { 46, 78, 0, 12, 0, 0 }, { 47, 79, 0, 12, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9124FC = { - 80, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 17, 0, 0 }, { 12, 16, 0, 17, 0, 0 }, { 13, 15, 0, 17, 0, 0 }, { 14, 15, 0, 17, 0, 0 }, - { 15, 15, 0, 17, 0, 0 }, { 16, 15, 0, 17, 0, 0 }, { 17, 15, 0, 17, 0, 0 }, { 18, 14, 0, 17, 0, 0 }, { 19, 14, 0, 17, 0, 0 }, - { 20, 14, 0, 17, 0, 0 }, { 21, 14, 0, 17, 0, 0 }, { 22, 14, 0, 17, 0, 0 }, { 23, 13, 0, 17, 0, 0 }, { 24, 13, 0, 17, 0, 0 }, - { 25, 13, 0, 17, 0, 0 }, { 26, 13, 0, 17, 0, 0 }, { 27, 13, 0, 17, 0, 0 }, { 28, 12, 0, 17, 0, 0 }, { 29, 12, 0, 17, 0, 0 }, - { 30, 12, 0, 17, 0, 0 }, { 31, 12, 0, 18, 0, 0 }, { 32, 11, 0, 18, 0, 0 }, { 33, 11, 0, 18, 0, 0 }, { 34, 11, 0, 18, 0, 0 }, - { 35, 11, 0, 18, 0, 0 }, { 36, 10, 0, 18, 0, 0 }, { 37, 10, 0, 18, 0, 0 }, { 38, 10, 0, 18, 0, 0 }, { 39, 9, 0, 18, 0, 0 }, - { 40, 9, 0, 18, 0, 0 }, { 41, 9, 0, 18, 0, 0 }, { 42, 8, 0, 18, 0, 0 }, { 43, 8, 0, 18, 0, 0 }, { 44, 8, 0, 18, 0, 0 }, - { 45, 7, 0, 18, 0, 0 }, { 46, 7, 0, 18, 0, 0 }, { 47, 6, 0, 18, 0, 0 }, { 48, 6, 0, 18, 0, 0 }, { 49, 5, 0, 18, 0, 0 }, - { 50, 5, 0, 18, 0, 0 }, { 51, 4, 0, 18, 0, 0 }, { 52, 4, 0, 19, 0, 0 }, { 53, 3, 0, 19, 0, 0 }, { 54, 3, 0, 19, 0, 0 }, - { 55, 2, 0, 19, 0, 0 }, { 56, 2, 0, 19, 0, 0 }, { 57, 1, 0, 19, 0, 0 }, { 58, 0, 0, 19, 0, 0 }, { 59, 0, 0, 19, 0, 0 }, - { 60, -1, 0, 19, 0, 0 }, { 61, -2, 0, 19, 0, 0 }, { 62, -2, 0, 19, 0, 0 }, { 63, -3, 0, 19, 0, 0 }, { 64, -4, 0, 19, 0, 0 }, - { 65, -4, 0, 19, 0, 0 }, { 66, -5, 0, 19, 0, 0 }, { 67, -6, 0, 19, 0, 0 }, { 68, -7, 0, 19, 0, 0 }, { 69, -7, 0, 19, 0, 0 }, - { 70, -8, 0, 19, 0, 0 }, { 71, -9, 0, 20, 0, 0 }, { 72, -10, 0, 20, 0, 0 }, { 73, -11, 0, 20, 0, 0 }, { 74, -12, 0, 20, 0, 0 }, - { 75, -12, 0, 20, 0, 0 }, { 76, -13, 0, 20, 0, 0 }, { 77, -14, 0, 20, 0, 0 }, { 78, -15, 0, 20, 0, 0 }, { 79, -16, 0, 20, 0, 0 }, + 80, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 17, 0, 0 }, { 12, 16, 0, 17, 0, 0 }, { 13, 15, 0, 17, 0, 0 }, { 14, 15, 0, 17, 0, 0 }, + { 15, 15, 0, 17, 0, 0 }, { 16, 15, 0, 17, 0, 0 }, { 17, 15, 0, 17, 0, 0 }, { 18, 14, 0, 17, 0, 0 }, { 19, 14, 0, 17, 0, 0 }, + { 20, 14, 0, 17, 0, 0 }, { 21, 14, 0, 17, 0, 0 }, { 22, 14, 0, 17, 0, 0 }, { 23, 13, 0, 17, 0, 0 }, { 24, 13, 0, 17, 0, 0 }, + { 25, 13, 0, 17, 0, 0 }, { 26, 13, 0, 17, 0, 0 }, { 27, 13, 0, 17, 0, 0 }, { 28, 12, 0, 17, 0, 0 }, { 29, 12, 0, 17, 0, 0 }, + { 30, 12, 0, 17, 0, 0 }, { 31, 12, 0, 18, 0, 0 }, { 32, 11, 0, 18, 0, 0 }, { 33, 11, 0, 18, 0, 0 }, { 34, 11, 0, 18, 0, 0 }, + { 35, 11, 0, 18, 0, 0 }, { 36, 10, 0, 18, 0, 0 }, { 37, 10, 0, 18, 0, 0 }, { 38, 10, 0, 18, 0, 0 }, { 39, 9, 0, 18, 0, 0 }, + { 40, 9, 0, 18, 0, 0 }, { 41, 9, 0, 18, 0, 0 }, { 42, 8, 0, 18, 0, 0 }, { 43, 8, 0, 18, 0, 0 }, { 44, 8, 0, 18, 0, 0 }, + { 45, 7, 0, 18, 0, 0 }, { 46, 7, 0, 18, 0, 0 }, { 47, 6, 0, 18, 0, 0 }, { 48, 6, 0, 18, 0, 0 }, { 49, 5, 0, 18, 0, 0 }, + { 50, 5, 0, 18, 0, 0 }, { 51, 4, 0, 18, 0, 0 }, { 52, 4, 0, 19, 0, 0 }, { 53, 3, 0, 19, 0, 0 }, { 54, 3, 0, 19, 0, 0 }, + { 55, 2, 0, 19, 0, 0 }, { 56, 2, 0, 19, 0, 0 }, { 57, 1, 0, 19, 0, 0 }, { 58, 0, 0, 19, 0, 0 }, { 59, 0, 0, 19, 0, 0 }, + { 60, -1, 0, 19, 0, 0 }, { 61, -2, 0, 19, 0, 0 }, { 62, -2, 0, 19, 0, 0 }, { 63, -3, 0, 19, 0, 0 }, { 64, -4, 0, 19, 0, 0 }, + { 65, -4, 0, 19, 0, 0 }, { 66, -5, 0, 19, 0, 0 }, { 67, -6, 0, 19, 0, 0 }, { 68, -7, 0, 19, 0, 0 }, { 69, -7, 0, 19, 0, 0 }, + { 70, -8, 0, 19, 0, 0 }, { 71, -9, 0, 20, 0, 0 }, { 72, -10, 0, 20, 0, 0 }, { 73, -11, 0, 20, 0, 0 }, { 74, -12, 0, 20, 0, 0 }, + { 75, -12, 0, 20, 0, 0 }, { 76, -13, 0, 20, 0, 0 }, { 77, -14, 0, 20, 0, 0 }, { 78, -15, 0, 20, 0, 0 }, { 79, -16, 0, 20, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9127CE = { - 80, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 21, 0, 25, 0, 0 }, { 16, 20, 0, 25, 0, 0 }, { 16, 19, 0, 25, 0, 0 }, { 15, 18, 0, 25, 0, 0 }, { 15, 17, 0, 25, 0, 0 }, - { 15, 16, 0, 25, 0, 0 }, { 15, 15, 0, 25, 0, 0 }, { 15, 14, 0, 25, 0, 0 }, { 14, 13, 0, 25, 0, 0 }, { 14, 12, 0, 25, 0, 0 }, - { 14, 11, 0, 25, 0, 0 }, { 14, 10, 0, 25, 0, 0 }, { 14, 9, 0, 25, 0, 0 }, { 13, 8, 0, 25, 0, 0 }, { 13, 7, 0, 25, 0, 0 }, - { 13, 6, 0, 25, 0, 0 }, { 13, 5, 0, 25, 0, 0 }, { 13, 4, 0, 25, 0, 0 }, { 12, 3, 0, 25, 0, 0 }, { 12, 2, 0, 25, 0, 0 }, - { 12, 1, 0, 26, 0, 0 }, { 12, 0, 0, 26, 0, 0 }, { 11, -1, 0, 26, 0, 0 }, { 11, -2, 0, 26, 0, 0 }, { 11, -3, 0, 26, 0, 0 }, - { 11, -4, 0, 26, 0, 0 }, { 10, -5, 0, 26, 0, 0 }, { 10, -6, 0, 26, 0, 0 }, { 10, -7, 0, 26, 0, 0 }, { 9, -8, 0, 26, 0, 0 }, - { 9, -9, 0, 26, 0, 0 }, { 9, -10, 0, 26, 0, 0 }, { 8, -11, 0, 26, 0, 0 }, { 8, -12, 0, 26, 0, 0 }, { 8, -13, 0, 26, 0, 0 }, - { 7, -14, 0, 26, 0, 0 }, { 7, -15, 0, 26, 0, 0 }, { 6, -16, 0, 26, 0, 0 }, { 6, -17, 0, 26, 0, 0 }, { 5, -18, 0, 26, 0, 0 }, - { 5, -19, 0, 26, 0, 0 }, { 4, -20, 0, 27, 0, 0 }, { 4, -21, 0, 27, 0, 0 }, { 3, -22, 0, 27, 0, 0 }, { 3, -23, 0, 27, 0, 0 }, - { 2, -24, 0, 27, 0, 0 }, { 2, -25, 0, 27, 0, 0 }, { 1, -26, 0, 27, 0, 0 }, { 0, -27, 0, 27, 0, 0 }, { 0, -28, 0, 27, 0, 0 }, - { -1, -29, 0, 27, 0, 0 }, { -2, -30, 0, 27, 0, 0 }, { -2, -31, 0, 27, 0, 0 }, { -3, -32, 0, 27, 0, 0 }, { -4, -33, 0, 27, 0, 0 }, - { -4, -34, 0, 27, 0, 0 }, { -5, -35, 0, 27, 0, 0 }, { -6, -36, 0, 27, 0, 0 }, { -7, -37, 0, 27, 0, 0 }, { -7, -38, 0, 27, 0, 0 }, - { -8, -39, 0, 28, 0, 0 }, { -9, -40, 0, 28, 0, 0 }, { -10, -41, 0, 28, 0, 0 }, { -11, -42, 0, 28, 0, 0 }, { -12, -43, 0, 28, 0, 0 }, - { -12, -44, 0, 28, 0, 0 }, { -13, -45, 0, 28, 0, 0 }, { -14, -46, 0, 28, 0, 0 }, { -15, -47, 0, 28, 0, 0 }, { -16, -48, 0, 28, 0, 0 }, + 80, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 21, 0, 25, 0, 0 }, { 16, 20, 0, 25, 0, 0 }, { 16, 19, 0, 25, 0, 0 }, { 15, 18, 0, 25, 0, 0 }, { 15, 17, 0, 25, 0, 0 }, + { 15, 16, 0, 25, 0, 0 }, { 15, 15, 0, 25, 0, 0 }, { 15, 14, 0, 25, 0, 0 }, { 14, 13, 0, 25, 0, 0 }, { 14, 12, 0, 25, 0, 0 }, + { 14, 11, 0, 25, 0, 0 }, { 14, 10, 0, 25, 0, 0 }, { 14, 9, 0, 25, 0, 0 }, { 13, 8, 0, 25, 0, 0 }, { 13, 7, 0, 25, 0, 0 }, + { 13, 6, 0, 25, 0, 0 }, { 13, 5, 0, 25, 0, 0 }, { 13, 4, 0, 25, 0, 0 }, { 12, 3, 0, 25, 0, 0 }, { 12, 2, 0, 25, 0, 0 }, + { 12, 1, 0, 26, 0, 0 }, { 12, 0, 0, 26, 0, 0 }, { 11, -1, 0, 26, 0, 0 }, { 11, -2, 0, 26, 0, 0 }, { 11, -3, 0, 26, 0, 0 }, + { 11, -4, 0, 26, 0, 0 }, { 10, -5, 0, 26, 0, 0 }, { 10, -6, 0, 26, 0, 0 }, { 10, -7, 0, 26, 0, 0 }, { 9, -8, 0, 26, 0, 0 }, + { 9, -9, 0, 26, 0, 0 }, { 9, -10, 0, 26, 0, 0 }, { 8, -11, 0, 26, 0, 0 }, { 8, -12, 0, 26, 0, 0 }, { 8, -13, 0, 26, 0, 0 }, + { 7, -14, 0, 26, 0, 0 }, { 7, -15, 0, 26, 0, 0 }, { 6, -16, 0, 26, 0, 0 }, { 6, -17, 0, 26, 0, 0 }, { 5, -18, 0, 26, 0, 0 }, + { 5, -19, 0, 26, 0, 0 }, { 4, -20, 0, 27, 0, 0 }, { 4, -21, 0, 27, 0, 0 }, { 3, -22, 0, 27, 0, 0 }, { 3, -23, 0, 27, 0, 0 }, + { 2, -24, 0, 27, 0, 0 }, { 2, -25, 0, 27, 0, 0 }, { 1, -26, 0, 27, 0, 0 }, { 0, -27, 0, 27, 0, 0 }, { 0, -28, 0, 27, 0, 0 }, + { -1, -29, 0, 27, 0, 0 }, { -2, -30, 0, 27, 0, 0 }, { -2, -31, 0, 27, 0, 0 }, { -3, -32, 0, 27, 0, 0 }, { -4, -33, 0, 27, 0, 0 }, + { -4, -34, 0, 27, 0, 0 }, { -5, -35, 0, 27, 0, 0 }, { -6, -36, 0, 27, 0, 0 }, { -7, -37, 0, 27, 0, 0 }, { -7, -38, 0, 27, 0, 0 }, + { -8, -39, 0, 28, 0, 0 }, { -9, -40, 0, 28, 0, 0 }, { -10, -41, 0, 28, 0, 0 }, { -11, -42, 0, 28, 0, 0 }, { -12, -43, 0, 28, 0, 0 }, + { -12, -44, 0, 28, 0, 0 }, { -13, -45, 0, 28, 0, 0 }, { -14, -46, 0, 28, 0, 0 }, { -15, -47, 0, 28, 0, 0 }, { -16, -48, 0, 28, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_911419 = { - 79, { - { 15, 17, 0, 4, 0, 0 }, { 14, 18, 0, 4, 0, 0 }, { 13, 19, 0, 4, 0, 0 }, { 12, 20, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, - { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 0, 4, 0, 0 }, { 7, 24, 0, 3, 0, 0 }, { 6, 25, 0, 3, 0, 0 }, - { 5, 25, 0, 3, 0, 0 }, { 4, 26, 0, 3, 0, 0 }, { 3, 27, 0, 3, 0, 0 }, { 2, 28, 0, 3, 0, 0 }, { 1, 28, 0, 3, 0, 0 }, - { 0, 29, 0, 3, 0, 0 }, { -1, 30, 0, 3, 0, 0 }, { -2, 30, 0, 3, 0, 0 }, { -3, 31, 0, 3, 0, 0 }, { -4, 32, 0, 3, 0, 0 }, - { -5, 32, 0, 3, 0, 0 }, { -6, 33, 0, 3, 0, 0 }, { -7, 34, 0, 3, 0, 0 }, { -8, 34, 0, 3, 0, 0 }, { -9, 35, 0, 3, 0, 0 }, - { -10, 35, 0, 3, 0, 0 }, { -11, 36, 0, 2, 0, 0 }, { -12, 36, 0, 2, 0, 0 }, { -13, 37, 0, 2, 0, 0 }, { -14, 37, 0, 2, 0, 0 }, - { -15, 38, 0, 2, 0, 0 }, { -16, 38, 0, 2, 0, 0 }, { -17, 39, 0, 2, 0, 0 }, { -18, 39, 0, 2, 0, 0 }, { -19, 40, 0, 2, 0, 0 }, - { -20, 40, 0, 2, 0, 0 }, { -21, 40, 0, 2, 0, 0 }, { -22, 41, 0, 2, 0, 0 }, { -23, 41, 0, 2, 0, 0 }, { -24, 41, 0, 2, 0, 0 }, - { -25, 42, 0, 2, 0, 0 }, { -26, 42, 0, 2, 0, 0 }, { -27, 42, 0, 2, 0, 0 }, { -28, 43, 0, 2, 0, 0 }, { -29, 43, 0, 2, 0, 0 }, - { -30, 43, 0, 2, 0, 0 }, { -31, 43, 0, 1, 0, 0 }, { -32, 44, 0, 1, 0, 0 }, { -33, 44, 0, 1, 0, 0 }, { -34, 44, 0, 1, 0, 0 }, - { -35, 44, 0, 1, 0, 0 }, { -36, 45, 0, 1, 0, 0 }, { -37, 45, 0, 1, 0, 0 }, { -38, 45, 0, 1, 0, 0 }, { -39, 45, 0, 1, 0, 0 }, - { -40, 45, 0, 1, 0, 0 }, { -41, 46, 0, 1, 0, 0 }, { -42, 46, 0, 1, 0, 0 }, { -43, 46, 0, 1, 0, 0 }, { -44, 46, 0, 1, 0, 0 }, - { -45, 46, 0, 1, 0, 0 }, { -46, 47, 0, 1, 0, 0 }, { -47, 47, 0, 1, 0, 0 }, { -48, 47, 0, 1, 0, 0 }, { -49, 47, 0, 1, 0, 0 }, - { -50, 47, 0, 1, 0, 0 }, { -51, 48, 0, 0, 0, 0 }, { -52, 48, 0, 0, 0, 0 }, { -53, 48, 0, 0, 0, 0 }, { -54, 48, 0, 0, 0, 0 }, - { -55, 48, 0, 0, 0, 0 }, { -56, 48, 0, 0, 0, 0 }, { -57, 48, 0, 0, 0, 0 }, { -58, 48, 0, 0, 0, 0 }, { -59, 48, 0, 0, 0, 0 }, - { -60, 48, 0, 0, 0, 0 }, { -61, 48, 0, 0, 0, 0 }, { -62, 48, 0, 0, 0, 0 }, { -63, 48, 0, 0, 0, 0 }, + 79, { + { 15, 17, 0, 4, 0, 0 }, { 14, 18, 0, 4, 0, 0 }, { 13, 19, 0, 4, 0, 0 }, { 12, 20, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, + { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 0, 4, 0, 0 }, { 7, 24, 0, 3, 0, 0 }, { 6, 25, 0, 3, 0, 0 }, + { 5, 25, 0, 3, 0, 0 }, { 4, 26, 0, 3, 0, 0 }, { 3, 27, 0, 3, 0, 0 }, { 2, 28, 0, 3, 0, 0 }, { 1, 28, 0, 3, 0, 0 }, + { 0, 29, 0, 3, 0, 0 }, { -1, 30, 0, 3, 0, 0 }, { -2, 30, 0, 3, 0, 0 }, { -3, 31, 0, 3, 0, 0 }, { -4, 32, 0, 3, 0, 0 }, + { -5, 32, 0, 3, 0, 0 }, { -6, 33, 0, 3, 0, 0 }, { -7, 34, 0, 3, 0, 0 }, { -8, 34, 0, 3, 0, 0 }, { -9, 35, 0, 3, 0, 0 }, + { -10, 35, 0, 3, 0, 0 }, { -11, 36, 0, 2, 0, 0 }, { -12, 36, 0, 2, 0, 0 }, { -13, 37, 0, 2, 0, 0 }, { -14, 37, 0, 2, 0, 0 }, + { -15, 38, 0, 2, 0, 0 }, { -16, 38, 0, 2, 0, 0 }, { -17, 39, 0, 2, 0, 0 }, { -18, 39, 0, 2, 0, 0 }, { -19, 40, 0, 2, 0, 0 }, + { -20, 40, 0, 2, 0, 0 }, { -21, 40, 0, 2, 0, 0 }, { -22, 41, 0, 2, 0, 0 }, { -23, 41, 0, 2, 0, 0 }, { -24, 41, 0, 2, 0, 0 }, + { -25, 42, 0, 2, 0, 0 }, { -26, 42, 0, 2, 0, 0 }, { -27, 42, 0, 2, 0, 0 }, { -28, 43, 0, 2, 0, 0 }, { -29, 43, 0, 2, 0, 0 }, + { -30, 43, 0, 2, 0, 0 }, { -31, 43, 0, 1, 0, 0 }, { -32, 44, 0, 1, 0, 0 }, { -33, 44, 0, 1, 0, 0 }, { -34, 44, 0, 1, 0, 0 }, + { -35, 44, 0, 1, 0, 0 }, { -36, 45, 0, 1, 0, 0 }, { -37, 45, 0, 1, 0, 0 }, { -38, 45, 0, 1, 0, 0 }, { -39, 45, 0, 1, 0, 0 }, + { -40, 45, 0, 1, 0, 0 }, { -41, 46, 0, 1, 0, 0 }, { -42, 46, 0, 1, 0, 0 }, { -43, 46, 0, 1, 0, 0 }, { -44, 46, 0, 1, 0, 0 }, + { -45, 46, 0, 1, 0, 0 }, { -46, 47, 0, 1, 0, 0 }, { -47, 47, 0, 1, 0, 0 }, { -48, 47, 0, 1, 0, 0 }, { -49, 47, 0, 1, 0, 0 }, + { -50, 47, 0, 1, 0, 0 }, { -51, 48, 0, 0, 0, 0 }, { -52, 48, 0, 0, 0, 0 }, { -53, 48, 0, 0, 0, 0 }, { -54, 48, 0, 0, 0, 0 }, + { -55, 48, 0, 0, 0, 0 }, { -56, 48, 0, 0, 0, 0 }, { -57, 48, 0, 0, 0, 0 }, { -58, 48, 0, 0, 0, 0 }, { -59, 48, 0, 0, 0, 0 }, + { -60, 48, 0, 0, 0, 0 }, { -61, 48, 0, 0, 0, 0 }, { -62, 48, 0, 0, 0, 0 }, { -63, 48, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9116E2 = { - 80, { - { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, - { 20, 21, 0, 12, 0, 0 }, { 21, 22, 0, 12, 0, 0 }, { 22, 23, 0, 12, 0, 0 }, { 23, 24, 0, 12, 0, 0 }, { 24, 25, 0, 11, 0, 0 }, - { 25, 26, 0, 11, 0, 0 }, { 25, 27, 0, 11, 0, 0 }, { 26, 28, 0, 11, 0, 0 }, { 27, 29, 0, 11, 0, 0 }, { 28, 30, 0, 11, 0, 0 }, - { 28, 31, 0, 11, 0, 0 }, { 29, 32, 0, 11, 0, 0 }, { 30, 33, 0, 11, 0, 0 }, { 30, 34, 0, 11, 0, 0 }, { 31, 35, 0, 11, 0, 0 }, - { 32, 36, 0, 11, 0, 0 }, { 32, 37, 0, 11, 0, 0 }, { 33, 38, 0, 11, 0, 0 }, { 34, 39, 0, 11, 0, 0 }, { 34, 40, 0, 11, 0, 0 }, - { 35, 41, 0, 11, 0, 0 }, { 35, 42, 0, 11, 0, 0 }, { 36, 43, 0, 10, 0, 0 }, { 36, 44, 0, 10, 0, 0 }, { 37, 45, 0, 10, 0, 0 }, - { 37, 46, 0, 10, 0, 0 }, { 38, 47, 0, 10, 0, 0 }, { 38, 48, 0, 10, 0, 0 }, { 39, 49, 0, 10, 0, 0 }, { 39, 50, 0, 10, 0, 0 }, - { 40, 51, 0, 10, 0, 0 }, { 40, 52, 0, 10, 0, 0 }, { 40, 53, 0, 10, 0, 0 }, { 41, 54, 0, 10, 0, 0 }, { 41, 55, 0, 10, 0, 0 }, - { 41, 56, 0, 10, 0, 0 }, { 42, 57, 0, 10, 0, 0 }, { 42, 58, 0, 10, 0, 0 }, { 42, 59, 0, 10, 0, 0 }, { 43, 60, 0, 10, 0, 0 }, - { 43, 61, 0, 10, 0, 0 }, { 43, 62, 0, 10, 0, 0 }, { 43, 63, 0, 9, 0, 0 }, { 44, 64, 0, 9, 0, 0 }, { 44, 65, 0, 9, 0, 0 }, - { 44, 66, 0, 9, 0, 0 }, { 44, 67, 0, 9, 0, 0 }, { 45, 68, 0, 9, 0, 0 }, { 45, 69, 0, 9, 0, 0 }, { 45, 70, 0, 9, 0, 0 }, - { 45, 71, 0, 9, 0, 0 }, { 45, 72, 0, 9, 0, 0 }, { 46, 73, 0, 9, 0, 0 }, { 46, 74, 0, 9, 0, 0 }, { 46, 75, 0, 9, 0, 0 }, - { 46, 76, 0, 9, 0, 0 }, { 46, 77, 0, 9, 0, 0 }, { 47, 78, 0, 9, 0, 0 }, { 47, 79, 0, 9, 0, 0 }, { 47, 80, 0, 9, 0, 0 }, - { 47, 81, 0, 9, 0, 0 }, { 47, 82, 0, 9, 0, 0 }, { 48, 83, 0, 8, 0, 0 }, { 48, 84, 0, 8, 0, 0 }, { 48, 85, 0, 8, 0, 0 }, - { 48, 86, 0, 8, 0, 0 }, { 48, 87, 0, 8, 0, 0 }, { 48, 88, 0, 8, 0, 0 }, { 48, 89, 0, 8, 0, 0 }, { 48, 90, 0, 8, 0, 0 }, - { 48, 91, 0, 8, 0, 0 }, { 48, 92, 0, 8, 0, 0 }, { 48, 93, 0, 8, 0, 0 }, { 48, 94, 0, 8, 0, 0 }, { 48, 95, 0, 8, 0, 0 }, + 80, { + { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, + { 20, 21, 0, 12, 0, 0 }, { 21, 22, 0, 12, 0, 0 }, { 22, 23, 0, 12, 0, 0 }, { 23, 24, 0, 12, 0, 0 }, { 24, 25, 0, 11, 0, 0 }, + { 25, 26, 0, 11, 0, 0 }, { 25, 27, 0, 11, 0, 0 }, { 26, 28, 0, 11, 0, 0 }, { 27, 29, 0, 11, 0, 0 }, { 28, 30, 0, 11, 0, 0 }, + { 28, 31, 0, 11, 0, 0 }, { 29, 32, 0, 11, 0, 0 }, { 30, 33, 0, 11, 0, 0 }, { 30, 34, 0, 11, 0, 0 }, { 31, 35, 0, 11, 0, 0 }, + { 32, 36, 0, 11, 0, 0 }, { 32, 37, 0, 11, 0, 0 }, { 33, 38, 0, 11, 0, 0 }, { 34, 39, 0, 11, 0, 0 }, { 34, 40, 0, 11, 0, 0 }, + { 35, 41, 0, 11, 0, 0 }, { 35, 42, 0, 11, 0, 0 }, { 36, 43, 0, 10, 0, 0 }, { 36, 44, 0, 10, 0, 0 }, { 37, 45, 0, 10, 0, 0 }, + { 37, 46, 0, 10, 0, 0 }, { 38, 47, 0, 10, 0, 0 }, { 38, 48, 0, 10, 0, 0 }, { 39, 49, 0, 10, 0, 0 }, { 39, 50, 0, 10, 0, 0 }, + { 40, 51, 0, 10, 0, 0 }, { 40, 52, 0, 10, 0, 0 }, { 40, 53, 0, 10, 0, 0 }, { 41, 54, 0, 10, 0, 0 }, { 41, 55, 0, 10, 0, 0 }, + { 41, 56, 0, 10, 0, 0 }, { 42, 57, 0, 10, 0, 0 }, { 42, 58, 0, 10, 0, 0 }, { 42, 59, 0, 10, 0, 0 }, { 43, 60, 0, 10, 0, 0 }, + { 43, 61, 0, 10, 0, 0 }, { 43, 62, 0, 10, 0, 0 }, { 43, 63, 0, 9, 0, 0 }, { 44, 64, 0, 9, 0, 0 }, { 44, 65, 0, 9, 0, 0 }, + { 44, 66, 0, 9, 0, 0 }, { 44, 67, 0, 9, 0, 0 }, { 45, 68, 0, 9, 0, 0 }, { 45, 69, 0, 9, 0, 0 }, { 45, 70, 0, 9, 0, 0 }, + { 45, 71, 0, 9, 0, 0 }, { 45, 72, 0, 9, 0, 0 }, { 46, 73, 0, 9, 0, 0 }, { 46, 74, 0, 9, 0, 0 }, { 46, 75, 0, 9, 0, 0 }, + { 46, 76, 0, 9, 0, 0 }, { 46, 77, 0, 9, 0, 0 }, { 47, 78, 0, 9, 0, 0 }, { 47, 79, 0, 9, 0, 0 }, { 47, 80, 0, 9, 0, 0 }, + { 47, 81, 0, 9, 0, 0 }, { 47, 82, 0, 9, 0, 0 }, { 48, 83, 0, 8, 0, 0 }, { 48, 84, 0, 8, 0, 0 }, { 48, 85, 0, 8, 0, 0 }, + { 48, 86, 0, 8, 0, 0 }, { 48, 87, 0, 8, 0, 0 }, { 48, 88, 0, 8, 0, 0 }, { 48, 89, 0, 8, 0, 0 }, { 48, 90, 0, 8, 0, 0 }, + { 48, 91, 0, 8, 0, 0 }, { 48, 92, 0, 8, 0, 0 }, { 48, 93, 0, 8, 0, 0 }, { 48, 94, 0, 8, 0, 0 }, { 48, 95, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9119B4 = { - 80, { - { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 12, 0, 20, 0, 0 }, - { 21, 11, 0, 20, 0, 0 }, { 22, 10, 0, 20, 0, 0 }, { 23, 9, 0, 20, 0, 0 }, { 24, 8, 0, 19, 0, 0 }, { 25, 7, 0, 19, 0, 0 }, - { 26, 7, 0, 19, 0, 0 }, { 27, 6, 0, 19, 0, 0 }, { 28, 5, 0, 19, 0, 0 }, { 29, 4, 0, 19, 0, 0 }, { 30, 4, 0, 19, 0, 0 }, - { 31, 3, 0, 19, 0, 0 }, { 32, 2, 0, 19, 0, 0 }, { 33, 2, 0, 19, 0, 0 }, { 34, 1, 0, 19, 0, 0 }, { 35, 0, 0, 19, 0, 0 }, - { 36, 0, 0, 19, 0, 0 }, { 37, -1, 0, 19, 0, 0 }, { 38, -2, 0, 19, 0, 0 }, { 39, -2, 0, 19, 0, 0 }, { 40, -3, 0, 19, 0, 0 }, - { 41, -3, 0, 19, 0, 0 }, { 42, -4, 0, 18, 0, 0 }, { 43, -4, 0, 18, 0, 0 }, { 44, -5, 0, 18, 0, 0 }, { 45, -5, 0, 18, 0, 0 }, - { 46, -6, 0, 18, 0, 0 }, { 47, -6, 0, 18, 0, 0 }, { 48, -7, 0, 18, 0, 0 }, { 49, -7, 0, 18, 0, 0 }, { 50, -8, 0, 18, 0, 0 }, - { 51, -8, 0, 18, 0, 0 }, { 52, -8, 0, 18, 0, 0 }, { 53, -9, 0, 18, 0, 0 }, { 54, -9, 0, 18, 0, 0 }, { 55, -9, 0, 18, 0, 0 }, - { 56, -10, 0, 18, 0, 0 }, { 57, -10, 0, 18, 0, 0 }, { 58, -10, 0, 18, 0, 0 }, { 59, -11, 0, 18, 0, 0 }, { 60, -11, 0, 18, 0, 0 }, - { 61, -11, 0, 18, 0, 0 }, { 62, -11, 0, 17, 0, 0 }, { 63, -12, 0, 17, 0, 0 }, { 64, -12, 0, 17, 0, 0 }, { 65, -12, 0, 17, 0, 0 }, - { 66, -12, 0, 17, 0, 0 }, { 67, -13, 0, 17, 0, 0 }, { 68, -13, 0, 17, 0, 0 }, { 69, -13, 0, 17, 0, 0 }, { 70, -13, 0, 17, 0, 0 }, - { 71, -13, 0, 17, 0, 0 }, { 72, -14, 0, 17, 0, 0 }, { 73, -14, 0, 17, 0, 0 }, { 74, -14, 0, 17, 0, 0 }, { 75, -14, 0, 17, 0, 0 }, - { 76, -14, 0, 17, 0, 0 }, { 77, -15, 0, 17, 0, 0 }, { 78, -15, 0, 17, 0, 0 }, { 79, -15, 0, 17, 0, 0 }, { 80, -15, 0, 17, 0, 0 }, - { 81, -15, 0, 17, 0, 0 }, { 82, -16, 0, 16, 0, 0 }, { 83, -16, 0, 16, 0, 0 }, { 84, -16, 0, 16, 0, 0 }, { 85, -16, 0, 16, 0, 0 }, - { 86, -16, 0, 16, 0, 0 }, { 87, -16, 0, 16, 0, 0 }, { 88, -16, 0, 16, 0, 0 }, { 89, -16, 0, 16, 0, 0 }, { 90, -16, 0, 16, 0, 0 }, - { 91, -16, 0, 16, 0, 0 }, { 92, -16, 0, 16, 0, 0 }, { 93, -16, 0, 16, 0, 0 }, { 94, -16, 0, 16, 0, 0 }, { 95, -16, 0, 16, 0, 0 }, + 80, { + { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 12, 0, 20, 0, 0 }, + { 21, 11, 0, 20, 0, 0 }, { 22, 10, 0, 20, 0, 0 }, { 23, 9, 0, 20, 0, 0 }, { 24, 8, 0, 19, 0, 0 }, { 25, 7, 0, 19, 0, 0 }, + { 26, 7, 0, 19, 0, 0 }, { 27, 6, 0, 19, 0, 0 }, { 28, 5, 0, 19, 0, 0 }, { 29, 4, 0, 19, 0, 0 }, { 30, 4, 0, 19, 0, 0 }, + { 31, 3, 0, 19, 0, 0 }, { 32, 2, 0, 19, 0, 0 }, { 33, 2, 0, 19, 0, 0 }, { 34, 1, 0, 19, 0, 0 }, { 35, 0, 0, 19, 0, 0 }, + { 36, 0, 0, 19, 0, 0 }, { 37, -1, 0, 19, 0, 0 }, { 38, -2, 0, 19, 0, 0 }, { 39, -2, 0, 19, 0, 0 }, { 40, -3, 0, 19, 0, 0 }, + { 41, -3, 0, 19, 0, 0 }, { 42, -4, 0, 18, 0, 0 }, { 43, -4, 0, 18, 0, 0 }, { 44, -5, 0, 18, 0, 0 }, { 45, -5, 0, 18, 0, 0 }, + { 46, -6, 0, 18, 0, 0 }, { 47, -6, 0, 18, 0, 0 }, { 48, -7, 0, 18, 0, 0 }, { 49, -7, 0, 18, 0, 0 }, { 50, -8, 0, 18, 0, 0 }, + { 51, -8, 0, 18, 0, 0 }, { 52, -8, 0, 18, 0, 0 }, { 53, -9, 0, 18, 0, 0 }, { 54, -9, 0, 18, 0, 0 }, { 55, -9, 0, 18, 0, 0 }, + { 56, -10, 0, 18, 0, 0 }, { 57, -10, 0, 18, 0, 0 }, { 58, -10, 0, 18, 0, 0 }, { 59, -11, 0, 18, 0, 0 }, { 60, -11, 0, 18, 0, 0 }, + { 61, -11, 0, 18, 0, 0 }, { 62, -11, 0, 17, 0, 0 }, { 63, -12, 0, 17, 0, 0 }, { 64, -12, 0, 17, 0, 0 }, { 65, -12, 0, 17, 0, 0 }, + { 66, -12, 0, 17, 0, 0 }, { 67, -13, 0, 17, 0, 0 }, { 68, -13, 0, 17, 0, 0 }, { 69, -13, 0, 17, 0, 0 }, { 70, -13, 0, 17, 0, 0 }, + { 71, -13, 0, 17, 0, 0 }, { 72, -14, 0, 17, 0, 0 }, { 73, -14, 0, 17, 0, 0 }, { 74, -14, 0, 17, 0, 0 }, { 75, -14, 0, 17, 0, 0 }, + { 76, -14, 0, 17, 0, 0 }, { 77, -15, 0, 17, 0, 0 }, { 78, -15, 0, 17, 0, 0 }, { 79, -15, 0, 17, 0, 0 }, { 80, -15, 0, 17, 0, 0 }, + { 81, -15, 0, 17, 0, 0 }, { 82, -16, 0, 16, 0, 0 }, { 83, -16, 0, 16, 0, 0 }, { 84, -16, 0, 16, 0, 0 }, { 85, -16, 0, 16, 0, 0 }, + { 86, -16, 0, 16, 0, 0 }, { 87, -16, 0, 16, 0, 0 }, { 88, -16, 0, 16, 0, 0 }, { 89, -16, 0, 16, 0, 0 }, { 90, -16, 0, 16, 0, 0 }, + { 91, -16, 0, 16, 0, 0 }, { 92, -16, 0, 16, 0, 0 }, { 93, -16, 0, 16, 0, 0 }, { 94, -16, 0, 16, 0, 0 }, { 95, -16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_911C86 = { - 80, { - { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 12, 11, 0, 28, 0, 0 }, - { 11, 10, 0, 28, 0, 0 }, { 10, 9, 0, 28, 0, 0 }, { 9, 8, 0, 28, 0, 0 }, { 8, 7, 0, 27, 0, 0 }, { 7, 6, 0, 27, 0, 0 }, - { 7, 5, 0, 27, 0, 0 }, { 6, 4, 0, 27, 0, 0 }, { 5, 3, 0, 27, 0, 0 }, { 4, 2, 0, 27, 0, 0 }, { 4, 1, 0, 27, 0, 0 }, - { 3, 0, 0, 27, 0, 0 }, { 2, -1, 0, 27, 0, 0 }, { 2, -2, 0, 27, 0, 0 }, { 1, -3, 0, 27, 0, 0 }, { 0, -4, 0, 27, 0, 0 }, - { 0, -5, 0, 27, 0, 0 }, { -1, -6, 0, 27, 0, 0 }, { -2, -7, 0, 27, 0, 0 }, { -2, -8, 0, 27, 0, 0 }, { -3, -9, 0, 27, 0, 0 }, - { -3, -10, 0, 27, 0, 0 }, { -4, -11, 0, 26, 0, 0 }, { -4, -12, 0, 26, 0, 0 }, { -5, -13, 0, 26, 0, 0 }, { -5, -14, 0, 26, 0, 0 }, - { -6, -15, 0, 26, 0, 0 }, { -6, -16, 0, 26, 0, 0 }, { -7, -17, 0, 26, 0, 0 }, { -7, -18, 0, 26, 0, 0 }, { -8, -19, 0, 26, 0, 0 }, - { -8, -20, 0, 26, 0, 0 }, { -8, -21, 0, 26, 0, 0 }, { -9, -22, 0, 26, 0, 0 }, { -9, -23, 0, 26, 0, 0 }, { -9, -24, 0, 26, 0, 0 }, - { -10, -25, 0, 26, 0, 0 }, { -10, -26, 0, 26, 0, 0 }, { -10, -27, 0, 26, 0, 0 }, { -11, -28, 0, 26, 0, 0 }, { -11, -29, 0, 26, 0, 0 }, - { -11, -30, 0, 26, 0, 0 }, { -11, -31, 0, 25, 0, 0 }, { -12, -32, 0, 25, 0, 0 }, { -12, -33, 0, 25, 0, 0 }, { -12, -34, 0, 25, 0, 0 }, - { -12, -35, 0, 25, 0, 0 }, { -13, -36, 0, 25, 0, 0 }, { -13, -37, 0, 25, 0, 0 }, { -13, -38, 0, 25, 0, 0 }, { -13, -39, 0, 25, 0, 0 }, - { -13, -40, 0, 25, 0, 0 }, { -14, -41, 0, 25, 0, 0 }, { -14, -42, 0, 25, 0, 0 }, { -14, -43, 0, 25, 0, 0 }, { -14, -44, 0, 25, 0, 0 }, - { -14, -45, 0, 25, 0, 0 }, { -15, -46, 0, 25, 0, 0 }, { -15, -47, 0, 25, 0, 0 }, { -15, -48, 0, 25, 0, 0 }, { -15, -49, 0, 25, 0, 0 }, - { -15, -50, 0, 25, 0, 0 }, { -16, -51, 0, 24, 0, 0 }, { -16, -52, 0, 24, 0, 0 }, { -16, -53, 0, 24, 0, 0 }, { -16, -54, 0, 24, 0, 0 }, - { -16, -55, 0, 24, 0, 0 }, { -16, -56, 0, 24, 0, 0 }, { -16, -57, 0, 24, 0, 0 }, { -16, -58, 0, 24, 0, 0 }, { -16, -59, 0, 24, 0, 0 }, - { -16, -60, 0, 24, 0, 0 }, { -16, -61, 0, 24, 0, 0 }, { -16, -62, 0, 24, 0, 0 }, { -16, -63, 0, 24, 0, 0 }, { -16, -64, 0, 24, 0, 0 }, + 80, { + { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 12, 11, 0, 28, 0, 0 }, + { 11, 10, 0, 28, 0, 0 }, { 10, 9, 0, 28, 0, 0 }, { 9, 8, 0, 28, 0, 0 }, { 8, 7, 0, 27, 0, 0 }, { 7, 6, 0, 27, 0, 0 }, + { 7, 5, 0, 27, 0, 0 }, { 6, 4, 0, 27, 0, 0 }, { 5, 3, 0, 27, 0, 0 }, { 4, 2, 0, 27, 0, 0 }, { 4, 1, 0, 27, 0, 0 }, + { 3, 0, 0, 27, 0, 0 }, { 2, -1, 0, 27, 0, 0 }, { 2, -2, 0, 27, 0, 0 }, { 1, -3, 0, 27, 0, 0 }, { 0, -4, 0, 27, 0, 0 }, + { 0, -5, 0, 27, 0, 0 }, { -1, -6, 0, 27, 0, 0 }, { -2, -7, 0, 27, 0, 0 }, { -2, -8, 0, 27, 0, 0 }, { -3, -9, 0, 27, 0, 0 }, + { -3, -10, 0, 27, 0, 0 }, { -4, -11, 0, 26, 0, 0 }, { -4, -12, 0, 26, 0, 0 }, { -5, -13, 0, 26, 0, 0 }, { -5, -14, 0, 26, 0, 0 }, + { -6, -15, 0, 26, 0, 0 }, { -6, -16, 0, 26, 0, 0 }, { -7, -17, 0, 26, 0, 0 }, { -7, -18, 0, 26, 0, 0 }, { -8, -19, 0, 26, 0, 0 }, + { -8, -20, 0, 26, 0, 0 }, { -8, -21, 0, 26, 0, 0 }, { -9, -22, 0, 26, 0, 0 }, { -9, -23, 0, 26, 0, 0 }, { -9, -24, 0, 26, 0, 0 }, + { -10, -25, 0, 26, 0, 0 }, { -10, -26, 0, 26, 0, 0 }, { -10, -27, 0, 26, 0, 0 }, { -11, -28, 0, 26, 0, 0 }, { -11, -29, 0, 26, 0, 0 }, + { -11, -30, 0, 26, 0, 0 }, { -11, -31, 0, 25, 0, 0 }, { -12, -32, 0, 25, 0, 0 }, { -12, -33, 0, 25, 0, 0 }, { -12, -34, 0, 25, 0, 0 }, + { -12, -35, 0, 25, 0, 0 }, { -13, -36, 0, 25, 0, 0 }, { -13, -37, 0, 25, 0, 0 }, { -13, -38, 0, 25, 0, 0 }, { -13, -39, 0, 25, 0, 0 }, + { -13, -40, 0, 25, 0, 0 }, { -14, -41, 0, 25, 0, 0 }, { -14, -42, 0, 25, 0, 0 }, { -14, -43, 0, 25, 0, 0 }, { -14, -44, 0, 25, 0, 0 }, + { -14, -45, 0, 25, 0, 0 }, { -15, -46, 0, 25, 0, 0 }, { -15, -47, 0, 25, 0, 0 }, { -15, -48, 0, 25, 0, 0 }, { -15, -49, 0, 25, 0, 0 }, + { -15, -50, 0, 25, 0, 0 }, { -16, -51, 0, 24, 0, 0 }, { -16, -52, 0, 24, 0, 0 }, { -16, -53, 0, 24, 0, 0 }, { -16, -54, 0, 24, 0, 0 }, + { -16, -55, 0, 24, 0, 0 }, { -16, -56, 0, 24, 0, 0 }, { -16, -57, 0, 24, 0, 0 }, { -16, -58, 0, 24, 0, 0 }, { -16, -59, 0, 24, 0, 0 }, + { -16, -60, 0, 24, 0, 0 }, { -16, -61, 0, 24, 0, 0 }, { -16, -62, 0, 24, 0, 0 }, { -16, -63, 0, 24, 0, 0 }, { -16, -64, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_912AA0 = { - 79, { - { 15, 17, 0, 4, 0, 0 }, { 14, 18, 0, 4, 0, 0 }, { 13, 19, 0, 4, 0, 0 }, { 12, 20, 0, 4, 0, 0 }, { 12, 21, 0, 4, 0, 0 }, - { 11, 22, 0, 4, 0, 0 }, { 10, 23, 0, 4, 0, 0 }, { 9, 24, 0, 4, 0, 0 }, { 8, 25, 0, 5, 0, 0 }, { 7, 26, 0, 5, 0, 0 }, - { 7, 27, 0, 5, 0, 0 }, { 6, 28, 0, 5, 0, 0 }, { 5, 29, 0, 5, 0, 0 }, { 4, 30, 0, 5, 0, 0 }, { 4, 31, 0, 5, 0, 0 }, - { 3, 32, 0, 5, 0, 0 }, { 2, 33, 0, 5, 0, 0 }, { 2, 34, 0, 5, 0, 0 }, { 1, 35, 0, 5, 0, 0 }, { 0, 36, 0, 5, 0, 0 }, - { 0, 37, 0, 5, 0, 0 }, { -1, 38, 0, 5, 0, 0 }, { -2, 39, 0, 5, 0, 0 }, { -2, 40, 0, 5, 0, 0 }, { -3, 41, 0, 5, 0, 0 }, - { -3, 42, 0, 5, 0, 0 }, { -4, 43, 0, 6, 0, 0 }, { -4, 44, 0, 6, 0, 0 }, { -5, 45, 0, 6, 0, 0 }, { -5, 46, 0, 6, 0, 0 }, - { -6, 47, 0, 6, 0, 0 }, { -6, 48, 0, 6, 0, 0 }, { -7, 49, 0, 6, 0, 0 }, { -7, 50, 0, 6, 0, 0 }, { -8, 51, 0, 6, 0, 0 }, - { -8, 52, 0, 6, 0, 0 }, { -8, 53, 0, 6, 0, 0 }, { -9, 54, 0, 6, 0, 0 }, { -9, 55, 0, 6, 0, 0 }, { -9, 56, 0, 6, 0, 0 }, - { -10, 57, 0, 6, 0, 0 }, { -10, 58, 0, 6, 0, 0 }, { -10, 59, 0, 6, 0, 0 }, { -11, 60, 0, 6, 0, 0 }, { -11, 61, 0, 6, 0, 0 }, - { -11, 62, 0, 6, 0, 0 }, { -11, 63, 0, 7, 0, 0 }, { -12, 64, 0, 7, 0, 0 }, { -12, 65, 0, 7, 0, 0 }, { -12, 66, 0, 7, 0, 0 }, - { -12, 67, 0, 7, 0, 0 }, { -13, 68, 0, 7, 0, 0 }, { -13, 69, 0, 7, 0, 0 }, { -13, 70, 0, 7, 0, 0 }, { -13, 71, 0, 7, 0, 0 }, - { -13, 72, 0, 7, 0, 0 }, { -14, 73, 0, 7, 0, 0 }, { -14, 74, 0, 7, 0, 0 }, { -14, 75, 0, 7, 0, 0 }, { -14, 76, 0, 7, 0, 0 }, - { -14, 77, 0, 7, 0, 0 }, { -15, 78, 0, 7, 0, 0 }, { -15, 79, 0, 7, 0, 0 }, { -15, 80, 0, 7, 0, 0 }, { -15, 81, 0, 7, 0, 0 }, - { -15, 82, 0, 7, 0, 0 }, { -16, 83, 0, 8, 0, 0 }, { -16, 84, 0, 8, 0, 0 }, { -16, 85, 0, 8, 0, 0 }, { -16, 86, 0, 8, 0, 0 }, - { -16, 87, 0, 8, 0, 0 }, { -16, 88, 0, 8, 0, 0 }, { -16, 89, 0, 8, 0, 0 }, { -16, 90, 0, 8, 0, 0 }, { -16, 91, 0, 8, 0, 0 }, - { -16, 92, 0, 8, 0, 0 }, { -16, 93, 0, 8, 0, 0 }, { -16, 94, 0, 8, 0, 0 }, { -16, 95, 0, 8, 0, 0 }, + 79, { + { 15, 17, 0, 4, 0, 0 }, { 14, 18, 0, 4, 0, 0 }, { 13, 19, 0, 4, 0, 0 }, { 12, 20, 0, 4, 0, 0 }, { 12, 21, 0, 4, 0, 0 }, + { 11, 22, 0, 4, 0, 0 }, { 10, 23, 0, 4, 0, 0 }, { 9, 24, 0, 4, 0, 0 }, { 8, 25, 0, 5, 0, 0 }, { 7, 26, 0, 5, 0, 0 }, + { 7, 27, 0, 5, 0, 0 }, { 6, 28, 0, 5, 0, 0 }, { 5, 29, 0, 5, 0, 0 }, { 4, 30, 0, 5, 0, 0 }, { 4, 31, 0, 5, 0, 0 }, + { 3, 32, 0, 5, 0, 0 }, { 2, 33, 0, 5, 0, 0 }, { 2, 34, 0, 5, 0, 0 }, { 1, 35, 0, 5, 0, 0 }, { 0, 36, 0, 5, 0, 0 }, + { 0, 37, 0, 5, 0, 0 }, { -1, 38, 0, 5, 0, 0 }, { -2, 39, 0, 5, 0, 0 }, { -2, 40, 0, 5, 0, 0 }, { -3, 41, 0, 5, 0, 0 }, + { -3, 42, 0, 5, 0, 0 }, { -4, 43, 0, 6, 0, 0 }, { -4, 44, 0, 6, 0, 0 }, { -5, 45, 0, 6, 0, 0 }, { -5, 46, 0, 6, 0, 0 }, + { -6, 47, 0, 6, 0, 0 }, { -6, 48, 0, 6, 0, 0 }, { -7, 49, 0, 6, 0, 0 }, { -7, 50, 0, 6, 0, 0 }, { -8, 51, 0, 6, 0, 0 }, + { -8, 52, 0, 6, 0, 0 }, { -8, 53, 0, 6, 0, 0 }, { -9, 54, 0, 6, 0, 0 }, { -9, 55, 0, 6, 0, 0 }, { -9, 56, 0, 6, 0, 0 }, + { -10, 57, 0, 6, 0, 0 }, { -10, 58, 0, 6, 0, 0 }, { -10, 59, 0, 6, 0, 0 }, { -11, 60, 0, 6, 0, 0 }, { -11, 61, 0, 6, 0, 0 }, + { -11, 62, 0, 6, 0, 0 }, { -11, 63, 0, 7, 0, 0 }, { -12, 64, 0, 7, 0, 0 }, { -12, 65, 0, 7, 0, 0 }, { -12, 66, 0, 7, 0, 0 }, + { -12, 67, 0, 7, 0, 0 }, { -13, 68, 0, 7, 0, 0 }, { -13, 69, 0, 7, 0, 0 }, { -13, 70, 0, 7, 0, 0 }, { -13, 71, 0, 7, 0, 0 }, + { -13, 72, 0, 7, 0, 0 }, { -14, 73, 0, 7, 0, 0 }, { -14, 74, 0, 7, 0, 0 }, { -14, 75, 0, 7, 0, 0 }, { -14, 76, 0, 7, 0, 0 }, + { -14, 77, 0, 7, 0, 0 }, { -15, 78, 0, 7, 0, 0 }, { -15, 79, 0, 7, 0, 0 }, { -15, 80, 0, 7, 0, 0 }, { -15, 81, 0, 7, 0, 0 }, + { -15, 82, 0, 7, 0, 0 }, { -16, 83, 0, 8, 0, 0 }, { -16, 84, 0, 8, 0, 0 }, { -16, 85, 0, 8, 0, 0 }, { -16, 86, 0, 8, 0, 0 }, + { -16, 87, 0, 8, 0, 0 }, { -16, 88, 0, 8, 0, 0 }, { -16, 89, 0, 8, 0, 0 }, { -16, 90, 0, 8, 0, 0 }, { -16, 91, 0, 8, 0, 0 }, + { -16, 92, 0, 8, 0, 0 }, { -16, 93, 0, 8, 0, 0 }, { -16, 94, 0, 8, 0, 0 }, { -16, 95, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_912D69 = { - 80, { - { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, - { 21, 20, 0, 12, 0, 0 }, { 22, 21, 0, 12, 0, 0 }, { 23, 22, 0, 12, 0, 0 }, { 24, 23, 0, 12, 0, 0 }, { 25, 24, 0, 13, 0, 0 }, - { 26, 25, 0, 13, 0, 0 }, { 27, 25, 0, 13, 0, 0 }, { 28, 26, 0, 13, 0, 0 }, { 29, 27, 0, 13, 0, 0 }, { 30, 28, 0, 13, 0, 0 }, - { 31, 28, 0, 13, 0, 0 }, { 32, 29, 0, 13, 0, 0 }, { 33, 30, 0, 13, 0, 0 }, { 34, 30, 0, 13, 0, 0 }, { 35, 31, 0, 13, 0, 0 }, - { 36, 32, 0, 13, 0, 0 }, { 37, 32, 0, 13, 0, 0 }, { 38, 33, 0, 13, 0, 0 }, { 39, 34, 0, 13, 0, 0 }, { 40, 34, 0, 13, 0, 0 }, - { 41, 35, 0, 13, 0, 0 }, { 42, 35, 0, 13, 0, 0 }, { 43, 36, 0, 14, 0, 0 }, { 44, 36, 0, 14, 0, 0 }, { 45, 37, 0, 14, 0, 0 }, - { 46, 37, 0, 14, 0, 0 }, { 47, 38, 0, 14, 0, 0 }, { 48, 38, 0, 14, 0, 0 }, { 49, 39, 0, 14, 0, 0 }, { 50, 39, 0, 14, 0, 0 }, - { 51, 40, 0, 14, 0, 0 }, { 52, 40, 0, 14, 0, 0 }, { 53, 40, 0, 14, 0, 0 }, { 54, 41, 0, 14, 0, 0 }, { 55, 41, 0, 14, 0, 0 }, - { 56, 41, 0, 14, 0, 0 }, { 57, 42, 0, 14, 0, 0 }, { 58, 42, 0, 14, 0, 0 }, { 59, 42, 0, 14, 0, 0 }, { 60, 43, 0, 14, 0, 0 }, - { 61, 43, 0, 14, 0, 0 }, { 62, 43, 0, 14, 0, 0 }, { 63, 43, 0, 15, 0, 0 }, { 64, 44, 0, 15, 0, 0 }, { 65, 44, 0, 15, 0, 0 }, - { 66, 44, 0, 15, 0, 0 }, { 67, 44, 0, 15, 0, 0 }, { 68, 45, 0, 15, 0, 0 }, { 69, 45, 0, 15, 0, 0 }, { 70, 45, 0, 15, 0, 0 }, - { 71, 45, 0, 15, 0, 0 }, { 72, 45, 0, 15, 0, 0 }, { 73, 46, 0, 15, 0, 0 }, { 74, 46, 0, 15, 0, 0 }, { 75, 46, 0, 15, 0, 0 }, - { 76, 46, 0, 15, 0, 0 }, { 77, 46, 0, 15, 0, 0 }, { 78, 47, 0, 15, 0, 0 }, { 79, 47, 0, 15, 0, 0 }, { 80, 47, 0, 15, 0, 0 }, - { 81, 47, 0, 15, 0, 0 }, { 82, 47, 0, 15, 0, 0 }, { 83, 48, 0, 16, 0, 0 }, { 84, 48, 0, 16, 0, 0 }, { 85, 48, 0, 16, 0, 0 }, - { 86, 48, 0, 16, 0, 0 }, { 87, 48, 0, 16, 0, 0 }, { 88, 48, 0, 16, 0, 0 }, { 89, 48, 0, 16, 0, 0 }, { 90, 48, 0, 16, 0, 0 }, - { 91, 48, 0, 16, 0, 0 }, { 92, 48, 0, 16, 0, 0 }, { 93, 48, 0, 16, 0, 0 }, { 94, 48, 0, 16, 0, 0 }, { 95, 48, 0, 16, 0, 0 }, + 80, { + { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, + { 21, 20, 0, 12, 0, 0 }, { 22, 21, 0, 12, 0, 0 }, { 23, 22, 0, 12, 0, 0 }, { 24, 23, 0, 12, 0, 0 }, { 25, 24, 0, 13, 0, 0 }, + { 26, 25, 0, 13, 0, 0 }, { 27, 25, 0, 13, 0, 0 }, { 28, 26, 0, 13, 0, 0 }, { 29, 27, 0, 13, 0, 0 }, { 30, 28, 0, 13, 0, 0 }, + { 31, 28, 0, 13, 0, 0 }, { 32, 29, 0, 13, 0, 0 }, { 33, 30, 0, 13, 0, 0 }, { 34, 30, 0, 13, 0, 0 }, { 35, 31, 0, 13, 0, 0 }, + { 36, 32, 0, 13, 0, 0 }, { 37, 32, 0, 13, 0, 0 }, { 38, 33, 0, 13, 0, 0 }, { 39, 34, 0, 13, 0, 0 }, { 40, 34, 0, 13, 0, 0 }, + { 41, 35, 0, 13, 0, 0 }, { 42, 35, 0, 13, 0, 0 }, { 43, 36, 0, 14, 0, 0 }, { 44, 36, 0, 14, 0, 0 }, { 45, 37, 0, 14, 0, 0 }, + { 46, 37, 0, 14, 0, 0 }, { 47, 38, 0, 14, 0, 0 }, { 48, 38, 0, 14, 0, 0 }, { 49, 39, 0, 14, 0, 0 }, { 50, 39, 0, 14, 0, 0 }, + { 51, 40, 0, 14, 0, 0 }, { 52, 40, 0, 14, 0, 0 }, { 53, 40, 0, 14, 0, 0 }, { 54, 41, 0, 14, 0, 0 }, { 55, 41, 0, 14, 0, 0 }, + { 56, 41, 0, 14, 0, 0 }, { 57, 42, 0, 14, 0, 0 }, { 58, 42, 0, 14, 0, 0 }, { 59, 42, 0, 14, 0, 0 }, { 60, 43, 0, 14, 0, 0 }, + { 61, 43, 0, 14, 0, 0 }, { 62, 43, 0, 14, 0, 0 }, { 63, 43, 0, 15, 0, 0 }, { 64, 44, 0, 15, 0, 0 }, { 65, 44, 0, 15, 0, 0 }, + { 66, 44, 0, 15, 0, 0 }, { 67, 44, 0, 15, 0, 0 }, { 68, 45, 0, 15, 0, 0 }, { 69, 45, 0, 15, 0, 0 }, { 70, 45, 0, 15, 0, 0 }, + { 71, 45, 0, 15, 0, 0 }, { 72, 45, 0, 15, 0, 0 }, { 73, 46, 0, 15, 0, 0 }, { 74, 46, 0, 15, 0, 0 }, { 75, 46, 0, 15, 0, 0 }, + { 76, 46, 0, 15, 0, 0 }, { 77, 46, 0, 15, 0, 0 }, { 78, 47, 0, 15, 0, 0 }, { 79, 47, 0, 15, 0, 0 }, { 80, 47, 0, 15, 0, 0 }, + { 81, 47, 0, 15, 0, 0 }, { 82, 47, 0, 15, 0, 0 }, { 83, 48, 0, 16, 0, 0 }, { 84, 48, 0, 16, 0, 0 }, { 85, 48, 0, 16, 0, 0 }, + { 86, 48, 0, 16, 0, 0 }, { 87, 48, 0, 16, 0, 0 }, { 88, 48, 0, 16, 0, 0 }, { 89, 48, 0, 16, 0, 0 }, { 90, 48, 0, 16, 0, 0 }, + { 91, 48, 0, 16, 0, 0 }, { 92, 48, 0, 16, 0, 0 }, { 93, 48, 0, 16, 0, 0 }, { 94, 48, 0, 16, 0, 0 }, { 95, 48, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91303B = { - 80, { - { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 19, 11, 0, 20, 0, 0 }, - { 20, 10, 0, 20, 0, 0 }, { 21, 9, 0, 20, 0, 0 }, { 22, 8, 0, 20, 0, 0 }, { 23, 7, 0, 21, 0, 0 }, { 24, 6, 0, 21, 0, 0 }, - { 24, 5, 0, 21, 0, 0 }, { 25, 4, 0, 21, 0, 0 }, { 26, 3, 0, 21, 0, 0 }, { 27, 2, 0, 21, 0, 0 }, { 27, 1, 0, 21, 0, 0 }, - { 28, 0, 0, 21, 0, 0 }, { 29, -1, 0, 21, 0, 0 }, { 29, -2, 0, 21, 0, 0 }, { 30, -3, 0, 21, 0, 0 }, { 31, -4, 0, 21, 0, 0 }, - { 31, -5, 0, 21, 0, 0 }, { 32, -6, 0, 21, 0, 0 }, { 33, -7, 0, 21, 0, 0 }, { 33, -8, 0, 21, 0, 0 }, { 34, -9, 0, 21, 0, 0 }, - { 34, -10, 0, 21, 0, 0 }, { 35, -11, 0, 22, 0, 0 }, { 35, -12, 0, 22, 0, 0 }, { 36, -13, 0, 22, 0, 0 }, { 36, -14, 0, 22, 0, 0 }, - { 37, -15, 0, 22, 0, 0 }, { 37, -16, 0, 22, 0, 0 }, { 38, -17, 0, 22, 0, 0 }, { 38, -18, 0, 22, 0, 0 }, { 39, -19, 0, 22, 0, 0 }, - { 39, -20, 0, 22, 0, 0 }, { 39, -21, 0, 22, 0, 0 }, { 40, -22, 0, 22, 0, 0 }, { 40, -23, 0, 22, 0, 0 }, { 40, -24, 0, 22, 0, 0 }, - { 41, -25, 0, 22, 0, 0 }, { 41, -26, 0, 22, 0, 0 }, { 41, -27, 0, 22, 0, 0 }, { 42, -28, 0, 22, 0, 0 }, { 42, -29, 0, 22, 0, 0 }, - { 42, -30, 0, 22, 0, 0 }, { 42, -31, 0, 23, 0, 0 }, { 43, -32, 0, 23, 0, 0 }, { 43, -33, 0, 23, 0, 0 }, { 43, -34, 0, 23, 0, 0 }, - { 43, -35, 0, 23, 0, 0 }, { 44, -36, 0, 23, 0, 0 }, { 44, -37, 0, 23, 0, 0 }, { 44, -38, 0, 23, 0, 0 }, { 44, -39, 0, 23, 0, 0 }, - { 44, -40, 0, 23, 0, 0 }, { 45, -41, 0, 23, 0, 0 }, { 45, -42, 0, 23, 0, 0 }, { 45, -43, 0, 23, 0, 0 }, { 45, -44, 0, 23, 0, 0 }, - { 45, -45, 0, 23, 0, 0 }, { 46, -46, 0, 23, 0, 0 }, { 46, -47, 0, 23, 0, 0 }, { 46, -48, 0, 23, 0, 0 }, { 46, -49, 0, 23, 0, 0 }, - { 46, -50, 0, 23, 0, 0 }, { 47, -51, 0, 24, 0, 0 }, { 47, -52, 0, 24, 0, 0 }, { 47, -53, 0, 24, 0, 0 }, { 47, -54, 0, 24, 0, 0 }, - { 47, -55, 0, 24, 0, 0 }, { 47, -56, 0, 24, 0, 0 }, { 47, -57, 0, 24, 0, 0 }, { 47, -58, 0, 24, 0, 0 }, { 47, -59, 0, 24, 0, 0 }, - { 47, -60, 0, 24, 0, 0 }, { 47, -61, 0, 24, 0, 0 }, { 47, -62, 0, 24, 0, 0 }, { 47, -63, 0, 24, 0, 0 }, { 47, -64, 0, 24, 0, 0 }, + 80, { + { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 19, 11, 0, 20, 0, 0 }, + { 20, 10, 0, 20, 0, 0 }, { 21, 9, 0, 20, 0, 0 }, { 22, 8, 0, 20, 0, 0 }, { 23, 7, 0, 21, 0, 0 }, { 24, 6, 0, 21, 0, 0 }, + { 24, 5, 0, 21, 0, 0 }, { 25, 4, 0, 21, 0, 0 }, { 26, 3, 0, 21, 0, 0 }, { 27, 2, 0, 21, 0, 0 }, { 27, 1, 0, 21, 0, 0 }, + { 28, 0, 0, 21, 0, 0 }, { 29, -1, 0, 21, 0, 0 }, { 29, -2, 0, 21, 0, 0 }, { 30, -3, 0, 21, 0, 0 }, { 31, -4, 0, 21, 0, 0 }, + { 31, -5, 0, 21, 0, 0 }, { 32, -6, 0, 21, 0, 0 }, { 33, -7, 0, 21, 0, 0 }, { 33, -8, 0, 21, 0, 0 }, { 34, -9, 0, 21, 0, 0 }, + { 34, -10, 0, 21, 0, 0 }, { 35, -11, 0, 22, 0, 0 }, { 35, -12, 0, 22, 0, 0 }, { 36, -13, 0, 22, 0, 0 }, { 36, -14, 0, 22, 0, 0 }, + { 37, -15, 0, 22, 0, 0 }, { 37, -16, 0, 22, 0, 0 }, { 38, -17, 0, 22, 0, 0 }, { 38, -18, 0, 22, 0, 0 }, { 39, -19, 0, 22, 0, 0 }, + { 39, -20, 0, 22, 0, 0 }, { 39, -21, 0, 22, 0, 0 }, { 40, -22, 0, 22, 0, 0 }, { 40, -23, 0, 22, 0, 0 }, { 40, -24, 0, 22, 0, 0 }, + { 41, -25, 0, 22, 0, 0 }, { 41, -26, 0, 22, 0, 0 }, { 41, -27, 0, 22, 0, 0 }, { 42, -28, 0, 22, 0, 0 }, { 42, -29, 0, 22, 0, 0 }, + { 42, -30, 0, 22, 0, 0 }, { 42, -31, 0, 23, 0, 0 }, { 43, -32, 0, 23, 0, 0 }, { 43, -33, 0, 23, 0, 0 }, { 43, -34, 0, 23, 0, 0 }, + { 43, -35, 0, 23, 0, 0 }, { 44, -36, 0, 23, 0, 0 }, { 44, -37, 0, 23, 0, 0 }, { 44, -38, 0, 23, 0, 0 }, { 44, -39, 0, 23, 0, 0 }, + { 44, -40, 0, 23, 0, 0 }, { 45, -41, 0, 23, 0, 0 }, { 45, -42, 0, 23, 0, 0 }, { 45, -43, 0, 23, 0, 0 }, { 45, -44, 0, 23, 0, 0 }, + { 45, -45, 0, 23, 0, 0 }, { 46, -46, 0, 23, 0, 0 }, { 46, -47, 0, 23, 0, 0 }, { 46, -48, 0, 23, 0, 0 }, { 46, -49, 0, 23, 0, 0 }, + { 46, -50, 0, 23, 0, 0 }, { 47, -51, 0, 24, 0, 0 }, { 47, -52, 0, 24, 0, 0 }, { 47, -53, 0, 24, 0, 0 }, { 47, -54, 0, 24, 0, 0 }, + { 47, -55, 0, 24, 0, 0 }, { 47, -56, 0, 24, 0, 0 }, { 47, -57, 0, 24, 0, 0 }, { 47, -58, 0, 24, 0, 0 }, { 47, -59, 0, 24, 0, 0 }, + { 47, -60, 0, 24, 0, 0 }, { 47, -61, 0, 24, 0, 0 }, { 47, -62, 0, 24, 0, 0 }, { 47, -63, 0, 24, 0, 0 }, { 47, -64, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91330D = { - 80, { - { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 12, 0, 28, 0, 0 }, - { 10, 11, 0, 28, 0, 0 }, { 9, 10, 0, 28, 0, 0 }, { 8, 9, 0, 28, 0, 0 }, { 7, 8, 0, 29, 0, 0 }, { 6, 7, 0, 29, 0, 0 }, - { 5, 7, 0, 29, 0, 0 }, { 4, 6, 0, 29, 0, 0 }, { 3, 5, 0, 29, 0, 0 }, { 2, 4, 0, 29, 0, 0 }, { 1, 4, 0, 29, 0, 0 }, - { 0, 3, 0, 29, 0, 0 }, { -1, 2, 0, 29, 0, 0 }, { -2, 2, 0, 29, 0, 0 }, { -3, 1, 0, 29, 0, 0 }, { -4, 0, 0, 29, 0, 0 }, - { -5, 0, 0, 29, 0, 0 }, { -6, -1, 0, 29, 0, 0 }, { -7, -2, 0, 29, 0, 0 }, { -8, -2, 0, 29, 0, 0 }, { -9, -3, 0, 29, 0, 0 }, - { -10, -3, 0, 29, 0, 0 }, { -11, -4, 0, 30, 0, 0 }, { -12, -4, 0, 30, 0, 0 }, { -13, -5, 0, 30, 0, 0 }, { -14, -5, 0, 30, 0, 0 }, - { -15, -6, 0, 30, 0, 0 }, { -16, -6, 0, 30, 0, 0 }, { -17, -7, 0, 30, 0, 0 }, { -18, -7, 0, 30, 0, 0 }, { -19, -8, 0, 30, 0, 0 }, - { -20, -8, 0, 30, 0, 0 }, { -21, -8, 0, 30, 0, 0 }, { -22, -9, 0, 30, 0, 0 }, { -23, -9, 0, 30, 0, 0 }, { -24, -9, 0, 30, 0, 0 }, - { -25, -10, 0, 30, 0, 0 }, { -26, -10, 0, 30, 0, 0 }, { -27, -10, 0, 30, 0, 0 }, { -28, -11, 0, 30, 0, 0 }, { -29, -11, 0, 30, 0, 0 }, - { -30, -11, 0, 30, 0, 0 }, { -31, -11, 0, 31, 0, 0 }, { -32, -12, 0, 31, 0, 0 }, { -33, -12, 0, 31, 0, 0 }, { -34, -12, 0, 31, 0, 0 }, - { -35, -12, 0, 31, 0, 0 }, { -36, -13, 0, 31, 0, 0 }, { -37, -13, 0, 31, 0, 0 }, { -38, -13, 0, 31, 0, 0 }, { -39, -13, 0, 31, 0, 0 }, - { -40, -13, 0, 31, 0, 0 }, { -41, -14, 0, 31, 0, 0 }, { -42, -14, 0, 31, 0, 0 }, { -43, -14, 0, 31, 0, 0 }, { -44, -14, 0, 31, 0, 0 }, - { -45, -14, 0, 31, 0, 0 }, { -46, -15, 0, 31, 0, 0 }, { -47, -15, 0, 31, 0, 0 }, { -48, -15, 0, 31, 0, 0 }, { -49, -15, 0, 31, 0, 0 }, - { -50, -15, 0, 31, 0, 0 }, { -51, -16, 0, 0, 0, 0 }, { -52, -16, 0, 0, 0, 0 }, { -53, -16, 0, 0, 0, 0 }, { -54, -16, 0, 0, 0, 0 }, - { -55, -16, 0, 0, 0, 0 }, { -56, -16, 0, 0, 0, 0 }, { -57, -16, 0, 0, 0, 0 }, { -58, -16, 0, 0, 0, 0 }, { -59, -16, 0, 0, 0, 0 }, - { -60, -16, 0, 0, 0, 0 }, { -61, -16, 0, 0, 0, 0 }, { -62, -16, 0, 0, 0, 0 }, { -63, -16, 0, 0, 0, 0 }, { -64, -16, 0, 0, 0, 0 }, + 80, { + { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 12, 0, 28, 0, 0 }, + { 10, 11, 0, 28, 0, 0 }, { 9, 10, 0, 28, 0, 0 }, { 8, 9, 0, 28, 0, 0 }, { 7, 8, 0, 29, 0, 0 }, { 6, 7, 0, 29, 0, 0 }, + { 5, 7, 0, 29, 0, 0 }, { 4, 6, 0, 29, 0, 0 }, { 3, 5, 0, 29, 0, 0 }, { 2, 4, 0, 29, 0, 0 }, { 1, 4, 0, 29, 0, 0 }, + { 0, 3, 0, 29, 0, 0 }, { -1, 2, 0, 29, 0, 0 }, { -2, 2, 0, 29, 0, 0 }, { -3, 1, 0, 29, 0, 0 }, { -4, 0, 0, 29, 0, 0 }, + { -5, 0, 0, 29, 0, 0 }, { -6, -1, 0, 29, 0, 0 }, { -7, -2, 0, 29, 0, 0 }, { -8, -2, 0, 29, 0, 0 }, { -9, -3, 0, 29, 0, 0 }, + { -10, -3, 0, 29, 0, 0 }, { -11, -4, 0, 30, 0, 0 }, { -12, -4, 0, 30, 0, 0 }, { -13, -5, 0, 30, 0, 0 }, { -14, -5, 0, 30, 0, 0 }, + { -15, -6, 0, 30, 0, 0 }, { -16, -6, 0, 30, 0, 0 }, { -17, -7, 0, 30, 0, 0 }, { -18, -7, 0, 30, 0, 0 }, { -19, -8, 0, 30, 0, 0 }, + { -20, -8, 0, 30, 0, 0 }, { -21, -8, 0, 30, 0, 0 }, { -22, -9, 0, 30, 0, 0 }, { -23, -9, 0, 30, 0, 0 }, { -24, -9, 0, 30, 0, 0 }, + { -25, -10, 0, 30, 0, 0 }, { -26, -10, 0, 30, 0, 0 }, { -27, -10, 0, 30, 0, 0 }, { -28, -11, 0, 30, 0, 0 }, { -29, -11, 0, 30, 0, 0 }, + { -30, -11, 0, 30, 0, 0 }, { -31, -11, 0, 31, 0, 0 }, { -32, -12, 0, 31, 0, 0 }, { -33, -12, 0, 31, 0, 0 }, { -34, -12, 0, 31, 0, 0 }, + { -35, -12, 0, 31, 0, 0 }, { -36, -13, 0, 31, 0, 0 }, { -37, -13, 0, 31, 0, 0 }, { -38, -13, 0, 31, 0, 0 }, { -39, -13, 0, 31, 0, 0 }, + { -40, -13, 0, 31, 0, 0 }, { -41, -14, 0, 31, 0, 0 }, { -42, -14, 0, 31, 0, 0 }, { -43, -14, 0, 31, 0, 0 }, { -44, -14, 0, 31, 0, 0 }, + { -45, -14, 0, 31, 0, 0 }, { -46, -15, 0, 31, 0, 0 }, { -47, -15, 0, 31, 0, 0 }, { -48, -15, 0, 31, 0, 0 }, { -49, -15, 0, 31, 0, 0 }, + { -50, -15, 0, 31, 0, 0 }, { -51, -16, 0, 0, 0, 0 }, { -52, -16, 0, 0, 0, 0 }, { -53, -16, 0, 0, 0, 0 }, { -54, -16, 0, 0, 0, 0 }, + { -55, -16, 0, 0, 0, 0 }, { -56, -16, 0, 0, 0, 0 }, { -57, -16, 0, 0, 0, 0 }, { -58, -16, 0, 0, 0, 0 }, { -59, -16, 0, 0, 0, 0 }, + { -60, -16, 0, 0, 0, 0 }, { -61, -16, 0, 0, 0, 0 }, { -62, -16, 0, 0, 0, 0 }, { -63, -16, 0, 0, 0, 0 }, { -64, -16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9135DF = { - 79, { - { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 0, 0, 2 }, - { 26, 16, 0, 0, 0, 2 }, { 25, 16, 0, 0, 0, 2 }, { 24, 16, 0, 0, 0, 2 }, { 23, 16, 0, 0, 0, 2 }, { 22, 16, 0, 0, 0, 2 }, - { 21, 16, 0, 31, 0, 2 }, { 20, 16, 0, 31, 0, 2 }, { 19, 15, 0, 31, 0, 2 }, { 18, 15, 0, 31, 0, 2 }, { 17, 15, 0, 31, 0, 2 }, - { 16, 15, 0, 31, 0, 2 }, { 15, 15, 0, 31, 0, 2 }, { 14, 14, 0, 31, 0, 2 }, { 13, 14, 0, 31, 0, 2 }, { 12, 14, 0, 31, 0, 2 }, - { 11, 14, 0, 31, 0, 2 }, { 10, 14, 0, 31, 0, 2 }, { 9, 13, 0, 31, 0, 2 }, { 8, 13, 0, 31, 0, 2 }, { 7, 13, 0, 31, 0, 2 }, - { 6, 13, 0, 31, 0, 2 }, { 5, 13, 0, 31, 0, 2 }, { 4, 12, 0, 31, 0, 2 }, { 3, 12, 0, 31, 0, 2 }, { 2, 12, 0, 31, 0, 2 }, - { 1, 12, 0, 30, 0, 2 }, { 0, 11, 0, 30, 0, 2 }, { -1, 11, 0, 30, 0, 2 }, { -2, 11, 0, 30, 0, 2 }, { -3, 11, 0, 30, 0, 2 }, - { -4, 10, 0, 30, 0, 2 }, { -5, 10, 0, 30, 0, 2 }, { -6, 10, 0, 30, 0, 2 }, { -7, 9, 0, 30, 0, 2 }, { -8, 9, 0, 30, 0, 2 }, - { -9, 9, 0, 30, 0, 2 }, { -10, 8, 0, 30, 0, 2 }, { -11, 8, 0, 30, 0, 2 }, { -12, 8, 0, 30, 0, 2 }, { -13, 7, 0, 30, 0, 2 }, - { -14, 7, 0, 30, 0, 2 }, { -15, 6, 0, 30, 0, 2 }, { -16, 6, 0, 30, 0, 2 }, { -17, 5, 0, 30, 0, 2 }, { -18, 5, 0, 30, 0, 2 }, - { -19, 4, 0, 30, 0, 2 }, { -20, 4, 0, 29, 0, 2 }, { -21, 3, 0, 29, 0, 2 }, { -22, 3, 0, 29, 0, 2 }, { -23, 2, 0, 29, 0, 2 }, - { -24, 2, 0, 29, 0, 2 }, { -25, 1, 0, 29, 0, 2 }, { -26, 0, 0, 29, 0, 2 }, { -27, 0, 0, 29, 0, 2 }, { -28, -1, 0, 29, 0, 2 }, - { -29, -2, 0, 29, 0, 2 }, { -30, -2, 0, 29, 0, 2 }, { -31, -3, 0, 29, 0, 2 }, { -32, -4, 0, 29, 0, 2 }, { -33, -4, 0, 29, 0, 2 }, - { -34, -5, 0, 29, 0, 2 }, { -35, -6, 0, 29, 0, 2 }, { -36, -7, 0, 29, 0, 2 }, { -37, -7, 0, 29, 0, 2 }, { -38, -8, 0, 29, 0, 2 }, - { -39, -9, 0, 28, 0, 2 }, { -40, -10, 0, 28, 0, 2 }, { -41, -11, 0, 28, 0, 2 }, { -42, -12, 0, 28, 0, 2 }, { -43, -12, 0, 28, 0, 2 }, - { -44, -13, 0, 28, 0, 2 }, { -45, -14, 0, 28, 0, 2 }, { -46, -15, 0, 28, 0, 2 }, { -47, -16, 0, 28, 0, 2 }, + 79, { + { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 0, 0, 2 }, + { 26, 16, 0, 0, 0, 2 }, { 25, 16, 0, 0, 0, 2 }, { 24, 16, 0, 0, 0, 2 }, { 23, 16, 0, 0, 0, 2 }, { 22, 16, 0, 0, 0, 2 }, + { 21, 16, 0, 31, 0, 2 }, { 20, 16, 0, 31, 0, 2 }, { 19, 15, 0, 31, 0, 2 }, { 18, 15, 0, 31, 0, 2 }, { 17, 15, 0, 31, 0, 2 }, + { 16, 15, 0, 31, 0, 2 }, { 15, 15, 0, 31, 0, 2 }, { 14, 14, 0, 31, 0, 2 }, { 13, 14, 0, 31, 0, 2 }, { 12, 14, 0, 31, 0, 2 }, + { 11, 14, 0, 31, 0, 2 }, { 10, 14, 0, 31, 0, 2 }, { 9, 13, 0, 31, 0, 2 }, { 8, 13, 0, 31, 0, 2 }, { 7, 13, 0, 31, 0, 2 }, + { 6, 13, 0, 31, 0, 2 }, { 5, 13, 0, 31, 0, 2 }, { 4, 12, 0, 31, 0, 2 }, { 3, 12, 0, 31, 0, 2 }, { 2, 12, 0, 31, 0, 2 }, + { 1, 12, 0, 30, 0, 2 }, { 0, 11, 0, 30, 0, 2 }, { -1, 11, 0, 30, 0, 2 }, { -2, 11, 0, 30, 0, 2 }, { -3, 11, 0, 30, 0, 2 }, + { -4, 10, 0, 30, 0, 2 }, { -5, 10, 0, 30, 0, 2 }, { -6, 10, 0, 30, 0, 2 }, { -7, 9, 0, 30, 0, 2 }, { -8, 9, 0, 30, 0, 2 }, + { -9, 9, 0, 30, 0, 2 }, { -10, 8, 0, 30, 0, 2 }, { -11, 8, 0, 30, 0, 2 }, { -12, 8, 0, 30, 0, 2 }, { -13, 7, 0, 30, 0, 2 }, + { -14, 7, 0, 30, 0, 2 }, { -15, 6, 0, 30, 0, 2 }, { -16, 6, 0, 30, 0, 2 }, { -17, 5, 0, 30, 0, 2 }, { -18, 5, 0, 30, 0, 2 }, + { -19, 4, 0, 30, 0, 2 }, { -20, 4, 0, 29, 0, 2 }, { -21, 3, 0, 29, 0, 2 }, { -22, 3, 0, 29, 0, 2 }, { -23, 2, 0, 29, 0, 2 }, + { -24, 2, 0, 29, 0, 2 }, { -25, 1, 0, 29, 0, 2 }, { -26, 0, 0, 29, 0, 2 }, { -27, 0, 0, 29, 0, 2 }, { -28, -1, 0, 29, 0, 2 }, + { -29, -2, 0, 29, 0, 2 }, { -30, -2, 0, 29, 0, 2 }, { -31, -3, 0, 29, 0, 2 }, { -32, -4, 0, 29, 0, 2 }, { -33, -4, 0, 29, 0, 2 }, + { -34, -5, 0, 29, 0, 2 }, { -35, -6, 0, 29, 0, 2 }, { -36, -7, 0, 29, 0, 2 }, { -37, -7, 0, 29, 0, 2 }, { -38, -8, 0, 29, 0, 2 }, + { -39, -9, 0, 28, 0, 2 }, { -40, -10, 0, 28, 0, 2 }, { -41, -11, 0, 28, 0, 2 }, { -42, -12, 0, 28, 0, 2 }, { -43, -12, 0, 28, 0, 2 }, + { -44, -13, 0, 28, 0, 2 }, { -45, -14, 0, 28, 0, 2 }, { -46, -15, 0, 28, 0, 2 }, { -47, -16, 0, 28, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9138A8 = { - 80, { - { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, - { 16, 5, 0, 8, 0, 2 }, { 16, 6, 0, 8, 0, 2 }, { 16, 7, 0, 8, 0, 2 }, { 16, 8, 0, 8, 0, 2 }, { 16, 9, 0, 8, 0, 2 }, - { 16, 10, 0, 8, 0, 2 }, { 16, 11, 0, 7, 0, 2 }, { 16, 12, 0, 7, 0, 2 }, { 15, 13, 0, 7, 0, 2 }, { 15, 14, 0, 7, 0, 2 }, - { 15, 15, 0, 7, 0, 2 }, { 15, 16, 0, 7, 0, 2 }, { 15, 17, 0, 7, 0, 2 }, { 14, 18, 0, 7, 0, 2 }, { 14, 19, 0, 7, 0, 2 }, - { 14, 20, 0, 7, 0, 2 }, { 14, 21, 0, 7, 0, 2 }, { 14, 22, 0, 7, 0, 2 }, { 13, 23, 0, 7, 0, 2 }, { 13, 24, 0, 7, 0, 2 }, - { 13, 25, 0, 7, 0, 2 }, { 13, 26, 0, 7, 0, 2 }, { 13, 27, 0, 7, 0, 2 }, { 12, 28, 0, 7, 0, 2 }, { 12, 29, 0, 7, 0, 2 }, - { 12, 30, 0, 7, 0, 2 }, { 12, 31, 0, 6, 0, 2 }, { 11, 32, 0, 6, 0, 2 }, { 11, 33, 0, 6, 0, 2 }, { 11, 34, 0, 6, 0, 2 }, - { 11, 35, 0, 6, 0, 2 }, { 10, 36, 0, 6, 0, 2 }, { 10, 37, 0, 6, 0, 2 }, { 10, 38, 0, 6, 0, 2 }, { 9, 39, 0, 6, 0, 2 }, - { 9, 40, 0, 6, 0, 2 }, { 9, 41, 0, 6, 0, 2 }, { 8, 42, 0, 6, 0, 2 }, { 8, 43, 0, 6, 0, 2 }, { 8, 44, 0, 6, 0, 2 }, - { 7, 45, 0, 6, 0, 2 }, { 7, 46, 0, 6, 0, 2 }, { 6, 47, 0, 6, 0, 2 }, { 6, 48, 0, 6, 0, 2 }, { 5, 49, 0, 6, 0, 2 }, - { 5, 50, 0, 6, 0, 2 }, { 4, 51, 0, 6, 0, 2 }, { 4, 52, 0, 5, 0, 2 }, { 3, 53, 0, 5, 0, 2 }, { 3, 54, 0, 5, 0, 2 }, - { 2, 55, 0, 5, 0, 2 }, { 2, 56, 0, 5, 0, 2 }, { 1, 57, 0, 5, 0, 2 }, { 0, 58, 0, 5, 0, 2 }, { 0, 59, 0, 5, 0, 2 }, - { -1, 60, 0, 5, 0, 2 }, { -2, 61, 0, 5, 0, 2 }, { -2, 62, 0, 5, 0, 2 }, { -3, 63, 0, 5, 0, 2 }, { -4, 64, 0, 5, 0, 2 }, - { -4, 65, 0, 5, 0, 2 }, { -5, 66, 0, 5, 0, 2 }, { -6, 67, 0, 5, 0, 2 }, { -7, 68, 0, 5, 0, 2 }, { -7, 69, 0, 5, 0, 2 }, - { -8, 70, 0, 5, 0, 2 }, { -9, 71, 0, 4, 0, 2 }, { -10, 72, 0, 4, 0, 2 }, { -11, 73, 0, 4, 0, 2 }, { -12, 74, 0, 4, 0, 2 }, - { -12, 75, 0, 4, 0, 2 }, { -13, 76, 0, 4, 0, 2 }, { -14, 77, 0, 4, 0, 2 }, { -15, 78, 0, 4, 0, 2 }, { -16, 79, 0, 4, 0, 2 }, + 80, { + { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, + { 16, 5, 0, 8, 0, 2 }, { 16, 6, 0, 8, 0, 2 }, { 16, 7, 0, 8, 0, 2 }, { 16, 8, 0, 8, 0, 2 }, { 16, 9, 0, 8, 0, 2 }, + { 16, 10, 0, 8, 0, 2 }, { 16, 11, 0, 7, 0, 2 }, { 16, 12, 0, 7, 0, 2 }, { 15, 13, 0, 7, 0, 2 }, { 15, 14, 0, 7, 0, 2 }, + { 15, 15, 0, 7, 0, 2 }, { 15, 16, 0, 7, 0, 2 }, { 15, 17, 0, 7, 0, 2 }, { 14, 18, 0, 7, 0, 2 }, { 14, 19, 0, 7, 0, 2 }, + { 14, 20, 0, 7, 0, 2 }, { 14, 21, 0, 7, 0, 2 }, { 14, 22, 0, 7, 0, 2 }, { 13, 23, 0, 7, 0, 2 }, { 13, 24, 0, 7, 0, 2 }, + { 13, 25, 0, 7, 0, 2 }, { 13, 26, 0, 7, 0, 2 }, { 13, 27, 0, 7, 0, 2 }, { 12, 28, 0, 7, 0, 2 }, { 12, 29, 0, 7, 0, 2 }, + { 12, 30, 0, 7, 0, 2 }, { 12, 31, 0, 6, 0, 2 }, { 11, 32, 0, 6, 0, 2 }, { 11, 33, 0, 6, 0, 2 }, { 11, 34, 0, 6, 0, 2 }, + { 11, 35, 0, 6, 0, 2 }, { 10, 36, 0, 6, 0, 2 }, { 10, 37, 0, 6, 0, 2 }, { 10, 38, 0, 6, 0, 2 }, { 9, 39, 0, 6, 0, 2 }, + { 9, 40, 0, 6, 0, 2 }, { 9, 41, 0, 6, 0, 2 }, { 8, 42, 0, 6, 0, 2 }, { 8, 43, 0, 6, 0, 2 }, { 8, 44, 0, 6, 0, 2 }, + { 7, 45, 0, 6, 0, 2 }, { 7, 46, 0, 6, 0, 2 }, { 6, 47, 0, 6, 0, 2 }, { 6, 48, 0, 6, 0, 2 }, { 5, 49, 0, 6, 0, 2 }, + { 5, 50, 0, 6, 0, 2 }, { 4, 51, 0, 6, 0, 2 }, { 4, 52, 0, 5, 0, 2 }, { 3, 53, 0, 5, 0, 2 }, { 3, 54, 0, 5, 0, 2 }, + { 2, 55, 0, 5, 0, 2 }, { 2, 56, 0, 5, 0, 2 }, { 1, 57, 0, 5, 0, 2 }, { 0, 58, 0, 5, 0, 2 }, { 0, 59, 0, 5, 0, 2 }, + { -1, 60, 0, 5, 0, 2 }, { -2, 61, 0, 5, 0, 2 }, { -2, 62, 0, 5, 0, 2 }, { -3, 63, 0, 5, 0, 2 }, { -4, 64, 0, 5, 0, 2 }, + { -4, 65, 0, 5, 0, 2 }, { -5, 66, 0, 5, 0, 2 }, { -6, 67, 0, 5, 0, 2 }, { -7, 68, 0, 5, 0, 2 }, { -7, 69, 0, 5, 0, 2 }, + { -8, 70, 0, 5, 0, 2 }, { -9, 71, 0, 4, 0, 2 }, { -10, 72, 0, 4, 0, 2 }, { -11, 73, 0, 4, 0, 2 }, { -12, 74, 0, 4, 0, 2 }, + { -12, 75, 0, 4, 0, 2 }, { -13, 76, 0, 4, 0, 2 }, { -14, 77, 0, 4, 0, 2 }, { -15, 78, 0, 4, 0, 2 }, { -16, 79, 0, 4, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_913B7A = { - 80, { - { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, - { 5, 16, 0, 16, 0, 2 }, { 6, 16, 0, 16, 0, 2 }, { 7, 16, 0, 16, 0, 2 }, { 8, 16, 0, 16, 0, 2 }, { 9, 16, 0, 16, 0, 2 }, - { 10, 16, 0, 16, 0, 2 }, { 11, 16, 0, 15, 0, 2 }, { 12, 16, 0, 15, 0, 2 }, { 13, 16, 0, 15, 0, 2 }, { 14, 17, 0, 15, 0, 2 }, - { 15, 17, 0, 15, 0, 2 }, { 16, 17, 0, 15, 0, 2 }, { 17, 17, 0, 15, 0, 2 }, { 18, 17, 0, 15, 0, 2 }, { 19, 18, 0, 15, 0, 2 }, - { 20, 18, 0, 15, 0, 2 }, { 21, 18, 0, 15, 0, 2 }, { 22, 18, 0, 15, 0, 2 }, { 23, 18, 0, 15, 0, 2 }, { 24, 19, 0, 15, 0, 2 }, - { 25, 19, 0, 15, 0, 2 }, { 26, 19, 0, 15, 0, 2 }, { 27, 19, 0, 15, 0, 2 }, { 28, 19, 0, 15, 0, 2 }, { 29, 20, 0, 15, 0, 2 }, - { 30, 20, 0, 15, 0, 2 }, { 31, 20, 0, 14, 0, 2 }, { 32, 20, 0, 14, 0, 2 }, { 33, 21, 0, 14, 0, 2 }, { 34, 21, 0, 14, 0, 2 }, - { 35, 21, 0, 14, 0, 2 }, { 36, 21, 0, 14, 0, 2 }, { 37, 22, 0, 14, 0, 2 }, { 38, 22, 0, 14, 0, 2 }, { 39, 22, 0, 14, 0, 2 }, - { 40, 23, 0, 14, 0, 2 }, { 41, 23, 0, 14, 0, 2 }, { 42, 23, 0, 14, 0, 2 }, { 43, 24, 0, 14, 0, 2 }, { 44, 24, 0, 14, 0, 2 }, - { 45, 24, 0, 14, 0, 2 }, { 46, 25, 0, 14, 0, 2 }, { 47, 25, 0, 14, 0, 2 }, { 48, 26, 0, 14, 0, 2 }, { 49, 26, 0, 14, 0, 2 }, - { 50, 27, 0, 14, 0, 2 }, { 51, 27, 0, 14, 0, 2 }, { 52, 28, 0, 13, 0, 2 }, { 53, 28, 0, 13, 0, 2 }, { 54, 29, 0, 13, 0, 2 }, - { 55, 29, 0, 13, 0, 2 }, { 56, 30, 0, 13, 0, 2 }, { 57, 30, 0, 13, 0, 2 }, { 58, 31, 0, 13, 0, 2 }, { 59, 32, 0, 13, 0, 2 }, - { 60, 32, 0, 13, 0, 2 }, { 61, 33, 0, 13, 0, 2 }, { 62, 34, 0, 13, 0, 2 }, { 63, 34, 0, 13, 0, 2 }, { 64, 35, 0, 13, 0, 2 }, - { 65, 36, 0, 13, 0, 2 }, { 66, 36, 0, 13, 0, 2 }, { 67, 37, 0, 13, 0, 2 }, { 68, 38, 0, 13, 0, 2 }, { 69, 39, 0, 13, 0, 2 }, - { 70, 39, 0, 13, 0, 2 }, { 71, 40, 0, 12, 0, 2 }, { 72, 41, 0, 12, 0, 2 }, { 73, 42, 0, 12, 0, 2 }, { 74, 43, 0, 12, 0, 2 }, - { 75, 44, 0, 12, 0, 2 }, { 76, 44, 0, 12, 0, 2 }, { 77, 45, 0, 12, 0, 2 }, { 78, 46, 0, 12, 0, 2 }, { 79, 47, 0, 12, 0, 2 }, + 80, { + { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, + { 5, 16, 0, 16, 0, 2 }, { 6, 16, 0, 16, 0, 2 }, { 7, 16, 0, 16, 0, 2 }, { 8, 16, 0, 16, 0, 2 }, { 9, 16, 0, 16, 0, 2 }, + { 10, 16, 0, 16, 0, 2 }, { 11, 16, 0, 15, 0, 2 }, { 12, 16, 0, 15, 0, 2 }, { 13, 16, 0, 15, 0, 2 }, { 14, 17, 0, 15, 0, 2 }, + { 15, 17, 0, 15, 0, 2 }, { 16, 17, 0, 15, 0, 2 }, { 17, 17, 0, 15, 0, 2 }, { 18, 17, 0, 15, 0, 2 }, { 19, 18, 0, 15, 0, 2 }, + { 20, 18, 0, 15, 0, 2 }, { 21, 18, 0, 15, 0, 2 }, { 22, 18, 0, 15, 0, 2 }, { 23, 18, 0, 15, 0, 2 }, { 24, 19, 0, 15, 0, 2 }, + { 25, 19, 0, 15, 0, 2 }, { 26, 19, 0, 15, 0, 2 }, { 27, 19, 0, 15, 0, 2 }, { 28, 19, 0, 15, 0, 2 }, { 29, 20, 0, 15, 0, 2 }, + { 30, 20, 0, 15, 0, 2 }, { 31, 20, 0, 14, 0, 2 }, { 32, 20, 0, 14, 0, 2 }, { 33, 21, 0, 14, 0, 2 }, { 34, 21, 0, 14, 0, 2 }, + { 35, 21, 0, 14, 0, 2 }, { 36, 21, 0, 14, 0, 2 }, { 37, 22, 0, 14, 0, 2 }, { 38, 22, 0, 14, 0, 2 }, { 39, 22, 0, 14, 0, 2 }, + { 40, 23, 0, 14, 0, 2 }, { 41, 23, 0, 14, 0, 2 }, { 42, 23, 0, 14, 0, 2 }, { 43, 24, 0, 14, 0, 2 }, { 44, 24, 0, 14, 0, 2 }, + { 45, 24, 0, 14, 0, 2 }, { 46, 25, 0, 14, 0, 2 }, { 47, 25, 0, 14, 0, 2 }, { 48, 26, 0, 14, 0, 2 }, { 49, 26, 0, 14, 0, 2 }, + { 50, 27, 0, 14, 0, 2 }, { 51, 27, 0, 14, 0, 2 }, { 52, 28, 0, 13, 0, 2 }, { 53, 28, 0, 13, 0, 2 }, { 54, 29, 0, 13, 0, 2 }, + { 55, 29, 0, 13, 0, 2 }, { 56, 30, 0, 13, 0, 2 }, { 57, 30, 0, 13, 0, 2 }, { 58, 31, 0, 13, 0, 2 }, { 59, 32, 0, 13, 0, 2 }, + { 60, 32, 0, 13, 0, 2 }, { 61, 33, 0, 13, 0, 2 }, { 62, 34, 0, 13, 0, 2 }, { 63, 34, 0, 13, 0, 2 }, { 64, 35, 0, 13, 0, 2 }, + { 65, 36, 0, 13, 0, 2 }, { 66, 36, 0, 13, 0, 2 }, { 67, 37, 0, 13, 0, 2 }, { 68, 38, 0, 13, 0, 2 }, { 69, 39, 0, 13, 0, 2 }, + { 70, 39, 0, 13, 0, 2 }, { 71, 40, 0, 12, 0, 2 }, { 72, 41, 0, 12, 0, 2 }, { 73, 42, 0, 12, 0, 2 }, { 74, 43, 0, 12, 0, 2 }, + { 75, 44, 0, 12, 0, 2 }, { 76, 44, 0, 12, 0, 2 }, { 77, 45, 0, 12, 0, 2 }, { 78, 46, 0, 12, 0, 2 }, { 79, 47, 0, 12, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_913E4C = { - 80, { - { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 24, 0, 2 }, - { 16, 26, 0, 24, 0, 2 }, { 16, 25, 0, 24, 0, 2 }, { 16, 24, 0, 24, 0, 2 }, { 16, 23, 0, 24, 0, 2 }, { 16, 22, 0, 24, 0, 2 }, - { 16, 21, 0, 23, 0, 2 }, { 16, 20, 0, 23, 0, 2 }, { 16, 19, 0, 23, 0, 2 }, { 16, 18, 0, 23, 0, 2 }, { 17, 17, 0, 23, 0, 2 }, - { 17, 16, 0, 23, 0, 2 }, { 17, 15, 0, 23, 0, 2 }, { 17, 14, 0, 23, 0, 2 }, { 17, 13, 0, 23, 0, 2 }, { 18, 12, 0, 23, 0, 2 }, - { 18, 11, 0, 23, 0, 2 }, { 18, 10, 0, 23, 0, 2 }, { 18, 9, 0, 23, 0, 2 }, { 18, 8, 0, 23, 0, 2 }, { 19, 7, 0, 23, 0, 2 }, - { 19, 6, 0, 23, 0, 2 }, { 19, 5, 0, 23, 0, 2 }, { 19, 4, 0, 23, 0, 2 }, { 19, 3, 0, 23, 0, 2 }, { 20, 2, 0, 23, 0, 2 }, - { 20, 1, 0, 22, 0, 2 }, { 20, 0, 0, 22, 0, 2 }, { 20, -1, 0, 22, 0, 2 }, { 21, -2, 0, 22, 0, 2 }, { 21, -3, 0, 22, 0, 2 }, - { 21, -4, 0, 22, 0, 2 }, { 21, -5, 0, 22, 0, 2 }, { 22, -6, 0, 22, 0, 2 }, { 22, -7, 0, 22, 0, 2 }, { 22, -8, 0, 22, 0, 2 }, - { 23, -9, 0, 22, 0, 2 }, { 23, -10, 0, 22, 0, 2 }, { 23, -11, 0, 22, 0, 2 }, { 24, -12, 0, 22, 0, 2 }, { 24, -13, 0, 22, 0, 2 }, - { 24, -14, 0, 22, 0, 2 }, { 25, -15, 0, 22, 0, 2 }, { 25, -16, 0, 22, 0, 2 }, { 26, -17, 0, 22, 0, 2 }, { 26, -18, 0, 22, 0, 2 }, - { 27, -19, 0, 22, 0, 2 }, { 27, -20, 0, 21, 0, 2 }, { 28, -21, 0, 21, 0, 2 }, { 28, -22, 0, 21, 0, 2 }, { 29, -23, 0, 21, 0, 2 }, - { 29, -24, 0, 21, 0, 2 }, { 30, -25, 0, 21, 0, 2 }, { 30, -26, 0, 21, 0, 2 }, { 31, -27, 0, 21, 0, 2 }, { 32, -28, 0, 21, 0, 2 }, - { 32, -29, 0, 21, 0, 2 }, { 33, -30, 0, 21, 0, 2 }, { 34, -31, 0, 21, 0, 2 }, { 34, -32, 0, 21, 0, 2 }, { 35, -33, 0, 21, 0, 2 }, - { 36, -34, 0, 21, 0, 2 }, { 36, -35, 0, 21, 0, 2 }, { 37, -36, 0, 21, 0, 2 }, { 38, -37, 0, 21, 0, 2 }, { 39, -38, 0, 21, 0, 2 }, - { 39, -39, 0, 20, 0, 2 }, { 40, -40, 0, 20, 0, 2 }, { 41, -41, 0, 20, 0, 2 }, { 42, -42, 0, 20, 0, 2 }, { 43, -43, 0, 20, 0, 2 }, - { 44, -44, 0, 20, 0, 2 }, { 44, -45, 0, 20, 0, 2 }, { 45, -46, 0, 20, 0, 2 }, { 46, -47, 0, 20, 0, 2 }, { 47, -48, 0, 20, 0, 2 }, + 80, { + { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 24, 0, 2 }, + { 16, 26, 0, 24, 0, 2 }, { 16, 25, 0, 24, 0, 2 }, { 16, 24, 0, 24, 0, 2 }, { 16, 23, 0, 24, 0, 2 }, { 16, 22, 0, 24, 0, 2 }, + { 16, 21, 0, 23, 0, 2 }, { 16, 20, 0, 23, 0, 2 }, { 16, 19, 0, 23, 0, 2 }, { 16, 18, 0, 23, 0, 2 }, { 17, 17, 0, 23, 0, 2 }, + { 17, 16, 0, 23, 0, 2 }, { 17, 15, 0, 23, 0, 2 }, { 17, 14, 0, 23, 0, 2 }, { 17, 13, 0, 23, 0, 2 }, { 18, 12, 0, 23, 0, 2 }, + { 18, 11, 0, 23, 0, 2 }, { 18, 10, 0, 23, 0, 2 }, { 18, 9, 0, 23, 0, 2 }, { 18, 8, 0, 23, 0, 2 }, { 19, 7, 0, 23, 0, 2 }, + { 19, 6, 0, 23, 0, 2 }, { 19, 5, 0, 23, 0, 2 }, { 19, 4, 0, 23, 0, 2 }, { 19, 3, 0, 23, 0, 2 }, { 20, 2, 0, 23, 0, 2 }, + { 20, 1, 0, 22, 0, 2 }, { 20, 0, 0, 22, 0, 2 }, { 20, -1, 0, 22, 0, 2 }, { 21, -2, 0, 22, 0, 2 }, { 21, -3, 0, 22, 0, 2 }, + { 21, -4, 0, 22, 0, 2 }, { 21, -5, 0, 22, 0, 2 }, { 22, -6, 0, 22, 0, 2 }, { 22, -7, 0, 22, 0, 2 }, { 22, -8, 0, 22, 0, 2 }, + { 23, -9, 0, 22, 0, 2 }, { 23, -10, 0, 22, 0, 2 }, { 23, -11, 0, 22, 0, 2 }, { 24, -12, 0, 22, 0, 2 }, { 24, -13, 0, 22, 0, 2 }, + { 24, -14, 0, 22, 0, 2 }, { 25, -15, 0, 22, 0, 2 }, { 25, -16, 0, 22, 0, 2 }, { 26, -17, 0, 22, 0, 2 }, { 26, -18, 0, 22, 0, 2 }, + { 27, -19, 0, 22, 0, 2 }, { 27, -20, 0, 21, 0, 2 }, { 28, -21, 0, 21, 0, 2 }, { 28, -22, 0, 21, 0, 2 }, { 29, -23, 0, 21, 0, 2 }, + { 29, -24, 0, 21, 0, 2 }, { 30, -25, 0, 21, 0, 2 }, { 30, -26, 0, 21, 0, 2 }, { 31, -27, 0, 21, 0, 2 }, { 32, -28, 0, 21, 0, 2 }, + { 32, -29, 0, 21, 0, 2 }, { 33, -30, 0, 21, 0, 2 }, { 34, -31, 0, 21, 0, 2 }, { 34, -32, 0, 21, 0, 2 }, { 35, -33, 0, 21, 0, 2 }, + { 36, -34, 0, 21, 0, 2 }, { 36, -35, 0, 21, 0, 2 }, { 37, -36, 0, 21, 0, 2 }, { 38, -37, 0, 21, 0, 2 }, { 39, -38, 0, 21, 0, 2 }, + { 39, -39, 0, 20, 0, 2 }, { 40, -40, 0, 20, 0, 2 }, { 41, -41, 0, 20, 0, 2 }, { 42, -42, 0, 20, 0, 2 }, { 43, -43, 0, 20, 0, 2 }, + { 44, -44, 0, 20, 0, 2 }, { 44, -45, 0, 20, 0, 2 }, { 45, -46, 0, 20, 0, 2 }, { 46, -47, 0, 20, 0, 2 }, { 47, -48, 0, 20, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_914C5D = { - 80, { - { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 0, 0, 4 }, - { 26, 16, 0, 0, 0, 4 }, { 25, 16, 0, 0, 0, 4 }, { 24, 16, 0, 0, 0, 4 }, { 23, 16, 0, 0, 0, 4 }, { 22, 16, 0, 0, 0, 4 }, - { 21, 16, 0, 1, 0, 4 }, { 20, 16, 0, 1, 0, 4 }, { 19, 16, 0, 1, 0, 4 }, { 18, 16, 0, 1, 0, 4 }, { 17, 17, 0, 1, 0, 4 }, - { 16, 17, 0, 1, 0, 4 }, { 15, 17, 0, 1, 0, 4 }, { 14, 17, 0, 1, 0, 4 }, { 13, 17, 0, 1, 0, 4 }, { 12, 18, 0, 1, 0, 4 }, - { 11, 18, 0, 1, 0, 4 }, { 10, 18, 0, 1, 0, 4 }, { 9, 18, 0, 1, 0, 4 }, { 8, 18, 0, 1, 0, 4 }, { 7, 19, 0, 1, 0, 4 }, - { 6, 19, 0, 1, 0, 4 }, { 5, 19, 0, 1, 0, 4 }, { 4, 19, 0, 1, 0, 4 }, { 3, 19, 0, 1, 0, 4 }, { 2, 20, 0, 1, 0, 4 }, - { 1, 20, 0, 2, 0, 4 }, { 0, 20, 0, 2, 0, 4 }, { -1, 20, 0, 2, 0, 4 }, { -2, 21, 0, 2, 0, 4 }, { -3, 21, 0, 2, 0, 4 }, - { -4, 21, 0, 2, 0, 4 }, { -5, 21, 0, 2, 0, 4 }, { -6, 22, 0, 2, 0, 4 }, { -7, 22, 0, 2, 0, 4 }, { -8, 22, 0, 2, 0, 4 }, - { -9, 23, 0, 2, 0, 4 }, { -10, 23, 0, 2, 0, 4 }, { -11, 23, 0, 2, 0, 4 }, { -12, 24, 0, 2, 0, 4 }, { -13, 24, 0, 2, 0, 4 }, - { -14, 24, 0, 2, 0, 4 }, { -15, 25, 0, 2, 0, 4 }, { -16, 25, 0, 2, 0, 4 }, { -17, 26, 0, 2, 0, 4 }, { -18, 26, 0, 2, 0, 4 }, - { -19, 27, 0, 2, 0, 4 }, { -20, 27, 0, 3, 0, 4 }, { -21, 28, 0, 3, 0, 4 }, { -22, 28, 0, 3, 0, 4 }, { -23, 29, 0, 3, 0, 4 }, - { -24, 29, 0, 3, 0, 4 }, { -25, 30, 0, 3, 0, 4 }, { -26, 30, 0, 3, 0, 4 }, { -27, 31, 0, 3, 0, 4 }, { -28, 32, 0, 3, 0, 4 }, - { -29, 32, 0, 3, 0, 4 }, { -30, 33, 0, 3, 0, 4 }, { -31, 34, 0, 3, 0, 4 }, { -32, 34, 0, 3, 0, 4 }, { -33, 35, 0, 3, 0, 4 }, - { -34, 36, 0, 3, 0, 4 }, { -35, 36, 0, 3, 0, 4 }, { -36, 37, 0, 3, 0, 4 }, { -37, 38, 0, 3, 0, 4 }, { -38, 39, 0, 3, 0, 4 }, - { -39, 39, 0, 4, 0, 4 }, { -40, 40, 0, 4, 0, 4 }, { -41, 41, 0, 4, 0, 4 }, { -42, 42, 0, 4, 0, 4 }, { -43, 43, 0, 4, 0, 4 }, - { -44, 44, 0, 4, 0, 4 }, { -45, 44, 0, 4, 0, 4 }, { -46, 45, 0, 4, 0, 4 }, { -47, 46, 0, 4, 0, 4 }, { -48, 47, 0, 4, 0, 4 }, + 80, { + { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 0, 0, 4 }, + { 26, 16, 0, 0, 0, 4 }, { 25, 16, 0, 0, 0, 4 }, { 24, 16, 0, 0, 0, 4 }, { 23, 16, 0, 0, 0, 4 }, { 22, 16, 0, 0, 0, 4 }, + { 21, 16, 0, 1, 0, 4 }, { 20, 16, 0, 1, 0, 4 }, { 19, 16, 0, 1, 0, 4 }, { 18, 16, 0, 1, 0, 4 }, { 17, 17, 0, 1, 0, 4 }, + { 16, 17, 0, 1, 0, 4 }, { 15, 17, 0, 1, 0, 4 }, { 14, 17, 0, 1, 0, 4 }, { 13, 17, 0, 1, 0, 4 }, { 12, 18, 0, 1, 0, 4 }, + { 11, 18, 0, 1, 0, 4 }, { 10, 18, 0, 1, 0, 4 }, { 9, 18, 0, 1, 0, 4 }, { 8, 18, 0, 1, 0, 4 }, { 7, 19, 0, 1, 0, 4 }, + { 6, 19, 0, 1, 0, 4 }, { 5, 19, 0, 1, 0, 4 }, { 4, 19, 0, 1, 0, 4 }, { 3, 19, 0, 1, 0, 4 }, { 2, 20, 0, 1, 0, 4 }, + { 1, 20, 0, 2, 0, 4 }, { 0, 20, 0, 2, 0, 4 }, { -1, 20, 0, 2, 0, 4 }, { -2, 21, 0, 2, 0, 4 }, { -3, 21, 0, 2, 0, 4 }, + { -4, 21, 0, 2, 0, 4 }, { -5, 21, 0, 2, 0, 4 }, { -6, 22, 0, 2, 0, 4 }, { -7, 22, 0, 2, 0, 4 }, { -8, 22, 0, 2, 0, 4 }, + { -9, 23, 0, 2, 0, 4 }, { -10, 23, 0, 2, 0, 4 }, { -11, 23, 0, 2, 0, 4 }, { -12, 24, 0, 2, 0, 4 }, { -13, 24, 0, 2, 0, 4 }, + { -14, 24, 0, 2, 0, 4 }, { -15, 25, 0, 2, 0, 4 }, { -16, 25, 0, 2, 0, 4 }, { -17, 26, 0, 2, 0, 4 }, { -18, 26, 0, 2, 0, 4 }, + { -19, 27, 0, 2, 0, 4 }, { -20, 27, 0, 3, 0, 4 }, { -21, 28, 0, 3, 0, 4 }, { -22, 28, 0, 3, 0, 4 }, { -23, 29, 0, 3, 0, 4 }, + { -24, 29, 0, 3, 0, 4 }, { -25, 30, 0, 3, 0, 4 }, { -26, 30, 0, 3, 0, 4 }, { -27, 31, 0, 3, 0, 4 }, { -28, 32, 0, 3, 0, 4 }, + { -29, 32, 0, 3, 0, 4 }, { -30, 33, 0, 3, 0, 4 }, { -31, 34, 0, 3, 0, 4 }, { -32, 34, 0, 3, 0, 4 }, { -33, 35, 0, 3, 0, 4 }, + { -34, 36, 0, 3, 0, 4 }, { -35, 36, 0, 3, 0, 4 }, { -36, 37, 0, 3, 0, 4 }, { -37, 38, 0, 3, 0, 4 }, { -38, 39, 0, 3, 0, 4 }, + { -39, 39, 0, 4, 0, 4 }, { -40, 40, 0, 4, 0, 4 }, { -41, 41, 0, 4, 0, 4 }, { -42, 42, 0, 4, 0, 4 }, { -43, 43, 0, 4, 0, 4 }, + { -44, 44, 0, 4, 0, 4 }, { -45, 44, 0, 4, 0, 4 }, { -46, 45, 0, 4, 0, 4 }, { -47, 46, 0, 4, 0, 4 }, { -48, 47, 0, 4, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_914F2F = { - 80, { - { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, - { 16, 5, 0, 8, 0, 4 }, { 16, 6, 0, 8, 0, 4 }, { 16, 7, 0, 8, 0, 4 }, { 16, 8, 0, 8, 0, 4 }, { 16, 9, 0, 8, 0, 4 }, - { 16, 10, 0, 8, 0, 4 }, { 16, 11, 0, 9, 0, 4 }, { 16, 12, 0, 9, 0, 4 }, { 16, 13, 0, 9, 0, 4 }, { 17, 14, 0, 9, 0, 4 }, - { 17, 15, 0, 9, 0, 4 }, { 17, 16, 0, 9, 0, 4 }, { 17, 17, 0, 9, 0, 4 }, { 17, 18, 0, 9, 0, 4 }, { 18, 19, 0, 9, 0, 4 }, - { 18, 20, 0, 9, 0, 4 }, { 18, 21, 0, 9, 0, 4 }, { 18, 22, 0, 9, 0, 4 }, { 18, 23, 0, 9, 0, 4 }, { 19, 24, 0, 9, 0, 4 }, - { 19, 25, 0, 9, 0, 4 }, { 19, 26, 0, 9, 0, 4 }, { 19, 27, 0, 9, 0, 4 }, { 19, 28, 0, 9, 0, 4 }, { 20, 29, 0, 9, 0, 4 }, - { 20, 30, 0, 9, 0, 4 }, { 20, 31, 0, 10, 0, 4 }, { 20, 32, 0, 10, 0, 4 }, { 21, 33, 0, 10, 0, 4 }, { 21, 34, 0, 10, 0, 4 }, - { 21, 35, 0, 10, 0, 4 }, { 21, 36, 0, 10, 0, 4 }, { 22, 37, 0, 10, 0, 4 }, { 22, 38, 0, 10, 0, 4 }, { 22, 39, 0, 10, 0, 4 }, - { 23, 40, 0, 10, 0, 4 }, { 23, 41, 0, 10, 0, 4 }, { 23, 42, 0, 10, 0, 4 }, { 24, 43, 0, 10, 0, 4 }, { 24, 44, 0, 10, 0, 4 }, - { 24, 45, 0, 10, 0, 4 }, { 25, 46, 0, 10, 0, 4 }, { 25, 47, 0, 10, 0, 4 }, { 26, 48, 0, 10, 0, 4 }, { 26, 49, 0, 10, 0, 4 }, - { 27, 50, 0, 10, 0, 4 }, { 27, 51, 0, 10, 0, 4 }, { 28, 52, 0, 11, 0, 4 }, { 28, 53, 0, 11, 0, 4 }, { 29, 54, 0, 11, 0, 4 }, - { 29, 55, 0, 11, 0, 4 }, { 30, 56, 0, 11, 0, 4 }, { 30, 57, 0, 11, 0, 4 }, { 31, 58, 0, 11, 0, 4 }, { 32, 59, 0, 11, 0, 4 }, - { 32, 60, 0, 11, 0, 4 }, { 33, 61, 0, 11, 0, 4 }, { 34, 62, 0, 11, 0, 4 }, { 34, 63, 0, 11, 0, 4 }, { 35, 64, 0, 11, 0, 4 }, - { 36, 65, 0, 11, 0, 4 }, { 36, 66, 0, 11, 0, 4 }, { 37, 67, 0, 11, 0, 4 }, { 38, 68, 0, 11, 0, 4 }, { 39, 69, 0, 11, 0, 4 }, - { 39, 70, 0, 11, 0, 4 }, { 40, 71, 0, 12, 0, 4 }, { 41, 72, 0, 12, 0, 4 }, { 42, 73, 0, 12, 0, 4 }, { 43, 74, 0, 12, 0, 4 }, - { 44, 75, 0, 12, 0, 4 }, { 44, 76, 0, 12, 0, 4 }, { 45, 77, 0, 12, 0, 4 }, { 46, 78, 0, 12, 0, 4 }, { 47, 79, 0, 12, 0, 4 }, + 80, { + { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, + { 16, 5, 0, 8, 0, 4 }, { 16, 6, 0, 8, 0, 4 }, { 16, 7, 0, 8, 0, 4 }, { 16, 8, 0, 8, 0, 4 }, { 16, 9, 0, 8, 0, 4 }, + { 16, 10, 0, 8, 0, 4 }, { 16, 11, 0, 9, 0, 4 }, { 16, 12, 0, 9, 0, 4 }, { 16, 13, 0, 9, 0, 4 }, { 17, 14, 0, 9, 0, 4 }, + { 17, 15, 0, 9, 0, 4 }, { 17, 16, 0, 9, 0, 4 }, { 17, 17, 0, 9, 0, 4 }, { 17, 18, 0, 9, 0, 4 }, { 18, 19, 0, 9, 0, 4 }, + { 18, 20, 0, 9, 0, 4 }, { 18, 21, 0, 9, 0, 4 }, { 18, 22, 0, 9, 0, 4 }, { 18, 23, 0, 9, 0, 4 }, { 19, 24, 0, 9, 0, 4 }, + { 19, 25, 0, 9, 0, 4 }, { 19, 26, 0, 9, 0, 4 }, { 19, 27, 0, 9, 0, 4 }, { 19, 28, 0, 9, 0, 4 }, { 20, 29, 0, 9, 0, 4 }, + { 20, 30, 0, 9, 0, 4 }, { 20, 31, 0, 10, 0, 4 }, { 20, 32, 0, 10, 0, 4 }, { 21, 33, 0, 10, 0, 4 }, { 21, 34, 0, 10, 0, 4 }, + { 21, 35, 0, 10, 0, 4 }, { 21, 36, 0, 10, 0, 4 }, { 22, 37, 0, 10, 0, 4 }, { 22, 38, 0, 10, 0, 4 }, { 22, 39, 0, 10, 0, 4 }, + { 23, 40, 0, 10, 0, 4 }, { 23, 41, 0, 10, 0, 4 }, { 23, 42, 0, 10, 0, 4 }, { 24, 43, 0, 10, 0, 4 }, { 24, 44, 0, 10, 0, 4 }, + { 24, 45, 0, 10, 0, 4 }, { 25, 46, 0, 10, 0, 4 }, { 25, 47, 0, 10, 0, 4 }, { 26, 48, 0, 10, 0, 4 }, { 26, 49, 0, 10, 0, 4 }, + { 27, 50, 0, 10, 0, 4 }, { 27, 51, 0, 10, 0, 4 }, { 28, 52, 0, 11, 0, 4 }, { 28, 53, 0, 11, 0, 4 }, { 29, 54, 0, 11, 0, 4 }, + { 29, 55, 0, 11, 0, 4 }, { 30, 56, 0, 11, 0, 4 }, { 30, 57, 0, 11, 0, 4 }, { 31, 58, 0, 11, 0, 4 }, { 32, 59, 0, 11, 0, 4 }, + { 32, 60, 0, 11, 0, 4 }, { 33, 61, 0, 11, 0, 4 }, { 34, 62, 0, 11, 0, 4 }, { 34, 63, 0, 11, 0, 4 }, { 35, 64, 0, 11, 0, 4 }, + { 36, 65, 0, 11, 0, 4 }, { 36, 66, 0, 11, 0, 4 }, { 37, 67, 0, 11, 0, 4 }, { 38, 68, 0, 11, 0, 4 }, { 39, 69, 0, 11, 0, 4 }, + { 39, 70, 0, 11, 0, 4 }, { 40, 71, 0, 12, 0, 4 }, { 41, 72, 0, 12, 0, 4 }, { 42, 73, 0, 12, 0, 4 }, { 43, 74, 0, 12, 0, 4 }, + { 44, 75, 0, 12, 0, 4 }, { 44, 76, 0, 12, 0, 4 }, { 45, 77, 0, 12, 0, 4 }, { 46, 78, 0, 12, 0, 4 }, { 47, 79, 0, 12, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_915201 = { - 80, { - { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, - { 5, 16, 0, 16, 0, 4 }, { 6, 16, 0, 16, 0, 4 }, { 7, 16, 0, 16, 0, 4 }, { 8, 16, 0, 16, 0, 4 }, { 9, 16, 0, 16, 0, 4 }, - { 10, 16, 0, 16, 0, 4 }, { 11, 16, 0, 17, 0, 4 }, { 12, 16, 0, 17, 0, 4 }, { 13, 15, 0, 17, 0, 4 }, { 14, 15, 0, 17, 0, 4 }, - { 15, 15, 0, 17, 0, 4 }, { 16, 15, 0, 17, 0, 4 }, { 17, 15, 0, 17, 0, 4 }, { 18, 14, 0, 17, 0, 4 }, { 19, 14, 0, 17, 0, 4 }, - { 20, 14, 0, 17, 0, 4 }, { 21, 14, 0, 17, 0, 4 }, { 22, 14, 0, 17, 0, 4 }, { 23, 13, 0, 17, 0, 4 }, { 24, 13, 0, 17, 0, 4 }, - { 25, 13, 0, 17, 0, 4 }, { 26, 13, 0, 17, 0, 4 }, { 27, 13, 0, 17, 0, 4 }, { 28, 12, 0, 17, 0, 4 }, { 29, 12, 0, 17, 0, 4 }, - { 30, 12, 0, 17, 0, 4 }, { 31, 12, 0, 18, 0, 4 }, { 32, 11, 0, 18, 0, 4 }, { 33, 11, 0, 18, 0, 4 }, { 34, 11, 0, 18, 0, 4 }, - { 35, 11, 0, 18, 0, 4 }, { 36, 10, 0, 18, 0, 4 }, { 37, 10, 0, 18, 0, 4 }, { 38, 10, 0, 18, 0, 4 }, { 39, 9, 0, 18, 0, 4 }, - { 40, 9, 0, 18, 0, 4 }, { 41, 9, 0, 18, 0, 4 }, { 42, 8, 0, 18, 0, 4 }, { 43, 8, 0, 18, 0, 4 }, { 44, 8, 0, 18, 0, 4 }, - { 45, 7, 0, 18, 0, 4 }, { 46, 7, 0, 18, 0, 4 }, { 47, 6, 0, 18, 0, 4 }, { 48, 6, 0, 18, 0, 4 }, { 49, 5, 0, 18, 0, 4 }, - { 50, 5, 0, 18, 0, 4 }, { 51, 4, 0, 18, 0, 4 }, { 52, 4, 0, 19, 0, 4 }, { 53, 3, 0, 19, 0, 4 }, { 54, 3, 0, 19, 0, 4 }, - { 55, 2, 0, 19, 0, 4 }, { 56, 2, 0, 19, 0, 4 }, { 57, 1, 0, 19, 0, 4 }, { 58, 0, 0, 19, 0, 4 }, { 59, 0, 0, 19, 0, 4 }, - { 60, -1, 0, 19, 0, 4 }, { 61, -2, 0, 19, 0, 4 }, { 62, -2, 0, 19, 0, 4 }, { 63, -3, 0, 19, 0, 4 }, { 64, -4, 0, 19, 0, 4 }, - { 65, -4, 0, 19, 0, 4 }, { 66, -5, 0, 19, 0, 4 }, { 67, -6, 0, 19, 0, 4 }, { 68, -7, 0, 19, 0, 4 }, { 69, -7, 0, 19, 0, 4 }, - { 70, -8, 0, 19, 0, 4 }, { 71, -9, 0, 20, 0, 4 }, { 72, -10, 0, 20, 0, 4 }, { 73, -11, 0, 20, 0, 4 }, { 74, -12, 0, 20, 0, 4 }, - { 75, -12, 0, 20, 0, 4 }, { 76, -13, 0, 20, 0, 4 }, { 77, -14, 0, 20, 0, 4 }, { 78, -15, 0, 20, 0, 4 }, { 79, -16, 0, 20, 0, 4 }, + 80, { + { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, + { 5, 16, 0, 16, 0, 4 }, { 6, 16, 0, 16, 0, 4 }, { 7, 16, 0, 16, 0, 4 }, { 8, 16, 0, 16, 0, 4 }, { 9, 16, 0, 16, 0, 4 }, + { 10, 16, 0, 16, 0, 4 }, { 11, 16, 0, 17, 0, 4 }, { 12, 16, 0, 17, 0, 4 }, { 13, 15, 0, 17, 0, 4 }, { 14, 15, 0, 17, 0, 4 }, + { 15, 15, 0, 17, 0, 4 }, { 16, 15, 0, 17, 0, 4 }, { 17, 15, 0, 17, 0, 4 }, { 18, 14, 0, 17, 0, 4 }, { 19, 14, 0, 17, 0, 4 }, + { 20, 14, 0, 17, 0, 4 }, { 21, 14, 0, 17, 0, 4 }, { 22, 14, 0, 17, 0, 4 }, { 23, 13, 0, 17, 0, 4 }, { 24, 13, 0, 17, 0, 4 }, + { 25, 13, 0, 17, 0, 4 }, { 26, 13, 0, 17, 0, 4 }, { 27, 13, 0, 17, 0, 4 }, { 28, 12, 0, 17, 0, 4 }, { 29, 12, 0, 17, 0, 4 }, + { 30, 12, 0, 17, 0, 4 }, { 31, 12, 0, 18, 0, 4 }, { 32, 11, 0, 18, 0, 4 }, { 33, 11, 0, 18, 0, 4 }, { 34, 11, 0, 18, 0, 4 }, + { 35, 11, 0, 18, 0, 4 }, { 36, 10, 0, 18, 0, 4 }, { 37, 10, 0, 18, 0, 4 }, { 38, 10, 0, 18, 0, 4 }, { 39, 9, 0, 18, 0, 4 }, + { 40, 9, 0, 18, 0, 4 }, { 41, 9, 0, 18, 0, 4 }, { 42, 8, 0, 18, 0, 4 }, { 43, 8, 0, 18, 0, 4 }, { 44, 8, 0, 18, 0, 4 }, + { 45, 7, 0, 18, 0, 4 }, { 46, 7, 0, 18, 0, 4 }, { 47, 6, 0, 18, 0, 4 }, { 48, 6, 0, 18, 0, 4 }, { 49, 5, 0, 18, 0, 4 }, + { 50, 5, 0, 18, 0, 4 }, { 51, 4, 0, 18, 0, 4 }, { 52, 4, 0, 19, 0, 4 }, { 53, 3, 0, 19, 0, 4 }, { 54, 3, 0, 19, 0, 4 }, + { 55, 2, 0, 19, 0, 4 }, { 56, 2, 0, 19, 0, 4 }, { 57, 1, 0, 19, 0, 4 }, { 58, 0, 0, 19, 0, 4 }, { 59, 0, 0, 19, 0, 4 }, + { 60, -1, 0, 19, 0, 4 }, { 61, -2, 0, 19, 0, 4 }, { 62, -2, 0, 19, 0, 4 }, { 63, -3, 0, 19, 0, 4 }, { 64, -4, 0, 19, 0, 4 }, + { 65, -4, 0, 19, 0, 4 }, { 66, -5, 0, 19, 0, 4 }, { 67, -6, 0, 19, 0, 4 }, { 68, -7, 0, 19, 0, 4 }, { 69, -7, 0, 19, 0, 4 }, + { 70, -8, 0, 19, 0, 4 }, { 71, -9, 0, 20, 0, 4 }, { 72, -10, 0, 20, 0, 4 }, { 73, -11, 0, 20, 0, 4 }, { 74, -12, 0, 20, 0, 4 }, + { 75, -12, 0, 20, 0, 4 }, { 76, -13, 0, 20, 0, 4 }, { 77, -14, 0, 20, 0, 4 }, { 78, -15, 0, 20, 0, 4 }, { 79, -16, 0, 20, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9154D3 = { - 80, { - { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 24, 0, 4 }, - { 16, 26, 0, 24, 0, 4 }, { 16, 25, 0, 24, 0, 4 }, { 16, 24, 0, 24, 0, 4 }, { 16, 23, 0, 24, 0, 4 }, { 16, 22, 0, 24, 0, 4 }, - { 16, 21, 0, 25, 0, 4 }, { 16, 20, 0, 25, 0, 4 }, { 16, 19, 0, 25, 0, 4 }, { 15, 18, 0, 25, 0, 4 }, { 15, 17, 0, 25, 0, 4 }, - { 15, 16, 0, 25, 0, 4 }, { 15, 15, 0, 25, 0, 4 }, { 15, 14, 0, 25, 0, 4 }, { 14, 13, 0, 25, 0, 4 }, { 14, 12, 0, 25, 0, 4 }, - { 14, 11, 0, 25, 0, 4 }, { 14, 10, 0, 25, 0, 4 }, { 14, 9, 0, 25, 0, 4 }, { 13, 8, 0, 25, 0, 4 }, { 13, 7, 0, 25, 0, 4 }, - { 13, 6, 0, 25, 0, 4 }, { 13, 5, 0, 25, 0, 4 }, { 13, 4, 0, 25, 0, 4 }, { 12, 3, 0, 25, 0, 4 }, { 12, 2, 0, 25, 0, 4 }, - { 12, 1, 0, 26, 0, 4 }, { 12, 0, 0, 26, 0, 4 }, { 11, -1, 0, 26, 0, 4 }, { 11, -2, 0, 26, 0, 4 }, { 11, -3, 0, 26, 0, 4 }, - { 11, -4, 0, 26, 0, 4 }, { 10, -5, 0, 26, 0, 4 }, { 10, -6, 0, 26, 0, 4 }, { 10, -7, 0, 26, 0, 4 }, { 9, -8, 0, 26, 0, 4 }, - { 9, -9, 0, 26, 0, 4 }, { 9, -10, 0, 26, 0, 4 }, { 8, -11, 0, 26, 0, 4 }, { 8, -12, 0, 26, 0, 4 }, { 8, -13, 0, 26, 0, 4 }, - { 7, -14, 0, 26, 0, 4 }, { 7, -15, 0, 26, 0, 4 }, { 6, -16, 0, 26, 0, 4 }, { 6, -17, 0, 26, 0, 4 }, { 5, -18, 0, 26, 0, 4 }, - { 5, -19, 0, 26, 0, 4 }, { 4, -20, 0, 27, 0, 4 }, { 4, -21, 0, 27, 0, 4 }, { 3, -22, 0, 27, 0, 4 }, { 3, -23, 0, 27, 0, 4 }, - { 2, -24, 0, 27, 0, 4 }, { 2, -25, 0, 27, 0, 4 }, { 1, -26, 0, 27, 0, 4 }, { 0, -27, 0, 27, 0, 4 }, { 0, -28, 0, 27, 0, 4 }, - { -1, -29, 0, 27, 0, 4 }, { -2, -30, 0, 27, 0, 4 }, { -2, -31, 0, 27, 0, 4 }, { -3, -32, 0, 27, 0, 4 }, { -4, -33, 0, 27, 0, 4 }, - { -4, -34, 0, 27, 0, 4 }, { -5, -35, 0, 27, 0, 4 }, { -6, -36, 0, 27, 0, 4 }, { -7, -37, 0, 27, 0, 4 }, { -7, -38, 0, 27, 0, 4 }, - { -8, -39, 0, 28, 0, 4 }, { -9, -40, 0, 28, 0, 4 }, { -10, -41, 0, 28, 0, 4 }, { -11, -42, 0, 28, 0, 4 }, { -12, -43, 0, 28, 0, 4 }, - { -12, -44, 0, 28, 0, 4 }, { -13, -45, 0, 28, 0, 4 }, { -14, -46, 0, 28, 0, 4 }, { -15, -47, 0, 28, 0, 4 }, { -16, -48, 0, 28, 0, 4 }, + 80, { + { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 24, 0, 4 }, + { 16, 26, 0, 24, 0, 4 }, { 16, 25, 0, 24, 0, 4 }, { 16, 24, 0, 24, 0, 4 }, { 16, 23, 0, 24, 0, 4 }, { 16, 22, 0, 24, 0, 4 }, + { 16, 21, 0, 25, 0, 4 }, { 16, 20, 0, 25, 0, 4 }, { 16, 19, 0, 25, 0, 4 }, { 15, 18, 0, 25, 0, 4 }, { 15, 17, 0, 25, 0, 4 }, + { 15, 16, 0, 25, 0, 4 }, { 15, 15, 0, 25, 0, 4 }, { 15, 14, 0, 25, 0, 4 }, { 14, 13, 0, 25, 0, 4 }, { 14, 12, 0, 25, 0, 4 }, + { 14, 11, 0, 25, 0, 4 }, { 14, 10, 0, 25, 0, 4 }, { 14, 9, 0, 25, 0, 4 }, { 13, 8, 0, 25, 0, 4 }, { 13, 7, 0, 25, 0, 4 }, + { 13, 6, 0, 25, 0, 4 }, { 13, 5, 0, 25, 0, 4 }, { 13, 4, 0, 25, 0, 4 }, { 12, 3, 0, 25, 0, 4 }, { 12, 2, 0, 25, 0, 4 }, + { 12, 1, 0, 26, 0, 4 }, { 12, 0, 0, 26, 0, 4 }, { 11, -1, 0, 26, 0, 4 }, { 11, -2, 0, 26, 0, 4 }, { 11, -3, 0, 26, 0, 4 }, + { 11, -4, 0, 26, 0, 4 }, { 10, -5, 0, 26, 0, 4 }, { 10, -6, 0, 26, 0, 4 }, { 10, -7, 0, 26, 0, 4 }, { 9, -8, 0, 26, 0, 4 }, + { 9, -9, 0, 26, 0, 4 }, { 9, -10, 0, 26, 0, 4 }, { 8, -11, 0, 26, 0, 4 }, { 8, -12, 0, 26, 0, 4 }, { 8, -13, 0, 26, 0, 4 }, + { 7, -14, 0, 26, 0, 4 }, { 7, -15, 0, 26, 0, 4 }, { 6, -16, 0, 26, 0, 4 }, { 6, -17, 0, 26, 0, 4 }, { 5, -18, 0, 26, 0, 4 }, + { 5, -19, 0, 26, 0, 4 }, { 4, -20, 0, 27, 0, 4 }, { 4, -21, 0, 27, 0, 4 }, { 3, -22, 0, 27, 0, 4 }, { 3, -23, 0, 27, 0, 4 }, + { 2, -24, 0, 27, 0, 4 }, { 2, -25, 0, 27, 0, 4 }, { 1, -26, 0, 27, 0, 4 }, { 0, -27, 0, 27, 0, 4 }, { 0, -28, 0, 27, 0, 4 }, + { -1, -29, 0, 27, 0, 4 }, { -2, -30, 0, 27, 0, 4 }, { -2, -31, 0, 27, 0, 4 }, { -3, -32, 0, 27, 0, 4 }, { -4, -33, 0, 27, 0, 4 }, + { -4, -34, 0, 27, 0, 4 }, { -5, -35, 0, 27, 0, 4 }, { -6, -36, 0, 27, 0, 4 }, { -7, -37, 0, 27, 0, 4 }, { -7, -38, 0, 27, 0, 4 }, + { -8, -39, 0, 28, 0, 4 }, { -9, -40, 0, 28, 0, 4 }, { -10, -41, 0, 28, 0, 4 }, { -11, -42, 0, 28, 0, 4 }, { -12, -43, 0, 28, 0, 4 }, + { -12, -44, 0, 28, 0, 4 }, { -13, -45, 0, 28, 0, 4 }, { -14, -46, 0, 28, 0, 4 }, { -15, -47, 0, 28, 0, 4 }, { -16, -48, 0, 28, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91411E = { - 79, { - { 15, 17, 0, 4, 0, 2 }, { 14, 18, 0, 4, 0, 2 }, { 13, 19, 0, 4, 0, 2 }, { 12, 20, 0, 4, 0, 2 }, { 11, 20, 0, 4, 0, 2 }, - { 10, 21, 0, 4, 0, 2 }, { 9, 22, 0, 4, 0, 2 }, { 8, 23, 0, 4, 0, 2 }, { 7, 24, 0, 3, 0, 2 }, { 6, 25, 0, 3, 0, 2 }, - { 5, 25, 0, 3, 0, 2 }, { 4, 26, 0, 3, 0, 2 }, { 3, 27, 0, 3, 0, 2 }, { 2, 28, 0, 3, 0, 2 }, { 1, 28, 0, 3, 0, 2 }, - { 0, 29, 0, 3, 0, 2 }, { -1, 30, 0, 3, 0, 2 }, { -2, 30, 0, 3, 0, 2 }, { -3, 31, 0, 3, 0, 2 }, { -4, 32, 0, 3, 0, 2 }, - { -5, 32, 0, 3, 0, 2 }, { -6, 33, 0, 3, 0, 2 }, { -7, 34, 0, 3, 0, 2 }, { -8, 34, 0, 3, 0, 2 }, { -9, 35, 0, 3, 0, 2 }, - { -10, 35, 0, 3, 0, 2 }, { -11, 36, 0, 2, 0, 2 }, { -12, 36, 0, 2, 0, 2 }, { -13, 37, 0, 2, 0, 2 }, { -14, 37, 0, 2, 0, 2 }, - { -15, 38, 0, 2, 0, 2 }, { -16, 38, 0, 2, 0, 2 }, { -17, 39, 0, 2, 0, 2 }, { -18, 39, 0, 2, 0, 2 }, { -19, 40, 0, 2, 0, 2 }, - { -20, 40, 0, 2, 0, 2 }, { -21, 40, 0, 2, 0, 2 }, { -22, 41, 0, 2, 0, 2 }, { -23, 41, 0, 2, 0, 2 }, { -24, 41, 0, 2, 0, 2 }, - { -25, 42, 0, 2, 0, 2 }, { -26, 42, 0, 2, 0, 2 }, { -27, 42, 0, 2, 0, 2 }, { -28, 43, 0, 2, 0, 2 }, { -29, 43, 0, 2, 0, 2 }, - { -30, 43, 0, 2, 0, 2 }, { -31, 43, 0, 1, 0, 2 }, { -32, 44, 0, 1, 0, 2 }, { -33, 44, 0, 1, 0, 2 }, { -34, 44, 0, 1, 0, 2 }, - { -35, 44, 0, 1, 0, 2 }, { -36, 45, 0, 1, 0, 2 }, { -37, 45, 0, 1, 0, 2 }, { -38, 45, 0, 1, 0, 2 }, { -39, 45, 0, 1, 0, 2 }, - { -40, 45, 0, 1, 0, 2 }, { -41, 46, 0, 1, 0, 2 }, { -42, 46, 0, 1, 0, 2 }, { -43, 46, 0, 1, 0, 2 }, { -44, 46, 0, 1, 0, 2 }, - { -45, 46, 0, 1, 0, 2 }, { -46, 47, 0, 1, 0, 2 }, { -47, 47, 0, 1, 0, 2 }, { -48, 47, 0, 1, 0, 2 }, { -49, 47, 0, 1, 0, 2 }, - { -50, 47, 0, 1, 0, 2 }, { -51, 48, 0, 0, 0, 2 }, { -52, 48, 0, 0, 0, 2 }, { -53, 48, 0, 0, 0, 2 }, { -54, 48, 0, 0, 0, 2 }, - { -55, 48, 0, 0, 0, 2 }, { -56, 48, 0, 0, 0, 2 }, { -57, 48, 0, 0, 0, 2 }, { -58, 48, 0, 0, 0, 2 }, { -59, 48, 0, 0, 0, 2 }, - { -60, 48, 0, 0, 0, 2 }, { -61, 48, 0, 0, 0, 2 }, { -62, 48, 0, 0, 0, 2 }, { -63, 48, 0, 0, 0, 2 }, + 79, { + { 15, 17, 0, 4, 0, 2 }, { 14, 18, 0, 4, 0, 2 }, { 13, 19, 0, 4, 0, 2 }, { 12, 20, 0, 4, 0, 2 }, { 11, 20, 0, 4, 0, 2 }, + { 10, 21, 0, 4, 0, 2 }, { 9, 22, 0, 4, 0, 2 }, { 8, 23, 0, 4, 0, 2 }, { 7, 24, 0, 3, 0, 2 }, { 6, 25, 0, 3, 0, 2 }, + { 5, 25, 0, 3, 0, 2 }, { 4, 26, 0, 3, 0, 2 }, { 3, 27, 0, 3, 0, 2 }, { 2, 28, 0, 3, 0, 2 }, { 1, 28, 0, 3, 0, 2 }, + { 0, 29, 0, 3, 0, 2 }, { -1, 30, 0, 3, 0, 2 }, { -2, 30, 0, 3, 0, 2 }, { -3, 31, 0, 3, 0, 2 }, { -4, 32, 0, 3, 0, 2 }, + { -5, 32, 0, 3, 0, 2 }, { -6, 33, 0, 3, 0, 2 }, { -7, 34, 0, 3, 0, 2 }, { -8, 34, 0, 3, 0, 2 }, { -9, 35, 0, 3, 0, 2 }, + { -10, 35, 0, 3, 0, 2 }, { -11, 36, 0, 2, 0, 2 }, { -12, 36, 0, 2, 0, 2 }, { -13, 37, 0, 2, 0, 2 }, { -14, 37, 0, 2, 0, 2 }, + { -15, 38, 0, 2, 0, 2 }, { -16, 38, 0, 2, 0, 2 }, { -17, 39, 0, 2, 0, 2 }, { -18, 39, 0, 2, 0, 2 }, { -19, 40, 0, 2, 0, 2 }, + { -20, 40, 0, 2, 0, 2 }, { -21, 40, 0, 2, 0, 2 }, { -22, 41, 0, 2, 0, 2 }, { -23, 41, 0, 2, 0, 2 }, { -24, 41, 0, 2, 0, 2 }, + { -25, 42, 0, 2, 0, 2 }, { -26, 42, 0, 2, 0, 2 }, { -27, 42, 0, 2, 0, 2 }, { -28, 43, 0, 2, 0, 2 }, { -29, 43, 0, 2, 0, 2 }, + { -30, 43, 0, 2, 0, 2 }, { -31, 43, 0, 1, 0, 2 }, { -32, 44, 0, 1, 0, 2 }, { -33, 44, 0, 1, 0, 2 }, { -34, 44, 0, 1, 0, 2 }, + { -35, 44, 0, 1, 0, 2 }, { -36, 45, 0, 1, 0, 2 }, { -37, 45, 0, 1, 0, 2 }, { -38, 45, 0, 1, 0, 2 }, { -39, 45, 0, 1, 0, 2 }, + { -40, 45, 0, 1, 0, 2 }, { -41, 46, 0, 1, 0, 2 }, { -42, 46, 0, 1, 0, 2 }, { -43, 46, 0, 1, 0, 2 }, { -44, 46, 0, 1, 0, 2 }, + { -45, 46, 0, 1, 0, 2 }, { -46, 47, 0, 1, 0, 2 }, { -47, 47, 0, 1, 0, 2 }, { -48, 47, 0, 1, 0, 2 }, { -49, 47, 0, 1, 0, 2 }, + { -50, 47, 0, 1, 0, 2 }, { -51, 48, 0, 0, 0, 2 }, { -52, 48, 0, 0, 0, 2 }, { -53, 48, 0, 0, 0, 2 }, { -54, 48, 0, 0, 0, 2 }, + { -55, 48, 0, 0, 0, 2 }, { -56, 48, 0, 0, 0, 2 }, { -57, 48, 0, 0, 0, 2 }, { -58, 48, 0, 0, 0, 2 }, { -59, 48, 0, 0, 0, 2 }, + { -60, 48, 0, 0, 0, 2 }, { -61, 48, 0, 0, 0, 2 }, { -62, 48, 0, 0, 0, 2 }, { -63, 48, 0, 0, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9143E7 = { - 80, { - { 16, 16, 0, 12, 0, 2 }, { 17, 17, 0, 12, 0, 2 }, { 18, 18, 0, 12, 0, 2 }, { 19, 19, 0, 12, 0, 2 }, { 20, 20, 0, 12, 0, 2 }, - { 20, 21, 0, 12, 0, 2 }, { 21, 22, 0, 12, 0, 2 }, { 22, 23, 0, 12, 0, 2 }, { 23, 24, 0, 12, 0, 2 }, { 24, 25, 0, 11, 0, 2 }, - { 25, 26, 0, 11, 0, 2 }, { 25, 27, 0, 11, 0, 2 }, { 26, 28, 0, 11, 0, 2 }, { 27, 29, 0, 11, 0, 2 }, { 28, 30, 0, 11, 0, 2 }, - { 28, 31, 0, 11, 0, 2 }, { 29, 32, 0, 11, 0, 2 }, { 30, 33, 0, 11, 0, 2 }, { 30, 34, 0, 11, 0, 2 }, { 31, 35, 0, 11, 0, 2 }, - { 32, 36, 0, 11, 0, 2 }, { 32, 37, 0, 11, 0, 2 }, { 33, 38, 0, 11, 0, 2 }, { 34, 39, 0, 11, 0, 2 }, { 34, 40, 0, 11, 0, 2 }, - { 35, 41, 0, 11, 0, 2 }, { 35, 42, 0, 11, 0, 2 }, { 36, 43, 0, 10, 0, 2 }, { 36, 44, 0, 10, 0, 2 }, { 37, 45, 0, 10, 0, 2 }, - { 37, 46, 0, 10, 0, 2 }, { 38, 47, 0, 10, 0, 2 }, { 38, 48, 0, 10, 0, 2 }, { 39, 49, 0, 10, 0, 2 }, { 39, 50, 0, 10, 0, 2 }, - { 40, 51, 0, 10, 0, 2 }, { 40, 52, 0, 10, 0, 2 }, { 40, 53, 0, 10, 0, 2 }, { 41, 54, 0, 10, 0, 2 }, { 41, 55, 0, 10, 0, 2 }, - { 41, 56, 0, 10, 0, 2 }, { 42, 57, 0, 10, 0, 2 }, { 42, 58, 0, 10, 0, 2 }, { 42, 59, 0, 10, 0, 2 }, { 43, 60, 0, 10, 0, 2 }, - { 43, 61, 0, 10, 0, 2 }, { 43, 62, 0, 10, 0, 2 }, { 43, 63, 0, 9, 0, 2 }, { 44, 64, 0, 9, 0, 2 }, { 44, 65, 0, 9, 0, 2 }, - { 44, 66, 0, 9, 0, 2 }, { 44, 67, 0, 9, 0, 2 }, { 45, 68, 0, 9, 0, 2 }, { 45, 69, 0, 9, 0, 2 }, { 45, 70, 0, 9, 0, 2 }, - { 45, 71, 0, 9, 0, 2 }, { 45, 72, 0, 9, 0, 2 }, { 46, 73, 0, 9, 0, 2 }, { 46, 74, 0, 9, 0, 2 }, { 46, 75, 0, 9, 0, 2 }, - { 46, 76, 0, 9, 0, 2 }, { 46, 77, 0, 9, 0, 2 }, { 47, 78, 0, 9, 0, 2 }, { 47, 79, 0, 9, 0, 2 }, { 47, 80, 0, 9, 0, 2 }, - { 47, 81, 0, 9, 0, 2 }, { 47, 82, 0, 9, 0, 2 }, { 48, 83, 0, 8, 0, 2 }, { 48, 84, 0, 8, 0, 2 }, { 48, 85, 0, 8, 0, 2 }, - { 48, 86, 0, 8, 0, 2 }, { 48, 87, 0, 8, 0, 2 }, { 48, 88, 0, 8, 0, 2 }, { 48, 89, 0, 8, 0, 2 }, { 48, 90, 0, 8, 0, 2 }, - { 48, 91, 0, 8, 0, 2 }, { 48, 92, 0, 8, 0, 2 }, { 48, 93, 0, 8, 0, 2 }, { 48, 94, 0, 8, 0, 2 }, { 48, 95, 0, 8, 0, 2 }, + 80, { + { 16, 16, 0, 12, 0, 2 }, { 17, 17, 0, 12, 0, 2 }, { 18, 18, 0, 12, 0, 2 }, { 19, 19, 0, 12, 0, 2 }, { 20, 20, 0, 12, 0, 2 }, + { 20, 21, 0, 12, 0, 2 }, { 21, 22, 0, 12, 0, 2 }, { 22, 23, 0, 12, 0, 2 }, { 23, 24, 0, 12, 0, 2 }, { 24, 25, 0, 11, 0, 2 }, + { 25, 26, 0, 11, 0, 2 }, { 25, 27, 0, 11, 0, 2 }, { 26, 28, 0, 11, 0, 2 }, { 27, 29, 0, 11, 0, 2 }, { 28, 30, 0, 11, 0, 2 }, + { 28, 31, 0, 11, 0, 2 }, { 29, 32, 0, 11, 0, 2 }, { 30, 33, 0, 11, 0, 2 }, { 30, 34, 0, 11, 0, 2 }, { 31, 35, 0, 11, 0, 2 }, + { 32, 36, 0, 11, 0, 2 }, { 32, 37, 0, 11, 0, 2 }, { 33, 38, 0, 11, 0, 2 }, { 34, 39, 0, 11, 0, 2 }, { 34, 40, 0, 11, 0, 2 }, + { 35, 41, 0, 11, 0, 2 }, { 35, 42, 0, 11, 0, 2 }, { 36, 43, 0, 10, 0, 2 }, { 36, 44, 0, 10, 0, 2 }, { 37, 45, 0, 10, 0, 2 }, + { 37, 46, 0, 10, 0, 2 }, { 38, 47, 0, 10, 0, 2 }, { 38, 48, 0, 10, 0, 2 }, { 39, 49, 0, 10, 0, 2 }, { 39, 50, 0, 10, 0, 2 }, + { 40, 51, 0, 10, 0, 2 }, { 40, 52, 0, 10, 0, 2 }, { 40, 53, 0, 10, 0, 2 }, { 41, 54, 0, 10, 0, 2 }, { 41, 55, 0, 10, 0, 2 }, + { 41, 56, 0, 10, 0, 2 }, { 42, 57, 0, 10, 0, 2 }, { 42, 58, 0, 10, 0, 2 }, { 42, 59, 0, 10, 0, 2 }, { 43, 60, 0, 10, 0, 2 }, + { 43, 61, 0, 10, 0, 2 }, { 43, 62, 0, 10, 0, 2 }, { 43, 63, 0, 9, 0, 2 }, { 44, 64, 0, 9, 0, 2 }, { 44, 65, 0, 9, 0, 2 }, + { 44, 66, 0, 9, 0, 2 }, { 44, 67, 0, 9, 0, 2 }, { 45, 68, 0, 9, 0, 2 }, { 45, 69, 0, 9, 0, 2 }, { 45, 70, 0, 9, 0, 2 }, + { 45, 71, 0, 9, 0, 2 }, { 45, 72, 0, 9, 0, 2 }, { 46, 73, 0, 9, 0, 2 }, { 46, 74, 0, 9, 0, 2 }, { 46, 75, 0, 9, 0, 2 }, + { 46, 76, 0, 9, 0, 2 }, { 46, 77, 0, 9, 0, 2 }, { 47, 78, 0, 9, 0, 2 }, { 47, 79, 0, 9, 0, 2 }, { 47, 80, 0, 9, 0, 2 }, + { 47, 81, 0, 9, 0, 2 }, { 47, 82, 0, 9, 0, 2 }, { 48, 83, 0, 8, 0, 2 }, { 48, 84, 0, 8, 0, 2 }, { 48, 85, 0, 8, 0, 2 }, + { 48, 86, 0, 8, 0, 2 }, { 48, 87, 0, 8, 0, 2 }, { 48, 88, 0, 8, 0, 2 }, { 48, 89, 0, 8, 0, 2 }, { 48, 90, 0, 8, 0, 2 }, + { 48, 91, 0, 8, 0, 2 }, { 48, 92, 0, 8, 0, 2 }, { 48, 93, 0, 8, 0, 2 }, { 48, 94, 0, 8, 0, 2 }, { 48, 95, 0, 8, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9146B9 = { - 80, { - { 16, 15, 0, 20, 0, 2 }, { 17, 14, 0, 20, 0, 2 }, { 18, 13, 0, 20, 0, 2 }, { 19, 12, 0, 20, 0, 2 }, { 20, 12, 0, 20, 0, 2 }, - { 21, 11, 0, 20, 0, 2 }, { 22, 10, 0, 20, 0, 2 }, { 23, 9, 0, 20, 0, 2 }, { 24, 8, 0, 19, 0, 2 }, { 25, 7, 0, 19, 0, 2 }, - { 26, 7, 0, 19, 0, 2 }, { 27, 6, 0, 19, 0, 2 }, { 28, 5, 0, 19, 0, 2 }, { 29, 4, 0, 19, 0, 2 }, { 30, 4, 0, 19, 0, 2 }, - { 31, 3, 0, 19, 0, 2 }, { 32, 2, 0, 19, 0, 2 }, { 33, 2, 0, 19, 0, 2 }, { 34, 1, 0, 19, 0, 2 }, { 35, 0, 0, 19, 0, 2 }, - { 36, 0, 0, 19, 0, 2 }, { 37, -1, 0, 19, 0, 2 }, { 38, -2, 0, 19, 0, 2 }, { 39, -2, 0, 19, 0, 2 }, { 40, -3, 0, 19, 0, 2 }, - { 41, -3, 0, 19, 0, 2 }, { 42, -4, 0, 18, 0, 2 }, { 43, -4, 0, 18, 0, 2 }, { 44, -5, 0, 18, 0, 2 }, { 45, -5, 0, 18, 0, 2 }, - { 46, -6, 0, 18, 0, 2 }, { 47, -6, 0, 18, 0, 2 }, { 48, -7, 0, 18, 0, 2 }, { 49, -7, 0, 18, 0, 2 }, { 50, -8, 0, 18, 0, 2 }, - { 51, -8, 0, 18, 0, 2 }, { 52, -8, 0, 18, 0, 2 }, { 53, -9, 0, 18, 0, 2 }, { 54, -9, 0, 18, 0, 2 }, { 55, -9, 0, 18, 0, 2 }, - { 56, -10, 0, 18, 0, 2 }, { 57, -10, 0, 18, 0, 2 }, { 58, -10, 0, 18, 0, 2 }, { 59, -11, 0, 18, 0, 2 }, { 60, -11, 0, 18, 0, 2 }, - { 61, -11, 0, 18, 0, 2 }, { 62, -11, 0, 17, 0, 2 }, { 63, -12, 0, 17, 0, 2 }, { 64, -12, 0, 17, 0, 2 }, { 65, -12, 0, 17, 0, 2 }, - { 66, -12, 0, 17, 0, 2 }, { 67, -13, 0, 17, 0, 2 }, { 68, -13, 0, 17, 0, 2 }, { 69, -13, 0, 17, 0, 2 }, { 70, -13, 0, 17, 0, 2 }, - { 71, -13, 0, 17, 0, 2 }, { 72, -14, 0, 17, 0, 2 }, { 73, -14, 0, 17, 0, 2 }, { 74, -14, 0, 17, 0, 2 }, { 75, -14, 0, 17, 0, 2 }, - { 76, -14, 0, 17, 0, 2 }, { 77, -15, 0, 17, 0, 2 }, { 78, -15, 0, 17, 0, 2 }, { 79, -15, 0, 17, 0, 2 }, { 80, -15, 0, 17, 0, 2 }, - { 81, -15, 0, 17, 0, 2 }, { 82, -16, 0, 16, 0, 2 }, { 83, -16, 0, 16, 0, 2 }, { 84, -16, 0, 16, 0, 2 }, { 85, -16, 0, 16, 0, 2 }, - { 86, -16, 0, 16, 0, 2 }, { 87, -16, 0, 16, 0, 2 }, { 88, -16, 0, 16, 0, 2 }, { 89, -16, 0, 16, 0, 2 }, { 90, -16, 0, 16, 0, 2 }, - { 91, -16, 0, 16, 0, 2 }, { 92, -16, 0, 16, 0, 2 }, { 93, -16, 0, 16, 0, 2 }, { 94, -16, 0, 16, 0, 2 }, { 95, -16, 0, 16, 0, 2 }, + 80, { + { 16, 15, 0, 20, 0, 2 }, { 17, 14, 0, 20, 0, 2 }, { 18, 13, 0, 20, 0, 2 }, { 19, 12, 0, 20, 0, 2 }, { 20, 12, 0, 20, 0, 2 }, + { 21, 11, 0, 20, 0, 2 }, { 22, 10, 0, 20, 0, 2 }, { 23, 9, 0, 20, 0, 2 }, { 24, 8, 0, 19, 0, 2 }, { 25, 7, 0, 19, 0, 2 }, + { 26, 7, 0, 19, 0, 2 }, { 27, 6, 0, 19, 0, 2 }, { 28, 5, 0, 19, 0, 2 }, { 29, 4, 0, 19, 0, 2 }, { 30, 4, 0, 19, 0, 2 }, + { 31, 3, 0, 19, 0, 2 }, { 32, 2, 0, 19, 0, 2 }, { 33, 2, 0, 19, 0, 2 }, { 34, 1, 0, 19, 0, 2 }, { 35, 0, 0, 19, 0, 2 }, + { 36, 0, 0, 19, 0, 2 }, { 37, -1, 0, 19, 0, 2 }, { 38, -2, 0, 19, 0, 2 }, { 39, -2, 0, 19, 0, 2 }, { 40, -3, 0, 19, 0, 2 }, + { 41, -3, 0, 19, 0, 2 }, { 42, -4, 0, 18, 0, 2 }, { 43, -4, 0, 18, 0, 2 }, { 44, -5, 0, 18, 0, 2 }, { 45, -5, 0, 18, 0, 2 }, + { 46, -6, 0, 18, 0, 2 }, { 47, -6, 0, 18, 0, 2 }, { 48, -7, 0, 18, 0, 2 }, { 49, -7, 0, 18, 0, 2 }, { 50, -8, 0, 18, 0, 2 }, + { 51, -8, 0, 18, 0, 2 }, { 52, -8, 0, 18, 0, 2 }, { 53, -9, 0, 18, 0, 2 }, { 54, -9, 0, 18, 0, 2 }, { 55, -9, 0, 18, 0, 2 }, + { 56, -10, 0, 18, 0, 2 }, { 57, -10, 0, 18, 0, 2 }, { 58, -10, 0, 18, 0, 2 }, { 59, -11, 0, 18, 0, 2 }, { 60, -11, 0, 18, 0, 2 }, + { 61, -11, 0, 18, 0, 2 }, { 62, -11, 0, 17, 0, 2 }, { 63, -12, 0, 17, 0, 2 }, { 64, -12, 0, 17, 0, 2 }, { 65, -12, 0, 17, 0, 2 }, + { 66, -12, 0, 17, 0, 2 }, { 67, -13, 0, 17, 0, 2 }, { 68, -13, 0, 17, 0, 2 }, { 69, -13, 0, 17, 0, 2 }, { 70, -13, 0, 17, 0, 2 }, + { 71, -13, 0, 17, 0, 2 }, { 72, -14, 0, 17, 0, 2 }, { 73, -14, 0, 17, 0, 2 }, { 74, -14, 0, 17, 0, 2 }, { 75, -14, 0, 17, 0, 2 }, + { 76, -14, 0, 17, 0, 2 }, { 77, -15, 0, 17, 0, 2 }, { 78, -15, 0, 17, 0, 2 }, { 79, -15, 0, 17, 0, 2 }, { 80, -15, 0, 17, 0, 2 }, + { 81, -15, 0, 17, 0, 2 }, { 82, -16, 0, 16, 0, 2 }, { 83, -16, 0, 16, 0, 2 }, { 84, -16, 0, 16, 0, 2 }, { 85, -16, 0, 16, 0, 2 }, + { 86, -16, 0, 16, 0, 2 }, { 87, -16, 0, 16, 0, 2 }, { 88, -16, 0, 16, 0, 2 }, { 89, -16, 0, 16, 0, 2 }, { 90, -16, 0, 16, 0, 2 }, + { 91, -16, 0, 16, 0, 2 }, { 92, -16, 0, 16, 0, 2 }, { 93, -16, 0, 16, 0, 2 }, { 94, -16, 0, 16, 0, 2 }, { 95, -16, 0, 16, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91498B = { - 80, { - { 15, 15, 0, 28, 0, 2 }, { 14, 14, 0, 28, 0, 2 }, { 13, 13, 0, 28, 0, 2 }, { 12, 12, 0, 28, 0, 2 }, { 12, 11, 0, 28, 0, 2 }, - { 11, 10, 0, 28, 0, 2 }, { 10, 9, 0, 28, 0, 2 }, { 9, 8, 0, 28, 0, 2 }, { 8, 7, 0, 27, 0, 2 }, { 7, 6, 0, 27, 0, 2 }, - { 7, 5, 0, 27, 0, 2 }, { 6, 4, 0, 27, 0, 2 }, { 5, 3, 0, 27, 0, 2 }, { 4, 2, 0, 27, 0, 2 }, { 4, 1, 0, 27, 0, 2 }, - { 3, 0, 0, 27, 0, 2 }, { 2, -1, 0, 27, 0, 2 }, { 2, -2, 0, 27, 0, 2 }, { 1, -3, 0, 27, 0, 2 }, { 0, -4, 0, 27, 0, 2 }, - { 0, -5, 0, 27, 0, 2 }, { -1, -6, 0, 27, 0, 2 }, { -2, -7, 0, 27, 0, 2 }, { -2, -8, 0, 27, 0, 2 }, { -3, -9, 0, 27, 0, 2 }, - { -3, -10, 0, 27, 0, 2 }, { -4, -11, 0, 26, 0, 2 }, { -4, -12, 0, 26, 0, 2 }, { -5, -13, 0, 26, 0, 2 }, { -5, -14, 0, 26, 0, 2 }, - { -6, -15, 0, 26, 0, 2 }, { -6, -16, 0, 26, 0, 2 }, { -7, -17, 0, 26, 0, 2 }, { -7, -18, 0, 26, 0, 2 }, { -8, -19, 0, 26, 0, 2 }, - { -8, -20, 0, 26, 0, 2 }, { -8, -21, 0, 26, 0, 2 }, { -9, -22, 0, 26, 0, 2 }, { -9, -23, 0, 26, 0, 2 }, { -9, -24, 0, 26, 0, 2 }, - { -10, -25, 0, 26, 0, 2 }, { -10, -26, 0, 26, 0, 2 }, { -10, -27, 0, 26, 0, 2 }, { -11, -28, 0, 26, 0, 2 }, { -11, -29, 0, 26, 0, 2 }, - { -11, -30, 0, 26, 0, 2 }, { -11, -31, 0, 25, 0, 2 }, { -12, -32, 0, 25, 0, 2 }, { -12, -33, 0, 25, 0, 2 }, { -12, -34, 0, 25, 0, 2 }, - { -12, -35, 0, 25, 0, 2 }, { -13, -36, 0, 25, 0, 2 }, { -13, -37, 0, 25, 0, 2 }, { -13, -38, 0, 25, 0, 2 }, { -13, -39, 0, 25, 0, 2 }, - { -13, -40, 0, 25, 0, 2 }, { -14, -41, 0, 25, 0, 2 }, { -14, -42, 0, 25, 0, 2 }, { -14, -43, 0, 25, 0, 2 }, { -14, -44, 0, 25, 0, 2 }, - { -14, -45, 0, 25, 0, 2 }, { -15, -46, 0, 25, 0, 2 }, { -15, -47, 0, 25, 0, 2 }, { -15, -48, 0, 25, 0, 2 }, { -15, -49, 0, 25, 0, 2 }, - { -15, -50, 0, 25, 0, 2 }, { -16, -51, 0, 24, 0, 2 }, { -16, -52, 0, 24, 0, 2 }, { -16, -53, 0, 24, 0, 2 }, { -16, -54, 0, 24, 0, 2 }, - { -16, -55, 0, 24, 0, 2 }, { -16, -56, 0, 24, 0, 2 }, { -16, -57, 0, 24, 0, 2 }, { -16, -58, 0, 24, 0, 2 }, { -16, -59, 0, 24, 0, 2 }, - { -16, -60, 0, 24, 0, 2 }, { -16, -61, 0, 24, 0, 2 }, { -16, -62, 0, 24, 0, 2 }, { -16, -63, 0, 24, 0, 2 }, { -16, -64, 0, 24, 0, 2 }, + 80, { + { 15, 15, 0, 28, 0, 2 }, { 14, 14, 0, 28, 0, 2 }, { 13, 13, 0, 28, 0, 2 }, { 12, 12, 0, 28, 0, 2 }, { 12, 11, 0, 28, 0, 2 }, + { 11, 10, 0, 28, 0, 2 }, { 10, 9, 0, 28, 0, 2 }, { 9, 8, 0, 28, 0, 2 }, { 8, 7, 0, 27, 0, 2 }, { 7, 6, 0, 27, 0, 2 }, + { 7, 5, 0, 27, 0, 2 }, { 6, 4, 0, 27, 0, 2 }, { 5, 3, 0, 27, 0, 2 }, { 4, 2, 0, 27, 0, 2 }, { 4, 1, 0, 27, 0, 2 }, + { 3, 0, 0, 27, 0, 2 }, { 2, -1, 0, 27, 0, 2 }, { 2, -2, 0, 27, 0, 2 }, { 1, -3, 0, 27, 0, 2 }, { 0, -4, 0, 27, 0, 2 }, + { 0, -5, 0, 27, 0, 2 }, { -1, -6, 0, 27, 0, 2 }, { -2, -7, 0, 27, 0, 2 }, { -2, -8, 0, 27, 0, 2 }, { -3, -9, 0, 27, 0, 2 }, + { -3, -10, 0, 27, 0, 2 }, { -4, -11, 0, 26, 0, 2 }, { -4, -12, 0, 26, 0, 2 }, { -5, -13, 0, 26, 0, 2 }, { -5, -14, 0, 26, 0, 2 }, + { -6, -15, 0, 26, 0, 2 }, { -6, -16, 0, 26, 0, 2 }, { -7, -17, 0, 26, 0, 2 }, { -7, -18, 0, 26, 0, 2 }, { -8, -19, 0, 26, 0, 2 }, + { -8, -20, 0, 26, 0, 2 }, { -8, -21, 0, 26, 0, 2 }, { -9, -22, 0, 26, 0, 2 }, { -9, -23, 0, 26, 0, 2 }, { -9, -24, 0, 26, 0, 2 }, + { -10, -25, 0, 26, 0, 2 }, { -10, -26, 0, 26, 0, 2 }, { -10, -27, 0, 26, 0, 2 }, { -11, -28, 0, 26, 0, 2 }, { -11, -29, 0, 26, 0, 2 }, + { -11, -30, 0, 26, 0, 2 }, { -11, -31, 0, 25, 0, 2 }, { -12, -32, 0, 25, 0, 2 }, { -12, -33, 0, 25, 0, 2 }, { -12, -34, 0, 25, 0, 2 }, + { -12, -35, 0, 25, 0, 2 }, { -13, -36, 0, 25, 0, 2 }, { -13, -37, 0, 25, 0, 2 }, { -13, -38, 0, 25, 0, 2 }, { -13, -39, 0, 25, 0, 2 }, + { -13, -40, 0, 25, 0, 2 }, { -14, -41, 0, 25, 0, 2 }, { -14, -42, 0, 25, 0, 2 }, { -14, -43, 0, 25, 0, 2 }, { -14, -44, 0, 25, 0, 2 }, + { -14, -45, 0, 25, 0, 2 }, { -15, -46, 0, 25, 0, 2 }, { -15, -47, 0, 25, 0, 2 }, { -15, -48, 0, 25, 0, 2 }, { -15, -49, 0, 25, 0, 2 }, + { -15, -50, 0, 25, 0, 2 }, { -16, -51, 0, 24, 0, 2 }, { -16, -52, 0, 24, 0, 2 }, { -16, -53, 0, 24, 0, 2 }, { -16, -54, 0, 24, 0, 2 }, + { -16, -55, 0, 24, 0, 2 }, { -16, -56, 0, 24, 0, 2 }, { -16, -57, 0, 24, 0, 2 }, { -16, -58, 0, 24, 0, 2 }, { -16, -59, 0, 24, 0, 2 }, + { -16, -60, 0, 24, 0, 2 }, { -16, -61, 0, 24, 0, 2 }, { -16, -62, 0, 24, 0, 2 }, { -16, -63, 0, 24, 0, 2 }, { -16, -64, 0, 24, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9157A5 = { - 79, { - { 15, 17, 0, 4, 0, 4 }, { 14, 18, 0, 4, 0, 4 }, { 13, 19, 0, 4, 0, 4 }, { 12, 20, 0, 4, 0, 4 }, { 12, 21, 0, 4, 0, 4 }, - { 11, 22, 0, 4, 0, 4 }, { 10, 23, 0, 4, 0, 4 }, { 9, 24, 0, 4, 0, 4 }, { 8, 25, 0, 5, 0, 4 }, { 7, 26, 0, 5, 0, 4 }, - { 7, 27, 0, 5, 0, 4 }, { 6, 28, 0, 5, 0, 4 }, { 5, 29, 0, 5, 0, 4 }, { 4, 30, 0, 5, 0, 4 }, { 4, 31, 0, 5, 0, 4 }, - { 3, 32, 0, 5, 0, 4 }, { 2, 33, 0, 5, 0, 4 }, { 2, 34, 0, 5, 0, 4 }, { 1, 35, 0, 5, 0, 4 }, { 0, 36, 0, 5, 0, 4 }, - { 0, 37, 0, 5, 0, 4 }, { -1, 38, 0, 5, 0, 4 }, { -2, 39, 0, 5, 0, 4 }, { -2, 40, 0, 5, 0, 4 }, { -3, 41, 0, 5, 0, 4 }, - { -3, 42, 0, 5, 0, 4 }, { -4, 43, 0, 6, 0, 4 }, { -4, 44, 0, 6, 0, 4 }, { -5, 45, 0, 6, 0, 4 }, { -5, 46, 0, 6, 0, 4 }, - { -6, 47, 0, 6, 0, 4 }, { -6, 48, 0, 6, 0, 4 }, { -7, 49, 0, 6, 0, 4 }, { -7, 50, 0, 6, 0, 4 }, { -8, 51, 0, 6, 0, 4 }, - { -8, 52, 0, 6, 0, 4 }, { -8, 53, 0, 6, 0, 4 }, { -9, 54, 0, 6, 0, 4 }, { -9, 55, 0, 6, 0, 4 }, { -9, 56, 0, 6, 0, 4 }, - { -10, 57, 0, 6, 0, 4 }, { -10, 58, 0, 6, 0, 4 }, { -10, 59, 0, 6, 0, 4 }, { -11, 60, 0, 6, 0, 4 }, { -11, 61, 0, 6, 0, 4 }, - { -11, 62, 0, 6, 0, 4 }, { -11, 63, 0, 7, 0, 4 }, { -12, 64, 0, 7, 0, 4 }, { -12, 65, 0, 7, 0, 4 }, { -12, 66, 0, 7, 0, 4 }, - { -12, 67, 0, 7, 0, 4 }, { -13, 68, 0, 7, 0, 4 }, { -13, 69, 0, 7, 0, 4 }, { -13, 70, 0, 7, 0, 4 }, { -13, 71, 0, 7, 0, 4 }, - { -13, 72, 0, 7, 0, 4 }, { -14, 73, 0, 7, 0, 4 }, { -14, 74, 0, 7, 0, 4 }, { -14, 75, 0, 7, 0, 4 }, { -14, 76, 0, 7, 0, 4 }, - { -14, 77, 0, 7, 0, 4 }, { -15, 78, 0, 7, 0, 4 }, { -15, 79, 0, 7, 0, 4 }, { -15, 80, 0, 7, 0, 4 }, { -15, 81, 0, 7, 0, 4 }, - { -15, 82, 0, 7, 0, 4 }, { -16, 83, 0, 8, 0, 4 }, { -16, 84, 0, 8, 0, 4 }, { -16, 85, 0, 8, 0, 4 }, { -16, 86, 0, 8, 0, 4 }, - { -16, 87, 0, 8, 0, 4 }, { -16, 88, 0, 8, 0, 4 }, { -16, 89, 0, 8, 0, 4 }, { -16, 90, 0, 8, 0, 4 }, { -16, 91, 0, 8, 0, 4 }, - { -16, 92, 0, 8, 0, 4 }, { -16, 93, 0, 8, 0, 4 }, { -16, 94, 0, 8, 0, 4 }, { -16, 95, 0, 8, 0, 4 }, + 79, { + { 15, 17, 0, 4, 0, 4 }, { 14, 18, 0, 4, 0, 4 }, { 13, 19, 0, 4, 0, 4 }, { 12, 20, 0, 4, 0, 4 }, { 12, 21, 0, 4, 0, 4 }, + { 11, 22, 0, 4, 0, 4 }, { 10, 23, 0, 4, 0, 4 }, { 9, 24, 0, 4, 0, 4 }, { 8, 25, 0, 5, 0, 4 }, { 7, 26, 0, 5, 0, 4 }, + { 7, 27, 0, 5, 0, 4 }, { 6, 28, 0, 5, 0, 4 }, { 5, 29, 0, 5, 0, 4 }, { 4, 30, 0, 5, 0, 4 }, { 4, 31, 0, 5, 0, 4 }, + { 3, 32, 0, 5, 0, 4 }, { 2, 33, 0, 5, 0, 4 }, { 2, 34, 0, 5, 0, 4 }, { 1, 35, 0, 5, 0, 4 }, { 0, 36, 0, 5, 0, 4 }, + { 0, 37, 0, 5, 0, 4 }, { -1, 38, 0, 5, 0, 4 }, { -2, 39, 0, 5, 0, 4 }, { -2, 40, 0, 5, 0, 4 }, { -3, 41, 0, 5, 0, 4 }, + { -3, 42, 0, 5, 0, 4 }, { -4, 43, 0, 6, 0, 4 }, { -4, 44, 0, 6, 0, 4 }, { -5, 45, 0, 6, 0, 4 }, { -5, 46, 0, 6, 0, 4 }, + { -6, 47, 0, 6, 0, 4 }, { -6, 48, 0, 6, 0, 4 }, { -7, 49, 0, 6, 0, 4 }, { -7, 50, 0, 6, 0, 4 }, { -8, 51, 0, 6, 0, 4 }, + { -8, 52, 0, 6, 0, 4 }, { -8, 53, 0, 6, 0, 4 }, { -9, 54, 0, 6, 0, 4 }, { -9, 55, 0, 6, 0, 4 }, { -9, 56, 0, 6, 0, 4 }, + { -10, 57, 0, 6, 0, 4 }, { -10, 58, 0, 6, 0, 4 }, { -10, 59, 0, 6, 0, 4 }, { -11, 60, 0, 6, 0, 4 }, { -11, 61, 0, 6, 0, 4 }, + { -11, 62, 0, 6, 0, 4 }, { -11, 63, 0, 7, 0, 4 }, { -12, 64, 0, 7, 0, 4 }, { -12, 65, 0, 7, 0, 4 }, { -12, 66, 0, 7, 0, 4 }, + { -12, 67, 0, 7, 0, 4 }, { -13, 68, 0, 7, 0, 4 }, { -13, 69, 0, 7, 0, 4 }, { -13, 70, 0, 7, 0, 4 }, { -13, 71, 0, 7, 0, 4 }, + { -13, 72, 0, 7, 0, 4 }, { -14, 73, 0, 7, 0, 4 }, { -14, 74, 0, 7, 0, 4 }, { -14, 75, 0, 7, 0, 4 }, { -14, 76, 0, 7, 0, 4 }, + { -14, 77, 0, 7, 0, 4 }, { -15, 78, 0, 7, 0, 4 }, { -15, 79, 0, 7, 0, 4 }, { -15, 80, 0, 7, 0, 4 }, { -15, 81, 0, 7, 0, 4 }, + { -15, 82, 0, 7, 0, 4 }, { -16, 83, 0, 8, 0, 4 }, { -16, 84, 0, 8, 0, 4 }, { -16, 85, 0, 8, 0, 4 }, { -16, 86, 0, 8, 0, 4 }, + { -16, 87, 0, 8, 0, 4 }, { -16, 88, 0, 8, 0, 4 }, { -16, 89, 0, 8, 0, 4 }, { -16, 90, 0, 8, 0, 4 }, { -16, 91, 0, 8, 0, 4 }, + { -16, 92, 0, 8, 0, 4 }, { -16, 93, 0, 8, 0, 4 }, { -16, 94, 0, 8, 0, 4 }, { -16, 95, 0, 8, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_915A6E = { - 80, { - { 16, 16, 0, 12, 0, 4 }, { 17, 17, 0, 12, 0, 4 }, { 18, 18, 0, 12, 0, 4 }, { 19, 19, 0, 12, 0, 4 }, { 20, 20, 0, 12, 0, 4 }, - { 21, 20, 0, 12, 0, 4 }, { 22, 21, 0, 12, 0, 4 }, { 23, 22, 0, 12, 0, 4 }, { 24, 23, 0, 12, 0, 4 }, { 25, 24, 0, 13, 0, 4 }, - { 26, 25, 0, 13, 0, 4 }, { 27, 25, 0, 13, 0, 4 }, { 28, 26, 0, 13, 0, 4 }, { 29, 27, 0, 13, 0, 4 }, { 30, 28, 0, 13, 0, 4 }, - { 31, 28, 0, 13, 0, 4 }, { 32, 29, 0, 13, 0, 4 }, { 33, 30, 0, 13, 0, 4 }, { 34, 30, 0, 13, 0, 4 }, { 35, 31, 0, 13, 0, 4 }, - { 36, 32, 0, 13, 0, 4 }, { 37, 32, 0, 13, 0, 4 }, { 38, 33, 0, 13, 0, 4 }, { 39, 34, 0, 13, 0, 4 }, { 40, 34, 0, 13, 0, 4 }, - { 41, 35, 0, 13, 0, 4 }, { 42, 35, 0, 13, 0, 4 }, { 43, 36, 0, 14, 0, 4 }, { 44, 36, 0, 14, 0, 4 }, { 45, 37, 0, 14, 0, 4 }, - { 46, 37, 0, 14, 0, 4 }, { 47, 38, 0, 14, 0, 4 }, { 48, 38, 0, 14, 0, 4 }, { 49, 39, 0, 14, 0, 4 }, { 50, 39, 0, 14, 0, 4 }, - { 51, 40, 0, 14, 0, 4 }, { 52, 40, 0, 14, 0, 4 }, { 53, 40, 0, 14, 0, 4 }, { 54, 41, 0, 14, 0, 4 }, { 55, 41, 0, 14, 0, 4 }, - { 56, 41, 0, 14, 0, 4 }, { 57, 42, 0, 14, 0, 4 }, { 58, 42, 0, 14, 0, 4 }, { 59, 42, 0, 14, 0, 4 }, { 60, 43, 0, 14, 0, 4 }, - { 61, 43, 0, 14, 0, 4 }, { 62, 43, 0, 14, 0, 4 }, { 63, 43, 0, 15, 0, 4 }, { 64, 44, 0, 15, 0, 4 }, { 65, 44, 0, 15, 0, 4 }, - { 66, 44, 0, 15, 0, 4 }, { 67, 44, 0, 15, 0, 4 }, { 68, 45, 0, 15, 0, 4 }, { 69, 45, 0, 15, 0, 4 }, { 70, 45, 0, 15, 0, 4 }, - { 71, 45, 0, 15, 0, 4 }, { 72, 45, 0, 15, 0, 4 }, { 73, 46, 0, 15, 0, 4 }, { 74, 46, 0, 15, 0, 4 }, { 75, 46, 0, 15, 0, 4 }, - { 76, 46, 0, 15, 0, 4 }, { 77, 46, 0, 15, 0, 4 }, { 78, 47, 0, 15, 0, 4 }, { 79, 47, 0, 15, 0, 4 }, { 80, 47, 0, 15, 0, 4 }, - { 81, 47, 0, 15, 0, 4 }, { 82, 47, 0, 15, 0, 4 }, { 83, 48, 0, 16, 0, 4 }, { 84, 48, 0, 16, 0, 4 }, { 85, 48, 0, 16, 0, 4 }, - { 86, 48, 0, 16, 0, 4 }, { 87, 48, 0, 16, 0, 4 }, { 88, 48, 0, 16, 0, 4 }, { 89, 48, 0, 16, 0, 4 }, { 90, 48, 0, 16, 0, 4 }, - { 91, 48, 0, 16, 0, 4 }, { 92, 48, 0, 16, 0, 4 }, { 93, 48, 0, 16, 0, 4 }, { 94, 48, 0, 16, 0, 4 }, { 95, 48, 0, 16, 0, 4 }, + 80, { + { 16, 16, 0, 12, 0, 4 }, { 17, 17, 0, 12, 0, 4 }, { 18, 18, 0, 12, 0, 4 }, { 19, 19, 0, 12, 0, 4 }, { 20, 20, 0, 12, 0, 4 }, + { 21, 20, 0, 12, 0, 4 }, { 22, 21, 0, 12, 0, 4 }, { 23, 22, 0, 12, 0, 4 }, { 24, 23, 0, 12, 0, 4 }, { 25, 24, 0, 13, 0, 4 }, + { 26, 25, 0, 13, 0, 4 }, { 27, 25, 0, 13, 0, 4 }, { 28, 26, 0, 13, 0, 4 }, { 29, 27, 0, 13, 0, 4 }, { 30, 28, 0, 13, 0, 4 }, + { 31, 28, 0, 13, 0, 4 }, { 32, 29, 0, 13, 0, 4 }, { 33, 30, 0, 13, 0, 4 }, { 34, 30, 0, 13, 0, 4 }, { 35, 31, 0, 13, 0, 4 }, + { 36, 32, 0, 13, 0, 4 }, { 37, 32, 0, 13, 0, 4 }, { 38, 33, 0, 13, 0, 4 }, { 39, 34, 0, 13, 0, 4 }, { 40, 34, 0, 13, 0, 4 }, + { 41, 35, 0, 13, 0, 4 }, { 42, 35, 0, 13, 0, 4 }, { 43, 36, 0, 14, 0, 4 }, { 44, 36, 0, 14, 0, 4 }, { 45, 37, 0, 14, 0, 4 }, + { 46, 37, 0, 14, 0, 4 }, { 47, 38, 0, 14, 0, 4 }, { 48, 38, 0, 14, 0, 4 }, { 49, 39, 0, 14, 0, 4 }, { 50, 39, 0, 14, 0, 4 }, + { 51, 40, 0, 14, 0, 4 }, { 52, 40, 0, 14, 0, 4 }, { 53, 40, 0, 14, 0, 4 }, { 54, 41, 0, 14, 0, 4 }, { 55, 41, 0, 14, 0, 4 }, + { 56, 41, 0, 14, 0, 4 }, { 57, 42, 0, 14, 0, 4 }, { 58, 42, 0, 14, 0, 4 }, { 59, 42, 0, 14, 0, 4 }, { 60, 43, 0, 14, 0, 4 }, + { 61, 43, 0, 14, 0, 4 }, { 62, 43, 0, 14, 0, 4 }, { 63, 43, 0, 15, 0, 4 }, { 64, 44, 0, 15, 0, 4 }, { 65, 44, 0, 15, 0, 4 }, + { 66, 44, 0, 15, 0, 4 }, { 67, 44, 0, 15, 0, 4 }, { 68, 45, 0, 15, 0, 4 }, { 69, 45, 0, 15, 0, 4 }, { 70, 45, 0, 15, 0, 4 }, + { 71, 45, 0, 15, 0, 4 }, { 72, 45, 0, 15, 0, 4 }, { 73, 46, 0, 15, 0, 4 }, { 74, 46, 0, 15, 0, 4 }, { 75, 46, 0, 15, 0, 4 }, + { 76, 46, 0, 15, 0, 4 }, { 77, 46, 0, 15, 0, 4 }, { 78, 47, 0, 15, 0, 4 }, { 79, 47, 0, 15, 0, 4 }, { 80, 47, 0, 15, 0, 4 }, + { 81, 47, 0, 15, 0, 4 }, { 82, 47, 0, 15, 0, 4 }, { 83, 48, 0, 16, 0, 4 }, { 84, 48, 0, 16, 0, 4 }, { 85, 48, 0, 16, 0, 4 }, + { 86, 48, 0, 16, 0, 4 }, { 87, 48, 0, 16, 0, 4 }, { 88, 48, 0, 16, 0, 4 }, { 89, 48, 0, 16, 0, 4 }, { 90, 48, 0, 16, 0, 4 }, + { 91, 48, 0, 16, 0, 4 }, { 92, 48, 0, 16, 0, 4 }, { 93, 48, 0, 16, 0, 4 }, { 94, 48, 0, 16, 0, 4 }, { 95, 48, 0, 16, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_915D40 = { - 80, { - { 16, 15, 0, 20, 0, 4 }, { 17, 14, 0, 20, 0, 4 }, { 18, 13, 0, 20, 0, 4 }, { 19, 12, 0, 20, 0, 4 }, { 19, 11, 0, 20, 0, 4 }, - { 20, 10, 0, 20, 0, 4 }, { 21, 9, 0, 20, 0, 4 }, { 22, 8, 0, 20, 0, 4 }, { 23, 7, 0, 21, 0, 4 }, { 24, 6, 0, 21, 0, 4 }, - { 24, 5, 0, 21, 0, 4 }, { 25, 4, 0, 21, 0, 4 }, { 26, 3, 0, 21, 0, 4 }, { 27, 2, 0, 21, 0, 4 }, { 27, 1, 0, 21, 0, 4 }, - { 28, 0, 0, 21, 0, 4 }, { 29, -1, 0, 21, 0, 4 }, { 29, -2, 0, 21, 0, 4 }, { 30, -3, 0, 21, 0, 4 }, { 31, -4, 0, 21, 0, 4 }, - { 31, -5, 0, 21, 0, 4 }, { 32, -6, 0, 21, 0, 4 }, { 33, -7, 0, 21, 0, 4 }, { 33, -8, 0, 21, 0, 4 }, { 34, -9, 0, 21, 0, 4 }, - { 34, -10, 0, 21, 0, 4 }, { 35, -11, 0, 22, 0, 4 }, { 35, -12, 0, 22, 0, 4 }, { 36, -13, 0, 22, 0, 4 }, { 36, -14, 0, 22, 0, 4 }, - { 37, -15, 0, 22, 0, 4 }, { 37, -16, 0, 22, 0, 4 }, { 38, -17, 0, 22, 0, 4 }, { 38, -18, 0, 22, 0, 4 }, { 39, -19, 0, 22, 0, 4 }, - { 39, -20, 0, 22, 0, 4 }, { 39, -21, 0, 22, 0, 4 }, { 40, -22, 0, 22, 0, 4 }, { 40, -23, 0, 22, 0, 4 }, { 40, -24, 0, 22, 0, 4 }, - { 41, -25, 0, 22, 0, 4 }, { 41, -26, 0, 22, 0, 4 }, { 41, -27, 0, 22, 0, 4 }, { 42, -28, 0, 22, 0, 4 }, { 42, -29, 0, 22, 0, 4 }, - { 42, -30, 0, 22, 0, 4 }, { 42, -31, 0, 23, 0, 4 }, { 43, -32, 0, 23, 0, 4 }, { 43, -33, 0, 23, 0, 4 }, { 43, -34, 0, 23, 0, 4 }, - { 43, -35, 0, 23, 0, 4 }, { 44, -36, 0, 23, 0, 4 }, { 44, -37, 0, 23, 0, 4 }, { 44, -38, 0, 23, 0, 4 }, { 44, -39, 0, 23, 0, 4 }, - { 44, -40, 0, 23, 0, 4 }, { 45, -41, 0, 23, 0, 4 }, { 45, -42, 0, 23, 0, 4 }, { 45, -43, 0, 23, 0, 4 }, { 45, -44, 0, 23, 0, 4 }, - { 45, -45, 0, 23, 0, 4 }, { 46, -46, 0, 23, 0, 4 }, { 46, -47, 0, 23, 0, 4 }, { 46, -48, 0, 23, 0, 4 }, { 46, -49, 0, 23, 0, 4 }, - { 46, -50, 0, 23, 0, 4 }, { 47, -51, 0, 24, 0, 4 }, { 47, -52, 0, 24, 0, 4 }, { 47, -53, 0, 24, 0, 4 }, { 47, -54, 0, 24, 0, 4 }, - { 47, -55, 0, 24, 0, 4 }, { 47, -56, 0, 24, 0, 4 }, { 47, -57, 0, 24, 0, 4 }, { 47, -58, 0, 24, 0, 4 }, { 47, -59, 0, 24, 0, 4 }, - { 47, -60, 0, 24, 0, 4 }, { 47, -61, 0, 24, 0, 4 }, { 47, -62, 0, 24, 0, 4 }, { 47, -63, 0, 24, 0, 4 }, { 47, -64, 0, 24, 0, 4 }, + 80, { + { 16, 15, 0, 20, 0, 4 }, { 17, 14, 0, 20, 0, 4 }, { 18, 13, 0, 20, 0, 4 }, { 19, 12, 0, 20, 0, 4 }, { 19, 11, 0, 20, 0, 4 }, + { 20, 10, 0, 20, 0, 4 }, { 21, 9, 0, 20, 0, 4 }, { 22, 8, 0, 20, 0, 4 }, { 23, 7, 0, 21, 0, 4 }, { 24, 6, 0, 21, 0, 4 }, + { 24, 5, 0, 21, 0, 4 }, { 25, 4, 0, 21, 0, 4 }, { 26, 3, 0, 21, 0, 4 }, { 27, 2, 0, 21, 0, 4 }, { 27, 1, 0, 21, 0, 4 }, + { 28, 0, 0, 21, 0, 4 }, { 29, -1, 0, 21, 0, 4 }, { 29, -2, 0, 21, 0, 4 }, { 30, -3, 0, 21, 0, 4 }, { 31, -4, 0, 21, 0, 4 }, + { 31, -5, 0, 21, 0, 4 }, { 32, -6, 0, 21, 0, 4 }, { 33, -7, 0, 21, 0, 4 }, { 33, -8, 0, 21, 0, 4 }, { 34, -9, 0, 21, 0, 4 }, + { 34, -10, 0, 21, 0, 4 }, { 35, -11, 0, 22, 0, 4 }, { 35, -12, 0, 22, 0, 4 }, { 36, -13, 0, 22, 0, 4 }, { 36, -14, 0, 22, 0, 4 }, + { 37, -15, 0, 22, 0, 4 }, { 37, -16, 0, 22, 0, 4 }, { 38, -17, 0, 22, 0, 4 }, { 38, -18, 0, 22, 0, 4 }, { 39, -19, 0, 22, 0, 4 }, + { 39, -20, 0, 22, 0, 4 }, { 39, -21, 0, 22, 0, 4 }, { 40, -22, 0, 22, 0, 4 }, { 40, -23, 0, 22, 0, 4 }, { 40, -24, 0, 22, 0, 4 }, + { 41, -25, 0, 22, 0, 4 }, { 41, -26, 0, 22, 0, 4 }, { 41, -27, 0, 22, 0, 4 }, { 42, -28, 0, 22, 0, 4 }, { 42, -29, 0, 22, 0, 4 }, + { 42, -30, 0, 22, 0, 4 }, { 42, -31, 0, 23, 0, 4 }, { 43, -32, 0, 23, 0, 4 }, { 43, -33, 0, 23, 0, 4 }, { 43, -34, 0, 23, 0, 4 }, + { 43, -35, 0, 23, 0, 4 }, { 44, -36, 0, 23, 0, 4 }, { 44, -37, 0, 23, 0, 4 }, { 44, -38, 0, 23, 0, 4 }, { 44, -39, 0, 23, 0, 4 }, + { 44, -40, 0, 23, 0, 4 }, { 45, -41, 0, 23, 0, 4 }, { 45, -42, 0, 23, 0, 4 }, { 45, -43, 0, 23, 0, 4 }, { 45, -44, 0, 23, 0, 4 }, + { 45, -45, 0, 23, 0, 4 }, { 46, -46, 0, 23, 0, 4 }, { 46, -47, 0, 23, 0, 4 }, { 46, -48, 0, 23, 0, 4 }, { 46, -49, 0, 23, 0, 4 }, + { 46, -50, 0, 23, 0, 4 }, { 47, -51, 0, 24, 0, 4 }, { 47, -52, 0, 24, 0, 4 }, { 47, -53, 0, 24, 0, 4 }, { 47, -54, 0, 24, 0, 4 }, + { 47, -55, 0, 24, 0, 4 }, { 47, -56, 0, 24, 0, 4 }, { 47, -57, 0, 24, 0, 4 }, { 47, -58, 0, 24, 0, 4 }, { 47, -59, 0, 24, 0, 4 }, + { 47, -60, 0, 24, 0, 4 }, { 47, -61, 0, 24, 0, 4 }, { 47, -62, 0, 24, 0, 4 }, { 47, -63, 0, 24, 0, 4 }, { 47, -64, 0, 24, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_916012 = { - 80, { - { 15, 15, 0, 28, 0, 4 }, { 14, 14, 0, 28, 0, 4 }, { 13, 13, 0, 28, 0, 4 }, { 12, 12, 0, 28, 0, 4 }, { 11, 12, 0, 28, 0, 4 }, - { 10, 11, 0, 28, 0, 4 }, { 9, 10, 0, 28, 0, 4 }, { 8, 9, 0, 28, 0, 4 }, { 7, 8, 0, 29, 0, 4 }, { 6, 7, 0, 29, 0, 4 }, - { 5, 7, 0, 29, 0, 4 }, { 4, 6, 0, 29, 0, 4 }, { 3, 5, 0, 29, 0, 4 }, { 2, 4, 0, 29, 0, 4 }, { 1, 4, 0, 29, 0, 4 }, - { 0, 3, 0, 29, 0, 4 }, { -1, 2, 0, 29, 0, 4 }, { -2, 2, 0, 29, 0, 4 }, { -3, 1, 0, 29, 0, 4 }, { -4, 0, 0, 29, 0, 4 }, - { -5, 0, 0, 29, 0, 4 }, { -6, -1, 0, 29, 0, 4 }, { -7, -2, 0, 29, 0, 4 }, { -8, -2, 0, 29, 0, 4 }, { -9, -3, 0, 29, 0, 4 }, - { -10, -3, 0, 29, 0, 4 }, { -11, -4, 0, 30, 0, 4 }, { -12, -4, 0, 30, 0, 4 }, { -13, -5, 0, 30, 0, 4 }, { -14, -5, 0, 30, 0, 4 }, - { -15, -6, 0, 30, 0, 4 }, { -16, -6, 0, 30, 0, 4 }, { -17, -7, 0, 30, 0, 4 }, { -18, -7, 0, 30, 0, 4 }, { -19, -8, 0, 30, 0, 4 }, - { -20, -8, 0, 30, 0, 4 }, { -21, -8, 0, 30, 0, 4 }, { -22, -9, 0, 30, 0, 4 }, { -23, -9, 0, 30, 0, 4 }, { -24, -9, 0, 30, 0, 4 }, - { -25, -10, 0, 30, 0, 4 }, { -26, -10, 0, 30, 0, 4 }, { -27, -10, 0, 30, 0, 4 }, { -28, -11, 0, 30, 0, 4 }, { -29, -11, 0, 30, 0, 4 }, - { -30, -11, 0, 30, 0, 4 }, { -31, -11, 0, 31, 0, 4 }, { -32, -12, 0, 31, 0, 4 }, { -33, -12, 0, 31, 0, 4 }, { -34, -12, 0, 31, 0, 4 }, - { -35, -12, 0, 31, 0, 4 }, { -36, -13, 0, 31, 0, 4 }, { -37, -13, 0, 31, 0, 4 }, { -38, -13, 0, 31, 0, 4 }, { -39, -13, 0, 31, 0, 4 }, - { -40, -13, 0, 31, 0, 4 }, { -41, -14, 0, 31, 0, 4 }, { -42, -14, 0, 31, 0, 4 }, { -43, -14, 0, 31, 0, 4 }, { -44, -14, 0, 31, 0, 4 }, - { -45, -14, 0, 31, 0, 4 }, { -46, -15, 0, 31, 0, 4 }, { -47, -15, 0, 31, 0, 4 }, { -48, -15, 0, 31, 0, 4 }, { -49, -15, 0, 31, 0, 4 }, - { -50, -15, 0, 31, 0, 4 }, { -51, -16, 0, 0, 0, 4 }, { -52, -16, 0, 0, 0, 4 }, { -53, -16, 0, 0, 0, 4 }, { -54, -16, 0, 0, 0, 4 }, - { -55, -16, 0, 0, 0, 4 }, { -56, -16, 0, 0, 0, 4 }, { -57, -16, 0, 0, 0, 4 }, { -58, -16, 0, 0, 0, 4 }, { -59, -16, 0, 0, 0, 4 }, - { -60, -16, 0, 0, 0, 4 }, { -61, -16, 0, 0, 0, 4 }, { -62, -16, 0, 0, 0, 4 }, { -63, -16, 0, 0, 0, 4 }, { -64, -16, 0, 0, 0, 4 }, + 80, { + { 15, 15, 0, 28, 0, 4 }, { 14, 14, 0, 28, 0, 4 }, { 13, 13, 0, 28, 0, 4 }, { 12, 12, 0, 28, 0, 4 }, { 11, 12, 0, 28, 0, 4 }, + { 10, 11, 0, 28, 0, 4 }, { 9, 10, 0, 28, 0, 4 }, { 8, 9, 0, 28, 0, 4 }, { 7, 8, 0, 29, 0, 4 }, { 6, 7, 0, 29, 0, 4 }, + { 5, 7, 0, 29, 0, 4 }, { 4, 6, 0, 29, 0, 4 }, { 3, 5, 0, 29, 0, 4 }, { 2, 4, 0, 29, 0, 4 }, { 1, 4, 0, 29, 0, 4 }, + { 0, 3, 0, 29, 0, 4 }, { -1, 2, 0, 29, 0, 4 }, { -2, 2, 0, 29, 0, 4 }, { -3, 1, 0, 29, 0, 4 }, { -4, 0, 0, 29, 0, 4 }, + { -5, 0, 0, 29, 0, 4 }, { -6, -1, 0, 29, 0, 4 }, { -7, -2, 0, 29, 0, 4 }, { -8, -2, 0, 29, 0, 4 }, { -9, -3, 0, 29, 0, 4 }, + { -10, -3, 0, 29, 0, 4 }, { -11, -4, 0, 30, 0, 4 }, { -12, -4, 0, 30, 0, 4 }, { -13, -5, 0, 30, 0, 4 }, { -14, -5, 0, 30, 0, 4 }, + { -15, -6, 0, 30, 0, 4 }, { -16, -6, 0, 30, 0, 4 }, { -17, -7, 0, 30, 0, 4 }, { -18, -7, 0, 30, 0, 4 }, { -19, -8, 0, 30, 0, 4 }, + { -20, -8, 0, 30, 0, 4 }, { -21, -8, 0, 30, 0, 4 }, { -22, -9, 0, 30, 0, 4 }, { -23, -9, 0, 30, 0, 4 }, { -24, -9, 0, 30, 0, 4 }, + { -25, -10, 0, 30, 0, 4 }, { -26, -10, 0, 30, 0, 4 }, { -27, -10, 0, 30, 0, 4 }, { -28, -11, 0, 30, 0, 4 }, { -29, -11, 0, 30, 0, 4 }, + { -30, -11, 0, 30, 0, 4 }, { -31, -11, 0, 31, 0, 4 }, { -32, -12, 0, 31, 0, 4 }, { -33, -12, 0, 31, 0, 4 }, { -34, -12, 0, 31, 0, 4 }, + { -35, -12, 0, 31, 0, 4 }, { -36, -13, 0, 31, 0, 4 }, { -37, -13, 0, 31, 0, 4 }, { -38, -13, 0, 31, 0, 4 }, { -39, -13, 0, 31, 0, 4 }, + { -40, -13, 0, 31, 0, 4 }, { -41, -14, 0, 31, 0, 4 }, { -42, -14, 0, 31, 0, 4 }, { -43, -14, 0, 31, 0, 4 }, { -44, -14, 0, 31, 0, 4 }, + { -45, -14, 0, 31, 0, 4 }, { -46, -15, 0, 31, 0, 4 }, { -47, -15, 0, 31, 0, 4 }, { -48, -15, 0, 31, 0, 4 }, { -49, -15, 0, 31, 0, 4 }, + { -50, -15, 0, 31, 0, 4 }, { -51, -16, 0, 0, 0, 4 }, { -52, -16, 0, 0, 0, 4 }, { -53, -16, 0, 0, 0, 4 }, { -54, -16, 0, 0, 0, 4 }, + { -55, -16, 0, 0, 0, 4 }, { -56, -16, 0, 0, 0, 4 }, { -57, -16, 0, 0, 0, 4 }, { -58, -16, 0, 0, 0, 4 }, { -59, -16, 0, 0, 0, 4 }, + { -60, -16, 0, 0, 0, 4 }, { -61, -16, 0, 0, 0, 4 }, { -62, -16, 0, 0, 0, 4 }, { -63, -16, 0, 0, 0, 4 }, { -64, -16, 0, 0, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9162E6 = { - 32, { - { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 4, 0, 0 }, { 13, 18, 0, 4, 0, 0 }, { 12, 19, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, - { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 0, 4, 0, 0 }, { 7, 24, 0, 4, 0, 0 }, { 6, 25, 0, 4, 0, 0 }, - { 5, 26, 0, 4, 0, 0 }, { 4, 27, 0, 4, 0, 0 }, { 3, 28, 0, 4, 0, 0 }, { 2, 29, 0, 4, 0, 0 }, { 1, 30, 0, 4, 0, 0 }, - { 0, 31, 0, 4, 0, 0 }, { -1, 32, 0, 4, 0, 0 }, { -2, 33, 0, 4, 0, 0 }, { -3, 34, 0, 4, 0, 0 }, { -4, 35, 0, 4, 0, 0 }, - { -5, 36, 0, 4, 0, 0 }, { -6, 37, 0, 4, 0, 0 }, { -7, 38, 0, 4, 0, 0 }, { -8, 39, 0, 4, 0, 0 }, { -9, 40, 0, 4, 0, 0 }, - { -10, 41, 0, 4, 0, 0 }, { -11, 42, 0, 4, 0, 0 }, { -12, 43, 0, 4, 0, 0 }, { -13, 44, 0, 4, 0, 0 }, { -14, 45, 0, 4, 0, 0 }, - { -15, 46, 0, 4, 0, 0 }, { -16, 47, 0, 4, 0, 0 }, + 32, { + { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 4, 0, 0 }, { 13, 18, 0, 4, 0, 0 }, { 12, 19, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, + { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 0, 4, 0, 0 }, { 7, 24, 0, 4, 0, 0 }, { 6, 25, 0, 4, 0, 0 }, + { 5, 26, 0, 4, 0, 0 }, { 4, 27, 0, 4, 0, 0 }, { 3, 28, 0, 4, 0, 0 }, { 2, 29, 0, 4, 0, 0 }, { 1, 30, 0, 4, 0, 0 }, + { 0, 31, 0, 4, 0, 0 }, { -1, 32, 0, 4, 0, 0 }, { -2, 33, 0, 4, 0, 0 }, { -3, 34, 0, 4, 0, 0 }, { -4, 35, 0, 4, 0, 0 }, + { -5, 36, 0, 4, 0, 0 }, { -6, 37, 0, 4, 0, 0 }, { -7, 38, 0, 4, 0, 0 }, { -8, 39, 0, 4, 0, 0 }, { -9, 40, 0, 4, 0, 0 }, + { -10, 41, 0, 4, 0, 0 }, { -11, 42, 0, 4, 0, 0 }, { -12, 43, 0, 4, 0, 0 }, { -13, 44, 0, 4, 0, 0 }, { -14, 45, 0, 4, 0, 0 }, + { -15, 46, 0, 4, 0, 0 }, { -16, 47, 0, 4, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_916408 = { - 32, { - { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, - { 21, 21, 0, 12, 0, 0 }, { 22, 22, 0, 12, 0, 0 }, { 23, 23, 0, 12, 0, 0 }, { 24, 24, 0, 12, 0, 0 }, { 25, 25, 0, 12, 0, 0 }, - { 26, 26, 0, 12, 0, 0 }, { 27, 27, 0, 12, 0, 0 }, { 28, 28, 0, 12, 0, 0 }, { 29, 29, 0, 12, 0, 0 }, { 30, 30, 0, 12, 0, 0 }, - { 31, 31, 0, 12, 0, 0 }, { 32, 32, 0, 12, 0, 0 }, { 33, 33, 0, 12, 0, 0 }, { 34, 34, 0, 12, 0, 0 }, { 35, 35, 0, 12, 0, 0 }, - { 36, 36, 0, 12, 0, 0 }, { 37, 37, 0, 12, 0, 0 }, { 38, 38, 0, 12, 0, 0 }, { 39, 39, 0, 12, 0, 0 }, { 40, 40, 0, 12, 0, 0 }, - { 41, 41, 0, 12, 0, 0 }, { 42, 42, 0, 12, 0, 0 }, { 43, 43, 0, 12, 0, 0 }, { 44, 44, 0, 12, 0, 0 }, { 45, 45, 0, 12, 0, 0 }, - { 46, 46, 0, 12, 0, 0 }, { 47, 47, 0, 12, 0, 0 }, + 32, { + { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, + { 21, 21, 0, 12, 0, 0 }, { 22, 22, 0, 12, 0, 0 }, { 23, 23, 0, 12, 0, 0 }, { 24, 24, 0, 12, 0, 0 }, { 25, 25, 0, 12, 0, 0 }, + { 26, 26, 0, 12, 0, 0 }, { 27, 27, 0, 12, 0, 0 }, { 28, 28, 0, 12, 0, 0 }, { 29, 29, 0, 12, 0, 0 }, { 30, 30, 0, 12, 0, 0 }, + { 31, 31, 0, 12, 0, 0 }, { 32, 32, 0, 12, 0, 0 }, { 33, 33, 0, 12, 0, 0 }, { 34, 34, 0, 12, 0, 0 }, { 35, 35, 0, 12, 0, 0 }, + { 36, 36, 0, 12, 0, 0 }, { 37, 37, 0, 12, 0, 0 }, { 38, 38, 0, 12, 0, 0 }, { 39, 39, 0, 12, 0, 0 }, { 40, 40, 0, 12, 0, 0 }, + { 41, 41, 0, 12, 0, 0 }, { 42, 42, 0, 12, 0, 0 }, { 43, 43, 0, 12, 0, 0 }, { 44, 44, 0, 12, 0, 0 }, { 45, 45, 0, 12, 0, 0 }, + { 46, 46, 0, 12, 0, 0 }, { 47, 47, 0, 12, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91652A = { - 32, { - { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 11, 0, 20, 0, 0 }, - { 21, 10, 0, 20, 0, 0 }, { 22, 9, 0, 20, 0, 0 }, { 23, 8, 0, 20, 0, 0 }, { 24, 7, 0, 20, 0, 0 }, { 25, 6, 0, 20, 0, 0 }, - { 26, 5, 0, 20, 0, 0 }, { 27, 4, 0, 20, 0, 0 }, { 28, 3, 0, 20, 0, 0 }, { 29, 2, 0, 20, 0, 0 }, { 30, 1, 0, 20, 0, 0 }, - { 31, 0, 0, 20, 0, 0 }, { 32, -1, 0, 20, 0, 0 }, { 33, -2, 0, 20, 0, 0 }, { 34, -3, 0, 20, 0, 0 }, { 35, -4, 0, 20, 0, 0 }, - { 36, -5, 0, 20, 0, 0 }, { 37, -6, 0, 20, 0, 0 }, { 38, -7, 0, 20, 0, 0 }, { 39, -8, 0, 20, 0, 0 }, { 40, -9, 0, 20, 0, 0 }, - { 41, -10, 0, 20, 0, 0 }, { 42, -11, 0, 20, 0, 0 }, { 43, -12, 0, 20, 0, 0 }, { 44, -13, 0, 20, 0, 0 }, { 45, -14, 0, 20, 0, 0 }, - { 46, -15, 0, 20, 0, 0 }, { 47, -16, 0, 20, 0, 0 }, + 32, { + { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 11, 0, 20, 0, 0 }, + { 21, 10, 0, 20, 0, 0 }, { 22, 9, 0, 20, 0, 0 }, { 23, 8, 0, 20, 0, 0 }, { 24, 7, 0, 20, 0, 0 }, { 25, 6, 0, 20, 0, 0 }, + { 26, 5, 0, 20, 0, 0 }, { 27, 4, 0, 20, 0, 0 }, { 28, 3, 0, 20, 0, 0 }, { 29, 2, 0, 20, 0, 0 }, { 30, 1, 0, 20, 0, 0 }, + { 31, 0, 0, 20, 0, 0 }, { 32, -1, 0, 20, 0, 0 }, { 33, -2, 0, 20, 0, 0 }, { 34, -3, 0, 20, 0, 0 }, { 35, -4, 0, 20, 0, 0 }, + { 36, -5, 0, 20, 0, 0 }, { 37, -6, 0, 20, 0, 0 }, { 38, -7, 0, 20, 0, 0 }, { 39, -8, 0, 20, 0, 0 }, { 40, -9, 0, 20, 0, 0 }, + { 41, -10, 0, 20, 0, 0 }, { 42, -11, 0, 20, 0, 0 }, { 43, -12, 0, 20, 0, 0 }, { 44, -13, 0, 20, 0, 0 }, { 45, -14, 0, 20, 0, 0 }, + { 46, -15, 0, 20, 0, 0 }, { 47, -16, 0, 20, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91664C = { - 32, { - { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 11, 0, 28, 0, 0 }, - { 10, 10, 0, 28, 0, 0 }, { 9, 9, 0, 28, 0, 0 }, { 8, 8, 0, 28, 0, 0 }, { 7, 7, 0, 28, 0, 0 }, { 6, 6, 0, 28, 0, 0 }, - { 5, 5, 0, 28, 0, 0 }, { 4, 4, 0, 28, 0, 0 }, { 3, 3, 0, 28, 0, 0 }, { 2, 2, 0, 28, 0, 0 }, { 1, 1, 0, 28, 0, 0 }, - { 0, 0, 0, 28, 0, 0 }, { -1, -1, 0, 28, 0, 0 }, { -2, -2, 0, 28, 0, 0 }, { -3, -3, 0, 28, 0, 0 }, { -4, -4, 0, 28, 0, 0 }, - { -5, -5, 0, 28, 0, 0 }, { -6, -6, 0, 28, 0, 0 }, { -7, -7, 0, 28, 0, 0 }, { -8, -8, 0, 28, 0, 0 }, { -9, -9, 0, 28, 0, 0 }, - { -10, -10, 0, 28, 0, 0 }, { -11, -11, 0, 28, 0, 0 }, { -12, -12, 0, 28, 0, 0 }, { -13, -13, 0, 28, 0, 0 }, { -14, -14, 0, 28, 0, 0 }, - { -15, -15, 0, 28, 0, 0 }, { -16, -16, 0, 28, 0, 0 }, + 32, { + { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 11, 0, 28, 0, 0 }, + { 10, 10, 0, 28, 0, 0 }, { 9, 9, 0, 28, 0, 0 }, { 8, 8, 0, 28, 0, 0 }, { 7, 7, 0, 28, 0, 0 }, { 6, 6, 0, 28, 0, 0 }, + { 5, 5, 0, 28, 0, 0 }, { 4, 4, 0, 28, 0, 0 }, { 3, 3, 0, 28, 0, 0 }, { 2, 2, 0, 28, 0, 0 }, { 1, 1, 0, 28, 0, 0 }, + { 0, 0, 0, 28, 0, 0 }, { -1, -1, 0, 28, 0, 0 }, { -2, -2, 0, 28, 0, 0 }, { -3, -3, 0, 28, 0, 0 }, { -4, -4, 0, 28, 0, 0 }, + { -5, -5, 0, 28, 0, 0 }, { -6, -6, 0, 28, 0, 0 }, { -7, -7, 0, 28, 0, 0 }, { -8, -8, 0, 28, 0, 0 }, { -9, -9, 0, 28, 0, 0 }, + { -10, -10, 0, 28, 0, 0 }, { -11, -11, 0, 28, 0, 0 }, { -12, -12, 0, 28, 0, 0 }, { -13, -13, 0, 28, 0, 0 }, { -14, -14, 0, 28, 0, 0 }, + { -15, -15, 0, 28, 0, 0 }, { -16, -16, 0, 28, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91676E = { - 32, { - { 15, 16, 0, 4, 51, 0 }, { 14, 17, 1, 4, 51, 0 }, { 13, 18, 1, 4, 51, 0 }, { 12, 19, 2, 4, 51, 0 }, { 11, 20, 2, 4, 51, 0 }, - { 10, 21, 3, 4, 51, 0 }, { 9, 22, 3, 4, 51, 0 }, { 8, 23, 4, 4, 51, 0 }, { 7, 24, 4, 4, 51, 0 }, { 6, 25, 5, 4, 51, 0 }, - { 5, 26, 5, 4, 51, 0 }, { 4, 27, 6, 4, 51, 0 }, { 3, 28, 6, 4, 51, 0 }, { 2, 29, 7, 4, 51, 0 }, { 1, 30, 7, 4, 51, 0 }, - { 0, 31, 8, 4, 51, 0 }, { -1, 32, 8, 4, 51, 0 }, { -2, 33, 9, 4, 51, 0 }, { -3, 34, 9, 4, 51, 0 }, { -4, 35, 10, 4, 51, 0 }, - { -5, 36, 10, 4, 51, 0 }, { -6, 37, 11, 4, 51, 0 }, { -7, 38, 11, 4, 51, 0 }, { -8, 39, 12, 4, 51, 0 }, { -9, 40, 12, 4, 51, 0 }, - { -10, 41, 13, 4, 51, 0 }, { -11, 42, 13, 4, 51, 0 }, { -12, 43, 14, 4, 51, 0 }, { -13, 44, 14, 4, 51, 0 }, { -14, 45, 15, 4, 51, 0 }, - { -15, 46, 15, 4, 51, 0 }, { -16, 47, 16, 4, 51, 0 }, + 32, { + { 15, 16, 0, 4, 51, 0 }, { 14, 17, 1, 4, 51, 0 }, { 13, 18, 1, 4, 51, 0 }, { 12, 19, 2, 4, 51, 0 }, { 11, 20, 2, 4, 51, 0 }, + { 10, 21, 3, 4, 51, 0 }, { 9, 22, 3, 4, 51, 0 }, { 8, 23, 4, 4, 51, 0 }, { 7, 24, 4, 4, 51, 0 }, { 6, 25, 5, 4, 51, 0 }, + { 5, 26, 5, 4, 51, 0 }, { 4, 27, 6, 4, 51, 0 }, { 3, 28, 6, 4, 51, 0 }, { 2, 29, 7, 4, 51, 0 }, { 1, 30, 7, 4, 51, 0 }, + { 0, 31, 8, 4, 51, 0 }, { -1, 32, 8, 4, 51, 0 }, { -2, 33, 9, 4, 51, 0 }, { -3, 34, 9, 4, 51, 0 }, { -4, 35, 10, 4, 51, 0 }, + { -5, 36, 10, 4, 51, 0 }, { -6, 37, 11, 4, 51, 0 }, { -7, 38, 11, 4, 51, 0 }, { -8, 39, 12, 4, 51, 0 }, { -9, 40, 12, 4, 51, 0 }, + { -10, 41, 13, 4, 51, 0 }, { -11, 42, 13, 4, 51, 0 }, { -12, 43, 14, 4, 51, 0 }, { -13, 44, 14, 4, 51, 0 }, { -14, 45, 15, 4, 51, 0 }, + { -15, 46, 15, 4, 51, 0 }, { -16, 47, 16, 4, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_916890 = { - 32, { - { 16, 16, 0, 12, 51, 0 }, { 17, 17, 0, 12, 51, 0 }, { 18, 18, 1, 12, 51, 0 }, { 19, 19, 1, 12, 51, 0 }, { 20, 20, 2, 12, 51, 0 }, - { 21, 21, 2, 12, 51, 0 }, { 22, 22, 3, 12, 51, 0 }, { 23, 23, 3, 12, 51, 0 }, { 24, 24, 4, 12, 51, 0 }, { 25, 25, 4, 12, 51, 0 }, - { 26, 26, 5, 12, 51, 0 }, { 27, 27, 5, 12, 51, 0 }, { 28, 28, 6, 12, 51, 0 }, { 29, 29, 6, 12, 51, 0 }, { 30, 30, 7, 12, 51, 0 }, - { 31, 31, 7, 12, 51, 0 }, { 32, 32, 8, 12, 51, 0 }, { 33, 33, 8, 12, 51, 0 }, { 34, 34, 9, 12, 51, 0 }, { 35, 35, 9, 12, 51, 0 }, - { 36, 36, 10, 12, 51, 0 }, { 37, 37, 10, 12, 51, 0 }, { 38, 38, 11, 12, 51, 0 }, { 39, 39, 11, 12, 51, 0 }, { 40, 40, 12, 12, 51, 0 }, - { 41, 41, 12, 12, 51, 0 }, { 42, 42, 13, 12, 51, 0 }, { 43, 43, 13, 12, 51, 0 }, { 44, 44, 14, 12, 51, 0 }, { 45, 45, 14, 12, 51, 0 }, - { 46, 46, 15, 12, 51, 0 }, { 47, 47, 15, 12, 51, 0 }, + 32, { + { 16, 16, 0, 12, 51, 0 }, { 17, 17, 0, 12, 51, 0 }, { 18, 18, 1, 12, 51, 0 }, { 19, 19, 1, 12, 51, 0 }, { 20, 20, 2, 12, 51, 0 }, + { 21, 21, 2, 12, 51, 0 }, { 22, 22, 3, 12, 51, 0 }, { 23, 23, 3, 12, 51, 0 }, { 24, 24, 4, 12, 51, 0 }, { 25, 25, 4, 12, 51, 0 }, + { 26, 26, 5, 12, 51, 0 }, { 27, 27, 5, 12, 51, 0 }, { 28, 28, 6, 12, 51, 0 }, { 29, 29, 6, 12, 51, 0 }, { 30, 30, 7, 12, 51, 0 }, + { 31, 31, 7, 12, 51, 0 }, { 32, 32, 8, 12, 51, 0 }, { 33, 33, 8, 12, 51, 0 }, { 34, 34, 9, 12, 51, 0 }, { 35, 35, 9, 12, 51, 0 }, + { 36, 36, 10, 12, 51, 0 }, { 37, 37, 10, 12, 51, 0 }, { 38, 38, 11, 12, 51, 0 }, { 39, 39, 11, 12, 51, 0 }, { 40, 40, 12, 12, 51, 0 }, + { 41, 41, 12, 12, 51, 0 }, { 42, 42, 13, 12, 51, 0 }, { 43, 43, 13, 12, 51, 0 }, { 44, 44, 14, 12, 51, 0 }, { 45, 45, 14, 12, 51, 0 }, + { 46, 46, 15, 12, 51, 0 }, { 47, 47, 15, 12, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9169B2 = { - 32, { - { 16, 15, 0, 20, 51, 0 }, { 17, 14, 0, 20, 51, 0 }, { 18, 13, 1, 20, 51, 0 }, { 19, 12, 1, 20, 51, 0 }, { 20, 11, 2, 20, 51, 0 }, - { 21, 10, 2, 20, 51, 0 }, { 22, 9, 3, 20, 51, 0 }, { 23, 8, 3, 20, 51, 0 }, { 24, 7, 4, 20, 51, 0 }, { 25, 6, 4, 20, 51, 0 }, - { 26, 5, 5, 20, 51, 0 }, { 27, 4, 5, 20, 51, 0 }, { 28, 3, 6, 20, 51, 0 }, { 29, 2, 6, 20, 51, 0 }, { 30, 1, 7, 20, 51, 0 }, - { 31, 0, 7, 20, 51, 0 }, { 32, -1, 8, 20, 51, 0 }, { 33, -2, 8, 20, 51, 0 }, { 34, -3, 9, 20, 51, 0 }, { 35, -4, 9, 20, 51, 0 }, - { 36, -5, 10, 20, 51, 0 }, { 37, -6, 10, 20, 51, 0 }, { 38, -7, 11, 20, 51, 0 }, { 39, -8, 11, 20, 51, 0 }, { 40, -9, 12, 20, 51, 0 }, - { 41, -10, 12, 20, 51, 0 }, { 42, -11, 13, 20, 51, 0 }, { 43, -12, 13, 20, 51, 0 }, { 44, -13, 14, 20, 51, 0 }, { 45, -14, 14, 20, 51, 0 }, - { 46, -15, 15, 20, 51, 0 }, { 47, -16, 15, 20, 51, 0 }, + 32, { + { 16, 15, 0, 20, 51, 0 }, { 17, 14, 0, 20, 51, 0 }, { 18, 13, 1, 20, 51, 0 }, { 19, 12, 1, 20, 51, 0 }, { 20, 11, 2, 20, 51, 0 }, + { 21, 10, 2, 20, 51, 0 }, { 22, 9, 3, 20, 51, 0 }, { 23, 8, 3, 20, 51, 0 }, { 24, 7, 4, 20, 51, 0 }, { 25, 6, 4, 20, 51, 0 }, + { 26, 5, 5, 20, 51, 0 }, { 27, 4, 5, 20, 51, 0 }, { 28, 3, 6, 20, 51, 0 }, { 29, 2, 6, 20, 51, 0 }, { 30, 1, 7, 20, 51, 0 }, + { 31, 0, 7, 20, 51, 0 }, { 32, -1, 8, 20, 51, 0 }, { 33, -2, 8, 20, 51, 0 }, { 34, -3, 9, 20, 51, 0 }, { 35, -4, 9, 20, 51, 0 }, + { 36, -5, 10, 20, 51, 0 }, { 37, -6, 10, 20, 51, 0 }, { 38, -7, 11, 20, 51, 0 }, { 39, -8, 11, 20, 51, 0 }, { 40, -9, 12, 20, 51, 0 }, + { 41, -10, 12, 20, 51, 0 }, { 42, -11, 13, 20, 51, 0 }, { 43, -12, 13, 20, 51, 0 }, { 44, -13, 14, 20, 51, 0 }, { 45, -14, 14, 20, 51, 0 }, + { 46, -15, 15, 20, 51, 0 }, { 47, -16, 15, 20, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_916AD4 = { - 32, { - { 15, 15, 0, 28, 51, 0 }, { 14, 14, 1, 28, 51, 0 }, { 13, 13, 1, 28, 51, 0 }, { 12, 12, 2, 28, 51, 0 }, { 11, 11, 2, 28, 51, 0 }, - { 10, 10, 3, 28, 51, 0 }, { 9, 9, 3, 28, 51, 0 }, { 8, 8, 4, 28, 51, 0 }, { 7, 7, 4, 28, 51, 0 }, { 6, 6, 5, 28, 51, 0 }, - { 5, 5, 5, 28, 51, 0 }, { 4, 4, 6, 28, 51, 0 }, { 3, 3, 6, 28, 51, 0 }, { 2, 2, 7, 28, 51, 0 }, { 1, 1, 7, 28, 51, 0 }, - { 0, 0, 8, 28, 51, 0 }, { -1, -1, 8, 28, 51, 0 }, { -2, -2, 9, 28, 51, 0 }, { -3, -3, 9, 28, 51, 0 }, { -4, -4, 10, 28, 51, 0 }, - { -5, -5, 10, 28, 51, 0 }, { -6, -6, 11, 28, 51, 0 }, { -7, -7, 11, 28, 51, 0 }, { -8, -8, 12, 28, 51, 0 }, { -9, -9, 12, 28, 51, 0 }, - { -10, -10, 13, 28, 51, 0 }, { -11, -11, 13, 28, 51, 0 }, { -12, -12, 14, 28, 51, 0 }, { -13, -13, 14, 28, 51, 0 }, { -14, -14, 15, 28, 51, 0 }, - { -15, -15, 15, 28, 51, 0 }, { -16, -16, 16, 28, 51, 0 }, + 32, { + { 15, 15, 0, 28, 51, 0 }, { 14, 14, 1, 28, 51, 0 }, { 13, 13, 1, 28, 51, 0 }, { 12, 12, 2, 28, 51, 0 }, { 11, 11, 2, 28, 51, 0 }, + { 10, 10, 3, 28, 51, 0 }, { 9, 9, 3, 28, 51, 0 }, { 8, 8, 4, 28, 51, 0 }, { 7, 7, 4, 28, 51, 0 }, { 6, 6, 5, 28, 51, 0 }, + { 5, 5, 5, 28, 51, 0 }, { 4, 4, 6, 28, 51, 0 }, { 3, 3, 6, 28, 51, 0 }, { 2, 2, 7, 28, 51, 0 }, { 1, 1, 7, 28, 51, 0 }, + { 0, 0, 8, 28, 51, 0 }, { -1, -1, 8, 28, 51, 0 }, { -2, -2, 9, 28, 51, 0 }, { -3, -3, 9, 28, 51, 0 }, { -4, -4, 10, 28, 51, 0 }, + { -5, -5, 10, 28, 51, 0 }, { -6, -6, 11, 28, 51, 0 }, { -7, -7, 11, 28, 51, 0 }, { -8, -8, 12, 28, 51, 0 }, { -9, -9, 12, 28, 51, 0 }, + { -10, -10, 13, 28, 51, 0 }, { -11, -11, 13, 28, 51, 0 }, { -12, -12, 14, 28, 51, 0 }, { -13, -13, 14, 28, 51, 0 }, { -14, -14, 15, 28, 51, 0 }, + { -15, -15, 15, 28, 51, 0 }, { -16, -16, 16, 28, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91707E = { - 64, { - { 15, 16, 0, 4, 52, 0 }, { 15, 16, 1, 4, 52, 0 }, { 14, 17, 2, 4, 52, 0 }, { 14, 17, 3, 4, 52, 0 }, { 13, 18, 4, 4, 52, 0 }, - { 13, 18, 5, 4, 52, 0 }, { 12, 19, 6, 4, 52, 0 }, { 12, 19, 7, 4, 52, 0 }, { 11, 20, 8, 4, 52, 0 }, { 11, 20, 9, 4, 52, 0 }, - { 10, 21, 10, 4, 52, 0 }, { 10, 21, 11, 4, 52, 0 }, { 9, 22, 12, 4, 52, 0 }, { 9, 22, 13, 4, 52, 0 }, { 8, 23, 14, 4, 52, 0 }, - { 8, 23, 15, 4, 52, 0 }, { 7, 24, 16, 4, 52, 0 }, { 7, 24, 17, 4, 52, 0 }, { 6, 25, 18, 4, 52, 0 }, { 6, 25, 19, 4, 52, 0 }, - { 5, 26, 20, 4, 52, 0 }, { 5, 26, 21, 4, 52, 0 }, { 4, 27, 22, 4, 52, 0 }, { 4, 27, 23, 4, 52, 0 }, { 3, 28, 24, 4, 52, 0 }, - { 3, 28, 25, 4, 52, 0 }, { 2, 29, 26, 4, 52, 0 }, { 2, 29, 27, 4, 52, 0 }, { 1, 30, 28, 4, 52, 0 }, { 1, 30, 29, 4, 52, 0 }, - { 0, 31, 30, 4, 52, 0 }, { 0, 31, 31, 4, 52, 0 }, { -1, 32, 32, 4, 52, 0 }, { -1, 32, 33, 4, 52, 0 }, { -2, 33, 34, 4, 52, 0 }, - { -2, 33, 35, 4, 52, 0 }, { -3, 34, 36, 4, 52, 0 }, { -3, 34, 37, 4, 52, 0 }, { -4, 35, 38, 4, 52, 0 }, { -4, 35, 39, 4, 52, 0 }, - { -5, 36, 40, 4, 52, 0 }, { -5, 36, 41, 4, 52, 0 }, { -6, 37, 42, 4, 52, 0 }, { -6, 37, 43, 4, 52, 0 }, { -7, 38, 44, 4, 52, 0 }, - { -7, 38, 45, 4, 52, 0 }, { -8, 39, 46, 4, 52, 0 }, { -8, 39, 47, 4, 52, 0 }, { -9, 40, 48, 4, 52, 0 }, { -9, 40, 49, 4, 52, 0 }, - { -10, 41, 50, 4, 52, 0 }, { -10, 41, 51, 4, 52, 0 }, { -11, 42, 52, 4, 52, 0 }, { -11, 42, 53, 4, 52, 0 }, { -12, 43, 54, 4, 52, 0 }, - { -12, 43, 55, 4, 52, 0 }, { -13, 44, 56, 4, 52, 0 }, { -13, 44, 57, 4, 52, 0 }, { -14, 45, 58, 4, 52, 0 }, { -14, 45, 59, 4, 52, 0 }, - { -15, 46, 60, 4, 52, 0 }, { -15, 46, 61, 4, 52, 0 }, { -16, 47, 62, 4, 52, 0 }, { -16, 47, 63, 4, 52, 0 }, + 64, { + { 15, 16, 0, 4, 52, 0 }, { 15, 16, 1, 4, 52, 0 }, { 14, 17, 2, 4, 52, 0 }, { 14, 17, 3, 4, 52, 0 }, { 13, 18, 4, 4, 52, 0 }, + { 13, 18, 5, 4, 52, 0 }, { 12, 19, 6, 4, 52, 0 }, { 12, 19, 7, 4, 52, 0 }, { 11, 20, 8, 4, 52, 0 }, { 11, 20, 9, 4, 52, 0 }, + { 10, 21, 10, 4, 52, 0 }, { 10, 21, 11, 4, 52, 0 }, { 9, 22, 12, 4, 52, 0 }, { 9, 22, 13, 4, 52, 0 }, { 8, 23, 14, 4, 52, 0 }, + { 8, 23, 15, 4, 52, 0 }, { 7, 24, 16, 4, 52, 0 }, { 7, 24, 17, 4, 52, 0 }, { 6, 25, 18, 4, 52, 0 }, { 6, 25, 19, 4, 52, 0 }, + { 5, 26, 20, 4, 52, 0 }, { 5, 26, 21, 4, 52, 0 }, { 4, 27, 22, 4, 52, 0 }, { 4, 27, 23, 4, 52, 0 }, { 3, 28, 24, 4, 52, 0 }, + { 3, 28, 25, 4, 52, 0 }, { 2, 29, 26, 4, 52, 0 }, { 2, 29, 27, 4, 52, 0 }, { 1, 30, 28, 4, 52, 0 }, { 1, 30, 29, 4, 52, 0 }, + { 0, 31, 30, 4, 52, 0 }, { 0, 31, 31, 4, 52, 0 }, { -1, 32, 32, 4, 52, 0 }, { -1, 32, 33, 4, 52, 0 }, { -2, 33, 34, 4, 52, 0 }, + { -2, 33, 35, 4, 52, 0 }, { -3, 34, 36, 4, 52, 0 }, { -3, 34, 37, 4, 52, 0 }, { -4, 35, 38, 4, 52, 0 }, { -4, 35, 39, 4, 52, 0 }, + { -5, 36, 40, 4, 52, 0 }, { -5, 36, 41, 4, 52, 0 }, { -6, 37, 42, 4, 52, 0 }, { -6, 37, 43, 4, 52, 0 }, { -7, 38, 44, 4, 52, 0 }, + { -7, 38, 45, 4, 52, 0 }, { -8, 39, 46, 4, 52, 0 }, { -8, 39, 47, 4, 52, 0 }, { -9, 40, 48, 4, 52, 0 }, { -9, 40, 49, 4, 52, 0 }, + { -10, 41, 50, 4, 52, 0 }, { -10, 41, 51, 4, 52, 0 }, { -11, 42, 52, 4, 52, 0 }, { -11, 42, 53, 4, 52, 0 }, { -12, 43, 54, 4, 52, 0 }, + { -12, 43, 55, 4, 52, 0 }, { -13, 44, 56, 4, 52, 0 }, { -13, 44, 57, 4, 52, 0 }, { -14, 45, 58, 4, 52, 0 }, { -14, 45, 59, 4, 52, 0 }, + { -15, 46, 60, 4, 52, 0 }, { -15, 46, 61, 4, 52, 0 }, { -16, 47, 62, 4, 52, 0 }, { -16, 47, 63, 4, 52, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9172C0 = { - 64, { - { 16, 16, 0, 12, 52, 0 }, { 16, 16, 1, 12, 52, 0 }, { 17, 17, 2, 12, 52, 0 }, { 17, 17, 3, 12, 52, 0 }, { 18, 18, 4, 12, 52, 0 }, - { 18, 18, 5, 12, 52, 0 }, { 19, 19, 6, 12, 52, 0 }, { 19, 19, 7, 12, 52, 0 }, { 20, 20, 8, 12, 52, 0 }, { 20, 20, 9, 12, 52, 0 }, - { 21, 21, 10, 12, 52, 0 }, { 21, 21, 11, 12, 52, 0 }, { 22, 22, 12, 12, 52, 0 }, { 22, 22, 13, 12, 52, 0 }, { 23, 23, 14, 12, 52, 0 }, - { 23, 23, 15, 12, 52, 0 }, { 24, 24, 16, 12, 52, 0 }, { 24, 24, 17, 12, 52, 0 }, { 25, 25, 18, 12, 52, 0 }, { 25, 25, 19, 12, 52, 0 }, - { 26, 26, 20, 12, 52, 0 }, { 26, 26, 21, 12, 52, 0 }, { 27, 27, 22, 12, 52, 0 }, { 27, 27, 23, 12, 52, 0 }, { 28, 28, 24, 12, 52, 0 }, - { 28, 28, 25, 12, 52, 0 }, { 29, 29, 26, 12, 52, 0 }, { 29, 29, 27, 12, 52, 0 }, { 30, 30, 28, 12, 52, 0 }, { 30, 30, 29, 12, 52, 0 }, - { 31, 31, 30, 12, 52, 0 }, { 31, 31, 31, 12, 52, 0 }, { 32, 32, 32, 12, 52, 0 }, { 32, 32, 33, 12, 52, 0 }, { 33, 33, 34, 12, 52, 0 }, - { 33, 33, 35, 12, 52, 0 }, { 34, 34, 36, 12, 52, 0 }, { 34, 34, 37, 12, 52, 0 }, { 35, 35, 38, 12, 52, 0 }, { 35, 35, 39, 12, 52, 0 }, - { 36, 36, 40, 12, 52, 0 }, { 36, 36, 41, 12, 52, 0 }, { 37, 37, 42, 12, 52, 0 }, { 37, 37, 43, 12, 52, 0 }, { 38, 38, 44, 12, 52, 0 }, - { 38, 38, 45, 12, 52, 0 }, { 39, 39, 46, 12, 52, 0 }, { 39, 39, 47, 12, 52, 0 }, { 40, 40, 48, 12, 52, 0 }, { 40, 40, 49, 12, 52, 0 }, - { 41, 41, 50, 12, 52, 0 }, { 41, 41, 51, 12, 52, 0 }, { 42, 42, 52, 12, 52, 0 }, { 42, 42, 53, 12, 52, 0 }, { 43, 43, 54, 12, 52, 0 }, - { 43, 43, 55, 12, 52, 0 }, { 44, 44, 56, 12, 52, 0 }, { 44, 44, 57, 12, 52, 0 }, { 45, 45, 58, 12, 52, 0 }, { 45, 45, 59, 12, 52, 0 }, - { 46, 46, 60, 12, 52, 0 }, { 46, 46, 61, 12, 52, 0 }, { 47, 47, 62, 12, 52, 0 }, { 47, 47, 63, 12, 52, 0 }, + 64, { + { 16, 16, 0, 12, 52, 0 }, { 16, 16, 1, 12, 52, 0 }, { 17, 17, 2, 12, 52, 0 }, { 17, 17, 3, 12, 52, 0 }, { 18, 18, 4, 12, 52, 0 }, + { 18, 18, 5, 12, 52, 0 }, { 19, 19, 6, 12, 52, 0 }, { 19, 19, 7, 12, 52, 0 }, { 20, 20, 8, 12, 52, 0 }, { 20, 20, 9, 12, 52, 0 }, + { 21, 21, 10, 12, 52, 0 }, { 21, 21, 11, 12, 52, 0 }, { 22, 22, 12, 12, 52, 0 }, { 22, 22, 13, 12, 52, 0 }, { 23, 23, 14, 12, 52, 0 }, + { 23, 23, 15, 12, 52, 0 }, { 24, 24, 16, 12, 52, 0 }, { 24, 24, 17, 12, 52, 0 }, { 25, 25, 18, 12, 52, 0 }, { 25, 25, 19, 12, 52, 0 }, + { 26, 26, 20, 12, 52, 0 }, { 26, 26, 21, 12, 52, 0 }, { 27, 27, 22, 12, 52, 0 }, { 27, 27, 23, 12, 52, 0 }, { 28, 28, 24, 12, 52, 0 }, + { 28, 28, 25, 12, 52, 0 }, { 29, 29, 26, 12, 52, 0 }, { 29, 29, 27, 12, 52, 0 }, { 30, 30, 28, 12, 52, 0 }, { 30, 30, 29, 12, 52, 0 }, + { 31, 31, 30, 12, 52, 0 }, { 31, 31, 31, 12, 52, 0 }, { 32, 32, 32, 12, 52, 0 }, { 32, 32, 33, 12, 52, 0 }, { 33, 33, 34, 12, 52, 0 }, + { 33, 33, 35, 12, 52, 0 }, { 34, 34, 36, 12, 52, 0 }, { 34, 34, 37, 12, 52, 0 }, { 35, 35, 38, 12, 52, 0 }, { 35, 35, 39, 12, 52, 0 }, + { 36, 36, 40, 12, 52, 0 }, { 36, 36, 41, 12, 52, 0 }, { 37, 37, 42, 12, 52, 0 }, { 37, 37, 43, 12, 52, 0 }, { 38, 38, 44, 12, 52, 0 }, + { 38, 38, 45, 12, 52, 0 }, { 39, 39, 46, 12, 52, 0 }, { 39, 39, 47, 12, 52, 0 }, { 40, 40, 48, 12, 52, 0 }, { 40, 40, 49, 12, 52, 0 }, + { 41, 41, 50, 12, 52, 0 }, { 41, 41, 51, 12, 52, 0 }, { 42, 42, 52, 12, 52, 0 }, { 42, 42, 53, 12, 52, 0 }, { 43, 43, 54, 12, 52, 0 }, + { 43, 43, 55, 12, 52, 0 }, { 44, 44, 56, 12, 52, 0 }, { 44, 44, 57, 12, 52, 0 }, { 45, 45, 58, 12, 52, 0 }, { 45, 45, 59, 12, 52, 0 }, + { 46, 46, 60, 12, 52, 0 }, { 46, 46, 61, 12, 52, 0 }, { 47, 47, 62, 12, 52, 0 }, { 47, 47, 63, 12, 52, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_917502 = { - 64, { - { 16, 15, 0, 20, 52, 0 }, { 16, 15, 1, 20, 52, 0 }, { 17, 14, 2, 20, 52, 0 }, { 17, 14, 3, 20, 52, 0 }, { 18, 13, 4, 20, 52, 0 }, - { 18, 13, 5, 20, 52, 0 }, { 19, 12, 6, 20, 52, 0 }, { 19, 12, 7, 20, 52, 0 }, { 20, 11, 8, 20, 52, 0 }, { 20, 11, 9, 20, 52, 0 }, - { 21, 10, 10, 20, 52, 0 }, { 21, 10, 11, 20, 52, 0 }, { 22, 9, 12, 20, 52, 0 }, { 22, 9, 13, 20, 52, 0 }, { 23, 8, 14, 20, 52, 0 }, - { 23, 8, 15, 20, 52, 0 }, { 24, 7, 16, 20, 52, 0 }, { 24, 7, 17, 20, 52, 0 }, { 25, 6, 18, 20, 52, 0 }, { 25, 6, 19, 20, 52, 0 }, - { 26, 5, 20, 20, 52, 0 }, { 26, 5, 21, 20, 52, 0 }, { 27, 4, 22, 20, 52, 0 }, { 27, 4, 23, 20, 52, 0 }, { 28, 3, 24, 20, 52, 0 }, - { 28, 3, 25, 20, 52, 0 }, { 29, 2, 26, 20, 52, 0 }, { 29, 2, 27, 20, 52, 0 }, { 30, 1, 28, 20, 52, 0 }, { 30, 1, 29, 20, 52, 0 }, - { 31, 0, 30, 20, 52, 0 }, { 31, 0, 31, 20, 52, 0 }, { 32, -1, 32, 20, 52, 0 }, { 32, -1, 33, 20, 52, 0 }, { 33, -2, 34, 20, 52, 0 }, - { 33, -2, 35, 20, 52, 0 }, { 34, -3, 36, 20, 52, 0 }, { 34, -3, 37, 20, 52, 0 }, { 35, -4, 38, 20, 52, 0 }, { 35, -4, 39, 20, 52, 0 }, - { 36, -5, 40, 20, 52, 0 }, { 36, -5, 41, 20, 52, 0 }, { 37, -6, 42, 20, 52, 0 }, { 37, -6, 43, 20, 52, 0 }, { 38, -7, 44, 20, 52, 0 }, - { 38, -7, 45, 20, 52, 0 }, { 39, -8, 46, 20, 52, 0 }, { 39, -8, 47, 20, 52, 0 }, { 40, -9, 48, 20, 52, 0 }, { 40, -9, 49, 20, 52, 0 }, - { 41, -10, 50, 20, 52, 0 }, { 41, -10, 51, 20, 52, 0 }, { 42, -11, 52, 20, 52, 0 }, { 42, -11, 53, 20, 52, 0 }, { 43, -12, 54, 20, 52, 0 }, - { 43, -12, 55, 20, 52, 0 }, { 44, -13, 56, 20, 52, 0 }, { 44, -13, 57, 20, 52, 0 }, { 45, -14, 58, 20, 52, 0 }, { 45, -14, 59, 20, 52, 0 }, - { 46, -15, 60, 20, 52, 0 }, { 46, -15, 61, 20, 52, 0 }, { 47, -16, 62, 20, 52, 0 }, { 47, -16, 63, 20, 52, 0 }, + 64, { + { 16, 15, 0, 20, 52, 0 }, { 16, 15, 1, 20, 52, 0 }, { 17, 14, 2, 20, 52, 0 }, { 17, 14, 3, 20, 52, 0 }, { 18, 13, 4, 20, 52, 0 }, + { 18, 13, 5, 20, 52, 0 }, { 19, 12, 6, 20, 52, 0 }, { 19, 12, 7, 20, 52, 0 }, { 20, 11, 8, 20, 52, 0 }, { 20, 11, 9, 20, 52, 0 }, + { 21, 10, 10, 20, 52, 0 }, { 21, 10, 11, 20, 52, 0 }, { 22, 9, 12, 20, 52, 0 }, { 22, 9, 13, 20, 52, 0 }, { 23, 8, 14, 20, 52, 0 }, + { 23, 8, 15, 20, 52, 0 }, { 24, 7, 16, 20, 52, 0 }, { 24, 7, 17, 20, 52, 0 }, { 25, 6, 18, 20, 52, 0 }, { 25, 6, 19, 20, 52, 0 }, + { 26, 5, 20, 20, 52, 0 }, { 26, 5, 21, 20, 52, 0 }, { 27, 4, 22, 20, 52, 0 }, { 27, 4, 23, 20, 52, 0 }, { 28, 3, 24, 20, 52, 0 }, + { 28, 3, 25, 20, 52, 0 }, { 29, 2, 26, 20, 52, 0 }, { 29, 2, 27, 20, 52, 0 }, { 30, 1, 28, 20, 52, 0 }, { 30, 1, 29, 20, 52, 0 }, + { 31, 0, 30, 20, 52, 0 }, { 31, 0, 31, 20, 52, 0 }, { 32, -1, 32, 20, 52, 0 }, { 32, -1, 33, 20, 52, 0 }, { 33, -2, 34, 20, 52, 0 }, + { 33, -2, 35, 20, 52, 0 }, { 34, -3, 36, 20, 52, 0 }, { 34, -3, 37, 20, 52, 0 }, { 35, -4, 38, 20, 52, 0 }, { 35, -4, 39, 20, 52, 0 }, + { 36, -5, 40, 20, 52, 0 }, { 36, -5, 41, 20, 52, 0 }, { 37, -6, 42, 20, 52, 0 }, { 37, -6, 43, 20, 52, 0 }, { 38, -7, 44, 20, 52, 0 }, + { 38, -7, 45, 20, 52, 0 }, { 39, -8, 46, 20, 52, 0 }, { 39, -8, 47, 20, 52, 0 }, { 40, -9, 48, 20, 52, 0 }, { 40, -9, 49, 20, 52, 0 }, + { 41, -10, 50, 20, 52, 0 }, { 41, -10, 51, 20, 52, 0 }, { 42, -11, 52, 20, 52, 0 }, { 42, -11, 53, 20, 52, 0 }, { 43, -12, 54, 20, 52, 0 }, + { 43, -12, 55, 20, 52, 0 }, { 44, -13, 56, 20, 52, 0 }, { 44, -13, 57, 20, 52, 0 }, { 45, -14, 58, 20, 52, 0 }, { 45, -14, 59, 20, 52, 0 }, + { 46, -15, 60, 20, 52, 0 }, { 46, -15, 61, 20, 52, 0 }, { 47, -16, 62, 20, 52, 0 }, { 47, -16, 63, 20, 52, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_917744 = { - 64, { - { 15, 15, 0, 28, 52, 0 }, { 15, 15, 1, 28, 52, 0 }, { 14, 14, 2, 28, 52, 0 }, { 14, 14, 3, 28, 52, 0 }, { 13, 13, 4, 28, 52, 0 }, - { 13, 13, 5, 28, 52, 0 }, { 12, 12, 6, 28, 52, 0 }, { 12, 12, 7, 28, 52, 0 }, { 11, 11, 8, 28, 52, 0 }, { 11, 11, 9, 28, 52, 0 }, - { 10, 10, 10, 28, 52, 0 }, { 10, 10, 11, 28, 52, 0 }, { 9, 9, 12, 28, 52, 0 }, { 9, 9, 13, 28, 52, 0 }, { 8, 8, 14, 28, 52, 0 }, - { 8, 8, 15, 28, 52, 0 }, { 7, 7, 16, 28, 52, 0 }, { 7, 7, 17, 28, 52, 0 }, { 6, 6, 18, 28, 52, 0 }, { 6, 6, 19, 28, 52, 0 }, - { 5, 5, 20, 28, 52, 0 }, { 5, 5, 21, 28, 52, 0 }, { 4, 4, 22, 28, 52, 0 }, { 4, 4, 23, 28, 52, 0 }, { 3, 3, 24, 28, 52, 0 }, - { 3, 3, 25, 28, 52, 0 }, { 2, 2, 26, 28, 52, 0 }, { 2, 2, 27, 28, 52, 0 }, { 1, 1, 28, 28, 52, 0 }, { 1, 1, 29, 28, 52, 0 }, - { 0, 0, 30, 28, 52, 0 }, { 0, 0, 31, 28, 52, 0 }, { -1, -1, 32, 28, 52, 0 }, { -1, -1, 33, 28, 52, 0 }, { -2, -2, 34, 28, 52, 0 }, - { -2, -2, 35, 28, 52, 0 }, { -3, -3, 36, 28, 52, 0 }, { -3, -3, 37, 28, 52, 0 }, { -4, -4, 38, 28, 52, 0 }, { -4, -4, 39, 28, 52, 0 }, - { -5, -5, 40, 28, 52, 0 }, { -5, -5, 41, 28, 52, 0 }, { -6, -6, 42, 28, 52, 0 }, { -6, -6, 43, 28, 52, 0 }, { -7, -7, 44, 28, 52, 0 }, - { -7, -7, 45, 28, 52, 0 }, { -8, -8, 46, 28, 52, 0 }, { -8, -8, 47, 28, 52, 0 }, { -9, -9, 48, 28, 52, 0 }, { -9, -9, 49, 28, 52, 0 }, - { -10, -10, 50, 28, 52, 0 }, { -10, -10, 51, 28, 52, 0 }, { -11, -11, 52, 28, 52, 0 }, { -11, -11, 53, 28, 52, 0 }, { -12, -12, 54, 28, 52, 0 }, - { -12, -12, 55, 28, 52, 0 }, { -13, -13, 56, 28, 52, 0 }, { -13, -13, 57, 28, 52, 0 }, { -14, -14, 58, 28, 52, 0 }, { -14, -14, 59, 28, 52, 0 }, - { -15, -15, 60, 28, 52, 0 }, { -15, -15, 61, 28, 52, 0 }, { -16, -16, 62, 28, 52, 0 }, { -16, -16, 63, 28, 52, 0 }, + 64, { + { 15, 15, 0, 28, 52, 0 }, { 15, 15, 1, 28, 52, 0 }, { 14, 14, 2, 28, 52, 0 }, { 14, 14, 3, 28, 52, 0 }, { 13, 13, 4, 28, 52, 0 }, + { 13, 13, 5, 28, 52, 0 }, { 12, 12, 6, 28, 52, 0 }, { 12, 12, 7, 28, 52, 0 }, { 11, 11, 8, 28, 52, 0 }, { 11, 11, 9, 28, 52, 0 }, + { 10, 10, 10, 28, 52, 0 }, { 10, 10, 11, 28, 52, 0 }, { 9, 9, 12, 28, 52, 0 }, { 9, 9, 13, 28, 52, 0 }, { 8, 8, 14, 28, 52, 0 }, + { 8, 8, 15, 28, 52, 0 }, { 7, 7, 16, 28, 52, 0 }, { 7, 7, 17, 28, 52, 0 }, { 6, 6, 18, 28, 52, 0 }, { 6, 6, 19, 28, 52, 0 }, + { 5, 5, 20, 28, 52, 0 }, { 5, 5, 21, 28, 52, 0 }, { 4, 4, 22, 28, 52, 0 }, { 4, 4, 23, 28, 52, 0 }, { 3, 3, 24, 28, 52, 0 }, + { 3, 3, 25, 28, 52, 0 }, { 2, 2, 26, 28, 52, 0 }, { 2, 2, 27, 28, 52, 0 }, { 1, 1, 28, 28, 52, 0 }, { 1, 1, 29, 28, 52, 0 }, + { 0, 0, 30, 28, 52, 0 }, { 0, 0, 31, 28, 52, 0 }, { -1, -1, 32, 28, 52, 0 }, { -1, -1, 33, 28, 52, 0 }, { -2, -2, 34, 28, 52, 0 }, + { -2, -2, 35, 28, 52, 0 }, { -3, -3, 36, 28, 52, 0 }, { -3, -3, 37, 28, 52, 0 }, { -4, -4, 38, 28, 52, 0 }, { -4, -4, 39, 28, 52, 0 }, + { -5, -5, 40, 28, 52, 0 }, { -5, -5, 41, 28, 52, 0 }, { -6, -6, 42, 28, 52, 0 }, { -6, -6, 43, 28, 52, 0 }, { -7, -7, 44, 28, 52, 0 }, + { -7, -7, 45, 28, 52, 0 }, { -8, -8, 46, 28, 52, 0 }, { -8, -8, 47, 28, 52, 0 }, { -9, -9, 48, 28, 52, 0 }, { -9, -9, 49, 28, 52, 0 }, + { -10, -10, 50, 28, 52, 0 }, { -10, -10, 51, 28, 52, 0 }, { -11, -11, 52, 28, 52, 0 }, { -11, -11, 53, 28, 52, 0 }, { -12, -12, 54, 28, 52, 0 }, + { -12, -12, 55, 28, 52, 0 }, { -13, -13, 56, 28, 52, 0 }, { -13, -13, 57, 28, 52, 0 }, { -14, -14, 58, 28, 52, 0 }, { -14, -14, 59, 28, 52, 0 }, + { -15, -15, 60, 28, 52, 0 }, { -15, -15, 61, 28, 52, 0 }, { -16, -16, 62, 28, 52, 0 }, { -16, -16, 63, 28, 52, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91828E = { - 32, { - { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 4, 0, 0 }, { 13, 18, 0, 4, 0, 0 }, { 12, 19, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, - { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 0, 4, 0, 0 }, { 7, 24, 0, 4, 50, 0 }, { 6, 25, 0, 4, 50, 0 }, - { 5, 26, 1, 4, 50, 0 }, { 4, 27, 1, 4, 50, 0 }, { 3, 28, 1, 4, 50, 0 }, { 2, 29, 1, 4, 50, 0 }, { 1, 30, 1, 4, 50, 0 }, - { 0, 31, 1, 4, 50, 0 }, { -1, 32, 2, 4, 50, 0 }, { -2, 33, 2, 4, 50, 0 }, { -3, 34, 2, 4, 50, 0 }, { -4, 35, 2, 4, 50, 0 }, - { -5, 36, 3, 4, 50, 0 }, { -6, 37, 3, 4, 50, 0 }, { -7, 38, 3, 4, 50, 0 }, { -8, 39, 4, 4, 50, 0 }, { -9, 40, 4, 4, 51, 0 }, - { -10, 41, 5, 4, 51, 0 }, { -11, 42, 5, 4, 51, 0 }, { -12, 43, 6, 4, 51, 0 }, { -13, 44, 6, 4, 51, 0 }, { -14, 45, 7, 4, 51, 0 }, - { -15, 46, 7, 4, 51, 0 }, { -16, 47, 8, 4, 51, 0 }, + 32, { + { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 4, 0, 0 }, { 13, 18, 0, 4, 0, 0 }, { 12, 19, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, + { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 0, 4, 0, 0 }, { 7, 24, 0, 4, 50, 0 }, { 6, 25, 0, 4, 50, 0 }, + { 5, 26, 1, 4, 50, 0 }, { 4, 27, 1, 4, 50, 0 }, { 3, 28, 1, 4, 50, 0 }, { 2, 29, 1, 4, 50, 0 }, { 1, 30, 1, 4, 50, 0 }, + { 0, 31, 1, 4, 50, 0 }, { -1, 32, 2, 4, 50, 0 }, { -2, 33, 2, 4, 50, 0 }, { -3, 34, 2, 4, 50, 0 }, { -4, 35, 2, 4, 50, 0 }, + { -5, 36, 3, 4, 50, 0 }, { -6, 37, 3, 4, 50, 0 }, { -7, 38, 3, 4, 50, 0 }, { -8, 39, 4, 4, 50, 0 }, { -9, 40, 4, 4, 51, 0 }, + { -10, 41, 5, 4, 51, 0 }, { -11, 42, 5, 4, 51, 0 }, { -12, 43, 6, 4, 51, 0 }, { -13, 44, 6, 4, 51, 0 }, { -14, 45, 7, 4, 51, 0 }, + { -15, 46, 7, 4, 51, 0 }, { -16, 47, 8, 4, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9183B0 = { - 32, { - { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, - { 21, 21, 0, 12, 0, 0 }, { 22, 22, 0, 12, 0, 0 }, { 23, 23, 0, 12, 0, 0 }, { 24, 24, 0, 12, 50, 0 }, { 25, 25, 0, 12, 50, 0 }, - { 26, 26, 1, 12, 50, 0 }, { 27, 27, 1, 12, 50, 0 }, { 28, 28, 1, 12, 50, 0 }, { 29, 29, 1, 12, 50, 0 }, { 30, 30, 1, 12, 50, 0 }, - { 31, 31, 1, 12, 50, 0 }, { 32, 32, 2, 12, 50, 0 }, { 33, 33, 2, 12, 50, 0 }, { 34, 34, 2, 12, 50, 0 }, { 35, 35, 2, 12, 50, 0 }, - { 36, 36, 3, 12, 50, 0 }, { 37, 37, 3, 12, 50, 0 }, { 38, 38, 3, 12, 50, 0 }, { 39, 39, 4, 12, 50, 0 }, { 40, 40, 4, 12, 51, 0 }, - { 41, 41, 4, 12, 51, 0 }, { 42, 42, 5, 12, 51, 0 }, { 43, 43, 5, 12, 51, 0 }, { 44, 44, 6, 12, 51, 0 }, { 45, 45, 6, 12, 51, 0 }, - { 46, 46, 7, 12, 51, 0 }, { 47, 47, 7, 12, 51, 0 }, + 32, { + { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, + { 21, 21, 0, 12, 0, 0 }, { 22, 22, 0, 12, 0, 0 }, { 23, 23, 0, 12, 0, 0 }, { 24, 24, 0, 12, 50, 0 }, { 25, 25, 0, 12, 50, 0 }, + { 26, 26, 1, 12, 50, 0 }, { 27, 27, 1, 12, 50, 0 }, { 28, 28, 1, 12, 50, 0 }, { 29, 29, 1, 12, 50, 0 }, { 30, 30, 1, 12, 50, 0 }, + { 31, 31, 1, 12, 50, 0 }, { 32, 32, 2, 12, 50, 0 }, { 33, 33, 2, 12, 50, 0 }, { 34, 34, 2, 12, 50, 0 }, { 35, 35, 2, 12, 50, 0 }, + { 36, 36, 3, 12, 50, 0 }, { 37, 37, 3, 12, 50, 0 }, { 38, 38, 3, 12, 50, 0 }, { 39, 39, 4, 12, 50, 0 }, { 40, 40, 4, 12, 51, 0 }, + { 41, 41, 4, 12, 51, 0 }, { 42, 42, 5, 12, 51, 0 }, { 43, 43, 5, 12, 51, 0 }, { 44, 44, 6, 12, 51, 0 }, { 45, 45, 6, 12, 51, 0 }, + { 46, 46, 7, 12, 51, 0 }, { 47, 47, 7, 12, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9184D2 = { - 32, { - { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 11, 0, 20, 0, 0 }, - { 21, 10, 0, 20, 0, 0 }, { 22, 9, 0, 20, 0, 0 }, { 23, 8, 0, 20, 0, 0 }, { 24, 7, 0, 20, 50, 0 }, { 25, 6, 0, 20, 50, 0 }, - { 26, 5, 1, 20, 50, 0 }, { 27, 4, 1, 20, 50, 0 }, { 28, 3, 1, 20, 50, 0 }, { 29, 2, 1, 20, 50, 0 }, { 30, 1, 1, 20, 50, 0 }, - { 31, 0, 1, 20, 50, 0 }, { 32, -1, 2, 20, 50, 0 }, { 33, -2, 2, 20, 50, 0 }, { 34, -3, 2, 20, 50, 0 }, { 35, -4, 2, 20, 50, 0 }, - { 36, -5, 3, 20, 50, 0 }, { 37, -6, 3, 20, 50, 0 }, { 38, -7, 3, 20, 50, 0 }, { 39, -8, 4, 20, 50, 0 }, { 40, -9, 4, 20, 51, 0 }, - { 41, -10, 4, 20, 51, 0 }, { 42, -11, 5, 20, 51, 0 }, { 43, -12, 5, 20, 51, 0 }, { 44, -13, 6, 20, 51, 0 }, { 45, -14, 6, 20, 51, 0 }, - { 46, -15, 7, 20, 51, 0 }, { 47, -16, 7, 20, 51, 0 }, + 32, { + { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 11, 0, 20, 0, 0 }, + { 21, 10, 0, 20, 0, 0 }, { 22, 9, 0, 20, 0, 0 }, { 23, 8, 0, 20, 0, 0 }, { 24, 7, 0, 20, 50, 0 }, { 25, 6, 0, 20, 50, 0 }, + { 26, 5, 1, 20, 50, 0 }, { 27, 4, 1, 20, 50, 0 }, { 28, 3, 1, 20, 50, 0 }, { 29, 2, 1, 20, 50, 0 }, { 30, 1, 1, 20, 50, 0 }, + { 31, 0, 1, 20, 50, 0 }, { 32, -1, 2, 20, 50, 0 }, { 33, -2, 2, 20, 50, 0 }, { 34, -3, 2, 20, 50, 0 }, { 35, -4, 2, 20, 50, 0 }, + { 36, -5, 3, 20, 50, 0 }, { 37, -6, 3, 20, 50, 0 }, { 38, -7, 3, 20, 50, 0 }, { 39, -8, 4, 20, 50, 0 }, { 40, -9, 4, 20, 51, 0 }, + { 41, -10, 4, 20, 51, 0 }, { 42, -11, 5, 20, 51, 0 }, { 43, -12, 5, 20, 51, 0 }, { 44, -13, 6, 20, 51, 0 }, { 45, -14, 6, 20, 51, 0 }, + { 46, -15, 7, 20, 51, 0 }, { 47, -16, 7, 20, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9185F4 = { - 32, { - { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 11, 0, 28, 0, 0 }, - { 10, 10, 0, 28, 0, 0 }, { 9, 9, 0, 28, 0, 0 }, { 8, 8, 0, 28, 0, 0 }, { 7, 7, 0, 28, 50, 0 }, { 6, 6, 0, 28, 50, 0 }, - { 5, 5, 1, 28, 50, 0 }, { 4, 4, 1, 28, 50, 0 }, { 3, 3, 1, 28, 50, 0 }, { 2, 2, 1, 28, 50, 0 }, { 1, 1, 1, 28, 50, 0 }, - { 0, 0, 1, 28, 50, 0 }, { -1, -1, 2, 28, 50, 0 }, { -2, -2, 2, 28, 50, 0 }, { -3, -3, 2, 28, 50, 0 }, { -4, -4, 2, 28, 50, 0 }, - { -5, -5, 3, 28, 50, 0 }, { -6, -6, 3, 28, 50, 0 }, { -7, -7, 3, 28, 50, 0 }, { -8, -8, 4, 28, 50, 0 }, { -9, -9, 4, 28, 51, 0 }, - { -10, -10, 5, 28, 51, 0 }, { -11, -11, 5, 28, 51, 0 }, { -12, -12, 6, 28, 51, 0 }, { -13, -13, 6, 28, 51, 0 }, { -14, -14, 7, 28, 51, 0 }, - { -15, -15, 7, 28, 51, 0 }, { -16, -16, 8, 28, 51, 0 }, + 32, { + { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 11, 0, 28, 0, 0 }, + { 10, 10, 0, 28, 0, 0 }, { 9, 9, 0, 28, 0, 0 }, { 8, 8, 0, 28, 0, 0 }, { 7, 7, 0, 28, 50, 0 }, { 6, 6, 0, 28, 50, 0 }, + { 5, 5, 1, 28, 50, 0 }, { 4, 4, 1, 28, 50, 0 }, { 3, 3, 1, 28, 50, 0 }, { 2, 2, 1, 28, 50, 0 }, { 1, 1, 1, 28, 50, 0 }, + { 0, 0, 1, 28, 50, 0 }, { -1, -1, 2, 28, 50, 0 }, { -2, -2, 2, 28, 50, 0 }, { -3, -3, 2, 28, 50, 0 }, { -4, -4, 2, 28, 50, 0 }, + { -5, -5, 3, 28, 50, 0 }, { -6, -6, 3, 28, 50, 0 }, { -7, -7, 3, 28, 50, 0 }, { -8, -8, 4, 28, 50, 0 }, { -9, -9, 4, 28, 51, 0 }, + { -10, -10, 5, 28, 51, 0 }, { -11, -11, 5, 28, 51, 0 }, { -12, -12, 6, 28, 51, 0 }, { -13, -13, 6, 28, 51, 0 }, { -14, -14, 7, 28, 51, 0 }, + { -15, -15, 7, 28, 51, 0 }, { -16, -16, 8, 28, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9194F6 = { - 37, { - { 15, 16, 0, 4, 51, 0 }, { 14, 17, 0, 4, 51, 0 }, { 13, 18, 1, 4, 51, 0 }, { 12, 19, 1, 4, 51, 0 }, { 11, 20, 2, 4, 2, 0 }, - { 10, 21, 3, 4, 2, 0 }, { 9, 22, 3, 4, 2, 0 }, { 8, 23, 4, 4, 2, 0 }, { 7, 24, 5, 4, 2, 0 }, { 6, 25, 5, 4, 2, 0 }, - { 5, 26, 6, 4, 2, 0 }, { 4, 27, 7, 4, 2, 0 }, { 3, 28, 8, 4, 2, 0 }, { 2, 29, 8, 4, 2, 0 }, { 1, 30, 9, 4, 2, 0 }, - { 0, 31, 10, 4, 2, 0 }, { -1, 32, 11, 4, 2, 0 }, { -2, 33, 12, 4, 2, 0 }, { -3, 34, 13, 4, 3, 0 }, { -4, 35, 14, 4, 3, 0 }, - { -5, 36, 15, 4, 3, 0 }, { -6, 37, 16, 4, 3, 0 }, { -7, 38, 17, 4, 3, 0 }, { -8, 39, 18, 4, 3, 0 }, { -8, 39, 19, 4, 3, 0 }, - { -9, 40, 20, 4, 3, 0 }, { -10, 41, 21, 4, 3, 0 }, { -11, 42, 22, 4, 3, 0 }, { -11, 42, 23, 4, 3, 0 }, { -12, 43, 24, 4, 3, 0 }, - { -13, 44, 25, 4, 3, 0 }, { -13, 44, 26, 4, 3, 0 }, { -14, 45, 27, 4, 3, 0 }, { -15, 46, 28, 4, 52, 0 }, { -15, 46, 29, 4, 52, 0 }, - { -16, 47, 30, 4, 52, 0 }, { -16, 47, 31, 4, 52, 0 }, + 37, { + { 15, 16, 0, 4, 51, 0 }, { 14, 17, 0, 4, 51, 0 }, { 13, 18, 1, 4, 51, 0 }, { 12, 19, 1, 4, 51, 0 }, { 11, 20, 2, 4, 2, 0 }, + { 10, 21, 3, 4, 2, 0 }, { 9, 22, 3, 4, 2, 0 }, { 8, 23, 4, 4, 2, 0 }, { 7, 24, 5, 4, 2, 0 }, { 6, 25, 5, 4, 2, 0 }, + { 5, 26, 6, 4, 2, 0 }, { 4, 27, 7, 4, 2, 0 }, { 3, 28, 8, 4, 2, 0 }, { 2, 29, 8, 4, 2, 0 }, { 1, 30, 9, 4, 2, 0 }, + { 0, 31, 10, 4, 2, 0 }, { -1, 32, 11, 4, 2, 0 }, { -2, 33, 12, 4, 2, 0 }, { -3, 34, 13, 4, 3, 0 }, { -4, 35, 14, 4, 3, 0 }, + { -5, 36, 15, 4, 3, 0 }, { -6, 37, 16, 4, 3, 0 }, { -7, 38, 17, 4, 3, 0 }, { -8, 39, 18, 4, 3, 0 }, { -8, 39, 19, 4, 3, 0 }, + { -9, 40, 20, 4, 3, 0 }, { -10, 41, 21, 4, 3, 0 }, { -11, 42, 22, 4, 3, 0 }, { -11, 42, 23, 4, 3, 0 }, { -12, 43, 24, 4, 3, 0 }, + { -13, 44, 25, 4, 3, 0 }, { -13, 44, 26, 4, 3, 0 }, { -14, 45, 27, 4, 3, 0 }, { -15, 46, 28, 4, 52, 0 }, { -15, 46, 29, 4, 52, 0 }, + { -16, 47, 30, 4, 52, 0 }, { -16, 47, 31, 4, 52, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_919645 = { - 37, { - { 16, 16, 0, 12, 51, 0 }, { 17, 17, 0, 12, 51, 0 }, { 18, 18, 1, 12, 51, 0 }, { 19, 19, 1, 12, 51, 0 }, { 20, 20, 2, 12, 2, 0 }, - { 21, 21, 3, 12, 2, 0 }, { 22, 22, 3, 12, 2, 0 }, { 23, 23, 4, 12, 2, 0 }, { 24, 24, 5, 12, 2, 0 }, { 25, 25, 5, 12, 2, 0 }, - { 26, 26, 6, 12, 2, 0 }, { 27, 27, 7, 12, 2, 0 }, { 28, 28, 8, 12, 2, 0 }, { 29, 29, 8, 12, 2, 0 }, { 30, 30, 9, 12, 2, 0 }, - { 31, 31, 10, 12, 2, 0 }, { 32, 32, 11, 12, 2, 0 }, { 33, 33, 12, 12, 2, 0 }, { 34, 34, 13, 12, 3, 0 }, { 35, 35, 14, 12, 3, 0 }, - { 36, 36, 15, 12, 3, 0 }, { 37, 37, 16, 12, 3, 0 }, { 38, 38, 17, 12, 3, 0 }, { 39, 39, 18, 12, 3, 0 }, { 39, 39, 19, 12, 3, 0 }, - { 40, 40, 20, 12, 3, 0 }, { 41, 41, 21, 12, 3, 0 }, { 42, 42, 22, 12, 3, 0 }, { 42, 42, 23, 12, 3, 0 }, { 43, 43, 24, 12, 3, 0 }, - { 44, 44, 25, 12, 3, 0 }, { 44, 44, 26, 12, 3, 0 }, { 45, 45, 27, 12, 3, 0 }, { 46, 46, 28, 12, 52, 0 }, { 46, 46, 29, 12, 52, 0 }, - { 47, 47, 30, 12, 52, 0 }, { 47, 47, 31, 12, 52, 0 }, + 37, { + { 16, 16, 0, 12, 51, 0 }, { 17, 17, 0, 12, 51, 0 }, { 18, 18, 1, 12, 51, 0 }, { 19, 19, 1, 12, 51, 0 }, { 20, 20, 2, 12, 2, 0 }, + { 21, 21, 3, 12, 2, 0 }, { 22, 22, 3, 12, 2, 0 }, { 23, 23, 4, 12, 2, 0 }, { 24, 24, 5, 12, 2, 0 }, { 25, 25, 5, 12, 2, 0 }, + { 26, 26, 6, 12, 2, 0 }, { 27, 27, 7, 12, 2, 0 }, { 28, 28, 8, 12, 2, 0 }, { 29, 29, 8, 12, 2, 0 }, { 30, 30, 9, 12, 2, 0 }, + { 31, 31, 10, 12, 2, 0 }, { 32, 32, 11, 12, 2, 0 }, { 33, 33, 12, 12, 2, 0 }, { 34, 34, 13, 12, 3, 0 }, { 35, 35, 14, 12, 3, 0 }, + { 36, 36, 15, 12, 3, 0 }, { 37, 37, 16, 12, 3, 0 }, { 38, 38, 17, 12, 3, 0 }, { 39, 39, 18, 12, 3, 0 }, { 39, 39, 19, 12, 3, 0 }, + { 40, 40, 20, 12, 3, 0 }, { 41, 41, 21, 12, 3, 0 }, { 42, 42, 22, 12, 3, 0 }, { 42, 42, 23, 12, 3, 0 }, { 43, 43, 24, 12, 3, 0 }, + { 44, 44, 25, 12, 3, 0 }, { 44, 44, 26, 12, 3, 0 }, { 45, 45, 27, 12, 3, 0 }, { 46, 46, 28, 12, 52, 0 }, { 46, 46, 29, 12, 52, 0 }, + { 47, 47, 30, 12, 52, 0 }, { 47, 47, 31, 12, 52, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_919794 = { - 37, { - { 16, 15, 0, 20, 51, 0 }, { 17, 14, 0, 20, 51, 0 }, { 18, 13, 1, 20, 51, 0 }, { 19, 12, 1, 20, 51, 0 }, { 20, 11, 2, 20, 2, 0 }, - { 21, 10, 3, 20, 2, 0 }, { 22, 9, 3, 20, 2, 0 }, { 23, 8, 4, 20, 2, 0 }, { 24, 7, 5, 20, 2, 0 }, { 25, 6, 5, 20, 2, 0 }, - { 26, 5, 6, 20, 2, 0 }, { 27, 4, 7, 20, 2, 0 }, { 28, 3, 8, 20, 2, 0 }, { 29, 2, 8, 20, 2, 0 }, { 30, 1, 9, 20, 2, 0 }, - { 31, 0, 10, 20, 2, 0 }, { 32, -1, 11, 20, 2, 0 }, { 33, -2, 12, 20, 2, 0 }, { 34, -3, 13, 20, 3, 0 }, { 35, -4, 14, 20, 3, 0 }, - { 36, -5, 15, 20, 3, 0 }, { 37, -6, 16, 20, 3, 0 }, { 38, -7, 17, 20, 3, 0 }, { 39, -8, 18, 20, 3, 0 }, { 39, -8, 19, 20, 3, 0 }, - { 40, -9, 20, 20, 3, 0 }, { 41, -10, 21, 20, 3, 0 }, { 42, -11, 22, 20, 3, 0 }, { 42, -11, 23, 20, 3, 0 }, { 43, -12, 24, 20, 3, 0 }, - { 44, -13, 25, 20, 3, 0 }, { 44, -13, 26, 20, 3, 0 }, { 45, -14, 27, 20, 3, 0 }, { 46, -15, 28, 20, 52, 0 }, { 46, -15, 29, 20, 52, 0 }, - { 47, -16, 30, 20, 52, 0 }, { 47, -16, 31, 20, 52, 0 }, + 37, { + { 16, 15, 0, 20, 51, 0 }, { 17, 14, 0, 20, 51, 0 }, { 18, 13, 1, 20, 51, 0 }, { 19, 12, 1, 20, 51, 0 }, { 20, 11, 2, 20, 2, 0 }, + { 21, 10, 3, 20, 2, 0 }, { 22, 9, 3, 20, 2, 0 }, { 23, 8, 4, 20, 2, 0 }, { 24, 7, 5, 20, 2, 0 }, { 25, 6, 5, 20, 2, 0 }, + { 26, 5, 6, 20, 2, 0 }, { 27, 4, 7, 20, 2, 0 }, { 28, 3, 8, 20, 2, 0 }, { 29, 2, 8, 20, 2, 0 }, { 30, 1, 9, 20, 2, 0 }, + { 31, 0, 10, 20, 2, 0 }, { 32, -1, 11, 20, 2, 0 }, { 33, -2, 12, 20, 2, 0 }, { 34, -3, 13, 20, 3, 0 }, { 35, -4, 14, 20, 3, 0 }, + { 36, -5, 15, 20, 3, 0 }, { 37, -6, 16, 20, 3, 0 }, { 38, -7, 17, 20, 3, 0 }, { 39, -8, 18, 20, 3, 0 }, { 39, -8, 19, 20, 3, 0 }, + { 40, -9, 20, 20, 3, 0 }, { 41, -10, 21, 20, 3, 0 }, { 42, -11, 22, 20, 3, 0 }, { 42, -11, 23, 20, 3, 0 }, { 43, -12, 24, 20, 3, 0 }, + { 44, -13, 25, 20, 3, 0 }, { 44, -13, 26, 20, 3, 0 }, { 45, -14, 27, 20, 3, 0 }, { 46, -15, 28, 20, 52, 0 }, { 46, -15, 29, 20, 52, 0 }, + { 47, -16, 30, 20, 52, 0 }, { 47, -16, 31, 20, 52, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9198E3 = { - 37, { - { 15, 15, 0, 28, 51, 0 }, { 14, 14, 0, 28, 51, 0 }, { 13, 13, 1, 28, 51, 0 }, { 12, 12, 1, 28, 51, 0 }, { 11, 11, 2, 28, 2, 0 }, - { 10, 10, 3, 28, 2, 0 }, { 9, 9, 3, 28, 2, 0 }, { 8, 8, 4, 28, 2, 0 }, { 7, 7, 5, 28, 2, 0 }, { 6, 6, 5, 28, 2, 0 }, - { 5, 5, 6, 28, 2, 0 }, { 4, 4, 7, 28, 2, 0 }, { 3, 3, 8, 28, 2, 0 }, { 2, 2, 8, 28, 2, 0 }, { 1, 1, 9, 28, 2, 0 }, - { 0, 0, 10, 28, 2, 0 }, { -1, -1, 11, 28, 2, 0 }, { -2, -2, 12, 28, 2, 0 }, { -3, -3, 13, 28, 3, 0 }, { -4, -4, 14, 28, 3, 0 }, - { -5, -5, 15, 28, 3, 0 }, { -6, -6, 16, 28, 3, 0 }, { -7, -7, 17, 28, 3, 0 }, { -8, -8, 18, 28, 3, 0 }, { -8, -8, 19, 28, 3, 0 }, - { -9, -9, 20, 28, 3, 0 }, { -10, -10, 21, 28, 3, 0 }, { -11, -11, 22, 28, 3, 0 }, { -11, -11, 23, 28, 3, 0 }, { -12, -12, 24, 28, 3, 0 }, - { -13, -13, 25, 28, 3, 0 }, { -13, -13, 26, 28, 3, 0 }, { -14, -14, 27, 28, 3, 0 }, { -15, -15, 28, 28, 52, 0 }, { -15, -15, 29, 28, 52, 0 }, - { -16, -16, 30, 28, 52, 0 }, { -16, -16, 31, 28, 52, 0 }, + 37, { + { 15, 15, 0, 28, 51, 0 }, { 14, 14, 0, 28, 51, 0 }, { 13, 13, 1, 28, 51, 0 }, { 12, 12, 1, 28, 51, 0 }, { 11, 11, 2, 28, 2, 0 }, + { 10, 10, 3, 28, 2, 0 }, { 9, 9, 3, 28, 2, 0 }, { 8, 8, 4, 28, 2, 0 }, { 7, 7, 5, 28, 2, 0 }, { 6, 6, 5, 28, 2, 0 }, + { 5, 5, 6, 28, 2, 0 }, { 4, 4, 7, 28, 2, 0 }, { 3, 3, 8, 28, 2, 0 }, { 2, 2, 8, 28, 2, 0 }, { 1, 1, 9, 28, 2, 0 }, + { 0, 0, 10, 28, 2, 0 }, { -1, -1, 11, 28, 2, 0 }, { -2, -2, 12, 28, 2, 0 }, { -3, -3, 13, 28, 3, 0 }, { -4, -4, 14, 28, 3, 0 }, + { -5, -5, 15, 28, 3, 0 }, { -6, -6, 16, 28, 3, 0 }, { -7, -7, 17, 28, 3, 0 }, { -8, -8, 18, 28, 3, 0 }, { -8, -8, 19, 28, 3, 0 }, + { -9, -9, 20, 28, 3, 0 }, { -10, -10, 21, 28, 3, 0 }, { -11, -11, 22, 28, 3, 0 }, { -11, -11, 23, 28, 3, 0 }, { -12, -12, 24, 28, 3, 0 }, + { -13, -13, 25, 28, 3, 0 }, { -13, -13, 26, 28, 3, 0 }, { -14, -14, 27, 28, 3, 0 }, { -15, -15, 28, 28, 52, 0 }, { -15, -15, 29, 28, 52, 0 }, + { -16, -16, 30, 28, 52, 0 }, { -16, -16, 31, 28, 52, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_919A32 = { - 37, { - { 15, 16, 0, 4, 52, 0 }, { 15, 16, 1, 4, 3, 0 }, { 14, 17, 2, 4, 3, 0 }, { 14, 17, 3, 4, 3, 0 }, { 13, 18, 4, 4, 3, 0 }, - { 12, 19, 5, 4, 3, 0 }, { 12, 19, 6, 4, 3, 0 }, { 11, 20, 7, 4, 3, 0 }, { 10, 21, 8, 4, 3, 0 }, { 10, 21, 9, 4, 3, 0 }, - { 9, 22, 10, 4, 3, 0 }, { 8, 23, 11, 4, 3, 0 }, { 7, 24, 12, 4, 3, 0 }, { 7, 24, 13, 4, 3, 0 }, { 6, 25, 14, 4, 3, 0 }, - { 5, 26, 15, 4, 3, 0 }, { 4, 27, 16, 4, 2, 0 }, { 3, 28, 17, 4, 2, 0 }, { 2, 29, 18, 4, 2, 0 }, { 1, 30, 19, 4, 2, 0 }, - { 0, 31, 20, 4, 2, 0 }, { -1, 32, 21, 4, 2, 0 }, { -2, 33, 22, 4, 2, 0 }, { -3, 34, 23, 4, 2, 0 }, { -4, 35, 23, 4, 2, 0 }, - { -5, 36, 24, 4, 2, 0 }, { -6, 37, 25, 4, 2, 0 }, { -7, 38, 26, 4, 2, 0 }, { -8, 39, 26, 4, 2, 0 }, { -9, 40, 27, 4, 2, 0 }, - { -10, 41, 28, 4, 2, 0 }, { -11, 42, 28, 4, 2, 0 }, { -12, 43, 29, 4, 2, 0 }, { -13, 44, 30, 4, 51, 0 }, { -14, 45, 30, 4, 51, 0 }, - { -15, 46, 31, 4, 51, 0 }, { -16, 47, 31, 4, 51, 0 }, + 37, { + { 15, 16, 0, 4, 52, 0 }, { 15, 16, 1, 4, 3, 0 }, { 14, 17, 2, 4, 3, 0 }, { 14, 17, 3, 4, 3, 0 }, { 13, 18, 4, 4, 3, 0 }, + { 12, 19, 5, 4, 3, 0 }, { 12, 19, 6, 4, 3, 0 }, { 11, 20, 7, 4, 3, 0 }, { 10, 21, 8, 4, 3, 0 }, { 10, 21, 9, 4, 3, 0 }, + { 9, 22, 10, 4, 3, 0 }, { 8, 23, 11, 4, 3, 0 }, { 7, 24, 12, 4, 3, 0 }, { 7, 24, 13, 4, 3, 0 }, { 6, 25, 14, 4, 3, 0 }, + { 5, 26, 15, 4, 3, 0 }, { 4, 27, 16, 4, 2, 0 }, { 3, 28, 17, 4, 2, 0 }, { 2, 29, 18, 4, 2, 0 }, { 1, 30, 19, 4, 2, 0 }, + { 0, 31, 20, 4, 2, 0 }, { -1, 32, 21, 4, 2, 0 }, { -2, 33, 22, 4, 2, 0 }, { -3, 34, 23, 4, 2, 0 }, { -4, 35, 23, 4, 2, 0 }, + { -5, 36, 24, 4, 2, 0 }, { -6, 37, 25, 4, 2, 0 }, { -7, 38, 26, 4, 2, 0 }, { -8, 39, 26, 4, 2, 0 }, { -9, 40, 27, 4, 2, 0 }, + { -10, 41, 28, 4, 2, 0 }, { -11, 42, 28, 4, 2, 0 }, { -12, 43, 29, 4, 2, 0 }, { -13, 44, 30, 4, 51, 0 }, { -14, 45, 30, 4, 51, 0 }, + { -15, 46, 31, 4, 51, 0 }, { -16, 47, 31, 4, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_919B81 = { - 37, { - { 16, 16, 0, 12, 52, 0 }, { 16, 16, 1, 12, 3, 0 }, { 17, 17, 2, 12, 3, 0 }, { 17, 17, 3, 12, 3, 0 }, { 18, 18, 4, 12, 3, 0 }, - { 19, 19, 5, 12, 3, 0 }, { 19, 19, 6, 12, 3, 0 }, { 20, 20, 7, 12, 3, 0 }, { 21, 21, 8, 12, 3, 0 }, { 21, 21, 9, 12, 3, 0 }, - { 22, 22, 10, 12, 3, 0 }, { 23, 23, 11, 12, 3, 0 }, { 24, 24, 12, 12, 3, 0 }, { 24, 24, 13, 12, 3, 0 }, { 25, 25, 14, 12, 3, 0 }, - { 26, 26, 15, 12, 3, 0 }, { 27, 27, 16, 12, 2, 0 }, { 28, 28, 17, 12, 2, 0 }, { 29, 29, 18, 12, 2, 0 }, { 30, 30, 19, 12, 2, 0 }, - { 31, 31, 20, 12, 2, 0 }, { 32, 32, 21, 12, 2, 0 }, { 33, 33, 22, 12, 2, 0 }, { 34, 34, 23, 12, 2, 0 }, { 35, 35, 23, 12, 2, 0 }, - { 36, 36, 24, 12, 2, 0 }, { 37, 37, 25, 12, 2, 0 }, { 38, 38, 26, 12, 2, 0 }, { 39, 39, 26, 12, 2, 0 }, { 40, 40, 27, 12, 2, 0 }, - { 41, 41, 28, 12, 2, 0 }, { 42, 42, 28, 12, 2, 0 }, { 43, 43, 29, 12, 2, 0 }, { 44, 44, 30, 12, 51, 0 }, { 45, 45, 30, 12, 51, 0 }, - { 46, 46, 31, 12, 51, 0 }, { 47, 47, 31, 12, 51, 0 }, + 37, { + { 16, 16, 0, 12, 52, 0 }, { 16, 16, 1, 12, 3, 0 }, { 17, 17, 2, 12, 3, 0 }, { 17, 17, 3, 12, 3, 0 }, { 18, 18, 4, 12, 3, 0 }, + { 19, 19, 5, 12, 3, 0 }, { 19, 19, 6, 12, 3, 0 }, { 20, 20, 7, 12, 3, 0 }, { 21, 21, 8, 12, 3, 0 }, { 21, 21, 9, 12, 3, 0 }, + { 22, 22, 10, 12, 3, 0 }, { 23, 23, 11, 12, 3, 0 }, { 24, 24, 12, 12, 3, 0 }, { 24, 24, 13, 12, 3, 0 }, { 25, 25, 14, 12, 3, 0 }, + { 26, 26, 15, 12, 3, 0 }, { 27, 27, 16, 12, 2, 0 }, { 28, 28, 17, 12, 2, 0 }, { 29, 29, 18, 12, 2, 0 }, { 30, 30, 19, 12, 2, 0 }, + { 31, 31, 20, 12, 2, 0 }, { 32, 32, 21, 12, 2, 0 }, { 33, 33, 22, 12, 2, 0 }, { 34, 34, 23, 12, 2, 0 }, { 35, 35, 23, 12, 2, 0 }, + { 36, 36, 24, 12, 2, 0 }, { 37, 37, 25, 12, 2, 0 }, { 38, 38, 26, 12, 2, 0 }, { 39, 39, 26, 12, 2, 0 }, { 40, 40, 27, 12, 2, 0 }, + { 41, 41, 28, 12, 2, 0 }, { 42, 42, 28, 12, 2, 0 }, { 43, 43, 29, 12, 2, 0 }, { 44, 44, 30, 12, 51, 0 }, { 45, 45, 30, 12, 51, 0 }, + { 46, 46, 31, 12, 51, 0 }, { 47, 47, 31, 12, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_919CD0 = { - 37, { - { 16, 15, 0, 20, 52, 0 }, { 16, 15, 1, 20, 3, 0 }, { 17, 14, 2, 20, 3, 0 }, { 17, 14, 3, 20, 3, 0 }, { 18, 13, 4, 20, 3, 0 }, - { 19, 12, 5, 20, 3, 0 }, { 19, 12, 6, 20, 3, 0 }, { 20, 11, 7, 20, 3, 0 }, { 21, 10, 8, 20, 3, 0 }, { 21, 10, 9, 20, 3, 0 }, - { 22, 9, 10, 20, 3, 0 }, { 23, 8, 11, 20, 3, 0 }, { 24, 7, 12, 20, 3, 0 }, { 24, 7, 13, 20, 3, 0 }, { 25, 6, 14, 20, 3, 0 }, - { 26, 5, 15, 20, 3, 0 }, { 27, 4, 16, 20, 2, 0 }, { 28, 3, 17, 20, 2, 0 }, { 29, 2, 18, 20, 2, 0 }, { 30, 1, 19, 20, 2, 0 }, - { 31, 0, 20, 20, 2, 0 }, { 32, -1, 21, 20, 2, 0 }, { 33, -2, 22, 20, 2, 0 }, { 34, -3, 23, 20, 2, 0 }, { 35, -4, 23, 20, 2, 0 }, - { 36, -5, 24, 20, 2, 0 }, { 37, -6, 25, 20, 2, 0 }, { 38, -7, 26, 20, 2, 0 }, { 39, -8, 26, 20, 2, 0 }, { 40, -9, 27, 20, 2, 0 }, - { 41, -10, 28, 20, 2, 0 }, { 42, -11, 28, 20, 2, 0 }, { 43, -12, 29, 20, 2, 0 }, { 44, -13, 30, 20, 51, 0 }, { 45, -14, 30, 20, 51, 0 }, - { 46, -15, 31, 20, 51, 0 }, { 47, -16, 31, 20, 51, 0 }, + 37, { + { 16, 15, 0, 20, 52, 0 }, { 16, 15, 1, 20, 3, 0 }, { 17, 14, 2, 20, 3, 0 }, { 17, 14, 3, 20, 3, 0 }, { 18, 13, 4, 20, 3, 0 }, + { 19, 12, 5, 20, 3, 0 }, { 19, 12, 6, 20, 3, 0 }, { 20, 11, 7, 20, 3, 0 }, { 21, 10, 8, 20, 3, 0 }, { 21, 10, 9, 20, 3, 0 }, + { 22, 9, 10, 20, 3, 0 }, { 23, 8, 11, 20, 3, 0 }, { 24, 7, 12, 20, 3, 0 }, { 24, 7, 13, 20, 3, 0 }, { 25, 6, 14, 20, 3, 0 }, + { 26, 5, 15, 20, 3, 0 }, { 27, 4, 16, 20, 2, 0 }, { 28, 3, 17, 20, 2, 0 }, { 29, 2, 18, 20, 2, 0 }, { 30, 1, 19, 20, 2, 0 }, + { 31, 0, 20, 20, 2, 0 }, { 32, -1, 21, 20, 2, 0 }, { 33, -2, 22, 20, 2, 0 }, { 34, -3, 23, 20, 2, 0 }, { 35, -4, 23, 20, 2, 0 }, + { 36, -5, 24, 20, 2, 0 }, { 37, -6, 25, 20, 2, 0 }, { 38, -7, 26, 20, 2, 0 }, { 39, -8, 26, 20, 2, 0 }, { 40, -9, 27, 20, 2, 0 }, + { 41, -10, 28, 20, 2, 0 }, { 42, -11, 28, 20, 2, 0 }, { 43, -12, 29, 20, 2, 0 }, { 44, -13, 30, 20, 51, 0 }, { 45, -14, 30, 20, 51, 0 }, + { 46, -15, 31, 20, 51, 0 }, { 47, -16, 31, 20, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_919E1F = { - 37, { - { 15, 15, 0, 28, 52, 0 }, { 15, 15, 1, 28, 3, 0 }, { 14, 14, 2, 28, 3, 0 }, { 14, 14, 3, 28, 3, 0 }, { 13, 13, 4, 28, 3, 0 }, - { 12, 12, 5, 28, 3, 0 }, { 12, 12, 6, 28, 3, 0 }, { 11, 11, 7, 28, 3, 0 }, { 10, 10, 8, 28, 3, 0 }, { 10, 10, 9, 28, 3, 0 }, - { 9, 9, 10, 28, 3, 0 }, { 8, 8, 11, 28, 3, 0 }, { 7, 7, 12, 28, 3, 0 }, { 7, 7, 13, 28, 3, 0 }, { 6, 6, 14, 28, 3, 0 }, - { 5, 5, 15, 28, 3, 0 }, { 4, 4, 16, 28, 2, 0 }, { 3, 3, 17, 28, 2, 0 }, { 2, 2, 18, 28, 2, 0 }, { 1, 1, 19, 28, 2, 0 }, - { 0, 0, 20, 28, 2, 0 }, { -1, -1, 21, 28, 2, 0 }, { -2, -2, 22, 28, 2, 0 }, { -3, -3, 23, 28, 2, 0 }, { -4, -4, 23, 28, 2, 0 }, - { -5, -5, 24, 28, 2, 0 }, { -6, -6, 25, 28, 2, 0 }, { -7, -7, 26, 28, 2, 0 }, { -8, -8, 26, 28, 2, 0 }, { -9, -9, 27, 28, 2, 0 }, - { -10, -10, 28, 28, 2, 0 }, { -11, -11, 28, 28, 2, 0 }, { -12, -12, 29, 28, 2, 0 }, { -13, -13, 30, 28, 51, 0 }, { -14, -14, 30, 28, 51, 0 }, - { -15, -15, 31, 28, 51, 0 }, { -16, -16, 31, 28, 51, 0 }, + 37, { + { 15, 15, 0, 28, 52, 0 }, { 15, 15, 1, 28, 3, 0 }, { 14, 14, 2, 28, 3, 0 }, { 14, 14, 3, 28, 3, 0 }, { 13, 13, 4, 28, 3, 0 }, + { 12, 12, 5, 28, 3, 0 }, { 12, 12, 6, 28, 3, 0 }, { 11, 11, 7, 28, 3, 0 }, { 10, 10, 8, 28, 3, 0 }, { 10, 10, 9, 28, 3, 0 }, + { 9, 9, 10, 28, 3, 0 }, { 8, 8, 11, 28, 3, 0 }, { 7, 7, 12, 28, 3, 0 }, { 7, 7, 13, 28, 3, 0 }, { 6, 6, 14, 28, 3, 0 }, + { 5, 5, 15, 28, 3, 0 }, { 4, 4, 16, 28, 2, 0 }, { 3, 3, 17, 28, 2, 0 }, { 2, 2, 18, 28, 2, 0 }, { 1, 1, 19, 28, 2, 0 }, + { 0, 0, 20, 28, 2, 0 }, { -1, -1, 21, 28, 2, 0 }, { -2, -2, 22, 28, 2, 0 }, { -3, -3, 23, 28, 2, 0 }, { -4, -4, 23, 28, 2, 0 }, + { -5, -5, 24, 28, 2, 0 }, { -6, -6, 25, 28, 2, 0 }, { -7, -7, 26, 28, 2, 0 }, { -8, -8, 26, 28, 2, 0 }, { -9, -9, 27, 28, 2, 0 }, + { -10, -10, 28, 28, 2, 0 }, { -11, -11, 28, 28, 2, 0 }, { -12, -12, 29, 28, 2, 0 }, { -13, -13, 30, 28, 51, 0 }, { -14, -14, 30, 28, 51, 0 }, + { -15, -15, 31, 28, 51, 0 }, { -16, -16, 31, 28, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_918716 = { - 32, { - { 15, 16, 0, 4, 51, 0 }, { 14, 17, 1, 4, 51, 0 }, { 13, 18, 1, 4, 51, 0 }, { 12, 19, 2, 4, 51, 0 }, { 11, 20, 2, 4, 51, 0 }, - { 10, 21, 3, 4, 51, 0 }, { 9, 22, 3, 4, 51, 0 }, { 8, 23, 3, 4, 51, 0 }, { 7, 24, 4, 4, 50, 0 }, { 6, 25, 4, 4, 50, 0 }, - { 5, 26, 4, 4, 50, 0 }, { 4, 27, 5, 4, 50, 0 }, { 3, 28, 5, 4, 50, 0 }, { 2, 29, 5, 4, 50, 0 }, { 1, 30, 6, 4, 50, 0 }, - { 0, 31, 6, 4, 50, 0 }, { -1, 32, 6, 4, 50, 0 }, { -2, 33, 6, 4, 50, 0 }, { -3, 34, 7, 4, 50, 0 }, { -4, 35, 7, 4, 50, 0 }, - { -5, 36, 7, 4, 50, 0 }, { -6, 37, 7, 4, 50, 0 }, { -7, 38, 7, 4, 0, 0 }, { -8, 39, 7, 4, 0, 0 }, { -9, 40, 8, 4, 0, 0 }, - { -10, 41, 8, 4, 0, 0 }, { -11, 42, 8, 4, 0, 0 }, { -12, 43, 8, 4, 0, 0 }, { -13, 44, 8, 4, 0, 0 }, { -14, 45, 8, 4, 0, 0 }, - { -15, 46, 8, 4, 0, 0 }, { -16, 47, 8, 4, 0, 0 }, + 32, { + { 15, 16, 0, 4, 51, 0 }, { 14, 17, 1, 4, 51, 0 }, { 13, 18, 1, 4, 51, 0 }, { 12, 19, 2, 4, 51, 0 }, { 11, 20, 2, 4, 51, 0 }, + { 10, 21, 3, 4, 51, 0 }, { 9, 22, 3, 4, 51, 0 }, { 8, 23, 3, 4, 51, 0 }, { 7, 24, 4, 4, 50, 0 }, { 6, 25, 4, 4, 50, 0 }, + { 5, 26, 4, 4, 50, 0 }, { 4, 27, 5, 4, 50, 0 }, { 3, 28, 5, 4, 50, 0 }, { 2, 29, 5, 4, 50, 0 }, { 1, 30, 6, 4, 50, 0 }, + { 0, 31, 6, 4, 50, 0 }, { -1, 32, 6, 4, 50, 0 }, { -2, 33, 6, 4, 50, 0 }, { -3, 34, 7, 4, 50, 0 }, { -4, 35, 7, 4, 50, 0 }, + { -5, 36, 7, 4, 50, 0 }, { -6, 37, 7, 4, 50, 0 }, { -7, 38, 7, 4, 0, 0 }, { -8, 39, 7, 4, 0, 0 }, { -9, 40, 8, 4, 0, 0 }, + { -10, 41, 8, 4, 0, 0 }, { -11, 42, 8, 4, 0, 0 }, { -12, 43, 8, 4, 0, 0 }, { -13, 44, 8, 4, 0, 0 }, { -14, 45, 8, 4, 0, 0 }, + { -15, 46, 8, 4, 0, 0 }, { -16, 47, 8, 4, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91884A = { - 32, { - { 16, 16, 0, 12, 51, 0 }, { 17, 17, 0, 12, 51, 0 }, { 18, 18, 1, 12, 51, 0 }, { 19, 19, 1, 12, 51, 0 }, { 20, 20, 2, 12, 51, 0 }, - { 21, 21, 2, 12, 51, 0 }, { 22, 22, 3, 12, 51, 0 }, { 23, 23, 3, 12, 51, 0 }, { 24, 24, 4, 12, 50, 0 }, { 25, 25, 4, 12, 50, 0 }, - { 26, 26, 4, 12, 50, 0 }, { 27, 27, 5, 12, 50, 0 }, { 28, 28, 5, 12, 50, 0 }, { 29, 29, 5, 12, 50, 0 }, { 30, 30, 6, 12, 50, 0 }, - { 31, 31, 6, 12, 50, 0 }, { 32, 32, 6, 12, 50, 0 }, { 33, 33, 6, 12, 50, 0 }, { 34, 34, 7, 12, 50, 0 }, { 35, 35, 7, 12, 50, 0 }, - { 36, 36, 7, 12, 50, 0 }, { 37, 37, 7, 12, 50, 0 }, { 38, 38, 7, 12, 0, 0 }, { 39, 39, 7, 12, 0, 0 }, { 40, 40, 8, 12, 0, 0 }, - { 41, 41, 8, 12, 0, 0 }, { 42, 42, 8, 12, 0, 0 }, { 43, 43, 8, 12, 0, 0 }, { 44, 44, 8, 12, 0, 0 }, { 45, 45, 8, 12, 0, 0 }, - { 46, 46, 8, 12, 0, 0 }, { 47, 47, 8, 12, 0, 0 }, + 32, { + { 16, 16, 0, 12, 51, 0 }, { 17, 17, 0, 12, 51, 0 }, { 18, 18, 1, 12, 51, 0 }, { 19, 19, 1, 12, 51, 0 }, { 20, 20, 2, 12, 51, 0 }, + { 21, 21, 2, 12, 51, 0 }, { 22, 22, 3, 12, 51, 0 }, { 23, 23, 3, 12, 51, 0 }, { 24, 24, 4, 12, 50, 0 }, { 25, 25, 4, 12, 50, 0 }, + { 26, 26, 4, 12, 50, 0 }, { 27, 27, 5, 12, 50, 0 }, { 28, 28, 5, 12, 50, 0 }, { 29, 29, 5, 12, 50, 0 }, { 30, 30, 6, 12, 50, 0 }, + { 31, 31, 6, 12, 50, 0 }, { 32, 32, 6, 12, 50, 0 }, { 33, 33, 6, 12, 50, 0 }, { 34, 34, 7, 12, 50, 0 }, { 35, 35, 7, 12, 50, 0 }, + { 36, 36, 7, 12, 50, 0 }, { 37, 37, 7, 12, 50, 0 }, { 38, 38, 7, 12, 0, 0 }, { 39, 39, 7, 12, 0, 0 }, { 40, 40, 8, 12, 0, 0 }, + { 41, 41, 8, 12, 0, 0 }, { 42, 42, 8, 12, 0, 0 }, { 43, 43, 8, 12, 0, 0 }, { 44, 44, 8, 12, 0, 0 }, { 45, 45, 8, 12, 0, 0 }, + { 46, 46, 8, 12, 0, 0 }, { 47, 47, 8, 12, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91897E = { - 32, { - { 16, 15, 0, 20, 51, 0 }, { 17, 14, 0, 20, 51, 0 }, { 18, 13, 1, 20, 51, 0 }, { 19, 12, 1, 20, 51, 0 }, { 20, 11, 2, 20, 51, 0 }, - { 21, 10, 2, 20, 51, 0 }, { 22, 9, 3, 20, 51, 0 }, { 23, 8, 3, 20, 51, 0 }, { 24, 7, 4, 20, 50, 0 }, { 25, 6, 4, 20, 50, 0 }, - { 26, 5, 4, 20, 50, 0 }, { 27, 4, 5, 20, 50, 0 }, { 28, 3, 5, 20, 50, 0 }, { 29, 2, 5, 20, 50, 0 }, { 30, 1, 6, 20, 50, 0 }, - { 31, 0, 6, 20, 50, 0 }, { 32, -1, 6, 20, 50, 0 }, { 33, -2, 6, 20, 50, 0 }, { 34, -3, 7, 20, 50, 0 }, { 35, -4, 7, 20, 50, 0 }, - { 36, -5, 7, 20, 50, 0 }, { 37, -6, 7, 20, 50, 0 }, { 38, -7, 7, 20, 0, 0 }, { 39, -8, 7, 20, 0, 0 }, { 40, -9, 8, 20, 0, 0 }, - { 41, -10, 8, 20, 0, 0 }, { 42, -11, 8, 20, 0, 0 }, { 43, -12, 8, 20, 0, 0 }, { 44, -13, 8, 20, 0, 0 }, { 45, -14, 8, 20, 0, 0 }, - { 46, -15, 8, 20, 0, 0 }, { 47, -16, 8, 20, 0, 0 }, + 32, { + { 16, 15, 0, 20, 51, 0 }, { 17, 14, 0, 20, 51, 0 }, { 18, 13, 1, 20, 51, 0 }, { 19, 12, 1, 20, 51, 0 }, { 20, 11, 2, 20, 51, 0 }, + { 21, 10, 2, 20, 51, 0 }, { 22, 9, 3, 20, 51, 0 }, { 23, 8, 3, 20, 51, 0 }, { 24, 7, 4, 20, 50, 0 }, { 25, 6, 4, 20, 50, 0 }, + { 26, 5, 4, 20, 50, 0 }, { 27, 4, 5, 20, 50, 0 }, { 28, 3, 5, 20, 50, 0 }, { 29, 2, 5, 20, 50, 0 }, { 30, 1, 6, 20, 50, 0 }, + { 31, 0, 6, 20, 50, 0 }, { 32, -1, 6, 20, 50, 0 }, { 33, -2, 6, 20, 50, 0 }, { 34, -3, 7, 20, 50, 0 }, { 35, -4, 7, 20, 50, 0 }, + { 36, -5, 7, 20, 50, 0 }, { 37, -6, 7, 20, 50, 0 }, { 38, -7, 7, 20, 0, 0 }, { 39, -8, 7, 20, 0, 0 }, { 40, -9, 8, 20, 0, 0 }, + { 41, -10, 8, 20, 0, 0 }, { 42, -11, 8, 20, 0, 0 }, { 43, -12, 8, 20, 0, 0 }, { 44, -13, 8, 20, 0, 0 }, { 45, -14, 8, 20, 0, 0 }, + { 46, -15, 8, 20, 0, 0 }, { 47, -16, 8, 20, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_918AB2 = { - 32, { - { 15, 15, 0, 28, 51, 0 }, { 14, 14, 1, 28, 51, 0 }, { 13, 13, 1, 28, 51, 0 }, { 12, 12, 2, 28, 51, 0 }, { 11, 11, 2, 28, 51, 0 }, - { 10, 10, 3, 28, 51, 0 }, { 9, 9, 3, 28, 51, 0 }, { 8, 8, 3, 28, 51, 0 }, { 7, 7, 4, 28, 50, 0 }, { 6, 6, 4, 28, 50, 0 }, - { 5, 5, 4, 28, 50, 0 }, { 4, 4, 5, 28, 50, 0 }, { 3, 3, 5, 28, 50, 0 }, { 2, 2, 5, 28, 50, 0 }, { 1, 1, 6, 28, 50, 0 }, - { 0, 0, 6, 28, 50, 0 }, { -1, -1, 6, 28, 50, 0 }, { -2, -2, 6, 28, 50, 0 }, { -3, -3, 7, 28, 50, 0 }, { -4, -4, 7, 28, 50, 0 }, - { -5, -5, 7, 28, 50, 0 }, { -6, -6, 7, 28, 50, 0 }, { -7, -7, 7, 28, 0, 0 }, { -8, -8, 7, 28, 0, 0 }, { -9, -9, 8, 28, 0, 0 }, - { -10, -10, 8, 28, 0, 0 }, { -11, -11, 8, 28, 0, 0 }, { -12, -12, 8, 28, 0, 0 }, { -13, -13, 8, 28, 0, 0 }, { -14, -14, 8, 28, 0, 0 }, - { -15, -15, 8, 28, 0, 0 }, { -16, -16, 8, 28, 0, 0 }, + 32, { + { 15, 15, 0, 28, 51, 0 }, { 14, 14, 1, 28, 51, 0 }, { 13, 13, 1, 28, 51, 0 }, { 12, 12, 2, 28, 51, 0 }, { 11, 11, 2, 28, 51, 0 }, + { 10, 10, 3, 28, 51, 0 }, { 9, 9, 3, 28, 51, 0 }, { 8, 8, 3, 28, 51, 0 }, { 7, 7, 4, 28, 50, 0 }, { 6, 6, 4, 28, 50, 0 }, + { 5, 5, 4, 28, 50, 0 }, { 4, 4, 5, 28, 50, 0 }, { 3, 3, 5, 28, 50, 0 }, { 2, 2, 5, 28, 50, 0 }, { 1, 1, 6, 28, 50, 0 }, + { 0, 0, 6, 28, 50, 0 }, { -1, -1, 6, 28, 50, 0 }, { -2, -2, 6, 28, 50, 0 }, { -3, -3, 7, 28, 50, 0 }, { -4, -4, 7, 28, 50, 0 }, + { -5, -5, 7, 28, 50, 0 }, { -6, -6, 7, 28, 50, 0 }, { -7, -7, 7, 28, 0, 0 }, { -8, -8, 7, 28, 0, 0 }, { -9, -9, 8, 28, 0, 0 }, + { -10, -10, 8, 28, 0, 0 }, { -11, -11, 8, 28, 0, 0 }, { -12, -12, 8, 28, 0, 0 }, { -13, -13, 8, 28, 0, 0 }, { -14, -14, 8, 28, 0, 0 }, + { -15, -15, 8, 28, 0, 0 }, { -16, -16, 8, 28, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_916BF6 = { - 32, { - { 15, 16, 15, 4, 54, 0 }, { 14, 17, 15, 4, 54, 0 }, { 13, 18, 14, 4, 54, 0 }, { 12, 19, 14, 4, 54, 0 }, { 11, 20, 13, 4, 54, 0 }, - { 10, 21, 13, 4, 54, 0 }, { 9, 22, 12, 4, 54, 0 }, { 8, 23, 12, 4, 54, 0 }, { 7, 24, 11, 4, 54, 0 }, { 6, 25, 11, 4, 54, 0 }, - { 5, 26, 10, 4, 54, 0 }, { 4, 27, 10, 4, 54, 0 }, { 3, 28, 9, 4, 54, 0 }, { 2, 29, 9, 4, 54, 0 }, { 1, 30, 8, 4, 54, 0 }, - { 0, 31, 8, 4, 54, 0 }, { -1, 32, 7, 4, 54, 0 }, { -2, 33, 7, 4, 54, 0 }, { -3, 34, 6, 4, 54, 0 }, { -4, 35, 6, 4, 54, 0 }, - { -5, 36, 5, 4, 54, 0 }, { -6, 37, 5, 4, 54, 0 }, { -7, 38, 4, 4, 54, 0 }, { -8, 39, 4, 4, 54, 0 }, { -9, 40, 3, 4, 54, 0 }, - { -10, 41, 3, 4, 54, 0 }, { -11, 42, 2, 4, 54, 0 }, { -12, 43, 2, 4, 54, 0 }, { -13, 44, 1, 4, 54, 0 }, { -14, 45, 1, 4, 54, 0 }, - { -15, 46, 0, 4, 54, 0 }, { -16, 47, 0, 4, 54, 0 }, + 32, { + { 15, 16, 15, 4, 54, 0 }, { 14, 17, 15, 4, 54, 0 }, { 13, 18, 14, 4, 54, 0 }, { 12, 19, 14, 4, 54, 0 }, { 11, 20, 13, 4, 54, 0 }, + { 10, 21, 13, 4, 54, 0 }, { 9, 22, 12, 4, 54, 0 }, { 8, 23, 12, 4, 54, 0 }, { 7, 24, 11, 4, 54, 0 }, { 6, 25, 11, 4, 54, 0 }, + { 5, 26, 10, 4, 54, 0 }, { 4, 27, 10, 4, 54, 0 }, { 3, 28, 9, 4, 54, 0 }, { 2, 29, 9, 4, 54, 0 }, { 1, 30, 8, 4, 54, 0 }, + { 0, 31, 8, 4, 54, 0 }, { -1, 32, 7, 4, 54, 0 }, { -2, 33, 7, 4, 54, 0 }, { -3, 34, 6, 4, 54, 0 }, { -4, 35, 6, 4, 54, 0 }, + { -5, 36, 5, 4, 54, 0 }, { -6, 37, 5, 4, 54, 0 }, { -7, 38, 4, 4, 54, 0 }, { -8, 39, 4, 4, 54, 0 }, { -9, 40, 3, 4, 54, 0 }, + { -10, 41, 3, 4, 54, 0 }, { -11, 42, 2, 4, 54, 0 }, { -12, 43, 2, 4, 54, 0 }, { -13, 44, 1, 4, 54, 0 }, { -14, 45, 1, 4, 54, 0 }, + { -15, 46, 0, 4, 54, 0 }, { -16, 47, 0, 4, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_916D18 = { - 32, { - { 16, 16, 15, 12, 54, 0 }, { 17, 17, 14, 12, 54, 0 }, { 18, 18, 14, 12, 54, 0 }, { 19, 19, 13, 12, 54, 0 }, { 20, 20, 13, 12, 54, 0 }, - { 21, 21, 12, 12, 54, 0 }, { 22, 22, 12, 12, 54, 0 }, { 23, 23, 11, 12, 54, 0 }, { 24, 24, 11, 12, 54, 0 }, { 25, 25, 10, 12, 54, 0 }, - { 26, 26, 10, 12, 54, 0 }, { 27, 27, 9, 12, 54, 0 }, { 28, 28, 9, 12, 54, 0 }, { 29, 29, 8, 12, 54, 0 }, { 30, 30, 8, 12, 54, 0 }, - { 31, 31, 7, 12, 54, 0 }, { 32, 32, 7, 12, 54, 0 }, { 33, 33, 6, 12, 54, 0 }, { 34, 34, 6, 12, 54, 0 }, { 35, 35, 5, 12, 54, 0 }, - { 36, 36, 5, 12, 54, 0 }, { 37, 37, 4, 12, 54, 0 }, { 38, 38, 4, 12, 54, 0 }, { 39, 39, 3, 12, 54, 0 }, { 40, 40, 3, 12, 54, 0 }, - { 41, 41, 2, 12, 54, 0 }, { 42, 42, 2, 12, 54, 0 }, { 43, 43, 1, 12, 54, 0 }, { 44, 44, 1, 12, 54, 0 }, { 45, 45, 0, 12, 54, 0 }, - { 46, 46, 0, 12, 54, 0 }, { 47, 47, -1, 12, 54, 0 }, + 32, { + { 16, 16, 15, 12, 54, 0 }, { 17, 17, 14, 12, 54, 0 }, { 18, 18, 14, 12, 54, 0 }, { 19, 19, 13, 12, 54, 0 }, { 20, 20, 13, 12, 54, 0 }, + { 21, 21, 12, 12, 54, 0 }, { 22, 22, 12, 12, 54, 0 }, { 23, 23, 11, 12, 54, 0 }, { 24, 24, 11, 12, 54, 0 }, { 25, 25, 10, 12, 54, 0 }, + { 26, 26, 10, 12, 54, 0 }, { 27, 27, 9, 12, 54, 0 }, { 28, 28, 9, 12, 54, 0 }, { 29, 29, 8, 12, 54, 0 }, { 30, 30, 8, 12, 54, 0 }, + { 31, 31, 7, 12, 54, 0 }, { 32, 32, 7, 12, 54, 0 }, { 33, 33, 6, 12, 54, 0 }, { 34, 34, 6, 12, 54, 0 }, { 35, 35, 5, 12, 54, 0 }, + { 36, 36, 5, 12, 54, 0 }, { 37, 37, 4, 12, 54, 0 }, { 38, 38, 4, 12, 54, 0 }, { 39, 39, 3, 12, 54, 0 }, { 40, 40, 3, 12, 54, 0 }, + { 41, 41, 2, 12, 54, 0 }, { 42, 42, 2, 12, 54, 0 }, { 43, 43, 1, 12, 54, 0 }, { 44, 44, 1, 12, 54, 0 }, { 45, 45, 0, 12, 54, 0 }, + { 46, 46, 0, 12, 54, 0 }, { 47, 47, -1, 12, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_916E3A = { - 32, { - { 16, 15, 15, 20, 54, 0 }, { 17, 14, 14, 20, 54, 0 }, { 18, 13, 14, 20, 54, 0 }, { 19, 12, 13, 20, 54, 0 }, { 20, 11, 13, 20, 54, 0 }, - { 21, 10, 12, 20, 54, 0 }, { 22, 9, 12, 20, 54, 0 }, { 23, 8, 11, 20, 54, 0 }, { 24, 7, 11, 20, 54, 0 }, { 25, 6, 10, 20, 54, 0 }, - { 26, 5, 10, 20, 54, 0 }, { 27, 4, 9, 20, 54, 0 }, { 28, 3, 9, 20, 54, 0 }, { 29, 2, 8, 20, 54, 0 }, { 30, 1, 8, 20, 54, 0 }, - { 31, 0, 7, 20, 54, 0 }, { 32, -1, 7, 20, 54, 0 }, { 33, -2, 6, 20, 54, 0 }, { 34, -3, 6, 20, 54, 0 }, { 35, -4, 5, 20, 54, 0 }, - { 36, -5, 5, 20, 54, 0 }, { 37, -6, 4, 20, 54, 0 }, { 38, -7, 4, 20, 54, 0 }, { 39, -8, 3, 20, 54, 0 }, { 40, -9, 3, 20, 54, 0 }, - { 41, -10, 2, 20, 54, 0 }, { 42, -11, 2, 20, 54, 0 }, { 43, -12, 1, 20, 54, 0 }, { 44, -13, 1, 20, 54, 0 }, { 45, -14, 0, 20, 54, 0 }, - { 46, -15, 0, 20, 54, 0 }, { 47, -16, -1, 20, 54, 0 }, + 32, { + { 16, 15, 15, 20, 54, 0 }, { 17, 14, 14, 20, 54, 0 }, { 18, 13, 14, 20, 54, 0 }, { 19, 12, 13, 20, 54, 0 }, { 20, 11, 13, 20, 54, 0 }, + { 21, 10, 12, 20, 54, 0 }, { 22, 9, 12, 20, 54, 0 }, { 23, 8, 11, 20, 54, 0 }, { 24, 7, 11, 20, 54, 0 }, { 25, 6, 10, 20, 54, 0 }, + { 26, 5, 10, 20, 54, 0 }, { 27, 4, 9, 20, 54, 0 }, { 28, 3, 9, 20, 54, 0 }, { 29, 2, 8, 20, 54, 0 }, { 30, 1, 8, 20, 54, 0 }, + { 31, 0, 7, 20, 54, 0 }, { 32, -1, 7, 20, 54, 0 }, { 33, -2, 6, 20, 54, 0 }, { 34, -3, 6, 20, 54, 0 }, { 35, -4, 5, 20, 54, 0 }, + { 36, -5, 5, 20, 54, 0 }, { 37, -6, 4, 20, 54, 0 }, { 38, -7, 4, 20, 54, 0 }, { 39, -8, 3, 20, 54, 0 }, { 40, -9, 3, 20, 54, 0 }, + { 41, -10, 2, 20, 54, 0 }, { 42, -11, 2, 20, 54, 0 }, { 43, -12, 1, 20, 54, 0 }, { 44, -13, 1, 20, 54, 0 }, { 45, -14, 0, 20, 54, 0 }, + { 46, -15, 0, 20, 54, 0 }, { 47, -16, -1, 20, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_916F5C = { - 32, { - { 15, 15, 15, 28, 54, 0 }, { 14, 14, 15, 28, 54, 0 }, { 13, 13, 14, 28, 54, 0 }, { 12, 12, 14, 28, 54, 0 }, { 11, 11, 13, 28, 54, 0 }, - { 10, 10, 13, 28, 54, 0 }, { 9, 9, 12, 28, 54, 0 }, { 8, 8, 12, 28, 54, 0 }, { 7, 7, 11, 28, 54, 0 }, { 6, 6, 11, 28, 54, 0 }, - { 5, 5, 10, 28, 54, 0 }, { 4, 4, 10, 28, 54, 0 }, { 3, 3, 9, 28, 54, 0 }, { 2, 2, 9, 28, 54, 0 }, { 1, 1, 8, 28, 54, 0 }, - { 0, 0, 8, 28, 54, 0 }, { -1, -1, 7, 28, 54, 0 }, { -2, -2, 7, 28, 54, 0 }, { -3, -3, 6, 28, 54, 0 }, { -4, -4, 6, 28, 54, 0 }, - { -5, -5, 5, 28, 54, 0 }, { -6, -6, 5, 28, 54, 0 }, { -7, -7, 4, 28, 54, 0 }, { -8, -8, 4, 28, 54, 0 }, { -9, -9, 3, 28, 54, 0 }, - { -10, -10, 3, 28, 54, 0 }, { -11, -11, 2, 28, 54, 0 }, { -12, -12, 2, 28, 54, 0 }, { -13, -13, 1, 28, 54, 0 }, { -14, -14, 1, 28, 54, 0 }, - { -15, -15, 0, 28, 54, 0 }, { -16, -16, 0, 28, 54, 0 }, + 32, { + { 15, 15, 15, 28, 54, 0 }, { 14, 14, 15, 28, 54, 0 }, { 13, 13, 14, 28, 54, 0 }, { 12, 12, 14, 28, 54, 0 }, { 11, 11, 13, 28, 54, 0 }, + { 10, 10, 13, 28, 54, 0 }, { 9, 9, 12, 28, 54, 0 }, { 8, 8, 12, 28, 54, 0 }, { 7, 7, 11, 28, 54, 0 }, { 6, 6, 11, 28, 54, 0 }, + { 5, 5, 10, 28, 54, 0 }, { 4, 4, 10, 28, 54, 0 }, { 3, 3, 9, 28, 54, 0 }, { 2, 2, 9, 28, 54, 0 }, { 1, 1, 8, 28, 54, 0 }, + { 0, 0, 8, 28, 54, 0 }, { -1, -1, 7, 28, 54, 0 }, { -2, -2, 7, 28, 54, 0 }, { -3, -3, 6, 28, 54, 0 }, { -4, -4, 6, 28, 54, 0 }, + { -5, -5, 5, 28, 54, 0 }, { -6, -6, 5, 28, 54, 0 }, { -7, -7, 4, 28, 54, 0 }, { -8, -8, 4, 28, 54, 0 }, { -9, -9, 3, 28, 54, 0 }, + { -10, -10, 3, 28, 54, 0 }, { -11, -11, 2, 28, 54, 0 }, { -12, -12, 2, 28, 54, 0 }, { -13, -13, 1, 28, 54, 0 }, { -14, -14, 1, 28, 54, 0 }, + { -15, -15, 0, 28, 54, 0 }, { -16, -16, 0, 28, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_917986 = { - 64, { - { 15, 16, 63, 4, 55, 0 }, { 15, 16, 62, 4, 55, 0 }, { 14, 17, 61, 4, 55, 0 }, { 14, 17, 60, 4, 55, 0 }, { 13, 18, 59, 4, 55, 0 }, - { 13, 18, 58, 4, 55, 0 }, { 12, 19, 57, 4, 55, 0 }, { 12, 19, 56, 4, 55, 0 }, { 11, 20, 55, 4, 55, 0 }, { 11, 20, 54, 4, 55, 0 }, - { 10, 21, 53, 4, 55, 0 }, { 10, 21, 52, 4, 55, 0 }, { 9, 22, 51, 4, 55, 0 }, { 9, 22, 50, 4, 55, 0 }, { 8, 23, 49, 4, 55, 0 }, - { 8, 23, 48, 4, 55, 0 }, { 7, 24, 47, 4, 55, 0 }, { 7, 24, 46, 4, 55, 0 }, { 6, 25, 45, 4, 55, 0 }, { 6, 25, 44, 4, 55, 0 }, - { 5, 26, 43, 4, 55, 0 }, { 5, 26, 42, 4, 55, 0 }, { 4, 27, 41, 4, 55, 0 }, { 4, 27, 40, 4, 55, 0 }, { 3, 28, 39, 4, 55, 0 }, - { 3, 28, 38, 4, 55, 0 }, { 2, 29, 37, 4, 55, 0 }, { 2, 29, 36, 4, 55, 0 }, { 1, 30, 35, 4, 55, 0 }, { 1, 30, 34, 4, 55, 0 }, - { 0, 31, 33, 4, 55, 0 }, { 0, 31, 32, 4, 55, 0 }, { -1, 32, 31, 4, 55, 0 }, { -1, 32, 30, 4, 55, 0 }, { -2, 33, 29, 4, 55, 0 }, - { -2, 33, 28, 4, 55, 0 }, { -3, 34, 27, 4, 55, 0 }, { -3, 34, 26, 4, 55, 0 }, { -4, 35, 25, 4, 55, 0 }, { -4, 35, 24, 4, 55, 0 }, - { -5, 36, 23, 4, 55, 0 }, { -5, 36, 22, 4, 55, 0 }, { -6, 37, 21, 4, 55, 0 }, { -6, 37, 20, 4, 55, 0 }, { -7, 38, 19, 4, 55, 0 }, - { -7, 38, 18, 4, 55, 0 }, { -8, 39, 17, 4, 55, 0 }, { -8, 39, 16, 4, 55, 0 }, { -9, 40, 15, 4, 55, 0 }, { -9, 40, 14, 4, 55, 0 }, - { -10, 41, 13, 4, 55, 0 }, { -10, 41, 12, 4, 55, 0 }, { -11, 42, 11, 4, 55, 0 }, { -11, 42, 10, 4, 55, 0 }, { -12, 43, 9, 4, 55, 0 }, - { -12, 43, 8, 4, 55, 0 }, { -13, 44, 7, 4, 55, 0 }, { -13, 44, 6, 4, 55, 0 }, { -14, 45, 5, 4, 55, 0 }, { -14, 45, 4, 4, 55, 0 }, - { -15, 46, 3, 4, 55, 0 }, { -15, 46, 2, 4, 55, 0 }, { -16, 47, 1, 4, 55, 0 }, { -16, 47, 0, 4, 55, 0 }, + 64, { + { 15, 16, 63, 4, 55, 0 }, { 15, 16, 62, 4, 55, 0 }, { 14, 17, 61, 4, 55, 0 }, { 14, 17, 60, 4, 55, 0 }, { 13, 18, 59, 4, 55, 0 }, + { 13, 18, 58, 4, 55, 0 }, { 12, 19, 57, 4, 55, 0 }, { 12, 19, 56, 4, 55, 0 }, { 11, 20, 55, 4, 55, 0 }, { 11, 20, 54, 4, 55, 0 }, + { 10, 21, 53, 4, 55, 0 }, { 10, 21, 52, 4, 55, 0 }, { 9, 22, 51, 4, 55, 0 }, { 9, 22, 50, 4, 55, 0 }, { 8, 23, 49, 4, 55, 0 }, + { 8, 23, 48, 4, 55, 0 }, { 7, 24, 47, 4, 55, 0 }, { 7, 24, 46, 4, 55, 0 }, { 6, 25, 45, 4, 55, 0 }, { 6, 25, 44, 4, 55, 0 }, + { 5, 26, 43, 4, 55, 0 }, { 5, 26, 42, 4, 55, 0 }, { 4, 27, 41, 4, 55, 0 }, { 4, 27, 40, 4, 55, 0 }, { 3, 28, 39, 4, 55, 0 }, + { 3, 28, 38, 4, 55, 0 }, { 2, 29, 37, 4, 55, 0 }, { 2, 29, 36, 4, 55, 0 }, { 1, 30, 35, 4, 55, 0 }, { 1, 30, 34, 4, 55, 0 }, + { 0, 31, 33, 4, 55, 0 }, { 0, 31, 32, 4, 55, 0 }, { -1, 32, 31, 4, 55, 0 }, { -1, 32, 30, 4, 55, 0 }, { -2, 33, 29, 4, 55, 0 }, + { -2, 33, 28, 4, 55, 0 }, { -3, 34, 27, 4, 55, 0 }, { -3, 34, 26, 4, 55, 0 }, { -4, 35, 25, 4, 55, 0 }, { -4, 35, 24, 4, 55, 0 }, + { -5, 36, 23, 4, 55, 0 }, { -5, 36, 22, 4, 55, 0 }, { -6, 37, 21, 4, 55, 0 }, { -6, 37, 20, 4, 55, 0 }, { -7, 38, 19, 4, 55, 0 }, + { -7, 38, 18, 4, 55, 0 }, { -8, 39, 17, 4, 55, 0 }, { -8, 39, 16, 4, 55, 0 }, { -9, 40, 15, 4, 55, 0 }, { -9, 40, 14, 4, 55, 0 }, + { -10, 41, 13, 4, 55, 0 }, { -10, 41, 12, 4, 55, 0 }, { -11, 42, 11, 4, 55, 0 }, { -11, 42, 10, 4, 55, 0 }, { -12, 43, 9, 4, 55, 0 }, + { -12, 43, 8, 4, 55, 0 }, { -13, 44, 7, 4, 55, 0 }, { -13, 44, 6, 4, 55, 0 }, { -14, 45, 5, 4, 55, 0 }, { -14, 45, 4, 4, 55, 0 }, + { -15, 46, 3, 4, 55, 0 }, { -15, 46, 2, 4, 55, 0 }, { -16, 47, 1, 4, 55, 0 }, { -16, 47, 0, 4, 55, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_917BC8 = { - 64, { - { 16, 16, 63, 12, 55, 0 }, { 16, 16, 62, 12, 55, 0 }, { 17, 17, 61, 12, 55, 0 }, { 17, 17, 60, 12, 55, 0 }, { 18, 18, 59, 12, 55, 0 }, - { 18, 18, 58, 12, 55, 0 }, { 19, 19, 57, 12, 55, 0 }, { 19, 19, 56, 12, 55, 0 }, { 20, 20, 55, 12, 55, 0 }, { 20, 20, 54, 12, 55, 0 }, - { 21, 21, 53, 12, 55, 0 }, { 21, 21, 52, 12, 55, 0 }, { 22, 22, 51, 12, 55, 0 }, { 22, 22, 50, 12, 55, 0 }, { 23, 23, 49, 12, 55, 0 }, - { 23, 23, 48, 12, 55, 0 }, { 24, 24, 47, 12, 55, 0 }, { 24, 24, 46, 12, 55, 0 }, { 25, 25, 45, 12, 55, 0 }, { 25, 25, 44, 12, 55, 0 }, - { 26, 26, 43, 12, 55, 0 }, { 26, 26, 42, 12, 55, 0 }, { 27, 27, 41, 12, 55, 0 }, { 27, 27, 40, 12, 55, 0 }, { 28, 28, 39, 12, 55, 0 }, - { 28, 28, 38, 12, 55, 0 }, { 29, 29, 37, 12, 55, 0 }, { 29, 29, 36, 12, 55, 0 }, { 30, 30, 35, 12, 55, 0 }, { 30, 30, 34, 12, 55, 0 }, - { 31, 31, 33, 12, 55, 0 }, { 31, 31, 32, 12, 55, 0 }, { 32, 32, 31, 12, 55, 0 }, { 32, 32, 30, 12, 55, 0 }, { 33, 33, 29, 12, 55, 0 }, - { 33, 33, 28, 12, 55, 0 }, { 34, 34, 27, 12, 55, 0 }, { 34, 34, 26, 12, 55, 0 }, { 35, 35, 25, 12, 55, 0 }, { 35, 35, 24, 12, 55, 0 }, - { 36, 36, 23, 12, 55, 0 }, { 36, 36, 22, 12, 55, 0 }, { 37, 37, 21, 12, 55, 0 }, { 37, 37, 20, 12, 55, 0 }, { 38, 38, 19, 12, 55, 0 }, - { 38, 38, 18, 12, 55, 0 }, { 39, 39, 17, 12, 55, 0 }, { 39, 39, 16, 12, 55, 0 }, { 40, 40, 15, 12, 55, 0 }, { 40, 40, 14, 12, 55, 0 }, - { 41, 41, 13, 12, 55, 0 }, { 41, 41, 12, 12, 55, 0 }, { 42, 42, 11, 12, 55, 0 }, { 42, 42, 10, 12, 55, 0 }, { 43, 43, 9, 12, 55, 0 }, - { 43, 43, 8, 12, 55, 0 }, { 44, 44, 7, 12, 55, 0 }, { 44, 44, 6, 12, 55, 0 }, { 45, 45, 5, 12, 55, 0 }, { 45, 45, 4, 12, 55, 0 }, - { 46, 46, 3, 12, 55, 0 }, { 46, 46, 2, 12, 55, 0 }, { 47, 47, 1, 12, 55, 0 }, { 47, 47, 0, 12, 55, 0 }, + 64, { + { 16, 16, 63, 12, 55, 0 }, { 16, 16, 62, 12, 55, 0 }, { 17, 17, 61, 12, 55, 0 }, { 17, 17, 60, 12, 55, 0 }, { 18, 18, 59, 12, 55, 0 }, + { 18, 18, 58, 12, 55, 0 }, { 19, 19, 57, 12, 55, 0 }, { 19, 19, 56, 12, 55, 0 }, { 20, 20, 55, 12, 55, 0 }, { 20, 20, 54, 12, 55, 0 }, + { 21, 21, 53, 12, 55, 0 }, { 21, 21, 52, 12, 55, 0 }, { 22, 22, 51, 12, 55, 0 }, { 22, 22, 50, 12, 55, 0 }, { 23, 23, 49, 12, 55, 0 }, + { 23, 23, 48, 12, 55, 0 }, { 24, 24, 47, 12, 55, 0 }, { 24, 24, 46, 12, 55, 0 }, { 25, 25, 45, 12, 55, 0 }, { 25, 25, 44, 12, 55, 0 }, + { 26, 26, 43, 12, 55, 0 }, { 26, 26, 42, 12, 55, 0 }, { 27, 27, 41, 12, 55, 0 }, { 27, 27, 40, 12, 55, 0 }, { 28, 28, 39, 12, 55, 0 }, + { 28, 28, 38, 12, 55, 0 }, { 29, 29, 37, 12, 55, 0 }, { 29, 29, 36, 12, 55, 0 }, { 30, 30, 35, 12, 55, 0 }, { 30, 30, 34, 12, 55, 0 }, + { 31, 31, 33, 12, 55, 0 }, { 31, 31, 32, 12, 55, 0 }, { 32, 32, 31, 12, 55, 0 }, { 32, 32, 30, 12, 55, 0 }, { 33, 33, 29, 12, 55, 0 }, + { 33, 33, 28, 12, 55, 0 }, { 34, 34, 27, 12, 55, 0 }, { 34, 34, 26, 12, 55, 0 }, { 35, 35, 25, 12, 55, 0 }, { 35, 35, 24, 12, 55, 0 }, + { 36, 36, 23, 12, 55, 0 }, { 36, 36, 22, 12, 55, 0 }, { 37, 37, 21, 12, 55, 0 }, { 37, 37, 20, 12, 55, 0 }, { 38, 38, 19, 12, 55, 0 }, + { 38, 38, 18, 12, 55, 0 }, { 39, 39, 17, 12, 55, 0 }, { 39, 39, 16, 12, 55, 0 }, { 40, 40, 15, 12, 55, 0 }, { 40, 40, 14, 12, 55, 0 }, + { 41, 41, 13, 12, 55, 0 }, { 41, 41, 12, 12, 55, 0 }, { 42, 42, 11, 12, 55, 0 }, { 42, 42, 10, 12, 55, 0 }, { 43, 43, 9, 12, 55, 0 }, + { 43, 43, 8, 12, 55, 0 }, { 44, 44, 7, 12, 55, 0 }, { 44, 44, 6, 12, 55, 0 }, { 45, 45, 5, 12, 55, 0 }, { 45, 45, 4, 12, 55, 0 }, + { 46, 46, 3, 12, 55, 0 }, { 46, 46, 2, 12, 55, 0 }, { 47, 47, 1, 12, 55, 0 }, { 47, 47, 0, 12, 55, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_917E0A = { - 64, { - { 16, 15, 63, 20, 55, 0 }, { 16, 15, 62, 20, 55, 0 }, { 17, 14, 61, 20, 55, 0 }, { 17, 14, 60, 20, 55, 0 }, { 18, 13, 59, 20, 55, 0 }, - { 18, 13, 58, 20, 55, 0 }, { 19, 12, 57, 20, 55, 0 }, { 19, 12, 56, 20, 55, 0 }, { 20, 11, 55, 20, 55, 0 }, { 20, 11, 54, 20, 55, 0 }, - { 21, 10, 53, 20, 55, 0 }, { 21, 10, 52, 20, 55, 0 }, { 22, 9, 51, 20, 55, 0 }, { 22, 9, 50, 20, 55, 0 }, { 23, 8, 49, 20, 55, 0 }, - { 23, 8, 48, 20, 55, 0 }, { 24, 7, 47, 20, 55, 0 }, { 24, 7, 46, 20, 55, 0 }, { 25, 6, 45, 20, 55, 0 }, { 25, 6, 44, 20, 55, 0 }, - { 26, 5, 43, 20, 55, 0 }, { 26, 5, 42, 20, 55, 0 }, { 27, 4, 41, 20, 55, 0 }, { 27, 4, 40, 20, 55, 0 }, { 28, 3, 39, 20, 55, 0 }, - { 28, 3, 38, 20, 55, 0 }, { 29, 2, 37, 20, 55, 0 }, { 29, 2, 36, 20, 55, 0 }, { 30, 1, 35, 20, 55, 0 }, { 30, 1, 34, 20, 55, 0 }, - { 31, 0, 33, 20, 55, 0 }, { 31, 0, 32, 20, 55, 0 }, { 32, -1, 31, 20, 55, 0 }, { 32, -1, 30, 20, 55, 0 }, { 33, -2, 29, 20, 55, 0 }, - { 33, -2, 28, 20, 55, 0 }, { 34, -3, 27, 20, 55, 0 }, { 34, -3, 26, 20, 55, 0 }, { 35, -4, 25, 20, 55, 0 }, { 35, -4, 24, 20, 55, 0 }, - { 36, -5, 23, 20, 55, 0 }, { 36, -5, 22, 20, 55, 0 }, { 37, -6, 21, 20, 55, 0 }, { 37, -6, 20, 20, 55, 0 }, { 38, -7, 19, 20, 55, 0 }, - { 38, -7, 18, 20, 55, 0 }, { 39, -8, 17, 20, 55, 0 }, { 39, -8, 16, 20, 55, 0 }, { 40, -9, 15, 20, 55, 0 }, { 40, -9, 14, 20, 55, 0 }, - { 41, -10, 13, 20, 55, 0 }, { 41, -10, 12, 20, 55, 0 }, { 42, -11, 11, 20, 55, 0 }, { 42, -11, 10, 20, 55, 0 }, { 43, -12, 9, 20, 55, 0 }, - { 43, -12, 8, 20, 55, 0 }, { 44, -13, 7, 20, 55, 0 }, { 44, -13, 6, 20, 55, 0 }, { 45, -14, 5, 20, 55, 0 }, { 45, -14, 4, 20, 55, 0 }, - { 46, -15, 3, 20, 55, 0 }, { 46, -15, 2, 20, 55, 0 }, { 47, -16, 1, 20, 55, 0 }, { 47, -16, 0, 20, 55, 0 }, + 64, { + { 16, 15, 63, 20, 55, 0 }, { 16, 15, 62, 20, 55, 0 }, { 17, 14, 61, 20, 55, 0 }, { 17, 14, 60, 20, 55, 0 }, { 18, 13, 59, 20, 55, 0 }, + { 18, 13, 58, 20, 55, 0 }, { 19, 12, 57, 20, 55, 0 }, { 19, 12, 56, 20, 55, 0 }, { 20, 11, 55, 20, 55, 0 }, { 20, 11, 54, 20, 55, 0 }, + { 21, 10, 53, 20, 55, 0 }, { 21, 10, 52, 20, 55, 0 }, { 22, 9, 51, 20, 55, 0 }, { 22, 9, 50, 20, 55, 0 }, { 23, 8, 49, 20, 55, 0 }, + { 23, 8, 48, 20, 55, 0 }, { 24, 7, 47, 20, 55, 0 }, { 24, 7, 46, 20, 55, 0 }, { 25, 6, 45, 20, 55, 0 }, { 25, 6, 44, 20, 55, 0 }, + { 26, 5, 43, 20, 55, 0 }, { 26, 5, 42, 20, 55, 0 }, { 27, 4, 41, 20, 55, 0 }, { 27, 4, 40, 20, 55, 0 }, { 28, 3, 39, 20, 55, 0 }, + { 28, 3, 38, 20, 55, 0 }, { 29, 2, 37, 20, 55, 0 }, { 29, 2, 36, 20, 55, 0 }, { 30, 1, 35, 20, 55, 0 }, { 30, 1, 34, 20, 55, 0 }, + { 31, 0, 33, 20, 55, 0 }, { 31, 0, 32, 20, 55, 0 }, { 32, -1, 31, 20, 55, 0 }, { 32, -1, 30, 20, 55, 0 }, { 33, -2, 29, 20, 55, 0 }, + { 33, -2, 28, 20, 55, 0 }, { 34, -3, 27, 20, 55, 0 }, { 34, -3, 26, 20, 55, 0 }, { 35, -4, 25, 20, 55, 0 }, { 35, -4, 24, 20, 55, 0 }, + { 36, -5, 23, 20, 55, 0 }, { 36, -5, 22, 20, 55, 0 }, { 37, -6, 21, 20, 55, 0 }, { 37, -6, 20, 20, 55, 0 }, { 38, -7, 19, 20, 55, 0 }, + { 38, -7, 18, 20, 55, 0 }, { 39, -8, 17, 20, 55, 0 }, { 39, -8, 16, 20, 55, 0 }, { 40, -9, 15, 20, 55, 0 }, { 40, -9, 14, 20, 55, 0 }, + { 41, -10, 13, 20, 55, 0 }, { 41, -10, 12, 20, 55, 0 }, { 42, -11, 11, 20, 55, 0 }, { 42, -11, 10, 20, 55, 0 }, { 43, -12, 9, 20, 55, 0 }, + { 43, -12, 8, 20, 55, 0 }, { 44, -13, 7, 20, 55, 0 }, { 44, -13, 6, 20, 55, 0 }, { 45, -14, 5, 20, 55, 0 }, { 45, -14, 4, 20, 55, 0 }, + { 46, -15, 3, 20, 55, 0 }, { 46, -15, 2, 20, 55, 0 }, { 47, -16, 1, 20, 55, 0 }, { 47, -16, 0, 20, 55, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91804C = { - 64, { - { 15, 15, 63, 28, 55, 0 }, { 15, 15, 62, 28, 55, 0 }, { 14, 14, 61, 28, 55, 0 }, { 14, 14, 60, 28, 55, 0 }, { 13, 13, 59, 28, 55, 0 }, - { 13, 13, 58, 28, 55, 0 }, { 12, 12, 57, 28, 55, 0 }, { 12, 12, 56, 28, 55, 0 }, { 11, 11, 55, 28, 55, 0 }, { 11, 11, 54, 28, 55, 0 }, - { 10, 10, 53, 28, 55, 0 }, { 10, 10, 52, 28, 55, 0 }, { 9, 9, 51, 28, 55, 0 }, { 9, 9, 50, 28, 55, 0 }, { 8, 8, 49, 28, 55, 0 }, - { 8, 8, 48, 28, 55, 0 }, { 7, 7, 47, 28, 55, 0 }, { 7, 7, 46, 28, 55, 0 }, { 6, 6, 45, 28, 55, 0 }, { 6, 6, 44, 28, 55, 0 }, - { 5, 5, 43, 28, 55, 0 }, { 5, 5, 42, 28, 55, 0 }, { 4, 4, 41, 28, 55, 0 }, { 4, 4, 40, 28, 55, 0 }, { 3, 3, 39, 28, 55, 0 }, - { 3, 3, 38, 28, 55, 0 }, { 2, 2, 37, 28, 55, 0 }, { 2, 2, 36, 28, 55, 0 }, { 1, 1, 35, 28, 55, 0 }, { 1, 1, 34, 28, 55, 0 }, - { 0, 0, 33, 28, 55, 0 }, { 0, 0, 32, 28, 55, 0 }, { -1, -1, 31, 28, 55, 0 }, { -1, -1, 30, 28, 55, 0 }, { -2, -2, 29, 28, 55, 0 }, - { -2, -2, 28, 28, 55, 0 }, { -3, -3, 27, 28, 55, 0 }, { -3, -3, 26, 28, 55, 0 }, { -4, -4, 25, 28, 55, 0 }, { -4, -4, 24, 28, 55, 0 }, - { -5, -5, 23, 28, 55, 0 }, { -5, -5, 22, 28, 55, 0 }, { -6, -6, 21, 28, 55, 0 }, { -6, -6, 20, 28, 55, 0 }, { -7, -7, 19, 28, 55, 0 }, - { -7, -7, 18, 28, 55, 0 }, { -8, -8, 17, 28, 55, 0 }, { -8, -8, 16, 28, 55, 0 }, { -9, -9, 15, 28, 55, 0 }, { -9, -9, 14, 28, 55, 0 }, - { -10, -10, 13, 28, 55, 0 }, { -10, -10, 12, 28, 55, 0 }, { -11, -11, 11, 28, 55, 0 }, { -11, -11, 10, 28, 55, 0 }, { -12, -12, 9, 28, 55, 0 }, - { -12, -12, 8, 28, 55, 0 }, { -13, -13, 7, 28, 55, 0 }, { -13, -13, 6, 28, 55, 0 }, { -14, -14, 5, 28, 55, 0 }, { -14, -14, 4, 28, 55, 0 }, - { -15, -15, 3, 28, 55, 0 }, { -15, -15, 2, 28, 55, 0 }, { -16, -16, 1, 28, 55, 0 }, { -16, -16, 0, 28, 55, 0 }, + 64, { + { 15, 15, 63, 28, 55, 0 }, { 15, 15, 62, 28, 55, 0 }, { 14, 14, 61, 28, 55, 0 }, { 14, 14, 60, 28, 55, 0 }, { 13, 13, 59, 28, 55, 0 }, + { 13, 13, 58, 28, 55, 0 }, { 12, 12, 57, 28, 55, 0 }, { 12, 12, 56, 28, 55, 0 }, { 11, 11, 55, 28, 55, 0 }, { 11, 11, 54, 28, 55, 0 }, + { 10, 10, 53, 28, 55, 0 }, { 10, 10, 52, 28, 55, 0 }, { 9, 9, 51, 28, 55, 0 }, { 9, 9, 50, 28, 55, 0 }, { 8, 8, 49, 28, 55, 0 }, + { 8, 8, 48, 28, 55, 0 }, { 7, 7, 47, 28, 55, 0 }, { 7, 7, 46, 28, 55, 0 }, { 6, 6, 45, 28, 55, 0 }, { 6, 6, 44, 28, 55, 0 }, + { 5, 5, 43, 28, 55, 0 }, { 5, 5, 42, 28, 55, 0 }, { 4, 4, 41, 28, 55, 0 }, { 4, 4, 40, 28, 55, 0 }, { 3, 3, 39, 28, 55, 0 }, + { 3, 3, 38, 28, 55, 0 }, { 2, 2, 37, 28, 55, 0 }, { 2, 2, 36, 28, 55, 0 }, { 1, 1, 35, 28, 55, 0 }, { 1, 1, 34, 28, 55, 0 }, + { 0, 0, 33, 28, 55, 0 }, { 0, 0, 32, 28, 55, 0 }, { -1, -1, 31, 28, 55, 0 }, { -1, -1, 30, 28, 55, 0 }, { -2, -2, 29, 28, 55, 0 }, + { -2, -2, 28, 28, 55, 0 }, { -3, -3, 27, 28, 55, 0 }, { -3, -3, 26, 28, 55, 0 }, { -4, -4, 25, 28, 55, 0 }, { -4, -4, 24, 28, 55, 0 }, + { -5, -5, 23, 28, 55, 0 }, { -5, -5, 22, 28, 55, 0 }, { -6, -6, 21, 28, 55, 0 }, { -6, -6, 20, 28, 55, 0 }, { -7, -7, 19, 28, 55, 0 }, + { -7, -7, 18, 28, 55, 0 }, { -8, -8, 17, 28, 55, 0 }, { -8, -8, 16, 28, 55, 0 }, { -9, -9, 15, 28, 55, 0 }, { -9, -9, 14, 28, 55, 0 }, + { -10, -10, 13, 28, 55, 0 }, { -10, -10, 12, 28, 55, 0 }, { -11, -11, 11, 28, 55, 0 }, { -11, -11, 10, 28, 55, 0 }, { -12, -12, 9, 28, 55, 0 }, + { -12, -12, 8, 28, 55, 0 }, { -13, -13, 7, 28, 55, 0 }, { -13, -13, 6, 28, 55, 0 }, { -14, -14, 5, 28, 55, 0 }, { -14, -14, 4, 28, 55, 0 }, + { -15, -15, 3, 28, 55, 0 }, { -15, -15, 2, 28, 55, 0 }, { -16, -16, 1, 28, 55, 0 }, { -16, -16, 0, 28, 55, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91906E = { - 32, { - { 15, 16, 8, 4, 0, 0 }, { 14, 17, 8, 4, 0, 0 }, { 13, 18, 8, 4, 0, 0 }, { 12, 19, 8, 4, 0, 0 }, { 11, 20, 8, 4, 0, 0 }, - { 10, 21, 8, 4, 0, 0 }, { 9, 22, 8, 4, 0, 0 }, { 8, 23, 8, 4, 0, 0 }, { 7, 24, 7, 4, 53, 0 }, { 6, 25, 7, 4, 53, 0 }, - { 5, 26, 7, 4, 53, 0 }, { 4, 27, 7, 4, 53, 0 }, { 3, 28, 7, 4, 53, 0 }, { 2, 29, 7, 4, 53, 0 }, { 1, 30, 6, 4, 53, 0 }, - { 0, 31, 6, 4, 53, 0 }, { -1, 32, 6, 4, 53, 0 }, { -2, 33, 6, 4, 53, 0 }, { -3, 34, 5, 4, 53, 0 }, { -4, 35, 5, 4, 53, 0 }, - { -5, 36, 5, 4, 53, 0 }, { -6, 37, 4, 4, 53, 0 }, { -7, 38, 4, 4, 53, 0 }, { -8, 39, 4, 4, 53, 0 }, { -9, 40, 3, 4, 54, 0 }, - { -10, 41, 3, 4, 54, 0 }, { -11, 42, 2, 4, 54, 0 }, { -12, 43, 2, 4, 54, 0 }, { -13, 44, 1, 4, 54, 0 }, { -14, 45, 1, 4, 54, 0 }, - { -15, 46, 0, 4, 54, 0 }, { -16, 47, 0, 4, 54, 0 }, + 32, { + { 15, 16, 8, 4, 0, 0 }, { 14, 17, 8, 4, 0, 0 }, { 13, 18, 8, 4, 0, 0 }, { 12, 19, 8, 4, 0, 0 }, { 11, 20, 8, 4, 0, 0 }, + { 10, 21, 8, 4, 0, 0 }, { 9, 22, 8, 4, 0, 0 }, { 8, 23, 8, 4, 0, 0 }, { 7, 24, 7, 4, 53, 0 }, { 6, 25, 7, 4, 53, 0 }, + { 5, 26, 7, 4, 53, 0 }, { 4, 27, 7, 4, 53, 0 }, { 3, 28, 7, 4, 53, 0 }, { 2, 29, 7, 4, 53, 0 }, { 1, 30, 6, 4, 53, 0 }, + { 0, 31, 6, 4, 53, 0 }, { -1, 32, 6, 4, 53, 0 }, { -2, 33, 6, 4, 53, 0 }, { -3, 34, 5, 4, 53, 0 }, { -4, 35, 5, 4, 53, 0 }, + { -5, 36, 5, 4, 53, 0 }, { -6, 37, 4, 4, 53, 0 }, { -7, 38, 4, 4, 53, 0 }, { -8, 39, 4, 4, 53, 0 }, { -9, 40, 3, 4, 54, 0 }, + { -10, 41, 3, 4, 54, 0 }, { -11, 42, 2, 4, 54, 0 }, { -12, 43, 2, 4, 54, 0 }, { -13, 44, 1, 4, 54, 0 }, { -14, 45, 1, 4, 54, 0 }, + { -15, 46, 0, 4, 54, 0 }, { -16, 47, 0, 4, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_919190 = { - 32, { - { 16, 16, 8, 12, 0, 0 }, { 17, 17, 8, 12, 0, 0 }, { 18, 18, 8, 12, 0, 0 }, { 19, 19, 8, 12, 0, 0 }, { 20, 20, 8, 12, 0, 0 }, - { 21, 21, 8, 12, 0, 0 }, { 22, 22, 8, 12, 0, 0 }, { 23, 23, 8, 12, 0, 0 }, { 24, 24, 7, 12, 53, 0 }, { 25, 25, 7, 12, 53, 0 }, - { 26, 26, 7, 12, 53, 0 }, { 27, 27, 7, 12, 53, 0 }, { 28, 28, 7, 12, 53, 0 }, { 29, 29, 7, 12, 53, 0 }, { 30, 30, 6, 12, 53, 0 }, - { 31, 31, 6, 12, 53, 0 }, { 32, 32, 6, 12, 53, 0 }, { 33, 33, 6, 12, 53, 0 }, { 34, 34, 5, 12, 53, 0 }, { 35, 35, 5, 12, 53, 0 }, - { 36, 36, 5, 12, 53, 0 }, { 37, 37, 4, 12, 53, 0 }, { 38, 38, 4, 12, 53, 0 }, { 39, 39, 4, 12, 53, 0 }, { 40, 40, 3, 12, 54, 0 }, - { 41, 41, 3, 12, 54, 0 }, { 42, 42, 3, 12, 54, 0 }, { 43, 43, 2, 12, 54, 0 }, { 44, 44, 2, 12, 54, 0 }, { 45, 45, 1, 12, 54, 0 }, - { 46, 46, 1, 12, 54, 0 }, { 47, 47, 0, 12, 54, 0 }, + 32, { + { 16, 16, 8, 12, 0, 0 }, { 17, 17, 8, 12, 0, 0 }, { 18, 18, 8, 12, 0, 0 }, { 19, 19, 8, 12, 0, 0 }, { 20, 20, 8, 12, 0, 0 }, + { 21, 21, 8, 12, 0, 0 }, { 22, 22, 8, 12, 0, 0 }, { 23, 23, 8, 12, 0, 0 }, { 24, 24, 7, 12, 53, 0 }, { 25, 25, 7, 12, 53, 0 }, + { 26, 26, 7, 12, 53, 0 }, { 27, 27, 7, 12, 53, 0 }, { 28, 28, 7, 12, 53, 0 }, { 29, 29, 7, 12, 53, 0 }, { 30, 30, 6, 12, 53, 0 }, + { 31, 31, 6, 12, 53, 0 }, { 32, 32, 6, 12, 53, 0 }, { 33, 33, 6, 12, 53, 0 }, { 34, 34, 5, 12, 53, 0 }, { 35, 35, 5, 12, 53, 0 }, + { 36, 36, 5, 12, 53, 0 }, { 37, 37, 4, 12, 53, 0 }, { 38, 38, 4, 12, 53, 0 }, { 39, 39, 4, 12, 53, 0 }, { 40, 40, 3, 12, 54, 0 }, + { 41, 41, 3, 12, 54, 0 }, { 42, 42, 3, 12, 54, 0 }, { 43, 43, 2, 12, 54, 0 }, { 44, 44, 2, 12, 54, 0 }, { 45, 45, 1, 12, 54, 0 }, + { 46, 46, 1, 12, 54, 0 }, { 47, 47, 0, 12, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9192B2 = { - 32, { - { 16, 15, 8, 20, 0, 0 }, { 17, 14, 8, 20, 0, 0 }, { 18, 13, 8, 20, 0, 0 }, { 19, 12, 8, 20, 0, 0 }, { 20, 11, 8, 20, 0, 0 }, - { 21, 10, 8, 20, 0, 0 }, { 22, 9, 8, 20, 0, 0 }, { 23, 8, 8, 20, 0, 0 }, { 24, 7, 7, 20, 53, 0 }, { 25, 6, 7, 20, 53, 0 }, - { 26, 5, 7, 20, 53, 0 }, { 27, 4, 7, 20, 53, 0 }, { 28, 3, 7, 20, 53, 0 }, { 29, 2, 7, 20, 53, 0 }, { 30, 1, 6, 20, 53, 0 }, - { 31, 0, 6, 20, 53, 0 }, { 32, -1, 6, 20, 53, 0 }, { 33, -2, 6, 20, 53, 0 }, { 34, -3, 5, 20, 53, 0 }, { 35, -4, 5, 20, 53, 0 }, - { 36, -5, 5, 20, 53, 0 }, { 37, -6, 4, 20, 53, 0 }, { 38, -7, 4, 20, 53, 0 }, { 39, -8, 4, 20, 53, 0 }, { 40, -9, 3, 20, 54, 0 }, - { 41, -10, 3, 20, 54, 0 }, { 42, -11, 3, 20, 54, 0 }, { 43, -12, 2, 20, 54, 0 }, { 44, -13, 2, 20, 54, 0 }, { 45, -14, 1, 20, 54, 0 }, - { 46, -15, 1, 20, 54, 0 }, { 47, -16, 0, 20, 54, 0 }, + 32, { + { 16, 15, 8, 20, 0, 0 }, { 17, 14, 8, 20, 0, 0 }, { 18, 13, 8, 20, 0, 0 }, { 19, 12, 8, 20, 0, 0 }, { 20, 11, 8, 20, 0, 0 }, + { 21, 10, 8, 20, 0, 0 }, { 22, 9, 8, 20, 0, 0 }, { 23, 8, 8, 20, 0, 0 }, { 24, 7, 7, 20, 53, 0 }, { 25, 6, 7, 20, 53, 0 }, + { 26, 5, 7, 20, 53, 0 }, { 27, 4, 7, 20, 53, 0 }, { 28, 3, 7, 20, 53, 0 }, { 29, 2, 7, 20, 53, 0 }, { 30, 1, 6, 20, 53, 0 }, + { 31, 0, 6, 20, 53, 0 }, { 32, -1, 6, 20, 53, 0 }, { 33, -2, 6, 20, 53, 0 }, { 34, -3, 5, 20, 53, 0 }, { 35, -4, 5, 20, 53, 0 }, + { 36, -5, 5, 20, 53, 0 }, { 37, -6, 4, 20, 53, 0 }, { 38, -7, 4, 20, 53, 0 }, { 39, -8, 4, 20, 53, 0 }, { 40, -9, 3, 20, 54, 0 }, + { 41, -10, 3, 20, 54, 0 }, { 42, -11, 3, 20, 54, 0 }, { 43, -12, 2, 20, 54, 0 }, { 44, -13, 2, 20, 54, 0 }, { 45, -14, 1, 20, 54, 0 }, + { 46, -15, 1, 20, 54, 0 }, { 47, -16, 0, 20, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9193D4 = { - 32, { - { 15, 15, 8, 28, 0, 0 }, { 14, 14, 8, 28, 0, 0 }, { 13, 13, 8, 28, 0, 0 }, { 12, 12, 8, 28, 0, 0 }, { 11, 11, 8, 28, 0, 0 }, - { 10, 10, 8, 28, 0, 0 }, { 9, 9, 8, 28, 0, 0 }, { 8, 8, 8, 28, 0, 0 }, { 7, 7, 7, 28, 53, 0 }, { 6, 6, 7, 28, 53, 0 }, - { 5, 5, 7, 28, 53, 0 }, { 4, 4, 7, 28, 53, 0 }, { 3, 3, 7, 28, 53, 0 }, { 2, 2, 7, 28, 53, 0 }, { 1, 1, 6, 28, 53, 0 }, - { 0, 0, 6, 28, 53, 0 }, { -1, -1, 6, 28, 53, 0 }, { -2, -2, 6, 28, 53, 0 }, { -3, -3, 5, 28, 53, 0 }, { -4, -4, 5, 28, 53, 0 }, - { -5, -5, 5, 28, 53, 0 }, { -6, -6, 4, 28, 53, 0 }, { -7, -7, 4, 28, 53, 0 }, { -8, -8, 4, 28, 53, 0 }, { -9, -9, 3, 28, 54, 0 }, - { -10, -10, 3, 28, 54, 0 }, { -11, -11, 2, 28, 54, 0 }, { -12, -12, 2, 28, 54, 0 }, { -13, -13, 1, 28, 54, 0 }, { -14, -14, 1, 28, 54, 0 }, - { -15, -15, 0, 28, 54, 0 }, { -16, -16, 0, 28, 54, 0 }, + 32, { + { 15, 15, 8, 28, 0, 0 }, { 14, 14, 8, 28, 0, 0 }, { 13, 13, 8, 28, 0, 0 }, { 12, 12, 8, 28, 0, 0 }, { 11, 11, 8, 28, 0, 0 }, + { 10, 10, 8, 28, 0, 0 }, { 9, 9, 8, 28, 0, 0 }, { 8, 8, 8, 28, 0, 0 }, { 7, 7, 7, 28, 53, 0 }, { 6, 6, 7, 28, 53, 0 }, + { 5, 5, 7, 28, 53, 0 }, { 4, 4, 7, 28, 53, 0 }, { 3, 3, 7, 28, 53, 0 }, { 2, 2, 7, 28, 53, 0 }, { 1, 1, 6, 28, 53, 0 }, + { 0, 0, 6, 28, 53, 0 }, { -1, -1, 6, 28, 53, 0 }, { -2, -2, 6, 28, 53, 0 }, { -3, -3, 5, 28, 53, 0 }, { -4, -4, 5, 28, 53, 0 }, + { -5, -5, 5, 28, 53, 0 }, { -6, -6, 4, 28, 53, 0 }, { -7, -7, 4, 28, 53, 0 }, { -8, -8, 4, 28, 53, 0 }, { -9, -9, 3, 28, 54, 0 }, + { -10, -10, 3, 28, 54, 0 }, { -11, -11, 2, 28, 54, 0 }, { -12, -12, 2, 28, 54, 0 }, { -13, -13, 1, 28, 54, 0 }, { -14, -14, 1, 28, 54, 0 }, + { -15, -15, 0, 28, 54, 0 }, { -16, -16, 0, 28, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91A4AA = { - 37, { - { 15, 16, 31, 4, 54, 0 }, { 14, 17, 31, 4, 54, 0 }, { 13, 18, 30, 4, 54, 0 }, { 12, 19, 30, 4, 54, 0 }, { 11, 20, 29, 4, 6, 0 }, - { 10, 21, 28, 4, 6, 0 }, { 9, 22, 28, 4, 6, 0 }, { 8, 23, 27, 4, 6, 0 }, { 7, 24, 26, 4, 6, 0 }, { 6, 25, 26, 4, 6, 0 }, - { 5, 26, 25, 4, 6, 0 }, { 4, 27, 24, 4, 6, 0 }, { 3, 28, 23, 4, 6, 0 }, { 2, 29, 23, 4, 6, 0 }, { 1, 30, 22, 4, 6, 0 }, - { 0, 31, 21, 4, 6, 0 }, { -1, 32, 20, 4, 6, 0 }, { -2, 33, 19, 4, 6, 0 }, { -3, 34, 18, 4, 6, 0 }, { -4, 35, 16, 4, 6, 0 }, - { -5, 36, 15, 4, 6, 0 }, { -6, 37, 14, 4, 7, 0 }, { -7, 38, 13, 4, 7, 0 }, { -8, 39, 12, 4, 7, 0 }, { -8, 39, 11, 4, 7, 0 }, - { -9, 40, 10, 4, 7, 0 }, { -10, 41, 9, 4, 7, 0 }, { -11, 42, 8, 4, 7, 0 }, { -11, 42, 7, 4, 7, 0 }, { -12, 43, 6, 4, 7, 0 }, - { -13, 44, 5, 4, 7, 0 }, { -13, 44, 4, 4, 7, 0 }, { -14, 45, 3, 4, 7, 0 }, { -15, 46, 2, 4, 7, 0 }, { -15, 46, 1, 4, 7, 0 }, - { -16, 47, 0, 4, 7, 0 }, { -16, 47, -1, 4, 55, 0 }, + 37, { + { 15, 16, 31, 4, 54, 0 }, { 14, 17, 31, 4, 54, 0 }, { 13, 18, 30, 4, 54, 0 }, { 12, 19, 30, 4, 54, 0 }, { 11, 20, 29, 4, 6, 0 }, + { 10, 21, 28, 4, 6, 0 }, { 9, 22, 28, 4, 6, 0 }, { 8, 23, 27, 4, 6, 0 }, { 7, 24, 26, 4, 6, 0 }, { 6, 25, 26, 4, 6, 0 }, + { 5, 26, 25, 4, 6, 0 }, { 4, 27, 24, 4, 6, 0 }, { 3, 28, 23, 4, 6, 0 }, { 2, 29, 23, 4, 6, 0 }, { 1, 30, 22, 4, 6, 0 }, + { 0, 31, 21, 4, 6, 0 }, { -1, 32, 20, 4, 6, 0 }, { -2, 33, 19, 4, 6, 0 }, { -3, 34, 18, 4, 6, 0 }, { -4, 35, 16, 4, 6, 0 }, + { -5, 36, 15, 4, 6, 0 }, { -6, 37, 14, 4, 7, 0 }, { -7, 38, 13, 4, 7, 0 }, { -8, 39, 12, 4, 7, 0 }, { -8, 39, 11, 4, 7, 0 }, + { -9, 40, 10, 4, 7, 0 }, { -10, 41, 9, 4, 7, 0 }, { -11, 42, 8, 4, 7, 0 }, { -11, 42, 7, 4, 7, 0 }, { -12, 43, 6, 4, 7, 0 }, + { -13, 44, 5, 4, 7, 0 }, { -13, 44, 4, 4, 7, 0 }, { -14, 45, 3, 4, 7, 0 }, { -15, 46, 2, 4, 7, 0 }, { -15, 46, 1, 4, 7, 0 }, + { -16, 47, 0, 4, 7, 0 }, { -16, 47, -1, 4, 55, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91A5F9 = { - 37, { - { 16, 16, 31, 12, 54, 0 }, { 17, 17, 31, 12, 54, 0 }, { 18, 18, 30, 12, 54, 0 }, { 19, 19, 30, 12, 54, 0 }, { 20, 20, 29, 12, 6, 0 }, - { 21, 21, 28, 12, 6, 0 }, { 22, 22, 28, 12, 6, 0 }, { 23, 23, 27, 12, 6, 0 }, { 24, 24, 26, 12, 6, 0 }, { 25, 25, 26, 12, 6, 0 }, - { 26, 26, 25, 12, 6, 0 }, { 27, 27, 24, 12, 6, 0 }, { 28, 28, 23, 12, 6, 0 }, { 29, 29, 23, 12, 6, 0 }, { 30, 30, 22, 12, 6, 0 }, - { 31, 31, 21, 12, 6, 0 }, { 32, 32, 20, 12, 6, 0 }, { 33, 33, 19, 12, 6, 0 }, { 34, 34, 18, 12, 6, 0 }, { 35, 35, 16, 12, 6, 0 }, - { 36, 36, 15, 12, 6, 0 }, { 37, 37, 14, 12, 7, 0 }, { 38, 38, 13, 12, 7, 0 }, { 39, 39, 12, 12, 7, 0 }, { 39, 39, 11, 12, 7, 0 }, - { 40, 40, 10, 12, 7, 0 }, { 41, 41, 9, 12, 7, 0 }, { 42, 42, 8, 12, 7, 0 }, { 42, 42, 7, 12, 7, 0 }, { 43, 43, 6, 12, 7, 0 }, - { 44, 44, 5, 12, 7, 0 }, { 44, 44, 4, 12, 7, 0 }, { 45, 45, 3, 12, 7, 0 }, { 46, 46, 2, 12, 7, 0 }, { 46, 46, 1, 12, 7, 0 }, - { 47, 47, 0, 12, 7, 0 }, { 47, 47, -1, 12, 55, 0 }, + 37, { + { 16, 16, 31, 12, 54, 0 }, { 17, 17, 31, 12, 54, 0 }, { 18, 18, 30, 12, 54, 0 }, { 19, 19, 30, 12, 54, 0 }, { 20, 20, 29, 12, 6, 0 }, + { 21, 21, 28, 12, 6, 0 }, { 22, 22, 28, 12, 6, 0 }, { 23, 23, 27, 12, 6, 0 }, { 24, 24, 26, 12, 6, 0 }, { 25, 25, 26, 12, 6, 0 }, + { 26, 26, 25, 12, 6, 0 }, { 27, 27, 24, 12, 6, 0 }, { 28, 28, 23, 12, 6, 0 }, { 29, 29, 23, 12, 6, 0 }, { 30, 30, 22, 12, 6, 0 }, + { 31, 31, 21, 12, 6, 0 }, { 32, 32, 20, 12, 6, 0 }, { 33, 33, 19, 12, 6, 0 }, { 34, 34, 18, 12, 6, 0 }, { 35, 35, 16, 12, 6, 0 }, + { 36, 36, 15, 12, 6, 0 }, { 37, 37, 14, 12, 7, 0 }, { 38, 38, 13, 12, 7, 0 }, { 39, 39, 12, 12, 7, 0 }, { 39, 39, 11, 12, 7, 0 }, + { 40, 40, 10, 12, 7, 0 }, { 41, 41, 9, 12, 7, 0 }, { 42, 42, 8, 12, 7, 0 }, { 42, 42, 7, 12, 7, 0 }, { 43, 43, 6, 12, 7, 0 }, + { 44, 44, 5, 12, 7, 0 }, { 44, 44, 4, 12, 7, 0 }, { 45, 45, 3, 12, 7, 0 }, { 46, 46, 2, 12, 7, 0 }, { 46, 46, 1, 12, 7, 0 }, + { 47, 47, 0, 12, 7, 0 }, { 47, 47, -1, 12, 55, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91A748 = { - 37, { - { 16, 15, 31, 20, 54, 0 }, { 17, 14, 31, 20, 54, 0 }, { 18, 13, 30, 20, 54, 0 }, { 19, 12, 30, 20, 54, 0 }, { 20, 11, 29, 20, 6, 0 }, - { 21, 10, 28, 20, 6, 0 }, { 22, 9, 28, 20, 6, 0 }, { 23, 8, 27, 20, 6, 0 }, { 24, 7, 26, 20, 6, 0 }, { 25, 6, 26, 20, 6, 0 }, - { 26, 5, 25, 20, 6, 0 }, { 27, 4, 24, 20, 6, 0 }, { 28, 3, 23, 20, 6, 0 }, { 29, 2, 23, 20, 6, 0 }, { 30, 1, 22, 20, 6, 0 }, - { 31, 0, 21, 20, 6, 0 }, { 32, -1, 20, 20, 6, 0 }, { 33, -2, 19, 20, 6, 0 }, { 34, -3, 18, 20, 6, 0 }, { 35, -4, 16, 20, 6, 0 }, - { 36, -5, 15, 20, 6, 0 }, { 37, -6, 14, 20, 7, 0 }, { 38, -7, 13, 20, 7, 0 }, { 39, -8, 12, 20, 7, 0 }, { 39, -8, 11, 20, 7, 0 }, - { 40, -9, 10, 20, 7, 0 }, { 41, -10, 9, 20, 7, 0 }, { 42, -11, 8, 20, 7, 0 }, { 42, -11, 7, 20, 7, 0 }, { 43, -12, 6, 20, 7, 0 }, - { 44, -13, 5, 20, 7, 0 }, { 44, -13, 4, 20, 7, 0 }, { 45, -14, 3, 20, 7, 0 }, { 46, -15, 2, 20, 7, 0 }, { 46, -15, 1, 20, 7, 0 }, - { 47, -16, 0, 20, 7, 0 }, { 47, -16, -1, 20, 55, 0 }, + 37, { + { 16, 15, 31, 20, 54, 0 }, { 17, 14, 31, 20, 54, 0 }, { 18, 13, 30, 20, 54, 0 }, { 19, 12, 30, 20, 54, 0 }, { 20, 11, 29, 20, 6, 0 }, + { 21, 10, 28, 20, 6, 0 }, { 22, 9, 28, 20, 6, 0 }, { 23, 8, 27, 20, 6, 0 }, { 24, 7, 26, 20, 6, 0 }, { 25, 6, 26, 20, 6, 0 }, + { 26, 5, 25, 20, 6, 0 }, { 27, 4, 24, 20, 6, 0 }, { 28, 3, 23, 20, 6, 0 }, { 29, 2, 23, 20, 6, 0 }, { 30, 1, 22, 20, 6, 0 }, + { 31, 0, 21, 20, 6, 0 }, { 32, -1, 20, 20, 6, 0 }, { 33, -2, 19, 20, 6, 0 }, { 34, -3, 18, 20, 6, 0 }, { 35, -4, 16, 20, 6, 0 }, + { 36, -5, 15, 20, 6, 0 }, { 37, -6, 14, 20, 7, 0 }, { 38, -7, 13, 20, 7, 0 }, { 39, -8, 12, 20, 7, 0 }, { 39, -8, 11, 20, 7, 0 }, + { 40, -9, 10, 20, 7, 0 }, { 41, -10, 9, 20, 7, 0 }, { 42, -11, 8, 20, 7, 0 }, { 42, -11, 7, 20, 7, 0 }, { 43, -12, 6, 20, 7, 0 }, + { 44, -13, 5, 20, 7, 0 }, { 44, -13, 4, 20, 7, 0 }, { 45, -14, 3, 20, 7, 0 }, { 46, -15, 2, 20, 7, 0 }, { 46, -15, 1, 20, 7, 0 }, + { 47, -16, 0, 20, 7, 0 }, { 47, -16, -1, 20, 55, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91A897 = { - 37, { - { 15, 15, 31, 28, 54, 0 }, { 14, 14, 31, 28, 54, 0 }, { 13, 13, 30, 28, 54, 0 }, { 12, 12, 30, 28, 54, 0 }, { 11, 11, 29, 28, 6, 0 }, - { 10, 10, 28, 28, 6, 0 }, { 9, 9, 28, 28, 6, 0 }, { 8, 8, 27, 28, 6, 0 }, { 7, 7, 26, 28, 6, 0 }, { 6, 6, 26, 28, 6, 0 }, - { 5, 5, 25, 28, 6, 0 }, { 4, 4, 24, 28, 6, 0 }, { 3, 3, 23, 28, 6, 0 }, { 2, 2, 23, 28, 6, 0 }, { 1, 1, 22, 28, 6, 0 }, - { 0, 0, 21, 28, 6, 0 }, { -1, -1, 20, 28, 6, 0 }, { -2, -2, 19, 28, 6, 0 }, { -3, -3, 18, 28, 6, 0 }, { -4, -4, 16, 28, 6, 0 }, - { -5, -5, 15, 28, 6, 0 }, { -6, -6, 14, 28, 7, 0 }, { -7, -7, 13, 28, 7, 0 }, { -8, -8, 12, 28, 7, 0 }, { -8, -8, 11, 28, 7, 0 }, - { -9, -9, 10, 28, 7, 0 }, { -10, -10, 9, 28, 7, 0 }, { -11, -11, 8, 28, 7, 0 }, { -11, -11, 7, 28, 7, 0 }, { -12, -12, 6, 28, 7, 0 }, - { -13, -13, 5, 28, 7, 0 }, { -13, -13, 4, 28, 7, 0 }, { -14, -14, 3, 28, 7, 0 }, { -15, -15, 2, 28, 7, 0 }, { -15, -15, 1, 28, 7, 0 }, - { -16, -16, 0, 28, 7, 0 }, { -16, -16, -1, 28, 55, 0 }, + 37, { + { 15, 15, 31, 28, 54, 0 }, { 14, 14, 31, 28, 54, 0 }, { 13, 13, 30, 28, 54, 0 }, { 12, 12, 30, 28, 54, 0 }, { 11, 11, 29, 28, 6, 0 }, + { 10, 10, 28, 28, 6, 0 }, { 9, 9, 28, 28, 6, 0 }, { 8, 8, 27, 28, 6, 0 }, { 7, 7, 26, 28, 6, 0 }, { 6, 6, 26, 28, 6, 0 }, + { 5, 5, 25, 28, 6, 0 }, { 4, 4, 24, 28, 6, 0 }, { 3, 3, 23, 28, 6, 0 }, { 2, 2, 23, 28, 6, 0 }, { 1, 1, 22, 28, 6, 0 }, + { 0, 0, 21, 28, 6, 0 }, { -1, -1, 20, 28, 6, 0 }, { -2, -2, 19, 28, 6, 0 }, { -3, -3, 18, 28, 6, 0 }, { -4, -4, 16, 28, 6, 0 }, + { -5, -5, 15, 28, 6, 0 }, { -6, -6, 14, 28, 7, 0 }, { -7, -7, 13, 28, 7, 0 }, { -8, -8, 12, 28, 7, 0 }, { -8, -8, 11, 28, 7, 0 }, + { -9, -9, 10, 28, 7, 0 }, { -10, -10, 9, 28, 7, 0 }, { -11, -11, 8, 28, 7, 0 }, { -11, -11, 7, 28, 7, 0 }, { -12, -12, 6, 28, 7, 0 }, + { -13, -13, 5, 28, 7, 0 }, { -13, -13, 4, 28, 7, 0 }, { -14, -14, 3, 28, 7, 0 }, { -15, -15, 2, 28, 7, 0 }, { -15, -15, 1, 28, 7, 0 }, + { -16, -16, 0, 28, 7, 0 }, { -16, -16, -1, 28, 55, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_919F6E = { - 37, { - { 15, 16, 31, 4, 55, 0 }, { 15, 16, 30, 4, 55, 0 }, { 14, 17, 29, 4, 55, 0 }, { 14, 17, 28, 4, 55, 0 }, { 13, 18, 27, 4, 7, 0 }, - { 12, 19, 26, 4, 7, 0 }, { 12, 19, 25, 4, 7, 0 }, { 11, 20, 24, 4, 7, 0 }, { 10, 21, 23, 4, 7, 0 }, { 10, 21, 22, 4, 7, 0 }, - { 9, 22, 21, 4, 7, 0 }, { 8, 23, 20, 4, 7, 0 }, { 7, 24, 19, 4, 7, 0 }, { 7, 24, 18, 4, 7, 0 }, { 6, 25, 17, 4, 7, 0 }, - { 5, 26, 16, 4, 7, 0 }, { 4, 27, 15, 4, 7, 0 }, { 3, 28, 14, 4, 7, 0 }, { 2, 29, 13, 4, 7, 0 }, { 0, 31, 12, 4, 6, 0 }, - { -1, 32, 11, 4, 6, 0 }, { -2, 33, 10, 4, 6, 0 }, { -3, 34, 9, 4, 6, 0 }, { -4, 35, 8, 4, 6, 0 }, { -5, 36, 8, 4, 6, 0 }, - { -6, 37, 7, 4, 6, 0 }, { -7, 38, 6, 4, 6, 0 }, { -8, 39, 5, 4, 6, 0 }, { -9, 40, 5, 4, 6, 0 }, { -10, 41, 4, 4, 6, 0 }, - { -11, 42, 3, 4, 6, 0 }, { -12, 43, 3, 4, 6, 0 }, { -13, 44, 2, 4, 6, 0 }, { -14, 45, 1, 4, 54, 0 }, { -15, 46, 1, 4, 54, 0 }, - { -16, 47, 0, 4, 54, 0 }, { -17, 48, 0, 4, 54, 0 }, + 37, { + { 15, 16, 31, 4, 55, 0 }, { 15, 16, 30, 4, 55, 0 }, { 14, 17, 29, 4, 55, 0 }, { 14, 17, 28, 4, 55, 0 }, { 13, 18, 27, 4, 7, 0 }, + { 12, 19, 26, 4, 7, 0 }, { 12, 19, 25, 4, 7, 0 }, { 11, 20, 24, 4, 7, 0 }, { 10, 21, 23, 4, 7, 0 }, { 10, 21, 22, 4, 7, 0 }, + { 9, 22, 21, 4, 7, 0 }, { 8, 23, 20, 4, 7, 0 }, { 7, 24, 19, 4, 7, 0 }, { 7, 24, 18, 4, 7, 0 }, { 6, 25, 17, 4, 7, 0 }, + { 5, 26, 16, 4, 7, 0 }, { 4, 27, 15, 4, 7, 0 }, { 3, 28, 14, 4, 7, 0 }, { 2, 29, 13, 4, 7, 0 }, { 0, 31, 12, 4, 6, 0 }, + { -1, 32, 11, 4, 6, 0 }, { -2, 33, 10, 4, 6, 0 }, { -3, 34, 9, 4, 6, 0 }, { -4, 35, 8, 4, 6, 0 }, { -5, 36, 8, 4, 6, 0 }, + { -6, 37, 7, 4, 6, 0 }, { -7, 38, 6, 4, 6, 0 }, { -8, 39, 5, 4, 6, 0 }, { -9, 40, 5, 4, 6, 0 }, { -10, 41, 4, 4, 6, 0 }, + { -11, 42, 3, 4, 6, 0 }, { -12, 43, 3, 4, 6, 0 }, { -13, 44, 2, 4, 6, 0 }, { -14, 45, 1, 4, 54, 0 }, { -15, 46, 1, 4, 54, 0 }, + { -16, 47, 0, 4, 54, 0 }, { -17, 48, 0, 4, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91A0BD = { - 37, { - { 16, 16, 31, 12, 55, 0 }, { 16, 16, 30, 12, 55, 0 }, { 17, 17, 29, 12, 55, 0 }, { 17, 17, 28, 12, 55, 0 }, { 18, 18, 27, 12, 7, 0 }, - { 19, 19, 26, 12, 7, 0 }, { 19, 19, 25, 12, 7, 0 }, { 20, 20, 24, 12, 7, 0 }, { 21, 21, 23, 12, 7, 0 }, { 21, 21, 22, 12, 7, 0 }, - { 22, 22, 21, 12, 7, 0 }, { 23, 23, 20, 12, 7, 0 }, { 24, 24, 19, 12, 7, 0 }, { 24, 24, 18, 12, 7, 0 }, { 25, 25, 17, 12, 7, 0 }, - { 26, 26, 16, 12, 7, 0 }, { 27, 27, 15, 12, 7, 0 }, { 28, 28, 14, 12, 7, 0 }, { 29, 29, 13, 12, 7, 0 }, { 31, 31, 12, 12, 6, 0 }, - { 32, 32, 11, 12, 6, 0 }, { 33, 33, 10, 12, 6, 0 }, { 34, 34, 9, 12, 6, 0 }, { 35, 35, 8, 12, 6, 0 }, { 36, 36, 8, 12, 6, 0 }, - { 37, 37, 7, 12, 6, 0 }, { 38, 38, 6, 12, 6, 0 }, { 39, 39, 5, 12, 6, 0 }, { 40, 40, 5, 12, 6, 0 }, { 41, 41, 4, 12, 6, 0 }, - { 42, 42, 3, 12, 6, 0 }, { 43, 43, 3, 12, 6, 0 }, { 44, 44, 2, 12, 6, 0 }, { 45, 45, 1, 12, 54, 0 }, { 46, 46, 1, 12, 54, 0 }, - { 47, 47, 0, 12, 54, 0 }, { 48, 48, 0, 12, 54, 0 }, + 37, { + { 16, 16, 31, 12, 55, 0 }, { 16, 16, 30, 12, 55, 0 }, { 17, 17, 29, 12, 55, 0 }, { 17, 17, 28, 12, 55, 0 }, { 18, 18, 27, 12, 7, 0 }, + { 19, 19, 26, 12, 7, 0 }, { 19, 19, 25, 12, 7, 0 }, { 20, 20, 24, 12, 7, 0 }, { 21, 21, 23, 12, 7, 0 }, { 21, 21, 22, 12, 7, 0 }, + { 22, 22, 21, 12, 7, 0 }, { 23, 23, 20, 12, 7, 0 }, { 24, 24, 19, 12, 7, 0 }, { 24, 24, 18, 12, 7, 0 }, { 25, 25, 17, 12, 7, 0 }, + { 26, 26, 16, 12, 7, 0 }, { 27, 27, 15, 12, 7, 0 }, { 28, 28, 14, 12, 7, 0 }, { 29, 29, 13, 12, 7, 0 }, { 31, 31, 12, 12, 6, 0 }, + { 32, 32, 11, 12, 6, 0 }, { 33, 33, 10, 12, 6, 0 }, { 34, 34, 9, 12, 6, 0 }, { 35, 35, 8, 12, 6, 0 }, { 36, 36, 8, 12, 6, 0 }, + { 37, 37, 7, 12, 6, 0 }, { 38, 38, 6, 12, 6, 0 }, { 39, 39, 5, 12, 6, 0 }, { 40, 40, 5, 12, 6, 0 }, { 41, 41, 4, 12, 6, 0 }, + { 42, 42, 3, 12, 6, 0 }, { 43, 43, 3, 12, 6, 0 }, { 44, 44, 2, 12, 6, 0 }, { 45, 45, 1, 12, 54, 0 }, { 46, 46, 1, 12, 54, 0 }, + { 47, 47, 0, 12, 54, 0 }, { 48, 48, 0, 12, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91A20C = { - 37, { - { 16, 15, 31, 20, 55, 0 }, { 16, 15, 30, 20, 55, 0 }, { 17, 14, 29, 20, 55, 0 }, { 17, 14, 28, 20, 55, 0 }, { 18, 13, 27, 20, 7, 0 }, - { 19, 12, 26, 20, 7, 0 }, { 19, 12, 25, 20, 7, 0 }, { 20, 11, 24, 20, 7, 0 }, { 21, 10, 23, 20, 7, 0 }, { 21, 10, 22, 20, 7, 0 }, - { 22, 9, 21, 20, 7, 0 }, { 23, 8, 20, 20, 7, 0 }, { 24, 7, 19, 20, 7, 0 }, { 24, 7, 18, 20, 7, 0 }, { 25, 6, 17, 20, 7, 0 }, - { 26, 5, 16, 20, 7, 0 }, { 27, 4, 15, 20, 7, 0 }, { 28, 3, 14, 20, 7, 0 }, { 29, 2, 13, 20, 7, 0 }, { 31, 0, 12, 20, 6, 0 }, - { 32, -1, 11, 20, 6, 0 }, { 33, -2, 10, 20, 6, 0 }, { 34, -3, 9, 20, 6, 0 }, { 35, -4, 8, 20, 6, 0 }, { 36, -5, 8, 20, 6, 0 }, - { 37, -6, 7, 20, 6, 0 }, { 38, -7, 6, 20, 6, 0 }, { 39, -8, 5, 20, 6, 0 }, { 40, -9, 5, 20, 6, 0 }, { 41, -10, 4, 20, 6, 0 }, - { 42, -11, 3, 20, 6, 0 }, { 43, -12, 3, 20, 6, 0 }, { 44, -13, 2, 20, 6, 0 }, { 45, -14, 1, 20, 54, 0 }, { 46, -15, 1, 20, 54, 0 }, - { 47, -16, 0, 20, 54, 0 }, { 48, -17, 0, 20, 54, 0 }, + 37, { + { 16, 15, 31, 20, 55, 0 }, { 16, 15, 30, 20, 55, 0 }, { 17, 14, 29, 20, 55, 0 }, { 17, 14, 28, 20, 55, 0 }, { 18, 13, 27, 20, 7, 0 }, + { 19, 12, 26, 20, 7, 0 }, { 19, 12, 25, 20, 7, 0 }, { 20, 11, 24, 20, 7, 0 }, { 21, 10, 23, 20, 7, 0 }, { 21, 10, 22, 20, 7, 0 }, + { 22, 9, 21, 20, 7, 0 }, { 23, 8, 20, 20, 7, 0 }, { 24, 7, 19, 20, 7, 0 }, { 24, 7, 18, 20, 7, 0 }, { 25, 6, 17, 20, 7, 0 }, + { 26, 5, 16, 20, 7, 0 }, { 27, 4, 15, 20, 7, 0 }, { 28, 3, 14, 20, 7, 0 }, { 29, 2, 13, 20, 7, 0 }, { 31, 0, 12, 20, 6, 0 }, + { 32, -1, 11, 20, 6, 0 }, { 33, -2, 10, 20, 6, 0 }, { 34, -3, 9, 20, 6, 0 }, { 35, -4, 8, 20, 6, 0 }, { 36, -5, 8, 20, 6, 0 }, + { 37, -6, 7, 20, 6, 0 }, { 38, -7, 6, 20, 6, 0 }, { 39, -8, 5, 20, 6, 0 }, { 40, -9, 5, 20, 6, 0 }, { 41, -10, 4, 20, 6, 0 }, + { 42, -11, 3, 20, 6, 0 }, { 43, -12, 3, 20, 6, 0 }, { 44, -13, 2, 20, 6, 0 }, { 45, -14, 1, 20, 54, 0 }, { 46, -15, 1, 20, 54, 0 }, + { 47, -16, 0, 20, 54, 0 }, { 48, -17, 0, 20, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91A35B = { - 37, { - { 15, 15, 31, 28, 55, 0 }, { 15, 15, 30, 28, 55, 0 }, { 14, 14, 29, 28, 55, 0 }, { 14, 14, 28, 28, 55, 0 }, { 13, 13, 27, 28, 7, 0 }, - { 12, 12, 26, 28, 7, 0 }, { 12, 12, 25, 28, 7, 0 }, { 11, 11, 24, 28, 7, 0 }, { 10, 10, 23, 28, 7, 0 }, { 10, 10, 22, 28, 7, 0 }, - { 9, 9, 21, 28, 7, 0 }, { 8, 8, 20, 28, 7, 0 }, { 7, 7, 19, 28, 7, 0 }, { 7, 7, 18, 28, 7, 0 }, { 6, 6, 17, 28, 7, 0 }, - { 5, 5, 16, 28, 7, 0 }, { 4, 4, 15, 28, 7, 0 }, { 3, 3, 14, 28, 7, 0 }, { 2, 2, 13, 28, 7, 0 }, { 0, 0, 12, 28, 6, 0 }, - { -1, -1, 11, 28, 6, 0 }, { -2, -2, 10, 28, 6, 0 }, { -3, -3, 9, 28, 6, 0 }, { -4, -4, 8, 28, 6, 0 }, { -5, -5, 8, 28, 6, 0 }, - { -6, -6, 7, 28, 6, 0 }, { -7, -7, 6, 28, 6, 0 }, { -8, -8, 5, 28, 6, 0 }, { -9, -9, 5, 28, 6, 0 }, { -10, -10, 4, 28, 6, 0 }, - { -11, -11, 3, 28, 6, 0 }, { -12, -12, 3, 28, 6, 0 }, { -13, -13, 2, 28, 6, 0 }, { -14, -14, 1, 28, 54, 0 }, { -15, -15, 1, 28, 54, 0 }, - { -16, -16, 0, 28, 54, 0 }, { -17, -17, 0, 28, 54, 0 }, + 37, { + { 15, 15, 31, 28, 55, 0 }, { 15, 15, 30, 28, 55, 0 }, { 14, 14, 29, 28, 55, 0 }, { 14, 14, 28, 28, 55, 0 }, { 13, 13, 27, 28, 7, 0 }, + { 12, 12, 26, 28, 7, 0 }, { 12, 12, 25, 28, 7, 0 }, { 11, 11, 24, 28, 7, 0 }, { 10, 10, 23, 28, 7, 0 }, { 10, 10, 22, 28, 7, 0 }, + { 9, 9, 21, 28, 7, 0 }, { 8, 8, 20, 28, 7, 0 }, { 7, 7, 19, 28, 7, 0 }, { 7, 7, 18, 28, 7, 0 }, { 6, 6, 17, 28, 7, 0 }, + { 5, 5, 16, 28, 7, 0 }, { 4, 4, 15, 28, 7, 0 }, { 3, 3, 14, 28, 7, 0 }, { 2, 2, 13, 28, 7, 0 }, { 0, 0, 12, 28, 6, 0 }, + { -1, -1, 11, 28, 6, 0 }, { -2, -2, 10, 28, 6, 0 }, { -3, -3, 9, 28, 6, 0 }, { -4, -4, 8, 28, 6, 0 }, { -5, -5, 8, 28, 6, 0 }, + { -6, -6, 7, 28, 6, 0 }, { -7, -7, 6, 28, 6, 0 }, { -8, -8, 5, 28, 6, 0 }, { -9, -9, 5, 28, 6, 0 }, { -10, -10, 4, 28, 6, 0 }, + { -11, -11, 3, 28, 6, 0 }, { -12, -12, 3, 28, 6, 0 }, { -13, -13, 2, 28, 6, 0 }, { -14, -14, 1, 28, 54, 0 }, { -15, -15, 1, 28, 54, 0 }, + { -16, -16, 0, 28, 54, 0 }, { -17, -17, 0, 28, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_918BE6 = { - 32, { - { 15, 16, 7, 4, 54, 0 }, { 14, 17, 7, 4, 54, 0 }, { 13, 18, 6, 4, 54, 0 }, { 12, 19, 6, 4, 54, 0 }, { 11, 20, 5, 4, 54, 0 }, - { 10, 21, 5, 4, 54, 0 }, { 9, 22, 4, 4, 54, 0 }, { 8, 23, 4, 4, 54, 0 }, { 7, 24, 4, 4, 53, 0 }, { 6, 25, 3, 4, 53, 0 }, - { 5, 26, 3, 4, 53, 0 }, { 4, 27, 3, 4, 53, 0 }, { 3, 28, 2, 4, 53, 0 }, { 2, 29, 2, 4, 53, 0 }, { 1, 30, 2, 4, 53, 0 }, - { 0, 31, 2, 4, 53, 0 }, { -1, 32, 1, 4, 53, 0 }, { -2, 33, 1, 4, 53, 0 }, { -3, 34, 1, 4, 53, 0 }, { -4, 35, 1, 4, 53, 0 }, - { -5, 36, 1, 4, 53, 0 }, { -6, 37, 1, 4, 53, 0 }, { -7, 38, 0, 4, 0, 0 }, { -8, 39, 0, 4, 0, 0 }, { -9, 40, 0, 4, 0, 0 }, - { -10, 41, 0, 4, 0, 0 }, { -11, 42, 0, 4, 0, 0 }, { -12, 43, 0, 4, 0, 0 }, { -13, 44, 0, 4, 0, 0 }, { -14, 45, 0, 4, 0, 0 }, - { -15, 46, 0, 4, 0, 0 }, { -16, 47, 0, 4, 0, 0 }, + 32, { + { 15, 16, 7, 4, 54, 0 }, { 14, 17, 7, 4, 54, 0 }, { 13, 18, 6, 4, 54, 0 }, { 12, 19, 6, 4, 54, 0 }, { 11, 20, 5, 4, 54, 0 }, + { 10, 21, 5, 4, 54, 0 }, { 9, 22, 4, 4, 54, 0 }, { 8, 23, 4, 4, 54, 0 }, { 7, 24, 4, 4, 53, 0 }, { 6, 25, 3, 4, 53, 0 }, + { 5, 26, 3, 4, 53, 0 }, { 4, 27, 3, 4, 53, 0 }, { 3, 28, 2, 4, 53, 0 }, { 2, 29, 2, 4, 53, 0 }, { 1, 30, 2, 4, 53, 0 }, + { 0, 31, 2, 4, 53, 0 }, { -1, 32, 1, 4, 53, 0 }, { -2, 33, 1, 4, 53, 0 }, { -3, 34, 1, 4, 53, 0 }, { -4, 35, 1, 4, 53, 0 }, + { -5, 36, 1, 4, 53, 0 }, { -6, 37, 1, 4, 53, 0 }, { -7, 38, 0, 4, 0, 0 }, { -8, 39, 0, 4, 0, 0 }, { -9, 40, 0, 4, 0, 0 }, + { -10, 41, 0, 4, 0, 0 }, { -11, 42, 0, 4, 0, 0 }, { -12, 43, 0, 4, 0, 0 }, { -13, 44, 0, 4, 0, 0 }, { -14, 45, 0, 4, 0, 0 }, + { -15, 46, 0, 4, 0, 0 }, { -16, 47, 0, 4, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_918D08 = { - 32, { - { 16, 16, 8, 12, 54, 0 }, { 17, 17, 7, 12, 54, 0 }, { 18, 18, 7, 12, 54, 0 }, { 19, 19, 6, 12, 54, 0 }, { 20, 20, 6, 12, 54, 0 }, - { 21, 21, 5, 12, 54, 0 }, { 22, 22, 5, 12, 54, 0 }, { 23, 23, 4, 12, 54, 0 }, { 24, 24, 4, 12, 53, 0 }, { 25, 25, 3, 12, 53, 0 }, - { 26, 26, 3, 12, 53, 0 }, { 27, 27, 3, 12, 53, 0 }, { 28, 28, 2, 12, 53, 0 }, { 29, 29, 2, 12, 53, 0 }, { 30, 30, 2, 12, 53, 0 }, - { 31, 31, 2, 12, 53, 0 }, { 32, 32, 1, 12, 53, 0 }, { 33, 33, 1, 12, 53, 0 }, { 34, 34, 1, 12, 53, 0 }, { 35, 35, 1, 12, 53, 0 }, - { 36, 36, 1, 12, 53, 0 }, { 37, 37, 1, 12, 53, 0 }, { 38, 38, 0, 12, 0, 0 }, { 39, 39, 0, 12, 0, 0 }, { 40, 40, 0, 12, 0, 0 }, - { 41, 41, 0, 12, 0, 0 }, { 42, 42, 0, 12, 0, 0 }, { 43, 43, 0, 12, 0, 0 }, { 44, 44, 0, 12, 0, 0 }, { 45, 45, 0, 12, 0, 0 }, - { 46, 46, 0, 12, 0, 0 }, { 47, 47, 0, 12, 0, 0 }, + 32, { + { 16, 16, 8, 12, 54, 0 }, { 17, 17, 7, 12, 54, 0 }, { 18, 18, 7, 12, 54, 0 }, { 19, 19, 6, 12, 54, 0 }, { 20, 20, 6, 12, 54, 0 }, + { 21, 21, 5, 12, 54, 0 }, { 22, 22, 5, 12, 54, 0 }, { 23, 23, 4, 12, 54, 0 }, { 24, 24, 4, 12, 53, 0 }, { 25, 25, 3, 12, 53, 0 }, + { 26, 26, 3, 12, 53, 0 }, { 27, 27, 3, 12, 53, 0 }, { 28, 28, 2, 12, 53, 0 }, { 29, 29, 2, 12, 53, 0 }, { 30, 30, 2, 12, 53, 0 }, + { 31, 31, 2, 12, 53, 0 }, { 32, 32, 1, 12, 53, 0 }, { 33, 33, 1, 12, 53, 0 }, { 34, 34, 1, 12, 53, 0 }, { 35, 35, 1, 12, 53, 0 }, + { 36, 36, 1, 12, 53, 0 }, { 37, 37, 1, 12, 53, 0 }, { 38, 38, 0, 12, 0, 0 }, { 39, 39, 0, 12, 0, 0 }, { 40, 40, 0, 12, 0, 0 }, + { 41, 41, 0, 12, 0, 0 }, { 42, 42, 0, 12, 0, 0 }, { 43, 43, 0, 12, 0, 0 }, { 44, 44, 0, 12, 0, 0 }, { 45, 45, 0, 12, 0, 0 }, + { 46, 46, 0, 12, 0, 0 }, { 47, 47, 0, 12, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_918E2A = { - 32, { - { 16, 15, 8, 20, 54, 0 }, { 17, 14, 7, 20, 54, 0 }, { 18, 13, 7, 20, 54, 0 }, { 19, 12, 6, 20, 54, 0 }, { 20, 11, 6, 20, 54, 0 }, - { 21, 10, 5, 20, 54, 0 }, { 22, 9, 5, 20, 54, 0 }, { 23, 8, 4, 20, 54, 0 }, { 24, 7, 4, 20, 53, 0 }, { 25, 6, 3, 20, 53, 0 }, - { 26, 5, 3, 20, 53, 0 }, { 27, 4, 3, 20, 53, 0 }, { 28, 3, 2, 20, 53, 0 }, { 29, 2, 2, 20, 53, 0 }, { 30, 1, 2, 20, 53, 0 }, - { 31, 0, 2, 20, 53, 0 }, { 32, -1, 1, 20, 53, 0 }, { 33, -2, 1, 20, 53, 0 }, { 34, -3, 1, 20, 53, 0 }, { 35, -4, 1, 20, 53, 0 }, - { 36, -5, 1, 20, 53, 0 }, { 37, -6, 1, 20, 53, 0 }, { 38, -7, 0, 20, 0, 0 }, { 39, -8, 0, 20, 0, 0 }, { 40, -9, 0, 20, 0, 0 }, - { 41, -10, 0, 20, 0, 0 }, { 42, -11, 0, 20, 0, 0 }, { 43, -12, 0, 20, 0, 0 }, { 44, -13, 0, 20, 0, 0 }, { 45, -14, 0, 20, 0, 0 }, - { 46, -15, 0, 20, 0, 0 }, { 47, -16, 0, 20, 0, 0 }, + 32, { + { 16, 15, 8, 20, 54, 0 }, { 17, 14, 7, 20, 54, 0 }, { 18, 13, 7, 20, 54, 0 }, { 19, 12, 6, 20, 54, 0 }, { 20, 11, 6, 20, 54, 0 }, + { 21, 10, 5, 20, 54, 0 }, { 22, 9, 5, 20, 54, 0 }, { 23, 8, 4, 20, 54, 0 }, { 24, 7, 4, 20, 53, 0 }, { 25, 6, 3, 20, 53, 0 }, + { 26, 5, 3, 20, 53, 0 }, { 27, 4, 3, 20, 53, 0 }, { 28, 3, 2, 20, 53, 0 }, { 29, 2, 2, 20, 53, 0 }, { 30, 1, 2, 20, 53, 0 }, + { 31, 0, 2, 20, 53, 0 }, { 32, -1, 1, 20, 53, 0 }, { 33, -2, 1, 20, 53, 0 }, { 34, -3, 1, 20, 53, 0 }, { 35, -4, 1, 20, 53, 0 }, + { 36, -5, 1, 20, 53, 0 }, { 37, -6, 1, 20, 53, 0 }, { 38, -7, 0, 20, 0, 0 }, { 39, -8, 0, 20, 0, 0 }, { 40, -9, 0, 20, 0, 0 }, + { 41, -10, 0, 20, 0, 0 }, { 42, -11, 0, 20, 0, 0 }, { 43, -12, 0, 20, 0, 0 }, { 44, -13, 0, 20, 0, 0 }, { 45, -14, 0, 20, 0, 0 }, + { 46, -15, 0, 20, 0, 0 }, { 47, -16, 0, 20, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_918F4C = { - 32, { - { 15, 15, 7, 28, 54, 0 }, { 14, 14, 7, 28, 54, 0 }, { 13, 13, 6, 28, 54, 0 }, { 12, 12, 6, 28, 54, 0 }, { 11, 11, 5, 28, 54, 0 }, - { 10, 10, 5, 28, 54, 0 }, { 9, 9, 4, 28, 54, 0 }, { 8, 8, 4, 28, 54, 0 }, { 7, 7, 4, 28, 53, 0 }, { 6, 6, 3, 28, 53, 0 }, - { 5, 5, 3, 28, 53, 0 }, { 4, 4, 3, 28, 53, 0 }, { 3, 3, 2, 28, 53, 0 }, { 2, 2, 2, 28, 53, 0 }, { 1, 1, 2, 28, 53, 0 }, - { 0, 0, 2, 28, 53, 0 }, { -1, -1, 1, 28, 53, 0 }, { -2, -2, 1, 28, 53, 0 }, { -3, -3, 1, 28, 53, 0 }, { -4, -4, 1, 28, 53, 0 }, - { -5, -5, 1, 28, 53, 0 }, { -6, -6, 1, 28, 53, 0 }, { -7, -7, 0, 28, 0, 0 }, { -8, -8, 0, 28, 0, 0 }, { -9, -9, 0, 28, 0, 0 }, - { -10, -10, 0, 28, 0, 0 }, { -11, -11, 0, 28, 0, 0 }, { -12, -12, 0, 28, 0, 0 }, { -13, -13, 0, 28, 0, 0 }, { -14, -14, 0, 28, 0, 0 }, - { -15, -15, 0, 28, 0, 0 }, { -16, -16, 0, 28, 0, 0 }, + 32, { + { 15, 15, 7, 28, 54, 0 }, { 14, 14, 7, 28, 54, 0 }, { 13, 13, 6, 28, 54, 0 }, { 12, 12, 6, 28, 54, 0 }, { 11, 11, 5, 28, 54, 0 }, + { 10, 10, 5, 28, 54, 0 }, { 9, 9, 4, 28, 54, 0 }, { 8, 8, 4, 28, 54, 0 }, { 7, 7, 4, 28, 53, 0 }, { 6, 6, 3, 28, 53, 0 }, + { 5, 5, 3, 28, 53, 0 }, { 4, 4, 3, 28, 53, 0 }, { 3, 3, 2, 28, 53, 0 }, { 2, 2, 2, 28, 53, 0 }, { 1, 1, 2, 28, 53, 0 }, + { 0, 0, 2, 28, 53, 0 }, { -1, -1, 1, 28, 53, 0 }, { -2, -2, 1, 28, 53, 0 }, { -3, -3, 1, 28, 53, 0 }, { -4, -4, 1, 28, 53, 0 }, + { -5, -5, 1, 28, 53, 0 }, { -6, -6, 1, 28, 53, 0 }, { -7, -7, 0, 28, 0, 0 }, { -8, -8, 0, 28, 0, 0 }, { -9, -9, 0, 28, 0, 0 }, + { -10, -10, 0, 28, 0, 0 }, { -11, -11, 0, 28, 0, 0 }, { -12, -12, 0, 28, 0, 0 }, { -13, -13, 0, 28, 0, 0 }, { -14, -14, 0, 28, 0, 0 }, + { -15, -15, 0, 28, 0, 0 }, { -16, -16, 0, 28, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91A9E6 = { - 36, { - { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 4, 0, 0 }, { 13, 18, 0, 4, 0, 0 }, { 12, 19, 0, 4, 0, 0 }, { 11, 20, 1, 4, 0, 0 }, - { 10, 21, 1, 4, 50, 0 }, { 9, 22, 1, 4, 50, 0 }, { 8, 23, 2, 4, 50, 0 }, { 7, 24, 2, 4, 50, 0 }, { 6, 25, 2, 4, 50, 0 }, - { 5, 26, 3, 4, 50, 0 }, { 4, 27, 3, 4, 50, 0 }, { 3, 28, 4, 4, 50, 0 }, { 2, 29, 4, 4, 51, 0 }, { 1, 30, 5, 4, 51, 0 }, - { 0, 31, 5, 4, 51, 0 }, { -1, 32, 6, 4, 51, 0 }, { -2, 33, 6, 4, 51, 0 }, { -3, 34, 7, 4, 51, 0 }, { -4, 35, 8, 4, 51, 0 }, - { -5, 36, 8, 4, 51, 0 }, { -6, 37, 9, 4, 51, 0 }, { -7, 38, 10, 4, 3, 0 }, { -8, 39, 11, 4, 3, 0 }, { -9, 40, 12, 4, 3, 0 }, - { -10, 41, 13, 4, 3, 0 }, { -11, 42, 14, 4, 3, 0 }, { -12, 43, 15, 4, 3, 0 }, { -12, 43, 16, 4, 3, 0 }, { -13, 44, 17, 4, 52, 0 }, - { -14, 45, 18, 4, 52, 0 }, { -14, 45, 19, 4, 52, 0 }, { -15, 46, 20, 4, 52, 0 }, { -15, 46, 21, 4, 52, 0 }, { -16, 47, 22, 4, 52, 0 }, - { -16, 47, 23, 4, 52, 0 }, + 36, { + { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 4, 0, 0 }, { 13, 18, 0, 4, 0, 0 }, { 12, 19, 0, 4, 0, 0 }, { 11, 20, 1, 4, 0, 0 }, + { 10, 21, 1, 4, 50, 0 }, { 9, 22, 1, 4, 50, 0 }, { 8, 23, 2, 4, 50, 0 }, { 7, 24, 2, 4, 50, 0 }, { 6, 25, 2, 4, 50, 0 }, + { 5, 26, 3, 4, 50, 0 }, { 4, 27, 3, 4, 50, 0 }, { 3, 28, 4, 4, 50, 0 }, { 2, 29, 4, 4, 51, 0 }, { 1, 30, 5, 4, 51, 0 }, + { 0, 31, 5, 4, 51, 0 }, { -1, 32, 6, 4, 51, 0 }, { -2, 33, 6, 4, 51, 0 }, { -3, 34, 7, 4, 51, 0 }, { -4, 35, 8, 4, 51, 0 }, + { -5, 36, 8, 4, 51, 0 }, { -6, 37, 9, 4, 51, 0 }, { -7, 38, 10, 4, 3, 0 }, { -8, 39, 11, 4, 3, 0 }, { -9, 40, 12, 4, 3, 0 }, + { -10, 41, 13, 4, 3, 0 }, { -11, 42, 14, 4, 3, 0 }, { -12, 43, 15, 4, 3, 0 }, { -12, 43, 16, 4, 3, 0 }, { -13, 44, 17, 4, 52, 0 }, + { -14, 45, 18, 4, 52, 0 }, { -14, 45, 19, 4, 52, 0 }, { -15, 46, 20, 4, 52, 0 }, { -15, 46, 21, 4, 52, 0 }, { -16, 47, 22, 4, 52, 0 }, + { -16, 47, 23, 4, 52, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91AB2C = { - 36, { - { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 1, 12, 0, 0 }, - { 21, 21, 1, 12, 50, 0 }, { 22, 22, 1, 12, 50, 0 }, { 23, 23, 2, 12, 50, 0 }, { 24, 24, 2, 12, 50, 0 }, { 25, 25, 2, 12, 50, 0 }, - { 26, 26, 3, 12, 50, 0 }, { 27, 27, 3, 12, 50, 0 }, { 28, 28, 4, 12, 50, 0 }, { 29, 29, 4, 12, 51, 0 }, { 30, 30, 5, 12, 51, 0 }, - { 31, 31, 5, 12, 51, 0 }, { 32, 32, 6, 12, 51, 0 }, { 33, 33, 6, 12, 51, 0 }, { 34, 34, 7, 12, 51, 0 }, { 35, 35, 8, 12, 51, 0 }, - { 36, 36, 8, 12, 51, 0 }, { 37, 37, 9, 12, 51, 0 }, { 38, 38, 10, 12, 3, 0 }, { 39, 39, 11, 12, 3, 0 }, { 40, 40, 12, 12, 3, 0 }, - { 41, 41, 13, 12, 3, 0 }, { 42, 42, 14, 12, 3, 0 }, { 43, 43, 15, 12, 3, 0 }, { 43, 43, 16, 12, 3, 0 }, { 44, 44, 17, 12, 52, 0 }, - { 45, 45, 18, 12, 52, 0 }, { 45, 45, 19, 12, 52, 0 }, { 46, 46, 20, 12, 52, 0 }, { 46, 46, 21, 12, 52, 0 }, { 47, 47, 22, 12, 52, 0 }, - { 47, 47, 23, 12, 52, 0 }, + 36, { + { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 1, 12, 0, 0 }, + { 21, 21, 1, 12, 50, 0 }, { 22, 22, 1, 12, 50, 0 }, { 23, 23, 2, 12, 50, 0 }, { 24, 24, 2, 12, 50, 0 }, { 25, 25, 2, 12, 50, 0 }, + { 26, 26, 3, 12, 50, 0 }, { 27, 27, 3, 12, 50, 0 }, { 28, 28, 4, 12, 50, 0 }, { 29, 29, 4, 12, 51, 0 }, { 30, 30, 5, 12, 51, 0 }, + { 31, 31, 5, 12, 51, 0 }, { 32, 32, 6, 12, 51, 0 }, { 33, 33, 6, 12, 51, 0 }, { 34, 34, 7, 12, 51, 0 }, { 35, 35, 8, 12, 51, 0 }, + { 36, 36, 8, 12, 51, 0 }, { 37, 37, 9, 12, 51, 0 }, { 38, 38, 10, 12, 3, 0 }, { 39, 39, 11, 12, 3, 0 }, { 40, 40, 12, 12, 3, 0 }, + { 41, 41, 13, 12, 3, 0 }, { 42, 42, 14, 12, 3, 0 }, { 43, 43, 15, 12, 3, 0 }, { 43, 43, 16, 12, 3, 0 }, { 44, 44, 17, 12, 52, 0 }, + { 45, 45, 18, 12, 52, 0 }, { 45, 45, 19, 12, 52, 0 }, { 46, 46, 20, 12, 52, 0 }, { 46, 46, 21, 12, 52, 0 }, { 47, 47, 22, 12, 52, 0 }, + { 47, 47, 23, 12, 52, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91AC72 = { - 36, { - { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 11, 1, 20, 0, 0 }, - { 21, 10, 1, 20, 50, 0 }, { 22, 9, 1, 20, 50, 0 }, { 23, 8, 2, 20, 50, 0 }, { 24, 7, 2, 20, 50, 0 }, { 25, 6, 2, 20, 50, 0 }, - { 26, 5, 3, 20, 50, 0 }, { 27, 4, 3, 20, 50, 0 }, { 28, 3, 4, 20, 50, 0 }, { 29, 2, 4, 20, 51, 0 }, { 30, 1, 5, 20, 51, 0 }, - { 31, 0, 5, 20, 51, 0 }, { 32, -1, 6, 20, 51, 0 }, { 33, -2, 6, 20, 51, 0 }, { 34, -3, 7, 20, 51, 0 }, { 35, -4, 8, 20, 51, 0 }, - { 36, -5, 8, 20, 51, 0 }, { 37, -6, 9, 20, 51, 0 }, { 38, -7, 10, 20, 3, 0 }, { 39, -8, 11, 20, 3, 0 }, { 40, -9, 12, 20, 3, 0 }, - { 41, -10, 13, 20, 3, 0 }, { 42, -11, 14, 20, 3, 0 }, { 43, -12, 15, 20, 3, 0 }, { 43, -12, 16, 20, 3, 0 }, { 44, -13, 17, 20, 52, 0 }, - { 45, -14, 18, 20, 52, 0 }, { 45, -14, 19, 20, 52, 0 }, { 46, -15, 20, 20, 52, 0 }, { 46, -15, 21, 20, 52, 0 }, { 47, -16, 22, 20, 52, 0 }, - { 47, -16, 23, 20, 52, 0 }, + 36, { + { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 11, 1, 20, 0, 0 }, + { 21, 10, 1, 20, 50, 0 }, { 22, 9, 1, 20, 50, 0 }, { 23, 8, 2, 20, 50, 0 }, { 24, 7, 2, 20, 50, 0 }, { 25, 6, 2, 20, 50, 0 }, + { 26, 5, 3, 20, 50, 0 }, { 27, 4, 3, 20, 50, 0 }, { 28, 3, 4, 20, 50, 0 }, { 29, 2, 4, 20, 51, 0 }, { 30, 1, 5, 20, 51, 0 }, + { 31, 0, 5, 20, 51, 0 }, { 32, -1, 6, 20, 51, 0 }, { 33, -2, 6, 20, 51, 0 }, { 34, -3, 7, 20, 51, 0 }, { 35, -4, 8, 20, 51, 0 }, + { 36, -5, 8, 20, 51, 0 }, { 37, -6, 9, 20, 51, 0 }, { 38, -7, 10, 20, 3, 0 }, { 39, -8, 11, 20, 3, 0 }, { 40, -9, 12, 20, 3, 0 }, + { 41, -10, 13, 20, 3, 0 }, { 42, -11, 14, 20, 3, 0 }, { 43, -12, 15, 20, 3, 0 }, { 43, -12, 16, 20, 3, 0 }, { 44, -13, 17, 20, 52, 0 }, + { 45, -14, 18, 20, 52, 0 }, { 45, -14, 19, 20, 52, 0 }, { 46, -15, 20, 20, 52, 0 }, { 46, -15, 21, 20, 52, 0 }, { 47, -16, 22, 20, 52, 0 }, + { 47, -16, 23, 20, 52, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91ADB8 = { - 36, { - { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 11, 1, 28, 0, 0 }, - { 10, 10, 1, 28, 50, 0 }, { 9, 9, 1, 28, 50, 0 }, { 8, 8, 2, 28, 50, 0 }, { 7, 7, 2, 28, 50, 0 }, { 6, 6, 2, 28, 50, 0 }, - { 5, 5, 3, 28, 50, 0 }, { 4, 4, 3, 28, 50, 0 }, { 3, 3, 4, 28, 50, 0 }, { 2, 2, 4, 28, 51, 0 }, { 1, 1, 5, 28, 51, 0 }, - { 0, 0, 5, 28, 51, 0 }, { -1, -1, 6, 28, 51, 0 }, { -2, -2, 6, 28, 51, 0 }, { -3, -3, 7, 28, 51, 0 }, { -4, -4, 8, 28, 51, 0 }, - { -5, -5, 8, 28, 51, 0 }, { -6, -6, 9, 28, 51, 0 }, { -7, -7, 10, 28, 3, 0 }, { -8, -8, 11, 28, 3, 0 }, { -9, -9, 12, 28, 3, 0 }, - { -10, -10, 13, 28, 3, 0 }, { -11, -11, 14, 28, 3, 0 }, { -12, -12, 15, 28, 3, 0 }, { -12, -12, 16, 28, 3, 0 }, { -13, -13, 17, 28, 52, 0 }, - { -14, -14, 18, 28, 52, 0 }, { -14, -14, 19, 28, 52, 0 }, { -15, -15, 20, 28, 52, 0 }, { -15, -15, 21, 28, 52, 0 }, { -16, -16, 22, 28, 52, 0 }, - { -16, -16, 23, 28, 52, 0 }, + 36, { + { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 11, 1, 28, 0, 0 }, + { 10, 10, 1, 28, 50, 0 }, { 9, 9, 1, 28, 50, 0 }, { 8, 8, 2, 28, 50, 0 }, { 7, 7, 2, 28, 50, 0 }, { 6, 6, 2, 28, 50, 0 }, + { 5, 5, 3, 28, 50, 0 }, { 4, 4, 3, 28, 50, 0 }, { 3, 3, 4, 28, 50, 0 }, { 2, 2, 4, 28, 51, 0 }, { 1, 1, 5, 28, 51, 0 }, + { 0, 0, 5, 28, 51, 0 }, { -1, -1, 6, 28, 51, 0 }, { -2, -2, 6, 28, 51, 0 }, { -3, -3, 7, 28, 51, 0 }, { -4, -4, 8, 28, 51, 0 }, + { -5, -5, 8, 28, 51, 0 }, { -6, -6, 9, 28, 51, 0 }, { -7, -7, 10, 28, 3, 0 }, { -8, -8, 11, 28, 3, 0 }, { -9, -9, 12, 28, 3, 0 }, + { -10, -10, 13, 28, 3, 0 }, { -11, -11, 14, 28, 3, 0 }, { -12, -12, 15, 28, 3, 0 }, { -12, -12, 16, 28, 3, 0 }, { -13, -13, 17, 28, 52, 0 }, + { -14, -14, 18, 28, 52, 0 }, { -14, -14, 19, 28, 52, 0 }, { -15, -15, 20, 28, 52, 0 }, { -15, -15, 21, 28, 52, 0 }, { -16, -16, 22, 28, 52, 0 }, + { -16, -16, 23, 28, 52, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91AEFE = { - 36, { - { 15, 16, 0, 4, 52, 0 }, { 15, 16, 1, 4, 52, 0 }, { 14, 17, 2, 4, 52, 0 }, { 14, 17, 3, 4, 52, 0 }, { 13, 18, 4, 4, 52, 0 }, - { 13, 18, 5, 4, 52, 0 }, { 12, 19, 6, 4, 52, 0 }, { 11, 20, 7, 4, 3, 0 }, { 11, 20, 8, 4, 3, 0 }, { 10, 21, 9, 4, 3, 0 }, - { 9, 22, 10, 4, 3, 0 }, { 8, 23, 11, 4, 3, 0 }, { 7, 24, 12, 4, 3, 0 }, { 6, 25, 13, 4, 3, 0 }, { 5, 26, 14, 4, 51, 0 }, - { 4, 27, 15, 4, 51, 0 }, { 3, 28, 15, 4, 51, 0 }, { 2, 29, 16, 4, 51, 0 }, { 1, 30, 17, 4, 51, 0 }, { 0, 31, 17, 4, 51, 0 }, - { -1, 32, 18, 4, 51, 0 }, { -2, 33, 18, 4, 51, 0 }, { -3, 34, 19, 4, 51, 0 }, { -4, 35, 19, 4, 50, 0 }, { -5, 36, 20, 4, 50, 0 }, - { -6, 37, 20, 4, 50, 0 }, { -7, 38, 21, 4, 50, 0 }, { -8, 39, 21, 4, 50, 0 }, { -9, 40, 21, 4, 50, 0 }, { -10, 41, 22, 4, 50, 0 }, - { -11, 42, 22, 4, 50, 0 }, { -12, 43, 22, 4, 0, 0 }, { -13, 44, 23, 4, 0, 0 }, { -14, 45, 23, 4, 0, 0 }, { -15, 46, 23, 4, 0, 0 }, - { -16, 47, 23, 4, 0, 0 }, + 36, { + { 15, 16, 0, 4, 52, 0 }, { 15, 16, 1, 4, 52, 0 }, { 14, 17, 2, 4, 52, 0 }, { 14, 17, 3, 4, 52, 0 }, { 13, 18, 4, 4, 52, 0 }, + { 13, 18, 5, 4, 52, 0 }, { 12, 19, 6, 4, 52, 0 }, { 11, 20, 7, 4, 3, 0 }, { 11, 20, 8, 4, 3, 0 }, { 10, 21, 9, 4, 3, 0 }, + { 9, 22, 10, 4, 3, 0 }, { 8, 23, 11, 4, 3, 0 }, { 7, 24, 12, 4, 3, 0 }, { 6, 25, 13, 4, 3, 0 }, { 5, 26, 14, 4, 51, 0 }, + { 4, 27, 15, 4, 51, 0 }, { 3, 28, 15, 4, 51, 0 }, { 2, 29, 16, 4, 51, 0 }, { 1, 30, 17, 4, 51, 0 }, { 0, 31, 17, 4, 51, 0 }, + { -1, 32, 18, 4, 51, 0 }, { -2, 33, 18, 4, 51, 0 }, { -3, 34, 19, 4, 51, 0 }, { -4, 35, 19, 4, 50, 0 }, { -5, 36, 20, 4, 50, 0 }, + { -6, 37, 20, 4, 50, 0 }, { -7, 38, 21, 4, 50, 0 }, { -8, 39, 21, 4, 50, 0 }, { -9, 40, 21, 4, 50, 0 }, { -10, 41, 22, 4, 50, 0 }, + { -11, 42, 22, 4, 50, 0 }, { -12, 43, 22, 4, 0, 0 }, { -13, 44, 23, 4, 0, 0 }, { -14, 45, 23, 4, 0, 0 }, { -15, 46, 23, 4, 0, 0 }, + { -16, 47, 23, 4, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91B044 = { - 36, { - { 16, 16, 0, 12, 52, 0 }, { 16, 16, 1, 12, 52, 0 }, { 17, 17, 2, 12, 52, 0 }, { 17, 17, 3, 12, 52, 0 }, { 18, 18, 4, 12, 52, 0 }, - { 18, 18, 5, 12, 52, 0 }, { 19, 19, 6, 12, 52, 0 }, { 20, 20, 7, 12, 3, 0 }, { 20, 20, 8, 12, 3, 0 }, { 21, 21, 9, 12, 3, 0 }, - { 22, 22, 10, 12, 3, 0 }, { 23, 23, 11, 12, 3, 0 }, { 24, 24, 12, 12, 3, 0 }, { 25, 25, 13, 12, 3, 0 }, { 26, 26, 14, 12, 51, 0 }, - { 27, 27, 15, 12, 51, 0 }, { 28, 28, 15, 12, 51, 0 }, { 29, 29, 16, 12, 51, 0 }, { 30, 30, 17, 12, 51, 0 }, { 31, 31, 17, 12, 51, 0 }, - { 32, 32, 18, 12, 51, 0 }, { 33, 33, 18, 12, 51, 0 }, { 34, 34, 19, 12, 51, 0 }, { 35, 35, 19, 12, 50, 0 }, { 36, 36, 20, 12, 50, 0 }, - { 37, 37, 20, 12, 50, 0 }, { 38, 38, 21, 12, 50, 0 }, { 39, 39, 21, 12, 50, 0 }, { 40, 40, 21, 12, 50, 0 }, { 41, 41, 22, 12, 50, 0 }, - { 42, 42, 22, 12, 50, 0 }, { 43, 43, 22, 12, 0, 0 }, { 44, 44, 23, 12, 0, 0 }, { 45, 45, 23, 12, 0, 0 }, { 46, 46, 23, 12, 0, 0 }, - { 47, 47, 23, 12, 0, 0 }, + 36, { + { 16, 16, 0, 12, 52, 0 }, { 16, 16, 1, 12, 52, 0 }, { 17, 17, 2, 12, 52, 0 }, { 17, 17, 3, 12, 52, 0 }, { 18, 18, 4, 12, 52, 0 }, + { 18, 18, 5, 12, 52, 0 }, { 19, 19, 6, 12, 52, 0 }, { 20, 20, 7, 12, 3, 0 }, { 20, 20, 8, 12, 3, 0 }, { 21, 21, 9, 12, 3, 0 }, + { 22, 22, 10, 12, 3, 0 }, { 23, 23, 11, 12, 3, 0 }, { 24, 24, 12, 12, 3, 0 }, { 25, 25, 13, 12, 3, 0 }, { 26, 26, 14, 12, 51, 0 }, + { 27, 27, 15, 12, 51, 0 }, { 28, 28, 15, 12, 51, 0 }, { 29, 29, 16, 12, 51, 0 }, { 30, 30, 17, 12, 51, 0 }, { 31, 31, 17, 12, 51, 0 }, + { 32, 32, 18, 12, 51, 0 }, { 33, 33, 18, 12, 51, 0 }, { 34, 34, 19, 12, 51, 0 }, { 35, 35, 19, 12, 50, 0 }, { 36, 36, 20, 12, 50, 0 }, + { 37, 37, 20, 12, 50, 0 }, { 38, 38, 21, 12, 50, 0 }, { 39, 39, 21, 12, 50, 0 }, { 40, 40, 21, 12, 50, 0 }, { 41, 41, 22, 12, 50, 0 }, + { 42, 42, 22, 12, 50, 0 }, { 43, 43, 22, 12, 0, 0 }, { 44, 44, 23, 12, 0, 0 }, { 45, 45, 23, 12, 0, 0 }, { 46, 46, 23, 12, 0, 0 }, + { 47, 47, 23, 12, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91B18A = { - 36, { - { 16, 15, 0, 20, 52, 0 }, { 16, 15, 1, 20, 52, 0 }, { 17, 14, 2, 20, 52, 0 }, { 17, 14, 3, 20, 52, 0 }, { 18, 13, 4, 20, 52, 0 }, - { 18, 13, 5, 20, 52, 0 }, { 19, 12, 6, 20, 52, 0 }, { 20, 11, 7, 20, 3, 0 }, { 20, 11, 8, 20, 3, 0 }, { 21, 10, 9, 20, 3, 0 }, - { 22, 9, 10, 20, 3, 0 }, { 23, 8, 11, 20, 3, 0 }, { 24, 7, 12, 20, 3, 0 }, { 25, 6, 13, 20, 3, 0 }, { 26, 5, 14, 20, 51, 0 }, - { 27, 4, 15, 20, 51, 0 }, { 28, 3, 15, 20, 51, 0 }, { 29, 2, 16, 20, 51, 0 }, { 30, 1, 17, 20, 51, 0 }, { 31, 0, 17, 20, 51, 0 }, - { 32, -1, 18, 20, 51, 0 }, { 33, -2, 18, 20, 51, 0 }, { 34, -3, 19, 20, 51, 0 }, { 35, -4, 19, 20, 50, 0 }, { 36, -5, 20, 20, 50, 0 }, - { 37, -6, 20, 20, 50, 0 }, { 38, -7, 21, 20, 50, 0 }, { 39, -8, 21, 20, 50, 0 }, { 40, -9, 21, 20, 50, 0 }, { 41, -10, 22, 20, 50, 0 }, - { 42, -11, 22, 20, 50, 0 }, { 43, -12, 22, 20, 0, 0 }, { 44, -13, 23, 20, 0, 0 }, { 45, -14, 23, 20, 0, 0 }, { 46, -15, 23, 20, 0, 0 }, - { 47, -16, 23, 20, 0, 0 }, + 36, { + { 16, 15, 0, 20, 52, 0 }, { 16, 15, 1, 20, 52, 0 }, { 17, 14, 2, 20, 52, 0 }, { 17, 14, 3, 20, 52, 0 }, { 18, 13, 4, 20, 52, 0 }, + { 18, 13, 5, 20, 52, 0 }, { 19, 12, 6, 20, 52, 0 }, { 20, 11, 7, 20, 3, 0 }, { 20, 11, 8, 20, 3, 0 }, { 21, 10, 9, 20, 3, 0 }, + { 22, 9, 10, 20, 3, 0 }, { 23, 8, 11, 20, 3, 0 }, { 24, 7, 12, 20, 3, 0 }, { 25, 6, 13, 20, 3, 0 }, { 26, 5, 14, 20, 51, 0 }, + { 27, 4, 15, 20, 51, 0 }, { 28, 3, 15, 20, 51, 0 }, { 29, 2, 16, 20, 51, 0 }, { 30, 1, 17, 20, 51, 0 }, { 31, 0, 17, 20, 51, 0 }, + { 32, -1, 18, 20, 51, 0 }, { 33, -2, 18, 20, 51, 0 }, { 34, -3, 19, 20, 51, 0 }, { 35, -4, 19, 20, 50, 0 }, { 36, -5, 20, 20, 50, 0 }, + { 37, -6, 20, 20, 50, 0 }, { 38, -7, 21, 20, 50, 0 }, { 39, -8, 21, 20, 50, 0 }, { 40, -9, 21, 20, 50, 0 }, { 41, -10, 22, 20, 50, 0 }, + { 42, -11, 22, 20, 50, 0 }, { 43, -12, 22, 20, 0, 0 }, { 44, -13, 23, 20, 0, 0 }, { 45, -14, 23, 20, 0, 0 }, { 46, -15, 23, 20, 0, 0 }, + { 47, -16, 23, 20, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91B2D0 = { - 36, { - { 15, 15, 0, 28, 52, 0 }, { 15, 15, 1, 28, 52, 0 }, { 14, 14, 2, 28, 52, 0 }, { 14, 14, 3, 28, 52, 0 }, { 13, 13, 4, 28, 52, 0 }, - { 13, 13, 5, 28, 52, 0 }, { 12, 12, 6, 28, 52, 0 }, { 11, 11, 7, 28, 3, 0 }, { 11, 11, 8, 28, 3, 0 }, { 10, 10, 9, 28, 3, 0 }, - { 9, 9, 10, 28, 3, 0 }, { 8, 8, 11, 28, 3, 0 }, { 7, 7, 12, 28, 3, 0 }, { 6, 6, 13, 28, 3, 0 }, { 5, 5, 14, 28, 51, 0 }, - { 4, 4, 15, 28, 51, 0 }, { 3, 3, 15, 28, 51, 0 }, { 2, 2, 16, 28, 51, 0 }, { 1, 1, 17, 28, 51, 0 }, { 0, 0, 17, 28, 51, 0 }, - { -1, -1, 18, 28, 51, 0 }, { -2, -2, 18, 28, 51, 0 }, { -3, -3, 19, 28, 51, 0 }, { -4, -4, 19, 28, 50, 0 }, { -5, -5, 20, 28, 50, 0 }, - { -6, -6, 20, 28, 50, 0 }, { -7, -7, 21, 28, 50, 0 }, { -8, -8, 21, 28, 50, 0 }, { -9, -9, 21, 28, 50, 0 }, { -10, -10, 22, 28, 50, 0 }, - { -11, -11, 22, 28, 50, 0 }, { -12, -12, 22, 28, 0, 0 }, { -13, -13, 23, 28, 0, 0 }, { -14, -14, 23, 28, 0, 0 }, { -15, -15, 23, 28, 0, 0 }, - { -16, -16, 23, 28, 0, 0 }, + 36, { + { 15, 15, 0, 28, 52, 0 }, { 15, 15, 1, 28, 52, 0 }, { 14, 14, 2, 28, 52, 0 }, { 14, 14, 3, 28, 52, 0 }, { 13, 13, 4, 28, 52, 0 }, + { 13, 13, 5, 28, 52, 0 }, { 12, 12, 6, 28, 52, 0 }, { 11, 11, 7, 28, 3, 0 }, { 11, 11, 8, 28, 3, 0 }, { 10, 10, 9, 28, 3, 0 }, + { 9, 9, 10, 28, 3, 0 }, { 8, 8, 11, 28, 3, 0 }, { 7, 7, 12, 28, 3, 0 }, { 6, 6, 13, 28, 3, 0 }, { 5, 5, 14, 28, 51, 0 }, + { 4, 4, 15, 28, 51, 0 }, { 3, 3, 15, 28, 51, 0 }, { 2, 2, 16, 28, 51, 0 }, { 1, 1, 17, 28, 51, 0 }, { 0, 0, 17, 28, 51, 0 }, + { -1, -1, 18, 28, 51, 0 }, { -2, -2, 18, 28, 51, 0 }, { -3, -3, 19, 28, 51, 0 }, { -4, -4, 19, 28, 50, 0 }, { -5, -5, 20, 28, 50, 0 }, + { -6, -6, 20, 28, 50, 0 }, { -7, -7, 21, 28, 50, 0 }, { -8, -8, 21, 28, 50, 0 }, { -9, -9, 21, 28, 50, 0 }, { -10, -10, 22, 28, 50, 0 }, + { -11, -11, 22, 28, 50, 0 }, { -12, -12, 22, 28, 0, 0 }, { -13, -13, 23, 28, 0, 0 }, { -14, -14, 23, 28, 0, 0 }, { -15, -15, 23, 28, 0, 0 }, + { -16, -16, 23, 28, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91B416 = { - 36, { - { 15, 16, 23, 4, 0, 0 }, { 14, 17, 23, 4, 0, 0 }, { 13, 18, 23, 4, 0, 0 }, { 12, 19, 23, 4, 0, 0 }, { 11, 20, 22, 4, 0, 0 }, - { 10, 21, 22, 4, 53, 0 }, { 9, 22, 22, 4, 53, 0 }, { 8, 23, 21, 4, 53, 0 }, { 7, 24, 21, 4, 53, 0 }, { 6, 25, 21, 4, 53, 0 }, - { 5, 26, 20, 4, 53, 0 }, { 4, 27, 20, 4, 53, 0 }, { 3, 28, 19, 4, 53, 0 }, { 2, 29, 19, 4, 54, 0 }, { 1, 30, 18, 4, 54, 0 }, - { 0, 31, 18, 4, 54, 0 }, { -1, 32, 17, 4, 54, 0 }, { -2, 33, 17, 4, 54, 0 }, { -3, 34, 16, 4, 54, 0 }, { -4, 35, 15, 4, 54, 0 }, - { -5, 36, 15, 4, 54, 0 }, { -6, 37, 14, 4, 54, 0 }, { -7, 38, 13, 4, 7, 0 }, { -8, 39, 12, 4, 7, 0 }, { -9, 40, 11, 4, 7, 0 }, - { -10, 41, 10, 4, 7, 0 }, { -11, 42, 9, 4, 7, 0 }, { -12, 43, 8, 4, 7, 0 }, { -12, 43, 7, 4, 7, 0 }, { -13, 44, 6, 4, 55, 0 }, - { -14, 45, 5, 4, 55, 0 }, { -14, 45, 4, 4, 55, 0 }, { -15, 46, 3, 4, 55, 0 }, { -15, 46, 2, 4, 55, 0 }, { -16, 47, 1, 4, 55, 0 }, - { -16, 47, 0, 4, 55, 0 }, + 36, { + { 15, 16, 23, 4, 0, 0 }, { 14, 17, 23, 4, 0, 0 }, { 13, 18, 23, 4, 0, 0 }, { 12, 19, 23, 4, 0, 0 }, { 11, 20, 22, 4, 0, 0 }, + { 10, 21, 22, 4, 53, 0 }, { 9, 22, 22, 4, 53, 0 }, { 8, 23, 21, 4, 53, 0 }, { 7, 24, 21, 4, 53, 0 }, { 6, 25, 21, 4, 53, 0 }, + { 5, 26, 20, 4, 53, 0 }, { 4, 27, 20, 4, 53, 0 }, { 3, 28, 19, 4, 53, 0 }, { 2, 29, 19, 4, 54, 0 }, { 1, 30, 18, 4, 54, 0 }, + { 0, 31, 18, 4, 54, 0 }, { -1, 32, 17, 4, 54, 0 }, { -2, 33, 17, 4, 54, 0 }, { -3, 34, 16, 4, 54, 0 }, { -4, 35, 15, 4, 54, 0 }, + { -5, 36, 15, 4, 54, 0 }, { -6, 37, 14, 4, 54, 0 }, { -7, 38, 13, 4, 7, 0 }, { -8, 39, 12, 4, 7, 0 }, { -9, 40, 11, 4, 7, 0 }, + { -10, 41, 10, 4, 7, 0 }, { -11, 42, 9, 4, 7, 0 }, { -12, 43, 8, 4, 7, 0 }, { -12, 43, 7, 4, 7, 0 }, { -13, 44, 6, 4, 55, 0 }, + { -14, 45, 5, 4, 55, 0 }, { -14, 45, 4, 4, 55, 0 }, { -15, 46, 3, 4, 55, 0 }, { -15, 46, 2, 4, 55, 0 }, { -16, 47, 1, 4, 55, 0 }, + { -16, 47, 0, 4, 55, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91B55C = { - 36, { - { 16, 16, 23, 12, 0, 0 }, { 17, 17, 23, 12, 0, 0 }, { 18, 18, 23, 12, 0, 0 }, { 19, 19, 23, 12, 0, 0 }, { 20, 20, 22, 12, 0, 0 }, - { 21, 21, 22, 12, 53, 0 }, { 22, 22, 22, 12, 53, 0 }, { 23, 23, 21, 12, 53, 0 }, { 24, 24, 21, 12, 53, 0 }, { 25, 25, 21, 12, 53, 0 }, - { 26, 26, 20, 12, 53, 0 }, { 27, 27, 20, 12, 53, 0 }, { 28, 28, 19, 12, 53, 0 }, { 29, 29, 19, 12, 54, 0 }, { 30, 30, 18, 12, 54, 0 }, - { 31, 31, 18, 12, 54, 0 }, { 32, 32, 17, 12, 54, 0 }, { 33, 33, 17, 12, 54, 0 }, { 34, 34, 16, 12, 54, 0 }, { 35, 35, 15, 12, 54, 0 }, - { 36, 36, 15, 12, 54, 0 }, { 37, 37, 14, 12, 54, 0 }, { 38, 38, 13, 12, 7, 0 }, { 39, 39, 12, 12, 7, 0 }, { 40, 40, 11, 12, 7, 0 }, - { 41, 41, 10, 12, 7, 0 }, { 42, 42, 9, 12, 7, 0 }, { 43, 43, 8, 12, 7, 0 }, { 43, 43, 7, 12, 7, 0 }, { 44, 44, 6, 12, 55, 0 }, - { 45, 45, 5, 12, 55, 0 }, { 45, 45, 4, 12, 55, 0 }, { 46, 46, 3, 12, 55, 0 }, { 46, 46, 2, 12, 55, 0 }, { 47, 47, 1, 12, 55, 0 }, - { 47, 47, 0, 12, 55, 0 }, + 36, { + { 16, 16, 23, 12, 0, 0 }, { 17, 17, 23, 12, 0, 0 }, { 18, 18, 23, 12, 0, 0 }, { 19, 19, 23, 12, 0, 0 }, { 20, 20, 22, 12, 0, 0 }, + { 21, 21, 22, 12, 53, 0 }, { 22, 22, 22, 12, 53, 0 }, { 23, 23, 21, 12, 53, 0 }, { 24, 24, 21, 12, 53, 0 }, { 25, 25, 21, 12, 53, 0 }, + { 26, 26, 20, 12, 53, 0 }, { 27, 27, 20, 12, 53, 0 }, { 28, 28, 19, 12, 53, 0 }, { 29, 29, 19, 12, 54, 0 }, { 30, 30, 18, 12, 54, 0 }, + { 31, 31, 18, 12, 54, 0 }, { 32, 32, 17, 12, 54, 0 }, { 33, 33, 17, 12, 54, 0 }, { 34, 34, 16, 12, 54, 0 }, { 35, 35, 15, 12, 54, 0 }, + { 36, 36, 15, 12, 54, 0 }, { 37, 37, 14, 12, 54, 0 }, { 38, 38, 13, 12, 7, 0 }, { 39, 39, 12, 12, 7, 0 }, { 40, 40, 11, 12, 7, 0 }, + { 41, 41, 10, 12, 7, 0 }, { 42, 42, 9, 12, 7, 0 }, { 43, 43, 8, 12, 7, 0 }, { 43, 43, 7, 12, 7, 0 }, { 44, 44, 6, 12, 55, 0 }, + { 45, 45, 5, 12, 55, 0 }, { 45, 45, 4, 12, 55, 0 }, { 46, 46, 3, 12, 55, 0 }, { 46, 46, 2, 12, 55, 0 }, { 47, 47, 1, 12, 55, 0 }, + { 47, 47, 0, 12, 55, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91B6A2 = { - 36, { - { 16, 15, 23, 20, 0, 0 }, { 17, 14, 23, 20, 0, 0 }, { 18, 13, 23, 20, 0, 0 }, { 19, 12, 23, 20, 0, 0 }, { 20, 11, 22, 20, 0, 0 }, - { 21, 10, 22, 20, 53, 0 }, { 22, 9, 22, 20, 53, 0 }, { 23, 8, 21, 20, 53, 0 }, { 24, 7, 21, 20, 53, 0 }, { 25, 6, 21, 20, 53, 0 }, - { 26, 5, 20, 20, 53, 0 }, { 27, 4, 20, 20, 53, 0 }, { 28, 3, 19, 20, 53, 0 }, { 29, 2, 19, 20, 54, 0 }, { 30, 1, 18, 20, 54, 0 }, - { 31, 0, 18, 20, 54, 0 }, { 32, -1, 17, 20, 54, 0 }, { 33, -2, 17, 20, 54, 0 }, { 34, -3, 16, 20, 54, 0 }, { 35, -4, 15, 20, 54, 0 }, - { 36, -5, 15, 20, 54, 0 }, { 37, -6, 14, 20, 54, 0 }, { 38, -7, 13, 20, 7, 0 }, { 39, -8, 12, 20, 7, 0 }, { 40, -9, 11, 20, 7, 0 }, - { 41, -10, 10, 20, 7, 0 }, { 42, -11, 9, 20, 7, 0 }, { 43, -12, 8, 20, 7, 0 }, { 43, -12, 7, 20, 7, 0 }, { 44, -13, 6, 20, 55, 0 }, - { 45, -14, 5, 20, 55, 0 }, { 45, -14, 4, 20, 55, 0 }, { 46, -15, 3, 20, 55, 0 }, { 46, -15, 2, 20, 55, 0 }, { 47, -16, 1, 20, 55, 0 }, - { 47, -16, 0, 20, 55, 0 }, + 36, { + { 16, 15, 23, 20, 0, 0 }, { 17, 14, 23, 20, 0, 0 }, { 18, 13, 23, 20, 0, 0 }, { 19, 12, 23, 20, 0, 0 }, { 20, 11, 22, 20, 0, 0 }, + { 21, 10, 22, 20, 53, 0 }, { 22, 9, 22, 20, 53, 0 }, { 23, 8, 21, 20, 53, 0 }, { 24, 7, 21, 20, 53, 0 }, { 25, 6, 21, 20, 53, 0 }, + { 26, 5, 20, 20, 53, 0 }, { 27, 4, 20, 20, 53, 0 }, { 28, 3, 19, 20, 53, 0 }, { 29, 2, 19, 20, 54, 0 }, { 30, 1, 18, 20, 54, 0 }, + { 31, 0, 18, 20, 54, 0 }, { 32, -1, 17, 20, 54, 0 }, { 33, -2, 17, 20, 54, 0 }, { 34, -3, 16, 20, 54, 0 }, { 35, -4, 15, 20, 54, 0 }, + { 36, -5, 15, 20, 54, 0 }, { 37, -6, 14, 20, 54, 0 }, { 38, -7, 13, 20, 7, 0 }, { 39, -8, 12, 20, 7, 0 }, { 40, -9, 11, 20, 7, 0 }, + { 41, -10, 10, 20, 7, 0 }, { 42, -11, 9, 20, 7, 0 }, { 43, -12, 8, 20, 7, 0 }, { 43, -12, 7, 20, 7, 0 }, { 44, -13, 6, 20, 55, 0 }, + { 45, -14, 5, 20, 55, 0 }, { 45, -14, 4, 20, 55, 0 }, { 46, -15, 3, 20, 55, 0 }, { 46, -15, 2, 20, 55, 0 }, { 47, -16, 1, 20, 55, 0 }, + { 47, -16, 0, 20, 55, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91B7E8 = { - 36, { - { 15, 15, 23, 28, 0, 0 }, { 14, 14, 23, 28, 0, 0 }, { 13, 13, 23, 28, 0, 0 }, { 12, 12, 23, 28, 0, 0 }, { 11, 11, 22, 28, 0, 0 }, - { 10, 10, 22, 28, 53, 0 }, { 9, 9, 22, 28, 53, 0 }, { 8, 8, 21, 28, 53, 0 }, { 7, 7, 21, 28, 53, 0 }, { 6, 6, 21, 28, 53, 0 }, - { 5, 5, 20, 28, 53, 0 }, { 4, 4, 20, 28, 53, 0 }, { 3, 3, 19, 28, 53, 0 }, { 2, 2, 19, 28, 54, 0 }, { 1, 1, 18, 28, 54, 0 }, - { 0, 0, 18, 28, 54, 0 }, { -1, -1, 17, 28, 54, 0 }, { -2, -2, 17, 28, 54, 0 }, { -3, -3, 16, 28, 54, 0 }, { -4, -4, 15, 28, 54, 0 }, - { -5, -5, 15, 28, 54, 0 }, { -6, -6, 14, 28, 54, 0 }, { -7, -7, 13, 28, 7, 0 }, { -8, -8, 12, 28, 7, 0 }, { -9, -9, 11, 28, 7, 0 }, - { -10, -10, 10, 28, 7, 0 }, { -11, -11, 9, 28, 7, 0 }, { -12, -12, 8, 28, 7, 0 }, { -12, -12, 7, 28, 7, 0 }, { -13, -13, 6, 28, 55, 0 }, - { -14, -14, 5, 28, 55, 0 }, { -14, -14, 4, 28, 55, 0 }, { -15, -15, 3, 28, 55, 0 }, { -15, -15, 2, 28, 55, 0 }, { -16, -16, 1, 28, 55, 0 }, - { -16, -16, 0, 28, 55, 0 }, + 36, { + { 15, 15, 23, 28, 0, 0 }, { 14, 14, 23, 28, 0, 0 }, { 13, 13, 23, 28, 0, 0 }, { 12, 12, 23, 28, 0, 0 }, { 11, 11, 22, 28, 0, 0 }, + { 10, 10, 22, 28, 53, 0 }, { 9, 9, 22, 28, 53, 0 }, { 8, 8, 21, 28, 53, 0 }, { 7, 7, 21, 28, 53, 0 }, { 6, 6, 21, 28, 53, 0 }, + { 5, 5, 20, 28, 53, 0 }, { 4, 4, 20, 28, 53, 0 }, { 3, 3, 19, 28, 53, 0 }, { 2, 2, 19, 28, 54, 0 }, { 1, 1, 18, 28, 54, 0 }, + { 0, 0, 18, 28, 54, 0 }, { -1, -1, 17, 28, 54, 0 }, { -2, -2, 17, 28, 54, 0 }, { -3, -3, 16, 28, 54, 0 }, { -4, -4, 15, 28, 54, 0 }, + { -5, -5, 15, 28, 54, 0 }, { -6, -6, 14, 28, 54, 0 }, { -7, -7, 13, 28, 7, 0 }, { -8, -8, 12, 28, 7, 0 }, { -9, -9, 11, 28, 7, 0 }, + { -10, -10, 10, 28, 7, 0 }, { -11, -11, 9, 28, 7, 0 }, { -12, -12, 8, 28, 7, 0 }, { -12, -12, 7, 28, 7, 0 }, { -13, -13, 6, 28, 55, 0 }, + { -14, -14, 5, 28, 55, 0 }, { -14, -14, 4, 28, 55, 0 }, { -15, -15, 3, 28, 55, 0 }, { -15, -15, 2, 28, 55, 0 }, { -16, -16, 1, 28, 55, 0 }, + { -16, -16, 0, 28, 55, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91B92E = { - 36, { - { 15, 16, 23, 4, 55, 0 }, { 15, 16, 22, 4, 55, 0 }, { 14, 17, 21, 4, 55, 0 }, { 14, 17, 20, 4, 55, 0 }, { 13, 18, 19, 4, 55, 0 }, - { 13, 18, 18, 4, 55, 0 }, { 12, 19, 17, 4, 55, 0 }, { 11, 20, 16, 4, 7, 0 }, { 11, 20, 15, 4, 7, 0 }, { 10, 21, 14, 4, 7, 0 }, - { 9, 22, 13, 4, 7, 0 }, { 8, 23, 12, 4, 7, 0 }, { 7, 24, 11, 4, 7, 0 }, { 6, 25, 10, 4, 7, 0 }, { 5, 26, 9, 4, 54, 0 }, - { 4, 27, 8, 4, 54, 0 }, { 3, 28, 8, 4, 54, 0 }, { 2, 29, 7, 4, 54, 0 }, { 1, 30, 6, 4, 54, 0 }, { 0, 31, 6, 4, 54, 0 }, - { -1, 32, 5, 4, 54, 0 }, { -2, 33, 5, 4, 54, 0 }, { -3, 34, 4, 4, 54, 0 }, { -4, 35, 4, 4, 53, 0 }, { -5, 36, 3, 4, 53, 0 }, - { -6, 37, 3, 4, 53, 0 }, { -7, 38, 2, 4, 53, 0 }, { -8, 39, 2, 4, 53, 0 }, { -9, 40, 2, 4, 53, 0 }, { -10, 41, 1, 4, 53, 0 }, - { -11, 42, 1, 4, 53, 0 }, { -12, 43, 1, 4, 0, 0 }, { -13, 44, 0, 4, 0, 0 }, { -14, 45, 0, 4, 0, 0 }, { -15, 46, 0, 4, 0, 0 }, - { -16, 47, 0, 4, 0, 0 }, + 36, { + { 15, 16, 23, 4, 55, 0 }, { 15, 16, 22, 4, 55, 0 }, { 14, 17, 21, 4, 55, 0 }, { 14, 17, 20, 4, 55, 0 }, { 13, 18, 19, 4, 55, 0 }, + { 13, 18, 18, 4, 55, 0 }, { 12, 19, 17, 4, 55, 0 }, { 11, 20, 16, 4, 7, 0 }, { 11, 20, 15, 4, 7, 0 }, { 10, 21, 14, 4, 7, 0 }, + { 9, 22, 13, 4, 7, 0 }, { 8, 23, 12, 4, 7, 0 }, { 7, 24, 11, 4, 7, 0 }, { 6, 25, 10, 4, 7, 0 }, { 5, 26, 9, 4, 54, 0 }, + { 4, 27, 8, 4, 54, 0 }, { 3, 28, 8, 4, 54, 0 }, { 2, 29, 7, 4, 54, 0 }, { 1, 30, 6, 4, 54, 0 }, { 0, 31, 6, 4, 54, 0 }, + { -1, 32, 5, 4, 54, 0 }, { -2, 33, 5, 4, 54, 0 }, { -3, 34, 4, 4, 54, 0 }, { -4, 35, 4, 4, 53, 0 }, { -5, 36, 3, 4, 53, 0 }, + { -6, 37, 3, 4, 53, 0 }, { -7, 38, 2, 4, 53, 0 }, { -8, 39, 2, 4, 53, 0 }, { -9, 40, 2, 4, 53, 0 }, { -10, 41, 1, 4, 53, 0 }, + { -11, 42, 1, 4, 53, 0 }, { -12, 43, 1, 4, 0, 0 }, { -13, 44, 0, 4, 0, 0 }, { -14, 45, 0, 4, 0, 0 }, { -15, 46, 0, 4, 0, 0 }, + { -16, 47, 0, 4, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91BA74 = { - 36, { - { 16, 16, 23, 12, 55, 0 }, { 16, 16, 22, 12, 55, 0 }, { 17, 17, 21, 12, 55, 0 }, { 17, 17, 20, 12, 55, 0 }, { 18, 18, 19, 12, 55, 0 }, - { 18, 18, 18, 12, 55, 0 }, { 19, 19, 17, 12, 55, 0 }, { 20, 20, 16, 12, 7, 0 }, { 20, 20, 15, 12, 7, 0 }, { 21, 21, 14, 12, 7, 0 }, - { 22, 22, 13, 12, 7, 0 }, { 23, 23, 12, 12, 7, 0 }, { 24, 24, 11, 12, 7, 0 }, { 25, 25, 10, 12, 7, 0 }, { 26, 26, 9, 12, 54, 0 }, - { 27, 27, 8, 12, 54, 0 }, { 28, 28, 8, 12, 54, 0 }, { 29, 29, 7, 12, 54, 0 }, { 30, 30, 6, 12, 54, 0 }, { 31, 31, 6, 12, 54, 0 }, - { 32, 32, 5, 12, 54, 0 }, { 33, 33, 5, 12, 54, 0 }, { 34, 34, 4, 12, 54, 0 }, { 35, 35, 4, 12, 53, 0 }, { 36, 36, 3, 12, 53, 0 }, - { 37, 37, 3, 12, 53, 0 }, { 38, 38, 2, 12, 53, 0 }, { 39, 39, 2, 12, 53, 0 }, { 40, 40, 2, 12, 53, 0 }, { 41, 41, 1, 12, 53, 0 }, - { 42, 42, 1, 12, 53, 0 }, { 43, 43, 1, 12, 0, 0 }, { 44, 44, 0, 12, 0, 0 }, { 45, 45, 0, 12, 0, 0 }, { 46, 46, 0, 12, 0, 0 }, - { 47, 47, 0, 12, 0, 0 }, + 36, { + { 16, 16, 23, 12, 55, 0 }, { 16, 16, 22, 12, 55, 0 }, { 17, 17, 21, 12, 55, 0 }, { 17, 17, 20, 12, 55, 0 }, { 18, 18, 19, 12, 55, 0 }, + { 18, 18, 18, 12, 55, 0 }, { 19, 19, 17, 12, 55, 0 }, { 20, 20, 16, 12, 7, 0 }, { 20, 20, 15, 12, 7, 0 }, { 21, 21, 14, 12, 7, 0 }, + { 22, 22, 13, 12, 7, 0 }, { 23, 23, 12, 12, 7, 0 }, { 24, 24, 11, 12, 7, 0 }, { 25, 25, 10, 12, 7, 0 }, { 26, 26, 9, 12, 54, 0 }, + { 27, 27, 8, 12, 54, 0 }, { 28, 28, 8, 12, 54, 0 }, { 29, 29, 7, 12, 54, 0 }, { 30, 30, 6, 12, 54, 0 }, { 31, 31, 6, 12, 54, 0 }, + { 32, 32, 5, 12, 54, 0 }, { 33, 33, 5, 12, 54, 0 }, { 34, 34, 4, 12, 54, 0 }, { 35, 35, 4, 12, 53, 0 }, { 36, 36, 3, 12, 53, 0 }, + { 37, 37, 3, 12, 53, 0 }, { 38, 38, 2, 12, 53, 0 }, { 39, 39, 2, 12, 53, 0 }, { 40, 40, 2, 12, 53, 0 }, { 41, 41, 1, 12, 53, 0 }, + { 42, 42, 1, 12, 53, 0 }, { 43, 43, 1, 12, 0, 0 }, { 44, 44, 0, 12, 0, 0 }, { 45, 45, 0, 12, 0, 0 }, { 46, 46, 0, 12, 0, 0 }, + { 47, 47, 0, 12, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91BBBA = { - 36, { - { 16, 15, 23, 20, 55, 0 }, { 16, 15, 22, 20, 55, 0 }, { 17, 14, 21, 20, 55, 0 }, { 17, 14, 20, 20, 55, 0 }, { 18, 13, 19, 20, 55, 0 }, - { 18, 13, 18, 20, 55, 0 }, { 19, 12, 17, 20, 55, 0 }, { 20, 11, 16, 20, 7, 0 }, { 20, 11, 15, 20, 7, 0 }, { 21, 10, 14, 20, 7, 0 }, - { 22, 9, 13, 20, 7, 0 }, { 23, 8, 12, 20, 7, 0 }, { 24, 7, 11, 20, 7, 0 }, { 25, 6, 10, 20, 7, 0 }, { 26, 5, 9, 20, 54, 0 }, - { 27, 4, 8, 20, 54, 0 }, { 28, 3, 8, 20, 54, 0 }, { 29, 2, 7, 20, 54, 0 }, { 30, 1, 6, 20, 54, 0 }, { 31, 0, 6, 20, 54, 0 }, - { 32, -1, 5, 20, 54, 0 }, { 33, -2, 5, 20, 54, 0 }, { 34, -3, 4, 20, 54, 0 }, { 35, -4, 4, 20, 53, 0 }, { 36, -5, 3, 20, 53, 0 }, - { 37, -6, 3, 20, 53, 0 }, { 38, -7, 2, 20, 53, 0 }, { 39, -8, 2, 20, 53, 0 }, { 40, -9, 2, 20, 53, 0 }, { 41, -10, 1, 20, 53, 0 }, - { 42, -11, 1, 20, 53, 0 }, { 43, -12, 1, 20, 0, 0 }, { 44, -13, 0, 20, 0, 0 }, { 45, -14, 0, 20, 0, 0 }, { 46, -15, 0, 20, 0, 0 }, - { 47, -16, 0, 20, 0, 0 }, + 36, { + { 16, 15, 23, 20, 55, 0 }, { 16, 15, 22, 20, 55, 0 }, { 17, 14, 21, 20, 55, 0 }, { 17, 14, 20, 20, 55, 0 }, { 18, 13, 19, 20, 55, 0 }, + { 18, 13, 18, 20, 55, 0 }, { 19, 12, 17, 20, 55, 0 }, { 20, 11, 16, 20, 7, 0 }, { 20, 11, 15, 20, 7, 0 }, { 21, 10, 14, 20, 7, 0 }, + { 22, 9, 13, 20, 7, 0 }, { 23, 8, 12, 20, 7, 0 }, { 24, 7, 11, 20, 7, 0 }, { 25, 6, 10, 20, 7, 0 }, { 26, 5, 9, 20, 54, 0 }, + { 27, 4, 8, 20, 54, 0 }, { 28, 3, 8, 20, 54, 0 }, { 29, 2, 7, 20, 54, 0 }, { 30, 1, 6, 20, 54, 0 }, { 31, 0, 6, 20, 54, 0 }, + { 32, -1, 5, 20, 54, 0 }, { 33, -2, 5, 20, 54, 0 }, { 34, -3, 4, 20, 54, 0 }, { 35, -4, 4, 20, 53, 0 }, { 36, -5, 3, 20, 53, 0 }, + { 37, -6, 3, 20, 53, 0 }, { 38, -7, 2, 20, 53, 0 }, { 39, -8, 2, 20, 53, 0 }, { 40, -9, 2, 20, 53, 0 }, { 41, -10, 1, 20, 53, 0 }, + { 42, -11, 1, 20, 53, 0 }, { 43, -12, 1, 20, 0, 0 }, { 44, -13, 0, 20, 0, 0 }, { 45, -14, 0, 20, 0, 0 }, { 46, -15, 0, 20, 0, 0 }, + { 47, -16, 0, 20, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91BD00 = { - 36, { - { 15, 15, 23, 28, 55, 0 }, { 15, 15, 22, 28, 55, 0 }, { 14, 14, 21, 28, 55, 0 }, { 14, 14, 20, 28, 55, 0 }, { 13, 13, 19, 28, 55, 0 }, - { 13, 13, 18, 28, 55, 0 }, { 12, 12, 17, 28, 55, 0 }, { 11, 11, 16, 28, 7, 0 }, { 11, 11, 15, 28, 7, 0 }, { 10, 10, 14, 28, 7, 0 }, - { 9, 9, 13, 28, 7, 0 }, { 8, 8, 12, 28, 7, 0 }, { 7, 7, 11, 28, 7, 0 }, { 6, 6, 10, 28, 7, 0 }, { 5, 5, 9, 28, 54, 0 }, - { 4, 4, 8, 28, 54, 0 }, { 3, 3, 8, 28, 54, 0 }, { 2, 2, 7, 28, 54, 0 }, { 1, 1, 6, 28, 54, 0 }, { 0, 0, 6, 28, 54, 0 }, - { -1, -1, 5, 28, 54, 0 }, { -2, -2, 5, 28, 54, 0 }, { -3, -3, 4, 28, 54, 0 }, { -4, -4, 4, 28, 53, 0 }, { -5, -5, 3, 28, 53, 0 }, - { -6, -6, 3, 28, 53, 0 }, { -7, -7, 2, 28, 53, 0 }, { -8, -8, 2, 28, 53, 0 }, { -9, -9, 2, 28, 53, 0 }, { -10, -10, 1, 28, 53, 0 }, - { -11, -11, 1, 28, 53, 0 }, { -12, -12, 1, 28, 0, 0 }, { -13, -13, 0, 28, 0, 0 }, { -14, -14, 0, 28, 0, 0 }, { -15, -15, 0, 28, 0, 0 }, - { -16, -16, 0, 28, 0, 0 }, + 36, { + { 15, 15, 23, 28, 55, 0 }, { 15, 15, 22, 28, 55, 0 }, { 14, 14, 21, 28, 55, 0 }, { 14, 14, 20, 28, 55, 0 }, { 13, 13, 19, 28, 55, 0 }, + { 13, 13, 18, 28, 55, 0 }, { 12, 12, 17, 28, 55, 0 }, { 11, 11, 16, 28, 7, 0 }, { 11, 11, 15, 28, 7, 0 }, { 10, 10, 14, 28, 7, 0 }, + { 9, 9, 13, 28, 7, 0 }, { 8, 8, 12, 28, 7, 0 }, { 7, 7, 11, 28, 7, 0 }, { 6, 6, 10, 28, 7, 0 }, { 5, 5, 9, 28, 54, 0 }, + { 4, 4, 8, 28, 54, 0 }, { 3, 3, 8, 28, 54, 0 }, { 2, 2, 7, 28, 54, 0 }, { 1, 1, 6, 28, 54, 0 }, { 0, 0, 6, 28, 54, 0 }, + { -1, -1, 5, 28, 54, 0 }, { -2, -2, 5, 28, 54, 0 }, { -3, -3, 4, 28, 54, 0 }, { -4, -4, 4, 28, 53, 0 }, { -5, -5, 3, 28, 53, 0 }, + { -6, -6, 3, 28, 53, 0 }, { -7, -7, 2, 28, 53, 0 }, { -8, -8, 2, 28, 53, 0 }, { -9, -9, 2, 28, 53, 0 }, { -10, -10, 1, 28, 53, 0 }, + { -11, -11, 1, 28, 53, 0 }, { -12, -12, 1, 28, 0, 0 }, { -13, -13, 0, 28, 0, 0 }, { -14, -14, 0, 28, 0, 0 }, { -15, -15, 0, 28, 0, 0 }, + { -16, -16, 0, 28, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95787E = { - 32, { - { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 4, 0, 0 }, { 13, 18, 0, 4, 0, 0 }, { 12, 19, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, - { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 0, 4, 0, 0 }, { 7, 24, 0, 4, 0, 1 }, { 6, 25, 0, 4, 0, 1 }, - { 5, 26, 0, 4, 0, 1 }, { 4, 27, 0, 4, 0, 1 }, { 3, 28, 0, 4, 0, 1 }, { 2, 29, 0, 4, 0, 1 }, { 1, 30, 0, 4, 0, 1 }, - { 0, 31, 0, 4, 0, 1 }, { -1, 32, 0, 4, 0, 1 }, { -2, 33, 0, 4, 0, 1 }, { -3, 34, 0, 4, 0, 1 }, { -4, 35, 0, 4, 0, 1 }, - { -5, 36, 0, 4, 0, 1 }, { -6, 37, 0, 4, 0, 1 }, { -7, 38, 0, 4, 0, 1 }, { -8, 39, 0, 4, 0, 1 }, { -9, 40, 0, 4, 0, 2 }, - { -10, 41, 0, 4, 0, 2 }, { -11, 42, 0, 4, 0, 2 }, { -12, 43, 0, 4, 0, 2 }, { -13, 44, 0, 4, 0, 2 }, { -14, 45, 0, 4, 0, 2 }, - { -15, 46, 0, 4, 0, 2 }, { -16, 47, 0, 4, 0, 2 }, + 32, { + { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 4, 0, 0 }, { 13, 18, 0, 4, 0, 0 }, { 12, 19, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, + { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 0, 4, 0, 0 }, { 7, 24, 0, 4, 0, 1 }, { 6, 25, 0, 4, 0, 1 }, + { 5, 26, 0, 4, 0, 1 }, { 4, 27, 0, 4, 0, 1 }, { 3, 28, 0, 4, 0, 1 }, { 2, 29, 0, 4, 0, 1 }, { 1, 30, 0, 4, 0, 1 }, + { 0, 31, 0, 4, 0, 1 }, { -1, 32, 0, 4, 0, 1 }, { -2, 33, 0, 4, 0, 1 }, { -3, 34, 0, 4, 0, 1 }, { -4, 35, 0, 4, 0, 1 }, + { -5, 36, 0, 4, 0, 1 }, { -6, 37, 0, 4, 0, 1 }, { -7, 38, 0, 4, 0, 1 }, { -8, 39, 0, 4, 0, 1 }, { -9, 40, 0, 4, 0, 2 }, + { -10, 41, 0, 4, 0, 2 }, { -11, 42, 0, 4, 0, 2 }, { -12, 43, 0, 4, 0, 2 }, { -13, 44, 0, 4, 0, 2 }, { -14, 45, 0, 4, 0, 2 }, + { -15, 46, 0, 4, 0, 2 }, { -16, 47, 0, 4, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9579A0 = { - 32, { - { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, - { 21, 21, 0, 12, 0, 0 }, { 22, 22, 0, 12, 0, 0 }, { 23, 23, 0, 12, 0, 0 }, { 24, 24, 0, 12, 0, 1 }, { 25, 25, 0, 12, 0, 1 }, - { 26, 26, 0, 12, 0, 1 }, { 27, 27, 0, 12, 0, 1 }, { 28, 28, 0, 12, 0, 1 }, { 29, 29, 0, 12, 0, 1 }, { 30, 30, 0, 12, 0, 1 }, - { 31, 31, 0, 12, 0, 1 }, { 32, 32, 0, 12, 0, 1 }, { 33, 33, 0, 12, 0, 1 }, { 34, 34, 0, 12, 0, 1 }, { 35, 35, 0, 12, 0, 1 }, - { 36, 36, 0, 12, 0, 1 }, { 37, 37, 0, 12, 0, 1 }, { 38, 38, 0, 12, 0, 1 }, { 39, 39, 0, 12, 0, 1 }, { 40, 40, 0, 12, 0, 2 }, - { 41, 41, 0, 12, 0, 2 }, { 42, 42, 0, 12, 0, 2 }, { 43, 43, 0, 12, 0, 2 }, { 44, 44, 0, 12, 0, 2 }, { 45, 45, 0, 12, 0, 2 }, - { 46, 46, 0, 12, 0, 2 }, { 47, 47, 0, 12, 0, 2 }, + 32, { + { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, + { 21, 21, 0, 12, 0, 0 }, { 22, 22, 0, 12, 0, 0 }, { 23, 23, 0, 12, 0, 0 }, { 24, 24, 0, 12, 0, 1 }, { 25, 25, 0, 12, 0, 1 }, + { 26, 26, 0, 12, 0, 1 }, { 27, 27, 0, 12, 0, 1 }, { 28, 28, 0, 12, 0, 1 }, { 29, 29, 0, 12, 0, 1 }, { 30, 30, 0, 12, 0, 1 }, + { 31, 31, 0, 12, 0, 1 }, { 32, 32, 0, 12, 0, 1 }, { 33, 33, 0, 12, 0, 1 }, { 34, 34, 0, 12, 0, 1 }, { 35, 35, 0, 12, 0, 1 }, + { 36, 36, 0, 12, 0, 1 }, { 37, 37, 0, 12, 0, 1 }, { 38, 38, 0, 12, 0, 1 }, { 39, 39, 0, 12, 0, 1 }, { 40, 40, 0, 12, 0, 2 }, + { 41, 41, 0, 12, 0, 2 }, { 42, 42, 0, 12, 0, 2 }, { 43, 43, 0, 12, 0, 2 }, { 44, 44, 0, 12, 0, 2 }, { 45, 45, 0, 12, 0, 2 }, + { 46, 46, 0, 12, 0, 2 }, { 47, 47, 0, 12, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_957AC2 = { - 32, { - { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 11, 0, 20, 0, 0 }, - { 21, 10, 0, 20, 0, 0 }, { 22, 9, 0, 20, 0, 0 }, { 23, 8, 0, 20, 0, 0 }, { 24, 7, 0, 20, 0, 1 }, { 25, 6, 0, 20, 0, 1 }, - { 26, 5, 0, 20, 0, 1 }, { 27, 4, 0, 20, 0, 1 }, { 28, 3, 0, 20, 0, 1 }, { 29, 2, 0, 20, 0, 1 }, { 30, 1, 0, 20, 0, 1 }, - { 31, 0, 0, 20, 0, 1 }, { 32, -1, 0, 20, 0, 1 }, { 33, -2, 0, 20, 0, 1 }, { 34, -3, 0, 20, 0, 1 }, { 35, -4, 0, 20, 0, 1 }, - { 36, -5, 0, 20, 0, 1 }, { 37, -6, 0, 20, 0, 1 }, { 38, -7, 0, 20, 0, 1 }, { 39, -8, 0, 20, 0, 1 }, { 40, -9, 0, 20, 0, 2 }, - { 41, -10, 0, 20, 0, 2 }, { 42, -11, 0, 20, 0, 2 }, { 43, -12, 0, 20, 0, 2 }, { 44, -13, 0, 20, 0, 2 }, { 45, -14, 0, 20, 0, 2 }, - { 46, -15, 0, 20, 0, 2 }, { 47, -16, 0, 20, 0, 2 }, + 32, { + { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 11, 0, 20, 0, 0 }, + { 21, 10, 0, 20, 0, 0 }, { 22, 9, 0, 20, 0, 0 }, { 23, 8, 0, 20, 0, 0 }, { 24, 7, 0, 20, 0, 1 }, { 25, 6, 0, 20, 0, 1 }, + { 26, 5, 0, 20, 0, 1 }, { 27, 4, 0, 20, 0, 1 }, { 28, 3, 0, 20, 0, 1 }, { 29, 2, 0, 20, 0, 1 }, { 30, 1, 0, 20, 0, 1 }, + { 31, 0, 0, 20, 0, 1 }, { 32, -1, 0, 20, 0, 1 }, { 33, -2, 0, 20, 0, 1 }, { 34, -3, 0, 20, 0, 1 }, { 35, -4, 0, 20, 0, 1 }, + { 36, -5, 0, 20, 0, 1 }, { 37, -6, 0, 20, 0, 1 }, { 38, -7, 0, 20, 0, 1 }, { 39, -8, 0, 20, 0, 1 }, { 40, -9, 0, 20, 0, 2 }, + { 41, -10, 0, 20, 0, 2 }, { 42, -11, 0, 20, 0, 2 }, { 43, -12, 0, 20, 0, 2 }, { 44, -13, 0, 20, 0, 2 }, { 45, -14, 0, 20, 0, 2 }, + { 46, -15, 0, 20, 0, 2 }, { 47, -16, 0, 20, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_957BE4 = { - 32, { - { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 11, 0, 28, 0, 0 }, - { 10, 10, 0, 28, 0, 0 }, { 9, 9, 0, 28, 0, 0 }, { 8, 8, 0, 28, 0, 0 }, { 7, 7, 0, 28, 0, 1 }, { 6, 6, 0, 28, 0, 1 }, - { 5, 5, 0, 28, 0, 1 }, { 4, 4, 0, 28, 0, 1 }, { 3, 3, 0, 28, 0, 1 }, { 2, 2, 0, 28, 0, 1 }, { 1, 1, 0, 28, 0, 1 }, - { 0, 0, 0, 28, 0, 1 }, { -1, -1, 0, 28, 0, 1 }, { -2, -2, 0, 28, 0, 1 }, { -3, -3, 0, 28, 0, 1 }, { -4, -4, 0, 28, 0, 1 }, - { -5, -5, 0, 28, 0, 1 }, { -6, -6, 0, 28, 0, 1 }, { -7, -7, 0, 28, 0, 1 }, { -8, -8, 0, 28, 0, 1 }, { -9, -9, 0, 28, 0, 2 }, - { -10, -10, 0, 28, 0, 2 }, { -11, -11, 0, 28, 0, 2 }, { -12, -12, 0, 28, 0, 2 }, { -13, -13, 0, 28, 0, 2 }, { -14, -14, 0, 28, 0, 2 }, - { -15, -15, 0, 28, 0, 2 }, { -16, -16, 0, 28, 0, 2 }, + 32, { + { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 11, 0, 28, 0, 0 }, + { 10, 10, 0, 28, 0, 0 }, { 9, 9, 0, 28, 0, 0 }, { 8, 8, 0, 28, 0, 0 }, { 7, 7, 0, 28, 0, 1 }, { 6, 6, 0, 28, 0, 1 }, + { 5, 5, 0, 28, 0, 1 }, { 4, 4, 0, 28, 0, 1 }, { 3, 3, 0, 28, 0, 1 }, { 2, 2, 0, 28, 0, 1 }, { 1, 1, 0, 28, 0, 1 }, + { 0, 0, 0, 28, 0, 1 }, { -1, -1, 0, 28, 0, 1 }, { -2, -2, 0, 28, 0, 1 }, { -3, -3, 0, 28, 0, 1 }, { -4, -4, 0, 28, 0, 1 }, + { -5, -5, 0, 28, 0, 1 }, { -6, -6, 0, 28, 0, 1 }, { -7, -7, 0, 28, 0, 1 }, { -8, -8, 0, 28, 0, 1 }, { -9, -9, 0, 28, 0, 2 }, + { -10, -10, 0, 28, 0, 2 }, { -11, -11, 0, 28, 0, 2 }, { -12, -12, 0, 28, 0, 2 }, { -13, -13, 0, 28, 0, 2 }, { -14, -14, 0, 28, 0, 2 }, + { -15, -15, 0, 28, 0, 2 }, { -16, -16, 0, 28, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_957D06 = { - 32, { - { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 4, 0, 0 }, { 13, 18, 0, 4, 0, 0 }, { 12, 19, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, - { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 0, 4, 0, 0 }, { 7, 24, 0, 4, 0, 3 }, { 6, 25, 0, 4, 0, 3 }, - { 5, 26, 0, 4, 0, 3 }, { 4, 27, 0, 4, 0, 3 }, { 3, 28, 0, 4, 0, 3 }, { 2, 29, 0, 4, 0, 3 }, { 1, 30, 0, 4, 0, 3 }, - { 0, 31, 0, 4, 0, 3 }, { -1, 32, 0, 4, 0, 3 }, { -2, 33, 0, 4, 0, 3 }, { -3, 34, 0, 4, 0, 3 }, { -4, 35, 0, 4, 0, 3 }, - { -5, 36, 0, 4, 0, 3 }, { -6, 37, 0, 4, 0, 3 }, { -7, 38, 0, 4, 0, 3 }, { -8, 39, 0, 4, 0, 3 }, { -9, 40, 0, 4, 0, 4 }, - { -10, 41, 0, 4, 0, 4 }, { -11, 42, 0, 4, 0, 4 }, { -12, 43, 0, 4, 0, 4 }, { -13, 44, 0, 4, 0, 4 }, { -14, 45, 0, 4, 0, 4 }, - { -15, 46, 0, 4, 0, 4 }, { -16, 47, 0, 4, 0, 4 }, + 32, { + { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 4, 0, 0 }, { 13, 18, 0, 4, 0, 0 }, { 12, 19, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, + { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 0, 4, 0, 0 }, { 7, 24, 0, 4, 0, 3 }, { 6, 25, 0, 4, 0, 3 }, + { 5, 26, 0, 4, 0, 3 }, { 4, 27, 0, 4, 0, 3 }, { 3, 28, 0, 4, 0, 3 }, { 2, 29, 0, 4, 0, 3 }, { 1, 30, 0, 4, 0, 3 }, + { 0, 31, 0, 4, 0, 3 }, { -1, 32, 0, 4, 0, 3 }, { -2, 33, 0, 4, 0, 3 }, { -3, 34, 0, 4, 0, 3 }, { -4, 35, 0, 4, 0, 3 }, + { -5, 36, 0, 4, 0, 3 }, { -6, 37, 0, 4, 0, 3 }, { -7, 38, 0, 4, 0, 3 }, { -8, 39, 0, 4, 0, 3 }, { -9, 40, 0, 4, 0, 4 }, + { -10, 41, 0, 4, 0, 4 }, { -11, 42, 0, 4, 0, 4 }, { -12, 43, 0, 4, 0, 4 }, { -13, 44, 0, 4, 0, 4 }, { -14, 45, 0, 4, 0, 4 }, + { -15, 46, 0, 4, 0, 4 }, { -16, 47, 0, 4, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_957E28 = { - 32, { - { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, - { 21, 21, 0, 12, 0, 0 }, { 22, 22, 0, 12, 0, 0 }, { 23, 23, 0, 12, 0, 0 }, { 24, 24, 0, 12, 0, 3 }, { 25, 25, 0, 12, 0, 3 }, - { 26, 26, 0, 12, 0, 3 }, { 27, 27, 0, 12, 0, 3 }, { 28, 28, 0, 12, 0, 3 }, { 29, 29, 0, 12, 0, 3 }, { 30, 30, 0, 12, 0, 3 }, - { 31, 31, 0, 12, 0, 3 }, { 32, 32, 0, 12, 0, 3 }, { 33, 33, 0, 12, 0, 3 }, { 34, 34, 0, 12, 0, 3 }, { 35, 35, 0, 12, 0, 3 }, - { 36, 36, 0, 12, 0, 3 }, { 37, 37, 0, 12, 0, 3 }, { 38, 38, 0, 12, 0, 3 }, { 39, 39, 0, 12, 0, 3 }, { 40, 40, 0, 12, 0, 4 }, - { 41, 41, 0, 12, 0, 4 }, { 42, 42, 0, 12, 0, 4 }, { 43, 43, 0, 12, 0, 4 }, { 44, 44, 0, 12, 0, 4 }, { 45, 45, 0, 12, 0, 4 }, - { 46, 46, 0, 12, 0, 4 }, { 47, 47, 0, 12, 0, 4 }, + 32, { + { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, + { 21, 21, 0, 12, 0, 0 }, { 22, 22, 0, 12, 0, 0 }, { 23, 23, 0, 12, 0, 0 }, { 24, 24, 0, 12, 0, 3 }, { 25, 25, 0, 12, 0, 3 }, + { 26, 26, 0, 12, 0, 3 }, { 27, 27, 0, 12, 0, 3 }, { 28, 28, 0, 12, 0, 3 }, { 29, 29, 0, 12, 0, 3 }, { 30, 30, 0, 12, 0, 3 }, + { 31, 31, 0, 12, 0, 3 }, { 32, 32, 0, 12, 0, 3 }, { 33, 33, 0, 12, 0, 3 }, { 34, 34, 0, 12, 0, 3 }, { 35, 35, 0, 12, 0, 3 }, + { 36, 36, 0, 12, 0, 3 }, { 37, 37, 0, 12, 0, 3 }, { 38, 38, 0, 12, 0, 3 }, { 39, 39, 0, 12, 0, 3 }, { 40, 40, 0, 12, 0, 4 }, + { 41, 41, 0, 12, 0, 4 }, { 42, 42, 0, 12, 0, 4 }, { 43, 43, 0, 12, 0, 4 }, { 44, 44, 0, 12, 0, 4 }, { 45, 45, 0, 12, 0, 4 }, + { 46, 46, 0, 12, 0, 4 }, { 47, 47, 0, 12, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_957F4A = { - 32, { - { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 11, 0, 20, 0, 0 }, - { 21, 10, 0, 20, 0, 0 }, { 22, 9, 0, 20, 0, 0 }, { 23, 8, 0, 20, 0, 0 }, { 24, 7, 0, 20, 0, 3 }, { 25, 6, 0, 20, 0, 3 }, - { 26, 5, 0, 20, 0, 3 }, { 27, 4, 0, 20, 0, 3 }, { 28, 3, 0, 20, 0, 3 }, { 29, 2, 0, 20, 0, 3 }, { 30, 1, 0, 20, 0, 3 }, - { 31, 0, 0, 20, 0, 3 }, { 32, -1, 0, 20, 0, 3 }, { 33, -2, 0, 20, 0, 3 }, { 34, -3, 0, 20, 0, 3 }, { 35, -4, 0, 20, 0, 3 }, - { 36, -5, 0, 20, 0, 3 }, { 37, -6, 0, 20, 0, 3 }, { 38, -7, 0, 20, 0, 3 }, { 39, -8, 0, 20, 0, 3 }, { 40, -9, 0, 20, 0, 4 }, - { 41, -10, 0, 20, 0, 4 }, { 42, -11, 0, 20, 0, 4 }, { 43, -12, 0, 20, 0, 4 }, { 44, -13, 0, 20, 0, 4 }, { 45, -14, 0, 20, 0, 4 }, - { 46, -15, 0, 20, 0, 4 }, { 47, -16, 0, 20, 0, 4 }, + 32, { + { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 11, 0, 20, 0, 0 }, + { 21, 10, 0, 20, 0, 0 }, { 22, 9, 0, 20, 0, 0 }, { 23, 8, 0, 20, 0, 0 }, { 24, 7, 0, 20, 0, 3 }, { 25, 6, 0, 20, 0, 3 }, + { 26, 5, 0, 20, 0, 3 }, { 27, 4, 0, 20, 0, 3 }, { 28, 3, 0, 20, 0, 3 }, { 29, 2, 0, 20, 0, 3 }, { 30, 1, 0, 20, 0, 3 }, + { 31, 0, 0, 20, 0, 3 }, { 32, -1, 0, 20, 0, 3 }, { 33, -2, 0, 20, 0, 3 }, { 34, -3, 0, 20, 0, 3 }, { 35, -4, 0, 20, 0, 3 }, + { 36, -5, 0, 20, 0, 3 }, { 37, -6, 0, 20, 0, 3 }, { 38, -7, 0, 20, 0, 3 }, { 39, -8, 0, 20, 0, 3 }, { 40, -9, 0, 20, 0, 4 }, + { 41, -10, 0, 20, 0, 4 }, { 42, -11, 0, 20, 0, 4 }, { 43, -12, 0, 20, 0, 4 }, { 44, -13, 0, 20, 0, 4 }, { 45, -14, 0, 20, 0, 4 }, + { 46, -15, 0, 20, 0, 4 }, { 47, -16, 0, 20, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95806C = { - 32, { - { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 11, 0, 28, 0, 0 }, - { 10, 10, 0, 28, 0, 0 }, { 9, 9, 0, 28, 0, 0 }, { 8, 8, 0, 28, 0, 0 }, { 7, 7, 0, 28, 0, 3 }, { 6, 6, 0, 28, 0, 3 }, - { 5, 5, 0, 28, 0, 3 }, { 4, 4, 0, 28, 0, 3 }, { 3, 3, 0, 28, 0, 3 }, { 2, 2, 0, 28, 0, 3 }, { 1, 1, 0, 28, 0, 3 }, - { 0, 0, 0, 28, 0, 3 }, { -1, -1, 0, 28, 0, 3 }, { -2, -2, 0, 28, 0, 3 }, { -3, -3, 0, 28, 0, 3 }, { -4, -4, 0, 28, 0, 3 }, - { -5, -5, 0, 28, 0, 3 }, { -6, -6, 0, 28, 0, 3 }, { -7, -7, 0, 28, 0, 3 }, { -8, -8, 0, 28, 0, 3 }, { -9, -9, 0, 28, 0, 4 }, - { -10, -10, 0, 28, 0, 4 }, { -11, -11, 0, 28, 0, 4 }, { -12, -12, 0, 28, 0, 4 }, { -13, -13, 0, 28, 0, 4 }, { -14, -14, 0, 28, 0, 4 }, - { -15, -15, 0, 28, 0, 4 }, { -16, -16, 0, 28, 0, 4 }, + 32, { + { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 11, 0, 28, 0, 0 }, + { 10, 10, 0, 28, 0, 0 }, { 9, 9, 0, 28, 0, 0 }, { 8, 8, 0, 28, 0, 0 }, { 7, 7, 0, 28, 0, 3 }, { 6, 6, 0, 28, 0, 3 }, + { 5, 5, 0, 28, 0, 3 }, { 4, 4, 0, 28, 0, 3 }, { 3, 3, 0, 28, 0, 3 }, { 2, 2, 0, 28, 0, 3 }, { 1, 1, 0, 28, 0, 3 }, + { 0, 0, 0, 28, 0, 3 }, { -1, -1, 0, 28, 0, 3 }, { -2, -2, 0, 28, 0, 3 }, { -3, -3, 0, 28, 0, 3 }, { -4, -4, 0, 28, 0, 3 }, + { -5, -5, 0, 28, 0, 3 }, { -6, -6, 0, 28, 0, 3 }, { -7, -7, 0, 28, 0, 3 }, { -8, -8, 0, 28, 0, 3 }, { -9, -9, 0, 28, 0, 4 }, + { -10, -10, 0, 28, 0, 4 }, { -11, -11, 0, 28, 0, 4 }, { -12, -12, 0, 28, 0, 4 }, { -13, -13, 0, 28, 0, 4 }, { -14, -14, 0, 28, 0, 4 }, + { -15, -15, 0, 28, 0, 4 }, { -16, -16, 0, 28, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95818E = { - 32, { - { 15, 16, 0, 4, 0, 2 }, { 14, 17, 0, 4, 0, 2 }, { 13, 18, 0, 4, 0, 2 }, { 12, 19, 0, 4, 0, 2 }, { 11, 20, 0, 4, 0, 2 }, - { 10, 21, 0, 4, 0, 2 }, { 9, 22, 0, 4, 0, 2 }, { 8, 23, 0, 4, 0, 2 }, { 7, 24, 0, 4, 0, 1 }, { 6, 25, 0, 4, 0, 1 }, - { 5, 26, 0, 4, 0, 1 }, { 4, 27, 0, 4, 0, 1 }, { 3, 28, 0, 4, 0, 1 }, { 2, 29, 0, 4, 0, 1 }, { 1, 30, 0, 4, 0, 1 }, - { 0, 31, 0, 4, 0, 1 }, { -1, 32, 0, 4, 0, 1 }, { -2, 33, 0, 4, 0, 1 }, { -3, 34, 0, 4, 0, 1 }, { -4, 35, 0, 4, 0, 1 }, - { -5, 36, 0, 4, 0, 1 }, { -6, 37, 0, 4, 0, 1 }, { -7, 38, 0, 4, 0, 1 }, { -8, 39, 0, 4, 0, 1 }, { -9, 40, 0, 4, 0, 0 }, - { -10, 41, 0, 4, 0, 0 }, { -11, 42, 0, 4, 0, 0 }, { -12, 43, 0, 4, 0, 0 }, { -13, 44, 0, 4, 0, 0 }, { -14, 45, 0, 4, 0, 0 }, - { -15, 46, 0, 4, 0, 0 }, { -16, 47, 0, 4, 0, 0 }, + 32, { + { 15, 16, 0, 4, 0, 2 }, { 14, 17, 0, 4, 0, 2 }, { 13, 18, 0, 4, 0, 2 }, { 12, 19, 0, 4, 0, 2 }, { 11, 20, 0, 4, 0, 2 }, + { 10, 21, 0, 4, 0, 2 }, { 9, 22, 0, 4, 0, 2 }, { 8, 23, 0, 4, 0, 2 }, { 7, 24, 0, 4, 0, 1 }, { 6, 25, 0, 4, 0, 1 }, + { 5, 26, 0, 4, 0, 1 }, { 4, 27, 0, 4, 0, 1 }, { 3, 28, 0, 4, 0, 1 }, { 2, 29, 0, 4, 0, 1 }, { 1, 30, 0, 4, 0, 1 }, + { 0, 31, 0, 4, 0, 1 }, { -1, 32, 0, 4, 0, 1 }, { -2, 33, 0, 4, 0, 1 }, { -3, 34, 0, 4, 0, 1 }, { -4, 35, 0, 4, 0, 1 }, + { -5, 36, 0, 4, 0, 1 }, { -6, 37, 0, 4, 0, 1 }, { -7, 38, 0, 4, 0, 1 }, { -8, 39, 0, 4, 0, 1 }, { -9, 40, 0, 4, 0, 0 }, + { -10, 41, 0, 4, 0, 0 }, { -11, 42, 0, 4, 0, 0 }, { -12, 43, 0, 4, 0, 0 }, { -13, 44, 0, 4, 0, 0 }, { -14, 45, 0, 4, 0, 0 }, + { -15, 46, 0, 4, 0, 0 }, { -16, 47, 0, 4, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9582B0 = { - 32, { - { 16, 16, 0, 12, 0, 2 }, { 17, 17, 0, 12, 0, 2 }, { 18, 18, 0, 12, 0, 2 }, { 19, 19, 0, 12, 0, 2 }, { 20, 20, 0, 12, 0, 2 }, - { 21, 21, 0, 12, 0, 2 }, { 22, 22, 0, 12, 0, 2 }, { 23, 23, 0, 12, 0, 2 }, { 24, 24, 0, 12, 0, 1 }, { 25, 25, 0, 12, 0, 1 }, - { 26, 26, 0, 12, 0, 1 }, { 27, 27, 0, 12, 0, 1 }, { 28, 28, 0, 12, 0, 1 }, { 29, 29, 0, 12, 0, 1 }, { 30, 30, 0, 12, 0, 1 }, - { 31, 31, 0, 12, 0, 1 }, { 32, 32, 0, 12, 0, 1 }, { 33, 33, 0, 12, 0, 1 }, { 34, 34, 0, 12, 0, 1 }, { 35, 35, 0, 12, 0, 1 }, - { 36, 36, 0, 12, 0, 1 }, { 37, 37, 0, 12, 0, 1 }, { 38, 38, 0, 12, 0, 1 }, { 39, 39, 0, 12, 0, 1 }, { 40, 40, 0, 12, 0, 0 }, - { 41, 41, 0, 12, 0, 0 }, { 42, 42, 0, 12, 0, 0 }, { 43, 43, 0, 12, 0, 0 }, { 44, 44, 0, 12, 0, 0 }, { 45, 45, 0, 12, 0, 0 }, - { 46, 46, 0, 12, 0, 0 }, { 47, 47, 0, 12, 0, 0 }, + 32, { + { 16, 16, 0, 12, 0, 2 }, { 17, 17, 0, 12, 0, 2 }, { 18, 18, 0, 12, 0, 2 }, { 19, 19, 0, 12, 0, 2 }, { 20, 20, 0, 12, 0, 2 }, + { 21, 21, 0, 12, 0, 2 }, { 22, 22, 0, 12, 0, 2 }, { 23, 23, 0, 12, 0, 2 }, { 24, 24, 0, 12, 0, 1 }, { 25, 25, 0, 12, 0, 1 }, + { 26, 26, 0, 12, 0, 1 }, { 27, 27, 0, 12, 0, 1 }, { 28, 28, 0, 12, 0, 1 }, { 29, 29, 0, 12, 0, 1 }, { 30, 30, 0, 12, 0, 1 }, + { 31, 31, 0, 12, 0, 1 }, { 32, 32, 0, 12, 0, 1 }, { 33, 33, 0, 12, 0, 1 }, { 34, 34, 0, 12, 0, 1 }, { 35, 35, 0, 12, 0, 1 }, + { 36, 36, 0, 12, 0, 1 }, { 37, 37, 0, 12, 0, 1 }, { 38, 38, 0, 12, 0, 1 }, { 39, 39, 0, 12, 0, 1 }, { 40, 40, 0, 12, 0, 0 }, + { 41, 41, 0, 12, 0, 0 }, { 42, 42, 0, 12, 0, 0 }, { 43, 43, 0, 12, 0, 0 }, { 44, 44, 0, 12, 0, 0 }, { 45, 45, 0, 12, 0, 0 }, + { 46, 46, 0, 12, 0, 0 }, { 47, 47, 0, 12, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9583D2 = { - 32, { - { 16, 15, 0, 20, 0, 2 }, { 17, 14, 0, 20, 0, 2 }, { 18, 13, 0, 20, 0, 2 }, { 19, 12, 0, 20, 0, 2 }, { 20, 11, 0, 20, 0, 2 }, - { 21, 10, 0, 20, 0, 2 }, { 22, 9, 0, 20, 0, 2 }, { 23, 8, 0, 20, 0, 2 }, { 24, 7, 0, 20, 0, 1 }, { 25, 6, 0, 20, 0, 1 }, - { 26, 5, 0, 20, 0, 1 }, { 27, 4, 0, 20, 0, 1 }, { 28, 3, 0, 20, 0, 1 }, { 29, 2, 0, 20, 0, 1 }, { 30, 1, 0, 20, 0, 1 }, - { 31, 0, 0, 20, 0, 1 }, { 32, -1, 0, 20, 0, 1 }, { 33, -2, 0, 20, 0, 1 }, { 34, -3, 0, 20, 0, 1 }, { 35, -4, 0, 20, 0, 1 }, - { 36, -5, 0, 20, 0, 1 }, { 37, -6, 0, 20, 0, 1 }, { 38, -7, 0, 20, 0, 1 }, { 39, -8, 0, 20, 0, 1 }, { 40, -9, 0, 20, 0, 0 }, - { 41, -10, 0, 20, 0, 0 }, { 42, -11, 0, 20, 0, 0 }, { 43, -12, 0, 20, 0, 0 }, { 44, -13, 0, 20, 0, 0 }, { 45, -14, 0, 20, 0, 0 }, - { 46, -15, 0, 20, 0, 0 }, { 47, -16, 0, 20, 0, 0 }, + 32, { + { 16, 15, 0, 20, 0, 2 }, { 17, 14, 0, 20, 0, 2 }, { 18, 13, 0, 20, 0, 2 }, { 19, 12, 0, 20, 0, 2 }, { 20, 11, 0, 20, 0, 2 }, + { 21, 10, 0, 20, 0, 2 }, { 22, 9, 0, 20, 0, 2 }, { 23, 8, 0, 20, 0, 2 }, { 24, 7, 0, 20, 0, 1 }, { 25, 6, 0, 20, 0, 1 }, + { 26, 5, 0, 20, 0, 1 }, { 27, 4, 0, 20, 0, 1 }, { 28, 3, 0, 20, 0, 1 }, { 29, 2, 0, 20, 0, 1 }, { 30, 1, 0, 20, 0, 1 }, + { 31, 0, 0, 20, 0, 1 }, { 32, -1, 0, 20, 0, 1 }, { 33, -2, 0, 20, 0, 1 }, { 34, -3, 0, 20, 0, 1 }, { 35, -4, 0, 20, 0, 1 }, + { 36, -5, 0, 20, 0, 1 }, { 37, -6, 0, 20, 0, 1 }, { 38, -7, 0, 20, 0, 1 }, { 39, -8, 0, 20, 0, 1 }, { 40, -9, 0, 20, 0, 0 }, + { 41, -10, 0, 20, 0, 0 }, { 42, -11, 0, 20, 0, 0 }, { 43, -12, 0, 20, 0, 0 }, { 44, -13, 0, 20, 0, 0 }, { 45, -14, 0, 20, 0, 0 }, + { 46, -15, 0, 20, 0, 0 }, { 47, -16, 0, 20, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9584F4 = { - 32, { - { 15, 15, 0, 28, 0, 2 }, { 14, 14, 0, 28, 0, 2 }, { 13, 13, 0, 28, 0, 2 }, { 12, 12, 0, 28, 0, 2 }, { 11, 11, 0, 28, 0, 2 }, - { 10, 10, 0, 28, 0, 2 }, { 9, 9, 0, 28, 0, 2 }, { 8, 8, 0, 28, 0, 2 }, { 7, 7, 0, 28, 0, 1 }, { 6, 6, 0, 28, 0, 1 }, - { 5, 5, 0, 28, 0, 1 }, { 4, 4, 0, 28, 0, 1 }, { 3, 3, 0, 28, 0, 1 }, { 2, 2, 0, 28, 0, 1 }, { 1, 1, 0, 28, 0, 1 }, - { 0, 0, 0, 28, 0, 1 }, { -1, -1, 0, 28, 0, 1 }, { -2, -2, 0, 28, 0, 1 }, { -3, -3, 0, 28, 0, 1 }, { -4, -4, 0, 28, 0, 1 }, - { -5, -5, 0, 28, 0, 1 }, { -6, -6, 0, 28, 0, 1 }, { -7, -7, 0, 28, 0, 1 }, { -8, -8, 0, 28, 0, 1 }, { -9, -9, 0, 28, 0, 0 }, - { -10, -10, 0, 28, 0, 0 }, { -11, -11, 0, 28, 0, 0 }, { -12, -12, 0, 28, 0, 0 }, { -13, -13, 0, 28, 0, 0 }, { -14, -14, 0, 28, 0, 0 }, - { -15, -15, 0, 28, 0, 0 }, { -16, -16, 0, 28, 0, 0 }, + 32, { + { 15, 15, 0, 28, 0, 2 }, { 14, 14, 0, 28, 0, 2 }, { 13, 13, 0, 28, 0, 2 }, { 12, 12, 0, 28, 0, 2 }, { 11, 11, 0, 28, 0, 2 }, + { 10, 10, 0, 28, 0, 2 }, { 9, 9, 0, 28, 0, 2 }, { 8, 8, 0, 28, 0, 2 }, { 7, 7, 0, 28, 0, 1 }, { 6, 6, 0, 28, 0, 1 }, + { 5, 5, 0, 28, 0, 1 }, { 4, 4, 0, 28, 0, 1 }, { 3, 3, 0, 28, 0, 1 }, { 2, 2, 0, 28, 0, 1 }, { 1, 1, 0, 28, 0, 1 }, + { 0, 0, 0, 28, 0, 1 }, { -1, -1, 0, 28, 0, 1 }, { -2, -2, 0, 28, 0, 1 }, { -3, -3, 0, 28, 0, 1 }, { -4, -4, 0, 28, 0, 1 }, + { -5, -5, 0, 28, 0, 1 }, { -6, -6, 0, 28, 0, 1 }, { -7, -7, 0, 28, 0, 1 }, { -8, -8, 0, 28, 0, 1 }, { -9, -9, 0, 28, 0, 0 }, + { -10, -10, 0, 28, 0, 0 }, { -11, -11, 0, 28, 0, 0 }, { -12, -12, 0, 28, 0, 0 }, { -13, -13, 0, 28, 0, 0 }, { -14, -14, 0, 28, 0, 0 }, + { -15, -15, 0, 28, 0, 0 }, { -16, -16, 0, 28, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_958616 = { - 32, { - { 15, 16, 0, 4, 0, 4 }, { 14, 17, 0, 4, 0, 4 }, { 13, 18, 0, 4, 0, 4 }, { 12, 19, 0, 4, 0, 4 }, { 11, 20, 0, 4, 0, 4 }, - { 10, 21, 0, 4, 0, 4 }, { 9, 22, 0, 4, 0, 4 }, { 8, 23, 0, 4, 0, 4 }, { 7, 24, 0, 4, 0, 3 }, { 6, 25, 0, 4, 0, 3 }, - { 5, 26, 0, 4, 0, 3 }, { 4, 27, 0, 4, 0, 3 }, { 3, 28, 0, 4, 0, 3 }, { 2, 29, 0, 4, 0, 3 }, { 1, 30, 0, 4, 0, 3 }, - { 0, 31, 0, 4, 0, 3 }, { -1, 32, 0, 4, 0, 3 }, { -2, 33, 0, 4, 0, 3 }, { -3, 34, 0, 4, 0, 3 }, { -4, 35, 0, 4, 0, 3 }, - { -5, 36, 0, 4, 0, 3 }, { -6, 37, 0, 4, 0, 3 }, { -7, 38, 0, 4, 0, 3 }, { -8, 39, 0, 4, 0, 3 }, { -9, 40, 0, 4, 0, 0 }, - { -10, 41, 0, 4, 0, 0 }, { -11, 42, 0, 4, 0, 0 }, { -12, 43, 0, 4, 0, 0 }, { -13, 44, 0, 4, 0, 0 }, { -14, 45, 0, 4, 0, 0 }, - { -15, 46, 0, 4, 0, 0 }, { -16, 47, 0, 4, 0, 0 }, + 32, { + { 15, 16, 0, 4, 0, 4 }, { 14, 17, 0, 4, 0, 4 }, { 13, 18, 0, 4, 0, 4 }, { 12, 19, 0, 4, 0, 4 }, { 11, 20, 0, 4, 0, 4 }, + { 10, 21, 0, 4, 0, 4 }, { 9, 22, 0, 4, 0, 4 }, { 8, 23, 0, 4, 0, 4 }, { 7, 24, 0, 4, 0, 3 }, { 6, 25, 0, 4, 0, 3 }, + { 5, 26, 0, 4, 0, 3 }, { 4, 27, 0, 4, 0, 3 }, { 3, 28, 0, 4, 0, 3 }, { 2, 29, 0, 4, 0, 3 }, { 1, 30, 0, 4, 0, 3 }, + { 0, 31, 0, 4, 0, 3 }, { -1, 32, 0, 4, 0, 3 }, { -2, 33, 0, 4, 0, 3 }, { -3, 34, 0, 4, 0, 3 }, { -4, 35, 0, 4, 0, 3 }, + { -5, 36, 0, 4, 0, 3 }, { -6, 37, 0, 4, 0, 3 }, { -7, 38, 0, 4, 0, 3 }, { -8, 39, 0, 4, 0, 3 }, { -9, 40, 0, 4, 0, 0 }, + { -10, 41, 0, 4, 0, 0 }, { -11, 42, 0, 4, 0, 0 }, { -12, 43, 0, 4, 0, 0 }, { -13, 44, 0, 4, 0, 0 }, { -14, 45, 0, 4, 0, 0 }, + { -15, 46, 0, 4, 0, 0 }, { -16, 47, 0, 4, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_958738 = { - 32, { - { 16, 16, 0, 12, 0, 4 }, { 17, 17, 0, 12, 0, 4 }, { 18, 18, 0, 12, 0, 4 }, { 19, 19, 0, 12, 0, 4 }, { 20, 20, 0, 12, 0, 4 }, - { 21, 21, 0, 12, 0, 4 }, { 22, 22, 0, 12, 0, 4 }, { 23, 23, 0, 12, 0, 4 }, { 24, 24, 0, 12, 0, 3 }, { 25, 25, 0, 12, 0, 3 }, - { 26, 26, 0, 12, 0, 3 }, { 27, 27, 0, 12, 0, 3 }, { 28, 28, 0, 12, 0, 3 }, { 29, 29, 0, 12, 0, 3 }, { 30, 30, 0, 12, 0, 3 }, - { 31, 31, 0, 12, 0, 3 }, { 32, 32, 0, 12, 0, 3 }, { 33, 33, 0, 12, 0, 3 }, { 34, 34, 0, 12, 0, 3 }, { 35, 35, 0, 12, 0, 3 }, - { 36, 36, 0, 12, 0, 3 }, { 37, 37, 0, 12, 0, 3 }, { 38, 38, 0, 12, 0, 3 }, { 39, 39, 0, 12, 0, 3 }, { 40, 40, 0, 12, 0, 0 }, - { 41, 41, 0, 12, 0, 0 }, { 42, 42, 0, 12, 0, 0 }, { 43, 43, 0, 12, 0, 0 }, { 44, 44, 0, 12, 0, 0 }, { 45, 45, 0, 12, 0, 0 }, - { 46, 46, 0, 12, 0, 0 }, { 47, 47, 0, 12, 0, 0 }, + 32, { + { 16, 16, 0, 12, 0, 4 }, { 17, 17, 0, 12, 0, 4 }, { 18, 18, 0, 12, 0, 4 }, { 19, 19, 0, 12, 0, 4 }, { 20, 20, 0, 12, 0, 4 }, + { 21, 21, 0, 12, 0, 4 }, { 22, 22, 0, 12, 0, 4 }, { 23, 23, 0, 12, 0, 4 }, { 24, 24, 0, 12, 0, 3 }, { 25, 25, 0, 12, 0, 3 }, + { 26, 26, 0, 12, 0, 3 }, { 27, 27, 0, 12, 0, 3 }, { 28, 28, 0, 12, 0, 3 }, { 29, 29, 0, 12, 0, 3 }, { 30, 30, 0, 12, 0, 3 }, + { 31, 31, 0, 12, 0, 3 }, { 32, 32, 0, 12, 0, 3 }, { 33, 33, 0, 12, 0, 3 }, { 34, 34, 0, 12, 0, 3 }, { 35, 35, 0, 12, 0, 3 }, + { 36, 36, 0, 12, 0, 3 }, { 37, 37, 0, 12, 0, 3 }, { 38, 38, 0, 12, 0, 3 }, { 39, 39, 0, 12, 0, 3 }, { 40, 40, 0, 12, 0, 0 }, + { 41, 41, 0, 12, 0, 0 }, { 42, 42, 0, 12, 0, 0 }, { 43, 43, 0, 12, 0, 0 }, { 44, 44, 0, 12, 0, 0 }, { 45, 45, 0, 12, 0, 0 }, + { 46, 46, 0, 12, 0, 0 }, { 47, 47, 0, 12, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95885A = { - 32, { - { 16, 15, 0, 20, 0, 4 }, { 17, 14, 0, 20, 0, 4 }, { 18, 13, 0, 20, 0, 4 }, { 19, 12, 0, 20, 0, 4 }, { 20, 11, 0, 20, 0, 4 }, - { 21, 10, 0, 20, 0, 4 }, { 22, 9, 0, 20, 0, 4 }, { 23, 8, 0, 20, 0, 4 }, { 24, 7, 0, 20, 0, 3 }, { 25, 6, 0, 20, 0, 3 }, - { 26, 5, 0, 20, 0, 3 }, { 27, 4, 0, 20, 0, 3 }, { 28, 3, 0, 20, 0, 3 }, { 29, 2, 0, 20, 0, 3 }, { 30, 1, 0, 20, 0, 3 }, - { 31, 0, 0, 20, 0, 3 }, { 32, -1, 0, 20, 0, 3 }, { 33, -2, 0, 20, 0, 3 }, { 34, -3, 0, 20, 0, 3 }, { 35, -4, 0, 20, 0, 3 }, - { 36, -5, 0, 20, 0, 3 }, { 37, -6, 0, 20, 0, 3 }, { 38, -7, 0, 20, 0, 3 }, { 39, -8, 0, 20, 0, 3 }, { 40, -9, 0, 20, 0, 0 }, - { 41, -10, 0, 20, 0, 0 }, { 42, -11, 0, 20, 0, 0 }, { 43, -12, 0, 20, 0, 0 }, { 44, -13, 0, 20, 0, 0 }, { 45, -14, 0, 20, 0, 0 }, - { 46, -15, 0, 20, 0, 0 }, { 47, -16, 0, 20, 0, 0 }, + 32, { + { 16, 15, 0, 20, 0, 4 }, { 17, 14, 0, 20, 0, 4 }, { 18, 13, 0, 20, 0, 4 }, { 19, 12, 0, 20, 0, 4 }, { 20, 11, 0, 20, 0, 4 }, + { 21, 10, 0, 20, 0, 4 }, { 22, 9, 0, 20, 0, 4 }, { 23, 8, 0, 20, 0, 4 }, { 24, 7, 0, 20, 0, 3 }, { 25, 6, 0, 20, 0, 3 }, + { 26, 5, 0, 20, 0, 3 }, { 27, 4, 0, 20, 0, 3 }, { 28, 3, 0, 20, 0, 3 }, { 29, 2, 0, 20, 0, 3 }, { 30, 1, 0, 20, 0, 3 }, + { 31, 0, 0, 20, 0, 3 }, { 32, -1, 0, 20, 0, 3 }, { 33, -2, 0, 20, 0, 3 }, { 34, -3, 0, 20, 0, 3 }, { 35, -4, 0, 20, 0, 3 }, + { 36, -5, 0, 20, 0, 3 }, { 37, -6, 0, 20, 0, 3 }, { 38, -7, 0, 20, 0, 3 }, { 39, -8, 0, 20, 0, 3 }, { 40, -9, 0, 20, 0, 0 }, + { 41, -10, 0, 20, 0, 0 }, { 42, -11, 0, 20, 0, 0 }, { 43, -12, 0, 20, 0, 0 }, { 44, -13, 0, 20, 0, 0 }, { 45, -14, 0, 20, 0, 0 }, + { 46, -15, 0, 20, 0, 0 }, { 47, -16, 0, 20, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95897C = { - 32, { - { 15, 15, 0, 28, 0, 4 }, { 14, 14, 0, 28, 0, 4 }, { 13, 13, 0, 28, 0, 4 }, { 12, 12, 0, 28, 0, 4 }, { 11, 11, 0, 28, 0, 4 }, - { 10, 10, 0, 28, 0, 4 }, { 9, 9, 0, 28, 0, 4 }, { 8, 8, 0, 28, 0, 4 }, { 7, 7, 0, 28, 0, 3 }, { 6, 6, 0, 28, 0, 3 }, - { 5, 5, 0, 28, 0, 3 }, { 4, 4, 0, 28, 0, 3 }, { 3, 3, 0, 28, 0, 3 }, { 2, 2, 0, 28, 0, 3 }, { 1, 1, 0, 28, 0, 3 }, - { 0, 0, 0, 28, 0, 3 }, { -1, -1, 0, 28, 0, 3 }, { -2, -2, 0, 28, 0, 3 }, { -3, -3, 0, 28, 0, 3 }, { -4, -4, 0, 28, 0, 3 }, - { -5, -5, 0, 28, 0, 3 }, { -6, -6, 0, 28, 0, 3 }, { -7, -7, 0, 28, 0, 3 }, { -8, -8, 0, 28, 0, 3 }, { -9, -9, 0, 28, 0, 0 }, - { -10, -10, 0, 28, 0, 0 }, { -11, -11, 0, 28, 0, 0 }, { -12, -12, 0, 28, 0, 0 }, { -13, -13, 0, 28, 0, 0 }, { -14, -14, 0, 28, 0, 0 }, - { -15, -15, 0, 28, 0, 0 }, { -16, -16, 0, 28, 0, 0 }, + 32, { + { 15, 15, 0, 28, 0, 4 }, { 14, 14, 0, 28, 0, 4 }, { 13, 13, 0, 28, 0, 4 }, { 12, 12, 0, 28, 0, 4 }, { 11, 11, 0, 28, 0, 4 }, + { 10, 10, 0, 28, 0, 4 }, { 9, 9, 0, 28, 0, 4 }, { 8, 8, 0, 28, 0, 4 }, { 7, 7, 0, 28, 0, 3 }, { 6, 6, 0, 28, 0, 3 }, + { 5, 5, 0, 28, 0, 3 }, { 4, 4, 0, 28, 0, 3 }, { 3, 3, 0, 28, 0, 3 }, { 2, 2, 0, 28, 0, 3 }, { 1, 1, 0, 28, 0, 3 }, + { 0, 0, 0, 28, 0, 3 }, { -1, -1, 0, 28, 0, 3 }, { -2, -2, 0, 28, 0, 3 }, { -3, -3, 0, 28, 0, 3 }, { -4, -4, 0, 28, 0, 3 }, + { -5, -5, 0, 28, 0, 3 }, { -6, -6, 0, 28, 0, 3 }, { -7, -7, 0, 28, 0, 3 }, { -8, -8, 0, 28, 0, 3 }, { -9, -9, 0, 28, 0, 0 }, + { -10, -10, 0, 28, 0, 0 }, { -11, -11, 0, 28, 0, 0 }, { -12, -12, 0, 28, 0, 0 }, { -13, -13, 0, 28, 0, 0 }, { -14, -14, 0, 28, 0, 0 }, + { -15, -15, 0, 28, 0, 0 }, { -16, -16, 0, 28, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_958A9E = { - 32, { - { 15, 16, 0, 4, 0, 2 }, { 14, 17, 0, 4, 0, 2 }, { 13, 18, 0, 4, 0, 2 }, { 12, 19, 0, 4, 0, 2 }, { 11, 20, 0, 4, 0, 2 }, - { 10, 21, 0, 4, 0, 2 }, { 9, 22, 0, 4, 0, 2 }, { 8, 23, 0, 4, 0, 2 }, { 7, 24, 0, 4, 50, 1 }, { 6, 25, 0, 4, 50, 1 }, - { 5, 26, 1, 4, 50, 1 }, { 4, 27, 1, 4, 50, 1 }, { 3, 28, 1, 4, 50, 1 }, { 2, 29, 1, 4, 50, 1 }, { 1, 30, 1, 4, 50, 1 }, - { 0, 31, 1, 4, 50, 1 }, { -1, 32, 2, 4, 50, 1 }, { -2, 33, 2, 4, 50, 1 }, { -3, 34, 2, 4, 50, 1 }, { -4, 35, 2, 4, 50, 1 }, - { -5, 36, 3, 4, 50, 1 }, { -6, 37, 3, 4, 50, 1 }, { -7, 38, 3, 4, 50, 1 }, { -8, 39, 4, 4, 50, 1 }, { -9, 40, 4, 4, 51, 0 }, - { -10, 41, 4, 4, 51, 0 }, { -11, 42, 5, 4, 51, 0 }, { -12, 43, 5, 4, 51, 0 }, { -13, 44, 6, 4, 51, 0 }, { -14, 45, 6, 4, 51, 0 }, - { -15, 46, 7, 4, 51, 0 }, { -16, 47, 7, 4, 51, 0 }, + 32, { + { 15, 16, 0, 4, 0, 2 }, { 14, 17, 0, 4, 0, 2 }, { 13, 18, 0, 4, 0, 2 }, { 12, 19, 0, 4, 0, 2 }, { 11, 20, 0, 4, 0, 2 }, + { 10, 21, 0, 4, 0, 2 }, { 9, 22, 0, 4, 0, 2 }, { 8, 23, 0, 4, 0, 2 }, { 7, 24, 0, 4, 50, 1 }, { 6, 25, 0, 4, 50, 1 }, + { 5, 26, 1, 4, 50, 1 }, { 4, 27, 1, 4, 50, 1 }, { 3, 28, 1, 4, 50, 1 }, { 2, 29, 1, 4, 50, 1 }, { 1, 30, 1, 4, 50, 1 }, + { 0, 31, 1, 4, 50, 1 }, { -1, 32, 2, 4, 50, 1 }, { -2, 33, 2, 4, 50, 1 }, { -3, 34, 2, 4, 50, 1 }, { -4, 35, 2, 4, 50, 1 }, + { -5, 36, 3, 4, 50, 1 }, { -6, 37, 3, 4, 50, 1 }, { -7, 38, 3, 4, 50, 1 }, { -8, 39, 4, 4, 50, 1 }, { -9, 40, 4, 4, 51, 0 }, + { -10, 41, 4, 4, 51, 0 }, { -11, 42, 5, 4, 51, 0 }, { -12, 43, 5, 4, 51, 0 }, { -13, 44, 6, 4, 51, 0 }, { -14, 45, 6, 4, 51, 0 }, + { -15, 46, 7, 4, 51, 0 }, { -16, 47, 7, 4, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_958BC0 = { - 32, { - { 16, 16, 0, 12, 0, 2 }, { 17, 17, 0, 12, 0, 2 }, { 18, 18, 0, 12, 0, 2 }, { 19, 19, 0, 12, 0, 2 }, { 20, 20, 0, 12, 0, 2 }, - { 21, 21, 0, 12, 0, 2 }, { 22, 22, 0, 12, 0, 2 }, { 23, 23, 0, 12, 0, 2 }, { 24, 24, 0, 12, 50, 1 }, { 25, 25, 0, 12, 50, 1 }, - { 26, 26, 1, 12, 50, 1 }, { 27, 27, 1, 12, 50, 1 }, { 28, 28, 1, 12, 50, 1 }, { 29, 29, 1, 12, 50, 1 }, { 30, 30, 1, 12, 50, 1 }, - { 31, 31, 1, 12, 50, 1 }, { 32, 32, 2, 12, 50, 1 }, { 33, 33, 2, 12, 50, 1 }, { 34, 34, 2, 12, 50, 1 }, { 35, 35, 2, 12, 50, 1 }, - { 36, 36, 3, 12, 50, 1 }, { 37, 37, 3, 12, 50, 1 }, { 38, 38, 3, 12, 50, 1 }, { 39, 39, 4, 12, 50, 1 }, { 40, 40, 4, 12, 51, 0 }, - { 41, 41, 4, 12, 51, 0 }, { 42, 42, 5, 12, 51, 0 }, { 43, 43, 5, 12, 51, 0 }, { 44, 44, 6, 12, 51, 0 }, { 45, 45, 6, 12, 51, 0 }, - { 46, 46, 7, 12, 51, 0 }, { 47, 47, 7, 12, 51, 0 }, + 32, { + { 16, 16, 0, 12, 0, 2 }, { 17, 17, 0, 12, 0, 2 }, { 18, 18, 0, 12, 0, 2 }, { 19, 19, 0, 12, 0, 2 }, { 20, 20, 0, 12, 0, 2 }, + { 21, 21, 0, 12, 0, 2 }, { 22, 22, 0, 12, 0, 2 }, { 23, 23, 0, 12, 0, 2 }, { 24, 24, 0, 12, 50, 1 }, { 25, 25, 0, 12, 50, 1 }, + { 26, 26, 1, 12, 50, 1 }, { 27, 27, 1, 12, 50, 1 }, { 28, 28, 1, 12, 50, 1 }, { 29, 29, 1, 12, 50, 1 }, { 30, 30, 1, 12, 50, 1 }, + { 31, 31, 1, 12, 50, 1 }, { 32, 32, 2, 12, 50, 1 }, { 33, 33, 2, 12, 50, 1 }, { 34, 34, 2, 12, 50, 1 }, { 35, 35, 2, 12, 50, 1 }, + { 36, 36, 3, 12, 50, 1 }, { 37, 37, 3, 12, 50, 1 }, { 38, 38, 3, 12, 50, 1 }, { 39, 39, 4, 12, 50, 1 }, { 40, 40, 4, 12, 51, 0 }, + { 41, 41, 4, 12, 51, 0 }, { 42, 42, 5, 12, 51, 0 }, { 43, 43, 5, 12, 51, 0 }, { 44, 44, 6, 12, 51, 0 }, { 45, 45, 6, 12, 51, 0 }, + { 46, 46, 7, 12, 51, 0 }, { 47, 47, 7, 12, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_958CE2 = { - 32, { - { 16, 15, 0, 20, 0, 2 }, { 17, 14, 0, 20, 0, 2 }, { 18, 13, 0, 20, 0, 2 }, { 19, 12, 0, 20, 0, 2 }, { 20, 11, 0, 20, 0, 2 }, - { 21, 10, 0, 20, 0, 2 }, { 22, 9, 0, 20, 0, 2 }, { 23, 8, 0, 20, 0, 2 }, { 24, 7, 0, 20, 50, 1 }, { 25, 6, 0, 20, 50, 1 }, - { 26, 5, 1, 20, 50, 1 }, { 27, 4, 1, 20, 50, 1 }, { 28, 3, 1, 20, 50, 1 }, { 29, 2, 1, 20, 50, 1 }, { 30, 1, 1, 20, 50, 1 }, - { 31, 0, 1, 20, 50, 1 }, { 32, -1, 2, 20, 50, 1 }, { 33, -2, 2, 20, 50, 1 }, { 34, -3, 2, 20, 50, 1 }, { 35, -4, 2, 20, 50, 1 }, - { 36, -5, 3, 20, 50, 1 }, { 37, -6, 3, 20, 50, 1 }, { 38, -7, 3, 20, 50, 1 }, { 39, -8, 4, 20, 50, 1 }, { 40, -9, 4, 20, 51, 0 }, - { 41, -10, 4, 20, 51, 0 }, { 42, -11, 5, 20, 51, 0 }, { 43, -12, 5, 20, 51, 0 }, { 44, -13, 6, 20, 51, 0 }, { 45, -14, 6, 20, 51, 0 }, - { 46, -15, 7, 20, 51, 0 }, { 47, -16, 7, 20, 51, 0 }, + 32, { + { 16, 15, 0, 20, 0, 2 }, { 17, 14, 0, 20, 0, 2 }, { 18, 13, 0, 20, 0, 2 }, { 19, 12, 0, 20, 0, 2 }, { 20, 11, 0, 20, 0, 2 }, + { 21, 10, 0, 20, 0, 2 }, { 22, 9, 0, 20, 0, 2 }, { 23, 8, 0, 20, 0, 2 }, { 24, 7, 0, 20, 50, 1 }, { 25, 6, 0, 20, 50, 1 }, + { 26, 5, 1, 20, 50, 1 }, { 27, 4, 1, 20, 50, 1 }, { 28, 3, 1, 20, 50, 1 }, { 29, 2, 1, 20, 50, 1 }, { 30, 1, 1, 20, 50, 1 }, + { 31, 0, 1, 20, 50, 1 }, { 32, -1, 2, 20, 50, 1 }, { 33, -2, 2, 20, 50, 1 }, { 34, -3, 2, 20, 50, 1 }, { 35, -4, 2, 20, 50, 1 }, + { 36, -5, 3, 20, 50, 1 }, { 37, -6, 3, 20, 50, 1 }, { 38, -7, 3, 20, 50, 1 }, { 39, -8, 4, 20, 50, 1 }, { 40, -9, 4, 20, 51, 0 }, + { 41, -10, 4, 20, 51, 0 }, { 42, -11, 5, 20, 51, 0 }, { 43, -12, 5, 20, 51, 0 }, { 44, -13, 6, 20, 51, 0 }, { 45, -14, 6, 20, 51, 0 }, + { 46, -15, 7, 20, 51, 0 }, { 47, -16, 7, 20, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_958E04 = { - 32, { - { 15, 15, 0, 28, 0, 2 }, { 14, 14, 0, 28, 0, 2 }, { 13, 13, 0, 28, 0, 2 }, { 12, 12, 0, 28, 0, 2 }, { 11, 11, 0, 28, 0, 2 }, - { 10, 10, 0, 28, 0, 2 }, { 9, 9, 0, 28, 0, 2 }, { 8, 8, 0, 28, 0, 2 }, { 7, 7, 0, 28, 50, 1 }, { 6, 6, 0, 28, 50, 1 }, - { 5, 5, 1, 28, 50, 1 }, { 4, 4, 1, 28, 50, 1 }, { 3, 3, 1, 28, 50, 1 }, { 2, 2, 1, 28, 50, 1 }, { 1, 1, 1, 28, 50, 1 }, - { 0, 0, 1, 28, 50, 1 }, { -1, -1, 2, 28, 50, 1 }, { -2, -2, 2, 28, 50, 1 }, { -3, -3, 2, 28, 50, 1 }, { -4, -4, 2, 28, 50, 1 }, - { -5, -5, 3, 28, 50, 1 }, { -6, -6, 3, 28, 50, 1 }, { -7, -7, 3, 28, 50, 1 }, { -8, -8, 4, 28, 50, 1 }, { -9, -9, 4, 28, 51, 0 }, - { -10, -10, 4, 28, 51, 0 }, { -11, -11, 5, 28, 51, 0 }, { -12, -12, 5, 28, 51, 0 }, { -13, -13, 6, 28, 51, 0 }, { -14, -14, 6, 28, 51, 0 }, - { -15, -15, 7, 28, 51, 0 }, { -16, -16, 7, 28, 51, 0 }, + 32, { + { 15, 15, 0, 28, 0, 2 }, { 14, 14, 0, 28, 0, 2 }, { 13, 13, 0, 28, 0, 2 }, { 12, 12, 0, 28, 0, 2 }, { 11, 11, 0, 28, 0, 2 }, + { 10, 10, 0, 28, 0, 2 }, { 9, 9, 0, 28, 0, 2 }, { 8, 8, 0, 28, 0, 2 }, { 7, 7, 0, 28, 50, 1 }, { 6, 6, 0, 28, 50, 1 }, + { 5, 5, 1, 28, 50, 1 }, { 4, 4, 1, 28, 50, 1 }, { 3, 3, 1, 28, 50, 1 }, { 2, 2, 1, 28, 50, 1 }, { 1, 1, 1, 28, 50, 1 }, + { 0, 0, 1, 28, 50, 1 }, { -1, -1, 2, 28, 50, 1 }, { -2, -2, 2, 28, 50, 1 }, { -3, -3, 2, 28, 50, 1 }, { -4, -4, 2, 28, 50, 1 }, + { -5, -5, 3, 28, 50, 1 }, { -6, -6, 3, 28, 50, 1 }, { -7, -7, 3, 28, 50, 1 }, { -8, -8, 4, 28, 50, 1 }, { -9, -9, 4, 28, 51, 0 }, + { -10, -10, 4, 28, 51, 0 }, { -11, -11, 5, 28, 51, 0 }, { -12, -12, 5, 28, 51, 0 }, { -13, -13, 6, 28, 51, 0 }, { -14, -14, 6, 28, 51, 0 }, + { -15, -15, 7, 28, 51, 0 }, { -16, -16, 7, 28, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_958F26 = { - 32, { - { 15, 16, 0, 4, 0, 4 }, { 14, 17, 0, 4, 0, 4 }, { 13, 18, 0, 4, 0, 4 }, { 12, 19, 0, 4, 0, 4 }, { 11, 20, 0, 4, 0, 4 }, - { 10, 21, 0, 4, 0, 4 }, { 9, 22, 0, 4, 0, 4 }, { 8, 23, 0, 4, 0, 4 }, { 7, 24, 0, 4, 50, 3 }, { 6, 25, 0, 4, 50, 3 }, - { 5, 26, 1, 4, 50, 3 }, { 4, 27, 1, 4, 50, 3 }, { 3, 28, 1, 4, 50, 3 }, { 2, 29, 1, 4, 50, 3 }, { 1, 30, 1, 4, 50, 3 }, - { 0, 31, 1, 4, 50, 3 }, { -1, 32, 2, 4, 50, 3 }, { -2, 33, 2, 4, 50, 3 }, { -3, 34, 2, 4, 50, 3 }, { -4, 35, 2, 4, 50, 3 }, - { -5, 36, 3, 4, 50, 3 }, { -6, 37, 3, 4, 50, 3 }, { -7, 38, 3, 4, 50, 3 }, { -8, 39, 4, 4, 50, 3 }, { -9, 40, 4, 4, 51, 0 }, - { -10, 41, 4, 4, 51, 0 }, { -11, 42, 5, 4, 51, 0 }, { -12, 43, 5, 4, 51, 0 }, { -13, 44, 6, 4, 51, 0 }, { -14, 45, 6, 4, 51, 0 }, - { -15, 46, 7, 4, 51, 0 }, { -16, 47, 7, 4, 51, 0 }, + 32, { + { 15, 16, 0, 4, 0, 4 }, { 14, 17, 0, 4, 0, 4 }, { 13, 18, 0, 4, 0, 4 }, { 12, 19, 0, 4, 0, 4 }, { 11, 20, 0, 4, 0, 4 }, + { 10, 21, 0, 4, 0, 4 }, { 9, 22, 0, 4, 0, 4 }, { 8, 23, 0, 4, 0, 4 }, { 7, 24, 0, 4, 50, 3 }, { 6, 25, 0, 4, 50, 3 }, + { 5, 26, 1, 4, 50, 3 }, { 4, 27, 1, 4, 50, 3 }, { 3, 28, 1, 4, 50, 3 }, { 2, 29, 1, 4, 50, 3 }, { 1, 30, 1, 4, 50, 3 }, + { 0, 31, 1, 4, 50, 3 }, { -1, 32, 2, 4, 50, 3 }, { -2, 33, 2, 4, 50, 3 }, { -3, 34, 2, 4, 50, 3 }, { -4, 35, 2, 4, 50, 3 }, + { -5, 36, 3, 4, 50, 3 }, { -6, 37, 3, 4, 50, 3 }, { -7, 38, 3, 4, 50, 3 }, { -8, 39, 4, 4, 50, 3 }, { -9, 40, 4, 4, 51, 0 }, + { -10, 41, 4, 4, 51, 0 }, { -11, 42, 5, 4, 51, 0 }, { -12, 43, 5, 4, 51, 0 }, { -13, 44, 6, 4, 51, 0 }, { -14, 45, 6, 4, 51, 0 }, + { -15, 46, 7, 4, 51, 0 }, { -16, 47, 7, 4, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_959048 = { - 32, { - { 16, 16, 0, 12, 0, 4 }, { 17, 17, 0, 12, 0, 4 }, { 18, 18, 0, 12, 0, 4 }, { 19, 19, 0, 12, 0, 4 }, { 20, 20, 0, 12, 0, 4 }, - { 21, 21, 0, 12, 0, 4 }, { 22, 22, 0, 12, 0, 4 }, { 23, 23, 0, 12, 0, 4 }, { 24, 24, 0, 12, 50, 3 }, { 25, 25, 0, 12, 50, 3 }, - { 26, 26, 1, 12, 50, 3 }, { 27, 27, 1, 12, 50, 3 }, { 28, 28, 1, 12, 50, 3 }, { 29, 29, 1, 12, 50, 3 }, { 30, 30, 1, 12, 50, 3 }, - { 31, 31, 1, 12, 50, 3 }, { 32, 32, 2, 12, 50, 3 }, { 33, 33, 2, 12, 50, 3 }, { 34, 34, 2, 12, 50, 3 }, { 35, 35, 2, 12, 50, 3 }, - { 36, 36, 3, 12, 50, 3 }, { 37, 37, 3, 12, 50, 3 }, { 38, 38, 3, 12, 50, 3 }, { 39, 39, 4, 12, 50, 3 }, { 40, 40, 4, 12, 51, 0 }, - { 41, 41, 4, 12, 51, 0 }, { 42, 42, 5, 12, 51, 0 }, { 43, 43, 5, 12, 51, 0 }, { 44, 44, 6, 12, 51, 0 }, { 45, 45, 6, 12, 51, 0 }, - { 46, 46, 7, 12, 51, 0 }, { 47, 47, 7, 12, 51, 0 }, + 32, { + { 16, 16, 0, 12, 0, 4 }, { 17, 17, 0, 12, 0, 4 }, { 18, 18, 0, 12, 0, 4 }, { 19, 19, 0, 12, 0, 4 }, { 20, 20, 0, 12, 0, 4 }, + { 21, 21, 0, 12, 0, 4 }, { 22, 22, 0, 12, 0, 4 }, { 23, 23, 0, 12, 0, 4 }, { 24, 24, 0, 12, 50, 3 }, { 25, 25, 0, 12, 50, 3 }, + { 26, 26, 1, 12, 50, 3 }, { 27, 27, 1, 12, 50, 3 }, { 28, 28, 1, 12, 50, 3 }, { 29, 29, 1, 12, 50, 3 }, { 30, 30, 1, 12, 50, 3 }, + { 31, 31, 1, 12, 50, 3 }, { 32, 32, 2, 12, 50, 3 }, { 33, 33, 2, 12, 50, 3 }, { 34, 34, 2, 12, 50, 3 }, { 35, 35, 2, 12, 50, 3 }, + { 36, 36, 3, 12, 50, 3 }, { 37, 37, 3, 12, 50, 3 }, { 38, 38, 3, 12, 50, 3 }, { 39, 39, 4, 12, 50, 3 }, { 40, 40, 4, 12, 51, 0 }, + { 41, 41, 4, 12, 51, 0 }, { 42, 42, 5, 12, 51, 0 }, { 43, 43, 5, 12, 51, 0 }, { 44, 44, 6, 12, 51, 0 }, { 45, 45, 6, 12, 51, 0 }, + { 46, 46, 7, 12, 51, 0 }, { 47, 47, 7, 12, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95916A = { - 32, { - { 16, 15, 0, 20, 0, 4 }, { 17, 14, 0, 20, 0, 4 }, { 18, 13, 0, 20, 0, 4 }, { 19, 12, 0, 20, 0, 4 }, { 20, 11, 0, 20, 0, 4 }, - { 21, 10, 0, 20, 0, 4 }, { 22, 9, 0, 20, 0, 4 }, { 23, 8, 0, 20, 0, 4 }, { 24, 7, 0, 20, 50, 3 }, { 25, 6, 0, 20, 50, 3 }, - { 26, 5, 1, 20, 50, 3 }, { 27, 4, 1, 20, 50, 3 }, { 28, 3, 1, 20, 50, 3 }, { 29, 2, 1, 20, 50, 3 }, { 30, 1, 1, 20, 50, 3 }, - { 31, 0, 1, 20, 50, 3 }, { 32, -1, 2, 20, 50, 3 }, { 33, -2, 2, 20, 50, 3 }, { 34, -3, 2, 20, 50, 3 }, { 35, -4, 2, 20, 50, 3 }, - { 36, -5, 3, 20, 50, 3 }, { 37, -6, 3, 20, 50, 3 }, { 38, -7, 3, 20, 50, 3 }, { 39, -8, 4, 20, 50, 3 }, { 40, -9, 4, 20, 51, 0 }, - { 41, -10, 4, 20, 51, 0 }, { 42, -11, 5, 20, 51, 0 }, { 43, -12, 5, 20, 51, 0 }, { 44, -13, 6, 20, 51, 0 }, { 45, -14, 6, 20, 51, 0 }, - { 46, -15, 7, 20, 51, 0 }, { 47, -16, 7, 20, 51, 0 }, + 32, { + { 16, 15, 0, 20, 0, 4 }, { 17, 14, 0, 20, 0, 4 }, { 18, 13, 0, 20, 0, 4 }, { 19, 12, 0, 20, 0, 4 }, { 20, 11, 0, 20, 0, 4 }, + { 21, 10, 0, 20, 0, 4 }, { 22, 9, 0, 20, 0, 4 }, { 23, 8, 0, 20, 0, 4 }, { 24, 7, 0, 20, 50, 3 }, { 25, 6, 0, 20, 50, 3 }, + { 26, 5, 1, 20, 50, 3 }, { 27, 4, 1, 20, 50, 3 }, { 28, 3, 1, 20, 50, 3 }, { 29, 2, 1, 20, 50, 3 }, { 30, 1, 1, 20, 50, 3 }, + { 31, 0, 1, 20, 50, 3 }, { 32, -1, 2, 20, 50, 3 }, { 33, -2, 2, 20, 50, 3 }, { 34, -3, 2, 20, 50, 3 }, { 35, -4, 2, 20, 50, 3 }, + { 36, -5, 3, 20, 50, 3 }, { 37, -6, 3, 20, 50, 3 }, { 38, -7, 3, 20, 50, 3 }, { 39, -8, 4, 20, 50, 3 }, { 40, -9, 4, 20, 51, 0 }, + { 41, -10, 4, 20, 51, 0 }, { 42, -11, 5, 20, 51, 0 }, { 43, -12, 5, 20, 51, 0 }, { 44, -13, 6, 20, 51, 0 }, { 45, -14, 6, 20, 51, 0 }, + { 46, -15, 7, 20, 51, 0 }, { 47, -16, 7, 20, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95928C = { - 32, { - { 15, 15, 0, 28, 0, 4 }, { 14, 14, 0, 28, 0, 4 }, { 13, 13, 0, 28, 0, 4 }, { 12, 12, 0, 28, 0, 4 }, { 11, 11, 0, 28, 0, 4 }, - { 10, 10, 0, 28, 0, 4 }, { 9, 9, 0, 28, 0, 4 }, { 8, 8, 0, 28, 0, 4 }, { 7, 7, 0, 28, 50, 3 }, { 6, 6, 0, 28, 50, 3 }, - { 5, 5, 1, 28, 50, 3 }, { 4, 4, 1, 28, 50, 3 }, { 3, 3, 1, 28, 50, 3 }, { 2, 2, 1, 28, 50, 3 }, { 1, 1, 1, 28, 50, 3 }, - { 0, 0, 1, 28, 50, 3 }, { -1, -1, 2, 28, 50, 3 }, { -2, -2, 2, 28, 50, 3 }, { -3, -3, 2, 28, 50, 3 }, { -4, -4, 2, 28, 50, 3 }, - { -5, -5, 3, 28, 50, 3 }, { -6, -6, 3, 28, 50, 3 }, { -7, -7, 3, 28, 50, 3 }, { -8, -8, 4, 28, 50, 3 }, { -9, -9, 4, 28, 51, 0 }, - { -10, -10, 4, 28, 51, 0 }, { -11, -11, 5, 28, 51, 0 }, { -12, -12, 5, 28, 51, 0 }, { -13, -13, 6, 28, 51, 0 }, { -14, -14, 6, 28, 51, 0 }, - { -15, -15, 7, 28, 51, 0 }, { -16, -16, 7, 28, 51, 0 }, + 32, { + { 15, 15, 0, 28, 0, 4 }, { 14, 14, 0, 28, 0, 4 }, { 13, 13, 0, 28, 0, 4 }, { 12, 12, 0, 28, 0, 4 }, { 11, 11, 0, 28, 0, 4 }, + { 10, 10, 0, 28, 0, 4 }, { 9, 9, 0, 28, 0, 4 }, { 8, 8, 0, 28, 0, 4 }, { 7, 7, 0, 28, 50, 3 }, { 6, 6, 0, 28, 50, 3 }, + { 5, 5, 1, 28, 50, 3 }, { 4, 4, 1, 28, 50, 3 }, { 3, 3, 1, 28, 50, 3 }, { 2, 2, 1, 28, 50, 3 }, { 1, 1, 1, 28, 50, 3 }, + { 0, 0, 1, 28, 50, 3 }, { -1, -1, 2, 28, 50, 3 }, { -2, -2, 2, 28, 50, 3 }, { -3, -3, 2, 28, 50, 3 }, { -4, -4, 2, 28, 50, 3 }, + { -5, -5, 3, 28, 50, 3 }, { -6, -6, 3, 28, 50, 3 }, { -7, -7, 3, 28, 50, 3 }, { -8, -8, 4, 28, 50, 3 }, { -9, -9, 4, 28, 51, 0 }, + { -10, -10, 4, 28, 51, 0 }, { -11, -11, 5, 28, 51, 0 }, { -12, -12, 5, 28, 51, 0 }, { -13, -13, 6, 28, 51, 0 }, { -14, -14, 6, 28, 51, 0 }, + { -15, -15, 7, 28, 51, 0 }, { -16, -16, 7, 28, 51, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9593AE = { - 32, { - { 15, 16, 0, 4, 51, 0 }, { 14, 17, 0, 4, 51, 0 }, { 13, 18, 1, 4, 51, 0 }, { 12, 19, 1, 4, 51, 0 }, { 11, 20, 2, 4, 51, 0 }, - { 10, 21, 2, 4, 51, 0 }, { 9, 22, 3, 4, 51, 0 }, { 8, 23, 3, 4, 51, 0 }, { 7, 24, 4, 4, 50, 1 }, { 6, 25, 4, 4, 50, 1 }, - { 5, 26, 4, 4, 50, 1 }, { 4, 27, 5, 4, 50, 1 }, { 3, 28, 5, 4, 50, 1 }, { 2, 29, 5, 4, 50, 1 }, { 1, 30, 6, 4, 50, 1 }, - { 0, 31, 6, 4, 50, 1 }, { -1, 32, 6, 4, 50, 1 }, { -2, 33, 6, 4, 50, 1 }, { -3, 34, 7, 4, 50, 1 }, { -4, 35, 7, 4, 50, 1 }, - { -5, 36, 7, 4, 50, 1 }, { -6, 37, 7, 4, 50, 1 }, { -7, 38, 7, 4, 0, 2 }, { -8, 39, 7, 4, 0, 2 }, { -9, 40, 8, 4, 0, 2 }, - { -10, 41, 8, 4, 0, 2 }, { -11, 42, 8, 4, 0, 2 }, { -12, 43, 8, 4, 0, 2 }, { -13, 44, 8, 4, 0, 2 }, { -14, 45, 8, 4, 0, 2 }, - { -15, 46, 8, 4, 0, 2 }, { -16, 47, 8, 4, 0, 2 }, + 32, { + { 15, 16, 0, 4, 51, 0 }, { 14, 17, 0, 4, 51, 0 }, { 13, 18, 1, 4, 51, 0 }, { 12, 19, 1, 4, 51, 0 }, { 11, 20, 2, 4, 51, 0 }, + { 10, 21, 2, 4, 51, 0 }, { 9, 22, 3, 4, 51, 0 }, { 8, 23, 3, 4, 51, 0 }, { 7, 24, 4, 4, 50, 1 }, { 6, 25, 4, 4, 50, 1 }, + { 5, 26, 4, 4, 50, 1 }, { 4, 27, 5, 4, 50, 1 }, { 3, 28, 5, 4, 50, 1 }, { 2, 29, 5, 4, 50, 1 }, { 1, 30, 6, 4, 50, 1 }, + { 0, 31, 6, 4, 50, 1 }, { -1, 32, 6, 4, 50, 1 }, { -2, 33, 6, 4, 50, 1 }, { -3, 34, 7, 4, 50, 1 }, { -4, 35, 7, 4, 50, 1 }, + { -5, 36, 7, 4, 50, 1 }, { -6, 37, 7, 4, 50, 1 }, { -7, 38, 7, 4, 0, 2 }, { -8, 39, 7, 4, 0, 2 }, { -9, 40, 8, 4, 0, 2 }, + { -10, 41, 8, 4, 0, 2 }, { -11, 42, 8, 4, 0, 2 }, { -12, 43, 8, 4, 0, 2 }, { -13, 44, 8, 4, 0, 2 }, { -14, 45, 8, 4, 0, 2 }, + { -15, 46, 8, 4, 0, 2 }, { -16, 47, 8, 4, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9594E2 = { - 32, { - { 16, 16, 0, 12, 51, 0 }, { 17, 17, 0, 12, 51, 0 }, { 18, 18, 1, 12, 51, 0 }, { 19, 19, 1, 12, 51, 0 }, { 20, 20, 2, 12, 51, 0 }, - { 21, 21, 2, 12, 51, 0 }, { 22, 22, 3, 12, 51, 0 }, { 23, 23, 3, 12, 51, 0 }, { 24, 24, 4, 12, 50, 1 }, { 25, 25, 4, 12, 50, 1 }, - { 26, 26, 4, 12, 50, 1 }, { 27, 27, 5, 12, 50, 1 }, { 28, 28, 5, 12, 50, 1 }, { 29, 29, 5, 12, 50, 1 }, { 30, 30, 6, 12, 50, 1 }, - { 31, 31, 6, 12, 50, 1 }, { 32, 32, 6, 12, 50, 1 }, { 33, 33, 6, 12, 50, 1 }, { 34, 34, 7, 12, 50, 1 }, { 35, 35, 7, 12, 50, 1 }, - { 36, 36, 7, 12, 50, 1 }, { 37, 37, 7, 12, 50, 1 }, { 38, 38, 7, 12, 0, 2 }, { 39, 39, 7, 12, 0, 2 }, { 40, 40, 8, 12, 0, 2 }, - { 41, 41, 8, 12, 0, 2 }, { 42, 42, 8, 12, 0, 2 }, { 43, 43, 8, 12, 0, 2 }, { 44, 44, 8, 12, 0, 2 }, { 45, 45, 8, 12, 0, 2 }, - { 46, 46, 8, 12, 0, 2 }, { 47, 47, 8, 12, 0, 2 }, + 32, { + { 16, 16, 0, 12, 51, 0 }, { 17, 17, 0, 12, 51, 0 }, { 18, 18, 1, 12, 51, 0 }, { 19, 19, 1, 12, 51, 0 }, { 20, 20, 2, 12, 51, 0 }, + { 21, 21, 2, 12, 51, 0 }, { 22, 22, 3, 12, 51, 0 }, { 23, 23, 3, 12, 51, 0 }, { 24, 24, 4, 12, 50, 1 }, { 25, 25, 4, 12, 50, 1 }, + { 26, 26, 4, 12, 50, 1 }, { 27, 27, 5, 12, 50, 1 }, { 28, 28, 5, 12, 50, 1 }, { 29, 29, 5, 12, 50, 1 }, { 30, 30, 6, 12, 50, 1 }, + { 31, 31, 6, 12, 50, 1 }, { 32, 32, 6, 12, 50, 1 }, { 33, 33, 6, 12, 50, 1 }, { 34, 34, 7, 12, 50, 1 }, { 35, 35, 7, 12, 50, 1 }, + { 36, 36, 7, 12, 50, 1 }, { 37, 37, 7, 12, 50, 1 }, { 38, 38, 7, 12, 0, 2 }, { 39, 39, 7, 12, 0, 2 }, { 40, 40, 8, 12, 0, 2 }, + { 41, 41, 8, 12, 0, 2 }, { 42, 42, 8, 12, 0, 2 }, { 43, 43, 8, 12, 0, 2 }, { 44, 44, 8, 12, 0, 2 }, { 45, 45, 8, 12, 0, 2 }, + { 46, 46, 8, 12, 0, 2 }, { 47, 47, 8, 12, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_959616 = { - 32, { - { 16, 15, 0, 20, 51, 0 }, { 17, 14, 0, 20, 51, 0 }, { 18, 13, 1, 20, 51, 0 }, { 19, 12, 1, 20, 51, 0 }, { 20, 11, 2, 20, 51, 0 }, - { 21, 10, 2, 20, 51, 0 }, { 22, 9, 3, 20, 51, 0 }, { 23, 8, 3, 20, 51, 0 }, { 24, 7, 4, 20, 50, 1 }, { 25, 6, 4, 20, 50, 1 }, - { 26, 5, 4, 20, 50, 1 }, { 27, 4, 5, 20, 50, 1 }, { 28, 3, 5, 20, 50, 1 }, { 29, 2, 5, 20, 50, 1 }, { 30, 1, 6, 20, 50, 1 }, - { 31, 0, 6, 20, 50, 1 }, { 32, -1, 6, 20, 50, 1 }, { 33, -2, 6, 20, 50, 1 }, { 34, -3, 7, 20, 50, 1 }, { 35, -4, 7, 20, 50, 1 }, - { 36, -5, 7, 20, 50, 1 }, { 37, -6, 7, 20, 50, 1 }, { 38, -7, 7, 20, 0, 2 }, { 39, -8, 7, 20, 0, 2 }, { 40, -9, 8, 20, 0, 2 }, - { 41, -10, 8, 20, 0, 2 }, { 42, -11, 8, 20, 0, 2 }, { 43, -12, 8, 20, 0, 2 }, { 44, -13, 8, 20, 0, 2 }, { 45, -14, 8, 20, 0, 2 }, - { 46, -15, 8, 20, 0, 2 }, { 47, -16, 8, 20, 0, 2 }, + 32, { + { 16, 15, 0, 20, 51, 0 }, { 17, 14, 0, 20, 51, 0 }, { 18, 13, 1, 20, 51, 0 }, { 19, 12, 1, 20, 51, 0 }, { 20, 11, 2, 20, 51, 0 }, + { 21, 10, 2, 20, 51, 0 }, { 22, 9, 3, 20, 51, 0 }, { 23, 8, 3, 20, 51, 0 }, { 24, 7, 4, 20, 50, 1 }, { 25, 6, 4, 20, 50, 1 }, + { 26, 5, 4, 20, 50, 1 }, { 27, 4, 5, 20, 50, 1 }, { 28, 3, 5, 20, 50, 1 }, { 29, 2, 5, 20, 50, 1 }, { 30, 1, 6, 20, 50, 1 }, + { 31, 0, 6, 20, 50, 1 }, { 32, -1, 6, 20, 50, 1 }, { 33, -2, 6, 20, 50, 1 }, { 34, -3, 7, 20, 50, 1 }, { 35, -4, 7, 20, 50, 1 }, + { 36, -5, 7, 20, 50, 1 }, { 37, -6, 7, 20, 50, 1 }, { 38, -7, 7, 20, 0, 2 }, { 39, -8, 7, 20, 0, 2 }, { 40, -9, 8, 20, 0, 2 }, + { 41, -10, 8, 20, 0, 2 }, { 42, -11, 8, 20, 0, 2 }, { 43, -12, 8, 20, 0, 2 }, { 44, -13, 8, 20, 0, 2 }, { 45, -14, 8, 20, 0, 2 }, + { 46, -15, 8, 20, 0, 2 }, { 47, -16, 8, 20, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95974A = { - 32, { - { 15, 15, 0, 28, 51, 0 }, { 14, 14, 0, 28, 51, 0 }, { 13, 13, 1, 28, 51, 0 }, { 12, 12, 1, 28, 51, 0 }, { 11, 11, 2, 28, 51, 0 }, - { 10, 10, 2, 28, 51, 0 }, { 9, 9, 3, 28, 51, 0 }, { 8, 8, 3, 28, 51, 0 }, { 7, 7, 4, 28, 50, 1 }, { 6, 6, 4, 28, 50, 1 }, - { 5, 5, 4, 28, 50, 1 }, { 4, 4, 5, 28, 50, 1 }, { 3, 3, 5, 28, 50, 1 }, { 2, 2, 5, 28, 50, 1 }, { 1, 1, 6, 28, 50, 1 }, - { 0, 0, 6, 28, 50, 1 }, { -1, -1, 6, 28, 50, 1 }, { -2, -2, 6, 28, 50, 1 }, { -3, -3, 7, 28, 50, 1 }, { -4, -4, 7, 28, 50, 1 }, - { -5, -5, 7, 28, 50, 1 }, { -6, -6, 7, 28, 50, 1 }, { -7, -7, 7, 28, 0, 2 }, { -8, -8, 7, 28, 0, 2 }, { -9, -9, 8, 28, 0, 2 }, - { -10, -10, 8, 28, 0, 2 }, { -11, -11, 8, 28, 0, 2 }, { -12, -12, 8, 28, 0, 2 }, { -13, -13, 8, 28, 0, 2 }, { -14, -14, 8, 28, 0, 2 }, - { -15, -15, 8, 28, 0, 2 }, { -16, -16, 8, 28, 0, 2 }, + 32, { + { 15, 15, 0, 28, 51, 0 }, { 14, 14, 0, 28, 51, 0 }, { 13, 13, 1, 28, 51, 0 }, { 12, 12, 1, 28, 51, 0 }, { 11, 11, 2, 28, 51, 0 }, + { 10, 10, 2, 28, 51, 0 }, { 9, 9, 3, 28, 51, 0 }, { 8, 8, 3, 28, 51, 0 }, { 7, 7, 4, 28, 50, 1 }, { 6, 6, 4, 28, 50, 1 }, + { 5, 5, 4, 28, 50, 1 }, { 4, 4, 5, 28, 50, 1 }, { 3, 3, 5, 28, 50, 1 }, { 2, 2, 5, 28, 50, 1 }, { 1, 1, 6, 28, 50, 1 }, + { 0, 0, 6, 28, 50, 1 }, { -1, -1, 6, 28, 50, 1 }, { -2, -2, 6, 28, 50, 1 }, { -3, -3, 7, 28, 50, 1 }, { -4, -4, 7, 28, 50, 1 }, + { -5, -5, 7, 28, 50, 1 }, { -6, -6, 7, 28, 50, 1 }, { -7, -7, 7, 28, 0, 2 }, { -8, -8, 7, 28, 0, 2 }, { -9, -9, 8, 28, 0, 2 }, + { -10, -10, 8, 28, 0, 2 }, { -11, -11, 8, 28, 0, 2 }, { -12, -12, 8, 28, 0, 2 }, { -13, -13, 8, 28, 0, 2 }, { -14, -14, 8, 28, 0, 2 }, + { -15, -15, 8, 28, 0, 2 }, { -16, -16, 8, 28, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95987E = { - 32, { - { 15, 16, 0, 4, 51, 0 }, { 14, 17, 0, 4, 51, 0 }, { 13, 18, 1, 4, 51, 0 }, { 12, 19, 1, 4, 51, 0 }, { 11, 20, 2, 4, 51, 0 }, - { 10, 21, 2, 4, 51, 0 }, { 9, 22, 3, 4, 51, 0 }, { 8, 23, 3, 4, 51, 0 }, { 7, 24, 4, 4, 50, 3 }, { 6, 25, 4, 4, 50, 3 }, - { 5, 26, 4, 4, 50, 3 }, { 4, 27, 5, 4, 50, 3 }, { 3, 28, 5, 4, 50, 3 }, { 2, 29, 5, 4, 50, 3 }, { 1, 30, 6, 4, 50, 3 }, - { 0, 31, 6, 4, 50, 3 }, { -1, 32, 6, 4, 50, 3 }, { -2, 33, 6, 4, 50, 3 }, { -3, 34, 7, 4, 50, 3 }, { -4, 35, 7, 4, 50, 3 }, - { -5, 36, 7, 4, 50, 3 }, { -6, 37, 7, 4, 50, 3 }, { -7, 38, 7, 4, 0, 4 }, { -8, 39, 7, 4, 0, 4 }, { -9, 40, 8, 4, 0, 4 }, - { -10, 41, 8, 4, 0, 4 }, { -11, 42, 8, 4, 0, 4 }, { -12, 43, 8, 4, 0, 4 }, { -13, 44, 8, 4, 0, 4 }, { -14, 45, 8, 4, 0, 4 }, - { -15, 46, 8, 4, 0, 4 }, { -16, 47, 8, 4, 0, 4 }, + 32, { + { 15, 16, 0, 4, 51, 0 }, { 14, 17, 0, 4, 51, 0 }, { 13, 18, 1, 4, 51, 0 }, { 12, 19, 1, 4, 51, 0 }, { 11, 20, 2, 4, 51, 0 }, + { 10, 21, 2, 4, 51, 0 }, { 9, 22, 3, 4, 51, 0 }, { 8, 23, 3, 4, 51, 0 }, { 7, 24, 4, 4, 50, 3 }, { 6, 25, 4, 4, 50, 3 }, + { 5, 26, 4, 4, 50, 3 }, { 4, 27, 5, 4, 50, 3 }, { 3, 28, 5, 4, 50, 3 }, { 2, 29, 5, 4, 50, 3 }, { 1, 30, 6, 4, 50, 3 }, + { 0, 31, 6, 4, 50, 3 }, { -1, 32, 6, 4, 50, 3 }, { -2, 33, 6, 4, 50, 3 }, { -3, 34, 7, 4, 50, 3 }, { -4, 35, 7, 4, 50, 3 }, + { -5, 36, 7, 4, 50, 3 }, { -6, 37, 7, 4, 50, 3 }, { -7, 38, 7, 4, 0, 4 }, { -8, 39, 7, 4, 0, 4 }, { -9, 40, 8, 4, 0, 4 }, + { -10, 41, 8, 4, 0, 4 }, { -11, 42, 8, 4, 0, 4 }, { -12, 43, 8, 4, 0, 4 }, { -13, 44, 8, 4, 0, 4 }, { -14, 45, 8, 4, 0, 4 }, + { -15, 46, 8, 4, 0, 4 }, { -16, 47, 8, 4, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9599B2 = { - 32, { - { 16, 16, 0, 12, 51, 0 }, { 17, 17, 0, 12, 51, 0 }, { 18, 18, 1, 12, 51, 0 }, { 19, 19, 1, 12, 51, 0 }, { 20, 20, 2, 12, 51, 0 }, - { 21, 21, 2, 12, 51, 0 }, { 22, 22, 3, 12, 51, 0 }, { 23, 23, 3, 12, 51, 0 }, { 24, 24, 4, 12, 50, 3 }, { 25, 25, 4, 12, 50, 3 }, - { 26, 26, 4, 12, 50, 3 }, { 27, 27, 5, 12, 50, 3 }, { 28, 28, 5, 12, 50, 3 }, { 29, 29, 5, 12, 50, 3 }, { 30, 30, 6, 12, 50, 3 }, - { 31, 31, 6, 12, 50, 3 }, { 32, 32, 6, 12, 50, 3 }, { 33, 33, 6, 12, 50, 3 }, { 34, 34, 7, 12, 50, 3 }, { 35, 35, 7, 12, 50, 3 }, - { 36, 36, 7, 12, 50, 3 }, { 37, 37, 7, 12, 50, 3 }, { 38, 38, 7, 12, 0, 4 }, { 39, 39, 7, 12, 0, 4 }, { 40, 40, 8, 12, 0, 4 }, - { 41, 41, 8, 12, 0, 4 }, { 42, 42, 8, 12, 0, 4 }, { 43, 43, 8, 12, 0, 4 }, { 44, 44, 8, 12, 0, 4 }, { 45, 45, 8, 12, 0, 4 }, - { 46, 46, 8, 12, 0, 4 }, { 47, 47, 8, 12, 0, 4 }, + 32, { + { 16, 16, 0, 12, 51, 0 }, { 17, 17, 0, 12, 51, 0 }, { 18, 18, 1, 12, 51, 0 }, { 19, 19, 1, 12, 51, 0 }, { 20, 20, 2, 12, 51, 0 }, + { 21, 21, 2, 12, 51, 0 }, { 22, 22, 3, 12, 51, 0 }, { 23, 23, 3, 12, 51, 0 }, { 24, 24, 4, 12, 50, 3 }, { 25, 25, 4, 12, 50, 3 }, + { 26, 26, 4, 12, 50, 3 }, { 27, 27, 5, 12, 50, 3 }, { 28, 28, 5, 12, 50, 3 }, { 29, 29, 5, 12, 50, 3 }, { 30, 30, 6, 12, 50, 3 }, + { 31, 31, 6, 12, 50, 3 }, { 32, 32, 6, 12, 50, 3 }, { 33, 33, 6, 12, 50, 3 }, { 34, 34, 7, 12, 50, 3 }, { 35, 35, 7, 12, 50, 3 }, + { 36, 36, 7, 12, 50, 3 }, { 37, 37, 7, 12, 50, 3 }, { 38, 38, 7, 12, 0, 4 }, { 39, 39, 7, 12, 0, 4 }, { 40, 40, 8, 12, 0, 4 }, + { 41, 41, 8, 12, 0, 4 }, { 42, 42, 8, 12, 0, 4 }, { 43, 43, 8, 12, 0, 4 }, { 44, 44, 8, 12, 0, 4 }, { 45, 45, 8, 12, 0, 4 }, + { 46, 46, 8, 12, 0, 4 }, { 47, 47, 8, 12, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_959AE6 = { - 32, { - { 16, 15, 0, 20, 51, 0 }, { 17, 14, 0, 20, 51, 0 }, { 18, 13, 1, 20, 51, 0 }, { 19, 12, 1, 20, 51, 0 }, { 20, 11, 2, 20, 51, 0 }, - { 21, 10, 2, 20, 51, 0 }, { 22, 9, 3, 20, 51, 0 }, { 23, 8, 3, 20, 51, 0 }, { 24, 7, 4, 20, 50, 3 }, { 25, 6, 4, 20, 50, 3 }, - { 26, 5, 4, 20, 50, 3 }, { 27, 4, 5, 20, 50, 3 }, { 28, 3, 5, 20, 50, 3 }, { 29, 2, 5, 20, 50, 3 }, { 30, 1, 6, 20, 50, 3 }, - { 31, 0, 6, 20, 50, 3 }, { 32, -1, 6, 20, 50, 3 }, { 33, -2, 6, 20, 50, 3 }, { 34, -3, 7, 20, 50, 3 }, { 35, -4, 7, 20, 50, 3 }, - { 36, -5, 7, 20, 50, 3 }, { 37, -6, 7, 20, 50, 3 }, { 38, -7, 7, 20, 0, 4 }, { 39, -8, 7, 20, 0, 4 }, { 40, -9, 8, 20, 0, 4 }, - { 41, -10, 8, 20, 0, 4 }, { 42, -11, 8, 20, 0, 4 }, { 43, -12, 8, 20, 0, 4 }, { 44, -13, 8, 20, 0, 4 }, { 45, -14, 8, 20, 0, 4 }, - { 46, -15, 8, 20, 0, 4 }, { 47, -16, 8, 20, 0, 4 }, + 32, { + { 16, 15, 0, 20, 51, 0 }, { 17, 14, 0, 20, 51, 0 }, { 18, 13, 1, 20, 51, 0 }, { 19, 12, 1, 20, 51, 0 }, { 20, 11, 2, 20, 51, 0 }, + { 21, 10, 2, 20, 51, 0 }, { 22, 9, 3, 20, 51, 0 }, { 23, 8, 3, 20, 51, 0 }, { 24, 7, 4, 20, 50, 3 }, { 25, 6, 4, 20, 50, 3 }, + { 26, 5, 4, 20, 50, 3 }, { 27, 4, 5, 20, 50, 3 }, { 28, 3, 5, 20, 50, 3 }, { 29, 2, 5, 20, 50, 3 }, { 30, 1, 6, 20, 50, 3 }, + { 31, 0, 6, 20, 50, 3 }, { 32, -1, 6, 20, 50, 3 }, { 33, -2, 6, 20, 50, 3 }, { 34, -3, 7, 20, 50, 3 }, { 35, -4, 7, 20, 50, 3 }, + { 36, -5, 7, 20, 50, 3 }, { 37, -6, 7, 20, 50, 3 }, { 38, -7, 7, 20, 0, 4 }, { 39, -8, 7, 20, 0, 4 }, { 40, -9, 8, 20, 0, 4 }, + { 41, -10, 8, 20, 0, 4 }, { 42, -11, 8, 20, 0, 4 }, { 43, -12, 8, 20, 0, 4 }, { 44, -13, 8, 20, 0, 4 }, { 45, -14, 8, 20, 0, 4 }, + { 46, -15, 8, 20, 0, 4 }, { 47, -16, 8, 20, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_959C1A = { - 32, { - { 15, 15, 0, 28, 51, 0 }, { 14, 14, 0, 28, 51, 0 }, { 13, 13, 1, 28, 51, 0 }, { 12, 12, 1, 28, 51, 0 }, { 11, 11, 2, 28, 51, 0 }, - { 10, 10, 2, 28, 51, 0 }, { 9, 9, 3, 28, 51, 0 }, { 8, 8, 3, 28, 51, 0 }, { 7, 7, 4, 28, 50, 3 }, { 6, 6, 4, 28, 50, 3 }, - { 5, 5, 4, 28, 50, 3 }, { 4, 4, 5, 28, 50, 3 }, { 3, 3, 5, 28, 50, 3 }, { 2, 2, 5, 28, 50, 3 }, { 1, 1, 6, 28, 50, 3 }, - { 0, 0, 6, 28, 50, 3 }, { -1, -1, 6, 28, 50, 3 }, { -2, -2, 6, 28, 50, 3 }, { -3, -3, 7, 28, 50, 3 }, { -4, -4, 7, 28, 50, 3 }, - { -5, -5, 7, 28, 50, 3 }, { -6, -6, 7, 28, 50, 3 }, { -7, -7, 7, 28, 0, 4 }, { -8, -8, 7, 28, 0, 4 }, { -9, -9, 8, 28, 0, 4 }, - { -10, -10, 8, 28, 0, 4 }, { -11, -11, 8, 28, 0, 4 }, { -12, -12, 8, 28, 0, 4 }, { -13, -13, 8, 28, 0, 4 }, { -14, -14, 8, 28, 0, 4 }, - { -15, -15, 8, 28, 0, 4 }, { -16, -16, 8, 28, 0, 4 }, + 32, { + { 15, 15, 0, 28, 51, 0 }, { 14, 14, 0, 28, 51, 0 }, { 13, 13, 1, 28, 51, 0 }, { 12, 12, 1, 28, 51, 0 }, { 11, 11, 2, 28, 51, 0 }, + { 10, 10, 2, 28, 51, 0 }, { 9, 9, 3, 28, 51, 0 }, { 8, 8, 3, 28, 51, 0 }, { 7, 7, 4, 28, 50, 3 }, { 6, 6, 4, 28, 50, 3 }, + { 5, 5, 4, 28, 50, 3 }, { 4, 4, 5, 28, 50, 3 }, { 3, 3, 5, 28, 50, 3 }, { 2, 2, 5, 28, 50, 3 }, { 1, 1, 6, 28, 50, 3 }, + { 0, 0, 6, 28, 50, 3 }, { -1, -1, 6, 28, 50, 3 }, { -2, -2, 6, 28, 50, 3 }, { -3, -3, 7, 28, 50, 3 }, { -4, -4, 7, 28, 50, 3 }, + { -5, -5, 7, 28, 50, 3 }, { -6, -6, 7, 28, 50, 3 }, { -7, -7, 7, 28, 0, 4 }, { -8, -8, 7, 28, 0, 4 }, { -9, -9, 8, 28, 0, 4 }, + { -10, -10, 8, 28, 0, 4 }, { -11, -11, 8, 28, 0, 4 }, { -12, -12, 8, 28, 0, 4 }, { -13, -13, 8, 28, 0, 4 }, { -14, -14, 8, 28, 0, 4 }, + { -15, -15, 8, 28, 0, 4 }, { -16, -16, 8, 28, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95A65E = { - 32, { - { 15, 16, 8, 4, 0, 2 }, { 14, 17, 8, 4, 0, 2 }, { 13, 18, 8, 4, 0, 2 }, { 12, 19, 8, 4, 0, 2 }, { 11, 20, 8, 4, 0, 2 }, - { 10, 21, 8, 4, 0, 2 }, { 9, 22, 8, 4, 0, 2 }, { 8, 23, 8, 4, 0, 2 }, { 7, 24, 7, 4, 53, 1 }, { 6, 25, 7, 4, 53, 1 }, - { 5, 26, 7, 4, 53, 1 }, { 4, 27, 7, 4, 53, 1 }, { 3, 28, 7, 4, 53, 1 }, { 2, 29, 7, 4, 53, 1 }, { 1, 30, 6, 4, 53, 1 }, - { 0, 31, 6, 4, 53, 1 }, { -1, 32, 6, 4, 53, 1 }, { -2, 33, 6, 4, 53, 1 }, { -3, 34, 5, 4, 53, 1 }, { -4, 35, 5, 4, 53, 1 }, - { -5, 36, 5, 4, 53, 1 }, { -6, 37, 4, 4, 53, 1 }, { -7, 38, 4, 4, 53, 1 }, { -8, 39, 4, 4, 53, 1 }, { -9, 40, 3, 4, 54, 0 }, - { -10, 41, 3, 4, 54, 0 }, { -11, 42, 2, 4, 54, 0 }, { -12, 43, 2, 4, 54, 0 }, { -13, 44, 1, 4, 54, 0 }, { -14, 45, 1, 4, 54, 0 }, - { -15, 46, 0, 4, 54, 0 }, { -16, 47, 0, 4, 54, 0 }, + 32, { + { 15, 16, 8, 4, 0, 2 }, { 14, 17, 8, 4, 0, 2 }, { 13, 18, 8, 4, 0, 2 }, { 12, 19, 8, 4, 0, 2 }, { 11, 20, 8, 4, 0, 2 }, + { 10, 21, 8, 4, 0, 2 }, { 9, 22, 8, 4, 0, 2 }, { 8, 23, 8, 4, 0, 2 }, { 7, 24, 7, 4, 53, 1 }, { 6, 25, 7, 4, 53, 1 }, + { 5, 26, 7, 4, 53, 1 }, { 4, 27, 7, 4, 53, 1 }, { 3, 28, 7, 4, 53, 1 }, { 2, 29, 7, 4, 53, 1 }, { 1, 30, 6, 4, 53, 1 }, + { 0, 31, 6, 4, 53, 1 }, { -1, 32, 6, 4, 53, 1 }, { -2, 33, 6, 4, 53, 1 }, { -3, 34, 5, 4, 53, 1 }, { -4, 35, 5, 4, 53, 1 }, + { -5, 36, 5, 4, 53, 1 }, { -6, 37, 4, 4, 53, 1 }, { -7, 38, 4, 4, 53, 1 }, { -8, 39, 4, 4, 53, 1 }, { -9, 40, 3, 4, 54, 0 }, + { -10, 41, 3, 4, 54, 0 }, { -11, 42, 2, 4, 54, 0 }, { -12, 43, 2, 4, 54, 0 }, { -13, 44, 1, 4, 54, 0 }, { -14, 45, 1, 4, 54, 0 }, + { -15, 46, 0, 4, 54, 0 }, { -16, 47, 0, 4, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95A780 = { - 32, { - { 16, 16, 8, 12, 0, 2 }, { 17, 17, 8, 12, 0, 2 }, { 18, 18, 8, 12, 0, 2 }, { 19, 19, 8, 12, 0, 2 }, { 20, 20, 8, 12, 0, 2 }, - { 21, 21, 8, 12, 0, 2 }, { 22, 22, 8, 12, 0, 2 }, { 23, 23, 8, 12, 0, 2 }, { 24, 24, 7, 12, 53, 1 }, { 25, 25, 7, 12, 53, 1 }, - { 26, 26, 7, 12, 53, 1 }, { 27, 27, 7, 12, 53, 1 }, { 28, 28, 7, 12, 53, 1 }, { 29, 29, 7, 12, 53, 1 }, { 30, 30, 6, 12, 53, 1 }, - { 31, 31, 6, 12, 53, 1 }, { 32, 32, 6, 12, 53, 1 }, { 33, 33, 6, 12, 53, 1 }, { 34, 34, 5, 12, 53, 1 }, { 35, 35, 5, 12, 53, 1 }, - { 36, 36, 5, 12, 53, 1 }, { 37, 37, 4, 12, 53, 1 }, { 38, 38, 4, 12, 53, 1 }, { 39, 39, 4, 12, 53, 1 }, { 40, 40, 3, 12, 54, 0 }, - { 41, 41, 3, 12, 54, 0 }, { 42, 42, 2, 12, 54, 0 }, { 43, 43, 2, 12, 54, 0 }, { 44, 44, 1, 12, 54, 0 }, { 45, 45, 1, 12, 54, 0 }, - { 46, 46, 0, 12, 54, 0 }, { 47, 47, 0, 12, 54, 0 }, + 32, { + { 16, 16, 8, 12, 0, 2 }, { 17, 17, 8, 12, 0, 2 }, { 18, 18, 8, 12, 0, 2 }, { 19, 19, 8, 12, 0, 2 }, { 20, 20, 8, 12, 0, 2 }, + { 21, 21, 8, 12, 0, 2 }, { 22, 22, 8, 12, 0, 2 }, { 23, 23, 8, 12, 0, 2 }, { 24, 24, 7, 12, 53, 1 }, { 25, 25, 7, 12, 53, 1 }, + { 26, 26, 7, 12, 53, 1 }, { 27, 27, 7, 12, 53, 1 }, { 28, 28, 7, 12, 53, 1 }, { 29, 29, 7, 12, 53, 1 }, { 30, 30, 6, 12, 53, 1 }, + { 31, 31, 6, 12, 53, 1 }, { 32, 32, 6, 12, 53, 1 }, { 33, 33, 6, 12, 53, 1 }, { 34, 34, 5, 12, 53, 1 }, { 35, 35, 5, 12, 53, 1 }, + { 36, 36, 5, 12, 53, 1 }, { 37, 37, 4, 12, 53, 1 }, { 38, 38, 4, 12, 53, 1 }, { 39, 39, 4, 12, 53, 1 }, { 40, 40, 3, 12, 54, 0 }, + { 41, 41, 3, 12, 54, 0 }, { 42, 42, 2, 12, 54, 0 }, { 43, 43, 2, 12, 54, 0 }, { 44, 44, 1, 12, 54, 0 }, { 45, 45, 1, 12, 54, 0 }, + { 46, 46, 0, 12, 54, 0 }, { 47, 47, 0, 12, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95A8A2 = { - 32, { - { 16, 15, 8, 20, 0, 2 }, { 17, 14, 8, 20, 0, 2 }, { 18, 13, 8, 20, 0, 2 }, { 19, 12, 8, 20, 0, 2 }, { 20, 11, 8, 20, 0, 2 }, - { 21, 10, 8, 20, 0, 2 }, { 22, 9, 8, 20, 0, 2 }, { 23, 8, 8, 20, 0, 2 }, { 24, 7, 7, 20, 53, 1 }, { 25, 6, 7, 20, 53, 1 }, - { 26, 5, 7, 20, 53, 1 }, { 27, 4, 7, 20, 53, 1 }, { 28, 3, 7, 20, 53, 1 }, { 29, 2, 7, 20, 53, 1 }, { 30, 1, 6, 20, 53, 1 }, - { 31, 0, 6, 20, 53, 1 }, { 32, -1, 6, 20, 53, 1 }, { 33, -2, 6, 20, 53, 1 }, { 34, -3, 5, 20, 53, 1 }, { 35, -4, 5, 20, 53, 1 }, - { 36, -5, 5, 20, 53, 1 }, { 37, -6, 4, 20, 53, 1 }, { 38, -7, 4, 20, 53, 1 }, { 39, -8, 4, 20, 53, 1 }, { 40, -9, 3, 20, 54, 0 }, - { 41, -10, 3, 20, 54, 0 }, { 42, -11, 2, 20, 54, 0 }, { 43, -12, 2, 20, 54, 0 }, { 44, -13, 1, 20, 54, 0 }, { 45, -14, 1, 20, 54, 0 }, - { 46, -15, 0, 20, 54, 0 }, { 47, -16, 0, 20, 54, 0 }, + 32, { + { 16, 15, 8, 20, 0, 2 }, { 17, 14, 8, 20, 0, 2 }, { 18, 13, 8, 20, 0, 2 }, { 19, 12, 8, 20, 0, 2 }, { 20, 11, 8, 20, 0, 2 }, + { 21, 10, 8, 20, 0, 2 }, { 22, 9, 8, 20, 0, 2 }, { 23, 8, 8, 20, 0, 2 }, { 24, 7, 7, 20, 53, 1 }, { 25, 6, 7, 20, 53, 1 }, + { 26, 5, 7, 20, 53, 1 }, { 27, 4, 7, 20, 53, 1 }, { 28, 3, 7, 20, 53, 1 }, { 29, 2, 7, 20, 53, 1 }, { 30, 1, 6, 20, 53, 1 }, + { 31, 0, 6, 20, 53, 1 }, { 32, -1, 6, 20, 53, 1 }, { 33, -2, 6, 20, 53, 1 }, { 34, -3, 5, 20, 53, 1 }, { 35, -4, 5, 20, 53, 1 }, + { 36, -5, 5, 20, 53, 1 }, { 37, -6, 4, 20, 53, 1 }, { 38, -7, 4, 20, 53, 1 }, { 39, -8, 4, 20, 53, 1 }, { 40, -9, 3, 20, 54, 0 }, + { 41, -10, 3, 20, 54, 0 }, { 42, -11, 2, 20, 54, 0 }, { 43, -12, 2, 20, 54, 0 }, { 44, -13, 1, 20, 54, 0 }, { 45, -14, 1, 20, 54, 0 }, + { 46, -15, 0, 20, 54, 0 }, { 47, -16, 0, 20, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95A9C4 = { - 32, { - { 15, 15, 8, 28, 0, 2 }, { 14, 14, 8, 28, 0, 2 }, { 13, 13, 8, 28, 0, 2 }, { 12, 12, 8, 28, 0, 2 }, { 11, 11, 8, 28, 0, 2 }, - { 10, 10, 8, 28, 0, 2 }, { 9, 9, 8, 28, 0, 2 }, { 8, 8, 8, 28, 0, 2 }, { 7, 7, 7, 28, 53, 1 }, { 6, 6, 7, 28, 53, 1 }, - { 5, 5, 7, 28, 53, 1 }, { 4, 4, 7, 28, 53, 1 }, { 3, 3, 7, 28, 53, 1 }, { 2, 2, 7, 28, 53, 1 }, { 1, 1, 6, 28, 53, 1 }, - { 0, 0, 6, 28, 53, 1 }, { -1, -1, 6, 28, 53, 1 }, { -2, -2, 6, 28, 53, 1 }, { -3, -3, 5, 28, 53, 1 }, { -4, -4, 5, 28, 53, 1 }, - { -5, -5, 5, 28, 53, 1 }, { -6, -6, 4, 28, 53, 1 }, { -7, -7, 4, 28, 53, 1 }, { -8, -8, 4, 28, 53, 1 }, { -9, -9, 3, 28, 54, 0 }, - { -10, -10, 3, 28, 54, 0 }, { -11, -11, 2, 28, 54, 0 }, { -12, -12, 2, 28, 54, 0 }, { -13, -13, 1, 28, 54, 0 }, { -14, -14, 1, 28, 54, 0 }, - { -15, -15, 0, 28, 54, 0 }, { -16, -16, 0, 28, 54, 0 }, + 32, { + { 15, 15, 8, 28, 0, 2 }, { 14, 14, 8, 28, 0, 2 }, { 13, 13, 8, 28, 0, 2 }, { 12, 12, 8, 28, 0, 2 }, { 11, 11, 8, 28, 0, 2 }, + { 10, 10, 8, 28, 0, 2 }, { 9, 9, 8, 28, 0, 2 }, { 8, 8, 8, 28, 0, 2 }, { 7, 7, 7, 28, 53, 1 }, { 6, 6, 7, 28, 53, 1 }, + { 5, 5, 7, 28, 53, 1 }, { 4, 4, 7, 28, 53, 1 }, { 3, 3, 7, 28, 53, 1 }, { 2, 2, 7, 28, 53, 1 }, { 1, 1, 6, 28, 53, 1 }, + { 0, 0, 6, 28, 53, 1 }, { -1, -1, 6, 28, 53, 1 }, { -2, -2, 6, 28, 53, 1 }, { -3, -3, 5, 28, 53, 1 }, { -4, -4, 5, 28, 53, 1 }, + { -5, -5, 5, 28, 53, 1 }, { -6, -6, 4, 28, 53, 1 }, { -7, -7, 4, 28, 53, 1 }, { -8, -8, 4, 28, 53, 1 }, { -9, -9, 3, 28, 54, 0 }, + { -10, -10, 3, 28, 54, 0 }, { -11, -11, 2, 28, 54, 0 }, { -12, -12, 2, 28, 54, 0 }, { -13, -13, 1, 28, 54, 0 }, { -14, -14, 1, 28, 54, 0 }, + { -15, -15, 0, 28, 54, 0 }, { -16, -16, 0, 28, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95AAE6 = { - 32, { - { 15, 16, 8, 4, 0, 4 }, { 14, 17, 8, 4, 0, 4 }, { 13, 18, 8, 4, 0, 4 }, { 12, 19, 8, 4, 0, 4 }, { 11, 20, 8, 4, 0, 4 }, - { 10, 21, 8, 4, 0, 4 }, { 9, 22, 8, 4, 0, 4 }, { 8, 23, 8, 4, 0, 4 }, { 7, 24, 7, 4, 53, 3 }, { 6, 25, 7, 4, 53, 3 }, - { 5, 26, 7, 4, 53, 3 }, { 4, 27, 7, 4, 53, 3 }, { 3, 28, 7, 4, 53, 3 }, { 2, 29, 7, 4, 53, 3 }, { 1, 30, 6, 4, 53, 3 }, - { 0, 31, 6, 4, 53, 3 }, { -1, 32, 6, 4, 53, 3 }, { -2, 33, 6, 4, 53, 3 }, { -3, 34, 5, 4, 53, 3 }, { -4, 35, 5, 4, 53, 3 }, - { -5, 36, 5, 4, 53, 3 }, { -6, 37, 4, 4, 53, 3 }, { -7, 38, 4, 4, 53, 3 }, { -8, 39, 4, 4, 53, 3 }, { -9, 40, 3, 4, 54, 0 }, - { -10, 41, 3, 4, 54, 0 }, { -11, 42, 2, 4, 54, 0 }, { -12, 43, 2, 4, 54, 0 }, { -13, 44, 1, 4, 54, 0 }, { -14, 45, 1, 4, 54, 0 }, - { -15, 46, 0, 4, 54, 0 }, { -16, 47, 0, 4, 54, 0 }, + 32, { + { 15, 16, 8, 4, 0, 4 }, { 14, 17, 8, 4, 0, 4 }, { 13, 18, 8, 4, 0, 4 }, { 12, 19, 8, 4, 0, 4 }, { 11, 20, 8, 4, 0, 4 }, + { 10, 21, 8, 4, 0, 4 }, { 9, 22, 8, 4, 0, 4 }, { 8, 23, 8, 4, 0, 4 }, { 7, 24, 7, 4, 53, 3 }, { 6, 25, 7, 4, 53, 3 }, + { 5, 26, 7, 4, 53, 3 }, { 4, 27, 7, 4, 53, 3 }, { 3, 28, 7, 4, 53, 3 }, { 2, 29, 7, 4, 53, 3 }, { 1, 30, 6, 4, 53, 3 }, + { 0, 31, 6, 4, 53, 3 }, { -1, 32, 6, 4, 53, 3 }, { -2, 33, 6, 4, 53, 3 }, { -3, 34, 5, 4, 53, 3 }, { -4, 35, 5, 4, 53, 3 }, + { -5, 36, 5, 4, 53, 3 }, { -6, 37, 4, 4, 53, 3 }, { -7, 38, 4, 4, 53, 3 }, { -8, 39, 4, 4, 53, 3 }, { -9, 40, 3, 4, 54, 0 }, + { -10, 41, 3, 4, 54, 0 }, { -11, 42, 2, 4, 54, 0 }, { -12, 43, 2, 4, 54, 0 }, { -13, 44, 1, 4, 54, 0 }, { -14, 45, 1, 4, 54, 0 }, + { -15, 46, 0, 4, 54, 0 }, { -16, 47, 0, 4, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95AC08 = { - 32, { - { 16, 16, 8, 12, 0, 4 }, { 17, 17, 8, 12, 0, 4 }, { 18, 18, 8, 12, 0, 4 }, { 19, 19, 8, 12, 0, 4 }, { 20, 20, 8, 12, 0, 4 }, - { 21, 21, 8, 12, 0, 4 }, { 22, 22, 8, 12, 0, 4 }, { 23, 23, 8, 12, 0, 4 }, { 24, 24, 7, 12, 53, 3 }, { 25, 25, 7, 12, 53, 3 }, - { 26, 26, 7, 12, 53, 3 }, { 27, 27, 7, 12, 53, 3 }, { 28, 28, 7, 12, 53, 3 }, { 29, 29, 7, 12, 53, 3 }, { 30, 30, 6, 12, 53, 3 }, - { 31, 31, 6, 12, 53, 3 }, { 32, 32, 6, 12, 53, 3 }, { 33, 33, 6, 12, 53, 3 }, { 34, 34, 5, 12, 53, 3 }, { 35, 35, 5, 12, 53, 3 }, - { 36, 36, 5, 12, 53, 3 }, { 37, 37, 4, 12, 53, 3 }, { 38, 38, 4, 12, 53, 3 }, { 39, 39, 4, 12, 53, 3 }, { 40, 40, 3, 12, 54, 0 }, - { 41, 41, 3, 12, 54, 0 }, { 42, 42, 2, 12, 54, 0 }, { 43, 43, 2, 12, 54, 0 }, { 44, 44, 1, 12, 54, 0 }, { 45, 45, 1, 12, 54, 0 }, - { 46, 46, 0, 12, 54, 0 }, { 47, 47, 0, 12, 54, 0 }, + 32, { + { 16, 16, 8, 12, 0, 4 }, { 17, 17, 8, 12, 0, 4 }, { 18, 18, 8, 12, 0, 4 }, { 19, 19, 8, 12, 0, 4 }, { 20, 20, 8, 12, 0, 4 }, + { 21, 21, 8, 12, 0, 4 }, { 22, 22, 8, 12, 0, 4 }, { 23, 23, 8, 12, 0, 4 }, { 24, 24, 7, 12, 53, 3 }, { 25, 25, 7, 12, 53, 3 }, + { 26, 26, 7, 12, 53, 3 }, { 27, 27, 7, 12, 53, 3 }, { 28, 28, 7, 12, 53, 3 }, { 29, 29, 7, 12, 53, 3 }, { 30, 30, 6, 12, 53, 3 }, + { 31, 31, 6, 12, 53, 3 }, { 32, 32, 6, 12, 53, 3 }, { 33, 33, 6, 12, 53, 3 }, { 34, 34, 5, 12, 53, 3 }, { 35, 35, 5, 12, 53, 3 }, + { 36, 36, 5, 12, 53, 3 }, { 37, 37, 4, 12, 53, 3 }, { 38, 38, 4, 12, 53, 3 }, { 39, 39, 4, 12, 53, 3 }, { 40, 40, 3, 12, 54, 0 }, + { 41, 41, 3, 12, 54, 0 }, { 42, 42, 2, 12, 54, 0 }, { 43, 43, 2, 12, 54, 0 }, { 44, 44, 1, 12, 54, 0 }, { 45, 45, 1, 12, 54, 0 }, + { 46, 46, 0, 12, 54, 0 }, { 47, 47, 0, 12, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95AD2A = { - 32, { - { 16, 15, 8, 20, 0, 4 }, { 17, 14, 8, 20, 0, 4 }, { 18, 13, 8, 20, 0, 4 }, { 19, 12, 8, 20, 0, 4 }, { 20, 11, 8, 20, 0, 4 }, - { 21, 10, 8, 20, 0, 4 }, { 22, 9, 8, 20, 0, 4 }, { 23, 8, 8, 20, 0, 4 }, { 24, 7, 7, 20, 53, 3 }, { 25, 6, 7, 20, 53, 3 }, - { 26, 5, 7, 20, 53, 3 }, { 27, 4, 7, 20, 53, 3 }, { 28, 3, 7, 20, 53, 3 }, { 29, 2, 7, 20, 53, 3 }, { 30, 1, 6, 20, 53, 3 }, - { 31, 0, 6, 20, 53, 3 }, { 32, -1, 6, 20, 53, 3 }, { 33, -2, 6, 20, 53, 3 }, { 34, -3, 5, 20, 53, 3 }, { 35, -4, 5, 20, 53, 3 }, - { 36, -5, 5, 20, 53, 3 }, { 37, -6, 4, 20, 53, 3 }, { 38, -7, 4, 20, 53, 3 }, { 39, -8, 4, 20, 53, 3 }, { 40, -9, 3, 20, 54, 0 }, - { 41, -10, 3, 20, 54, 0 }, { 42, -11, 2, 20, 54, 0 }, { 43, -12, 2, 20, 54, 0 }, { 44, -13, 1, 20, 54, 0 }, { 45, -14, 1, 20, 54, 0 }, - { 46, -15, 0, 20, 54, 0 }, { 47, -16, 0, 20, 54, 0 }, + 32, { + { 16, 15, 8, 20, 0, 4 }, { 17, 14, 8, 20, 0, 4 }, { 18, 13, 8, 20, 0, 4 }, { 19, 12, 8, 20, 0, 4 }, { 20, 11, 8, 20, 0, 4 }, + { 21, 10, 8, 20, 0, 4 }, { 22, 9, 8, 20, 0, 4 }, { 23, 8, 8, 20, 0, 4 }, { 24, 7, 7, 20, 53, 3 }, { 25, 6, 7, 20, 53, 3 }, + { 26, 5, 7, 20, 53, 3 }, { 27, 4, 7, 20, 53, 3 }, { 28, 3, 7, 20, 53, 3 }, { 29, 2, 7, 20, 53, 3 }, { 30, 1, 6, 20, 53, 3 }, + { 31, 0, 6, 20, 53, 3 }, { 32, -1, 6, 20, 53, 3 }, { 33, -2, 6, 20, 53, 3 }, { 34, -3, 5, 20, 53, 3 }, { 35, -4, 5, 20, 53, 3 }, + { 36, -5, 5, 20, 53, 3 }, { 37, -6, 4, 20, 53, 3 }, { 38, -7, 4, 20, 53, 3 }, { 39, -8, 4, 20, 53, 3 }, { 40, -9, 3, 20, 54, 0 }, + { 41, -10, 3, 20, 54, 0 }, { 42, -11, 2, 20, 54, 0 }, { 43, -12, 2, 20, 54, 0 }, { 44, -13, 1, 20, 54, 0 }, { 45, -14, 1, 20, 54, 0 }, + { 46, -15, 0, 20, 54, 0 }, { 47, -16, 0, 20, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95AE4C = { - 32, { - { 15, 15, 8, 28, 0, 4 }, { 14, 14, 8, 28, 0, 4 }, { 13, 13, 8, 28, 0, 4 }, { 12, 12, 8, 28, 0, 4 }, { 11, 11, 8, 28, 0, 4 }, - { 10, 10, 8, 28, 0, 4 }, { 9, 9, 8, 28, 0, 4 }, { 8, 8, 8, 28, 0, 4 }, { 7, 7, 7, 28, 53, 3 }, { 6, 6, 7, 28, 53, 3 }, - { 5, 5, 7, 28, 53, 3 }, { 4, 4, 7, 28, 53, 3 }, { 3, 3, 7, 28, 53, 3 }, { 2, 2, 7, 28, 53, 3 }, { 1, 1, 6, 28, 53, 3 }, - { 0, 0, 6, 28, 53, 3 }, { -1, -1, 6, 28, 53, 3 }, { -2, -2, 6, 28, 53, 3 }, { -3, -3, 5, 28, 53, 3 }, { -4, -4, 5, 28, 53, 3 }, - { -5, -5, 5, 28, 53, 3 }, { -6, -6, 4, 28, 53, 3 }, { -7, -7, 4, 28, 53, 3 }, { -8, -8, 4, 28, 53, 3 }, { -9, -9, 3, 28, 54, 0 }, - { -10, -10, 3, 28, 54, 0 }, { -11, -11, 2, 28, 54, 0 }, { -12, -12, 2, 28, 54, 0 }, { -13, -13, 1, 28, 54, 0 }, { -14, -14, 1, 28, 54, 0 }, - { -15, -15, 0, 28, 54, 0 }, { -16, -16, 0, 28, 54, 0 }, + 32, { + { 15, 15, 8, 28, 0, 4 }, { 14, 14, 8, 28, 0, 4 }, { 13, 13, 8, 28, 0, 4 }, { 12, 12, 8, 28, 0, 4 }, { 11, 11, 8, 28, 0, 4 }, + { 10, 10, 8, 28, 0, 4 }, { 9, 9, 8, 28, 0, 4 }, { 8, 8, 8, 28, 0, 4 }, { 7, 7, 7, 28, 53, 3 }, { 6, 6, 7, 28, 53, 3 }, + { 5, 5, 7, 28, 53, 3 }, { 4, 4, 7, 28, 53, 3 }, { 3, 3, 7, 28, 53, 3 }, { 2, 2, 7, 28, 53, 3 }, { 1, 1, 6, 28, 53, 3 }, + { 0, 0, 6, 28, 53, 3 }, { -1, -1, 6, 28, 53, 3 }, { -2, -2, 6, 28, 53, 3 }, { -3, -3, 5, 28, 53, 3 }, { -4, -4, 5, 28, 53, 3 }, + { -5, -5, 5, 28, 53, 3 }, { -6, -6, 4, 28, 53, 3 }, { -7, -7, 4, 28, 53, 3 }, { -8, -8, 4, 28, 53, 3 }, { -9, -9, 3, 28, 54, 0 }, + { -10, -10, 3, 28, 54, 0 }, { -11, -11, 2, 28, 54, 0 }, { -12, -12, 2, 28, 54, 0 }, { -13, -13, 1, 28, 54, 0 }, { -14, -14, 1, 28, 54, 0 }, + { -15, -15, 0, 28, 54, 0 }, { -16, -16, 0, 28, 54, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_959D4E = { - 32, { - { 15, 16, 7, 4, 54, 0 }, { 14, 17, 7, 4, 54, 0 }, { 13, 18, 6, 4, 54, 0 }, { 12, 19, 6, 4, 54, 0 }, { 11, 20, 5, 4, 54, 0 }, - { 10, 21, 5, 4, 54, 0 }, { 9, 22, 4, 4, 54, 0 }, { 8, 23, 4, 4, 54, 0 }, { 7, 24, 4, 4, 53, 1 }, { 6, 25, 3, 4, 53, 1 }, - { 5, 26, 3, 4, 53, 1 }, { 4, 27, 3, 4, 53, 1 }, { 3, 28, 2, 4, 53, 1 }, { 2, 29, 2, 4, 53, 1 }, { 1, 30, 2, 4, 53, 1 }, - { 0, 31, 2, 4, 53, 1 }, { -1, 32, 1, 4, 53, 1 }, { -2, 33, 1, 4, 53, 1 }, { -3, 34, 1, 4, 53, 1 }, { -4, 35, 1, 4, 53, 1 }, - { -5, 36, 1, 4, 53, 1 }, { -6, 37, 1, 4, 53, 1 }, { -7, 38, 0, 4, 0, 2 }, { -8, 39, 0, 4, 0, 2 }, { -9, 40, 0, 4, 0, 2 }, - { -10, 41, 0, 4, 0, 2 }, { -11, 42, 0, 4, 0, 2 }, { -12, 43, 0, 4, 0, 2 }, { -13, 44, 0, 4, 0, 2 }, { -14, 45, 0, 4, 0, 2 }, - { -15, 46, 0, 4, 0, 2 }, { -16, 47, 0, 4, 0, 2 }, + 32, { + { 15, 16, 7, 4, 54, 0 }, { 14, 17, 7, 4, 54, 0 }, { 13, 18, 6, 4, 54, 0 }, { 12, 19, 6, 4, 54, 0 }, { 11, 20, 5, 4, 54, 0 }, + { 10, 21, 5, 4, 54, 0 }, { 9, 22, 4, 4, 54, 0 }, { 8, 23, 4, 4, 54, 0 }, { 7, 24, 4, 4, 53, 1 }, { 6, 25, 3, 4, 53, 1 }, + { 5, 26, 3, 4, 53, 1 }, { 4, 27, 3, 4, 53, 1 }, { 3, 28, 2, 4, 53, 1 }, { 2, 29, 2, 4, 53, 1 }, { 1, 30, 2, 4, 53, 1 }, + { 0, 31, 2, 4, 53, 1 }, { -1, 32, 1, 4, 53, 1 }, { -2, 33, 1, 4, 53, 1 }, { -3, 34, 1, 4, 53, 1 }, { -4, 35, 1, 4, 53, 1 }, + { -5, 36, 1, 4, 53, 1 }, { -6, 37, 1, 4, 53, 1 }, { -7, 38, 0, 4, 0, 2 }, { -8, 39, 0, 4, 0, 2 }, { -9, 40, 0, 4, 0, 2 }, + { -10, 41, 0, 4, 0, 2 }, { -11, 42, 0, 4, 0, 2 }, { -12, 43, 0, 4, 0, 2 }, { -13, 44, 0, 4, 0, 2 }, { -14, 45, 0, 4, 0, 2 }, + { -15, 46, 0, 4, 0, 2 }, { -16, 47, 0, 4, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_959E70 = { - 32, { - { 16, 16, 7, 12, 54, 0 }, { 17, 17, 7, 12, 54, 0 }, { 18, 18, 6, 12, 54, 0 }, { 19, 19, 6, 12, 54, 0 }, { 20, 20, 5, 12, 54, 0 }, - { 21, 21, 5, 12, 54, 0 }, { 22, 22, 4, 12, 54, 0 }, { 23, 23, 4, 12, 54, 0 }, { 24, 24, 4, 12, 53, 1 }, { 25, 25, 3, 12, 53, 1 }, - { 26, 26, 3, 12, 53, 1 }, { 27, 27, 3, 12, 53, 1 }, { 28, 28, 2, 12, 53, 1 }, { 29, 29, 2, 12, 53, 1 }, { 30, 30, 2, 12, 53, 1 }, - { 31, 31, 2, 12, 53, 1 }, { 32, 32, 1, 12, 53, 1 }, { 33, 33, 1, 12, 53, 1 }, { 34, 34, 1, 12, 53, 1 }, { 35, 35, 1, 12, 53, 1 }, - { 36, 36, 1, 12, 53, 1 }, { 37, 37, 1, 12, 53, 1 }, { 38, 38, 0, 12, 0, 2 }, { 39, 39, 0, 12, 0, 2 }, { 40, 40, 0, 12, 0, 2 }, - { 41, 41, 0, 12, 0, 2 }, { 42, 42, 0, 12, 0, 2 }, { 43, 43, 0, 12, 0, 2 }, { 44, 44, 0, 12, 0, 2 }, { 45, 45, 0, 12, 0, 2 }, - { 46, 46, 0, 12, 0, 2 }, { 47, 47, 0, 12, 0, 2 }, + 32, { + { 16, 16, 7, 12, 54, 0 }, { 17, 17, 7, 12, 54, 0 }, { 18, 18, 6, 12, 54, 0 }, { 19, 19, 6, 12, 54, 0 }, { 20, 20, 5, 12, 54, 0 }, + { 21, 21, 5, 12, 54, 0 }, { 22, 22, 4, 12, 54, 0 }, { 23, 23, 4, 12, 54, 0 }, { 24, 24, 4, 12, 53, 1 }, { 25, 25, 3, 12, 53, 1 }, + { 26, 26, 3, 12, 53, 1 }, { 27, 27, 3, 12, 53, 1 }, { 28, 28, 2, 12, 53, 1 }, { 29, 29, 2, 12, 53, 1 }, { 30, 30, 2, 12, 53, 1 }, + { 31, 31, 2, 12, 53, 1 }, { 32, 32, 1, 12, 53, 1 }, { 33, 33, 1, 12, 53, 1 }, { 34, 34, 1, 12, 53, 1 }, { 35, 35, 1, 12, 53, 1 }, + { 36, 36, 1, 12, 53, 1 }, { 37, 37, 1, 12, 53, 1 }, { 38, 38, 0, 12, 0, 2 }, { 39, 39, 0, 12, 0, 2 }, { 40, 40, 0, 12, 0, 2 }, + { 41, 41, 0, 12, 0, 2 }, { 42, 42, 0, 12, 0, 2 }, { 43, 43, 0, 12, 0, 2 }, { 44, 44, 0, 12, 0, 2 }, { 45, 45, 0, 12, 0, 2 }, + { 46, 46, 0, 12, 0, 2 }, { 47, 47, 0, 12, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_959F92 = { - 32, { - { 16, 15, 7, 20, 54, 0 }, { 17, 14, 7, 20, 54, 0 }, { 18, 13, 6, 20, 54, 0 }, { 19, 12, 6, 20, 54, 0 }, { 20, 11, 5, 20, 54, 0 }, - { 21, 10, 5, 20, 54, 0 }, { 22, 9, 4, 20, 54, 0 }, { 23, 8, 4, 20, 54, 0 }, { 24, 7, 4, 20, 53, 1 }, { 25, 6, 3, 20, 53, 1 }, - { 26, 5, 3, 20, 53, 1 }, { 27, 4, 3, 20, 53, 1 }, { 28, 3, 2, 20, 53, 1 }, { 29, 2, 2, 20, 53, 1 }, { 30, 1, 2, 20, 53, 1 }, - { 31, 0, 2, 20, 53, 1 }, { 32, -1, 1, 20, 53, 1 }, { 33, -2, 1, 20, 53, 1 }, { 34, -3, 1, 20, 53, 1 }, { 35, -4, 1, 20, 53, 1 }, - { 36, -5, 1, 20, 53, 1 }, { 37, -6, 1, 20, 53, 1 }, { 38, -7, 0, 20, 0, 2 }, { 39, -8, 0, 20, 0, 2 }, { 40, -9, 0, 20, 0, 2 }, - { 41, -10, 0, 20, 0, 2 }, { 42, -11, 0, 20, 0, 2 }, { 43, -12, 0, 20, 0, 2 }, { 44, -13, 0, 20, 0, 2 }, { 45, -14, 0, 20, 0, 2 }, - { 46, -15, 0, 20, 0, 2 }, { 47, -16, 0, 20, 0, 2 }, + 32, { + { 16, 15, 7, 20, 54, 0 }, { 17, 14, 7, 20, 54, 0 }, { 18, 13, 6, 20, 54, 0 }, { 19, 12, 6, 20, 54, 0 }, { 20, 11, 5, 20, 54, 0 }, + { 21, 10, 5, 20, 54, 0 }, { 22, 9, 4, 20, 54, 0 }, { 23, 8, 4, 20, 54, 0 }, { 24, 7, 4, 20, 53, 1 }, { 25, 6, 3, 20, 53, 1 }, + { 26, 5, 3, 20, 53, 1 }, { 27, 4, 3, 20, 53, 1 }, { 28, 3, 2, 20, 53, 1 }, { 29, 2, 2, 20, 53, 1 }, { 30, 1, 2, 20, 53, 1 }, + { 31, 0, 2, 20, 53, 1 }, { 32, -1, 1, 20, 53, 1 }, { 33, -2, 1, 20, 53, 1 }, { 34, -3, 1, 20, 53, 1 }, { 35, -4, 1, 20, 53, 1 }, + { 36, -5, 1, 20, 53, 1 }, { 37, -6, 1, 20, 53, 1 }, { 38, -7, 0, 20, 0, 2 }, { 39, -8, 0, 20, 0, 2 }, { 40, -9, 0, 20, 0, 2 }, + { 41, -10, 0, 20, 0, 2 }, { 42, -11, 0, 20, 0, 2 }, { 43, -12, 0, 20, 0, 2 }, { 44, -13, 0, 20, 0, 2 }, { 45, -14, 0, 20, 0, 2 }, + { 46, -15, 0, 20, 0, 2 }, { 47, -16, 0, 20, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95A0B4 = { - 32, { - { 15, 15, 7, 28, 54, 0 }, { 14, 14, 7, 28, 54, 0 }, { 13, 13, 6, 28, 54, 0 }, { 12, 12, 6, 28, 54, 0 }, { 11, 11, 5, 28, 54, 0 }, - { 10, 10, 5, 28, 54, 0 }, { 9, 9, 4, 28, 54, 0 }, { 8, 8, 4, 28, 54, 0 }, { 7, 7, 4, 28, 53, 1 }, { 6, 6, 3, 28, 53, 1 }, - { 5, 5, 3, 28, 53, 1 }, { 4, 4, 3, 28, 53, 1 }, { 3, 3, 2, 28, 53, 1 }, { 2, 2, 2, 28, 53, 1 }, { 1, 1, 2, 28, 53, 1 }, - { 0, 0, 2, 28, 53, 1 }, { -1, -1, 1, 28, 53, 1 }, { -2, -2, 1, 28, 53, 1 }, { -3, -3, 1, 28, 53, 1 }, { -4, -4, 1, 28, 53, 1 }, - { -5, -5, 1, 28, 53, 1 }, { -6, -6, 1, 28, 53, 1 }, { -7, -7, 0, 28, 0, 2 }, { -8, -8, 0, 28, 0, 2 }, { -9, -9, 0, 28, 0, 2 }, - { -10, -10, 0, 28, 0, 2 }, { -11, -11, 0, 28, 0, 2 }, { -12, -12, 0, 28, 0, 2 }, { -13, -13, 0, 28, 0, 2 }, { -14, -14, 0, 28, 0, 2 }, - { -15, -15, 0, 28, 0, 2 }, { -16, -16, 0, 28, 0, 2 }, + 32, { + { 15, 15, 7, 28, 54, 0 }, { 14, 14, 7, 28, 54, 0 }, { 13, 13, 6, 28, 54, 0 }, { 12, 12, 6, 28, 54, 0 }, { 11, 11, 5, 28, 54, 0 }, + { 10, 10, 5, 28, 54, 0 }, { 9, 9, 4, 28, 54, 0 }, { 8, 8, 4, 28, 54, 0 }, { 7, 7, 4, 28, 53, 1 }, { 6, 6, 3, 28, 53, 1 }, + { 5, 5, 3, 28, 53, 1 }, { 4, 4, 3, 28, 53, 1 }, { 3, 3, 2, 28, 53, 1 }, { 2, 2, 2, 28, 53, 1 }, { 1, 1, 2, 28, 53, 1 }, + { 0, 0, 2, 28, 53, 1 }, { -1, -1, 1, 28, 53, 1 }, { -2, -2, 1, 28, 53, 1 }, { -3, -3, 1, 28, 53, 1 }, { -4, -4, 1, 28, 53, 1 }, + { -5, -5, 1, 28, 53, 1 }, { -6, -6, 1, 28, 53, 1 }, { -7, -7, 0, 28, 0, 2 }, { -8, -8, 0, 28, 0, 2 }, { -9, -9, 0, 28, 0, 2 }, + { -10, -10, 0, 28, 0, 2 }, { -11, -11, 0, 28, 0, 2 }, { -12, -12, 0, 28, 0, 2 }, { -13, -13, 0, 28, 0, 2 }, { -14, -14, 0, 28, 0, 2 }, + { -15, -15, 0, 28, 0, 2 }, { -16, -16, 0, 28, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95A1D6 = { - 32, { - { 15, 16, 7, 4, 54, 0 }, { 14, 17, 7, 4, 54, 0 }, { 13, 18, 6, 4, 54, 0 }, { 12, 19, 6, 4, 54, 0 }, { 11, 20, 5, 4, 54, 0 }, - { 10, 21, 5, 4, 54, 0 }, { 9, 22, 4, 4, 54, 0 }, { 8, 23, 4, 4, 54, 0 }, { 7, 24, 4, 4, 53, 3 }, { 6, 25, 3, 4, 53, 3 }, - { 5, 26, 3, 4, 53, 3 }, { 4, 27, 3, 4, 53, 3 }, { 3, 28, 2, 4, 53, 3 }, { 2, 29, 2, 4, 53, 3 }, { 1, 30, 2, 4, 53, 3 }, - { 0, 31, 2, 4, 53, 3 }, { -1, 32, 1, 4, 53, 3 }, { -2, 33, 1, 4, 53, 3 }, { -3, 34, 1, 4, 53, 3 }, { -4, 35, 1, 4, 53, 3 }, - { -5, 36, 1, 4, 53, 3 }, { -6, 37, 1, 4, 53, 3 }, { -7, 38, 0, 4, 0, 4 }, { -8, 39, 0, 4, 0, 4 }, { -9, 40, 0, 4, 0, 4 }, - { -10, 41, 0, 4, 0, 4 }, { -11, 42, 0, 4, 0, 4 }, { -12, 43, 0, 4, 0, 4 }, { -13, 44, 0, 4, 0, 4 }, { -14, 45, 0, 4, 0, 4 }, - { -15, 46, 0, 4, 0, 4 }, { -16, 47, 0, 4, 0, 4 }, + 32, { + { 15, 16, 7, 4, 54, 0 }, { 14, 17, 7, 4, 54, 0 }, { 13, 18, 6, 4, 54, 0 }, { 12, 19, 6, 4, 54, 0 }, { 11, 20, 5, 4, 54, 0 }, + { 10, 21, 5, 4, 54, 0 }, { 9, 22, 4, 4, 54, 0 }, { 8, 23, 4, 4, 54, 0 }, { 7, 24, 4, 4, 53, 3 }, { 6, 25, 3, 4, 53, 3 }, + { 5, 26, 3, 4, 53, 3 }, { 4, 27, 3, 4, 53, 3 }, { 3, 28, 2, 4, 53, 3 }, { 2, 29, 2, 4, 53, 3 }, { 1, 30, 2, 4, 53, 3 }, + { 0, 31, 2, 4, 53, 3 }, { -1, 32, 1, 4, 53, 3 }, { -2, 33, 1, 4, 53, 3 }, { -3, 34, 1, 4, 53, 3 }, { -4, 35, 1, 4, 53, 3 }, + { -5, 36, 1, 4, 53, 3 }, { -6, 37, 1, 4, 53, 3 }, { -7, 38, 0, 4, 0, 4 }, { -8, 39, 0, 4, 0, 4 }, { -9, 40, 0, 4, 0, 4 }, + { -10, 41, 0, 4, 0, 4 }, { -11, 42, 0, 4, 0, 4 }, { -12, 43, 0, 4, 0, 4 }, { -13, 44, 0, 4, 0, 4 }, { -14, 45, 0, 4, 0, 4 }, + { -15, 46, 0, 4, 0, 4 }, { -16, 47, 0, 4, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95A2F8 = { - 32, { - { 16, 16, 7, 12, 54, 0 }, { 17, 17, 7, 12, 54, 0 }, { 18, 18, 6, 12, 54, 0 }, { 19, 19, 6, 12, 54, 0 }, { 20, 20, 5, 12, 54, 0 }, - { 21, 21, 5, 12, 54, 0 }, { 22, 22, 4, 12, 54, 0 }, { 23, 23, 4, 12, 54, 0 }, { 24, 24, 4, 12, 53, 3 }, { 25, 25, 3, 12, 53, 3 }, - { 26, 26, 3, 12, 53, 3 }, { 27, 27, 3, 12, 53, 3 }, { 28, 28, 2, 12, 53, 3 }, { 29, 29, 2, 12, 53, 3 }, { 30, 30, 2, 12, 53, 3 }, - { 31, 31, 2, 12, 53, 3 }, { 32, 32, 1, 12, 53, 3 }, { 33, 33, 1, 12, 53, 3 }, { 34, 34, 1, 12, 53, 3 }, { 35, 35, 1, 12, 53, 3 }, - { 36, 36, 1, 12, 53, 3 }, { 37, 37, 1, 12, 53, 3 }, { 38, 38, 0, 12, 0, 4 }, { 39, 39, 0, 12, 0, 4 }, { 40, 40, 0, 12, 0, 4 }, - { 41, 41, 0, 12, 0, 4 }, { 42, 42, 0, 12, 0, 4 }, { 43, 43, 0, 12, 0, 4 }, { 44, 44, 0, 12, 0, 4 }, { 45, 45, 0, 12, 0, 4 }, - { 46, 46, 0, 12, 0, 4 }, { 47, 47, 0, 12, 0, 4 }, + 32, { + { 16, 16, 7, 12, 54, 0 }, { 17, 17, 7, 12, 54, 0 }, { 18, 18, 6, 12, 54, 0 }, { 19, 19, 6, 12, 54, 0 }, { 20, 20, 5, 12, 54, 0 }, + { 21, 21, 5, 12, 54, 0 }, { 22, 22, 4, 12, 54, 0 }, { 23, 23, 4, 12, 54, 0 }, { 24, 24, 4, 12, 53, 3 }, { 25, 25, 3, 12, 53, 3 }, + { 26, 26, 3, 12, 53, 3 }, { 27, 27, 3, 12, 53, 3 }, { 28, 28, 2, 12, 53, 3 }, { 29, 29, 2, 12, 53, 3 }, { 30, 30, 2, 12, 53, 3 }, + { 31, 31, 2, 12, 53, 3 }, { 32, 32, 1, 12, 53, 3 }, { 33, 33, 1, 12, 53, 3 }, { 34, 34, 1, 12, 53, 3 }, { 35, 35, 1, 12, 53, 3 }, + { 36, 36, 1, 12, 53, 3 }, { 37, 37, 1, 12, 53, 3 }, { 38, 38, 0, 12, 0, 4 }, { 39, 39, 0, 12, 0, 4 }, { 40, 40, 0, 12, 0, 4 }, + { 41, 41, 0, 12, 0, 4 }, { 42, 42, 0, 12, 0, 4 }, { 43, 43, 0, 12, 0, 4 }, { 44, 44, 0, 12, 0, 4 }, { 45, 45, 0, 12, 0, 4 }, + { 46, 46, 0, 12, 0, 4 }, { 47, 47, 0, 12, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95A41A = { - 32, { - { 16, 15, 7, 20, 54, 0 }, { 17, 14, 7, 20, 54, 0 }, { 18, 13, 6, 20, 54, 0 }, { 19, 12, 6, 20, 54, 0 }, { 20, 11, 5, 20, 54, 0 }, - { 21, 10, 5, 20, 54, 0 }, { 22, 9, 4, 20, 54, 0 }, { 23, 8, 4, 20, 54, 0 }, { 24, 7, 4, 20, 53, 3 }, { 25, 6, 3, 20, 53, 3 }, - { 26, 5, 3, 20, 53, 3 }, { 27, 4, 3, 20, 53, 3 }, { 28, 3, 2, 20, 53, 3 }, { 29, 2, 2, 20, 53, 3 }, { 30, 1, 2, 20, 53, 3 }, - { 31, 0, 2, 20, 53, 3 }, { 32, -1, 1, 20, 53, 3 }, { 33, -2, 1, 20, 53, 3 }, { 34, -3, 1, 20, 53, 3 }, { 35, -4, 1, 20, 53, 3 }, - { 36, -5, 1, 20, 53, 3 }, { 37, -6, 1, 20, 53, 3 }, { 38, -7, 0, 20, 0, 4 }, { 39, -8, 0, 20, 0, 4 }, { 40, -9, 0, 20, 0, 4 }, - { 41, -10, 0, 20, 0, 4 }, { 42, -11, 0, 20, 0, 4 }, { 43, -12, 0, 20, 0, 4 }, { 44, -13, 0, 20, 0, 4 }, { 45, -14, 0, 20, 0, 4 }, - { 46, -15, 0, 20, 0, 4 }, { 47, -16, 0, 20, 0, 4 }, + 32, { + { 16, 15, 7, 20, 54, 0 }, { 17, 14, 7, 20, 54, 0 }, { 18, 13, 6, 20, 54, 0 }, { 19, 12, 6, 20, 54, 0 }, { 20, 11, 5, 20, 54, 0 }, + { 21, 10, 5, 20, 54, 0 }, { 22, 9, 4, 20, 54, 0 }, { 23, 8, 4, 20, 54, 0 }, { 24, 7, 4, 20, 53, 3 }, { 25, 6, 3, 20, 53, 3 }, + { 26, 5, 3, 20, 53, 3 }, { 27, 4, 3, 20, 53, 3 }, { 28, 3, 2, 20, 53, 3 }, { 29, 2, 2, 20, 53, 3 }, { 30, 1, 2, 20, 53, 3 }, + { 31, 0, 2, 20, 53, 3 }, { 32, -1, 1, 20, 53, 3 }, { 33, -2, 1, 20, 53, 3 }, { 34, -3, 1, 20, 53, 3 }, { 35, -4, 1, 20, 53, 3 }, + { 36, -5, 1, 20, 53, 3 }, { 37, -6, 1, 20, 53, 3 }, { 38, -7, 0, 20, 0, 4 }, { 39, -8, 0, 20, 0, 4 }, { 40, -9, 0, 20, 0, 4 }, + { 41, -10, 0, 20, 0, 4 }, { 42, -11, 0, 20, 0, 4 }, { 43, -12, 0, 20, 0, 4 }, { 44, -13, 0, 20, 0, 4 }, { 45, -14, 0, 20, 0, 4 }, + { 46, -15, 0, 20, 0, 4 }, { 47, -16, 0, 20, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95A53C = { - 32, { - { 15, 15, 7, 28, 54, 0 }, { 14, 14, 7, 28, 54, 0 }, { 13, 13, 6, 28, 54, 0 }, { 12, 12, 6, 28, 54, 0 }, { 11, 11, 5, 28, 54, 0 }, - { 10, 10, 5, 28, 54, 0 }, { 9, 9, 4, 28, 54, 0 }, { 8, 8, 4, 28, 54, 0 }, { 7, 7, 4, 28, 53, 3 }, { 6, 6, 3, 28, 53, 3 }, - { 5, 5, 3, 28, 53, 3 }, { 4, 4, 3, 28, 53, 3 }, { 3, 3, 2, 28, 53, 3 }, { 2, 2, 2, 28, 53, 3 }, { 1, 1, 2, 28, 53, 3 }, - { 0, 0, 2, 28, 53, 3 }, { -1, -1, 1, 28, 53, 3 }, { -2, -2, 1, 28, 53, 3 }, { -3, -3, 1, 28, 53, 3 }, { -4, -4, 1, 28, 53, 3 }, - { -5, -5, 1, 28, 53, 3 }, { -6, -6, 1, 28, 53, 3 }, { -7, -7, 0, 28, 0, 4 }, { -8, -8, 0, 28, 0, 4 }, { -9, -9, 0, 28, 0, 4 }, - { -10, -10, 0, 28, 0, 4 }, { -11, -11, 0, 28, 0, 4 }, { -12, -12, 0, 28, 0, 4 }, { -13, -13, 0, 28, 0, 4 }, { -14, -14, 0, 28, 0, 4 }, - { -15, -15, 0, 28, 0, 4 }, { -16, -16, 0, 28, 0, 4 }, + 32, { + { 15, 15, 7, 28, 54, 0 }, { 14, 14, 7, 28, 54, 0 }, { 13, 13, 6, 28, 54, 0 }, { 12, 12, 6, 28, 54, 0 }, { 11, 11, 5, 28, 54, 0 }, + { 10, 10, 5, 28, 54, 0 }, { 9, 9, 4, 28, 54, 0 }, { 8, 8, 4, 28, 54, 0 }, { 7, 7, 4, 28, 53, 3 }, { 6, 6, 3, 28, 53, 3 }, + { 5, 5, 3, 28, 53, 3 }, { 4, 4, 3, 28, 53, 3 }, { 3, 3, 2, 28, 53, 3 }, { 2, 2, 2, 28, 53, 3 }, { 1, 1, 2, 28, 53, 3 }, + { 0, 0, 2, 28, 53, 3 }, { -1, -1, 1, 28, 53, 3 }, { -2, -2, 1, 28, 53, 3 }, { -3, -3, 1, 28, 53, 3 }, { -4, -4, 1, 28, 53, 3 }, + { -5, -5, 1, 28, 53, 3 }, { -6, -6, 1, 28, 53, 3 }, { -7, -7, 0, 28, 0, 4 }, { -8, -8, 0, 28, 0, 4 }, { -9, -9, 0, 28, 0, 4 }, + { -10, -10, 0, 28, 0, 4 }, { -11, -11, 0, 28, 0, 4 }, { -12, -12, 0, 28, 0, 4 }, { -13, -13, 0, 28, 0, 4 }, { -14, -14, 0, 28, 0, 4 }, + { -15, -15, 0, 28, 0, 4 }, { -16, -16, 0, 28, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95AF6E = { - 32, { - { 15, 16, 0, 4, 0, 2 }, { 14, 17, 0, 4, 0, 2 }, { 13, 18, 0, 4, 0, 2 }, { 12, 19, 0, 4, 0, 2 }, { 11, 20, 0, 4, 0, 2 }, - { 10, 21, 0, 4, 0, 2 }, { 9, 22, 0, 4, 0, 2 }, { 8, 23, 0, 4, 0, 2 }, { 7, 24, 0, 4, 0, 2 }, { 6, 25, 0, 4, 0, 2 }, - { 5, 26, 0, 4, 0, 2 }, { 4, 27, 0, 4, 0, 2 }, { 3, 28, 0, 4, 0, 2 }, { 2, 29, 0, 4, 0, 2 }, { 1, 30, 0, 4, 0, 2 }, - { 0, 31, 0, 4, 0, 2 }, { -1, 32, 0, 4, 0, 2 }, { -2, 33, 0, 4, 0, 2 }, { -3, 34, 0, 4, 0, 2 }, { -4, 35, 0, 4, 0, 2 }, - { -5, 36, 0, 4, 0, 2 }, { -6, 37, 0, 4, 0, 2 }, { -7, 38, 0, 4, 0, 2 }, { -8, 39, 0, 4, 0, 2 }, { -9, 40, 0, 4, 0, 2 }, - { -10, 41, 0, 4, 0, 2 }, { -11, 42, 0, 4, 0, 2 }, { -12, 43, 0, 4, 0, 2 }, { -13, 44, 0, 4, 0, 2 }, { -14, 45, 0, 4, 0, 2 }, - { -15, 46, 0, 4, 0, 2 }, { -16, 47, 0, 4, 0, 2 }, + 32, { + { 15, 16, 0, 4, 0, 2 }, { 14, 17, 0, 4, 0, 2 }, { 13, 18, 0, 4, 0, 2 }, { 12, 19, 0, 4, 0, 2 }, { 11, 20, 0, 4, 0, 2 }, + { 10, 21, 0, 4, 0, 2 }, { 9, 22, 0, 4, 0, 2 }, { 8, 23, 0, 4, 0, 2 }, { 7, 24, 0, 4, 0, 2 }, { 6, 25, 0, 4, 0, 2 }, + { 5, 26, 0, 4, 0, 2 }, { 4, 27, 0, 4, 0, 2 }, { 3, 28, 0, 4, 0, 2 }, { 2, 29, 0, 4, 0, 2 }, { 1, 30, 0, 4, 0, 2 }, + { 0, 31, 0, 4, 0, 2 }, { -1, 32, 0, 4, 0, 2 }, { -2, 33, 0, 4, 0, 2 }, { -3, 34, 0, 4, 0, 2 }, { -4, 35, 0, 4, 0, 2 }, + { -5, 36, 0, 4, 0, 2 }, { -6, 37, 0, 4, 0, 2 }, { -7, 38, 0, 4, 0, 2 }, { -8, 39, 0, 4, 0, 2 }, { -9, 40, 0, 4, 0, 2 }, + { -10, 41, 0, 4, 0, 2 }, { -11, 42, 0, 4, 0, 2 }, { -12, 43, 0, 4, 0, 2 }, { -13, 44, 0, 4, 0, 2 }, { -14, 45, 0, 4, 0, 2 }, + { -15, 46, 0, 4, 0, 2 }, { -16, 47, 0, 4, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95B090 = { - 32, { - { 16, 16, 0, 12, 0, 2 }, { 17, 17, 0, 12, 0, 2 }, { 18, 18, 0, 12, 0, 2 }, { 19, 19, 0, 12, 0, 2 }, { 20, 20, 0, 12, 0, 2 }, - { 21, 21, 0, 12, 0, 2 }, { 22, 22, 0, 12, 0, 2 }, { 23, 23, 0, 12, 0, 2 }, { 24, 24, 0, 12, 0, 2 }, { 25, 25, 0, 12, 0, 2 }, - { 26, 26, 0, 12, 0, 2 }, { 27, 27, 0, 12, 0, 2 }, { 28, 28, 0, 12, 0, 2 }, { 29, 29, 0, 12, 0, 2 }, { 30, 30, 0, 12, 0, 2 }, - { 31, 31, 0, 12, 0, 2 }, { 32, 32, 0, 12, 0, 2 }, { 33, 33, 0, 12, 0, 2 }, { 34, 34, 0, 12, 0, 2 }, { 35, 35, 0, 12, 0, 2 }, - { 36, 36, 0, 12, 0, 2 }, { 37, 37, 0, 12, 0, 2 }, { 38, 38, 0, 12, 0, 2 }, { 39, 39, 0, 12, 0, 2 }, { 40, 40, 0, 12, 0, 2 }, - { 41, 41, 0, 12, 0, 2 }, { 42, 42, 0, 12, 0, 2 }, { 43, 43, 0, 12, 0, 2 }, { 44, 44, 0, 12, 0, 2 }, { 45, 45, 0, 12, 0, 2 }, - { 46, 46, 0, 12, 0, 2 }, { 47, 47, 0, 12, 0, 2 }, + 32, { + { 16, 16, 0, 12, 0, 2 }, { 17, 17, 0, 12, 0, 2 }, { 18, 18, 0, 12, 0, 2 }, { 19, 19, 0, 12, 0, 2 }, { 20, 20, 0, 12, 0, 2 }, + { 21, 21, 0, 12, 0, 2 }, { 22, 22, 0, 12, 0, 2 }, { 23, 23, 0, 12, 0, 2 }, { 24, 24, 0, 12, 0, 2 }, { 25, 25, 0, 12, 0, 2 }, + { 26, 26, 0, 12, 0, 2 }, { 27, 27, 0, 12, 0, 2 }, { 28, 28, 0, 12, 0, 2 }, { 29, 29, 0, 12, 0, 2 }, { 30, 30, 0, 12, 0, 2 }, + { 31, 31, 0, 12, 0, 2 }, { 32, 32, 0, 12, 0, 2 }, { 33, 33, 0, 12, 0, 2 }, { 34, 34, 0, 12, 0, 2 }, { 35, 35, 0, 12, 0, 2 }, + { 36, 36, 0, 12, 0, 2 }, { 37, 37, 0, 12, 0, 2 }, { 38, 38, 0, 12, 0, 2 }, { 39, 39, 0, 12, 0, 2 }, { 40, 40, 0, 12, 0, 2 }, + { 41, 41, 0, 12, 0, 2 }, { 42, 42, 0, 12, 0, 2 }, { 43, 43, 0, 12, 0, 2 }, { 44, 44, 0, 12, 0, 2 }, { 45, 45, 0, 12, 0, 2 }, + { 46, 46, 0, 12, 0, 2 }, { 47, 47, 0, 12, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95B1B2 = { - 32, { - { 16, 15, 0, 20, 0, 2 }, { 17, 14, 0, 20, 0, 2 }, { 18, 13, 0, 20, 0, 2 }, { 19, 12, 0, 20, 0, 2 }, { 20, 11, 0, 20, 0, 2 }, - { 21, 10, 0, 20, 0, 2 }, { 22, 9, 0, 20, 0, 2 }, { 23, 8, 0, 20, 0, 2 }, { 24, 7, 0, 20, 0, 2 }, { 25, 6, 0, 20, 0, 2 }, - { 26, 5, 0, 20, 0, 2 }, { 27, 4, 0, 20, 0, 2 }, { 28, 3, 0, 20, 0, 2 }, { 29, 2, 0, 20, 0, 2 }, { 30, 1, 0, 20, 0, 2 }, - { 31, 0, 0, 20, 0, 2 }, { 32, -1, 0, 20, 0, 2 }, { 33, -2, 0, 20, 0, 2 }, { 34, -3, 0, 20, 0, 2 }, { 35, -4, 0, 20, 0, 2 }, - { 36, -5, 0, 20, 0, 2 }, { 37, -6, 0, 20, 0, 2 }, { 38, -7, 0, 20, 0, 2 }, { 39, -8, 0, 20, 0, 2 }, { 40, -9, 0, 20, 0, 2 }, - { 41, -10, 0, 20, 0, 2 }, { 42, -11, 0, 20, 0, 2 }, { 43, -12, 0, 20, 0, 2 }, { 44, -13, 0, 20, 0, 2 }, { 45, -14, 0, 20, 0, 2 }, - { 46, -15, 0, 20, 0, 2 }, { 47, -16, 0, 20, 0, 2 }, + 32, { + { 16, 15, 0, 20, 0, 2 }, { 17, 14, 0, 20, 0, 2 }, { 18, 13, 0, 20, 0, 2 }, { 19, 12, 0, 20, 0, 2 }, { 20, 11, 0, 20, 0, 2 }, + { 21, 10, 0, 20, 0, 2 }, { 22, 9, 0, 20, 0, 2 }, { 23, 8, 0, 20, 0, 2 }, { 24, 7, 0, 20, 0, 2 }, { 25, 6, 0, 20, 0, 2 }, + { 26, 5, 0, 20, 0, 2 }, { 27, 4, 0, 20, 0, 2 }, { 28, 3, 0, 20, 0, 2 }, { 29, 2, 0, 20, 0, 2 }, { 30, 1, 0, 20, 0, 2 }, + { 31, 0, 0, 20, 0, 2 }, { 32, -1, 0, 20, 0, 2 }, { 33, -2, 0, 20, 0, 2 }, { 34, -3, 0, 20, 0, 2 }, { 35, -4, 0, 20, 0, 2 }, + { 36, -5, 0, 20, 0, 2 }, { 37, -6, 0, 20, 0, 2 }, { 38, -7, 0, 20, 0, 2 }, { 39, -8, 0, 20, 0, 2 }, { 40, -9, 0, 20, 0, 2 }, + { 41, -10, 0, 20, 0, 2 }, { 42, -11, 0, 20, 0, 2 }, { 43, -12, 0, 20, 0, 2 }, { 44, -13, 0, 20, 0, 2 }, { 45, -14, 0, 20, 0, 2 }, + { 46, -15, 0, 20, 0, 2 }, { 47, -16, 0, 20, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95B2D4 = { - 32, { - { 15, 15, 0, 28, 0, 2 }, { 14, 14, 0, 28, 0, 2 }, { 13, 13, 0, 28, 0, 2 }, { 12, 12, 0, 28, 0, 2 }, { 11, 11, 0, 28, 0, 2 }, - { 10, 10, 0, 28, 0, 2 }, { 9, 9, 0, 28, 0, 2 }, { 8, 8, 0, 28, 0, 2 }, { 7, 7, 0, 28, 0, 2 }, { 6, 6, 0, 28, 0, 2 }, - { 5, 5, 0, 28, 0, 2 }, { 4, 4, 0, 28, 0, 2 }, { 3, 3, 0, 28, 0, 2 }, { 2, 2, 0, 28, 0, 2 }, { 1, 1, 0, 28, 0, 2 }, - { 0, 0, 0, 28, 0, 2 }, { -1, -1, 0, 28, 0, 2 }, { -2, -2, 0, 28, 0, 2 }, { -3, -3, 0, 28, 0, 2 }, { -4, -4, 0, 28, 0, 2 }, - { -5, -5, 0, 28, 0, 2 }, { -6, -6, 0, 28, 0, 2 }, { -7, -7, 0, 28, 0, 2 }, { -8, -8, 0, 28, 0, 2 }, { -9, -9, 0, 28, 0, 2 }, - { -10, -10, 0, 28, 0, 2 }, { -11, -11, 0, 28, 0, 2 }, { -12, -12, 0, 28, 0, 2 }, { -13, -13, 0, 28, 0, 2 }, { -14, -14, 0, 28, 0, 2 }, - { -15, -15, 0, 28, 0, 2 }, { -16, -16, 0, 28, 0, 2 }, + 32, { + { 15, 15, 0, 28, 0, 2 }, { 14, 14, 0, 28, 0, 2 }, { 13, 13, 0, 28, 0, 2 }, { 12, 12, 0, 28, 0, 2 }, { 11, 11, 0, 28, 0, 2 }, + { 10, 10, 0, 28, 0, 2 }, { 9, 9, 0, 28, 0, 2 }, { 8, 8, 0, 28, 0, 2 }, { 7, 7, 0, 28, 0, 2 }, { 6, 6, 0, 28, 0, 2 }, + { 5, 5, 0, 28, 0, 2 }, { 4, 4, 0, 28, 0, 2 }, { 3, 3, 0, 28, 0, 2 }, { 2, 2, 0, 28, 0, 2 }, { 1, 1, 0, 28, 0, 2 }, + { 0, 0, 0, 28, 0, 2 }, { -1, -1, 0, 28, 0, 2 }, { -2, -2, 0, 28, 0, 2 }, { -3, -3, 0, 28, 0, 2 }, { -4, -4, 0, 28, 0, 2 }, + { -5, -5, 0, 28, 0, 2 }, { -6, -6, 0, 28, 0, 2 }, { -7, -7, 0, 28, 0, 2 }, { -8, -8, 0, 28, 0, 2 }, { -9, -9, 0, 28, 0, 2 }, + { -10, -10, 0, 28, 0, 2 }, { -11, -11, 0, 28, 0, 2 }, { -12, -12, 0, 28, 0, 2 }, { -13, -13, 0, 28, 0, 2 }, { -14, -14, 0, 28, 0, 2 }, + { -15, -15, 0, 28, 0, 2 }, { -16, -16, 0, 28, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95B3F6 = { - 32, { - { 15, 16, 0, 4, 0, 4 }, { 14, 17, 0, 4, 0, 4 }, { 13, 18, 0, 4, 0, 4 }, { 12, 19, 0, 4, 0, 4 }, { 11, 20, 0, 4, 0, 4 }, - { 10, 21, 0, 4, 0, 4 }, { 9, 22, 0, 4, 0, 4 }, { 8, 23, 0, 4, 0, 4 }, { 7, 24, 0, 4, 0, 4 }, { 6, 25, 0, 4, 0, 4 }, - { 5, 26, 0, 4, 0, 4 }, { 4, 27, 0, 4, 0, 4 }, { 3, 28, 0, 4, 0, 4 }, { 2, 29, 0, 4, 0, 4 }, { 1, 30, 0, 4, 0, 4 }, - { 0, 31, 0, 4, 0, 4 }, { -1, 32, 0, 4, 0, 4 }, { -2, 33, 0, 4, 0, 4 }, { -3, 34, 0, 4, 0, 4 }, { -4, 35, 0, 4, 0, 4 }, - { -5, 36, 0, 4, 0, 4 }, { -6, 37, 0, 4, 0, 4 }, { -7, 38, 0, 4, 0, 4 }, { -8, 39, 0, 4, 0, 4 }, { -9, 40, 0, 4, 0, 4 }, - { -10, 41, 0, 4, 0, 4 }, { -11, 42, 0, 4, 0, 4 }, { -12, 43, 0, 4, 0, 4 }, { -13, 44, 0, 4, 0, 4 }, { -14, 45, 0, 4, 0, 4 }, - { -15, 46, 0, 4, 0, 4 }, { -16, 47, 0, 4, 0, 4 }, + 32, { + { 15, 16, 0, 4, 0, 4 }, { 14, 17, 0, 4, 0, 4 }, { 13, 18, 0, 4, 0, 4 }, { 12, 19, 0, 4, 0, 4 }, { 11, 20, 0, 4, 0, 4 }, + { 10, 21, 0, 4, 0, 4 }, { 9, 22, 0, 4, 0, 4 }, { 8, 23, 0, 4, 0, 4 }, { 7, 24, 0, 4, 0, 4 }, { 6, 25, 0, 4, 0, 4 }, + { 5, 26, 0, 4, 0, 4 }, { 4, 27, 0, 4, 0, 4 }, { 3, 28, 0, 4, 0, 4 }, { 2, 29, 0, 4, 0, 4 }, { 1, 30, 0, 4, 0, 4 }, + { 0, 31, 0, 4, 0, 4 }, { -1, 32, 0, 4, 0, 4 }, { -2, 33, 0, 4, 0, 4 }, { -3, 34, 0, 4, 0, 4 }, { -4, 35, 0, 4, 0, 4 }, + { -5, 36, 0, 4, 0, 4 }, { -6, 37, 0, 4, 0, 4 }, { -7, 38, 0, 4, 0, 4 }, { -8, 39, 0, 4, 0, 4 }, { -9, 40, 0, 4, 0, 4 }, + { -10, 41, 0, 4, 0, 4 }, { -11, 42, 0, 4, 0, 4 }, { -12, 43, 0, 4, 0, 4 }, { -13, 44, 0, 4, 0, 4 }, { -14, 45, 0, 4, 0, 4 }, + { -15, 46, 0, 4, 0, 4 }, { -16, 47, 0, 4, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95B518 = { - 32, { - { 16, 16, 0, 12, 0, 4 }, { 17, 17, 0, 12, 0, 4 }, { 18, 18, 0, 12, 0, 4 }, { 19, 19, 0, 12, 0, 4 }, { 20, 20, 0, 12, 0, 4 }, - { 21, 21, 0, 12, 0, 4 }, { 22, 22, 0, 12, 0, 4 }, { 23, 23, 0, 12, 0, 4 }, { 24, 24, 0, 12, 0, 4 }, { 25, 25, 0, 12, 0, 4 }, - { 26, 26, 0, 12, 0, 4 }, { 27, 27, 0, 12, 0, 4 }, { 28, 28, 0, 12, 0, 4 }, { 29, 29, 0, 12, 0, 4 }, { 30, 30, 0, 12, 0, 4 }, - { 31, 31, 0, 12, 0, 4 }, { 32, 32, 0, 12, 0, 4 }, { 33, 33, 0, 12, 0, 4 }, { 34, 34, 0, 12, 0, 4 }, { 35, 35, 0, 12, 0, 4 }, - { 36, 36, 0, 12, 0, 4 }, { 37, 37, 0, 12, 0, 4 }, { 38, 38, 0, 12, 0, 4 }, { 39, 39, 0, 12, 0, 4 }, { 40, 40, 0, 12, 0, 4 }, - { 41, 41, 0, 12, 0, 4 }, { 42, 42, 0, 12, 0, 4 }, { 43, 43, 0, 12, 0, 4 }, { 44, 44, 0, 12, 0, 4 }, { 45, 45, 0, 12, 0, 4 }, - { 46, 46, 0, 12, 0, 4 }, { 47, 47, 0, 12, 0, 4 }, + 32, { + { 16, 16, 0, 12, 0, 4 }, { 17, 17, 0, 12, 0, 4 }, { 18, 18, 0, 12, 0, 4 }, { 19, 19, 0, 12, 0, 4 }, { 20, 20, 0, 12, 0, 4 }, + { 21, 21, 0, 12, 0, 4 }, { 22, 22, 0, 12, 0, 4 }, { 23, 23, 0, 12, 0, 4 }, { 24, 24, 0, 12, 0, 4 }, { 25, 25, 0, 12, 0, 4 }, + { 26, 26, 0, 12, 0, 4 }, { 27, 27, 0, 12, 0, 4 }, { 28, 28, 0, 12, 0, 4 }, { 29, 29, 0, 12, 0, 4 }, { 30, 30, 0, 12, 0, 4 }, + { 31, 31, 0, 12, 0, 4 }, { 32, 32, 0, 12, 0, 4 }, { 33, 33, 0, 12, 0, 4 }, { 34, 34, 0, 12, 0, 4 }, { 35, 35, 0, 12, 0, 4 }, + { 36, 36, 0, 12, 0, 4 }, { 37, 37, 0, 12, 0, 4 }, { 38, 38, 0, 12, 0, 4 }, { 39, 39, 0, 12, 0, 4 }, { 40, 40, 0, 12, 0, 4 }, + { 41, 41, 0, 12, 0, 4 }, { 42, 42, 0, 12, 0, 4 }, { 43, 43, 0, 12, 0, 4 }, { 44, 44, 0, 12, 0, 4 }, { 45, 45, 0, 12, 0, 4 }, + { 46, 46, 0, 12, 0, 4 }, { 47, 47, 0, 12, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95B63A = { - 32, { - { 16, 15, 0, 20, 0, 4 }, { 17, 14, 0, 20, 0, 4 }, { 18, 13, 0, 20, 0, 4 }, { 19, 12, 0, 20, 0, 4 }, { 20, 11, 0, 20, 0, 4 }, - { 21, 10, 0, 20, 0, 4 }, { 22, 9, 0, 20, 0, 4 }, { 23, 8, 0, 20, 0, 4 }, { 24, 7, 0, 20, 0, 4 }, { 25, 6, 0, 20, 0, 4 }, - { 26, 5, 0, 20, 0, 4 }, { 27, 4, 0, 20, 0, 4 }, { 28, 3, 0, 20, 0, 4 }, { 29, 2, 0, 20, 0, 4 }, { 30, 1, 0, 20, 0, 4 }, - { 31, 0, 0, 20, 0, 4 }, { 32, -1, 0, 20, 0, 4 }, { 33, -2, 0, 20, 0, 4 }, { 34, -3, 0, 20, 0, 4 }, { 35, -4, 0, 20, 0, 4 }, - { 36, -5, 0, 20, 0, 4 }, { 37, -6, 0, 20, 0, 4 }, { 38, -7, 0, 20, 0, 4 }, { 39, -8, 0, 20, 0, 4 }, { 40, -9, 0, 20, 0, 4 }, - { 41, -10, 0, 20, 0, 4 }, { 42, -11, 0, 20, 0, 4 }, { 43, -12, 0, 20, 0, 4 }, { 44, -13, 0, 20, 0, 4 }, { 45, -14, 0, 20, 0, 4 }, - { 46, -15, 0, 20, 0, 4 }, { 47, -16, 0, 20, 0, 4 }, + 32, { + { 16, 15, 0, 20, 0, 4 }, { 17, 14, 0, 20, 0, 4 }, { 18, 13, 0, 20, 0, 4 }, { 19, 12, 0, 20, 0, 4 }, { 20, 11, 0, 20, 0, 4 }, + { 21, 10, 0, 20, 0, 4 }, { 22, 9, 0, 20, 0, 4 }, { 23, 8, 0, 20, 0, 4 }, { 24, 7, 0, 20, 0, 4 }, { 25, 6, 0, 20, 0, 4 }, + { 26, 5, 0, 20, 0, 4 }, { 27, 4, 0, 20, 0, 4 }, { 28, 3, 0, 20, 0, 4 }, { 29, 2, 0, 20, 0, 4 }, { 30, 1, 0, 20, 0, 4 }, + { 31, 0, 0, 20, 0, 4 }, { 32, -1, 0, 20, 0, 4 }, { 33, -2, 0, 20, 0, 4 }, { 34, -3, 0, 20, 0, 4 }, { 35, -4, 0, 20, 0, 4 }, + { 36, -5, 0, 20, 0, 4 }, { 37, -6, 0, 20, 0, 4 }, { 38, -7, 0, 20, 0, 4 }, { 39, -8, 0, 20, 0, 4 }, { 40, -9, 0, 20, 0, 4 }, + { 41, -10, 0, 20, 0, 4 }, { 42, -11, 0, 20, 0, 4 }, { 43, -12, 0, 20, 0, 4 }, { 44, -13, 0, 20, 0, 4 }, { 45, -14, 0, 20, 0, 4 }, + { 46, -15, 0, 20, 0, 4 }, { 47, -16, 0, 20, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95B75C = { - 32, { - { 15, 15, 0, 28, 0, 4 }, { 14, 14, 0, 28, 0, 4 }, { 13, 13, 0, 28, 0, 4 }, { 12, 12, 0, 28, 0, 4 }, { 11, 11, 0, 28, 0, 4 }, - { 10, 10, 0, 28, 0, 4 }, { 9, 9, 0, 28, 0, 4 }, { 8, 8, 0, 28, 0, 4 }, { 7, 7, 0, 28, 0, 4 }, { 6, 6, 0, 28, 0, 4 }, - { 5, 5, 0, 28, 0, 4 }, { 4, 4, 0, 28, 0, 4 }, { 3, 3, 0, 28, 0, 4 }, { 2, 2, 0, 28, 0, 4 }, { 1, 1, 0, 28, 0, 4 }, - { 0, 0, 0, 28, 0, 4 }, { -1, -1, 0, 28, 0, 4 }, { -2, -2, 0, 28, 0, 4 }, { -3, -3, 0, 28, 0, 4 }, { -4, -4, 0, 28, 0, 4 }, - { -5, -5, 0, 28, 0, 4 }, { -6, -6, 0, 28, 0, 4 }, { -7, -7, 0, 28, 0, 4 }, { -8, -8, 0, 28, 0, 4 }, { -9, -9, 0, 28, 0, 4 }, - { -10, -10, 0, 28, 0, 4 }, { -11, -11, 0, 28, 0, 4 }, { -12, -12, 0, 28, 0, 4 }, { -13, -13, 0, 28, 0, 4 }, { -14, -14, 0, 28, 0, 4 }, - { -15, -15, 0, 28, 0, 4 }, { -16, -16, 0, 28, 0, 4 }, + 32, { + { 15, 15, 0, 28, 0, 4 }, { 14, 14, 0, 28, 0, 4 }, { 13, 13, 0, 28, 0, 4 }, { 12, 12, 0, 28, 0, 4 }, { 11, 11, 0, 28, 0, 4 }, + { 10, 10, 0, 28, 0, 4 }, { 9, 9, 0, 28, 0, 4 }, { 8, 8, 0, 28, 0, 4 }, { 7, 7, 0, 28, 0, 4 }, { 6, 6, 0, 28, 0, 4 }, + { 5, 5, 0, 28, 0, 4 }, { 4, 4, 0, 28, 0, 4 }, { 3, 3, 0, 28, 0, 4 }, { 2, 2, 0, 28, 0, 4 }, { 1, 1, 0, 28, 0, 4 }, + { 0, 0, 0, 28, 0, 4 }, { -1, -1, 0, 28, 0, 4 }, { -2, -2, 0, 28, 0, 4 }, { -3, -3, 0, 28, 0, 4 }, { -4, -4, 0, 28, 0, 4 }, + { -5, -5, 0, 28, 0, 4 }, { -6, -6, 0, 28, 0, 4 }, { -7, -7, 0, 28, 0, 4 }, { -8, -8, 0, 28, 0, 4 }, { -9, -9, 0, 28, 0, 4 }, + { -10, -10, 0, 28, 0, 4 }, { -11, -11, 0, 28, 0, 4 }, { -12, -12, 0, 28, 0, 4 }, { -13, -13, 0, 28, 0, 4 }, { -14, -14, 0, 28, 0, 4 }, + { -15, -15, 0, 28, 0, 4 }, { -16, -16, 0, 28, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91BE46 = { - 49, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 17, 0, 1, 0, 0 }, { 15, 16, 0, 2, 0, 0 }, { 15, 17, 0, 3, 0, 0 }, - { 15, 16, 0, 4, 0, 0 }, { 15, 17, 0, 5, 0, 0 }, { 15, 16, 0, 6, 0, 0 }, { 15, 17, 0, 7, 0, 0 }, { 15, 16, 0, 8, 0, 0 }, - { 15, 17, 0, 9, 0, 0 }, { 15, 16, 0, 10, 0, 0 }, { 15, 17, 0, 11, 0, 0 }, { 15, 16, 0, 12, 0, 0 }, { 15, 17, 0, 13, 0, 0 }, - { 15, 16, 0, 14, 0, 0 }, { 15, 17, 0, 15, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, - { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, - { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, - { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, + 49, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 17, 0, 1, 0, 0 }, { 15, 16, 0, 2, 0, 0 }, { 15, 17, 0, 3, 0, 0 }, + { 15, 16, 0, 4, 0, 0 }, { 15, 17, 0, 5, 0, 0 }, { 15, 16, 0, 6, 0, 0 }, { 15, 17, 0, 7, 0, 0 }, { 15, 16, 0, 8, 0, 0 }, + { 15, 17, 0, 9, 0, 0 }, { 15, 16, 0, 10, 0, 0 }, { 15, 17, 0, 11, 0, 0 }, { 15, 16, 0, 12, 0, 0 }, { 15, 17, 0, 13, 0, 0 }, + { 15, 16, 0, 14, 0, 0 }, { 15, 17, 0, 15, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, + { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, + { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, + { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91C001 = { - 49, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 15, 0, 8, 0, 0 }, { 15, 16, 0, 8, 0, 0 }, { 15, 17, 0, 9, 0, 0 }, { 15, 16, 0, 10, 0, 0 }, { 15, 17, 0, 11, 0, 0 }, - { 15, 16, 0, 12, 0, 0 }, { 15, 17, 0, 13, 0, 0 }, { 15, 16, 0, 14, 0, 0 }, { 15, 17, 0, 15, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, - { 15, 17, 0, 17, 0, 0 }, { 15, 16, 0, 18, 0, 0 }, { 15, 17, 0, 19, 0, 0 }, { 15, 16, 0, 20, 0, 0 }, { 15, 17, 0, 21, 0, 0 }, - { 15, 16, 0, 22, 0, 0 }, { 15, 17, 0, 23, 0, 0 }, { 15, 16, 0, 24, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, - { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, - { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, - { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, + 49, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 15, 0, 8, 0, 0 }, { 15, 16, 0, 8, 0, 0 }, { 15, 17, 0, 9, 0, 0 }, { 15, 16, 0, 10, 0, 0 }, { 15, 17, 0, 11, 0, 0 }, + { 15, 16, 0, 12, 0, 0 }, { 15, 17, 0, 13, 0, 0 }, { 15, 16, 0, 14, 0, 0 }, { 15, 17, 0, 15, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, + { 15, 17, 0, 17, 0, 0 }, { 15, 16, 0, 18, 0, 0 }, { 15, 17, 0, 19, 0, 0 }, { 15, 16, 0, 20, 0, 0 }, { 15, 17, 0, 21, 0, 0 }, + { 15, 16, 0, 22, 0, 0 }, { 15, 17, 0, 23, 0, 0 }, { 15, 16, 0, 24, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, + { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, + { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, + { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91C1BC = { - 49, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, - { 15, 16, 0, 16, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 15, 17, 0, 17, 0, 0 }, { 15, 16, 0, 18, 0, 0 }, { 15, 17, 0, 19, 0, 0 }, - { 15, 16, 0, 20, 0, 0 }, { 15, 17, 0, 21, 0, 0 }, { 15, 16, 0, 22, 0, 0 }, { 15, 17, 0, 23, 0, 0 }, { 15, 16, 0, 24, 0, 0 }, - { 15, 17, 0, 25, 0, 0 }, { 15, 16, 0, 26, 0, 0 }, { 15, 17, 0, 27, 0, 0 }, { 15, 16, 0, 28, 0, 0 }, { 15, 17, 0, 29, 0, 0 }, - { 15, 16, 0, 30, 0, 0 }, { 15, 17, 0, 31, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, - { 18, 16, 0, 16, 0, 0 }, { 19, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, - { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, - { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, + 49, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, + { 15, 16, 0, 16, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 15, 17, 0, 17, 0, 0 }, { 15, 16, 0, 18, 0, 0 }, { 15, 17, 0, 19, 0, 0 }, + { 15, 16, 0, 20, 0, 0 }, { 15, 17, 0, 21, 0, 0 }, { 15, 16, 0, 22, 0, 0 }, { 15, 17, 0, 23, 0, 0 }, { 15, 16, 0, 24, 0, 0 }, + { 15, 17, 0, 25, 0, 0 }, { 15, 16, 0, 26, 0, 0 }, { 15, 17, 0, 27, 0, 0 }, { 15, 16, 0, 28, 0, 0 }, { 15, 17, 0, 29, 0, 0 }, + { 15, 16, 0, 30, 0, 0 }, { 15, 17, 0, 31, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, + { 18, 16, 0, 16, 0, 0 }, { 19, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, + { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, + { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91C377 = { - 49, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, - { 16, 16, 0, 24, 0, 0 }, { 15, 16, 0, 24, 0, 0 }, { 15, 17, 0, 25, 0, 0 }, { 15, 16, 0, 26, 0, 0 }, { 15, 17, 0, 27, 0, 0 }, - { 15, 16, 0, 28, 0, 0 }, { 15, 17, 0, 29, 0, 0 }, { 15, 16, 0, 30, 0, 0 }, { 15, 17, 0, 31, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, - { 15, 17, 0, 1, 0, 0 }, { 15, 16, 0, 2, 0, 0 }, { 15, 17, 0, 3, 0, 0 }, { 15, 16, 0, 4, 0, 0 }, { 15, 17, 0, 5, 0, 0 }, - { 15, 16, 0, 6, 0, 0 }, { 15, 17, 0, 7, 0, 0 }, { 15, 16, 0, 8, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, - { 16, 13, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, - { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, - { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, + 49, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, + { 16, 16, 0, 24, 0, 0 }, { 15, 16, 0, 24, 0, 0 }, { 15, 17, 0, 25, 0, 0 }, { 15, 16, 0, 26, 0, 0 }, { 15, 17, 0, 27, 0, 0 }, + { 15, 16, 0, 28, 0, 0 }, { 15, 17, 0, 29, 0, 0 }, { 15, 16, 0, 30, 0, 0 }, { 15, 17, 0, 31, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, + { 15, 17, 0, 1, 0, 0 }, { 15, 16, 0, 2, 0, 0 }, { 15, 17, 0, 3, 0, 0 }, { 15, 16, 0, 4, 0, 0 }, { 15, 17, 0, 5, 0, 0 }, + { 15, 16, 0, 6, 0, 0 }, { 15, 17, 0, 7, 0, 0 }, { 15, 16, 0, 8, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, + { 16, 13, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, + { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, + { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91C532 = { - 96, { - { 31, 16, 1, 0, 45, 0 }, { 30, 16, 1, 0, 45, 0 }, { 29, 16, 1, 0, 45, 0 }, { 28, 17, 1, 0, 45, 0 }, { 27, 17, 1, 0, 45, 0 }, - { 26, 17, 1, 0, 45, 0 }, { 25, 17, 1, 0, 45, 1 }, { 24, 18, 1, 0, 45, 1 }, { 23, 18, 1, 0, 45, 1 }, { 22, 18, 1, 0, 45, 1 }, - { 21, 18, 1, 0, 45, 1 }, { 20, 18, 2, 0, 45, 1 }, { 19, 19, 2, 0, 45, 1 }, { 18, 19, 2, 0, 45, 1 }, { 17, 19, 2, 0, 45, 1 }, - { 16, 19, 2, 0, 45, 1 }, { 15, 19, 2, 0, 45, 1 }, { 14, 20, 2, 0, 45, 1 }, { 13, 20, 2, 0, 45, 2 }, { 12, 20, 2, 0, 45, 2 }, - { 11, 20, 3, 0, 45, 2 }, { 10, 20, 3, 0, 45, 2 }, { 9, 21, 3, 0, 45, 2 }, { 8, 21, 3, 0, 45, 2 }, { 7, 21, 3, 0, 45, 2 }, - { 6, 21, 4, 0, 45, 2 }, { 5, 21, 4, 0, 45, 2 }, { 4, 21, 4, 0, 45, 2 }, { 3, 22, 4, 0, 45, 2 }, { 2, 22, 4, 0, 45, 2 }, - { 1, 22, 5, 0, 45, 5 }, { 0, 22, 5, 0, 45, 5 }, { -1, 22, 5, 0, 45, 5 }, { -2, 22, 5, 0, 45, 5 }, { -3, 22, 5, 0, 45, 5 }, - { -4, 22, 6, 0, 45, 5 }, { -5, 22, 6, 0, 45, 5 }, { -6, 23, 6, 0, 45, 5 }, { -7, 23, 6, 0, 45, 5 }, { -8, 23, 7, 0, 45, 5 }, - { -9, 23, 7, 0, 45, 5 }, { -10, 23, 7, 0, 45, 5 }, { -11, 23, 7, 0, 45, 6 }, { -12, 23, 8, 0, 45, 6 }, { -13, 23, 8, 0, 45, 6 }, - { -14, 23, 8, 0, 45, 6 }, { -15, 23, 8, 0, 45, 6 }, { -16, 23, 8, 0, 45, 6 }, { -17, 23, 8, 0, 45, 6 }, { -18, 23, 8, 0, 45, 6 }, - { -19, 23, 9, 0, 45, 6 }, { -20, 23, 9, 0, 45, 6 }, { -21, 23, 9, 0, 45, 6 }, { -22, 23, 9, 0, 45, 6 }, { -23, 23, 10, 0, 45, 7 }, - { -24, 23, 10, 0, 45, 7 }, { -25, 23, 10, 0, 45, 7 }, { -26, 23, 10, 0, 45, 7 }, { -27, 23, 11, 0, 45, 7 }, { -28, 23, 11, 0, 45, 7 }, - { -29, 22, 11, 0, 45, 7 }, { -30, 22, 11, 0, 45, 7 }, { -31, 22, 12, 0, 45, 7 }, { -32, 22, 12, 0, 45, 7 }, { -33, 22, 12, 0, 45, 7 }, - { -34, 22, 12, 0, 45, 7 }, { -35, 22, 12, 0, 45, 8 }, { -36, 22, 13, 0, 45, 8 }, { -37, 22, 13, 0, 45, 8 }, { -38, 21, 13, 0, 45, 8 }, - { -39, 21, 13, 0, 45, 8 }, { -40, 21, 13, 0, 45, 8 }, { -41, 21, 14, 0, 45, 8 }, { -42, 21, 14, 0, 45, 8 }, { -43, 21, 14, 0, 45, 8 }, - { -44, 20, 14, 0, 45, 8 }, { -45, 20, 14, 0, 45, 8 }, { -46, 20, 15, 0, 45, 8 }, { -47, 20, 15, 0, 45, 9 }, { -48, 20, 15, 0, 45, 9 }, - { -49, 19, 15, 0, 45, 9 }, { -50, 19, 15, 0, 45, 9 }, { -51, 19, 15, 0, 45, 9 }, { -52, 19, 15, 0, 45, 9 }, { -53, 19, 15, 0, 45, 9 }, - { -54, 18, 15, 0, 45, 9 }, { -55, 18, 16, 0, 45, 9 }, { -56, 18, 16, 0, 45, 9 }, { -57, 18, 16, 0, 45, 9 }, { -58, 18, 16, 0, 45, 9 }, - { -59, 17, 16, 16, 16, 0 }, { -60, 17, 16, 16, 16, 0 }, { -61, 17, 16, 16, 16, 0 }, { -62, 17, 16, 16, 16, 0 }, { -63, 16, 16, 16, 16, 0 }, - { -64, 16, 16, 16, 16, 0 }, + 96, { + { 31, 16, 1, 0, 45, 0 }, { 30, 16, 1, 0, 45, 0 }, { 29, 16, 1, 0, 45, 0 }, { 28, 17, 1, 0, 45, 0 }, { 27, 17, 1, 0, 45, 0 }, + { 26, 17, 1, 0, 45, 0 }, { 25, 17, 1, 0, 45, 1 }, { 24, 18, 1, 0, 45, 1 }, { 23, 18, 1, 0, 45, 1 }, { 22, 18, 1, 0, 45, 1 }, + { 21, 18, 1, 0, 45, 1 }, { 20, 18, 2, 0, 45, 1 }, { 19, 19, 2, 0, 45, 1 }, { 18, 19, 2, 0, 45, 1 }, { 17, 19, 2, 0, 45, 1 }, + { 16, 19, 2, 0, 45, 1 }, { 15, 19, 2, 0, 45, 1 }, { 14, 20, 2, 0, 45, 1 }, { 13, 20, 2, 0, 45, 2 }, { 12, 20, 2, 0, 45, 2 }, + { 11, 20, 3, 0, 45, 2 }, { 10, 20, 3, 0, 45, 2 }, { 9, 21, 3, 0, 45, 2 }, { 8, 21, 3, 0, 45, 2 }, { 7, 21, 3, 0, 45, 2 }, + { 6, 21, 4, 0, 45, 2 }, { 5, 21, 4, 0, 45, 2 }, { 4, 21, 4, 0, 45, 2 }, { 3, 22, 4, 0, 45, 2 }, { 2, 22, 4, 0, 45, 2 }, + { 1, 22, 5, 0, 45, 5 }, { 0, 22, 5, 0, 45, 5 }, { -1, 22, 5, 0, 45, 5 }, { -2, 22, 5, 0, 45, 5 }, { -3, 22, 5, 0, 45, 5 }, + { -4, 22, 6, 0, 45, 5 }, { -5, 22, 6, 0, 45, 5 }, { -6, 23, 6, 0, 45, 5 }, { -7, 23, 6, 0, 45, 5 }, { -8, 23, 7, 0, 45, 5 }, + { -9, 23, 7, 0, 45, 5 }, { -10, 23, 7, 0, 45, 5 }, { -11, 23, 7, 0, 45, 6 }, { -12, 23, 8, 0, 45, 6 }, { -13, 23, 8, 0, 45, 6 }, + { -14, 23, 8, 0, 45, 6 }, { -15, 23, 8, 0, 45, 6 }, { -16, 23, 8, 0, 45, 6 }, { -17, 23, 8, 0, 45, 6 }, { -18, 23, 8, 0, 45, 6 }, + { -19, 23, 9, 0, 45, 6 }, { -20, 23, 9, 0, 45, 6 }, { -21, 23, 9, 0, 45, 6 }, { -22, 23, 9, 0, 45, 6 }, { -23, 23, 10, 0, 45, 7 }, + { -24, 23, 10, 0, 45, 7 }, { -25, 23, 10, 0, 45, 7 }, { -26, 23, 10, 0, 45, 7 }, { -27, 23, 11, 0, 45, 7 }, { -28, 23, 11, 0, 45, 7 }, + { -29, 22, 11, 0, 45, 7 }, { -30, 22, 11, 0, 45, 7 }, { -31, 22, 12, 0, 45, 7 }, { -32, 22, 12, 0, 45, 7 }, { -33, 22, 12, 0, 45, 7 }, + { -34, 22, 12, 0, 45, 7 }, { -35, 22, 12, 0, 45, 8 }, { -36, 22, 13, 0, 45, 8 }, { -37, 22, 13, 0, 45, 8 }, { -38, 21, 13, 0, 45, 8 }, + { -39, 21, 13, 0, 45, 8 }, { -40, 21, 13, 0, 45, 8 }, { -41, 21, 14, 0, 45, 8 }, { -42, 21, 14, 0, 45, 8 }, { -43, 21, 14, 0, 45, 8 }, + { -44, 20, 14, 0, 45, 8 }, { -45, 20, 14, 0, 45, 8 }, { -46, 20, 15, 0, 45, 8 }, { -47, 20, 15, 0, 45, 9 }, { -48, 20, 15, 0, 45, 9 }, + { -49, 19, 15, 0, 45, 9 }, { -50, 19, 15, 0, 45, 9 }, { -51, 19, 15, 0, 45, 9 }, { -52, 19, 15, 0, 45, 9 }, { -53, 19, 15, 0, 45, 9 }, + { -54, 18, 15, 0, 45, 9 }, { -55, 18, 16, 0, 45, 9 }, { -56, 18, 16, 0, 45, 9 }, { -57, 18, 16, 0, 45, 9 }, { -58, 18, 16, 0, 45, 9 }, + { -59, 17, 16, 16, 16, 0 }, { -60, 17, 16, 16, 16, 0 }, { -61, 17, 16, 16, 16, 0 }, { -62, 17, 16, 16, 16, 0 }, { -63, 16, 16, 16, 16, 0 }, + { -64, 16, 16, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91C894 = { - 96, { - { 16, 0, 1, 8, 45, 0 }, { 16, 1, 1, 8, 45, 0 }, { 16, 2, 1, 8, 45, 0 }, { 17, 3, 1, 8, 45, 0 }, { 17, 4, 1, 8, 45, 0 }, - { 17, 5, 1, 8, 45, 0 }, { 17, 6, 1, 8, 45, 1 }, { 18, 7, 1, 8, 45, 1 }, { 18, 8, 1, 8, 45, 1 }, { 18, 9, 1, 8, 45, 1 }, - { 18, 10, 1, 8, 45, 1 }, { 18, 11, 2, 8, 45, 1 }, { 19, 12, 2, 8, 45, 1 }, { 19, 13, 2, 8, 45, 1 }, { 19, 14, 2, 8, 45, 1 }, - { 19, 15, 2, 8, 45, 1 }, { 19, 16, 2, 8, 45, 1 }, { 20, 17, 2, 8, 45, 1 }, { 20, 18, 2, 8, 45, 2 }, { 20, 19, 2, 8, 45, 2 }, - { 20, 20, 3, 8, 45, 2 }, { 20, 21, 3, 8, 45, 2 }, { 21, 22, 3, 8, 45, 2 }, { 21, 23, 3, 8, 45, 2 }, { 21, 24, 3, 8, 45, 2 }, - { 21, 25, 4, 8, 45, 2 }, { 21, 26, 4, 8, 45, 2 }, { 21, 27, 4, 8, 45, 2 }, { 22, 28, 4, 8, 45, 2 }, { 22, 29, 4, 8, 45, 2 }, - { 22, 30, 5, 8, 45, 5 }, { 22, 31, 5, 8, 45, 5 }, { 22, 32, 5, 8, 45, 5 }, { 22, 33, 5, 8, 45, 5 }, { 22, 34, 5, 8, 45, 5 }, - { 22, 35, 6, 8, 45, 5 }, { 22, 36, 6, 8, 45, 5 }, { 23, 37, 6, 8, 45, 5 }, { 23, 38, 6, 8, 45, 5 }, { 23, 39, 7, 8, 45, 5 }, - { 23, 40, 7, 8, 45, 5 }, { 23, 41, 7, 8, 45, 5 }, { 23, 42, 7, 8, 45, 6 }, { 23, 43, 8, 8, 45, 6 }, { 23, 44, 8, 8, 45, 6 }, - { 23, 45, 8, 8, 45, 6 }, { 23, 46, 8, 8, 45, 6 }, { 23, 47, 8, 8, 45, 6 }, { 23, 48, 8, 8, 45, 6 }, { 23, 49, 8, 8, 45, 6 }, - { 23, 50, 9, 8, 45, 6 }, { 23, 51, 9, 8, 45, 6 }, { 23, 52, 9, 8, 45, 6 }, { 23, 53, 9, 8, 45, 6 }, { 23, 54, 10, 8, 45, 7 }, - { 23, 55, 10, 8, 45, 7 }, { 23, 56, 10, 8, 45, 7 }, { 23, 57, 10, 8, 45, 7 }, { 23, 58, 11, 8, 45, 7 }, { 23, 59, 11, 8, 45, 7 }, - { 22, 60, 11, 8, 45, 7 }, { 22, 61, 11, 8, 45, 7 }, { 22, 62, 12, 8, 45, 7 }, { 22, 63, 12, 8, 45, 7 }, { 22, 64, 12, 8, 45, 7 }, - { 22, 65, 12, 8, 45, 7 }, { 22, 66, 12, 8, 45, 8 }, { 22, 67, 13, 8, 45, 8 }, { 22, 68, 13, 8, 45, 8 }, { 21, 69, 13, 8, 45, 8 }, - { 21, 70, 13, 8, 45, 8 }, { 21, 71, 13, 8, 45, 8 }, { 21, 72, 14, 8, 45, 8 }, { 21, 73, 14, 8, 45, 8 }, { 21, 74, 14, 8, 45, 8 }, - { 20, 75, 14, 8, 45, 8 }, { 20, 76, 14, 8, 45, 8 }, { 20, 77, 15, 8, 45, 8 }, { 20, 78, 15, 8, 45, 9 }, { 20, 79, 15, 8, 45, 9 }, - { 19, 80, 15, 8, 45, 9 }, { 19, 81, 15, 8, 45, 9 }, { 19, 82, 15, 8, 45, 9 }, { 19, 83, 15, 8, 45, 9 }, { 19, 84, 15, 8, 45, 9 }, - { 18, 85, 15, 8, 45, 9 }, { 18, 86, 16, 8, 45, 9 }, { 18, 87, 16, 8, 45, 9 }, { 18, 88, 16, 8, 45, 9 }, { 18, 89, 16, 8, 45, 9 }, - { 17, 90, 16, 24, 16, 0 }, { 17, 91, 16, 24, 16, 0 }, { 17, 92, 16, 24, 16, 0 }, { 17, 93, 16, 24, 16, 0 }, { 16, 94, 16, 24, 16, 0 }, - { 16, 95, 16, 24, 16, 0 }, + 96, { + { 16, 0, 1, 8, 45, 0 }, { 16, 1, 1, 8, 45, 0 }, { 16, 2, 1, 8, 45, 0 }, { 17, 3, 1, 8, 45, 0 }, { 17, 4, 1, 8, 45, 0 }, + { 17, 5, 1, 8, 45, 0 }, { 17, 6, 1, 8, 45, 1 }, { 18, 7, 1, 8, 45, 1 }, { 18, 8, 1, 8, 45, 1 }, { 18, 9, 1, 8, 45, 1 }, + { 18, 10, 1, 8, 45, 1 }, { 18, 11, 2, 8, 45, 1 }, { 19, 12, 2, 8, 45, 1 }, { 19, 13, 2, 8, 45, 1 }, { 19, 14, 2, 8, 45, 1 }, + { 19, 15, 2, 8, 45, 1 }, { 19, 16, 2, 8, 45, 1 }, { 20, 17, 2, 8, 45, 1 }, { 20, 18, 2, 8, 45, 2 }, { 20, 19, 2, 8, 45, 2 }, + { 20, 20, 3, 8, 45, 2 }, { 20, 21, 3, 8, 45, 2 }, { 21, 22, 3, 8, 45, 2 }, { 21, 23, 3, 8, 45, 2 }, { 21, 24, 3, 8, 45, 2 }, + { 21, 25, 4, 8, 45, 2 }, { 21, 26, 4, 8, 45, 2 }, { 21, 27, 4, 8, 45, 2 }, { 22, 28, 4, 8, 45, 2 }, { 22, 29, 4, 8, 45, 2 }, + { 22, 30, 5, 8, 45, 5 }, { 22, 31, 5, 8, 45, 5 }, { 22, 32, 5, 8, 45, 5 }, { 22, 33, 5, 8, 45, 5 }, { 22, 34, 5, 8, 45, 5 }, + { 22, 35, 6, 8, 45, 5 }, { 22, 36, 6, 8, 45, 5 }, { 23, 37, 6, 8, 45, 5 }, { 23, 38, 6, 8, 45, 5 }, { 23, 39, 7, 8, 45, 5 }, + { 23, 40, 7, 8, 45, 5 }, { 23, 41, 7, 8, 45, 5 }, { 23, 42, 7, 8, 45, 6 }, { 23, 43, 8, 8, 45, 6 }, { 23, 44, 8, 8, 45, 6 }, + { 23, 45, 8, 8, 45, 6 }, { 23, 46, 8, 8, 45, 6 }, { 23, 47, 8, 8, 45, 6 }, { 23, 48, 8, 8, 45, 6 }, { 23, 49, 8, 8, 45, 6 }, + { 23, 50, 9, 8, 45, 6 }, { 23, 51, 9, 8, 45, 6 }, { 23, 52, 9, 8, 45, 6 }, { 23, 53, 9, 8, 45, 6 }, { 23, 54, 10, 8, 45, 7 }, + { 23, 55, 10, 8, 45, 7 }, { 23, 56, 10, 8, 45, 7 }, { 23, 57, 10, 8, 45, 7 }, { 23, 58, 11, 8, 45, 7 }, { 23, 59, 11, 8, 45, 7 }, + { 22, 60, 11, 8, 45, 7 }, { 22, 61, 11, 8, 45, 7 }, { 22, 62, 12, 8, 45, 7 }, { 22, 63, 12, 8, 45, 7 }, { 22, 64, 12, 8, 45, 7 }, + { 22, 65, 12, 8, 45, 7 }, { 22, 66, 12, 8, 45, 8 }, { 22, 67, 13, 8, 45, 8 }, { 22, 68, 13, 8, 45, 8 }, { 21, 69, 13, 8, 45, 8 }, + { 21, 70, 13, 8, 45, 8 }, { 21, 71, 13, 8, 45, 8 }, { 21, 72, 14, 8, 45, 8 }, { 21, 73, 14, 8, 45, 8 }, { 21, 74, 14, 8, 45, 8 }, + { 20, 75, 14, 8, 45, 8 }, { 20, 76, 14, 8, 45, 8 }, { 20, 77, 15, 8, 45, 8 }, { 20, 78, 15, 8, 45, 9 }, { 20, 79, 15, 8, 45, 9 }, + { 19, 80, 15, 8, 45, 9 }, { 19, 81, 15, 8, 45, 9 }, { 19, 82, 15, 8, 45, 9 }, { 19, 83, 15, 8, 45, 9 }, { 19, 84, 15, 8, 45, 9 }, + { 18, 85, 15, 8, 45, 9 }, { 18, 86, 16, 8, 45, 9 }, { 18, 87, 16, 8, 45, 9 }, { 18, 88, 16, 8, 45, 9 }, { 18, 89, 16, 8, 45, 9 }, + { 17, 90, 16, 24, 16, 0 }, { 17, 91, 16, 24, 16, 0 }, { 17, 92, 16, 24, 16, 0 }, { 17, 93, 16, 24, 16, 0 }, { 16, 94, 16, 24, 16, 0 }, + { 16, 95, 16, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91CBF6 = { - 96, { - { 0, 16, 1, 16, 45, 0 }, { 1, 16, 1, 16, 45, 0 }, { 2, 16, 1, 16, 45, 0 }, { 3, 15, 1, 16, 45, 0 }, { 4, 15, 1, 16, 45, 0 }, - { 5, 15, 1, 16, 45, 0 }, { 6, 15, 1, 16, 45, 1 }, { 7, 14, 1, 16, 45, 1 }, { 8, 14, 1, 16, 45, 1 }, { 9, 14, 1, 16, 45, 1 }, - { 10, 14, 1, 16, 45, 1 }, { 11, 14, 2, 16, 45, 1 }, { 12, 13, 2, 16, 45, 1 }, { 13, 13, 2, 16, 45, 1 }, { 14, 13, 2, 16, 45, 1 }, - { 15, 13, 2, 16, 45, 1 }, { 16, 13, 2, 16, 45, 1 }, { 17, 12, 2, 16, 45, 1 }, { 18, 12, 2, 16, 45, 2 }, { 19, 12, 2, 16, 45, 2 }, - { 20, 12, 3, 16, 45, 2 }, { 21, 12, 3, 16, 45, 2 }, { 22, 11, 3, 16, 45, 2 }, { 23, 11, 3, 16, 45, 2 }, { 24, 11, 3, 16, 45, 2 }, - { 25, 11, 4, 16, 45, 2 }, { 26, 11, 4, 16, 45, 2 }, { 27, 11, 4, 16, 45, 2 }, { 28, 10, 4, 16, 45, 2 }, { 29, 10, 4, 16, 45, 2 }, - { 30, 10, 5, 16, 45, 5 }, { 31, 10, 5, 16, 45, 5 }, { 32, 10, 5, 16, 45, 5 }, { 33, 10, 5, 16, 45, 5 }, { 34, 10, 5, 16, 45, 5 }, - { 35, 10, 6, 16, 45, 5 }, { 36, 10, 6, 16, 45, 5 }, { 37, 9, 6, 16, 45, 5 }, { 38, 9, 6, 16, 45, 5 }, { 39, 9, 7, 16, 45, 5 }, - { 40, 9, 7, 16, 45, 5 }, { 41, 9, 7, 16, 45, 5 }, { 42, 9, 7, 16, 45, 6 }, { 43, 9, 8, 16, 45, 6 }, { 44, 9, 8, 16, 45, 6 }, - { 45, 9, 8, 16, 45, 6 }, { 46, 9, 8, 16, 45, 6 }, { 47, 9, 8, 16, 45, 6 }, { 48, 9, 8, 16, 45, 6 }, { 49, 9, 8, 16, 45, 6 }, - { 50, 9, 9, 16, 45, 6 }, { 51, 9, 9, 16, 45, 6 }, { 52, 9, 9, 16, 45, 6 }, { 53, 9, 9, 16, 45, 6 }, { 54, 9, 10, 16, 45, 7 }, - { 55, 9, 10, 16, 45, 7 }, { 56, 9, 10, 16, 45, 7 }, { 57, 9, 10, 16, 45, 7 }, { 58, 9, 11, 16, 45, 7 }, { 59, 9, 11, 16, 45, 7 }, - { 60, 10, 11, 16, 45, 7 }, { 61, 10, 11, 16, 45, 7 }, { 62, 10, 12, 16, 45, 7 }, { 63, 10, 12, 16, 45, 7 }, { 64, 10, 12, 16, 45, 7 }, - { 65, 10, 12, 16, 45, 7 }, { 66, 10, 12, 16, 45, 8 }, { 67, 10, 13, 16, 45, 8 }, { 68, 10, 13, 16, 45, 8 }, { 69, 11, 13, 16, 45, 8 }, - { 70, 11, 13, 16, 45, 8 }, { 71, 11, 13, 16, 45, 8 }, { 72, 11, 14, 16, 45, 8 }, { 73, 11, 14, 16, 45, 8 }, { 74, 11, 14, 16, 45, 8 }, - { 75, 12, 14, 16, 45, 8 }, { 76, 12, 14, 16, 45, 8 }, { 77, 12, 15, 16, 45, 8 }, { 78, 12, 15, 16, 45, 9 }, { 79, 12, 15, 16, 45, 9 }, - { 80, 13, 15, 16, 45, 9 }, { 81, 13, 15, 16, 45, 9 }, { 82, 13, 15, 16, 45, 9 }, { 83, 13, 15, 16, 45, 9 }, { 84, 13, 15, 16, 45, 9 }, - { 85, 14, 15, 16, 45, 9 }, { 86, 14, 16, 16, 45, 9 }, { 87, 14, 16, 16, 45, 9 }, { 88, 14, 16, 16, 45, 9 }, { 89, 14, 16, 16, 45, 9 }, - { 90, 15, 16, 0, 16, 0 }, { 91, 15, 16, 0, 16, 0 }, { 92, 15, 16, 0, 16, 0 }, { 93, 15, 16, 0, 16, 0 }, { 94, 16, 16, 0, 16, 0 }, - { 95, 16, 16, 0, 16, 0 }, + 96, { + { 0, 16, 1, 16, 45, 0 }, { 1, 16, 1, 16, 45, 0 }, { 2, 16, 1, 16, 45, 0 }, { 3, 15, 1, 16, 45, 0 }, { 4, 15, 1, 16, 45, 0 }, + { 5, 15, 1, 16, 45, 0 }, { 6, 15, 1, 16, 45, 1 }, { 7, 14, 1, 16, 45, 1 }, { 8, 14, 1, 16, 45, 1 }, { 9, 14, 1, 16, 45, 1 }, + { 10, 14, 1, 16, 45, 1 }, { 11, 14, 2, 16, 45, 1 }, { 12, 13, 2, 16, 45, 1 }, { 13, 13, 2, 16, 45, 1 }, { 14, 13, 2, 16, 45, 1 }, + { 15, 13, 2, 16, 45, 1 }, { 16, 13, 2, 16, 45, 1 }, { 17, 12, 2, 16, 45, 1 }, { 18, 12, 2, 16, 45, 2 }, { 19, 12, 2, 16, 45, 2 }, + { 20, 12, 3, 16, 45, 2 }, { 21, 12, 3, 16, 45, 2 }, { 22, 11, 3, 16, 45, 2 }, { 23, 11, 3, 16, 45, 2 }, { 24, 11, 3, 16, 45, 2 }, + { 25, 11, 4, 16, 45, 2 }, { 26, 11, 4, 16, 45, 2 }, { 27, 11, 4, 16, 45, 2 }, { 28, 10, 4, 16, 45, 2 }, { 29, 10, 4, 16, 45, 2 }, + { 30, 10, 5, 16, 45, 5 }, { 31, 10, 5, 16, 45, 5 }, { 32, 10, 5, 16, 45, 5 }, { 33, 10, 5, 16, 45, 5 }, { 34, 10, 5, 16, 45, 5 }, + { 35, 10, 6, 16, 45, 5 }, { 36, 10, 6, 16, 45, 5 }, { 37, 9, 6, 16, 45, 5 }, { 38, 9, 6, 16, 45, 5 }, { 39, 9, 7, 16, 45, 5 }, + { 40, 9, 7, 16, 45, 5 }, { 41, 9, 7, 16, 45, 5 }, { 42, 9, 7, 16, 45, 6 }, { 43, 9, 8, 16, 45, 6 }, { 44, 9, 8, 16, 45, 6 }, + { 45, 9, 8, 16, 45, 6 }, { 46, 9, 8, 16, 45, 6 }, { 47, 9, 8, 16, 45, 6 }, { 48, 9, 8, 16, 45, 6 }, { 49, 9, 8, 16, 45, 6 }, + { 50, 9, 9, 16, 45, 6 }, { 51, 9, 9, 16, 45, 6 }, { 52, 9, 9, 16, 45, 6 }, { 53, 9, 9, 16, 45, 6 }, { 54, 9, 10, 16, 45, 7 }, + { 55, 9, 10, 16, 45, 7 }, { 56, 9, 10, 16, 45, 7 }, { 57, 9, 10, 16, 45, 7 }, { 58, 9, 11, 16, 45, 7 }, { 59, 9, 11, 16, 45, 7 }, + { 60, 10, 11, 16, 45, 7 }, { 61, 10, 11, 16, 45, 7 }, { 62, 10, 12, 16, 45, 7 }, { 63, 10, 12, 16, 45, 7 }, { 64, 10, 12, 16, 45, 7 }, + { 65, 10, 12, 16, 45, 7 }, { 66, 10, 12, 16, 45, 8 }, { 67, 10, 13, 16, 45, 8 }, { 68, 10, 13, 16, 45, 8 }, { 69, 11, 13, 16, 45, 8 }, + { 70, 11, 13, 16, 45, 8 }, { 71, 11, 13, 16, 45, 8 }, { 72, 11, 14, 16, 45, 8 }, { 73, 11, 14, 16, 45, 8 }, { 74, 11, 14, 16, 45, 8 }, + { 75, 12, 14, 16, 45, 8 }, { 76, 12, 14, 16, 45, 8 }, { 77, 12, 15, 16, 45, 8 }, { 78, 12, 15, 16, 45, 9 }, { 79, 12, 15, 16, 45, 9 }, + { 80, 13, 15, 16, 45, 9 }, { 81, 13, 15, 16, 45, 9 }, { 82, 13, 15, 16, 45, 9 }, { 83, 13, 15, 16, 45, 9 }, { 84, 13, 15, 16, 45, 9 }, + { 85, 14, 15, 16, 45, 9 }, { 86, 14, 16, 16, 45, 9 }, { 87, 14, 16, 16, 45, 9 }, { 88, 14, 16, 16, 45, 9 }, { 89, 14, 16, 16, 45, 9 }, + { 90, 15, 16, 0, 16, 0 }, { 91, 15, 16, 0, 16, 0 }, { 92, 15, 16, 0, 16, 0 }, { 93, 15, 16, 0, 16, 0 }, { 94, 16, 16, 0, 16, 0 }, + { 95, 16, 16, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91CF58 = { - 96, { - { 16, 31, 1, 24, 45, 0 }, { 16, 30, 1, 24, 45, 0 }, { 16, 29, 1, 24, 45, 0 }, { 15, 28, 1, 24, 45, 0 }, { 15, 27, 1, 24, 45, 0 }, - { 15, 26, 1, 24, 45, 0 }, { 15, 25, 1, 24, 45, 1 }, { 14, 24, 1, 24, 45, 1 }, { 14, 23, 1, 24, 45, 1 }, { 14, 22, 1, 24, 45, 1 }, - { 14, 21, 1, 24, 45, 1 }, { 14, 20, 2, 24, 45, 1 }, { 13, 19, 2, 24, 45, 1 }, { 13, 18, 2, 24, 45, 1 }, { 13, 17, 2, 24, 45, 1 }, - { 13, 16, 2, 24, 45, 1 }, { 13, 15, 2, 24, 45, 1 }, { 12, 14, 2, 24, 45, 1 }, { 12, 13, 2, 24, 45, 2 }, { 12, 12, 2, 24, 45, 2 }, - { 12, 11, 3, 24, 45, 2 }, { 12, 10, 3, 24, 45, 2 }, { 11, 9, 3, 24, 45, 2 }, { 11, 8, 3, 24, 45, 2 }, { 11, 7, 3, 24, 45, 2 }, - { 11, 6, 4, 24, 45, 2 }, { 11, 5, 4, 24, 45, 2 }, { 11, 4, 4, 24, 45, 2 }, { 10, 3, 4, 24, 45, 2 }, { 10, 2, 4, 24, 45, 2 }, - { 10, 1, 5, 24, 45, 5 }, { 10, 0, 5, 24, 45, 5 }, { 10, -1, 5, 24, 45, 5 }, { 10, -2, 5, 24, 45, 5 }, { 10, -3, 5, 24, 45, 5 }, - { 10, -4, 6, 24, 45, 5 }, { 10, -5, 6, 24, 45, 5 }, { 9, -6, 6, 24, 45, 5 }, { 9, -7, 6, 24, 45, 5 }, { 9, -8, 7, 24, 45, 5 }, - { 9, -9, 7, 24, 45, 5 }, { 9, -10, 7, 24, 45, 5 }, { 9, -11, 7, 24, 45, 6 }, { 9, -12, 8, 24, 45, 6 }, { 9, -13, 8, 24, 45, 6 }, - { 9, -14, 8, 24, 45, 6 }, { 9, -15, 8, 24, 45, 6 }, { 9, -16, 8, 24, 45, 6 }, { 9, -17, 8, 24, 45, 6 }, { 9, -18, 8, 24, 45, 6 }, - { 9, -19, 9, 24, 45, 6 }, { 9, -20, 9, 24, 45, 6 }, { 9, -21, 9, 24, 45, 6 }, { 9, -22, 9, 24, 45, 6 }, { 9, -23, 10, 24, 45, 7 }, - { 9, -24, 10, 24, 45, 7 }, { 9, -25, 10, 24, 45, 7 }, { 9, -26, 10, 24, 45, 7 }, { 9, -27, 11, 24, 45, 7 }, { 9, -28, 11, 24, 45, 7 }, - { 10, -29, 11, 24, 45, 7 }, { 10, -30, 11, 24, 45, 7 }, { 10, -31, 12, 24, 45, 7 }, { 10, -32, 12, 24, 45, 7 }, { 10, -33, 12, 24, 45, 7 }, - { 10, -34, 12, 24, 45, 7 }, { 10, -35, 12, 24, 45, 8 }, { 10, -36, 13, 24, 45, 8 }, { 10, -37, 13, 24, 45, 8 }, { 11, -38, 13, 24, 45, 8 }, - { 11, -39, 13, 24, 45, 8 }, { 11, -40, 13, 24, 45, 8 }, { 11, -41, 14, 24, 45, 8 }, { 11, -42, 14, 24, 45, 8 }, { 11, -43, 14, 24, 45, 8 }, - { 12, -44, 14, 24, 45, 8 }, { 12, -45, 14, 24, 45, 8 }, { 12, -46, 15, 24, 45, 8 }, { 12, -47, 15, 24, 45, 9 }, { 12, -48, 15, 24, 45, 9 }, - { 13, -49, 15, 24, 45, 9 }, { 13, -50, 15, 24, 45, 9 }, { 13, -51, 15, 24, 45, 9 }, { 13, -52, 15, 24, 45, 9 }, { 13, -53, 15, 24, 45, 9 }, - { 14, -54, 15, 24, 45, 9 }, { 14, -55, 16, 24, 45, 9 }, { 14, -56, 16, 24, 45, 9 }, { 14, -57, 16, 24, 45, 9 }, { 14, -58, 16, 24, 45, 9 }, - { 15, -59, 16, 8, 16, 0 }, { 15, -60, 16, 8, 16, 0 }, { 15, -61, 16, 8, 16, 0 }, { 15, -62, 16, 8, 16, 0 }, { 16, -63, 16, 8, 16, 0 }, - { 16, -64, 16, 8, 16, 0 }, + 96, { + { 16, 31, 1, 24, 45, 0 }, { 16, 30, 1, 24, 45, 0 }, { 16, 29, 1, 24, 45, 0 }, { 15, 28, 1, 24, 45, 0 }, { 15, 27, 1, 24, 45, 0 }, + { 15, 26, 1, 24, 45, 0 }, { 15, 25, 1, 24, 45, 1 }, { 14, 24, 1, 24, 45, 1 }, { 14, 23, 1, 24, 45, 1 }, { 14, 22, 1, 24, 45, 1 }, + { 14, 21, 1, 24, 45, 1 }, { 14, 20, 2, 24, 45, 1 }, { 13, 19, 2, 24, 45, 1 }, { 13, 18, 2, 24, 45, 1 }, { 13, 17, 2, 24, 45, 1 }, + { 13, 16, 2, 24, 45, 1 }, { 13, 15, 2, 24, 45, 1 }, { 12, 14, 2, 24, 45, 1 }, { 12, 13, 2, 24, 45, 2 }, { 12, 12, 2, 24, 45, 2 }, + { 12, 11, 3, 24, 45, 2 }, { 12, 10, 3, 24, 45, 2 }, { 11, 9, 3, 24, 45, 2 }, { 11, 8, 3, 24, 45, 2 }, { 11, 7, 3, 24, 45, 2 }, + { 11, 6, 4, 24, 45, 2 }, { 11, 5, 4, 24, 45, 2 }, { 11, 4, 4, 24, 45, 2 }, { 10, 3, 4, 24, 45, 2 }, { 10, 2, 4, 24, 45, 2 }, + { 10, 1, 5, 24, 45, 5 }, { 10, 0, 5, 24, 45, 5 }, { 10, -1, 5, 24, 45, 5 }, { 10, -2, 5, 24, 45, 5 }, { 10, -3, 5, 24, 45, 5 }, + { 10, -4, 6, 24, 45, 5 }, { 10, -5, 6, 24, 45, 5 }, { 9, -6, 6, 24, 45, 5 }, { 9, -7, 6, 24, 45, 5 }, { 9, -8, 7, 24, 45, 5 }, + { 9, -9, 7, 24, 45, 5 }, { 9, -10, 7, 24, 45, 5 }, { 9, -11, 7, 24, 45, 6 }, { 9, -12, 8, 24, 45, 6 }, { 9, -13, 8, 24, 45, 6 }, + { 9, -14, 8, 24, 45, 6 }, { 9, -15, 8, 24, 45, 6 }, { 9, -16, 8, 24, 45, 6 }, { 9, -17, 8, 24, 45, 6 }, { 9, -18, 8, 24, 45, 6 }, + { 9, -19, 9, 24, 45, 6 }, { 9, -20, 9, 24, 45, 6 }, { 9, -21, 9, 24, 45, 6 }, { 9, -22, 9, 24, 45, 6 }, { 9, -23, 10, 24, 45, 7 }, + { 9, -24, 10, 24, 45, 7 }, { 9, -25, 10, 24, 45, 7 }, { 9, -26, 10, 24, 45, 7 }, { 9, -27, 11, 24, 45, 7 }, { 9, -28, 11, 24, 45, 7 }, + { 10, -29, 11, 24, 45, 7 }, { 10, -30, 11, 24, 45, 7 }, { 10, -31, 12, 24, 45, 7 }, { 10, -32, 12, 24, 45, 7 }, { 10, -33, 12, 24, 45, 7 }, + { 10, -34, 12, 24, 45, 7 }, { 10, -35, 12, 24, 45, 8 }, { 10, -36, 13, 24, 45, 8 }, { 10, -37, 13, 24, 45, 8 }, { 11, -38, 13, 24, 45, 8 }, + { 11, -39, 13, 24, 45, 8 }, { 11, -40, 13, 24, 45, 8 }, { 11, -41, 14, 24, 45, 8 }, { 11, -42, 14, 24, 45, 8 }, { 11, -43, 14, 24, 45, 8 }, + { 12, -44, 14, 24, 45, 8 }, { 12, -45, 14, 24, 45, 8 }, { 12, -46, 15, 24, 45, 8 }, { 12, -47, 15, 24, 45, 9 }, { 12, -48, 15, 24, 45, 9 }, + { 13, -49, 15, 24, 45, 9 }, { 13, -50, 15, 24, 45, 9 }, { 13, -51, 15, 24, 45, 9 }, { 13, -52, 15, 24, 45, 9 }, { 13, -53, 15, 24, 45, 9 }, + { 14, -54, 15, 24, 45, 9 }, { 14, -55, 16, 24, 45, 9 }, { 14, -56, 16, 24, 45, 9 }, { 14, -57, 16, 24, 45, 9 }, { 14, -58, 16, 24, 45, 9 }, + { 15, -59, 16, 8, 16, 0 }, { 15, -60, 16, 8, 16, 0 }, { 15, -61, 16, 8, 16, 0 }, { 15, -62, 16, 8, 16, 0 }, { 16, -63, 16, 8, 16, 0 }, + { 16, -64, 16, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91D2BA = { - 96, { - { 31, 16, 1, 0, 45, 0 }, { 30, 16, 1, 0, 45, 0 }, { 29, 16, 1, 0, 45, 0 }, { 28, 15, 1, 0, 45, 0 }, { 27, 15, 1, 0, 45, 0 }, - { 26, 15, 1, 0, 45, 0 }, { 25, 15, 1, 0, 45, 3 }, { 24, 14, 1, 0, 45, 3 }, { 23, 14, 1, 0, 45, 3 }, { 22, 14, 1, 0, 45, 3 }, - { 21, 14, 1, 0, 45, 3 }, { 20, 14, 2, 0, 45, 3 }, { 19, 13, 2, 0, 45, 3 }, { 18, 13, 2, 0, 45, 3 }, { 17, 13, 2, 0, 45, 3 }, - { 16, 13, 2, 0, 45, 3 }, { 15, 13, 2, 0, 45, 3 }, { 14, 12, 2, 0, 45, 3 }, { 13, 12, 2, 0, 45, 4 }, { 12, 12, 2, 0, 45, 4 }, - { 11, 12, 3, 0, 45, 4 }, { 10, 12, 3, 0, 45, 4 }, { 9, 11, 3, 0, 45, 4 }, { 8, 11, 3, 0, 45, 4 }, { 7, 11, 3, 0, 45, 4 }, - { 6, 11, 4, 0, 45, 4 }, { 5, 11, 4, 0, 45, 4 }, { 4, 11, 4, 0, 45, 4 }, { 3, 10, 4, 0, 45, 4 }, { 2, 10, 4, 0, 45, 4 }, - { 1, 10, 5, 0, 45, 10 }, { 0, 10, 5, 0, 45, 10 }, { -1, 10, 5, 0, 45, 10 }, { -2, 10, 5, 0, 45, 10 }, { -3, 10, 5, 0, 45, 10 }, - { -4, 10, 6, 0, 45, 10 }, { -5, 10, 6, 0, 45, 10 }, { -6, 9, 6, 0, 45, 10 }, { -7, 9, 6, 0, 45, 10 }, { -8, 9, 7, 0, 45, 10 }, - { -9, 9, 7, 0, 45, 10 }, { -10, 9, 7, 0, 45, 10 }, { -11, 9, 7, 0, 45, 11 }, { -12, 9, 8, 0, 45, 11 }, { -13, 9, 8, 0, 45, 11 }, - { -14, 9, 8, 0, 45, 11 }, { -15, 9, 8, 0, 45, 11 }, { -16, 9, 8, 0, 45, 11 }, { -17, 9, 8, 0, 45, 11 }, { -18, 9, 8, 0, 45, 11 }, - { -19, 9, 9, 0, 45, 11 }, { -20, 9, 9, 0, 45, 11 }, { -21, 9, 9, 0, 45, 11 }, { -22, 9, 9, 0, 45, 11 }, { -23, 9, 10, 0, 45, 12 }, - { -24, 9, 10, 0, 45, 12 }, { -25, 9, 10, 0, 45, 12 }, { -26, 9, 10, 0, 45, 12 }, { -27, 9, 11, 0, 45, 12 }, { -28, 9, 11, 0, 45, 12 }, - { -29, 10, 11, 0, 45, 12 }, { -30, 10, 11, 0, 45, 12 }, { -31, 10, 12, 0, 45, 12 }, { -32, 10, 12, 0, 45, 12 }, { -33, 10, 12, 0, 45, 12 }, - { -34, 10, 12, 0, 45, 12 }, { -35, 10, 12, 0, 45, 13 }, { -36, 10, 13, 0, 45, 13 }, { -37, 10, 13, 0, 45, 13 }, { -38, 11, 13, 0, 45, 13 }, - { -39, 11, 13, 0, 45, 13 }, { -40, 11, 13, 0, 45, 13 }, { -41, 11, 14, 0, 45, 13 }, { -42, 11, 14, 0, 45, 13 }, { -43, 11, 14, 0, 45, 13 }, - { -44, 12, 14, 0, 45, 13 }, { -45, 12, 14, 0, 45, 13 }, { -46, 12, 15, 0, 45, 13 }, { -47, 12, 15, 0, 45, 14 }, { -48, 12, 15, 0, 45, 14 }, - { -49, 13, 15, 0, 45, 14 }, { -50, 13, 15, 0, 45, 14 }, { -51, 13, 15, 0, 45, 14 }, { -52, 13, 15, 0, 45, 14 }, { -53, 13, 15, 0, 45, 14 }, - { -54, 14, 15, 0, 45, 14 }, { -55, 14, 16, 0, 45, 14 }, { -56, 14, 16, 0, 45, 14 }, { -57, 14, 16, 0, 45, 14 }, { -58, 14, 16, 0, 45, 14 }, - { -59, 15, 16, 16, 16, 0 }, { -60, 15, 16, 16, 16, 0 }, { -61, 15, 16, 16, 16, 0 }, { -62, 15, 16, 16, 16, 0 }, { -63, 16, 16, 16, 16, 0 }, - { -64, 16, 16, 16, 16, 0 }, + 96, { + { 31, 16, 1, 0, 45, 0 }, { 30, 16, 1, 0, 45, 0 }, { 29, 16, 1, 0, 45, 0 }, { 28, 15, 1, 0, 45, 0 }, { 27, 15, 1, 0, 45, 0 }, + { 26, 15, 1, 0, 45, 0 }, { 25, 15, 1, 0, 45, 3 }, { 24, 14, 1, 0, 45, 3 }, { 23, 14, 1, 0, 45, 3 }, { 22, 14, 1, 0, 45, 3 }, + { 21, 14, 1, 0, 45, 3 }, { 20, 14, 2, 0, 45, 3 }, { 19, 13, 2, 0, 45, 3 }, { 18, 13, 2, 0, 45, 3 }, { 17, 13, 2, 0, 45, 3 }, + { 16, 13, 2, 0, 45, 3 }, { 15, 13, 2, 0, 45, 3 }, { 14, 12, 2, 0, 45, 3 }, { 13, 12, 2, 0, 45, 4 }, { 12, 12, 2, 0, 45, 4 }, + { 11, 12, 3, 0, 45, 4 }, { 10, 12, 3, 0, 45, 4 }, { 9, 11, 3, 0, 45, 4 }, { 8, 11, 3, 0, 45, 4 }, { 7, 11, 3, 0, 45, 4 }, + { 6, 11, 4, 0, 45, 4 }, { 5, 11, 4, 0, 45, 4 }, { 4, 11, 4, 0, 45, 4 }, { 3, 10, 4, 0, 45, 4 }, { 2, 10, 4, 0, 45, 4 }, + { 1, 10, 5, 0, 45, 10 }, { 0, 10, 5, 0, 45, 10 }, { -1, 10, 5, 0, 45, 10 }, { -2, 10, 5, 0, 45, 10 }, { -3, 10, 5, 0, 45, 10 }, + { -4, 10, 6, 0, 45, 10 }, { -5, 10, 6, 0, 45, 10 }, { -6, 9, 6, 0, 45, 10 }, { -7, 9, 6, 0, 45, 10 }, { -8, 9, 7, 0, 45, 10 }, + { -9, 9, 7, 0, 45, 10 }, { -10, 9, 7, 0, 45, 10 }, { -11, 9, 7, 0, 45, 11 }, { -12, 9, 8, 0, 45, 11 }, { -13, 9, 8, 0, 45, 11 }, + { -14, 9, 8, 0, 45, 11 }, { -15, 9, 8, 0, 45, 11 }, { -16, 9, 8, 0, 45, 11 }, { -17, 9, 8, 0, 45, 11 }, { -18, 9, 8, 0, 45, 11 }, + { -19, 9, 9, 0, 45, 11 }, { -20, 9, 9, 0, 45, 11 }, { -21, 9, 9, 0, 45, 11 }, { -22, 9, 9, 0, 45, 11 }, { -23, 9, 10, 0, 45, 12 }, + { -24, 9, 10, 0, 45, 12 }, { -25, 9, 10, 0, 45, 12 }, { -26, 9, 10, 0, 45, 12 }, { -27, 9, 11, 0, 45, 12 }, { -28, 9, 11, 0, 45, 12 }, + { -29, 10, 11, 0, 45, 12 }, { -30, 10, 11, 0, 45, 12 }, { -31, 10, 12, 0, 45, 12 }, { -32, 10, 12, 0, 45, 12 }, { -33, 10, 12, 0, 45, 12 }, + { -34, 10, 12, 0, 45, 12 }, { -35, 10, 12, 0, 45, 13 }, { -36, 10, 13, 0, 45, 13 }, { -37, 10, 13, 0, 45, 13 }, { -38, 11, 13, 0, 45, 13 }, + { -39, 11, 13, 0, 45, 13 }, { -40, 11, 13, 0, 45, 13 }, { -41, 11, 14, 0, 45, 13 }, { -42, 11, 14, 0, 45, 13 }, { -43, 11, 14, 0, 45, 13 }, + { -44, 12, 14, 0, 45, 13 }, { -45, 12, 14, 0, 45, 13 }, { -46, 12, 15, 0, 45, 13 }, { -47, 12, 15, 0, 45, 14 }, { -48, 12, 15, 0, 45, 14 }, + { -49, 13, 15, 0, 45, 14 }, { -50, 13, 15, 0, 45, 14 }, { -51, 13, 15, 0, 45, 14 }, { -52, 13, 15, 0, 45, 14 }, { -53, 13, 15, 0, 45, 14 }, + { -54, 14, 15, 0, 45, 14 }, { -55, 14, 16, 0, 45, 14 }, { -56, 14, 16, 0, 45, 14 }, { -57, 14, 16, 0, 45, 14 }, { -58, 14, 16, 0, 45, 14 }, + { -59, 15, 16, 16, 16, 0 }, { -60, 15, 16, 16, 16, 0 }, { -61, 15, 16, 16, 16, 0 }, { -62, 15, 16, 16, 16, 0 }, { -63, 16, 16, 16, 16, 0 }, + { -64, 16, 16, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91D61C = { - 96, { - { 16, 0, 1, 8, 45, 0 }, { 16, 1, 1, 8, 45, 0 }, { 16, 2, 1, 8, 45, 0 }, { 15, 3, 1, 8, 45, 0 }, { 15, 4, 1, 8, 45, 0 }, - { 15, 5, 1, 8, 45, 0 }, { 15, 6, 1, 8, 45, 3 }, { 14, 7, 1, 8, 45, 3 }, { 14, 8, 1, 8, 45, 3 }, { 14, 9, 1, 8, 45, 3 }, - { 14, 10, 1, 8, 45, 3 }, { 14, 11, 2, 8, 45, 3 }, { 13, 12, 2, 8, 45, 3 }, { 13, 13, 2, 8, 45, 3 }, { 13, 14, 2, 8, 45, 3 }, - { 13, 15, 2, 8, 45, 3 }, { 13, 16, 2, 8, 45, 3 }, { 12, 17, 2, 8, 45, 3 }, { 12, 18, 2, 8, 45, 4 }, { 12, 19, 2, 8, 45, 4 }, - { 12, 20, 3, 8, 45, 4 }, { 12, 21, 3, 8, 45, 4 }, { 11, 22, 3, 8, 45, 4 }, { 11, 23, 3, 8, 45, 4 }, { 11, 24, 3, 8, 45, 4 }, - { 11, 25, 4, 8, 45, 4 }, { 11, 26, 4, 8, 45, 4 }, { 11, 27, 4, 8, 45, 4 }, { 10, 28, 4, 8, 45, 4 }, { 10, 29, 4, 8, 45, 4 }, - { 10, 30, 5, 8, 45, 10 }, { 10, 31, 5, 8, 45, 10 }, { 10, 32, 5, 8, 45, 10 }, { 10, 33, 5, 8, 45, 10 }, { 10, 34, 5, 8, 45, 10 }, - { 10, 35, 6, 8, 45, 10 }, { 10, 36, 6, 8, 45, 10 }, { 9, 37, 6, 8, 45, 10 }, { 9, 38, 6, 8, 45, 10 }, { 9, 39, 7, 8, 45, 10 }, - { 9, 40, 7, 8, 45, 10 }, { 9, 41, 7, 8, 45, 10 }, { 9, 42, 7, 8, 45, 11 }, { 9, 43, 8, 8, 45, 11 }, { 9, 44, 8, 8, 45, 11 }, - { 9, 45, 8, 8, 45, 11 }, { 9, 46, 8, 8, 45, 11 }, { 9, 47, 8, 8, 45, 11 }, { 9, 48, 8, 8, 45, 11 }, { 9, 49, 8, 8, 45, 11 }, - { 9, 50, 9, 8, 45, 11 }, { 9, 51, 9, 8, 45, 11 }, { 9, 52, 9, 8, 45, 11 }, { 9, 53, 9, 8, 45, 11 }, { 9, 54, 10, 8, 45, 12 }, - { 9, 55, 10, 8, 45, 12 }, { 9, 56, 10, 8, 45, 12 }, { 9, 57, 10, 8, 45, 12 }, { 9, 58, 11, 8, 45, 12 }, { 9, 59, 11, 8, 45, 12 }, - { 10, 60, 11, 8, 45, 12 }, { 10, 61, 11, 8, 45, 12 }, { 10, 62, 12, 8, 45, 12 }, { 10, 63, 12, 8, 45, 12 }, { 10, 64, 12, 8, 45, 12 }, - { 10, 65, 12, 8, 45, 12 }, { 10, 66, 12, 8, 45, 13 }, { 10, 67, 13, 8, 45, 13 }, { 10, 68, 13, 8, 45, 13 }, { 11, 69, 13, 8, 45, 13 }, - { 11, 70, 13, 8, 45, 13 }, { 11, 71, 13, 8, 45, 13 }, { 11, 72, 14, 8, 45, 13 }, { 11, 73, 14, 8, 45, 13 }, { 11, 74, 14, 8, 45, 13 }, - { 12, 75, 14, 8, 45, 13 }, { 12, 76, 14, 8, 45, 13 }, { 12, 77, 15, 8, 45, 13 }, { 12, 78, 15, 8, 45, 14 }, { 12, 79, 15, 8, 45, 14 }, - { 13, 80, 15, 8, 45, 14 }, { 13, 81, 15, 8, 45, 14 }, { 13, 82, 15, 8, 45, 14 }, { 13, 83, 15, 8, 45, 14 }, { 13, 84, 15, 8, 45, 14 }, - { 14, 85, 15, 8, 45, 14 }, { 14, 86, 16, 8, 45, 14 }, { 14, 87, 16, 8, 45, 14 }, { 14, 88, 16, 8, 45, 14 }, { 14, 89, 16, 8, 45, 14 }, - { 15, 90, 16, 24, 16, 0 }, { 15, 91, 16, 24, 16, 0 }, { 15, 92, 16, 24, 16, 0 }, { 15, 93, 16, 24, 16, 0 }, { 16, 94, 16, 24, 16, 0 }, - { 16, 95, 16, 24, 16, 0 }, + 96, { + { 16, 0, 1, 8, 45, 0 }, { 16, 1, 1, 8, 45, 0 }, { 16, 2, 1, 8, 45, 0 }, { 15, 3, 1, 8, 45, 0 }, { 15, 4, 1, 8, 45, 0 }, + { 15, 5, 1, 8, 45, 0 }, { 15, 6, 1, 8, 45, 3 }, { 14, 7, 1, 8, 45, 3 }, { 14, 8, 1, 8, 45, 3 }, { 14, 9, 1, 8, 45, 3 }, + { 14, 10, 1, 8, 45, 3 }, { 14, 11, 2, 8, 45, 3 }, { 13, 12, 2, 8, 45, 3 }, { 13, 13, 2, 8, 45, 3 }, { 13, 14, 2, 8, 45, 3 }, + { 13, 15, 2, 8, 45, 3 }, { 13, 16, 2, 8, 45, 3 }, { 12, 17, 2, 8, 45, 3 }, { 12, 18, 2, 8, 45, 4 }, { 12, 19, 2, 8, 45, 4 }, + { 12, 20, 3, 8, 45, 4 }, { 12, 21, 3, 8, 45, 4 }, { 11, 22, 3, 8, 45, 4 }, { 11, 23, 3, 8, 45, 4 }, { 11, 24, 3, 8, 45, 4 }, + { 11, 25, 4, 8, 45, 4 }, { 11, 26, 4, 8, 45, 4 }, { 11, 27, 4, 8, 45, 4 }, { 10, 28, 4, 8, 45, 4 }, { 10, 29, 4, 8, 45, 4 }, + { 10, 30, 5, 8, 45, 10 }, { 10, 31, 5, 8, 45, 10 }, { 10, 32, 5, 8, 45, 10 }, { 10, 33, 5, 8, 45, 10 }, { 10, 34, 5, 8, 45, 10 }, + { 10, 35, 6, 8, 45, 10 }, { 10, 36, 6, 8, 45, 10 }, { 9, 37, 6, 8, 45, 10 }, { 9, 38, 6, 8, 45, 10 }, { 9, 39, 7, 8, 45, 10 }, + { 9, 40, 7, 8, 45, 10 }, { 9, 41, 7, 8, 45, 10 }, { 9, 42, 7, 8, 45, 11 }, { 9, 43, 8, 8, 45, 11 }, { 9, 44, 8, 8, 45, 11 }, + { 9, 45, 8, 8, 45, 11 }, { 9, 46, 8, 8, 45, 11 }, { 9, 47, 8, 8, 45, 11 }, { 9, 48, 8, 8, 45, 11 }, { 9, 49, 8, 8, 45, 11 }, + { 9, 50, 9, 8, 45, 11 }, { 9, 51, 9, 8, 45, 11 }, { 9, 52, 9, 8, 45, 11 }, { 9, 53, 9, 8, 45, 11 }, { 9, 54, 10, 8, 45, 12 }, + { 9, 55, 10, 8, 45, 12 }, { 9, 56, 10, 8, 45, 12 }, { 9, 57, 10, 8, 45, 12 }, { 9, 58, 11, 8, 45, 12 }, { 9, 59, 11, 8, 45, 12 }, + { 10, 60, 11, 8, 45, 12 }, { 10, 61, 11, 8, 45, 12 }, { 10, 62, 12, 8, 45, 12 }, { 10, 63, 12, 8, 45, 12 }, { 10, 64, 12, 8, 45, 12 }, + { 10, 65, 12, 8, 45, 12 }, { 10, 66, 12, 8, 45, 13 }, { 10, 67, 13, 8, 45, 13 }, { 10, 68, 13, 8, 45, 13 }, { 11, 69, 13, 8, 45, 13 }, + { 11, 70, 13, 8, 45, 13 }, { 11, 71, 13, 8, 45, 13 }, { 11, 72, 14, 8, 45, 13 }, { 11, 73, 14, 8, 45, 13 }, { 11, 74, 14, 8, 45, 13 }, + { 12, 75, 14, 8, 45, 13 }, { 12, 76, 14, 8, 45, 13 }, { 12, 77, 15, 8, 45, 13 }, { 12, 78, 15, 8, 45, 14 }, { 12, 79, 15, 8, 45, 14 }, + { 13, 80, 15, 8, 45, 14 }, { 13, 81, 15, 8, 45, 14 }, { 13, 82, 15, 8, 45, 14 }, { 13, 83, 15, 8, 45, 14 }, { 13, 84, 15, 8, 45, 14 }, + { 14, 85, 15, 8, 45, 14 }, { 14, 86, 16, 8, 45, 14 }, { 14, 87, 16, 8, 45, 14 }, { 14, 88, 16, 8, 45, 14 }, { 14, 89, 16, 8, 45, 14 }, + { 15, 90, 16, 24, 16, 0 }, { 15, 91, 16, 24, 16, 0 }, { 15, 92, 16, 24, 16, 0 }, { 15, 93, 16, 24, 16, 0 }, { 16, 94, 16, 24, 16, 0 }, + { 16, 95, 16, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91D97E = { - 96, { - { 0, 16, 1, 16, 45, 0 }, { 1, 16, 1, 16, 45, 0 }, { 2, 16, 1, 16, 45, 0 }, { 3, 17, 1, 16, 45, 0 }, { 4, 17, 1, 16, 45, 0 }, - { 5, 17, 1, 16, 45, 0 }, { 6, 17, 1, 16, 45, 3 }, { 7, 18, 1, 16, 45, 3 }, { 8, 18, 1, 16, 45, 3 }, { 9, 18, 1, 16, 45, 3 }, - { 10, 18, 1, 16, 45, 3 }, { 11, 18, 2, 16, 45, 3 }, { 12, 19, 2, 16, 45, 3 }, { 13, 19, 2, 16, 45, 3 }, { 14, 19, 2, 16, 45, 3 }, - { 15, 19, 2, 16, 45, 3 }, { 16, 19, 2, 16, 45, 3 }, { 17, 20, 2, 16, 45, 3 }, { 18, 20, 2, 16, 45, 4 }, { 19, 20, 2, 16, 45, 4 }, - { 20, 20, 3, 16, 45, 4 }, { 21, 20, 3, 16, 45, 4 }, { 22, 21, 3, 16, 45, 4 }, { 23, 21, 3, 16, 45, 4 }, { 24, 21, 3, 16, 45, 4 }, - { 25, 21, 4, 16, 45, 4 }, { 26, 21, 4, 16, 45, 4 }, { 27, 21, 4, 16, 45, 4 }, { 28, 22, 4, 16, 45, 4 }, { 29, 22, 4, 16, 45, 4 }, - { 30, 22, 5, 16, 45, 10 }, { 31, 22, 5, 16, 45, 10 }, { 32, 22, 5, 16, 45, 10 }, { 33, 22, 5, 16, 45, 10 }, { 34, 22, 5, 16, 45, 10 }, - { 35, 22, 6, 16, 45, 10 }, { 36, 22, 6, 16, 45, 10 }, { 37, 23, 6, 16, 45, 10 }, { 38, 23, 6, 16, 45, 10 }, { 39, 23, 7, 16, 45, 10 }, - { 40, 23, 7, 16, 45, 10 }, { 41, 23, 7, 16, 45, 10 }, { 42, 23, 7, 16, 45, 11 }, { 43, 23, 8, 16, 45, 11 }, { 44, 23, 8, 16, 45, 11 }, - { 45, 23, 8, 16, 45, 11 }, { 46, 23, 8, 16, 45, 11 }, { 47, 23, 8, 16, 45, 11 }, { 48, 23, 8, 16, 45, 11 }, { 49, 23, 8, 16, 45, 11 }, - { 50, 23, 9, 16, 45, 11 }, { 51, 23, 9, 16, 45, 11 }, { 52, 23, 9, 16, 45, 11 }, { 53, 23, 9, 16, 45, 11 }, { 54, 23, 10, 16, 45, 12 }, - { 55, 23, 10, 16, 45, 12 }, { 56, 23, 10, 16, 45, 12 }, { 57, 23, 10, 16, 45, 12 }, { 58, 23, 11, 16, 45, 12 }, { 59, 23, 11, 16, 45, 12 }, - { 60, 22, 11, 16, 45, 12 }, { 61, 22, 11, 16, 45, 12 }, { 62, 22, 12, 16, 45, 12 }, { 63, 22, 12, 16, 45, 12 }, { 64, 22, 12, 16, 45, 12 }, - { 65, 22, 12, 16, 45, 12 }, { 66, 22, 12, 16, 45, 13 }, { 67, 22, 13, 16, 45, 13 }, { 68, 22, 13, 16, 45, 13 }, { 69, 21, 13, 16, 45, 13 }, - { 70, 21, 13, 16, 45, 13 }, { 71, 21, 13, 16, 45, 13 }, { 72, 21, 14, 16, 45, 13 }, { 73, 21, 14, 16, 45, 13 }, { 74, 21, 14, 16, 45, 13 }, - { 75, 20, 14, 16, 45, 13 }, { 76, 20, 14, 16, 45, 13 }, { 77, 20, 15, 16, 45, 13 }, { 78, 20, 15, 16, 45, 14 }, { 79, 20, 15, 16, 45, 14 }, - { 80, 19, 15, 16, 45, 14 }, { 81, 19, 15, 16, 45, 14 }, { 82, 19, 15, 16, 45, 14 }, { 83, 19, 15, 16, 45, 14 }, { 84, 19, 15, 16, 45, 14 }, - { 85, 18, 15, 16, 45, 14 }, { 86, 18, 16, 16, 45, 14 }, { 87, 18, 16, 16, 45, 14 }, { 88, 18, 16, 16, 45, 14 }, { 89, 18, 16, 16, 45, 14 }, - { 90, 17, 16, 0, 16, 0 }, { 91, 17, 16, 0, 16, 0 }, { 92, 17, 16, 0, 16, 0 }, { 93, 17, 16, 0, 16, 0 }, { 94, 16, 16, 0, 16, 0 }, - { 95, 16, 16, 0, 16, 0 }, + 96, { + { 0, 16, 1, 16, 45, 0 }, { 1, 16, 1, 16, 45, 0 }, { 2, 16, 1, 16, 45, 0 }, { 3, 17, 1, 16, 45, 0 }, { 4, 17, 1, 16, 45, 0 }, + { 5, 17, 1, 16, 45, 0 }, { 6, 17, 1, 16, 45, 3 }, { 7, 18, 1, 16, 45, 3 }, { 8, 18, 1, 16, 45, 3 }, { 9, 18, 1, 16, 45, 3 }, + { 10, 18, 1, 16, 45, 3 }, { 11, 18, 2, 16, 45, 3 }, { 12, 19, 2, 16, 45, 3 }, { 13, 19, 2, 16, 45, 3 }, { 14, 19, 2, 16, 45, 3 }, + { 15, 19, 2, 16, 45, 3 }, { 16, 19, 2, 16, 45, 3 }, { 17, 20, 2, 16, 45, 3 }, { 18, 20, 2, 16, 45, 4 }, { 19, 20, 2, 16, 45, 4 }, + { 20, 20, 3, 16, 45, 4 }, { 21, 20, 3, 16, 45, 4 }, { 22, 21, 3, 16, 45, 4 }, { 23, 21, 3, 16, 45, 4 }, { 24, 21, 3, 16, 45, 4 }, + { 25, 21, 4, 16, 45, 4 }, { 26, 21, 4, 16, 45, 4 }, { 27, 21, 4, 16, 45, 4 }, { 28, 22, 4, 16, 45, 4 }, { 29, 22, 4, 16, 45, 4 }, + { 30, 22, 5, 16, 45, 10 }, { 31, 22, 5, 16, 45, 10 }, { 32, 22, 5, 16, 45, 10 }, { 33, 22, 5, 16, 45, 10 }, { 34, 22, 5, 16, 45, 10 }, + { 35, 22, 6, 16, 45, 10 }, { 36, 22, 6, 16, 45, 10 }, { 37, 23, 6, 16, 45, 10 }, { 38, 23, 6, 16, 45, 10 }, { 39, 23, 7, 16, 45, 10 }, + { 40, 23, 7, 16, 45, 10 }, { 41, 23, 7, 16, 45, 10 }, { 42, 23, 7, 16, 45, 11 }, { 43, 23, 8, 16, 45, 11 }, { 44, 23, 8, 16, 45, 11 }, + { 45, 23, 8, 16, 45, 11 }, { 46, 23, 8, 16, 45, 11 }, { 47, 23, 8, 16, 45, 11 }, { 48, 23, 8, 16, 45, 11 }, { 49, 23, 8, 16, 45, 11 }, + { 50, 23, 9, 16, 45, 11 }, { 51, 23, 9, 16, 45, 11 }, { 52, 23, 9, 16, 45, 11 }, { 53, 23, 9, 16, 45, 11 }, { 54, 23, 10, 16, 45, 12 }, + { 55, 23, 10, 16, 45, 12 }, { 56, 23, 10, 16, 45, 12 }, { 57, 23, 10, 16, 45, 12 }, { 58, 23, 11, 16, 45, 12 }, { 59, 23, 11, 16, 45, 12 }, + { 60, 22, 11, 16, 45, 12 }, { 61, 22, 11, 16, 45, 12 }, { 62, 22, 12, 16, 45, 12 }, { 63, 22, 12, 16, 45, 12 }, { 64, 22, 12, 16, 45, 12 }, + { 65, 22, 12, 16, 45, 12 }, { 66, 22, 12, 16, 45, 13 }, { 67, 22, 13, 16, 45, 13 }, { 68, 22, 13, 16, 45, 13 }, { 69, 21, 13, 16, 45, 13 }, + { 70, 21, 13, 16, 45, 13 }, { 71, 21, 13, 16, 45, 13 }, { 72, 21, 14, 16, 45, 13 }, { 73, 21, 14, 16, 45, 13 }, { 74, 21, 14, 16, 45, 13 }, + { 75, 20, 14, 16, 45, 13 }, { 76, 20, 14, 16, 45, 13 }, { 77, 20, 15, 16, 45, 13 }, { 78, 20, 15, 16, 45, 14 }, { 79, 20, 15, 16, 45, 14 }, + { 80, 19, 15, 16, 45, 14 }, { 81, 19, 15, 16, 45, 14 }, { 82, 19, 15, 16, 45, 14 }, { 83, 19, 15, 16, 45, 14 }, { 84, 19, 15, 16, 45, 14 }, + { 85, 18, 15, 16, 45, 14 }, { 86, 18, 16, 16, 45, 14 }, { 87, 18, 16, 16, 45, 14 }, { 88, 18, 16, 16, 45, 14 }, { 89, 18, 16, 16, 45, 14 }, + { 90, 17, 16, 0, 16, 0 }, { 91, 17, 16, 0, 16, 0 }, { 92, 17, 16, 0, 16, 0 }, { 93, 17, 16, 0, 16, 0 }, { 94, 16, 16, 0, 16, 0 }, + { 95, 16, 16, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91DCE0 = { - 96, { - { 16, 31, 1, 24, 45, 0 }, { 16, 30, 1, 24, 45, 0 }, { 16, 29, 1, 24, 45, 0 }, { 17, 28, 1, 24, 45, 0 }, { 17, 27, 1, 24, 45, 0 }, - { 17, 26, 1, 24, 45, 0 }, { 17, 25, 1, 24, 45, 3 }, { 18, 24, 1, 24, 45, 3 }, { 18, 23, 1, 24, 45, 3 }, { 18, 22, 1, 24, 45, 3 }, - { 18, 21, 1, 24, 45, 3 }, { 18, 20, 2, 24, 45, 3 }, { 19, 19, 2, 24, 45, 3 }, { 19, 18, 2, 24, 45, 3 }, { 19, 17, 2, 24, 45, 3 }, - { 19, 16, 2, 24, 45, 3 }, { 19, 15, 2, 24, 45, 3 }, { 20, 14, 2, 24, 45, 3 }, { 20, 13, 2, 24, 45, 4 }, { 20, 12, 2, 24, 45, 4 }, - { 20, 11, 3, 24, 45, 4 }, { 20, 10, 3, 24, 45, 4 }, { 21, 9, 3, 24, 45, 4 }, { 21, 8, 3, 24, 45, 4 }, { 21, 7, 3, 24, 45, 4 }, - { 21, 6, 4, 24, 45, 4 }, { 21, 5, 4, 24, 45, 4 }, { 21, 4, 4, 24, 45, 4 }, { 22, 3, 4, 24, 45, 4 }, { 22, 2, 4, 24, 45, 4 }, - { 22, 1, 5, 24, 45, 10 }, { 22, 0, 5, 24, 45, 10 }, { 22, -1, 5, 24, 45, 10 }, { 22, -2, 5, 24, 45, 10 }, { 22, -3, 5, 24, 45, 10 }, - { 22, -4, 6, 24, 45, 10 }, { 22, -5, 6, 24, 45, 10 }, { 23, -6, 6, 24, 45, 10 }, { 23, -7, 6, 24, 45, 10 }, { 23, -8, 7, 24, 45, 10 }, - { 23, -9, 7, 24, 45, 10 }, { 23, -10, 7, 24, 45, 10 }, { 23, -11, 7, 24, 45, 11 }, { 23, -12, 8, 24, 45, 11 }, { 23, -13, 8, 24, 45, 11 }, - { 23, -14, 8, 24, 45, 11 }, { 23, -15, 8, 24, 45, 11 }, { 23, -16, 8, 24, 45, 11 }, { 23, -17, 8, 24, 45, 11 }, { 23, -18, 8, 24, 45, 11 }, - { 23, -19, 9, 24, 45, 11 }, { 23, -20, 9, 24, 45, 11 }, { 23, -21, 9, 24, 45, 11 }, { 23, -22, 9, 24, 45, 11 }, { 23, -23, 10, 24, 45, 12 }, - { 23, -24, 10, 24, 45, 12 }, { 23, -25, 10, 24, 45, 12 }, { 23, -26, 10, 24, 45, 12 }, { 23, -27, 11, 24, 45, 12 }, { 23, -28, 11, 24, 45, 12 }, - { 22, -29, 11, 24, 45, 12 }, { 22, -30, 11, 24, 45, 12 }, { 22, -31, 12, 24, 45, 12 }, { 22, -32, 12, 24, 45, 12 }, { 22, -33, 12, 24, 45, 12 }, - { 22, -34, 12, 24, 45, 12 }, { 22, -35, 12, 24, 45, 13 }, { 22, -36, 13, 24, 45, 13 }, { 22, -37, 13, 24, 45, 13 }, { 21, -38, 13, 24, 45, 13 }, - { 21, -39, 13, 24, 45, 13 }, { 21, -40, 13, 24, 45, 13 }, { 21, -41, 14, 24, 45, 13 }, { 21, -42, 14, 24, 45, 13 }, { 21, -43, 14, 24, 45, 13 }, - { 20, -44, 14, 24, 45, 13 }, { 20, -45, 14, 24, 45, 13 }, { 20, -46, 15, 24, 45, 13 }, { 20, -47, 15, 24, 45, 14 }, { 20, -48, 15, 24, 45, 14 }, - { 19, -49, 15, 24, 45, 14 }, { 19, -50, 15, 24, 45, 14 }, { 19, -51, 15, 24, 45, 14 }, { 19, -52, 15, 24, 45, 14 }, { 19, -53, 15, 24, 45, 14 }, - { 18, -54, 15, 24, 45, 14 }, { 18, -55, 16, 24, 45, 14 }, { 18, -56, 16, 24, 45, 14 }, { 18, -57, 16, 24, 45, 14 }, { 18, -58, 16, 24, 45, 14 }, - { 17, -59, 16, 8, 16, 0 }, { 17, -60, 16, 8, 16, 0 }, { 17, -61, 16, 8, 16, 0 }, { 17, -62, 16, 8, 16, 0 }, { 16, -63, 16, 8, 16, 0 }, - { 16, -64, 16, 8, 16, 0 }, + 96, { + { 16, 31, 1, 24, 45, 0 }, { 16, 30, 1, 24, 45, 0 }, { 16, 29, 1, 24, 45, 0 }, { 17, 28, 1, 24, 45, 0 }, { 17, 27, 1, 24, 45, 0 }, + { 17, 26, 1, 24, 45, 0 }, { 17, 25, 1, 24, 45, 3 }, { 18, 24, 1, 24, 45, 3 }, { 18, 23, 1, 24, 45, 3 }, { 18, 22, 1, 24, 45, 3 }, + { 18, 21, 1, 24, 45, 3 }, { 18, 20, 2, 24, 45, 3 }, { 19, 19, 2, 24, 45, 3 }, { 19, 18, 2, 24, 45, 3 }, { 19, 17, 2, 24, 45, 3 }, + { 19, 16, 2, 24, 45, 3 }, { 19, 15, 2, 24, 45, 3 }, { 20, 14, 2, 24, 45, 3 }, { 20, 13, 2, 24, 45, 4 }, { 20, 12, 2, 24, 45, 4 }, + { 20, 11, 3, 24, 45, 4 }, { 20, 10, 3, 24, 45, 4 }, { 21, 9, 3, 24, 45, 4 }, { 21, 8, 3, 24, 45, 4 }, { 21, 7, 3, 24, 45, 4 }, + { 21, 6, 4, 24, 45, 4 }, { 21, 5, 4, 24, 45, 4 }, { 21, 4, 4, 24, 45, 4 }, { 22, 3, 4, 24, 45, 4 }, { 22, 2, 4, 24, 45, 4 }, + { 22, 1, 5, 24, 45, 10 }, { 22, 0, 5, 24, 45, 10 }, { 22, -1, 5, 24, 45, 10 }, { 22, -2, 5, 24, 45, 10 }, { 22, -3, 5, 24, 45, 10 }, + { 22, -4, 6, 24, 45, 10 }, { 22, -5, 6, 24, 45, 10 }, { 23, -6, 6, 24, 45, 10 }, { 23, -7, 6, 24, 45, 10 }, { 23, -8, 7, 24, 45, 10 }, + { 23, -9, 7, 24, 45, 10 }, { 23, -10, 7, 24, 45, 10 }, { 23, -11, 7, 24, 45, 11 }, { 23, -12, 8, 24, 45, 11 }, { 23, -13, 8, 24, 45, 11 }, + { 23, -14, 8, 24, 45, 11 }, { 23, -15, 8, 24, 45, 11 }, { 23, -16, 8, 24, 45, 11 }, { 23, -17, 8, 24, 45, 11 }, { 23, -18, 8, 24, 45, 11 }, + { 23, -19, 9, 24, 45, 11 }, { 23, -20, 9, 24, 45, 11 }, { 23, -21, 9, 24, 45, 11 }, { 23, -22, 9, 24, 45, 11 }, { 23, -23, 10, 24, 45, 12 }, + { 23, -24, 10, 24, 45, 12 }, { 23, -25, 10, 24, 45, 12 }, { 23, -26, 10, 24, 45, 12 }, { 23, -27, 11, 24, 45, 12 }, { 23, -28, 11, 24, 45, 12 }, + { 22, -29, 11, 24, 45, 12 }, { 22, -30, 11, 24, 45, 12 }, { 22, -31, 12, 24, 45, 12 }, { 22, -32, 12, 24, 45, 12 }, { 22, -33, 12, 24, 45, 12 }, + { 22, -34, 12, 24, 45, 12 }, { 22, -35, 12, 24, 45, 13 }, { 22, -36, 13, 24, 45, 13 }, { 22, -37, 13, 24, 45, 13 }, { 21, -38, 13, 24, 45, 13 }, + { 21, -39, 13, 24, 45, 13 }, { 21, -40, 13, 24, 45, 13 }, { 21, -41, 14, 24, 45, 13 }, { 21, -42, 14, 24, 45, 13 }, { 21, -43, 14, 24, 45, 13 }, + { 20, -44, 14, 24, 45, 13 }, { 20, -45, 14, 24, 45, 13 }, { 20, -46, 15, 24, 45, 13 }, { 20, -47, 15, 24, 45, 14 }, { 20, -48, 15, 24, 45, 14 }, + { 19, -49, 15, 24, 45, 14 }, { 19, -50, 15, 24, 45, 14 }, { 19, -51, 15, 24, 45, 14 }, { 19, -52, 15, 24, 45, 14 }, { 19, -53, 15, 24, 45, 14 }, + { 18, -54, 15, 24, 45, 14 }, { 18, -55, 16, 24, 45, 14 }, { 18, -56, 16, 24, 45, 14 }, { 18, -57, 16, 24, 45, 14 }, { 18, -58, 16, 24, 45, 14 }, + { 17, -59, 16, 8, 16, 0 }, { 17, -60, 16, 8, 16, 0 }, { 17, -61, 16, 8, 16, 0 }, { 17, -62, 16, 8, 16, 0 }, { 16, -63, 16, 8, 16, 0 }, + { 16, -64, 16, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91E042 = { - 96, { - { 31, 16, 15, 16, 16, 0 }, { 30, 16, 15, 16, 16, 0 }, { 29, 16, 15, 16, 16, 0 }, { 28, 15, 15, 16, 16, 0 }, { 27, 15, 15, 16, 16, 0 }, - { 26, 15, 15, 16, 16, 0 }, { 25, 15, 15, 0, 47, 14 }, { 24, 14, 15, 0, 47, 14 }, { 23, 14, 15, 0, 47, 14 }, { 22, 14, 15, 0, 47, 14 }, - { 21, 14, 15, 0, 47, 14 }, { 20, 14, 14, 0, 47, 14 }, { 19, 13, 14, 0, 47, 14 }, { 18, 13, 14, 0, 47, 14 }, { 17, 13, 14, 0, 47, 14 }, - { 16, 13, 14, 0, 47, 14 }, { 15, 13, 14, 0, 47, 14 }, { 14, 12, 14, 0, 47, 14 }, { 13, 12, 14, 0, 47, 13 }, { 12, 12, 14, 0, 47, 13 }, - { 11, 12, 13, 0, 47, 13 }, { 10, 12, 13, 0, 47, 13 }, { 9, 11, 13, 0, 47, 13 }, { 8, 11, 13, 0, 47, 13 }, { 7, 11, 13, 0, 47, 13 }, - { 6, 11, 12, 0, 47, 13 }, { 5, 11, 12, 0, 47, 13 }, { 4, 11, 12, 0, 47, 13 }, { 3, 10, 12, 0, 47, 13 }, { 2, 10, 12, 0, 47, 13 }, - { 1, 10, 11, 0, 47, 12 }, { 0, 10, 11, 0, 47, 12 }, { -1, 10, 11, 0, 47, 12 }, { -2, 10, 11, 0, 47, 12 }, { -3, 10, 11, 0, 47, 12 }, - { -4, 10, 10, 0, 47, 12 }, { -5, 10, 10, 0, 47, 12 }, { -6, 9, 10, 0, 47, 12 }, { -7, 9, 10, 0, 47, 12 }, { -8, 9, 9, 0, 47, 12 }, - { -9, 9, 9, 0, 47, 12 }, { -10, 9, 9, 0, 47, 12 }, { -11, 9, 9, 0, 47, 11 }, { -12, 9, 8, 0, 47, 11 }, { -13, 9, 8, 0, 47, 11 }, - { -14, 9, 8, 0, 47, 11 }, { -15, 9, 8, 0, 47, 11 }, { -16, 9, 8, 0, 47, 11 }, { -17, 9, 8, 0, 47, 11 }, { -18, 9, 8, 0, 47, 11 }, - { -19, 9, 7, 0, 47, 11 }, { -20, 9, 7, 0, 47, 11 }, { -21, 9, 7, 0, 47, 11 }, { -22, 9, 7, 0, 47, 11 }, { -23, 9, 6, 0, 47, 10 }, - { -24, 9, 6, 0, 47, 10 }, { -25, 9, 6, 0, 47, 10 }, { -26, 9, 6, 0, 47, 10 }, { -27, 9, 5, 0, 47, 10 }, { -28, 9, 5, 0, 47, 10 }, - { -29, 10, 5, 0, 47, 10 }, { -30, 10, 5, 0, 47, 10 }, { -31, 10, 4, 0, 47, 10 }, { -32, 10, 4, 0, 47, 10 }, { -33, 10, 4, 0, 47, 10 }, - { -34, 10, 4, 0, 47, 10 }, { -35, 10, 4, 0, 47, 4 }, { -36, 10, 3, 0, 47, 4 }, { -37, 10, 3, 0, 47, 4 }, { -38, 11, 3, 0, 47, 4 }, - { -39, 11, 3, 0, 47, 4 }, { -40, 11, 3, 0, 47, 4 }, { -41, 11, 2, 0, 47, 4 }, { -42, 11, 2, 0, 47, 4 }, { -43, 11, 2, 0, 47, 4 }, - { -44, 12, 2, 0, 47, 4 }, { -45, 12, 2, 0, 47, 4 }, { -46, 12, 1, 0, 47, 4 }, { -47, 12, 1, 0, 47, 3 }, { -48, 12, 1, 0, 47, 3 }, - { -49, 13, 1, 0, 47, 3 }, { -50, 13, 1, 0, 47, 3 }, { -51, 13, 1, 0, 47, 3 }, { -52, 13, 1, 0, 47, 3 }, { -53, 13, 1, 0, 47, 3 }, - { -54, 14, 1, 0, 47, 3 }, { -55, 14, 0, 0, 47, 3 }, { -56, 14, 0, 0, 47, 3 }, { -57, 14, 0, 0, 47, 3 }, { -58, 14, 0, 0, 47, 3 }, - { -59, 15, 0, 0, 47, 0 }, { -60, 15, 0, 0, 47, 0 }, { -61, 15, 0, 0, 47, 0 }, { -62, 15, 0, 0, 47, 0 }, { -63, 16, 0, 0, 47, 0 }, - { -64, 16, 0, 0, 47, 0 }, + 96, { + { 31, 16, 15, 16, 16, 0 }, { 30, 16, 15, 16, 16, 0 }, { 29, 16, 15, 16, 16, 0 }, { 28, 15, 15, 16, 16, 0 }, { 27, 15, 15, 16, 16, 0 }, + { 26, 15, 15, 16, 16, 0 }, { 25, 15, 15, 0, 47, 14 }, { 24, 14, 15, 0, 47, 14 }, { 23, 14, 15, 0, 47, 14 }, { 22, 14, 15, 0, 47, 14 }, + { 21, 14, 15, 0, 47, 14 }, { 20, 14, 14, 0, 47, 14 }, { 19, 13, 14, 0, 47, 14 }, { 18, 13, 14, 0, 47, 14 }, { 17, 13, 14, 0, 47, 14 }, + { 16, 13, 14, 0, 47, 14 }, { 15, 13, 14, 0, 47, 14 }, { 14, 12, 14, 0, 47, 14 }, { 13, 12, 14, 0, 47, 13 }, { 12, 12, 14, 0, 47, 13 }, + { 11, 12, 13, 0, 47, 13 }, { 10, 12, 13, 0, 47, 13 }, { 9, 11, 13, 0, 47, 13 }, { 8, 11, 13, 0, 47, 13 }, { 7, 11, 13, 0, 47, 13 }, + { 6, 11, 12, 0, 47, 13 }, { 5, 11, 12, 0, 47, 13 }, { 4, 11, 12, 0, 47, 13 }, { 3, 10, 12, 0, 47, 13 }, { 2, 10, 12, 0, 47, 13 }, + { 1, 10, 11, 0, 47, 12 }, { 0, 10, 11, 0, 47, 12 }, { -1, 10, 11, 0, 47, 12 }, { -2, 10, 11, 0, 47, 12 }, { -3, 10, 11, 0, 47, 12 }, + { -4, 10, 10, 0, 47, 12 }, { -5, 10, 10, 0, 47, 12 }, { -6, 9, 10, 0, 47, 12 }, { -7, 9, 10, 0, 47, 12 }, { -8, 9, 9, 0, 47, 12 }, + { -9, 9, 9, 0, 47, 12 }, { -10, 9, 9, 0, 47, 12 }, { -11, 9, 9, 0, 47, 11 }, { -12, 9, 8, 0, 47, 11 }, { -13, 9, 8, 0, 47, 11 }, + { -14, 9, 8, 0, 47, 11 }, { -15, 9, 8, 0, 47, 11 }, { -16, 9, 8, 0, 47, 11 }, { -17, 9, 8, 0, 47, 11 }, { -18, 9, 8, 0, 47, 11 }, + { -19, 9, 7, 0, 47, 11 }, { -20, 9, 7, 0, 47, 11 }, { -21, 9, 7, 0, 47, 11 }, { -22, 9, 7, 0, 47, 11 }, { -23, 9, 6, 0, 47, 10 }, + { -24, 9, 6, 0, 47, 10 }, { -25, 9, 6, 0, 47, 10 }, { -26, 9, 6, 0, 47, 10 }, { -27, 9, 5, 0, 47, 10 }, { -28, 9, 5, 0, 47, 10 }, + { -29, 10, 5, 0, 47, 10 }, { -30, 10, 5, 0, 47, 10 }, { -31, 10, 4, 0, 47, 10 }, { -32, 10, 4, 0, 47, 10 }, { -33, 10, 4, 0, 47, 10 }, + { -34, 10, 4, 0, 47, 10 }, { -35, 10, 4, 0, 47, 4 }, { -36, 10, 3, 0, 47, 4 }, { -37, 10, 3, 0, 47, 4 }, { -38, 11, 3, 0, 47, 4 }, + { -39, 11, 3, 0, 47, 4 }, { -40, 11, 3, 0, 47, 4 }, { -41, 11, 2, 0, 47, 4 }, { -42, 11, 2, 0, 47, 4 }, { -43, 11, 2, 0, 47, 4 }, + { -44, 12, 2, 0, 47, 4 }, { -45, 12, 2, 0, 47, 4 }, { -46, 12, 1, 0, 47, 4 }, { -47, 12, 1, 0, 47, 3 }, { -48, 12, 1, 0, 47, 3 }, + { -49, 13, 1, 0, 47, 3 }, { -50, 13, 1, 0, 47, 3 }, { -51, 13, 1, 0, 47, 3 }, { -52, 13, 1, 0, 47, 3 }, { -53, 13, 1, 0, 47, 3 }, + { -54, 14, 1, 0, 47, 3 }, { -55, 14, 0, 0, 47, 3 }, { -56, 14, 0, 0, 47, 3 }, { -57, 14, 0, 0, 47, 3 }, { -58, 14, 0, 0, 47, 3 }, + { -59, 15, 0, 0, 47, 0 }, { -60, 15, 0, 0, 47, 0 }, { -61, 15, 0, 0, 47, 0 }, { -62, 15, 0, 0, 47, 0 }, { -63, 16, 0, 0, 47, 0 }, + { -64, 16, 0, 0, 47, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91E3A4 = { - 96, { - { 16, 0, 15, 24, 16, 0 }, { 16, 1, 15, 24, 16, 0 }, { 16, 2, 15, 24, 16, 0 }, { 15, 3, 15, 24, 16, 0 }, { 15, 4, 15, 24, 16, 0 }, - { 15, 5, 15, 24, 16, 0 }, { 15, 6, 15, 8, 47, 14 }, { 14, 7, 15, 8, 47, 14 }, { 14, 8, 15, 8, 47, 14 }, { 14, 9, 15, 8, 47, 14 }, - { 14, 10, 15, 8, 47, 14 }, { 14, 11, 14, 8, 47, 14 }, { 13, 12, 14, 8, 47, 14 }, { 13, 13, 14, 8, 47, 14 }, { 13, 14, 14, 8, 47, 14 }, - { 13, 15, 14, 8, 47, 14 }, { 13, 16, 14, 8, 47, 14 }, { 12, 17, 14, 8, 47, 14 }, { 12, 18, 14, 8, 47, 13 }, { 12, 19, 14, 8, 47, 13 }, - { 12, 20, 13, 8, 47, 13 }, { 12, 21, 13, 8, 47, 13 }, { 11, 22, 13, 8, 47, 13 }, { 11, 23, 13, 8, 47, 13 }, { 11, 24, 13, 8, 47, 13 }, - { 11, 25, 12, 8, 47, 13 }, { 11, 26, 12, 8, 47, 13 }, { 11, 27, 12, 8, 47, 13 }, { 10, 28, 12, 8, 47, 13 }, { 10, 29, 12, 8, 47, 13 }, - { 10, 30, 11, 8, 47, 12 }, { 10, 31, 11, 8, 47, 12 }, { 10, 32, 11, 8, 47, 12 }, { 10, 33, 11, 8, 47, 12 }, { 10, 34, 11, 8, 47, 12 }, - { 10, 35, 10, 8, 47, 12 }, { 10, 36, 10, 8, 47, 12 }, { 9, 37, 10, 8, 47, 12 }, { 9, 38, 10, 8, 47, 12 }, { 9, 39, 9, 8, 47, 12 }, - { 9, 40, 9, 8, 47, 12 }, { 9, 41, 9, 8, 47, 12 }, { 9, 42, 9, 8, 47, 11 }, { 9, 43, 8, 8, 47, 11 }, { 9, 44, 8, 8, 47, 11 }, - { 9, 45, 8, 8, 47, 11 }, { 9, 46, 8, 8, 47, 11 }, { 9, 47, 8, 8, 47, 11 }, { 9, 48, 8, 8, 47, 11 }, { 9, 49, 8, 8, 47, 11 }, - { 9, 50, 7, 8, 47, 11 }, { 9, 51, 7, 8, 47, 11 }, { 9, 52, 7, 8, 47, 11 }, { 9, 53, 7, 8, 47, 11 }, { 9, 54, 6, 8, 47, 10 }, - { 9, 55, 6, 8, 47, 10 }, { 9, 56, 6, 8, 47, 10 }, { 9, 57, 6, 8, 47, 10 }, { 9, 58, 5, 8, 47, 10 }, { 9, 59, 5, 8, 47, 10 }, - { 10, 60, 5, 8, 47, 10 }, { 10, 61, 5, 8, 47, 10 }, { 10, 62, 4, 8, 47, 10 }, { 10, 63, 4, 8, 47, 10 }, { 10, 64, 4, 8, 47, 10 }, - { 10, 65, 4, 8, 47, 10 }, { 10, 66, 4, 8, 47, 4 }, { 10, 67, 3, 8, 47, 4 }, { 10, 68, 3, 8, 47, 4 }, { 11, 69, 3, 8, 47, 4 }, - { 11, 70, 3, 8, 47, 4 }, { 11, 71, 3, 8, 47, 4 }, { 11, 72, 2, 8, 47, 4 }, { 11, 73, 2, 8, 47, 4 }, { 11, 74, 2, 8, 47, 4 }, - { 12, 75, 2, 8, 47, 4 }, { 12, 76, 2, 8, 47, 4 }, { 12, 77, 1, 8, 47, 4 }, { 12, 78, 1, 8, 47, 3 }, { 12, 79, 1, 8, 47, 3 }, - { 13, 80, 1, 8, 47, 3 }, { 13, 81, 1, 8, 47, 3 }, { 13, 82, 1, 8, 47, 3 }, { 13, 83, 1, 8, 47, 3 }, { 13, 84, 1, 8, 47, 3 }, - { 14, 85, 1, 8, 47, 3 }, { 14, 86, 0, 8, 47, 3 }, { 14, 87, 0, 8, 47, 3 }, { 14, 88, 0, 8, 47, 3 }, { 14, 89, 0, 8, 47, 3 }, - { 15, 90, 0, 8, 47, 0 }, { 15, 91, 0, 8, 47, 0 }, { 15, 92, 0, 8, 47, 0 }, { 15, 93, 0, 8, 47, 0 }, { 16, 94, 0, 8, 47, 0 }, - { 16, 95, 0, 8, 47, 0 }, + 96, { + { 16, 0, 15, 24, 16, 0 }, { 16, 1, 15, 24, 16, 0 }, { 16, 2, 15, 24, 16, 0 }, { 15, 3, 15, 24, 16, 0 }, { 15, 4, 15, 24, 16, 0 }, + { 15, 5, 15, 24, 16, 0 }, { 15, 6, 15, 8, 47, 14 }, { 14, 7, 15, 8, 47, 14 }, { 14, 8, 15, 8, 47, 14 }, { 14, 9, 15, 8, 47, 14 }, + { 14, 10, 15, 8, 47, 14 }, { 14, 11, 14, 8, 47, 14 }, { 13, 12, 14, 8, 47, 14 }, { 13, 13, 14, 8, 47, 14 }, { 13, 14, 14, 8, 47, 14 }, + { 13, 15, 14, 8, 47, 14 }, { 13, 16, 14, 8, 47, 14 }, { 12, 17, 14, 8, 47, 14 }, { 12, 18, 14, 8, 47, 13 }, { 12, 19, 14, 8, 47, 13 }, + { 12, 20, 13, 8, 47, 13 }, { 12, 21, 13, 8, 47, 13 }, { 11, 22, 13, 8, 47, 13 }, { 11, 23, 13, 8, 47, 13 }, { 11, 24, 13, 8, 47, 13 }, + { 11, 25, 12, 8, 47, 13 }, { 11, 26, 12, 8, 47, 13 }, { 11, 27, 12, 8, 47, 13 }, { 10, 28, 12, 8, 47, 13 }, { 10, 29, 12, 8, 47, 13 }, + { 10, 30, 11, 8, 47, 12 }, { 10, 31, 11, 8, 47, 12 }, { 10, 32, 11, 8, 47, 12 }, { 10, 33, 11, 8, 47, 12 }, { 10, 34, 11, 8, 47, 12 }, + { 10, 35, 10, 8, 47, 12 }, { 10, 36, 10, 8, 47, 12 }, { 9, 37, 10, 8, 47, 12 }, { 9, 38, 10, 8, 47, 12 }, { 9, 39, 9, 8, 47, 12 }, + { 9, 40, 9, 8, 47, 12 }, { 9, 41, 9, 8, 47, 12 }, { 9, 42, 9, 8, 47, 11 }, { 9, 43, 8, 8, 47, 11 }, { 9, 44, 8, 8, 47, 11 }, + { 9, 45, 8, 8, 47, 11 }, { 9, 46, 8, 8, 47, 11 }, { 9, 47, 8, 8, 47, 11 }, { 9, 48, 8, 8, 47, 11 }, { 9, 49, 8, 8, 47, 11 }, + { 9, 50, 7, 8, 47, 11 }, { 9, 51, 7, 8, 47, 11 }, { 9, 52, 7, 8, 47, 11 }, { 9, 53, 7, 8, 47, 11 }, { 9, 54, 6, 8, 47, 10 }, + { 9, 55, 6, 8, 47, 10 }, { 9, 56, 6, 8, 47, 10 }, { 9, 57, 6, 8, 47, 10 }, { 9, 58, 5, 8, 47, 10 }, { 9, 59, 5, 8, 47, 10 }, + { 10, 60, 5, 8, 47, 10 }, { 10, 61, 5, 8, 47, 10 }, { 10, 62, 4, 8, 47, 10 }, { 10, 63, 4, 8, 47, 10 }, { 10, 64, 4, 8, 47, 10 }, + { 10, 65, 4, 8, 47, 10 }, { 10, 66, 4, 8, 47, 4 }, { 10, 67, 3, 8, 47, 4 }, { 10, 68, 3, 8, 47, 4 }, { 11, 69, 3, 8, 47, 4 }, + { 11, 70, 3, 8, 47, 4 }, { 11, 71, 3, 8, 47, 4 }, { 11, 72, 2, 8, 47, 4 }, { 11, 73, 2, 8, 47, 4 }, { 11, 74, 2, 8, 47, 4 }, + { 12, 75, 2, 8, 47, 4 }, { 12, 76, 2, 8, 47, 4 }, { 12, 77, 1, 8, 47, 4 }, { 12, 78, 1, 8, 47, 3 }, { 12, 79, 1, 8, 47, 3 }, + { 13, 80, 1, 8, 47, 3 }, { 13, 81, 1, 8, 47, 3 }, { 13, 82, 1, 8, 47, 3 }, { 13, 83, 1, 8, 47, 3 }, { 13, 84, 1, 8, 47, 3 }, + { 14, 85, 1, 8, 47, 3 }, { 14, 86, 0, 8, 47, 3 }, { 14, 87, 0, 8, 47, 3 }, { 14, 88, 0, 8, 47, 3 }, { 14, 89, 0, 8, 47, 3 }, + { 15, 90, 0, 8, 47, 0 }, { 15, 91, 0, 8, 47, 0 }, { 15, 92, 0, 8, 47, 0 }, { 15, 93, 0, 8, 47, 0 }, { 16, 94, 0, 8, 47, 0 }, + { 16, 95, 0, 8, 47, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91E706 = { - 96, { - { 0, 16, 15, 0, 16, 0 }, { 1, 16, 15, 0, 16, 0 }, { 2, 16, 15, 0, 16, 0 }, { 3, 17, 15, 0, 16, 0 }, { 4, 17, 15, 0, 16, 0 }, - { 5, 17, 15, 0, 16, 0 }, { 6, 17, 15, 16, 47, 14 }, { 7, 18, 15, 16, 47, 14 }, { 8, 18, 15, 16, 47, 14 }, { 9, 18, 15, 16, 47, 14 }, - { 10, 18, 15, 16, 47, 14 }, { 11, 18, 14, 16, 47, 14 }, { 12, 19, 14, 16, 47, 14 }, { 13, 19, 14, 16, 47, 14 }, { 14, 19, 14, 16, 47, 14 }, - { 15, 19, 14, 16, 47, 14 }, { 16, 19, 14, 16, 47, 14 }, { 17, 20, 14, 16, 47, 14 }, { 18, 20, 14, 16, 47, 13 }, { 19, 20, 14, 16, 47, 13 }, - { 20, 20, 13, 16, 47, 13 }, { 21, 20, 13, 16, 47, 13 }, { 22, 21, 13, 16, 47, 13 }, { 23, 21, 13, 16, 47, 13 }, { 24, 21, 13, 16, 47, 13 }, - { 25, 21, 12, 16, 47, 13 }, { 26, 21, 12, 16, 47, 13 }, { 27, 21, 12, 16, 47, 13 }, { 28, 22, 12, 16, 47, 13 }, { 29, 22, 12, 16, 47, 13 }, - { 30, 22, 11, 16, 47, 12 }, { 31, 22, 11, 16, 47, 12 }, { 32, 22, 11, 16, 47, 12 }, { 33, 22, 11, 16, 47, 12 }, { 34, 22, 11, 16, 47, 12 }, - { 35, 22, 10, 16, 47, 12 }, { 36, 22, 10, 16, 47, 12 }, { 37, 23, 10, 16, 47, 12 }, { 38, 23, 10, 16, 47, 12 }, { 39, 23, 9, 16, 47, 12 }, - { 40, 23, 9, 16, 47, 12 }, { 41, 23, 9, 16, 47, 12 }, { 42, 23, 9, 16, 47, 11 }, { 43, 23, 8, 16, 47, 11 }, { 44, 23, 8, 16, 47, 11 }, - { 45, 23, 8, 16, 47, 11 }, { 46, 23, 8, 16, 47, 11 }, { 47, 23, 8, 16, 47, 11 }, { 48, 23, 8, 16, 47, 11 }, { 49, 23, 8, 16, 47, 11 }, - { 50, 23, 7, 16, 47, 11 }, { 51, 23, 7, 16, 47, 11 }, { 52, 23, 7, 16, 47, 11 }, { 53, 23, 7, 16, 47, 11 }, { 54, 23, 6, 16, 47, 10 }, - { 55, 23, 6, 16, 47, 10 }, { 56, 23, 6, 16, 47, 10 }, { 57, 23, 6, 16, 47, 10 }, { 58, 23, 5, 16, 47, 10 }, { 59, 23, 5, 16, 47, 10 }, - { 60, 22, 5, 16, 47, 10 }, { 61, 22, 5, 16, 47, 10 }, { 62, 22, 4, 16, 47, 10 }, { 63, 22, 4, 16, 47, 10 }, { 64, 22, 4, 16, 47, 10 }, - { 65, 22, 4, 16, 47, 10 }, { 66, 22, 4, 16, 47, 4 }, { 67, 22, 3, 16, 47, 4 }, { 68, 22, 3, 16, 47, 4 }, { 69, 21, 3, 16, 47, 4 }, - { 70, 21, 3, 16, 47, 4 }, { 71, 21, 3, 16, 47, 4 }, { 72, 21, 2, 16, 47, 4 }, { 73, 21, 2, 16, 47, 4 }, { 74, 21, 2, 16, 47, 4 }, - { 75, 20, 2, 16, 47, 4 }, { 76, 20, 2, 16, 47, 4 }, { 77, 20, 1, 16, 47, 4 }, { 78, 20, 1, 16, 47, 3 }, { 79, 20, 1, 16, 47, 3 }, - { 80, 19, 1, 16, 47, 3 }, { 81, 19, 1, 16, 47, 3 }, { 82, 19, 1, 16, 47, 3 }, { 83, 19, 1, 16, 47, 3 }, { 84, 19, 1, 16, 47, 3 }, - { 85, 18, 1, 16, 47, 3 }, { 86, 18, 0, 16, 47, 3 }, { 87, 18, 0, 16, 47, 3 }, { 88, 18, 0, 16, 47, 3 }, { 89, 18, 0, 16, 47, 3 }, - { 90, 17, 0, 16, 47, 0 }, { 91, 17, 0, 16, 47, 0 }, { 92, 17, 0, 16, 47, 0 }, { 93, 17, 0, 16, 47, 0 }, { 94, 16, 0, 16, 47, 0 }, - { 95, 16, 0, 16, 47, 0 }, + 96, { + { 0, 16, 15, 0, 16, 0 }, { 1, 16, 15, 0, 16, 0 }, { 2, 16, 15, 0, 16, 0 }, { 3, 17, 15, 0, 16, 0 }, { 4, 17, 15, 0, 16, 0 }, + { 5, 17, 15, 0, 16, 0 }, { 6, 17, 15, 16, 47, 14 }, { 7, 18, 15, 16, 47, 14 }, { 8, 18, 15, 16, 47, 14 }, { 9, 18, 15, 16, 47, 14 }, + { 10, 18, 15, 16, 47, 14 }, { 11, 18, 14, 16, 47, 14 }, { 12, 19, 14, 16, 47, 14 }, { 13, 19, 14, 16, 47, 14 }, { 14, 19, 14, 16, 47, 14 }, + { 15, 19, 14, 16, 47, 14 }, { 16, 19, 14, 16, 47, 14 }, { 17, 20, 14, 16, 47, 14 }, { 18, 20, 14, 16, 47, 13 }, { 19, 20, 14, 16, 47, 13 }, + { 20, 20, 13, 16, 47, 13 }, { 21, 20, 13, 16, 47, 13 }, { 22, 21, 13, 16, 47, 13 }, { 23, 21, 13, 16, 47, 13 }, { 24, 21, 13, 16, 47, 13 }, + { 25, 21, 12, 16, 47, 13 }, { 26, 21, 12, 16, 47, 13 }, { 27, 21, 12, 16, 47, 13 }, { 28, 22, 12, 16, 47, 13 }, { 29, 22, 12, 16, 47, 13 }, + { 30, 22, 11, 16, 47, 12 }, { 31, 22, 11, 16, 47, 12 }, { 32, 22, 11, 16, 47, 12 }, { 33, 22, 11, 16, 47, 12 }, { 34, 22, 11, 16, 47, 12 }, + { 35, 22, 10, 16, 47, 12 }, { 36, 22, 10, 16, 47, 12 }, { 37, 23, 10, 16, 47, 12 }, { 38, 23, 10, 16, 47, 12 }, { 39, 23, 9, 16, 47, 12 }, + { 40, 23, 9, 16, 47, 12 }, { 41, 23, 9, 16, 47, 12 }, { 42, 23, 9, 16, 47, 11 }, { 43, 23, 8, 16, 47, 11 }, { 44, 23, 8, 16, 47, 11 }, + { 45, 23, 8, 16, 47, 11 }, { 46, 23, 8, 16, 47, 11 }, { 47, 23, 8, 16, 47, 11 }, { 48, 23, 8, 16, 47, 11 }, { 49, 23, 8, 16, 47, 11 }, + { 50, 23, 7, 16, 47, 11 }, { 51, 23, 7, 16, 47, 11 }, { 52, 23, 7, 16, 47, 11 }, { 53, 23, 7, 16, 47, 11 }, { 54, 23, 6, 16, 47, 10 }, + { 55, 23, 6, 16, 47, 10 }, { 56, 23, 6, 16, 47, 10 }, { 57, 23, 6, 16, 47, 10 }, { 58, 23, 5, 16, 47, 10 }, { 59, 23, 5, 16, 47, 10 }, + { 60, 22, 5, 16, 47, 10 }, { 61, 22, 5, 16, 47, 10 }, { 62, 22, 4, 16, 47, 10 }, { 63, 22, 4, 16, 47, 10 }, { 64, 22, 4, 16, 47, 10 }, + { 65, 22, 4, 16, 47, 10 }, { 66, 22, 4, 16, 47, 4 }, { 67, 22, 3, 16, 47, 4 }, { 68, 22, 3, 16, 47, 4 }, { 69, 21, 3, 16, 47, 4 }, + { 70, 21, 3, 16, 47, 4 }, { 71, 21, 3, 16, 47, 4 }, { 72, 21, 2, 16, 47, 4 }, { 73, 21, 2, 16, 47, 4 }, { 74, 21, 2, 16, 47, 4 }, + { 75, 20, 2, 16, 47, 4 }, { 76, 20, 2, 16, 47, 4 }, { 77, 20, 1, 16, 47, 4 }, { 78, 20, 1, 16, 47, 3 }, { 79, 20, 1, 16, 47, 3 }, + { 80, 19, 1, 16, 47, 3 }, { 81, 19, 1, 16, 47, 3 }, { 82, 19, 1, 16, 47, 3 }, { 83, 19, 1, 16, 47, 3 }, { 84, 19, 1, 16, 47, 3 }, + { 85, 18, 1, 16, 47, 3 }, { 86, 18, 0, 16, 47, 3 }, { 87, 18, 0, 16, 47, 3 }, { 88, 18, 0, 16, 47, 3 }, { 89, 18, 0, 16, 47, 3 }, + { 90, 17, 0, 16, 47, 0 }, { 91, 17, 0, 16, 47, 0 }, { 92, 17, 0, 16, 47, 0 }, { 93, 17, 0, 16, 47, 0 }, { 94, 16, 0, 16, 47, 0 }, + { 95, 16, 0, 16, 47, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91EA68 = { - 96, { - { 16, 31, 15, 8, 16, 0 }, { 16, 30, 15, 8, 16, 0 }, { 16, 29, 15, 8, 16, 0 }, { 17, 28, 15, 8, 16, 0 }, { 17, 27, 15, 8, 16, 0 }, - { 17, 26, 15, 8, 16, 0 }, { 17, 25, 15, 24, 47, 14 }, { 18, 24, 15, 24, 47, 14 }, { 18, 23, 15, 24, 47, 14 }, { 18, 22, 15, 24, 47, 14 }, - { 18, 21, 15, 24, 47, 14 }, { 18, 20, 14, 24, 47, 14 }, { 19, 19, 14, 24, 47, 14 }, { 19, 18, 14, 24, 47, 14 }, { 19, 17, 14, 24, 47, 14 }, - { 19, 16, 14, 24, 47, 14 }, { 19, 15, 14, 24, 47, 14 }, { 20, 14, 14, 24, 47, 14 }, { 20, 13, 14, 24, 47, 13 }, { 20, 12, 14, 24, 47, 13 }, - { 20, 11, 13, 24, 47, 13 }, { 20, 10, 13, 24, 47, 13 }, { 21, 9, 13, 24, 47, 13 }, { 21, 8, 13, 24, 47, 13 }, { 21, 7, 13, 24, 47, 13 }, - { 21, 6, 12, 24, 47, 13 }, { 21, 5, 12, 24, 47, 13 }, { 21, 4, 12, 24, 47, 13 }, { 22, 3, 12, 24, 47, 13 }, { 22, 2, 12, 24, 47, 13 }, - { 22, 1, 11, 24, 47, 12 }, { 22, 0, 11, 24, 47, 12 }, { 22, -1, 11, 24, 47, 12 }, { 22, -2, 11, 24, 47, 12 }, { 22, -3, 11, 24, 47, 12 }, - { 22, -4, 10, 24, 47, 12 }, { 22, -5, 10, 24, 47, 12 }, { 23, -6, 10, 24, 47, 12 }, { 23, -7, 10, 24, 47, 12 }, { 23, -8, 9, 24, 47, 12 }, - { 23, -9, 9, 24, 47, 12 }, { 23, -10, 9, 24, 47, 12 }, { 23, -11, 9, 24, 47, 11 }, { 23, -12, 8, 24, 47, 11 }, { 23, -13, 8, 24, 47, 11 }, - { 23, -14, 8, 24, 47, 11 }, { 23, -15, 8, 24, 47, 11 }, { 23, -16, 8, 24, 47, 11 }, { 23, -17, 8, 24, 47, 11 }, { 23, -18, 8, 24, 47, 11 }, - { 23, -19, 7, 24, 47, 11 }, { 23, -20, 7, 24, 47, 11 }, { 23, -21, 7, 24, 47, 11 }, { 23, -22, 7, 24, 47, 11 }, { 23, -23, 6, 24, 47, 10 }, - { 23, -24, 6, 24, 47, 10 }, { 23, -25, 6, 24, 47, 10 }, { 23, -26, 6, 24, 47, 10 }, { 23, -27, 5, 24, 47, 10 }, { 23, -28, 5, 24, 47, 10 }, - { 22, -29, 5, 24, 47, 10 }, { 22, -30, 5, 24, 47, 10 }, { 22, -31, 4, 24, 47, 10 }, { 22, -32, 4, 24, 47, 10 }, { 22, -33, 4, 24, 47, 10 }, - { 22, -34, 4, 24, 47, 10 }, { 22, -35, 4, 24, 47, 4 }, { 22, -36, 3, 24, 47, 4 }, { 22, -37, 3, 24, 47, 4 }, { 21, -38, 3, 24, 47, 4 }, - { 21, -39, 3, 24, 47, 4 }, { 21, -40, 3, 24, 47, 4 }, { 21, -41, 2, 24, 47, 4 }, { 21, -42, 2, 24, 47, 4 }, { 21, -43, 2, 24, 47, 4 }, - { 20, -44, 2, 24, 47, 4 }, { 20, -45, 2, 24, 47, 4 }, { 20, -46, 1, 24, 47, 4 }, { 20, -47, 1, 24, 47, 3 }, { 20, -48, 1, 24, 47, 3 }, - { 19, -49, 1, 24, 47, 3 }, { 19, -50, 1, 24, 47, 3 }, { 19, -51, 1, 24, 47, 3 }, { 19, -52, 1, 24, 47, 3 }, { 19, -53, 1, 24, 47, 3 }, - { 18, -54, 1, 24, 47, 3 }, { 18, -55, 0, 24, 47, 3 }, { 18, -56, 0, 24, 47, 3 }, { 18, -57, 0, 24, 47, 3 }, { 18, -58, 0, 24, 47, 3 }, - { 17, -59, 0, 24, 47, 0 }, { 17, -60, 0, 24, 47, 0 }, { 17, -61, 0, 24, 47, 0 }, { 17, -62, 0, 24, 47, 0 }, { 16, -63, 0, 24, 47, 0 }, - { 16, -64, 0, 24, 47, 0 }, + 96, { + { 16, 31, 15, 8, 16, 0 }, { 16, 30, 15, 8, 16, 0 }, { 16, 29, 15, 8, 16, 0 }, { 17, 28, 15, 8, 16, 0 }, { 17, 27, 15, 8, 16, 0 }, + { 17, 26, 15, 8, 16, 0 }, { 17, 25, 15, 24, 47, 14 }, { 18, 24, 15, 24, 47, 14 }, { 18, 23, 15, 24, 47, 14 }, { 18, 22, 15, 24, 47, 14 }, + { 18, 21, 15, 24, 47, 14 }, { 18, 20, 14, 24, 47, 14 }, { 19, 19, 14, 24, 47, 14 }, { 19, 18, 14, 24, 47, 14 }, { 19, 17, 14, 24, 47, 14 }, + { 19, 16, 14, 24, 47, 14 }, { 19, 15, 14, 24, 47, 14 }, { 20, 14, 14, 24, 47, 14 }, { 20, 13, 14, 24, 47, 13 }, { 20, 12, 14, 24, 47, 13 }, + { 20, 11, 13, 24, 47, 13 }, { 20, 10, 13, 24, 47, 13 }, { 21, 9, 13, 24, 47, 13 }, { 21, 8, 13, 24, 47, 13 }, { 21, 7, 13, 24, 47, 13 }, + { 21, 6, 12, 24, 47, 13 }, { 21, 5, 12, 24, 47, 13 }, { 21, 4, 12, 24, 47, 13 }, { 22, 3, 12, 24, 47, 13 }, { 22, 2, 12, 24, 47, 13 }, + { 22, 1, 11, 24, 47, 12 }, { 22, 0, 11, 24, 47, 12 }, { 22, -1, 11, 24, 47, 12 }, { 22, -2, 11, 24, 47, 12 }, { 22, -3, 11, 24, 47, 12 }, + { 22, -4, 10, 24, 47, 12 }, { 22, -5, 10, 24, 47, 12 }, { 23, -6, 10, 24, 47, 12 }, { 23, -7, 10, 24, 47, 12 }, { 23, -8, 9, 24, 47, 12 }, + { 23, -9, 9, 24, 47, 12 }, { 23, -10, 9, 24, 47, 12 }, { 23, -11, 9, 24, 47, 11 }, { 23, -12, 8, 24, 47, 11 }, { 23, -13, 8, 24, 47, 11 }, + { 23, -14, 8, 24, 47, 11 }, { 23, -15, 8, 24, 47, 11 }, { 23, -16, 8, 24, 47, 11 }, { 23, -17, 8, 24, 47, 11 }, { 23, -18, 8, 24, 47, 11 }, + { 23, -19, 7, 24, 47, 11 }, { 23, -20, 7, 24, 47, 11 }, { 23, -21, 7, 24, 47, 11 }, { 23, -22, 7, 24, 47, 11 }, { 23, -23, 6, 24, 47, 10 }, + { 23, -24, 6, 24, 47, 10 }, { 23, -25, 6, 24, 47, 10 }, { 23, -26, 6, 24, 47, 10 }, { 23, -27, 5, 24, 47, 10 }, { 23, -28, 5, 24, 47, 10 }, + { 22, -29, 5, 24, 47, 10 }, { 22, -30, 5, 24, 47, 10 }, { 22, -31, 4, 24, 47, 10 }, { 22, -32, 4, 24, 47, 10 }, { 22, -33, 4, 24, 47, 10 }, + { 22, -34, 4, 24, 47, 10 }, { 22, -35, 4, 24, 47, 4 }, { 22, -36, 3, 24, 47, 4 }, { 22, -37, 3, 24, 47, 4 }, { 21, -38, 3, 24, 47, 4 }, + { 21, -39, 3, 24, 47, 4 }, { 21, -40, 3, 24, 47, 4 }, { 21, -41, 2, 24, 47, 4 }, { 21, -42, 2, 24, 47, 4 }, { 21, -43, 2, 24, 47, 4 }, + { 20, -44, 2, 24, 47, 4 }, { 20, -45, 2, 24, 47, 4 }, { 20, -46, 1, 24, 47, 4 }, { 20, -47, 1, 24, 47, 3 }, { 20, -48, 1, 24, 47, 3 }, + { 19, -49, 1, 24, 47, 3 }, { 19, -50, 1, 24, 47, 3 }, { 19, -51, 1, 24, 47, 3 }, { 19, -52, 1, 24, 47, 3 }, { 19, -53, 1, 24, 47, 3 }, + { 18, -54, 1, 24, 47, 3 }, { 18, -55, 0, 24, 47, 3 }, { 18, -56, 0, 24, 47, 3 }, { 18, -57, 0, 24, 47, 3 }, { 18, -58, 0, 24, 47, 3 }, + { 17, -59, 0, 24, 47, 0 }, { 17, -60, 0, 24, 47, 0 }, { 17, -61, 0, 24, 47, 0 }, { 17, -62, 0, 24, 47, 0 }, { 16, -63, 0, 24, 47, 0 }, + { 16, -64, 0, 24, 47, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91EDCA = { - 96, { - { 31, 16, 15, 16, 16, 0 }, { 30, 16, 15, 16, 16, 0 }, { 29, 16, 15, 16, 16, 0 }, { 28, 17, 15, 16, 16, 0 }, { 27, 17, 15, 16, 16, 0 }, - { 26, 17, 15, 16, 16, 0 }, { 25, 17, 15, 0, 47, 9 }, { 24, 18, 15, 0, 47, 9 }, { 23, 18, 15, 0, 47, 9 }, { 22, 18, 15, 0, 47, 9 }, - { 21, 18, 15, 0, 47, 9 }, { 20, 18, 14, 0, 47, 9 }, { 19, 19, 14, 0, 47, 9 }, { 18, 19, 14, 0, 47, 9 }, { 17, 19, 14, 0, 47, 9 }, - { 16, 19, 14, 0, 47, 9 }, { 15, 19, 14, 0, 47, 9 }, { 14, 20, 14, 0, 47, 9 }, { 13, 20, 14, 0, 47, 8 }, { 12, 20, 14, 0, 47, 8 }, - { 11, 20, 13, 0, 47, 8 }, { 10, 20, 13, 0, 47, 8 }, { 9, 21, 13, 0, 47, 8 }, { 8, 21, 13, 0, 47, 8 }, { 7, 21, 13, 0, 47, 8 }, - { 6, 21, 12, 0, 47, 8 }, { 5, 21, 12, 0, 47, 8 }, { 4, 21, 12, 0, 47, 8 }, { 3, 22, 12, 0, 47, 8 }, { 2, 22, 12, 0, 47, 8 }, - { 1, 22, 11, 0, 47, 7 }, { 0, 22, 11, 0, 47, 7 }, { -1, 22, 11, 0, 47, 7 }, { -2, 22, 11, 0, 47, 7 }, { -3, 22, 11, 0, 47, 7 }, - { -4, 22, 10, 0, 47, 7 }, { -5, 22, 10, 0, 47, 7 }, { -6, 23, 10, 0, 47, 7 }, { -7, 23, 10, 0, 47, 7 }, { -8, 23, 9, 0, 47, 7 }, - { -9, 23, 9, 0, 47, 7 }, { -10, 23, 9, 0, 47, 7 }, { -11, 23, 9, 0, 47, 6 }, { -12, 23, 8, 0, 47, 6 }, { -13, 23, 8, 0, 47, 6 }, - { -14, 23, 8, 0, 47, 6 }, { -15, 23, 8, 0, 47, 6 }, { -16, 23, 8, 0, 47, 6 }, { -17, 23, 8, 0, 47, 6 }, { -18, 23, 8, 0, 47, 6 }, - { -19, 23, 7, 0, 47, 6 }, { -20, 23, 7, 0, 47, 6 }, { -21, 23, 7, 0, 47, 6 }, { -22, 23, 7, 0, 47, 6 }, { -23, 23, 6, 0, 47, 5 }, - { -24, 23, 6, 0, 47, 5 }, { -25, 23, 6, 0, 47, 5 }, { -26, 23, 6, 0, 47, 5 }, { -27, 23, 5, 0, 47, 5 }, { -28, 23, 5, 0, 47, 5 }, - { -29, 22, 5, 0, 47, 5 }, { -30, 22, 5, 0, 47, 5 }, { -31, 22, 4, 0, 47, 5 }, { -32, 22, 4, 0, 47, 5 }, { -33, 22, 4, 0, 47, 5 }, - { -34, 22, 4, 0, 47, 5 }, { -35, 22, 4, 0, 47, 2 }, { -36, 22, 3, 0, 47, 2 }, { -37, 22, 3, 0, 47, 2 }, { -38, 21, 3, 0, 47, 2 }, - { -39, 21, 3, 0, 47, 2 }, { -40, 21, 3, 0, 47, 2 }, { -41, 21, 2, 0, 47, 2 }, { -42, 21, 2, 0, 47, 2 }, { -43, 21, 2, 0, 47, 2 }, - { -44, 20, 2, 0, 47, 2 }, { -45, 20, 2, 0, 47, 2 }, { -46, 20, 1, 0, 47, 2 }, { -47, 20, 1, 0, 47, 1 }, { -48, 20, 1, 0, 47, 1 }, - { -49, 19, 1, 0, 47, 1 }, { -50, 19, 1, 0, 47, 1 }, { -51, 19, 1, 0, 47, 1 }, { -52, 19, 1, 0, 47, 1 }, { -53, 19, 1, 0, 47, 1 }, - { -54, 18, 1, 0, 47, 1 }, { -55, 18, 0, 0, 47, 1 }, { -56, 18, 0, 0, 47, 1 }, { -57, 18, 0, 0, 47, 1 }, { -58, 18, 0, 0, 47, 1 }, - { -59, 17, 0, 0, 47, 0 }, { -60, 17, 0, 0, 47, 0 }, { -61, 17, 0, 0, 47, 0 }, { -62, 17, 0, 0, 47, 0 }, { -63, 16, 0, 0, 47, 0 }, - { -64, 16, 0, 0, 47, 0 }, + 96, { + { 31, 16, 15, 16, 16, 0 }, { 30, 16, 15, 16, 16, 0 }, { 29, 16, 15, 16, 16, 0 }, { 28, 17, 15, 16, 16, 0 }, { 27, 17, 15, 16, 16, 0 }, + { 26, 17, 15, 16, 16, 0 }, { 25, 17, 15, 0, 47, 9 }, { 24, 18, 15, 0, 47, 9 }, { 23, 18, 15, 0, 47, 9 }, { 22, 18, 15, 0, 47, 9 }, + { 21, 18, 15, 0, 47, 9 }, { 20, 18, 14, 0, 47, 9 }, { 19, 19, 14, 0, 47, 9 }, { 18, 19, 14, 0, 47, 9 }, { 17, 19, 14, 0, 47, 9 }, + { 16, 19, 14, 0, 47, 9 }, { 15, 19, 14, 0, 47, 9 }, { 14, 20, 14, 0, 47, 9 }, { 13, 20, 14, 0, 47, 8 }, { 12, 20, 14, 0, 47, 8 }, + { 11, 20, 13, 0, 47, 8 }, { 10, 20, 13, 0, 47, 8 }, { 9, 21, 13, 0, 47, 8 }, { 8, 21, 13, 0, 47, 8 }, { 7, 21, 13, 0, 47, 8 }, + { 6, 21, 12, 0, 47, 8 }, { 5, 21, 12, 0, 47, 8 }, { 4, 21, 12, 0, 47, 8 }, { 3, 22, 12, 0, 47, 8 }, { 2, 22, 12, 0, 47, 8 }, + { 1, 22, 11, 0, 47, 7 }, { 0, 22, 11, 0, 47, 7 }, { -1, 22, 11, 0, 47, 7 }, { -2, 22, 11, 0, 47, 7 }, { -3, 22, 11, 0, 47, 7 }, + { -4, 22, 10, 0, 47, 7 }, { -5, 22, 10, 0, 47, 7 }, { -6, 23, 10, 0, 47, 7 }, { -7, 23, 10, 0, 47, 7 }, { -8, 23, 9, 0, 47, 7 }, + { -9, 23, 9, 0, 47, 7 }, { -10, 23, 9, 0, 47, 7 }, { -11, 23, 9, 0, 47, 6 }, { -12, 23, 8, 0, 47, 6 }, { -13, 23, 8, 0, 47, 6 }, + { -14, 23, 8, 0, 47, 6 }, { -15, 23, 8, 0, 47, 6 }, { -16, 23, 8, 0, 47, 6 }, { -17, 23, 8, 0, 47, 6 }, { -18, 23, 8, 0, 47, 6 }, + { -19, 23, 7, 0, 47, 6 }, { -20, 23, 7, 0, 47, 6 }, { -21, 23, 7, 0, 47, 6 }, { -22, 23, 7, 0, 47, 6 }, { -23, 23, 6, 0, 47, 5 }, + { -24, 23, 6, 0, 47, 5 }, { -25, 23, 6, 0, 47, 5 }, { -26, 23, 6, 0, 47, 5 }, { -27, 23, 5, 0, 47, 5 }, { -28, 23, 5, 0, 47, 5 }, + { -29, 22, 5, 0, 47, 5 }, { -30, 22, 5, 0, 47, 5 }, { -31, 22, 4, 0, 47, 5 }, { -32, 22, 4, 0, 47, 5 }, { -33, 22, 4, 0, 47, 5 }, + { -34, 22, 4, 0, 47, 5 }, { -35, 22, 4, 0, 47, 2 }, { -36, 22, 3, 0, 47, 2 }, { -37, 22, 3, 0, 47, 2 }, { -38, 21, 3, 0, 47, 2 }, + { -39, 21, 3, 0, 47, 2 }, { -40, 21, 3, 0, 47, 2 }, { -41, 21, 2, 0, 47, 2 }, { -42, 21, 2, 0, 47, 2 }, { -43, 21, 2, 0, 47, 2 }, + { -44, 20, 2, 0, 47, 2 }, { -45, 20, 2, 0, 47, 2 }, { -46, 20, 1, 0, 47, 2 }, { -47, 20, 1, 0, 47, 1 }, { -48, 20, 1, 0, 47, 1 }, + { -49, 19, 1, 0, 47, 1 }, { -50, 19, 1, 0, 47, 1 }, { -51, 19, 1, 0, 47, 1 }, { -52, 19, 1, 0, 47, 1 }, { -53, 19, 1, 0, 47, 1 }, + { -54, 18, 1, 0, 47, 1 }, { -55, 18, 0, 0, 47, 1 }, { -56, 18, 0, 0, 47, 1 }, { -57, 18, 0, 0, 47, 1 }, { -58, 18, 0, 0, 47, 1 }, + { -59, 17, 0, 0, 47, 0 }, { -60, 17, 0, 0, 47, 0 }, { -61, 17, 0, 0, 47, 0 }, { -62, 17, 0, 0, 47, 0 }, { -63, 16, 0, 0, 47, 0 }, + { -64, 16, 0, 0, 47, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91F12C = { - 96, { - { 16, 0, 15, 24, 16, 0 }, { 16, 1, 15, 24, 16, 0 }, { 16, 2, 15, 24, 16, 0 }, { 17, 3, 15, 24, 16, 0 }, { 17, 4, 15, 24, 16, 0 }, - { 17, 5, 15, 24, 16, 0 }, { 17, 6, 15, 8, 47, 9 }, { 18, 7, 15, 8, 47, 9 }, { 18, 8, 15, 8, 47, 9 }, { 18, 9, 15, 8, 47, 9 }, - { 18, 10, 15, 8, 47, 9 }, { 18, 11, 14, 8, 47, 9 }, { 19, 12, 14, 8, 47, 9 }, { 19, 13, 14, 8, 47, 9 }, { 19, 14, 14, 8, 47, 9 }, - { 19, 15, 14, 8, 47, 9 }, { 19, 16, 14, 8, 47, 9 }, { 20, 17, 14, 8, 47, 9 }, { 20, 18, 14, 8, 47, 8 }, { 20, 19, 14, 8, 47, 8 }, - { 20, 20, 13, 8, 47, 8 }, { 20, 21, 13, 8, 47, 8 }, { 21, 22, 13, 8, 47, 8 }, { 21, 23, 13, 8, 47, 8 }, { 21, 24, 13, 8, 47, 8 }, - { 21, 25, 12, 8, 47, 8 }, { 21, 26, 12, 8, 47, 8 }, { 21, 27, 12, 8, 47, 8 }, { 22, 28, 12, 8, 47, 8 }, { 22, 29, 12, 8, 47, 8 }, - { 22, 30, 11, 8, 47, 7 }, { 22, 31, 11, 8, 47, 7 }, { 22, 32, 11, 8, 47, 7 }, { 22, 33, 11, 8, 47, 7 }, { 22, 34, 11, 8, 47, 7 }, - { 22, 35, 10, 8, 47, 7 }, { 22, 36, 10, 8, 47, 7 }, { 23, 37, 10, 8, 47, 7 }, { 23, 38, 10, 8, 47, 7 }, { 23, 39, 9, 8, 47, 7 }, - { 23, 40, 9, 8, 47, 7 }, { 23, 41, 9, 8, 47, 7 }, { 23, 42, 9, 8, 47, 6 }, { 23, 43, 8, 8, 47, 6 }, { 23, 44, 8, 8, 47, 6 }, - { 23, 45, 8, 8, 47, 6 }, { 23, 46, 8, 8, 47, 6 }, { 23, 47, 8, 8, 47, 6 }, { 23, 48, 8, 8, 47, 6 }, { 23, 49, 8, 8, 47, 6 }, - { 23, 50, 7, 8, 47, 6 }, { 23, 51, 7, 8, 47, 6 }, { 23, 52, 7, 8, 47, 6 }, { 23, 53, 7, 8, 47, 6 }, { 23, 54, 6, 8, 47, 5 }, - { 23, 55, 6, 8, 47, 5 }, { 23, 56, 6, 8, 47, 5 }, { 23, 57, 6, 8, 47, 5 }, { 23, 58, 5, 8, 47, 5 }, { 23, 59, 5, 8, 47, 5 }, - { 22, 60, 5, 8, 47, 5 }, { 22, 61, 5, 8, 47, 5 }, { 22, 62, 4, 8, 47, 5 }, { 22, 63, 4, 8, 47, 5 }, { 22, 64, 4, 8, 47, 5 }, - { 22, 65, 4, 8, 47, 5 }, { 22, 66, 4, 8, 47, 2 }, { 22, 67, 3, 8, 47, 2 }, { 22, 68, 3, 8, 47, 2 }, { 21, 69, 3, 8, 47, 2 }, - { 21, 70, 3, 8, 47, 2 }, { 21, 71, 3, 8, 47, 2 }, { 21, 72, 2, 8, 47, 2 }, { 21, 73, 2, 8, 47, 2 }, { 21, 74, 2, 8, 47, 2 }, - { 20, 75, 2, 8, 47, 2 }, { 20, 76, 2, 8, 47, 2 }, { 20, 77, 1, 8, 47, 2 }, { 20, 78, 1, 8, 47, 1 }, { 20, 79, 1, 8, 47, 1 }, - { 19, 80, 1, 8, 47, 1 }, { 19, 81, 1, 8, 47, 1 }, { 19, 82, 1, 8, 47, 1 }, { 19, 83, 1, 8, 47, 1 }, { 19, 84, 1, 8, 47, 1 }, - { 18, 85, 1, 8, 47, 1 }, { 18, 86, 0, 8, 47, 1 }, { 18, 87, 0, 8, 47, 1 }, { 18, 88, 0, 8, 47, 1 }, { 18, 89, 0, 8, 47, 1 }, - { 17, 90, 0, 8, 47, 0 }, { 17, 91, 0, 8, 47, 0 }, { 17, 92, 0, 8, 47, 0 }, { 17, 93, 0, 8, 47, 0 }, { 16, 94, 0, 8, 47, 0 }, - { 16, 95, 0, 8, 47, 0 }, + 96, { + { 16, 0, 15, 24, 16, 0 }, { 16, 1, 15, 24, 16, 0 }, { 16, 2, 15, 24, 16, 0 }, { 17, 3, 15, 24, 16, 0 }, { 17, 4, 15, 24, 16, 0 }, + { 17, 5, 15, 24, 16, 0 }, { 17, 6, 15, 8, 47, 9 }, { 18, 7, 15, 8, 47, 9 }, { 18, 8, 15, 8, 47, 9 }, { 18, 9, 15, 8, 47, 9 }, + { 18, 10, 15, 8, 47, 9 }, { 18, 11, 14, 8, 47, 9 }, { 19, 12, 14, 8, 47, 9 }, { 19, 13, 14, 8, 47, 9 }, { 19, 14, 14, 8, 47, 9 }, + { 19, 15, 14, 8, 47, 9 }, { 19, 16, 14, 8, 47, 9 }, { 20, 17, 14, 8, 47, 9 }, { 20, 18, 14, 8, 47, 8 }, { 20, 19, 14, 8, 47, 8 }, + { 20, 20, 13, 8, 47, 8 }, { 20, 21, 13, 8, 47, 8 }, { 21, 22, 13, 8, 47, 8 }, { 21, 23, 13, 8, 47, 8 }, { 21, 24, 13, 8, 47, 8 }, + { 21, 25, 12, 8, 47, 8 }, { 21, 26, 12, 8, 47, 8 }, { 21, 27, 12, 8, 47, 8 }, { 22, 28, 12, 8, 47, 8 }, { 22, 29, 12, 8, 47, 8 }, + { 22, 30, 11, 8, 47, 7 }, { 22, 31, 11, 8, 47, 7 }, { 22, 32, 11, 8, 47, 7 }, { 22, 33, 11, 8, 47, 7 }, { 22, 34, 11, 8, 47, 7 }, + { 22, 35, 10, 8, 47, 7 }, { 22, 36, 10, 8, 47, 7 }, { 23, 37, 10, 8, 47, 7 }, { 23, 38, 10, 8, 47, 7 }, { 23, 39, 9, 8, 47, 7 }, + { 23, 40, 9, 8, 47, 7 }, { 23, 41, 9, 8, 47, 7 }, { 23, 42, 9, 8, 47, 6 }, { 23, 43, 8, 8, 47, 6 }, { 23, 44, 8, 8, 47, 6 }, + { 23, 45, 8, 8, 47, 6 }, { 23, 46, 8, 8, 47, 6 }, { 23, 47, 8, 8, 47, 6 }, { 23, 48, 8, 8, 47, 6 }, { 23, 49, 8, 8, 47, 6 }, + { 23, 50, 7, 8, 47, 6 }, { 23, 51, 7, 8, 47, 6 }, { 23, 52, 7, 8, 47, 6 }, { 23, 53, 7, 8, 47, 6 }, { 23, 54, 6, 8, 47, 5 }, + { 23, 55, 6, 8, 47, 5 }, { 23, 56, 6, 8, 47, 5 }, { 23, 57, 6, 8, 47, 5 }, { 23, 58, 5, 8, 47, 5 }, { 23, 59, 5, 8, 47, 5 }, + { 22, 60, 5, 8, 47, 5 }, { 22, 61, 5, 8, 47, 5 }, { 22, 62, 4, 8, 47, 5 }, { 22, 63, 4, 8, 47, 5 }, { 22, 64, 4, 8, 47, 5 }, + { 22, 65, 4, 8, 47, 5 }, { 22, 66, 4, 8, 47, 2 }, { 22, 67, 3, 8, 47, 2 }, { 22, 68, 3, 8, 47, 2 }, { 21, 69, 3, 8, 47, 2 }, + { 21, 70, 3, 8, 47, 2 }, { 21, 71, 3, 8, 47, 2 }, { 21, 72, 2, 8, 47, 2 }, { 21, 73, 2, 8, 47, 2 }, { 21, 74, 2, 8, 47, 2 }, + { 20, 75, 2, 8, 47, 2 }, { 20, 76, 2, 8, 47, 2 }, { 20, 77, 1, 8, 47, 2 }, { 20, 78, 1, 8, 47, 1 }, { 20, 79, 1, 8, 47, 1 }, + { 19, 80, 1, 8, 47, 1 }, { 19, 81, 1, 8, 47, 1 }, { 19, 82, 1, 8, 47, 1 }, { 19, 83, 1, 8, 47, 1 }, { 19, 84, 1, 8, 47, 1 }, + { 18, 85, 1, 8, 47, 1 }, { 18, 86, 0, 8, 47, 1 }, { 18, 87, 0, 8, 47, 1 }, { 18, 88, 0, 8, 47, 1 }, { 18, 89, 0, 8, 47, 1 }, + { 17, 90, 0, 8, 47, 0 }, { 17, 91, 0, 8, 47, 0 }, { 17, 92, 0, 8, 47, 0 }, { 17, 93, 0, 8, 47, 0 }, { 16, 94, 0, 8, 47, 0 }, + { 16, 95, 0, 8, 47, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91F48E = { - 96, { - { 0, 16, 15, 0, 16, 0 }, { 1, 16, 15, 0, 16, 0 }, { 2, 16, 15, 0, 16, 0 }, { 3, 15, 15, 0, 16, 0 }, { 4, 15, 15, 0, 16, 0 }, - { 5, 15, 15, 0, 16, 0 }, { 6, 15, 15, 16, 47, 9 }, { 7, 14, 15, 16, 47, 9 }, { 8, 14, 15, 16, 47, 9 }, { 9, 14, 15, 16, 47, 9 }, - { 10, 14, 15, 16, 47, 9 }, { 11, 14, 14, 16, 47, 9 }, { 12, 13, 14, 16, 47, 9 }, { 13, 13, 14, 16, 47, 9 }, { 14, 13, 14, 16, 47, 9 }, - { 15, 13, 14, 16, 47, 9 }, { 16, 13, 14, 16, 47, 9 }, { 17, 12, 14, 16, 47, 9 }, { 18, 12, 14, 16, 47, 8 }, { 19, 12, 14, 16, 47, 8 }, - { 20, 12, 13, 16, 47, 8 }, { 21, 12, 13, 16, 47, 8 }, { 22, 11, 13, 16, 47, 8 }, { 23, 11, 13, 16, 47, 8 }, { 24, 11, 13, 16, 47, 8 }, - { 25, 11, 12, 16, 47, 8 }, { 26, 11, 12, 16, 47, 8 }, { 27, 11, 12, 16, 47, 8 }, { 28, 10, 12, 16, 47, 8 }, { 29, 10, 12, 16, 47, 8 }, - { 30, 10, 11, 16, 47, 7 }, { 31, 10, 11, 16, 47, 7 }, { 32, 10, 11, 16, 47, 7 }, { 33, 10, 11, 16, 47, 7 }, { 34, 10, 11, 16, 47, 7 }, - { 35, 10, 10, 16, 47, 7 }, { 36, 10, 10, 16, 47, 7 }, { 37, 9, 10, 16, 47, 7 }, { 38, 9, 10, 16, 47, 7 }, { 39, 9, 9, 16, 47, 7 }, - { 40, 9, 9, 16, 47, 7 }, { 41, 9, 9, 16, 47, 7 }, { 42, 9, 9, 16, 47, 6 }, { 43, 9, 8, 16, 47, 6 }, { 44, 9, 8, 16, 47, 6 }, - { 45, 9, 8, 16, 47, 6 }, { 46, 9, 8, 16, 47, 6 }, { 47, 9, 8, 16, 47, 6 }, { 48, 9, 8, 16, 47, 6 }, { 49, 9, 8, 16, 47, 6 }, - { 50, 9, 7, 16, 47, 6 }, { 51, 9, 7, 16, 47, 6 }, { 52, 9, 7, 16, 47, 6 }, { 53, 9, 7, 16, 47, 6 }, { 54, 9, 6, 16, 47, 5 }, - { 55, 9, 6, 16, 47, 5 }, { 56, 9, 6, 16, 47, 5 }, { 57, 9, 6, 16, 47, 5 }, { 58, 9, 5, 16, 47, 5 }, { 59, 9, 5, 16, 47, 5 }, - { 60, 10, 5, 16, 47, 5 }, { 61, 10, 5, 16, 47, 5 }, { 62, 10, 4, 16, 47, 5 }, { 63, 10, 4, 16, 47, 5 }, { 64, 10, 4, 16, 47, 5 }, - { 65, 10, 4, 16, 47, 5 }, { 66, 10, 4, 16, 47, 2 }, { 67, 10, 3, 16, 47, 2 }, { 68, 10, 3, 16, 47, 2 }, { 69, 11, 3, 16, 47, 2 }, - { 70, 11, 3, 16, 47, 2 }, { 71, 11, 3, 16, 47, 2 }, { 72, 11, 2, 16, 47, 2 }, { 73, 11, 2, 16, 47, 2 }, { 74, 11, 2, 16, 47, 2 }, - { 75, 12, 2, 16, 47, 2 }, { 76, 12, 2, 16, 47, 2 }, { 77, 12, 1, 16, 47, 2 }, { 78, 12, 1, 16, 47, 1 }, { 79, 12, 1, 16, 47, 1 }, - { 80, 13, 1, 16, 47, 1 }, { 81, 13, 1, 16, 47, 1 }, { 82, 13, 1, 16, 47, 1 }, { 83, 13, 1, 16, 47, 1 }, { 84, 13, 1, 16, 47, 1 }, - { 85, 14, 1, 16, 47, 1 }, { 86, 14, 0, 16, 47, 1 }, { 87, 14, 0, 16, 47, 1 }, { 88, 14, 0, 16, 47, 1 }, { 89, 14, 0, 16, 47, 1 }, - { 90, 15, 0, 16, 47, 0 }, { 91, 15, 0, 16, 47, 0 }, { 92, 15, 0, 16, 47, 0 }, { 93, 15, 0, 16, 47, 0 }, { 94, 16, 0, 16, 47, 0 }, - { 95, 16, 0, 16, 47, 0 }, + 96, { + { 0, 16, 15, 0, 16, 0 }, { 1, 16, 15, 0, 16, 0 }, { 2, 16, 15, 0, 16, 0 }, { 3, 15, 15, 0, 16, 0 }, { 4, 15, 15, 0, 16, 0 }, + { 5, 15, 15, 0, 16, 0 }, { 6, 15, 15, 16, 47, 9 }, { 7, 14, 15, 16, 47, 9 }, { 8, 14, 15, 16, 47, 9 }, { 9, 14, 15, 16, 47, 9 }, + { 10, 14, 15, 16, 47, 9 }, { 11, 14, 14, 16, 47, 9 }, { 12, 13, 14, 16, 47, 9 }, { 13, 13, 14, 16, 47, 9 }, { 14, 13, 14, 16, 47, 9 }, + { 15, 13, 14, 16, 47, 9 }, { 16, 13, 14, 16, 47, 9 }, { 17, 12, 14, 16, 47, 9 }, { 18, 12, 14, 16, 47, 8 }, { 19, 12, 14, 16, 47, 8 }, + { 20, 12, 13, 16, 47, 8 }, { 21, 12, 13, 16, 47, 8 }, { 22, 11, 13, 16, 47, 8 }, { 23, 11, 13, 16, 47, 8 }, { 24, 11, 13, 16, 47, 8 }, + { 25, 11, 12, 16, 47, 8 }, { 26, 11, 12, 16, 47, 8 }, { 27, 11, 12, 16, 47, 8 }, { 28, 10, 12, 16, 47, 8 }, { 29, 10, 12, 16, 47, 8 }, + { 30, 10, 11, 16, 47, 7 }, { 31, 10, 11, 16, 47, 7 }, { 32, 10, 11, 16, 47, 7 }, { 33, 10, 11, 16, 47, 7 }, { 34, 10, 11, 16, 47, 7 }, + { 35, 10, 10, 16, 47, 7 }, { 36, 10, 10, 16, 47, 7 }, { 37, 9, 10, 16, 47, 7 }, { 38, 9, 10, 16, 47, 7 }, { 39, 9, 9, 16, 47, 7 }, + { 40, 9, 9, 16, 47, 7 }, { 41, 9, 9, 16, 47, 7 }, { 42, 9, 9, 16, 47, 6 }, { 43, 9, 8, 16, 47, 6 }, { 44, 9, 8, 16, 47, 6 }, + { 45, 9, 8, 16, 47, 6 }, { 46, 9, 8, 16, 47, 6 }, { 47, 9, 8, 16, 47, 6 }, { 48, 9, 8, 16, 47, 6 }, { 49, 9, 8, 16, 47, 6 }, + { 50, 9, 7, 16, 47, 6 }, { 51, 9, 7, 16, 47, 6 }, { 52, 9, 7, 16, 47, 6 }, { 53, 9, 7, 16, 47, 6 }, { 54, 9, 6, 16, 47, 5 }, + { 55, 9, 6, 16, 47, 5 }, { 56, 9, 6, 16, 47, 5 }, { 57, 9, 6, 16, 47, 5 }, { 58, 9, 5, 16, 47, 5 }, { 59, 9, 5, 16, 47, 5 }, + { 60, 10, 5, 16, 47, 5 }, { 61, 10, 5, 16, 47, 5 }, { 62, 10, 4, 16, 47, 5 }, { 63, 10, 4, 16, 47, 5 }, { 64, 10, 4, 16, 47, 5 }, + { 65, 10, 4, 16, 47, 5 }, { 66, 10, 4, 16, 47, 2 }, { 67, 10, 3, 16, 47, 2 }, { 68, 10, 3, 16, 47, 2 }, { 69, 11, 3, 16, 47, 2 }, + { 70, 11, 3, 16, 47, 2 }, { 71, 11, 3, 16, 47, 2 }, { 72, 11, 2, 16, 47, 2 }, { 73, 11, 2, 16, 47, 2 }, { 74, 11, 2, 16, 47, 2 }, + { 75, 12, 2, 16, 47, 2 }, { 76, 12, 2, 16, 47, 2 }, { 77, 12, 1, 16, 47, 2 }, { 78, 12, 1, 16, 47, 1 }, { 79, 12, 1, 16, 47, 1 }, + { 80, 13, 1, 16, 47, 1 }, { 81, 13, 1, 16, 47, 1 }, { 82, 13, 1, 16, 47, 1 }, { 83, 13, 1, 16, 47, 1 }, { 84, 13, 1, 16, 47, 1 }, + { 85, 14, 1, 16, 47, 1 }, { 86, 14, 0, 16, 47, 1 }, { 87, 14, 0, 16, 47, 1 }, { 88, 14, 0, 16, 47, 1 }, { 89, 14, 0, 16, 47, 1 }, + { 90, 15, 0, 16, 47, 0 }, { 91, 15, 0, 16, 47, 0 }, { 92, 15, 0, 16, 47, 0 }, { 93, 15, 0, 16, 47, 0 }, { 94, 16, 0, 16, 47, 0 }, + { 95, 16, 0, 16, 47, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91F7F0 = { - 96, { - { 16, 31, 15, 8, 16, 0 }, { 16, 30, 15, 8, 16, 0 }, { 16, 29, 15, 8, 16, 0 }, { 15, 28, 15, 8, 16, 0 }, { 15, 27, 15, 8, 16, 0 }, - { 15, 26, 15, 8, 16, 0 }, { 15, 25, 15, 24, 47, 9 }, { 14, 24, 15, 24, 47, 9 }, { 14, 23, 15, 24, 47, 9 }, { 14, 22, 15, 24, 47, 9 }, - { 14, 21, 15, 24, 47, 9 }, { 14, 20, 14, 24, 47, 9 }, { 13, 19, 14, 24, 47, 9 }, { 13, 18, 14, 24, 47, 9 }, { 13, 17, 14, 24, 47, 9 }, - { 13, 16, 14, 24, 47, 9 }, { 13, 15, 14, 24, 47, 9 }, { 12, 14, 14, 24, 47, 9 }, { 12, 13, 14, 24, 47, 8 }, { 12, 12, 14, 24, 47, 8 }, - { 12, 11, 13, 24, 47, 8 }, { 12, 10, 13, 24, 47, 8 }, { 11, 9, 13, 24, 47, 8 }, { 11, 8, 13, 24, 47, 8 }, { 11, 7, 13, 24, 47, 8 }, - { 11, 6, 12, 24, 47, 8 }, { 11, 5, 12, 24, 47, 8 }, { 11, 4, 12, 24, 47, 8 }, { 10, 3, 12, 24, 47, 8 }, { 10, 2, 12, 24, 47, 8 }, - { 10, 1, 11, 24, 47, 7 }, { 10, 0, 11, 24, 47, 7 }, { 10, -1, 11, 24, 47, 7 }, { 10, -2, 11, 24, 47, 7 }, { 10, -3, 11, 24, 47, 7 }, - { 10, -4, 10, 24, 47, 7 }, { 10, -5, 10, 24, 47, 7 }, { 9, -6, 10, 24, 47, 7 }, { 9, -7, 10, 24, 47, 7 }, { 9, -8, 9, 24, 47, 7 }, - { 9, -9, 9, 24, 47, 7 }, { 9, -10, 9, 24, 47, 7 }, { 9, -11, 9, 24, 47, 6 }, { 9, -12, 8, 24, 47, 6 }, { 9, -13, 8, 24, 47, 6 }, - { 9, -14, 8, 24, 47, 6 }, { 9, -15, 8, 24, 47, 6 }, { 9, -16, 8, 24, 47, 6 }, { 9, -17, 8, 24, 47, 6 }, { 9, -18, 8, 24, 47, 6 }, - { 9, -19, 7, 24, 47, 6 }, { 9, -20, 7, 24, 47, 6 }, { 9, -21, 7, 24, 47, 6 }, { 9, -22, 7, 24, 47, 6 }, { 9, -23, 6, 24, 47, 5 }, - { 9, -24, 6, 24, 47, 5 }, { 9, -25, 6, 24, 47, 5 }, { 9, -26, 6, 24, 47, 5 }, { 9, -27, 5, 24, 47, 5 }, { 9, -28, 5, 24, 47, 5 }, - { 10, -29, 5, 24, 47, 5 }, { 10, -30, 5, 24, 47, 5 }, { 10, -31, 4, 24, 47, 5 }, { 10, -32, 4, 24, 47, 5 }, { 10, -33, 4, 24, 47, 5 }, - { 10, -34, 4, 24, 47, 5 }, { 10, -35, 4, 24, 47, 2 }, { 10, -36, 3, 24, 47, 2 }, { 10, -37, 3, 24, 47, 2 }, { 11, -38, 3, 24, 47, 2 }, - { 11, -39, 3, 24, 47, 2 }, { 11, -40, 3, 24, 47, 2 }, { 11, -41, 2, 24, 47, 2 }, { 11, -42, 2, 24, 47, 2 }, { 11, -43, 2, 24, 47, 2 }, - { 12, -44, 2, 24, 47, 2 }, { 12, -45, 2, 24, 47, 2 }, { 12, -46, 1, 24, 47, 2 }, { 12, -47, 1, 24, 47, 1 }, { 12, -48, 1, 24, 47, 1 }, - { 13, -49, 1, 24, 47, 1 }, { 13, -50, 1, 24, 47, 1 }, { 13, -51, 1, 24, 47, 1 }, { 13, -52, 1, 24, 47, 1 }, { 13, -53, 1, 24, 47, 1 }, - { 14, -54, 1, 24, 47, 1 }, { 14, -55, 0, 24, 47, 1 }, { 14, -56, 0, 24, 47, 1 }, { 14, -57, 0, 24, 47, 1 }, { 14, -58, 0, 24, 47, 1 }, - { 15, -59, 0, 24, 47, 0 }, { 15, -60, 0, 24, 47, 0 }, { 15, -61, 0, 24, 47, 0 }, { 15, -62, 0, 24, 47, 0 }, { 16, -63, 0, 24, 47, 0 }, - { 16, -64, 0, 24, 47, 0 }, + 96, { + { 16, 31, 15, 8, 16, 0 }, { 16, 30, 15, 8, 16, 0 }, { 16, 29, 15, 8, 16, 0 }, { 15, 28, 15, 8, 16, 0 }, { 15, 27, 15, 8, 16, 0 }, + { 15, 26, 15, 8, 16, 0 }, { 15, 25, 15, 24, 47, 9 }, { 14, 24, 15, 24, 47, 9 }, { 14, 23, 15, 24, 47, 9 }, { 14, 22, 15, 24, 47, 9 }, + { 14, 21, 15, 24, 47, 9 }, { 14, 20, 14, 24, 47, 9 }, { 13, 19, 14, 24, 47, 9 }, { 13, 18, 14, 24, 47, 9 }, { 13, 17, 14, 24, 47, 9 }, + { 13, 16, 14, 24, 47, 9 }, { 13, 15, 14, 24, 47, 9 }, { 12, 14, 14, 24, 47, 9 }, { 12, 13, 14, 24, 47, 8 }, { 12, 12, 14, 24, 47, 8 }, + { 12, 11, 13, 24, 47, 8 }, { 12, 10, 13, 24, 47, 8 }, { 11, 9, 13, 24, 47, 8 }, { 11, 8, 13, 24, 47, 8 }, { 11, 7, 13, 24, 47, 8 }, + { 11, 6, 12, 24, 47, 8 }, { 11, 5, 12, 24, 47, 8 }, { 11, 4, 12, 24, 47, 8 }, { 10, 3, 12, 24, 47, 8 }, { 10, 2, 12, 24, 47, 8 }, + { 10, 1, 11, 24, 47, 7 }, { 10, 0, 11, 24, 47, 7 }, { 10, -1, 11, 24, 47, 7 }, { 10, -2, 11, 24, 47, 7 }, { 10, -3, 11, 24, 47, 7 }, + { 10, -4, 10, 24, 47, 7 }, { 10, -5, 10, 24, 47, 7 }, { 9, -6, 10, 24, 47, 7 }, { 9, -7, 10, 24, 47, 7 }, { 9, -8, 9, 24, 47, 7 }, + { 9, -9, 9, 24, 47, 7 }, { 9, -10, 9, 24, 47, 7 }, { 9, -11, 9, 24, 47, 6 }, { 9, -12, 8, 24, 47, 6 }, { 9, -13, 8, 24, 47, 6 }, + { 9, -14, 8, 24, 47, 6 }, { 9, -15, 8, 24, 47, 6 }, { 9, -16, 8, 24, 47, 6 }, { 9, -17, 8, 24, 47, 6 }, { 9, -18, 8, 24, 47, 6 }, + { 9, -19, 7, 24, 47, 6 }, { 9, -20, 7, 24, 47, 6 }, { 9, -21, 7, 24, 47, 6 }, { 9, -22, 7, 24, 47, 6 }, { 9, -23, 6, 24, 47, 5 }, + { 9, -24, 6, 24, 47, 5 }, { 9, -25, 6, 24, 47, 5 }, { 9, -26, 6, 24, 47, 5 }, { 9, -27, 5, 24, 47, 5 }, { 9, -28, 5, 24, 47, 5 }, + { 10, -29, 5, 24, 47, 5 }, { 10, -30, 5, 24, 47, 5 }, { 10, -31, 4, 24, 47, 5 }, { 10, -32, 4, 24, 47, 5 }, { 10, -33, 4, 24, 47, 5 }, + { 10, -34, 4, 24, 47, 5 }, { 10, -35, 4, 24, 47, 2 }, { 10, -36, 3, 24, 47, 2 }, { 10, -37, 3, 24, 47, 2 }, { 11, -38, 3, 24, 47, 2 }, + { 11, -39, 3, 24, 47, 2 }, { 11, -40, 3, 24, 47, 2 }, { 11, -41, 2, 24, 47, 2 }, { 11, -42, 2, 24, 47, 2 }, { 11, -43, 2, 24, 47, 2 }, + { 12, -44, 2, 24, 47, 2 }, { 12, -45, 2, 24, 47, 2 }, { 12, -46, 1, 24, 47, 2 }, { 12, -47, 1, 24, 47, 1 }, { 12, -48, 1, 24, 47, 1 }, + { 13, -49, 1, 24, 47, 1 }, { 13, -50, 1, 24, 47, 1 }, { 13, -51, 1, 24, 47, 1 }, { 13, -52, 1, 24, 47, 1 }, { 13, -53, 1, 24, 47, 1 }, + { 14, -54, 1, 24, 47, 1 }, { 14, -55, 0, 24, 47, 1 }, { 14, -56, 0, 24, 47, 1 }, { 14, -57, 0, 24, 47, 1 }, { 14, -58, 0, 24, 47, 1 }, + { 15, -59, 0, 24, 47, 0 }, { 15, -60, 0, 24, 47, 0 }, { 15, -61, 0, 24, 47, 0 }, { 15, -62, 0, 24, 47, 0 }, { 16, -63, 0, 24, 47, 0 }, + { 16, -64, 0, 24, 47, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_920E82 = { - 68, { - { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 31, 0, 2 }, - { 26, 16, 0, 31, 0, 2 }, { 25, 15, 0, 31, 0, 2 }, { 24, 15, 1, 31, 0, 2 }, { 23, 15, 1, 31, 0, 2 }, { 22, 15, 1, 31, 0, 2 }, - { 21, 15, 1, 31, 0, 2 }, { 20, 15, 1, 31, 0, 2 }, { 19, 14, 1, 31, 0, 2 }, { 18, 14, 2, 30, 0, 2 }, { 17, 14, 2, 30, 0, 2 }, - { 16, 13, 2, 30, 0, 2 }, { 15, 13, 2, 30, 1, 1 }, { 14, 13, 2, 30, 1, 1 }, { 13, 12, 3, 30, 1, 1 }, { 12, 12, 3, 30, 1, 1 }, - { 11, 11, 3, 30, 1, 1 }, { 10, 11, 3, 30, 1, 1 }, { 9, 10, 3, 30, 1, 1 }, { 8, 10, 4, 29, 1, 1 }, { 7, 9, 4, 29, 1, 1 }, - { 6, 9, 4, 29, 1, 1 }, { 5, 8, 5, 29, 1, 1 }, { 4, 7, 5, 29, 1, 1 }, { 3, 7, 5, 29, 1, 1 }, { 2, 6, 6, 29, 1, 1 }, - { 1, 5, 6, 29, 1, 1 }, { 0, 4, 6, 29, 1, 1 }, { -1, 3, 7, 28, 1, 1 }, { -3, 3, 7, 28, 2, 0 }, { -4, 2, 8, 28, 2, 0 }, - { -5, 1, 8, 28, 2, 0 }, { -6, 0, 8, 28, 2, 0 }, { -7, -1, 9, 27, 2, 0 }, { -7, -2, 9, 27, 2, 0 }, { -8, -3, 9, 27, 2, 0 }, - { -9, -4, 10, 27, 2, 0 }, { -9, -5, 10, 27, 2, 0 }, { -10, -6, 11, 27, 2, 0 }, { -10, -7, 11, 27, 2, 0 }, { -11, -8, 12, 27, 2, 0 }, - { -11, -9, 12, 27, 2, 0 }, { -12, -10, 13, 26, 2, 0 }, { -12, -11, 13, 26, 2, 0 }, { -13, -12, 14, 26, 2, 0 }, { -13, -13, 14, 26, 2, 0 }, - { -13, -14, 15, 26, 2, 0 }, { -14, -15, 15, 26, 2, 0 }, { -14, -16, 16, 26, 2, 0 }, { -14, -17, 16, 26, 2, 0 }, { -15, -18, 17, 26, 2, 0 }, - { -15, -19, 17, 26, 2, 0 }, { -15, -20, 18, 25, 2, 0 }, { -15, -21, 18, 25, 2, 0 }, { -15, -22, 19, 25, 2, 0 }, { -15, -23, 19, 25, 2, 0 }, - { -16, -24, 20, 25, 2, 0 }, { -16, -25, 20, 25, 2, 0 }, { -16, -26, 21, 25, 2, 0 }, { -16, -27, 21, 25, 2, 0 }, { -16, -28, 22, 24, 2, 0 }, - { -16, -29, 22, 24, 2, 0 }, { -16, -30, 23, 24, 2, 0 }, { -16, -31, 23, 24, 2, 0 }, + 68, { + { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 31, 0, 2 }, + { 26, 16, 0, 31, 0, 2 }, { 25, 15, 0, 31, 0, 2 }, { 24, 15, 1, 31, 0, 2 }, { 23, 15, 1, 31, 0, 2 }, { 22, 15, 1, 31, 0, 2 }, + { 21, 15, 1, 31, 0, 2 }, { 20, 15, 1, 31, 0, 2 }, { 19, 14, 1, 31, 0, 2 }, { 18, 14, 2, 30, 0, 2 }, { 17, 14, 2, 30, 0, 2 }, + { 16, 13, 2, 30, 0, 2 }, { 15, 13, 2, 30, 1, 1 }, { 14, 13, 2, 30, 1, 1 }, { 13, 12, 3, 30, 1, 1 }, { 12, 12, 3, 30, 1, 1 }, + { 11, 11, 3, 30, 1, 1 }, { 10, 11, 3, 30, 1, 1 }, { 9, 10, 3, 30, 1, 1 }, { 8, 10, 4, 29, 1, 1 }, { 7, 9, 4, 29, 1, 1 }, + { 6, 9, 4, 29, 1, 1 }, { 5, 8, 5, 29, 1, 1 }, { 4, 7, 5, 29, 1, 1 }, { 3, 7, 5, 29, 1, 1 }, { 2, 6, 6, 29, 1, 1 }, + { 1, 5, 6, 29, 1, 1 }, { 0, 4, 6, 29, 1, 1 }, { -1, 3, 7, 28, 1, 1 }, { -3, 3, 7, 28, 2, 0 }, { -4, 2, 8, 28, 2, 0 }, + { -5, 1, 8, 28, 2, 0 }, { -6, 0, 8, 28, 2, 0 }, { -7, -1, 9, 27, 2, 0 }, { -7, -2, 9, 27, 2, 0 }, { -8, -3, 9, 27, 2, 0 }, + { -9, -4, 10, 27, 2, 0 }, { -9, -5, 10, 27, 2, 0 }, { -10, -6, 11, 27, 2, 0 }, { -10, -7, 11, 27, 2, 0 }, { -11, -8, 12, 27, 2, 0 }, + { -11, -9, 12, 27, 2, 0 }, { -12, -10, 13, 26, 2, 0 }, { -12, -11, 13, 26, 2, 0 }, { -13, -12, 14, 26, 2, 0 }, { -13, -13, 14, 26, 2, 0 }, + { -13, -14, 15, 26, 2, 0 }, { -14, -15, 15, 26, 2, 0 }, { -14, -16, 16, 26, 2, 0 }, { -14, -17, 16, 26, 2, 0 }, { -15, -18, 17, 26, 2, 0 }, + { -15, -19, 17, 26, 2, 0 }, { -15, -20, 18, 25, 2, 0 }, { -15, -21, 18, 25, 2, 0 }, { -15, -22, 19, 25, 2, 0 }, { -15, -23, 19, 25, 2, 0 }, + { -16, -24, 20, 25, 2, 0 }, { -16, -25, 20, 25, 2, 0 }, { -16, -26, 21, 25, 2, 0 }, { -16, -27, 21, 25, 2, 0 }, { -16, -28, 22, 24, 2, 0 }, + { -16, -29, 22, 24, 2, 0 }, { -16, -30, 23, 24, 2, 0 }, { -16, -31, 23, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9210E8 = { - 69, { - { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, - { 16, 5, 0, 7, 0, 2 }, { 16, 6, 0, 7, 0, 2 }, { 15, 7, 0, 7, 0, 2 }, { 15, 8, 1, 7, 0, 2 }, { 15, 9, 1, 7, 0, 2 }, - { 15, 10, 1, 7, 0, 2 }, { 15, 11, 1, 7, 0, 2 }, { 15, 12, 1, 7, 0, 2 }, { 14, 13, 1, 7, 0, 2 }, { 14, 14, 2, 6, 0, 2 }, - { 14, 15, 2, 6, 0, 2 }, { 13, 16, 2, 6, 0, 2 }, { 13, 17, 2, 6, 1, 1 }, { 13, 18, 2, 6, 1, 1 }, { 12, 19, 3, 6, 1, 1 }, - { 12, 20, 3, 6, 1, 1 }, { 11, 21, 3, 6, 1, 1 }, { 11, 22, 3, 6, 1, 1 }, { 10, 23, 3, 6, 1, 1 }, { 10, 24, 4, 5, 1, 1 }, - { 9, 25, 4, 5, 1, 1 }, { 9, 26, 4, 5, 1, 1 }, { 8, 27, 5, 5, 1, 1 }, { 7, 28, 5, 5, 1, 1 }, { 7, 29, 5, 5, 1, 1 }, - { 6, 30, 6, 5, 1, 1 }, { 5, 31, 6, 5, 1, 1 }, { 4, 32, 6, 5, 1, 1 }, { 3, 33, 7, 4, 1, 1 }, { 3, 35, 7, 4, 2, 0 }, - { 2, 36, 8, 4, 2, 0 }, { 1, 37, 8, 4, 2, 0 }, { 0, 38, 8, 4, 2, 0 }, { -1, 39, 9, 3, 2, 0 }, { -2, 39, 9, 3, 2, 0 }, - { -3, 40, 9, 3, 2, 0 }, { -4, 41, 10, 3, 2, 0 }, { -5, 41, 10, 3, 2, 0 }, { -6, 42, 11, 3, 2, 0 }, { -7, 42, 11, 3, 2, 0 }, - { -8, 43, 12, 3, 2, 0 }, { -9, 43, 12, 3, 2, 0 }, { -10, 44, 13, 2, 2, 0 }, { -11, 44, 13, 2, 2, 0 }, { -12, 45, 14, 2, 2, 0 }, - { -13, 45, 14, 2, 2, 0 }, { -14, 45, 15, 2, 2, 0 }, { -15, 46, 15, 2, 2, 0 }, { -16, 46, 16, 2, 2, 0 }, { -17, 46, 16, 2, 2, 0 }, - { -18, 47, 17, 2, 2, 0 }, { -19, 47, 17, 2, 2, 0 }, { -20, 47, 18, 1, 2, 0 }, { -21, 47, 18, 1, 2, 0 }, { -22, 47, 19, 1, 2, 0 }, - { -23, 47, 19, 1, 2, 0 }, { -24, 48, 20, 1, 2, 0 }, { -25, 48, 20, 1, 2, 0 }, { -26, 48, 21, 1, 2, 0 }, { -27, 48, 21, 1, 2, 0 }, - { -28, 48, 22, 0, 2, 0 }, { -29, 48, 22, 0, 2, 0 }, { -30, 48, 23, 0, 2, 0 }, { -31, 48, 23, 0, 2, 0 }, + 69, { + { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, + { 16, 5, 0, 7, 0, 2 }, { 16, 6, 0, 7, 0, 2 }, { 15, 7, 0, 7, 0, 2 }, { 15, 8, 1, 7, 0, 2 }, { 15, 9, 1, 7, 0, 2 }, + { 15, 10, 1, 7, 0, 2 }, { 15, 11, 1, 7, 0, 2 }, { 15, 12, 1, 7, 0, 2 }, { 14, 13, 1, 7, 0, 2 }, { 14, 14, 2, 6, 0, 2 }, + { 14, 15, 2, 6, 0, 2 }, { 13, 16, 2, 6, 0, 2 }, { 13, 17, 2, 6, 1, 1 }, { 13, 18, 2, 6, 1, 1 }, { 12, 19, 3, 6, 1, 1 }, + { 12, 20, 3, 6, 1, 1 }, { 11, 21, 3, 6, 1, 1 }, { 11, 22, 3, 6, 1, 1 }, { 10, 23, 3, 6, 1, 1 }, { 10, 24, 4, 5, 1, 1 }, + { 9, 25, 4, 5, 1, 1 }, { 9, 26, 4, 5, 1, 1 }, { 8, 27, 5, 5, 1, 1 }, { 7, 28, 5, 5, 1, 1 }, { 7, 29, 5, 5, 1, 1 }, + { 6, 30, 6, 5, 1, 1 }, { 5, 31, 6, 5, 1, 1 }, { 4, 32, 6, 5, 1, 1 }, { 3, 33, 7, 4, 1, 1 }, { 3, 35, 7, 4, 2, 0 }, + { 2, 36, 8, 4, 2, 0 }, { 1, 37, 8, 4, 2, 0 }, { 0, 38, 8, 4, 2, 0 }, { -1, 39, 9, 3, 2, 0 }, { -2, 39, 9, 3, 2, 0 }, + { -3, 40, 9, 3, 2, 0 }, { -4, 41, 10, 3, 2, 0 }, { -5, 41, 10, 3, 2, 0 }, { -6, 42, 11, 3, 2, 0 }, { -7, 42, 11, 3, 2, 0 }, + { -8, 43, 12, 3, 2, 0 }, { -9, 43, 12, 3, 2, 0 }, { -10, 44, 13, 2, 2, 0 }, { -11, 44, 13, 2, 2, 0 }, { -12, 45, 14, 2, 2, 0 }, + { -13, 45, 14, 2, 2, 0 }, { -14, 45, 15, 2, 2, 0 }, { -15, 46, 15, 2, 2, 0 }, { -16, 46, 16, 2, 2, 0 }, { -17, 46, 16, 2, 2, 0 }, + { -18, 47, 17, 2, 2, 0 }, { -19, 47, 17, 2, 2, 0 }, { -20, 47, 18, 1, 2, 0 }, { -21, 47, 18, 1, 2, 0 }, { -22, 47, 19, 1, 2, 0 }, + { -23, 47, 19, 1, 2, 0 }, { -24, 48, 20, 1, 2, 0 }, { -25, 48, 20, 1, 2, 0 }, { -26, 48, 21, 1, 2, 0 }, { -27, 48, 21, 1, 2, 0 }, + { -28, 48, 22, 0, 2, 0 }, { -29, 48, 22, 0, 2, 0 }, { -30, 48, 23, 0, 2, 0 }, { -31, 48, 23, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_921357 = { - 68, { - { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, - { 5, 16, 0, 15, 0, 2 }, { 6, 16, 0, 15, 0, 2 }, { 7, 17, 1, 15, 0, 2 }, { 8, 17, 1, 15, 0, 2 }, { 9, 17, 1, 15, 0, 2 }, - { 10, 17, 1, 15, 0, 2 }, { 11, 17, 1, 15, 0, 2 }, { 12, 17, 1, 15, 0, 2 }, { 13, 18, 2, 15, 0, 2 }, { 14, 18, 2, 14, 0, 2 }, - { 15, 18, 2, 14, 0, 2 }, { 16, 19, 2, 14, 1, 1 }, { 17, 19, 2, 14, 1, 1 }, { 18, 19, 3, 14, 1, 1 }, { 19, 20, 3, 14, 1, 1 }, - { 20, 20, 3, 14, 1, 1 }, { 21, 21, 3, 14, 1, 1 }, { 22, 21, 3, 14, 1, 1 }, { 23, 22, 4, 14, 1, 1 }, { 24, 22, 4, 13, 1, 1 }, - { 25, 23, 4, 13, 1, 1 }, { 26, 23, 5, 13, 1, 1 }, { 27, 24, 5, 13, 1, 1 }, { 28, 25, 5, 13, 1, 1 }, { 29, 25, 6, 13, 1, 1 }, - { 30, 26, 6, 13, 1, 1 }, { 31, 27, 6, 13, 1, 1 }, { 32, 28, 7, 13, 1, 1 }, { 33, 29, 7, 12, 2, 0 }, { 35, 29, 8, 12, 2, 0 }, - { 36, 30, 8, 12, 2, 0 }, { 37, 31, 8, 12, 2, 0 }, { 38, 32, 9, 12, 2, 0 }, { 39, 33, 9, 11, 2, 0 }, { 39, 34, 9, 11, 2, 0 }, - { 40, 35, 10, 11, 2, 0 }, { 41, 36, 10, 11, 2, 0 }, { 41, 37, 11, 11, 2, 0 }, { 42, 38, 11, 11, 2, 0 }, { 42, 39, 12, 11, 2, 0 }, - { 43, 40, 12, 11, 2, 0 }, { 43, 41, 13, 11, 2, 0 }, { 44, 42, 13, 10, 2, 0 }, { 44, 43, 14, 10, 2, 0 }, { 45, 44, 14, 10, 2, 0 }, - { 45, 45, 15, 10, 2, 0 }, { 45, 46, 15, 10, 2, 0 }, { 46, 47, 16, 10, 2, 0 }, { 46, 48, 16, 10, 2, 0 }, { 46, 49, 17, 10, 2, 0 }, - { 47, 50, 17, 10, 2, 0 }, { 47, 51, 18, 10, 2, 0 }, { 47, 52, 18, 9, 2, 0 }, { 47, 53, 19, 9, 2, 0 }, { 47, 54, 19, 9, 2, 0 }, - { 47, 55, 20, 9, 2, 0 }, { 48, 56, 20, 9, 2, 0 }, { 48, 57, 21, 9, 2, 0 }, { 48, 58, 21, 9, 2, 0 }, { 48, 59, 22, 9, 2, 0 }, - { 48, 60, 22, 8, 2, 0 }, { 48, 61, 23, 8, 2, 0 }, { 48, 62, 23, 8, 2, 0 }, + 68, { + { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, + { 5, 16, 0, 15, 0, 2 }, { 6, 16, 0, 15, 0, 2 }, { 7, 17, 1, 15, 0, 2 }, { 8, 17, 1, 15, 0, 2 }, { 9, 17, 1, 15, 0, 2 }, + { 10, 17, 1, 15, 0, 2 }, { 11, 17, 1, 15, 0, 2 }, { 12, 17, 1, 15, 0, 2 }, { 13, 18, 2, 15, 0, 2 }, { 14, 18, 2, 14, 0, 2 }, + { 15, 18, 2, 14, 0, 2 }, { 16, 19, 2, 14, 1, 1 }, { 17, 19, 2, 14, 1, 1 }, { 18, 19, 3, 14, 1, 1 }, { 19, 20, 3, 14, 1, 1 }, + { 20, 20, 3, 14, 1, 1 }, { 21, 21, 3, 14, 1, 1 }, { 22, 21, 3, 14, 1, 1 }, { 23, 22, 4, 14, 1, 1 }, { 24, 22, 4, 13, 1, 1 }, + { 25, 23, 4, 13, 1, 1 }, { 26, 23, 5, 13, 1, 1 }, { 27, 24, 5, 13, 1, 1 }, { 28, 25, 5, 13, 1, 1 }, { 29, 25, 6, 13, 1, 1 }, + { 30, 26, 6, 13, 1, 1 }, { 31, 27, 6, 13, 1, 1 }, { 32, 28, 7, 13, 1, 1 }, { 33, 29, 7, 12, 2, 0 }, { 35, 29, 8, 12, 2, 0 }, + { 36, 30, 8, 12, 2, 0 }, { 37, 31, 8, 12, 2, 0 }, { 38, 32, 9, 12, 2, 0 }, { 39, 33, 9, 11, 2, 0 }, { 39, 34, 9, 11, 2, 0 }, + { 40, 35, 10, 11, 2, 0 }, { 41, 36, 10, 11, 2, 0 }, { 41, 37, 11, 11, 2, 0 }, { 42, 38, 11, 11, 2, 0 }, { 42, 39, 12, 11, 2, 0 }, + { 43, 40, 12, 11, 2, 0 }, { 43, 41, 13, 11, 2, 0 }, { 44, 42, 13, 10, 2, 0 }, { 44, 43, 14, 10, 2, 0 }, { 45, 44, 14, 10, 2, 0 }, + { 45, 45, 15, 10, 2, 0 }, { 45, 46, 15, 10, 2, 0 }, { 46, 47, 16, 10, 2, 0 }, { 46, 48, 16, 10, 2, 0 }, { 46, 49, 17, 10, 2, 0 }, + { 47, 50, 17, 10, 2, 0 }, { 47, 51, 18, 10, 2, 0 }, { 47, 52, 18, 9, 2, 0 }, { 47, 53, 19, 9, 2, 0 }, { 47, 54, 19, 9, 2, 0 }, + { 47, 55, 20, 9, 2, 0 }, { 48, 56, 20, 9, 2, 0 }, { 48, 57, 21, 9, 2, 0 }, { 48, 58, 21, 9, 2, 0 }, { 48, 59, 22, 9, 2, 0 }, + { 48, 60, 22, 8, 2, 0 }, { 48, 61, 23, 8, 2, 0 }, { 48, 62, 23, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9215BD = { - 67, { - { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 23, 0, 2 }, - { 16, 26, 0, 23, 0, 2 }, { 17, 25, 1, 23, 0, 2 }, { 17, 24, 1, 23, 0, 2 }, { 17, 23, 1, 23, 0, 2 }, { 17, 22, 1, 23, 0, 2 }, - { 17, 21, 1, 23, 0, 2 }, { 17, 20, 1, 23, 0, 2 }, { 18, 19, 2, 23, 0, 2 }, { 18, 18, 2, 22, 0, 2 }, { 18, 17, 2, 22, 0, 2 }, - { 19, 16, 2, 22, 1, 1 }, { 19, 15, 2, 22, 1, 1 }, { 19, 14, 3, 22, 1, 1 }, { 20, 13, 3, 22, 1, 1 }, { 20, 12, 3, 22, 1, 1 }, - { 21, 11, 3, 22, 1, 1 }, { 21, 10, 3, 22, 1, 1 }, { 22, 9, 4, 22, 1, 1 }, { 22, 8, 4, 21, 1, 1 }, { 23, 7, 4, 21, 1, 1 }, - { 23, 6, 5, 21, 1, 1 }, { 24, 5, 5, 21, 1, 1 }, { 25, 4, 5, 21, 1, 1 }, { 25, 3, 6, 21, 1, 1 }, { 26, 2, 6, 21, 1, 1 }, - { 27, 1, 6, 21, 1, 1 }, { 28, 0, 7, 21, 1, 1 }, { 29, -1, 7, 20, 2, 0 }, { 29, -3, 8, 20, 2, 0 }, { 30, -4, 8, 20, 2, 0 }, - { 31, -5, 8, 20, 2, 0 }, { 32, -6, 9, 20, 2, 0 }, { 33, -7, 9, 19, 2, 0 }, { 34, -7, 9, 19, 2, 0 }, { 35, -8, 10, 19, 2, 0 }, - { 36, -9, 10, 19, 2, 0 }, { 37, -9, 11, 19, 2, 0 }, { 38, -10, 11, 19, 2, 0 }, { 39, -10, 12, 19, 2, 0 }, { 40, -11, 12, 19, 2, 0 }, - { 41, -11, 13, 19, 2, 0 }, { 42, -12, 13, 18, 2, 0 }, { 43, -12, 14, 18, 2, 0 }, { 44, -13, 14, 18, 2, 0 }, { 45, -13, 15, 18, 2, 0 }, - { 46, -13, 15, 18, 2, 0 }, { 47, -14, 16, 18, 2, 0 }, { 48, -14, 16, 18, 2, 0 }, { 49, -14, 17, 18, 2, 0 }, { 50, -15, 17, 18, 2, 0 }, - { 51, -15, 18, 18, 2, 0 }, { 52, -15, 18, 17, 2, 0 }, { 53, -15, 19, 17, 2, 0 }, { 54, -15, 19, 17, 2, 0 }, { 55, -15, 20, 17, 2, 0 }, - { 56, -16, 20, 17, 2, 0 }, { 57, -16, 21, 17, 2, 0 }, { 58, -16, 21, 17, 2, 0 }, { 59, -16, 22, 17, 2, 0 }, { 60, -16, 22, 16, 2, 0 }, - { 61, -16, 23, 16, 2, 0 }, { 62, -16, 23, 16, 2, 0 }, + 67, { + { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 23, 0, 2 }, + { 16, 26, 0, 23, 0, 2 }, { 17, 25, 1, 23, 0, 2 }, { 17, 24, 1, 23, 0, 2 }, { 17, 23, 1, 23, 0, 2 }, { 17, 22, 1, 23, 0, 2 }, + { 17, 21, 1, 23, 0, 2 }, { 17, 20, 1, 23, 0, 2 }, { 18, 19, 2, 23, 0, 2 }, { 18, 18, 2, 22, 0, 2 }, { 18, 17, 2, 22, 0, 2 }, + { 19, 16, 2, 22, 1, 1 }, { 19, 15, 2, 22, 1, 1 }, { 19, 14, 3, 22, 1, 1 }, { 20, 13, 3, 22, 1, 1 }, { 20, 12, 3, 22, 1, 1 }, + { 21, 11, 3, 22, 1, 1 }, { 21, 10, 3, 22, 1, 1 }, { 22, 9, 4, 22, 1, 1 }, { 22, 8, 4, 21, 1, 1 }, { 23, 7, 4, 21, 1, 1 }, + { 23, 6, 5, 21, 1, 1 }, { 24, 5, 5, 21, 1, 1 }, { 25, 4, 5, 21, 1, 1 }, { 25, 3, 6, 21, 1, 1 }, { 26, 2, 6, 21, 1, 1 }, + { 27, 1, 6, 21, 1, 1 }, { 28, 0, 7, 21, 1, 1 }, { 29, -1, 7, 20, 2, 0 }, { 29, -3, 8, 20, 2, 0 }, { 30, -4, 8, 20, 2, 0 }, + { 31, -5, 8, 20, 2, 0 }, { 32, -6, 9, 20, 2, 0 }, { 33, -7, 9, 19, 2, 0 }, { 34, -7, 9, 19, 2, 0 }, { 35, -8, 10, 19, 2, 0 }, + { 36, -9, 10, 19, 2, 0 }, { 37, -9, 11, 19, 2, 0 }, { 38, -10, 11, 19, 2, 0 }, { 39, -10, 12, 19, 2, 0 }, { 40, -11, 12, 19, 2, 0 }, + { 41, -11, 13, 19, 2, 0 }, { 42, -12, 13, 18, 2, 0 }, { 43, -12, 14, 18, 2, 0 }, { 44, -13, 14, 18, 2, 0 }, { 45, -13, 15, 18, 2, 0 }, + { 46, -13, 15, 18, 2, 0 }, { 47, -14, 16, 18, 2, 0 }, { 48, -14, 16, 18, 2, 0 }, { 49, -14, 17, 18, 2, 0 }, { 50, -15, 17, 18, 2, 0 }, + { 51, -15, 18, 18, 2, 0 }, { 52, -15, 18, 17, 2, 0 }, { 53, -15, 19, 17, 2, 0 }, { 54, -15, 19, 17, 2, 0 }, { 55, -15, 20, 17, 2, 0 }, + { 56, -16, 20, 17, 2, 0 }, { 57, -16, 21, 17, 2, 0 }, { 58, -16, 21, 17, 2, 0 }, { 59, -16, 22, 17, 2, 0 }, { 60, -16, 22, 16, 2, 0 }, + { 61, -16, 23, 16, 2, 0 }, { 62, -16, 23, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92181A = { - 67, { - { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 1, 0, 4 }, - { 26, 16, 0, 1, 0, 4 }, { 25, 17, 1, 1, 0, 4 }, { 24, 17, 1, 1, 0, 4 }, { 23, 17, 1, 1, 0, 4 }, { 22, 17, 1, 1, 0, 4 }, - { 21, 17, 1, 1, 0, 4 }, { 20, 17, 1, 1, 0, 4 }, { 19, 18, 2, 1, 0, 4 }, { 18, 18, 2, 2, 0, 4 }, { 17, 18, 2, 2, 0, 4 }, - { 16, 19, 2, 2, 1, 3 }, { 15, 19, 2, 2, 1, 3 }, { 14, 19, 3, 2, 1, 3 }, { 13, 20, 3, 2, 1, 3 }, { 12, 20, 3, 2, 1, 3 }, - { 11, 21, 3, 2, 1, 3 }, { 10, 21, 3, 2, 1, 3 }, { 9, 22, 4, 2, 1, 3 }, { 8, 22, 4, 3, 1, 3 }, { 7, 23, 4, 3, 1, 3 }, - { 6, 23, 5, 3, 1, 3 }, { 5, 24, 5, 3, 1, 3 }, { 4, 25, 5, 3, 1, 3 }, { 3, 25, 6, 3, 1, 3 }, { 2, 26, 6, 3, 1, 3 }, - { 1, 27, 6, 3, 1, 3 }, { 0, 28, 7, 3, 1, 3 }, { -1, 29, 7, 4, 2, 0 }, { -3, 29, 8, 4, 2, 0 }, { -4, 30, 8, 4, 2, 0 }, - { -5, 31, 8, 4, 2, 0 }, { -6, 32, 9, 4, 2, 0 }, { -7, 33, 9, 5, 2, 0 }, { -7, 34, 9, 5, 2, 0 }, { -8, 35, 10, 5, 2, 0 }, - { -9, 36, 10, 5, 2, 0 }, { -9, 37, 11, 5, 2, 0 }, { -10, 38, 11, 5, 2, 0 }, { -10, 39, 12, 5, 2, 0 }, { -11, 40, 12, 5, 2, 0 }, - { -11, 41, 13, 5, 2, 0 }, { -12, 42, 13, 6, 2, 0 }, { -12, 43, 14, 6, 2, 0 }, { -13, 44, 14, 6, 2, 0 }, { -13, 45, 15, 6, 2, 0 }, - { -13, 46, 15, 6, 2, 0 }, { -14, 47, 16, 6, 2, 0 }, { -14, 48, 16, 6, 2, 0 }, { -14, 49, 17, 6, 2, 0 }, { -15, 50, 17, 6, 2, 0 }, - { -15, 51, 18, 6, 2, 0 }, { -15, 52, 18, 7, 2, 0 }, { -15, 53, 19, 7, 2, 0 }, { -15, 54, 19, 7, 2, 0 }, { -15, 55, 20, 7, 2, 0 }, - { -16, 56, 20, 7, 2, 0 }, { -16, 57, 21, 7, 2, 0 }, { -16, 58, 21, 7, 2, 0 }, { -16, 59, 22, 7, 2, 0 }, { -16, 60, 22, 8, 2, 0 }, - { -16, 61, 23, 8, 2, 0 }, { -16, 62, 23, 8, 2, 0 }, + 67, { + { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 1, 0, 4 }, + { 26, 16, 0, 1, 0, 4 }, { 25, 17, 1, 1, 0, 4 }, { 24, 17, 1, 1, 0, 4 }, { 23, 17, 1, 1, 0, 4 }, { 22, 17, 1, 1, 0, 4 }, + { 21, 17, 1, 1, 0, 4 }, { 20, 17, 1, 1, 0, 4 }, { 19, 18, 2, 1, 0, 4 }, { 18, 18, 2, 2, 0, 4 }, { 17, 18, 2, 2, 0, 4 }, + { 16, 19, 2, 2, 1, 3 }, { 15, 19, 2, 2, 1, 3 }, { 14, 19, 3, 2, 1, 3 }, { 13, 20, 3, 2, 1, 3 }, { 12, 20, 3, 2, 1, 3 }, + { 11, 21, 3, 2, 1, 3 }, { 10, 21, 3, 2, 1, 3 }, { 9, 22, 4, 2, 1, 3 }, { 8, 22, 4, 3, 1, 3 }, { 7, 23, 4, 3, 1, 3 }, + { 6, 23, 5, 3, 1, 3 }, { 5, 24, 5, 3, 1, 3 }, { 4, 25, 5, 3, 1, 3 }, { 3, 25, 6, 3, 1, 3 }, { 2, 26, 6, 3, 1, 3 }, + { 1, 27, 6, 3, 1, 3 }, { 0, 28, 7, 3, 1, 3 }, { -1, 29, 7, 4, 2, 0 }, { -3, 29, 8, 4, 2, 0 }, { -4, 30, 8, 4, 2, 0 }, + { -5, 31, 8, 4, 2, 0 }, { -6, 32, 9, 4, 2, 0 }, { -7, 33, 9, 5, 2, 0 }, { -7, 34, 9, 5, 2, 0 }, { -8, 35, 10, 5, 2, 0 }, + { -9, 36, 10, 5, 2, 0 }, { -9, 37, 11, 5, 2, 0 }, { -10, 38, 11, 5, 2, 0 }, { -10, 39, 12, 5, 2, 0 }, { -11, 40, 12, 5, 2, 0 }, + { -11, 41, 13, 5, 2, 0 }, { -12, 42, 13, 6, 2, 0 }, { -12, 43, 14, 6, 2, 0 }, { -13, 44, 14, 6, 2, 0 }, { -13, 45, 15, 6, 2, 0 }, + { -13, 46, 15, 6, 2, 0 }, { -14, 47, 16, 6, 2, 0 }, { -14, 48, 16, 6, 2, 0 }, { -14, 49, 17, 6, 2, 0 }, { -15, 50, 17, 6, 2, 0 }, + { -15, 51, 18, 6, 2, 0 }, { -15, 52, 18, 7, 2, 0 }, { -15, 53, 19, 7, 2, 0 }, { -15, 54, 19, 7, 2, 0 }, { -15, 55, 20, 7, 2, 0 }, + { -16, 56, 20, 7, 2, 0 }, { -16, 57, 21, 7, 2, 0 }, { -16, 58, 21, 7, 2, 0 }, { -16, 59, 22, 7, 2, 0 }, { -16, 60, 22, 8, 2, 0 }, + { -16, 61, 23, 8, 2, 0 }, { -16, 62, 23, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_921A77 = { - 68, { - { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, - { 16, 5, 0, 9, 0, 4 }, { 16, 6, 0, 9, 0, 4 }, { 17, 7, 1, 9, 0, 4 }, { 17, 8, 1, 9, 0, 4 }, { 17, 9, 1, 9, 0, 4 }, - { 17, 10, 1, 9, 0, 4 }, { 17, 11, 1, 9, 0, 4 }, { 17, 12, 1, 9, 0, 4 }, { 18, 13, 2, 9, 0, 4 }, { 18, 14, 2, 10, 0, 4 }, - { 18, 15, 2, 10, 0, 4 }, { 19, 16, 2, 10, 1, 3 }, { 19, 17, 2, 10, 1, 3 }, { 19, 18, 3, 10, 1, 3 }, { 20, 19, 3, 10, 1, 3 }, - { 20, 20, 3, 10, 1, 3 }, { 21, 21, 3, 10, 1, 3 }, { 21, 22, 3, 10, 1, 3 }, { 22, 23, 4, 10, 1, 3 }, { 22, 24, 4, 11, 1, 3 }, - { 23, 25, 4, 11, 1, 3 }, { 23, 26, 5, 11, 1, 3 }, { 24, 27, 5, 11, 1, 3 }, { 25, 28, 5, 11, 1, 3 }, { 25, 29, 6, 11, 1, 3 }, - { 26, 30, 6, 11, 1, 3 }, { 27, 31, 6, 11, 1, 3 }, { 28, 32, 7, 11, 1, 3 }, { 29, 33, 7, 12, 2, 0 }, { 29, 35, 8, 12, 2, 0 }, - { 30, 36, 8, 12, 2, 0 }, { 31, 37, 8, 12, 2, 0 }, { 32, 38, 9, 12, 2, 0 }, { 33, 39, 9, 13, 2, 0 }, { 34, 39, 9, 13, 2, 0 }, - { 35, 40, 10, 13, 2, 0 }, { 36, 41, 10, 13, 2, 0 }, { 37, 41, 11, 13, 2, 0 }, { 38, 42, 11, 13, 2, 0 }, { 39, 42, 12, 13, 2, 0 }, - { 40, 43, 12, 13, 2, 0 }, { 41, 43, 13, 13, 2, 0 }, { 42, 44, 13, 14, 2, 0 }, { 43, 44, 14, 14, 2, 0 }, { 44, 45, 14, 14, 2, 0 }, - { 45, 45, 15, 14, 2, 0 }, { 46, 45, 15, 14, 2, 0 }, { 47, 46, 16, 14, 2, 0 }, { 48, 46, 16, 14, 2, 0 }, { 49, 46, 17, 14, 2, 0 }, - { 50, 47, 17, 14, 2, 0 }, { 51, 47, 18, 14, 2, 0 }, { 52, 47, 18, 15, 2, 0 }, { 53, 47, 19, 15, 2, 0 }, { 54, 47, 19, 15, 2, 0 }, - { 55, 47, 20, 15, 2, 0 }, { 56, 48, 20, 15, 2, 0 }, { 57, 48, 21, 15, 2, 0 }, { 58, 48, 21, 15, 2, 0 }, { 59, 48, 22, 15, 2, 0 }, - { 60, 48, 22, 16, 2, 0 }, { 61, 48, 23, 16, 2, 0 }, { 62, 48, 23, 16, 2, 0 }, + 68, { + { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, + { 16, 5, 0, 9, 0, 4 }, { 16, 6, 0, 9, 0, 4 }, { 17, 7, 1, 9, 0, 4 }, { 17, 8, 1, 9, 0, 4 }, { 17, 9, 1, 9, 0, 4 }, + { 17, 10, 1, 9, 0, 4 }, { 17, 11, 1, 9, 0, 4 }, { 17, 12, 1, 9, 0, 4 }, { 18, 13, 2, 9, 0, 4 }, { 18, 14, 2, 10, 0, 4 }, + { 18, 15, 2, 10, 0, 4 }, { 19, 16, 2, 10, 1, 3 }, { 19, 17, 2, 10, 1, 3 }, { 19, 18, 3, 10, 1, 3 }, { 20, 19, 3, 10, 1, 3 }, + { 20, 20, 3, 10, 1, 3 }, { 21, 21, 3, 10, 1, 3 }, { 21, 22, 3, 10, 1, 3 }, { 22, 23, 4, 10, 1, 3 }, { 22, 24, 4, 11, 1, 3 }, + { 23, 25, 4, 11, 1, 3 }, { 23, 26, 5, 11, 1, 3 }, { 24, 27, 5, 11, 1, 3 }, { 25, 28, 5, 11, 1, 3 }, { 25, 29, 6, 11, 1, 3 }, + { 26, 30, 6, 11, 1, 3 }, { 27, 31, 6, 11, 1, 3 }, { 28, 32, 7, 11, 1, 3 }, { 29, 33, 7, 12, 2, 0 }, { 29, 35, 8, 12, 2, 0 }, + { 30, 36, 8, 12, 2, 0 }, { 31, 37, 8, 12, 2, 0 }, { 32, 38, 9, 12, 2, 0 }, { 33, 39, 9, 13, 2, 0 }, { 34, 39, 9, 13, 2, 0 }, + { 35, 40, 10, 13, 2, 0 }, { 36, 41, 10, 13, 2, 0 }, { 37, 41, 11, 13, 2, 0 }, { 38, 42, 11, 13, 2, 0 }, { 39, 42, 12, 13, 2, 0 }, + { 40, 43, 12, 13, 2, 0 }, { 41, 43, 13, 13, 2, 0 }, { 42, 44, 13, 14, 2, 0 }, { 43, 44, 14, 14, 2, 0 }, { 44, 45, 14, 14, 2, 0 }, + { 45, 45, 15, 14, 2, 0 }, { 46, 45, 15, 14, 2, 0 }, { 47, 46, 16, 14, 2, 0 }, { 48, 46, 16, 14, 2, 0 }, { 49, 46, 17, 14, 2, 0 }, + { 50, 47, 17, 14, 2, 0 }, { 51, 47, 18, 14, 2, 0 }, { 52, 47, 18, 15, 2, 0 }, { 53, 47, 19, 15, 2, 0 }, { 54, 47, 19, 15, 2, 0 }, + { 55, 47, 20, 15, 2, 0 }, { 56, 48, 20, 15, 2, 0 }, { 57, 48, 21, 15, 2, 0 }, { 58, 48, 21, 15, 2, 0 }, { 59, 48, 22, 15, 2, 0 }, + { 60, 48, 22, 16, 2, 0 }, { 61, 48, 23, 16, 2, 0 }, { 62, 48, 23, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_921CDD = { - 69, { - { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, - { 5, 16, 0, 17, 0, 4 }, { 6, 16, 0, 17, 0, 4 }, { 7, 15, 0, 17, 0, 4 }, { 8, 15, 1, 17, 0, 4 }, { 9, 15, 1, 17, 0, 4 }, - { 10, 15, 1, 17, 0, 4 }, { 11, 15, 1, 17, 0, 4 }, { 12, 15, 1, 17, 0, 4 }, { 13, 14, 1, 17, 0, 4 }, { 14, 14, 2, 18, 0, 4 }, - { 15, 14, 2, 18, 0, 4 }, { 16, 13, 2, 18, 0, 4 }, { 17, 13, 2, 18, 1, 3 }, { 18, 13, 2, 18, 1, 3 }, { 19, 12, 3, 18, 1, 3 }, - { 20, 12, 3, 18, 1, 3 }, { 21, 11, 3, 18, 1, 3 }, { 22, 11, 3, 18, 1, 3 }, { 23, 10, 3, 18, 1, 3 }, { 24, 10, 4, 19, 1, 3 }, - { 25, 9, 4, 19, 1, 3 }, { 26, 9, 4, 19, 1, 3 }, { 27, 8, 5, 19, 1, 3 }, { 28, 7, 5, 19, 1, 3 }, { 29, 7, 5, 19, 1, 3 }, - { 30, 6, 6, 19, 1, 3 }, { 31, 5, 6, 19, 1, 3 }, { 32, 4, 6, 19, 1, 3 }, { 33, 3, 7, 20, 1, 3 }, { 35, 3, 7, 20, 2, 0 }, - { 36, 2, 8, 20, 2, 0 }, { 37, 1, 8, 20, 2, 0 }, { 38, 0, 8, 20, 2, 0 }, { 39, -1, 9, 21, 2, 0 }, { 39, -2, 9, 21, 2, 0 }, - { 40, -3, 9, 21, 2, 0 }, { 41, -4, 10, 21, 2, 0 }, { 41, -5, 10, 21, 2, 0 }, { 42, -6, 11, 21, 2, 0 }, { 42, -7, 11, 21, 2, 0 }, - { 43, -8, 12, 21, 2, 0 }, { 43, -9, 12, 21, 2, 0 }, { 44, -10, 13, 22, 2, 0 }, { 44, -11, 13, 22, 2, 0 }, { 45, -12, 14, 22, 2, 0 }, - { 45, -13, 14, 22, 2, 0 }, { 45, -14, 15, 22, 2, 0 }, { 46, -15, 15, 22, 2, 0 }, { 46, -16, 16, 22, 2, 0 }, { 46, -17, 16, 22, 2, 0 }, - { 47, -18, 17, 22, 2, 0 }, { 47, -19, 17, 22, 2, 0 }, { 47, -20, 18, 23, 2, 0 }, { 47, -21, 18, 23, 2, 0 }, { 47, -22, 19, 23, 2, 0 }, - { 47, -23, 19, 23, 2, 0 }, { 48, -24, 20, 23, 2, 0 }, { 48, -25, 20, 23, 2, 0 }, { 48, -26, 21, 23, 2, 0 }, { 48, -27, 21, 23, 2, 0 }, - { 48, -28, 22, 24, 2, 0 }, { 48, -29, 22, 24, 2, 0 }, { 48, -30, 23, 24, 2, 0 }, { 48, -31, 23, 24, 2, 0 }, + 69, { + { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, + { 5, 16, 0, 17, 0, 4 }, { 6, 16, 0, 17, 0, 4 }, { 7, 15, 0, 17, 0, 4 }, { 8, 15, 1, 17, 0, 4 }, { 9, 15, 1, 17, 0, 4 }, + { 10, 15, 1, 17, 0, 4 }, { 11, 15, 1, 17, 0, 4 }, { 12, 15, 1, 17, 0, 4 }, { 13, 14, 1, 17, 0, 4 }, { 14, 14, 2, 18, 0, 4 }, + { 15, 14, 2, 18, 0, 4 }, { 16, 13, 2, 18, 0, 4 }, { 17, 13, 2, 18, 1, 3 }, { 18, 13, 2, 18, 1, 3 }, { 19, 12, 3, 18, 1, 3 }, + { 20, 12, 3, 18, 1, 3 }, { 21, 11, 3, 18, 1, 3 }, { 22, 11, 3, 18, 1, 3 }, { 23, 10, 3, 18, 1, 3 }, { 24, 10, 4, 19, 1, 3 }, + { 25, 9, 4, 19, 1, 3 }, { 26, 9, 4, 19, 1, 3 }, { 27, 8, 5, 19, 1, 3 }, { 28, 7, 5, 19, 1, 3 }, { 29, 7, 5, 19, 1, 3 }, + { 30, 6, 6, 19, 1, 3 }, { 31, 5, 6, 19, 1, 3 }, { 32, 4, 6, 19, 1, 3 }, { 33, 3, 7, 20, 1, 3 }, { 35, 3, 7, 20, 2, 0 }, + { 36, 2, 8, 20, 2, 0 }, { 37, 1, 8, 20, 2, 0 }, { 38, 0, 8, 20, 2, 0 }, { 39, -1, 9, 21, 2, 0 }, { 39, -2, 9, 21, 2, 0 }, + { 40, -3, 9, 21, 2, 0 }, { 41, -4, 10, 21, 2, 0 }, { 41, -5, 10, 21, 2, 0 }, { 42, -6, 11, 21, 2, 0 }, { 42, -7, 11, 21, 2, 0 }, + { 43, -8, 12, 21, 2, 0 }, { 43, -9, 12, 21, 2, 0 }, { 44, -10, 13, 22, 2, 0 }, { 44, -11, 13, 22, 2, 0 }, { 45, -12, 14, 22, 2, 0 }, + { 45, -13, 14, 22, 2, 0 }, { 45, -14, 15, 22, 2, 0 }, { 46, -15, 15, 22, 2, 0 }, { 46, -16, 16, 22, 2, 0 }, { 46, -17, 16, 22, 2, 0 }, + { 47, -18, 17, 22, 2, 0 }, { 47, -19, 17, 22, 2, 0 }, { 47, -20, 18, 23, 2, 0 }, { 47, -21, 18, 23, 2, 0 }, { 47, -22, 19, 23, 2, 0 }, + { 47, -23, 19, 23, 2, 0 }, { 48, -24, 20, 23, 2, 0 }, { 48, -25, 20, 23, 2, 0 }, { 48, -26, 21, 23, 2, 0 }, { 48, -27, 21, 23, 2, 0 }, + { 48, -28, 22, 24, 2, 0 }, { 48, -29, 22, 24, 2, 0 }, { 48, -30, 23, 24, 2, 0 }, { 48, -31, 23, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_921F4C = { - 68, { - { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 25, 0, 4 }, - { 16, 26, 0, 25, 0, 4 }, { 15, 25, 0, 25, 0, 4 }, { 15, 24, 1, 25, 0, 4 }, { 15, 23, 1, 25, 0, 4 }, { 15, 22, 1, 25, 0, 4 }, - { 15, 21, 1, 25, 0, 4 }, { 15, 20, 1, 25, 0, 4 }, { 14, 19, 1, 25, 0, 4 }, { 14, 18, 2, 26, 0, 4 }, { 14, 17, 2, 26, 0, 4 }, - { 13, 16, 2, 26, 0, 4 }, { 13, 15, 2, 26, 1, 3 }, { 13, 14, 2, 26, 1, 3 }, { 12, 13, 3, 26, 1, 3 }, { 12, 12, 3, 26, 1, 3 }, - { 11, 11, 3, 26, 1, 3 }, { 11, 10, 3, 26, 1, 3 }, { 10, 9, 3, 26, 1, 3 }, { 10, 8, 4, 27, 1, 3 }, { 9, 7, 4, 27, 1, 3 }, - { 9, 6, 4, 27, 1, 3 }, { 8, 5, 5, 27, 1, 3 }, { 7, 4, 5, 27, 1, 3 }, { 7, 3, 5, 27, 1, 3 }, { 6, 2, 6, 27, 1, 3 }, - { 5, 1, 6, 27, 1, 3 }, { 4, 0, 6, 27, 1, 3 }, { 3, -1, 7, 28, 1, 3 }, { 3, -3, 7, 28, 2, 0 }, { 2, -4, 8, 28, 2, 0 }, - { 1, -5, 8, 28, 2, 0 }, { 0, -6, 8, 28, 2, 0 }, { -1, -7, 9, 29, 2, 0 }, { -2, -7, 9, 29, 2, 0 }, { -3, -8, 9, 29, 2, 0 }, - { -4, -9, 10, 29, 2, 0 }, { -5, -9, 10, 29, 2, 0 }, { -6, -10, 11, 29, 2, 0 }, { -7, -10, 11, 29, 2, 0 }, { -8, -11, 12, 29, 2, 0 }, - { -9, -11, 12, 29, 2, 0 }, { -10, -12, 13, 30, 2, 0 }, { -11, -12, 13, 30, 2, 0 }, { -12, -13, 14, 30, 2, 0 }, { -13, -13, 14, 30, 2, 0 }, - { -14, -13, 15, 30, 2, 0 }, { -15, -14, 15, 30, 2, 0 }, { -16, -14, 16, 30, 2, 0 }, { -17, -14, 16, 30, 2, 0 }, { -18, -15, 17, 30, 2, 0 }, - { -19, -15, 17, 30, 2, 0 }, { -20, -15, 18, 31, 2, 0 }, { -21, -15, 18, 31, 2, 0 }, { -22, -15, 19, 31, 2, 0 }, { -23, -15, 19, 31, 2, 0 }, - { -24, -16, 20, 31, 2, 0 }, { -25, -16, 20, 31, 2, 0 }, { -26, -16, 21, 31, 2, 0 }, { -27, -16, 21, 31, 2, 0 }, { -28, -16, 22, 0, 2, 0 }, - { -29, -16, 22, 0, 2, 0 }, { -30, -16, 23, 0, 2, 0 }, { -31, -16, 23, 0, 2, 0 }, + 68, { + { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 25, 0, 4 }, + { 16, 26, 0, 25, 0, 4 }, { 15, 25, 0, 25, 0, 4 }, { 15, 24, 1, 25, 0, 4 }, { 15, 23, 1, 25, 0, 4 }, { 15, 22, 1, 25, 0, 4 }, + { 15, 21, 1, 25, 0, 4 }, { 15, 20, 1, 25, 0, 4 }, { 14, 19, 1, 25, 0, 4 }, { 14, 18, 2, 26, 0, 4 }, { 14, 17, 2, 26, 0, 4 }, + { 13, 16, 2, 26, 0, 4 }, { 13, 15, 2, 26, 1, 3 }, { 13, 14, 2, 26, 1, 3 }, { 12, 13, 3, 26, 1, 3 }, { 12, 12, 3, 26, 1, 3 }, + { 11, 11, 3, 26, 1, 3 }, { 11, 10, 3, 26, 1, 3 }, { 10, 9, 3, 26, 1, 3 }, { 10, 8, 4, 27, 1, 3 }, { 9, 7, 4, 27, 1, 3 }, + { 9, 6, 4, 27, 1, 3 }, { 8, 5, 5, 27, 1, 3 }, { 7, 4, 5, 27, 1, 3 }, { 7, 3, 5, 27, 1, 3 }, { 6, 2, 6, 27, 1, 3 }, + { 5, 1, 6, 27, 1, 3 }, { 4, 0, 6, 27, 1, 3 }, { 3, -1, 7, 28, 1, 3 }, { 3, -3, 7, 28, 2, 0 }, { 2, -4, 8, 28, 2, 0 }, + { 1, -5, 8, 28, 2, 0 }, { 0, -6, 8, 28, 2, 0 }, { -1, -7, 9, 29, 2, 0 }, { -2, -7, 9, 29, 2, 0 }, { -3, -8, 9, 29, 2, 0 }, + { -4, -9, 10, 29, 2, 0 }, { -5, -9, 10, 29, 2, 0 }, { -6, -10, 11, 29, 2, 0 }, { -7, -10, 11, 29, 2, 0 }, { -8, -11, 12, 29, 2, 0 }, + { -9, -11, 12, 29, 2, 0 }, { -10, -12, 13, 30, 2, 0 }, { -11, -12, 13, 30, 2, 0 }, { -12, -13, 14, 30, 2, 0 }, { -13, -13, 14, 30, 2, 0 }, + { -14, -13, 15, 30, 2, 0 }, { -15, -14, 15, 30, 2, 0 }, { -16, -14, 16, 30, 2, 0 }, { -17, -14, 16, 30, 2, 0 }, { -18, -15, 17, 30, 2, 0 }, + { -19, -15, 17, 30, 2, 0 }, { -20, -15, 18, 31, 2, 0 }, { -21, -15, 18, 31, 2, 0 }, { -22, -15, 19, 31, 2, 0 }, { -23, -15, 19, 31, 2, 0 }, + { -24, -16, 20, 31, 2, 0 }, { -25, -16, 20, 31, 2, 0 }, { -26, -16, 21, 31, 2, 0 }, { -27, -16, 21, 31, 2, 0 }, { -28, -16, 22, 0, 2, 0 }, + { -29, -16, 22, 0, 2, 0 }, { -30, -16, 23, 0, 2, 0 }, { -31, -16, 23, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91FB52 = { - 68, { - { 31, 16, 7, 0, 6, 0 }, { 30, 16, 7, 0, 6, 0 }, { 29, 16, 6, 0, 6, 0 }, { 28, 16, 6, 0, 6, 0 }, { 27, 16, 5, 31, 6, 0 }, - { 26, 16, 5, 31, 6, 0 }, { 25, 15, 4, 31, 6, 0 }, { 24, 15, 4, 31, 6, 0 }, { 23, 15, 3, 31, 6, 0 }, { 22, 15, 3, 31, 6, 0 }, - { 21, 15, 2, 31, 6, 0 }, { 20, 15, 2, 31, 6, 0 }, { 19, 14, 1, 31, 6, 0 }, { 18, 14, 1, 30, 6, 0 }, { 17, 14, 0, 30, 6, 0 }, - { 16, 13, 0, 30, 6, 0 }, { 15, 13, -1, 30, 6, 0 }, { 14, 13, -1, 30, 6, 0 }, { 13, 12, -2, 30, 6, 0 }, { 12, 12, -2, 30, 6, 0 }, - { 11, 11, -3, 30, 6, 0 }, { 10, 11, -3, 30, 6, 0 }, { 9, 10, -4, 30, 6, 0 }, { 8, 10, -4, 29, 6, 0 }, { 7, 9, -5, 29, 6, 0 }, - { 6, 9, -5, 29, 6, 0 }, { 5, 8, -6, 29, 6, 0 }, { 4, 7, -6, 29, 6, 0 }, { 3, 7, -7, 29, 6, 0 }, { 2, 6, -7, 29, 6, 0 }, - { 1, 5, -7, 29, 6, 0 }, { 0, 4, -8, 29, 6, 0 }, { -1, 3, -8, 28, 6, 0 }, { -3, 3, -8, 28, 6, 0 }, { -4, 2, -9, 28, 6, 0 }, - { -5, 1, -9, 28, 5, 1 }, { -6, 0, -10, 28, 5, 1 }, { -7, -1, -10, 27, 5, 1 }, { -7, -2, -10, 27, 5, 1 }, { -8, -3, -11, 27, 5, 1 }, - { -9, -4, -11, 27, 5, 1 }, { -9, -5, -11, 27, 5, 1 }, { -10, -6, -12, 27, 5, 1 }, { -10, -7, -12, 27, 5, 1 }, { -11, -8, -12, 27, 5, 1 }, - { -11, -9, -13, 27, 5, 1 }, { -12, -10, -13, 26, 5, 1 }, { -12, -11, -13, 26, 5, 1 }, { -13, -12, -13, 26, 5, 1 }, { -13, -13, -13, 26, 5, 1 }, - { -13, -14, -14, 26, 5, 1 }, { -14, -15, -14, 26, 5, 1 }, { -14, -16, -14, 26, 0, 2 }, { -14, -17, -14, 26, 0, 2 }, { -15, -18, -14, 26, 0, 2 }, - { -15, -19, -15, 26, 0, 2 }, { -15, -20, -15, 25, 0, 2 }, { -15, -21, -15, 25, 0, 2 }, { -15, -22, -15, 25, 0, 2 }, { -15, -23, -15, 25, 0, 2 }, - { -16, -24, -15, 25, 0, 2 }, { -16, -25, -16, 25, 0, 2 }, { -16, -26, -16, 25, 0, 2 }, { -16, -27, -16, 25, 0, 2 }, { -16, -28, -16, 24, 0, 2 }, - { -16, -29, -16, 24, 0, 2 }, { -16, -30, -16, 24, 0, 2 }, { -16, -31, -16, 24, 0, 2 }, + 68, { + { 31, 16, 7, 0, 6, 0 }, { 30, 16, 7, 0, 6, 0 }, { 29, 16, 6, 0, 6, 0 }, { 28, 16, 6, 0, 6, 0 }, { 27, 16, 5, 31, 6, 0 }, + { 26, 16, 5, 31, 6, 0 }, { 25, 15, 4, 31, 6, 0 }, { 24, 15, 4, 31, 6, 0 }, { 23, 15, 3, 31, 6, 0 }, { 22, 15, 3, 31, 6, 0 }, + { 21, 15, 2, 31, 6, 0 }, { 20, 15, 2, 31, 6, 0 }, { 19, 14, 1, 31, 6, 0 }, { 18, 14, 1, 30, 6, 0 }, { 17, 14, 0, 30, 6, 0 }, + { 16, 13, 0, 30, 6, 0 }, { 15, 13, -1, 30, 6, 0 }, { 14, 13, -1, 30, 6, 0 }, { 13, 12, -2, 30, 6, 0 }, { 12, 12, -2, 30, 6, 0 }, + { 11, 11, -3, 30, 6, 0 }, { 10, 11, -3, 30, 6, 0 }, { 9, 10, -4, 30, 6, 0 }, { 8, 10, -4, 29, 6, 0 }, { 7, 9, -5, 29, 6, 0 }, + { 6, 9, -5, 29, 6, 0 }, { 5, 8, -6, 29, 6, 0 }, { 4, 7, -6, 29, 6, 0 }, { 3, 7, -7, 29, 6, 0 }, { 2, 6, -7, 29, 6, 0 }, + { 1, 5, -7, 29, 6, 0 }, { 0, 4, -8, 29, 6, 0 }, { -1, 3, -8, 28, 6, 0 }, { -3, 3, -8, 28, 6, 0 }, { -4, 2, -9, 28, 6, 0 }, + { -5, 1, -9, 28, 5, 1 }, { -6, 0, -10, 28, 5, 1 }, { -7, -1, -10, 27, 5, 1 }, { -7, -2, -10, 27, 5, 1 }, { -8, -3, -11, 27, 5, 1 }, + { -9, -4, -11, 27, 5, 1 }, { -9, -5, -11, 27, 5, 1 }, { -10, -6, -12, 27, 5, 1 }, { -10, -7, -12, 27, 5, 1 }, { -11, -8, -12, 27, 5, 1 }, + { -11, -9, -13, 27, 5, 1 }, { -12, -10, -13, 26, 5, 1 }, { -12, -11, -13, 26, 5, 1 }, { -13, -12, -13, 26, 5, 1 }, { -13, -13, -13, 26, 5, 1 }, + { -13, -14, -14, 26, 5, 1 }, { -14, -15, -14, 26, 5, 1 }, { -14, -16, -14, 26, 0, 2 }, { -14, -17, -14, 26, 0, 2 }, { -15, -18, -14, 26, 0, 2 }, + { -15, -19, -15, 26, 0, 2 }, { -15, -20, -15, 25, 0, 2 }, { -15, -21, -15, 25, 0, 2 }, { -15, -22, -15, 25, 0, 2 }, { -15, -23, -15, 25, 0, 2 }, + { -16, -24, -15, 25, 0, 2 }, { -16, -25, -16, 25, 0, 2 }, { -16, -26, -16, 25, 0, 2 }, { -16, -27, -16, 25, 0, 2 }, { -16, -28, -16, 24, 0, 2 }, + { -16, -29, -16, 24, 0, 2 }, { -16, -30, -16, 24, 0, 2 }, { -16, -31, -16, 24, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_91FDB8 = { - 69, { - { 16, 0, 7, 8, 6, 0 }, { 16, 1, 7, 8, 6, 0 }, { 16, 2, 6, 8, 6, 0 }, { 16, 3, 6, 8, 6, 0 }, { 16, 4, 5, 8, 6, 0 }, - { 16, 5, 5, 7, 6, 0 }, { 16, 6, 4, 7, 6, 0 }, { 15, 7, 4, 7, 6, 0 }, { 15, 8, 3, 7, 6, 0 }, { 15, 9, 3, 7, 6, 0 }, - { 15, 10, 2, 7, 6, 0 }, { 15, 11, 2, 7, 6, 0 }, { 15, 12, 1, 7, 6, 0 }, { 14, 13, 1, 7, 6, 0 }, { 14, 14, 0, 6, 6, 0 }, - { 14, 15, 0, 6, 6, 0 }, { 13, 16, -1, 6, 6, 0 }, { 13, 17, -1, 6, 6, 0 }, { 13, 18, -2, 6, 6, 0 }, { 12, 19, -2, 6, 6, 0 }, - { 12, 20, -3, 6, 6, 0 }, { 11, 21, -3, 6, 6, 0 }, { 11, 22, -4, 6, 6, 0 }, { 10, 23, -4, 6, 6, 0 }, { 10, 24, -5, 5, 6, 0 }, - { 9, 25, -5, 5, 6, 0 }, { 9, 26, -6, 5, 6, 0 }, { 8, 27, -6, 5, 6, 0 }, { 7, 28, -7, 5, 6, 0 }, { 7, 29, -7, 5, 6, 0 }, - { 6, 30, -7, 5, 6, 0 }, { 5, 31, -8, 5, 6, 0 }, { 4, 32, -8, 5, 6, 0 }, { 3, 33, -8, 4, 6, 0 }, { 3, 35, -9, 4, 6, 0 }, - { 2, 36, -9, 4, 5, 1 }, { 1, 37, -10, 4, 5, 1 }, { 0, 38, -10, 4, 5, 1 }, { -1, 39, -10, 3, 5, 1 }, { -2, 39, -11, 3, 5, 1 }, - { -3, 40, -11, 3, 5, 1 }, { -4, 41, -11, 3, 5, 1 }, { -5, 41, -12, 3, 5, 1 }, { -6, 42, -12, 3, 5, 1 }, { -7, 42, -12, 3, 5, 1 }, - { -8, 43, -13, 3, 5, 1 }, { -9, 43, -13, 3, 5, 1 }, { -10, 44, -13, 2, 5, 1 }, { -11, 44, -13, 2, 5, 1 }, { -12, 45, -13, 2, 5, 1 }, - { -13, 45, -14, 2, 5, 1 }, { -14, 45, -14, 2, 5, 1 }, { -15, 46, -14, 2, 0, 2 }, { -16, 46, -14, 2, 0, 2 }, { -17, 46, -14, 2, 0, 2 }, - { -18, 47, -15, 2, 0, 2 }, { -19, 47, -15, 2, 0, 2 }, { -20, 47, -15, 1, 0, 2 }, { -21, 47, -15, 1, 0, 2 }, { -22, 47, -15, 1, 0, 2 }, - { -23, 47, -15, 1, 0, 2 }, { -24, 48, -16, 1, 0, 2 }, { -25, 48, -16, 1, 0, 2 }, { -26, 48, -16, 1, 0, 2 }, { -27, 48, -16, 1, 0, 2 }, - { -28, 48, -16, 0, 0, 2 }, { -29, 48, -16, 0, 0, 2 }, { -30, 48, -16, 0, 0, 2 }, { -31, 48, -16, 0, 0, 2 }, + 69, { + { 16, 0, 7, 8, 6, 0 }, { 16, 1, 7, 8, 6, 0 }, { 16, 2, 6, 8, 6, 0 }, { 16, 3, 6, 8, 6, 0 }, { 16, 4, 5, 8, 6, 0 }, + { 16, 5, 5, 7, 6, 0 }, { 16, 6, 4, 7, 6, 0 }, { 15, 7, 4, 7, 6, 0 }, { 15, 8, 3, 7, 6, 0 }, { 15, 9, 3, 7, 6, 0 }, + { 15, 10, 2, 7, 6, 0 }, { 15, 11, 2, 7, 6, 0 }, { 15, 12, 1, 7, 6, 0 }, { 14, 13, 1, 7, 6, 0 }, { 14, 14, 0, 6, 6, 0 }, + { 14, 15, 0, 6, 6, 0 }, { 13, 16, -1, 6, 6, 0 }, { 13, 17, -1, 6, 6, 0 }, { 13, 18, -2, 6, 6, 0 }, { 12, 19, -2, 6, 6, 0 }, + { 12, 20, -3, 6, 6, 0 }, { 11, 21, -3, 6, 6, 0 }, { 11, 22, -4, 6, 6, 0 }, { 10, 23, -4, 6, 6, 0 }, { 10, 24, -5, 5, 6, 0 }, + { 9, 25, -5, 5, 6, 0 }, { 9, 26, -6, 5, 6, 0 }, { 8, 27, -6, 5, 6, 0 }, { 7, 28, -7, 5, 6, 0 }, { 7, 29, -7, 5, 6, 0 }, + { 6, 30, -7, 5, 6, 0 }, { 5, 31, -8, 5, 6, 0 }, { 4, 32, -8, 5, 6, 0 }, { 3, 33, -8, 4, 6, 0 }, { 3, 35, -9, 4, 6, 0 }, + { 2, 36, -9, 4, 5, 1 }, { 1, 37, -10, 4, 5, 1 }, { 0, 38, -10, 4, 5, 1 }, { -1, 39, -10, 3, 5, 1 }, { -2, 39, -11, 3, 5, 1 }, + { -3, 40, -11, 3, 5, 1 }, { -4, 41, -11, 3, 5, 1 }, { -5, 41, -12, 3, 5, 1 }, { -6, 42, -12, 3, 5, 1 }, { -7, 42, -12, 3, 5, 1 }, + { -8, 43, -13, 3, 5, 1 }, { -9, 43, -13, 3, 5, 1 }, { -10, 44, -13, 2, 5, 1 }, { -11, 44, -13, 2, 5, 1 }, { -12, 45, -13, 2, 5, 1 }, + { -13, 45, -14, 2, 5, 1 }, { -14, 45, -14, 2, 5, 1 }, { -15, 46, -14, 2, 0, 2 }, { -16, 46, -14, 2, 0, 2 }, { -17, 46, -14, 2, 0, 2 }, + { -18, 47, -15, 2, 0, 2 }, { -19, 47, -15, 2, 0, 2 }, { -20, 47, -15, 1, 0, 2 }, { -21, 47, -15, 1, 0, 2 }, { -22, 47, -15, 1, 0, 2 }, + { -23, 47, -15, 1, 0, 2 }, { -24, 48, -16, 1, 0, 2 }, { -25, 48, -16, 1, 0, 2 }, { -26, 48, -16, 1, 0, 2 }, { -27, 48, -16, 1, 0, 2 }, + { -28, 48, -16, 0, 0, 2 }, { -29, 48, -16, 0, 0, 2 }, { -30, 48, -16, 0, 0, 2 }, { -31, 48, -16, 0, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_920027 = { - 68, { - { 0, 16, 7, 16, 6, 0 }, { 1, 16, 7, 16, 6, 0 }, { 2, 16, 6, 16, 6, 0 }, { 3, 16, 6, 16, 6, 0 }, { 4, 16, 5, 16, 6, 0 }, - { 5, 16, 5, 15, 6, 0 }, { 6, 16, 4, 15, 6, 0 }, { 7, 17, 4, 15, 6, 0 }, { 8, 17, 3, 15, 6, 0 }, { 9, 17, 3, 15, 6, 0 }, - { 10, 17, 2, 15, 6, 0 }, { 11, 17, 2, 15, 6, 0 }, { 12, 17, 1, 15, 6, 0 }, { 13, 18, 1, 15, 6, 0 }, { 14, 18, 0, 14, 6, 0 }, - { 15, 18, 0, 14, 6, 0 }, { 16, 19, -1, 14, 6, 0 }, { 17, 19, -1, 14, 6, 0 }, { 18, 19, -2, 14, 6, 0 }, { 19, 20, -2, 14, 6, 0 }, - { 20, 20, -3, 14, 6, 0 }, { 21, 21, -3, 14, 6, 0 }, { 22, 21, -4, 14, 6, 0 }, { 23, 22, -4, 14, 6, 0 }, { 24, 22, -5, 13, 6, 0 }, - { 25, 23, -5, 13, 6, 0 }, { 26, 23, -6, 13, 6, 0 }, { 27, 24, -6, 13, 6, 0 }, { 28, 25, -7, 13, 6, 0 }, { 29, 25, -7, 13, 6, 0 }, - { 30, 26, -7, 13, 6, 0 }, { 31, 27, -8, 13, 6, 0 }, { 32, 28, -8, 13, 6, 0 }, { 33, 29, -8, 12, 6, 0 }, { 35, 29, -9, 12, 6, 0 }, - { 36, 30, -9, 12, 5, 1 }, { 37, 31, -10, 12, 5, 1 }, { 38, 32, -10, 12, 5, 1 }, { 39, 33, -10, 11, 5, 1 }, { 39, 34, -11, 11, 5, 1 }, - { 40, 35, -11, 11, 5, 1 }, { 41, 36, -11, 11, 5, 1 }, { 41, 37, -12, 11, 5, 1 }, { 42, 38, -12, 11, 5, 1 }, { 42, 39, -12, 11, 5, 1 }, - { 43, 40, -13, 11, 5, 1 }, { 43, 41, -13, 11, 5, 1 }, { 44, 42, -13, 10, 5, 1 }, { 44, 43, -13, 10, 5, 1 }, { 45, 44, -13, 10, 5, 1 }, - { 45, 45, -14, 10, 5, 1 }, { 45, 46, -14, 10, 5, 1 }, { 46, 47, -14, 10, 0, 2 }, { 46, 48, -14, 10, 0, 2 }, { 46, 49, -14, 10, 0, 2 }, - { 47, 50, -15, 10, 0, 2 }, { 47, 51, -15, 10, 0, 2 }, { 47, 52, -15, 9, 0, 2 }, { 47, 53, -15, 9, 0, 2 }, { 47, 54, -15, 9, 0, 2 }, - { 47, 55, -15, 9, 0, 2 }, { 48, 56, -16, 9, 0, 2 }, { 48, 57, -16, 9, 0, 2 }, { 48, 58, -16, 9, 0, 2 }, { 48, 59, -16, 9, 0, 2 }, - { 48, 60, -16, 8, 0, 2 }, { 48, 61, -16, 8, 0, 2 }, { 48, 62, -16, 8, 0, 2 }, + 68, { + { 0, 16, 7, 16, 6, 0 }, { 1, 16, 7, 16, 6, 0 }, { 2, 16, 6, 16, 6, 0 }, { 3, 16, 6, 16, 6, 0 }, { 4, 16, 5, 16, 6, 0 }, + { 5, 16, 5, 15, 6, 0 }, { 6, 16, 4, 15, 6, 0 }, { 7, 17, 4, 15, 6, 0 }, { 8, 17, 3, 15, 6, 0 }, { 9, 17, 3, 15, 6, 0 }, + { 10, 17, 2, 15, 6, 0 }, { 11, 17, 2, 15, 6, 0 }, { 12, 17, 1, 15, 6, 0 }, { 13, 18, 1, 15, 6, 0 }, { 14, 18, 0, 14, 6, 0 }, + { 15, 18, 0, 14, 6, 0 }, { 16, 19, -1, 14, 6, 0 }, { 17, 19, -1, 14, 6, 0 }, { 18, 19, -2, 14, 6, 0 }, { 19, 20, -2, 14, 6, 0 }, + { 20, 20, -3, 14, 6, 0 }, { 21, 21, -3, 14, 6, 0 }, { 22, 21, -4, 14, 6, 0 }, { 23, 22, -4, 14, 6, 0 }, { 24, 22, -5, 13, 6, 0 }, + { 25, 23, -5, 13, 6, 0 }, { 26, 23, -6, 13, 6, 0 }, { 27, 24, -6, 13, 6, 0 }, { 28, 25, -7, 13, 6, 0 }, { 29, 25, -7, 13, 6, 0 }, + { 30, 26, -7, 13, 6, 0 }, { 31, 27, -8, 13, 6, 0 }, { 32, 28, -8, 13, 6, 0 }, { 33, 29, -8, 12, 6, 0 }, { 35, 29, -9, 12, 6, 0 }, + { 36, 30, -9, 12, 5, 1 }, { 37, 31, -10, 12, 5, 1 }, { 38, 32, -10, 12, 5, 1 }, { 39, 33, -10, 11, 5, 1 }, { 39, 34, -11, 11, 5, 1 }, + { 40, 35, -11, 11, 5, 1 }, { 41, 36, -11, 11, 5, 1 }, { 41, 37, -12, 11, 5, 1 }, { 42, 38, -12, 11, 5, 1 }, { 42, 39, -12, 11, 5, 1 }, + { 43, 40, -13, 11, 5, 1 }, { 43, 41, -13, 11, 5, 1 }, { 44, 42, -13, 10, 5, 1 }, { 44, 43, -13, 10, 5, 1 }, { 45, 44, -13, 10, 5, 1 }, + { 45, 45, -14, 10, 5, 1 }, { 45, 46, -14, 10, 5, 1 }, { 46, 47, -14, 10, 0, 2 }, { 46, 48, -14, 10, 0, 2 }, { 46, 49, -14, 10, 0, 2 }, + { 47, 50, -15, 10, 0, 2 }, { 47, 51, -15, 10, 0, 2 }, { 47, 52, -15, 9, 0, 2 }, { 47, 53, -15, 9, 0, 2 }, { 47, 54, -15, 9, 0, 2 }, + { 47, 55, -15, 9, 0, 2 }, { 48, 56, -16, 9, 0, 2 }, { 48, 57, -16, 9, 0, 2 }, { 48, 58, -16, 9, 0, 2 }, { 48, 59, -16, 9, 0, 2 }, + { 48, 60, -16, 8, 0, 2 }, { 48, 61, -16, 8, 0, 2 }, { 48, 62, -16, 8, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92028D = { - 67, { - { 16, 31, 7, 24, 6, 0 }, { 16, 30, 7, 24, 6, 0 }, { 16, 29, 6, 24, 6, 0 }, { 16, 28, 6, 24, 6, 0 }, { 16, 27, 5, 23, 6, 0 }, - { 16, 26, 5, 23, 6, 0 }, { 17, 25, 4, 23, 6, 0 }, { 17, 24, 4, 23, 6, 0 }, { 17, 23, 3, 23, 6, 0 }, { 17, 22, 3, 23, 6, 0 }, - { 17, 21, 2, 23, 6, 0 }, { 17, 20, 2, 23, 6, 0 }, { 18, 19, 1, 23, 6, 0 }, { 18, 18, 1, 22, 6, 0 }, { 18, 17, 0, 22, 6, 0 }, - { 19, 16, 0, 22, 6, 0 }, { 19, 15, -1, 22, 6, 0 }, { 19, 14, -1, 22, 6, 0 }, { 20, 13, -2, 22, 6, 0 }, { 20, 12, -2, 22, 6, 0 }, - { 21, 11, -3, 22, 6, 0 }, { 21, 10, -3, 22, 6, 0 }, { 22, 9, -4, 22, 6, 0 }, { 22, 8, -4, 21, 6, 0 }, { 23, 7, -5, 21, 6, 0 }, - { 23, 6, -5, 21, 6, 0 }, { 24, 5, -6, 21, 6, 0 }, { 25, 4, -6, 21, 6, 0 }, { 25, 3, -7, 21, 6, 0 }, { 26, 2, -7, 21, 6, 0 }, - { 27, 1, -7, 21, 6, 0 }, { 28, 0, -8, 21, 6, 0 }, { 29, -1, -8, 20, 6, 0 }, { 29, -3, -8, 20, 6, 0 }, { 30, -4, -9, 20, 6, 0 }, - { 31, -5, -9, 20, 5, 1 }, { 32, -6, -10, 20, 5, 1 }, { 33, -7, -10, 19, 5, 1 }, { 34, -7, -10, 19, 5, 1 }, { 35, -8, -11, 19, 5, 1 }, - { 36, -9, -11, 19, 5, 1 }, { 37, -9, -11, 19, 5, 1 }, { 38, -10, -12, 19, 5, 1 }, { 39, -10, -12, 19, 5, 1 }, { 40, -11, -12, 19, 5, 1 }, - { 41, -11, -13, 19, 5, 1 }, { 42, -12, -13, 18, 5, 1 }, { 43, -12, -13, 18, 5, 1 }, { 44, -13, -13, 18, 5, 1 }, { 45, -13, -13, 18, 5, 1 }, - { 46, -13, -14, 18, 5, 1 }, { 47, -14, -14, 18, 5, 1 }, { 48, -14, -14, 18, 0, 2 }, { 49, -14, -14, 18, 0, 2 }, { 50, -15, -14, 18, 0, 2 }, - { 51, -15, -15, 18, 0, 2 }, { 52, -15, -15, 17, 0, 2 }, { 53, -15, -15, 17, 0, 2 }, { 54, -15, -15, 17, 0, 2 }, { 55, -15, -15, 17, 0, 2 }, - { 56, -16, -15, 17, 0, 2 }, { 57, -16, -16, 17, 0, 2 }, { 58, -16, -16, 17, 0, 2 }, { 59, -16, -16, 17, 0, 2 }, { 60, -16, -16, 16, 0, 2 }, - { 61, -16, -16, 16, 0, 2 }, { 62, -16, -16, 16, 0, 2 }, + 67, { + { 16, 31, 7, 24, 6, 0 }, { 16, 30, 7, 24, 6, 0 }, { 16, 29, 6, 24, 6, 0 }, { 16, 28, 6, 24, 6, 0 }, { 16, 27, 5, 23, 6, 0 }, + { 16, 26, 5, 23, 6, 0 }, { 17, 25, 4, 23, 6, 0 }, { 17, 24, 4, 23, 6, 0 }, { 17, 23, 3, 23, 6, 0 }, { 17, 22, 3, 23, 6, 0 }, + { 17, 21, 2, 23, 6, 0 }, { 17, 20, 2, 23, 6, 0 }, { 18, 19, 1, 23, 6, 0 }, { 18, 18, 1, 22, 6, 0 }, { 18, 17, 0, 22, 6, 0 }, + { 19, 16, 0, 22, 6, 0 }, { 19, 15, -1, 22, 6, 0 }, { 19, 14, -1, 22, 6, 0 }, { 20, 13, -2, 22, 6, 0 }, { 20, 12, -2, 22, 6, 0 }, + { 21, 11, -3, 22, 6, 0 }, { 21, 10, -3, 22, 6, 0 }, { 22, 9, -4, 22, 6, 0 }, { 22, 8, -4, 21, 6, 0 }, { 23, 7, -5, 21, 6, 0 }, + { 23, 6, -5, 21, 6, 0 }, { 24, 5, -6, 21, 6, 0 }, { 25, 4, -6, 21, 6, 0 }, { 25, 3, -7, 21, 6, 0 }, { 26, 2, -7, 21, 6, 0 }, + { 27, 1, -7, 21, 6, 0 }, { 28, 0, -8, 21, 6, 0 }, { 29, -1, -8, 20, 6, 0 }, { 29, -3, -8, 20, 6, 0 }, { 30, -4, -9, 20, 6, 0 }, + { 31, -5, -9, 20, 5, 1 }, { 32, -6, -10, 20, 5, 1 }, { 33, -7, -10, 19, 5, 1 }, { 34, -7, -10, 19, 5, 1 }, { 35, -8, -11, 19, 5, 1 }, + { 36, -9, -11, 19, 5, 1 }, { 37, -9, -11, 19, 5, 1 }, { 38, -10, -12, 19, 5, 1 }, { 39, -10, -12, 19, 5, 1 }, { 40, -11, -12, 19, 5, 1 }, + { 41, -11, -13, 19, 5, 1 }, { 42, -12, -13, 18, 5, 1 }, { 43, -12, -13, 18, 5, 1 }, { 44, -13, -13, 18, 5, 1 }, { 45, -13, -13, 18, 5, 1 }, + { 46, -13, -14, 18, 5, 1 }, { 47, -14, -14, 18, 5, 1 }, { 48, -14, -14, 18, 0, 2 }, { 49, -14, -14, 18, 0, 2 }, { 50, -15, -14, 18, 0, 2 }, + { 51, -15, -15, 18, 0, 2 }, { 52, -15, -15, 17, 0, 2 }, { 53, -15, -15, 17, 0, 2 }, { 54, -15, -15, 17, 0, 2 }, { 55, -15, -15, 17, 0, 2 }, + { 56, -16, -15, 17, 0, 2 }, { 57, -16, -16, 17, 0, 2 }, { 58, -16, -16, 17, 0, 2 }, { 59, -16, -16, 17, 0, 2 }, { 60, -16, -16, 16, 0, 2 }, + { 61, -16, -16, 16, 0, 2 }, { 62, -16, -16, 16, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9204EA = { - 67, { - { 31, 16, 7, 0, 6, 0 }, { 30, 16, 7, 0, 6, 0 }, { 29, 16, 6, 0, 6, 0 }, { 28, 16, 6, 0, 6, 0 }, { 27, 16, 5, 1, 6, 0 }, - { 26, 16, 5, 1, 6, 0 }, { 25, 17, 4, 1, 6, 0 }, { 24, 17, 4, 1, 6, 0 }, { 23, 17, 3, 1, 6, 0 }, { 22, 17, 3, 1, 6, 0 }, - { 21, 17, 2, 1, 6, 0 }, { 20, 17, 2, 1, 6, 0 }, { 19, 18, 1, 1, 6, 0 }, { 18, 18, 1, 2, 6, 0 }, { 17, 18, 0, 2, 6, 0 }, - { 16, 19, 0, 2, 6, 0 }, { 15, 19, -1, 2, 6, 0 }, { 14, 19, -1, 2, 6, 0 }, { 13, 20, -2, 2, 6, 0 }, { 12, 20, -2, 2, 6, 0 }, - { 11, 21, -3, 2, 6, 0 }, { 10, 21, -3, 2, 6, 0 }, { 9, 22, -4, 2, 6, 0 }, { 8, 22, -4, 3, 6, 0 }, { 7, 23, -5, 3, 6, 0 }, - { 6, 23, -5, 3, 6, 0 }, { 5, 24, -6, 3, 6, 0 }, { 4, 25, -6, 3, 6, 0 }, { 3, 25, -7, 3, 6, 0 }, { 2, 26, -7, 3, 6, 0 }, - { 1, 27, -7, 3, 6, 0 }, { 0, 28, -8, 3, 6, 0 }, { -1, 29, -8, 4, 6, 0 }, { -3, 29, -8, 4, 6, 0 }, { -4, 30, -9, 4, 6, 0 }, - { -5, 31, -9, 4, 5, 3 }, { -6, 32, -10, 4, 5, 3 }, { -7, 33, -10, 5, 5, 3 }, { -7, 34, -10, 5, 5, 3 }, { -8, 35, -11, 5, 5, 3 }, - { -9, 36, -11, 5, 5, 3 }, { -9, 37, -11, 5, 5, 3 }, { -10, 38, -12, 5, 5, 3 }, { -10, 39, -12, 5, 5, 3 }, { -11, 40, -12, 5, 5, 3 }, - { -11, 41, -13, 5, 5, 3 }, { -12, 42, -13, 6, 5, 3 }, { -12, 43, -13, 6, 5, 3 }, { -13, 44, -13, 6, 5, 3 }, { -13, 45, -13, 6, 5, 3 }, - { -13, 46, -14, 6, 5, 3 }, { -14, 47, -14, 6, 5, 3 }, { -14, 48, -14, 6, 0, 4 }, { -14, 49, -14, 6, 0, 4 }, { -15, 50, -14, 6, 0, 4 }, - { -15, 51, -15, 6, 0, 4 }, { -15, 52, -15, 7, 0, 4 }, { -15, 53, -15, 7, 0, 4 }, { -15, 54, -15, 7, 0, 4 }, { -15, 55, -15, 7, 0, 4 }, - { -16, 56, -15, 7, 0, 4 }, { -16, 57, -16, 7, 0, 4 }, { -16, 58, -16, 7, 0, 4 }, { -16, 59, -16, 7, 0, 4 }, { -16, 60, -16, 8, 0, 4 }, - { -16, 61, -16, 8, 0, 4 }, { -16, 62, -16, 8, 0, 4 }, + 67, { + { 31, 16, 7, 0, 6, 0 }, { 30, 16, 7, 0, 6, 0 }, { 29, 16, 6, 0, 6, 0 }, { 28, 16, 6, 0, 6, 0 }, { 27, 16, 5, 1, 6, 0 }, + { 26, 16, 5, 1, 6, 0 }, { 25, 17, 4, 1, 6, 0 }, { 24, 17, 4, 1, 6, 0 }, { 23, 17, 3, 1, 6, 0 }, { 22, 17, 3, 1, 6, 0 }, + { 21, 17, 2, 1, 6, 0 }, { 20, 17, 2, 1, 6, 0 }, { 19, 18, 1, 1, 6, 0 }, { 18, 18, 1, 2, 6, 0 }, { 17, 18, 0, 2, 6, 0 }, + { 16, 19, 0, 2, 6, 0 }, { 15, 19, -1, 2, 6, 0 }, { 14, 19, -1, 2, 6, 0 }, { 13, 20, -2, 2, 6, 0 }, { 12, 20, -2, 2, 6, 0 }, + { 11, 21, -3, 2, 6, 0 }, { 10, 21, -3, 2, 6, 0 }, { 9, 22, -4, 2, 6, 0 }, { 8, 22, -4, 3, 6, 0 }, { 7, 23, -5, 3, 6, 0 }, + { 6, 23, -5, 3, 6, 0 }, { 5, 24, -6, 3, 6, 0 }, { 4, 25, -6, 3, 6, 0 }, { 3, 25, -7, 3, 6, 0 }, { 2, 26, -7, 3, 6, 0 }, + { 1, 27, -7, 3, 6, 0 }, { 0, 28, -8, 3, 6, 0 }, { -1, 29, -8, 4, 6, 0 }, { -3, 29, -8, 4, 6, 0 }, { -4, 30, -9, 4, 6, 0 }, + { -5, 31, -9, 4, 5, 3 }, { -6, 32, -10, 4, 5, 3 }, { -7, 33, -10, 5, 5, 3 }, { -7, 34, -10, 5, 5, 3 }, { -8, 35, -11, 5, 5, 3 }, + { -9, 36, -11, 5, 5, 3 }, { -9, 37, -11, 5, 5, 3 }, { -10, 38, -12, 5, 5, 3 }, { -10, 39, -12, 5, 5, 3 }, { -11, 40, -12, 5, 5, 3 }, + { -11, 41, -13, 5, 5, 3 }, { -12, 42, -13, 6, 5, 3 }, { -12, 43, -13, 6, 5, 3 }, { -13, 44, -13, 6, 5, 3 }, { -13, 45, -13, 6, 5, 3 }, + { -13, 46, -14, 6, 5, 3 }, { -14, 47, -14, 6, 5, 3 }, { -14, 48, -14, 6, 0, 4 }, { -14, 49, -14, 6, 0, 4 }, { -15, 50, -14, 6, 0, 4 }, + { -15, 51, -15, 6, 0, 4 }, { -15, 52, -15, 7, 0, 4 }, { -15, 53, -15, 7, 0, 4 }, { -15, 54, -15, 7, 0, 4 }, { -15, 55, -15, 7, 0, 4 }, + { -16, 56, -15, 7, 0, 4 }, { -16, 57, -16, 7, 0, 4 }, { -16, 58, -16, 7, 0, 4 }, { -16, 59, -16, 7, 0, 4 }, { -16, 60, -16, 8, 0, 4 }, + { -16, 61, -16, 8, 0, 4 }, { -16, 62, -16, 8, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_920747 = { - 68, { - { 16, 0, 7, 8, 6, 0 }, { 16, 1, 7, 8, 6, 0 }, { 16, 2, 6, 8, 6, 0 }, { 16, 3, 6, 8, 6, 0 }, { 16, 4, 5, 8, 6, 0 }, - { 16, 5, 5, 9, 6, 0 }, { 16, 6, 4, 9, 6, 0 }, { 17, 7, 4, 9, 6, 0 }, { 17, 8, 3, 9, 6, 0 }, { 17, 9, 3, 9, 6, 0 }, - { 17, 10, 2, 9, 6, 0 }, { 17, 11, 2, 9, 6, 0 }, { 17, 12, 1, 9, 6, 0 }, { 18, 13, 1, 9, 6, 0 }, { 18, 14, 0, 10, 6, 0 }, - { 18, 15, 0, 10, 6, 0 }, { 19, 16, -1, 10, 6, 0 }, { 19, 17, -1, 10, 6, 0 }, { 19, 18, -2, 10, 6, 0 }, { 20, 19, -2, 10, 6, 0 }, - { 20, 20, -3, 10, 6, 0 }, { 21, 21, -3, 10, 6, 0 }, { 21, 22, -4, 10, 6, 0 }, { 22, 23, -4, 10, 6, 0 }, { 22, 24, -5, 11, 6, 0 }, - { 23, 25, -5, 11, 6, 0 }, { 23, 26, -6, 11, 6, 0 }, { 24, 27, -6, 11, 6, 0 }, { 25, 28, -7, 11, 6, 0 }, { 25, 29, -7, 11, 6, 0 }, - { 26, 30, -7, 11, 6, 0 }, { 27, 31, -8, 11, 6, 0 }, { 28, 32, -8, 11, 6, 0 }, { 29, 33, -8, 12, 6, 0 }, { 29, 35, -9, 12, 6, 0 }, - { 30, 36, -9, 12, 5, 3 }, { 31, 37, -10, 12, 5, 3 }, { 32, 38, -10, 12, 5, 3 }, { 33, 39, -10, 13, 5, 3 }, { 34, 39, -11, 13, 5, 3 }, - { 35, 40, -11, 13, 5, 3 }, { 36, 41, -11, 13, 5, 3 }, { 37, 41, -12, 13, 5, 3 }, { 38, 42, -12, 13, 5, 3 }, { 39, 42, -12, 13, 5, 3 }, - { 40, 43, -13, 13, 5, 3 }, { 41, 43, -13, 13, 5, 3 }, { 42, 44, -13, 14, 5, 3 }, { 43, 44, -13, 14, 5, 3 }, { 44, 45, -13, 14, 5, 3 }, - { 45, 45, -14, 14, 5, 3 }, { 46, 45, -14, 14, 5, 3 }, { 47, 46, -14, 14, 0, 4 }, { 48, 46, -14, 14, 0, 4 }, { 49, 46, -14, 14, 0, 4 }, - { 50, 47, -15, 14, 0, 4 }, { 51, 47, -15, 14, 0, 4 }, { 52, 47, -15, 15, 0, 4 }, { 53, 47, -15, 15, 0, 4 }, { 54, 47, -15, 15, 0, 4 }, - { 55, 47, -15, 15, 0, 4 }, { 56, 48, -16, 15, 0, 4 }, { 57, 48, -16, 15, 0, 4 }, { 58, 48, -16, 15, 0, 4 }, { 59, 48, -16, 15, 0, 4 }, - { 60, 48, -16, 16, 0, 4 }, { 61, 48, -16, 16, 0, 4 }, { 62, 48, -16, 16, 0, 4 }, + 68, { + { 16, 0, 7, 8, 6, 0 }, { 16, 1, 7, 8, 6, 0 }, { 16, 2, 6, 8, 6, 0 }, { 16, 3, 6, 8, 6, 0 }, { 16, 4, 5, 8, 6, 0 }, + { 16, 5, 5, 9, 6, 0 }, { 16, 6, 4, 9, 6, 0 }, { 17, 7, 4, 9, 6, 0 }, { 17, 8, 3, 9, 6, 0 }, { 17, 9, 3, 9, 6, 0 }, + { 17, 10, 2, 9, 6, 0 }, { 17, 11, 2, 9, 6, 0 }, { 17, 12, 1, 9, 6, 0 }, { 18, 13, 1, 9, 6, 0 }, { 18, 14, 0, 10, 6, 0 }, + { 18, 15, 0, 10, 6, 0 }, { 19, 16, -1, 10, 6, 0 }, { 19, 17, -1, 10, 6, 0 }, { 19, 18, -2, 10, 6, 0 }, { 20, 19, -2, 10, 6, 0 }, + { 20, 20, -3, 10, 6, 0 }, { 21, 21, -3, 10, 6, 0 }, { 21, 22, -4, 10, 6, 0 }, { 22, 23, -4, 10, 6, 0 }, { 22, 24, -5, 11, 6, 0 }, + { 23, 25, -5, 11, 6, 0 }, { 23, 26, -6, 11, 6, 0 }, { 24, 27, -6, 11, 6, 0 }, { 25, 28, -7, 11, 6, 0 }, { 25, 29, -7, 11, 6, 0 }, + { 26, 30, -7, 11, 6, 0 }, { 27, 31, -8, 11, 6, 0 }, { 28, 32, -8, 11, 6, 0 }, { 29, 33, -8, 12, 6, 0 }, { 29, 35, -9, 12, 6, 0 }, + { 30, 36, -9, 12, 5, 3 }, { 31, 37, -10, 12, 5, 3 }, { 32, 38, -10, 12, 5, 3 }, { 33, 39, -10, 13, 5, 3 }, { 34, 39, -11, 13, 5, 3 }, + { 35, 40, -11, 13, 5, 3 }, { 36, 41, -11, 13, 5, 3 }, { 37, 41, -12, 13, 5, 3 }, { 38, 42, -12, 13, 5, 3 }, { 39, 42, -12, 13, 5, 3 }, + { 40, 43, -13, 13, 5, 3 }, { 41, 43, -13, 13, 5, 3 }, { 42, 44, -13, 14, 5, 3 }, { 43, 44, -13, 14, 5, 3 }, { 44, 45, -13, 14, 5, 3 }, + { 45, 45, -14, 14, 5, 3 }, { 46, 45, -14, 14, 5, 3 }, { 47, 46, -14, 14, 0, 4 }, { 48, 46, -14, 14, 0, 4 }, { 49, 46, -14, 14, 0, 4 }, + { 50, 47, -15, 14, 0, 4 }, { 51, 47, -15, 14, 0, 4 }, { 52, 47, -15, 15, 0, 4 }, { 53, 47, -15, 15, 0, 4 }, { 54, 47, -15, 15, 0, 4 }, + { 55, 47, -15, 15, 0, 4 }, { 56, 48, -16, 15, 0, 4 }, { 57, 48, -16, 15, 0, 4 }, { 58, 48, -16, 15, 0, 4 }, { 59, 48, -16, 15, 0, 4 }, + { 60, 48, -16, 16, 0, 4 }, { 61, 48, -16, 16, 0, 4 }, { 62, 48, -16, 16, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9209AD = { - 69, { - { 0, 16, 7, 16, 6, 0 }, { 1, 16, 7, 16, 6, 0 }, { 2, 16, 6, 16, 6, 0 }, { 3, 16, 6, 16, 6, 0 }, { 4, 16, 5, 16, 6, 0 }, - { 5, 16, 5, 17, 6, 0 }, { 6, 16, 4, 17, 6, 0 }, { 7, 15, 4, 17, 6, 0 }, { 8, 15, 3, 17, 6, 0 }, { 9, 15, 3, 17, 6, 0 }, - { 10, 15, 2, 17, 6, 0 }, { 11, 15, 2, 17, 6, 0 }, { 12, 15, 1, 17, 6, 0 }, { 13, 14, 1, 17, 6, 0 }, { 14, 14, 0, 18, 6, 0 }, - { 15, 14, 0, 18, 6, 0 }, { 16, 13, -1, 18, 6, 0 }, { 17, 13, -1, 18, 6, 0 }, { 18, 13, -2, 18, 6, 0 }, { 19, 12, -2, 18, 6, 0 }, - { 20, 12, -3, 18, 6, 0 }, { 21, 11, -3, 18, 6, 0 }, { 22, 11, -4, 18, 6, 0 }, { 23, 10, -4, 18, 6, 0 }, { 24, 10, -5, 19, 6, 0 }, - { 25, 9, -5, 19, 6, 0 }, { 26, 9, -6, 19, 6, 0 }, { 27, 8, -6, 19, 6, 0 }, { 28, 7, -7, 19, 6, 0 }, { 29, 7, -7, 19, 6, 0 }, - { 30, 6, -7, 19, 6, 0 }, { 31, 5, -8, 19, 6, 0 }, { 32, 4, -8, 19, 6, 0 }, { 33, 3, -8, 20, 6, 0 }, { 35, 3, -9, 20, 6, 0 }, - { 36, 2, -9, 20, 5, 3 }, { 37, 1, -10, 20, 5, 3 }, { 38, 0, -10, 20, 5, 3 }, { 39, -1, -10, 21, 5, 3 }, { 39, -2, -11, 21, 5, 3 }, - { 40, -3, -11, 21, 5, 3 }, { 41, -4, -11, 21, 5, 3 }, { 41, -5, -12, 21, 5, 3 }, { 42, -6, -12, 21, 5, 3 }, { 42, -7, -12, 21, 5, 3 }, - { 43, -8, -13, 21, 5, 3 }, { 43, -9, -13, 21, 5, 3 }, { 44, -10, -13, 22, 5, 3 }, { 44, -11, -13, 22, 5, 3 }, { 45, -12, -13, 22, 5, 3 }, - { 45, -13, -14, 22, 5, 3 }, { 45, -14, -14, 22, 5, 3 }, { 46, -15, -14, 22, 0, 4 }, { 46, -16, -14, 22, 0, 4 }, { 46, -17, -14, 22, 0, 4 }, - { 47, -18, -15, 22, 0, 4 }, { 47, -19, -15, 22, 0, 4 }, { 47, -20, -15, 23, 0, 4 }, { 47, -21, -15, 23, 0, 4 }, { 47, -22, -15, 23, 0, 4 }, - { 47, -23, -15, 23, 0, 4 }, { 48, -24, -16, 23, 0, 4 }, { 48, -25, -16, 23, 0, 4 }, { 48, -26, -16, 23, 0, 4 }, { 48, -27, -16, 23, 0, 4 }, - { 48, -28, -16, 24, 0, 4 }, { 48, -29, -16, 24, 0, 4 }, { 48, -30, -16, 24, 0, 4 }, { 48, -31, -16, 24, 0, 4 }, + 69, { + { 0, 16, 7, 16, 6, 0 }, { 1, 16, 7, 16, 6, 0 }, { 2, 16, 6, 16, 6, 0 }, { 3, 16, 6, 16, 6, 0 }, { 4, 16, 5, 16, 6, 0 }, + { 5, 16, 5, 17, 6, 0 }, { 6, 16, 4, 17, 6, 0 }, { 7, 15, 4, 17, 6, 0 }, { 8, 15, 3, 17, 6, 0 }, { 9, 15, 3, 17, 6, 0 }, + { 10, 15, 2, 17, 6, 0 }, { 11, 15, 2, 17, 6, 0 }, { 12, 15, 1, 17, 6, 0 }, { 13, 14, 1, 17, 6, 0 }, { 14, 14, 0, 18, 6, 0 }, + { 15, 14, 0, 18, 6, 0 }, { 16, 13, -1, 18, 6, 0 }, { 17, 13, -1, 18, 6, 0 }, { 18, 13, -2, 18, 6, 0 }, { 19, 12, -2, 18, 6, 0 }, + { 20, 12, -3, 18, 6, 0 }, { 21, 11, -3, 18, 6, 0 }, { 22, 11, -4, 18, 6, 0 }, { 23, 10, -4, 18, 6, 0 }, { 24, 10, -5, 19, 6, 0 }, + { 25, 9, -5, 19, 6, 0 }, { 26, 9, -6, 19, 6, 0 }, { 27, 8, -6, 19, 6, 0 }, { 28, 7, -7, 19, 6, 0 }, { 29, 7, -7, 19, 6, 0 }, + { 30, 6, -7, 19, 6, 0 }, { 31, 5, -8, 19, 6, 0 }, { 32, 4, -8, 19, 6, 0 }, { 33, 3, -8, 20, 6, 0 }, { 35, 3, -9, 20, 6, 0 }, + { 36, 2, -9, 20, 5, 3 }, { 37, 1, -10, 20, 5, 3 }, { 38, 0, -10, 20, 5, 3 }, { 39, -1, -10, 21, 5, 3 }, { 39, -2, -11, 21, 5, 3 }, + { 40, -3, -11, 21, 5, 3 }, { 41, -4, -11, 21, 5, 3 }, { 41, -5, -12, 21, 5, 3 }, { 42, -6, -12, 21, 5, 3 }, { 42, -7, -12, 21, 5, 3 }, + { 43, -8, -13, 21, 5, 3 }, { 43, -9, -13, 21, 5, 3 }, { 44, -10, -13, 22, 5, 3 }, { 44, -11, -13, 22, 5, 3 }, { 45, -12, -13, 22, 5, 3 }, + { 45, -13, -14, 22, 5, 3 }, { 45, -14, -14, 22, 5, 3 }, { 46, -15, -14, 22, 0, 4 }, { 46, -16, -14, 22, 0, 4 }, { 46, -17, -14, 22, 0, 4 }, + { 47, -18, -15, 22, 0, 4 }, { 47, -19, -15, 22, 0, 4 }, { 47, -20, -15, 23, 0, 4 }, { 47, -21, -15, 23, 0, 4 }, { 47, -22, -15, 23, 0, 4 }, + { 47, -23, -15, 23, 0, 4 }, { 48, -24, -16, 23, 0, 4 }, { 48, -25, -16, 23, 0, 4 }, { 48, -26, -16, 23, 0, 4 }, { 48, -27, -16, 23, 0, 4 }, + { 48, -28, -16, 24, 0, 4 }, { 48, -29, -16, 24, 0, 4 }, { 48, -30, -16, 24, 0, 4 }, { 48, -31, -16, 24, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_920C1C = { - 68, { - { 16, 31, 7, 24, 6, 0 }, { 16, 30, 7, 24, 6, 0 }, { 16, 29, 6, 24, 6, 0 }, { 16, 28, 6, 24, 6, 0 }, { 16, 27, 5, 25, 6, 0 }, - { 16, 26, 5, 25, 6, 0 }, { 15, 25, 4, 25, 6, 0 }, { 15, 24, 4, 25, 6, 0 }, { 15, 23, 3, 25, 6, 0 }, { 15, 22, 3, 25, 6, 0 }, - { 15, 21, 2, 25, 6, 0 }, { 15, 20, 2, 25, 6, 0 }, { 14, 19, 1, 25, 6, 0 }, { 14, 18, 1, 26, 6, 0 }, { 14, 17, 0, 26, 6, 0 }, - { 13, 16, 0, 26, 6, 0 }, { 13, 15, -1, 26, 6, 0 }, { 13, 14, -1, 26, 6, 0 }, { 12, 13, -2, 26, 6, 0 }, { 12, 12, -2, 26, 6, 0 }, - { 11, 11, -3, 26, 6, 0 }, { 11, 10, -3, 26, 6, 0 }, { 10, 9, -4, 26, 6, 0 }, { 10, 8, -4, 27, 6, 0 }, { 9, 7, -5, 27, 6, 0 }, - { 9, 6, -5, 27, 6, 0 }, { 8, 5, -6, 27, 6, 0 }, { 7, 4, -6, 27, 6, 0 }, { 7, 3, -7, 27, 6, 0 }, { 6, 2, -7, 27, 6, 0 }, - { 5, 1, -7, 27, 6, 0 }, { 4, 0, -8, 27, 6, 0 }, { 3, -1, -8, 28, 6, 0 }, { 3, -3, -8, 28, 6, 0 }, { 2, -4, -9, 28, 6, 0 }, - { 1, -5, -9, 28, 5, 3 }, { 0, -6, -10, 28, 5, 3 }, { -1, -7, -10, 29, 5, 3 }, { -2, -7, -10, 29, 5, 3 }, { -3, -8, -11, 29, 5, 3 }, - { -4, -9, -11, 29, 5, 3 }, { -5, -9, -11, 29, 5, 3 }, { -6, -10, -12, 29, 5, 3 }, { -7, -10, -12, 29, 5, 3 }, { -8, -11, -12, 29, 5, 3 }, - { -9, -11, -13, 29, 5, 3 }, { -10, -12, -13, 30, 5, 3 }, { -11, -12, -13, 30, 5, 3 }, { -12, -13, -13, 30, 5, 3 }, { -13, -13, -13, 30, 5, 3 }, - { -14, -13, -14, 30, 5, 3 }, { -15, -14, -14, 30, 5, 3 }, { -16, -14, -14, 30, 0, 4 }, { -17, -14, -14, 30, 0, 4 }, { -18, -15, -14, 30, 0, 4 }, - { -19, -15, -15, 30, 0, 4 }, { -20, -15, -15, 31, 0, 4 }, { -21, -15, -15, 31, 0, 4 }, { -22, -15, -15, 31, 0, 4 }, { -23, -15, -15, 31, 0, 4 }, - { -24, -16, -15, 31, 0, 4 }, { -25, -16, -16, 31, 0, 4 }, { -26, -16, -16, 31, 0, 4 }, { -27, -16, -16, 31, 0, 4 }, { -28, -16, -16, 0, 0, 4 }, - { -29, -16, -16, 0, 0, 4 }, { -30, -16, -16, 0, 0, 4 }, { -31, -16, -16, 0, 0, 4 }, + 68, { + { 16, 31, 7, 24, 6, 0 }, { 16, 30, 7, 24, 6, 0 }, { 16, 29, 6, 24, 6, 0 }, { 16, 28, 6, 24, 6, 0 }, { 16, 27, 5, 25, 6, 0 }, + { 16, 26, 5, 25, 6, 0 }, { 15, 25, 4, 25, 6, 0 }, { 15, 24, 4, 25, 6, 0 }, { 15, 23, 3, 25, 6, 0 }, { 15, 22, 3, 25, 6, 0 }, + { 15, 21, 2, 25, 6, 0 }, { 15, 20, 2, 25, 6, 0 }, { 14, 19, 1, 25, 6, 0 }, { 14, 18, 1, 26, 6, 0 }, { 14, 17, 0, 26, 6, 0 }, + { 13, 16, 0, 26, 6, 0 }, { 13, 15, -1, 26, 6, 0 }, { 13, 14, -1, 26, 6, 0 }, { 12, 13, -2, 26, 6, 0 }, { 12, 12, -2, 26, 6, 0 }, + { 11, 11, -3, 26, 6, 0 }, { 11, 10, -3, 26, 6, 0 }, { 10, 9, -4, 26, 6, 0 }, { 10, 8, -4, 27, 6, 0 }, { 9, 7, -5, 27, 6, 0 }, + { 9, 6, -5, 27, 6, 0 }, { 8, 5, -6, 27, 6, 0 }, { 7, 4, -6, 27, 6, 0 }, { 7, 3, -7, 27, 6, 0 }, { 6, 2, -7, 27, 6, 0 }, + { 5, 1, -7, 27, 6, 0 }, { 4, 0, -8, 27, 6, 0 }, { 3, -1, -8, 28, 6, 0 }, { 3, -3, -8, 28, 6, 0 }, { 2, -4, -9, 28, 6, 0 }, + { 1, -5, -9, 28, 5, 3 }, { 0, -6, -10, 28, 5, 3 }, { -1, -7, -10, 29, 5, 3 }, { -2, -7, -10, 29, 5, 3 }, { -3, -8, -11, 29, 5, 3 }, + { -4, -9, -11, 29, 5, 3 }, { -5, -9, -11, 29, 5, 3 }, { -6, -10, -12, 29, 5, 3 }, { -7, -10, -12, 29, 5, 3 }, { -8, -11, -12, 29, 5, 3 }, + { -9, -11, -13, 29, 5, 3 }, { -10, -12, -13, 30, 5, 3 }, { -11, -12, -13, 30, 5, 3 }, { -12, -13, -13, 30, 5, 3 }, { -13, -13, -13, 30, 5, 3 }, + { -14, -13, -14, 30, 5, 3 }, { -15, -14, -14, 30, 5, 3 }, { -16, -14, -14, 30, 0, 4 }, { -17, -14, -14, 30, 0, 4 }, { -18, -15, -14, 30, 0, 4 }, + { -19, -15, -15, 30, 0, 4 }, { -20, -15, -15, 31, 0, 4 }, { -21, -15, -15, 31, 0, 4 }, { -22, -15, -15, 31, 0, 4 }, { -23, -15, -15, 31, 0, 4 }, + { -24, -16, -15, 31, 0, 4 }, { -25, -16, -16, 31, 0, 4 }, { -26, -16, -16, 31, 0, 4 }, { -27, -16, -16, 31, 0, 4 }, { -28, -16, -16, 0, 0, 4 }, + { -29, -16, -16, 0, 0, 4 }, { -30, -16, -16, 0, 0, 4 }, { -31, -16, -16, 0, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9221B2 = { - 311, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 4, 0, 2, 0 }, { 22, 16, 4, 0, 2, 0 }, - { 21, 15, 5, 0, 2, 0 }, { 20, 15, 5, 0, 2, 0 }, { 19, 15, 6, 0, 2, 0 }, { 18, 15, 6, 0, 2, 0 }, { 17, 15, 7, 0, 2, 0 }, - { 16, 15, 7, 0, 2, 0 }, { 15, 15, 8, 0, 2, 0 }, { 14, 15, 8, 0, 2, 0 }, { 13, 15, 9, 0, 2, 0 }, { 12, 15, 9, 0, 2, 0 }, - { 11, 14, 10, 0, 2, 0 }, { 10, 14, 10, 0, 2, 0 }, { 9, 14, 11, 0, 2, 0 }, { 8, 14, 11, 0, 2, 0 }, { 7, 14, 12, 0, 2, 0 }, - { 6, 14, 12, 0, 2, 0 }, { 5, 14, 13, 0, 2, 0 }, { 4, 14, 13, 0, 2, 0 }, { 3, 14, 14, 0, 2, 0 }, { 2, 14, 14, 0, 2, 0 }, - { 1, 13, 15, 0, 2, 0 }, { 0, 13, 15, 0, 2, 0 }, { -1, 13, 16, 0, 2, 0 }, { -2, 13, 16, 0, 2, 0 }, { -3, 13, 17, 0, 2, 0 }, - { -4, 13, 17, 0, 2, 0 }, { -5, 13, 18, 0, 2, 0 }, { -6, 13, 18, 0, 2, 0 }, { -7, 13, 19, 0, 2, 0 }, { -8, 12, 19, 0, 2, 0 }, - { -9, 12, 20, 0, 2, 0 }, { -10, 12, 21, 0, 2, 0 }, { -11, 12, 21, 0, 2, 0 }, { -12, 12, 22, 0, 2, 0 }, { -13, 12, 22, 0, 2, 0 }, - { -14, 12, 23, 0, 2, 0 }, { -15, 12, 24, 0, 2, 0 }, { -16, 12, 24, 0, 2, 0 }, { -17, 12, 25, 0, 2, 0 }, { -18, 11, 25, 0, 2, 0 }, - { -19, 11, 26, 0, 2, 0 }, { -20, 11, 27, 0, 2, 0 }, { -21, 11, 27, 0, 2, 0 }, { -22, 11, 28, 0, 2, 0 }, { -23, 11, 29, 0, 2, 0 }, - { -24, 11, 30, 0, 2, 0 }, { -25, 11, 30, 0, 2, 0 }, { -26, 11, 31, 0, 2, 0 }, { -27, 11, 32, 0, 2, 0 }, { -28, 10, 33, 0, 2, 0 }, - { -29, 10, 33, 0, 2, 0 }, { -30, 10, 34, 0, 2, 0 }, { -31, 10, 35, 0, 3, 0 }, { -32, 10, 36, 0, 3, 0 }, { -33, 10, 36, 0, 3, 0 }, - { -34, 10, 37, 0, 3, 0 }, { -35, 10, 38, 0, 3, 0 }, { -36, 10, 39, 0, 3, 0 }, { -37, 10, 40, 0, 3, 0 }, { -38, 9, 41, 0, 3, 0 }, - { -39, 9, 42, 0, 3, 0 }, { -40, 9, 42, 0, 3, 0 }, { -41, 9, 43, 0, 3, 0 }, { -42, 9, 44, 0, 3, 0 }, { -43, 9, 45, 0, 3, 0 }, - { -44, 9, 46, 0, 3, 0 }, { -45, 9, 47, 0, 3, 0 }, { -46, 9, 48, 0, 3, 0 }, { -47, 8, 49, 0, 3, 0 }, { -48, 8, 50, 0, 3, 0 }, - { -49, 8, 51, 0, 3, 0 }, { -50, 8, 52, 0, 3, 0 }, { -50, 8, 53, 0, 3, 0 }, { -51, 8, 54, 0, 3, 0 }, { -52, 8, 55, 0, 3, 0 }, - { -53, 8, 56, 0, 3, 0 }, { -54, 8, 57, 0, 3, 0 }, { -55, 8, 58, 0, 3, 0 }, { -56, 7, 59, 0, 3, 0 }, { -57, 7, 60, 0, 3, 0 }, - { -57, 7, 61, 0, 3, 0 }, { -58, 7, 62, 0, 3, 0 }, { -59, 7, 63, 0, 3, 0 }, { -59, 7, 64, 0, 3, 0 }, { -60, 7, 65, 0, 3, 0 }, - { -61, 7, 66, 0, 3, 0 }, { -61, 7, 67, 0, 3, 0 }, { -62, 7, 68, 0, 3, 0 }, { -63, 6, 69, 0, 3, 0 }, { -64, 6, 70, 0, 3, 0 }, - { -64, 6, 71, 0, 3, 0 }, { -65, 6, 72, 0, 3, 0 }, { -66, 6, 73, 0, 3, 0 }, { -66, 6, 74, 0, 3, 0 }, { -67, 6, 75, 0, 3, 0 }, - { -68, 6, 76, 0, 3, 0 }, { -68, 6, 77, 0, 3, 0 }, { -69, 5, 78, 0, 3, 0 }, { -69, 5, 79, 0, 3, 0 }, { -70, 5, 80, 0, 4, 0 }, - { -71, 5, 81, 0, 4, 0 }, { -71, 5, 82, 0, 4, 0 }, { -72, 5, 83, 0, 4, 0 }, { -72, 5, 84, 0, 4, 0 }, { -73, 5, 85, 0, 4, 0 }, - { -74, 5, 86, 0, 4, 0 }, { -74, 5, 87, 0, 4, 0 }, { -75, 4, 88, 0, 4, 0 }, { -75, 4, 89, 0, 4, 0 }, { -76, 4, 90, 0, 4, 0 }, - { -76, 4, 91, 0, 4, 0 }, { -77, 4, 92, 0, 4, 0 }, { -77, 4, 93, 0, 4, 0 }, { -78, 4, 94, 0, 4, 0 }, { -78, 4, 95, 0, 4, 0 }, - { -78, 4, 96, 0, 4, 0 }, { -79, 4, 97, 0, 4, 0 }, { -79, 3, 98, 0, 4, 0 }, { -80, 3, 99, 0, 4, 0 }, { -80, 3, 100, 0, 4, 0 }, - { -81, 3, 101, 0, 4, 0 }, { -81, 3, 102, 0, 4, 0 }, { -81, 3, 103, 0, 4, 0 }, { -82, 3, 104, 0, 4, 0 }, { -82, 3, 105, 0, 4, 0 }, - { -83, 3, 106, 0, 4, 0 }, { -83, 3, 107, 0, 4, 0 }, { -83, 2, 108, 0, 4, 0 }, { -84, 2, 109, 0, 4, 0 }, { -84, 2, 110, 0, 4, 0 }, - { -85, 2, 111, 0, 4, 0 }, { -85, 2, 112, 0, 4, 0 }, { -86, 2, 113, 0, 4, 0 }, { -86, 2, 114, 0, 4, 0 }, { -86, 2, 115, 0, 4, 0 }, - { -87, 2, 116, 0, 9, 0 }, { -87, 1, 117, 0, 9, 0 }, { -87, 1, 118, 0, 9, 0 }, { -87, 1, 119, 0, 9, 0 }, { -88, 1, 120, 0, 9, 0 }, - { -88, 1, 121, 0, 9, 0 }, { -88, 1, 122, 0, 9, 0 }, { -89, 1, 123, 0, 9, 0 }, { -89, 1, 124, 0, 9, 0 }, { -89, 1, 125, 0, 9, 0 }, - { -90, 1, 126, 0, 9, 0 }, { -90, 0, 127, 0, 9, 0 }, { -90, 0, 128, 0, 9, 0 }, { -90, 0, 129, 0, 9, 0 }, { -91, 0, 130, 0, 9, 0 }, - { -91, 0, 131, 0, 9, 0 }, { -91, 0, 132, 0, 9, 0 }, { -91, 0, 133, 0, 9, 0 }, { -91, 0, 134, 0, 9, 0 }, { -92, 0, 135, 0, 9, 0 }, - { -92, 0, 136, 0, 9, 0 }, { -92, -1, 137, 0, 9, 0 }, { -92, -1, 138, 0, 9, 0 }, { -92, -1, 139, 0, 9, 0 }, { -92, -1, 140, 0, 9, 0 }, - { -93, -1, 141, 0, 9, 0 }, { -93, -1, 142, 0, 9, 0 }, { -93, -1, 143, 0, 9, 0 }, { -93, -1, 144, 0, 9, 0 }, { -93, -1, 145, 0, 9, 0 }, - { -93, -2, 146, 0, 9, 0 }, { -94, -2, 147, 0, 9, 0 }, { -94, -2, 148, 0, 9, 0 }, { -94, -2, 149, 0, 10, 0 }, { -94, -2, 150, 0, 10, 0 }, - { -94, -2, 151, 0, 10, 0 }, { -94, -2, 152, 0, 10, 0 }, { -94, -2, 153, 0, 10, 0 }, { -94, -2, 154, 0, 10, 0 }, { -94, -2, 155, 0, 10, 0 }, - { -94, -3, 156, 0, 10, 0 }, { -94, -3, 157, 0, 10, 0 }, { -94, -3, 158, 0, 10, 0 }, { -94, -3, 159, 0, 10, 0 }, { -94, -3, 160, 0, 10, 0 }, - { -94, -3, 161, 0, 10, 0 }, { -94, -3, 162, 0, 10, 0 }, { -94, -3, 163, 0, 10, 0 }, { -94, -3, 164, 0, 10, 0 }, { -94, -3, 165, 0, 10, 0 }, - { -94, -4, 166, 0, 10, 0 }, { -94, -4, 167, 0, 10, 0 }, { -94, -4, 168, 0, 10, 0 }, { -94, -4, 169, 0, 10, 0 }, { -94, -4, 170, 0, 10, 0 }, - { -94, -4, 171, 0, 10, 0 }, { -94, -4, 172, 0, 10, 0 }, { -94, -4, 173, 0, 10, 0 }, { -94, -4, 174, 0, 10, 0 }, { -94, -4, 175, 0, 10, 0 }, - { -94, -5, 176, 0, 10, 0 }, { -94, -5, 177, 0, 10, 0 }, { -94, -5, 178, 0, 10, 0 }, { -94, -5, 179, 0, 10, 0 }, { -94, -5, 180, 0, 10, 0 }, - { -94, -5, 181, 0, 10, 0 }, { -94, -5, 182, 0, 10, 0 }, { -94, -5, 183, 0, 10, 0 }, { -94, -5, 184, 0, 10, 0 }, { -94, -6, 185, 0, 10, 0 }, - { -94, -6, 186, 0, 11, 0 }, { -94, -6, 187, 0, 11, 0 }, { -93, -6, 188, 0, 11, 0 }, { -93, -6, 189, 0, 11, 0 }, { -93, -6, 190, 0, 11, 0 }, - { -93, -6, 191, 0, 11, 0 }, { -93, -6, 192, 0, 11, 0 }, { -93, -6, 193, 0, 11, 0 }, { -93, -6, 194, 0, 11, 0 }, { -93, -7, 195, 0, 11, 0 }, - { -92, -7, 196, 0, 11, 0 }, { -92, -7, 197, 0, 11, 0 }, { -92, -7, 198, 0, 11, 0 }, { -92, -7, 199, 0, 11, 0 }, { -92, -7, 200, 0, 11, 0 }, - { -92, -7, 201, 0, 11, 0 }, { -91, -7, 202, 0, 11, 0 }, { -91, -7, 203, 0, 11, 0 }, { -91, -7, 204, 0, 11, 0 }, { -91, -8, 205, 0, 11, 0 }, - { -90, -8, 206, 0, 11, 0 }, { -90, -8, 207, 0, 11, 0 }, { -90, -8, 208, 0, 11, 0 }, { -90, -8, 209, 0, 11, 0 }, { -89, -8, 210, 0, 12, 0 }, - { -89, -8, 211, 0, 12, 0 }, { -89, -8, 212, 0, 12, 0 }, { -88, -8, 213, 0, 12, 0 }, { -88, -9, 214, 0, 12, 0 }, { -87, -9, 215, 0, 12, 0 }, - { -87, -9, 216, 0, 12, 0 }, { -87, -9, 217, 0, 12, 0 }, { -86, -9, 218, 0, 12, 0 }, { -86, -9, 219, 0, 12, 0 }, { -86, -9, 220, 0, 12, 0 }, - { -85, -9, 221, 0, 12, 0 }, { -85, -9, 222, 0, 12, 0 }, { -84, -9, 223, 0, 12, 0 }, { -84, -10, 224, 0, 12, 0 }, { -83, -10, 225, 0, 13, 0 }, - { -83, -10, 226, 0, 13, 0 }, { -82, -10, 227, 0, 13, 0 }, { -82, -10, 228, 0, 13, 0 }, { -81, -10, 229, 0, 13, 0 }, { -81, -10, 230, 0, 13, 0 }, - { -80, -10, 231, 0, 13, 0 }, { -80, -10, 232, 0, 13, 0 }, { -79, -10, 233, 0, 13, 0 }, { -78, -11, 234, 0, 13, 0 }, { -78, -11, 235, 0, 13, 0 }, - { -77, -11, 236, 0, 13, 0 }, { -76, -11, 237, 0, 13, 0 }, { -76, -11, 238, 0, 13, 0 }, { -75, -11, 239, 0, 13, 0 }, { -74, -11, 240, 0, 14, 0 }, - { -73, -11, 241, 0, 14, 0 }, { -73, -11, 242, 0, 14, 0 }, { -72, -11, 243, 0, 14, 0 }, { -71, -12, 244, 0, 14, 0 }, { -70, -12, 245, 0, 14, 0 }, - { -69, -12, 246, 0, 14, 0 }, { -68, -12, 247, 0, 14, 0 }, { -67, -12, 248, 0, 14, 0 }, { -66, -12, 249, 0, 14, 0 }, { -65, -12, 250, 0, 14, 0 }, - { -64, -12, 251, 0, 14, 0 }, { -63, -12, 252, 0, 14, 0 }, { -62, -13, 253, 0, 15, 0 }, { -61, -13, 253, 0, 15, 0 }, { -60, -13, 254, 0, 15, 0 }, - { -59, -13, 255, 0, 15, 0 }, { -58, -13, 256, 0, 15, 0 }, { -57, -13, 256, 0, 15, 0 }, { -56, -13, 257, 0, 15, 0 }, { -55, -13, 258, 0, 15, 0 }, - { -54, -13, 258, 0, 15, 0 }, { -53, -13, 259, 0, 15, 0 }, { -52, -14, 259, 0, 15, 0 }, { -51, -14, 260, 0, 15, 0 }, { -50, -14, 260, 0, 15, 0 }, - { -49, -14, 261, 0, 15, 0 }, { -48, -14, 261, 0, 15, 0 }, { -47, -14, 262, 0, 16, 0 }, { -46, -14, 262, 0, 16, 0 }, { -45, -14, 262, 0, 16, 0 }, - { -44, -14, 263, 0, 16, 0 }, { -43, -14, 263, 0, 16, 0 }, { -42, -15, 263, 0, 16, 0 }, { -41, -15, 263, 0, 16, 0 }, { -40, -15, 264, 0, 16, 0 }, - { -39, -15, 264, 0, 16, 0 }, { -38, -15, 264, 0, 16, 0 }, { -37, -15, 264, 0, 16, 0 }, { -36, -15, 264, 0, 16, 0 }, { -35, -15, 264, 0, 16, 0 }, - { -34, -15, 264, 0, 16, 0 }, + 311, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 4, 0, 2, 0 }, { 22, 16, 4, 0, 2, 0 }, + { 21, 15, 5, 0, 2, 0 }, { 20, 15, 5, 0, 2, 0 }, { 19, 15, 6, 0, 2, 0 }, { 18, 15, 6, 0, 2, 0 }, { 17, 15, 7, 0, 2, 0 }, + { 16, 15, 7, 0, 2, 0 }, { 15, 15, 8, 0, 2, 0 }, { 14, 15, 8, 0, 2, 0 }, { 13, 15, 9, 0, 2, 0 }, { 12, 15, 9, 0, 2, 0 }, + { 11, 14, 10, 0, 2, 0 }, { 10, 14, 10, 0, 2, 0 }, { 9, 14, 11, 0, 2, 0 }, { 8, 14, 11, 0, 2, 0 }, { 7, 14, 12, 0, 2, 0 }, + { 6, 14, 12, 0, 2, 0 }, { 5, 14, 13, 0, 2, 0 }, { 4, 14, 13, 0, 2, 0 }, { 3, 14, 14, 0, 2, 0 }, { 2, 14, 14, 0, 2, 0 }, + { 1, 13, 15, 0, 2, 0 }, { 0, 13, 15, 0, 2, 0 }, { -1, 13, 16, 0, 2, 0 }, { -2, 13, 16, 0, 2, 0 }, { -3, 13, 17, 0, 2, 0 }, + { -4, 13, 17, 0, 2, 0 }, { -5, 13, 18, 0, 2, 0 }, { -6, 13, 18, 0, 2, 0 }, { -7, 13, 19, 0, 2, 0 }, { -8, 12, 19, 0, 2, 0 }, + { -9, 12, 20, 0, 2, 0 }, { -10, 12, 21, 0, 2, 0 }, { -11, 12, 21, 0, 2, 0 }, { -12, 12, 22, 0, 2, 0 }, { -13, 12, 22, 0, 2, 0 }, + { -14, 12, 23, 0, 2, 0 }, { -15, 12, 24, 0, 2, 0 }, { -16, 12, 24, 0, 2, 0 }, { -17, 12, 25, 0, 2, 0 }, { -18, 11, 25, 0, 2, 0 }, + { -19, 11, 26, 0, 2, 0 }, { -20, 11, 27, 0, 2, 0 }, { -21, 11, 27, 0, 2, 0 }, { -22, 11, 28, 0, 2, 0 }, { -23, 11, 29, 0, 2, 0 }, + { -24, 11, 30, 0, 2, 0 }, { -25, 11, 30, 0, 2, 0 }, { -26, 11, 31, 0, 2, 0 }, { -27, 11, 32, 0, 2, 0 }, { -28, 10, 33, 0, 2, 0 }, + { -29, 10, 33, 0, 2, 0 }, { -30, 10, 34, 0, 2, 0 }, { -31, 10, 35, 0, 3, 0 }, { -32, 10, 36, 0, 3, 0 }, { -33, 10, 36, 0, 3, 0 }, + { -34, 10, 37, 0, 3, 0 }, { -35, 10, 38, 0, 3, 0 }, { -36, 10, 39, 0, 3, 0 }, { -37, 10, 40, 0, 3, 0 }, { -38, 9, 41, 0, 3, 0 }, + { -39, 9, 42, 0, 3, 0 }, { -40, 9, 42, 0, 3, 0 }, { -41, 9, 43, 0, 3, 0 }, { -42, 9, 44, 0, 3, 0 }, { -43, 9, 45, 0, 3, 0 }, + { -44, 9, 46, 0, 3, 0 }, { -45, 9, 47, 0, 3, 0 }, { -46, 9, 48, 0, 3, 0 }, { -47, 8, 49, 0, 3, 0 }, { -48, 8, 50, 0, 3, 0 }, + { -49, 8, 51, 0, 3, 0 }, { -50, 8, 52, 0, 3, 0 }, { -50, 8, 53, 0, 3, 0 }, { -51, 8, 54, 0, 3, 0 }, { -52, 8, 55, 0, 3, 0 }, + { -53, 8, 56, 0, 3, 0 }, { -54, 8, 57, 0, 3, 0 }, { -55, 8, 58, 0, 3, 0 }, { -56, 7, 59, 0, 3, 0 }, { -57, 7, 60, 0, 3, 0 }, + { -57, 7, 61, 0, 3, 0 }, { -58, 7, 62, 0, 3, 0 }, { -59, 7, 63, 0, 3, 0 }, { -59, 7, 64, 0, 3, 0 }, { -60, 7, 65, 0, 3, 0 }, + { -61, 7, 66, 0, 3, 0 }, { -61, 7, 67, 0, 3, 0 }, { -62, 7, 68, 0, 3, 0 }, { -63, 6, 69, 0, 3, 0 }, { -64, 6, 70, 0, 3, 0 }, + { -64, 6, 71, 0, 3, 0 }, { -65, 6, 72, 0, 3, 0 }, { -66, 6, 73, 0, 3, 0 }, { -66, 6, 74, 0, 3, 0 }, { -67, 6, 75, 0, 3, 0 }, + { -68, 6, 76, 0, 3, 0 }, { -68, 6, 77, 0, 3, 0 }, { -69, 5, 78, 0, 3, 0 }, { -69, 5, 79, 0, 3, 0 }, { -70, 5, 80, 0, 4, 0 }, + { -71, 5, 81, 0, 4, 0 }, { -71, 5, 82, 0, 4, 0 }, { -72, 5, 83, 0, 4, 0 }, { -72, 5, 84, 0, 4, 0 }, { -73, 5, 85, 0, 4, 0 }, + { -74, 5, 86, 0, 4, 0 }, { -74, 5, 87, 0, 4, 0 }, { -75, 4, 88, 0, 4, 0 }, { -75, 4, 89, 0, 4, 0 }, { -76, 4, 90, 0, 4, 0 }, + { -76, 4, 91, 0, 4, 0 }, { -77, 4, 92, 0, 4, 0 }, { -77, 4, 93, 0, 4, 0 }, { -78, 4, 94, 0, 4, 0 }, { -78, 4, 95, 0, 4, 0 }, + { -78, 4, 96, 0, 4, 0 }, { -79, 4, 97, 0, 4, 0 }, { -79, 3, 98, 0, 4, 0 }, { -80, 3, 99, 0, 4, 0 }, { -80, 3, 100, 0, 4, 0 }, + { -81, 3, 101, 0, 4, 0 }, { -81, 3, 102, 0, 4, 0 }, { -81, 3, 103, 0, 4, 0 }, { -82, 3, 104, 0, 4, 0 }, { -82, 3, 105, 0, 4, 0 }, + { -83, 3, 106, 0, 4, 0 }, { -83, 3, 107, 0, 4, 0 }, { -83, 2, 108, 0, 4, 0 }, { -84, 2, 109, 0, 4, 0 }, { -84, 2, 110, 0, 4, 0 }, + { -85, 2, 111, 0, 4, 0 }, { -85, 2, 112, 0, 4, 0 }, { -86, 2, 113, 0, 4, 0 }, { -86, 2, 114, 0, 4, 0 }, { -86, 2, 115, 0, 4, 0 }, + { -87, 2, 116, 0, 9, 0 }, { -87, 1, 117, 0, 9, 0 }, { -87, 1, 118, 0, 9, 0 }, { -87, 1, 119, 0, 9, 0 }, { -88, 1, 120, 0, 9, 0 }, + { -88, 1, 121, 0, 9, 0 }, { -88, 1, 122, 0, 9, 0 }, { -89, 1, 123, 0, 9, 0 }, { -89, 1, 124, 0, 9, 0 }, { -89, 1, 125, 0, 9, 0 }, + { -90, 1, 126, 0, 9, 0 }, { -90, 0, 127, 0, 9, 0 }, { -90, 0, 128, 0, 9, 0 }, { -90, 0, 129, 0, 9, 0 }, { -91, 0, 130, 0, 9, 0 }, + { -91, 0, 131, 0, 9, 0 }, { -91, 0, 132, 0, 9, 0 }, { -91, 0, 133, 0, 9, 0 }, { -91, 0, 134, 0, 9, 0 }, { -92, 0, 135, 0, 9, 0 }, + { -92, 0, 136, 0, 9, 0 }, { -92, -1, 137, 0, 9, 0 }, { -92, -1, 138, 0, 9, 0 }, { -92, -1, 139, 0, 9, 0 }, { -92, -1, 140, 0, 9, 0 }, + { -93, -1, 141, 0, 9, 0 }, { -93, -1, 142, 0, 9, 0 }, { -93, -1, 143, 0, 9, 0 }, { -93, -1, 144, 0, 9, 0 }, { -93, -1, 145, 0, 9, 0 }, + { -93, -2, 146, 0, 9, 0 }, { -94, -2, 147, 0, 9, 0 }, { -94, -2, 148, 0, 9, 0 }, { -94, -2, 149, 0, 10, 0 }, { -94, -2, 150, 0, 10, 0 }, + { -94, -2, 151, 0, 10, 0 }, { -94, -2, 152, 0, 10, 0 }, { -94, -2, 153, 0, 10, 0 }, { -94, -2, 154, 0, 10, 0 }, { -94, -2, 155, 0, 10, 0 }, + { -94, -3, 156, 0, 10, 0 }, { -94, -3, 157, 0, 10, 0 }, { -94, -3, 158, 0, 10, 0 }, { -94, -3, 159, 0, 10, 0 }, { -94, -3, 160, 0, 10, 0 }, + { -94, -3, 161, 0, 10, 0 }, { -94, -3, 162, 0, 10, 0 }, { -94, -3, 163, 0, 10, 0 }, { -94, -3, 164, 0, 10, 0 }, { -94, -3, 165, 0, 10, 0 }, + { -94, -4, 166, 0, 10, 0 }, { -94, -4, 167, 0, 10, 0 }, { -94, -4, 168, 0, 10, 0 }, { -94, -4, 169, 0, 10, 0 }, { -94, -4, 170, 0, 10, 0 }, + { -94, -4, 171, 0, 10, 0 }, { -94, -4, 172, 0, 10, 0 }, { -94, -4, 173, 0, 10, 0 }, { -94, -4, 174, 0, 10, 0 }, { -94, -4, 175, 0, 10, 0 }, + { -94, -5, 176, 0, 10, 0 }, { -94, -5, 177, 0, 10, 0 }, { -94, -5, 178, 0, 10, 0 }, { -94, -5, 179, 0, 10, 0 }, { -94, -5, 180, 0, 10, 0 }, + { -94, -5, 181, 0, 10, 0 }, { -94, -5, 182, 0, 10, 0 }, { -94, -5, 183, 0, 10, 0 }, { -94, -5, 184, 0, 10, 0 }, { -94, -6, 185, 0, 10, 0 }, + { -94, -6, 186, 0, 11, 0 }, { -94, -6, 187, 0, 11, 0 }, { -93, -6, 188, 0, 11, 0 }, { -93, -6, 189, 0, 11, 0 }, { -93, -6, 190, 0, 11, 0 }, + { -93, -6, 191, 0, 11, 0 }, { -93, -6, 192, 0, 11, 0 }, { -93, -6, 193, 0, 11, 0 }, { -93, -6, 194, 0, 11, 0 }, { -93, -7, 195, 0, 11, 0 }, + { -92, -7, 196, 0, 11, 0 }, { -92, -7, 197, 0, 11, 0 }, { -92, -7, 198, 0, 11, 0 }, { -92, -7, 199, 0, 11, 0 }, { -92, -7, 200, 0, 11, 0 }, + { -92, -7, 201, 0, 11, 0 }, { -91, -7, 202, 0, 11, 0 }, { -91, -7, 203, 0, 11, 0 }, { -91, -7, 204, 0, 11, 0 }, { -91, -8, 205, 0, 11, 0 }, + { -90, -8, 206, 0, 11, 0 }, { -90, -8, 207, 0, 11, 0 }, { -90, -8, 208, 0, 11, 0 }, { -90, -8, 209, 0, 11, 0 }, { -89, -8, 210, 0, 12, 0 }, + { -89, -8, 211, 0, 12, 0 }, { -89, -8, 212, 0, 12, 0 }, { -88, -8, 213, 0, 12, 0 }, { -88, -9, 214, 0, 12, 0 }, { -87, -9, 215, 0, 12, 0 }, + { -87, -9, 216, 0, 12, 0 }, { -87, -9, 217, 0, 12, 0 }, { -86, -9, 218, 0, 12, 0 }, { -86, -9, 219, 0, 12, 0 }, { -86, -9, 220, 0, 12, 0 }, + { -85, -9, 221, 0, 12, 0 }, { -85, -9, 222, 0, 12, 0 }, { -84, -9, 223, 0, 12, 0 }, { -84, -10, 224, 0, 12, 0 }, { -83, -10, 225, 0, 13, 0 }, + { -83, -10, 226, 0, 13, 0 }, { -82, -10, 227, 0, 13, 0 }, { -82, -10, 228, 0, 13, 0 }, { -81, -10, 229, 0, 13, 0 }, { -81, -10, 230, 0, 13, 0 }, + { -80, -10, 231, 0, 13, 0 }, { -80, -10, 232, 0, 13, 0 }, { -79, -10, 233, 0, 13, 0 }, { -78, -11, 234, 0, 13, 0 }, { -78, -11, 235, 0, 13, 0 }, + { -77, -11, 236, 0, 13, 0 }, { -76, -11, 237, 0, 13, 0 }, { -76, -11, 238, 0, 13, 0 }, { -75, -11, 239, 0, 13, 0 }, { -74, -11, 240, 0, 14, 0 }, + { -73, -11, 241, 0, 14, 0 }, { -73, -11, 242, 0, 14, 0 }, { -72, -11, 243, 0, 14, 0 }, { -71, -12, 244, 0, 14, 0 }, { -70, -12, 245, 0, 14, 0 }, + { -69, -12, 246, 0, 14, 0 }, { -68, -12, 247, 0, 14, 0 }, { -67, -12, 248, 0, 14, 0 }, { -66, -12, 249, 0, 14, 0 }, { -65, -12, 250, 0, 14, 0 }, + { -64, -12, 251, 0, 14, 0 }, { -63, -12, 252, 0, 14, 0 }, { -62, -13, 253, 0, 15, 0 }, { -61, -13, 253, 0, 15, 0 }, { -60, -13, 254, 0, 15, 0 }, + { -59, -13, 255, 0, 15, 0 }, { -58, -13, 256, 0, 15, 0 }, { -57, -13, 256, 0, 15, 0 }, { -56, -13, 257, 0, 15, 0 }, { -55, -13, 258, 0, 15, 0 }, + { -54, -13, 258, 0, 15, 0 }, { -53, -13, 259, 0, 15, 0 }, { -52, -14, 259, 0, 15, 0 }, { -51, -14, 260, 0, 15, 0 }, { -50, -14, 260, 0, 15, 0 }, + { -49, -14, 261, 0, 15, 0 }, { -48, -14, 261, 0, 15, 0 }, { -47, -14, 262, 0, 16, 0 }, { -46, -14, 262, 0, 16, 0 }, { -45, -14, 262, 0, 16, 0 }, + { -44, -14, 263, 0, 16, 0 }, { -43, -14, 263, 0, 16, 0 }, { -42, -15, 263, 0, 16, 0 }, { -41, -15, 263, 0, 16, 0 }, { -40, -15, 264, 0, 16, 0 }, + { -39, -15, 264, 0, 16, 0 }, { -38, -15, 264, 0, 16, 0 }, { -37, -15, 264, 0, 16, 0 }, { -36, -15, 264, 0, 16, 0 }, { -35, -15, 264, 0, 16, 0 }, + { -34, -15, 264, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9237A6 = { - 311, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 2, 0 }, { 16, 9, 4, 8, 2, 0 }, - { 15, 10, 5, 8, 2, 0 }, { 15, 11, 5, 8, 2, 0 }, { 15, 12, 6, 8, 2, 0 }, { 15, 13, 6, 8, 2, 0 }, { 15, 14, 7, 8, 2, 0 }, - { 15, 15, 7, 8, 2, 0 }, { 15, 16, 8, 8, 2, 0 }, { 15, 17, 8, 8, 2, 0 }, { 15, 18, 9, 8, 2, 0 }, { 15, 19, 9, 8, 2, 0 }, - { 14, 20, 10, 8, 2, 0 }, { 14, 21, 10, 8, 2, 0 }, { 14, 22, 11, 8, 2, 0 }, { 14, 23, 11, 8, 2, 0 }, { 14, 24, 12, 8, 2, 0 }, - { 14, 25, 12, 8, 2, 0 }, { 14, 26, 13, 8, 2, 0 }, { 14, 27, 13, 8, 2, 0 }, { 14, 28, 14, 8, 2, 0 }, { 14, 29, 14, 8, 2, 0 }, - { 13, 30, 15, 8, 2, 0 }, { 13, 31, 15, 8, 2, 0 }, { 13, 32, 16, 8, 2, 0 }, { 13, 33, 16, 8, 2, 0 }, { 13, 34, 17, 8, 2, 0 }, - { 13, 35, 17, 8, 2, 0 }, { 13, 36, 18, 8, 2, 0 }, { 13, 37, 18, 8, 2, 0 }, { 13, 38, 19, 8, 2, 0 }, { 12, 39, 19, 8, 2, 0 }, - { 12, 40, 20, 8, 2, 0 }, { 12, 41, 21, 8, 2, 0 }, { 12, 42, 21, 8, 2, 0 }, { 12, 43, 22, 8, 2, 0 }, { 12, 44, 22, 8, 2, 0 }, - { 12, 45, 23, 8, 2, 0 }, { 12, 46, 24, 8, 2, 0 }, { 12, 47, 24, 8, 2, 0 }, { 12, 48, 25, 8, 2, 0 }, { 11, 49, 25, 8, 2, 0 }, - { 11, 50, 26, 8, 2, 0 }, { 11, 51, 27, 8, 2, 0 }, { 11, 52, 27, 8, 2, 0 }, { 11, 53, 28, 8, 2, 0 }, { 11, 54, 29, 8, 2, 0 }, - { 11, 55, 30, 8, 2, 0 }, { 11, 56, 30, 8, 2, 0 }, { 11, 57, 31, 8, 2, 0 }, { 11, 58, 32, 8, 2, 0 }, { 10, 59, 33, 8, 2, 0 }, - { 10, 60, 33, 8, 2, 0 }, { 10, 61, 34, 8, 2, 0 }, { 10, 62, 35, 8, 3, 0 }, { 10, 63, 36, 8, 3, 0 }, { 10, 64, 36, 8, 3, 0 }, - { 10, 65, 37, 8, 3, 0 }, { 10, 66, 38, 8, 3, 0 }, { 10, 67, 39, 8, 3, 0 }, { 10, 68, 40, 8, 3, 0 }, { 9, 69, 41, 8, 3, 0 }, - { 9, 70, 42, 8, 3, 0 }, { 9, 71, 42, 8, 3, 0 }, { 9, 72, 43, 8, 3, 0 }, { 9, 73, 44, 8, 3, 0 }, { 9, 74, 45, 8, 3, 0 }, - { 9, 75, 46, 8, 3, 0 }, { 9, 76, 47, 8, 3, 0 }, { 9, 77, 48, 8, 3, 0 }, { 8, 78, 49, 8, 3, 0 }, { 8, 79, 50, 8, 3, 0 }, - { 8, 80, 51, 8, 3, 0 }, { 8, 81, 52, 8, 3, 0 }, { 8, 81, 53, 8, 3, 0 }, { 8, 82, 54, 8, 3, 0 }, { 8, 83, 55, 8, 3, 0 }, - { 8, 84, 56, 8, 3, 0 }, { 8, 85, 57, 8, 3, 0 }, { 8, 86, 58, 8, 3, 0 }, { 7, 87, 59, 8, 3, 0 }, { 7, 88, 60, 8, 3, 0 }, - { 7, 88, 61, 8, 3, 0 }, { 7, 89, 62, 8, 3, 0 }, { 7, 90, 63, 8, 3, 0 }, { 7, 90, 64, 8, 3, 0 }, { 7, 91, 65, 8, 3, 0 }, - { 7, 92, 66, 8, 3, 0 }, { 7, 92, 67, 8, 3, 0 }, { 7, 93, 68, 8, 3, 0 }, { 6, 94, 69, 8, 3, 0 }, { 6, 95, 70, 8, 3, 0 }, - { 6, 95, 71, 8, 3, 0 }, { 6, 96, 72, 8, 3, 0 }, { 6, 97, 73, 8, 3, 0 }, { 6, 97, 74, 8, 3, 0 }, { 6, 98, 75, 8, 3, 0 }, - { 6, 99, 76, 8, 3, 0 }, { 6, 99, 77, 8, 3, 0 }, { 5, 100, 78, 8, 3, 0 }, { 5, 100, 79, 8, 3, 0 }, { 5, 101, 80, 8, 4, 0 }, - { 5, 102, 81, 8, 4, 0 }, { 5, 102, 82, 8, 4, 0 }, { 5, 103, 83, 8, 4, 0 }, { 5, 103, 84, 8, 4, 0 }, { 5, 104, 85, 8, 4, 0 }, - { 5, 105, 86, 8, 4, 0 }, { 5, 105, 87, 8, 4, 0 }, { 4, 106, 88, 8, 4, 0 }, { 4, 106, 89, 8, 4, 0 }, { 4, 107, 90, 8, 4, 0 }, - { 4, 107, 91, 8, 4, 0 }, { 4, 108, 92, 8, 4, 0 }, { 4, 108, 93, 8, 4, 0 }, { 4, 109, 94, 8, 4, 0 }, { 4, 109, 95, 8, 4, 0 }, - { 4, 109, 96, 8, 4, 0 }, { 4, 110, 97, 8, 4, 0 }, { 3, 110, 98, 8, 4, 0 }, { 3, 111, 99, 8, 4, 0 }, { 3, 111, 100, 8, 4, 0 }, - { 3, 112, 101, 8, 4, 0 }, { 3, 112, 102, 8, 4, 0 }, { 3, 112, 103, 8, 4, 0 }, { 3, 113, 104, 8, 4, 0 }, { 3, 113, 105, 8, 4, 0 }, - { 3, 114, 106, 8, 4, 0 }, { 3, 114, 107, 8, 4, 0 }, { 2, 114, 108, 8, 4, 0 }, { 2, 115, 109, 8, 4, 0 }, { 2, 115, 110, 8, 4, 0 }, - { 2, 116, 111, 8, 4, 0 }, { 2, 116, 112, 8, 4, 0 }, { 2, 117, 113, 8, 4, 0 }, { 2, 117, 114, 8, 4, 0 }, { 2, 117, 115, 8, 4, 0 }, - { 2, 118, 116, 8, 9, 0 }, { 1, 118, 117, 8, 9, 0 }, { 1, 118, 118, 8, 9, 0 }, { 1, 118, 119, 8, 9, 0 }, { 1, 119, 120, 8, 9, 0 }, - { 1, 119, 121, 8, 9, 0 }, { 1, 119, 122, 8, 9, 0 }, { 1, 120, 123, 8, 9, 0 }, { 1, 120, 124, 8, 9, 0 }, { 1, 120, 125, 8, 9, 0 }, - { 1, 121, 126, 8, 9, 0 }, { 0, 121, 127, 8, 9, 0 }, { 0, 121, 128, 8, 9, 0 }, { 0, 121, 129, 8, 9, 0 }, { 0, 122, 130, 8, 9, 0 }, - { 0, 122, 131, 8, 9, 0 }, { 0, 122, 132, 8, 9, 0 }, { 0, 122, 133, 8, 9, 0 }, { 0, 122, 134, 8, 9, 0 }, { 0, 123, 135, 8, 9, 0 }, - { 0, 123, 136, 8, 9, 0 }, { -1, 123, 137, 8, 9, 0 }, { -1, 123, 138, 8, 9, 0 }, { -1, 123, 139, 8, 9, 0 }, { -1, 123, 140, 8, 9, 0 }, - { -1, 124, 141, 8, 9, 0 }, { -1, 124, 142, 8, 9, 0 }, { -1, 124, 143, 8, 9, 0 }, { -1, 124, 144, 8, 9, 0 }, { -1, 124, 145, 8, 9, 0 }, - { -2, 124, 146, 8, 9, 0 }, { -2, 125, 147, 8, 9, 0 }, { -2, 125, 148, 8, 9, 0 }, { -2, 125, 149, 8, 10, 0 }, { -2, 125, 150, 8, 10, 0 }, - { -2, 125, 151, 8, 10, 0 }, { -2, 125, 152, 8, 10, 0 }, { -2, 125, 153, 8, 10, 0 }, { -2, 125, 154, 8, 10, 0 }, { -2, 125, 155, 8, 10, 0 }, - { -3, 125, 156, 8, 10, 0 }, { -3, 125, 157, 8, 10, 0 }, { -3, 125, 158, 8, 10, 0 }, { -3, 125, 159, 8, 10, 0 }, { -3, 125, 160, 8, 10, 0 }, - { -3, 125, 161, 8, 10, 0 }, { -3, 125, 162, 8, 10, 0 }, { -3, 125, 163, 8, 10, 0 }, { -3, 125, 164, 8, 10, 0 }, { -3, 125, 165, 8, 10, 0 }, - { -4, 125, 166, 8, 10, 0 }, { -4, 125, 167, 8, 10, 0 }, { -4, 125, 168, 8, 10, 0 }, { -4, 125, 169, 8, 10, 0 }, { -4, 125, 170, 8, 10, 0 }, - { -4, 125, 171, 8, 10, 0 }, { -4, 125, 172, 8, 10, 0 }, { -4, 125, 173, 8, 10, 0 }, { -4, 125, 174, 8, 10, 0 }, { -4, 125, 175, 8, 10, 0 }, - { -5, 125, 176, 8, 10, 0 }, { -5, 125, 177, 8, 10, 0 }, { -5, 125, 178, 8, 10, 0 }, { -5, 125, 179, 8, 10, 0 }, { -5, 125, 180, 8, 10, 0 }, - { -5, 125, 181, 8, 10, 0 }, { -5, 125, 182, 8, 10, 0 }, { -5, 125, 183, 8, 10, 0 }, { -5, 125, 184, 8, 10, 0 }, { -6, 125, 185, 8, 10, 0 }, - { -6, 125, 186, 8, 11, 0 }, { -6, 125, 187, 8, 11, 0 }, { -6, 124, 188, 8, 11, 0 }, { -6, 124, 189, 8, 11, 0 }, { -6, 124, 190, 8, 11, 0 }, - { -6, 124, 191, 8, 11, 0 }, { -6, 124, 192, 8, 11, 0 }, { -6, 124, 193, 8, 11, 0 }, { -6, 124, 194, 8, 11, 0 }, { -7, 124, 195, 8, 11, 0 }, - { -7, 123, 196, 8, 11, 0 }, { -7, 123, 197, 8, 11, 0 }, { -7, 123, 198, 8, 11, 0 }, { -7, 123, 199, 8, 11, 0 }, { -7, 123, 200, 8, 11, 0 }, - { -7, 123, 201, 8, 11, 0 }, { -7, 122, 202, 8, 11, 0 }, { -7, 122, 203, 8, 11, 0 }, { -7, 122, 204, 8, 11, 0 }, { -8, 122, 205, 8, 11, 0 }, - { -8, 121, 206, 8, 11, 0 }, { -8, 121, 207, 8, 11, 0 }, { -8, 121, 208, 8, 11, 0 }, { -8, 121, 209, 8, 11, 0 }, { -8, 120, 210, 8, 12, 0 }, - { -8, 120, 211, 8, 12, 0 }, { -8, 120, 212, 8, 12, 0 }, { -8, 119, 213, 8, 12, 0 }, { -9, 119, 214, 8, 12, 0 }, { -9, 118, 215, 8, 12, 0 }, - { -9, 118, 216, 8, 12, 0 }, { -9, 118, 217, 8, 12, 0 }, { -9, 117, 218, 8, 12, 0 }, { -9, 117, 219, 8, 12, 0 }, { -9, 117, 220, 8, 12, 0 }, - { -9, 116, 221, 8, 12, 0 }, { -9, 116, 222, 8, 12, 0 }, { -9, 115, 223, 8, 12, 0 }, { -10, 115, 224, 8, 12, 0 }, { -10, 114, 225, 8, 13, 0 }, - { -10, 114, 226, 8, 13, 0 }, { -10, 113, 227, 8, 13, 0 }, { -10, 113, 228, 8, 13, 0 }, { -10, 112, 229, 8, 13, 0 }, { -10, 112, 230, 8, 13, 0 }, - { -10, 111, 231, 8, 13, 0 }, { -10, 111, 232, 8, 13, 0 }, { -10, 110, 233, 8, 13, 0 }, { -11, 109, 234, 8, 13, 0 }, { -11, 109, 235, 8, 13, 0 }, - { -11, 108, 236, 8, 13, 0 }, { -11, 107, 237, 8, 13, 0 }, { -11, 107, 238, 8, 13, 0 }, { -11, 106, 239, 8, 13, 0 }, { -11, 105, 240, 8, 14, 0 }, - { -11, 104, 241, 8, 14, 0 }, { -11, 104, 242, 8, 14, 0 }, { -11, 103, 243, 8, 14, 0 }, { -12, 102, 244, 8, 14, 0 }, { -12, 101, 245, 8, 14, 0 }, - { -12, 100, 246, 8, 14, 0 }, { -12, 99, 247, 8, 14, 0 }, { -12, 98, 248, 8, 14, 0 }, { -12, 97, 249, 8, 14, 0 }, { -12, 96, 250, 8, 14, 0 }, - { -12, 95, 251, 8, 14, 0 }, { -12, 94, 252, 8, 14, 0 }, { -13, 93, 253, 8, 15, 0 }, { -13, 92, 253, 8, 15, 0 }, { -13, 91, 254, 8, 15, 0 }, - { -13, 90, 255, 8, 15, 0 }, { -13, 89, 256, 8, 15, 0 }, { -13, 88, 256, 8, 15, 0 }, { -13, 87, 257, 8, 15, 0 }, { -13, 86, 258, 8, 15, 0 }, - { -13, 85, 258, 8, 15, 0 }, { -13, 84, 259, 8, 15, 0 }, { -14, 83, 259, 8, 15, 0 }, { -14, 82, 260, 8, 15, 0 }, { -14, 81, 260, 8, 15, 0 }, - { -14, 80, 261, 8, 15, 0 }, { -14, 79, 261, 8, 15, 0 }, { -14, 78, 262, 8, 16, 0 }, { -14, 77, 262, 8, 16, 0 }, { -14, 76, 262, 8, 16, 0 }, - { -14, 75, 263, 8, 16, 0 }, { -14, 74, 263, 8, 16, 0 }, { -15, 73, 263, 8, 16, 0 }, { -15, 72, 263, 8, 16, 0 }, { -15, 71, 264, 8, 16, 0 }, - { -15, 70, 264, 8, 16, 0 }, { -15, 69, 264, 8, 16, 0 }, { -15, 68, 264, 8, 16, 0 }, { -15, 67, 264, 8, 16, 0 }, { -15, 66, 264, 8, 16, 0 }, - { -15, 65, 264, 8, 16, 0 }, + 311, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 2, 0 }, { 16, 9, 4, 8, 2, 0 }, + { 15, 10, 5, 8, 2, 0 }, { 15, 11, 5, 8, 2, 0 }, { 15, 12, 6, 8, 2, 0 }, { 15, 13, 6, 8, 2, 0 }, { 15, 14, 7, 8, 2, 0 }, + { 15, 15, 7, 8, 2, 0 }, { 15, 16, 8, 8, 2, 0 }, { 15, 17, 8, 8, 2, 0 }, { 15, 18, 9, 8, 2, 0 }, { 15, 19, 9, 8, 2, 0 }, + { 14, 20, 10, 8, 2, 0 }, { 14, 21, 10, 8, 2, 0 }, { 14, 22, 11, 8, 2, 0 }, { 14, 23, 11, 8, 2, 0 }, { 14, 24, 12, 8, 2, 0 }, + { 14, 25, 12, 8, 2, 0 }, { 14, 26, 13, 8, 2, 0 }, { 14, 27, 13, 8, 2, 0 }, { 14, 28, 14, 8, 2, 0 }, { 14, 29, 14, 8, 2, 0 }, + { 13, 30, 15, 8, 2, 0 }, { 13, 31, 15, 8, 2, 0 }, { 13, 32, 16, 8, 2, 0 }, { 13, 33, 16, 8, 2, 0 }, { 13, 34, 17, 8, 2, 0 }, + { 13, 35, 17, 8, 2, 0 }, { 13, 36, 18, 8, 2, 0 }, { 13, 37, 18, 8, 2, 0 }, { 13, 38, 19, 8, 2, 0 }, { 12, 39, 19, 8, 2, 0 }, + { 12, 40, 20, 8, 2, 0 }, { 12, 41, 21, 8, 2, 0 }, { 12, 42, 21, 8, 2, 0 }, { 12, 43, 22, 8, 2, 0 }, { 12, 44, 22, 8, 2, 0 }, + { 12, 45, 23, 8, 2, 0 }, { 12, 46, 24, 8, 2, 0 }, { 12, 47, 24, 8, 2, 0 }, { 12, 48, 25, 8, 2, 0 }, { 11, 49, 25, 8, 2, 0 }, + { 11, 50, 26, 8, 2, 0 }, { 11, 51, 27, 8, 2, 0 }, { 11, 52, 27, 8, 2, 0 }, { 11, 53, 28, 8, 2, 0 }, { 11, 54, 29, 8, 2, 0 }, + { 11, 55, 30, 8, 2, 0 }, { 11, 56, 30, 8, 2, 0 }, { 11, 57, 31, 8, 2, 0 }, { 11, 58, 32, 8, 2, 0 }, { 10, 59, 33, 8, 2, 0 }, + { 10, 60, 33, 8, 2, 0 }, { 10, 61, 34, 8, 2, 0 }, { 10, 62, 35, 8, 3, 0 }, { 10, 63, 36, 8, 3, 0 }, { 10, 64, 36, 8, 3, 0 }, + { 10, 65, 37, 8, 3, 0 }, { 10, 66, 38, 8, 3, 0 }, { 10, 67, 39, 8, 3, 0 }, { 10, 68, 40, 8, 3, 0 }, { 9, 69, 41, 8, 3, 0 }, + { 9, 70, 42, 8, 3, 0 }, { 9, 71, 42, 8, 3, 0 }, { 9, 72, 43, 8, 3, 0 }, { 9, 73, 44, 8, 3, 0 }, { 9, 74, 45, 8, 3, 0 }, + { 9, 75, 46, 8, 3, 0 }, { 9, 76, 47, 8, 3, 0 }, { 9, 77, 48, 8, 3, 0 }, { 8, 78, 49, 8, 3, 0 }, { 8, 79, 50, 8, 3, 0 }, + { 8, 80, 51, 8, 3, 0 }, { 8, 81, 52, 8, 3, 0 }, { 8, 81, 53, 8, 3, 0 }, { 8, 82, 54, 8, 3, 0 }, { 8, 83, 55, 8, 3, 0 }, + { 8, 84, 56, 8, 3, 0 }, { 8, 85, 57, 8, 3, 0 }, { 8, 86, 58, 8, 3, 0 }, { 7, 87, 59, 8, 3, 0 }, { 7, 88, 60, 8, 3, 0 }, + { 7, 88, 61, 8, 3, 0 }, { 7, 89, 62, 8, 3, 0 }, { 7, 90, 63, 8, 3, 0 }, { 7, 90, 64, 8, 3, 0 }, { 7, 91, 65, 8, 3, 0 }, + { 7, 92, 66, 8, 3, 0 }, { 7, 92, 67, 8, 3, 0 }, { 7, 93, 68, 8, 3, 0 }, { 6, 94, 69, 8, 3, 0 }, { 6, 95, 70, 8, 3, 0 }, + { 6, 95, 71, 8, 3, 0 }, { 6, 96, 72, 8, 3, 0 }, { 6, 97, 73, 8, 3, 0 }, { 6, 97, 74, 8, 3, 0 }, { 6, 98, 75, 8, 3, 0 }, + { 6, 99, 76, 8, 3, 0 }, { 6, 99, 77, 8, 3, 0 }, { 5, 100, 78, 8, 3, 0 }, { 5, 100, 79, 8, 3, 0 }, { 5, 101, 80, 8, 4, 0 }, + { 5, 102, 81, 8, 4, 0 }, { 5, 102, 82, 8, 4, 0 }, { 5, 103, 83, 8, 4, 0 }, { 5, 103, 84, 8, 4, 0 }, { 5, 104, 85, 8, 4, 0 }, + { 5, 105, 86, 8, 4, 0 }, { 5, 105, 87, 8, 4, 0 }, { 4, 106, 88, 8, 4, 0 }, { 4, 106, 89, 8, 4, 0 }, { 4, 107, 90, 8, 4, 0 }, + { 4, 107, 91, 8, 4, 0 }, { 4, 108, 92, 8, 4, 0 }, { 4, 108, 93, 8, 4, 0 }, { 4, 109, 94, 8, 4, 0 }, { 4, 109, 95, 8, 4, 0 }, + { 4, 109, 96, 8, 4, 0 }, { 4, 110, 97, 8, 4, 0 }, { 3, 110, 98, 8, 4, 0 }, { 3, 111, 99, 8, 4, 0 }, { 3, 111, 100, 8, 4, 0 }, + { 3, 112, 101, 8, 4, 0 }, { 3, 112, 102, 8, 4, 0 }, { 3, 112, 103, 8, 4, 0 }, { 3, 113, 104, 8, 4, 0 }, { 3, 113, 105, 8, 4, 0 }, + { 3, 114, 106, 8, 4, 0 }, { 3, 114, 107, 8, 4, 0 }, { 2, 114, 108, 8, 4, 0 }, { 2, 115, 109, 8, 4, 0 }, { 2, 115, 110, 8, 4, 0 }, + { 2, 116, 111, 8, 4, 0 }, { 2, 116, 112, 8, 4, 0 }, { 2, 117, 113, 8, 4, 0 }, { 2, 117, 114, 8, 4, 0 }, { 2, 117, 115, 8, 4, 0 }, + { 2, 118, 116, 8, 9, 0 }, { 1, 118, 117, 8, 9, 0 }, { 1, 118, 118, 8, 9, 0 }, { 1, 118, 119, 8, 9, 0 }, { 1, 119, 120, 8, 9, 0 }, + { 1, 119, 121, 8, 9, 0 }, { 1, 119, 122, 8, 9, 0 }, { 1, 120, 123, 8, 9, 0 }, { 1, 120, 124, 8, 9, 0 }, { 1, 120, 125, 8, 9, 0 }, + { 1, 121, 126, 8, 9, 0 }, { 0, 121, 127, 8, 9, 0 }, { 0, 121, 128, 8, 9, 0 }, { 0, 121, 129, 8, 9, 0 }, { 0, 122, 130, 8, 9, 0 }, + { 0, 122, 131, 8, 9, 0 }, { 0, 122, 132, 8, 9, 0 }, { 0, 122, 133, 8, 9, 0 }, { 0, 122, 134, 8, 9, 0 }, { 0, 123, 135, 8, 9, 0 }, + { 0, 123, 136, 8, 9, 0 }, { -1, 123, 137, 8, 9, 0 }, { -1, 123, 138, 8, 9, 0 }, { -1, 123, 139, 8, 9, 0 }, { -1, 123, 140, 8, 9, 0 }, + { -1, 124, 141, 8, 9, 0 }, { -1, 124, 142, 8, 9, 0 }, { -1, 124, 143, 8, 9, 0 }, { -1, 124, 144, 8, 9, 0 }, { -1, 124, 145, 8, 9, 0 }, + { -2, 124, 146, 8, 9, 0 }, { -2, 125, 147, 8, 9, 0 }, { -2, 125, 148, 8, 9, 0 }, { -2, 125, 149, 8, 10, 0 }, { -2, 125, 150, 8, 10, 0 }, + { -2, 125, 151, 8, 10, 0 }, { -2, 125, 152, 8, 10, 0 }, { -2, 125, 153, 8, 10, 0 }, { -2, 125, 154, 8, 10, 0 }, { -2, 125, 155, 8, 10, 0 }, + { -3, 125, 156, 8, 10, 0 }, { -3, 125, 157, 8, 10, 0 }, { -3, 125, 158, 8, 10, 0 }, { -3, 125, 159, 8, 10, 0 }, { -3, 125, 160, 8, 10, 0 }, + { -3, 125, 161, 8, 10, 0 }, { -3, 125, 162, 8, 10, 0 }, { -3, 125, 163, 8, 10, 0 }, { -3, 125, 164, 8, 10, 0 }, { -3, 125, 165, 8, 10, 0 }, + { -4, 125, 166, 8, 10, 0 }, { -4, 125, 167, 8, 10, 0 }, { -4, 125, 168, 8, 10, 0 }, { -4, 125, 169, 8, 10, 0 }, { -4, 125, 170, 8, 10, 0 }, + { -4, 125, 171, 8, 10, 0 }, { -4, 125, 172, 8, 10, 0 }, { -4, 125, 173, 8, 10, 0 }, { -4, 125, 174, 8, 10, 0 }, { -4, 125, 175, 8, 10, 0 }, + { -5, 125, 176, 8, 10, 0 }, { -5, 125, 177, 8, 10, 0 }, { -5, 125, 178, 8, 10, 0 }, { -5, 125, 179, 8, 10, 0 }, { -5, 125, 180, 8, 10, 0 }, + { -5, 125, 181, 8, 10, 0 }, { -5, 125, 182, 8, 10, 0 }, { -5, 125, 183, 8, 10, 0 }, { -5, 125, 184, 8, 10, 0 }, { -6, 125, 185, 8, 10, 0 }, + { -6, 125, 186, 8, 11, 0 }, { -6, 125, 187, 8, 11, 0 }, { -6, 124, 188, 8, 11, 0 }, { -6, 124, 189, 8, 11, 0 }, { -6, 124, 190, 8, 11, 0 }, + { -6, 124, 191, 8, 11, 0 }, { -6, 124, 192, 8, 11, 0 }, { -6, 124, 193, 8, 11, 0 }, { -6, 124, 194, 8, 11, 0 }, { -7, 124, 195, 8, 11, 0 }, + { -7, 123, 196, 8, 11, 0 }, { -7, 123, 197, 8, 11, 0 }, { -7, 123, 198, 8, 11, 0 }, { -7, 123, 199, 8, 11, 0 }, { -7, 123, 200, 8, 11, 0 }, + { -7, 123, 201, 8, 11, 0 }, { -7, 122, 202, 8, 11, 0 }, { -7, 122, 203, 8, 11, 0 }, { -7, 122, 204, 8, 11, 0 }, { -8, 122, 205, 8, 11, 0 }, + { -8, 121, 206, 8, 11, 0 }, { -8, 121, 207, 8, 11, 0 }, { -8, 121, 208, 8, 11, 0 }, { -8, 121, 209, 8, 11, 0 }, { -8, 120, 210, 8, 12, 0 }, + { -8, 120, 211, 8, 12, 0 }, { -8, 120, 212, 8, 12, 0 }, { -8, 119, 213, 8, 12, 0 }, { -9, 119, 214, 8, 12, 0 }, { -9, 118, 215, 8, 12, 0 }, + { -9, 118, 216, 8, 12, 0 }, { -9, 118, 217, 8, 12, 0 }, { -9, 117, 218, 8, 12, 0 }, { -9, 117, 219, 8, 12, 0 }, { -9, 117, 220, 8, 12, 0 }, + { -9, 116, 221, 8, 12, 0 }, { -9, 116, 222, 8, 12, 0 }, { -9, 115, 223, 8, 12, 0 }, { -10, 115, 224, 8, 12, 0 }, { -10, 114, 225, 8, 13, 0 }, + { -10, 114, 226, 8, 13, 0 }, { -10, 113, 227, 8, 13, 0 }, { -10, 113, 228, 8, 13, 0 }, { -10, 112, 229, 8, 13, 0 }, { -10, 112, 230, 8, 13, 0 }, + { -10, 111, 231, 8, 13, 0 }, { -10, 111, 232, 8, 13, 0 }, { -10, 110, 233, 8, 13, 0 }, { -11, 109, 234, 8, 13, 0 }, { -11, 109, 235, 8, 13, 0 }, + { -11, 108, 236, 8, 13, 0 }, { -11, 107, 237, 8, 13, 0 }, { -11, 107, 238, 8, 13, 0 }, { -11, 106, 239, 8, 13, 0 }, { -11, 105, 240, 8, 14, 0 }, + { -11, 104, 241, 8, 14, 0 }, { -11, 104, 242, 8, 14, 0 }, { -11, 103, 243, 8, 14, 0 }, { -12, 102, 244, 8, 14, 0 }, { -12, 101, 245, 8, 14, 0 }, + { -12, 100, 246, 8, 14, 0 }, { -12, 99, 247, 8, 14, 0 }, { -12, 98, 248, 8, 14, 0 }, { -12, 97, 249, 8, 14, 0 }, { -12, 96, 250, 8, 14, 0 }, + { -12, 95, 251, 8, 14, 0 }, { -12, 94, 252, 8, 14, 0 }, { -13, 93, 253, 8, 15, 0 }, { -13, 92, 253, 8, 15, 0 }, { -13, 91, 254, 8, 15, 0 }, + { -13, 90, 255, 8, 15, 0 }, { -13, 89, 256, 8, 15, 0 }, { -13, 88, 256, 8, 15, 0 }, { -13, 87, 257, 8, 15, 0 }, { -13, 86, 258, 8, 15, 0 }, + { -13, 85, 258, 8, 15, 0 }, { -13, 84, 259, 8, 15, 0 }, { -14, 83, 259, 8, 15, 0 }, { -14, 82, 260, 8, 15, 0 }, { -14, 81, 260, 8, 15, 0 }, + { -14, 80, 261, 8, 15, 0 }, { -14, 79, 261, 8, 15, 0 }, { -14, 78, 262, 8, 16, 0 }, { -14, 77, 262, 8, 16, 0 }, { -14, 76, 262, 8, 16, 0 }, + { -14, 75, 263, 8, 16, 0 }, { -14, 74, 263, 8, 16, 0 }, { -15, 73, 263, 8, 16, 0 }, { -15, 72, 263, 8, 16, 0 }, { -15, 71, 264, 8, 16, 0 }, + { -15, 70, 264, 8, 16, 0 }, { -15, 69, 264, 8, 16, 0 }, { -15, 68, 264, 8, 16, 0 }, { -15, 67, 264, 8, 16, 0 }, { -15, 66, 264, 8, 16, 0 }, + { -15, 65, 264, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_924D9A = { - 311, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 2, 0 }, { 9, 16, 4, 16, 2, 0 }, - { 10, 17, 5, 16, 2, 0 }, { 11, 17, 5, 16, 2, 0 }, { 12, 17, 6, 16, 2, 0 }, { 13, 17, 6, 16, 2, 0 }, { 14, 17, 7, 16, 2, 0 }, - { 15, 17, 7, 16, 2, 0 }, { 16, 17, 8, 16, 2, 0 }, { 17, 17, 8, 16, 2, 0 }, { 18, 17, 9, 16, 2, 0 }, { 19, 17, 9, 16, 2, 0 }, - { 20, 18, 10, 16, 2, 0 }, { 21, 18, 10, 16, 2, 0 }, { 22, 18, 11, 16, 2, 0 }, { 23, 18, 11, 16, 2, 0 }, { 24, 18, 12, 16, 2, 0 }, - { 25, 18, 12, 16, 2, 0 }, { 26, 18, 13, 16, 2, 0 }, { 27, 18, 13, 16, 2, 0 }, { 28, 18, 14, 16, 2, 0 }, { 29, 18, 14, 16, 2, 0 }, - { 30, 19, 15, 16, 2, 0 }, { 31, 19, 15, 16, 2, 0 }, { 32, 19, 16, 16, 2, 0 }, { 33, 19, 16, 16, 2, 0 }, { 34, 19, 17, 16, 2, 0 }, - { 35, 19, 17, 16, 2, 0 }, { 36, 19, 18, 16, 2, 0 }, { 37, 19, 18, 16, 2, 0 }, { 38, 19, 19, 16, 2, 0 }, { 39, 20, 19, 16, 2, 0 }, - { 40, 20, 20, 16, 2, 0 }, { 41, 20, 21, 16, 2, 0 }, { 42, 20, 21, 16, 2, 0 }, { 43, 20, 22, 16, 2, 0 }, { 44, 20, 22, 16, 2, 0 }, - { 45, 20, 23, 16, 2, 0 }, { 46, 20, 24, 16, 2, 0 }, { 47, 20, 24, 16, 2, 0 }, { 48, 20, 25, 16, 2, 0 }, { 49, 21, 25, 16, 2, 0 }, - { 50, 21, 26, 16, 2, 0 }, { 51, 21, 27, 16, 2, 0 }, { 52, 21, 27, 16, 2, 0 }, { 53, 21, 28, 16, 2, 0 }, { 54, 21, 29, 16, 2, 0 }, - { 55, 21, 30, 16, 2, 0 }, { 56, 21, 30, 16, 2, 0 }, { 57, 21, 31, 16, 2, 0 }, { 58, 21, 32, 16, 2, 0 }, { 59, 22, 33, 16, 2, 0 }, - { 60, 22, 33, 16, 2, 0 }, { 61, 22, 34, 16, 2, 0 }, { 62, 22, 35, 16, 3, 0 }, { 63, 22, 36, 16, 3, 0 }, { 64, 22, 36, 16, 3, 0 }, - { 65, 22, 37, 16, 3, 0 }, { 66, 22, 38, 16, 3, 0 }, { 67, 22, 39, 16, 3, 0 }, { 68, 22, 40, 16, 3, 0 }, { 69, 23, 41, 16, 3, 0 }, - { 70, 23, 42, 16, 3, 0 }, { 71, 23, 42, 16, 3, 0 }, { 72, 23, 43, 16, 3, 0 }, { 73, 23, 44, 16, 3, 0 }, { 74, 23, 45, 16, 3, 0 }, - { 75, 23, 46, 16, 3, 0 }, { 76, 23, 47, 16, 3, 0 }, { 77, 23, 48, 16, 3, 0 }, { 78, 24, 49, 16, 3, 0 }, { 79, 24, 50, 16, 3, 0 }, - { 80, 24, 51, 16, 3, 0 }, { 81, 24, 52, 16, 3, 0 }, { 81, 24, 53, 16, 3, 0 }, { 82, 24, 54, 16, 3, 0 }, { 83, 24, 55, 16, 3, 0 }, - { 84, 24, 56, 16, 3, 0 }, { 85, 24, 57, 16, 3, 0 }, { 86, 24, 58, 16, 3, 0 }, { 87, 25, 59, 16, 3, 0 }, { 88, 25, 60, 16, 3, 0 }, - { 88, 25, 61, 16, 3, 0 }, { 89, 25, 62, 16, 3, 0 }, { 90, 25, 63, 16, 3, 0 }, { 90, 25, 64, 16, 3, 0 }, { 91, 25, 65, 16, 3, 0 }, - { 92, 25, 66, 16, 3, 0 }, { 92, 25, 67, 16, 3, 0 }, { 93, 25, 68, 16, 3, 0 }, { 94, 26, 69, 16, 3, 0 }, { 95, 26, 70, 16, 3, 0 }, - { 95, 26, 71, 16, 3, 0 }, { 96, 26, 72, 16, 3, 0 }, { 97, 26, 73, 16, 3, 0 }, { 97, 26, 74, 16, 3, 0 }, { 98, 26, 75, 16, 3, 0 }, - { 99, 26, 76, 16, 3, 0 }, { 99, 26, 77, 16, 3, 0 }, { 100, 27, 78, 16, 3, 0 }, { 100, 27, 79, 16, 3, 0 }, { 101, 27, 80, 16, 4, 0 }, - { 102, 27, 81, 16, 4, 0 }, { 102, 27, 82, 16, 4, 0 }, { 103, 27, 83, 16, 4, 0 }, { 103, 27, 84, 16, 4, 0 }, { 104, 27, 85, 16, 4, 0 }, - { 105, 27, 86, 16, 4, 0 }, { 105, 27, 87, 16, 4, 0 }, { 106, 28, 88, 16, 4, 0 }, { 106, 28, 89, 16, 4, 0 }, { 107, 28, 90, 16, 4, 0 }, - { 107, 28, 91, 16, 4, 0 }, { 108, 28, 92, 16, 4, 0 }, { 108, 28, 93, 16, 4, 0 }, { 109, 28, 94, 16, 4, 0 }, { 109, 28, 95, 16, 4, 0 }, - { 109, 28, 96, 16, 4, 0 }, { 110, 28, 97, 16, 4, 0 }, { 110, 29, 98, 16, 4, 0 }, { 111, 29, 99, 16, 4, 0 }, { 111, 29, 100, 16, 4, 0 }, - { 112, 29, 101, 16, 4, 0 }, { 112, 29, 102, 16, 4, 0 }, { 112, 29, 103, 16, 4, 0 }, { 113, 29, 104, 16, 4, 0 }, { 113, 29, 105, 16, 4, 0 }, - { 114, 29, 106, 16, 4, 0 }, { 114, 29, 107, 16, 4, 0 }, { 114, 30, 108, 16, 4, 0 }, { 115, 30, 109, 16, 4, 0 }, { 115, 30, 110, 16, 4, 0 }, - { 116, 30, 111, 16, 4, 0 }, { 116, 30, 112, 16, 4, 0 }, { 117, 30, 113, 16, 4, 0 }, { 117, 30, 114, 16, 4, 0 }, { 117, 30, 115, 16, 4, 0 }, - { 118, 30, 116, 16, 9, 0 }, { 118, 31, 117, 16, 9, 0 }, { 118, 31, 118, 16, 9, 0 }, { 118, 31, 119, 16, 9, 0 }, { 119, 31, 120, 16, 9, 0 }, - { 119, 31, 121, 16, 9, 0 }, { 119, 31, 122, 16, 9, 0 }, { 120, 31, 123, 16, 9, 0 }, { 120, 31, 124, 16, 9, 0 }, { 120, 31, 125, 16, 9, 0 }, - { 121, 31, 126, 16, 9, 0 }, { 121, 32, 127, 16, 9, 0 }, { 121, 32, 128, 16, 9, 0 }, { 121, 32, 129, 16, 9, 0 }, { 122, 32, 130, 16, 9, 0 }, - { 122, 32, 131, 16, 9, 0 }, { 122, 32, 132, 16, 9, 0 }, { 122, 32, 133, 16, 9, 0 }, { 122, 32, 134, 16, 9, 0 }, { 123, 32, 135, 16, 9, 0 }, - { 123, 32, 136, 16, 9, 0 }, { 123, 33, 137, 16, 9, 0 }, { 123, 33, 138, 16, 9, 0 }, { 123, 33, 139, 16, 9, 0 }, { 123, 33, 140, 16, 9, 0 }, - { 124, 33, 141, 16, 9, 0 }, { 124, 33, 142, 16, 9, 0 }, { 124, 33, 143, 16, 9, 0 }, { 124, 33, 144, 16, 9, 0 }, { 124, 33, 145, 16, 9, 0 }, - { 124, 34, 146, 16, 9, 0 }, { 125, 34, 147, 16, 9, 0 }, { 125, 34, 148, 16, 9, 0 }, { 125, 34, 149, 16, 10, 0 }, { 125, 34, 150, 16, 10, 0 }, - { 125, 34, 151, 16, 10, 0 }, { 125, 34, 152, 16, 10, 0 }, { 125, 34, 153, 16, 10, 0 }, { 125, 34, 154, 16, 10, 0 }, { 125, 34, 155, 16, 10, 0 }, - { 125, 35, 156, 16, 10, 0 }, { 125, 35, 157, 16, 10, 0 }, { 125, 35, 158, 16, 10, 0 }, { 125, 35, 159, 16, 10, 0 }, { 125, 35, 160, 16, 10, 0 }, - { 125, 35, 161, 16, 10, 0 }, { 125, 35, 162, 16, 10, 0 }, { 125, 35, 163, 16, 10, 0 }, { 125, 35, 164, 16, 10, 0 }, { 125, 35, 165, 16, 10, 0 }, - { 125, 36, 166, 16, 10, 0 }, { 125, 36, 167, 16, 10, 0 }, { 125, 36, 168, 16, 10, 0 }, { 125, 36, 169, 16, 10, 0 }, { 125, 36, 170, 16, 10, 0 }, - { 125, 36, 171, 16, 10, 0 }, { 125, 36, 172, 16, 10, 0 }, { 125, 36, 173, 16, 10, 0 }, { 125, 36, 174, 16, 10, 0 }, { 125, 36, 175, 16, 10, 0 }, - { 125, 37, 176, 16, 10, 0 }, { 125, 37, 177, 16, 10, 0 }, { 125, 37, 178, 16, 10, 0 }, { 125, 37, 179, 16, 10, 0 }, { 125, 37, 180, 16, 10, 0 }, - { 125, 37, 181, 16, 10, 0 }, { 125, 37, 182, 16, 10, 0 }, { 125, 37, 183, 16, 10, 0 }, { 125, 37, 184, 16, 10, 0 }, { 125, 38, 185, 16, 10, 0 }, - { 125, 38, 186, 16, 11, 0 }, { 125, 38, 187, 16, 11, 0 }, { 124, 38, 188, 16, 11, 0 }, { 124, 38, 189, 16, 11, 0 }, { 124, 38, 190, 16, 11, 0 }, - { 124, 38, 191, 16, 11, 0 }, { 124, 38, 192, 16, 11, 0 }, { 124, 38, 193, 16, 11, 0 }, { 124, 38, 194, 16, 11, 0 }, { 124, 39, 195, 16, 11, 0 }, - { 123, 39, 196, 16, 11, 0 }, { 123, 39, 197, 16, 11, 0 }, { 123, 39, 198, 16, 11, 0 }, { 123, 39, 199, 16, 11, 0 }, { 123, 39, 200, 16, 11, 0 }, - { 123, 39, 201, 16, 11, 0 }, { 122, 39, 202, 16, 11, 0 }, { 122, 39, 203, 16, 11, 0 }, { 122, 39, 204, 16, 11, 0 }, { 122, 40, 205, 16, 11, 0 }, - { 121, 40, 206, 16, 11, 0 }, { 121, 40, 207, 16, 11, 0 }, { 121, 40, 208, 16, 11, 0 }, { 121, 40, 209, 16, 11, 0 }, { 120, 40, 210, 16, 12, 0 }, - { 120, 40, 211, 16, 12, 0 }, { 120, 40, 212, 16, 12, 0 }, { 119, 40, 213, 16, 12, 0 }, { 119, 41, 214, 16, 12, 0 }, { 118, 41, 215, 16, 12, 0 }, - { 118, 41, 216, 16, 12, 0 }, { 118, 41, 217, 16, 12, 0 }, { 117, 41, 218, 16, 12, 0 }, { 117, 41, 219, 16, 12, 0 }, { 117, 41, 220, 16, 12, 0 }, - { 116, 41, 221, 16, 12, 0 }, { 116, 41, 222, 16, 12, 0 }, { 115, 41, 223, 16, 12, 0 }, { 115, 42, 224, 16, 12, 0 }, { 114, 42, 225, 16, 13, 0 }, - { 114, 42, 226, 16, 13, 0 }, { 113, 42, 227, 16, 13, 0 }, { 113, 42, 228, 16, 13, 0 }, { 112, 42, 229, 16, 13, 0 }, { 112, 42, 230, 16, 13, 0 }, - { 111, 42, 231, 16, 13, 0 }, { 111, 42, 232, 16, 13, 0 }, { 110, 42, 233, 16, 13, 0 }, { 109, 43, 234, 16, 13, 0 }, { 109, 43, 235, 16, 13, 0 }, - { 108, 43, 236, 16, 13, 0 }, { 107, 43, 237, 16, 13, 0 }, { 107, 43, 238, 16, 13, 0 }, { 106, 43, 239, 16, 13, 0 }, { 105, 43, 240, 16, 14, 0 }, - { 104, 43, 241, 16, 14, 0 }, { 104, 43, 242, 16, 14, 0 }, { 103, 43, 243, 16, 14, 0 }, { 102, 44, 244, 16, 14, 0 }, { 101, 44, 245, 16, 14, 0 }, - { 100, 44, 246, 16, 14, 0 }, { 99, 44, 247, 16, 14, 0 }, { 98, 44, 248, 16, 14, 0 }, { 97, 44, 249, 16, 14, 0 }, { 96, 44, 250, 16, 14, 0 }, - { 95, 44, 251, 16, 14, 0 }, { 94, 44, 252, 16, 14, 0 }, { 93, 45, 253, 16, 15, 0 }, { 92, 45, 253, 16, 15, 0 }, { 91, 45, 254, 16, 15, 0 }, - { 90, 45, 255, 16, 15, 0 }, { 89, 45, 256, 16, 15, 0 }, { 88, 45, 256, 16, 15, 0 }, { 87, 45, 257, 16, 15, 0 }, { 86, 45, 258, 16, 15, 0 }, - { 85, 45, 258, 16, 15, 0 }, { 84, 45, 259, 16, 15, 0 }, { 83, 46, 259, 16, 15, 0 }, { 82, 46, 260, 16, 15, 0 }, { 81, 46, 260, 16, 15, 0 }, - { 80, 46, 261, 16, 15, 0 }, { 79, 46, 261, 16, 15, 0 }, { 78, 46, 262, 16, 16, 0 }, { 77, 46, 262, 16, 16, 0 }, { 76, 46, 262, 16, 16, 0 }, - { 75, 46, 263, 16, 16, 0 }, { 74, 46, 263, 16, 16, 0 }, { 73, 47, 263, 16, 16, 0 }, { 72, 47, 263, 16, 16, 0 }, { 71, 47, 264, 16, 16, 0 }, - { 70, 47, 264, 16, 16, 0 }, { 69, 47, 264, 16, 16, 0 }, { 68, 47, 264, 16, 16, 0 }, { 67, 47, 264, 16, 16, 0 }, { 66, 47, 264, 16, 16, 0 }, - { 65, 47, 264, 16, 16, 0 }, + 311, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 2, 0 }, { 9, 16, 4, 16, 2, 0 }, + { 10, 17, 5, 16, 2, 0 }, { 11, 17, 5, 16, 2, 0 }, { 12, 17, 6, 16, 2, 0 }, { 13, 17, 6, 16, 2, 0 }, { 14, 17, 7, 16, 2, 0 }, + { 15, 17, 7, 16, 2, 0 }, { 16, 17, 8, 16, 2, 0 }, { 17, 17, 8, 16, 2, 0 }, { 18, 17, 9, 16, 2, 0 }, { 19, 17, 9, 16, 2, 0 }, + { 20, 18, 10, 16, 2, 0 }, { 21, 18, 10, 16, 2, 0 }, { 22, 18, 11, 16, 2, 0 }, { 23, 18, 11, 16, 2, 0 }, { 24, 18, 12, 16, 2, 0 }, + { 25, 18, 12, 16, 2, 0 }, { 26, 18, 13, 16, 2, 0 }, { 27, 18, 13, 16, 2, 0 }, { 28, 18, 14, 16, 2, 0 }, { 29, 18, 14, 16, 2, 0 }, + { 30, 19, 15, 16, 2, 0 }, { 31, 19, 15, 16, 2, 0 }, { 32, 19, 16, 16, 2, 0 }, { 33, 19, 16, 16, 2, 0 }, { 34, 19, 17, 16, 2, 0 }, + { 35, 19, 17, 16, 2, 0 }, { 36, 19, 18, 16, 2, 0 }, { 37, 19, 18, 16, 2, 0 }, { 38, 19, 19, 16, 2, 0 }, { 39, 20, 19, 16, 2, 0 }, + { 40, 20, 20, 16, 2, 0 }, { 41, 20, 21, 16, 2, 0 }, { 42, 20, 21, 16, 2, 0 }, { 43, 20, 22, 16, 2, 0 }, { 44, 20, 22, 16, 2, 0 }, + { 45, 20, 23, 16, 2, 0 }, { 46, 20, 24, 16, 2, 0 }, { 47, 20, 24, 16, 2, 0 }, { 48, 20, 25, 16, 2, 0 }, { 49, 21, 25, 16, 2, 0 }, + { 50, 21, 26, 16, 2, 0 }, { 51, 21, 27, 16, 2, 0 }, { 52, 21, 27, 16, 2, 0 }, { 53, 21, 28, 16, 2, 0 }, { 54, 21, 29, 16, 2, 0 }, + { 55, 21, 30, 16, 2, 0 }, { 56, 21, 30, 16, 2, 0 }, { 57, 21, 31, 16, 2, 0 }, { 58, 21, 32, 16, 2, 0 }, { 59, 22, 33, 16, 2, 0 }, + { 60, 22, 33, 16, 2, 0 }, { 61, 22, 34, 16, 2, 0 }, { 62, 22, 35, 16, 3, 0 }, { 63, 22, 36, 16, 3, 0 }, { 64, 22, 36, 16, 3, 0 }, + { 65, 22, 37, 16, 3, 0 }, { 66, 22, 38, 16, 3, 0 }, { 67, 22, 39, 16, 3, 0 }, { 68, 22, 40, 16, 3, 0 }, { 69, 23, 41, 16, 3, 0 }, + { 70, 23, 42, 16, 3, 0 }, { 71, 23, 42, 16, 3, 0 }, { 72, 23, 43, 16, 3, 0 }, { 73, 23, 44, 16, 3, 0 }, { 74, 23, 45, 16, 3, 0 }, + { 75, 23, 46, 16, 3, 0 }, { 76, 23, 47, 16, 3, 0 }, { 77, 23, 48, 16, 3, 0 }, { 78, 24, 49, 16, 3, 0 }, { 79, 24, 50, 16, 3, 0 }, + { 80, 24, 51, 16, 3, 0 }, { 81, 24, 52, 16, 3, 0 }, { 81, 24, 53, 16, 3, 0 }, { 82, 24, 54, 16, 3, 0 }, { 83, 24, 55, 16, 3, 0 }, + { 84, 24, 56, 16, 3, 0 }, { 85, 24, 57, 16, 3, 0 }, { 86, 24, 58, 16, 3, 0 }, { 87, 25, 59, 16, 3, 0 }, { 88, 25, 60, 16, 3, 0 }, + { 88, 25, 61, 16, 3, 0 }, { 89, 25, 62, 16, 3, 0 }, { 90, 25, 63, 16, 3, 0 }, { 90, 25, 64, 16, 3, 0 }, { 91, 25, 65, 16, 3, 0 }, + { 92, 25, 66, 16, 3, 0 }, { 92, 25, 67, 16, 3, 0 }, { 93, 25, 68, 16, 3, 0 }, { 94, 26, 69, 16, 3, 0 }, { 95, 26, 70, 16, 3, 0 }, + { 95, 26, 71, 16, 3, 0 }, { 96, 26, 72, 16, 3, 0 }, { 97, 26, 73, 16, 3, 0 }, { 97, 26, 74, 16, 3, 0 }, { 98, 26, 75, 16, 3, 0 }, + { 99, 26, 76, 16, 3, 0 }, { 99, 26, 77, 16, 3, 0 }, { 100, 27, 78, 16, 3, 0 }, { 100, 27, 79, 16, 3, 0 }, { 101, 27, 80, 16, 4, 0 }, + { 102, 27, 81, 16, 4, 0 }, { 102, 27, 82, 16, 4, 0 }, { 103, 27, 83, 16, 4, 0 }, { 103, 27, 84, 16, 4, 0 }, { 104, 27, 85, 16, 4, 0 }, + { 105, 27, 86, 16, 4, 0 }, { 105, 27, 87, 16, 4, 0 }, { 106, 28, 88, 16, 4, 0 }, { 106, 28, 89, 16, 4, 0 }, { 107, 28, 90, 16, 4, 0 }, + { 107, 28, 91, 16, 4, 0 }, { 108, 28, 92, 16, 4, 0 }, { 108, 28, 93, 16, 4, 0 }, { 109, 28, 94, 16, 4, 0 }, { 109, 28, 95, 16, 4, 0 }, + { 109, 28, 96, 16, 4, 0 }, { 110, 28, 97, 16, 4, 0 }, { 110, 29, 98, 16, 4, 0 }, { 111, 29, 99, 16, 4, 0 }, { 111, 29, 100, 16, 4, 0 }, + { 112, 29, 101, 16, 4, 0 }, { 112, 29, 102, 16, 4, 0 }, { 112, 29, 103, 16, 4, 0 }, { 113, 29, 104, 16, 4, 0 }, { 113, 29, 105, 16, 4, 0 }, + { 114, 29, 106, 16, 4, 0 }, { 114, 29, 107, 16, 4, 0 }, { 114, 30, 108, 16, 4, 0 }, { 115, 30, 109, 16, 4, 0 }, { 115, 30, 110, 16, 4, 0 }, + { 116, 30, 111, 16, 4, 0 }, { 116, 30, 112, 16, 4, 0 }, { 117, 30, 113, 16, 4, 0 }, { 117, 30, 114, 16, 4, 0 }, { 117, 30, 115, 16, 4, 0 }, + { 118, 30, 116, 16, 9, 0 }, { 118, 31, 117, 16, 9, 0 }, { 118, 31, 118, 16, 9, 0 }, { 118, 31, 119, 16, 9, 0 }, { 119, 31, 120, 16, 9, 0 }, + { 119, 31, 121, 16, 9, 0 }, { 119, 31, 122, 16, 9, 0 }, { 120, 31, 123, 16, 9, 0 }, { 120, 31, 124, 16, 9, 0 }, { 120, 31, 125, 16, 9, 0 }, + { 121, 31, 126, 16, 9, 0 }, { 121, 32, 127, 16, 9, 0 }, { 121, 32, 128, 16, 9, 0 }, { 121, 32, 129, 16, 9, 0 }, { 122, 32, 130, 16, 9, 0 }, + { 122, 32, 131, 16, 9, 0 }, { 122, 32, 132, 16, 9, 0 }, { 122, 32, 133, 16, 9, 0 }, { 122, 32, 134, 16, 9, 0 }, { 123, 32, 135, 16, 9, 0 }, + { 123, 32, 136, 16, 9, 0 }, { 123, 33, 137, 16, 9, 0 }, { 123, 33, 138, 16, 9, 0 }, { 123, 33, 139, 16, 9, 0 }, { 123, 33, 140, 16, 9, 0 }, + { 124, 33, 141, 16, 9, 0 }, { 124, 33, 142, 16, 9, 0 }, { 124, 33, 143, 16, 9, 0 }, { 124, 33, 144, 16, 9, 0 }, { 124, 33, 145, 16, 9, 0 }, + { 124, 34, 146, 16, 9, 0 }, { 125, 34, 147, 16, 9, 0 }, { 125, 34, 148, 16, 9, 0 }, { 125, 34, 149, 16, 10, 0 }, { 125, 34, 150, 16, 10, 0 }, + { 125, 34, 151, 16, 10, 0 }, { 125, 34, 152, 16, 10, 0 }, { 125, 34, 153, 16, 10, 0 }, { 125, 34, 154, 16, 10, 0 }, { 125, 34, 155, 16, 10, 0 }, + { 125, 35, 156, 16, 10, 0 }, { 125, 35, 157, 16, 10, 0 }, { 125, 35, 158, 16, 10, 0 }, { 125, 35, 159, 16, 10, 0 }, { 125, 35, 160, 16, 10, 0 }, + { 125, 35, 161, 16, 10, 0 }, { 125, 35, 162, 16, 10, 0 }, { 125, 35, 163, 16, 10, 0 }, { 125, 35, 164, 16, 10, 0 }, { 125, 35, 165, 16, 10, 0 }, + { 125, 36, 166, 16, 10, 0 }, { 125, 36, 167, 16, 10, 0 }, { 125, 36, 168, 16, 10, 0 }, { 125, 36, 169, 16, 10, 0 }, { 125, 36, 170, 16, 10, 0 }, + { 125, 36, 171, 16, 10, 0 }, { 125, 36, 172, 16, 10, 0 }, { 125, 36, 173, 16, 10, 0 }, { 125, 36, 174, 16, 10, 0 }, { 125, 36, 175, 16, 10, 0 }, + { 125, 37, 176, 16, 10, 0 }, { 125, 37, 177, 16, 10, 0 }, { 125, 37, 178, 16, 10, 0 }, { 125, 37, 179, 16, 10, 0 }, { 125, 37, 180, 16, 10, 0 }, + { 125, 37, 181, 16, 10, 0 }, { 125, 37, 182, 16, 10, 0 }, { 125, 37, 183, 16, 10, 0 }, { 125, 37, 184, 16, 10, 0 }, { 125, 38, 185, 16, 10, 0 }, + { 125, 38, 186, 16, 11, 0 }, { 125, 38, 187, 16, 11, 0 }, { 124, 38, 188, 16, 11, 0 }, { 124, 38, 189, 16, 11, 0 }, { 124, 38, 190, 16, 11, 0 }, + { 124, 38, 191, 16, 11, 0 }, { 124, 38, 192, 16, 11, 0 }, { 124, 38, 193, 16, 11, 0 }, { 124, 38, 194, 16, 11, 0 }, { 124, 39, 195, 16, 11, 0 }, + { 123, 39, 196, 16, 11, 0 }, { 123, 39, 197, 16, 11, 0 }, { 123, 39, 198, 16, 11, 0 }, { 123, 39, 199, 16, 11, 0 }, { 123, 39, 200, 16, 11, 0 }, + { 123, 39, 201, 16, 11, 0 }, { 122, 39, 202, 16, 11, 0 }, { 122, 39, 203, 16, 11, 0 }, { 122, 39, 204, 16, 11, 0 }, { 122, 40, 205, 16, 11, 0 }, + { 121, 40, 206, 16, 11, 0 }, { 121, 40, 207, 16, 11, 0 }, { 121, 40, 208, 16, 11, 0 }, { 121, 40, 209, 16, 11, 0 }, { 120, 40, 210, 16, 12, 0 }, + { 120, 40, 211, 16, 12, 0 }, { 120, 40, 212, 16, 12, 0 }, { 119, 40, 213, 16, 12, 0 }, { 119, 41, 214, 16, 12, 0 }, { 118, 41, 215, 16, 12, 0 }, + { 118, 41, 216, 16, 12, 0 }, { 118, 41, 217, 16, 12, 0 }, { 117, 41, 218, 16, 12, 0 }, { 117, 41, 219, 16, 12, 0 }, { 117, 41, 220, 16, 12, 0 }, + { 116, 41, 221, 16, 12, 0 }, { 116, 41, 222, 16, 12, 0 }, { 115, 41, 223, 16, 12, 0 }, { 115, 42, 224, 16, 12, 0 }, { 114, 42, 225, 16, 13, 0 }, + { 114, 42, 226, 16, 13, 0 }, { 113, 42, 227, 16, 13, 0 }, { 113, 42, 228, 16, 13, 0 }, { 112, 42, 229, 16, 13, 0 }, { 112, 42, 230, 16, 13, 0 }, + { 111, 42, 231, 16, 13, 0 }, { 111, 42, 232, 16, 13, 0 }, { 110, 42, 233, 16, 13, 0 }, { 109, 43, 234, 16, 13, 0 }, { 109, 43, 235, 16, 13, 0 }, + { 108, 43, 236, 16, 13, 0 }, { 107, 43, 237, 16, 13, 0 }, { 107, 43, 238, 16, 13, 0 }, { 106, 43, 239, 16, 13, 0 }, { 105, 43, 240, 16, 14, 0 }, + { 104, 43, 241, 16, 14, 0 }, { 104, 43, 242, 16, 14, 0 }, { 103, 43, 243, 16, 14, 0 }, { 102, 44, 244, 16, 14, 0 }, { 101, 44, 245, 16, 14, 0 }, + { 100, 44, 246, 16, 14, 0 }, { 99, 44, 247, 16, 14, 0 }, { 98, 44, 248, 16, 14, 0 }, { 97, 44, 249, 16, 14, 0 }, { 96, 44, 250, 16, 14, 0 }, + { 95, 44, 251, 16, 14, 0 }, { 94, 44, 252, 16, 14, 0 }, { 93, 45, 253, 16, 15, 0 }, { 92, 45, 253, 16, 15, 0 }, { 91, 45, 254, 16, 15, 0 }, + { 90, 45, 255, 16, 15, 0 }, { 89, 45, 256, 16, 15, 0 }, { 88, 45, 256, 16, 15, 0 }, { 87, 45, 257, 16, 15, 0 }, { 86, 45, 258, 16, 15, 0 }, + { 85, 45, 258, 16, 15, 0 }, { 84, 45, 259, 16, 15, 0 }, { 83, 46, 259, 16, 15, 0 }, { 82, 46, 260, 16, 15, 0 }, { 81, 46, 260, 16, 15, 0 }, + { 80, 46, 261, 16, 15, 0 }, { 79, 46, 261, 16, 15, 0 }, { 78, 46, 262, 16, 16, 0 }, { 77, 46, 262, 16, 16, 0 }, { 76, 46, 262, 16, 16, 0 }, + { 75, 46, 263, 16, 16, 0 }, { 74, 46, 263, 16, 16, 0 }, { 73, 47, 263, 16, 16, 0 }, { 72, 47, 263, 16, 16, 0 }, { 71, 47, 264, 16, 16, 0 }, + { 70, 47, 264, 16, 16, 0 }, { 69, 47, 264, 16, 16, 0 }, { 68, 47, 264, 16, 16, 0 }, { 67, 47, 264, 16, 16, 0 }, { 66, 47, 264, 16, 16, 0 }, + { 65, 47, 264, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92638E = { - 311, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 4, 24, 2, 0 }, { 16, 22, 4, 24, 2, 0 }, - { 17, 21, 5, 24, 2, 0 }, { 17, 20, 5, 24, 2, 0 }, { 17, 19, 6, 24, 2, 0 }, { 17, 18, 6, 24, 2, 0 }, { 17, 17, 7, 24, 2, 0 }, - { 17, 16, 7, 24, 2, 0 }, { 17, 15, 8, 24, 2, 0 }, { 17, 14, 8, 24, 2, 0 }, { 17, 13, 9, 24, 2, 0 }, { 17, 12, 9, 24, 2, 0 }, - { 18, 11, 10, 24, 2, 0 }, { 18, 10, 10, 24, 2, 0 }, { 18, 9, 11, 24, 2, 0 }, { 18, 8, 11, 24, 2, 0 }, { 18, 7, 12, 24, 2, 0 }, - { 18, 6, 12, 24, 2, 0 }, { 18, 5, 13, 24, 2, 0 }, { 18, 4, 13, 24, 2, 0 }, { 18, 3, 14, 24, 2, 0 }, { 18, 2, 14, 24, 2, 0 }, - { 19, 1, 15, 24, 2, 0 }, { 19, 0, 15, 24, 2, 0 }, { 19, -1, 16, 24, 2, 0 }, { 19, -2, 16, 24, 2, 0 }, { 19, -3, 17, 24, 2, 0 }, - { 19, -4, 17, 24, 2, 0 }, { 19, -5, 18, 24, 2, 0 }, { 19, -6, 18, 24, 2, 0 }, { 19, -7, 19, 24, 2, 0 }, { 20, -8, 19, 24, 2, 0 }, - { 20, -9, 20, 24, 2, 0 }, { 20, -10, 21, 24, 2, 0 }, { 20, -11, 21, 24, 2, 0 }, { 20, -12, 22, 24, 2, 0 }, { 20, -13, 22, 24, 2, 0 }, - { 20, -14, 23, 24, 2, 0 }, { 20, -15, 24, 24, 2, 0 }, { 20, -16, 24, 24, 2, 0 }, { 20, -17, 25, 24, 2, 0 }, { 21, -18, 25, 24, 2, 0 }, - { 21, -19, 26, 24, 2, 0 }, { 21, -20, 27, 24, 2, 0 }, { 21, -21, 27, 24, 2, 0 }, { 21, -22, 28, 24, 2, 0 }, { 21, -23, 29, 24, 2, 0 }, - { 21, -24, 30, 24, 2, 0 }, { 21, -25, 30, 24, 2, 0 }, { 21, -26, 31, 24, 2, 0 }, { 21, -27, 32, 24, 2, 0 }, { 22, -28, 33, 24, 2, 0 }, - { 22, -29, 33, 24, 2, 0 }, { 22, -30, 34, 24, 2, 0 }, { 22, -31, 35, 24, 3, 0 }, { 22, -32, 36, 24, 3, 0 }, { 22, -33, 36, 24, 3, 0 }, - { 22, -34, 37, 24, 3, 0 }, { 22, -35, 38, 24, 3, 0 }, { 22, -36, 39, 24, 3, 0 }, { 22, -37, 40, 24, 3, 0 }, { 23, -38, 41, 24, 3, 0 }, - { 23, -39, 42, 24, 3, 0 }, { 23, -40, 42, 24, 3, 0 }, { 23, -41, 43, 24, 3, 0 }, { 23, -42, 44, 24, 3, 0 }, { 23, -43, 45, 24, 3, 0 }, - { 23, -44, 46, 24, 3, 0 }, { 23, -45, 47, 24, 3, 0 }, { 23, -46, 48, 24, 3, 0 }, { 24, -47, 49, 24, 3, 0 }, { 24, -48, 50, 24, 3, 0 }, - { 24, -49, 51, 24, 3, 0 }, { 24, -50, 52, 24, 3, 0 }, { 24, -50, 53, 24, 3, 0 }, { 24, -51, 54, 24, 3, 0 }, { 24, -52, 55, 24, 3, 0 }, - { 24, -53, 56, 24, 3, 0 }, { 24, -54, 57, 24, 3, 0 }, { 24, -55, 58, 24, 3, 0 }, { 25, -56, 59, 24, 3, 0 }, { 25, -57, 60, 24, 3, 0 }, - { 25, -57, 61, 24, 3, 0 }, { 25, -58, 62, 24, 3, 0 }, { 25, -59, 63, 24, 3, 0 }, { 25, -59, 64, 24, 3, 0 }, { 25, -60, 65, 24, 3, 0 }, - { 25, -61, 66, 24, 3, 0 }, { 25, -61, 67, 24, 3, 0 }, { 25, -62, 68, 24, 3, 0 }, { 26, -63, 69, 24, 3, 0 }, { 26, -64, 70, 24, 3, 0 }, - { 26, -64, 71, 24, 3, 0 }, { 26, -65, 72, 24, 3, 0 }, { 26, -66, 73, 24, 3, 0 }, { 26, -66, 74, 24, 3, 0 }, { 26, -67, 75, 24, 3, 0 }, - { 26, -68, 76, 24, 3, 0 }, { 26, -68, 77, 24, 3, 0 }, { 27, -69, 78, 24, 3, 0 }, { 27, -69, 79, 24, 3, 0 }, { 27, -70, 80, 24, 4, 0 }, - { 27, -71, 81, 24, 4, 0 }, { 27, -71, 82, 24, 4, 0 }, { 27, -72, 83, 24, 4, 0 }, { 27, -72, 84, 24, 4, 0 }, { 27, -73, 85, 24, 4, 0 }, - { 27, -74, 86, 24, 4, 0 }, { 27, -74, 87, 24, 4, 0 }, { 28, -75, 88, 24, 4, 0 }, { 28, -75, 89, 24, 4, 0 }, { 28, -76, 90, 24, 4, 0 }, - { 28, -76, 91, 24, 4, 0 }, { 28, -77, 92, 24, 4, 0 }, { 28, -77, 93, 24, 4, 0 }, { 28, -78, 94, 24, 4, 0 }, { 28, -78, 95, 24, 4, 0 }, - { 28, -78, 96, 24, 4, 0 }, { 28, -79, 97, 24, 4, 0 }, { 29, -79, 98, 24, 4, 0 }, { 29, -80, 99, 24, 4, 0 }, { 29, -80, 100, 24, 4, 0 }, - { 29, -81, 101, 24, 4, 0 }, { 29, -81, 102, 24, 4, 0 }, { 29, -81, 103, 24, 4, 0 }, { 29, -82, 104, 24, 4, 0 }, { 29, -82, 105, 24, 4, 0 }, - { 29, -83, 106, 24, 4, 0 }, { 29, -83, 107, 24, 4, 0 }, { 30, -83, 108, 24, 4, 0 }, { 30, -84, 109, 24, 4, 0 }, { 30, -84, 110, 24, 4, 0 }, - { 30, -85, 111, 24, 4, 0 }, { 30, -85, 112, 24, 4, 0 }, { 30, -86, 113, 24, 4, 0 }, { 30, -86, 114, 24, 4, 0 }, { 30, -86, 115, 24, 4, 0 }, - { 30, -87, 116, 24, 9, 0 }, { 31, -87, 117, 24, 9, 0 }, { 31, -87, 118, 24, 9, 0 }, { 31, -87, 119, 24, 9, 0 }, { 31, -88, 120, 24, 9, 0 }, - { 31, -88, 121, 24, 9, 0 }, { 31, -88, 122, 24, 9, 0 }, { 31, -89, 123, 24, 9, 0 }, { 31, -89, 124, 24, 9, 0 }, { 31, -89, 125, 24, 9, 0 }, - { 31, -90, 126, 24, 9, 0 }, { 32, -90, 127, 24, 9, 0 }, { 32, -90, 128, 24, 9, 0 }, { 32, -90, 129, 24, 9, 0 }, { 32, -91, 130, 24, 9, 0 }, - { 32, -91, 131, 24, 9, 0 }, { 32, -91, 132, 24, 9, 0 }, { 32, -91, 133, 24, 9, 0 }, { 32, -91, 134, 24, 9, 0 }, { 32, -92, 135, 24, 9, 0 }, - { 32, -92, 136, 24, 9, 0 }, { 33, -92, 137, 24, 9, 0 }, { 33, -92, 138, 24, 9, 0 }, { 33, -92, 139, 24, 9, 0 }, { 33, -92, 140, 24, 9, 0 }, - { 33, -93, 141, 24, 9, 0 }, { 33, -93, 142, 24, 9, 0 }, { 33, -93, 143, 24, 9, 0 }, { 33, -93, 144, 24, 9, 0 }, { 33, -93, 145, 24, 9, 0 }, - { 34, -93, 146, 24, 9, 0 }, { 34, -94, 147, 24, 9, 0 }, { 34, -94, 148, 24, 9, 0 }, { 34, -94, 149, 24, 10, 0 }, { 34, -94, 150, 24, 10, 0 }, - { 34, -94, 151, 24, 10, 0 }, { 34, -94, 152, 24, 10, 0 }, { 34, -94, 153, 24, 10, 0 }, { 34, -94, 154, 24, 10, 0 }, { 34, -94, 155, 24, 10, 0 }, - { 35, -94, 156, 24, 10, 0 }, { 35, -94, 157, 24, 10, 0 }, { 35, -94, 158, 24, 10, 0 }, { 35, -94, 159, 24, 10, 0 }, { 35, -94, 160, 24, 10, 0 }, - { 35, -94, 161, 24, 10, 0 }, { 35, -94, 162, 24, 10, 0 }, { 35, -94, 163, 24, 10, 0 }, { 35, -94, 164, 24, 10, 0 }, { 35, -94, 165, 24, 10, 0 }, - { 36, -94, 166, 24, 10, 0 }, { 36, -94, 167, 24, 10, 0 }, { 36, -94, 168, 24, 10, 0 }, { 36, -94, 169, 24, 10, 0 }, { 36, -94, 170, 24, 10, 0 }, - { 36, -94, 171, 24, 10, 0 }, { 36, -94, 172, 24, 10, 0 }, { 36, -94, 173, 24, 10, 0 }, { 36, -94, 174, 24, 10, 0 }, { 36, -94, 175, 24, 10, 0 }, - { 37, -94, 176, 24, 10, 0 }, { 37, -94, 177, 24, 10, 0 }, { 37, -94, 178, 24, 10, 0 }, { 37, -94, 179, 24, 10, 0 }, { 37, -94, 180, 24, 10, 0 }, - { 37, -94, 181, 24, 10, 0 }, { 37, -94, 182, 24, 10, 0 }, { 37, -94, 183, 24, 10, 0 }, { 37, -94, 184, 24, 10, 0 }, { 38, -94, 185, 24, 10, 0 }, - { 38, -94, 186, 24, 11, 0 }, { 38, -94, 187, 24, 11, 0 }, { 38, -93, 188, 24, 11, 0 }, { 38, -93, 189, 24, 11, 0 }, { 38, -93, 190, 24, 11, 0 }, - { 38, -93, 191, 24, 11, 0 }, { 38, -93, 192, 24, 11, 0 }, { 38, -93, 193, 24, 11, 0 }, { 38, -93, 194, 24, 11, 0 }, { 39, -93, 195, 24, 11, 0 }, - { 39, -92, 196, 24, 11, 0 }, { 39, -92, 197, 24, 11, 0 }, { 39, -92, 198, 24, 11, 0 }, { 39, -92, 199, 24, 11, 0 }, { 39, -92, 200, 24, 11, 0 }, - { 39, -92, 201, 24, 11, 0 }, { 39, -91, 202, 24, 11, 0 }, { 39, -91, 203, 24, 11, 0 }, { 39, -91, 204, 24, 11, 0 }, { 40, -91, 205, 24, 11, 0 }, - { 40, -90, 206, 24, 11, 0 }, { 40, -90, 207, 24, 11, 0 }, { 40, -90, 208, 24, 11, 0 }, { 40, -90, 209, 24, 11, 0 }, { 40, -89, 210, 24, 12, 0 }, - { 40, -89, 211, 24, 12, 0 }, { 40, -89, 212, 24, 12, 0 }, { 40, -88, 213, 24, 12, 0 }, { 41, -88, 214, 24, 12, 0 }, { 41, -87, 215, 24, 12, 0 }, - { 41, -87, 216, 24, 12, 0 }, { 41, -87, 217, 24, 12, 0 }, { 41, -86, 218, 24, 12, 0 }, { 41, -86, 219, 24, 12, 0 }, { 41, -86, 220, 24, 12, 0 }, - { 41, -85, 221, 24, 12, 0 }, { 41, -85, 222, 24, 12, 0 }, { 41, -84, 223, 24, 12, 0 }, { 42, -84, 224, 24, 12, 0 }, { 42, -83, 225, 24, 13, 0 }, - { 42, -83, 226, 24, 13, 0 }, { 42, -82, 227, 24, 13, 0 }, { 42, -82, 228, 24, 13, 0 }, { 42, -81, 229, 24, 13, 0 }, { 42, -81, 230, 24, 13, 0 }, - { 42, -80, 231, 24, 13, 0 }, { 42, -80, 232, 24, 13, 0 }, { 42, -79, 233, 24, 13, 0 }, { 43, -78, 234, 24, 13, 0 }, { 43, -78, 235, 24, 13, 0 }, - { 43, -77, 236, 24, 13, 0 }, { 43, -76, 237, 24, 13, 0 }, { 43, -76, 238, 24, 13, 0 }, { 43, -75, 239, 24, 13, 0 }, { 43, -74, 240, 24, 14, 0 }, - { 43, -73, 241, 24, 14, 0 }, { 43, -73, 242, 24, 14, 0 }, { 43, -72, 243, 24, 14, 0 }, { 44, -71, 244, 24, 14, 0 }, { 44, -70, 245, 24, 14, 0 }, - { 44, -69, 246, 24, 14, 0 }, { 44, -68, 247, 24, 14, 0 }, { 44, -67, 248, 24, 14, 0 }, { 44, -66, 249, 24, 14, 0 }, { 44, -65, 250, 24, 14, 0 }, - { 44, -64, 251, 24, 14, 0 }, { 44, -63, 252, 24, 14, 0 }, { 45, -62, 253, 24, 15, 0 }, { 45, -61, 253, 24, 15, 0 }, { 45, -60, 254, 24, 15, 0 }, - { 45, -59, 255, 24, 15, 0 }, { 45, -58, 256, 24, 15, 0 }, { 45, -57, 256, 24, 15, 0 }, { 45, -56, 257, 24, 15, 0 }, { 45, -55, 258, 24, 15, 0 }, - { 45, -54, 258, 24, 15, 0 }, { 45, -53, 259, 24, 15, 0 }, { 46, -52, 259, 24, 15, 0 }, { 46, -51, 260, 24, 15, 0 }, { 46, -50, 260, 24, 15, 0 }, - { 46, -49, 261, 24, 15, 0 }, { 46, -48, 261, 24, 15, 0 }, { 46, -47, 262, 24, 16, 0 }, { 46, -46, 262, 24, 16, 0 }, { 46, -45, 262, 24, 16, 0 }, - { 46, -44, 263, 24, 16, 0 }, { 46, -43, 263, 24, 16, 0 }, { 47, -42, 263, 24, 16, 0 }, { 47, -41, 263, 24, 16, 0 }, { 47, -40, 264, 24, 16, 0 }, - { 47, -39, 264, 24, 16, 0 }, { 47, -38, 264, 24, 16, 0 }, { 47, -37, 264, 24, 16, 0 }, { 47, -36, 264, 24, 16, 0 }, { 47, -35, 264, 24, 16, 0 }, - { 47, -34, 264, 24, 16, 0 }, + 311, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 4, 24, 2, 0 }, { 16, 22, 4, 24, 2, 0 }, + { 17, 21, 5, 24, 2, 0 }, { 17, 20, 5, 24, 2, 0 }, { 17, 19, 6, 24, 2, 0 }, { 17, 18, 6, 24, 2, 0 }, { 17, 17, 7, 24, 2, 0 }, + { 17, 16, 7, 24, 2, 0 }, { 17, 15, 8, 24, 2, 0 }, { 17, 14, 8, 24, 2, 0 }, { 17, 13, 9, 24, 2, 0 }, { 17, 12, 9, 24, 2, 0 }, + { 18, 11, 10, 24, 2, 0 }, { 18, 10, 10, 24, 2, 0 }, { 18, 9, 11, 24, 2, 0 }, { 18, 8, 11, 24, 2, 0 }, { 18, 7, 12, 24, 2, 0 }, + { 18, 6, 12, 24, 2, 0 }, { 18, 5, 13, 24, 2, 0 }, { 18, 4, 13, 24, 2, 0 }, { 18, 3, 14, 24, 2, 0 }, { 18, 2, 14, 24, 2, 0 }, + { 19, 1, 15, 24, 2, 0 }, { 19, 0, 15, 24, 2, 0 }, { 19, -1, 16, 24, 2, 0 }, { 19, -2, 16, 24, 2, 0 }, { 19, -3, 17, 24, 2, 0 }, + { 19, -4, 17, 24, 2, 0 }, { 19, -5, 18, 24, 2, 0 }, { 19, -6, 18, 24, 2, 0 }, { 19, -7, 19, 24, 2, 0 }, { 20, -8, 19, 24, 2, 0 }, + { 20, -9, 20, 24, 2, 0 }, { 20, -10, 21, 24, 2, 0 }, { 20, -11, 21, 24, 2, 0 }, { 20, -12, 22, 24, 2, 0 }, { 20, -13, 22, 24, 2, 0 }, + { 20, -14, 23, 24, 2, 0 }, { 20, -15, 24, 24, 2, 0 }, { 20, -16, 24, 24, 2, 0 }, { 20, -17, 25, 24, 2, 0 }, { 21, -18, 25, 24, 2, 0 }, + { 21, -19, 26, 24, 2, 0 }, { 21, -20, 27, 24, 2, 0 }, { 21, -21, 27, 24, 2, 0 }, { 21, -22, 28, 24, 2, 0 }, { 21, -23, 29, 24, 2, 0 }, + { 21, -24, 30, 24, 2, 0 }, { 21, -25, 30, 24, 2, 0 }, { 21, -26, 31, 24, 2, 0 }, { 21, -27, 32, 24, 2, 0 }, { 22, -28, 33, 24, 2, 0 }, + { 22, -29, 33, 24, 2, 0 }, { 22, -30, 34, 24, 2, 0 }, { 22, -31, 35, 24, 3, 0 }, { 22, -32, 36, 24, 3, 0 }, { 22, -33, 36, 24, 3, 0 }, + { 22, -34, 37, 24, 3, 0 }, { 22, -35, 38, 24, 3, 0 }, { 22, -36, 39, 24, 3, 0 }, { 22, -37, 40, 24, 3, 0 }, { 23, -38, 41, 24, 3, 0 }, + { 23, -39, 42, 24, 3, 0 }, { 23, -40, 42, 24, 3, 0 }, { 23, -41, 43, 24, 3, 0 }, { 23, -42, 44, 24, 3, 0 }, { 23, -43, 45, 24, 3, 0 }, + { 23, -44, 46, 24, 3, 0 }, { 23, -45, 47, 24, 3, 0 }, { 23, -46, 48, 24, 3, 0 }, { 24, -47, 49, 24, 3, 0 }, { 24, -48, 50, 24, 3, 0 }, + { 24, -49, 51, 24, 3, 0 }, { 24, -50, 52, 24, 3, 0 }, { 24, -50, 53, 24, 3, 0 }, { 24, -51, 54, 24, 3, 0 }, { 24, -52, 55, 24, 3, 0 }, + { 24, -53, 56, 24, 3, 0 }, { 24, -54, 57, 24, 3, 0 }, { 24, -55, 58, 24, 3, 0 }, { 25, -56, 59, 24, 3, 0 }, { 25, -57, 60, 24, 3, 0 }, + { 25, -57, 61, 24, 3, 0 }, { 25, -58, 62, 24, 3, 0 }, { 25, -59, 63, 24, 3, 0 }, { 25, -59, 64, 24, 3, 0 }, { 25, -60, 65, 24, 3, 0 }, + { 25, -61, 66, 24, 3, 0 }, { 25, -61, 67, 24, 3, 0 }, { 25, -62, 68, 24, 3, 0 }, { 26, -63, 69, 24, 3, 0 }, { 26, -64, 70, 24, 3, 0 }, + { 26, -64, 71, 24, 3, 0 }, { 26, -65, 72, 24, 3, 0 }, { 26, -66, 73, 24, 3, 0 }, { 26, -66, 74, 24, 3, 0 }, { 26, -67, 75, 24, 3, 0 }, + { 26, -68, 76, 24, 3, 0 }, { 26, -68, 77, 24, 3, 0 }, { 27, -69, 78, 24, 3, 0 }, { 27, -69, 79, 24, 3, 0 }, { 27, -70, 80, 24, 4, 0 }, + { 27, -71, 81, 24, 4, 0 }, { 27, -71, 82, 24, 4, 0 }, { 27, -72, 83, 24, 4, 0 }, { 27, -72, 84, 24, 4, 0 }, { 27, -73, 85, 24, 4, 0 }, + { 27, -74, 86, 24, 4, 0 }, { 27, -74, 87, 24, 4, 0 }, { 28, -75, 88, 24, 4, 0 }, { 28, -75, 89, 24, 4, 0 }, { 28, -76, 90, 24, 4, 0 }, + { 28, -76, 91, 24, 4, 0 }, { 28, -77, 92, 24, 4, 0 }, { 28, -77, 93, 24, 4, 0 }, { 28, -78, 94, 24, 4, 0 }, { 28, -78, 95, 24, 4, 0 }, + { 28, -78, 96, 24, 4, 0 }, { 28, -79, 97, 24, 4, 0 }, { 29, -79, 98, 24, 4, 0 }, { 29, -80, 99, 24, 4, 0 }, { 29, -80, 100, 24, 4, 0 }, + { 29, -81, 101, 24, 4, 0 }, { 29, -81, 102, 24, 4, 0 }, { 29, -81, 103, 24, 4, 0 }, { 29, -82, 104, 24, 4, 0 }, { 29, -82, 105, 24, 4, 0 }, + { 29, -83, 106, 24, 4, 0 }, { 29, -83, 107, 24, 4, 0 }, { 30, -83, 108, 24, 4, 0 }, { 30, -84, 109, 24, 4, 0 }, { 30, -84, 110, 24, 4, 0 }, + { 30, -85, 111, 24, 4, 0 }, { 30, -85, 112, 24, 4, 0 }, { 30, -86, 113, 24, 4, 0 }, { 30, -86, 114, 24, 4, 0 }, { 30, -86, 115, 24, 4, 0 }, + { 30, -87, 116, 24, 9, 0 }, { 31, -87, 117, 24, 9, 0 }, { 31, -87, 118, 24, 9, 0 }, { 31, -87, 119, 24, 9, 0 }, { 31, -88, 120, 24, 9, 0 }, + { 31, -88, 121, 24, 9, 0 }, { 31, -88, 122, 24, 9, 0 }, { 31, -89, 123, 24, 9, 0 }, { 31, -89, 124, 24, 9, 0 }, { 31, -89, 125, 24, 9, 0 }, + { 31, -90, 126, 24, 9, 0 }, { 32, -90, 127, 24, 9, 0 }, { 32, -90, 128, 24, 9, 0 }, { 32, -90, 129, 24, 9, 0 }, { 32, -91, 130, 24, 9, 0 }, + { 32, -91, 131, 24, 9, 0 }, { 32, -91, 132, 24, 9, 0 }, { 32, -91, 133, 24, 9, 0 }, { 32, -91, 134, 24, 9, 0 }, { 32, -92, 135, 24, 9, 0 }, + { 32, -92, 136, 24, 9, 0 }, { 33, -92, 137, 24, 9, 0 }, { 33, -92, 138, 24, 9, 0 }, { 33, -92, 139, 24, 9, 0 }, { 33, -92, 140, 24, 9, 0 }, + { 33, -93, 141, 24, 9, 0 }, { 33, -93, 142, 24, 9, 0 }, { 33, -93, 143, 24, 9, 0 }, { 33, -93, 144, 24, 9, 0 }, { 33, -93, 145, 24, 9, 0 }, + { 34, -93, 146, 24, 9, 0 }, { 34, -94, 147, 24, 9, 0 }, { 34, -94, 148, 24, 9, 0 }, { 34, -94, 149, 24, 10, 0 }, { 34, -94, 150, 24, 10, 0 }, + { 34, -94, 151, 24, 10, 0 }, { 34, -94, 152, 24, 10, 0 }, { 34, -94, 153, 24, 10, 0 }, { 34, -94, 154, 24, 10, 0 }, { 34, -94, 155, 24, 10, 0 }, + { 35, -94, 156, 24, 10, 0 }, { 35, -94, 157, 24, 10, 0 }, { 35, -94, 158, 24, 10, 0 }, { 35, -94, 159, 24, 10, 0 }, { 35, -94, 160, 24, 10, 0 }, + { 35, -94, 161, 24, 10, 0 }, { 35, -94, 162, 24, 10, 0 }, { 35, -94, 163, 24, 10, 0 }, { 35, -94, 164, 24, 10, 0 }, { 35, -94, 165, 24, 10, 0 }, + { 36, -94, 166, 24, 10, 0 }, { 36, -94, 167, 24, 10, 0 }, { 36, -94, 168, 24, 10, 0 }, { 36, -94, 169, 24, 10, 0 }, { 36, -94, 170, 24, 10, 0 }, + { 36, -94, 171, 24, 10, 0 }, { 36, -94, 172, 24, 10, 0 }, { 36, -94, 173, 24, 10, 0 }, { 36, -94, 174, 24, 10, 0 }, { 36, -94, 175, 24, 10, 0 }, + { 37, -94, 176, 24, 10, 0 }, { 37, -94, 177, 24, 10, 0 }, { 37, -94, 178, 24, 10, 0 }, { 37, -94, 179, 24, 10, 0 }, { 37, -94, 180, 24, 10, 0 }, + { 37, -94, 181, 24, 10, 0 }, { 37, -94, 182, 24, 10, 0 }, { 37, -94, 183, 24, 10, 0 }, { 37, -94, 184, 24, 10, 0 }, { 38, -94, 185, 24, 10, 0 }, + { 38, -94, 186, 24, 11, 0 }, { 38, -94, 187, 24, 11, 0 }, { 38, -93, 188, 24, 11, 0 }, { 38, -93, 189, 24, 11, 0 }, { 38, -93, 190, 24, 11, 0 }, + { 38, -93, 191, 24, 11, 0 }, { 38, -93, 192, 24, 11, 0 }, { 38, -93, 193, 24, 11, 0 }, { 38, -93, 194, 24, 11, 0 }, { 39, -93, 195, 24, 11, 0 }, + { 39, -92, 196, 24, 11, 0 }, { 39, -92, 197, 24, 11, 0 }, { 39, -92, 198, 24, 11, 0 }, { 39, -92, 199, 24, 11, 0 }, { 39, -92, 200, 24, 11, 0 }, + { 39, -92, 201, 24, 11, 0 }, { 39, -91, 202, 24, 11, 0 }, { 39, -91, 203, 24, 11, 0 }, { 39, -91, 204, 24, 11, 0 }, { 40, -91, 205, 24, 11, 0 }, + { 40, -90, 206, 24, 11, 0 }, { 40, -90, 207, 24, 11, 0 }, { 40, -90, 208, 24, 11, 0 }, { 40, -90, 209, 24, 11, 0 }, { 40, -89, 210, 24, 12, 0 }, + { 40, -89, 211, 24, 12, 0 }, { 40, -89, 212, 24, 12, 0 }, { 40, -88, 213, 24, 12, 0 }, { 41, -88, 214, 24, 12, 0 }, { 41, -87, 215, 24, 12, 0 }, + { 41, -87, 216, 24, 12, 0 }, { 41, -87, 217, 24, 12, 0 }, { 41, -86, 218, 24, 12, 0 }, { 41, -86, 219, 24, 12, 0 }, { 41, -86, 220, 24, 12, 0 }, + { 41, -85, 221, 24, 12, 0 }, { 41, -85, 222, 24, 12, 0 }, { 41, -84, 223, 24, 12, 0 }, { 42, -84, 224, 24, 12, 0 }, { 42, -83, 225, 24, 13, 0 }, + { 42, -83, 226, 24, 13, 0 }, { 42, -82, 227, 24, 13, 0 }, { 42, -82, 228, 24, 13, 0 }, { 42, -81, 229, 24, 13, 0 }, { 42, -81, 230, 24, 13, 0 }, + { 42, -80, 231, 24, 13, 0 }, { 42, -80, 232, 24, 13, 0 }, { 42, -79, 233, 24, 13, 0 }, { 43, -78, 234, 24, 13, 0 }, { 43, -78, 235, 24, 13, 0 }, + { 43, -77, 236, 24, 13, 0 }, { 43, -76, 237, 24, 13, 0 }, { 43, -76, 238, 24, 13, 0 }, { 43, -75, 239, 24, 13, 0 }, { 43, -74, 240, 24, 14, 0 }, + { 43, -73, 241, 24, 14, 0 }, { 43, -73, 242, 24, 14, 0 }, { 43, -72, 243, 24, 14, 0 }, { 44, -71, 244, 24, 14, 0 }, { 44, -70, 245, 24, 14, 0 }, + { 44, -69, 246, 24, 14, 0 }, { 44, -68, 247, 24, 14, 0 }, { 44, -67, 248, 24, 14, 0 }, { 44, -66, 249, 24, 14, 0 }, { 44, -65, 250, 24, 14, 0 }, + { 44, -64, 251, 24, 14, 0 }, { 44, -63, 252, 24, 14, 0 }, { 45, -62, 253, 24, 15, 0 }, { 45, -61, 253, 24, 15, 0 }, { 45, -60, 254, 24, 15, 0 }, + { 45, -59, 255, 24, 15, 0 }, { 45, -58, 256, 24, 15, 0 }, { 45, -57, 256, 24, 15, 0 }, { 45, -56, 257, 24, 15, 0 }, { 45, -55, 258, 24, 15, 0 }, + { 45, -54, 258, 24, 15, 0 }, { 45, -53, 259, 24, 15, 0 }, { 46, -52, 259, 24, 15, 0 }, { 46, -51, 260, 24, 15, 0 }, { 46, -50, 260, 24, 15, 0 }, + { 46, -49, 261, 24, 15, 0 }, { 46, -48, 261, 24, 15, 0 }, { 46, -47, 262, 24, 16, 0 }, { 46, -46, 262, 24, 16, 0 }, { 46, -45, 262, 24, 16, 0 }, + { 46, -44, 263, 24, 16, 0 }, { 46, -43, 263, 24, 16, 0 }, { 47, -42, 263, 24, 16, 0 }, { 47, -41, 263, 24, 16, 0 }, { 47, -40, 264, 24, 16, 0 }, + { 47, -39, 264, 24, 16, 0 }, { 47, -38, 264, 24, 16, 0 }, { 47, -37, 264, 24, 16, 0 }, { 47, -36, 264, 24, 16, 0 }, { 47, -35, 264, 24, 16, 0 }, + { 47, -34, 264, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_922CAC = { - 311, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 4, 0, 2, 0 }, { 22, 16, 4, 0, 2, 0 }, - { 21, 17, 5, 0, 2, 0 }, { 20, 17, 5, 0, 2, 0 }, { 19, 17, 6, 0, 2, 0 }, { 18, 17, 6, 0, 2, 0 }, { 17, 17, 7, 0, 2, 0 }, - { 16, 17, 7, 0, 2, 0 }, { 15, 17, 8, 0, 2, 0 }, { 14, 17, 8, 0, 2, 0 }, { 13, 17, 9, 0, 2, 0 }, { 12, 17, 9, 0, 2, 0 }, - { 11, 18, 10, 0, 2, 0 }, { 10, 18, 10, 0, 2, 0 }, { 9, 18, 11, 0, 2, 0 }, { 8, 18, 11, 0, 2, 0 }, { 7, 18, 12, 0, 2, 0 }, - { 6, 18, 12, 0, 2, 0 }, { 5, 18, 13, 0, 2, 0 }, { 4, 18, 13, 0, 2, 0 }, { 3, 18, 14, 0, 2, 0 }, { 2, 18, 14, 0, 2, 0 }, - { 1, 19, 15, 0, 2, 0 }, { 0, 19, 15, 0, 2, 0 }, { -1, 19, 16, 0, 2, 0 }, { -2, 19, 16, 0, 2, 0 }, { -3, 19, 17, 0, 2, 0 }, - { -4, 19, 17, 0, 2, 0 }, { -5, 19, 18, 0, 2, 0 }, { -6, 19, 18, 0, 2, 0 }, { -7, 19, 19, 0, 2, 0 }, { -8, 20, 19, 0, 2, 0 }, - { -9, 20, 20, 0, 2, 0 }, { -10, 20, 21, 0, 2, 0 }, { -11, 20, 21, 0, 2, 0 }, { -12, 20, 22, 0, 2, 0 }, { -13, 20, 22, 0, 2, 0 }, - { -14, 20, 23, 0, 2, 0 }, { -15, 20, 24, 0, 2, 0 }, { -16, 20, 24, 0, 2, 0 }, { -17, 20, 25, 0, 2, 0 }, { -18, 21, 25, 0, 2, 0 }, - { -19, 21, 26, 0, 2, 0 }, { -20, 21, 27, 0, 2, 0 }, { -21, 21, 27, 0, 2, 0 }, { -22, 21, 28, 0, 2, 0 }, { -23, 21, 29, 0, 2, 0 }, - { -24, 21, 30, 0, 2, 0 }, { -25, 21, 30, 0, 2, 0 }, { -26, 21, 31, 0, 2, 0 }, { -27, 21, 32, 0, 2, 0 }, { -28, 22, 33, 0, 2, 0 }, - { -29, 22, 33, 0, 2, 0 }, { -30, 22, 34, 0, 2, 0 }, { -31, 22, 35, 0, 3, 0 }, { -32, 22, 36, 0, 3, 0 }, { -33, 22, 36, 0, 3, 0 }, - { -34, 22, 37, 0, 3, 0 }, { -35, 22, 38, 0, 3, 0 }, { -36, 22, 39, 0, 3, 0 }, { -37, 22, 40, 0, 3, 0 }, { -38, 23, 41, 0, 3, 0 }, - { -39, 23, 42, 0, 3, 0 }, { -40, 23, 42, 0, 3, 0 }, { -41, 23, 43, 0, 3, 0 }, { -42, 23, 44, 0, 3, 0 }, { -43, 23, 45, 0, 3, 0 }, - { -44, 23, 46, 0, 3, 0 }, { -45, 23, 47, 0, 3, 0 }, { -46, 23, 48, 0, 3, 0 }, { -47, 24, 49, 0, 3, 0 }, { -48, 24, 50, 0, 3, 0 }, - { -49, 24, 51, 0, 3, 0 }, { -50, 24, 52, 0, 3, 0 }, { -50, 24, 53, 0, 3, 0 }, { -51, 24, 54, 0, 3, 0 }, { -52, 24, 55, 0, 3, 0 }, - { -53, 24, 56, 0, 3, 0 }, { -54, 24, 57, 0, 3, 0 }, { -55, 24, 58, 0, 3, 0 }, { -56, 25, 59, 0, 3, 0 }, { -57, 25, 60, 0, 3, 0 }, - { -57, 25, 61, 0, 3, 0 }, { -58, 25, 62, 0, 3, 0 }, { -59, 25, 63, 0, 3, 0 }, { -59, 25, 64, 0, 3, 0 }, { -60, 25, 65, 0, 3, 0 }, - { -61, 25, 66, 0, 3, 0 }, { -61, 25, 67, 0, 3, 0 }, { -62, 25, 68, 0, 3, 0 }, { -63, 26, 69, 0, 3, 0 }, { -64, 26, 70, 0, 3, 0 }, - { -64, 26, 71, 0, 3, 0 }, { -65, 26, 72, 0, 3, 0 }, { -66, 26, 73, 0, 3, 0 }, { -66, 26, 74, 0, 3, 0 }, { -67, 26, 75, 0, 3, 0 }, - { -68, 26, 76, 0, 3, 0 }, { -68, 26, 77, 0, 3, 0 }, { -69, 27, 78, 0, 3, 0 }, { -69, 27, 79, 0, 3, 0 }, { -70, 27, 80, 0, 4, 0 }, - { -71, 27, 81, 0, 4, 0 }, { -71, 27, 82, 0, 4, 0 }, { -72, 27, 83, 0, 4, 0 }, { -72, 27, 84, 0, 4, 0 }, { -73, 27, 85, 0, 4, 0 }, - { -74, 27, 86, 0, 4, 0 }, { -74, 27, 87, 0, 4, 0 }, { -75, 28, 88, 0, 4, 0 }, { -75, 28, 89, 0, 4, 0 }, { -76, 28, 90, 0, 4, 0 }, - { -76, 28, 91, 0, 4, 0 }, { -77, 28, 92, 0, 4, 0 }, { -77, 28, 93, 0, 4, 0 }, { -78, 28, 94, 0, 4, 0 }, { -78, 28, 95, 0, 4, 0 }, - { -78, 28, 96, 0, 4, 0 }, { -79, 28, 97, 0, 4, 0 }, { -79, 29, 98, 0, 4, 0 }, { -80, 29, 99, 0, 4, 0 }, { -80, 29, 100, 0, 4, 0 }, - { -81, 29, 101, 0, 4, 0 }, { -81, 29, 102, 0, 4, 0 }, { -81, 29, 103, 0, 4, 0 }, { -82, 29, 104, 0, 4, 0 }, { -82, 29, 105, 0, 4, 0 }, - { -83, 29, 106, 0, 4, 0 }, { -83, 29, 107, 0, 4, 0 }, { -83, 30, 108, 0, 4, 0 }, { -84, 30, 109, 0, 4, 0 }, { -84, 30, 110, 0, 4, 0 }, - { -85, 30, 111, 0, 4, 0 }, { -85, 30, 112, 0, 4, 0 }, { -86, 30, 113, 0, 4, 0 }, { -86, 30, 114, 0, 4, 0 }, { -86, 30, 115, 0, 4, 0 }, - { -87, 30, 116, 0, 9, 0 }, { -87, 31, 117, 0, 9, 0 }, { -87, 31, 118, 0, 9, 0 }, { -87, 31, 119, 0, 9, 0 }, { -88, 31, 120, 0, 9, 0 }, - { -88, 31, 121, 0, 9, 0 }, { -88, 31, 122, 0, 9, 0 }, { -89, 31, 123, 0, 9, 0 }, { -89, 31, 124, 0, 9, 0 }, { -89, 31, 125, 0, 9, 0 }, - { -90, 31, 126, 0, 9, 0 }, { -90, 32, 127, 0, 9, 0 }, { -90, 32, 128, 0, 9, 0 }, { -90, 32, 129, 0, 9, 0 }, { -91, 32, 130, 0, 9, 0 }, - { -91, 32, 131, 0, 9, 0 }, { -91, 32, 132, 0, 9, 0 }, { -91, 32, 133, 0, 9, 0 }, { -91, 32, 134, 0, 9, 0 }, { -92, 32, 135, 0, 9, 0 }, - { -92, 32, 136, 0, 9, 0 }, { -92, 33, 137, 0, 9, 0 }, { -92, 33, 138, 0, 9, 0 }, { -92, 33, 139, 0, 9, 0 }, { -92, 33, 140, 0, 9, 0 }, - { -93, 33, 141, 0, 9, 0 }, { -93, 33, 142, 0, 9, 0 }, { -93, 33, 143, 0, 9, 0 }, { -93, 33, 144, 0, 9, 0 }, { -93, 33, 145, 0, 9, 0 }, - { -93, 34, 146, 0, 9, 0 }, { -94, 34, 147, 0, 9, 0 }, { -94, 34, 148, 0, 9, 0 }, { -94, 34, 149, 0, 10, 0 }, { -94, 34, 150, 0, 10, 0 }, - { -94, 34, 151, 0, 10, 0 }, { -94, 34, 152, 0, 10, 0 }, { -94, 34, 153, 0, 10, 0 }, { -94, 34, 154, 0, 10, 0 }, { -94, 34, 155, 0, 10, 0 }, - { -94, 35, 156, 0, 10, 0 }, { -94, 35, 157, 0, 10, 0 }, { -94, 35, 158, 0, 10, 0 }, { -94, 35, 159, 0, 10, 0 }, { -94, 35, 160, 0, 10, 0 }, - { -94, 35, 161, 0, 10, 0 }, { -94, 35, 162, 0, 10, 0 }, { -94, 35, 163, 0, 10, 0 }, { -94, 35, 164, 0, 10, 0 }, { -94, 35, 165, 0, 10, 0 }, - { -94, 36, 166, 0, 10, 0 }, { -94, 36, 167, 0, 10, 0 }, { -94, 36, 168, 0, 10, 0 }, { -94, 36, 169, 0, 10, 0 }, { -94, 36, 170, 0, 10, 0 }, - { -94, 36, 171, 0, 10, 0 }, { -94, 36, 172, 0, 10, 0 }, { -94, 36, 173, 0, 10, 0 }, { -94, 36, 174, 0, 10, 0 }, { -94, 36, 175, 0, 10, 0 }, - { -94, 37, 176, 0, 10, 0 }, { -94, 37, 177, 0, 10, 0 }, { -94, 37, 178, 0, 10, 0 }, { -94, 37, 179, 0, 10, 0 }, { -94, 37, 180, 0, 10, 0 }, - { -94, 37, 181, 0, 10, 0 }, { -94, 37, 182, 0, 10, 0 }, { -94, 37, 183, 0, 10, 0 }, { -94, 37, 184, 0, 10, 0 }, { -94, 38, 185, 0, 10, 0 }, - { -94, 38, 186, 0, 11, 0 }, { -94, 38, 187, 0, 11, 0 }, { -93, 38, 188, 0, 11, 0 }, { -93, 38, 189, 0, 11, 0 }, { -93, 38, 190, 0, 11, 0 }, - { -93, 38, 191, 0, 11, 0 }, { -93, 38, 192, 0, 11, 0 }, { -93, 38, 193, 0, 11, 0 }, { -93, 38, 194, 0, 11, 0 }, { -93, 39, 195, 0, 11, 0 }, - { -92, 39, 196, 0, 11, 0 }, { -92, 39, 197, 0, 11, 0 }, { -92, 39, 198, 0, 11, 0 }, { -92, 39, 199, 0, 11, 0 }, { -92, 39, 200, 0, 11, 0 }, - { -92, 39, 201, 0, 11, 0 }, { -91, 39, 202, 0, 11, 0 }, { -91, 39, 203, 0, 11, 0 }, { -91, 39, 204, 0, 11, 0 }, { -91, 40, 205, 0, 11, 0 }, - { -90, 40, 206, 0, 11, 0 }, { -90, 40, 207, 0, 11, 0 }, { -90, 40, 208, 0, 11, 0 }, { -90, 40, 209, 0, 11, 0 }, { -89, 40, 210, 0, 12, 0 }, - { -89, 40, 211, 0, 12, 0 }, { -89, 40, 212, 0, 12, 0 }, { -88, 40, 213, 0, 12, 0 }, { -88, 41, 214, 0, 12, 0 }, { -87, 41, 215, 0, 12, 0 }, - { -87, 41, 216, 0, 12, 0 }, { -87, 41, 217, 0, 12, 0 }, { -86, 41, 218, 0, 12, 0 }, { -86, 41, 219, 0, 12, 0 }, { -86, 41, 220, 0, 12, 0 }, - { -85, 41, 221, 0, 12, 0 }, { -85, 41, 222, 0, 12, 0 }, { -84, 41, 223, 0, 12, 0 }, { -84, 42, 224, 0, 12, 0 }, { -83, 42, 225, 0, 13, 0 }, - { -83, 42, 226, 0, 13, 0 }, { -82, 42, 227, 0, 13, 0 }, { -82, 42, 228, 0, 13, 0 }, { -81, 42, 229, 0, 13, 0 }, { -81, 42, 230, 0, 13, 0 }, - { -80, 42, 231, 0, 13, 0 }, { -80, 42, 232, 0, 13, 0 }, { -79, 42, 233, 0, 13, 0 }, { -78, 43, 234, 0, 13, 0 }, { -78, 43, 235, 0, 13, 0 }, - { -77, 43, 236, 0, 13, 0 }, { -76, 43, 237, 0, 13, 0 }, { -76, 43, 238, 0, 13, 0 }, { -75, 43, 239, 0, 13, 0 }, { -74, 43, 240, 0, 14, 0 }, - { -73, 43, 241, 0, 14, 0 }, { -73, 43, 242, 0, 14, 0 }, { -72, 43, 243, 0, 14, 0 }, { -71, 44, 244, 0, 14, 0 }, { -70, 44, 245, 0, 14, 0 }, - { -69, 44, 246, 0, 14, 0 }, { -68, 44, 247, 0, 14, 0 }, { -67, 44, 248, 0, 14, 0 }, { -66, 44, 249, 0, 14, 0 }, { -65, 44, 250, 0, 14, 0 }, - { -64, 44, 251, 0, 14, 0 }, { -63, 44, 252, 0, 14, 0 }, { -62, 45, 253, 0, 15, 0 }, { -61, 45, 253, 0, 15, 0 }, { -60, 45, 254, 0, 15, 0 }, - { -59, 45, 255, 0, 15, 0 }, { -58, 45, 256, 0, 15, 0 }, { -57, 45, 256, 0, 15, 0 }, { -56, 45, 257, 0, 15, 0 }, { -55, 45, 258, 0, 15, 0 }, - { -54, 45, 258, 0, 15, 0 }, { -53, 45, 259, 0, 15, 0 }, { -52, 46, 259, 0, 15, 0 }, { -51, 46, 260, 0, 15, 0 }, { -50, 46, 260, 0, 15, 0 }, - { -49, 46, 261, 0, 15, 0 }, { -48, 46, 261, 0, 15, 0 }, { -47, 46, 262, 0, 16, 0 }, { -46, 46, 262, 0, 16, 0 }, { -45, 46, 262, 0, 16, 0 }, - { -44, 46, 263, 0, 16, 0 }, { -43, 46, 263, 0, 16, 0 }, { -42, 47, 263, 0, 16, 0 }, { -41, 47, 263, 0, 16, 0 }, { -40, 47, 264, 0, 16, 0 }, - { -39, 47, 264, 0, 16, 0 }, { -38, 47, 264, 0, 16, 0 }, { -37, 47, 264, 0, 16, 0 }, { -36, 47, 264, 0, 16, 0 }, { -35, 47, 264, 0, 16, 0 }, - { -34, 47, 264, 0, 16, 0 }, + 311, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 0, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 1, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 2, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 3, 0, 2, 0 }, { 23, 16, 4, 0, 2, 0 }, { 22, 16, 4, 0, 2, 0 }, + { 21, 17, 5, 0, 2, 0 }, { 20, 17, 5, 0, 2, 0 }, { 19, 17, 6, 0, 2, 0 }, { 18, 17, 6, 0, 2, 0 }, { 17, 17, 7, 0, 2, 0 }, + { 16, 17, 7, 0, 2, 0 }, { 15, 17, 8, 0, 2, 0 }, { 14, 17, 8, 0, 2, 0 }, { 13, 17, 9, 0, 2, 0 }, { 12, 17, 9, 0, 2, 0 }, + { 11, 18, 10, 0, 2, 0 }, { 10, 18, 10, 0, 2, 0 }, { 9, 18, 11, 0, 2, 0 }, { 8, 18, 11, 0, 2, 0 }, { 7, 18, 12, 0, 2, 0 }, + { 6, 18, 12, 0, 2, 0 }, { 5, 18, 13, 0, 2, 0 }, { 4, 18, 13, 0, 2, 0 }, { 3, 18, 14, 0, 2, 0 }, { 2, 18, 14, 0, 2, 0 }, + { 1, 19, 15, 0, 2, 0 }, { 0, 19, 15, 0, 2, 0 }, { -1, 19, 16, 0, 2, 0 }, { -2, 19, 16, 0, 2, 0 }, { -3, 19, 17, 0, 2, 0 }, + { -4, 19, 17, 0, 2, 0 }, { -5, 19, 18, 0, 2, 0 }, { -6, 19, 18, 0, 2, 0 }, { -7, 19, 19, 0, 2, 0 }, { -8, 20, 19, 0, 2, 0 }, + { -9, 20, 20, 0, 2, 0 }, { -10, 20, 21, 0, 2, 0 }, { -11, 20, 21, 0, 2, 0 }, { -12, 20, 22, 0, 2, 0 }, { -13, 20, 22, 0, 2, 0 }, + { -14, 20, 23, 0, 2, 0 }, { -15, 20, 24, 0, 2, 0 }, { -16, 20, 24, 0, 2, 0 }, { -17, 20, 25, 0, 2, 0 }, { -18, 21, 25, 0, 2, 0 }, + { -19, 21, 26, 0, 2, 0 }, { -20, 21, 27, 0, 2, 0 }, { -21, 21, 27, 0, 2, 0 }, { -22, 21, 28, 0, 2, 0 }, { -23, 21, 29, 0, 2, 0 }, + { -24, 21, 30, 0, 2, 0 }, { -25, 21, 30, 0, 2, 0 }, { -26, 21, 31, 0, 2, 0 }, { -27, 21, 32, 0, 2, 0 }, { -28, 22, 33, 0, 2, 0 }, + { -29, 22, 33, 0, 2, 0 }, { -30, 22, 34, 0, 2, 0 }, { -31, 22, 35, 0, 3, 0 }, { -32, 22, 36, 0, 3, 0 }, { -33, 22, 36, 0, 3, 0 }, + { -34, 22, 37, 0, 3, 0 }, { -35, 22, 38, 0, 3, 0 }, { -36, 22, 39, 0, 3, 0 }, { -37, 22, 40, 0, 3, 0 }, { -38, 23, 41, 0, 3, 0 }, + { -39, 23, 42, 0, 3, 0 }, { -40, 23, 42, 0, 3, 0 }, { -41, 23, 43, 0, 3, 0 }, { -42, 23, 44, 0, 3, 0 }, { -43, 23, 45, 0, 3, 0 }, + { -44, 23, 46, 0, 3, 0 }, { -45, 23, 47, 0, 3, 0 }, { -46, 23, 48, 0, 3, 0 }, { -47, 24, 49, 0, 3, 0 }, { -48, 24, 50, 0, 3, 0 }, + { -49, 24, 51, 0, 3, 0 }, { -50, 24, 52, 0, 3, 0 }, { -50, 24, 53, 0, 3, 0 }, { -51, 24, 54, 0, 3, 0 }, { -52, 24, 55, 0, 3, 0 }, + { -53, 24, 56, 0, 3, 0 }, { -54, 24, 57, 0, 3, 0 }, { -55, 24, 58, 0, 3, 0 }, { -56, 25, 59, 0, 3, 0 }, { -57, 25, 60, 0, 3, 0 }, + { -57, 25, 61, 0, 3, 0 }, { -58, 25, 62, 0, 3, 0 }, { -59, 25, 63, 0, 3, 0 }, { -59, 25, 64, 0, 3, 0 }, { -60, 25, 65, 0, 3, 0 }, + { -61, 25, 66, 0, 3, 0 }, { -61, 25, 67, 0, 3, 0 }, { -62, 25, 68, 0, 3, 0 }, { -63, 26, 69, 0, 3, 0 }, { -64, 26, 70, 0, 3, 0 }, + { -64, 26, 71, 0, 3, 0 }, { -65, 26, 72, 0, 3, 0 }, { -66, 26, 73, 0, 3, 0 }, { -66, 26, 74, 0, 3, 0 }, { -67, 26, 75, 0, 3, 0 }, + { -68, 26, 76, 0, 3, 0 }, { -68, 26, 77, 0, 3, 0 }, { -69, 27, 78, 0, 3, 0 }, { -69, 27, 79, 0, 3, 0 }, { -70, 27, 80, 0, 4, 0 }, + { -71, 27, 81, 0, 4, 0 }, { -71, 27, 82, 0, 4, 0 }, { -72, 27, 83, 0, 4, 0 }, { -72, 27, 84, 0, 4, 0 }, { -73, 27, 85, 0, 4, 0 }, + { -74, 27, 86, 0, 4, 0 }, { -74, 27, 87, 0, 4, 0 }, { -75, 28, 88, 0, 4, 0 }, { -75, 28, 89, 0, 4, 0 }, { -76, 28, 90, 0, 4, 0 }, + { -76, 28, 91, 0, 4, 0 }, { -77, 28, 92, 0, 4, 0 }, { -77, 28, 93, 0, 4, 0 }, { -78, 28, 94, 0, 4, 0 }, { -78, 28, 95, 0, 4, 0 }, + { -78, 28, 96, 0, 4, 0 }, { -79, 28, 97, 0, 4, 0 }, { -79, 29, 98, 0, 4, 0 }, { -80, 29, 99, 0, 4, 0 }, { -80, 29, 100, 0, 4, 0 }, + { -81, 29, 101, 0, 4, 0 }, { -81, 29, 102, 0, 4, 0 }, { -81, 29, 103, 0, 4, 0 }, { -82, 29, 104, 0, 4, 0 }, { -82, 29, 105, 0, 4, 0 }, + { -83, 29, 106, 0, 4, 0 }, { -83, 29, 107, 0, 4, 0 }, { -83, 30, 108, 0, 4, 0 }, { -84, 30, 109, 0, 4, 0 }, { -84, 30, 110, 0, 4, 0 }, + { -85, 30, 111, 0, 4, 0 }, { -85, 30, 112, 0, 4, 0 }, { -86, 30, 113, 0, 4, 0 }, { -86, 30, 114, 0, 4, 0 }, { -86, 30, 115, 0, 4, 0 }, + { -87, 30, 116, 0, 9, 0 }, { -87, 31, 117, 0, 9, 0 }, { -87, 31, 118, 0, 9, 0 }, { -87, 31, 119, 0, 9, 0 }, { -88, 31, 120, 0, 9, 0 }, + { -88, 31, 121, 0, 9, 0 }, { -88, 31, 122, 0, 9, 0 }, { -89, 31, 123, 0, 9, 0 }, { -89, 31, 124, 0, 9, 0 }, { -89, 31, 125, 0, 9, 0 }, + { -90, 31, 126, 0, 9, 0 }, { -90, 32, 127, 0, 9, 0 }, { -90, 32, 128, 0, 9, 0 }, { -90, 32, 129, 0, 9, 0 }, { -91, 32, 130, 0, 9, 0 }, + { -91, 32, 131, 0, 9, 0 }, { -91, 32, 132, 0, 9, 0 }, { -91, 32, 133, 0, 9, 0 }, { -91, 32, 134, 0, 9, 0 }, { -92, 32, 135, 0, 9, 0 }, + { -92, 32, 136, 0, 9, 0 }, { -92, 33, 137, 0, 9, 0 }, { -92, 33, 138, 0, 9, 0 }, { -92, 33, 139, 0, 9, 0 }, { -92, 33, 140, 0, 9, 0 }, + { -93, 33, 141, 0, 9, 0 }, { -93, 33, 142, 0, 9, 0 }, { -93, 33, 143, 0, 9, 0 }, { -93, 33, 144, 0, 9, 0 }, { -93, 33, 145, 0, 9, 0 }, + { -93, 34, 146, 0, 9, 0 }, { -94, 34, 147, 0, 9, 0 }, { -94, 34, 148, 0, 9, 0 }, { -94, 34, 149, 0, 10, 0 }, { -94, 34, 150, 0, 10, 0 }, + { -94, 34, 151, 0, 10, 0 }, { -94, 34, 152, 0, 10, 0 }, { -94, 34, 153, 0, 10, 0 }, { -94, 34, 154, 0, 10, 0 }, { -94, 34, 155, 0, 10, 0 }, + { -94, 35, 156, 0, 10, 0 }, { -94, 35, 157, 0, 10, 0 }, { -94, 35, 158, 0, 10, 0 }, { -94, 35, 159, 0, 10, 0 }, { -94, 35, 160, 0, 10, 0 }, + { -94, 35, 161, 0, 10, 0 }, { -94, 35, 162, 0, 10, 0 }, { -94, 35, 163, 0, 10, 0 }, { -94, 35, 164, 0, 10, 0 }, { -94, 35, 165, 0, 10, 0 }, + { -94, 36, 166, 0, 10, 0 }, { -94, 36, 167, 0, 10, 0 }, { -94, 36, 168, 0, 10, 0 }, { -94, 36, 169, 0, 10, 0 }, { -94, 36, 170, 0, 10, 0 }, + { -94, 36, 171, 0, 10, 0 }, { -94, 36, 172, 0, 10, 0 }, { -94, 36, 173, 0, 10, 0 }, { -94, 36, 174, 0, 10, 0 }, { -94, 36, 175, 0, 10, 0 }, + { -94, 37, 176, 0, 10, 0 }, { -94, 37, 177, 0, 10, 0 }, { -94, 37, 178, 0, 10, 0 }, { -94, 37, 179, 0, 10, 0 }, { -94, 37, 180, 0, 10, 0 }, + { -94, 37, 181, 0, 10, 0 }, { -94, 37, 182, 0, 10, 0 }, { -94, 37, 183, 0, 10, 0 }, { -94, 37, 184, 0, 10, 0 }, { -94, 38, 185, 0, 10, 0 }, + { -94, 38, 186, 0, 11, 0 }, { -94, 38, 187, 0, 11, 0 }, { -93, 38, 188, 0, 11, 0 }, { -93, 38, 189, 0, 11, 0 }, { -93, 38, 190, 0, 11, 0 }, + { -93, 38, 191, 0, 11, 0 }, { -93, 38, 192, 0, 11, 0 }, { -93, 38, 193, 0, 11, 0 }, { -93, 38, 194, 0, 11, 0 }, { -93, 39, 195, 0, 11, 0 }, + { -92, 39, 196, 0, 11, 0 }, { -92, 39, 197, 0, 11, 0 }, { -92, 39, 198, 0, 11, 0 }, { -92, 39, 199, 0, 11, 0 }, { -92, 39, 200, 0, 11, 0 }, + { -92, 39, 201, 0, 11, 0 }, { -91, 39, 202, 0, 11, 0 }, { -91, 39, 203, 0, 11, 0 }, { -91, 39, 204, 0, 11, 0 }, { -91, 40, 205, 0, 11, 0 }, + { -90, 40, 206, 0, 11, 0 }, { -90, 40, 207, 0, 11, 0 }, { -90, 40, 208, 0, 11, 0 }, { -90, 40, 209, 0, 11, 0 }, { -89, 40, 210, 0, 12, 0 }, + { -89, 40, 211, 0, 12, 0 }, { -89, 40, 212, 0, 12, 0 }, { -88, 40, 213, 0, 12, 0 }, { -88, 41, 214, 0, 12, 0 }, { -87, 41, 215, 0, 12, 0 }, + { -87, 41, 216, 0, 12, 0 }, { -87, 41, 217, 0, 12, 0 }, { -86, 41, 218, 0, 12, 0 }, { -86, 41, 219, 0, 12, 0 }, { -86, 41, 220, 0, 12, 0 }, + { -85, 41, 221, 0, 12, 0 }, { -85, 41, 222, 0, 12, 0 }, { -84, 41, 223, 0, 12, 0 }, { -84, 42, 224, 0, 12, 0 }, { -83, 42, 225, 0, 13, 0 }, + { -83, 42, 226, 0, 13, 0 }, { -82, 42, 227, 0, 13, 0 }, { -82, 42, 228, 0, 13, 0 }, { -81, 42, 229, 0, 13, 0 }, { -81, 42, 230, 0, 13, 0 }, + { -80, 42, 231, 0, 13, 0 }, { -80, 42, 232, 0, 13, 0 }, { -79, 42, 233, 0, 13, 0 }, { -78, 43, 234, 0, 13, 0 }, { -78, 43, 235, 0, 13, 0 }, + { -77, 43, 236, 0, 13, 0 }, { -76, 43, 237, 0, 13, 0 }, { -76, 43, 238, 0, 13, 0 }, { -75, 43, 239, 0, 13, 0 }, { -74, 43, 240, 0, 14, 0 }, + { -73, 43, 241, 0, 14, 0 }, { -73, 43, 242, 0, 14, 0 }, { -72, 43, 243, 0, 14, 0 }, { -71, 44, 244, 0, 14, 0 }, { -70, 44, 245, 0, 14, 0 }, + { -69, 44, 246, 0, 14, 0 }, { -68, 44, 247, 0, 14, 0 }, { -67, 44, 248, 0, 14, 0 }, { -66, 44, 249, 0, 14, 0 }, { -65, 44, 250, 0, 14, 0 }, + { -64, 44, 251, 0, 14, 0 }, { -63, 44, 252, 0, 14, 0 }, { -62, 45, 253, 0, 15, 0 }, { -61, 45, 253, 0, 15, 0 }, { -60, 45, 254, 0, 15, 0 }, + { -59, 45, 255, 0, 15, 0 }, { -58, 45, 256, 0, 15, 0 }, { -57, 45, 256, 0, 15, 0 }, { -56, 45, 257, 0, 15, 0 }, { -55, 45, 258, 0, 15, 0 }, + { -54, 45, 258, 0, 15, 0 }, { -53, 45, 259, 0, 15, 0 }, { -52, 46, 259, 0, 15, 0 }, { -51, 46, 260, 0, 15, 0 }, { -50, 46, 260, 0, 15, 0 }, + { -49, 46, 261, 0, 15, 0 }, { -48, 46, 261, 0, 15, 0 }, { -47, 46, 262, 0, 16, 0 }, { -46, 46, 262, 0, 16, 0 }, { -45, 46, 262, 0, 16, 0 }, + { -44, 46, 263, 0, 16, 0 }, { -43, 46, 263, 0, 16, 0 }, { -42, 47, 263, 0, 16, 0 }, { -41, 47, 263, 0, 16, 0 }, { -40, 47, 264, 0, 16, 0 }, + { -39, 47, 264, 0, 16, 0 }, { -38, 47, 264, 0, 16, 0 }, { -37, 47, 264, 0, 16, 0 }, { -36, 47, 264, 0, 16, 0 }, { -35, 47, 264, 0, 16, 0 }, + { -34, 47, 264, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9242A0 = { - 311, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 2, 0 }, { 16, 9, 4, 8, 2, 0 }, - { 17, 10, 5, 8, 2, 0 }, { 17, 11, 5, 8, 2, 0 }, { 17, 12, 6, 8, 2, 0 }, { 17, 13, 6, 8, 2, 0 }, { 17, 14, 7, 8, 2, 0 }, - { 17, 15, 7, 8, 2, 0 }, { 17, 16, 8, 8, 2, 0 }, { 17, 17, 8, 8, 2, 0 }, { 17, 18, 9, 8, 2, 0 }, { 17, 19, 9, 8, 2, 0 }, - { 18, 20, 10, 8, 2, 0 }, { 18, 21, 10, 8, 2, 0 }, { 18, 22, 11, 8, 2, 0 }, { 18, 23, 11, 8, 2, 0 }, { 18, 24, 12, 8, 2, 0 }, - { 18, 25, 12, 8, 2, 0 }, { 18, 26, 13, 8, 2, 0 }, { 18, 27, 13, 8, 2, 0 }, { 18, 28, 14, 8, 2, 0 }, { 18, 29, 14, 8, 2, 0 }, - { 19, 30, 15, 8, 2, 0 }, { 19, 31, 15, 8, 2, 0 }, { 19, 32, 16, 8, 2, 0 }, { 19, 33, 16, 8, 2, 0 }, { 19, 34, 17, 8, 2, 0 }, - { 19, 35, 17, 8, 2, 0 }, { 19, 36, 18, 8, 2, 0 }, { 19, 37, 18, 8, 2, 0 }, { 19, 38, 19, 8, 2, 0 }, { 20, 39, 19, 8, 2, 0 }, - { 20, 40, 20, 8, 2, 0 }, { 20, 41, 21, 8, 2, 0 }, { 20, 42, 21, 8, 2, 0 }, { 20, 43, 22, 8, 2, 0 }, { 20, 44, 22, 8, 2, 0 }, - { 20, 45, 23, 8, 2, 0 }, { 20, 46, 24, 8, 2, 0 }, { 20, 47, 24, 8, 2, 0 }, { 20, 48, 25, 8, 2, 0 }, { 21, 49, 25, 8, 2, 0 }, - { 21, 50, 26, 8, 2, 0 }, { 21, 51, 27, 8, 2, 0 }, { 21, 52, 27, 8, 2, 0 }, { 21, 53, 28, 8, 2, 0 }, { 21, 54, 29, 8, 2, 0 }, - { 21, 55, 30, 8, 2, 0 }, { 21, 56, 30, 8, 2, 0 }, { 21, 57, 31, 8, 2, 0 }, { 21, 58, 32, 8, 2, 0 }, { 22, 59, 33, 8, 2, 0 }, - { 22, 60, 33, 8, 2, 0 }, { 22, 61, 34, 8, 2, 0 }, { 22, 62, 35, 8, 3, 0 }, { 22, 63, 36, 8, 3, 0 }, { 22, 64, 36, 8, 3, 0 }, - { 22, 65, 37, 8, 3, 0 }, { 22, 66, 38, 8, 3, 0 }, { 22, 67, 39, 8, 3, 0 }, { 22, 68, 40, 8, 3, 0 }, { 23, 69, 41, 8, 3, 0 }, - { 23, 70, 42, 8, 3, 0 }, { 23, 71, 42, 8, 3, 0 }, { 23, 72, 43, 8, 3, 0 }, { 23, 73, 44, 8, 3, 0 }, { 23, 74, 45, 8, 3, 0 }, - { 23, 75, 46, 8, 3, 0 }, { 23, 76, 47, 8, 3, 0 }, { 23, 77, 48, 8, 3, 0 }, { 24, 78, 49, 8, 3, 0 }, { 24, 79, 50, 8, 3, 0 }, - { 24, 80, 51, 8, 3, 0 }, { 24, 81, 52, 8, 3, 0 }, { 24, 81, 53, 8, 3, 0 }, { 24, 82, 54, 8, 3, 0 }, { 24, 83, 55, 8, 3, 0 }, - { 24, 84, 56, 8, 3, 0 }, { 24, 85, 57, 8, 3, 0 }, { 24, 86, 58, 8, 3, 0 }, { 25, 87, 59, 8, 3, 0 }, { 25, 88, 60, 8, 3, 0 }, - { 25, 88, 61, 8, 3, 0 }, { 25, 89, 62, 8, 3, 0 }, { 25, 90, 63, 8, 3, 0 }, { 25, 90, 64, 8, 3, 0 }, { 25, 91, 65, 8, 3, 0 }, - { 25, 92, 66, 8, 3, 0 }, { 25, 92, 67, 8, 3, 0 }, { 25, 93, 68, 8, 3, 0 }, { 26, 94, 69, 8, 3, 0 }, { 26, 95, 70, 8, 3, 0 }, - { 26, 95, 71, 8, 3, 0 }, { 26, 96, 72, 8, 3, 0 }, { 26, 97, 73, 8, 3, 0 }, { 26, 97, 74, 8, 3, 0 }, { 26, 98, 75, 8, 3, 0 }, - { 26, 99, 76, 8, 3, 0 }, { 26, 99, 77, 8, 3, 0 }, { 27, 100, 78, 8, 3, 0 }, { 27, 100, 79, 8, 3, 0 }, { 27, 101, 80, 8, 4, 0 }, - { 27, 102, 81, 8, 4, 0 }, { 27, 102, 82, 8, 4, 0 }, { 27, 103, 83, 8, 4, 0 }, { 27, 103, 84, 8, 4, 0 }, { 27, 104, 85, 8, 4, 0 }, - { 27, 105, 86, 8, 4, 0 }, { 27, 105, 87, 8, 4, 0 }, { 28, 106, 88, 8, 4, 0 }, { 28, 106, 89, 8, 4, 0 }, { 28, 107, 90, 8, 4, 0 }, - { 28, 107, 91, 8, 4, 0 }, { 28, 108, 92, 8, 4, 0 }, { 28, 108, 93, 8, 4, 0 }, { 28, 109, 94, 8, 4, 0 }, { 28, 109, 95, 8, 4, 0 }, - { 28, 109, 96, 8, 4, 0 }, { 28, 110, 97, 8, 4, 0 }, { 29, 110, 98, 8, 4, 0 }, { 29, 111, 99, 8, 4, 0 }, { 29, 111, 100, 8, 4, 0 }, - { 29, 112, 101, 8, 4, 0 }, { 29, 112, 102, 8, 4, 0 }, { 29, 112, 103, 8, 4, 0 }, { 29, 113, 104, 8, 4, 0 }, { 29, 113, 105, 8, 4, 0 }, - { 29, 114, 106, 8, 4, 0 }, { 29, 114, 107, 8, 4, 0 }, { 30, 114, 108, 8, 4, 0 }, { 30, 115, 109, 8, 4, 0 }, { 30, 115, 110, 8, 4, 0 }, - { 30, 116, 111, 8, 4, 0 }, { 30, 116, 112, 8, 4, 0 }, { 30, 117, 113, 8, 4, 0 }, { 30, 117, 114, 8, 4, 0 }, { 30, 117, 115, 8, 4, 0 }, - { 30, 118, 116, 8, 9, 0 }, { 31, 118, 117, 8, 9, 0 }, { 31, 118, 118, 8, 9, 0 }, { 31, 118, 119, 8, 9, 0 }, { 31, 119, 120, 8, 9, 0 }, - { 31, 119, 121, 8, 9, 0 }, { 31, 119, 122, 8, 9, 0 }, { 31, 120, 123, 8, 9, 0 }, { 31, 120, 124, 8, 9, 0 }, { 31, 120, 125, 8, 9, 0 }, - { 31, 121, 126, 8, 9, 0 }, { 32, 121, 127, 8, 9, 0 }, { 32, 121, 128, 8, 9, 0 }, { 32, 121, 129, 8, 9, 0 }, { 32, 122, 130, 8, 9, 0 }, - { 32, 122, 131, 8, 9, 0 }, { 32, 122, 132, 8, 9, 0 }, { 32, 122, 133, 8, 9, 0 }, { 32, 122, 134, 8, 9, 0 }, { 32, 123, 135, 8, 9, 0 }, - { 32, 123, 136, 8, 9, 0 }, { 33, 123, 137, 8, 9, 0 }, { 33, 123, 138, 8, 9, 0 }, { 33, 123, 139, 8, 9, 0 }, { 33, 123, 140, 8, 9, 0 }, - { 33, 124, 141, 8, 9, 0 }, { 33, 124, 142, 8, 9, 0 }, { 33, 124, 143, 8, 9, 0 }, { 33, 124, 144, 8, 9, 0 }, { 33, 124, 145, 8, 9, 0 }, - { 34, 124, 146, 8, 9, 0 }, { 34, 125, 147, 8, 9, 0 }, { 34, 125, 148, 8, 9, 0 }, { 34, 125, 149, 8, 10, 0 }, { 34, 125, 150, 8, 10, 0 }, - { 34, 125, 151, 8, 10, 0 }, { 34, 125, 152, 8, 10, 0 }, { 34, 125, 153, 8, 10, 0 }, { 34, 125, 154, 8, 10, 0 }, { 34, 125, 155, 8, 10, 0 }, - { 35, 125, 156, 8, 10, 0 }, { 35, 125, 157, 8, 10, 0 }, { 35, 125, 158, 8, 10, 0 }, { 35, 125, 159, 8, 10, 0 }, { 35, 125, 160, 8, 10, 0 }, - { 35, 125, 161, 8, 10, 0 }, { 35, 125, 162, 8, 10, 0 }, { 35, 125, 163, 8, 10, 0 }, { 35, 125, 164, 8, 10, 0 }, { 35, 125, 165, 8, 10, 0 }, - { 36, 125, 166, 8, 10, 0 }, { 36, 125, 167, 8, 10, 0 }, { 36, 125, 168, 8, 10, 0 }, { 36, 125, 169, 8, 10, 0 }, { 36, 125, 170, 8, 10, 0 }, - { 36, 125, 171, 8, 10, 0 }, { 36, 125, 172, 8, 10, 0 }, { 36, 125, 173, 8, 10, 0 }, { 36, 125, 174, 8, 10, 0 }, { 36, 125, 175, 8, 10, 0 }, - { 37, 125, 176, 8, 10, 0 }, { 37, 125, 177, 8, 10, 0 }, { 37, 125, 178, 8, 10, 0 }, { 37, 125, 179, 8, 10, 0 }, { 37, 125, 180, 8, 10, 0 }, - { 37, 125, 181, 8, 10, 0 }, { 37, 125, 182, 8, 10, 0 }, { 37, 125, 183, 8, 10, 0 }, { 37, 125, 184, 8, 10, 0 }, { 38, 125, 185, 8, 10, 0 }, - { 38, 125, 186, 8, 11, 0 }, { 38, 125, 187, 8, 11, 0 }, { 38, 124, 188, 8, 11, 0 }, { 38, 124, 189, 8, 11, 0 }, { 38, 124, 190, 8, 11, 0 }, - { 38, 124, 191, 8, 11, 0 }, { 38, 124, 192, 8, 11, 0 }, { 38, 124, 193, 8, 11, 0 }, { 38, 124, 194, 8, 11, 0 }, { 39, 124, 195, 8, 11, 0 }, - { 39, 123, 196, 8, 11, 0 }, { 39, 123, 197, 8, 11, 0 }, { 39, 123, 198, 8, 11, 0 }, { 39, 123, 199, 8, 11, 0 }, { 39, 123, 200, 8, 11, 0 }, - { 39, 123, 201, 8, 11, 0 }, { 39, 122, 202, 8, 11, 0 }, { 39, 122, 203, 8, 11, 0 }, { 39, 122, 204, 8, 11, 0 }, { 40, 122, 205, 8, 11, 0 }, - { 40, 121, 206, 8, 11, 0 }, { 40, 121, 207, 8, 11, 0 }, { 40, 121, 208, 8, 11, 0 }, { 40, 121, 209, 8, 11, 0 }, { 40, 120, 210, 8, 12, 0 }, - { 40, 120, 211, 8, 12, 0 }, { 40, 120, 212, 8, 12, 0 }, { 40, 119, 213, 8, 12, 0 }, { 41, 119, 214, 8, 12, 0 }, { 41, 118, 215, 8, 12, 0 }, - { 41, 118, 216, 8, 12, 0 }, { 41, 118, 217, 8, 12, 0 }, { 41, 117, 218, 8, 12, 0 }, { 41, 117, 219, 8, 12, 0 }, { 41, 117, 220, 8, 12, 0 }, - { 41, 116, 221, 8, 12, 0 }, { 41, 116, 222, 8, 12, 0 }, { 41, 115, 223, 8, 12, 0 }, { 42, 115, 224, 8, 12, 0 }, { 42, 114, 225, 8, 13, 0 }, - { 42, 114, 226, 8, 13, 0 }, { 42, 113, 227, 8, 13, 0 }, { 42, 113, 228, 8, 13, 0 }, { 42, 112, 229, 8, 13, 0 }, { 42, 112, 230, 8, 13, 0 }, - { 42, 111, 231, 8, 13, 0 }, { 42, 111, 232, 8, 13, 0 }, { 42, 110, 233, 8, 13, 0 }, { 43, 109, 234, 8, 13, 0 }, { 43, 109, 235, 8, 13, 0 }, - { 43, 108, 236, 8, 13, 0 }, { 43, 107, 237, 8, 13, 0 }, { 43, 107, 238, 8, 13, 0 }, { 43, 106, 239, 8, 13, 0 }, { 43, 105, 240, 8, 14, 0 }, - { 43, 104, 241, 8, 14, 0 }, { 43, 104, 242, 8, 14, 0 }, { 43, 103, 243, 8, 14, 0 }, { 44, 102, 244, 8, 14, 0 }, { 44, 101, 245, 8, 14, 0 }, - { 44, 100, 246, 8, 14, 0 }, { 44, 99, 247, 8, 14, 0 }, { 44, 98, 248, 8, 14, 0 }, { 44, 97, 249, 8, 14, 0 }, { 44, 96, 250, 8, 14, 0 }, - { 44, 95, 251, 8, 14, 0 }, { 44, 94, 252, 8, 14, 0 }, { 45, 93, 253, 8, 15, 0 }, { 45, 92, 253, 8, 15, 0 }, { 45, 91, 254, 8, 15, 0 }, - { 45, 90, 255, 8, 15, 0 }, { 45, 89, 256, 8, 15, 0 }, { 45, 88, 256, 8, 15, 0 }, { 45, 87, 257, 8, 15, 0 }, { 45, 86, 258, 8, 15, 0 }, - { 45, 85, 258, 8, 15, 0 }, { 45, 84, 259, 8, 15, 0 }, { 46, 83, 259, 8, 15, 0 }, { 46, 82, 260, 8, 15, 0 }, { 46, 81, 260, 8, 15, 0 }, - { 46, 80, 261, 8, 15, 0 }, { 46, 79, 261, 8, 15, 0 }, { 46, 78, 262, 8, 16, 0 }, { 46, 77, 262, 8, 16, 0 }, { 46, 76, 262, 8, 16, 0 }, - { 46, 75, 263, 8, 16, 0 }, { 46, 74, 263, 8, 16, 0 }, { 47, 73, 263, 8, 16, 0 }, { 47, 72, 263, 8, 16, 0 }, { 47, 71, 264, 8, 16, 0 }, - { 47, 70, 264, 8, 16, 0 }, { 47, 69, 264, 8, 16, 0 }, { 47, 68, 264, 8, 16, 0 }, { 47, 67, 264, 8, 16, 0 }, { 47, 66, 264, 8, 16, 0 }, - { 47, 65, 264, 8, 16, 0 }, + 311, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 2, 0 }, { 16, 9, 4, 8, 2, 0 }, + { 17, 10, 5, 8, 2, 0 }, { 17, 11, 5, 8, 2, 0 }, { 17, 12, 6, 8, 2, 0 }, { 17, 13, 6, 8, 2, 0 }, { 17, 14, 7, 8, 2, 0 }, + { 17, 15, 7, 8, 2, 0 }, { 17, 16, 8, 8, 2, 0 }, { 17, 17, 8, 8, 2, 0 }, { 17, 18, 9, 8, 2, 0 }, { 17, 19, 9, 8, 2, 0 }, + { 18, 20, 10, 8, 2, 0 }, { 18, 21, 10, 8, 2, 0 }, { 18, 22, 11, 8, 2, 0 }, { 18, 23, 11, 8, 2, 0 }, { 18, 24, 12, 8, 2, 0 }, + { 18, 25, 12, 8, 2, 0 }, { 18, 26, 13, 8, 2, 0 }, { 18, 27, 13, 8, 2, 0 }, { 18, 28, 14, 8, 2, 0 }, { 18, 29, 14, 8, 2, 0 }, + { 19, 30, 15, 8, 2, 0 }, { 19, 31, 15, 8, 2, 0 }, { 19, 32, 16, 8, 2, 0 }, { 19, 33, 16, 8, 2, 0 }, { 19, 34, 17, 8, 2, 0 }, + { 19, 35, 17, 8, 2, 0 }, { 19, 36, 18, 8, 2, 0 }, { 19, 37, 18, 8, 2, 0 }, { 19, 38, 19, 8, 2, 0 }, { 20, 39, 19, 8, 2, 0 }, + { 20, 40, 20, 8, 2, 0 }, { 20, 41, 21, 8, 2, 0 }, { 20, 42, 21, 8, 2, 0 }, { 20, 43, 22, 8, 2, 0 }, { 20, 44, 22, 8, 2, 0 }, + { 20, 45, 23, 8, 2, 0 }, { 20, 46, 24, 8, 2, 0 }, { 20, 47, 24, 8, 2, 0 }, { 20, 48, 25, 8, 2, 0 }, { 21, 49, 25, 8, 2, 0 }, + { 21, 50, 26, 8, 2, 0 }, { 21, 51, 27, 8, 2, 0 }, { 21, 52, 27, 8, 2, 0 }, { 21, 53, 28, 8, 2, 0 }, { 21, 54, 29, 8, 2, 0 }, + { 21, 55, 30, 8, 2, 0 }, { 21, 56, 30, 8, 2, 0 }, { 21, 57, 31, 8, 2, 0 }, { 21, 58, 32, 8, 2, 0 }, { 22, 59, 33, 8, 2, 0 }, + { 22, 60, 33, 8, 2, 0 }, { 22, 61, 34, 8, 2, 0 }, { 22, 62, 35, 8, 3, 0 }, { 22, 63, 36, 8, 3, 0 }, { 22, 64, 36, 8, 3, 0 }, + { 22, 65, 37, 8, 3, 0 }, { 22, 66, 38, 8, 3, 0 }, { 22, 67, 39, 8, 3, 0 }, { 22, 68, 40, 8, 3, 0 }, { 23, 69, 41, 8, 3, 0 }, + { 23, 70, 42, 8, 3, 0 }, { 23, 71, 42, 8, 3, 0 }, { 23, 72, 43, 8, 3, 0 }, { 23, 73, 44, 8, 3, 0 }, { 23, 74, 45, 8, 3, 0 }, + { 23, 75, 46, 8, 3, 0 }, { 23, 76, 47, 8, 3, 0 }, { 23, 77, 48, 8, 3, 0 }, { 24, 78, 49, 8, 3, 0 }, { 24, 79, 50, 8, 3, 0 }, + { 24, 80, 51, 8, 3, 0 }, { 24, 81, 52, 8, 3, 0 }, { 24, 81, 53, 8, 3, 0 }, { 24, 82, 54, 8, 3, 0 }, { 24, 83, 55, 8, 3, 0 }, + { 24, 84, 56, 8, 3, 0 }, { 24, 85, 57, 8, 3, 0 }, { 24, 86, 58, 8, 3, 0 }, { 25, 87, 59, 8, 3, 0 }, { 25, 88, 60, 8, 3, 0 }, + { 25, 88, 61, 8, 3, 0 }, { 25, 89, 62, 8, 3, 0 }, { 25, 90, 63, 8, 3, 0 }, { 25, 90, 64, 8, 3, 0 }, { 25, 91, 65, 8, 3, 0 }, + { 25, 92, 66, 8, 3, 0 }, { 25, 92, 67, 8, 3, 0 }, { 25, 93, 68, 8, 3, 0 }, { 26, 94, 69, 8, 3, 0 }, { 26, 95, 70, 8, 3, 0 }, + { 26, 95, 71, 8, 3, 0 }, { 26, 96, 72, 8, 3, 0 }, { 26, 97, 73, 8, 3, 0 }, { 26, 97, 74, 8, 3, 0 }, { 26, 98, 75, 8, 3, 0 }, + { 26, 99, 76, 8, 3, 0 }, { 26, 99, 77, 8, 3, 0 }, { 27, 100, 78, 8, 3, 0 }, { 27, 100, 79, 8, 3, 0 }, { 27, 101, 80, 8, 4, 0 }, + { 27, 102, 81, 8, 4, 0 }, { 27, 102, 82, 8, 4, 0 }, { 27, 103, 83, 8, 4, 0 }, { 27, 103, 84, 8, 4, 0 }, { 27, 104, 85, 8, 4, 0 }, + { 27, 105, 86, 8, 4, 0 }, { 27, 105, 87, 8, 4, 0 }, { 28, 106, 88, 8, 4, 0 }, { 28, 106, 89, 8, 4, 0 }, { 28, 107, 90, 8, 4, 0 }, + { 28, 107, 91, 8, 4, 0 }, { 28, 108, 92, 8, 4, 0 }, { 28, 108, 93, 8, 4, 0 }, { 28, 109, 94, 8, 4, 0 }, { 28, 109, 95, 8, 4, 0 }, + { 28, 109, 96, 8, 4, 0 }, { 28, 110, 97, 8, 4, 0 }, { 29, 110, 98, 8, 4, 0 }, { 29, 111, 99, 8, 4, 0 }, { 29, 111, 100, 8, 4, 0 }, + { 29, 112, 101, 8, 4, 0 }, { 29, 112, 102, 8, 4, 0 }, { 29, 112, 103, 8, 4, 0 }, { 29, 113, 104, 8, 4, 0 }, { 29, 113, 105, 8, 4, 0 }, + { 29, 114, 106, 8, 4, 0 }, { 29, 114, 107, 8, 4, 0 }, { 30, 114, 108, 8, 4, 0 }, { 30, 115, 109, 8, 4, 0 }, { 30, 115, 110, 8, 4, 0 }, + { 30, 116, 111, 8, 4, 0 }, { 30, 116, 112, 8, 4, 0 }, { 30, 117, 113, 8, 4, 0 }, { 30, 117, 114, 8, 4, 0 }, { 30, 117, 115, 8, 4, 0 }, + { 30, 118, 116, 8, 9, 0 }, { 31, 118, 117, 8, 9, 0 }, { 31, 118, 118, 8, 9, 0 }, { 31, 118, 119, 8, 9, 0 }, { 31, 119, 120, 8, 9, 0 }, + { 31, 119, 121, 8, 9, 0 }, { 31, 119, 122, 8, 9, 0 }, { 31, 120, 123, 8, 9, 0 }, { 31, 120, 124, 8, 9, 0 }, { 31, 120, 125, 8, 9, 0 }, + { 31, 121, 126, 8, 9, 0 }, { 32, 121, 127, 8, 9, 0 }, { 32, 121, 128, 8, 9, 0 }, { 32, 121, 129, 8, 9, 0 }, { 32, 122, 130, 8, 9, 0 }, + { 32, 122, 131, 8, 9, 0 }, { 32, 122, 132, 8, 9, 0 }, { 32, 122, 133, 8, 9, 0 }, { 32, 122, 134, 8, 9, 0 }, { 32, 123, 135, 8, 9, 0 }, + { 32, 123, 136, 8, 9, 0 }, { 33, 123, 137, 8, 9, 0 }, { 33, 123, 138, 8, 9, 0 }, { 33, 123, 139, 8, 9, 0 }, { 33, 123, 140, 8, 9, 0 }, + { 33, 124, 141, 8, 9, 0 }, { 33, 124, 142, 8, 9, 0 }, { 33, 124, 143, 8, 9, 0 }, { 33, 124, 144, 8, 9, 0 }, { 33, 124, 145, 8, 9, 0 }, + { 34, 124, 146, 8, 9, 0 }, { 34, 125, 147, 8, 9, 0 }, { 34, 125, 148, 8, 9, 0 }, { 34, 125, 149, 8, 10, 0 }, { 34, 125, 150, 8, 10, 0 }, + { 34, 125, 151, 8, 10, 0 }, { 34, 125, 152, 8, 10, 0 }, { 34, 125, 153, 8, 10, 0 }, { 34, 125, 154, 8, 10, 0 }, { 34, 125, 155, 8, 10, 0 }, + { 35, 125, 156, 8, 10, 0 }, { 35, 125, 157, 8, 10, 0 }, { 35, 125, 158, 8, 10, 0 }, { 35, 125, 159, 8, 10, 0 }, { 35, 125, 160, 8, 10, 0 }, + { 35, 125, 161, 8, 10, 0 }, { 35, 125, 162, 8, 10, 0 }, { 35, 125, 163, 8, 10, 0 }, { 35, 125, 164, 8, 10, 0 }, { 35, 125, 165, 8, 10, 0 }, + { 36, 125, 166, 8, 10, 0 }, { 36, 125, 167, 8, 10, 0 }, { 36, 125, 168, 8, 10, 0 }, { 36, 125, 169, 8, 10, 0 }, { 36, 125, 170, 8, 10, 0 }, + { 36, 125, 171, 8, 10, 0 }, { 36, 125, 172, 8, 10, 0 }, { 36, 125, 173, 8, 10, 0 }, { 36, 125, 174, 8, 10, 0 }, { 36, 125, 175, 8, 10, 0 }, + { 37, 125, 176, 8, 10, 0 }, { 37, 125, 177, 8, 10, 0 }, { 37, 125, 178, 8, 10, 0 }, { 37, 125, 179, 8, 10, 0 }, { 37, 125, 180, 8, 10, 0 }, + { 37, 125, 181, 8, 10, 0 }, { 37, 125, 182, 8, 10, 0 }, { 37, 125, 183, 8, 10, 0 }, { 37, 125, 184, 8, 10, 0 }, { 38, 125, 185, 8, 10, 0 }, + { 38, 125, 186, 8, 11, 0 }, { 38, 125, 187, 8, 11, 0 }, { 38, 124, 188, 8, 11, 0 }, { 38, 124, 189, 8, 11, 0 }, { 38, 124, 190, 8, 11, 0 }, + { 38, 124, 191, 8, 11, 0 }, { 38, 124, 192, 8, 11, 0 }, { 38, 124, 193, 8, 11, 0 }, { 38, 124, 194, 8, 11, 0 }, { 39, 124, 195, 8, 11, 0 }, + { 39, 123, 196, 8, 11, 0 }, { 39, 123, 197, 8, 11, 0 }, { 39, 123, 198, 8, 11, 0 }, { 39, 123, 199, 8, 11, 0 }, { 39, 123, 200, 8, 11, 0 }, + { 39, 123, 201, 8, 11, 0 }, { 39, 122, 202, 8, 11, 0 }, { 39, 122, 203, 8, 11, 0 }, { 39, 122, 204, 8, 11, 0 }, { 40, 122, 205, 8, 11, 0 }, + { 40, 121, 206, 8, 11, 0 }, { 40, 121, 207, 8, 11, 0 }, { 40, 121, 208, 8, 11, 0 }, { 40, 121, 209, 8, 11, 0 }, { 40, 120, 210, 8, 12, 0 }, + { 40, 120, 211, 8, 12, 0 }, { 40, 120, 212, 8, 12, 0 }, { 40, 119, 213, 8, 12, 0 }, { 41, 119, 214, 8, 12, 0 }, { 41, 118, 215, 8, 12, 0 }, + { 41, 118, 216, 8, 12, 0 }, { 41, 118, 217, 8, 12, 0 }, { 41, 117, 218, 8, 12, 0 }, { 41, 117, 219, 8, 12, 0 }, { 41, 117, 220, 8, 12, 0 }, + { 41, 116, 221, 8, 12, 0 }, { 41, 116, 222, 8, 12, 0 }, { 41, 115, 223, 8, 12, 0 }, { 42, 115, 224, 8, 12, 0 }, { 42, 114, 225, 8, 13, 0 }, + { 42, 114, 226, 8, 13, 0 }, { 42, 113, 227, 8, 13, 0 }, { 42, 113, 228, 8, 13, 0 }, { 42, 112, 229, 8, 13, 0 }, { 42, 112, 230, 8, 13, 0 }, + { 42, 111, 231, 8, 13, 0 }, { 42, 111, 232, 8, 13, 0 }, { 42, 110, 233, 8, 13, 0 }, { 43, 109, 234, 8, 13, 0 }, { 43, 109, 235, 8, 13, 0 }, + { 43, 108, 236, 8, 13, 0 }, { 43, 107, 237, 8, 13, 0 }, { 43, 107, 238, 8, 13, 0 }, { 43, 106, 239, 8, 13, 0 }, { 43, 105, 240, 8, 14, 0 }, + { 43, 104, 241, 8, 14, 0 }, { 43, 104, 242, 8, 14, 0 }, { 43, 103, 243, 8, 14, 0 }, { 44, 102, 244, 8, 14, 0 }, { 44, 101, 245, 8, 14, 0 }, + { 44, 100, 246, 8, 14, 0 }, { 44, 99, 247, 8, 14, 0 }, { 44, 98, 248, 8, 14, 0 }, { 44, 97, 249, 8, 14, 0 }, { 44, 96, 250, 8, 14, 0 }, + { 44, 95, 251, 8, 14, 0 }, { 44, 94, 252, 8, 14, 0 }, { 45, 93, 253, 8, 15, 0 }, { 45, 92, 253, 8, 15, 0 }, { 45, 91, 254, 8, 15, 0 }, + { 45, 90, 255, 8, 15, 0 }, { 45, 89, 256, 8, 15, 0 }, { 45, 88, 256, 8, 15, 0 }, { 45, 87, 257, 8, 15, 0 }, { 45, 86, 258, 8, 15, 0 }, + { 45, 85, 258, 8, 15, 0 }, { 45, 84, 259, 8, 15, 0 }, { 46, 83, 259, 8, 15, 0 }, { 46, 82, 260, 8, 15, 0 }, { 46, 81, 260, 8, 15, 0 }, + { 46, 80, 261, 8, 15, 0 }, { 46, 79, 261, 8, 15, 0 }, { 46, 78, 262, 8, 16, 0 }, { 46, 77, 262, 8, 16, 0 }, { 46, 76, 262, 8, 16, 0 }, + { 46, 75, 263, 8, 16, 0 }, { 46, 74, 263, 8, 16, 0 }, { 47, 73, 263, 8, 16, 0 }, { 47, 72, 263, 8, 16, 0 }, { 47, 71, 264, 8, 16, 0 }, + { 47, 70, 264, 8, 16, 0 }, { 47, 69, 264, 8, 16, 0 }, { 47, 68, 264, 8, 16, 0 }, { 47, 67, 264, 8, 16, 0 }, { 47, 66, 264, 8, 16, 0 }, + { 47, 65, 264, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_925894 = { - 311, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 2, 0 }, { 9, 16, 4, 16, 2, 0 }, - { 10, 15, 5, 16, 2, 0 }, { 11, 15, 5, 16, 2, 0 }, { 12, 15, 6, 16, 2, 0 }, { 13, 15, 6, 16, 2, 0 }, { 14, 15, 7, 16, 2, 0 }, - { 15, 15, 7, 16, 2, 0 }, { 16, 15, 8, 16, 2, 0 }, { 17, 15, 8, 16, 2, 0 }, { 18, 15, 9, 16, 2, 0 }, { 19, 15, 9, 16, 2, 0 }, - { 20, 14, 10, 16, 2, 0 }, { 21, 14, 10, 16, 2, 0 }, { 22, 14, 11, 16, 2, 0 }, { 23, 14, 11, 16, 2, 0 }, { 24, 14, 12, 16, 2, 0 }, - { 25, 14, 12, 16, 2, 0 }, { 26, 14, 13, 16, 2, 0 }, { 27, 14, 13, 16, 2, 0 }, { 28, 14, 14, 16, 2, 0 }, { 29, 14, 14, 16, 2, 0 }, - { 30, 13, 15, 16, 2, 0 }, { 31, 13, 15, 16, 2, 0 }, { 32, 13, 16, 16, 2, 0 }, { 33, 13, 16, 16, 2, 0 }, { 34, 13, 17, 16, 2, 0 }, - { 35, 13, 17, 16, 2, 0 }, { 36, 13, 18, 16, 2, 0 }, { 37, 13, 18, 16, 2, 0 }, { 38, 13, 19, 16, 2, 0 }, { 39, 12, 19, 16, 2, 0 }, - { 40, 12, 20, 16, 2, 0 }, { 41, 12, 21, 16, 2, 0 }, { 42, 12, 21, 16, 2, 0 }, { 43, 12, 22, 16, 2, 0 }, { 44, 12, 22, 16, 2, 0 }, - { 45, 12, 23, 16, 2, 0 }, { 46, 12, 24, 16, 2, 0 }, { 47, 12, 24, 16, 2, 0 }, { 48, 12, 25, 16, 2, 0 }, { 49, 11, 25, 16, 2, 0 }, - { 50, 11, 26, 16, 2, 0 }, { 51, 11, 27, 16, 2, 0 }, { 52, 11, 27, 16, 2, 0 }, { 53, 11, 28, 16, 2, 0 }, { 54, 11, 29, 16, 2, 0 }, - { 55, 11, 30, 16, 2, 0 }, { 56, 11, 30, 16, 2, 0 }, { 57, 11, 31, 16, 2, 0 }, { 58, 11, 32, 16, 2, 0 }, { 59, 10, 33, 16, 2, 0 }, - { 60, 10, 33, 16, 2, 0 }, { 61, 10, 34, 16, 2, 0 }, { 62, 10, 35, 16, 3, 0 }, { 63, 10, 36, 16, 3, 0 }, { 64, 10, 36, 16, 3, 0 }, - { 65, 10, 37, 16, 3, 0 }, { 66, 10, 38, 16, 3, 0 }, { 67, 10, 39, 16, 3, 0 }, { 68, 10, 40, 16, 3, 0 }, { 69, 9, 41, 16, 3, 0 }, - { 70, 9, 42, 16, 3, 0 }, { 71, 9, 42, 16, 3, 0 }, { 72, 9, 43, 16, 3, 0 }, { 73, 9, 44, 16, 3, 0 }, { 74, 9, 45, 16, 3, 0 }, - { 75, 9, 46, 16, 3, 0 }, { 76, 9, 47, 16, 3, 0 }, { 77, 9, 48, 16, 3, 0 }, { 78, 8, 49, 16, 3, 0 }, { 79, 8, 50, 16, 3, 0 }, - { 80, 8, 51, 16, 3, 0 }, { 81, 8, 52, 16, 3, 0 }, { 81, 8, 53, 16, 3, 0 }, { 82, 8, 54, 16, 3, 0 }, { 83, 8, 55, 16, 3, 0 }, - { 84, 8, 56, 16, 3, 0 }, { 85, 8, 57, 16, 3, 0 }, { 86, 8, 58, 16, 3, 0 }, { 87, 7, 59, 16, 3, 0 }, { 88, 7, 60, 16, 3, 0 }, - { 88, 7, 61, 16, 3, 0 }, { 89, 7, 62, 16, 3, 0 }, { 90, 7, 63, 16, 3, 0 }, { 90, 7, 64, 16, 3, 0 }, { 91, 7, 65, 16, 3, 0 }, - { 92, 7, 66, 16, 3, 0 }, { 92, 7, 67, 16, 3, 0 }, { 93, 7, 68, 16, 3, 0 }, { 94, 6, 69, 16, 3, 0 }, { 95, 6, 70, 16, 3, 0 }, - { 95, 6, 71, 16, 3, 0 }, { 96, 6, 72, 16, 3, 0 }, { 97, 6, 73, 16, 3, 0 }, { 97, 6, 74, 16, 3, 0 }, { 98, 6, 75, 16, 3, 0 }, - { 99, 6, 76, 16, 3, 0 }, { 99, 6, 77, 16, 3, 0 }, { 100, 5, 78, 16, 3, 0 }, { 100, 5, 79, 16, 3, 0 }, { 101, 5, 80, 16, 4, 0 }, - { 102, 5, 81, 16, 4, 0 }, { 102, 5, 82, 16, 4, 0 }, { 103, 5, 83, 16, 4, 0 }, { 103, 5, 84, 16, 4, 0 }, { 104, 5, 85, 16, 4, 0 }, - { 105, 5, 86, 16, 4, 0 }, { 105, 5, 87, 16, 4, 0 }, { 106, 4, 88, 16, 4, 0 }, { 106, 4, 89, 16, 4, 0 }, { 107, 4, 90, 16, 4, 0 }, - { 107, 4, 91, 16, 4, 0 }, { 108, 4, 92, 16, 4, 0 }, { 108, 4, 93, 16, 4, 0 }, { 109, 4, 94, 16, 4, 0 }, { 109, 4, 95, 16, 4, 0 }, - { 109, 4, 96, 16, 4, 0 }, { 110, 4, 97, 16, 4, 0 }, { 110, 3, 98, 16, 4, 0 }, { 111, 3, 99, 16, 4, 0 }, { 111, 3, 100, 16, 4, 0 }, - { 112, 3, 101, 16, 4, 0 }, { 112, 3, 102, 16, 4, 0 }, { 112, 3, 103, 16, 4, 0 }, { 113, 3, 104, 16, 4, 0 }, { 113, 3, 105, 16, 4, 0 }, - { 114, 3, 106, 16, 4, 0 }, { 114, 3, 107, 16, 4, 0 }, { 114, 2, 108, 16, 4, 0 }, { 115, 2, 109, 16, 4, 0 }, { 115, 2, 110, 16, 4, 0 }, - { 116, 2, 111, 16, 4, 0 }, { 116, 2, 112, 16, 4, 0 }, { 117, 2, 113, 16, 4, 0 }, { 117, 2, 114, 16, 4, 0 }, { 117, 2, 115, 16, 4, 0 }, - { 118, 2, 116, 16, 9, 0 }, { 118, 1, 117, 16, 9, 0 }, { 118, 1, 118, 16, 9, 0 }, { 118, 1, 119, 16, 9, 0 }, { 119, 1, 120, 16, 9, 0 }, - { 119, 1, 121, 16, 9, 0 }, { 119, 1, 122, 16, 9, 0 }, { 120, 1, 123, 16, 9, 0 }, { 120, 1, 124, 16, 9, 0 }, { 120, 1, 125, 16, 9, 0 }, - { 121, 1, 126, 16, 9, 0 }, { 121, 0, 127, 16, 9, 0 }, { 121, 0, 128, 16, 9, 0 }, { 121, 0, 129, 16, 9, 0 }, { 122, 0, 130, 16, 9, 0 }, - { 122, 0, 131, 16, 9, 0 }, { 122, 0, 132, 16, 9, 0 }, { 122, 0, 133, 16, 9, 0 }, { 122, 0, 134, 16, 9, 0 }, { 123, 0, 135, 16, 9, 0 }, - { 123, 0, 136, 16, 9, 0 }, { 123, -1, 137, 16, 9, 0 }, { 123, -1, 138, 16, 9, 0 }, { 123, -1, 139, 16, 9, 0 }, { 123, -1, 140, 16, 9, 0 }, - { 124, -1, 141, 16, 9, 0 }, { 124, -1, 142, 16, 9, 0 }, { 124, -1, 143, 16, 9, 0 }, { 124, -1, 144, 16, 9, 0 }, { 124, -1, 145, 16, 9, 0 }, - { 124, -2, 146, 16, 9, 0 }, { 125, -2, 147, 16, 9, 0 }, { 125, -2, 148, 16, 9, 0 }, { 125, -2, 149, 16, 10, 0 }, { 125, -2, 150, 16, 10, 0 }, - { 125, -2, 151, 16, 10, 0 }, { 125, -2, 152, 16, 10, 0 }, { 125, -2, 153, 16, 10, 0 }, { 125, -2, 154, 16, 10, 0 }, { 125, -2, 155, 16, 10, 0 }, - { 125, -3, 156, 16, 10, 0 }, { 125, -3, 157, 16, 10, 0 }, { 125, -3, 158, 16, 10, 0 }, { 125, -3, 159, 16, 10, 0 }, { 125, -3, 160, 16, 10, 0 }, - { 125, -3, 161, 16, 10, 0 }, { 125, -3, 162, 16, 10, 0 }, { 125, -3, 163, 16, 10, 0 }, { 125, -3, 164, 16, 10, 0 }, { 125, -3, 165, 16, 10, 0 }, - { 125, -4, 166, 16, 10, 0 }, { 125, -4, 167, 16, 10, 0 }, { 125, -4, 168, 16, 10, 0 }, { 125, -4, 169, 16, 10, 0 }, { 125, -4, 170, 16, 10, 0 }, - { 125, -4, 171, 16, 10, 0 }, { 125, -4, 172, 16, 10, 0 }, { 125, -4, 173, 16, 10, 0 }, { 125, -4, 174, 16, 10, 0 }, { 125, -4, 175, 16, 10, 0 }, - { 125, -5, 176, 16, 10, 0 }, { 125, -5, 177, 16, 10, 0 }, { 125, -5, 178, 16, 10, 0 }, { 125, -5, 179, 16, 10, 0 }, { 125, -5, 180, 16, 10, 0 }, - { 125, -5, 181, 16, 10, 0 }, { 125, -5, 182, 16, 10, 0 }, { 125, -5, 183, 16, 10, 0 }, { 125, -5, 184, 16, 10, 0 }, { 125, -6, 185, 16, 10, 0 }, - { 125, -6, 186, 16, 11, 0 }, { 125, -6, 187, 16, 11, 0 }, { 124, -6, 188, 16, 11, 0 }, { 124, -6, 189, 16, 11, 0 }, { 124, -6, 190, 16, 11, 0 }, - { 124, -6, 191, 16, 11, 0 }, { 124, -6, 192, 16, 11, 0 }, { 124, -6, 193, 16, 11, 0 }, { 124, -6, 194, 16, 11, 0 }, { 124, -7, 195, 16, 11, 0 }, - { 123, -7, 196, 16, 11, 0 }, { 123, -7, 197, 16, 11, 0 }, { 123, -7, 198, 16, 11, 0 }, { 123, -7, 199, 16, 11, 0 }, { 123, -7, 200, 16, 11, 0 }, - { 123, -7, 201, 16, 11, 0 }, { 122, -7, 202, 16, 11, 0 }, { 122, -7, 203, 16, 11, 0 }, { 122, -7, 204, 16, 11, 0 }, { 122, -8, 205, 16, 11, 0 }, - { 121, -8, 206, 16, 11, 0 }, { 121, -8, 207, 16, 11, 0 }, { 121, -8, 208, 16, 11, 0 }, { 121, -8, 209, 16, 11, 0 }, { 120, -8, 210, 16, 12, 0 }, - { 120, -8, 211, 16, 12, 0 }, { 120, -8, 212, 16, 12, 0 }, { 119, -8, 213, 16, 12, 0 }, { 119, -9, 214, 16, 12, 0 }, { 118, -9, 215, 16, 12, 0 }, - { 118, -9, 216, 16, 12, 0 }, { 118, -9, 217, 16, 12, 0 }, { 117, -9, 218, 16, 12, 0 }, { 117, -9, 219, 16, 12, 0 }, { 117, -9, 220, 16, 12, 0 }, - { 116, -9, 221, 16, 12, 0 }, { 116, -9, 222, 16, 12, 0 }, { 115, -9, 223, 16, 12, 0 }, { 115, -10, 224, 16, 12, 0 }, { 114, -10, 225, 16, 13, 0 }, - { 114, -10, 226, 16, 13, 0 }, { 113, -10, 227, 16, 13, 0 }, { 113, -10, 228, 16, 13, 0 }, { 112, -10, 229, 16, 13, 0 }, { 112, -10, 230, 16, 13, 0 }, - { 111, -10, 231, 16, 13, 0 }, { 111, -10, 232, 16, 13, 0 }, { 110, -10, 233, 16, 13, 0 }, { 109, -11, 234, 16, 13, 0 }, { 109, -11, 235, 16, 13, 0 }, - { 108, -11, 236, 16, 13, 0 }, { 107, -11, 237, 16, 13, 0 }, { 107, -11, 238, 16, 13, 0 }, { 106, -11, 239, 16, 13, 0 }, { 105, -11, 240, 16, 14, 0 }, - { 104, -11, 241, 16, 14, 0 }, { 104, -11, 242, 16, 14, 0 }, { 103, -11, 243, 16, 14, 0 }, { 102, -12, 244, 16, 14, 0 }, { 101, -12, 245, 16, 14, 0 }, - { 100, -12, 246, 16, 14, 0 }, { 99, -12, 247, 16, 14, 0 }, { 98, -12, 248, 16, 14, 0 }, { 97, -12, 249, 16, 14, 0 }, { 96, -12, 250, 16, 14, 0 }, - { 95, -12, 251, 16, 14, 0 }, { 94, -12, 252, 16, 14, 0 }, { 93, -13, 253, 16, 15, 0 }, { 92, -13, 253, 16, 15, 0 }, { 91, -13, 254, 16, 15, 0 }, - { 90, -13, 255, 16, 15, 0 }, { 89, -13, 256, 16, 15, 0 }, { 88, -13, 256, 16, 15, 0 }, { 87, -13, 257, 16, 15, 0 }, { 86, -13, 258, 16, 15, 0 }, - { 85, -13, 258, 16, 15, 0 }, { 84, -13, 259, 16, 15, 0 }, { 83, -14, 259, 16, 15, 0 }, { 82, -14, 260, 16, 15, 0 }, { 81, -14, 260, 16, 15, 0 }, - { 80, -14, 261, 16, 15, 0 }, { 79, -14, 261, 16, 15, 0 }, { 78, -14, 262, 16, 16, 0 }, { 77, -14, 262, 16, 16, 0 }, { 76, -14, 262, 16, 16, 0 }, - { 75, -14, 263, 16, 16, 0 }, { 74, -14, 263, 16, 16, 0 }, { 73, -15, 263, 16, 16, 0 }, { 72, -15, 263, 16, 16, 0 }, { 71, -15, 264, 16, 16, 0 }, - { 70, -15, 264, 16, 16, 0 }, { 69, -15, 264, 16, 16, 0 }, { 68, -15, 264, 16, 16, 0 }, { 67, -15, 264, 16, 16, 0 }, { 66, -15, 264, 16, 16, 0 }, - { 65, -15, 264, 16, 16, 0 }, + 311, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 2, 0 }, { 9, 16, 4, 16, 2, 0 }, + { 10, 15, 5, 16, 2, 0 }, { 11, 15, 5, 16, 2, 0 }, { 12, 15, 6, 16, 2, 0 }, { 13, 15, 6, 16, 2, 0 }, { 14, 15, 7, 16, 2, 0 }, + { 15, 15, 7, 16, 2, 0 }, { 16, 15, 8, 16, 2, 0 }, { 17, 15, 8, 16, 2, 0 }, { 18, 15, 9, 16, 2, 0 }, { 19, 15, 9, 16, 2, 0 }, + { 20, 14, 10, 16, 2, 0 }, { 21, 14, 10, 16, 2, 0 }, { 22, 14, 11, 16, 2, 0 }, { 23, 14, 11, 16, 2, 0 }, { 24, 14, 12, 16, 2, 0 }, + { 25, 14, 12, 16, 2, 0 }, { 26, 14, 13, 16, 2, 0 }, { 27, 14, 13, 16, 2, 0 }, { 28, 14, 14, 16, 2, 0 }, { 29, 14, 14, 16, 2, 0 }, + { 30, 13, 15, 16, 2, 0 }, { 31, 13, 15, 16, 2, 0 }, { 32, 13, 16, 16, 2, 0 }, { 33, 13, 16, 16, 2, 0 }, { 34, 13, 17, 16, 2, 0 }, + { 35, 13, 17, 16, 2, 0 }, { 36, 13, 18, 16, 2, 0 }, { 37, 13, 18, 16, 2, 0 }, { 38, 13, 19, 16, 2, 0 }, { 39, 12, 19, 16, 2, 0 }, + { 40, 12, 20, 16, 2, 0 }, { 41, 12, 21, 16, 2, 0 }, { 42, 12, 21, 16, 2, 0 }, { 43, 12, 22, 16, 2, 0 }, { 44, 12, 22, 16, 2, 0 }, + { 45, 12, 23, 16, 2, 0 }, { 46, 12, 24, 16, 2, 0 }, { 47, 12, 24, 16, 2, 0 }, { 48, 12, 25, 16, 2, 0 }, { 49, 11, 25, 16, 2, 0 }, + { 50, 11, 26, 16, 2, 0 }, { 51, 11, 27, 16, 2, 0 }, { 52, 11, 27, 16, 2, 0 }, { 53, 11, 28, 16, 2, 0 }, { 54, 11, 29, 16, 2, 0 }, + { 55, 11, 30, 16, 2, 0 }, { 56, 11, 30, 16, 2, 0 }, { 57, 11, 31, 16, 2, 0 }, { 58, 11, 32, 16, 2, 0 }, { 59, 10, 33, 16, 2, 0 }, + { 60, 10, 33, 16, 2, 0 }, { 61, 10, 34, 16, 2, 0 }, { 62, 10, 35, 16, 3, 0 }, { 63, 10, 36, 16, 3, 0 }, { 64, 10, 36, 16, 3, 0 }, + { 65, 10, 37, 16, 3, 0 }, { 66, 10, 38, 16, 3, 0 }, { 67, 10, 39, 16, 3, 0 }, { 68, 10, 40, 16, 3, 0 }, { 69, 9, 41, 16, 3, 0 }, + { 70, 9, 42, 16, 3, 0 }, { 71, 9, 42, 16, 3, 0 }, { 72, 9, 43, 16, 3, 0 }, { 73, 9, 44, 16, 3, 0 }, { 74, 9, 45, 16, 3, 0 }, + { 75, 9, 46, 16, 3, 0 }, { 76, 9, 47, 16, 3, 0 }, { 77, 9, 48, 16, 3, 0 }, { 78, 8, 49, 16, 3, 0 }, { 79, 8, 50, 16, 3, 0 }, + { 80, 8, 51, 16, 3, 0 }, { 81, 8, 52, 16, 3, 0 }, { 81, 8, 53, 16, 3, 0 }, { 82, 8, 54, 16, 3, 0 }, { 83, 8, 55, 16, 3, 0 }, + { 84, 8, 56, 16, 3, 0 }, { 85, 8, 57, 16, 3, 0 }, { 86, 8, 58, 16, 3, 0 }, { 87, 7, 59, 16, 3, 0 }, { 88, 7, 60, 16, 3, 0 }, + { 88, 7, 61, 16, 3, 0 }, { 89, 7, 62, 16, 3, 0 }, { 90, 7, 63, 16, 3, 0 }, { 90, 7, 64, 16, 3, 0 }, { 91, 7, 65, 16, 3, 0 }, + { 92, 7, 66, 16, 3, 0 }, { 92, 7, 67, 16, 3, 0 }, { 93, 7, 68, 16, 3, 0 }, { 94, 6, 69, 16, 3, 0 }, { 95, 6, 70, 16, 3, 0 }, + { 95, 6, 71, 16, 3, 0 }, { 96, 6, 72, 16, 3, 0 }, { 97, 6, 73, 16, 3, 0 }, { 97, 6, 74, 16, 3, 0 }, { 98, 6, 75, 16, 3, 0 }, + { 99, 6, 76, 16, 3, 0 }, { 99, 6, 77, 16, 3, 0 }, { 100, 5, 78, 16, 3, 0 }, { 100, 5, 79, 16, 3, 0 }, { 101, 5, 80, 16, 4, 0 }, + { 102, 5, 81, 16, 4, 0 }, { 102, 5, 82, 16, 4, 0 }, { 103, 5, 83, 16, 4, 0 }, { 103, 5, 84, 16, 4, 0 }, { 104, 5, 85, 16, 4, 0 }, + { 105, 5, 86, 16, 4, 0 }, { 105, 5, 87, 16, 4, 0 }, { 106, 4, 88, 16, 4, 0 }, { 106, 4, 89, 16, 4, 0 }, { 107, 4, 90, 16, 4, 0 }, + { 107, 4, 91, 16, 4, 0 }, { 108, 4, 92, 16, 4, 0 }, { 108, 4, 93, 16, 4, 0 }, { 109, 4, 94, 16, 4, 0 }, { 109, 4, 95, 16, 4, 0 }, + { 109, 4, 96, 16, 4, 0 }, { 110, 4, 97, 16, 4, 0 }, { 110, 3, 98, 16, 4, 0 }, { 111, 3, 99, 16, 4, 0 }, { 111, 3, 100, 16, 4, 0 }, + { 112, 3, 101, 16, 4, 0 }, { 112, 3, 102, 16, 4, 0 }, { 112, 3, 103, 16, 4, 0 }, { 113, 3, 104, 16, 4, 0 }, { 113, 3, 105, 16, 4, 0 }, + { 114, 3, 106, 16, 4, 0 }, { 114, 3, 107, 16, 4, 0 }, { 114, 2, 108, 16, 4, 0 }, { 115, 2, 109, 16, 4, 0 }, { 115, 2, 110, 16, 4, 0 }, + { 116, 2, 111, 16, 4, 0 }, { 116, 2, 112, 16, 4, 0 }, { 117, 2, 113, 16, 4, 0 }, { 117, 2, 114, 16, 4, 0 }, { 117, 2, 115, 16, 4, 0 }, + { 118, 2, 116, 16, 9, 0 }, { 118, 1, 117, 16, 9, 0 }, { 118, 1, 118, 16, 9, 0 }, { 118, 1, 119, 16, 9, 0 }, { 119, 1, 120, 16, 9, 0 }, + { 119, 1, 121, 16, 9, 0 }, { 119, 1, 122, 16, 9, 0 }, { 120, 1, 123, 16, 9, 0 }, { 120, 1, 124, 16, 9, 0 }, { 120, 1, 125, 16, 9, 0 }, + { 121, 1, 126, 16, 9, 0 }, { 121, 0, 127, 16, 9, 0 }, { 121, 0, 128, 16, 9, 0 }, { 121, 0, 129, 16, 9, 0 }, { 122, 0, 130, 16, 9, 0 }, + { 122, 0, 131, 16, 9, 0 }, { 122, 0, 132, 16, 9, 0 }, { 122, 0, 133, 16, 9, 0 }, { 122, 0, 134, 16, 9, 0 }, { 123, 0, 135, 16, 9, 0 }, + { 123, 0, 136, 16, 9, 0 }, { 123, -1, 137, 16, 9, 0 }, { 123, -1, 138, 16, 9, 0 }, { 123, -1, 139, 16, 9, 0 }, { 123, -1, 140, 16, 9, 0 }, + { 124, -1, 141, 16, 9, 0 }, { 124, -1, 142, 16, 9, 0 }, { 124, -1, 143, 16, 9, 0 }, { 124, -1, 144, 16, 9, 0 }, { 124, -1, 145, 16, 9, 0 }, + { 124, -2, 146, 16, 9, 0 }, { 125, -2, 147, 16, 9, 0 }, { 125, -2, 148, 16, 9, 0 }, { 125, -2, 149, 16, 10, 0 }, { 125, -2, 150, 16, 10, 0 }, + { 125, -2, 151, 16, 10, 0 }, { 125, -2, 152, 16, 10, 0 }, { 125, -2, 153, 16, 10, 0 }, { 125, -2, 154, 16, 10, 0 }, { 125, -2, 155, 16, 10, 0 }, + { 125, -3, 156, 16, 10, 0 }, { 125, -3, 157, 16, 10, 0 }, { 125, -3, 158, 16, 10, 0 }, { 125, -3, 159, 16, 10, 0 }, { 125, -3, 160, 16, 10, 0 }, + { 125, -3, 161, 16, 10, 0 }, { 125, -3, 162, 16, 10, 0 }, { 125, -3, 163, 16, 10, 0 }, { 125, -3, 164, 16, 10, 0 }, { 125, -3, 165, 16, 10, 0 }, + { 125, -4, 166, 16, 10, 0 }, { 125, -4, 167, 16, 10, 0 }, { 125, -4, 168, 16, 10, 0 }, { 125, -4, 169, 16, 10, 0 }, { 125, -4, 170, 16, 10, 0 }, + { 125, -4, 171, 16, 10, 0 }, { 125, -4, 172, 16, 10, 0 }, { 125, -4, 173, 16, 10, 0 }, { 125, -4, 174, 16, 10, 0 }, { 125, -4, 175, 16, 10, 0 }, + { 125, -5, 176, 16, 10, 0 }, { 125, -5, 177, 16, 10, 0 }, { 125, -5, 178, 16, 10, 0 }, { 125, -5, 179, 16, 10, 0 }, { 125, -5, 180, 16, 10, 0 }, + { 125, -5, 181, 16, 10, 0 }, { 125, -5, 182, 16, 10, 0 }, { 125, -5, 183, 16, 10, 0 }, { 125, -5, 184, 16, 10, 0 }, { 125, -6, 185, 16, 10, 0 }, + { 125, -6, 186, 16, 11, 0 }, { 125, -6, 187, 16, 11, 0 }, { 124, -6, 188, 16, 11, 0 }, { 124, -6, 189, 16, 11, 0 }, { 124, -6, 190, 16, 11, 0 }, + { 124, -6, 191, 16, 11, 0 }, { 124, -6, 192, 16, 11, 0 }, { 124, -6, 193, 16, 11, 0 }, { 124, -6, 194, 16, 11, 0 }, { 124, -7, 195, 16, 11, 0 }, + { 123, -7, 196, 16, 11, 0 }, { 123, -7, 197, 16, 11, 0 }, { 123, -7, 198, 16, 11, 0 }, { 123, -7, 199, 16, 11, 0 }, { 123, -7, 200, 16, 11, 0 }, + { 123, -7, 201, 16, 11, 0 }, { 122, -7, 202, 16, 11, 0 }, { 122, -7, 203, 16, 11, 0 }, { 122, -7, 204, 16, 11, 0 }, { 122, -8, 205, 16, 11, 0 }, + { 121, -8, 206, 16, 11, 0 }, { 121, -8, 207, 16, 11, 0 }, { 121, -8, 208, 16, 11, 0 }, { 121, -8, 209, 16, 11, 0 }, { 120, -8, 210, 16, 12, 0 }, + { 120, -8, 211, 16, 12, 0 }, { 120, -8, 212, 16, 12, 0 }, { 119, -8, 213, 16, 12, 0 }, { 119, -9, 214, 16, 12, 0 }, { 118, -9, 215, 16, 12, 0 }, + { 118, -9, 216, 16, 12, 0 }, { 118, -9, 217, 16, 12, 0 }, { 117, -9, 218, 16, 12, 0 }, { 117, -9, 219, 16, 12, 0 }, { 117, -9, 220, 16, 12, 0 }, + { 116, -9, 221, 16, 12, 0 }, { 116, -9, 222, 16, 12, 0 }, { 115, -9, 223, 16, 12, 0 }, { 115, -10, 224, 16, 12, 0 }, { 114, -10, 225, 16, 13, 0 }, + { 114, -10, 226, 16, 13, 0 }, { 113, -10, 227, 16, 13, 0 }, { 113, -10, 228, 16, 13, 0 }, { 112, -10, 229, 16, 13, 0 }, { 112, -10, 230, 16, 13, 0 }, + { 111, -10, 231, 16, 13, 0 }, { 111, -10, 232, 16, 13, 0 }, { 110, -10, 233, 16, 13, 0 }, { 109, -11, 234, 16, 13, 0 }, { 109, -11, 235, 16, 13, 0 }, + { 108, -11, 236, 16, 13, 0 }, { 107, -11, 237, 16, 13, 0 }, { 107, -11, 238, 16, 13, 0 }, { 106, -11, 239, 16, 13, 0 }, { 105, -11, 240, 16, 14, 0 }, + { 104, -11, 241, 16, 14, 0 }, { 104, -11, 242, 16, 14, 0 }, { 103, -11, 243, 16, 14, 0 }, { 102, -12, 244, 16, 14, 0 }, { 101, -12, 245, 16, 14, 0 }, + { 100, -12, 246, 16, 14, 0 }, { 99, -12, 247, 16, 14, 0 }, { 98, -12, 248, 16, 14, 0 }, { 97, -12, 249, 16, 14, 0 }, { 96, -12, 250, 16, 14, 0 }, + { 95, -12, 251, 16, 14, 0 }, { 94, -12, 252, 16, 14, 0 }, { 93, -13, 253, 16, 15, 0 }, { 92, -13, 253, 16, 15, 0 }, { 91, -13, 254, 16, 15, 0 }, + { 90, -13, 255, 16, 15, 0 }, { 89, -13, 256, 16, 15, 0 }, { 88, -13, 256, 16, 15, 0 }, { 87, -13, 257, 16, 15, 0 }, { 86, -13, 258, 16, 15, 0 }, + { 85, -13, 258, 16, 15, 0 }, { 84, -13, 259, 16, 15, 0 }, { 83, -14, 259, 16, 15, 0 }, { 82, -14, 260, 16, 15, 0 }, { 81, -14, 260, 16, 15, 0 }, + { 80, -14, 261, 16, 15, 0 }, { 79, -14, 261, 16, 15, 0 }, { 78, -14, 262, 16, 16, 0 }, { 77, -14, 262, 16, 16, 0 }, { 76, -14, 262, 16, 16, 0 }, + { 75, -14, 263, 16, 16, 0 }, { 74, -14, 263, 16, 16, 0 }, { 73, -15, 263, 16, 16, 0 }, { 72, -15, 263, 16, 16, 0 }, { 71, -15, 264, 16, 16, 0 }, + { 70, -15, 264, 16, 16, 0 }, { 69, -15, 264, 16, 16, 0 }, { 68, -15, 264, 16, 16, 0 }, { 67, -15, 264, 16, 16, 0 }, { 66, -15, 264, 16, 16, 0 }, + { 65, -15, 264, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_926E88 = { - 311, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 4, 24, 2, 0 }, { 16, 22, 4, 24, 2, 0 }, - { 15, 21, 5, 24, 2, 0 }, { 15, 20, 5, 24, 2, 0 }, { 15, 19, 6, 24, 2, 0 }, { 15, 18, 6, 24, 2, 0 }, { 15, 17, 7, 24, 2, 0 }, - { 15, 16, 7, 24, 2, 0 }, { 15, 15, 8, 24, 2, 0 }, { 15, 14, 8, 24, 2, 0 }, { 15, 13, 9, 24, 2, 0 }, { 15, 12, 9, 24, 2, 0 }, - { 14, 11, 10, 24, 2, 0 }, { 14, 10, 10, 24, 2, 0 }, { 14, 9, 11, 24, 2, 0 }, { 14, 8, 11, 24, 2, 0 }, { 14, 7, 12, 24, 2, 0 }, - { 14, 6, 12, 24, 2, 0 }, { 14, 5, 13, 24, 2, 0 }, { 14, 4, 13, 24, 2, 0 }, { 14, 3, 14, 24, 2, 0 }, { 14, 2, 14, 24, 2, 0 }, - { 13, 1, 15, 24, 2, 0 }, { 13, 0, 15, 24, 2, 0 }, { 13, -1, 16, 24, 2, 0 }, { 13, -2, 16, 24, 2, 0 }, { 13, -3, 17, 24, 2, 0 }, - { 13, -4, 17, 24, 2, 0 }, { 13, -5, 18, 24, 2, 0 }, { 13, -6, 18, 24, 2, 0 }, { 13, -7, 19, 24, 2, 0 }, { 12, -8, 19, 24, 2, 0 }, - { 12, -9, 20, 24, 2, 0 }, { 12, -10, 21, 24, 2, 0 }, { 12, -11, 21, 24, 2, 0 }, { 12, -12, 22, 24, 2, 0 }, { 12, -13, 22, 24, 2, 0 }, - { 12, -14, 23, 24, 2, 0 }, { 12, -15, 24, 24, 2, 0 }, { 12, -16, 24, 24, 2, 0 }, { 12, -17, 25, 24, 2, 0 }, { 11, -18, 25, 24, 2, 0 }, - { 11, -19, 26, 24, 2, 0 }, { 11, -20, 27, 24, 2, 0 }, { 11, -21, 27, 24, 2, 0 }, { 11, -22, 28, 24, 2, 0 }, { 11, -23, 29, 24, 2, 0 }, - { 11, -24, 30, 24, 2, 0 }, { 11, -25, 30, 24, 2, 0 }, { 11, -26, 31, 24, 2, 0 }, { 11, -27, 32, 24, 2, 0 }, { 10, -28, 33, 24, 2, 0 }, - { 10, -29, 33, 24, 2, 0 }, { 10, -30, 34, 24, 2, 0 }, { 10, -31, 35, 24, 3, 0 }, { 10, -32, 36, 24, 3, 0 }, { 10, -33, 36, 24, 3, 0 }, - { 10, -34, 37, 24, 3, 0 }, { 10, -35, 38, 24, 3, 0 }, { 10, -36, 39, 24, 3, 0 }, { 10, -37, 40, 24, 3, 0 }, { 9, -38, 41, 24, 3, 0 }, - { 9, -39, 42, 24, 3, 0 }, { 9, -40, 42, 24, 3, 0 }, { 9, -41, 43, 24, 3, 0 }, { 9, -42, 44, 24, 3, 0 }, { 9, -43, 45, 24, 3, 0 }, - { 9, -44, 46, 24, 3, 0 }, { 9, -45, 47, 24, 3, 0 }, { 9, -46, 48, 24, 3, 0 }, { 8, -47, 49, 24, 3, 0 }, { 8, -48, 50, 24, 3, 0 }, - { 8, -49, 51, 24, 3, 0 }, { 8, -50, 52, 24, 3, 0 }, { 8, -50, 53, 24, 3, 0 }, { 8, -51, 54, 24, 3, 0 }, { 8, -52, 55, 24, 3, 0 }, - { 8, -53, 56, 24, 3, 0 }, { 8, -54, 57, 24, 3, 0 }, { 8, -55, 58, 24, 3, 0 }, { 7, -56, 59, 24, 3, 0 }, { 7, -57, 60, 24, 3, 0 }, - { 7, -57, 61, 24, 3, 0 }, { 7, -58, 62, 24, 3, 0 }, { 7, -59, 63, 24, 3, 0 }, { 7, -59, 64, 24, 3, 0 }, { 7, -60, 65, 24, 3, 0 }, - { 7, -61, 66, 24, 3, 0 }, { 7, -61, 67, 24, 3, 0 }, { 7, -62, 68, 24, 3, 0 }, { 6, -63, 69, 24, 3, 0 }, { 6, -64, 70, 24, 3, 0 }, - { 6, -64, 71, 24, 3, 0 }, { 6, -65, 72, 24, 3, 0 }, { 6, -66, 73, 24, 3, 0 }, { 6, -66, 74, 24, 3, 0 }, { 6, -67, 75, 24, 3, 0 }, - { 6, -68, 76, 24, 3, 0 }, { 6, -68, 77, 24, 3, 0 }, { 5, -69, 78, 24, 3, 0 }, { 5, -69, 79, 24, 3, 0 }, { 5, -70, 80, 24, 4, 0 }, - { 5, -71, 81, 24, 4, 0 }, { 5, -71, 82, 24, 4, 0 }, { 5, -72, 83, 24, 4, 0 }, { 5, -72, 84, 24, 4, 0 }, { 5, -73, 85, 24, 4, 0 }, - { 5, -74, 86, 24, 4, 0 }, { 5, -74, 87, 24, 4, 0 }, { 4, -75, 88, 24, 4, 0 }, { 4, -75, 89, 24, 4, 0 }, { 4, -76, 90, 24, 4, 0 }, - { 4, -76, 91, 24, 4, 0 }, { 4, -77, 92, 24, 4, 0 }, { 4, -77, 93, 24, 4, 0 }, { 4, -78, 94, 24, 4, 0 }, { 4, -78, 95, 24, 4, 0 }, - { 4, -78, 96, 24, 4, 0 }, { 4, -79, 97, 24, 4, 0 }, { 3, -79, 98, 24, 4, 0 }, { 3, -80, 99, 24, 4, 0 }, { 3, -80, 100, 24, 4, 0 }, - { 3, -81, 101, 24, 4, 0 }, { 3, -81, 102, 24, 4, 0 }, { 3, -81, 103, 24, 4, 0 }, { 3, -82, 104, 24, 4, 0 }, { 3, -82, 105, 24, 4, 0 }, - { 3, -83, 106, 24, 4, 0 }, { 3, -83, 107, 24, 4, 0 }, { 2, -83, 108, 24, 4, 0 }, { 2, -84, 109, 24, 4, 0 }, { 2, -84, 110, 24, 4, 0 }, - { 2, -85, 111, 24, 4, 0 }, { 2, -85, 112, 24, 4, 0 }, { 2, -86, 113, 24, 4, 0 }, { 2, -86, 114, 24, 4, 0 }, { 2, -86, 115, 24, 4, 0 }, - { 2, -87, 116, 24, 9, 0 }, { 1, -87, 117, 24, 9, 0 }, { 1, -87, 118, 24, 9, 0 }, { 1, -87, 119, 24, 9, 0 }, { 1, -88, 120, 24, 9, 0 }, - { 1, -88, 121, 24, 9, 0 }, { 1, -88, 122, 24, 9, 0 }, { 1, -89, 123, 24, 9, 0 }, { 1, -89, 124, 24, 9, 0 }, { 1, -89, 125, 24, 9, 0 }, - { 1, -90, 126, 24, 9, 0 }, { 0, -90, 127, 24, 9, 0 }, { 0, -90, 128, 24, 9, 0 }, { 0, -90, 129, 24, 9, 0 }, { 0, -91, 130, 24, 9, 0 }, - { 0, -91, 131, 24, 9, 0 }, { 0, -91, 132, 24, 9, 0 }, { 0, -91, 133, 24, 9, 0 }, { 0, -91, 134, 24, 9, 0 }, { 0, -92, 135, 24, 9, 0 }, - { 0, -92, 136, 24, 9, 0 }, { -1, -92, 137, 24, 9, 0 }, { -1, -92, 138, 24, 9, 0 }, { -1, -92, 139, 24, 9, 0 }, { -1, -92, 140, 24, 9, 0 }, - { -1, -93, 141, 24, 9, 0 }, { -1, -93, 142, 24, 9, 0 }, { -1, -93, 143, 24, 9, 0 }, { -1, -93, 144, 24, 9, 0 }, { -1, -93, 145, 24, 9, 0 }, - { -2, -93, 146, 24, 9, 0 }, { -2, -94, 147, 24, 9, 0 }, { -2, -94, 148, 24, 9, 0 }, { -2, -94, 149, 24, 10, 0 }, { -2, -94, 150, 24, 10, 0 }, - { -2, -94, 151, 24, 10, 0 }, { -2, -94, 152, 24, 10, 0 }, { -2, -94, 153, 24, 10, 0 }, { -2, -94, 154, 24, 10, 0 }, { -2, -94, 155, 24, 10, 0 }, - { -3, -94, 156, 24, 10, 0 }, { -3, -94, 157, 24, 10, 0 }, { -3, -94, 158, 24, 10, 0 }, { -3, -94, 159, 24, 10, 0 }, { -3, -94, 160, 24, 10, 0 }, - { -3, -94, 161, 24, 10, 0 }, { -3, -94, 162, 24, 10, 0 }, { -3, -94, 163, 24, 10, 0 }, { -3, -94, 164, 24, 10, 0 }, { -3, -94, 165, 24, 10, 0 }, - { -4, -94, 166, 24, 10, 0 }, { -4, -94, 167, 24, 10, 0 }, { -4, -94, 168, 24, 10, 0 }, { -4, -94, 169, 24, 10, 0 }, { -4, -94, 170, 24, 10, 0 }, - { -4, -94, 171, 24, 10, 0 }, { -4, -94, 172, 24, 10, 0 }, { -4, -94, 173, 24, 10, 0 }, { -4, -94, 174, 24, 10, 0 }, { -4, -94, 175, 24, 10, 0 }, - { -5, -94, 176, 24, 10, 0 }, { -5, -94, 177, 24, 10, 0 }, { -5, -94, 178, 24, 10, 0 }, { -5, -94, 179, 24, 10, 0 }, { -5, -94, 180, 24, 10, 0 }, - { -5, -94, 181, 24, 10, 0 }, { -5, -94, 182, 24, 10, 0 }, { -5, -94, 183, 24, 10, 0 }, { -5, -94, 184, 24, 10, 0 }, { -6, -94, 185, 24, 10, 0 }, - { -6, -94, 186, 24, 11, 0 }, { -6, -94, 187, 24, 11, 0 }, { -6, -93, 188, 24, 11, 0 }, { -6, -93, 189, 24, 11, 0 }, { -6, -93, 190, 24, 11, 0 }, - { -6, -93, 191, 24, 11, 0 }, { -6, -93, 192, 24, 11, 0 }, { -6, -93, 193, 24, 11, 0 }, { -6, -93, 194, 24, 11, 0 }, { -7, -93, 195, 24, 11, 0 }, - { -7, -92, 196, 24, 11, 0 }, { -7, -92, 197, 24, 11, 0 }, { -7, -92, 198, 24, 11, 0 }, { -7, -92, 199, 24, 11, 0 }, { -7, -92, 200, 24, 11, 0 }, - { -7, -92, 201, 24, 11, 0 }, { -7, -91, 202, 24, 11, 0 }, { -7, -91, 203, 24, 11, 0 }, { -7, -91, 204, 24, 11, 0 }, { -8, -91, 205, 24, 11, 0 }, - { -8, -90, 206, 24, 11, 0 }, { -8, -90, 207, 24, 11, 0 }, { -8, -90, 208, 24, 11, 0 }, { -8, -90, 209, 24, 11, 0 }, { -8, -89, 210, 24, 12, 0 }, - { -8, -89, 211, 24, 12, 0 }, { -8, -89, 212, 24, 12, 0 }, { -8, -88, 213, 24, 12, 0 }, { -9, -88, 214, 24, 12, 0 }, { -9, -87, 215, 24, 12, 0 }, - { -9, -87, 216, 24, 12, 0 }, { -9, -87, 217, 24, 12, 0 }, { -9, -86, 218, 24, 12, 0 }, { -9, -86, 219, 24, 12, 0 }, { -9, -86, 220, 24, 12, 0 }, - { -9, -85, 221, 24, 12, 0 }, { -9, -85, 222, 24, 12, 0 }, { -9, -84, 223, 24, 12, 0 }, { -10, -84, 224, 24, 12, 0 }, { -10, -83, 225, 24, 13, 0 }, - { -10, -83, 226, 24, 13, 0 }, { -10, -82, 227, 24, 13, 0 }, { -10, -82, 228, 24, 13, 0 }, { -10, -81, 229, 24, 13, 0 }, { -10, -81, 230, 24, 13, 0 }, - { -10, -80, 231, 24, 13, 0 }, { -10, -80, 232, 24, 13, 0 }, { -10, -79, 233, 24, 13, 0 }, { -11, -78, 234, 24, 13, 0 }, { -11, -78, 235, 24, 13, 0 }, - { -11, -77, 236, 24, 13, 0 }, { -11, -76, 237, 24, 13, 0 }, { -11, -76, 238, 24, 13, 0 }, { -11, -75, 239, 24, 13, 0 }, { -11, -74, 240, 24, 14, 0 }, - { -11, -73, 241, 24, 14, 0 }, { -11, -73, 242, 24, 14, 0 }, { -11, -72, 243, 24, 14, 0 }, { -12, -71, 244, 24, 14, 0 }, { -12, -70, 245, 24, 14, 0 }, - { -12, -69, 246, 24, 14, 0 }, { -12, -68, 247, 24, 14, 0 }, { -12, -67, 248, 24, 14, 0 }, { -12, -66, 249, 24, 14, 0 }, { -12, -65, 250, 24, 14, 0 }, - { -12, -64, 251, 24, 14, 0 }, { -12, -63, 252, 24, 14, 0 }, { -13, -62, 253, 24, 15, 0 }, { -13, -61, 253, 24, 15, 0 }, { -13, -60, 254, 24, 15, 0 }, - { -13, -59, 255, 24, 15, 0 }, { -13, -58, 256, 24, 15, 0 }, { -13, -57, 256, 24, 15, 0 }, { -13, -56, 257, 24, 15, 0 }, { -13, -55, 258, 24, 15, 0 }, - { -13, -54, 258, 24, 15, 0 }, { -13, -53, 259, 24, 15, 0 }, { -14, -52, 259, 24, 15, 0 }, { -14, -51, 260, 24, 15, 0 }, { -14, -50, 260, 24, 15, 0 }, - { -14, -49, 261, 24, 15, 0 }, { -14, -48, 261, 24, 15, 0 }, { -14, -47, 262, 24, 16, 0 }, { -14, -46, 262, 24, 16, 0 }, { -14, -45, 262, 24, 16, 0 }, - { -14, -44, 263, 24, 16, 0 }, { -14, -43, 263, 24, 16, 0 }, { -15, -42, 263, 24, 16, 0 }, { -15, -41, 263, 24, 16, 0 }, { -15, -40, 264, 24, 16, 0 }, - { -15, -39, 264, 24, 16, 0 }, { -15, -38, 264, 24, 16, 0 }, { -15, -37, 264, 24, 16, 0 }, { -15, -36, 264, 24, 16, 0 }, { -15, -35, 264, 24, 16, 0 }, - { -15, -34, 264, 24, 16, 0 }, + 311, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 0, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 1, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 2, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 3, 24, 2, 0 }, { 16, 23, 4, 24, 2, 0 }, { 16, 22, 4, 24, 2, 0 }, + { 15, 21, 5, 24, 2, 0 }, { 15, 20, 5, 24, 2, 0 }, { 15, 19, 6, 24, 2, 0 }, { 15, 18, 6, 24, 2, 0 }, { 15, 17, 7, 24, 2, 0 }, + { 15, 16, 7, 24, 2, 0 }, { 15, 15, 8, 24, 2, 0 }, { 15, 14, 8, 24, 2, 0 }, { 15, 13, 9, 24, 2, 0 }, { 15, 12, 9, 24, 2, 0 }, + { 14, 11, 10, 24, 2, 0 }, { 14, 10, 10, 24, 2, 0 }, { 14, 9, 11, 24, 2, 0 }, { 14, 8, 11, 24, 2, 0 }, { 14, 7, 12, 24, 2, 0 }, + { 14, 6, 12, 24, 2, 0 }, { 14, 5, 13, 24, 2, 0 }, { 14, 4, 13, 24, 2, 0 }, { 14, 3, 14, 24, 2, 0 }, { 14, 2, 14, 24, 2, 0 }, + { 13, 1, 15, 24, 2, 0 }, { 13, 0, 15, 24, 2, 0 }, { 13, -1, 16, 24, 2, 0 }, { 13, -2, 16, 24, 2, 0 }, { 13, -3, 17, 24, 2, 0 }, + { 13, -4, 17, 24, 2, 0 }, { 13, -5, 18, 24, 2, 0 }, { 13, -6, 18, 24, 2, 0 }, { 13, -7, 19, 24, 2, 0 }, { 12, -8, 19, 24, 2, 0 }, + { 12, -9, 20, 24, 2, 0 }, { 12, -10, 21, 24, 2, 0 }, { 12, -11, 21, 24, 2, 0 }, { 12, -12, 22, 24, 2, 0 }, { 12, -13, 22, 24, 2, 0 }, + { 12, -14, 23, 24, 2, 0 }, { 12, -15, 24, 24, 2, 0 }, { 12, -16, 24, 24, 2, 0 }, { 12, -17, 25, 24, 2, 0 }, { 11, -18, 25, 24, 2, 0 }, + { 11, -19, 26, 24, 2, 0 }, { 11, -20, 27, 24, 2, 0 }, { 11, -21, 27, 24, 2, 0 }, { 11, -22, 28, 24, 2, 0 }, { 11, -23, 29, 24, 2, 0 }, + { 11, -24, 30, 24, 2, 0 }, { 11, -25, 30, 24, 2, 0 }, { 11, -26, 31, 24, 2, 0 }, { 11, -27, 32, 24, 2, 0 }, { 10, -28, 33, 24, 2, 0 }, + { 10, -29, 33, 24, 2, 0 }, { 10, -30, 34, 24, 2, 0 }, { 10, -31, 35, 24, 3, 0 }, { 10, -32, 36, 24, 3, 0 }, { 10, -33, 36, 24, 3, 0 }, + { 10, -34, 37, 24, 3, 0 }, { 10, -35, 38, 24, 3, 0 }, { 10, -36, 39, 24, 3, 0 }, { 10, -37, 40, 24, 3, 0 }, { 9, -38, 41, 24, 3, 0 }, + { 9, -39, 42, 24, 3, 0 }, { 9, -40, 42, 24, 3, 0 }, { 9, -41, 43, 24, 3, 0 }, { 9, -42, 44, 24, 3, 0 }, { 9, -43, 45, 24, 3, 0 }, + { 9, -44, 46, 24, 3, 0 }, { 9, -45, 47, 24, 3, 0 }, { 9, -46, 48, 24, 3, 0 }, { 8, -47, 49, 24, 3, 0 }, { 8, -48, 50, 24, 3, 0 }, + { 8, -49, 51, 24, 3, 0 }, { 8, -50, 52, 24, 3, 0 }, { 8, -50, 53, 24, 3, 0 }, { 8, -51, 54, 24, 3, 0 }, { 8, -52, 55, 24, 3, 0 }, + { 8, -53, 56, 24, 3, 0 }, { 8, -54, 57, 24, 3, 0 }, { 8, -55, 58, 24, 3, 0 }, { 7, -56, 59, 24, 3, 0 }, { 7, -57, 60, 24, 3, 0 }, + { 7, -57, 61, 24, 3, 0 }, { 7, -58, 62, 24, 3, 0 }, { 7, -59, 63, 24, 3, 0 }, { 7, -59, 64, 24, 3, 0 }, { 7, -60, 65, 24, 3, 0 }, + { 7, -61, 66, 24, 3, 0 }, { 7, -61, 67, 24, 3, 0 }, { 7, -62, 68, 24, 3, 0 }, { 6, -63, 69, 24, 3, 0 }, { 6, -64, 70, 24, 3, 0 }, + { 6, -64, 71, 24, 3, 0 }, { 6, -65, 72, 24, 3, 0 }, { 6, -66, 73, 24, 3, 0 }, { 6, -66, 74, 24, 3, 0 }, { 6, -67, 75, 24, 3, 0 }, + { 6, -68, 76, 24, 3, 0 }, { 6, -68, 77, 24, 3, 0 }, { 5, -69, 78, 24, 3, 0 }, { 5, -69, 79, 24, 3, 0 }, { 5, -70, 80, 24, 4, 0 }, + { 5, -71, 81, 24, 4, 0 }, { 5, -71, 82, 24, 4, 0 }, { 5, -72, 83, 24, 4, 0 }, { 5, -72, 84, 24, 4, 0 }, { 5, -73, 85, 24, 4, 0 }, + { 5, -74, 86, 24, 4, 0 }, { 5, -74, 87, 24, 4, 0 }, { 4, -75, 88, 24, 4, 0 }, { 4, -75, 89, 24, 4, 0 }, { 4, -76, 90, 24, 4, 0 }, + { 4, -76, 91, 24, 4, 0 }, { 4, -77, 92, 24, 4, 0 }, { 4, -77, 93, 24, 4, 0 }, { 4, -78, 94, 24, 4, 0 }, { 4, -78, 95, 24, 4, 0 }, + { 4, -78, 96, 24, 4, 0 }, { 4, -79, 97, 24, 4, 0 }, { 3, -79, 98, 24, 4, 0 }, { 3, -80, 99, 24, 4, 0 }, { 3, -80, 100, 24, 4, 0 }, + { 3, -81, 101, 24, 4, 0 }, { 3, -81, 102, 24, 4, 0 }, { 3, -81, 103, 24, 4, 0 }, { 3, -82, 104, 24, 4, 0 }, { 3, -82, 105, 24, 4, 0 }, + { 3, -83, 106, 24, 4, 0 }, { 3, -83, 107, 24, 4, 0 }, { 2, -83, 108, 24, 4, 0 }, { 2, -84, 109, 24, 4, 0 }, { 2, -84, 110, 24, 4, 0 }, + { 2, -85, 111, 24, 4, 0 }, { 2, -85, 112, 24, 4, 0 }, { 2, -86, 113, 24, 4, 0 }, { 2, -86, 114, 24, 4, 0 }, { 2, -86, 115, 24, 4, 0 }, + { 2, -87, 116, 24, 9, 0 }, { 1, -87, 117, 24, 9, 0 }, { 1, -87, 118, 24, 9, 0 }, { 1, -87, 119, 24, 9, 0 }, { 1, -88, 120, 24, 9, 0 }, + { 1, -88, 121, 24, 9, 0 }, { 1, -88, 122, 24, 9, 0 }, { 1, -89, 123, 24, 9, 0 }, { 1, -89, 124, 24, 9, 0 }, { 1, -89, 125, 24, 9, 0 }, + { 1, -90, 126, 24, 9, 0 }, { 0, -90, 127, 24, 9, 0 }, { 0, -90, 128, 24, 9, 0 }, { 0, -90, 129, 24, 9, 0 }, { 0, -91, 130, 24, 9, 0 }, + { 0, -91, 131, 24, 9, 0 }, { 0, -91, 132, 24, 9, 0 }, { 0, -91, 133, 24, 9, 0 }, { 0, -91, 134, 24, 9, 0 }, { 0, -92, 135, 24, 9, 0 }, + { 0, -92, 136, 24, 9, 0 }, { -1, -92, 137, 24, 9, 0 }, { -1, -92, 138, 24, 9, 0 }, { -1, -92, 139, 24, 9, 0 }, { -1, -92, 140, 24, 9, 0 }, + { -1, -93, 141, 24, 9, 0 }, { -1, -93, 142, 24, 9, 0 }, { -1, -93, 143, 24, 9, 0 }, { -1, -93, 144, 24, 9, 0 }, { -1, -93, 145, 24, 9, 0 }, + { -2, -93, 146, 24, 9, 0 }, { -2, -94, 147, 24, 9, 0 }, { -2, -94, 148, 24, 9, 0 }, { -2, -94, 149, 24, 10, 0 }, { -2, -94, 150, 24, 10, 0 }, + { -2, -94, 151, 24, 10, 0 }, { -2, -94, 152, 24, 10, 0 }, { -2, -94, 153, 24, 10, 0 }, { -2, -94, 154, 24, 10, 0 }, { -2, -94, 155, 24, 10, 0 }, + { -3, -94, 156, 24, 10, 0 }, { -3, -94, 157, 24, 10, 0 }, { -3, -94, 158, 24, 10, 0 }, { -3, -94, 159, 24, 10, 0 }, { -3, -94, 160, 24, 10, 0 }, + { -3, -94, 161, 24, 10, 0 }, { -3, -94, 162, 24, 10, 0 }, { -3, -94, 163, 24, 10, 0 }, { -3, -94, 164, 24, 10, 0 }, { -3, -94, 165, 24, 10, 0 }, + { -4, -94, 166, 24, 10, 0 }, { -4, -94, 167, 24, 10, 0 }, { -4, -94, 168, 24, 10, 0 }, { -4, -94, 169, 24, 10, 0 }, { -4, -94, 170, 24, 10, 0 }, + { -4, -94, 171, 24, 10, 0 }, { -4, -94, 172, 24, 10, 0 }, { -4, -94, 173, 24, 10, 0 }, { -4, -94, 174, 24, 10, 0 }, { -4, -94, 175, 24, 10, 0 }, + { -5, -94, 176, 24, 10, 0 }, { -5, -94, 177, 24, 10, 0 }, { -5, -94, 178, 24, 10, 0 }, { -5, -94, 179, 24, 10, 0 }, { -5, -94, 180, 24, 10, 0 }, + { -5, -94, 181, 24, 10, 0 }, { -5, -94, 182, 24, 10, 0 }, { -5, -94, 183, 24, 10, 0 }, { -5, -94, 184, 24, 10, 0 }, { -6, -94, 185, 24, 10, 0 }, + { -6, -94, 186, 24, 11, 0 }, { -6, -94, 187, 24, 11, 0 }, { -6, -93, 188, 24, 11, 0 }, { -6, -93, 189, 24, 11, 0 }, { -6, -93, 190, 24, 11, 0 }, + { -6, -93, 191, 24, 11, 0 }, { -6, -93, 192, 24, 11, 0 }, { -6, -93, 193, 24, 11, 0 }, { -6, -93, 194, 24, 11, 0 }, { -7, -93, 195, 24, 11, 0 }, + { -7, -92, 196, 24, 11, 0 }, { -7, -92, 197, 24, 11, 0 }, { -7, -92, 198, 24, 11, 0 }, { -7, -92, 199, 24, 11, 0 }, { -7, -92, 200, 24, 11, 0 }, + { -7, -92, 201, 24, 11, 0 }, { -7, -91, 202, 24, 11, 0 }, { -7, -91, 203, 24, 11, 0 }, { -7, -91, 204, 24, 11, 0 }, { -8, -91, 205, 24, 11, 0 }, + { -8, -90, 206, 24, 11, 0 }, { -8, -90, 207, 24, 11, 0 }, { -8, -90, 208, 24, 11, 0 }, { -8, -90, 209, 24, 11, 0 }, { -8, -89, 210, 24, 12, 0 }, + { -8, -89, 211, 24, 12, 0 }, { -8, -89, 212, 24, 12, 0 }, { -8, -88, 213, 24, 12, 0 }, { -9, -88, 214, 24, 12, 0 }, { -9, -87, 215, 24, 12, 0 }, + { -9, -87, 216, 24, 12, 0 }, { -9, -87, 217, 24, 12, 0 }, { -9, -86, 218, 24, 12, 0 }, { -9, -86, 219, 24, 12, 0 }, { -9, -86, 220, 24, 12, 0 }, + { -9, -85, 221, 24, 12, 0 }, { -9, -85, 222, 24, 12, 0 }, { -9, -84, 223, 24, 12, 0 }, { -10, -84, 224, 24, 12, 0 }, { -10, -83, 225, 24, 13, 0 }, + { -10, -83, 226, 24, 13, 0 }, { -10, -82, 227, 24, 13, 0 }, { -10, -82, 228, 24, 13, 0 }, { -10, -81, 229, 24, 13, 0 }, { -10, -81, 230, 24, 13, 0 }, + { -10, -80, 231, 24, 13, 0 }, { -10, -80, 232, 24, 13, 0 }, { -10, -79, 233, 24, 13, 0 }, { -11, -78, 234, 24, 13, 0 }, { -11, -78, 235, 24, 13, 0 }, + { -11, -77, 236, 24, 13, 0 }, { -11, -76, 237, 24, 13, 0 }, { -11, -76, 238, 24, 13, 0 }, { -11, -75, 239, 24, 13, 0 }, { -11, -74, 240, 24, 14, 0 }, + { -11, -73, 241, 24, 14, 0 }, { -11, -73, 242, 24, 14, 0 }, { -11, -72, 243, 24, 14, 0 }, { -12, -71, 244, 24, 14, 0 }, { -12, -70, 245, 24, 14, 0 }, + { -12, -69, 246, 24, 14, 0 }, { -12, -68, 247, 24, 14, 0 }, { -12, -67, 248, 24, 14, 0 }, { -12, -66, 249, 24, 14, 0 }, { -12, -65, 250, 24, 14, 0 }, + { -12, -64, 251, 24, 14, 0 }, { -12, -63, 252, 24, 14, 0 }, { -13, -62, 253, 24, 15, 0 }, { -13, -61, 253, 24, 15, 0 }, { -13, -60, 254, 24, 15, 0 }, + { -13, -59, 255, 24, 15, 0 }, { -13, -58, 256, 24, 15, 0 }, { -13, -57, 256, 24, 15, 0 }, { -13, -56, 257, 24, 15, 0 }, { -13, -55, 258, 24, 15, 0 }, + { -13, -54, 258, 24, 15, 0 }, { -13, -53, 259, 24, 15, 0 }, { -14, -52, 259, 24, 15, 0 }, { -14, -51, 260, 24, 15, 0 }, { -14, -50, 260, 24, 15, 0 }, + { -14, -49, 261, 24, 15, 0 }, { -14, -48, 261, 24, 15, 0 }, { -14, -47, 262, 24, 16, 0 }, { -14, -46, 262, 24, 16, 0 }, { -14, -45, 262, 24, 16, 0 }, + { -14, -44, 263, 24, 16, 0 }, { -14, -43, 263, 24, 16, 0 }, { -15, -42, 263, 24, 16, 0 }, { -15, -41, 263, 24, 16, 0 }, { -15, -40, 264, 24, 16, 0 }, + { -15, -39, 264, 24, 16, 0 }, { -15, -38, 264, 24, 16, 0 }, { -15, -37, 264, 24, 16, 0 }, { -15, -36, 264, 24, 16, 0 }, { -15, -35, 264, 24, 16, 0 }, + { -15, -34, 264, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_927982 = { - 311, { - { 31, 16, 16, 16, 16, 0 }, { 30, 16, 16, 16, 16, 0 }, { 29, 16, 16, 16, 16, 0 }, { 28, 16, 16, 16, 16, 0 }, { 27, 16, 16, 16, 16, 0 }, - { 26, 16, 16, 16, 16, 0 }, { 25, 16, 16, 16, 16, 0 }, { 24, 16, 16, 16, 16, 0 }, { 23, 16, 15, 16, 16, 0 }, { 22, 16, 15, 16, 16, 0 }, - { 21, 15, 15, 16, 16, 0 }, { 20, 15, 15, 16, 16, 0 }, { 19, 15, 14, 16, 16, 0 }, { 18, 15, 14, 16, 16, 0 }, { 17, 15, 14, 16, 16, 0 }, - { 16, 15, 13, 16, 23, 0 }, { 15, 15, 13, 16, 23, 0 }, { 14, 15, 12, 16, 23, 0 }, { 13, 15, 12, 16, 23, 0 }, { 12, 15, 11, 16, 23, 0 }, - { 11, 14, 11, 16, 23, 0 }, { 10, 14, 10, 16, 23, 0 }, { 9, 14, 10, 16, 23, 0 }, { 8, 14, 9, 16, 23, 0 }, { 7, 14, 8, 16, 23, 0 }, - { 6, 14, 8, 16, 23, 0 }, { 5, 14, 7, 16, 23, 0 }, { 4, 14, 6, 16, 23, 0 }, { 3, 14, 5, 16, 23, 0 }, { 2, 14, 5, 16, 23, 0 }, - { 1, 13, 4, 16, 22, 0 }, { 0, 13, 3, 16, 22, 0 }, { -1, 13, 2, 16, 22, 0 }, { -2, 13, 1, 16, 22, 0 }, { -3, 13, 0, 16, 22, 0 }, - { -4, 13, -1, 16, 22, 0 }, { -5, 13, -2, 16, 22, 0 }, { -6, 13, -3, 16, 22, 0 }, { -7, 13, -4, 16, 22, 0 }, { -8, 12, -5, 16, 22, 0 }, - { -9, 12, -6, 16, 22, 0 }, { -9, 12, -7, 16, 22, 0 }, { -10, 12, -8, 16, 22, 0 }, { -11, 12, -9, 16, 21, 0 }, { -12, 12, -10, 16, 21, 0 }, - { -12, 12, -11, 16, 21, 0 }, { -13, 12, -12, 16, 21, 0 }, { -14, 12, -13, 16, 21, 0 }, { -14, 12, -14, 16, 21, 0 }, { -15, 11, -15, 16, 21, 0 }, - { -16, 11, -16, 16, 21, 0 }, { -16, 11, -17, 16, 21, 0 }, { -17, 11, -18, 16, 21, 0 }, { -17, 11, -19, 16, 21, 0 }, { -18, 11, -20, 16, 21, 0 }, - { -18, 11, -21, 16, 21, 0 }, { -19, 11, -22, 16, 21, 0 }, { -19, 11, -23, 16, 21, 0 }, { -20, 11, -24, 16, 20, 0 }, { -20, 10, -25, 16, 20, 0 }, - { -21, 10, -26, 16, 20, 0 }, { -21, 10, -27, 16, 20, 0 }, { -22, 10, -28, 16, 20, 0 }, { -22, 10, -29, 16, 20, 0 }, { -22, 10, -30, 16, 20, 0 }, - { -23, 10, -31, 16, 20, 0 }, { -23, 10, -32, 16, 20, 0 }, { -23, 10, -33, 16, 20, 0 }, { -24, 10, -34, 16, 20, 0 }, { -24, 9, -35, 16, 20, 0 }, - { -25, 9, -36, 16, 20, 0 }, { -25, 9, -37, 16, 20, 0 }, { -25, 9, -38, 16, 20, 0 }, { -26, 9, -39, 16, 19, 0 }, { -26, 9, -40, 16, 19, 0 }, - { -26, 9, -41, 16, 19, 0 }, { -26, 9, -42, 16, 19, 0 }, { -27, 9, -43, 16, 19, 0 }, { -27, 8, -44, 16, 19, 0 }, { -27, 8, -45, 16, 19, 0 }, - { -27, 8, -46, 16, 19, 0 }, { -28, 8, -47, 16, 19, 0 }, { -28, 8, -48, 16, 19, 0 }, { -28, 8, -49, 16, 19, 0 }, { -28, 8, -50, 16, 19, 0 }, - { -28, 8, -51, 16, 19, 0 }, { -28, 8, -52, 16, 19, 0 }, { -29, 8, -53, 16, 19, 0 }, { -29, 7, -54, 16, 19, 0 }, { -29, 7, -55, 16, 19, 0 }, - { -29, 7, -56, 16, 19, 0 }, { -29, 7, -57, 16, 19, 0 }, { -29, 7, -58, 16, 19, 0 }, { -29, 7, -59, 16, 19, 0 }, { -29, 7, -60, 16, 19, 0 }, - { -30, 7, -61, 16, 19, 0 }, { -30, 7, -62, 16, 19, 0 }, { -30, 7, -63, 16, 18, 0 }, { -30, 6, -64, 16, 18, 0 }, { -30, 6, -65, 16, 18, 0 }, - { -30, 6, -66, 16, 18, 0 }, { -30, 6, -67, 16, 18, 0 }, { -30, 6, -68, 16, 18, 0 }, { -30, 6, -69, 16, 18, 0 }, { -30, 6, -70, 16, 18, 0 }, - { -30, 6, -71, 16, 18, 0 }, { -30, 6, -72, 16, 18, 0 }, { -30, 5, -73, 16, 18, 0 }, { -30, 5, -74, 16, 18, 0 }, { -30, 5, -75, 16, 18, 0 }, - { -30, 5, -76, 16, 18, 0 }, { -30, 5, -77, 16, 18, 0 }, { -30, 5, -78, 16, 18, 0 }, { -30, 5, -79, 16, 18, 0 }, { -30, 5, -80, 16, 18, 0 }, - { -30, 5, -81, 16, 18, 0 }, { -30, 5, -82, 16, 18, 0 }, { -30, 4, -83, 16, 18, 0 }, { -30, 4, -84, 16, 18, 0 }, { -30, 4, -85, 16, 18, 0 }, - { -30, 4, -86, 16, 18, 0 }, { -30, 4, -87, 16, 18, 0 }, { -30, 4, -88, 16, 18, 0 }, { -30, 4, -89, 16, 18, 0 }, { -30, 4, -90, 16, 18, 0 }, - { -30, 4, -91, 16, 18, 0 }, { -30, 4, -92, 16, 18, 0 }, { -30, 3, -93, 16, 18, 0 }, { -30, 3, -94, 16, 18, 0 }, { -30, 3, -95, 16, 18, 0 }, - { -30, 3, -96, 16, 18, 0 }, { -30, 3, -97, 16, 18, 0 }, { -30, 3, -98, 16, 18, 0 }, { -30, 3, -99, 16, 18, 0 }, { -30, 3, -100, 16, 17, 0 }, - { -30, 3, -101, 16, 17, 0 }, { -29, 3, -102, 16, 17, 0 }, { -29, 2, -103, 16, 17, 0 }, { -29, 2, -104, 16, 17, 0 }, { -29, 2, -105, 16, 17, 0 }, - { -29, 2, -106, 16, 17, 0 }, { -29, 2, -107, 16, 17, 0 }, { -28, 2, -108, 16, 17, 0 }, { -28, 2, -109, 16, 17, 0 }, { -28, 2, -110, 16, 17, 0 }, - { -28, 2, -111, 16, 17, 0 }, { -28, 1, -112, 16, 17, 0 }, { -28, 1, -113, 16, 17, 0 }, { -27, 1, -114, 16, 17, 0 }, { -27, 1, -115, 16, 17, 0 }, - { -27, 1, -116, 16, 17, 0 }, { -27, 1, -117, 16, 17, 0 }, { -27, 1, -118, 16, 17, 0 }, { -26, 1, -119, 16, 17, 0 }, { -26, 1, -120, 16, 17, 0 }, - { -26, 1, -121, 16, 17, 0 }, { -26, 0, -122, 16, 17, 0 }, { -25, 0, -123, 16, 17, 0 }, { -25, 0, -124, 16, 17, 0 }, { -25, 0, -125, 16, 17, 0 }, - { -24, 0, -126, 16, 17, 0 }, { -24, 0, -127, 16, 17, 0 }, { -24, 0, -128, 16, 17, 0 }, { -23, 0, -129, 16, 17, 0 }, { -23, 0, -130, 16, 17, 0 }, - { -23, 0, -131, 16, 17, 0 }, { -23, -1, -132, 16, 17, 0 }, { -22, -1, -133, 16, 8, 0 }, { -22, -1, -134, 16, 8, 0 }, { -22, -1, -135, 16, 8, 0 }, - { -21, -1, -136, 16, 8, 0 }, { -21, -1, -137, 16, 8, 0 }, { -20, -1, -138, 16, 8, 0 }, { -20, -1, -139, 16, 8, 0 }, { -19, -1, -140, 16, 8, 0 }, - { -19, -2, -141, 16, 8, 0 }, { -19, -2, -142, 16, 8, 0 }, { -18, -2, -143, 16, 8, 0 }, { -18, -2, -144, 16, 8, 0 }, { -17, -2, -145, 16, 8, 0 }, - { -17, -2, -146, 16, 8, 0 }, { -17, -2, -147, 16, 8, 0 }, { -16, -2, -148, 16, 8, 0 }, { -16, -2, -149, 16, 8, 0 }, { -15, -2, -150, 16, 8, 0 }, - { -15, -3, -151, 16, 8, 0 }, { -14, -3, -152, 16, 8, 0 }, { -14, -3, -153, 16, 8, 0 }, { -14, -3, -154, 16, 8, 0 }, { -13, -3, -155, 16, 8, 0 }, - { -13, -3, -156, 16, 8, 0 }, { -12, -3, -157, 16, 8, 0 }, { -12, -3, -158, 16, 8, 0 }, { -11, -3, -159, 16, 8, 0 }, { -11, -3, -160, 16, 8, 0 }, - { -10, -4, -161, 16, 8, 0 }, { -10, -4, -162, 16, 8, 0 }, { -9, -4, -163, 16, 8, 0 }, { -8, -4, -164, 16, 8, 0 }, { -8, -4, -165, 16, 8, 0 }, - { -7, -4, -166, 16, 8, 0 }, { -7, -4, -167, 16, 8, 0 }, { -6, -4, -168, 16, 8, 0 }, { -5, -4, -169, 16, 7, 0 }, { -5, -4, -170, 16, 7, 0 }, - { -4, -5, -171, 16, 7, 0 }, { -4, -5, -172, 16, 7, 0 }, { -3, -5, -173, 16, 7, 0 }, { -2, -5, -174, 16, 7, 0 }, { -2, -5, -175, 16, 7, 0 }, - { -1, -5, -176, 16, 7, 0 }, { 0, -5, -177, 16, 7, 0 }, { 0, -5, -178, 16, 7, 0 }, { 1, -5, -179, 16, 7, 0 }, { 2, -6, -180, 16, 7, 0 }, - { 3, -6, -181, 16, 7, 0 }, { 3, -6, -182, 16, 7, 0 }, { 4, -6, -183, 16, 7, 0 }, { 5, -6, -184, 16, 7, 0 }, { 5, -6, -185, 16, 7, 0 }, - { 6, -6, -186, 16, 7, 0 }, { 7, -6, -187, 16, 7, 0 }, { 7, -6, -188, 16, 7, 0 }, { 8, -6, -189, 16, 7, 0 }, { 9, -7, -190, 16, 7, 0 }, - { 10, -7, -191, 16, 7, 0 }, { 11, -7, -192, 16, 7, 0 }, { 12, -7, -193, 16, 7, 0 }, { 13, -7, -194, 16, 7, 0 }, { 14, -7, -195, 16, 7, 0 }, - { 14, -7, -196, 16, 7, 0 }, { 15, -7, -197, 16, 7, 0 }, { 16, -7, -198, 16, 7, 0 }, { 17, -7, -199, 16, 7, 0 }, { 18, -8, -200, 16, 7, 0 }, - { 19, -8, -201, 16, 7, 0 }, { 20, -8, -202, 16, 7, 0 }, { 21, -8, -203, 16, 7, 0 }, { 22, -8, -204, 16, 7, 0 }, { 23, -8, -205, 16, 7, 0 }, - { 24, -8, -206, 16, 7, 0 }, { 25, -8, -206, 16, 7, 0 }, { 26, -8, -207, 16, 7, 0 }, { 27, -9, -208, 16, 7, 0 }, { 28, -9, -209, 16, 7, 0 }, - { 29, -9, -210, 16, 7, 0 }, { 30, -9, -211, 16, 7, 0 }, { 31, -9, -212, 16, 7, 0 }, { 32, -9, -212, 16, 7, 0 }, { 33, -9, -213, 16, 7, 0 }, - { 34, -9, -214, 16, 6, 0 }, { 35, -9, -215, 16, 6, 0 }, { 36, -9, -215, 16, 6, 0 }, { 37, -10, -216, 16, 6, 0 }, { 38, -10, -217, 16, 6, 0 }, - { 39, -10, -218, 16, 6, 0 }, { 40, -10, -218, 16, 6, 0 }, { 41, -10, -219, 16, 6, 0 }, { 42, -10, -220, 16, 6, 0 }, { 43, -10, -221, 16, 6, 0 }, - { 44, -10, -221, 16, 6, 0 }, { 45, -10, -222, 16, 6, 0 }, { 46, -10, -223, 16, 6, 0 }, { 47, -11, -223, 16, 6, 0 }, { 48, -11, -224, 16, 6, 0 }, - { 49, -11, -224, 16, 6, 0 }, { 50, -11, -225, 16, 6, 0 }, { 51, -11, -226, 16, 6, 0 }, { 52, -11, -226, 16, 6, 0 }, { 53, -11, -227, 16, 6, 0 }, - { 54, -11, -227, 16, 6, 0 }, { 55, -11, -228, 16, 6, 0 }, { 56, -11, -229, 16, 6, 0 }, { 57, -12, -229, 16, 6, 0 }, { 58, -12, -230, 16, 6, 0 }, - { 59, -12, -230, 16, 6, 0 }, { 60, -12, -231, 16, 6, 0 }, { 61, -12, -231, 16, 6, 0 }, { 62, -12, -232, 16, 6, 0 }, { 63, -12, -232, 16, 6, 0 }, - { 64, -12, -233, 16, 6, 0 }, { 65, -12, -233, 16, 6, 0 }, { 66, -13, -234, 16, 6, 0 }, { 67, -13, -234, 16, 6, 0 }, { 68, -13, -235, 16, 6, 0 }, - { 69, -13, -235, 16, 6, 0 }, { 70, -13, -236, 16, 6, 0 }, { 71, -13, -236, 16, 6, 0 }, { 72, -13, -237, 16, 6, 0 }, { 73, -13, -237, 16, 6, 0 }, - { 74, -13, -238, 16, 6, 0 }, { 75, -13, -238, 16, 6, 0 }, { 76, -14, -239, 16, 6, 0 }, { 77, -14, -239, 16, 6, 0 }, { 78, -14, -240, 16, 6, 0 }, - { 79, -14, -240, 16, 6, 0 }, { 80, -14, -241, 16, 6, 0 }, { 81, -14, -241, 16, 6, 0 }, { 82, -14, -242, 16, 6, 0 }, { 83, -14, -242, 16, 6, 0 }, - { 84, -14, -243, 16, 6, 0 }, { 85, -14, -243, 16, 6, 0 }, { 86, -15, -244, 16, 6, 0 }, { 87, -15, -244, 16, 6, 0 }, { 88, -15, -245, 16, 6, 0 }, - { 89, -15, -245, 16, 6, 0 }, { 90, -15, -246, 16, 6, 0 }, { 91, -15, -246, 16, 6, 0 }, { 92, -15, -247, 16, 6, 0 }, { 93, -15, -247, 16, 6, 0 }, - { 94, -15, -248, 16, 6, 0 }, + 311, { + { 31, 16, 16, 16, 16, 0 }, { 30, 16, 16, 16, 16, 0 }, { 29, 16, 16, 16, 16, 0 }, { 28, 16, 16, 16, 16, 0 }, { 27, 16, 16, 16, 16, 0 }, + { 26, 16, 16, 16, 16, 0 }, { 25, 16, 16, 16, 16, 0 }, { 24, 16, 16, 16, 16, 0 }, { 23, 16, 15, 16, 16, 0 }, { 22, 16, 15, 16, 16, 0 }, + { 21, 15, 15, 16, 16, 0 }, { 20, 15, 15, 16, 16, 0 }, { 19, 15, 14, 16, 16, 0 }, { 18, 15, 14, 16, 16, 0 }, { 17, 15, 14, 16, 16, 0 }, + { 16, 15, 13, 16, 23, 0 }, { 15, 15, 13, 16, 23, 0 }, { 14, 15, 12, 16, 23, 0 }, { 13, 15, 12, 16, 23, 0 }, { 12, 15, 11, 16, 23, 0 }, + { 11, 14, 11, 16, 23, 0 }, { 10, 14, 10, 16, 23, 0 }, { 9, 14, 10, 16, 23, 0 }, { 8, 14, 9, 16, 23, 0 }, { 7, 14, 8, 16, 23, 0 }, + { 6, 14, 8, 16, 23, 0 }, { 5, 14, 7, 16, 23, 0 }, { 4, 14, 6, 16, 23, 0 }, { 3, 14, 5, 16, 23, 0 }, { 2, 14, 5, 16, 23, 0 }, + { 1, 13, 4, 16, 22, 0 }, { 0, 13, 3, 16, 22, 0 }, { -1, 13, 2, 16, 22, 0 }, { -2, 13, 1, 16, 22, 0 }, { -3, 13, 0, 16, 22, 0 }, + { -4, 13, -1, 16, 22, 0 }, { -5, 13, -2, 16, 22, 0 }, { -6, 13, -3, 16, 22, 0 }, { -7, 13, -4, 16, 22, 0 }, { -8, 12, -5, 16, 22, 0 }, + { -9, 12, -6, 16, 22, 0 }, { -9, 12, -7, 16, 22, 0 }, { -10, 12, -8, 16, 22, 0 }, { -11, 12, -9, 16, 21, 0 }, { -12, 12, -10, 16, 21, 0 }, + { -12, 12, -11, 16, 21, 0 }, { -13, 12, -12, 16, 21, 0 }, { -14, 12, -13, 16, 21, 0 }, { -14, 12, -14, 16, 21, 0 }, { -15, 11, -15, 16, 21, 0 }, + { -16, 11, -16, 16, 21, 0 }, { -16, 11, -17, 16, 21, 0 }, { -17, 11, -18, 16, 21, 0 }, { -17, 11, -19, 16, 21, 0 }, { -18, 11, -20, 16, 21, 0 }, + { -18, 11, -21, 16, 21, 0 }, { -19, 11, -22, 16, 21, 0 }, { -19, 11, -23, 16, 21, 0 }, { -20, 11, -24, 16, 20, 0 }, { -20, 10, -25, 16, 20, 0 }, + { -21, 10, -26, 16, 20, 0 }, { -21, 10, -27, 16, 20, 0 }, { -22, 10, -28, 16, 20, 0 }, { -22, 10, -29, 16, 20, 0 }, { -22, 10, -30, 16, 20, 0 }, + { -23, 10, -31, 16, 20, 0 }, { -23, 10, -32, 16, 20, 0 }, { -23, 10, -33, 16, 20, 0 }, { -24, 10, -34, 16, 20, 0 }, { -24, 9, -35, 16, 20, 0 }, + { -25, 9, -36, 16, 20, 0 }, { -25, 9, -37, 16, 20, 0 }, { -25, 9, -38, 16, 20, 0 }, { -26, 9, -39, 16, 19, 0 }, { -26, 9, -40, 16, 19, 0 }, + { -26, 9, -41, 16, 19, 0 }, { -26, 9, -42, 16, 19, 0 }, { -27, 9, -43, 16, 19, 0 }, { -27, 8, -44, 16, 19, 0 }, { -27, 8, -45, 16, 19, 0 }, + { -27, 8, -46, 16, 19, 0 }, { -28, 8, -47, 16, 19, 0 }, { -28, 8, -48, 16, 19, 0 }, { -28, 8, -49, 16, 19, 0 }, { -28, 8, -50, 16, 19, 0 }, + { -28, 8, -51, 16, 19, 0 }, { -28, 8, -52, 16, 19, 0 }, { -29, 8, -53, 16, 19, 0 }, { -29, 7, -54, 16, 19, 0 }, { -29, 7, -55, 16, 19, 0 }, + { -29, 7, -56, 16, 19, 0 }, { -29, 7, -57, 16, 19, 0 }, { -29, 7, -58, 16, 19, 0 }, { -29, 7, -59, 16, 19, 0 }, { -29, 7, -60, 16, 19, 0 }, + { -30, 7, -61, 16, 19, 0 }, { -30, 7, -62, 16, 19, 0 }, { -30, 7, -63, 16, 18, 0 }, { -30, 6, -64, 16, 18, 0 }, { -30, 6, -65, 16, 18, 0 }, + { -30, 6, -66, 16, 18, 0 }, { -30, 6, -67, 16, 18, 0 }, { -30, 6, -68, 16, 18, 0 }, { -30, 6, -69, 16, 18, 0 }, { -30, 6, -70, 16, 18, 0 }, + { -30, 6, -71, 16, 18, 0 }, { -30, 6, -72, 16, 18, 0 }, { -30, 5, -73, 16, 18, 0 }, { -30, 5, -74, 16, 18, 0 }, { -30, 5, -75, 16, 18, 0 }, + { -30, 5, -76, 16, 18, 0 }, { -30, 5, -77, 16, 18, 0 }, { -30, 5, -78, 16, 18, 0 }, { -30, 5, -79, 16, 18, 0 }, { -30, 5, -80, 16, 18, 0 }, + { -30, 5, -81, 16, 18, 0 }, { -30, 5, -82, 16, 18, 0 }, { -30, 4, -83, 16, 18, 0 }, { -30, 4, -84, 16, 18, 0 }, { -30, 4, -85, 16, 18, 0 }, + { -30, 4, -86, 16, 18, 0 }, { -30, 4, -87, 16, 18, 0 }, { -30, 4, -88, 16, 18, 0 }, { -30, 4, -89, 16, 18, 0 }, { -30, 4, -90, 16, 18, 0 }, + { -30, 4, -91, 16, 18, 0 }, { -30, 4, -92, 16, 18, 0 }, { -30, 3, -93, 16, 18, 0 }, { -30, 3, -94, 16, 18, 0 }, { -30, 3, -95, 16, 18, 0 }, + { -30, 3, -96, 16, 18, 0 }, { -30, 3, -97, 16, 18, 0 }, { -30, 3, -98, 16, 18, 0 }, { -30, 3, -99, 16, 18, 0 }, { -30, 3, -100, 16, 17, 0 }, + { -30, 3, -101, 16, 17, 0 }, { -29, 3, -102, 16, 17, 0 }, { -29, 2, -103, 16, 17, 0 }, { -29, 2, -104, 16, 17, 0 }, { -29, 2, -105, 16, 17, 0 }, + { -29, 2, -106, 16, 17, 0 }, { -29, 2, -107, 16, 17, 0 }, { -28, 2, -108, 16, 17, 0 }, { -28, 2, -109, 16, 17, 0 }, { -28, 2, -110, 16, 17, 0 }, + { -28, 2, -111, 16, 17, 0 }, { -28, 1, -112, 16, 17, 0 }, { -28, 1, -113, 16, 17, 0 }, { -27, 1, -114, 16, 17, 0 }, { -27, 1, -115, 16, 17, 0 }, + { -27, 1, -116, 16, 17, 0 }, { -27, 1, -117, 16, 17, 0 }, { -27, 1, -118, 16, 17, 0 }, { -26, 1, -119, 16, 17, 0 }, { -26, 1, -120, 16, 17, 0 }, + { -26, 1, -121, 16, 17, 0 }, { -26, 0, -122, 16, 17, 0 }, { -25, 0, -123, 16, 17, 0 }, { -25, 0, -124, 16, 17, 0 }, { -25, 0, -125, 16, 17, 0 }, + { -24, 0, -126, 16, 17, 0 }, { -24, 0, -127, 16, 17, 0 }, { -24, 0, -128, 16, 17, 0 }, { -23, 0, -129, 16, 17, 0 }, { -23, 0, -130, 16, 17, 0 }, + { -23, 0, -131, 16, 17, 0 }, { -23, -1, -132, 16, 17, 0 }, { -22, -1, -133, 16, 8, 0 }, { -22, -1, -134, 16, 8, 0 }, { -22, -1, -135, 16, 8, 0 }, + { -21, -1, -136, 16, 8, 0 }, { -21, -1, -137, 16, 8, 0 }, { -20, -1, -138, 16, 8, 0 }, { -20, -1, -139, 16, 8, 0 }, { -19, -1, -140, 16, 8, 0 }, + { -19, -2, -141, 16, 8, 0 }, { -19, -2, -142, 16, 8, 0 }, { -18, -2, -143, 16, 8, 0 }, { -18, -2, -144, 16, 8, 0 }, { -17, -2, -145, 16, 8, 0 }, + { -17, -2, -146, 16, 8, 0 }, { -17, -2, -147, 16, 8, 0 }, { -16, -2, -148, 16, 8, 0 }, { -16, -2, -149, 16, 8, 0 }, { -15, -2, -150, 16, 8, 0 }, + { -15, -3, -151, 16, 8, 0 }, { -14, -3, -152, 16, 8, 0 }, { -14, -3, -153, 16, 8, 0 }, { -14, -3, -154, 16, 8, 0 }, { -13, -3, -155, 16, 8, 0 }, + { -13, -3, -156, 16, 8, 0 }, { -12, -3, -157, 16, 8, 0 }, { -12, -3, -158, 16, 8, 0 }, { -11, -3, -159, 16, 8, 0 }, { -11, -3, -160, 16, 8, 0 }, + { -10, -4, -161, 16, 8, 0 }, { -10, -4, -162, 16, 8, 0 }, { -9, -4, -163, 16, 8, 0 }, { -8, -4, -164, 16, 8, 0 }, { -8, -4, -165, 16, 8, 0 }, + { -7, -4, -166, 16, 8, 0 }, { -7, -4, -167, 16, 8, 0 }, { -6, -4, -168, 16, 8, 0 }, { -5, -4, -169, 16, 7, 0 }, { -5, -4, -170, 16, 7, 0 }, + { -4, -5, -171, 16, 7, 0 }, { -4, -5, -172, 16, 7, 0 }, { -3, -5, -173, 16, 7, 0 }, { -2, -5, -174, 16, 7, 0 }, { -2, -5, -175, 16, 7, 0 }, + { -1, -5, -176, 16, 7, 0 }, { 0, -5, -177, 16, 7, 0 }, { 0, -5, -178, 16, 7, 0 }, { 1, -5, -179, 16, 7, 0 }, { 2, -6, -180, 16, 7, 0 }, + { 3, -6, -181, 16, 7, 0 }, { 3, -6, -182, 16, 7, 0 }, { 4, -6, -183, 16, 7, 0 }, { 5, -6, -184, 16, 7, 0 }, { 5, -6, -185, 16, 7, 0 }, + { 6, -6, -186, 16, 7, 0 }, { 7, -6, -187, 16, 7, 0 }, { 7, -6, -188, 16, 7, 0 }, { 8, -6, -189, 16, 7, 0 }, { 9, -7, -190, 16, 7, 0 }, + { 10, -7, -191, 16, 7, 0 }, { 11, -7, -192, 16, 7, 0 }, { 12, -7, -193, 16, 7, 0 }, { 13, -7, -194, 16, 7, 0 }, { 14, -7, -195, 16, 7, 0 }, + { 14, -7, -196, 16, 7, 0 }, { 15, -7, -197, 16, 7, 0 }, { 16, -7, -198, 16, 7, 0 }, { 17, -7, -199, 16, 7, 0 }, { 18, -8, -200, 16, 7, 0 }, + { 19, -8, -201, 16, 7, 0 }, { 20, -8, -202, 16, 7, 0 }, { 21, -8, -203, 16, 7, 0 }, { 22, -8, -204, 16, 7, 0 }, { 23, -8, -205, 16, 7, 0 }, + { 24, -8, -206, 16, 7, 0 }, { 25, -8, -206, 16, 7, 0 }, { 26, -8, -207, 16, 7, 0 }, { 27, -9, -208, 16, 7, 0 }, { 28, -9, -209, 16, 7, 0 }, + { 29, -9, -210, 16, 7, 0 }, { 30, -9, -211, 16, 7, 0 }, { 31, -9, -212, 16, 7, 0 }, { 32, -9, -212, 16, 7, 0 }, { 33, -9, -213, 16, 7, 0 }, + { 34, -9, -214, 16, 6, 0 }, { 35, -9, -215, 16, 6, 0 }, { 36, -9, -215, 16, 6, 0 }, { 37, -10, -216, 16, 6, 0 }, { 38, -10, -217, 16, 6, 0 }, + { 39, -10, -218, 16, 6, 0 }, { 40, -10, -218, 16, 6, 0 }, { 41, -10, -219, 16, 6, 0 }, { 42, -10, -220, 16, 6, 0 }, { 43, -10, -221, 16, 6, 0 }, + { 44, -10, -221, 16, 6, 0 }, { 45, -10, -222, 16, 6, 0 }, { 46, -10, -223, 16, 6, 0 }, { 47, -11, -223, 16, 6, 0 }, { 48, -11, -224, 16, 6, 0 }, + { 49, -11, -224, 16, 6, 0 }, { 50, -11, -225, 16, 6, 0 }, { 51, -11, -226, 16, 6, 0 }, { 52, -11, -226, 16, 6, 0 }, { 53, -11, -227, 16, 6, 0 }, + { 54, -11, -227, 16, 6, 0 }, { 55, -11, -228, 16, 6, 0 }, { 56, -11, -229, 16, 6, 0 }, { 57, -12, -229, 16, 6, 0 }, { 58, -12, -230, 16, 6, 0 }, + { 59, -12, -230, 16, 6, 0 }, { 60, -12, -231, 16, 6, 0 }, { 61, -12, -231, 16, 6, 0 }, { 62, -12, -232, 16, 6, 0 }, { 63, -12, -232, 16, 6, 0 }, + { 64, -12, -233, 16, 6, 0 }, { 65, -12, -233, 16, 6, 0 }, { 66, -13, -234, 16, 6, 0 }, { 67, -13, -234, 16, 6, 0 }, { 68, -13, -235, 16, 6, 0 }, + { 69, -13, -235, 16, 6, 0 }, { 70, -13, -236, 16, 6, 0 }, { 71, -13, -236, 16, 6, 0 }, { 72, -13, -237, 16, 6, 0 }, { 73, -13, -237, 16, 6, 0 }, + { 74, -13, -238, 16, 6, 0 }, { 75, -13, -238, 16, 6, 0 }, { 76, -14, -239, 16, 6, 0 }, { 77, -14, -239, 16, 6, 0 }, { 78, -14, -240, 16, 6, 0 }, + { 79, -14, -240, 16, 6, 0 }, { 80, -14, -241, 16, 6, 0 }, { 81, -14, -241, 16, 6, 0 }, { 82, -14, -242, 16, 6, 0 }, { 83, -14, -242, 16, 6, 0 }, + { 84, -14, -243, 16, 6, 0 }, { 85, -14, -243, 16, 6, 0 }, { 86, -15, -244, 16, 6, 0 }, { 87, -15, -244, 16, 6, 0 }, { 88, -15, -245, 16, 6, 0 }, + { 89, -15, -245, 16, 6, 0 }, { 90, -15, -246, 16, 6, 0 }, { 91, -15, -246, 16, 6, 0 }, { 92, -15, -247, 16, 6, 0 }, { 93, -15, -247, 16, 6, 0 }, + { 94, -15, -248, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_928F76 = { - 311, { - { 16, 0, 16, 24, 16, 0 }, { 16, 1, 16, 24, 16, 0 }, { 16, 2, 16, 24, 16, 0 }, { 16, 3, 16, 24, 16, 0 }, { 16, 4, 16, 24, 16, 0 }, - { 16, 5, 16, 24, 16, 0 }, { 16, 6, 16, 24, 16, 0 }, { 16, 7, 16, 24, 16, 0 }, { 16, 8, 15, 24, 16, 0 }, { 16, 9, 15, 24, 16, 0 }, - { 15, 10, 15, 24, 16, 0 }, { 15, 11, 15, 24, 16, 0 }, { 15, 12, 14, 24, 16, 0 }, { 15, 13, 14, 24, 16, 0 }, { 15, 14, 14, 24, 16, 0 }, - { 15, 15, 13, 24, 23, 0 }, { 15, 16, 13, 24, 23, 0 }, { 15, 17, 12, 24, 23, 0 }, { 15, 18, 12, 24, 23, 0 }, { 15, 19, 11, 24, 23, 0 }, - { 14, 20, 11, 24, 23, 0 }, { 14, 21, 10, 24, 23, 0 }, { 14, 22, 10, 24, 23, 0 }, { 14, 23, 9, 24, 23, 0 }, { 14, 24, 8, 24, 23, 0 }, - { 14, 25, 8, 24, 23, 0 }, { 14, 26, 7, 24, 23, 0 }, { 14, 27, 6, 24, 23, 0 }, { 14, 28, 5, 24, 23, 0 }, { 14, 29, 5, 24, 23, 0 }, - { 13, 30, 4, 24, 22, 0 }, { 13, 31, 3, 24, 22, 0 }, { 13, 32, 2, 24, 22, 0 }, { 13, 33, 1, 24, 22, 0 }, { 13, 34, 0, 24, 22, 0 }, - { 13, 35, -1, 24, 22, 0 }, { 13, 36, -2, 24, 22, 0 }, { 13, 37, -3, 24, 22, 0 }, { 13, 38, -4, 24, 22, 0 }, { 12, 39, -5, 24, 22, 0 }, - { 12, 40, -6, 24, 22, 0 }, { 12, 40, -7, 24, 22, 0 }, { 12, 41, -8, 24, 22, 0 }, { 12, 42, -9, 24, 21, 0 }, { 12, 43, -10, 24, 21, 0 }, - { 12, 43, -11, 24, 21, 0 }, { 12, 44, -12, 24, 21, 0 }, { 12, 45, -13, 24, 21, 0 }, { 12, 45, -14, 24, 21, 0 }, { 11, 46, -15, 24, 21, 0 }, - { 11, 47, -16, 24, 21, 0 }, { 11, 47, -17, 24, 21, 0 }, { 11, 48, -18, 24, 21, 0 }, { 11, 48, -19, 24, 21, 0 }, { 11, 49, -20, 24, 21, 0 }, - { 11, 49, -21, 24, 21, 0 }, { 11, 50, -22, 24, 21, 0 }, { 11, 50, -23, 24, 21, 0 }, { 11, 51, -24, 24, 20, 0 }, { 10, 51, -25, 24, 20, 0 }, - { 10, 52, -26, 24, 20, 0 }, { 10, 52, -27, 24, 20, 0 }, { 10, 53, -28, 24, 20, 0 }, { 10, 53, -29, 24, 20, 0 }, { 10, 53, -30, 24, 20, 0 }, - { 10, 54, -31, 24, 20, 0 }, { 10, 54, -32, 24, 20, 0 }, { 10, 54, -33, 24, 20, 0 }, { 10, 55, -34, 24, 20, 0 }, { 9, 55, -35, 24, 20, 0 }, - { 9, 56, -36, 24, 20, 0 }, { 9, 56, -37, 24, 20, 0 }, { 9, 56, -38, 24, 20, 0 }, { 9, 57, -39, 24, 19, 0 }, { 9, 57, -40, 24, 19, 0 }, - { 9, 57, -41, 24, 19, 0 }, { 9, 57, -42, 24, 19, 0 }, { 9, 58, -43, 24, 19, 0 }, { 8, 58, -44, 24, 19, 0 }, { 8, 58, -45, 24, 19, 0 }, - { 8, 58, -46, 24, 19, 0 }, { 8, 59, -47, 24, 19, 0 }, { 8, 59, -48, 24, 19, 0 }, { 8, 59, -49, 24, 19, 0 }, { 8, 59, -50, 24, 19, 0 }, - { 8, 59, -51, 24, 19, 0 }, { 8, 59, -52, 24, 19, 0 }, { 8, 60, -53, 24, 19, 0 }, { 7, 60, -54, 24, 19, 0 }, { 7, 60, -55, 24, 19, 0 }, - { 7, 60, -56, 24, 19, 0 }, { 7, 60, -57, 24, 19, 0 }, { 7, 60, -58, 24, 19, 0 }, { 7, 60, -59, 24, 19, 0 }, { 7, 60, -60, 24, 19, 0 }, - { 7, 61, -61, 24, 19, 0 }, { 7, 61, -62, 24, 19, 0 }, { 7, 61, -63, 24, 18, 0 }, { 6, 61, -64, 24, 18, 0 }, { 6, 61, -65, 24, 18, 0 }, - { 6, 61, -66, 24, 18, 0 }, { 6, 61, -67, 24, 18, 0 }, { 6, 61, -68, 24, 18, 0 }, { 6, 61, -69, 24, 18, 0 }, { 6, 61, -70, 24, 18, 0 }, - { 6, 61, -71, 24, 18, 0 }, { 6, 61, -72, 24, 18, 0 }, { 5, 61, -73, 24, 18, 0 }, { 5, 61, -74, 24, 18, 0 }, { 5, 61, -75, 24, 18, 0 }, - { 5, 61, -76, 24, 18, 0 }, { 5, 61, -77, 24, 18, 0 }, { 5, 61, -78, 24, 18, 0 }, { 5, 61, -79, 24, 18, 0 }, { 5, 61, -80, 24, 18, 0 }, - { 5, 61, -81, 24, 18, 0 }, { 5, 61, -82, 24, 18, 0 }, { 4, 61, -83, 24, 18, 0 }, { 4, 61, -84, 24, 18, 0 }, { 4, 61, -85, 24, 18, 0 }, - { 4, 61, -86, 24, 18, 0 }, { 4, 61, -87, 24, 18, 0 }, { 4, 61, -88, 24, 18, 0 }, { 4, 61, -89, 24, 18, 0 }, { 4, 61, -90, 24, 18, 0 }, - { 4, 61, -91, 24, 18, 0 }, { 4, 61, -92, 24, 18, 0 }, { 3, 61, -93, 24, 18, 0 }, { 3, 61, -94, 24, 18, 0 }, { 3, 61, -95, 24, 18, 0 }, - { 3, 61, -96, 24, 18, 0 }, { 3, 61, -97, 24, 18, 0 }, { 3, 61, -98, 24, 18, 0 }, { 3, 61, -99, 24, 18, 0 }, { 3, 61, -100, 24, 17, 0 }, - { 3, 61, -101, 24, 17, 0 }, { 3, 60, -102, 24, 17, 0 }, { 2, 60, -103, 24, 17, 0 }, { 2, 60, -104, 24, 17, 0 }, { 2, 60, -105, 24, 17, 0 }, - { 2, 60, -106, 24, 17, 0 }, { 2, 60, -107, 24, 17, 0 }, { 2, 59, -108, 24, 17, 0 }, { 2, 59, -109, 24, 17, 0 }, { 2, 59, -110, 24, 17, 0 }, - { 2, 59, -111, 24, 17, 0 }, { 1, 59, -112, 24, 17, 0 }, { 1, 59, -113, 24, 17, 0 }, { 1, 58, -114, 24, 17, 0 }, { 1, 58, -115, 24, 17, 0 }, - { 1, 58, -116, 24, 17, 0 }, { 1, 58, -117, 24, 17, 0 }, { 1, 58, -118, 24, 17, 0 }, { 1, 57, -119, 24, 17, 0 }, { 1, 57, -120, 24, 17, 0 }, - { 1, 57, -121, 24, 17, 0 }, { 0, 57, -122, 24, 17, 0 }, { 0, 56, -123, 24, 17, 0 }, { 0, 56, -124, 24, 17, 0 }, { 0, 56, -125, 24, 17, 0 }, - { 0, 55, -126, 24, 17, 0 }, { 0, 55, -127, 24, 17, 0 }, { 0, 55, -128, 24, 17, 0 }, { 0, 54, -129, 24, 17, 0 }, { 0, 54, -130, 24, 17, 0 }, - { 0, 54, -131, 24, 17, 0 }, { -1, 54, -132, 24, 17, 0 }, { -1, 53, -133, 24, 8, 0 }, { -1, 53, -134, 24, 8, 0 }, { -1, 53, -135, 24, 8, 0 }, - { -1, 52, -136, 24, 8, 0 }, { -1, 52, -137, 24, 8, 0 }, { -1, 51, -138, 24, 8, 0 }, { -1, 51, -139, 24, 8, 0 }, { -1, 50, -140, 24, 8, 0 }, - { -2, 50, -141, 24, 8, 0 }, { -2, 50, -142, 24, 8, 0 }, { -2, 49, -143, 24, 8, 0 }, { -2, 49, -144, 24, 8, 0 }, { -2, 48, -145, 24, 8, 0 }, - { -2, 48, -146, 24, 8, 0 }, { -2, 48, -147, 24, 8, 0 }, { -2, 47, -148, 24, 8, 0 }, { -2, 47, -149, 24, 8, 0 }, { -2, 46, -150, 24, 8, 0 }, - { -3, 46, -151, 24, 8, 0 }, { -3, 45, -152, 24, 8, 0 }, { -3, 45, -153, 24, 8, 0 }, { -3, 45, -154, 24, 8, 0 }, { -3, 44, -155, 24, 8, 0 }, - { -3, 44, -156, 24, 8, 0 }, { -3, 43, -157, 24, 8, 0 }, { -3, 43, -158, 24, 8, 0 }, { -3, 42, -159, 24, 8, 0 }, { -3, 42, -160, 24, 8, 0 }, - { -4, 41, -161, 24, 8, 0 }, { -4, 41, -162, 24, 8, 0 }, { -4, 40, -163, 24, 8, 0 }, { -4, 39, -164, 24, 8, 0 }, { -4, 39, -165, 24, 8, 0 }, - { -4, 38, -166, 24, 8, 0 }, { -4, 38, -167, 24, 8, 0 }, { -4, 37, -168, 24, 8, 0 }, { -4, 36, -169, 24, 7, 0 }, { -4, 36, -170, 24, 7, 0 }, - { -5, 35, -171, 24, 7, 0 }, { -5, 35, -172, 24, 7, 0 }, { -5, 34, -173, 24, 7, 0 }, { -5, 33, -174, 24, 7, 0 }, { -5, 33, -175, 24, 7, 0 }, - { -5, 32, -176, 24, 7, 0 }, { -5, 31, -177, 24, 7, 0 }, { -5, 31, -178, 24, 7, 0 }, { -5, 30, -179, 24, 7, 0 }, { -6, 29, -180, 24, 7, 0 }, - { -6, 28, -181, 24, 7, 0 }, { -6, 28, -182, 24, 7, 0 }, { -6, 27, -183, 24, 7, 0 }, { -6, 26, -184, 24, 7, 0 }, { -6, 26, -185, 24, 7, 0 }, - { -6, 25, -186, 24, 7, 0 }, { -6, 24, -187, 24, 7, 0 }, { -6, 24, -188, 24, 7, 0 }, { -6, 23, -189, 24, 7, 0 }, { -7, 22, -190, 24, 7, 0 }, - { -7, 21, -191, 24, 7, 0 }, { -7, 20, -192, 24, 7, 0 }, { -7, 19, -193, 24, 7, 0 }, { -7, 18, -194, 24, 7, 0 }, { -7, 17, -195, 24, 7, 0 }, - { -7, 17, -196, 24, 7, 0 }, { -7, 16, -197, 24, 7, 0 }, { -7, 15, -198, 24, 7, 0 }, { -7, 14, -199, 24, 7, 0 }, { -8, 13, -200, 24, 7, 0 }, - { -8, 12, -201, 24, 7, 0 }, { -8, 11, -202, 24, 7, 0 }, { -8, 10, -203, 24, 7, 0 }, { -8, 9, -204, 24, 7, 0 }, { -8, 8, -205, 24, 7, 0 }, - { -8, 7, -206, 24, 7, 0 }, { -8, 6, -206, 24, 7, 0 }, { -8, 5, -207, 24, 7, 0 }, { -9, 4, -208, 24, 7, 0 }, { -9, 3, -209, 24, 7, 0 }, - { -9, 2, -210, 24, 7, 0 }, { -9, 1, -211, 24, 7, 0 }, { -9, 0, -212, 24, 7, 0 }, { -9, -1, -212, 24, 7, 0 }, { -9, -2, -213, 24, 7, 0 }, - { -9, -3, -214, 24, 6, 0 }, { -9, -4, -215, 24, 6, 0 }, { -9, -5, -215, 24, 6, 0 }, { -10, -6, -216, 24, 6, 0 }, { -10, -7, -217, 24, 6, 0 }, - { -10, -8, -218, 24, 6, 0 }, { -10, -9, -218, 24, 6, 0 }, { -10, -10, -219, 24, 6, 0 }, { -10, -11, -220, 24, 6, 0 }, { -10, -12, -221, 24, 6, 0 }, - { -10, -13, -221, 24, 6, 0 }, { -10, -14, -222, 24, 6, 0 }, { -10, -15, -223, 24, 6, 0 }, { -11, -16, -223, 24, 6, 0 }, { -11, -17, -224, 24, 6, 0 }, - { -11, -18, -224, 24, 6, 0 }, { -11, -19, -225, 24, 6, 0 }, { -11, -20, -226, 24, 6, 0 }, { -11, -21, -226, 24, 6, 0 }, { -11, -22, -227, 24, 6, 0 }, - { -11, -23, -227, 24, 6, 0 }, { -11, -24, -228, 24, 6, 0 }, { -11, -25, -229, 24, 6, 0 }, { -12, -26, -229, 24, 6, 0 }, { -12, -27, -230, 24, 6, 0 }, - { -12, -28, -230, 24, 6, 0 }, { -12, -29, -231, 24, 6, 0 }, { -12, -30, -231, 24, 6, 0 }, { -12, -31, -232, 24, 6, 0 }, { -12, -32, -232, 24, 6, 0 }, - { -12, -33, -233, 24, 6, 0 }, { -12, -34, -233, 24, 6, 0 }, { -13, -35, -234, 24, 6, 0 }, { -13, -36, -234, 24, 6, 0 }, { -13, -37, -235, 24, 6, 0 }, - { -13, -38, -235, 24, 6, 0 }, { -13, -39, -236, 24, 6, 0 }, { -13, -40, -236, 24, 6, 0 }, { -13, -41, -237, 24, 6, 0 }, { -13, -42, -237, 24, 6, 0 }, - { -13, -43, -238, 24, 6, 0 }, { -13, -44, -238, 24, 6, 0 }, { -14, -45, -239, 24, 6, 0 }, { -14, -46, -239, 24, 6, 0 }, { -14, -47, -240, 24, 6, 0 }, - { -14, -48, -240, 24, 6, 0 }, { -14, -49, -241, 24, 6, 0 }, { -14, -50, -241, 24, 6, 0 }, { -14, -51, -242, 24, 6, 0 }, { -14, -52, -242, 24, 6, 0 }, - { -14, -53, -243, 24, 6, 0 }, { -14, -54, -243, 24, 6, 0 }, { -15, -55, -244, 24, 6, 0 }, { -15, -56, -244, 24, 6, 0 }, { -15, -57, -245, 24, 6, 0 }, - { -15, -58, -245, 24, 6, 0 }, { -15, -59, -246, 24, 6, 0 }, { -15, -60, -246, 24, 6, 0 }, { -15, -61, -247, 24, 6, 0 }, { -15, -62, -247, 24, 6, 0 }, - { -15, -63, -248, 24, 6, 0 }, + 311, { + { 16, 0, 16, 24, 16, 0 }, { 16, 1, 16, 24, 16, 0 }, { 16, 2, 16, 24, 16, 0 }, { 16, 3, 16, 24, 16, 0 }, { 16, 4, 16, 24, 16, 0 }, + { 16, 5, 16, 24, 16, 0 }, { 16, 6, 16, 24, 16, 0 }, { 16, 7, 16, 24, 16, 0 }, { 16, 8, 15, 24, 16, 0 }, { 16, 9, 15, 24, 16, 0 }, + { 15, 10, 15, 24, 16, 0 }, { 15, 11, 15, 24, 16, 0 }, { 15, 12, 14, 24, 16, 0 }, { 15, 13, 14, 24, 16, 0 }, { 15, 14, 14, 24, 16, 0 }, + { 15, 15, 13, 24, 23, 0 }, { 15, 16, 13, 24, 23, 0 }, { 15, 17, 12, 24, 23, 0 }, { 15, 18, 12, 24, 23, 0 }, { 15, 19, 11, 24, 23, 0 }, + { 14, 20, 11, 24, 23, 0 }, { 14, 21, 10, 24, 23, 0 }, { 14, 22, 10, 24, 23, 0 }, { 14, 23, 9, 24, 23, 0 }, { 14, 24, 8, 24, 23, 0 }, + { 14, 25, 8, 24, 23, 0 }, { 14, 26, 7, 24, 23, 0 }, { 14, 27, 6, 24, 23, 0 }, { 14, 28, 5, 24, 23, 0 }, { 14, 29, 5, 24, 23, 0 }, + { 13, 30, 4, 24, 22, 0 }, { 13, 31, 3, 24, 22, 0 }, { 13, 32, 2, 24, 22, 0 }, { 13, 33, 1, 24, 22, 0 }, { 13, 34, 0, 24, 22, 0 }, + { 13, 35, -1, 24, 22, 0 }, { 13, 36, -2, 24, 22, 0 }, { 13, 37, -3, 24, 22, 0 }, { 13, 38, -4, 24, 22, 0 }, { 12, 39, -5, 24, 22, 0 }, + { 12, 40, -6, 24, 22, 0 }, { 12, 40, -7, 24, 22, 0 }, { 12, 41, -8, 24, 22, 0 }, { 12, 42, -9, 24, 21, 0 }, { 12, 43, -10, 24, 21, 0 }, + { 12, 43, -11, 24, 21, 0 }, { 12, 44, -12, 24, 21, 0 }, { 12, 45, -13, 24, 21, 0 }, { 12, 45, -14, 24, 21, 0 }, { 11, 46, -15, 24, 21, 0 }, + { 11, 47, -16, 24, 21, 0 }, { 11, 47, -17, 24, 21, 0 }, { 11, 48, -18, 24, 21, 0 }, { 11, 48, -19, 24, 21, 0 }, { 11, 49, -20, 24, 21, 0 }, + { 11, 49, -21, 24, 21, 0 }, { 11, 50, -22, 24, 21, 0 }, { 11, 50, -23, 24, 21, 0 }, { 11, 51, -24, 24, 20, 0 }, { 10, 51, -25, 24, 20, 0 }, + { 10, 52, -26, 24, 20, 0 }, { 10, 52, -27, 24, 20, 0 }, { 10, 53, -28, 24, 20, 0 }, { 10, 53, -29, 24, 20, 0 }, { 10, 53, -30, 24, 20, 0 }, + { 10, 54, -31, 24, 20, 0 }, { 10, 54, -32, 24, 20, 0 }, { 10, 54, -33, 24, 20, 0 }, { 10, 55, -34, 24, 20, 0 }, { 9, 55, -35, 24, 20, 0 }, + { 9, 56, -36, 24, 20, 0 }, { 9, 56, -37, 24, 20, 0 }, { 9, 56, -38, 24, 20, 0 }, { 9, 57, -39, 24, 19, 0 }, { 9, 57, -40, 24, 19, 0 }, + { 9, 57, -41, 24, 19, 0 }, { 9, 57, -42, 24, 19, 0 }, { 9, 58, -43, 24, 19, 0 }, { 8, 58, -44, 24, 19, 0 }, { 8, 58, -45, 24, 19, 0 }, + { 8, 58, -46, 24, 19, 0 }, { 8, 59, -47, 24, 19, 0 }, { 8, 59, -48, 24, 19, 0 }, { 8, 59, -49, 24, 19, 0 }, { 8, 59, -50, 24, 19, 0 }, + { 8, 59, -51, 24, 19, 0 }, { 8, 59, -52, 24, 19, 0 }, { 8, 60, -53, 24, 19, 0 }, { 7, 60, -54, 24, 19, 0 }, { 7, 60, -55, 24, 19, 0 }, + { 7, 60, -56, 24, 19, 0 }, { 7, 60, -57, 24, 19, 0 }, { 7, 60, -58, 24, 19, 0 }, { 7, 60, -59, 24, 19, 0 }, { 7, 60, -60, 24, 19, 0 }, + { 7, 61, -61, 24, 19, 0 }, { 7, 61, -62, 24, 19, 0 }, { 7, 61, -63, 24, 18, 0 }, { 6, 61, -64, 24, 18, 0 }, { 6, 61, -65, 24, 18, 0 }, + { 6, 61, -66, 24, 18, 0 }, { 6, 61, -67, 24, 18, 0 }, { 6, 61, -68, 24, 18, 0 }, { 6, 61, -69, 24, 18, 0 }, { 6, 61, -70, 24, 18, 0 }, + { 6, 61, -71, 24, 18, 0 }, { 6, 61, -72, 24, 18, 0 }, { 5, 61, -73, 24, 18, 0 }, { 5, 61, -74, 24, 18, 0 }, { 5, 61, -75, 24, 18, 0 }, + { 5, 61, -76, 24, 18, 0 }, { 5, 61, -77, 24, 18, 0 }, { 5, 61, -78, 24, 18, 0 }, { 5, 61, -79, 24, 18, 0 }, { 5, 61, -80, 24, 18, 0 }, + { 5, 61, -81, 24, 18, 0 }, { 5, 61, -82, 24, 18, 0 }, { 4, 61, -83, 24, 18, 0 }, { 4, 61, -84, 24, 18, 0 }, { 4, 61, -85, 24, 18, 0 }, + { 4, 61, -86, 24, 18, 0 }, { 4, 61, -87, 24, 18, 0 }, { 4, 61, -88, 24, 18, 0 }, { 4, 61, -89, 24, 18, 0 }, { 4, 61, -90, 24, 18, 0 }, + { 4, 61, -91, 24, 18, 0 }, { 4, 61, -92, 24, 18, 0 }, { 3, 61, -93, 24, 18, 0 }, { 3, 61, -94, 24, 18, 0 }, { 3, 61, -95, 24, 18, 0 }, + { 3, 61, -96, 24, 18, 0 }, { 3, 61, -97, 24, 18, 0 }, { 3, 61, -98, 24, 18, 0 }, { 3, 61, -99, 24, 18, 0 }, { 3, 61, -100, 24, 17, 0 }, + { 3, 61, -101, 24, 17, 0 }, { 3, 60, -102, 24, 17, 0 }, { 2, 60, -103, 24, 17, 0 }, { 2, 60, -104, 24, 17, 0 }, { 2, 60, -105, 24, 17, 0 }, + { 2, 60, -106, 24, 17, 0 }, { 2, 60, -107, 24, 17, 0 }, { 2, 59, -108, 24, 17, 0 }, { 2, 59, -109, 24, 17, 0 }, { 2, 59, -110, 24, 17, 0 }, + { 2, 59, -111, 24, 17, 0 }, { 1, 59, -112, 24, 17, 0 }, { 1, 59, -113, 24, 17, 0 }, { 1, 58, -114, 24, 17, 0 }, { 1, 58, -115, 24, 17, 0 }, + { 1, 58, -116, 24, 17, 0 }, { 1, 58, -117, 24, 17, 0 }, { 1, 58, -118, 24, 17, 0 }, { 1, 57, -119, 24, 17, 0 }, { 1, 57, -120, 24, 17, 0 }, + { 1, 57, -121, 24, 17, 0 }, { 0, 57, -122, 24, 17, 0 }, { 0, 56, -123, 24, 17, 0 }, { 0, 56, -124, 24, 17, 0 }, { 0, 56, -125, 24, 17, 0 }, + { 0, 55, -126, 24, 17, 0 }, { 0, 55, -127, 24, 17, 0 }, { 0, 55, -128, 24, 17, 0 }, { 0, 54, -129, 24, 17, 0 }, { 0, 54, -130, 24, 17, 0 }, + { 0, 54, -131, 24, 17, 0 }, { -1, 54, -132, 24, 17, 0 }, { -1, 53, -133, 24, 8, 0 }, { -1, 53, -134, 24, 8, 0 }, { -1, 53, -135, 24, 8, 0 }, + { -1, 52, -136, 24, 8, 0 }, { -1, 52, -137, 24, 8, 0 }, { -1, 51, -138, 24, 8, 0 }, { -1, 51, -139, 24, 8, 0 }, { -1, 50, -140, 24, 8, 0 }, + { -2, 50, -141, 24, 8, 0 }, { -2, 50, -142, 24, 8, 0 }, { -2, 49, -143, 24, 8, 0 }, { -2, 49, -144, 24, 8, 0 }, { -2, 48, -145, 24, 8, 0 }, + { -2, 48, -146, 24, 8, 0 }, { -2, 48, -147, 24, 8, 0 }, { -2, 47, -148, 24, 8, 0 }, { -2, 47, -149, 24, 8, 0 }, { -2, 46, -150, 24, 8, 0 }, + { -3, 46, -151, 24, 8, 0 }, { -3, 45, -152, 24, 8, 0 }, { -3, 45, -153, 24, 8, 0 }, { -3, 45, -154, 24, 8, 0 }, { -3, 44, -155, 24, 8, 0 }, + { -3, 44, -156, 24, 8, 0 }, { -3, 43, -157, 24, 8, 0 }, { -3, 43, -158, 24, 8, 0 }, { -3, 42, -159, 24, 8, 0 }, { -3, 42, -160, 24, 8, 0 }, + { -4, 41, -161, 24, 8, 0 }, { -4, 41, -162, 24, 8, 0 }, { -4, 40, -163, 24, 8, 0 }, { -4, 39, -164, 24, 8, 0 }, { -4, 39, -165, 24, 8, 0 }, + { -4, 38, -166, 24, 8, 0 }, { -4, 38, -167, 24, 8, 0 }, { -4, 37, -168, 24, 8, 0 }, { -4, 36, -169, 24, 7, 0 }, { -4, 36, -170, 24, 7, 0 }, + { -5, 35, -171, 24, 7, 0 }, { -5, 35, -172, 24, 7, 0 }, { -5, 34, -173, 24, 7, 0 }, { -5, 33, -174, 24, 7, 0 }, { -5, 33, -175, 24, 7, 0 }, + { -5, 32, -176, 24, 7, 0 }, { -5, 31, -177, 24, 7, 0 }, { -5, 31, -178, 24, 7, 0 }, { -5, 30, -179, 24, 7, 0 }, { -6, 29, -180, 24, 7, 0 }, + { -6, 28, -181, 24, 7, 0 }, { -6, 28, -182, 24, 7, 0 }, { -6, 27, -183, 24, 7, 0 }, { -6, 26, -184, 24, 7, 0 }, { -6, 26, -185, 24, 7, 0 }, + { -6, 25, -186, 24, 7, 0 }, { -6, 24, -187, 24, 7, 0 }, { -6, 24, -188, 24, 7, 0 }, { -6, 23, -189, 24, 7, 0 }, { -7, 22, -190, 24, 7, 0 }, + { -7, 21, -191, 24, 7, 0 }, { -7, 20, -192, 24, 7, 0 }, { -7, 19, -193, 24, 7, 0 }, { -7, 18, -194, 24, 7, 0 }, { -7, 17, -195, 24, 7, 0 }, + { -7, 17, -196, 24, 7, 0 }, { -7, 16, -197, 24, 7, 0 }, { -7, 15, -198, 24, 7, 0 }, { -7, 14, -199, 24, 7, 0 }, { -8, 13, -200, 24, 7, 0 }, + { -8, 12, -201, 24, 7, 0 }, { -8, 11, -202, 24, 7, 0 }, { -8, 10, -203, 24, 7, 0 }, { -8, 9, -204, 24, 7, 0 }, { -8, 8, -205, 24, 7, 0 }, + { -8, 7, -206, 24, 7, 0 }, { -8, 6, -206, 24, 7, 0 }, { -8, 5, -207, 24, 7, 0 }, { -9, 4, -208, 24, 7, 0 }, { -9, 3, -209, 24, 7, 0 }, + { -9, 2, -210, 24, 7, 0 }, { -9, 1, -211, 24, 7, 0 }, { -9, 0, -212, 24, 7, 0 }, { -9, -1, -212, 24, 7, 0 }, { -9, -2, -213, 24, 7, 0 }, + { -9, -3, -214, 24, 6, 0 }, { -9, -4, -215, 24, 6, 0 }, { -9, -5, -215, 24, 6, 0 }, { -10, -6, -216, 24, 6, 0 }, { -10, -7, -217, 24, 6, 0 }, + { -10, -8, -218, 24, 6, 0 }, { -10, -9, -218, 24, 6, 0 }, { -10, -10, -219, 24, 6, 0 }, { -10, -11, -220, 24, 6, 0 }, { -10, -12, -221, 24, 6, 0 }, + { -10, -13, -221, 24, 6, 0 }, { -10, -14, -222, 24, 6, 0 }, { -10, -15, -223, 24, 6, 0 }, { -11, -16, -223, 24, 6, 0 }, { -11, -17, -224, 24, 6, 0 }, + { -11, -18, -224, 24, 6, 0 }, { -11, -19, -225, 24, 6, 0 }, { -11, -20, -226, 24, 6, 0 }, { -11, -21, -226, 24, 6, 0 }, { -11, -22, -227, 24, 6, 0 }, + { -11, -23, -227, 24, 6, 0 }, { -11, -24, -228, 24, 6, 0 }, { -11, -25, -229, 24, 6, 0 }, { -12, -26, -229, 24, 6, 0 }, { -12, -27, -230, 24, 6, 0 }, + { -12, -28, -230, 24, 6, 0 }, { -12, -29, -231, 24, 6, 0 }, { -12, -30, -231, 24, 6, 0 }, { -12, -31, -232, 24, 6, 0 }, { -12, -32, -232, 24, 6, 0 }, + { -12, -33, -233, 24, 6, 0 }, { -12, -34, -233, 24, 6, 0 }, { -13, -35, -234, 24, 6, 0 }, { -13, -36, -234, 24, 6, 0 }, { -13, -37, -235, 24, 6, 0 }, + { -13, -38, -235, 24, 6, 0 }, { -13, -39, -236, 24, 6, 0 }, { -13, -40, -236, 24, 6, 0 }, { -13, -41, -237, 24, 6, 0 }, { -13, -42, -237, 24, 6, 0 }, + { -13, -43, -238, 24, 6, 0 }, { -13, -44, -238, 24, 6, 0 }, { -14, -45, -239, 24, 6, 0 }, { -14, -46, -239, 24, 6, 0 }, { -14, -47, -240, 24, 6, 0 }, + { -14, -48, -240, 24, 6, 0 }, { -14, -49, -241, 24, 6, 0 }, { -14, -50, -241, 24, 6, 0 }, { -14, -51, -242, 24, 6, 0 }, { -14, -52, -242, 24, 6, 0 }, + { -14, -53, -243, 24, 6, 0 }, { -14, -54, -243, 24, 6, 0 }, { -15, -55, -244, 24, 6, 0 }, { -15, -56, -244, 24, 6, 0 }, { -15, -57, -245, 24, 6, 0 }, + { -15, -58, -245, 24, 6, 0 }, { -15, -59, -246, 24, 6, 0 }, { -15, -60, -246, 24, 6, 0 }, { -15, -61, -247, 24, 6, 0 }, { -15, -62, -247, 24, 6, 0 }, + { -15, -63, -248, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92A56A = { - 311, { - { 0, 16, 16, 0, 16, 0 }, { 1, 16, 16, 0, 16, 0 }, { 2, 16, 16, 0, 16, 0 }, { 3, 16, 16, 0, 16, 0 }, { 4, 16, 16, 0, 16, 0 }, - { 5, 16, 16, 0, 16, 0 }, { 6, 16, 16, 0, 16, 0 }, { 7, 16, 16, 0, 16, 0 }, { 8, 16, 15, 0, 16, 0 }, { 9, 16, 15, 0, 16, 0 }, - { 10, 17, 15, 0, 16, 0 }, { 11, 17, 15, 0, 16, 0 }, { 12, 17, 14, 0, 16, 0 }, { 13, 17, 14, 0, 16, 0 }, { 14, 17, 14, 0, 16, 0 }, - { 15, 17, 13, 0, 23, 0 }, { 16, 17, 13, 0, 23, 0 }, { 17, 17, 12, 0, 23, 0 }, { 18, 17, 12, 0, 23, 0 }, { 19, 17, 11, 0, 23, 0 }, - { 20, 18, 11, 0, 23, 0 }, { 21, 18, 10, 0, 23, 0 }, { 22, 18, 10, 0, 23, 0 }, { 23, 18, 9, 0, 23, 0 }, { 24, 18, 8, 0, 23, 0 }, - { 25, 18, 8, 0, 23, 0 }, { 26, 18, 7, 0, 23, 0 }, { 27, 18, 6, 0, 23, 0 }, { 28, 18, 5, 0, 23, 0 }, { 29, 18, 5, 0, 23, 0 }, - { 30, 19, 4, 0, 22, 0 }, { 31, 19, 3, 0, 22, 0 }, { 32, 19, 2, 0, 22, 0 }, { 33, 19, 1, 0, 22, 0 }, { 34, 19, 0, 0, 22, 0 }, - { 35, 19, -1, 0, 22, 0 }, { 36, 19, -2, 0, 22, 0 }, { 37, 19, -3, 0, 22, 0 }, { 38, 19, -4, 0, 22, 0 }, { 39, 20, -5, 0, 22, 0 }, - { 40, 20, -6, 0, 22, 0 }, { 40, 20, -7, 0, 22, 0 }, { 41, 20, -8, 0, 22, 0 }, { 42, 20, -9, 0, 21, 0 }, { 43, 20, -10, 0, 21, 0 }, - { 43, 20, -11, 0, 21, 0 }, { 44, 20, -12, 0, 21, 0 }, { 45, 20, -13, 0, 21, 0 }, { 45, 20, -14, 0, 21, 0 }, { 46, 21, -15, 0, 21, 0 }, - { 47, 21, -16, 0, 21, 0 }, { 47, 21, -17, 0, 21, 0 }, { 48, 21, -18, 0, 21, 0 }, { 48, 21, -19, 0, 21, 0 }, { 49, 21, -20, 0, 21, 0 }, - { 49, 21, -21, 0, 21, 0 }, { 50, 21, -22, 0, 21, 0 }, { 50, 21, -23, 0, 21, 0 }, { 51, 21, -24, 0, 20, 0 }, { 51, 22, -25, 0, 20, 0 }, - { 52, 22, -26, 0, 20, 0 }, { 52, 22, -27, 0, 20, 0 }, { 53, 22, -28, 0, 20, 0 }, { 53, 22, -29, 0, 20, 0 }, { 53, 22, -30, 0, 20, 0 }, - { 54, 22, -31, 0, 20, 0 }, { 54, 22, -32, 0, 20, 0 }, { 54, 22, -33, 0, 20, 0 }, { 55, 22, -34, 0, 20, 0 }, { 55, 23, -35, 0, 20, 0 }, - { 56, 23, -36, 0, 20, 0 }, { 56, 23, -37, 0, 20, 0 }, { 56, 23, -38, 0, 20, 0 }, { 57, 23, -39, 0, 19, 0 }, { 57, 23, -40, 0, 19, 0 }, - { 57, 23, -41, 0, 19, 0 }, { 57, 23, -42, 0, 19, 0 }, { 58, 23, -43, 0, 19, 0 }, { 58, 24, -44, 0, 19, 0 }, { 58, 24, -45, 0, 19, 0 }, - { 58, 24, -46, 0, 19, 0 }, { 59, 24, -47, 0, 19, 0 }, { 59, 24, -48, 0, 19, 0 }, { 59, 24, -49, 0, 19, 0 }, { 59, 24, -50, 0, 19, 0 }, - { 59, 24, -51, 0, 19, 0 }, { 59, 24, -52, 0, 19, 0 }, { 60, 24, -53, 0, 19, 0 }, { 60, 25, -54, 0, 19, 0 }, { 60, 25, -55, 0, 19, 0 }, - { 60, 25, -56, 0, 19, 0 }, { 60, 25, -57, 0, 19, 0 }, { 60, 25, -58, 0, 19, 0 }, { 60, 25, -59, 0, 19, 0 }, { 60, 25, -60, 0, 19, 0 }, - { 61, 25, -61, 0, 19, 0 }, { 61, 25, -62, 0, 19, 0 }, { 61, 25, -63, 0, 18, 0 }, { 61, 26, -64, 0, 18, 0 }, { 61, 26, -65, 0, 18, 0 }, - { 61, 26, -66, 0, 18, 0 }, { 61, 26, -67, 0, 18, 0 }, { 61, 26, -68, 0, 18, 0 }, { 61, 26, -69, 0, 18, 0 }, { 61, 26, -70, 0, 18, 0 }, - { 61, 26, -71, 0, 18, 0 }, { 61, 26, -72, 0, 18, 0 }, { 61, 27, -73, 0, 18, 0 }, { 61, 27, -74, 0, 18, 0 }, { 61, 27, -75, 0, 18, 0 }, - { 61, 27, -76, 0, 18, 0 }, { 61, 27, -77, 0, 18, 0 }, { 61, 27, -78, 0, 18, 0 }, { 61, 27, -79, 0, 18, 0 }, { 61, 27, -80, 0, 18, 0 }, - { 61, 27, -81, 0, 18, 0 }, { 61, 27, -82, 0, 18, 0 }, { 61, 28, -83, 0, 18, 0 }, { 61, 28, -84, 0, 18, 0 }, { 61, 28, -85, 0, 18, 0 }, - { 61, 28, -86, 0, 18, 0 }, { 61, 28, -87, 0, 18, 0 }, { 61, 28, -88, 0, 18, 0 }, { 61, 28, -89, 0, 18, 0 }, { 61, 28, -90, 0, 18, 0 }, - { 61, 28, -91, 0, 18, 0 }, { 61, 28, -92, 0, 18, 0 }, { 61, 29, -93, 0, 18, 0 }, { 61, 29, -94, 0, 18, 0 }, { 61, 29, -95, 0, 18, 0 }, - { 61, 29, -96, 0, 18, 0 }, { 61, 29, -97, 0, 18, 0 }, { 61, 29, -98, 0, 18, 0 }, { 61, 29, -99, 0, 18, 0 }, { 61, 29, -100, 0, 17, 0 }, - { 61, 29, -101, 0, 17, 0 }, { 60, 29, -102, 0, 17, 0 }, { 60, 30, -103, 0, 17, 0 }, { 60, 30, -104, 0, 17, 0 }, { 60, 30, -105, 0, 17, 0 }, - { 60, 30, -106, 0, 17, 0 }, { 60, 30, -107, 0, 17, 0 }, { 59, 30, -108, 0, 17, 0 }, { 59, 30, -109, 0, 17, 0 }, { 59, 30, -110, 0, 17, 0 }, - { 59, 30, -111, 0, 17, 0 }, { 59, 31, -112, 0, 17, 0 }, { 59, 31, -113, 0, 17, 0 }, { 58, 31, -114, 0, 17, 0 }, { 58, 31, -115, 0, 17, 0 }, - { 58, 31, -116, 0, 17, 0 }, { 58, 31, -117, 0, 17, 0 }, { 58, 31, -118, 0, 17, 0 }, { 57, 31, -119, 0, 17, 0 }, { 57, 31, -120, 0, 17, 0 }, - { 57, 31, -121, 0, 17, 0 }, { 57, 32, -122, 0, 17, 0 }, { 56, 32, -123, 0, 17, 0 }, { 56, 32, -124, 0, 17, 0 }, { 56, 32, -125, 0, 17, 0 }, - { 55, 32, -126, 0, 17, 0 }, { 55, 32, -127, 0, 17, 0 }, { 55, 32, -128, 0, 17, 0 }, { 54, 32, -129, 0, 17, 0 }, { 54, 32, -130, 0, 17, 0 }, - { 54, 32, -131, 0, 17, 0 }, { 54, 33, -132, 0, 17, 0 }, { 53, 33, -133, 0, 8, 0 }, { 53, 33, -134, 0, 8, 0 }, { 53, 33, -135, 0, 8, 0 }, - { 52, 33, -136, 0, 8, 0 }, { 52, 33, -137, 0, 8, 0 }, { 51, 33, -138, 0, 8, 0 }, { 51, 33, -139, 0, 8, 0 }, { 50, 33, -140, 0, 8, 0 }, - { 50, 34, -141, 0, 8, 0 }, { 50, 34, -142, 0, 8, 0 }, { 49, 34, -143, 0, 8, 0 }, { 49, 34, -144, 0, 8, 0 }, { 48, 34, -145, 0, 8, 0 }, - { 48, 34, -146, 0, 8, 0 }, { 48, 34, -147, 0, 8, 0 }, { 47, 34, -148, 0, 8, 0 }, { 47, 34, -149, 0, 8, 0 }, { 46, 34, -150, 0, 8, 0 }, - { 46, 35, -151, 0, 8, 0 }, { 45, 35, -152, 0, 8, 0 }, { 45, 35, -153, 0, 8, 0 }, { 45, 35, -154, 0, 8, 0 }, { 44, 35, -155, 0, 8, 0 }, - { 44, 35, -156, 0, 8, 0 }, { 43, 35, -157, 0, 8, 0 }, { 43, 35, -158, 0, 8, 0 }, { 42, 35, -159, 0, 8, 0 }, { 42, 35, -160, 0, 8, 0 }, - { 41, 36, -161, 0, 8, 0 }, { 41, 36, -162, 0, 8, 0 }, { 40, 36, -163, 0, 8, 0 }, { 39, 36, -164, 0, 8, 0 }, { 39, 36, -165, 0, 8, 0 }, - { 38, 36, -166, 0, 8, 0 }, { 38, 36, -167, 0, 8, 0 }, { 37, 36, -168, 0, 8, 0 }, { 36, 36, -169, 0, 7, 0 }, { 36, 36, -170, 0, 7, 0 }, - { 35, 37, -171, 0, 7, 0 }, { 35, 37, -172, 0, 7, 0 }, { 34, 37, -173, 0, 7, 0 }, { 33, 37, -174, 0, 7, 0 }, { 33, 37, -175, 0, 7, 0 }, - { 32, 37, -176, 0, 7, 0 }, { 31, 37, -177, 0, 7, 0 }, { 31, 37, -178, 0, 7, 0 }, { 30, 37, -179, 0, 7, 0 }, { 29, 38, -180, 0, 7, 0 }, - { 28, 38, -181, 0, 7, 0 }, { 28, 38, -182, 0, 7, 0 }, { 27, 38, -183, 0, 7, 0 }, { 26, 38, -184, 0, 7, 0 }, { 26, 38, -185, 0, 7, 0 }, - { 25, 38, -186, 0, 7, 0 }, { 24, 38, -187, 0, 7, 0 }, { 24, 38, -188, 0, 7, 0 }, { 23, 38, -189, 0, 7, 0 }, { 22, 39, -190, 0, 7, 0 }, - { 21, 39, -191, 0, 7, 0 }, { 20, 39, -192, 0, 7, 0 }, { 19, 39, -193, 0, 7, 0 }, { 18, 39, -194, 0, 7, 0 }, { 17, 39, -195, 0, 7, 0 }, - { 17, 39, -196, 0, 7, 0 }, { 16, 39, -197, 0, 7, 0 }, { 15, 39, -198, 0, 7, 0 }, { 14, 39, -199, 0, 7, 0 }, { 13, 40, -200, 0, 7, 0 }, - { 12, 40, -201, 0, 7, 0 }, { 11, 40, -202, 0, 7, 0 }, { 10, 40, -203, 0, 7, 0 }, { 9, 40, -204, 0, 7, 0 }, { 8, 40, -205, 0, 7, 0 }, - { 7, 40, -206, 0, 7, 0 }, { 6, 40, -206, 0, 7, 0 }, { 5, 40, -207, 0, 7, 0 }, { 4, 41, -208, 0, 7, 0 }, { 3, 41, -209, 0, 7, 0 }, - { 2, 41, -210, 0, 7, 0 }, { 1, 41, -211, 0, 7, 0 }, { 0, 41, -212, 0, 7, 0 }, { -1, 41, -212, 0, 7, 0 }, { -2, 41, -213, 0, 7, 0 }, - { -3, 41, -214, 0, 6, 0 }, { -4, 41, -215, 0, 6, 0 }, { -5, 41, -215, 0, 6, 0 }, { -6, 42, -216, 0, 6, 0 }, { -7, 42, -217, 0, 6, 0 }, - { -8, 42, -218, 0, 6, 0 }, { -9, 42, -218, 0, 6, 0 }, { -10, 42, -219, 0, 6, 0 }, { -11, 42, -220, 0, 6, 0 }, { -12, 42, -221, 0, 6, 0 }, - { -13, 42, -221, 0, 6, 0 }, { -14, 42, -222, 0, 6, 0 }, { -15, 42, -223, 0, 6, 0 }, { -16, 43, -223, 0, 6, 0 }, { -17, 43, -224, 0, 6, 0 }, - { -18, 43, -224, 0, 6, 0 }, { -19, 43, -225, 0, 6, 0 }, { -20, 43, -226, 0, 6, 0 }, { -21, 43, -226, 0, 6, 0 }, { -22, 43, -227, 0, 6, 0 }, - { -23, 43, -227, 0, 6, 0 }, { -24, 43, -228, 0, 6, 0 }, { -25, 43, -229, 0, 6, 0 }, { -26, 44, -229, 0, 6, 0 }, { -27, 44, -230, 0, 6, 0 }, - { -28, 44, -230, 0, 6, 0 }, { -29, 44, -231, 0, 6, 0 }, { -30, 44, -231, 0, 6, 0 }, { -31, 44, -232, 0, 6, 0 }, { -32, 44, -232, 0, 6, 0 }, - { -33, 44, -233, 0, 6, 0 }, { -34, 44, -233, 0, 6, 0 }, { -35, 45, -234, 0, 6, 0 }, { -36, 45, -234, 0, 6, 0 }, { -37, 45, -235, 0, 6, 0 }, - { -38, 45, -235, 0, 6, 0 }, { -39, 45, -236, 0, 6, 0 }, { -40, 45, -236, 0, 6, 0 }, { -41, 45, -237, 0, 6, 0 }, { -42, 45, -237, 0, 6, 0 }, - { -43, 45, -238, 0, 6, 0 }, { -44, 45, -238, 0, 6, 0 }, { -45, 46, -239, 0, 6, 0 }, { -46, 46, -239, 0, 6, 0 }, { -47, 46, -240, 0, 6, 0 }, - { -48, 46, -240, 0, 6, 0 }, { -49, 46, -241, 0, 6, 0 }, { -50, 46, -241, 0, 6, 0 }, { -51, 46, -242, 0, 6, 0 }, { -52, 46, -242, 0, 6, 0 }, - { -53, 46, -243, 0, 6, 0 }, { -54, 46, -243, 0, 6, 0 }, { -55, 47, -244, 0, 6, 0 }, { -56, 47, -244, 0, 6, 0 }, { -57, 47, -245, 0, 6, 0 }, - { -58, 47, -245, 0, 6, 0 }, { -59, 47, -246, 0, 6, 0 }, { -60, 47, -246, 0, 6, 0 }, { -61, 47, -247, 0, 6, 0 }, { -62, 47, -247, 0, 6, 0 }, - { -63, 47, -248, 0, 6, 0 }, + 311, { + { 0, 16, 16, 0, 16, 0 }, { 1, 16, 16, 0, 16, 0 }, { 2, 16, 16, 0, 16, 0 }, { 3, 16, 16, 0, 16, 0 }, { 4, 16, 16, 0, 16, 0 }, + { 5, 16, 16, 0, 16, 0 }, { 6, 16, 16, 0, 16, 0 }, { 7, 16, 16, 0, 16, 0 }, { 8, 16, 15, 0, 16, 0 }, { 9, 16, 15, 0, 16, 0 }, + { 10, 17, 15, 0, 16, 0 }, { 11, 17, 15, 0, 16, 0 }, { 12, 17, 14, 0, 16, 0 }, { 13, 17, 14, 0, 16, 0 }, { 14, 17, 14, 0, 16, 0 }, + { 15, 17, 13, 0, 23, 0 }, { 16, 17, 13, 0, 23, 0 }, { 17, 17, 12, 0, 23, 0 }, { 18, 17, 12, 0, 23, 0 }, { 19, 17, 11, 0, 23, 0 }, + { 20, 18, 11, 0, 23, 0 }, { 21, 18, 10, 0, 23, 0 }, { 22, 18, 10, 0, 23, 0 }, { 23, 18, 9, 0, 23, 0 }, { 24, 18, 8, 0, 23, 0 }, + { 25, 18, 8, 0, 23, 0 }, { 26, 18, 7, 0, 23, 0 }, { 27, 18, 6, 0, 23, 0 }, { 28, 18, 5, 0, 23, 0 }, { 29, 18, 5, 0, 23, 0 }, + { 30, 19, 4, 0, 22, 0 }, { 31, 19, 3, 0, 22, 0 }, { 32, 19, 2, 0, 22, 0 }, { 33, 19, 1, 0, 22, 0 }, { 34, 19, 0, 0, 22, 0 }, + { 35, 19, -1, 0, 22, 0 }, { 36, 19, -2, 0, 22, 0 }, { 37, 19, -3, 0, 22, 0 }, { 38, 19, -4, 0, 22, 0 }, { 39, 20, -5, 0, 22, 0 }, + { 40, 20, -6, 0, 22, 0 }, { 40, 20, -7, 0, 22, 0 }, { 41, 20, -8, 0, 22, 0 }, { 42, 20, -9, 0, 21, 0 }, { 43, 20, -10, 0, 21, 0 }, + { 43, 20, -11, 0, 21, 0 }, { 44, 20, -12, 0, 21, 0 }, { 45, 20, -13, 0, 21, 0 }, { 45, 20, -14, 0, 21, 0 }, { 46, 21, -15, 0, 21, 0 }, + { 47, 21, -16, 0, 21, 0 }, { 47, 21, -17, 0, 21, 0 }, { 48, 21, -18, 0, 21, 0 }, { 48, 21, -19, 0, 21, 0 }, { 49, 21, -20, 0, 21, 0 }, + { 49, 21, -21, 0, 21, 0 }, { 50, 21, -22, 0, 21, 0 }, { 50, 21, -23, 0, 21, 0 }, { 51, 21, -24, 0, 20, 0 }, { 51, 22, -25, 0, 20, 0 }, + { 52, 22, -26, 0, 20, 0 }, { 52, 22, -27, 0, 20, 0 }, { 53, 22, -28, 0, 20, 0 }, { 53, 22, -29, 0, 20, 0 }, { 53, 22, -30, 0, 20, 0 }, + { 54, 22, -31, 0, 20, 0 }, { 54, 22, -32, 0, 20, 0 }, { 54, 22, -33, 0, 20, 0 }, { 55, 22, -34, 0, 20, 0 }, { 55, 23, -35, 0, 20, 0 }, + { 56, 23, -36, 0, 20, 0 }, { 56, 23, -37, 0, 20, 0 }, { 56, 23, -38, 0, 20, 0 }, { 57, 23, -39, 0, 19, 0 }, { 57, 23, -40, 0, 19, 0 }, + { 57, 23, -41, 0, 19, 0 }, { 57, 23, -42, 0, 19, 0 }, { 58, 23, -43, 0, 19, 0 }, { 58, 24, -44, 0, 19, 0 }, { 58, 24, -45, 0, 19, 0 }, + { 58, 24, -46, 0, 19, 0 }, { 59, 24, -47, 0, 19, 0 }, { 59, 24, -48, 0, 19, 0 }, { 59, 24, -49, 0, 19, 0 }, { 59, 24, -50, 0, 19, 0 }, + { 59, 24, -51, 0, 19, 0 }, { 59, 24, -52, 0, 19, 0 }, { 60, 24, -53, 0, 19, 0 }, { 60, 25, -54, 0, 19, 0 }, { 60, 25, -55, 0, 19, 0 }, + { 60, 25, -56, 0, 19, 0 }, { 60, 25, -57, 0, 19, 0 }, { 60, 25, -58, 0, 19, 0 }, { 60, 25, -59, 0, 19, 0 }, { 60, 25, -60, 0, 19, 0 }, + { 61, 25, -61, 0, 19, 0 }, { 61, 25, -62, 0, 19, 0 }, { 61, 25, -63, 0, 18, 0 }, { 61, 26, -64, 0, 18, 0 }, { 61, 26, -65, 0, 18, 0 }, + { 61, 26, -66, 0, 18, 0 }, { 61, 26, -67, 0, 18, 0 }, { 61, 26, -68, 0, 18, 0 }, { 61, 26, -69, 0, 18, 0 }, { 61, 26, -70, 0, 18, 0 }, + { 61, 26, -71, 0, 18, 0 }, { 61, 26, -72, 0, 18, 0 }, { 61, 27, -73, 0, 18, 0 }, { 61, 27, -74, 0, 18, 0 }, { 61, 27, -75, 0, 18, 0 }, + { 61, 27, -76, 0, 18, 0 }, { 61, 27, -77, 0, 18, 0 }, { 61, 27, -78, 0, 18, 0 }, { 61, 27, -79, 0, 18, 0 }, { 61, 27, -80, 0, 18, 0 }, + { 61, 27, -81, 0, 18, 0 }, { 61, 27, -82, 0, 18, 0 }, { 61, 28, -83, 0, 18, 0 }, { 61, 28, -84, 0, 18, 0 }, { 61, 28, -85, 0, 18, 0 }, + { 61, 28, -86, 0, 18, 0 }, { 61, 28, -87, 0, 18, 0 }, { 61, 28, -88, 0, 18, 0 }, { 61, 28, -89, 0, 18, 0 }, { 61, 28, -90, 0, 18, 0 }, + { 61, 28, -91, 0, 18, 0 }, { 61, 28, -92, 0, 18, 0 }, { 61, 29, -93, 0, 18, 0 }, { 61, 29, -94, 0, 18, 0 }, { 61, 29, -95, 0, 18, 0 }, + { 61, 29, -96, 0, 18, 0 }, { 61, 29, -97, 0, 18, 0 }, { 61, 29, -98, 0, 18, 0 }, { 61, 29, -99, 0, 18, 0 }, { 61, 29, -100, 0, 17, 0 }, + { 61, 29, -101, 0, 17, 0 }, { 60, 29, -102, 0, 17, 0 }, { 60, 30, -103, 0, 17, 0 }, { 60, 30, -104, 0, 17, 0 }, { 60, 30, -105, 0, 17, 0 }, + { 60, 30, -106, 0, 17, 0 }, { 60, 30, -107, 0, 17, 0 }, { 59, 30, -108, 0, 17, 0 }, { 59, 30, -109, 0, 17, 0 }, { 59, 30, -110, 0, 17, 0 }, + { 59, 30, -111, 0, 17, 0 }, { 59, 31, -112, 0, 17, 0 }, { 59, 31, -113, 0, 17, 0 }, { 58, 31, -114, 0, 17, 0 }, { 58, 31, -115, 0, 17, 0 }, + { 58, 31, -116, 0, 17, 0 }, { 58, 31, -117, 0, 17, 0 }, { 58, 31, -118, 0, 17, 0 }, { 57, 31, -119, 0, 17, 0 }, { 57, 31, -120, 0, 17, 0 }, + { 57, 31, -121, 0, 17, 0 }, { 57, 32, -122, 0, 17, 0 }, { 56, 32, -123, 0, 17, 0 }, { 56, 32, -124, 0, 17, 0 }, { 56, 32, -125, 0, 17, 0 }, + { 55, 32, -126, 0, 17, 0 }, { 55, 32, -127, 0, 17, 0 }, { 55, 32, -128, 0, 17, 0 }, { 54, 32, -129, 0, 17, 0 }, { 54, 32, -130, 0, 17, 0 }, + { 54, 32, -131, 0, 17, 0 }, { 54, 33, -132, 0, 17, 0 }, { 53, 33, -133, 0, 8, 0 }, { 53, 33, -134, 0, 8, 0 }, { 53, 33, -135, 0, 8, 0 }, + { 52, 33, -136, 0, 8, 0 }, { 52, 33, -137, 0, 8, 0 }, { 51, 33, -138, 0, 8, 0 }, { 51, 33, -139, 0, 8, 0 }, { 50, 33, -140, 0, 8, 0 }, + { 50, 34, -141, 0, 8, 0 }, { 50, 34, -142, 0, 8, 0 }, { 49, 34, -143, 0, 8, 0 }, { 49, 34, -144, 0, 8, 0 }, { 48, 34, -145, 0, 8, 0 }, + { 48, 34, -146, 0, 8, 0 }, { 48, 34, -147, 0, 8, 0 }, { 47, 34, -148, 0, 8, 0 }, { 47, 34, -149, 0, 8, 0 }, { 46, 34, -150, 0, 8, 0 }, + { 46, 35, -151, 0, 8, 0 }, { 45, 35, -152, 0, 8, 0 }, { 45, 35, -153, 0, 8, 0 }, { 45, 35, -154, 0, 8, 0 }, { 44, 35, -155, 0, 8, 0 }, + { 44, 35, -156, 0, 8, 0 }, { 43, 35, -157, 0, 8, 0 }, { 43, 35, -158, 0, 8, 0 }, { 42, 35, -159, 0, 8, 0 }, { 42, 35, -160, 0, 8, 0 }, + { 41, 36, -161, 0, 8, 0 }, { 41, 36, -162, 0, 8, 0 }, { 40, 36, -163, 0, 8, 0 }, { 39, 36, -164, 0, 8, 0 }, { 39, 36, -165, 0, 8, 0 }, + { 38, 36, -166, 0, 8, 0 }, { 38, 36, -167, 0, 8, 0 }, { 37, 36, -168, 0, 8, 0 }, { 36, 36, -169, 0, 7, 0 }, { 36, 36, -170, 0, 7, 0 }, + { 35, 37, -171, 0, 7, 0 }, { 35, 37, -172, 0, 7, 0 }, { 34, 37, -173, 0, 7, 0 }, { 33, 37, -174, 0, 7, 0 }, { 33, 37, -175, 0, 7, 0 }, + { 32, 37, -176, 0, 7, 0 }, { 31, 37, -177, 0, 7, 0 }, { 31, 37, -178, 0, 7, 0 }, { 30, 37, -179, 0, 7, 0 }, { 29, 38, -180, 0, 7, 0 }, + { 28, 38, -181, 0, 7, 0 }, { 28, 38, -182, 0, 7, 0 }, { 27, 38, -183, 0, 7, 0 }, { 26, 38, -184, 0, 7, 0 }, { 26, 38, -185, 0, 7, 0 }, + { 25, 38, -186, 0, 7, 0 }, { 24, 38, -187, 0, 7, 0 }, { 24, 38, -188, 0, 7, 0 }, { 23, 38, -189, 0, 7, 0 }, { 22, 39, -190, 0, 7, 0 }, + { 21, 39, -191, 0, 7, 0 }, { 20, 39, -192, 0, 7, 0 }, { 19, 39, -193, 0, 7, 0 }, { 18, 39, -194, 0, 7, 0 }, { 17, 39, -195, 0, 7, 0 }, + { 17, 39, -196, 0, 7, 0 }, { 16, 39, -197, 0, 7, 0 }, { 15, 39, -198, 0, 7, 0 }, { 14, 39, -199, 0, 7, 0 }, { 13, 40, -200, 0, 7, 0 }, + { 12, 40, -201, 0, 7, 0 }, { 11, 40, -202, 0, 7, 0 }, { 10, 40, -203, 0, 7, 0 }, { 9, 40, -204, 0, 7, 0 }, { 8, 40, -205, 0, 7, 0 }, + { 7, 40, -206, 0, 7, 0 }, { 6, 40, -206, 0, 7, 0 }, { 5, 40, -207, 0, 7, 0 }, { 4, 41, -208, 0, 7, 0 }, { 3, 41, -209, 0, 7, 0 }, + { 2, 41, -210, 0, 7, 0 }, { 1, 41, -211, 0, 7, 0 }, { 0, 41, -212, 0, 7, 0 }, { -1, 41, -212, 0, 7, 0 }, { -2, 41, -213, 0, 7, 0 }, + { -3, 41, -214, 0, 6, 0 }, { -4, 41, -215, 0, 6, 0 }, { -5, 41, -215, 0, 6, 0 }, { -6, 42, -216, 0, 6, 0 }, { -7, 42, -217, 0, 6, 0 }, + { -8, 42, -218, 0, 6, 0 }, { -9, 42, -218, 0, 6, 0 }, { -10, 42, -219, 0, 6, 0 }, { -11, 42, -220, 0, 6, 0 }, { -12, 42, -221, 0, 6, 0 }, + { -13, 42, -221, 0, 6, 0 }, { -14, 42, -222, 0, 6, 0 }, { -15, 42, -223, 0, 6, 0 }, { -16, 43, -223, 0, 6, 0 }, { -17, 43, -224, 0, 6, 0 }, + { -18, 43, -224, 0, 6, 0 }, { -19, 43, -225, 0, 6, 0 }, { -20, 43, -226, 0, 6, 0 }, { -21, 43, -226, 0, 6, 0 }, { -22, 43, -227, 0, 6, 0 }, + { -23, 43, -227, 0, 6, 0 }, { -24, 43, -228, 0, 6, 0 }, { -25, 43, -229, 0, 6, 0 }, { -26, 44, -229, 0, 6, 0 }, { -27, 44, -230, 0, 6, 0 }, + { -28, 44, -230, 0, 6, 0 }, { -29, 44, -231, 0, 6, 0 }, { -30, 44, -231, 0, 6, 0 }, { -31, 44, -232, 0, 6, 0 }, { -32, 44, -232, 0, 6, 0 }, + { -33, 44, -233, 0, 6, 0 }, { -34, 44, -233, 0, 6, 0 }, { -35, 45, -234, 0, 6, 0 }, { -36, 45, -234, 0, 6, 0 }, { -37, 45, -235, 0, 6, 0 }, + { -38, 45, -235, 0, 6, 0 }, { -39, 45, -236, 0, 6, 0 }, { -40, 45, -236, 0, 6, 0 }, { -41, 45, -237, 0, 6, 0 }, { -42, 45, -237, 0, 6, 0 }, + { -43, 45, -238, 0, 6, 0 }, { -44, 45, -238, 0, 6, 0 }, { -45, 46, -239, 0, 6, 0 }, { -46, 46, -239, 0, 6, 0 }, { -47, 46, -240, 0, 6, 0 }, + { -48, 46, -240, 0, 6, 0 }, { -49, 46, -241, 0, 6, 0 }, { -50, 46, -241, 0, 6, 0 }, { -51, 46, -242, 0, 6, 0 }, { -52, 46, -242, 0, 6, 0 }, + { -53, 46, -243, 0, 6, 0 }, { -54, 46, -243, 0, 6, 0 }, { -55, 47, -244, 0, 6, 0 }, { -56, 47, -244, 0, 6, 0 }, { -57, 47, -245, 0, 6, 0 }, + { -58, 47, -245, 0, 6, 0 }, { -59, 47, -246, 0, 6, 0 }, { -60, 47, -246, 0, 6, 0 }, { -61, 47, -247, 0, 6, 0 }, { -62, 47, -247, 0, 6, 0 }, + { -63, 47, -248, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92BB5E = { - 311, { - { 16, 31, 16, 8, 16, 0 }, { 16, 30, 16, 8, 16, 0 }, { 16, 29, 16, 8, 16, 0 }, { 16, 28, 16, 8, 16, 0 }, { 16, 27, 16, 8, 16, 0 }, - { 16, 26, 16, 8, 16, 0 }, { 16, 25, 16, 8, 16, 0 }, { 16, 24, 16, 8, 16, 0 }, { 16, 23, 15, 8, 16, 0 }, { 16, 22, 15, 8, 16, 0 }, - { 17, 21, 15, 8, 16, 0 }, { 17, 20, 15, 8, 16, 0 }, { 17, 19, 14, 8, 16, 0 }, { 17, 18, 14, 8, 16, 0 }, { 17, 17, 14, 8, 16, 0 }, - { 17, 16, 13, 8, 23, 0 }, { 17, 15, 13, 8, 23, 0 }, { 17, 14, 12, 8, 23, 0 }, { 17, 13, 12, 8, 23, 0 }, { 17, 12, 11, 8, 23, 0 }, - { 18, 11, 11, 8, 23, 0 }, { 18, 10, 10, 8, 23, 0 }, { 18, 9, 10, 8, 23, 0 }, { 18, 8, 9, 8, 23, 0 }, { 18, 7, 8, 8, 23, 0 }, - { 18, 6, 8, 8, 23, 0 }, { 18, 5, 7, 8, 23, 0 }, { 18, 4, 6, 8, 23, 0 }, { 18, 3, 5, 8, 23, 0 }, { 18, 2, 5, 8, 23, 0 }, - { 19, 1, 4, 8, 22, 0 }, { 19, 0, 3, 8, 22, 0 }, { 19, -1, 2, 8, 22, 0 }, { 19, -2, 1, 8, 22, 0 }, { 19, -3, 0, 8, 22, 0 }, - { 19, -4, -1, 8, 22, 0 }, { 19, -5, -2, 8, 22, 0 }, { 19, -6, -3, 8, 22, 0 }, { 19, -7, -4, 8, 22, 0 }, { 20, -8, -5, 8, 22, 0 }, - { 20, -9, -6, 8, 22, 0 }, { 20, -9, -7, 8, 22, 0 }, { 20, -10, -8, 8, 22, 0 }, { 20, -11, -9, 8, 21, 0 }, { 20, -12, -10, 8, 21, 0 }, - { 20, -12, -11, 8, 21, 0 }, { 20, -13, -12, 8, 21, 0 }, { 20, -14, -13, 8, 21, 0 }, { 20, -14, -14, 8, 21, 0 }, { 21, -15, -15, 8, 21, 0 }, - { 21, -16, -16, 8, 21, 0 }, { 21, -16, -17, 8, 21, 0 }, { 21, -17, -18, 8, 21, 0 }, { 21, -17, -19, 8, 21, 0 }, { 21, -18, -20, 8, 21, 0 }, - { 21, -18, -21, 8, 21, 0 }, { 21, -19, -22, 8, 21, 0 }, { 21, -19, -23, 8, 21, 0 }, { 21, -20, -24, 8, 20, 0 }, { 22, -20, -25, 8, 20, 0 }, - { 22, -21, -26, 8, 20, 0 }, { 22, -21, -27, 8, 20, 0 }, { 22, -22, -28, 8, 20, 0 }, { 22, -22, -29, 8, 20, 0 }, { 22, -22, -30, 8, 20, 0 }, - { 22, -23, -31, 8, 20, 0 }, { 22, -23, -32, 8, 20, 0 }, { 22, -23, -33, 8, 20, 0 }, { 22, -24, -34, 8, 20, 0 }, { 23, -24, -35, 8, 20, 0 }, - { 23, -25, -36, 8, 20, 0 }, { 23, -25, -37, 8, 20, 0 }, { 23, -25, -38, 8, 20, 0 }, { 23, -26, -39, 8, 19, 0 }, { 23, -26, -40, 8, 19, 0 }, - { 23, -26, -41, 8, 19, 0 }, { 23, -26, -42, 8, 19, 0 }, { 23, -27, -43, 8, 19, 0 }, { 24, -27, -44, 8, 19, 0 }, { 24, -27, -45, 8, 19, 0 }, - { 24, -27, -46, 8, 19, 0 }, { 24, -28, -47, 8, 19, 0 }, { 24, -28, -48, 8, 19, 0 }, { 24, -28, -49, 8, 19, 0 }, { 24, -28, -50, 8, 19, 0 }, - { 24, -28, -51, 8, 19, 0 }, { 24, -28, -52, 8, 19, 0 }, { 24, -29, -53, 8, 19, 0 }, { 25, -29, -54, 8, 19, 0 }, { 25, -29, -55, 8, 19, 0 }, - { 25, -29, -56, 8, 19, 0 }, { 25, -29, -57, 8, 19, 0 }, { 25, -29, -58, 8, 19, 0 }, { 25, -29, -59, 8, 19, 0 }, { 25, -29, -60, 8, 19, 0 }, - { 25, -30, -61, 8, 19, 0 }, { 25, -30, -62, 8, 19, 0 }, { 25, -30, -63, 8, 18, 0 }, { 26, -30, -64, 8, 18, 0 }, { 26, -30, -65, 8, 18, 0 }, - { 26, -30, -66, 8, 18, 0 }, { 26, -30, -67, 8, 18, 0 }, { 26, -30, -68, 8, 18, 0 }, { 26, -30, -69, 8, 18, 0 }, { 26, -30, -70, 8, 18, 0 }, - { 26, -30, -71, 8, 18, 0 }, { 26, -30, -72, 8, 18, 0 }, { 27, -30, -73, 8, 18, 0 }, { 27, -30, -74, 8, 18, 0 }, { 27, -30, -75, 8, 18, 0 }, - { 27, -30, -76, 8, 18, 0 }, { 27, -30, -77, 8, 18, 0 }, { 27, -30, -78, 8, 18, 0 }, { 27, -30, -79, 8, 18, 0 }, { 27, -30, -80, 8, 18, 0 }, - { 27, -30, -81, 8, 18, 0 }, { 27, -30, -82, 8, 18, 0 }, { 28, -30, -83, 8, 18, 0 }, { 28, -30, -84, 8, 18, 0 }, { 28, -30, -85, 8, 18, 0 }, - { 28, -30, -86, 8, 18, 0 }, { 28, -30, -87, 8, 18, 0 }, { 28, -30, -88, 8, 18, 0 }, { 28, -30, -89, 8, 18, 0 }, { 28, -30, -90, 8, 18, 0 }, - { 28, -30, -91, 8, 18, 0 }, { 28, -30, -92, 8, 18, 0 }, { 29, -30, -93, 8, 18, 0 }, { 29, -30, -94, 8, 18, 0 }, { 29, -30, -95, 8, 18, 0 }, - { 29, -30, -96, 8, 18, 0 }, { 29, -30, -97, 8, 18, 0 }, { 29, -30, -98, 8, 18, 0 }, { 29, -30, -99, 8, 18, 0 }, { 29, -30, -100, 8, 17, 0 }, - { 29, -30, -101, 8, 17, 0 }, { 29, -29, -102, 8, 17, 0 }, { 30, -29, -103, 8, 17, 0 }, { 30, -29, -104, 8, 17, 0 }, { 30, -29, -105, 8, 17, 0 }, - { 30, -29, -106, 8, 17, 0 }, { 30, -29, -107, 8, 17, 0 }, { 30, -28, -108, 8, 17, 0 }, { 30, -28, -109, 8, 17, 0 }, { 30, -28, -110, 8, 17, 0 }, - { 30, -28, -111, 8, 17, 0 }, { 31, -28, -112, 8, 17, 0 }, { 31, -28, -113, 8, 17, 0 }, { 31, -27, -114, 8, 17, 0 }, { 31, -27, -115, 8, 17, 0 }, - { 31, -27, -116, 8, 17, 0 }, { 31, -27, -117, 8, 17, 0 }, { 31, -27, -118, 8, 17, 0 }, { 31, -26, -119, 8, 17, 0 }, { 31, -26, -120, 8, 17, 0 }, - { 31, -26, -121, 8, 17, 0 }, { 32, -26, -122, 8, 17, 0 }, { 32, -25, -123, 8, 17, 0 }, { 32, -25, -124, 8, 17, 0 }, { 32, -25, -125, 8, 17, 0 }, - { 32, -24, -126, 8, 17, 0 }, { 32, -24, -127, 8, 17, 0 }, { 32, -24, -128, 8, 17, 0 }, { 32, -23, -129, 8, 17, 0 }, { 32, -23, -130, 8, 17, 0 }, - { 32, -23, -131, 8, 17, 0 }, { 33, -23, -132, 8, 17, 0 }, { 33, -22, -133, 8, 8, 0 }, { 33, -22, -134, 8, 8, 0 }, { 33, -22, -135, 8, 8, 0 }, - { 33, -21, -136, 8, 8, 0 }, { 33, -21, -137, 8, 8, 0 }, { 33, -20, -138, 8, 8, 0 }, { 33, -20, -139, 8, 8, 0 }, { 33, -19, -140, 8, 8, 0 }, - { 34, -19, -141, 8, 8, 0 }, { 34, -19, -142, 8, 8, 0 }, { 34, -18, -143, 8, 8, 0 }, { 34, -18, -144, 8, 8, 0 }, { 34, -17, -145, 8, 8, 0 }, - { 34, -17, -146, 8, 8, 0 }, { 34, -17, -147, 8, 8, 0 }, { 34, -16, -148, 8, 8, 0 }, { 34, -16, -149, 8, 8, 0 }, { 34, -15, -150, 8, 8, 0 }, - { 35, -15, -151, 8, 8, 0 }, { 35, -14, -152, 8, 8, 0 }, { 35, -14, -153, 8, 8, 0 }, { 35, -14, -154, 8, 8, 0 }, { 35, -13, -155, 8, 8, 0 }, - { 35, -13, -156, 8, 8, 0 }, { 35, -12, -157, 8, 8, 0 }, { 35, -12, -158, 8, 8, 0 }, { 35, -11, -159, 8, 8, 0 }, { 35, -11, -160, 8, 8, 0 }, - { 36, -10, -161, 8, 8, 0 }, { 36, -10, -162, 8, 8, 0 }, { 36, -9, -163, 8, 8, 0 }, { 36, -8, -164, 8, 8, 0 }, { 36, -8, -165, 8, 8, 0 }, - { 36, -7, -166, 8, 8, 0 }, { 36, -7, -167, 8, 8, 0 }, { 36, -6, -168, 8, 8, 0 }, { 36, -5, -169, 8, 7, 0 }, { 36, -5, -170, 8, 7, 0 }, - { 37, -4, -171, 8, 7, 0 }, { 37, -4, -172, 8, 7, 0 }, { 37, -3, -173, 8, 7, 0 }, { 37, -2, -174, 8, 7, 0 }, { 37, -2, -175, 8, 7, 0 }, - { 37, -1, -176, 8, 7, 0 }, { 37, 0, -177, 8, 7, 0 }, { 37, 0, -178, 8, 7, 0 }, { 37, 1, -179, 8, 7, 0 }, { 38, 2, -180, 8, 7, 0 }, - { 38, 3, -181, 8, 7, 0 }, { 38, 3, -182, 8, 7, 0 }, { 38, 4, -183, 8, 7, 0 }, { 38, 5, -184, 8, 7, 0 }, { 38, 5, -185, 8, 7, 0 }, - { 38, 6, -186, 8, 7, 0 }, { 38, 7, -187, 8, 7, 0 }, { 38, 7, -188, 8, 7, 0 }, { 38, 8, -189, 8, 7, 0 }, { 39, 9, -190, 8, 7, 0 }, - { 39, 10, -191, 8, 7, 0 }, { 39, 11, -192, 8, 7, 0 }, { 39, 12, -193, 8, 7, 0 }, { 39, 13, -194, 8, 7, 0 }, { 39, 14, -195, 8, 7, 0 }, - { 39, 14, -196, 8, 7, 0 }, { 39, 15, -197, 8, 7, 0 }, { 39, 16, -198, 8, 7, 0 }, { 39, 17, -199, 8, 7, 0 }, { 40, 18, -200, 8, 7, 0 }, - { 40, 19, -201, 8, 7, 0 }, { 40, 20, -202, 8, 7, 0 }, { 40, 21, -203, 8, 7, 0 }, { 40, 22, -204, 8, 7, 0 }, { 40, 23, -205, 8, 7, 0 }, - { 40, 24, -206, 8, 7, 0 }, { 40, 25, -206, 8, 7, 0 }, { 40, 26, -207, 8, 7, 0 }, { 41, 27, -208, 8, 7, 0 }, { 41, 28, -209, 8, 7, 0 }, - { 41, 29, -210, 8, 7, 0 }, { 41, 30, -211, 8, 7, 0 }, { 41, 31, -212, 8, 7, 0 }, { 41, 32, -212, 8, 7, 0 }, { 41, 33, -213, 8, 7, 0 }, - { 41, 34, -214, 8, 6, 0 }, { 41, 35, -215, 8, 6, 0 }, { 41, 36, -215, 8, 6, 0 }, { 42, 37, -216, 8, 6, 0 }, { 42, 38, -217, 8, 6, 0 }, - { 42, 39, -218, 8, 6, 0 }, { 42, 40, -218, 8, 6, 0 }, { 42, 41, -219, 8, 6, 0 }, { 42, 42, -220, 8, 6, 0 }, { 42, 43, -221, 8, 6, 0 }, - { 42, 44, -221, 8, 6, 0 }, { 42, 45, -222, 8, 6, 0 }, { 42, 46, -223, 8, 6, 0 }, { 43, 47, -223, 8, 6, 0 }, { 43, 48, -224, 8, 6, 0 }, - { 43, 49, -224, 8, 6, 0 }, { 43, 50, -225, 8, 6, 0 }, { 43, 51, -226, 8, 6, 0 }, { 43, 52, -226, 8, 6, 0 }, { 43, 53, -227, 8, 6, 0 }, - { 43, 54, -227, 8, 6, 0 }, { 43, 55, -228, 8, 6, 0 }, { 43, 56, -229, 8, 6, 0 }, { 44, 57, -229, 8, 6, 0 }, { 44, 58, -230, 8, 6, 0 }, - { 44, 59, -230, 8, 6, 0 }, { 44, 60, -231, 8, 6, 0 }, { 44, 61, -231, 8, 6, 0 }, { 44, 62, -232, 8, 6, 0 }, { 44, 63, -232, 8, 6, 0 }, - { 44, 64, -233, 8, 6, 0 }, { 44, 65, -233, 8, 6, 0 }, { 45, 66, -234, 8, 6, 0 }, { 45, 67, -234, 8, 6, 0 }, { 45, 68, -235, 8, 6, 0 }, - { 45, 69, -235, 8, 6, 0 }, { 45, 70, -236, 8, 6, 0 }, { 45, 71, -236, 8, 6, 0 }, { 45, 72, -237, 8, 6, 0 }, { 45, 73, -237, 8, 6, 0 }, - { 45, 74, -238, 8, 6, 0 }, { 45, 75, -238, 8, 6, 0 }, { 46, 76, -239, 8, 6, 0 }, { 46, 77, -239, 8, 6, 0 }, { 46, 78, -240, 8, 6, 0 }, - { 46, 79, -240, 8, 6, 0 }, { 46, 80, -241, 8, 6, 0 }, { 46, 81, -241, 8, 6, 0 }, { 46, 82, -242, 8, 6, 0 }, { 46, 83, -242, 8, 6, 0 }, - { 46, 84, -243, 8, 6, 0 }, { 46, 85, -243, 8, 6, 0 }, { 47, 86, -244, 8, 6, 0 }, { 47, 87, -244, 8, 6, 0 }, { 47, 88, -245, 8, 6, 0 }, - { 47, 89, -245, 8, 6, 0 }, { 47, 90, -246, 8, 6, 0 }, { 47, 91, -246, 8, 6, 0 }, { 47, 92, -247, 8, 6, 0 }, { 47, 93, -247, 8, 6, 0 }, - { 47, 94, -248, 8, 6, 0 }, + 311, { + { 16, 31, 16, 8, 16, 0 }, { 16, 30, 16, 8, 16, 0 }, { 16, 29, 16, 8, 16, 0 }, { 16, 28, 16, 8, 16, 0 }, { 16, 27, 16, 8, 16, 0 }, + { 16, 26, 16, 8, 16, 0 }, { 16, 25, 16, 8, 16, 0 }, { 16, 24, 16, 8, 16, 0 }, { 16, 23, 15, 8, 16, 0 }, { 16, 22, 15, 8, 16, 0 }, + { 17, 21, 15, 8, 16, 0 }, { 17, 20, 15, 8, 16, 0 }, { 17, 19, 14, 8, 16, 0 }, { 17, 18, 14, 8, 16, 0 }, { 17, 17, 14, 8, 16, 0 }, + { 17, 16, 13, 8, 23, 0 }, { 17, 15, 13, 8, 23, 0 }, { 17, 14, 12, 8, 23, 0 }, { 17, 13, 12, 8, 23, 0 }, { 17, 12, 11, 8, 23, 0 }, + { 18, 11, 11, 8, 23, 0 }, { 18, 10, 10, 8, 23, 0 }, { 18, 9, 10, 8, 23, 0 }, { 18, 8, 9, 8, 23, 0 }, { 18, 7, 8, 8, 23, 0 }, + { 18, 6, 8, 8, 23, 0 }, { 18, 5, 7, 8, 23, 0 }, { 18, 4, 6, 8, 23, 0 }, { 18, 3, 5, 8, 23, 0 }, { 18, 2, 5, 8, 23, 0 }, + { 19, 1, 4, 8, 22, 0 }, { 19, 0, 3, 8, 22, 0 }, { 19, -1, 2, 8, 22, 0 }, { 19, -2, 1, 8, 22, 0 }, { 19, -3, 0, 8, 22, 0 }, + { 19, -4, -1, 8, 22, 0 }, { 19, -5, -2, 8, 22, 0 }, { 19, -6, -3, 8, 22, 0 }, { 19, -7, -4, 8, 22, 0 }, { 20, -8, -5, 8, 22, 0 }, + { 20, -9, -6, 8, 22, 0 }, { 20, -9, -7, 8, 22, 0 }, { 20, -10, -8, 8, 22, 0 }, { 20, -11, -9, 8, 21, 0 }, { 20, -12, -10, 8, 21, 0 }, + { 20, -12, -11, 8, 21, 0 }, { 20, -13, -12, 8, 21, 0 }, { 20, -14, -13, 8, 21, 0 }, { 20, -14, -14, 8, 21, 0 }, { 21, -15, -15, 8, 21, 0 }, + { 21, -16, -16, 8, 21, 0 }, { 21, -16, -17, 8, 21, 0 }, { 21, -17, -18, 8, 21, 0 }, { 21, -17, -19, 8, 21, 0 }, { 21, -18, -20, 8, 21, 0 }, + { 21, -18, -21, 8, 21, 0 }, { 21, -19, -22, 8, 21, 0 }, { 21, -19, -23, 8, 21, 0 }, { 21, -20, -24, 8, 20, 0 }, { 22, -20, -25, 8, 20, 0 }, + { 22, -21, -26, 8, 20, 0 }, { 22, -21, -27, 8, 20, 0 }, { 22, -22, -28, 8, 20, 0 }, { 22, -22, -29, 8, 20, 0 }, { 22, -22, -30, 8, 20, 0 }, + { 22, -23, -31, 8, 20, 0 }, { 22, -23, -32, 8, 20, 0 }, { 22, -23, -33, 8, 20, 0 }, { 22, -24, -34, 8, 20, 0 }, { 23, -24, -35, 8, 20, 0 }, + { 23, -25, -36, 8, 20, 0 }, { 23, -25, -37, 8, 20, 0 }, { 23, -25, -38, 8, 20, 0 }, { 23, -26, -39, 8, 19, 0 }, { 23, -26, -40, 8, 19, 0 }, + { 23, -26, -41, 8, 19, 0 }, { 23, -26, -42, 8, 19, 0 }, { 23, -27, -43, 8, 19, 0 }, { 24, -27, -44, 8, 19, 0 }, { 24, -27, -45, 8, 19, 0 }, + { 24, -27, -46, 8, 19, 0 }, { 24, -28, -47, 8, 19, 0 }, { 24, -28, -48, 8, 19, 0 }, { 24, -28, -49, 8, 19, 0 }, { 24, -28, -50, 8, 19, 0 }, + { 24, -28, -51, 8, 19, 0 }, { 24, -28, -52, 8, 19, 0 }, { 24, -29, -53, 8, 19, 0 }, { 25, -29, -54, 8, 19, 0 }, { 25, -29, -55, 8, 19, 0 }, + { 25, -29, -56, 8, 19, 0 }, { 25, -29, -57, 8, 19, 0 }, { 25, -29, -58, 8, 19, 0 }, { 25, -29, -59, 8, 19, 0 }, { 25, -29, -60, 8, 19, 0 }, + { 25, -30, -61, 8, 19, 0 }, { 25, -30, -62, 8, 19, 0 }, { 25, -30, -63, 8, 18, 0 }, { 26, -30, -64, 8, 18, 0 }, { 26, -30, -65, 8, 18, 0 }, + { 26, -30, -66, 8, 18, 0 }, { 26, -30, -67, 8, 18, 0 }, { 26, -30, -68, 8, 18, 0 }, { 26, -30, -69, 8, 18, 0 }, { 26, -30, -70, 8, 18, 0 }, + { 26, -30, -71, 8, 18, 0 }, { 26, -30, -72, 8, 18, 0 }, { 27, -30, -73, 8, 18, 0 }, { 27, -30, -74, 8, 18, 0 }, { 27, -30, -75, 8, 18, 0 }, + { 27, -30, -76, 8, 18, 0 }, { 27, -30, -77, 8, 18, 0 }, { 27, -30, -78, 8, 18, 0 }, { 27, -30, -79, 8, 18, 0 }, { 27, -30, -80, 8, 18, 0 }, + { 27, -30, -81, 8, 18, 0 }, { 27, -30, -82, 8, 18, 0 }, { 28, -30, -83, 8, 18, 0 }, { 28, -30, -84, 8, 18, 0 }, { 28, -30, -85, 8, 18, 0 }, + { 28, -30, -86, 8, 18, 0 }, { 28, -30, -87, 8, 18, 0 }, { 28, -30, -88, 8, 18, 0 }, { 28, -30, -89, 8, 18, 0 }, { 28, -30, -90, 8, 18, 0 }, + { 28, -30, -91, 8, 18, 0 }, { 28, -30, -92, 8, 18, 0 }, { 29, -30, -93, 8, 18, 0 }, { 29, -30, -94, 8, 18, 0 }, { 29, -30, -95, 8, 18, 0 }, + { 29, -30, -96, 8, 18, 0 }, { 29, -30, -97, 8, 18, 0 }, { 29, -30, -98, 8, 18, 0 }, { 29, -30, -99, 8, 18, 0 }, { 29, -30, -100, 8, 17, 0 }, + { 29, -30, -101, 8, 17, 0 }, { 29, -29, -102, 8, 17, 0 }, { 30, -29, -103, 8, 17, 0 }, { 30, -29, -104, 8, 17, 0 }, { 30, -29, -105, 8, 17, 0 }, + { 30, -29, -106, 8, 17, 0 }, { 30, -29, -107, 8, 17, 0 }, { 30, -28, -108, 8, 17, 0 }, { 30, -28, -109, 8, 17, 0 }, { 30, -28, -110, 8, 17, 0 }, + { 30, -28, -111, 8, 17, 0 }, { 31, -28, -112, 8, 17, 0 }, { 31, -28, -113, 8, 17, 0 }, { 31, -27, -114, 8, 17, 0 }, { 31, -27, -115, 8, 17, 0 }, + { 31, -27, -116, 8, 17, 0 }, { 31, -27, -117, 8, 17, 0 }, { 31, -27, -118, 8, 17, 0 }, { 31, -26, -119, 8, 17, 0 }, { 31, -26, -120, 8, 17, 0 }, + { 31, -26, -121, 8, 17, 0 }, { 32, -26, -122, 8, 17, 0 }, { 32, -25, -123, 8, 17, 0 }, { 32, -25, -124, 8, 17, 0 }, { 32, -25, -125, 8, 17, 0 }, + { 32, -24, -126, 8, 17, 0 }, { 32, -24, -127, 8, 17, 0 }, { 32, -24, -128, 8, 17, 0 }, { 32, -23, -129, 8, 17, 0 }, { 32, -23, -130, 8, 17, 0 }, + { 32, -23, -131, 8, 17, 0 }, { 33, -23, -132, 8, 17, 0 }, { 33, -22, -133, 8, 8, 0 }, { 33, -22, -134, 8, 8, 0 }, { 33, -22, -135, 8, 8, 0 }, + { 33, -21, -136, 8, 8, 0 }, { 33, -21, -137, 8, 8, 0 }, { 33, -20, -138, 8, 8, 0 }, { 33, -20, -139, 8, 8, 0 }, { 33, -19, -140, 8, 8, 0 }, + { 34, -19, -141, 8, 8, 0 }, { 34, -19, -142, 8, 8, 0 }, { 34, -18, -143, 8, 8, 0 }, { 34, -18, -144, 8, 8, 0 }, { 34, -17, -145, 8, 8, 0 }, + { 34, -17, -146, 8, 8, 0 }, { 34, -17, -147, 8, 8, 0 }, { 34, -16, -148, 8, 8, 0 }, { 34, -16, -149, 8, 8, 0 }, { 34, -15, -150, 8, 8, 0 }, + { 35, -15, -151, 8, 8, 0 }, { 35, -14, -152, 8, 8, 0 }, { 35, -14, -153, 8, 8, 0 }, { 35, -14, -154, 8, 8, 0 }, { 35, -13, -155, 8, 8, 0 }, + { 35, -13, -156, 8, 8, 0 }, { 35, -12, -157, 8, 8, 0 }, { 35, -12, -158, 8, 8, 0 }, { 35, -11, -159, 8, 8, 0 }, { 35, -11, -160, 8, 8, 0 }, + { 36, -10, -161, 8, 8, 0 }, { 36, -10, -162, 8, 8, 0 }, { 36, -9, -163, 8, 8, 0 }, { 36, -8, -164, 8, 8, 0 }, { 36, -8, -165, 8, 8, 0 }, + { 36, -7, -166, 8, 8, 0 }, { 36, -7, -167, 8, 8, 0 }, { 36, -6, -168, 8, 8, 0 }, { 36, -5, -169, 8, 7, 0 }, { 36, -5, -170, 8, 7, 0 }, + { 37, -4, -171, 8, 7, 0 }, { 37, -4, -172, 8, 7, 0 }, { 37, -3, -173, 8, 7, 0 }, { 37, -2, -174, 8, 7, 0 }, { 37, -2, -175, 8, 7, 0 }, + { 37, -1, -176, 8, 7, 0 }, { 37, 0, -177, 8, 7, 0 }, { 37, 0, -178, 8, 7, 0 }, { 37, 1, -179, 8, 7, 0 }, { 38, 2, -180, 8, 7, 0 }, + { 38, 3, -181, 8, 7, 0 }, { 38, 3, -182, 8, 7, 0 }, { 38, 4, -183, 8, 7, 0 }, { 38, 5, -184, 8, 7, 0 }, { 38, 5, -185, 8, 7, 0 }, + { 38, 6, -186, 8, 7, 0 }, { 38, 7, -187, 8, 7, 0 }, { 38, 7, -188, 8, 7, 0 }, { 38, 8, -189, 8, 7, 0 }, { 39, 9, -190, 8, 7, 0 }, + { 39, 10, -191, 8, 7, 0 }, { 39, 11, -192, 8, 7, 0 }, { 39, 12, -193, 8, 7, 0 }, { 39, 13, -194, 8, 7, 0 }, { 39, 14, -195, 8, 7, 0 }, + { 39, 14, -196, 8, 7, 0 }, { 39, 15, -197, 8, 7, 0 }, { 39, 16, -198, 8, 7, 0 }, { 39, 17, -199, 8, 7, 0 }, { 40, 18, -200, 8, 7, 0 }, + { 40, 19, -201, 8, 7, 0 }, { 40, 20, -202, 8, 7, 0 }, { 40, 21, -203, 8, 7, 0 }, { 40, 22, -204, 8, 7, 0 }, { 40, 23, -205, 8, 7, 0 }, + { 40, 24, -206, 8, 7, 0 }, { 40, 25, -206, 8, 7, 0 }, { 40, 26, -207, 8, 7, 0 }, { 41, 27, -208, 8, 7, 0 }, { 41, 28, -209, 8, 7, 0 }, + { 41, 29, -210, 8, 7, 0 }, { 41, 30, -211, 8, 7, 0 }, { 41, 31, -212, 8, 7, 0 }, { 41, 32, -212, 8, 7, 0 }, { 41, 33, -213, 8, 7, 0 }, + { 41, 34, -214, 8, 6, 0 }, { 41, 35, -215, 8, 6, 0 }, { 41, 36, -215, 8, 6, 0 }, { 42, 37, -216, 8, 6, 0 }, { 42, 38, -217, 8, 6, 0 }, + { 42, 39, -218, 8, 6, 0 }, { 42, 40, -218, 8, 6, 0 }, { 42, 41, -219, 8, 6, 0 }, { 42, 42, -220, 8, 6, 0 }, { 42, 43, -221, 8, 6, 0 }, + { 42, 44, -221, 8, 6, 0 }, { 42, 45, -222, 8, 6, 0 }, { 42, 46, -223, 8, 6, 0 }, { 43, 47, -223, 8, 6, 0 }, { 43, 48, -224, 8, 6, 0 }, + { 43, 49, -224, 8, 6, 0 }, { 43, 50, -225, 8, 6, 0 }, { 43, 51, -226, 8, 6, 0 }, { 43, 52, -226, 8, 6, 0 }, { 43, 53, -227, 8, 6, 0 }, + { 43, 54, -227, 8, 6, 0 }, { 43, 55, -228, 8, 6, 0 }, { 43, 56, -229, 8, 6, 0 }, { 44, 57, -229, 8, 6, 0 }, { 44, 58, -230, 8, 6, 0 }, + { 44, 59, -230, 8, 6, 0 }, { 44, 60, -231, 8, 6, 0 }, { 44, 61, -231, 8, 6, 0 }, { 44, 62, -232, 8, 6, 0 }, { 44, 63, -232, 8, 6, 0 }, + { 44, 64, -233, 8, 6, 0 }, { 44, 65, -233, 8, 6, 0 }, { 45, 66, -234, 8, 6, 0 }, { 45, 67, -234, 8, 6, 0 }, { 45, 68, -235, 8, 6, 0 }, + { 45, 69, -235, 8, 6, 0 }, { 45, 70, -236, 8, 6, 0 }, { 45, 71, -236, 8, 6, 0 }, { 45, 72, -237, 8, 6, 0 }, { 45, 73, -237, 8, 6, 0 }, + { 45, 74, -238, 8, 6, 0 }, { 45, 75, -238, 8, 6, 0 }, { 46, 76, -239, 8, 6, 0 }, { 46, 77, -239, 8, 6, 0 }, { 46, 78, -240, 8, 6, 0 }, + { 46, 79, -240, 8, 6, 0 }, { 46, 80, -241, 8, 6, 0 }, { 46, 81, -241, 8, 6, 0 }, { 46, 82, -242, 8, 6, 0 }, { 46, 83, -242, 8, 6, 0 }, + { 46, 84, -243, 8, 6, 0 }, { 46, 85, -243, 8, 6, 0 }, { 47, 86, -244, 8, 6, 0 }, { 47, 87, -244, 8, 6, 0 }, { 47, 88, -245, 8, 6, 0 }, + { 47, 89, -245, 8, 6, 0 }, { 47, 90, -246, 8, 6, 0 }, { 47, 91, -246, 8, 6, 0 }, { 47, 92, -247, 8, 6, 0 }, { 47, 93, -247, 8, 6, 0 }, + { 47, 94, -248, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92847C = { - 311, { - { 31, 16, 16, 16, 16, 0 }, { 30, 16, 16, 16, 16, 0 }, { 29, 16, 16, 16, 16, 0 }, { 28, 16, 16, 16, 16, 0 }, { 27, 16, 16, 16, 16, 0 }, - { 26, 16, 16, 16, 16, 0 }, { 25, 16, 16, 16, 16, 0 }, { 24, 16, 16, 16, 16, 0 }, { 23, 16, 15, 16, 16, 0 }, { 22, 16, 15, 16, 16, 0 }, - { 21, 17, 15, 16, 16, 0 }, { 20, 17, 15, 16, 16, 0 }, { 19, 17, 14, 16, 16, 0 }, { 18, 17, 14, 16, 16, 0 }, { 17, 17, 14, 16, 16, 0 }, - { 16, 17, 13, 16, 23, 0 }, { 15, 17, 13, 16, 23, 0 }, { 14, 17, 12, 16, 23, 0 }, { 13, 17, 12, 16, 23, 0 }, { 12, 17, 11, 16, 23, 0 }, - { 11, 18, 11, 16, 23, 0 }, { 10, 18, 10, 16, 23, 0 }, { 9, 18, 10, 16, 23, 0 }, { 8, 18, 9, 16, 23, 0 }, { 7, 18, 8, 16, 23, 0 }, - { 6, 18, 8, 16, 23, 0 }, { 5, 18, 7, 16, 23, 0 }, { 4, 18, 6, 16, 23, 0 }, { 3, 18, 5, 16, 23, 0 }, { 2, 18, 5, 16, 23, 0 }, - { 1, 19, 4, 16, 22, 0 }, { 0, 19, 3, 16, 22, 0 }, { -1, 19, 2, 16, 22, 0 }, { -2, 19, 1, 16, 22, 0 }, { -3, 19, 0, 16, 22, 0 }, - { -4, 19, -1, 16, 22, 0 }, { -5, 19, -2, 16, 22, 0 }, { -6, 19, -3, 16, 22, 0 }, { -7, 19, -4, 16, 22, 0 }, { -8, 20, -5, 16, 22, 0 }, - { -9, 20, -6, 16, 22, 0 }, { -9, 20, -7, 16, 22, 0 }, { -10, 20, -8, 16, 22, 0 }, { -11, 20, -9, 16, 21, 0 }, { -12, 20, -10, 16, 21, 0 }, - { -12, 20, -11, 16, 21, 0 }, { -13, 20, -12, 16, 21, 0 }, { -14, 20, -13, 16, 21, 0 }, { -14, 20, -14, 16, 21, 0 }, { -15, 21, -15, 16, 21, 0 }, - { -16, 21, -16, 16, 21, 0 }, { -16, 21, -17, 16, 21, 0 }, { -17, 21, -18, 16, 21, 0 }, { -17, 21, -19, 16, 21, 0 }, { -18, 21, -20, 16, 21, 0 }, - { -18, 21, -21, 16, 21, 0 }, { -19, 21, -22, 16, 21, 0 }, { -19, 21, -23, 16, 21, 0 }, { -20, 21, -24, 16, 20, 0 }, { -20, 22, -25, 16, 20, 0 }, - { -21, 22, -26, 16, 20, 0 }, { -21, 22, -27, 16, 20, 0 }, { -22, 22, -28, 16, 20, 0 }, { -22, 22, -29, 16, 20, 0 }, { -22, 22, -30, 16, 20, 0 }, - { -23, 22, -31, 16, 20, 0 }, { -23, 22, -32, 16, 20, 0 }, { -23, 22, -33, 16, 20, 0 }, { -24, 22, -34, 16, 20, 0 }, { -24, 23, -35, 16, 20, 0 }, - { -25, 23, -36, 16, 20, 0 }, { -25, 23, -37, 16, 20, 0 }, { -25, 23, -38, 16, 20, 0 }, { -26, 23, -39, 16, 19, 0 }, { -26, 23, -40, 16, 19, 0 }, - { -26, 23, -41, 16, 19, 0 }, { -26, 23, -42, 16, 19, 0 }, { -27, 23, -43, 16, 19, 0 }, { -27, 24, -44, 16, 19, 0 }, { -27, 24, -45, 16, 19, 0 }, - { -27, 24, -46, 16, 19, 0 }, { -28, 24, -47, 16, 19, 0 }, { -28, 24, -48, 16, 19, 0 }, { -28, 24, -49, 16, 19, 0 }, { -28, 24, -50, 16, 19, 0 }, - { -28, 24, -51, 16, 19, 0 }, { -28, 24, -52, 16, 19, 0 }, { -29, 24, -53, 16, 19, 0 }, { -29, 25, -54, 16, 19, 0 }, { -29, 25, -55, 16, 19, 0 }, - { -29, 25, -56, 16, 19, 0 }, { -29, 25, -57, 16, 19, 0 }, { -29, 25, -58, 16, 19, 0 }, { -29, 25, -59, 16, 19, 0 }, { -29, 25, -60, 16, 19, 0 }, - { -30, 25, -61, 16, 19, 0 }, { -30, 25, -62, 16, 19, 0 }, { -30, 25, -63, 16, 18, 0 }, { -30, 26, -64, 16, 18, 0 }, { -30, 26, -65, 16, 18, 0 }, - { -30, 26, -66, 16, 18, 0 }, { -30, 26, -67, 16, 18, 0 }, { -30, 26, -68, 16, 18, 0 }, { -30, 26, -69, 16, 18, 0 }, { -30, 26, -70, 16, 18, 0 }, - { -30, 26, -71, 16, 18, 0 }, { -30, 26, -72, 16, 18, 0 }, { -30, 27, -73, 16, 18, 0 }, { -30, 27, -74, 16, 18, 0 }, { -30, 27, -75, 16, 18, 0 }, - { -30, 27, -76, 16, 18, 0 }, { -30, 27, -77, 16, 18, 0 }, { -30, 27, -78, 16, 18, 0 }, { -30, 27, -79, 16, 18, 0 }, { -30, 27, -80, 16, 18, 0 }, - { -30, 27, -81, 16, 18, 0 }, { -30, 27, -82, 16, 18, 0 }, { -30, 28, -83, 16, 18, 0 }, { -30, 28, -84, 16, 18, 0 }, { -30, 28, -85, 16, 18, 0 }, - { -30, 28, -86, 16, 18, 0 }, { -30, 28, -87, 16, 18, 0 }, { -30, 28, -88, 16, 18, 0 }, { -30, 28, -89, 16, 18, 0 }, { -30, 28, -90, 16, 18, 0 }, - { -30, 28, -91, 16, 18, 0 }, { -30, 28, -92, 16, 18, 0 }, { -30, 29, -93, 16, 18, 0 }, { -30, 29, -94, 16, 18, 0 }, { -30, 29, -95, 16, 18, 0 }, - { -30, 29, -96, 16, 18, 0 }, { -30, 29, -97, 16, 18, 0 }, { -30, 29, -98, 16, 18, 0 }, { -30, 29, -99, 16, 18, 0 }, { -30, 29, -100, 16, 17, 0 }, - { -30, 29, -101, 16, 17, 0 }, { -29, 29, -102, 16, 17, 0 }, { -29, 30, -103, 16, 17, 0 }, { -29, 30, -104, 16, 17, 0 }, { -29, 30, -105, 16, 17, 0 }, - { -29, 30, -106, 16, 17, 0 }, { -29, 30, -107, 16, 17, 0 }, { -28, 30, -108, 16, 17, 0 }, { -28, 30, -109, 16, 17, 0 }, { -28, 30, -110, 16, 17, 0 }, - { -28, 30, -111, 16, 17, 0 }, { -28, 31, -112, 16, 17, 0 }, { -28, 31, -113, 16, 17, 0 }, { -27, 31, -114, 16, 17, 0 }, { -27, 31, -115, 16, 17, 0 }, - { -27, 31, -116, 16, 17, 0 }, { -27, 31, -117, 16, 17, 0 }, { -27, 31, -118, 16, 17, 0 }, { -26, 31, -119, 16, 17, 0 }, { -26, 31, -120, 16, 17, 0 }, - { -26, 31, -121, 16, 17, 0 }, { -26, 32, -122, 16, 17, 0 }, { -25, 32, -123, 16, 17, 0 }, { -25, 32, -124, 16, 17, 0 }, { -25, 32, -125, 16, 17, 0 }, - { -24, 32, -126, 16, 17, 0 }, { -24, 32, -127, 16, 17, 0 }, { -24, 32, -128, 16, 17, 0 }, { -23, 32, -129, 16, 17, 0 }, { -23, 32, -130, 16, 17, 0 }, - { -23, 32, -131, 16, 17, 0 }, { -23, 33, -132, 16, 17, 0 }, { -22, 33, -133, 16, 8, 0 }, { -22, 33, -134, 16, 8, 0 }, { -22, 33, -135, 16, 8, 0 }, - { -21, 33, -136, 16, 8, 0 }, { -21, 33, -137, 16, 8, 0 }, { -20, 33, -138, 16, 8, 0 }, { -20, 33, -139, 16, 8, 0 }, { -19, 33, -140, 16, 8, 0 }, - { -19, 34, -141, 16, 8, 0 }, { -19, 34, -142, 16, 8, 0 }, { -18, 34, -143, 16, 8, 0 }, { -18, 34, -144, 16, 8, 0 }, { -17, 34, -145, 16, 8, 0 }, - { -17, 34, -146, 16, 8, 0 }, { -17, 34, -147, 16, 8, 0 }, { -16, 34, -148, 16, 8, 0 }, { -16, 34, -149, 16, 8, 0 }, { -15, 34, -150, 16, 8, 0 }, - { -15, 35, -151, 16, 8, 0 }, { -14, 35, -152, 16, 8, 0 }, { -14, 35, -153, 16, 8, 0 }, { -14, 35, -154, 16, 8, 0 }, { -13, 35, -155, 16, 8, 0 }, - { -13, 35, -156, 16, 8, 0 }, { -12, 35, -157, 16, 8, 0 }, { -12, 35, -158, 16, 8, 0 }, { -11, 35, -159, 16, 8, 0 }, { -11, 35, -160, 16, 8, 0 }, - { -10, 36, -161, 16, 8, 0 }, { -10, 36, -162, 16, 8, 0 }, { -9, 36, -163, 16, 8, 0 }, { -8, 36, -164, 16, 8, 0 }, { -8, 36, -165, 16, 8, 0 }, - { -7, 36, -166, 16, 8, 0 }, { -7, 36, -167, 16, 8, 0 }, { -6, 36, -168, 16, 8, 0 }, { -5, 36, -169, 16, 7, 0 }, { -5, 36, -170, 16, 7, 0 }, - { -4, 37, -171, 16, 7, 0 }, { -4, 37, -172, 16, 7, 0 }, { -3, 37, -173, 16, 7, 0 }, { -2, 37, -174, 16, 7, 0 }, { -2, 37, -175, 16, 7, 0 }, - { -1, 37, -176, 16, 7, 0 }, { 0, 37, -177, 16, 7, 0 }, { 0, 37, -178, 16, 7, 0 }, { 1, 37, -179, 16, 7, 0 }, { 2, 38, -180, 16, 7, 0 }, - { 3, 38, -181, 16, 7, 0 }, { 3, 38, -182, 16, 7, 0 }, { 4, 38, -183, 16, 7, 0 }, { 5, 38, -184, 16, 7, 0 }, { 5, 38, -185, 16, 7, 0 }, - { 6, 38, -186, 16, 7, 0 }, { 7, 38, -187, 16, 7, 0 }, { 7, 38, -188, 16, 7, 0 }, { 8, 38, -189, 16, 7, 0 }, { 9, 39, -190, 16, 7, 0 }, - { 10, 39, -191, 16, 7, 0 }, { 11, 39, -192, 16, 7, 0 }, { 12, 39, -193, 16, 7, 0 }, { 13, 39, -194, 16, 7, 0 }, { 14, 39, -195, 16, 7, 0 }, - { 14, 39, -196, 16, 7, 0 }, { 15, 39, -197, 16, 7, 0 }, { 16, 39, -198, 16, 7, 0 }, { 17, 39, -199, 16, 7, 0 }, { 18, 40, -200, 16, 7, 0 }, - { 19, 40, -201, 16, 7, 0 }, { 20, 40, -202, 16, 7, 0 }, { 21, 40, -203, 16, 7, 0 }, { 22, 40, -204, 16, 7, 0 }, { 23, 40, -205, 16, 7, 0 }, - { 24, 40, -206, 16, 7, 0 }, { 25, 40, -206, 16, 7, 0 }, { 26, 40, -207, 16, 7, 0 }, { 27, 41, -208, 16, 7, 0 }, { 28, 41, -209, 16, 7, 0 }, - { 29, 41, -210, 16, 7, 0 }, { 30, 41, -211, 16, 7, 0 }, { 31, 41, -212, 16, 7, 0 }, { 32, 41, -212, 16, 7, 0 }, { 33, 41, -213, 16, 7, 0 }, - { 34, 41, -214, 16, 6, 0 }, { 35, 41, -215, 16, 6, 0 }, { 36, 41, -215, 16, 6, 0 }, { 37, 42, -216, 16, 6, 0 }, { 38, 42, -217, 16, 6, 0 }, - { 39, 42, -218, 16, 6, 0 }, { 40, 42, -218, 16, 6, 0 }, { 41, 42, -219, 16, 6, 0 }, { 42, 42, -220, 16, 6, 0 }, { 43, 42, -221, 16, 6, 0 }, - { 44, 42, -221, 16, 6, 0 }, { 45, 42, -222, 16, 6, 0 }, { 46, 42, -223, 16, 6, 0 }, { 47, 43, -223, 16, 6, 0 }, { 48, 43, -224, 16, 6, 0 }, - { 49, 43, -224, 16, 6, 0 }, { 50, 43, -225, 16, 6, 0 }, { 51, 43, -226, 16, 6, 0 }, { 52, 43, -226, 16, 6, 0 }, { 53, 43, -227, 16, 6, 0 }, - { 54, 43, -227, 16, 6, 0 }, { 55, 43, -228, 16, 6, 0 }, { 56, 43, -229, 16, 6, 0 }, { 57, 44, -229, 16, 6, 0 }, { 58, 44, -230, 16, 6, 0 }, - { 59, 44, -230, 16, 6, 0 }, { 60, 44, -231, 16, 6, 0 }, { 61, 44, -231, 16, 6, 0 }, { 62, 44, -232, 16, 6, 0 }, { 63, 44, -232, 16, 6, 0 }, - { 64, 44, -233, 16, 6, 0 }, { 65, 44, -233, 16, 6, 0 }, { 66, 45, -234, 16, 6, 0 }, { 67, 45, -234, 16, 6, 0 }, { 68, 45, -235, 16, 6, 0 }, - { 69, 45, -235, 16, 6, 0 }, { 70, 45, -236, 16, 6, 0 }, { 71, 45, -236, 16, 6, 0 }, { 72, 45, -237, 16, 6, 0 }, { 73, 45, -237, 16, 6, 0 }, - { 74, 45, -238, 16, 6, 0 }, { 75, 45, -238, 16, 6, 0 }, { 76, 46, -239, 16, 6, 0 }, { 77, 46, -239, 16, 6, 0 }, { 78, 46, -240, 16, 6, 0 }, - { 79, 46, -240, 16, 6, 0 }, { 80, 46, -241, 16, 6, 0 }, { 81, 46, -241, 16, 6, 0 }, { 82, 46, -242, 16, 6, 0 }, { 83, 46, -242, 16, 6, 0 }, - { 84, 46, -243, 16, 6, 0 }, { 85, 46, -243, 16, 6, 0 }, { 86, 47, -244, 16, 6, 0 }, { 87, 47, -244, 16, 6, 0 }, { 88, 47, -245, 16, 6, 0 }, - { 89, 47, -245, 16, 6, 0 }, { 90, 47, -246, 16, 6, 0 }, { 91, 47, -246, 16, 6, 0 }, { 92, 47, -247, 16, 6, 0 }, { 93, 47, -247, 16, 6, 0 }, - { 94, 47, -248, 16, 6, 0 }, + 311, { + { 31, 16, 16, 16, 16, 0 }, { 30, 16, 16, 16, 16, 0 }, { 29, 16, 16, 16, 16, 0 }, { 28, 16, 16, 16, 16, 0 }, { 27, 16, 16, 16, 16, 0 }, + { 26, 16, 16, 16, 16, 0 }, { 25, 16, 16, 16, 16, 0 }, { 24, 16, 16, 16, 16, 0 }, { 23, 16, 15, 16, 16, 0 }, { 22, 16, 15, 16, 16, 0 }, + { 21, 17, 15, 16, 16, 0 }, { 20, 17, 15, 16, 16, 0 }, { 19, 17, 14, 16, 16, 0 }, { 18, 17, 14, 16, 16, 0 }, { 17, 17, 14, 16, 16, 0 }, + { 16, 17, 13, 16, 23, 0 }, { 15, 17, 13, 16, 23, 0 }, { 14, 17, 12, 16, 23, 0 }, { 13, 17, 12, 16, 23, 0 }, { 12, 17, 11, 16, 23, 0 }, + { 11, 18, 11, 16, 23, 0 }, { 10, 18, 10, 16, 23, 0 }, { 9, 18, 10, 16, 23, 0 }, { 8, 18, 9, 16, 23, 0 }, { 7, 18, 8, 16, 23, 0 }, + { 6, 18, 8, 16, 23, 0 }, { 5, 18, 7, 16, 23, 0 }, { 4, 18, 6, 16, 23, 0 }, { 3, 18, 5, 16, 23, 0 }, { 2, 18, 5, 16, 23, 0 }, + { 1, 19, 4, 16, 22, 0 }, { 0, 19, 3, 16, 22, 0 }, { -1, 19, 2, 16, 22, 0 }, { -2, 19, 1, 16, 22, 0 }, { -3, 19, 0, 16, 22, 0 }, + { -4, 19, -1, 16, 22, 0 }, { -5, 19, -2, 16, 22, 0 }, { -6, 19, -3, 16, 22, 0 }, { -7, 19, -4, 16, 22, 0 }, { -8, 20, -5, 16, 22, 0 }, + { -9, 20, -6, 16, 22, 0 }, { -9, 20, -7, 16, 22, 0 }, { -10, 20, -8, 16, 22, 0 }, { -11, 20, -9, 16, 21, 0 }, { -12, 20, -10, 16, 21, 0 }, + { -12, 20, -11, 16, 21, 0 }, { -13, 20, -12, 16, 21, 0 }, { -14, 20, -13, 16, 21, 0 }, { -14, 20, -14, 16, 21, 0 }, { -15, 21, -15, 16, 21, 0 }, + { -16, 21, -16, 16, 21, 0 }, { -16, 21, -17, 16, 21, 0 }, { -17, 21, -18, 16, 21, 0 }, { -17, 21, -19, 16, 21, 0 }, { -18, 21, -20, 16, 21, 0 }, + { -18, 21, -21, 16, 21, 0 }, { -19, 21, -22, 16, 21, 0 }, { -19, 21, -23, 16, 21, 0 }, { -20, 21, -24, 16, 20, 0 }, { -20, 22, -25, 16, 20, 0 }, + { -21, 22, -26, 16, 20, 0 }, { -21, 22, -27, 16, 20, 0 }, { -22, 22, -28, 16, 20, 0 }, { -22, 22, -29, 16, 20, 0 }, { -22, 22, -30, 16, 20, 0 }, + { -23, 22, -31, 16, 20, 0 }, { -23, 22, -32, 16, 20, 0 }, { -23, 22, -33, 16, 20, 0 }, { -24, 22, -34, 16, 20, 0 }, { -24, 23, -35, 16, 20, 0 }, + { -25, 23, -36, 16, 20, 0 }, { -25, 23, -37, 16, 20, 0 }, { -25, 23, -38, 16, 20, 0 }, { -26, 23, -39, 16, 19, 0 }, { -26, 23, -40, 16, 19, 0 }, + { -26, 23, -41, 16, 19, 0 }, { -26, 23, -42, 16, 19, 0 }, { -27, 23, -43, 16, 19, 0 }, { -27, 24, -44, 16, 19, 0 }, { -27, 24, -45, 16, 19, 0 }, + { -27, 24, -46, 16, 19, 0 }, { -28, 24, -47, 16, 19, 0 }, { -28, 24, -48, 16, 19, 0 }, { -28, 24, -49, 16, 19, 0 }, { -28, 24, -50, 16, 19, 0 }, + { -28, 24, -51, 16, 19, 0 }, { -28, 24, -52, 16, 19, 0 }, { -29, 24, -53, 16, 19, 0 }, { -29, 25, -54, 16, 19, 0 }, { -29, 25, -55, 16, 19, 0 }, + { -29, 25, -56, 16, 19, 0 }, { -29, 25, -57, 16, 19, 0 }, { -29, 25, -58, 16, 19, 0 }, { -29, 25, -59, 16, 19, 0 }, { -29, 25, -60, 16, 19, 0 }, + { -30, 25, -61, 16, 19, 0 }, { -30, 25, -62, 16, 19, 0 }, { -30, 25, -63, 16, 18, 0 }, { -30, 26, -64, 16, 18, 0 }, { -30, 26, -65, 16, 18, 0 }, + { -30, 26, -66, 16, 18, 0 }, { -30, 26, -67, 16, 18, 0 }, { -30, 26, -68, 16, 18, 0 }, { -30, 26, -69, 16, 18, 0 }, { -30, 26, -70, 16, 18, 0 }, + { -30, 26, -71, 16, 18, 0 }, { -30, 26, -72, 16, 18, 0 }, { -30, 27, -73, 16, 18, 0 }, { -30, 27, -74, 16, 18, 0 }, { -30, 27, -75, 16, 18, 0 }, + { -30, 27, -76, 16, 18, 0 }, { -30, 27, -77, 16, 18, 0 }, { -30, 27, -78, 16, 18, 0 }, { -30, 27, -79, 16, 18, 0 }, { -30, 27, -80, 16, 18, 0 }, + { -30, 27, -81, 16, 18, 0 }, { -30, 27, -82, 16, 18, 0 }, { -30, 28, -83, 16, 18, 0 }, { -30, 28, -84, 16, 18, 0 }, { -30, 28, -85, 16, 18, 0 }, + { -30, 28, -86, 16, 18, 0 }, { -30, 28, -87, 16, 18, 0 }, { -30, 28, -88, 16, 18, 0 }, { -30, 28, -89, 16, 18, 0 }, { -30, 28, -90, 16, 18, 0 }, + { -30, 28, -91, 16, 18, 0 }, { -30, 28, -92, 16, 18, 0 }, { -30, 29, -93, 16, 18, 0 }, { -30, 29, -94, 16, 18, 0 }, { -30, 29, -95, 16, 18, 0 }, + { -30, 29, -96, 16, 18, 0 }, { -30, 29, -97, 16, 18, 0 }, { -30, 29, -98, 16, 18, 0 }, { -30, 29, -99, 16, 18, 0 }, { -30, 29, -100, 16, 17, 0 }, + { -30, 29, -101, 16, 17, 0 }, { -29, 29, -102, 16, 17, 0 }, { -29, 30, -103, 16, 17, 0 }, { -29, 30, -104, 16, 17, 0 }, { -29, 30, -105, 16, 17, 0 }, + { -29, 30, -106, 16, 17, 0 }, { -29, 30, -107, 16, 17, 0 }, { -28, 30, -108, 16, 17, 0 }, { -28, 30, -109, 16, 17, 0 }, { -28, 30, -110, 16, 17, 0 }, + { -28, 30, -111, 16, 17, 0 }, { -28, 31, -112, 16, 17, 0 }, { -28, 31, -113, 16, 17, 0 }, { -27, 31, -114, 16, 17, 0 }, { -27, 31, -115, 16, 17, 0 }, + { -27, 31, -116, 16, 17, 0 }, { -27, 31, -117, 16, 17, 0 }, { -27, 31, -118, 16, 17, 0 }, { -26, 31, -119, 16, 17, 0 }, { -26, 31, -120, 16, 17, 0 }, + { -26, 31, -121, 16, 17, 0 }, { -26, 32, -122, 16, 17, 0 }, { -25, 32, -123, 16, 17, 0 }, { -25, 32, -124, 16, 17, 0 }, { -25, 32, -125, 16, 17, 0 }, + { -24, 32, -126, 16, 17, 0 }, { -24, 32, -127, 16, 17, 0 }, { -24, 32, -128, 16, 17, 0 }, { -23, 32, -129, 16, 17, 0 }, { -23, 32, -130, 16, 17, 0 }, + { -23, 32, -131, 16, 17, 0 }, { -23, 33, -132, 16, 17, 0 }, { -22, 33, -133, 16, 8, 0 }, { -22, 33, -134, 16, 8, 0 }, { -22, 33, -135, 16, 8, 0 }, + { -21, 33, -136, 16, 8, 0 }, { -21, 33, -137, 16, 8, 0 }, { -20, 33, -138, 16, 8, 0 }, { -20, 33, -139, 16, 8, 0 }, { -19, 33, -140, 16, 8, 0 }, + { -19, 34, -141, 16, 8, 0 }, { -19, 34, -142, 16, 8, 0 }, { -18, 34, -143, 16, 8, 0 }, { -18, 34, -144, 16, 8, 0 }, { -17, 34, -145, 16, 8, 0 }, + { -17, 34, -146, 16, 8, 0 }, { -17, 34, -147, 16, 8, 0 }, { -16, 34, -148, 16, 8, 0 }, { -16, 34, -149, 16, 8, 0 }, { -15, 34, -150, 16, 8, 0 }, + { -15, 35, -151, 16, 8, 0 }, { -14, 35, -152, 16, 8, 0 }, { -14, 35, -153, 16, 8, 0 }, { -14, 35, -154, 16, 8, 0 }, { -13, 35, -155, 16, 8, 0 }, + { -13, 35, -156, 16, 8, 0 }, { -12, 35, -157, 16, 8, 0 }, { -12, 35, -158, 16, 8, 0 }, { -11, 35, -159, 16, 8, 0 }, { -11, 35, -160, 16, 8, 0 }, + { -10, 36, -161, 16, 8, 0 }, { -10, 36, -162, 16, 8, 0 }, { -9, 36, -163, 16, 8, 0 }, { -8, 36, -164, 16, 8, 0 }, { -8, 36, -165, 16, 8, 0 }, + { -7, 36, -166, 16, 8, 0 }, { -7, 36, -167, 16, 8, 0 }, { -6, 36, -168, 16, 8, 0 }, { -5, 36, -169, 16, 7, 0 }, { -5, 36, -170, 16, 7, 0 }, + { -4, 37, -171, 16, 7, 0 }, { -4, 37, -172, 16, 7, 0 }, { -3, 37, -173, 16, 7, 0 }, { -2, 37, -174, 16, 7, 0 }, { -2, 37, -175, 16, 7, 0 }, + { -1, 37, -176, 16, 7, 0 }, { 0, 37, -177, 16, 7, 0 }, { 0, 37, -178, 16, 7, 0 }, { 1, 37, -179, 16, 7, 0 }, { 2, 38, -180, 16, 7, 0 }, + { 3, 38, -181, 16, 7, 0 }, { 3, 38, -182, 16, 7, 0 }, { 4, 38, -183, 16, 7, 0 }, { 5, 38, -184, 16, 7, 0 }, { 5, 38, -185, 16, 7, 0 }, + { 6, 38, -186, 16, 7, 0 }, { 7, 38, -187, 16, 7, 0 }, { 7, 38, -188, 16, 7, 0 }, { 8, 38, -189, 16, 7, 0 }, { 9, 39, -190, 16, 7, 0 }, + { 10, 39, -191, 16, 7, 0 }, { 11, 39, -192, 16, 7, 0 }, { 12, 39, -193, 16, 7, 0 }, { 13, 39, -194, 16, 7, 0 }, { 14, 39, -195, 16, 7, 0 }, + { 14, 39, -196, 16, 7, 0 }, { 15, 39, -197, 16, 7, 0 }, { 16, 39, -198, 16, 7, 0 }, { 17, 39, -199, 16, 7, 0 }, { 18, 40, -200, 16, 7, 0 }, + { 19, 40, -201, 16, 7, 0 }, { 20, 40, -202, 16, 7, 0 }, { 21, 40, -203, 16, 7, 0 }, { 22, 40, -204, 16, 7, 0 }, { 23, 40, -205, 16, 7, 0 }, + { 24, 40, -206, 16, 7, 0 }, { 25, 40, -206, 16, 7, 0 }, { 26, 40, -207, 16, 7, 0 }, { 27, 41, -208, 16, 7, 0 }, { 28, 41, -209, 16, 7, 0 }, + { 29, 41, -210, 16, 7, 0 }, { 30, 41, -211, 16, 7, 0 }, { 31, 41, -212, 16, 7, 0 }, { 32, 41, -212, 16, 7, 0 }, { 33, 41, -213, 16, 7, 0 }, + { 34, 41, -214, 16, 6, 0 }, { 35, 41, -215, 16, 6, 0 }, { 36, 41, -215, 16, 6, 0 }, { 37, 42, -216, 16, 6, 0 }, { 38, 42, -217, 16, 6, 0 }, + { 39, 42, -218, 16, 6, 0 }, { 40, 42, -218, 16, 6, 0 }, { 41, 42, -219, 16, 6, 0 }, { 42, 42, -220, 16, 6, 0 }, { 43, 42, -221, 16, 6, 0 }, + { 44, 42, -221, 16, 6, 0 }, { 45, 42, -222, 16, 6, 0 }, { 46, 42, -223, 16, 6, 0 }, { 47, 43, -223, 16, 6, 0 }, { 48, 43, -224, 16, 6, 0 }, + { 49, 43, -224, 16, 6, 0 }, { 50, 43, -225, 16, 6, 0 }, { 51, 43, -226, 16, 6, 0 }, { 52, 43, -226, 16, 6, 0 }, { 53, 43, -227, 16, 6, 0 }, + { 54, 43, -227, 16, 6, 0 }, { 55, 43, -228, 16, 6, 0 }, { 56, 43, -229, 16, 6, 0 }, { 57, 44, -229, 16, 6, 0 }, { 58, 44, -230, 16, 6, 0 }, + { 59, 44, -230, 16, 6, 0 }, { 60, 44, -231, 16, 6, 0 }, { 61, 44, -231, 16, 6, 0 }, { 62, 44, -232, 16, 6, 0 }, { 63, 44, -232, 16, 6, 0 }, + { 64, 44, -233, 16, 6, 0 }, { 65, 44, -233, 16, 6, 0 }, { 66, 45, -234, 16, 6, 0 }, { 67, 45, -234, 16, 6, 0 }, { 68, 45, -235, 16, 6, 0 }, + { 69, 45, -235, 16, 6, 0 }, { 70, 45, -236, 16, 6, 0 }, { 71, 45, -236, 16, 6, 0 }, { 72, 45, -237, 16, 6, 0 }, { 73, 45, -237, 16, 6, 0 }, + { 74, 45, -238, 16, 6, 0 }, { 75, 45, -238, 16, 6, 0 }, { 76, 46, -239, 16, 6, 0 }, { 77, 46, -239, 16, 6, 0 }, { 78, 46, -240, 16, 6, 0 }, + { 79, 46, -240, 16, 6, 0 }, { 80, 46, -241, 16, 6, 0 }, { 81, 46, -241, 16, 6, 0 }, { 82, 46, -242, 16, 6, 0 }, { 83, 46, -242, 16, 6, 0 }, + { 84, 46, -243, 16, 6, 0 }, { 85, 46, -243, 16, 6, 0 }, { 86, 47, -244, 16, 6, 0 }, { 87, 47, -244, 16, 6, 0 }, { 88, 47, -245, 16, 6, 0 }, + { 89, 47, -245, 16, 6, 0 }, { 90, 47, -246, 16, 6, 0 }, { 91, 47, -246, 16, 6, 0 }, { 92, 47, -247, 16, 6, 0 }, { 93, 47, -247, 16, 6, 0 }, + { 94, 47, -248, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_929A70 = { - 311, { - { 16, 0, 16, 24, 16, 0 }, { 16, 1, 16, 24, 16, 0 }, { 16, 2, 16, 24, 16, 0 }, { 16, 3, 16, 24, 16, 0 }, { 16, 4, 16, 24, 16, 0 }, - { 16, 5, 16, 24, 16, 0 }, { 16, 6, 16, 24, 16, 0 }, { 16, 7, 16, 24, 16, 0 }, { 16, 8, 15, 24, 16, 0 }, { 16, 9, 15, 24, 16, 0 }, - { 17, 10, 15, 24, 16, 0 }, { 17, 11, 15, 24, 16, 0 }, { 17, 12, 14, 24, 16, 0 }, { 17, 13, 14, 24, 16, 0 }, { 17, 14, 14, 24, 16, 0 }, - { 17, 15, 13, 24, 23, 0 }, { 17, 16, 13, 24, 23, 0 }, { 17, 17, 12, 24, 23, 0 }, { 17, 18, 12, 24, 23, 0 }, { 17, 19, 11, 24, 23, 0 }, - { 18, 20, 11, 24, 23, 0 }, { 18, 21, 10, 24, 23, 0 }, { 18, 22, 10, 24, 23, 0 }, { 18, 23, 9, 24, 23, 0 }, { 18, 24, 8, 24, 23, 0 }, - { 18, 25, 8, 24, 23, 0 }, { 18, 26, 7, 24, 23, 0 }, { 18, 27, 6, 24, 23, 0 }, { 18, 28, 5, 24, 23, 0 }, { 18, 29, 5, 24, 23, 0 }, - { 19, 30, 4, 24, 22, 0 }, { 19, 31, 3, 24, 22, 0 }, { 19, 32, 2, 24, 22, 0 }, { 19, 33, 1, 24, 22, 0 }, { 19, 34, 0, 24, 22, 0 }, - { 19, 35, -1, 24, 22, 0 }, { 19, 36, -2, 24, 22, 0 }, { 19, 37, -3, 24, 22, 0 }, { 19, 38, -4, 24, 22, 0 }, { 20, 39, -5, 24, 22, 0 }, - { 20, 40, -6, 24, 22, 0 }, { 20, 40, -7, 24, 22, 0 }, { 20, 41, -8, 24, 22, 0 }, { 20, 42, -9, 24, 21, 0 }, { 20, 43, -10, 24, 21, 0 }, - { 20, 43, -11, 24, 21, 0 }, { 20, 44, -12, 24, 21, 0 }, { 20, 45, -13, 24, 21, 0 }, { 20, 45, -14, 24, 21, 0 }, { 21, 46, -15, 24, 21, 0 }, - { 21, 47, -16, 24, 21, 0 }, { 21, 47, -17, 24, 21, 0 }, { 21, 48, -18, 24, 21, 0 }, { 21, 48, -19, 24, 21, 0 }, { 21, 49, -20, 24, 21, 0 }, - { 21, 49, -21, 24, 21, 0 }, { 21, 50, -22, 24, 21, 0 }, { 21, 50, -23, 24, 21, 0 }, { 21, 51, -24, 24, 20, 0 }, { 22, 51, -25, 24, 20, 0 }, - { 22, 52, -26, 24, 20, 0 }, { 22, 52, -27, 24, 20, 0 }, { 22, 53, -28, 24, 20, 0 }, { 22, 53, -29, 24, 20, 0 }, { 22, 53, -30, 24, 20, 0 }, - { 22, 54, -31, 24, 20, 0 }, { 22, 54, -32, 24, 20, 0 }, { 22, 54, -33, 24, 20, 0 }, { 22, 55, -34, 24, 20, 0 }, { 23, 55, -35, 24, 20, 0 }, - { 23, 56, -36, 24, 20, 0 }, { 23, 56, -37, 24, 20, 0 }, { 23, 56, -38, 24, 20, 0 }, { 23, 57, -39, 24, 19, 0 }, { 23, 57, -40, 24, 19, 0 }, - { 23, 57, -41, 24, 19, 0 }, { 23, 57, -42, 24, 19, 0 }, { 23, 58, -43, 24, 19, 0 }, { 24, 58, -44, 24, 19, 0 }, { 24, 58, -45, 24, 19, 0 }, - { 24, 58, -46, 24, 19, 0 }, { 24, 59, -47, 24, 19, 0 }, { 24, 59, -48, 24, 19, 0 }, { 24, 59, -49, 24, 19, 0 }, { 24, 59, -50, 24, 19, 0 }, - { 24, 59, -51, 24, 19, 0 }, { 24, 59, -52, 24, 19, 0 }, { 24, 60, -53, 24, 19, 0 }, { 25, 60, -54, 24, 19, 0 }, { 25, 60, -55, 24, 19, 0 }, - { 25, 60, -56, 24, 19, 0 }, { 25, 60, -57, 24, 19, 0 }, { 25, 60, -58, 24, 19, 0 }, { 25, 60, -59, 24, 19, 0 }, { 25, 60, -60, 24, 19, 0 }, - { 25, 61, -61, 24, 19, 0 }, { 25, 61, -62, 24, 19, 0 }, { 25, 61, -63, 24, 18, 0 }, { 26, 61, -64, 24, 18, 0 }, { 26, 61, -65, 24, 18, 0 }, - { 26, 61, -66, 24, 18, 0 }, { 26, 61, -67, 24, 18, 0 }, { 26, 61, -68, 24, 18, 0 }, { 26, 61, -69, 24, 18, 0 }, { 26, 61, -70, 24, 18, 0 }, - { 26, 61, -71, 24, 18, 0 }, { 26, 61, -72, 24, 18, 0 }, { 27, 61, -73, 24, 18, 0 }, { 27, 61, -74, 24, 18, 0 }, { 27, 61, -75, 24, 18, 0 }, - { 27, 61, -76, 24, 18, 0 }, { 27, 61, -77, 24, 18, 0 }, { 27, 61, -78, 24, 18, 0 }, { 27, 61, -79, 24, 18, 0 }, { 27, 61, -80, 24, 18, 0 }, - { 27, 61, -81, 24, 18, 0 }, { 27, 61, -82, 24, 18, 0 }, { 28, 61, -83, 24, 18, 0 }, { 28, 61, -84, 24, 18, 0 }, { 28, 61, -85, 24, 18, 0 }, - { 28, 61, -86, 24, 18, 0 }, { 28, 61, -87, 24, 18, 0 }, { 28, 61, -88, 24, 18, 0 }, { 28, 61, -89, 24, 18, 0 }, { 28, 61, -90, 24, 18, 0 }, - { 28, 61, -91, 24, 18, 0 }, { 28, 61, -92, 24, 18, 0 }, { 29, 61, -93, 24, 18, 0 }, { 29, 61, -94, 24, 18, 0 }, { 29, 61, -95, 24, 18, 0 }, - { 29, 61, -96, 24, 18, 0 }, { 29, 61, -97, 24, 18, 0 }, { 29, 61, -98, 24, 18, 0 }, { 29, 61, -99, 24, 18, 0 }, { 29, 61, -100, 24, 17, 0 }, - { 29, 61, -101, 24, 17, 0 }, { 29, 60, -102, 24, 17, 0 }, { 30, 60, -103, 24, 17, 0 }, { 30, 60, -104, 24, 17, 0 }, { 30, 60, -105, 24, 17, 0 }, - { 30, 60, -106, 24, 17, 0 }, { 30, 60, -107, 24, 17, 0 }, { 30, 59, -108, 24, 17, 0 }, { 30, 59, -109, 24, 17, 0 }, { 30, 59, -110, 24, 17, 0 }, - { 30, 59, -111, 24, 17, 0 }, { 31, 59, -112, 24, 17, 0 }, { 31, 59, -113, 24, 17, 0 }, { 31, 58, -114, 24, 17, 0 }, { 31, 58, -115, 24, 17, 0 }, - { 31, 58, -116, 24, 17, 0 }, { 31, 58, -117, 24, 17, 0 }, { 31, 58, -118, 24, 17, 0 }, { 31, 57, -119, 24, 17, 0 }, { 31, 57, -120, 24, 17, 0 }, - { 31, 57, -121, 24, 17, 0 }, { 32, 57, -122, 24, 17, 0 }, { 32, 56, -123, 24, 17, 0 }, { 32, 56, -124, 24, 17, 0 }, { 32, 56, -125, 24, 17, 0 }, - { 32, 55, -126, 24, 17, 0 }, { 32, 55, -127, 24, 17, 0 }, { 32, 55, -128, 24, 17, 0 }, { 32, 54, -129, 24, 17, 0 }, { 32, 54, -130, 24, 17, 0 }, - { 32, 54, -131, 24, 17, 0 }, { 33, 54, -132, 24, 17, 0 }, { 33, 53, -133, 24, 8, 0 }, { 33, 53, -134, 24, 8, 0 }, { 33, 53, -135, 24, 8, 0 }, - { 33, 52, -136, 24, 8, 0 }, { 33, 52, -137, 24, 8, 0 }, { 33, 51, -138, 24, 8, 0 }, { 33, 51, -139, 24, 8, 0 }, { 33, 50, -140, 24, 8, 0 }, - { 34, 50, -141, 24, 8, 0 }, { 34, 50, -142, 24, 8, 0 }, { 34, 49, -143, 24, 8, 0 }, { 34, 49, -144, 24, 8, 0 }, { 34, 48, -145, 24, 8, 0 }, - { 34, 48, -146, 24, 8, 0 }, { 34, 48, -147, 24, 8, 0 }, { 34, 47, -148, 24, 8, 0 }, { 34, 47, -149, 24, 8, 0 }, { 34, 46, -150, 24, 8, 0 }, - { 35, 46, -151, 24, 8, 0 }, { 35, 45, -152, 24, 8, 0 }, { 35, 45, -153, 24, 8, 0 }, { 35, 45, -154, 24, 8, 0 }, { 35, 44, -155, 24, 8, 0 }, - { 35, 44, -156, 24, 8, 0 }, { 35, 43, -157, 24, 8, 0 }, { 35, 43, -158, 24, 8, 0 }, { 35, 42, -159, 24, 8, 0 }, { 35, 42, -160, 24, 8, 0 }, - { 36, 41, -161, 24, 8, 0 }, { 36, 41, -162, 24, 8, 0 }, { 36, 40, -163, 24, 8, 0 }, { 36, 39, -164, 24, 8, 0 }, { 36, 39, -165, 24, 8, 0 }, - { 36, 38, -166, 24, 8, 0 }, { 36, 38, -167, 24, 8, 0 }, { 36, 37, -168, 24, 8, 0 }, { 36, 36, -169, 24, 7, 0 }, { 36, 36, -170, 24, 7, 0 }, - { 37, 35, -171, 24, 7, 0 }, { 37, 35, -172, 24, 7, 0 }, { 37, 34, -173, 24, 7, 0 }, { 37, 33, -174, 24, 7, 0 }, { 37, 33, -175, 24, 7, 0 }, - { 37, 32, -176, 24, 7, 0 }, { 37, 31, -177, 24, 7, 0 }, { 37, 31, -178, 24, 7, 0 }, { 37, 30, -179, 24, 7, 0 }, { 38, 29, -180, 24, 7, 0 }, - { 38, 28, -181, 24, 7, 0 }, { 38, 28, -182, 24, 7, 0 }, { 38, 27, -183, 24, 7, 0 }, { 38, 26, -184, 24, 7, 0 }, { 38, 26, -185, 24, 7, 0 }, - { 38, 25, -186, 24, 7, 0 }, { 38, 24, -187, 24, 7, 0 }, { 38, 24, -188, 24, 7, 0 }, { 38, 23, -189, 24, 7, 0 }, { 39, 22, -190, 24, 7, 0 }, - { 39, 21, -191, 24, 7, 0 }, { 39, 20, -192, 24, 7, 0 }, { 39, 19, -193, 24, 7, 0 }, { 39, 18, -194, 24, 7, 0 }, { 39, 17, -195, 24, 7, 0 }, - { 39, 17, -196, 24, 7, 0 }, { 39, 16, -197, 24, 7, 0 }, { 39, 15, -198, 24, 7, 0 }, { 39, 14, -199, 24, 7, 0 }, { 40, 13, -200, 24, 7, 0 }, - { 40, 12, -201, 24, 7, 0 }, { 40, 11, -202, 24, 7, 0 }, { 40, 10, -203, 24, 7, 0 }, { 40, 9, -204, 24, 7, 0 }, { 40, 8, -205, 24, 7, 0 }, - { 40, 7, -206, 24, 7, 0 }, { 40, 6, -206, 24, 7, 0 }, { 40, 5, -207, 24, 7, 0 }, { 41, 4, -208, 24, 7, 0 }, { 41, 3, -209, 24, 7, 0 }, - { 41, 2, -210, 24, 7, 0 }, { 41, 1, -211, 24, 7, 0 }, { 41, 0, -212, 24, 7, 0 }, { 41, -1, -212, 24, 7, 0 }, { 41, -2, -213, 24, 7, 0 }, - { 41, -3, -214, 24, 6, 0 }, { 41, -4, -215, 24, 6, 0 }, { 41, -5, -215, 24, 6, 0 }, { 42, -6, -216, 24, 6, 0 }, { 42, -7, -217, 24, 6, 0 }, - { 42, -8, -218, 24, 6, 0 }, { 42, -9, -218, 24, 6, 0 }, { 42, -10, -219, 24, 6, 0 }, { 42, -11, -220, 24, 6, 0 }, { 42, -12, -221, 24, 6, 0 }, - { 42, -13, -221, 24, 6, 0 }, { 42, -14, -222, 24, 6, 0 }, { 42, -15, -223, 24, 6, 0 }, { 43, -16, -223, 24, 6, 0 }, { 43, -17, -224, 24, 6, 0 }, - { 43, -18, -224, 24, 6, 0 }, { 43, -19, -225, 24, 6, 0 }, { 43, -20, -226, 24, 6, 0 }, { 43, -21, -226, 24, 6, 0 }, { 43, -22, -227, 24, 6, 0 }, - { 43, -23, -227, 24, 6, 0 }, { 43, -24, -228, 24, 6, 0 }, { 43, -25, -229, 24, 6, 0 }, { 44, -26, -229, 24, 6, 0 }, { 44, -27, -230, 24, 6, 0 }, - { 44, -28, -230, 24, 6, 0 }, { 44, -29, -231, 24, 6, 0 }, { 44, -30, -231, 24, 6, 0 }, { 44, -31, -232, 24, 6, 0 }, { 44, -32, -232, 24, 6, 0 }, - { 44, -33, -233, 24, 6, 0 }, { 44, -34, -233, 24, 6, 0 }, { 45, -35, -234, 24, 6, 0 }, { 45, -36, -234, 24, 6, 0 }, { 45, -37, -235, 24, 6, 0 }, - { 45, -38, -235, 24, 6, 0 }, { 45, -39, -236, 24, 6, 0 }, { 45, -40, -236, 24, 6, 0 }, { 45, -41, -237, 24, 6, 0 }, { 45, -42, -237, 24, 6, 0 }, - { 45, -43, -238, 24, 6, 0 }, { 45, -44, -238, 24, 6, 0 }, { 46, -45, -239, 24, 6, 0 }, { 46, -46, -239, 24, 6, 0 }, { 46, -47, -240, 24, 6, 0 }, - { 46, -48, -240, 24, 6, 0 }, { 46, -49, -241, 24, 6, 0 }, { 46, -50, -241, 24, 6, 0 }, { 46, -51, -242, 24, 6, 0 }, { 46, -52, -242, 24, 6, 0 }, - { 46, -53, -243, 24, 6, 0 }, { 46, -54, -243, 24, 6, 0 }, { 47, -55, -244, 24, 6, 0 }, { 47, -56, -244, 24, 6, 0 }, { 47, -57, -245, 24, 6, 0 }, - { 47, -58, -245, 24, 6, 0 }, { 47, -59, -246, 24, 6, 0 }, { 47, -60, -246, 24, 6, 0 }, { 47, -61, -247, 24, 6, 0 }, { 47, -62, -247, 24, 6, 0 }, - { 47, -63, -248, 24, 6, 0 }, + 311, { + { 16, 0, 16, 24, 16, 0 }, { 16, 1, 16, 24, 16, 0 }, { 16, 2, 16, 24, 16, 0 }, { 16, 3, 16, 24, 16, 0 }, { 16, 4, 16, 24, 16, 0 }, + { 16, 5, 16, 24, 16, 0 }, { 16, 6, 16, 24, 16, 0 }, { 16, 7, 16, 24, 16, 0 }, { 16, 8, 15, 24, 16, 0 }, { 16, 9, 15, 24, 16, 0 }, + { 17, 10, 15, 24, 16, 0 }, { 17, 11, 15, 24, 16, 0 }, { 17, 12, 14, 24, 16, 0 }, { 17, 13, 14, 24, 16, 0 }, { 17, 14, 14, 24, 16, 0 }, + { 17, 15, 13, 24, 23, 0 }, { 17, 16, 13, 24, 23, 0 }, { 17, 17, 12, 24, 23, 0 }, { 17, 18, 12, 24, 23, 0 }, { 17, 19, 11, 24, 23, 0 }, + { 18, 20, 11, 24, 23, 0 }, { 18, 21, 10, 24, 23, 0 }, { 18, 22, 10, 24, 23, 0 }, { 18, 23, 9, 24, 23, 0 }, { 18, 24, 8, 24, 23, 0 }, + { 18, 25, 8, 24, 23, 0 }, { 18, 26, 7, 24, 23, 0 }, { 18, 27, 6, 24, 23, 0 }, { 18, 28, 5, 24, 23, 0 }, { 18, 29, 5, 24, 23, 0 }, + { 19, 30, 4, 24, 22, 0 }, { 19, 31, 3, 24, 22, 0 }, { 19, 32, 2, 24, 22, 0 }, { 19, 33, 1, 24, 22, 0 }, { 19, 34, 0, 24, 22, 0 }, + { 19, 35, -1, 24, 22, 0 }, { 19, 36, -2, 24, 22, 0 }, { 19, 37, -3, 24, 22, 0 }, { 19, 38, -4, 24, 22, 0 }, { 20, 39, -5, 24, 22, 0 }, + { 20, 40, -6, 24, 22, 0 }, { 20, 40, -7, 24, 22, 0 }, { 20, 41, -8, 24, 22, 0 }, { 20, 42, -9, 24, 21, 0 }, { 20, 43, -10, 24, 21, 0 }, + { 20, 43, -11, 24, 21, 0 }, { 20, 44, -12, 24, 21, 0 }, { 20, 45, -13, 24, 21, 0 }, { 20, 45, -14, 24, 21, 0 }, { 21, 46, -15, 24, 21, 0 }, + { 21, 47, -16, 24, 21, 0 }, { 21, 47, -17, 24, 21, 0 }, { 21, 48, -18, 24, 21, 0 }, { 21, 48, -19, 24, 21, 0 }, { 21, 49, -20, 24, 21, 0 }, + { 21, 49, -21, 24, 21, 0 }, { 21, 50, -22, 24, 21, 0 }, { 21, 50, -23, 24, 21, 0 }, { 21, 51, -24, 24, 20, 0 }, { 22, 51, -25, 24, 20, 0 }, + { 22, 52, -26, 24, 20, 0 }, { 22, 52, -27, 24, 20, 0 }, { 22, 53, -28, 24, 20, 0 }, { 22, 53, -29, 24, 20, 0 }, { 22, 53, -30, 24, 20, 0 }, + { 22, 54, -31, 24, 20, 0 }, { 22, 54, -32, 24, 20, 0 }, { 22, 54, -33, 24, 20, 0 }, { 22, 55, -34, 24, 20, 0 }, { 23, 55, -35, 24, 20, 0 }, + { 23, 56, -36, 24, 20, 0 }, { 23, 56, -37, 24, 20, 0 }, { 23, 56, -38, 24, 20, 0 }, { 23, 57, -39, 24, 19, 0 }, { 23, 57, -40, 24, 19, 0 }, + { 23, 57, -41, 24, 19, 0 }, { 23, 57, -42, 24, 19, 0 }, { 23, 58, -43, 24, 19, 0 }, { 24, 58, -44, 24, 19, 0 }, { 24, 58, -45, 24, 19, 0 }, + { 24, 58, -46, 24, 19, 0 }, { 24, 59, -47, 24, 19, 0 }, { 24, 59, -48, 24, 19, 0 }, { 24, 59, -49, 24, 19, 0 }, { 24, 59, -50, 24, 19, 0 }, + { 24, 59, -51, 24, 19, 0 }, { 24, 59, -52, 24, 19, 0 }, { 24, 60, -53, 24, 19, 0 }, { 25, 60, -54, 24, 19, 0 }, { 25, 60, -55, 24, 19, 0 }, + { 25, 60, -56, 24, 19, 0 }, { 25, 60, -57, 24, 19, 0 }, { 25, 60, -58, 24, 19, 0 }, { 25, 60, -59, 24, 19, 0 }, { 25, 60, -60, 24, 19, 0 }, + { 25, 61, -61, 24, 19, 0 }, { 25, 61, -62, 24, 19, 0 }, { 25, 61, -63, 24, 18, 0 }, { 26, 61, -64, 24, 18, 0 }, { 26, 61, -65, 24, 18, 0 }, + { 26, 61, -66, 24, 18, 0 }, { 26, 61, -67, 24, 18, 0 }, { 26, 61, -68, 24, 18, 0 }, { 26, 61, -69, 24, 18, 0 }, { 26, 61, -70, 24, 18, 0 }, + { 26, 61, -71, 24, 18, 0 }, { 26, 61, -72, 24, 18, 0 }, { 27, 61, -73, 24, 18, 0 }, { 27, 61, -74, 24, 18, 0 }, { 27, 61, -75, 24, 18, 0 }, + { 27, 61, -76, 24, 18, 0 }, { 27, 61, -77, 24, 18, 0 }, { 27, 61, -78, 24, 18, 0 }, { 27, 61, -79, 24, 18, 0 }, { 27, 61, -80, 24, 18, 0 }, + { 27, 61, -81, 24, 18, 0 }, { 27, 61, -82, 24, 18, 0 }, { 28, 61, -83, 24, 18, 0 }, { 28, 61, -84, 24, 18, 0 }, { 28, 61, -85, 24, 18, 0 }, + { 28, 61, -86, 24, 18, 0 }, { 28, 61, -87, 24, 18, 0 }, { 28, 61, -88, 24, 18, 0 }, { 28, 61, -89, 24, 18, 0 }, { 28, 61, -90, 24, 18, 0 }, + { 28, 61, -91, 24, 18, 0 }, { 28, 61, -92, 24, 18, 0 }, { 29, 61, -93, 24, 18, 0 }, { 29, 61, -94, 24, 18, 0 }, { 29, 61, -95, 24, 18, 0 }, + { 29, 61, -96, 24, 18, 0 }, { 29, 61, -97, 24, 18, 0 }, { 29, 61, -98, 24, 18, 0 }, { 29, 61, -99, 24, 18, 0 }, { 29, 61, -100, 24, 17, 0 }, + { 29, 61, -101, 24, 17, 0 }, { 29, 60, -102, 24, 17, 0 }, { 30, 60, -103, 24, 17, 0 }, { 30, 60, -104, 24, 17, 0 }, { 30, 60, -105, 24, 17, 0 }, + { 30, 60, -106, 24, 17, 0 }, { 30, 60, -107, 24, 17, 0 }, { 30, 59, -108, 24, 17, 0 }, { 30, 59, -109, 24, 17, 0 }, { 30, 59, -110, 24, 17, 0 }, + { 30, 59, -111, 24, 17, 0 }, { 31, 59, -112, 24, 17, 0 }, { 31, 59, -113, 24, 17, 0 }, { 31, 58, -114, 24, 17, 0 }, { 31, 58, -115, 24, 17, 0 }, + { 31, 58, -116, 24, 17, 0 }, { 31, 58, -117, 24, 17, 0 }, { 31, 58, -118, 24, 17, 0 }, { 31, 57, -119, 24, 17, 0 }, { 31, 57, -120, 24, 17, 0 }, + { 31, 57, -121, 24, 17, 0 }, { 32, 57, -122, 24, 17, 0 }, { 32, 56, -123, 24, 17, 0 }, { 32, 56, -124, 24, 17, 0 }, { 32, 56, -125, 24, 17, 0 }, + { 32, 55, -126, 24, 17, 0 }, { 32, 55, -127, 24, 17, 0 }, { 32, 55, -128, 24, 17, 0 }, { 32, 54, -129, 24, 17, 0 }, { 32, 54, -130, 24, 17, 0 }, + { 32, 54, -131, 24, 17, 0 }, { 33, 54, -132, 24, 17, 0 }, { 33, 53, -133, 24, 8, 0 }, { 33, 53, -134, 24, 8, 0 }, { 33, 53, -135, 24, 8, 0 }, + { 33, 52, -136, 24, 8, 0 }, { 33, 52, -137, 24, 8, 0 }, { 33, 51, -138, 24, 8, 0 }, { 33, 51, -139, 24, 8, 0 }, { 33, 50, -140, 24, 8, 0 }, + { 34, 50, -141, 24, 8, 0 }, { 34, 50, -142, 24, 8, 0 }, { 34, 49, -143, 24, 8, 0 }, { 34, 49, -144, 24, 8, 0 }, { 34, 48, -145, 24, 8, 0 }, + { 34, 48, -146, 24, 8, 0 }, { 34, 48, -147, 24, 8, 0 }, { 34, 47, -148, 24, 8, 0 }, { 34, 47, -149, 24, 8, 0 }, { 34, 46, -150, 24, 8, 0 }, + { 35, 46, -151, 24, 8, 0 }, { 35, 45, -152, 24, 8, 0 }, { 35, 45, -153, 24, 8, 0 }, { 35, 45, -154, 24, 8, 0 }, { 35, 44, -155, 24, 8, 0 }, + { 35, 44, -156, 24, 8, 0 }, { 35, 43, -157, 24, 8, 0 }, { 35, 43, -158, 24, 8, 0 }, { 35, 42, -159, 24, 8, 0 }, { 35, 42, -160, 24, 8, 0 }, + { 36, 41, -161, 24, 8, 0 }, { 36, 41, -162, 24, 8, 0 }, { 36, 40, -163, 24, 8, 0 }, { 36, 39, -164, 24, 8, 0 }, { 36, 39, -165, 24, 8, 0 }, + { 36, 38, -166, 24, 8, 0 }, { 36, 38, -167, 24, 8, 0 }, { 36, 37, -168, 24, 8, 0 }, { 36, 36, -169, 24, 7, 0 }, { 36, 36, -170, 24, 7, 0 }, + { 37, 35, -171, 24, 7, 0 }, { 37, 35, -172, 24, 7, 0 }, { 37, 34, -173, 24, 7, 0 }, { 37, 33, -174, 24, 7, 0 }, { 37, 33, -175, 24, 7, 0 }, + { 37, 32, -176, 24, 7, 0 }, { 37, 31, -177, 24, 7, 0 }, { 37, 31, -178, 24, 7, 0 }, { 37, 30, -179, 24, 7, 0 }, { 38, 29, -180, 24, 7, 0 }, + { 38, 28, -181, 24, 7, 0 }, { 38, 28, -182, 24, 7, 0 }, { 38, 27, -183, 24, 7, 0 }, { 38, 26, -184, 24, 7, 0 }, { 38, 26, -185, 24, 7, 0 }, + { 38, 25, -186, 24, 7, 0 }, { 38, 24, -187, 24, 7, 0 }, { 38, 24, -188, 24, 7, 0 }, { 38, 23, -189, 24, 7, 0 }, { 39, 22, -190, 24, 7, 0 }, + { 39, 21, -191, 24, 7, 0 }, { 39, 20, -192, 24, 7, 0 }, { 39, 19, -193, 24, 7, 0 }, { 39, 18, -194, 24, 7, 0 }, { 39, 17, -195, 24, 7, 0 }, + { 39, 17, -196, 24, 7, 0 }, { 39, 16, -197, 24, 7, 0 }, { 39, 15, -198, 24, 7, 0 }, { 39, 14, -199, 24, 7, 0 }, { 40, 13, -200, 24, 7, 0 }, + { 40, 12, -201, 24, 7, 0 }, { 40, 11, -202, 24, 7, 0 }, { 40, 10, -203, 24, 7, 0 }, { 40, 9, -204, 24, 7, 0 }, { 40, 8, -205, 24, 7, 0 }, + { 40, 7, -206, 24, 7, 0 }, { 40, 6, -206, 24, 7, 0 }, { 40, 5, -207, 24, 7, 0 }, { 41, 4, -208, 24, 7, 0 }, { 41, 3, -209, 24, 7, 0 }, + { 41, 2, -210, 24, 7, 0 }, { 41, 1, -211, 24, 7, 0 }, { 41, 0, -212, 24, 7, 0 }, { 41, -1, -212, 24, 7, 0 }, { 41, -2, -213, 24, 7, 0 }, + { 41, -3, -214, 24, 6, 0 }, { 41, -4, -215, 24, 6, 0 }, { 41, -5, -215, 24, 6, 0 }, { 42, -6, -216, 24, 6, 0 }, { 42, -7, -217, 24, 6, 0 }, + { 42, -8, -218, 24, 6, 0 }, { 42, -9, -218, 24, 6, 0 }, { 42, -10, -219, 24, 6, 0 }, { 42, -11, -220, 24, 6, 0 }, { 42, -12, -221, 24, 6, 0 }, + { 42, -13, -221, 24, 6, 0 }, { 42, -14, -222, 24, 6, 0 }, { 42, -15, -223, 24, 6, 0 }, { 43, -16, -223, 24, 6, 0 }, { 43, -17, -224, 24, 6, 0 }, + { 43, -18, -224, 24, 6, 0 }, { 43, -19, -225, 24, 6, 0 }, { 43, -20, -226, 24, 6, 0 }, { 43, -21, -226, 24, 6, 0 }, { 43, -22, -227, 24, 6, 0 }, + { 43, -23, -227, 24, 6, 0 }, { 43, -24, -228, 24, 6, 0 }, { 43, -25, -229, 24, 6, 0 }, { 44, -26, -229, 24, 6, 0 }, { 44, -27, -230, 24, 6, 0 }, + { 44, -28, -230, 24, 6, 0 }, { 44, -29, -231, 24, 6, 0 }, { 44, -30, -231, 24, 6, 0 }, { 44, -31, -232, 24, 6, 0 }, { 44, -32, -232, 24, 6, 0 }, + { 44, -33, -233, 24, 6, 0 }, { 44, -34, -233, 24, 6, 0 }, { 45, -35, -234, 24, 6, 0 }, { 45, -36, -234, 24, 6, 0 }, { 45, -37, -235, 24, 6, 0 }, + { 45, -38, -235, 24, 6, 0 }, { 45, -39, -236, 24, 6, 0 }, { 45, -40, -236, 24, 6, 0 }, { 45, -41, -237, 24, 6, 0 }, { 45, -42, -237, 24, 6, 0 }, + { 45, -43, -238, 24, 6, 0 }, { 45, -44, -238, 24, 6, 0 }, { 46, -45, -239, 24, 6, 0 }, { 46, -46, -239, 24, 6, 0 }, { 46, -47, -240, 24, 6, 0 }, + { 46, -48, -240, 24, 6, 0 }, { 46, -49, -241, 24, 6, 0 }, { 46, -50, -241, 24, 6, 0 }, { 46, -51, -242, 24, 6, 0 }, { 46, -52, -242, 24, 6, 0 }, + { 46, -53, -243, 24, 6, 0 }, { 46, -54, -243, 24, 6, 0 }, { 47, -55, -244, 24, 6, 0 }, { 47, -56, -244, 24, 6, 0 }, { 47, -57, -245, 24, 6, 0 }, + { 47, -58, -245, 24, 6, 0 }, { 47, -59, -246, 24, 6, 0 }, { 47, -60, -246, 24, 6, 0 }, { 47, -61, -247, 24, 6, 0 }, { 47, -62, -247, 24, 6, 0 }, + { 47, -63, -248, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92B064 = { - 311, { - { 0, 16, 16, 0, 16, 0 }, { 1, 16, 16, 0, 16, 0 }, { 2, 16, 16, 0, 16, 0 }, { 3, 16, 16, 0, 16, 0 }, { 4, 16, 16, 0, 16, 0 }, - { 5, 16, 16, 0, 16, 0 }, { 6, 16, 16, 0, 16, 0 }, { 7, 16, 16, 0, 16, 0 }, { 8, 16, 15, 0, 16, 0 }, { 9, 16, 15, 0, 16, 0 }, - { 10, 15, 15, 0, 16, 0 }, { 11, 15, 15, 0, 16, 0 }, { 12, 15, 14, 0, 16, 0 }, { 13, 15, 14, 0, 16, 0 }, { 14, 15, 14, 0, 16, 0 }, - { 15, 15, 13, 0, 23, 0 }, { 16, 15, 13, 0, 23, 0 }, { 17, 15, 12, 0, 23, 0 }, { 18, 15, 12, 0, 23, 0 }, { 19, 15, 11, 0, 23, 0 }, - { 20, 14, 11, 0, 23, 0 }, { 21, 14, 10, 0, 23, 0 }, { 22, 14, 10, 0, 23, 0 }, { 23, 14, 9, 0, 23, 0 }, { 24, 14, 8, 0, 23, 0 }, - { 25, 14, 8, 0, 23, 0 }, { 26, 14, 7, 0, 23, 0 }, { 27, 14, 6, 0, 23, 0 }, { 28, 14, 5, 0, 23, 0 }, { 29, 14, 5, 0, 23, 0 }, - { 30, 13, 4, 0, 22, 0 }, { 31, 13, 3, 0, 22, 0 }, { 32, 13, 2, 0, 22, 0 }, { 33, 13, 1, 0, 22, 0 }, { 34, 13, 0, 0, 22, 0 }, - { 35, 13, -1, 0, 22, 0 }, { 36, 13, -2, 0, 22, 0 }, { 37, 13, -3, 0, 22, 0 }, { 38, 13, -4, 0, 22, 0 }, { 39, 12, -5, 0, 22, 0 }, - { 40, 12, -6, 0, 22, 0 }, { 40, 12, -7, 0, 22, 0 }, { 41, 12, -8, 0, 22, 0 }, { 42, 12, -9, 0, 21, 0 }, { 43, 12, -10, 0, 21, 0 }, - { 43, 12, -11, 0, 21, 0 }, { 44, 12, -12, 0, 21, 0 }, { 45, 12, -13, 0, 21, 0 }, { 45, 12, -14, 0, 21, 0 }, { 46, 11, -15, 0, 21, 0 }, - { 47, 11, -16, 0, 21, 0 }, { 47, 11, -17, 0, 21, 0 }, { 48, 11, -18, 0, 21, 0 }, { 48, 11, -19, 0, 21, 0 }, { 49, 11, -20, 0, 21, 0 }, - { 49, 11, -21, 0, 21, 0 }, { 50, 11, -22, 0, 21, 0 }, { 50, 11, -23, 0, 21, 0 }, { 51, 11, -24, 0, 20, 0 }, { 51, 10, -25, 0, 20, 0 }, - { 52, 10, -26, 0, 20, 0 }, { 52, 10, -27, 0, 20, 0 }, { 53, 10, -28, 0, 20, 0 }, { 53, 10, -29, 0, 20, 0 }, { 53, 10, -30, 0, 20, 0 }, - { 54, 10, -31, 0, 20, 0 }, { 54, 10, -32, 0, 20, 0 }, { 54, 10, -33, 0, 20, 0 }, { 55, 10, -34, 0, 20, 0 }, { 55, 9, -35, 0, 20, 0 }, - { 56, 9, -36, 0, 20, 0 }, { 56, 9, -37, 0, 20, 0 }, { 56, 9, -38, 0, 20, 0 }, { 57, 9, -39, 0, 19, 0 }, { 57, 9, -40, 0, 19, 0 }, - { 57, 9, -41, 0, 19, 0 }, { 57, 9, -42, 0, 19, 0 }, { 58, 9, -43, 0, 19, 0 }, { 58, 8, -44, 0, 19, 0 }, { 58, 8, -45, 0, 19, 0 }, - { 58, 8, -46, 0, 19, 0 }, { 59, 8, -47, 0, 19, 0 }, { 59, 8, -48, 0, 19, 0 }, { 59, 8, -49, 0, 19, 0 }, { 59, 8, -50, 0, 19, 0 }, - { 59, 8, -51, 0, 19, 0 }, { 59, 8, -52, 0, 19, 0 }, { 60, 8, -53, 0, 19, 0 }, { 60, 7, -54, 0, 19, 0 }, { 60, 7, -55, 0, 19, 0 }, - { 60, 7, -56, 0, 19, 0 }, { 60, 7, -57, 0, 19, 0 }, { 60, 7, -58, 0, 19, 0 }, { 60, 7, -59, 0, 19, 0 }, { 60, 7, -60, 0, 19, 0 }, - { 61, 7, -61, 0, 19, 0 }, { 61, 7, -62, 0, 19, 0 }, { 61, 7, -63, 0, 18, 0 }, { 61, 6, -64, 0, 18, 0 }, { 61, 6, -65, 0, 18, 0 }, - { 61, 6, -66, 0, 18, 0 }, { 61, 6, -67, 0, 18, 0 }, { 61, 6, -68, 0, 18, 0 }, { 61, 6, -69, 0, 18, 0 }, { 61, 6, -70, 0, 18, 0 }, - { 61, 6, -71, 0, 18, 0 }, { 61, 6, -72, 0, 18, 0 }, { 61, 5, -73, 0, 18, 0 }, { 61, 5, -74, 0, 18, 0 }, { 61, 5, -75, 0, 18, 0 }, - { 61, 5, -76, 0, 18, 0 }, { 61, 5, -77, 0, 18, 0 }, { 61, 5, -78, 0, 18, 0 }, { 61, 5, -79, 0, 18, 0 }, { 61, 5, -80, 0, 18, 0 }, - { 61, 5, -81, 0, 18, 0 }, { 61, 5, -82, 0, 18, 0 }, { 61, 4, -83, 0, 18, 0 }, { 61, 4, -84, 0, 18, 0 }, { 61, 4, -85, 0, 18, 0 }, - { 61, 4, -86, 0, 18, 0 }, { 61, 4, -87, 0, 18, 0 }, { 61, 4, -88, 0, 18, 0 }, { 61, 4, -89, 0, 18, 0 }, { 61, 4, -90, 0, 18, 0 }, - { 61, 4, -91, 0, 18, 0 }, { 61, 4, -92, 0, 18, 0 }, { 61, 3, -93, 0, 18, 0 }, { 61, 3, -94, 0, 18, 0 }, { 61, 3, -95, 0, 18, 0 }, - { 61, 3, -96, 0, 18, 0 }, { 61, 3, -97, 0, 18, 0 }, { 61, 3, -98, 0, 18, 0 }, { 61, 3, -99, 0, 18, 0 }, { 61, 3, -100, 0, 17, 0 }, - { 61, 3, -101, 0, 17, 0 }, { 60, 3, -102, 0, 17, 0 }, { 60, 2, -103, 0, 17, 0 }, { 60, 2, -104, 0, 17, 0 }, { 60, 2, -105, 0, 17, 0 }, - { 60, 2, -106, 0, 17, 0 }, { 60, 2, -107, 0, 17, 0 }, { 59, 2, -108, 0, 17, 0 }, { 59, 2, -109, 0, 17, 0 }, { 59, 2, -110, 0, 17, 0 }, - { 59, 2, -111, 0, 17, 0 }, { 59, 1, -112, 0, 17, 0 }, { 59, 1, -113, 0, 17, 0 }, { 58, 1, -114, 0, 17, 0 }, { 58, 1, -115, 0, 17, 0 }, - { 58, 1, -116, 0, 17, 0 }, { 58, 1, -117, 0, 17, 0 }, { 58, 1, -118, 0, 17, 0 }, { 57, 1, -119, 0, 17, 0 }, { 57, 1, -120, 0, 17, 0 }, - { 57, 1, -121, 0, 17, 0 }, { 57, 0, -122, 0, 17, 0 }, { 56, 0, -123, 0, 17, 0 }, { 56, 0, -124, 0, 17, 0 }, { 56, 0, -125, 0, 17, 0 }, - { 55, 0, -126, 0, 17, 0 }, { 55, 0, -127, 0, 17, 0 }, { 55, 0, -128, 0, 17, 0 }, { 54, 0, -129, 0, 17, 0 }, { 54, 0, -130, 0, 17, 0 }, - { 54, 0, -131, 0, 17, 0 }, { 54, -1, -132, 0, 17, 0 }, { 53, -1, -133, 0, 8, 0 }, { 53, -1, -134, 0, 8, 0 }, { 53, -1, -135, 0, 8, 0 }, - { 52, -1, -136, 0, 8, 0 }, { 52, -1, -137, 0, 8, 0 }, { 51, -1, -138, 0, 8, 0 }, { 51, -1, -139, 0, 8, 0 }, { 50, -1, -140, 0, 8, 0 }, - { 50, -2, -141, 0, 8, 0 }, { 50, -2, -142, 0, 8, 0 }, { 49, -2, -143, 0, 8, 0 }, { 49, -2, -144, 0, 8, 0 }, { 48, -2, -145, 0, 8, 0 }, - { 48, -2, -146, 0, 8, 0 }, { 48, -2, -147, 0, 8, 0 }, { 47, -2, -148, 0, 8, 0 }, { 47, -2, -149, 0, 8, 0 }, { 46, -2, -150, 0, 8, 0 }, - { 46, -3, -151, 0, 8, 0 }, { 45, -3, -152, 0, 8, 0 }, { 45, -3, -153, 0, 8, 0 }, { 45, -3, -154, 0, 8, 0 }, { 44, -3, -155, 0, 8, 0 }, - { 44, -3, -156, 0, 8, 0 }, { 43, -3, -157, 0, 8, 0 }, { 43, -3, -158, 0, 8, 0 }, { 42, -3, -159, 0, 8, 0 }, { 42, -3, -160, 0, 8, 0 }, - { 41, -4, -161, 0, 8, 0 }, { 41, -4, -162, 0, 8, 0 }, { 40, -4, -163, 0, 8, 0 }, { 39, -4, -164, 0, 8, 0 }, { 39, -4, -165, 0, 8, 0 }, - { 38, -4, -166, 0, 8, 0 }, { 38, -4, -167, 0, 8, 0 }, { 37, -4, -168, 0, 8, 0 }, { 36, -4, -169, 0, 7, 0 }, { 36, -4, -170, 0, 7, 0 }, - { 35, -5, -171, 0, 7, 0 }, { 35, -5, -172, 0, 7, 0 }, { 34, -5, -173, 0, 7, 0 }, { 33, -5, -174, 0, 7, 0 }, { 33, -5, -175, 0, 7, 0 }, - { 32, -5, -176, 0, 7, 0 }, { 31, -5, -177, 0, 7, 0 }, { 31, -5, -178, 0, 7, 0 }, { 30, -5, -179, 0, 7, 0 }, { 29, -6, -180, 0, 7, 0 }, - { 28, -6, -181, 0, 7, 0 }, { 28, -6, -182, 0, 7, 0 }, { 27, -6, -183, 0, 7, 0 }, { 26, -6, -184, 0, 7, 0 }, { 26, -6, -185, 0, 7, 0 }, - { 25, -6, -186, 0, 7, 0 }, { 24, -6, -187, 0, 7, 0 }, { 24, -6, -188, 0, 7, 0 }, { 23, -6, -189, 0, 7, 0 }, { 22, -7, -190, 0, 7, 0 }, - { 21, -7, -191, 0, 7, 0 }, { 20, -7, -192, 0, 7, 0 }, { 19, -7, -193, 0, 7, 0 }, { 18, -7, -194, 0, 7, 0 }, { 17, -7, -195, 0, 7, 0 }, - { 17, -7, -196, 0, 7, 0 }, { 16, -7, -197, 0, 7, 0 }, { 15, -7, -198, 0, 7, 0 }, { 14, -7, -199, 0, 7, 0 }, { 13, -8, -200, 0, 7, 0 }, - { 12, -8, -201, 0, 7, 0 }, { 11, -8, -202, 0, 7, 0 }, { 10, -8, -203, 0, 7, 0 }, { 9, -8, -204, 0, 7, 0 }, { 8, -8, -205, 0, 7, 0 }, - { 7, -8, -206, 0, 7, 0 }, { 6, -8, -206, 0, 7, 0 }, { 5, -8, -207, 0, 7, 0 }, { 4, -9, -208, 0, 7, 0 }, { 3, -9, -209, 0, 7, 0 }, - { 2, -9, -210, 0, 7, 0 }, { 1, -9, -211, 0, 7, 0 }, { 0, -9, -212, 0, 7, 0 }, { -1, -9, -212, 0, 7, 0 }, { -2, -9, -213, 0, 7, 0 }, - { -3, -9, -214, 0, 6, 0 }, { -4, -9, -215, 0, 6, 0 }, { -5, -9, -215, 0, 6, 0 }, { -6, -10, -216, 0, 6, 0 }, { -7, -10, -217, 0, 6, 0 }, - { -8, -10, -218, 0, 6, 0 }, { -9, -10, -218, 0, 6, 0 }, { -10, -10, -219, 0, 6, 0 }, { -11, -10, -220, 0, 6, 0 }, { -12, -10, -221, 0, 6, 0 }, - { -13, -10, -221, 0, 6, 0 }, { -14, -10, -222, 0, 6, 0 }, { -15, -10, -223, 0, 6, 0 }, { -16, -11, -223, 0, 6, 0 }, { -17, -11, -224, 0, 6, 0 }, - { -18, -11, -224, 0, 6, 0 }, { -19, -11, -225, 0, 6, 0 }, { -20, -11, -226, 0, 6, 0 }, { -21, -11, -226, 0, 6, 0 }, { -22, -11, -227, 0, 6, 0 }, - { -23, -11, -227, 0, 6, 0 }, { -24, -11, -228, 0, 6, 0 }, { -25, -11, -229, 0, 6, 0 }, { -26, -12, -229, 0, 6, 0 }, { -27, -12, -230, 0, 6, 0 }, - { -28, -12, -230, 0, 6, 0 }, { -29, -12, -231, 0, 6, 0 }, { -30, -12, -231, 0, 6, 0 }, { -31, -12, -232, 0, 6, 0 }, { -32, -12, -232, 0, 6, 0 }, - { -33, -12, -233, 0, 6, 0 }, { -34, -12, -233, 0, 6, 0 }, { -35, -13, -234, 0, 6, 0 }, { -36, -13, -234, 0, 6, 0 }, { -37, -13, -235, 0, 6, 0 }, - { -38, -13, -235, 0, 6, 0 }, { -39, -13, -236, 0, 6, 0 }, { -40, -13, -236, 0, 6, 0 }, { -41, -13, -237, 0, 6, 0 }, { -42, -13, -237, 0, 6, 0 }, - { -43, -13, -238, 0, 6, 0 }, { -44, -13, -238, 0, 6, 0 }, { -45, -14, -239, 0, 6, 0 }, { -46, -14, -239, 0, 6, 0 }, { -47, -14, -240, 0, 6, 0 }, - { -48, -14, -240, 0, 6, 0 }, { -49, -14, -241, 0, 6, 0 }, { -50, -14, -241, 0, 6, 0 }, { -51, -14, -242, 0, 6, 0 }, { -52, -14, -242, 0, 6, 0 }, - { -53, -14, -243, 0, 6, 0 }, { -54, -14, -243, 0, 6, 0 }, { -55, -15, -244, 0, 6, 0 }, { -56, -15, -244, 0, 6, 0 }, { -57, -15, -245, 0, 6, 0 }, - { -58, -15, -245, 0, 6, 0 }, { -59, -15, -246, 0, 6, 0 }, { -60, -15, -246, 0, 6, 0 }, { -61, -15, -247, 0, 6, 0 }, { -62, -15, -247, 0, 6, 0 }, - { -63, -15, -248, 0, 6, 0 }, + 311, { + { 0, 16, 16, 0, 16, 0 }, { 1, 16, 16, 0, 16, 0 }, { 2, 16, 16, 0, 16, 0 }, { 3, 16, 16, 0, 16, 0 }, { 4, 16, 16, 0, 16, 0 }, + { 5, 16, 16, 0, 16, 0 }, { 6, 16, 16, 0, 16, 0 }, { 7, 16, 16, 0, 16, 0 }, { 8, 16, 15, 0, 16, 0 }, { 9, 16, 15, 0, 16, 0 }, + { 10, 15, 15, 0, 16, 0 }, { 11, 15, 15, 0, 16, 0 }, { 12, 15, 14, 0, 16, 0 }, { 13, 15, 14, 0, 16, 0 }, { 14, 15, 14, 0, 16, 0 }, + { 15, 15, 13, 0, 23, 0 }, { 16, 15, 13, 0, 23, 0 }, { 17, 15, 12, 0, 23, 0 }, { 18, 15, 12, 0, 23, 0 }, { 19, 15, 11, 0, 23, 0 }, + { 20, 14, 11, 0, 23, 0 }, { 21, 14, 10, 0, 23, 0 }, { 22, 14, 10, 0, 23, 0 }, { 23, 14, 9, 0, 23, 0 }, { 24, 14, 8, 0, 23, 0 }, + { 25, 14, 8, 0, 23, 0 }, { 26, 14, 7, 0, 23, 0 }, { 27, 14, 6, 0, 23, 0 }, { 28, 14, 5, 0, 23, 0 }, { 29, 14, 5, 0, 23, 0 }, + { 30, 13, 4, 0, 22, 0 }, { 31, 13, 3, 0, 22, 0 }, { 32, 13, 2, 0, 22, 0 }, { 33, 13, 1, 0, 22, 0 }, { 34, 13, 0, 0, 22, 0 }, + { 35, 13, -1, 0, 22, 0 }, { 36, 13, -2, 0, 22, 0 }, { 37, 13, -3, 0, 22, 0 }, { 38, 13, -4, 0, 22, 0 }, { 39, 12, -5, 0, 22, 0 }, + { 40, 12, -6, 0, 22, 0 }, { 40, 12, -7, 0, 22, 0 }, { 41, 12, -8, 0, 22, 0 }, { 42, 12, -9, 0, 21, 0 }, { 43, 12, -10, 0, 21, 0 }, + { 43, 12, -11, 0, 21, 0 }, { 44, 12, -12, 0, 21, 0 }, { 45, 12, -13, 0, 21, 0 }, { 45, 12, -14, 0, 21, 0 }, { 46, 11, -15, 0, 21, 0 }, + { 47, 11, -16, 0, 21, 0 }, { 47, 11, -17, 0, 21, 0 }, { 48, 11, -18, 0, 21, 0 }, { 48, 11, -19, 0, 21, 0 }, { 49, 11, -20, 0, 21, 0 }, + { 49, 11, -21, 0, 21, 0 }, { 50, 11, -22, 0, 21, 0 }, { 50, 11, -23, 0, 21, 0 }, { 51, 11, -24, 0, 20, 0 }, { 51, 10, -25, 0, 20, 0 }, + { 52, 10, -26, 0, 20, 0 }, { 52, 10, -27, 0, 20, 0 }, { 53, 10, -28, 0, 20, 0 }, { 53, 10, -29, 0, 20, 0 }, { 53, 10, -30, 0, 20, 0 }, + { 54, 10, -31, 0, 20, 0 }, { 54, 10, -32, 0, 20, 0 }, { 54, 10, -33, 0, 20, 0 }, { 55, 10, -34, 0, 20, 0 }, { 55, 9, -35, 0, 20, 0 }, + { 56, 9, -36, 0, 20, 0 }, { 56, 9, -37, 0, 20, 0 }, { 56, 9, -38, 0, 20, 0 }, { 57, 9, -39, 0, 19, 0 }, { 57, 9, -40, 0, 19, 0 }, + { 57, 9, -41, 0, 19, 0 }, { 57, 9, -42, 0, 19, 0 }, { 58, 9, -43, 0, 19, 0 }, { 58, 8, -44, 0, 19, 0 }, { 58, 8, -45, 0, 19, 0 }, + { 58, 8, -46, 0, 19, 0 }, { 59, 8, -47, 0, 19, 0 }, { 59, 8, -48, 0, 19, 0 }, { 59, 8, -49, 0, 19, 0 }, { 59, 8, -50, 0, 19, 0 }, + { 59, 8, -51, 0, 19, 0 }, { 59, 8, -52, 0, 19, 0 }, { 60, 8, -53, 0, 19, 0 }, { 60, 7, -54, 0, 19, 0 }, { 60, 7, -55, 0, 19, 0 }, + { 60, 7, -56, 0, 19, 0 }, { 60, 7, -57, 0, 19, 0 }, { 60, 7, -58, 0, 19, 0 }, { 60, 7, -59, 0, 19, 0 }, { 60, 7, -60, 0, 19, 0 }, + { 61, 7, -61, 0, 19, 0 }, { 61, 7, -62, 0, 19, 0 }, { 61, 7, -63, 0, 18, 0 }, { 61, 6, -64, 0, 18, 0 }, { 61, 6, -65, 0, 18, 0 }, + { 61, 6, -66, 0, 18, 0 }, { 61, 6, -67, 0, 18, 0 }, { 61, 6, -68, 0, 18, 0 }, { 61, 6, -69, 0, 18, 0 }, { 61, 6, -70, 0, 18, 0 }, + { 61, 6, -71, 0, 18, 0 }, { 61, 6, -72, 0, 18, 0 }, { 61, 5, -73, 0, 18, 0 }, { 61, 5, -74, 0, 18, 0 }, { 61, 5, -75, 0, 18, 0 }, + { 61, 5, -76, 0, 18, 0 }, { 61, 5, -77, 0, 18, 0 }, { 61, 5, -78, 0, 18, 0 }, { 61, 5, -79, 0, 18, 0 }, { 61, 5, -80, 0, 18, 0 }, + { 61, 5, -81, 0, 18, 0 }, { 61, 5, -82, 0, 18, 0 }, { 61, 4, -83, 0, 18, 0 }, { 61, 4, -84, 0, 18, 0 }, { 61, 4, -85, 0, 18, 0 }, + { 61, 4, -86, 0, 18, 0 }, { 61, 4, -87, 0, 18, 0 }, { 61, 4, -88, 0, 18, 0 }, { 61, 4, -89, 0, 18, 0 }, { 61, 4, -90, 0, 18, 0 }, + { 61, 4, -91, 0, 18, 0 }, { 61, 4, -92, 0, 18, 0 }, { 61, 3, -93, 0, 18, 0 }, { 61, 3, -94, 0, 18, 0 }, { 61, 3, -95, 0, 18, 0 }, + { 61, 3, -96, 0, 18, 0 }, { 61, 3, -97, 0, 18, 0 }, { 61, 3, -98, 0, 18, 0 }, { 61, 3, -99, 0, 18, 0 }, { 61, 3, -100, 0, 17, 0 }, + { 61, 3, -101, 0, 17, 0 }, { 60, 3, -102, 0, 17, 0 }, { 60, 2, -103, 0, 17, 0 }, { 60, 2, -104, 0, 17, 0 }, { 60, 2, -105, 0, 17, 0 }, + { 60, 2, -106, 0, 17, 0 }, { 60, 2, -107, 0, 17, 0 }, { 59, 2, -108, 0, 17, 0 }, { 59, 2, -109, 0, 17, 0 }, { 59, 2, -110, 0, 17, 0 }, + { 59, 2, -111, 0, 17, 0 }, { 59, 1, -112, 0, 17, 0 }, { 59, 1, -113, 0, 17, 0 }, { 58, 1, -114, 0, 17, 0 }, { 58, 1, -115, 0, 17, 0 }, + { 58, 1, -116, 0, 17, 0 }, { 58, 1, -117, 0, 17, 0 }, { 58, 1, -118, 0, 17, 0 }, { 57, 1, -119, 0, 17, 0 }, { 57, 1, -120, 0, 17, 0 }, + { 57, 1, -121, 0, 17, 0 }, { 57, 0, -122, 0, 17, 0 }, { 56, 0, -123, 0, 17, 0 }, { 56, 0, -124, 0, 17, 0 }, { 56, 0, -125, 0, 17, 0 }, + { 55, 0, -126, 0, 17, 0 }, { 55, 0, -127, 0, 17, 0 }, { 55, 0, -128, 0, 17, 0 }, { 54, 0, -129, 0, 17, 0 }, { 54, 0, -130, 0, 17, 0 }, + { 54, 0, -131, 0, 17, 0 }, { 54, -1, -132, 0, 17, 0 }, { 53, -1, -133, 0, 8, 0 }, { 53, -1, -134, 0, 8, 0 }, { 53, -1, -135, 0, 8, 0 }, + { 52, -1, -136, 0, 8, 0 }, { 52, -1, -137, 0, 8, 0 }, { 51, -1, -138, 0, 8, 0 }, { 51, -1, -139, 0, 8, 0 }, { 50, -1, -140, 0, 8, 0 }, + { 50, -2, -141, 0, 8, 0 }, { 50, -2, -142, 0, 8, 0 }, { 49, -2, -143, 0, 8, 0 }, { 49, -2, -144, 0, 8, 0 }, { 48, -2, -145, 0, 8, 0 }, + { 48, -2, -146, 0, 8, 0 }, { 48, -2, -147, 0, 8, 0 }, { 47, -2, -148, 0, 8, 0 }, { 47, -2, -149, 0, 8, 0 }, { 46, -2, -150, 0, 8, 0 }, + { 46, -3, -151, 0, 8, 0 }, { 45, -3, -152, 0, 8, 0 }, { 45, -3, -153, 0, 8, 0 }, { 45, -3, -154, 0, 8, 0 }, { 44, -3, -155, 0, 8, 0 }, + { 44, -3, -156, 0, 8, 0 }, { 43, -3, -157, 0, 8, 0 }, { 43, -3, -158, 0, 8, 0 }, { 42, -3, -159, 0, 8, 0 }, { 42, -3, -160, 0, 8, 0 }, + { 41, -4, -161, 0, 8, 0 }, { 41, -4, -162, 0, 8, 0 }, { 40, -4, -163, 0, 8, 0 }, { 39, -4, -164, 0, 8, 0 }, { 39, -4, -165, 0, 8, 0 }, + { 38, -4, -166, 0, 8, 0 }, { 38, -4, -167, 0, 8, 0 }, { 37, -4, -168, 0, 8, 0 }, { 36, -4, -169, 0, 7, 0 }, { 36, -4, -170, 0, 7, 0 }, + { 35, -5, -171, 0, 7, 0 }, { 35, -5, -172, 0, 7, 0 }, { 34, -5, -173, 0, 7, 0 }, { 33, -5, -174, 0, 7, 0 }, { 33, -5, -175, 0, 7, 0 }, + { 32, -5, -176, 0, 7, 0 }, { 31, -5, -177, 0, 7, 0 }, { 31, -5, -178, 0, 7, 0 }, { 30, -5, -179, 0, 7, 0 }, { 29, -6, -180, 0, 7, 0 }, + { 28, -6, -181, 0, 7, 0 }, { 28, -6, -182, 0, 7, 0 }, { 27, -6, -183, 0, 7, 0 }, { 26, -6, -184, 0, 7, 0 }, { 26, -6, -185, 0, 7, 0 }, + { 25, -6, -186, 0, 7, 0 }, { 24, -6, -187, 0, 7, 0 }, { 24, -6, -188, 0, 7, 0 }, { 23, -6, -189, 0, 7, 0 }, { 22, -7, -190, 0, 7, 0 }, + { 21, -7, -191, 0, 7, 0 }, { 20, -7, -192, 0, 7, 0 }, { 19, -7, -193, 0, 7, 0 }, { 18, -7, -194, 0, 7, 0 }, { 17, -7, -195, 0, 7, 0 }, + { 17, -7, -196, 0, 7, 0 }, { 16, -7, -197, 0, 7, 0 }, { 15, -7, -198, 0, 7, 0 }, { 14, -7, -199, 0, 7, 0 }, { 13, -8, -200, 0, 7, 0 }, + { 12, -8, -201, 0, 7, 0 }, { 11, -8, -202, 0, 7, 0 }, { 10, -8, -203, 0, 7, 0 }, { 9, -8, -204, 0, 7, 0 }, { 8, -8, -205, 0, 7, 0 }, + { 7, -8, -206, 0, 7, 0 }, { 6, -8, -206, 0, 7, 0 }, { 5, -8, -207, 0, 7, 0 }, { 4, -9, -208, 0, 7, 0 }, { 3, -9, -209, 0, 7, 0 }, + { 2, -9, -210, 0, 7, 0 }, { 1, -9, -211, 0, 7, 0 }, { 0, -9, -212, 0, 7, 0 }, { -1, -9, -212, 0, 7, 0 }, { -2, -9, -213, 0, 7, 0 }, + { -3, -9, -214, 0, 6, 0 }, { -4, -9, -215, 0, 6, 0 }, { -5, -9, -215, 0, 6, 0 }, { -6, -10, -216, 0, 6, 0 }, { -7, -10, -217, 0, 6, 0 }, + { -8, -10, -218, 0, 6, 0 }, { -9, -10, -218, 0, 6, 0 }, { -10, -10, -219, 0, 6, 0 }, { -11, -10, -220, 0, 6, 0 }, { -12, -10, -221, 0, 6, 0 }, + { -13, -10, -221, 0, 6, 0 }, { -14, -10, -222, 0, 6, 0 }, { -15, -10, -223, 0, 6, 0 }, { -16, -11, -223, 0, 6, 0 }, { -17, -11, -224, 0, 6, 0 }, + { -18, -11, -224, 0, 6, 0 }, { -19, -11, -225, 0, 6, 0 }, { -20, -11, -226, 0, 6, 0 }, { -21, -11, -226, 0, 6, 0 }, { -22, -11, -227, 0, 6, 0 }, + { -23, -11, -227, 0, 6, 0 }, { -24, -11, -228, 0, 6, 0 }, { -25, -11, -229, 0, 6, 0 }, { -26, -12, -229, 0, 6, 0 }, { -27, -12, -230, 0, 6, 0 }, + { -28, -12, -230, 0, 6, 0 }, { -29, -12, -231, 0, 6, 0 }, { -30, -12, -231, 0, 6, 0 }, { -31, -12, -232, 0, 6, 0 }, { -32, -12, -232, 0, 6, 0 }, + { -33, -12, -233, 0, 6, 0 }, { -34, -12, -233, 0, 6, 0 }, { -35, -13, -234, 0, 6, 0 }, { -36, -13, -234, 0, 6, 0 }, { -37, -13, -235, 0, 6, 0 }, + { -38, -13, -235, 0, 6, 0 }, { -39, -13, -236, 0, 6, 0 }, { -40, -13, -236, 0, 6, 0 }, { -41, -13, -237, 0, 6, 0 }, { -42, -13, -237, 0, 6, 0 }, + { -43, -13, -238, 0, 6, 0 }, { -44, -13, -238, 0, 6, 0 }, { -45, -14, -239, 0, 6, 0 }, { -46, -14, -239, 0, 6, 0 }, { -47, -14, -240, 0, 6, 0 }, + { -48, -14, -240, 0, 6, 0 }, { -49, -14, -241, 0, 6, 0 }, { -50, -14, -241, 0, 6, 0 }, { -51, -14, -242, 0, 6, 0 }, { -52, -14, -242, 0, 6, 0 }, + { -53, -14, -243, 0, 6, 0 }, { -54, -14, -243, 0, 6, 0 }, { -55, -15, -244, 0, 6, 0 }, { -56, -15, -244, 0, 6, 0 }, { -57, -15, -245, 0, 6, 0 }, + { -58, -15, -245, 0, 6, 0 }, { -59, -15, -246, 0, 6, 0 }, { -60, -15, -246, 0, 6, 0 }, { -61, -15, -247, 0, 6, 0 }, { -62, -15, -247, 0, 6, 0 }, + { -63, -15, -248, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92C658 = { - 311, { - { 16, 31, 16, 8, 16, 0 }, { 16, 30, 16, 8, 16, 0 }, { 16, 29, 16, 8, 16, 0 }, { 16, 28, 16, 8, 16, 0 }, { 16, 27, 16, 8, 16, 0 }, - { 16, 26, 16, 8, 16, 0 }, { 16, 25, 16, 8, 16, 0 }, { 16, 24, 16, 8, 16, 0 }, { 16, 23, 15, 8, 16, 0 }, { 16, 22, 15, 8, 16, 0 }, - { 15, 21, 15, 8, 16, 0 }, { 15, 20, 15, 8, 16, 0 }, { 15, 19, 14, 8, 16, 0 }, { 15, 18, 14, 8, 16, 0 }, { 15, 17, 14, 8, 16, 0 }, - { 15, 16, 13, 8, 23, 0 }, { 15, 15, 13, 8, 23, 0 }, { 15, 14, 12, 8, 23, 0 }, { 15, 13, 12, 8, 23, 0 }, { 15, 12, 11, 8, 23, 0 }, - { 14, 11, 11, 8, 23, 0 }, { 14, 10, 10, 8, 23, 0 }, { 14, 9, 10, 8, 23, 0 }, { 14, 8, 9, 8, 23, 0 }, { 14, 7, 8, 8, 23, 0 }, - { 14, 6, 8, 8, 23, 0 }, { 14, 5, 7, 8, 23, 0 }, { 14, 4, 6, 8, 23, 0 }, { 14, 3, 5, 8, 23, 0 }, { 14, 2, 5, 8, 23, 0 }, - { 13, 1, 4, 8, 22, 0 }, { 13, 0, 3, 8, 22, 0 }, { 13, -1, 2, 8, 22, 0 }, { 13, -2, 1, 8, 22, 0 }, { 13, -3, 0, 8, 22, 0 }, - { 13, -4, -1, 8, 22, 0 }, { 13, -5, -2, 8, 22, 0 }, { 13, -6, -3, 8, 22, 0 }, { 13, -7, -4, 8, 22, 0 }, { 12, -8, -5, 8, 22, 0 }, - { 12, -9, -6, 8, 22, 0 }, { 12, -9, -7, 8, 22, 0 }, { 12, -10, -8, 8, 22, 0 }, { 12, -11, -9, 8, 21, 0 }, { 12, -12, -10, 8, 21, 0 }, - { 12, -12, -11, 8, 21, 0 }, { 12, -13, -12, 8, 21, 0 }, { 12, -14, -13, 8, 21, 0 }, { 12, -14, -14, 8, 21, 0 }, { 11, -15, -15, 8, 21, 0 }, - { 11, -16, -16, 8, 21, 0 }, { 11, -16, -17, 8, 21, 0 }, { 11, -17, -18, 8, 21, 0 }, { 11, -17, -19, 8, 21, 0 }, { 11, -18, -20, 8, 21, 0 }, - { 11, -18, -21, 8, 21, 0 }, { 11, -19, -22, 8, 21, 0 }, { 11, -19, -23, 8, 21, 0 }, { 11, -20, -24, 8, 20, 0 }, { 10, -20, -25, 8, 20, 0 }, - { 10, -21, -26, 8, 20, 0 }, { 10, -21, -27, 8, 20, 0 }, { 10, -22, -28, 8, 20, 0 }, { 10, -22, -29, 8, 20, 0 }, { 10, -22, -30, 8, 20, 0 }, - { 10, -23, -31, 8, 20, 0 }, { 10, -23, -32, 8, 20, 0 }, { 10, -23, -33, 8, 20, 0 }, { 10, -24, -34, 8, 20, 0 }, { 9, -24, -35, 8, 20, 0 }, - { 9, -25, -36, 8, 20, 0 }, { 9, -25, -37, 8, 20, 0 }, { 9, -25, -38, 8, 20, 0 }, { 9, -26, -39, 8, 19, 0 }, { 9, -26, -40, 8, 19, 0 }, - { 9, -26, -41, 8, 19, 0 }, { 9, -26, -42, 8, 19, 0 }, { 9, -27, -43, 8, 19, 0 }, { 8, -27, -44, 8, 19, 0 }, { 8, -27, -45, 8, 19, 0 }, - { 8, -27, -46, 8, 19, 0 }, { 8, -28, -47, 8, 19, 0 }, { 8, -28, -48, 8, 19, 0 }, { 8, -28, -49, 8, 19, 0 }, { 8, -28, -50, 8, 19, 0 }, - { 8, -28, -51, 8, 19, 0 }, { 8, -28, -52, 8, 19, 0 }, { 8, -29, -53, 8, 19, 0 }, { 7, -29, -54, 8, 19, 0 }, { 7, -29, -55, 8, 19, 0 }, - { 7, -29, -56, 8, 19, 0 }, { 7, -29, -57, 8, 19, 0 }, { 7, -29, -58, 8, 19, 0 }, { 7, -29, -59, 8, 19, 0 }, { 7, -29, -60, 8, 19, 0 }, - { 7, -30, -61, 8, 19, 0 }, { 7, -30, -62, 8, 19, 0 }, { 7, -30, -63, 8, 18, 0 }, { 6, -30, -64, 8, 18, 0 }, { 6, -30, -65, 8, 18, 0 }, - { 6, -30, -66, 8, 18, 0 }, { 6, -30, -67, 8, 18, 0 }, { 6, -30, -68, 8, 18, 0 }, { 6, -30, -69, 8, 18, 0 }, { 6, -30, -70, 8, 18, 0 }, - { 6, -30, -71, 8, 18, 0 }, { 6, -30, -72, 8, 18, 0 }, { 5, -30, -73, 8, 18, 0 }, { 5, -30, -74, 8, 18, 0 }, { 5, -30, -75, 8, 18, 0 }, - { 5, -30, -76, 8, 18, 0 }, { 5, -30, -77, 8, 18, 0 }, { 5, -30, -78, 8, 18, 0 }, { 5, -30, -79, 8, 18, 0 }, { 5, -30, -80, 8, 18, 0 }, - { 5, -30, -81, 8, 18, 0 }, { 5, -30, -82, 8, 18, 0 }, { 4, -30, -83, 8, 18, 0 }, { 4, -30, -84, 8, 18, 0 }, { 4, -30, -85, 8, 18, 0 }, - { 4, -30, -86, 8, 18, 0 }, { 4, -30, -87, 8, 18, 0 }, { 4, -30, -88, 8, 18, 0 }, { 4, -30, -89, 8, 18, 0 }, { 4, -30, -90, 8, 18, 0 }, - { 4, -30, -91, 8, 18, 0 }, { 4, -30, -92, 8, 18, 0 }, { 3, -30, -93, 8, 18, 0 }, { 3, -30, -94, 8, 18, 0 }, { 3, -30, -95, 8, 18, 0 }, - { 3, -30, -96, 8, 18, 0 }, { 3, -30, -97, 8, 18, 0 }, { 3, -30, -98, 8, 18, 0 }, { 3, -30, -99, 8, 18, 0 }, { 3, -30, -100, 8, 17, 0 }, - { 3, -30, -101, 8, 17, 0 }, { 3, -29, -102, 8, 17, 0 }, { 2, -29, -103, 8, 17, 0 }, { 2, -29, -104, 8, 17, 0 }, { 2, -29, -105, 8, 17, 0 }, - { 2, -29, -106, 8, 17, 0 }, { 2, -29, -107, 8, 17, 0 }, { 2, -28, -108, 8, 17, 0 }, { 2, -28, -109, 8, 17, 0 }, { 2, -28, -110, 8, 17, 0 }, - { 2, -28, -111, 8, 17, 0 }, { 1, -28, -112, 8, 17, 0 }, { 1, -28, -113, 8, 17, 0 }, { 1, -27, -114, 8, 17, 0 }, { 1, -27, -115, 8, 17, 0 }, - { 1, -27, -116, 8, 17, 0 }, { 1, -27, -117, 8, 17, 0 }, { 1, -27, -118, 8, 17, 0 }, { 1, -26, -119, 8, 17, 0 }, { 1, -26, -120, 8, 17, 0 }, - { 1, -26, -121, 8, 17, 0 }, { 0, -26, -122, 8, 17, 0 }, { 0, -25, -123, 8, 17, 0 }, { 0, -25, -124, 8, 17, 0 }, { 0, -25, -125, 8, 17, 0 }, - { 0, -24, -126, 8, 17, 0 }, { 0, -24, -127, 8, 17, 0 }, { 0, -24, -128, 8, 17, 0 }, { 0, -23, -129, 8, 17, 0 }, { 0, -23, -130, 8, 17, 0 }, - { 0, -23, -131, 8, 17, 0 }, { -1, -23, -132, 8, 17, 0 }, { -1, -22, -133, 8, 8, 0 }, { -1, -22, -134, 8, 8, 0 }, { -1, -22, -135, 8, 8, 0 }, - { -1, -21, -136, 8, 8, 0 }, { -1, -21, -137, 8, 8, 0 }, { -1, -20, -138, 8, 8, 0 }, { -1, -20, -139, 8, 8, 0 }, { -1, -19, -140, 8, 8, 0 }, - { -2, -19, -141, 8, 8, 0 }, { -2, -19, -142, 8, 8, 0 }, { -2, -18, -143, 8, 8, 0 }, { -2, -18, -144, 8, 8, 0 }, { -2, -17, -145, 8, 8, 0 }, - { -2, -17, -146, 8, 8, 0 }, { -2, -17, -147, 8, 8, 0 }, { -2, -16, -148, 8, 8, 0 }, { -2, -16, -149, 8, 8, 0 }, { -2, -15, -150, 8, 8, 0 }, - { -3, -15, -151, 8, 8, 0 }, { -3, -14, -152, 8, 8, 0 }, { -3, -14, -153, 8, 8, 0 }, { -3, -14, -154, 8, 8, 0 }, { -3, -13, -155, 8, 8, 0 }, - { -3, -13, -156, 8, 8, 0 }, { -3, -12, -157, 8, 8, 0 }, { -3, -12, -158, 8, 8, 0 }, { -3, -11, -159, 8, 8, 0 }, { -3, -11, -160, 8, 8, 0 }, - { -4, -10, -161, 8, 8, 0 }, { -4, -10, -162, 8, 8, 0 }, { -4, -9, -163, 8, 8, 0 }, { -4, -8, -164, 8, 8, 0 }, { -4, -8, -165, 8, 8, 0 }, - { -4, -7, -166, 8, 8, 0 }, { -4, -7, -167, 8, 8, 0 }, { -4, -6, -168, 8, 8, 0 }, { -4, -5, -169, 8, 7, 0 }, { -4, -5, -170, 8, 7, 0 }, - { -5, -4, -171, 8, 7, 0 }, { -5, -4, -172, 8, 7, 0 }, { -5, -3, -173, 8, 7, 0 }, { -5, -2, -174, 8, 7, 0 }, { -5, -2, -175, 8, 7, 0 }, - { -5, -1, -176, 8, 7, 0 }, { -5, 0, -177, 8, 7, 0 }, { -5, 0, -178, 8, 7, 0 }, { -5, 1, -179, 8, 7, 0 }, { -6, 2, -180, 8, 7, 0 }, - { -6, 3, -181, 8, 7, 0 }, { -6, 3, -182, 8, 7, 0 }, { -6, 4, -183, 8, 7, 0 }, { -6, 5, -184, 8, 7, 0 }, { -6, 5, -185, 8, 7, 0 }, - { -6, 6, -186, 8, 7, 0 }, { -6, 7, -187, 8, 7, 0 }, { -6, 7, -188, 8, 7, 0 }, { -6, 8, -189, 8, 7, 0 }, { -7, 9, -190, 8, 7, 0 }, - { -7, 10, -191, 8, 7, 0 }, { -7, 11, -192, 8, 7, 0 }, { -7, 12, -193, 8, 7, 0 }, { -7, 13, -194, 8, 7, 0 }, { -7, 14, -195, 8, 7, 0 }, - { -7, 14, -196, 8, 7, 0 }, { -7, 15, -197, 8, 7, 0 }, { -7, 16, -198, 8, 7, 0 }, { -7, 17, -199, 8, 7, 0 }, { -8, 18, -200, 8, 7, 0 }, - { -8, 19, -201, 8, 7, 0 }, { -8, 20, -202, 8, 7, 0 }, { -8, 21, -203, 8, 7, 0 }, { -8, 22, -204, 8, 7, 0 }, { -8, 23, -205, 8, 7, 0 }, - { -8, 24, -206, 8, 7, 0 }, { -8, 25, -206, 8, 7, 0 }, { -8, 26, -207, 8, 7, 0 }, { -9, 27, -208, 8, 7, 0 }, { -9, 28, -209, 8, 7, 0 }, - { -9, 29, -210, 8, 7, 0 }, { -9, 30, -211, 8, 7, 0 }, { -9, 31, -212, 8, 7, 0 }, { -9, 32, -212, 8, 7, 0 }, { -9, 33, -213, 8, 7, 0 }, - { -9, 34, -214, 8, 6, 0 }, { -9, 35, -215, 8, 6, 0 }, { -9, 36, -215, 8, 6, 0 }, { -10, 37, -216, 8, 6, 0 }, { -10, 38, -217, 8, 6, 0 }, - { -10, 39, -218, 8, 6, 0 }, { -10, 40, -218, 8, 6, 0 }, { -10, 41, -219, 8, 6, 0 }, { -10, 42, -220, 8, 6, 0 }, { -10, 43, -221, 8, 6, 0 }, - { -10, 44, -221, 8, 6, 0 }, { -10, 45, -222, 8, 6, 0 }, { -10, 46, -223, 8, 6, 0 }, { -11, 47, -223, 8, 6, 0 }, { -11, 48, -224, 8, 6, 0 }, - { -11, 49, -224, 8, 6, 0 }, { -11, 50, -225, 8, 6, 0 }, { -11, 51, -226, 8, 6, 0 }, { -11, 52, -226, 8, 6, 0 }, { -11, 53, -227, 8, 6, 0 }, - { -11, 54, -227, 8, 6, 0 }, { -11, 55, -228, 8, 6, 0 }, { -11, 56, -229, 8, 6, 0 }, { -12, 57, -229, 8, 6, 0 }, { -12, 58, -230, 8, 6, 0 }, - { -12, 59, -230, 8, 6, 0 }, { -12, 60, -231, 8, 6, 0 }, { -12, 61, -231, 8, 6, 0 }, { -12, 62, -232, 8, 6, 0 }, { -12, 63, -232, 8, 6, 0 }, - { -12, 64, -233, 8, 6, 0 }, { -12, 65, -233, 8, 6, 0 }, { -13, 66, -234, 8, 6, 0 }, { -13, 67, -234, 8, 6, 0 }, { -13, 68, -235, 8, 6, 0 }, - { -13, 69, -235, 8, 6, 0 }, { -13, 70, -236, 8, 6, 0 }, { -13, 71, -236, 8, 6, 0 }, { -13, 72, -237, 8, 6, 0 }, { -13, 73, -237, 8, 6, 0 }, - { -13, 74, -238, 8, 6, 0 }, { -13, 75, -238, 8, 6, 0 }, { -14, 76, -239, 8, 6, 0 }, { -14, 77, -239, 8, 6, 0 }, { -14, 78, -240, 8, 6, 0 }, - { -14, 79, -240, 8, 6, 0 }, { -14, 80, -241, 8, 6, 0 }, { -14, 81, -241, 8, 6, 0 }, { -14, 82, -242, 8, 6, 0 }, { -14, 83, -242, 8, 6, 0 }, - { -14, 84, -243, 8, 6, 0 }, { -14, 85, -243, 8, 6, 0 }, { -15, 86, -244, 8, 6, 0 }, { -15, 87, -244, 8, 6, 0 }, { -15, 88, -245, 8, 6, 0 }, - { -15, 89, -245, 8, 6, 0 }, { -15, 90, -246, 8, 6, 0 }, { -15, 91, -246, 8, 6, 0 }, { -15, 92, -247, 8, 6, 0 }, { -15, 93, -247, 8, 6, 0 }, - { -15, 94, -248, 8, 6, 0 }, + 311, { + { 16, 31, 16, 8, 16, 0 }, { 16, 30, 16, 8, 16, 0 }, { 16, 29, 16, 8, 16, 0 }, { 16, 28, 16, 8, 16, 0 }, { 16, 27, 16, 8, 16, 0 }, + { 16, 26, 16, 8, 16, 0 }, { 16, 25, 16, 8, 16, 0 }, { 16, 24, 16, 8, 16, 0 }, { 16, 23, 15, 8, 16, 0 }, { 16, 22, 15, 8, 16, 0 }, + { 15, 21, 15, 8, 16, 0 }, { 15, 20, 15, 8, 16, 0 }, { 15, 19, 14, 8, 16, 0 }, { 15, 18, 14, 8, 16, 0 }, { 15, 17, 14, 8, 16, 0 }, + { 15, 16, 13, 8, 23, 0 }, { 15, 15, 13, 8, 23, 0 }, { 15, 14, 12, 8, 23, 0 }, { 15, 13, 12, 8, 23, 0 }, { 15, 12, 11, 8, 23, 0 }, + { 14, 11, 11, 8, 23, 0 }, { 14, 10, 10, 8, 23, 0 }, { 14, 9, 10, 8, 23, 0 }, { 14, 8, 9, 8, 23, 0 }, { 14, 7, 8, 8, 23, 0 }, + { 14, 6, 8, 8, 23, 0 }, { 14, 5, 7, 8, 23, 0 }, { 14, 4, 6, 8, 23, 0 }, { 14, 3, 5, 8, 23, 0 }, { 14, 2, 5, 8, 23, 0 }, + { 13, 1, 4, 8, 22, 0 }, { 13, 0, 3, 8, 22, 0 }, { 13, -1, 2, 8, 22, 0 }, { 13, -2, 1, 8, 22, 0 }, { 13, -3, 0, 8, 22, 0 }, + { 13, -4, -1, 8, 22, 0 }, { 13, -5, -2, 8, 22, 0 }, { 13, -6, -3, 8, 22, 0 }, { 13, -7, -4, 8, 22, 0 }, { 12, -8, -5, 8, 22, 0 }, + { 12, -9, -6, 8, 22, 0 }, { 12, -9, -7, 8, 22, 0 }, { 12, -10, -8, 8, 22, 0 }, { 12, -11, -9, 8, 21, 0 }, { 12, -12, -10, 8, 21, 0 }, + { 12, -12, -11, 8, 21, 0 }, { 12, -13, -12, 8, 21, 0 }, { 12, -14, -13, 8, 21, 0 }, { 12, -14, -14, 8, 21, 0 }, { 11, -15, -15, 8, 21, 0 }, + { 11, -16, -16, 8, 21, 0 }, { 11, -16, -17, 8, 21, 0 }, { 11, -17, -18, 8, 21, 0 }, { 11, -17, -19, 8, 21, 0 }, { 11, -18, -20, 8, 21, 0 }, + { 11, -18, -21, 8, 21, 0 }, { 11, -19, -22, 8, 21, 0 }, { 11, -19, -23, 8, 21, 0 }, { 11, -20, -24, 8, 20, 0 }, { 10, -20, -25, 8, 20, 0 }, + { 10, -21, -26, 8, 20, 0 }, { 10, -21, -27, 8, 20, 0 }, { 10, -22, -28, 8, 20, 0 }, { 10, -22, -29, 8, 20, 0 }, { 10, -22, -30, 8, 20, 0 }, + { 10, -23, -31, 8, 20, 0 }, { 10, -23, -32, 8, 20, 0 }, { 10, -23, -33, 8, 20, 0 }, { 10, -24, -34, 8, 20, 0 }, { 9, -24, -35, 8, 20, 0 }, + { 9, -25, -36, 8, 20, 0 }, { 9, -25, -37, 8, 20, 0 }, { 9, -25, -38, 8, 20, 0 }, { 9, -26, -39, 8, 19, 0 }, { 9, -26, -40, 8, 19, 0 }, + { 9, -26, -41, 8, 19, 0 }, { 9, -26, -42, 8, 19, 0 }, { 9, -27, -43, 8, 19, 0 }, { 8, -27, -44, 8, 19, 0 }, { 8, -27, -45, 8, 19, 0 }, + { 8, -27, -46, 8, 19, 0 }, { 8, -28, -47, 8, 19, 0 }, { 8, -28, -48, 8, 19, 0 }, { 8, -28, -49, 8, 19, 0 }, { 8, -28, -50, 8, 19, 0 }, + { 8, -28, -51, 8, 19, 0 }, { 8, -28, -52, 8, 19, 0 }, { 8, -29, -53, 8, 19, 0 }, { 7, -29, -54, 8, 19, 0 }, { 7, -29, -55, 8, 19, 0 }, + { 7, -29, -56, 8, 19, 0 }, { 7, -29, -57, 8, 19, 0 }, { 7, -29, -58, 8, 19, 0 }, { 7, -29, -59, 8, 19, 0 }, { 7, -29, -60, 8, 19, 0 }, + { 7, -30, -61, 8, 19, 0 }, { 7, -30, -62, 8, 19, 0 }, { 7, -30, -63, 8, 18, 0 }, { 6, -30, -64, 8, 18, 0 }, { 6, -30, -65, 8, 18, 0 }, + { 6, -30, -66, 8, 18, 0 }, { 6, -30, -67, 8, 18, 0 }, { 6, -30, -68, 8, 18, 0 }, { 6, -30, -69, 8, 18, 0 }, { 6, -30, -70, 8, 18, 0 }, + { 6, -30, -71, 8, 18, 0 }, { 6, -30, -72, 8, 18, 0 }, { 5, -30, -73, 8, 18, 0 }, { 5, -30, -74, 8, 18, 0 }, { 5, -30, -75, 8, 18, 0 }, + { 5, -30, -76, 8, 18, 0 }, { 5, -30, -77, 8, 18, 0 }, { 5, -30, -78, 8, 18, 0 }, { 5, -30, -79, 8, 18, 0 }, { 5, -30, -80, 8, 18, 0 }, + { 5, -30, -81, 8, 18, 0 }, { 5, -30, -82, 8, 18, 0 }, { 4, -30, -83, 8, 18, 0 }, { 4, -30, -84, 8, 18, 0 }, { 4, -30, -85, 8, 18, 0 }, + { 4, -30, -86, 8, 18, 0 }, { 4, -30, -87, 8, 18, 0 }, { 4, -30, -88, 8, 18, 0 }, { 4, -30, -89, 8, 18, 0 }, { 4, -30, -90, 8, 18, 0 }, + { 4, -30, -91, 8, 18, 0 }, { 4, -30, -92, 8, 18, 0 }, { 3, -30, -93, 8, 18, 0 }, { 3, -30, -94, 8, 18, 0 }, { 3, -30, -95, 8, 18, 0 }, + { 3, -30, -96, 8, 18, 0 }, { 3, -30, -97, 8, 18, 0 }, { 3, -30, -98, 8, 18, 0 }, { 3, -30, -99, 8, 18, 0 }, { 3, -30, -100, 8, 17, 0 }, + { 3, -30, -101, 8, 17, 0 }, { 3, -29, -102, 8, 17, 0 }, { 2, -29, -103, 8, 17, 0 }, { 2, -29, -104, 8, 17, 0 }, { 2, -29, -105, 8, 17, 0 }, + { 2, -29, -106, 8, 17, 0 }, { 2, -29, -107, 8, 17, 0 }, { 2, -28, -108, 8, 17, 0 }, { 2, -28, -109, 8, 17, 0 }, { 2, -28, -110, 8, 17, 0 }, + { 2, -28, -111, 8, 17, 0 }, { 1, -28, -112, 8, 17, 0 }, { 1, -28, -113, 8, 17, 0 }, { 1, -27, -114, 8, 17, 0 }, { 1, -27, -115, 8, 17, 0 }, + { 1, -27, -116, 8, 17, 0 }, { 1, -27, -117, 8, 17, 0 }, { 1, -27, -118, 8, 17, 0 }, { 1, -26, -119, 8, 17, 0 }, { 1, -26, -120, 8, 17, 0 }, + { 1, -26, -121, 8, 17, 0 }, { 0, -26, -122, 8, 17, 0 }, { 0, -25, -123, 8, 17, 0 }, { 0, -25, -124, 8, 17, 0 }, { 0, -25, -125, 8, 17, 0 }, + { 0, -24, -126, 8, 17, 0 }, { 0, -24, -127, 8, 17, 0 }, { 0, -24, -128, 8, 17, 0 }, { 0, -23, -129, 8, 17, 0 }, { 0, -23, -130, 8, 17, 0 }, + { 0, -23, -131, 8, 17, 0 }, { -1, -23, -132, 8, 17, 0 }, { -1, -22, -133, 8, 8, 0 }, { -1, -22, -134, 8, 8, 0 }, { -1, -22, -135, 8, 8, 0 }, + { -1, -21, -136, 8, 8, 0 }, { -1, -21, -137, 8, 8, 0 }, { -1, -20, -138, 8, 8, 0 }, { -1, -20, -139, 8, 8, 0 }, { -1, -19, -140, 8, 8, 0 }, + { -2, -19, -141, 8, 8, 0 }, { -2, -19, -142, 8, 8, 0 }, { -2, -18, -143, 8, 8, 0 }, { -2, -18, -144, 8, 8, 0 }, { -2, -17, -145, 8, 8, 0 }, + { -2, -17, -146, 8, 8, 0 }, { -2, -17, -147, 8, 8, 0 }, { -2, -16, -148, 8, 8, 0 }, { -2, -16, -149, 8, 8, 0 }, { -2, -15, -150, 8, 8, 0 }, + { -3, -15, -151, 8, 8, 0 }, { -3, -14, -152, 8, 8, 0 }, { -3, -14, -153, 8, 8, 0 }, { -3, -14, -154, 8, 8, 0 }, { -3, -13, -155, 8, 8, 0 }, + { -3, -13, -156, 8, 8, 0 }, { -3, -12, -157, 8, 8, 0 }, { -3, -12, -158, 8, 8, 0 }, { -3, -11, -159, 8, 8, 0 }, { -3, -11, -160, 8, 8, 0 }, + { -4, -10, -161, 8, 8, 0 }, { -4, -10, -162, 8, 8, 0 }, { -4, -9, -163, 8, 8, 0 }, { -4, -8, -164, 8, 8, 0 }, { -4, -8, -165, 8, 8, 0 }, + { -4, -7, -166, 8, 8, 0 }, { -4, -7, -167, 8, 8, 0 }, { -4, -6, -168, 8, 8, 0 }, { -4, -5, -169, 8, 7, 0 }, { -4, -5, -170, 8, 7, 0 }, + { -5, -4, -171, 8, 7, 0 }, { -5, -4, -172, 8, 7, 0 }, { -5, -3, -173, 8, 7, 0 }, { -5, -2, -174, 8, 7, 0 }, { -5, -2, -175, 8, 7, 0 }, + { -5, -1, -176, 8, 7, 0 }, { -5, 0, -177, 8, 7, 0 }, { -5, 0, -178, 8, 7, 0 }, { -5, 1, -179, 8, 7, 0 }, { -6, 2, -180, 8, 7, 0 }, + { -6, 3, -181, 8, 7, 0 }, { -6, 3, -182, 8, 7, 0 }, { -6, 4, -183, 8, 7, 0 }, { -6, 5, -184, 8, 7, 0 }, { -6, 5, -185, 8, 7, 0 }, + { -6, 6, -186, 8, 7, 0 }, { -6, 7, -187, 8, 7, 0 }, { -6, 7, -188, 8, 7, 0 }, { -6, 8, -189, 8, 7, 0 }, { -7, 9, -190, 8, 7, 0 }, + { -7, 10, -191, 8, 7, 0 }, { -7, 11, -192, 8, 7, 0 }, { -7, 12, -193, 8, 7, 0 }, { -7, 13, -194, 8, 7, 0 }, { -7, 14, -195, 8, 7, 0 }, + { -7, 14, -196, 8, 7, 0 }, { -7, 15, -197, 8, 7, 0 }, { -7, 16, -198, 8, 7, 0 }, { -7, 17, -199, 8, 7, 0 }, { -8, 18, -200, 8, 7, 0 }, + { -8, 19, -201, 8, 7, 0 }, { -8, 20, -202, 8, 7, 0 }, { -8, 21, -203, 8, 7, 0 }, { -8, 22, -204, 8, 7, 0 }, { -8, 23, -205, 8, 7, 0 }, + { -8, 24, -206, 8, 7, 0 }, { -8, 25, -206, 8, 7, 0 }, { -8, 26, -207, 8, 7, 0 }, { -9, 27, -208, 8, 7, 0 }, { -9, 28, -209, 8, 7, 0 }, + { -9, 29, -210, 8, 7, 0 }, { -9, 30, -211, 8, 7, 0 }, { -9, 31, -212, 8, 7, 0 }, { -9, 32, -212, 8, 7, 0 }, { -9, 33, -213, 8, 7, 0 }, + { -9, 34, -214, 8, 6, 0 }, { -9, 35, -215, 8, 6, 0 }, { -9, 36, -215, 8, 6, 0 }, { -10, 37, -216, 8, 6, 0 }, { -10, 38, -217, 8, 6, 0 }, + { -10, 39, -218, 8, 6, 0 }, { -10, 40, -218, 8, 6, 0 }, { -10, 41, -219, 8, 6, 0 }, { -10, 42, -220, 8, 6, 0 }, { -10, 43, -221, 8, 6, 0 }, + { -10, 44, -221, 8, 6, 0 }, { -10, 45, -222, 8, 6, 0 }, { -10, 46, -223, 8, 6, 0 }, { -11, 47, -223, 8, 6, 0 }, { -11, 48, -224, 8, 6, 0 }, + { -11, 49, -224, 8, 6, 0 }, { -11, 50, -225, 8, 6, 0 }, { -11, 51, -226, 8, 6, 0 }, { -11, 52, -226, 8, 6, 0 }, { -11, 53, -227, 8, 6, 0 }, + { -11, 54, -227, 8, 6, 0 }, { -11, 55, -228, 8, 6, 0 }, { -11, 56, -229, 8, 6, 0 }, { -12, 57, -229, 8, 6, 0 }, { -12, 58, -230, 8, 6, 0 }, + { -12, 59, -230, 8, 6, 0 }, { -12, 60, -231, 8, 6, 0 }, { -12, 61, -231, 8, 6, 0 }, { -12, 62, -232, 8, 6, 0 }, { -12, 63, -232, 8, 6, 0 }, + { -12, 64, -233, 8, 6, 0 }, { -12, 65, -233, 8, 6, 0 }, { -13, 66, -234, 8, 6, 0 }, { -13, 67, -234, 8, 6, 0 }, { -13, 68, -235, 8, 6, 0 }, + { -13, 69, -235, 8, 6, 0 }, { -13, 70, -236, 8, 6, 0 }, { -13, 71, -236, 8, 6, 0 }, { -13, 72, -237, 8, 6, 0 }, { -13, 73, -237, 8, 6, 0 }, + { -13, 74, -238, 8, 6, 0 }, { -13, 75, -238, 8, 6, 0 }, { -14, 76, -239, 8, 6, 0 }, { -14, 77, -239, 8, 6, 0 }, { -14, 78, -240, 8, 6, 0 }, + { -14, 79, -240, 8, 6, 0 }, { -14, 80, -241, 8, 6, 0 }, { -14, 81, -241, 8, 6, 0 }, { -14, 82, -242, 8, 6, 0 }, { -14, 83, -242, 8, 6, 0 }, + { -14, 84, -243, 8, 6, 0 }, { -14, 85, -243, 8, 6, 0 }, { -15, 86, -244, 8, 6, 0 }, { -15, 87, -244, 8, 6, 0 }, { -15, 88, -245, 8, 6, 0 }, + { -15, 89, -245, 8, 6, 0 }, { -15, 90, -246, 8, 6, 0 }, { -15, 91, -246, 8, 6, 0 }, { -15, 92, -247, 8, 6, 0 }, { -15, 93, -247, 8, 6, 0 }, + { -15, 94, -248, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DD21E = { - 96, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 14 }, { 25, 16, 0, 0, 0, 14 }, { 24, 16, 0, 0, 0, 14 }, { 23, 16, 0, 0, 0, 14 }, { 22, 16, 0, 0, 0, 14 }, - { 21, 16, 0, 0, 0, 14 }, { 20, 16, 0, 0, 0, 14 }, { 19, 16, 0, 0, 0, 14 }, { 18, 16, 0, 0, 0, 14 }, { 17, 16, 0, 0, 0, 14 }, - { 16, 16, 0, 0, 0, 14 }, { 15, 16, 0, 0, 0, 14 }, { 14, 16, 0, 0, 0, 14 }, { 13, 16, 0, 0, 0, 13 }, { 12, 16, 0, 0, 0, 13 }, - { 11, 16, 0, 0, 0, 13 }, { 10, 16, 0, 0, 0, 13 }, { 9, 16, 0, 0, 0, 13 }, { 8, 16, 0, 0, 0, 13 }, { 7, 16, 0, 0, 0, 13 }, - { 6, 16, 0, 0, 0, 13 }, { 5, 16, 0, 0, 0, 13 }, { 4, 16, 0, 0, 0, 13 }, { 3, 16, 0, 0, 0, 13 }, { 2, 16, 0, 0, 0, 12 }, - { 1, 16, 0, 0, 0, 12 }, { 0, 16, 0, 0, 0, 12 }, { -1, 16, 0, 0, 0, 12 }, { -2, 16, 0, 0, 0, 12 }, { -3, 16, 0, 0, 0, 12 }, - { -4, 16, 0, 0, 0, 12 }, { -5, 16, 0, 0, 0, 12 }, { -6, 16, 0, 0, 0, 12 }, { -7, 16, 0, 0, 0, 12 }, { -8, 16, 0, 0, 0, 12 }, - { -9, 16, 0, 0, 0, 12 }, { -10, 16, 0, 0, 0, 12 }, { -11, 16, 0, 0, 0, 11 }, { -12, 16, 0, 0, 0, 11 }, { -13, 16, 0, 0, 0, 11 }, - { -14, 16, 0, 0, 0, 11 }, { -15, 16, 0, 0, 0, 11 }, { -16, 16, 0, 0, 0, 11 }, { -17, 16, 0, 0, 0, 11 }, { -18, 16, 0, 0, 0, 11 }, - { -19, 16, 0, 0, 0, 11 }, { -20, 16, 0, 0, 0, 11 }, { -21, 16, 0, 0, 0, 11 }, { -22, 16, 0, 0, 0, 10 }, { -23, 16, 0, 0, 0, 10 }, - { -24, 16, 0, 0, 0, 10 }, { -25, 16, 0, 0, 0, 10 }, { -26, 16, 0, 0, 0, 10 }, { -27, 16, 0, 0, 0, 10 }, { -28, 16, 0, 0, 0, 10 }, - { -29, 16, 0, 0, 0, 10 }, { -30, 16, 0, 0, 0, 10 }, { -31, 16, 0, 0, 0, 10 }, { -32, 16, 0, 0, 0, 10 }, { -33, 16, 0, 0, 0, 10 }, - { -34, 16, 0, 0, 0, 10 }, { -35, 16, 0, 0, 0, 19 }, { -36, 16, 0, 0, 0, 19 }, { -37, 16, 0, 0, 0, 19 }, { -38, 16, 0, 0, 0, 19 }, - { -39, 16, 0, 0, 0, 19 }, { -40, 16, 0, 0, 0, 19 }, { -41, 16, 0, 0, 0, 19 }, { -42, 16, 0, 0, 0, 19 }, { -43, 16, 0, 0, 0, 19 }, - { -44, 16, 0, 0, 0, 19 }, { -45, 16, 0, 0, 0, 19 }, { -46, 16, 0, 0, 0, 18 }, { -47, 16, 0, 0, 0, 18 }, { -48, 16, 0, 0, 0, 18 }, - { -49, 16, 0, 0, 0, 18 }, { -50, 16, 0, 0, 0, 18 }, { -51, 16, 0, 0, 0, 18 }, { -52, 16, 0, 0, 0, 18 }, { -53, 16, 0, 0, 0, 18 }, - { -54, 16, 0, 0, 0, 18 }, { -55, 16, 0, 0, 0, 18 }, { -56, 16, 0, 0, 0, 18 }, { -57, 16, 0, 0, 0, 18 }, { -58, 16, 0, 0, 0, 18 }, - { -59, 16, 0, 16, 16, 0 }, { -60, 16, 0, 16, 16, 0 }, { -61, 16, 0, 16, 16, 0 }, { -62, 16, 0, 16, 16, 0 }, { -63, 16, 0, 16, 16, 0 }, - { -64, 16, 0, 16, 16, 0 }, + 96, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 14 }, { 25, 16, 0, 0, 0, 14 }, { 24, 16, 0, 0, 0, 14 }, { 23, 16, 0, 0, 0, 14 }, { 22, 16, 0, 0, 0, 14 }, + { 21, 16, 0, 0, 0, 14 }, { 20, 16, 0, 0, 0, 14 }, { 19, 16, 0, 0, 0, 14 }, { 18, 16, 0, 0, 0, 14 }, { 17, 16, 0, 0, 0, 14 }, + { 16, 16, 0, 0, 0, 14 }, { 15, 16, 0, 0, 0, 14 }, { 14, 16, 0, 0, 0, 14 }, { 13, 16, 0, 0, 0, 13 }, { 12, 16, 0, 0, 0, 13 }, + { 11, 16, 0, 0, 0, 13 }, { 10, 16, 0, 0, 0, 13 }, { 9, 16, 0, 0, 0, 13 }, { 8, 16, 0, 0, 0, 13 }, { 7, 16, 0, 0, 0, 13 }, + { 6, 16, 0, 0, 0, 13 }, { 5, 16, 0, 0, 0, 13 }, { 4, 16, 0, 0, 0, 13 }, { 3, 16, 0, 0, 0, 13 }, { 2, 16, 0, 0, 0, 12 }, + { 1, 16, 0, 0, 0, 12 }, { 0, 16, 0, 0, 0, 12 }, { -1, 16, 0, 0, 0, 12 }, { -2, 16, 0, 0, 0, 12 }, { -3, 16, 0, 0, 0, 12 }, + { -4, 16, 0, 0, 0, 12 }, { -5, 16, 0, 0, 0, 12 }, { -6, 16, 0, 0, 0, 12 }, { -7, 16, 0, 0, 0, 12 }, { -8, 16, 0, 0, 0, 12 }, + { -9, 16, 0, 0, 0, 12 }, { -10, 16, 0, 0, 0, 12 }, { -11, 16, 0, 0, 0, 11 }, { -12, 16, 0, 0, 0, 11 }, { -13, 16, 0, 0, 0, 11 }, + { -14, 16, 0, 0, 0, 11 }, { -15, 16, 0, 0, 0, 11 }, { -16, 16, 0, 0, 0, 11 }, { -17, 16, 0, 0, 0, 11 }, { -18, 16, 0, 0, 0, 11 }, + { -19, 16, 0, 0, 0, 11 }, { -20, 16, 0, 0, 0, 11 }, { -21, 16, 0, 0, 0, 11 }, { -22, 16, 0, 0, 0, 10 }, { -23, 16, 0, 0, 0, 10 }, + { -24, 16, 0, 0, 0, 10 }, { -25, 16, 0, 0, 0, 10 }, { -26, 16, 0, 0, 0, 10 }, { -27, 16, 0, 0, 0, 10 }, { -28, 16, 0, 0, 0, 10 }, + { -29, 16, 0, 0, 0, 10 }, { -30, 16, 0, 0, 0, 10 }, { -31, 16, 0, 0, 0, 10 }, { -32, 16, 0, 0, 0, 10 }, { -33, 16, 0, 0, 0, 10 }, + { -34, 16, 0, 0, 0, 10 }, { -35, 16, 0, 0, 0, 19 }, { -36, 16, 0, 0, 0, 19 }, { -37, 16, 0, 0, 0, 19 }, { -38, 16, 0, 0, 0, 19 }, + { -39, 16, 0, 0, 0, 19 }, { -40, 16, 0, 0, 0, 19 }, { -41, 16, 0, 0, 0, 19 }, { -42, 16, 0, 0, 0, 19 }, { -43, 16, 0, 0, 0, 19 }, + { -44, 16, 0, 0, 0, 19 }, { -45, 16, 0, 0, 0, 19 }, { -46, 16, 0, 0, 0, 18 }, { -47, 16, 0, 0, 0, 18 }, { -48, 16, 0, 0, 0, 18 }, + { -49, 16, 0, 0, 0, 18 }, { -50, 16, 0, 0, 0, 18 }, { -51, 16, 0, 0, 0, 18 }, { -52, 16, 0, 0, 0, 18 }, { -53, 16, 0, 0, 0, 18 }, + { -54, 16, 0, 0, 0, 18 }, { -55, 16, 0, 0, 0, 18 }, { -56, 16, 0, 0, 0, 18 }, { -57, 16, 0, 0, 0, 18 }, { -58, 16, 0, 0, 0, 18 }, + { -59, 16, 0, 16, 16, 0 }, { -60, 16, 0, 16, 16, 0 }, { -61, 16, 0, 16, 16, 0 }, { -62, 16, 0, 16, 16, 0 }, { -63, 16, 0, 16, 16, 0 }, + { -64, 16, 0, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DD580 = { - 96, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 14 }, { 16, 6, 0, 8, 0, 14 }, { 16, 7, 0, 8, 0, 14 }, { 16, 8, 0, 8, 0, 14 }, { 16, 9, 0, 8, 0, 14 }, - { 16, 10, 0, 8, 0, 14 }, { 16, 11, 0, 8, 0, 14 }, { 16, 12, 0, 8, 0, 14 }, { 16, 13, 0, 8, 0, 14 }, { 16, 14, 0, 8, 0, 14 }, - { 16, 15, 0, 8, 0, 14 }, { 16, 16, 0, 8, 0, 14 }, { 16, 17, 0, 8, 0, 14 }, { 16, 18, 0, 8, 0, 13 }, { 16, 19, 0, 8, 0, 13 }, - { 16, 20, 0, 8, 0, 13 }, { 16, 21, 0, 8, 0, 13 }, { 16, 22, 0, 8, 0, 13 }, { 16, 23, 0, 8, 0, 13 }, { 16, 24, 0, 8, 0, 13 }, - { 16, 25, 0, 8, 0, 13 }, { 16, 26, 0, 8, 0, 13 }, { 16, 27, 0, 8, 0, 13 }, { 16, 28, 0, 8, 0, 13 }, { 16, 29, 0, 8, 0, 12 }, - { 16, 30, 0, 8, 0, 12 }, { 16, 31, 0, 8, 0, 12 }, { 16, 32, 0, 8, 0, 12 }, { 16, 33, 0, 8, 0, 12 }, { 16, 34, 0, 8, 0, 12 }, - { 16, 35, 0, 8, 0, 12 }, { 16, 36, 0, 8, 0, 12 }, { 16, 37, 0, 8, 0, 12 }, { 16, 38, 0, 8, 0, 12 }, { 16, 39, 0, 8, 0, 12 }, - { 16, 40, 0, 8, 0, 12 }, { 16, 41, 0, 8, 0, 12 }, { 16, 42, 0, 8, 0, 11 }, { 16, 43, 0, 8, 0, 11 }, { 16, 44, 0, 8, 0, 11 }, - { 16, 45, 0, 8, 0, 11 }, { 16, 46, 0, 8, 0, 11 }, { 16, 47, 0, 8, 0, 11 }, { 16, 48, 0, 8, 0, 11 }, { 16, 49, 0, 8, 0, 11 }, - { 16, 50, 0, 8, 0, 11 }, { 16, 51, 0, 8, 0, 11 }, { 16, 52, 0, 8, 0, 11 }, { 16, 53, 0, 8, 0, 10 }, { 16, 54, 0, 8, 0, 10 }, - { 16, 55, 0, 8, 0, 10 }, { 16, 56, 0, 8, 0, 10 }, { 16, 57, 0, 8, 0, 10 }, { 16, 58, 0, 8, 0, 10 }, { 16, 59, 0, 8, 0, 10 }, - { 16, 60, 0, 8, 0, 10 }, { 16, 61, 0, 8, 0, 10 }, { 16, 62, 0, 8, 0, 10 }, { 16, 63, 0, 8, 0, 10 }, { 16, 64, 0, 8, 0, 10 }, - { 16, 65, 0, 8, 0, 10 }, { 16, 66, 0, 8, 0, 19 }, { 16, 67, 0, 8, 0, 19 }, { 16, 68, 0, 8, 0, 19 }, { 16, 69, 0, 8, 0, 19 }, - { 16, 70, 0, 8, 0, 19 }, { 16, 71, 0, 8, 0, 19 }, { 16, 72, 0, 8, 0, 19 }, { 16, 73, 0, 8, 0, 19 }, { 16, 74, 0, 8, 0, 19 }, - { 16, 75, 0, 8, 0, 19 }, { 16, 76, 0, 8, 0, 19 }, { 16, 77, 0, 8, 0, 18 }, { 16, 78, 0, 8, 0, 18 }, { 16, 79, 0, 8, 0, 18 }, - { 16, 80, 0, 8, 0, 18 }, { 16, 81, 0, 8, 0, 18 }, { 16, 82, 0, 8, 0, 18 }, { 16, 83, 0, 8, 0, 18 }, { 16, 84, 0, 8, 0, 18 }, - { 16, 85, 0, 8, 0, 18 }, { 16, 86, 0, 8, 0, 18 }, { 16, 87, 0, 8, 0, 18 }, { 16, 88, 0, 8, 0, 18 }, { 16, 89, 0, 8, 0, 18 }, - { 16, 90, 0, 24, 16, 0 }, { 16, 91, 0, 24, 16, 0 }, { 16, 92, 0, 24, 16, 0 }, { 16, 93, 0, 24, 16, 0 }, { 16, 94, 0, 24, 16, 0 }, - { 16, 95, 0, 24, 16, 0 }, + 96, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 14 }, { 16, 6, 0, 8, 0, 14 }, { 16, 7, 0, 8, 0, 14 }, { 16, 8, 0, 8, 0, 14 }, { 16, 9, 0, 8, 0, 14 }, + { 16, 10, 0, 8, 0, 14 }, { 16, 11, 0, 8, 0, 14 }, { 16, 12, 0, 8, 0, 14 }, { 16, 13, 0, 8, 0, 14 }, { 16, 14, 0, 8, 0, 14 }, + { 16, 15, 0, 8, 0, 14 }, { 16, 16, 0, 8, 0, 14 }, { 16, 17, 0, 8, 0, 14 }, { 16, 18, 0, 8, 0, 13 }, { 16, 19, 0, 8, 0, 13 }, + { 16, 20, 0, 8, 0, 13 }, { 16, 21, 0, 8, 0, 13 }, { 16, 22, 0, 8, 0, 13 }, { 16, 23, 0, 8, 0, 13 }, { 16, 24, 0, 8, 0, 13 }, + { 16, 25, 0, 8, 0, 13 }, { 16, 26, 0, 8, 0, 13 }, { 16, 27, 0, 8, 0, 13 }, { 16, 28, 0, 8, 0, 13 }, { 16, 29, 0, 8, 0, 12 }, + { 16, 30, 0, 8, 0, 12 }, { 16, 31, 0, 8, 0, 12 }, { 16, 32, 0, 8, 0, 12 }, { 16, 33, 0, 8, 0, 12 }, { 16, 34, 0, 8, 0, 12 }, + { 16, 35, 0, 8, 0, 12 }, { 16, 36, 0, 8, 0, 12 }, { 16, 37, 0, 8, 0, 12 }, { 16, 38, 0, 8, 0, 12 }, { 16, 39, 0, 8, 0, 12 }, + { 16, 40, 0, 8, 0, 12 }, { 16, 41, 0, 8, 0, 12 }, { 16, 42, 0, 8, 0, 11 }, { 16, 43, 0, 8, 0, 11 }, { 16, 44, 0, 8, 0, 11 }, + { 16, 45, 0, 8, 0, 11 }, { 16, 46, 0, 8, 0, 11 }, { 16, 47, 0, 8, 0, 11 }, { 16, 48, 0, 8, 0, 11 }, { 16, 49, 0, 8, 0, 11 }, + { 16, 50, 0, 8, 0, 11 }, { 16, 51, 0, 8, 0, 11 }, { 16, 52, 0, 8, 0, 11 }, { 16, 53, 0, 8, 0, 10 }, { 16, 54, 0, 8, 0, 10 }, + { 16, 55, 0, 8, 0, 10 }, { 16, 56, 0, 8, 0, 10 }, { 16, 57, 0, 8, 0, 10 }, { 16, 58, 0, 8, 0, 10 }, { 16, 59, 0, 8, 0, 10 }, + { 16, 60, 0, 8, 0, 10 }, { 16, 61, 0, 8, 0, 10 }, { 16, 62, 0, 8, 0, 10 }, { 16, 63, 0, 8, 0, 10 }, { 16, 64, 0, 8, 0, 10 }, + { 16, 65, 0, 8, 0, 10 }, { 16, 66, 0, 8, 0, 19 }, { 16, 67, 0, 8, 0, 19 }, { 16, 68, 0, 8, 0, 19 }, { 16, 69, 0, 8, 0, 19 }, + { 16, 70, 0, 8, 0, 19 }, { 16, 71, 0, 8, 0, 19 }, { 16, 72, 0, 8, 0, 19 }, { 16, 73, 0, 8, 0, 19 }, { 16, 74, 0, 8, 0, 19 }, + { 16, 75, 0, 8, 0, 19 }, { 16, 76, 0, 8, 0, 19 }, { 16, 77, 0, 8, 0, 18 }, { 16, 78, 0, 8, 0, 18 }, { 16, 79, 0, 8, 0, 18 }, + { 16, 80, 0, 8, 0, 18 }, { 16, 81, 0, 8, 0, 18 }, { 16, 82, 0, 8, 0, 18 }, { 16, 83, 0, 8, 0, 18 }, { 16, 84, 0, 8, 0, 18 }, + { 16, 85, 0, 8, 0, 18 }, { 16, 86, 0, 8, 0, 18 }, { 16, 87, 0, 8, 0, 18 }, { 16, 88, 0, 8, 0, 18 }, { 16, 89, 0, 8, 0, 18 }, + { 16, 90, 0, 24, 16, 0 }, { 16, 91, 0, 24, 16, 0 }, { 16, 92, 0, 24, 16, 0 }, { 16, 93, 0, 24, 16, 0 }, { 16, 94, 0, 24, 16, 0 }, + { 16, 95, 0, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DD8E2 = { - 96, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 14 }, { 6, 16, 0, 16, 0, 14 }, { 7, 16, 0, 16, 0, 14 }, { 8, 16, 0, 16, 0, 14 }, { 9, 16, 0, 16, 0, 14 }, - { 10, 16, 0, 16, 0, 14 }, { 11, 16, 0, 16, 0, 14 }, { 12, 16, 0, 16, 0, 14 }, { 13, 16, 0, 16, 0, 14 }, { 14, 16, 0, 16, 0, 14 }, - { 15, 16, 0, 16, 0, 14 }, { 16, 16, 0, 16, 0, 14 }, { 17, 16, 0, 16, 0, 14 }, { 18, 16, 0, 16, 0, 13 }, { 19, 16, 0, 16, 0, 13 }, - { 20, 16, 0, 16, 0, 13 }, { 21, 16, 0, 16, 0, 13 }, { 22, 16, 0, 16, 0, 13 }, { 23, 16, 0, 16, 0, 13 }, { 24, 16, 0, 16, 0, 13 }, - { 25, 16, 0, 16, 0, 13 }, { 26, 16, 0, 16, 0, 13 }, { 27, 16, 0, 16, 0, 13 }, { 28, 16, 0, 16, 0, 13 }, { 29, 16, 0, 16, 0, 12 }, - { 30, 16, 0, 16, 0, 12 }, { 31, 16, 0, 16, 0, 12 }, { 32, 16, 0, 16, 0, 12 }, { 33, 16, 0, 16, 0, 12 }, { 34, 16, 0, 16, 0, 12 }, - { 35, 16, 0, 16, 0, 12 }, { 36, 16, 0, 16, 0, 12 }, { 37, 16, 0, 16, 0, 12 }, { 38, 16, 0, 16, 0, 12 }, { 39, 16, 0, 16, 0, 12 }, - { 40, 16, 0, 16, 0, 12 }, { 41, 16, 0, 16, 0, 12 }, { 42, 16, 0, 16, 0, 11 }, { 43, 16, 0, 16, 0, 11 }, { 44, 16, 0, 16, 0, 11 }, - { 45, 16, 0, 16, 0, 11 }, { 46, 16, 0, 16, 0, 11 }, { 47, 16, 0, 16, 0, 11 }, { 48, 16, 0, 16, 0, 11 }, { 49, 16, 0, 16, 0, 11 }, - { 50, 16, 0, 16, 0, 11 }, { 51, 16, 0, 16, 0, 11 }, { 52, 16, 0, 16, 0, 11 }, { 53, 16, 0, 16, 0, 10 }, { 54, 16, 0, 16, 0, 10 }, - { 55, 16, 0, 16, 0, 10 }, { 56, 16, 0, 16, 0, 10 }, { 57, 16, 0, 16, 0, 10 }, { 58, 16, 0, 16, 0, 10 }, { 59, 16, 0, 16, 0, 10 }, - { 60, 16, 0, 16, 0, 10 }, { 61, 16, 0, 16, 0, 10 }, { 62, 16, 0, 16, 0, 10 }, { 63, 16, 0, 16, 0, 10 }, { 64, 16, 0, 16, 0, 10 }, - { 65, 16, 0, 16, 0, 10 }, { 66, 16, 0, 16, 0, 19 }, { 67, 16, 0, 16, 0, 19 }, { 68, 16, 0, 16, 0, 19 }, { 69, 16, 0, 16, 0, 19 }, - { 70, 16, 0, 16, 0, 19 }, { 71, 16, 0, 16, 0, 19 }, { 72, 16, 0, 16, 0, 19 }, { 73, 16, 0, 16, 0, 19 }, { 74, 16, 0, 16, 0, 19 }, - { 75, 16, 0, 16, 0, 19 }, { 76, 16, 0, 16, 0, 19 }, { 77, 16, 0, 16, 0, 18 }, { 78, 16, 0, 16, 0, 18 }, { 79, 16, 0, 16, 0, 18 }, - { 80, 16, 0, 16, 0, 18 }, { 81, 16, 0, 16, 0, 18 }, { 82, 16, 0, 16, 0, 18 }, { 83, 16, 0, 16, 0, 18 }, { 84, 16, 0, 16, 0, 18 }, - { 85, 16, 0, 16, 0, 18 }, { 86, 16, 0, 16, 0, 18 }, { 87, 16, 0, 16, 0, 18 }, { 88, 16, 0, 16, 0, 18 }, { 89, 16, 0, 16, 0, 18 }, - { 90, 16, 0, 0, 16, 0 }, { 91, 16, 0, 0, 16, 0 }, { 92, 16, 0, 0, 16, 0 }, { 93, 16, 0, 0, 16, 0 }, { 94, 16, 0, 0, 16, 0 }, - { 95, 16, 0, 0, 16, 0 }, + 96, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 14 }, { 6, 16, 0, 16, 0, 14 }, { 7, 16, 0, 16, 0, 14 }, { 8, 16, 0, 16, 0, 14 }, { 9, 16, 0, 16, 0, 14 }, + { 10, 16, 0, 16, 0, 14 }, { 11, 16, 0, 16, 0, 14 }, { 12, 16, 0, 16, 0, 14 }, { 13, 16, 0, 16, 0, 14 }, { 14, 16, 0, 16, 0, 14 }, + { 15, 16, 0, 16, 0, 14 }, { 16, 16, 0, 16, 0, 14 }, { 17, 16, 0, 16, 0, 14 }, { 18, 16, 0, 16, 0, 13 }, { 19, 16, 0, 16, 0, 13 }, + { 20, 16, 0, 16, 0, 13 }, { 21, 16, 0, 16, 0, 13 }, { 22, 16, 0, 16, 0, 13 }, { 23, 16, 0, 16, 0, 13 }, { 24, 16, 0, 16, 0, 13 }, + { 25, 16, 0, 16, 0, 13 }, { 26, 16, 0, 16, 0, 13 }, { 27, 16, 0, 16, 0, 13 }, { 28, 16, 0, 16, 0, 13 }, { 29, 16, 0, 16, 0, 12 }, + { 30, 16, 0, 16, 0, 12 }, { 31, 16, 0, 16, 0, 12 }, { 32, 16, 0, 16, 0, 12 }, { 33, 16, 0, 16, 0, 12 }, { 34, 16, 0, 16, 0, 12 }, + { 35, 16, 0, 16, 0, 12 }, { 36, 16, 0, 16, 0, 12 }, { 37, 16, 0, 16, 0, 12 }, { 38, 16, 0, 16, 0, 12 }, { 39, 16, 0, 16, 0, 12 }, + { 40, 16, 0, 16, 0, 12 }, { 41, 16, 0, 16, 0, 12 }, { 42, 16, 0, 16, 0, 11 }, { 43, 16, 0, 16, 0, 11 }, { 44, 16, 0, 16, 0, 11 }, + { 45, 16, 0, 16, 0, 11 }, { 46, 16, 0, 16, 0, 11 }, { 47, 16, 0, 16, 0, 11 }, { 48, 16, 0, 16, 0, 11 }, { 49, 16, 0, 16, 0, 11 }, + { 50, 16, 0, 16, 0, 11 }, { 51, 16, 0, 16, 0, 11 }, { 52, 16, 0, 16, 0, 11 }, { 53, 16, 0, 16, 0, 10 }, { 54, 16, 0, 16, 0, 10 }, + { 55, 16, 0, 16, 0, 10 }, { 56, 16, 0, 16, 0, 10 }, { 57, 16, 0, 16, 0, 10 }, { 58, 16, 0, 16, 0, 10 }, { 59, 16, 0, 16, 0, 10 }, + { 60, 16, 0, 16, 0, 10 }, { 61, 16, 0, 16, 0, 10 }, { 62, 16, 0, 16, 0, 10 }, { 63, 16, 0, 16, 0, 10 }, { 64, 16, 0, 16, 0, 10 }, + { 65, 16, 0, 16, 0, 10 }, { 66, 16, 0, 16, 0, 19 }, { 67, 16, 0, 16, 0, 19 }, { 68, 16, 0, 16, 0, 19 }, { 69, 16, 0, 16, 0, 19 }, + { 70, 16, 0, 16, 0, 19 }, { 71, 16, 0, 16, 0, 19 }, { 72, 16, 0, 16, 0, 19 }, { 73, 16, 0, 16, 0, 19 }, { 74, 16, 0, 16, 0, 19 }, + { 75, 16, 0, 16, 0, 19 }, { 76, 16, 0, 16, 0, 19 }, { 77, 16, 0, 16, 0, 18 }, { 78, 16, 0, 16, 0, 18 }, { 79, 16, 0, 16, 0, 18 }, + { 80, 16, 0, 16, 0, 18 }, { 81, 16, 0, 16, 0, 18 }, { 82, 16, 0, 16, 0, 18 }, { 83, 16, 0, 16, 0, 18 }, { 84, 16, 0, 16, 0, 18 }, + { 85, 16, 0, 16, 0, 18 }, { 86, 16, 0, 16, 0, 18 }, { 87, 16, 0, 16, 0, 18 }, { 88, 16, 0, 16, 0, 18 }, { 89, 16, 0, 16, 0, 18 }, + { 90, 16, 0, 0, 16, 0 }, { 91, 16, 0, 0, 16, 0 }, { 92, 16, 0, 0, 16, 0 }, { 93, 16, 0, 0, 16, 0 }, { 94, 16, 0, 0, 16, 0 }, + { 95, 16, 0, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DDC44 = { - 96, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 14 }, { 16, 25, 0, 24, 0, 14 }, { 16, 24, 0, 24, 0, 14 }, { 16, 23, 0, 24, 0, 14 }, { 16, 22, 0, 24, 0, 14 }, - { 16, 21, 0, 24, 0, 14 }, { 16, 20, 0, 24, 0, 14 }, { 16, 19, 0, 24, 0, 14 }, { 16, 18, 0, 24, 0, 14 }, { 16, 17, 0, 24, 0, 14 }, - { 16, 16, 0, 24, 0, 14 }, { 16, 15, 0, 24, 0, 14 }, { 16, 14, 0, 24, 0, 14 }, { 16, 13, 0, 24, 0, 13 }, { 16, 12, 0, 24, 0, 13 }, - { 16, 11, 0, 24, 0, 13 }, { 16, 10, 0, 24, 0, 13 }, { 16, 9, 0, 24, 0, 13 }, { 16, 8, 0, 24, 0, 13 }, { 16, 7, 0, 24, 0, 13 }, - { 16, 6, 0, 24, 0, 13 }, { 16, 5, 0, 24, 0, 13 }, { 16, 4, 0, 24, 0, 13 }, { 16, 3, 0, 24, 0, 13 }, { 16, 2, 0, 24, 0, 12 }, - { 16, 1, 0, 24, 0, 12 }, { 16, 0, 0, 24, 0, 12 }, { 16, -1, 0, 24, 0, 12 }, { 16, -2, 0, 24, 0, 12 }, { 16, -3, 0, 24, 0, 12 }, - { 16, -4, 0, 24, 0, 12 }, { 16, -5, 0, 24, 0, 12 }, { 16, -6, 0, 24, 0, 12 }, { 16, -7, 0, 24, 0, 12 }, { 16, -8, 0, 24, 0, 12 }, - { 16, -9, 0, 24, 0, 12 }, { 16, -10, 0, 24, 0, 12 }, { 16, -11, 0, 24, 0, 11 }, { 16, -12, 0, 24, 0, 11 }, { 16, -13, 0, 24, 0, 11 }, - { 16, -14, 0, 24, 0, 11 }, { 16, -15, 0, 24, 0, 11 }, { 16, -16, 0, 24, 0, 11 }, { 16, -17, 0, 24, 0, 11 }, { 16, -18, 0, 24, 0, 11 }, - { 16, -19, 0, 24, 0, 11 }, { 16, -20, 0, 24, 0, 11 }, { 16, -21, 0, 24, 0, 11 }, { 16, -22, 0, 24, 0, 10 }, { 16, -23, 0, 24, 0, 10 }, - { 16, -24, 0, 24, 0, 10 }, { 16, -25, 0, 24, 0, 10 }, { 16, -26, 0, 24, 0, 10 }, { 16, -27, 0, 24, 0, 10 }, { 16, -28, 0, 24, 0, 10 }, - { 16, -29, 0, 24, 0, 10 }, { 16, -30, 0, 24, 0, 10 }, { 16, -31, 0, 24, 0, 10 }, { 16, -32, 0, 24, 0, 10 }, { 16, -33, 0, 24, 0, 10 }, - { 16, -34, 0, 24, 0, 10 }, { 16, -35, 0, 24, 0, 19 }, { 16, -36, 0, 24, 0, 19 }, { 16, -37, 0, 24, 0, 19 }, { 16, -38, 0, 24, 0, 19 }, - { 16, -39, 0, 24, 0, 19 }, { 16, -40, 0, 24, 0, 19 }, { 16, -41, 0, 24, 0, 19 }, { 16, -42, 0, 24, 0, 19 }, { 16, -43, 0, 24, 0, 19 }, - { 16, -44, 0, 24, 0, 19 }, { 16, -45, 0, 24, 0, 19 }, { 16, -46, 0, 24, 0, 18 }, { 16, -47, 0, 24, 0, 18 }, { 16, -48, 0, 24, 0, 18 }, - { 16, -49, 0, 24, 0, 18 }, { 16, -50, 0, 24, 0, 18 }, { 16, -51, 0, 24, 0, 18 }, { 16, -52, 0, 24, 0, 18 }, { 16, -53, 0, 24, 0, 18 }, - { 16, -54, 0, 24, 0, 18 }, { 16, -55, 0, 24, 0, 18 }, { 16, -56, 0, 24, 0, 18 }, { 16, -57, 0, 24, 0, 18 }, { 16, -58, 0, 24, 0, 18 }, - { 16, -59, 0, 8, 16, 0 }, { 16, -60, 0, 8, 16, 0 }, { 16, -61, 0, 8, 16, 0 }, { 16, -62, 0, 8, 16, 0 }, { 16, -63, 0, 8, 16, 0 }, - { 16, -64, 0, 8, 16, 0 }, + 96, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 14 }, { 16, 25, 0, 24, 0, 14 }, { 16, 24, 0, 24, 0, 14 }, { 16, 23, 0, 24, 0, 14 }, { 16, 22, 0, 24, 0, 14 }, + { 16, 21, 0, 24, 0, 14 }, { 16, 20, 0, 24, 0, 14 }, { 16, 19, 0, 24, 0, 14 }, { 16, 18, 0, 24, 0, 14 }, { 16, 17, 0, 24, 0, 14 }, + { 16, 16, 0, 24, 0, 14 }, { 16, 15, 0, 24, 0, 14 }, { 16, 14, 0, 24, 0, 14 }, { 16, 13, 0, 24, 0, 13 }, { 16, 12, 0, 24, 0, 13 }, + { 16, 11, 0, 24, 0, 13 }, { 16, 10, 0, 24, 0, 13 }, { 16, 9, 0, 24, 0, 13 }, { 16, 8, 0, 24, 0, 13 }, { 16, 7, 0, 24, 0, 13 }, + { 16, 6, 0, 24, 0, 13 }, { 16, 5, 0, 24, 0, 13 }, { 16, 4, 0, 24, 0, 13 }, { 16, 3, 0, 24, 0, 13 }, { 16, 2, 0, 24, 0, 12 }, + { 16, 1, 0, 24, 0, 12 }, { 16, 0, 0, 24, 0, 12 }, { 16, -1, 0, 24, 0, 12 }, { 16, -2, 0, 24, 0, 12 }, { 16, -3, 0, 24, 0, 12 }, + { 16, -4, 0, 24, 0, 12 }, { 16, -5, 0, 24, 0, 12 }, { 16, -6, 0, 24, 0, 12 }, { 16, -7, 0, 24, 0, 12 }, { 16, -8, 0, 24, 0, 12 }, + { 16, -9, 0, 24, 0, 12 }, { 16, -10, 0, 24, 0, 12 }, { 16, -11, 0, 24, 0, 11 }, { 16, -12, 0, 24, 0, 11 }, { 16, -13, 0, 24, 0, 11 }, + { 16, -14, 0, 24, 0, 11 }, { 16, -15, 0, 24, 0, 11 }, { 16, -16, 0, 24, 0, 11 }, { 16, -17, 0, 24, 0, 11 }, { 16, -18, 0, 24, 0, 11 }, + { 16, -19, 0, 24, 0, 11 }, { 16, -20, 0, 24, 0, 11 }, { 16, -21, 0, 24, 0, 11 }, { 16, -22, 0, 24, 0, 10 }, { 16, -23, 0, 24, 0, 10 }, + { 16, -24, 0, 24, 0, 10 }, { 16, -25, 0, 24, 0, 10 }, { 16, -26, 0, 24, 0, 10 }, { 16, -27, 0, 24, 0, 10 }, { 16, -28, 0, 24, 0, 10 }, + { 16, -29, 0, 24, 0, 10 }, { 16, -30, 0, 24, 0, 10 }, { 16, -31, 0, 24, 0, 10 }, { 16, -32, 0, 24, 0, 10 }, { 16, -33, 0, 24, 0, 10 }, + { 16, -34, 0, 24, 0, 10 }, { 16, -35, 0, 24, 0, 19 }, { 16, -36, 0, 24, 0, 19 }, { 16, -37, 0, 24, 0, 19 }, { 16, -38, 0, 24, 0, 19 }, + { 16, -39, 0, 24, 0, 19 }, { 16, -40, 0, 24, 0, 19 }, { 16, -41, 0, 24, 0, 19 }, { 16, -42, 0, 24, 0, 19 }, { 16, -43, 0, 24, 0, 19 }, + { 16, -44, 0, 24, 0, 19 }, { 16, -45, 0, 24, 0, 19 }, { 16, -46, 0, 24, 0, 18 }, { 16, -47, 0, 24, 0, 18 }, { 16, -48, 0, 24, 0, 18 }, + { 16, -49, 0, 24, 0, 18 }, { 16, -50, 0, 24, 0, 18 }, { 16, -51, 0, 24, 0, 18 }, { 16, -52, 0, 24, 0, 18 }, { 16, -53, 0, 24, 0, 18 }, + { 16, -54, 0, 24, 0, 18 }, { 16, -55, 0, 24, 0, 18 }, { 16, -56, 0, 24, 0, 18 }, { 16, -57, 0, 24, 0, 18 }, { 16, -58, 0, 24, 0, 18 }, + { 16, -59, 0, 8, 16, 0 }, { 16, -60, 0, 8, 16, 0 }, { 16, -61, 0, 8, 16, 0 }, { 16, -62, 0, 8, 16, 0 }, { 16, -63, 0, 8, 16, 0 }, + { 16, -64, 0, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DDFA6 = { - 96, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 9 }, { 25, 16, 0, 0, 0, 9 }, { 24, 16, 0, 0, 0, 9 }, { 23, 16, 0, 0, 0, 9 }, { 22, 16, 0, 0, 0, 9 }, - { 21, 16, 0, 0, 0, 9 }, { 20, 16, 0, 0, 0, 9 }, { 19, 16, 0, 0, 0, 9 }, { 18, 16, 0, 0, 0, 9 }, { 17, 16, 0, 0, 0, 9 }, - { 16, 16, 0, 0, 0, 9 }, { 15, 16, 0, 0, 0, 9 }, { 14, 16, 0, 0, 0, 9 }, { 13, 16, 0, 0, 0, 8 }, { 12, 16, 0, 0, 0, 8 }, - { 11, 16, 0, 0, 0, 8 }, { 10, 16, 0, 0, 0, 8 }, { 9, 16, 0, 0, 0, 8 }, { 8, 16, 0, 0, 0, 8 }, { 7, 16, 0, 0, 0, 8 }, - { 6, 16, 0, 0, 0, 8 }, { 5, 16, 0, 0, 0, 8 }, { 4, 16, 0, 0, 0, 8 }, { 3, 16, 0, 0, 0, 8 }, { 2, 16, 0, 0, 0, 7 }, - { 1, 16, 0, 0, 0, 7 }, { 0, 16, 0, 0, 0, 7 }, { -1, 16, 0, 0, 0, 7 }, { -2, 16, 0, 0, 0, 7 }, { -3, 16, 0, 0, 0, 7 }, - { -4, 16, 0, 0, 0, 7 }, { -5, 16, 0, 0, 0, 7 }, { -6, 16, 0, 0, 0, 7 }, { -7, 16, 0, 0, 0, 7 }, { -8, 16, 0, 0, 0, 7 }, - { -9, 16, 0, 0, 0, 7 }, { -10, 16, 0, 0, 0, 7 }, { -11, 16, 0, 0, 0, 6 }, { -12, 16, 0, 0, 0, 6 }, { -13, 16, 0, 0, 0, 6 }, - { -14, 16, 0, 0, 0, 6 }, { -15, 16, 0, 0, 0, 6 }, { -16, 16, 0, 0, 0, 6 }, { -17, 16, 0, 0, 0, 6 }, { -18, 16, 0, 0, 0, 6 }, - { -19, 16, 0, 0, 0, 6 }, { -20, 16, 0, 0, 0, 6 }, { -21, 16, 0, 0, 0, 6 }, { -22, 16, 0, 0, 0, 5 }, { -23, 16, 0, 0, 0, 5 }, - { -24, 16, 0, 0, 0, 5 }, { -25, 16, 0, 0, 0, 5 }, { -26, 16, 0, 0, 0, 5 }, { -27, 16, 0, 0, 0, 5 }, { -28, 16, 0, 0, 0, 5 }, - { -29, 16, 0, 0, 0, 5 }, { -30, 16, 0, 0, 0, 5 }, { -31, 16, 0, 0, 0, 5 }, { -32, 16, 0, 0, 0, 5 }, { -33, 16, 0, 0, 0, 5 }, - { -34, 16, 0, 0, 0, 5 }, { -35, 16, 0, 0, 0, 17 }, { -36, 16, 0, 0, 0, 17 }, { -37, 16, 0, 0, 0, 17 }, { -38, 16, 0, 0, 0, 17 }, - { -39, 16, 0, 0, 0, 17 }, { -40, 16, 0, 0, 0, 17 }, { -41, 16, 0, 0, 0, 17 }, { -42, 16, 0, 0, 0, 17 }, { -43, 16, 0, 0, 0, 17 }, - { -44, 16, 0, 0, 0, 17 }, { -45, 16, 0, 0, 0, 17 }, { -46, 16, 0, 0, 0, 16 }, { -47, 16, 0, 0, 0, 16 }, { -48, 16, 0, 0, 0, 16 }, - { -49, 16, 0, 0, 0, 16 }, { -50, 16, 0, 0, 0, 16 }, { -51, 16, 0, 0, 0, 16 }, { -52, 16, 0, 0, 0, 16 }, { -53, 16, 0, 0, 0, 16 }, - { -54, 16, 0, 0, 0, 16 }, { -55, 16, 0, 0, 0, 16 }, { -56, 16, 0, 0, 0, 16 }, { -57, 16, 0, 0, 0, 16 }, { -58, 16, 0, 0, 0, 16 }, - { -59, 16, 0, 16, 16, 0 }, { -60, 16, 0, 16, 16, 0 }, { -61, 16, 0, 16, 16, 0 }, { -62, 16, 0, 16, 16, 0 }, { -63, 16, 0, 16, 16, 0 }, - { -64, 16, 0, 16, 16, 0 }, + 96, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 9 }, { 25, 16, 0, 0, 0, 9 }, { 24, 16, 0, 0, 0, 9 }, { 23, 16, 0, 0, 0, 9 }, { 22, 16, 0, 0, 0, 9 }, + { 21, 16, 0, 0, 0, 9 }, { 20, 16, 0, 0, 0, 9 }, { 19, 16, 0, 0, 0, 9 }, { 18, 16, 0, 0, 0, 9 }, { 17, 16, 0, 0, 0, 9 }, + { 16, 16, 0, 0, 0, 9 }, { 15, 16, 0, 0, 0, 9 }, { 14, 16, 0, 0, 0, 9 }, { 13, 16, 0, 0, 0, 8 }, { 12, 16, 0, 0, 0, 8 }, + { 11, 16, 0, 0, 0, 8 }, { 10, 16, 0, 0, 0, 8 }, { 9, 16, 0, 0, 0, 8 }, { 8, 16, 0, 0, 0, 8 }, { 7, 16, 0, 0, 0, 8 }, + { 6, 16, 0, 0, 0, 8 }, { 5, 16, 0, 0, 0, 8 }, { 4, 16, 0, 0, 0, 8 }, { 3, 16, 0, 0, 0, 8 }, { 2, 16, 0, 0, 0, 7 }, + { 1, 16, 0, 0, 0, 7 }, { 0, 16, 0, 0, 0, 7 }, { -1, 16, 0, 0, 0, 7 }, { -2, 16, 0, 0, 0, 7 }, { -3, 16, 0, 0, 0, 7 }, + { -4, 16, 0, 0, 0, 7 }, { -5, 16, 0, 0, 0, 7 }, { -6, 16, 0, 0, 0, 7 }, { -7, 16, 0, 0, 0, 7 }, { -8, 16, 0, 0, 0, 7 }, + { -9, 16, 0, 0, 0, 7 }, { -10, 16, 0, 0, 0, 7 }, { -11, 16, 0, 0, 0, 6 }, { -12, 16, 0, 0, 0, 6 }, { -13, 16, 0, 0, 0, 6 }, + { -14, 16, 0, 0, 0, 6 }, { -15, 16, 0, 0, 0, 6 }, { -16, 16, 0, 0, 0, 6 }, { -17, 16, 0, 0, 0, 6 }, { -18, 16, 0, 0, 0, 6 }, + { -19, 16, 0, 0, 0, 6 }, { -20, 16, 0, 0, 0, 6 }, { -21, 16, 0, 0, 0, 6 }, { -22, 16, 0, 0, 0, 5 }, { -23, 16, 0, 0, 0, 5 }, + { -24, 16, 0, 0, 0, 5 }, { -25, 16, 0, 0, 0, 5 }, { -26, 16, 0, 0, 0, 5 }, { -27, 16, 0, 0, 0, 5 }, { -28, 16, 0, 0, 0, 5 }, + { -29, 16, 0, 0, 0, 5 }, { -30, 16, 0, 0, 0, 5 }, { -31, 16, 0, 0, 0, 5 }, { -32, 16, 0, 0, 0, 5 }, { -33, 16, 0, 0, 0, 5 }, + { -34, 16, 0, 0, 0, 5 }, { -35, 16, 0, 0, 0, 17 }, { -36, 16, 0, 0, 0, 17 }, { -37, 16, 0, 0, 0, 17 }, { -38, 16, 0, 0, 0, 17 }, + { -39, 16, 0, 0, 0, 17 }, { -40, 16, 0, 0, 0, 17 }, { -41, 16, 0, 0, 0, 17 }, { -42, 16, 0, 0, 0, 17 }, { -43, 16, 0, 0, 0, 17 }, + { -44, 16, 0, 0, 0, 17 }, { -45, 16, 0, 0, 0, 17 }, { -46, 16, 0, 0, 0, 16 }, { -47, 16, 0, 0, 0, 16 }, { -48, 16, 0, 0, 0, 16 }, + { -49, 16, 0, 0, 0, 16 }, { -50, 16, 0, 0, 0, 16 }, { -51, 16, 0, 0, 0, 16 }, { -52, 16, 0, 0, 0, 16 }, { -53, 16, 0, 0, 0, 16 }, + { -54, 16, 0, 0, 0, 16 }, { -55, 16, 0, 0, 0, 16 }, { -56, 16, 0, 0, 0, 16 }, { -57, 16, 0, 0, 0, 16 }, { -58, 16, 0, 0, 0, 16 }, + { -59, 16, 0, 16, 16, 0 }, { -60, 16, 0, 16, 16, 0 }, { -61, 16, 0, 16, 16, 0 }, { -62, 16, 0, 16, 16, 0 }, { -63, 16, 0, 16, 16, 0 }, + { -64, 16, 0, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DE308 = { - 96, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 9 }, { 16, 6, 0, 8, 0, 9 }, { 16, 7, 0, 8, 0, 9 }, { 16, 8, 0, 8, 0, 9 }, { 16, 9, 0, 8, 0, 9 }, - { 16, 10, 0, 8, 0, 9 }, { 16, 11, 0, 8, 0, 9 }, { 16, 12, 0, 8, 0, 9 }, { 16, 13, 0, 8, 0, 9 }, { 16, 14, 0, 8, 0, 9 }, - { 16, 15, 0, 8, 0, 9 }, { 16, 16, 0, 8, 0, 9 }, { 16, 17, 0, 8, 0, 9 }, { 16, 18, 0, 8, 0, 8 }, { 16, 19, 0, 8, 0, 8 }, - { 16, 20, 0, 8, 0, 8 }, { 16, 21, 0, 8, 0, 8 }, { 16, 22, 0, 8, 0, 8 }, { 16, 23, 0, 8, 0, 8 }, { 16, 24, 0, 8, 0, 8 }, - { 16, 25, 0, 8, 0, 8 }, { 16, 26, 0, 8, 0, 8 }, { 16, 27, 0, 8, 0, 8 }, { 16, 28, 0, 8, 0, 8 }, { 16, 29, 0, 8, 0, 7 }, - { 16, 30, 0, 8, 0, 7 }, { 16, 31, 0, 8, 0, 7 }, { 16, 32, 0, 8, 0, 7 }, { 16, 33, 0, 8, 0, 7 }, { 16, 34, 0, 8, 0, 7 }, - { 16, 35, 0, 8, 0, 7 }, { 16, 36, 0, 8, 0, 7 }, { 16, 37, 0, 8, 0, 7 }, { 16, 38, 0, 8, 0, 7 }, { 16, 39, 0, 8, 0, 7 }, - { 16, 40, 0, 8, 0, 7 }, { 16, 41, 0, 8, 0, 7 }, { 16, 42, 0, 8, 0, 6 }, { 16, 43, 0, 8, 0, 6 }, { 16, 44, 0, 8, 0, 6 }, - { 16, 45, 0, 8, 0, 6 }, { 16, 46, 0, 8, 0, 6 }, { 16, 47, 0, 8, 0, 6 }, { 16, 48, 0, 8, 0, 6 }, { 16, 49, 0, 8, 0, 6 }, - { 16, 50, 0, 8, 0, 6 }, { 16, 51, 0, 8, 0, 6 }, { 16, 52, 0, 8, 0, 6 }, { 16, 53, 0, 8, 0, 5 }, { 16, 54, 0, 8, 0, 5 }, - { 16, 55, 0, 8, 0, 5 }, { 16, 56, 0, 8, 0, 5 }, { 16, 57, 0, 8, 0, 5 }, { 16, 58, 0, 8, 0, 5 }, { 16, 59, 0, 8, 0, 5 }, - { 16, 60, 0, 8, 0, 5 }, { 16, 61, 0, 8, 0, 5 }, { 16, 62, 0, 8, 0, 5 }, { 16, 63, 0, 8, 0, 5 }, { 16, 64, 0, 8, 0, 5 }, - { 16, 65, 0, 8, 0, 5 }, { 16, 66, 0, 8, 0, 17 }, { 16, 67, 0, 8, 0, 17 }, { 16, 68, 0, 8, 0, 17 }, { 16, 69, 0, 8, 0, 17 }, - { 16, 70, 0, 8, 0, 17 }, { 16, 71, 0, 8, 0, 17 }, { 16, 72, 0, 8, 0, 17 }, { 16, 73, 0, 8, 0, 17 }, { 16, 74, 0, 8, 0, 17 }, - { 16, 75, 0, 8, 0, 17 }, { 16, 76, 0, 8, 0, 17 }, { 16, 77, 0, 8, 0, 16 }, { 16, 78, 0, 8, 0, 16 }, { 16, 79, 0, 8, 0, 16 }, - { 16, 80, 0, 8, 0, 16 }, { 16, 81, 0, 8, 0, 16 }, { 16, 82, 0, 8, 0, 16 }, { 16, 83, 0, 8, 0, 16 }, { 16, 84, 0, 8, 0, 16 }, - { 16, 85, 0, 8, 0, 16 }, { 16, 86, 0, 8, 0, 16 }, { 16, 87, 0, 8, 0, 16 }, { 16, 88, 0, 8, 0, 16 }, { 16, 89, 0, 8, 0, 16 }, - { 16, 90, 0, 24, 16, 0 }, { 16, 91, 0, 24, 16, 0 }, { 16, 92, 0, 24, 16, 0 }, { 16, 93, 0, 24, 16, 0 }, { 16, 94, 0, 24, 16, 0 }, - { 16, 95, 0, 24, 16, 0 }, + 96, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 9 }, { 16, 6, 0, 8, 0, 9 }, { 16, 7, 0, 8, 0, 9 }, { 16, 8, 0, 8, 0, 9 }, { 16, 9, 0, 8, 0, 9 }, + { 16, 10, 0, 8, 0, 9 }, { 16, 11, 0, 8, 0, 9 }, { 16, 12, 0, 8, 0, 9 }, { 16, 13, 0, 8, 0, 9 }, { 16, 14, 0, 8, 0, 9 }, + { 16, 15, 0, 8, 0, 9 }, { 16, 16, 0, 8, 0, 9 }, { 16, 17, 0, 8, 0, 9 }, { 16, 18, 0, 8, 0, 8 }, { 16, 19, 0, 8, 0, 8 }, + { 16, 20, 0, 8, 0, 8 }, { 16, 21, 0, 8, 0, 8 }, { 16, 22, 0, 8, 0, 8 }, { 16, 23, 0, 8, 0, 8 }, { 16, 24, 0, 8, 0, 8 }, + { 16, 25, 0, 8, 0, 8 }, { 16, 26, 0, 8, 0, 8 }, { 16, 27, 0, 8, 0, 8 }, { 16, 28, 0, 8, 0, 8 }, { 16, 29, 0, 8, 0, 7 }, + { 16, 30, 0, 8, 0, 7 }, { 16, 31, 0, 8, 0, 7 }, { 16, 32, 0, 8, 0, 7 }, { 16, 33, 0, 8, 0, 7 }, { 16, 34, 0, 8, 0, 7 }, + { 16, 35, 0, 8, 0, 7 }, { 16, 36, 0, 8, 0, 7 }, { 16, 37, 0, 8, 0, 7 }, { 16, 38, 0, 8, 0, 7 }, { 16, 39, 0, 8, 0, 7 }, + { 16, 40, 0, 8, 0, 7 }, { 16, 41, 0, 8, 0, 7 }, { 16, 42, 0, 8, 0, 6 }, { 16, 43, 0, 8, 0, 6 }, { 16, 44, 0, 8, 0, 6 }, + { 16, 45, 0, 8, 0, 6 }, { 16, 46, 0, 8, 0, 6 }, { 16, 47, 0, 8, 0, 6 }, { 16, 48, 0, 8, 0, 6 }, { 16, 49, 0, 8, 0, 6 }, + { 16, 50, 0, 8, 0, 6 }, { 16, 51, 0, 8, 0, 6 }, { 16, 52, 0, 8, 0, 6 }, { 16, 53, 0, 8, 0, 5 }, { 16, 54, 0, 8, 0, 5 }, + { 16, 55, 0, 8, 0, 5 }, { 16, 56, 0, 8, 0, 5 }, { 16, 57, 0, 8, 0, 5 }, { 16, 58, 0, 8, 0, 5 }, { 16, 59, 0, 8, 0, 5 }, + { 16, 60, 0, 8, 0, 5 }, { 16, 61, 0, 8, 0, 5 }, { 16, 62, 0, 8, 0, 5 }, { 16, 63, 0, 8, 0, 5 }, { 16, 64, 0, 8, 0, 5 }, + { 16, 65, 0, 8, 0, 5 }, { 16, 66, 0, 8, 0, 17 }, { 16, 67, 0, 8, 0, 17 }, { 16, 68, 0, 8, 0, 17 }, { 16, 69, 0, 8, 0, 17 }, + { 16, 70, 0, 8, 0, 17 }, { 16, 71, 0, 8, 0, 17 }, { 16, 72, 0, 8, 0, 17 }, { 16, 73, 0, 8, 0, 17 }, { 16, 74, 0, 8, 0, 17 }, + { 16, 75, 0, 8, 0, 17 }, { 16, 76, 0, 8, 0, 17 }, { 16, 77, 0, 8, 0, 16 }, { 16, 78, 0, 8, 0, 16 }, { 16, 79, 0, 8, 0, 16 }, + { 16, 80, 0, 8, 0, 16 }, { 16, 81, 0, 8, 0, 16 }, { 16, 82, 0, 8, 0, 16 }, { 16, 83, 0, 8, 0, 16 }, { 16, 84, 0, 8, 0, 16 }, + { 16, 85, 0, 8, 0, 16 }, { 16, 86, 0, 8, 0, 16 }, { 16, 87, 0, 8, 0, 16 }, { 16, 88, 0, 8, 0, 16 }, { 16, 89, 0, 8, 0, 16 }, + { 16, 90, 0, 24, 16, 0 }, { 16, 91, 0, 24, 16, 0 }, { 16, 92, 0, 24, 16, 0 }, { 16, 93, 0, 24, 16, 0 }, { 16, 94, 0, 24, 16, 0 }, + { 16, 95, 0, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DE66A = { - 96, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 9 }, { 6, 16, 0, 16, 0, 9 }, { 7, 16, 0, 16, 0, 9 }, { 8, 16, 0, 16, 0, 9 }, { 9, 16, 0, 16, 0, 9 }, - { 10, 16, 0, 16, 0, 9 }, { 11, 16, 0, 16, 0, 9 }, { 12, 16, 0, 16, 0, 9 }, { 13, 16, 0, 16, 0, 9 }, { 14, 16, 0, 16, 0, 9 }, - { 15, 16, 0, 16, 0, 9 }, { 16, 16, 0, 16, 0, 9 }, { 17, 16, 0, 16, 0, 9 }, { 18, 16, 0, 16, 0, 8 }, { 19, 16, 0, 16, 0, 8 }, - { 20, 16, 0, 16, 0, 8 }, { 21, 16, 0, 16, 0, 8 }, { 22, 16, 0, 16, 0, 8 }, { 23, 16, 0, 16, 0, 8 }, { 24, 16, 0, 16, 0, 8 }, - { 25, 16, 0, 16, 0, 8 }, { 26, 16, 0, 16, 0, 8 }, { 27, 16, 0, 16, 0, 8 }, { 28, 16, 0, 16, 0, 8 }, { 29, 16, 0, 16, 0, 7 }, - { 30, 16, 0, 16, 0, 7 }, { 31, 16, 0, 16, 0, 7 }, { 32, 16, 0, 16, 0, 7 }, { 33, 16, 0, 16, 0, 7 }, { 34, 16, 0, 16, 0, 7 }, - { 35, 16, 0, 16, 0, 7 }, { 36, 16, 0, 16, 0, 7 }, { 37, 16, 0, 16, 0, 7 }, { 38, 16, 0, 16, 0, 7 }, { 39, 16, 0, 16, 0, 7 }, - { 40, 16, 0, 16, 0, 7 }, { 41, 16, 0, 16, 0, 7 }, { 42, 16, 0, 16, 0, 6 }, { 43, 16, 0, 16, 0, 6 }, { 44, 16, 0, 16, 0, 6 }, - { 45, 16, 0, 16, 0, 6 }, { 46, 16, 0, 16, 0, 6 }, { 47, 16, 0, 16, 0, 6 }, { 48, 16, 0, 16, 0, 6 }, { 49, 16, 0, 16, 0, 6 }, - { 50, 16, 0, 16, 0, 6 }, { 51, 16, 0, 16, 0, 6 }, { 52, 16, 0, 16, 0, 6 }, { 53, 16, 0, 16, 0, 5 }, { 54, 16, 0, 16, 0, 5 }, - { 55, 16, 0, 16, 0, 5 }, { 56, 16, 0, 16, 0, 5 }, { 57, 16, 0, 16, 0, 5 }, { 58, 16, 0, 16, 0, 5 }, { 59, 16, 0, 16, 0, 5 }, - { 60, 16, 0, 16, 0, 5 }, { 61, 16, 0, 16, 0, 5 }, { 62, 16, 0, 16, 0, 5 }, { 63, 16, 0, 16, 0, 5 }, { 64, 16, 0, 16, 0, 5 }, - { 65, 16, 0, 16, 0, 5 }, { 66, 16, 0, 16, 0, 17 }, { 67, 16, 0, 16, 0, 17 }, { 68, 16, 0, 16, 0, 17 }, { 69, 16, 0, 16, 0, 17 }, - { 70, 16, 0, 16, 0, 17 }, { 71, 16, 0, 16, 0, 17 }, { 72, 16, 0, 16, 0, 17 }, { 73, 16, 0, 16, 0, 17 }, { 74, 16, 0, 16, 0, 17 }, - { 75, 16, 0, 16, 0, 17 }, { 76, 16, 0, 16, 0, 17 }, { 77, 16, 0, 16, 0, 16 }, { 78, 16, 0, 16, 0, 16 }, { 79, 16, 0, 16, 0, 16 }, - { 80, 16, 0, 16, 0, 16 }, { 81, 16, 0, 16, 0, 16 }, { 82, 16, 0, 16, 0, 16 }, { 83, 16, 0, 16, 0, 16 }, { 84, 16, 0, 16, 0, 16 }, - { 85, 16, 0, 16, 0, 16 }, { 86, 16, 0, 16, 0, 16 }, { 87, 16, 0, 16, 0, 16 }, { 88, 16, 0, 16, 0, 16 }, { 89, 16, 0, 16, 0, 16 }, - { 90, 16, 0, 0, 16, 0 }, { 91, 16, 0, 0, 16, 0 }, { 92, 16, 0, 0, 16, 0 }, { 93, 16, 0, 0, 16, 0 }, { 94, 16, 0, 0, 16, 0 }, - { 95, 16, 0, 0, 16, 0 }, + 96, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 9 }, { 6, 16, 0, 16, 0, 9 }, { 7, 16, 0, 16, 0, 9 }, { 8, 16, 0, 16, 0, 9 }, { 9, 16, 0, 16, 0, 9 }, + { 10, 16, 0, 16, 0, 9 }, { 11, 16, 0, 16, 0, 9 }, { 12, 16, 0, 16, 0, 9 }, { 13, 16, 0, 16, 0, 9 }, { 14, 16, 0, 16, 0, 9 }, + { 15, 16, 0, 16, 0, 9 }, { 16, 16, 0, 16, 0, 9 }, { 17, 16, 0, 16, 0, 9 }, { 18, 16, 0, 16, 0, 8 }, { 19, 16, 0, 16, 0, 8 }, + { 20, 16, 0, 16, 0, 8 }, { 21, 16, 0, 16, 0, 8 }, { 22, 16, 0, 16, 0, 8 }, { 23, 16, 0, 16, 0, 8 }, { 24, 16, 0, 16, 0, 8 }, + { 25, 16, 0, 16, 0, 8 }, { 26, 16, 0, 16, 0, 8 }, { 27, 16, 0, 16, 0, 8 }, { 28, 16, 0, 16, 0, 8 }, { 29, 16, 0, 16, 0, 7 }, + { 30, 16, 0, 16, 0, 7 }, { 31, 16, 0, 16, 0, 7 }, { 32, 16, 0, 16, 0, 7 }, { 33, 16, 0, 16, 0, 7 }, { 34, 16, 0, 16, 0, 7 }, + { 35, 16, 0, 16, 0, 7 }, { 36, 16, 0, 16, 0, 7 }, { 37, 16, 0, 16, 0, 7 }, { 38, 16, 0, 16, 0, 7 }, { 39, 16, 0, 16, 0, 7 }, + { 40, 16, 0, 16, 0, 7 }, { 41, 16, 0, 16, 0, 7 }, { 42, 16, 0, 16, 0, 6 }, { 43, 16, 0, 16, 0, 6 }, { 44, 16, 0, 16, 0, 6 }, + { 45, 16, 0, 16, 0, 6 }, { 46, 16, 0, 16, 0, 6 }, { 47, 16, 0, 16, 0, 6 }, { 48, 16, 0, 16, 0, 6 }, { 49, 16, 0, 16, 0, 6 }, + { 50, 16, 0, 16, 0, 6 }, { 51, 16, 0, 16, 0, 6 }, { 52, 16, 0, 16, 0, 6 }, { 53, 16, 0, 16, 0, 5 }, { 54, 16, 0, 16, 0, 5 }, + { 55, 16, 0, 16, 0, 5 }, { 56, 16, 0, 16, 0, 5 }, { 57, 16, 0, 16, 0, 5 }, { 58, 16, 0, 16, 0, 5 }, { 59, 16, 0, 16, 0, 5 }, + { 60, 16, 0, 16, 0, 5 }, { 61, 16, 0, 16, 0, 5 }, { 62, 16, 0, 16, 0, 5 }, { 63, 16, 0, 16, 0, 5 }, { 64, 16, 0, 16, 0, 5 }, + { 65, 16, 0, 16, 0, 5 }, { 66, 16, 0, 16, 0, 17 }, { 67, 16, 0, 16, 0, 17 }, { 68, 16, 0, 16, 0, 17 }, { 69, 16, 0, 16, 0, 17 }, + { 70, 16, 0, 16, 0, 17 }, { 71, 16, 0, 16, 0, 17 }, { 72, 16, 0, 16, 0, 17 }, { 73, 16, 0, 16, 0, 17 }, { 74, 16, 0, 16, 0, 17 }, + { 75, 16, 0, 16, 0, 17 }, { 76, 16, 0, 16, 0, 17 }, { 77, 16, 0, 16, 0, 16 }, { 78, 16, 0, 16, 0, 16 }, { 79, 16, 0, 16, 0, 16 }, + { 80, 16, 0, 16, 0, 16 }, { 81, 16, 0, 16, 0, 16 }, { 82, 16, 0, 16, 0, 16 }, { 83, 16, 0, 16, 0, 16 }, { 84, 16, 0, 16, 0, 16 }, + { 85, 16, 0, 16, 0, 16 }, { 86, 16, 0, 16, 0, 16 }, { 87, 16, 0, 16, 0, 16 }, { 88, 16, 0, 16, 0, 16 }, { 89, 16, 0, 16, 0, 16 }, + { 90, 16, 0, 0, 16, 0 }, { 91, 16, 0, 0, 16, 0 }, { 92, 16, 0, 0, 16, 0 }, { 93, 16, 0, 0, 16, 0 }, { 94, 16, 0, 0, 16, 0 }, + { 95, 16, 0, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8DE9CC = { - 96, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 9 }, { 16, 25, 0, 24, 0, 9 }, { 16, 24, 0, 24, 0, 9 }, { 16, 23, 0, 24, 0, 9 }, { 16, 22, 0, 24, 0, 9 }, - { 16, 21, 0, 24, 0, 9 }, { 16, 20, 0, 24, 0, 9 }, { 16, 19, 0, 24, 0, 9 }, { 16, 18, 0, 24, 0, 9 }, { 16, 17, 0, 24, 0, 9 }, - { 16, 16, 0, 24, 0, 9 }, { 16, 15, 0, 24, 0, 9 }, { 16, 14, 0, 24, 0, 9 }, { 16, 13, 0, 24, 0, 8 }, { 16, 12, 0, 24, 0, 8 }, - { 16, 11, 0, 24, 0, 8 }, { 16, 10, 0, 24, 0, 8 }, { 16, 9, 0, 24, 0, 8 }, { 16, 8, 0, 24, 0, 8 }, { 16, 7, 0, 24, 0, 8 }, - { 16, 6, 0, 24, 0, 8 }, { 16, 5, 0, 24, 0, 8 }, { 16, 4, 0, 24, 0, 8 }, { 16, 3, 0, 24, 0, 8 }, { 16, 2, 0, 24, 0, 7 }, - { 16, 1, 0, 24, 0, 7 }, { 16, 0, 0, 24, 0, 7 }, { 16, -1, 0, 24, 0, 7 }, { 16, -2, 0, 24, 0, 7 }, { 16, -3, 0, 24, 0, 7 }, - { 16, -4, 0, 24, 0, 7 }, { 16, -5, 0, 24, 0, 7 }, { 16, -6, 0, 24, 0, 7 }, { 16, -7, 0, 24, 0, 7 }, { 16, -8, 0, 24, 0, 7 }, - { 16, -9, 0, 24, 0, 7 }, { 16, -10, 0, 24, 0, 7 }, { 16, -11, 0, 24, 0, 6 }, { 16, -12, 0, 24, 0, 6 }, { 16, -13, 0, 24, 0, 6 }, - { 16, -14, 0, 24, 0, 6 }, { 16, -15, 0, 24, 0, 6 }, { 16, -16, 0, 24, 0, 6 }, { 16, -17, 0, 24, 0, 6 }, { 16, -18, 0, 24, 0, 6 }, - { 16, -19, 0, 24, 0, 6 }, { 16, -20, 0, 24, 0, 6 }, { 16, -21, 0, 24, 0, 6 }, { 16, -22, 0, 24, 0, 5 }, { 16, -23, 0, 24, 0, 5 }, - { 16, -24, 0, 24, 0, 5 }, { 16, -25, 0, 24, 0, 5 }, { 16, -26, 0, 24, 0, 5 }, { 16, -27, 0, 24, 0, 5 }, { 16, -28, 0, 24, 0, 5 }, - { 16, -29, 0, 24, 0, 5 }, { 16, -30, 0, 24, 0, 5 }, { 16, -31, 0, 24, 0, 5 }, { 16, -32, 0, 24, 0, 5 }, { 16, -33, 0, 24, 0, 5 }, - { 16, -34, 0, 24, 0, 5 }, { 16, -35, 0, 24, 0, 17 }, { 16, -36, 0, 24, 0, 17 }, { 16, -37, 0, 24, 0, 17 }, { 16, -38, 0, 24, 0, 17 }, - { 16, -39, 0, 24, 0, 17 }, { 16, -40, 0, 24, 0, 17 }, { 16, -41, 0, 24, 0, 17 }, { 16, -42, 0, 24, 0, 17 }, { 16, -43, 0, 24, 0, 17 }, - { 16, -44, 0, 24, 0, 17 }, { 16, -45, 0, 24, 0, 17 }, { 16, -46, 0, 24, 0, 16 }, { 16, -47, 0, 24, 0, 16 }, { 16, -48, 0, 24, 0, 16 }, - { 16, -49, 0, 24, 0, 16 }, { 16, -50, 0, 24, 0, 16 }, { 16, -51, 0, 24, 0, 16 }, { 16, -52, 0, 24, 0, 16 }, { 16, -53, 0, 24, 0, 16 }, - { 16, -54, 0, 24, 0, 16 }, { 16, -55, 0, 24, 0, 16 }, { 16, -56, 0, 24, 0, 16 }, { 16, -57, 0, 24, 0, 16 }, { 16, -58, 0, 24, 0, 16 }, - { 16, -59, 0, 8, 16, 0 }, { 16, -60, 0, 8, 16, 0 }, { 16, -61, 0, 8, 16, 0 }, { 16, -62, 0, 8, 16, 0 }, { 16, -63, 0, 8, 16, 0 }, - { 16, -64, 0, 8, 16, 0 }, + 96, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 9 }, { 16, 25, 0, 24, 0, 9 }, { 16, 24, 0, 24, 0, 9 }, { 16, 23, 0, 24, 0, 9 }, { 16, 22, 0, 24, 0, 9 }, + { 16, 21, 0, 24, 0, 9 }, { 16, 20, 0, 24, 0, 9 }, { 16, 19, 0, 24, 0, 9 }, { 16, 18, 0, 24, 0, 9 }, { 16, 17, 0, 24, 0, 9 }, + { 16, 16, 0, 24, 0, 9 }, { 16, 15, 0, 24, 0, 9 }, { 16, 14, 0, 24, 0, 9 }, { 16, 13, 0, 24, 0, 8 }, { 16, 12, 0, 24, 0, 8 }, + { 16, 11, 0, 24, 0, 8 }, { 16, 10, 0, 24, 0, 8 }, { 16, 9, 0, 24, 0, 8 }, { 16, 8, 0, 24, 0, 8 }, { 16, 7, 0, 24, 0, 8 }, + { 16, 6, 0, 24, 0, 8 }, { 16, 5, 0, 24, 0, 8 }, { 16, 4, 0, 24, 0, 8 }, { 16, 3, 0, 24, 0, 8 }, { 16, 2, 0, 24, 0, 7 }, + { 16, 1, 0, 24, 0, 7 }, { 16, 0, 0, 24, 0, 7 }, { 16, -1, 0, 24, 0, 7 }, { 16, -2, 0, 24, 0, 7 }, { 16, -3, 0, 24, 0, 7 }, + { 16, -4, 0, 24, 0, 7 }, { 16, -5, 0, 24, 0, 7 }, { 16, -6, 0, 24, 0, 7 }, { 16, -7, 0, 24, 0, 7 }, { 16, -8, 0, 24, 0, 7 }, + { 16, -9, 0, 24, 0, 7 }, { 16, -10, 0, 24, 0, 7 }, { 16, -11, 0, 24, 0, 6 }, { 16, -12, 0, 24, 0, 6 }, { 16, -13, 0, 24, 0, 6 }, + { 16, -14, 0, 24, 0, 6 }, { 16, -15, 0, 24, 0, 6 }, { 16, -16, 0, 24, 0, 6 }, { 16, -17, 0, 24, 0, 6 }, { 16, -18, 0, 24, 0, 6 }, + { 16, -19, 0, 24, 0, 6 }, { 16, -20, 0, 24, 0, 6 }, { 16, -21, 0, 24, 0, 6 }, { 16, -22, 0, 24, 0, 5 }, { 16, -23, 0, 24, 0, 5 }, + { 16, -24, 0, 24, 0, 5 }, { 16, -25, 0, 24, 0, 5 }, { 16, -26, 0, 24, 0, 5 }, { 16, -27, 0, 24, 0, 5 }, { 16, -28, 0, 24, 0, 5 }, + { 16, -29, 0, 24, 0, 5 }, { 16, -30, 0, 24, 0, 5 }, { 16, -31, 0, 24, 0, 5 }, { 16, -32, 0, 24, 0, 5 }, { 16, -33, 0, 24, 0, 5 }, + { 16, -34, 0, 24, 0, 5 }, { 16, -35, 0, 24, 0, 17 }, { 16, -36, 0, 24, 0, 17 }, { 16, -37, 0, 24, 0, 17 }, { 16, -38, 0, 24, 0, 17 }, + { 16, -39, 0, 24, 0, 17 }, { 16, -40, 0, 24, 0, 17 }, { 16, -41, 0, 24, 0, 17 }, { 16, -42, 0, 24, 0, 17 }, { 16, -43, 0, 24, 0, 17 }, + { 16, -44, 0, 24, 0, 17 }, { 16, -45, 0, 24, 0, 17 }, { 16, -46, 0, 24, 0, 16 }, { 16, -47, 0, 24, 0, 16 }, { 16, -48, 0, 24, 0, 16 }, + { 16, -49, 0, 24, 0, 16 }, { 16, -50, 0, 24, 0, 16 }, { 16, -51, 0, 24, 0, 16 }, { 16, -52, 0, 24, 0, 16 }, { 16, -53, 0, 24, 0, 16 }, + { 16, -54, 0, 24, 0, 16 }, { 16, -55, 0, 24, 0, 16 }, { 16, -56, 0, 24, 0, 16 }, { 16, -57, 0, 24, 0, 16 }, { 16, -58, 0, 24, 0, 16 }, + { 16, -59, 0, 8, 16, 0 }, { 16, -60, 0, 8, 16, 0 }, { 16, -61, 0, 8, 16, 0 }, { 16, -62, 0, 8, 16, 0 }, { 16, -63, 0, 8, 16, 0 }, + { 16, -64, 0, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E91A6 = { - 160, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 16, 23, 0 }, { 25, 16, -1, 16, 23, 0 }, { 24, 16, -1, 16, 23, 0 }, { 23, 16, -1, 16, 23, 0 }, { 22, 16, -2, 16, 23, 0 }, - { 21, 16, -2, 16, 22, 0 }, { 20, 16, -3, 16, 22, 0 }, { 19, 16, -4, 16, 22, 0 }, { 18, 16, -5, 16, 22, 0 }, { 17, 16, -6, 16, 22, 0 }, - { 16, 16, -6, 16, 21, 0 }, { 15, 16, -7, 16, 21, 0 }, { 14, 16, -8, 16, 21, 0 }, { 13, 16, -9, 16, 21, 0 }, { 12, 16, -10, 16, 21, 0 }, - { 11, 16, -11, 16, 21, 0 }, { 10, 16, -12, 16, 21, 0 }, { 10, 16, -13, 16, 21, 0 }, { 9, 16, -14, 16, 20, 0 }, { 8, 16, -15, 16, 20, 0 }, - { 8, 16, -16, 16, 20, 0 }, { 7, 16, -17, 16, 20, 0 }, { 7, 16, -18, 16, 20, 0 }, { 6, 16, -19, 16, 20, 0 }, { 6, 16, -20, 16, 20, 0 }, - { 6, 16, -21, 16, 20, 0 }, { 5, 16, -22, 16, 20, 0 }, { 5, 16, -23, 16, 19, 0 }, { 4, 16, -24, 16, 19, 0 }, { 4, 16, -25, 16, 19, 0 }, - { 3, 16, -26, 16, 19, 0 }, { 3, 16, -27, 16, 19, 0 }, { 3, 16, -28, 16, 19, 0 }, { 2, 16, -29, 16, 19, 0 }, { 2, 16, -30, 16, 19, 0 }, - { 2, 16, -31, 16, 19, 0 }, { 2, 16, -32, 16, 19, 0 }, { 1, 16, -33, 16, 19, 0 }, { 1, 16, -34, 16, 19, 0 }, { 1, 16, -35, 16, 19, 0 }, - { 1, 16, -36, 16, 19, 0 }, { 1, 16, -37, 16, 18, 0 }, { 0, 16, -38, 16, 18, 0 }, { 0, 16, -39, 16, 18, 0 }, { 0, 16, -40, 16, 18, 0 }, - { 0, 16, -41, 16, 18, 0 }, { 0, 16, -42, 16, 18, 0 }, { 0, 16, -43, 16, 18, 0 }, { 0, 16, -44, 16, 18, 0 }, { 0, 16, -45, 16, 18, 0 }, - { 0, 16, -46, 16, 18, 0 }, { 0, 16, -47, 16, 18, 0 }, { 0, 16, -48, 16, 18, 0 }, { 0, 16, -49, 16, 18, 0 }, { 0, 16, -50, 16, 18, 0 }, - { 0, 16, -51, 16, 18, 0 }, { 0, 16, -52, 16, 18, 0 }, { 0, 16, -53, 16, 18, 0 }, { 0, 16, -54, 16, 18, 0 }, { 0, 16, -55, 16, 18, 0 }, - { 0, 16, -56, 16, 18, 0 }, { 0, 16, -57, 16, 18, 0 }, { 0, 16, -58, 16, 18, 0 }, { 0, 16, -59, 16, 18, 0 }, { 0, 16, -60, 16, 18, 0 }, - { 0, 16, -61, 16, 18, 0 }, { 0, 16, -62, 16, 18, 0 }, { 0, 16, -63, 16, 18, 0 }, { 0, 16, -64, 16, 18, 0 }, { 0, 16, -65, 16, 18, 0 }, - { 1, 16, -66, 16, 18, 0 }, { 1, 16, -67, 16, 18, 0 }, { 1, 16, -68, 16, 18, 0 }, { 1, 16, -69, 16, 18, 0 }, { 1, 16, -70, 16, 17, 0 }, - { 2, 16, -71, 16, 17, 0 }, { 2, 16, -72, 16, 17, 0 }, { 2, 16, -73, 16, 17, 0 }, { 2, 16, -74, 16, 17, 0 }, { 3, 16, -75, 16, 17, 0 }, - { 3, 16, -76, 16, 17, 0 }, { 3, 16, -77, 16, 17, 0 }, { 4, 16, -78, 16, 17, 0 }, { 4, 16, -79, 16, 17, 0 }, { 4, 16, -80, 16, 17, 0 }, - { 5, 16, -81, 16, 17, 0 }, { 5, 16, -82, 16, 17, 0 }, { 5, 16, -83, 16, 17, 0 }, { 6, 16, -84, 16, 17, 0 }, { 6, 16, -85, 16, 17, 0 }, - { 6, 16, -86, 16, 17, 0 }, { 7, 16, -87, 16, 17, 0 }, { 7, 16, -88, 16, 17, 0 }, { 7, 16, -89, 16, 17, 0 }, { 8, 16, -90, 16, 17, 0 }, - { 8, 16, -91, 16, 58, 0 }, { 9, 16, -92, 16, 58, 0 }, { 10, 16, -93, 16, 58, 0 }, { 10, 16, -94, 16, 58, 0 }, { 11, 16, -95, 16, 58, 0 }, - { 12, 16, -96, 16, 58, 0 }, { 12, 16, -97, 16, 58, 0 }, { 13, 16, -98, 16, 58, 0 }, { 13, 16, -99, 16, 58, 0 }, { 14, 16, -100, 16, 58, 0 }, - { 15, 16, -101, 16, 58, 0 }, { 16, 16, -102, 16, 58, 0 }, { 16, 16, -103, 16, 58, 0 }, { 17, 16, -104, 16, 58, 0 }, { 18, 16, -105, 16, 58, 0 }, - { 19, 16, -106, 16, 58, 0 }, { 19, 16, -107, 16, 57, 0 }, { 20, 16, -108, 16, 57, 0 }, { 21, 16, -109, 16, 57, 0 }, { 22, 16, -110, 16, 57, 0 }, - { 23, 16, -111, 16, 57, 0 }, { 24, 16, -112, 16, 57, 0 }, { 25, 16, -113, 16, 57, 0 }, { 26, 16, -114, 16, 57, 0 }, { 27, 16, -115, 16, 57, 0 }, - { 28, 16, -116, 16, 57, 0 }, { 29, 16, -117, 16, 57, 0 }, { 30, 16, -118, 16, 57, 0 }, { 31, 16, -118, 16, 57, 0 }, { 32, 16, -119, 16, 57, 0 }, - { 33, 16, -120, 16, 57, 0 }, { 34, 16, -121, 16, 57, 0 }, { 35, 16, -121, 16, 57, 0 }, { 36, 16, -122, 16, 57, 0 }, { 37, 16, -123, 16, 57, 0 }, - { 38, 16, -124, 16, 57, 0 }, { 39, 16, -125, 16, 57, 0 }, { 40, 16, -125, 16, 57, 0 }, { 41, 16, -126, 16, 57, 0 }, { 42, 16, -126, 16, 56, 0 }, - { 43, 16, -127, 16, 56, 0 }, { 44, 16, -127, 16, 56, 0 }, { 45, 16, -128, 16, 56, 0 }, { 46, 16, -128, 16, 56, 0 }, { 47, 16, -129, 16, 56, 0 }, - { 48, 16, -129, 16, 56, 0 }, { 49, 16, -130, 16, 56, 0 }, { 50, 16, -130, 16, 56, 0 }, { 51, 16, -131, 16, 56, 0 }, { 52, 16, -131, 16, 56, 0 }, - { 53, 16, -132, 16, 56, 0 }, { 54, 16, -132, 16, 56, 0 }, { 55, 16, -133, 16, 56, 0 }, { 56, 16, -133, 16, 56, 0 }, { 57, 16, -133, 16, 56, 0 }, - { 58, 16, -134, 16, 56, 0 }, { 59, 16, -134, 16, 56, 0 }, { 60, 16, -135, 16, 56, 0 }, { 61, 16, -135, 16, 56, 0 }, { 62, 16, -136, 16, 56, 0 }, + 160, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 16, 23, 0 }, { 25, 16, -1, 16, 23, 0 }, { 24, 16, -1, 16, 23, 0 }, { 23, 16, -1, 16, 23, 0 }, { 22, 16, -2, 16, 23, 0 }, + { 21, 16, -2, 16, 22, 0 }, { 20, 16, -3, 16, 22, 0 }, { 19, 16, -4, 16, 22, 0 }, { 18, 16, -5, 16, 22, 0 }, { 17, 16, -6, 16, 22, 0 }, + { 16, 16, -6, 16, 21, 0 }, { 15, 16, -7, 16, 21, 0 }, { 14, 16, -8, 16, 21, 0 }, { 13, 16, -9, 16, 21, 0 }, { 12, 16, -10, 16, 21, 0 }, + { 11, 16, -11, 16, 21, 0 }, { 10, 16, -12, 16, 21, 0 }, { 10, 16, -13, 16, 21, 0 }, { 9, 16, -14, 16, 20, 0 }, { 8, 16, -15, 16, 20, 0 }, + { 8, 16, -16, 16, 20, 0 }, { 7, 16, -17, 16, 20, 0 }, { 7, 16, -18, 16, 20, 0 }, { 6, 16, -19, 16, 20, 0 }, { 6, 16, -20, 16, 20, 0 }, + { 6, 16, -21, 16, 20, 0 }, { 5, 16, -22, 16, 20, 0 }, { 5, 16, -23, 16, 19, 0 }, { 4, 16, -24, 16, 19, 0 }, { 4, 16, -25, 16, 19, 0 }, + { 3, 16, -26, 16, 19, 0 }, { 3, 16, -27, 16, 19, 0 }, { 3, 16, -28, 16, 19, 0 }, { 2, 16, -29, 16, 19, 0 }, { 2, 16, -30, 16, 19, 0 }, + { 2, 16, -31, 16, 19, 0 }, { 2, 16, -32, 16, 19, 0 }, { 1, 16, -33, 16, 19, 0 }, { 1, 16, -34, 16, 19, 0 }, { 1, 16, -35, 16, 19, 0 }, + { 1, 16, -36, 16, 19, 0 }, { 1, 16, -37, 16, 18, 0 }, { 0, 16, -38, 16, 18, 0 }, { 0, 16, -39, 16, 18, 0 }, { 0, 16, -40, 16, 18, 0 }, + { 0, 16, -41, 16, 18, 0 }, { 0, 16, -42, 16, 18, 0 }, { 0, 16, -43, 16, 18, 0 }, { 0, 16, -44, 16, 18, 0 }, { 0, 16, -45, 16, 18, 0 }, + { 0, 16, -46, 16, 18, 0 }, { 0, 16, -47, 16, 18, 0 }, { 0, 16, -48, 16, 18, 0 }, { 0, 16, -49, 16, 18, 0 }, { 0, 16, -50, 16, 18, 0 }, + { 0, 16, -51, 16, 18, 0 }, { 0, 16, -52, 16, 18, 0 }, { 0, 16, -53, 16, 18, 0 }, { 0, 16, -54, 16, 18, 0 }, { 0, 16, -55, 16, 18, 0 }, + { 0, 16, -56, 16, 18, 0 }, { 0, 16, -57, 16, 18, 0 }, { 0, 16, -58, 16, 18, 0 }, { 0, 16, -59, 16, 18, 0 }, { 0, 16, -60, 16, 18, 0 }, + { 0, 16, -61, 16, 18, 0 }, { 0, 16, -62, 16, 18, 0 }, { 0, 16, -63, 16, 18, 0 }, { 0, 16, -64, 16, 18, 0 }, { 0, 16, -65, 16, 18, 0 }, + { 1, 16, -66, 16, 18, 0 }, { 1, 16, -67, 16, 18, 0 }, { 1, 16, -68, 16, 18, 0 }, { 1, 16, -69, 16, 18, 0 }, { 1, 16, -70, 16, 17, 0 }, + { 2, 16, -71, 16, 17, 0 }, { 2, 16, -72, 16, 17, 0 }, { 2, 16, -73, 16, 17, 0 }, { 2, 16, -74, 16, 17, 0 }, { 3, 16, -75, 16, 17, 0 }, + { 3, 16, -76, 16, 17, 0 }, { 3, 16, -77, 16, 17, 0 }, { 4, 16, -78, 16, 17, 0 }, { 4, 16, -79, 16, 17, 0 }, { 4, 16, -80, 16, 17, 0 }, + { 5, 16, -81, 16, 17, 0 }, { 5, 16, -82, 16, 17, 0 }, { 5, 16, -83, 16, 17, 0 }, { 6, 16, -84, 16, 17, 0 }, { 6, 16, -85, 16, 17, 0 }, + { 6, 16, -86, 16, 17, 0 }, { 7, 16, -87, 16, 17, 0 }, { 7, 16, -88, 16, 17, 0 }, { 7, 16, -89, 16, 17, 0 }, { 8, 16, -90, 16, 17, 0 }, + { 8, 16, -91, 16, 58, 0 }, { 9, 16, -92, 16, 58, 0 }, { 10, 16, -93, 16, 58, 0 }, { 10, 16, -94, 16, 58, 0 }, { 11, 16, -95, 16, 58, 0 }, + { 12, 16, -96, 16, 58, 0 }, { 12, 16, -97, 16, 58, 0 }, { 13, 16, -98, 16, 58, 0 }, { 13, 16, -99, 16, 58, 0 }, { 14, 16, -100, 16, 58, 0 }, + { 15, 16, -101, 16, 58, 0 }, { 16, 16, -102, 16, 58, 0 }, { 16, 16, -103, 16, 58, 0 }, { 17, 16, -104, 16, 58, 0 }, { 18, 16, -105, 16, 58, 0 }, + { 19, 16, -106, 16, 58, 0 }, { 19, 16, -107, 16, 57, 0 }, { 20, 16, -108, 16, 57, 0 }, { 21, 16, -109, 16, 57, 0 }, { 22, 16, -110, 16, 57, 0 }, + { 23, 16, -111, 16, 57, 0 }, { 24, 16, -112, 16, 57, 0 }, { 25, 16, -113, 16, 57, 0 }, { 26, 16, -114, 16, 57, 0 }, { 27, 16, -115, 16, 57, 0 }, + { 28, 16, -116, 16, 57, 0 }, { 29, 16, -117, 16, 57, 0 }, { 30, 16, -118, 16, 57, 0 }, { 31, 16, -118, 16, 57, 0 }, { 32, 16, -119, 16, 57, 0 }, + { 33, 16, -120, 16, 57, 0 }, { 34, 16, -121, 16, 57, 0 }, { 35, 16, -121, 16, 57, 0 }, { 36, 16, -122, 16, 57, 0 }, { 37, 16, -123, 16, 57, 0 }, + { 38, 16, -124, 16, 57, 0 }, { 39, 16, -125, 16, 57, 0 }, { 40, 16, -125, 16, 57, 0 }, { 41, 16, -126, 16, 57, 0 }, { 42, 16, -126, 16, 56, 0 }, + { 43, 16, -127, 16, 56, 0 }, { 44, 16, -127, 16, 56, 0 }, { 45, 16, -128, 16, 56, 0 }, { 46, 16, -128, 16, 56, 0 }, { 47, 16, -129, 16, 56, 0 }, + { 48, 16, -129, 16, 56, 0 }, { 49, 16, -130, 16, 56, 0 }, { 50, 16, -130, 16, 56, 0 }, { 51, 16, -131, 16, 56, 0 }, { 52, 16, -131, 16, 56, 0 }, + { 53, 16, -132, 16, 56, 0 }, { 54, 16, -132, 16, 56, 0 }, { 55, 16, -133, 16, 56, 0 }, { 56, 16, -133, 16, 56, 0 }, { 57, 16, -133, 16, 56, 0 }, + { 58, 16, -134, 16, 56, 0 }, { 59, 16, -134, 16, 56, 0 }, { 60, 16, -135, 16, 56, 0 }, { 61, 16, -135, 16, 56, 0 }, { 62, 16, -136, 16, 56, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E9751 = { - 160, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 24, 23, 0 }, { 16, 6, -1, 24, 23, 0 }, { 16, 7, -1, 24, 23, 0 }, { 16, 8, -1, 24, 23, 0 }, { 16, 9, -2, 24, 23, 0 }, - { 16, 10, -2, 24, 22, 0 }, { 16, 11, -3, 24, 22, 0 }, { 16, 12, -4, 24, 22, 0 }, { 16, 13, -5, 24, 22, 0 }, { 16, 14, -6, 24, 22, 0 }, - { 16, 15, -6, 24, 21, 0 }, { 16, 16, -7, 24, 21, 0 }, { 16, 17, -8, 24, 21, 0 }, { 16, 18, -9, 24, 21, 0 }, { 16, 19, -10, 24, 21, 0 }, - { 16, 20, -11, 24, 21, 0 }, { 16, 21, -12, 24, 21, 0 }, { 16, 21, -13, 24, 21, 0 }, { 16, 22, -14, 24, 20, 0 }, { 16, 23, -15, 24, 20, 0 }, - { 16, 23, -16, 24, 20, 0 }, { 16, 24, -17, 24, 20, 0 }, { 16, 24, -18, 24, 20, 0 }, { 16, 25, -19, 24, 20, 0 }, { 16, 25, -20, 24, 20, 0 }, - { 16, 25, -21, 24, 20, 0 }, { 16, 26, -22, 24, 20, 0 }, { 16, 26, -23, 24, 19, 0 }, { 16, 27, -24, 24, 19, 0 }, { 16, 27, -25, 24, 19, 0 }, - { 16, 28, -26, 24, 19, 0 }, { 16, 28, -27, 24, 19, 0 }, { 16, 28, -28, 24, 19, 0 }, { 16, 29, -29, 24, 19, 0 }, { 16, 29, -30, 24, 19, 0 }, - { 16, 29, -31, 24, 19, 0 }, { 16, 29, -32, 24, 19, 0 }, { 16, 30, -33, 24, 19, 0 }, { 16, 30, -34, 24, 19, 0 }, { 16, 30, -35, 24, 19, 0 }, - { 16, 30, -36, 24, 19, 0 }, { 16, 30, -37, 24, 18, 0 }, { 16, 31, -38, 24, 18, 0 }, { 16, 31, -39, 24, 18, 0 }, { 16, 31, -40, 24, 18, 0 }, - { 16, 31, -41, 24, 18, 0 }, { 16, 31, -42, 24, 18, 0 }, { 16, 31, -43, 24, 18, 0 }, { 16, 31, -44, 24, 18, 0 }, { 16, 31, -45, 24, 18, 0 }, - { 16, 31, -46, 24, 18, 0 }, { 16, 31, -47, 24, 18, 0 }, { 16, 31, -48, 24, 18, 0 }, { 16, 31, -49, 24, 18, 0 }, { 16, 31, -50, 24, 18, 0 }, - { 16, 31, -51, 24, 18, 0 }, { 16, 31, -52, 24, 18, 0 }, { 16, 31, -53, 24, 18, 0 }, { 16, 31, -54, 24, 18, 0 }, { 16, 31, -55, 24, 18, 0 }, - { 16, 31, -56, 24, 18, 0 }, { 16, 31, -57, 24, 18, 0 }, { 16, 31, -58, 24, 18, 0 }, { 16, 31, -59, 24, 18, 0 }, { 16, 31, -60, 24, 18, 0 }, - { 16, 31, -61, 24, 18, 0 }, { 16, 31, -62, 24, 18, 0 }, { 16, 31, -63, 24, 18, 0 }, { 16, 31, -64, 24, 18, 0 }, { 16, 31, -65, 24, 18, 0 }, - { 16, 30, -66, 24, 18, 0 }, { 16, 30, -67, 24, 18, 0 }, { 16, 30, -68, 24, 18, 0 }, { 16, 30, -69, 24, 18, 0 }, { 16, 30, -70, 24, 17, 0 }, - { 16, 29, -71, 24, 17, 0 }, { 16, 29, -72, 24, 17, 0 }, { 16, 29, -73, 24, 17, 0 }, { 16, 29, -74, 24, 17, 0 }, { 16, 28, -75, 24, 17, 0 }, - { 16, 28, -76, 24, 17, 0 }, { 16, 28, -77, 24, 17, 0 }, { 16, 27, -78, 24, 17, 0 }, { 16, 27, -79, 24, 17, 0 }, { 16, 27, -80, 24, 17, 0 }, - { 16, 26, -81, 24, 17, 0 }, { 16, 26, -82, 24, 17, 0 }, { 16, 26, -83, 24, 17, 0 }, { 16, 25, -84, 24, 17, 0 }, { 16, 25, -85, 24, 17, 0 }, - { 16, 25, -86, 24, 17, 0 }, { 16, 24, -87, 24, 17, 0 }, { 16, 24, -88, 24, 17, 0 }, { 16, 24, -89, 24, 17, 0 }, { 16, 23, -90, 24, 17, 0 }, - { 16, 23, -91, 24, 58, 0 }, { 16, 22, -92, 24, 58, 0 }, { 16, 21, -93, 24, 58, 0 }, { 16, 21, -94, 24, 58, 0 }, { 16, 20, -95, 24, 58, 0 }, - { 16, 19, -96, 24, 58, 0 }, { 16, 19, -97, 24, 58, 0 }, { 16, 18, -98, 24, 58, 0 }, { 16, 18, -99, 24, 58, 0 }, { 16, 17, -100, 24, 58, 0 }, - { 16, 16, -101, 24, 58, 0 }, { 16, 15, -102, 24, 58, 0 }, { 16, 15, -103, 24, 58, 0 }, { 16, 14, -104, 24, 58, 0 }, { 16, 13, -105, 24, 58, 0 }, - { 16, 12, -106, 24, 58, 0 }, { 16, 12, -107, 24, 57, 0 }, { 16, 11, -108, 24, 57, 0 }, { 16, 10, -109, 24, 57, 0 }, { 16, 9, -110, 24, 57, 0 }, - { 16, 8, -111, 24, 57, 0 }, { 16, 7, -112, 24, 57, 0 }, { 16, 6, -113, 24, 57, 0 }, { 16, 5, -114, 24, 57, 0 }, { 16, 4, -115, 24, 57, 0 }, - { 16, 3, -116, 24, 57, 0 }, { 16, 2, -117, 24, 57, 0 }, { 16, 1, -118, 24, 57, 0 }, { 16, 0, -118, 24, 57, 0 }, { 16, -1, -119, 24, 57, 0 }, - { 16, -2, -120, 24, 57, 0 }, { 16, -3, -121, 24, 57, 0 }, { 16, -4, -121, 24, 57, 0 }, { 16, -5, -122, 24, 57, 0 }, { 16, -6, -123, 24, 57, 0 }, - { 16, -7, -124, 24, 57, 0 }, { 16, -8, -125, 24, 57, 0 }, { 16, -9, -125, 24, 57, 0 }, { 16, -10, -126, 24, 57, 0 }, { 16, -11, -126, 24, 56, 0 }, - { 16, -12, -127, 24, 56, 0 }, { 16, -13, -127, 24, 56, 0 }, { 16, -14, -128, 24, 56, 0 }, { 16, -15, -128, 24, 56, 0 }, { 16, -16, -129, 24, 56, 0 }, - { 16, -17, -129, 24, 56, 0 }, { 16, -18, -130, 24, 56, 0 }, { 16, -19, -130, 24, 56, 0 }, { 16, -20, -131, 24, 56, 0 }, { 16, -21, -131, 24, 56, 0 }, - { 16, -22, -132, 24, 56, 0 }, { 16, -23, -132, 24, 56, 0 }, { 16, -24, -133, 24, 56, 0 }, { 16, -25, -133, 24, 56, 0 }, { 16, -26, -133, 24, 56, 0 }, - { 16, -27, -134, 24, 56, 0 }, { 16, -28, -134, 24, 56, 0 }, { 16, -29, -135, 24, 56, 0 }, { 16, -30, -135, 24, 56, 0 }, { 16, -31, -136, 24, 56, 0 }, + 160, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 24, 23, 0 }, { 16, 6, -1, 24, 23, 0 }, { 16, 7, -1, 24, 23, 0 }, { 16, 8, -1, 24, 23, 0 }, { 16, 9, -2, 24, 23, 0 }, + { 16, 10, -2, 24, 22, 0 }, { 16, 11, -3, 24, 22, 0 }, { 16, 12, -4, 24, 22, 0 }, { 16, 13, -5, 24, 22, 0 }, { 16, 14, -6, 24, 22, 0 }, + { 16, 15, -6, 24, 21, 0 }, { 16, 16, -7, 24, 21, 0 }, { 16, 17, -8, 24, 21, 0 }, { 16, 18, -9, 24, 21, 0 }, { 16, 19, -10, 24, 21, 0 }, + { 16, 20, -11, 24, 21, 0 }, { 16, 21, -12, 24, 21, 0 }, { 16, 21, -13, 24, 21, 0 }, { 16, 22, -14, 24, 20, 0 }, { 16, 23, -15, 24, 20, 0 }, + { 16, 23, -16, 24, 20, 0 }, { 16, 24, -17, 24, 20, 0 }, { 16, 24, -18, 24, 20, 0 }, { 16, 25, -19, 24, 20, 0 }, { 16, 25, -20, 24, 20, 0 }, + { 16, 25, -21, 24, 20, 0 }, { 16, 26, -22, 24, 20, 0 }, { 16, 26, -23, 24, 19, 0 }, { 16, 27, -24, 24, 19, 0 }, { 16, 27, -25, 24, 19, 0 }, + { 16, 28, -26, 24, 19, 0 }, { 16, 28, -27, 24, 19, 0 }, { 16, 28, -28, 24, 19, 0 }, { 16, 29, -29, 24, 19, 0 }, { 16, 29, -30, 24, 19, 0 }, + { 16, 29, -31, 24, 19, 0 }, { 16, 29, -32, 24, 19, 0 }, { 16, 30, -33, 24, 19, 0 }, { 16, 30, -34, 24, 19, 0 }, { 16, 30, -35, 24, 19, 0 }, + { 16, 30, -36, 24, 19, 0 }, { 16, 30, -37, 24, 18, 0 }, { 16, 31, -38, 24, 18, 0 }, { 16, 31, -39, 24, 18, 0 }, { 16, 31, -40, 24, 18, 0 }, + { 16, 31, -41, 24, 18, 0 }, { 16, 31, -42, 24, 18, 0 }, { 16, 31, -43, 24, 18, 0 }, { 16, 31, -44, 24, 18, 0 }, { 16, 31, -45, 24, 18, 0 }, + { 16, 31, -46, 24, 18, 0 }, { 16, 31, -47, 24, 18, 0 }, { 16, 31, -48, 24, 18, 0 }, { 16, 31, -49, 24, 18, 0 }, { 16, 31, -50, 24, 18, 0 }, + { 16, 31, -51, 24, 18, 0 }, { 16, 31, -52, 24, 18, 0 }, { 16, 31, -53, 24, 18, 0 }, { 16, 31, -54, 24, 18, 0 }, { 16, 31, -55, 24, 18, 0 }, + { 16, 31, -56, 24, 18, 0 }, { 16, 31, -57, 24, 18, 0 }, { 16, 31, -58, 24, 18, 0 }, { 16, 31, -59, 24, 18, 0 }, { 16, 31, -60, 24, 18, 0 }, + { 16, 31, -61, 24, 18, 0 }, { 16, 31, -62, 24, 18, 0 }, { 16, 31, -63, 24, 18, 0 }, { 16, 31, -64, 24, 18, 0 }, { 16, 31, -65, 24, 18, 0 }, + { 16, 30, -66, 24, 18, 0 }, { 16, 30, -67, 24, 18, 0 }, { 16, 30, -68, 24, 18, 0 }, { 16, 30, -69, 24, 18, 0 }, { 16, 30, -70, 24, 17, 0 }, + { 16, 29, -71, 24, 17, 0 }, { 16, 29, -72, 24, 17, 0 }, { 16, 29, -73, 24, 17, 0 }, { 16, 29, -74, 24, 17, 0 }, { 16, 28, -75, 24, 17, 0 }, + { 16, 28, -76, 24, 17, 0 }, { 16, 28, -77, 24, 17, 0 }, { 16, 27, -78, 24, 17, 0 }, { 16, 27, -79, 24, 17, 0 }, { 16, 27, -80, 24, 17, 0 }, + { 16, 26, -81, 24, 17, 0 }, { 16, 26, -82, 24, 17, 0 }, { 16, 26, -83, 24, 17, 0 }, { 16, 25, -84, 24, 17, 0 }, { 16, 25, -85, 24, 17, 0 }, + { 16, 25, -86, 24, 17, 0 }, { 16, 24, -87, 24, 17, 0 }, { 16, 24, -88, 24, 17, 0 }, { 16, 24, -89, 24, 17, 0 }, { 16, 23, -90, 24, 17, 0 }, + { 16, 23, -91, 24, 58, 0 }, { 16, 22, -92, 24, 58, 0 }, { 16, 21, -93, 24, 58, 0 }, { 16, 21, -94, 24, 58, 0 }, { 16, 20, -95, 24, 58, 0 }, + { 16, 19, -96, 24, 58, 0 }, { 16, 19, -97, 24, 58, 0 }, { 16, 18, -98, 24, 58, 0 }, { 16, 18, -99, 24, 58, 0 }, { 16, 17, -100, 24, 58, 0 }, + { 16, 16, -101, 24, 58, 0 }, { 16, 15, -102, 24, 58, 0 }, { 16, 15, -103, 24, 58, 0 }, { 16, 14, -104, 24, 58, 0 }, { 16, 13, -105, 24, 58, 0 }, + { 16, 12, -106, 24, 58, 0 }, { 16, 12, -107, 24, 57, 0 }, { 16, 11, -108, 24, 57, 0 }, { 16, 10, -109, 24, 57, 0 }, { 16, 9, -110, 24, 57, 0 }, + { 16, 8, -111, 24, 57, 0 }, { 16, 7, -112, 24, 57, 0 }, { 16, 6, -113, 24, 57, 0 }, { 16, 5, -114, 24, 57, 0 }, { 16, 4, -115, 24, 57, 0 }, + { 16, 3, -116, 24, 57, 0 }, { 16, 2, -117, 24, 57, 0 }, { 16, 1, -118, 24, 57, 0 }, { 16, 0, -118, 24, 57, 0 }, { 16, -1, -119, 24, 57, 0 }, + { 16, -2, -120, 24, 57, 0 }, { 16, -3, -121, 24, 57, 0 }, { 16, -4, -121, 24, 57, 0 }, { 16, -5, -122, 24, 57, 0 }, { 16, -6, -123, 24, 57, 0 }, + { 16, -7, -124, 24, 57, 0 }, { 16, -8, -125, 24, 57, 0 }, { 16, -9, -125, 24, 57, 0 }, { 16, -10, -126, 24, 57, 0 }, { 16, -11, -126, 24, 56, 0 }, + { 16, -12, -127, 24, 56, 0 }, { 16, -13, -127, 24, 56, 0 }, { 16, -14, -128, 24, 56, 0 }, { 16, -15, -128, 24, 56, 0 }, { 16, -16, -129, 24, 56, 0 }, + { 16, -17, -129, 24, 56, 0 }, { 16, -18, -130, 24, 56, 0 }, { 16, -19, -130, 24, 56, 0 }, { 16, -20, -131, 24, 56, 0 }, { 16, -21, -131, 24, 56, 0 }, + { 16, -22, -132, 24, 56, 0 }, { 16, -23, -132, 24, 56, 0 }, { 16, -24, -133, 24, 56, 0 }, { 16, -25, -133, 24, 56, 0 }, { 16, -26, -133, 24, 56, 0 }, + { 16, -27, -134, 24, 56, 0 }, { 16, -28, -134, 24, 56, 0 }, { 16, -29, -135, 24, 56, 0 }, { 16, -30, -135, 24, 56, 0 }, { 16, -31, -136, 24, 56, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8E9CFC = { - 160, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 0, 23, 0 }, { 6, 16, -1, 0, 23, 0 }, { 7, 16, -1, 0, 23, 0 }, { 8, 16, -1, 0, 23, 0 }, { 9, 16, -2, 0, 23, 0 }, - { 10, 16, -2, 0, 22, 0 }, { 11, 16, -3, 0, 22, 0 }, { 12, 16, -4, 0, 22, 0 }, { 13, 16, -5, 0, 22, 0 }, { 14, 16, -6, 0, 22, 0 }, - { 15, 16, -6, 0, 21, 0 }, { 16, 16, -7, 0, 21, 0 }, { 17, 16, -8, 0, 21, 0 }, { 18, 16, -9, 0, 21, 0 }, { 19, 16, -10, 0, 21, 0 }, - { 20, 16, -11, 0, 21, 0 }, { 21, 16, -12, 0, 21, 0 }, { 21, 16, -13, 0, 21, 0 }, { 22, 16, -14, 0, 20, 0 }, { 23, 16, -15, 0, 20, 0 }, - { 23, 16, -16, 0, 20, 0 }, { 24, 16, -17, 0, 20, 0 }, { 24, 16, -18, 0, 20, 0 }, { 25, 16, -19, 0, 20, 0 }, { 25, 16, -20, 0, 20, 0 }, - { 25, 16, -21, 0, 20, 0 }, { 26, 16, -22, 0, 20, 0 }, { 26, 16, -23, 0, 19, 0 }, { 27, 16, -24, 0, 19, 0 }, { 27, 16, -25, 0, 19, 0 }, - { 28, 16, -26, 0, 19, 0 }, { 28, 16, -27, 0, 19, 0 }, { 28, 16, -28, 0, 19, 0 }, { 29, 16, -29, 0, 19, 0 }, { 29, 16, -30, 0, 19, 0 }, - { 29, 16, -31, 0, 19, 0 }, { 29, 16, -32, 0, 19, 0 }, { 30, 16, -33, 0, 19, 0 }, { 30, 16, -34, 0, 19, 0 }, { 30, 16, -35, 0, 19, 0 }, - { 30, 16, -36, 0, 19, 0 }, { 30, 16, -37, 0, 18, 0 }, { 31, 16, -38, 0, 18, 0 }, { 31, 16, -39, 0, 18, 0 }, { 31, 16, -40, 0, 18, 0 }, - { 31, 16, -41, 0, 18, 0 }, { 31, 16, -42, 0, 18, 0 }, { 31, 16, -43, 0, 18, 0 }, { 31, 16, -44, 0, 18, 0 }, { 31, 16, -45, 0, 18, 0 }, - { 31, 16, -46, 0, 18, 0 }, { 31, 16, -47, 0, 18, 0 }, { 31, 16, -48, 0, 18, 0 }, { 31, 16, -49, 0, 18, 0 }, { 31, 16, -50, 0, 18, 0 }, - { 31, 16, -51, 0, 18, 0 }, { 31, 16, -52, 0, 18, 0 }, { 31, 16, -53, 0, 18, 0 }, { 31, 16, -54, 0, 18, 0 }, { 31, 16, -55, 0, 18, 0 }, - { 31, 16, -56, 0, 18, 0 }, { 31, 16, -57, 0, 18, 0 }, { 31, 16, -58, 0, 18, 0 }, { 31, 16, -59, 0, 18, 0 }, { 31, 16, -60, 0, 18, 0 }, - { 31, 16, -61, 0, 18, 0 }, { 31, 16, -62, 0, 18, 0 }, { 31, 16, -63, 0, 18, 0 }, { 31, 16, -64, 0, 18, 0 }, { 31, 16, -65, 0, 18, 0 }, - { 30, 16, -66, 0, 18, 0 }, { 30, 16, -67, 0, 18, 0 }, { 30, 16, -68, 0, 18, 0 }, { 30, 16, -69, 0, 18, 0 }, { 30, 16, -70, 0, 17, 0 }, - { 29, 16, -71, 0, 17, 0 }, { 29, 16, -72, 0, 17, 0 }, { 29, 16, -73, 0, 17, 0 }, { 29, 16, -74, 0, 17, 0 }, { 28, 16, -75, 0, 17, 0 }, - { 28, 16, -76, 0, 17, 0 }, { 28, 16, -77, 0, 17, 0 }, { 27, 16, -78, 0, 17, 0 }, { 27, 16, -79, 0, 17, 0 }, { 27, 16, -80, 0, 17, 0 }, - { 26, 16, -81, 0, 17, 0 }, { 26, 16, -82, 0, 17, 0 }, { 26, 16, -83, 0, 17, 0 }, { 25, 16, -84, 0, 17, 0 }, { 25, 16, -85, 0, 17, 0 }, - { 25, 16, -86, 0, 17, 0 }, { 24, 16, -87, 0, 17, 0 }, { 24, 16, -88, 0, 17, 0 }, { 24, 16, -89, 0, 17, 0 }, { 23, 16, -90, 0, 17, 0 }, - { 23, 16, -91, 0, 58, 0 }, { 22, 16, -92, 0, 58, 0 }, { 21, 16, -93, 0, 58, 0 }, { 21, 16, -94, 0, 58, 0 }, { 20, 16, -95, 0, 58, 0 }, - { 19, 16, -96, 0, 58, 0 }, { 19, 16, -97, 0, 58, 0 }, { 18, 16, -98, 0, 58, 0 }, { 18, 16, -99, 0, 58, 0 }, { 17, 16, -100, 0, 58, 0 }, - { 16, 16, -101, 0, 58, 0 }, { 15, 16, -102, 0, 58, 0 }, { 15, 16, -103, 0, 58, 0 }, { 14, 16, -104, 0, 58, 0 }, { 13, 16, -105, 0, 58, 0 }, - { 12, 16, -106, 0, 58, 0 }, { 12, 16, -107, 0, 57, 0 }, { 11, 16, -108, 0, 57, 0 }, { 10, 16, -109, 0, 57, 0 }, { 9, 16, -110, 0, 57, 0 }, - { 8, 16, -111, 0, 57, 0 }, { 7, 16, -112, 0, 57, 0 }, { 6, 16, -113, 0, 57, 0 }, { 5, 16, -114, 0, 57, 0 }, { 4, 16, -115, 0, 57, 0 }, - { 3, 16, -116, 0, 57, 0 }, { 2, 16, -117, 0, 57, 0 }, { 1, 16, -118, 0, 57, 0 }, { 0, 16, -118, 0, 57, 0 }, { -1, 16, -119, 0, 57, 0 }, - { -2, 16, -120, 0, 57, 0 }, { -3, 16, -121, 0, 57, 0 }, { -4, 16, -121, 0, 57, 0 }, { -5, 16, -122, 0, 57, 0 }, { -6, 16, -123, 0, 57, 0 }, - { -7, 16, -124, 0, 57, 0 }, { -8, 16, -125, 0, 57, 0 }, { -9, 16, -125, 0, 57, 0 }, { -10, 16, -126, 0, 57, 0 }, { -11, 16, -126, 0, 56, 0 }, - { -12, 16, -127, 0, 56, 0 }, { -13, 16, -127, 0, 56, 0 }, { -14, 16, -128, 0, 56, 0 }, { -15, 16, -128, 0, 56, 0 }, { -16, 16, -129, 0, 56, 0 }, - { -17, 16, -129, 0, 56, 0 }, { -18, 16, -130, 0, 56, 0 }, { -19, 16, -130, 0, 56, 0 }, { -20, 16, -131, 0, 56, 0 }, { -21, 16, -131, 0, 56, 0 }, - { -22, 16, -132, 0, 56, 0 }, { -23, 16, -132, 0, 56, 0 }, { -24, 16, -133, 0, 56, 0 }, { -25, 16, -133, 0, 56, 0 }, { -26, 16, -133, 0, 56, 0 }, - { -27, 16, -134, 0, 56, 0 }, { -28, 16, -134, 0, 56, 0 }, { -29, 16, -135, 0, 56, 0 }, { -30, 16, -135, 0, 56, 0 }, { -31, 16, -136, 0, 56, 0 }, + 160, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 0, 23, 0 }, { 6, 16, -1, 0, 23, 0 }, { 7, 16, -1, 0, 23, 0 }, { 8, 16, -1, 0, 23, 0 }, { 9, 16, -2, 0, 23, 0 }, + { 10, 16, -2, 0, 22, 0 }, { 11, 16, -3, 0, 22, 0 }, { 12, 16, -4, 0, 22, 0 }, { 13, 16, -5, 0, 22, 0 }, { 14, 16, -6, 0, 22, 0 }, + { 15, 16, -6, 0, 21, 0 }, { 16, 16, -7, 0, 21, 0 }, { 17, 16, -8, 0, 21, 0 }, { 18, 16, -9, 0, 21, 0 }, { 19, 16, -10, 0, 21, 0 }, + { 20, 16, -11, 0, 21, 0 }, { 21, 16, -12, 0, 21, 0 }, { 21, 16, -13, 0, 21, 0 }, { 22, 16, -14, 0, 20, 0 }, { 23, 16, -15, 0, 20, 0 }, + { 23, 16, -16, 0, 20, 0 }, { 24, 16, -17, 0, 20, 0 }, { 24, 16, -18, 0, 20, 0 }, { 25, 16, -19, 0, 20, 0 }, { 25, 16, -20, 0, 20, 0 }, + { 25, 16, -21, 0, 20, 0 }, { 26, 16, -22, 0, 20, 0 }, { 26, 16, -23, 0, 19, 0 }, { 27, 16, -24, 0, 19, 0 }, { 27, 16, -25, 0, 19, 0 }, + { 28, 16, -26, 0, 19, 0 }, { 28, 16, -27, 0, 19, 0 }, { 28, 16, -28, 0, 19, 0 }, { 29, 16, -29, 0, 19, 0 }, { 29, 16, -30, 0, 19, 0 }, + { 29, 16, -31, 0, 19, 0 }, { 29, 16, -32, 0, 19, 0 }, { 30, 16, -33, 0, 19, 0 }, { 30, 16, -34, 0, 19, 0 }, { 30, 16, -35, 0, 19, 0 }, + { 30, 16, -36, 0, 19, 0 }, { 30, 16, -37, 0, 18, 0 }, { 31, 16, -38, 0, 18, 0 }, { 31, 16, -39, 0, 18, 0 }, { 31, 16, -40, 0, 18, 0 }, + { 31, 16, -41, 0, 18, 0 }, { 31, 16, -42, 0, 18, 0 }, { 31, 16, -43, 0, 18, 0 }, { 31, 16, -44, 0, 18, 0 }, { 31, 16, -45, 0, 18, 0 }, + { 31, 16, -46, 0, 18, 0 }, { 31, 16, -47, 0, 18, 0 }, { 31, 16, -48, 0, 18, 0 }, { 31, 16, -49, 0, 18, 0 }, { 31, 16, -50, 0, 18, 0 }, + { 31, 16, -51, 0, 18, 0 }, { 31, 16, -52, 0, 18, 0 }, { 31, 16, -53, 0, 18, 0 }, { 31, 16, -54, 0, 18, 0 }, { 31, 16, -55, 0, 18, 0 }, + { 31, 16, -56, 0, 18, 0 }, { 31, 16, -57, 0, 18, 0 }, { 31, 16, -58, 0, 18, 0 }, { 31, 16, -59, 0, 18, 0 }, { 31, 16, -60, 0, 18, 0 }, + { 31, 16, -61, 0, 18, 0 }, { 31, 16, -62, 0, 18, 0 }, { 31, 16, -63, 0, 18, 0 }, { 31, 16, -64, 0, 18, 0 }, { 31, 16, -65, 0, 18, 0 }, + { 30, 16, -66, 0, 18, 0 }, { 30, 16, -67, 0, 18, 0 }, { 30, 16, -68, 0, 18, 0 }, { 30, 16, -69, 0, 18, 0 }, { 30, 16, -70, 0, 17, 0 }, + { 29, 16, -71, 0, 17, 0 }, { 29, 16, -72, 0, 17, 0 }, { 29, 16, -73, 0, 17, 0 }, { 29, 16, -74, 0, 17, 0 }, { 28, 16, -75, 0, 17, 0 }, + { 28, 16, -76, 0, 17, 0 }, { 28, 16, -77, 0, 17, 0 }, { 27, 16, -78, 0, 17, 0 }, { 27, 16, -79, 0, 17, 0 }, { 27, 16, -80, 0, 17, 0 }, + { 26, 16, -81, 0, 17, 0 }, { 26, 16, -82, 0, 17, 0 }, { 26, 16, -83, 0, 17, 0 }, { 25, 16, -84, 0, 17, 0 }, { 25, 16, -85, 0, 17, 0 }, + { 25, 16, -86, 0, 17, 0 }, { 24, 16, -87, 0, 17, 0 }, { 24, 16, -88, 0, 17, 0 }, { 24, 16, -89, 0, 17, 0 }, { 23, 16, -90, 0, 17, 0 }, + { 23, 16, -91, 0, 58, 0 }, { 22, 16, -92, 0, 58, 0 }, { 21, 16, -93, 0, 58, 0 }, { 21, 16, -94, 0, 58, 0 }, { 20, 16, -95, 0, 58, 0 }, + { 19, 16, -96, 0, 58, 0 }, { 19, 16, -97, 0, 58, 0 }, { 18, 16, -98, 0, 58, 0 }, { 18, 16, -99, 0, 58, 0 }, { 17, 16, -100, 0, 58, 0 }, + { 16, 16, -101, 0, 58, 0 }, { 15, 16, -102, 0, 58, 0 }, { 15, 16, -103, 0, 58, 0 }, { 14, 16, -104, 0, 58, 0 }, { 13, 16, -105, 0, 58, 0 }, + { 12, 16, -106, 0, 58, 0 }, { 12, 16, -107, 0, 57, 0 }, { 11, 16, -108, 0, 57, 0 }, { 10, 16, -109, 0, 57, 0 }, { 9, 16, -110, 0, 57, 0 }, + { 8, 16, -111, 0, 57, 0 }, { 7, 16, -112, 0, 57, 0 }, { 6, 16, -113, 0, 57, 0 }, { 5, 16, -114, 0, 57, 0 }, { 4, 16, -115, 0, 57, 0 }, + { 3, 16, -116, 0, 57, 0 }, { 2, 16, -117, 0, 57, 0 }, { 1, 16, -118, 0, 57, 0 }, { 0, 16, -118, 0, 57, 0 }, { -1, 16, -119, 0, 57, 0 }, + { -2, 16, -120, 0, 57, 0 }, { -3, 16, -121, 0, 57, 0 }, { -4, 16, -121, 0, 57, 0 }, { -5, 16, -122, 0, 57, 0 }, { -6, 16, -123, 0, 57, 0 }, + { -7, 16, -124, 0, 57, 0 }, { -8, 16, -125, 0, 57, 0 }, { -9, 16, -125, 0, 57, 0 }, { -10, 16, -126, 0, 57, 0 }, { -11, 16, -126, 0, 56, 0 }, + { -12, 16, -127, 0, 56, 0 }, { -13, 16, -127, 0, 56, 0 }, { -14, 16, -128, 0, 56, 0 }, { -15, 16, -128, 0, 56, 0 }, { -16, 16, -129, 0, 56, 0 }, + { -17, 16, -129, 0, 56, 0 }, { -18, 16, -130, 0, 56, 0 }, { -19, 16, -130, 0, 56, 0 }, { -20, 16, -131, 0, 56, 0 }, { -21, 16, -131, 0, 56, 0 }, + { -22, 16, -132, 0, 56, 0 }, { -23, 16, -132, 0, 56, 0 }, { -24, 16, -133, 0, 56, 0 }, { -25, 16, -133, 0, 56, 0 }, { -26, 16, -133, 0, 56, 0 }, + { -27, 16, -134, 0, 56, 0 }, { -28, 16, -134, 0, 56, 0 }, { -29, 16, -135, 0, 56, 0 }, { -30, 16, -135, 0, 56, 0 }, { -31, 16, -136, 0, 56, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EA2A7 = { - 160, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 8, 23, 0 }, { 16, 25, -1, 8, 23, 0 }, { 16, 24, -1, 8, 23, 0 }, { 16, 23, -1, 8, 23, 0 }, { 16, 22, -2, 8, 23, 0 }, - { 16, 21, -2, 8, 22, 0 }, { 16, 20, -3, 8, 22, 0 }, { 16, 19, -4, 8, 22, 0 }, { 16, 18, -5, 8, 22, 0 }, { 16, 17, -6, 8, 22, 0 }, - { 16, 16, -6, 8, 21, 0 }, { 16, 15, -7, 8, 21, 0 }, { 16, 14, -8, 8, 21, 0 }, { 16, 13, -9, 8, 21, 0 }, { 16, 12, -10, 8, 21, 0 }, - { 16, 11, -11, 8, 21, 0 }, { 16, 10, -12, 8, 21, 0 }, { 16, 10, -13, 8, 21, 0 }, { 16, 9, -14, 8, 20, 0 }, { 16, 8, -15, 8, 20, 0 }, - { 16, 8, -16, 8, 20, 0 }, { 16, 7, -17, 8, 20, 0 }, { 16, 7, -18, 8, 20, 0 }, { 16, 6, -19, 8, 20, 0 }, { 16, 6, -20, 8, 20, 0 }, - { 16, 6, -21, 8, 20, 0 }, { 16, 5, -22, 8, 20, 0 }, { 16, 5, -23, 8, 19, 0 }, { 16, 4, -24, 8, 19, 0 }, { 16, 4, -25, 8, 19, 0 }, - { 16, 3, -26, 8, 19, 0 }, { 16, 3, -27, 8, 19, 0 }, { 16, 3, -28, 8, 19, 0 }, { 16, 2, -29, 8, 19, 0 }, { 16, 2, -30, 8, 19, 0 }, - { 16, 2, -31, 8, 19, 0 }, { 16, 2, -32, 8, 19, 0 }, { 16, 1, -33, 8, 19, 0 }, { 16, 1, -34, 8, 19, 0 }, { 16, 1, -35, 8, 19, 0 }, - { 16, 1, -36, 8, 19, 0 }, { 16, 1, -37, 8, 18, 0 }, { 16, 0, -38, 8, 18, 0 }, { 16, 0, -39, 8, 18, 0 }, { 16, 0, -40, 8, 18, 0 }, - { 16, 0, -41, 8, 18, 0 }, { 16, 0, -42, 8, 18, 0 }, { 16, 0, -43, 8, 18, 0 }, { 16, 0, -44, 8, 18, 0 }, { 16, 0, -45, 8, 18, 0 }, - { 16, 0, -46, 8, 18, 0 }, { 16, 0, -47, 8, 18, 0 }, { 16, 0, -48, 8, 18, 0 }, { 16, 0, -49, 8, 18, 0 }, { 16, 0, -50, 8, 18, 0 }, - { 16, 0, -51, 8, 18, 0 }, { 16, 0, -52, 8, 18, 0 }, { 16, 0, -53, 8, 18, 0 }, { 16, 0, -54, 8, 18, 0 }, { 16, 0, -55, 8, 18, 0 }, - { 16, 0, -56, 8, 18, 0 }, { 16, 0, -57, 8, 18, 0 }, { 16, 0, -58, 8, 18, 0 }, { 16, 0, -59, 8, 18, 0 }, { 16, 0, -60, 8, 18, 0 }, - { 16, 0, -61, 8, 18, 0 }, { 16, 0, -62, 8, 18, 0 }, { 16, 0, -63, 8, 18, 0 }, { 16, 0, -64, 8, 18, 0 }, { 16, 0, -65, 8, 18, 0 }, - { 16, 1, -66, 8, 18, 0 }, { 16, 1, -67, 8, 18, 0 }, { 16, 1, -68, 8, 18, 0 }, { 16, 1, -69, 8, 18, 0 }, { 16, 1, -70, 8, 17, 0 }, - { 16, 2, -71, 8, 17, 0 }, { 16, 2, -72, 8, 17, 0 }, { 16, 2, -73, 8, 17, 0 }, { 16, 2, -74, 8, 17, 0 }, { 16, 3, -75, 8, 17, 0 }, - { 16, 3, -76, 8, 17, 0 }, { 16, 3, -77, 8, 17, 0 }, { 16, 4, -78, 8, 17, 0 }, { 16, 4, -79, 8, 17, 0 }, { 16, 4, -80, 8, 17, 0 }, - { 16, 5, -81, 8, 17, 0 }, { 16, 5, -82, 8, 17, 0 }, { 16, 5, -83, 8, 17, 0 }, { 16, 6, -84, 8, 17, 0 }, { 16, 6, -85, 8, 17, 0 }, - { 16, 6, -86, 8, 17, 0 }, { 16, 7, -87, 8, 17, 0 }, { 16, 7, -88, 8, 17, 0 }, { 16, 7, -89, 8, 17, 0 }, { 16, 8, -90, 8, 17, 0 }, - { 16, 8, -91, 8, 58, 0 }, { 16, 9, -92, 8, 58, 0 }, { 16, 10, -93, 8, 58, 0 }, { 16, 10, -94, 8, 58, 0 }, { 16, 11, -95, 8, 58, 0 }, - { 16, 12, -96, 8, 58, 0 }, { 16, 12, -97, 8, 58, 0 }, { 16, 13, -98, 8, 58, 0 }, { 16, 13, -99, 8, 58, 0 }, { 16, 14, -100, 8, 58, 0 }, - { 16, 15, -101, 8, 58, 0 }, { 16, 16, -102, 8, 58, 0 }, { 16, 16, -103, 8, 58, 0 }, { 16, 17, -104, 8, 58, 0 }, { 16, 18, -105, 8, 58, 0 }, - { 16, 19, -106, 8, 58, 0 }, { 16, 19, -107, 8, 57, 0 }, { 16, 20, -108, 8, 57, 0 }, { 16, 21, -109, 8, 57, 0 }, { 16, 22, -110, 8, 57, 0 }, - { 16, 23, -111, 8, 57, 0 }, { 16, 24, -112, 8, 57, 0 }, { 16, 25, -113, 8, 57, 0 }, { 16, 26, -114, 8, 57, 0 }, { 16, 27, -115, 8, 57, 0 }, - { 16, 28, -116, 8, 57, 0 }, { 16, 29, -117, 8, 57, 0 }, { 16, 30, -118, 8, 57, 0 }, { 16, 31, -118, 8, 57, 0 }, { 16, 32, -119, 8, 57, 0 }, - { 16, 33, -120, 8, 57, 0 }, { 16, 34, -121, 8, 57, 0 }, { 16, 35, -121, 8, 57, 0 }, { 16, 36, -122, 8, 57, 0 }, { 16, 37, -123, 8, 57, 0 }, - { 16, 38, -124, 8, 57, 0 }, { 16, 39, -125, 8, 57, 0 }, { 16, 40, -125, 8, 57, 0 }, { 16, 41, -126, 8, 57, 0 }, { 16, 42, -126, 8, 56, 0 }, - { 16, 43, -127, 8, 56, 0 }, { 16, 44, -127, 8, 56, 0 }, { 16, 45, -128, 8, 56, 0 }, { 16, 46, -128, 8, 56, 0 }, { 16, 47, -129, 8, 56, 0 }, - { 16, 48, -129, 8, 56, 0 }, { 16, 49, -130, 8, 56, 0 }, { 16, 50, -130, 8, 56, 0 }, { 16, 51, -131, 8, 56, 0 }, { 16, 52, -131, 8, 56, 0 }, - { 16, 53, -132, 8, 56, 0 }, { 16, 54, -132, 8, 56, 0 }, { 16, 55, -133, 8, 56, 0 }, { 16, 56, -133, 8, 56, 0 }, { 16, 57, -133, 8, 56, 0 }, - { 16, 58, -134, 8, 56, 0 }, { 16, 59, -134, 8, 56, 0 }, { 16, 60, -135, 8, 56, 0 }, { 16, 61, -135, 8, 56, 0 }, { 16, 62, -136, 8, 56, 0 }, + 160, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 8, 23, 0 }, { 16, 25, -1, 8, 23, 0 }, { 16, 24, -1, 8, 23, 0 }, { 16, 23, -1, 8, 23, 0 }, { 16, 22, -2, 8, 23, 0 }, + { 16, 21, -2, 8, 22, 0 }, { 16, 20, -3, 8, 22, 0 }, { 16, 19, -4, 8, 22, 0 }, { 16, 18, -5, 8, 22, 0 }, { 16, 17, -6, 8, 22, 0 }, + { 16, 16, -6, 8, 21, 0 }, { 16, 15, -7, 8, 21, 0 }, { 16, 14, -8, 8, 21, 0 }, { 16, 13, -9, 8, 21, 0 }, { 16, 12, -10, 8, 21, 0 }, + { 16, 11, -11, 8, 21, 0 }, { 16, 10, -12, 8, 21, 0 }, { 16, 10, -13, 8, 21, 0 }, { 16, 9, -14, 8, 20, 0 }, { 16, 8, -15, 8, 20, 0 }, + { 16, 8, -16, 8, 20, 0 }, { 16, 7, -17, 8, 20, 0 }, { 16, 7, -18, 8, 20, 0 }, { 16, 6, -19, 8, 20, 0 }, { 16, 6, -20, 8, 20, 0 }, + { 16, 6, -21, 8, 20, 0 }, { 16, 5, -22, 8, 20, 0 }, { 16, 5, -23, 8, 19, 0 }, { 16, 4, -24, 8, 19, 0 }, { 16, 4, -25, 8, 19, 0 }, + { 16, 3, -26, 8, 19, 0 }, { 16, 3, -27, 8, 19, 0 }, { 16, 3, -28, 8, 19, 0 }, { 16, 2, -29, 8, 19, 0 }, { 16, 2, -30, 8, 19, 0 }, + { 16, 2, -31, 8, 19, 0 }, { 16, 2, -32, 8, 19, 0 }, { 16, 1, -33, 8, 19, 0 }, { 16, 1, -34, 8, 19, 0 }, { 16, 1, -35, 8, 19, 0 }, + { 16, 1, -36, 8, 19, 0 }, { 16, 1, -37, 8, 18, 0 }, { 16, 0, -38, 8, 18, 0 }, { 16, 0, -39, 8, 18, 0 }, { 16, 0, -40, 8, 18, 0 }, + { 16, 0, -41, 8, 18, 0 }, { 16, 0, -42, 8, 18, 0 }, { 16, 0, -43, 8, 18, 0 }, { 16, 0, -44, 8, 18, 0 }, { 16, 0, -45, 8, 18, 0 }, + { 16, 0, -46, 8, 18, 0 }, { 16, 0, -47, 8, 18, 0 }, { 16, 0, -48, 8, 18, 0 }, { 16, 0, -49, 8, 18, 0 }, { 16, 0, -50, 8, 18, 0 }, + { 16, 0, -51, 8, 18, 0 }, { 16, 0, -52, 8, 18, 0 }, { 16, 0, -53, 8, 18, 0 }, { 16, 0, -54, 8, 18, 0 }, { 16, 0, -55, 8, 18, 0 }, + { 16, 0, -56, 8, 18, 0 }, { 16, 0, -57, 8, 18, 0 }, { 16, 0, -58, 8, 18, 0 }, { 16, 0, -59, 8, 18, 0 }, { 16, 0, -60, 8, 18, 0 }, + { 16, 0, -61, 8, 18, 0 }, { 16, 0, -62, 8, 18, 0 }, { 16, 0, -63, 8, 18, 0 }, { 16, 0, -64, 8, 18, 0 }, { 16, 0, -65, 8, 18, 0 }, + { 16, 1, -66, 8, 18, 0 }, { 16, 1, -67, 8, 18, 0 }, { 16, 1, -68, 8, 18, 0 }, { 16, 1, -69, 8, 18, 0 }, { 16, 1, -70, 8, 17, 0 }, + { 16, 2, -71, 8, 17, 0 }, { 16, 2, -72, 8, 17, 0 }, { 16, 2, -73, 8, 17, 0 }, { 16, 2, -74, 8, 17, 0 }, { 16, 3, -75, 8, 17, 0 }, + { 16, 3, -76, 8, 17, 0 }, { 16, 3, -77, 8, 17, 0 }, { 16, 4, -78, 8, 17, 0 }, { 16, 4, -79, 8, 17, 0 }, { 16, 4, -80, 8, 17, 0 }, + { 16, 5, -81, 8, 17, 0 }, { 16, 5, -82, 8, 17, 0 }, { 16, 5, -83, 8, 17, 0 }, { 16, 6, -84, 8, 17, 0 }, { 16, 6, -85, 8, 17, 0 }, + { 16, 6, -86, 8, 17, 0 }, { 16, 7, -87, 8, 17, 0 }, { 16, 7, -88, 8, 17, 0 }, { 16, 7, -89, 8, 17, 0 }, { 16, 8, -90, 8, 17, 0 }, + { 16, 8, -91, 8, 58, 0 }, { 16, 9, -92, 8, 58, 0 }, { 16, 10, -93, 8, 58, 0 }, { 16, 10, -94, 8, 58, 0 }, { 16, 11, -95, 8, 58, 0 }, + { 16, 12, -96, 8, 58, 0 }, { 16, 12, -97, 8, 58, 0 }, { 16, 13, -98, 8, 58, 0 }, { 16, 13, -99, 8, 58, 0 }, { 16, 14, -100, 8, 58, 0 }, + { 16, 15, -101, 8, 58, 0 }, { 16, 16, -102, 8, 58, 0 }, { 16, 16, -103, 8, 58, 0 }, { 16, 17, -104, 8, 58, 0 }, { 16, 18, -105, 8, 58, 0 }, + { 16, 19, -106, 8, 58, 0 }, { 16, 19, -107, 8, 57, 0 }, { 16, 20, -108, 8, 57, 0 }, { 16, 21, -109, 8, 57, 0 }, { 16, 22, -110, 8, 57, 0 }, + { 16, 23, -111, 8, 57, 0 }, { 16, 24, -112, 8, 57, 0 }, { 16, 25, -113, 8, 57, 0 }, { 16, 26, -114, 8, 57, 0 }, { 16, 27, -115, 8, 57, 0 }, + { 16, 28, -116, 8, 57, 0 }, { 16, 29, -117, 8, 57, 0 }, { 16, 30, -118, 8, 57, 0 }, { 16, 31, -118, 8, 57, 0 }, { 16, 32, -119, 8, 57, 0 }, + { 16, 33, -120, 8, 57, 0 }, { 16, 34, -121, 8, 57, 0 }, { 16, 35, -121, 8, 57, 0 }, { 16, 36, -122, 8, 57, 0 }, { 16, 37, -123, 8, 57, 0 }, + { 16, 38, -124, 8, 57, 0 }, { 16, 39, -125, 8, 57, 0 }, { 16, 40, -125, 8, 57, 0 }, { 16, 41, -126, 8, 57, 0 }, { 16, 42, -126, 8, 56, 0 }, + { 16, 43, -127, 8, 56, 0 }, { 16, 44, -127, 8, 56, 0 }, { 16, 45, -128, 8, 56, 0 }, { 16, 46, -128, 8, 56, 0 }, { 16, 47, -129, 8, 56, 0 }, + { 16, 48, -129, 8, 56, 0 }, { 16, 49, -130, 8, 56, 0 }, { 16, 50, -130, 8, 56, 0 }, { 16, 51, -131, 8, 56, 0 }, { 16, 52, -131, 8, 56, 0 }, + { 16, 53, -132, 8, 56, 0 }, { 16, 54, -132, 8, 56, 0 }, { 16, 55, -133, 8, 56, 0 }, { 16, 56, -133, 8, 56, 0 }, { 16, 57, -133, 8, 56, 0 }, + { 16, 58, -134, 8, 56, 0 }, { 16, 59, -134, 8, 56, 0 }, { 16, 60, -135, 8, 56, 0 }, { 16, 61, -135, 8, 56, 0 }, { 16, 62, -136, 8, 56, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EDF02 = { - 97, { - { 31, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, - { 26, 16, 0, 16, 0, 0 }, { 25, 16, -1, 16, 0, 0 }, { 24, 16, -1, 16, 0, 0 }, { 23, 16, -1, 24, 33, 0 }, { 22, 16, -1, 24, 33, 0 }, - { 21, 16, -1, 24, 33, 0 }, { 20, 16, -2, 24, 33, 0 }, { 19, 16, -2, 24, 33, 0 }, { 18, 16, -2, 24, 33, 0 }, { 17, 16, -3, 24, 33, 0 }, - { 16, 16, -3, 24, 33, 0 }, { 15, 16, -4, 24, 33, 0 }, { 14, 16, -4, 24, 33, 0 }, { 13, 16, -5, 24, 33, 0 }, { 12, 16, -5, 24, 33, 0 }, - { 11, 16, -6, 24, 33, 0 }, { 10, 16, -6, 24, 33, 0 }, { 9, 16, -7, 24, 33, 0 }, { 8, 16, -8, 24, 33, 0 }, { 7, 16, -9, 24, 32, 0 }, - { 6, 16, -9, 24, 32, 0 }, { 5, 15, -10, 24, 32, 0 }, { 4, 15, -11, 24, 32, 0 }, { 3, 15, -12, 24, 32, 0 }, { 2, 15, -13, 24, 32, 0 }, - { 1, 15, -14, 24, 32, 0 }, { 0, 15, -15, 24, 32, 0 }, { -1, 14, -16, 24, 32, 0 }, { -2, 14, -17, 24, 32, 0 }, { -2, 14, -18, 24, 32, 0 }, - { -3, 14, -19, 24, 32, 0 }, { -4, 14, -20, 24, 32, 0 }, { -5, 13, -21, 24, 32, 0 }, { -5, 13, -22, 24, 32, 0 }, { -6, 13, -23, 24, 32, 0 }, - { -6, 12, -24, 24, 31, 0 }, { -7, 12, -25, 24, 31, 0 }, { -8, 12, -26, 24, 31, 0 }, { -8, 12, -27, 24, 31, 0 }, { -9, 11, -28, 24, 31, 0 }, - { -9, 11, -29, 24, 31, 0 }, { -10, 10, -30, 24, 31, 0 }, { -10, 10, -31, 24, 31, 0 }, { -11, 10, -32, 24, 31, 0 }, { -11, 9, -33, 24, 31, 0 }, - { -11, 9, -34, 24, 31, 0 }, { -12, 8, -35, 24, 31, 0 }, { -12, 8, -36, 24, 31, 0 }, { -13, 7, -37, 24, 31, 0 }, { -13, 7, -38, 24, 31, 0 }, - { -13, 6, -39, 24, 31, 0 }, { -13, 5, -40, 24, 31, 0 }, { -14, 5, -41, 24, 30, 0 }, { -14, 4, -42, 24, 30, 0 }, { -14, 4, -43, 24, 30, 0 }, - { -15, 3, -44, 24, 30, 0 }, { -15, 2, -45, 24, 30, 0 }, { -15, 1, -46, 24, 30, 0 }, { -15, 1, -47, 24, 30, 0 }, { -15, 0, -48, 24, 30, 0 }, - { -16, -1, -49, 24, 30, 0 }, { -16, -2, -50, 24, 30, 0 }, { -16, -3, -51, 24, 30, 0 }, { -16, -4, -52, 24, 30, 0 }, { -16, -5, -53, 24, 30, 0 }, - { -16, -6, -54, 24, 30, 0 }, { -17, -7, -55, 24, 30, 0 }, { -17, -8, -55, 24, 30, 0 }, { -17, -9, -56, 24, 29, 0 }, { -17, -10, -57, 24, 29, 0 }, - { -17, -11, -58, 24, 29, 0 }, { -17, -12, -58, 24, 29, 0 }, { -17, -13, -59, 24, 29, 0 }, { -17, -14, -59, 24, 29, 0 }, { -17, -15, -60, 24, 29, 0 }, - { -17, -16, -60, 24, 29, 0 }, { -17, -17, -61, 24, 29, 0 }, { -17, -18, -61, 24, 29, 0 }, { -17, -19, -62, 24, 29, 0 }, { -17, -20, -62, 24, 29, 0 }, - { -17, -21, -62, 24, 29, 0 }, { -17, -22, -63, 24, 29, 0 }, { -17, -23, -63, 24, 29, 0 }, { -17, -24, -63, 24, 29, 0 }, { -17, -25, -63, 24, 29, 0 }, - { -17, -26, -63, 8, 16, 0 }, { -17, -27, -64, 8, 16, 0 }, { -17, -28, -64, 8, 16, 0 }, { -17, -29, -64, 8, 16, 0 }, { -17, -30, -64, 8, 16, 0 }, - { -17, -31, -64, 8, 16, 0 }, { -17, -32, -64, 8, 16, 0 }, + 97, { + { 31, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, + { 26, 16, 0, 16, 0, 0 }, { 25, 16, -1, 16, 0, 0 }, { 24, 16, -1, 16, 0, 0 }, { 23, 16, -1, 24, 33, 0 }, { 22, 16, -1, 24, 33, 0 }, + { 21, 16, -1, 24, 33, 0 }, { 20, 16, -2, 24, 33, 0 }, { 19, 16, -2, 24, 33, 0 }, { 18, 16, -2, 24, 33, 0 }, { 17, 16, -3, 24, 33, 0 }, + { 16, 16, -3, 24, 33, 0 }, { 15, 16, -4, 24, 33, 0 }, { 14, 16, -4, 24, 33, 0 }, { 13, 16, -5, 24, 33, 0 }, { 12, 16, -5, 24, 33, 0 }, + { 11, 16, -6, 24, 33, 0 }, { 10, 16, -6, 24, 33, 0 }, { 9, 16, -7, 24, 33, 0 }, { 8, 16, -8, 24, 33, 0 }, { 7, 16, -9, 24, 32, 0 }, + { 6, 16, -9, 24, 32, 0 }, { 5, 15, -10, 24, 32, 0 }, { 4, 15, -11, 24, 32, 0 }, { 3, 15, -12, 24, 32, 0 }, { 2, 15, -13, 24, 32, 0 }, + { 1, 15, -14, 24, 32, 0 }, { 0, 15, -15, 24, 32, 0 }, { -1, 14, -16, 24, 32, 0 }, { -2, 14, -17, 24, 32, 0 }, { -2, 14, -18, 24, 32, 0 }, + { -3, 14, -19, 24, 32, 0 }, { -4, 14, -20, 24, 32, 0 }, { -5, 13, -21, 24, 32, 0 }, { -5, 13, -22, 24, 32, 0 }, { -6, 13, -23, 24, 32, 0 }, + { -6, 12, -24, 24, 31, 0 }, { -7, 12, -25, 24, 31, 0 }, { -8, 12, -26, 24, 31, 0 }, { -8, 12, -27, 24, 31, 0 }, { -9, 11, -28, 24, 31, 0 }, + { -9, 11, -29, 24, 31, 0 }, { -10, 10, -30, 24, 31, 0 }, { -10, 10, -31, 24, 31, 0 }, { -11, 10, -32, 24, 31, 0 }, { -11, 9, -33, 24, 31, 0 }, + { -11, 9, -34, 24, 31, 0 }, { -12, 8, -35, 24, 31, 0 }, { -12, 8, -36, 24, 31, 0 }, { -13, 7, -37, 24, 31, 0 }, { -13, 7, -38, 24, 31, 0 }, + { -13, 6, -39, 24, 31, 0 }, { -13, 5, -40, 24, 31, 0 }, { -14, 5, -41, 24, 30, 0 }, { -14, 4, -42, 24, 30, 0 }, { -14, 4, -43, 24, 30, 0 }, + { -15, 3, -44, 24, 30, 0 }, { -15, 2, -45, 24, 30, 0 }, { -15, 1, -46, 24, 30, 0 }, { -15, 1, -47, 24, 30, 0 }, { -15, 0, -48, 24, 30, 0 }, + { -16, -1, -49, 24, 30, 0 }, { -16, -2, -50, 24, 30, 0 }, { -16, -3, -51, 24, 30, 0 }, { -16, -4, -52, 24, 30, 0 }, { -16, -5, -53, 24, 30, 0 }, + { -16, -6, -54, 24, 30, 0 }, { -17, -7, -55, 24, 30, 0 }, { -17, -8, -55, 24, 30, 0 }, { -17, -9, -56, 24, 29, 0 }, { -17, -10, -57, 24, 29, 0 }, + { -17, -11, -58, 24, 29, 0 }, { -17, -12, -58, 24, 29, 0 }, { -17, -13, -59, 24, 29, 0 }, { -17, -14, -59, 24, 29, 0 }, { -17, -15, -60, 24, 29, 0 }, + { -17, -16, -60, 24, 29, 0 }, { -17, -17, -61, 24, 29, 0 }, { -17, -18, -61, 24, 29, 0 }, { -17, -19, -62, 24, 29, 0 }, { -17, -20, -62, 24, 29, 0 }, + { -17, -21, -62, 24, 29, 0 }, { -17, -22, -63, 24, 29, 0 }, { -17, -23, -63, 24, 29, 0 }, { -17, -24, -63, 24, 29, 0 }, { -17, -25, -63, 24, 29, 0 }, + { -17, -26, -63, 8, 16, 0 }, { -17, -27, -64, 8, 16, 0 }, { -17, -28, -64, 8, 16, 0 }, { -17, -29, -64, 8, 16, 0 }, { -17, -30, -64, 8, 16, 0 }, + { -17, -31, -64, 8, 16, 0 }, { -17, -32, -64, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EE26D = { - 97, { - { 16, 0, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, - { 16, 5, 0, 24, 0, 0 }, { 16, 6, -1, 24, 0, 0 }, { 16, 7, -1, 24, 0, 0 }, { 16, 8, -1, 0, 33, 0 }, { 16, 9, -1, 0, 33, 0 }, - { 16, 10, -1, 0, 33, 0 }, { 16, 11, -2, 0, 33, 0 }, { 16, 12, -2, 0, 33, 0 }, { 16, 13, -2, 0, 33, 0 }, { 16, 14, -3, 0, 33, 0 }, - { 16, 15, -3, 0, 33, 0 }, { 16, 16, -4, 0, 33, 0 }, { 16, 17, -4, 0, 33, 0 }, { 16, 18, -5, 0, 33, 0 }, { 16, 19, -5, 0, 33, 0 }, - { 16, 20, -6, 0, 33, 0 }, { 16, 21, -6, 0, 33, 0 }, { 16, 22, -7, 0, 33, 0 }, { 16, 23, -8, 0, 33, 0 }, { 16, 24, -9, 0, 32, 0 }, - { 16, 25, -9, 0, 32, 0 }, { 15, 26, -10, 0, 32, 0 }, { 15, 27, -11, 0, 32, 0 }, { 15, 28, -12, 0, 32, 0 }, { 15, 29, -13, 0, 32, 0 }, - { 15, 30, -14, 0, 32, 0 }, { 15, 31, -15, 0, 32, 0 }, { 14, 32, -16, 0, 32, 0 }, { 14, 33, -17, 0, 32, 0 }, { 14, 33, -18, 0, 32, 0 }, - { 14, 34, -19, 0, 32, 0 }, { 14, 35, -20, 0, 32, 0 }, { 13, 36, -21, 0, 32, 0 }, { 13, 36, -22, 0, 32, 0 }, { 13, 37, -23, 0, 32, 0 }, - { 12, 37, -24, 0, 31, 0 }, { 12, 38, -25, 0, 31, 0 }, { 12, 39, -26, 0, 31, 0 }, { 12, 39, -27, 0, 31, 0 }, { 11, 40, -28, 0, 31, 0 }, - { 11, 40, -29, 0, 31, 0 }, { 10, 41, -30, 0, 31, 0 }, { 10, 41, -31, 0, 31, 0 }, { 10, 42, -32, 0, 31, 0 }, { 9, 42, -33, 0, 31, 0 }, - { 9, 42, -34, 0, 31, 0 }, { 8, 43, -35, 0, 31, 0 }, { 8, 43, -36, 0, 31, 0 }, { 7, 44, -37, 0, 31, 0 }, { 7, 44, -38, 0, 31, 0 }, - { 6, 44, -39, 0, 31, 0 }, { 5, 44, -40, 0, 31, 0 }, { 5, 45, -41, 0, 30, 0 }, { 4, 45, -42, 0, 30, 0 }, { 4, 45, -43, 0, 30, 0 }, - { 3, 46, -44, 0, 30, 0 }, { 2, 46, -45, 0, 30, 0 }, { 1, 46, -46, 0, 30, 0 }, { 1, 46, -47, 0, 30, 0 }, { 0, 46, -48, 0, 30, 0 }, - { -1, 47, -49, 0, 30, 0 }, { -2, 47, -50, 0, 30, 0 }, { -3, 47, -51, 0, 30, 0 }, { -4, 47, -52, 0, 30, 0 }, { -5, 47, -53, 0, 30, 0 }, - { -6, 47, -54, 0, 30, 0 }, { -7, 48, -55, 0, 30, 0 }, { -8, 48, -55, 0, 30, 0 }, { -9, 48, -56, 0, 29, 0 }, { -10, 48, -57, 0, 29, 0 }, - { -11, 48, -58, 0, 29, 0 }, { -12, 48, -58, 0, 29, 0 }, { -13, 48, -59, 0, 29, 0 }, { -14, 48, -59, 0, 29, 0 }, { -15, 48, -60, 0, 29, 0 }, - { -16, 48, -60, 0, 29, 0 }, { -17, 48, -61, 0, 29, 0 }, { -18, 48, -61, 0, 29, 0 }, { -19, 48, -62, 0, 29, 0 }, { -20, 48, -62, 0, 29, 0 }, - { -21, 48, -62, 0, 29, 0 }, { -22, 48, -63, 0, 29, 0 }, { -23, 48, -63, 0, 29, 0 }, { -24, 48, -63, 0, 29, 0 }, { -25, 48, -63, 0, 29, 0 }, - { -26, 48, -63, 16, 16, 0 }, { -27, 48, -64, 16, 16, 0 }, { -28, 48, -64, 16, 16, 0 }, { -29, 48, -64, 16, 16, 0 }, { -30, 48, -64, 16, 16, 0 }, - { -31, 48, -64, 16, 16, 0 }, { -32, 48, -64, 16, 16, 0 }, + 97, { + { 16, 0, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, + { 16, 5, 0, 24, 0, 0 }, { 16, 6, -1, 24, 0, 0 }, { 16, 7, -1, 24, 0, 0 }, { 16, 8, -1, 0, 33, 0 }, { 16, 9, -1, 0, 33, 0 }, + { 16, 10, -1, 0, 33, 0 }, { 16, 11, -2, 0, 33, 0 }, { 16, 12, -2, 0, 33, 0 }, { 16, 13, -2, 0, 33, 0 }, { 16, 14, -3, 0, 33, 0 }, + { 16, 15, -3, 0, 33, 0 }, { 16, 16, -4, 0, 33, 0 }, { 16, 17, -4, 0, 33, 0 }, { 16, 18, -5, 0, 33, 0 }, { 16, 19, -5, 0, 33, 0 }, + { 16, 20, -6, 0, 33, 0 }, { 16, 21, -6, 0, 33, 0 }, { 16, 22, -7, 0, 33, 0 }, { 16, 23, -8, 0, 33, 0 }, { 16, 24, -9, 0, 32, 0 }, + { 16, 25, -9, 0, 32, 0 }, { 15, 26, -10, 0, 32, 0 }, { 15, 27, -11, 0, 32, 0 }, { 15, 28, -12, 0, 32, 0 }, { 15, 29, -13, 0, 32, 0 }, + { 15, 30, -14, 0, 32, 0 }, { 15, 31, -15, 0, 32, 0 }, { 14, 32, -16, 0, 32, 0 }, { 14, 33, -17, 0, 32, 0 }, { 14, 33, -18, 0, 32, 0 }, + { 14, 34, -19, 0, 32, 0 }, { 14, 35, -20, 0, 32, 0 }, { 13, 36, -21, 0, 32, 0 }, { 13, 36, -22, 0, 32, 0 }, { 13, 37, -23, 0, 32, 0 }, + { 12, 37, -24, 0, 31, 0 }, { 12, 38, -25, 0, 31, 0 }, { 12, 39, -26, 0, 31, 0 }, { 12, 39, -27, 0, 31, 0 }, { 11, 40, -28, 0, 31, 0 }, + { 11, 40, -29, 0, 31, 0 }, { 10, 41, -30, 0, 31, 0 }, { 10, 41, -31, 0, 31, 0 }, { 10, 42, -32, 0, 31, 0 }, { 9, 42, -33, 0, 31, 0 }, + { 9, 42, -34, 0, 31, 0 }, { 8, 43, -35, 0, 31, 0 }, { 8, 43, -36, 0, 31, 0 }, { 7, 44, -37, 0, 31, 0 }, { 7, 44, -38, 0, 31, 0 }, + { 6, 44, -39, 0, 31, 0 }, { 5, 44, -40, 0, 31, 0 }, { 5, 45, -41, 0, 30, 0 }, { 4, 45, -42, 0, 30, 0 }, { 4, 45, -43, 0, 30, 0 }, + { 3, 46, -44, 0, 30, 0 }, { 2, 46, -45, 0, 30, 0 }, { 1, 46, -46, 0, 30, 0 }, { 1, 46, -47, 0, 30, 0 }, { 0, 46, -48, 0, 30, 0 }, + { -1, 47, -49, 0, 30, 0 }, { -2, 47, -50, 0, 30, 0 }, { -3, 47, -51, 0, 30, 0 }, { -4, 47, -52, 0, 30, 0 }, { -5, 47, -53, 0, 30, 0 }, + { -6, 47, -54, 0, 30, 0 }, { -7, 48, -55, 0, 30, 0 }, { -8, 48, -55, 0, 30, 0 }, { -9, 48, -56, 0, 29, 0 }, { -10, 48, -57, 0, 29, 0 }, + { -11, 48, -58, 0, 29, 0 }, { -12, 48, -58, 0, 29, 0 }, { -13, 48, -59, 0, 29, 0 }, { -14, 48, -59, 0, 29, 0 }, { -15, 48, -60, 0, 29, 0 }, + { -16, 48, -60, 0, 29, 0 }, { -17, 48, -61, 0, 29, 0 }, { -18, 48, -61, 0, 29, 0 }, { -19, 48, -62, 0, 29, 0 }, { -20, 48, -62, 0, 29, 0 }, + { -21, 48, -62, 0, 29, 0 }, { -22, 48, -63, 0, 29, 0 }, { -23, 48, -63, 0, 29, 0 }, { -24, 48, -63, 0, 29, 0 }, { -25, 48, -63, 0, 29, 0 }, + { -26, 48, -63, 16, 16, 0 }, { -27, 48, -64, 16, 16, 0 }, { -28, 48, -64, 16, 16, 0 }, { -29, 48, -64, 16, 16, 0 }, { -30, 48, -64, 16, 16, 0 }, + { -31, 48, -64, 16, 16, 0 }, { -32, 48, -64, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EE5D8 = { - 97, { - { 0, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, - { 5, 16, 0, 0, 0, 0 }, { 6, 16, -1, 0, 0, 0 }, { 7, 16, -1, 0, 0, 0 }, { 8, 16, -1, 8, 33, 0 }, { 9, 16, -1, 8, 33, 0 }, - { 10, 16, -1, 8, 33, 0 }, { 11, 16, -2, 8, 33, 0 }, { 12, 16, -2, 8, 33, 0 }, { 13, 16, -2, 8, 33, 0 }, { 14, 16, -3, 8, 33, 0 }, - { 15, 16, -3, 8, 33, 0 }, { 16, 16, -4, 8, 33, 0 }, { 17, 16, -4, 8, 33, 0 }, { 18, 16, -5, 8, 33, 0 }, { 19, 16, -5, 8, 33, 0 }, - { 20, 16, -6, 8, 33, 0 }, { 21, 16, -6, 8, 33, 0 }, { 22, 16, -7, 8, 33, 0 }, { 23, 16, -8, 8, 33, 0 }, { 24, 16, -9, 8, 32, 0 }, - { 25, 16, -9, 8, 32, 0 }, { 26, 17, -10, 8, 32, 0 }, { 27, 17, -11, 8, 32, 0 }, { 28, 17, -12, 8, 32, 0 }, { 29, 17, -13, 8, 32, 0 }, - { 30, 17, -14, 8, 32, 0 }, { 31, 17, -15, 8, 32, 0 }, { 32, 18, -16, 8, 32, 0 }, { 33, 18, -17, 8, 32, 0 }, { 33, 18, -18, 8, 32, 0 }, - { 34, 18, -19, 8, 32, 0 }, { 35, 18, -20, 8, 32, 0 }, { 36, 19, -21, 8, 32, 0 }, { 36, 19, -22, 8, 32, 0 }, { 37, 19, -23, 8, 32, 0 }, - { 37, 20, -24, 8, 31, 0 }, { 38, 20, -25, 8, 31, 0 }, { 39, 20, -26, 8, 31, 0 }, { 39, 20, -27, 8, 31, 0 }, { 40, 21, -28, 8, 31, 0 }, - { 40, 21, -29, 8, 31, 0 }, { 41, 22, -30, 8, 31, 0 }, { 41, 22, -31, 8, 31, 0 }, { 42, 22, -32, 8, 31, 0 }, { 42, 23, -33, 8, 31, 0 }, - { 42, 23, -34, 8, 31, 0 }, { 43, 24, -35, 8, 31, 0 }, { 43, 24, -36, 8, 31, 0 }, { 44, 25, -37, 8, 31, 0 }, { 44, 25, -38, 8, 31, 0 }, - { 44, 26, -39, 8, 31, 0 }, { 44, 27, -40, 8, 31, 0 }, { 45, 27, -41, 8, 30, 0 }, { 45, 28, -42, 8, 30, 0 }, { 45, 28, -43, 8, 30, 0 }, - { 46, 29, -44, 8, 30, 0 }, { 46, 30, -45, 8, 30, 0 }, { 46, 31, -46, 8, 30, 0 }, { 46, 31, -47, 8, 30, 0 }, { 46, 32, -48, 8, 30, 0 }, - { 47, 33, -49, 8, 30, 0 }, { 47, 34, -50, 8, 30, 0 }, { 47, 35, -51, 8, 30, 0 }, { 47, 36, -52, 8, 30, 0 }, { 47, 37, -53, 8, 30, 0 }, - { 47, 38, -54, 8, 30, 0 }, { 48, 39, -55, 8, 30, 0 }, { 48, 40, -55, 8, 30, 0 }, { 48, 41, -56, 8, 29, 0 }, { 48, 42, -57, 8, 29, 0 }, - { 48, 43, -58, 8, 29, 0 }, { 48, 44, -58, 8, 29, 0 }, { 48, 45, -59, 8, 29, 0 }, { 48, 46, -59, 8, 29, 0 }, { 48, 47, -60, 8, 29, 0 }, - { 48, 48, -60, 8, 29, 0 }, { 48, 49, -61, 8, 29, 0 }, { 48, 50, -61, 8, 29, 0 }, { 48, 51, -62, 8, 29, 0 }, { 48, 52, -62, 8, 29, 0 }, - { 48, 53, -62, 8, 29, 0 }, { 48, 54, -63, 8, 29, 0 }, { 48, 55, -63, 8, 29, 0 }, { 48, 56, -63, 8, 29, 0 }, { 48, 57, -63, 8, 29, 0 }, - { 48, 58, -63, 24, 16, 0 }, { 48, 59, -64, 24, 16, 0 }, { 48, 60, -64, 24, 16, 0 }, { 48, 61, -64, 24, 16, 0 }, { 48, 62, -64, 24, 16, 0 }, - { 48, 63, -64, 24, 16, 0 }, { 48, 64, -64, 24, 16, 0 }, + 97, { + { 0, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, + { 5, 16, 0, 0, 0, 0 }, { 6, 16, -1, 0, 0, 0 }, { 7, 16, -1, 0, 0, 0 }, { 8, 16, -1, 8, 33, 0 }, { 9, 16, -1, 8, 33, 0 }, + { 10, 16, -1, 8, 33, 0 }, { 11, 16, -2, 8, 33, 0 }, { 12, 16, -2, 8, 33, 0 }, { 13, 16, -2, 8, 33, 0 }, { 14, 16, -3, 8, 33, 0 }, + { 15, 16, -3, 8, 33, 0 }, { 16, 16, -4, 8, 33, 0 }, { 17, 16, -4, 8, 33, 0 }, { 18, 16, -5, 8, 33, 0 }, { 19, 16, -5, 8, 33, 0 }, + { 20, 16, -6, 8, 33, 0 }, { 21, 16, -6, 8, 33, 0 }, { 22, 16, -7, 8, 33, 0 }, { 23, 16, -8, 8, 33, 0 }, { 24, 16, -9, 8, 32, 0 }, + { 25, 16, -9, 8, 32, 0 }, { 26, 17, -10, 8, 32, 0 }, { 27, 17, -11, 8, 32, 0 }, { 28, 17, -12, 8, 32, 0 }, { 29, 17, -13, 8, 32, 0 }, + { 30, 17, -14, 8, 32, 0 }, { 31, 17, -15, 8, 32, 0 }, { 32, 18, -16, 8, 32, 0 }, { 33, 18, -17, 8, 32, 0 }, { 33, 18, -18, 8, 32, 0 }, + { 34, 18, -19, 8, 32, 0 }, { 35, 18, -20, 8, 32, 0 }, { 36, 19, -21, 8, 32, 0 }, { 36, 19, -22, 8, 32, 0 }, { 37, 19, -23, 8, 32, 0 }, + { 37, 20, -24, 8, 31, 0 }, { 38, 20, -25, 8, 31, 0 }, { 39, 20, -26, 8, 31, 0 }, { 39, 20, -27, 8, 31, 0 }, { 40, 21, -28, 8, 31, 0 }, + { 40, 21, -29, 8, 31, 0 }, { 41, 22, -30, 8, 31, 0 }, { 41, 22, -31, 8, 31, 0 }, { 42, 22, -32, 8, 31, 0 }, { 42, 23, -33, 8, 31, 0 }, + { 42, 23, -34, 8, 31, 0 }, { 43, 24, -35, 8, 31, 0 }, { 43, 24, -36, 8, 31, 0 }, { 44, 25, -37, 8, 31, 0 }, { 44, 25, -38, 8, 31, 0 }, + { 44, 26, -39, 8, 31, 0 }, { 44, 27, -40, 8, 31, 0 }, { 45, 27, -41, 8, 30, 0 }, { 45, 28, -42, 8, 30, 0 }, { 45, 28, -43, 8, 30, 0 }, + { 46, 29, -44, 8, 30, 0 }, { 46, 30, -45, 8, 30, 0 }, { 46, 31, -46, 8, 30, 0 }, { 46, 31, -47, 8, 30, 0 }, { 46, 32, -48, 8, 30, 0 }, + { 47, 33, -49, 8, 30, 0 }, { 47, 34, -50, 8, 30, 0 }, { 47, 35, -51, 8, 30, 0 }, { 47, 36, -52, 8, 30, 0 }, { 47, 37, -53, 8, 30, 0 }, + { 47, 38, -54, 8, 30, 0 }, { 48, 39, -55, 8, 30, 0 }, { 48, 40, -55, 8, 30, 0 }, { 48, 41, -56, 8, 29, 0 }, { 48, 42, -57, 8, 29, 0 }, + { 48, 43, -58, 8, 29, 0 }, { 48, 44, -58, 8, 29, 0 }, { 48, 45, -59, 8, 29, 0 }, { 48, 46, -59, 8, 29, 0 }, { 48, 47, -60, 8, 29, 0 }, + { 48, 48, -60, 8, 29, 0 }, { 48, 49, -61, 8, 29, 0 }, { 48, 50, -61, 8, 29, 0 }, { 48, 51, -62, 8, 29, 0 }, { 48, 52, -62, 8, 29, 0 }, + { 48, 53, -62, 8, 29, 0 }, { 48, 54, -63, 8, 29, 0 }, { 48, 55, -63, 8, 29, 0 }, { 48, 56, -63, 8, 29, 0 }, { 48, 57, -63, 8, 29, 0 }, + { 48, 58, -63, 24, 16, 0 }, { 48, 59, -64, 24, 16, 0 }, { 48, 60, -64, 24, 16, 0 }, { 48, 61, -64, 24, 16, 0 }, { 48, 62, -64, 24, 16, 0 }, + { 48, 63, -64, 24, 16, 0 }, { 48, 64, -64, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EE943 = { - 97, { - { 16, 31, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, - { 16, 26, 0, 8, 0, 0 }, { 16, 25, -1, 8, 0, 0 }, { 16, 24, -1, 8, 0, 0 }, { 16, 23, -1, 16, 33, 0 }, { 16, 22, -1, 16, 33, 0 }, - { 16, 21, -1, 16, 33, 0 }, { 16, 20, -2, 16, 33, 0 }, { 16, 19, -2, 16, 33, 0 }, { 16, 18, -2, 16, 33, 0 }, { 16, 17, -3, 16, 33, 0 }, - { 16, 16, -3, 16, 33, 0 }, { 16, 15, -4, 16, 33, 0 }, { 16, 14, -4, 16, 33, 0 }, { 16, 13, -5, 16, 33, 0 }, { 16, 12, -5, 16, 33, 0 }, - { 16, 11, -6, 16, 33, 0 }, { 16, 10, -6, 16, 33, 0 }, { 16, 9, -7, 16, 33, 0 }, { 16, 8, -8, 16, 33, 0 }, { 16, 7, -9, 16, 32, 0 }, - { 16, 6, -9, 16, 32, 0 }, { 17, 5, -10, 16, 32, 0 }, { 17, 4, -11, 16, 32, 0 }, { 17, 3, -12, 16, 32, 0 }, { 17, 2, -13, 16, 32, 0 }, - { 17, 1, -14, 16, 32, 0 }, { 17, 0, -15, 16, 32, 0 }, { 18, -1, -16, 16, 32, 0 }, { 18, -2, -17, 16, 32, 0 }, { 18, -2, -18, 16, 32, 0 }, - { 18, -3, -19, 16, 32, 0 }, { 18, -4, -20, 16, 32, 0 }, { 19, -5, -21, 16, 32, 0 }, { 19, -5, -22, 16, 32, 0 }, { 19, -6, -23, 16, 32, 0 }, - { 20, -6, -24, 16, 31, 0 }, { 20, -7, -25, 16, 31, 0 }, { 20, -8, -26, 16, 31, 0 }, { 20, -8, -27, 16, 31, 0 }, { 21, -9, -28, 16, 31, 0 }, - { 21, -9, -29, 16, 31, 0 }, { 22, -10, -30, 16, 31, 0 }, { 22, -10, -31, 16, 31, 0 }, { 22, -11, -32, 16, 31, 0 }, { 23, -11, -33, 16, 31, 0 }, - { 23, -11, -34, 16, 31, 0 }, { 24, -12, -35, 16, 31, 0 }, { 24, -12, -36, 16, 31, 0 }, { 25, -13, -37, 16, 31, 0 }, { 25, -13, -38, 16, 31, 0 }, - { 26, -13, -39, 16, 31, 0 }, { 27, -13, -40, 16, 31, 0 }, { 27, -14, -41, 16, 30, 0 }, { 28, -14, -42, 16, 30, 0 }, { 28, -14, -43, 16, 30, 0 }, - { 29, -15, -44, 16, 30, 0 }, { 30, -15, -45, 16, 30, 0 }, { 31, -15, -46, 16, 30, 0 }, { 31, -15, -47, 16, 30, 0 }, { 32, -15, -48, 16, 30, 0 }, - { 33, -16, -49, 16, 30, 0 }, { 34, -16, -50, 16, 30, 0 }, { 35, -16, -51, 16, 30, 0 }, { 36, -16, -52, 16, 30, 0 }, { 37, -16, -53, 16, 30, 0 }, - { 38, -16, -54, 16, 30, 0 }, { 39, -17, -55, 16, 30, 0 }, { 40, -17, -55, 16, 30, 0 }, { 41, -17, -56, 16, 29, 0 }, { 42, -17, -57, 16, 29, 0 }, - { 43, -17, -58, 16, 29, 0 }, { 44, -17, -58, 16, 29, 0 }, { 45, -17, -59, 16, 29, 0 }, { 46, -17, -59, 16, 29, 0 }, { 47, -17, -60, 16, 29, 0 }, - { 48, -17, -60, 16, 29, 0 }, { 49, -17, -61, 16, 29, 0 }, { 50, -17, -61, 16, 29, 0 }, { 51, -17, -62, 16, 29, 0 }, { 52, -17, -62, 16, 29, 0 }, - { 53, -17, -62, 16, 29, 0 }, { 54, -17, -63, 16, 29, 0 }, { 55, -17, -63, 16, 29, 0 }, { 56, -17, -63, 16, 29, 0 }, { 57, -17, -63, 16, 29, 0 }, - { 58, -17, -63, 0, 16, 0 }, { 59, -17, -64, 0, 16, 0 }, { 60, -17, -64, 0, 16, 0 }, { 61, -17, -64, 0, 16, 0 }, { 62, -17, -64, 0, 16, 0 }, - { 63, -17, -64, 0, 16, 0 }, { 64, -17, -64, 0, 16, 0 }, + 97, { + { 16, 31, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, + { 16, 26, 0, 8, 0, 0 }, { 16, 25, -1, 8, 0, 0 }, { 16, 24, -1, 8, 0, 0 }, { 16, 23, -1, 16, 33, 0 }, { 16, 22, -1, 16, 33, 0 }, + { 16, 21, -1, 16, 33, 0 }, { 16, 20, -2, 16, 33, 0 }, { 16, 19, -2, 16, 33, 0 }, { 16, 18, -2, 16, 33, 0 }, { 16, 17, -3, 16, 33, 0 }, + { 16, 16, -3, 16, 33, 0 }, { 16, 15, -4, 16, 33, 0 }, { 16, 14, -4, 16, 33, 0 }, { 16, 13, -5, 16, 33, 0 }, { 16, 12, -5, 16, 33, 0 }, + { 16, 11, -6, 16, 33, 0 }, { 16, 10, -6, 16, 33, 0 }, { 16, 9, -7, 16, 33, 0 }, { 16, 8, -8, 16, 33, 0 }, { 16, 7, -9, 16, 32, 0 }, + { 16, 6, -9, 16, 32, 0 }, { 17, 5, -10, 16, 32, 0 }, { 17, 4, -11, 16, 32, 0 }, { 17, 3, -12, 16, 32, 0 }, { 17, 2, -13, 16, 32, 0 }, + { 17, 1, -14, 16, 32, 0 }, { 17, 0, -15, 16, 32, 0 }, { 18, -1, -16, 16, 32, 0 }, { 18, -2, -17, 16, 32, 0 }, { 18, -2, -18, 16, 32, 0 }, + { 18, -3, -19, 16, 32, 0 }, { 18, -4, -20, 16, 32, 0 }, { 19, -5, -21, 16, 32, 0 }, { 19, -5, -22, 16, 32, 0 }, { 19, -6, -23, 16, 32, 0 }, + { 20, -6, -24, 16, 31, 0 }, { 20, -7, -25, 16, 31, 0 }, { 20, -8, -26, 16, 31, 0 }, { 20, -8, -27, 16, 31, 0 }, { 21, -9, -28, 16, 31, 0 }, + { 21, -9, -29, 16, 31, 0 }, { 22, -10, -30, 16, 31, 0 }, { 22, -10, -31, 16, 31, 0 }, { 22, -11, -32, 16, 31, 0 }, { 23, -11, -33, 16, 31, 0 }, + { 23, -11, -34, 16, 31, 0 }, { 24, -12, -35, 16, 31, 0 }, { 24, -12, -36, 16, 31, 0 }, { 25, -13, -37, 16, 31, 0 }, { 25, -13, -38, 16, 31, 0 }, + { 26, -13, -39, 16, 31, 0 }, { 27, -13, -40, 16, 31, 0 }, { 27, -14, -41, 16, 30, 0 }, { 28, -14, -42, 16, 30, 0 }, { 28, -14, -43, 16, 30, 0 }, + { 29, -15, -44, 16, 30, 0 }, { 30, -15, -45, 16, 30, 0 }, { 31, -15, -46, 16, 30, 0 }, { 31, -15, -47, 16, 30, 0 }, { 32, -15, -48, 16, 30, 0 }, + { 33, -16, -49, 16, 30, 0 }, { 34, -16, -50, 16, 30, 0 }, { 35, -16, -51, 16, 30, 0 }, { 36, -16, -52, 16, 30, 0 }, { 37, -16, -53, 16, 30, 0 }, + { 38, -16, -54, 16, 30, 0 }, { 39, -17, -55, 16, 30, 0 }, { 40, -17, -55, 16, 30, 0 }, { 41, -17, -56, 16, 29, 0 }, { 42, -17, -57, 16, 29, 0 }, + { 43, -17, -58, 16, 29, 0 }, { 44, -17, -58, 16, 29, 0 }, { 45, -17, -59, 16, 29, 0 }, { 46, -17, -59, 16, 29, 0 }, { 47, -17, -60, 16, 29, 0 }, + { 48, -17, -60, 16, 29, 0 }, { 49, -17, -61, 16, 29, 0 }, { 50, -17, -61, 16, 29, 0 }, { 51, -17, -62, 16, 29, 0 }, { 52, -17, -62, 16, 29, 0 }, + { 53, -17, -62, 16, 29, 0 }, { 54, -17, -63, 16, 29, 0 }, { 55, -17, -63, 16, 29, 0 }, { 56, -17, -63, 16, 29, 0 }, { 57, -17, -63, 16, 29, 0 }, + { 58, -17, -63, 0, 16, 0 }, { 59, -17, -64, 0, 16, 0 }, { 60, -17, -64, 0, 16, 0 }, { 61, -17, -64, 0, 16, 0 }, { 62, -17, -64, 0, 16, 0 }, + { 63, -17, -64, 0, 16, 0 }, { 64, -17, -64, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EECAE = { - 97, { - { 31, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, - { 26, 16, 0, 16, 0, 0 }, { 25, 16, -1, 16, 0, 0 }, { 24, 16, -1, 16, 0, 0 }, { 23, 16, -1, 8, 43, 0 }, { 22, 16, -1, 8, 43, 0 }, - { 21, 16, -1, 8, 43, 0 }, { 20, 16, -2, 8, 43, 0 }, { 19, 16, -2, 8, 43, 0 }, { 18, 16, -2, 8, 43, 0 }, { 17, 16, -3, 8, 43, 0 }, - { 16, 16, -3, 8, 43, 0 }, { 15, 16, -4, 8, 43, 0 }, { 14, 16, -4, 8, 43, 0 }, { 13, 16, -5, 8, 43, 0 }, { 12, 16, -5, 8, 43, 0 }, - { 11, 16, -6, 8, 43, 0 }, { 10, 16, -6, 8, 43, 0 }, { 9, 16, -7, 8, 43, 0 }, { 8, 16, -8, 8, 43, 0 }, { 7, 16, -9, 8, 42, 0 }, - { 6, 16, -9, 8, 42, 0 }, { 5, 17, -10, 8, 42, 0 }, { 4, 17, -11, 8, 42, 0 }, { 3, 17, -12, 8, 42, 0 }, { 2, 17, -13, 8, 42, 0 }, - { 1, 17, -14, 8, 42, 0 }, { 0, 17, -15, 8, 42, 0 }, { -1, 18, -16, 8, 42, 0 }, { -2, 18, -17, 8, 42, 0 }, { -2, 18, -18, 8, 42, 0 }, - { -3, 18, -19, 8, 42, 0 }, { -4, 18, -20, 8, 42, 0 }, { -5, 19, -21, 8, 42, 0 }, { -5, 19, -22, 8, 42, 0 }, { -6, 19, -23, 8, 42, 0 }, - { -6, 20, -24, 8, 41, 0 }, { -7, 20, -25, 8, 41, 0 }, { -8, 20, -26, 8, 41, 0 }, { -8, 20, -27, 8, 41, 0 }, { -9, 21, -28, 8, 41, 0 }, - { -9, 21, -29, 8, 41, 0 }, { -10, 22, -30, 8, 41, 0 }, { -10, 22, -31, 8, 41, 0 }, { -11, 22, -32, 8, 41, 0 }, { -11, 23, -33, 8, 41, 0 }, - { -11, 23, -34, 8, 41, 0 }, { -12, 24, -35, 8, 41, 0 }, { -12, 24, -36, 8, 41, 0 }, { -13, 25, -37, 8, 41, 0 }, { -13, 25, -38, 8, 41, 0 }, - { -13, 26, -39, 8, 41, 0 }, { -13, 27, -40, 8, 41, 0 }, { -14, 27, -41, 8, 40, 0 }, { -14, 28, -42, 8, 40, 0 }, { -14, 28, -43, 8, 40, 0 }, - { -15, 29, -44, 8, 40, 0 }, { -15, 30, -45, 8, 40, 0 }, { -15, 31, -46, 8, 40, 0 }, { -15, 31, -47, 8, 40, 0 }, { -15, 32, -48, 8, 40, 0 }, - { -16, 33, -49, 8, 40, 0 }, { -16, 34, -50, 8, 40, 0 }, { -16, 35, -51, 8, 40, 0 }, { -16, 36, -52, 8, 40, 0 }, { -16, 37, -53, 8, 40, 0 }, - { -16, 38, -54, 8, 40, 0 }, { -17, 39, -55, 8, 40, 0 }, { -17, 40, -55, 8, 40, 0 }, { -17, 41, -56, 8, 39, 0 }, { -17, 42, -57, 8, 39, 0 }, - { -17, 43, -58, 8, 39, 0 }, { -17, 44, -58, 8, 39, 0 }, { -17, 45, -59, 8, 39, 0 }, { -17, 46, -59, 8, 39, 0 }, { -17, 47, -60, 8, 39, 0 }, - { -17, 48, -60, 8, 39, 0 }, { -17, 49, -61, 8, 39, 0 }, { -17, 50, -61, 8, 39, 0 }, { -17, 51, -62, 8, 39, 0 }, { -17, 52, -62, 8, 39, 0 }, - { -17, 53, -62, 8, 39, 0 }, { -17, 54, -63, 8, 39, 0 }, { -17, 55, -63, 8, 39, 0 }, { -17, 56, -63, 8, 39, 0 }, { -17, 57, -63, 8, 39, 0 }, - { -17, 58, -63, 24, 16, 0 }, { -17, 59, -64, 24, 16, 0 }, { -17, 60, -64, 24, 16, 0 }, { -17, 61, -64, 24, 16, 0 }, { -17, 62, -64, 24, 16, 0 }, - { -17, 63, -64, 24, 16, 0 }, { -17, 64, -64, 24, 16, 0 }, + 97, { + { 31, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, + { 26, 16, 0, 16, 0, 0 }, { 25, 16, -1, 16, 0, 0 }, { 24, 16, -1, 16, 0, 0 }, { 23, 16, -1, 8, 43, 0 }, { 22, 16, -1, 8, 43, 0 }, + { 21, 16, -1, 8, 43, 0 }, { 20, 16, -2, 8, 43, 0 }, { 19, 16, -2, 8, 43, 0 }, { 18, 16, -2, 8, 43, 0 }, { 17, 16, -3, 8, 43, 0 }, + { 16, 16, -3, 8, 43, 0 }, { 15, 16, -4, 8, 43, 0 }, { 14, 16, -4, 8, 43, 0 }, { 13, 16, -5, 8, 43, 0 }, { 12, 16, -5, 8, 43, 0 }, + { 11, 16, -6, 8, 43, 0 }, { 10, 16, -6, 8, 43, 0 }, { 9, 16, -7, 8, 43, 0 }, { 8, 16, -8, 8, 43, 0 }, { 7, 16, -9, 8, 42, 0 }, + { 6, 16, -9, 8, 42, 0 }, { 5, 17, -10, 8, 42, 0 }, { 4, 17, -11, 8, 42, 0 }, { 3, 17, -12, 8, 42, 0 }, { 2, 17, -13, 8, 42, 0 }, + { 1, 17, -14, 8, 42, 0 }, { 0, 17, -15, 8, 42, 0 }, { -1, 18, -16, 8, 42, 0 }, { -2, 18, -17, 8, 42, 0 }, { -2, 18, -18, 8, 42, 0 }, + { -3, 18, -19, 8, 42, 0 }, { -4, 18, -20, 8, 42, 0 }, { -5, 19, -21, 8, 42, 0 }, { -5, 19, -22, 8, 42, 0 }, { -6, 19, -23, 8, 42, 0 }, + { -6, 20, -24, 8, 41, 0 }, { -7, 20, -25, 8, 41, 0 }, { -8, 20, -26, 8, 41, 0 }, { -8, 20, -27, 8, 41, 0 }, { -9, 21, -28, 8, 41, 0 }, + { -9, 21, -29, 8, 41, 0 }, { -10, 22, -30, 8, 41, 0 }, { -10, 22, -31, 8, 41, 0 }, { -11, 22, -32, 8, 41, 0 }, { -11, 23, -33, 8, 41, 0 }, + { -11, 23, -34, 8, 41, 0 }, { -12, 24, -35, 8, 41, 0 }, { -12, 24, -36, 8, 41, 0 }, { -13, 25, -37, 8, 41, 0 }, { -13, 25, -38, 8, 41, 0 }, + { -13, 26, -39, 8, 41, 0 }, { -13, 27, -40, 8, 41, 0 }, { -14, 27, -41, 8, 40, 0 }, { -14, 28, -42, 8, 40, 0 }, { -14, 28, -43, 8, 40, 0 }, + { -15, 29, -44, 8, 40, 0 }, { -15, 30, -45, 8, 40, 0 }, { -15, 31, -46, 8, 40, 0 }, { -15, 31, -47, 8, 40, 0 }, { -15, 32, -48, 8, 40, 0 }, + { -16, 33, -49, 8, 40, 0 }, { -16, 34, -50, 8, 40, 0 }, { -16, 35, -51, 8, 40, 0 }, { -16, 36, -52, 8, 40, 0 }, { -16, 37, -53, 8, 40, 0 }, + { -16, 38, -54, 8, 40, 0 }, { -17, 39, -55, 8, 40, 0 }, { -17, 40, -55, 8, 40, 0 }, { -17, 41, -56, 8, 39, 0 }, { -17, 42, -57, 8, 39, 0 }, + { -17, 43, -58, 8, 39, 0 }, { -17, 44, -58, 8, 39, 0 }, { -17, 45, -59, 8, 39, 0 }, { -17, 46, -59, 8, 39, 0 }, { -17, 47, -60, 8, 39, 0 }, + { -17, 48, -60, 8, 39, 0 }, { -17, 49, -61, 8, 39, 0 }, { -17, 50, -61, 8, 39, 0 }, { -17, 51, -62, 8, 39, 0 }, { -17, 52, -62, 8, 39, 0 }, + { -17, 53, -62, 8, 39, 0 }, { -17, 54, -63, 8, 39, 0 }, { -17, 55, -63, 8, 39, 0 }, { -17, 56, -63, 8, 39, 0 }, { -17, 57, -63, 8, 39, 0 }, + { -17, 58, -63, 24, 16, 0 }, { -17, 59, -64, 24, 16, 0 }, { -17, 60, -64, 24, 16, 0 }, { -17, 61, -64, 24, 16, 0 }, { -17, 62, -64, 24, 16, 0 }, + { -17, 63, -64, 24, 16, 0 }, { -17, 64, -64, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EF019 = { - 97, { - { 16, 0, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, - { 16, 5, 0, 24, 0, 0 }, { 16, 6, -1, 24, 0, 0 }, { 16, 7, -1, 24, 0, 0 }, { 16, 8, -1, 16, 43, 0 }, { 16, 9, -1, 16, 43, 0 }, - { 16, 10, -1, 16, 43, 0 }, { 16, 11, -2, 16, 43, 0 }, { 16, 12, -2, 16, 43, 0 }, { 16, 13, -2, 16, 43, 0 }, { 16, 14, -3, 16, 43, 0 }, - { 16, 15, -3, 16, 43, 0 }, { 16, 16, -4, 16, 43, 0 }, { 16, 17, -4, 16, 43, 0 }, { 16, 18, -5, 16, 43, 0 }, { 16, 19, -5, 16, 43, 0 }, - { 16, 20, -6, 16, 43, 0 }, { 16, 21, -6, 16, 43, 0 }, { 16, 22, -7, 16, 43, 0 }, { 16, 23, -8, 16, 43, 0 }, { 16, 24, -9, 16, 42, 0 }, - { 16, 25, -9, 16, 42, 0 }, { 17, 26, -10, 16, 42, 0 }, { 17, 27, -11, 16, 42, 0 }, { 17, 28, -12, 16, 42, 0 }, { 17, 29, -13, 16, 42, 0 }, - { 17, 30, -14, 16, 42, 0 }, { 17, 31, -15, 16, 42, 0 }, { 18, 32, -16, 16, 42, 0 }, { 18, 33, -17, 16, 42, 0 }, { 18, 33, -18, 16, 42, 0 }, - { 18, 34, -19, 16, 42, 0 }, { 18, 35, -20, 16, 42, 0 }, { 19, 36, -21, 16, 42, 0 }, { 19, 36, -22, 16, 42, 0 }, { 19, 37, -23, 16, 42, 0 }, - { 20, 37, -24, 16, 41, 0 }, { 20, 38, -25, 16, 41, 0 }, { 20, 39, -26, 16, 41, 0 }, { 20, 39, -27, 16, 41, 0 }, { 21, 40, -28, 16, 41, 0 }, - { 21, 40, -29, 16, 41, 0 }, { 22, 41, -30, 16, 41, 0 }, { 22, 41, -31, 16, 41, 0 }, { 22, 42, -32, 16, 41, 0 }, { 23, 42, -33, 16, 41, 0 }, - { 23, 42, -34, 16, 41, 0 }, { 24, 43, -35, 16, 41, 0 }, { 24, 43, -36, 16, 41, 0 }, { 25, 44, -37, 16, 41, 0 }, { 25, 44, -38, 16, 41, 0 }, - { 26, 44, -39, 16, 41, 0 }, { 27, 44, -40, 16, 41, 0 }, { 27, 45, -41, 16, 40, 0 }, { 28, 45, -42, 16, 40, 0 }, { 28, 45, -43, 16, 40, 0 }, - { 29, 46, -44, 16, 40, 0 }, { 30, 46, -45, 16, 40, 0 }, { 31, 46, -46, 16, 40, 0 }, { 31, 46, -47, 16, 40, 0 }, { 32, 46, -48, 16, 40, 0 }, - { 33, 47, -49, 16, 40, 0 }, { 34, 47, -50, 16, 40, 0 }, { 35, 47, -51, 16, 40, 0 }, { 36, 47, -52, 16, 40, 0 }, { 37, 47, -53, 16, 40, 0 }, - { 38, 47, -54, 16, 40, 0 }, { 39, 48, -55, 16, 40, 0 }, { 40, 48, -55, 16, 40, 0 }, { 41, 48, -56, 16, 39, 0 }, { 42, 48, -57, 16, 39, 0 }, - { 43, 48, -58, 16, 39, 0 }, { 44, 48, -58, 16, 39, 0 }, { 45, 48, -59, 16, 39, 0 }, { 46, 48, -59, 16, 39, 0 }, { 47, 48, -60, 16, 39, 0 }, - { 48, 48, -60, 16, 39, 0 }, { 49, 48, -61, 16, 39, 0 }, { 50, 48, -61, 16, 39, 0 }, { 51, 48, -62, 16, 39, 0 }, { 52, 48, -62, 16, 39, 0 }, - { 53, 48, -62, 16, 39, 0 }, { 54, 48, -63, 16, 39, 0 }, { 55, 48, -63, 16, 39, 0 }, { 56, 48, -63, 16, 39, 0 }, { 57, 48, -63, 16, 39, 0 }, - { 58, 48, -63, 0, 16, 0 }, { 59, 48, -64, 0, 16, 0 }, { 60, 48, -64, 0, 16, 0 }, { 61, 48, -64, 0, 16, 0 }, { 62, 48, -64, 0, 16, 0 }, - { 63, 48, -64, 0, 16, 0 }, { 64, 48, -64, 0, 16, 0 }, + 97, { + { 16, 0, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, + { 16, 5, 0, 24, 0, 0 }, { 16, 6, -1, 24, 0, 0 }, { 16, 7, -1, 24, 0, 0 }, { 16, 8, -1, 16, 43, 0 }, { 16, 9, -1, 16, 43, 0 }, + { 16, 10, -1, 16, 43, 0 }, { 16, 11, -2, 16, 43, 0 }, { 16, 12, -2, 16, 43, 0 }, { 16, 13, -2, 16, 43, 0 }, { 16, 14, -3, 16, 43, 0 }, + { 16, 15, -3, 16, 43, 0 }, { 16, 16, -4, 16, 43, 0 }, { 16, 17, -4, 16, 43, 0 }, { 16, 18, -5, 16, 43, 0 }, { 16, 19, -5, 16, 43, 0 }, + { 16, 20, -6, 16, 43, 0 }, { 16, 21, -6, 16, 43, 0 }, { 16, 22, -7, 16, 43, 0 }, { 16, 23, -8, 16, 43, 0 }, { 16, 24, -9, 16, 42, 0 }, + { 16, 25, -9, 16, 42, 0 }, { 17, 26, -10, 16, 42, 0 }, { 17, 27, -11, 16, 42, 0 }, { 17, 28, -12, 16, 42, 0 }, { 17, 29, -13, 16, 42, 0 }, + { 17, 30, -14, 16, 42, 0 }, { 17, 31, -15, 16, 42, 0 }, { 18, 32, -16, 16, 42, 0 }, { 18, 33, -17, 16, 42, 0 }, { 18, 33, -18, 16, 42, 0 }, + { 18, 34, -19, 16, 42, 0 }, { 18, 35, -20, 16, 42, 0 }, { 19, 36, -21, 16, 42, 0 }, { 19, 36, -22, 16, 42, 0 }, { 19, 37, -23, 16, 42, 0 }, + { 20, 37, -24, 16, 41, 0 }, { 20, 38, -25, 16, 41, 0 }, { 20, 39, -26, 16, 41, 0 }, { 20, 39, -27, 16, 41, 0 }, { 21, 40, -28, 16, 41, 0 }, + { 21, 40, -29, 16, 41, 0 }, { 22, 41, -30, 16, 41, 0 }, { 22, 41, -31, 16, 41, 0 }, { 22, 42, -32, 16, 41, 0 }, { 23, 42, -33, 16, 41, 0 }, + { 23, 42, -34, 16, 41, 0 }, { 24, 43, -35, 16, 41, 0 }, { 24, 43, -36, 16, 41, 0 }, { 25, 44, -37, 16, 41, 0 }, { 25, 44, -38, 16, 41, 0 }, + { 26, 44, -39, 16, 41, 0 }, { 27, 44, -40, 16, 41, 0 }, { 27, 45, -41, 16, 40, 0 }, { 28, 45, -42, 16, 40, 0 }, { 28, 45, -43, 16, 40, 0 }, + { 29, 46, -44, 16, 40, 0 }, { 30, 46, -45, 16, 40, 0 }, { 31, 46, -46, 16, 40, 0 }, { 31, 46, -47, 16, 40, 0 }, { 32, 46, -48, 16, 40, 0 }, + { 33, 47, -49, 16, 40, 0 }, { 34, 47, -50, 16, 40, 0 }, { 35, 47, -51, 16, 40, 0 }, { 36, 47, -52, 16, 40, 0 }, { 37, 47, -53, 16, 40, 0 }, + { 38, 47, -54, 16, 40, 0 }, { 39, 48, -55, 16, 40, 0 }, { 40, 48, -55, 16, 40, 0 }, { 41, 48, -56, 16, 39, 0 }, { 42, 48, -57, 16, 39, 0 }, + { 43, 48, -58, 16, 39, 0 }, { 44, 48, -58, 16, 39, 0 }, { 45, 48, -59, 16, 39, 0 }, { 46, 48, -59, 16, 39, 0 }, { 47, 48, -60, 16, 39, 0 }, + { 48, 48, -60, 16, 39, 0 }, { 49, 48, -61, 16, 39, 0 }, { 50, 48, -61, 16, 39, 0 }, { 51, 48, -62, 16, 39, 0 }, { 52, 48, -62, 16, 39, 0 }, + { 53, 48, -62, 16, 39, 0 }, { 54, 48, -63, 16, 39, 0 }, { 55, 48, -63, 16, 39, 0 }, { 56, 48, -63, 16, 39, 0 }, { 57, 48, -63, 16, 39, 0 }, + { 58, 48, -63, 0, 16, 0 }, { 59, 48, -64, 0, 16, 0 }, { 60, 48, -64, 0, 16, 0 }, { 61, 48, -64, 0, 16, 0 }, { 62, 48, -64, 0, 16, 0 }, + { 63, 48, -64, 0, 16, 0 }, { 64, 48, -64, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EF384 = { - 97, { - { 0, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, - { 5, 16, 0, 0, 0, 0 }, { 6, 16, -1, 0, 0, 0 }, { 7, 16, -1, 0, 0, 0 }, { 8, 16, -1, 24, 43, 0 }, { 9, 16, -1, 24, 43, 0 }, - { 10, 16, -1, 24, 43, 0 }, { 11, 16, -2, 24, 43, 0 }, { 12, 16, -2, 24, 43, 0 }, { 13, 16, -2, 24, 43, 0 }, { 14, 16, -3, 24, 43, 0 }, - { 15, 16, -3, 24, 43, 0 }, { 16, 16, -4, 24, 43, 0 }, { 17, 16, -4, 24, 43, 0 }, { 18, 16, -5, 24, 43, 0 }, { 19, 16, -5, 24, 43, 0 }, - { 20, 16, -6, 24, 43, 0 }, { 21, 16, -6, 24, 43, 0 }, { 22, 16, -7, 24, 43, 0 }, { 23, 16, -8, 24, 43, 0 }, { 24, 16, -9, 24, 42, 0 }, - { 25, 16, -9, 24, 42, 0 }, { 26, 15, -10, 24, 42, 0 }, { 27, 15, -11, 24, 42, 0 }, { 28, 15, -12, 24, 42, 0 }, { 29, 15, -13, 24, 42, 0 }, - { 30, 15, -14, 24, 42, 0 }, { 31, 15, -15, 24, 42, 0 }, { 32, 14, -16, 24, 42, 0 }, { 33, 14, -17, 24, 42, 0 }, { 33, 14, -18, 24, 42, 0 }, - { 34, 14, -19, 24, 42, 0 }, { 35, 14, -20, 24, 42, 0 }, { 36, 13, -21, 24, 42, 0 }, { 36, 13, -22, 24, 42, 0 }, { 37, 13, -23, 24, 42, 0 }, - { 37, 12, -24, 24, 41, 0 }, { 38, 12, -25, 24, 41, 0 }, { 39, 12, -26, 24, 41, 0 }, { 39, 12, -27, 24, 41, 0 }, { 40, 11, -28, 24, 41, 0 }, - { 40, 11, -29, 24, 41, 0 }, { 41, 10, -30, 24, 41, 0 }, { 41, 10, -31, 24, 41, 0 }, { 42, 10, -32, 24, 41, 0 }, { 42, 9, -33, 24, 41, 0 }, - { 42, 9, -34, 24, 41, 0 }, { 43, 8, -35, 24, 41, 0 }, { 43, 8, -36, 24, 41, 0 }, { 44, 7, -37, 24, 41, 0 }, { 44, 7, -38, 24, 41, 0 }, - { 44, 6, -39, 24, 41, 0 }, { 44, 5, -40, 24, 41, 0 }, { 45, 5, -41, 24, 40, 0 }, { 45, 4, -42, 24, 40, 0 }, { 45, 4, -43, 24, 40, 0 }, - { 46, 3, -44, 24, 40, 0 }, { 46, 2, -45, 24, 40, 0 }, { 46, 1, -46, 24, 40, 0 }, { 46, 1, -47, 24, 40, 0 }, { 46, 0, -48, 24, 40, 0 }, - { 47, -1, -49, 24, 40, 0 }, { 47, -2, -50, 24, 40, 0 }, { 47, -3, -51, 24, 40, 0 }, { 47, -4, -52, 24, 40, 0 }, { 47, -5, -53, 24, 40, 0 }, - { 47, -6, -54, 24, 40, 0 }, { 48, -7, -55, 24, 40, 0 }, { 48, -8, -55, 24, 40, 0 }, { 48, -9, -56, 24, 39, 0 }, { 48, -10, -57, 24, 39, 0 }, - { 48, -11, -58, 24, 39, 0 }, { 48, -12, -58, 24, 39, 0 }, { 48, -13, -59, 24, 39, 0 }, { 48, -14, -59, 24, 39, 0 }, { 48, -15, -60, 24, 39, 0 }, - { 48, -16, -60, 24, 39, 0 }, { 48, -17, -61, 24, 39, 0 }, { 48, -18, -61, 24, 39, 0 }, { 48, -19, -62, 24, 39, 0 }, { 48, -20, -62, 24, 39, 0 }, - { 48, -21, -62, 24, 39, 0 }, { 48, -22, -63, 24, 39, 0 }, { 48, -23, -63, 24, 39, 0 }, { 48, -24, -63, 24, 39, 0 }, { 48, -25, -63, 24, 39, 0 }, - { 48, -26, -63, 8, 16, 0 }, { 48, -27, -64, 8, 16, 0 }, { 48, -28, -64, 8, 16, 0 }, { 48, -29, -64, 8, 16, 0 }, { 48, -30, -64, 8, 16, 0 }, - { 48, -31, -64, 8, 16, 0 }, { 48, -32, -64, 8, 16, 0 }, + 97, { + { 0, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, + { 5, 16, 0, 0, 0, 0 }, { 6, 16, -1, 0, 0, 0 }, { 7, 16, -1, 0, 0, 0 }, { 8, 16, -1, 24, 43, 0 }, { 9, 16, -1, 24, 43, 0 }, + { 10, 16, -1, 24, 43, 0 }, { 11, 16, -2, 24, 43, 0 }, { 12, 16, -2, 24, 43, 0 }, { 13, 16, -2, 24, 43, 0 }, { 14, 16, -3, 24, 43, 0 }, + { 15, 16, -3, 24, 43, 0 }, { 16, 16, -4, 24, 43, 0 }, { 17, 16, -4, 24, 43, 0 }, { 18, 16, -5, 24, 43, 0 }, { 19, 16, -5, 24, 43, 0 }, + { 20, 16, -6, 24, 43, 0 }, { 21, 16, -6, 24, 43, 0 }, { 22, 16, -7, 24, 43, 0 }, { 23, 16, -8, 24, 43, 0 }, { 24, 16, -9, 24, 42, 0 }, + { 25, 16, -9, 24, 42, 0 }, { 26, 15, -10, 24, 42, 0 }, { 27, 15, -11, 24, 42, 0 }, { 28, 15, -12, 24, 42, 0 }, { 29, 15, -13, 24, 42, 0 }, + { 30, 15, -14, 24, 42, 0 }, { 31, 15, -15, 24, 42, 0 }, { 32, 14, -16, 24, 42, 0 }, { 33, 14, -17, 24, 42, 0 }, { 33, 14, -18, 24, 42, 0 }, + { 34, 14, -19, 24, 42, 0 }, { 35, 14, -20, 24, 42, 0 }, { 36, 13, -21, 24, 42, 0 }, { 36, 13, -22, 24, 42, 0 }, { 37, 13, -23, 24, 42, 0 }, + { 37, 12, -24, 24, 41, 0 }, { 38, 12, -25, 24, 41, 0 }, { 39, 12, -26, 24, 41, 0 }, { 39, 12, -27, 24, 41, 0 }, { 40, 11, -28, 24, 41, 0 }, + { 40, 11, -29, 24, 41, 0 }, { 41, 10, -30, 24, 41, 0 }, { 41, 10, -31, 24, 41, 0 }, { 42, 10, -32, 24, 41, 0 }, { 42, 9, -33, 24, 41, 0 }, + { 42, 9, -34, 24, 41, 0 }, { 43, 8, -35, 24, 41, 0 }, { 43, 8, -36, 24, 41, 0 }, { 44, 7, -37, 24, 41, 0 }, { 44, 7, -38, 24, 41, 0 }, + { 44, 6, -39, 24, 41, 0 }, { 44, 5, -40, 24, 41, 0 }, { 45, 5, -41, 24, 40, 0 }, { 45, 4, -42, 24, 40, 0 }, { 45, 4, -43, 24, 40, 0 }, + { 46, 3, -44, 24, 40, 0 }, { 46, 2, -45, 24, 40, 0 }, { 46, 1, -46, 24, 40, 0 }, { 46, 1, -47, 24, 40, 0 }, { 46, 0, -48, 24, 40, 0 }, + { 47, -1, -49, 24, 40, 0 }, { 47, -2, -50, 24, 40, 0 }, { 47, -3, -51, 24, 40, 0 }, { 47, -4, -52, 24, 40, 0 }, { 47, -5, -53, 24, 40, 0 }, + { 47, -6, -54, 24, 40, 0 }, { 48, -7, -55, 24, 40, 0 }, { 48, -8, -55, 24, 40, 0 }, { 48, -9, -56, 24, 39, 0 }, { 48, -10, -57, 24, 39, 0 }, + { 48, -11, -58, 24, 39, 0 }, { 48, -12, -58, 24, 39, 0 }, { 48, -13, -59, 24, 39, 0 }, { 48, -14, -59, 24, 39, 0 }, { 48, -15, -60, 24, 39, 0 }, + { 48, -16, -60, 24, 39, 0 }, { 48, -17, -61, 24, 39, 0 }, { 48, -18, -61, 24, 39, 0 }, { 48, -19, -62, 24, 39, 0 }, { 48, -20, -62, 24, 39, 0 }, + { 48, -21, -62, 24, 39, 0 }, { 48, -22, -63, 24, 39, 0 }, { 48, -23, -63, 24, 39, 0 }, { 48, -24, -63, 24, 39, 0 }, { 48, -25, -63, 24, 39, 0 }, + { 48, -26, -63, 8, 16, 0 }, { 48, -27, -64, 8, 16, 0 }, { 48, -28, -64, 8, 16, 0 }, { 48, -29, -64, 8, 16, 0 }, { 48, -30, -64, 8, 16, 0 }, + { 48, -31, -64, 8, 16, 0 }, { 48, -32, -64, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8EF6EF = { - 97, { - { 16, 31, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, - { 16, 26, 0, 8, 0, 0 }, { 16, 25, -1, 8, 0, 0 }, { 16, 24, -1, 8, 0, 0 }, { 16, 23, -1, 0, 43, 0 }, { 16, 22, -1, 0, 43, 0 }, - { 16, 21, -1, 0, 43, 0 }, { 16, 20, -2, 0, 43, 0 }, { 16, 19, -2, 0, 43, 0 }, { 16, 18, -2, 0, 43, 0 }, { 16, 17, -3, 0, 43, 0 }, - { 16, 16, -3, 0, 43, 0 }, { 16, 15, -4, 0, 43, 0 }, { 16, 14, -4, 0, 43, 0 }, { 16, 13, -5, 0, 43, 0 }, { 16, 12, -5, 0, 43, 0 }, - { 16, 11, -6, 0, 43, 0 }, { 16, 10, -6, 0, 43, 0 }, { 16, 9, -7, 0, 43, 0 }, { 16, 8, -8, 0, 43, 0 }, { 16, 7, -9, 0, 42, 0 }, - { 16, 6, -9, 0, 42, 0 }, { 15, 5, -10, 0, 42, 0 }, { 15, 4, -11, 0, 42, 0 }, { 15, 3, -12, 0, 42, 0 }, { 15, 2, -13, 0, 42, 0 }, - { 15, 1, -14, 0, 42, 0 }, { 15, 0, -15, 0, 42, 0 }, { 14, -1, -16, 0, 42, 0 }, { 14, -2, -17, 0, 42, 0 }, { 14, -2, -18, 0, 42, 0 }, - { 14, -3, -19, 0, 42, 0 }, { 14, -4, -20, 0, 42, 0 }, { 13, -5, -21, 0, 42, 0 }, { 13, -5, -22, 0, 42, 0 }, { 13, -6, -23, 0, 42, 0 }, - { 12, -6, -24, 0, 41, 0 }, { 12, -7, -25, 0, 41, 0 }, { 12, -8, -26, 0, 41, 0 }, { 12, -8, -27, 0, 41, 0 }, { 11, -9, -28, 0, 41, 0 }, - { 11, -9, -29, 0, 41, 0 }, { 10, -10, -30, 0, 41, 0 }, { 10, -10, -31, 0, 41, 0 }, { 10, -11, -32, 0, 41, 0 }, { 9, -11, -33, 0, 41, 0 }, - { 9, -11, -34, 0, 41, 0 }, { 8, -12, -35, 0, 41, 0 }, { 8, -12, -36, 0, 41, 0 }, { 7, -13, -37, 0, 41, 0 }, { 7, -13, -38, 0, 41, 0 }, - { 6, -13, -39, 0, 41, 0 }, { 5, -13, -40, 0, 41, 0 }, { 5, -14, -41, 0, 40, 0 }, { 4, -14, -42, 0, 40, 0 }, { 4, -14, -43, 0, 40, 0 }, - { 3, -15, -44, 0, 40, 0 }, { 2, -15, -45, 0, 40, 0 }, { 1, -15, -46, 0, 40, 0 }, { 1, -15, -47, 0, 40, 0 }, { 0, -15, -48, 0, 40, 0 }, - { -1, -16, -49, 0, 40, 0 }, { -2, -16, -50, 0, 40, 0 }, { -3, -16, -51, 0, 40, 0 }, { -4, -16, -52, 0, 40, 0 }, { -5, -16, -53, 0, 40, 0 }, - { -6, -16, -54, 0, 40, 0 }, { -7, -17, -55, 0, 40, 0 }, { -8, -17, -55, 0, 40, 0 }, { -9, -17, -56, 0, 39, 0 }, { -10, -17, -57, 0, 39, 0 }, - { -11, -17, -58, 0, 39, 0 }, { -12, -17, -58, 0, 39, 0 }, { -13, -17, -59, 0, 39, 0 }, { -14, -17, -59, 0, 39, 0 }, { -15, -17, -60, 0, 39, 0 }, - { -16, -17, -60, 0, 39, 0 }, { -17, -17, -61, 0, 39, 0 }, { -18, -17, -61, 0, 39, 0 }, { -19, -17, -62, 0, 39, 0 }, { -20, -17, -62, 0, 39, 0 }, - { -21, -17, -62, 0, 39, 0 }, { -22, -17, -63, 0, 39, 0 }, { -23, -17, -63, 0, 39, 0 }, { -24, -17, -63, 0, 39, 0 }, { -25, -17, -63, 0, 39, 0 }, - { -26, -17, -63, 16, 16, 0 }, { -27, -17, -64, 16, 16, 0 }, { -28, -17, -64, 16, 16, 0 }, { -29, -17, -64, 16, 16, 0 }, { -30, -17, -64, 16, 16, 0 }, - { -31, -17, -64, 16, 16, 0 }, { -32, -17, -64, 16, 16, 0 }, + 97, { + { 16, 31, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, + { 16, 26, 0, 8, 0, 0 }, { 16, 25, -1, 8, 0, 0 }, { 16, 24, -1, 8, 0, 0 }, { 16, 23, -1, 0, 43, 0 }, { 16, 22, -1, 0, 43, 0 }, + { 16, 21, -1, 0, 43, 0 }, { 16, 20, -2, 0, 43, 0 }, { 16, 19, -2, 0, 43, 0 }, { 16, 18, -2, 0, 43, 0 }, { 16, 17, -3, 0, 43, 0 }, + { 16, 16, -3, 0, 43, 0 }, { 16, 15, -4, 0, 43, 0 }, { 16, 14, -4, 0, 43, 0 }, { 16, 13, -5, 0, 43, 0 }, { 16, 12, -5, 0, 43, 0 }, + { 16, 11, -6, 0, 43, 0 }, { 16, 10, -6, 0, 43, 0 }, { 16, 9, -7, 0, 43, 0 }, { 16, 8, -8, 0, 43, 0 }, { 16, 7, -9, 0, 42, 0 }, + { 16, 6, -9, 0, 42, 0 }, { 15, 5, -10, 0, 42, 0 }, { 15, 4, -11, 0, 42, 0 }, { 15, 3, -12, 0, 42, 0 }, { 15, 2, -13, 0, 42, 0 }, + { 15, 1, -14, 0, 42, 0 }, { 15, 0, -15, 0, 42, 0 }, { 14, -1, -16, 0, 42, 0 }, { 14, -2, -17, 0, 42, 0 }, { 14, -2, -18, 0, 42, 0 }, + { 14, -3, -19, 0, 42, 0 }, { 14, -4, -20, 0, 42, 0 }, { 13, -5, -21, 0, 42, 0 }, { 13, -5, -22, 0, 42, 0 }, { 13, -6, -23, 0, 42, 0 }, + { 12, -6, -24, 0, 41, 0 }, { 12, -7, -25, 0, 41, 0 }, { 12, -8, -26, 0, 41, 0 }, { 12, -8, -27, 0, 41, 0 }, { 11, -9, -28, 0, 41, 0 }, + { 11, -9, -29, 0, 41, 0 }, { 10, -10, -30, 0, 41, 0 }, { 10, -10, -31, 0, 41, 0 }, { 10, -11, -32, 0, 41, 0 }, { 9, -11, -33, 0, 41, 0 }, + { 9, -11, -34, 0, 41, 0 }, { 8, -12, -35, 0, 41, 0 }, { 8, -12, -36, 0, 41, 0 }, { 7, -13, -37, 0, 41, 0 }, { 7, -13, -38, 0, 41, 0 }, + { 6, -13, -39, 0, 41, 0 }, { 5, -13, -40, 0, 41, 0 }, { 5, -14, -41, 0, 40, 0 }, { 4, -14, -42, 0, 40, 0 }, { 4, -14, -43, 0, 40, 0 }, + { 3, -15, -44, 0, 40, 0 }, { 2, -15, -45, 0, 40, 0 }, { 1, -15, -46, 0, 40, 0 }, { 1, -15, -47, 0, 40, 0 }, { 0, -15, -48, 0, 40, 0 }, + { -1, -16, -49, 0, 40, 0 }, { -2, -16, -50, 0, 40, 0 }, { -3, -16, -51, 0, 40, 0 }, { -4, -16, -52, 0, 40, 0 }, { -5, -16, -53, 0, 40, 0 }, + { -6, -16, -54, 0, 40, 0 }, { -7, -17, -55, 0, 40, 0 }, { -8, -17, -55, 0, 40, 0 }, { -9, -17, -56, 0, 39, 0 }, { -10, -17, -57, 0, 39, 0 }, + { -11, -17, -58, 0, 39, 0 }, { -12, -17, -58, 0, 39, 0 }, { -13, -17, -59, 0, 39, 0 }, { -14, -17, -59, 0, 39, 0 }, { -15, -17, -60, 0, 39, 0 }, + { -16, -17, -60, 0, 39, 0 }, { -17, -17, -61, 0, 39, 0 }, { -18, -17, -61, 0, 39, 0 }, { -19, -17, -62, 0, 39, 0 }, { -20, -17, -62, 0, 39, 0 }, + { -21, -17, -62, 0, 39, 0 }, { -22, -17, -63, 0, 39, 0 }, { -23, -17, -63, 0, 39, 0 }, { -24, -17, -63, 0, 39, 0 }, { -25, -17, -63, 0, 39, 0 }, + { -26, -17, -63, 16, 16, 0 }, { -27, -17, -64, 16, 16, 0 }, { -28, -17, -64, 16, 16, 0 }, { -29, -17, -64, 16, 16, 0 }, { -30, -17, -64, 16, 16, 0 }, + { -31, -17, -64, 16, 16, 0 }, { -32, -17, -64, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92D152 = { - 160, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 21, 16, 1, 0, 1, 0 }, { 20, 16, 1, 0, 1, 0 }, { 19, 16, 1, 0, 1, 0 }, { 18, 16, 1, 0, 1, 0 }, { 17, 16, 1, 0, 1, 0 }, - { 16, 16, 1, 0, 1, 0 }, { 15, 16, 2, 0, 1, 0 }, { 14, 16, 2, 0, 1, 0 }, { 13, 16, 2, 0, 1, 0 }, { 12, 16, 2, 0, 1, 0 }, - { 11, 16, 3, 0, 1, 0 }, { 10, 16, 3, 0, 1, 0 }, { 9, 16, 3, 0, 1, 0 }, { 8, 16, 4, 0, 1, 0 }, { 7, 16, 4, 0, 2, 0 }, - { 6, 16, 5, 0, 2, 0 }, { 5, 16, 5, 0, 2, 0 }, { 4, 16, 6, 0, 2, 0 }, { 3, 16, 6, 0, 2, 0 }, { 2, 16, 7, 0, 2, 0 }, - { 1, 16, 7, 0, 2, 0 }, { 0, 16, 8, 0, 2, 0 }, { -1, 16, 8, 0, 2, 0 }, { -2, 16, 9, 0, 2, 0 }, { -3, 16, 9, 0, 2, 0 }, - { -4, 16, 10, 0, 2, 0 }, { -5, 16, 10, 0, 2, 0 }, { -6, 16, 11, 0, 2, 0 }, { -7, 16, 11, 0, 2, 0 }, { -8, 16, 11, 0, 2, 0 }, - { -9, 16, 12, 0, 1, 0 }, { -10, 16, 12, 0, 1, 0 }, { -11, 16, 12, 0, 1, 0 }, { -12, 16, 13, 0, 1, 0 }, { -13, 16, 13, 0, 1, 0 }, - { -14, 16, 13, 0, 1, 0 }, { -15, 16, 14, 0, 1, 0 }, { -16, 16, 14, 0, 1, 0 }, { -17, 16, 14, 0, 1, 0 }, { -18, 16, 14, 0, 1, 0 }, - { -19, 16, 15, 0, 1, 0 }, { -20, 16, 15, 0, 1, 0 }, { -21, 16, 15, 0, 1, 0 }, { -22, 16, 15, 0, 1, 0 }, { -23, 16, 15, 0, 0, 0 }, - { -24, 16, 15, 0, 0, 0 }, { -25, 16, 16, 0, 0, 0 }, { -26, 16, 16, 0, 0, 0 }, { -27, 16, 16, 0, 0, 0 }, { -28, 16, 16, 0, 0, 0 }, - { -29, 16, 16, 0, 0, 0 }, { -30, 16, 16, 0, 0, 0 }, { -31, 16, 16, 0, 0, 0 }, { -32, 16, 16, 0, 0, 0 }, { -33, 16, 16, 0, 0, 0 }, - { -34, 16, 16, 0, 0, 0 }, { -35, 16, 16, 0, 0, 0 }, { -36, 16, 16, 0, 0, 0 }, { -37, 16, 16, 0, 0, 0 }, { -38, 16, 16, 0, 0, 0 }, - { -39, 16, 16, 0, 0, 0 }, { -40, 16, 16, 0, 0, 0 }, { -41, 16, 16, 0, 0, 0 }, { -42, 16, 16, 0, 0, 0 }, { -43, 16, 16, 0, 0, 0 }, - { -44, 16, 16, 0, 0, 0 }, { -45, 16, 16, 0, 0, 0 }, { -46, 16, 16, 0, 0, 0 }, { -47, 16, 16, 0, 0, 0 }, { -48, 16, 16, 0, 0, 0 }, - { -48, 16, 16, 16, 0, 0 }, { -47, 16, 16, 16, 0, 0 }, { -46, 16, 16, 16, 0, 0 }, { -45, 16, 16, 16, 0, 0 }, { -44, 16, 16, 16, 0, 0 }, - { -43, 16, 16, 16, 0, 0 }, { -42, 16, 16, 16, 0, 0 }, { -41, 16, 16, 16, 0, 0 }, { -40, 16, 16, 16, 0, 0 }, { -39, 16, 16, 16, 0, 0 }, - { -38, 16, 16, 16, 0, 0 }, { -37, 16, 16, 16, 0, 0 }, { -36, 16, 16, 16, 0, 0 }, { -35, 16, 16, 16, 0, 0 }, { -34, 16, 16, 16, 0, 0 }, - { -33, 16, 16, 16, 0, 0 }, { -32, 16, 16, 16, 0, 0 }, { -31, 16, 16, 16, 0, 0 }, { -30, 16, 16, 16, 0, 0 }, { -29, 16, 16, 16, 0, 0 }, - { -28, 16, 16, 16, 0, 0 }, { -27, 16, 16, 16, 0, 0 }, { -26, 16, 16, 16, 0, 0 }, { -25, 16, 16, 16, 0, 0 }, { -24, 16, 16, 16, 0, 0 }, - { -23, 16, 16, 16, 0, 0 }, { -22, 16, 17, 16, 1, 0 }, { -21, 16, 17, 16, 1, 0 }, { -20, 16, 17, 16, 1, 0 }, { -19, 16, 17, 16, 1, 0 }, - { -18, 16, 17, 16, 1, 0 }, { -17, 16, 17, 16, 1, 0 }, { -16, 16, 18, 16, 1, 0 }, { -15, 16, 18, 16, 1, 0 }, { -14, 16, 18, 16, 1, 0 }, - { -13, 16, 18, 16, 1, 0 }, { -12, 16, 19, 16, 1, 0 }, { -11, 16, 19, 16, 1, 0 }, { -10, 16, 19, 16, 1, 0 }, { -9, 16, 20, 16, 1, 0 }, - { -8, 16, 20, 16, 2, 0 }, { -7, 16, 21, 16, 2, 0 }, { -6, 16, 21, 16, 2, 0 }, { -5, 16, 22, 16, 2, 0 }, { -4, 16, 22, 16, 2, 0 }, - { -3, 16, 23, 16, 2, 0 }, { -2, 16, 23, 16, 2, 0 }, { -1, 16, 24, 16, 2, 0 }, { 0, 16, 24, 16, 2, 0 }, { 1, 16, 25, 16, 2, 0 }, - { 2, 16, 25, 16, 2, 0 }, { 3, 16, 26, 16, 2, 0 }, { 4, 16, 26, 16, 2, 0 }, { 5, 16, 27, 16, 2, 0 }, { 6, 16, 27, 16, 2, 0 }, - { 7, 16, 27, 16, 2, 0 }, { 8, 16, 28, 16, 1, 0 }, { 9, 16, 28, 16, 1, 0 }, { 10, 16, 28, 16, 1, 0 }, { 11, 16, 29, 16, 1, 0 }, - { 12, 16, 29, 16, 1, 0 }, { 13, 16, 29, 16, 1, 0 }, { 14, 16, 30, 16, 1, 0 }, { 15, 16, 30, 16, 1, 0 }, { 16, 16, 30, 16, 1, 0 }, - { 17, 16, 30, 16, 1, 0 }, { 18, 16, 31, 16, 1, 0 }, { 19, 16, 31, 16, 1, 0 }, { 20, 16, 31, 16, 1, 0 }, { 21, 16, 31, 16, 1, 0 }, - { 22, 16, 31, 16, 0, 0 }, { 23, 16, 31, 16, 0, 0 }, { 24, 16, 32, 16, 0, 0 }, { 25, 16, 32, 16, 0, 0 }, { 26, 16, 32, 16, 0, 0 }, - { 27, 16, 32, 16, 0, 0 }, { 28, 16, 32, 16, 0, 0 }, { 29, 16, 32, 16, 0, 0 }, { 30, 16, 32, 16, 0, 0 }, { 31, 16, 32, 16, 0, 0 }, + 160, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 21, 16, 1, 0, 1, 0 }, { 20, 16, 1, 0, 1, 0 }, { 19, 16, 1, 0, 1, 0 }, { 18, 16, 1, 0, 1, 0 }, { 17, 16, 1, 0, 1, 0 }, + { 16, 16, 1, 0, 1, 0 }, { 15, 16, 2, 0, 1, 0 }, { 14, 16, 2, 0, 1, 0 }, { 13, 16, 2, 0, 1, 0 }, { 12, 16, 2, 0, 1, 0 }, + { 11, 16, 3, 0, 1, 0 }, { 10, 16, 3, 0, 1, 0 }, { 9, 16, 3, 0, 1, 0 }, { 8, 16, 4, 0, 1, 0 }, { 7, 16, 4, 0, 2, 0 }, + { 6, 16, 5, 0, 2, 0 }, { 5, 16, 5, 0, 2, 0 }, { 4, 16, 6, 0, 2, 0 }, { 3, 16, 6, 0, 2, 0 }, { 2, 16, 7, 0, 2, 0 }, + { 1, 16, 7, 0, 2, 0 }, { 0, 16, 8, 0, 2, 0 }, { -1, 16, 8, 0, 2, 0 }, { -2, 16, 9, 0, 2, 0 }, { -3, 16, 9, 0, 2, 0 }, + { -4, 16, 10, 0, 2, 0 }, { -5, 16, 10, 0, 2, 0 }, { -6, 16, 11, 0, 2, 0 }, { -7, 16, 11, 0, 2, 0 }, { -8, 16, 11, 0, 2, 0 }, + { -9, 16, 12, 0, 1, 0 }, { -10, 16, 12, 0, 1, 0 }, { -11, 16, 12, 0, 1, 0 }, { -12, 16, 13, 0, 1, 0 }, { -13, 16, 13, 0, 1, 0 }, + { -14, 16, 13, 0, 1, 0 }, { -15, 16, 14, 0, 1, 0 }, { -16, 16, 14, 0, 1, 0 }, { -17, 16, 14, 0, 1, 0 }, { -18, 16, 14, 0, 1, 0 }, + { -19, 16, 15, 0, 1, 0 }, { -20, 16, 15, 0, 1, 0 }, { -21, 16, 15, 0, 1, 0 }, { -22, 16, 15, 0, 1, 0 }, { -23, 16, 15, 0, 0, 0 }, + { -24, 16, 15, 0, 0, 0 }, { -25, 16, 16, 0, 0, 0 }, { -26, 16, 16, 0, 0, 0 }, { -27, 16, 16, 0, 0, 0 }, { -28, 16, 16, 0, 0, 0 }, + { -29, 16, 16, 0, 0, 0 }, { -30, 16, 16, 0, 0, 0 }, { -31, 16, 16, 0, 0, 0 }, { -32, 16, 16, 0, 0, 0 }, { -33, 16, 16, 0, 0, 0 }, + { -34, 16, 16, 0, 0, 0 }, { -35, 16, 16, 0, 0, 0 }, { -36, 16, 16, 0, 0, 0 }, { -37, 16, 16, 0, 0, 0 }, { -38, 16, 16, 0, 0, 0 }, + { -39, 16, 16, 0, 0, 0 }, { -40, 16, 16, 0, 0, 0 }, { -41, 16, 16, 0, 0, 0 }, { -42, 16, 16, 0, 0, 0 }, { -43, 16, 16, 0, 0, 0 }, + { -44, 16, 16, 0, 0, 0 }, { -45, 16, 16, 0, 0, 0 }, { -46, 16, 16, 0, 0, 0 }, { -47, 16, 16, 0, 0, 0 }, { -48, 16, 16, 0, 0, 0 }, + { -48, 16, 16, 16, 0, 0 }, { -47, 16, 16, 16, 0, 0 }, { -46, 16, 16, 16, 0, 0 }, { -45, 16, 16, 16, 0, 0 }, { -44, 16, 16, 16, 0, 0 }, + { -43, 16, 16, 16, 0, 0 }, { -42, 16, 16, 16, 0, 0 }, { -41, 16, 16, 16, 0, 0 }, { -40, 16, 16, 16, 0, 0 }, { -39, 16, 16, 16, 0, 0 }, + { -38, 16, 16, 16, 0, 0 }, { -37, 16, 16, 16, 0, 0 }, { -36, 16, 16, 16, 0, 0 }, { -35, 16, 16, 16, 0, 0 }, { -34, 16, 16, 16, 0, 0 }, + { -33, 16, 16, 16, 0, 0 }, { -32, 16, 16, 16, 0, 0 }, { -31, 16, 16, 16, 0, 0 }, { -30, 16, 16, 16, 0, 0 }, { -29, 16, 16, 16, 0, 0 }, + { -28, 16, 16, 16, 0, 0 }, { -27, 16, 16, 16, 0, 0 }, { -26, 16, 16, 16, 0, 0 }, { -25, 16, 16, 16, 0, 0 }, { -24, 16, 16, 16, 0, 0 }, + { -23, 16, 16, 16, 0, 0 }, { -22, 16, 17, 16, 1, 0 }, { -21, 16, 17, 16, 1, 0 }, { -20, 16, 17, 16, 1, 0 }, { -19, 16, 17, 16, 1, 0 }, + { -18, 16, 17, 16, 1, 0 }, { -17, 16, 17, 16, 1, 0 }, { -16, 16, 18, 16, 1, 0 }, { -15, 16, 18, 16, 1, 0 }, { -14, 16, 18, 16, 1, 0 }, + { -13, 16, 18, 16, 1, 0 }, { -12, 16, 19, 16, 1, 0 }, { -11, 16, 19, 16, 1, 0 }, { -10, 16, 19, 16, 1, 0 }, { -9, 16, 20, 16, 1, 0 }, + { -8, 16, 20, 16, 2, 0 }, { -7, 16, 21, 16, 2, 0 }, { -6, 16, 21, 16, 2, 0 }, { -5, 16, 22, 16, 2, 0 }, { -4, 16, 22, 16, 2, 0 }, + { -3, 16, 23, 16, 2, 0 }, { -2, 16, 23, 16, 2, 0 }, { -1, 16, 24, 16, 2, 0 }, { 0, 16, 24, 16, 2, 0 }, { 1, 16, 25, 16, 2, 0 }, + { 2, 16, 25, 16, 2, 0 }, { 3, 16, 26, 16, 2, 0 }, { 4, 16, 26, 16, 2, 0 }, { 5, 16, 27, 16, 2, 0 }, { 6, 16, 27, 16, 2, 0 }, + { 7, 16, 27, 16, 2, 0 }, { 8, 16, 28, 16, 1, 0 }, { 9, 16, 28, 16, 1, 0 }, { 10, 16, 28, 16, 1, 0 }, { 11, 16, 29, 16, 1, 0 }, + { 12, 16, 29, 16, 1, 0 }, { 13, 16, 29, 16, 1, 0 }, { 14, 16, 30, 16, 1, 0 }, { 15, 16, 30, 16, 1, 0 }, { 16, 16, 30, 16, 1, 0 }, + { 17, 16, 30, 16, 1, 0 }, { 18, 16, 31, 16, 1, 0 }, { 19, 16, 31, 16, 1, 0 }, { 20, 16, 31, 16, 1, 0 }, { 21, 16, 31, 16, 1, 0 }, + { 22, 16, 31, 16, 0, 0 }, { 23, 16, 31, 16, 0, 0 }, { 24, 16, 32, 16, 0, 0 }, { 25, 16, 32, 16, 0, 0 }, { 26, 16, 32, 16, 0, 0 }, + { 27, 16, 32, 16, 0, 0 }, { 28, 16, 32, 16, 0, 0 }, { 29, 16, 32, 16, 0, 0 }, { 30, 16, 32, 16, 0, 0 }, { 31, 16, 32, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92D6F4 = { - 160, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, - { 16, 10, 1, 8, 1, 0 }, { 16, 11, 1, 8, 1, 0 }, { 16, 12, 1, 8, 1, 0 }, { 16, 13, 1, 8, 1, 0 }, { 16, 14, 1, 8, 1, 0 }, - { 16, 15, 1, 8, 1, 0 }, { 16, 16, 2, 8, 1, 0 }, { 16, 17, 2, 8, 1, 0 }, { 16, 18, 2, 8, 1, 0 }, { 16, 19, 2, 8, 1, 0 }, - { 16, 20, 3, 8, 1, 0 }, { 16, 21, 3, 8, 1, 0 }, { 16, 22, 3, 8, 1, 0 }, { 16, 23, 4, 8, 1, 0 }, { 16, 24, 4, 8, 2, 0 }, - { 16, 25, 4, 8, 2, 0 }, { 16, 26, 5, 8, 2, 0 }, { 16, 27, 5, 8, 2, 0 }, { 16, 28, 6, 8, 2, 0 }, { 16, 29, 6, 8, 2, 0 }, - { 16, 30, 7, 8, 2, 0 }, { 16, 31, 7, 8, 2, 0 }, { 16, 32, 8, 8, 2, 0 }, { 16, 33, 8, 8, 2, 0 }, { 16, 34, 9, 8, 2, 0 }, - { 16, 35, 9, 8, 2, 0 }, { 16, 36, 10, 8, 2, 0 }, { 16, 37, 10, 8, 2, 0 }, { 16, 38, 11, 8, 2, 0 }, { 16, 39, 11, 8, 2, 0 }, - { 16, 40, 12, 8, 1, 0 }, { 16, 41, 12, 8, 1, 0 }, { 16, 42, 12, 8, 1, 0 }, { 16, 43, 13, 8, 1, 0 }, { 16, 44, 13, 8, 1, 0 }, - { 16, 45, 13, 8, 1, 0 }, { 16, 46, 14, 8, 1, 0 }, { 16, 47, 14, 8, 1, 0 }, { 16, 48, 14, 8, 1, 0 }, { 16, 49, 14, 8, 1, 0 }, - { 16, 50, 15, 8, 1, 0 }, { 16, 51, 15, 8, 1, 0 }, { 16, 52, 15, 8, 1, 0 }, { 16, 53, 15, 8, 1, 0 }, { 16, 54, 15, 8, 0, 0 }, - { 16, 55, 15, 8, 0, 0 }, { 16, 56, 16, 8, 0, 0 }, { 16, 57, 16, 8, 0, 0 }, { 16, 58, 16, 8, 0, 0 }, { 16, 59, 16, 8, 0, 0 }, - { 16, 60, 16, 8, 0, 0 }, { 16, 61, 16, 8, 0, 0 }, { 16, 62, 16, 8, 0, 0 }, { 16, 63, 16, 8, 0, 0 }, { 16, 64, 16, 8, 0, 0 }, - { 16, 65, 16, 8, 0, 0 }, { 16, 66, 16, 8, 0, 0 }, { 16, 67, 16, 8, 0, 0 }, { 16, 68, 16, 8, 0, 0 }, { 16, 69, 16, 8, 0, 0 }, - { 16, 70, 16, 8, 0, 0 }, { 16, 71, 16, 8, 0, 0 }, { 16, 72, 16, 8, 0, 0 }, { 16, 73, 16, 8, 0, 0 }, { 16, 74, 16, 8, 0, 0 }, - { 16, 75, 16, 8, 0, 0 }, { 16, 76, 16, 8, 0, 0 }, { 16, 77, 16, 8, 0, 0 }, { 16, 78, 16, 8, 0, 0 }, { 16, 79, 16, 8, 0, 0 }, - { 16, 79, 16, 24, 0, 0 }, { 16, 78, 16, 24, 0, 0 }, { 16, 77, 16, 24, 0, 0 }, { 16, 76, 16, 24, 0, 0 }, { 16, 75, 16, 24, 0, 0 }, - { 16, 74, 16, 24, 0, 0 }, { 16, 73, 16, 24, 0, 0 }, { 16, 72, 16, 24, 0, 0 }, { 16, 71, 16, 24, 0, 0 }, { 16, 70, 16, 24, 0, 0 }, - { 16, 69, 16, 24, 0, 0 }, { 16, 68, 16, 24, 0, 0 }, { 16, 67, 16, 24, 0, 0 }, { 16, 66, 16, 24, 0, 0 }, { 16, 65, 16, 24, 0, 0 }, - { 16, 64, 16, 24, 0, 0 }, { 16, 63, 16, 24, 0, 0 }, { 16, 62, 16, 24, 0, 0 }, { 16, 61, 16, 24, 0, 0 }, { 16, 60, 16, 24, 0, 0 }, - { 16, 59, 16, 24, 0, 0 }, { 16, 58, 16, 24, 0, 0 }, { 16, 57, 16, 24, 0, 0 }, { 16, 56, 16, 24, 0, 0 }, { 16, 55, 16, 24, 0, 0 }, - { 16, 54, 16, 24, 0, 0 }, { 16, 53, 17, 24, 1, 0 }, { 16, 52, 17, 24, 1, 0 }, { 16, 51, 17, 24, 1, 0 }, { 16, 50, 17, 24, 1, 0 }, - { 16, 49, 17, 24, 1, 0 }, { 16, 48, 17, 24, 1, 0 }, { 16, 47, 18, 24, 1, 0 }, { 16, 46, 18, 24, 1, 0 }, { 16, 45, 18, 24, 1, 0 }, - { 16, 44, 18, 24, 1, 0 }, { 16, 43, 19, 24, 1, 0 }, { 16, 42, 19, 24, 1, 0 }, { 16, 41, 19, 24, 1, 0 }, { 16, 40, 20, 24, 1, 0 }, - { 16, 39, 20, 24, 2, 0 }, { 16, 38, 20, 24, 2, 0 }, { 16, 37, 21, 24, 2, 0 }, { 16, 36, 21, 24, 2, 0 }, { 16, 35, 22, 24, 2, 0 }, - { 16, 34, 22, 24, 2, 0 }, { 16, 33, 23, 24, 2, 0 }, { 16, 32, 23, 24, 2, 0 }, { 16, 31, 24, 24, 2, 0 }, { 16, 30, 24, 24, 2, 0 }, - { 16, 29, 25, 24, 2, 0 }, { 16, 28, 25, 24, 2, 0 }, { 16, 27, 26, 24, 2, 0 }, { 16, 26, 26, 24, 2, 0 }, { 16, 25, 27, 24, 2, 0 }, - { 16, 24, 27, 24, 2, 0 }, { 16, 23, 28, 24, 1, 0 }, { 16, 22, 28, 24, 1, 0 }, { 16, 21, 28, 24, 1, 0 }, { 16, 20, 29, 24, 1, 0 }, - { 16, 19, 29, 24, 1, 0 }, { 16, 18, 29, 24, 1, 0 }, { 16, 17, 30, 24, 1, 0 }, { 16, 16, 30, 24, 1, 0 }, { 16, 15, 30, 24, 1, 0 }, - { 16, 14, 30, 24, 1, 0 }, { 16, 13, 31, 24, 1, 0 }, { 16, 12, 31, 24, 1, 0 }, { 16, 11, 31, 24, 1, 0 }, { 16, 10, 31, 24, 1, 0 }, - { 16, 9, 31, 24, 0, 0 }, { 16, 8, 31, 24, 0, 0 }, { 16, 7, 32, 24, 0, 0 }, { 16, 6, 32, 24, 0, 0 }, { 16, 5, 32, 24, 0, 0 }, - { 16, 4, 32, 24, 0, 0 }, { 16, 3, 32, 24, 0, 0 }, { 16, 2, 32, 24, 0, 0 }, { 16, 1, 32, 24, 0, 0 }, { 16, 0, 32, 24, 0, 0 }, + 160, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, + { 16, 10, 1, 8, 1, 0 }, { 16, 11, 1, 8, 1, 0 }, { 16, 12, 1, 8, 1, 0 }, { 16, 13, 1, 8, 1, 0 }, { 16, 14, 1, 8, 1, 0 }, + { 16, 15, 1, 8, 1, 0 }, { 16, 16, 2, 8, 1, 0 }, { 16, 17, 2, 8, 1, 0 }, { 16, 18, 2, 8, 1, 0 }, { 16, 19, 2, 8, 1, 0 }, + { 16, 20, 3, 8, 1, 0 }, { 16, 21, 3, 8, 1, 0 }, { 16, 22, 3, 8, 1, 0 }, { 16, 23, 4, 8, 1, 0 }, { 16, 24, 4, 8, 2, 0 }, + { 16, 25, 4, 8, 2, 0 }, { 16, 26, 5, 8, 2, 0 }, { 16, 27, 5, 8, 2, 0 }, { 16, 28, 6, 8, 2, 0 }, { 16, 29, 6, 8, 2, 0 }, + { 16, 30, 7, 8, 2, 0 }, { 16, 31, 7, 8, 2, 0 }, { 16, 32, 8, 8, 2, 0 }, { 16, 33, 8, 8, 2, 0 }, { 16, 34, 9, 8, 2, 0 }, + { 16, 35, 9, 8, 2, 0 }, { 16, 36, 10, 8, 2, 0 }, { 16, 37, 10, 8, 2, 0 }, { 16, 38, 11, 8, 2, 0 }, { 16, 39, 11, 8, 2, 0 }, + { 16, 40, 12, 8, 1, 0 }, { 16, 41, 12, 8, 1, 0 }, { 16, 42, 12, 8, 1, 0 }, { 16, 43, 13, 8, 1, 0 }, { 16, 44, 13, 8, 1, 0 }, + { 16, 45, 13, 8, 1, 0 }, { 16, 46, 14, 8, 1, 0 }, { 16, 47, 14, 8, 1, 0 }, { 16, 48, 14, 8, 1, 0 }, { 16, 49, 14, 8, 1, 0 }, + { 16, 50, 15, 8, 1, 0 }, { 16, 51, 15, 8, 1, 0 }, { 16, 52, 15, 8, 1, 0 }, { 16, 53, 15, 8, 1, 0 }, { 16, 54, 15, 8, 0, 0 }, + { 16, 55, 15, 8, 0, 0 }, { 16, 56, 16, 8, 0, 0 }, { 16, 57, 16, 8, 0, 0 }, { 16, 58, 16, 8, 0, 0 }, { 16, 59, 16, 8, 0, 0 }, + { 16, 60, 16, 8, 0, 0 }, { 16, 61, 16, 8, 0, 0 }, { 16, 62, 16, 8, 0, 0 }, { 16, 63, 16, 8, 0, 0 }, { 16, 64, 16, 8, 0, 0 }, + { 16, 65, 16, 8, 0, 0 }, { 16, 66, 16, 8, 0, 0 }, { 16, 67, 16, 8, 0, 0 }, { 16, 68, 16, 8, 0, 0 }, { 16, 69, 16, 8, 0, 0 }, + { 16, 70, 16, 8, 0, 0 }, { 16, 71, 16, 8, 0, 0 }, { 16, 72, 16, 8, 0, 0 }, { 16, 73, 16, 8, 0, 0 }, { 16, 74, 16, 8, 0, 0 }, + { 16, 75, 16, 8, 0, 0 }, { 16, 76, 16, 8, 0, 0 }, { 16, 77, 16, 8, 0, 0 }, { 16, 78, 16, 8, 0, 0 }, { 16, 79, 16, 8, 0, 0 }, + { 16, 79, 16, 24, 0, 0 }, { 16, 78, 16, 24, 0, 0 }, { 16, 77, 16, 24, 0, 0 }, { 16, 76, 16, 24, 0, 0 }, { 16, 75, 16, 24, 0, 0 }, + { 16, 74, 16, 24, 0, 0 }, { 16, 73, 16, 24, 0, 0 }, { 16, 72, 16, 24, 0, 0 }, { 16, 71, 16, 24, 0, 0 }, { 16, 70, 16, 24, 0, 0 }, + { 16, 69, 16, 24, 0, 0 }, { 16, 68, 16, 24, 0, 0 }, { 16, 67, 16, 24, 0, 0 }, { 16, 66, 16, 24, 0, 0 }, { 16, 65, 16, 24, 0, 0 }, + { 16, 64, 16, 24, 0, 0 }, { 16, 63, 16, 24, 0, 0 }, { 16, 62, 16, 24, 0, 0 }, { 16, 61, 16, 24, 0, 0 }, { 16, 60, 16, 24, 0, 0 }, + { 16, 59, 16, 24, 0, 0 }, { 16, 58, 16, 24, 0, 0 }, { 16, 57, 16, 24, 0, 0 }, { 16, 56, 16, 24, 0, 0 }, { 16, 55, 16, 24, 0, 0 }, + { 16, 54, 16, 24, 0, 0 }, { 16, 53, 17, 24, 1, 0 }, { 16, 52, 17, 24, 1, 0 }, { 16, 51, 17, 24, 1, 0 }, { 16, 50, 17, 24, 1, 0 }, + { 16, 49, 17, 24, 1, 0 }, { 16, 48, 17, 24, 1, 0 }, { 16, 47, 18, 24, 1, 0 }, { 16, 46, 18, 24, 1, 0 }, { 16, 45, 18, 24, 1, 0 }, + { 16, 44, 18, 24, 1, 0 }, { 16, 43, 19, 24, 1, 0 }, { 16, 42, 19, 24, 1, 0 }, { 16, 41, 19, 24, 1, 0 }, { 16, 40, 20, 24, 1, 0 }, + { 16, 39, 20, 24, 2, 0 }, { 16, 38, 20, 24, 2, 0 }, { 16, 37, 21, 24, 2, 0 }, { 16, 36, 21, 24, 2, 0 }, { 16, 35, 22, 24, 2, 0 }, + { 16, 34, 22, 24, 2, 0 }, { 16, 33, 23, 24, 2, 0 }, { 16, 32, 23, 24, 2, 0 }, { 16, 31, 24, 24, 2, 0 }, { 16, 30, 24, 24, 2, 0 }, + { 16, 29, 25, 24, 2, 0 }, { 16, 28, 25, 24, 2, 0 }, { 16, 27, 26, 24, 2, 0 }, { 16, 26, 26, 24, 2, 0 }, { 16, 25, 27, 24, 2, 0 }, + { 16, 24, 27, 24, 2, 0 }, { 16, 23, 28, 24, 1, 0 }, { 16, 22, 28, 24, 1, 0 }, { 16, 21, 28, 24, 1, 0 }, { 16, 20, 29, 24, 1, 0 }, + { 16, 19, 29, 24, 1, 0 }, { 16, 18, 29, 24, 1, 0 }, { 16, 17, 30, 24, 1, 0 }, { 16, 16, 30, 24, 1, 0 }, { 16, 15, 30, 24, 1, 0 }, + { 16, 14, 30, 24, 1, 0 }, { 16, 13, 31, 24, 1, 0 }, { 16, 12, 31, 24, 1, 0 }, { 16, 11, 31, 24, 1, 0 }, { 16, 10, 31, 24, 1, 0 }, + { 16, 9, 31, 24, 0, 0 }, { 16, 8, 31, 24, 0, 0 }, { 16, 7, 32, 24, 0, 0 }, { 16, 6, 32, 24, 0, 0 }, { 16, 5, 32, 24, 0, 0 }, + { 16, 4, 32, 24, 0, 0 }, { 16, 3, 32, 24, 0, 0 }, { 16, 2, 32, 24, 0, 0 }, { 16, 1, 32, 24, 0, 0 }, { 16, 0, 32, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92DC96 = { - 160, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, - { 10, 16, 1, 16, 1, 0 }, { 11, 16, 1, 16, 1, 0 }, { 12, 16, 1, 16, 1, 0 }, { 13, 16, 1, 16, 1, 0 }, { 14, 16, 1, 16, 1, 0 }, - { 15, 16, 1, 16, 1, 0 }, { 16, 16, 2, 16, 1, 0 }, { 17, 16, 2, 16, 1, 0 }, { 18, 16, 2, 16, 1, 0 }, { 19, 16, 2, 16, 1, 0 }, - { 20, 16, 3, 16, 1, 0 }, { 21, 16, 3, 16, 1, 0 }, { 22, 16, 3, 16, 1, 0 }, { 23, 16, 4, 16, 1, 0 }, { 24, 16, 4, 16, 2, 0 }, - { 25, 16, 4, 16, 2, 0 }, { 26, 16, 5, 16, 2, 0 }, { 27, 16, 5, 16, 2, 0 }, { 28, 16, 6, 16, 2, 0 }, { 29, 16, 6, 16, 2, 0 }, - { 30, 16, 7, 16, 2, 0 }, { 31, 16, 7, 16, 2, 0 }, { 32, 16, 8, 16, 2, 0 }, { 33, 16, 8, 16, 2, 0 }, { 34, 16, 9, 16, 2, 0 }, - { 35, 16, 9, 16, 2, 0 }, { 36, 16, 10, 16, 2, 0 }, { 37, 16, 10, 16, 2, 0 }, { 38, 16, 11, 16, 2, 0 }, { 39, 16, 11, 16, 2, 0 }, - { 40, 16, 12, 16, 1, 0 }, { 41, 16, 12, 16, 1, 0 }, { 42, 16, 12, 16, 1, 0 }, { 43, 16, 13, 16, 1, 0 }, { 44, 16, 13, 16, 1, 0 }, - { 45, 16, 13, 16, 1, 0 }, { 46, 16, 14, 16, 1, 0 }, { 47, 16, 14, 16, 1, 0 }, { 48, 16, 14, 16, 1, 0 }, { 49, 16, 14, 16, 1, 0 }, - { 50, 16, 15, 16, 1, 0 }, { 51, 16, 15, 16, 1, 0 }, { 52, 16, 15, 16, 1, 0 }, { 53, 16, 15, 16, 1, 0 }, { 54, 16, 15, 16, 0, 0 }, - { 55, 16, 15, 16, 0, 0 }, { 56, 16, 16, 16, 0, 0 }, { 57, 16, 16, 16, 0, 0 }, { 58, 16, 16, 16, 0, 0 }, { 59, 16, 16, 16, 0, 0 }, - { 60, 16, 16, 16, 0, 0 }, { 61, 16, 16, 16, 0, 0 }, { 62, 16, 16, 16, 0, 0 }, { 63, 16, 16, 16, 0, 0 }, { 64, 16, 16, 16, 0, 0 }, - { 65, 16, 16, 16, 0, 0 }, { 66, 16, 16, 16, 0, 0 }, { 67, 16, 16, 16, 0, 0 }, { 68, 16, 16, 16, 0, 0 }, { 69, 16, 16, 16, 0, 0 }, - { 70, 16, 16, 16, 0, 0 }, { 71, 16, 16, 16, 0, 0 }, { 72, 16, 16, 16, 0, 0 }, { 73, 16, 16, 16, 0, 0 }, { 74, 16, 16, 16, 0, 0 }, - { 75, 16, 16, 16, 0, 0 }, { 76, 16, 16, 16, 0, 0 }, { 77, 16, 16, 16, 0, 0 }, { 78, 16, 16, 16, 0, 0 }, { 79, 16, 16, 16, 0, 0 }, - { 79, 16, 16, 0, 0, 0 }, { 78, 16, 16, 0, 0, 0 }, { 77, 16, 16, 0, 0, 0 }, { 76, 16, 16, 0, 0, 0 }, { 75, 16, 16, 0, 0, 0 }, - { 74, 16, 16, 0, 0, 0 }, { 73, 16, 16, 0, 0, 0 }, { 72, 16, 16, 0, 0, 0 }, { 71, 16, 16, 0, 0, 0 }, { 70, 16, 16, 0, 0, 0 }, - { 69, 16, 16, 0, 0, 0 }, { 68, 16, 16, 0, 0, 0 }, { 67, 16, 16, 0, 0, 0 }, { 66, 16, 16, 0, 0, 0 }, { 65, 16, 16, 0, 0, 0 }, - { 64, 16, 16, 0, 0, 0 }, { 63, 16, 16, 0, 0, 0 }, { 62, 16, 16, 0, 0, 0 }, { 61, 16, 16, 0, 0, 0 }, { 60, 16, 16, 0, 0, 0 }, - { 59, 16, 16, 0, 0, 0 }, { 58, 16, 16, 0, 0, 0 }, { 57, 16, 16, 0, 0, 0 }, { 56, 16, 16, 0, 0, 0 }, { 55, 16, 16, 0, 0, 0 }, - { 54, 16, 16, 0, 0, 0 }, { 53, 16, 17, 0, 1, 0 }, { 52, 16, 17, 0, 1, 0 }, { 51, 16, 17, 0, 1, 0 }, { 50, 16, 17, 0, 1, 0 }, - { 49, 16, 17, 0, 1, 0 }, { 48, 16, 17, 0, 1, 0 }, { 47, 16, 18, 0, 1, 0 }, { 46, 16, 18, 0, 1, 0 }, { 45, 16, 18, 0, 1, 0 }, - { 44, 16, 18, 0, 1, 0 }, { 43, 16, 19, 0, 1, 0 }, { 42, 16, 19, 0, 1, 0 }, { 41, 16, 19, 0, 1, 0 }, { 40, 16, 20, 0, 1, 0 }, - { 39, 16, 20, 0, 2, 0 }, { 38, 16, 20, 0, 2, 0 }, { 37, 16, 21, 0, 2, 0 }, { 36, 16, 21, 0, 2, 0 }, { 35, 16, 22, 0, 2, 0 }, - { 34, 16, 22, 0, 2, 0 }, { 33, 16, 23, 0, 2, 0 }, { 32, 16, 23, 0, 2, 0 }, { 31, 16, 24, 0, 2, 0 }, { 30, 16, 24, 0, 2, 0 }, - { 29, 16, 25, 0, 2, 0 }, { 28, 16, 25, 0, 2, 0 }, { 27, 16, 26, 0, 2, 0 }, { 26, 16, 26, 0, 2, 0 }, { 25, 16, 27, 0, 2, 0 }, - { 24, 16, 27, 0, 2, 0 }, { 23, 16, 28, 0, 1, 0 }, { 22, 16, 28, 0, 1, 0 }, { 21, 16, 28, 0, 1, 0 }, { 20, 16, 29, 0, 1, 0 }, - { 19, 16, 29, 0, 1, 0 }, { 18, 16, 29, 0, 1, 0 }, { 17, 16, 30, 0, 1, 0 }, { 16, 16, 30, 0, 1, 0 }, { 15, 16, 30, 0, 1, 0 }, - { 14, 16, 30, 0, 1, 0 }, { 13, 16, 31, 0, 1, 0 }, { 12, 16, 31, 0, 1, 0 }, { 11, 16, 31, 0, 1, 0 }, { 10, 16, 31, 0, 1, 0 }, - { 9, 16, 31, 0, 0, 0 }, { 8, 16, 31, 0, 0, 0 }, { 7, 16, 32, 0, 0, 0 }, { 6, 16, 32, 0, 0, 0 }, { 5, 16, 32, 0, 0, 0 }, - { 4, 16, 32, 0, 0, 0 }, { 3, 16, 32, 0, 0, 0 }, { 2, 16, 32, 0, 0, 0 }, { 1, 16, 32, 0, 0, 0 }, { 0, 16, 32, 0, 0, 0 }, + 160, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, + { 10, 16, 1, 16, 1, 0 }, { 11, 16, 1, 16, 1, 0 }, { 12, 16, 1, 16, 1, 0 }, { 13, 16, 1, 16, 1, 0 }, { 14, 16, 1, 16, 1, 0 }, + { 15, 16, 1, 16, 1, 0 }, { 16, 16, 2, 16, 1, 0 }, { 17, 16, 2, 16, 1, 0 }, { 18, 16, 2, 16, 1, 0 }, { 19, 16, 2, 16, 1, 0 }, + { 20, 16, 3, 16, 1, 0 }, { 21, 16, 3, 16, 1, 0 }, { 22, 16, 3, 16, 1, 0 }, { 23, 16, 4, 16, 1, 0 }, { 24, 16, 4, 16, 2, 0 }, + { 25, 16, 4, 16, 2, 0 }, { 26, 16, 5, 16, 2, 0 }, { 27, 16, 5, 16, 2, 0 }, { 28, 16, 6, 16, 2, 0 }, { 29, 16, 6, 16, 2, 0 }, + { 30, 16, 7, 16, 2, 0 }, { 31, 16, 7, 16, 2, 0 }, { 32, 16, 8, 16, 2, 0 }, { 33, 16, 8, 16, 2, 0 }, { 34, 16, 9, 16, 2, 0 }, + { 35, 16, 9, 16, 2, 0 }, { 36, 16, 10, 16, 2, 0 }, { 37, 16, 10, 16, 2, 0 }, { 38, 16, 11, 16, 2, 0 }, { 39, 16, 11, 16, 2, 0 }, + { 40, 16, 12, 16, 1, 0 }, { 41, 16, 12, 16, 1, 0 }, { 42, 16, 12, 16, 1, 0 }, { 43, 16, 13, 16, 1, 0 }, { 44, 16, 13, 16, 1, 0 }, + { 45, 16, 13, 16, 1, 0 }, { 46, 16, 14, 16, 1, 0 }, { 47, 16, 14, 16, 1, 0 }, { 48, 16, 14, 16, 1, 0 }, { 49, 16, 14, 16, 1, 0 }, + { 50, 16, 15, 16, 1, 0 }, { 51, 16, 15, 16, 1, 0 }, { 52, 16, 15, 16, 1, 0 }, { 53, 16, 15, 16, 1, 0 }, { 54, 16, 15, 16, 0, 0 }, + { 55, 16, 15, 16, 0, 0 }, { 56, 16, 16, 16, 0, 0 }, { 57, 16, 16, 16, 0, 0 }, { 58, 16, 16, 16, 0, 0 }, { 59, 16, 16, 16, 0, 0 }, + { 60, 16, 16, 16, 0, 0 }, { 61, 16, 16, 16, 0, 0 }, { 62, 16, 16, 16, 0, 0 }, { 63, 16, 16, 16, 0, 0 }, { 64, 16, 16, 16, 0, 0 }, + { 65, 16, 16, 16, 0, 0 }, { 66, 16, 16, 16, 0, 0 }, { 67, 16, 16, 16, 0, 0 }, { 68, 16, 16, 16, 0, 0 }, { 69, 16, 16, 16, 0, 0 }, + { 70, 16, 16, 16, 0, 0 }, { 71, 16, 16, 16, 0, 0 }, { 72, 16, 16, 16, 0, 0 }, { 73, 16, 16, 16, 0, 0 }, { 74, 16, 16, 16, 0, 0 }, + { 75, 16, 16, 16, 0, 0 }, { 76, 16, 16, 16, 0, 0 }, { 77, 16, 16, 16, 0, 0 }, { 78, 16, 16, 16, 0, 0 }, { 79, 16, 16, 16, 0, 0 }, + { 79, 16, 16, 0, 0, 0 }, { 78, 16, 16, 0, 0, 0 }, { 77, 16, 16, 0, 0, 0 }, { 76, 16, 16, 0, 0, 0 }, { 75, 16, 16, 0, 0, 0 }, + { 74, 16, 16, 0, 0, 0 }, { 73, 16, 16, 0, 0, 0 }, { 72, 16, 16, 0, 0, 0 }, { 71, 16, 16, 0, 0, 0 }, { 70, 16, 16, 0, 0, 0 }, + { 69, 16, 16, 0, 0, 0 }, { 68, 16, 16, 0, 0, 0 }, { 67, 16, 16, 0, 0, 0 }, { 66, 16, 16, 0, 0, 0 }, { 65, 16, 16, 0, 0, 0 }, + { 64, 16, 16, 0, 0, 0 }, { 63, 16, 16, 0, 0, 0 }, { 62, 16, 16, 0, 0, 0 }, { 61, 16, 16, 0, 0, 0 }, { 60, 16, 16, 0, 0, 0 }, + { 59, 16, 16, 0, 0, 0 }, { 58, 16, 16, 0, 0, 0 }, { 57, 16, 16, 0, 0, 0 }, { 56, 16, 16, 0, 0, 0 }, { 55, 16, 16, 0, 0, 0 }, + { 54, 16, 16, 0, 0, 0 }, { 53, 16, 17, 0, 1, 0 }, { 52, 16, 17, 0, 1, 0 }, { 51, 16, 17, 0, 1, 0 }, { 50, 16, 17, 0, 1, 0 }, + { 49, 16, 17, 0, 1, 0 }, { 48, 16, 17, 0, 1, 0 }, { 47, 16, 18, 0, 1, 0 }, { 46, 16, 18, 0, 1, 0 }, { 45, 16, 18, 0, 1, 0 }, + { 44, 16, 18, 0, 1, 0 }, { 43, 16, 19, 0, 1, 0 }, { 42, 16, 19, 0, 1, 0 }, { 41, 16, 19, 0, 1, 0 }, { 40, 16, 20, 0, 1, 0 }, + { 39, 16, 20, 0, 2, 0 }, { 38, 16, 20, 0, 2, 0 }, { 37, 16, 21, 0, 2, 0 }, { 36, 16, 21, 0, 2, 0 }, { 35, 16, 22, 0, 2, 0 }, + { 34, 16, 22, 0, 2, 0 }, { 33, 16, 23, 0, 2, 0 }, { 32, 16, 23, 0, 2, 0 }, { 31, 16, 24, 0, 2, 0 }, { 30, 16, 24, 0, 2, 0 }, + { 29, 16, 25, 0, 2, 0 }, { 28, 16, 25, 0, 2, 0 }, { 27, 16, 26, 0, 2, 0 }, { 26, 16, 26, 0, 2, 0 }, { 25, 16, 27, 0, 2, 0 }, + { 24, 16, 27, 0, 2, 0 }, { 23, 16, 28, 0, 1, 0 }, { 22, 16, 28, 0, 1, 0 }, { 21, 16, 28, 0, 1, 0 }, { 20, 16, 29, 0, 1, 0 }, + { 19, 16, 29, 0, 1, 0 }, { 18, 16, 29, 0, 1, 0 }, { 17, 16, 30, 0, 1, 0 }, { 16, 16, 30, 0, 1, 0 }, { 15, 16, 30, 0, 1, 0 }, + { 14, 16, 30, 0, 1, 0 }, { 13, 16, 31, 0, 1, 0 }, { 12, 16, 31, 0, 1, 0 }, { 11, 16, 31, 0, 1, 0 }, { 10, 16, 31, 0, 1, 0 }, + { 9, 16, 31, 0, 0, 0 }, { 8, 16, 31, 0, 0, 0 }, { 7, 16, 32, 0, 0, 0 }, { 6, 16, 32, 0, 0, 0 }, { 5, 16, 32, 0, 0, 0 }, + { 4, 16, 32, 0, 0, 0 }, { 3, 16, 32, 0, 0, 0 }, { 2, 16, 32, 0, 0, 0 }, { 1, 16, 32, 0, 0, 0 }, { 0, 16, 32, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92E238 = { - 160, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 21, 1, 24, 1, 0 }, { 16, 20, 1, 24, 1, 0 }, { 16, 19, 1, 24, 1, 0 }, { 16, 18, 1, 24, 1, 0 }, { 16, 17, 1, 24, 1, 0 }, - { 16, 16, 1, 24, 1, 0 }, { 16, 15, 2, 24, 1, 0 }, { 16, 14, 2, 24, 1, 0 }, { 16, 13, 2, 24, 1, 0 }, { 16, 12, 2, 24, 1, 0 }, - { 16, 11, 3, 24, 1, 0 }, { 16, 10, 3, 24, 1, 0 }, { 16, 9, 3, 24, 1, 0 }, { 16, 8, 4, 24, 1, 0 }, { 16, 7, 4, 24, 2, 0 }, - { 16, 6, 5, 24, 2, 0 }, { 16, 5, 5, 24, 2, 0 }, { 16, 4, 6, 24, 2, 0 }, { 16, 3, 6, 24, 2, 0 }, { 16, 2, 7, 24, 2, 0 }, - { 16, 1, 7, 24, 2, 0 }, { 16, 0, 8, 24, 2, 0 }, { 16, -1, 8, 24, 2, 0 }, { 16, -2, 9, 24, 2, 0 }, { 16, -3, 9, 24, 2, 0 }, - { 16, -4, 10, 24, 2, 0 }, { 16, -5, 10, 24, 2, 0 }, { 16, -6, 11, 24, 2, 0 }, { 16, -7, 11, 24, 2, 0 }, { 16, -8, 11, 24, 2, 0 }, - { 16, -9, 12, 24, 1, 0 }, { 16, -10, 12, 24, 1, 0 }, { 16, -11, 12, 24, 1, 0 }, { 16, -12, 13, 24, 1, 0 }, { 16, -13, 13, 24, 1, 0 }, - { 16, -14, 13, 24, 1, 0 }, { 16, -15, 14, 24, 1, 0 }, { 16, -16, 14, 24, 1, 0 }, { 16, -17, 14, 24, 1, 0 }, { 16, -18, 14, 24, 1, 0 }, - { 16, -19, 15, 24, 1, 0 }, { 16, -20, 15, 24, 1, 0 }, { 16, -21, 15, 24, 1, 0 }, { 16, -22, 15, 24, 1, 0 }, { 16, -23, 15, 24, 0, 0 }, - { 16, -24, 15, 24, 0, 0 }, { 16, -25, 16, 24, 0, 0 }, { 16, -26, 16, 24, 0, 0 }, { 16, -27, 16, 24, 0, 0 }, { 16, -28, 16, 24, 0, 0 }, - { 16, -29, 16, 24, 0, 0 }, { 16, -30, 16, 24, 0, 0 }, { 16, -31, 16, 24, 0, 0 }, { 16, -32, 16, 24, 0, 0 }, { 16, -33, 16, 24, 0, 0 }, - { 16, -34, 16, 24, 0, 0 }, { 16, -35, 16, 24, 0, 0 }, { 16, -36, 16, 24, 0, 0 }, { 16, -37, 16, 24, 0, 0 }, { 16, -38, 16, 24, 0, 0 }, - { 16, -39, 16, 24, 0, 0 }, { 16, -40, 16, 24, 0, 0 }, { 16, -41, 16, 24, 0, 0 }, { 16, -42, 16, 24, 0, 0 }, { 16, -43, 16, 24, 0, 0 }, - { 16, -44, 16, 24, 0, 0 }, { 16, -45, 16, 24, 0, 0 }, { 16, -46, 16, 24, 0, 0 }, { 16, -47, 16, 24, 0, 0 }, { 16, -48, 16, 24, 0, 0 }, - { 16, -48, 16, 8, 0, 0 }, { 16, -47, 16, 8, 0, 0 }, { 16, -46, 16, 8, 0, 0 }, { 16, -45, 16, 8, 0, 0 }, { 16, -44, 16, 8, 0, 0 }, - { 16, -43, 16, 8, 0, 0 }, { 16, -42, 16, 8, 0, 0 }, { 16, -41, 16, 8, 0, 0 }, { 16, -40, 16, 8, 0, 0 }, { 16, -39, 16, 8, 0, 0 }, - { 16, -38, 16, 8, 0, 0 }, { 16, -37, 16, 8, 0, 0 }, { 16, -36, 16, 8, 0, 0 }, { 16, -35, 16, 8, 0, 0 }, { 16, -34, 16, 8, 0, 0 }, - { 16, -33, 16, 8, 0, 0 }, { 16, -32, 16, 8, 0, 0 }, { 16, -31, 16, 8, 0, 0 }, { 16, -30, 16, 8, 0, 0 }, { 16, -29, 16, 8, 0, 0 }, - { 16, -28, 16, 8, 0, 0 }, { 16, -27, 16, 8, 0, 0 }, { 16, -26, 16, 8, 0, 0 }, { 16, -25, 16, 8, 0, 0 }, { 16, -24, 16, 8, 0, 0 }, - { 16, -23, 16, 8, 0, 0 }, { 16, -22, 17, 8, 1, 0 }, { 16, -21, 17, 8, 1, 0 }, { 16, -20, 17, 8, 1, 0 }, { 16, -19, 17, 8, 1, 0 }, - { 16, -18, 17, 8, 1, 0 }, { 16, -17, 17, 8, 1, 0 }, { 16, -16, 18, 8, 1, 0 }, { 16, -15, 18, 8, 1, 0 }, { 16, -14, 18, 8, 1, 0 }, - { 16, -13, 18, 8, 1, 0 }, { 16, -12, 19, 8, 1, 0 }, { 16, -11, 19, 8, 1, 0 }, { 16, -10, 19, 8, 1, 0 }, { 16, -9, 20, 8, 1, 0 }, - { 16, -8, 20, 8, 2, 0 }, { 16, -7, 21, 8, 2, 0 }, { 16, -6, 21, 8, 2, 0 }, { 16, -5, 22, 8, 2, 0 }, { 16, -4, 22, 8, 2, 0 }, - { 16, -3, 23, 8, 2, 0 }, { 16, -2, 23, 8, 2, 0 }, { 16, -1, 24, 8, 2, 0 }, { 16, 0, 24, 8, 2, 0 }, { 16, 1, 25, 8, 2, 0 }, - { 16, 2, 25, 8, 2, 0 }, { 16, 3, 26, 8, 2, 0 }, { 16, 4, 26, 8, 2, 0 }, { 16, 5, 27, 8, 2, 0 }, { 16, 6, 27, 8, 2, 0 }, - { 16, 7, 27, 8, 2, 0 }, { 16, 8, 28, 8, 1, 0 }, { 16, 9, 28, 8, 1, 0 }, { 16, 10, 28, 8, 1, 0 }, { 16, 11, 29, 8, 1, 0 }, - { 16, 12, 29, 8, 1, 0 }, { 16, 13, 29, 8, 1, 0 }, { 16, 14, 30, 8, 1, 0 }, { 16, 15, 30, 8, 1, 0 }, { 16, 16, 30, 8, 1, 0 }, - { 16, 17, 30, 8, 1, 0 }, { 16, 18, 31, 8, 1, 0 }, { 16, 19, 31, 8, 1, 0 }, { 16, 20, 31, 8, 1, 0 }, { 16, 21, 31, 8, 1, 0 }, - { 16, 22, 31, 8, 0, 0 }, { 16, 23, 31, 8, 0, 0 }, { 16, 24, 32, 8, 0, 0 }, { 16, 25, 32, 8, 0, 0 }, { 16, 26, 32, 8, 0, 0 }, - { 16, 27, 32, 8, 0, 0 }, { 16, 28, 32, 8, 0, 0 }, { 16, 29, 32, 8, 0, 0 }, { 16, 30, 32, 8, 0, 0 }, { 16, 31, 32, 8, 0, 0 }, + 160, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 21, 1, 24, 1, 0 }, { 16, 20, 1, 24, 1, 0 }, { 16, 19, 1, 24, 1, 0 }, { 16, 18, 1, 24, 1, 0 }, { 16, 17, 1, 24, 1, 0 }, + { 16, 16, 1, 24, 1, 0 }, { 16, 15, 2, 24, 1, 0 }, { 16, 14, 2, 24, 1, 0 }, { 16, 13, 2, 24, 1, 0 }, { 16, 12, 2, 24, 1, 0 }, + { 16, 11, 3, 24, 1, 0 }, { 16, 10, 3, 24, 1, 0 }, { 16, 9, 3, 24, 1, 0 }, { 16, 8, 4, 24, 1, 0 }, { 16, 7, 4, 24, 2, 0 }, + { 16, 6, 5, 24, 2, 0 }, { 16, 5, 5, 24, 2, 0 }, { 16, 4, 6, 24, 2, 0 }, { 16, 3, 6, 24, 2, 0 }, { 16, 2, 7, 24, 2, 0 }, + { 16, 1, 7, 24, 2, 0 }, { 16, 0, 8, 24, 2, 0 }, { 16, -1, 8, 24, 2, 0 }, { 16, -2, 9, 24, 2, 0 }, { 16, -3, 9, 24, 2, 0 }, + { 16, -4, 10, 24, 2, 0 }, { 16, -5, 10, 24, 2, 0 }, { 16, -6, 11, 24, 2, 0 }, { 16, -7, 11, 24, 2, 0 }, { 16, -8, 11, 24, 2, 0 }, + { 16, -9, 12, 24, 1, 0 }, { 16, -10, 12, 24, 1, 0 }, { 16, -11, 12, 24, 1, 0 }, { 16, -12, 13, 24, 1, 0 }, { 16, -13, 13, 24, 1, 0 }, + { 16, -14, 13, 24, 1, 0 }, { 16, -15, 14, 24, 1, 0 }, { 16, -16, 14, 24, 1, 0 }, { 16, -17, 14, 24, 1, 0 }, { 16, -18, 14, 24, 1, 0 }, + { 16, -19, 15, 24, 1, 0 }, { 16, -20, 15, 24, 1, 0 }, { 16, -21, 15, 24, 1, 0 }, { 16, -22, 15, 24, 1, 0 }, { 16, -23, 15, 24, 0, 0 }, + { 16, -24, 15, 24, 0, 0 }, { 16, -25, 16, 24, 0, 0 }, { 16, -26, 16, 24, 0, 0 }, { 16, -27, 16, 24, 0, 0 }, { 16, -28, 16, 24, 0, 0 }, + { 16, -29, 16, 24, 0, 0 }, { 16, -30, 16, 24, 0, 0 }, { 16, -31, 16, 24, 0, 0 }, { 16, -32, 16, 24, 0, 0 }, { 16, -33, 16, 24, 0, 0 }, + { 16, -34, 16, 24, 0, 0 }, { 16, -35, 16, 24, 0, 0 }, { 16, -36, 16, 24, 0, 0 }, { 16, -37, 16, 24, 0, 0 }, { 16, -38, 16, 24, 0, 0 }, + { 16, -39, 16, 24, 0, 0 }, { 16, -40, 16, 24, 0, 0 }, { 16, -41, 16, 24, 0, 0 }, { 16, -42, 16, 24, 0, 0 }, { 16, -43, 16, 24, 0, 0 }, + { 16, -44, 16, 24, 0, 0 }, { 16, -45, 16, 24, 0, 0 }, { 16, -46, 16, 24, 0, 0 }, { 16, -47, 16, 24, 0, 0 }, { 16, -48, 16, 24, 0, 0 }, + { 16, -48, 16, 8, 0, 0 }, { 16, -47, 16, 8, 0, 0 }, { 16, -46, 16, 8, 0, 0 }, { 16, -45, 16, 8, 0, 0 }, { 16, -44, 16, 8, 0, 0 }, + { 16, -43, 16, 8, 0, 0 }, { 16, -42, 16, 8, 0, 0 }, { 16, -41, 16, 8, 0, 0 }, { 16, -40, 16, 8, 0, 0 }, { 16, -39, 16, 8, 0, 0 }, + { 16, -38, 16, 8, 0, 0 }, { 16, -37, 16, 8, 0, 0 }, { 16, -36, 16, 8, 0, 0 }, { 16, -35, 16, 8, 0, 0 }, { 16, -34, 16, 8, 0, 0 }, + { 16, -33, 16, 8, 0, 0 }, { 16, -32, 16, 8, 0, 0 }, { 16, -31, 16, 8, 0, 0 }, { 16, -30, 16, 8, 0, 0 }, { 16, -29, 16, 8, 0, 0 }, + { 16, -28, 16, 8, 0, 0 }, { 16, -27, 16, 8, 0, 0 }, { 16, -26, 16, 8, 0, 0 }, { 16, -25, 16, 8, 0, 0 }, { 16, -24, 16, 8, 0, 0 }, + { 16, -23, 16, 8, 0, 0 }, { 16, -22, 17, 8, 1, 0 }, { 16, -21, 17, 8, 1, 0 }, { 16, -20, 17, 8, 1, 0 }, { 16, -19, 17, 8, 1, 0 }, + { 16, -18, 17, 8, 1, 0 }, { 16, -17, 17, 8, 1, 0 }, { 16, -16, 18, 8, 1, 0 }, { 16, -15, 18, 8, 1, 0 }, { 16, -14, 18, 8, 1, 0 }, + { 16, -13, 18, 8, 1, 0 }, { 16, -12, 19, 8, 1, 0 }, { 16, -11, 19, 8, 1, 0 }, { 16, -10, 19, 8, 1, 0 }, { 16, -9, 20, 8, 1, 0 }, + { 16, -8, 20, 8, 2, 0 }, { 16, -7, 21, 8, 2, 0 }, { 16, -6, 21, 8, 2, 0 }, { 16, -5, 22, 8, 2, 0 }, { 16, -4, 22, 8, 2, 0 }, + { 16, -3, 23, 8, 2, 0 }, { 16, -2, 23, 8, 2, 0 }, { 16, -1, 24, 8, 2, 0 }, { 16, 0, 24, 8, 2, 0 }, { 16, 1, 25, 8, 2, 0 }, + { 16, 2, 25, 8, 2, 0 }, { 16, 3, 26, 8, 2, 0 }, { 16, 4, 26, 8, 2, 0 }, { 16, 5, 27, 8, 2, 0 }, { 16, 6, 27, 8, 2, 0 }, + { 16, 7, 27, 8, 2, 0 }, { 16, 8, 28, 8, 1, 0 }, { 16, 9, 28, 8, 1, 0 }, { 16, 10, 28, 8, 1, 0 }, { 16, 11, 29, 8, 1, 0 }, + { 16, 12, 29, 8, 1, 0 }, { 16, 13, 29, 8, 1, 0 }, { 16, 14, 30, 8, 1, 0 }, { 16, 15, 30, 8, 1, 0 }, { 16, 16, 30, 8, 1, 0 }, + { 16, 17, 30, 8, 1, 0 }, { 16, 18, 31, 8, 1, 0 }, { 16, 19, 31, 8, 1, 0 }, { 16, 20, 31, 8, 1, 0 }, { 16, 21, 31, 8, 1, 0 }, + { 16, 22, 31, 8, 0, 0 }, { 16, 23, 31, 8, 0, 0 }, { 16, 24, 32, 8, 0, 0 }, { 16, 25, 32, 8, 0, 0 }, { 16, 26, 32, 8, 0, 0 }, + { 16, 27, 32, 8, 0, 0 }, { 16, 28, 32, 8, 0, 0 }, { 16, 29, 32, 8, 0, 0 }, { 16, 30, 32, 8, 0, 0 }, { 16, 31, 32, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92E7DA = { - 160, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, -1, 0, 0, 0 }, { 22, 16, -1, 0, 0, 0 }, - { 21, 16, -1, 0, 5, 0 }, { 20, 16, -1, 0, 5, 0 }, { 19, 16, -1, 0, 5, 0 }, { 18, 16, -1, 0, 5, 0 }, { 17, 16, -2, 0, 5, 0 }, - { 16, 16, -2, 0, 5, 0 }, { 15, 16, -2, 0, 5, 0 }, { 14, 16, -2, 0, 5, 0 }, { 13, 16, -3, 0, 5, 0 }, { 12, 16, -3, 0, 5, 0 }, - { 11, 16, -3, 0, 5, 0 }, { 10, 16, -4, 0, 5, 0 }, { 9, 16, -4, 0, 5, 0 }, { 8, 16, -4, 0, 5, 0 }, { 7, 16, -5, 0, 6, 0 }, - { 6, 16, -5, 0, 6, 0 }, { 5, 16, -6, 0, 6, 0 }, { 4, 16, -6, 0, 6, 0 }, { 3, 16, -7, 0, 6, 0 }, { 2, 16, -7, 0, 6, 0 }, - { 1, 16, -8, 0, 6, 0 }, { 0, 16, -8, 0, 6, 0 }, { -1, 16, -9, 0, 6, 0 }, { -2, 16, -9, 0, 6, 0 }, { -3, 16, -10, 0, 6, 0 }, - { -4, 16, -10, 0, 6, 0 }, { -5, 16, -11, 0, 6, 0 }, { -6, 16, -11, 0, 6, 0 }, { -7, 16, -12, 0, 6, 0 }, { -8, 16, -12, 0, 6, 0 }, - { -9, 16, -12, 0, 5, 0 }, { -10, 16, -13, 0, 5, 0 }, { -11, 16, -13, 0, 5, 0 }, { -12, 16, -13, 0, 5, 0 }, { -13, 16, -14, 0, 5, 0 }, - { -14, 16, -14, 0, 5, 0 }, { -15, 16, -14, 0, 5, 0 }, { -16, 16, -14, 0, 5, 0 }, { -17, 16, -15, 0, 5, 0 }, { -18, 16, -15, 0, 5, 0 }, - { -19, 16, -15, 0, 5, 0 }, { -20, 16, -15, 0, 5, 0 }, { -21, 16, -15, 0, 5, 0 }, { -22, 16, -15, 0, 5, 0 }, { -23, 16, -16, 0, 0, 0 }, - { -24, 16, -16, 0, 0, 0 }, { -25, 16, -16, 0, 0, 0 }, { -26, 16, -16, 0, 0, 0 }, { -27, 16, -16, 0, 0, 0 }, { -28, 16, -16, 0, 0, 0 }, - { -29, 16, -16, 0, 0, 0 }, { -30, 16, -16, 0, 0, 0 }, { -31, 16, -16, 0, 0, 0 }, { -32, 16, -16, 0, 0, 0 }, { -33, 16, -16, 0, 0, 0 }, - { -34, 16, -16, 0, 0, 0 }, { -35, 16, -16, 0, 0, 0 }, { -36, 16, -16, 0, 0, 0 }, { -37, 16, -16, 0, 0, 0 }, { -38, 16, -16, 0, 0, 0 }, - { -39, 16, -16, 0, 0, 0 }, { -40, 16, -16, 0, 0, 0 }, { -41, 16, -16, 0, 0, 0 }, { -42, 16, -16, 0, 0, 0 }, { -43, 16, -16, 0, 0, 0 }, - { -44, 16, -16, 0, 0, 0 }, { -45, 16, -16, 0, 0, 0 }, { -46, 16, -16, 0, 0, 0 }, { -47, 16, -16, 0, 0, 0 }, { -48, 16, -16, 0, 0, 0 }, - { -48, 16, -16, 16, 0, 0 }, { -47, 16, -16, 16, 0, 0 }, { -46, 16, -16, 16, 0, 0 }, { -45, 16, -16, 16, 0, 0 }, { -44, 16, -16, 16, 0, 0 }, - { -43, 16, -16, 16, 0, 0 }, { -42, 16, -16, 16, 0, 0 }, { -41, 16, -16, 16, 0, 0 }, { -40, 16, -16, 16, 0, 0 }, { -39, 16, -16, 16, 0, 0 }, - { -38, 16, -16, 16, 0, 0 }, { -37, 16, -16, 16, 0, 0 }, { -36, 16, -16, 16, 0, 0 }, { -35, 16, -16, 16, 0, 0 }, { -34, 16, -16, 16, 0, 0 }, - { -33, 16, -16, 16, 0, 0 }, { -32, 16, -16, 16, 0, 0 }, { -31, 16, -16, 16, 0, 0 }, { -30, 16, -16, 16, 0, 0 }, { -29, 16, -16, 16, 0, 0 }, - { -28, 16, -16, 16, 0, 0 }, { -27, 16, -16, 16, 0, 0 }, { -26, 16, -16, 16, 0, 0 }, { -25, 16, -16, 16, 0, 0 }, { -24, 16, -17, 16, 0, 0 }, - { -23, 16, -17, 16, 0, 0 }, { -22, 16, -17, 16, 5, 0 }, { -21, 16, -17, 16, 5, 0 }, { -20, 16, -17, 16, 5, 0 }, { -19, 16, -17, 16, 5, 0 }, - { -18, 16, -18, 16, 5, 0 }, { -17, 16, -18, 16, 5, 0 }, { -16, 16, -18, 16, 5, 0 }, { -15, 16, -18, 16, 5, 0 }, { -14, 16, -19, 16, 5, 0 }, - { -13, 16, -19, 16, 5, 0 }, { -12, 16, -19, 16, 5, 0 }, { -11, 16, -20, 16, 5, 0 }, { -10, 16, -20, 16, 5, 0 }, { -9, 16, -20, 16, 5, 0 }, - { -8, 16, -21, 16, 6, 0 }, { -7, 16, -21, 16, 6, 0 }, { -6, 16, -22, 16, 6, 0 }, { -5, 16, -22, 16, 6, 0 }, { -4, 16, -23, 16, 6, 0 }, - { -3, 16, -23, 16, 6, 0 }, { -2, 16, -24, 16, 6, 0 }, { -1, 16, -24, 16, 6, 0 }, { 0, 16, -25, 16, 6, 0 }, { 1, 16, -25, 16, 6, 0 }, - { 2, 16, -26, 16, 6, 0 }, { 3, 16, -26, 16, 6, 0 }, { 4, 16, -27, 16, 6, 0 }, { 5, 16, -27, 16, 6, 0 }, { 6, 16, -28, 16, 6, 0 }, - { 7, 16, -28, 16, 6, 0 }, { 8, 16, -28, 16, 5, 0 }, { 9, 16, -29, 16, 5, 0 }, { 10, 16, -29, 16, 5, 0 }, { 11, 16, -29, 16, 5, 0 }, - { 12, 16, -30, 16, 5, 0 }, { 13, 16, -30, 16, 5, 0 }, { 14, 16, -30, 16, 5, 0 }, { 15, 16, -30, 16, 5, 0 }, { 16, 16, -31, 16, 5, 0 }, - { 17, 16, -31, 16, 5, 0 }, { 18, 16, -31, 16, 5, 0 }, { 19, 16, -31, 16, 5, 0 }, { 20, 16, -31, 16, 5, 0 }, { 21, 16, -31, 16, 5, 0 }, - { 22, 16, -32, 16, 0, 0 }, { 23, 16, -32, 16, 0, 0 }, { 24, 16, -32, 16, 0, 0 }, { 25, 16, -32, 16, 0, 0 }, { 26, 16, -32, 16, 0, 0 }, - { 27, 16, -32, 16, 0, 0 }, { 28, 16, -32, 16, 0, 0 }, { 29, 16, -32, 16, 0, 0 }, { 30, 16, -32, 16, 0, 0 }, { 31, 16, -32, 16, 0, 0 }, + 160, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, -1, 0, 0, 0 }, { 22, 16, -1, 0, 0, 0 }, + { 21, 16, -1, 0, 5, 0 }, { 20, 16, -1, 0, 5, 0 }, { 19, 16, -1, 0, 5, 0 }, { 18, 16, -1, 0, 5, 0 }, { 17, 16, -2, 0, 5, 0 }, + { 16, 16, -2, 0, 5, 0 }, { 15, 16, -2, 0, 5, 0 }, { 14, 16, -2, 0, 5, 0 }, { 13, 16, -3, 0, 5, 0 }, { 12, 16, -3, 0, 5, 0 }, + { 11, 16, -3, 0, 5, 0 }, { 10, 16, -4, 0, 5, 0 }, { 9, 16, -4, 0, 5, 0 }, { 8, 16, -4, 0, 5, 0 }, { 7, 16, -5, 0, 6, 0 }, + { 6, 16, -5, 0, 6, 0 }, { 5, 16, -6, 0, 6, 0 }, { 4, 16, -6, 0, 6, 0 }, { 3, 16, -7, 0, 6, 0 }, { 2, 16, -7, 0, 6, 0 }, + { 1, 16, -8, 0, 6, 0 }, { 0, 16, -8, 0, 6, 0 }, { -1, 16, -9, 0, 6, 0 }, { -2, 16, -9, 0, 6, 0 }, { -3, 16, -10, 0, 6, 0 }, + { -4, 16, -10, 0, 6, 0 }, { -5, 16, -11, 0, 6, 0 }, { -6, 16, -11, 0, 6, 0 }, { -7, 16, -12, 0, 6, 0 }, { -8, 16, -12, 0, 6, 0 }, + { -9, 16, -12, 0, 5, 0 }, { -10, 16, -13, 0, 5, 0 }, { -11, 16, -13, 0, 5, 0 }, { -12, 16, -13, 0, 5, 0 }, { -13, 16, -14, 0, 5, 0 }, + { -14, 16, -14, 0, 5, 0 }, { -15, 16, -14, 0, 5, 0 }, { -16, 16, -14, 0, 5, 0 }, { -17, 16, -15, 0, 5, 0 }, { -18, 16, -15, 0, 5, 0 }, + { -19, 16, -15, 0, 5, 0 }, { -20, 16, -15, 0, 5, 0 }, { -21, 16, -15, 0, 5, 0 }, { -22, 16, -15, 0, 5, 0 }, { -23, 16, -16, 0, 0, 0 }, + { -24, 16, -16, 0, 0, 0 }, { -25, 16, -16, 0, 0, 0 }, { -26, 16, -16, 0, 0, 0 }, { -27, 16, -16, 0, 0, 0 }, { -28, 16, -16, 0, 0, 0 }, + { -29, 16, -16, 0, 0, 0 }, { -30, 16, -16, 0, 0, 0 }, { -31, 16, -16, 0, 0, 0 }, { -32, 16, -16, 0, 0, 0 }, { -33, 16, -16, 0, 0, 0 }, + { -34, 16, -16, 0, 0, 0 }, { -35, 16, -16, 0, 0, 0 }, { -36, 16, -16, 0, 0, 0 }, { -37, 16, -16, 0, 0, 0 }, { -38, 16, -16, 0, 0, 0 }, + { -39, 16, -16, 0, 0, 0 }, { -40, 16, -16, 0, 0, 0 }, { -41, 16, -16, 0, 0, 0 }, { -42, 16, -16, 0, 0, 0 }, { -43, 16, -16, 0, 0, 0 }, + { -44, 16, -16, 0, 0, 0 }, { -45, 16, -16, 0, 0, 0 }, { -46, 16, -16, 0, 0, 0 }, { -47, 16, -16, 0, 0, 0 }, { -48, 16, -16, 0, 0, 0 }, + { -48, 16, -16, 16, 0, 0 }, { -47, 16, -16, 16, 0, 0 }, { -46, 16, -16, 16, 0, 0 }, { -45, 16, -16, 16, 0, 0 }, { -44, 16, -16, 16, 0, 0 }, + { -43, 16, -16, 16, 0, 0 }, { -42, 16, -16, 16, 0, 0 }, { -41, 16, -16, 16, 0, 0 }, { -40, 16, -16, 16, 0, 0 }, { -39, 16, -16, 16, 0, 0 }, + { -38, 16, -16, 16, 0, 0 }, { -37, 16, -16, 16, 0, 0 }, { -36, 16, -16, 16, 0, 0 }, { -35, 16, -16, 16, 0, 0 }, { -34, 16, -16, 16, 0, 0 }, + { -33, 16, -16, 16, 0, 0 }, { -32, 16, -16, 16, 0, 0 }, { -31, 16, -16, 16, 0, 0 }, { -30, 16, -16, 16, 0, 0 }, { -29, 16, -16, 16, 0, 0 }, + { -28, 16, -16, 16, 0, 0 }, { -27, 16, -16, 16, 0, 0 }, { -26, 16, -16, 16, 0, 0 }, { -25, 16, -16, 16, 0, 0 }, { -24, 16, -17, 16, 0, 0 }, + { -23, 16, -17, 16, 0, 0 }, { -22, 16, -17, 16, 5, 0 }, { -21, 16, -17, 16, 5, 0 }, { -20, 16, -17, 16, 5, 0 }, { -19, 16, -17, 16, 5, 0 }, + { -18, 16, -18, 16, 5, 0 }, { -17, 16, -18, 16, 5, 0 }, { -16, 16, -18, 16, 5, 0 }, { -15, 16, -18, 16, 5, 0 }, { -14, 16, -19, 16, 5, 0 }, + { -13, 16, -19, 16, 5, 0 }, { -12, 16, -19, 16, 5, 0 }, { -11, 16, -20, 16, 5, 0 }, { -10, 16, -20, 16, 5, 0 }, { -9, 16, -20, 16, 5, 0 }, + { -8, 16, -21, 16, 6, 0 }, { -7, 16, -21, 16, 6, 0 }, { -6, 16, -22, 16, 6, 0 }, { -5, 16, -22, 16, 6, 0 }, { -4, 16, -23, 16, 6, 0 }, + { -3, 16, -23, 16, 6, 0 }, { -2, 16, -24, 16, 6, 0 }, { -1, 16, -24, 16, 6, 0 }, { 0, 16, -25, 16, 6, 0 }, { 1, 16, -25, 16, 6, 0 }, + { 2, 16, -26, 16, 6, 0 }, { 3, 16, -26, 16, 6, 0 }, { 4, 16, -27, 16, 6, 0 }, { 5, 16, -27, 16, 6, 0 }, { 6, 16, -28, 16, 6, 0 }, + { 7, 16, -28, 16, 6, 0 }, { 8, 16, -28, 16, 5, 0 }, { 9, 16, -29, 16, 5, 0 }, { 10, 16, -29, 16, 5, 0 }, { 11, 16, -29, 16, 5, 0 }, + { 12, 16, -30, 16, 5, 0 }, { 13, 16, -30, 16, 5, 0 }, { 14, 16, -30, 16, 5, 0 }, { 15, 16, -30, 16, 5, 0 }, { 16, 16, -31, 16, 5, 0 }, + { 17, 16, -31, 16, 5, 0 }, { 18, 16, -31, 16, 5, 0 }, { 19, 16, -31, 16, 5, 0 }, { 20, 16, -31, 16, 5, 0 }, { 21, 16, -31, 16, 5, 0 }, + { 22, 16, -32, 16, 0, 0 }, { 23, 16, -32, 16, 0, 0 }, { 24, 16, -32, 16, 0, 0 }, { 25, 16, -32, 16, 0, 0 }, { 26, 16, -32, 16, 0, 0 }, + { 27, 16, -32, 16, 0, 0 }, { 28, 16, -32, 16, 0, 0 }, { 29, 16, -32, 16, 0, 0 }, { 30, 16, -32, 16, 0, 0 }, { 31, 16, -32, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92ED7C = { - 160, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, -1, 8, 0, 0 }, { 16, 9, -1, 8, 0, 0 }, - { 16, 10, -1, 8, 5, 0 }, { 16, 11, -1, 8, 5, 0 }, { 16, 12, -1, 8, 5, 0 }, { 16, 13, -1, 8, 5, 0 }, { 16, 14, -2, 8, 5, 0 }, - { 16, 15, -2, 8, 5, 0 }, { 16, 16, -2, 8, 5, 0 }, { 16, 17, -2, 8, 5, 0 }, { 16, 18, -3, 8, 5, 0 }, { 16, 19, -3, 8, 5, 0 }, - { 16, 20, -3, 8, 5, 0 }, { 16, 21, -4, 8, 5, 0 }, { 16, 22, -4, 8, 5, 0 }, { 16, 23, -4, 8, 5, 0 }, { 16, 24, -5, 8, 6, 0 }, - { 16, 25, -5, 8, 6, 0 }, { 16, 26, -5, 8, 6, 0 }, { 16, 27, -6, 8, 6, 0 }, { 16, 28, -6, 8, 6, 0 }, { 16, 29, -7, 8, 6, 0 }, - { 16, 30, -7, 8, 6, 0 }, { 16, 31, -8, 8, 6, 0 }, { 16, 32, -8, 8, 6, 0 }, { 16, 33, -9, 8, 6, 0 }, { 16, 34, -9, 8, 6, 0 }, - { 16, 35, -10, 8, 6, 0 }, { 16, 36, -10, 8, 6, 0 }, { 16, 37, -11, 8, 6, 0 }, { 16, 38, -11, 8, 6, 0 }, { 16, 39, -12, 8, 6, 0 }, - { 16, 40, -12, 8, 5, 0 }, { 16, 41, -13, 8, 5, 0 }, { 16, 42, -13, 8, 5, 0 }, { 16, 43, -13, 8, 5, 0 }, { 16, 44, -14, 8, 5, 0 }, - { 16, 45, -14, 8, 5, 0 }, { 16, 46, -14, 8, 5, 0 }, { 16, 47, -14, 8, 5, 0 }, { 16, 48, -15, 8, 5, 0 }, { 16, 49, -15, 8, 5, 0 }, - { 16, 50, -15, 8, 5, 0 }, { 16, 51, -15, 8, 5, 0 }, { 16, 52, -15, 8, 5, 0 }, { 16, 53, -15, 8, 5, 0 }, { 16, 54, -16, 8, 0, 0 }, - { 16, 55, -16, 8, 0, 0 }, { 16, 56, -16, 8, 0, 0 }, { 16, 57, -16, 8, 0, 0 }, { 16, 58, -16, 8, 0, 0 }, { 16, 59, -16, 8, 0, 0 }, - { 16, 60, -16, 8, 0, 0 }, { 16, 61, -16, 8, 0, 0 }, { 16, 62, -16, 8, 0, 0 }, { 16, 63, -16, 8, 0, 0 }, { 16, 64, -16, 8, 0, 0 }, - { 16, 65, -16, 8, 0, 0 }, { 16, 66, -16, 8, 0, 0 }, { 16, 67, -16, 8, 0, 0 }, { 16, 68, -16, 8, 0, 0 }, { 16, 69, -16, 8, 0, 0 }, - { 16, 70, -16, 8, 0, 0 }, { 16, 71, -16, 8, 0, 0 }, { 16, 72, -16, 8, 0, 0 }, { 16, 73, -16, 8, 0, 0 }, { 16, 74, -16, 8, 0, 0 }, - { 16, 75, -16, 8, 0, 0 }, { 16, 76, -16, 8, 0, 0 }, { 16, 77, -16, 8, 0, 0 }, { 16, 78, -16, 8, 0, 0 }, { 16, 79, -16, 8, 0, 0 }, - { 16, 79, -16, 24, 0, 0 }, { 16, 78, -16, 24, 0, 0 }, { 16, 77, -16, 24, 0, 0 }, { 16, 76, -16, 24, 0, 0 }, { 16, 75, -16, 24, 0, 0 }, - { 16, 74, -16, 24, 0, 0 }, { 16, 73, -16, 24, 0, 0 }, { 16, 72, -16, 24, 0, 0 }, { 16, 71, -16, 24, 0, 0 }, { 16, 70, -16, 24, 0, 0 }, - { 16, 69, -16, 24, 0, 0 }, { 16, 68, -16, 24, 0, 0 }, { 16, 67, -16, 24, 0, 0 }, { 16, 66, -16, 24, 0, 0 }, { 16, 65, -16, 24, 0, 0 }, - { 16, 64, -16, 24, 0, 0 }, { 16, 63, -16, 24, 0, 0 }, { 16, 62, -16, 24, 0, 0 }, { 16, 61, -16, 24, 0, 0 }, { 16, 60, -16, 24, 0, 0 }, - { 16, 59, -16, 24, 0, 0 }, { 16, 58, -16, 24, 0, 0 }, { 16, 57, -16, 24, 0, 0 }, { 16, 56, -16, 24, 0, 0 }, { 16, 55, -17, 24, 0, 0 }, - { 16, 54, -17, 24, 0, 0 }, { 16, 53, -17, 24, 5, 0 }, { 16, 52, -17, 24, 5, 0 }, { 16, 51, -17, 24, 5, 0 }, { 16, 50, -17, 24, 5, 0 }, - { 16, 49, -18, 24, 5, 0 }, { 16, 48, -18, 24, 5, 0 }, { 16, 47, -18, 24, 5, 0 }, { 16, 46, -18, 24, 5, 0 }, { 16, 45, -19, 24, 5, 0 }, - { 16, 44, -19, 24, 5, 0 }, { 16, 43, -19, 24, 5, 0 }, { 16, 42, -20, 24, 5, 0 }, { 16, 41, -20, 24, 5, 0 }, { 16, 40, -20, 24, 5, 0 }, - { 16, 39, -21, 24, 6, 0 }, { 16, 38, -21, 24, 6, 0 }, { 16, 37, -21, 24, 6, 0 }, { 16, 36, -22, 24, 6, 0 }, { 16, 35, -22, 24, 6, 0 }, - { 16, 34, -23, 24, 6, 0 }, { 16, 33, -23, 24, 6, 0 }, { 16, 32, -24, 24, 6, 0 }, { 16, 31, -24, 24, 6, 0 }, { 16, 30, -25, 24, 6, 0 }, - { 16, 29, -25, 24, 6, 0 }, { 16, 28, -26, 24, 6, 0 }, { 16, 27, -26, 24, 6, 0 }, { 16, 26, -27, 24, 6, 0 }, { 16, 25, -27, 24, 6, 0 }, - { 16, 24, -28, 24, 6, 0 }, { 16, 23, -28, 24, 5, 0 }, { 16, 22, -29, 24, 5, 0 }, { 16, 21, -29, 24, 5, 0 }, { 16, 20, -29, 24, 5, 0 }, - { 16, 19, -30, 24, 5, 0 }, { 16, 18, -30, 24, 5, 0 }, { 16, 17, -30, 24, 5, 0 }, { 16, 16, -30, 24, 5, 0 }, { 16, 15, -31, 24, 5, 0 }, - { 16, 14, -31, 24, 5, 0 }, { 16, 13, -31, 24, 5, 0 }, { 16, 12, -31, 24, 5, 0 }, { 16, 11, -31, 24, 5, 0 }, { 16, 10, -31, 24, 5, 0 }, - { 16, 9, -32, 24, 0, 0 }, { 16, 8, -32, 24, 0, 0 }, { 16, 7, -32, 24, 0, 0 }, { 16, 6, -32, 24, 0, 0 }, { 16, 5, -32, 24, 0, 0 }, - { 16, 4, -32, 24, 0, 0 }, { 16, 3, -32, 24, 0, 0 }, { 16, 2, -32, 24, 0, 0 }, { 16, 1, -32, 24, 0, 0 }, { 16, 0, -32, 24, 0, 0 }, + 160, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, -1, 8, 0, 0 }, { 16, 9, -1, 8, 0, 0 }, + { 16, 10, -1, 8, 5, 0 }, { 16, 11, -1, 8, 5, 0 }, { 16, 12, -1, 8, 5, 0 }, { 16, 13, -1, 8, 5, 0 }, { 16, 14, -2, 8, 5, 0 }, + { 16, 15, -2, 8, 5, 0 }, { 16, 16, -2, 8, 5, 0 }, { 16, 17, -2, 8, 5, 0 }, { 16, 18, -3, 8, 5, 0 }, { 16, 19, -3, 8, 5, 0 }, + { 16, 20, -3, 8, 5, 0 }, { 16, 21, -4, 8, 5, 0 }, { 16, 22, -4, 8, 5, 0 }, { 16, 23, -4, 8, 5, 0 }, { 16, 24, -5, 8, 6, 0 }, + { 16, 25, -5, 8, 6, 0 }, { 16, 26, -5, 8, 6, 0 }, { 16, 27, -6, 8, 6, 0 }, { 16, 28, -6, 8, 6, 0 }, { 16, 29, -7, 8, 6, 0 }, + { 16, 30, -7, 8, 6, 0 }, { 16, 31, -8, 8, 6, 0 }, { 16, 32, -8, 8, 6, 0 }, { 16, 33, -9, 8, 6, 0 }, { 16, 34, -9, 8, 6, 0 }, + { 16, 35, -10, 8, 6, 0 }, { 16, 36, -10, 8, 6, 0 }, { 16, 37, -11, 8, 6, 0 }, { 16, 38, -11, 8, 6, 0 }, { 16, 39, -12, 8, 6, 0 }, + { 16, 40, -12, 8, 5, 0 }, { 16, 41, -13, 8, 5, 0 }, { 16, 42, -13, 8, 5, 0 }, { 16, 43, -13, 8, 5, 0 }, { 16, 44, -14, 8, 5, 0 }, + { 16, 45, -14, 8, 5, 0 }, { 16, 46, -14, 8, 5, 0 }, { 16, 47, -14, 8, 5, 0 }, { 16, 48, -15, 8, 5, 0 }, { 16, 49, -15, 8, 5, 0 }, + { 16, 50, -15, 8, 5, 0 }, { 16, 51, -15, 8, 5, 0 }, { 16, 52, -15, 8, 5, 0 }, { 16, 53, -15, 8, 5, 0 }, { 16, 54, -16, 8, 0, 0 }, + { 16, 55, -16, 8, 0, 0 }, { 16, 56, -16, 8, 0, 0 }, { 16, 57, -16, 8, 0, 0 }, { 16, 58, -16, 8, 0, 0 }, { 16, 59, -16, 8, 0, 0 }, + { 16, 60, -16, 8, 0, 0 }, { 16, 61, -16, 8, 0, 0 }, { 16, 62, -16, 8, 0, 0 }, { 16, 63, -16, 8, 0, 0 }, { 16, 64, -16, 8, 0, 0 }, + { 16, 65, -16, 8, 0, 0 }, { 16, 66, -16, 8, 0, 0 }, { 16, 67, -16, 8, 0, 0 }, { 16, 68, -16, 8, 0, 0 }, { 16, 69, -16, 8, 0, 0 }, + { 16, 70, -16, 8, 0, 0 }, { 16, 71, -16, 8, 0, 0 }, { 16, 72, -16, 8, 0, 0 }, { 16, 73, -16, 8, 0, 0 }, { 16, 74, -16, 8, 0, 0 }, + { 16, 75, -16, 8, 0, 0 }, { 16, 76, -16, 8, 0, 0 }, { 16, 77, -16, 8, 0, 0 }, { 16, 78, -16, 8, 0, 0 }, { 16, 79, -16, 8, 0, 0 }, + { 16, 79, -16, 24, 0, 0 }, { 16, 78, -16, 24, 0, 0 }, { 16, 77, -16, 24, 0, 0 }, { 16, 76, -16, 24, 0, 0 }, { 16, 75, -16, 24, 0, 0 }, + { 16, 74, -16, 24, 0, 0 }, { 16, 73, -16, 24, 0, 0 }, { 16, 72, -16, 24, 0, 0 }, { 16, 71, -16, 24, 0, 0 }, { 16, 70, -16, 24, 0, 0 }, + { 16, 69, -16, 24, 0, 0 }, { 16, 68, -16, 24, 0, 0 }, { 16, 67, -16, 24, 0, 0 }, { 16, 66, -16, 24, 0, 0 }, { 16, 65, -16, 24, 0, 0 }, + { 16, 64, -16, 24, 0, 0 }, { 16, 63, -16, 24, 0, 0 }, { 16, 62, -16, 24, 0, 0 }, { 16, 61, -16, 24, 0, 0 }, { 16, 60, -16, 24, 0, 0 }, + { 16, 59, -16, 24, 0, 0 }, { 16, 58, -16, 24, 0, 0 }, { 16, 57, -16, 24, 0, 0 }, { 16, 56, -16, 24, 0, 0 }, { 16, 55, -17, 24, 0, 0 }, + { 16, 54, -17, 24, 0, 0 }, { 16, 53, -17, 24, 5, 0 }, { 16, 52, -17, 24, 5, 0 }, { 16, 51, -17, 24, 5, 0 }, { 16, 50, -17, 24, 5, 0 }, + { 16, 49, -18, 24, 5, 0 }, { 16, 48, -18, 24, 5, 0 }, { 16, 47, -18, 24, 5, 0 }, { 16, 46, -18, 24, 5, 0 }, { 16, 45, -19, 24, 5, 0 }, + { 16, 44, -19, 24, 5, 0 }, { 16, 43, -19, 24, 5, 0 }, { 16, 42, -20, 24, 5, 0 }, { 16, 41, -20, 24, 5, 0 }, { 16, 40, -20, 24, 5, 0 }, + { 16, 39, -21, 24, 6, 0 }, { 16, 38, -21, 24, 6, 0 }, { 16, 37, -21, 24, 6, 0 }, { 16, 36, -22, 24, 6, 0 }, { 16, 35, -22, 24, 6, 0 }, + { 16, 34, -23, 24, 6, 0 }, { 16, 33, -23, 24, 6, 0 }, { 16, 32, -24, 24, 6, 0 }, { 16, 31, -24, 24, 6, 0 }, { 16, 30, -25, 24, 6, 0 }, + { 16, 29, -25, 24, 6, 0 }, { 16, 28, -26, 24, 6, 0 }, { 16, 27, -26, 24, 6, 0 }, { 16, 26, -27, 24, 6, 0 }, { 16, 25, -27, 24, 6, 0 }, + { 16, 24, -28, 24, 6, 0 }, { 16, 23, -28, 24, 5, 0 }, { 16, 22, -29, 24, 5, 0 }, { 16, 21, -29, 24, 5, 0 }, { 16, 20, -29, 24, 5, 0 }, + { 16, 19, -30, 24, 5, 0 }, { 16, 18, -30, 24, 5, 0 }, { 16, 17, -30, 24, 5, 0 }, { 16, 16, -30, 24, 5, 0 }, { 16, 15, -31, 24, 5, 0 }, + { 16, 14, -31, 24, 5, 0 }, { 16, 13, -31, 24, 5, 0 }, { 16, 12, -31, 24, 5, 0 }, { 16, 11, -31, 24, 5, 0 }, { 16, 10, -31, 24, 5, 0 }, + { 16, 9, -32, 24, 0, 0 }, { 16, 8, -32, 24, 0, 0 }, { 16, 7, -32, 24, 0, 0 }, { 16, 6, -32, 24, 0, 0 }, { 16, 5, -32, 24, 0, 0 }, + { 16, 4, -32, 24, 0, 0 }, { 16, 3, -32, 24, 0, 0 }, { 16, 2, -32, 24, 0, 0 }, { 16, 1, -32, 24, 0, 0 }, { 16, 0, -32, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92F31E = { - 160, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, -1, 16, 0, 0 }, { 9, 16, -1, 16, 0, 0 }, - { 10, 16, -1, 16, 5, 0 }, { 11, 16, -1, 16, 5, 0 }, { 12, 16, -1, 16, 5, 0 }, { 13, 16, -1, 16, 5, 0 }, { 14, 16, -2, 16, 5, 0 }, - { 15, 16, -2, 16, 5, 0 }, { 16, 16, -2, 16, 5, 0 }, { 17, 16, -2, 16, 5, 0 }, { 18, 16, -3, 16, 5, 0 }, { 19, 16, -3, 16, 5, 0 }, - { 20, 16, -3, 16, 5, 0 }, { 21, 16, -4, 16, 5, 0 }, { 22, 16, -4, 16, 5, 0 }, { 23, 16, -4, 16, 5, 0 }, { 24, 16, -5, 16, 6, 0 }, - { 25, 16, -5, 16, 6, 0 }, { 26, 16, -5, 16, 6, 0 }, { 27, 16, -6, 16, 6, 0 }, { 28, 16, -6, 16, 6, 0 }, { 29, 16, -7, 16, 6, 0 }, - { 30, 16, -7, 16, 6, 0 }, { 31, 16, -8, 16, 6, 0 }, { 32, 16, -8, 16, 6, 0 }, { 33, 16, -9, 16, 6, 0 }, { 34, 16, -9, 16, 6, 0 }, - { 35, 16, -10, 16, 6, 0 }, { 36, 16, -10, 16, 6, 0 }, { 37, 16, -11, 16, 6, 0 }, { 38, 16, -11, 16, 6, 0 }, { 39, 16, -12, 16, 6, 0 }, - { 40, 16, -12, 16, 5, 0 }, { 41, 16, -13, 16, 5, 0 }, { 42, 16, -13, 16, 5, 0 }, { 43, 16, -13, 16, 5, 0 }, { 44, 16, -14, 16, 5, 0 }, - { 45, 16, -14, 16, 5, 0 }, { 46, 16, -14, 16, 5, 0 }, { 47, 16, -14, 16, 5, 0 }, { 48, 16, -15, 16, 5, 0 }, { 49, 16, -15, 16, 5, 0 }, - { 50, 16, -15, 16, 5, 0 }, { 51, 16, -15, 16, 5, 0 }, { 52, 16, -15, 16, 5, 0 }, { 53, 16, -15, 16, 5, 0 }, { 54, 16, -16, 16, 0, 0 }, - { 55, 16, -16, 16, 0, 0 }, { 56, 16, -16, 16, 0, 0 }, { 57, 16, -16, 16, 0, 0 }, { 58, 16, -16, 16, 0, 0 }, { 59, 16, -16, 16, 0, 0 }, - { 60, 16, -16, 16, 0, 0 }, { 61, 16, -16, 16, 0, 0 }, { 62, 16, -16, 16, 0, 0 }, { 63, 16, -16, 16, 0, 0 }, { 64, 16, -16, 16, 0, 0 }, - { 65, 16, -16, 16, 0, 0 }, { 66, 16, -16, 16, 0, 0 }, { 67, 16, -16, 16, 0, 0 }, { 68, 16, -16, 16, 0, 0 }, { 69, 16, -16, 16, 0, 0 }, - { 70, 16, -16, 16, 0, 0 }, { 71, 16, -16, 16, 0, 0 }, { 72, 16, -16, 16, 0, 0 }, { 73, 16, -16, 16, 0, 0 }, { 74, 16, -16, 16, 0, 0 }, - { 75, 16, -16, 16, 0, 0 }, { 76, 16, -16, 16, 0, 0 }, { 77, 16, -16, 16, 0, 0 }, { 78, 16, -16, 16, 0, 0 }, { 79, 16, -16, 16, 0, 0 }, - { 79, 16, -16, 0, 0, 0 }, { 78, 16, -16, 0, 0, 0 }, { 77, 16, -16, 0, 0, 0 }, { 76, 16, -16, 0, 0, 0 }, { 75, 16, -16, 0, 0, 0 }, - { 74, 16, -16, 0, 0, 0 }, { 73, 16, -16, 0, 0, 0 }, { 72, 16, -16, 0, 0, 0 }, { 71, 16, -16, 0, 0, 0 }, { 70, 16, -16, 0, 0, 0 }, - { 69, 16, -16, 0, 0, 0 }, { 68, 16, -16, 0, 0, 0 }, { 67, 16, -16, 0, 0, 0 }, { 66, 16, -16, 0, 0, 0 }, { 65, 16, -16, 0, 0, 0 }, - { 64, 16, -16, 0, 0, 0 }, { 63, 16, -16, 0, 0, 0 }, { 62, 16, -16, 0, 0, 0 }, { 61, 16, -16, 0, 0, 0 }, { 60, 16, -16, 0, 0, 0 }, - { 59, 16, -16, 0, 0, 0 }, { 58, 16, -16, 0, 0, 0 }, { 57, 16, -16, 0, 0, 0 }, { 56, 16, -16, 0, 0, 0 }, { 55, 16, -17, 0, 0, 0 }, - { 54, 16, -17, 0, 0, 0 }, { 53, 16, -17, 0, 5, 0 }, { 52, 16, -17, 0, 5, 0 }, { 51, 16, -17, 0, 5, 0 }, { 50, 16, -17, 0, 5, 0 }, - { 49, 16, -18, 0, 5, 0 }, { 48, 16, -18, 0, 5, 0 }, { 47, 16, -18, 0, 5, 0 }, { 46, 16, -18, 0, 5, 0 }, { 45, 16, -19, 0, 5, 0 }, - { 44, 16, -19, 0, 5, 0 }, { 43, 16, -19, 0, 5, 0 }, { 42, 16, -20, 0, 5, 0 }, { 41, 16, -20, 0, 5, 0 }, { 40, 16, -20, 0, 5, 0 }, - { 39, 16, -21, 0, 6, 0 }, { 38, 16, -21, 0, 6, 0 }, { 37, 16, -21, 0, 6, 0 }, { 36, 16, -22, 0, 6, 0 }, { 35, 16, -22, 0, 6, 0 }, - { 34, 16, -23, 0, 6, 0 }, { 33, 16, -23, 0, 6, 0 }, { 32, 16, -24, 0, 6, 0 }, { 31, 16, -24, 0, 6, 0 }, { 30, 16, -25, 0, 6, 0 }, - { 29, 16, -25, 0, 6, 0 }, { 28, 16, -26, 0, 6, 0 }, { 27, 16, -26, 0, 6, 0 }, { 26, 16, -27, 0, 6, 0 }, { 25, 16, -27, 0, 6, 0 }, - { 24, 16, -28, 0, 6, 0 }, { 23, 16, -28, 0, 5, 0 }, { 22, 16, -29, 0, 5, 0 }, { 21, 16, -29, 0, 5, 0 }, { 20, 16, -29, 0, 5, 0 }, - { 19, 16, -30, 0, 5, 0 }, { 18, 16, -30, 0, 5, 0 }, { 17, 16, -30, 0, 5, 0 }, { 16, 16, -30, 0, 5, 0 }, { 15, 16, -31, 0, 5, 0 }, - { 14, 16, -31, 0, 5, 0 }, { 13, 16, -31, 0, 5, 0 }, { 12, 16, -31, 0, 5, 0 }, { 11, 16, -31, 0, 5, 0 }, { 10, 16, -31, 0, 5, 0 }, - { 9, 16, -32, 0, 0, 0 }, { 8, 16, -32, 0, 0, 0 }, { 7, 16, -32, 0, 0, 0 }, { 6, 16, -32, 0, 0, 0 }, { 5, 16, -32, 0, 0, 0 }, - { 4, 16, -32, 0, 0, 0 }, { 3, 16, -32, 0, 0, 0 }, { 2, 16, -32, 0, 0, 0 }, { 1, 16, -32, 0, 0, 0 }, { 0, 16, -32, 0, 0, 0 }, + 160, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, -1, 16, 0, 0 }, { 9, 16, -1, 16, 0, 0 }, + { 10, 16, -1, 16, 5, 0 }, { 11, 16, -1, 16, 5, 0 }, { 12, 16, -1, 16, 5, 0 }, { 13, 16, -1, 16, 5, 0 }, { 14, 16, -2, 16, 5, 0 }, + { 15, 16, -2, 16, 5, 0 }, { 16, 16, -2, 16, 5, 0 }, { 17, 16, -2, 16, 5, 0 }, { 18, 16, -3, 16, 5, 0 }, { 19, 16, -3, 16, 5, 0 }, + { 20, 16, -3, 16, 5, 0 }, { 21, 16, -4, 16, 5, 0 }, { 22, 16, -4, 16, 5, 0 }, { 23, 16, -4, 16, 5, 0 }, { 24, 16, -5, 16, 6, 0 }, + { 25, 16, -5, 16, 6, 0 }, { 26, 16, -5, 16, 6, 0 }, { 27, 16, -6, 16, 6, 0 }, { 28, 16, -6, 16, 6, 0 }, { 29, 16, -7, 16, 6, 0 }, + { 30, 16, -7, 16, 6, 0 }, { 31, 16, -8, 16, 6, 0 }, { 32, 16, -8, 16, 6, 0 }, { 33, 16, -9, 16, 6, 0 }, { 34, 16, -9, 16, 6, 0 }, + { 35, 16, -10, 16, 6, 0 }, { 36, 16, -10, 16, 6, 0 }, { 37, 16, -11, 16, 6, 0 }, { 38, 16, -11, 16, 6, 0 }, { 39, 16, -12, 16, 6, 0 }, + { 40, 16, -12, 16, 5, 0 }, { 41, 16, -13, 16, 5, 0 }, { 42, 16, -13, 16, 5, 0 }, { 43, 16, -13, 16, 5, 0 }, { 44, 16, -14, 16, 5, 0 }, + { 45, 16, -14, 16, 5, 0 }, { 46, 16, -14, 16, 5, 0 }, { 47, 16, -14, 16, 5, 0 }, { 48, 16, -15, 16, 5, 0 }, { 49, 16, -15, 16, 5, 0 }, + { 50, 16, -15, 16, 5, 0 }, { 51, 16, -15, 16, 5, 0 }, { 52, 16, -15, 16, 5, 0 }, { 53, 16, -15, 16, 5, 0 }, { 54, 16, -16, 16, 0, 0 }, + { 55, 16, -16, 16, 0, 0 }, { 56, 16, -16, 16, 0, 0 }, { 57, 16, -16, 16, 0, 0 }, { 58, 16, -16, 16, 0, 0 }, { 59, 16, -16, 16, 0, 0 }, + { 60, 16, -16, 16, 0, 0 }, { 61, 16, -16, 16, 0, 0 }, { 62, 16, -16, 16, 0, 0 }, { 63, 16, -16, 16, 0, 0 }, { 64, 16, -16, 16, 0, 0 }, + { 65, 16, -16, 16, 0, 0 }, { 66, 16, -16, 16, 0, 0 }, { 67, 16, -16, 16, 0, 0 }, { 68, 16, -16, 16, 0, 0 }, { 69, 16, -16, 16, 0, 0 }, + { 70, 16, -16, 16, 0, 0 }, { 71, 16, -16, 16, 0, 0 }, { 72, 16, -16, 16, 0, 0 }, { 73, 16, -16, 16, 0, 0 }, { 74, 16, -16, 16, 0, 0 }, + { 75, 16, -16, 16, 0, 0 }, { 76, 16, -16, 16, 0, 0 }, { 77, 16, -16, 16, 0, 0 }, { 78, 16, -16, 16, 0, 0 }, { 79, 16, -16, 16, 0, 0 }, + { 79, 16, -16, 0, 0, 0 }, { 78, 16, -16, 0, 0, 0 }, { 77, 16, -16, 0, 0, 0 }, { 76, 16, -16, 0, 0, 0 }, { 75, 16, -16, 0, 0, 0 }, + { 74, 16, -16, 0, 0, 0 }, { 73, 16, -16, 0, 0, 0 }, { 72, 16, -16, 0, 0, 0 }, { 71, 16, -16, 0, 0, 0 }, { 70, 16, -16, 0, 0, 0 }, + { 69, 16, -16, 0, 0, 0 }, { 68, 16, -16, 0, 0, 0 }, { 67, 16, -16, 0, 0, 0 }, { 66, 16, -16, 0, 0, 0 }, { 65, 16, -16, 0, 0, 0 }, + { 64, 16, -16, 0, 0, 0 }, { 63, 16, -16, 0, 0, 0 }, { 62, 16, -16, 0, 0, 0 }, { 61, 16, -16, 0, 0, 0 }, { 60, 16, -16, 0, 0, 0 }, + { 59, 16, -16, 0, 0, 0 }, { 58, 16, -16, 0, 0, 0 }, { 57, 16, -16, 0, 0, 0 }, { 56, 16, -16, 0, 0, 0 }, { 55, 16, -17, 0, 0, 0 }, + { 54, 16, -17, 0, 0, 0 }, { 53, 16, -17, 0, 5, 0 }, { 52, 16, -17, 0, 5, 0 }, { 51, 16, -17, 0, 5, 0 }, { 50, 16, -17, 0, 5, 0 }, + { 49, 16, -18, 0, 5, 0 }, { 48, 16, -18, 0, 5, 0 }, { 47, 16, -18, 0, 5, 0 }, { 46, 16, -18, 0, 5, 0 }, { 45, 16, -19, 0, 5, 0 }, + { 44, 16, -19, 0, 5, 0 }, { 43, 16, -19, 0, 5, 0 }, { 42, 16, -20, 0, 5, 0 }, { 41, 16, -20, 0, 5, 0 }, { 40, 16, -20, 0, 5, 0 }, + { 39, 16, -21, 0, 6, 0 }, { 38, 16, -21, 0, 6, 0 }, { 37, 16, -21, 0, 6, 0 }, { 36, 16, -22, 0, 6, 0 }, { 35, 16, -22, 0, 6, 0 }, + { 34, 16, -23, 0, 6, 0 }, { 33, 16, -23, 0, 6, 0 }, { 32, 16, -24, 0, 6, 0 }, { 31, 16, -24, 0, 6, 0 }, { 30, 16, -25, 0, 6, 0 }, + { 29, 16, -25, 0, 6, 0 }, { 28, 16, -26, 0, 6, 0 }, { 27, 16, -26, 0, 6, 0 }, { 26, 16, -27, 0, 6, 0 }, { 25, 16, -27, 0, 6, 0 }, + { 24, 16, -28, 0, 6, 0 }, { 23, 16, -28, 0, 5, 0 }, { 22, 16, -29, 0, 5, 0 }, { 21, 16, -29, 0, 5, 0 }, { 20, 16, -29, 0, 5, 0 }, + { 19, 16, -30, 0, 5, 0 }, { 18, 16, -30, 0, 5, 0 }, { 17, 16, -30, 0, 5, 0 }, { 16, 16, -30, 0, 5, 0 }, { 15, 16, -31, 0, 5, 0 }, + { 14, 16, -31, 0, 5, 0 }, { 13, 16, -31, 0, 5, 0 }, { 12, 16, -31, 0, 5, 0 }, { 11, 16, -31, 0, 5, 0 }, { 10, 16, -31, 0, 5, 0 }, + { 9, 16, -32, 0, 0, 0 }, { 8, 16, -32, 0, 0, 0 }, { 7, 16, -32, 0, 0, 0 }, { 6, 16, -32, 0, 0, 0 }, { 5, 16, -32, 0, 0, 0 }, + { 4, 16, -32, 0, 0, 0 }, { 3, 16, -32, 0, 0, 0 }, { 2, 16, -32, 0, 0, 0 }, { 1, 16, -32, 0, 0, 0 }, { 0, 16, -32, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92F8C0 = { - 160, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, -1, 24, 0, 0 }, { 16, 22, -1, 24, 0, 0 }, - { 16, 21, -1, 24, 5, 0 }, { 16, 20, -1, 24, 5, 0 }, { 16, 19, -1, 24, 5, 0 }, { 16, 18, -1, 24, 5, 0 }, { 16, 17, -2, 24, 5, 0 }, - { 16, 16, -2, 24, 5, 0 }, { 16, 15, -2, 24, 5, 0 }, { 16, 14, -2, 24, 5, 0 }, { 16, 13, -3, 24, 5, 0 }, { 16, 12, -3, 24, 5, 0 }, - { 16, 11, -3, 24, 5, 0 }, { 16, 10, -4, 24, 5, 0 }, { 16, 9, -4, 24, 5, 0 }, { 16, 8, -4, 24, 5, 0 }, { 16, 7, -5, 24, 6, 0 }, - { 16, 6, -5, 24, 6, 0 }, { 16, 5, -6, 24, 6, 0 }, { 16, 4, -6, 24, 6, 0 }, { 16, 3, -7, 24, 6, 0 }, { 16, 2, -7, 24, 6, 0 }, - { 16, 1, -8, 24, 6, 0 }, { 16, 0, -8, 24, 6, 0 }, { 16, -1, -9, 24, 6, 0 }, { 16, -2, -9, 24, 6, 0 }, { 16, -3, -10, 24, 6, 0 }, - { 16, -4, -10, 24, 6, 0 }, { 16, -5, -11, 24, 6, 0 }, { 16, -6, -11, 24, 6, 0 }, { 16, -7, -12, 24, 6, 0 }, { 16, -8, -12, 24, 6, 0 }, - { 16, -9, -12, 24, 5, 0 }, { 16, -10, -13, 24, 5, 0 }, { 16, -11, -13, 24, 5, 0 }, { 16, -12, -13, 24, 5, 0 }, { 16, -13, -14, 24, 5, 0 }, - { 16, -14, -14, 24, 5, 0 }, { 16, -15, -14, 24, 5, 0 }, { 16, -16, -14, 24, 5, 0 }, { 16, -17, -15, 24, 5, 0 }, { 16, -18, -15, 24, 5, 0 }, - { 16, -19, -15, 24, 5, 0 }, { 16, -20, -15, 24, 5, 0 }, { 16, -21, -15, 24, 5, 0 }, { 16, -22, -15, 24, 5, 0 }, { 16, -23, -16, 24, 0, 0 }, - { 16, -24, -16, 24, 0, 0 }, { 16, -25, -16, 24, 0, 0 }, { 16, -26, -16, 24, 0, 0 }, { 16, -27, -16, 24, 0, 0 }, { 16, -28, -16, 24, 0, 0 }, - { 16, -29, -16, 24, 0, 0 }, { 16, -30, -16, 24, 0, 0 }, { 16, -31, -16, 24, 0, 0 }, { 16, -32, -16, 24, 0, 0 }, { 16, -33, -16, 24, 0, 0 }, - { 16, -34, -16, 24, 0, 0 }, { 16, -35, -16, 24, 0, 0 }, { 16, -36, -16, 24, 0, 0 }, { 16, -37, -16, 24, 0, 0 }, { 16, -38, -16, 24, 0, 0 }, - { 16, -39, -16, 24, 0, 0 }, { 16, -40, -16, 24, 0, 0 }, { 16, -41, -16, 24, 0, 0 }, { 16, -42, -16, 24, 0, 0 }, { 16, -43, -16, 24, 0, 0 }, - { 16, -44, -16, 24, 0, 0 }, { 16, -45, -16, 24, 0, 0 }, { 16, -46, -16, 24, 0, 0 }, { 16, -47, -16, 24, 0, 0 }, { 16, -48, -16, 24, 0, 0 }, - { 16, -48, -16, 8, 0, 0 }, { 16, -47, -16, 8, 0, 0 }, { 16, -46, -16, 8, 0, 0 }, { 16, -45, -16, 8, 0, 0 }, { 16, -44, -16, 8, 0, 0 }, - { 16, -43, -16, 8, 0, 0 }, { 16, -42, -16, 8, 0, 0 }, { 16, -41, -16, 8, 0, 0 }, { 16, -40, -16, 8, 0, 0 }, { 16, -39, -16, 8, 0, 0 }, - { 16, -38, -16, 8, 0, 0 }, { 16, -37, -16, 8, 0, 0 }, { 16, -36, -16, 8, 0, 0 }, { 16, -35, -16, 8, 0, 0 }, { 16, -34, -16, 8, 0, 0 }, - { 16, -33, -16, 8, 0, 0 }, { 16, -32, -16, 8, 0, 0 }, { 16, -31, -16, 8, 0, 0 }, { 16, -30, -16, 8, 0, 0 }, { 16, -29, -16, 8, 0, 0 }, - { 16, -28, -16, 8, 0, 0 }, { 16, -27, -16, 8, 0, 0 }, { 16, -26, -16, 8, 0, 0 }, { 16, -25, -16, 8, 0, 0 }, { 16, -24, -17, 8, 0, 0 }, - { 16, -23, -17, 8, 0, 0 }, { 16, -22, -17, 8, 5, 0 }, { 16, -21, -17, 8, 5, 0 }, { 16, -20, -17, 8, 5, 0 }, { 16, -19, -17, 8, 5, 0 }, - { 16, -18, -18, 8, 5, 0 }, { 16, -17, -18, 8, 5, 0 }, { 16, -16, -18, 8, 5, 0 }, { 16, -15, -18, 8, 5, 0 }, { 16, -14, -19, 8, 5, 0 }, - { 16, -13, -19, 8, 5, 0 }, { 16, -12, -19, 8, 5, 0 }, { 16, -11, -20, 8, 5, 0 }, { 16, -10, -20, 8, 5, 0 }, { 16, -9, -20, 8, 5, 0 }, - { 16, -8, -21, 8, 6, 0 }, { 16, -7, -21, 8, 6, 0 }, { 16, -6, -22, 8, 6, 0 }, { 16, -5, -22, 8, 6, 0 }, { 16, -4, -23, 8, 6, 0 }, - { 16, -3, -23, 8, 6, 0 }, { 16, -2, -24, 8, 6, 0 }, { 16, -1, -24, 8, 6, 0 }, { 16, 0, -25, 8, 6, 0 }, { 16, 1, -25, 8, 6, 0 }, - { 16, 2, -26, 8, 6, 0 }, { 16, 3, -26, 8, 6, 0 }, { 16, 4, -27, 8, 6, 0 }, { 16, 5, -27, 8, 6, 0 }, { 16, 6, -28, 8, 6, 0 }, - { 16, 7, -28, 8, 6, 0 }, { 16, 8, -28, 8, 5, 0 }, { 16, 9, -29, 8, 5, 0 }, { 16, 10, -29, 8, 5, 0 }, { 16, 11, -29, 8, 5, 0 }, - { 16, 12, -30, 8, 5, 0 }, { 16, 13, -30, 8, 5, 0 }, { 16, 14, -30, 8, 5, 0 }, { 16, 15, -30, 8, 5, 0 }, { 16, 16, -31, 8, 5, 0 }, - { 16, 17, -31, 8, 5, 0 }, { 16, 18, -31, 8, 5, 0 }, { 16, 19, -31, 8, 5, 0 }, { 16, 20, -31, 8, 5, 0 }, { 16, 21, -31, 8, 5, 0 }, - { 16, 22, -32, 8, 0, 0 }, { 16, 23, -32, 8, 0, 0 }, { 16, 24, -32, 8, 0, 0 }, { 16, 25, -32, 8, 0, 0 }, { 16, 26, -32, 8, 0, 0 }, - { 16, 27, -32, 8, 0, 0 }, { 16, 28, -32, 8, 0, 0 }, { 16, 29, -32, 8, 0, 0 }, { 16, 30, -32, 8, 0, 0 }, { 16, 31, -32, 8, 0, 0 }, + 160, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, -1, 24, 0, 0 }, { 16, 22, -1, 24, 0, 0 }, + { 16, 21, -1, 24, 5, 0 }, { 16, 20, -1, 24, 5, 0 }, { 16, 19, -1, 24, 5, 0 }, { 16, 18, -1, 24, 5, 0 }, { 16, 17, -2, 24, 5, 0 }, + { 16, 16, -2, 24, 5, 0 }, { 16, 15, -2, 24, 5, 0 }, { 16, 14, -2, 24, 5, 0 }, { 16, 13, -3, 24, 5, 0 }, { 16, 12, -3, 24, 5, 0 }, + { 16, 11, -3, 24, 5, 0 }, { 16, 10, -4, 24, 5, 0 }, { 16, 9, -4, 24, 5, 0 }, { 16, 8, -4, 24, 5, 0 }, { 16, 7, -5, 24, 6, 0 }, + { 16, 6, -5, 24, 6, 0 }, { 16, 5, -6, 24, 6, 0 }, { 16, 4, -6, 24, 6, 0 }, { 16, 3, -7, 24, 6, 0 }, { 16, 2, -7, 24, 6, 0 }, + { 16, 1, -8, 24, 6, 0 }, { 16, 0, -8, 24, 6, 0 }, { 16, -1, -9, 24, 6, 0 }, { 16, -2, -9, 24, 6, 0 }, { 16, -3, -10, 24, 6, 0 }, + { 16, -4, -10, 24, 6, 0 }, { 16, -5, -11, 24, 6, 0 }, { 16, -6, -11, 24, 6, 0 }, { 16, -7, -12, 24, 6, 0 }, { 16, -8, -12, 24, 6, 0 }, + { 16, -9, -12, 24, 5, 0 }, { 16, -10, -13, 24, 5, 0 }, { 16, -11, -13, 24, 5, 0 }, { 16, -12, -13, 24, 5, 0 }, { 16, -13, -14, 24, 5, 0 }, + { 16, -14, -14, 24, 5, 0 }, { 16, -15, -14, 24, 5, 0 }, { 16, -16, -14, 24, 5, 0 }, { 16, -17, -15, 24, 5, 0 }, { 16, -18, -15, 24, 5, 0 }, + { 16, -19, -15, 24, 5, 0 }, { 16, -20, -15, 24, 5, 0 }, { 16, -21, -15, 24, 5, 0 }, { 16, -22, -15, 24, 5, 0 }, { 16, -23, -16, 24, 0, 0 }, + { 16, -24, -16, 24, 0, 0 }, { 16, -25, -16, 24, 0, 0 }, { 16, -26, -16, 24, 0, 0 }, { 16, -27, -16, 24, 0, 0 }, { 16, -28, -16, 24, 0, 0 }, + { 16, -29, -16, 24, 0, 0 }, { 16, -30, -16, 24, 0, 0 }, { 16, -31, -16, 24, 0, 0 }, { 16, -32, -16, 24, 0, 0 }, { 16, -33, -16, 24, 0, 0 }, + { 16, -34, -16, 24, 0, 0 }, { 16, -35, -16, 24, 0, 0 }, { 16, -36, -16, 24, 0, 0 }, { 16, -37, -16, 24, 0, 0 }, { 16, -38, -16, 24, 0, 0 }, + { 16, -39, -16, 24, 0, 0 }, { 16, -40, -16, 24, 0, 0 }, { 16, -41, -16, 24, 0, 0 }, { 16, -42, -16, 24, 0, 0 }, { 16, -43, -16, 24, 0, 0 }, + { 16, -44, -16, 24, 0, 0 }, { 16, -45, -16, 24, 0, 0 }, { 16, -46, -16, 24, 0, 0 }, { 16, -47, -16, 24, 0, 0 }, { 16, -48, -16, 24, 0, 0 }, + { 16, -48, -16, 8, 0, 0 }, { 16, -47, -16, 8, 0, 0 }, { 16, -46, -16, 8, 0, 0 }, { 16, -45, -16, 8, 0, 0 }, { 16, -44, -16, 8, 0, 0 }, + { 16, -43, -16, 8, 0, 0 }, { 16, -42, -16, 8, 0, 0 }, { 16, -41, -16, 8, 0, 0 }, { 16, -40, -16, 8, 0, 0 }, { 16, -39, -16, 8, 0, 0 }, + { 16, -38, -16, 8, 0, 0 }, { 16, -37, -16, 8, 0, 0 }, { 16, -36, -16, 8, 0, 0 }, { 16, -35, -16, 8, 0, 0 }, { 16, -34, -16, 8, 0, 0 }, + { 16, -33, -16, 8, 0, 0 }, { 16, -32, -16, 8, 0, 0 }, { 16, -31, -16, 8, 0, 0 }, { 16, -30, -16, 8, 0, 0 }, { 16, -29, -16, 8, 0, 0 }, + { 16, -28, -16, 8, 0, 0 }, { 16, -27, -16, 8, 0, 0 }, { 16, -26, -16, 8, 0, 0 }, { 16, -25, -16, 8, 0, 0 }, { 16, -24, -17, 8, 0, 0 }, + { 16, -23, -17, 8, 0, 0 }, { 16, -22, -17, 8, 5, 0 }, { 16, -21, -17, 8, 5, 0 }, { 16, -20, -17, 8, 5, 0 }, { 16, -19, -17, 8, 5, 0 }, + { 16, -18, -18, 8, 5, 0 }, { 16, -17, -18, 8, 5, 0 }, { 16, -16, -18, 8, 5, 0 }, { 16, -15, -18, 8, 5, 0 }, { 16, -14, -19, 8, 5, 0 }, + { 16, -13, -19, 8, 5, 0 }, { 16, -12, -19, 8, 5, 0 }, { 16, -11, -20, 8, 5, 0 }, { 16, -10, -20, 8, 5, 0 }, { 16, -9, -20, 8, 5, 0 }, + { 16, -8, -21, 8, 6, 0 }, { 16, -7, -21, 8, 6, 0 }, { 16, -6, -22, 8, 6, 0 }, { 16, -5, -22, 8, 6, 0 }, { 16, -4, -23, 8, 6, 0 }, + { 16, -3, -23, 8, 6, 0 }, { 16, -2, -24, 8, 6, 0 }, { 16, -1, -24, 8, 6, 0 }, { 16, 0, -25, 8, 6, 0 }, { 16, 1, -25, 8, 6, 0 }, + { 16, 2, -26, 8, 6, 0 }, { 16, 3, -26, 8, 6, 0 }, { 16, 4, -27, 8, 6, 0 }, { 16, 5, -27, 8, 6, 0 }, { 16, 6, -28, 8, 6, 0 }, + { 16, 7, -28, 8, 6, 0 }, { 16, 8, -28, 8, 5, 0 }, { 16, 9, -29, 8, 5, 0 }, { 16, 10, -29, 8, 5, 0 }, { 16, 11, -29, 8, 5, 0 }, + { 16, 12, -30, 8, 5, 0 }, { 16, 13, -30, 8, 5, 0 }, { 16, 14, -30, 8, 5, 0 }, { 16, 15, -30, 8, 5, 0 }, { 16, 16, -31, 8, 5, 0 }, + { 16, 17, -31, 8, 5, 0 }, { 16, 18, -31, 8, 5, 0 }, { 16, 19, -31, 8, 5, 0 }, { 16, 20, -31, 8, 5, 0 }, { 16, 21, -31, 8, 5, 0 }, + { 16, 22, -32, 8, 0, 0 }, { 16, 23, -32, 8, 0, 0 }, { 16, 24, -32, 8, 0, 0 }, { 16, 25, -32, 8, 0, 0 }, { 16, 26, -32, 8, 0, 0 }, + { 16, 27, -32, 8, 0, 0 }, { 16, 28, -32, 8, 0, 0 }, { 16, 29, -32, 8, 0, 0 }, { 16, 30, -32, 8, 0, 0 }, { 16, 31, -32, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_92FE62 = { - 192, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 1 }, { 25, 16, 0, 0, 0, 1 }, { 24, 16, 0, 0, 0, 1 }, { 23, 16, 0, 0, 0, 1 }, { 22, 16, 0, 0, 0, 1 }, - { 21, 16, 0, 0, 0, 1 }, { 20, 16, 0, 0, 0, 1 }, { 19, 16, 0, 0, 0, 1 }, { 18, 16, 0, 0, 0, 1 }, { 17, 16, 0, 0, 0, 1 }, - { 16, 16, 0, 0, 0, 1 }, { 15, 16, 0, 0, 0, 1 }, { 14, 16, 0, 0, 0, 2 }, { 13, 16, 0, 0, 0, 2 }, { 12, 16, 0, 0, 0, 2 }, - { 11, 16, 0, 0, 0, 2 }, { 10, 16, 0, 0, 0, 2 }, { 9, 16, 0, 0, 0, 2 }, { 8, 16, 0, 0, 0, 2 }, { 7, 16, 0, 0, 0, 2 }, - { 6, 16, 0, 0, 0, 2 }, { 5, 16, 0, 0, 0, 2 }, { 4, 16, 0, 0, 0, 2 }, { 3, 16, 0, 0, 0, 2 }, { 2, 16, 0, 0, 0, 5 }, - { 1, 16, 0, 0, 0, 5 }, { 0, 16, 0, 0, 0, 5 }, { -1, 16, 0, 0, 0, 5 }, { -2, 16, 0, 0, 0, 5 }, { -3, 16, 0, 0, 0, 5 }, - { -4, 16, 0, 0, 0, 5 }, { -5, 16, 0, 0, 0, 5 }, { -6, 16, 0, 0, 0, 5 }, { -7, 16, 0, 0, 0, 5 }, { -8, 16, 0, 0, 0, 5 }, - { -9, 16, 0, 0, 0, 5 }, { -10, 16, 0, 0, 0, 6 }, { -11, 16, 0, 0, 0, 6 }, { -12, 16, 0, 0, 0, 6 }, { -13, 16, 0, 0, 0, 6 }, - { -14, 16, 0, 0, 0, 6 }, { -15, 16, 0, 0, 0, 6 }, { -16, 16, 0, 0, 0, 6 }, { -17, 16, 0, 0, 0, 6 }, { -18, 16, 0, 0, 0, 6 }, - { -19, 16, 0, 0, 0, 6 }, { -20, 16, 0, 0, 0, 6 }, { -21, 16, 0, 0, 0, 6 }, { -22, 16, 0, 0, 0, 7 }, { -23, 16, 0, 0, 0, 7 }, - { -24, 16, 0, 0, 0, 7 }, { -25, 16, 0, 0, 0, 7 }, { -26, 16, 0, 0, 0, 7 }, { -27, 16, 0, 0, 0, 7 }, { -28, 16, 0, 0, 0, 7 }, - { -29, 16, 0, 0, 0, 7 }, { -30, 16, 0, 0, 0, 7 }, { -31, 16, 0, 0, 0, 7 }, { -32, 16, 0, 0, 0, 7 }, { -33, 16, 0, 0, 0, 7 }, - { -34, 16, 0, 0, 0, 8 }, { -35, 16, 0, 0, 0, 8 }, { -36, 16, 0, 0, 0, 8 }, { -37, 16, 0, 0, 0, 8 }, { -38, 16, 0, 0, 0, 8 }, - { -39, 16, 0, 0, 0, 8 }, { -40, 16, 0, 0, 0, 8 }, { -41, 16, 0, 0, 0, 8 }, { -42, 16, 0, 0, 0, 8 }, { -43, 16, 0, 0, 0, 8 }, - { -44, 16, 0, 0, 0, 8 }, { -45, 16, 0, 0, 0, 8 }, { -46, 16, 0, 0, 0, 9 }, { -47, 16, 0, 0, 0, 9 }, { -48, 16, 0, 0, 0, 9 }, - { -49, 16, 0, 0, 0, 9 }, { -50, 16, 0, 0, 0, 9 }, { -51, 16, 0, 0, 0, 9 }, { -52, 16, 0, 0, 0, 9 }, { -53, 16, 0, 0, 0, 9 }, - { -54, 16, 0, 0, 0, 9 }, { -55, 16, 0, 0, 0, 9 }, { -56, 16, 0, 0, 0, 9 }, { -57, 16, 0, 0, 0, 9 }, { -58, 16, 0, 16, 16, 0 }, - { -59, 16, 0, 16, 16, 0 }, { -60, 16, 0, 16, 16, 0 }, { -61, 16, 0, 16, 16, 0 }, { -62, 16, 0, 16, 16, 0 }, { -63, 16, 0, 16, 16, 0 }, - { -64, 16, 0, 16, 16, 0 }, { -65, 16, 0, 16, 16, 0 }, { -66, 16, 0, 16, 16, 0 }, { -67, 16, 0, 16, 16, 0 }, { -68, 16, 0, 16, 16, 0 }, - { -69, 16, 0, 16, 16, 0 }, { -70, 16, 0, 0, 0, 14 }, { -71, 16, 0, 0, 0, 14 }, { -72, 16, 0, 0, 0, 14 }, { -73, 16, 0, 0, 0, 14 }, - { -74, 16, 0, 0, 0, 14 }, { -75, 16, 0, 0, 0, 14 }, { -76, 16, 0, 0, 0, 14 }, { -77, 16, 0, 0, 0, 14 }, { -78, 16, 0, 0, 0, 14 }, - { -79, 16, 0, 0, 0, 14 }, { -80, 16, 0, 0, 0, 14 }, { -81, 16, 0, 0, 0, 14 }, { -82, 16, 0, 0, 0, 13 }, { -83, 16, 0, 0, 0, 13 }, - { -84, 16, 0, 0, 0, 13 }, { -85, 16, 0, 0, 0, 13 }, { -86, 16, 0, 0, 0, 13 }, { -87, 16, 0, 0, 0, 13 }, { -88, 16, 0, 0, 0, 13 }, - { -89, 16, 0, 0, 0, 13 }, { -90, 16, 0, 0, 0, 13 }, { -91, 16, 0, 0, 0, 13 }, { -92, 16, 0, 0, 0, 13 }, { -93, 16, 0, 0, 0, 13 }, - { -94, 16, 0, 0, 0, 12 }, { -95, 16, 0, 0, 0, 12 }, { -96, 16, 0, 0, 0, 12 }, { -97, 16, 0, 0, 0, 12 }, { -98, 16, 0, 0, 0, 12 }, - { -99, 16, 0, 0, 0, 12 }, { -100, 16, 0, 0, 0, 12 }, { -101, 16, 0, 0, 0, 12 }, { -102, 16, 0, 0, 0, 12 }, { -103, 16, 0, 0, 0, 12 }, - { -104, 16, 0, 0, 0, 12 }, { -105, 16, 0, 0, 0, 12 }, { -106, 16, 0, 0, 0, 11 }, { -107, 16, 0, 0, 0, 11 }, { -108, 16, 0, 0, 0, 11 }, - { -109, 16, 0, 0, 0, 11 }, { -110, 16, 0, 0, 0, 11 }, { -111, 16, 0, 0, 0, 11 }, { -112, 16, 0, 0, 0, 11 }, { -113, 16, 0, 0, 0, 11 }, - { -114, 16, 0, 0, 0, 11 }, { -115, 16, 0, 0, 0, 11 }, { -116, 16, 0, 0, 0, 11 }, { -117, 16, 0, 0, 0, 11 }, { -118, 16, 0, 0, 0, 10 }, - { -119, 16, 0, 0, 0, 10 }, { -120, 16, 0, 0, 0, 10 }, { -121, 16, 0, 0, 0, 10 }, { -122, 16, 0, 0, 0, 10 }, { -123, 16, 0, 0, 0, 10 }, - { -124, 16, 0, 0, 0, 10 }, { -125, 16, 0, 0, 0, 10 }, { -126, 16, 0, 0, 0, 10 }, { -127, 16, 0, 0, 0, 10 }, { -128, 16, 0, 0, 0, 10 }, - { -129, 16, 0, 0, 0, 10 }, { -130, 16, 0, 0, 0, 4 }, { -131, 16, 0, 0, 0, 4 }, { -132, 16, 0, 0, 0, 4 }, { -133, 16, 0, 0, 0, 4 }, - { -134, 16, 0, 0, 0, 4 }, { -135, 16, 0, 0, 0, 4 }, { -136, 16, 0, 0, 0, 4 }, { -137, 16, 0, 0, 0, 4 }, { -138, 16, 0, 0, 0, 4 }, - { -139, 16, 0, 0, 0, 4 }, { -140, 16, 0, 0, 0, 4 }, { -141, 16, 0, 0, 0, 4 }, { -142, 16, 0, 0, 0, 3 }, { -143, 16, 0, 0, 0, 3 }, - { -144, 16, 0, 0, 0, 3 }, { -145, 16, 0, 0, 0, 3 }, { -146, 16, 0, 0, 0, 3 }, { -147, 16, 0, 0, 0, 3 }, { -148, 16, 0, 0, 0, 3 }, - { -149, 16, 0, 0, 0, 3 }, { -150, 16, 0, 0, 0, 3 }, { -151, 16, 0, 0, 0, 3 }, { -152, 16, 0, 0, 0, 3 }, { -153, 16, 0, 0, 0, 3 }, - { -154, 16, 0, 0, 0, 0 }, { -155, 16, 0, 0, 0, 0 }, { -156, 16, 0, 0, 0, 0 }, { -157, 16, 0, 0, 0, 0 }, { -158, 16, 0, 0, 0, 0 }, - { -159, 16, 0, 0, 0, 0 }, { -160, 16, 0, 0, 0, 0 }, + 192, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 1 }, { 25, 16, 0, 0, 0, 1 }, { 24, 16, 0, 0, 0, 1 }, { 23, 16, 0, 0, 0, 1 }, { 22, 16, 0, 0, 0, 1 }, + { 21, 16, 0, 0, 0, 1 }, { 20, 16, 0, 0, 0, 1 }, { 19, 16, 0, 0, 0, 1 }, { 18, 16, 0, 0, 0, 1 }, { 17, 16, 0, 0, 0, 1 }, + { 16, 16, 0, 0, 0, 1 }, { 15, 16, 0, 0, 0, 1 }, { 14, 16, 0, 0, 0, 2 }, { 13, 16, 0, 0, 0, 2 }, { 12, 16, 0, 0, 0, 2 }, + { 11, 16, 0, 0, 0, 2 }, { 10, 16, 0, 0, 0, 2 }, { 9, 16, 0, 0, 0, 2 }, { 8, 16, 0, 0, 0, 2 }, { 7, 16, 0, 0, 0, 2 }, + { 6, 16, 0, 0, 0, 2 }, { 5, 16, 0, 0, 0, 2 }, { 4, 16, 0, 0, 0, 2 }, { 3, 16, 0, 0, 0, 2 }, { 2, 16, 0, 0, 0, 5 }, + { 1, 16, 0, 0, 0, 5 }, { 0, 16, 0, 0, 0, 5 }, { -1, 16, 0, 0, 0, 5 }, { -2, 16, 0, 0, 0, 5 }, { -3, 16, 0, 0, 0, 5 }, + { -4, 16, 0, 0, 0, 5 }, { -5, 16, 0, 0, 0, 5 }, { -6, 16, 0, 0, 0, 5 }, { -7, 16, 0, 0, 0, 5 }, { -8, 16, 0, 0, 0, 5 }, + { -9, 16, 0, 0, 0, 5 }, { -10, 16, 0, 0, 0, 6 }, { -11, 16, 0, 0, 0, 6 }, { -12, 16, 0, 0, 0, 6 }, { -13, 16, 0, 0, 0, 6 }, + { -14, 16, 0, 0, 0, 6 }, { -15, 16, 0, 0, 0, 6 }, { -16, 16, 0, 0, 0, 6 }, { -17, 16, 0, 0, 0, 6 }, { -18, 16, 0, 0, 0, 6 }, + { -19, 16, 0, 0, 0, 6 }, { -20, 16, 0, 0, 0, 6 }, { -21, 16, 0, 0, 0, 6 }, { -22, 16, 0, 0, 0, 7 }, { -23, 16, 0, 0, 0, 7 }, + { -24, 16, 0, 0, 0, 7 }, { -25, 16, 0, 0, 0, 7 }, { -26, 16, 0, 0, 0, 7 }, { -27, 16, 0, 0, 0, 7 }, { -28, 16, 0, 0, 0, 7 }, + { -29, 16, 0, 0, 0, 7 }, { -30, 16, 0, 0, 0, 7 }, { -31, 16, 0, 0, 0, 7 }, { -32, 16, 0, 0, 0, 7 }, { -33, 16, 0, 0, 0, 7 }, + { -34, 16, 0, 0, 0, 8 }, { -35, 16, 0, 0, 0, 8 }, { -36, 16, 0, 0, 0, 8 }, { -37, 16, 0, 0, 0, 8 }, { -38, 16, 0, 0, 0, 8 }, + { -39, 16, 0, 0, 0, 8 }, { -40, 16, 0, 0, 0, 8 }, { -41, 16, 0, 0, 0, 8 }, { -42, 16, 0, 0, 0, 8 }, { -43, 16, 0, 0, 0, 8 }, + { -44, 16, 0, 0, 0, 8 }, { -45, 16, 0, 0, 0, 8 }, { -46, 16, 0, 0, 0, 9 }, { -47, 16, 0, 0, 0, 9 }, { -48, 16, 0, 0, 0, 9 }, + { -49, 16, 0, 0, 0, 9 }, { -50, 16, 0, 0, 0, 9 }, { -51, 16, 0, 0, 0, 9 }, { -52, 16, 0, 0, 0, 9 }, { -53, 16, 0, 0, 0, 9 }, + { -54, 16, 0, 0, 0, 9 }, { -55, 16, 0, 0, 0, 9 }, { -56, 16, 0, 0, 0, 9 }, { -57, 16, 0, 0, 0, 9 }, { -58, 16, 0, 16, 16, 0 }, + { -59, 16, 0, 16, 16, 0 }, { -60, 16, 0, 16, 16, 0 }, { -61, 16, 0, 16, 16, 0 }, { -62, 16, 0, 16, 16, 0 }, { -63, 16, 0, 16, 16, 0 }, + { -64, 16, 0, 16, 16, 0 }, { -65, 16, 0, 16, 16, 0 }, { -66, 16, 0, 16, 16, 0 }, { -67, 16, 0, 16, 16, 0 }, { -68, 16, 0, 16, 16, 0 }, + { -69, 16, 0, 16, 16, 0 }, { -70, 16, 0, 0, 0, 14 }, { -71, 16, 0, 0, 0, 14 }, { -72, 16, 0, 0, 0, 14 }, { -73, 16, 0, 0, 0, 14 }, + { -74, 16, 0, 0, 0, 14 }, { -75, 16, 0, 0, 0, 14 }, { -76, 16, 0, 0, 0, 14 }, { -77, 16, 0, 0, 0, 14 }, { -78, 16, 0, 0, 0, 14 }, + { -79, 16, 0, 0, 0, 14 }, { -80, 16, 0, 0, 0, 14 }, { -81, 16, 0, 0, 0, 14 }, { -82, 16, 0, 0, 0, 13 }, { -83, 16, 0, 0, 0, 13 }, + { -84, 16, 0, 0, 0, 13 }, { -85, 16, 0, 0, 0, 13 }, { -86, 16, 0, 0, 0, 13 }, { -87, 16, 0, 0, 0, 13 }, { -88, 16, 0, 0, 0, 13 }, + { -89, 16, 0, 0, 0, 13 }, { -90, 16, 0, 0, 0, 13 }, { -91, 16, 0, 0, 0, 13 }, { -92, 16, 0, 0, 0, 13 }, { -93, 16, 0, 0, 0, 13 }, + { -94, 16, 0, 0, 0, 12 }, { -95, 16, 0, 0, 0, 12 }, { -96, 16, 0, 0, 0, 12 }, { -97, 16, 0, 0, 0, 12 }, { -98, 16, 0, 0, 0, 12 }, + { -99, 16, 0, 0, 0, 12 }, { -100, 16, 0, 0, 0, 12 }, { -101, 16, 0, 0, 0, 12 }, { -102, 16, 0, 0, 0, 12 }, { -103, 16, 0, 0, 0, 12 }, + { -104, 16, 0, 0, 0, 12 }, { -105, 16, 0, 0, 0, 12 }, { -106, 16, 0, 0, 0, 11 }, { -107, 16, 0, 0, 0, 11 }, { -108, 16, 0, 0, 0, 11 }, + { -109, 16, 0, 0, 0, 11 }, { -110, 16, 0, 0, 0, 11 }, { -111, 16, 0, 0, 0, 11 }, { -112, 16, 0, 0, 0, 11 }, { -113, 16, 0, 0, 0, 11 }, + { -114, 16, 0, 0, 0, 11 }, { -115, 16, 0, 0, 0, 11 }, { -116, 16, 0, 0, 0, 11 }, { -117, 16, 0, 0, 0, 11 }, { -118, 16, 0, 0, 0, 10 }, + { -119, 16, 0, 0, 0, 10 }, { -120, 16, 0, 0, 0, 10 }, { -121, 16, 0, 0, 0, 10 }, { -122, 16, 0, 0, 0, 10 }, { -123, 16, 0, 0, 0, 10 }, + { -124, 16, 0, 0, 0, 10 }, { -125, 16, 0, 0, 0, 10 }, { -126, 16, 0, 0, 0, 10 }, { -127, 16, 0, 0, 0, 10 }, { -128, 16, 0, 0, 0, 10 }, + { -129, 16, 0, 0, 0, 10 }, { -130, 16, 0, 0, 0, 4 }, { -131, 16, 0, 0, 0, 4 }, { -132, 16, 0, 0, 0, 4 }, { -133, 16, 0, 0, 0, 4 }, + { -134, 16, 0, 0, 0, 4 }, { -135, 16, 0, 0, 0, 4 }, { -136, 16, 0, 0, 0, 4 }, { -137, 16, 0, 0, 0, 4 }, { -138, 16, 0, 0, 0, 4 }, + { -139, 16, 0, 0, 0, 4 }, { -140, 16, 0, 0, 0, 4 }, { -141, 16, 0, 0, 0, 4 }, { -142, 16, 0, 0, 0, 3 }, { -143, 16, 0, 0, 0, 3 }, + { -144, 16, 0, 0, 0, 3 }, { -145, 16, 0, 0, 0, 3 }, { -146, 16, 0, 0, 0, 3 }, { -147, 16, 0, 0, 0, 3 }, { -148, 16, 0, 0, 0, 3 }, + { -149, 16, 0, 0, 0, 3 }, { -150, 16, 0, 0, 0, 3 }, { -151, 16, 0, 0, 0, 3 }, { -152, 16, 0, 0, 0, 3 }, { -153, 16, 0, 0, 0, 3 }, + { -154, 16, 0, 0, 0, 0 }, { -155, 16, 0, 0, 0, 0 }, { -156, 16, 0, 0, 0, 0 }, { -157, 16, 0, 0, 0, 0 }, { -158, 16, 0, 0, 0, 0 }, + { -159, 16, 0, 0, 0, 0 }, { -160, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_930524 = { - 192, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 1 }, { 16, 6, 0, 8, 0, 1 }, { 16, 7, 0, 8, 0, 1 }, { 16, 8, 0, 8, 0, 1 }, { 16, 9, 0, 8, 0, 1 }, - { 16, 10, 0, 8, 0, 1 }, { 16, 11, 0, 8, 0, 1 }, { 16, 12, 0, 8, 0, 1 }, { 16, 13, 0, 8, 0, 1 }, { 16, 14, 0, 8, 0, 1 }, - { 16, 15, 0, 8, 0, 1 }, { 16, 16, 0, 8, 0, 1 }, { 16, 17, 0, 8, 0, 2 }, { 16, 18, 0, 8, 0, 2 }, { 16, 19, 0, 8, 0, 2 }, - { 16, 20, 0, 8, 0, 2 }, { 16, 21, 0, 8, 0, 2 }, { 16, 22, 0, 8, 0, 2 }, { 16, 23, 0, 8, 0, 2 }, { 16, 24, 0, 8, 0, 2 }, - { 16, 25, 0, 8, 0, 2 }, { 16, 26, 0, 8, 0, 2 }, { 16, 27, 0, 8, 0, 2 }, { 16, 28, 0, 8, 0, 2 }, { 16, 29, 0, 8, 0, 5 }, - { 16, 30, 0, 8, 0, 5 }, { 16, 31, 0, 8, 0, 5 }, { 16, 32, 0, 8, 0, 5 }, { 16, 33, 0, 8, 0, 5 }, { 16, 34, 0, 8, 0, 5 }, - { 16, 35, 0, 8, 0, 5 }, { 16, 36, 0, 8, 0, 5 }, { 16, 37, 0, 8, 0, 5 }, { 16, 38, 0, 8, 0, 5 }, { 16, 39, 0, 8, 0, 5 }, - { 16, 40, 0, 8, 0, 5 }, { 16, 41, 0, 8, 0, 6 }, { 16, 42, 0, 8, 0, 6 }, { 16, 43, 0, 8, 0, 6 }, { 16, 44, 0, 8, 0, 6 }, - { 16, 45, 0, 8, 0, 6 }, { 16, 46, 0, 8, 0, 6 }, { 16, 47, 0, 8, 0, 6 }, { 16, 48, 0, 8, 0, 6 }, { 16, 49, 0, 8, 0, 6 }, - { 16, 50, 0, 8, 0, 6 }, { 16, 51, 0, 8, 0, 6 }, { 16, 52, 0, 8, 0, 6 }, { 16, 53, 0, 8, 0, 7 }, { 16, 54, 0, 8, 0, 7 }, - { 16, 55, 0, 8, 0, 7 }, { 16, 56, 0, 8, 0, 7 }, { 16, 57, 0, 8, 0, 7 }, { 16, 58, 0, 8, 0, 7 }, { 16, 59, 0, 8, 0, 7 }, - { 16, 60, 0, 8, 0, 7 }, { 16, 61, 0, 8, 0, 7 }, { 16, 62, 0, 8, 0, 7 }, { 16, 63, 0, 8, 0, 7 }, { 16, 64, 0, 8, 0, 7 }, - { 16, 65, 0, 8, 0, 8 }, { 16, 66, 0, 8, 0, 8 }, { 16, 67, 0, 8, 0, 8 }, { 16, 68, 0, 8, 0, 8 }, { 16, 69, 0, 8, 0, 8 }, - { 16, 70, 0, 8, 0, 8 }, { 16, 71, 0, 8, 0, 8 }, { 16, 72, 0, 8, 0, 8 }, { 16, 73, 0, 8, 0, 8 }, { 16, 74, 0, 8, 0, 8 }, - { 16, 75, 0, 8, 0, 8 }, { 16, 76, 0, 8, 0, 8 }, { 16, 77, 0, 8, 0, 9 }, { 16, 78, 0, 8, 0, 9 }, { 16, 79, 0, 8, 0, 9 }, - { 16, 80, 0, 8, 0, 9 }, { 16, 81, 0, 8, 0, 9 }, { 16, 82, 0, 8, 0, 9 }, { 16, 83, 0, 8, 0, 9 }, { 16, 84, 0, 8, 0, 9 }, - { 16, 85, 0, 8, 0, 9 }, { 16, 86, 0, 8, 0, 9 }, { 16, 87, 0, 8, 0, 9 }, { 16, 88, 0, 8, 0, 9 }, { 16, 89, 0, 24, 16, 0 }, - { 16, 90, 0, 24, 16, 0 }, { 16, 91, 0, 24, 16, 0 }, { 16, 92, 0, 24, 16, 0 }, { 16, 93, 0, 24, 16, 0 }, { 16, 94, 0, 24, 16, 0 }, - { 16, 95, 0, 24, 16, 0 }, { 16, 96, 0, 24, 16, 0 }, { 16, 97, 0, 24, 16, 0 }, { 16, 98, 0, 24, 16, 0 }, { 16, 99, 0, 24, 16, 0 }, - { 16, 100, 0, 24, 16, 0 }, { 16, 101, 0, 8, 0, 14 }, { 16, 102, 0, 8, 0, 14 }, { 16, 103, 0, 8, 0, 14 }, { 16, 104, 0, 8, 0, 14 }, - { 16, 105, 0, 8, 0, 14 }, { 16, 106, 0, 8, 0, 14 }, { 16, 107, 0, 8, 0, 14 }, { 16, 108, 0, 8, 0, 14 }, { 16, 109, 0, 8, 0, 14 }, - { 16, 110, 0, 8, 0, 14 }, { 16, 111, 0, 8, 0, 14 }, { 16, 112, 0, 8, 0, 14 }, { 16, 113, 0, 8, 0, 13 }, { 16, 114, 0, 8, 0, 13 }, - { 16, 115, 0, 8, 0, 13 }, { 16, 116, 0, 8, 0, 13 }, { 16, 117, 0, 8, 0, 13 }, { 16, 118, 0, 8, 0, 13 }, { 16, 119, 0, 8, 0, 13 }, - { 16, 120, 0, 8, 0, 13 }, { 16, 121, 0, 8, 0, 13 }, { 16, 122, 0, 8, 0, 13 }, { 16, 123, 0, 8, 0, 13 }, { 16, 124, 0, 8, 0, 13 }, - { 16, 125, 0, 8, 0, 12 }, { 16, 126, 0, 8, 0, 12 }, { 16, 127, 0, 8, 0, 12 }, { 16, 128, 0, 8, 0, 12 }, { 16, 129, 0, 8, 0, 12 }, - { 16, 130, 0, 8, 0, 12 }, { 16, 131, 0, 8, 0, 12 }, { 16, 132, 0, 8, 0, 12 }, { 16, 133, 0, 8, 0, 12 }, { 16, 134, 0, 8, 0, 12 }, - { 16, 135, 0, 8, 0, 12 }, { 16, 136, 0, 8, 0, 12 }, { 16, 137, 0, 8, 0, 11 }, { 16, 138, 0, 8, 0, 11 }, { 16, 139, 0, 8, 0, 11 }, - { 16, 140, 0, 8, 0, 11 }, { 16, 141, 0, 8, 0, 11 }, { 16, 142, 0, 8, 0, 11 }, { 16, 143, 0, 8, 0, 11 }, { 16, 144, 0, 8, 0, 11 }, - { 16, 145, 0, 8, 0, 11 }, { 16, 146, 0, 8, 0, 11 }, { 16, 147, 0, 8, 0, 11 }, { 16, 148, 0, 8, 0, 11 }, { 16, 149, 0, 8, 0, 10 }, - { 16, 150, 0, 8, 0, 10 }, { 16, 151, 0, 8, 0, 10 }, { 16, 152, 0, 8, 0, 10 }, { 16, 153, 0, 8, 0, 10 }, { 16, 154, 0, 8, 0, 10 }, - { 16, 155, 0, 8, 0, 10 }, { 16, 156, 0, 8, 0, 10 }, { 16, 157, 0, 8, 0, 10 }, { 16, 158, 0, 8, 0, 10 }, { 16, 159, 0, 8, 0, 10 }, - { 16, 160, 0, 8, 0, 10 }, { 16, 161, 0, 8, 0, 4 }, { 16, 162, 0, 8, 0, 4 }, { 16, 163, 0, 8, 0, 4 }, { 16, 164, 0, 8, 0, 4 }, - { 16, 165, 0, 8, 0, 4 }, { 16, 166, 0, 8, 0, 4 }, { 16, 167, 0, 8, 0, 4 }, { 16, 168, 0, 8, 0, 4 }, { 16, 169, 0, 8, 0, 4 }, - { 16, 170, 0, 8, 0, 4 }, { 16, 171, 0, 8, 0, 4 }, { 16, 172, 0, 8, 0, 4 }, { 16, 173, 0, 8, 0, 3 }, { 16, 174, 0, 8, 0, 3 }, - { 16, 175, 0, 8, 0, 3 }, { 16, 176, 0, 8, 0, 3 }, { 16, 177, 0, 8, 0, 3 }, { 16, 178, 0, 8, 0, 3 }, { 16, 179, 0, 8, 0, 3 }, - { 16, 180, 0, 8, 0, 3 }, { 16, 181, 0, 8, 0, 3 }, { 16, 182, 0, 8, 0, 3 }, { 16, 183, 0, 8, 0, 3 }, { 16, 184, 0, 8, 0, 3 }, - { 16, 185, 0, 8, 0, 0 }, { 16, 186, 0, 8, 0, 0 }, { 16, 187, 0, 8, 0, 0 }, { 16, 188, 0, 8, 0, 0 }, { 16, 189, 0, 8, 0, 0 }, - { 16, 190, 0, 8, 0, 0 }, { 16, 191, 0, 8, 0, 0 }, + 192, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 1 }, { 16, 6, 0, 8, 0, 1 }, { 16, 7, 0, 8, 0, 1 }, { 16, 8, 0, 8, 0, 1 }, { 16, 9, 0, 8, 0, 1 }, + { 16, 10, 0, 8, 0, 1 }, { 16, 11, 0, 8, 0, 1 }, { 16, 12, 0, 8, 0, 1 }, { 16, 13, 0, 8, 0, 1 }, { 16, 14, 0, 8, 0, 1 }, + { 16, 15, 0, 8, 0, 1 }, { 16, 16, 0, 8, 0, 1 }, { 16, 17, 0, 8, 0, 2 }, { 16, 18, 0, 8, 0, 2 }, { 16, 19, 0, 8, 0, 2 }, + { 16, 20, 0, 8, 0, 2 }, { 16, 21, 0, 8, 0, 2 }, { 16, 22, 0, 8, 0, 2 }, { 16, 23, 0, 8, 0, 2 }, { 16, 24, 0, 8, 0, 2 }, + { 16, 25, 0, 8, 0, 2 }, { 16, 26, 0, 8, 0, 2 }, { 16, 27, 0, 8, 0, 2 }, { 16, 28, 0, 8, 0, 2 }, { 16, 29, 0, 8, 0, 5 }, + { 16, 30, 0, 8, 0, 5 }, { 16, 31, 0, 8, 0, 5 }, { 16, 32, 0, 8, 0, 5 }, { 16, 33, 0, 8, 0, 5 }, { 16, 34, 0, 8, 0, 5 }, + { 16, 35, 0, 8, 0, 5 }, { 16, 36, 0, 8, 0, 5 }, { 16, 37, 0, 8, 0, 5 }, { 16, 38, 0, 8, 0, 5 }, { 16, 39, 0, 8, 0, 5 }, + { 16, 40, 0, 8, 0, 5 }, { 16, 41, 0, 8, 0, 6 }, { 16, 42, 0, 8, 0, 6 }, { 16, 43, 0, 8, 0, 6 }, { 16, 44, 0, 8, 0, 6 }, + { 16, 45, 0, 8, 0, 6 }, { 16, 46, 0, 8, 0, 6 }, { 16, 47, 0, 8, 0, 6 }, { 16, 48, 0, 8, 0, 6 }, { 16, 49, 0, 8, 0, 6 }, + { 16, 50, 0, 8, 0, 6 }, { 16, 51, 0, 8, 0, 6 }, { 16, 52, 0, 8, 0, 6 }, { 16, 53, 0, 8, 0, 7 }, { 16, 54, 0, 8, 0, 7 }, + { 16, 55, 0, 8, 0, 7 }, { 16, 56, 0, 8, 0, 7 }, { 16, 57, 0, 8, 0, 7 }, { 16, 58, 0, 8, 0, 7 }, { 16, 59, 0, 8, 0, 7 }, + { 16, 60, 0, 8, 0, 7 }, { 16, 61, 0, 8, 0, 7 }, { 16, 62, 0, 8, 0, 7 }, { 16, 63, 0, 8, 0, 7 }, { 16, 64, 0, 8, 0, 7 }, + { 16, 65, 0, 8, 0, 8 }, { 16, 66, 0, 8, 0, 8 }, { 16, 67, 0, 8, 0, 8 }, { 16, 68, 0, 8, 0, 8 }, { 16, 69, 0, 8, 0, 8 }, + { 16, 70, 0, 8, 0, 8 }, { 16, 71, 0, 8, 0, 8 }, { 16, 72, 0, 8, 0, 8 }, { 16, 73, 0, 8, 0, 8 }, { 16, 74, 0, 8, 0, 8 }, + { 16, 75, 0, 8, 0, 8 }, { 16, 76, 0, 8, 0, 8 }, { 16, 77, 0, 8, 0, 9 }, { 16, 78, 0, 8, 0, 9 }, { 16, 79, 0, 8, 0, 9 }, + { 16, 80, 0, 8, 0, 9 }, { 16, 81, 0, 8, 0, 9 }, { 16, 82, 0, 8, 0, 9 }, { 16, 83, 0, 8, 0, 9 }, { 16, 84, 0, 8, 0, 9 }, + { 16, 85, 0, 8, 0, 9 }, { 16, 86, 0, 8, 0, 9 }, { 16, 87, 0, 8, 0, 9 }, { 16, 88, 0, 8, 0, 9 }, { 16, 89, 0, 24, 16, 0 }, + { 16, 90, 0, 24, 16, 0 }, { 16, 91, 0, 24, 16, 0 }, { 16, 92, 0, 24, 16, 0 }, { 16, 93, 0, 24, 16, 0 }, { 16, 94, 0, 24, 16, 0 }, + { 16, 95, 0, 24, 16, 0 }, { 16, 96, 0, 24, 16, 0 }, { 16, 97, 0, 24, 16, 0 }, { 16, 98, 0, 24, 16, 0 }, { 16, 99, 0, 24, 16, 0 }, + { 16, 100, 0, 24, 16, 0 }, { 16, 101, 0, 8, 0, 14 }, { 16, 102, 0, 8, 0, 14 }, { 16, 103, 0, 8, 0, 14 }, { 16, 104, 0, 8, 0, 14 }, + { 16, 105, 0, 8, 0, 14 }, { 16, 106, 0, 8, 0, 14 }, { 16, 107, 0, 8, 0, 14 }, { 16, 108, 0, 8, 0, 14 }, { 16, 109, 0, 8, 0, 14 }, + { 16, 110, 0, 8, 0, 14 }, { 16, 111, 0, 8, 0, 14 }, { 16, 112, 0, 8, 0, 14 }, { 16, 113, 0, 8, 0, 13 }, { 16, 114, 0, 8, 0, 13 }, + { 16, 115, 0, 8, 0, 13 }, { 16, 116, 0, 8, 0, 13 }, { 16, 117, 0, 8, 0, 13 }, { 16, 118, 0, 8, 0, 13 }, { 16, 119, 0, 8, 0, 13 }, + { 16, 120, 0, 8, 0, 13 }, { 16, 121, 0, 8, 0, 13 }, { 16, 122, 0, 8, 0, 13 }, { 16, 123, 0, 8, 0, 13 }, { 16, 124, 0, 8, 0, 13 }, + { 16, 125, 0, 8, 0, 12 }, { 16, 126, 0, 8, 0, 12 }, { 16, 127, 0, 8, 0, 12 }, { 16, 128, 0, 8, 0, 12 }, { 16, 129, 0, 8, 0, 12 }, + { 16, 130, 0, 8, 0, 12 }, { 16, 131, 0, 8, 0, 12 }, { 16, 132, 0, 8, 0, 12 }, { 16, 133, 0, 8, 0, 12 }, { 16, 134, 0, 8, 0, 12 }, + { 16, 135, 0, 8, 0, 12 }, { 16, 136, 0, 8, 0, 12 }, { 16, 137, 0, 8, 0, 11 }, { 16, 138, 0, 8, 0, 11 }, { 16, 139, 0, 8, 0, 11 }, + { 16, 140, 0, 8, 0, 11 }, { 16, 141, 0, 8, 0, 11 }, { 16, 142, 0, 8, 0, 11 }, { 16, 143, 0, 8, 0, 11 }, { 16, 144, 0, 8, 0, 11 }, + { 16, 145, 0, 8, 0, 11 }, { 16, 146, 0, 8, 0, 11 }, { 16, 147, 0, 8, 0, 11 }, { 16, 148, 0, 8, 0, 11 }, { 16, 149, 0, 8, 0, 10 }, + { 16, 150, 0, 8, 0, 10 }, { 16, 151, 0, 8, 0, 10 }, { 16, 152, 0, 8, 0, 10 }, { 16, 153, 0, 8, 0, 10 }, { 16, 154, 0, 8, 0, 10 }, + { 16, 155, 0, 8, 0, 10 }, { 16, 156, 0, 8, 0, 10 }, { 16, 157, 0, 8, 0, 10 }, { 16, 158, 0, 8, 0, 10 }, { 16, 159, 0, 8, 0, 10 }, + { 16, 160, 0, 8, 0, 10 }, { 16, 161, 0, 8, 0, 4 }, { 16, 162, 0, 8, 0, 4 }, { 16, 163, 0, 8, 0, 4 }, { 16, 164, 0, 8, 0, 4 }, + { 16, 165, 0, 8, 0, 4 }, { 16, 166, 0, 8, 0, 4 }, { 16, 167, 0, 8, 0, 4 }, { 16, 168, 0, 8, 0, 4 }, { 16, 169, 0, 8, 0, 4 }, + { 16, 170, 0, 8, 0, 4 }, { 16, 171, 0, 8, 0, 4 }, { 16, 172, 0, 8, 0, 4 }, { 16, 173, 0, 8, 0, 3 }, { 16, 174, 0, 8, 0, 3 }, + { 16, 175, 0, 8, 0, 3 }, { 16, 176, 0, 8, 0, 3 }, { 16, 177, 0, 8, 0, 3 }, { 16, 178, 0, 8, 0, 3 }, { 16, 179, 0, 8, 0, 3 }, + { 16, 180, 0, 8, 0, 3 }, { 16, 181, 0, 8, 0, 3 }, { 16, 182, 0, 8, 0, 3 }, { 16, 183, 0, 8, 0, 3 }, { 16, 184, 0, 8, 0, 3 }, + { 16, 185, 0, 8, 0, 0 }, { 16, 186, 0, 8, 0, 0 }, { 16, 187, 0, 8, 0, 0 }, { 16, 188, 0, 8, 0, 0 }, { 16, 189, 0, 8, 0, 0 }, + { 16, 190, 0, 8, 0, 0 }, { 16, 191, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_930BE6 = { - 192, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 1 }, { 6, 16, 0, 16, 0, 1 }, { 7, 16, 0, 16, 0, 1 }, { 8, 16, 0, 16, 0, 1 }, { 9, 16, 0, 16, 0, 1 }, - { 10, 16, 0, 16, 0, 1 }, { 11, 16, 0, 16, 0, 1 }, { 12, 16, 0, 16, 0, 1 }, { 13, 16, 0, 16, 0, 1 }, { 14, 16, 0, 16, 0, 1 }, - { 15, 16, 0, 16, 0, 1 }, { 16, 16, 0, 16, 0, 1 }, { 17, 16, 0, 16, 0, 2 }, { 18, 16, 0, 16, 0, 2 }, { 19, 16, 0, 16, 0, 2 }, - { 20, 16, 0, 16, 0, 2 }, { 21, 16, 0, 16, 0, 2 }, { 22, 16, 0, 16, 0, 2 }, { 23, 16, 0, 16, 0, 2 }, { 24, 16, 0, 16, 0, 2 }, - { 25, 16, 0, 16, 0, 2 }, { 26, 16, 0, 16, 0, 2 }, { 27, 16, 0, 16, 0, 2 }, { 28, 16, 0, 16, 0, 2 }, { 29, 16, 0, 16, 0, 5 }, - { 30, 16, 0, 16, 0, 5 }, { 31, 16, 0, 16, 0, 5 }, { 32, 16, 0, 16, 0, 5 }, { 33, 16, 0, 16, 0, 5 }, { 34, 16, 0, 16, 0, 5 }, - { 35, 16, 0, 16, 0, 5 }, { 36, 16, 0, 16, 0, 5 }, { 37, 16, 0, 16, 0, 5 }, { 38, 16, 0, 16, 0, 5 }, { 39, 16, 0, 16, 0, 5 }, - { 40, 16, 0, 16, 0, 5 }, { 41, 16, 0, 16, 0, 6 }, { 42, 16, 0, 16, 0, 6 }, { 43, 16, 0, 16, 0, 6 }, { 44, 16, 0, 16, 0, 6 }, - { 45, 16, 0, 16, 0, 6 }, { 46, 16, 0, 16, 0, 6 }, { 47, 16, 0, 16, 0, 6 }, { 48, 16, 0, 16, 0, 6 }, { 49, 16, 0, 16, 0, 6 }, - { 50, 16, 0, 16, 0, 6 }, { 51, 16, 0, 16, 0, 6 }, { 52, 16, 0, 16, 0, 6 }, { 53, 16, 0, 16, 0, 7 }, { 54, 16, 0, 16, 0, 7 }, - { 55, 16, 0, 16, 0, 7 }, { 56, 16, 0, 16, 0, 7 }, { 57, 16, 0, 16, 0, 7 }, { 58, 16, 0, 16, 0, 7 }, { 59, 16, 0, 16, 0, 7 }, - { 60, 16, 0, 16, 0, 7 }, { 61, 16, 0, 16, 0, 7 }, { 62, 16, 0, 16, 0, 7 }, { 63, 16, 0, 16, 0, 7 }, { 64, 16, 0, 16, 0, 7 }, - { 65, 16, 0, 16, 0, 8 }, { 66, 16, 0, 16, 0, 8 }, { 67, 16, 0, 16, 0, 8 }, { 68, 16, 0, 16, 0, 8 }, { 69, 16, 0, 16, 0, 8 }, - { 70, 16, 0, 16, 0, 8 }, { 71, 16, 0, 16, 0, 8 }, { 72, 16, 0, 16, 0, 8 }, { 73, 16, 0, 16, 0, 8 }, { 74, 16, 0, 16, 0, 8 }, - { 75, 16, 0, 16, 0, 8 }, { 76, 16, 0, 16, 0, 8 }, { 77, 16, 0, 16, 0, 9 }, { 78, 16, 0, 16, 0, 9 }, { 79, 16, 0, 16, 0, 9 }, - { 80, 16, 0, 16, 0, 9 }, { 81, 16, 0, 16, 0, 9 }, { 82, 16, 0, 16, 0, 9 }, { 83, 16, 0, 16, 0, 9 }, { 84, 16, 0, 16, 0, 9 }, - { 85, 16, 0, 16, 0, 9 }, { 86, 16, 0, 16, 0, 9 }, { 87, 16, 0, 16, 0, 9 }, { 88, 16, 0, 16, 0, 9 }, { 89, 16, 0, 0, 16, 0 }, - { 90, 16, 0, 0, 16, 0 }, { 91, 16, 0, 0, 16, 0 }, { 92, 16, 0, 0, 16, 0 }, { 93, 16, 0, 0, 16, 0 }, { 94, 16, 0, 0, 16, 0 }, - { 95, 16, 0, 0, 16, 0 }, { 96, 16, 0, 0, 16, 0 }, { 97, 16, 0, 0, 16, 0 }, { 98, 16, 0, 0, 16, 0 }, { 99, 16, 0, 0, 16, 0 }, - { 100, 16, 0, 0, 16, 0 }, { 101, 16, 0, 16, 0, 14 }, { 102, 16, 0, 16, 0, 14 }, { 103, 16, 0, 16, 0, 14 }, { 104, 16, 0, 16, 0, 14 }, - { 105, 16, 0, 16, 0, 14 }, { 106, 16, 0, 16, 0, 14 }, { 107, 16, 0, 16, 0, 14 }, { 108, 16, 0, 16, 0, 14 }, { 109, 16, 0, 16, 0, 14 }, - { 110, 16, 0, 16, 0, 14 }, { 111, 16, 0, 16, 0, 14 }, { 112, 16, 0, 16, 0, 14 }, { 113, 16, 0, 16, 0, 13 }, { 114, 16, 0, 16, 0, 13 }, - { 115, 16, 0, 16, 0, 13 }, { 116, 16, 0, 16, 0, 13 }, { 117, 16, 0, 16, 0, 13 }, { 118, 16, 0, 16, 0, 13 }, { 119, 16, 0, 16, 0, 13 }, - { 120, 16, 0, 16, 0, 13 }, { 121, 16, 0, 16, 0, 13 }, { 122, 16, 0, 16, 0, 13 }, { 123, 16, 0, 16, 0, 13 }, { 124, 16, 0, 16, 0, 13 }, - { 125, 16, 0, 16, 0, 12 }, { 126, 16, 0, 16, 0, 12 }, { 127, 16, 0, 16, 0, 12 }, { 128, 16, 0, 16, 0, 12 }, { 129, 16, 0, 16, 0, 12 }, - { 130, 16, 0, 16, 0, 12 }, { 131, 16, 0, 16, 0, 12 }, { 132, 16, 0, 16, 0, 12 }, { 133, 16, 0, 16, 0, 12 }, { 134, 16, 0, 16, 0, 12 }, - { 135, 16, 0, 16, 0, 12 }, { 136, 16, 0, 16, 0, 12 }, { 137, 16, 0, 16, 0, 11 }, { 138, 16, 0, 16, 0, 11 }, { 139, 16, 0, 16, 0, 11 }, - { 140, 16, 0, 16, 0, 11 }, { 141, 16, 0, 16, 0, 11 }, { 142, 16, 0, 16, 0, 11 }, { 143, 16, 0, 16, 0, 11 }, { 144, 16, 0, 16, 0, 11 }, - { 145, 16, 0, 16, 0, 11 }, { 146, 16, 0, 16, 0, 11 }, { 147, 16, 0, 16, 0, 11 }, { 148, 16, 0, 16, 0, 11 }, { 149, 16, 0, 16, 0, 10 }, - { 150, 16, 0, 16, 0, 10 }, { 151, 16, 0, 16, 0, 10 }, { 152, 16, 0, 16, 0, 10 }, { 153, 16, 0, 16, 0, 10 }, { 154, 16, 0, 16, 0, 10 }, - { 155, 16, 0, 16, 0, 10 }, { 156, 16, 0, 16, 0, 10 }, { 157, 16, 0, 16, 0, 10 }, { 158, 16, 0, 16, 0, 10 }, { 159, 16, 0, 16, 0, 10 }, - { 160, 16, 0, 16, 0, 10 }, { 161, 16, 0, 16, 0, 4 }, { 162, 16, 0, 16, 0, 4 }, { 163, 16, 0, 16, 0, 4 }, { 164, 16, 0, 16, 0, 4 }, - { 165, 16, 0, 16, 0, 4 }, { 166, 16, 0, 16, 0, 4 }, { 167, 16, 0, 16, 0, 4 }, { 168, 16, 0, 16, 0, 4 }, { 169, 16, 0, 16, 0, 4 }, - { 170, 16, 0, 16, 0, 4 }, { 171, 16, 0, 16, 0, 4 }, { 172, 16, 0, 16, 0, 4 }, { 173, 16, 0, 16, 0, 3 }, { 174, 16, 0, 16, 0, 3 }, - { 175, 16, 0, 16, 0, 3 }, { 176, 16, 0, 16, 0, 3 }, { 177, 16, 0, 16, 0, 3 }, { 178, 16, 0, 16, 0, 3 }, { 179, 16, 0, 16, 0, 3 }, - { 180, 16, 0, 16, 0, 3 }, { 181, 16, 0, 16, 0, 3 }, { 182, 16, 0, 16, 0, 3 }, { 183, 16, 0, 16, 0, 3 }, { 184, 16, 0, 16, 0, 3 }, - { 185, 16, 0, 16, 0, 0 }, { 186, 16, 0, 16, 0, 0 }, { 187, 16, 0, 16, 0, 0 }, { 188, 16, 0, 16, 0, 0 }, { 189, 16, 0, 16, 0, 0 }, - { 190, 16, 0, 16, 0, 0 }, { 191, 16, 0, 16, 0, 0 }, + 192, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 1 }, { 6, 16, 0, 16, 0, 1 }, { 7, 16, 0, 16, 0, 1 }, { 8, 16, 0, 16, 0, 1 }, { 9, 16, 0, 16, 0, 1 }, + { 10, 16, 0, 16, 0, 1 }, { 11, 16, 0, 16, 0, 1 }, { 12, 16, 0, 16, 0, 1 }, { 13, 16, 0, 16, 0, 1 }, { 14, 16, 0, 16, 0, 1 }, + { 15, 16, 0, 16, 0, 1 }, { 16, 16, 0, 16, 0, 1 }, { 17, 16, 0, 16, 0, 2 }, { 18, 16, 0, 16, 0, 2 }, { 19, 16, 0, 16, 0, 2 }, + { 20, 16, 0, 16, 0, 2 }, { 21, 16, 0, 16, 0, 2 }, { 22, 16, 0, 16, 0, 2 }, { 23, 16, 0, 16, 0, 2 }, { 24, 16, 0, 16, 0, 2 }, + { 25, 16, 0, 16, 0, 2 }, { 26, 16, 0, 16, 0, 2 }, { 27, 16, 0, 16, 0, 2 }, { 28, 16, 0, 16, 0, 2 }, { 29, 16, 0, 16, 0, 5 }, + { 30, 16, 0, 16, 0, 5 }, { 31, 16, 0, 16, 0, 5 }, { 32, 16, 0, 16, 0, 5 }, { 33, 16, 0, 16, 0, 5 }, { 34, 16, 0, 16, 0, 5 }, + { 35, 16, 0, 16, 0, 5 }, { 36, 16, 0, 16, 0, 5 }, { 37, 16, 0, 16, 0, 5 }, { 38, 16, 0, 16, 0, 5 }, { 39, 16, 0, 16, 0, 5 }, + { 40, 16, 0, 16, 0, 5 }, { 41, 16, 0, 16, 0, 6 }, { 42, 16, 0, 16, 0, 6 }, { 43, 16, 0, 16, 0, 6 }, { 44, 16, 0, 16, 0, 6 }, + { 45, 16, 0, 16, 0, 6 }, { 46, 16, 0, 16, 0, 6 }, { 47, 16, 0, 16, 0, 6 }, { 48, 16, 0, 16, 0, 6 }, { 49, 16, 0, 16, 0, 6 }, + { 50, 16, 0, 16, 0, 6 }, { 51, 16, 0, 16, 0, 6 }, { 52, 16, 0, 16, 0, 6 }, { 53, 16, 0, 16, 0, 7 }, { 54, 16, 0, 16, 0, 7 }, + { 55, 16, 0, 16, 0, 7 }, { 56, 16, 0, 16, 0, 7 }, { 57, 16, 0, 16, 0, 7 }, { 58, 16, 0, 16, 0, 7 }, { 59, 16, 0, 16, 0, 7 }, + { 60, 16, 0, 16, 0, 7 }, { 61, 16, 0, 16, 0, 7 }, { 62, 16, 0, 16, 0, 7 }, { 63, 16, 0, 16, 0, 7 }, { 64, 16, 0, 16, 0, 7 }, + { 65, 16, 0, 16, 0, 8 }, { 66, 16, 0, 16, 0, 8 }, { 67, 16, 0, 16, 0, 8 }, { 68, 16, 0, 16, 0, 8 }, { 69, 16, 0, 16, 0, 8 }, + { 70, 16, 0, 16, 0, 8 }, { 71, 16, 0, 16, 0, 8 }, { 72, 16, 0, 16, 0, 8 }, { 73, 16, 0, 16, 0, 8 }, { 74, 16, 0, 16, 0, 8 }, + { 75, 16, 0, 16, 0, 8 }, { 76, 16, 0, 16, 0, 8 }, { 77, 16, 0, 16, 0, 9 }, { 78, 16, 0, 16, 0, 9 }, { 79, 16, 0, 16, 0, 9 }, + { 80, 16, 0, 16, 0, 9 }, { 81, 16, 0, 16, 0, 9 }, { 82, 16, 0, 16, 0, 9 }, { 83, 16, 0, 16, 0, 9 }, { 84, 16, 0, 16, 0, 9 }, + { 85, 16, 0, 16, 0, 9 }, { 86, 16, 0, 16, 0, 9 }, { 87, 16, 0, 16, 0, 9 }, { 88, 16, 0, 16, 0, 9 }, { 89, 16, 0, 0, 16, 0 }, + { 90, 16, 0, 0, 16, 0 }, { 91, 16, 0, 0, 16, 0 }, { 92, 16, 0, 0, 16, 0 }, { 93, 16, 0, 0, 16, 0 }, { 94, 16, 0, 0, 16, 0 }, + { 95, 16, 0, 0, 16, 0 }, { 96, 16, 0, 0, 16, 0 }, { 97, 16, 0, 0, 16, 0 }, { 98, 16, 0, 0, 16, 0 }, { 99, 16, 0, 0, 16, 0 }, + { 100, 16, 0, 0, 16, 0 }, { 101, 16, 0, 16, 0, 14 }, { 102, 16, 0, 16, 0, 14 }, { 103, 16, 0, 16, 0, 14 }, { 104, 16, 0, 16, 0, 14 }, + { 105, 16, 0, 16, 0, 14 }, { 106, 16, 0, 16, 0, 14 }, { 107, 16, 0, 16, 0, 14 }, { 108, 16, 0, 16, 0, 14 }, { 109, 16, 0, 16, 0, 14 }, + { 110, 16, 0, 16, 0, 14 }, { 111, 16, 0, 16, 0, 14 }, { 112, 16, 0, 16, 0, 14 }, { 113, 16, 0, 16, 0, 13 }, { 114, 16, 0, 16, 0, 13 }, + { 115, 16, 0, 16, 0, 13 }, { 116, 16, 0, 16, 0, 13 }, { 117, 16, 0, 16, 0, 13 }, { 118, 16, 0, 16, 0, 13 }, { 119, 16, 0, 16, 0, 13 }, + { 120, 16, 0, 16, 0, 13 }, { 121, 16, 0, 16, 0, 13 }, { 122, 16, 0, 16, 0, 13 }, { 123, 16, 0, 16, 0, 13 }, { 124, 16, 0, 16, 0, 13 }, + { 125, 16, 0, 16, 0, 12 }, { 126, 16, 0, 16, 0, 12 }, { 127, 16, 0, 16, 0, 12 }, { 128, 16, 0, 16, 0, 12 }, { 129, 16, 0, 16, 0, 12 }, + { 130, 16, 0, 16, 0, 12 }, { 131, 16, 0, 16, 0, 12 }, { 132, 16, 0, 16, 0, 12 }, { 133, 16, 0, 16, 0, 12 }, { 134, 16, 0, 16, 0, 12 }, + { 135, 16, 0, 16, 0, 12 }, { 136, 16, 0, 16, 0, 12 }, { 137, 16, 0, 16, 0, 11 }, { 138, 16, 0, 16, 0, 11 }, { 139, 16, 0, 16, 0, 11 }, + { 140, 16, 0, 16, 0, 11 }, { 141, 16, 0, 16, 0, 11 }, { 142, 16, 0, 16, 0, 11 }, { 143, 16, 0, 16, 0, 11 }, { 144, 16, 0, 16, 0, 11 }, + { 145, 16, 0, 16, 0, 11 }, { 146, 16, 0, 16, 0, 11 }, { 147, 16, 0, 16, 0, 11 }, { 148, 16, 0, 16, 0, 11 }, { 149, 16, 0, 16, 0, 10 }, + { 150, 16, 0, 16, 0, 10 }, { 151, 16, 0, 16, 0, 10 }, { 152, 16, 0, 16, 0, 10 }, { 153, 16, 0, 16, 0, 10 }, { 154, 16, 0, 16, 0, 10 }, + { 155, 16, 0, 16, 0, 10 }, { 156, 16, 0, 16, 0, 10 }, { 157, 16, 0, 16, 0, 10 }, { 158, 16, 0, 16, 0, 10 }, { 159, 16, 0, 16, 0, 10 }, + { 160, 16, 0, 16, 0, 10 }, { 161, 16, 0, 16, 0, 4 }, { 162, 16, 0, 16, 0, 4 }, { 163, 16, 0, 16, 0, 4 }, { 164, 16, 0, 16, 0, 4 }, + { 165, 16, 0, 16, 0, 4 }, { 166, 16, 0, 16, 0, 4 }, { 167, 16, 0, 16, 0, 4 }, { 168, 16, 0, 16, 0, 4 }, { 169, 16, 0, 16, 0, 4 }, + { 170, 16, 0, 16, 0, 4 }, { 171, 16, 0, 16, 0, 4 }, { 172, 16, 0, 16, 0, 4 }, { 173, 16, 0, 16, 0, 3 }, { 174, 16, 0, 16, 0, 3 }, + { 175, 16, 0, 16, 0, 3 }, { 176, 16, 0, 16, 0, 3 }, { 177, 16, 0, 16, 0, 3 }, { 178, 16, 0, 16, 0, 3 }, { 179, 16, 0, 16, 0, 3 }, + { 180, 16, 0, 16, 0, 3 }, { 181, 16, 0, 16, 0, 3 }, { 182, 16, 0, 16, 0, 3 }, { 183, 16, 0, 16, 0, 3 }, { 184, 16, 0, 16, 0, 3 }, + { 185, 16, 0, 16, 0, 0 }, { 186, 16, 0, 16, 0, 0 }, { 187, 16, 0, 16, 0, 0 }, { 188, 16, 0, 16, 0, 0 }, { 189, 16, 0, 16, 0, 0 }, + { 190, 16, 0, 16, 0, 0 }, { 191, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9312A8 = { - 192, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 1 }, { 16, 25, 0, 24, 0, 1 }, { 16, 24, 0, 24, 0, 1 }, { 16, 23, 0, 24, 0, 1 }, { 16, 22, 0, 24, 0, 1 }, - { 16, 21, 0, 24, 0, 1 }, { 16, 20, 0, 24, 0, 1 }, { 16, 19, 0, 24, 0, 1 }, { 16, 18, 0, 24, 0, 1 }, { 16, 17, 0, 24, 0, 1 }, - { 16, 16, 0, 24, 0, 1 }, { 16, 15, 0, 24, 0, 1 }, { 16, 14, 0, 24, 0, 2 }, { 16, 13, 0, 24, 0, 2 }, { 16, 12, 0, 24, 0, 2 }, - { 16, 11, 0, 24, 0, 2 }, { 16, 10, 0, 24, 0, 2 }, { 16, 9, 0, 24, 0, 2 }, { 16, 8, 0, 24, 0, 2 }, { 16, 7, 0, 24, 0, 2 }, - { 16, 6, 0, 24, 0, 2 }, { 16, 5, 0, 24, 0, 2 }, { 16, 4, 0, 24, 0, 2 }, { 16, 3, 0, 24, 0, 2 }, { 16, 2, 0, 24, 0, 5 }, - { 16, 1, 0, 24, 0, 5 }, { 16, 0, 0, 24, 0, 5 }, { 16, -1, 0, 24, 0, 5 }, { 16, -2, 0, 24, 0, 5 }, { 16, -3, 0, 24, 0, 5 }, - { 16, -4, 0, 24, 0, 5 }, { 16, -5, 0, 24, 0, 5 }, { 16, -6, 0, 24, 0, 5 }, { 16, -7, 0, 24, 0, 5 }, { 16, -8, 0, 24, 0, 5 }, - { 16, -9, 0, 24, 0, 5 }, { 16, -10, 0, 24, 0, 6 }, { 16, -11, 0, 24, 0, 6 }, { 16, -12, 0, 24, 0, 6 }, { 16, -13, 0, 24, 0, 6 }, - { 16, -14, 0, 24, 0, 6 }, { 16, -15, 0, 24, 0, 6 }, { 16, -16, 0, 24, 0, 6 }, { 16, -17, 0, 24, 0, 6 }, { 16, -18, 0, 24, 0, 6 }, - { 16, -19, 0, 24, 0, 6 }, { 16, -20, 0, 24, 0, 6 }, { 16, -21, 0, 24, 0, 6 }, { 16, -22, 0, 24, 0, 7 }, { 16, -23, 0, 24, 0, 7 }, - { 16, -24, 0, 24, 0, 7 }, { 16, -25, 0, 24, 0, 7 }, { 16, -26, 0, 24, 0, 7 }, { 16, -27, 0, 24, 0, 7 }, { 16, -28, 0, 24, 0, 7 }, - { 16, -29, 0, 24, 0, 7 }, { 16, -30, 0, 24, 0, 7 }, { 16, -31, 0, 24, 0, 7 }, { 16, -32, 0, 24, 0, 7 }, { 16, -33, 0, 24, 0, 7 }, - { 16, -34, 0, 24, 0, 8 }, { 16, -35, 0, 24, 0, 8 }, { 16, -36, 0, 24, 0, 8 }, { 16, -37, 0, 24, 0, 8 }, { 16, -38, 0, 24, 0, 8 }, - { 16, -39, 0, 24, 0, 8 }, { 16, -40, 0, 24, 0, 8 }, { 16, -41, 0, 24, 0, 8 }, { 16, -42, 0, 24, 0, 8 }, { 16, -43, 0, 24, 0, 8 }, - { 16, -44, 0, 24, 0, 8 }, { 16, -45, 0, 24, 0, 8 }, { 16, -46, 0, 24, 0, 9 }, { 16, -47, 0, 24, 0, 9 }, { 16, -48, 0, 24, 0, 9 }, - { 16, -49, 0, 24, 0, 9 }, { 16, -50, 0, 24, 0, 9 }, { 16, -51, 0, 24, 0, 9 }, { 16, -52, 0, 24, 0, 9 }, { 16, -53, 0, 24, 0, 9 }, - { 16, -54, 0, 24, 0, 9 }, { 16, -55, 0, 24, 0, 9 }, { 16, -56, 0, 24, 0, 9 }, { 16, -57, 0, 24, 0, 9 }, { 16, -58, 0, 8, 16, 0 }, - { 16, -59, 0, 8, 16, 0 }, { 16, -60, 0, 8, 16, 0 }, { 16, -61, 0, 8, 16, 0 }, { 16, -62, 0, 8, 16, 0 }, { 16, -63, 0, 8, 16, 0 }, - { 16, -64, 0, 8, 16, 0 }, { 16, -65, 0, 8, 16, 0 }, { 16, -66, 0, 8, 16, 0 }, { 16, -67, 0, 8, 16, 0 }, { 16, -68, 0, 8, 16, 0 }, - { 16, -69, 0, 8, 16, 0 }, { 16, -70, 0, 24, 0, 14 }, { 16, -71, 0, 24, 0, 14 }, { 16, -72, 0, 24, 0, 14 }, { 16, -73, 0, 24, 0, 14 }, - { 16, -74, 0, 24, 0, 14 }, { 16, -75, 0, 24, 0, 14 }, { 16, -76, 0, 24, 0, 14 }, { 16, -77, 0, 24, 0, 14 }, { 16, -78, 0, 24, 0, 14 }, - { 16, -79, 0, 24, 0, 14 }, { 16, -80, 0, 24, 0, 14 }, { 16, -81, 0, 24, 0, 14 }, { 16, -82, 0, 24, 0, 13 }, { 16, -83, 0, 24, 0, 13 }, - { 16, -84, 0, 24, 0, 13 }, { 16, -85, 0, 24, 0, 13 }, { 16, -86, 0, 24, 0, 13 }, { 16, -87, 0, 24, 0, 13 }, { 16, -88, 0, 24, 0, 13 }, - { 16, -89, 0, 24, 0, 13 }, { 16, -90, 0, 24, 0, 13 }, { 16, -91, 0, 24, 0, 13 }, { 16, -92, 0, 24, 0, 13 }, { 16, -93, 0, 24, 0, 13 }, - { 16, -94, 0, 24, 0, 12 }, { 16, -95, 0, 24, 0, 12 }, { 16, -96, 0, 24, 0, 12 }, { 16, -97, 0, 24, 0, 12 }, { 16, -98, 0, 24, 0, 12 }, - { 16, -99, 0, 24, 0, 12 }, { 16, -100, 0, 24, 0, 12 }, { 16, -101, 0, 24, 0, 12 }, { 16, -102, 0, 24, 0, 12 }, { 16, -103, 0, 24, 0, 12 }, - { 16, -104, 0, 24, 0, 12 }, { 16, -105, 0, 24, 0, 12 }, { 16, -106, 0, 24, 0, 11 }, { 16, -107, 0, 24, 0, 11 }, { 16, -108, 0, 24, 0, 11 }, - { 16, -109, 0, 24, 0, 11 }, { 16, -110, 0, 24, 0, 11 }, { 16, -111, 0, 24, 0, 11 }, { 16, -112, 0, 24, 0, 11 }, { 16, -113, 0, 24, 0, 11 }, - { 16, -114, 0, 24, 0, 11 }, { 16, -115, 0, 24, 0, 11 }, { 16, -116, 0, 24, 0, 11 }, { 16, -117, 0, 24, 0, 11 }, { 16, -118, 0, 24, 0, 10 }, - { 16, -119, 0, 24, 0, 10 }, { 16, -120, 0, 24, 0, 10 }, { 16, -121, 0, 24, 0, 10 }, { 16, -122, 0, 24, 0, 10 }, { 16, -123, 0, 24, 0, 10 }, - { 16, -124, 0, 24, 0, 10 }, { 16, -125, 0, 24, 0, 10 }, { 16, -126, 0, 24, 0, 10 }, { 16, -127, 0, 24, 0, 10 }, { 16, -128, 0, 24, 0, 10 }, - { 16, -129, 0, 24, 0, 10 }, { 16, -130, 0, 24, 0, 4 }, { 16, -131, 0, 24, 0, 4 }, { 16, -132, 0, 24, 0, 4 }, { 16, -133, 0, 24, 0, 4 }, - { 16, -134, 0, 24, 0, 4 }, { 16, -135, 0, 24, 0, 4 }, { 16, -136, 0, 24, 0, 4 }, { 16, -137, 0, 24, 0, 4 }, { 16, -138, 0, 24, 0, 4 }, - { 16, -139, 0, 24, 0, 4 }, { 16, -140, 0, 24, 0, 4 }, { 16, -141, 0, 24, 0, 4 }, { 16, -142, 0, 24, 0, 3 }, { 16, -143, 0, 24, 0, 3 }, - { 16, -144, 0, 24, 0, 3 }, { 16, -145, 0, 24, 0, 3 }, { 16, -146, 0, 24, 0, 3 }, { 16, -147, 0, 24, 0, 3 }, { 16, -148, 0, 24, 0, 3 }, - { 16, -149, 0, 24, 0, 3 }, { 16, -150, 0, 24, 0, 3 }, { 16, -151, 0, 24, 0, 3 }, { 16, -152, 0, 24, 0, 3 }, { 16, -153, 0, 24, 0, 3 }, - { 16, -154, 0, 24, 0, 0 }, { 16, -155, 0, 24, 0, 0 }, { 16, -156, 0, 24, 0, 0 }, { 16, -157, 0, 24, 0, 0 }, { 16, -158, 0, 24, 0, 0 }, - { 16, -159, 0, 24, 0, 0 }, { 16, -160, 0, 24, 0, 0 }, + 192, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 1 }, { 16, 25, 0, 24, 0, 1 }, { 16, 24, 0, 24, 0, 1 }, { 16, 23, 0, 24, 0, 1 }, { 16, 22, 0, 24, 0, 1 }, + { 16, 21, 0, 24, 0, 1 }, { 16, 20, 0, 24, 0, 1 }, { 16, 19, 0, 24, 0, 1 }, { 16, 18, 0, 24, 0, 1 }, { 16, 17, 0, 24, 0, 1 }, + { 16, 16, 0, 24, 0, 1 }, { 16, 15, 0, 24, 0, 1 }, { 16, 14, 0, 24, 0, 2 }, { 16, 13, 0, 24, 0, 2 }, { 16, 12, 0, 24, 0, 2 }, + { 16, 11, 0, 24, 0, 2 }, { 16, 10, 0, 24, 0, 2 }, { 16, 9, 0, 24, 0, 2 }, { 16, 8, 0, 24, 0, 2 }, { 16, 7, 0, 24, 0, 2 }, + { 16, 6, 0, 24, 0, 2 }, { 16, 5, 0, 24, 0, 2 }, { 16, 4, 0, 24, 0, 2 }, { 16, 3, 0, 24, 0, 2 }, { 16, 2, 0, 24, 0, 5 }, + { 16, 1, 0, 24, 0, 5 }, { 16, 0, 0, 24, 0, 5 }, { 16, -1, 0, 24, 0, 5 }, { 16, -2, 0, 24, 0, 5 }, { 16, -3, 0, 24, 0, 5 }, + { 16, -4, 0, 24, 0, 5 }, { 16, -5, 0, 24, 0, 5 }, { 16, -6, 0, 24, 0, 5 }, { 16, -7, 0, 24, 0, 5 }, { 16, -8, 0, 24, 0, 5 }, + { 16, -9, 0, 24, 0, 5 }, { 16, -10, 0, 24, 0, 6 }, { 16, -11, 0, 24, 0, 6 }, { 16, -12, 0, 24, 0, 6 }, { 16, -13, 0, 24, 0, 6 }, + { 16, -14, 0, 24, 0, 6 }, { 16, -15, 0, 24, 0, 6 }, { 16, -16, 0, 24, 0, 6 }, { 16, -17, 0, 24, 0, 6 }, { 16, -18, 0, 24, 0, 6 }, + { 16, -19, 0, 24, 0, 6 }, { 16, -20, 0, 24, 0, 6 }, { 16, -21, 0, 24, 0, 6 }, { 16, -22, 0, 24, 0, 7 }, { 16, -23, 0, 24, 0, 7 }, + { 16, -24, 0, 24, 0, 7 }, { 16, -25, 0, 24, 0, 7 }, { 16, -26, 0, 24, 0, 7 }, { 16, -27, 0, 24, 0, 7 }, { 16, -28, 0, 24, 0, 7 }, + { 16, -29, 0, 24, 0, 7 }, { 16, -30, 0, 24, 0, 7 }, { 16, -31, 0, 24, 0, 7 }, { 16, -32, 0, 24, 0, 7 }, { 16, -33, 0, 24, 0, 7 }, + { 16, -34, 0, 24, 0, 8 }, { 16, -35, 0, 24, 0, 8 }, { 16, -36, 0, 24, 0, 8 }, { 16, -37, 0, 24, 0, 8 }, { 16, -38, 0, 24, 0, 8 }, + { 16, -39, 0, 24, 0, 8 }, { 16, -40, 0, 24, 0, 8 }, { 16, -41, 0, 24, 0, 8 }, { 16, -42, 0, 24, 0, 8 }, { 16, -43, 0, 24, 0, 8 }, + { 16, -44, 0, 24, 0, 8 }, { 16, -45, 0, 24, 0, 8 }, { 16, -46, 0, 24, 0, 9 }, { 16, -47, 0, 24, 0, 9 }, { 16, -48, 0, 24, 0, 9 }, + { 16, -49, 0, 24, 0, 9 }, { 16, -50, 0, 24, 0, 9 }, { 16, -51, 0, 24, 0, 9 }, { 16, -52, 0, 24, 0, 9 }, { 16, -53, 0, 24, 0, 9 }, + { 16, -54, 0, 24, 0, 9 }, { 16, -55, 0, 24, 0, 9 }, { 16, -56, 0, 24, 0, 9 }, { 16, -57, 0, 24, 0, 9 }, { 16, -58, 0, 8, 16, 0 }, + { 16, -59, 0, 8, 16, 0 }, { 16, -60, 0, 8, 16, 0 }, { 16, -61, 0, 8, 16, 0 }, { 16, -62, 0, 8, 16, 0 }, { 16, -63, 0, 8, 16, 0 }, + { 16, -64, 0, 8, 16, 0 }, { 16, -65, 0, 8, 16, 0 }, { 16, -66, 0, 8, 16, 0 }, { 16, -67, 0, 8, 16, 0 }, { 16, -68, 0, 8, 16, 0 }, + { 16, -69, 0, 8, 16, 0 }, { 16, -70, 0, 24, 0, 14 }, { 16, -71, 0, 24, 0, 14 }, { 16, -72, 0, 24, 0, 14 }, { 16, -73, 0, 24, 0, 14 }, + { 16, -74, 0, 24, 0, 14 }, { 16, -75, 0, 24, 0, 14 }, { 16, -76, 0, 24, 0, 14 }, { 16, -77, 0, 24, 0, 14 }, { 16, -78, 0, 24, 0, 14 }, + { 16, -79, 0, 24, 0, 14 }, { 16, -80, 0, 24, 0, 14 }, { 16, -81, 0, 24, 0, 14 }, { 16, -82, 0, 24, 0, 13 }, { 16, -83, 0, 24, 0, 13 }, + { 16, -84, 0, 24, 0, 13 }, { 16, -85, 0, 24, 0, 13 }, { 16, -86, 0, 24, 0, 13 }, { 16, -87, 0, 24, 0, 13 }, { 16, -88, 0, 24, 0, 13 }, + { 16, -89, 0, 24, 0, 13 }, { 16, -90, 0, 24, 0, 13 }, { 16, -91, 0, 24, 0, 13 }, { 16, -92, 0, 24, 0, 13 }, { 16, -93, 0, 24, 0, 13 }, + { 16, -94, 0, 24, 0, 12 }, { 16, -95, 0, 24, 0, 12 }, { 16, -96, 0, 24, 0, 12 }, { 16, -97, 0, 24, 0, 12 }, { 16, -98, 0, 24, 0, 12 }, + { 16, -99, 0, 24, 0, 12 }, { 16, -100, 0, 24, 0, 12 }, { 16, -101, 0, 24, 0, 12 }, { 16, -102, 0, 24, 0, 12 }, { 16, -103, 0, 24, 0, 12 }, + { 16, -104, 0, 24, 0, 12 }, { 16, -105, 0, 24, 0, 12 }, { 16, -106, 0, 24, 0, 11 }, { 16, -107, 0, 24, 0, 11 }, { 16, -108, 0, 24, 0, 11 }, + { 16, -109, 0, 24, 0, 11 }, { 16, -110, 0, 24, 0, 11 }, { 16, -111, 0, 24, 0, 11 }, { 16, -112, 0, 24, 0, 11 }, { 16, -113, 0, 24, 0, 11 }, + { 16, -114, 0, 24, 0, 11 }, { 16, -115, 0, 24, 0, 11 }, { 16, -116, 0, 24, 0, 11 }, { 16, -117, 0, 24, 0, 11 }, { 16, -118, 0, 24, 0, 10 }, + { 16, -119, 0, 24, 0, 10 }, { 16, -120, 0, 24, 0, 10 }, { 16, -121, 0, 24, 0, 10 }, { 16, -122, 0, 24, 0, 10 }, { 16, -123, 0, 24, 0, 10 }, + { 16, -124, 0, 24, 0, 10 }, { 16, -125, 0, 24, 0, 10 }, { 16, -126, 0, 24, 0, 10 }, { 16, -127, 0, 24, 0, 10 }, { 16, -128, 0, 24, 0, 10 }, + { 16, -129, 0, 24, 0, 10 }, { 16, -130, 0, 24, 0, 4 }, { 16, -131, 0, 24, 0, 4 }, { 16, -132, 0, 24, 0, 4 }, { 16, -133, 0, 24, 0, 4 }, + { 16, -134, 0, 24, 0, 4 }, { 16, -135, 0, 24, 0, 4 }, { 16, -136, 0, 24, 0, 4 }, { 16, -137, 0, 24, 0, 4 }, { 16, -138, 0, 24, 0, 4 }, + { 16, -139, 0, 24, 0, 4 }, { 16, -140, 0, 24, 0, 4 }, { 16, -141, 0, 24, 0, 4 }, { 16, -142, 0, 24, 0, 3 }, { 16, -143, 0, 24, 0, 3 }, + { 16, -144, 0, 24, 0, 3 }, { 16, -145, 0, 24, 0, 3 }, { 16, -146, 0, 24, 0, 3 }, { 16, -147, 0, 24, 0, 3 }, { 16, -148, 0, 24, 0, 3 }, + { 16, -149, 0, 24, 0, 3 }, { 16, -150, 0, 24, 0, 3 }, { 16, -151, 0, 24, 0, 3 }, { 16, -152, 0, 24, 0, 3 }, { 16, -153, 0, 24, 0, 3 }, + { 16, -154, 0, 24, 0, 0 }, { 16, -155, 0, 24, 0, 0 }, { 16, -156, 0, 24, 0, 0 }, { 16, -157, 0, 24, 0, 0 }, { 16, -158, 0, 24, 0, 0 }, + { 16, -159, 0, 24, 0, 0 }, { 16, -160, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93196A = { - 192, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 3 }, { 25, 16, 0, 0, 0, 3 }, { 24, 16, 0, 0, 0, 3 }, { 23, 16, 0, 0, 0, 3 }, { 22, 16, 0, 0, 0, 3 }, - { 21, 16, 0, 0, 0, 3 }, { 20, 16, 0, 0, 0, 3 }, { 19, 16, 0, 0, 0, 3 }, { 18, 16, 0, 0, 0, 3 }, { 17, 16, 0, 0, 0, 3 }, - { 16, 16, 0, 0, 0, 3 }, { 15, 16, 0, 0, 0, 3 }, { 14, 16, 0, 0, 0, 4 }, { 13, 16, 0, 0, 0, 4 }, { 12, 16, 0, 0, 0, 4 }, - { 11, 16, 0, 0, 0, 4 }, { 10, 16, 0, 0, 0, 4 }, { 9, 16, 0, 0, 0, 4 }, { 8, 16, 0, 0, 0, 4 }, { 7, 16, 0, 0, 0, 4 }, - { 6, 16, 0, 0, 0, 4 }, { 5, 16, 0, 0, 0, 4 }, { 4, 16, 0, 0, 0, 4 }, { 3, 16, 0, 0, 0, 4 }, { 2, 16, 0, 0, 0, 10 }, - { 1, 16, 0, 0, 0, 10 }, { 0, 16, 0, 0, 0, 10 }, { -1, 16, 0, 0, 0, 10 }, { -2, 16, 0, 0, 0, 10 }, { -3, 16, 0, 0, 0, 10 }, - { -4, 16, 0, 0, 0, 10 }, { -5, 16, 0, 0, 0, 10 }, { -6, 16, 0, 0, 0, 10 }, { -7, 16, 0, 0, 0, 10 }, { -8, 16, 0, 0, 0, 10 }, - { -9, 16, 0, 0, 0, 10 }, { -10, 16, 0, 0, 0, 11 }, { -11, 16, 0, 0, 0, 11 }, { -12, 16, 0, 0, 0, 11 }, { -13, 16, 0, 0, 0, 11 }, - { -14, 16, 0, 0, 0, 11 }, { -15, 16, 0, 0, 0, 11 }, { -16, 16, 0, 0, 0, 11 }, { -17, 16, 0, 0, 0, 11 }, { -18, 16, 0, 0, 0, 11 }, - { -19, 16, 0, 0, 0, 11 }, { -20, 16, 0, 0, 0, 11 }, { -21, 16, 0, 0, 0, 11 }, { -22, 16, 0, 0, 0, 12 }, { -23, 16, 0, 0, 0, 12 }, - { -24, 16, 0, 0, 0, 12 }, { -25, 16, 0, 0, 0, 12 }, { -26, 16, 0, 0, 0, 12 }, { -27, 16, 0, 0, 0, 12 }, { -28, 16, 0, 0, 0, 12 }, - { -29, 16, 0, 0, 0, 12 }, { -30, 16, 0, 0, 0, 12 }, { -31, 16, 0, 0, 0, 12 }, { -32, 16, 0, 0, 0, 12 }, { -33, 16, 0, 0, 0, 12 }, - { -34, 16, 0, 0, 0, 13 }, { -35, 16, 0, 0, 0, 13 }, { -36, 16, 0, 0, 0, 13 }, { -37, 16, 0, 0, 0, 13 }, { -38, 16, 0, 0, 0, 13 }, - { -39, 16, 0, 0, 0, 13 }, { -40, 16, 0, 0, 0, 13 }, { -41, 16, 0, 0, 0, 13 }, { -42, 16, 0, 0, 0, 13 }, { -43, 16, 0, 0, 0, 13 }, - { -44, 16, 0, 0, 0, 13 }, { -45, 16, 0, 0, 0, 13 }, { -46, 16, 0, 0, 0, 14 }, { -47, 16, 0, 0, 0, 14 }, { -48, 16, 0, 0, 0, 14 }, - { -49, 16, 0, 0, 0, 14 }, { -50, 16, 0, 0, 0, 14 }, { -51, 16, 0, 0, 0, 14 }, { -52, 16, 0, 0, 0, 14 }, { -53, 16, 0, 0, 0, 14 }, - { -54, 16, 0, 0, 0, 14 }, { -55, 16, 0, 0, 0, 14 }, { -56, 16, 0, 0, 0, 14 }, { -57, 16, 0, 0, 0, 14 }, { -58, 16, 0, 16, 16, 0 }, - { -59, 16, 0, 16, 16, 0 }, { -60, 16, 0, 16, 16, 0 }, { -61, 16, 0, 16, 16, 0 }, { -62, 16, 0, 16, 16, 0 }, { -63, 16, 0, 16, 16, 0 }, - { -64, 16, 0, 16, 16, 0 }, { -65, 16, 0, 16, 16, 0 }, { -66, 16, 0, 16, 16, 0 }, { -67, 16, 0, 16, 16, 0 }, { -68, 16, 0, 16, 16, 0 }, - { -69, 16, 0, 16, 16, 0 }, { -70, 16, 0, 0, 0, 9 }, { -71, 16, 0, 0, 0, 9 }, { -72, 16, 0, 0, 0, 9 }, { -73, 16, 0, 0, 0, 9 }, - { -74, 16, 0, 0, 0, 9 }, { -75, 16, 0, 0, 0, 9 }, { -76, 16, 0, 0, 0, 9 }, { -77, 16, 0, 0, 0, 9 }, { -78, 16, 0, 0, 0, 9 }, - { -79, 16, 0, 0, 0, 9 }, { -80, 16, 0, 0, 0, 9 }, { -81, 16, 0, 0, 0, 9 }, { -82, 16, 0, 0, 0, 8 }, { -83, 16, 0, 0, 0, 8 }, - { -84, 16, 0, 0, 0, 8 }, { -85, 16, 0, 0, 0, 8 }, { -86, 16, 0, 0, 0, 8 }, { -87, 16, 0, 0, 0, 8 }, { -88, 16, 0, 0, 0, 8 }, - { -89, 16, 0, 0, 0, 8 }, { -90, 16, 0, 0, 0, 8 }, { -91, 16, 0, 0, 0, 8 }, { -92, 16, 0, 0, 0, 8 }, { -93, 16, 0, 0, 0, 8 }, - { -94, 16, 0, 0, 0, 7 }, { -95, 16, 0, 0, 0, 7 }, { -96, 16, 0, 0, 0, 7 }, { -97, 16, 0, 0, 0, 7 }, { -98, 16, 0, 0, 0, 7 }, - { -99, 16, 0, 0, 0, 7 }, { -100, 16, 0, 0, 0, 7 }, { -101, 16, 0, 0, 0, 7 }, { -102, 16, 0, 0, 0, 7 }, { -103, 16, 0, 0, 0, 7 }, - { -104, 16, 0, 0, 0, 7 }, { -105, 16, 0, 0, 0, 7 }, { -106, 16, 0, 0, 0, 6 }, { -107, 16, 0, 0, 0, 6 }, { -108, 16, 0, 0, 0, 6 }, - { -109, 16, 0, 0, 0, 6 }, { -110, 16, 0, 0, 0, 6 }, { -111, 16, 0, 0, 0, 6 }, { -112, 16, 0, 0, 0, 6 }, { -113, 16, 0, 0, 0, 6 }, - { -114, 16, 0, 0, 0, 6 }, { -115, 16, 0, 0, 0, 6 }, { -116, 16, 0, 0, 0, 6 }, { -117, 16, 0, 0, 0, 6 }, { -118, 16, 0, 0, 0, 5 }, - { -119, 16, 0, 0, 0, 5 }, { -120, 16, 0, 0, 0, 5 }, { -121, 16, 0, 0, 0, 5 }, { -122, 16, 0, 0, 0, 5 }, { -123, 16, 0, 0, 0, 5 }, - { -124, 16, 0, 0, 0, 5 }, { -125, 16, 0, 0, 0, 5 }, { -126, 16, 0, 0, 0, 5 }, { -127, 16, 0, 0, 0, 5 }, { -128, 16, 0, 0, 0, 5 }, - { -129, 16, 0, 0, 0, 5 }, { -130, 16, 0, 0, 0, 2 }, { -131, 16, 0, 0, 0, 2 }, { -132, 16, 0, 0, 0, 2 }, { -133, 16, 0, 0, 0, 2 }, - { -134, 16, 0, 0, 0, 2 }, { -135, 16, 0, 0, 0, 2 }, { -136, 16, 0, 0, 0, 2 }, { -137, 16, 0, 0, 0, 2 }, { -138, 16, 0, 0, 0, 2 }, - { -139, 16, 0, 0, 0, 2 }, { -140, 16, 0, 0, 0, 2 }, { -141, 16, 0, 0, 0, 2 }, { -142, 16, 0, 0, 0, 1 }, { -143, 16, 0, 0, 0, 1 }, - { -144, 16, 0, 0, 0, 1 }, { -145, 16, 0, 0, 0, 1 }, { -146, 16, 0, 0, 0, 1 }, { -147, 16, 0, 0, 0, 1 }, { -148, 16, 0, 0, 0, 1 }, - { -149, 16, 0, 0, 0, 1 }, { -150, 16, 0, 0, 0, 1 }, { -151, 16, 0, 0, 0, 1 }, { -152, 16, 0, 0, 0, 1 }, { -153, 16, 0, 0, 0, 1 }, - { -154, 16, 0, 0, 0, 0 }, { -155, 16, 0, 0, 0, 0 }, { -156, 16, 0, 0, 0, 0 }, { -157, 16, 0, 0, 0, 0 }, { -158, 16, 0, 0, 0, 0 }, - { -159, 16, 0, 0, 0, 0 }, { -160, 16, 0, 0, 0, 0 }, + 192, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 3 }, { 25, 16, 0, 0, 0, 3 }, { 24, 16, 0, 0, 0, 3 }, { 23, 16, 0, 0, 0, 3 }, { 22, 16, 0, 0, 0, 3 }, + { 21, 16, 0, 0, 0, 3 }, { 20, 16, 0, 0, 0, 3 }, { 19, 16, 0, 0, 0, 3 }, { 18, 16, 0, 0, 0, 3 }, { 17, 16, 0, 0, 0, 3 }, + { 16, 16, 0, 0, 0, 3 }, { 15, 16, 0, 0, 0, 3 }, { 14, 16, 0, 0, 0, 4 }, { 13, 16, 0, 0, 0, 4 }, { 12, 16, 0, 0, 0, 4 }, + { 11, 16, 0, 0, 0, 4 }, { 10, 16, 0, 0, 0, 4 }, { 9, 16, 0, 0, 0, 4 }, { 8, 16, 0, 0, 0, 4 }, { 7, 16, 0, 0, 0, 4 }, + { 6, 16, 0, 0, 0, 4 }, { 5, 16, 0, 0, 0, 4 }, { 4, 16, 0, 0, 0, 4 }, { 3, 16, 0, 0, 0, 4 }, { 2, 16, 0, 0, 0, 10 }, + { 1, 16, 0, 0, 0, 10 }, { 0, 16, 0, 0, 0, 10 }, { -1, 16, 0, 0, 0, 10 }, { -2, 16, 0, 0, 0, 10 }, { -3, 16, 0, 0, 0, 10 }, + { -4, 16, 0, 0, 0, 10 }, { -5, 16, 0, 0, 0, 10 }, { -6, 16, 0, 0, 0, 10 }, { -7, 16, 0, 0, 0, 10 }, { -8, 16, 0, 0, 0, 10 }, + { -9, 16, 0, 0, 0, 10 }, { -10, 16, 0, 0, 0, 11 }, { -11, 16, 0, 0, 0, 11 }, { -12, 16, 0, 0, 0, 11 }, { -13, 16, 0, 0, 0, 11 }, + { -14, 16, 0, 0, 0, 11 }, { -15, 16, 0, 0, 0, 11 }, { -16, 16, 0, 0, 0, 11 }, { -17, 16, 0, 0, 0, 11 }, { -18, 16, 0, 0, 0, 11 }, + { -19, 16, 0, 0, 0, 11 }, { -20, 16, 0, 0, 0, 11 }, { -21, 16, 0, 0, 0, 11 }, { -22, 16, 0, 0, 0, 12 }, { -23, 16, 0, 0, 0, 12 }, + { -24, 16, 0, 0, 0, 12 }, { -25, 16, 0, 0, 0, 12 }, { -26, 16, 0, 0, 0, 12 }, { -27, 16, 0, 0, 0, 12 }, { -28, 16, 0, 0, 0, 12 }, + { -29, 16, 0, 0, 0, 12 }, { -30, 16, 0, 0, 0, 12 }, { -31, 16, 0, 0, 0, 12 }, { -32, 16, 0, 0, 0, 12 }, { -33, 16, 0, 0, 0, 12 }, + { -34, 16, 0, 0, 0, 13 }, { -35, 16, 0, 0, 0, 13 }, { -36, 16, 0, 0, 0, 13 }, { -37, 16, 0, 0, 0, 13 }, { -38, 16, 0, 0, 0, 13 }, + { -39, 16, 0, 0, 0, 13 }, { -40, 16, 0, 0, 0, 13 }, { -41, 16, 0, 0, 0, 13 }, { -42, 16, 0, 0, 0, 13 }, { -43, 16, 0, 0, 0, 13 }, + { -44, 16, 0, 0, 0, 13 }, { -45, 16, 0, 0, 0, 13 }, { -46, 16, 0, 0, 0, 14 }, { -47, 16, 0, 0, 0, 14 }, { -48, 16, 0, 0, 0, 14 }, + { -49, 16, 0, 0, 0, 14 }, { -50, 16, 0, 0, 0, 14 }, { -51, 16, 0, 0, 0, 14 }, { -52, 16, 0, 0, 0, 14 }, { -53, 16, 0, 0, 0, 14 }, + { -54, 16, 0, 0, 0, 14 }, { -55, 16, 0, 0, 0, 14 }, { -56, 16, 0, 0, 0, 14 }, { -57, 16, 0, 0, 0, 14 }, { -58, 16, 0, 16, 16, 0 }, + { -59, 16, 0, 16, 16, 0 }, { -60, 16, 0, 16, 16, 0 }, { -61, 16, 0, 16, 16, 0 }, { -62, 16, 0, 16, 16, 0 }, { -63, 16, 0, 16, 16, 0 }, + { -64, 16, 0, 16, 16, 0 }, { -65, 16, 0, 16, 16, 0 }, { -66, 16, 0, 16, 16, 0 }, { -67, 16, 0, 16, 16, 0 }, { -68, 16, 0, 16, 16, 0 }, + { -69, 16, 0, 16, 16, 0 }, { -70, 16, 0, 0, 0, 9 }, { -71, 16, 0, 0, 0, 9 }, { -72, 16, 0, 0, 0, 9 }, { -73, 16, 0, 0, 0, 9 }, + { -74, 16, 0, 0, 0, 9 }, { -75, 16, 0, 0, 0, 9 }, { -76, 16, 0, 0, 0, 9 }, { -77, 16, 0, 0, 0, 9 }, { -78, 16, 0, 0, 0, 9 }, + { -79, 16, 0, 0, 0, 9 }, { -80, 16, 0, 0, 0, 9 }, { -81, 16, 0, 0, 0, 9 }, { -82, 16, 0, 0, 0, 8 }, { -83, 16, 0, 0, 0, 8 }, + { -84, 16, 0, 0, 0, 8 }, { -85, 16, 0, 0, 0, 8 }, { -86, 16, 0, 0, 0, 8 }, { -87, 16, 0, 0, 0, 8 }, { -88, 16, 0, 0, 0, 8 }, + { -89, 16, 0, 0, 0, 8 }, { -90, 16, 0, 0, 0, 8 }, { -91, 16, 0, 0, 0, 8 }, { -92, 16, 0, 0, 0, 8 }, { -93, 16, 0, 0, 0, 8 }, + { -94, 16, 0, 0, 0, 7 }, { -95, 16, 0, 0, 0, 7 }, { -96, 16, 0, 0, 0, 7 }, { -97, 16, 0, 0, 0, 7 }, { -98, 16, 0, 0, 0, 7 }, + { -99, 16, 0, 0, 0, 7 }, { -100, 16, 0, 0, 0, 7 }, { -101, 16, 0, 0, 0, 7 }, { -102, 16, 0, 0, 0, 7 }, { -103, 16, 0, 0, 0, 7 }, + { -104, 16, 0, 0, 0, 7 }, { -105, 16, 0, 0, 0, 7 }, { -106, 16, 0, 0, 0, 6 }, { -107, 16, 0, 0, 0, 6 }, { -108, 16, 0, 0, 0, 6 }, + { -109, 16, 0, 0, 0, 6 }, { -110, 16, 0, 0, 0, 6 }, { -111, 16, 0, 0, 0, 6 }, { -112, 16, 0, 0, 0, 6 }, { -113, 16, 0, 0, 0, 6 }, + { -114, 16, 0, 0, 0, 6 }, { -115, 16, 0, 0, 0, 6 }, { -116, 16, 0, 0, 0, 6 }, { -117, 16, 0, 0, 0, 6 }, { -118, 16, 0, 0, 0, 5 }, + { -119, 16, 0, 0, 0, 5 }, { -120, 16, 0, 0, 0, 5 }, { -121, 16, 0, 0, 0, 5 }, { -122, 16, 0, 0, 0, 5 }, { -123, 16, 0, 0, 0, 5 }, + { -124, 16, 0, 0, 0, 5 }, { -125, 16, 0, 0, 0, 5 }, { -126, 16, 0, 0, 0, 5 }, { -127, 16, 0, 0, 0, 5 }, { -128, 16, 0, 0, 0, 5 }, + { -129, 16, 0, 0, 0, 5 }, { -130, 16, 0, 0, 0, 2 }, { -131, 16, 0, 0, 0, 2 }, { -132, 16, 0, 0, 0, 2 }, { -133, 16, 0, 0, 0, 2 }, + { -134, 16, 0, 0, 0, 2 }, { -135, 16, 0, 0, 0, 2 }, { -136, 16, 0, 0, 0, 2 }, { -137, 16, 0, 0, 0, 2 }, { -138, 16, 0, 0, 0, 2 }, + { -139, 16, 0, 0, 0, 2 }, { -140, 16, 0, 0, 0, 2 }, { -141, 16, 0, 0, 0, 2 }, { -142, 16, 0, 0, 0, 1 }, { -143, 16, 0, 0, 0, 1 }, + { -144, 16, 0, 0, 0, 1 }, { -145, 16, 0, 0, 0, 1 }, { -146, 16, 0, 0, 0, 1 }, { -147, 16, 0, 0, 0, 1 }, { -148, 16, 0, 0, 0, 1 }, + { -149, 16, 0, 0, 0, 1 }, { -150, 16, 0, 0, 0, 1 }, { -151, 16, 0, 0, 0, 1 }, { -152, 16, 0, 0, 0, 1 }, { -153, 16, 0, 0, 0, 1 }, + { -154, 16, 0, 0, 0, 0 }, { -155, 16, 0, 0, 0, 0 }, { -156, 16, 0, 0, 0, 0 }, { -157, 16, 0, 0, 0, 0 }, { -158, 16, 0, 0, 0, 0 }, + { -159, 16, 0, 0, 0, 0 }, { -160, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93202C = { - 192, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 3 }, { 16, 6, 0, 8, 0, 3 }, { 16, 7, 0, 8, 0, 3 }, { 16, 8, 0, 8, 0, 3 }, { 16, 9, 0, 8, 0, 3 }, - { 16, 10, 0, 8, 0, 3 }, { 16, 11, 0, 8, 0, 3 }, { 16, 12, 0, 8, 0, 3 }, { 16, 13, 0, 8, 0, 3 }, { 16, 14, 0, 8, 0, 3 }, - { 16, 15, 0, 8, 0, 3 }, { 16, 16, 0, 8, 0, 3 }, { 16, 17, 0, 8, 0, 4 }, { 16, 18, 0, 8, 0, 4 }, { 16, 19, 0, 8, 0, 4 }, - { 16, 20, 0, 8, 0, 4 }, { 16, 21, 0, 8, 0, 4 }, { 16, 22, 0, 8, 0, 4 }, { 16, 23, 0, 8, 0, 4 }, { 16, 24, 0, 8, 0, 4 }, - { 16, 25, 0, 8, 0, 4 }, { 16, 26, 0, 8, 0, 4 }, { 16, 27, 0, 8, 0, 4 }, { 16, 28, 0, 8, 0, 4 }, { 16, 29, 0, 8, 0, 10 }, - { 16, 30, 0, 8, 0, 10 }, { 16, 31, 0, 8, 0, 10 }, { 16, 32, 0, 8, 0, 10 }, { 16, 33, 0, 8, 0, 10 }, { 16, 34, 0, 8, 0, 10 }, - { 16, 35, 0, 8, 0, 10 }, { 16, 36, 0, 8, 0, 10 }, { 16, 37, 0, 8, 0, 10 }, { 16, 38, 0, 8, 0, 10 }, { 16, 39, 0, 8, 0, 10 }, - { 16, 40, 0, 8, 0, 10 }, { 16, 41, 0, 8, 0, 11 }, { 16, 42, 0, 8, 0, 11 }, { 16, 43, 0, 8, 0, 11 }, { 16, 44, 0, 8, 0, 11 }, - { 16, 45, 0, 8, 0, 11 }, { 16, 46, 0, 8, 0, 11 }, { 16, 47, 0, 8, 0, 11 }, { 16, 48, 0, 8, 0, 11 }, { 16, 49, 0, 8, 0, 11 }, - { 16, 50, 0, 8, 0, 11 }, { 16, 51, 0, 8, 0, 11 }, { 16, 52, 0, 8, 0, 11 }, { 16, 53, 0, 8, 0, 12 }, { 16, 54, 0, 8, 0, 12 }, - { 16, 55, 0, 8, 0, 12 }, { 16, 56, 0, 8, 0, 12 }, { 16, 57, 0, 8, 0, 12 }, { 16, 58, 0, 8, 0, 12 }, { 16, 59, 0, 8, 0, 12 }, - { 16, 60, 0, 8, 0, 12 }, { 16, 61, 0, 8, 0, 12 }, { 16, 62, 0, 8, 0, 12 }, { 16, 63, 0, 8, 0, 12 }, { 16, 64, 0, 8, 0, 12 }, - { 16, 65, 0, 8, 0, 13 }, { 16, 66, 0, 8, 0, 13 }, { 16, 67, 0, 8, 0, 13 }, { 16, 68, 0, 8, 0, 13 }, { 16, 69, 0, 8, 0, 13 }, - { 16, 70, 0, 8, 0, 13 }, { 16, 71, 0, 8, 0, 13 }, { 16, 72, 0, 8, 0, 13 }, { 16, 73, 0, 8, 0, 13 }, { 16, 74, 0, 8, 0, 13 }, - { 16, 75, 0, 8, 0, 13 }, { 16, 76, 0, 8, 0, 13 }, { 16, 77, 0, 8, 0, 14 }, { 16, 78, 0, 8, 0, 14 }, { 16, 79, 0, 8, 0, 14 }, - { 16, 80, 0, 8, 0, 14 }, { 16, 81, 0, 8, 0, 14 }, { 16, 82, 0, 8, 0, 14 }, { 16, 83, 0, 8, 0, 14 }, { 16, 84, 0, 8, 0, 14 }, - { 16, 85, 0, 8, 0, 14 }, { 16, 86, 0, 8, 0, 14 }, { 16, 87, 0, 8, 0, 14 }, { 16, 88, 0, 8, 0, 14 }, { 16, 89, 0, 24, 16, 0 }, - { 16, 90, 0, 24, 16, 0 }, { 16, 91, 0, 24, 16, 0 }, { 16, 92, 0, 24, 16, 0 }, { 16, 93, 0, 24, 16, 0 }, { 16, 94, 0, 24, 16, 0 }, - { 16, 95, 0, 24, 16, 0 }, { 16, 96, 0, 24, 16, 0 }, { 16, 97, 0, 24, 16, 0 }, { 16, 98, 0, 24, 16, 0 }, { 16, 99, 0, 24, 16, 0 }, - { 16, 100, 0, 24, 16, 0 }, { 16, 101, 0, 8, 0, 9 }, { 16, 102, 0, 8, 0, 9 }, { 16, 103, 0, 8, 0, 9 }, { 16, 104, 0, 8, 0, 9 }, - { 16, 105, 0, 8, 0, 9 }, { 16, 106, 0, 8, 0, 9 }, { 16, 107, 0, 8, 0, 9 }, { 16, 108, 0, 8, 0, 9 }, { 16, 109, 0, 8, 0, 9 }, - { 16, 110, 0, 8, 0, 9 }, { 16, 111, 0, 8, 0, 9 }, { 16, 112, 0, 8, 0, 9 }, { 16, 113, 0, 8, 0, 8 }, { 16, 114, 0, 8, 0, 8 }, - { 16, 115, 0, 8, 0, 8 }, { 16, 116, 0, 8, 0, 8 }, { 16, 117, 0, 8, 0, 8 }, { 16, 118, 0, 8, 0, 8 }, { 16, 119, 0, 8, 0, 8 }, - { 16, 120, 0, 8, 0, 8 }, { 16, 121, 0, 8, 0, 8 }, { 16, 122, 0, 8, 0, 8 }, { 16, 123, 0, 8, 0, 8 }, { 16, 124, 0, 8, 0, 8 }, - { 16, 125, 0, 8, 0, 7 }, { 16, 126, 0, 8, 0, 7 }, { 16, 127, 0, 8, 0, 7 }, { 16, 128, 0, 8, 0, 7 }, { 16, 129, 0, 8, 0, 7 }, - { 16, 130, 0, 8, 0, 7 }, { 16, 131, 0, 8, 0, 7 }, { 16, 132, 0, 8, 0, 7 }, { 16, 133, 0, 8, 0, 7 }, { 16, 134, 0, 8, 0, 7 }, - { 16, 135, 0, 8, 0, 7 }, { 16, 136, 0, 8, 0, 7 }, { 16, 137, 0, 8, 0, 6 }, { 16, 138, 0, 8, 0, 6 }, { 16, 139, 0, 8, 0, 6 }, - { 16, 140, 0, 8, 0, 6 }, { 16, 141, 0, 8, 0, 6 }, { 16, 142, 0, 8, 0, 6 }, { 16, 143, 0, 8, 0, 6 }, { 16, 144, 0, 8, 0, 6 }, - { 16, 145, 0, 8, 0, 6 }, { 16, 146, 0, 8, 0, 6 }, { 16, 147, 0, 8, 0, 6 }, { 16, 148, 0, 8, 0, 6 }, { 16, 149, 0, 8, 0, 5 }, - { 16, 150, 0, 8, 0, 5 }, { 16, 151, 0, 8, 0, 5 }, { 16, 152, 0, 8, 0, 5 }, { 16, 153, 0, 8, 0, 5 }, { 16, 154, 0, 8, 0, 5 }, - { 16, 155, 0, 8, 0, 5 }, { 16, 156, 0, 8, 0, 5 }, { 16, 157, 0, 8, 0, 5 }, { 16, 158, 0, 8, 0, 5 }, { 16, 159, 0, 8, 0, 5 }, - { 16, 160, 0, 8, 0, 5 }, { 16, 161, 0, 8, 0, 2 }, { 16, 162, 0, 8, 0, 2 }, { 16, 163, 0, 8, 0, 2 }, { 16, 164, 0, 8, 0, 2 }, - { 16, 165, 0, 8, 0, 2 }, { 16, 166, 0, 8, 0, 2 }, { 16, 167, 0, 8, 0, 2 }, { 16, 168, 0, 8, 0, 2 }, { 16, 169, 0, 8, 0, 2 }, - { 16, 170, 0, 8, 0, 2 }, { 16, 171, 0, 8, 0, 2 }, { 16, 172, 0, 8, 0, 2 }, { 16, 173, 0, 8, 0, 1 }, { 16, 174, 0, 8, 0, 1 }, - { 16, 175, 0, 8, 0, 1 }, { 16, 176, 0, 8, 0, 1 }, { 16, 177, 0, 8, 0, 1 }, { 16, 178, 0, 8, 0, 1 }, { 16, 179, 0, 8, 0, 1 }, - { 16, 180, 0, 8, 0, 1 }, { 16, 181, 0, 8, 0, 1 }, { 16, 182, 0, 8, 0, 1 }, { 16, 183, 0, 8, 0, 1 }, { 16, 184, 0, 8, 0, 1 }, - { 16, 185, 0, 8, 0, 0 }, { 16, 186, 0, 8, 0, 0 }, { 16, 187, 0, 8, 0, 0 }, { 16, 188, 0, 8, 0, 0 }, { 16, 189, 0, 8, 0, 0 }, - { 16, 190, 0, 8, 0, 0 }, { 16, 191, 0, 8, 0, 0 }, + 192, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 3 }, { 16, 6, 0, 8, 0, 3 }, { 16, 7, 0, 8, 0, 3 }, { 16, 8, 0, 8, 0, 3 }, { 16, 9, 0, 8, 0, 3 }, + { 16, 10, 0, 8, 0, 3 }, { 16, 11, 0, 8, 0, 3 }, { 16, 12, 0, 8, 0, 3 }, { 16, 13, 0, 8, 0, 3 }, { 16, 14, 0, 8, 0, 3 }, + { 16, 15, 0, 8, 0, 3 }, { 16, 16, 0, 8, 0, 3 }, { 16, 17, 0, 8, 0, 4 }, { 16, 18, 0, 8, 0, 4 }, { 16, 19, 0, 8, 0, 4 }, + { 16, 20, 0, 8, 0, 4 }, { 16, 21, 0, 8, 0, 4 }, { 16, 22, 0, 8, 0, 4 }, { 16, 23, 0, 8, 0, 4 }, { 16, 24, 0, 8, 0, 4 }, + { 16, 25, 0, 8, 0, 4 }, { 16, 26, 0, 8, 0, 4 }, { 16, 27, 0, 8, 0, 4 }, { 16, 28, 0, 8, 0, 4 }, { 16, 29, 0, 8, 0, 10 }, + { 16, 30, 0, 8, 0, 10 }, { 16, 31, 0, 8, 0, 10 }, { 16, 32, 0, 8, 0, 10 }, { 16, 33, 0, 8, 0, 10 }, { 16, 34, 0, 8, 0, 10 }, + { 16, 35, 0, 8, 0, 10 }, { 16, 36, 0, 8, 0, 10 }, { 16, 37, 0, 8, 0, 10 }, { 16, 38, 0, 8, 0, 10 }, { 16, 39, 0, 8, 0, 10 }, + { 16, 40, 0, 8, 0, 10 }, { 16, 41, 0, 8, 0, 11 }, { 16, 42, 0, 8, 0, 11 }, { 16, 43, 0, 8, 0, 11 }, { 16, 44, 0, 8, 0, 11 }, + { 16, 45, 0, 8, 0, 11 }, { 16, 46, 0, 8, 0, 11 }, { 16, 47, 0, 8, 0, 11 }, { 16, 48, 0, 8, 0, 11 }, { 16, 49, 0, 8, 0, 11 }, + { 16, 50, 0, 8, 0, 11 }, { 16, 51, 0, 8, 0, 11 }, { 16, 52, 0, 8, 0, 11 }, { 16, 53, 0, 8, 0, 12 }, { 16, 54, 0, 8, 0, 12 }, + { 16, 55, 0, 8, 0, 12 }, { 16, 56, 0, 8, 0, 12 }, { 16, 57, 0, 8, 0, 12 }, { 16, 58, 0, 8, 0, 12 }, { 16, 59, 0, 8, 0, 12 }, + { 16, 60, 0, 8, 0, 12 }, { 16, 61, 0, 8, 0, 12 }, { 16, 62, 0, 8, 0, 12 }, { 16, 63, 0, 8, 0, 12 }, { 16, 64, 0, 8, 0, 12 }, + { 16, 65, 0, 8, 0, 13 }, { 16, 66, 0, 8, 0, 13 }, { 16, 67, 0, 8, 0, 13 }, { 16, 68, 0, 8, 0, 13 }, { 16, 69, 0, 8, 0, 13 }, + { 16, 70, 0, 8, 0, 13 }, { 16, 71, 0, 8, 0, 13 }, { 16, 72, 0, 8, 0, 13 }, { 16, 73, 0, 8, 0, 13 }, { 16, 74, 0, 8, 0, 13 }, + { 16, 75, 0, 8, 0, 13 }, { 16, 76, 0, 8, 0, 13 }, { 16, 77, 0, 8, 0, 14 }, { 16, 78, 0, 8, 0, 14 }, { 16, 79, 0, 8, 0, 14 }, + { 16, 80, 0, 8, 0, 14 }, { 16, 81, 0, 8, 0, 14 }, { 16, 82, 0, 8, 0, 14 }, { 16, 83, 0, 8, 0, 14 }, { 16, 84, 0, 8, 0, 14 }, + { 16, 85, 0, 8, 0, 14 }, { 16, 86, 0, 8, 0, 14 }, { 16, 87, 0, 8, 0, 14 }, { 16, 88, 0, 8, 0, 14 }, { 16, 89, 0, 24, 16, 0 }, + { 16, 90, 0, 24, 16, 0 }, { 16, 91, 0, 24, 16, 0 }, { 16, 92, 0, 24, 16, 0 }, { 16, 93, 0, 24, 16, 0 }, { 16, 94, 0, 24, 16, 0 }, + { 16, 95, 0, 24, 16, 0 }, { 16, 96, 0, 24, 16, 0 }, { 16, 97, 0, 24, 16, 0 }, { 16, 98, 0, 24, 16, 0 }, { 16, 99, 0, 24, 16, 0 }, + { 16, 100, 0, 24, 16, 0 }, { 16, 101, 0, 8, 0, 9 }, { 16, 102, 0, 8, 0, 9 }, { 16, 103, 0, 8, 0, 9 }, { 16, 104, 0, 8, 0, 9 }, + { 16, 105, 0, 8, 0, 9 }, { 16, 106, 0, 8, 0, 9 }, { 16, 107, 0, 8, 0, 9 }, { 16, 108, 0, 8, 0, 9 }, { 16, 109, 0, 8, 0, 9 }, + { 16, 110, 0, 8, 0, 9 }, { 16, 111, 0, 8, 0, 9 }, { 16, 112, 0, 8, 0, 9 }, { 16, 113, 0, 8, 0, 8 }, { 16, 114, 0, 8, 0, 8 }, + { 16, 115, 0, 8, 0, 8 }, { 16, 116, 0, 8, 0, 8 }, { 16, 117, 0, 8, 0, 8 }, { 16, 118, 0, 8, 0, 8 }, { 16, 119, 0, 8, 0, 8 }, + { 16, 120, 0, 8, 0, 8 }, { 16, 121, 0, 8, 0, 8 }, { 16, 122, 0, 8, 0, 8 }, { 16, 123, 0, 8, 0, 8 }, { 16, 124, 0, 8, 0, 8 }, + { 16, 125, 0, 8, 0, 7 }, { 16, 126, 0, 8, 0, 7 }, { 16, 127, 0, 8, 0, 7 }, { 16, 128, 0, 8, 0, 7 }, { 16, 129, 0, 8, 0, 7 }, + { 16, 130, 0, 8, 0, 7 }, { 16, 131, 0, 8, 0, 7 }, { 16, 132, 0, 8, 0, 7 }, { 16, 133, 0, 8, 0, 7 }, { 16, 134, 0, 8, 0, 7 }, + { 16, 135, 0, 8, 0, 7 }, { 16, 136, 0, 8, 0, 7 }, { 16, 137, 0, 8, 0, 6 }, { 16, 138, 0, 8, 0, 6 }, { 16, 139, 0, 8, 0, 6 }, + { 16, 140, 0, 8, 0, 6 }, { 16, 141, 0, 8, 0, 6 }, { 16, 142, 0, 8, 0, 6 }, { 16, 143, 0, 8, 0, 6 }, { 16, 144, 0, 8, 0, 6 }, + { 16, 145, 0, 8, 0, 6 }, { 16, 146, 0, 8, 0, 6 }, { 16, 147, 0, 8, 0, 6 }, { 16, 148, 0, 8, 0, 6 }, { 16, 149, 0, 8, 0, 5 }, + { 16, 150, 0, 8, 0, 5 }, { 16, 151, 0, 8, 0, 5 }, { 16, 152, 0, 8, 0, 5 }, { 16, 153, 0, 8, 0, 5 }, { 16, 154, 0, 8, 0, 5 }, + { 16, 155, 0, 8, 0, 5 }, { 16, 156, 0, 8, 0, 5 }, { 16, 157, 0, 8, 0, 5 }, { 16, 158, 0, 8, 0, 5 }, { 16, 159, 0, 8, 0, 5 }, + { 16, 160, 0, 8, 0, 5 }, { 16, 161, 0, 8, 0, 2 }, { 16, 162, 0, 8, 0, 2 }, { 16, 163, 0, 8, 0, 2 }, { 16, 164, 0, 8, 0, 2 }, + { 16, 165, 0, 8, 0, 2 }, { 16, 166, 0, 8, 0, 2 }, { 16, 167, 0, 8, 0, 2 }, { 16, 168, 0, 8, 0, 2 }, { 16, 169, 0, 8, 0, 2 }, + { 16, 170, 0, 8, 0, 2 }, { 16, 171, 0, 8, 0, 2 }, { 16, 172, 0, 8, 0, 2 }, { 16, 173, 0, 8, 0, 1 }, { 16, 174, 0, 8, 0, 1 }, + { 16, 175, 0, 8, 0, 1 }, { 16, 176, 0, 8, 0, 1 }, { 16, 177, 0, 8, 0, 1 }, { 16, 178, 0, 8, 0, 1 }, { 16, 179, 0, 8, 0, 1 }, + { 16, 180, 0, 8, 0, 1 }, { 16, 181, 0, 8, 0, 1 }, { 16, 182, 0, 8, 0, 1 }, { 16, 183, 0, 8, 0, 1 }, { 16, 184, 0, 8, 0, 1 }, + { 16, 185, 0, 8, 0, 0 }, { 16, 186, 0, 8, 0, 0 }, { 16, 187, 0, 8, 0, 0 }, { 16, 188, 0, 8, 0, 0 }, { 16, 189, 0, 8, 0, 0 }, + { 16, 190, 0, 8, 0, 0 }, { 16, 191, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9326EE = { - 192, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 3 }, { 6, 16, 0, 16, 0, 3 }, { 7, 16, 0, 16, 0, 3 }, { 8, 16, 0, 16, 0, 3 }, { 9, 16, 0, 16, 0, 3 }, - { 10, 16, 0, 16, 0, 3 }, { 11, 16, 0, 16, 0, 3 }, { 12, 16, 0, 16, 0, 3 }, { 13, 16, 0, 16, 0, 3 }, { 14, 16, 0, 16, 0, 3 }, - { 15, 16, 0, 16, 0, 3 }, { 16, 16, 0, 16, 0, 3 }, { 17, 16, 0, 16, 0, 4 }, { 18, 16, 0, 16, 0, 4 }, { 19, 16, 0, 16, 0, 4 }, - { 20, 16, 0, 16, 0, 4 }, { 21, 16, 0, 16, 0, 4 }, { 22, 16, 0, 16, 0, 4 }, { 23, 16, 0, 16, 0, 4 }, { 24, 16, 0, 16, 0, 4 }, - { 25, 16, 0, 16, 0, 4 }, { 26, 16, 0, 16, 0, 4 }, { 27, 16, 0, 16, 0, 4 }, { 28, 16, 0, 16, 0, 4 }, { 29, 16, 0, 16, 0, 10 }, - { 30, 16, 0, 16, 0, 10 }, { 31, 16, 0, 16, 0, 10 }, { 32, 16, 0, 16, 0, 10 }, { 33, 16, 0, 16, 0, 10 }, { 34, 16, 0, 16, 0, 10 }, - { 35, 16, 0, 16, 0, 10 }, { 36, 16, 0, 16, 0, 10 }, { 37, 16, 0, 16, 0, 10 }, { 38, 16, 0, 16, 0, 10 }, { 39, 16, 0, 16, 0, 10 }, - { 40, 16, 0, 16, 0, 10 }, { 41, 16, 0, 16, 0, 11 }, { 42, 16, 0, 16, 0, 11 }, { 43, 16, 0, 16, 0, 11 }, { 44, 16, 0, 16, 0, 11 }, - { 45, 16, 0, 16, 0, 11 }, { 46, 16, 0, 16, 0, 11 }, { 47, 16, 0, 16, 0, 11 }, { 48, 16, 0, 16, 0, 11 }, { 49, 16, 0, 16, 0, 11 }, - { 50, 16, 0, 16, 0, 11 }, { 51, 16, 0, 16, 0, 11 }, { 52, 16, 0, 16, 0, 11 }, { 53, 16, 0, 16, 0, 12 }, { 54, 16, 0, 16, 0, 12 }, - { 55, 16, 0, 16, 0, 12 }, { 56, 16, 0, 16, 0, 12 }, { 57, 16, 0, 16, 0, 12 }, { 58, 16, 0, 16, 0, 12 }, { 59, 16, 0, 16, 0, 12 }, - { 60, 16, 0, 16, 0, 12 }, { 61, 16, 0, 16, 0, 12 }, { 62, 16, 0, 16, 0, 12 }, { 63, 16, 0, 16, 0, 12 }, { 64, 16, 0, 16, 0, 12 }, - { 65, 16, 0, 16, 0, 13 }, { 66, 16, 0, 16, 0, 13 }, { 67, 16, 0, 16, 0, 13 }, { 68, 16, 0, 16, 0, 13 }, { 69, 16, 0, 16, 0, 13 }, - { 70, 16, 0, 16, 0, 13 }, { 71, 16, 0, 16, 0, 13 }, { 72, 16, 0, 16, 0, 13 }, { 73, 16, 0, 16, 0, 13 }, { 74, 16, 0, 16, 0, 13 }, - { 75, 16, 0, 16, 0, 13 }, { 76, 16, 0, 16, 0, 13 }, { 77, 16, 0, 16, 0, 14 }, { 78, 16, 0, 16, 0, 14 }, { 79, 16, 0, 16, 0, 14 }, - { 80, 16, 0, 16, 0, 14 }, { 81, 16, 0, 16, 0, 14 }, { 82, 16, 0, 16, 0, 14 }, { 83, 16, 0, 16, 0, 14 }, { 84, 16, 0, 16, 0, 14 }, - { 85, 16, 0, 16, 0, 14 }, { 86, 16, 0, 16, 0, 14 }, { 87, 16, 0, 16, 0, 14 }, { 88, 16, 0, 16, 0, 14 }, { 89, 16, 0, 0, 16, 0 }, - { 90, 16, 0, 0, 16, 0 }, { 91, 16, 0, 0, 16, 0 }, { 92, 16, 0, 0, 16, 0 }, { 93, 16, 0, 0, 16, 0 }, { 94, 16, 0, 0, 16, 0 }, - { 95, 16, 0, 0, 16, 0 }, { 96, 16, 0, 0, 16, 0 }, { 97, 16, 0, 0, 16, 0 }, { 98, 16, 0, 0, 16, 0 }, { 99, 16, 0, 0, 16, 0 }, - { 100, 16, 0, 0, 16, 0 }, { 101, 16, 0, 16, 0, 9 }, { 102, 16, 0, 16, 0, 9 }, { 103, 16, 0, 16, 0, 9 }, { 104, 16, 0, 16, 0, 9 }, - { 105, 16, 0, 16, 0, 9 }, { 106, 16, 0, 16, 0, 9 }, { 107, 16, 0, 16, 0, 9 }, { 108, 16, 0, 16, 0, 9 }, { 109, 16, 0, 16, 0, 9 }, - { 110, 16, 0, 16, 0, 9 }, { 111, 16, 0, 16, 0, 9 }, { 112, 16, 0, 16, 0, 9 }, { 113, 16, 0, 16, 0, 8 }, { 114, 16, 0, 16, 0, 8 }, - { 115, 16, 0, 16, 0, 8 }, { 116, 16, 0, 16, 0, 8 }, { 117, 16, 0, 16, 0, 8 }, { 118, 16, 0, 16, 0, 8 }, { 119, 16, 0, 16, 0, 8 }, - { 120, 16, 0, 16, 0, 8 }, { 121, 16, 0, 16, 0, 8 }, { 122, 16, 0, 16, 0, 8 }, { 123, 16, 0, 16, 0, 8 }, { 124, 16, 0, 16, 0, 8 }, - { 125, 16, 0, 16, 0, 7 }, { 126, 16, 0, 16, 0, 7 }, { 127, 16, 0, 16, 0, 7 }, { 128, 16, 0, 16, 0, 7 }, { 129, 16, 0, 16, 0, 7 }, - { 130, 16, 0, 16, 0, 7 }, { 131, 16, 0, 16, 0, 7 }, { 132, 16, 0, 16, 0, 7 }, { 133, 16, 0, 16, 0, 7 }, { 134, 16, 0, 16, 0, 7 }, - { 135, 16, 0, 16, 0, 7 }, { 136, 16, 0, 16, 0, 7 }, { 137, 16, 0, 16, 0, 6 }, { 138, 16, 0, 16, 0, 6 }, { 139, 16, 0, 16, 0, 6 }, - { 140, 16, 0, 16, 0, 6 }, { 141, 16, 0, 16, 0, 6 }, { 142, 16, 0, 16, 0, 6 }, { 143, 16, 0, 16, 0, 6 }, { 144, 16, 0, 16, 0, 6 }, - { 145, 16, 0, 16, 0, 6 }, { 146, 16, 0, 16, 0, 6 }, { 147, 16, 0, 16, 0, 6 }, { 148, 16, 0, 16, 0, 6 }, { 149, 16, 0, 16, 0, 5 }, - { 150, 16, 0, 16, 0, 5 }, { 151, 16, 0, 16, 0, 5 }, { 152, 16, 0, 16, 0, 5 }, { 153, 16, 0, 16, 0, 5 }, { 154, 16, 0, 16, 0, 5 }, - { 155, 16, 0, 16, 0, 5 }, { 156, 16, 0, 16, 0, 5 }, { 157, 16, 0, 16, 0, 5 }, { 158, 16, 0, 16, 0, 5 }, { 159, 16, 0, 16, 0, 5 }, - { 160, 16, 0, 16, 0, 5 }, { 161, 16, 0, 16, 0, 2 }, { 162, 16, 0, 16, 0, 2 }, { 163, 16, 0, 16, 0, 2 }, { 164, 16, 0, 16, 0, 2 }, - { 165, 16, 0, 16, 0, 2 }, { 166, 16, 0, 16, 0, 2 }, { 167, 16, 0, 16, 0, 2 }, { 168, 16, 0, 16, 0, 2 }, { 169, 16, 0, 16, 0, 2 }, - { 170, 16, 0, 16, 0, 2 }, { 171, 16, 0, 16, 0, 2 }, { 172, 16, 0, 16, 0, 2 }, { 173, 16, 0, 16, 0, 1 }, { 174, 16, 0, 16, 0, 1 }, - { 175, 16, 0, 16, 0, 1 }, { 176, 16, 0, 16, 0, 1 }, { 177, 16, 0, 16, 0, 1 }, { 178, 16, 0, 16, 0, 1 }, { 179, 16, 0, 16, 0, 1 }, - { 180, 16, 0, 16, 0, 1 }, { 181, 16, 0, 16, 0, 1 }, { 182, 16, 0, 16, 0, 1 }, { 183, 16, 0, 16, 0, 1 }, { 184, 16, 0, 16, 0, 1 }, - { 185, 16, 0, 16, 0, 0 }, { 186, 16, 0, 16, 0, 0 }, { 187, 16, 0, 16, 0, 0 }, { 188, 16, 0, 16, 0, 0 }, { 189, 16, 0, 16, 0, 0 }, - { 190, 16, 0, 16, 0, 0 }, { 191, 16, 0, 16, 0, 0 }, + 192, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 3 }, { 6, 16, 0, 16, 0, 3 }, { 7, 16, 0, 16, 0, 3 }, { 8, 16, 0, 16, 0, 3 }, { 9, 16, 0, 16, 0, 3 }, + { 10, 16, 0, 16, 0, 3 }, { 11, 16, 0, 16, 0, 3 }, { 12, 16, 0, 16, 0, 3 }, { 13, 16, 0, 16, 0, 3 }, { 14, 16, 0, 16, 0, 3 }, + { 15, 16, 0, 16, 0, 3 }, { 16, 16, 0, 16, 0, 3 }, { 17, 16, 0, 16, 0, 4 }, { 18, 16, 0, 16, 0, 4 }, { 19, 16, 0, 16, 0, 4 }, + { 20, 16, 0, 16, 0, 4 }, { 21, 16, 0, 16, 0, 4 }, { 22, 16, 0, 16, 0, 4 }, { 23, 16, 0, 16, 0, 4 }, { 24, 16, 0, 16, 0, 4 }, + { 25, 16, 0, 16, 0, 4 }, { 26, 16, 0, 16, 0, 4 }, { 27, 16, 0, 16, 0, 4 }, { 28, 16, 0, 16, 0, 4 }, { 29, 16, 0, 16, 0, 10 }, + { 30, 16, 0, 16, 0, 10 }, { 31, 16, 0, 16, 0, 10 }, { 32, 16, 0, 16, 0, 10 }, { 33, 16, 0, 16, 0, 10 }, { 34, 16, 0, 16, 0, 10 }, + { 35, 16, 0, 16, 0, 10 }, { 36, 16, 0, 16, 0, 10 }, { 37, 16, 0, 16, 0, 10 }, { 38, 16, 0, 16, 0, 10 }, { 39, 16, 0, 16, 0, 10 }, + { 40, 16, 0, 16, 0, 10 }, { 41, 16, 0, 16, 0, 11 }, { 42, 16, 0, 16, 0, 11 }, { 43, 16, 0, 16, 0, 11 }, { 44, 16, 0, 16, 0, 11 }, + { 45, 16, 0, 16, 0, 11 }, { 46, 16, 0, 16, 0, 11 }, { 47, 16, 0, 16, 0, 11 }, { 48, 16, 0, 16, 0, 11 }, { 49, 16, 0, 16, 0, 11 }, + { 50, 16, 0, 16, 0, 11 }, { 51, 16, 0, 16, 0, 11 }, { 52, 16, 0, 16, 0, 11 }, { 53, 16, 0, 16, 0, 12 }, { 54, 16, 0, 16, 0, 12 }, + { 55, 16, 0, 16, 0, 12 }, { 56, 16, 0, 16, 0, 12 }, { 57, 16, 0, 16, 0, 12 }, { 58, 16, 0, 16, 0, 12 }, { 59, 16, 0, 16, 0, 12 }, + { 60, 16, 0, 16, 0, 12 }, { 61, 16, 0, 16, 0, 12 }, { 62, 16, 0, 16, 0, 12 }, { 63, 16, 0, 16, 0, 12 }, { 64, 16, 0, 16, 0, 12 }, + { 65, 16, 0, 16, 0, 13 }, { 66, 16, 0, 16, 0, 13 }, { 67, 16, 0, 16, 0, 13 }, { 68, 16, 0, 16, 0, 13 }, { 69, 16, 0, 16, 0, 13 }, + { 70, 16, 0, 16, 0, 13 }, { 71, 16, 0, 16, 0, 13 }, { 72, 16, 0, 16, 0, 13 }, { 73, 16, 0, 16, 0, 13 }, { 74, 16, 0, 16, 0, 13 }, + { 75, 16, 0, 16, 0, 13 }, { 76, 16, 0, 16, 0, 13 }, { 77, 16, 0, 16, 0, 14 }, { 78, 16, 0, 16, 0, 14 }, { 79, 16, 0, 16, 0, 14 }, + { 80, 16, 0, 16, 0, 14 }, { 81, 16, 0, 16, 0, 14 }, { 82, 16, 0, 16, 0, 14 }, { 83, 16, 0, 16, 0, 14 }, { 84, 16, 0, 16, 0, 14 }, + { 85, 16, 0, 16, 0, 14 }, { 86, 16, 0, 16, 0, 14 }, { 87, 16, 0, 16, 0, 14 }, { 88, 16, 0, 16, 0, 14 }, { 89, 16, 0, 0, 16, 0 }, + { 90, 16, 0, 0, 16, 0 }, { 91, 16, 0, 0, 16, 0 }, { 92, 16, 0, 0, 16, 0 }, { 93, 16, 0, 0, 16, 0 }, { 94, 16, 0, 0, 16, 0 }, + { 95, 16, 0, 0, 16, 0 }, { 96, 16, 0, 0, 16, 0 }, { 97, 16, 0, 0, 16, 0 }, { 98, 16, 0, 0, 16, 0 }, { 99, 16, 0, 0, 16, 0 }, + { 100, 16, 0, 0, 16, 0 }, { 101, 16, 0, 16, 0, 9 }, { 102, 16, 0, 16, 0, 9 }, { 103, 16, 0, 16, 0, 9 }, { 104, 16, 0, 16, 0, 9 }, + { 105, 16, 0, 16, 0, 9 }, { 106, 16, 0, 16, 0, 9 }, { 107, 16, 0, 16, 0, 9 }, { 108, 16, 0, 16, 0, 9 }, { 109, 16, 0, 16, 0, 9 }, + { 110, 16, 0, 16, 0, 9 }, { 111, 16, 0, 16, 0, 9 }, { 112, 16, 0, 16, 0, 9 }, { 113, 16, 0, 16, 0, 8 }, { 114, 16, 0, 16, 0, 8 }, + { 115, 16, 0, 16, 0, 8 }, { 116, 16, 0, 16, 0, 8 }, { 117, 16, 0, 16, 0, 8 }, { 118, 16, 0, 16, 0, 8 }, { 119, 16, 0, 16, 0, 8 }, + { 120, 16, 0, 16, 0, 8 }, { 121, 16, 0, 16, 0, 8 }, { 122, 16, 0, 16, 0, 8 }, { 123, 16, 0, 16, 0, 8 }, { 124, 16, 0, 16, 0, 8 }, + { 125, 16, 0, 16, 0, 7 }, { 126, 16, 0, 16, 0, 7 }, { 127, 16, 0, 16, 0, 7 }, { 128, 16, 0, 16, 0, 7 }, { 129, 16, 0, 16, 0, 7 }, + { 130, 16, 0, 16, 0, 7 }, { 131, 16, 0, 16, 0, 7 }, { 132, 16, 0, 16, 0, 7 }, { 133, 16, 0, 16, 0, 7 }, { 134, 16, 0, 16, 0, 7 }, + { 135, 16, 0, 16, 0, 7 }, { 136, 16, 0, 16, 0, 7 }, { 137, 16, 0, 16, 0, 6 }, { 138, 16, 0, 16, 0, 6 }, { 139, 16, 0, 16, 0, 6 }, + { 140, 16, 0, 16, 0, 6 }, { 141, 16, 0, 16, 0, 6 }, { 142, 16, 0, 16, 0, 6 }, { 143, 16, 0, 16, 0, 6 }, { 144, 16, 0, 16, 0, 6 }, + { 145, 16, 0, 16, 0, 6 }, { 146, 16, 0, 16, 0, 6 }, { 147, 16, 0, 16, 0, 6 }, { 148, 16, 0, 16, 0, 6 }, { 149, 16, 0, 16, 0, 5 }, + { 150, 16, 0, 16, 0, 5 }, { 151, 16, 0, 16, 0, 5 }, { 152, 16, 0, 16, 0, 5 }, { 153, 16, 0, 16, 0, 5 }, { 154, 16, 0, 16, 0, 5 }, + { 155, 16, 0, 16, 0, 5 }, { 156, 16, 0, 16, 0, 5 }, { 157, 16, 0, 16, 0, 5 }, { 158, 16, 0, 16, 0, 5 }, { 159, 16, 0, 16, 0, 5 }, + { 160, 16, 0, 16, 0, 5 }, { 161, 16, 0, 16, 0, 2 }, { 162, 16, 0, 16, 0, 2 }, { 163, 16, 0, 16, 0, 2 }, { 164, 16, 0, 16, 0, 2 }, + { 165, 16, 0, 16, 0, 2 }, { 166, 16, 0, 16, 0, 2 }, { 167, 16, 0, 16, 0, 2 }, { 168, 16, 0, 16, 0, 2 }, { 169, 16, 0, 16, 0, 2 }, + { 170, 16, 0, 16, 0, 2 }, { 171, 16, 0, 16, 0, 2 }, { 172, 16, 0, 16, 0, 2 }, { 173, 16, 0, 16, 0, 1 }, { 174, 16, 0, 16, 0, 1 }, + { 175, 16, 0, 16, 0, 1 }, { 176, 16, 0, 16, 0, 1 }, { 177, 16, 0, 16, 0, 1 }, { 178, 16, 0, 16, 0, 1 }, { 179, 16, 0, 16, 0, 1 }, + { 180, 16, 0, 16, 0, 1 }, { 181, 16, 0, 16, 0, 1 }, { 182, 16, 0, 16, 0, 1 }, { 183, 16, 0, 16, 0, 1 }, { 184, 16, 0, 16, 0, 1 }, + { 185, 16, 0, 16, 0, 0 }, { 186, 16, 0, 16, 0, 0 }, { 187, 16, 0, 16, 0, 0 }, { 188, 16, 0, 16, 0, 0 }, { 189, 16, 0, 16, 0, 0 }, + { 190, 16, 0, 16, 0, 0 }, { 191, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_932DB0 = { - 192, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 3 }, { 16, 25, 0, 24, 0, 3 }, { 16, 24, 0, 24, 0, 3 }, { 16, 23, 0, 24, 0, 3 }, { 16, 22, 0, 24, 0, 3 }, - { 16, 21, 0, 24, 0, 3 }, { 16, 20, 0, 24, 0, 3 }, { 16, 19, 0, 24, 0, 3 }, { 16, 18, 0, 24, 0, 3 }, { 16, 17, 0, 24, 0, 3 }, - { 16, 16, 0, 24, 0, 3 }, { 16, 15, 0, 24, 0, 3 }, { 16, 14, 0, 24, 0, 4 }, { 16, 13, 0, 24, 0, 4 }, { 16, 12, 0, 24, 0, 4 }, - { 16, 11, 0, 24, 0, 4 }, { 16, 10, 0, 24, 0, 4 }, { 16, 9, 0, 24, 0, 4 }, { 16, 8, 0, 24, 0, 4 }, { 16, 7, 0, 24, 0, 4 }, - { 16, 6, 0, 24, 0, 4 }, { 16, 5, 0, 24, 0, 4 }, { 16, 4, 0, 24, 0, 4 }, { 16, 3, 0, 24, 0, 4 }, { 16, 2, 0, 24, 0, 10 }, - { 16, 1, 0, 24, 0, 10 }, { 16, 0, 0, 24, 0, 10 }, { 16, -1, 0, 24, 0, 10 }, { 16, -2, 0, 24, 0, 10 }, { 16, -3, 0, 24, 0, 10 }, - { 16, -4, 0, 24, 0, 10 }, { 16, -5, 0, 24, 0, 10 }, { 16, -6, 0, 24, 0, 10 }, { 16, -7, 0, 24, 0, 10 }, { 16, -8, 0, 24, 0, 10 }, - { 16, -9, 0, 24, 0, 10 }, { 16, -10, 0, 24, 0, 11 }, { 16, -11, 0, 24, 0, 11 }, { 16, -12, 0, 24, 0, 11 }, { 16, -13, 0, 24, 0, 11 }, - { 16, -14, 0, 24, 0, 11 }, { 16, -15, 0, 24, 0, 11 }, { 16, -16, 0, 24, 0, 11 }, { 16, -17, 0, 24, 0, 11 }, { 16, -18, 0, 24, 0, 11 }, - { 16, -19, 0, 24, 0, 11 }, { 16, -20, 0, 24, 0, 11 }, { 16, -21, 0, 24, 0, 11 }, { 16, -22, 0, 24, 0, 12 }, { 16, -23, 0, 24, 0, 12 }, - { 16, -24, 0, 24, 0, 12 }, { 16, -25, 0, 24, 0, 12 }, { 16, -26, 0, 24, 0, 12 }, { 16, -27, 0, 24, 0, 12 }, { 16, -28, 0, 24, 0, 12 }, - { 16, -29, 0, 24, 0, 12 }, { 16, -30, 0, 24, 0, 12 }, { 16, -31, 0, 24, 0, 12 }, { 16, -32, 0, 24, 0, 12 }, { 16, -33, 0, 24, 0, 12 }, - { 16, -34, 0, 24, 0, 13 }, { 16, -35, 0, 24, 0, 13 }, { 16, -36, 0, 24, 0, 13 }, { 16, -37, 0, 24, 0, 13 }, { 16, -38, 0, 24, 0, 13 }, - { 16, -39, 0, 24, 0, 13 }, { 16, -40, 0, 24, 0, 13 }, { 16, -41, 0, 24, 0, 13 }, { 16, -42, 0, 24, 0, 13 }, { 16, -43, 0, 24, 0, 13 }, - { 16, -44, 0, 24, 0, 13 }, { 16, -45, 0, 24, 0, 13 }, { 16, -46, 0, 24, 0, 14 }, { 16, -47, 0, 24, 0, 14 }, { 16, -48, 0, 24, 0, 14 }, - { 16, -49, 0, 24, 0, 14 }, { 16, -50, 0, 24, 0, 14 }, { 16, -51, 0, 24, 0, 14 }, { 16, -52, 0, 24, 0, 14 }, { 16, -53, 0, 24, 0, 14 }, - { 16, -54, 0, 24, 0, 14 }, { 16, -55, 0, 24, 0, 14 }, { 16, -56, 0, 24, 0, 14 }, { 16, -57, 0, 24, 0, 14 }, { 16, -58, 0, 8, 16, 0 }, - { 16, -59, 0, 8, 16, 0 }, { 16, -60, 0, 8, 16, 0 }, { 16, -61, 0, 8, 16, 0 }, { 16, -62, 0, 8, 16, 0 }, { 16, -63, 0, 8, 16, 0 }, - { 16, -64, 0, 8, 16, 0 }, { 16, -65, 0, 8, 16, 0 }, { 16, -66, 0, 8, 16, 0 }, { 16, -67, 0, 8, 16, 0 }, { 16, -68, 0, 8, 16, 0 }, - { 16, -69, 0, 8, 16, 0 }, { 16, -70, 0, 24, 0, 9 }, { 16, -71, 0, 24, 0, 9 }, { 16, -72, 0, 24, 0, 9 }, { 16, -73, 0, 24, 0, 9 }, - { 16, -74, 0, 24, 0, 9 }, { 16, -75, 0, 24, 0, 9 }, { 16, -76, 0, 24, 0, 9 }, { 16, -77, 0, 24, 0, 9 }, { 16, -78, 0, 24, 0, 9 }, - { 16, -79, 0, 24, 0, 9 }, { 16, -80, 0, 24, 0, 9 }, { 16, -81, 0, 24, 0, 9 }, { 16, -82, 0, 24, 0, 8 }, { 16, -83, 0, 24, 0, 8 }, - { 16, -84, 0, 24, 0, 8 }, { 16, -85, 0, 24, 0, 8 }, { 16, -86, 0, 24, 0, 8 }, { 16, -87, 0, 24, 0, 8 }, { 16, -88, 0, 24, 0, 8 }, - { 16, -89, 0, 24, 0, 8 }, { 16, -90, 0, 24, 0, 8 }, { 16, -91, 0, 24, 0, 8 }, { 16, -92, 0, 24, 0, 8 }, { 16, -93, 0, 24, 0, 8 }, - { 16, -94, 0, 24, 0, 7 }, { 16, -95, 0, 24, 0, 7 }, { 16, -96, 0, 24, 0, 7 }, { 16, -97, 0, 24, 0, 7 }, { 16, -98, 0, 24, 0, 7 }, - { 16, -99, 0, 24, 0, 7 }, { 16, -100, 0, 24, 0, 7 }, { 16, -101, 0, 24, 0, 7 }, { 16, -102, 0, 24, 0, 7 }, { 16, -103, 0, 24, 0, 7 }, - { 16, -104, 0, 24, 0, 7 }, { 16, -105, 0, 24, 0, 7 }, { 16, -106, 0, 24, 0, 6 }, { 16, -107, 0, 24, 0, 6 }, { 16, -108, 0, 24, 0, 6 }, - { 16, -109, 0, 24, 0, 6 }, { 16, -110, 0, 24, 0, 6 }, { 16, -111, 0, 24, 0, 6 }, { 16, -112, 0, 24, 0, 6 }, { 16, -113, 0, 24, 0, 6 }, - { 16, -114, 0, 24, 0, 6 }, { 16, -115, 0, 24, 0, 6 }, { 16, -116, 0, 24, 0, 6 }, { 16, -117, 0, 24, 0, 6 }, { 16, -118, 0, 24, 0, 5 }, - { 16, -119, 0, 24, 0, 5 }, { 16, -120, 0, 24, 0, 5 }, { 16, -121, 0, 24, 0, 5 }, { 16, -122, 0, 24, 0, 5 }, { 16, -123, 0, 24, 0, 5 }, - { 16, -124, 0, 24, 0, 5 }, { 16, -125, 0, 24, 0, 5 }, { 16, -126, 0, 24, 0, 5 }, { 16, -127, 0, 24, 0, 5 }, { 16, -128, 0, 24, 0, 5 }, - { 16, -129, 0, 24, 0, 5 }, { 16, -130, 0, 24, 0, 2 }, { 16, -131, 0, 24, 0, 2 }, { 16, -132, 0, 24, 0, 2 }, { 16, -133, 0, 24, 0, 2 }, - { 16, -134, 0, 24, 0, 2 }, { 16, -135, 0, 24, 0, 2 }, { 16, -136, 0, 24, 0, 2 }, { 16, -137, 0, 24, 0, 2 }, { 16, -138, 0, 24, 0, 2 }, - { 16, -139, 0, 24, 0, 2 }, { 16, -140, 0, 24, 0, 2 }, { 16, -141, 0, 24, 0, 2 }, { 16, -142, 0, 24, 0, 1 }, { 16, -143, 0, 24, 0, 1 }, - { 16, -144, 0, 24, 0, 1 }, { 16, -145, 0, 24, 0, 1 }, { 16, -146, 0, 24, 0, 1 }, { 16, -147, 0, 24, 0, 1 }, { 16, -148, 0, 24, 0, 1 }, - { 16, -149, 0, 24, 0, 1 }, { 16, -150, 0, 24, 0, 1 }, { 16, -151, 0, 24, 0, 1 }, { 16, -152, 0, 24, 0, 1 }, { 16, -153, 0, 24, 0, 1 }, - { 16, -154, 0, 24, 0, 0 }, { 16, -155, 0, 24, 0, 0 }, { 16, -156, 0, 24, 0, 0 }, { 16, -157, 0, 24, 0, 0 }, { 16, -158, 0, 24, 0, 0 }, - { 16, -159, 0, 24, 0, 0 }, { 16, -160, 0, 24, 0, 0 }, + 192, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 3 }, { 16, 25, 0, 24, 0, 3 }, { 16, 24, 0, 24, 0, 3 }, { 16, 23, 0, 24, 0, 3 }, { 16, 22, 0, 24, 0, 3 }, + { 16, 21, 0, 24, 0, 3 }, { 16, 20, 0, 24, 0, 3 }, { 16, 19, 0, 24, 0, 3 }, { 16, 18, 0, 24, 0, 3 }, { 16, 17, 0, 24, 0, 3 }, + { 16, 16, 0, 24, 0, 3 }, { 16, 15, 0, 24, 0, 3 }, { 16, 14, 0, 24, 0, 4 }, { 16, 13, 0, 24, 0, 4 }, { 16, 12, 0, 24, 0, 4 }, + { 16, 11, 0, 24, 0, 4 }, { 16, 10, 0, 24, 0, 4 }, { 16, 9, 0, 24, 0, 4 }, { 16, 8, 0, 24, 0, 4 }, { 16, 7, 0, 24, 0, 4 }, + { 16, 6, 0, 24, 0, 4 }, { 16, 5, 0, 24, 0, 4 }, { 16, 4, 0, 24, 0, 4 }, { 16, 3, 0, 24, 0, 4 }, { 16, 2, 0, 24, 0, 10 }, + { 16, 1, 0, 24, 0, 10 }, { 16, 0, 0, 24, 0, 10 }, { 16, -1, 0, 24, 0, 10 }, { 16, -2, 0, 24, 0, 10 }, { 16, -3, 0, 24, 0, 10 }, + { 16, -4, 0, 24, 0, 10 }, { 16, -5, 0, 24, 0, 10 }, { 16, -6, 0, 24, 0, 10 }, { 16, -7, 0, 24, 0, 10 }, { 16, -8, 0, 24, 0, 10 }, + { 16, -9, 0, 24, 0, 10 }, { 16, -10, 0, 24, 0, 11 }, { 16, -11, 0, 24, 0, 11 }, { 16, -12, 0, 24, 0, 11 }, { 16, -13, 0, 24, 0, 11 }, + { 16, -14, 0, 24, 0, 11 }, { 16, -15, 0, 24, 0, 11 }, { 16, -16, 0, 24, 0, 11 }, { 16, -17, 0, 24, 0, 11 }, { 16, -18, 0, 24, 0, 11 }, + { 16, -19, 0, 24, 0, 11 }, { 16, -20, 0, 24, 0, 11 }, { 16, -21, 0, 24, 0, 11 }, { 16, -22, 0, 24, 0, 12 }, { 16, -23, 0, 24, 0, 12 }, + { 16, -24, 0, 24, 0, 12 }, { 16, -25, 0, 24, 0, 12 }, { 16, -26, 0, 24, 0, 12 }, { 16, -27, 0, 24, 0, 12 }, { 16, -28, 0, 24, 0, 12 }, + { 16, -29, 0, 24, 0, 12 }, { 16, -30, 0, 24, 0, 12 }, { 16, -31, 0, 24, 0, 12 }, { 16, -32, 0, 24, 0, 12 }, { 16, -33, 0, 24, 0, 12 }, + { 16, -34, 0, 24, 0, 13 }, { 16, -35, 0, 24, 0, 13 }, { 16, -36, 0, 24, 0, 13 }, { 16, -37, 0, 24, 0, 13 }, { 16, -38, 0, 24, 0, 13 }, + { 16, -39, 0, 24, 0, 13 }, { 16, -40, 0, 24, 0, 13 }, { 16, -41, 0, 24, 0, 13 }, { 16, -42, 0, 24, 0, 13 }, { 16, -43, 0, 24, 0, 13 }, + { 16, -44, 0, 24, 0, 13 }, { 16, -45, 0, 24, 0, 13 }, { 16, -46, 0, 24, 0, 14 }, { 16, -47, 0, 24, 0, 14 }, { 16, -48, 0, 24, 0, 14 }, + { 16, -49, 0, 24, 0, 14 }, { 16, -50, 0, 24, 0, 14 }, { 16, -51, 0, 24, 0, 14 }, { 16, -52, 0, 24, 0, 14 }, { 16, -53, 0, 24, 0, 14 }, + { 16, -54, 0, 24, 0, 14 }, { 16, -55, 0, 24, 0, 14 }, { 16, -56, 0, 24, 0, 14 }, { 16, -57, 0, 24, 0, 14 }, { 16, -58, 0, 8, 16, 0 }, + { 16, -59, 0, 8, 16, 0 }, { 16, -60, 0, 8, 16, 0 }, { 16, -61, 0, 8, 16, 0 }, { 16, -62, 0, 8, 16, 0 }, { 16, -63, 0, 8, 16, 0 }, + { 16, -64, 0, 8, 16, 0 }, { 16, -65, 0, 8, 16, 0 }, { 16, -66, 0, 8, 16, 0 }, { 16, -67, 0, 8, 16, 0 }, { 16, -68, 0, 8, 16, 0 }, + { 16, -69, 0, 8, 16, 0 }, { 16, -70, 0, 24, 0, 9 }, { 16, -71, 0, 24, 0, 9 }, { 16, -72, 0, 24, 0, 9 }, { 16, -73, 0, 24, 0, 9 }, + { 16, -74, 0, 24, 0, 9 }, { 16, -75, 0, 24, 0, 9 }, { 16, -76, 0, 24, 0, 9 }, { 16, -77, 0, 24, 0, 9 }, { 16, -78, 0, 24, 0, 9 }, + { 16, -79, 0, 24, 0, 9 }, { 16, -80, 0, 24, 0, 9 }, { 16, -81, 0, 24, 0, 9 }, { 16, -82, 0, 24, 0, 8 }, { 16, -83, 0, 24, 0, 8 }, + { 16, -84, 0, 24, 0, 8 }, { 16, -85, 0, 24, 0, 8 }, { 16, -86, 0, 24, 0, 8 }, { 16, -87, 0, 24, 0, 8 }, { 16, -88, 0, 24, 0, 8 }, + { 16, -89, 0, 24, 0, 8 }, { 16, -90, 0, 24, 0, 8 }, { 16, -91, 0, 24, 0, 8 }, { 16, -92, 0, 24, 0, 8 }, { 16, -93, 0, 24, 0, 8 }, + { 16, -94, 0, 24, 0, 7 }, { 16, -95, 0, 24, 0, 7 }, { 16, -96, 0, 24, 0, 7 }, { 16, -97, 0, 24, 0, 7 }, { 16, -98, 0, 24, 0, 7 }, + { 16, -99, 0, 24, 0, 7 }, { 16, -100, 0, 24, 0, 7 }, { 16, -101, 0, 24, 0, 7 }, { 16, -102, 0, 24, 0, 7 }, { 16, -103, 0, 24, 0, 7 }, + { 16, -104, 0, 24, 0, 7 }, { 16, -105, 0, 24, 0, 7 }, { 16, -106, 0, 24, 0, 6 }, { 16, -107, 0, 24, 0, 6 }, { 16, -108, 0, 24, 0, 6 }, + { 16, -109, 0, 24, 0, 6 }, { 16, -110, 0, 24, 0, 6 }, { 16, -111, 0, 24, 0, 6 }, { 16, -112, 0, 24, 0, 6 }, { 16, -113, 0, 24, 0, 6 }, + { 16, -114, 0, 24, 0, 6 }, { 16, -115, 0, 24, 0, 6 }, { 16, -116, 0, 24, 0, 6 }, { 16, -117, 0, 24, 0, 6 }, { 16, -118, 0, 24, 0, 5 }, + { 16, -119, 0, 24, 0, 5 }, { 16, -120, 0, 24, 0, 5 }, { 16, -121, 0, 24, 0, 5 }, { 16, -122, 0, 24, 0, 5 }, { 16, -123, 0, 24, 0, 5 }, + { 16, -124, 0, 24, 0, 5 }, { 16, -125, 0, 24, 0, 5 }, { 16, -126, 0, 24, 0, 5 }, { 16, -127, 0, 24, 0, 5 }, { 16, -128, 0, 24, 0, 5 }, + { 16, -129, 0, 24, 0, 5 }, { 16, -130, 0, 24, 0, 2 }, { 16, -131, 0, 24, 0, 2 }, { 16, -132, 0, 24, 0, 2 }, { 16, -133, 0, 24, 0, 2 }, + { 16, -134, 0, 24, 0, 2 }, { 16, -135, 0, 24, 0, 2 }, { 16, -136, 0, 24, 0, 2 }, { 16, -137, 0, 24, 0, 2 }, { 16, -138, 0, 24, 0, 2 }, + { 16, -139, 0, 24, 0, 2 }, { 16, -140, 0, 24, 0, 2 }, { 16, -141, 0, 24, 0, 2 }, { 16, -142, 0, 24, 0, 1 }, { 16, -143, 0, 24, 0, 1 }, + { 16, -144, 0, 24, 0, 1 }, { 16, -145, 0, 24, 0, 1 }, { 16, -146, 0, 24, 0, 1 }, { 16, -147, 0, 24, 0, 1 }, { 16, -148, 0, 24, 0, 1 }, + { 16, -149, 0, 24, 0, 1 }, { 16, -150, 0, 24, 0, 1 }, { 16, -151, 0, 24, 0, 1 }, { 16, -152, 0, 24, 0, 1 }, { 16, -153, 0, 24, 0, 1 }, + { 16, -154, 0, 24, 0, 0 }, { 16, -155, 0, 24, 0, 0 }, { 16, -156, 0, 24, 0, 0 }, { 16, -157, 0, 24, 0, 0 }, { 16, -158, 0, 24, 0, 0 }, + { 16, -159, 0, 24, 0, 0 }, { 16, -160, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_979BD6 = { - 137, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, -1, 0, 0, 0 }, { 22, 16, -1, 16, 23, 0 }, - { 21, 16, -1, 16, 23, 0 }, { 20, 16, -1, 16, 23, 0 }, { 19, 16, -1, 16, 23, 0 }, { 18, 16, -2, 16, 23, 0 }, { 17, 16, -2, 16, 23, 0 }, - { 16, 16, -2, 16, 23, 0 }, { 15, 16, -2, 16, 23, 0 }, { 14, 16, -3, 16, 23, 0 }, { 13, 16, -3, 16, 23, 0 }, { 12, 16, -3, 16, 23, 0 }, - { 11, 16, -4, 16, 22, 0 }, { 10, 16, -4, 16, 22, 0 }, { 9, 16, -4, 16, 22, 0 }, { 8, 16, -5, 16, 22, 0 }, { 7, 16, -5, 16, 22, 0 }, - { 6, 16, -6, 16, 22, 0 }, { 5, 16, -6, 16, 22, 0 }, { 4, 16, -7, 16, 22, 0 }, { 3, 16, -7, 16, 22, 0 }, { 2, 16, -8, 16, 22, 0 }, - { 1, 16, -8, 16, 22, 0 }, { 0, 16, -9, 16, 22, 0 }, { -1, 16, -10, 16, 22, 0 }, { -2, 16, -10, 16, 22, 0 }, { -3, 16, -11, 16, 22, 0 }, - { -4, 16, -11, 16, 22, 0 }, { -5, 16, -12, 16, 21, 0 }, { -6, 16, -13, 16, 21, 0 }, { -7, 16, -14, 16, 21, 0 }, { -8, 16, -14, 16, 21, 0 }, - { -9, 16, -15, 16, 21, 0 }, { -10, 16, -16, 16, 21, 0 }, { -11, 16, -17, 16, 21, 0 }, { -12, 16, -18, 16, 21, 0 }, { -13, 16, -19, 16, 21, 0 }, - { -14, 16, -20, 16, 21, 0 }, { -15, 16, -21, 16, 21, 0 }, { -16, 16, -22, 16, 21, 0 }, { -17, 16, -23, 16, 21, 0 }, { -18, 16, -24, 16, 21, 0 }, - { -19, 16, -25, 16, 21, 0 }, { -20, 16, -26, 16, 21, 0 }, { -21, 16, -27, 16, 21, 0 }, { -21, 16, -28, 16, 21, 0 }, { -22, 16, -29, 16, 21, 0 }, - { -23, 16, -30, 16, 21, 0 }, { -24, 16, -31, 16, 20, 0 }, { -24, 16, -32, 16, 20, 0 }, { -25, 16, -33, 16, 20, 0 }, { -26, 16, -34, 16, 20, 0 }, - { -27, 16, -35, 16, 20, 0 }, { -27, 16, -36, 16, 20, 0 }, { -28, 16, -37, 16, 20, 0 }, { -29, 16, -38, 16, 20, 0 }, { -29, 16, -39, 16, 20, 0 }, - { -30, 16, -40, 16, 20, 0 }, { -30, 16, -41, 16, 20, 0 }, { -31, 16, -42, 16, 20, 0 }, { -31, 16, -43, 16, 20, 0 }, { -32, 16, -44, 16, 20, 0 }, - { -33, 16, -45, 16, 20, 0 }, { -33, 16, -46, 16, 20, 0 }, { -34, 16, -47, 16, 20, 0 }, { -34, 16, -48, 16, 20, 0 }, { -35, 16, -49, 16, 20, 0 }, - { -35, 16, -50, 16, 20, 0 }, { -35, 16, -51, 16, 20, 0 }, { -36, 16, -52, 16, 20, 0 }, { -36, 16, -53, 16, 20, 0 }, { -37, 16, -54, 16, 20, 0 }, - { -37, 16, -55, 16, 20, 0 }, { -38, 16, -56, 16, 19, 0 }, { -38, 16, -57, 16, 19, 0 }, { -38, 16, -58, 16, 19, 0 }, { -39, 16, -59, 16, 19, 0 }, - { -39, 16, -60, 16, 19, 0 }, { -40, 16, -61, 16, 19, 0 }, { -40, 16, -62, 16, 19, 0 }, { -40, 16, -63, 16, 19, 0 }, { -41, 16, -64, 16, 19, 0 }, - { -41, 16, -65, 16, 19, 0 }, { -41, 16, -66, 16, 19, 0 }, { -42, 16, -67, 16, 19, 0 }, { -42, 16, -68, 16, 19, 0 }, { -42, 16, -69, 16, 19, 0 }, - { -42, 16, -70, 16, 19, 0 }, { -43, 16, -71, 16, 19, 0 }, { -43, 16, -72, 16, 19, 0 }, { -43, 16, -73, 16, 19, 0 }, { -43, 16, -74, 16, 19, 0 }, - { -44, 16, -75, 16, 19, 0 }, { -44, 16, -76, 16, 19, 0 }, { -44, 16, -77, 16, 19, 0 }, { -44, 16, -78, 16, 19, 0 }, { -45, 16, -79, 16, 19, 0 }, - { -45, 16, -80, 16, 19, 0 }, { -45, 16, -81, 16, 19, 0 }, { -45, 16, -82, 16, 19, 0 }, { -45, 16, -83, 16, 19, 0 }, { -46, 16, -84, 16, 19, 0 }, - { -46, 16, -85, 16, 19, 0 }, { -46, 16, -86, 16, 19, 0 }, { -46, 16, -87, 16, 19, 0 }, { -46, 16, -88, 16, 19, 0 }, { -46, 16, -89, 16, 19, 0 }, - { -47, 16, -90, 16, 19, 0 }, { -47, 16, -91, 16, 18, 0 }, { -47, 16, -92, 16, 18, 0 }, { -47, 16, -93, 16, 18, 0 }, { -47, 16, -94, 16, 18, 0 }, - { -47, 16, -95, 16, 18, 0 }, { -47, 16, -96, 16, 18, 0 }, { -47, 16, -97, 16, 18, 0 }, { -47, 16, -98, 16, 18, 0 }, { -48, 16, -99, 16, 18, 0 }, - { -48, 16, -100, 16, 18, 0 }, { -48, 16, -101, 16, 18, 0 }, { -48, 16, -102, 16, 18, 0 }, { -48, 16, -103, 16, 18, 0 }, { -48, 16, -104, 16, 18, 0 }, - { -48, 16, -105, 16, 18, 0 }, { -48, 16, -106, 16, 18, 0 }, { -48, 16, -107, 16, 18, 0 }, { -48, 16, -108, 16, 18, 0 }, { -48, 16, -109, 16, 18, 0 }, - { -48, 16, -110, 16, 18, 0 }, { -48, 16, -111, 16, 18, 0 }, + 137, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, -1, 0, 0, 0 }, { 22, 16, -1, 16, 23, 0 }, + { 21, 16, -1, 16, 23, 0 }, { 20, 16, -1, 16, 23, 0 }, { 19, 16, -1, 16, 23, 0 }, { 18, 16, -2, 16, 23, 0 }, { 17, 16, -2, 16, 23, 0 }, + { 16, 16, -2, 16, 23, 0 }, { 15, 16, -2, 16, 23, 0 }, { 14, 16, -3, 16, 23, 0 }, { 13, 16, -3, 16, 23, 0 }, { 12, 16, -3, 16, 23, 0 }, + { 11, 16, -4, 16, 22, 0 }, { 10, 16, -4, 16, 22, 0 }, { 9, 16, -4, 16, 22, 0 }, { 8, 16, -5, 16, 22, 0 }, { 7, 16, -5, 16, 22, 0 }, + { 6, 16, -6, 16, 22, 0 }, { 5, 16, -6, 16, 22, 0 }, { 4, 16, -7, 16, 22, 0 }, { 3, 16, -7, 16, 22, 0 }, { 2, 16, -8, 16, 22, 0 }, + { 1, 16, -8, 16, 22, 0 }, { 0, 16, -9, 16, 22, 0 }, { -1, 16, -10, 16, 22, 0 }, { -2, 16, -10, 16, 22, 0 }, { -3, 16, -11, 16, 22, 0 }, + { -4, 16, -11, 16, 22, 0 }, { -5, 16, -12, 16, 21, 0 }, { -6, 16, -13, 16, 21, 0 }, { -7, 16, -14, 16, 21, 0 }, { -8, 16, -14, 16, 21, 0 }, + { -9, 16, -15, 16, 21, 0 }, { -10, 16, -16, 16, 21, 0 }, { -11, 16, -17, 16, 21, 0 }, { -12, 16, -18, 16, 21, 0 }, { -13, 16, -19, 16, 21, 0 }, + { -14, 16, -20, 16, 21, 0 }, { -15, 16, -21, 16, 21, 0 }, { -16, 16, -22, 16, 21, 0 }, { -17, 16, -23, 16, 21, 0 }, { -18, 16, -24, 16, 21, 0 }, + { -19, 16, -25, 16, 21, 0 }, { -20, 16, -26, 16, 21, 0 }, { -21, 16, -27, 16, 21, 0 }, { -21, 16, -28, 16, 21, 0 }, { -22, 16, -29, 16, 21, 0 }, + { -23, 16, -30, 16, 21, 0 }, { -24, 16, -31, 16, 20, 0 }, { -24, 16, -32, 16, 20, 0 }, { -25, 16, -33, 16, 20, 0 }, { -26, 16, -34, 16, 20, 0 }, + { -27, 16, -35, 16, 20, 0 }, { -27, 16, -36, 16, 20, 0 }, { -28, 16, -37, 16, 20, 0 }, { -29, 16, -38, 16, 20, 0 }, { -29, 16, -39, 16, 20, 0 }, + { -30, 16, -40, 16, 20, 0 }, { -30, 16, -41, 16, 20, 0 }, { -31, 16, -42, 16, 20, 0 }, { -31, 16, -43, 16, 20, 0 }, { -32, 16, -44, 16, 20, 0 }, + { -33, 16, -45, 16, 20, 0 }, { -33, 16, -46, 16, 20, 0 }, { -34, 16, -47, 16, 20, 0 }, { -34, 16, -48, 16, 20, 0 }, { -35, 16, -49, 16, 20, 0 }, + { -35, 16, -50, 16, 20, 0 }, { -35, 16, -51, 16, 20, 0 }, { -36, 16, -52, 16, 20, 0 }, { -36, 16, -53, 16, 20, 0 }, { -37, 16, -54, 16, 20, 0 }, + { -37, 16, -55, 16, 20, 0 }, { -38, 16, -56, 16, 19, 0 }, { -38, 16, -57, 16, 19, 0 }, { -38, 16, -58, 16, 19, 0 }, { -39, 16, -59, 16, 19, 0 }, + { -39, 16, -60, 16, 19, 0 }, { -40, 16, -61, 16, 19, 0 }, { -40, 16, -62, 16, 19, 0 }, { -40, 16, -63, 16, 19, 0 }, { -41, 16, -64, 16, 19, 0 }, + { -41, 16, -65, 16, 19, 0 }, { -41, 16, -66, 16, 19, 0 }, { -42, 16, -67, 16, 19, 0 }, { -42, 16, -68, 16, 19, 0 }, { -42, 16, -69, 16, 19, 0 }, + { -42, 16, -70, 16, 19, 0 }, { -43, 16, -71, 16, 19, 0 }, { -43, 16, -72, 16, 19, 0 }, { -43, 16, -73, 16, 19, 0 }, { -43, 16, -74, 16, 19, 0 }, + { -44, 16, -75, 16, 19, 0 }, { -44, 16, -76, 16, 19, 0 }, { -44, 16, -77, 16, 19, 0 }, { -44, 16, -78, 16, 19, 0 }, { -45, 16, -79, 16, 19, 0 }, + { -45, 16, -80, 16, 19, 0 }, { -45, 16, -81, 16, 19, 0 }, { -45, 16, -82, 16, 19, 0 }, { -45, 16, -83, 16, 19, 0 }, { -46, 16, -84, 16, 19, 0 }, + { -46, 16, -85, 16, 19, 0 }, { -46, 16, -86, 16, 19, 0 }, { -46, 16, -87, 16, 19, 0 }, { -46, 16, -88, 16, 19, 0 }, { -46, 16, -89, 16, 19, 0 }, + { -47, 16, -90, 16, 19, 0 }, { -47, 16, -91, 16, 18, 0 }, { -47, 16, -92, 16, 18, 0 }, { -47, 16, -93, 16, 18, 0 }, { -47, 16, -94, 16, 18, 0 }, + { -47, 16, -95, 16, 18, 0 }, { -47, 16, -96, 16, 18, 0 }, { -47, 16, -97, 16, 18, 0 }, { -47, 16, -98, 16, 18, 0 }, { -48, 16, -99, 16, 18, 0 }, + { -48, 16, -100, 16, 18, 0 }, { -48, 16, -101, 16, 18, 0 }, { -48, 16, -102, 16, 18, 0 }, { -48, 16, -103, 16, 18, 0 }, { -48, 16, -104, 16, 18, 0 }, + { -48, 16, -105, 16, 18, 0 }, { -48, 16, -106, 16, 18, 0 }, { -48, 16, -107, 16, 18, 0 }, { -48, 16, -108, 16, 18, 0 }, { -48, 16, -109, 16, 18, 0 }, + { -48, 16, -110, 16, 18, 0 }, { -48, 16, -111, 16, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_97A0A9 = { - 137, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, -1, 8, 0, 0 }, { 16, 9, -1, 24, 23, 0 }, - { 16, 10, -1, 24, 23, 0 }, { 16, 11, -1, 24, 23, 0 }, { 16, 12, -1, 24, 23, 0 }, { 16, 13, -2, 24, 23, 0 }, { 16, 14, -2, 24, 23, 0 }, - { 16, 15, -2, 24, 23, 0 }, { 16, 16, -2, 24, 23, 0 }, { 16, 17, -3, 24, 23, 0 }, { 16, 18, -3, 24, 23, 0 }, { 16, 19, -3, 24, 23, 0 }, - { 16, 20, -4, 24, 22, 0 }, { 16, 21, -4, 24, 22, 0 }, { 16, 22, -4, 24, 22, 0 }, { 16, 23, -5, 24, 22, 0 }, { 16, 24, -5, 24, 22, 0 }, - { 16, 25, -6, 24, 22, 0 }, { 16, 26, -6, 24, 22, 0 }, { 16, 27, -7, 24, 22, 0 }, { 16, 28, -7, 24, 22, 0 }, { 16, 29, -8, 24, 22, 0 }, - { 16, 30, -8, 24, 22, 0 }, { 16, 31, -9, 24, 22, 0 }, { 16, 32, -10, 24, 22, 0 }, { 16, 33, -10, 24, 22, 0 }, { 16, 34, -11, 24, 22, 0 }, - { 16, 35, -11, 24, 22, 0 }, { 16, 36, -12, 24, 21, 0 }, { 16, 37, -13, 24, 21, 0 }, { 16, 38, -14, 24, 21, 0 }, { 16, 39, -14, 24, 21, 0 }, - { 16, 40, -15, 24, 21, 0 }, { 16, 41, -16, 24, 21, 0 }, { 16, 42, -17, 24, 21, 0 }, { 16, 43, -18, 24, 21, 0 }, { 16, 44, -19, 24, 21, 0 }, - { 16, 45, -20, 24, 21, 0 }, { 16, 46, -21, 24, 21, 0 }, { 16, 47, -22, 24, 21, 0 }, { 16, 48, -23, 24, 21, 0 }, { 16, 49, -24, 24, 21, 0 }, - { 16, 50, -25, 24, 21, 0 }, { 16, 51, -26, 24, 21, 0 }, { 16, 52, -27, 24, 21, 0 }, { 16, 52, -28, 24, 21, 0 }, { 16, 53, -29, 24, 21, 0 }, - { 16, 54, -30, 24, 21, 0 }, { 16, 55, -31, 24, 20, 0 }, { 16, 55, -32, 24, 20, 0 }, { 16, 56, -33, 24, 20, 0 }, { 16, 57, -34, 24, 20, 0 }, - { 16, 58, -35, 24, 20, 0 }, { 16, 58, -36, 24, 20, 0 }, { 16, 59, -37, 24, 20, 0 }, { 16, 60, -38, 24, 20, 0 }, { 16, 60, -39, 24, 20, 0 }, - { 16, 61, -40, 24, 20, 0 }, { 16, 61, -41, 24, 20, 0 }, { 16, 62, -42, 24, 20, 0 }, { 16, 62, -43, 24, 20, 0 }, { 16, 63, -44, 24, 20, 0 }, - { 16, 64, -45, 24, 20, 0 }, { 16, 64, -46, 24, 20, 0 }, { 16, 65, -47, 24, 20, 0 }, { 16, 65, -48, 24, 20, 0 }, { 16, 66, -49, 24, 20, 0 }, - { 16, 66, -50, 24, 20, 0 }, { 16, 66, -51, 24, 20, 0 }, { 16, 67, -52, 24, 20, 0 }, { 16, 67, -53, 24, 20, 0 }, { 16, 68, -54, 24, 20, 0 }, - { 16, 68, -55, 24, 20, 0 }, { 16, 69, -56, 24, 19, 0 }, { 16, 69, -57, 24, 19, 0 }, { 16, 69, -58, 24, 19, 0 }, { 16, 70, -59, 24, 19, 0 }, - { 16, 70, -60, 24, 19, 0 }, { 16, 71, -61, 24, 19, 0 }, { 16, 71, -62, 24, 19, 0 }, { 16, 71, -63, 24, 19, 0 }, { 16, 72, -64, 24, 19, 0 }, - { 16, 72, -65, 24, 19, 0 }, { 16, 72, -66, 24, 19, 0 }, { 16, 73, -67, 24, 19, 0 }, { 16, 73, -68, 24, 19, 0 }, { 16, 73, -69, 24, 19, 0 }, - { 16, 73, -70, 24, 19, 0 }, { 16, 74, -71, 24, 19, 0 }, { 16, 74, -72, 24, 19, 0 }, { 16, 74, -73, 24, 19, 0 }, { 16, 74, -74, 24, 19, 0 }, - { 16, 75, -75, 24, 19, 0 }, { 16, 75, -76, 24, 19, 0 }, { 16, 75, -77, 24, 19, 0 }, { 16, 75, -78, 24, 19, 0 }, { 16, 76, -79, 24, 19, 0 }, - { 16, 76, -80, 24, 19, 0 }, { 16, 76, -81, 24, 19, 0 }, { 16, 76, -82, 24, 19, 0 }, { 16, 76, -83, 24, 19, 0 }, { 16, 77, -84, 24, 19, 0 }, - { 16, 77, -85, 24, 19, 0 }, { 16, 77, -86, 24, 19, 0 }, { 16, 77, -87, 24, 19, 0 }, { 16, 77, -88, 24, 19, 0 }, { 16, 77, -89, 24, 19, 0 }, - { 16, 78, -90, 24, 19, 0 }, { 16, 78, -91, 24, 18, 0 }, { 16, 78, -92, 24, 18, 0 }, { 16, 78, -93, 24, 18, 0 }, { 16, 78, -94, 24, 18, 0 }, - { 16, 78, -95, 24, 18, 0 }, { 16, 78, -96, 24, 18, 0 }, { 16, 78, -97, 24, 18, 0 }, { 16, 78, -98, 24, 18, 0 }, { 16, 79, -99, 24, 18, 0 }, - { 16, 79, -100, 24, 18, 0 }, { 16, 79, -101, 24, 18, 0 }, { 16, 79, -102, 24, 18, 0 }, { 16, 79, -103, 24, 18, 0 }, { 16, 79, -104, 24, 18, 0 }, - { 16, 79, -105, 24, 18, 0 }, { 16, 79, -106, 24, 18, 0 }, { 16, 79, -107, 24, 18, 0 }, { 16, 79, -108, 24, 18, 0 }, { 16, 79, -109, 24, 18, 0 }, - { 16, 79, -110, 24, 18, 0 }, { 16, 79, -111, 24, 18, 0 }, + 137, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, -1, 8, 0, 0 }, { 16, 9, -1, 24, 23, 0 }, + { 16, 10, -1, 24, 23, 0 }, { 16, 11, -1, 24, 23, 0 }, { 16, 12, -1, 24, 23, 0 }, { 16, 13, -2, 24, 23, 0 }, { 16, 14, -2, 24, 23, 0 }, + { 16, 15, -2, 24, 23, 0 }, { 16, 16, -2, 24, 23, 0 }, { 16, 17, -3, 24, 23, 0 }, { 16, 18, -3, 24, 23, 0 }, { 16, 19, -3, 24, 23, 0 }, + { 16, 20, -4, 24, 22, 0 }, { 16, 21, -4, 24, 22, 0 }, { 16, 22, -4, 24, 22, 0 }, { 16, 23, -5, 24, 22, 0 }, { 16, 24, -5, 24, 22, 0 }, + { 16, 25, -6, 24, 22, 0 }, { 16, 26, -6, 24, 22, 0 }, { 16, 27, -7, 24, 22, 0 }, { 16, 28, -7, 24, 22, 0 }, { 16, 29, -8, 24, 22, 0 }, + { 16, 30, -8, 24, 22, 0 }, { 16, 31, -9, 24, 22, 0 }, { 16, 32, -10, 24, 22, 0 }, { 16, 33, -10, 24, 22, 0 }, { 16, 34, -11, 24, 22, 0 }, + { 16, 35, -11, 24, 22, 0 }, { 16, 36, -12, 24, 21, 0 }, { 16, 37, -13, 24, 21, 0 }, { 16, 38, -14, 24, 21, 0 }, { 16, 39, -14, 24, 21, 0 }, + { 16, 40, -15, 24, 21, 0 }, { 16, 41, -16, 24, 21, 0 }, { 16, 42, -17, 24, 21, 0 }, { 16, 43, -18, 24, 21, 0 }, { 16, 44, -19, 24, 21, 0 }, + { 16, 45, -20, 24, 21, 0 }, { 16, 46, -21, 24, 21, 0 }, { 16, 47, -22, 24, 21, 0 }, { 16, 48, -23, 24, 21, 0 }, { 16, 49, -24, 24, 21, 0 }, + { 16, 50, -25, 24, 21, 0 }, { 16, 51, -26, 24, 21, 0 }, { 16, 52, -27, 24, 21, 0 }, { 16, 52, -28, 24, 21, 0 }, { 16, 53, -29, 24, 21, 0 }, + { 16, 54, -30, 24, 21, 0 }, { 16, 55, -31, 24, 20, 0 }, { 16, 55, -32, 24, 20, 0 }, { 16, 56, -33, 24, 20, 0 }, { 16, 57, -34, 24, 20, 0 }, + { 16, 58, -35, 24, 20, 0 }, { 16, 58, -36, 24, 20, 0 }, { 16, 59, -37, 24, 20, 0 }, { 16, 60, -38, 24, 20, 0 }, { 16, 60, -39, 24, 20, 0 }, + { 16, 61, -40, 24, 20, 0 }, { 16, 61, -41, 24, 20, 0 }, { 16, 62, -42, 24, 20, 0 }, { 16, 62, -43, 24, 20, 0 }, { 16, 63, -44, 24, 20, 0 }, + { 16, 64, -45, 24, 20, 0 }, { 16, 64, -46, 24, 20, 0 }, { 16, 65, -47, 24, 20, 0 }, { 16, 65, -48, 24, 20, 0 }, { 16, 66, -49, 24, 20, 0 }, + { 16, 66, -50, 24, 20, 0 }, { 16, 66, -51, 24, 20, 0 }, { 16, 67, -52, 24, 20, 0 }, { 16, 67, -53, 24, 20, 0 }, { 16, 68, -54, 24, 20, 0 }, + { 16, 68, -55, 24, 20, 0 }, { 16, 69, -56, 24, 19, 0 }, { 16, 69, -57, 24, 19, 0 }, { 16, 69, -58, 24, 19, 0 }, { 16, 70, -59, 24, 19, 0 }, + { 16, 70, -60, 24, 19, 0 }, { 16, 71, -61, 24, 19, 0 }, { 16, 71, -62, 24, 19, 0 }, { 16, 71, -63, 24, 19, 0 }, { 16, 72, -64, 24, 19, 0 }, + { 16, 72, -65, 24, 19, 0 }, { 16, 72, -66, 24, 19, 0 }, { 16, 73, -67, 24, 19, 0 }, { 16, 73, -68, 24, 19, 0 }, { 16, 73, -69, 24, 19, 0 }, + { 16, 73, -70, 24, 19, 0 }, { 16, 74, -71, 24, 19, 0 }, { 16, 74, -72, 24, 19, 0 }, { 16, 74, -73, 24, 19, 0 }, { 16, 74, -74, 24, 19, 0 }, + { 16, 75, -75, 24, 19, 0 }, { 16, 75, -76, 24, 19, 0 }, { 16, 75, -77, 24, 19, 0 }, { 16, 75, -78, 24, 19, 0 }, { 16, 76, -79, 24, 19, 0 }, + { 16, 76, -80, 24, 19, 0 }, { 16, 76, -81, 24, 19, 0 }, { 16, 76, -82, 24, 19, 0 }, { 16, 76, -83, 24, 19, 0 }, { 16, 77, -84, 24, 19, 0 }, + { 16, 77, -85, 24, 19, 0 }, { 16, 77, -86, 24, 19, 0 }, { 16, 77, -87, 24, 19, 0 }, { 16, 77, -88, 24, 19, 0 }, { 16, 77, -89, 24, 19, 0 }, + { 16, 78, -90, 24, 19, 0 }, { 16, 78, -91, 24, 18, 0 }, { 16, 78, -92, 24, 18, 0 }, { 16, 78, -93, 24, 18, 0 }, { 16, 78, -94, 24, 18, 0 }, + { 16, 78, -95, 24, 18, 0 }, { 16, 78, -96, 24, 18, 0 }, { 16, 78, -97, 24, 18, 0 }, { 16, 78, -98, 24, 18, 0 }, { 16, 79, -99, 24, 18, 0 }, + { 16, 79, -100, 24, 18, 0 }, { 16, 79, -101, 24, 18, 0 }, { 16, 79, -102, 24, 18, 0 }, { 16, 79, -103, 24, 18, 0 }, { 16, 79, -104, 24, 18, 0 }, + { 16, 79, -105, 24, 18, 0 }, { 16, 79, -106, 24, 18, 0 }, { 16, 79, -107, 24, 18, 0 }, { 16, 79, -108, 24, 18, 0 }, { 16, 79, -109, 24, 18, 0 }, + { 16, 79, -110, 24, 18, 0 }, { 16, 79, -111, 24, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_97A57C = { - 137, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, -1, 16, 0, 0 }, { 9, 16, -1, 0, 23, 0 }, - { 10, 16, -1, 0, 23, 0 }, { 11, 16, -1, 0, 23, 0 }, { 12, 16, -1, 0, 23, 0 }, { 13, 16, -2, 0, 23, 0 }, { 14, 16, -2, 0, 23, 0 }, - { 15, 16, -2, 0, 23, 0 }, { 16, 16, -2, 0, 23, 0 }, { 17, 16, -3, 0, 23, 0 }, { 18, 16, -3, 0, 23, 0 }, { 19, 16, -3, 0, 23, 0 }, - { 20, 16, -4, 0, 22, 0 }, { 21, 16, -4, 0, 22, 0 }, { 22, 16, -4, 0, 22, 0 }, { 23, 16, -5, 0, 22, 0 }, { 24, 16, -5, 0, 22, 0 }, - { 25, 16, -6, 0, 22, 0 }, { 26, 16, -6, 0, 22, 0 }, { 27, 16, -7, 0, 22, 0 }, { 28, 16, -7, 0, 22, 0 }, { 29, 16, -8, 0, 22, 0 }, - { 30, 16, -8, 0, 22, 0 }, { 31, 16, -9, 0, 22, 0 }, { 32, 16, -10, 0, 22, 0 }, { 33, 16, -10, 0, 22, 0 }, { 34, 16, -11, 0, 22, 0 }, - { 35, 16, -11, 0, 22, 0 }, { 36, 16, -12, 0, 21, 0 }, { 37, 16, -13, 0, 21, 0 }, { 38, 16, -14, 0, 21, 0 }, { 39, 16, -14, 0, 21, 0 }, - { 40, 16, -15, 0, 21, 0 }, { 41, 16, -16, 0, 21, 0 }, { 42, 16, -17, 0, 21, 0 }, { 43, 16, -18, 0, 21, 0 }, { 44, 16, -19, 0, 21, 0 }, - { 45, 16, -20, 0, 21, 0 }, { 46, 16, -21, 0, 21, 0 }, { 47, 16, -22, 0, 21, 0 }, { 48, 16, -23, 0, 21, 0 }, { 49, 16, -24, 0, 21, 0 }, - { 50, 16, -25, 0, 21, 0 }, { 51, 16, -26, 0, 21, 0 }, { 52, 16, -27, 0, 21, 0 }, { 52, 16, -28, 0, 21, 0 }, { 53, 16, -29, 0, 21, 0 }, - { 54, 16, -30, 0, 21, 0 }, { 55, 16, -31, 0, 20, 0 }, { 55, 16, -32, 0, 20, 0 }, { 56, 16, -33, 0, 20, 0 }, { 57, 16, -34, 0, 20, 0 }, - { 58, 16, -35, 0, 20, 0 }, { 58, 16, -36, 0, 20, 0 }, { 59, 16, -37, 0, 20, 0 }, { 60, 16, -38, 0, 20, 0 }, { 60, 16, -39, 0, 20, 0 }, - { 61, 16, -40, 0, 20, 0 }, { 61, 16, -41, 0, 20, 0 }, { 62, 16, -42, 0, 20, 0 }, { 62, 16, -43, 0, 20, 0 }, { 63, 16, -44, 0, 20, 0 }, - { 64, 16, -45, 0, 20, 0 }, { 64, 16, -46, 0, 20, 0 }, { 65, 16, -47, 0, 20, 0 }, { 65, 16, -48, 0, 20, 0 }, { 66, 16, -49, 0, 20, 0 }, - { 66, 16, -50, 0, 20, 0 }, { 66, 16, -51, 0, 20, 0 }, { 67, 16, -52, 0, 20, 0 }, { 67, 16, -53, 0, 20, 0 }, { 68, 16, -54, 0, 20, 0 }, - { 68, 16, -55, 0, 20, 0 }, { 69, 16, -56, 0, 19, 0 }, { 69, 16, -57, 0, 19, 0 }, { 69, 16, -58, 0, 19, 0 }, { 70, 16, -59, 0, 19, 0 }, - { 70, 16, -60, 0, 19, 0 }, { 71, 16, -61, 0, 19, 0 }, { 71, 16, -62, 0, 19, 0 }, { 71, 16, -63, 0, 19, 0 }, { 72, 16, -64, 0, 19, 0 }, - { 72, 16, -65, 0, 19, 0 }, { 72, 16, -66, 0, 19, 0 }, { 73, 16, -67, 0, 19, 0 }, { 73, 16, -68, 0, 19, 0 }, { 73, 16, -69, 0, 19, 0 }, - { 73, 16, -70, 0, 19, 0 }, { 74, 16, -71, 0, 19, 0 }, { 74, 16, -72, 0, 19, 0 }, { 74, 16, -73, 0, 19, 0 }, { 74, 16, -74, 0, 19, 0 }, - { 75, 16, -75, 0, 19, 0 }, { 75, 16, -76, 0, 19, 0 }, { 75, 16, -77, 0, 19, 0 }, { 75, 16, -78, 0, 19, 0 }, { 76, 16, -79, 0, 19, 0 }, - { 76, 16, -80, 0, 19, 0 }, { 76, 16, -81, 0, 19, 0 }, { 76, 16, -82, 0, 19, 0 }, { 76, 16, -83, 0, 19, 0 }, { 77, 16, -84, 0, 19, 0 }, - { 77, 16, -85, 0, 19, 0 }, { 77, 16, -86, 0, 19, 0 }, { 77, 16, -87, 0, 19, 0 }, { 77, 16, -88, 0, 19, 0 }, { 77, 16, -89, 0, 19, 0 }, - { 78, 16, -90, 0, 19, 0 }, { 78, 16, -91, 0, 18, 0 }, { 78, 16, -92, 0, 18, 0 }, { 78, 16, -93, 0, 18, 0 }, { 78, 16, -94, 0, 18, 0 }, - { 78, 16, -95, 0, 18, 0 }, { 78, 16, -96, 0, 18, 0 }, { 78, 16, -97, 0, 18, 0 }, { 78, 16, -98, 0, 18, 0 }, { 79, 16, -99, 0, 18, 0 }, - { 79, 16, -100, 0, 18, 0 }, { 79, 16, -101, 0, 18, 0 }, { 79, 16, -102, 0, 18, 0 }, { 79, 16, -103, 0, 18, 0 }, { 79, 16, -104, 0, 18, 0 }, - { 79, 16, -105, 0, 18, 0 }, { 79, 16, -106, 0, 18, 0 }, { 79, 16, -107, 0, 18, 0 }, { 79, 16, -108, 0, 18, 0 }, { 79, 16, -109, 0, 18, 0 }, - { 79, 16, -110, 0, 18, 0 }, { 79, 16, -111, 0, 18, 0 }, + 137, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, -1, 16, 0, 0 }, { 9, 16, -1, 0, 23, 0 }, + { 10, 16, -1, 0, 23, 0 }, { 11, 16, -1, 0, 23, 0 }, { 12, 16, -1, 0, 23, 0 }, { 13, 16, -2, 0, 23, 0 }, { 14, 16, -2, 0, 23, 0 }, + { 15, 16, -2, 0, 23, 0 }, { 16, 16, -2, 0, 23, 0 }, { 17, 16, -3, 0, 23, 0 }, { 18, 16, -3, 0, 23, 0 }, { 19, 16, -3, 0, 23, 0 }, + { 20, 16, -4, 0, 22, 0 }, { 21, 16, -4, 0, 22, 0 }, { 22, 16, -4, 0, 22, 0 }, { 23, 16, -5, 0, 22, 0 }, { 24, 16, -5, 0, 22, 0 }, + { 25, 16, -6, 0, 22, 0 }, { 26, 16, -6, 0, 22, 0 }, { 27, 16, -7, 0, 22, 0 }, { 28, 16, -7, 0, 22, 0 }, { 29, 16, -8, 0, 22, 0 }, + { 30, 16, -8, 0, 22, 0 }, { 31, 16, -9, 0, 22, 0 }, { 32, 16, -10, 0, 22, 0 }, { 33, 16, -10, 0, 22, 0 }, { 34, 16, -11, 0, 22, 0 }, + { 35, 16, -11, 0, 22, 0 }, { 36, 16, -12, 0, 21, 0 }, { 37, 16, -13, 0, 21, 0 }, { 38, 16, -14, 0, 21, 0 }, { 39, 16, -14, 0, 21, 0 }, + { 40, 16, -15, 0, 21, 0 }, { 41, 16, -16, 0, 21, 0 }, { 42, 16, -17, 0, 21, 0 }, { 43, 16, -18, 0, 21, 0 }, { 44, 16, -19, 0, 21, 0 }, + { 45, 16, -20, 0, 21, 0 }, { 46, 16, -21, 0, 21, 0 }, { 47, 16, -22, 0, 21, 0 }, { 48, 16, -23, 0, 21, 0 }, { 49, 16, -24, 0, 21, 0 }, + { 50, 16, -25, 0, 21, 0 }, { 51, 16, -26, 0, 21, 0 }, { 52, 16, -27, 0, 21, 0 }, { 52, 16, -28, 0, 21, 0 }, { 53, 16, -29, 0, 21, 0 }, + { 54, 16, -30, 0, 21, 0 }, { 55, 16, -31, 0, 20, 0 }, { 55, 16, -32, 0, 20, 0 }, { 56, 16, -33, 0, 20, 0 }, { 57, 16, -34, 0, 20, 0 }, + { 58, 16, -35, 0, 20, 0 }, { 58, 16, -36, 0, 20, 0 }, { 59, 16, -37, 0, 20, 0 }, { 60, 16, -38, 0, 20, 0 }, { 60, 16, -39, 0, 20, 0 }, + { 61, 16, -40, 0, 20, 0 }, { 61, 16, -41, 0, 20, 0 }, { 62, 16, -42, 0, 20, 0 }, { 62, 16, -43, 0, 20, 0 }, { 63, 16, -44, 0, 20, 0 }, + { 64, 16, -45, 0, 20, 0 }, { 64, 16, -46, 0, 20, 0 }, { 65, 16, -47, 0, 20, 0 }, { 65, 16, -48, 0, 20, 0 }, { 66, 16, -49, 0, 20, 0 }, + { 66, 16, -50, 0, 20, 0 }, { 66, 16, -51, 0, 20, 0 }, { 67, 16, -52, 0, 20, 0 }, { 67, 16, -53, 0, 20, 0 }, { 68, 16, -54, 0, 20, 0 }, + { 68, 16, -55, 0, 20, 0 }, { 69, 16, -56, 0, 19, 0 }, { 69, 16, -57, 0, 19, 0 }, { 69, 16, -58, 0, 19, 0 }, { 70, 16, -59, 0, 19, 0 }, + { 70, 16, -60, 0, 19, 0 }, { 71, 16, -61, 0, 19, 0 }, { 71, 16, -62, 0, 19, 0 }, { 71, 16, -63, 0, 19, 0 }, { 72, 16, -64, 0, 19, 0 }, + { 72, 16, -65, 0, 19, 0 }, { 72, 16, -66, 0, 19, 0 }, { 73, 16, -67, 0, 19, 0 }, { 73, 16, -68, 0, 19, 0 }, { 73, 16, -69, 0, 19, 0 }, + { 73, 16, -70, 0, 19, 0 }, { 74, 16, -71, 0, 19, 0 }, { 74, 16, -72, 0, 19, 0 }, { 74, 16, -73, 0, 19, 0 }, { 74, 16, -74, 0, 19, 0 }, + { 75, 16, -75, 0, 19, 0 }, { 75, 16, -76, 0, 19, 0 }, { 75, 16, -77, 0, 19, 0 }, { 75, 16, -78, 0, 19, 0 }, { 76, 16, -79, 0, 19, 0 }, + { 76, 16, -80, 0, 19, 0 }, { 76, 16, -81, 0, 19, 0 }, { 76, 16, -82, 0, 19, 0 }, { 76, 16, -83, 0, 19, 0 }, { 77, 16, -84, 0, 19, 0 }, + { 77, 16, -85, 0, 19, 0 }, { 77, 16, -86, 0, 19, 0 }, { 77, 16, -87, 0, 19, 0 }, { 77, 16, -88, 0, 19, 0 }, { 77, 16, -89, 0, 19, 0 }, + { 78, 16, -90, 0, 19, 0 }, { 78, 16, -91, 0, 18, 0 }, { 78, 16, -92, 0, 18, 0 }, { 78, 16, -93, 0, 18, 0 }, { 78, 16, -94, 0, 18, 0 }, + { 78, 16, -95, 0, 18, 0 }, { 78, 16, -96, 0, 18, 0 }, { 78, 16, -97, 0, 18, 0 }, { 78, 16, -98, 0, 18, 0 }, { 79, 16, -99, 0, 18, 0 }, + { 79, 16, -100, 0, 18, 0 }, { 79, 16, -101, 0, 18, 0 }, { 79, 16, -102, 0, 18, 0 }, { 79, 16, -103, 0, 18, 0 }, { 79, 16, -104, 0, 18, 0 }, + { 79, 16, -105, 0, 18, 0 }, { 79, 16, -106, 0, 18, 0 }, { 79, 16, -107, 0, 18, 0 }, { 79, 16, -108, 0, 18, 0 }, { 79, 16, -109, 0, 18, 0 }, + { 79, 16, -110, 0, 18, 0 }, { 79, 16, -111, 0, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_97AA4F = { - 137, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, -1, 24, 0, 0 }, { 16, 22, -1, 8, 23, 0 }, - { 16, 21, -1, 8, 23, 0 }, { 16, 20, -1, 8, 23, 0 }, { 16, 19, -1, 8, 23, 0 }, { 16, 18, -2, 8, 23, 0 }, { 16, 17, -2, 8, 23, 0 }, - { 16, 16, -2, 8, 23, 0 }, { 16, 15, -2, 8, 23, 0 }, { 16, 14, -3, 8, 23, 0 }, { 16, 13, -3, 8, 23, 0 }, { 16, 12, -3, 8, 23, 0 }, - { 16, 11, -4, 8, 22, 0 }, { 16, 10, -4, 8, 22, 0 }, { 16, 9, -4, 8, 22, 0 }, { 16, 8, -5, 8, 22, 0 }, { 16, 7, -5, 8, 22, 0 }, - { 16, 6, -6, 8, 22, 0 }, { 16, 5, -6, 8, 22, 0 }, { 16, 4, -7, 8, 22, 0 }, { 16, 3, -7, 8, 22, 0 }, { 16, 2, -8, 8, 22, 0 }, - { 16, 1, -8, 8, 22, 0 }, { 16, 0, -9, 8, 22, 0 }, { 16, -1, -10, 8, 22, 0 }, { 16, -2, -10, 8, 22, 0 }, { 16, -3, -11, 8, 22, 0 }, - { 16, -4, -11, 8, 22, 0 }, { 16, -5, -12, 8, 21, 0 }, { 16, -6, -13, 8, 21, 0 }, { 16, -7, -14, 8, 21, 0 }, { 16, -8, -14, 8, 21, 0 }, - { 16, -9, -15, 8, 21, 0 }, { 16, -10, -16, 8, 21, 0 }, { 16, -11, -17, 8, 21, 0 }, { 16, -12, -18, 8, 21, 0 }, { 16, -13, -19, 8, 21, 0 }, - { 16, -14, -20, 8, 21, 0 }, { 16, -15, -21, 8, 21, 0 }, { 16, -16, -22, 8, 21, 0 }, { 16, -17, -23, 8, 21, 0 }, { 16, -18, -24, 8, 21, 0 }, - { 16, -19, -25, 8, 21, 0 }, { 16, -20, -26, 8, 21, 0 }, { 16, -21, -27, 8, 21, 0 }, { 16, -21, -28, 8, 21, 0 }, { 16, -22, -29, 8, 21, 0 }, - { 16, -23, -30, 8, 21, 0 }, { 16, -24, -31, 8, 20, 0 }, { 16, -24, -32, 8, 20, 0 }, { 16, -25, -33, 8, 20, 0 }, { 16, -26, -34, 8, 20, 0 }, - { 16, -27, -35, 8, 20, 0 }, { 16, -27, -36, 8, 20, 0 }, { 16, -28, -37, 8, 20, 0 }, { 16, -29, -38, 8, 20, 0 }, { 16, -29, -39, 8, 20, 0 }, - { 16, -30, -40, 8, 20, 0 }, { 16, -30, -41, 8, 20, 0 }, { 16, -31, -42, 8, 20, 0 }, { 16, -31, -43, 8, 20, 0 }, { 16, -32, -44, 8, 20, 0 }, - { 16, -33, -45, 8, 20, 0 }, { 16, -33, -46, 8, 20, 0 }, { 16, -34, -47, 8, 20, 0 }, { 16, -34, -48, 8, 20, 0 }, { 16, -35, -49, 8, 20, 0 }, - { 16, -35, -50, 8, 20, 0 }, { 16, -35, -51, 8, 20, 0 }, { 16, -36, -52, 8, 20, 0 }, { 16, -36, -53, 8, 20, 0 }, { 16, -37, -54, 8, 20, 0 }, - { 16, -37, -55, 8, 20, 0 }, { 16, -38, -56, 8, 19, 0 }, { 16, -38, -57, 8, 19, 0 }, { 16, -38, -58, 8, 19, 0 }, { 16, -39, -59, 8, 19, 0 }, - { 16, -39, -60, 8, 19, 0 }, { 16, -40, -61, 8, 19, 0 }, { 16, -40, -62, 8, 19, 0 }, { 16, -40, -63, 8, 19, 0 }, { 16, -41, -64, 8, 19, 0 }, - { 16, -41, -65, 8, 19, 0 }, { 16, -41, -66, 8, 19, 0 }, { 16, -42, -67, 8, 19, 0 }, { 16, -42, -68, 8, 19, 0 }, { 16, -42, -69, 8, 19, 0 }, - { 16, -42, -70, 8, 19, 0 }, { 16, -43, -71, 8, 19, 0 }, { 16, -43, -72, 8, 19, 0 }, { 16, -43, -73, 8, 19, 0 }, { 16, -43, -74, 8, 19, 0 }, - { 16, -44, -75, 8, 19, 0 }, { 16, -44, -76, 8, 19, 0 }, { 16, -44, -77, 8, 19, 0 }, { 16, -44, -78, 8, 19, 0 }, { 16, -45, -79, 8, 19, 0 }, - { 16, -45, -80, 8, 19, 0 }, { 16, -45, -81, 8, 19, 0 }, { 16, -45, -82, 8, 19, 0 }, { 16, -45, -83, 8, 19, 0 }, { 16, -46, -84, 8, 19, 0 }, - { 16, -46, -85, 8, 19, 0 }, { 16, -46, -86, 8, 19, 0 }, { 16, -46, -87, 8, 19, 0 }, { 16, -46, -88, 8, 19, 0 }, { 16, -46, -89, 8, 19, 0 }, - { 16, -47, -90, 8, 19, 0 }, { 16, -47, -91, 8, 18, 0 }, { 16, -47, -92, 8, 18, 0 }, { 16, -47, -93, 8, 18, 0 }, { 16, -47, -94, 8, 18, 0 }, - { 16, -47, -95, 8, 18, 0 }, { 16, -47, -96, 8, 18, 0 }, { 16, -47, -97, 8, 18, 0 }, { 16, -47, -98, 8, 18, 0 }, { 16, -48, -99, 8, 18, 0 }, - { 16, -48, -100, 8, 18, 0 }, { 16, -48, -101, 8, 18, 0 }, { 16, -48, -102, 8, 18, 0 }, { 16, -48, -103, 8, 18, 0 }, { 16, -48, -104, 8, 18, 0 }, - { 16, -48, -105, 8, 18, 0 }, { 16, -48, -106, 8, 18, 0 }, { 16, -48, -107, 8, 18, 0 }, { 16, -48, -108, 8, 18, 0 }, { 16, -48, -109, 8, 18, 0 }, - { 16, -48, -110, 8, 18, 0 }, { 16, -48, -111, 8, 18, 0 }, + 137, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, -1, 24, 0, 0 }, { 16, 22, -1, 8, 23, 0 }, + { 16, 21, -1, 8, 23, 0 }, { 16, 20, -1, 8, 23, 0 }, { 16, 19, -1, 8, 23, 0 }, { 16, 18, -2, 8, 23, 0 }, { 16, 17, -2, 8, 23, 0 }, + { 16, 16, -2, 8, 23, 0 }, { 16, 15, -2, 8, 23, 0 }, { 16, 14, -3, 8, 23, 0 }, { 16, 13, -3, 8, 23, 0 }, { 16, 12, -3, 8, 23, 0 }, + { 16, 11, -4, 8, 22, 0 }, { 16, 10, -4, 8, 22, 0 }, { 16, 9, -4, 8, 22, 0 }, { 16, 8, -5, 8, 22, 0 }, { 16, 7, -5, 8, 22, 0 }, + { 16, 6, -6, 8, 22, 0 }, { 16, 5, -6, 8, 22, 0 }, { 16, 4, -7, 8, 22, 0 }, { 16, 3, -7, 8, 22, 0 }, { 16, 2, -8, 8, 22, 0 }, + { 16, 1, -8, 8, 22, 0 }, { 16, 0, -9, 8, 22, 0 }, { 16, -1, -10, 8, 22, 0 }, { 16, -2, -10, 8, 22, 0 }, { 16, -3, -11, 8, 22, 0 }, + { 16, -4, -11, 8, 22, 0 }, { 16, -5, -12, 8, 21, 0 }, { 16, -6, -13, 8, 21, 0 }, { 16, -7, -14, 8, 21, 0 }, { 16, -8, -14, 8, 21, 0 }, + { 16, -9, -15, 8, 21, 0 }, { 16, -10, -16, 8, 21, 0 }, { 16, -11, -17, 8, 21, 0 }, { 16, -12, -18, 8, 21, 0 }, { 16, -13, -19, 8, 21, 0 }, + { 16, -14, -20, 8, 21, 0 }, { 16, -15, -21, 8, 21, 0 }, { 16, -16, -22, 8, 21, 0 }, { 16, -17, -23, 8, 21, 0 }, { 16, -18, -24, 8, 21, 0 }, + { 16, -19, -25, 8, 21, 0 }, { 16, -20, -26, 8, 21, 0 }, { 16, -21, -27, 8, 21, 0 }, { 16, -21, -28, 8, 21, 0 }, { 16, -22, -29, 8, 21, 0 }, + { 16, -23, -30, 8, 21, 0 }, { 16, -24, -31, 8, 20, 0 }, { 16, -24, -32, 8, 20, 0 }, { 16, -25, -33, 8, 20, 0 }, { 16, -26, -34, 8, 20, 0 }, + { 16, -27, -35, 8, 20, 0 }, { 16, -27, -36, 8, 20, 0 }, { 16, -28, -37, 8, 20, 0 }, { 16, -29, -38, 8, 20, 0 }, { 16, -29, -39, 8, 20, 0 }, + { 16, -30, -40, 8, 20, 0 }, { 16, -30, -41, 8, 20, 0 }, { 16, -31, -42, 8, 20, 0 }, { 16, -31, -43, 8, 20, 0 }, { 16, -32, -44, 8, 20, 0 }, + { 16, -33, -45, 8, 20, 0 }, { 16, -33, -46, 8, 20, 0 }, { 16, -34, -47, 8, 20, 0 }, { 16, -34, -48, 8, 20, 0 }, { 16, -35, -49, 8, 20, 0 }, + { 16, -35, -50, 8, 20, 0 }, { 16, -35, -51, 8, 20, 0 }, { 16, -36, -52, 8, 20, 0 }, { 16, -36, -53, 8, 20, 0 }, { 16, -37, -54, 8, 20, 0 }, + { 16, -37, -55, 8, 20, 0 }, { 16, -38, -56, 8, 19, 0 }, { 16, -38, -57, 8, 19, 0 }, { 16, -38, -58, 8, 19, 0 }, { 16, -39, -59, 8, 19, 0 }, + { 16, -39, -60, 8, 19, 0 }, { 16, -40, -61, 8, 19, 0 }, { 16, -40, -62, 8, 19, 0 }, { 16, -40, -63, 8, 19, 0 }, { 16, -41, -64, 8, 19, 0 }, + { 16, -41, -65, 8, 19, 0 }, { 16, -41, -66, 8, 19, 0 }, { 16, -42, -67, 8, 19, 0 }, { 16, -42, -68, 8, 19, 0 }, { 16, -42, -69, 8, 19, 0 }, + { 16, -42, -70, 8, 19, 0 }, { 16, -43, -71, 8, 19, 0 }, { 16, -43, -72, 8, 19, 0 }, { 16, -43, -73, 8, 19, 0 }, { 16, -43, -74, 8, 19, 0 }, + { 16, -44, -75, 8, 19, 0 }, { 16, -44, -76, 8, 19, 0 }, { 16, -44, -77, 8, 19, 0 }, { 16, -44, -78, 8, 19, 0 }, { 16, -45, -79, 8, 19, 0 }, + { 16, -45, -80, 8, 19, 0 }, { 16, -45, -81, 8, 19, 0 }, { 16, -45, -82, 8, 19, 0 }, { 16, -45, -83, 8, 19, 0 }, { 16, -46, -84, 8, 19, 0 }, + { 16, -46, -85, 8, 19, 0 }, { 16, -46, -86, 8, 19, 0 }, { 16, -46, -87, 8, 19, 0 }, { 16, -46, -88, 8, 19, 0 }, { 16, -46, -89, 8, 19, 0 }, + { 16, -47, -90, 8, 19, 0 }, { 16, -47, -91, 8, 18, 0 }, { 16, -47, -92, 8, 18, 0 }, { 16, -47, -93, 8, 18, 0 }, { 16, -47, -94, 8, 18, 0 }, + { 16, -47, -95, 8, 18, 0 }, { 16, -47, -96, 8, 18, 0 }, { 16, -47, -97, 8, 18, 0 }, { 16, -47, -98, 8, 18, 0 }, { 16, -48, -99, 8, 18, 0 }, + { 16, -48, -100, 8, 18, 0 }, { 16, -48, -101, 8, 18, 0 }, { 16, -48, -102, 8, 18, 0 }, { 16, -48, -103, 8, 18, 0 }, { 16, -48, -104, 8, 18, 0 }, + { 16, -48, -105, 8, 18, 0 }, { 16, -48, -106, 8, 18, 0 }, { 16, -48, -107, 8, 18, 0 }, { 16, -48, -108, 8, 18, 0 }, { 16, -48, -109, 8, 18, 0 }, + { 16, -48, -110, 8, 18, 0 }, { 16, -48, -111, 8, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_973B5A = { - 137, { - { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, - { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 0, 10, 0 }, { 16, 16, 7, 0, 10, 0 }, { 16, 16, 8, 0, 10, 0 }, { 16, 16, 9, 0, 10, 0 }, - { 16, 16, 10, 0, 10, 0 }, { 16, 16, 11, 0, 10, 0 }, { 16, 16, 12, 0, 10, 0 }, { 17, 16, 13, 0, 10, 0 }, { 17, 16, 14, 0, 10, 0 }, - { 17, 16, 15, 0, 10, 0 }, { 17, 16, 16, 0, 10, 0 }, { 17, 16, 17, 0, 10, 0 }, { 17, 16, 18, 0, 10, 0 }, { 17, 16, 19, 0, 10, 0 }, - { 17, 16, 20, 0, 10, 0 }, { 17, 16, 21, 0, 10, 0 }, { 18, 16, 22, 0, 11, 0 }, { 18, 16, 23, 0, 11, 0 }, { 18, 16, 24, 0, 11, 0 }, - { 18, 16, 25, 0, 11, 0 }, { 18, 16, 26, 0, 11, 0 }, { 18, 16, 27, 0, 11, 0 }, { 19, 16, 28, 0, 11, 0 }, { 19, 16, 29, 0, 11, 0 }, - { 19, 16, 30, 0, 11, 0 }, { 19, 16, 31, 0, 11, 0 }, { 19, 16, 32, 0, 11, 0 }, { 20, 16, 33, 0, 11, 0 }, { 20, 16, 34, 0, 11, 0 }, - { 20, 16, 35, 0, 11, 0 }, { 20, 16, 36, 0, 11, 0 }, { 21, 16, 37, 0, 11, 0 }, { 21, 16, 38, 0, 11, 0 }, { 21, 16, 39, 0, 11, 0 }, - { 21, 16, 40, 0, 11, 0 }, { 22, 16, 41, 0, 11, 0 }, { 22, 16, 42, 0, 11, 0 }, { 22, 16, 43, 0, 11, 0 }, { 22, 16, 44, 0, 11, 0 }, - { 23, 16, 45, 0, 11, 0 }, { 23, 16, 46, 0, 11, 0 }, { 23, 16, 47, 0, 11, 0 }, { 24, 16, 48, 0, 11, 0 }, { 24, 16, 49, 0, 11, 0 }, - { 24, 16, 50, 0, 11, 0 }, { 25, 16, 51, 0, 11, 0 }, { 25, 16, 52, 0, 11, 0 }, { 26, 16, 53, 0, 11, 0 }, { 26, 16, 54, 0, 11, 0 }, - { 26, 16, 55, 0, 11, 0 }, { 27, 16, 56, 0, 12, 0 }, { 27, 16, 57, 0, 12, 0 }, { 28, 16, 58, 0, 12, 0 }, { 28, 16, 59, 0, 12, 0 }, - { 29, 16, 60, 0, 12, 0 }, { 29, 16, 61, 0, 12, 0 }, { 29, 16, 62, 0, 12, 0 }, { 30, 16, 63, 0, 12, 0 }, { 30, 16, 64, 0, 12, 0 }, - { 31, 16, 65, 0, 12, 0 }, { 31, 16, 66, 0, 12, 0 }, { 32, 16, 67, 0, 12, 0 }, { 33, 16, 68, 0, 12, 0 }, { 33, 16, 69, 0, 12, 0 }, - { 34, 16, 70, 0, 12, 0 }, { 34, 16, 71, 0, 12, 0 }, { 35, 16, 72, 0, 12, 0 }, { 35, 16, 73, 0, 12, 0 }, { 36, 16, 74, 0, 12, 0 }, - { 37, 16, 75, 0, 12, 0 }, { 37, 16, 76, 0, 12, 0 }, { 38, 16, 77, 0, 12, 0 }, { 39, 16, 78, 0, 12, 0 }, { 40, 16, 79, 0, 12, 0 }, - { 40, 16, 80, 0, 12, 0 }, { 41, 16, 81, 0, 13, 0 }, { 42, 16, 82, 0, 13, 0 }, { 43, 16, 83, 0, 13, 0 }, { 43, 16, 84, 0, 13, 0 }, - { 44, 16, 85, 0, 13, 0 }, { 45, 16, 86, 0, 13, 0 }, { 46, 16, 87, 0, 13, 0 }, { 47, 16, 88, 0, 13, 0 }, { 48, 16, 89, 0, 13, 0 }, - { 49, 16, 90, 0, 13, 0 }, { 50, 16, 91, 0, 13, 0 }, { 51, 16, 92, 0, 13, 0 }, { 52, 16, 93, 0, 13, 0 }, { 53, 16, 94, 0, 13, 0 }, - { 54, 16, 95, 0, 13, 0 }, { 55, 16, 96, 0, 13, 0 }, { 56, 16, 97, 0, 13, 0 }, { 57, 16, 97, 0, 13, 0 }, { 58, 16, 98, 0, 13, 0 }, - { 59, 16, 99, 0, 13, 0 }, { 60, 16, 100, 0, 14, 0 }, { 61, 16, 100, 0, 14, 0 }, { 62, 16, 101, 0, 14, 0 }, { 63, 16, 101, 0, 14, 0 }, - { 64, 16, 102, 0, 14, 0 }, { 65, 16, 103, 0, 14, 0 }, { 66, 16, 103, 0, 14, 0 }, { 67, 16, 104, 0, 14, 0 }, { 68, 16, 104, 0, 14, 0 }, - { 69, 16, 105, 0, 14, 0 }, { 70, 16, 105, 0, 14, 0 }, { 71, 16, 106, 0, 14, 0 }, { 72, 16, 106, 0, 14, 0 }, { 73, 16, 107, 0, 14, 0 }, - { 74, 16, 107, 0, 14, 0 }, { 75, 16, 107, 0, 14, 0 }, { 76, 16, 108, 0, 15, 0 }, { 77, 16, 108, 0, 15, 0 }, { 78, 16, 108, 0, 15, 0 }, - { 79, 16, 109, 0, 15, 0 }, { 80, 16, 109, 0, 15, 0 }, { 81, 16, 109, 0, 15, 0 }, { 82, 16, 109, 0, 15, 0 }, { 83, 16, 110, 0, 15, 0 }, - { 84, 16, 110, 0, 15, 0 }, { 85, 16, 110, 0, 15, 0 }, { 86, 16, 110, 0, 15, 0 }, { 87, 16, 110, 0, 16, 0 }, { 88, 16, 111, 0, 16, 0 }, - { 89, 16, 111, 0, 16, 0 }, { 90, 16, 111, 0, 16, 0 }, { 91, 16, 111, 0, 16, 0 }, { 92, 16, 111, 0, 16, 0 }, { 93, 16, 111, 0, 16, 0 }, - { 94, 16, 111, 0, 16, 0 }, { 95, 16, 111, 0, 16, 0 }, + 137, { + { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, + { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 0, 10, 0 }, { 16, 16, 7, 0, 10, 0 }, { 16, 16, 8, 0, 10, 0 }, { 16, 16, 9, 0, 10, 0 }, + { 16, 16, 10, 0, 10, 0 }, { 16, 16, 11, 0, 10, 0 }, { 16, 16, 12, 0, 10, 0 }, { 17, 16, 13, 0, 10, 0 }, { 17, 16, 14, 0, 10, 0 }, + { 17, 16, 15, 0, 10, 0 }, { 17, 16, 16, 0, 10, 0 }, { 17, 16, 17, 0, 10, 0 }, { 17, 16, 18, 0, 10, 0 }, { 17, 16, 19, 0, 10, 0 }, + { 17, 16, 20, 0, 10, 0 }, { 17, 16, 21, 0, 10, 0 }, { 18, 16, 22, 0, 11, 0 }, { 18, 16, 23, 0, 11, 0 }, { 18, 16, 24, 0, 11, 0 }, + { 18, 16, 25, 0, 11, 0 }, { 18, 16, 26, 0, 11, 0 }, { 18, 16, 27, 0, 11, 0 }, { 19, 16, 28, 0, 11, 0 }, { 19, 16, 29, 0, 11, 0 }, + { 19, 16, 30, 0, 11, 0 }, { 19, 16, 31, 0, 11, 0 }, { 19, 16, 32, 0, 11, 0 }, { 20, 16, 33, 0, 11, 0 }, { 20, 16, 34, 0, 11, 0 }, + { 20, 16, 35, 0, 11, 0 }, { 20, 16, 36, 0, 11, 0 }, { 21, 16, 37, 0, 11, 0 }, { 21, 16, 38, 0, 11, 0 }, { 21, 16, 39, 0, 11, 0 }, + { 21, 16, 40, 0, 11, 0 }, { 22, 16, 41, 0, 11, 0 }, { 22, 16, 42, 0, 11, 0 }, { 22, 16, 43, 0, 11, 0 }, { 22, 16, 44, 0, 11, 0 }, + { 23, 16, 45, 0, 11, 0 }, { 23, 16, 46, 0, 11, 0 }, { 23, 16, 47, 0, 11, 0 }, { 24, 16, 48, 0, 11, 0 }, { 24, 16, 49, 0, 11, 0 }, + { 24, 16, 50, 0, 11, 0 }, { 25, 16, 51, 0, 11, 0 }, { 25, 16, 52, 0, 11, 0 }, { 26, 16, 53, 0, 11, 0 }, { 26, 16, 54, 0, 11, 0 }, + { 26, 16, 55, 0, 11, 0 }, { 27, 16, 56, 0, 12, 0 }, { 27, 16, 57, 0, 12, 0 }, { 28, 16, 58, 0, 12, 0 }, { 28, 16, 59, 0, 12, 0 }, + { 29, 16, 60, 0, 12, 0 }, { 29, 16, 61, 0, 12, 0 }, { 29, 16, 62, 0, 12, 0 }, { 30, 16, 63, 0, 12, 0 }, { 30, 16, 64, 0, 12, 0 }, + { 31, 16, 65, 0, 12, 0 }, { 31, 16, 66, 0, 12, 0 }, { 32, 16, 67, 0, 12, 0 }, { 33, 16, 68, 0, 12, 0 }, { 33, 16, 69, 0, 12, 0 }, + { 34, 16, 70, 0, 12, 0 }, { 34, 16, 71, 0, 12, 0 }, { 35, 16, 72, 0, 12, 0 }, { 35, 16, 73, 0, 12, 0 }, { 36, 16, 74, 0, 12, 0 }, + { 37, 16, 75, 0, 12, 0 }, { 37, 16, 76, 0, 12, 0 }, { 38, 16, 77, 0, 12, 0 }, { 39, 16, 78, 0, 12, 0 }, { 40, 16, 79, 0, 12, 0 }, + { 40, 16, 80, 0, 12, 0 }, { 41, 16, 81, 0, 13, 0 }, { 42, 16, 82, 0, 13, 0 }, { 43, 16, 83, 0, 13, 0 }, { 43, 16, 84, 0, 13, 0 }, + { 44, 16, 85, 0, 13, 0 }, { 45, 16, 86, 0, 13, 0 }, { 46, 16, 87, 0, 13, 0 }, { 47, 16, 88, 0, 13, 0 }, { 48, 16, 89, 0, 13, 0 }, + { 49, 16, 90, 0, 13, 0 }, { 50, 16, 91, 0, 13, 0 }, { 51, 16, 92, 0, 13, 0 }, { 52, 16, 93, 0, 13, 0 }, { 53, 16, 94, 0, 13, 0 }, + { 54, 16, 95, 0, 13, 0 }, { 55, 16, 96, 0, 13, 0 }, { 56, 16, 97, 0, 13, 0 }, { 57, 16, 97, 0, 13, 0 }, { 58, 16, 98, 0, 13, 0 }, + { 59, 16, 99, 0, 13, 0 }, { 60, 16, 100, 0, 14, 0 }, { 61, 16, 100, 0, 14, 0 }, { 62, 16, 101, 0, 14, 0 }, { 63, 16, 101, 0, 14, 0 }, + { 64, 16, 102, 0, 14, 0 }, { 65, 16, 103, 0, 14, 0 }, { 66, 16, 103, 0, 14, 0 }, { 67, 16, 104, 0, 14, 0 }, { 68, 16, 104, 0, 14, 0 }, + { 69, 16, 105, 0, 14, 0 }, { 70, 16, 105, 0, 14, 0 }, { 71, 16, 106, 0, 14, 0 }, { 72, 16, 106, 0, 14, 0 }, { 73, 16, 107, 0, 14, 0 }, + { 74, 16, 107, 0, 14, 0 }, { 75, 16, 107, 0, 14, 0 }, { 76, 16, 108, 0, 15, 0 }, { 77, 16, 108, 0, 15, 0 }, { 78, 16, 108, 0, 15, 0 }, + { 79, 16, 109, 0, 15, 0 }, { 80, 16, 109, 0, 15, 0 }, { 81, 16, 109, 0, 15, 0 }, { 82, 16, 109, 0, 15, 0 }, { 83, 16, 110, 0, 15, 0 }, + { 84, 16, 110, 0, 15, 0 }, { 85, 16, 110, 0, 15, 0 }, { 86, 16, 110, 0, 15, 0 }, { 87, 16, 110, 0, 16, 0 }, { 88, 16, 111, 0, 16, 0 }, + { 89, 16, 111, 0, 16, 0 }, { 90, 16, 111, 0, 16, 0 }, { 91, 16, 111, 0, 16, 0 }, { 92, 16, 111, 0, 16, 0 }, { 93, 16, 111, 0, 16, 0 }, + { 94, 16, 111, 0, 16, 0 }, { 95, 16, 111, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_97402D = { - 137, { - { 16, 16, 0, 8, 10, 0 }, { 16, 16, 1, 8, 10, 0 }, { 16, 16, 2, 8, 10, 0 }, { 16, 16, 3, 8, 10, 0 }, { 16, 16, 4, 8, 10, 0 }, - { 16, 16, 5, 8, 10, 0 }, { 16, 16, 6, 8, 10, 0 }, { 16, 16, 7, 8, 10, 0 }, { 16, 16, 8, 8, 10, 0 }, { 16, 16, 9, 8, 10, 0 }, - { 16, 16, 10, 8, 10, 0 }, { 16, 16, 11, 8, 10, 0 }, { 16, 16, 12, 8, 10, 0 }, { 16, 15, 13, 8, 10, 0 }, { 16, 15, 14, 8, 10, 0 }, - { 16, 15, 15, 8, 10, 0 }, { 16, 15, 16, 8, 10, 0 }, { 16, 15, 17, 8, 10, 0 }, { 16, 15, 18, 8, 10, 0 }, { 16, 15, 19, 8, 10, 0 }, - { 16, 15, 20, 8, 10, 0 }, { 16, 15, 21, 8, 10, 0 }, { 16, 14, 22, 8, 11, 0 }, { 16, 14, 23, 8, 11, 0 }, { 16, 14, 24, 8, 11, 0 }, - { 16, 14, 25, 8, 11, 0 }, { 16, 14, 26, 8, 11, 0 }, { 16, 14, 27, 8, 11, 0 }, { 16, 13, 28, 8, 11, 0 }, { 16, 13, 29, 8, 11, 0 }, - { 16, 13, 30, 8, 11, 0 }, { 16, 13, 31, 8, 11, 0 }, { 16, 13, 32, 8, 11, 0 }, { 16, 12, 33, 8, 11, 0 }, { 16, 12, 34, 8, 11, 0 }, - { 16, 12, 35, 8, 11, 0 }, { 16, 12, 36, 8, 11, 0 }, { 16, 11, 37, 8, 11, 0 }, { 16, 11, 38, 8, 11, 0 }, { 16, 11, 39, 8, 11, 0 }, - { 16, 11, 40, 8, 11, 0 }, { 16, 10, 41, 8, 11, 0 }, { 16, 10, 42, 8, 11, 0 }, { 16, 10, 43, 8, 11, 0 }, { 16, 10, 44, 8, 11, 0 }, - { 16, 9, 45, 8, 11, 0 }, { 16, 9, 46, 8, 11, 0 }, { 16, 9, 47, 8, 11, 0 }, { 16, 8, 48, 8, 11, 0 }, { 16, 8, 49, 8, 11, 0 }, - { 16, 8, 50, 8, 11, 0 }, { 16, 7, 51, 8, 11, 0 }, { 16, 7, 52, 8, 11, 0 }, { 16, 6, 53, 8, 11, 0 }, { 16, 6, 54, 8, 11, 0 }, - { 16, 6, 55, 8, 11, 0 }, { 16, 5, 56, 8, 12, 0 }, { 16, 5, 57, 8, 12, 0 }, { 16, 4, 58, 8, 12, 0 }, { 16, 4, 59, 8, 12, 0 }, - { 16, 3, 60, 8, 12, 0 }, { 16, 3, 61, 8, 12, 0 }, { 16, 3, 62, 8, 12, 0 }, { 16, 2, 63, 8, 12, 0 }, { 16, 2, 64, 8, 12, 0 }, - { 16, 1, 65, 8, 12, 0 }, { 16, 1, 66, 8, 12, 0 }, { 16, 0, 67, 8, 12, 0 }, { 16, -1, 68, 8, 12, 0 }, { 16, -1, 69, 8, 12, 0 }, - { 16, -2, 70, 8, 12, 0 }, { 16, -2, 71, 8, 12, 0 }, { 16, -3, 72, 8, 12, 0 }, { 16, -3, 73, 8, 12, 0 }, { 16, -4, 74, 8, 12, 0 }, - { 16, -5, 75, 8, 12, 0 }, { 16, -5, 76, 8, 12, 0 }, { 16, -6, 77, 8, 12, 0 }, { 16, -7, 78, 8, 12, 0 }, { 16, -8, 79, 8, 12, 0 }, - { 16, -8, 80, 8, 12, 0 }, { 16, -9, 81, 8, 13, 0 }, { 16, -10, 82, 8, 13, 0 }, { 16, -11, 83, 8, 13, 0 }, { 16, -11, 84, 8, 13, 0 }, - { 16, -12, 85, 8, 13, 0 }, { 16, -13, 86, 8, 13, 0 }, { 16, -14, 87, 8, 13, 0 }, { 16, -15, 88, 8, 13, 0 }, { 16, -16, 89, 8, 13, 0 }, - { 16, -17, 90, 8, 13, 0 }, { 16, -18, 91, 8, 13, 0 }, { 16, -19, 92, 8, 13, 0 }, { 16, -20, 93, 8, 13, 0 }, { 16, -21, 94, 8, 13, 0 }, - { 16, -22, 95, 8, 13, 0 }, { 16, -23, 96, 8, 13, 0 }, { 16, -24, 97, 8, 13, 0 }, { 16, -25, 97, 8, 13, 0 }, { 16, -26, 98, 8, 13, 0 }, - { 16, -27, 99, 8, 13, 0 }, { 16, -28, 100, 8, 14, 0 }, { 16, -29, 100, 8, 14, 0 }, { 16, -30, 101, 8, 14, 0 }, { 16, -31, 101, 8, 14, 0 }, - { 16, -32, 102, 8, 14, 0 }, { 16, -33, 103, 8, 14, 0 }, { 16, -34, 103, 8, 14, 0 }, { 16, -35, 104, 8, 14, 0 }, { 16, -36, 104, 8, 14, 0 }, - { 16, -37, 105, 8, 14, 0 }, { 16, -38, 105, 8, 14, 0 }, { 16, -39, 106, 8, 14, 0 }, { 16, -40, 106, 8, 14, 0 }, { 16, -41, 107, 8, 14, 0 }, - { 16, -42, 107, 8, 14, 0 }, { 16, -43, 107, 8, 14, 0 }, { 16, -44, 108, 8, 15, 0 }, { 16, -45, 108, 8, 15, 0 }, { 16, -46, 108, 8, 15, 0 }, - { 16, -47, 109, 8, 15, 0 }, { 16, -48, 109, 8, 15, 0 }, { 16, -49, 109, 8, 15, 0 }, { 16, -50, 109, 8, 15, 0 }, { 16, -51, 110, 8, 15, 0 }, - { 16, -52, 110, 8, 15, 0 }, { 16, -53, 110, 8, 15, 0 }, { 16, -54, 110, 8, 15, 0 }, { 16, -55, 110, 8, 16, 0 }, { 16, -56, 111, 8, 16, 0 }, - { 16, -57, 111, 8, 16, 0 }, { 16, -58, 111, 8, 16, 0 }, { 16, -59, 111, 8, 16, 0 }, { 16, -60, 111, 8, 16, 0 }, { 16, -61, 111, 8, 16, 0 }, - { 16, -62, 111, 8, 16, 0 }, { 16, -63, 111, 8, 16, 0 }, + 137, { + { 16, 16, 0, 8, 10, 0 }, { 16, 16, 1, 8, 10, 0 }, { 16, 16, 2, 8, 10, 0 }, { 16, 16, 3, 8, 10, 0 }, { 16, 16, 4, 8, 10, 0 }, + { 16, 16, 5, 8, 10, 0 }, { 16, 16, 6, 8, 10, 0 }, { 16, 16, 7, 8, 10, 0 }, { 16, 16, 8, 8, 10, 0 }, { 16, 16, 9, 8, 10, 0 }, + { 16, 16, 10, 8, 10, 0 }, { 16, 16, 11, 8, 10, 0 }, { 16, 16, 12, 8, 10, 0 }, { 16, 15, 13, 8, 10, 0 }, { 16, 15, 14, 8, 10, 0 }, + { 16, 15, 15, 8, 10, 0 }, { 16, 15, 16, 8, 10, 0 }, { 16, 15, 17, 8, 10, 0 }, { 16, 15, 18, 8, 10, 0 }, { 16, 15, 19, 8, 10, 0 }, + { 16, 15, 20, 8, 10, 0 }, { 16, 15, 21, 8, 10, 0 }, { 16, 14, 22, 8, 11, 0 }, { 16, 14, 23, 8, 11, 0 }, { 16, 14, 24, 8, 11, 0 }, + { 16, 14, 25, 8, 11, 0 }, { 16, 14, 26, 8, 11, 0 }, { 16, 14, 27, 8, 11, 0 }, { 16, 13, 28, 8, 11, 0 }, { 16, 13, 29, 8, 11, 0 }, + { 16, 13, 30, 8, 11, 0 }, { 16, 13, 31, 8, 11, 0 }, { 16, 13, 32, 8, 11, 0 }, { 16, 12, 33, 8, 11, 0 }, { 16, 12, 34, 8, 11, 0 }, + { 16, 12, 35, 8, 11, 0 }, { 16, 12, 36, 8, 11, 0 }, { 16, 11, 37, 8, 11, 0 }, { 16, 11, 38, 8, 11, 0 }, { 16, 11, 39, 8, 11, 0 }, + { 16, 11, 40, 8, 11, 0 }, { 16, 10, 41, 8, 11, 0 }, { 16, 10, 42, 8, 11, 0 }, { 16, 10, 43, 8, 11, 0 }, { 16, 10, 44, 8, 11, 0 }, + { 16, 9, 45, 8, 11, 0 }, { 16, 9, 46, 8, 11, 0 }, { 16, 9, 47, 8, 11, 0 }, { 16, 8, 48, 8, 11, 0 }, { 16, 8, 49, 8, 11, 0 }, + { 16, 8, 50, 8, 11, 0 }, { 16, 7, 51, 8, 11, 0 }, { 16, 7, 52, 8, 11, 0 }, { 16, 6, 53, 8, 11, 0 }, { 16, 6, 54, 8, 11, 0 }, + { 16, 6, 55, 8, 11, 0 }, { 16, 5, 56, 8, 12, 0 }, { 16, 5, 57, 8, 12, 0 }, { 16, 4, 58, 8, 12, 0 }, { 16, 4, 59, 8, 12, 0 }, + { 16, 3, 60, 8, 12, 0 }, { 16, 3, 61, 8, 12, 0 }, { 16, 3, 62, 8, 12, 0 }, { 16, 2, 63, 8, 12, 0 }, { 16, 2, 64, 8, 12, 0 }, + { 16, 1, 65, 8, 12, 0 }, { 16, 1, 66, 8, 12, 0 }, { 16, 0, 67, 8, 12, 0 }, { 16, -1, 68, 8, 12, 0 }, { 16, -1, 69, 8, 12, 0 }, + { 16, -2, 70, 8, 12, 0 }, { 16, -2, 71, 8, 12, 0 }, { 16, -3, 72, 8, 12, 0 }, { 16, -3, 73, 8, 12, 0 }, { 16, -4, 74, 8, 12, 0 }, + { 16, -5, 75, 8, 12, 0 }, { 16, -5, 76, 8, 12, 0 }, { 16, -6, 77, 8, 12, 0 }, { 16, -7, 78, 8, 12, 0 }, { 16, -8, 79, 8, 12, 0 }, + { 16, -8, 80, 8, 12, 0 }, { 16, -9, 81, 8, 13, 0 }, { 16, -10, 82, 8, 13, 0 }, { 16, -11, 83, 8, 13, 0 }, { 16, -11, 84, 8, 13, 0 }, + { 16, -12, 85, 8, 13, 0 }, { 16, -13, 86, 8, 13, 0 }, { 16, -14, 87, 8, 13, 0 }, { 16, -15, 88, 8, 13, 0 }, { 16, -16, 89, 8, 13, 0 }, + { 16, -17, 90, 8, 13, 0 }, { 16, -18, 91, 8, 13, 0 }, { 16, -19, 92, 8, 13, 0 }, { 16, -20, 93, 8, 13, 0 }, { 16, -21, 94, 8, 13, 0 }, + { 16, -22, 95, 8, 13, 0 }, { 16, -23, 96, 8, 13, 0 }, { 16, -24, 97, 8, 13, 0 }, { 16, -25, 97, 8, 13, 0 }, { 16, -26, 98, 8, 13, 0 }, + { 16, -27, 99, 8, 13, 0 }, { 16, -28, 100, 8, 14, 0 }, { 16, -29, 100, 8, 14, 0 }, { 16, -30, 101, 8, 14, 0 }, { 16, -31, 101, 8, 14, 0 }, + { 16, -32, 102, 8, 14, 0 }, { 16, -33, 103, 8, 14, 0 }, { 16, -34, 103, 8, 14, 0 }, { 16, -35, 104, 8, 14, 0 }, { 16, -36, 104, 8, 14, 0 }, + { 16, -37, 105, 8, 14, 0 }, { 16, -38, 105, 8, 14, 0 }, { 16, -39, 106, 8, 14, 0 }, { 16, -40, 106, 8, 14, 0 }, { 16, -41, 107, 8, 14, 0 }, + { 16, -42, 107, 8, 14, 0 }, { 16, -43, 107, 8, 14, 0 }, { 16, -44, 108, 8, 15, 0 }, { 16, -45, 108, 8, 15, 0 }, { 16, -46, 108, 8, 15, 0 }, + { 16, -47, 109, 8, 15, 0 }, { 16, -48, 109, 8, 15, 0 }, { 16, -49, 109, 8, 15, 0 }, { 16, -50, 109, 8, 15, 0 }, { 16, -51, 110, 8, 15, 0 }, + { 16, -52, 110, 8, 15, 0 }, { 16, -53, 110, 8, 15, 0 }, { 16, -54, 110, 8, 15, 0 }, { 16, -55, 110, 8, 16, 0 }, { 16, -56, 111, 8, 16, 0 }, + { 16, -57, 111, 8, 16, 0 }, { 16, -58, 111, 8, 16, 0 }, { 16, -59, 111, 8, 16, 0 }, { 16, -60, 111, 8, 16, 0 }, { 16, -61, 111, 8, 16, 0 }, + { 16, -62, 111, 8, 16, 0 }, { 16, -63, 111, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_974500 = { - 137, { - { 16, 16, 0, 16, 10, 0 }, { 16, 16, 1, 16, 10, 0 }, { 16, 16, 2, 16, 10, 0 }, { 16, 16, 3, 16, 10, 0 }, { 16, 16, 4, 16, 10, 0 }, - { 16, 16, 5, 16, 10, 0 }, { 16, 16, 6, 16, 10, 0 }, { 16, 16, 7, 16, 10, 0 }, { 16, 16, 8, 16, 10, 0 }, { 16, 16, 9, 16, 10, 0 }, - { 16, 16, 10, 16, 10, 0 }, { 16, 16, 11, 16, 10, 0 }, { 16, 16, 12, 16, 10, 0 }, { 15, 16, 13, 16, 10, 0 }, { 15, 16, 14, 16, 10, 0 }, - { 15, 16, 15, 16, 10, 0 }, { 15, 16, 16, 16, 10, 0 }, { 15, 16, 17, 16, 10, 0 }, { 15, 16, 18, 16, 10, 0 }, { 15, 16, 19, 16, 10, 0 }, - { 15, 16, 20, 16, 10, 0 }, { 15, 16, 21, 16, 10, 0 }, { 14, 16, 22, 16, 11, 0 }, { 14, 16, 23, 16, 11, 0 }, { 14, 16, 24, 16, 11, 0 }, - { 14, 16, 25, 16, 11, 0 }, { 14, 16, 26, 16, 11, 0 }, { 14, 16, 27, 16, 11, 0 }, { 13, 16, 28, 16, 11, 0 }, { 13, 16, 29, 16, 11, 0 }, - { 13, 16, 30, 16, 11, 0 }, { 13, 16, 31, 16, 11, 0 }, { 13, 16, 32, 16, 11, 0 }, { 12, 16, 33, 16, 11, 0 }, { 12, 16, 34, 16, 11, 0 }, - { 12, 16, 35, 16, 11, 0 }, { 12, 16, 36, 16, 11, 0 }, { 11, 16, 37, 16, 11, 0 }, { 11, 16, 38, 16, 11, 0 }, { 11, 16, 39, 16, 11, 0 }, - { 11, 16, 40, 16, 11, 0 }, { 10, 16, 41, 16, 11, 0 }, { 10, 16, 42, 16, 11, 0 }, { 10, 16, 43, 16, 11, 0 }, { 10, 16, 44, 16, 11, 0 }, - { 9, 16, 45, 16, 11, 0 }, { 9, 16, 46, 16, 11, 0 }, { 9, 16, 47, 16, 11, 0 }, { 8, 16, 48, 16, 11, 0 }, { 8, 16, 49, 16, 11, 0 }, - { 8, 16, 50, 16, 11, 0 }, { 7, 16, 51, 16, 11, 0 }, { 7, 16, 52, 16, 11, 0 }, { 6, 16, 53, 16, 11, 0 }, { 6, 16, 54, 16, 11, 0 }, - { 6, 16, 55, 16, 11, 0 }, { 5, 16, 56, 16, 12, 0 }, { 5, 16, 57, 16, 12, 0 }, { 4, 16, 58, 16, 12, 0 }, { 4, 16, 59, 16, 12, 0 }, - { 3, 16, 60, 16, 12, 0 }, { 3, 16, 61, 16, 12, 0 }, { 3, 16, 62, 16, 12, 0 }, { 2, 16, 63, 16, 12, 0 }, { 2, 16, 64, 16, 12, 0 }, - { 1, 16, 65, 16, 12, 0 }, { 1, 16, 66, 16, 12, 0 }, { 0, 16, 67, 16, 12, 0 }, { -1, 16, 68, 16, 12, 0 }, { -1, 16, 69, 16, 12, 0 }, - { -2, 16, 70, 16, 12, 0 }, { -2, 16, 71, 16, 12, 0 }, { -3, 16, 72, 16, 12, 0 }, { -3, 16, 73, 16, 12, 0 }, { -4, 16, 74, 16, 12, 0 }, - { -5, 16, 75, 16, 12, 0 }, { -5, 16, 76, 16, 12, 0 }, { -6, 16, 77, 16, 12, 0 }, { -7, 16, 78, 16, 12, 0 }, { -8, 16, 79, 16, 12, 0 }, - { -8, 16, 80, 16, 12, 0 }, { -9, 16, 81, 16, 13, 0 }, { -10, 16, 82, 16, 13, 0 }, { -11, 16, 83, 16, 13, 0 }, { -11, 16, 84, 16, 13, 0 }, - { -12, 16, 85, 16, 13, 0 }, { -13, 16, 86, 16, 13, 0 }, { -14, 16, 87, 16, 13, 0 }, { -15, 16, 88, 16, 13, 0 }, { -16, 16, 89, 16, 13, 0 }, - { -17, 16, 90, 16, 13, 0 }, { -18, 16, 91, 16, 13, 0 }, { -19, 16, 92, 16, 13, 0 }, { -20, 16, 93, 16, 13, 0 }, { -21, 16, 94, 16, 13, 0 }, - { -22, 16, 95, 16, 13, 0 }, { -23, 16, 96, 16, 13, 0 }, { -24, 16, 97, 16, 13, 0 }, { -25, 16, 97, 16, 13, 0 }, { -26, 16, 98, 16, 13, 0 }, - { -27, 16, 99, 16, 13, 0 }, { -28, 16, 100, 16, 14, 0 }, { -29, 16, 100, 16, 14, 0 }, { -30, 16, 101, 16, 14, 0 }, { -31, 16, 101, 16, 14, 0 }, - { -32, 16, 102, 16, 14, 0 }, { -33, 16, 103, 16, 14, 0 }, { -34, 16, 103, 16, 14, 0 }, { -35, 16, 104, 16, 14, 0 }, { -36, 16, 104, 16, 14, 0 }, - { -37, 16, 105, 16, 14, 0 }, { -38, 16, 105, 16, 14, 0 }, { -39, 16, 106, 16, 14, 0 }, { -40, 16, 106, 16, 14, 0 }, { -41, 16, 107, 16, 14, 0 }, - { -42, 16, 107, 16, 14, 0 }, { -43, 16, 107, 16, 14, 0 }, { -44, 16, 108, 16, 15, 0 }, { -45, 16, 108, 16, 15, 0 }, { -46, 16, 108, 16, 15, 0 }, - { -47, 16, 109, 16, 15, 0 }, { -48, 16, 109, 16, 15, 0 }, { -49, 16, 109, 16, 15, 0 }, { -50, 16, 109, 16, 15, 0 }, { -51, 16, 110, 16, 15, 0 }, - { -52, 16, 110, 16, 15, 0 }, { -53, 16, 110, 16, 15, 0 }, { -54, 16, 110, 16, 15, 0 }, { -55, 16, 110, 16, 16, 0 }, { -56, 16, 111, 16, 16, 0 }, - { -57, 16, 111, 16, 16, 0 }, { -58, 16, 111, 16, 16, 0 }, { -59, 16, 111, 16, 16, 0 }, { -60, 16, 111, 16, 16, 0 }, { -61, 16, 111, 16, 16, 0 }, - { -62, 16, 111, 16, 16, 0 }, { -63, 16, 111, 16, 16, 0 }, + 137, { + { 16, 16, 0, 16, 10, 0 }, { 16, 16, 1, 16, 10, 0 }, { 16, 16, 2, 16, 10, 0 }, { 16, 16, 3, 16, 10, 0 }, { 16, 16, 4, 16, 10, 0 }, + { 16, 16, 5, 16, 10, 0 }, { 16, 16, 6, 16, 10, 0 }, { 16, 16, 7, 16, 10, 0 }, { 16, 16, 8, 16, 10, 0 }, { 16, 16, 9, 16, 10, 0 }, + { 16, 16, 10, 16, 10, 0 }, { 16, 16, 11, 16, 10, 0 }, { 16, 16, 12, 16, 10, 0 }, { 15, 16, 13, 16, 10, 0 }, { 15, 16, 14, 16, 10, 0 }, + { 15, 16, 15, 16, 10, 0 }, { 15, 16, 16, 16, 10, 0 }, { 15, 16, 17, 16, 10, 0 }, { 15, 16, 18, 16, 10, 0 }, { 15, 16, 19, 16, 10, 0 }, + { 15, 16, 20, 16, 10, 0 }, { 15, 16, 21, 16, 10, 0 }, { 14, 16, 22, 16, 11, 0 }, { 14, 16, 23, 16, 11, 0 }, { 14, 16, 24, 16, 11, 0 }, + { 14, 16, 25, 16, 11, 0 }, { 14, 16, 26, 16, 11, 0 }, { 14, 16, 27, 16, 11, 0 }, { 13, 16, 28, 16, 11, 0 }, { 13, 16, 29, 16, 11, 0 }, + { 13, 16, 30, 16, 11, 0 }, { 13, 16, 31, 16, 11, 0 }, { 13, 16, 32, 16, 11, 0 }, { 12, 16, 33, 16, 11, 0 }, { 12, 16, 34, 16, 11, 0 }, + { 12, 16, 35, 16, 11, 0 }, { 12, 16, 36, 16, 11, 0 }, { 11, 16, 37, 16, 11, 0 }, { 11, 16, 38, 16, 11, 0 }, { 11, 16, 39, 16, 11, 0 }, + { 11, 16, 40, 16, 11, 0 }, { 10, 16, 41, 16, 11, 0 }, { 10, 16, 42, 16, 11, 0 }, { 10, 16, 43, 16, 11, 0 }, { 10, 16, 44, 16, 11, 0 }, + { 9, 16, 45, 16, 11, 0 }, { 9, 16, 46, 16, 11, 0 }, { 9, 16, 47, 16, 11, 0 }, { 8, 16, 48, 16, 11, 0 }, { 8, 16, 49, 16, 11, 0 }, + { 8, 16, 50, 16, 11, 0 }, { 7, 16, 51, 16, 11, 0 }, { 7, 16, 52, 16, 11, 0 }, { 6, 16, 53, 16, 11, 0 }, { 6, 16, 54, 16, 11, 0 }, + { 6, 16, 55, 16, 11, 0 }, { 5, 16, 56, 16, 12, 0 }, { 5, 16, 57, 16, 12, 0 }, { 4, 16, 58, 16, 12, 0 }, { 4, 16, 59, 16, 12, 0 }, + { 3, 16, 60, 16, 12, 0 }, { 3, 16, 61, 16, 12, 0 }, { 3, 16, 62, 16, 12, 0 }, { 2, 16, 63, 16, 12, 0 }, { 2, 16, 64, 16, 12, 0 }, + { 1, 16, 65, 16, 12, 0 }, { 1, 16, 66, 16, 12, 0 }, { 0, 16, 67, 16, 12, 0 }, { -1, 16, 68, 16, 12, 0 }, { -1, 16, 69, 16, 12, 0 }, + { -2, 16, 70, 16, 12, 0 }, { -2, 16, 71, 16, 12, 0 }, { -3, 16, 72, 16, 12, 0 }, { -3, 16, 73, 16, 12, 0 }, { -4, 16, 74, 16, 12, 0 }, + { -5, 16, 75, 16, 12, 0 }, { -5, 16, 76, 16, 12, 0 }, { -6, 16, 77, 16, 12, 0 }, { -7, 16, 78, 16, 12, 0 }, { -8, 16, 79, 16, 12, 0 }, + { -8, 16, 80, 16, 12, 0 }, { -9, 16, 81, 16, 13, 0 }, { -10, 16, 82, 16, 13, 0 }, { -11, 16, 83, 16, 13, 0 }, { -11, 16, 84, 16, 13, 0 }, + { -12, 16, 85, 16, 13, 0 }, { -13, 16, 86, 16, 13, 0 }, { -14, 16, 87, 16, 13, 0 }, { -15, 16, 88, 16, 13, 0 }, { -16, 16, 89, 16, 13, 0 }, + { -17, 16, 90, 16, 13, 0 }, { -18, 16, 91, 16, 13, 0 }, { -19, 16, 92, 16, 13, 0 }, { -20, 16, 93, 16, 13, 0 }, { -21, 16, 94, 16, 13, 0 }, + { -22, 16, 95, 16, 13, 0 }, { -23, 16, 96, 16, 13, 0 }, { -24, 16, 97, 16, 13, 0 }, { -25, 16, 97, 16, 13, 0 }, { -26, 16, 98, 16, 13, 0 }, + { -27, 16, 99, 16, 13, 0 }, { -28, 16, 100, 16, 14, 0 }, { -29, 16, 100, 16, 14, 0 }, { -30, 16, 101, 16, 14, 0 }, { -31, 16, 101, 16, 14, 0 }, + { -32, 16, 102, 16, 14, 0 }, { -33, 16, 103, 16, 14, 0 }, { -34, 16, 103, 16, 14, 0 }, { -35, 16, 104, 16, 14, 0 }, { -36, 16, 104, 16, 14, 0 }, + { -37, 16, 105, 16, 14, 0 }, { -38, 16, 105, 16, 14, 0 }, { -39, 16, 106, 16, 14, 0 }, { -40, 16, 106, 16, 14, 0 }, { -41, 16, 107, 16, 14, 0 }, + { -42, 16, 107, 16, 14, 0 }, { -43, 16, 107, 16, 14, 0 }, { -44, 16, 108, 16, 15, 0 }, { -45, 16, 108, 16, 15, 0 }, { -46, 16, 108, 16, 15, 0 }, + { -47, 16, 109, 16, 15, 0 }, { -48, 16, 109, 16, 15, 0 }, { -49, 16, 109, 16, 15, 0 }, { -50, 16, 109, 16, 15, 0 }, { -51, 16, 110, 16, 15, 0 }, + { -52, 16, 110, 16, 15, 0 }, { -53, 16, 110, 16, 15, 0 }, { -54, 16, 110, 16, 15, 0 }, { -55, 16, 110, 16, 16, 0 }, { -56, 16, 111, 16, 16, 0 }, + { -57, 16, 111, 16, 16, 0 }, { -58, 16, 111, 16, 16, 0 }, { -59, 16, 111, 16, 16, 0 }, { -60, 16, 111, 16, 16, 0 }, { -61, 16, 111, 16, 16, 0 }, + { -62, 16, 111, 16, 16, 0 }, { -63, 16, 111, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9749D3 = { - 137, { - { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, - { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 24, 10, 0 }, { 16, 16, 7, 24, 10, 0 }, { 16, 16, 8, 24, 10, 0 }, { 16, 16, 9, 24, 10, 0 }, - { 16, 16, 10, 24, 10, 0 }, { 16, 16, 11, 24, 10, 0 }, { 16, 16, 12, 24, 10, 0 }, { 16, 17, 13, 24, 10, 0 }, { 16, 17, 14, 24, 10, 0 }, - { 16, 17, 15, 24, 10, 0 }, { 16, 17, 16, 24, 10, 0 }, { 16, 17, 17, 24, 10, 0 }, { 16, 17, 18, 24, 10, 0 }, { 16, 17, 19, 24, 10, 0 }, - { 16, 17, 20, 24, 10, 0 }, { 16, 17, 21, 24, 10, 0 }, { 16, 18, 22, 24, 11, 0 }, { 16, 18, 23, 24, 11, 0 }, { 16, 18, 24, 24, 11, 0 }, - { 16, 18, 25, 24, 11, 0 }, { 16, 18, 26, 24, 11, 0 }, { 16, 18, 27, 24, 11, 0 }, { 16, 19, 28, 24, 11, 0 }, { 16, 19, 29, 24, 11, 0 }, - { 16, 19, 30, 24, 11, 0 }, { 16, 19, 31, 24, 11, 0 }, { 16, 19, 32, 24, 11, 0 }, { 16, 20, 33, 24, 11, 0 }, { 16, 20, 34, 24, 11, 0 }, - { 16, 20, 35, 24, 11, 0 }, { 16, 20, 36, 24, 11, 0 }, { 16, 21, 37, 24, 11, 0 }, { 16, 21, 38, 24, 11, 0 }, { 16, 21, 39, 24, 11, 0 }, - { 16, 21, 40, 24, 11, 0 }, { 16, 22, 41, 24, 11, 0 }, { 16, 22, 42, 24, 11, 0 }, { 16, 22, 43, 24, 11, 0 }, { 16, 22, 44, 24, 11, 0 }, - { 16, 23, 45, 24, 11, 0 }, { 16, 23, 46, 24, 11, 0 }, { 16, 23, 47, 24, 11, 0 }, { 16, 24, 48, 24, 11, 0 }, { 16, 24, 49, 24, 11, 0 }, - { 16, 24, 50, 24, 11, 0 }, { 16, 25, 51, 24, 11, 0 }, { 16, 25, 52, 24, 11, 0 }, { 16, 26, 53, 24, 11, 0 }, { 16, 26, 54, 24, 11, 0 }, - { 16, 26, 55, 24, 11, 0 }, { 16, 27, 56, 24, 12, 0 }, { 16, 27, 57, 24, 12, 0 }, { 16, 28, 58, 24, 12, 0 }, { 16, 28, 59, 24, 12, 0 }, - { 16, 29, 60, 24, 12, 0 }, { 16, 29, 61, 24, 12, 0 }, { 16, 29, 62, 24, 12, 0 }, { 16, 30, 63, 24, 12, 0 }, { 16, 30, 64, 24, 12, 0 }, - { 16, 31, 65, 24, 12, 0 }, { 16, 31, 66, 24, 12, 0 }, { 16, 32, 67, 24, 12, 0 }, { 16, 33, 68, 24, 12, 0 }, { 16, 33, 69, 24, 12, 0 }, - { 16, 34, 70, 24, 12, 0 }, { 16, 34, 71, 24, 12, 0 }, { 16, 35, 72, 24, 12, 0 }, { 16, 35, 73, 24, 12, 0 }, { 16, 36, 74, 24, 12, 0 }, - { 16, 37, 75, 24, 12, 0 }, { 16, 37, 76, 24, 12, 0 }, { 16, 38, 77, 24, 12, 0 }, { 16, 39, 78, 24, 12, 0 }, { 16, 40, 79, 24, 12, 0 }, - { 16, 40, 80, 24, 12, 0 }, { 16, 41, 81, 24, 13, 0 }, { 16, 42, 82, 24, 13, 0 }, { 16, 43, 83, 24, 13, 0 }, { 16, 43, 84, 24, 13, 0 }, - { 16, 44, 85, 24, 13, 0 }, { 16, 45, 86, 24, 13, 0 }, { 16, 46, 87, 24, 13, 0 }, { 16, 47, 88, 24, 13, 0 }, { 16, 48, 89, 24, 13, 0 }, - { 16, 49, 90, 24, 13, 0 }, { 16, 50, 91, 24, 13, 0 }, { 16, 51, 92, 24, 13, 0 }, { 16, 52, 93, 24, 13, 0 }, { 16, 53, 94, 24, 13, 0 }, - { 16, 54, 95, 24, 13, 0 }, { 16, 55, 96, 24, 13, 0 }, { 16, 56, 97, 24, 13, 0 }, { 16, 57, 97, 24, 13, 0 }, { 16, 58, 98, 24, 13, 0 }, - { 16, 59, 99, 24, 13, 0 }, { 16, 60, 100, 24, 14, 0 }, { 16, 61, 100, 24, 14, 0 }, { 16, 62, 101, 24, 14, 0 }, { 16, 63, 101, 24, 14, 0 }, - { 16, 64, 102, 24, 14, 0 }, { 16, 65, 103, 24, 14, 0 }, { 16, 66, 103, 24, 14, 0 }, { 16, 67, 104, 24, 14, 0 }, { 16, 68, 104, 24, 14, 0 }, - { 16, 69, 105, 24, 14, 0 }, { 16, 70, 105, 24, 14, 0 }, { 16, 71, 106, 24, 14, 0 }, { 16, 72, 106, 24, 14, 0 }, { 16, 73, 107, 24, 14, 0 }, - { 16, 74, 107, 24, 14, 0 }, { 16, 75, 107, 24, 14, 0 }, { 16, 76, 108, 24, 15, 0 }, { 16, 77, 108, 24, 15, 0 }, { 16, 78, 108, 24, 15, 0 }, - { 16, 79, 109, 24, 15, 0 }, { 16, 80, 109, 24, 15, 0 }, { 16, 81, 109, 24, 15, 0 }, { 16, 82, 109, 24, 15, 0 }, { 16, 83, 110, 24, 15, 0 }, - { 16, 84, 110, 24, 15, 0 }, { 16, 85, 110, 24, 15, 0 }, { 16, 86, 110, 24, 15, 0 }, { 16, 87, 110, 24, 16, 0 }, { 16, 88, 111, 24, 16, 0 }, - { 16, 89, 111, 24, 16, 0 }, { 16, 90, 111, 24, 16, 0 }, { 16, 91, 111, 24, 16, 0 }, { 16, 92, 111, 24, 16, 0 }, { 16, 93, 111, 24, 16, 0 }, - { 16, 94, 111, 24, 16, 0 }, { 16, 95, 111, 24, 16, 0 }, + 137, { + { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, + { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 24, 10, 0 }, { 16, 16, 7, 24, 10, 0 }, { 16, 16, 8, 24, 10, 0 }, { 16, 16, 9, 24, 10, 0 }, + { 16, 16, 10, 24, 10, 0 }, { 16, 16, 11, 24, 10, 0 }, { 16, 16, 12, 24, 10, 0 }, { 16, 17, 13, 24, 10, 0 }, { 16, 17, 14, 24, 10, 0 }, + { 16, 17, 15, 24, 10, 0 }, { 16, 17, 16, 24, 10, 0 }, { 16, 17, 17, 24, 10, 0 }, { 16, 17, 18, 24, 10, 0 }, { 16, 17, 19, 24, 10, 0 }, + { 16, 17, 20, 24, 10, 0 }, { 16, 17, 21, 24, 10, 0 }, { 16, 18, 22, 24, 11, 0 }, { 16, 18, 23, 24, 11, 0 }, { 16, 18, 24, 24, 11, 0 }, + { 16, 18, 25, 24, 11, 0 }, { 16, 18, 26, 24, 11, 0 }, { 16, 18, 27, 24, 11, 0 }, { 16, 19, 28, 24, 11, 0 }, { 16, 19, 29, 24, 11, 0 }, + { 16, 19, 30, 24, 11, 0 }, { 16, 19, 31, 24, 11, 0 }, { 16, 19, 32, 24, 11, 0 }, { 16, 20, 33, 24, 11, 0 }, { 16, 20, 34, 24, 11, 0 }, + { 16, 20, 35, 24, 11, 0 }, { 16, 20, 36, 24, 11, 0 }, { 16, 21, 37, 24, 11, 0 }, { 16, 21, 38, 24, 11, 0 }, { 16, 21, 39, 24, 11, 0 }, + { 16, 21, 40, 24, 11, 0 }, { 16, 22, 41, 24, 11, 0 }, { 16, 22, 42, 24, 11, 0 }, { 16, 22, 43, 24, 11, 0 }, { 16, 22, 44, 24, 11, 0 }, + { 16, 23, 45, 24, 11, 0 }, { 16, 23, 46, 24, 11, 0 }, { 16, 23, 47, 24, 11, 0 }, { 16, 24, 48, 24, 11, 0 }, { 16, 24, 49, 24, 11, 0 }, + { 16, 24, 50, 24, 11, 0 }, { 16, 25, 51, 24, 11, 0 }, { 16, 25, 52, 24, 11, 0 }, { 16, 26, 53, 24, 11, 0 }, { 16, 26, 54, 24, 11, 0 }, + { 16, 26, 55, 24, 11, 0 }, { 16, 27, 56, 24, 12, 0 }, { 16, 27, 57, 24, 12, 0 }, { 16, 28, 58, 24, 12, 0 }, { 16, 28, 59, 24, 12, 0 }, + { 16, 29, 60, 24, 12, 0 }, { 16, 29, 61, 24, 12, 0 }, { 16, 29, 62, 24, 12, 0 }, { 16, 30, 63, 24, 12, 0 }, { 16, 30, 64, 24, 12, 0 }, + { 16, 31, 65, 24, 12, 0 }, { 16, 31, 66, 24, 12, 0 }, { 16, 32, 67, 24, 12, 0 }, { 16, 33, 68, 24, 12, 0 }, { 16, 33, 69, 24, 12, 0 }, + { 16, 34, 70, 24, 12, 0 }, { 16, 34, 71, 24, 12, 0 }, { 16, 35, 72, 24, 12, 0 }, { 16, 35, 73, 24, 12, 0 }, { 16, 36, 74, 24, 12, 0 }, + { 16, 37, 75, 24, 12, 0 }, { 16, 37, 76, 24, 12, 0 }, { 16, 38, 77, 24, 12, 0 }, { 16, 39, 78, 24, 12, 0 }, { 16, 40, 79, 24, 12, 0 }, + { 16, 40, 80, 24, 12, 0 }, { 16, 41, 81, 24, 13, 0 }, { 16, 42, 82, 24, 13, 0 }, { 16, 43, 83, 24, 13, 0 }, { 16, 43, 84, 24, 13, 0 }, + { 16, 44, 85, 24, 13, 0 }, { 16, 45, 86, 24, 13, 0 }, { 16, 46, 87, 24, 13, 0 }, { 16, 47, 88, 24, 13, 0 }, { 16, 48, 89, 24, 13, 0 }, + { 16, 49, 90, 24, 13, 0 }, { 16, 50, 91, 24, 13, 0 }, { 16, 51, 92, 24, 13, 0 }, { 16, 52, 93, 24, 13, 0 }, { 16, 53, 94, 24, 13, 0 }, + { 16, 54, 95, 24, 13, 0 }, { 16, 55, 96, 24, 13, 0 }, { 16, 56, 97, 24, 13, 0 }, { 16, 57, 97, 24, 13, 0 }, { 16, 58, 98, 24, 13, 0 }, + { 16, 59, 99, 24, 13, 0 }, { 16, 60, 100, 24, 14, 0 }, { 16, 61, 100, 24, 14, 0 }, { 16, 62, 101, 24, 14, 0 }, { 16, 63, 101, 24, 14, 0 }, + { 16, 64, 102, 24, 14, 0 }, { 16, 65, 103, 24, 14, 0 }, { 16, 66, 103, 24, 14, 0 }, { 16, 67, 104, 24, 14, 0 }, { 16, 68, 104, 24, 14, 0 }, + { 16, 69, 105, 24, 14, 0 }, { 16, 70, 105, 24, 14, 0 }, { 16, 71, 106, 24, 14, 0 }, { 16, 72, 106, 24, 14, 0 }, { 16, 73, 107, 24, 14, 0 }, + { 16, 74, 107, 24, 14, 0 }, { 16, 75, 107, 24, 14, 0 }, { 16, 76, 108, 24, 15, 0 }, { 16, 77, 108, 24, 15, 0 }, { 16, 78, 108, 24, 15, 0 }, + { 16, 79, 109, 24, 15, 0 }, { 16, 80, 109, 24, 15, 0 }, { 16, 81, 109, 24, 15, 0 }, { 16, 82, 109, 24, 15, 0 }, { 16, 83, 110, 24, 15, 0 }, + { 16, 84, 110, 24, 15, 0 }, { 16, 85, 110, 24, 15, 0 }, { 16, 86, 110, 24, 15, 0 }, { 16, 87, 110, 24, 16, 0 }, { 16, 88, 111, 24, 16, 0 }, + { 16, 89, 111, 24, 16, 0 }, { 16, 90, 111, 24, 16, 0 }, { 16, 91, 111, 24, 16, 0 }, { 16, 92, 111, 24, 16, 0 }, { 16, 93, 111, 24, 16, 0 }, + { 16, 94, 111, 24, 16, 0 }, { 16, 95, 111, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_974EA6 = { - 137, { - { 31, 16, 16, 16, 16, 0 }, { 30, 16, 16, 16, 16, 0 }, { 29, 16, 16, 16, 16, 0 }, { 28, 16, 16, 16, 16, 0 }, { 27, 16, 16, 16, 16, 0 }, - { 26, 16, 16, 16, 16, 0 }, { 25, 16, 16, 16, 16, 0 }, { 24, 16, 16, 16, 16, 0 }, { 23, 16, 15, 16, 16, 0 }, { 22, 16, 15, 16, 23, 0 }, - { 21, 16, 15, 16, 23, 0 }, { 20, 16, 15, 16, 23, 0 }, { 19, 16, 15, 16, 23, 0 }, { 18, 16, 14, 16, 23, 0 }, { 17, 16, 14, 16, 23, 0 }, - { 16, 16, 14, 16, 23, 0 }, { 15, 16, 14, 16, 23, 0 }, { 14, 16, 13, 16, 23, 0 }, { 13, 16, 13, 16, 23, 0 }, { 12, 16, 13, 16, 23, 0 }, - { 11, 16, 12, 16, 22, 0 }, { 10, 16, 12, 16, 22, 0 }, { 9, 16, 12, 16, 22, 0 }, { 8, 16, 11, 16, 22, 0 }, { 7, 16, 11, 16, 22, 0 }, - { 6, 16, 10, 16, 22, 0 }, { 5, 16, 10, 16, 22, 0 }, { 4, 16, 9, 16, 22, 0 }, { 3, 16, 9, 16, 22, 0 }, { 2, 16, 8, 16, 22, 0 }, - { 1, 16, 8, 16, 22, 0 }, { 0, 16, 7, 16, 22, 0 }, { -1, 16, 6, 16, 22, 0 }, { -2, 16, 6, 16, 22, 0 }, { -3, 16, 5, 16, 22, 0 }, - { -4, 16, 5, 16, 22, 0 }, { -5, 16, 4, 16, 21, 0 }, { -6, 16, 3, 16, 21, 0 }, { -7, 16, 2, 16, 21, 0 }, { -8, 16, 2, 16, 21, 0 }, - { -9, 16, 1, 16, 21, 0 }, { -10, 16, 0, 16, 21, 0 }, { -11, 16, -1, 16, 21, 0 }, { -12, 16, -2, 16, 21, 0 }, { -13, 16, -3, 16, 21, 0 }, - { -14, 16, -4, 16, 21, 0 }, { -15, 16, -5, 16, 21, 0 }, { -16, 16, -6, 16, 21, 0 }, { -17, 16, -7, 16, 21, 0 }, { -18, 16, -8, 16, 21, 0 }, - { -19, 16, -9, 16, 21, 0 }, { -20, 16, -10, 16, 21, 0 }, { -21, 16, -11, 16, 21, 0 }, { -21, 16, -12, 16, 21, 0 }, { -22, 16, -13, 16, 21, 0 }, - { -23, 16, -14, 16, 21, 0 }, { -24, 16, -15, 16, 20, 0 }, { -24, 16, -16, 16, 20, 0 }, { -25, 16, -17, 16, 20, 0 }, { -26, 16, -18, 16, 20, 0 }, - { -27, 16, -19, 16, 20, 0 }, { -27, 16, -20, 16, 20, 0 }, { -28, 16, -21, 16, 20, 0 }, { -29, 16, -22, 16, 20, 0 }, { -29, 16, -23, 16, 20, 0 }, - { -30, 16, -24, 16, 20, 0 }, { -30, 16, -25, 16, 20, 0 }, { -31, 16, -26, 16, 20, 0 }, { -31, 16, -27, 16, 20, 0 }, { -32, 16, -28, 16, 20, 0 }, - { -33, 16, -29, 16, 20, 0 }, { -33, 16, -30, 16, 20, 0 }, { -34, 16, -31, 16, 20, 0 }, { -34, 16, -32, 16, 20, 0 }, { -35, 16, -33, 16, 20, 0 }, - { -35, 16, -34, 16, 20, 0 }, { -35, 16, -35, 16, 20, 0 }, { -36, 16, -36, 16, 20, 0 }, { -36, 16, -37, 16, 20, 0 }, { -37, 16, -38, 16, 20, 0 }, - { -37, 16, -39, 16, 20, 0 }, { -38, 16, -40, 16, 19, 0 }, { -38, 16, -41, 16, 19, 0 }, { -38, 16, -42, 16, 19, 0 }, { -39, 16, -43, 16, 19, 0 }, - { -39, 16, -44, 16, 19, 0 }, { -40, 16, -45, 16, 19, 0 }, { -40, 16, -46, 16, 19, 0 }, { -40, 16, -47, 16, 19, 0 }, { -41, 16, -48, 16, 19, 0 }, - { -41, 16, -49, 16, 19, 0 }, { -41, 16, -50, 16, 19, 0 }, { -42, 16, -51, 16, 19, 0 }, { -42, 16, -52, 16, 19, 0 }, { -42, 16, -53, 16, 19, 0 }, - { -42, 16, -54, 16, 19, 0 }, { -43, 16, -55, 16, 19, 0 }, { -43, 16, -56, 16, 19, 0 }, { -43, 16, -57, 16, 19, 0 }, { -43, 16, -58, 16, 19, 0 }, - { -44, 16, -59, 16, 19, 0 }, { -44, 16, -60, 16, 19, 0 }, { -44, 16, -61, 16, 19, 0 }, { -44, 16, -62, 16, 19, 0 }, { -45, 16, -63, 16, 19, 0 }, - { -45, 16, -64, 16, 19, 0 }, { -45, 16, -65, 16, 19, 0 }, { -45, 16, -66, 16, 19, 0 }, { -45, 16, -67, 16, 19, 0 }, { -46, 16, -68, 16, 19, 0 }, - { -46, 16, -69, 16, 19, 0 }, { -46, 16, -70, 16, 19, 0 }, { -46, 16, -71, 16, 19, 0 }, { -46, 16, -72, 16, 19, 0 }, { -46, 16, -73, 16, 19, 0 }, - { -47, 16, -74, 16, 19, 0 }, { -47, 16, -75, 16, 18, 0 }, { -47, 16, -76, 16, 18, 0 }, { -47, 16, -77, 16, 18, 0 }, { -47, 16, -78, 16, 18, 0 }, - { -47, 16, -79, 16, 18, 0 }, { -47, 16, -80, 16, 18, 0 }, { -47, 16, -81, 16, 18, 0 }, { -47, 16, -82, 16, 18, 0 }, { -48, 16, -83, 16, 18, 0 }, - { -48, 16, -84, 16, 18, 0 }, { -48, 16, -85, 16, 18, 0 }, { -48, 16, -86, 16, 18, 0 }, { -48, 16, -87, 16, 18, 0 }, { -48, 16, -88, 16, 18, 0 }, - { -48, 16, -89, 16, 18, 0 }, { -48, 16, -90, 16, 18, 0 }, { -48, 16, -91, 16, 18, 0 }, { -48, 16, -92, 16, 18, 0 }, { -48, 16, -93, 16, 18, 0 }, - { -48, 16, -94, 16, 18, 0 }, { -48, 16, -95, 16, 18, 0 }, + 137, { + { 31, 16, 16, 16, 16, 0 }, { 30, 16, 16, 16, 16, 0 }, { 29, 16, 16, 16, 16, 0 }, { 28, 16, 16, 16, 16, 0 }, { 27, 16, 16, 16, 16, 0 }, + { 26, 16, 16, 16, 16, 0 }, { 25, 16, 16, 16, 16, 0 }, { 24, 16, 16, 16, 16, 0 }, { 23, 16, 15, 16, 16, 0 }, { 22, 16, 15, 16, 23, 0 }, + { 21, 16, 15, 16, 23, 0 }, { 20, 16, 15, 16, 23, 0 }, { 19, 16, 15, 16, 23, 0 }, { 18, 16, 14, 16, 23, 0 }, { 17, 16, 14, 16, 23, 0 }, + { 16, 16, 14, 16, 23, 0 }, { 15, 16, 14, 16, 23, 0 }, { 14, 16, 13, 16, 23, 0 }, { 13, 16, 13, 16, 23, 0 }, { 12, 16, 13, 16, 23, 0 }, + { 11, 16, 12, 16, 22, 0 }, { 10, 16, 12, 16, 22, 0 }, { 9, 16, 12, 16, 22, 0 }, { 8, 16, 11, 16, 22, 0 }, { 7, 16, 11, 16, 22, 0 }, + { 6, 16, 10, 16, 22, 0 }, { 5, 16, 10, 16, 22, 0 }, { 4, 16, 9, 16, 22, 0 }, { 3, 16, 9, 16, 22, 0 }, { 2, 16, 8, 16, 22, 0 }, + { 1, 16, 8, 16, 22, 0 }, { 0, 16, 7, 16, 22, 0 }, { -1, 16, 6, 16, 22, 0 }, { -2, 16, 6, 16, 22, 0 }, { -3, 16, 5, 16, 22, 0 }, + { -4, 16, 5, 16, 22, 0 }, { -5, 16, 4, 16, 21, 0 }, { -6, 16, 3, 16, 21, 0 }, { -7, 16, 2, 16, 21, 0 }, { -8, 16, 2, 16, 21, 0 }, + { -9, 16, 1, 16, 21, 0 }, { -10, 16, 0, 16, 21, 0 }, { -11, 16, -1, 16, 21, 0 }, { -12, 16, -2, 16, 21, 0 }, { -13, 16, -3, 16, 21, 0 }, + { -14, 16, -4, 16, 21, 0 }, { -15, 16, -5, 16, 21, 0 }, { -16, 16, -6, 16, 21, 0 }, { -17, 16, -7, 16, 21, 0 }, { -18, 16, -8, 16, 21, 0 }, + { -19, 16, -9, 16, 21, 0 }, { -20, 16, -10, 16, 21, 0 }, { -21, 16, -11, 16, 21, 0 }, { -21, 16, -12, 16, 21, 0 }, { -22, 16, -13, 16, 21, 0 }, + { -23, 16, -14, 16, 21, 0 }, { -24, 16, -15, 16, 20, 0 }, { -24, 16, -16, 16, 20, 0 }, { -25, 16, -17, 16, 20, 0 }, { -26, 16, -18, 16, 20, 0 }, + { -27, 16, -19, 16, 20, 0 }, { -27, 16, -20, 16, 20, 0 }, { -28, 16, -21, 16, 20, 0 }, { -29, 16, -22, 16, 20, 0 }, { -29, 16, -23, 16, 20, 0 }, + { -30, 16, -24, 16, 20, 0 }, { -30, 16, -25, 16, 20, 0 }, { -31, 16, -26, 16, 20, 0 }, { -31, 16, -27, 16, 20, 0 }, { -32, 16, -28, 16, 20, 0 }, + { -33, 16, -29, 16, 20, 0 }, { -33, 16, -30, 16, 20, 0 }, { -34, 16, -31, 16, 20, 0 }, { -34, 16, -32, 16, 20, 0 }, { -35, 16, -33, 16, 20, 0 }, + { -35, 16, -34, 16, 20, 0 }, { -35, 16, -35, 16, 20, 0 }, { -36, 16, -36, 16, 20, 0 }, { -36, 16, -37, 16, 20, 0 }, { -37, 16, -38, 16, 20, 0 }, + { -37, 16, -39, 16, 20, 0 }, { -38, 16, -40, 16, 19, 0 }, { -38, 16, -41, 16, 19, 0 }, { -38, 16, -42, 16, 19, 0 }, { -39, 16, -43, 16, 19, 0 }, + { -39, 16, -44, 16, 19, 0 }, { -40, 16, -45, 16, 19, 0 }, { -40, 16, -46, 16, 19, 0 }, { -40, 16, -47, 16, 19, 0 }, { -41, 16, -48, 16, 19, 0 }, + { -41, 16, -49, 16, 19, 0 }, { -41, 16, -50, 16, 19, 0 }, { -42, 16, -51, 16, 19, 0 }, { -42, 16, -52, 16, 19, 0 }, { -42, 16, -53, 16, 19, 0 }, + { -42, 16, -54, 16, 19, 0 }, { -43, 16, -55, 16, 19, 0 }, { -43, 16, -56, 16, 19, 0 }, { -43, 16, -57, 16, 19, 0 }, { -43, 16, -58, 16, 19, 0 }, + { -44, 16, -59, 16, 19, 0 }, { -44, 16, -60, 16, 19, 0 }, { -44, 16, -61, 16, 19, 0 }, { -44, 16, -62, 16, 19, 0 }, { -45, 16, -63, 16, 19, 0 }, + { -45, 16, -64, 16, 19, 0 }, { -45, 16, -65, 16, 19, 0 }, { -45, 16, -66, 16, 19, 0 }, { -45, 16, -67, 16, 19, 0 }, { -46, 16, -68, 16, 19, 0 }, + { -46, 16, -69, 16, 19, 0 }, { -46, 16, -70, 16, 19, 0 }, { -46, 16, -71, 16, 19, 0 }, { -46, 16, -72, 16, 19, 0 }, { -46, 16, -73, 16, 19, 0 }, + { -47, 16, -74, 16, 19, 0 }, { -47, 16, -75, 16, 18, 0 }, { -47, 16, -76, 16, 18, 0 }, { -47, 16, -77, 16, 18, 0 }, { -47, 16, -78, 16, 18, 0 }, + { -47, 16, -79, 16, 18, 0 }, { -47, 16, -80, 16, 18, 0 }, { -47, 16, -81, 16, 18, 0 }, { -47, 16, -82, 16, 18, 0 }, { -48, 16, -83, 16, 18, 0 }, + { -48, 16, -84, 16, 18, 0 }, { -48, 16, -85, 16, 18, 0 }, { -48, 16, -86, 16, 18, 0 }, { -48, 16, -87, 16, 18, 0 }, { -48, 16, -88, 16, 18, 0 }, + { -48, 16, -89, 16, 18, 0 }, { -48, 16, -90, 16, 18, 0 }, { -48, 16, -91, 16, 18, 0 }, { -48, 16, -92, 16, 18, 0 }, { -48, 16, -93, 16, 18, 0 }, + { -48, 16, -94, 16, 18, 0 }, { -48, 16, -95, 16, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_975379 = { - 137, { - { 16, 0, 16, 24, 16, 0 }, { 16, 1, 16, 24, 16, 0 }, { 16, 2, 16, 24, 16, 0 }, { 16, 3, 16, 24, 16, 0 }, { 16, 4, 16, 24, 16, 0 }, - { 16, 5, 16, 24, 16, 0 }, { 16, 6, 16, 24, 16, 0 }, { 16, 7, 16, 24, 16, 0 }, { 16, 8, 15, 24, 16, 0 }, { 16, 9, 15, 24, 23, 0 }, - { 16, 10, 15, 24, 23, 0 }, { 16, 11, 15, 24, 23, 0 }, { 16, 12, 15, 24, 23, 0 }, { 16, 13, 14, 24, 23, 0 }, { 16, 14, 14, 24, 23, 0 }, - { 16, 15, 14, 24, 23, 0 }, { 16, 16, 14, 24, 23, 0 }, { 16, 17, 13, 24, 23, 0 }, { 16, 18, 13, 24, 23, 0 }, { 16, 19, 13, 24, 23, 0 }, - { 16, 20, 12, 24, 22, 0 }, { 16, 21, 12, 24, 22, 0 }, { 16, 22, 12, 24, 22, 0 }, { 16, 23, 11, 24, 22, 0 }, { 16, 24, 11, 24, 22, 0 }, - { 16, 25, 10, 24, 22, 0 }, { 16, 26, 10, 24, 22, 0 }, { 16, 27, 9, 24, 22, 0 }, { 16, 28, 9, 24, 22, 0 }, { 16, 29, 8, 24, 22, 0 }, - { 16, 30, 8, 24, 22, 0 }, { 16, 31, 7, 24, 22, 0 }, { 16, 32, 6, 24, 22, 0 }, { 16, 33, 6, 24, 22, 0 }, { 16, 34, 5, 24, 22, 0 }, - { 16, 35, 5, 24, 22, 0 }, { 16, 36, 4, 24, 21, 0 }, { 16, 37, 3, 24, 21, 0 }, { 16, 38, 2, 24, 21, 0 }, { 16, 39, 2, 24, 21, 0 }, - { 16, 40, 1, 24, 21, 0 }, { 16, 41, 0, 24, 21, 0 }, { 16, 42, -1, 24, 21, 0 }, { 16, 43, -2, 24, 21, 0 }, { 16, 44, -3, 24, 21, 0 }, - { 16, 45, -4, 24, 21, 0 }, { 16, 46, -5, 24, 21, 0 }, { 16, 47, -6, 24, 21, 0 }, { 16, 48, -7, 24, 21, 0 }, { 16, 49, -8, 24, 21, 0 }, - { 16, 50, -9, 24, 21, 0 }, { 16, 51, -10, 24, 21, 0 }, { 16, 52, -11, 24, 21, 0 }, { 16, 52, -12, 24, 21, 0 }, { 16, 53, -13, 24, 21, 0 }, - { 16, 54, -14, 24, 21, 0 }, { 16, 55, -15, 24, 20, 0 }, { 16, 55, -16, 24, 20, 0 }, { 16, 56, -17, 24, 20, 0 }, { 16, 57, -18, 24, 20, 0 }, - { 16, 58, -19, 24, 20, 0 }, { 16, 58, -20, 24, 20, 0 }, { 16, 59, -21, 24, 20, 0 }, { 16, 60, -22, 24, 20, 0 }, { 16, 60, -23, 24, 20, 0 }, - { 16, 61, -24, 24, 20, 0 }, { 16, 61, -25, 24, 20, 0 }, { 16, 62, -26, 24, 20, 0 }, { 16, 62, -27, 24, 20, 0 }, { 16, 63, -28, 24, 20, 0 }, - { 16, 64, -29, 24, 20, 0 }, { 16, 64, -30, 24, 20, 0 }, { 16, 65, -31, 24, 20, 0 }, { 16, 65, -32, 24, 20, 0 }, { 16, 66, -33, 24, 20, 0 }, - { 16, 66, -34, 24, 20, 0 }, { 16, 66, -35, 24, 20, 0 }, { 16, 67, -36, 24, 20, 0 }, { 16, 67, -37, 24, 20, 0 }, { 16, 68, -38, 24, 20, 0 }, - { 16, 68, -39, 24, 20, 0 }, { 16, 69, -40, 24, 19, 0 }, { 16, 69, -41, 24, 19, 0 }, { 16, 69, -42, 24, 19, 0 }, { 16, 70, -43, 24, 19, 0 }, - { 16, 70, -44, 24, 19, 0 }, { 16, 71, -45, 24, 19, 0 }, { 16, 71, -46, 24, 19, 0 }, { 16, 71, -47, 24, 19, 0 }, { 16, 72, -48, 24, 19, 0 }, - { 16, 72, -49, 24, 19, 0 }, { 16, 72, -50, 24, 19, 0 }, { 16, 73, -51, 24, 19, 0 }, { 16, 73, -52, 24, 19, 0 }, { 16, 73, -53, 24, 19, 0 }, - { 16, 73, -54, 24, 19, 0 }, { 16, 74, -55, 24, 19, 0 }, { 16, 74, -56, 24, 19, 0 }, { 16, 74, -57, 24, 19, 0 }, { 16, 74, -58, 24, 19, 0 }, - { 16, 75, -59, 24, 19, 0 }, { 16, 75, -60, 24, 19, 0 }, { 16, 75, -61, 24, 19, 0 }, { 16, 75, -62, 24, 19, 0 }, { 16, 76, -63, 24, 19, 0 }, - { 16, 76, -64, 24, 19, 0 }, { 16, 76, -65, 24, 19, 0 }, { 16, 76, -66, 24, 19, 0 }, { 16, 76, -67, 24, 19, 0 }, { 16, 77, -68, 24, 19, 0 }, - { 16, 77, -69, 24, 19, 0 }, { 16, 77, -70, 24, 19, 0 }, { 16, 77, -71, 24, 19, 0 }, { 16, 77, -72, 24, 19, 0 }, { 16, 77, -73, 24, 19, 0 }, - { 16, 78, -74, 24, 19, 0 }, { 16, 78, -75, 24, 18, 0 }, { 16, 78, -76, 24, 18, 0 }, { 16, 78, -77, 24, 18, 0 }, { 16, 78, -78, 24, 18, 0 }, - { 16, 78, -79, 24, 18, 0 }, { 16, 78, -80, 24, 18, 0 }, { 16, 78, -81, 24, 18, 0 }, { 16, 78, -82, 24, 18, 0 }, { 16, 79, -83, 24, 18, 0 }, - { 16, 79, -84, 24, 18, 0 }, { 16, 79, -85, 24, 18, 0 }, { 16, 79, -86, 24, 18, 0 }, { 16, 79, -87, 24, 18, 0 }, { 16, 79, -88, 24, 18, 0 }, - { 16, 79, -89, 24, 18, 0 }, { 16, 79, -90, 24, 18, 0 }, { 16, 79, -91, 24, 18, 0 }, { 16, 79, -92, 24, 18, 0 }, { 16, 79, -93, 24, 18, 0 }, - { 16, 79, -94, 24, 18, 0 }, { 16, 79, -95, 24, 18, 0 }, + 137, { + { 16, 0, 16, 24, 16, 0 }, { 16, 1, 16, 24, 16, 0 }, { 16, 2, 16, 24, 16, 0 }, { 16, 3, 16, 24, 16, 0 }, { 16, 4, 16, 24, 16, 0 }, + { 16, 5, 16, 24, 16, 0 }, { 16, 6, 16, 24, 16, 0 }, { 16, 7, 16, 24, 16, 0 }, { 16, 8, 15, 24, 16, 0 }, { 16, 9, 15, 24, 23, 0 }, + { 16, 10, 15, 24, 23, 0 }, { 16, 11, 15, 24, 23, 0 }, { 16, 12, 15, 24, 23, 0 }, { 16, 13, 14, 24, 23, 0 }, { 16, 14, 14, 24, 23, 0 }, + { 16, 15, 14, 24, 23, 0 }, { 16, 16, 14, 24, 23, 0 }, { 16, 17, 13, 24, 23, 0 }, { 16, 18, 13, 24, 23, 0 }, { 16, 19, 13, 24, 23, 0 }, + { 16, 20, 12, 24, 22, 0 }, { 16, 21, 12, 24, 22, 0 }, { 16, 22, 12, 24, 22, 0 }, { 16, 23, 11, 24, 22, 0 }, { 16, 24, 11, 24, 22, 0 }, + { 16, 25, 10, 24, 22, 0 }, { 16, 26, 10, 24, 22, 0 }, { 16, 27, 9, 24, 22, 0 }, { 16, 28, 9, 24, 22, 0 }, { 16, 29, 8, 24, 22, 0 }, + { 16, 30, 8, 24, 22, 0 }, { 16, 31, 7, 24, 22, 0 }, { 16, 32, 6, 24, 22, 0 }, { 16, 33, 6, 24, 22, 0 }, { 16, 34, 5, 24, 22, 0 }, + { 16, 35, 5, 24, 22, 0 }, { 16, 36, 4, 24, 21, 0 }, { 16, 37, 3, 24, 21, 0 }, { 16, 38, 2, 24, 21, 0 }, { 16, 39, 2, 24, 21, 0 }, + { 16, 40, 1, 24, 21, 0 }, { 16, 41, 0, 24, 21, 0 }, { 16, 42, -1, 24, 21, 0 }, { 16, 43, -2, 24, 21, 0 }, { 16, 44, -3, 24, 21, 0 }, + { 16, 45, -4, 24, 21, 0 }, { 16, 46, -5, 24, 21, 0 }, { 16, 47, -6, 24, 21, 0 }, { 16, 48, -7, 24, 21, 0 }, { 16, 49, -8, 24, 21, 0 }, + { 16, 50, -9, 24, 21, 0 }, { 16, 51, -10, 24, 21, 0 }, { 16, 52, -11, 24, 21, 0 }, { 16, 52, -12, 24, 21, 0 }, { 16, 53, -13, 24, 21, 0 }, + { 16, 54, -14, 24, 21, 0 }, { 16, 55, -15, 24, 20, 0 }, { 16, 55, -16, 24, 20, 0 }, { 16, 56, -17, 24, 20, 0 }, { 16, 57, -18, 24, 20, 0 }, + { 16, 58, -19, 24, 20, 0 }, { 16, 58, -20, 24, 20, 0 }, { 16, 59, -21, 24, 20, 0 }, { 16, 60, -22, 24, 20, 0 }, { 16, 60, -23, 24, 20, 0 }, + { 16, 61, -24, 24, 20, 0 }, { 16, 61, -25, 24, 20, 0 }, { 16, 62, -26, 24, 20, 0 }, { 16, 62, -27, 24, 20, 0 }, { 16, 63, -28, 24, 20, 0 }, + { 16, 64, -29, 24, 20, 0 }, { 16, 64, -30, 24, 20, 0 }, { 16, 65, -31, 24, 20, 0 }, { 16, 65, -32, 24, 20, 0 }, { 16, 66, -33, 24, 20, 0 }, + { 16, 66, -34, 24, 20, 0 }, { 16, 66, -35, 24, 20, 0 }, { 16, 67, -36, 24, 20, 0 }, { 16, 67, -37, 24, 20, 0 }, { 16, 68, -38, 24, 20, 0 }, + { 16, 68, -39, 24, 20, 0 }, { 16, 69, -40, 24, 19, 0 }, { 16, 69, -41, 24, 19, 0 }, { 16, 69, -42, 24, 19, 0 }, { 16, 70, -43, 24, 19, 0 }, + { 16, 70, -44, 24, 19, 0 }, { 16, 71, -45, 24, 19, 0 }, { 16, 71, -46, 24, 19, 0 }, { 16, 71, -47, 24, 19, 0 }, { 16, 72, -48, 24, 19, 0 }, + { 16, 72, -49, 24, 19, 0 }, { 16, 72, -50, 24, 19, 0 }, { 16, 73, -51, 24, 19, 0 }, { 16, 73, -52, 24, 19, 0 }, { 16, 73, -53, 24, 19, 0 }, + { 16, 73, -54, 24, 19, 0 }, { 16, 74, -55, 24, 19, 0 }, { 16, 74, -56, 24, 19, 0 }, { 16, 74, -57, 24, 19, 0 }, { 16, 74, -58, 24, 19, 0 }, + { 16, 75, -59, 24, 19, 0 }, { 16, 75, -60, 24, 19, 0 }, { 16, 75, -61, 24, 19, 0 }, { 16, 75, -62, 24, 19, 0 }, { 16, 76, -63, 24, 19, 0 }, + { 16, 76, -64, 24, 19, 0 }, { 16, 76, -65, 24, 19, 0 }, { 16, 76, -66, 24, 19, 0 }, { 16, 76, -67, 24, 19, 0 }, { 16, 77, -68, 24, 19, 0 }, + { 16, 77, -69, 24, 19, 0 }, { 16, 77, -70, 24, 19, 0 }, { 16, 77, -71, 24, 19, 0 }, { 16, 77, -72, 24, 19, 0 }, { 16, 77, -73, 24, 19, 0 }, + { 16, 78, -74, 24, 19, 0 }, { 16, 78, -75, 24, 18, 0 }, { 16, 78, -76, 24, 18, 0 }, { 16, 78, -77, 24, 18, 0 }, { 16, 78, -78, 24, 18, 0 }, + { 16, 78, -79, 24, 18, 0 }, { 16, 78, -80, 24, 18, 0 }, { 16, 78, -81, 24, 18, 0 }, { 16, 78, -82, 24, 18, 0 }, { 16, 79, -83, 24, 18, 0 }, + { 16, 79, -84, 24, 18, 0 }, { 16, 79, -85, 24, 18, 0 }, { 16, 79, -86, 24, 18, 0 }, { 16, 79, -87, 24, 18, 0 }, { 16, 79, -88, 24, 18, 0 }, + { 16, 79, -89, 24, 18, 0 }, { 16, 79, -90, 24, 18, 0 }, { 16, 79, -91, 24, 18, 0 }, { 16, 79, -92, 24, 18, 0 }, { 16, 79, -93, 24, 18, 0 }, + { 16, 79, -94, 24, 18, 0 }, { 16, 79, -95, 24, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_97584C = { - 137, { - { 0, 16, 16, 0, 16, 0 }, { 1, 16, 16, 0, 16, 0 }, { 2, 16, 16, 0, 16, 0 }, { 3, 16, 16, 0, 16, 0 }, { 4, 16, 16, 0, 16, 0 }, - { 5, 16, 16, 0, 16, 0 }, { 6, 16, 16, 0, 16, 0 }, { 7, 16, 16, 0, 16, 0 }, { 8, 16, 15, 0, 16, 0 }, { 9, 16, 15, 0, 23, 0 }, - { 10, 16, 15, 0, 23, 0 }, { 11, 16, 15, 0, 23, 0 }, { 12, 16, 15, 0, 23, 0 }, { 13, 16, 14, 0, 23, 0 }, { 14, 16, 14, 0, 23, 0 }, - { 15, 16, 14, 0, 23, 0 }, { 16, 16, 14, 0, 23, 0 }, { 17, 16, 13, 0, 23, 0 }, { 18, 16, 13, 0, 23, 0 }, { 19, 16, 13, 0, 23, 0 }, - { 20, 16, 12, 0, 22, 0 }, { 21, 16, 12, 0, 22, 0 }, { 22, 16, 12, 0, 22, 0 }, { 23, 16, 11, 0, 22, 0 }, { 24, 16, 11, 0, 22, 0 }, - { 25, 16, 10, 0, 22, 0 }, { 26, 16, 10, 0, 22, 0 }, { 27, 16, 9, 0, 22, 0 }, { 28, 16, 9, 0, 22, 0 }, { 29, 16, 8, 0, 22, 0 }, - { 30, 16, 8, 0, 22, 0 }, { 31, 16, 7, 0, 22, 0 }, { 32, 16, 6, 0, 22, 0 }, { 33, 16, 6, 0, 22, 0 }, { 34, 16, 5, 0, 22, 0 }, - { 35, 16, 5, 0, 22, 0 }, { 36, 16, 4, 0, 21, 0 }, { 37, 16, 3, 0, 21, 0 }, { 38, 16, 2, 0, 21, 0 }, { 39, 16, 2, 0, 21, 0 }, - { 40, 16, 1, 0, 21, 0 }, { 41, 16, 0, 0, 21, 0 }, { 42, 16, -1, 0, 21, 0 }, { 43, 16, -2, 0, 21, 0 }, { 44, 16, -3, 0, 21, 0 }, - { 45, 16, -4, 0, 21, 0 }, { 46, 16, -5, 0, 21, 0 }, { 47, 16, -6, 0, 21, 0 }, { 48, 16, -7, 0, 21, 0 }, { 49, 16, -8, 0, 21, 0 }, - { 50, 16, -9, 0, 21, 0 }, { 51, 16, -10, 0, 21, 0 }, { 52, 16, -11, 0, 21, 0 }, { 52, 16, -12, 0, 21, 0 }, { 53, 16, -13, 0, 21, 0 }, - { 54, 16, -14, 0, 21, 0 }, { 55, 16, -15, 0, 20, 0 }, { 55, 16, -16, 0, 20, 0 }, { 56, 16, -17, 0, 20, 0 }, { 57, 16, -18, 0, 20, 0 }, - { 58, 16, -19, 0, 20, 0 }, { 58, 16, -20, 0, 20, 0 }, { 59, 16, -21, 0, 20, 0 }, { 60, 16, -22, 0, 20, 0 }, { 60, 16, -23, 0, 20, 0 }, - { 61, 16, -24, 0, 20, 0 }, { 61, 16, -25, 0, 20, 0 }, { 62, 16, -26, 0, 20, 0 }, { 62, 16, -27, 0, 20, 0 }, { 63, 16, -28, 0, 20, 0 }, - { 64, 16, -29, 0, 20, 0 }, { 64, 16, -30, 0, 20, 0 }, { 65, 16, -31, 0, 20, 0 }, { 65, 16, -32, 0, 20, 0 }, { 66, 16, -33, 0, 20, 0 }, - { 66, 16, -34, 0, 20, 0 }, { 66, 16, -35, 0, 20, 0 }, { 67, 16, -36, 0, 20, 0 }, { 67, 16, -37, 0, 20, 0 }, { 68, 16, -38, 0, 20, 0 }, - { 68, 16, -39, 0, 20, 0 }, { 69, 16, -40, 0, 19, 0 }, { 69, 16, -41, 0, 19, 0 }, { 69, 16, -42, 0, 19, 0 }, { 70, 16, -43, 0, 19, 0 }, - { 70, 16, -44, 0, 19, 0 }, { 71, 16, -45, 0, 19, 0 }, { 71, 16, -46, 0, 19, 0 }, { 71, 16, -47, 0, 19, 0 }, { 72, 16, -48, 0, 19, 0 }, - { 72, 16, -49, 0, 19, 0 }, { 72, 16, -50, 0, 19, 0 }, { 73, 16, -51, 0, 19, 0 }, { 73, 16, -52, 0, 19, 0 }, { 73, 16, -53, 0, 19, 0 }, - { 73, 16, -54, 0, 19, 0 }, { 74, 16, -55, 0, 19, 0 }, { 74, 16, -56, 0, 19, 0 }, { 74, 16, -57, 0, 19, 0 }, { 74, 16, -58, 0, 19, 0 }, - { 75, 16, -59, 0, 19, 0 }, { 75, 16, -60, 0, 19, 0 }, { 75, 16, -61, 0, 19, 0 }, { 75, 16, -62, 0, 19, 0 }, { 76, 16, -63, 0, 19, 0 }, - { 76, 16, -64, 0, 19, 0 }, { 76, 16, -65, 0, 19, 0 }, { 76, 16, -66, 0, 19, 0 }, { 76, 16, -67, 0, 19, 0 }, { 77, 16, -68, 0, 19, 0 }, - { 77, 16, -69, 0, 19, 0 }, { 77, 16, -70, 0, 19, 0 }, { 77, 16, -71, 0, 19, 0 }, { 77, 16, -72, 0, 19, 0 }, { 77, 16, -73, 0, 19, 0 }, - { 78, 16, -74, 0, 19, 0 }, { 78, 16, -75, 0, 18, 0 }, { 78, 16, -76, 0, 18, 0 }, { 78, 16, -77, 0, 18, 0 }, { 78, 16, -78, 0, 18, 0 }, - { 78, 16, -79, 0, 18, 0 }, { 78, 16, -80, 0, 18, 0 }, { 78, 16, -81, 0, 18, 0 }, { 78, 16, -82, 0, 18, 0 }, { 79, 16, -83, 0, 18, 0 }, - { 79, 16, -84, 0, 18, 0 }, { 79, 16, -85, 0, 18, 0 }, { 79, 16, -86, 0, 18, 0 }, { 79, 16, -87, 0, 18, 0 }, { 79, 16, -88, 0, 18, 0 }, - { 79, 16, -89, 0, 18, 0 }, { 79, 16, -90, 0, 18, 0 }, { 79, 16, -91, 0, 18, 0 }, { 79, 16, -92, 0, 18, 0 }, { 79, 16, -93, 0, 18, 0 }, - { 79, 16, -94, 0, 18, 0 }, { 79, 16, -95, 0, 18, 0 }, + 137, { + { 0, 16, 16, 0, 16, 0 }, { 1, 16, 16, 0, 16, 0 }, { 2, 16, 16, 0, 16, 0 }, { 3, 16, 16, 0, 16, 0 }, { 4, 16, 16, 0, 16, 0 }, + { 5, 16, 16, 0, 16, 0 }, { 6, 16, 16, 0, 16, 0 }, { 7, 16, 16, 0, 16, 0 }, { 8, 16, 15, 0, 16, 0 }, { 9, 16, 15, 0, 23, 0 }, + { 10, 16, 15, 0, 23, 0 }, { 11, 16, 15, 0, 23, 0 }, { 12, 16, 15, 0, 23, 0 }, { 13, 16, 14, 0, 23, 0 }, { 14, 16, 14, 0, 23, 0 }, + { 15, 16, 14, 0, 23, 0 }, { 16, 16, 14, 0, 23, 0 }, { 17, 16, 13, 0, 23, 0 }, { 18, 16, 13, 0, 23, 0 }, { 19, 16, 13, 0, 23, 0 }, + { 20, 16, 12, 0, 22, 0 }, { 21, 16, 12, 0, 22, 0 }, { 22, 16, 12, 0, 22, 0 }, { 23, 16, 11, 0, 22, 0 }, { 24, 16, 11, 0, 22, 0 }, + { 25, 16, 10, 0, 22, 0 }, { 26, 16, 10, 0, 22, 0 }, { 27, 16, 9, 0, 22, 0 }, { 28, 16, 9, 0, 22, 0 }, { 29, 16, 8, 0, 22, 0 }, + { 30, 16, 8, 0, 22, 0 }, { 31, 16, 7, 0, 22, 0 }, { 32, 16, 6, 0, 22, 0 }, { 33, 16, 6, 0, 22, 0 }, { 34, 16, 5, 0, 22, 0 }, + { 35, 16, 5, 0, 22, 0 }, { 36, 16, 4, 0, 21, 0 }, { 37, 16, 3, 0, 21, 0 }, { 38, 16, 2, 0, 21, 0 }, { 39, 16, 2, 0, 21, 0 }, + { 40, 16, 1, 0, 21, 0 }, { 41, 16, 0, 0, 21, 0 }, { 42, 16, -1, 0, 21, 0 }, { 43, 16, -2, 0, 21, 0 }, { 44, 16, -3, 0, 21, 0 }, + { 45, 16, -4, 0, 21, 0 }, { 46, 16, -5, 0, 21, 0 }, { 47, 16, -6, 0, 21, 0 }, { 48, 16, -7, 0, 21, 0 }, { 49, 16, -8, 0, 21, 0 }, + { 50, 16, -9, 0, 21, 0 }, { 51, 16, -10, 0, 21, 0 }, { 52, 16, -11, 0, 21, 0 }, { 52, 16, -12, 0, 21, 0 }, { 53, 16, -13, 0, 21, 0 }, + { 54, 16, -14, 0, 21, 0 }, { 55, 16, -15, 0, 20, 0 }, { 55, 16, -16, 0, 20, 0 }, { 56, 16, -17, 0, 20, 0 }, { 57, 16, -18, 0, 20, 0 }, + { 58, 16, -19, 0, 20, 0 }, { 58, 16, -20, 0, 20, 0 }, { 59, 16, -21, 0, 20, 0 }, { 60, 16, -22, 0, 20, 0 }, { 60, 16, -23, 0, 20, 0 }, + { 61, 16, -24, 0, 20, 0 }, { 61, 16, -25, 0, 20, 0 }, { 62, 16, -26, 0, 20, 0 }, { 62, 16, -27, 0, 20, 0 }, { 63, 16, -28, 0, 20, 0 }, + { 64, 16, -29, 0, 20, 0 }, { 64, 16, -30, 0, 20, 0 }, { 65, 16, -31, 0, 20, 0 }, { 65, 16, -32, 0, 20, 0 }, { 66, 16, -33, 0, 20, 0 }, + { 66, 16, -34, 0, 20, 0 }, { 66, 16, -35, 0, 20, 0 }, { 67, 16, -36, 0, 20, 0 }, { 67, 16, -37, 0, 20, 0 }, { 68, 16, -38, 0, 20, 0 }, + { 68, 16, -39, 0, 20, 0 }, { 69, 16, -40, 0, 19, 0 }, { 69, 16, -41, 0, 19, 0 }, { 69, 16, -42, 0, 19, 0 }, { 70, 16, -43, 0, 19, 0 }, + { 70, 16, -44, 0, 19, 0 }, { 71, 16, -45, 0, 19, 0 }, { 71, 16, -46, 0, 19, 0 }, { 71, 16, -47, 0, 19, 0 }, { 72, 16, -48, 0, 19, 0 }, + { 72, 16, -49, 0, 19, 0 }, { 72, 16, -50, 0, 19, 0 }, { 73, 16, -51, 0, 19, 0 }, { 73, 16, -52, 0, 19, 0 }, { 73, 16, -53, 0, 19, 0 }, + { 73, 16, -54, 0, 19, 0 }, { 74, 16, -55, 0, 19, 0 }, { 74, 16, -56, 0, 19, 0 }, { 74, 16, -57, 0, 19, 0 }, { 74, 16, -58, 0, 19, 0 }, + { 75, 16, -59, 0, 19, 0 }, { 75, 16, -60, 0, 19, 0 }, { 75, 16, -61, 0, 19, 0 }, { 75, 16, -62, 0, 19, 0 }, { 76, 16, -63, 0, 19, 0 }, + { 76, 16, -64, 0, 19, 0 }, { 76, 16, -65, 0, 19, 0 }, { 76, 16, -66, 0, 19, 0 }, { 76, 16, -67, 0, 19, 0 }, { 77, 16, -68, 0, 19, 0 }, + { 77, 16, -69, 0, 19, 0 }, { 77, 16, -70, 0, 19, 0 }, { 77, 16, -71, 0, 19, 0 }, { 77, 16, -72, 0, 19, 0 }, { 77, 16, -73, 0, 19, 0 }, + { 78, 16, -74, 0, 19, 0 }, { 78, 16, -75, 0, 18, 0 }, { 78, 16, -76, 0, 18, 0 }, { 78, 16, -77, 0, 18, 0 }, { 78, 16, -78, 0, 18, 0 }, + { 78, 16, -79, 0, 18, 0 }, { 78, 16, -80, 0, 18, 0 }, { 78, 16, -81, 0, 18, 0 }, { 78, 16, -82, 0, 18, 0 }, { 79, 16, -83, 0, 18, 0 }, + { 79, 16, -84, 0, 18, 0 }, { 79, 16, -85, 0, 18, 0 }, { 79, 16, -86, 0, 18, 0 }, { 79, 16, -87, 0, 18, 0 }, { 79, 16, -88, 0, 18, 0 }, + { 79, 16, -89, 0, 18, 0 }, { 79, 16, -90, 0, 18, 0 }, { 79, 16, -91, 0, 18, 0 }, { 79, 16, -92, 0, 18, 0 }, { 79, 16, -93, 0, 18, 0 }, + { 79, 16, -94, 0, 18, 0 }, { 79, 16, -95, 0, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_975D1F = { - 137, { - { 16, 31, 16, 8, 16, 0 }, { 16, 30, 16, 8, 16, 0 }, { 16, 29, 16, 8, 16, 0 }, { 16, 28, 16, 8, 16, 0 }, { 16, 27, 16, 8, 16, 0 }, - { 16, 26, 16, 8, 16, 0 }, { 16, 25, 16, 8, 16, 0 }, { 16, 24, 16, 8, 16, 0 }, { 16, 23, 15, 8, 16, 0 }, { 16, 22, 15, 8, 23, 0 }, - { 16, 21, 15, 8, 23, 0 }, { 16, 20, 15, 8, 23, 0 }, { 16, 19, 15, 8, 23, 0 }, { 16, 18, 14, 8, 23, 0 }, { 16, 17, 14, 8, 23, 0 }, - { 16, 16, 14, 8, 23, 0 }, { 16, 15, 14, 8, 23, 0 }, { 16, 14, 13, 8, 23, 0 }, { 16, 13, 13, 8, 23, 0 }, { 16, 12, 13, 8, 23, 0 }, - { 16, 11, 12, 8, 22, 0 }, { 16, 10, 12, 8, 22, 0 }, { 16, 9, 12, 8, 22, 0 }, { 16, 8, 11, 8, 22, 0 }, { 16, 7, 11, 8, 22, 0 }, - { 16, 6, 10, 8, 22, 0 }, { 16, 5, 10, 8, 22, 0 }, { 16, 4, 9, 8, 22, 0 }, { 16, 3, 9, 8, 22, 0 }, { 16, 2, 8, 8, 22, 0 }, - { 16, 1, 8, 8, 22, 0 }, { 16, 0, 7, 8, 22, 0 }, { 16, -1, 6, 8, 22, 0 }, { 16, -2, 6, 8, 22, 0 }, { 16, -3, 5, 8, 22, 0 }, - { 16, -4, 5, 8, 22, 0 }, { 16, -5, 4, 8, 21, 0 }, { 16, -6, 3, 8, 21, 0 }, { 16, -7, 2, 8, 21, 0 }, { 16, -8, 2, 8, 21, 0 }, - { 16, -9, 1, 8, 21, 0 }, { 16, -10, 0, 8, 21, 0 }, { 16, -11, -1, 8, 21, 0 }, { 16, -12, -2, 8, 21, 0 }, { 16, -13, -3, 8, 21, 0 }, - { 16, -14, -4, 8, 21, 0 }, { 16, -15, -5, 8, 21, 0 }, { 16, -16, -6, 8, 21, 0 }, { 16, -17, -7, 8, 21, 0 }, { 16, -18, -8, 8, 21, 0 }, - { 16, -19, -9, 8, 21, 0 }, { 16, -20, -10, 8, 21, 0 }, { 16, -21, -11, 8, 21, 0 }, { 16, -21, -12, 8, 21, 0 }, { 16, -22, -13, 8, 21, 0 }, - { 16, -23, -14, 8, 21, 0 }, { 16, -24, -15, 8, 20, 0 }, { 16, -24, -16, 8, 20, 0 }, { 16, -25, -17, 8, 20, 0 }, { 16, -26, -18, 8, 20, 0 }, - { 16, -27, -19, 8, 20, 0 }, { 16, -27, -20, 8, 20, 0 }, { 16, -28, -21, 8, 20, 0 }, { 16, -29, -22, 8, 20, 0 }, { 16, -29, -23, 8, 20, 0 }, - { 16, -30, -24, 8, 20, 0 }, { 16, -30, -25, 8, 20, 0 }, { 16, -31, -26, 8, 20, 0 }, { 16, -31, -27, 8, 20, 0 }, { 16, -32, -28, 8, 20, 0 }, - { 16, -33, -29, 8, 20, 0 }, { 16, -33, -30, 8, 20, 0 }, { 16, -34, -31, 8, 20, 0 }, { 16, -34, -32, 8, 20, 0 }, { 16, -35, -33, 8, 20, 0 }, - { 16, -35, -34, 8, 20, 0 }, { 16, -35, -35, 8, 20, 0 }, { 16, -36, -36, 8, 20, 0 }, { 16, -36, -37, 8, 20, 0 }, { 16, -37, -38, 8, 20, 0 }, - { 16, -37, -39, 8, 20, 0 }, { 16, -38, -40, 8, 19, 0 }, { 16, -38, -41, 8, 19, 0 }, { 16, -38, -42, 8, 19, 0 }, { 16, -39, -43, 8, 19, 0 }, - { 16, -39, -44, 8, 19, 0 }, { 16, -40, -45, 8, 19, 0 }, { 16, -40, -46, 8, 19, 0 }, { 16, -40, -47, 8, 19, 0 }, { 16, -41, -48, 8, 19, 0 }, - { 16, -41, -49, 8, 19, 0 }, { 16, -41, -50, 8, 19, 0 }, { 16, -42, -51, 8, 19, 0 }, { 16, -42, -52, 8, 19, 0 }, { 16, -42, -53, 8, 19, 0 }, - { 16, -42, -54, 8, 19, 0 }, { 16, -43, -55, 8, 19, 0 }, { 16, -43, -56, 8, 19, 0 }, { 16, -43, -57, 8, 19, 0 }, { 16, -43, -58, 8, 19, 0 }, - { 16, -44, -59, 8, 19, 0 }, { 16, -44, -60, 8, 19, 0 }, { 16, -44, -61, 8, 19, 0 }, { 16, -44, -62, 8, 19, 0 }, { 16, -45, -63, 8, 19, 0 }, - { 16, -45, -64, 8, 19, 0 }, { 16, -45, -65, 8, 19, 0 }, { 16, -45, -66, 8, 19, 0 }, { 16, -45, -67, 8, 19, 0 }, { 16, -46, -68, 8, 19, 0 }, - { 16, -46, -69, 8, 19, 0 }, { 16, -46, -70, 8, 19, 0 }, { 16, -46, -71, 8, 19, 0 }, { 16, -46, -72, 8, 19, 0 }, { 16, -46, -73, 8, 19, 0 }, - { 16, -47, -74, 8, 19, 0 }, { 16, -47, -75, 8, 18, 0 }, { 16, -47, -76, 8, 18, 0 }, { 16, -47, -77, 8, 18, 0 }, { 16, -47, -78, 8, 18, 0 }, - { 16, -47, -79, 8, 18, 0 }, { 16, -47, -80, 8, 18, 0 }, { 16, -47, -81, 8, 18, 0 }, { 16, -47, -82, 8, 18, 0 }, { 16, -48, -83, 8, 18, 0 }, - { 16, -48, -84, 8, 18, 0 }, { 16, -48, -85, 8, 18, 0 }, { 16, -48, -86, 8, 18, 0 }, { 16, -48, -87, 8, 18, 0 }, { 16, -48, -88, 8, 18, 0 }, - { 16, -48, -89, 8, 18, 0 }, { 16, -48, -90, 8, 18, 0 }, { 16, -48, -91, 8, 18, 0 }, { 16, -48, -92, 8, 18, 0 }, { 16, -48, -93, 8, 18, 0 }, - { 16, -48, -94, 8, 18, 0 }, { 16, -48, -95, 8, 18, 0 }, + 137, { + { 16, 31, 16, 8, 16, 0 }, { 16, 30, 16, 8, 16, 0 }, { 16, 29, 16, 8, 16, 0 }, { 16, 28, 16, 8, 16, 0 }, { 16, 27, 16, 8, 16, 0 }, + { 16, 26, 16, 8, 16, 0 }, { 16, 25, 16, 8, 16, 0 }, { 16, 24, 16, 8, 16, 0 }, { 16, 23, 15, 8, 16, 0 }, { 16, 22, 15, 8, 23, 0 }, + { 16, 21, 15, 8, 23, 0 }, { 16, 20, 15, 8, 23, 0 }, { 16, 19, 15, 8, 23, 0 }, { 16, 18, 14, 8, 23, 0 }, { 16, 17, 14, 8, 23, 0 }, + { 16, 16, 14, 8, 23, 0 }, { 16, 15, 14, 8, 23, 0 }, { 16, 14, 13, 8, 23, 0 }, { 16, 13, 13, 8, 23, 0 }, { 16, 12, 13, 8, 23, 0 }, + { 16, 11, 12, 8, 22, 0 }, { 16, 10, 12, 8, 22, 0 }, { 16, 9, 12, 8, 22, 0 }, { 16, 8, 11, 8, 22, 0 }, { 16, 7, 11, 8, 22, 0 }, + { 16, 6, 10, 8, 22, 0 }, { 16, 5, 10, 8, 22, 0 }, { 16, 4, 9, 8, 22, 0 }, { 16, 3, 9, 8, 22, 0 }, { 16, 2, 8, 8, 22, 0 }, + { 16, 1, 8, 8, 22, 0 }, { 16, 0, 7, 8, 22, 0 }, { 16, -1, 6, 8, 22, 0 }, { 16, -2, 6, 8, 22, 0 }, { 16, -3, 5, 8, 22, 0 }, + { 16, -4, 5, 8, 22, 0 }, { 16, -5, 4, 8, 21, 0 }, { 16, -6, 3, 8, 21, 0 }, { 16, -7, 2, 8, 21, 0 }, { 16, -8, 2, 8, 21, 0 }, + { 16, -9, 1, 8, 21, 0 }, { 16, -10, 0, 8, 21, 0 }, { 16, -11, -1, 8, 21, 0 }, { 16, -12, -2, 8, 21, 0 }, { 16, -13, -3, 8, 21, 0 }, + { 16, -14, -4, 8, 21, 0 }, { 16, -15, -5, 8, 21, 0 }, { 16, -16, -6, 8, 21, 0 }, { 16, -17, -7, 8, 21, 0 }, { 16, -18, -8, 8, 21, 0 }, + { 16, -19, -9, 8, 21, 0 }, { 16, -20, -10, 8, 21, 0 }, { 16, -21, -11, 8, 21, 0 }, { 16, -21, -12, 8, 21, 0 }, { 16, -22, -13, 8, 21, 0 }, + { 16, -23, -14, 8, 21, 0 }, { 16, -24, -15, 8, 20, 0 }, { 16, -24, -16, 8, 20, 0 }, { 16, -25, -17, 8, 20, 0 }, { 16, -26, -18, 8, 20, 0 }, + { 16, -27, -19, 8, 20, 0 }, { 16, -27, -20, 8, 20, 0 }, { 16, -28, -21, 8, 20, 0 }, { 16, -29, -22, 8, 20, 0 }, { 16, -29, -23, 8, 20, 0 }, + { 16, -30, -24, 8, 20, 0 }, { 16, -30, -25, 8, 20, 0 }, { 16, -31, -26, 8, 20, 0 }, { 16, -31, -27, 8, 20, 0 }, { 16, -32, -28, 8, 20, 0 }, + { 16, -33, -29, 8, 20, 0 }, { 16, -33, -30, 8, 20, 0 }, { 16, -34, -31, 8, 20, 0 }, { 16, -34, -32, 8, 20, 0 }, { 16, -35, -33, 8, 20, 0 }, + { 16, -35, -34, 8, 20, 0 }, { 16, -35, -35, 8, 20, 0 }, { 16, -36, -36, 8, 20, 0 }, { 16, -36, -37, 8, 20, 0 }, { 16, -37, -38, 8, 20, 0 }, + { 16, -37, -39, 8, 20, 0 }, { 16, -38, -40, 8, 19, 0 }, { 16, -38, -41, 8, 19, 0 }, { 16, -38, -42, 8, 19, 0 }, { 16, -39, -43, 8, 19, 0 }, + { 16, -39, -44, 8, 19, 0 }, { 16, -40, -45, 8, 19, 0 }, { 16, -40, -46, 8, 19, 0 }, { 16, -40, -47, 8, 19, 0 }, { 16, -41, -48, 8, 19, 0 }, + { 16, -41, -49, 8, 19, 0 }, { 16, -41, -50, 8, 19, 0 }, { 16, -42, -51, 8, 19, 0 }, { 16, -42, -52, 8, 19, 0 }, { 16, -42, -53, 8, 19, 0 }, + { 16, -42, -54, 8, 19, 0 }, { 16, -43, -55, 8, 19, 0 }, { 16, -43, -56, 8, 19, 0 }, { 16, -43, -57, 8, 19, 0 }, { 16, -43, -58, 8, 19, 0 }, + { 16, -44, -59, 8, 19, 0 }, { 16, -44, -60, 8, 19, 0 }, { 16, -44, -61, 8, 19, 0 }, { 16, -44, -62, 8, 19, 0 }, { 16, -45, -63, 8, 19, 0 }, + { 16, -45, -64, 8, 19, 0 }, { 16, -45, -65, 8, 19, 0 }, { 16, -45, -66, 8, 19, 0 }, { 16, -45, -67, 8, 19, 0 }, { 16, -46, -68, 8, 19, 0 }, + { 16, -46, -69, 8, 19, 0 }, { 16, -46, -70, 8, 19, 0 }, { 16, -46, -71, 8, 19, 0 }, { 16, -46, -72, 8, 19, 0 }, { 16, -46, -73, 8, 19, 0 }, + { 16, -47, -74, 8, 19, 0 }, { 16, -47, -75, 8, 18, 0 }, { 16, -47, -76, 8, 18, 0 }, { 16, -47, -77, 8, 18, 0 }, { 16, -47, -78, 8, 18, 0 }, + { 16, -47, -79, 8, 18, 0 }, { 16, -47, -80, 8, 18, 0 }, { 16, -47, -81, 8, 18, 0 }, { 16, -47, -82, 8, 18, 0 }, { 16, -48, -83, 8, 18, 0 }, + { 16, -48, -84, 8, 18, 0 }, { 16, -48, -85, 8, 18, 0 }, { 16, -48, -86, 8, 18, 0 }, { 16, -48, -87, 8, 18, 0 }, { 16, -48, -88, 8, 18, 0 }, + { 16, -48, -89, 8, 18, 0 }, { 16, -48, -90, 8, 18, 0 }, { 16, -48, -91, 8, 18, 0 }, { 16, -48, -92, 8, 18, 0 }, { 16, -48, -93, 8, 18, 0 }, + { 16, -48, -94, 8, 18, 0 }, { 16, -48, -95, 8, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FDFAA = { - 68, { - { 31, 16, 0, 0, 59, 0 }, { 30, 16, 0, 0, 59, 0 }, { 29, 16, 0, 0, 59, 0 }, { 28, 16, 0, 0, 59, 0 }, { 27, 16, 1, 31, 59, 0 }, - { 26, 16, 1, 31, 59, 0 }, { 25, 15, 1, 31, 59, 0 }, { 24, 15, 1, 31, 59, 0 }, { 23, 15, 1, 31, 59, 0 }, { 22, 15, 2, 31, 59, 0 }, - { 21, 15, 2, 31, 59, 0 }, { 20, 15, 2, 31, 59, 0 }, { 19, 14, 2, 31, 59, 0 }, { 18, 14, 2, 30, 59, 0 }, { 17, 14, 3, 30, 59, 0 }, - { 16, 13, 3, 30, 59, 0 }, { 15, 13, 3, 30, 59, 0 }, { 14, 13, 3, 30, 59, 0 }, { 13, 12, 4, 30, 59, 0 }, { 12, 12, 4, 30, 59, 0 }, - { 11, 11, 4, 30, 59, 0 }, { 10, 11, 4, 30, 59, 0 }, { 9, 10, 5, 30, 59, 0 }, { 8, 10, 5, 29, 59, 0 }, { 7, 9, 5, 29, 59, 0 }, - { 6, 9, 5, 29, 59, 0 }, { 5, 8, 5, 29, 59, 0 }, { 4, 7, 6, 29, 59, 0 }, { 3, 7, 6, 29, 59, 0 }, { 2, 6, 6, 29, 59, 0 }, - { 1, 5, 7, 29, 59, 0 }, { 0, 4, 7, 29, 59, 0 }, { -1, 3, 7, 28, 59, 0 }, { -3, 3, 7, 28, 59, 0 }, { -4, 2, 8, 28, 59, 0 }, - { -5, 1, 8, 28, 59, 0 }, { -6, 0, 8, 28, 59, 0 }, { -7, -1, 8, 27, 59, 0 }, { -7, -2, 9, 27, 59, 0 }, { -8, -3, 9, 27, 59, 0 }, - { -9, -4, 9, 27, 59, 0 }, { -9, -5, 9, 27, 59, 0 }, { -10, -6, 10, 27, 59, 0 }, { -10, -7, 10, 27, 59, 0 }, { -11, -8, 10, 27, 59, 0 }, - { -11, -9, 10, 27, 59, 0 }, { -12, -10, 11, 26, 59, 0 }, { -12, -11, 11, 26, 59, 0 }, { -13, -12, 11, 26, 59, 0 }, { -13, -13, 11, 26, 59, 0 }, - { -13, -14, 12, 26, 59, 0 }, { -14, -15, 12, 26, 59, 0 }, { -14, -16, 12, 26, 59, 0 }, { -14, -17, 12, 26, 59, 0 }, { -15, -18, 12, 26, 59, 0 }, - { -15, -19, 13, 26, 59, 0 }, { -15, -20, 13, 25, 59, 0 }, { -15, -21, 13, 25, 59, 0 }, { -15, -22, 13, 25, 59, 0 }, { -15, -23, 14, 25, 59, 0 }, - { -16, -24, 14, 25, 59, 0 }, { -16, -25, 14, 25, 59, 0 }, { -16, -26, 14, 25, 59, 0 }, { -16, -27, 14, 25, 59, 0 }, { -16, -28, 15, 24, 59, 0 }, - { -16, -29, 15, 24, 59, 0 }, { -16, -30, 15, 24, 59, 0 }, { -16, -31, 15, 24, 59, 0 }, + 68, { + { 31, 16, 0, 0, 59, 0 }, { 30, 16, 0, 0, 59, 0 }, { 29, 16, 0, 0, 59, 0 }, { 28, 16, 0, 0, 59, 0 }, { 27, 16, 1, 31, 59, 0 }, + { 26, 16, 1, 31, 59, 0 }, { 25, 15, 1, 31, 59, 0 }, { 24, 15, 1, 31, 59, 0 }, { 23, 15, 1, 31, 59, 0 }, { 22, 15, 2, 31, 59, 0 }, + { 21, 15, 2, 31, 59, 0 }, { 20, 15, 2, 31, 59, 0 }, { 19, 14, 2, 31, 59, 0 }, { 18, 14, 2, 30, 59, 0 }, { 17, 14, 3, 30, 59, 0 }, + { 16, 13, 3, 30, 59, 0 }, { 15, 13, 3, 30, 59, 0 }, { 14, 13, 3, 30, 59, 0 }, { 13, 12, 4, 30, 59, 0 }, { 12, 12, 4, 30, 59, 0 }, + { 11, 11, 4, 30, 59, 0 }, { 10, 11, 4, 30, 59, 0 }, { 9, 10, 5, 30, 59, 0 }, { 8, 10, 5, 29, 59, 0 }, { 7, 9, 5, 29, 59, 0 }, + { 6, 9, 5, 29, 59, 0 }, { 5, 8, 5, 29, 59, 0 }, { 4, 7, 6, 29, 59, 0 }, { 3, 7, 6, 29, 59, 0 }, { 2, 6, 6, 29, 59, 0 }, + { 1, 5, 7, 29, 59, 0 }, { 0, 4, 7, 29, 59, 0 }, { -1, 3, 7, 28, 59, 0 }, { -3, 3, 7, 28, 59, 0 }, { -4, 2, 8, 28, 59, 0 }, + { -5, 1, 8, 28, 59, 0 }, { -6, 0, 8, 28, 59, 0 }, { -7, -1, 8, 27, 59, 0 }, { -7, -2, 9, 27, 59, 0 }, { -8, -3, 9, 27, 59, 0 }, + { -9, -4, 9, 27, 59, 0 }, { -9, -5, 9, 27, 59, 0 }, { -10, -6, 10, 27, 59, 0 }, { -10, -7, 10, 27, 59, 0 }, { -11, -8, 10, 27, 59, 0 }, + { -11, -9, 10, 27, 59, 0 }, { -12, -10, 11, 26, 59, 0 }, { -12, -11, 11, 26, 59, 0 }, { -13, -12, 11, 26, 59, 0 }, { -13, -13, 11, 26, 59, 0 }, + { -13, -14, 12, 26, 59, 0 }, { -14, -15, 12, 26, 59, 0 }, { -14, -16, 12, 26, 59, 0 }, { -14, -17, 12, 26, 59, 0 }, { -15, -18, 12, 26, 59, 0 }, + { -15, -19, 13, 26, 59, 0 }, { -15, -20, 13, 25, 59, 0 }, { -15, -21, 13, 25, 59, 0 }, { -15, -22, 13, 25, 59, 0 }, { -15, -23, 14, 25, 59, 0 }, + { -16, -24, 14, 25, 59, 0 }, { -16, -25, 14, 25, 59, 0 }, { -16, -26, 14, 25, 59, 0 }, { -16, -27, 14, 25, 59, 0 }, { -16, -28, 15, 24, 59, 0 }, + { -16, -29, 15, 24, 59, 0 }, { -16, -30, 15, 24, 59, 0 }, { -16, -31, 15, 24, 59, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FE210 = { - 69, { - { 16, 0, 0, 8, 59, 0 }, { 16, 1, 0, 8, 59, 0 }, { 16, 2, 0, 8, 59, 0 }, { 16, 3, 0, 8, 59, 0 }, { 16, 4, 0, 8, 59, 0 }, - { 16, 5, 1, 7, 59, 0 }, { 16, 6, 1, 7, 59, 0 }, { 15, 7, 1, 7, 59, 0 }, { 15, 8, 1, 7, 59, 0 }, { 15, 9, 1, 7, 59, 0 }, - { 15, 10, 2, 7, 59, 0 }, { 15, 11, 2, 7, 59, 0 }, { 15, 12, 2, 7, 59, 0 }, { 14, 13, 2, 7, 59, 0 }, { 14, 14, 2, 6, 59, 0 }, - { 14, 15, 3, 6, 59, 0 }, { 13, 16, 3, 6, 59, 0 }, { 13, 17, 3, 6, 59, 0 }, { 13, 18, 3, 6, 59, 0 }, { 12, 19, 4, 6, 59, 0 }, - { 12, 20, 4, 6, 59, 0 }, { 11, 21, 4, 6, 59, 0 }, { 11, 22, 4, 6, 59, 0 }, { 10, 23, 5, 6, 59, 0 }, { 10, 24, 5, 5, 59, 0 }, - { 9, 25, 5, 5, 59, 0 }, { 9, 26, 5, 5, 59, 0 }, { 8, 27, 5, 5, 59, 0 }, { 7, 28, 6, 5, 59, 0 }, { 7, 29, 6, 5, 59, 0 }, - { 6, 30, 6, 5, 59, 0 }, { 5, 31, 7, 5, 59, 0 }, { 4, 32, 7, 5, 59, 0 }, { 3, 33, 7, 4, 59, 0 }, { 3, 35, 7, 4, 59, 0 }, - { 2, 36, 8, 4, 59, 0 }, { 1, 37, 8, 4, 59, 0 }, { 0, 38, 8, 4, 59, 0 }, { -1, 39, 8, 3, 59, 0 }, { -2, 39, 9, 3, 59, 0 }, - { -3, 40, 9, 3, 59, 0 }, { -4, 41, 9, 3, 59, 0 }, { -5, 41, 9, 3, 59, 0 }, { -6, 42, 10, 3, 59, 0 }, { -7, 42, 10, 3, 59, 0 }, - { -8, 43, 10, 3, 59, 0 }, { -9, 43, 10, 3, 59, 0 }, { -10, 44, 11, 2, 59, 0 }, { -11, 44, 11, 2, 59, 0 }, { -12, 45, 11, 2, 59, 0 }, - { -13, 45, 11, 2, 59, 0 }, { -14, 45, 12, 2, 59, 0 }, { -15, 46, 12, 2, 59, 0 }, { -16, 46, 12, 2, 59, 0 }, { -17, 46, 12, 2, 59, 0 }, - { -18, 47, 12, 2, 59, 0 }, { -19, 47, 13, 2, 59, 0 }, { -20, 47, 13, 1, 59, 0 }, { -21, 47, 13, 1, 59, 0 }, { -22, 47, 13, 1, 59, 0 }, - { -23, 47, 14, 1, 59, 0 }, { -24, 48, 14, 1, 59, 0 }, { -25, 48, 14, 1, 59, 0 }, { -26, 48, 14, 1, 59, 0 }, { -27, 48, 14, 1, 59, 0 }, - { -28, 48, 15, 0, 59, 0 }, { -29, 48, 15, 0, 59, 0 }, { -30, 48, 15, 0, 59, 0 }, { -31, 48, 15, 0, 59, 0 }, + 69, { + { 16, 0, 0, 8, 59, 0 }, { 16, 1, 0, 8, 59, 0 }, { 16, 2, 0, 8, 59, 0 }, { 16, 3, 0, 8, 59, 0 }, { 16, 4, 0, 8, 59, 0 }, + { 16, 5, 1, 7, 59, 0 }, { 16, 6, 1, 7, 59, 0 }, { 15, 7, 1, 7, 59, 0 }, { 15, 8, 1, 7, 59, 0 }, { 15, 9, 1, 7, 59, 0 }, + { 15, 10, 2, 7, 59, 0 }, { 15, 11, 2, 7, 59, 0 }, { 15, 12, 2, 7, 59, 0 }, { 14, 13, 2, 7, 59, 0 }, { 14, 14, 2, 6, 59, 0 }, + { 14, 15, 3, 6, 59, 0 }, { 13, 16, 3, 6, 59, 0 }, { 13, 17, 3, 6, 59, 0 }, { 13, 18, 3, 6, 59, 0 }, { 12, 19, 4, 6, 59, 0 }, + { 12, 20, 4, 6, 59, 0 }, { 11, 21, 4, 6, 59, 0 }, { 11, 22, 4, 6, 59, 0 }, { 10, 23, 5, 6, 59, 0 }, { 10, 24, 5, 5, 59, 0 }, + { 9, 25, 5, 5, 59, 0 }, { 9, 26, 5, 5, 59, 0 }, { 8, 27, 5, 5, 59, 0 }, { 7, 28, 6, 5, 59, 0 }, { 7, 29, 6, 5, 59, 0 }, + { 6, 30, 6, 5, 59, 0 }, { 5, 31, 7, 5, 59, 0 }, { 4, 32, 7, 5, 59, 0 }, { 3, 33, 7, 4, 59, 0 }, { 3, 35, 7, 4, 59, 0 }, + { 2, 36, 8, 4, 59, 0 }, { 1, 37, 8, 4, 59, 0 }, { 0, 38, 8, 4, 59, 0 }, { -1, 39, 8, 3, 59, 0 }, { -2, 39, 9, 3, 59, 0 }, + { -3, 40, 9, 3, 59, 0 }, { -4, 41, 9, 3, 59, 0 }, { -5, 41, 9, 3, 59, 0 }, { -6, 42, 10, 3, 59, 0 }, { -7, 42, 10, 3, 59, 0 }, + { -8, 43, 10, 3, 59, 0 }, { -9, 43, 10, 3, 59, 0 }, { -10, 44, 11, 2, 59, 0 }, { -11, 44, 11, 2, 59, 0 }, { -12, 45, 11, 2, 59, 0 }, + { -13, 45, 11, 2, 59, 0 }, { -14, 45, 12, 2, 59, 0 }, { -15, 46, 12, 2, 59, 0 }, { -16, 46, 12, 2, 59, 0 }, { -17, 46, 12, 2, 59, 0 }, + { -18, 47, 12, 2, 59, 0 }, { -19, 47, 13, 2, 59, 0 }, { -20, 47, 13, 1, 59, 0 }, { -21, 47, 13, 1, 59, 0 }, { -22, 47, 13, 1, 59, 0 }, + { -23, 47, 14, 1, 59, 0 }, { -24, 48, 14, 1, 59, 0 }, { -25, 48, 14, 1, 59, 0 }, { -26, 48, 14, 1, 59, 0 }, { -27, 48, 14, 1, 59, 0 }, + { -28, 48, 15, 0, 59, 0 }, { -29, 48, 15, 0, 59, 0 }, { -30, 48, 15, 0, 59, 0 }, { -31, 48, 15, 0, 59, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FE47F = { - 68, { - { 0, 16, 0, 16, 59, 0 }, { 1, 16, 0, 16, 59, 0 }, { 2, 16, 0, 16, 59, 0 }, { 3, 16, 0, 16, 59, 0 }, { 4, 16, 0, 16, 59, 0 }, - { 5, 16, 1, 15, 59, 0 }, { 6, 16, 1, 15, 59, 0 }, { 7, 17, 1, 15, 59, 0 }, { 8, 17, 1, 15, 59, 0 }, { 9, 17, 1, 15, 59, 0 }, - { 10, 17, 2, 15, 59, 0 }, { 11, 17, 2, 15, 59, 0 }, { 12, 17, 2, 15, 59, 0 }, { 13, 18, 2, 15, 59, 0 }, { 14, 18, 3, 14, 59, 0 }, - { 15, 18, 3, 14, 59, 0 }, { 16, 19, 3, 14, 59, 0 }, { 17, 19, 3, 14, 59, 0 }, { 18, 19, 3, 14, 59, 0 }, { 19, 20, 4, 14, 59, 0 }, - { 20, 20, 4, 14, 59, 0 }, { 21, 21, 4, 14, 59, 0 }, { 22, 21, 4, 14, 59, 0 }, { 23, 22, 5, 14, 59, 0 }, { 24, 22, 5, 13, 59, 0 }, - { 25, 23, 5, 13, 59, 0 }, { 26, 23, 5, 13, 59, 0 }, { 27, 24, 6, 13, 59, 0 }, { 28, 25, 6, 13, 59, 0 }, { 29, 25, 6, 13, 59, 0 }, - { 30, 26, 6, 13, 59, 0 }, { 31, 27, 7, 13, 59, 0 }, { 32, 28, 7, 13, 59, 0 }, { 33, 29, 7, 12, 59, 0 }, { 35, 29, 7, 12, 59, 0 }, - { 36, 30, 8, 12, 59, 0 }, { 37, 31, 8, 12, 59, 0 }, { 38, 32, 8, 12, 59, 0 }, { 39, 33, 9, 11, 59, 0 }, { 39, 34, 9, 11, 59, 0 }, - { 40, 35, 9, 11, 59, 0 }, { 41, 36, 9, 11, 59, 0 }, { 41, 37, 10, 11, 59, 0 }, { 42, 38, 10, 11, 59, 0 }, { 42, 39, 10, 11, 59, 0 }, - { 43, 40, 10, 11, 59, 0 }, { 43, 41, 11, 11, 59, 0 }, { 44, 42, 11, 10, 59, 0 }, { 44, 43, 11, 10, 59, 0 }, { 45, 44, 11, 10, 59, 0 }, - { 45, 45, 12, 10, 59, 0 }, { 45, 46, 12, 10, 59, 0 }, { 46, 47, 12, 10, 59, 0 }, { 46, 48, 12, 10, 59, 0 }, { 46, 49, 12, 10, 59, 0 }, - { 47, 50, 13, 10, 59, 0 }, { 47, 51, 13, 10, 59, 0 }, { 47, 52, 13, 9, 59, 0 }, { 47, 53, 13, 9, 59, 0 }, { 47, 54, 14, 9, 59, 0 }, - { 47, 55, 14, 9, 59, 0 }, { 48, 56, 14, 9, 59, 0 }, { 48, 57, 14, 9, 59, 0 }, { 48, 58, 14, 9, 59, 0 }, { 48, 59, 15, 9, 59, 0 }, - { 48, 60, 15, 8, 59, 0 }, { 48, 61, 15, 8, 59, 0 }, { 48, 62, 15, 8, 59, 0 }, + 68, { + { 0, 16, 0, 16, 59, 0 }, { 1, 16, 0, 16, 59, 0 }, { 2, 16, 0, 16, 59, 0 }, { 3, 16, 0, 16, 59, 0 }, { 4, 16, 0, 16, 59, 0 }, + { 5, 16, 1, 15, 59, 0 }, { 6, 16, 1, 15, 59, 0 }, { 7, 17, 1, 15, 59, 0 }, { 8, 17, 1, 15, 59, 0 }, { 9, 17, 1, 15, 59, 0 }, + { 10, 17, 2, 15, 59, 0 }, { 11, 17, 2, 15, 59, 0 }, { 12, 17, 2, 15, 59, 0 }, { 13, 18, 2, 15, 59, 0 }, { 14, 18, 3, 14, 59, 0 }, + { 15, 18, 3, 14, 59, 0 }, { 16, 19, 3, 14, 59, 0 }, { 17, 19, 3, 14, 59, 0 }, { 18, 19, 3, 14, 59, 0 }, { 19, 20, 4, 14, 59, 0 }, + { 20, 20, 4, 14, 59, 0 }, { 21, 21, 4, 14, 59, 0 }, { 22, 21, 4, 14, 59, 0 }, { 23, 22, 5, 14, 59, 0 }, { 24, 22, 5, 13, 59, 0 }, + { 25, 23, 5, 13, 59, 0 }, { 26, 23, 5, 13, 59, 0 }, { 27, 24, 6, 13, 59, 0 }, { 28, 25, 6, 13, 59, 0 }, { 29, 25, 6, 13, 59, 0 }, + { 30, 26, 6, 13, 59, 0 }, { 31, 27, 7, 13, 59, 0 }, { 32, 28, 7, 13, 59, 0 }, { 33, 29, 7, 12, 59, 0 }, { 35, 29, 7, 12, 59, 0 }, + { 36, 30, 8, 12, 59, 0 }, { 37, 31, 8, 12, 59, 0 }, { 38, 32, 8, 12, 59, 0 }, { 39, 33, 9, 11, 59, 0 }, { 39, 34, 9, 11, 59, 0 }, + { 40, 35, 9, 11, 59, 0 }, { 41, 36, 9, 11, 59, 0 }, { 41, 37, 10, 11, 59, 0 }, { 42, 38, 10, 11, 59, 0 }, { 42, 39, 10, 11, 59, 0 }, + { 43, 40, 10, 11, 59, 0 }, { 43, 41, 11, 11, 59, 0 }, { 44, 42, 11, 10, 59, 0 }, { 44, 43, 11, 10, 59, 0 }, { 45, 44, 11, 10, 59, 0 }, + { 45, 45, 12, 10, 59, 0 }, { 45, 46, 12, 10, 59, 0 }, { 46, 47, 12, 10, 59, 0 }, { 46, 48, 12, 10, 59, 0 }, { 46, 49, 12, 10, 59, 0 }, + { 47, 50, 13, 10, 59, 0 }, { 47, 51, 13, 10, 59, 0 }, { 47, 52, 13, 9, 59, 0 }, { 47, 53, 13, 9, 59, 0 }, { 47, 54, 14, 9, 59, 0 }, + { 47, 55, 14, 9, 59, 0 }, { 48, 56, 14, 9, 59, 0 }, { 48, 57, 14, 9, 59, 0 }, { 48, 58, 14, 9, 59, 0 }, { 48, 59, 15, 9, 59, 0 }, + { 48, 60, 15, 8, 59, 0 }, { 48, 61, 15, 8, 59, 0 }, { 48, 62, 15, 8, 59, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FE6E5 = { - 67, { - { 16, 31, 0, 24, 59, 0 }, { 16, 30, 0, 24, 59, 0 }, { 16, 29, 0, 24, 59, 0 }, { 16, 28, 0, 24, 59, 0 }, { 16, 27, 1, 23, 59, 0 }, - { 16, 26, 1, 23, 59, 0 }, { 17, 25, 1, 23, 59, 0 }, { 17, 24, 1, 23, 59, 0 }, { 17, 23, 1, 23, 59, 0 }, { 17, 22, 2, 23, 59, 0 }, - { 17, 21, 2, 23, 59, 0 }, { 17, 20, 2, 23, 59, 0 }, { 18, 19, 2, 23, 59, 0 }, { 18, 18, 3, 22, 59, 0 }, { 18, 17, 3, 22, 59, 0 }, - { 19, 16, 3, 22, 59, 0 }, { 19, 15, 3, 22, 59, 0 }, { 19, 14, 3, 22, 59, 0 }, { 20, 13, 4, 22, 59, 0 }, { 20, 12, 4, 22, 59, 0 }, - { 21, 11, 4, 22, 59, 0 }, { 21, 10, 4, 22, 59, 0 }, { 22, 9, 5, 22, 59, 0 }, { 22, 8, 5, 21, 59, 0 }, { 23, 7, 5, 21, 59, 0 }, - { 23, 6, 5, 21, 59, 0 }, { 24, 5, 6, 21, 59, 0 }, { 25, 4, 6, 21, 59, 0 }, { 25, 3, 6, 21, 59, 0 }, { 26, 2, 6, 21, 59, 0 }, - { 27, 1, 7, 21, 59, 0 }, { 28, 0, 7, 21, 59, 0 }, { 29, -1, 7, 20, 59, 0 }, { 29, -3, 7, 20, 59, 0 }, { 30, -4, 8, 20, 59, 0 }, - { 31, -5, 8, 20, 59, 0 }, { 32, -6, 8, 20, 59, 0 }, { 33, -7, 9, 19, 59, 0 }, { 34, -7, 9, 19, 59, 0 }, { 35, -8, 9, 19, 59, 0 }, - { 36, -9, 9, 19, 59, 0 }, { 37, -9, 10, 19, 59, 0 }, { 38, -10, 10, 19, 59, 0 }, { 39, -10, 10, 19, 59, 0 }, { 40, -11, 10, 19, 59, 0 }, - { 41, -11, 11, 19, 59, 0 }, { 42, -12, 11, 18, 59, 0 }, { 43, -12, 11, 18, 59, 0 }, { 44, -13, 11, 18, 59, 0 }, { 45, -13, 12, 18, 59, 0 }, - { 46, -13, 12, 18, 59, 0 }, { 47, -14, 12, 18, 59, 0 }, { 48, -14, 12, 18, 59, 0 }, { 49, -14, 12, 18, 59, 0 }, { 50, -15, 13, 18, 59, 0 }, - { 51, -15, 13, 18, 59, 0 }, { 52, -15, 13, 17, 59, 0 }, { 53, -15, 13, 17, 59, 0 }, { 54, -15, 14, 17, 59, 0 }, { 55, -15, 14, 17, 59, 0 }, - { 56, -16, 14, 17, 59, 0 }, { 57, -16, 14, 17, 59, 0 }, { 58, -16, 14, 17, 59, 0 }, { 59, -16, 15, 17, 59, 0 }, { 60, -16, 15, 16, 59, 0 }, - { 61, -16, 15, 16, 59, 0 }, { 62, -16, 15, 16, 59, 0 }, + 67, { + { 16, 31, 0, 24, 59, 0 }, { 16, 30, 0, 24, 59, 0 }, { 16, 29, 0, 24, 59, 0 }, { 16, 28, 0, 24, 59, 0 }, { 16, 27, 1, 23, 59, 0 }, + { 16, 26, 1, 23, 59, 0 }, { 17, 25, 1, 23, 59, 0 }, { 17, 24, 1, 23, 59, 0 }, { 17, 23, 1, 23, 59, 0 }, { 17, 22, 2, 23, 59, 0 }, + { 17, 21, 2, 23, 59, 0 }, { 17, 20, 2, 23, 59, 0 }, { 18, 19, 2, 23, 59, 0 }, { 18, 18, 3, 22, 59, 0 }, { 18, 17, 3, 22, 59, 0 }, + { 19, 16, 3, 22, 59, 0 }, { 19, 15, 3, 22, 59, 0 }, { 19, 14, 3, 22, 59, 0 }, { 20, 13, 4, 22, 59, 0 }, { 20, 12, 4, 22, 59, 0 }, + { 21, 11, 4, 22, 59, 0 }, { 21, 10, 4, 22, 59, 0 }, { 22, 9, 5, 22, 59, 0 }, { 22, 8, 5, 21, 59, 0 }, { 23, 7, 5, 21, 59, 0 }, + { 23, 6, 5, 21, 59, 0 }, { 24, 5, 6, 21, 59, 0 }, { 25, 4, 6, 21, 59, 0 }, { 25, 3, 6, 21, 59, 0 }, { 26, 2, 6, 21, 59, 0 }, + { 27, 1, 7, 21, 59, 0 }, { 28, 0, 7, 21, 59, 0 }, { 29, -1, 7, 20, 59, 0 }, { 29, -3, 7, 20, 59, 0 }, { 30, -4, 8, 20, 59, 0 }, + { 31, -5, 8, 20, 59, 0 }, { 32, -6, 8, 20, 59, 0 }, { 33, -7, 9, 19, 59, 0 }, { 34, -7, 9, 19, 59, 0 }, { 35, -8, 9, 19, 59, 0 }, + { 36, -9, 9, 19, 59, 0 }, { 37, -9, 10, 19, 59, 0 }, { 38, -10, 10, 19, 59, 0 }, { 39, -10, 10, 19, 59, 0 }, { 40, -11, 10, 19, 59, 0 }, + { 41, -11, 11, 19, 59, 0 }, { 42, -12, 11, 18, 59, 0 }, { 43, -12, 11, 18, 59, 0 }, { 44, -13, 11, 18, 59, 0 }, { 45, -13, 12, 18, 59, 0 }, + { 46, -13, 12, 18, 59, 0 }, { 47, -14, 12, 18, 59, 0 }, { 48, -14, 12, 18, 59, 0 }, { 49, -14, 12, 18, 59, 0 }, { 50, -15, 13, 18, 59, 0 }, + { 51, -15, 13, 18, 59, 0 }, { 52, -15, 13, 17, 59, 0 }, { 53, -15, 13, 17, 59, 0 }, { 54, -15, 14, 17, 59, 0 }, { 55, -15, 14, 17, 59, 0 }, + { 56, -16, 14, 17, 59, 0 }, { 57, -16, 14, 17, 59, 0 }, { 58, -16, 14, 17, 59, 0 }, { 59, -16, 15, 17, 59, 0 }, { 60, -16, 15, 16, 59, 0 }, + { 61, -16, 15, 16, 59, 0 }, { 62, -16, 15, 16, 59, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FE942 = { - 67, { - { 31, 16, 0, 0, 59, 0 }, { 30, 16, 0, 0, 59, 0 }, { 29, 16, 0, 0, 59, 0 }, { 28, 16, 0, 0, 59, 0 }, { 27, 16, 1, 1, 59, 0 }, - { 26, 16, 1, 1, 59, 0 }, { 25, 17, 1, 1, 59, 0 }, { 24, 17, 1, 1, 59, 0 }, { 23, 17, 1, 1, 59, 0 }, { 22, 17, 2, 1, 59, 0 }, - { 21, 17, 2, 1, 59, 0 }, { 20, 17, 2, 1, 59, 0 }, { 19, 18, 2, 1, 59, 0 }, { 18, 18, 3, 2, 59, 0 }, { 17, 18, 3, 2, 59, 0 }, - { 16, 19, 3, 2, 59, 0 }, { 15, 19, 3, 2, 59, 0 }, { 14, 19, 3, 2, 59, 0 }, { 13, 20, 4, 2, 59, 0 }, { 12, 20, 4, 2, 59, 0 }, - { 11, 21, 4, 2, 59, 0 }, { 10, 21, 4, 2, 59, 0 }, { 9, 22, 5, 2, 59, 0 }, { 8, 22, 5, 3, 59, 0 }, { 7, 23, 5, 3, 59, 0 }, - { 6, 23, 5, 3, 59, 0 }, { 5, 24, 6, 3, 59, 0 }, { 4, 25, 6, 3, 59, 0 }, { 3, 25, 6, 3, 59, 0 }, { 2, 26, 6, 3, 59, 0 }, - { 1, 27, 7, 3, 59, 0 }, { 0, 28, 7, 3, 59, 0 }, { -1, 29, 7, 4, 59, 0 }, { -3, 29, 7, 4, 59, 0 }, { -4, 30, 8, 4, 59, 0 }, - { -5, 31, 8, 4, 59, 0 }, { -6, 32, 8, 4, 59, 0 }, { -7, 33, 9, 5, 59, 0 }, { -7, 34, 9, 5, 59, 0 }, { -8, 35, 9, 5, 59, 0 }, - { -9, 36, 9, 5, 59, 0 }, { -9, 37, 10, 5, 59, 0 }, { -10, 38, 10, 5, 59, 0 }, { -10, 39, 10, 5, 59, 0 }, { -11, 40, 10, 5, 59, 0 }, - { -11, 41, 11, 5, 59, 0 }, { -12, 42, 11, 6, 59, 0 }, { -12, 43, 11, 6, 59, 0 }, { -13, 44, 11, 6, 59, 0 }, { -13, 45, 12, 6, 59, 0 }, - { -13, 46, 12, 6, 59, 0 }, { -14, 47, 12, 6, 59, 0 }, { -14, 48, 12, 6, 59, 0 }, { -14, 49, 12, 6, 59, 0 }, { -15, 50, 13, 6, 59, 0 }, - { -15, 51, 13, 6, 59, 0 }, { -15, 52, 13, 7, 59, 0 }, { -15, 53, 13, 7, 59, 0 }, { -15, 54, 14, 7, 59, 0 }, { -15, 55, 14, 7, 59, 0 }, - { -16, 56, 14, 7, 59, 0 }, { -16, 57, 14, 7, 59, 0 }, { -16, 58, 14, 7, 59, 0 }, { -16, 59, 15, 7, 59, 0 }, { -16, 60, 15, 8, 59, 0 }, - { -16, 61, 15, 8, 59, 0 }, { -16, 62, 15, 8, 59, 0 }, + 67, { + { 31, 16, 0, 0, 59, 0 }, { 30, 16, 0, 0, 59, 0 }, { 29, 16, 0, 0, 59, 0 }, { 28, 16, 0, 0, 59, 0 }, { 27, 16, 1, 1, 59, 0 }, + { 26, 16, 1, 1, 59, 0 }, { 25, 17, 1, 1, 59, 0 }, { 24, 17, 1, 1, 59, 0 }, { 23, 17, 1, 1, 59, 0 }, { 22, 17, 2, 1, 59, 0 }, + { 21, 17, 2, 1, 59, 0 }, { 20, 17, 2, 1, 59, 0 }, { 19, 18, 2, 1, 59, 0 }, { 18, 18, 3, 2, 59, 0 }, { 17, 18, 3, 2, 59, 0 }, + { 16, 19, 3, 2, 59, 0 }, { 15, 19, 3, 2, 59, 0 }, { 14, 19, 3, 2, 59, 0 }, { 13, 20, 4, 2, 59, 0 }, { 12, 20, 4, 2, 59, 0 }, + { 11, 21, 4, 2, 59, 0 }, { 10, 21, 4, 2, 59, 0 }, { 9, 22, 5, 2, 59, 0 }, { 8, 22, 5, 3, 59, 0 }, { 7, 23, 5, 3, 59, 0 }, + { 6, 23, 5, 3, 59, 0 }, { 5, 24, 6, 3, 59, 0 }, { 4, 25, 6, 3, 59, 0 }, { 3, 25, 6, 3, 59, 0 }, { 2, 26, 6, 3, 59, 0 }, + { 1, 27, 7, 3, 59, 0 }, { 0, 28, 7, 3, 59, 0 }, { -1, 29, 7, 4, 59, 0 }, { -3, 29, 7, 4, 59, 0 }, { -4, 30, 8, 4, 59, 0 }, + { -5, 31, 8, 4, 59, 0 }, { -6, 32, 8, 4, 59, 0 }, { -7, 33, 9, 5, 59, 0 }, { -7, 34, 9, 5, 59, 0 }, { -8, 35, 9, 5, 59, 0 }, + { -9, 36, 9, 5, 59, 0 }, { -9, 37, 10, 5, 59, 0 }, { -10, 38, 10, 5, 59, 0 }, { -10, 39, 10, 5, 59, 0 }, { -11, 40, 10, 5, 59, 0 }, + { -11, 41, 11, 5, 59, 0 }, { -12, 42, 11, 6, 59, 0 }, { -12, 43, 11, 6, 59, 0 }, { -13, 44, 11, 6, 59, 0 }, { -13, 45, 12, 6, 59, 0 }, + { -13, 46, 12, 6, 59, 0 }, { -14, 47, 12, 6, 59, 0 }, { -14, 48, 12, 6, 59, 0 }, { -14, 49, 12, 6, 59, 0 }, { -15, 50, 13, 6, 59, 0 }, + { -15, 51, 13, 6, 59, 0 }, { -15, 52, 13, 7, 59, 0 }, { -15, 53, 13, 7, 59, 0 }, { -15, 54, 14, 7, 59, 0 }, { -15, 55, 14, 7, 59, 0 }, + { -16, 56, 14, 7, 59, 0 }, { -16, 57, 14, 7, 59, 0 }, { -16, 58, 14, 7, 59, 0 }, { -16, 59, 15, 7, 59, 0 }, { -16, 60, 15, 8, 59, 0 }, + { -16, 61, 15, 8, 59, 0 }, { -16, 62, 15, 8, 59, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FEB9F = { - 68, { - { 16, 0, 0, 8, 59, 0 }, { 16, 1, 0, 8, 59, 0 }, { 16, 2, 0, 8, 59, 0 }, { 16, 3, 0, 8, 59, 0 }, { 16, 4, 0, 8, 59, 0 }, - { 16, 5, 1, 9, 59, 0 }, { 16, 6, 1, 9, 59, 0 }, { 17, 7, 1, 9, 59, 0 }, { 17, 8, 1, 9, 59, 0 }, { 17, 9, 1, 9, 59, 0 }, - { 17, 10, 2, 9, 59, 0 }, { 17, 11, 2, 9, 59, 0 }, { 17, 12, 2, 9, 59, 0 }, { 18, 13, 2, 9, 59, 0 }, { 18, 14, 3, 10, 59, 0 }, - { 18, 15, 3, 10, 59, 0 }, { 19, 16, 3, 10, 59, 0 }, { 19, 17, 3, 10, 59, 0 }, { 19, 18, 3, 10, 59, 0 }, { 20, 19, 4, 10, 59, 0 }, - { 20, 20, 4, 10, 59, 0 }, { 21, 21, 4, 10, 59, 0 }, { 21, 22, 4, 10, 59, 0 }, { 22, 23, 5, 10, 59, 0 }, { 22, 24, 5, 11, 59, 0 }, - { 23, 25, 5, 11, 59, 0 }, { 23, 26, 5, 11, 59, 0 }, { 24, 27, 6, 11, 59, 0 }, { 25, 28, 6, 11, 59, 0 }, { 25, 29, 6, 11, 59, 0 }, - { 26, 30, 6, 11, 59, 0 }, { 27, 31, 7, 11, 59, 0 }, { 28, 32, 7, 11, 59, 0 }, { 29, 33, 7, 12, 59, 0 }, { 29, 35, 7, 12, 59, 0 }, - { 30, 36, 8, 12, 59, 0 }, { 31, 37, 8, 12, 59, 0 }, { 32, 38, 8, 12, 59, 0 }, { 33, 39, 9, 13, 59, 0 }, { 34, 39, 9, 13, 59, 0 }, - { 35, 40, 9, 13, 59, 0 }, { 36, 41, 9, 13, 59, 0 }, { 37, 41, 10, 13, 59, 0 }, { 38, 42, 10, 13, 59, 0 }, { 39, 42, 10, 13, 59, 0 }, - { 40, 43, 10, 13, 59, 0 }, { 41, 43, 11, 13, 59, 0 }, { 42, 44, 11, 14, 59, 0 }, { 43, 44, 11, 14, 59, 0 }, { 44, 45, 11, 14, 59, 0 }, - { 45, 45, 12, 14, 59, 0 }, { 46, 45, 12, 14, 59, 0 }, { 47, 46, 12, 14, 59, 0 }, { 48, 46, 12, 14, 59, 0 }, { 49, 46, 12, 14, 59, 0 }, - { 50, 47, 13, 14, 59, 0 }, { 51, 47, 13, 14, 59, 0 }, { 52, 47, 13, 15, 59, 0 }, { 53, 47, 13, 15, 59, 0 }, { 54, 47, 14, 15, 59, 0 }, - { 55, 47, 14, 15, 59, 0 }, { 56, 48, 14, 15, 59, 0 }, { 57, 48, 14, 15, 59, 0 }, { 58, 48, 14, 15, 59, 0 }, { 59, 48, 15, 15, 59, 0 }, - { 60, 48, 15, 16, 59, 0 }, { 61, 48, 15, 16, 59, 0 }, { 62, 48, 15, 16, 59, 0 }, + 68, { + { 16, 0, 0, 8, 59, 0 }, { 16, 1, 0, 8, 59, 0 }, { 16, 2, 0, 8, 59, 0 }, { 16, 3, 0, 8, 59, 0 }, { 16, 4, 0, 8, 59, 0 }, + { 16, 5, 1, 9, 59, 0 }, { 16, 6, 1, 9, 59, 0 }, { 17, 7, 1, 9, 59, 0 }, { 17, 8, 1, 9, 59, 0 }, { 17, 9, 1, 9, 59, 0 }, + { 17, 10, 2, 9, 59, 0 }, { 17, 11, 2, 9, 59, 0 }, { 17, 12, 2, 9, 59, 0 }, { 18, 13, 2, 9, 59, 0 }, { 18, 14, 3, 10, 59, 0 }, + { 18, 15, 3, 10, 59, 0 }, { 19, 16, 3, 10, 59, 0 }, { 19, 17, 3, 10, 59, 0 }, { 19, 18, 3, 10, 59, 0 }, { 20, 19, 4, 10, 59, 0 }, + { 20, 20, 4, 10, 59, 0 }, { 21, 21, 4, 10, 59, 0 }, { 21, 22, 4, 10, 59, 0 }, { 22, 23, 5, 10, 59, 0 }, { 22, 24, 5, 11, 59, 0 }, + { 23, 25, 5, 11, 59, 0 }, { 23, 26, 5, 11, 59, 0 }, { 24, 27, 6, 11, 59, 0 }, { 25, 28, 6, 11, 59, 0 }, { 25, 29, 6, 11, 59, 0 }, + { 26, 30, 6, 11, 59, 0 }, { 27, 31, 7, 11, 59, 0 }, { 28, 32, 7, 11, 59, 0 }, { 29, 33, 7, 12, 59, 0 }, { 29, 35, 7, 12, 59, 0 }, + { 30, 36, 8, 12, 59, 0 }, { 31, 37, 8, 12, 59, 0 }, { 32, 38, 8, 12, 59, 0 }, { 33, 39, 9, 13, 59, 0 }, { 34, 39, 9, 13, 59, 0 }, + { 35, 40, 9, 13, 59, 0 }, { 36, 41, 9, 13, 59, 0 }, { 37, 41, 10, 13, 59, 0 }, { 38, 42, 10, 13, 59, 0 }, { 39, 42, 10, 13, 59, 0 }, + { 40, 43, 10, 13, 59, 0 }, { 41, 43, 11, 13, 59, 0 }, { 42, 44, 11, 14, 59, 0 }, { 43, 44, 11, 14, 59, 0 }, { 44, 45, 11, 14, 59, 0 }, + { 45, 45, 12, 14, 59, 0 }, { 46, 45, 12, 14, 59, 0 }, { 47, 46, 12, 14, 59, 0 }, { 48, 46, 12, 14, 59, 0 }, { 49, 46, 12, 14, 59, 0 }, + { 50, 47, 13, 14, 59, 0 }, { 51, 47, 13, 14, 59, 0 }, { 52, 47, 13, 15, 59, 0 }, { 53, 47, 13, 15, 59, 0 }, { 54, 47, 14, 15, 59, 0 }, + { 55, 47, 14, 15, 59, 0 }, { 56, 48, 14, 15, 59, 0 }, { 57, 48, 14, 15, 59, 0 }, { 58, 48, 14, 15, 59, 0 }, { 59, 48, 15, 15, 59, 0 }, + { 60, 48, 15, 16, 59, 0 }, { 61, 48, 15, 16, 59, 0 }, { 62, 48, 15, 16, 59, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FEE05 = { - 69, { - { 0, 16, 0, 16, 59, 0 }, { 1, 16, 0, 16, 59, 0 }, { 2, 16, 0, 16, 59, 0 }, { 3, 16, 0, 16, 59, 0 }, { 4, 16, 0, 16, 59, 0 }, - { 5, 16, 1, 17, 59, 0 }, { 6, 16, 1, 17, 59, 0 }, { 7, 15, 1, 17, 59, 0 }, { 8, 15, 1, 17, 59, 0 }, { 9, 15, 1, 17, 59, 0 }, - { 10, 15, 2, 17, 59, 0 }, { 11, 15, 2, 17, 59, 0 }, { 12, 15, 2, 17, 59, 0 }, { 13, 14, 2, 17, 59, 0 }, { 14, 14, 2, 18, 59, 0 }, - { 15, 14, 3, 18, 59, 0 }, { 16, 13, 3, 18, 59, 0 }, { 17, 13, 3, 18, 59, 0 }, { 18, 13, 3, 18, 59, 0 }, { 19, 12, 4, 18, 59, 0 }, - { 20, 12, 4, 18, 59, 0 }, { 21, 11, 4, 18, 59, 0 }, { 22, 11, 4, 18, 59, 0 }, { 23, 10, 5, 18, 59, 0 }, { 24, 10, 5, 19, 59, 0 }, - { 25, 9, 5, 19, 59, 0 }, { 26, 9, 5, 19, 59, 0 }, { 27, 8, 5, 19, 59, 0 }, { 28, 7, 6, 19, 59, 0 }, { 29, 7, 6, 19, 59, 0 }, - { 30, 6, 6, 19, 59, 0 }, { 31, 5, 7, 19, 59, 0 }, { 32, 4, 7, 19, 59, 0 }, { 33, 3, 7, 20, 59, 0 }, { 35, 3, 7, 20, 59, 0 }, - { 36, 2, 8, 20, 59, 0 }, { 37, 1, 8, 20, 59, 0 }, { 38, 0, 8, 20, 59, 0 }, { 39, -1, 8, 21, 59, 0 }, { 39, -2, 9, 21, 59, 0 }, - { 40, -3, 9, 21, 59, 0 }, { 41, -4, 9, 21, 59, 0 }, { 41, -5, 9, 21, 59, 0 }, { 42, -6, 10, 21, 59, 0 }, { 42, -7, 10, 21, 59, 0 }, - { 43, -8, 10, 21, 59, 0 }, { 43, -9, 10, 21, 59, 0 }, { 44, -10, 11, 22, 59, 0 }, { 44, -11, 11, 22, 59, 0 }, { 45, -12, 11, 22, 59, 0 }, - { 45, -13, 11, 22, 59, 0 }, { 45, -14, 12, 22, 59, 0 }, { 46, -15, 12, 22, 59, 0 }, { 46, -16, 12, 22, 59, 0 }, { 46, -17, 12, 22, 59, 0 }, - { 47, -18, 12, 22, 59, 0 }, { 47, -19, 13, 22, 59, 0 }, { 47, -20, 13, 23, 59, 0 }, { 47, -21, 13, 23, 59, 0 }, { 47, -22, 13, 23, 59, 0 }, - { 47, -23, 14, 23, 59, 0 }, { 48, -24, 14, 23, 59, 0 }, { 48, -25, 14, 23, 59, 0 }, { 48, -26, 14, 23, 59, 0 }, { 48, -27, 14, 23, 59, 0 }, - { 48, -28, 15, 24, 59, 0 }, { 48, -29, 15, 24, 59, 0 }, { 48, -30, 15, 24, 59, 0 }, { 48, -31, 15, 24, 59, 0 }, + 69, { + { 0, 16, 0, 16, 59, 0 }, { 1, 16, 0, 16, 59, 0 }, { 2, 16, 0, 16, 59, 0 }, { 3, 16, 0, 16, 59, 0 }, { 4, 16, 0, 16, 59, 0 }, + { 5, 16, 1, 17, 59, 0 }, { 6, 16, 1, 17, 59, 0 }, { 7, 15, 1, 17, 59, 0 }, { 8, 15, 1, 17, 59, 0 }, { 9, 15, 1, 17, 59, 0 }, + { 10, 15, 2, 17, 59, 0 }, { 11, 15, 2, 17, 59, 0 }, { 12, 15, 2, 17, 59, 0 }, { 13, 14, 2, 17, 59, 0 }, { 14, 14, 2, 18, 59, 0 }, + { 15, 14, 3, 18, 59, 0 }, { 16, 13, 3, 18, 59, 0 }, { 17, 13, 3, 18, 59, 0 }, { 18, 13, 3, 18, 59, 0 }, { 19, 12, 4, 18, 59, 0 }, + { 20, 12, 4, 18, 59, 0 }, { 21, 11, 4, 18, 59, 0 }, { 22, 11, 4, 18, 59, 0 }, { 23, 10, 5, 18, 59, 0 }, { 24, 10, 5, 19, 59, 0 }, + { 25, 9, 5, 19, 59, 0 }, { 26, 9, 5, 19, 59, 0 }, { 27, 8, 5, 19, 59, 0 }, { 28, 7, 6, 19, 59, 0 }, { 29, 7, 6, 19, 59, 0 }, + { 30, 6, 6, 19, 59, 0 }, { 31, 5, 7, 19, 59, 0 }, { 32, 4, 7, 19, 59, 0 }, { 33, 3, 7, 20, 59, 0 }, { 35, 3, 7, 20, 59, 0 }, + { 36, 2, 8, 20, 59, 0 }, { 37, 1, 8, 20, 59, 0 }, { 38, 0, 8, 20, 59, 0 }, { 39, -1, 8, 21, 59, 0 }, { 39, -2, 9, 21, 59, 0 }, + { 40, -3, 9, 21, 59, 0 }, { 41, -4, 9, 21, 59, 0 }, { 41, -5, 9, 21, 59, 0 }, { 42, -6, 10, 21, 59, 0 }, { 42, -7, 10, 21, 59, 0 }, + { 43, -8, 10, 21, 59, 0 }, { 43, -9, 10, 21, 59, 0 }, { 44, -10, 11, 22, 59, 0 }, { 44, -11, 11, 22, 59, 0 }, { 45, -12, 11, 22, 59, 0 }, + { 45, -13, 11, 22, 59, 0 }, { 45, -14, 12, 22, 59, 0 }, { 46, -15, 12, 22, 59, 0 }, { 46, -16, 12, 22, 59, 0 }, { 46, -17, 12, 22, 59, 0 }, + { 47, -18, 12, 22, 59, 0 }, { 47, -19, 13, 22, 59, 0 }, { 47, -20, 13, 23, 59, 0 }, { 47, -21, 13, 23, 59, 0 }, { 47, -22, 13, 23, 59, 0 }, + { 47, -23, 14, 23, 59, 0 }, { 48, -24, 14, 23, 59, 0 }, { 48, -25, 14, 23, 59, 0 }, { 48, -26, 14, 23, 59, 0 }, { 48, -27, 14, 23, 59, 0 }, + { 48, -28, 15, 24, 59, 0 }, { 48, -29, 15, 24, 59, 0 }, { 48, -30, 15, 24, 59, 0 }, { 48, -31, 15, 24, 59, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FF074 = { - 68, { - { 16, 31, 0, 24, 59, 0 }, { 16, 30, 0, 24, 59, 0 }, { 16, 29, 0, 24, 59, 0 }, { 16, 28, 0, 24, 59, 0 }, { 16, 27, 1, 25, 59, 0 }, - { 16, 26, 1, 25, 59, 0 }, { 15, 25, 1, 25, 59, 0 }, { 15, 24, 1, 25, 59, 0 }, { 15, 23, 1, 25, 59, 0 }, { 15, 22, 2, 25, 59, 0 }, - { 15, 21, 2, 25, 59, 0 }, { 15, 20, 2, 25, 59, 0 }, { 14, 19, 2, 25, 59, 0 }, { 14, 18, 2, 26, 59, 0 }, { 14, 17, 3, 26, 59, 0 }, - { 13, 16, 3, 26, 59, 0 }, { 13, 15, 3, 26, 59, 0 }, { 13, 14, 3, 26, 59, 0 }, { 12, 13, 4, 26, 59, 0 }, { 12, 12, 4, 26, 59, 0 }, - { 11, 11, 4, 26, 59, 0 }, { 11, 10, 4, 26, 59, 0 }, { 10, 9, 5, 26, 59, 0 }, { 10, 8, 5, 27, 59, 0 }, { 9, 7, 5, 27, 59, 0 }, - { 9, 6, 5, 27, 59, 0 }, { 8, 5, 5, 27, 59, 0 }, { 7, 4, 6, 27, 59, 0 }, { 7, 3, 6, 27, 59, 0 }, { 6, 2, 6, 27, 59, 0 }, - { 5, 1, 7, 27, 59, 0 }, { 4, 0, 7, 27, 59, 0 }, { 3, -1, 7, 28, 59, 0 }, { 3, -3, 7, 28, 59, 0 }, { 2, -4, 8, 28, 59, 0 }, - { 1, -5, 8, 28, 59, 0 }, { 0, -6, 8, 28, 59, 0 }, { -1, -7, 8, 29, 59, 0 }, { -2, -7, 9, 29, 59, 0 }, { -3, -8, 9, 29, 59, 0 }, - { -4, -9, 9, 29, 59, 0 }, { -5, -9, 9, 29, 59, 0 }, { -6, -10, 10, 29, 59, 0 }, { -7, -10, 10, 29, 59, 0 }, { -8, -11, 10, 29, 59, 0 }, - { -9, -11, 10, 29, 59, 0 }, { -10, -12, 11, 30, 59, 0 }, { -11, -12, 11, 30, 59, 0 }, { -12, -13, 11, 30, 59, 0 }, { -13, -13, 11, 30, 59, 0 }, - { -14, -13, 12, 30, 59, 0 }, { -15, -14, 12, 30, 59, 0 }, { -16, -14, 12, 30, 59, 0 }, { -17, -14, 12, 30, 59, 0 }, { -18, -15, 12, 30, 59, 0 }, - { -19, -15, 13, 30, 59, 0 }, { -20, -15, 13, 31, 59, 0 }, { -21, -15, 13, 31, 59, 0 }, { -22, -15, 13, 31, 59, 0 }, { -23, -15, 14, 31, 59, 0 }, - { -24, -16, 14, 31, 59, 0 }, { -25, -16, 14, 31, 59, 0 }, { -26, -16, 14, 31, 59, 0 }, { -27, -16, 14, 31, 59, 0 }, { -28, -16, 15, 0, 59, 0 }, - { -29, -16, 15, 0, 59, 0 }, { -30, -16, 15, 0, 59, 0 }, { -31, -16, 15, 0, 59, 0 }, + 68, { + { 16, 31, 0, 24, 59, 0 }, { 16, 30, 0, 24, 59, 0 }, { 16, 29, 0, 24, 59, 0 }, { 16, 28, 0, 24, 59, 0 }, { 16, 27, 1, 25, 59, 0 }, + { 16, 26, 1, 25, 59, 0 }, { 15, 25, 1, 25, 59, 0 }, { 15, 24, 1, 25, 59, 0 }, { 15, 23, 1, 25, 59, 0 }, { 15, 22, 2, 25, 59, 0 }, + { 15, 21, 2, 25, 59, 0 }, { 15, 20, 2, 25, 59, 0 }, { 14, 19, 2, 25, 59, 0 }, { 14, 18, 2, 26, 59, 0 }, { 14, 17, 3, 26, 59, 0 }, + { 13, 16, 3, 26, 59, 0 }, { 13, 15, 3, 26, 59, 0 }, { 13, 14, 3, 26, 59, 0 }, { 12, 13, 4, 26, 59, 0 }, { 12, 12, 4, 26, 59, 0 }, + { 11, 11, 4, 26, 59, 0 }, { 11, 10, 4, 26, 59, 0 }, { 10, 9, 5, 26, 59, 0 }, { 10, 8, 5, 27, 59, 0 }, { 9, 7, 5, 27, 59, 0 }, + { 9, 6, 5, 27, 59, 0 }, { 8, 5, 5, 27, 59, 0 }, { 7, 4, 6, 27, 59, 0 }, { 7, 3, 6, 27, 59, 0 }, { 6, 2, 6, 27, 59, 0 }, + { 5, 1, 7, 27, 59, 0 }, { 4, 0, 7, 27, 59, 0 }, { 3, -1, 7, 28, 59, 0 }, { 3, -3, 7, 28, 59, 0 }, { 2, -4, 8, 28, 59, 0 }, + { 1, -5, 8, 28, 59, 0 }, { 0, -6, 8, 28, 59, 0 }, { -1, -7, 8, 29, 59, 0 }, { -2, -7, 9, 29, 59, 0 }, { -3, -8, 9, 29, 59, 0 }, + { -4, -9, 9, 29, 59, 0 }, { -5, -9, 9, 29, 59, 0 }, { -6, -10, 10, 29, 59, 0 }, { -7, -10, 10, 29, 59, 0 }, { -8, -11, 10, 29, 59, 0 }, + { -9, -11, 10, 29, 59, 0 }, { -10, -12, 11, 30, 59, 0 }, { -11, -12, 11, 30, 59, 0 }, { -12, -13, 11, 30, 59, 0 }, { -13, -13, 11, 30, 59, 0 }, + { -14, -13, 12, 30, 59, 0 }, { -15, -14, 12, 30, 59, 0 }, { -16, -14, 12, 30, 59, 0 }, { -17, -14, 12, 30, 59, 0 }, { -18, -15, 12, 30, 59, 0 }, + { -19, -15, 13, 30, 59, 0 }, { -20, -15, 13, 31, 59, 0 }, { -21, -15, 13, 31, 59, 0 }, { -22, -15, 13, 31, 59, 0 }, { -23, -15, 14, 31, 59, 0 }, + { -24, -16, 14, 31, 59, 0 }, { -25, -16, 14, 31, 59, 0 }, { -26, -16, 14, 31, 59, 0 }, { -27, -16, 14, 31, 59, 0 }, { -28, -16, 15, 0, 59, 0 }, + { -29, -16, 15, 0, 59, 0 }, { -30, -16, 15, 0, 59, 0 }, { -31, -16, 15, 0, 59, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94F14E = { - 192, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 15, 0, 0, 0, 0 }, { 25, 15, 0, 0, 0, 0 }, { 24, 14, 0, 0, 0, 0 }, { 23, 14, 0, 0, 0, 0 }, { 22, 13, 0, 0, 0, 0 }, - { 21, 13, 0, 0, 0, 0 }, { 20, 12, 0, 0, 0, 0 }, { 19, 11, 0, 0, 0, 0 }, { 18, 11, 0, 0, 0, 0 }, { 17, 10, 0, 0, 0, 0 }, - { 16, 9, 0, 0, 0, 0 }, { 15, 9, 0, 0, 0, 0 }, { 14, 8, 0, 0, 0, 0 }, { 13, 8, 0, 0, 0, 0 }, { 12, 7, 0, 0, 0, 0 }, - { 11, 7, 0, 0, 0, 0 }, { 10, 6, 0, 0, 0, 0 }, { 9, 6, 0, 0, 0, 0 }, { 8, 6, 0, 0, 0, 0 }, { 7, 5, 0, 0, 0, 0 }, - { 6, 5, 0, 0, 0, 0 }, { 5, 4, 0, 0, 0, 0 }, { 4, 4, 0, 0, 0, 0 }, { 3, 4, 0, 0, 0, 0 }, { 2, 3, 0, 0, 0, 0 }, - { 1, 3, 0, 0, 0, 0 }, { 0, 3, 0, 0, 0, 0 }, { -1, 2, 0, 0, 0, 0 }, { -2, 2, 0, 0, 0, 0 }, { -3, 2, 0, 0, 0, 0 }, - { -4, 2, 0, 0, 0, 0 }, { -5, 2, 0, 0, 0, 0 }, { -6, 1, 0, 0, 0, 0 }, { -7, 1, 0, 0, 0, 0 }, { -8, 1, 0, 0, 0, 0 }, - { -9, 1, 0, 0, 0, 0 }, { -10, 1, 0, 0, 0, 0 }, { -11, 0, 0, 0, 0, 0 }, { -12, 0, 0, 0, 0, 0 }, { -13, 0, 0, 0, 0, 0 }, - { -14, 0, 0, 0, 0, 0 }, { -15, 0, 0, 0, 0, 0 }, { -16, 0, 0, 0, 0, 0 }, { -17, 0, 0, 0, 0, 0 }, { -18, 0, 0, 0, 0, 0 }, - { -19, 0, 0, 0, 0, 0 }, { -20, 0, 0, 0, 0, 0 }, { -21, 0, 0, 0, 0, 0 }, { -22, 0, 0, 0, 0, 0 }, { -23, 1, 0, 0, 0, 0 }, - { -24, 1, 0, 0, 0, 0 }, { -25, 1, 0, 0, 0, 0 }, { -26, 1, 0, 0, 0, 0 }, { -27, 1, 0, 0, 0, 0 }, { -28, 2, 0, 0, 0, 0 }, - { -29, 2, 0, 0, 0, 0 }, { -30, 2, 0, 0, 0, 0 }, { -31, 2, 0, 0, 0, 0 }, { -32, 2, 0, 0, 0, 0 }, { -33, 3, 0, 0, 0, 0 }, - { -34, 3, 0, 0, 0, 0 }, { -35, 3, 0, 0, 0, 0 }, { -36, 4, 0, 0, 0, 0 }, { -37, 4, 0, 0, 0, 0 }, { -38, 4, 0, 0, 0, 0 }, - { -39, 5, 0, 0, 0, 0 }, { -40, 5, 0, 0, 0, 0 }, { -41, 6, 0, 0, 0, 0 }, { -42, 6, 0, 0, 0, 0 }, { -43, 6, 0, 0, 0, 0 }, - { -44, 7, 0, 0, 0, 0 }, { -45, 7, 0, 0, 0, 0 }, { -46, 8, 0, 0, 0, 0 }, { -47, 8, 0, 0, 0, 0 }, { -48, 9, 0, 0, 0, 0 }, - { -49, 9, 0, 0, 0, 0 }, { -50, 10, 0, 0, 0, 0 }, { -51, 11, 0, 0, 0, 0 }, { -52, 11, 0, 0, 0, 0 }, { -53, 12, 0, 0, 0, 0 }, - { -54, 13, 0, 0, 0, 0 }, { -55, 13, 0, 0, 0, 0 }, { -56, 14, 0, 0, 0, 0 }, { -57, 14, 0, 0, 0, 0 }, { -58, 15, 0, 0, 0, 0 }, - { -59, 15, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, { -63, 16, 0, 0, 0, 0 }, - { -64, 16, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, - { 22, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, - { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, - { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, - { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -2, 16, 0, 0, 0, 0 }, - { -3, 16, 0, 0, 0, 0 }, { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, - { -8, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, - { -13, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, - { -18, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, - { -23, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, - { -28, 16, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -30, 16, 0, 0, 0, 0 }, { -31, 16, 0, 0, 0, 0 }, { -32, 16, 0, 0, 0, 0 }, - { -33, 16, 0, 0, 0, 0 }, { -34, 16, 0, 0, 0, 0 }, { -35, 16, 0, 0, 0, 0 }, { -36, 16, 0, 0, 0, 0 }, { -37, 16, 0, 0, 0, 0 }, - { -38, 16, 0, 0, 0, 0 }, { -39, 16, 0, 0, 0, 0 }, { -40, 16, 0, 0, 0, 0 }, { -41, 16, 0, 0, 0, 0 }, { -42, 16, 0, 0, 0, 0 }, - { -43, 16, 0, 0, 0, 0 }, { -44, 16, 0, 0, 0, 0 }, { -45, 16, 0, 0, 0, 0 }, { -46, 16, 0, 0, 0, 0 }, { -47, 16, 0, 0, 0, 0 }, - { -48, 16, 0, 0, 0, 0 }, { -49, 16, 0, 0, 0, 0 }, { -50, 16, 0, 0, 0, 0 }, { -51, 16, 0, 0, 0, 0 }, { -52, 16, 0, 0, 0, 0 }, - { -53, 16, 0, 0, 0, 0 }, { -54, 16, 0, 0, 0, 0 }, { -55, 16, 0, 0, 0, 0 }, { -56, 16, 0, 0, 0, 0 }, { -57, 16, 0, 0, 0, 0 }, - { -58, 16, 0, 0, 0, 0 }, { -59, 16, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, - { -63, 16, 0, 0, 0, 0 }, { -64, 16, 0, 0, 0, 0 }, + 192, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 15, 0, 0, 0, 0 }, { 25, 15, 0, 0, 0, 0 }, { 24, 14, 0, 0, 0, 0 }, { 23, 14, 0, 0, 0, 0 }, { 22, 13, 0, 0, 0, 0 }, + { 21, 13, 0, 0, 0, 0 }, { 20, 12, 0, 0, 0, 0 }, { 19, 11, 0, 0, 0, 0 }, { 18, 11, 0, 0, 0, 0 }, { 17, 10, 0, 0, 0, 0 }, + { 16, 9, 0, 0, 0, 0 }, { 15, 9, 0, 0, 0, 0 }, { 14, 8, 0, 0, 0, 0 }, { 13, 8, 0, 0, 0, 0 }, { 12, 7, 0, 0, 0, 0 }, + { 11, 7, 0, 0, 0, 0 }, { 10, 6, 0, 0, 0, 0 }, { 9, 6, 0, 0, 0, 0 }, { 8, 6, 0, 0, 0, 0 }, { 7, 5, 0, 0, 0, 0 }, + { 6, 5, 0, 0, 0, 0 }, { 5, 4, 0, 0, 0, 0 }, { 4, 4, 0, 0, 0, 0 }, { 3, 4, 0, 0, 0, 0 }, { 2, 3, 0, 0, 0, 0 }, + { 1, 3, 0, 0, 0, 0 }, { 0, 3, 0, 0, 0, 0 }, { -1, 2, 0, 0, 0, 0 }, { -2, 2, 0, 0, 0, 0 }, { -3, 2, 0, 0, 0, 0 }, + { -4, 2, 0, 0, 0, 0 }, { -5, 2, 0, 0, 0, 0 }, { -6, 1, 0, 0, 0, 0 }, { -7, 1, 0, 0, 0, 0 }, { -8, 1, 0, 0, 0, 0 }, + { -9, 1, 0, 0, 0, 0 }, { -10, 1, 0, 0, 0, 0 }, { -11, 0, 0, 0, 0, 0 }, { -12, 0, 0, 0, 0, 0 }, { -13, 0, 0, 0, 0, 0 }, + { -14, 0, 0, 0, 0, 0 }, { -15, 0, 0, 0, 0, 0 }, { -16, 0, 0, 0, 0, 0 }, { -17, 0, 0, 0, 0, 0 }, { -18, 0, 0, 0, 0, 0 }, + { -19, 0, 0, 0, 0, 0 }, { -20, 0, 0, 0, 0, 0 }, { -21, 0, 0, 0, 0, 0 }, { -22, 0, 0, 0, 0, 0 }, { -23, 1, 0, 0, 0, 0 }, + { -24, 1, 0, 0, 0, 0 }, { -25, 1, 0, 0, 0, 0 }, { -26, 1, 0, 0, 0, 0 }, { -27, 1, 0, 0, 0, 0 }, { -28, 2, 0, 0, 0, 0 }, + { -29, 2, 0, 0, 0, 0 }, { -30, 2, 0, 0, 0, 0 }, { -31, 2, 0, 0, 0, 0 }, { -32, 2, 0, 0, 0, 0 }, { -33, 3, 0, 0, 0, 0 }, + { -34, 3, 0, 0, 0, 0 }, { -35, 3, 0, 0, 0, 0 }, { -36, 4, 0, 0, 0, 0 }, { -37, 4, 0, 0, 0, 0 }, { -38, 4, 0, 0, 0, 0 }, + { -39, 5, 0, 0, 0, 0 }, { -40, 5, 0, 0, 0, 0 }, { -41, 6, 0, 0, 0, 0 }, { -42, 6, 0, 0, 0, 0 }, { -43, 6, 0, 0, 0, 0 }, + { -44, 7, 0, 0, 0, 0 }, { -45, 7, 0, 0, 0, 0 }, { -46, 8, 0, 0, 0, 0 }, { -47, 8, 0, 0, 0, 0 }, { -48, 9, 0, 0, 0, 0 }, + { -49, 9, 0, 0, 0, 0 }, { -50, 10, 0, 0, 0, 0 }, { -51, 11, 0, 0, 0, 0 }, { -52, 11, 0, 0, 0, 0 }, { -53, 12, 0, 0, 0, 0 }, + { -54, 13, 0, 0, 0, 0 }, { -55, 13, 0, 0, 0, 0 }, { -56, 14, 0, 0, 0, 0 }, { -57, 14, 0, 0, 0, 0 }, { -58, 15, 0, 0, 0, 0 }, + { -59, 15, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, { -63, 16, 0, 0, 0, 0 }, + { -64, 16, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, + { 22, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, + { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, + { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, + { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -2, 16, 0, 0, 0, 0 }, + { -3, 16, 0, 0, 0, 0 }, { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, + { -8, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, + { -13, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, + { -18, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, + { -23, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, + { -28, 16, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -30, 16, 0, 0, 0, 0 }, { -31, 16, 0, 0, 0, 0 }, { -32, 16, 0, 0, 0, 0 }, + { -33, 16, 0, 0, 0, 0 }, { -34, 16, 0, 0, 0, 0 }, { -35, 16, 0, 0, 0, 0 }, { -36, 16, 0, 0, 0, 0 }, { -37, 16, 0, 0, 0, 0 }, + { -38, 16, 0, 0, 0, 0 }, { -39, 16, 0, 0, 0, 0 }, { -40, 16, 0, 0, 0, 0 }, { -41, 16, 0, 0, 0, 0 }, { -42, 16, 0, 0, 0, 0 }, + { -43, 16, 0, 0, 0, 0 }, { -44, 16, 0, 0, 0, 0 }, { -45, 16, 0, 0, 0, 0 }, { -46, 16, 0, 0, 0, 0 }, { -47, 16, 0, 0, 0, 0 }, + { -48, 16, 0, 0, 0, 0 }, { -49, 16, 0, 0, 0, 0 }, { -50, 16, 0, 0, 0, 0 }, { -51, 16, 0, 0, 0, 0 }, { -52, 16, 0, 0, 0, 0 }, + { -53, 16, 0, 0, 0, 0 }, { -54, 16, 0, 0, 0, 0 }, { -55, 16, 0, 0, 0, 0 }, { -56, 16, 0, 0, 0, 0 }, { -57, 16, 0, 0, 0, 0 }, + { -58, 16, 0, 0, 0, 0 }, { -59, 16, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, + { -63, 16, 0, 0, 0, 0 }, { -64, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94F810 = { - 192, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 15, 5, 0, 8, 0, 0 }, { 15, 6, 0, 8, 0, 0 }, { 14, 7, 0, 8, 0, 0 }, { 14, 8, 0, 8, 0, 0 }, { 13, 9, 0, 8, 0, 0 }, - { 13, 10, 0, 8, 0, 0 }, { 12, 11, 0, 8, 0, 0 }, { 11, 12, 0, 8, 0, 0 }, { 11, 13, 0, 8, 0, 0 }, { 10, 14, 0, 8, 0, 0 }, - { 9, 15, 0, 8, 0, 0 }, { 9, 16, 0, 8, 0, 0 }, { 8, 17, 0, 8, 0, 0 }, { 8, 18, 0, 8, 0, 0 }, { 7, 19, 0, 8, 0, 0 }, - { 7, 20, 0, 8, 0, 0 }, { 6, 21, 0, 8, 0, 0 }, { 6, 22, 0, 8, 0, 0 }, { 6, 23, 0, 8, 0, 0 }, { 5, 24, 0, 8, 0, 0 }, - { 5, 25, 0, 8, 0, 0 }, { 4, 26, 0, 8, 0, 0 }, { 4, 27, 0, 8, 0, 0 }, { 4, 28, 0, 8, 0, 0 }, { 3, 29, 0, 8, 0, 0 }, - { 3, 30, 0, 8, 0, 0 }, { 3, 31, 0, 8, 0, 0 }, { 2, 32, 0, 8, 0, 0 }, { 2, 33, 0, 8, 0, 0 }, { 2, 34, 0, 8, 0, 0 }, - { 2, 35, 0, 8, 0, 0 }, { 2, 36, 0, 8, 0, 0 }, { 1, 37, 0, 8, 0, 0 }, { 1, 38, 0, 8, 0, 0 }, { 1, 39, 0, 8, 0, 0 }, - { 1, 40, 0, 8, 0, 0 }, { 1, 41, 0, 8, 0, 0 }, { 0, 42, 0, 8, 0, 0 }, { 0, 43, 0, 8, 0, 0 }, { 0, 44, 0, 8, 0, 0 }, - { 0, 45, 0, 8, 0, 0 }, { 0, 46, 0, 8, 0, 0 }, { 0, 47, 0, 8, 0, 0 }, { 0, 48, 0, 8, 0, 0 }, { 0, 49, 0, 8, 0, 0 }, - { 0, 50, 0, 8, 0, 0 }, { 0, 51, 0, 8, 0, 0 }, { 0, 52, 0, 8, 0, 0 }, { 0, 53, 0, 8, 0, 0 }, { 1, 54, 0, 8, 0, 0 }, - { 1, 55, 0, 8, 0, 0 }, { 1, 56, 0, 8, 0, 0 }, { 1, 57, 0, 8, 0, 0 }, { 1, 58, 0, 8, 0, 0 }, { 2, 59, 0, 8, 0, 0 }, - { 2, 60, 0, 8, 0, 0 }, { 2, 61, 0, 8, 0, 0 }, { 2, 62, 0, 8, 0, 0 }, { 2, 63, 0, 8, 0, 0 }, { 3, 64, 0, 8, 0, 0 }, - { 3, 65, 0, 8, 0, 0 }, { 3, 66, 0, 8, 0, 0 }, { 4, 67, 0, 8, 0, 0 }, { 4, 68, 0, 8, 0, 0 }, { 4, 69, 0, 8, 0, 0 }, - { 5, 70, 0, 8, 0, 0 }, { 5, 71, 0, 8, 0, 0 }, { 6, 72, 0, 8, 0, 0 }, { 6, 73, 0, 8, 0, 0 }, { 6, 74, 0, 8, 0, 0 }, - { 7, 75, 0, 8, 0, 0 }, { 7, 76, 0, 8, 0, 0 }, { 8, 77, 0, 8, 0, 0 }, { 8, 78, 0, 8, 0, 0 }, { 9, 79, 0, 8, 0, 0 }, - { 9, 80, 0, 8, 0, 0 }, { 10, 81, 0, 8, 0, 0 }, { 11, 82, 0, 8, 0, 0 }, { 11, 83, 0, 8, 0, 0 }, { 12, 84, 0, 8, 0, 0 }, - { 13, 85, 0, 8, 0, 0 }, { 13, 86, 0, 8, 0, 0 }, { 14, 87, 0, 8, 0, 0 }, { 14, 88, 0, 8, 0, 0 }, { 15, 89, 0, 8, 0, 0 }, - { 15, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, { 16, 94, 0, 8, 0, 0 }, - { 16, 95, 0, 8, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, - { 16, 9, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, - { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, - { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, - { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 33, 0, 8, 0, 0 }, - { 16, 34, 0, 8, 0, 0 }, { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, - { 16, 39, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, - { 16, 44, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, - { 16, 49, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, - { 16, 54, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, - { 16, 59, 0, 8, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { 16, 61, 0, 8, 0, 0 }, { 16, 62, 0, 8, 0, 0 }, { 16, 63, 0, 8, 0, 0 }, - { 16, 64, 0, 8, 0, 0 }, { 16, 65, 0, 8, 0, 0 }, { 16, 66, 0, 8, 0, 0 }, { 16, 67, 0, 8, 0, 0 }, { 16, 68, 0, 8, 0, 0 }, - { 16, 69, 0, 8, 0, 0 }, { 16, 70, 0, 8, 0, 0 }, { 16, 71, 0, 8, 0, 0 }, { 16, 72, 0, 8, 0, 0 }, { 16, 73, 0, 8, 0, 0 }, - { 16, 74, 0, 8, 0, 0 }, { 16, 75, 0, 8, 0, 0 }, { 16, 76, 0, 8, 0, 0 }, { 16, 77, 0, 8, 0, 0 }, { 16, 78, 0, 8, 0, 0 }, - { 16, 79, 0, 8, 0, 0 }, { 16, 80, 0, 8, 0, 0 }, { 16, 81, 0, 8, 0, 0 }, { 16, 82, 0, 8, 0, 0 }, { 16, 83, 0, 8, 0, 0 }, - { 16, 84, 0, 8, 0, 0 }, { 16, 85, 0, 8, 0, 0 }, { 16, 86, 0, 8, 0, 0 }, { 16, 87, 0, 8, 0, 0 }, { 16, 88, 0, 8, 0, 0 }, - { 16, 89, 0, 8, 0, 0 }, { 16, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, - { 16, 94, 0, 8, 0, 0 }, { 16, 95, 0, 8, 0, 0 }, + 192, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 15, 5, 0, 8, 0, 0 }, { 15, 6, 0, 8, 0, 0 }, { 14, 7, 0, 8, 0, 0 }, { 14, 8, 0, 8, 0, 0 }, { 13, 9, 0, 8, 0, 0 }, + { 13, 10, 0, 8, 0, 0 }, { 12, 11, 0, 8, 0, 0 }, { 11, 12, 0, 8, 0, 0 }, { 11, 13, 0, 8, 0, 0 }, { 10, 14, 0, 8, 0, 0 }, + { 9, 15, 0, 8, 0, 0 }, { 9, 16, 0, 8, 0, 0 }, { 8, 17, 0, 8, 0, 0 }, { 8, 18, 0, 8, 0, 0 }, { 7, 19, 0, 8, 0, 0 }, + { 7, 20, 0, 8, 0, 0 }, { 6, 21, 0, 8, 0, 0 }, { 6, 22, 0, 8, 0, 0 }, { 6, 23, 0, 8, 0, 0 }, { 5, 24, 0, 8, 0, 0 }, + { 5, 25, 0, 8, 0, 0 }, { 4, 26, 0, 8, 0, 0 }, { 4, 27, 0, 8, 0, 0 }, { 4, 28, 0, 8, 0, 0 }, { 3, 29, 0, 8, 0, 0 }, + { 3, 30, 0, 8, 0, 0 }, { 3, 31, 0, 8, 0, 0 }, { 2, 32, 0, 8, 0, 0 }, { 2, 33, 0, 8, 0, 0 }, { 2, 34, 0, 8, 0, 0 }, + { 2, 35, 0, 8, 0, 0 }, { 2, 36, 0, 8, 0, 0 }, { 1, 37, 0, 8, 0, 0 }, { 1, 38, 0, 8, 0, 0 }, { 1, 39, 0, 8, 0, 0 }, + { 1, 40, 0, 8, 0, 0 }, { 1, 41, 0, 8, 0, 0 }, { 0, 42, 0, 8, 0, 0 }, { 0, 43, 0, 8, 0, 0 }, { 0, 44, 0, 8, 0, 0 }, + { 0, 45, 0, 8, 0, 0 }, { 0, 46, 0, 8, 0, 0 }, { 0, 47, 0, 8, 0, 0 }, { 0, 48, 0, 8, 0, 0 }, { 0, 49, 0, 8, 0, 0 }, + { 0, 50, 0, 8, 0, 0 }, { 0, 51, 0, 8, 0, 0 }, { 0, 52, 0, 8, 0, 0 }, { 0, 53, 0, 8, 0, 0 }, { 1, 54, 0, 8, 0, 0 }, + { 1, 55, 0, 8, 0, 0 }, { 1, 56, 0, 8, 0, 0 }, { 1, 57, 0, 8, 0, 0 }, { 1, 58, 0, 8, 0, 0 }, { 2, 59, 0, 8, 0, 0 }, + { 2, 60, 0, 8, 0, 0 }, { 2, 61, 0, 8, 0, 0 }, { 2, 62, 0, 8, 0, 0 }, { 2, 63, 0, 8, 0, 0 }, { 3, 64, 0, 8, 0, 0 }, + { 3, 65, 0, 8, 0, 0 }, { 3, 66, 0, 8, 0, 0 }, { 4, 67, 0, 8, 0, 0 }, { 4, 68, 0, 8, 0, 0 }, { 4, 69, 0, 8, 0, 0 }, + { 5, 70, 0, 8, 0, 0 }, { 5, 71, 0, 8, 0, 0 }, { 6, 72, 0, 8, 0, 0 }, { 6, 73, 0, 8, 0, 0 }, { 6, 74, 0, 8, 0, 0 }, + { 7, 75, 0, 8, 0, 0 }, { 7, 76, 0, 8, 0, 0 }, { 8, 77, 0, 8, 0, 0 }, { 8, 78, 0, 8, 0, 0 }, { 9, 79, 0, 8, 0, 0 }, + { 9, 80, 0, 8, 0, 0 }, { 10, 81, 0, 8, 0, 0 }, { 11, 82, 0, 8, 0, 0 }, { 11, 83, 0, 8, 0, 0 }, { 12, 84, 0, 8, 0, 0 }, + { 13, 85, 0, 8, 0, 0 }, { 13, 86, 0, 8, 0, 0 }, { 14, 87, 0, 8, 0, 0 }, { 14, 88, 0, 8, 0, 0 }, { 15, 89, 0, 8, 0, 0 }, + { 15, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, { 16, 94, 0, 8, 0, 0 }, + { 16, 95, 0, 8, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, + { 16, 9, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, + { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, + { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, + { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 33, 0, 8, 0, 0 }, + { 16, 34, 0, 8, 0, 0 }, { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, + { 16, 39, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, + { 16, 44, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, + { 16, 49, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, + { 16, 54, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, + { 16, 59, 0, 8, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { 16, 61, 0, 8, 0, 0 }, { 16, 62, 0, 8, 0, 0 }, { 16, 63, 0, 8, 0, 0 }, + { 16, 64, 0, 8, 0, 0 }, { 16, 65, 0, 8, 0, 0 }, { 16, 66, 0, 8, 0, 0 }, { 16, 67, 0, 8, 0, 0 }, { 16, 68, 0, 8, 0, 0 }, + { 16, 69, 0, 8, 0, 0 }, { 16, 70, 0, 8, 0, 0 }, { 16, 71, 0, 8, 0, 0 }, { 16, 72, 0, 8, 0, 0 }, { 16, 73, 0, 8, 0, 0 }, + { 16, 74, 0, 8, 0, 0 }, { 16, 75, 0, 8, 0, 0 }, { 16, 76, 0, 8, 0, 0 }, { 16, 77, 0, 8, 0, 0 }, { 16, 78, 0, 8, 0, 0 }, + { 16, 79, 0, 8, 0, 0 }, { 16, 80, 0, 8, 0, 0 }, { 16, 81, 0, 8, 0, 0 }, { 16, 82, 0, 8, 0, 0 }, { 16, 83, 0, 8, 0, 0 }, + { 16, 84, 0, 8, 0, 0 }, { 16, 85, 0, 8, 0, 0 }, { 16, 86, 0, 8, 0, 0 }, { 16, 87, 0, 8, 0, 0 }, { 16, 88, 0, 8, 0, 0 }, + { 16, 89, 0, 8, 0, 0 }, { 16, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, + { 16, 94, 0, 8, 0, 0 }, { 16, 95, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94FED2 = { - 192, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 17, 0, 16, 0, 0 }, { 6, 17, 0, 16, 0, 0 }, { 7, 18, 0, 16, 0, 0 }, { 8, 18, 0, 16, 0, 0 }, { 9, 19, 0, 16, 0, 0 }, - { 10, 19, 0, 16, 0, 0 }, { 11, 20, 0, 16, 0, 0 }, { 12, 21, 0, 16, 0, 0 }, { 13, 21, 0, 16, 0, 0 }, { 14, 22, 0, 16, 0, 0 }, - { 15, 23, 0, 16, 0, 0 }, { 16, 23, 0, 16, 0, 0 }, { 17, 24, 0, 16, 0, 0 }, { 18, 24, 0, 16, 0, 0 }, { 19, 25, 0, 16, 0, 0 }, - { 20, 25, 0, 16, 0, 0 }, { 21, 26, 0, 16, 0, 0 }, { 22, 26, 0, 16, 0, 0 }, { 23, 26, 0, 16, 0, 0 }, { 24, 27, 0, 16, 0, 0 }, - { 25, 27, 0, 16, 0, 0 }, { 26, 28, 0, 16, 0, 0 }, { 27, 28, 0, 16, 0, 0 }, { 28, 28, 0, 16, 0, 0 }, { 29, 29, 0, 16, 0, 0 }, - { 30, 29, 0, 16, 0, 0 }, { 31, 29, 0, 16, 0, 0 }, { 32, 30, 0, 16, 0, 0 }, { 33, 30, 0, 16, 0, 0 }, { 34, 30, 0, 16, 0, 0 }, - { 35, 30, 0, 16, 0, 0 }, { 36, 30, 0, 16, 0, 0 }, { 37, 31, 0, 16, 0, 0 }, { 38, 31, 0, 16, 0, 0 }, { 39, 31, 0, 16, 0, 0 }, - { 40, 31, 0, 16, 0, 0 }, { 41, 31, 0, 16, 0, 0 }, { 42, 32, 0, 16, 0, 0 }, { 43, 32, 0, 16, 0, 0 }, { 44, 32, 0, 16, 0, 0 }, - { 45, 32, 0, 16, 0, 0 }, { 46, 32, 0, 16, 0, 0 }, { 47, 32, 0, 16, 0, 0 }, { 48, 32, 0, 16, 0, 0 }, { 49, 32, 0, 16, 0, 0 }, - { 50, 32, 0, 16, 0, 0 }, { 51, 32, 0, 16, 0, 0 }, { 52, 32, 0, 16, 0, 0 }, { 53, 32, 0, 16, 0, 0 }, { 54, 31, 0, 16, 0, 0 }, - { 55, 31, 0, 16, 0, 0 }, { 56, 31, 0, 16, 0, 0 }, { 57, 31, 0, 16, 0, 0 }, { 58, 31, 0, 16, 0, 0 }, { 59, 30, 0, 16, 0, 0 }, - { 60, 30, 0, 16, 0, 0 }, { 61, 30, 0, 16, 0, 0 }, { 62, 30, 0, 16, 0, 0 }, { 63, 30, 0, 16, 0, 0 }, { 64, 29, 0, 16, 0, 0 }, - { 65, 29, 0, 16, 0, 0 }, { 66, 29, 0, 16, 0, 0 }, { 67, 28, 0, 16, 0, 0 }, { 68, 28, 0, 16, 0, 0 }, { 69, 28, 0, 16, 0, 0 }, - { 70, 27, 0, 16, 0, 0 }, { 71, 27, 0, 16, 0, 0 }, { 72, 26, 0, 16, 0, 0 }, { 73, 26, 0, 16, 0, 0 }, { 74, 26, 0, 16, 0, 0 }, - { 75, 25, 0, 16, 0, 0 }, { 76, 25, 0, 16, 0, 0 }, { 77, 24, 0, 16, 0, 0 }, { 78, 24, 0, 16, 0, 0 }, { 79, 23, 0, 16, 0, 0 }, - { 80, 23, 0, 16, 0, 0 }, { 81, 22, 0, 16, 0, 0 }, { 82, 21, 0, 16, 0, 0 }, { 83, 21, 0, 16, 0, 0 }, { 84, 20, 0, 16, 0, 0 }, - { 85, 19, 0, 16, 0, 0 }, { 86, 19, 0, 16, 0, 0 }, { 87, 18, 0, 16, 0, 0 }, { 88, 18, 0, 16, 0, 0 }, { 89, 17, 0, 16, 0, 0 }, - { 90, 17, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, { 94, 16, 0, 16, 0, 0 }, - { 95, 16, 0, 16, 0, 0 }, { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, - { 4, 16, 0, 16, 0, 0 }, { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, - { 9, 16, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, - { 14, 16, 0, 16, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, - { 19, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, - { 24, 16, 0, 16, 0, 0 }, { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, - { 29, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, { 32, 16, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, - { 34, 16, 0, 16, 0, 0 }, { 35, 16, 0, 16, 0, 0 }, { 36, 16, 0, 16, 0, 0 }, { 37, 16, 0, 16, 0, 0 }, { 38, 16, 0, 16, 0, 0 }, - { 39, 16, 0, 16, 0, 0 }, { 40, 16, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 42, 16, 0, 16, 0, 0 }, { 43, 16, 0, 16, 0, 0 }, - { 44, 16, 0, 16, 0, 0 }, { 45, 16, 0, 16, 0, 0 }, { 46, 16, 0, 16, 0, 0 }, { 47, 16, 0, 16, 0, 0 }, { 48, 16, 0, 16, 0, 0 }, - { 49, 16, 0, 16, 0, 0 }, { 50, 16, 0, 16, 0, 0 }, { 51, 16, 0, 16, 0, 0 }, { 52, 16, 0, 16, 0, 0 }, { 53, 16, 0, 16, 0, 0 }, - { 54, 16, 0, 16, 0, 0 }, { 55, 16, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, - { 59, 16, 0, 16, 0, 0 }, { 60, 16, 0, 16, 0, 0 }, { 61, 16, 0, 16, 0, 0 }, { 62, 16, 0, 16, 0, 0 }, { 63, 16, 0, 16, 0, 0 }, - { 64, 16, 0, 16, 0, 0 }, { 65, 16, 0, 16, 0, 0 }, { 66, 16, 0, 16, 0, 0 }, { 67, 16, 0, 16, 0, 0 }, { 68, 16, 0, 16, 0, 0 }, - { 69, 16, 0, 16, 0, 0 }, { 70, 16, 0, 16, 0, 0 }, { 71, 16, 0, 16, 0, 0 }, { 72, 16, 0, 16, 0, 0 }, { 73, 16, 0, 16, 0, 0 }, - { 74, 16, 0, 16, 0, 0 }, { 75, 16, 0, 16, 0, 0 }, { 76, 16, 0, 16, 0, 0 }, { 77, 16, 0, 16, 0, 0 }, { 78, 16, 0, 16, 0, 0 }, - { 79, 16, 0, 16, 0, 0 }, { 80, 16, 0, 16, 0, 0 }, { 81, 16, 0, 16, 0, 0 }, { 82, 16, 0, 16, 0, 0 }, { 83, 16, 0, 16, 0, 0 }, - { 84, 16, 0, 16, 0, 0 }, { 85, 16, 0, 16, 0, 0 }, { 86, 16, 0, 16, 0, 0 }, { 87, 16, 0, 16, 0, 0 }, { 88, 16, 0, 16, 0, 0 }, - { 89, 16, 0, 16, 0, 0 }, { 90, 16, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, - { 94, 16, 0, 16, 0, 0 }, { 95, 16, 0, 16, 0, 0 }, + 192, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 17, 0, 16, 0, 0 }, { 6, 17, 0, 16, 0, 0 }, { 7, 18, 0, 16, 0, 0 }, { 8, 18, 0, 16, 0, 0 }, { 9, 19, 0, 16, 0, 0 }, + { 10, 19, 0, 16, 0, 0 }, { 11, 20, 0, 16, 0, 0 }, { 12, 21, 0, 16, 0, 0 }, { 13, 21, 0, 16, 0, 0 }, { 14, 22, 0, 16, 0, 0 }, + { 15, 23, 0, 16, 0, 0 }, { 16, 23, 0, 16, 0, 0 }, { 17, 24, 0, 16, 0, 0 }, { 18, 24, 0, 16, 0, 0 }, { 19, 25, 0, 16, 0, 0 }, + { 20, 25, 0, 16, 0, 0 }, { 21, 26, 0, 16, 0, 0 }, { 22, 26, 0, 16, 0, 0 }, { 23, 26, 0, 16, 0, 0 }, { 24, 27, 0, 16, 0, 0 }, + { 25, 27, 0, 16, 0, 0 }, { 26, 28, 0, 16, 0, 0 }, { 27, 28, 0, 16, 0, 0 }, { 28, 28, 0, 16, 0, 0 }, { 29, 29, 0, 16, 0, 0 }, + { 30, 29, 0, 16, 0, 0 }, { 31, 29, 0, 16, 0, 0 }, { 32, 30, 0, 16, 0, 0 }, { 33, 30, 0, 16, 0, 0 }, { 34, 30, 0, 16, 0, 0 }, + { 35, 30, 0, 16, 0, 0 }, { 36, 30, 0, 16, 0, 0 }, { 37, 31, 0, 16, 0, 0 }, { 38, 31, 0, 16, 0, 0 }, { 39, 31, 0, 16, 0, 0 }, + { 40, 31, 0, 16, 0, 0 }, { 41, 31, 0, 16, 0, 0 }, { 42, 32, 0, 16, 0, 0 }, { 43, 32, 0, 16, 0, 0 }, { 44, 32, 0, 16, 0, 0 }, + { 45, 32, 0, 16, 0, 0 }, { 46, 32, 0, 16, 0, 0 }, { 47, 32, 0, 16, 0, 0 }, { 48, 32, 0, 16, 0, 0 }, { 49, 32, 0, 16, 0, 0 }, + { 50, 32, 0, 16, 0, 0 }, { 51, 32, 0, 16, 0, 0 }, { 52, 32, 0, 16, 0, 0 }, { 53, 32, 0, 16, 0, 0 }, { 54, 31, 0, 16, 0, 0 }, + { 55, 31, 0, 16, 0, 0 }, { 56, 31, 0, 16, 0, 0 }, { 57, 31, 0, 16, 0, 0 }, { 58, 31, 0, 16, 0, 0 }, { 59, 30, 0, 16, 0, 0 }, + { 60, 30, 0, 16, 0, 0 }, { 61, 30, 0, 16, 0, 0 }, { 62, 30, 0, 16, 0, 0 }, { 63, 30, 0, 16, 0, 0 }, { 64, 29, 0, 16, 0, 0 }, + { 65, 29, 0, 16, 0, 0 }, { 66, 29, 0, 16, 0, 0 }, { 67, 28, 0, 16, 0, 0 }, { 68, 28, 0, 16, 0, 0 }, { 69, 28, 0, 16, 0, 0 }, + { 70, 27, 0, 16, 0, 0 }, { 71, 27, 0, 16, 0, 0 }, { 72, 26, 0, 16, 0, 0 }, { 73, 26, 0, 16, 0, 0 }, { 74, 26, 0, 16, 0, 0 }, + { 75, 25, 0, 16, 0, 0 }, { 76, 25, 0, 16, 0, 0 }, { 77, 24, 0, 16, 0, 0 }, { 78, 24, 0, 16, 0, 0 }, { 79, 23, 0, 16, 0, 0 }, + { 80, 23, 0, 16, 0, 0 }, { 81, 22, 0, 16, 0, 0 }, { 82, 21, 0, 16, 0, 0 }, { 83, 21, 0, 16, 0, 0 }, { 84, 20, 0, 16, 0, 0 }, + { 85, 19, 0, 16, 0, 0 }, { 86, 19, 0, 16, 0, 0 }, { 87, 18, 0, 16, 0, 0 }, { 88, 18, 0, 16, 0, 0 }, { 89, 17, 0, 16, 0, 0 }, + { 90, 17, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, { 94, 16, 0, 16, 0, 0 }, + { 95, 16, 0, 16, 0, 0 }, { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, + { 4, 16, 0, 16, 0, 0 }, { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, + { 9, 16, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, + { 14, 16, 0, 16, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, + { 19, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, + { 24, 16, 0, 16, 0, 0 }, { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, + { 29, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, { 32, 16, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, + { 34, 16, 0, 16, 0, 0 }, { 35, 16, 0, 16, 0, 0 }, { 36, 16, 0, 16, 0, 0 }, { 37, 16, 0, 16, 0, 0 }, { 38, 16, 0, 16, 0, 0 }, + { 39, 16, 0, 16, 0, 0 }, { 40, 16, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 42, 16, 0, 16, 0, 0 }, { 43, 16, 0, 16, 0, 0 }, + { 44, 16, 0, 16, 0, 0 }, { 45, 16, 0, 16, 0, 0 }, { 46, 16, 0, 16, 0, 0 }, { 47, 16, 0, 16, 0, 0 }, { 48, 16, 0, 16, 0, 0 }, + { 49, 16, 0, 16, 0, 0 }, { 50, 16, 0, 16, 0, 0 }, { 51, 16, 0, 16, 0, 0 }, { 52, 16, 0, 16, 0, 0 }, { 53, 16, 0, 16, 0, 0 }, + { 54, 16, 0, 16, 0, 0 }, { 55, 16, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, + { 59, 16, 0, 16, 0, 0 }, { 60, 16, 0, 16, 0, 0 }, { 61, 16, 0, 16, 0, 0 }, { 62, 16, 0, 16, 0, 0 }, { 63, 16, 0, 16, 0, 0 }, + { 64, 16, 0, 16, 0, 0 }, { 65, 16, 0, 16, 0, 0 }, { 66, 16, 0, 16, 0, 0 }, { 67, 16, 0, 16, 0, 0 }, { 68, 16, 0, 16, 0, 0 }, + { 69, 16, 0, 16, 0, 0 }, { 70, 16, 0, 16, 0, 0 }, { 71, 16, 0, 16, 0, 0 }, { 72, 16, 0, 16, 0, 0 }, { 73, 16, 0, 16, 0, 0 }, + { 74, 16, 0, 16, 0, 0 }, { 75, 16, 0, 16, 0, 0 }, { 76, 16, 0, 16, 0, 0 }, { 77, 16, 0, 16, 0, 0 }, { 78, 16, 0, 16, 0, 0 }, + { 79, 16, 0, 16, 0, 0 }, { 80, 16, 0, 16, 0, 0 }, { 81, 16, 0, 16, 0, 0 }, { 82, 16, 0, 16, 0, 0 }, { 83, 16, 0, 16, 0, 0 }, + { 84, 16, 0, 16, 0, 0 }, { 85, 16, 0, 16, 0, 0 }, { 86, 16, 0, 16, 0, 0 }, { 87, 16, 0, 16, 0, 0 }, { 88, 16, 0, 16, 0, 0 }, + { 89, 16, 0, 16, 0, 0 }, { 90, 16, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, + { 94, 16, 0, 16, 0, 0 }, { 95, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_950594 = { - 192, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 17, 26, 0, 24, 0, 0 }, { 17, 25, 0, 24, 0, 0 }, { 18, 24, 0, 24, 0, 0 }, { 18, 23, 0, 24, 0, 0 }, { 19, 22, 0, 24, 0, 0 }, - { 19, 21, 0, 24, 0, 0 }, { 20, 20, 0, 24, 0, 0 }, { 21, 19, 0, 24, 0, 0 }, { 21, 18, 0, 24, 0, 0 }, { 22, 17, 0, 24, 0, 0 }, - { 23, 16, 0, 24, 0, 0 }, { 23, 15, 0, 24, 0, 0 }, { 24, 14, 0, 24, 0, 0 }, { 24, 13, 0, 24, 0, 0 }, { 25, 12, 0, 24, 0, 0 }, - { 25, 11, 0, 24, 0, 0 }, { 26, 10, 0, 24, 0, 0 }, { 26, 9, 0, 24, 0, 0 }, { 26, 8, 0, 24, 0, 0 }, { 27, 7, 0, 24, 0, 0 }, - { 27, 6, 0, 24, 0, 0 }, { 28, 5, 0, 24, 0, 0 }, { 28, 4, 0, 24, 0, 0 }, { 28, 3, 0, 24, 0, 0 }, { 29, 2, 0, 24, 0, 0 }, - { 29, 1, 0, 24, 0, 0 }, { 29, 0, 0, 24, 0, 0 }, { 30, -1, 0, 24, 0, 0 }, { 30, -2, 0, 24, 0, 0 }, { 30, -3, 0, 24, 0, 0 }, - { 30, -4, 0, 24, 0, 0 }, { 30, -5, 0, 24, 0, 0 }, { 31, -6, 0, 24, 0, 0 }, { 31, -7, 0, 24, 0, 0 }, { 31, -8, 0, 24, 0, 0 }, - { 31, -9, 0, 24, 0, 0 }, { 31, -10, 0, 24, 0, 0 }, { 32, -11, 0, 24, 0, 0 }, { 32, -12, 0, 24, 0, 0 }, { 32, -13, 0, 24, 0, 0 }, - { 32, -14, 0, 24, 0, 0 }, { 32, -15, 0, 24, 0, 0 }, { 32, -16, 0, 24, 0, 0 }, { 32, -17, 0, 24, 0, 0 }, { 32, -18, 0, 24, 0, 0 }, - { 32, -19, 0, 24, 0, 0 }, { 32, -20, 0, 24, 0, 0 }, { 32, -21, 0, 24, 0, 0 }, { 32, -22, 0, 24, 0, 0 }, { 31, -23, 0, 24, 0, 0 }, - { 31, -24, 0, 24, 0, 0 }, { 31, -25, 0, 24, 0, 0 }, { 31, -26, 0, 24, 0, 0 }, { 31, -27, 0, 24, 0, 0 }, { 30, -28, 0, 24, 0, 0 }, - { 30, -29, 0, 24, 0, 0 }, { 30, -30, 0, 24, 0, 0 }, { 30, -31, 0, 24, 0, 0 }, { 30, -32, 0, 24, 0, 0 }, { 29, -33, 0, 24, 0, 0 }, - { 29, -34, 0, 24, 0, 0 }, { 29, -35, 0, 24, 0, 0 }, { 28, -36, 0, 24, 0, 0 }, { 28, -37, 0, 24, 0, 0 }, { 28, -38, 0, 24, 0, 0 }, - { 27, -39, 0, 24, 0, 0 }, { 27, -40, 0, 24, 0, 0 }, { 26, -41, 0, 24, 0, 0 }, { 26, -42, 0, 24, 0, 0 }, { 26, -43, 0, 24, 0, 0 }, - { 25, -44, 0, 24, 0, 0 }, { 25, -45, 0, 24, 0, 0 }, { 24, -46, 0, 24, 0, 0 }, { 24, -47, 0, 24, 0, 0 }, { 23, -48, 0, 24, 0, 0 }, - { 23, -49, 0, 24, 0, 0 }, { 22, -50, 0, 24, 0, 0 }, { 21, -51, 0, 24, 0, 0 }, { 21, -52, 0, 24, 0, 0 }, { 20, -53, 0, 24, 0, 0 }, - { 19, -54, 0, 24, 0, 0 }, { 19, -55, 0, 24, 0, 0 }, { 18, -56, 0, 24, 0, 0 }, { 18, -57, 0, 24, 0, 0 }, { 17, -58, 0, 24, 0, 0 }, - { 17, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, { 16, -63, 0, 24, 0, 0 }, - { 16, -64, 0, 24, 0, 0 }, { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, - { 16, 27, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, - { 16, 22, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, - { 16, 17, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, - { 16, 12, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, - { 16, 7, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, - { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, { 16, -1, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, - { 16, -3, 0, 24, 0, 0 }, { 16, -4, 0, 24, 0, 0 }, { 16, -5, 0, 24, 0, 0 }, { 16, -6, 0, 24, 0, 0 }, { 16, -7, 0, 24, 0, 0 }, - { 16, -8, 0, 24, 0, 0 }, { 16, -9, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 16, -11, 0, 24, 0, 0 }, { 16, -12, 0, 24, 0, 0 }, - { 16, -13, 0, 24, 0, 0 }, { 16, -14, 0, 24, 0, 0 }, { 16, -15, 0, 24, 0, 0 }, { 16, -16, 0, 24, 0, 0 }, { 16, -17, 0, 24, 0, 0 }, - { 16, -18, 0, 24, 0, 0 }, { 16, -19, 0, 24, 0, 0 }, { 16, -20, 0, 24, 0, 0 }, { 16, -21, 0, 24, 0, 0 }, { 16, -22, 0, 24, 0, 0 }, - { 16, -23, 0, 24, 0, 0 }, { 16, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 16, -26, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, - { 16, -28, 0, 24, 0, 0 }, { 16, -29, 0, 24, 0, 0 }, { 16, -30, 0, 24, 0, 0 }, { 16, -31, 0, 24, 0, 0 }, { 16, -32, 0, 24, 0, 0 }, - { 16, -33, 0, 24, 0, 0 }, { 16, -34, 0, 24, 0, 0 }, { 16, -35, 0, 24, 0, 0 }, { 16, -36, 0, 24, 0, 0 }, { 16, -37, 0, 24, 0, 0 }, - { 16, -38, 0, 24, 0, 0 }, { 16, -39, 0, 24, 0, 0 }, { 16, -40, 0, 24, 0, 0 }, { 16, -41, 0, 24, 0, 0 }, { 16, -42, 0, 24, 0, 0 }, - { 16, -43, 0, 24, 0, 0 }, { 16, -44, 0, 24, 0, 0 }, { 16, -45, 0, 24, 0, 0 }, { 16, -46, 0, 24, 0, 0 }, { 16, -47, 0, 24, 0, 0 }, - { 16, -48, 0, 24, 0, 0 }, { 16, -49, 0, 24, 0, 0 }, { 16, -50, 0, 24, 0, 0 }, { 16, -51, 0, 24, 0, 0 }, { 16, -52, 0, 24, 0, 0 }, - { 16, -53, 0, 24, 0, 0 }, { 16, -54, 0, 24, 0, 0 }, { 16, -55, 0, 24, 0, 0 }, { 16, -56, 0, 24, 0, 0 }, { 16, -57, 0, 24, 0, 0 }, - { 16, -58, 0, 24, 0, 0 }, { 16, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, - { 16, -63, 0, 24, 0, 0 }, { 16, -64, 0, 24, 0, 0 }, + 192, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 17, 26, 0, 24, 0, 0 }, { 17, 25, 0, 24, 0, 0 }, { 18, 24, 0, 24, 0, 0 }, { 18, 23, 0, 24, 0, 0 }, { 19, 22, 0, 24, 0, 0 }, + { 19, 21, 0, 24, 0, 0 }, { 20, 20, 0, 24, 0, 0 }, { 21, 19, 0, 24, 0, 0 }, { 21, 18, 0, 24, 0, 0 }, { 22, 17, 0, 24, 0, 0 }, + { 23, 16, 0, 24, 0, 0 }, { 23, 15, 0, 24, 0, 0 }, { 24, 14, 0, 24, 0, 0 }, { 24, 13, 0, 24, 0, 0 }, { 25, 12, 0, 24, 0, 0 }, + { 25, 11, 0, 24, 0, 0 }, { 26, 10, 0, 24, 0, 0 }, { 26, 9, 0, 24, 0, 0 }, { 26, 8, 0, 24, 0, 0 }, { 27, 7, 0, 24, 0, 0 }, + { 27, 6, 0, 24, 0, 0 }, { 28, 5, 0, 24, 0, 0 }, { 28, 4, 0, 24, 0, 0 }, { 28, 3, 0, 24, 0, 0 }, { 29, 2, 0, 24, 0, 0 }, + { 29, 1, 0, 24, 0, 0 }, { 29, 0, 0, 24, 0, 0 }, { 30, -1, 0, 24, 0, 0 }, { 30, -2, 0, 24, 0, 0 }, { 30, -3, 0, 24, 0, 0 }, + { 30, -4, 0, 24, 0, 0 }, { 30, -5, 0, 24, 0, 0 }, { 31, -6, 0, 24, 0, 0 }, { 31, -7, 0, 24, 0, 0 }, { 31, -8, 0, 24, 0, 0 }, + { 31, -9, 0, 24, 0, 0 }, { 31, -10, 0, 24, 0, 0 }, { 32, -11, 0, 24, 0, 0 }, { 32, -12, 0, 24, 0, 0 }, { 32, -13, 0, 24, 0, 0 }, + { 32, -14, 0, 24, 0, 0 }, { 32, -15, 0, 24, 0, 0 }, { 32, -16, 0, 24, 0, 0 }, { 32, -17, 0, 24, 0, 0 }, { 32, -18, 0, 24, 0, 0 }, + { 32, -19, 0, 24, 0, 0 }, { 32, -20, 0, 24, 0, 0 }, { 32, -21, 0, 24, 0, 0 }, { 32, -22, 0, 24, 0, 0 }, { 31, -23, 0, 24, 0, 0 }, + { 31, -24, 0, 24, 0, 0 }, { 31, -25, 0, 24, 0, 0 }, { 31, -26, 0, 24, 0, 0 }, { 31, -27, 0, 24, 0, 0 }, { 30, -28, 0, 24, 0, 0 }, + { 30, -29, 0, 24, 0, 0 }, { 30, -30, 0, 24, 0, 0 }, { 30, -31, 0, 24, 0, 0 }, { 30, -32, 0, 24, 0, 0 }, { 29, -33, 0, 24, 0, 0 }, + { 29, -34, 0, 24, 0, 0 }, { 29, -35, 0, 24, 0, 0 }, { 28, -36, 0, 24, 0, 0 }, { 28, -37, 0, 24, 0, 0 }, { 28, -38, 0, 24, 0, 0 }, + { 27, -39, 0, 24, 0, 0 }, { 27, -40, 0, 24, 0, 0 }, { 26, -41, 0, 24, 0, 0 }, { 26, -42, 0, 24, 0, 0 }, { 26, -43, 0, 24, 0, 0 }, + { 25, -44, 0, 24, 0, 0 }, { 25, -45, 0, 24, 0, 0 }, { 24, -46, 0, 24, 0, 0 }, { 24, -47, 0, 24, 0, 0 }, { 23, -48, 0, 24, 0, 0 }, + { 23, -49, 0, 24, 0, 0 }, { 22, -50, 0, 24, 0, 0 }, { 21, -51, 0, 24, 0, 0 }, { 21, -52, 0, 24, 0, 0 }, { 20, -53, 0, 24, 0, 0 }, + { 19, -54, 0, 24, 0, 0 }, { 19, -55, 0, 24, 0, 0 }, { 18, -56, 0, 24, 0, 0 }, { 18, -57, 0, 24, 0, 0 }, { 17, -58, 0, 24, 0, 0 }, + { 17, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, { 16, -63, 0, 24, 0, 0 }, + { 16, -64, 0, 24, 0, 0 }, { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, + { 16, 27, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, + { 16, 22, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, + { 16, 17, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, + { 16, 12, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, + { 16, 7, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, + { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, { 16, -1, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, + { 16, -3, 0, 24, 0, 0 }, { 16, -4, 0, 24, 0, 0 }, { 16, -5, 0, 24, 0, 0 }, { 16, -6, 0, 24, 0, 0 }, { 16, -7, 0, 24, 0, 0 }, + { 16, -8, 0, 24, 0, 0 }, { 16, -9, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 16, -11, 0, 24, 0, 0 }, { 16, -12, 0, 24, 0, 0 }, + { 16, -13, 0, 24, 0, 0 }, { 16, -14, 0, 24, 0, 0 }, { 16, -15, 0, 24, 0, 0 }, { 16, -16, 0, 24, 0, 0 }, { 16, -17, 0, 24, 0, 0 }, + { 16, -18, 0, 24, 0, 0 }, { 16, -19, 0, 24, 0, 0 }, { 16, -20, 0, 24, 0, 0 }, { 16, -21, 0, 24, 0, 0 }, { 16, -22, 0, 24, 0, 0 }, + { 16, -23, 0, 24, 0, 0 }, { 16, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 16, -26, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, + { 16, -28, 0, 24, 0, 0 }, { 16, -29, 0, 24, 0, 0 }, { 16, -30, 0, 24, 0, 0 }, { 16, -31, 0, 24, 0, 0 }, { 16, -32, 0, 24, 0, 0 }, + { 16, -33, 0, 24, 0, 0 }, { 16, -34, 0, 24, 0, 0 }, { 16, -35, 0, 24, 0, 0 }, { 16, -36, 0, 24, 0, 0 }, { 16, -37, 0, 24, 0, 0 }, + { 16, -38, 0, 24, 0, 0 }, { 16, -39, 0, 24, 0, 0 }, { 16, -40, 0, 24, 0, 0 }, { 16, -41, 0, 24, 0, 0 }, { 16, -42, 0, 24, 0, 0 }, + { 16, -43, 0, 24, 0, 0 }, { 16, -44, 0, 24, 0, 0 }, { 16, -45, 0, 24, 0, 0 }, { 16, -46, 0, 24, 0, 0 }, { 16, -47, 0, 24, 0, 0 }, + { 16, -48, 0, 24, 0, 0 }, { 16, -49, 0, 24, 0, 0 }, { 16, -50, 0, 24, 0, 0 }, { 16, -51, 0, 24, 0, 0 }, { 16, -52, 0, 24, 0, 0 }, + { 16, -53, 0, 24, 0, 0 }, { 16, -54, 0, 24, 0, 0 }, { 16, -55, 0, 24, 0, 0 }, { 16, -56, 0, 24, 0, 0 }, { 16, -57, 0, 24, 0, 0 }, + { 16, -58, 0, 24, 0, 0 }, { 16, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, + { 16, -63, 0, 24, 0, 0 }, { 16, -64, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_950C56 = { - 192, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 17, 0, 0, 0, 0 }, { 25, 17, 0, 0, 0, 0 }, { 24, 18, 0, 0, 0, 0 }, { 23, 18, 0, 0, 0, 0 }, { 22, 19, 0, 0, 0, 0 }, - { 21, 19, 0, 0, 0, 0 }, { 20, 20, 0, 0, 0, 0 }, { 19, 21, 0, 0, 0, 0 }, { 18, 21, 0, 0, 0, 0 }, { 17, 22, 0, 0, 0, 0 }, - { 16, 23, 0, 0, 0, 0 }, { 15, 23, 0, 0, 0, 0 }, { 14, 24, 0, 0, 0, 0 }, { 13, 24, 0, 0, 0, 0 }, { 12, 25, 0, 0, 0, 0 }, - { 11, 25, 0, 0, 0, 0 }, { 10, 26, 0, 0, 0, 0 }, { 9, 26, 0, 0, 0, 0 }, { 8, 26, 0, 0, 0, 0 }, { 7, 27, 0, 0, 0, 0 }, - { 6, 27, 0, 0, 0, 0 }, { 5, 28, 0, 0, 0, 0 }, { 4, 28, 0, 0, 0, 0 }, { 3, 28, 0, 0, 0, 0 }, { 2, 29, 0, 0, 0, 0 }, - { 1, 29, 0, 0, 0, 0 }, { 0, 29, 0, 0, 0, 0 }, { -1, 30, 0, 0, 0, 0 }, { -2, 30, 0, 0, 0, 0 }, { -3, 30, 0, 0, 0, 0 }, - { -4, 30, 0, 0, 0, 0 }, { -5, 30, 0, 0, 0, 0 }, { -6, 31, 0, 0, 0, 0 }, { -7, 31, 0, 0, 0, 0 }, { -8, 31, 0, 0, 0, 0 }, - { -9, 31, 0, 0, 0, 0 }, { -10, 31, 0, 0, 0, 0 }, { -11, 32, 0, 0, 0, 0 }, { -12, 32, 0, 0, 0, 0 }, { -13, 32, 0, 0, 0, 0 }, - { -14, 32, 0, 0, 0, 0 }, { -15, 32, 0, 0, 0, 0 }, { -16, 32, 0, 0, 0, 0 }, { -17, 32, 0, 0, 0, 0 }, { -18, 32, 0, 0, 0, 0 }, - { -19, 32, 0, 0, 0, 0 }, { -20, 32, 0, 0, 0, 0 }, { -21, 32, 0, 0, 0, 0 }, { -22, 32, 0, 0, 0, 0 }, { -23, 31, 0, 0, 0, 0 }, - { -24, 31, 0, 0, 0, 0 }, { -25, 31, 0, 0, 0, 0 }, { -26, 31, 0, 0, 0, 0 }, { -27, 31, 0, 0, 0, 0 }, { -28, 30, 0, 0, 0, 0 }, - { -29, 30, 0, 0, 0, 0 }, { -30, 30, 0, 0, 0, 0 }, { -31, 30, 0, 0, 0, 0 }, { -32, 30, 0, 0, 0, 0 }, { -33, 29, 0, 0, 0, 0 }, - { -34, 29, 0, 0, 0, 0 }, { -35, 29, 0, 0, 0, 0 }, { -36, 28, 0, 0, 0, 0 }, { -37, 28, 0, 0, 0, 0 }, { -38, 28, 0, 0, 0, 0 }, - { -39, 27, 0, 0, 0, 0 }, { -40, 27, 0, 0, 0, 0 }, { -41, 26, 0, 0, 0, 0 }, { -42, 26, 0, 0, 0, 0 }, { -43, 26, 0, 0, 0, 0 }, - { -44, 25, 0, 0, 0, 0 }, { -45, 25, 0, 0, 0, 0 }, { -46, 24, 0, 0, 0, 0 }, { -47, 24, 0, 0, 0, 0 }, { -48, 23, 0, 0, 0, 0 }, - { -49, 23, 0, 0, 0, 0 }, { -50, 22, 0, 0, 0, 0 }, { -51, 21, 0, 0, 0, 0 }, { -52, 21, 0, 0, 0, 0 }, { -53, 20, 0, 0, 0, 0 }, - { -54, 19, 0, 0, 0, 0 }, { -55, 19, 0, 0, 0, 0 }, { -56, 18, 0, 0, 0, 0 }, { -57, 18, 0, 0, 0, 0 }, { -58, 17, 0, 0, 0, 0 }, - { -59, 17, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, { -63, 16, 0, 0, 0, 0 }, - { -64, 16, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, - { 22, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, - { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, - { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, - { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -2, 16, 0, 0, 0, 0 }, - { -3, 16, 0, 0, 0, 0 }, { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, - { -8, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, - { -13, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, - { -18, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, - { -23, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, - { -28, 16, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -30, 16, 0, 0, 0, 0 }, { -31, 16, 0, 0, 0, 0 }, { -32, 16, 0, 0, 0, 0 }, - { -33, 16, 0, 0, 0, 0 }, { -34, 16, 0, 0, 0, 0 }, { -35, 16, 0, 0, 0, 0 }, { -36, 16, 0, 0, 0, 0 }, { -37, 16, 0, 0, 0, 0 }, - { -38, 16, 0, 0, 0, 0 }, { -39, 16, 0, 0, 0, 0 }, { -40, 16, 0, 0, 0, 0 }, { -41, 16, 0, 0, 0, 0 }, { -42, 16, 0, 0, 0, 0 }, - { -43, 16, 0, 0, 0, 0 }, { -44, 16, 0, 0, 0, 0 }, { -45, 16, 0, 0, 0, 0 }, { -46, 16, 0, 0, 0, 0 }, { -47, 16, 0, 0, 0, 0 }, - { -48, 16, 0, 0, 0, 0 }, { -49, 16, 0, 0, 0, 0 }, { -50, 16, 0, 0, 0, 0 }, { -51, 16, 0, 0, 0, 0 }, { -52, 16, 0, 0, 0, 0 }, - { -53, 16, 0, 0, 0, 0 }, { -54, 16, 0, 0, 0, 0 }, { -55, 16, 0, 0, 0, 0 }, { -56, 16, 0, 0, 0, 0 }, { -57, 16, 0, 0, 0, 0 }, - { -58, 16, 0, 0, 0, 0 }, { -59, 16, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, - { -63, 16, 0, 0, 0, 0 }, { -64, 16, 0, 0, 0, 0 }, + 192, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 17, 0, 0, 0, 0 }, { 25, 17, 0, 0, 0, 0 }, { 24, 18, 0, 0, 0, 0 }, { 23, 18, 0, 0, 0, 0 }, { 22, 19, 0, 0, 0, 0 }, + { 21, 19, 0, 0, 0, 0 }, { 20, 20, 0, 0, 0, 0 }, { 19, 21, 0, 0, 0, 0 }, { 18, 21, 0, 0, 0, 0 }, { 17, 22, 0, 0, 0, 0 }, + { 16, 23, 0, 0, 0, 0 }, { 15, 23, 0, 0, 0, 0 }, { 14, 24, 0, 0, 0, 0 }, { 13, 24, 0, 0, 0, 0 }, { 12, 25, 0, 0, 0, 0 }, + { 11, 25, 0, 0, 0, 0 }, { 10, 26, 0, 0, 0, 0 }, { 9, 26, 0, 0, 0, 0 }, { 8, 26, 0, 0, 0, 0 }, { 7, 27, 0, 0, 0, 0 }, + { 6, 27, 0, 0, 0, 0 }, { 5, 28, 0, 0, 0, 0 }, { 4, 28, 0, 0, 0, 0 }, { 3, 28, 0, 0, 0, 0 }, { 2, 29, 0, 0, 0, 0 }, + { 1, 29, 0, 0, 0, 0 }, { 0, 29, 0, 0, 0, 0 }, { -1, 30, 0, 0, 0, 0 }, { -2, 30, 0, 0, 0, 0 }, { -3, 30, 0, 0, 0, 0 }, + { -4, 30, 0, 0, 0, 0 }, { -5, 30, 0, 0, 0, 0 }, { -6, 31, 0, 0, 0, 0 }, { -7, 31, 0, 0, 0, 0 }, { -8, 31, 0, 0, 0, 0 }, + { -9, 31, 0, 0, 0, 0 }, { -10, 31, 0, 0, 0, 0 }, { -11, 32, 0, 0, 0, 0 }, { -12, 32, 0, 0, 0, 0 }, { -13, 32, 0, 0, 0, 0 }, + { -14, 32, 0, 0, 0, 0 }, { -15, 32, 0, 0, 0, 0 }, { -16, 32, 0, 0, 0, 0 }, { -17, 32, 0, 0, 0, 0 }, { -18, 32, 0, 0, 0, 0 }, + { -19, 32, 0, 0, 0, 0 }, { -20, 32, 0, 0, 0, 0 }, { -21, 32, 0, 0, 0, 0 }, { -22, 32, 0, 0, 0, 0 }, { -23, 31, 0, 0, 0, 0 }, + { -24, 31, 0, 0, 0, 0 }, { -25, 31, 0, 0, 0, 0 }, { -26, 31, 0, 0, 0, 0 }, { -27, 31, 0, 0, 0, 0 }, { -28, 30, 0, 0, 0, 0 }, + { -29, 30, 0, 0, 0, 0 }, { -30, 30, 0, 0, 0, 0 }, { -31, 30, 0, 0, 0, 0 }, { -32, 30, 0, 0, 0, 0 }, { -33, 29, 0, 0, 0, 0 }, + { -34, 29, 0, 0, 0, 0 }, { -35, 29, 0, 0, 0, 0 }, { -36, 28, 0, 0, 0, 0 }, { -37, 28, 0, 0, 0, 0 }, { -38, 28, 0, 0, 0, 0 }, + { -39, 27, 0, 0, 0, 0 }, { -40, 27, 0, 0, 0, 0 }, { -41, 26, 0, 0, 0, 0 }, { -42, 26, 0, 0, 0, 0 }, { -43, 26, 0, 0, 0, 0 }, + { -44, 25, 0, 0, 0, 0 }, { -45, 25, 0, 0, 0, 0 }, { -46, 24, 0, 0, 0, 0 }, { -47, 24, 0, 0, 0, 0 }, { -48, 23, 0, 0, 0, 0 }, + { -49, 23, 0, 0, 0, 0 }, { -50, 22, 0, 0, 0, 0 }, { -51, 21, 0, 0, 0, 0 }, { -52, 21, 0, 0, 0, 0 }, { -53, 20, 0, 0, 0, 0 }, + { -54, 19, 0, 0, 0, 0 }, { -55, 19, 0, 0, 0, 0 }, { -56, 18, 0, 0, 0, 0 }, { -57, 18, 0, 0, 0, 0 }, { -58, 17, 0, 0, 0, 0 }, + { -59, 17, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, { -63, 16, 0, 0, 0, 0 }, + { -64, 16, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, + { 22, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, + { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, + { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, + { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -2, 16, 0, 0, 0, 0 }, + { -3, 16, 0, 0, 0, 0 }, { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, + { -8, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, + { -13, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, + { -18, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, + { -23, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, + { -28, 16, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -30, 16, 0, 0, 0, 0 }, { -31, 16, 0, 0, 0, 0 }, { -32, 16, 0, 0, 0, 0 }, + { -33, 16, 0, 0, 0, 0 }, { -34, 16, 0, 0, 0, 0 }, { -35, 16, 0, 0, 0, 0 }, { -36, 16, 0, 0, 0, 0 }, { -37, 16, 0, 0, 0, 0 }, + { -38, 16, 0, 0, 0, 0 }, { -39, 16, 0, 0, 0, 0 }, { -40, 16, 0, 0, 0, 0 }, { -41, 16, 0, 0, 0, 0 }, { -42, 16, 0, 0, 0, 0 }, + { -43, 16, 0, 0, 0, 0 }, { -44, 16, 0, 0, 0, 0 }, { -45, 16, 0, 0, 0, 0 }, { -46, 16, 0, 0, 0, 0 }, { -47, 16, 0, 0, 0, 0 }, + { -48, 16, 0, 0, 0, 0 }, { -49, 16, 0, 0, 0, 0 }, { -50, 16, 0, 0, 0, 0 }, { -51, 16, 0, 0, 0, 0 }, { -52, 16, 0, 0, 0, 0 }, + { -53, 16, 0, 0, 0, 0 }, { -54, 16, 0, 0, 0, 0 }, { -55, 16, 0, 0, 0, 0 }, { -56, 16, 0, 0, 0, 0 }, { -57, 16, 0, 0, 0, 0 }, + { -58, 16, 0, 0, 0, 0 }, { -59, 16, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, + { -63, 16, 0, 0, 0, 0 }, { -64, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_951318 = { - 192, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 17, 5, 0, 8, 0, 0 }, { 17, 6, 0, 8, 0, 0 }, { 18, 7, 0, 8, 0, 0 }, { 18, 8, 0, 8, 0, 0 }, { 19, 9, 0, 8, 0, 0 }, - { 19, 10, 0, 8, 0, 0 }, { 20, 11, 0, 8, 0, 0 }, { 21, 12, 0, 8, 0, 0 }, { 21, 13, 0, 8, 0, 0 }, { 22, 14, 0, 8, 0, 0 }, - { 23, 15, 0, 8, 0, 0 }, { 23, 16, 0, 8, 0, 0 }, { 24, 17, 0, 8, 0, 0 }, { 24, 18, 0, 8, 0, 0 }, { 25, 19, 0, 8, 0, 0 }, - { 25, 20, 0, 8, 0, 0 }, { 26, 21, 0, 8, 0, 0 }, { 26, 22, 0, 8, 0, 0 }, { 26, 23, 0, 8, 0, 0 }, { 27, 24, 0, 8, 0, 0 }, - { 27, 25, 0, 8, 0, 0 }, { 28, 26, 0, 8, 0, 0 }, { 28, 27, 0, 8, 0, 0 }, { 28, 28, 0, 8, 0, 0 }, { 29, 29, 0, 8, 0, 0 }, - { 29, 30, 0, 8, 0, 0 }, { 29, 31, 0, 8, 0, 0 }, { 30, 32, 0, 8, 0, 0 }, { 30, 33, 0, 8, 0, 0 }, { 30, 34, 0, 8, 0, 0 }, - { 30, 35, 0, 8, 0, 0 }, { 30, 36, 0, 8, 0, 0 }, { 31, 37, 0, 8, 0, 0 }, { 31, 38, 0, 8, 0, 0 }, { 31, 39, 0, 8, 0, 0 }, - { 31, 40, 0, 8, 0, 0 }, { 31, 41, 0, 8, 0, 0 }, { 32, 42, 0, 8, 0, 0 }, { 32, 43, 0, 8, 0, 0 }, { 32, 44, 0, 8, 0, 0 }, - { 32, 45, 0, 8, 0, 0 }, { 32, 46, 0, 8, 0, 0 }, { 32, 47, 0, 8, 0, 0 }, { 32, 48, 0, 8, 0, 0 }, { 32, 49, 0, 8, 0, 0 }, - { 32, 50, 0, 8, 0, 0 }, { 32, 51, 0, 8, 0, 0 }, { 32, 52, 0, 8, 0, 0 }, { 32, 53, 0, 8, 0, 0 }, { 31, 54, 0, 8, 0, 0 }, - { 31, 55, 0, 8, 0, 0 }, { 31, 56, 0, 8, 0, 0 }, { 31, 57, 0, 8, 0, 0 }, { 31, 58, 0, 8, 0, 0 }, { 30, 59, 0, 8, 0, 0 }, - { 30, 60, 0, 8, 0, 0 }, { 30, 61, 0, 8, 0, 0 }, { 30, 62, 0, 8, 0, 0 }, { 30, 63, 0, 8, 0, 0 }, { 29, 64, 0, 8, 0, 0 }, - { 29, 65, 0, 8, 0, 0 }, { 29, 66, 0, 8, 0, 0 }, { 28, 67, 0, 8, 0, 0 }, { 28, 68, 0, 8, 0, 0 }, { 28, 69, 0, 8, 0, 0 }, - { 27, 70, 0, 8, 0, 0 }, { 27, 71, 0, 8, 0, 0 }, { 26, 72, 0, 8, 0, 0 }, { 26, 73, 0, 8, 0, 0 }, { 26, 74, 0, 8, 0, 0 }, - { 25, 75, 0, 8, 0, 0 }, { 25, 76, 0, 8, 0, 0 }, { 24, 77, 0, 8, 0, 0 }, { 24, 78, 0, 8, 0, 0 }, { 23, 79, 0, 8, 0, 0 }, - { 23, 80, 0, 8, 0, 0 }, { 22, 81, 0, 8, 0, 0 }, { 21, 82, 0, 8, 0, 0 }, { 21, 83, 0, 8, 0, 0 }, { 20, 84, 0, 8, 0, 0 }, - { 19, 85, 0, 8, 0, 0 }, { 19, 86, 0, 8, 0, 0 }, { 18, 87, 0, 8, 0, 0 }, { 18, 88, 0, 8, 0, 0 }, { 17, 89, 0, 8, 0, 0 }, - { 17, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, { 16, 94, 0, 8, 0, 0 }, - { 16, 95, 0, 8, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, - { 16, 9, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, - { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, - { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, - { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 33, 0, 8, 0, 0 }, - { 16, 34, 0, 8, 0, 0 }, { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, - { 16, 39, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, - { 16, 44, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, - { 16, 49, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, - { 16, 54, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, - { 16, 59, 0, 8, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { 16, 61, 0, 8, 0, 0 }, { 16, 62, 0, 8, 0, 0 }, { 16, 63, 0, 8, 0, 0 }, - { 16, 64, 0, 8, 0, 0 }, { 16, 65, 0, 8, 0, 0 }, { 16, 66, 0, 8, 0, 0 }, { 16, 67, 0, 8, 0, 0 }, { 16, 68, 0, 8, 0, 0 }, - { 16, 69, 0, 8, 0, 0 }, { 16, 70, 0, 8, 0, 0 }, { 16, 71, 0, 8, 0, 0 }, { 16, 72, 0, 8, 0, 0 }, { 16, 73, 0, 8, 0, 0 }, - { 16, 74, 0, 8, 0, 0 }, { 16, 75, 0, 8, 0, 0 }, { 16, 76, 0, 8, 0, 0 }, { 16, 77, 0, 8, 0, 0 }, { 16, 78, 0, 8, 0, 0 }, - { 16, 79, 0, 8, 0, 0 }, { 16, 80, 0, 8, 0, 0 }, { 16, 81, 0, 8, 0, 0 }, { 16, 82, 0, 8, 0, 0 }, { 16, 83, 0, 8, 0, 0 }, - { 16, 84, 0, 8, 0, 0 }, { 16, 85, 0, 8, 0, 0 }, { 16, 86, 0, 8, 0, 0 }, { 16, 87, 0, 8, 0, 0 }, { 16, 88, 0, 8, 0, 0 }, - { 16, 89, 0, 8, 0, 0 }, { 16, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, - { 16, 94, 0, 8, 0, 0 }, { 16, 95, 0, 8, 0, 0 }, + 192, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 17, 5, 0, 8, 0, 0 }, { 17, 6, 0, 8, 0, 0 }, { 18, 7, 0, 8, 0, 0 }, { 18, 8, 0, 8, 0, 0 }, { 19, 9, 0, 8, 0, 0 }, + { 19, 10, 0, 8, 0, 0 }, { 20, 11, 0, 8, 0, 0 }, { 21, 12, 0, 8, 0, 0 }, { 21, 13, 0, 8, 0, 0 }, { 22, 14, 0, 8, 0, 0 }, + { 23, 15, 0, 8, 0, 0 }, { 23, 16, 0, 8, 0, 0 }, { 24, 17, 0, 8, 0, 0 }, { 24, 18, 0, 8, 0, 0 }, { 25, 19, 0, 8, 0, 0 }, + { 25, 20, 0, 8, 0, 0 }, { 26, 21, 0, 8, 0, 0 }, { 26, 22, 0, 8, 0, 0 }, { 26, 23, 0, 8, 0, 0 }, { 27, 24, 0, 8, 0, 0 }, + { 27, 25, 0, 8, 0, 0 }, { 28, 26, 0, 8, 0, 0 }, { 28, 27, 0, 8, 0, 0 }, { 28, 28, 0, 8, 0, 0 }, { 29, 29, 0, 8, 0, 0 }, + { 29, 30, 0, 8, 0, 0 }, { 29, 31, 0, 8, 0, 0 }, { 30, 32, 0, 8, 0, 0 }, { 30, 33, 0, 8, 0, 0 }, { 30, 34, 0, 8, 0, 0 }, + { 30, 35, 0, 8, 0, 0 }, { 30, 36, 0, 8, 0, 0 }, { 31, 37, 0, 8, 0, 0 }, { 31, 38, 0, 8, 0, 0 }, { 31, 39, 0, 8, 0, 0 }, + { 31, 40, 0, 8, 0, 0 }, { 31, 41, 0, 8, 0, 0 }, { 32, 42, 0, 8, 0, 0 }, { 32, 43, 0, 8, 0, 0 }, { 32, 44, 0, 8, 0, 0 }, + { 32, 45, 0, 8, 0, 0 }, { 32, 46, 0, 8, 0, 0 }, { 32, 47, 0, 8, 0, 0 }, { 32, 48, 0, 8, 0, 0 }, { 32, 49, 0, 8, 0, 0 }, + { 32, 50, 0, 8, 0, 0 }, { 32, 51, 0, 8, 0, 0 }, { 32, 52, 0, 8, 0, 0 }, { 32, 53, 0, 8, 0, 0 }, { 31, 54, 0, 8, 0, 0 }, + { 31, 55, 0, 8, 0, 0 }, { 31, 56, 0, 8, 0, 0 }, { 31, 57, 0, 8, 0, 0 }, { 31, 58, 0, 8, 0, 0 }, { 30, 59, 0, 8, 0, 0 }, + { 30, 60, 0, 8, 0, 0 }, { 30, 61, 0, 8, 0, 0 }, { 30, 62, 0, 8, 0, 0 }, { 30, 63, 0, 8, 0, 0 }, { 29, 64, 0, 8, 0, 0 }, + { 29, 65, 0, 8, 0, 0 }, { 29, 66, 0, 8, 0, 0 }, { 28, 67, 0, 8, 0, 0 }, { 28, 68, 0, 8, 0, 0 }, { 28, 69, 0, 8, 0, 0 }, + { 27, 70, 0, 8, 0, 0 }, { 27, 71, 0, 8, 0, 0 }, { 26, 72, 0, 8, 0, 0 }, { 26, 73, 0, 8, 0, 0 }, { 26, 74, 0, 8, 0, 0 }, + { 25, 75, 0, 8, 0, 0 }, { 25, 76, 0, 8, 0, 0 }, { 24, 77, 0, 8, 0, 0 }, { 24, 78, 0, 8, 0, 0 }, { 23, 79, 0, 8, 0, 0 }, + { 23, 80, 0, 8, 0, 0 }, { 22, 81, 0, 8, 0, 0 }, { 21, 82, 0, 8, 0, 0 }, { 21, 83, 0, 8, 0, 0 }, { 20, 84, 0, 8, 0, 0 }, + { 19, 85, 0, 8, 0, 0 }, { 19, 86, 0, 8, 0, 0 }, { 18, 87, 0, 8, 0, 0 }, { 18, 88, 0, 8, 0, 0 }, { 17, 89, 0, 8, 0, 0 }, + { 17, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, { 16, 94, 0, 8, 0, 0 }, + { 16, 95, 0, 8, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, + { 16, 9, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, + { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, + { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, + { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 33, 0, 8, 0, 0 }, + { 16, 34, 0, 8, 0, 0 }, { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, + { 16, 39, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, + { 16, 44, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, + { 16, 49, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, + { 16, 54, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, + { 16, 59, 0, 8, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { 16, 61, 0, 8, 0, 0 }, { 16, 62, 0, 8, 0, 0 }, { 16, 63, 0, 8, 0, 0 }, + { 16, 64, 0, 8, 0, 0 }, { 16, 65, 0, 8, 0, 0 }, { 16, 66, 0, 8, 0, 0 }, { 16, 67, 0, 8, 0, 0 }, { 16, 68, 0, 8, 0, 0 }, + { 16, 69, 0, 8, 0, 0 }, { 16, 70, 0, 8, 0, 0 }, { 16, 71, 0, 8, 0, 0 }, { 16, 72, 0, 8, 0, 0 }, { 16, 73, 0, 8, 0, 0 }, + { 16, 74, 0, 8, 0, 0 }, { 16, 75, 0, 8, 0, 0 }, { 16, 76, 0, 8, 0, 0 }, { 16, 77, 0, 8, 0, 0 }, { 16, 78, 0, 8, 0, 0 }, + { 16, 79, 0, 8, 0, 0 }, { 16, 80, 0, 8, 0, 0 }, { 16, 81, 0, 8, 0, 0 }, { 16, 82, 0, 8, 0, 0 }, { 16, 83, 0, 8, 0, 0 }, + { 16, 84, 0, 8, 0, 0 }, { 16, 85, 0, 8, 0, 0 }, { 16, 86, 0, 8, 0, 0 }, { 16, 87, 0, 8, 0, 0 }, { 16, 88, 0, 8, 0, 0 }, + { 16, 89, 0, 8, 0, 0 }, { 16, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, + { 16, 94, 0, 8, 0, 0 }, { 16, 95, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9519DA = { - 192, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 7, 14, 0, 16, 0, 0 }, { 8, 14, 0, 16, 0, 0 }, { 9, 13, 0, 16, 0, 0 }, - { 10, 13, 0, 16, 0, 0 }, { 11, 12, 0, 16, 0, 0 }, { 12, 11, 0, 16, 0, 0 }, { 13, 11, 0, 16, 0, 0 }, { 14, 10, 0, 16, 0, 0 }, - { 15, 9, 0, 16, 0, 0 }, { 16, 9, 0, 16, 0, 0 }, { 17, 8, 0, 16, 0, 0 }, { 18, 8, 0, 16, 0, 0 }, { 19, 7, 0, 16, 0, 0 }, - { 20, 7, 0, 16, 0, 0 }, { 21, 6, 0, 16, 0, 0 }, { 22, 6, 0, 16, 0, 0 }, { 23, 6, 0, 16, 0, 0 }, { 24, 5, 0, 16, 0, 0 }, - { 25, 5, 0, 16, 0, 0 }, { 26, 4, 0, 16, 0, 0 }, { 27, 4, 0, 16, 0, 0 }, { 28, 4, 0, 16, 0, 0 }, { 29, 3, 0, 16, 0, 0 }, - { 30, 3, 0, 16, 0, 0 }, { 31, 3, 0, 16, 0, 0 }, { 32, 2, 0, 16, 0, 0 }, { 33, 2, 0, 16, 0, 0 }, { 34, 2, 0, 16, 0, 0 }, - { 35, 2, 0, 16, 0, 0 }, { 36, 2, 0, 16, 0, 0 }, { 37, 1, 0, 16, 0, 0 }, { 38, 1, 0, 16, 0, 0 }, { 39, 1, 0, 16, 0, 0 }, - { 40, 1, 0, 16, 0, 0 }, { 41, 1, 0, 16, 0, 0 }, { 42, 0, 0, 16, 0, 0 }, { 43, 0, 0, 16, 0, 0 }, { 44, 0, 0, 16, 0, 0 }, - { 45, 0, 0, 16, 0, 0 }, { 46, 0, 0, 16, 0, 0 }, { 47, 0, 0, 16, 0, 0 }, { 48, 0, 0, 16, 0, 0 }, { 49, 0, 0, 16, 0, 0 }, - { 50, 0, 0, 16, 0, 0 }, { 51, 0, 0, 16, 0, 0 }, { 52, 0, 0, 16, 0, 0 }, { 53, 0, 0, 16, 0, 0 }, { 54, 1, 0, 16, 0, 0 }, - { 55, 1, 0, 16, 0, 0 }, { 56, 1, 0, 16, 0, 0 }, { 57, 1, 0, 16, 0, 0 }, { 58, 1, 0, 16, 0, 0 }, { 59, 2, 0, 16, 0, 0 }, - { 60, 2, 0, 16, 0, 0 }, { 61, 2, 0, 16, 0, 0 }, { 62, 2, 0, 16, 0, 0 }, { 63, 2, 0, 16, 0, 0 }, { 64, 3, 0, 16, 0, 0 }, - { 65, 3, 0, 16, 0, 0 }, { 66, 3, 0, 16, 0, 0 }, { 67, 4, 0, 16, 0, 0 }, { 68, 4, 0, 16, 0, 0 }, { 69, 4, 0, 16, 0, 0 }, - { 70, 5, 0, 16, 0, 0 }, { 71, 5, 0, 16, 0, 0 }, { 72, 6, 0, 16, 0, 0 }, { 73, 6, 0, 16, 0, 0 }, { 74, 6, 0, 16, 0, 0 }, - { 75, 7, 0, 16, 0, 0 }, { 76, 7, 0, 16, 0, 0 }, { 77, 8, 0, 16, 0, 0 }, { 78, 8, 0, 16, 0, 0 }, { 79, 9, 0, 16, 0, 0 }, - { 80, 9, 0, 16, 0, 0 }, { 81, 10, 0, 16, 0, 0 }, { 82, 11, 0, 16, 0, 0 }, { 83, 11, 0, 16, 0, 0 }, { 84, 12, 0, 16, 0, 0 }, - { 85, 13, 0, 16, 0, 0 }, { 86, 13, 0, 16, 0, 0 }, { 87, 14, 0, 16, 0, 0 }, { 88, 14, 0, 16, 0, 0 }, { 89, 15, 0, 16, 0, 0 }, - { 90, 15, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, { 94, 16, 0, 16, 0, 0 }, - { 95, 16, 0, 16, 0, 0 }, { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, - { 4, 16, 0, 16, 0, 0 }, { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, - { 9, 16, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, - { 14, 16, 0, 16, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, - { 19, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, - { 24, 16, 0, 16, 0, 0 }, { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, - { 29, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, { 32, 16, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, - { 34, 16, 0, 16, 0, 0 }, { 35, 16, 0, 16, 0, 0 }, { 36, 16, 0, 16, 0, 0 }, { 37, 16, 0, 16, 0, 0 }, { 38, 16, 0, 16, 0, 0 }, - { 39, 16, 0, 16, 0, 0 }, { 40, 16, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 42, 16, 0, 16, 0, 0 }, { 43, 16, 0, 16, 0, 0 }, - { 44, 16, 0, 16, 0, 0 }, { 45, 16, 0, 16, 0, 0 }, { 46, 16, 0, 16, 0, 0 }, { 47, 16, 0, 16, 0, 0 }, { 48, 16, 0, 16, 0, 0 }, - { 49, 16, 0, 16, 0, 0 }, { 50, 16, 0, 16, 0, 0 }, { 51, 16, 0, 16, 0, 0 }, { 52, 16, 0, 16, 0, 0 }, { 53, 16, 0, 16, 0, 0 }, - { 54, 16, 0, 16, 0, 0 }, { 55, 16, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, - { 59, 16, 0, 16, 0, 0 }, { 60, 16, 0, 16, 0, 0 }, { 61, 16, 0, 16, 0, 0 }, { 62, 16, 0, 16, 0, 0 }, { 63, 16, 0, 16, 0, 0 }, - { 64, 16, 0, 16, 0, 0 }, { 65, 16, 0, 16, 0, 0 }, { 66, 16, 0, 16, 0, 0 }, { 67, 16, 0, 16, 0, 0 }, { 68, 16, 0, 16, 0, 0 }, - { 69, 16, 0, 16, 0, 0 }, { 70, 16, 0, 16, 0, 0 }, { 71, 16, 0, 16, 0, 0 }, { 72, 16, 0, 16, 0, 0 }, { 73, 16, 0, 16, 0, 0 }, - { 74, 16, 0, 16, 0, 0 }, { 75, 16, 0, 16, 0, 0 }, { 76, 16, 0, 16, 0, 0 }, { 77, 16, 0, 16, 0, 0 }, { 78, 16, 0, 16, 0, 0 }, - { 79, 16, 0, 16, 0, 0 }, { 80, 16, 0, 16, 0, 0 }, { 81, 16, 0, 16, 0, 0 }, { 82, 16, 0, 16, 0, 0 }, { 83, 16, 0, 16, 0, 0 }, - { 84, 16, 0, 16, 0, 0 }, { 85, 16, 0, 16, 0, 0 }, { 86, 16, 0, 16, 0, 0 }, { 87, 16, 0, 16, 0, 0 }, { 88, 16, 0, 16, 0, 0 }, - { 89, 16, 0, 16, 0, 0 }, { 90, 16, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, - { 94, 16, 0, 16, 0, 0 }, { 95, 16, 0, 16, 0, 0 }, + 192, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 7, 14, 0, 16, 0, 0 }, { 8, 14, 0, 16, 0, 0 }, { 9, 13, 0, 16, 0, 0 }, + { 10, 13, 0, 16, 0, 0 }, { 11, 12, 0, 16, 0, 0 }, { 12, 11, 0, 16, 0, 0 }, { 13, 11, 0, 16, 0, 0 }, { 14, 10, 0, 16, 0, 0 }, + { 15, 9, 0, 16, 0, 0 }, { 16, 9, 0, 16, 0, 0 }, { 17, 8, 0, 16, 0, 0 }, { 18, 8, 0, 16, 0, 0 }, { 19, 7, 0, 16, 0, 0 }, + { 20, 7, 0, 16, 0, 0 }, { 21, 6, 0, 16, 0, 0 }, { 22, 6, 0, 16, 0, 0 }, { 23, 6, 0, 16, 0, 0 }, { 24, 5, 0, 16, 0, 0 }, + { 25, 5, 0, 16, 0, 0 }, { 26, 4, 0, 16, 0, 0 }, { 27, 4, 0, 16, 0, 0 }, { 28, 4, 0, 16, 0, 0 }, { 29, 3, 0, 16, 0, 0 }, + { 30, 3, 0, 16, 0, 0 }, { 31, 3, 0, 16, 0, 0 }, { 32, 2, 0, 16, 0, 0 }, { 33, 2, 0, 16, 0, 0 }, { 34, 2, 0, 16, 0, 0 }, + { 35, 2, 0, 16, 0, 0 }, { 36, 2, 0, 16, 0, 0 }, { 37, 1, 0, 16, 0, 0 }, { 38, 1, 0, 16, 0, 0 }, { 39, 1, 0, 16, 0, 0 }, + { 40, 1, 0, 16, 0, 0 }, { 41, 1, 0, 16, 0, 0 }, { 42, 0, 0, 16, 0, 0 }, { 43, 0, 0, 16, 0, 0 }, { 44, 0, 0, 16, 0, 0 }, + { 45, 0, 0, 16, 0, 0 }, { 46, 0, 0, 16, 0, 0 }, { 47, 0, 0, 16, 0, 0 }, { 48, 0, 0, 16, 0, 0 }, { 49, 0, 0, 16, 0, 0 }, + { 50, 0, 0, 16, 0, 0 }, { 51, 0, 0, 16, 0, 0 }, { 52, 0, 0, 16, 0, 0 }, { 53, 0, 0, 16, 0, 0 }, { 54, 1, 0, 16, 0, 0 }, + { 55, 1, 0, 16, 0, 0 }, { 56, 1, 0, 16, 0, 0 }, { 57, 1, 0, 16, 0, 0 }, { 58, 1, 0, 16, 0, 0 }, { 59, 2, 0, 16, 0, 0 }, + { 60, 2, 0, 16, 0, 0 }, { 61, 2, 0, 16, 0, 0 }, { 62, 2, 0, 16, 0, 0 }, { 63, 2, 0, 16, 0, 0 }, { 64, 3, 0, 16, 0, 0 }, + { 65, 3, 0, 16, 0, 0 }, { 66, 3, 0, 16, 0, 0 }, { 67, 4, 0, 16, 0, 0 }, { 68, 4, 0, 16, 0, 0 }, { 69, 4, 0, 16, 0, 0 }, + { 70, 5, 0, 16, 0, 0 }, { 71, 5, 0, 16, 0, 0 }, { 72, 6, 0, 16, 0, 0 }, { 73, 6, 0, 16, 0, 0 }, { 74, 6, 0, 16, 0, 0 }, + { 75, 7, 0, 16, 0, 0 }, { 76, 7, 0, 16, 0, 0 }, { 77, 8, 0, 16, 0, 0 }, { 78, 8, 0, 16, 0, 0 }, { 79, 9, 0, 16, 0, 0 }, + { 80, 9, 0, 16, 0, 0 }, { 81, 10, 0, 16, 0, 0 }, { 82, 11, 0, 16, 0, 0 }, { 83, 11, 0, 16, 0, 0 }, { 84, 12, 0, 16, 0, 0 }, + { 85, 13, 0, 16, 0, 0 }, { 86, 13, 0, 16, 0, 0 }, { 87, 14, 0, 16, 0, 0 }, { 88, 14, 0, 16, 0, 0 }, { 89, 15, 0, 16, 0, 0 }, + { 90, 15, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, { 94, 16, 0, 16, 0, 0 }, + { 95, 16, 0, 16, 0, 0 }, { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, + { 4, 16, 0, 16, 0, 0 }, { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, + { 9, 16, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, + { 14, 16, 0, 16, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, + { 19, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, + { 24, 16, 0, 16, 0, 0 }, { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, + { 29, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, { 32, 16, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, + { 34, 16, 0, 16, 0, 0 }, { 35, 16, 0, 16, 0, 0 }, { 36, 16, 0, 16, 0, 0 }, { 37, 16, 0, 16, 0, 0 }, { 38, 16, 0, 16, 0, 0 }, + { 39, 16, 0, 16, 0, 0 }, { 40, 16, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 42, 16, 0, 16, 0, 0 }, { 43, 16, 0, 16, 0, 0 }, + { 44, 16, 0, 16, 0, 0 }, { 45, 16, 0, 16, 0, 0 }, { 46, 16, 0, 16, 0, 0 }, { 47, 16, 0, 16, 0, 0 }, { 48, 16, 0, 16, 0, 0 }, + { 49, 16, 0, 16, 0, 0 }, { 50, 16, 0, 16, 0, 0 }, { 51, 16, 0, 16, 0, 0 }, { 52, 16, 0, 16, 0, 0 }, { 53, 16, 0, 16, 0, 0 }, + { 54, 16, 0, 16, 0, 0 }, { 55, 16, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, + { 59, 16, 0, 16, 0, 0 }, { 60, 16, 0, 16, 0, 0 }, { 61, 16, 0, 16, 0, 0 }, { 62, 16, 0, 16, 0, 0 }, { 63, 16, 0, 16, 0, 0 }, + { 64, 16, 0, 16, 0, 0 }, { 65, 16, 0, 16, 0, 0 }, { 66, 16, 0, 16, 0, 0 }, { 67, 16, 0, 16, 0, 0 }, { 68, 16, 0, 16, 0, 0 }, + { 69, 16, 0, 16, 0, 0 }, { 70, 16, 0, 16, 0, 0 }, { 71, 16, 0, 16, 0, 0 }, { 72, 16, 0, 16, 0, 0 }, { 73, 16, 0, 16, 0, 0 }, + { 74, 16, 0, 16, 0, 0 }, { 75, 16, 0, 16, 0, 0 }, { 76, 16, 0, 16, 0, 0 }, { 77, 16, 0, 16, 0, 0 }, { 78, 16, 0, 16, 0, 0 }, + { 79, 16, 0, 16, 0, 0 }, { 80, 16, 0, 16, 0, 0 }, { 81, 16, 0, 16, 0, 0 }, { 82, 16, 0, 16, 0, 0 }, { 83, 16, 0, 16, 0, 0 }, + { 84, 16, 0, 16, 0, 0 }, { 85, 16, 0, 16, 0, 0 }, { 86, 16, 0, 16, 0, 0 }, { 87, 16, 0, 16, 0, 0 }, { 88, 16, 0, 16, 0, 0 }, + { 89, 16, 0, 16, 0, 0 }, { 90, 16, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, + { 94, 16, 0, 16, 0, 0 }, { 95, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95209C = { - 192, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 14, 24, 0, 24, 0, 0 }, { 14, 23, 0, 24, 0, 0 }, { 13, 22, 0, 24, 0, 0 }, - { 13, 21, 0, 24, 0, 0 }, { 12, 20, 0, 24, 0, 0 }, { 11, 19, 0, 24, 0, 0 }, { 11, 18, 0, 24, 0, 0 }, { 10, 17, 0, 24, 0, 0 }, - { 9, 16, 0, 24, 0, 0 }, { 9, 15, 0, 24, 0, 0 }, { 8, 14, 0, 24, 0, 0 }, { 8, 13, 0, 24, 0, 0 }, { 7, 12, 0, 24, 0, 0 }, - { 7, 11, 0, 24, 0, 0 }, { 6, 10, 0, 24, 0, 0 }, { 6, 9, 0, 24, 0, 0 }, { 6, 8, 0, 24, 0, 0 }, { 5, 7, 0, 24, 0, 0 }, - { 5, 6, 0, 24, 0, 0 }, { 4, 5, 0, 24, 0, 0 }, { 4, 4, 0, 24, 0, 0 }, { 4, 3, 0, 24, 0, 0 }, { 3, 2, 0, 24, 0, 0 }, - { 3, 1, 0, 24, 0, 0 }, { 3, 0, 0, 24, 0, 0 }, { 2, -1, 0, 24, 0, 0 }, { 2, -2, 0, 24, 0, 0 }, { 2, -3, 0, 24, 0, 0 }, - { 2, -4, 0, 24, 0, 0 }, { 2, -5, 0, 24, 0, 0 }, { 1, -6, 0, 24, 0, 0 }, { 1, -7, 0, 24, 0, 0 }, { 1, -8, 0, 24, 0, 0 }, - { 1, -9, 0, 24, 0, 0 }, { 1, -10, 0, 24, 0, 0 }, { 0, -11, 0, 24, 0, 0 }, { 0, -12, 0, 24, 0, 0 }, { 0, -13, 0, 24, 0, 0 }, - { 0, -14, 0, 24, 0, 0 }, { 0, -15, 0, 24, 0, 0 }, { 0, -16, 0, 24, 0, 0 }, { 0, -17, 0, 24, 0, 0 }, { 0, -18, 0, 24, 0, 0 }, - { 0, -19, 0, 24, 0, 0 }, { 0, -20, 0, 24, 0, 0 }, { 0, -21, 0, 24, 0, 0 }, { 0, -22, 0, 24, 0, 0 }, { 1, -23, 0, 24, 0, 0 }, - { 1, -24, 0, 24, 0, 0 }, { 1, -25, 0, 24, 0, 0 }, { 1, -26, 0, 24, 0, 0 }, { 1, -27, 0, 24, 0, 0 }, { 2, -28, 0, 24, 0, 0 }, - { 2, -29, 0, 24, 0, 0 }, { 2, -30, 0, 24, 0, 0 }, { 2, -31, 0, 24, 0, 0 }, { 2, -32, 0, 24, 0, 0 }, { 3, -33, 0, 24, 0, 0 }, - { 3, -34, 0, 24, 0, 0 }, { 3, -35, 0, 24, 0, 0 }, { 4, -36, 0, 24, 0, 0 }, { 4, -37, 0, 24, 0, 0 }, { 4, -38, 0, 24, 0, 0 }, - { 5, -39, 0, 24, 0, 0 }, { 5, -40, 0, 24, 0, 0 }, { 6, -41, 0, 24, 0, 0 }, { 6, -42, 0, 24, 0, 0 }, { 6, -43, 0, 24, 0, 0 }, - { 7, -44, 0, 24, 0, 0 }, { 7, -45, 0, 24, 0, 0 }, { 8, -46, 0, 24, 0, 0 }, { 8, -47, 0, 24, 0, 0 }, { 9, -48, 0, 24, 0, 0 }, - { 9, -49, 0, 24, 0, 0 }, { 10, -50, 0, 24, 0, 0 }, { 11, -51, 0, 24, 0, 0 }, { 11, -52, 0, 24, 0, 0 }, { 12, -53, 0, 24, 0, 0 }, - { 13, -54, 0, 24, 0, 0 }, { 13, -55, 0, 24, 0, 0 }, { 14, -56, 0, 24, 0, 0 }, { 14, -57, 0, 24, 0, 0 }, { 15, -58, 0, 24, 0, 0 }, - { 15, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, { 16, -63, 0, 24, 0, 0 }, - { 16, -64, 0, 24, 0, 0 }, { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, - { 16, 27, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, - { 16, 22, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, - { 16, 17, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, - { 16, 12, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, - { 16, 7, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, - { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, { 16, -1, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, - { 16, -3, 0, 24, 0, 0 }, { 16, -4, 0, 24, 0, 0 }, { 16, -5, 0, 24, 0, 0 }, { 16, -6, 0, 24, 0, 0 }, { 16, -7, 0, 24, 0, 0 }, - { 16, -8, 0, 24, 0, 0 }, { 16, -9, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 16, -11, 0, 24, 0, 0 }, { 16, -12, 0, 24, 0, 0 }, - { 16, -13, 0, 24, 0, 0 }, { 16, -14, 0, 24, 0, 0 }, { 16, -15, 0, 24, 0, 0 }, { 16, -16, 0, 24, 0, 0 }, { 16, -17, 0, 24, 0, 0 }, - { 16, -18, 0, 24, 0, 0 }, { 16, -19, 0, 24, 0, 0 }, { 16, -20, 0, 24, 0, 0 }, { 16, -21, 0, 24, 0, 0 }, { 16, -22, 0, 24, 0, 0 }, - { 16, -23, 0, 24, 0, 0 }, { 16, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 16, -26, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, - { 16, -28, 0, 24, 0, 0 }, { 16, -29, 0, 24, 0, 0 }, { 16, -30, 0, 24, 0, 0 }, { 16, -31, 0, 24, 0, 0 }, { 16, -32, 0, 24, 0, 0 }, - { 16, -33, 0, 24, 0, 0 }, { 16, -34, 0, 24, 0, 0 }, { 16, -35, 0, 24, 0, 0 }, { 16, -36, 0, 24, 0, 0 }, { 16, -37, 0, 24, 0, 0 }, - { 16, -38, 0, 24, 0, 0 }, { 16, -39, 0, 24, 0, 0 }, { 16, -40, 0, 24, 0, 0 }, { 16, -41, 0, 24, 0, 0 }, { 16, -42, 0, 24, 0, 0 }, - { 16, -43, 0, 24, 0, 0 }, { 16, -44, 0, 24, 0, 0 }, { 16, -45, 0, 24, 0, 0 }, { 16, -46, 0, 24, 0, 0 }, { 16, -47, 0, 24, 0, 0 }, - { 16, -48, 0, 24, 0, 0 }, { 16, -49, 0, 24, 0, 0 }, { 16, -50, 0, 24, 0, 0 }, { 16, -51, 0, 24, 0, 0 }, { 16, -52, 0, 24, 0, 0 }, - { 16, -53, 0, 24, 0, 0 }, { 16, -54, 0, 24, 0, 0 }, { 16, -55, 0, 24, 0, 0 }, { 16, -56, 0, 24, 0, 0 }, { 16, -57, 0, 24, 0, 0 }, - { 16, -58, 0, 24, 0, 0 }, { 16, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, - { 16, -63, 0, 24, 0, 0 }, { 16, -64, 0, 24, 0, 0 }, + 192, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 14, 24, 0, 24, 0, 0 }, { 14, 23, 0, 24, 0, 0 }, { 13, 22, 0, 24, 0, 0 }, + { 13, 21, 0, 24, 0, 0 }, { 12, 20, 0, 24, 0, 0 }, { 11, 19, 0, 24, 0, 0 }, { 11, 18, 0, 24, 0, 0 }, { 10, 17, 0, 24, 0, 0 }, + { 9, 16, 0, 24, 0, 0 }, { 9, 15, 0, 24, 0, 0 }, { 8, 14, 0, 24, 0, 0 }, { 8, 13, 0, 24, 0, 0 }, { 7, 12, 0, 24, 0, 0 }, + { 7, 11, 0, 24, 0, 0 }, { 6, 10, 0, 24, 0, 0 }, { 6, 9, 0, 24, 0, 0 }, { 6, 8, 0, 24, 0, 0 }, { 5, 7, 0, 24, 0, 0 }, + { 5, 6, 0, 24, 0, 0 }, { 4, 5, 0, 24, 0, 0 }, { 4, 4, 0, 24, 0, 0 }, { 4, 3, 0, 24, 0, 0 }, { 3, 2, 0, 24, 0, 0 }, + { 3, 1, 0, 24, 0, 0 }, { 3, 0, 0, 24, 0, 0 }, { 2, -1, 0, 24, 0, 0 }, { 2, -2, 0, 24, 0, 0 }, { 2, -3, 0, 24, 0, 0 }, + { 2, -4, 0, 24, 0, 0 }, { 2, -5, 0, 24, 0, 0 }, { 1, -6, 0, 24, 0, 0 }, { 1, -7, 0, 24, 0, 0 }, { 1, -8, 0, 24, 0, 0 }, + { 1, -9, 0, 24, 0, 0 }, { 1, -10, 0, 24, 0, 0 }, { 0, -11, 0, 24, 0, 0 }, { 0, -12, 0, 24, 0, 0 }, { 0, -13, 0, 24, 0, 0 }, + { 0, -14, 0, 24, 0, 0 }, { 0, -15, 0, 24, 0, 0 }, { 0, -16, 0, 24, 0, 0 }, { 0, -17, 0, 24, 0, 0 }, { 0, -18, 0, 24, 0, 0 }, + { 0, -19, 0, 24, 0, 0 }, { 0, -20, 0, 24, 0, 0 }, { 0, -21, 0, 24, 0, 0 }, { 0, -22, 0, 24, 0, 0 }, { 1, -23, 0, 24, 0, 0 }, + { 1, -24, 0, 24, 0, 0 }, { 1, -25, 0, 24, 0, 0 }, { 1, -26, 0, 24, 0, 0 }, { 1, -27, 0, 24, 0, 0 }, { 2, -28, 0, 24, 0, 0 }, + { 2, -29, 0, 24, 0, 0 }, { 2, -30, 0, 24, 0, 0 }, { 2, -31, 0, 24, 0, 0 }, { 2, -32, 0, 24, 0, 0 }, { 3, -33, 0, 24, 0, 0 }, + { 3, -34, 0, 24, 0, 0 }, { 3, -35, 0, 24, 0, 0 }, { 4, -36, 0, 24, 0, 0 }, { 4, -37, 0, 24, 0, 0 }, { 4, -38, 0, 24, 0, 0 }, + { 5, -39, 0, 24, 0, 0 }, { 5, -40, 0, 24, 0, 0 }, { 6, -41, 0, 24, 0, 0 }, { 6, -42, 0, 24, 0, 0 }, { 6, -43, 0, 24, 0, 0 }, + { 7, -44, 0, 24, 0, 0 }, { 7, -45, 0, 24, 0, 0 }, { 8, -46, 0, 24, 0, 0 }, { 8, -47, 0, 24, 0, 0 }, { 9, -48, 0, 24, 0, 0 }, + { 9, -49, 0, 24, 0, 0 }, { 10, -50, 0, 24, 0, 0 }, { 11, -51, 0, 24, 0, 0 }, { 11, -52, 0, 24, 0, 0 }, { 12, -53, 0, 24, 0, 0 }, + { 13, -54, 0, 24, 0, 0 }, { 13, -55, 0, 24, 0, 0 }, { 14, -56, 0, 24, 0, 0 }, { 14, -57, 0, 24, 0, 0 }, { 15, -58, 0, 24, 0, 0 }, + { 15, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, { 16, -63, 0, 24, 0, 0 }, + { 16, -64, 0, 24, 0, 0 }, { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, + { 16, 27, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, + { 16, 22, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, + { 16, 17, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, + { 16, 12, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, + { 16, 7, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, + { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, { 16, -1, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, + { 16, -3, 0, 24, 0, 0 }, { 16, -4, 0, 24, 0, 0 }, { 16, -5, 0, 24, 0, 0 }, { 16, -6, 0, 24, 0, 0 }, { 16, -7, 0, 24, 0, 0 }, + { 16, -8, 0, 24, 0, 0 }, { 16, -9, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 16, -11, 0, 24, 0, 0 }, { 16, -12, 0, 24, 0, 0 }, + { 16, -13, 0, 24, 0, 0 }, { 16, -14, 0, 24, 0, 0 }, { 16, -15, 0, 24, 0, 0 }, { 16, -16, 0, 24, 0, 0 }, { 16, -17, 0, 24, 0, 0 }, + { 16, -18, 0, 24, 0, 0 }, { 16, -19, 0, 24, 0, 0 }, { 16, -20, 0, 24, 0, 0 }, { 16, -21, 0, 24, 0, 0 }, { 16, -22, 0, 24, 0, 0 }, + { 16, -23, 0, 24, 0, 0 }, { 16, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 16, -26, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, + { 16, -28, 0, 24, 0, 0 }, { 16, -29, 0, 24, 0, 0 }, { 16, -30, 0, 24, 0, 0 }, { 16, -31, 0, 24, 0, 0 }, { 16, -32, 0, 24, 0, 0 }, + { 16, -33, 0, 24, 0, 0 }, { 16, -34, 0, 24, 0, 0 }, { 16, -35, 0, 24, 0, 0 }, { 16, -36, 0, 24, 0, 0 }, { 16, -37, 0, 24, 0, 0 }, + { 16, -38, 0, 24, 0, 0 }, { 16, -39, 0, 24, 0, 0 }, { 16, -40, 0, 24, 0, 0 }, { 16, -41, 0, 24, 0, 0 }, { 16, -42, 0, 24, 0, 0 }, + { 16, -43, 0, 24, 0, 0 }, { 16, -44, 0, 24, 0, 0 }, { 16, -45, 0, 24, 0, 0 }, { 16, -46, 0, 24, 0, 0 }, { 16, -47, 0, 24, 0, 0 }, + { 16, -48, 0, 24, 0, 0 }, { 16, -49, 0, 24, 0, 0 }, { 16, -50, 0, 24, 0, 0 }, { 16, -51, 0, 24, 0, 0 }, { 16, -52, 0, 24, 0, 0 }, + { 16, -53, 0, 24, 0, 0 }, { 16, -54, 0, 24, 0, 0 }, { 16, -55, 0, 24, 0, 0 }, { 16, -56, 0, 24, 0, 0 }, { 16, -57, 0, 24, 0, 0 }, + { 16, -58, 0, 24, 0, 0 }, { 16, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, + { 16, -63, 0, 24, 0, 0 }, { 16, -64, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90C4D2 = { - 114, { - { 37, 16, 1, 0, 10, 0 }, { 36, 16, 2, 0, 10, 0 }, { 36, 16, 3, 0, 10, 0 }, { 36, 16, 4, 0, 10, 0 }, { 36, 16, 5, 0, 10, 0 }, - { 36, 16, 6, 0, 10, 0 }, { 35, 16, 7, 0, 10, 0 }, { 35, 16, 8, 0, 10, 0 }, { 35, 16, 9, 0, 9, 0 }, { 35, 16, 10, 0, 9, 0 }, - { 34, 16, 11, 0, 9, 0 }, { 34, 16, 12, 0, 9, 0 }, { 34, 16, 13, 0, 9, 0 }, { 33, 16, 14, 0, 9, 0 }, { 33, 16, 15, 0, 9, 0 }, - { 33, 16, 16, 0, 9, 0 }, { 32, 16, 17, 0, 9, 0 }, { 32, 16, 18, 0, 4, 0 }, { 31, 16, 19, 0, 4, 0 }, { 31, 16, 20, 0, 4, 0 }, - { 30, 16, 21, 0, 4, 0 }, { 30, 16, 22, 0, 4, 0 }, { 29, 16, 23, 0, 4, 0 }, { 29, 16, 24, 0, 4, 0 }, { 28, 16, 25, 0, 4, 0 }, - { 28, 16, 26, 0, 4, 0 }, { 27, 16, 27, 0, 3, 0 }, { 26, 16, 28, 0, 3, 0 }, { 26, 16, 29, 0, 3, 0 }, { 25, 16, 30, 0, 3, 0 }, - { 25, 16, 31, 0, 3, 0 }, { 24, 16, 32, 0, 3, 0 }, { 23, 16, 33, 0, 3, 0 }, { 22, 16, 34, 0, 3, 0 }, { 21, 16, 35, 0, 3, 0 }, - { 21, 16, 36, 0, 2, 0 }, { 20, 16, 37, 0, 2, 0 }, { 19, 16, 38, 0, 2, 0 }, { 18, 16, 39, 0, 2, 0 }, { 17, 16, 39, 0, 2, 0 }, - { 16, 16, 40, 0, 2, 0 }, { 15, 16, 41, 0, 2, 0 }, { 14, 16, 41, 0, 2, 0 }, { 13, 16, 42, 0, 2, 0 }, { 12, 16, 43, 0, 1, 0 }, - { 11, 16, 43, 0, 1, 0 }, { 10, 16, 44, 0, 1, 0 }, { 9, 16, 44, 0, 1, 0 }, { 8, 16, 45, 0, 1, 0 }, { 7, 16, 45, 0, 1, 0 }, - { 6, 16, 46, 0, 1, 0 }, { 5, 16, 46, 0, 1, 0 }, { 4, 16, 46, 0, 1, 0 }, { 3, 16, 47, 0, 0, 0 }, { 2, 16, 47, 0, 0, 0 }, - { 1, 16, 47, 0, 0, 0 }, { 0, 16, 47, 0, 0, 0 }, { -1, 16, 47, 0, 0, 0 }, { -2, 16, 47, 0, 0, 0 }, { -3, 16, 47, 0, 0, 0 }, - { -4, 16, 47, 0, 0, 0 }, { -5, 16, 46, 0, 0, 0 }, { -6, 16, 46, 0, 0, 0 }, { -7, 16, 46, 0, 0, 0 }, { -8, 16, 45, 0, 0, 0 }, - { -9, 16, 45, 0, 0, 0 }, { -10, 16, 44, 0, 0, 0 }, { -11, 16, 44, 0, 0, 0 }, { -12, 16, 43, 0, 5, 0 }, { -13, 16, 43, 0, 5, 0 }, - { -14, 16, 42, 0, 5, 0 }, { -15, 16, 41, 0, 5, 0 }, { -16, 16, 41, 0, 5, 0 }, { -17, 16, 40, 0, 5, 0 }, { -18, 16, 40, 0, 5, 0 }, - { -19, 16, 39, 0, 5, 0 }, { -20, 16, 38, 0, 5, 0 }, { -21, 16, 37, 0, 6, 0 }, { -21, 16, 36, 0, 6, 0 }, { -22, 16, 35, 0, 6, 0 }, - { -23, 16, 34, 0, 6, 0 }, { -24, 16, 33, 0, 6, 0 }, { -25, 16, 32, 0, 6, 0 }, { -25, 16, 31, 0, 6, 0 }, { -26, 16, 30, 0, 6, 0 }, - { -26, 16, 29, 0, 6, 0 }, { -27, 16, 28, 0, 7, 0 }, { -28, 16, 27, 0, 7, 0 }, { -28, 16, 26, 0, 7, 0 }, { -29, 16, 25, 0, 7, 0 }, - { -29, 16, 24, 0, 7, 0 }, { -30, 16, 23, 0, 7, 0 }, { -30, 16, 22, 0, 7, 0 }, { -31, 16, 21, 0, 7, 0 }, { -31, 16, 20, 0, 7, 0 }, - { -32, 16, 19, 0, 8, 0 }, { -32, 16, 18, 0, 8, 0 }, { -33, 16, 17, 0, 8, 0 }, { -33, 16, 16, 0, 8, 0 }, { -33, 16, 15, 0, 8, 0 }, - { -34, 16, 14, 0, 8, 0 }, { -34, 16, 13, 0, 8, 0 }, { -34, 16, 12, 0, 8, 0 }, { -35, 16, 11, 0, 8, 0 }, { -35, 16, 10, 0, 17, 0 }, - { -35, 16, 9, 0, 17, 0 }, { -35, 16, 8, 0, 17, 0 }, { -36, 16, 7, 0, 17, 0 }, { -36, 16, 6, 0, 17, 0 }, { -36, 16, 5, 0, 17, 0 }, - { -36, 16, 4, 0, 17, 0 }, { -36, 16, 3, 0, 17, 0 }, { -37, 16, 2, 0, 17, 0 }, { -37, 16, 1, 0, 18, 0 }, + 114, { + { 37, 16, 1, 0, 10, 0 }, { 36, 16, 2, 0, 10, 0 }, { 36, 16, 3, 0, 10, 0 }, { 36, 16, 4, 0, 10, 0 }, { 36, 16, 5, 0, 10, 0 }, + { 36, 16, 6, 0, 10, 0 }, { 35, 16, 7, 0, 10, 0 }, { 35, 16, 8, 0, 10, 0 }, { 35, 16, 9, 0, 9, 0 }, { 35, 16, 10, 0, 9, 0 }, + { 34, 16, 11, 0, 9, 0 }, { 34, 16, 12, 0, 9, 0 }, { 34, 16, 13, 0, 9, 0 }, { 33, 16, 14, 0, 9, 0 }, { 33, 16, 15, 0, 9, 0 }, + { 33, 16, 16, 0, 9, 0 }, { 32, 16, 17, 0, 9, 0 }, { 32, 16, 18, 0, 4, 0 }, { 31, 16, 19, 0, 4, 0 }, { 31, 16, 20, 0, 4, 0 }, + { 30, 16, 21, 0, 4, 0 }, { 30, 16, 22, 0, 4, 0 }, { 29, 16, 23, 0, 4, 0 }, { 29, 16, 24, 0, 4, 0 }, { 28, 16, 25, 0, 4, 0 }, + { 28, 16, 26, 0, 4, 0 }, { 27, 16, 27, 0, 3, 0 }, { 26, 16, 28, 0, 3, 0 }, { 26, 16, 29, 0, 3, 0 }, { 25, 16, 30, 0, 3, 0 }, + { 25, 16, 31, 0, 3, 0 }, { 24, 16, 32, 0, 3, 0 }, { 23, 16, 33, 0, 3, 0 }, { 22, 16, 34, 0, 3, 0 }, { 21, 16, 35, 0, 3, 0 }, + { 21, 16, 36, 0, 2, 0 }, { 20, 16, 37, 0, 2, 0 }, { 19, 16, 38, 0, 2, 0 }, { 18, 16, 39, 0, 2, 0 }, { 17, 16, 39, 0, 2, 0 }, + { 16, 16, 40, 0, 2, 0 }, { 15, 16, 41, 0, 2, 0 }, { 14, 16, 41, 0, 2, 0 }, { 13, 16, 42, 0, 2, 0 }, { 12, 16, 43, 0, 1, 0 }, + { 11, 16, 43, 0, 1, 0 }, { 10, 16, 44, 0, 1, 0 }, { 9, 16, 44, 0, 1, 0 }, { 8, 16, 45, 0, 1, 0 }, { 7, 16, 45, 0, 1, 0 }, + { 6, 16, 46, 0, 1, 0 }, { 5, 16, 46, 0, 1, 0 }, { 4, 16, 46, 0, 1, 0 }, { 3, 16, 47, 0, 0, 0 }, { 2, 16, 47, 0, 0, 0 }, + { 1, 16, 47, 0, 0, 0 }, { 0, 16, 47, 0, 0, 0 }, { -1, 16, 47, 0, 0, 0 }, { -2, 16, 47, 0, 0, 0 }, { -3, 16, 47, 0, 0, 0 }, + { -4, 16, 47, 0, 0, 0 }, { -5, 16, 46, 0, 0, 0 }, { -6, 16, 46, 0, 0, 0 }, { -7, 16, 46, 0, 0, 0 }, { -8, 16, 45, 0, 0, 0 }, + { -9, 16, 45, 0, 0, 0 }, { -10, 16, 44, 0, 0, 0 }, { -11, 16, 44, 0, 0, 0 }, { -12, 16, 43, 0, 5, 0 }, { -13, 16, 43, 0, 5, 0 }, + { -14, 16, 42, 0, 5, 0 }, { -15, 16, 41, 0, 5, 0 }, { -16, 16, 41, 0, 5, 0 }, { -17, 16, 40, 0, 5, 0 }, { -18, 16, 40, 0, 5, 0 }, + { -19, 16, 39, 0, 5, 0 }, { -20, 16, 38, 0, 5, 0 }, { -21, 16, 37, 0, 6, 0 }, { -21, 16, 36, 0, 6, 0 }, { -22, 16, 35, 0, 6, 0 }, + { -23, 16, 34, 0, 6, 0 }, { -24, 16, 33, 0, 6, 0 }, { -25, 16, 32, 0, 6, 0 }, { -25, 16, 31, 0, 6, 0 }, { -26, 16, 30, 0, 6, 0 }, + { -26, 16, 29, 0, 6, 0 }, { -27, 16, 28, 0, 7, 0 }, { -28, 16, 27, 0, 7, 0 }, { -28, 16, 26, 0, 7, 0 }, { -29, 16, 25, 0, 7, 0 }, + { -29, 16, 24, 0, 7, 0 }, { -30, 16, 23, 0, 7, 0 }, { -30, 16, 22, 0, 7, 0 }, { -31, 16, 21, 0, 7, 0 }, { -31, 16, 20, 0, 7, 0 }, + { -32, 16, 19, 0, 8, 0 }, { -32, 16, 18, 0, 8, 0 }, { -33, 16, 17, 0, 8, 0 }, { -33, 16, 16, 0, 8, 0 }, { -33, 16, 15, 0, 8, 0 }, + { -34, 16, 14, 0, 8, 0 }, { -34, 16, 13, 0, 8, 0 }, { -34, 16, 12, 0, 8, 0 }, { -35, 16, 11, 0, 8, 0 }, { -35, 16, 10, 0, 17, 0 }, + { -35, 16, 9, 0, 17, 0 }, { -35, 16, 8, 0, 17, 0 }, { -36, 16, 7, 0, 17, 0 }, { -36, 16, 6, 0, 17, 0 }, { -36, 16, 5, 0, 17, 0 }, + { -36, 16, 4, 0, 17, 0 }, { -36, 16, 3, 0, 17, 0 }, { -37, 16, 2, 0, 17, 0 }, { -37, 16, 1, 0, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90C8D6 = { - 114, { - { 16, -6, 1, 8, 10, 0 }, { 16, -5, 2, 8, 10, 0 }, { 16, -5, 3, 8, 10, 0 }, { 16, -5, 4, 8, 10, 0 }, { 16, -5, 5, 8, 10, 0 }, - { 16, -5, 6, 8, 10, 0 }, { 16, -4, 7, 8, 10, 0 }, { 16, -4, 8, 8, 10, 0 }, { 16, -4, 9, 8, 9, 0 }, { 16, -4, 10, 8, 9, 0 }, - { 16, -3, 11, 8, 9, 0 }, { 16, -3, 12, 8, 9, 0 }, { 16, -3, 13, 8, 9, 0 }, { 16, -2, 14, 8, 9, 0 }, { 16, -2, 15, 8, 9, 0 }, - { 16, -2, 16, 8, 9, 0 }, { 16, -1, 17, 8, 9, 0 }, { 16, -1, 18, 8, 4, 0 }, { 16, 0, 19, 8, 4, 0 }, { 16, 0, 20, 8, 4, 0 }, - { 16, 1, 21, 8, 4, 0 }, { 16, 1, 22, 8, 4, 0 }, { 16, 2, 23, 8, 4, 0 }, { 16, 2, 24, 8, 4, 0 }, { 16, 3, 25, 8, 4, 0 }, - { 16, 3, 26, 8, 4, 0 }, { 16, 4, 27, 8, 3, 0 }, { 16, 5, 28, 8, 3, 0 }, { 16, 5, 29, 8, 3, 0 }, { 16, 6, 30, 8, 3, 0 }, - { 16, 6, 31, 8, 3, 0 }, { 16, 7, 32, 8, 3, 0 }, { 16, 8, 33, 8, 3, 0 }, { 16, 9, 34, 8, 3, 0 }, { 16, 10, 35, 8, 3, 0 }, - { 16, 10, 36, 8, 2, 0 }, { 16, 11, 37, 8, 2, 0 }, { 16, 12, 38, 8, 2, 0 }, { 16, 13, 39, 8, 2, 0 }, { 16, 14, 39, 8, 2, 0 }, - { 16, 15, 40, 8, 2, 0 }, { 16, 16, 41, 8, 2, 0 }, { 16, 17, 41, 8, 2, 0 }, { 16, 18, 42, 8, 2, 0 }, { 16, 19, 43, 8, 1, 0 }, - { 16, 20, 43, 8, 1, 0 }, { 16, 21, 44, 8, 1, 0 }, { 16, 22, 44, 8, 1, 0 }, { 16, 23, 45, 8, 1, 0 }, { 16, 24, 45, 8, 1, 0 }, - { 16, 25, 46, 8, 1, 0 }, { 16, 26, 46, 8, 1, 0 }, { 16, 27, 46, 8, 1, 0 }, { 16, 28, 47, 8, 0, 0 }, { 16, 29, 47, 8, 0, 0 }, - { 16, 30, 47, 8, 0, 0 }, { 16, 31, 47, 8, 0, 0 }, { 16, 32, 47, 8, 0, 0 }, { 16, 33, 47, 8, 0, 0 }, { 16, 34, 47, 8, 0, 0 }, - { 16, 35, 47, 8, 0, 0 }, { 16, 36, 46, 8, 0, 0 }, { 16, 37, 46, 8, 0, 0 }, { 16, 38, 46, 8, 0, 0 }, { 16, 39, 45, 8, 0, 0 }, - { 16, 40, 45, 8, 0, 0 }, { 16, 41, 44, 8, 0, 0 }, { 16, 42, 44, 8, 0, 0 }, { 16, 43, 43, 8, 5, 0 }, { 16, 44, 43, 8, 5, 0 }, - { 16, 45, 42, 8, 5, 0 }, { 16, 46, 41, 8, 5, 0 }, { 16, 47, 41, 8, 5, 0 }, { 16, 48, 40, 8, 5, 0 }, { 16, 49, 40, 8, 5, 0 }, - { 16, 50, 39, 8, 5, 0 }, { 16, 51, 38, 8, 5, 0 }, { 16, 52, 37, 8, 6, 0 }, { 16, 52, 36, 8, 6, 0 }, { 16, 53, 35, 8, 6, 0 }, - { 16, 54, 34, 8, 6, 0 }, { 16, 55, 33, 8, 6, 0 }, { 16, 56, 32, 8, 6, 0 }, { 16, 56, 31, 8, 6, 0 }, { 16, 57, 30, 8, 6, 0 }, - { 16, 57, 29, 8, 6, 0 }, { 16, 58, 28, 8, 7, 0 }, { 16, 59, 27, 8, 7, 0 }, { 16, 59, 26, 8, 7, 0 }, { 16, 60, 25, 8, 7, 0 }, - { 16, 60, 24, 8, 7, 0 }, { 16, 61, 23, 8, 7, 0 }, { 16, 61, 22, 8, 7, 0 }, { 16, 62, 21, 8, 7, 0 }, { 16, 62, 20, 8, 7, 0 }, - { 16, 63, 19, 8, 8, 0 }, { 16, 63, 18, 8, 8, 0 }, { 16, 64, 17, 8, 8, 0 }, { 16, 64, 16, 8, 8, 0 }, { 16, 64, 15, 8, 8, 0 }, - { 16, 65, 14, 8, 8, 0 }, { 16, 65, 13, 8, 8, 0 }, { 16, 65, 12, 8, 8, 0 }, { 16, 66, 11, 8, 8, 0 }, { 16, 66, 10, 8, 17, 0 }, - { 16, 66, 9, 8, 17, 0 }, { 16, 66, 8, 8, 17, 0 }, { 16, 67, 7, 8, 17, 0 }, { 16, 67, 6, 8, 17, 0 }, { 16, 67, 5, 8, 17, 0 }, - { 16, 67, 4, 8, 17, 0 }, { 16, 67, 3, 8, 17, 0 }, { 16, 68, 2, 8, 17, 0 }, { 16, 68, 1, 8, 18, 0 }, + 114, { + { 16, -6, 1, 8, 10, 0 }, { 16, -5, 2, 8, 10, 0 }, { 16, -5, 3, 8, 10, 0 }, { 16, -5, 4, 8, 10, 0 }, { 16, -5, 5, 8, 10, 0 }, + { 16, -5, 6, 8, 10, 0 }, { 16, -4, 7, 8, 10, 0 }, { 16, -4, 8, 8, 10, 0 }, { 16, -4, 9, 8, 9, 0 }, { 16, -4, 10, 8, 9, 0 }, + { 16, -3, 11, 8, 9, 0 }, { 16, -3, 12, 8, 9, 0 }, { 16, -3, 13, 8, 9, 0 }, { 16, -2, 14, 8, 9, 0 }, { 16, -2, 15, 8, 9, 0 }, + { 16, -2, 16, 8, 9, 0 }, { 16, -1, 17, 8, 9, 0 }, { 16, -1, 18, 8, 4, 0 }, { 16, 0, 19, 8, 4, 0 }, { 16, 0, 20, 8, 4, 0 }, + { 16, 1, 21, 8, 4, 0 }, { 16, 1, 22, 8, 4, 0 }, { 16, 2, 23, 8, 4, 0 }, { 16, 2, 24, 8, 4, 0 }, { 16, 3, 25, 8, 4, 0 }, + { 16, 3, 26, 8, 4, 0 }, { 16, 4, 27, 8, 3, 0 }, { 16, 5, 28, 8, 3, 0 }, { 16, 5, 29, 8, 3, 0 }, { 16, 6, 30, 8, 3, 0 }, + { 16, 6, 31, 8, 3, 0 }, { 16, 7, 32, 8, 3, 0 }, { 16, 8, 33, 8, 3, 0 }, { 16, 9, 34, 8, 3, 0 }, { 16, 10, 35, 8, 3, 0 }, + { 16, 10, 36, 8, 2, 0 }, { 16, 11, 37, 8, 2, 0 }, { 16, 12, 38, 8, 2, 0 }, { 16, 13, 39, 8, 2, 0 }, { 16, 14, 39, 8, 2, 0 }, + { 16, 15, 40, 8, 2, 0 }, { 16, 16, 41, 8, 2, 0 }, { 16, 17, 41, 8, 2, 0 }, { 16, 18, 42, 8, 2, 0 }, { 16, 19, 43, 8, 1, 0 }, + { 16, 20, 43, 8, 1, 0 }, { 16, 21, 44, 8, 1, 0 }, { 16, 22, 44, 8, 1, 0 }, { 16, 23, 45, 8, 1, 0 }, { 16, 24, 45, 8, 1, 0 }, + { 16, 25, 46, 8, 1, 0 }, { 16, 26, 46, 8, 1, 0 }, { 16, 27, 46, 8, 1, 0 }, { 16, 28, 47, 8, 0, 0 }, { 16, 29, 47, 8, 0, 0 }, + { 16, 30, 47, 8, 0, 0 }, { 16, 31, 47, 8, 0, 0 }, { 16, 32, 47, 8, 0, 0 }, { 16, 33, 47, 8, 0, 0 }, { 16, 34, 47, 8, 0, 0 }, + { 16, 35, 47, 8, 0, 0 }, { 16, 36, 46, 8, 0, 0 }, { 16, 37, 46, 8, 0, 0 }, { 16, 38, 46, 8, 0, 0 }, { 16, 39, 45, 8, 0, 0 }, + { 16, 40, 45, 8, 0, 0 }, { 16, 41, 44, 8, 0, 0 }, { 16, 42, 44, 8, 0, 0 }, { 16, 43, 43, 8, 5, 0 }, { 16, 44, 43, 8, 5, 0 }, + { 16, 45, 42, 8, 5, 0 }, { 16, 46, 41, 8, 5, 0 }, { 16, 47, 41, 8, 5, 0 }, { 16, 48, 40, 8, 5, 0 }, { 16, 49, 40, 8, 5, 0 }, + { 16, 50, 39, 8, 5, 0 }, { 16, 51, 38, 8, 5, 0 }, { 16, 52, 37, 8, 6, 0 }, { 16, 52, 36, 8, 6, 0 }, { 16, 53, 35, 8, 6, 0 }, + { 16, 54, 34, 8, 6, 0 }, { 16, 55, 33, 8, 6, 0 }, { 16, 56, 32, 8, 6, 0 }, { 16, 56, 31, 8, 6, 0 }, { 16, 57, 30, 8, 6, 0 }, + { 16, 57, 29, 8, 6, 0 }, { 16, 58, 28, 8, 7, 0 }, { 16, 59, 27, 8, 7, 0 }, { 16, 59, 26, 8, 7, 0 }, { 16, 60, 25, 8, 7, 0 }, + { 16, 60, 24, 8, 7, 0 }, { 16, 61, 23, 8, 7, 0 }, { 16, 61, 22, 8, 7, 0 }, { 16, 62, 21, 8, 7, 0 }, { 16, 62, 20, 8, 7, 0 }, + { 16, 63, 19, 8, 8, 0 }, { 16, 63, 18, 8, 8, 0 }, { 16, 64, 17, 8, 8, 0 }, { 16, 64, 16, 8, 8, 0 }, { 16, 64, 15, 8, 8, 0 }, + { 16, 65, 14, 8, 8, 0 }, { 16, 65, 13, 8, 8, 0 }, { 16, 65, 12, 8, 8, 0 }, { 16, 66, 11, 8, 8, 0 }, { 16, 66, 10, 8, 17, 0 }, + { 16, 66, 9, 8, 17, 0 }, { 16, 66, 8, 8, 17, 0 }, { 16, 67, 7, 8, 17, 0 }, { 16, 67, 6, 8, 17, 0 }, { 16, 67, 5, 8, 17, 0 }, + { 16, 67, 4, 8, 17, 0 }, { 16, 67, 3, 8, 17, 0 }, { 16, 68, 2, 8, 17, 0 }, { 16, 68, 1, 8, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90CCDA = { - 114, { - { -6, 16, 1, 16, 10, 0 }, { -5, 16, 2, 16, 10, 0 }, { -5, 16, 3, 16, 10, 0 }, { -5, 16, 4, 16, 10, 0 }, { -5, 16, 5, 16, 10, 0 }, - { -5, 16, 6, 16, 10, 0 }, { -4, 16, 7, 16, 10, 0 }, { -4, 16, 8, 16, 10, 0 }, { -4, 16, 9, 16, 9, 0 }, { -4, 16, 10, 16, 9, 0 }, - { -3, 16, 11, 16, 9, 0 }, { -3, 16, 12, 16, 9, 0 }, { -3, 16, 13, 16, 9, 0 }, { -2, 16, 14, 16, 9, 0 }, { -2, 16, 15, 16, 9, 0 }, - { -2, 16, 16, 16, 9, 0 }, { -1, 16, 17, 16, 9, 0 }, { -1, 16, 18, 16, 4, 0 }, { 0, 16, 19, 16, 4, 0 }, { 0, 16, 20, 16, 4, 0 }, - { 1, 16, 21, 16, 4, 0 }, { 1, 16, 22, 16, 4, 0 }, { 2, 16, 23, 16, 4, 0 }, { 2, 16, 24, 16, 4, 0 }, { 3, 16, 25, 16, 4, 0 }, - { 3, 16, 26, 16, 4, 0 }, { 4, 16, 27, 16, 3, 0 }, { 5, 16, 28, 16, 3, 0 }, { 5, 16, 29, 16, 3, 0 }, { 6, 16, 30, 16, 3, 0 }, - { 6, 16, 31, 16, 3, 0 }, { 7, 16, 32, 16, 3, 0 }, { 8, 16, 33, 16, 3, 0 }, { 9, 16, 34, 16, 3, 0 }, { 10, 16, 35, 16, 3, 0 }, - { 10, 16, 36, 16, 2, 0 }, { 11, 16, 37, 16, 2, 0 }, { 12, 16, 38, 16, 2, 0 }, { 13, 16, 39, 16, 2, 0 }, { 14, 16, 39, 16, 2, 0 }, - { 15, 16, 40, 16, 2, 0 }, { 16, 16, 41, 16, 2, 0 }, { 17, 16, 41, 16, 2, 0 }, { 18, 16, 42, 16, 2, 0 }, { 19, 16, 43, 16, 1, 0 }, - { 20, 16, 43, 16, 1, 0 }, { 21, 16, 44, 16, 1, 0 }, { 22, 16, 44, 16, 1, 0 }, { 23, 16, 45, 16, 1, 0 }, { 24, 16, 45, 16, 1, 0 }, - { 25, 16, 46, 16, 1, 0 }, { 26, 16, 46, 16, 1, 0 }, { 27, 16, 46, 16, 1, 0 }, { 28, 16, 47, 16, 0, 0 }, { 29, 16, 47, 16, 0, 0 }, - { 30, 16, 47, 16, 0, 0 }, { 31, 16, 47, 16, 0, 0 }, { 32, 16, 47, 16, 0, 0 }, { 33, 16, 47, 16, 0, 0 }, { 34, 16, 47, 16, 0, 0 }, - { 35, 16, 47, 16, 0, 0 }, { 36, 16, 46, 16, 0, 0 }, { 37, 16, 46, 16, 0, 0 }, { 38, 16, 46, 16, 0, 0 }, { 39, 16, 45, 16, 0, 0 }, - { 40, 16, 45, 16, 0, 0 }, { 41, 16, 44, 16, 0, 0 }, { 42, 16, 44, 16, 0, 0 }, { 43, 16, 43, 16, 5, 0 }, { 44, 16, 43, 16, 5, 0 }, - { 45, 16, 42, 16, 5, 0 }, { 46, 16, 41, 16, 5, 0 }, { 47, 16, 41, 16, 5, 0 }, { 48, 16, 40, 16, 5, 0 }, { 49, 16, 40, 16, 5, 0 }, - { 50, 16, 39, 16, 5, 0 }, { 51, 16, 38, 16, 5, 0 }, { 52, 16, 37, 16, 6, 0 }, { 52, 16, 36, 16, 6, 0 }, { 53, 16, 35, 16, 6, 0 }, - { 54, 16, 34, 16, 6, 0 }, { 55, 16, 33, 16, 6, 0 }, { 56, 16, 32, 16, 6, 0 }, { 56, 16, 31, 16, 6, 0 }, { 57, 16, 30, 16, 6, 0 }, - { 57, 16, 29, 16, 6, 0 }, { 58, 16, 28, 16, 7, 0 }, { 59, 16, 27, 16, 7, 0 }, { 59, 16, 26, 16, 7, 0 }, { 60, 16, 25, 16, 7, 0 }, - { 60, 16, 24, 16, 7, 0 }, { 61, 16, 23, 16, 7, 0 }, { 61, 16, 22, 16, 7, 0 }, { 62, 16, 21, 16, 7, 0 }, { 62, 16, 20, 16, 7, 0 }, - { 63, 16, 19, 16, 8, 0 }, { 63, 16, 18, 16, 8, 0 }, { 64, 16, 17, 16, 8, 0 }, { 64, 16, 16, 16, 8, 0 }, { 64, 16, 15, 16, 8, 0 }, - { 65, 16, 14, 16, 8, 0 }, { 65, 16, 13, 16, 8, 0 }, { 65, 16, 12, 16, 8, 0 }, { 66, 16, 11, 16, 8, 0 }, { 66, 16, 10, 16, 17, 0 }, - { 66, 16, 9, 16, 17, 0 }, { 66, 16, 8, 16, 17, 0 }, { 67, 16, 7, 16, 17, 0 }, { 67, 16, 6, 16, 17, 0 }, { 67, 16, 5, 16, 17, 0 }, - { 67, 16, 4, 16, 17, 0 }, { 67, 16, 3, 16, 17, 0 }, { 68, 16, 2, 16, 17, 0 }, { 68, 16, 1, 16, 18, 0 }, + 114, { + { -6, 16, 1, 16, 10, 0 }, { -5, 16, 2, 16, 10, 0 }, { -5, 16, 3, 16, 10, 0 }, { -5, 16, 4, 16, 10, 0 }, { -5, 16, 5, 16, 10, 0 }, + { -5, 16, 6, 16, 10, 0 }, { -4, 16, 7, 16, 10, 0 }, { -4, 16, 8, 16, 10, 0 }, { -4, 16, 9, 16, 9, 0 }, { -4, 16, 10, 16, 9, 0 }, + { -3, 16, 11, 16, 9, 0 }, { -3, 16, 12, 16, 9, 0 }, { -3, 16, 13, 16, 9, 0 }, { -2, 16, 14, 16, 9, 0 }, { -2, 16, 15, 16, 9, 0 }, + { -2, 16, 16, 16, 9, 0 }, { -1, 16, 17, 16, 9, 0 }, { -1, 16, 18, 16, 4, 0 }, { 0, 16, 19, 16, 4, 0 }, { 0, 16, 20, 16, 4, 0 }, + { 1, 16, 21, 16, 4, 0 }, { 1, 16, 22, 16, 4, 0 }, { 2, 16, 23, 16, 4, 0 }, { 2, 16, 24, 16, 4, 0 }, { 3, 16, 25, 16, 4, 0 }, + { 3, 16, 26, 16, 4, 0 }, { 4, 16, 27, 16, 3, 0 }, { 5, 16, 28, 16, 3, 0 }, { 5, 16, 29, 16, 3, 0 }, { 6, 16, 30, 16, 3, 0 }, + { 6, 16, 31, 16, 3, 0 }, { 7, 16, 32, 16, 3, 0 }, { 8, 16, 33, 16, 3, 0 }, { 9, 16, 34, 16, 3, 0 }, { 10, 16, 35, 16, 3, 0 }, + { 10, 16, 36, 16, 2, 0 }, { 11, 16, 37, 16, 2, 0 }, { 12, 16, 38, 16, 2, 0 }, { 13, 16, 39, 16, 2, 0 }, { 14, 16, 39, 16, 2, 0 }, + { 15, 16, 40, 16, 2, 0 }, { 16, 16, 41, 16, 2, 0 }, { 17, 16, 41, 16, 2, 0 }, { 18, 16, 42, 16, 2, 0 }, { 19, 16, 43, 16, 1, 0 }, + { 20, 16, 43, 16, 1, 0 }, { 21, 16, 44, 16, 1, 0 }, { 22, 16, 44, 16, 1, 0 }, { 23, 16, 45, 16, 1, 0 }, { 24, 16, 45, 16, 1, 0 }, + { 25, 16, 46, 16, 1, 0 }, { 26, 16, 46, 16, 1, 0 }, { 27, 16, 46, 16, 1, 0 }, { 28, 16, 47, 16, 0, 0 }, { 29, 16, 47, 16, 0, 0 }, + { 30, 16, 47, 16, 0, 0 }, { 31, 16, 47, 16, 0, 0 }, { 32, 16, 47, 16, 0, 0 }, { 33, 16, 47, 16, 0, 0 }, { 34, 16, 47, 16, 0, 0 }, + { 35, 16, 47, 16, 0, 0 }, { 36, 16, 46, 16, 0, 0 }, { 37, 16, 46, 16, 0, 0 }, { 38, 16, 46, 16, 0, 0 }, { 39, 16, 45, 16, 0, 0 }, + { 40, 16, 45, 16, 0, 0 }, { 41, 16, 44, 16, 0, 0 }, { 42, 16, 44, 16, 0, 0 }, { 43, 16, 43, 16, 5, 0 }, { 44, 16, 43, 16, 5, 0 }, + { 45, 16, 42, 16, 5, 0 }, { 46, 16, 41, 16, 5, 0 }, { 47, 16, 41, 16, 5, 0 }, { 48, 16, 40, 16, 5, 0 }, { 49, 16, 40, 16, 5, 0 }, + { 50, 16, 39, 16, 5, 0 }, { 51, 16, 38, 16, 5, 0 }, { 52, 16, 37, 16, 6, 0 }, { 52, 16, 36, 16, 6, 0 }, { 53, 16, 35, 16, 6, 0 }, + { 54, 16, 34, 16, 6, 0 }, { 55, 16, 33, 16, 6, 0 }, { 56, 16, 32, 16, 6, 0 }, { 56, 16, 31, 16, 6, 0 }, { 57, 16, 30, 16, 6, 0 }, + { 57, 16, 29, 16, 6, 0 }, { 58, 16, 28, 16, 7, 0 }, { 59, 16, 27, 16, 7, 0 }, { 59, 16, 26, 16, 7, 0 }, { 60, 16, 25, 16, 7, 0 }, + { 60, 16, 24, 16, 7, 0 }, { 61, 16, 23, 16, 7, 0 }, { 61, 16, 22, 16, 7, 0 }, { 62, 16, 21, 16, 7, 0 }, { 62, 16, 20, 16, 7, 0 }, + { 63, 16, 19, 16, 8, 0 }, { 63, 16, 18, 16, 8, 0 }, { 64, 16, 17, 16, 8, 0 }, { 64, 16, 16, 16, 8, 0 }, { 64, 16, 15, 16, 8, 0 }, + { 65, 16, 14, 16, 8, 0 }, { 65, 16, 13, 16, 8, 0 }, { 65, 16, 12, 16, 8, 0 }, { 66, 16, 11, 16, 8, 0 }, { 66, 16, 10, 16, 17, 0 }, + { 66, 16, 9, 16, 17, 0 }, { 66, 16, 8, 16, 17, 0 }, { 67, 16, 7, 16, 17, 0 }, { 67, 16, 6, 16, 17, 0 }, { 67, 16, 5, 16, 17, 0 }, + { 67, 16, 4, 16, 17, 0 }, { 67, 16, 3, 16, 17, 0 }, { 68, 16, 2, 16, 17, 0 }, { 68, 16, 1, 16, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90D0DE = { - 114, { - { 16, 37, 1, 24, 10, 0 }, { 16, 36, 2, 24, 10, 0 }, { 16, 36, 3, 24, 10, 0 }, { 16, 36, 4, 24, 10, 0 }, { 16, 36, 5, 24, 10, 0 }, - { 16, 36, 6, 24, 10, 0 }, { 16, 35, 7, 24, 10, 0 }, { 16, 35, 8, 24, 10, 0 }, { 16, 35, 9, 24, 9, 0 }, { 16, 35, 10, 24, 9, 0 }, - { 16, 34, 11, 24, 9, 0 }, { 16, 34, 12, 24, 9, 0 }, { 16, 34, 13, 24, 9, 0 }, { 16, 33, 14, 24, 9, 0 }, { 16, 33, 15, 24, 9, 0 }, - { 16, 33, 16, 24, 9, 0 }, { 16, 32, 17, 24, 9, 0 }, { 16, 32, 18, 24, 4, 0 }, { 16, 31, 19, 24, 4, 0 }, { 16, 31, 20, 24, 4, 0 }, - { 16, 30, 21, 24, 4, 0 }, { 16, 30, 22, 24, 4, 0 }, { 16, 29, 23, 24, 4, 0 }, { 16, 29, 24, 24, 4, 0 }, { 16, 28, 25, 24, 4, 0 }, - { 16, 28, 26, 24, 4, 0 }, { 16, 27, 27, 24, 3, 0 }, { 16, 26, 28, 24, 3, 0 }, { 16, 26, 29, 24, 3, 0 }, { 16, 25, 30, 24, 3, 0 }, - { 16, 25, 31, 24, 3, 0 }, { 16, 24, 32, 24, 3, 0 }, { 16, 23, 33, 24, 3, 0 }, { 16, 22, 34, 24, 3, 0 }, { 16, 21, 35, 24, 3, 0 }, - { 16, 21, 36, 24, 2, 0 }, { 16, 20, 37, 24, 2, 0 }, { 16, 19, 38, 24, 2, 0 }, { 16, 18, 39, 24, 2, 0 }, { 16, 17, 39, 24, 2, 0 }, - { 16, 16, 40, 24, 2, 0 }, { 16, 15, 41, 24, 2, 0 }, { 16, 14, 41, 24, 2, 0 }, { 16, 13, 42, 24, 2, 0 }, { 16, 12, 43, 24, 1, 0 }, - { 16, 11, 43, 24, 1, 0 }, { 16, 10, 44, 24, 1, 0 }, { 16, 9, 44, 24, 1, 0 }, { 16, 8, 45, 24, 1, 0 }, { 16, 7, 45, 24, 1, 0 }, - { 16, 6, 46, 24, 1, 0 }, { 16, 5, 46, 24, 1, 0 }, { 16, 4, 46, 24, 1, 0 }, { 16, 3, 47, 24, 0, 0 }, { 16, 2, 47, 24, 0, 0 }, - { 16, 1, 47, 24, 0, 0 }, { 16, 0, 47, 24, 0, 0 }, { 16, -1, 47, 24, 0, 0 }, { 16, -2, 47, 24, 0, 0 }, { 16, -3, 47, 24, 0, 0 }, - { 16, -4, 47, 24, 0, 0 }, { 16, -5, 46, 24, 0, 0 }, { 16, -6, 46, 24, 0, 0 }, { 16, -7, 46, 24, 0, 0 }, { 16, -8, 45, 24, 0, 0 }, - { 16, -9, 45, 24, 0, 0 }, { 16, -10, 44, 24, 0, 0 }, { 16, -11, 44, 24, 0, 0 }, { 16, -12, 43, 24, 5, 0 }, { 16, -13, 43, 24, 5, 0 }, - { 16, -14, 42, 24, 5, 0 }, { 16, -15, 41, 24, 5, 0 }, { 16, -16, 41, 24, 5, 0 }, { 16, -17, 40, 24, 5, 0 }, { 16, -18, 40, 24, 5, 0 }, - { 16, -19, 39, 24, 5, 0 }, { 16, -20, 38, 24, 5, 0 }, { 16, -21, 37, 24, 6, 0 }, { 16, -21, 36, 24, 6, 0 }, { 16, -22, 35, 24, 6, 0 }, - { 16, -23, 34, 24, 6, 0 }, { 16, -24, 33, 24, 6, 0 }, { 16, -25, 32, 24, 6, 0 }, { 16, -25, 31, 24, 6, 0 }, { 16, -26, 30, 24, 6, 0 }, - { 16, -26, 29, 24, 6, 0 }, { 16, -27, 28, 24, 7, 0 }, { 16, -28, 27, 24, 7, 0 }, { 16, -28, 26, 24, 7, 0 }, { 16, -29, 25, 24, 7, 0 }, - { 16, -29, 24, 24, 7, 0 }, { 16, -30, 23, 24, 7, 0 }, { 16, -30, 22, 24, 7, 0 }, { 16, -31, 21, 24, 7, 0 }, { 16, -31, 20, 24, 7, 0 }, - { 16, -32, 19, 24, 8, 0 }, { 16, -32, 18, 24, 8, 0 }, { 16, -33, 17, 24, 8, 0 }, { 16, -33, 16, 24, 8, 0 }, { 16, -33, 15, 24, 8, 0 }, - { 16, -34, 14, 24, 8, 0 }, { 16, -34, 13, 24, 8, 0 }, { 16, -34, 12, 24, 8, 0 }, { 16, -35, 11, 24, 8, 0 }, { 16, -35, 10, 24, 17, 0 }, - { 16, -35, 9, 24, 17, 0 }, { 16, -35, 8, 24, 17, 0 }, { 16, -36, 7, 24, 17, 0 }, { 16, -36, 6, 24, 17, 0 }, { 16, -36, 5, 24, 17, 0 }, - { 16, -36, 4, 24, 17, 0 }, { 16, -36, 3, 24, 17, 0 }, { 16, -37, 2, 24, 17, 0 }, { 16, -37, 1, 24, 18, 0 }, + 114, { + { 16, 37, 1, 24, 10, 0 }, { 16, 36, 2, 24, 10, 0 }, { 16, 36, 3, 24, 10, 0 }, { 16, 36, 4, 24, 10, 0 }, { 16, 36, 5, 24, 10, 0 }, + { 16, 36, 6, 24, 10, 0 }, { 16, 35, 7, 24, 10, 0 }, { 16, 35, 8, 24, 10, 0 }, { 16, 35, 9, 24, 9, 0 }, { 16, 35, 10, 24, 9, 0 }, + { 16, 34, 11, 24, 9, 0 }, { 16, 34, 12, 24, 9, 0 }, { 16, 34, 13, 24, 9, 0 }, { 16, 33, 14, 24, 9, 0 }, { 16, 33, 15, 24, 9, 0 }, + { 16, 33, 16, 24, 9, 0 }, { 16, 32, 17, 24, 9, 0 }, { 16, 32, 18, 24, 4, 0 }, { 16, 31, 19, 24, 4, 0 }, { 16, 31, 20, 24, 4, 0 }, + { 16, 30, 21, 24, 4, 0 }, { 16, 30, 22, 24, 4, 0 }, { 16, 29, 23, 24, 4, 0 }, { 16, 29, 24, 24, 4, 0 }, { 16, 28, 25, 24, 4, 0 }, + { 16, 28, 26, 24, 4, 0 }, { 16, 27, 27, 24, 3, 0 }, { 16, 26, 28, 24, 3, 0 }, { 16, 26, 29, 24, 3, 0 }, { 16, 25, 30, 24, 3, 0 }, + { 16, 25, 31, 24, 3, 0 }, { 16, 24, 32, 24, 3, 0 }, { 16, 23, 33, 24, 3, 0 }, { 16, 22, 34, 24, 3, 0 }, { 16, 21, 35, 24, 3, 0 }, + { 16, 21, 36, 24, 2, 0 }, { 16, 20, 37, 24, 2, 0 }, { 16, 19, 38, 24, 2, 0 }, { 16, 18, 39, 24, 2, 0 }, { 16, 17, 39, 24, 2, 0 }, + { 16, 16, 40, 24, 2, 0 }, { 16, 15, 41, 24, 2, 0 }, { 16, 14, 41, 24, 2, 0 }, { 16, 13, 42, 24, 2, 0 }, { 16, 12, 43, 24, 1, 0 }, + { 16, 11, 43, 24, 1, 0 }, { 16, 10, 44, 24, 1, 0 }, { 16, 9, 44, 24, 1, 0 }, { 16, 8, 45, 24, 1, 0 }, { 16, 7, 45, 24, 1, 0 }, + { 16, 6, 46, 24, 1, 0 }, { 16, 5, 46, 24, 1, 0 }, { 16, 4, 46, 24, 1, 0 }, { 16, 3, 47, 24, 0, 0 }, { 16, 2, 47, 24, 0, 0 }, + { 16, 1, 47, 24, 0, 0 }, { 16, 0, 47, 24, 0, 0 }, { 16, -1, 47, 24, 0, 0 }, { 16, -2, 47, 24, 0, 0 }, { 16, -3, 47, 24, 0, 0 }, + { 16, -4, 47, 24, 0, 0 }, { 16, -5, 46, 24, 0, 0 }, { 16, -6, 46, 24, 0, 0 }, { 16, -7, 46, 24, 0, 0 }, { 16, -8, 45, 24, 0, 0 }, + { 16, -9, 45, 24, 0, 0 }, { 16, -10, 44, 24, 0, 0 }, { 16, -11, 44, 24, 0, 0 }, { 16, -12, 43, 24, 5, 0 }, { 16, -13, 43, 24, 5, 0 }, + { 16, -14, 42, 24, 5, 0 }, { 16, -15, 41, 24, 5, 0 }, { 16, -16, 41, 24, 5, 0 }, { 16, -17, 40, 24, 5, 0 }, { 16, -18, 40, 24, 5, 0 }, + { 16, -19, 39, 24, 5, 0 }, { 16, -20, 38, 24, 5, 0 }, { 16, -21, 37, 24, 6, 0 }, { 16, -21, 36, 24, 6, 0 }, { 16, -22, 35, 24, 6, 0 }, + { 16, -23, 34, 24, 6, 0 }, { 16, -24, 33, 24, 6, 0 }, { 16, -25, 32, 24, 6, 0 }, { 16, -25, 31, 24, 6, 0 }, { 16, -26, 30, 24, 6, 0 }, + { 16, -26, 29, 24, 6, 0 }, { 16, -27, 28, 24, 7, 0 }, { 16, -28, 27, 24, 7, 0 }, { 16, -28, 26, 24, 7, 0 }, { 16, -29, 25, 24, 7, 0 }, + { 16, -29, 24, 24, 7, 0 }, { 16, -30, 23, 24, 7, 0 }, { 16, -30, 22, 24, 7, 0 }, { 16, -31, 21, 24, 7, 0 }, { 16, -31, 20, 24, 7, 0 }, + { 16, -32, 19, 24, 8, 0 }, { 16, -32, 18, 24, 8, 0 }, { 16, -33, 17, 24, 8, 0 }, { 16, -33, 16, 24, 8, 0 }, { 16, -33, 15, 24, 8, 0 }, + { 16, -34, 14, 24, 8, 0 }, { 16, -34, 13, 24, 8, 0 }, { 16, -34, 12, 24, 8, 0 }, { 16, -35, 11, 24, 8, 0 }, { 16, -35, 10, 24, 17, 0 }, + { 16, -35, 9, 24, 17, 0 }, { 16, -35, 8, 24, 17, 0 }, { 16, -36, 7, 24, 17, 0 }, { 16, -36, 6, 24, 17, 0 }, { 16, -36, 5, 24, 17, 0 }, + { 16, -36, 4, 24, 17, 0 }, { 16, -36, 3, 24, 17, 0 }, { 16, -37, 2, 24, 17, 0 }, { 16, -37, 1, 24, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90D4E2 = { - 80, { - { 27, 16, 79, 0, 18, 0 }, { 27, 16, 78, 0, 18, 0 }, { 27, 16, 77, 0, 18, 0 }, { 27, 16, 76, 0, 18, 0 }, { 27, 16, 75, 0, 18, 0 }, - { 27, 16, 74, 0, 18, 0 }, { 27, 16, 73, 0, 18, 0 }, { 27, 16, 72, 0, 18, 0 }, { 27, 16, 71, 0, 18, 0 }, { 27, 16, 70, 0, 18, 0 }, - { 27, 16, 69, 0, 18, 0 }, { 27, 16, 68, 0, 18, 0 }, { 27, 16, 67, 0, 18, 0 }, { 27, 16, 66, 0, 18, 0 }, { 27, 16, 65, 0, 18, 0 }, - { 27, 16, 64, 0, 18, 0 }, { 27, 16, 63, 0, 18, 0 }, { 27, 16, 62, 0, 18, 0 }, { 27, 16, 61, 0, 18, 0 }, { 27, 16, 60, 0, 18, 0 }, - { 27, 16, 59, 0, 18, 0 }, { 27, 16, 58, 0, 18, 0 }, { 27, 16, 57, 0, 18, 0 }, { 27, 16, 56, 0, 18, 0 }, { 27, 16, 55, 0, 18, 0 }, - { 27, 16, 54, 0, 18, 0 }, { 27, 16, 53, 0, 18, 0 }, { 27, 16, 52, 0, 18, 0 }, { 27, 16, 51, 0, 18, 0 }, { 27, 16, 50, 0, 18, 0 }, - { 27, 16, 49, 0, 18, 0 }, { 27, 16, 48, 0, 18, 0 }, { 27, 16, 47, 0, 18, 0 }, { 27, 16, 46, 0, 18, 0 }, { 27, 16, 45, 0, 18, 0 }, - { 27, 16, 44, 0, 18, 0 }, { 27, 16, 43, 0, 18, 0 }, { 27, 16, 42, 0, 18, 0 }, { 27, 16, 41, 0, 18, 0 }, { 27, 16, 40, 0, 18, 0 }, - { 27, 16, 39, 0, 18, 0 }, { 27, 16, 38, 0, 18, 0 }, { 27, 16, 37, 0, 18, 0 }, { 27, 16, 36, 0, 18, 0 }, { 27, 16, 35, 0, 18, 0 }, - { 27, 16, 34, 0, 18, 0 }, { 27, 16, 33, 0, 18, 0 }, { 27, 16, 32, 0, 18, 0 }, { 27, 16, 31, 0, 18, 0 }, { 27, 16, 30, 0, 18, 0 }, - { 27, 16, 29, 0, 18, 0 }, { 27, 16, 28, 0, 18, 0 }, { 27, 16, 27, 0, 18, 0 }, { 27, 16, 26, 0, 18, 0 }, { 27, 16, 25, 0, 18, 0 }, - { 27, 16, 24, 0, 18, 0 }, { 27, 16, 23, 0, 18, 0 }, { 27, 16, 22, 0, 18, 0 }, { 27, 16, 21, 0, 18, 0 }, { 27, 16, 20, 0, 18, 0 }, - { 27, 16, 19, 0, 18, 0 }, { 27, 16, 18, 0, 18, 0 }, { 27, 16, 17, 0, 18, 0 }, { 27, 16, 16, 0, 18, 0 }, { 27, 16, 15, 0, 18, 0 }, - { 27, 16, 14, 0, 18, 0 }, { 27, 16, 13, 0, 18, 0 }, { 27, 16, 12, 0, 18, 0 }, { 27, 16, 11, 0, 18, 0 }, { 27, 16, 10, 0, 18, 0 }, - { 27, 16, 9, 0, 18, 0 }, { 27, 16, 8, 0, 18, 0 }, { 27, 16, 7, 0, 18, 0 }, { 27, 16, 6, 0, 18, 0 }, { 27, 16, 5, 0, 18, 0 }, - { 27, 16, 4, 0, 18, 0 }, { 27, 16, 3, 0, 18, 0 }, { 27, 16, 2, 0, 18, 0 }, { 27, 16, 1, 0, 18, 0 }, { 27, 16, 0, 0, 18, 0 }, + 80, { + { 27, 16, 79, 0, 18, 0 }, { 27, 16, 78, 0, 18, 0 }, { 27, 16, 77, 0, 18, 0 }, { 27, 16, 76, 0, 18, 0 }, { 27, 16, 75, 0, 18, 0 }, + { 27, 16, 74, 0, 18, 0 }, { 27, 16, 73, 0, 18, 0 }, { 27, 16, 72, 0, 18, 0 }, { 27, 16, 71, 0, 18, 0 }, { 27, 16, 70, 0, 18, 0 }, + { 27, 16, 69, 0, 18, 0 }, { 27, 16, 68, 0, 18, 0 }, { 27, 16, 67, 0, 18, 0 }, { 27, 16, 66, 0, 18, 0 }, { 27, 16, 65, 0, 18, 0 }, + { 27, 16, 64, 0, 18, 0 }, { 27, 16, 63, 0, 18, 0 }, { 27, 16, 62, 0, 18, 0 }, { 27, 16, 61, 0, 18, 0 }, { 27, 16, 60, 0, 18, 0 }, + { 27, 16, 59, 0, 18, 0 }, { 27, 16, 58, 0, 18, 0 }, { 27, 16, 57, 0, 18, 0 }, { 27, 16, 56, 0, 18, 0 }, { 27, 16, 55, 0, 18, 0 }, + { 27, 16, 54, 0, 18, 0 }, { 27, 16, 53, 0, 18, 0 }, { 27, 16, 52, 0, 18, 0 }, { 27, 16, 51, 0, 18, 0 }, { 27, 16, 50, 0, 18, 0 }, + { 27, 16, 49, 0, 18, 0 }, { 27, 16, 48, 0, 18, 0 }, { 27, 16, 47, 0, 18, 0 }, { 27, 16, 46, 0, 18, 0 }, { 27, 16, 45, 0, 18, 0 }, + { 27, 16, 44, 0, 18, 0 }, { 27, 16, 43, 0, 18, 0 }, { 27, 16, 42, 0, 18, 0 }, { 27, 16, 41, 0, 18, 0 }, { 27, 16, 40, 0, 18, 0 }, + { 27, 16, 39, 0, 18, 0 }, { 27, 16, 38, 0, 18, 0 }, { 27, 16, 37, 0, 18, 0 }, { 27, 16, 36, 0, 18, 0 }, { 27, 16, 35, 0, 18, 0 }, + { 27, 16, 34, 0, 18, 0 }, { 27, 16, 33, 0, 18, 0 }, { 27, 16, 32, 0, 18, 0 }, { 27, 16, 31, 0, 18, 0 }, { 27, 16, 30, 0, 18, 0 }, + { 27, 16, 29, 0, 18, 0 }, { 27, 16, 28, 0, 18, 0 }, { 27, 16, 27, 0, 18, 0 }, { 27, 16, 26, 0, 18, 0 }, { 27, 16, 25, 0, 18, 0 }, + { 27, 16, 24, 0, 18, 0 }, { 27, 16, 23, 0, 18, 0 }, { 27, 16, 22, 0, 18, 0 }, { 27, 16, 21, 0, 18, 0 }, { 27, 16, 20, 0, 18, 0 }, + { 27, 16, 19, 0, 18, 0 }, { 27, 16, 18, 0, 18, 0 }, { 27, 16, 17, 0, 18, 0 }, { 27, 16, 16, 0, 18, 0 }, { 27, 16, 15, 0, 18, 0 }, + { 27, 16, 14, 0, 18, 0 }, { 27, 16, 13, 0, 18, 0 }, { 27, 16, 12, 0, 18, 0 }, { 27, 16, 11, 0, 18, 0 }, { 27, 16, 10, 0, 18, 0 }, + { 27, 16, 9, 0, 18, 0 }, { 27, 16, 8, 0, 18, 0 }, { 27, 16, 7, 0, 18, 0 }, { 27, 16, 6, 0, 18, 0 }, { 27, 16, 5, 0, 18, 0 }, + { 27, 16, 4, 0, 18, 0 }, { 27, 16, 3, 0, 18, 0 }, { 27, 16, 2, 0, 18, 0 }, { 27, 16, 1, 0, 18, 0 }, { 27, 16, 0, 0, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90D7B4 = { - 80, { - { 16, 5, 79, 8, 18, 0 }, { 16, 5, 78, 8, 18, 0 }, { 16, 5, 77, 8, 18, 0 }, { 16, 5, 76, 8, 18, 0 }, { 16, 5, 75, 8, 18, 0 }, - { 16, 5, 74, 8, 18, 0 }, { 16, 5, 73, 8, 18, 0 }, { 16, 5, 72, 8, 18, 0 }, { 16, 5, 71, 8, 18, 0 }, { 16, 5, 70, 8, 18, 0 }, - { 16, 5, 69, 8, 18, 0 }, { 16, 5, 68, 8, 18, 0 }, { 16, 5, 67, 8, 18, 0 }, { 16, 5, 66, 8, 18, 0 }, { 16, 5, 65, 8, 18, 0 }, - { 16, 5, 64, 8, 18, 0 }, { 16, 5, 63, 8, 18, 0 }, { 16, 5, 62, 8, 18, 0 }, { 16, 5, 61, 8, 18, 0 }, { 16, 5, 60, 8, 18, 0 }, - { 16, 5, 59, 8, 18, 0 }, { 16, 5, 58, 8, 18, 0 }, { 16, 5, 57, 8, 18, 0 }, { 16, 5, 56, 8, 18, 0 }, { 16, 5, 55, 8, 18, 0 }, - { 16, 5, 54, 8, 18, 0 }, { 16, 5, 53, 8, 18, 0 }, { 16, 5, 52, 8, 18, 0 }, { 16, 5, 51, 8, 18, 0 }, { 16, 5, 50, 8, 18, 0 }, - { 16, 5, 49, 8, 18, 0 }, { 16, 5, 48, 8, 18, 0 }, { 16, 5, 47, 8, 18, 0 }, { 16, 5, 46, 8, 18, 0 }, { 16, 5, 45, 8, 18, 0 }, - { 16, 5, 44, 8, 18, 0 }, { 16, 5, 43, 8, 18, 0 }, { 16, 5, 42, 8, 18, 0 }, { 16, 5, 41, 8, 18, 0 }, { 16, 5, 40, 8, 18, 0 }, - { 16, 5, 39, 8, 18, 0 }, { 16, 5, 38, 8, 18, 0 }, { 16, 5, 37, 8, 18, 0 }, { 16, 5, 36, 8, 18, 0 }, { 16, 5, 35, 8, 18, 0 }, - { 16, 5, 34, 8, 18, 0 }, { 16, 5, 33, 8, 18, 0 }, { 16, 5, 32, 8, 18, 0 }, { 16, 5, 31, 8, 18, 0 }, { 16, 5, 30, 8, 18, 0 }, - { 16, 5, 29, 8, 18, 0 }, { 16, 5, 28, 8, 18, 0 }, { 16, 5, 27, 8, 18, 0 }, { 16, 5, 26, 8, 18, 0 }, { 16, 5, 25, 8, 18, 0 }, - { 16, 5, 24, 8, 18, 0 }, { 16, 5, 23, 8, 18, 0 }, { 16, 5, 22, 8, 18, 0 }, { 16, 5, 21, 8, 18, 0 }, { 16, 5, 20, 8, 18, 0 }, - { 16, 5, 19, 8, 18, 0 }, { 16, 5, 18, 8, 18, 0 }, { 16, 5, 17, 8, 18, 0 }, { 16, 5, 16, 8, 18, 0 }, { 16, 5, 15, 8, 18, 0 }, - { 16, 5, 14, 8, 18, 0 }, { 16, 5, 13, 8, 18, 0 }, { 16, 5, 12, 8, 18, 0 }, { 16, 5, 11, 8, 18, 0 }, { 16, 5, 10, 8, 18, 0 }, - { 16, 5, 9, 8, 18, 0 }, { 16, 5, 8, 8, 18, 0 }, { 16, 5, 7, 8, 18, 0 }, { 16, 5, 6, 8, 18, 0 }, { 16, 5, 5, 8, 18, 0 }, - { 16, 5, 4, 8, 18, 0 }, { 16, 5, 3, 8, 18, 0 }, { 16, 5, 2, 8, 18, 0 }, { 16, 5, 1, 8, 18, 0 }, { 16, 5, 0, 8, 18, 0 }, + 80, { + { 16, 5, 79, 8, 18, 0 }, { 16, 5, 78, 8, 18, 0 }, { 16, 5, 77, 8, 18, 0 }, { 16, 5, 76, 8, 18, 0 }, { 16, 5, 75, 8, 18, 0 }, + { 16, 5, 74, 8, 18, 0 }, { 16, 5, 73, 8, 18, 0 }, { 16, 5, 72, 8, 18, 0 }, { 16, 5, 71, 8, 18, 0 }, { 16, 5, 70, 8, 18, 0 }, + { 16, 5, 69, 8, 18, 0 }, { 16, 5, 68, 8, 18, 0 }, { 16, 5, 67, 8, 18, 0 }, { 16, 5, 66, 8, 18, 0 }, { 16, 5, 65, 8, 18, 0 }, + { 16, 5, 64, 8, 18, 0 }, { 16, 5, 63, 8, 18, 0 }, { 16, 5, 62, 8, 18, 0 }, { 16, 5, 61, 8, 18, 0 }, { 16, 5, 60, 8, 18, 0 }, + { 16, 5, 59, 8, 18, 0 }, { 16, 5, 58, 8, 18, 0 }, { 16, 5, 57, 8, 18, 0 }, { 16, 5, 56, 8, 18, 0 }, { 16, 5, 55, 8, 18, 0 }, + { 16, 5, 54, 8, 18, 0 }, { 16, 5, 53, 8, 18, 0 }, { 16, 5, 52, 8, 18, 0 }, { 16, 5, 51, 8, 18, 0 }, { 16, 5, 50, 8, 18, 0 }, + { 16, 5, 49, 8, 18, 0 }, { 16, 5, 48, 8, 18, 0 }, { 16, 5, 47, 8, 18, 0 }, { 16, 5, 46, 8, 18, 0 }, { 16, 5, 45, 8, 18, 0 }, + { 16, 5, 44, 8, 18, 0 }, { 16, 5, 43, 8, 18, 0 }, { 16, 5, 42, 8, 18, 0 }, { 16, 5, 41, 8, 18, 0 }, { 16, 5, 40, 8, 18, 0 }, + { 16, 5, 39, 8, 18, 0 }, { 16, 5, 38, 8, 18, 0 }, { 16, 5, 37, 8, 18, 0 }, { 16, 5, 36, 8, 18, 0 }, { 16, 5, 35, 8, 18, 0 }, + { 16, 5, 34, 8, 18, 0 }, { 16, 5, 33, 8, 18, 0 }, { 16, 5, 32, 8, 18, 0 }, { 16, 5, 31, 8, 18, 0 }, { 16, 5, 30, 8, 18, 0 }, + { 16, 5, 29, 8, 18, 0 }, { 16, 5, 28, 8, 18, 0 }, { 16, 5, 27, 8, 18, 0 }, { 16, 5, 26, 8, 18, 0 }, { 16, 5, 25, 8, 18, 0 }, + { 16, 5, 24, 8, 18, 0 }, { 16, 5, 23, 8, 18, 0 }, { 16, 5, 22, 8, 18, 0 }, { 16, 5, 21, 8, 18, 0 }, { 16, 5, 20, 8, 18, 0 }, + { 16, 5, 19, 8, 18, 0 }, { 16, 5, 18, 8, 18, 0 }, { 16, 5, 17, 8, 18, 0 }, { 16, 5, 16, 8, 18, 0 }, { 16, 5, 15, 8, 18, 0 }, + { 16, 5, 14, 8, 18, 0 }, { 16, 5, 13, 8, 18, 0 }, { 16, 5, 12, 8, 18, 0 }, { 16, 5, 11, 8, 18, 0 }, { 16, 5, 10, 8, 18, 0 }, + { 16, 5, 9, 8, 18, 0 }, { 16, 5, 8, 8, 18, 0 }, { 16, 5, 7, 8, 18, 0 }, { 16, 5, 6, 8, 18, 0 }, { 16, 5, 5, 8, 18, 0 }, + { 16, 5, 4, 8, 18, 0 }, { 16, 5, 3, 8, 18, 0 }, { 16, 5, 2, 8, 18, 0 }, { 16, 5, 1, 8, 18, 0 }, { 16, 5, 0, 8, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90DA86 = { - 80, { - { 5, 16, 79, 16, 18, 0 }, { 5, 16, 78, 16, 18, 0 }, { 5, 16, 77, 16, 18, 0 }, { 5, 16, 76, 16, 18, 0 }, { 5, 16, 75, 16, 18, 0 }, - { 5, 16, 74, 16, 18, 0 }, { 5, 16, 73, 16, 18, 0 }, { 5, 16, 72, 16, 18, 0 }, { 5, 16, 71, 16, 18, 0 }, { 5, 16, 70, 16, 18, 0 }, - { 5, 16, 69, 16, 18, 0 }, { 5, 16, 68, 16, 18, 0 }, { 5, 16, 67, 16, 18, 0 }, { 5, 16, 66, 16, 18, 0 }, { 5, 16, 65, 16, 18, 0 }, - { 5, 16, 64, 16, 18, 0 }, { 5, 16, 63, 16, 18, 0 }, { 5, 16, 62, 16, 18, 0 }, { 5, 16, 61, 16, 18, 0 }, { 5, 16, 60, 16, 18, 0 }, - { 5, 16, 59, 16, 18, 0 }, { 5, 16, 58, 16, 18, 0 }, { 5, 16, 57, 16, 18, 0 }, { 5, 16, 56, 16, 18, 0 }, { 5, 16, 55, 16, 18, 0 }, - { 5, 16, 54, 16, 18, 0 }, { 5, 16, 53, 16, 18, 0 }, { 5, 16, 52, 16, 18, 0 }, { 5, 16, 51, 16, 18, 0 }, { 5, 16, 50, 16, 18, 0 }, - { 5, 16, 49, 16, 18, 0 }, { 5, 16, 48, 16, 18, 0 }, { 5, 16, 47, 16, 18, 0 }, { 5, 16, 46, 16, 18, 0 }, { 5, 16, 45, 16, 18, 0 }, - { 5, 16, 44, 16, 18, 0 }, { 5, 16, 43, 16, 18, 0 }, { 5, 16, 42, 16, 18, 0 }, { 5, 16, 41, 16, 18, 0 }, { 5, 16, 40, 16, 18, 0 }, - { 5, 16, 39, 16, 18, 0 }, { 5, 16, 38, 16, 18, 0 }, { 5, 16, 37, 16, 18, 0 }, { 5, 16, 36, 16, 18, 0 }, { 5, 16, 35, 16, 18, 0 }, - { 5, 16, 34, 16, 18, 0 }, { 5, 16, 33, 16, 18, 0 }, { 5, 16, 32, 16, 18, 0 }, { 5, 16, 31, 16, 18, 0 }, { 5, 16, 30, 16, 18, 0 }, - { 5, 16, 29, 16, 18, 0 }, { 5, 16, 28, 16, 18, 0 }, { 5, 16, 27, 16, 18, 0 }, { 5, 16, 26, 16, 18, 0 }, { 5, 16, 25, 16, 18, 0 }, - { 5, 16, 24, 16, 18, 0 }, { 5, 16, 23, 16, 18, 0 }, { 5, 16, 22, 16, 18, 0 }, { 5, 16, 21, 16, 18, 0 }, { 5, 16, 20, 16, 18, 0 }, - { 5, 16, 19, 16, 18, 0 }, { 5, 16, 18, 16, 18, 0 }, { 5, 16, 17, 16, 18, 0 }, { 5, 16, 16, 16, 18, 0 }, { 5, 16, 15, 16, 18, 0 }, - { 5, 16, 14, 16, 18, 0 }, { 5, 16, 13, 16, 18, 0 }, { 5, 16, 12, 16, 18, 0 }, { 5, 16, 11, 16, 18, 0 }, { 5, 16, 10, 16, 18, 0 }, - { 5, 16, 9, 16, 18, 0 }, { 5, 16, 8, 16, 18, 0 }, { 5, 16, 7, 16, 18, 0 }, { 5, 16, 6, 16, 18, 0 }, { 5, 16, 5, 16, 18, 0 }, - { 5, 16, 4, 16, 18, 0 }, { 5, 16, 3, 16, 18, 0 }, { 5, 16, 2, 16, 18, 0 }, { 5, 16, 1, 16, 18, 0 }, { 5, 16, 0, 16, 18, 0 }, + 80, { + { 5, 16, 79, 16, 18, 0 }, { 5, 16, 78, 16, 18, 0 }, { 5, 16, 77, 16, 18, 0 }, { 5, 16, 76, 16, 18, 0 }, { 5, 16, 75, 16, 18, 0 }, + { 5, 16, 74, 16, 18, 0 }, { 5, 16, 73, 16, 18, 0 }, { 5, 16, 72, 16, 18, 0 }, { 5, 16, 71, 16, 18, 0 }, { 5, 16, 70, 16, 18, 0 }, + { 5, 16, 69, 16, 18, 0 }, { 5, 16, 68, 16, 18, 0 }, { 5, 16, 67, 16, 18, 0 }, { 5, 16, 66, 16, 18, 0 }, { 5, 16, 65, 16, 18, 0 }, + { 5, 16, 64, 16, 18, 0 }, { 5, 16, 63, 16, 18, 0 }, { 5, 16, 62, 16, 18, 0 }, { 5, 16, 61, 16, 18, 0 }, { 5, 16, 60, 16, 18, 0 }, + { 5, 16, 59, 16, 18, 0 }, { 5, 16, 58, 16, 18, 0 }, { 5, 16, 57, 16, 18, 0 }, { 5, 16, 56, 16, 18, 0 }, { 5, 16, 55, 16, 18, 0 }, + { 5, 16, 54, 16, 18, 0 }, { 5, 16, 53, 16, 18, 0 }, { 5, 16, 52, 16, 18, 0 }, { 5, 16, 51, 16, 18, 0 }, { 5, 16, 50, 16, 18, 0 }, + { 5, 16, 49, 16, 18, 0 }, { 5, 16, 48, 16, 18, 0 }, { 5, 16, 47, 16, 18, 0 }, { 5, 16, 46, 16, 18, 0 }, { 5, 16, 45, 16, 18, 0 }, + { 5, 16, 44, 16, 18, 0 }, { 5, 16, 43, 16, 18, 0 }, { 5, 16, 42, 16, 18, 0 }, { 5, 16, 41, 16, 18, 0 }, { 5, 16, 40, 16, 18, 0 }, + { 5, 16, 39, 16, 18, 0 }, { 5, 16, 38, 16, 18, 0 }, { 5, 16, 37, 16, 18, 0 }, { 5, 16, 36, 16, 18, 0 }, { 5, 16, 35, 16, 18, 0 }, + { 5, 16, 34, 16, 18, 0 }, { 5, 16, 33, 16, 18, 0 }, { 5, 16, 32, 16, 18, 0 }, { 5, 16, 31, 16, 18, 0 }, { 5, 16, 30, 16, 18, 0 }, + { 5, 16, 29, 16, 18, 0 }, { 5, 16, 28, 16, 18, 0 }, { 5, 16, 27, 16, 18, 0 }, { 5, 16, 26, 16, 18, 0 }, { 5, 16, 25, 16, 18, 0 }, + { 5, 16, 24, 16, 18, 0 }, { 5, 16, 23, 16, 18, 0 }, { 5, 16, 22, 16, 18, 0 }, { 5, 16, 21, 16, 18, 0 }, { 5, 16, 20, 16, 18, 0 }, + { 5, 16, 19, 16, 18, 0 }, { 5, 16, 18, 16, 18, 0 }, { 5, 16, 17, 16, 18, 0 }, { 5, 16, 16, 16, 18, 0 }, { 5, 16, 15, 16, 18, 0 }, + { 5, 16, 14, 16, 18, 0 }, { 5, 16, 13, 16, 18, 0 }, { 5, 16, 12, 16, 18, 0 }, { 5, 16, 11, 16, 18, 0 }, { 5, 16, 10, 16, 18, 0 }, + { 5, 16, 9, 16, 18, 0 }, { 5, 16, 8, 16, 18, 0 }, { 5, 16, 7, 16, 18, 0 }, { 5, 16, 6, 16, 18, 0 }, { 5, 16, 5, 16, 18, 0 }, + { 5, 16, 4, 16, 18, 0 }, { 5, 16, 3, 16, 18, 0 }, { 5, 16, 2, 16, 18, 0 }, { 5, 16, 1, 16, 18, 0 }, { 5, 16, 0, 16, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90DD58 = { - 80, { - { 16, 27, 79, 24, 18, 0 }, { 16, 27, 78, 24, 18, 0 }, { 16, 27, 77, 24, 18, 0 }, { 16, 27, 76, 24, 18, 0 }, { 16, 27, 75, 24, 18, 0 }, - { 16, 27, 74, 24, 18, 0 }, { 16, 27, 73, 24, 18, 0 }, { 16, 27, 72, 24, 18, 0 }, { 16, 27, 71, 24, 18, 0 }, { 16, 27, 70, 24, 18, 0 }, - { 16, 27, 69, 24, 18, 0 }, { 16, 27, 68, 24, 18, 0 }, { 16, 27, 67, 24, 18, 0 }, { 16, 27, 66, 24, 18, 0 }, { 16, 27, 65, 24, 18, 0 }, - { 16, 27, 64, 24, 18, 0 }, { 16, 27, 63, 24, 18, 0 }, { 16, 27, 62, 24, 18, 0 }, { 16, 27, 61, 24, 18, 0 }, { 16, 27, 60, 24, 18, 0 }, - { 16, 27, 59, 24, 18, 0 }, { 16, 27, 58, 24, 18, 0 }, { 16, 27, 57, 24, 18, 0 }, { 16, 27, 56, 24, 18, 0 }, { 16, 27, 55, 24, 18, 0 }, - { 16, 27, 54, 24, 18, 0 }, { 16, 27, 53, 24, 18, 0 }, { 16, 27, 52, 24, 18, 0 }, { 16, 27, 51, 24, 18, 0 }, { 16, 27, 50, 24, 18, 0 }, - { 16, 27, 49, 24, 18, 0 }, { 16, 27, 48, 24, 18, 0 }, { 16, 27, 47, 24, 18, 0 }, { 16, 27, 46, 24, 18, 0 }, { 16, 27, 45, 24, 18, 0 }, - { 16, 27, 44, 24, 18, 0 }, { 16, 27, 43, 24, 18, 0 }, { 16, 27, 42, 24, 18, 0 }, { 16, 27, 41, 24, 18, 0 }, { 16, 27, 40, 24, 18, 0 }, - { 16, 27, 39, 24, 18, 0 }, { 16, 27, 38, 24, 18, 0 }, { 16, 27, 37, 24, 18, 0 }, { 16, 27, 36, 24, 18, 0 }, { 16, 27, 35, 24, 18, 0 }, - { 16, 27, 34, 24, 18, 0 }, { 16, 27, 33, 24, 18, 0 }, { 16, 27, 32, 24, 18, 0 }, { 16, 27, 31, 24, 18, 0 }, { 16, 27, 30, 24, 18, 0 }, - { 16, 27, 29, 24, 18, 0 }, { 16, 27, 28, 24, 18, 0 }, { 16, 27, 27, 24, 18, 0 }, { 16, 27, 26, 24, 18, 0 }, { 16, 27, 25, 24, 18, 0 }, - { 16, 27, 24, 24, 18, 0 }, { 16, 27, 23, 24, 18, 0 }, { 16, 27, 22, 24, 18, 0 }, { 16, 27, 21, 24, 18, 0 }, { 16, 27, 20, 24, 18, 0 }, - { 16, 27, 19, 24, 18, 0 }, { 16, 27, 18, 24, 18, 0 }, { 16, 27, 17, 24, 18, 0 }, { 16, 27, 16, 24, 18, 0 }, { 16, 27, 15, 24, 18, 0 }, - { 16, 27, 14, 24, 18, 0 }, { 16, 27, 13, 24, 18, 0 }, { 16, 27, 12, 24, 18, 0 }, { 16, 27, 11, 24, 18, 0 }, { 16, 27, 10, 24, 18, 0 }, - { 16, 27, 9, 24, 18, 0 }, { 16, 27, 8, 24, 18, 0 }, { 16, 27, 7, 24, 18, 0 }, { 16, 27, 6, 24, 18, 0 }, { 16, 27, 5, 24, 18, 0 }, - { 16, 27, 4, 24, 18, 0 }, { 16, 27, 3, 24, 18, 0 }, { 16, 27, 2, 24, 18, 0 }, { 16, 27, 1, 24, 18, 0 }, { 16, 27, 0, 24, 18, 0 }, + 80, { + { 16, 27, 79, 24, 18, 0 }, { 16, 27, 78, 24, 18, 0 }, { 16, 27, 77, 24, 18, 0 }, { 16, 27, 76, 24, 18, 0 }, { 16, 27, 75, 24, 18, 0 }, + { 16, 27, 74, 24, 18, 0 }, { 16, 27, 73, 24, 18, 0 }, { 16, 27, 72, 24, 18, 0 }, { 16, 27, 71, 24, 18, 0 }, { 16, 27, 70, 24, 18, 0 }, + { 16, 27, 69, 24, 18, 0 }, { 16, 27, 68, 24, 18, 0 }, { 16, 27, 67, 24, 18, 0 }, { 16, 27, 66, 24, 18, 0 }, { 16, 27, 65, 24, 18, 0 }, + { 16, 27, 64, 24, 18, 0 }, { 16, 27, 63, 24, 18, 0 }, { 16, 27, 62, 24, 18, 0 }, { 16, 27, 61, 24, 18, 0 }, { 16, 27, 60, 24, 18, 0 }, + { 16, 27, 59, 24, 18, 0 }, { 16, 27, 58, 24, 18, 0 }, { 16, 27, 57, 24, 18, 0 }, { 16, 27, 56, 24, 18, 0 }, { 16, 27, 55, 24, 18, 0 }, + { 16, 27, 54, 24, 18, 0 }, { 16, 27, 53, 24, 18, 0 }, { 16, 27, 52, 24, 18, 0 }, { 16, 27, 51, 24, 18, 0 }, { 16, 27, 50, 24, 18, 0 }, + { 16, 27, 49, 24, 18, 0 }, { 16, 27, 48, 24, 18, 0 }, { 16, 27, 47, 24, 18, 0 }, { 16, 27, 46, 24, 18, 0 }, { 16, 27, 45, 24, 18, 0 }, + { 16, 27, 44, 24, 18, 0 }, { 16, 27, 43, 24, 18, 0 }, { 16, 27, 42, 24, 18, 0 }, { 16, 27, 41, 24, 18, 0 }, { 16, 27, 40, 24, 18, 0 }, + { 16, 27, 39, 24, 18, 0 }, { 16, 27, 38, 24, 18, 0 }, { 16, 27, 37, 24, 18, 0 }, { 16, 27, 36, 24, 18, 0 }, { 16, 27, 35, 24, 18, 0 }, + { 16, 27, 34, 24, 18, 0 }, { 16, 27, 33, 24, 18, 0 }, { 16, 27, 32, 24, 18, 0 }, { 16, 27, 31, 24, 18, 0 }, { 16, 27, 30, 24, 18, 0 }, + { 16, 27, 29, 24, 18, 0 }, { 16, 27, 28, 24, 18, 0 }, { 16, 27, 27, 24, 18, 0 }, { 16, 27, 26, 24, 18, 0 }, { 16, 27, 25, 24, 18, 0 }, + { 16, 27, 24, 24, 18, 0 }, { 16, 27, 23, 24, 18, 0 }, { 16, 27, 22, 24, 18, 0 }, { 16, 27, 21, 24, 18, 0 }, { 16, 27, 20, 24, 18, 0 }, + { 16, 27, 19, 24, 18, 0 }, { 16, 27, 18, 24, 18, 0 }, { 16, 27, 17, 24, 18, 0 }, { 16, 27, 16, 24, 18, 0 }, { 16, 27, 15, 24, 18, 0 }, + { 16, 27, 14, 24, 18, 0 }, { 16, 27, 13, 24, 18, 0 }, { 16, 27, 12, 24, 18, 0 }, { 16, 27, 11, 24, 18, 0 }, { 16, 27, 10, 24, 18, 0 }, + { 16, 27, 9, 24, 18, 0 }, { 16, 27, 8, 24, 18, 0 }, { 16, 27, 7, 24, 18, 0 }, { 16, 27, 6, 24, 18, 0 }, { 16, 27, 5, 24, 18, 0 }, + { 16, 27, 4, 24, 18, 0 }, { 16, 27, 3, 24, 18, 0 }, { 16, 27, 2, 24, 18, 0 }, { 16, 27, 1, 24, 18, 0 }, { 16, 27, 0, 24, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_908EC2 = { - 304, { - { 27, 16, 239, 0, 18, 0 }, { 27, 16, 238, 0, 18, 0 }, { 27, 16, 237, 0, 18, 0 }, { 27, 16, 236, 0, 18, 0 }, { 27, 16, 235, 0, 18, 0 }, - { 27, 16, 234, 0, 18, 0 }, { 27, 16, 233, 0, 18, 0 }, { 27, 16, 232, 0, 18, 0 }, { 27, 16, 231, 0, 18, 0 }, { 27, 16, 229, 0, 18, 0 }, - { 27, 16, 228, 0, 18, 0 }, { 27, 16, 227, 0, 18, 0 }, { 27, 16, 226, 0, 18, 0 }, { 27, 16, 225, 0, 18, 0 }, { 27, 16, 224, 0, 18, 0 }, - { 27, 16, 223, 0, 18, 0 }, { 27, 16, 222, 0, 18, 0 }, { 27, 16, 221, 0, 18, 0 }, { 27, 16, 220, 0, 18, 0 }, { 27, 16, 219, 0, 18, 0 }, - { 27, 16, 218, 0, 18, 0 }, { 27, 16, 217, 0, 18, 0 }, { 27, 16, 216, 0, 18, 0 }, { 27, 16, 215, 0, 18, 0 }, { 27, 16, 214, 0, 18, 0 }, - { 27, 16, 213, 0, 18, 0 }, { 27, 16, 212, 0, 18, 0 }, { 26, 16, 211, 0, 18, 0 }, { 26, 16, 210, 0, 18, 0 }, { 26, 16, 209, 0, 18, 0 }, - { 26, 16, 208, 0, 18, 0 }, { 26, 16, 207, 0, 18, 0 }, { 26, 16, 206, 0, 18, 0 }, { 26, 16, 205, 0, 18, 0 }, { 26, 16, 204, 0, 18, 0 }, - { 26, 16, 203, 0, 18, 0 }, { 26, 16, 202, 0, 18, 0 }, { 26, 16, 201, 0, 18, 0 }, { 26, 16, 200, 0, 18, 0 }, { 25, 16, 199, 0, 18, 0 }, - { 25, 16, 198, 0, 18, 0 }, { 25, 16, 197, 0, 18, 0 }, { 25, 16, 196, 0, 18, 0 }, { 25, 16, 195, 0, 18, 0 }, { 25, 16, 194, 0, 18, 0 }, - { 25, 16, 193, 0, 18, 0 }, { 25, 16, 192, 0, 18, 0 }, { 24, 16, 191, 0, 18, 0 }, { 24, 16, 190, 0, 18, 0 }, { 24, 16, 189, 0, 18, 0 }, - { 24, 16, 188, 0, 17, 0 }, { 24, 16, 187, 0, 17, 0 }, { 24, 16, 186, 0, 17, 0 }, { 24, 16, 185, 0, 17, 0 }, { 23, 16, 184, 0, 17, 0 }, - { 23, 16, 183, 0, 17, 0 }, { 23, 16, 182, 0, 17, 0 }, { 23, 16, 181, 0, 17, 0 }, { 23, 16, 180, 0, 17, 0 }, { 23, 16, 179, 0, 17, 0 }, - { 22, 16, 178, 0, 17, 0 }, { 22, 16, 177, 0, 17, 0 }, { 22, 16, 176, 0, 17, 0 }, { 22, 16, 175, 0, 17, 0 }, { 22, 16, 174, 0, 17, 0 }, - { 21, 16, 173, 0, 17, 0 }, { 21, 16, 172, 0, 17, 0 }, { 21, 16, 171, 0, 17, 0 }, { 21, 16, 170, 0, 17, 0 }, { 20, 16, 169, 0, 17, 0 }, - { 20, 16, 168, 0, 17, 0 }, { 20, 16, 167, 0, 17, 0 }, { 20, 16, 166, 0, 17, 0 }, { 20, 16, 165, 0, 17, 0 }, { 19, 16, 164, 0, 17, 0 }, - { 19, 16, 163, 0, 17, 0 }, { 19, 16, 162, 0, 17, 0 }, { 19, 16, 161, 0, 17, 0 }, { 18, 16, 160, 0, 17, 0 }, { 18, 16, 159, 0, 17, 0 }, - { 18, 16, 158, 0, 17, 0 }, { 17, 16, 157, 0, 17, 0 }, { 17, 16, 156, 0, 17, 0 }, { 17, 16, 155, 0, 17, 0 }, { 17, 16, 154, 0, 17, 0 }, - { 16, 16, 153, 0, 17, 0 }, { 16, 16, 152, 0, 17, 0 }, { 16, 16, 151, 0, 17, 0 }, { 15, 16, 150, 0, 17, 0 }, { 15, 16, 149, 0, 17, 0 }, - { 15, 16, 148, 0, 17, 0 }, { 14, 16, 147, 0, 17, 0 }, { 14, 16, 146, 0, 17, 0 }, { 14, 16, 145, 0, 17, 0 }, { 13, 16, 144, 0, 17, 0 }, - { 13, 16, 143, 0, 17, 0 }, { 13, 16, 142, 0, 17, 0 }, { 12, 16, 141, 0, 17, 0 }, { 12, 16, 140, 0, 17, 0 }, { 12, 16, 139, 0, 17, 0 }, - { 11, 16, 138, 0, 17, 0 }, { 11, 16, 137, 0, 17, 0 }, { 11, 16, 136, 0, 17, 0 }, { 10, 16, 135, 0, 8, 0 }, { 10, 16, 134, 0, 8, 0 }, - { 10, 16, 133, 0, 8, 0 }, { 9, 16, 132, 0, 8, 0 }, { 9, 16, 131, 0, 8, 0 }, { 8, 16, 130, 0, 8, 0 }, { 8, 16, 129, 0, 8, 0 }, - { 8, 16, 128, 0, 8, 0 }, { 7, 16, 127, 0, 8, 0 }, { 7, 16, 126, 0, 8, 0 }, { 6, 16, 125, 0, 8, 0 }, { 6, 16, 124, 0, 8, 0 }, - { 5, 16, 123, 0, 8, 0 }, { 5, 16, 122, 0, 8, 0 }, { 5, 16, 121, 0, 8, 0 }, { 4, 16, 120, 0, 8, 0 }, { 4, 16, 119, 0, 8, 0 }, - { 3, 16, 118, 0, 8, 0 }, { 3, 16, 117, 0, 8, 0 }, { 2, 16, 116, 0, 8, 0 }, { 2, 16, 115, 0, 8, 0 }, { 1, 16, 114, 0, 8, 0 }, - { 1, 16, 113, 0, 8, 0 }, { 0, 16, 112, 0, 8, 0 }, { 0, 16, 111, 0, 8, 0 }, { -1, 16, 110, 0, 8, 0 }, { -1, 16, 109, 0, 8, 0 }, - { -2, 16, 108, 0, 8, 0 }, { -2, 16, 107, 0, 8, 0 }, { -3, 16, 106, 0, 8, 0 }, { -3, 16, 105, 0, 8, 0 }, { -4, 16, 104, 0, 8, 0 }, - { -4, 16, 103, 0, 8, 0 }, { -5, 16, 102, 0, 8, 0 }, { -6, 16, 101, 0, 8, 0 }, { -6, 16, 100, 0, 8, 0 }, { -7, 16, 99, 0, 8, 0 }, - { -7, 16, 98, 0, 8, 0 }, { -8, 16, 97, 0, 8, 0 }, { -8, 16, 96, 0, 8, 0 }, { -9, 16, 95, 0, 8, 0 }, { -10, 16, 94, 0, 8, 0 }, - { -10, 16, 93, 0, 8, 0 }, { -11, 16, 92, 0, 8, 0 }, { -12, 16, 91, 0, 8, 0 }, { -12, 16, 90, 0, 7, 0 }, { -13, 16, 89, 0, 7, 0 }, - { -13, 16, 88, 0, 7, 0 }, { -14, 16, 87, 0, 7, 0 }, { -15, 16, 86, 0, 7, 0 }, { -15, 16, 85, 0, 7, 0 }, { -16, 16, 84, 0, 7, 0 }, - { -17, 16, 83, 0, 7, 0 }, { -18, 16, 82, 0, 7, 0 }, { -18, 16, 81, 0, 7, 0 }, { -19, 16, 80, 0, 7, 0 }, { -20, 16, 79, 0, 7, 0 }, - { -20, 16, 78, 0, 7, 0 }, { -21, 16, 77, 0, 7, 0 }, { -22, 16, 76, 0, 7, 0 }, { -23, 16, 75, 0, 7, 0 }, { -23, 16, 74, 0, 7, 0 }, - { -24, 16, 73, 0, 7, 0 }, { -25, 16, 72, 0, 7, 0 }, { -26, 16, 71, 0, 7, 0 }, { -27, 16, 70, 0, 7, 0 }, { -27, 16, 69, 0, 7, 0 }, - { -28, 16, 68, 0, 7, 0 }, { -29, 16, 67, 0, 7, 0 }, { -30, 16, 66, 0, 7, 0 }, { -31, 16, 65, 0, 7, 0 }, { -32, 16, 64, 0, 7, 0 }, - { -32, 16, 63, 0, 7, 0 }, { -33, 16, 62, 0, 7, 0 }, { -34, 16, 61, 0, 7, 0 }, { -35, 16, 60, 0, 7, 0 }, { -36, 16, 59, 0, 7, 0 }, - { -37, 16, 58, 0, 7, 0 }, { -38, 16, 57, 0, 7, 0 }, { -39, 16, 56, 0, 7, 0 }, { -40, 16, 55, 0, 7, 0 }, { -41, 16, 54, 0, 7, 0 }, - { -42, 16, 53, 0, 7, 0 }, { -43, 16, 52, 0, 7, 0 }, { -44, 16, 51, 0, 7, 0 }, { -45, 16, 50, 0, 7, 0 }, { -46, 16, 49, 0, 7, 0 }, - { -47, 16, 48, 0, 7, 0 }, { -48, 16, 47, 0, 7, 0 }, { -49, 16, 46, 0, 7, 0 }, { -50, 16, 45, 0, 7, 0 }, { -51, 16, 45, 0, 7, 0 }, - { -52, 16, 44, 0, 7, 0 }, { -53, 16, 43, 0, 7, 0 }, { -54, 16, 42, 0, 7, 0 }, { -55, 16, 41, 0, 7, 0 }, { -56, 16, 40, 0, 7, 0 }, - { -57, 16, 39, 0, 6, 0 }, { -58, 16, 39, 0, 6, 0 }, { -59, 16, 38, 0, 6, 0 }, { -60, 16, 37, 0, 6, 0 }, { -61, 16, 36, 0, 6, 0 }, - { -62, 16, 36, 0, 6, 0 }, { -63, 16, 35, 0, 6, 0 }, { -64, 16, 34, 0, 6, 0 }, { -65, 16, 33, 0, 6, 0 }, { -66, 16, 33, 0, 6, 0 }, - { -67, 16, 32, 0, 6, 0 }, { -68, 16, 31, 0, 6, 0 }, { -69, 16, 31, 0, 6, 0 }, { -70, 16, 30, 0, 6, 0 }, { -71, 16, 29, 0, 6, 0 }, - { -72, 16, 29, 0, 6, 0 }, { -73, 16, 28, 0, 6, 0 }, { -74, 16, 27, 0, 6, 0 }, { -75, 16, 27, 0, 6, 0 }, { -76, 16, 26, 0, 6, 0 }, - { -77, 16, 25, 0, 6, 0 }, { -78, 16, 25, 0, 6, 0 }, { -79, 16, 24, 0, 6, 0 }, { -80, 16, 24, 0, 6, 0 }, { -81, 16, 23, 0, 6, 0 }, - { -82, 16, 22, 0, 6, 0 }, { -83, 16, 22, 0, 6, 0 }, { -84, 16, 21, 0, 6, 0 }, { -85, 16, 21, 0, 6, 0 }, { -86, 16, 20, 0, 6, 0 }, - { -87, 16, 20, 0, 6, 0 }, { -88, 16, 19, 0, 6, 0 }, { -89, 16, 19, 0, 6, 0 }, { -90, 16, 18, 0, 6, 0 }, { -91, 16, 18, 0, 6, 0 }, - { -92, 16, 17, 0, 6, 0 }, { -93, 16, 17, 0, 6, 0 }, { -94, 16, 16, 0, 6, 0 }, { -95, 16, 16, 0, 6, 0 }, { -96, 16, 15, 0, 6, 0 }, - { -97, 16, 15, 0, 6, 0 }, { -98, 16, 14, 0, 6, 0 }, { -99, 16, 14, 0, 6, 0 }, { -100, 16, 13, 0, 6, 0 }, { -101, 16, 13, 0, 6, 0 }, - { -102, 16, 13, 0, 6, 0 }, { -103, 16, 12, 0, 6, 0 }, { -104, 16, 12, 0, 6, 0 }, { -105, 16, 11, 0, 5, 0 }, { -106, 16, 11, 0, 5, 0 }, - { -107, 16, 11, 0, 5, 0 }, { -108, 16, 10, 0, 5, 0 }, { -109, 16, 10, 0, 5, 0 }, { -110, 16, 10, 0, 5, 0 }, { -111, 16, 9, 0, 5, 0 }, - { -112, 16, 9, 0, 5, 0 }, { -113, 16, 9, 0, 5, 0 }, { -114, 16, 8, 0, 5, 0 }, { -115, 16, 8, 0, 5, 0 }, { -116, 16, 8, 0, 5, 0 }, - { -117, 16, 7, 0, 5, 0 }, { -118, 16, 7, 0, 5, 0 }, { -119, 16, 7, 0, 5, 0 }, { -120, 16, 6, 0, 5, 0 }, { -121, 16, 6, 0, 5, 0 }, - { -122, 16, 6, 0, 5, 0 }, { -123, 16, 6, 0, 5, 0 }, { -124, 16, 5, 0, 5, 0 }, { -125, 16, 5, 0, 5, 0 }, { -126, 16, 5, 0, 5, 0 }, - { -127, 16, 5, 0, 5, 0 }, { -128, 16, 4, 0, 5, 0 }, { -129, 16, 4, 0, 5, 0 }, { -130, 16, 4, 0, 5, 0 }, { -131, 16, 4, 0, 5, 0 }, - { -132, 16, 3, 0, 5, 0 }, { -133, 16, 3, 0, 5, 0 }, { -134, 16, 3, 0, 5, 0 }, { -135, 16, 3, 0, 5, 0 }, { -136, 16, 3, 0, 5, 0 }, - { -137, 16, 2, 0, 5, 0 }, { -138, 16, 2, 0, 5, 0 }, { -139, 16, 2, 0, 5, 0 }, { -140, 16, 2, 0, 5, 0 }, { -141, 16, 2, 0, 5, 0 }, - { -142, 16, 2, 0, 0, 0 }, { -143, 16, 2, 0, 0, 0 }, { -144, 16, 1, 0, 0, 0 }, { -145, 16, 1, 0, 0, 0 }, { -146, 16, 1, 0, 0, 0 }, - { -147, 16, 1, 0, 0, 0 }, { -148, 16, 1, 0, 0, 0 }, { -149, 16, 1, 0, 0, 0 }, { -150, 16, 1, 0, 0, 0 }, { -151, 16, 1, 0, 0, 0 }, - { -152, 16, 1, 0, 0, 0 }, { -153, 16, 0, 0, 0, 0 }, { -154, 16, 0, 0, 0, 0 }, { -155, 16, 0, 0, 0, 0 }, { -156, 16, 0, 0, 0, 0 }, - { -157, 16, 0, 0, 0, 0 }, { -158, 16, 0, 0, 0, 0 }, { -159, 16, 0, 0, 0, 0 }, { -160, 16, 0, 0, 0, 0 }, + 304, { + { 27, 16, 239, 0, 18, 0 }, { 27, 16, 238, 0, 18, 0 }, { 27, 16, 237, 0, 18, 0 }, { 27, 16, 236, 0, 18, 0 }, { 27, 16, 235, 0, 18, 0 }, + { 27, 16, 234, 0, 18, 0 }, { 27, 16, 233, 0, 18, 0 }, { 27, 16, 232, 0, 18, 0 }, { 27, 16, 231, 0, 18, 0 }, { 27, 16, 229, 0, 18, 0 }, + { 27, 16, 228, 0, 18, 0 }, { 27, 16, 227, 0, 18, 0 }, { 27, 16, 226, 0, 18, 0 }, { 27, 16, 225, 0, 18, 0 }, { 27, 16, 224, 0, 18, 0 }, + { 27, 16, 223, 0, 18, 0 }, { 27, 16, 222, 0, 18, 0 }, { 27, 16, 221, 0, 18, 0 }, { 27, 16, 220, 0, 18, 0 }, { 27, 16, 219, 0, 18, 0 }, + { 27, 16, 218, 0, 18, 0 }, { 27, 16, 217, 0, 18, 0 }, { 27, 16, 216, 0, 18, 0 }, { 27, 16, 215, 0, 18, 0 }, { 27, 16, 214, 0, 18, 0 }, + { 27, 16, 213, 0, 18, 0 }, { 27, 16, 212, 0, 18, 0 }, { 26, 16, 211, 0, 18, 0 }, { 26, 16, 210, 0, 18, 0 }, { 26, 16, 209, 0, 18, 0 }, + { 26, 16, 208, 0, 18, 0 }, { 26, 16, 207, 0, 18, 0 }, { 26, 16, 206, 0, 18, 0 }, { 26, 16, 205, 0, 18, 0 }, { 26, 16, 204, 0, 18, 0 }, + { 26, 16, 203, 0, 18, 0 }, { 26, 16, 202, 0, 18, 0 }, { 26, 16, 201, 0, 18, 0 }, { 26, 16, 200, 0, 18, 0 }, { 25, 16, 199, 0, 18, 0 }, + { 25, 16, 198, 0, 18, 0 }, { 25, 16, 197, 0, 18, 0 }, { 25, 16, 196, 0, 18, 0 }, { 25, 16, 195, 0, 18, 0 }, { 25, 16, 194, 0, 18, 0 }, + { 25, 16, 193, 0, 18, 0 }, { 25, 16, 192, 0, 18, 0 }, { 24, 16, 191, 0, 18, 0 }, { 24, 16, 190, 0, 18, 0 }, { 24, 16, 189, 0, 18, 0 }, + { 24, 16, 188, 0, 17, 0 }, { 24, 16, 187, 0, 17, 0 }, { 24, 16, 186, 0, 17, 0 }, { 24, 16, 185, 0, 17, 0 }, { 23, 16, 184, 0, 17, 0 }, + { 23, 16, 183, 0, 17, 0 }, { 23, 16, 182, 0, 17, 0 }, { 23, 16, 181, 0, 17, 0 }, { 23, 16, 180, 0, 17, 0 }, { 23, 16, 179, 0, 17, 0 }, + { 22, 16, 178, 0, 17, 0 }, { 22, 16, 177, 0, 17, 0 }, { 22, 16, 176, 0, 17, 0 }, { 22, 16, 175, 0, 17, 0 }, { 22, 16, 174, 0, 17, 0 }, + { 21, 16, 173, 0, 17, 0 }, { 21, 16, 172, 0, 17, 0 }, { 21, 16, 171, 0, 17, 0 }, { 21, 16, 170, 0, 17, 0 }, { 20, 16, 169, 0, 17, 0 }, + { 20, 16, 168, 0, 17, 0 }, { 20, 16, 167, 0, 17, 0 }, { 20, 16, 166, 0, 17, 0 }, { 20, 16, 165, 0, 17, 0 }, { 19, 16, 164, 0, 17, 0 }, + { 19, 16, 163, 0, 17, 0 }, { 19, 16, 162, 0, 17, 0 }, { 19, 16, 161, 0, 17, 0 }, { 18, 16, 160, 0, 17, 0 }, { 18, 16, 159, 0, 17, 0 }, + { 18, 16, 158, 0, 17, 0 }, { 17, 16, 157, 0, 17, 0 }, { 17, 16, 156, 0, 17, 0 }, { 17, 16, 155, 0, 17, 0 }, { 17, 16, 154, 0, 17, 0 }, + { 16, 16, 153, 0, 17, 0 }, { 16, 16, 152, 0, 17, 0 }, { 16, 16, 151, 0, 17, 0 }, { 15, 16, 150, 0, 17, 0 }, { 15, 16, 149, 0, 17, 0 }, + { 15, 16, 148, 0, 17, 0 }, { 14, 16, 147, 0, 17, 0 }, { 14, 16, 146, 0, 17, 0 }, { 14, 16, 145, 0, 17, 0 }, { 13, 16, 144, 0, 17, 0 }, + { 13, 16, 143, 0, 17, 0 }, { 13, 16, 142, 0, 17, 0 }, { 12, 16, 141, 0, 17, 0 }, { 12, 16, 140, 0, 17, 0 }, { 12, 16, 139, 0, 17, 0 }, + { 11, 16, 138, 0, 17, 0 }, { 11, 16, 137, 0, 17, 0 }, { 11, 16, 136, 0, 17, 0 }, { 10, 16, 135, 0, 8, 0 }, { 10, 16, 134, 0, 8, 0 }, + { 10, 16, 133, 0, 8, 0 }, { 9, 16, 132, 0, 8, 0 }, { 9, 16, 131, 0, 8, 0 }, { 8, 16, 130, 0, 8, 0 }, { 8, 16, 129, 0, 8, 0 }, + { 8, 16, 128, 0, 8, 0 }, { 7, 16, 127, 0, 8, 0 }, { 7, 16, 126, 0, 8, 0 }, { 6, 16, 125, 0, 8, 0 }, { 6, 16, 124, 0, 8, 0 }, + { 5, 16, 123, 0, 8, 0 }, { 5, 16, 122, 0, 8, 0 }, { 5, 16, 121, 0, 8, 0 }, { 4, 16, 120, 0, 8, 0 }, { 4, 16, 119, 0, 8, 0 }, + { 3, 16, 118, 0, 8, 0 }, { 3, 16, 117, 0, 8, 0 }, { 2, 16, 116, 0, 8, 0 }, { 2, 16, 115, 0, 8, 0 }, { 1, 16, 114, 0, 8, 0 }, + { 1, 16, 113, 0, 8, 0 }, { 0, 16, 112, 0, 8, 0 }, { 0, 16, 111, 0, 8, 0 }, { -1, 16, 110, 0, 8, 0 }, { -1, 16, 109, 0, 8, 0 }, + { -2, 16, 108, 0, 8, 0 }, { -2, 16, 107, 0, 8, 0 }, { -3, 16, 106, 0, 8, 0 }, { -3, 16, 105, 0, 8, 0 }, { -4, 16, 104, 0, 8, 0 }, + { -4, 16, 103, 0, 8, 0 }, { -5, 16, 102, 0, 8, 0 }, { -6, 16, 101, 0, 8, 0 }, { -6, 16, 100, 0, 8, 0 }, { -7, 16, 99, 0, 8, 0 }, + { -7, 16, 98, 0, 8, 0 }, { -8, 16, 97, 0, 8, 0 }, { -8, 16, 96, 0, 8, 0 }, { -9, 16, 95, 0, 8, 0 }, { -10, 16, 94, 0, 8, 0 }, + { -10, 16, 93, 0, 8, 0 }, { -11, 16, 92, 0, 8, 0 }, { -12, 16, 91, 0, 8, 0 }, { -12, 16, 90, 0, 7, 0 }, { -13, 16, 89, 0, 7, 0 }, + { -13, 16, 88, 0, 7, 0 }, { -14, 16, 87, 0, 7, 0 }, { -15, 16, 86, 0, 7, 0 }, { -15, 16, 85, 0, 7, 0 }, { -16, 16, 84, 0, 7, 0 }, + { -17, 16, 83, 0, 7, 0 }, { -18, 16, 82, 0, 7, 0 }, { -18, 16, 81, 0, 7, 0 }, { -19, 16, 80, 0, 7, 0 }, { -20, 16, 79, 0, 7, 0 }, + { -20, 16, 78, 0, 7, 0 }, { -21, 16, 77, 0, 7, 0 }, { -22, 16, 76, 0, 7, 0 }, { -23, 16, 75, 0, 7, 0 }, { -23, 16, 74, 0, 7, 0 }, + { -24, 16, 73, 0, 7, 0 }, { -25, 16, 72, 0, 7, 0 }, { -26, 16, 71, 0, 7, 0 }, { -27, 16, 70, 0, 7, 0 }, { -27, 16, 69, 0, 7, 0 }, + { -28, 16, 68, 0, 7, 0 }, { -29, 16, 67, 0, 7, 0 }, { -30, 16, 66, 0, 7, 0 }, { -31, 16, 65, 0, 7, 0 }, { -32, 16, 64, 0, 7, 0 }, + { -32, 16, 63, 0, 7, 0 }, { -33, 16, 62, 0, 7, 0 }, { -34, 16, 61, 0, 7, 0 }, { -35, 16, 60, 0, 7, 0 }, { -36, 16, 59, 0, 7, 0 }, + { -37, 16, 58, 0, 7, 0 }, { -38, 16, 57, 0, 7, 0 }, { -39, 16, 56, 0, 7, 0 }, { -40, 16, 55, 0, 7, 0 }, { -41, 16, 54, 0, 7, 0 }, + { -42, 16, 53, 0, 7, 0 }, { -43, 16, 52, 0, 7, 0 }, { -44, 16, 51, 0, 7, 0 }, { -45, 16, 50, 0, 7, 0 }, { -46, 16, 49, 0, 7, 0 }, + { -47, 16, 48, 0, 7, 0 }, { -48, 16, 47, 0, 7, 0 }, { -49, 16, 46, 0, 7, 0 }, { -50, 16, 45, 0, 7, 0 }, { -51, 16, 45, 0, 7, 0 }, + { -52, 16, 44, 0, 7, 0 }, { -53, 16, 43, 0, 7, 0 }, { -54, 16, 42, 0, 7, 0 }, { -55, 16, 41, 0, 7, 0 }, { -56, 16, 40, 0, 7, 0 }, + { -57, 16, 39, 0, 6, 0 }, { -58, 16, 39, 0, 6, 0 }, { -59, 16, 38, 0, 6, 0 }, { -60, 16, 37, 0, 6, 0 }, { -61, 16, 36, 0, 6, 0 }, + { -62, 16, 36, 0, 6, 0 }, { -63, 16, 35, 0, 6, 0 }, { -64, 16, 34, 0, 6, 0 }, { -65, 16, 33, 0, 6, 0 }, { -66, 16, 33, 0, 6, 0 }, + { -67, 16, 32, 0, 6, 0 }, { -68, 16, 31, 0, 6, 0 }, { -69, 16, 31, 0, 6, 0 }, { -70, 16, 30, 0, 6, 0 }, { -71, 16, 29, 0, 6, 0 }, + { -72, 16, 29, 0, 6, 0 }, { -73, 16, 28, 0, 6, 0 }, { -74, 16, 27, 0, 6, 0 }, { -75, 16, 27, 0, 6, 0 }, { -76, 16, 26, 0, 6, 0 }, + { -77, 16, 25, 0, 6, 0 }, { -78, 16, 25, 0, 6, 0 }, { -79, 16, 24, 0, 6, 0 }, { -80, 16, 24, 0, 6, 0 }, { -81, 16, 23, 0, 6, 0 }, + { -82, 16, 22, 0, 6, 0 }, { -83, 16, 22, 0, 6, 0 }, { -84, 16, 21, 0, 6, 0 }, { -85, 16, 21, 0, 6, 0 }, { -86, 16, 20, 0, 6, 0 }, + { -87, 16, 20, 0, 6, 0 }, { -88, 16, 19, 0, 6, 0 }, { -89, 16, 19, 0, 6, 0 }, { -90, 16, 18, 0, 6, 0 }, { -91, 16, 18, 0, 6, 0 }, + { -92, 16, 17, 0, 6, 0 }, { -93, 16, 17, 0, 6, 0 }, { -94, 16, 16, 0, 6, 0 }, { -95, 16, 16, 0, 6, 0 }, { -96, 16, 15, 0, 6, 0 }, + { -97, 16, 15, 0, 6, 0 }, { -98, 16, 14, 0, 6, 0 }, { -99, 16, 14, 0, 6, 0 }, { -100, 16, 13, 0, 6, 0 }, { -101, 16, 13, 0, 6, 0 }, + { -102, 16, 13, 0, 6, 0 }, { -103, 16, 12, 0, 6, 0 }, { -104, 16, 12, 0, 6, 0 }, { -105, 16, 11, 0, 5, 0 }, { -106, 16, 11, 0, 5, 0 }, + { -107, 16, 11, 0, 5, 0 }, { -108, 16, 10, 0, 5, 0 }, { -109, 16, 10, 0, 5, 0 }, { -110, 16, 10, 0, 5, 0 }, { -111, 16, 9, 0, 5, 0 }, + { -112, 16, 9, 0, 5, 0 }, { -113, 16, 9, 0, 5, 0 }, { -114, 16, 8, 0, 5, 0 }, { -115, 16, 8, 0, 5, 0 }, { -116, 16, 8, 0, 5, 0 }, + { -117, 16, 7, 0, 5, 0 }, { -118, 16, 7, 0, 5, 0 }, { -119, 16, 7, 0, 5, 0 }, { -120, 16, 6, 0, 5, 0 }, { -121, 16, 6, 0, 5, 0 }, + { -122, 16, 6, 0, 5, 0 }, { -123, 16, 6, 0, 5, 0 }, { -124, 16, 5, 0, 5, 0 }, { -125, 16, 5, 0, 5, 0 }, { -126, 16, 5, 0, 5, 0 }, + { -127, 16, 5, 0, 5, 0 }, { -128, 16, 4, 0, 5, 0 }, { -129, 16, 4, 0, 5, 0 }, { -130, 16, 4, 0, 5, 0 }, { -131, 16, 4, 0, 5, 0 }, + { -132, 16, 3, 0, 5, 0 }, { -133, 16, 3, 0, 5, 0 }, { -134, 16, 3, 0, 5, 0 }, { -135, 16, 3, 0, 5, 0 }, { -136, 16, 3, 0, 5, 0 }, + { -137, 16, 2, 0, 5, 0 }, { -138, 16, 2, 0, 5, 0 }, { -139, 16, 2, 0, 5, 0 }, { -140, 16, 2, 0, 5, 0 }, { -141, 16, 2, 0, 5, 0 }, + { -142, 16, 2, 0, 0, 0 }, { -143, 16, 2, 0, 0, 0 }, { -144, 16, 1, 0, 0, 0 }, { -145, 16, 1, 0, 0, 0 }, { -146, 16, 1, 0, 0, 0 }, + { -147, 16, 1, 0, 0, 0 }, { -148, 16, 1, 0, 0, 0 }, { -149, 16, 1, 0, 0, 0 }, { -150, 16, 1, 0, 0, 0 }, { -151, 16, 1, 0, 0, 0 }, + { -152, 16, 1, 0, 0, 0 }, { -153, 16, 0, 0, 0, 0 }, { -154, 16, 0, 0, 0, 0 }, { -155, 16, 0, 0, 0, 0 }, { -156, 16, 0, 0, 0, 0 }, + { -157, 16, 0, 0, 0, 0 }, { -158, 16, 0, 0, 0, 0 }, { -159, 16, 0, 0, 0, 0 }, { -160, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_909974 = { - 304, { - { 16, 5, 239, 8, 18, 0 }, { 16, 5, 238, 8, 18, 0 }, { 16, 5, 237, 8, 18, 0 }, { 16, 5, 236, 8, 18, 0 }, { 16, 5, 235, 8, 18, 0 }, - { 16, 5, 234, 8, 18, 0 }, { 16, 5, 233, 8, 18, 0 }, { 16, 5, 232, 8, 18, 0 }, { 16, 5, 231, 8, 18, 0 }, { 16, 5, 229, 8, 18, 0 }, - { 16, 5, 228, 8, 18, 0 }, { 16, 5, 227, 8, 18, 0 }, { 16, 5, 226, 8, 18, 0 }, { 16, 5, 225, 8, 18, 0 }, { 16, 5, 224, 8, 18, 0 }, - { 16, 5, 223, 8, 18, 0 }, { 16, 5, 222, 8, 18, 0 }, { 16, 5, 221, 8, 18, 0 }, { 16, 5, 220, 8, 18, 0 }, { 16, 5, 219, 8, 18, 0 }, - { 16, 5, 218, 8, 18, 0 }, { 16, 5, 217, 8, 18, 0 }, { 16, 5, 216, 8, 18, 0 }, { 16, 5, 215, 8, 18, 0 }, { 16, 5, 214, 8, 18, 0 }, - { 16, 5, 213, 8, 18, 0 }, { 16, 5, 212, 8, 18, 0 }, { 16, 6, 211, 8, 18, 0 }, { 16, 6, 210, 8, 18, 0 }, { 16, 6, 209, 8, 18, 0 }, - { 16, 6, 208, 8, 18, 0 }, { 16, 6, 207, 8, 18, 0 }, { 16, 6, 206, 8, 18, 0 }, { 16, 6, 205, 8, 18, 0 }, { 16, 6, 204, 8, 18, 0 }, - { 16, 6, 203, 8, 18, 0 }, { 16, 6, 202, 8, 18, 0 }, { 16, 6, 201, 8, 18, 0 }, { 16, 6, 200, 8, 18, 0 }, { 16, 7, 199, 8, 18, 0 }, - { 16, 7, 198, 8, 18, 0 }, { 16, 7, 197, 8, 18, 0 }, { 16, 7, 196, 8, 18, 0 }, { 16, 7, 195, 8, 18, 0 }, { 16, 7, 194, 8, 18, 0 }, - { 16, 7, 193, 8, 18, 0 }, { 16, 7, 192, 8, 18, 0 }, { 16, 8, 191, 8, 18, 0 }, { 16, 8, 190, 8, 18, 0 }, { 16, 8, 189, 8, 18, 0 }, - { 16, 8, 188, 8, 17, 0 }, { 16, 8, 187, 8, 17, 0 }, { 16, 8, 186, 8, 17, 0 }, { 16, 8, 185, 8, 17, 0 }, { 16, 9, 184, 8, 17, 0 }, - { 16, 9, 183, 8, 17, 0 }, { 16, 9, 182, 8, 17, 0 }, { 16, 9, 181, 8, 17, 0 }, { 16, 9, 180, 8, 17, 0 }, { 16, 9, 179, 8, 17, 0 }, - { 16, 10, 178, 8, 17, 0 }, { 16, 10, 177, 8, 17, 0 }, { 16, 10, 176, 8, 17, 0 }, { 16, 10, 175, 8, 17, 0 }, { 16, 10, 174, 8, 17, 0 }, - { 16, 11, 173, 8, 17, 0 }, { 16, 11, 172, 8, 17, 0 }, { 16, 11, 171, 8, 17, 0 }, { 16, 11, 170, 8, 17, 0 }, { 16, 12, 169, 8, 17, 0 }, - { 16, 12, 168, 8, 17, 0 }, { 16, 12, 167, 8, 17, 0 }, { 16, 12, 166, 8, 17, 0 }, { 16, 12, 165, 8, 17, 0 }, { 16, 13, 164, 8, 17, 0 }, - { 16, 13, 163, 8, 17, 0 }, { 16, 13, 162, 8, 17, 0 }, { 16, 13, 161, 8, 17, 0 }, { 16, 14, 160, 8, 17, 0 }, { 16, 14, 159, 8, 17, 0 }, - { 16, 14, 158, 8, 17, 0 }, { 16, 15, 157, 8, 17, 0 }, { 16, 15, 156, 8, 17, 0 }, { 16, 15, 155, 8, 17, 0 }, { 16, 15, 154, 8, 17, 0 }, - { 16, 16, 153, 8, 17, 0 }, { 16, 16, 152, 8, 17, 0 }, { 16, 16, 151, 8, 17, 0 }, { 16, 17, 150, 8, 17, 0 }, { 16, 17, 149, 8, 17, 0 }, - { 16, 17, 148, 8, 17, 0 }, { 16, 18, 147, 8, 17, 0 }, { 16, 18, 146, 8, 17, 0 }, { 16, 18, 145, 8, 17, 0 }, { 16, 19, 144, 8, 17, 0 }, - { 16, 19, 143, 8, 17, 0 }, { 16, 19, 142, 8, 17, 0 }, { 16, 20, 141, 8, 17, 0 }, { 16, 20, 140, 8, 17, 0 }, { 16, 20, 139, 8, 17, 0 }, - { 16, 21, 138, 8, 17, 0 }, { 16, 21, 137, 8, 17, 0 }, { 16, 21, 136, 8, 17, 0 }, { 16, 22, 135, 8, 8, 0 }, { 16, 22, 134, 8, 8, 0 }, - { 16, 22, 133, 8, 8, 0 }, { 16, 23, 132, 8, 8, 0 }, { 16, 23, 131, 8, 8, 0 }, { 16, 24, 130, 8, 8, 0 }, { 16, 24, 129, 8, 8, 0 }, - { 16, 24, 128, 8, 8, 0 }, { 16, 25, 127, 8, 8, 0 }, { 16, 25, 126, 8, 8, 0 }, { 16, 26, 125, 8, 8, 0 }, { 16, 26, 124, 8, 8, 0 }, - { 16, 27, 123, 8, 8, 0 }, { 16, 27, 122, 8, 8, 0 }, { 16, 27, 121, 8, 8, 0 }, { 16, 28, 120, 8, 8, 0 }, { 16, 28, 119, 8, 8, 0 }, - { 16, 29, 118, 8, 8, 0 }, { 16, 29, 117, 8, 8, 0 }, { 16, 30, 116, 8, 8, 0 }, { 16, 30, 115, 8, 8, 0 }, { 16, 31, 114, 8, 8, 0 }, - { 16, 31, 113, 8, 8, 0 }, { 16, 32, 112, 8, 8, 0 }, { 16, 32, 111, 8, 8, 0 }, { 16, 33, 110, 8, 8, 0 }, { 16, 33, 109, 8, 8, 0 }, - { 16, 34, 108, 8, 8, 0 }, { 16, 34, 107, 8, 8, 0 }, { 16, 35, 106, 8, 8, 0 }, { 16, 35, 105, 8, 8, 0 }, { 16, 36, 104, 8, 8, 0 }, - { 16, 36, 103, 8, 8, 0 }, { 16, 37, 102, 8, 8, 0 }, { 16, 38, 101, 8, 8, 0 }, { 16, 38, 100, 8, 8, 0 }, { 16, 39, 99, 8, 8, 0 }, - { 16, 39, 98, 8, 8, 0 }, { 16, 40, 97, 8, 8, 0 }, { 16, 40, 96, 8, 8, 0 }, { 16, 41, 95, 8, 8, 0 }, { 16, 42, 94, 8, 8, 0 }, - { 16, 42, 93, 8, 8, 0 }, { 16, 43, 92, 8, 8, 0 }, { 16, 44, 91, 8, 8, 0 }, { 16, 44, 90, 8, 7, 0 }, { 16, 45, 89, 8, 7, 0 }, - { 16, 45, 88, 8, 7, 0 }, { 16, 46, 87, 8, 7, 0 }, { 16, 47, 86, 8, 7, 0 }, { 16, 47, 85, 8, 7, 0 }, { 16, 48, 84, 8, 7, 0 }, - { 16, 49, 83, 8, 7, 0 }, { 16, 50, 82, 8, 7, 0 }, { 16, 50, 81, 8, 7, 0 }, { 16, 51, 80, 8, 7, 0 }, { 16, 52, 79, 8, 7, 0 }, - { 16, 52, 78, 8, 7, 0 }, { 16, 53, 77, 8, 7, 0 }, { 16, 54, 76, 8, 7, 0 }, { 16, 55, 75, 8, 7, 0 }, { 16, 55, 74, 8, 7, 0 }, - { 16, 56, 73, 8, 7, 0 }, { 16, 57, 72, 8, 7, 0 }, { 16, 58, 71, 8, 7, 0 }, { 16, 59, 70, 8, 7, 0 }, { 16, 59, 69, 8, 7, 0 }, - { 16, 60, 68, 8, 7, 0 }, { 16, 61, 67, 8, 7, 0 }, { 16, 62, 66, 8, 7, 0 }, { 16, 63, 65, 8, 7, 0 }, { 16, 64, 64, 8, 7, 0 }, - { 16, 64, 63, 8, 7, 0 }, { 16, 65, 62, 8, 7, 0 }, { 16, 66, 61, 8, 7, 0 }, { 16, 67, 60, 8, 7, 0 }, { 16, 68, 59, 8, 7, 0 }, - { 16, 69, 58, 8, 7, 0 }, { 16, 70, 57, 8, 7, 0 }, { 16, 71, 56, 8, 7, 0 }, { 16, 72, 55, 8, 7, 0 }, { 16, 73, 54, 8, 7, 0 }, - { 16, 74, 53, 8, 7, 0 }, { 16, 75, 52, 8, 7, 0 }, { 16, 76, 51, 8, 7, 0 }, { 16, 77, 50, 8, 7, 0 }, { 16, 78, 49, 8, 7, 0 }, - { 16, 79, 48, 8, 7, 0 }, { 16, 80, 47, 8, 7, 0 }, { 16, 81, 46, 8, 7, 0 }, { 16, 82, 45, 8, 7, 0 }, { 16, 83, 45, 8, 7, 0 }, - { 16, 84, 44, 8, 7, 0 }, { 16, 85, 43, 8, 7, 0 }, { 16, 86, 42, 8, 7, 0 }, { 16, 87, 41, 8, 7, 0 }, { 16, 88, 40, 8, 7, 0 }, - { 16, 89, 39, 8, 6, 0 }, { 16, 90, 39, 8, 6, 0 }, { 16, 91, 38, 8, 6, 0 }, { 16, 92, 37, 8, 6, 0 }, { 16, 93, 36, 8, 6, 0 }, - { 16, 94, 36, 8, 6, 0 }, { 16, 95, 35, 8, 6, 0 }, { 16, 96, 34, 8, 6, 0 }, { 16, 97, 33, 8, 6, 0 }, { 16, 98, 33, 8, 6, 0 }, - { 16, 99, 32, 8, 6, 0 }, { 16, 100, 31, 8, 6, 0 }, { 16, 101, 31, 8, 6, 0 }, { 16, 102, 30, 8, 6, 0 }, { 16, 103, 29, 8, 6, 0 }, - { 16, 104, 29, 8, 6, 0 }, { 16, 105, 28, 8, 6, 0 }, { 16, 106, 27, 8, 6, 0 }, { 16, 107, 27, 8, 6, 0 }, { 16, 108, 26, 8, 6, 0 }, - { 16, 109, 25, 8, 6, 0 }, { 16, 110, 25, 8, 6, 0 }, { 16, 111, 24, 8, 6, 0 }, { 16, 112, 24, 8, 6, 0 }, { 16, 113, 23, 8, 6, 0 }, - { 16, 114, 22, 8, 6, 0 }, { 16, 115, 22, 8, 6, 0 }, { 16, 116, 21, 8, 6, 0 }, { 16, 117, 21, 8, 6, 0 }, { 16, 118, 20, 8, 6, 0 }, - { 16, 119, 20, 8, 6, 0 }, { 16, 120, 19, 8, 6, 0 }, { 16, 121, 19, 8, 6, 0 }, { 16, 122, 18, 8, 6, 0 }, { 16, 123, 18, 8, 6, 0 }, - { 16, 124, 17, 8, 6, 0 }, { 16, 125, 17, 8, 6, 0 }, { 16, 126, 16, 8, 6, 0 }, { 16, 127, 16, 8, 6, 0 }, { 16, 128, 15, 8, 6, 0 }, - { 16, 129, 15, 8, 6, 0 }, { 16, 130, 14, 8, 6, 0 }, { 16, 131, 14, 8, 6, 0 }, { 16, 132, 13, 8, 6, 0 }, { 16, 133, 13, 8, 6, 0 }, - { 16, 134, 13, 8, 6, 0 }, { 16, 135, 12, 8, 6, 0 }, { 16, 136, 12, 8, 6, 0 }, { 16, 137, 11, 8, 5, 0 }, { 16, 138, 11, 8, 5, 0 }, - { 16, 139, 11, 8, 5, 0 }, { 16, 140, 10, 8, 5, 0 }, { 16, 141, 10, 8, 5, 0 }, { 16, 142, 10, 8, 5, 0 }, { 16, 143, 9, 8, 5, 0 }, - { 16, 144, 9, 8, 5, 0 }, { 16, 145, 9, 8, 5, 0 }, { 16, 146, 8, 8, 5, 0 }, { 16, 147, 8, 8, 5, 0 }, { 16, 148, 8, 8, 5, 0 }, - { 16, 149, 7, 8, 5, 0 }, { 16, 150, 7, 8, 5, 0 }, { 16, 151, 7, 8, 5, 0 }, { 16, 152, 6, 8, 5, 0 }, { 16, 153, 6, 8, 5, 0 }, - { 16, 154, 6, 8, 5, 0 }, { 16, 155, 6, 8, 5, 0 }, { 16, 156, 5, 8, 5, 0 }, { 16, 157, 5, 8, 5, 0 }, { 16, 158, 5, 8, 5, 0 }, - { 16, 159, 5, 8, 5, 0 }, { 16, 160, 4, 8, 5, 0 }, { 16, 161, 4, 8, 5, 0 }, { 16, 162, 4, 8, 5, 0 }, { 16, 163, 4, 8, 5, 0 }, - { 16, 164, 3, 8, 5, 0 }, { 16, 165, 3, 8, 5, 0 }, { 16, 166, 3, 8, 5, 0 }, { 16, 167, 3, 8, 5, 0 }, { 16, 168, 3, 8, 5, 0 }, - { 16, 169, 2, 8, 5, 0 }, { 16, 170, 2, 8, 5, 0 }, { 16, 171, 2, 8, 5, 0 }, { 16, 172, 2, 8, 5, 0 }, { 16, 173, 2, 8, 5, 0 }, - { 16, 174, 2, 8, 0, 0 }, { 16, 175, 2, 8, 0, 0 }, { 16, 176, 1, 8, 0, 0 }, { 16, 177, 1, 8, 0, 0 }, { 16, 178, 1, 8, 0, 0 }, - { 16, 179, 1, 8, 0, 0 }, { 16, 180, 1, 8, 0, 0 }, { 16, 181, 1, 8, 0, 0 }, { 16, 182, 1, 8, 0, 0 }, { 16, 183, 1, 8, 0, 0 }, - { 16, 184, 1, 8, 0, 0 }, { 16, 185, 0, 8, 0, 0 }, { 16, 186, 0, 8, 0, 0 }, { 16, 187, 0, 8, 0, 0 }, { 16, 188, 0, 8, 0, 0 }, - { 16, 189, 0, 8, 0, 0 }, { 16, 190, 0, 8, 0, 0 }, { 16, 191, 0, 8, 0, 0 }, { 16, 192, 0, 8, 0, 0 }, + 304, { + { 16, 5, 239, 8, 18, 0 }, { 16, 5, 238, 8, 18, 0 }, { 16, 5, 237, 8, 18, 0 }, { 16, 5, 236, 8, 18, 0 }, { 16, 5, 235, 8, 18, 0 }, + { 16, 5, 234, 8, 18, 0 }, { 16, 5, 233, 8, 18, 0 }, { 16, 5, 232, 8, 18, 0 }, { 16, 5, 231, 8, 18, 0 }, { 16, 5, 229, 8, 18, 0 }, + { 16, 5, 228, 8, 18, 0 }, { 16, 5, 227, 8, 18, 0 }, { 16, 5, 226, 8, 18, 0 }, { 16, 5, 225, 8, 18, 0 }, { 16, 5, 224, 8, 18, 0 }, + { 16, 5, 223, 8, 18, 0 }, { 16, 5, 222, 8, 18, 0 }, { 16, 5, 221, 8, 18, 0 }, { 16, 5, 220, 8, 18, 0 }, { 16, 5, 219, 8, 18, 0 }, + { 16, 5, 218, 8, 18, 0 }, { 16, 5, 217, 8, 18, 0 }, { 16, 5, 216, 8, 18, 0 }, { 16, 5, 215, 8, 18, 0 }, { 16, 5, 214, 8, 18, 0 }, + { 16, 5, 213, 8, 18, 0 }, { 16, 5, 212, 8, 18, 0 }, { 16, 6, 211, 8, 18, 0 }, { 16, 6, 210, 8, 18, 0 }, { 16, 6, 209, 8, 18, 0 }, + { 16, 6, 208, 8, 18, 0 }, { 16, 6, 207, 8, 18, 0 }, { 16, 6, 206, 8, 18, 0 }, { 16, 6, 205, 8, 18, 0 }, { 16, 6, 204, 8, 18, 0 }, + { 16, 6, 203, 8, 18, 0 }, { 16, 6, 202, 8, 18, 0 }, { 16, 6, 201, 8, 18, 0 }, { 16, 6, 200, 8, 18, 0 }, { 16, 7, 199, 8, 18, 0 }, + { 16, 7, 198, 8, 18, 0 }, { 16, 7, 197, 8, 18, 0 }, { 16, 7, 196, 8, 18, 0 }, { 16, 7, 195, 8, 18, 0 }, { 16, 7, 194, 8, 18, 0 }, + { 16, 7, 193, 8, 18, 0 }, { 16, 7, 192, 8, 18, 0 }, { 16, 8, 191, 8, 18, 0 }, { 16, 8, 190, 8, 18, 0 }, { 16, 8, 189, 8, 18, 0 }, + { 16, 8, 188, 8, 17, 0 }, { 16, 8, 187, 8, 17, 0 }, { 16, 8, 186, 8, 17, 0 }, { 16, 8, 185, 8, 17, 0 }, { 16, 9, 184, 8, 17, 0 }, + { 16, 9, 183, 8, 17, 0 }, { 16, 9, 182, 8, 17, 0 }, { 16, 9, 181, 8, 17, 0 }, { 16, 9, 180, 8, 17, 0 }, { 16, 9, 179, 8, 17, 0 }, + { 16, 10, 178, 8, 17, 0 }, { 16, 10, 177, 8, 17, 0 }, { 16, 10, 176, 8, 17, 0 }, { 16, 10, 175, 8, 17, 0 }, { 16, 10, 174, 8, 17, 0 }, + { 16, 11, 173, 8, 17, 0 }, { 16, 11, 172, 8, 17, 0 }, { 16, 11, 171, 8, 17, 0 }, { 16, 11, 170, 8, 17, 0 }, { 16, 12, 169, 8, 17, 0 }, + { 16, 12, 168, 8, 17, 0 }, { 16, 12, 167, 8, 17, 0 }, { 16, 12, 166, 8, 17, 0 }, { 16, 12, 165, 8, 17, 0 }, { 16, 13, 164, 8, 17, 0 }, + { 16, 13, 163, 8, 17, 0 }, { 16, 13, 162, 8, 17, 0 }, { 16, 13, 161, 8, 17, 0 }, { 16, 14, 160, 8, 17, 0 }, { 16, 14, 159, 8, 17, 0 }, + { 16, 14, 158, 8, 17, 0 }, { 16, 15, 157, 8, 17, 0 }, { 16, 15, 156, 8, 17, 0 }, { 16, 15, 155, 8, 17, 0 }, { 16, 15, 154, 8, 17, 0 }, + { 16, 16, 153, 8, 17, 0 }, { 16, 16, 152, 8, 17, 0 }, { 16, 16, 151, 8, 17, 0 }, { 16, 17, 150, 8, 17, 0 }, { 16, 17, 149, 8, 17, 0 }, + { 16, 17, 148, 8, 17, 0 }, { 16, 18, 147, 8, 17, 0 }, { 16, 18, 146, 8, 17, 0 }, { 16, 18, 145, 8, 17, 0 }, { 16, 19, 144, 8, 17, 0 }, + { 16, 19, 143, 8, 17, 0 }, { 16, 19, 142, 8, 17, 0 }, { 16, 20, 141, 8, 17, 0 }, { 16, 20, 140, 8, 17, 0 }, { 16, 20, 139, 8, 17, 0 }, + { 16, 21, 138, 8, 17, 0 }, { 16, 21, 137, 8, 17, 0 }, { 16, 21, 136, 8, 17, 0 }, { 16, 22, 135, 8, 8, 0 }, { 16, 22, 134, 8, 8, 0 }, + { 16, 22, 133, 8, 8, 0 }, { 16, 23, 132, 8, 8, 0 }, { 16, 23, 131, 8, 8, 0 }, { 16, 24, 130, 8, 8, 0 }, { 16, 24, 129, 8, 8, 0 }, + { 16, 24, 128, 8, 8, 0 }, { 16, 25, 127, 8, 8, 0 }, { 16, 25, 126, 8, 8, 0 }, { 16, 26, 125, 8, 8, 0 }, { 16, 26, 124, 8, 8, 0 }, + { 16, 27, 123, 8, 8, 0 }, { 16, 27, 122, 8, 8, 0 }, { 16, 27, 121, 8, 8, 0 }, { 16, 28, 120, 8, 8, 0 }, { 16, 28, 119, 8, 8, 0 }, + { 16, 29, 118, 8, 8, 0 }, { 16, 29, 117, 8, 8, 0 }, { 16, 30, 116, 8, 8, 0 }, { 16, 30, 115, 8, 8, 0 }, { 16, 31, 114, 8, 8, 0 }, + { 16, 31, 113, 8, 8, 0 }, { 16, 32, 112, 8, 8, 0 }, { 16, 32, 111, 8, 8, 0 }, { 16, 33, 110, 8, 8, 0 }, { 16, 33, 109, 8, 8, 0 }, + { 16, 34, 108, 8, 8, 0 }, { 16, 34, 107, 8, 8, 0 }, { 16, 35, 106, 8, 8, 0 }, { 16, 35, 105, 8, 8, 0 }, { 16, 36, 104, 8, 8, 0 }, + { 16, 36, 103, 8, 8, 0 }, { 16, 37, 102, 8, 8, 0 }, { 16, 38, 101, 8, 8, 0 }, { 16, 38, 100, 8, 8, 0 }, { 16, 39, 99, 8, 8, 0 }, + { 16, 39, 98, 8, 8, 0 }, { 16, 40, 97, 8, 8, 0 }, { 16, 40, 96, 8, 8, 0 }, { 16, 41, 95, 8, 8, 0 }, { 16, 42, 94, 8, 8, 0 }, + { 16, 42, 93, 8, 8, 0 }, { 16, 43, 92, 8, 8, 0 }, { 16, 44, 91, 8, 8, 0 }, { 16, 44, 90, 8, 7, 0 }, { 16, 45, 89, 8, 7, 0 }, + { 16, 45, 88, 8, 7, 0 }, { 16, 46, 87, 8, 7, 0 }, { 16, 47, 86, 8, 7, 0 }, { 16, 47, 85, 8, 7, 0 }, { 16, 48, 84, 8, 7, 0 }, + { 16, 49, 83, 8, 7, 0 }, { 16, 50, 82, 8, 7, 0 }, { 16, 50, 81, 8, 7, 0 }, { 16, 51, 80, 8, 7, 0 }, { 16, 52, 79, 8, 7, 0 }, + { 16, 52, 78, 8, 7, 0 }, { 16, 53, 77, 8, 7, 0 }, { 16, 54, 76, 8, 7, 0 }, { 16, 55, 75, 8, 7, 0 }, { 16, 55, 74, 8, 7, 0 }, + { 16, 56, 73, 8, 7, 0 }, { 16, 57, 72, 8, 7, 0 }, { 16, 58, 71, 8, 7, 0 }, { 16, 59, 70, 8, 7, 0 }, { 16, 59, 69, 8, 7, 0 }, + { 16, 60, 68, 8, 7, 0 }, { 16, 61, 67, 8, 7, 0 }, { 16, 62, 66, 8, 7, 0 }, { 16, 63, 65, 8, 7, 0 }, { 16, 64, 64, 8, 7, 0 }, + { 16, 64, 63, 8, 7, 0 }, { 16, 65, 62, 8, 7, 0 }, { 16, 66, 61, 8, 7, 0 }, { 16, 67, 60, 8, 7, 0 }, { 16, 68, 59, 8, 7, 0 }, + { 16, 69, 58, 8, 7, 0 }, { 16, 70, 57, 8, 7, 0 }, { 16, 71, 56, 8, 7, 0 }, { 16, 72, 55, 8, 7, 0 }, { 16, 73, 54, 8, 7, 0 }, + { 16, 74, 53, 8, 7, 0 }, { 16, 75, 52, 8, 7, 0 }, { 16, 76, 51, 8, 7, 0 }, { 16, 77, 50, 8, 7, 0 }, { 16, 78, 49, 8, 7, 0 }, + { 16, 79, 48, 8, 7, 0 }, { 16, 80, 47, 8, 7, 0 }, { 16, 81, 46, 8, 7, 0 }, { 16, 82, 45, 8, 7, 0 }, { 16, 83, 45, 8, 7, 0 }, + { 16, 84, 44, 8, 7, 0 }, { 16, 85, 43, 8, 7, 0 }, { 16, 86, 42, 8, 7, 0 }, { 16, 87, 41, 8, 7, 0 }, { 16, 88, 40, 8, 7, 0 }, + { 16, 89, 39, 8, 6, 0 }, { 16, 90, 39, 8, 6, 0 }, { 16, 91, 38, 8, 6, 0 }, { 16, 92, 37, 8, 6, 0 }, { 16, 93, 36, 8, 6, 0 }, + { 16, 94, 36, 8, 6, 0 }, { 16, 95, 35, 8, 6, 0 }, { 16, 96, 34, 8, 6, 0 }, { 16, 97, 33, 8, 6, 0 }, { 16, 98, 33, 8, 6, 0 }, + { 16, 99, 32, 8, 6, 0 }, { 16, 100, 31, 8, 6, 0 }, { 16, 101, 31, 8, 6, 0 }, { 16, 102, 30, 8, 6, 0 }, { 16, 103, 29, 8, 6, 0 }, + { 16, 104, 29, 8, 6, 0 }, { 16, 105, 28, 8, 6, 0 }, { 16, 106, 27, 8, 6, 0 }, { 16, 107, 27, 8, 6, 0 }, { 16, 108, 26, 8, 6, 0 }, + { 16, 109, 25, 8, 6, 0 }, { 16, 110, 25, 8, 6, 0 }, { 16, 111, 24, 8, 6, 0 }, { 16, 112, 24, 8, 6, 0 }, { 16, 113, 23, 8, 6, 0 }, + { 16, 114, 22, 8, 6, 0 }, { 16, 115, 22, 8, 6, 0 }, { 16, 116, 21, 8, 6, 0 }, { 16, 117, 21, 8, 6, 0 }, { 16, 118, 20, 8, 6, 0 }, + { 16, 119, 20, 8, 6, 0 }, { 16, 120, 19, 8, 6, 0 }, { 16, 121, 19, 8, 6, 0 }, { 16, 122, 18, 8, 6, 0 }, { 16, 123, 18, 8, 6, 0 }, + { 16, 124, 17, 8, 6, 0 }, { 16, 125, 17, 8, 6, 0 }, { 16, 126, 16, 8, 6, 0 }, { 16, 127, 16, 8, 6, 0 }, { 16, 128, 15, 8, 6, 0 }, + { 16, 129, 15, 8, 6, 0 }, { 16, 130, 14, 8, 6, 0 }, { 16, 131, 14, 8, 6, 0 }, { 16, 132, 13, 8, 6, 0 }, { 16, 133, 13, 8, 6, 0 }, + { 16, 134, 13, 8, 6, 0 }, { 16, 135, 12, 8, 6, 0 }, { 16, 136, 12, 8, 6, 0 }, { 16, 137, 11, 8, 5, 0 }, { 16, 138, 11, 8, 5, 0 }, + { 16, 139, 11, 8, 5, 0 }, { 16, 140, 10, 8, 5, 0 }, { 16, 141, 10, 8, 5, 0 }, { 16, 142, 10, 8, 5, 0 }, { 16, 143, 9, 8, 5, 0 }, + { 16, 144, 9, 8, 5, 0 }, { 16, 145, 9, 8, 5, 0 }, { 16, 146, 8, 8, 5, 0 }, { 16, 147, 8, 8, 5, 0 }, { 16, 148, 8, 8, 5, 0 }, + { 16, 149, 7, 8, 5, 0 }, { 16, 150, 7, 8, 5, 0 }, { 16, 151, 7, 8, 5, 0 }, { 16, 152, 6, 8, 5, 0 }, { 16, 153, 6, 8, 5, 0 }, + { 16, 154, 6, 8, 5, 0 }, { 16, 155, 6, 8, 5, 0 }, { 16, 156, 5, 8, 5, 0 }, { 16, 157, 5, 8, 5, 0 }, { 16, 158, 5, 8, 5, 0 }, + { 16, 159, 5, 8, 5, 0 }, { 16, 160, 4, 8, 5, 0 }, { 16, 161, 4, 8, 5, 0 }, { 16, 162, 4, 8, 5, 0 }, { 16, 163, 4, 8, 5, 0 }, + { 16, 164, 3, 8, 5, 0 }, { 16, 165, 3, 8, 5, 0 }, { 16, 166, 3, 8, 5, 0 }, { 16, 167, 3, 8, 5, 0 }, { 16, 168, 3, 8, 5, 0 }, + { 16, 169, 2, 8, 5, 0 }, { 16, 170, 2, 8, 5, 0 }, { 16, 171, 2, 8, 5, 0 }, { 16, 172, 2, 8, 5, 0 }, { 16, 173, 2, 8, 5, 0 }, + { 16, 174, 2, 8, 0, 0 }, { 16, 175, 2, 8, 0, 0 }, { 16, 176, 1, 8, 0, 0 }, { 16, 177, 1, 8, 0, 0 }, { 16, 178, 1, 8, 0, 0 }, + { 16, 179, 1, 8, 0, 0 }, { 16, 180, 1, 8, 0, 0 }, { 16, 181, 1, 8, 0, 0 }, { 16, 182, 1, 8, 0, 0 }, { 16, 183, 1, 8, 0, 0 }, + { 16, 184, 1, 8, 0, 0 }, { 16, 185, 0, 8, 0, 0 }, { 16, 186, 0, 8, 0, 0 }, { 16, 187, 0, 8, 0, 0 }, { 16, 188, 0, 8, 0, 0 }, + { 16, 189, 0, 8, 0, 0 }, { 16, 190, 0, 8, 0, 0 }, { 16, 191, 0, 8, 0, 0 }, { 16, 192, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90A426 = { - 304, { - { 5, 16, 239, 16, 18, 0 }, { 5, 16, 238, 16, 18, 0 }, { 5, 16, 237, 16, 18, 0 }, { 5, 16, 236, 16, 18, 0 }, { 5, 16, 235, 16, 18, 0 }, - { 5, 16, 234, 16, 18, 0 }, { 5, 16, 233, 16, 18, 0 }, { 5, 16, 232, 16, 18, 0 }, { 5, 16, 231, 16, 18, 0 }, { 5, 16, 229, 16, 18, 0 }, - { 5, 16, 228, 16, 18, 0 }, { 5, 16, 227, 16, 18, 0 }, { 5, 16, 226, 16, 18, 0 }, { 5, 16, 225, 16, 18, 0 }, { 5, 16, 224, 16, 18, 0 }, - { 5, 16, 223, 16, 18, 0 }, { 5, 16, 222, 16, 18, 0 }, { 5, 16, 221, 16, 18, 0 }, { 5, 16, 220, 16, 18, 0 }, { 5, 16, 219, 16, 18, 0 }, - { 5, 16, 218, 16, 18, 0 }, { 5, 16, 217, 16, 18, 0 }, { 5, 16, 216, 16, 18, 0 }, { 5, 16, 215, 16, 18, 0 }, { 5, 16, 214, 16, 18, 0 }, - { 5, 16, 213, 16, 18, 0 }, { 5, 16, 212, 16, 18, 0 }, { 6, 16, 211, 16, 18, 0 }, { 6, 16, 210, 16, 18, 0 }, { 6, 16, 209, 16, 18, 0 }, - { 6, 16, 208, 16, 18, 0 }, { 6, 16, 207, 16, 18, 0 }, { 6, 16, 206, 16, 18, 0 }, { 6, 16, 205, 16, 18, 0 }, { 6, 16, 204, 16, 18, 0 }, - { 6, 16, 203, 16, 18, 0 }, { 6, 16, 202, 16, 18, 0 }, { 6, 16, 201, 16, 18, 0 }, { 6, 16, 200, 16, 18, 0 }, { 7, 16, 199, 16, 18, 0 }, - { 7, 16, 198, 16, 18, 0 }, { 7, 16, 197, 16, 18, 0 }, { 7, 16, 196, 16, 18, 0 }, { 7, 16, 195, 16, 18, 0 }, { 7, 16, 194, 16, 18, 0 }, - { 7, 16, 193, 16, 18, 0 }, { 7, 16, 192, 16, 18, 0 }, { 8, 16, 191, 16, 18, 0 }, { 8, 16, 190, 16, 18, 0 }, { 8, 16, 189, 16, 18, 0 }, - { 8, 16, 188, 16, 17, 0 }, { 8, 16, 187, 16, 17, 0 }, { 8, 16, 186, 16, 17, 0 }, { 8, 16, 185, 16, 17, 0 }, { 9, 16, 184, 16, 17, 0 }, - { 9, 16, 183, 16, 17, 0 }, { 9, 16, 182, 16, 17, 0 }, { 9, 16, 181, 16, 17, 0 }, { 9, 16, 180, 16, 17, 0 }, { 9, 16, 179, 16, 17, 0 }, - { 10, 16, 178, 16, 17, 0 }, { 10, 16, 177, 16, 17, 0 }, { 10, 16, 176, 16, 17, 0 }, { 10, 16, 175, 16, 17, 0 }, { 10, 16, 174, 16, 17, 0 }, - { 11, 16, 173, 16, 17, 0 }, { 11, 16, 172, 16, 17, 0 }, { 11, 16, 171, 16, 17, 0 }, { 11, 16, 170, 16, 17, 0 }, { 12, 16, 169, 16, 17, 0 }, - { 12, 16, 168, 16, 17, 0 }, { 12, 16, 167, 16, 17, 0 }, { 12, 16, 166, 16, 17, 0 }, { 12, 16, 165, 16, 17, 0 }, { 13, 16, 164, 16, 17, 0 }, - { 13, 16, 163, 16, 17, 0 }, { 13, 16, 162, 16, 17, 0 }, { 13, 16, 161, 16, 17, 0 }, { 14, 16, 160, 16, 17, 0 }, { 14, 16, 159, 16, 17, 0 }, - { 14, 16, 158, 16, 17, 0 }, { 15, 16, 157, 16, 17, 0 }, { 15, 16, 156, 16, 17, 0 }, { 15, 16, 155, 16, 17, 0 }, { 15, 16, 154, 16, 17, 0 }, - { 16, 16, 153, 16, 17, 0 }, { 16, 16, 152, 16, 17, 0 }, { 16, 16, 151, 16, 17, 0 }, { 17, 16, 150, 16, 17, 0 }, { 17, 16, 149, 16, 17, 0 }, - { 17, 16, 148, 16, 17, 0 }, { 18, 16, 147, 16, 17, 0 }, { 18, 16, 146, 16, 17, 0 }, { 18, 16, 145, 16, 17, 0 }, { 19, 16, 144, 16, 17, 0 }, - { 19, 16, 143, 16, 17, 0 }, { 19, 16, 142, 16, 17, 0 }, { 20, 16, 141, 16, 17, 0 }, { 20, 16, 140, 16, 17, 0 }, { 20, 16, 139, 16, 17, 0 }, - { 21, 16, 138, 16, 17, 0 }, { 21, 16, 137, 16, 17, 0 }, { 21, 16, 136, 16, 17, 0 }, { 22, 16, 135, 16, 8, 0 }, { 22, 16, 134, 16, 8, 0 }, - { 22, 16, 133, 16, 8, 0 }, { 23, 16, 132, 16, 8, 0 }, { 23, 16, 131, 16, 8, 0 }, { 24, 16, 130, 16, 8, 0 }, { 24, 16, 129, 16, 8, 0 }, - { 24, 16, 128, 16, 8, 0 }, { 25, 16, 127, 16, 8, 0 }, { 25, 16, 126, 16, 8, 0 }, { 26, 16, 125, 16, 8, 0 }, { 26, 16, 124, 16, 8, 0 }, - { 27, 16, 123, 16, 8, 0 }, { 27, 16, 122, 16, 8, 0 }, { 27, 16, 121, 16, 8, 0 }, { 28, 16, 120, 16, 8, 0 }, { 28, 16, 119, 16, 8, 0 }, - { 29, 16, 118, 16, 8, 0 }, { 29, 16, 117, 16, 8, 0 }, { 30, 16, 116, 16, 8, 0 }, { 30, 16, 115, 16, 8, 0 }, { 31, 16, 114, 16, 8, 0 }, - { 31, 16, 113, 16, 8, 0 }, { 32, 16, 112, 16, 8, 0 }, { 32, 16, 111, 16, 8, 0 }, { 33, 16, 110, 16, 8, 0 }, { 33, 16, 109, 16, 8, 0 }, - { 34, 16, 108, 16, 8, 0 }, { 34, 16, 107, 16, 8, 0 }, { 35, 16, 106, 16, 8, 0 }, { 35, 16, 105, 16, 8, 0 }, { 36, 16, 104, 16, 8, 0 }, - { 36, 16, 103, 16, 8, 0 }, { 37, 16, 102, 16, 8, 0 }, { 38, 16, 101, 16, 8, 0 }, { 38, 16, 100, 16, 8, 0 }, { 39, 16, 99, 16, 8, 0 }, - { 39, 16, 98, 16, 8, 0 }, { 40, 16, 97, 16, 8, 0 }, { 40, 16, 96, 16, 8, 0 }, { 41, 16, 95, 16, 8, 0 }, { 42, 16, 94, 16, 8, 0 }, - { 42, 16, 93, 16, 8, 0 }, { 43, 16, 92, 16, 8, 0 }, { 44, 16, 91, 16, 8, 0 }, { 44, 16, 90, 16, 7, 0 }, { 45, 16, 89, 16, 7, 0 }, - { 45, 16, 88, 16, 7, 0 }, { 46, 16, 87, 16, 7, 0 }, { 47, 16, 86, 16, 7, 0 }, { 47, 16, 85, 16, 7, 0 }, { 48, 16, 84, 16, 7, 0 }, - { 49, 16, 83, 16, 7, 0 }, { 50, 16, 82, 16, 7, 0 }, { 50, 16, 81, 16, 7, 0 }, { 51, 16, 80, 16, 7, 0 }, { 52, 16, 79, 16, 7, 0 }, - { 52, 16, 78, 16, 7, 0 }, { 53, 16, 77, 16, 7, 0 }, { 54, 16, 76, 16, 7, 0 }, { 55, 16, 75, 16, 7, 0 }, { 55, 16, 74, 16, 7, 0 }, - { 56, 16, 73, 16, 7, 0 }, { 57, 16, 72, 16, 7, 0 }, { 58, 16, 71, 16, 7, 0 }, { 59, 16, 70, 16, 7, 0 }, { 59, 16, 69, 16, 7, 0 }, - { 60, 16, 68, 16, 7, 0 }, { 61, 16, 67, 16, 7, 0 }, { 62, 16, 66, 16, 7, 0 }, { 63, 16, 65, 16, 7, 0 }, { 64, 16, 64, 16, 7, 0 }, - { 64, 16, 63, 16, 7, 0 }, { 65, 16, 62, 16, 7, 0 }, { 66, 16, 61, 16, 7, 0 }, { 67, 16, 60, 16, 7, 0 }, { 68, 16, 59, 16, 7, 0 }, - { 69, 16, 58, 16, 7, 0 }, { 70, 16, 57, 16, 7, 0 }, { 71, 16, 56, 16, 7, 0 }, { 72, 16, 55, 16, 7, 0 }, { 73, 16, 54, 16, 7, 0 }, - { 74, 16, 53, 16, 7, 0 }, { 75, 16, 52, 16, 7, 0 }, { 76, 16, 51, 16, 7, 0 }, { 77, 16, 50, 16, 7, 0 }, { 78, 16, 49, 16, 7, 0 }, - { 79, 16, 48, 16, 7, 0 }, { 80, 16, 47, 16, 7, 0 }, { 81, 16, 46, 16, 7, 0 }, { 82, 16, 45, 16, 7, 0 }, { 83, 16, 45, 16, 7, 0 }, - { 84, 16, 44, 16, 7, 0 }, { 85, 16, 43, 16, 7, 0 }, { 86, 16, 42, 16, 7, 0 }, { 87, 16, 41, 16, 7, 0 }, { 88, 16, 40, 16, 7, 0 }, - { 89, 16, 39, 16, 6, 0 }, { 90, 16, 39, 16, 6, 0 }, { 91, 16, 38, 16, 6, 0 }, { 92, 16, 37, 16, 6, 0 }, { 93, 16, 36, 16, 6, 0 }, - { 94, 16, 36, 16, 6, 0 }, { 95, 16, 35, 16, 6, 0 }, { 96, 16, 34, 16, 6, 0 }, { 97, 16, 33, 16, 6, 0 }, { 98, 16, 33, 16, 6, 0 }, - { 99, 16, 32, 16, 6, 0 }, { 100, 16, 31, 16, 6, 0 }, { 101, 16, 31, 16, 6, 0 }, { 102, 16, 30, 16, 6, 0 }, { 103, 16, 29, 16, 6, 0 }, - { 104, 16, 29, 16, 6, 0 }, { 105, 16, 28, 16, 6, 0 }, { 106, 16, 27, 16, 6, 0 }, { 107, 16, 27, 16, 6, 0 }, { 108, 16, 26, 16, 6, 0 }, - { 109, 16, 25, 16, 6, 0 }, { 110, 16, 25, 16, 6, 0 }, { 111, 16, 24, 16, 6, 0 }, { 112, 16, 24, 16, 6, 0 }, { 113, 16, 23, 16, 6, 0 }, - { 114, 16, 22, 16, 6, 0 }, { 115, 16, 22, 16, 6, 0 }, { 116, 16, 21, 16, 6, 0 }, { 117, 16, 21, 16, 6, 0 }, { 118, 16, 20, 16, 6, 0 }, - { 119, 16, 20, 16, 6, 0 }, { 120, 16, 19, 16, 6, 0 }, { 121, 16, 19, 16, 6, 0 }, { 122, 16, 18, 16, 6, 0 }, { 123, 16, 18, 16, 6, 0 }, - { 124, 16, 17, 16, 6, 0 }, { 125, 16, 17, 16, 6, 0 }, { 126, 16, 16, 16, 6, 0 }, { 127, 16, 16, 16, 6, 0 }, { 128, 16, 15, 16, 6, 0 }, - { 129, 16, 15, 16, 6, 0 }, { 130, 16, 14, 16, 6, 0 }, { 131, 16, 14, 16, 6, 0 }, { 132, 16, 13, 16, 6, 0 }, { 133, 16, 13, 16, 6, 0 }, - { 134, 16, 13, 16, 6, 0 }, { 135, 16, 12, 16, 6, 0 }, { 136, 16, 12, 16, 6, 0 }, { 137, 16, 11, 16, 5, 0 }, { 138, 16, 11, 16, 5, 0 }, - { 139, 16, 11, 16, 5, 0 }, { 140, 16, 10, 16, 5, 0 }, { 141, 16, 10, 16, 5, 0 }, { 142, 16, 10, 16, 5, 0 }, { 143, 16, 9, 16, 5, 0 }, - { 144, 16, 9, 16, 5, 0 }, { 145, 16, 9, 16, 5, 0 }, { 146, 16, 8, 16, 5, 0 }, { 147, 16, 8, 16, 5, 0 }, { 148, 16, 8, 16, 5, 0 }, - { 149, 16, 7, 16, 5, 0 }, { 150, 16, 7, 16, 5, 0 }, { 151, 16, 7, 16, 5, 0 }, { 152, 16, 6, 16, 5, 0 }, { 153, 16, 6, 16, 5, 0 }, - { 154, 16, 6, 16, 5, 0 }, { 155, 16, 6, 16, 5, 0 }, { 156, 16, 5, 16, 5, 0 }, { 157, 16, 5, 16, 5, 0 }, { 158, 16, 5, 16, 5, 0 }, - { 159, 16, 5, 16, 5, 0 }, { 160, 16, 4, 16, 5, 0 }, { 161, 16, 4, 16, 5, 0 }, { 162, 16, 4, 16, 5, 0 }, { 163, 16, 4, 16, 5, 0 }, - { 164, 16, 3, 16, 5, 0 }, { 165, 16, 3, 16, 5, 0 }, { 166, 16, 3, 16, 5, 0 }, { 167, 16, 3, 16, 5, 0 }, { 168, 16, 3, 16, 5, 0 }, - { 169, 16, 2, 16, 5, 0 }, { 170, 16, 2, 16, 5, 0 }, { 171, 16, 2, 16, 5, 0 }, { 172, 16, 2, 16, 5, 0 }, { 173, 16, 2, 16, 5, 0 }, - { 174, 16, 2, 16, 0, 0 }, { 175, 16, 2, 16, 0, 0 }, { 176, 16, 1, 16, 0, 0 }, { 177, 16, 1, 16, 0, 0 }, { 178, 16, 1, 16, 0, 0 }, - { 179, 16, 1, 16, 0, 0 }, { 180, 16, 1, 16, 0, 0 }, { 181, 16, 1, 16, 0, 0 }, { 182, 16, 1, 16, 0, 0 }, { 183, 16, 1, 16, 0, 0 }, - { 184, 16, 1, 16, 0, 0 }, { 185, 16, 0, 16, 0, 0 }, { 186, 16, 0, 16, 0, 0 }, { 187, 16, 0, 16, 0, 0 }, { 188, 16, 0, 16, 0, 0 }, - { 189, 16, 0, 16, 0, 0 }, { 190, 16, 0, 16, 0, 0 }, { 191, 16, 0, 16, 0, 0 }, { 192, 16, 0, 16, 0, 0 }, + 304, { + { 5, 16, 239, 16, 18, 0 }, { 5, 16, 238, 16, 18, 0 }, { 5, 16, 237, 16, 18, 0 }, { 5, 16, 236, 16, 18, 0 }, { 5, 16, 235, 16, 18, 0 }, + { 5, 16, 234, 16, 18, 0 }, { 5, 16, 233, 16, 18, 0 }, { 5, 16, 232, 16, 18, 0 }, { 5, 16, 231, 16, 18, 0 }, { 5, 16, 229, 16, 18, 0 }, + { 5, 16, 228, 16, 18, 0 }, { 5, 16, 227, 16, 18, 0 }, { 5, 16, 226, 16, 18, 0 }, { 5, 16, 225, 16, 18, 0 }, { 5, 16, 224, 16, 18, 0 }, + { 5, 16, 223, 16, 18, 0 }, { 5, 16, 222, 16, 18, 0 }, { 5, 16, 221, 16, 18, 0 }, { 5, 16, 220, 16, 18, 0 }, { 5, 16, 219, 16, 18, 0 }, + { 5, 16, 218, 16, 18, 0 }, { 5, 16, 217, 16, 18, 0 }, { 5, 16, 216, 16, 18, 0 }, { 5, 16, 215, 16, 18, 0 }, { 5, 16, 214, 16, 18, 0 }, + { 5, 16, 213, 16, 18, 0 }, { 5, 16, 212, 16, 18, 0 }, { 6, 16, 211, 16, 18, 0 }, { 6, 16, 210, 16, 18, 0 }, { 6, 16, 209, 16, 18, 0 }, + { 6, 16, 208, 16, 18, 0 }, { 6, 16, 207, 16, 18, 0 }, { 6, 16, 206, 16, 18, 0 }, { 6, 16, 205, 16, 18, 0 }, { 6, 16, 204, 16, 18, 0 }, + { 6, 16, 203, 16, 18, 0 }, { 6, 16, 202, 16, 18, 0 }, { 6, 16, 201, 16, 18, 0 }, { 6, 16, 200, 16, 18, 0 }, { 7, 16, 199, 16, 18, 0 }, + { 7, 16, 198, 16, 18, 0 }, { 7, 16, 197, 16, 18, 0 }, { 7, 16, 196, 16, 18, 0 }, { 7, 16, 195, 16, 18, 0 }, { 7, 16, 194, 16, 18, 0 }, + { 7, 16, 193, 16, 18, 0 }, { 7, 16, 192, 16, 18, 0 }, { 8, 16, 191, 16, 18, 0 }, { 8, 16, 190, 16, 18, 0 }, { 8, 16, 189, 16, 18, 0 }, + { 8, 16, 188, 16, 17, 0 }, { 8, 16, 187, 16, 17, 0 }, { 8, 16, 186, 16, 17, 0 }, { 8, 16, 185, 16, 17, 0 }, { 9, 16, 184, 16, 17, 0 }, + { 9, 16, 183, 16, 17, 0 }, { 9, 16, 182, 16, 17, 0 }, { 9, 16, 181, 16, 17, 0 }, { 9, 16, 180, 16, 17, 0 }, { 9, 16, 179, 16, 17, 0 }, + { 10, 16, 178, 16, 17, 0 }, { 10, 16, 177, 16, 17, 0 }, { 10, 16, 176, 16, 17, 0 }, { 10, 16, 175, 16, 17, 0 }, { 10, 16, 174, 16, 17, 0 }, + { 11, 16, 173, 16, 17, 0 }, { 11, 16, 172, 16, 17, 0 }, { 11, 16, 171, 16, 17, 0 }, { 11, 16, 170, 16, 17, 0 }, { 12, 16, 169, 16, 17, 0 }, + { 12, 16, 168, 16, 17, 0 }, { 12, 16, 167, 16, 17, 0 }, { 12, 16, 166, 16, 17, 0 }, { 12, 16, 165, 16, 17, 0 }, { 13, 16, 164, 16, 17, 0 }, + { 13, 16, 163, 16, 17, 0 }, { 13, 16, 162, 16, 17, 0 }, { 13, 16, 161, 16, 17, 0 }, { 14, 16, 160, 16, 17, 0 }, { 14, 16, 159, 16, 17, 0 }, + { 14, 16, 158, 16, 17, 0 }, { 15, 16, 157, 16, 17, 0 }, { 15, 16, 156, 16, 17, 0 }, { 15, 16, 155, 16, 17, 0 }, { 15, 16, 154, 16, 17, 0 }, + { 16, 16, 153, 16, 17, 0 }, { 16, 16, 152, 16, 17, 0 }, { 16, 16, 151, 16, 17, 0 }, { 17, 16, 150, 16, 17, 0 }, { 17, 16, 149, 16, 17, 0 }, + { 17, 16, 148, 16, 17, 0 }, { 18, 16, 147, 16, 17, 0 }, { 18, 16, 146, 16, 17, 0 }, { 18, 16, 145, 16, 17, 0 }, { 19, 16, 144, 16, 17, 0 }, + { 19, 16, 143, 16, 17, 0 }, { 19, 16, 142, 16, 17, 0 }, { 20, 16, 141, 16, 17, 0 }, { 20, 16, 140, 16, 17, 0 }, { 20, 16, 139, 16, 17, 0 }, + { 21, 16, 138, 16, 17, 0 }, { 21, 16, 137, 16, 17, 0 }, { 21, 16, 136, 16, 17, 0 }, { 22, 16, 135, 16, 8, 0 }, { 22, 16, 134, 16, 8, 0 }, + { 22, 16, 133, 16, 8, 0 }, { 23, 16, 132, 16, 8, 0 }, { 23, 16, 131, 16, 8, 0 }, { 24, 16, 130, 16, 8, 0 }, { 24, 16, 129, 16, 8, 0 }, + { 24, 16, 128, 16, 8, 0 }, { 25, 16, 127, 16, 8, 0 }, { 25, 16, 126, 16, 8, 0 }, { 26, 16, 125, 16, 8, 0 }, { 26, 16, 124, 16, 8, 0 }, + { 27, 16, 123, 16, 8, 0 }, { 27, 16, 122, 16, 8, 0 }, { 27, 16, 121, 16, 8, 0 }, { 28, 16, 120, 16, 8, 0 }, { 28, 16, 119, 16, 8, 0 }, + { 29, 16, 118, 16, 8, 0 }, { 29, 16, 117, 16, 8, 0 }, { 30, 16, 116, 16, 8, 0 }, { 30, 16, 115, 16, 8, 0 }, { 31, 16, 114, 16, 8, 0 }, + { 31, 16, 113, 16, 8, 0 }, { 32, 16, 112, 16, 8, 0 }, { 32, 16, 111, 16, 8, 0 }, { 33, 16, 110, 16, 8, 0 }, { 33, 16, 109, 16, 8, 0 }, + { 34, 16, 108, 16, 8, 0 }, { 34, 16, 107, 16, 8, 0 }, { 35, 16, 106, 16, 8, 0 }, { 35, 16, 105, 16, 8, 0 }, { 36, 16, 104, 16, 8, 0 }, + { 36, 16, 103, 16, 8, 0 }, { 37, 16, 102, 16, 8, 0 }, { 38, 16, 101, 16, 8, 0 }, { 38, 16, 100, 16, 8, 0 }, { 39, 16, 99, 16, 8, 0 }, + { 39, 16, 98, 16, 8, 0 }, { 40, 16, 97, 16, 8, 0 }, { 40, 16, 96, 16, 8, 0 }, { 41, 16, 95, 16, 8, 0 }, { 42, 16, 94, 16, 8, 0 }, + { 42, 16, 93, 16, 8, 0 }, { 43, 16, 92, 16, 8, 0 }, { 44, 16, 91, 16, 8, 0 }, { 44, 16, 90, 16, 7, 0 }, { 45, 16, 89, 16, 7, 0 }, + { 45, 16, 88, 16, 7, 0 }, { 46, 16, 87, 16, 7, 0 }, { 47, 16, 86, 16, 7, 0 }, { 47, 16, 85, 16, 7, 0 }, { 48, 16, 84, 16, 7, 0 }, + { 49, 16, 83, 16, 7, 0 }, { 50, 16, 82, 16, 7, 0 }, { 50, 16, 81, 16, 7, 0 }, { 51, 16, 80, 16, 7, 0 }, { 52, 16, 79, 16, 7, 0 }, + { 52, 16, 78, 16, 7, 0 }, { 53, 16, 77, 16, 7, 0 }, { 54, 16, 76, 16, 7, 0 }, { 55, 16, 75, 16, 7, 0 }, { 55, 16, 74, 16, 7, 0 }, + { 56, 16, 73, 16, 7, 0 }, { 57, 16, 72, 16, 7, 0 }, { 58, 16, 71, 16, 7, 0 }, { 59, 16, 70, 16, 7, 0 }, { 59, 16, 69, 16, 7, 0 }, + { 60, 16, 68, 16, 7, 0 }, { 61, 16, 67, 16, 7, 0 }, { 62, 16, 66, 16, 7, 0 }, { 63, 16, 65, 16, 7, 0 }, { 64, 16, 64, 16, 7, 0 }, + { 64, 16, 63, 16, 7, 0 }, { 65, 16, 62, 16, 7, 0 }, { 66, 16, 61, 16, 7, 0 }, { 67, 16, 60, 16, 7, 0 }, { 68, 16, 59, 16, 7, 0 }, + { 69, 16, 58, 16, 7, 0 }, { 70, 16, 57, 16, 7, 0 }, { 71, 16, 56, 16, 7, 0 }, { 72, 16, 55, 16, 7, 0 }, { 73, 16, 54, 16, 7, 0 }, + { 74, 16, 53, 16, 7, 0 }, { 75, 16, 52, 16, 7, 0 }, { 76, 16, 51, 16, 7, 0 }, { 77, 16, 50, 16, 7, 0 }, { 78, 16, 49, 16, 7, 0 }, + { 79, 16, 48, 16, 7, 0 }, { 80, 16, 47, 16, 7, 0 }, { 81, 16, 46, 16, 7, 0 }, { 82, 16, 45, 16, 7, 0 }, { 83, 16, 45, 16, 7, 0 }, + { 84, 16, 44, 16, 7, 0 }, { 85, 16, 43, 16, 7, 0 }, { 86, 16, 42, 16, 7, 0 }, { 87, 16, 41, 16, 7, 0 }, { 88, 16, 40, 16, 7, 0 }, + { 89, 16, 39, 16, 6, 0 }, { 90, 16, 39, 16, 6, 0 }, { 91, 16, 38, 16, 6, 0 }, { 92, 16, 37, 16, 6, 0 }, { 93, 16, 36, 16, 6, 0 }, + { 94, 16, 36, 16, 6, 0 }, { 95, 16, 35, 16, 6, 0 }, { 96, 16, 34, 16, 6, 0 }, { 97, 16, 33, 16, 6, 0 }, { 98, 16, 33, 16, 6, 0 }, + { 99, 16, 32, 16, 6, 0 }, { 100, 16, 31, 16, 6, 0 }, { 101, 16, 31, 16, 6, 0 }, { 102, 16, 30, 16, 6, 0 }, { 103, 16, 29, 16, 6, 0 }, + { 104, 16, 29, 16, 6, 0 }, { 105, 16, 28, 16, 6, 0 }, { 106, 16, 27, 16, 6, 0 }, { 107, 16, 27, 16, 6, 0 }, { 108, 16, 26, 16, 6, 0 }, + { 109, 16, 25, 16, 6, 0 }, { 110, 16, 25, 16, 6, 0 }, { 111, 16, 24, 16, 6, 0 }, { 112, 16, 24, 16, 6, 0 }, { 113, 16, 23, 16, 6, 0 }, + { 114, 16, 22, 16, 6, 0 }, { 115, 16, 22, 16, 6, 0 }, { 116, 16, 21, 16, 6, 0 }, { 117, 16, 21, 16, 6, 0 }, { 118, 16, 20, 16, 6, 0 }, + { 119, 16, 20, 16, 6, 0 }, { 120, 16, 19, 16, 6, 0 }, { 121, 16, 19, 16, 6, 0 }, { 122, 16, 18, 16, 6, 0 }, { 123, 16, 18, 16, 6, 0 }, + { 124, 16, 17, 16, 6, 0 }, { 125, 16, 17, 16, 6, 0 }, { 126, 16, 16, 16, 6, 0 }, { 127, 16, 16, 16, 6, 0 }, { 128, 16, 15, 16, 6, 0 }, + { 129, 16, 15, 16, 6, 0 }, { 130, 16, 14, 16, 6, 0 }, { 131, 16, 14, 16, 6, 0 }, { 132, 16, 13, 16, 6, 0 }, { 133, 16, 13, 16, 6, 0 }, + { 134, 16, 13, 16, 6, 0 }, { 135, 16, 12, 16, 6, 0 }, { 136, 16, 12, 16, 6, 0 }, { 137, 16, 11, 16, 5, 0 }, { 138, 16, 11, 16, 5, 0 }, + { 139, 16, 11, 16, 5, 0 }, { 140, 16, 10, 16, 5, 0 }, { 141, 16, 10, 16, 5, 0 }, { 142, 16, 10, 16, 5, 0 }, { 143, 16, 9, 16, 5, 0 }, + { 144, 16, 9, 16, 5, 0 }, { 145, 16, 9, 16, 5, 0 }, { 146, 16, 8, 16, 5, 0 }, { 147, 16, 8, 16, 5, 0 }, { 148, 16, 8, 16, 5, 0 }, + { 149, 16, 7, 16, 5, 0 }, { 150, 16, 7, 16, 5, 0 }, { 151, 16, 7, 16, 5, 0 }, { 152, 16, 6, 16, 5, 0 }, { 153, 16, 6, 16, 5, 0 }, + { 154, 16, 6, 16, 5, 0 }, { 155, 16, 6, 16, 5, 0 }, { 156, 16, 5, 16, 5, 0 }, { 157, 16, 5, 16, 5, 0 }, { 158, 16, 5, 16, 5, 0 }, + { 159, 16, 5, 16, 5, 0 }, { 160, 16, 4, 16, 5, 0 }, { 161, 16, 4, 16, 5, 0 }, { 162, 16, 4, 16, 5, 0 }, { 163, 16, 4, 16, 5, 0 }, + { 164, 16, 3, 16, 5, 0 }, { 165, 16, 3, 16, 5, 0 }, { 166, 16, 3, 16, 5, 0 }, { 167, 16, 3, 16, 5, 0 }, { 168, 16, 3, 16, 5, 0 }, + { 169, 16, 2, 16, 5, 0 }, { 170, 16, 2, 16, 5, 0 }, { 171, 16, 2, 16, 5, 0 }, { 172, 16, 2, 16, 5, 0 }, { 173, 16, 2, 16, 5, 0 }, + { 174, 16, 2, 16, 0, 0 }, { 175, 16, 2, 16, 0, 0 }, { 176, 16, 1, 16, 0, 0 }, { 177, 16, 1, 16, 0, 0 }, { 178, 16, 1, 16, 0, 0 }, + { 179, 16, 1, 16, 0, 0 }, { 180, 16, 1, 16, 0, 0 }, { 181, 16, 1, 16, 0, 0 }, { 182, 16, 1, 16, 0, 0 }, { 183, 16, 1, 16, 0, 0 }, + { 184, 16, 1, 16, 0, 0 }, { 185, 16, 0, 16, 0, 0 }, { 186, 16, 0, 16, 0, 0 }, { 187, 16, 0, 16, 0, 0 }, { 188, 16, 0, 16, 0, 0 }, + { 189, 16, 0, 16, 0, 0 }, { 190, 16, 0, 16, 0, 0 }, { 191, 16, 0, 16, 0, 0 }, { 192, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90AED8 = { - 304, { - { 16, 27, 239, 24, 18, 0 }, { 16, 27, 238, 24, 18, 0 }, { 16, 27, 237, 24, 18, 0 }, { 16, 27, 236, 24, 18, 0 }, { 16, 27, 235, 24, 18, 0 }, - { 16, 27, 234, 24, 18, 0 }, { 16, 27, 233, 24, 18, 0 }, { 16, 27, 232, 24, 18, 0 }, { 16, 27, 231, 24, 18, 0 }, { 16, 27, 229, 24, 18, 0 }, - { 16, 27, 228, 24, 18, 0 }, { 16, 27, 227, 24, 18, 0 }, { 16, 27, 226, 24, 18, 0 }, { 16, 27, 225, 24, 18, 0 }, { 16, 27, 224, 24, 18, 0 }, - { 16, 27, 223, 24, 18, 0 }, { 16, 27, 222, 24, 18, 0 }, { 16, 27, 221, 24, 18, 0 }, { 16, 27, 220, 24, 18, 0 }, { 16, 27, 219, 24, 18, 0 }, - { 16, 27, 218, 24, 18, 0 }, { 16, 27, 217, 24, 18, 0 }, { 16, 27, 216, 24, 18, 0 }, { 16, 27, 215, 24, 18, 0 }, { 16, 27, 214, 24, 18, 0 }, - { 16, 27, 213, 24, 18, 0 }, { 16, 27, 212, 24, 18, 0 }, { 16, 26, 211, 24, 18, 0 }, { 16, 26, 210, 24, 18, 0 }, { 16, 26, 209, 24, 18, 0 }, - { 16, 26, 208, 24, 18, 0 }, { 16, 26, 207, 24, 18, 0 }, { 16, 26, 206, 24, 18, 0 }, { 16, 26, 205, 24, 18, 0 }, { 16, 26, 204, 24, 18, 0 }, - { 16, 26, 203, 24, 18, 0 }, { 16, 26, 202, 24, 18, 0 }, { 16, 26, 201, 24, 18, 0 }, { 16, 26, 200, 24, 18, 0 }, { 16, 25, 199, 24, 18, 0 }, - { 16, 25, 198, 24, 18, 0 }, { 16, 25, 197, 24, 18, 0 }, { 16, 25, 196, 24, 18, 0 }, { 16, 25, 195, 24, 18, 0 }, { 16, 25, 194, 24, 18, 0 }, - { 16, 25, 193, 24, 18, 0 }, { 16, 25, 192, 24, 18, 0 }, { 16, 24, 191, 24, 18, 0 }, { 16, 24, 190, 24, 18, 0 }, { 16, 24, 189, 24, 18, 0 }, - { 16, 24, 188, 24, 17, 0 }, { 16, 24, 187, 24, 17, 0 }, { 16, 24, 186, 24, 17, 0 }, { 16, 24, 185, 24, 17, 0 }, { 16, 23, 184, 24, 17, 0 }, - { 16, 23, 183, 24, 17, 0 }, { 16, 23, 182, 24, 17, 0 }, { 16, 23, 181, 24, 17, 0 }, { 16, 23, 180, 24, 17, 0 }, { 16, 23, 179, 24, 17, 0 }, - { 16, 22, 178, 24, 17, 0 }, { 16, 22, 177, 24, 17, 0 }, { 16, 22, 176, 24, 17, 0 }, { 16, 22, 175, 24, 17, 0 }, { 16, 22, 174, 24, 17, 0 }, - { 16, 21, 173, 24, 17, 0 }, { 16, 21, 172, 24, 17, 0 }, { 16, 21, 171, 24, 17, 0 }, { 16, 21, 170, 24, 17, 0 }, { 16, 20, 169, 24, 17, 0 }, - { 16, 20, 168, 24, 17, 0 }, { 16, 20, 167, 24, 17, 0 }, { 16, 20, 166, 24, 17, 0 }, { 16, 20, 165, 24, 17, 0 }, { 16, 19, 164, 24, 17, 0 }, - { 16, 19, 163, 24, 17, 0 }, { 16, 19, 162, 24, 17, 0 }, { 16, 19, 161, 24, 17, 0 }, { 16, 18, 160, 24, 17, 0 }, { 16, 18, 159, 24, 17, 0 }, - { 16, 18, 158, 24, 17, 0 }, { 16, 17, 157, 24, 17, 0 }, { 16, 17, 156, 24, 17, 0 }, { 16, 17, 155, 24, 17, 0 }, { 16, 17, 154, 24, 17, 0 }, - { 16, 16, 153, 24, 17, 0 }, { 16, 16, 152, 24, 17, 0 }, { 16, 16, 151, 24, 17, 0 }, { 16, 15, 150, 24, 17, 0 }, { 16, 15, 149, 24, 17, 0 }, - { 16, 15, 148, 24, 17, 0 }, { 16, 14, 147, 24, 17, 0 }, { 16, 14, 146, 24, 17, 0 }, { 16, 14, 145, 24, 17, 0 }, { 16, 13, 144, 24, 17, 0 }, - { 16, 13, 143, 24, 17, 0 }, { 16, 13, 142, 24, 17, 0 }, { 16, 12, 141, 24, 17, 0 }, { 16, 12, 140, 24, 17, 0 }, { 16, 12, 139, 24, 17, 0 }, - { 16, 11, 138, 24, 17, 0 }, { 16, 11, 137, 24, 17, 0 }, { 16, 11, 136, 24, 17, 0 }, { 16, 10, 135, 24, 8, 0 }, { 16, 10, 134, 24, 8, 0 }, - { 16, 10, 133, 24, 8, 0 }, { 16, 9, 132, 24, 8, 0 }, { 16, 9, 131, 24, 8, 0 }, { 16, 8, 130, 24, 8, 0 }, { 16, 8, 129, 24, 8, 0 }, - { 16, 8, 128, 24, 8, 0 }, { 16, 7, 127, 24, 8, 0 }, { 16, 7, 126, 24, 8, 0 }, { 16, 6, 125, 24, 8, 0 }, { 16, 6, 124, 24, 8, 0 }, - { 16, 5, 123, 24, 8, 0 }, { 16, 5, 122, 24, 8, 0 }, { 16, 5, 121, 24, 8, 0 }, { 16, 4, 120, 24, 8, 0 }, { 16, 4, 119, 24, 8, 0 }, - { 16, 3, 118, 24, 8, 0 }, { 16, 3, 117, 24, 8, 0 }, { 16, 2, 116, 24, 8, 0 }, { 16, 2, 115, 24, 8, 0 }, { 16, 1, 114, 24, 8, 0 }, - { 16, 1, 113, 24, 8, 0 }, { 16, 0, 112, 24, 8, 0 }, { 16, 0, 111, 24, 8, 0 }, { 16, -1, 110, 24, 8, 0 }, { 16, -1, 109, 24, 8, 0 }, - { 16, -2, 108, 24, 8, 0 }, { 16, -2, 107, 24, 8, 0 }, { 16, -3, 106, 24, 8, 0 }, { 16, -3, 105, 24, 8, 0 }, { 16, -4, 104, 24, 8, 0 }, - { 16, -4, 103, 24, 8, 0 }, { 16, -5, 102, 24, 8, 0 }, { 16, -6, 101, 24, 8, 0 }, { 16, -6, 100, 24, 8, 0 }, { 16, -7, 99, 24, 8, 0 }, - { 16, -7, 98, 24, 8, 0 }, { 16, -8, 97, 24, 8, 0 }, { 16, -8, 96, 24, 8, 0 }, { 16, -9, 95, 24, 8, 0 }, { 16, -10, 94, 24, 8, 0 }, - { 16, -10, 93, 24, 8, 0 }, { 16, -11, 92, 24, 8, 0 }, { 16, -12, 91, 24, 8, 0 }, { 16, -12, 90, 24, 7, 0 }, { 16, -13, 89, 24, 7, 0 }, - { 16, -13, 88, 24, 7, 0 }, { 16, -14, 87, 24, 7, 0 }, { 16, -15, 86, 24, 7, 0 }, { 16, -15, 85, 24, 7, 0 }, { 16, -16, 84, 24, 7, 0 }, - { 16, -17, 83, 24, 7, 0 }, { 16, -18, 82, 24, 7, 0 }, { 16, -18, 81, 24, 7, 0 }, { 16, -19, 80, 24, 7, 0 }, { 16, -20, 79, 24, 7, 0 }, - { 16, -20, 78, 24, 7, 0 }, { 16, -21, 77, 24, 7, 0 }, { 16, -22, 76, 24, 7, 0 }, { 16, -23, 75, 24, 7, 0 }, { 16, -23, 74, 24, 7, 0 }, - { 16, -24, 73, 24, 7, 0 }, { 16, -25, 72, 24, 7, 0 }, { 16, -26, 71, 24, 7, 0 }, { 16, -27, 70, 24, 7, 0 }, { 16, -27, 69, 24, 7, 0 }, - { 16, -28, 68, 24, 7, 0 }, { 16, -29, 67, 24, 7, 0 }, { 16, -30, 66, 24, 7, 0 }, { 16, -31, 65, 24, 7, 0 }, { 16, -32, 64, 24, 7, 0 }, - { 16, -32, 63, 24, 7, 0 }, { 16, -33, 62, 24, 7, 0 }, { 16, -34, 61, 24, 7, 0 }, { 16, -35, 60, 24, 7, 0 }, { 16, -36, 59, 24, 7, 0 }, - { 16, -37, 58, 24, 7, 0 }, { 16, -38, 57, 24, 7, 0 }, { 16, -39, 56, 24, 7, 0 }, { 16, -40, 55, 24, 7, 0 }, { 16, -41, 54, 24, 7, 0 }, - { 16, -42, 53, 24, 7, 0 }, { 16, -43, 52, 24, 7, 0 }, { 16, -44, 51, 24, 7, 0 }, { 16, -45, 50, 24, 7, 0 }, { 16, -46, 49, 24, 7, 0 }, - { 16, -47, 48, 24, 7, 0 }, { 16, -48, 47, 24, 7, 0 }, { 16, -49, 46, 24, 7, 0 }, { 16, -50, 45, 24, 7, 0 }, { 16, -51, 45, 24, 7, 0 }, - { 16, -52, 44, 24, 7, 0 }, { 16, -53, 43, 24, 7, 0 }, { 16, -54, 42, 24, 7, 0 }, { 16, -55, 41, 24, 7, 0 }, { 16, -56, 40, 24, 7, 0 }, - { 16, -57, 39, 24, 6, 0 }, { 16, -58, 39, 24, 6, 0 }, { 16, -59, 38, 24, 6, 0 }, { 16, -60, 37, 24, 6, 0 }, { 16, -61, 36, 24, 6, 0 }, - { 16, -62, 36, 24, 6, 0 }, { 16, -63, 35, 24, 6, 0 }, { 16, -64, 34, 24, 6, 0 }, { 16, -65, 33, 24, 6, 0 }, { 16, -66, 33, 24, 6, 0 }, - { 16, -67, 32, 24, 6, 0 }, { 16, -68, 31, 24, 6, 0 }, { 16, -69, 31, 24, 6, 0 }, { 16, -70, 30, 24, 6, 0 }, { 16, -71, 29, 24, 6, 0 }, - { 16, -72, 29, 24, 6, 0 }, { 16, -73, 28, 24, 6, 0 }, { 16, -74, 27, 24, 6, 0 }, { 16, -75, 27, 24, 6, 0 }, { 16, -76, 26, 24, 6, 0 }, - { 16, -77, 25, 24, 6, 0 }, { 16, -78, 25, 24, 6, 0 }, { 16, -79, 24, 24, 6, 0 }, { 16, -80, 24, 24, 6, 0 }, { 16, -81, 23, 24, 6, 0 }, - { 16, -82, 22, 24, 6, 0 }, { 16, -83, 22, 24, 6, 0 }, { 16, -84, 21, 24, 6, 0 }, { 16, -85, 21, 24, 6, 0 }, { 16, -86, 20, 24, 6, 0 }, - { 16, -87, 20, 24, 6, 0 }, { 16, -88, 19, 24, 6, 0 }, { 16, -89, 19, 24, 6, 0 }, { 16, -90, 18, 24, 6, 0 }, { 16, -91, 18, 24, 6, 0 }, - { 16, -92, 17, 24, 6, 0 }, { 16, -93, 17, 24, 6, 0 }, { 16, -94, 16, 24, 6, 0 }, { 16, -95, 16, 24, 6, 0 }, { 16, -96, 15, 24, 6, 0 }, - { 16, -97, 15, 24, 6, 0 }, { 16, -98, 14, 24, 6, 0 }, { 16, -99, 14, 24, 6, 0 }, { 16, -100, 13, 24, 6, 0 }, { 16, -101, 13, 24, 6, 0 }, - { 16, -102, 13, 24, 6, 0 }, { 16, -103, 12, 24, 6, 0 }, { 16, -104, 12, 24, 6, 0 }, { 16, -105, 11, 24, 5, 0 }, { 16, -106, 11, 24, 5, 0 }, - { 16, -107, 11, 24, 5, 0 }, { 16, -108, 10, 24, 5, 0 }, { 16, -109, 10, 24, 5, 0 }, { 16, -110, 10, 24, 5, 0 }, { 16, -111, 9, 24, 5, 0 }, - { 16, -112, 9, 24, 5, 0 }, { 16, -113, 9, 24, 5, 0 }, { 16, -114, 8, 24, 5, 0 }, { 16, -115, 8, 24, 5, 0 }, { 16, -116, 8, 24, 5, 0 }, - { 16, -117, 7, 24, 5, 0 }, { 16, -118, 7, 24, 5, 0 }, { 16, -119, 7, 24, 5, 0 }, { 16, -120, 6, 24, 5, 0 }, { 16, -121, 6, 24, 5, 0 }, - { 16, -122, 6, 24, 5, 0 }, { 16, -123, 6, 24, 5, 0 }, { 16, -124, 5, 24, 5, 0 }, { 16, -125, 5, 24, 5, 0 }, { 16, -126, 5, 24, 5, 0 }, - { 16, -127, 5, 24, 5, 0 }, { 16, -128, 4, 24, 5, 0 }, { 16, -129, 4, 24, 5, 0 }, { 16, -130, 4, 24, 5, 0 }, { 16, -131, 4, 24, 5, 0 }, - { 16, -132, 3, 24, 5, 0 }, { 16, -133, 3, 24, 5, 0 }, { 16, -134, 3, 24, 5, 0 }, { 16, -135, 3, 24, 5, 0 }, { 16, -136, 3, 24, 5, 0 }, - { 16, -137, 2, 24, 5, 0 }, { 16, -138, 2, 24, 5, 0 }, { 16, -139, 2, 24, 5, 0 }, { 16, -140, 2, 24, 5, 0 }, { 16, -141, 2, 24, 5, 0 }, - { 16, -142, 2, 24, 0, 0 }, { 16, -143, 2, 24, 0, 0 }, { 16, -144, 1, 24, 0, 0 }, { 16, -145, 1, 24, 0, 0 }, { 16, -146, 1, 24, 0, 0 }, - { 16, -147, 1, 24, 0, 0 }, { 16, -148, 1, 24, 0, 0 }, { 16, -149, 1, 24, 0, 0 }, { 16, -150, 1, 24, 0, 0 }, { 16, -151, 1, 24, 0, 0 }, - { 16, -152, 1, 24, 0, 0 }, { 16, -153, 0, 24, 0, 0 }, { 16, -154, 0, 24, 0, 0 }, { 16, -155, 0, 24, 0, 0 }, { 16, -156, 0, 24, 0, 0 }, - { 16, -157, 0, 24, 0, 0 }, { 16, -158, 0, 24, 0, 0 }, { 16, -159, 0, 24, 0, 0 }, { 16, -160, 0, 24, 0, 0 }, + 304, { + { 16, 27, 239, 24, 18, 0 }, { 16, 27, 238, 24, 18, 0 }, { 16, 27, 237, 24, 18, 0 }, { 16, 27, 236, 24, 18, 0 }, { 16, 27, 235, 24, 18, 0 }, + { 16, 27, 234, 24, 18, 0 }, { 16, 27, 233, 24, 18, 0 }, { 16, 27, 232, 24, 18, 0 }, { 16, 27, 231, 24, 18, 0 }, { 16, 27, 229, 24, 18, 0 }, + { 16, 27, 228, 24, 18, 0 }, { 16, 27, 227, 24, 18, 0 }, { 16, 27, 226, 24, 18, 0 }, { 16, 27, 225, 24, 18, 0 }, { 16, 27, 224, 24, 18, 0 }, + { 16, 27, 223, 24, 18, 0 }, { 16, 27, 222, 24, 18, 0 }, { 16, 27, 221, 24, 18, 0 }, { 16, 27, 220, 24, 18, 0 }, { 16, 27, 219, 24, 18, 0 }, + { 16, 27, 218, 24, 18, 0 }, { 16, 27, 217, 24, 18, 0 }, { 16, 27, 216, 24, 18, 0 }, { 16, 27, 215, 24, 18, 0 }, { 16, 27, 214, 24, 18, 0 }, + { 16, 27, 213, 24, 18, 0 }, { 16, 27, 212, 24, 18, 0 }, { 16, 26, 211, 24, 18, 0 }, { 16, 26, 210, 24, 18, 0 }, { 16, 26, 209, 24, 18, 0 }, + { 16, 26, 208, 24, 18, 0 }, { 16, 26, 207, 24, 18, 0 }, { 16, 26, 206, 24, 18, 0 }, { 16, 26, 205, 24, 18, 0 }, { 16, 26, 204, 24, 18, 0 }, + { 16, 26, 203, 24, 18, 0 }, { 16, 26, 202, 24, 18, 0 }, { 16, 26, 201, 24, 18, 0 }, { 16, 26, 200, 24, 18, 0 }, { 16, 25, 199, 24, 18, 0 }, + { 16, 25, 198, 24, 18, 0 }, { 16, 25, 197, 24, 18, 0 }, { 16, 25, 196, 24, 18, 0 }, { 16, 25, 195, 24, 18, 0 }, { 16, 25, 194, 24, 18, 0 }, + { 16, 25, 193, 24, 18, 0 }, { 16, 25, 192, 24, 18, 0 }, { 16, 24, 191, 24, 18, 0 }, { 16, 24, 190, 24, 18, 0 }, { 16, 24, 189, 24, 18, 0 }, + { 16, 24, 188, 24, 17, 0 }, { 16, 24, 187, 24, 17, 0 }, { 16, 24, 186, 24, 17, 0 }, { 16, 24, 185, 24, 17, 0 }, { 16, 23, 184, 24, 17, 0 }, + { 16, 23, 183, 24, 17, 0 }, { 16, 23, 182, 24, 17, 0 }, { 16, 23, 181, 24, 17, 0 }, { 16, 23, 180, 24, 17, 0 }, { 16, 23, 179, 24, 17, 0 }, + { 16, 22, 178, 24, 17, 0 }, { 16, 22, 177, 24, 17, 0 }, { 16, 22, 176, 24, 17, 0 }, { 16, 22, 175, 24, 17, 0 }, { 16, 22, 174, 24, 17, 0 }, + { 16, 21, 173, 24, 17, 0 }, { 16, 21, 172, 24, 17, 0 }, { 16, 21, 171, 24, 17, 0 }, { 16, 21, 170, 24, 17, 0 }, { 16, 20, 169, 24, 17, 0 }, + { 16, 20, 168, 24, 17, 0 }, { 16, 20, 167, 24, 17, 0 }, { 16, 20, 166, 24, 17, 0 }, { 16, 20, 165, 24, 17, 0 }, { 16, 19, 164, 24, 17, 0 }, + { 16, 19, 163, 24, 17, 0 }, { 16, 19, 162, 24, 17, 0 }, { 16, 19, 161, 24, 17, 0 }, { 16, 18, 160, 24, 17, 0 }, { 16, 18, 159, 24, 17, 0 }, + { 16, 18, 158, 24, 17, 0 }, { 16, 17, 157, 24, 17, 0 }, { 16, 17, 156, 24, 17, 0 }, { 16, 17, 155, 24, 17, 0 }, { 16, 17, 154, 24, 17, 0 }, + { 16, 16, 153, 24, 17, 0 }, { 16, 16, 152, 24, 17, 0 }, { 16, 16, 151, 24, 17, 0 }, { 16, 15, 150, 24, 17, 0 }, { 16, 15, 149, 24, 17, 0 }, + { 16, 15, 148, 24, 17, 0 }, { 16, 14, 147, 24, 17, 0 }, { 16, 14, 146, 24, 17, 0 }, { 16, 14, 145, 24, 17, 0 }, { 16, 13, 144, 24, 17, 0 }, + { 16, 13, 143, 24, 17, 0 }, { 16, 13, 142, 24, 17, 0 }, { 16, 12, 141, 24, 17, 0 }, { 16, 12, 140, 24, 17, 0 }, { 16, 12, 139, 24, 17, 0 }, + { 16, 11, 138, 24, 17, 0 }, { 16, 11, 137, 24, 17, 0 }, { 16, 11, 136, 24, 17, 0 }, { 16, 10, 135, 24, 8, 0 }, { 16, 10, 134, 24, 8, 0 }, + { 16, 10, 133, 24, 8, 0 }, { 16, 9, 132, 24, 8, 0 }, { 16, 9, 131, 24, 8, 0 }, { 16, 8, 130, 24, 8, 0 }, { 16, 8, 129, 24, 8, 0 }, + { 16, 8, 128, 24, 8, 0 }, { 16, 7, 127, 24, 8, 0 }, { 16, 7, 126, 24, 8, 0 }, { 16, 6, 125, 24, 8, 0 }, { 16, 6, 124, 24, 8, 0 }, + { 16, 5, 123, 24, 8, 0 }, { 16, 5, 122, 24, 8, 0 }, { 16, 5, 121, 24, 8, 0 }, { 16, 4, 120, 24, 8, 0 }, { 16, 4, 119, 24, 8, 0 }, + { 16, 3, 118, 24, 8, 0 }, { 16, 3, 117, 24, 8, 0 }, { 16, 2, 116, 24, 8, 0 }, { 16, 2, 115, 24, 8, 0 }, { 16, 1, 114, 24, 8, 0 }, + { 16, 1, 113, 24, 8, 0 }, { 16, 0, 112, 24, 8, 0 }, { 16, 0, 111, 24, 8, 0 }, { 16, -1, 110, 24, 8, 0 }, { 16, -1, 109, 24, 8, 0 }, + { 16, -2, 108, 24, 8, 0 }, { 16, -2, 107, 24, 8, 0 }, { 16, -3, 106, 24, 8, 0 }, { 16, -3, 105, 24, 8, 0 }, { 16, -4, 104, 24, 8, 0 }, + { 16, -4, 103, 24, 8, 0 }, { 16, -5, 102, 24, 8, 0 }, { 16, -6, 101, 24, 8, 0 }, { 16, -6, 100, 24, 8, 0 }, { 16, -7, 99, 24, 8, 0 }, + { 16, -7, 98, 24, 8, 0 }, { 16, -8, 97, 24, 8, 0 }, { 16, -8, 96, 24, 8, 0 }, { 16, -9, 95, 24, 8, 0 }, { 16, -10, 94, 24, 8, 0 }, + { 16, -10, 93, 24, 8, 0 }, { 16, -11, 92, 24, 8, 0 }, { 16, -12, 91, 24, 8, 0 }, { 16, -12, 90, 24, 7, 0 }, { 16, -13, 89, 24, 7, 0 }, + { 16, -13, 88, 24, 7, 0 }, { 16, -14, 87, 24, 7, 0 }, { 16, -15, 86, 24, 7, 0 }, { 16, -15, 85, 24, 7, 0 }, { 16, -16, 84, 24, 7, 0 }, + { 16, -17, 83, 24, 7, 0 }, { 16, -18, 82, 24, 7, 0 }, { 16, -18, 81, 24, 7, 0 }, { 16, -19, 80, 24, 7, 0 }, { 16, -20, 79, 24, 7, 0 }, + { 16, -20, 78, 24, 7, 0 }, { 16, -21, 77, 24, 7, 0 }, { 16, -22, 76, 24, 7, 0 }, { 16, -23, 75, 24, 7, 0 }, { 16, -23, 74, 24, 7, 0 }, + { 16, -24, 73, 24, 7, 0 }, { 16, -25, 72, 24, 7, 0 }, { 16, -26, 71, 24, 7, 0 }, { 16, -27, 70, 24, 7, 0 }, { 16, -27, 69, 24, 7, 0 }, + { 16, -28, 68, 24, 7, 0 }, { 16, -29, 67, 24, 7, 0 }, { 16, -30, 66, 24, 7, 0 }, { 16, -31, 65, 24, 7, 0 }, { 16, -32, 64, 24, 7, 0 }, + { 16, -32, 63, 24, 7, 0 }, { 16, -33, 62, 24, 7, 0 }, { 16, -34, 61, 24, 7, 0 }, { 16, -35, 60, 24, 7, 0 }, { 16, -36, 59, 24, 7, 0 }, + { 16, -37, 58, 24, 7, 0 }, { 16, -38, 57, 24, 7, 0 }, { 16, -39, 56, 24, 7, 0 }, { 16, -40, 55, 24, 7, 0 }, { 16, -41, 54, 24, 7, 0 }, + { 16, -42, 53, 24, 7, 0 }, { 16, -43, 52, 24, 7, 0 }, { 16, -44, 51, 24, 7, 0 }, { 16, -45, 50, 24, 7, 0 }, { 16, -46, 49, 24, 7, 0 }, + { 16, -47, 48, 24, 7, 0 }, { 16, -48, 47, 24, 7, 0 }, { 16, -49, 46, 24, 7, 0 }, { 16, -50, 45, 24, 7, 0 }, { 16, -51, 45, 24, 7, 0 }, + { 16, -52, 44, 24, 7, 0 }, { 16, -53, 43, 24, 7, 0 }, { 16, -54, 42, 24, 7, 0 }, { 16, -55, 41, 24, 7, 0 }, { 16, -56, 40, 24, 7, 0 }, + { 16, -57, 39, 24, 6, 0 }, { 16, -58, 39, 24, 6, 0 }, { 16, -59, 38, 24, 6, 0 }, { 16, -60, 37, 24, 6, 0 }, { 16, -61, 36, 24, 6, 0 }, + { 16, -62, 36, 24, 6, 0 }, { 16, -63, 35, 24, 6, 0 }, { 16, -64, 34, 24, 6, 0 }, { 16, -65, 33, 24, 6, 0 }, { 16, -66, 33, 24, 6, 0 }, + { 16, -67, 32, 24, 6, 0 }, { 16, -68, 31, 24, 6, 0 }, { 16, -69, 31, 24, 6, 0 }, { 16, -70, 30, 24, 6, 0 }, { 16, -71, 29, 24, 6, 0 }, + { 16, -72, 29, 24, 6, 0 }, { 16, -73, 28, 24, 6, 0 }, { 16, -74, 27, 24, 6, 0 }, { 16, -75, 27, 24, 6, 0 }, { 16, -76, 26, 24, 6, 0 }, + { 16, -77, 25, 24, 6, 0 }, { 16, -78, 25, 24, 6, 0 }, { 16, -79, 24, 24, 6, 0 }, { 16, -80, 24, 24, 6, 0 }, { 16, -81, 23, 24, 6, 0 }, + { 16, -82, 22, 24, 6, 0 }, { 16, -83, 22, 24, 6, 0 }, { 16, -84, 21, 24, 6, 0 }, { 16, -85, 21, 24, 6, 0 }, { 16, -86, 20, 24, 6, 0 }, + { 16, -87, 20, 24, 6, 0 }, { 16, -88, 19, 24, 6, 0 }, { 16, -89, 19, 24, 6, 0 }, { 16, -90, 18, 24, 6, 0 }, { 16, -91, 18, 24, 6, 0 }, + { 16, -92, 17, 24, 6, 0 }, { 16, -93, 17, 24, 6, 0 }, { 16, -94, 16, 24, 6, 0 }, { 16, -95, 16, 24, 6, 0 }, { 16, -96, 15, 24, 6, 0 }, + { 16, -97, 15, 24, 6, 0 }, { 16, -98, 14, 24, 6, 0 }, { 16, -99, 14, 24, 6, 0 }, { 16, -100, 13, 24, 6, 0 }, { 16, -101, 13, 24, 6, 0 }, + { 16, -102, 13, 24, 6, 0 }, { 16, -103, 12, 24, 6, 0 }, { 16, -104, 12, 24, 6, 0 }, { 16, -105, 11, 24, 5, 0 }, { 16, -106, 11, 24, 5, 0 }, + { 16, -107, 11, 24, 5, 0 }, { 16, -108, 10, 24, 5, 0 }, { 16, -109, 10, 24, 5, 0 }, { 16, -110, 10, 24, 5, 0 }, { 16, -111, 9, 24, 5, 0 }, + { 16, -112, 9, 24, 5, 0 }, { 16, -113, 9, 24, 5, 0 }, { 16, -114, 8, 24, 5, 0 }, { 16, -115, 8, 24, 5, 0 }, { 16, -116, 8, 24, 5, 0 }, + { 16, -117, 7, 24, 5, 0 }, { 16, -118, 7, 24, 5, 0 }, { 16, -119, 7, 24, 5, 0 }, { 16, -120, 6, 24, 5, 0 }, { 16, -121, 6, 24, 5, 0 }, + { 16, -122, 6, 24, 5, 0 }, { 16, -123, 6, 24, 5, 0 }, { 16, -124, 5, 24, 5, 0 }, { 16, -125, 5, 24, 5, 0 }, { 16, -126, 5, 24, 5, 0 }, + { 16, -127, 5, 24, 5, 0 }, { 16, -128, 4, 24, 5, 0 }, { 16, -129, 4, 24, 5, 0 }, { 16, -130, 4, 24, 5, 0 }, { 16, -131, 4, 24, 5, 0 }, + { 16, -132, 3, 24, 5, 0 }, { 16, -133, 3, 24, 5, 0 }, { 16, -134, 3, 24, 5, 0 }, { 16, -135, 3, 24, 5, 0 }, { 16, -136, 3, 24, 5, 0 }, + { 16, -137, 2, 24, 5, 0 }, { 16, -138, 2, 24, 5, 0 }, { 16, -139, 2, 24, 5, 0 }, { 16, -140, 2, 24, 5, 0 }, { 16, -141, 2, 24, 5, 0 }, + { 16, -142, 2, 24, 0, 0 }, { 16, -143, 2, 24, 0, 0 }, { 16, -144, 1, 24, 0, 0 }, { 16, -145, 1, 24, 0, 0 }, { 16, -146, 1, 24, 0, 0 }, + { 16, -147, 1, 24, 0, 0 }, { 16, -148, 1, 24, 0, 0 }, { 16, -149, 1, 24, 0, 0 }, { 16, -150, 1, 24, 0, 0 }, { 16, -151, 1, 24, 0, 0 }, + { 16, -152, 1, 24, 0, 0 }, { 16, -153, 0, 24, 0, 0 }, { 16, -154, 0, 24, 0, 0 }, { 16, -155, 0, 24, 0, 0 }, { 16, -156, 0, 24, 0, 0 }, + { 16, -157, 0, 24, 0, 0 }, { 16, -158, 0, 24, 0, 0 }, { 16, -159, 0, 24, 0, 0 }, { 16, -160, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_960BEE = { - 68, { - { 31, 16, 0, 0, 2, 2 }, { 30, 16, 0, 0, 2, 2 }, { 29, 16, 1, 0, 2, 2 }, { 28, 16, 1, 0, 2, 2 }, { 27, 16, 2, 31, 2, 2 }, - { 26, 16, 2, 31, 2, 2 }, { 25, 15, 2, 31, 2, 2 }, { 24, 15, 3, 31, 2, 2 }, { 23, 15, 3, 31, 2, 2 }, { 22, 15, 4, 31, 2, 2 }, - { 21, 15, 4, 31, 2, 2 }, { 20, 15, 4, 31, 2, 2 }, { 19, 14, 5, 31, 2, 2 }, { 18, 14, 5, 30, 2, 2 }, { 17, 14, 6, 30, 2, 2 }, - { 16, 13, 6, 30, 2, 2 }, { 15, 13, 7, 30, 2, 2 }, { 14, 13, 7, 30, 2, 2 }, { 13, 12, 8, 30, 2, 2 }, { 12, 12, 8, 30, 2, 2 }, - { 11, 11, 9, 30, 2, 2 }, { 10, 11, 9, 30, 2, 2 }, { 9, 10, 10, 30, 2, 2 }, { 8, 10, 10, 29, 2, 2 }, { 7, 9, 11, 29, 2, 2 }, - { 6, 9, 11, 29, 2, 2 }, { 5, 8, 11, 29, 2, 2 }, { 4, 7, 12, 29, 2, 2 }, { 3, 7, 13, 29, 2, 2 }, { 2, 6, 13, 29, 2, 2 }, - { 1, 5, 14, 29, 2, 2 }, { 0, 4, 14, 29, 2, 2 }, { -1, 3, 15, 28, 2, 2 }, { -3, 3, 15, 28, 2, 2 }, { -4, 2, 16, 28, 2, 2 }, - { -5, 1, 16, 28, 2, 2 }, { -6, 0, 17, 28, 2, 2 }, { -7, -1, 17, 27, 2, 2 }, { -7, -2, 18, 27, 2, 2 }, { -8, -3, 18, 27, 2, 2 }, - { -9, -4, 19, 27, 2, 2 }, { -9, -5, 19, 27, 2, 2 }, { -10, -6, 20, 27, 2, 2 }, { -10, -7, 20, 27, 2, 2 }, { -11, -8, 21, 27, 2, 2 }, - { -11, -9, 21, 27, 2, 2 }, { -12, -10, 22, 26, 2, 2 }, { -12, -11, 22, 26, 2, 2 }, { -13, -12, 23, 26, 2, 2 }, { -13, -13, 23, 26, 2, 2 }, - { -13, -14, 24, 26, 2, 2 }, { -14, -15, 24, 26, 2, 2 }, { -14, -16, 25, 26, 2, 2 }, { -14, -17, 25, 26, 2, 2 }, { -15, -18, 25, 26, 2, 2 }, - { -15, -19, 26, 26, 2, 2 }, { -15, -20, 26, 25, 2, 2 }, { -15, -21, 27, 25, 2, 2 }, { -15, -22, 27, 25, 2, 2 }, { -15, -23, 28, 25, 2, 2 }, - { -16, -24, 28, 25, 2, 2 }, { -16, -25, 29, 25, 2, 2 }, { -16, -26, 29, 25, 2, 2 }, { -16, -27, 29, 25, 2, 2 }, { -16, -28, 30, 24, 2, 2 }, - { -16, -29, 30, 24, 2, 2 }, { -16, -30, 31, 24, 2, 2 }, { -16, -31, 31, 24, 2, 2 }, + 68, { + { 31, 16, 0, 0, 2, 2 }, { 30, 16, 0, 0, 2, 2 }, { 29, 16, 1, 0, 2, 2 }, { 28, 16, 1, 0, 2, 2 }, { 27, 16, 2, 31, 2, 2 }, + { 26, 16, 2, 31, 2, 2 }, { 25, 15, 2, 31, 2, 2 }, { 24, 15, 3, 31, 2, 2 }, { 23, 15, 3, 31, 2, 2 }, { 22, 15, 4, 31, 2, 2 }, + { 21, 15, 4, 31, 2, 2 }, { 20, 15, 4, 31, 2, 2 }, { 19, 14, 5, 31, 2, 2 }, { 18, 14, 5, 30, 2, 2 }, { 17, 14, 6, 30, 2, 2 }, + { 16, 13, 6, 30, 2, 2 }, { 15, 13, 7, 30, 2, 2 }, { 14, 13, 7, 30, 2, 2 }, { 13, 12, 8, 30, 2, 2 }, { 12, 12, 8, 30, 2, 2 }, + { 11, 11, 9, 30, 2, 2 }, { 10, 11, 9, 30, 2, 2 }, { 9, 10, 10, 30, 2, 2 }, { 8, 10, 10, 29, 2, 2 }, { 7, 9, 11, 29, 2, 2 }, + { 6, 9, 11, 29, 2, 2 }, { 5, 8, 11, 29, 2, 2 }, { 4, 7, 12, 29, 2, 2 }, { 3, 7, 13, 29, 2, 2 }, { 2, 6, 13, 29, 2, 2 }, + { 1, 5, 14, 29, 2, 2 }, { 0, 4, 14, 29, 2, 2 }, { -1, 3, 15, 28, 2, 2 }, { -3, 3, 15, 28, 2, 2 }, { -4, 2, 16, 28, 2, 2 }, + { -5, 1, 16, 28, 2, 2 }, { -6, 0, 17, 28, 2, 2 }, { -7, -1, 17, 27, 2, 2 }, { -7, -2, 18, 27, 2, 2 }, { -8, -3, 18, 27, 2, 2 }, + { -9, -4, 19, 27, 2, 2 }, { -9, -5, 19, 27, 2, 2 }, { -10, -6, 20, 27, 2, 2 }, { -10, -7, 20, 27, 2, 2 }, { -11, -8, 21, 27, 2, 2 }, + { -11, -9, 21, 27, 2, 2 }, { -12, -10, 22, 26, 2, 2 }, { -12, -11, 22, 26, 2, 2 }, { -13, -12, 23, 26, 2, 2 }, { -13, -13, 23, 26, 2, 2 }, + { -13, -14, 24, 26, 2, 2 }, { -14, -15, 24, 26, 2, 2 }, { -14, -16, 25, 26, 2, 2 }, { -14, -17, 25, 26, 2, 2 }, { -15, -18, 25, 26, 2, 2 }, + { -15, -19, 26, 26, 2, 2 }, { -15, -20, 26, 25, 2, 2 }, { -15, -21, 27, 25, 2, 2 }, { -15, -22, 27, 25, 2, 2 }, { -15, -23, 28, 25, 2, 2 }, + { -16, -24, 28, 25, 2, 2 }, { -16, -25, 29, 25, 2, 2 }, { -16, -26, 29, 25, 2, 2 }, { -16, -27, 29, 25, 2, 2 }, { -16, -28, 30, 24, 2, 2 }, + { -16, -29, 30, 24, 2, 2 }, { -16, -30, 31, 24, 2, 2 }, { -16, -31, 31, 24, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_960E54 = { - 69, { - { 16, 0, 0, 8, 2, 2 }, { 16, 1, 0, 8, 2, 2 }, { 16, 2, 0, 8, 2, 2 }, { 16, 3, 1, 8, 2, 2 }, { 16, 4, 1, 8, 2, 2 }, - { 16, 5, 2, 7, 2, 2 }, { 16, 6, 2, 7, 2, 2 }, { 15, 7, 2, 7, 2, 2 }, { 15, 8, 3, 7, 2, 2 }, { 15, 9, 3, 7, 2, 2 }, - { 15, 10, 4, 7, 2, 2 }, { 15, 11, 4, 7, 2, 2 }, { 15, 12, 4, 7, 2, 2 }, { 14, 13, 5, 7, 2, 2 }, { 14, 14, 5, 6, 2, 2 }, - { 14, 15, 6, 6, 2, 2 }, { 13, 16, 6, 6, 2, 2 }, { 13, 17, 7, 6, 2, 2 }, { 13, 18, 7, 6, 2, 2 }, { 12, 19, 8, 6, 2, 2 }, - { 12, 20, 8, 6, 2, 2 }, { 11, 21, 9, 6, 2, 2 }, { 11, 22, 9, 6, 2, 2 }, { 10, 23, 10, 6, 2, 2 }, { 10, 24, 10, 5, 2, 2 }, - { 9, 25, 11, 5, 2, 2 }, { 9, 26, 11, 5, 2, 2 }, { 8, 27, 11, 5, 2, 2 }, { 7, 28, 12, 5, 2, 2 }, { 7, 29, 13, 5, 2, 2 }, - { 6, 30, 13, 5, 2, 2 }, { 5, 31, 14, 5, 2, 2 }, { 4, 32, 14, 5, 2, 2 }, { 3, 33, 15, 4, 2, 2 }, { 3, 35, 15, 4, 2, 2 }, - { 2, 36, 16, 4, 2, 2 }, { 1, 37, 16, 4, 2, 2 }, { 0, 38, 17, 4, 2, 2 }, { -1, 39, 17, 3, 2, 2 }, { -2, 39, 18, 3, 2, 2 }, - { -3, 40, 18, 3, 2, 2 }, { -4, 41, 19, 3, 2, 2 }, { -5, 41, 19, 3, 2, 2 }, { -6, 42, 20, 3, 2, 2 }, { -7, 42, 20, 3, 2, 2 }, - { -8, 43, 21, 3, 2, 2 }, { -9, 43, 21, 3, 2, 2 }, { -10, 44, 22, 2, 2, 2 }, { -11, 44, 22, 2, 2, 2 }, { -12, 45, 23, 2, 2, 2 }, - { -13, 45, 23, 2, 2, 2 }, { -14, 45, 24, 2, 2, 2 }, { -15, 46, 24, 2, 2, 2 }, { -16, 46, 25, 2, 2, 2 }, { -17, 46, 25, 2, 2, 2 }, - { -18, 47, 25, 2, 2, 2 }, { -19, 47, 26, 2, 2, 2 }, { -20, 47, 26, 1, 2, 2 }, { -21, 47, 27, 1, 2, 2 }, { -22, 47, 27, 1, 2, 2 }, - { -23, 47, 28, 1, 2, 2 }, { -24, 48, 28, 1, 2, 2 }, { -25, 48, 29, 1, 2, 2 }, { -26, 48, 29, 1, 2, 2 }, { -27, 48, 29, 1, 2, 2 }, - { -28, 48, 30, 0, 2, 2 }, { -29, 48, 30, 0, 2, 2 }, { -30, 48, 31, 0, 2, 2 }, { -31, 48, 31, 0, 2, 2 }, + 69, { + { 16, 0, 0, 8, 2, 2 }, { 16, 1, 0, 8, 2, 2 }, { 16, 2, 0, 8, 2, 2 }, { 16, 3, 1, 8, 2, 2 }, { 16, 4, 1, 8, 2, 2 }, + { 16, 5, 2, 7, 2, 2 }, { 16, 6, 2, 7, 2, 2 }, { 15, 7, 2, 7, 2, 2 }, { 15, 8, 3, 7, 2, 2 }, { 15, 9, 3, 7, 2, 2 }, + { 15, 10, 4, 7, 2, 2 }, { 15, 11, 4, 7, 2, 2 }, { 15, 12, 4, 7, 2, 2 }, { 14, 13, 5, 7, 2, 2 }, { 14, 14, 5, 6, 2, 2 }, + { 14, 15, 6, 6, 2, 2 }, { 13, 16, 6, 6, 2, 2 }, { 13, 17, 7, 6, 2, 2 }, { 13, 18, 7, 6, 2, 2 }, { 12, 19, 8, 6, 2, 2 }, + { 12, 20, 8, 6, 2, 2 }, { 11, 21, 9, 6, 2, 2 }, { 11, 22, 9, 6, 2, 2 }, { 10, 23, 10, 6, 2, 2 }, { 10, 24, 10, 5, 2, 2 }, + { 9, 25, 11, 5, 2, 2 }, { 9, 26, 11, 5, 2, 2 }, { 8, 27, 11, 5, 2, 2 }, { 7, 28, 12, 5, 2, 2 }, { 7, 29, 13, 5, 2, 2 }, + { 6, 30, 13, 5, 2, 2 }, { 5, 31, 14, 5, 2, 2 }, { 4, 32, 14, 5, 2, 2 }, { 3, 33, 15, 4, 2, 2 }, { 3, 35, 15, 4, 2, 2 }, + { 2, 36, 16, 4, 2, 2 }, { 1, 37, 16, 4, 2, 2 }, { 0, 38, 17, 4, 2, 2 }, { -1, 39, 17, 3, 2, 2 }, { -2, 39, 18, 3, 2, 2 }, + { -3, 40, 18, 3, 2, 2 }, { -4, 41, 19, 3, 2, 2 }, { -5, 41, 19, 3, 2, 2 }, { -6, 42, 20, 3, 2, 2 }, { -7, 42, 20, 3, 2, 2 }, + { -8, 43, 21, 3, 2, 2 }, { -9, 43, 21, 3, 2, 2 }, { -10, 44, 22, 2, 2, 2 }, { -11, 44, 22, 2, 2, 2 }, { -12, 45, 23, 2, 2, 2 }, + { -13, 45, 23, 2, 2, 2 }, { -14, 45, 24, 2, 2, 2 }, { -15, 46, 24, 2, 2, 2 }, { -16, 46, 25, 2, 2, 2 }, { -17, 46, 25, 2, 2, 2 }, + { -18, 47, 25, 2, 2, 2 }, { -19, 47, 26, 2, 2, 2 }, { -20, 47, 26, 1, 2, 2 }, { -21, 47, 27, 1, 2, 2 }, { -22, 47, 27, 1, 2, 2 }, + { -23, 47, 28, 1, 2, 2 }, { -24, 48, 28, 1, 2, 2 }, { -25, 48, 29, 1, 2, 2 }, { -26, 48, 29, 1, 2, 2 }, { -27, 48, 29, 1, 2, 2 }, + { -28, 48, 30, 0, 2, 2 }, { -29, 48, 30, 0, 2, 2 }, { -30, 48, 31, 0, 2, 2 }, { -31, 48, 31, 0, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9610C3 = { - 68, { - { 0, 16, 0, 16, 2, 2 }, { 1, 16, 0, 16, 2, 2 }, { 2, 16, 0, 16, 2, 2 }, { 3, 16, 1, 16, 2, 2 }, { 4, 16, 1, 16, 2, 2 }, - { 5, 16, 2, 15, 2, 2 }, { 6, 16, 2, 15, 2, 2 }, { 7, 17, 2, 15, 2, 2 }, { 8, 17, 3, 15, 2, 2 }, { 9, 17, 3, 15, 2, 2 }, - { 10, 17, 4, 15, 2, 2 }, { 11, 17, 4, 15, 2, 2 }, { 12, 17, 5, 15, 2, 2 }, { 13, 18, 5, 15, 2, 2 }, { 14, 18, 6, 14, 2, 2 }, - { 15, 18, 6, 14, 2, 2 }, { 16, 19, 6, 14, 2, 2 }, { 17, 19, 7, 14, 2, 2 }, { 18, 19, 7, 14, 2, 2 }, { 19, 20, 8, 14, 2, 2 }, - { 20, 20, 8, 14, 2, 2 }, { 21, 21, 9, 14, 2, 2 }, { 22, 21, 9, 14, 2, 2 }, { 23, 22, 10, 14, 2, 2 }, { 24, 22, 10, 13, 2, 2 }, - { 25, 23, 11, 13, 2, 2 }, { 26, 23, 11, 13, 2, 2 }, { 27, 24, 12, 13, 2, 2 }, { 28, 25, 12, 13, 2, 2 }, { 29, 25, 13, 13, 2, 2 }, - { 30, 26, 13, 13, 2, 2 }, { 31, 27, 14, 13, 2, 2 }, { 32, 28, 14, 13, 2, 2 }, { 33, 29, 15, 12, 2, 2 }, { 35, 29, 15, 12, 2, 2 }, - { 36, 30, 16, 12, 2, 2 }, { 37, 31, 16, 12, 2, 2 }, { 38, 32, 17, 12, 2, 2 }, { 39, 33, 18, 11, 2, 2 }, { 39, 34, 18, 11, 2, 2 }, - { 40, 35, 19, 11, 2, 2 }, { 41, 36, 19, 11, 2, 2 }, { 41, 37, 20, 11, 2, 2 }, { 42, 38, 20, 11, 2, 2 }, { 42, 39, 21, 11, 2, 2 }, - { 43, 40, 21, 11, 2, 2 }, { 43, 41, 22, 11, 2, 2 }, { 44, 42, 22, 10, 2, 2 }, { 44, 43, 23, 10, 2, 2 }, { 45, 44, 23, 10, 2, 2 }, - { 45, 45, 24, 10, 2, 2 }, { 45, 46, 24, 10, 2, 2 }, { 46, 47, 24, 10, 2, 2 }, { 46, 48, 25, 10, 2, 2 }, { 46, 49, 25, 10, 2, 2 }, - { 47, 50, 26, 10, 2, 2 }, { 47, 51, 26, 10, 2, 2 }, { 47, 52, 27, 9, 2, 2 }, { 47, 53, 27, 9, 2, 2 }, { 47, 54, 28, 9, 2, 2 }, - { 47, 55, 28, 9, 2, 2 }, { 48, 56, 28, 9, 2, 2 }, { 48, 57, 29, 9, 2, 2 }, { 48, 58, 29, 9, 2, 2 }, { 48, 59, 30, 9, 2, 2 }, - { 48, 60, 30, 8, 2, 2 }, { 48, 61, 31, 8, 2, 2 }, { 48, 62, 31, 8, 2, 2 }, + 68, { + { 0, 16, 0, 16, 2, 2 }, { 1, 16, 0, 16, 2, 2 }, { 2, 16, 0, 16, 2, 2 }, { 3, 16, 1, 16, 2, 2 }, { 4, 16, 1, 16, 2, 2 }, + { 5, 16, 2, 15, 2, 2 }, { 6, 16, 2, 15, 2, 2 }, { 7, 17, 2, 15, 2, 2 }, { 8, 17, 3, 15, 2, 2 }, { 9, 17, 3, 15, 2, 2 }, + { 10, 17, 4, 15, 2, 2 }, { 11, 17, 4, 15, 2, 2 }, { 12, 17, 5, 15, 2, 2 }, { 13, 18, 5, 15, 2, 2 }, { 14, 18, 6, 14, 2, 2 }, + { 15, 18, 6, 14, 2, 2 }, { 16, 19, 6, 14, 2, 2 }, { 17, 19, 7, 14, 2, 2 }, { 18, 19, 7, 14, 2, 2 }, { 19, 20, 8, 14, 2, 2 }, + { 20, 20, 8, 14, 2, 2 }, { 21, 21, 9, 14, 2, 2 }, { 22, 21, 9, 14, 2, 2 }, { 23, 22, 10, 14, 2, 2 }, { 24, 22, 10, 13, 2, 2 }, + { 25, 23, 11, 13, 2, 2 }, { 26, 23, 11, 13, 2, 2 }, { 27, 24, 12, 13, 2, 2 }, { 28, 25, 12, 13, 2, 2 }, { 29, 25, 13, 13, 2, 2 }, + { 30, 26, 13, 13, 2, 2 }, { 31, 27, 14, 13, 2, 2 }, { 32, 28, 14, 13, 2, 2 }, { 33, 29, 15, 12, 2, 2 }, { 35, 29, 15, 12, 2, 2 }, + { 36, 30, 16, 12, 2, 2 }, { 37, 31, 16, 12, 2, 2 }, { 38, 32, 17, 12, 2, 2 }, { 39, 33, 18, 11, 2, 2 }, { 39, 34, 18, 11, 2, 2 }, + { 40, 35, 19, 11, 2, 2 }, { 41, 36, 19, 11, 2, 2 }, { 41, 37, 20, 11, 2, 2 }, { 42, 38, 20, 11, 2, 2 }, { 42, 39, 21, 11, 2, 2 }, + { 43, 40, 21, 11, 2, 2 }, { 43, 41, 22, 11, 2, 2 }, { 44, 42, 22, 10, 2, 2 }, { 44, 43, 23, 10, 2, 2 }, { 45, 44, 23, 10, 2, 2 }, + { 45, 45, 24, 10, 2, 2 }, { 45, 46, 24, 10, 2, 2 }, { 46, 47, 24, 10, 2, 2 }, { 46, 48, 25, 10, 2, 2 }, { 46, 49, 25, 10, 2, 2 }, + { 47, 50, 26, 10, 2, 2 }, { 47, 51, 26, 10, 2, 2 }, { 47, 52, 27, 9, 2, 2 }, { 47, 53, 27, 9, 2, 2 }, { 47, 54, 28, 9, 2, 2 }, + { 47, 55, 28, 9, 2, 2 }, { 48, 56, 28, 9, 2, 2 }, { 48, 57, 29, 9, 2, 2 }, { 48, 58, 29, 9, 2, 2 }, { 48, 59, 30, 9, 2, 2 }, + { 48, 60, 30, 8, 2, 2 }, { 48, 61, 31, 8, 2, 2 }, { 48, 62, 31, 8, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_961329 = { - 67, { - { 16, 31, 0, 24, 2, 2 }, { 16, 30, 0, 24, 2, 2 }, { 16, 29, 1, 24, 2, 2 }, { 16, 28, 1, 24, 2, 2 }, { 16, 27, 2, 23, 2, 2 }, - { 16, 26, 2, 23, 2, 2 }, { 17, 25, 2, 23, 2, 2 }, { 17, 24, 3, 23, 2, 2 }, { 17, 23, 3, 23, 2, 2 }, { 17, 22, 4, 23, 2, 2 }, - { 17, 21, 4, 23, 2, 2 }, { 17, 20, 5, 23, 2, 2 }, { 18, 19, 5, 23, 2, 2 }, { 18, 18, 6, 22, 2, 2 }, { 18, 17, 6, 22, 2, 2 }, - { 19, 16, 6, 22, 2, 2 }, { 19, 15, 7, 22, 2, 2 }, { 19, 14, 7, 22, 2, 2 }, { 20, 13, 8, 22, 2, 2 }, { 20, 12, 8, 22, 2, 2 }, - { 21, 11, 9, 22, 2, 2 }, { 21, 10, 9, 22, 2, 2 }, { 22, 9, 10, 22, 2, 2 }, { 22, 8, 10, 21, 2, 2 }, { 23, 7, 11, 21, 2, 2 }, - { 23, 6, 11, 21, 2, 2 }, { 24, 5, 12, 21, 2, 2 }, { 25, 4, 12, 21, 2, 2 }, { 25, 3, 13, 21, 2, 2 }, { 26, 2, 13, 21, 2, 2 }, - { 27, 1, 14, 21, 2, 2 }, { 28, 0, 14, 21, 2, 2 }, { 29, -1, 15, 20, 2, 2 }, { 29, -3, 15, 20, 2, 2 }, { 30, -4, 16, 20, 2, 2 }, - { 31, -5, 16, 20, 2, 2 }, { 32, -6, 17, 20, 2, 2 }, { 33, -7, 18, 19, 2, 2 }, { 34, -7, 18, 19, 2, 2 }, { 35, -8, 19, 19, 2, 2 }, - { 36, -9, 19, 19, 2, 2 }, { 37, -9, 20, 19, 2, 2 }, { 38, -10, 20, 19, 2, 2 }, { 39, -10, 21, 19, 2, 2 }, { 40, -11, 21, 19, 2, 2 }, - { 41, -11, 22, 19, 2, 2 }, { 42, -12, 22, 18, 2, 2 }, { 43, -12, 23, 18, 2, 2 }, { 44, -13, 23, 18, 2, 2 }, { 45, -13, 24, 18, 2, 2 }, - { 46, -13, 24, 18, 2, 2 }, { 47, -14, 24, 18, 2, 2 }, { 48, -14, 25, 18, 2, 2 }, { 49, -14, 25, 18, 2, 2 }, { 50, -15, 26, 18, 2, 2 }, - { 51, -15, 26, 18, 2, 2 }, { 52, -15, 27, 17, 2, 2 }, { 53, -15, 27, 17, 2, 2 }, { 54, -15, 28, 17, 2, 2 }, { 55, -15, 28, 17, 2, 2 }, - { 56, -16, 28, 17, 2, 2 }, { 57, -16, 29, 17, 2, 2 }, { 58, -16, 29, 17, 2, 2 }, { 59, -16, 30, 17, 2, 2 }, { 60, -16, 30, 16, 2, 2 }, - { 61, -16, 31, 16, 2, 2 }, { 62, -16, 31, 16, 2, 2 }, + 67, { + { 16, 31, 0, 24, 2, 2 }, { 16, 30, 0, 24, 2, 2 }, { 16, 29, 1, 24, 2, 2 }, { 16, 28, 1, 24, 2, 2 }, { 16, 27, 2, 23, 2, 2 }, + { 16, 26, 2, 23, 2, 2 }, { 17, 25, 2, 23, 2, 2 }, { 17, 24, 3, 23, 2, 2 }, { 17, 23, 3, 23, 2, 2 }, { 17, 22, 4, 23, 2, 2 }, + { 17, 21, 4, 23, 2, 2 }, { 17, 20, 5, 23, 2, 2 }, { 18, 19, 5, 23, 2, 2 }, { 18, 18, 6, 22, 2, 2 }, { 18, 17, 6, 22, 2, 2 }, + { 19, 16, 6, 22, 2, 2 }, { 19, 15, 7, 22, 2, 2 }, { 19, 14, 7, 22, 2, 2 }, { 20, 13, 8, 22, 2, 2 }, { 20, 12, 8, 22, 2, 2 }, + { 21, 11, 9, 22, 2, 2 }, { 21, 10, 9, 22, 2, 2 }, { 22, 9, 10, 22, 2, 2 }, { 22, 8, 10, 21, 2, 2 }, { 23, 7, 11, 21, 2, 2 }, + { 23, 6, 11, 21, 2, 2 }, { 24, 5, 12, 21, 2, 2 }, { 25, 4, 12, 21, 2, 2 }, { 25, 3, 13, 21, 2, 2 }, { 26, 2, 13, 21, 2, 2 }, + { 27, 1, 14, 21, 2, 2 }, { 28, 0, 14, 21, 2, 2 }, { 29, -1, 15, 20, 2, 2 }, { 29, -3, 15, 20, 2, 2 }, { 30, -4, 16, 20, 2, 2 }, + { 31, -5, 16, 20, 2, 2 }, { 32, -6, 17, 20, 2, 2 }, { 33, -7, 18, 19, 2, 2 }, { 34, -7, 18, 19, 2, 2 }, { 35, -8, 19, 19, 2, 2 }, + { 36, -9, 19, 19, 2, 2 }, { 37, -9, 20, 19, 2, 2 }, { 38, -10, 20, 19, 2, 2 }, { 39, -10, 21, 19, 2, 2 }, { 40, -11, 21, 19, 2, 2 }, + { 41, -11, 22, 19, 2, 2 }, { 42, -12, 22, 18, 2, 2 }, { 43, -12, 23, 18, 2, 2 }, { 44, -13, 23, 18, 2, 2 }, { 45, -13, 24, 18, 2, 2 }, + { 46, -13, 24, 18, 2, 2 }, { 47, -14, 24, 18, 2, 2 }, { 48, -14, 25, 18, 2, 2 }, { 49, -14, 25, 18, 2, 2 }, { 50, -15, 26, 18, 2, 2 }, + { 51, -15, 26, 18, 2, 2 }, { 52, -15, 27, 17, 2, 2 }, { 53, -15, 27, 17, 2, 2 }, { 54, -15, 28, 17, 2, 2 }, { 55, -15, 28, 17, 2, 2 }, + { 56, -16, 28, 17, 2, 2 }, { 57, -16, 29, 17, 2, 2 }, { 58, -16, 29, 17, 2, 2 }, { 59, -16, 30, 17, 2, 2 }, { 60, -16, 30, 16, 2, 2 }, + { 61, -16, 31, 16, 2, 2 }, { 62, -16, 31, 16, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_961586 = { - 67, { - { 31, 16, 0, 0, 2, 4 }, { 30, 16, 0, 0, 2, 4 }, { 29, 16, 1, 0, 2, 4 }, { 28, 16, 1, 0, 2, 4 }, { 27, 16, 2, 1, 2, 4 }, - { 26, 16, 2, 1, 2, 4 }, { 25, 17, 2, 1, 2, 4 }, { 24, 17, 3, 1, 2, 4 }, { 23, 17, 3, 1, 2, 4 }, { 22, 17, 4, 1, 2, 4 }, - { 21, 17, 4, 1, 2, 4 }, { 20, 17, 5, 1, 2, 4 }, { 19, 18, 5, 1, 2, 4 }, { 18, 18, 6, 2, 2, 4 }, { 17, 18, 6, 2, 2, 4 }, - { 16, 19, 6, 2, 2, 4 }, { 15, 19, 7, 2, 2, 4 }, { 14, 19, 7, 2, 2, 4 }, { 13, 20, 8, 2, 2, 4 }, { 12, 20, 8, 2, 2, 4 }, - { 11, 21, 9, 2, 2, 4 }, { 10, 21, 9, 2, 2, 4 }, { 9, 22, 10, 2, 2, 4 }, { 8, 22, 10, 3, 2, 4 }, { 7, 23, 11, 3, 2, 4 }, - { 6, 23, 11, 3, 2, 4 }, { 5, 24, 12, 3, 2, 4 }, { 4, 25, 12, 3, 2, 4 }, { 3, 25, 13, 3, 2, 4 }, { 2, 26, 13, 3, 2, 4 }, - { 1, 27, 14, 3, 2, 4 }, { 0, 28, 14, 3, 2, 4 }, { -1, 29, 15, 4, 2, 4 }, { -3, 29, 15, 4, 2, 4 }, { -4, 30, 16, 4, 2, 4 }, - { -5, 31, 16, 4, 2, 4 }, { -6, 32, 17, 4, 2, 4 }, { -7, 33, 18, 5, 2, 4 }, { -7, 34, 18, 5, 2, 4 }, { -8, 35, 19, 5, 2, 4 }, - { -9, 36, 19, 5, 2, 4 }, { -9, 37, 20, 5, 2, 4 }, { -10, 38, 20, 5, 2, 4 }, { -10, 39, 21, 5, 2, 4 }, { -11, 40, 21, 5, 2, 4 }, - { -11, 41, 22, 5, 2, 4 }, { -12, 42, 22, 6, 2, 4 }, { -12, 43, 23, 6, 2, 4 }, { -13, 44, 23, 6, 2, 4 }, { -13, 45, 24, 6, 2, 4 }, - { -13, 46, 24, 6, 2, 4 }, { -14, 47, 24, 6, 2, 4 }, { -14, 48, 25, 6, 2, 4 }, { -14, 49, 25, 6, 2, 4 }, { -15, 50, 26, 6, 2, 4 }, - { -15, 51, 26, 6, 2, 4 }, { -15, 52, 27, 7, 2, 4 }, { -15, 53, 27, 7, 2, 4 }, { -15, 54, 28, 7, 2, 4 }, { -15, 55, 28, 7, 2, 4 }, - { -16, 56, 28, 7, 2, 4 }, { -16, 57, 29, 7, 2, 4 }, { -16, 58, 29, 7, 2, 4 }, { -16, 59, 30, 7, 2, 4 }, { -16, 60, 30, 8, 2, 4 }, - { -16, 61, 31, 8, 2, 4 }, { -16, 62, 31, 8, 2, 4 }, + 67, { + { 31, 16, 0, 0, 2, 4 }, { 30, 16, 0, 0, 2, 4 }, { 29, 16, 1, 0, 2, 4 }, { 28, 16, 1, 0, 2, 4 }, { 27, 16, 2, 1, 2, 4 }, + { 26, 16, 2, 1, 2, 4 }, { 25, 17, 2, 1, 2, 4 }, { 24, 17, 3, 1, 2, 4 }, { 23, 17, 3, 1, 2, 4 }, { 22, 17, 4, 1, 2, 4 }, + { 21, 17, 4, 1, 2, 4 }, { 20, 17, 5, 1, 2, 4 }, { 19, 18, 5, 1, 2, 4 }, { 18, 18, 6, 2, 2, 4 }, { 17, 18, 6, 2, 2, 4 }, + { 16, 19, 6, 2, 2, 4 }, { 15, 19, 7, 2, 2, 4 }, { 14, 19, 7, 2, 2, 4 }, { 13, 20, 8, 2, 2, 4 }, { 12, 20, 8, 2, 2, 4 }, + { 11, 21, 9, 2, 2, 4 }, { 10, 21, 9, 2, 2, 4 }, { 9, 22, 10, 2, 2, 4 }, { 8, 22, 10, 3, 2, 4 }, { 7, 23, 11, 3, 2, 4 }, + { 6, 23, 11, 3, 2, 4 }, { 5, 24, 12, 3, 2, 4 }, { 4, 25, 12, 3, 2, 4 }, { 3, 25, 13, 3, 2, 4 }, { 2, 26, 13, 3, 2, 4 }, + { 1, 27, 14, 3, 2, 4 }, { 0, 28, 14, 3, 2, 4 }, { -1, 29, 15, 4, 2, 4 }, { -3, 29, 15, 4, 2, 4 }, { -4, 30, 16, 4, 2, 4 }, + { -5, 31, 16, 4, 2, 4 }, { -6, 32, 17, 4, 2, 4 }, { -7, 33, 18, 5, 2, 4 }, { -7, 34, 18, 5, 2, 4 }, { -8, 35, 19, 5, 2, 4 }, + { -9, 36, 19, 5, 2, 4 }, { -9, 37, 20, 5, 2, 4 }, { -10, 38, 20, 5, 2, 4 }, { -10, 39, 21, 5, 2, 4 }, { -11, 40, 21, 5, 2, 4 }, + { -11, 41, 22, 5, 2, 4 }, { -12, 42, 22, 6, 2, 4 }, { -12, 43, 23, 6, 2, 4 }, { -13, 44, 23, 6, 2, 4 }, { -13, 45, 24, 6, 2, 4 }, + { -13, 46, 24, 6, 2, 4 }, { -14, 47, 24, 6, 2, 4 }, { -14, 48, 25, 6, 2, 4 }, { -14, 49, 25, 6, 2, 4 }, { -15, 50, 26, 6, 2, 4 }, + { -15, 51, 26, 6, 2, 4 }, { -15, 52, 27, 7, 2, 4 }, { -15, 53, 27, 7, 2, 4 }, { -15, 54, 28, 7, 2, 4 }, { -15, 55, 28, 7, 2, 4 }, + { -16, 56, 28, 7, 2, 4 }, { -16, 57, 29, 7, 2, 4 }, { -16, 58, 29, 7, 2, 4 }, { -16, 59, 30, 7, 2, 4 }, { -16, 60, 30, 8, 2, 4 }, + { -16, 61, 31, 8, 2, 4 }, { -16, 62, 31, 8, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9617E3 = { - 68, { - { 16, 0, 0, 8, 2, 4 }, { 16, 1, 0, 8, 2, 4 }, { 16, 2, 0, 8, 2, 4 }, { 16, 3, 1, 8, 2, 4 }, { 16, 4, 1, 8, 2, 4 }, - { 16, 5, 2, 9, 2, 4 }, { 16, 6, 2, 9, 2, 4 }, { 17, 7, 2, 9, 2, 4 }, { 17, 8, 3, 9, 2, 4 }, { 17, 9, 3, 9, 2, 4 }, - { 17, 10, 4, 9, 2, 4 }, { 17, 11, 4, 9, 2, 4 }, { 17, 12, 5, 9, 2, 4 }, { 18, 13, 5, 9, 2, 4 }, { 18, 14, 6, 10, 2, 4 }, - { 18, 15, 6, 10, 2, 4 }, { 19, 16, 6, 10, 2, 4 }, { 19, 17, 7, 10, 2, 4 }, { 19, 18, 7, 10, 2, 4 }, { 20, 19, 8, 10, 2, 4 }, - { 20, 20, 8, 10, 2, 4 }, { 21, 21, 9, 10, 2, 4 }, { 21, 22, 9, 10, 2, 4 }, { 22, 23, 10, 10, 2, 4 }, { 22, 24, 10, 11, 2, 4 }, - { 23, 25, 11, 11, 2, 4 }, { 23, 26, 11, 11, 2, 4 }, { 24, 27, 12, 11, 2, 4 }, { 25, 28, 12, 11, 2, 4 }, { 25, 29, 13, 11, 2, 4 }, - { 26, 30, 13, 11, 2, 4 }, { 27, 31, 14, 11, 2, 4 }, { 28, 32, 14, 11, 2, 4 }, { 29, 33, 15, 12, 2, 4 }, { 29, 35, 15, 12, 2, 4 }, - { 30, 36, 16, 12, 2, 4 }, { 31, 37, 16, 12, 2, 4 }, { 32, 38, 17, 12, 2, 4 }, { 33, 39, 18, 13, 2, 4 }, { 34, 39, 18, 13, 2, 4 }, - { 35, 40, 19, 13, 2, 4 }, { 36, 41, 19, 13, 2, 4 }, { 37, 41, 20, 13, 2, 4 }, { 38, 42, 20, 13, 2, 4 }, { 39, 42, 21, 13, 2, 4 }, - { 40, 43, 21, 13, 2, 4 }, { 41, 43, 22, 13, 2, 4 }, { 42, 44, 22, 14, 2, 4 }, { 43, 44, 23, 14, 2, 4 }, { 44, 45, 23, 14, 2, 4 }, - { 45, 45, 24, 14, 2, 4 }, { 46, 45, 24, 14, 2, 4 }, { 47, 46, 24, 14, 2, 4 }, { 48, 46, 25, 14, 2, 4 }, { 49, 46, 25, 14, 2, 4 }, - { 50, 47, 26, 14, 2, 4 }, { 51, 47, 26, 14, 2, 4 }, { 52, 47, 27, 15, 2, 4 }, { 53, 47, 27, 15, 2, 4 }, { 54, 47, 28, 15, 2, 4 }, - { 55, 47, 28, 15, 2, 4 }, { 56, 48, 28, 15, 2, 4 }, { 57, 48, 29, 15, 2, 4 }, { 58, 48, 29, 15, 2, 4 }, { 59, 48, 30, 15, 2, 4 }, - { 60, 48, 30, 16, 2, 4 }, { 61, 48, 31, 16, 2, 4 }, { 62, 48, 31, 16, 2, 4 }, + 68, { + { 16, 0, 0, 8, 2, 4 }, { 16, 1, 0, 8, 2, 4 }, { 16, 2, 0, 8, 2, 4 }, { 16, 3, 1, 8, 2, 4 }, { 16, 4, 1, 8, 2, 4 }, + { 16, 5, 2, 9, 2, 4 }, { 16, 6, 2, 9, 2, 4 }, { 17, 7, 2, 9, 2, 4 }, { 17, 8, 3, 9, 2, 4 }, { 17, 9, 3, 9, 2, 4 }, + { 17, 10, 4, 9, 2, 4 }, { 17, 11, 4, 9, 2, 4 }, { 17, 12, 5, 9, 2, 4 }, { 18, 13, 5, 9, 2, 4 }, { 18, 14, 6, 10, 2, 4 }, + { 18, 15, 6, 10, 2, 4 }, { 19, 16, 6, 10, 2, 4 }, { 19, 17, 7, 10, 2, 4 }, { 19, 18, 7, 10, 2, 4 }, { 20, 19, 8, 10, 2, 4 }, + { 20, 20, 8, 10, 2, 4 }, { 21, 21, 9, 10, 2, 4 }, { 21, 22, 9, 10, 2, 4 }, { 22, 23, 10, 10, 2, 4 }, { 22, 24, 10, 11, 2, 4 }, + { 23, 25, 11, 11, 2, 4 }, { 23, 26, 11, 11, 2, 4 }, { 24, 27, 12, 11, 2, 4 }, { 25, 28, 12, 11, 2, 4 }, { 25, 29, 13, 11, 2, 4 }, + { 26, 30, 13, 11, 2, 4 }, { 27, 31, 14, 11, 2, 4 }, { 28, 32, 14, 11, 2, 4 }, { 29, 33, 15, 12, 2, 4 }, { 29, 35, 15, 12, 2, 4 }, + { 30, 36, 16, 12, 2, 4 }, { 31, 37, 16, 12, 2, 4 }, { 32, 38, 17, 12, 2, 4 }, { 33, 39, 18, 13, 2, 4 }, { 34, 39, 18, 13, 2, 4 }, + { 35, 40, 19, 13, 2, 4 }, { 36, 41, 19, 13, 2, 4 }, { 37, 41, 20, 13, 2, 4 }, { 38, 42, 20, 13, 2, 4 }, { 39, 42, 21, 13, 2, 4 }, + { 40, 43, 21, 13, 2, 4 }, { 41, 43, 22, 13, 2, 4 }, { 42, 44, 22, 14, 2, 4 }, { 43, 44, 23, 14, 2, 4 }, { 44, 45, 23, 14, 2, 4 }, + { 45, 45, 24, 14, 2, 4 }, { 46, 45, 24, 14, 2, 4 }, { 47, 46, 24, 14, 2, 4 }, { 48, 46, 25, 14, 2, 4 }, { 49, 46, 25, 14, 2, 4 }, + { 50, 47, 26, 14, 2, 4 }, { 51, 47, 26, 14, 2, 4 }, { 52, 47, 27, 15, 2, 4 }, { 53, 47, 27, 15, 2, 4 }, { 54, 47, 28, 15, 2, 4 }, + { 55, 47, 28, 15, 2, 4 }, { 56, 48, 28, 15, 2, 4 }, { 57, 48, 29, 15, 2, 4 }, { 58, 48, 29, 15, 2, 4 }, { 59, 48, 30, 15, 2, 4 }, + { 60, 48, 30, 16, 2, 4 }, { 61, 48, 31, 16, 2, 4 }, { 62, 48, 31, 16, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_961A49 = { - 69, { - { 0, 16, 0, 16, 2, 4 }, { 1, 16, 0, 16, 2, 4 }, { 2, 16, 0, 16, 2, 4 }, { 3, 16, 1, 16, 2, 4 }, { 4, 16, 1, 16, 2, 4 }, - { 5, 16, 2, 17, 2, 4 }, { 6, 16, 2, 17, 2, 4 }, { 7, 15, 2, 17, 2, 4 }, { 8, 15, 3, 17, 2, 4 }, { 9, 15, 3, 17, 2, 4 }, - { 10, 15, 4, 17, 2, 4 }, { 11, 15, 4, 17, 2, 4 }, { 12, 15, 4, 17, 2, 4 }, { 13, 14, 5, 17, 2, 4 }, { 14, 14, 5, 18, 2, 4 }, - { 15, 14, 6, 18, 2, 4 }, { 16, 13, 6, 18, 2, 4 }, { 17, 13, 7, 18, 2, 4 }, { 18, 13, 7, 18, 2, 4 }, { 19, 12, 8, 18, 2, 4 }, - { 20, 12, 8, 18, 2, 4 }, { 21, 11, 9, 18, 2, 4 }, { 22, 11, 9, 18, 2, 4 }, { 23, 10, 10, 18, 2, 4 }, { 24, 10, 10, 19, 2, 4 }, - { 25, 9, 11, 19, 2, 4 }, { 26, 9, 11, 19, 2, 4 }, { 27, 8, 11, 19, 2, 4 }, { 28, 7, 12, 19, 2, 4 }, { 29, 7, 13, 19, 2, 4 }, - { 30, 6, 13, 19, 2, 4 }, { 31, 5, 14, 19, 2, 4 }, { 32, 4, 14, 19, 2, 4 }, { 33, 3, 15, 20, 2, 4 }, { 35, 3, 15, 20, 2, 4 }, - { 36, 2, 16, 20, 2, 4 }, { 37, 1, 16, 20, 2, 4 }, { 38, 0, 17, 20, 2, 4 }, { 39, -1, 17, 21, 2, 4 }, { 39, -2, 18, 21, 2, 4 }, - { 40, -3, 18, 21, 2, 4 }, { 41, -4, 19, 21, 2, 4 }, { 41, -5, 19, 21, 2, 4 }, { 42, -6, 20, 21, 2, 4 }, { 42, -7, 20, 21, 2, 4 }, - { 43, -8, 21, 21, 2, 4 }, { 43, -9, 21, 21, 2, 4 }, { 44, -10, 22, 22, 2, 4 }, { 44, -11, 22, 22, 2, 4 }, { 45, -12, 23, 22, 2, 4 }, - { 45, -13, 23, 22, 2, 4 }, { 45, -14, 24, 22, 2, 4 }, { 46, -15, 24, 22, 2, 4 }, { 46, -16, 25, 22, 2, 4 }, { 46, -17, 25, 22, 2, 4 }, - { 47, -18, 25, 22, 2, 4 }, { 47, -19, 26, 22, 2, 4 }, { 47, -20, 26, 23, 2, 4 }, { 47, -21, 27, 23, 2, 4 }, { 47, -22, 27, 23, 2, 4 }, - { 47, -23, 28, 23, 2, 4 }, { 48, -24, 28, 23, 2, 4 }, { 48, -25, 29, 23, 2, 4 }, { 48, -26, 29, 23, 2, 4 }, { 48, -27, 29, 23, 2, 4 }, - { 48, -28, 30, 24, 2, 4 }, { 48, -29, 30, 24, 2, 4 }, { 48, -30, 31, 24, 2, 4 }, { 48, -31, 31, 24, 2, 4 }, + 69, { + { 0, 16, 0, 16, 2, 4 }, { 1, 16, 0, 16, 2, 4 }, { 2, 16, 0, 16, 2, 4 }, { 3, 16, 1, 16, 2, 4 }, { 4, 16, 1, 16, 2, 4 }, + { 5, 16, 2, 17, 2, 4 }, { 6, 16, 2, 17, 2, 4 }, { 7, 15, 2, 17, 2, 4 }, { 8, 15, 3, 17, 2, 4 }, { 9, 15, 3, 17, 2, 4 }, + { 10, 15, 4, 17, 2, 4 }, { 11, 15, 4, 17, 2, 4 }, { 12, 15, 4, 17, 2, 4 }, { 13, 14, 5, 17, 2, 4 }, { 14, 14, 5, 18, 2, 4 }, + { 15, 14, 6, 18, 2, 4 }, { 16, 13, 6, 18, 2, 4 }, { 17, 13, 7, 18, 2, 4 }, { 18, 13, 7, 18, 2, 4 }, { 19, 12, 8, 18, 2, 4 }, + { 20, 12, 8, 18, 2, 4 }, { 21, 11, 9, 18, 2, 4 }, { 22, 11, 9, 18, 2, 4 }, { 23, 10, 10, 18, 2, 4 }, { 24, 10, 10, 19, 2, 4 }, + { 25, 9, 11, 19, 2, 4 }, { 26, 9, 11, 19, 2, 4 }, { 27, 8, 11, 19, 2, 4 }, { 28, 7, 12, 19, 2, 4 }, { 29, 7, 13, 19, 2, 4 }, + { 30, 6, 13, 19, 2, 4 }, { 31, 5, 14, 19, 2, 4 }, { 32, 4, 14, 19, 2, 4 }, { 33, 3, 15, 20, 2, 4 }, { 35, 3, 15, 20, 2, 4 }, + { 36, 2, 16, 20, 2, 4 }, { 37, 1, 16, 20, 2, 4 }, { 38, 0, 17, 20, 2, 4 }, { 39, -1, 17, 21, 2, 4 }, { 39, -2, 18, 21, 2, 4 }, + { 40, -3, 18, 21, 2, 4 }, { 41, -4, 19, 21, 2, 4 }, { 41, -5, 19, 21, 2, 4 }, { 42, -6, 20, 21, 2, 4 }, { 42, -7, 20, 21, 2, 4 }, + { 43, -8, 21, 21, 2, 4 }, { 43, -9, 21, 21, 2, 4 }, { 44, -10, 22, 22, 2, 4 }, { 44, -11, 22, 22, 2, 4 }, { 45, -12, 23, 22, 2, 4 }, + { 45, -13, 23, 22, 2, 4 }, { 45, -14, 24, 22, 2, 4 }, { 46, -15, 24, 22, 2, 4 }, { 46, -16, 25, 22, 2, 4 }, { 46, -17, 25, 22, 2, 4 }, + { 47, -18, 25, 22, 2, 4 }, { 47, -19, 26, 22, 2, 4 }, { 47, -20, 26, 23, 2, 4 }, { 47, -21, 27, 23, 2, 4 }, { 47, -22, 27, 23, 2, 4 }, + { 47, -23, 28, 23, 2, 4 }, { 48, -24, 28, 23, 2, 4 }, { 48, -25, 29, 23, 2, 4 }, { 48, -26, 29, 23, 2, 4 }, { 48, -27, 29, 23, 2, 4 }, + { 48, -28, 30, 24, 2, 4 }, { 48, -29, 30, 24, 2, 4 }, { 48, -30, 31, 24, 2, 4 }, { 48, -31, 31, 24, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_961CB8 = { - 68, { - { 16, 31, 0, 24, 2, 4 }, { 16, 30, 0, 24, 2, 4 }, { 16, 29, 1, 24, 2, 4 }, { 16, 28, 1, 24, 2, 4 }, { 16, 27, 2, 25, 2, 4 }, - { 16, 26, 2, 25, 2, 4 }, { 15, 25, 2, 25, 2, 4 }, { 15, 24, 3, 25, 2, 4 }, { 15, 23, 3, 25, 2, 4 }, { 15, 22, 4, 25, 2, 4 }, - { 15, 21, 4, 25, 2, 4 }, { 15, 20, 4, 25, 2, 4 }, { 14, 19, 5, 25, 2, 4 }, { 14, 18, 5, 26, 2, 4 }, { 14, 17, 6, 26, 2, 4 }, - { 13, 16, 6, 26, 2, 4 }, { 13, 15, 7, 26, 2, 4 }, { 13, 14, 7, 26, 2, 4 }, { 12, 13, 8, 26, 2, 4 }, { 12, 12, 8, 26, 2, 4 }, - { 11, 11, 9, 26, 2, 4 }, { 11, 10, 9, 26, 2, 4 }, { 10, 9, 10, 26, 2, 4 }, { 10, 8, 10, 27, 2, 4 }, { 9, 7, 11, 27, 2, 4 }, - { 9, 6, 11, 27, 2, 4 }, { 8, 5, 11, 27, 2, 4 }, { 7, 4, 12, 27, 2, 4 }, { 7, 3, 13, 27, 2, 4 }, { 6, 2, 13, 27, 2, 4 }, - { 5, 1, 14, 27, 2, 4 }, { 4, 0, 14, 27, 2, 4 }, { 3, -1, 15, 28, 2, 4 }, { 3, -3, 15, 28, 2, 4 }, { 2, -4, 16, 28, 2, 4 }, - { 1, -5, 16, 28, 2, 4 }, { 0, -6, 17, 28, 2, 4 }, { -1, -7, 17, 29, 2, 4 }, { -2, -7, 18, 29, 2, 4 }, { -3, -8, 18, 29, 2, 4 }, - { -4, -9, 19, 29, 2, 4 }, { -5, -9, 19, 29, 2, 4 }, { -6, -10, 20, 29, 2, 4 }, { -7, -10, 20, 29, 2, 4 }, { -8, -11, 21, 29, 2, 4 }, - { -9, -11, 21, 29, 2, 4 }, { -10, -12, 22, 30, 2, 4 }, { -11, -12, 22, 30, 2, 4 }, { -12, -13, 23, 30, 2, 4 }, { -13, -13, 23, 30, 2, 4 }, - { -14, -13, 24, 30, 2, 4 }, { -15, -14, 24, 30, 2, 4 }, { -16, -14, 25, 30, 2, 4 }, { -17, -14, 25, 30, 2, 4 }, { -18, -15, 25, 30, 2, 4 }, - { -19, -15, 26, 30, 2, 4 }, { -20, -15, 26, 31, 2, 4 }, { -21, -15, 27, 31, 2, 4 }, { -22, -15, 27, 31, 2, 4 }, { -23, -15, 28, 31, 2, 4 }, - { -24, -16, 28, 31, 2, 4 }, { -25, -16, 29, 31, 2, 4 }, { -26, -16, 29, 31, 2, 4 }, { -27, -16, 29, 31, 2, 4 }, { -28, -16, 30, 0, 2, 4 }, - { -29, -16, 30, 0, 2, 4 }, { -30, -16, 31, 0, 2, 4 }, { -31, -16, 31, 0, 2, 4 }, + 68, { + { 16, 31, 0, 24, 2, 4 }, { 16, 30, 0, 24, 2, 4 }, { 16, 29, 1, 24, 2, 4 }, { 16, 28, 1, 24, 2, 4 }, { 16, 27, 2, 25, 2, 4 }, + { 16, 26, 2, 25, 2, 4 }, { 15, 25, 2, 25, 2, 4 }, { 15, 24, 3, 25, 2, 4 }, { 15, 23, 3, 25, 2, 4 }, { 15, 22, 4, 25, 2, 4 }, + { 15, 21, 4, 25, 2, 4 }, { 15, 20, 4, 25, 2, 4 }, { 14, 19, 5, 25, 2, 4 }, { 14, 18, 5, 26, 2, 4 }, { 14, 17, 6, 26, 2, 4 }, + { 13, 16, 6, 26, 2, 4 }, { 13, 15, 7, 26, 2, 4 }, { 13, 14, 7, 26, 2, 4 }, { 12, 13, 8, 26, 2, 4 }, { 12, 12, 8, 26, 2, 4 }, + { 11, 11, 9, 26, 2, 4 }, { 11, 10, 9, 26, 2, 4 }, { 10, 9, 10, 26, 2, 4 }, { 10, 8, 10, 27, 2, 4 }, { 9, 7, 11, 27, 2, 4 }, + { 9, 6, 11, 27, 2, 4 }, { 8, 5, 11, 27, 2, 4 }, { 7, 4, 12, 27, 2, 4 }, { 7, 3, 13, 27, 2, 4 }, { 6, 2, 13, 27, 2, 4 }, + { 5, 1, 14, 27, 2, 4 }, { 4, 0, 14, 27, 2, 4 }, { 3, -1, 15, 28, 2, 4 }, { 3, -3, 15, 28, 2, 4 }, { 2, -4, 16, 28, 2, 4 }, + { 1, -5, 16, 28, 2, 4 }, { 0, -6, 17, 28, 2, 4 }, { -1, -7, 17, 29, 2, 4 }, { -2, -7, 18, 29, 2, 4 }, { -3, -8, 18, 29, 2, 4 }, + { -4, -9, 19, 29, 2, 4 }, { -5, -9, 19, 29, 2, 4 }, { -6, -10, 20, 29, 2, 4 }, { -7, -10, 20, 29, 2, 4 }, { -8, -11, 21, 29, 2, 4 }, + { -9, -11, 21, 29, 2, 4 }, { -10, -12, 22, 30, 2, 4 }, { -11, -12, 22, 30, 2, 4 }, { -12, -13, 23, 30, 2, 4 }, { -13, -13, 23, 30, 2, 4 }, + { -14, -13, 24, 30, 2, 4 }, { -15, -14, 24, 30, 2, 4 }, { -16, -14, 25, 30, 2, 4 }, { -17, -14, 25, 30, 2, 4 }, { -18, -15, 25, 30, 2, 4 }, + { -19, -15, 26, 30, 2, 4 }, { -20, -15, 26, 31, 2, 4 }, { -21, -15, 27, 31, 2, 4 }, { -22, -15, 27, 31, 2, 4 }, { -23, -15, 28, 31, 2, 4 }, + { -24, -16, 28, 31, 2, 4 }, { -25, -16, 29, 31, 2, 4 }, { -26, -16, 29, 31, 2, 4 }, { -27, -16, 29, 31, 2, 4 }, { -28, -16, 30, 0, 2, 4 }, + { -29, -16, 30, 0, 2, 4 }, { -30, -16, 31, 0, 2, 4 }, { -31, -16, 31, 0, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95F8BE = { - 68, { - { 31, 16, 15, 0, 6, 2 }, { 30, 16, 15, 0, 6, 2 }, { 29, 16, 14, 0, 6, 2 }, { 28, 16, 14, 0, 6, 2 }, { 27, 16, 13, 31, 6, 2 }, - { 26, 16, 13, 31, 6, 2 }, { 25, 15, 13, 31, 6, 2 }, { 24, 15, 12, 31, 6, 2 }, { 23, 15, 12, 31, 6, 2 }, { 22, 15, 11, 31, 6, 2 }, - { 21, 15, 11, 31, 6, 2 }, { 20, 15, 11, 31, 6, 2 }, { 19, 14, 10, 31, 6, 2 }, { 18, 14, 10, 30, 6, 2 }, { 17, 14, 9, 30, 6, 2 }, - { 16, 13, 9, 30, 6, 2 }, { 15, 13, 8, 30, 6, 2 }, { 14, 13, 8, 30, 6, 2 }, { 13, 12, 7, 30, 6, 2 }, { 12, 12, 7, 30, 6, 2 }, - { 11, 11, 6, 30, 6, 2 }, { 10, 11, 6, 30, 6, 2 }, { 9, 10, 5, 30, 6, 2 }, { 8, 10, 5, 29, 6, 2 }, { 7, 9, 4, 29, 6, 2 }, - { 6, 9, 4, 29, 6, 2 }, { 5, 8, 4, 29, 6, 2 }, { 4, 7, 3, 29, 6, 2 }, { 3, 7, 2, 29, 6, 2 }, { 2, 6, 2, 29, 6, 2 }, - { 1, 5, 1, 29, 6, 2 }, { 0, 4, 1, 29, 6, 2 }, { -1, 3, 0, 28, 6, 2 }, { -3, 3, 0, 28, 6, 2 }, { -4, 2, -1, 28, 6, 2 }, - { -5, 1, -1, 28, 6, 2 }, { -6, 0, -2, 28, 6, 2 }, { -7, -1, -2, 27, 6, 2 }, { -7, -2, -3, 27, 6, 2 }, { -8, -3, -3, 27, 6, 2 }, - { -9, -4, -4, 27, 6, 2 }, { -9, -5, -5, 27, 6, 2 }, { -10, -6, -5, 27, 6, 2 }, { -10, -7, -5, 27, 6, 2 }, { -11, -8, -6, 27, 6, 2 }, - { -11, -9, -6, 27, 6, 2 }, { -12, -10, -7, 26, 6, 2 }, { -12, -11, -7, 26, 6, 2 }, { -13, -12, -8, 26, 6, 2 }, { -13, -13, -8, 26, 6, 2 }, - { -13, -14, -9, 26, 6, 2 }, { -14, -15, -9, 26, 6, 2 }, { -14, -16, -10, 26, 6, 2 }, { -14, -17, -10, 26, 6, 2 }, { -15, -18, -11, 26, 6, 2 }, - { -15, -19, -11, 26, 6, 2 }, { -15, -20, -12, 25, 6, 2 }, { -15, -21, -12, 25, 6, 2 }, { -15, -22, -12, 25, 6, 2 }, { -15, -23, -13, 25, 6, 2 }, - { -16, -24, -13, 25, 6, 2 }, { -16, -25, -14, 25, 6, 2 }, { -16, -26, -14, 25, 6, 2 }, { -16, -27, -14, 25, 6, 2 }, { -16, -28, -15, 24, 6, 2 }, - { -16, -29, -15, 24, 6, 2 }, { -16, -30, -16, 24, 6, 2 }, { -16, -31, -17, 24, 6, 2 }, + 68, { + { 31, 16, 15, 0, 6, 2 }, { 30, 16, 15, 0, 6, 2 }, { 29, 16, 14, 0, 6, 2 }, { 28, 16, 14, 0, 6, 2 }, { 27, 16, 13, 31, 6, 2 }, + { 26, 16, 13, 31, 6, 2 }, { 25, 15, 13, 31, 6, 2 }, { 24, 15, 12, 31, 6, 2 }, { 23, 15, 12, 31, 6, 2 }, { 22, 15, 11, 31, 6, 2 }, + { 21, 15, 11, 31, 6, 2 }, { 20, 15, 11, 31, 6, 2 }, { 19, 14, 10, 31, 6, 2 }, { 18, 14, 10, 30, 6, 2 }, { 17, 14, 9, 30, 6, 2 }, + { 16, 13, 9, 30, 6, 2 }, { 15, 13, 8, 30, 6, 2 }, { 14, 13, 8, 30, 6, 2 }, { 13, 12, 7, 30, 6, 2 }, { 12, 12, 7, 30, 6, 2 }, + { 11, 11, 6, 30, 6, 2 }, { 10, 11, 6, 30, 6, 2 }, { 9, 10, 5, 30, 6, 2 }, { 8, 10, 5, 29, 6, 2 }, { 7, 9, 4, 29, 6, 2 }, + { 6, 9, 4, 29, 6, 2 }, { 5, 8, 4, 29, 6, 2 }, { 4, 7, 3, 29, 6, 2 }, { 3, 7, 2, 29, 6, 2 }, { 2, 6, 2, 29, 6, 2 }, + { 1, 5, 1, 29, 6, 2 }, { 0, 4, 1, 29, 6, 2 }, { -1, 3, 0, 28, 6, 2 }, { -3, 3, 0, 28, 6, 2 }, { -4, 2, -1, 28, 6, 2 }, + { -5, 1, -1, 28, 6, 2 }, { -6, 0, -2, 28, 6, 2 }, { -7, -1, -2, 27, 6, 2 }, { -7, -2, -3, 27, 6, 2 }, { -8, -3, -3, 27, 6, 2 }, + { -9, -4, -4, 27, 6, 2 }, { -9, -5, -5, 27, 6, 2 }, { -10, -6, -5, 27, 6, 2 }, { -10, -7, -5, 27, 6, 2 }, { -11, -8, -6, 27, 6, 2 }, + { -11, -9, -6, 27, 6, 2 }, { -12, -10, -7, 26, 6, 2 }, { -12, -11, -7, 26, 6, 2 }, { -13, -12, -8, 26, 6, 2 }, { -13, -13, -8, 26, 6, 2 }, + { -13, -14, -9, 26, 6, 2 }, { -14, -15, -9, 26, 6, 2 }, { -14, -16, -10, 26, 6, 2 }, { -14, -17, -10, 26, 6, 2 }, { -15, -18, -11, 26, 6, 2 }, + { -15, -19, -11, 26, 6, 2 }, { -15, -20, -12, 25, 6, 2 }, { -15, -21, -12, 25, 6, 2 }, { -15, -22, -12, 25, 6, 2 }, { -15, -23, -13, 25, 6, 2 }, + { -16, -24, -13, 25, 6, 2 }, { -16, -25, -14, 25, 6, 2 }, { -16, -26, -14, 25, 6, 2 }, { -16, -27, -14, 25, 6, 2 }, { -16, -28, -15, 24, 6, 2 }, + { -16, -29, -15, 24, 6, 2 }, { -16, -30, -16, 24, 6, 2 }, { -16, -31, -17, 24, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95FB24 = { - 69, { - { 16, 0, 15, 8, 6, 2 }, { 16, 1, 15, 8, 6, 2 }, { 16, 2, 15, 8, 6, 2 }, { 16, 3, 14, 8, 6, 2 }, { 16, 4, 14, 8, 6, 2 }, - { 16, 5, 13, 7, 6, 2 }, { 16, 6, 13, 7, 6, 2 }, { 15, 7, 13, 7, 6, 2 }, { 15, 8, 12, 7, 6, 2 }, { 15, 9, 12, 7, 6, 2 }, - { 15, 10, 11, 7, 6, 2 }, { 15, 11, 11, 7, 6, 2 }, { 15, 12, 11, 7, 6, 2 }, { 14, 13, 10, 7, 6, 2 }, { 14, 14, 10, 6, 6, 2 }, - { 14, 15, 9, 6, 6, 2 }, { 13, 16, 9, 6, 6, 2 }, { 13, 17, 8, 6, 6, 2 }, { 13, 18, 8, 6, 6, 2 }, { 12, 19, 7, 6, 6, 2 }, - { 12, 20, 7, 6, 6, 2 }, { 11, 21, 6, 6, 6, 2 }, { 11, 22, 6, 6, 6, 2 }, { 10, 23, 5, 6, 6, 2 }, { 10, 24, 5, 5, 6, 2 }, - { 9, 25, 4, 5, 6, 2 }, { 9, 26, 4, 5, 6, 2 }, { 8, 27, 4, 5, 6, 2 }, { 7, 28, 3, 5, 6, 2 }, { 7, 29, 2, 5, 6, 2 }, - { 6, 30, 2, 5, 6, 2 }, { 5, 31, 1, 5, 6, 2 }, { 4, 32, 1, 5, 6, 2 }, { 3, 33, 0, 4, 6, 2 }, { 3, 35, 0, 4, 6, 2 }, - { 2, 36, -1, 4, 6, 2 }, { 1, 37, -1, 4, 6, 2 }, { 0, 38, -2, 4, 6, 2 }, { -1, 39, -2, 3, 6, 2 }, { -2, 39, -3, 3, 6, 2 }, - { -3, 40, -3, 3, 6, 2 }, { -4, 41, -4, 3, 6, 2 }, { -5, 41, -5, 3, 6, 2 }, { -6, 42, -5, 3, 6, 2 }, { -7, 42, -5, 3, 6, 2 }, - { -8, 43, -6, 3, 6, 2 }, { -9, 43, -6, 3, 6, 2 }, { -10, 44, -7, 2, 6, 2 }, { -11, 44, -7, 2, 6, 2 }, { -12, 45, -8, 2, 6, 2 }, - { -13, 45, -8, 2, 6, 2 }, { -14, 45, -9, 2, 6, 2 }, { -15, 46, -9, 2, 6, 2 }, { -16, 46, -10, 2, 6, 2 }, { -17, 46, -10, 2, 6, 2 }, - { -18, 47, -11, 2, 6, 2 }, { -19, 47, -11, 2, 6, 2 }, { -20, 47, -12, 1, 6, 2 }, { -21, 47, -12, 1, 6, 2 }, { -22, 47, -12, 1, 6, 2 }, - { -23, 47, -13, 1, 6, 2 }, { -24, 48, -13, 1, 6, 2 }, { -25, 48, -14, 1, 6, 2 }, { -26, 48, -14, 1, 6, 2 }, { -27, 48, -14, 1, 6, 2 }, - { -28, 48, -15, 0, 6, 2 }, { -29, 48, -15, 0, 6, 2 }, { -30, 48, -16, 0, 6, 2 }, { -31, 48, -17, 0, 6, 2 }, + 69, { + { 16, 0, 15, 8, 6, 2 }, { 16, 1, 15, 8, 6, 2 }, { 16, 2, 15, 8, 6, 2 }, { 16, 3, 14, 8, 6, 2 }, { 16, 4, 14, 8, 6, 2 }, + { 16, 5, 13, 7, 6, 2 }, { 16, 6, 13, 7, 6, 2 }, { 15, 7, 13, 7, 6, 2 }, { 15, 8, 12, 7, 6, 2 }, { 15, 9, 12, 7, 6, 2 }, + { 15, 10, 11, 7, 6, 2 }, { 15, 11, 11, 7, 6, 2 }, { 15, 12, 11, 7, 6, 2 }, { 14, 13, 10, 7, 6, 2 }, { 14, 14, 10, 6, 6, 2 }, + { 14, 15, 9, 6, 6, 2 }, { 13, 16, 9, 6, 6, 2 }, { 13, 17, 8, 6, 6, 2 }, { 13, 18, 8, 6, 6, 2 }, { 12, 19, 7, 6, 6, 2 }, + { 12, 20, 7, 6, 6, 2 }, { 11, 21, 6, 6, 6, 2 }, { 11, 22, 6, 6, 6, 2 }, { 10, 23, 5, 6, 6, 2 }, { 10, 24, 5, 5, 6, 2 }, + { 9, 25, 4, 5, 6, 2 }, { 9, 26, 4, 5, 6, 2 }, { 8, 27, 4, 5, 6, 2 }, { 7, 28, 3, 5, 6, 2 }, { 7, 29, 2, 5, 6, 2 }, + { 6, 30, 2, 5, 6, 2 }, { 5, 31, 1, 5, 6, 2 }, { 4, 32, 1, 5, 6, 2 }, { 3, 33, 0, 4, 6, 2 }, { 3, 35, 0, 4, 6, 2 }, + { 2, 36, -1, 4, 6, 2 }, { 1, 37, -1, 4, 6, 2 }, { 0, 38, -2, 4, 6, 2 }, { -1, 39, -2, 3, 6, 2 }, { -2, 39, -3, 3, 6, 2 }, + { -3, 40, -3, 3, 6, 2 }, { -4, 41, -4, 3, 6, 2 }, { -5, 41, -5, 3, 6, 2 }, { -6, 42, -5, 3, 6, 2 }, { -7, 42, -5, 3, 6, 2 }, + { -8, 43, -6, 3, 6, 2 }, { -9, 43, -6, 3, 6, 2 }, { -10, 44, -7, 2, 6, 2 }, { -11, 44, -7, 2, 6, 2 }, { -12, 45, -8, 2, 6, 2 }, + { -13, 45, -8, 2, 6, 2 }, { -14, 45, -9, 2, 6, 2 }, { -15, 46, -9, 2, 6, 2 }, { -16, 46, -10, 2, 6, 2 }, { -17, 46, -10, 2, 6, 2 }, + { -18, 47, -11, 2, 6, 2 }, { -19, 47, -11, 2, 6, 2 }, { -20, 47, -12, 1, 6, 2 }, { -21, 47, -12, 1, 6, 2 }, { -22, 47, -12, 1, 6, 2 }, + { -23, 47, -13, 1, 6, 2 }, { -24, 48, -13, 1, 6, 2 }, { -25, 48, -14, 1, 6, 2 }, { -26, 48, -14, 1, 6, 2 }, { -27, 48, -14, 1, 6, 2 }, + { -28, 48, -15, 0, 6, 2 }, { -29, 48, -15, 0, 6, 2 }, { -30, 48, -16, 0, 6, 2 }, { -31, 48, -17, 0, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95FD93 = { - 68, { - { 0, 16, 15, 16, 6, 2 }, { 1, 16, 15, 16, 6, 2 }, { 2, 16, 15, 16, 6, 2 }, { 3, 16, 14, 16, 6, 2 }, { 4, 16, 14, 16, 6, 2 }, - { 5, 16, 13, 15, 6, 2 }, { 6, 16, 13, 15, 6, 2 }, { 7, 17, 13, 15, 6, 2 }, { 8, 17, 12, 15, 6, 2 }, { 9, 17, 12, 15, 6, 2 }, - { 10, 17, 11, 15, 6, 2 }, { 11, 17, 11, 15, 6, 2 }, { 12, 17, 10, 15, 6, 2 }, { 13, 18, 10, 15, 6, 2 }, { 14, 18, 9, 14, 6, 2 }, - { 15, 18, 9, 14, 6, 2 }, { 16, 19, 9, 14, 6, 2 }, { 17, 19, 8, 14, 6, 2 }, { 18, 19, 8, 14, 6, 2 }, { 19, 20, 7, 14, 6, 2 }, - { 20, 20, 7, 14, 6, 2 }, { 21, 21, 6, 14, 6, 2 }, { 22, 21, 6, 14, 6, 2 }, { 23, 22, 5, 14, 6, 2 }, { 24, 22, 5, 13, 6, 2 }, - { 25, 23, 4, 13, 6, 2 }, { 26, 23, 4, 13, 6, 2 }, { 27, 24, 3, 13, 6, 2 }, { 28, 25, 3, 13, 6, 2 }, { 29, 25, 2, 13, 6, 2 }, - { 30, 26, 2, 13, 6, 2 }, { 31, 27, 1, 13, 6, 2 }, { 32, 28, 1, 13, 6, 2 }, { 33, 29, 0, 12, 6, 2 }, { 35, 29, -1, 12, 6, 2 }, - { 36, 30, -1, 12, 6, 2 }, { 37, 31, -1, 12, 6, 2 }, { 38, 32, -2, 12, 6, 2 }, { 39, 33, -3, 11, 6, 2 }, { 39, 34, -3, 11, 6, 2 }, - { 40, 35, -4, 11, 6, 2 }, { 41, 36, -4, 11, 6, 2 }, { 41, 37, -5, 11, 6, 2 }, { 42, 38, -5, 11, 6, 2 }, { 42, 39, -6, 11, 6, 2 }, - { 43, 40, -6, 11, 6, 2 }, { 43, 41, -7, 11, 6, 2 }, { 44, 42, -7, 10, 6, 2 }, { 44, 43, -8, 10, 6, 2 }, { 45, 44, -8, 10, 6, 2 }, - { 45, 45, -9, 10, 6, 2 }, { 45, 46, -9, 10, 6, 2 }, { 46, 47, -9, 10, 6, 2 }, { 46, 48, -10, 10, 6, 2 }, { 46, 49, -10, 10, 6, 2 }, - { 47, 50, -11, 10, 6, 2 }, { 47, 51, -11, 10, 6, 2 }, { 47, 52, -12, 9, 6, 2 }, { 47, 53, -12, 9, 6, 2 }, { 47, 54, -13, 9, 6, 2 }, - { 47, 55, -13, 9, 6, 2 }, { 48, 56, -13, 9, 6, 2 }, { 48, 57, -14, 9, 6, 2 }, { 48, 58, -14, 9, 6, 2 }, { 48, 59, -15, 9, 6, 2 }, - { 48, 60, -15, 8, 6, 2 }, { 48, 61, -16, 8, 6, 2 }, { 48, 62, -16, 8, 6, 2 }, + 68, { + { 0, 16, 15, 16, 6, 2 }, { 1, 16, 15, 16, 6, 2 }, { 2, 16, 15, 16, 6, 2 }, { 3, 16, 14, 16, 6, 2 }, { 4, 16, 14, 16, 6, 2 }, + { 5, 16, 13, 15, 6, 2 }, { 6, 16, 13, 15, 6, 2 }, { 7, 17, 13, 15, 6, 2 }, { 8, 17, 12, 15, 6, 2 }, { 9, 17, 12, 15, 6, 2 }, + { 10, 17, 11, 15, 6, 2 }, { 11, 17, 11, 15, 6, 2 }, { 12, 17, 10, 15, 6, 2 }, { 13, 18, 10, 15, 6, 2 }, { 14, 18, 9, 14, 6, 2 }, + { 15, 18, 9, 14, 6, 2 }, { 16, 19, 9, 14, 6, 2 }, { 17, 19, 8, 14, 6, 2 }, { 18, 19, 8, 14, 6, 2 }, { 19, 20, 7, 14, 6, 2 }, + { 20, 20, 7, 14, 6, 2 }, { 21, 21, 6, 14, 6, 2 }, { 22, 21, 6, 14, 6, 2 }, { 23, 22, 5, 14, 6, 2 }, { 24, 22, 5, 13, 6, 2 }, + { 25, 23, 4, 13, 6, 2 }, { 26, 23, 4, 13, 6, 2 }, { 27, 24, 3, 13, 6, 2 }, { 28, 25, 3, 13, 6, 2 }, { 29, 25, 2, 13, 6, 2 }, + { 30, 26, 2, 13, 6, 2 }, { 31, 27, 1, 13, 6, 2 }, { 32, 28, 1, 13, 6, 2 }, { 33, 29, 0, 12, 6, 2 }, { 35, 29, -1, 12, 6, 2 }, + { 36, 30, -1, 12, 6, 2 }, { 37, 31, -1, 12, 6, 2 }, { 38, 32, -2, 12, 6, 2 }, { 39, 33, -3, 11, 6, 2 }, { 39, 34, -3, 11, 6, 2 }, + { 40, 35, -4, 11, 6, 2 }, { 41, 36, -4, 11, 6, 2 }, { 41, 37, -5, 11, 6, 2 }, { 42, 38, -5, 11, 6, 2 }, { 42, 39, -6, 11, 6, 2 }, + { 43, 40, -6, 11, 6, 2 }, { 43, 41, -7, 11, 6, 2 }, { 44, 42, -7, 10, 6, 2 }, { 44, 43, -8, 10, 6, 2 }, { 45, 44, -8, 10, 6, 2 }, + { 45, 45, -9, 10, 6, 2 }, { 45, 46, -9, 10, 6, 2 }, { 46, 47, -9, 10, 6, 2 }, { 46, 48, -10, 10, 6, 2 }, { 46, 49, -10, 10, 6, 2 }, + { 47, 50, -11, 10, 6, 2 }, { 47, 51, -11, 10, 6, 2 }, { 47, 52, -12, 9, 6, 2 }, { 47, 53, -12, 9, 6, 2 }, { 47, 54, -13, 9, 6, 2 }, + { 47, 55, -13, 9, 6, 2 }, { 48, 56, -13, 9, 6, 2 }, { 48, 57, -14, 9, 6, 2 }, { 48, 58, -14, 9, 6, 2 }, { 48, 59, -15, 9, 6, 2 }, + { 48, 60, -15, 8, 6, 2 }, { 48, 61, -16, 8, 6, 2 }, { 48, 62, -16, 8, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95FFF9 = { - 67, { - { 16, 31, 15, 24, 6, 2 }, { 16, 30, 15, 24, 6, 2 }, { 16, 29, 14, 24, 6, 2 }, { 16, 28, 14, 24, 6, 2 }, { 16, 27, 13, 23, 6, 2 }, - { 16, 26, 13, 23, 6, 2 }, { 17, 25, 13, 23, 6, 2 }, { 17, 24, 12, 23, 6, 2 }, { 17, 23, 12, 23, 6, 2 }, { 17, 22, 11, 23, 6, 2 }, - { 17, 21, 11, 23, 6, 2 }, { 17, 20, 10, 23, 6, 2 }, { 18, 19, 10, 23, 6, 2 }, { 18, 18, 9, 22, 6, 2 }, { 18, 17, 9, 22, 6, 2 }, - { 19, 16, 9, 22, 6, 2 }, { 19, 15, 8, 22, 6, 2 }, { 19, 14, 8, 22, 6, 2 }, { 20, 13, 7, 22, 6, 2 }, { 20, 12, 7, 22, 6, 2 }, - { 21, 11, 6, 22, 6, 2 }, { 21, 10, 6, 22, 6, 2 }, { 22, 9, 5, 22, 6, 2 }, { 22, 8, 5, 21, 6, 2 }, { 23, 7, 4, 21, 6, 2 }, - { 23, 6, 4, 21, 6, 2 }, { 24, 5, 3, 21, 6, 2 }, { 25, 4, 3, 21, 6, 2 }, { 25, 3, 2, 21, 6, 2 }, { 26, 2, 2, 21, 6, 2 }, - { 27, 1, 1, 21, 6, 2 }, { 28, 0, 1, 21, 6, 2 }, { 29, -1, 0, 20, 6, 2 }, { 29, -3, -1, 20, 6, 2 }, { 30, -4, -1, 20, 6, 2 }, - { 31, -5, -1, 20, 6, 2 }, { 32, -6, -2, 20, 6, 2 }, { 33, -7, -3, 19, 6, 2 }, { 34, -7, -3, 19, 6, 2 }, { 35, -8, -4, 19, 6, 2 }, - { 36, -9, -4, 19, 6, 2 }, { 37, -9, -5, 19, 6, 2 }, { 38, -10, -5, 19, 6, 2 }, { 39, -10, -6, 19, 6, 2 }, { 40, -11, -6, 19, 6, 2 }, - { 41, -11, -7, 19, 6, 2 }, { 42, -12, -7, 18, 6, 2 }, { 43, -12, -8, 18, 6, 2 }, { 44, -13, -8, 18, 6, 2 }, { 45, -13, -9, 18, 6, 2 }, - { 46, -13, -9, 18, 6, 2 }, { 47, -14, -9, 18, 6, 2 }, { 48, -14, -10, 18, 6, 2 }, { 49, -14, -10, 18, 6, 2 }, { 50, -15, -11, 18, 6, 2 }, - { 51, -15, -11, 18, 6, 2 }, { 52, -15, -12, 17, 6, 2 }, { 53, -15, -12, 17, 6, 2 }, { 54, -15, -13, 17, 6, 2 }, { 55, -15, -13, 17, 6, 2 }, - { 56, -16, -13, 17, 6, 2 }, { 57, -16, -14, 17, 6, 2 }, { 58, -16, -14, 17, 6, 2 }, { 59, -16, -15, 17, 6, 2 }, { 60, -16, -15, 16, 6, 2 }, - { 61, -16, -16, 16, 6, 2 }, { 62, -16, -16, 16, 6, 2 }, + 67, { + { 16, 31, 15, 24, 6, 2 }, { 16, 30, 15, 24, 6, 2 }, { 16, 29, 14, 24, 6, 2 }, { 16, 28, 14, 24, 6, 2 }, { 16, 27, 13, 23, 6, 2 }, + { 16, 26, 13, 23, 6, 2 }, { 17, 25, 13, 23, 6, 2 }, { 17, 24, 12, 23, 6, 2 }, { 17, 23, 12, 23, 6, 2 }, { 17, 22, 11, 23, 6, 2 }, + { 17, 21, 11, 23, 6, 2 }, { 17, 20, 10, 23, 6, 2 }, { 18, 19, 10, 23, 6, 2 }, { 18, 18, 9, 22, 6, 2 }, { 18, 17, 9, 22, 6, 2 }, + { 19, 16, 9, 22, 6, 2 }, { 19, 15, 8, 22, 6, 2 }, { 19, 14, 8, 22, 6, 2 }, { 20, 13, 7, 22, 6, 2 }, { 20, 12, 7, 22, 6, 2 }, + { 21, 11, 6, 22, 6, 2 }, { 21, 10, 6, 22, 6, 2 }, { 22, 9, 5, 22, 6, 2 }, { 22, 8, 5, 21, 6, 2 }, { 23, 7, 4, 21, 6, 2 }, + { 23, 6, 4, 21, 6, 2 }, { 24, 5, 3, 21, 6, 2 }, { 25, 4, 3, 21, 6, 2 }, { 25, 3, 2, 21, 6, 2 }, { 26, 2, 2, 21, 6, 2 }, + { 27, 1, 1, 21, 6, 2 }, { 28, 0, 1, 21, 6, 2 }, { 29, -1, 0, 20, 6, 2 }, { 29, -3, -1, 20, 6, 2 }, { 30, -4, -1, 20, 6, 2 }, + { 31, -5, -1, 20, 6, 2 }, { 32, -6, -2, 20, 6, 2 }, { 33, -7, -3, 19, 6, 2 }, { 34, -7, -3, 19, 6, 2 }, { 35, -8, -4, 19, 6, 2 }, + { 36, -9, -4, 19, 6, 2 }, { 37, -9, -5, 19, 6, 2 }, { 38, -10, -5, 19, 6, 2 }, { 39, -10, -6, 19, 6, 2 }, { 40, -11, -6, 19, 6, 2 }, + { 41, -11, -7, 19, 6, 2 }, { 42, -12, -7, 18, 6, 2 }, { 43, -12, -8, 18, 6, 2 }, { 44, -13, -8, 18, 6, 2 }, { 45, -13, -9, 18, 6, 2 }, + { 46, -13, -9, 18, 6, 2 }, { 47, -14, -9, 18, 6, 2 }, { 48, -14, -10, 18, 6, 2 }, { 49, -14, -10, 18, 6, 2 }, { 50, -15, -11, 18, 6, 2 }, + { 51, -15, -11, 18, 6, 2 }, { 52, -15, -12, 17, 6, 2 }, { 53, -15, -12, 17, 6, 2 }, { 54, -15, -13, 17, 6, 2 }, { 55, -15, -13, 17, 6, 2 }, + { 56, -16, -13, 17, 6, 2 }, { 57, -16, -14, 17, 6, 2 }, { 58, -16, -14, 17, 6, 2 }, { 59, -16, -15, 17, 6, 2 }, { 60, -16, -15, 16, 6, 2 }, + { 61, -16, -16, 16, 6, 2 }, { 62, -16, -16, 16, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_960256 = { - 67, { - { 31, 16, 15, 0, 6, 4 }, { 30, 16, 15, 0, 6, 4 }, { 29, 16, 14, 0, 6, 4 }, { 28, 16, 14, 0, 6, 4 }, { 27, 16, 13, 1, 6, 4 }, - { 26, 16, 13, 1, 6, 4 }, { 25, 17, 13, 1, 6, 4 }, { 24, 17, 12, 1, 6, 4 }, { 23, 17, 12, 1, 6, 4 }, { 22, 17, 11, 1, 6, 4 }, - { 21, 17, 11, 1, 6, 4 }, { 20, 17, 10, 1, 6, 4 }, { 19, 18, 10, 1, 6, 4 }, { 18, 18, 9, 2, 6, 4 }, { 17, 18, 9, 2, 6, 4 }, - { 16, 19, 9, 2, 6, 4 }, { 15, 19, 8, 2, 6, 4 }, { 14, 19, 8, 2, 6, 4 }, { 13, 20, 7, 2, 6, 4 }, { 12, 20, 7, 2, 6, 4 }, - { 11, 21, 6, 2, 6, 4 }, { 10, 21, 6, 2, 6, 4 }, { 9, 22, 5, 2, 6, 4 }, { 8, 22, 5, 3, 6, 4 }, { 7, 23, 4, 3, 6, 4 }, - { 6, 23, 4, 3, 6, 4 }, { 5, 24, 3, 3, 6, 4 }, { 4, 25, 3, 3, 6, 4 }, { 3, 25, 2, 3, 6, 4 }, { 2, 26, 2, 3, 6, 4 }, - { 1, 27, 1, 3, 6, 4 }, { 0, 28, 1, 3, 6, 4 }, { -1, 29, 0, 4, 6, 4 }, { -3, 29, -1, 4, 6, 4 }, { -4, 30, -1, 4, 6, 4 }, - { -5, 31, -1, 4, 6, 4 }, { -6, 32, -2, 4, 6, 4 }, { -7, 33, -3, 5, 6, 4 }, { -7, 34, -3, 5, 6, 4 }, { -8, 35, -4, 5, 6, 4 }, - { -9, 36, -4, 5, 6, 4 }, { -9, 37, -5, 5, 6, 4 }, { -10, 38, -5, 5, 6, 4 }, { -10, 39, -6, 5, 6, 4 }, { -11, 40, -6, 5, 6, 4 }, - { -11, 41, -7, 5, 6, 4 }, { -12, 42, -7, 6, 6, 4 }, { -12, 43, -8, 6, 6, 4 }, { -13, 44, -8, 6, 6, 4 }, { -13, 45, -9, 6, 6, 4 }, - { -13, 46, -9, 6, 6, 4 }, { -14, 47, -9, 6, 6, 4 }, { -14, 48, -10, 6, 6, 4 }, { -14, 49, -10, 6, 6, 4 }, { -15, 50, -11, 6, 6, 4 }, - { -15, 51, -11, 6, 6, 4 }, { -15, 52, -12, 7, 6, 4 }, { -15, 53, -12, 7, 6, 4 }, { -15, 54, -13, 7, 6, 4 }, { -15, 55, -13, 7, 6, 4 }, - { -16, 56, -13, 7, 6, 4 }, { -16, 57, -14, 7, 6, 4 }, { -16, 58, -14, 7, 6, 4 }, { -16, 59, -15, 7, 6, 4 }, { -16, 60, -15, 8, 6, 4 }, - { -16, 61, -16, 8, 6, 4 }, { -16, 62, -16, 8, 6, 4 }, + 67, { + { 31, 16, 15, 0, 6, 4 }, { 30, 16, 15, 0, 6, 4 }, { 29, 16, 14, 0, 6, 4 }, { 28, 16, 14, 0, 6, 4 }, { 27, 16, 13, 1, 6, 4 }, + { 26, 16, 13, 1, 6, 4 }, { 25, 17, 13, 1, 6, 4 }, { 24, 17, 12, 1, 6, 4 }, { 23, 17, 12, 1, 6, 4 }, { 22, 17, 11, 1, 6, 4 }, + { 21, 17, 11, 1, 6, 4 }, { 20, 17, 10, 1, 6, 4 }, { 19, 18, 10, 1, 6, 4 }, { 18, 18, 9, 2, 6, 4 }, { 17, 18, 9, 2, 6, 4 }, + { 16, 19, 9, 2, 6, 4 }, { 15, 19, 8, 2, 6, 4 }, { 14, 19, 8, 2, 6, 4 }, { 13, 20, 7, 2, 6, 4 }, { 12, 20, 7, 2, 6, 4 }, + { 11, 21, 6, 2, 6, 4 }, { 10, 21, 6, 2, 6, 4 }, { 9, 22, 5, 2, 6, 4 }, { 8, 22, 5, 3, 6, 4 }, { 7, 23, 4, 3, 6, 4 }, + { 6, 23, 4, 3, 6, 4 }, { 5, 24, 3, 3, 6, 4 }, { 4, 25, 3, 3, 6, 4 }, { 3, 25, 2, 3, 6, 4 }, { 2, 26, 2, 3, 6, 4 }, + { 1, 27, 1, 3, 6, 4 }, { 0, 28, 1, 3, 6, 4 }, { -1, 29, 0, 4, 6, 4 }, { -3, 29, -1, 4, 6, 4 }, { -4, 30, -1, 4, 6, 4 }, + { -5, 31, -1, 4, 6, 4 }, { -6, 32, -2, 4, 6, 4 }, { -7, 33, -3, 5, 6, 4 }, { -7, 34, -3, 5, 6, 4 }, { -8, 35, -4, 5, 6, 4 }, + { -9, 36, -4, 5, 6, 4 }, { -9, 37, -5, 5, 6, 4 }, { -10, 38, -5, 5, 6, 4 }, { -10, 39, -6, 5, 6, 4 }, { -11, 40, -6, 5, 6, 4 }, + { -11, 41, -7, 5, 6, 4 }, { -12, 42, -7, 6, 6, 4 }, { -12, 43, -8, 6, 6, 4 }, { -13, 44, -8, 6, 6, 4 }, { -13, 45, -9, 6, 6, 4 }, + { -13, 46, -9, 6, 6, 4 }, { -14, 47, -9, 6, 6, 4 }, { -14, 48, -10, 6, 6, 4 }, { -14, 49, -10, 6, 6, 4 }, { -15, 50, -11, 6, 6, 4 }, + { -15, 51, -11, 6, 6, 4 }, { -15, 52, -12, 7, 6, 4 }, { -15, 53, -12, 7, 6, 4 }, { -15, 54, -13, 7, 6, 4 }, { -15, 55, -13, 7, 6, 4 }, + { -16, 56, -13, 7, 6, 4 }, { -16, 57, -14, 7, 6, 4 }, { -16, 58, -14, 7, 6, 4 }, { -16, 59, -15, 7, 6, 4 }, { -16, 60, -15, 8, 6, 4 }, + { -16, 61, -16, 8, 6, 4 }, { -16, 62, -16, 8, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9604B3 = { - 68, { - { 16, 0, 15, 8, 6, 4 }, { 16, 1, 15, 8, 6, 4 }, { 16, 2, 15, 8, 6, 4 }, { 16, 3, 14, 8, 6, 4 }, { 16, 4, 14, 8, 6, 4 }, - { 16, 5, 13, 9, 6, 4 }, { 16, 6, 13, 9, 6, 4 }, { 17, 7, 13, 9, 6, 4 }, { 17, 8, 12, 9, 6, 4 }, { 17, 9, 12, 9, 6, 4 }, - { 17, 10, 11, 9, 6, 4 }, { 17, 11, 11, 9, 6, 4 }, { 17, 12, 10, 9, 6, 4 }, { 18, 13, 10, 9, 6, 4 }, { 18, 14, 9, 10, 6, 4 }, - { 18, 15, 9, 10, 6, 4 }, { 19, 16, 9, 10, 6, 4 }, { 19, 17, 8, 10, 6, 4 }, { 19, 18, 8, 10, 6, 4 }, { 20, 19, 7, 10, 6, 4 }, - { 20, 20, 7, 10, 6, 4 }, { 21, 21, 6, 10, 6, 4 }, { 21, 22, 6, 10, 6, 4 }, { 22, 23, 5, 10, 6, 4 }, { 22, 24, 5, 11, 6, 4 }, - { 23, 25, 4, 11, 6, 4 }, { 23, 26, 4, 11, 6, 4 }, { 24, 27, 3, 11, 6, 4 }, { 25, 28, 3, 11, 6, 4 }, { 25, 29, 2, 11, 6, 4 }, - { 26, 30, 2, 11, 6, 4 }, { 27, 31, 1, 11, 6, 4 }, { 28, 32, 1, 11, 6, 4 }, { 29, 33, 0, 12, 6, 4 }, { 29, 35, -1, 12, 6, 4 }, - { 30, 36, -1, 12, 6, 4 }, { 31, 37, -1, 12, 6, 4 }, { 32, 38, -2, 12, 6, 4 }, { 33, 39, -3, 13, 6, 4 }, { 34, 39, -3, 13, 6, 4 }, - { 35, 40, -4, 13, 6, 4 }, { 36, 41, -4, 13, 6, 4 }, { 37, 41, -5, 13, 6, 4 }, { 38, 42, -5, 13, 6, 4 }, { 39, 42, -6, 13, 6, 4 }, - { 40, 43, -6, 13, 6, 4 }, { 41, 43, -7, 13, 6, 4 }, { 42, 44, -7, 14, 6, 4 }, { 43, 44, -8, 14, 6, 4 }, { 44, 45, -8, 14, 6, 4 }, - { 45, 45, -9, 14, 6, 4 }, { 46, 45, -9, 14, 6, 4 }, { 47, 46, -9, 14, 6, 4 }, { 48, 46, -10, 14, 6, 4 }, { 49, 46, -10, 14, 6, 4 }, - { 50, 47, -11, 14, 6, 4 }, { 51, 47, -11, 14, 6, 4 }, { 52, 47, -12, 15, 6, 4 }, { 53, 47, -12, 15, 6, 4 }, { 54, 47, -13, 15, 6, 4 }, - { 55, 47, -13, 15, 6, 4 }, { 56, 48, -13, 15, 6, 4 }, { 57, 48, -14, 15, 6, 4 }, { 58, 48, -14, 15, 6, 4 }, { 59, 48, -15, 15, 6, 4 }, - { 60, 48, -15, 16, 6, 4 }, { 61, 48, -16, 16, 6, 4 }, { 62, 48, -16, 16, 6, 4 }, + 68, { + { 16, 0, 15, 8, 6, 4 }, { 16, 1, 15, 8, 6, 4 }, { 16, 2, 15, 8, 6, 4 }, { 16, 3, 14, 8, 6, 4 }, { 16, 4, 14, 8, 6, 4 }, + { 16, 5, 13, 9, 6, 4 }, { 16, 6, 13, 9, 6, 4 }, { 17, 7, 13, 9, 6, 4 }, { 17, 8, 12, 9, 6, 4 }, { 17, 9, 12, 9, 6, 4 }, + { 17, 10, 11, 9, 6, 4 }, { 17, 11, 11, 9, 6, 4 }, { 17, 12, 10, 9, 6, 4 }, { 18, 13, 10, 9, 6, 4 }, { 18, 14, 9, 10, 6, 4 }, + { 18, 15, 9, 10, 6, 4 }, { 19, 16, 9, 10, 6, 4 }, { 19, 17, 8, 10, 6, 4 }, { 19, 18, 8, 10, 6, 4 }, { 20, 19, 7, 10, 6, 4 }, + { 20, 20, 7, 10, 6, 4 }, { 21, 21, 6, 10, 6, 4 }, { 21, 22, 6, 10, 6, 4 }, { 22, 23, 5, 10, 6, 4 }, { 22, 24, 5, 11, 6, 4 }, + { 23, 25, 4, 11, 6, 4 }, { 23, 26, 4, 11, 6, 4 }, { 24, 27, 3, 11, 6, 4 }, { 25, 28, 3, 11, 6, 4 }, { 25, 29, 2, 11, 6, 4 }, + { 26, 30, 2, 11, 6, 4 }, { 27, 31, 1, 11, 6, 4 }, { 28, 32, 1, 11, 6, 4 }, { 29, 33, 0, 12, 6, 4 }, { 29, 35, -1, 12, 6, 4 }, + { 30, 36, -1, 12, 6, 4 }, { 31, 37, -1, 12, 6, 4 }, { 32, 38, -2, 12, 6, 4 }, { 33, 39, -3, 13, 6, 4 }, { 34, 39, -3, 13, 6, 4 }, + { 35, 40, -4, 13, 6, 4 }, { 36, 41, -4, 13, 6, 4 }, { 37, 41, -5, 13, 6, 4 }, { 38, 42, -5, 13, 6, 4 }, { 39, 42, -6, 13, 6, 4 }, + { 40, 43, -6, 13, 6, 4 }, { 41, 43, -7, 13, 6, 4 }, { 42, 44, -7, 14, 6, 4 }, { 43, 44, -8, 14, 6, 4 }, { 44, 45, -8, 14, 6, 4 }, + { 45, 45, -9, 14, 6, 4 }, { 46, 45, -9, 14, 6, 4 }, { 47, 46, -9, 14, 6, 4 }, { 48, 46, -10, 14, 6, 4 }, { 49, 46, -10, 14, 6, 4 }, + { 50, 47, -11, 14, 6, 4 }, { 51, 47, -11, 14, 6, 4 }, { 52, 47, -12, 15, 6, 4 }, { 53, 47, -12, 15, 6, 4 }, { 54, 47, -13, 15, 6, 4 }, + { 55, 47, -13, 15, 6, 4 }, { 56, 48, -13, 15, 6, 4 }, { 57, 48, -14, 15, 6, 4 }, { 58, 48, -14, 15, 6, 4 }, { 59, 48, -15, 15, 6, 4 }, + { 60, 48, -15, 16, 6, 4 }, { 61, 48, -16, 16, 6, 4 }, { 62, 48, -16, 16, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_960719 = { - 69, { - { 0, 16, 15, 16, 6, 4 }, { 1, 16, 15, 16, 6, 4 }, { 2, 16, 15, 16, 6, 4 }, { 3, 16, 14, 16, 6, 4 }, { 4, 16, 14, 16, 6, 4 }, - { 5, 16, 13, 17, 6, 4 }, { 6, 16, 13, 17, 6, 4 }, { 7, 15, 13, 17, 6, 4 }, { 8, 15, 12, 17, 6, 4 }, { 9, 15, 12, 17, 6, 4 }, - { 10, 15, 11, 17, 6, 4 }, { 11, 15, 11, 17, 6, 4 }, { 12, 15, 11, 17, 6, 4 }, { 13, 14, 10, 17, 6, 4 }, { 14, 14, 10, 18, 6, 4 }, - { 15, 14, 9, 18, 6, 4 }, { 16, 13, 9, 18, 6, 4 }, { 17, 13, 8, 18, 6, 4 }, { 18, 13, 8, 18, 6, 4 }, { 19, 12, 7, 18, 6, 4 }, - { 20, 12, 7, 18, 6, 4 }, { 21, 11, 6, 18, 6, 4 }, { 22, 11, 6, 18, 6, 4 }, { 23, 10, 5, 18, 6, 4 }, { 24, 10, 5, 19, 6, 4 }, - { 25, 9, 4, 19, 6, 4 }, { 26, 9, 4, 19, 6, 4 }, { 27, 8, 4, 19, 6, 4 }, { 28, 7, 3, 19, 6, 4 }, { 29, 7, 2, 19, 6, 4 }, - { 30, 6, 2, 19, 6, 4 }, { 31, 5, 1, 19, 6, 4 }, { 32, 4, 1, 19, 6, 4 }, { 33, 3, 0, 20, 6, 4 }, { 35, 3, 0, 20, 6, 4 }, - { 36, 2, -1, 20, 6, 4 }, { 37, 1, -1, 20, 6, 4 }, { 38, 0, -2, 20, 6, 4 }, { 39, -1, -2, 21, 6, 4 }, { 39, -2, -3, 21, 6, 4 }, - { 40, -3, -3, 21, 6, 4 }, { 41, -4, -4, 21, 6, 4 }, { 41, -5, -4, 21, 6, 4 }, { 42, -6, -5, 21, 6, 4 }, { 42, -7, -5, 21, 6, 4 }, - { 43, -8, -6, 21, 6, 4 }, { 43, -9, -6, 21, 6, 4 }, { 44, -10, -7, 22, 6, 4 }, { 44, -11, -7, 22, 6, 4 }, { 45, -12, -8, 22, 6, 4 }, - { 45, -13, -8, 22, 6, 4 }, { 45, -14, -9, 22, 6, 4 }, { 46, -15, -9, 22, 6, 4 }, { 46, -16, -10, 22, 6, 4 }, { 46, -17, -10, 22, 6, 4 }, - { 47, -18, -10, 22, 6, 4 }, { 47, -19, -11, 22, 6, 4 }, { 47, -20, -11, 23, 6, 4 }, { 47, -21, -12, 23, 6, 4 }, { 47, -22, -12, 23, 6, 4 }, - { 47, -23, -13, 23, 6, 4 }, { 48, -24, -13, 23, 6, 4 }, { 48, -25, -14, 23, 6, 4 }, { 48, -26, -14, 23, 6, 4 }, { 48, -27, -14, 23, 6, 4 }, - { 48, -28, -15, 24, 6, 4 }, { 48, -29, -15, 24, 6, 4 }, { 48, -30, -16, 24, 6, 4 }, { 48, -31, -16, 24, 6, 4 }, + 69, { + { 0, 16, 15, 16, 6, 4 }, { 1, 16, 15, 16, 6, 4 }, { 2, 16, 15, 16, 6, 4 }, { 3, 16, 14, 16, 6, 4 }, { 4, 16, 14, 16, 6, 4 }, + { 5, 16, 13, 17, 6, 4 }, { 6, 16, 13, 17, 6, 4 }, { 7, 15, 13, 17, 6, 4 }, { 8, 15, 12, 17, 6, 4 }, { 9, 15, 12, 17, 6, 4 }, + { 10, 15, 11, 17, 6, 4 }, { 11, 15, 11, 17, 6, 4 }, { 12, 15, 11, 17, 6, 4 }, { 13, 14, 10, 17, 6, 4 }, { 14, 14, 10, 18, 6, 4 }, + { 15, 14, 9, 18, 6, 4 }, { 16, 13, 9, 18, 6, 4 }, { 17, 13, 8, 18, 6, 4 }, { 18, 13, 8, 18, 6, 4 }, { 19, 12, 7, 18, 6, 4 }, + { 20, 12, 7, 18, 6, 4 }, { 21, 11, 6, 18, 6, 4 }, { 22, 11, 6, 18, 6, 4 }, { 23, 10, 5, 18, 6, 4 }, { 24, 10, 5, 19, 6, 4 }, + { 25, 9, 4, 19, 6, 4 }, { 26, 9, 4, 19, 6, 4 }, { 27, 8, 4, 19, 6, 4 }, { 28, 7, 3, 19, 6, 4 }, { 29, 7, 2, 19, 6, 4 }, + { 30, 6, 2, 19, 6, 4 }, { 31, 5, 1, 19, 6, 4 }, { 32, 4, 1, 19, 6, 4 }, { 33, 3, 0, 20, 6, 4 }, { 35, 3, 0, 20, 6, 4 }, + { 36, 2, -1, 20, 6, 4 }, { 37, 1, -1, 20, 6, 4 }, { 38, 0, -2, 20, 6, 4 }, { 39, -1, -2, 21, 6, 4 }, { 39, -2, -3, 21, 6, 4 }, + { 40, -3, -3, 21, 6, 4 }, { 41, -4, -4, 21, 6, 4 }, { 41, -5, -4, 21, 6, 4 }, { 42, -6, -5, 21, 6, 4 }, { 42, -7, -5, 21, 6, 4 }, + { 43, -8, -6, 21, 6, 4 }, { 43, -9, -6, 21, 6, 4 }, { 44, -10, -7, 22, 6, 4 }, { 44, -11, -7, 22, 6, 4 }, { 45, -12, -8, 22, 6, 4 }, + { 45, -13, -8, 22, 6, 4 }, { 45, -14, -9, 22, 6, 4 }, { 46, -15, -9, 22, 6, 4 }, { 46, -16, -10, 22, 6, 4 }, { 46, -17, -10, 22, 6, 4 }, + { 47, -18, -10, 22, 6, 4 }, { 47, -19, -11, 22, 6, 4 }, { 47, -20, -11, 23, 6, 4 }, { 47, -21, -12, 23, 6, 4 }, { 47, -22, -12, 23, 6, 4 }, + { 47, -23, -13, 23, 6, 4 }, { 48, -24, -13, 23, 6, 4 }, { 48, -25, -14, 23, 6, 4 }, { 48, -26, -14, 23, 6, 4 }, { 48, -27, -14, 23, 6, 4 }, + { 48, -28, -15, 24, 6, 4 }, { 48, -29, -15, 24, 6, 4 }, { 48, -30, -16, 24, 6, 4 }, { 48, -31, -16, 24, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_960988 = { - 68, { - { 16, 31, 15, 24, 6, 4 }, { 16, 30, 15, 24, 6, 4 }, { 16, 29, 14, 24, 6, 4 }, { 16, 28, 14, 24, 6, 4 }, { 16, 27, 13, 25, 6, 4 }, - { 16, 26, 13, 25, 6, 4 }, { 15, 25, 13, 25, 6, 4 }, { 15, 24, 12, 25, 6, 4 }, { 15, 23, 12, 25, 6, 4 }, { 15, 22, 11, 25, 6, 4 }, - { 15, 21, 11, 25, 6, 4 }, { 15, 20, 11, 25, 6, 4 }, { 14, 19, 10, 25, 6, 4 }, { 14, 18, 10, 26, 6, 4 }, { 14, 17, 9, 26, 6, 4 }, - { 13, 16, 9, 26, 6, 4 }, { 13, 15, 8, 26, 6, 4 }, { 13, 14, 8, 26, 6, 4 }, { 12, 13, 7, 26, 6, 4 }, { 12, 12, 7, 26, 6, 4 }, - { 11, 11, 6, 26, 6, 4 }, { 11, 10, 6, 26, 6, 4 }, { 10, 9, 5, 26, 6, 4 }, { 10, 8, 5, 27, 6, 4 }, { 9, 7, 4, 27, 6, 4 }, - { 9, 6, 4, 27, 6, 4 }, { 8, 5, 4, 27, 6, 4 }, { 7, 4, 3, 27, 6, 4 }, { 7, 3, 2, 27, 6, 4 }, { 6, 2, 2, 27, 6, 4 }, - { 5, 1, 1, 27, 6, 4 }, { 4, 0, 1, 27, 6, 4 }, { 3, -1, 0, 28, 6, 4 }, { 3, -3, 0, 28, 6, 4 }, { 2, -4, -1, 28, 6, 4 }, - { 1, -5, -1, 28, 6, 4 }, { 0, -6, -2, 28, 6, 4 }, { -1, -7, -2, 29, 6, 4 }, { -2, -7, -3, 29, 6, 4 }, { -3, -8, -3, 29, 6, 4 }, - { -4, -9, -4, 29, 6, 4 }, { -5, -9, -4, 29, 6, 4 }, { -6, -10, -5, 29, 6, 4 }, { -7, -10, -5, 29, 6, 4 }, { -8, -11, -6, 29, 6, 4 }, - { -9, -11, -6, 29, 6, 4 }, { -10, -12, -7, 30, 6, 4 }, { -11, -12, -7, 30, 6, 4 }, { -12, -13, -8, 30, 6, 4 }, { -13, -13, -8, 30, 6, 4 }, - { -14, -13, -9, 30, 6, 4 }, { -15, -14, -9, 30, 6, 4 }, { -16, -14, -10, 30, 6, 4 }, { -17, -14, -10, 30, 6, 4 }, { -18, -15, -10, 30, 6, 4 }, - { -19, -15, -11, 30, 6, 4 }, { -20, -15, -11, 31, 6, 4 }, { -21, -15, -12, 31, 6, 4 }, { -22, -15, -12, 31, 6, 4 }, { -23, -15, -13, 31, 6, 4 }, - { -24, -16, -13, 31, 6, 4 }, { -25, -16, -14, 31, 6, 4 }, { -26, -16, -14, 31, 6, 4 }, { -27, -16, -14, 31, 6, 4 }, { -28, -16, -15, 0, 6, 4 }, - { -29, -16, -15, 0, 6, 4 }, { -30, -16, -16, 0, 6, 4 }, { -31, -16, -16, 0, 6, 4 }, + 68, { + { 16, 31, 15, 24, 6, 4 }, { 16, 30, 15, 24, 6, 4 }, { 16, 29, 14, 24, 6, 4 }, { 16, 28, 14, 24, 6, 4 }, { 16, 27, 13, 25, 6, 4 }, + { 16, 26, 13, 25, 6, 4 }, { 15, 25, 13, 25, 6, 4 }, { 15, 24, 12, 25, 6, 4 }, { 15, 23, 12, 25, 6, 4 }, { 15, 22, 11, 25, 6, 4 }, + { 15, 21, 11, 25, 6, 4 }, { 15, 20, 11, 25, 6, 4 }, { 14, 19, 10, 25, 6, 4 }, { 14, 18, 10, 26, 6, 4 }, { 14, 17, 9, 26, 6, 4 }, + { 13, 16, 9, 26, 6, 4 }, { 13, 15, 8, 26, 6, 4 }, { 13, 14, 8, 26, 6, 4 }, { 12, 13, 7, 26, 6, 4 }, { 12, 12, 7, 26, 6, 4 }, + { 11, 11, 6, 26, 6, 4 }, { 11, 10, 6, 26, 6, 4 }, { 10, 9, 5, 26, 6, 4 }, { 10, 8, 5, 27, 6, 4 }, { 9, 7, 4, 27, 6, 4 }, + { 9, 6, 4, 27, 6, 4 }, { 8, 5, 4, 27, 6, 4 }, { 7, 4, 3, 27, 6, 4 }, { 7, 3, 2, 27, 6, 4 }, { 6, 2, 2, 27, 6, 4 }, + { 5, 1, 1, 27, 6, 4 }, { 4, 0, 1, 27, 6, 4 }, { 3, -1, 0, 28, 6, 4 }, { 3, -3, 0, 28, 6, 4 }, { 2, -4, -1, 28, 6, 4 }, + { 1, -5, -1, 28, 6, 4 }, { 0, -6, -2, 28, 6, 4 }, { -1, -7, -2, 29, 6, 4 }, { -2, -7, -3, 29, 6, 4 }, { -3, -8, -3, 29, 6, 4 }, + { -4, -9, -4, 29, 6, 4 }, { -5, -9, -4, 29, 6, 4 }, { -6, -10, -5, 29, 6, 4 }, { -7, -10, -5, 29, 6, 4 }, { -8, -11, -6, 29, 6, 4 }, + { -9, -11, -6, 29, 6, 4 }, { -10, -12, -7, 30, 6, 4 }, { -11, -12, -7, 30, 6, 4 }, { -12, -13, -8, 30, 6, 4 }, { -13, -13, -8, 30, 6, 4 }, + { -14, -13, -9, 30, 6, 4 }, { -15, -14, -9, 30, 6, 4 }, { -16, -14, -10, 30, 6, 4 }, { -17, -14, -10, 30, 6, 4 }, { -18, -15, -10, 30, 6, 4 }, + { -19, -15, -11, 30, 6, 4 }, { -20, -15, -11, 31, 6, 4 }, { -21, -15, -12, 31, 6, 4 }, { -22, -15, -12, 31, 6, 4 }, { -23, -15, -13, 31, 6, 4 }, + { -24, -16, -13, 31, 6, 4 }, { -25, -16, -14, 31, 6, 4 }, { -26, -16, -14, 31, 6, 4 }, { -27, -16, -14, 31, 6, 4 }, { -28, -16, -15, 0, 6, 4 }, + { -29, -16, -15, 0, 6, 4 }, { -30, -16, -16, 0, 6, 4 }, { -31, -16, -16, 0, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95B87E = { - 114, { - { 31, 16, 0, 0, 2, 2 }, { 30, 16, 0, 0, 2, 2 }, { 29, 16, 1, 0, 2, 2 }, { 28, 16, 1, 0, 2, 2 }, { 27, 16, 2, 0, 2, 2 }, - { 26, 16, 2, 0, 2, 2 }, { 25, 16, 3, 0, 2, 2 }, { 24, 16, 3, 31, 2, 2 }, { 23, 15, 4, 31, 2, 2 }, { 22, 15, 4, 31, 2, 2 }, - { 21, 15, 5, 31, 2, 2 }, { 20, 15, 5, 31, 2, 2 }, { 19, 15, 6, 31, 2, 2 }, { 18, 15, 6, 31, 2, 2 }, { 17, 14, 7, 31, 2, 2 }, - { 16, 14, 8, 31, 2, 2 }, { 15, 14, 8, 31, 2, 2 }, { 14, 14, 8, 31, 2, 2 }, { 13, 14, 9, 31, 2, 2 }, { 12, 13, 9, 31, 2, 2 }, - { 11, 13, 10, 31, 2, 2 }, { 10, 13, 11, 30, 2, 2 }, { 9, 13, 11, 30, 2, 2 }, { 8, 12, 12, 30, 2, 2 }, { 7, 12, 12, 30, 2, 2 }, - { 6, 12, 13, 30, 2, 2 }, { 5, 11, 13, 30, 2, 2 }, { 4, 11, 14, 30, 2, 2 }, { 3, 11, 14, 30, 2, 2 }, { 2, 10, 15, 30, 2, 2 }, - { 1, 10, 15, 30, 2, 2 }, { 0, 9, 16, 30, 2, 2 }, { -1, 9, 17, 30, 2, 2 }, { -2, 8, 17, 30, 2, 2 }, { -3, 8, 18, 30, 2, 2 }, - { -4, 7, 18, 30, 2, 2 }, { -5, 7, 19, 29, 2, 2 }, { -6, 6, 19, 29, 2, 2 }, { -7, 6, 20, 29, 2, 2 }, { -8, 5, 21, 29, 2, 2 }, - { -9, 4, 21, 29, 2, 2 }, { -10, 4, 22, 29, 2, 2 }, { -11, 3, 22, 29, 2, 2 }, { -12, 2, 23, 29, 2, 2 }, { -13, 2, 24, 29, 2, 2 }, - { -14, 1, 24, 29, 2, 2 }, { -15, 0, 25, 29, 2, 2 }, { -16, 0, 26, 29, 2, 2 }, { -17, -1, 26, 29, 2, 2 }, { -18, -2, 27, 28, 2, 2 }, - { -19, -3, 27, 28, 2, 2 }, { -20, -3, 28, 28, 2, 2 }, { -21, -4, 29, 28, 2, 2 }, { -22, -5, 29, 28, 2, 2 }, { -23, -6, 30, 28, 2, 2 }, - { -24, -7, 31, 28, 2, 2 }, { -25, -7, 31, 28, 2, 2 }, { -26, -8, 32, 28, 2, 2 }, { -27, -9, 32, 28, 2, 2 }, { -28, -10, 33, 28, 2, 2 }, - { -29, -11, 34, 28, 2, 2 }, { -29, -12, 34, 28, 2, 2 }, { -30, -13, 35, 27, 2, 2 }, { -31, -14, 36, 27, 2, 2 }, { -32, -15, 36, 27, 2, 2 }, - { -32, -16, 37, 27, 2, 2 }, { -33, -17, 37, 27, 2, 2 }, { -34, -18, 38, 27, 2, 2 }, { -34, -19, 39, 27, 2, 2 }, { -35, -20, 39, 27, 2, 2 }, - { -36, -21, 40, 27, 2, 2 }, { -36, -22, 41, 27, 2, 2 }, { -37, -23, 41, 27, 2, 2 }, { -38, -24, 42, 27, 2, 2 }, { -38, -25, 42, 27, 2, 2 }, - { -39, -26, 43, 26, 2, 2 }, { -39, -27, 44, 26, 2, 2 }, { -40, -28, 44, 26, 2, 2 }, { -40, -29, 45, 26, 2, 2 }, { -41, -30, 45, 26, 2, 2 }, - { -41, -31, 46, 26, 2, 2 }, { -42, -32, 46, 26, 2, 2 }, { -42, -33, 47, 26, 2, 2 }, { -43, -34, 48, 26, 2, 2 }, { -43, -35, 48, 26, 2, 2 }, - { -43, -36, 49, 26, 2, 2 }, { -44, -37, 49, 26, 2, 2 }, { -44, -38, 50, 26, 2, 2 }, { -44, -39, 50, 26, 2, 2 }, { -45, -40, 51, 25, 2, 2 }, - { -45, -41, 51, 25, 2, 2 }, { -45, -42, 52, 25, 2, 2 }, { -45, -43, 52, 25, 2, 2 }, { -46, -44, 53, 25, 2, 2 }, { -46, -45, 54, 25, 2, 2 }, - { -46, -46, 54, 25, 2, 2 }, { -46, -47, 55, 25, 2, 2 }, { -46, -48, 55, 25, 2, 2 }, { -47, -49, 55, 25, 2, 2 }, { -47, -50, 56, 25, 2, 2 }, - { -47, -51, 57, 25, 2, 2 }, { -47, -52, 57, 25, 2, 2 }, { -47, -53, 58, 25, 2, 2 }, { -47, -54, 58, 25, 2, 2 }, { -48, -55, 59, 25, 2, 2 }, - { -48, -56, 59, 24, 2, 2 }, { -48, -57, 60, 24, 2, 2 }, { -48, -58, 60, 24, 2, 2 }, { -48, -59, 61, 24, 2, 2 }, { -48, -60, 61, 24, 2, 2 }, - { -48, -61, 62, 24, 2, 2 }, { -48, -62, 62, 24, 2, 2 }, { -48, -63, 63, 24, 2, 2 }, { -48, -64, 64, 24, 2, 2 }, + 114, { + { 31, 16, 0, 0, 2, 2 }, { 30, 16, 0, 0, 2, 2 }, { 29, 16, 1, 0, 2, 2 }, { 28, 16, 1, 0, 2, 2 }, { 27, 16, 2, 0, 2, 2 }, + { 26, 16, 2, 0, 2, 2 }, { 25, 16, 3, 0, 2, 2 }, { 24, 16, 3, 31, 2, 2 }, { 23, 15, 4, 31, 2, 2 }, { 22, 15, 4, 31, 2, 2 }, + { 21, 15, 5, 31, 2, 2 }, { 20, 15, 5, 31, 2, 2 }, { 19, 15, 6, 31, 2, 2 }, { 18, 15, 6, 31, 2, 2 }, { 17, 14, 7, 31, 2, 2 }, + { 16, 14, 8, 31, 2, 2 }, { 15, 14, 8, 31, 2, 2 }, { 14, 14, 8, 31, 2, 2 }, { 13, 14, 9, 31, 2, 2 }, { 12, 13, 9, 31, 2, 2 }, + { 11, 13, 10, 31, 2, 2 }, { 10, 13, 11, 30, 2, 2 }, { 9, 13, 11, 30, 2, 2 }, { 8, 12, 12, 30, 2, 2 }, { 7, 12, 12, 30, 2, 2 }, + { 6, 12, 13, 30, 2, 2 }, { 5, 11, 13, 30, 2, 2 }, { 4, 11, 14, 30, 2, 2 }, { 3, 11, 14, 30, 2, 2 }, { 2, 10, 15, 30, 2, 2 }, + { 1, 10, 15, 30, 2, 2 }, { 0, 9, 16, 30, 2, 2 }, { -1, 9, 17, 30, 2, 2 }, { -2, 8, 17, 30, 2, 2 }, { -3, 8, 18, 30, 2, 2 }, + { -4, 7, 18, 30, 2, 2 }, { -5, 7, 19, 29, 2, 2 }, { -6, 6, 19, 29, 2, 2 }, { -7, 6, 20, 29, 2, 2 }, { -8, 5, 21, 29, 2, 2 }, + { -9, 4, 21, 29, 2, 2 }, { -10, 4, 22, 29, 2, 2 }, { -11, 3, 22, 29, 2, 2 }, { -12, 2, 23, 29, 2, 2 }, { -13, 2, 24, 29, 2, 2 }, + { -14, 1, 24, 29, 2, 2 }, { -15, 0, 25, 29, 2, 2 }, { -16, 0, 26, 29, 2, 2 }, { -17, -1, 26, 29, 2, 2 }, { -18, -2, 27, 28, 2, 2 }, + { -19, -3, 27, 28, 2, 2 }, { -20, -3, 28, 28, 2, 2 }, { -21, -4, 29, 28, 2, 2 }, { -22, -5, 29, 28, 2, 2 }, { -23, -6, 30, 28, 2, 2 }, + { -24, -7, 31, 28, 2, 2 }, { -25, -7, 31, 28, 2, 2 }, { -26, -8, 32, 28, 2, 2 }, { -27, -9, 32, 28, 2, 2 }, { -28, -10, 33, 28, 2, 2 }, + { -29, -11, 34, 28, 2, 2 }, { -29, -12, 34, 28, 2, 2 }, { -30, -13, 35, 27, 2, 2 }, { -31, -14, 36, 27, 2, 2 }, { -32, -15, 36, 27, 2, 2 }, + { -32, -16, 37, 27, 2, 2 }, { -33, -17, 37, 27, 2, 2 }, { -34, -18, 38, 27, 2, 2 }, { -34, -19, 39, 27, 2, 2 }, { -35, -20, 39, 27, 2, 2 }, + { -36, -21, 40, 27, 2, 2 }, { -36, -22, 41, 27, 2, 2 }, { -37, -23, 41, 27, 2, 2 }, { -38, -24, 42, 27, 2, 2 }, { -38, -25, 42, 27, 2, 2 }, + { -39, -26, 43, 26, 2, 2 }, { -39, -27, 44, 26, 2, 2 }, { -40, -28, 44, 26, 2, 2 }, { -40, -29, 45, 26, 2, 2 }, { -41, -30, 45, 26, 2, 2 }, + { -41, -31, 46, 26, 2, 2 }, { -42, -32, 46, 26, 2, 2 }, { -42, -33, 47, 26, 2, 2 }, { -43, -34, 48, 26, 2, 2 }, { -43, -35, 48, 26, 2, 2 }, + { -43, -36, 49, 26, 2, 2 }, { -44, -37, 49, 26, 2, 2 }, { -44, -38, 50, 26, 2, 2 }, { -44, -39, 50, 26, 2, 2 }, { -45, -40, 51, 25, 2, 2 }, + { -45, -41, 51, 25, 2, 2 }, { -45, -42, 52, 25, 2, 2 }, { -45, -43, 52, 25, 2, 2 }, { -46, -44, 53, 25, 2, 2 }, { -46, -45, 54, 25, 2, 2 }, + { -46, -46, 54, 25, 2, 2 }, { -46, -47, 55, 25, 2, 2 }, { -46, -48, 55, 25, 2, 2 }, { -47, -49, 55, 25, 2, 2 }, { -47, -50, 56, 25, 2, 2 }, + { -47, -51, 57, 25, 2, 2 }, { -47, -52, 57, 25, 2, 2 }, { -47, -53, 58, 25, 2, 2 }, { -47, -54, 58, 25, 2, 2 }, { -48, -55, 59, 25, 2, 2 }, + { -48, -56, 59, 24, 2, 2 }, { -48, -57, 60, 24, 2, 2 }, { -48, -58, 60, 24, 2, 2 }, { -48, -59, 61, 24, 2, 2 }, { -48, -60, 61, 24, 2, 2 }, + { -48, -61, 62, 24, 2, 2 }, { -48, -62, 62, 24, 2, 2 }, { -48, -63, 63, 24, 2, 2 }, { -48, -64, 64, 24, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95BC82 = { - 115, { - { 16, 0, 0, 8, 2, 2 }, { 16, 1, 0, 8, 2, 2 }, { 16, 2, 0, 8, 2, 2 }, { 16, 3, 1, 8, 2, 2 }, { 16, 4, 1, 8, 2, 2 }, - { 16, 5, 2, 8, 2, 2 }, { 16, 6, 2, 8, 2, 2 }, { 16, 7, 3, 8, 2, 2 }, { 16, 8, 3, 7, 2, 2 }, { 15, 9, 4, 7, 2, 2 }, - { 15, 10, 4, 7, 2, 2 }, { 15, 11, 5, 7, 2, 2 }, { 15, 12, 5, 7, 2, 2 }, { 15, 13, 6, 7, 2, 2 }, { 15, 14, 6, 7, 2, 2 }, - { 14, 15, 7, 7, 2, 2 }, { 14, 16, 8, 7, 2, 2 }, { 14, 17, 8, 7, 2, 2 }, { 14, 18, 8, 7, 2, 2 }, { 14, 19, 9, 7, 2, 2 }, - { 13, 20, 9, 7, 2, 2 }, { 13, 21, 10, 7, 2, 2 }, { 13, 22, 11, 6, 2, 2 }, { 13, 23, 11, 6, 2, 2 }, { 12, 24, 12, 6, 2, 2 }, - { 12, 25, 12, 6, 2, 2 }, { 12, 26, 13, 6, 2, 2 }, { 11, 27, 13, 6, 2, 2 }, { 11, 28, 14, 6, 2, 2 }, { 11, 29, 14, 6, 2, 2 }, - { 10, 30, 15, 6, 2, 2 }, { 10, 31, 15, 6, 2, 2 }, { 9, 32, 16, 6, 2, 2 }, { 9, 33, 17, 6, 2, 2 }, { 8, 34, 17, 6, 2, 2 }, - { 8, 35, 18, 6, 2, 2 }, { 7, 36, 18, 6, 2, 2 }, { 7, 37, 19, 5, 2, 2 }, { 6, 38, 19, 5, 2, 2 }, { 6, 39, 20, 5, 2, 2 }, - { 5, 40, 21, 5, 2, 2 }, { 4, 41, 21, 5, 2, 2 }, { 4, 42, 22, 5, 2, 2 }, { 3, 43, 22, 5, 2, 2 }, { 2, 44, 23, 5, 2, 2 }, - { 2, 45, 24, 5, 2, 2 }, { 1, 46, 24, 5, 2, 2 }, { 0, 47, 25, 5, 2, 2 }, { 0, 48, 26, 5, 2, 2 }, { -1, 49, 26, 5, 2, 2 }, - { -2, 50, 27, 4, 2, 2 }, { -3, 51, 27, 4, 2, 2 }, { -3, 52, 28, 4, 2, 2 }, { -4, 53, 29, 4, 2, 2 }, { -5, 54, 29, 4, 2, 2 }, - { -6, 55, 30, 4, 2, 2 }, { -7, 56, 31, 4, 2, 2 }, { -7, 57, 31, 4, 2, 2 }, { -8, 58, 32, 4, 2, 2 }, { -9, 59, 32, 4, 2, 2 }, - { -10, 60, 33, 4, 2, 2 }, { -11, 61, 34, 4, 2, 2 }, { -12, 61, 34, 4, 2, 2 }, { -13, 62, 35, 3, 2, 2 }, { -14, 63, 36, 3, 2, 2 }, - { -15, 64, 36, 3, 2, 2 }, { -16, 64, 37, 3, 2, 2 }, { -17, 65, 37, 3, 2, 2 }, { -18, 66, 38, 3, 2, 2 }, { -19, 66, 39, 3, 2, 2 }, - { -20, 67, 39, 3, 2, 2 }, { -21, 68, 40, 3, 2, 2 }, { -22, 68, 41, 3, 2, 2 }, { -23, 69, 41, 3, 2, 2 }, { -24, 70, 42, 3, 2, 2 }, - { -25, 70, 42, 3, 2, 2 }, { -26, 71, 43, 2, 2, 2 }, { -27, 71, 44, 2, 2, 2 }, { -28, 72, 44, 2, 2, 2 }, { -29, 72, 45, 2, 2, 2 }, - { -30, 73, 45, 2, 2, 2 }, { -31, 73, 46, 2, 2, 2 }, { -32, 74, 46, 2, 2, 2 }, { -33, 74, 47, 2, 2, 2 }, { -34, 75, 48, 2, 2, 2 }, - { -35, 75, 48, 2, 2, 2 }, { -36, 75, 49, 2, 2, 2 }, { -37, 76, 49, 2, 2, 2 }, { -38, 76, 50, 2, 2, 2 }, { -39, 76, 50, 2, 2, 2 }, - { -40, 77, 51, 1, 2, 2 }, { -41, 77, 51, 1, 2, 2 }, { -42, 77, 52, 1, 2, 2 }, { -43, 77, 52, 1, 2, 2 }, { -44, 78, 53, 1, 2, 2 }, - { -45, 78, 54, 1, 2, 2 }, { -46, 78, 54, 1, 2, 2 }, { -47, 78, 55, 1, 2, 2 }, { -48, 78, 55, 1, 2, 2 }, { -49, 79, 55, 1, 2, 2 }, - { -50, 79, 56, 1, 2, 2 }, { -51, 79, 57, 1, 2, 2 }, { -52, 79, 57, 1, 2, 2 }, { -53, 79, 58, 1, 2, 2 }, { -54, 79, 58, 1, 2, 2 }, - { -55, 80, 59, 1, 2, 2 }, { -56, 80, 59, 0, 2, 2 }, { -57, 80, 60, 0, 2, 2 }, { -58, 80, 60, 0, 2, 2 }, { -59, 80, 61, 0, 2, 2 }, - { -60, 80, 61, 0, 2, 2 }, { -61, 80, 62, 0, 2, 2 }, { -62, 80, 62, 0, 2, 2 }, { -63, 80, 63, 0, 2, 2 }, { -64, 80, 64, 0, 2, 2 }, + 115, { + { 16, 0, 0, 8, 2, 2 }, { 16, 1, 0, 8, 2, 2 }, { 16, 2, 0, 8, 2, 2 }, { 16, 3, 1, 8, 2, 2 }, { 16, 4, 1, 8, 2, 2 }, + { 16, 5, 2, 8, 2, 2 }, { 16, 6, 2, 8, 2, 2 }, { 16, 7, 3, 8, 2, 2 }, { 16, 8, 3, 7, 2, 2 }, { 15, 9, 4, 7, 2, 2 }, + { 15, 10, 4, 7, 2, 2 }, { 15, 11, 5, 7, 2, 2 }, { 15, 12, 5, 7, 2, 2 }, { 15, 13, 6, 7, 2, 2 }, { 15, 14, 6, 7, 2, 2 }, + { 14, 15, 7, 7, 2, 2 }, { 14, 16, 8, 7, 2, 2 }, { 14, 17, 8, 7, 2, 2 }, { 14, 18, 8, 7, 2, 2 }, { 14, 19, 9, 7, 2, 2 }, + { 13, 20, 9, 7, 2, 2 }, { 13, 21, 10, 7, 2, 2 }, { 13, 22, 11, 6, 2, 2 }, { 13, 23, 11, 6, 2, 2 }, { 12, 24, 12, 6, 2, 2 }, + { 12, 25, 12, 6, 2, 2 }, { 12, 26, 13, 6, 2, 2 }, { 11, 27, 13, 6, 2, 2 }, { 11, 28, 14, 6, 2, 2 }, { 11, 29, 14, 6, 2, 2 }, + { 10, 30, 15, 6, 2, 2 }, { 10, 31, 15, 6, 2, 2 }, { 9, 32, 16, 6, 2, 2 }, { 9, 33, 17, 6, 2, 2 }, { 8, 34, 17, 6, 2, 2 }, + { 8, 35, 18, 6, 2, 2 }, { 7, 36, 18, 6, 2, 2 }, { 7, 37, 19, 5, 2, 2 }, { 6, 38, 19, 5, 2, 2 }, { 6, 39, 20, 5, 2, 2 }, + { 5, 40, 21, 5, 2, 2 }, { 4, 41, 21, 5, 2, 2 }, { 4, 42, 22, 5, 2, 2 }, { 3, 43, 22, 5, 2, 2 }, { 2, 44, 23, 5, 2, 2 }, + { 2, 45, 24, 5, 2, 2 }, { 1, 46, 24, 5, 2, 2 }, { 0, 47, 25, 5, 2, 2 }, { 0, 48, 26, 5, 2, 2 }, { -1, 49, 26, 5, 2, 2 }, + { -2, 50, 27, 4, 2, 2 }, { -3, 51, 27, 4, 2, 2 }, { -3, 52, 28, 4, 2, 2 }, { -4, 53, 29, 4, 2, 2 }, { -5, 54, 29, 4, 2, 2 }, + { -6, 55, 30, 4, 2, 2 }, { -7, 56, 31, 4, 2, 2 }, { -7, 57, 31, 4, 2, 2 }, { -8, 58, 32, 4, 2, 2 }, { -9, 59, 32, 4, 2, 2 }, + { -10, 60, 33, 4, 2, 2 }, { -11, 61, 34, 4, 2, 2 }, { -12, 61, 34, 4, 2, 2 }, { -13, 62, 35, 3, 2, 2 }, { -14, 63, 36, 3, 2, 2 }, + { -15, 64, 36, 3, 2, 2 }, { -16, 64, 37, 3, 2, 2 }, { -17, 65, 37, 3, 2, 2 }, { -18, 66, 38, 3, 2, 2 }, { -19, 66, 39, 3, 2, 2 }, + { -20, 67, 39, 3, 2, 2 }, { -21, 68, 40, 3, 2, 2 }, { -22, 68, 41, 3, 2, 2 }, { -23, 69, 41, 3, 2, 2 }, { -24, 70, 42, 3, 2, 2 }, + { -25, 70, 42, 3, 2, 2 }, { -26, 71, 43, 2, 2, 2 }, { -27, 71, 44, 2, 2, 2 }, { -28, 72, 44, 2, 2, 2 }, { -29, 72, 45, 2, 2, 2 }, + { -30, 73, 45, 2, 2, 2 }, { -31, 73, 46, 2, 2, 2 }, { -32, 74, 46, 2, 2, 2 }, { -33, 74, 47, 2, 2, 2 }, { -34, 75, 48, 2, 2, 2 }, + { -35, 75, 48, 2, 2, 2 }, { -36, 75, 49, 2, 2, 2 }, { -37, 76, 49, 2, 2, 2 }, { -38, 76, 50, 2, 2, 2 }, { -39, 76, 50, 2, 2, 2 }, + { -40, 77, 51, 1, 2, 2 }, { -41, 77, 51, 1, 2, 2 }, { -42, 77, 52, 1, 2, 2 }, { -43, 77, 52, 1, 2, 2 }, { -44, 78, 53, 1, 2, 2 }, + { -45, 78, 54, 1, 2, 2 }, { -46, 78, 54, 1, 2, 2 }, { -47, 78, 55, 1, 2, 2 }, { -48, 78, 55, 1, 2, 2 }, { -49, 79, 55, 1, 2, 2 }, + { -50, 79, 56, 1, 2, 2 }, { -51, 79, 57, 1, 2, 2 }, { -52, 79, 57, 1, 2, 2 }, { -53, 79, 58, 1, 2, 2 }, { -54, 79, 58, 1, 2, 2 }, + { -55, 80, 59, 1, 2, 2 }, { -56, 80, 59, 0, 2, 2 }, { -57, 80, 60, 0, 2, 2 }, { -58, 80, 60, 0, 2, 2 }, { -59, 80, 61, 0, 2, 2 }, + { -60, 80, 61, 0, 2, 2 }, { -61, 80, 62, 0, 2, 2 }, { -62, 80, 62, 0, 2, 2 }, { -63, 80, 63, 0, 2, 2 }, { -64, 80, 64, 0, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95C08F = { - 114, { - { 0, 16, 0, 16, 2, 2 }, { 1, 16, 0, 16, 2, 2 }, { 2, 16, 0, 16, 2, 2 }, { 3, 16, 1, 16, 2, 2 }, { 4, 16, 1, 16, 2, 2 }, - { 5, 16, 2, 16, 2, 2 }, { 6, 16, 2, 16, 2, 2 }, { 7, 16, 3, 16, 2, 2 }, { 8, 16, 3, 15, 2, 2 }, { 9, 17, 4, 15, 2, 2 }, - { 10, 17, 5, 15, 2, 2 }, { 11, 17, 5, 15, 2, 2 }, { 12, 17, 5, 15, 2, 2 }, { 13, 17, 6, 15, 2, 2 }, { 14, 17, 6, 15, 2, 2 }, - { 15, 18, 7, 15, 2, 2 }, { 16, 18, 8, 15, 2, 2 }, { 17, 18, 8, 15, 2, 2 }, { 18, 18, 9, 15, 2, 2 }, { 19, 18, 9, 15, 2, 2 }, - { 20, 19, 10, 15, 2, 2 }, { 21, 19, 10, 15, 2, 2 }, { 22, 19, 11, 14, 2, 2 }, { 23, 19, 11, 14, 2, 2 }, { 24, 20, 12, 14, 2, 2 }, - { 25, 20, 12, 14, 2, 2 }, { 26, 20, 13, 14, 2, 2 }, { 27, 21, 13, 14, 2, 2 }, { 28, 21, 14, 14, 2, 2 }, { 29, 21, 14, 14, 2, 2 }, - { 30, 22, 15, 14, 2, 2 }, { 31, 22, 16, 14, 2, 2 }, { 32, 23, 16, 14, 2, 2 }, { 33, 23, 17, 14, 2, 2 }, { 34, 24, 17, 14, 2, 2 }, - { 35, 24, 18, 14, 2, 2 }, { 36, 25, 18, 14, 2, 2 }, { 37, 25, 19, 13, 2, 2 }, { 38, 26, 20, 13, 2, 2 }, { 39, 26, 20, 13, 2, 2 }, - { 40, 27, 21, 13, 2, 2 }, { 41, 28, 21, 13, 2, 2 }, { 42, 28, 22, 13, 2, 2 }, { 43, 29, 23, 13, 2, 2 }, { 44, 30, 23, 13, 2, 2 }, - { 45, 30, 24, 13, 2, 2 }, { 46, 31, 24, 13, 2, 2 }, { 47, 32, 25, 13, 2, 2 }, { 48, 32, 26, 13, 2, 2 }, { 49, 33, 26, 13, 2, 2 }, - { 50, 34, 27, 12, 2, 2 }, { 51, 35, 28, 12, 2, 2 }, { 52, 35, 28, 12, 2, 2 }, { 53, 36, 29, 12, 2, 2 }, { 54, 37, 29, 12, 2, 2 }, - { 55, 38, 30, 12, 2, 2 }, { 56, 39, 31, 12, 2, 2 }, { 57, 39, 32, 12, 2, 2 }, { 58, 40, 32, 12, 2, 2 }, { 59, 41, 33, 12, 2, 2 }, - { 60, 42, 33, 12, 2, 2 }, { 61, 43, 34, 12, 2, 2 }, { 61, 44, 35, 12, 2, 2 }, { 62, 45, 35, 11, 2, 2 }, { 63, 46, 36, 11, 2, 2 }, - { 64, 47, 37, 11, 2, 2 }, { 64, 48, 37, 11, 2, 2 }, { 65, 49, 38, 11, 2, 2 }, { 66, 50, 38, 11, 2, 2 }, { 66, 51, 39, 11, 2, 2 }, - { 67, 52, 40, 11, 2, 2 }, { 68, 53, 40, 11, 2, 2 }, { 68, 54, 41, 11, 2, 2 }, { 69, 55, 41, 11, 2, 2 }, { 70, 56, 42, 11, 2, 2 }, - { 70, 57, 43, 11, 2, 2 }, { 71, 58, 43, 10, 2, 2 }, { 71, 59, 44, 10, 2, 2 }, { 72, 60, 44, 10, 2, 2 }, { 72, 61, 45, 10, 2, 2 }, - { 73, 62, 46, 10, 2, 2 }, { 73, 63, 46, 10, 2, 2 }, { 74, 64, 47, 10, 2, 2 }, { 74, 65, 47, 10, 2, 2 }, { 75, 66, 48, 10, 2, 2 }, - { 75, 67, 49, 10, 2, 2 }, { 75, 68, 49, 10, 2, 2 }, { 76, 69, 50, 10, 2, 2 }, { 76, 70, 50, 10, 2, 2 }, { 76, 71, 51, 10, 2, 2 }, - { 77, 72, 51, 9, 2, 2 }, { 77, 73, 52, 9, 2, 2 }, { 77, 74, 52, 9, 2, 2 }, { 77, 75, 53, 9, 2, 2 }, { 78, 76, 53, 9, 2, 2 }, - { 78, 77, 54, 9, 2, 2 }, { 78, 78, 54, 9, 2, 2 }, { 78, 79, 55, 9, 2, 2 }, { 78, 80, 55, 9, 2, 2 }, { 79, 81, 56, 9, 2, 2 }, - { 79, 82, 57, 9, 2, 2 }, { 79, 83, 57, 9, 2, 2 }, { 79, 84, 58, 9, 2, 2 }, { 79, 85, 58, 9, 2, 2 }, { 79, 86, 58, 9, 2, 2 }, - { 80, 87, 59, 9, 2, 2 }, { 80, 88, 60, 8, 2, 2 }, { 80, 89, 60, 8, 2, 2 }, { 80, 90, 61, 8, 2, 2 }, { 80, 91, 61, 8, 2, 2 }, - { 80, 92, 62, 8, 2, 2 }, { 80, 93, 62, 8, 2, 2 }, { 80, 94, 63, 8, 2, 2 }, { 80, 95, 63, 8, 2, 2 }, + 114, { + { 0, 16, 0, 16, 2, 2 }, { 1, 16, 0, 16, 2, 2 }, { 2, 16, 0, 16, 2, 2 }, { 3, 16, 1, 16, 2, 2 }, { 4, 16, 1, 16, 2, 2 }, + { 5, 16, 2, 16, 2, 2 }, { 6, 16, 2, 16, 2, 2 }, { 7, 16, 3, 16, 2, 2 }, { 8, 16, 3, 15, 2, 2 }, { 9, 17, 4, 15, 2, 2 }, + { 10, 17, 5, 15, 2, 2 }, { 11, 17, 5, 15, 2, 2 }, { 12, 17, 5, 15, 2, 2 }, { 13, 17, 6, 15, 2, 2 }, { 14, 17, 6, 15, 2, 2 }, + { 15, 18, 7, 15, 2, 2 }, { 16, 18, 8, 15, 2, 2 }, { 17, 18, 8, 15, 2, 2 }, { 18, 18, 9, 15, 2, 2 }, { 19, 18, 9, 15, 2, 2 }, + { 20, 19, 10, 15, 2, 2 }, { 21, 19, 10, 15, 2, 2 }, { 22, 19, 11, 14, 2, 2 }, { 23, 19, 11, 14, 2, 2 }, { 24, 20, 12, 14, 2, 2 }, + { 25, 20, 12, 14, 2, 2 }, { 26, 20, 13, 14, 2, 2 }, { 27, 21, 13, 14, 2, 2 }, { 28, 21, 14, 14, 2, 2 }, { 29, 21, 14, 14, 2, 2 }, + { 30, 22, 15, 14, 2, 2 }, { 31, 22, 16, 14, 2, 2 }, { 32, 23, 16, 14, 2, 2 }, { 33, 23, 17, 14, 2, 2 }, { 34, 24, 17, 14, 2, 2 }, + { 35, 24, 18, 14, 2, 2 }, { 36, 25, 18, 14, 2, 2 }, { 37, 25, 19, 13, 2, 2 }, { 38, 26, 20, 13, 2, 2 }, { 39, 26, 20, 13, 2, 2 }, + { 40, 27, 21, 13, 2, 2 }, { 41, 28, 21, 13, 2, 2 }, { 42, 28, 22, 13, 2, 2 }, { 43, 29, 23, 13, 2, 2 }, { 44, 30, 23, 13, 2, 2 }, + { 45, 30, 24, 13, 2, 2 }, { 46, 31, 24, 13, 2, 2 }, { 47, 32, 25, 13, 2, 2 }, { 48, 32, 26, 13, 2, 2 }, { 49, 33, 26, 13, 2, 2 }, + { 50, 34, 27, 12, 2, 2 }, { 51, 35, 28, 12, 2, 2 }, { 52, 35, 28, 12, 2, 2 }, { 53, 36, 29, 12, 2, 2 }, { 54, 37, 29, 12, 2, 2 }, + { 55, 38, 30, 12, 2, 2 }, { 56, 39, 31, 12, 2, 2 }, { 57, 39, 32, 12, 2, 2 }, { 58, 40, 32, 12, 2, 2 }, { 59, 41, 33, 12, 2, 2 }, + { 60, 42, 33, 12, 2, 2 }, { 61, 43, 34, 12, 2, 2 }, { 61, 44, 35, 12, 2, 2 }, { 62, 45, 35, 11, 2, 2 }, { 63, 46, 36, 11, 2, 2 }, + { 64, 47, 37, 11, 2, 2 }, { 64, 48, 37, 11, 2, 2 }, { 65, 49, 38, 11, 2, 2 }, { 66, 50, 38, 11, 2, 2 }, { 66, 51, 39, 11, 2, 2 }, + { 67, 52, 40, 11, 2, 2 }, { 68, 53, 40, 11, 2, 2 }, { 68, 54, 41, 11, 2, 2 }, { 69, 55, 41, 11, 2, 2 }, { 70, 56, 42, 11, 2, 2 }, + { 70, 57, 43, 11, 2, 2 }, { 71, 58, 43, 10, 2, 2 }, { 71, 59, 44, 10, 2, 2 }, { 72, 60, 44, 10, 2, 2 }, { 72, 61, 45, 10, 2, 2 }, + { 73, 62, 46, 10, 2, 2 }, { 73, 63, 46, 10, 2, 2 }, { 74, 64, 47, 10, 2, 2 }, { 74, 65, 47, 10, 2, 2 }, { 75, 66, 48, 10, 2, 2 }, + { 75, 67, 49, 10, 2, 2 }, { 75, 68, 49, 10, 2, 2 }, { 76, 69, 50, 10, 2, 2 }, { 76, 70, 50, 10, 2, 2 }, { 76, 71, 51, 10, 2, 2 }, + { 77, 72, 51, 9, 2, 2 }, { 77, 73, 52, 9, 2, 2 }, { 77, 74, 52, 9, 2, 2 }, { 77, 75, 53, 9, 2, 2 }, { 78, 76, 53, 9, 2, 2 }, + { 78, 77, 54, 9, 2, 2 }, { 78, 78, 54, 9, 2, 2 }, { 78, 79, 55, 9, 2, 2 }, { 78, 80, 55, 9, 2, 2 }, { 79, 81, 56, 9, 2, 2 }, + { 79, 82, 57, 9, 2, 2 }, { 79, 83, 57, 9, 2, 2 }, { 79, 84, 58, 9, 2, 2 }, { 79, 85, 58, 9, 2, 2 }, { 79, 86, 58, 9, 2, 2 }, + { 80, 87, 59, 9, 2, 2 }, { 80, 88, 60, 8, 2, 2 }, { 80, 89, 60, 8, 2, 2 }, { 80, 90, 61, 8, 2, 2 }, { 80, 91, 61, 8, 2, 2 }, + { 80, 92, 62, 8, 2, 2 }, { 80, 93, 62, 8, 2, 2 }, { 80, 94, 63, 8, 2, 2 }, { 80, 95, 63, 8, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95C493 = { - 113, { - { 16, 31, 0, 24, 2, 2 }, { 16, 30, 0, 24, 2, 2 }, { 16, 29, 1, 24, 2, 2 }, { 16, 28, 1, 24, 2, 2 }, { 16, 27, 2, 24, 2, 2 }, - { 16, 26, 2, 24, 2, 2 }, { 16, 25, 3, 24, 2, 2 }, { 16, 24, 3, 23, 2, 2 }, { 17, 23, 4, 23, 2, 2 }, { 17, 22, 5, 23, 2, 2 }, - { 17, 21, 5, 23, 2, 2 }, { 17, 20, 5, 23, 2, 2 }, { 17, 19, 6, 23, 2, 2 }, { 17, 18, 6, 23, 2, 2 }, { 18, 17, 7, 23, 2, 2 }, - { 18, 16, 8, 23, 2, 2 }, { 18, 15, 8, 23, 2, 2 }, { 18, 14, 9, 23, 2, 2 }, { 18, 13, 9, 23, 2, 2 }, { 19, 12, 10, 23, 2, 2 }, - { 19, 11, 10, 23, 2, 2 }, { 19, 10, 11, 22, 2, 2 }, { 19, 9, 11, 22, 2, 2 }, { 20, 8, 12, 22, 2, 2 }, { 20, 7, 12, 22, 2, 2 }, - { 20, 6, 13, 22, 2, 2 }, { 21, 5, 13, 22, 2, 2 }, { 21, 4, 14, 22, 2, 2 }, { 21, 3, 14, 22, 2, 2 }, { 22, 2, 15, 22, 2, 2 }, - { 22, 1, 16, 22, 2, 2 }, { 23, 0, 16, 22, 2, 2 }, { 23, -1, 17, 22, 2, 2 }, { 24, -2, 17, 22, 2, 2 }, { 24, -3, 18, 22, 2, 2 }, - { 25, -4, 18, 22, 2, 2 }, { 25, -5, 19, 21, 2, 2 }, { 26, -6, 20, 21, 2, 2 }, { 26, -7, 20, 21, 2, 2 }, { 27, -8, 21, 21, 2, 2 }, - { 28, -9, 21, 21, 2, 2 }, { 28, -10, 22, 21, 2, 2 }, { 29, -11, 23, 21, 2, 2 }, { 30, -12, 23, 21, 2, 2 }, { 30, -13, 24, 21, 2, 2 }, - { 31, -14, 24, 21, 2, 2 }, { 32, -15, 25, 21, 2, 2 }, { 32, -16, 26, 21, 2, 2 }, { 33, -17, 26, 21, 2, 2 }, { 34, -18, 27, 20, 2, 2 }, - { 35, -19, 28, 20, 2, 2 }, { 35, -20, 28, 20, 2, 2 }, { 36, -21, 29, 20, 2, 2 }, { 37, -22, 29, 20, 2, 2 }, { 38, -23, 30, 20, 2, 2 }, - { 39, -24, 31, 20, 2, 2 }, { 39, -25, 32, 20, 2, 2 }, { 40, -26, 32, 20, 2, 2 }, { 41, -27, 33, 20, 2, 2 }, { 42, -28, 33, 20, 2, 2 }, - { 43, -29, 34, 20, 2, 2 }, { 44, -29, 35, 20, 2, 2 }, { 45, -30, 35, 19, 2, 2 }, { 46, -31, 36, 19, 2, 2 }, { 47, -32, 37, 19, 2, 2 }, - { 48, -32, 37, 19, 2, 2 }, { 49, -33, 38, 19, 2, 2 }, { 50, -34, 38, 19, 2, 2 }, { 51, -34, 39, 19, 2, 2 }, { 52, -35, 40, 19, 2, 2 }, - { 53, -36, 40, 19, 2, 2 }, { 54, -36, 41, 19, 2, 2 }, { 55, -37, 41, 19, 2, 2 }, { 56, -38, 42, 19, 2, 2 }, { 57, -38, 43, 19, 2, 2 }, - { 58, -39, 43, 18, 2, 2 }, { 59, -39, 44, 18, 2, 2 }, { 60, -40, 44, 18, 2, 2 }, { 61, -40, 45, 18, 2, 2 }, { 62, -41, 46, 18, 2, 2 }, - { 63, -41, 46, 18, 2, 2 }, { 64, -42, 47, 18, 2, 2 }, { 65, -42, 47, 18, 2, 2 }, { 66, -43, 48, 18, 2, 2 }, { 67, -43, 49, 18, 2, 2 }, - { 68, -43, 49, 18, 2, 2 }, { 69, -44, 50, 18, 2, 2 }, { 70, -44, 50, 18, 2, 2 }, { 71, -44, 51, 18, 2, 2 }, { 72, -45, 51, 17, 2, 2 }, - { 73, -45, 52, 17, 2, 2 }, { 74, -45, 52, 17, 2, 2 }, { 75, -45, 53, 17, 2, 2 }, { 76, -46, 53, 17, 2, 2 }, { 77, -46, 54, 17, 2, 2 }, - { 78, -46, 54, 17, 2, 2 }, { 79, -46, 55, 17, 2, 2 }, { 80, -46, 55, 17, 2, 2 }, { 81, -47, 56, 17, 2, 2 }, { 82, -47, 57, 17, 2, 2 }, - { 83, -47, 57, 17, 2, 2 }, { 84, -47, 58, 17, 2, 2 }, { 85, -47, 58, 17, 2, 2 }, { 86, -47, 58, 17, 2, 2 }, { 87, -48, 59, 17, 2, 2 }, - { 88, -48, 60, 16, 2, 2 }, { 89, -48, 60, 16, 2, 2 }, { 90, -48, 61, 16, 2, 2 }, { 91, -48, 61, 16, 2, 2 }, { 92, -48, 62, 16, 2, 2 }, - { 93, -48, 62, 16, 2, 2 }, { 94, -48, 63, 16, 2, 2 }, { 95, -48, 63, 16, 2, 2 }, + 113, { + { 16, 31, 0, 24, 2, 2 }, { 16, 30, 0, 24, 2, 2 }, { 16, 29, 1, 24, 2, 2 }, { 16, 28, 1, 24, 2, 2 }, { 16, 27, 2, 24, 2, 2 }, + { 16, 26, 2, 24, 2, 2 }, { 16, 25, 3, 24, 2, 2 }, { 16, 24, 3, 23, 2, 2 }, { 17, 23, 4, 23, 2, 2 }, { 17, 22, 5, 23, 2, 2 }, + { 17, 21, 5, 23, 2, 2 }, { 17, 20, 5, 23, 2, 2 }, { 17, 19, 6, 23, 2, 2 }, { 17, 18, 6, 23, 2, 2 }, { 18, 17, 7, 23, 2, 2 }, + { 18, 16, 8, 23, 2, 2 }, { 18, 15, 8, 23, 2, 2 }, { 18, 14, 9, 23, 2, 2 }, { 18, 13, 9, 23, 2, 2 }, { 19, 12, 10, 23, 2, 2 }, + { 19, 11, 10, 23, 2, 2 }, { 19, 10, 11, 22, 2, 2 }, { 19, 9, 11, 22, 2, 2 }, { 20, 8, 12, 22, 2, 2 }, { 20, 7, 12, 22, 2, 2 }, + { 20, 6, 13, 22, 2, 2 }, { 21, 5, 13, 22, 2, 2 }, { 21, 4, 14, 22, 2, 2 }, { 21, 3, 14, 22, 2, 2 }, { 22, 2, 15, 22, 2, 2 }, + { 22, 1, 16, 22, 2, 2 }, { 23, 0, 16, 22, 2, 2 }, { 23, -1, 17, 22, 2, 2 }, { 24, -2, 17, 22, 2, 2 }, { 24, -3, 18, 22, 2, 2 }, + { 25, -4, 18, 22, 2, 2 }, { 25, -5, 19, 21, 2, 2 }, { 26, -6, 20, 21, 2, 2 }, { 26, -7, 20, 21, 2, 2 }, { 27, -8, 21, 21, 2, 2 }, + { 28, -9, 21, 21, 2, 2 }, { 28, -10, 22, 21, 2, 2 }, { 29, -11, 23, 21, 2, 2 }, { 30, -12, 23, 21, 2, 2 }, { 30, -13, 24, 21, 2, 2 }, + { 31, -14, 24, 21, 2, 2 }, { 32, -15, 25, 21, 2, 2 }, { 32, -16, 26, 21, 2, 2 }, { 33, -17, 26, 21, 2, 2 }, { 34, -18, 27, 20, 2, 2 }, + { 35, -19, 28, 20, 2, 2 }, { 35, -20, 28, 20, 2, 2 }, { 36, -21, 29, 20, 2, 2 }, { 37, -22, 29, 20, 2, 2 }, { 38, -23, 30, 20, 2, 2 }, + { 39, -24, 31, 20, 2, 2 }, { 39, -25, 32, 20, 2, 2 }, { 40, -26, 32, 20, 2, 2 }, { 41, -27, 33, 20, 2, 2 }, { 42, -28, 33, 20, 2, 2 }, + { 43, -29, 34, 20, 2, 2 }, { 44, -29, 35, 20, 2, 2 }, { 45, -30, 35, 19, 2, 2 }, { 46, -31, 36, 19, 2, 2 }, { 47, -32, 37, 19, 2, 2 }, + { 48, -32, 37, 19, 2, 2 }, { 49, -33, 38, 19, 2, 2 }, { 50, -34, 38, 19, 2, 2 }, { 51, -34, 39, 19, 2, 2 }, { 52, -35, 40, 19, 2, 2 }, + { 53, -36, 40, 19, 2, 2 }, { 54, -36, 41, 19, 2, 2 }, { 55, -37, 41, 19, 2, 2 }, { 56, -38, 42, 19, 2, 2 }, { 57, -38, 43, 19, 2, 2 }, + { 58, -39, 43, 18, 2, 2 }, { 59, -39, 44, 18, 2, 2 }, { 60, -40, 44, 18, 2, 2 }, { 61, -40, 45, 18, 2, 2 }, { 62, -41, 46, 18, 2, 2 }, + { 63, -41, 46, 18, 2, 2 }, { 64, -42, 47, 18, 2, 2 }, { 65, -42, 47, 18, 2, 2 }, { 66, -43, 48, 18, 2, 2 }, { 67, -43, 49, 18, 2, 2 }, + { 68, -43, 49, 18, 2, 2 }, { 69, -44, 50, 18, 2, 2 }, { 70, -44, 50, 18, 2, 2 }, { 71, -44, 51, 18, 2, 2 }, { 72, -45, 51, 17, 2, 2 }, + { 73, -45, 52, 17, 2, 2 }, { 74, -45, 52, 17, 2, 2 }, { 75, -45, 53, 17, 2, 2 }, { 76, -46, 53, 17, 2, 2 }, { 77, -46, 54, 17, 2, 2 }, + { 78, -46, 54, 17, 2, 2 }, { 79, -46, 55, 17, 2, 2 }, { 80, -46, 55, 17, 2, 2 }, { 81, -47, 56, 17, 2, 2 }, { 82, -47, 57, 17, 2, 2 }, + { 83, -47, 57, 17, 2, 2 }, { 84, -47, 58, 17, 2, 2 }, { 85, -47, 58, 17, 2, 2 }, { 86, -47, 58, 17, 2, 2 }, { 87, -48, 59, 17, 2, 2 }, + { 88, -48, 60, 16, 2, 2 }, { 89, -48, 60, 16, 2, 2 }, { 90, -48, 61, 16, 2, 2 }, { 91, -48, 61, 16, 2, 2 }, { 92, -48, 62, 16, 2, 2 }, + { 93, -48, 62, 16, 2, 2 }, { 94, -48, 63, 16, 2, 2 }, { 95, -48, 63, 16, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95C88E = { - 113, { - { 31, 16, 0, 0, 2, 4 }, { 30, 16, 0, 0, 2, 4 }, { 29, 16, 1, 0, 2, 4 }, { 28, 16, 1, 0, 2, 4 }, { 27, 16, 2, 0, 2, 4 }, - { 26, 16, 2, 0, 2, 4 }, { 25, 16, 3, 0, 2, 4 }, { 24, 16, 3, 1, 2, 4 }, { 23, 17, 4, 1, 2, 4 }, { 22, 17, 5, 1, 2, 4 }, - { 21, 17, 5, 1, 2, 4 }, { 20, 17, 5, 1, 2, 4 }, { 19, 17, 6, 1, 2, 4 }, { 18, 17, 6, 1, 2, 4 }, { 17, 18, 7, 1, 2, 4 }, - { 16, 18, 8, 1, 2, 4 }, { 15, 18, 8, 1, 2, 4 }, { 14, 18, 9, 1, 2, 4 }, { 13, 18, 9, 1, 2, 4 }, { 12, 19, 10, 1, 2, 4 }, - { 11, 19, 10, 1, 2, 4 }, { 10, 19, 11, 2, 2, 4 }, { 9, 19, 11, 2, 2, 4 }, { 8, 20, 12, 2, 2, 4 }, { 7, 20, 12, 2, 2, 4 }, - { 6, 20, 13, 2, 2, 4 }, { 5, 21, 13, 2, 2, 4 }, { 4, 21, 14, 2, 2, 4 }, { 3, 21, 14, 2, 2, 4 }, { 2, 22, 15, 2, 2, 4 }, - { 1, 22, 16, 2, 2, 4 }, { 0, 23, 16, 2, 2, 4 }, { -1, 23, 17, 2, 2, 4 }, { -2, 24, 17, 2, 2, 4 }, { -3, 24, 18, 2, 2, 4 }, - { -4, 25, 18, 2, 2, 4 }, { -5, 25, 19, 3, 2, 4 }, { -6, 26, 20, 3, 2, 4 }, { -7, 26, 20, 3, 2, 4 }, { -8, 27, 21, 3, 2, 4 }, - { -9, 28, 21, 3, 2, 4 }, { -10, 28, 22, 3, 2, 4 }, { -11, 29, 23, 3, 2, 4 }, { -12, 30, 23, 3, 2, 4 }, { -13, 30, 24, 3, 2, 4 }, - { -14, 31, 24, 3, 2, 4 }, { -15, 32, 25, 3, 2, 4 }, { -16, 32, 26, 3, 2, 4 }, { -17, 33, 26, 3, 2, 4 }, { -18, 34, 27, 4, 2, 4 }, - { -19, 35, 28, 4, 2, 4 }, { -20, 35, 28, 4, 2, 4 }, { -21, 36, 29, 4, 2, 4 }, { -22, 37, 29, 4, 2, 4 }, { -23, 38, 30, 4, 2, 4 }, - { -24, 39, 31, 4, 2, 4 }, { -25, 39, 32, 4, 2, 4 }, { -26, 40, 32, 4, 2, 4 }, { -27, 41, 33, 4, 2, 4 }, { -28, 42, 33, 4, 2, 4 }, - { -29, 43, 34, 4, 2, 4 }, { -29, 44, 35, 4, 2, 4 }, { -30, 45, 35, 5, 2, 4 }, { -31, 46, 36, 5, 2, 4 }, { -32, 47, 37, 5, 2, 4 }, - { -32, 48, 37, 5, 2, 4 }, { -33, 49, 38, 5, 2, 4 }, { -34, 50, 38, 5, 2, 4 }, { -34, 51, 39, 5, 2, 4 }, { -35, 52, 40, 5, 2, 4 }, - { -36, 53, 40, 5, 2, 4 }, { -36, 54, 41, 5, 2, 4 }, { -37, 55, 41, 5, 2, 4 }, { -38, 56, 42, 5, 2, 4 }, { -38, 57, 43, 5, 2, 4 }, - { -39, 58, 43, 6, 2, 4 }, { -39, 59, 44, 6, 2, 4 }, { -40, 60, 44, 6, 2, 4 }, { -40, 61, 45, 6, 2, 4 }, { -41, 62, 46, 6, 2, 4 }, - { -41, 63, 46, 6, 2, 4 }, { -42, 64, 47, 6, 2, 4 }, { -42, 65, 47, 6, 2, 4 }, { -43, 66, 48, 6, 2, 4 }, { -43, 67, 49, 6, 2, 4 }, - { -43, 68, 49, 6, 2, 4 }, { -44, 69, 50, 6, 2, 4 }, { -44, 70, 50, 6, 2, 4 }, { -44, 71, 51, 6, 2, 4 }, { -45, 72, 51, 7, 2, 4 }, - { -45, 73, 52, 7, 2, 4 }, { -45, 74, 52, 7, 2, 4 }, { -45, 75, 53, 7, 2, 4 }, { -46, 76, 53, 7, 2, 4 }, { -46, 77, 54, 7, 2, 4 }, - { -46, 78, 54, 7, 2, 4 }, { -46, 79, 55, 7, 2, 4 }, { -46, 80, 55, 7, 2, 4 }, { -47, 81, 56, 7, 2, 4 }, { -47, 82, 57, 7, 2, 4 }, - { -47, 83, 57, 7, 2, 4 }, { -47, 84, 58, 7, 2, 4 }, { -47, 85, 58, 7, 2, 4 }, { -47, 86, 58, 7, 2, 4 }, { -48, 87, 59, 7, 2, 4 }, - { -48, 88, 60, 8, 2, 4 }, { -48, 89, 60, 8, 2, 4 }, { -48, 90, 61, 8, 2, 4 }, { -48, 91, 61, 8, 2, 4 }, { -48, 92, 62, 8, 2, 4 }, - { -48, 93, 62, 8, 2, 4 }, { -48, 94, 63, 8, 2, 4 }, { -48, 95, 63, 8, 2, 4 }, + 113, { + { 31, 16, 0, 0, 2, 4 }, { 30, 16, 0, 0, 2, 4 }, { 29, 16, 1, 0, 2, 4 }, { 28, 16, 1, 0, 2, 4 }, { 27, 16, 2, 0, 2, 4 }, + { 26, 16, 2, 0, 2, 4 }, { 25, 16, 3, 0, 2, 4 }, { 24, 16, 3, 1, 2, 4 }, { 23, 17, 4, 1, 2, 4 }, { 22, 17, 5, 1, 2, 4 }, + { 21, 17, 5, 1, 2, 4 }, { 20, 17, 5, 1, 2, 4 }, { 19, 17, 6, 1, 2, 4 }, { 18, 17, 6, 1, 2, 4 }, { 17, 18, 7, 1, 2, 4 }, + { 16, 18, 8, 1, 2, 4 }, { 15, 18, 8, 1, 2, 4 }, { 14, 18, 9, 1, 2, 4 }, { 13, 18, 9, 1, 2, 4 }, { 12, 19, 10, 1, 2, 4 }, + { 11, 19, 10, 1, 2, 4 }, { 10, 19, 11, 2, 2, 4 }, { 9, 19, 11, 2, 2, 4 }, { 8, 20, 12, 2, 2, 4 }, { 7, 20, 12, 2, 2, 4 }, + { 6, 20, 13, 2, 2, 4 }, { 5, 21, 13, 2, 2, 4 }, { 4, 21, 14, 2, 2, 4 }, { 3, 21, 14, 2, 2, 4 }, { 2, 22, 15, 2, 2, 4 }, + { 1, 22, 16, 2, 2, 4 }, { 0, 23, 16, 2, 2, 4 }, { -1, 23, 17, 2, 2, 4 }, { -2, 24, 17, 2, 2, 4 }, { -3, 24, 18, 2, 2, 4 }, + { -4, 25, 18, 2, 2, 4 }, { -5, 25, 19, 3, 2, 4 }, { -6, 26, 20, 3, 2, 4 }, { -7, 26, 20, 3, 2, 4 }, { -8, 27, 21, 3, 2, 4 }, + { -9, 28, 21, 3, 2, 4 }, { -10, 28, 22, 3, 2, 4 }, { -11, 29, 23, 3, 2, 4 }, { -12, 30, 23, 3, 2, 4 }, { -13, 30, 24, 3, 2, 4 }, + { -14, 31, 24, 3, 2, 4 }, { -15, 32, 25, 3, 2, 4 }, { -16, 32, 26, 3, 2, 4 }, { -17, 33, 26, 3, 2, 4 }, { -18, 34, 27, 4, 2, 4 }, + { -19, 35, 28, 4, 2, 4 }, { -20, 35, 28, 4, 2, 4 }, { -21, 36, 29, 4, 2, 4 }, { -22, 37, 29, 4, 2, 4 }, { -23, 38, 30, 4, 2, 4 }, + { -24, 39, 31, 4, 2, 4 }, { -25, 39, 32, 4, 2, 4 }, { -26, 40, 32, 4, 2, 4 }, { -27, 41, 33, 4, 2, 4 }, { -28, 42, 33, 4, 2, 4 }, + { -29, 43, 34, 4, 2, 4 }, { -29, 44, 35, 4, 2, 4 }, { -30, 45, 35, 5, 2, 4 }, { -31, 46, 36, 5, 2, 4 }, { -32, 47, 37, 5, 2, 4 }, + { -32, 48, 37, 5, 2, 4 }, { -33, 49, 38, 5, 2, 4 }, { -34, 50, 38, 5, 2, 4 }, { -34, 51, 39, 5, 2, 4 }, { -35, 52, 40, 5, 2, 4 }, + { -36, 53, 40, 5, 2, 4 }, { -36, 54, 41, 5, 2, 4 }, { -37, 55, 41, 5, 2, 4 }, { -38, 56, 42, 5, 2, 4 }, { -38, 57, 43, 5, 2, 4 }, + { -39, 58, 43, 6, 2, 4 }, { -39, 59, 44, 6, 2, 4 }, { -40, 60, 44, 6, 2, 4 }, { -40, 61, 45, 6, 2, 4 }, { -41, 62, 46, 6, 2, 4 }, + { -41, 63, 46, 6, 2, 4 }, { -42, 64, 47, 6, 2, 4 }, { -42, 65, 47, 6, 2, 4 }, { -43, 66, 48, 6, 2, 4 }, { -43, 67, 49, 6, 2, 4 }, + { -43, 68, 49, 6, 2, 4 }, { -44, 69, 50, 6, 2, 4 }, { -44, 70, 50, 6, 2, 4 }, { -44, 71, 51, 6, 2, 4 }, { -45, 72, 51, 7, 2, 4 }, + { -45, 73, 52, 7, 2, 4 }, { -45, 74, 52, 7, 2, 4 }, { -45, 75, 53, 7, 2, 4 }, { -46, 76, 53, 7, 2, 4 }, { -46, 77, 54, 7, 2, 4 }, + { -46, 78, 54, 7, 2, 4 }, { -46, 79, 55, 7, 2, 4 }, { -46, 80, 55, 7, 2, 4 }, { -47, 81, 56, 7, 2, 4 }, { -47, 82, 57, 7, 2, 4 }, + { -47, 83, 57, 7, 2, 4 }, { -47, 84, 58, 7, 2, 4 }, { -47, 85, 58, 7, 2, 4 }, { -47, 86, 58, 7, 2, 4 }, { -48, 87, 59, 7, 2, 4 }, + { -48, 88, 60, 8, 2, 4 }, { -48, 89, 60, 8, 2, 4 }, { -48, 90, 61, 8, 2, 4 }, { -48, 91, 61, 8, 2, 4 }, { -48, 92, 62, 8, 2, 4 }, + { -48, 93, 62, 8, 2, 4 }, { -48, 94, 63, 8, 2, 4 }, { -48, 95, 63, 8, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95CC89 = { - 114, { - { 16, 0, 0, 8, 2, 4 }, { 16, 1, 0, 8, 2, 4 }, { 16, 2, 0, 8, 2, 4 }, { 16, 3, 1, 8, 2, 4 }, { 16, 4, 1, 8, 2, 4 }, - { 16, 5, 2, 8, 2, 4 }, { 16, 6, 2, 8, 2, 4 }, { 16, 7, 3, 8, 2, 4 }, { 16, 8, 3, 9, 2, 4 }, { 17, 9, 4, 9, 2, 4 }, - { 17, 10, 5, 9, 2, 4 }, { 17, 11, 5, 9, 2, 4 }, { 17, 12, 5, 9, 2, 4 }, { 17, 13, 6, 9, 2, 4 }, { 17, 14, 6, 9, 2, 4 }, - { 18, 15, 7, 9, 2, 4 }, { 18, 16, 8, 9, 2, 4 }, { 18, 17, 8, 9, 2, 4 }, { 18, 18, 9, 9, 2, 4 }, { 18, 19, 9, 9, 2, 4 }, - { 19, 20, 10, 9, 2, 4 }, { 19, 21, 10, 9, 2, 4 }, { 19, 22, 11, 10, 2, 4 }, { 19, 23, 11, 10, 2, 4 }, { 20, 24, 12, 10, 2, 4 }, - { 20, 25, 12, 10, 2, 4 }, { 20, 26, 13, 10, 2, 4 }, { 21, 27, 13, 10, 2, 4 }, { 21, 28, 14, 10, 2, 4 }, { 21, 29, 14, 10, 2, 4 }, - { 22, 30, 15, 10, 2, 4 }, { 22, 31, 16, 10, 2, 4 }, { 23, 32, 16, 10, 2, 4 }, { 23, 33, 17, 10, 2, 4 }, { 24, 34, 17, 10, 2, 4 }, - { 24, 35, 18, 10, 2, 4 }, { 25, 36, 18, 10, 2, 4 }, { 25, 37, 19, 11, 2, 4 }, { 26, 38, 20, 11, 2, 4 }, { 26, 39, 20, 11, 2, 4 }, - { 27, 40, 21, 11, 2, 4 }, { 28, 41, 21, 11, 2, 4 }, { 28, 42, 22, 11, 2, 4 }, { 29, 43, 23, 11, 2, 4 }, { 30, 44, 23, 11, 2, 4 }, - { 30, 45, 24, 11, 2, 4 }, { 31, 46, 24, 11, 2, 4 }, { 32, 47, 25, 11, 2, 4 }, { 32, 48, 26, 11, 2, 4 }, { 33, 49, 26, 11, 2, 4 }, - { 34, 50, 27, 12, 2, 4 }, { 35, 51, 28, 12, 2, 4 }, { 35, 52, 28, 12, 2, 4 }, { 36, 53, 29, 12, 2, 4 }, { 37, 54, 29, 12, 2, 4 }, - { 38, 55, 30, 12, 2, 4 }, { 39, 56, 31, 12, 2, 4 }, { 39, 57, 32, 12, 2, 4 }, { 40, 58, 32, 12, 2, 4 }, { 41, 59, 33, 12, 2, 4 }, - { 42, 60, 33, 12, 2, 4 }, { 43, 61, 34, 12, 2, 4 }, { 44, 61, 35, 12, 2, 4 }, { 45, 62, 35, 13, 2, 4 }, { 46, 63, 36, 13, 2, 4 }, - { 47, 64, 37, 13, 2, 4 }, { 48, 64, 37, 13, 2, 4 }, { 49, 65, 38, 13, 2, 4 }, { 50, 66, 38, 13, 2, 4 }, { 51, 66, 39, 13, 2, 4 }, - { 52, 67, 40, 13, 2, 4 }, { 53, 68, 40, 13, 2, 4 }, { 54, 68, 41, 13, 2, 4 }, { 55, 69, 41, 13, 2, 4 }, { 56, 70, 42, 13, 2, 4 }, - { 57, 70, 43, 13, 2, 4 }, { 58, 71, 43, 14, 2, 4 }, { 59, 71, 44, 14, 2, 4 }, { 60, 72, 44, 14, 2, 4 }, { 61, 72, 45, 14, 2, 4 }, - { 62, 73, 46, 14, 2, 4 }, { 63, 73, 46, 14, 2, 4 }, { 64, 74, 47, 14, 2, 4 }, { 65, 74, 47, 14, 2, 4 }, { 66, 75, 48, 14, 2, 4 }, - { 67, 75, 49, 14, 2, 4 }, { 68, 75, 49, 14, 2, 4 }, { 69, 76, 50, 14, 2, 4 }, { 70, 76, 50, 14, 2, 4 }, { 71, 76, 51, 14, 2, 4 }, - { 72, 77, 51, 15, 2, 4 }, { 73, 77, 52, 15, 2, 4 }, { 74, 77, 52, 15, 2, 4 }, { 75, 77, 53, 15, 2, 4 }, { 76, 78, 53, 15, 2, 4 }, - { 77, 78, 54, 15, 2, 4 }, { 78, 78, 54, 15, 2, 4 }, { 79, 78, 55, 15, 2, 4 }, { 80, 78, 55, 15, 2, 4 }, { 81, 79, 56, 15, 2, 4 }, - { 82, 79, 57, 15, 2, 4 }, { 83, 79, 57, 15, 2, 4 }, { 84, 79, 58, 15, 2, 4 }, { 85, 79, 58, 15, 2, 4 }, { 86, 79, 58, 15, 2, 4 }, - { 87, 80, 59, 15, 2, 4 }, { 88, 80, 60, 16, 2, 4 }, { 89, 80, 60, 16, 2, 4 }, { 90, 80, 61, 16, 2, 4 }, { 91, 80, 61, 16, 2, 4 }, - { 92, 80, 62, 16, 2, 4 }, { 93, 80, 62, 16, 2, 4 }, { 94, 80, 63, 16, 2, 4 }, { 95, 80, 63, 16, 2, 4 }, + 114, { + { 16, 0, 0, 8, 2, 4 }, { 16, 1, 0, 8, 2, 4 }, { 16, 2, 0, 8, 2, 4 }, { 16, 3, 1, 8, 2, 4 }, { 16, 4, 1, 8, 2, 4 }, + { 16, 5, 2, 8, 2, 4 }, { 16, 6, 2, 8, 2, 4 }, { 16, 7, 3, 8, 2, 4 }, { 16, 8, 3, 9, 2, 4 }, { 17, 9, 4, 9, 2, 4 }, + { 17, 10, 5, 9, 2, 4 }, { 17, 11, 5, 9, 2, 4 }, { 17, 12, 5, 9, 2, 4 }, { 17, 13, 6, 9, 2, 4 }, { 17, 14, 6, 9, 2, 4 }, + { 18, 15, 7, 9, 2, 4 }, { 18, 16, 8, 9, 2, 4 }, { 18, 17, 8, 9, 2, 4 }, { 18, 18, 9, 9, 2, 4 }, { 18, 19, 9, 9, 2, 4 }, + { 19, 20, 10, 9, 2, 4 }, { 19, 21, 10, 9, 2, 4 }, { 19, 22, 11, 10, 2, 4 }, { 19, 23, 11, 10, 2, 4 }, { 20, 24, 12, 10, 2, 4 }, + { 20, 25, 12, 10, 2, 4 }, { 20, 26, 13, 10, 2, 4 }, { 21, 27, 13, 10, 2, 4 }, { 21, 28, 14, 10, 2, 4 }, { 21, 29, 14, 10, 2, 4 }, + { 22, 30, 15, 10, 2, 4 }, { 22, 31, 16, 10, 2, 4 }, { 23, 32, 16, 10, 2, 4 }, { 23, 33, 17, 10, 2, 4 }, { 24, 34, 17, 10, 2, 4 }, + { 24, 35, 18, 10, 2, 4 }, { 25, 36, 18, 10, 2, 4 }, { 25, 37, 19, 11, 2, 4 }, { 26, 38, 20, 11, 2, 4 }, { 26, 39, 20, 11, 2, 4 }, + { 27, 40, 21, 11, 2, 4 }, { 28, 41, 21, 11, 2, 4 }, { 28, 42, 22, 11, 2, 4 }, { 29, 43, 23, 11, 2, 4 }, { 30, 44, 23, 11, 2, 4 }, + { 30, 45, 24, 11, 2, 4 }, { 31, 46, 24, 11, 2, 4 }, { 32, 47, 25, 11, 2, 4 }, { 32, 48, 26, 11, 2, 4 }, { 33, 49, 26, 11, 2, 4 }, + { 34, 50, 27, 12, 2, 4 }, { 35, 51, 28, 12, 2, 4 }, { 35, 52, 28, 12, 2, 4 }, { 36, 53, 29, 12, 2, 4 }, { 37, 54, 29, 12, 2, 4 }, + { 38, 55, 30, 12, 2, 4 }, { 39, 56, 31, 12, 2, 4 }, { 39, 57, 32, 12, 2, 4 }, { 40, 58, 32, 12, 2, 4 }, { 41, 59, 33, 12, 2, 4 }, + { 42, 60, 33, 12, 2, 4 }, { 43, 61, 34, 12, 2, 4 }, { 44, 61, 35, 12, 2, 4 }, { 45, 62, 35, 13, 2, 4 }, { 46, 63, 36, 13, 2, 4 }, + { 47, 64, 37, 13, 2, 4 }, { 48, 64, 37, 13, 2, 4 }, { 49, 65, 38, 13, 2, 4 }, { 50, 66, 38, 13, 2, 4 }, { 51, 66, 39, 13, 2, 4 }, + { 52, 67, 40, 13, 2, 4 }, { 53, 68, 40, 13, 2, 4 }, { 54, 68, 41, 13, 2, 4 }, { 55, 69, 41, 13, 2, 4 }, { 56, 70, 42, 13, 2, 4 }, + { 57, 70, 43, 13, 2, 4 }, { 58, 71, 43, 14, 2, 4 }, { 59, 71, 44, 14, 2, 4 }, { 60, 72, 44, 14, 2, 4 }, { 61, 72, 45, 14, 2, 4 }, + { 62, 73, 46, 14, 2, 4 }, { 63, 73, 46, 14, 2, 4 }, { 64, 74, 47, 14, 2, 4 }, { 65, 74, 47, 14, 2, 4 }, { 66, 75, 48, 14, 2, 4 }, + { 67, 75, 49, 14, 2, 4 }, { 68, 75, 49, 14, 2, 4 }, { 69, 76, 50, 14, 2, 4 }, { 70, 76, 50, 14, 2, 4 }, { 71, 76, 51, 14, 2, 4 }, + { 72, 77, 51, 15, 2, 4 }, { 73, 77, 52, 15, 2, 4 }, { 74, 77, 52, 15, 2, 4 }, { 75, 77, 53, 15, 2, 4 }, { 76, 78, 53, 15, 2, 4 }, + { 77, 78, 54, 15, 2, 4 }, { 78, 78, 54, 15, 2, 4 }, { 79, 78, 55, 15, 2, 4 }, { 80, 78, 55, 15, 2, 4 }, { 81, 79, 56, 15, 2, 4 }, + { 82, 79, 57, 15, 2, 4 }, { 83, 79, 57, 15, 2, 4 }, { 84, 79, 58, 15, 2, 4 }, { 85, 79, 58, 15, 2, 4 }, { 86, 79, 58, 15, 2, 4 }, + { 87, 80, 59, 15, 2, 4 }, { 88, 80, 60, 16, 2, 4 }, { 89, 80, 60, 16, 2, 4 }, { 90, 80, 61, 16, 2, 4 }, { 91, 80, 61, 16, 2, 4 }, + { 92, 80, 62, 16, 2, 4 }, { 93, 80, 62, 16, 2, 4 }, { 94, 80, 63, 16, 2, 4 }, { 95, 80, 63, 16, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95D08D = { - 115, { - { 0, 16, 0, 16, 2, 4 }, { 1, 16, 0, 16, 2, 4 }, { 2, 16, 0, 16, 2, 4 }, { 3, 16, 1, 16, 2, 4 }, { 4, 16, 1, 16, 2, 4 }, - { 5, 16, 2, 16, 2, 4 }, { 6, 16, 2, 16, 2, 4 }, { 7, 16, 3, 16, 2, 4 }, { 8, 16, 3, 17, 2, 4 }, { 9, 15, 4, 17, 2, 4 }, - { 10, 15, 4, 17, 2, 4 }, { 11, 15, 5, 17, 2, 4 }, { 12, 15, 5, 17, 2, 4 }, { 13, 15, 6, 17, 2, 4 }, { 14, 15, 6, 17, 2, 4 }, - { 15, 14, 7, 17, 2, 4 }, { 16, 14, 8, 17, 2, 4 }, { 17, 14, 8, 17, 2, 4 }, { 18, 14, 8, 17, 2, 4 }, { 19, 14, 9, 17, 2, 4 }, - { 20, 13, 9, 17, 2, 4 }, { 21, 13, 10, 17, 2, 4 }, { 22, 13, 11, 18, 2, 4 }, { 23, 13, 11, 18, 2, 4 }, { 24, 12, 12, 18, 2, 4 }, - { 25, 12, 12, 18, 2, 4 }, { 26, 12, 13, 18, 2, 4 }, { 27, 11, 13, 18, 2, 4 }, { 28, 11, 14, 18, 2, 4 }, { 29, 11, 14, 18, 2, 4 }, - { 30, 10, 15, 18, 2, 4 }, { 31, 10, 15, 18, 2, 4 }, { 32, 9, 16, 18, 2, 4 }, { 33, 9, 17, 18, 2, 4 }, { 34, 8, 17, 18, 2, 4 }, - { 35, 8, 18, 18, 2, 4 }, { 36, 7, 18, 18, 2, 4 }, { 37, 7, 19, 19, 2, 4 }, { 38, 6, 19, 19, 2, 4 }, { 39, 6, 20, 19, 2, 4 }, - { 40, 5, 21, 19, 2, 4 }, { 41, 4, 21, 19, 2, 4 }, { 42, 4, 22, 19, 2, 4 }, { 43, 3, 22, 19, 2, 4 }, { 44, 2, 23, 19, 2, 4 }, - { 45, 2, 24, 19, 2, 4 }, { 46, 1, 24, 19, 2, 4 }, { 47, 0, 25, 19, 2, 4 }, { 48, 0, 26, 19, 2, 4 }, { 49, -1, 26, 19, 2, 4 }, - { 50, -2, 27, 20, 2, 4 }, { 51, -3, 27, 20, 2, 4 }, { 52, -3, 28, 20, 2, 4 }, { 53, -4, 29, 20, 2, 4 }, { 54, -5, 29, 20, 2, 4 }, - { 55, -6, 30, 20, 2, 4 }, { 56, -7, 31, 20, 2, 4 }, { 57, -7, 31, 20, 2, 4 }, { 58, -8, 32, 20, 2, 4 }, { 59, -9, 32, 20, 2, 4 }, - { 60, -10, 33, 20, 2, 4 }, { 61, -11, 34, 20, 2, 4 }, { 61, -12, 34, 20, 2, 4 }, { 62, -13, 35, 21, 2, 4 }, { 63, -14, 36, 21, 2, 4 }, - { 64, -15, 36, 21, 2, 4 }, { 64, -16, 37, 21, 2, 4 }, { 65, -17, 37, 21, 2, 4 }, { 66, -18, 38, 21, 2, 4 }, { 66, -19, 39, 21, 2, 4 }, - { 67, -20, 39, 21, 2, 4 }, { 68, -21, 40, 21, 2, 4 }, { 68, -22, 41, 21, 2, 4 }, { 69, -23, 41, 21, 2, 4 }, { 70, -24, 42, 21, 2, 4 }, - { 70, -25, 42, 21, 2, 4 }, { 71, -26, 43, 22, 2, 4 }, { 71, -27, 44, 22, 2, 4 }, { 72, -28, 44, 22, 2, 4 }, { 72, -29, 45, 22, 2, 4 }, - { 73, -30, 45, 22, 2, 4 }, { 73, -31, 46, 22, 2, 4 }, { 74, -32, 46, 22, 2, 4 }, { 74, -33, 47, 22, 2, 4 }, { 75, -34, 48, 22, 2, 4 }, - { 75, -35, 48, 22, 2, 4 }, { 75, -36, 49, 22, 2, 4 }, { 76, -37, 49, 22, 2, 4 }, { 76, -38, 50, 22, 2, 4 }, { 76, -39, 50, 22, 2, 4 }, - { 77, -40, 51, 23, 2, 4 }, { 77, -41, 51, 23, 2, 4 }, { 77, -42, 52, 23, 2, 4 }, { 77, -43, 52, 23, 2, 4 }, { 78, -44, 53, 23, 2, 4 }, - { 78, -45, 54, 23, 2, 4 }, { 78, -46, 54, 23, 2, 4 }, { 78, -47, 55, 23, 2, 4 }, { 78, -48, 55, 23, 2, 4 }, { 79, -49, 55, 23, 2, 4 }, - { 79, -50, 56, 23, 2, 4 }, { 79, -51, 57, 23, 2, 4 }, { 79, -52, 57, 23, 2, 4 }, { 79, -53, 58, 23, 2, 4 }, { 79, -54, 58, 23, 2, 4 }, - { 80, -55, 59, 23, 2, 4 }, { 80, -56, 59, 24, 2, 4 }, { 80, -57, 60, 24, 2, 4 }, { 80, -58, 60, 24, 2, 4 }, { 80, -59, 61, 24, 2, 4 }, - { 80, -60, 61, 24, 2, 4 }, { 80, -61, 62, 24, 2, 4 }, { 80, -62, 62, 24, 2, 4 }, { 80, -63, 63, 24, 2, 4 }, { 80, -64, 64, 24, 2, 4 }, + 115, { + { 0, 16, 0, 16, 2, 4 }, { 1, 16, 0, 16, 2, 4 }, { 2, 16, 0, 16, 2, 4 }, { 3, 16, 1, 16, 2, 4 }, { 4, 16, 1, 16, 2, 4 }, + { 5, 16, 2, 16, 2, 4 }, { 6, 16, 2, 16, 2, 4 }, { 7, 16, 3, 16, 2, 4 }, { 8, 16, 3, 17, 2, 4 }, { 9, 15, 4, 17, 2, 4 }, + { 10, 15, 4, 17, 2, 4 }, { 11, 15, 5, 17, 2, 4 }, { 12, 15, 5, 17, 2, 4 }, { 13, 15, 6, 17, 2, 4 }, { 14, 15, 6, 17, 2, 4 }, + { 15, 14, 7, 17, 2, 4 }, { 16, 14, 8, 17, 2, 4 }, { 17, 14, 8, 17, 2, 4 }, { 18, 14, 8, 17, 2, 4 }, { 19, 14, 9, 17, 2, 4 }, + { 20, 13, 9, 17, 2, 4 }, { 21, 13, 10, 17, 2, 4 }, { 22, 13, 11, 18, 2, 4 }, { 23, 13, 11, 18, 2, 4 }, { 24, 12, 12, 18, 2, 4 }, + { 25, 12, 12, 18, 2, 4 }, { 26, 12, 13, 18, 2, 4 }, { 27, 11, 13, 18, 2, 4 }, { 28, 11, 14, 18, 2, 4 }, { 29, 11, 14, 18, 2, 4 }, + { 30, 10, 15, 18, 2, 4 }, { 31, 10, 15, 18, 2, 4 }, { 32, 9, 16, 18, 2, 4 }, { 33, 9, 17, 18, 2, 4 }, { 34, 8, 17, 18, 2, 4 }, + { 35, 8, 18, 18, 2, 4 }, { 36, 7, 18, 18, 2, 4 }, { 37, 7, 19, 19, 2, 4 }, { 38, 6, 19, 19, 2, 4 }, { 39, 6, 20, 19, 2, 4 }, + { 40, 5, 21, 19, 2, 4 }, { 41, 4, 21, 19, 2, 4 }, { 42, 4, 22, 19, 2, 4 }, { 43, 3, 22, 19, 2, 4 }, { 44, 2, 23, 19, 2, 4 }, + { 45, 2, 24, 19, 2, 4 }, { 46, 1, 24, 19, 2, 4 }, { 47, 0, 25, 19, 2, 4 }, { 48, 0, 26, 19, 2, 4 }, { 49, -1, 26, 19, 2, 4 }, + { 50, -2, 27, 20, 2, 4 }, { 51, -3, 27, 20, 2, 4 }, { 52, -3, 28, 20, 2, 4 }, { 53, -4, 29, 20, 2, 4 }, { 54, -5, 29, 20, 2, 4 }, + { 55, -6, 30, 20, 2, 4 }, { 56, -7, 31, 20, 2, 4 }, { 57, -7, 31, 20, 2, 4 }, { 58, -8, 32, 20, 2, 4 }, { 59, -9, 32, 20, 2, 4 }, + { 60, -10, 33, 20, 2, 4 }, { 61, -11, 34, 20, 2, 4 }, { 61, -12, 34, 20, 2, 4 }, { 62, -13, 35, 21, 2, 4 }, { 63, -14, 36, 21, 2, 4 }, + { 64, -15, 36, 21, 2, 4 }, { 64, -16, 37, 21, 2, 4 }, { 65, -17, 37, 21, 2, 4 }, { 66, -18, 38, 21, 2, 4 }, { 66, -19, 39, 21, 2, 4 }, + { 67, -20, 39, 21, 2, 4 }, { 68, -21, 40, 21, 2, 4 }, { 68, -22, 41, 21, 2, 4 }, { 69, -23, 41, 21, 2, 4 }, { 70, -24, 42, 21, 2, 4 }, + { 70, -25, 42, 21, 2, 4 }, { 71, -26, 43, 22, 2, 4 }, { 71, -27, 44, 22, 2, 4 }, { 72, -28, 44, 22, 2, 4 }, { 72, -29, 45, 22, 2, 4 }, + { 73, -30, 45, 22, 2, 4 }, { 73, -31, 46, 22, 2, 4 }, { 74, -32, 46, 22, 2, 4 }, { 74, -33, 47, 22, 2, 4 }, { 75, -34, 48, 22, 2, 4 }, + { 75, -35, 48, 22, 2, 4 }, { 75, -36, 49, 22, 2, 4 }, { 76, -37, 49, 22, 2, 4 }, { 76, -38, 50, 22, 2, 4 }, { 76, -39, 50, 22, 2, 4 }, + { 77, -40, 51, 23, 2, 4 }, { 77, -41, 51, 23, 2, 4 }, { 77, -42, 52, 23, 2, 4 }, { 77, -43, 52, 23, 2, 4 }, { 78, -44, 53, 23, 2, 4 }, + { 78, -45, 54, 23, 2, 4 }, { 78, -46, 54, 23, 2, 4 }, { 78, -47, 55, 23, 2, 4 }, { 78, -48, 55, 23, 2, 4 }, { 79, -49, 55, 23, 2, 4 }, + { 79, -50, 56, 23, 2, 4 }, { 79, -51, 57, 23, 2, 4 }, { 79, -52, 57, 23, 2, 4 }, { 79, -53, 58, 23, 2, 4 }, { 79, -54, 58, 23, 2, 4 }, + { 80, -55, 59, 23, 2, 4 }, { 80, -56, 59, 24, 2, 4 }, { 80, -57, 60, 24, 2, 4 }, { 80, -58, 60, 24, 2, 4 }, { 80, -59, 61, 24, 2, 4 }, + { 80, -60, 61, 24, 2, 4 }, { 80, -61, 62, 24, 2, 4 }, { 80, -62, 62, 24, 2, 4 }, { 80, -63, 63, 24, 2, 4 }, { 80, -64, 64, 24, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95D49A = { - 114, { - { 16, 31, 0, 24, 2, 4 }, { 16, 30, 0, 24, 2, 4 }, { 16, 29, 1, 24, 2, 4 }, { 16, 28, 1, 24, 2, 4 }, { 16, 27, 2, 24, 2, 4 }, - { 16, 26, 2, 24, 2, 4 }, { 16, 25, 3, 24, 2, 4 }, { 16, 24, 3, 25, 2, 4 }, { 15, 23, 4, 25, 2, 4 }, { 15, 22, 4, 25, 2, 4 }, - { 15, 21, 5, 25, 2, 4 }, { 15, 20, 5, 25, 2, 4 }, { 15, 19, 6, 25, 2, 4 }, { 15, 18, 6, 25, 2, 4 }, { 14, 17, 7, 25, 2, 4 }, - { 14, 16, 8, 25, 2, 4 }, { 14, 15, 8, 25, 2, 4 }, { 14, 14, 8, 25, 2, 4 }, { 14, 13, 9, 25, 2, 4 }, { 13, 12, 9, 25, 2, 4 }, - { 13, 11, 10, 25, 2, 4 }, { 13, 10, 11, 26, 2, 4 }, { 13, 9, 11, 26, 2, 4 }, { 12, 8, 12, 26, 2, 4 }, { 12, 7, 12, 26, 2, 4 }, - { 12, 6, 13, 26, 2, 4 }, { 11, 5, 13, 26, 2, 4 }, { 11, 4, 14, 26, 2, 4 }, { 11, 3, 14, 26, 2, 4 }, { 10, 2, 15, 26, 2, 4 }, - { 10, 1, 15, 26, 2, 4 }, { 9, 0, 16, 26, 2, 4 }, { 9, -1, 17, 26, 2, 4 }, { 8, -2, 17, 26, 2, 4 }, { 8, -3, 18, 26, 2, 4 }, - { 7, -4, 18, 26, 2, 4 }, { 7, -5, 19, 27, 2, 4 }, { 6, -6, 19, 27, 2, 4 }, { 6, -7, 20, 27, 2, 4 }, { 5, -8, 21, 27, 2, 4 }, - { 4, -9, 21, 27, 2, 4 }, { 4, -10, 22, 27, 2, 4 }, { 3, -11, 22, 27, 2, 4 }, { 2, -12, 23, 27, 2, 4 }, { 2, -13, 24, 27, 2, 4 }, - { 1, -14, 24, 27, 2, 4 }, { 0, -15, 25, 27, 2, 4 }, { 0, -16, 26, 27, 2, 4 }, { -1, -17, 26, 27, 2, 4 }, { -2, -18, 27, 28, 2, 4 }, - { -3, -19, 27, 28, 2, 4 }, { -3, -20, 28, 28, 2, 4 }, { -4, -21, 29, 28, 2, 4 }, { -5, -22, 29, 28, 2, 4 }, { -6, -23, 30, 28, 2, 4 }, - { -7, -24, 31, 28, 2, 4 }, { -7, -25, 32, 28, 2, 4 }, { -8, -26, 32, 28, 2, 4 }, { -9, -27, 33, 28, 2, 4 }, { -10, -28, 33, 28, 2, 4 }, - { -11, -29, 34, 28, 2, 4 }, { -12, -29, 35, 28, 2, 4 }, { -13, -30, 35, 29, 2, 4 }, { -14, -31, 36, 29, 2, 4 }, { -15, -32, 37, 29, 2, 4 }, - { -16, -32, 37, 29, 2, 4 }, { -17, -33, 38, 29, 2, 4 }, { -18, -34, 38, 29, 2, 4 }, { -19, -34, 39, 29, 2, 4 }, { -20, -35, 40, 29, 2, 4 }, - { -21, -36, 40, 29, 2, 4 }, { -22, -36, 41, 29, 2, 4 }, { -23, -37, 41, 29, 2, 4 }, { -24, -38, 42, 29, 2, 4 }, { -25, -38, 43, 29, 2, 4 }, - { -26, -39, 43, 30, 2, 4 }, { -27, -39, 44, 30, 2, 4 }, { -28, -40, 44, 30, 2, 4 }, { -29, -40, 45, 30, 2, 4 }, { -30, -41, 45, 30, 2, 4 }, - { -31, -41, 46, 30, 2, 4 }, { -32, -42, 47, 30, 2, 4 }, { -33, -42, 47, 30, 2, 4 }, { -34, -43, 48, 30, 2, 4 }, { -35, -43, 48, 30, 2, 4 }, - { -36, -43, 49, 30, 2, 4 }, { -37, -44, 49, 30, 2, 4 }, { -38, -44, 50, 30, 2, 4 }, { -39, -44, 51, 30, 2, 4 }, { -40, -45, 51, 31, 2, 4 }, - { -41, -45, 52, 31, 2, 4 }, { -42, -45, 52, 31, 2, 4 }, { -43, -45, 53, 31, 2, 4 }, { -44, -46, 53, 31, 2, 4 }, { -45, -46, 54, 31, 2, 4 }, - { -46, -46, 54, 31, 2, 4 }, { -47, -46, 55, 31, 2, 4 }, { -48, -46, 55, 31, 2, 4 }, { -49, -47, 56, 31, 2, 4 }, { -50, -47, 56, 31, 2, 4 }, - { -51, -47, 57, 31, 2, 4 }, { -52, -47, 57, 31, 2, 4 }, { -53, -47, 58, 31, 2, 4 }, { -54, -47, 58, 31, 2, 4 }, { -55, -48, 59, 31, 2, 4 }, - { -56, -48, 59, 0, 2, 4 }, { -57, -48, 60, 0, 2, 4 }, { -58, -48, 60, 0, 2, 4 }, { -59, -48, 61, 0, 2, 4 }, { -60, -48, 61, 0, 2, 4 }, - { -61, -48, 62, 0, 2, 4 }, { -62, -48, 62, 0, 2, 4 }, { -63, -48, 63, 0, 2, 4 }, { -64, -48, 64, 0, 2, 4 }, + 114, { + { 16, 31, 0, 24, 2, 4 }, { 16, 30, 0, 24, 2, 4 }, { 16, 29, 1, 24, 2, 4 }, { 16, 28, 1, 24, 2, 4 }, { 16, 27, 2, 24, 2, 4 }, + { 16, 26, 2, 24, 2, 4 }, { 16, 25, 3, 24, 2, 4 }, { 16, 24, 3, 25, 2, 4 }, { 15, 23, 4, 25, 2, 4 }, { 15, 22, 4, 25, 2, 4 }, + { 15, 21, 5, 25, 2, 4 }, { 15, 20, 5, 25, 2, 4 }, { 15, 19, 6, 25, 2, 4 }, { 15, 18, 6, 25, 2, 4 }, { 14, 17, 7, 25, 2, 4 }, + { 14, 16, 8, 25, 2, 4 }, { 14, 15, 8, 25, 2, 4 }, { 14, 14, 8, 25, 2, 4 }, { 14, 13, 9, 25, 2, 4 }, { 13, 12, 9, 25, 2, 4 }, + { 13, 11, 10, 25, 2, 4 }, { 13, 10, 11, 26, 2, 4 }, { 13, 9, 11, 26, 2, 4 }, { 12, 8, 12, 26, 2, 4 }, { 12, 7, 12, 26, 2, 4 }, + { 12, 6, 13, 26, 2, 4 }, { 11, 5, 13, 26, 2, 4 }, { 11, 4, 14, 26, 2, 4 }, { 11, 3, 14, 26, 2, 4 }, { 10, 2, 15, 26, 2, 4 }, + { 10, 1, 15, 26, 2, 4 }, { 9, 0, 16, 26, 2, 4 }, { 9, -1, 17, 26, 2, 4 }, { 8, -2, 17, 26, 2, 4 }, { 8, -3, 18, 26, 2, 4 }, + { 7, -4, 18, 26, 2, 4 }, { 7, -5, 19, 27, 2, 4 }, { 6, -6, 19, 27, 2, 4 }, { 6, -7, 20, 27, 2, 4 }, { 5, -8, 21, 27, 2, 4 }, + { 4, -9, 21, 27, 2, 4 }, { 4, -10, 22, 27, 2, 4 }, { 3, -11, 22, 27, 2, 4 }, { 2, -12, 23, 27, 2, 4 }, { 2, -13, 24, 27, 2, 4 }, + { 1, -14, 24, 27, 2, 4 }, { 0, -15, 25, 27, 2, 4 }, { 0, -16, 26, 27, 2, 4 }, { -1, -17, 26, 27, 2, 4 }, { -2, -18, 27, 28, 2, 4 }, + { -3, -19, 27, 28, 2, 4 }, { -3, -20, 28, 28, 2, 4 }, { -4, -21, 29, 28, 2, 4 }, { -5, -22, 29, 28, 2, 4 }, { -6, -23, 30, 28, 2, 4 }, + { -7, -24, 31, 28, 2, 4 }, { -7, -25, 32, 28, 2, 4 }, { -8, -26, 32, 28, 2, 4 }, { -9, -27, 33, 28, 2, 4 }, { -10, -28, 33, 28, 2, 4 }, + { -11, -29, 34, 28, 2, 4 }, { -12, -29, 35, 28, 2, 4 }, { -13, -30, 35, 29, 2, 4 }, { -14, -31, 36, 29, 2, 4 }, { -15, -32, 37, 29, 2, 4 }, + { -16, -32, 37, 29, 2, 4 }, { -17, -33, 38, 29, 2, 4 }, { -18, -34, 38, 29, 2, 4 }, { -19, -34, 39, 29, 2, 4 }, { -20, -35, 40, 29, 2, 4 }, + { -21, -36, 40, 29, 2, 4 }, { -22, -36, 41, 29, 2, 4 }, { -23, -37, 41, 29, 2, 4 }, { -24, -38, 42, 29, 2, 4 }, { -25, -38, 43, 29, 2, 4 }, + { -26, -39, 43, 30, 2, 4 }, { -27, -39, 44, 30, 2, 4 }, { -28, -40, 44, 30, 2, 4 }, { -29, -40, 45, 30, 2, 4 }, { -30, -41, 45, 30, 2, 4 }, + { -31, -41, 46, 30, 2, 4 }, { -32, -42, 47, 30, 2, 4 }, { -33, -42, 47, 30, 2, 4 }, { -34, -43, 48, 30, 2, 4 }, { -35, -43, 48, 30, 2, 4 }, + { -36, -43, 49, 30, 2, 4 }, { -37, -44, 49, 30, 2, 4 }, { -38, -44, 50, 30, 2, 4 }, { -39, -44, 51, 30, 2, 4 }, { -40, -45, 51, 31, 2, 4 }, + { -41, -45, 52, 31, 2, 4 }, { -42, -45, 52, 31, 2, 4 }, { -43, -45, 53, 31, 2, 4 }, { -44, -46, 53, 31, 2, 4 }, { -45, -46, 54, 31, 2, 4 }, + { -46, -46, 54, 31, 2, 4 }, { -47, -46, 55, 31, 2, 4 }, { -48, -46, 55, 31, 2, 4 }, { -49, -47, 56, 31, 2, 4 }, { -50, -47, 56, 31, 2, 4 }, + { -51, -47, 57, 31, 2, 4 }, { -52, -47, 57, 31, 2, 4 }, { -53, -47, 58, 31, 2, 4 }, { -54, -47, 58, 31, 2, 4 }, { -55, -48, 59, 31, 2, 4 }, + { -56, -48, 59, 0, 2, 4 }, { -57, -48, 60, 0, 2, 4 }, { -58, -48, 60, 0, 2, 4 }, { -59, -48, 61, 0, 2, 4 }, { -60, -48, 61, 0, 2, 4 }, + { -61, -48, 62, 0, 2, 4 }, { -62, -48, 62, 0, 2, 4 }, { -63, -48, 63, 0, 2, 4 }, { -64, -48, 64, 0, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95D89E = { - 114, { - { 31, 16, 15, 0, 6, 2 }, { 30, 16, 15, 0, 6, 2 }, { 29, 16, 14, 0, 6, 2 }, { 28, 16, 14, 0, 6, 2 }, { 27, 16, 13, 0, 6, 2 }, - { 26, 16, 13, 0, 6, 2 }, { 25, 16, 12, 0, 6, 2 }, { 24, 16, 12, 31, 6, 2 }, { 23, 15, 11, 31, 6, 2 }, { 22, 15, 11, 31, 6, 2 }, - { 21, 15, 10, 31, 6, 2 }, { 20, 15, 10, 31, 6, 2 }, { 19, 15, 9, 31, 6, 2 }, { 18, 15, 9, 31, 6, 2 }, { 17, 14, 8, 31, 6, 2 }, - { 16, 14, 7, 31, 6, 2 }, { 15, 14, 7, 31, 6, 2 }, { 14, 14, 7, 31, 6, 2 }, { 13, 14, 6, 31, 6, 2 }, { 12, 13, 6, 31, 6, 2 }, - { 11, 13, 5, 31, 6, 2 }, { 10, 13, 4, 30, 6, 2 }, { 9, 13, 4, 30, 6, 2 }, { 8, 12, 3, 30, 6, 2 }, { 7, 12, 3, 30, 6, 2 }, - { 6, 12, 2, 30, 6, 2 }, { 5, 11, 2, 30, 6, 2 }, { 4, 11, 1, 30, 6, 2 }, { 3, 11, 1, 30, 6, 2 }, { 2, 10, 0, 30, 6, 2 }, - { 1, 10, 0, 30, 6, 2 }, { 0, 9, -1, 30, 6, 2 }, { -1, 9, -2, 30, 6, 2 }, { -2, 8, -2, 30, 6, 2 }, { -3, 8, -3, 30, 6, 2 }, - { -4, 7, -3, 30, 6, 2 }, { -5, 7, -4, 29, 6, 2 }, { -6, 6, -4, 29, 6, 2 }, { -7, 6, -5, 29, 6, 2 }, { -8, 5, -6, 29, 6, 2 }, - { -9, 4, -6, 29, 6, 2 }, { -10, 4, -7, 29, 6, 2 }, { -11, 3, -7, 29, 6, 2 }, { -12, 2, -8, 29, 6, 2 }, { -13, 2, -9, 29, 6, 2 }, - { -14, 1, -9, 29, 6, 2 }, { -15, 0, -10, 29, 6, 2 }, { -16, 0, -11, 29, 6, 2 }, { -17, -1, -11, 29, 6, 2 }, { -18, -2, -12, 28, 6, 2 }, - { -19, -3, -12, 28, 6, 2 }, { -20, -3, -13, 28, 6, 2 }, { -21, -4, -14, 28, 6, 2 }, { -22, -5, -14, 28, 6, 2 }, { -23, -6, -15, 28, 6, 2 }, - { -24, -7, -16, 28, 6, 2 }, { -25, -7, -16, 28, 6, 2 }, { -26, -8, -17, 28, 6, 2 }, { -27, -9, -17, 28, 6, 2 }, { -28, -10, -18, 28, 6, 2 }, - { -29, -11, -19, 28, 6, 2 }, { -29, -12, -19, 28, 6, 2 }, { -30, -13, -20, 27, 6, 2 }, { -31, -14, -21, 27, 6, 2 }, { -32, -15, -21, 27, 6, 2 }, - { -32, -16, -22, 27, 6, 2 }, { -33, -17, -22, 27, 6, 2 }, { -34, -18, -23, 27, 6, 2 }, { -34, -19, -24, 27, 6, 2 }, { -35, -20, -24, 27, 6, 2 }, - { -36, -21, -25, 27, 6, 2 }, { -36, -22, -26, 27, 6, 2 }, { -37, -23, -26, 27, 6, 2 }, { -38, -24, -27, 27, 6, 2 }, { -38, -25, -27, 27, 6, 2 }, - { -39, -26, -28, 26, 6, 2 }, { -39, -27, -29, 26, 6, 2 }, { -40, -28, -29, 26, 6, 2 }, { -40, -29, -30, 26, 6, 2 }, { -41, -30, -30, 26, 6, 2 }, - { -41, -31, -31, 26, 6, 2 }, { -42, -32, -31, 26, 6, 2 }, { -42, -33, -32, 26, 6, 2 }, { -43, -34, -33, 26, 6, 2 }, { -43, -35, -33, 26, 6, 2 }, - { -43, -36, -34, 26, 6, 2 }, { -44, -37, -34, 26, 6, 2 }, { -44, -38, -35, 26, 6, 2 }, { -44, -39, -35, 26, 6, 2 }, { -45, -40, -36, 25, 6, 2 }, - { -45, -41, -36, 25, 6, 2 }, { -45, -42, -37, 25, 6, 2 }, { -45, -43, -37, 25, 6, 2 }, { -46, -44, -38, 25, 6, 2 }, { -46, -45, -39, 25, 6, 2 }, - { -46, -46, -39, 25, 6, 2 }, { -46, -47, -40, 25, 6, 2 }, { -46, -48, -40, 25, 6, 2 }, { -47, -49, -40, 25, 6, 2 }, { -47, -50, -41, 25, 6, 2 }, - { -47, -51, -42, 25, 6, 2 }, { -47, -52, -42, 25, 6, 2 }, { -47, -53, -43, 25, 6, 2 }, { -47, -54, -43, 25, 6, 2 }, { -48, -55, -44, 25, 6, 2 }, - { -48, -56, -44, 24, 6, 2 }, { -48, -57, -45, 24, 6, 2 }, { -48, -58, -45, 24, 6, 2 }, { -48, -59, -46, 24, 6, 2 }, { -48, -60, -46, 24, 6, 2 }, - { -48, -61, -47, 24, 6, 2 }, { -48, -62, -47, 24, 6, 2 }, { -48, -63, -48, 24, 6, 2 }, { -48, -64, -49, 24, 6, 2 }, + 114, { + { 31, 16, 15, 0, 6, 2 }, { 30, 16, 15, 0, 6, 2 }, { 29, 16, 14, 0, 6, 2 }, { 28, 16, 14, 0, 6, 2 }, { 27, 16, 13, 0, 6, 2 }, + { 26, 16, 13, 0, 6, 2 }, { 25, 16, 12, 0, 6, 2 }, { 24, 16, 12, 31, 6, 2 }, { 23, 15, 11, 31, 6, 2 }, { 22, 15, 11, 31, 6, 2 }, + { 21, 15, 10, 31, 6, 2 }, { 20, 15, 10, 31, 6, 2 }, { 19, 15, 9, 31, 6, 2 }, { 18, 15, 9, 31, 6, 2 }, { 17, 14, 8, 31, 6, 2 }, + { 16, 14, 7, 31, 6, 2 }, { 15, 14, 7, 31, 6, 2 }, { 14, 14, 7, 31, 6, 2 }, { 13, 14, 6, 31, 6, 2 }, { 12, 13, 6, 31, 6, 2 }, + { 11, 13, 5, 31, 6, 2 }, { 10, 13, 4, 30, 6, 2 }, { 9, 13, 4, 30, 6, 2 }, { 8, 12, 3, 30, 6, 2 }, { 7, 12, 3, 30, 6, 2 }, + { 6, 12, 2, 30, 6, 2 }, { 5, 11, 2, 30, 6, 2 }, { 4, 11, 1, 30, 6, 2 }, { 3, 11, 1, 30, 6, 2 }, { 2, 10, 0, 30, 6, 2 }, + { 1, 10, 0, 30, 6, 2 }, { 0, 9, -1, 30, 6, 2 }, { -1, 9, -2, 30, 6, 2 }, { -2, 8, -2, 30, 6, 2 }, { -3, 8, -3, 30, 6, 2 }, + { -4, 7, -3, 30, 6, 2 }, { -5, 7, -4, 29, 6, 2 }, { -6, 6, -4, 29, 6, 2 }, { -7, 6, -5, 29, 6, 2 }, { -8, 5, -6, 29, 6, 2 }, + { -9, 4, -6, 29, 6, 2 }, { -10, 4, -7, 29, 6, 2 }, { -11, 3, -7, 29, 6, 2 }, { -12, 2, -8, 29, 6, 2 }, { -13, 2, -9, 29, 6, 2 }, + { -14, 1, -9, 29, 6, 2 }, { -15, 0, -10, 29, 6, 2 }, { -16, 0, -11, 29, 6, 2 }, { -17, -1, -11, 29, 6, 2 }, { -18, -2, -12, 28, 6, 2 }, + { -19, -3, -12, 28, 6, 2 }, { -20, -3, -13, 28, 6, 2 }, { -21, -4, -14, 28, 6, 2 }, { -22, -5, -14, 28, 6, 2 }, { -23, -6, -15, 28, 6, 2 }, + { -24, -7, -16, 28, 6, 2 }, { -25, -7, -16, 28, 6, 2 }, { -26, -8, -17, 28, 6, 2 }, { -27, -9, -17, 28, 6, 2 }, { -28, -10, -18, 28, 6, 2 }, + { -29, -11, -19, 28, 6, 2 }, { -29, -12, -19, 28, 6, 2 }, { -30, -13, -20, 27, 6, 2 }, { -31, -14, -21, 27, 6, 2 }, { -32, -15, -21, 27, 6, 2 }, + { -32, -16, -22, 27, 6, 2 }, { -33, -17, -22, 27, 6, 2 }, { -34, -18, -23, 27, 6, 2 }, { -34, -19, -24, 27, 6, 2 }, { -35, -20, -24, 27, 6, 2 }, + { -36, -21, -25, 27, 6, 2 }, { -36, -22, -26, 27, 6, 2 }, { -37, -23, -26, 27, 6, 2 }, { -38, -24, -27, 27, 6, 2 }, { -38, -25, -27, 27, 6, 2 }, + { -39, -26, -28, 26, 6, 2 }, { -39, -27, -29, 26, 6, 2 }, { -40, -28, -29, 26, 6, 2 }, { -40, -29, -30, 26, 6, 2 }, { -41, -30, -30, 26, 6, 2 }, + { -41, -31, -31, 26, 6, 2 }, { -42, -32, -31, 26, 6, 2 }, { -42, -33, -32, 26, 6, 2 }, { -43, -34, -33, 26, 6, 2 }, { -43, -35, -33, 26, 6, 2 }, + { -43, -36, -34, 26, 6, 2 }, { -44, -37, -34, 26, 6, 2 }, { -44, -38, -35, 26, 6, 2 }, { -44, -39, -35, 26, 6, 2 }, { -45, -40, -36, 25, 6, 2 }, + { -45, -41, -36, 25, 6, 2 }, { -45, -42, -37, 25, 6, 2 }, { -45, -43, -37, 25, 6, 2 }, { -46, -44, -38, 25, 6, 2 }, { -46, -45, -39, 25, 6, 2 }, + { -46, -46, -39, 25, 6, 2 }, { -46, -47, -40, 25, 6, 2 }, { -46, -48, -40, 25, 6, 2 }, { -47, -49, -40, 25, 6, 2 }, { -47, -50, -41, 25, 6, 2 }, + { -47, -51, -42, 25, 6, 2 }, { -47, -52, -42, 25, 6, 2 }, { -47, -53, -43, 25, 6, 2 }, { -47, -54, -43, 25, 6, 2 }, { -48, -55, -44, 25, 6, 2 }, + { -48, -56, -44, 24, 6, 2 }, { -48, -57, -45, 24, 6, 2 }, { -48, -58, -45, 24, 6, 2 }, { -48, -59, -46, 24, 6, 2 }, { -48, -60, -46, 24, 6, 2 }, + { -48, -61, -47, 24, 6, 2 }, { -48, -62, -47, 24, 6, 2 }, { -48, -63, -48, 24, 6, 2 }, { -48, -64, -49, 24, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95DCA2 = { - 115, { - { 16, 0, 15, 8, 6, 2 }, { 16, 1, 15, 8, 6, 2 }, { 16, 2, 15, 8, 6, 2 }, { 16, 3, 14, 8, 6, 2 }, { 16, 4, 14, 8, 6, 2 }, - { 16, 5, 13, 8, 6, 2 }, { 16, 6, 13, 8, 6, 2 }, { 16, 7, 12, 8, 6, 2 }, { 16, 8, 12, 7, 6, 2 }, { 15, 9, 11, 7, 6, 2 }, - { 15, 10, 11, 7, 6, 2 }, { 15, 11, 10, 7, 6, 2 }, { 15, 12, 10, 7, 6, 2 }, { 15, 13, 9, 7, 6, 2 }, { 15, 14, 9, 7, 6, 2 }, - { 14, 15, 8, 7, 6, 2 }, { 14, 16, 7, 7, 6, 2 }, { 14, 17, 7, 7, 6, 2 }, { 14, 18, 7, 7, 6, 2 }, { 14, 19, 6, 7, 6, 2 }, - { 13, 20, 6, 7, 6, 2 }, { 13, 21, 5, 7, 6, 2 }, { 13, 22, 4, 6, 6, 2 }, { 13, 23, 4, 6, 6, 2 }, { 12, 24, 3, 6, 6, 2 }, - { 12, 25, 3, 6, 6, 2 }, { 12, 26, 2, 6, 6, 2 }, { 11, 27, 2, 6, 6, 2 }, { 11, 28, 1, 6, 6, 2 }, { 11, 29, 1, 6, 6, 2 }, - { 10, 30, 0, 6, 6, 2 }, { 10, 31, 0, 6, 6, 2 }, { 9, 32, -1, 6, 6, 2 }, { 9, 33, -2, 6, 6, 2 }, { 8, 34, -2, 6, 6, 2 }, - { 8, 35, -3, 6, 6, 2 }, { 7, 36, -3, 6, 6, 2 }, { 7, 37, -4, 5, 6, 2 }, { 6, 38, -4, 5, 6, 2 }, { 6, 39, -5, 5, 6, 2 }, - { 5, 40, -6, 5, 6, 2 }, { 4, 41, -6, 5, 6, 2 }, { 4, 42, -7, 5, 6, 2 }, { 3, 43, -7, 5, 6, 2 }, { 2, 44, -8, 5, 6, 2 }, - { 2, 45, -9, 5, 6, 2 }, { 1, 46, -9, 5, 6, 2 }, { 0, 47, -10, 5, 6, 2 }, { 0, 48, -11, 5, 6, 2 }, { -1, 49, -11, 5, 6, 2 }, - { -2, 50, -12, 4, 6, 2 }, { -3, 51, -12, 4, 6, 2 }, { -3, 52, -13, 4, 6, 2 }, { -4, 53, -14, 4, 6, 2 }, { -5, 54, -14, 4, 6, 2 }, - { -6, 55, -15, 4, 6, 2 }, { -7, 56, -16, 4, 6, 2 }, { -7, 57, -16, 4, 6, 2 }, { -8, 58, -17, 4, 6, 2 }, { -9, 59, -17, 4, 6, 2 }, - { -10, 60, -18, 4, 6, 2 }, { -11, 61, -19, 4, 6, 2 }, { -12, 61, -19, 4, 6, 2 }, { -13, 62, -20, 3, 6, 2 }, { -14, 63, -21, 3, 6, 2 }, - { -15, 64, -21, 3, 6, 2 }, { -16, 64, -22, 3, 6, 2 }, { -17, 65, -22, 3, 6, 2 }, { -18, 66, -23, 3, 6, 2 }, { -19, 66, -24, 3, 6, 2 }, - { -20, 67, -24, 3, 6, 2 }, { -21, 68, -25, 3, 6, 2 }, { -22, 68, -26, 3, 6, 2 }, { -23, 69, -26, 3, 6, 2 }, { -24, 70, -27, 3, 6, 2 }, - { -25, 70, -27, 3, 6, 2 }, { -26, 71, -28, 2, 6, 2 }, { -27, 71, -29, 2, 6, 2 }, { -28, 72, -29, 2, 6, 2 }, { -29, 72, -30, 2, 6, 2 }, - { -30, 73, -30, 2, 6, 2 }, { -31, 73, -31, 2, 6, 2 }, { -32, 74, -31, 2, 6, 2 }, { -33, 74, -32, 2, 6, 2 }, { -34, 75, -33, 2, 6, 2 }, - { -35, 75, -33, 2, 6, 2 }, { -36, 75, -34, 2, 6, 2 }, { -37, 76, -34, 2, 6, 2 }, { -38, 76, -35, 2, 6, 2 }, { -39, 76, -35, 2, 6, 2 }, - { -40, 77, -36, 1, 6, 2 }, { -41, 77, -36, 1, 6, 2 }, { -42, 77, -37, 1, 6, 2 }, { -43, 77, -37, 1, 6, 2 }, { -44, 78, -38, 1, 6, 2 }, - { -45, 78, -39, 1, 6, 2 }, { -46, 78, -39, 1, 6, 2 }, { -47, 78, -40, 1, 6, 2 }, { -48, 78, -40, 1, 6, 2 }, { -49, 79, -40, 1, 6, 2 }, - { -50, 79, -41, 1, 6, 2 }, { -51, 79, -42, 1, 6, 2 }, { -52, 79, -42, 1, 6, 2 }, { -53, 79, -43, 1, 6, 2 }, { -54, 79, -43, 1, 6, 2 }, - { -55, 80, -44, 1, 6, 2 }, { -56, 80, -44, 0, 6, 2 }, { -57, 80, -45, 0, 6, 2 }, { -58, 80, -45, 0, 6, 2 }, { -59, 80, -46, 0, 6, 2 }, - { -60, 80, -46, 0, 6, 2 }, { -61, 80, -47, 0, 6, 2 }, { -62, 80, -47, 0, 6, 2 }, { -63, 80, -48, 0, 6, 2 }, { -64, 80, -49, 0, 6, 2 }, + 115, { + { 16, 0, 15, 8, 6, 2 }, { 16, 1, 15, 8, 6, 2 }, { 16, 2, 15, 8, 6, 2 }, { 16, 3, 14, 8, 6, 2 }, { 16, 4, 14, 8, 6, 2 }, + { 16, 5, 13, 8, 6, 2 }, { 16, 6, 13, 8, 6, 2 }, { 16, 7, 12, 8, 6, 2 }, { 16, 8, 12, 7, 6, 2 }, { 15, 9, 11, 7, 6, 2 }, + { 15, 10, 11, 7, 6, 2 }, { 15, 11, 10, 7, 6, 2 }, { 15, 12, 10, 7, 6, 2 }, { 15, 13, 9, 7, 6, 2 }, { 15, 14, 9, 7, 6, 2 }, + { 14, 15, 8, 7, 6, 2 }, { 14, 16, 7, 7, 6, 2 }, { 14, 17, 7, 7, 6, 2 }, { 14, 18, 7, 7, 6, 2 }, { 14, 19, 6, 7, 6, 2 }, + { 13, 20, 6, 7, 6, 2 }, { 13, 21, 5, 7, 6, 2 }, { 13, 22, 4, 6, 6, 2 }, { 13, 23, 4, 6, 6, 2 }, { 12, 24, 3, 6, 6, 2 }, + { 12, 25, 3, 6, 6, 2 }, { 12, 26, 2, 6, 6, 2 }, { 11, 27, 2, 6, 6, 2 }, { 11, 28, 1, 6, 6, 2 }, { 11, 29, 1, 6, 6, 2 }, + { 10, 30, 0, 6, 6, 2 }, { 10, 31, 0, 6, 6, 2 }, { 9, 32, -1, 6, 6, 2 }, { 9, 33, -2, 6, 6, 2 }, { 8, 34, -2, 6, 6, 2 }, + { 8, 35, -3, 6, 6, 2 }, { 7, 36, -3, 6, 6, 2 }, { 7, 37, -4, 5, 6, 2 }, { 6, 38, -4, 5, 6, 2 }, { 6, 39, -5, 5, 6, 2 }, + { 5, 40, -6, 5, 6, 2 }, { 4, 41, -6, 5, 6, 2 }, { 4, 42, -7, 5, 6, 2 }, { 3, 43, -7, 5, 6, 2 }, { 2, 44, -8, 5, 6, 2 }, + { 2, 45, -9, 5, 6, 2 }, { 1, 46, -9, 5, 6, 2 }, { 0, 47, -10, 5, 6, 2 }, { 0, 48, -11, 5, 6, 2 }, { -1, 49, -11, 5, 6, 2 }, + { -2, 50, -12, 4, 6, 2 }, { -3, 51, -12, 4, 6, 2 }, { -3, 52, -13, 4, 6, 2 }, { -4, 53, -14, 4, 6, 2 }, { -5, 54, -14, 4, 6, 2 }, + { -6, 55, -15, 4, 6, 2 }, { -7, 56, -16, 4, 6, 2 }, { -7, 57, -16, 4, 6, 2 }, { -8, 58, -17, 4, 6, 2 }, { -9, 59, -17, 4, 6, 2 }, + { -10, 60, -18, 4, 6, 2 }, { -11, 61, -19, 4, 6, 2 }, { -12, 61, -19, 4, 6, 2 }, { -13, 62, -20, 3, 6, 2 }, { -14, 63, -21, 3, 6, 2 }, + { -15, 64, -21, 3, 6, 2 }, { -16, 64, -22, 3, 6, 2 }, { -17, 65, -22, 3, 6, 2 }, { -18, 66, -23, 3, 6, 2 }, { -19, 66, -24, 3, 6, 2 }, + { -20, 67, -24, 3, 6, 2 }, { -21, 68, -25, 3, 6, 2 }, { -22, 68, -26, 3, 6, 2 }, { -23, 69, -26, 3, 6, 2 }, { -24, 70, -27, 3, 6, 2 }, + { -25, 70, -27, 3, 6, 2 }, { -26, 71, -28, 2, 6, 2 }, { -27, 71, -29, 2, 6, 2 }, { -28, 72, -29, 2, 6, 2 }, { -29, 72, -30, 2, 6, 2 }, + { -30, 73, -30, 2, 6, 2 }, { -31, 73, -31, 2, 6, 2 }, { -32, 74, -31, 2, 6, 2 }, { -33, 74, -32, 2, 6, 2 }, { -34, 75, -33, 2, 6, 2 }, + { -35, 75, -33, 2, 6, 2 }, { -36, 75, -34, 2, 6, 2 }, { -37, 76, -34, 2, 6, 2 }, { -38, 76, -35, 2, 6, 2 }, { -39, 76, -35, 2, 6, 2 }, + { -40, 77, -36, 1, 6, 2 }, { -41, 77, -36, 1, 6, 2 }, { -42, 77, -37, 1, 6, 2 }, { -43, 77, -37, 1, 6, 2 }, { -44, 78, -38, 1, 6, 2 }, + { -45, 78, -39, 1, 6, 2 }, { -46, 78, -39, 1, 6, 2 }, { -47, 78, -40, 1, 6, 2 }, { -48, 78, -40, 1, 6, 2 }, { -49, 79, -40, 1, 6, 2 }, + { -50, 79, -41, 1, 6, 2 }, { -51, 79, -42, 1, 6, 2 }, { -52, 79, -42, 1, 6, 2 }, { -53, 79, -43, 1, 6, 2 }, { -54, 79, -43, 1, 6, 2 }, + { -55, 80, -44, 1, 6, 2 }, { -56, 80, -44, 0, 6, 2 }, { -57, 80, -45, 0, 6, 2 }, { -58, 80, -45, 0, 6, 2 }, { -59, 80, -46, 0, 6, 2 }, + { -60, 80, -46, 0, 6, 2 }, { -61, 80, -47, 0, 6, 2 }, { -62, 80, -47, 0, 6, 2 }, { -63, 80, -48, 0, 6, 2 }, { -64, 80, -49, 0, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95E0AF = { - 114, { - { 0, 16, 15, 16, 6, 2 }, { 1, 16, 15, 16, 6, 2 }, { 2, 16, 15, 16, 6, 2 }, { 3, 16, 14, 16, 6, 2 }, { 4, 16, 14, 16, 6, 2 }, - { 5, 16, 13, 16, 6, 2 }, { 6, 16, 13, 16, 6, 2 }, { 7, 16, 12, 16, 6, 2 }, { 8, 16, 12, 15, 6, 2 }, { 9, 17, 11, 15, 6, 2 }, - { 10, 17, 10, 15, 6, 2 }, { 11, 17, 10, 15, 6, 2 }, { 12, 17, 10, 15, 6, 2 }, { 13, 17, 9, 15, 6, 2 }, { 14, 17, 9, 15, 6, 2 }, - { 15, 18, 8, 15, 6, 2 }, { 16, 18, 7, 15, 6, 2 }, { 17, 18, 7, 15, 6, 2 }, { 18, 18, 6, 15, 6, 2 }, { 19, 18, 6, 15, 6, 2 }, - { 20, 19, 5, 15, 6, 2 }, { 21, 19, 5, 15, 6, 2 }, { 22, 19, 4, 14, 6, 2 }, { 23, 19, 4, 14, 6, 2 }, { 24, 20, 3, 14, 6, 2 }, - { 25, 20, 3, 14, 6, 2 }, { 26, 20, 2, 14, 6, 2 }, { 27, 21, 2, 14, 6, 2 }, { 28, 21, 1, 14, 6, 2 }, { 29, 21, 1, 14, 6, 2 }, - { 30, 22, 0, 14, 6, 2 }, { 31, 22, -1, 14, 6, 2 }, { 32, 23, -1, 14, 6, 2 }, { 33, 23, -2, 14, 6, 2 }, { 34, 24, -2, 14, 6, 2 }, - { 35, 24, -3, 14, 6, 2 }, { 36, 25, -3, 14, 6, 2 }, { 37, 25, -4, 13, 6, 2 }, { 38, 26, -5, 13, 6, 2 }, { 39, 26, -5, 13, 6, 2 }, - { 40, 27, -6, 13, 6, 2 }, { 41, 28, -6, 13, 6, 2 }, { 42, 28, -7, 13, 6, 2 }, { 43, 29, -8, 13, 6, 2 }, { 44, 30, -8, 13, 6, 2 }, - { 45, 30, -9, 13, 6, 2 }, { 46, 31, -9, 13, 6, 2 }, { 47, 32, -10, 13, 6, 2 }, { 48, 32, -11, 13, 6, 2 }, { 49, 33, -11, 13, 6, 2 }, - { 50, 34, -12, 12, 6, 2 }, { 51, 35, -13, 12, 6, 2 }, { 52, 35, -13, 12, 6, 2 }, { 53, 36, -14, 12, 6, 2 }, { 54, 37, -14, 12, 6, 2 }, - { 55, 38, -15, 12, 6, 2 }, { 56, 39, -16, 12, 6, 2 }, { 57, 39, -17, 12, 6, 2 }, { 58, 40, -17, 12, 6, 2 }, { 59, 41, -18, 12, 6, 2 }, - { 60, 42, -18, 12, 6, 2 }, { 61, 43, -19, 12, 6, 2 }, { 61, 44, -20, 12, 6, 2 }, { 62, 45, -20, 11, 6, 2 }, { 63, 46, -21, 11, 6, 2 }, - { 64, 47, -22, 11, 6, 2 }, { 64, 48, -22, 11, 6, 2 }, { 65, 49, -23, 11, 6, 2 }, { 66, 50, -23, 11, 6, 2 }, { 66, 51, -24, 11, 6, 2 }, - { 67, 52, -25, 11, 6, 2 }, { 68, 53, -25, 11, 6, 2 }, { 68, 54, -26, 11, 6, 2 }, { 69, 55, -26, 11, 6, 2 }, { 70, 56, -27, 11, 6, 2 }, - { 70, 57, -28, 11, 6, 2 }, { 71, 58, -28, 10, 6, 2 }, { 71, 59, -29, 10, 6, 2 }, { 72, 60, -29, 10, 6, 2 }, { 72, 61, -30, 10, 6, 2 }, - { 73, 62, -31, 10, 6, 2 }, { 73, 63, -31, 10, 6, 2 }, { 74, 64, -32, 10, 6, 2 }, { 74, 65, -32, 10, 6, 2 }, { 75, 66, -33, 10, 6, 2 }, - { 75, 67, -34, 10, 6, 2 }, { 75, 68, -34, 10, 6, 2 }, { 76, 69, -35, 10, 6, 2 }, { 76, 70, -35, 10, 6, 2 }, { 76, 71, -36, 10, 6, 2 }, - { 77, 72, -36, 9, 6, 2 }, { 77, 73, -37, 9, 6, 2 }, { 77, 74, -37, 9, 6, 2 }, { 77, 75, -38, 9, 6, 2 }, { 78, 76, -38, 9, 6, 2 }, - { 78, 77, -39, 9, 6, 2 }, { 78, 78, -39, 9, 6, 2 }, { 78, 79, -40, 9, 6, 2 }, { 78, 80, -40, 9, 6, 2 }, { 79, 81, -41, 9, 6, 2 }, - { 79, 82, -42, 9, 6, 2 }, { 79, 83, -42, 9, 6, 2 }, { 79, 84, -43, 9, 6, 2 }, { 79, 85, -43, 9, 6, 2 }, { 79, 86, -43, 9, 6, 2 }, - { 80, 87, -44, 9, 6, 2 }, { 80, 88, -45, 8, 6, 2 }, { 80, 89, -45, 8, 6, 2 }, { 80, 90, -46, 8, 6, 2 }, { 80, 91, -46, 8, 6, 2 }, - { 80, 92, -47, 8, 6, 2 }, { 80, 93, -47, 8, 6, 2 }, { 80, 94, -48, 8, 6, 2 }, { 80, 95, -48, 8, 6, 2 }, + 114, { + { 0, 16, 15, 16, 6, 2 }, { 1, 16, 15, 16, 6, 2 }, { 2, 16, 15, 16, 6, 2 }, { 3, 16, 14, 16, 6, 2 }, { 4, 16, 14, 16, 6, 2 }, + { 5, 16, 13, 16, 6, 2 }, { 6, 16, 13, 16, 6, 2 }, { 7, 16, 12, 16, 6, 2 }, { 8, 16, 12, 15, 6, 2 }, { 9, 17, 11, 15, 6, 2 }, + { 10, 17, 10, 15, 6, 2 }, { 11, 17, 10, 15, 6, 2 }, { 12, 17, 10, 15, 6, 2 }, { 13, 17, 9, 15, 6, 2 }, { 14, 17, 9, 15, 6, 2 }, + { 15, 18, 8, 15, 6, 2 }, { 16, 18, 7, 15, 6, 2 }, { 17, 18, 7, 15, 6, 2 }, { 18, 18, 6, 15, 6, 2 }, { 19, 18, 6, 15, 6, 2 }, + { 20, 19, 5, 15, 6, 2 }, { 21, 19, 5, 15, 6, 2 }, { 22, 19, 4, 14, 6, 2 }, { 23, 19, 4, 14, 6, 2 }, { 24, 20, 3, 14, 6, 2 }, + { 25, 20, 3, 14, 6, 2 }, { 26, 20, 2, 14, 6, 2 }, { 27, 21, 2, 14, 6, 2 }, { 28, 21, 1, 14, 6, 2 }, { 29, 21, 1, 14, 6, 2 }, + { 30, 22, 0, 14, 6, 2 }, { 31, 22, -1, 14, 6, 2 }, { 32, 23, -1, 14, 6, 2 }, { 33, 23, -2, 14, 6, 2 }, { 34, 24, -2, 14, 6, 2 }, + { 35, 24, -3, 14, 6, 2 }, { 36, 25, -3, 14, 6, 2 }, { 37, 25, -4, 13, 6, 2 }, { 38, 26, -5, 13, 6, 2 }, { 39, 26, -5, 13, 6, 2 }, + { 40, 27, -6, 13, 6, 2 }, { 41, 28, -6, 13, 6, 2 }, { 42, 28, -7, 13, 6, 2 }, { 43, 29, -8, 13, 6, 2 }, { 44, 30, -8, 13, 6, 2 }, + { 45, 30, -9, 13, 6, 2 }, { 46, 31, -9, 13, 6, 2 }, { 47, 32, -10, 13, 6, 2 }, { 48, 32, -11, 13, 6, 2 }, { 49, 33, -11, 13, 6, 2 }, + { 50, 34, -12, 12, 6, 2 }, { 51, 35, -13, 12, 6, 2 }, { 52, 35, -13, 12, 6, 2 }, { 53, 36, -14, 12, 6, 2 }, { 54, 37, -14, 12, 6, 2 }, + { 55, 38, -15, 12, 6, 2 }, { 56, 39, -16, 12, 6, 2 }, { 57, 39, -17, 12, 6, 2 }, { 58, 40, -17, 12, 6, 2 }, { 59, 41, -18, 12, 6, 2 }, + { 60, 42, -18, 12, 6, 2 }, { 61, 43, -19, 12, 6, 2 }, { 61, 44, -20, 12, 6, 2 }, { 62, 45, -20, 11, 6, 2 }, { 63, 46, -21, 11, 6, 2 }, + { 64, 47, -22, 11, 6, 2 }, { 64, 48, -22, 11, 6, 2 }, { 65, 49, -23, 11, 6, 2 }, { 66, 50, -23, 11, 6, 2 }, { 66, 51, -24, 11, 6, 2 }, + { 67, 52, -25, 11, 6, 2 }, { 68, 53, -25, 11, 6, 2 }, { 68, 54, -26, 11, 6, 2 }, { 69, 55, -26, 11, 6, 2 }, { 70, 56, -27, 11, 6, 2 }, + { 70, 57, -28, 11, 6, 2 }, { 71, 58, -28, 10, 6, 2 }, { 71, 59, -29, 10, 6, 2 }, { 72, 60, -29, 10, 6, 2 }, { 72, 61, -30, 10, 6, 2 }, + { 73, 62, -31, 10, 6, 2 }, { 73, 63, -31, 10, 6, 2 }, { 74, 64, -32, 10, 6, 2 }, { 74, 65, -32, 10, 6, 2 }, { 75, 66, -33, 10, 6, 2 }, + { 75, 67, -34, 10, 6, 2 }, { 75, 68, -34, 10, 6, 2 }, { 76, 69, -35, 10, 6, 2 }, { 76, 70, -35, 10, 6, 2 }, { 76, 71, -36, 10, 6, 2 }, + { 77, 72, -36, 9, 6, 2 }, { 77, 73, -37, 9, 6, 2 }, { 77, 74, -37, 9, 6, 2 }, { 77, 75, -38, 9, 6, 2 }, { 78, 76, -38, 9, 6, 2 }, + { 78, 77, -39, 9, 6, 2 }, { 78, 78, -39, 9, 6, 2 }, { 78, 79, -40, 9, 6, 2 }, { 78, 80, -40, 9, 6, 2 }, { 79, 81, -41, 9, 6, 2 }, + { 79, 82, -42, 9, 6, 2 }, { 79, 83, -42, 9, 6, 2 }, { 79, 84, -43, 9, 6, 2 }, { 79, 85, -43, 9, 6, 2 }, { 79, 86, -43, 9, 6, 2 }, + { 80, 87, -44, 9, 6, 2 }, { 80, 88, -45, 8, 6, 2 }, { 80, 89, -45, 8, 6, 2 }, { 80, 90, -46, 8, 6, 2 }, { 80, 91, -46, 8, 6, 2 }, + { 80, 92, -47, 8, 6, 2 }, { 80, 93, -47, 8, 6, 2 }, { 80, 94, -48, 8, 6, 2 }, { 80, 95, -48, 8, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95E4B3 = { - 113, { - { 16, 31, 15, 24, 6, 2 }, { 16, 30, 15, 24, 6, 2 }, { 16, 29, 14, 24, 6, 2 }, { 16, 28, 14, 24, 6, 2 }, { 16, 27, 13, 24, 6, 2 }, - { 16, 26, 13, 24, 6, 2 }, { 16, 25, 12, 24, 6, 2 }, { 16, 24, 12, 23, 6, 2 }, { 17, 23, 11, 23, 6, 2 }, { 17, 22, 10, 23, 6, 2 }, - { 17, 21, 10, 23, 6, 2 }, { 17, 20, 10, 23, 6, 2 }, { 17, 19, 9, 23, 6, 2 }, { 17, 18, 9, 23, 6, 2 }, { 18, 17, 8, 23, 6, 2 }, - { 18, 16, 7, 23, 6, 2 }, { 18, 15, 7, 23, 6, 2 }, { 18, 14, 6, 23, 6, 2 }, { 18, 13, 6, 23, 6, 2 }, { 19, 12, 5, 23, 6, 2 }, - { 19, 11, 5, 23, 6, 2 }, { 19, 10, 4, 22, 6, 2 }, { 19, 9, 4, 22, 6, 2 }, { 20, 8, 3, 22, 6, 2 }, { 20, 7, 3, 22, 6, 2 }, - { 20, 6, 2, 22, 6, 2 }, { 21, 5, 2, 22, 6, 2 }, { 21, 4, 1, 22, 6, 2 }, { 21, 3, 1, 22, 6, 2 }, { 22, 2, 0, 22, 6, 2 }, - { 22, 1, -1, 22, 6, 2 }, { 23, 0, -1, 22, 6, 2 }, { 23, -1, -2, 22, 6, 2 }, { 24, -2, -2, 22, 6, 2 }, { 24, -3, -3, 22, 6, 2 }, - { 25, -4, -3, 22, 6, 2 }, { 25, -5, -4, 21, 6, 2 }, { 26, -6, -5, 21, 6, 2 }, { 26, -7, -5, 21, 6, 2 }, { 27, -8, -6, 21, 6, 2 }, - { 28, -9, -6, 21, 6, 2 }, { 28, -10, -7, 21, 6, 2 }, { 29, -11, -8, 21, 6, 2 }, { 30, -12, -8, 21, 6, 2 }, { 30, -13, -9, 21, 6, 2 }, - { 31, -14, -9, 21, 6, 2 }, { 32, -15, -10, 21, 6, 2 }, { 32, -16, -11, 21, 6, 2 }, { 33, -17, -11, 21, 6, 2 }, { 34, -18, -12, 20, 6, 2 }, - { 35, -19, -13, 20, 6, 2 }, { 35, -20, -13, 20, 6, 2 }, { 36, -21, -14, 20, 6, 2 }, { 37, -22, -14, 20, 6, 2 }, { 38, -23, -15, 20, 6, 2 }, - { 39, -24, -16, 20, 6, 2 }, { 39, -25, -17, 20, 6, 2 }, { 40, -26, -17, 20, 6, 2 }, { 41, -27, -18, 20, 6, 2 }, { 42, -28, -18, 20, 6, 2 }, - { 43, -29, -19, 20, 6, 2 }, { 44, -29, -20, 20, 6, 2 }, { 45, -30, -20, 19, 6, 2 }, { 46, -31, -21, 19, 6, 2 }, { 47, -32, -22, 19, 6, 2 }, - { 48, -32, -22, 19, 6, 2 }, { 49, -33, -23, 19, 6, 2 }, { 50, -34, -23, 19, 6, 2 }, { 51, -34, -24, 19, 6, 2 }, { 52, -35, -25, 19, 6, 2 }, - { 53, -36, -25, 19, 6, 2 }, { 54, -36, -26, 19, 6, 2 }, { 55, -37, -26, 19, 6, 2 }, { 56, -38, -27, 19, 6, 2 }, { 57, -38, -28, 19, 6, 2 }, - { 58, -39, -28, 18, 6, 2 }, { 59, -39, -29, 18, 6, 2 }, { 60, -40, -29, 18, 6, 2 }, { 61, -40, -30, 18, 6, 2 }, { 62, -41, -31, 18, 6, 2 }, - { 63, -41, -31, 18, 6, 2 }, { 64, -42, -32, 18, 6, 2 }, { 65, -42, -32, 18, 6, 2 }, { 66, -43, -33, 18, 6, 2 }, { 67, -43, -34, 18, 6, 2 }, - { 68, -43, -34, 18, 6, 2 }, { 69, -44, -35, 18, 6, 2 }, { 70, -44, -35, 18, 6, 2 }, { 71, -44, -36, 18, 6, 2 }, { 72, -45, -36, 17, 6, 2 }, - { 73, -45, -37, 17, 6, 2 }, { 74, -45, -37, 17, 6, 2 }, { 75, -45, -38, 17, 6, 2 }, { 76, -46, -38, 17, 6, 2 }, { 77, -46, -39, 17, 6, 2 }, - { 78, -46, -39, 17, 6, 2 }, { 79, -46, -40, 17, 6, 2 }, { 80, -46, -40, 17, 6, 2 }, { 81, -47, -41, 17, 6, 2 }, { 82, -47, -42, 17, 6, 2 }, - { 83, -47, -42, 17, 6, 2 }, { 84, -47, -43, 17, 6, 2 }, { 85, -47, -43, 17, 6, 2 }, { 86, -47, -43, 17, 6, 2 }, { 87, -48, -44, 17, 6, 2 }, - { 88, -48, -45, 16, 6, 2 }, { 89, -48, -45, 16, 6, 2 }, { 90, -48, -46, 16, 6, 2 }, { 91, -48, -46, 16, 6, 2 }, { 92, -48, -47, 16, 6, 2 }, - { 93, -48, -47, 16, 6, 2 }, { 94, -48, -48, 16, 6, 2 }, { 95, -48, -48, 16, 6, 2 }, + 113, { + { 16, 31, 15, 24, 6, 2 }, { 16, 30, 15, 24, 6, 2 }, { 16, 29, 14, 24, 6, 2 }, { 16, 28, 14, 24, 6, 2 }, { 16, 27, 13, 24, 6, 2 }, + { 16, 26, 13, 24, 6, 2 }, { 16, 25, 12, 24, 6, 2 }, { 16, 24, 12, 23, 6, 2 }, { 17, 23, 11, 23, 6, 2 }, { 17, 22, 10, 23, 6, 2 }, + { 17, 21, 10, 23, 6, 2 }, { 17, 20, 10, 23, 6, 2 }, { 17, 19, 9, 23, 6, 2 }, { 17, 18, 9, 23, 6, 2 }, { 18, 17, 8, 23, 6, 2 }, + { 18, 16, 7, 23, 6, 2 }, { 18, 15, 7, 23, 6, 2 }, { 18, 14, 6, 23, 6, 2 }, { 18, 13, 6, 23, 6, 2 }, { 19, 12, 5, 23, 6, 2 }, + { 19, 11, 5, 23, 6, 2 }, { 19, 10, 4, 22, 6, 2 }, { 19, 9, 4, 22, 6, 2 }, { 20, 8, 3, 22, 6, 2 }, { 20, 7, 3, 22, 6, 2 }, + { 20, 6, 2, 22, 6, 2 }, { 21, 5, 2, 22, 6, 2 }, { 21, 4, 1, 22, 6, 2 }, { 21, 3, 1, 22, 6, 2 }, { 22, 2, 0, 22, 6, 2 }, + { 22, 1, -1, 22, 6, 2 }, { 23, 0, -1, 22, 6, 2 }, { 23, -1, -2, 22, 6, 2 }, { 24, -2, -2, 22, 6, 2 }, { 24, -3, -3, 22, 6, 2 }, + { 25, -4, -3, 22, 6, 2 }, { 25, -5, -4, 21, 6, 2 }, { 26, -6, -5, 21, 6, 2 }, { 26, -7, -5, 21, 6, 2 }, { 27, -8, -6, 21, 6, 2 }, + { 28, -9, -6, 21, 6, 2 }, { 28, -10, -7, 21, 6, 2 }, { 29, -11, -8, 21, 6, 2 }, { 30, -12, -8, 21, 6, 2 }, { 30, -13, -9, 21, 6, 2 }, + { 31, -14, -9, 21, 6, 2 }, { 32, -15, -10, 21, 6, 2 }, { 32, -16, -11, 21, 6, 2 }, { 33, -17, -11, 21, 6, 2 }, { 34, -18, -12, 20, 6, 2 }, + { 35, -19, -13, 20, 6, 2 }, { 35, -20, -13, 20, 6, 2 }, { 36, -21, -14, 20, 6, 2 }, { 37, -22, -14, 20, 6, 2 }, { 38, -23, -15, 20, 6, 2 }, + { 39, -24, -16, 20, 6, 2 }, { 39, -25, -17, 20, 6, 2 }, { 40, -26, -17, 20, 6, 2 }, { 41, -27, -18, 20, 6, 2 }, { 42, -28, -18, 20, 6, 2 }, + { 43, -29, -19, 20, 6, 2 }, { 44, -29, -20, 20, 6, 2 }, { 45, -30, -20, 19, 6, 2 }, { 46, -31, -21, 19, 6, 2 }, { 47, -32, -22, 19, 6, 2 }, + { 48, -32, -22, 19, 6, 2 }, { 49, -33, -23, 19, 6, 2 }, { 50, -34, -23, 19, 6, 2 }, { 51, -34, -24, 19, 6, 2 }, { 52, -35, -25, 19, 6, 2 }, + { 53, -36, -25, 19, 6, 2 }, { 54, -36, -26, 19, 6, 2 }, { 55, -37, -26, 19, 6, 2 }, { 56, -38, -27, 19, 6, 2 }, { 57, -38, -28, 19, 6, 2 }, + { 58, -39, -28, 18, 6, 2 }, { 59, -39, -29, 18, 6, 2 }, { 60, -40, -29, 18, 6, 2 }, { 61, -40, -30, 18, 6, 2 }, { 62, -41, -31, 18, 6, 2 }, + { 63, -41, -31, 18, 6, 2 }, { 64, -42, -32, 18, 6, 2 }, { 65, -42, -32, 18, 6, 2 }, { 66, -43, -33, 18, 6, 2 }, { 67, -43, -34, 18, 6, 2 }, + { 68, -43, -34, 18, 6, 2 }, { 69, -44, -35, 18, 6, 2 }, { 70, -44, -35, 18, 6, 2 }, { 71, -44, -36, 18, 6, 2 }, { 72, -45, -36, 17, 6, 2 }, + { 73, -45, -37, 17, 6, 2 }, { 74, -45, -37, 17, 6, 2 }, { 75, -45, -38, 17, 6, 2 }, { 76, -46, -38, 17, 6, 2 }, { 77, -46, -39, 17, 6, 2 }, + { 78, -46, -39, 17, 6, 2 }, { 79, -46, -40, 17, 6, 2 }, { 80, -46, -40, 17, 6, 2 }, { 81, -47, -41, 17, 6, 2 }, { 82, -47, -42, 17, 6, 2 }, + { 83, -47, -42, 17, 6, 2 }, { 84, -47, -43, 17, 6, 2 }, { 85, -47, -43, 17, 6, 2 }, { 86, -47, -43, 17, 6, 2 }, { 87, -48, -44, 17, 6, 2 }, + { 88, -48, -45, 16, 6, 2 }, { 89, -48, -45, 16, 6, 2 }, { 90, -48, -46, 16, 6, 2 }, { 91, -48, -46, 16, 6, 2 }, { 92, -48, -47, 16, 6, 2 }, + { 93, -48, -47, 16, 6, 2 }, { 94, -48, -48, 16, 6, 2 }, { 95, -48, -48, 16, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95E8AE = { - 113, { - { 31, 16, 15, 0, 6, 4 }, { 30, 16, 15, 0, 6, 4 }, { 29, 16, 14, 0, 6, 4 }, { 28, 16, 14, 0, 6, 4 }, { 27, 16, 13, 0, 6, 4 }, - { 26, 16, 13, 0, 6, 4 }, { 25, 16, 12, 0, 6, 4 }, { 24, 16, 12, 1, 6, 4 }, { 23, 17, 11, 1, 6, 4 }, { 22, 17, 10, 1, 6, 4 }, - { 21, 17, 10, 1, 6, 4 }, { 20, 17, 10, 1, 6, 4 }, { 19, 17, 9, 1, 6, 4 }, { 18, 17, 9, 1, 6, 4 }, { 17, 18, 8, 1, 6, 4 }, - { 16, 18, 7, 1, 6, 4 }, { 15, 18, 7, 1, 6, 4 }, { 14, 18, 6, 1, 6, 4 }, { 13, 18, 6, 1, 6, 4 }, { 12, 19, 5, 1, 6, 4 }, - { 11, 19, 5, 1, 6, 4 }, { 10, 19, 4, 2, 6, 4 }, { 9, 19, 4, 2, 6, 4 }, { 8, 20, 3, 2, 6, 4 }, { 7, 20, 3, 2, 6, 4 }, - { 6, 20, 2, 2, 6, 4 }, { 5, 21, 2, 2, 6, 4 }, { 4, 21, 1, 2, 6, 4 }, { 3, 21, 1, 2, 6, 4 }, { 2, 22, 0, 2, 6, 4 }, - { 1, 22, -1, 2, 6, 4 }, { 0, 23, -1, 2, 6, 4 }, { -1, 23, -2, 2, 6, 4 }, { -2, 24, -2, 2, 6, 4 }, { -3, 24, -3, 2, 6, 4 }, - { -4, 25, -3, 2, 6, 4 }, { -5, 25, -4, 3, 6, 4 }, { -6, 26, -5, 3, 6, 4 }, { -7, 26, -5, 3, 6, 4 }, { -8, 27, -6, 3, 6, 4 }, - { -9, 28, -6, 3, 6, 4 }, { -10, 28, -7, 3, 6, 4 }, { -11, 29, -8, 3, 6, 4 }, { -12, 30, -8, 3, 6, 4 }, { -13, 30, -9, 3, 6, 4 }, - { -14, 31, -9, 3, 6, 4 }, { -15, 32, -10, 3, 6, 4 }, { -16, 32, -11, 3, 6, 4 }, { -17, 33, -11, 3, 6, 4 }, { -18, 34, -12, 4, 6, 4 }, - { -19, 35, -13, 4, 6, 4 }, { -20, 35, -13, 4, 6, 4 }, { -21, 36, -14, 4, 6, 4 }, { -22, 37, -14, 4, 6, 4 }, { -23, 38, -15, 4, 6, 4 }, - { -24, 39, -16, 4, 6, 4 }, { -25, 39, -17, 4, 6, 4 }, { -26, 40, -17, 4, 6, 4 }, { -27, 41, -18, 4, 6, 4 }, { -28, 42, -18, 4, 6, 4 }, - { -29, 43, -19, 4, 6, 4 }, { -29, 44, -20, 4, 6, 4 }, { -30, 45, -20, 5, 6, 4 }, { -31, 46, -21, 5, 6, 4 }, { -32, 47, -22, 5, 6, 4 }, - { -32, 48, -22, 5, 6, 4 }, { -33, 49, -23, 5, 6, 4 }, { -34, 50, -23, 5, 6, 4 }, { -34, 51, -24, 5, 6, 4 }, { -35, 52, -25, 5, 6, 4 }, - { -36, 53, -25, 5, 6, 4 }, { -36, 54, -26, 5, 6, 4 }, { -37, 55, -26, 5, 6, 4 }, { -38, 56, -27, 5, 6, 4 }, { -38, 57, -28, 5, 6, 4 }, - { -39, 58, -28, 6, 6, 4 }, { -39, 59, -29, 6, 6, 4 }, { -40, 60, -29, 6, 6, 4 }, { -40, 61, -30, 6, 6, 4 }, { -41, 62, -31, 6, 6, 4 }, - { -41, 63, -31, 6, 6, 4 }, { -42, 64, -32, 6, 6, 4 }, { -42, 65, -32, 6, 6, 4 }, { -43, 66, -33, 6, 6, 4 }, { -43, 67, -34, 6, 6, 4 }, - { -43, 68, -34, 6, 6, 4 }, { -44, 69, -35, 6, 6, 4 }, { -44, 70, -35, 6, 6, 4 }, { -44, 71, -36, 6, 6, 4 }, { -45, 72, -36, 7, 6, 4 }, - { -45, 73, -37, 7, 6, 4 }, { -45, 74, -37, 7, 6, 4 }, { -45, 75, -38, 7, 6, 4 }, { -46, 76, -38, 7, 6, 4 }, { -46, 77, -39, 7, 6, 4 }, - { -46, 78, -39, 7, 6, 4 }, { -46, 79, -40, 7, 6, 4 }, { -46, 80, -40, 7, 6, 4 }, { -47, 81, -41, 7, 6, 4 }, { -47, 82, -42, 7, 6, 4 }, - { -47, 83, -42, 7, 6, 4 }, { -47, 84, -43, 7, 6, 4 }, { -47, 85, -43, 7, 6, 4 }, { -47, 86, -43, 7, 6, 4 }, { -48, 87, -44, 7, 6, 4 }, - { -48, 88, -45, 8, 6, 4 }, { -48, 89, -45, 8, 6, 4 }, { -48, 90, -46, 8, 6, 4 }, { -48, 91, -46, 8, 6, 4 }, { -48, 92, -47, 8, 6, 4 }, - { -48, 93, -47, 8, 6, 4 }, { -48, 94, -48, 8, 6, 4 }, { -48, 95, -48, 8, 6, 4 }, + 113, { + { 31, 16, 15, 0, 6, 4 }, { 30, 16, 15, 0, 6, 4 }, { 29, 16, 14, 0, 6, 4 }, { 28, 16, 14, 0, 6, 4 }, { 27, 16, 13, 0, 6, 4 }, + { 26, 16, 13, 0, 6, 4 }, { 25, 16, 12, 0, 6, 4 }, { 24, 16, 12, 1, 6, 4 }, { 23, 17, 11, 1, 6, 4 }, { 22, 17, 10, 1, 6, 4 }, + { 21, 17, 10, 1, 6, 4 }, { 20, 17, 10, 1, 6, 4 }, { 19, 17, 9, 1, 6, 4 }, { 18, 17, 9, 1, 6, 4 }, { 17, 18, 8, 1, 6, 4 }, + { 16, 18, 7, 1, 6, 4 }, { 15, 18, 7, 1, 6, 4 }, { 14, 18, 6, 1, 6, 4 }, { 13, 18, 6, 1, 6, 4 }, { 12, 19, 5, 1, 6, 4 }, + { 11, 19, 5, 1, 6, 4 }, { 10, 19, 4, 2, 6, 4 }, { 9, 19, 4, 2, 6, 4 }, { 8, 20, 3, 2, 6, 4 }, { 7, 20, 3, 2, 6, 4 }, + { 6, 20, 2, 2, 6, 4 }, { 5, 21, 2, 2, 6, 4 }, { 4, 21, 1, 2, 6, 4 }, { 3, 21, 1, 2, 6, 4 }, { 2, 22, 0, 2, 6, 4 }, + { 1, 22, -1, 2, 6, 4 }, { 0, 23, -1, 2, 6, 4 }, { -1, 23, -2, 2, 6, 4 }, { -2, 24, -2, 2, 6, 4 }, { -3, 24, -3, 2, 6, 4 }, + { -4, 25, -3, 2, 6, 4 }, { -5, 25, -4, 3, 6, 4 }, { -6, 26, -5, 3, 6, 4 }, { -7, 26, -5, 3, 6, 4 }, { -8, 27, -6, 3, 6, 4 }, + { -9, 28, -6, 3, 6, 4 }, { -10, 28, -7, 3, 6, 4 }, { -11, 29, -8, 3, 6, 4 }, { -12, 30, -8, 3, 6, 4 }, { -13, 30, -9, 3, 6, 4 }, + { -14, 31, -9, 3, 6, 4 }, { -15, 32, -10, 3, 6, 4 }, { -16, 32, -11, 3, 6, 4 }, { -17, 33, -11, 3, 6, 4 }, { -18, 34, -12, 4, 6, 4 }, + { -19, 35, -13, 4, 6, 4 }, { -20, 35, -13, 4, 6, 4 }, { -21, 36, -14, 4, 6, 4 }, { -22, 37, -14, 4, 6, 4 }, { -23, 38, -15, 4, 6, 4 }, + { -24, 39, -16, 4, 6, 4 }, { -25, 39, -17, 4, 6, 4 }, { -26, 40, -17, 4, 6, 4 }, { -27, 41, -18, 4, 6, 4 }, { -28, 42, -18, 4, 6, 4 }, + { -29, 43, -19, 4, 6, 4 }, { -29, 44, -20, 4, 6, 4 }, { -30, 45, -20, 5, 6, 4 }, { -31, 46, -21, 5, 6, 4 }, { -32, 47, -22, 5, 6, 4 }, + { -32, 48, -22, 5, 6, 4 }, { -33, 49, -23, 5, 6, 4 }, { -34, 50, -23, 5, 6, 4 }, { -34, 51, -24, 5, 6, 4 }, { -35, 52, -25, 5, 6, 4 }, + { -36, 53, -25, 5, 6, 4 }, { -36, 54, -26, 5, 6, 4 }, { -37, 55, -26, 5, 6, 4 }, { -38, 56, -27, 5, 6, 4 }, { -38, 57, -28, 5, 6, 4 }, + { -39, 58, -28, 6, 6, 4 }, { -39, 59, -29, 6, 6, 4 }, { -40, 60, -29, 6, 6, 4 }, { -40, 61, -30, 6, 6, 4 }, { -41, 62, -31, 6, 6, 4 }, + { -41, 63, -31, 6, 6, 4 }, { -42, 64, -32, 6, 6, 4 }, { -42, 65, -32, 6, 6, 4 }, { -43, 66, -33, 6, 6, 4 }, { -43, 67, -34, 6, 6, 4 }, + { -43, 68, -34, 6, 6, 4 }, { -44, 69, -35, 6, 6, 4 }, { -44, 70, -35, 6, 6, 4 }, { -44, 71, -36, 6, 6, 4 }, { -45, 72, -36, 7, 6, 4 }, + { -45, 73, -37, 7, 6, 4 }, { -45, 74, -37, 7, 6, 4 }, { -45, 75, -38, 7, 6, 4 }, { -46, 76, -38, 7, 6, 4 }, { -46, 77, -39, 7, 6, 4 }, + { -46, 78, -39, 7, 6, 4 }, { -46, 79, -40, 7, 6, 4 }, { -46, 80, -40, 7, 6, 4 }, { -47, 81, -41, 7, 6, 4 }, { -47, 82, -42, 7, 6, 4 }, + { -47, 83, -42, 7, 6, 4 }, { -47, 84, -43, 7, 6, 4 }, { -47, 85, -43, 7, 6, 4 }, { -47, 86, -43, 7, 6, 4 }, { -48, 87, -44, 7, 6, 4 }, + { -48, 88, -45, 8, 6, 4 }, { -48, 89, -45, 8, 6, 4 }, { -48, 90, -46, 8, 6, 4 }, { -48, 91, -46, 8, 6, 4 }, { -48, 92, -47, 8, 6, 4 }, + { -48, 93, -47, 8, 6, 4 }, { -48, 94, -48, 8, 6, 4 }, { -48, 95, -48, 8, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95ECA9 = { - 114, { - { 16, 0, 15, 8, 6, 4 }, { 16, 1, 15, 8, 6, 4 }, { 16, 2, 15, 8, 6, 4 }, { 16, 3, 14, 8, 6, 4 }, { 16, 4, 14, 8, 6, 4 }, - { 16, 5, 13, 8, 6, 4 }, { 16, 6, 13, 8, 6, 4 }, { 16, 7, 12, 8, 6, 4 }, { 16, 8, 12, 9, 6, 4 }, { 17, 9, 11, 9, 6, 4 }, - { 17, 10, 10, 9, 6, 4 }, { 17, 11, 10, 9, 6, 4 }, { 17, 12, 10, 9, 6, 4 }, { 17, 13, 9, 9, 6, 4 }, { 17, 14, 9, 9, 6, 4 }, - { 18, 15, 8, 9, 6, 4 }, { 18, 16, 7, 9, 6, 4 }, { 18, 17, 7, 9, 6, 4 }, { 18, 18, 6, 9, 6, 4 }, { 18, 19, 6, 9, 6, 4 }, - { 19, 20, 5, 9, 6, 4 }, { 19, 21, 5, 9, 6, 4 }, { 19, 22, 4, 10, 6, 4 }, { 19, 23, 4, 10, 6, 4 }, { 20, 24, 3, 10, 6, 4 }, - { 20, 25, 3, 10, 6, 4 }, { 20, 26, 2, 10, 6, 4 }, { 21, 27, 2, 10, 6, 4 }, { 21, 28, 1, 10, 6, 4 }, { 21, 29, 1, 10, 6, 4 }, - { 22, 30, 0, 10, 6, 4 }, { 22, 31, -1, 10, 6, 4 }, { 23, 32, -1, 10, 6, 4 }, { 23, 33, -2, 10, 6, 4 }, { 24, 34, -2, 10, 6, 4 }, - { 24, 35, -3, 10, 6, 4 }, { 25, 36, -3, 10, 6, 4 }, { 25, 37, -4, 11, 6, 4 }, { 26, 38, -5, 11, 6, 4 }, { 26, 39, -5, 11, 6, 4 }, - { 27, 40, -6, 11, 6, 4 }, { 28, 41, -6, 11, 6, 4 }, { 28, 42, -7, 11, 6, 4 }, { 29, 43, -8, 11, 6, 4 }, { 30, 44, -8, 11, 6, 4 }, - { 30, 45, -9, 11, 6, 4 }, { 31, 46, -9, 11, 6, 4 }, { 32, 47, -10, 11, 6, 4 }, { 32, 48, -11, 11, 6, 4 }, { 33, 49, -11, 11, 6, 4 }, - { 34, 50, -12, 12, 6, 4 }, { 35, 51, -13, 12, 6, 4 }, { 35, 52, -13, 12, 6, 4 }, { 36, 53, -14, 12, 6, 4 }, { 37, 54, -14, 12, 6, 4 }, - { 38, 55, -15, 12, 6, 4 }, { 39, 56, -16, 12, 6, 4 }, { 39, 57, -17, 12, 6, 4 }, { 40, 58, -17, 12, 6, 4 }, { 41, 59, -18, 12, 6, 4 }, - { 42, 60, -18, 12, 6, 4 }, { 43, 61, -19, 12, 6, 4 }, { 44, 61, -20, 12, 6, 4 }, { 45, 62, -20, 13, 6, 4 }, { 46, 63, -21, 13, 6, 4 }, - { 47, 64, -22, 13, 6, 4 }, { 48, 64, -22, 13, 6, 4 }, { 49, 65, -23, 13, 6, 4 }, { 50, 66, -23, 13, 6, 4 }, { 51, 66, -24, 13, 6, 4 }, - { 52, 67, -25, 13, 6, 4 }, { 53, 68, -25, 13, 6, 4 }, { 54, 68, -26, 13, 6, 4 }, { 55, 69, -26, 13, 6, 4 }, { 56, 70, -27, 13, 6, 4 }, - { 57, 70, -28, 13, 6, 4 }, { 58, 71, -28, 14, 6, 4 }, { 59, 71, -29, 14, 6, 4 }, { 60, 72, -29, 14, 6, 4 }, { 61, 72, -30, 14, 6, 4 }, - { 62, 73, -31, 14, 6, 4 }, { 63, 73, -31, 14, 6, 4 }, { 64, 74, -32, 14, 6, 4 }, { 65, 74, -32, 14, 6, 4 }, { 66, 75, -33, 14, 6, 4 }, - { 67, 75, -34, 14, 6, 4 }, { 68, 75, -34, 14, 6, 4 }, { 69, 76, -35, 14, 6, 4 }, { 70, 76, -35, 14, 6, 4 }, { 71, 76, -36, 14, 6, 4 }, - { 72, 77, -36, 15, 6, 4 }, { 73, 77, -37, 15, 6, 4 }, { 74, 77, -37, 15, 6, 4 }, { 75, 77, -38, 15, 6, 4 }, { 76, 78, -38, 15, 6, 4 }, - { 77, 78, -39, 15, 6, 4 }, { 78, 78, -39, 15, 6, 4 }, { 79, 78, -40, 15, 6, 4 }, { 80, 78, -40, 15, 6, 4 }, { 81, 79, -41, 15, 6, 4 }, - { 82, 79, -42, 15, 6, 4 }, { 83, 79, -42, 15, 6, 4 }, { 84, 79, -43, 15, 6, 4 }, { 85, 79, -43, 15, 6, 4 }, { 86, 79, -43, 15, 6, 4 }, - { 87, 80, -44, 15, 6, 4 }, { 88, 80, -45, 16, 6, 4 }, { 89, 80, -45, 16, 6, 4 }, { 90, 80, -46, 16, 6, 4 }, { 91, 80, -46, 16, 6, 4 }, - { 92, 80, -47, 16, 6, 4 }, { 93, 80, -47, 16, 6, 4 }, { 94, 80, -48, 16, 6, 4 }, { 95, 80, -48, 16, 6, 4 }, + 114, { + { 16, 0, 15, 8, 6, 4 }, { 16, 1, 15, 8, 6, 4 }, { 16, 2, 15, 8, 6, 4 }, { 16, 3, 14, 8, 6, 4 }, { 16, 4, 14, 8, 6, 4 }, + { 16, 5, 13, 8, 6, 4 }, { 16, 6, 13, 8, 6, 4 }, { 16, 7, 12, 8, 6, 4 }, { 16, 8, 12, 9, 6, 4 }, { 17, 9, 11, 9, 6, 4 }, + { 17, 10, 10, 9, 6, 4 }, { 17, 11, 10, 9, 6, 4 }, { 17, 12, 10, 9, 6, 4 }, { 17, 13, 9, 9, 6, 4 }, { 17, 14, 9, 9, 6, 4 }, + { 18, 15, 8, 9, 6, 4 }, { 18, 16, 7, 9, 6, 4 }, { 18, 17, 7, 9, 6, 4 }, { 18, 18, 6, 9, 6, 4 }, { 18, 19, 6, 9, 6, 4 }, + { 19, 20, 5, 9, 6, 4 }, { 19, 21, 5, 9, 6, 4 }, { 19, 22, 4, 10, 6, 4 }, { 19, 23, 4, 10, 6, 4 }, { 20, 24, 3, 10, 6, 4 }, + { 20, 25, 3, 10, 6, 4 }, { 20, 26, 2, 10, 6, 4 }, { 21, 27, 2, 10, 6, 4 }, { 21, 28, 1, 10, 6, 4 }, { 21, 29, 1, 10, 6, 4 }, + { 22, 30, 0, 10, 6, 4 }, { 22, 31, -1, 10, 6, 4 }, { 23, 32, -1, 10, 6, 4 }, { 23, 33, -2, 10, 6, 4 }, { 24, 34, -2, 10, 6, 4 }, + { 24, 35, -3, 10, 6, 4 }, { 25, 36, -3, 10, 6, 4 }, { 25, 37, -4, 11, 6, 4 }, { 26, 38, -5, 11, 6, 4 }, { 26, 39, -5, 11, 6, 4 }, + { 27, 40, -6, 11, 6, 4 }, { 28, 41, -6, 11, 6, 4 }, { 28, 42, -7, 11, 6, 4 }, { 29, 43, -8, 11, 6, 4 }, { 30, 44, -8, 11, 6, 4 }, + { 30, 45, -9, 11, 6, 4 }, { 31, 46, -9, 11, 6, 4 }, { 32, 47, -10, 11, 6, 4 }, { 32, 48, -11, 11, 6, 4 }, { 33, 49, -11, 11, 6, 4 }, + { 34, 50, -12, 12, 6, 4 }, { 35, 51, -13, 12, 6, 4 }, { 35, 52, -13, 12, 6, 4 }, { 36, 53, -14, 12, 6, 4 }, { 37, 54, -14, 12, 6, 4 }, + { 38, 55, -15, 12, 6, 4 }, { 39, 56, -16, 12, 6, 4 }, { 39, 57, -17, 12, 6, 4 }, { 40, 58, -17, 12, 6, 4 }, { 41, 59, -18, 12, 6, 4 }, + { 42, 60, -18, 12, 6, 4 }, { 43, 61, -19, 12, 6, 4 }, { 44, 61, -20, 12, 6, 4 }, { 45, 62, -20, 13, 6, 4 }, { 46, 63, -21, 13, 6, 4 }, + { 47, 64, -22, 13, 6, 4 }, { 48, 64, -22, 13, 6, 4 }, { 49, 65, -23, 13, 6, 4 }, { 50, 66, -23, 13, 6, 4 }, { 51, 66, -24, 13, 6, 4 }, + { 52, 67, -25, 13, 6, 4 }, { 53, 68, -25, 13, 6, 4 }, { 54, 68, -26, 13, 6, 4 }, { 55, 69, -26, 13, 6, 4 }, { 56, 70, -27, 13, 6, 4 }, + { 57, 70, -28, 13, 6, 4 }, { 58, 71, -28, 14, 6, 4 }, { 59, 71, -29, 14, 6, 4 }, { 60, 72, -29, 14, 6, 4 }, { 61, 72, -30, 14, 6, 4 }, + { 62, 73, -31, 14, 6, 4 }, { 63, 73, -31, 14, 6, 4 }, { 64, 74, -32, 14, 6, 4 }, { 65, 74, -32, 14, 6, 4 }, { 66, 75, -33, 14, 6, 4 }, + { 67, 75, -34, 14, 6, 4 }, { 68, 75, -34, 14, 6, 4 }, { 69, 76, -35, 14, 6, 4 }, { 70, 76, -35, 14, 6, 4 }, { 71, 76, -36, 14, 6, 4 }, + { 72, 77, -36, 15, 6, 4 }, { 73, 77, -37, 15, 6, 4 }, { 74, 77, -37, 15, 6, 4 }, { 75, 77, -38, 15, 6, 4 }, { 76, 78, -38, 15, 6, 4 }, + { 77, 78, -39, 15, 6, 4 }, { 78, 78, -39, 15, 6, 4 }, { 79, 78, -40, 15, 6, 4 }, { 80, 78, -40, 15, 6, 4 }, { 81, 79, -41, 15, 6, 4 }, + { 82, 79, -42, 15, 6, 4 }, { 83, 79, -42, 15, 6, 4 }, { 84, 79, -43, 15, 6, 4 }, { 85, 79, -43, 15, 6, 4 }, { 86, 79, -43, 15, 6, 4 }, + { 87, 80, -44, 15, 6, 4 }, { 88, 80, -45, 16, 6, 4 }, { 89, 80, -45, 16, 6, 4 }, { 90, 80, -46, 16, 6, 4 }, { 91, 80, -46, 16, 6, 4 }, + { 92, 80, -47, 16, 6, 4 }, { 93, 80, -47, 16, 6, 4 }, { 94, 80, -48, 16, 6, 4 }, { 95, 80, -48, 16, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95F0AD = { - 115, { - { 0, 16, 15, 16, 6, 4 }, { 1, 16, 15, 16, 6, 4 }, { 2, 16, 15, 16, 6, 4 }, { 3, 16, 14, 16, 6, 4 }, { 4, 16, 14, 16, 6, 4 }, - { 5, 16, 13, 16, 6, 4 }, { 6, 16, 13, 16, 6, 4 }, { 7, 16, 12, 16, 6, 4 }, { 8, 16, 12, 17, 6, 4 }, { 9, 15, 11, 17, 6, 4 }, - { 10, 15, 11, 17, 6, 4 }, { 11, 15, 10, 17, 6, 4 }, { 12, 15, 10, 17, 6, 4 }, { 13, 15, 9, 17, 6, 4 }, { 14, 15, 9, 17, 6, 4 }, - { 15, 14, 8, 17, 6, 4 }, { 16, 14, 7, 17, 6, 4 }, { 17, 14, 7, 17, 6, 4 }, { 18, 14, 7, 17, 6, 4 }, { 19, 14, 6, 17, 6, 4 }, - { 20, 13, 6, 17, 6, 4 }, { 21, 13, 5, 17, 6, 4 }, { 22, 13, 4, 18, 6, 4 }, { 23, 13, 4, 18, 6, 4 }, { 24, 12, 3, 18, 6, 4 }, - { 25, 12, 3, 18, 6, 4 }, { 26, 12, 2, 18, 6, 4 }, { 27, 11, 2, 18, 6, 4 }, { 28, 11, 1, 18, 6, 4 }, { 29, 11, 1, 18, 6, 4 }, - { 30, 10, 0, 18, 6, 4 }, { 31, 10, 0, 18, 6, 4 }, { 32, 9, -1, 18, 6, 4 }, { 33, 9, -2, 18, 6, 4 }, { 34, 8, -2, 18, 6, 4 }, - { 35, 8, -3, 18, 6, 4 }, { 36, 7, -3, 18, 6, 4 }, { 37, 7, -4, 19, 6, 4 }, { 38, 6, -4, 19, 6, 4 }, { 39, 6, -5, 19, 6, 4 }, - { 40, 5, -6, 19, 6, 4 }, { 41, 4, -6, 19, 6, 4 }, { 42, 4, -7, 19, 6, 4 }, { 43, 3, -7, 19, 6, 4 }, { 44, 2, -8, 19, 6, 4 }, - { 45, 2, -9, 19, 6, 4 }, { 46, 1, -9, 19, 6, 4 }, { 47, 0, -10, 19, 6, 4 }, { 48, 0, -11, 19, 6, 4 }, { 49, -1, -11, 19, 6, 4 }, - { 50, -2, -12, 20, 6, 4 }, { 51, -3, -12, 20, 6, 4 }, { 52, -3, -13, 20, 6, 4 }, { 53, -4, -14, 20, 6, 4 }, { 54, -5, -14, 20, 6, 4 }, - { 55, -6, -15, 20, 6, 4 }, { 56, -7, -16, 20, 6, 4 }, { 57, -7, -16, 20, 6, 4 }, { 58, -8, -17, 20, 6, 4 }, { 59, -9, -17, 20, 6, 4 }, - { 60, -10, -18, 20, 6, 4 }, { 61, -11, -19, 20, 6, 4 }, { 61, -12, -19, 20, 6, 4 }, { 62, -13, -20, 21, 6, 4 }, { 63, -14, -21, 21, 6, 4 }, - { 64, -15, -21, 21, 6, 4 }, { 64, -16, -22, 21, 6, 4 }, { 65, -17, -22, 21, 6, 4 }, { 66, -18, -23, 21, 6, 4 }, { 66, -19, -24, 21, 6, 4 }, - { 67, -20, -24, 21, 6, 4 }, { 68, -21, -25, 21, 6, 4 }, { 68, -22, -26, 21, 6, 4 }, { 69, -23, -26, 21, 6, 4 }, { 70, -24, -27, 21, 6, 4 }, - { 70, -25, -27, 21, 6, 4 }, { 71, -26, -28, 22, 6, 4 }, { 71, -27, -29, 22, 6, 4 }, { 72, -28, -29, 22, 6, 4 }, { 72, -29, -30, 22, 6, 4 }, - { 73, -30, -30, 22, 6, 4 }, { 73, -31, -31, 22, 6, 4 }, { 74, -32, -31, 22, 6, 4 }, { 74, -33, -32, 22, 6, 4 }, { 75, -34, -33, 22, 6, 4 }, - { 75, -35, -33, 22, 6, 4 }, { 75, -36, -34, 22, 6, 4 }, { 76, -37, -34, 22, 6, 4 }, { 76, -38, -35, 22, 6, 4 }, { 76, -39, -35, 22, 6, 4 }, - { 77, -40, -36, 23, 6, 4 }, { 77, -41, -36, 23, 6, 4 }, { 77, -42, -37, 23, 6, 4 }, { 77, -43, -37, 23, 6, 4 }, { 78, -44, -38, 23, 6, 4 }, - { 78, -45, -39, 23, 6, 4 }, { 78, -46, -39, 23, 6, 4 }, { 78, -47, -40, 23, 6, 4 }, { 78, -48, -40, 23, 6, 4 }, { 79, -49, -40, 23, 6, 4 }, - { 79, -50, -41, 23, 6, 4 }, { 79, -51, -42, 23, 6, 4 }, { 79, -52, -42, 23, 6, 4 }, { 79, -53, -43, 23, 6, 4 }, { 79, -54, -43, 23, 6, 4 }, - { 80, -55, -44, 23, 6, 4 }, { 80, -56, -44, 24, 6, 4 }, { 80, -57, -45, 24, 6, 4 }, { 80, -58, -45, 24, 6, 4 }, { 80, -59, -46, 24, 6, 4 }, - { 80, -60, -46, 24, 6, 4 }, { 80, -61, -47, 24, 6, 4 }, { 80, -62, -47, 24, 6, 4 }, { 80, -63, -48, 24, 6, 4 }, { 80, -64, -49, 24, 6, 4 }, + 115, { + { 0, 16, 15, 16, 6, 4 }, { 1, 16, 15, 16, 6, 4 }, { 2, 16, 15, 16, 6, 4 }, { 3, 16, 14, 16, 6, 4 }, { 4, 16, 14, 16, 6, 4 }, + { 5, 16, 13, 16, 6, 4 }, { 6, 16, 13, 16, 6, 4 }, { 7, 16, 12, 16, 6, 4 }, { 8, 16, 12, 17, 6, 4 }, { 9, 15, 11, 17, 6, 4 }, + { 10, 15, 11, 17, 6, 4 }, { 11, 15, 10, 17, 6, 4 }, { 12, 15, 10, 17, 6, 4 }, { 13, 15, 9, 17, 6, 4 }, { 14, 15, 9, 17, 6, 4 }, + { 15, 14, 8, 17, 6, 4 }, { 16, 14, 7, 17, 6, 4 }, { 17, 14, 7, 17, 6, 4 }, { 18, 14, 7, 17, 6, 4 }, { 19, 14, 6, 17, 6, 4 }, + { 20, 13, 6, 17, 6, 4 }, { 21, 13, 5, 17, 6, 4 }, { 22, 13, 4, 18, 6, 4 }, { 23, 13, 4, 18, 6, 4 }, { 24, 12, 3, 18, 6, 4 }, + { 25, 12, 3, 18, 6, 4 }, { 26, 12, 2, 18, 6, 4 }, { 27, 11, 2, 18, 6, 4 }, { 28, 11, 1, 18, 6, 4 }, { 29, 11, 1, 18, 6, 4 }, + { 30, 10, 0, 18, 6, 4 }, { 31, 10, 0, 18, 6, 4 }, { 32, 9, -1, 18, 6, 4 }, { 33, 9, -2, 18, 6, 4 }, { 34, 8, -2, 18, 6, 4 }, + { 35, 8, -3, 18, 6, 4 }, { 36, 7, -3, 18, 6, 4 }, { 37, 7, -4, 19, 6, 4 }, { 38, 6, -4, 19, 6, 4 }, { 39, 6, -5, 19, 6, 4 }, + { 40, 5, -6, 19, 6, 4 }, { 41, 4, -6, 19, 6, 4 }, { 42, 4, -7, 19, 6, 4 }, { 43, 3, -7, 19, 6, 4 }, { 44, 2, -8, 19, 6, 4 }, + { 45, 2, -9, 19, 6, 4 }, { 46, 1, -9, 19, 6, 4 }, { 47, 0, -10, 19, 6, 4 }, { 48, 0, -11, 19, 6, 4 }, { 49, -1, -11, 19, 6, 4 }, + { 50, -2, -12, 20, 6, 4 }, { 51, -3, -12, 20, 6, 4 }, { 52, -3, -13, 20, 6, 4 }, { 53, -4, -14, 20, 6, 4 }, { 54, -5, -14, 20, 6, 4 }, + { 55, -6, -15, 20, 6, 4 }, { 56, -7, -16, 20, 6, 4 }, { 57, -7, -16, 20, 6, 4 }, { 58, -8, -17, 20, 6, 4 }, { 59, -9, -17, 20, 6, 4 }, + { 60, -10, -18, 20, 6, 4 }, { 61, -11, -19, 20, 6, 4 }, { 61, -12, -19, 20, 6, 4 }, { 62, -13, -20, 21, 6, 4 }, { 63, -14, -21, 21, 6, 4 }, + { 64, -15, -21, 21, 6, 4 }, { 64, -16, -22, 21, 6, 4 }, { 65, -17, -22, 21, 6, 4 }, { 66, -18, -23, 21, 6, 4 }, { 66, -19, -24, 21, 6, 4 }, + { 67, -20, -24, 21, 6, 4 }, { 68, -21, -25, 21, 6, 4 }, { 68, -22, -26, 21, 6, 4 }, { 69, -23, -26, 21, 6, 4 }, { 70, -24, -27, 21, 6, 4 }, + { 70, -25, -27, 21, 6, 4 }, { 71, -26, -28, 22, 6, 4 }, { 71, -27, -29, 22, 6, 4 }, { 72, -28, -29, 22, 6, 4 }, { 72, -29, -30, 22, 6, 4 }, + { 73, -30, -30, 22, 6, 4 }, { 73, -31, -31, 22, 6, 4 }, { 74, -32, -31, 22, 6, 4 }, { 74, -33, -32, 22, 6, 4 }, { 75, -34, -33, 22, 6, 4 }, + { 75, -35, -33, 22, 6, 4 }, { 75, -36, -34, 22, 6, 4 }, { 76, -37, -34, 22, 6, 4 }, { 76, -38, -35, 22, 6, 4 }, { 76, -39, -35, 22, 6, 4 }, + { 77, -40, -36, 23, 6, 4 }, { 77, -41, -36, 23, 6, 4 }, { 77, -42, -37, 23, 6, 4 }, { 77, -43, -37, 23, 6, 4 }, { 78, -44, -38, 23, 6, 4 }, + { 78, -45, -39, 23, 6, 4 }, { 78, -46, -39, 23, 6, 4 }, { 78, -47, -40, 23, 6, 4 }, { 78, -48, -40, 23, 6, 4 }, { 79, -49, -40, 23, 6, 4 }, + { 79, -50, -41, 23, 6, 4 }, { 79, -51, -42, 23, 6, 4 }, { 79, -52, -42, 23, 6, 4 }, { 79, -53, -43, 23, 6, 4 }, { 79, -54, -43, 23, 6, 4 }, + { 80, -55, -44, 23, 6, 4 }, { 80, -56, -44, 24, 6, 4 }, { 80, -57, -45, 24, 6, 4 }, { 80, -58, -45, 24, 6, 4 }, { 80, -59, -46, 24, 6, 4 }, + { 80, -60, -46, 24, 6, 4 }, { 80, -61, -47, 24, 6, 4 }, { 80, -62, -47, 24, 6, 4 }, { 80, -63, -48, 24, 6, 4 }, { 80, -64, -49, 24, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95F4BA = { - 114, { - { 16, 31, 15, 24, 6, 4 }, { 16, 30, 15, 24, 6, 4 }, { 16, 29, 14, 24, 6, 4 }, { 16, 28, 14, 24, 6, 4 }, { 16, 27, 13, 24, 6, 4 }, - { 16, 26, 13, 24, 6, 4 }, { 16, 25, 12, 24, 6, 4 }, { 16, 24, 12, 25, 6, 4 }, { 15, 23, 11, 25, 6, 4 }, { 15, 22, 11, 25, 6, 4 }, - { 15, 21, 10, 25, 6, 4 }, { 15, 20, 10, 25, 6, 4 }, { 15, 19, 9, 25, 6, 4 }, { 15, 18, 9, 25, 6, 4 }, { 14, 17, 8, 25, 6, 4 }, - { 14, 16, 7, 25, 6, 4 }, { 14, 15, 7, 25, 6, 4 }, { 14, 14, 7, 25, 6, 4 }, { 14, 13, 6, 25, 6, 4 }, { 13, 12, 6, 25, 6, 4 }, - { 13, 11, 5, 25, 6, 4 }, { 13, 10, 4, 26, 6, 4 }, { 13, 9, 4, 26, 6, 4 }, { 12, 8, 3, 26, 6, 4 }, { 12, 7, 3, 26, 6, 4 }, - { 12, 6, 2, 26, 6, 4 }, { 11, 5, 2, 26, 6, 4 }, { 11, 4, 1, 26, 6, 4 }, { 11, 3, 1, 26, 6, 4 }, { 10, 2, 0, 26, 6, 4 }, - { 10, 1, 0, 26, 6, 4 }, { 9, 0, -1, 26, 6, 4 }, { 9, -1, -2, 26, 6, 4 }, { 8, -2, -2, 26, 6, 4 }, { 8, -3, -3, 26, 6, 4 }, - { 7, -4, -3, 26, 6, 4 }, { 7, -5, -4, 27, 6, 4 }, { 6, -6, -4, 27, 6, 4 }, { 6, -7, -5, 27, 6, 4 }, { 5, -8, -6, 27, 6, 4 }, - { 4, -9, -6, 27, 6, 4 }, { 4, -10, -7, 27, 6, 4 }, { 3, -11, -7, 27, 6, 4 }, { 2, -12, -8, 27, 6, 4 }, { 2, -13, -9, 27, 6, 4 }, - { 1, -14, -9, 27, 6, 4 }, { 0, -15, -10, 27, 6, 4 }, { 0, -16, -11, 27, 6, 4 }, { -1, -17, -11, 27, 6, 4 }, { -2, -18, -12, 28, 6, 4 }, - { -3, -19, -12, 28, 6, 4 }, { -3, -20, -13, 28, 6, 4 }, { -4, -21, -14, 28, 6, 4 }, { -5, -22, -14, 28, 6, 4 }, { -6, -23, -15, 28, 6, 4 }, - { -7, -24, -16, 28, 6, 4 }, { -7, -25, -16, 28, 6, 4 }, { -8, -26, -17, 28, 6, 4 }, { -9, -27, -17, 28, 6, 4 }, { -10, -28, -18, 28, 6, 4 }, - { -11, -29, -19, 28, 6, 4 }, { -12, -29, -19, 28, 6, 4 }, { -13, -30, -20, 29, 6, 4 }, { -14, -31, -21, 29, 6, 4 }, { -15, -32, -21, 29, 6, 4 }, - { -16, -32, -22, 29, 6, 4 }, { -17, -33, -22, 29, 6, 4 }, { -18, -34, -23, 29, 6, 4 }, { -19, -34, -24, 29, 6, 4 }, { -20, -35, -24, 29, 6, 4 }, - { -21, -36, -25, 29, 6, 4 }, { -22, -36, -26, 29, 6, 4 }, { -23, -37, -26, 29, 6, 4 }, { -24, -38, -27, 29, 6, 4 }, { -25, -38, -27, 29, 6, 4 }, - { -26, -39, -28, 30, 6, 4 }, { -27, -39, -29, 30, 6, 4 }, { -28, -40, -29, 30, 6, 4 }, { -29, -40, -30, 30, 6, 4 }, { -30, -41, -30, 30, 6, 4 }, - { -31, -41, -31, 30, 6, 4 }, { -32, -42, -31, 30, 6, 4 }, { -33, -42, -32, 30, 6, 4 }, { -34, -43, -33, 30, 6, 4 }, { -35, -43, -33, 30, 6, 4 }, - { -36, -43, -34, 30, 6, 4 }, { -37, -44, -34, 30, 6, 4 }, { -38, -44, -35, 30, 6, 4 }, { -39, -44, -35, 30, 6, 4 }, { -40, -45, -36, 31, 6, 4 }, - { -41, -45, -36, 31, 6, 4 }, { -42, -45, -37, 31, 6, 4 }, { -43, -45, -37, 31, 6, 4 }, { -44, -46, -38, 31, 6, 4 }, { -45, -46, -39, 31, 6, 4 }, - { -46, -46, -39, 31, 6, 4 }, { -47, -46, -40, 31, 6, 4 }, { -48, -46, -40, 31, 6, 4 }, { -49, -47, -40, 31, 6, 4 }, { -50, -47, -41, 31, 6, 4 }, - { -51, -47, -42, 31, 6, 4 }, { -52, -47, -42, 31, 6, 4 }, { -53, -47, -43, 31, 6, 4 }, { -54, -47, -43, 31, 6, 4 }, { -55, -48, -44, 31, 6, 4 }, - { -56, -48, -44, 0, 6, 4 }, { -57, -48, -45, 0, 6, 4 }, { -58, -48, -45, 0, 6, 4 }, { -59, -48, -46, 0, 6, 4 }, { -60, -48, -46, 0, 6, 4 }, - { -61, -48, -47, 0, 6, 4 }, { -62, -48, -47, 0, 6, 4 }, { -63, -48, -48, 0, 6, 4 }, { -64, -48, -49, 0, 6, 4 }, + 114, { + { 16, 31, 15, 24, 6, 4 }, { 16, 30, 15, 24, 6, 4 }, { 16, 29, 14, 24, 6, 4 }, { 16, 28, 14, 24, 6, 4 }, { 16, 27, 13, 24, 6, 4 }, + { 16, 26, 13, 24, 6, 4 }, { 16, 25, 12, 24, 6, 4 }, { 16, 24, 12, 25, 6, 4 }, { 15, 23, 11, 25, 6, 4 }, { 15, 22, 11, 25, 6, 4 }, + { 15, 21, 10, 25, 6, 4 }, { 15, 20, 10, 25, 6, 4 }, { 15, 19, 9, 25, 6, 4 }, { 15, 18, 9, 25, 6, 4 }, { 14, 17, 8, 25, 6, 4 }, + { 14, 16, 7, 25, 6, 4 }, { 14, 15, 7, 25, 6, 4 }, { 14, 14, 7, 25, 6, 4 }, { 14, 13, 6, 25, 6, 4 }, { 13, 12, 6, 25, 6, 4 }, + { 13, 11, 5, 25, 6, 4 }, { 13, 10, 4, 26, 6, 4 }, { 13, 9, 4, 26, 6, 4 }, { 12, 8, 3, 26, 6, 4 }, { 12, 7, 3, 26, 6, 4 }, + { 12, 6, 2, 26, 6, 4 }, { 11, 5, 2, 26, 6, 4 }, { 11, 4, 1, 26, 6, 4 }, { 11, 3, 1, 26, 6, 4 }, { 10, 2, 0, 26, 6, 4 }, + { 10, 1, 0, 26, 6, 4 }, { 9, 0, -1, 26, 6, 4 }, { 9, -1, -2, 26, 6, 4 }, { 8, -2, -2, 26, 6, 4 }, { 8, -3, -3, 26, 6, 4 }, + { 7, -4, -3, 26, 6, 4 }, { 7, -5, -4, 27, 6, 4 }, { 6, -6, -4, 27, 6, 4 }, { 6, -7, -5, 27, 6, 4 }, { 5, -8, -6, 27, 6, 4 }, + { 4, -9, -6, 27, 6, 4 }, { 4, -10, -7, 27, 6, 4 }, { 3, -11, -7, 27, 6, 4 }, { 2, -12, -8, 27, 6, 4 }, { 2, -13, -9, 27, 6, 4 }, + { 1, -14, -9, 27, 6, 4 }, { 0, -15, -10, 27, 6, 4 }, { 0, -16, -11, 27, 6, 4 }, { -1, -17, -11, 27, 6, 4 }, { -2, -18, -12, 28, 6, 4 }, + { -3, -19, -12, 28, 6, 4 }, { -3, -20, -13, 28, 6, 4 }, { -4, -21, -14, 28, 6, 4 }, { -5, -22, -14, 28, 6, 4 }, { -6, -23, -15, 28, 6, 4 }, + { -7, -24, -16, 28, 6, 4 }, { -7, -25, -16, 28, 6, 4 }, { -8, -26, -17, 28, 6, 4 }, { -9, -27, -17, 28, 6, 4 }, { -10, -28, -18, 28, 6, 4 }, + { -11, -29, -19, 28, 6, 4 }, { -12, -29, -19, 28, 6, 4 }, { -13, -30, -20, 29, 6, 4 }, { -14, -31, -21, 29, 6, 4 }, { -15, -32, -21, 29, 6, 4 }, + { -16, -32, -22, 29, 6, 4 }, { -17, -33, -22, 29, 6, 4 }, { -18, -34, -23, 29, 6, 4 }, { -19, -34, -24, 29, 6, 4 }, { -20, -35, -24, 29, 6, 4 }, + { -21, -36, -25, 29, 6, 4 }, { -22, -36, -26, 29, 6, 4 }, { -23, -37, -26, 29, 6, 4 }, { -24, -38, -27, 29, 6, 4 }, { -25, -38, -27, 29, 6, 4 }, + { -26, -39, -28, 30, 6, 4 }, { -27, -39, -29, 30, 6, 4 }, { -28, -40, -29, 30, 6, 4 }, { -29, -40, -30, 30, 6, 4 }, { -30, -41, -30, 30, 6, 4 }, + { -31, -41, -31, 30, 6, 4 }, { -32, -42, -31, 30, 6, 4 }, { -33, -42, -32, 30, 6, 4 }, { -34, -43, -33, 30, 6, 4 }, { -35, -43, -33, 30, 6, 4 }, + { -36, -43, -34, 30, 6, 4 }, { -37, -44, -34, 30, 6, 4 }, { -38, -44, -35, 30, 6, 4 }, { -39, -44, -35, 30, 6, 4 }, { -40, -45, -36, 31, 6, 4 }, + { -41, -45, -36, 31, 6, 4 }, { -42, -45, -37, 31, 6, 4 }, { -43, -45, -37, 31, 6, 4 }, { -44, -46, -38, 31, 6, 4 }, { -45, -46, -39, 31, 6, 4 }, + { -46, -46, -39, 31, 6, 4 }, { -47, -46, -40, 31, 6, 4 }, { -48, -46, -40, 31, 6, 4 }, { -49, -47, -40, 31, 6, 4 }, { -50, -47, -41, 31, 6, 4 }, + { -51, -47, -42, 31, 6, 4 }, { -52, -47, -42, 31, 6, 4 }, { -53, -47, -43, 31, 6, 4 }, { -54, -47, -43, 31, 6, 4 }, { -55, -48, -44, 31, 6, 4 }, + { -56, -48, -44, 0, 6, 4 }, { -57, -48, -45, 0, 6, 4 }, { -58, -48, -45, 0, 6, 4 }, { -59, -48, -46, 0, 6, 4 }, { -60, -48, -46, 0, 6, 4 }, + { -61, -48, -47, 0, 6, 4 }, { -62, -48, -47, 0, 6, 4 }, { -63, -48, -48, 0, 6, 4 }, { -64, -48, -49, 0, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_961F1E = { - 32, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 1, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 2, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 3, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 4, 0, 2, 0 }, { 23, 16, 4, 0, 2, 1 }, { 22, 16, 5, 0, 2, 1 }, - { 21, 16, 5, 0, 2, 1 }, { 20, 16, 6, 0, 2, 1 }, { 19, 16, 6, 0, 2, 1 }, { 18, 16, 7, 0, 2, 1 }, { 17, 16, 7, 0, 2, 1 }, - { 16, 16, 8, 0, 2, 1 }, { 15, 16, 8, 0, 2, 1 }, { 14, 16, 9, 0, 2, 1 }, { 13, 16, 9, 0, 2, 1 }, { 12, 16, 10, 0, 2, 1 }, - { 11, 16, 10, 0, 2, 1 }, { 10, 16, 11, 0, 2, 1 }, { 9, 16, 11, 0, 2, 1 }, { 8, 16, 12, 0, 2, 1 }, { 7, 16, 12, 0, 2, 2 }, - { 6, 16, 13, 0, 2, 2 }, { 5, 16, 13, 0, 2, 2 }, { 4, 16, 14, 0, 2, 2 }, { 3, 16, 14, 0, 2, 2 }, { 2, 16, 15, 0, 2, 2 }, - { 1, 16, 15, 0, 2, 2 }, { 0, 16, 16, 0, 2, 2 }, + 32, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 1, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 2, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 3, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 4, 0, 2, 0 }, { 23, 16, 4, 0, 2, 1 }, { 22, 16, 5, 0, 2, 1 }, + { 21, 16, 5, 0, 2, 1 }, { 20, 16, 6, 0, 2, 1 }, { 19, 16, 6, 0, 2, 1 }, { 18, 16, 7, 0, 2, 1 }, { 17, 16, 7, 0, 2, 1 }, + { 16, 16, 8, 0, 2, 1 }, { 15, 16, 8, 0, 2, 1 }, { 14, 16, 9, 0, 2, 1 }, { 13, 16, 9, 0, 2, 1 }, { 12, 16, 10, 0, 2, 1 }, + { 11, 16, 10, 0, 2, 1 }, { 10, 16, 11, 0, 2, 1 }, { 9, 16, 11, 0, 2, 1 }, { 8, 16, 12, 0, 2, 1 }, { 7, 16, 12, 0, 2, 2 }, + { 6, 16, 13, 0, 2, 2 }, { 5, 16, 13, 0, 2, 2 }, { 4, 16, 14, 0, 2, 2 }, { 3, 16, 14, 0, 2, 2 }, { 2, 16, 15, 0, 2, 2 }, + { 1, 16, 15, 0, 2, 2 }, { 0, 16, 16, 0, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_962040 = { - 32, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 2, 1 }, { 16, 9, 4, 8, 2, 1 }, - { 16, 10, 5, 8, 2, 1 }, { 16, 11, 5, 8, 2, 1 }, { 16, 12, 6, 8, 2, 1 }, { 16, 13, 6, 8, 2, 1 }, { 16, 14, 7, 8, 2, 1 }, - { 16, 15, 7, 8, 2, 1 }, { 16, 16, 8, 8, 2, 1 }, { 16, 17, 8, 8, 2, 1 }, { 16, 18, 9, 8, 2, 1 }, { 16, 19, 9, 8, 2, 1 }, - { 16, 20, 10, 8, 2, 1 }, { 16, 21, 10, 8, 2, 1 }, { 16, 22, 11, 8, 2, 1 }, { 16, 23, 11, 8, 2, 1 }, { 16, 24, 12, 8, 2, 2 }, - { 16, 25, 12, 8, 2, 2 }, { 16, 26, 13, 8, 2, 2 }, { 16, 27, 13, 8, 2, 2 }, { 16, 28, 14, 8, 2, 2 }, { 16, 29, 14, 8, 2, 2 }, - { 16, 30, 15, 8, 2, 2 }, { 16, 31, 15, 8, 2, 2 }, + 32, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 2, 1 }, { 16, 9, 4, 8, 2, 1 }, + { 16, 10, 5, 8, 2, 1 }, { 16, 11, 5, 8, 2, 1 }, { 16, 12, 6, 8, 2, 1 }, { 16, 13, 6, 8, 2, 1 }, { 16, 14, 7, 8, 2, 1 }, + { 16, 15, 7, 8, 2, 1 }, { 16, 16, 8, 8, 2, 1 }, { 16, 17, 8, 8, 2, 1 }, { 16, 18, 9, 8, 2, 1 }, { 16, 19, 9, 8, 2, 1 }, + { 16, 20, 10, 8, 2, 1 }, { 16, 21, 10, 8, 2, 1 }, { 16, 22, 11, 8, 2, 1 }, { 16, 23, 11, 8, 2, 1 }, { 16, 24, 12, 8, 2, 2 }, + { 16, 25, 12, 8, 2, 2 }, { 16, 26, 13, 8, 2, 2 }, { 16, 27, 13, 8, 2, 2 }, { 16, 28, 14, 8, 2, 2 }, { 16, 29, 14, 8, 2, 2 }, + { 16, 30, 15, 8, 2, 2 }, { 16, 31, 15, 8, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_962162 = { - 32, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 2, 1 }, { 9, 16, 4, 16, 2, 1 }, - { 10, 16, 5, 16, 2, 1 }, { 11, 16, 5, 16, 2, 1 }, { 12, 16, 6, 16, 2, 1 }, { 13, 16, 6, 16, 2, 1 }, { 14, 16, 7, 16, 2, 1 }, - { 15, 16, 7, 16, 2, 1 }, { 16, 16, 8, 16, 2, 1 }, { 17, 16, 8, 16, 2, 1 }, { 18, 16, 9, 16, 2, 1 }, { 19, 16, 9, 16, 2, 1 }, - { 20, 16, 10, 16, 2, 1 }, { 21, 16, 10, 16, 2, 1 }, { 22, 16, 11, 16, 2, 1 }, { 23, 16, 11, 16, 2, 1 }, { 24, 16, 12, 16, 2, 2 }, - { 25, 16, 12, 16, 2, 2 }, { 26, 16, 13, 16, 2, 2 }, { 27, 16, 13, 16, 2, 2 }, { 28, 16, 14, 16, 2, 2 }, { 29, 16, 14, 16, 2, 2 }, - { 30, 16, 15, 16, 2, 2 }, { 31, 16, 15, 16, 2, 2 }, + 32, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 2, 1 }, { 9, 16, 4, 16, 2, 1 }, + { 10, 16, 5, 16, 2, 1 }, { 11, 16, 5, 16, 2, 1 }, { 12, 16, 6, 16, 2, 1 }, { 13, 16, 6, 16, 2, 1 }, { 14, 16, 7, 16, 2, 1 }, + { 15, 16, 7, 16, 2, 1 }, { 16, 16, 8, 16, 2, 1 }, { 17, 16, 8, 16, 2, 1 }, { 18, 16, 9, 16, 2, 1 }, { 19, 16, 9, 16, 2, 1 }, + { 20, 16, 10, 16, 2, 1 }, { 21, 16, 10, 16, 2, 1 }, { 22, 16, 11, 16, 2, 1 }, { 23, 16, 11, 16, 2, 1 }, { 24, 16, 12, 16, 2, 2 }, + { 25, 16, 12, 16, 2, 2 }, { 26, 16, 13, 16, 2, 2 }, { 27, 16, 13, 16, 2, 2 }, { 28, 16, 14, 16, 2, 2 }, { 29, 16, 14, 16, 2, 2 }, + { 30, 16, 15, 16, 2, 2 }, { 31, 16, 15, 16, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_962284 = { - 32, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 1, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 2, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 3, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 4, 24, 2, 0 }, { 16, 23, 4, 24, 2, 1 }, { 16, 22, 5, 24, 2, 1 }, - { 16, 21, 5, 24, 2, 1 }, { 16, 20, 6, 24, 2, 1 }, { 16, 19, 6, 24, 2, 1 }, { 16, 18, 7, 24, 2, 1 }, { 16, 17, 7, 24, 2, 1 }, - { 16, 16, 8, 24, 2, 1 }, { 16, 15, 8, 24, 2, 1 }, { 16, 14, 9, 24, 2, 1 }, { 16, 13, 9, 24, 2, 1 }, { 16, 12, 10, 24, 2, 1 }, - { 16, 11, 10, 24, 2, 1 }, { 16, 10, 11, 24, 2, 1 }, { 16, 9, 11, 24, 2, 1 }, { 16, 8, 12, 24, 2, 1 }, { 16, 7, 12, 24, 2, 2 }, - { 16, 6, 13, 24, 2, 2 }, { 16, 5, 13, 24, 2, 2 }, { 16, 4, 14, 24, 2, 2 }, { 16, 3, 14, 24, 2, 2 }, { 16, 2, 15, 24, 2, 2 }, - { 16, 1, 15, 24, 2, 2 }, { 16, 0, 16, 24, 2, 2 }, + 32, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 1, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 2, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 3, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 4, 24, 2, 0 }, { 16, 23, 4, 24, 2, 1 }, { 16, 22, 5, 24, 2, 1 }, + { 16, 21, 5, 24, 2, 1 }, { 16, 20, 6, 24, 2, 1 }, { 16, 19, 6, 24, 2, 1 }, { 16, 18, 7, 24, 2, 1 }, { 16, 17, 7, 24, 2, 1 }, + { 16, 16, 8, 24, 2, 1 }, { 16, 15, 8, 24, 2, 1 }, { 16, 14, 9, 24, 2, 1 }, { 16, 13, 9, 24, 2, 1 }, { 16, 12, 10, 24, 2, 1 }, + { 16, 11, 10, 24, 2, 1 }, { 16, 10, 11, 24, 2, 1 }, { 16, 9, 11, 24, 2, 1 }, { 16, 8, 12, 24, 2, 1 }, { 16, 7, 12, 24, 2, 2 }, + { 16, 6, 13, 24, 2, 2 }, { 16, 5, 13, 24, 2, 2 }, { 16, 4, 14, 24, 2, 2 }, { 16, 3, 14, 24, 2, 2 }, { 16, 2, 15, 24, 2, 2 }, + { 16, 1, 15, 24, 2, 2 }, { 16, 0, 16, 24, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9623A6 = { - 32, { - { 31, 16, 0, 0, 2, 0 }, { 30, 16, 1, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 2, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, - { 26, 16, 3, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 4, 0, 2, 0 }, { 23, 16, 4, 0, 2, 3 }, { 22, 16, 5, 0, 2, 3 }, - { 21, 16, 5, 0, 2, 3 }, { 20, 16, 6, 0, 2, 3 }, { 19, 16, 6, 0, 2, 3 }, { 18, 16, 7, 0, 2, 3 }, { 17, 16, 7, 0, 2, 3 }, - { 16, 16, 8, 0, 2, 3 }, { 15, 16, 8, 0, 2, 3 }, { 14, 16, 9, 0, 2, 3 }, { 13, 16, 9, 0, 2, 3 }, { 12, 16, 10, 0, 2, 3 }, - { 11, 16, 10, 0, 2, 3 }, { 10, 16, 11, 0, 2, 3 }, { 9, 16, 11, 0, 2, 3 }, { 8, 16, 12, 0, 2, 3 }, { 7, 16, 12, 0, 2, 4 }, - { 6, 16, 13, 0, 2, 4 }, { 5, 16, 13, 0, 2, 4 }, { 4, 16, 14, 0, 2, 4 }, { 3, 16, 14, 0, 2, 4 }, { 2, 16, 15, 0, 2, 4 }, - { 1, 16, 15, 0, 2, 4 }, { 0, 16, 16, 0, 2, 4 }, + 32, { + { 31, 16, 0, 0, 2, 0 }, { 30, 16, 1, 0, 2, 0 }, { 29, 16, 1, 0, 2, 0 }, { 28, 16, 2, 0, 2, 0 }, { 27, 16, 2, 0, 2, 0 }, + { 26, 16, 3, 0, 2, 0 }, { 25, 16, 3, 0, 2, 0 }, { 24, 16, 4, 0, 2, 0 }, { 23, 16, 4, 0, 2, 3 }, { 22, 16, 5, 0, 2, 3 }, + { 21, 16, 5, 0, 2, 3 }, { 20, 16, 6, 0, 2, 3 }, { 19, 16, 6, 0, 2, 3 }, { 18, 16, 7, 0, 2, 3 }, { 17, 16, 7, 0, 2, 3 }, + { 16, 16, 8, 0, 2, 3 }, { 15, 16, 8, 0, 2, 3 }, { 14, 16, 9, 0, 2, 3 }, { 13, 16, 9, 0, 2, 3 }, { 12, 16, 10, 0, 2, 3 }, + { 11, 16, 10, 0, 2, 3 }, { 10, 16, 11, 0, 2, 3 }, { 9, 16, 11, 0, 2, 3 }, { 8, 16, 12, 0, 2, 3 }, { 7, 16, 12, 0, 2, 4 }, + { 6, 16, 13, 0, 2, 4 }, { 5, 16, 13, 0, 2, 4 }, { 4, 16, 14, 0, 2, 4 }, { 3, 16, 14, 0, 2, 4 }, { 2, 16, 15, 0, 2, 4 }, + { 1, 16, 15, 0, 2, 4 }, { 0, 16, 16, 0, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9624C8 = { - 32, { - { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, - { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 2, 3 }, { 16, 9, 4, 8, 2, 3 }, - { 16, 10, 5, 8, 2, 3 }, { 16, 11, 5, 8, 2, 3 }, { 16, 12, 6, 8, 2, 3 }, { 16, 13, 6, 8, 2, 3 }, { 16, 14, 7, 8, 2, 3 }, - { 16, 15, 7, 8, 2, 3 }, { 16, 16, 8, 8, 2, 3 }, { 16, 17, 8, 8, 2, 3 }, { 16, 18, 9, 8, 2, 3 }, { 16, 19, 9, 8, 2, 3 }, - { 16, 20, 10, 8, 2, 3 }, { 16, 21, 10, 8, 2, 3 }, { 16, 22, 11, 8, 2, 3 }, { 16, 23, 11, 8, 2, 3 }, { 16, 24, 12, 8, 2, 4 }, - { 16, 25, 12, 8, 2, 4 }, { 16, 26, 13, 8, 2, 4 }, { 16, 27, 13, 8, 2, 4 }, { 16, 28, 14, 8, 2, 4 }, { 16, 29, 14, 8, 2, 4 }, - { 16, 30, 15, 8, 2, 4 }, { 16, 31, 15, 8, 2, 4 }, + 32, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 0, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 1, 8, 2, 0 }, { 16, 4, 2, 8, 2, 0 }, + { 16, 5, 2, 8, 2, 0 }, { 16, 6, 3, 8, 2, 0 }, { 16, 7, 3, 8, 2, 0 }, { 16, 8, 4, 8, 2, 3 }, { 16, 9, 4, 8, 2, 3 }, + { 16, 10, 5, 8, 2, 3 }, { 16, 11, 5, 8, 2, 3 }, { 16, 12, 6, 8, 2, 3 }, { 16, 13, 6, 8, 2, 3 }, { 16, 14, 7, 8, 2, 3 }, + { 16, 15, 7, 8, 2, 3 }, { 16, 16, 8, 8, 2, 3 }, { 16, 17, 8, 8, 2, 3 }, { 16, 18, 9, 8, 2, 3 }, { 16, 19, 9, 8, 2, 3 }, + { 16, 20, 10, 8, 2, 3 }, { 16, 21, 10, 8, 2, 3 }, { 16, 22, 11, 8, 2, 3 }, { 16, 23, 11, 8, 2, 3 }, { 16, 24, 12, 8, 2, 4 }, + { 16, 25, 12, 8, 2, 4 }, { 16, 26, 13, 8, 2, 4 }, { 16, 27, 13, 8, 2, 4 }, { 16, 28, 14, 8, 2, 4 }, { 16, 29, 14, 8, 2, 4 }, + { 16, 30, 15, 8, 2, 4 }, { 16, 31, 15, 8, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9625EA = { - 32, { - { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, - { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 2, 3 }, { 9, 16, 4, 16, 2, 3 }, - { 10, 16, 5, 16, 2, 3 }, { 11, 16, 5, 16, 2, 3 }, { 12, 16, 6, 16, 2, 3 }, { 13, 16, 6, 16, 2, 3 }, { 14, 16, 7, 16, 2, 3 }, - { 15, 16, 7, 16, 2, 3 }, { 16, 16, 8, 16, 2, 3 }, { 17, 16, 8, 16, 2, 3 }, { 18, 16, 9, 16, 2, 3 }, { 19, 16, 9, 16, 2, 3 }, - { 20, 16, 10, 16, 2, 3 }, { 21, 16, 10, 16, 2, 3 }, { 22, 16, 11, 16, 2, 3 }, { 23, 16, 11, 16, 2, 3 }, { 24, 16, 12, 16, 2, 4 }, - { 25, 16, 12, 16, 2, 4 }, { 26, 16, 13, 16, 2, 4 }, { 27, 16, 13, 16, 2, 4 }, { 28, 16, 14, 16, 2, 4 }, { 29, 16, 14, 16, 2, 4 }, - { 30, 16, 15, 16, 2, 4 }, { 31, 16, 15, 16, 2, 4 }, + 32, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 0, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 1, 16, 2, 0 }, { 4, 16, 2, 16, 2, 0 }, + { 5, 16, 2, 16, 2, 0 }, { 6, 16, 3, 16, 2, 0 }, { 7, 16, 3, 16, 2, 0 }, { 8, 16, 4, 16, 2, 3 }, { 9, 16, 4, 16, 2, 3 }, + { 10, 16, 5, 16, 2, 3 }, { 11, 16, 5, 16, 2, 3 }, { 12, 16, 6, 16, 2, 3 }, { 13, 16, 6, 16, 2, 3 }, { 14, 16, 7, 16, 2, 3 }, + { 15, 16, 7, 16, 2, 3 }, { 16, 16, 8, 16, 2, 3 }, { 17, 16, 8, 16, 2, 3 }, { 18, 16, 9, 16, 2, 3 }, { 19, 16, 9, 16, 2, 3 }, + { 20, 16, 10, 16, 2, 3 }, { 21, 16, 10, 16, 2, 3 }, { 22, 16, 11, 16, 2, 3 }, { 23, 16, 11, 16, 2, 3 }, { 24, 16, 12, 16, 2, 4 }, + { 25, 16, 12, 16, 2, 4 }, { 26, 16, 13, 16, 2, 4 }, { 27, 16, 13, 16, 2, 4 }, { 28, 16, 14, 16, 2, 4 }, { 29, 16, 14, 16, 2, 4 }, + { 30, 16, 15, 16, 2, 4 }, { 31, 16, 15, 16, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96270C = { - 32, { - { 16, 31, 0, 24, 2, 0 }, { 16, 30, 1, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 2, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, - { 16, 26, 3, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 4, 24, 2, 0 }, { 16, 23, 4, 24, 2, 3 }, { 16, 22, 5, 24, 2, 3 }, - { 16, 21, 5, 24, 2, 3 }, { 16, 20, 6, 24, 2, 3 }, { 16, 19, 6, 24, 2, 3 }, { 16, 18, 7, 24, 2, 3 }, { 16, 17, 7, 24, 2, 3 }, - { 16, 16, 8, 24, 2, 3 }, { 16, 15, 8, 24, 2, 3 }, { 16, 14, 9, 24, 2, 3 }, { 16, 13, 9, 24, 2, 3 }, { 16, 12, 10, 24, 2, 3 }, - { 16, 11, 10, 24, 2, 3 }, { 16, 10, 11, 24, 2, 3 }, { 16, 9, 11, 24, 2, 3 }, { 16, 8, 12, 24, 2, 3 }, { 16, 7, 12, 24, 2, 4 }, - { 16, 6, 13, 24, 2, 4 }, { 16, 5, 13, 24, 2, 4 }, { 16, 4, 14, 24, 2, 4 }, { 16, 3, 14, 24, 2, 4 }, { 16, 2, 15, 24, 2, 4 }, - { 16, 1, 15, 24, 2, 4 }, { 16, 0, 16, 24, 2, 4 }, + 32, { + { 16, 31, 0, 24, 2, 0 }, { 16, 30, 1, 24, 2, 0 }, { 16, 29, 1, 24, 2, 0 }, { 16, 28, 2, 24, 2, 0 }, { 16, 27, 2, 24, 2, 0 }, + { 16, 26, 3, 24, 2, 0 }, { 16, 25, 3, 24, 2, 0 }, { 16, 24, 4, 24, 2, 0 }, { 16, 23, 4, 24, 2, 3 }, { 16, 22, 5, 24, 2, 3 }, + { 16, 21, 5, 24, 2, 3 }, { 16, 20, 6, 24, 2, 3 }, { 16, 19, 6, 24, 2, 3 }, { 16, 18, 7, 24, 2, 3 }, { 16, 17, 7, 24, 2, 3 }, + { 16, 16, 8, 24, 2, 3 }, { 16, 15, 8, 24, 2, 3 }, { 16, 14, 9, 24, 2, 3 }, { 16, 13, 9, 24, 2, 3 }, { 16, 12, 10, 24, 2, 3 }, + { 16, 11, 10, 24, 2, 3 }, { 16, 10, 11, 24, 2, 3 }, { 16, 9, 11, 24, 2, 3 }, { 16, 8, 12, 24, 2, 3 }, { 16, 7, 12, 24, 2, 4 }, + { 16, 6, 13, 24, 2, 4 }, { 16, 5, 13, 24, 2, 4 }, { 16, 4, 14, 24, 2, 4 }, { 16, 3, 14, 24, 2, 4 }, { 16, 2, 15, 24, 2, 4 }, + { 16, 1, 15, 24, 2, 4 }, { 16, 0, 16, 24, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96313E = { - 32, { - { 31, 16, 0, 0, 2, 2 }, { 30, 16, 1, 0, 2, 2 }, { 29, 16, 1, 0, 2, 2 }, { 28, 16, 2, 0, 2, 2 }, { 27, 16, 2, 0, 2, 2 }, - { 26, 16, 3, 0, 2, 2 }, { 25, 16, 3, 0, 2, 2 }, { 24, 16, 4, 0, 2, 2 }, { 23, 16, 4, 0, 2, 1 }, { 22, 16, 5, 0, 2, 1 }, - { 21, 16, 5, 0, 2, 1 }, { 20, 16, 6, 0, 2, 1 }, { 19, 16, 6, 0, 2, 1 }, { 18, 16, 7, 0, 2, 1 }, { 17, 16, 7, 0, 2, 1 }, - { 16, 16, 8, 0, 2, 1 }, { 15, 16, 8, 0, 2, 1 }, { 14, 16, 9, 0, 2, 1 }, { 13, 16, 9, 0, 2, 1 }, { 12, 16, 10, 0, 2, 1 }, - { 11, 16, 10, 0, 2, 1 }, { 10, 16, 11, 0, 2, 1 }, { 9, 16, 11, 0, 2, 1 }, { 8, 16, 12, 0, 2, 1 }, { 7, 16, 12, 0, 2, 0 }, - { 6, 16, 13, 0, 2, 0 }, { 5, 16, 13, 0, 2, 0 }, { 4, 16, 14, 0, 2, 0 }, { 3, 16, 14, 0, 2, 0 }, { 2, 16, 15, 0, 2, 0 }, - { 1, 16, 15, 0, 2, 0 }, { 0, 16, 16, 0, 2, 0 }, + 32, { + { 31, 16, 0, 0, 2, 2 }, { 30, 16, 1, 0, 2, 2 }, { 29, 16, 1, 0, 2, 2 }, { 28, 16, 2, 0, 2, 2 }, { 27, 16, 2, 0, 2, 2 }, + { 26, 16, 3, 0, 2, 2 }, { 25, 16, 3, 0, 2, 2 }, { 24, 16, 4, 0, 2, 2 }, { 23, 16, 4, 0, 2, 1 }, { 22, 16, 5, 0, 2, 1 }, + { 21, 16, 5, 0, 2, 1 }, { 20, 16, 6, 0, 2, 1 }, { 19, 16, 6, 0, 2, 1 }, { 18, 16, 7, 0, 2, 1 }, { 17, 16, 7, 0, 2, 1 }, + { 16, 16, 8, 0, 2, 1 }, { 15, 16, 8, 0, 2, 1 }, { 14, 16, 9, 0, 2, 1 }, { 13, 16, 9, 0, 2, 1 }, { 12, 16, 10, 0, 2, 1 }, + { 11, 16, 10, 0, 2, 1 }, { 10, 16, 11, 0, 2, 1 }, { 9, 16, 11, 0, 2, 1 }, { 8, 16, 12, 0, 2, 1 }, { 7, 16, 12, 0, 2, 0 }, + { 6, 16, 13, 0, 2, 0 }, { 5, 16, 13, 0, 2, 0 }, { 4, 16, 14, 0, 2, 0 }, { 3, 16, 14, 0, 2, 0 }, { 2, 16, 15, 0, 2, 0 }, + { 1, 16, 15, 0, 2, 0 }, { 0, 16, 16, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_963260 = { - 32, { - { 16, 0, 0, 8, 2, 2 }, { 16, 1, 0, 8, 2, 2 }, { 16, 2, 1, 8, 2, 2 }, { 16, 3, 1, 8, 2, 2 }, { 16, 4, 2, 8, 2, 2 }, - { 16, 5, 2, 8, 2, 2 }, { 16, 6, 3, 8, 2, 2 }, { 16, 7, 3, 8, 2, 2 }, { 16, 8, 4, 8, 2, 1 }, { 16, 9, 4, 8, 2, 1 }, - { 16, 10, 5, 8, 2, 1 }, { 16, 11, 5, 8, 2, 1 }, { 16, 12, 6, 8, 2, 1 }, { 16, 13, 6, 8, 2, 1 }, { 16, 14, 7, 8, 2, 1 }, - { 16, 15, 7, 8, 2, 1 }, { 16, 16, 8, 8, 2, 1 }, { 16, 17, 8, 8, 2, 1 }, { 16, 18, 9, 8, 2, 1 }, { 16, 19, 9, 8, 2, 1 }, - { 16, 20, 10, 8, 2, 1 }, { 16, 21, 10, 8, 2, 1 }, { 16, 22, 11, 8, 2, 1 }, { 16, 23, 11, 8, 2, 1 }, { 16, 24, 12, 8, 2, 0 }, - { 16, 25, 12, 8, 2, 0 }, { 16, 26, 13, 8, 2, 0 }, { 16, 27, 13, 8, 2, 0 }, { 16, 28, 14, 8, 2, 0 }, { 16, 29, 14, 8, 2, 0 }, - { 16, 30, 15, 8, 2, 0 }, { 16, 31, 15, 8, 2, 0 }, + 32, { + { 16, 0, 0, 8, 2, 2 }, { 16, 1, 0, 8, 2, 2 }, { 16, 2, 1, 8, 2, 2 }, { 16, 3, 1, 8, 2, 2 }, { 16, 4, 2, 8, 2, 2 }, + { 16, 5, 2, 8, 2, 2 }, { 16, 6, 3, 8, 2, 2 }, { 16, 7, 3, 8, 2, 2 }, { 16, 8, 4, 8, 2, 1 }, { 16, 9, 4, 8, 2, 1 }, + { 16, 10, 5, 8, 2, 1 }, { 16, 11, 5, 8, 2, 1 }, { 16, 12, 6, 8, 2, 1 }, { 16, 13, 6, 8, 2, 1 }, { 16, 14, 7, 8, 2, 1 }, + { 16, 15, 7, 8, 2, 1 }, { 16, 16, 8, 8, 2, 1 }, { 16, 17, 8, 8, 2, 1 }, { 16, 18, 9, 8, 2, 1 }, { 16, 19, 9, 8, 2, 1 }, + { 16, 20, 10, 8, 2, 1 }, { 16, 21, 10, 8, 2, 1 }, { 16, 22, 11, 8, 2, 1 }, { 16, 23, 11, 8, 2, 1 }, { 16, 24, 12, 8, 2, 0 }, + { 16, 25, 12, 8, 2, 0 }, { 16, 26, 13, 8, 2, 0 }, { 16, 27, 13, 8, 2, 0 }, { 16, 28, 14, 8, 2, 0 }, { 16, 29, 14, 8, 2, 0 }, + { 16, 30, 15, 8, 2, 0 }, { 16, 31, 15, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_963382 = { - 32, { - { 0, 16, 0, 16, 2, 2 }, { 1, 16, 0, 16, 2, 2 }, { 2, 16, 1, 16, 2, 2 }, { 3, 16, 1, 16, 2, 2 }, { 4, 16, 2, 16, 2, 2 }, - { 5, 16, 2, 16, 2, 2 }, { 6, 16, 3, 16, 2, 2 }, { 7, 16, 3, 16, 2, 2 }, { 8, 16, 4, 16, 2, 1 }, { 9, 16, 4, 16, 2, 1 }, - { 10, 16, 5, 16, 2, 1 }, { 11, 16, 5, 16, 2, 1 }, { 12, 16, 6, 16, 2, 1 }, { 13, 16, 6, 16, 2, 1 }, { 14, 16, 7, 16, 2, 1 }, - { 15, 16, 7, 16, 2, 1 }, { 16, 16, 8, 16, 2, 1 }, { 17, 16, 8, 16, 2, 1 }, { 18, 16, 9, 16, 2, 1 }, { 19, 16, 9, 16, 2, 1 }, - { 20, 16, 10, 16, 2, 1 }, { 21, 16, 10, 16, 2, 1 }, { 22, 16, 11, 16, 2, 1 }, { 23, 16, 11, 16, 2, 1 }, { 24, 16, 12, 16, 2, 0 }, - { 25, 16, 12, 16, 2, 0 }, { 26, 16, 13, 16, 2, 0 }, { 27, 16, 13, 16, 2, 0 }, { 28, 16, 14, 16, 2, 0 }, { 29, 16, 14, 16, 2, 0 }, - { 30, 16, 15, 16, 2, 0 }, { 31, 16, 15, 16, 2, 0 }, + 32, { + { 0, 16, 0, 16, 2, 2 }, { 1, 16, 0, 16, 2, 2 }, { 2, 16, 1, 16, 2, 2 }, { 3, 16, 1, 16, 2, 2 }, { 4, 16, 2, 16, 2, 2 }, + { 5, 16, 2, 16, 2, 2 }, { 6, 16, 3, 16, 2, 2 }, { 7, 16, 3, 16, 2, 2 }, { 8, 16, 4, 16, 2, 1 }, { 9, 16, 4, 16, 2, 1 }, + { 10, 16, 5, 16, 2, 1 }, { 11, 16, 5, 16, 2, 1 }, { 12, 16, 6, 16, 2, 1 }, { 13, 16, 6, 16, 2, 1 }, { 14, 16, 7, 16, 2, 1 }, + { 15, 16, 7, 16, 2, 1 }, { 16, 16, 8, 16, 2, 1 }, { 17, 16, 8, 16, 2, 1 }, { 18, 16, 9, 16, 2, 1 }, { 19, 16, 9, 16, 2, 1 }, + { 20, 16, 10, 16, 2, 1 }, { 21, 16, 10, 16, 2, 1 }, { 22, 16, 11, 16, 2, 1 }, { 23, 16, 11, 16, 2, 1 }, { 24, 16, 12, 16, 2, 0 }, + { 25, 16, 12, 16, 2, 0 }, { 26, 16, 13, 16, 2, 0 }, { 27, 16, 13, 16, 2, 0 }, { 28, 16, 14, 16, 2, 0 }, { 29, 16, 14, 16, 2, 0 }, + { 30, 16, 15, 16, 2, 0 }, { 31, 16, 15, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9634A4 = { - 32, { - { 16, 31, 0, 24, 2, 2 }, { 16, 30, 1, 24, 2, 2 }, { 16, 29, 1, 24, 2, 2 }, { 16, 28, 2, 24, 2, 2 }, { 16, 27, 2, 24, 2, 2 }, - { 16, 26, 3, 24, 2, 2 }, { 16, 25, 3, 24, 2, 2 }, { 16, 24, 4, 24, 2, 2 }, { 16, 23, 4, 24, 2, 1 }, { 16, 22, 5, 24, 2, 1 }, - { 16, 21, 5, 24, 2, 1 }, { 16, 20, 6, 24, 2, 1 }, { 16, 19, 6, 24, 2, 1 }, { 16, 18, 7, 24, 2, 1 }, { 16, 17, 7, 24, 2, 1 }, - { 16, 16, 8, 24, 2, 1 }, { 16, 15, 8, 24, 2, 1 }, { 16, 14, 9, 24, 2, 1 }, { 16, 13, 9, 24, 2, 1 }, { 16, 12, 10, 24, 2, 1 }, - { 16, 11, 10, 24, 2, 1 }, { 16, 10, 11, 24, 2, 1 }, { 16, 9, 11, 24, 2, 1 }, { 16, 8, 12, 24, 2, 1 }, { 16, 7, 12, 24, 2, 0 }, - { 16, 6, 13, 24, 2, 0 }, { 16, 5, 13, 24, 2, 0 }, { 16, 4, 14, 24, 2, 0 }, { 16, 3, 14, 24, 2, 0 }, { 16, 2, 15, 24, 2, 0 }, - { 16, 1, 15, 24, 2, 0 }, { 16, 0, 16, 24, 2, 0 }, + 32, { + { 16, 31, 0, 24, 2, 2 }, { 16, 30, 1, 24, 2, 2 }, { 16, 29, 1, 24, 2, 2 }, { 16, 28, 2, 24, 2, 2 }, { 16, 27, 2, 24, 2, 2 }, + { 16, 26, 3, 24, 2, 2 }, { 16, 25, 3, 24, 2, 2 }, { 16, 24, 4, 24, 2, 2 }, { 16, 23, 4, 24, 2, 1 }, { 16, 22, 5, 24, 2, 1 }, + { 16, 21, 5, 24, 2, 1 }, { 16, 20, 6, 24, 2, 1 }, { 16, 19, 6, 24, 2, 1 }, { 16, 18, 7, 24, 2, 1 }, { 16, 17, 7, 24, 2, 1 }, + { 16, 16, 8, 24, 2, 1 }, { 16, 15, 8, 24, 2, 1 }, { 16, 14, 9, 24, 2, 1 }, { 16, 13, 9, 24, 2, 1 }, { 16, 12, 10, 24, 2, 1 }, + { 16, 11, 10, 24, 2, 1 }, { 16, 10, 11, 24, 2, 1 }, { 16, 9, 11, 24, 2, 1 }, { 16, 8, 12, 24, 2, 1 }, { 16, 7, 12, 24, 2, 0 }, + { 16, 6, 13, 24, 2, 0 }, { 16, 5, 13, 24, 2, 0 }, { 16, 4, 14, 24, 2, 0 }, { 16, 3, 14, 24, 2, 0 }, { 16, 2, 15, 24, 2, 0 }, + { 16, 1, 15, 24, 2, 0 }, { 16, 0, 16, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9635C6 = { - 32, { - { 31, 16, 0, 0, 2, 4 }, { 30, 16, 1, 0, 2, 4 }, { 29, 16, 1, 0, 2, 4 }, { 28, 16, 2, 0, 2, 4 }, { 27, 16, 2, 0, 2, 4 }, - { 26, 16, 3, 0, 2, 4 }, { 25, 16, 3, 0, 2, 4 }, { 24, 16, 4, 0, 2, 4 }, { 23, 16, 4, 0, 2, 3 }, { 22, 16, 5, 0, 2, 3 }, - { 21, 16, 5, 0, 2, 3 }, { 20, 16, 6, 0, 2, 3 }, { 19, 16, 6, 0, 2, 3 }, { 18, 16, 7, 0, 2, 3 }, { 17, 16, 7, 0, 2, 3 }, - { 16, 16, 8, 0, 2, 3 }, { 15, 16, 8, 0, 2, 3 }, { 14, 16, 9, 0, 2, 3 }, { 13, 16, 9, 0, 2, 3 }, { 12, 16, 10, 0, 2, 3 }, - { 11, 16, 10, 0, 2, 3 }, { 10, 16, 11, 0, 2, 3 }, { 9, 16, 11, 0, 2, 3 }, { 8, 16, 12, 0, 2, 3 }, { 7, 16, 12, 0, 2, 0 }, - { 6, 16, 13, 0, 2, 0 }, { 5, 16, 13, 0, 2, 0 }, { 4, 16, 14, 0, 2, 0 }, { 3, 16, 14, 0, 2, 0 }, { 2, 16, 15, 0, 2, 0 }, - { 1, 16, 15, 0, 2, 0 }, { 0, 16, 16, 0, 2, 0 }, + 32, { + { 31, 16, 0, 0, 2, 4 }, { 30, 16, 1, 0, 2, 4 }, { 29, 16, 1, 0, 2, 4 }, { 28, 16, 2, 0, 2, 4 }, { 27, 16, 2, 0, 2, 4 }, + { 26, 16, 3, 0, 2, 4 }, { 25, 16, 3, 0, 2, 4 }, { 24, 16, 4, 0, 2, 4 }, { 23, 16, 4, 0, 2, 3 }, { 22, 16, 5, 0, 2, 3 }, + { 21, 16, 5, 0, 2, 3 }, { 20, 16, 6, 0, 2, 3 }, { 19, 16, 6, 0, 2, 3 }, { 18, 16, 7, 0, 2, 3 }, { 17, 16, 7, 0, 2, 3 }, + { 16, 16, 8, 0, 2, 3 }, { 15, 16, 8, 0, 2, 3 }, { 14, 16, 9, 0, 2, 3 }, { 13, 16, 9, 0, 2, 3 }, { 12, 16, 10, 0, 2, 3 }, + { 11, 16, 10, 0, 2, 3 }, { 10, 16, 11, 0, 2, 3 }, { 9, 16, 11, 0, 2, 3 }, { 8, 16, 12, 0, 2, 3 }, { 7, 16, 12, 0, 2, 0 }, + { 6, 16, 13, 0, 2, 0 }, { 5, 16, 13, 0, 2, 0 }, { 4, 16, 14, 0, 2, 0 }, { 3, 16, 14, 0, 2, 0 }, { 2, 16, 15, 0, 2, 0 }, + { 1, 16, 15, 0, 2, 0 }, { 0, 16, 16, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9636E8 = { - 32, { - { 16, 0, 0, 8, 2, 4 }, { 16, 1, 0, 8, 2, 4 }, { 16, 2, 1, 8, 2, 4 }, { 16, 3, 1, 8, 2, 4 }, { 16, 4, 2, 8, 2, 4 }, - { 16, 5, 2, 8, 2, 4 }, { 16, 6, 3, 8, 2, 4 }, { 16, 7, 3, 8, 2, 4 }, { 16, 8, 4, 8, 2, 3 }, { 16, 9, 4, 8, 2, 3 }, - { 16, 10, 5, 8, 2, 3 }, { 16, 11, 5, 8, 2, 3 }, { 16, 12, 6, 8, 2, 3 }, { 16, 13, 6, 8, 2, 3 }, { 16, 14, 7, 8, 2, 3 }, - { 16, 15, 7, 8, 2, 3 }, { 16, 16, 8, 8, 2, 3 }, { 16, 17, 8, 8, 2, 3 }, { 16, 18, 9, 8, 2, 3 }, { 16, 19, 9, 8, 2, 3 }, - { 16, 20, 10, 8, 2, 3 }, { 16, 21, 10, 8, 2, 3 }, { 16, 22, 11, 8, 2, 3 }, { 16, 23, 11, 8, 2, 3 }, { 16, 24, 12, 8, 2, 0 }, - { 16, 25, 12, 8, 2, 0 }, { 16, 26, 13, 8, 2, 0 }, { 16, 27, 13, 8, 2, 0 }, { 16, 28, 14, 8, 2, 0 }, { 16, 29, 14, 8, 2, 0 }, - { 16, 30, 15, 8, 2, 0 }, { 16, 31, 15, 8, 2, 0 }, + 32, { + { 16, 0, 0, 8, 2, 4 }, { 16, 1, 0, 8, 2, 4 }, { 16, 2, 1, 8, 2, 4 }, { 16, 3, 1, 8, 2, 4 }, { 16, 4, 2, 8, 2, 4 }, + { 16, 5, 2, 8, 2, 4 }, { 16, 6, 3, 8, 2, 4 }, { 16, 7, 3, 8, 2, 4 }, { 16, 8, 4, 8, 2, 3 }, { 16, 9, 4, 8, 2, 3 }, + { 16, 10, 5, 8, 2, 3 }, { 16, 11, 5, 8, 2, 3 }, { 16, 12, 6, 8, 2, 3 }, { 16, 13, 6, 8, 2, 3 }, { 16, 14, 7, 8, 2, 3 }, + { 16, 15, 7, 8, 2, 3 }, { 16, 16, 8, 8, 2, 3 }, { 16, 17, 8, 8, 2, 3 }, { 16, 18, 9, 8, 2, 3 }, { 16, 19, 9, 8, 2, 3 }, + { 16, 20, 10, 8, 2, 3 }, { 16, 21, 10, 8, 2, 3 }, { 16, 22, 11, 8, 2, 3 }, { 16, 23, 11, 8, 2, 3 }, { 16, 24, 12, 8, 2, 0 }, + { 16, 25, 12, 8, 2, 0 }, { 16, 26, 13, 8, 2, 0 }, { 16, 27, 13, 8, 2, 0 }, { 16, 28, 14, 8, 2, 0 }, { 16, 29, 14, 8, 2, 0 }, + { 16, 30, 15, 8, 2, 0 }, { 16, 31, 15, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96380A = { - 32, { - { 0, 16, 0, 16, 2, 4 }, { 1, 16, 0, 16, 2, 4 }, { 2, 16, 1, 16, 2, 4 }, { 3, 16, 1, 16, 2, 4 }, { 4, 16, 2, 16, 2, 4 }, - { 5, 16, 2, 16, 2, 4 }, { 6, 16, 3, 16, 2, 4 }, { 7, 16, 3, 16, 2, 4 }, { 8, 16, 4, 16, 2, 3 }, { 9, 16, 4, 16, 2, 3 }, - { 10, 16, 5, 16, 2, 3 }, { 11, 16, 5, 16, 2, 3 }, { 12, 16, 6, 16, 2, 3 }, { 13, 16, 6, 16, 2, 3 }, { 14, 16, 7, 16, 2, 3 }, - { 15, 16, 7, 16, 2, 3 }, { 16, 16, 8, 16, 2, 3 }, { 17, 16, 8, 16, 2, 3 }, { 18, 16, 9, 16, 2, 3 }, { 19, 16, 9, 16, 2, 3 }, - { 20, 16, 10, 16, 2, 3 }, { 21, 16, 10, 16, 2, 3 }, { 22, 16, 11, 16, 2, 3 }, { 23, 16, 11, 16, 2, 3 }, { 24, 16, 12, 16, 2, 0 }, - { 25, 16, 12, 16, 2, 0 }, { 26, 16, 13, 16, 2, 0 }, { 27, 16, 13, 16, 2, 0 }, { 28, 16, 14, 16, 2, 0 }, { 29, 16, 14, 16, 2, 0 }, - { 30, 16, 15, 16, 2, 0 }, { 31, 16, 15, 16, 2, 0 }, + 32, { + { 0, 16, 0, 16, 2, 4 }, { 1, 16, 0, 16, 2, 4 }, { 2, 16, 1, 16, 2, 4 }, { 3, 16, 1, 16, 2, 4 }, { 4, 16, 2, 16, 2, 4 }, + { 5, 16, 2, 16, 2, 4 }, { 6, 16, 3, 16, 2, 4 }, { 7, 16, 3, 16, 2, 4 }, { 8, 16, 4, 16, 2, 3 }, { 9, 16, 4, 16, 2, 3 }, + { 10, 16, 5, 16, 2, 3 }, { 11, 16, 5, 16, 2, 3 }, { 12, 16, 6, 16, 2, 3 }, { 13, 16, 6, 16, 2, 3 }, { 14, 16, 7, 16, 2, 3 }, + { 15, 16, 7, 16, 2, 3 }, { 16, 16, 8, 16, 2, 3 }, { 17, 16, 8, 16, 2, 3 }, { 18, 16, 9, 16, 2, 3 }, { 19, 16, 9, 16, 2, 3 }, + { 20, 16, 10, 16, 2, 3 }, { 21, 16, 10, 16, 2, 3 }, { 22, 16, 11, 16, 2, 3 }, { 23, 16, 11, 16, 2, 3 }, { 24, 16, 12, 16, 2, 0 }, + { 25, 16, 12, 16, 2, 0 }, { 26, 16, 13, 16, 2, 0 }, { 27, 16, 13, 16, 2, 0 }, { 28, 16, 14, 16, 2, 0 }, { 29, 16, 14, 16, 2, 0 }, + { 30, 16, 15, 16, 2, 0 }, { 31, 16, 15, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96392C = { - 32, { - { 16, 31, 0, 24, 2, 4 }, { 16, 30, 1, 24, 2, 4 }, { 16, 29, 1, 24, 2, 4 }, { 16, 28, 2, 24, 2, 4 }, { 16, 27, 2, 24, 2, 4 }, - { 16, 26, 3, 24, 2, 4 }, { 16, 25, 3, 24, 2, 4 }, { 16, 24, 4, 24, 2, 4 }, { 16, 23, 4, 24, 2, 3 }, { 16, 22, 5, 24, 2, 3 }, - { 16, 21, 5, 24, 2, 3 }, { 16, 20, 6, 24, 2, 3 }, { 16, 19, 6, 24, 2, 3 }, { 16, 18, 7, 24, 2, 3 }, { 16, 17, 7, 24, 2, 3 }, - { 16, 16, 8, 24, 2, 3 }, { 16, 15, 8, 24, 2, 3 }, { 16, 14, 9, 24, 2, 3 }, { 16, 13, 9, 24, 2, 3 }, { 16, 12, 10, 24, 2, 3 }, - { 16, 11, 10, 24, 2, 3 }, { 16, 10, 11, 24, 2, 3 }, { 16, 9, 11, 24, 2, 3 }, { 16, 8, 12, 24, 2, 3 }, { 16, 7, 12, 24, 2, 0 }, - { 16, 6, 13, 24, 2, 0 }, { 16, 5, 13, 24, 2, 0 }, { 16, 4, 14, 24, 2, 0 }, { 16, 3, 14, 24, 2, 0 }, { 16, 2, 15, 24, 2, 0 }, - { 16, 1, 15, 24, 2, 0 }, { 16, 0, 16, 24, 2, 0 }, + 32, { + { 16, 31, 0, 24, 2, 4 }, { 16, 30, 1, 24, 2, 4 }, { 16, 29, 1, 24, 2, 4 }, { 16, 28, 2, 24, 2, 4 }, { 16, 27, 2, 24, 2, 4 }, + { 16, 26, 3, 24, 2, 4 }, { 16, 25, 3, 24, 2, 4 }, { 16, 24, 4, 24, 2, 4 }, { 16, 23, 4, 24, 2, 3 }, { 16, 22, 5, 24, 2, 3 }, + { 16, 21, 5, 24, 2, 3 }, { 16, 20, 6, 24, 2, 3 }, { 16, 19, 6, 24, 2, 3 }, { 16, 18, 7, 24, 2, 3 }, { 16, 17, 7, 24, 2, 3 }, + { 16, 16, 8, 24, 2, 3 }, { 16, 15, 8, 24, 2, 3 }, { 16, 14, 9, 24, 2, 3 }, { 16, 13, 9, 24, 2, 3 }, { 16, 12, 10, 24, 2, 3 }, + { 16, 11, 10, 24, 2, 3 }, { 16, 10, 11, 24, 2, 3 }, { 16, 9, 11, 24, 2, 3 }, { 16, 8, 12, 24, 2, 3 }, { 16, 7, 12, 24, 2, 0 }, + { 16, 6, 13, 24, 2, 0 }, { 16, 5, 13, 24, 2, 0 }, { 16, 4, 14, 24, 2, 0 }, { 16, 3, 14, 24, 2, 0 }, { 16, 2, 15, 24, 2, 0 }, + { 16, 1, 15, 24, 2, 0 }, { 16, 0, 16, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96282E = { - 32, { - { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 0, 6, 0 }, - { 26, 16, 13, 0, 6, 0 }, { 25, 16, 12, 0, 6, 0 }, { 24, 16, 12, 0, 6, 0 }, { 23, 16, 11, 0, 6, 1 }, { 22, 16, 11, 0, 6, 1 }, - { 21, 16, 10, 0, 6, 1 }, { 20, 16, 10, 0, 6, 1 }, { 19, 16, 9, 0, 6, 1 }, { 18, 16, 9, 0, 6, 1 }, { 17, 16, 8, 0, 6, 1 }, - { 16, 16, 8, 0, 6, 1 }, { 15, 16, 7, 0, 6, 1 }, { 14, 16, 7, 0, 6, 1 }, { 13, 16, 6, 0, 6, 1 }, { 12, 16, 6, 0, 6, 1 }, - { 11, 16, 5, 0, 6, 1 }, { 10, 16, 5, 0, 6, 1 }, { 9, 16, 4, 0, 6, 1 }, { 8, 16, 4, 0, 6, 1 }, { 7, 16, 3, 0, 6, 2 }, - { 6, 16, 3, 0, 6, 2 }, { 5, 16, 2, 0, 6, 2 }, { 4, 16, 2, 0, 6, 2 }, { 3, 16, 1, 0, 6, 2 }, { 2, 16, 1, 0, 6, 2 }, - { 1, 16, 0, 0, 6, 2 }, { 0, 16, 0, 0, 6, 2 }, + 32, { + { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 0, 6, 0 }, + { 26, 16, 13, 0, 6, 0 }, { 25, 16, 12, 0, 6, 0 }, { 24, 16, 12, 0, 6, 0 }, { 23, 16, 11, 0, 6, 1 }, { 22, 16, 11, 0, 6, 1 }, + { 21, 16, 10, 0, 6, 1 }, { 20, 16, 10, 0, 6, 1 }, { 19, 16, 9, 0, 6, 1 }, { 18, 16, 9, 0, 6, 1 }, { 17, 16, 8, 0, 6, 1 }, + { 16, 16, 8, 0, 6, 1 }, { 15, 16, 7, 0, 6, 1 }, { 14, 16, 7, 0, 6, 1 }, { 13, 16, 6, 0, 6, 1 }, { 12, 16, 6, 0, 6, 1 }, + { 11, 16, 5, 0, 6, 1 }, { 10, 16, 5, 0, 6, 1 }, { 9, 16, 4, 0, 6, 1 }, { 8, 16, 4, 0, 6, 1 }, { 7, 16, 3, 0, 6, 2 }, + { 6, 16, 3, 0, 6, 2 }, { 5, 16, 2, 0, 6, 2 }, { 4, 16, 2, 0, 6, 2 }, { 3, 16, 1, 0, 6, 2 }, { 2, 16, 1, 0, 6, 2 }, + { 1, 16, 0, 0, 6, 2 }, { 0, 16, 0, 0, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_962950 = { - 32, { - { 16, 0, 15, 8, 6, 0 }, { 16, 1, 14, 8, 6, 0 }, { 16, 2, 14, 8, 6, 0 }, { 16, 3, 13, 8, 6, 0 }, { 16, 4, 13, 8, 6, 0 }, - { 16, 5, 12, 8, 6, 0 }, { 16, 6, 12, 8, 6, 0 }, { 16, 7, 11, 8, 6, 0 }, { 16, 8, 11, 8, 6, 1 }, { 16, 9, 10, 8, 6, 1 }, - { 16, 10, 10, 8, 6, 1 }, { 16, 11, 9, 8, 6, 1 }, { 16, 12, 9, 8, 6, 1 }, { 16, 13, 8, 8, 6, 1 }, { 16, 14, 8, 8, 6, 1 }, - { 16, 15, 7, 8, 6, 1 }, { 16, 16, 7, 8, 6, 1 }, { 16, 17, 6, 8, 6, 1 }, { 16, 18, 6, 8, 6, 1 }, { 16, 19, 5, 8, 6, 1 }, - { 16, 20, 5, 8, 6, 1 }, { 16, 21, 4, 8, 6, 1 }, { 16, 22, 4, 8, 6, 1 }, { 16, 23, 3, 8, 6, 1 }, { 16, 24, 3, 8, 6, 2 }, - { 16, 25, 2, 8, 6, 2 }, { 16, 26, 2, 8, 6, 2 }, { 16, 27, 1, 8, 6, 2 }, { 16, 28, 1, 8, 6, 2 }, { 16, 29, 0, 8, 6, 2 }, - { 16, 30, 0, 8, 6, 2 }, { 16, 31, -1, 8, 6, 2 }, + 32, { + { 16, 0, 15, 8, 6, 0 }, { 16, 1, 14, 8, 6, 0 }, { 16, 2, 14, 8, 6, 0 }, { 16, 3, 13, 8, 6, 0 }, { 16, 4, 13, 8, 6, 0 }, + { 16, 5, 12, 8, 6, 0 }, { 16, 6, 12, 8, 6, 0 }, { 16, 7, 11, 8, 6, 0 }, { 16, 8, 11, 8, 6, 1 }, { 16, 9, 10, 8, 6, 1 }, + { 16, 10, 10, 8, 6, 1 }, { 16, 11, 9, 8, 6, 1 }, { 16, 12, 9, 8, 6, 1 }, { 16, 13, 8, 8, 6, 1 }, { 16, 14, 8, 8, 6, 1 }, + { 16, 15, 7, 8, 6, 1 }, { 16, 16, 7, 8, 6, 1 }, { 16, 17, 6, 8, 6, 1 }, { 16, 18, 6, 8, 6, 1 }, { 16, 19, 5, 8, 6, 1 }, + { 16, 20, 5, 8, 6, 1 }, { 16, 21, 4, 8, 6, 1 }, { 16, 22, 4, 8, 6, 1 }, { 16, 23, 3, 8, 6, 1 }, { 16, 24, 3, 8, 6, 2 }, + { 16, 25, 2, 8, 6, 2 }, { 16, 26, 2, 8, 6, 2 }, { 16, 27, 1, 8, 6, 2 }, { 16, 28, 1, 8, 6, 2 }, { 16, 29, 0, 8, 6, 2 }, + { 16, 30, 0, 8, 6, 2 }, { 16, 31, -1, 8, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_962A72 = { - 32, { - { 0, 16, 15, 16, 6, 0 }, { 1, 16, 14, 16, 6, 0 }, { 2, 16, 14, 16, 6, 0 }, { 3, 16, 13, 16, 6, 0 }, { 4, 16, 13, 16, 6, 0 }, - { 5, 16, 12, 16, 6, 0 }, { 6, 16, 12, 16, 6, 0 }, { 7, 16, 11, 16, 6, 0 }, { 8, 16, 11, 16, 6, 1 }, { 9, 16, 10, 16, 6, 1 }, - { 10, 16, 10, 16, 6, 1 }, { 11, 16, 9, 16, 6, 1 }, { 12, 16, 9, 16, 6, 1 }, { 13, 16, 8, 16, 6, 1 }, { 14, 16, 8, 16, 6, 1 }, - { 15, 16, 7, 16, 6, 1 }, { 16, 16, 7, 16, 6, 1 }, { 17, 16, 6, 16, 6, 1 }, { 18, 16, 6, 16, 6, 1 }, { 19, 16, 5, 16, 6, 1 }, - { 20, 16, 5, 16, 6, 1 }, { 21, 16, 4, 16, 6, 1 }, { 22, 16, 4, 16, 6, 1 }, { 23, 16, 3, 16, 6, 1 }, { 24, 16, 3, 16, 6, 2 }, - { 25, 16, 2, 16, 6, 2 }, { 26, 16, 2, 16, 6, 2 }, { 27, 16, 1, 16, 6, 2 }, { 28, 16, 1, 16, 6, 2 }, { 29, 16, 0, 16, 6, 2 }, - { 30, 16, 0, 16, 6, 2 }, { 31, 16, -1, 16, 6, 2 }, + 32, { + { 0, 16, 15, 16, 6, 0 }, { 1, 16, 14, 16, 6, 0 }, { 2, 16, 14, 16, 6, 0 }, { 3, 16, 13, 16, 6, 0 }, { 4, 16, 13, 16, 6, 0 }, + { 5, 16, 12, 16, 6, 0 }, { 6, 16, 12, 16, 6, 0 }, { 7, 16, 11, 16, 6, 0 }, { 8, 16, 11, 16, 6, 1 }, { 9, 16, 10, 16, 6, 1 }, + { 10, 16, 10, 16, 6, 1 }, { 11, 16, 9, 16, 6, 1 }, { 12, 16, 9, 16, 6, 1 }, { 13, 16, 8, 16, 6, 1 }, { 14, 16, 8, 16, 6, 1 }, + { 15, 16, 7, 16, 6, 1 }, { 16, 16, 7, 16, 6, 1 }, { 17, 16, 6, 16, 6, 1 }, { 18, 16, 6, 16, 6, 1 }, { 19, 16, 5, 16, 6, 1 }, + { 20, 16, 5, 16, 6, 1 }, { 21, 16, 4, 16, 6, 1 }, { 22, 16, 4, 16, 6, 1 }, { 23, 16, 3, 16, 6, 1 }, { 24, 16, 3, 16, 6, 2 }, + { 25, 16, 2, 16, 6, 2 }, { 26, 16, 2, 16, 6, 2 }, { 27, 16, 1, 16, 6, 2 }, { 28, 16, 1, 16, 6, 2 }, { 29, 16, 0, 16, 6, 2 }, + { 30, 16, 0, 16, 6, 2 }, { 31, 16, -1, 16, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_962B94 = { - 32, { - { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 24, 6, 0 }, - { 16, 26, 13, 24, 6, 0 }, { 16, 25, 12, 24, 6, 0 }, { 16, 24, 12, 24, 6, 0 }, { 16, 23, 11, 24, 6, 1 }, { 16, 22, 11, 24, 6, 1 }, - { 16, 21, 10, 24, 6, 1 }, { 16, 20, 10, 24, 6, 1 }, { 16, 19, 9, 24, 6, 1 }, { 16, 18, 9, 24, 6, 1 }, { 16, 17, 8, 24, 6, 1 }, - { 16, 16, 8, 24, 6, 1 }, { 16, 15, 7, 24, 6, 1 }, { 16, 14, 7, 24, 6, 1 }, { 16, 13, 6, 24, 6, 1 }, { 16, 12, 6, 24, 6, 1 }, - { 16, 11, 5, 24, 6, 1 }, { 16, 10, 5, 24, 6, 1 }, { 16, 9, 4, 24, 6, 1 }, { 16, 8, 4, 24, 6, 1 }, { 16, 7, 3, 24, 6, 2 }, - { 16, 6, 3, 24, 6, 2 }, { 16, 5, 2, 24, 6, 2 }, { 16, 4, 2, 24, 6, 2 }, { 16, 3, 1, 24, 6, 2 }, { 16, 2, 1, 24, 6, 2 }, - { 16, 1, 0, 24, 6, 2 }, { 16, 0, 0, 24, 6, 2 }, + 32, { + { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 24, 6, 0 }, + { 16, 26, 13, 24, 6, 0 }, { 16, 25, 12, 24, 6, 0 }, { 16, 24, 12, 24, 6, 0 }, { 16, 23, 11, 24, 6, 1 }, { 16, 22, 11, 24, 6, 1 }, + { 16, 21, 10, 24, 6, 1 }, { 16, 20, 10, 24, 6, 1 }, { 16, 19, 9, 24, 6, 1 }, { 16, 18, 9, 24, 6, 1 }, { 16, 17, 8, 24, 6, 1 }, + { 16, 16, 8, 24, 6, 1 }, { 16, 15, 7, 24, 6, 1 }, { 16, 14, 7, 24, 6, 1 }, { 16, 13, 6, 24, 6, 1 }, { 16, 12, 6, 24, 6, 1 }, + { 16, 11, 5, 24, 6, 1 }, { 16, 10, 5, 24, 6, 1 }, { 16, 9, 4, 24, 6, 1 }, { 16, 8, 4, 24, 6, 1 }, { 16, 7, 3, 24, 6, 2 }, + { 16, 6, 3, 24, 6, 2 }, { 16, 5, 2, 24, 6, 2 }, { 16, 4, 2, 24, 6, 2 }, { 16, 3, 1, 24, 6, 2 }, { 16, 2, 1, 24, 6, 2 }, + { 16, 1, 0, 24, 6, 2 }, { 16, 0, 0, 24, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_962CB6 = { - 32, { - { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 0, 6, 0 }, - { 26, 16, 13, 0, 6, 0 }, { 25, 16, 12, 0, 6, 0 }, { 24, 16, 12, 0, 6, 0 }, { 23, 16, 11, 0, 6, 3 }, { 22, 16, 11, 0, 6, 3 }, - { 21, 16, 10, 0, 6, 3 }, { 20, 16, 10, 0, 6, 3 }, { 19, 16, 9, 0, 6, 3 }, { 18, 16, 9, 0, 6, 3 }, { 17, 16, 8, 0, 6, 3 }, - { 16, 16, 8, 0, 6, 3 }, { 15, 16, 7, 0, 6, 3 }, { 14, 16, 7, 0, 6, 3 }, { 13, 16, 6, 0, 6, 3 }, { 12, 16, 6, 0, 6, 3 }, - { 11, 16, 5, 0, 6, 3 }, { 10, 16, 5, 0, 6, 3 }, { 9, 16, 4, 0, 6, 3 }, { 8, 16, 4, 0, 6, 3 }, { 7, 16, 3, 0, 6, 4 }, - { 6, 16, 3, 0, 6, 4 }, { 5, 16, 2, 0, 6, 4 }, { 4, 16, 2, 0, 6, 4 }, { 3, 16, 1, 0, 6, 4 }, { 2, 16, 1, 0, 6, 4 }, - { 1, 16, 0, 0, 6, 4 }, { 0, 16, 0, 0, 6, 4 }, + 32, { + { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 14, 0, 6, 0 }, { 27, 16, 13, 0, 6, 0 }, + { 26, 16, 13, 0, 6, 0 }, { 25, 16, 12, 0, 6, 0 }, { 24, 16, 12, 0, 6, 0 }, { 23, 16, 11, 0, 6, 3 }, { 22, 16, 11, 0, 6, 3 }, + { 21, 16, 10, 0, 6, 3 }, { 20, 16, 10, 0, 6, 3 }, { 19, 16, 9, 0, 6, 3 }, { 18, 16, 9, 0, 6, 3 }, { 17, 16, 8, 0, 6, 3 }, + { 16, 16, 8, 0, 6, 3 }, { 15, 16, 7, 0, 6, 3 }, { 14, 16, 7, 0, 6, 3 }, { 13, 16, 6, 0, 6, 3 }, { 12, 16, 6, 0, 6, 3 }, + { 11, 16, 5, 0, 6, 3 }, { 10, 16, 5, 0, 6, 3 }, { 9, 16, 4, 0, 6, 3 }, { 8, 16, 4, 0, 6, 3 }, { 7, 16, 3, 0, 6, 4 }, + { 6, 16, 3, 0, 6, 4 }, { 5, 16, 2, 0, 6, 4 }, { 4, 16, 2, 0, 6, 4 }, { 3, 16, 1, 0, 6, 4 }, { 2, 16, 1, 0, 6, 4 }, + { 1, 16, 0, 0, 6, 4 }, { 0, 16, 0, 0, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_962DD8 = { - 32, { - { 16, 0, 15, 8, 6, 0 }, { 16, 1, 14, 8, 6, 0 }, { 16, 2, 14, 8, 6, 0 }, { 16, 3, 13, 8, 6, 0 }, { 16, 4, 13, 8, 6, 0 }, - { 16, 5, 12, 8, 6, 0 }, { 16, 6, 12, 8, 6, 0 }, { 16, 7, 11, 8, 6, 0 }, { 16, 8, 11, 8, 6, 3 }, { 16, 9, 10, 8, 6, 3 }, - { 16, 10, 10, 8, 6, 3 }, { 16, 11, 9, 8, 6, 3 }, { 16, 12, 9, 8, 6, 3 }, { 16, 13, 8, 8, 6, 3 }, { 16, 14, 8, 8, 6, 3 }, - { 16, 15, 7, 8, 6, 3 }, { 16, 16, 7, 8, 6, 3 }, { 16, 17, 6, 8, 6, 3 }, { 16, 18, 6, 8, 6, 3 }, { 16, 19, 5, 8, 6, 3 }, - { 16, 20, 5, 8, 6, 3 }, { 16, 21, 4, 8, 6, 3 }, { 16, 22, 4, 8, 6, 3 }, { 16, 23, 3, 8, 6, 3 }, { 16, 24, 3, 8, 6, 4 }, - { 16, 25, 2, 8, 6, 4 }, { 16, 26, 2, 8, 6, 4 }, { 16, 27, 1, 8, 6, 4 }, { 16, 28, 1, 8, 6, 4 }, { 16, 29, 0, 8, 6, 4 }, - { 16, 30, 0, 8, 6, 4 }, { 16, 31, -1, 8, 6, 4 }, + 32, { + { 16, 0, 15, 8, 6, 0 }, { 16, 1, 14, 8, 6, 0 }, { 16, 2, 14, 8, 6, 0 }, { 16, 3, 13, 8, 6, 0 }, { 16, 4, 13, 8, 6, 0 }, + { 16, 5, 12, 8, 6, 0 }, { 16, 6, 12, 8, 6, 0 }, { 16, 7, 11, 8, 6, 0 }, { 16, 8, 11, 8, 6, 3 }, { 16, 9, 10, 8, 6, 3 }, + { 16, 10, 10, 8, 6, 3 }, { 16, 11, 9, 8, 6, 3 }, { 16, 12, 9, 8, 6, 3 }, { 16, 13, 8, 8, 6, 3 }, { 16, 14, 8, 8, 6, 3 }, + { 16, 15, 7, 8, 6, 3 }, { 16, 16, 7, 8, 6, 3 }, { 16, 17, 6, 8, 6, 3 }, { 16, 18, 6, 8, 6, 3 }, { 16, 19, 5, 8, 6, 3 }, + { 16, 20, 5, 8, 6, 3 }, { 16, 21, 4, 8, 6, 3 }, { 16, 22, 4, 8, 6, 3 }, { 16, 23, 3, 8, 6, 3 }, { 16, 24, 3, 8, 6, 4 }, + { 16, 25, 2, 8, 6, 4 }, { 16, 26, 2, 8, 6, 4 }, { 16, 27, 1, 8, 6, 4 }, { 16, 28, 1, 8, 6, 4 }, { 16, 29, 0, 8, 6, 4 }, + { 16, 30, 0, 8, 6, 4 }, { 16, 31, -1, 8, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_962EFA = { - 32, { - { 0, 16, 15, 16, 6, 0 }, { 1, 16, 14, 16, 6, 0 }, { 2, 16, 14, 16, 6, 0 }, { 3, 16, 13, 16, 6, 0 }, { 4, 16, 13, 16, 6, 0 }, - { 5, 16, 12, 16, 6, 0 }, { 6, 16, 12, 16, 6, 0 }, { 7, 16, 11, 16, 6, 0 }, { 8, 16, 11, 16, 6, 3 }, { 9, 16, 10, 16, 6, 3 }, - { 10, 16, 10, 16, 6, 3 }, { 11, 16, 9, 16, 6, 3 }, { 12, 16, 9, 16, 6, 3 }, { 13, 16, 8, 16, 6, 3 }, { 14, 16, 8, 16, 6, 3 }, - { 15, 16, 7, 16, 6, 3 }, { 16, 16, 7, 16, 6, 3 }, { 17, 16, 6, 16, 6, 3 }, { 18, 16, 6, 16, 6, 3 }, { 19, 16, 5, 16, 6, 3 }, - { 20, 16, 5, 16, 6, 3 }, { 21, 16, 4, 16, 6, 3 }, { 22, 16, 4, 16, 6, 3 }, { 23, 16, 3, 16, 6, 3 }, { 24, 16, 3, 16, 6, 4 }, - { 25, 16, 2, 16, 6, 4 }, { 26, 16, 2, 16, 6, 4 }, { 27, 16, 1, 16, 6, 4 }, { 28, 16, 1, 16, 6, 4 }, { 29, 16, 0, 16, 6, 4 }, - { 30, 16, 0, 16, 6, 4 }, { 31, 16, -1, 16, 6, 4 }, + 32, { + { 0, 16, 15, 16, 6, 0 }, { 1, 16, 14, 16, 6, 0 }, { 2, 16, 14, 16, 6, 0 }, { 3, 16, 13, 16, 6, 0 }, { 4, 16, 13, 16, 6, 0 }, + { 5, 16, 12, 16, 6, 0 }, { 6, 16, 12, 16, 6, 0 }, { 7, 16, 11, 16, 6, 0 }, { 8, 16, 11, 16, 6, 3 }, { 9, 16, 10, 16, 6, 3 }, + { 10, 16, 10, 16, 6, 3 }, { 11, 16, 9, 16, 6, 3 }, { 12, 16, 9, 16, 6, 3 }, { 13, 16, 8, 16, 6, 3 }, { 14, 16, 8, 16, 6, 3 }, + { 15, 16, 7, 16, 6, 3 }, { 16, 16, 7, 16, 6, 3 }, { 17, 16, 6, 16, 6, 3 }, { 18, 16, 6, 16, 6, 3 }, { 19, 16, 5, 16, 6, 3 }, + { 20, 16, 5, 16, 6, 3 }, { 21, 16, 4, 16, 6, 3 }, { 22, 16, 4, 16, 6, 3 }, { 23, 16, 3, 16, 6, 3 }, { 24, 16, 3, 16, 6, 4 }, + { 25, 16, 2, 16, 6, 4 }, { 26, 16, 2, 16, 6, 4 }, { 27, 16, 1, 16, 6, 4 }, { 28, 16, 1, 16, 6, 4 }, { 29, 16, 0, 16, 6, 4 }, + { 30, 16, 0, 16, 6, 4 }, { 31, 16, -1, 16, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96301C = { - 32, { - { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 24, 6, 0 }, - { 16, 26, 13, 24, 6, 0 }, { 16, 25, 12, 24, 6, 0 }, { 16, 24, 12, 24, 6, 0 }, { 16, 23, 11, 24, 6, 3 }, { 16, 22, 11, 24, 6, 3 }, - { 16, 21, 10, 24, 6, 3 }, { 16, 20, 10, 24, 6, 3 }, { 16, 19, 9, 24, 6, 3 }, { 16, 18, 9, 24, 6, 3 }, { 16, 17, 8, 24, 6, 3 }, - { 16, 16, 8, 24, 6, 3 }, { 16, 15, 7, 24, 6, 3 }, { 16, 14, 7, 24, 6, 3 }, { 16, 13, 6, 24, 6, 3 }, { 16, 12, 6, 24, 6, 3 }, - { 16, 11, 5, 24, 6, 3 }, { 16, 10, 5, 24, 6, 3 }, { 16, 9, 4, 24, 6, 3 }, { 16, 8, 4, 24, 6, 3 }, { 16, 7, 3, 24, 6, 4 }, - { 16, 6, 3, 24, 6, 4 }, { 16, 5, 2, 24, 6, 4 }, { 16, 4, 2, 24, 6, 4 }, { 16, 3, 1, 24, 6, 4 }, { 16, 2, 1, 24, 6, 4 }, - { 16, 1, 0, 24, 6, 4 }, { 16, 0, 0, 24, 6, 4 }, + 32, { + { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 14, 24, 6, 0 }, { 16, 27, 13, 24, 6, 0 }, + { 16, 26, 13, 24, 6, 0 }, { 16, 25, 12, 24, 6, 0 }, { 16, 24, 12, 24, 6, 0 }, { 16, 23, 11, 24, 6, 3 }, { 16, 22, 11, 24, 6, 3 }, + { 16, 21, 10, 24, 6, 3 }, { 16, 20, 10, 24, 6, 3 }, { 16, 19, 9, 24, 6, 3 }, { 16, 18, 9, 24, 6, 3 }, { 16, 17, 8, 24, 6, 3 }, + { 16, 16, 8, 24, 6, 3 }, { 16, 15, 7, 24, 6, 3 }, { 16, 14, 7, 24, 6, 3 }, { 16, 13, 6, 24, 6, 3 }, { 16, 12, 6, 24, 6, 3 }, + { 16, 11, 5, 24, 6, 3 }, { 16, 10, 5, 24, 6, 3 }, { 16, 9, 4, 24, 6, 3 }, { 16, 8, 4, 24, 6, 3 }, { 16, 7, 3, 24, 6, 4 }, + { 16, 6, 3, 24, 6, 4 }, { 16, 5, 2, 24, 6, 4 }, { 16, 4, 2, 24, 6, 4 }, { 16, 3, 1, 24, 6, 4 }, { 16, 2, 1, 24, 6, 4 }, + { 16, 1, 0, 24, 6, 4 }, { 16, 0, 0, 24, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_963A4E = { - 32, { - { 31, 16, 15, 0, 6, 2 }, { 30, 16, 15, 0, 6, 2 }, { 29, 16, 14, 0, 6, 2 }, { 28, 16, 14, 0, 6, 2 }, { 27, 16, 13, 0, 6, 2 }, - { 26, 16, 13, 0, 6, 2 }, { 25, 16, 12, 0, 6, 2 }, { 24, 16, 12, 0, 6, 2 }, { 23, 16, 11, 0, 6, 1 }, { 22, 16, 11, 0, 6, 1 }, - { 21, 16, 10, 0, 6, 1 }, { 20, 16, 10, 0, 6, 1 }, { 19, 16, 9, 0, 6, 1 }, { 18, 16, 9, 0, 6, 1 }, { 17, 16, 8, 0, 6, 1 }, - { 16, 16, 8, 0, 6, 1 }, { 15, 16, 7, 0, 6, 1 }, { 14, 16, 7, 0, 6, 1 }, { 13, 16, 6, 0, 6, 1 }, { 12, 16, 6, 0, 6, 1 }, - { 11, 16, 5, 0, 6, 1 }, { 10, 16, 5, 0, 6, 1 }, { 9, 16, 4, 0, 6, 1 }, { 8, 16, 4, 0, 6, 1 }, { 7, 16, 3, 0, 6, 0 }, - { 6, 16, 3, 0, 6, 0 }, { 5, 16, 2, 0, 6, 0 }, { 4, 16, 2, 0, 6, 0 }, { 3, 16, 1, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, - { 1, 16, 0, 0, 6, 0 }, { 0, 16, 0, 0, 6, 0 }, + 32, { + { 31, 16, 15, 0, 6, 2 }, { 30, 16, 15, 0, 6, 2 }, { 29, 16, 14, 0, 6, 2 }, { 28, 16, 14, 0, 6, 2 }, { 27, 16, 13, 0, 6, 2 }, + { 26, 16, 13, 0, 6, 2 }, { 25, 16, 12, 0, 6, 2 }, { 24, 16, 12, 0, 6, 2 }, { 23, 16, 11, 0, 6, 1 }, { 22, 16, 11, 0, 6, 1 }, + { 21, 16, 10, 0, 6, 1 }, { 20, 16, 10, 0, 6, 1 }, { 19, 16, 9, 0, 6, 1 }, { 18, 16, 9, 0, 6, 1 }, { 17, 16, 8, 0, 6, 1 }, + { 16, 16, 8, 0, 6, 1 }, { 15, 16, 7, 0, 6, 1 }, { 14, 16, 7, 0, 6, 1 }, { 13, 16, 6, 0, 6, 1 }, { 12, 16, 6, 0, 6, 1 }, + { 11, 16, 5, 0, 6, 1 }, { 10, 16, 5, 0, 6, 1 }, { 9, 16, 4, 0, 6, 1 }, { 8, 16, 4, 0, 6, 1 }, { 7, 16, 3, 0, 6, 0 }, + { 6, 16, 3, 0, 6, 0 }, { 5, 16, 2, 0, 6, 0 }, { 4, 16, 2, 0, 6, 0 }, { 3, 16, 1, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, + { 1, 16, 0, 0, 6, 0 }, { 0, 16, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_963B70 = { - 32, { - { 16, 0, 15, 8, 6, 2 }, { 16, 1, 14, 8, 6, 2 }, { 16, 2, 14, 8, 6, 2 }, { 16, 3, 13, 8, 6, 2 }, { 16, 4, 13, 8, 6, 2 }, - { 16, 5, 12, 8, 6, 2 }, { 16, 6, 12, 8, 6, 2 }, { 16, 7, 11, 8, 6, 2 }, { 16, 8, 11, 8, 6, 1 }, { 16, 9, 10, 8, 6, 1 }, - { 16, 10, 10, 8, 6, 1 }, { 16, 11, 9, 8, 6, 1 }, { 16, 12, 9, 8, 6, 1 }, { 16, 13, 8, 8, 6, 1 }, { 16, 14, 8, 8, 6, 1 }, - { 16, 15, 7, 8, 6, 1 }, { 16, 16, 7, 8, 6, 1 }, { 16, 17, 6, 8, 6, 1 }, { 16, 18, 6, 8, 6, 1 }, { 16, 19, 5, 8, 6, 1 }, - { 16, 20, 5, 8, 6, 1 }, { 16, 21, 4, 8, 6, 1 }, { 16, 22, 4, 8, 6, 1 }, { 16, 23, 3, 8, 6, 1 }, { 16, 24, 3, 8, 6, 0 }, - { 16, 25, 2, 8, 6, 0 }, { 16, 26, 2, 8, 6, 0 }, { 16, 27, 1, 8, 6, 0 }, { 16, 28, 1, 8, 6, 0 }, { 16, 29, 0, 8, 6, 0 }, - { 16, 30, 0, 8, 6, 0 }, { 16, 31, -1, 8, 6, 0 }, + 32, { + { 16, 0, 15, 8, 6, 2 }, { 16, 1, 14, 8, 6, 2 }, { 16, 2, 14, 8, 6, 2 }, { 16, 3, 13, 8, 6, 2 }, { 16, 4, 13, 8, 6, 2 }, + { 16, 5, 12, 8, 6, 2 }, { 16, 6, 12, 8, 6, 2 }, { 16, 7, 11, 8, 6, 2 }, { 16, 8, 11, 8, 6, 1 }, { 16, 9, 10, 8, 6, 1 }, + { 16, 10, 10, 8, 6, 1 }, { 16, 11, 9, 8, 6, 1 }, { 16, 12, 9, 8, 6, 1 }, { 16, 13, 8, 8, 6, 1 }, { 16, 14, 8, 8, 6, 1 }, + { 16, 15, 7, 8, 6, 1 }, { 16, 16, 7, 8, 6, 1 }, { 16, 17, 6, 8, 6, 1 }, { 16, 18, 6, 8, 6, 1 }, { 16, 19, 5, 8, 6, 1 }, + { 16, 20, 5, 8, 6, 1 }, { 16, 21, 4, 8, 6, 1 }, { 16, 22, 4, 8, 6, 1 }, { 16, 23, 3, 8, 6, 1 }, { 16, 24, 3, 8, 6, 0 }, + { 16, 25, 2, 8, 6, 0 }, { 16, 26, 2, 8, 6, 0 }, { 16, 27, 1, 8, 6, 0 }, { 16, 28, 1, 8, 6, 0 }, { 16, 29, 0, 8, 6, 0 }, + { 16, 30, 0, 8, 6, 0 }, { 16, 31, -1, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_963C92 = { - 32, { - { 0, 16, 15, 16, 6, 2 }, { 1, 16, 14, 16, 6, 2 }, { 2, 16, 14, 16, 6, 2 }, { 3, 16, 13, 16, 6, 2 }, { 4, 16, 13, 16, 6, 2 }, - { 5, 16, 12, 16, 6, 2 }, { 6, 16, 12, 16, 6, 2 }, { 7, 16, 11, 16, 6, 2 }, { 8, 16, 11, 16, 6, 1 }, { 9, 16, 10, 16, 6, 1 }, - { 10, 16, 10, 16, 6, 1 }, { 11, 16, 9, 16, 6, 1 }, { 12, 16, 9, 16, 6, 1 }, { 13, 16, 8, 16, 6, 1 }, { 14, 16, 8, 16, 6, 1 }, - { 15, 16, 7, 16, 6, 1 }, { 16, 16, 7, 16, 6, 1 }, { 17, 16, 6, 16, 6, 1 }, { 18, 16, 6, 16, 6, 1 }, { 19, 16, 5, 16, 6, 1 }, - { 20, 16, 5, 16, 6, 1 }, { 21, 16, 4, 16, 6, 1 }, { 22, 16, 4, 16, 6, 1 }, { 23, 16, 3, 16, 6, 1 }, { 24, 16, 3, 16, 6, 0 }, - { 25, 16, 2, 16, 6, 0 }, { 26, 16, 2, 16, 6, 0 }, { 27, 16, 1, 16, 6, 0 }, { 28, 16, 1, 16, 6, 0 }, { 29, 16, 0, 16, 6, 0 }, - { 30, 16, 0, 16, 6, 0 }, { 31, 16, -1, 16, 6, 0 }, + 32, { + { 0, 16, 15, 16, 6, 2 }, { 1, 16, 14, 16, 6, 2 }, { 2, 16, 14, 16, 6, 2 }, { 3, 16, 13, 16, 6, 2 }, { 4, 16, 13, 16, 6, 2 }, + { 5, 16, 12, 16, 6, 2 }, { 6, 16, 12, 16, 6, 2 }, { 7, 16, 11, 16, 6, 2 }, { 8, 16, 11, 16, 6, 1 }, { 9, 16, 10, 16, 6, 1 }, + { 10, 16, 10, 16, 6, 1 }, { 11, 16, 9, 16, 6, 1 }, { 12, 16, 9, 16, 6, 1 }, { 13, 16, 8, 16, 6, 1 }, { 14, 16, 8, 16, 6, 1 }, + { 15, 16, 7, 16, 6, 1 }, { 16, 16, 7, 16, 6, 1 }, { 17, 16, 6, 16, 6, 1 }, { 18, 16, 6, 16, 6, 1 }, { 19, 16, 5, 16, 6, 1 }, + { 20, 16, 5, 16, 6, 1 }, { 21, 16, 4, 16, 6, 1 }, { 22, 16, 4, 16, 6, 1 }, { 23, 16, 3, 16, 6, 1 }, { 24, 16, 3, 16, 6, 0 }, + { 25, 16, 2, 16, 6, 0 }, { 26, 16, 2, 16, 6, 0 }, { 27, 16, 1, 16, 6, 0 }, { 28, 16, 1, 16, 6, 0 }, { 29, 16, 0, 16, 6, 0 }, + { 30, 16, 0, 16, 6, 0 }, { 31, 16, -1, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_963DB4 = { - 32, { - { 16, 31, 15, 24, 6, 2 }, { 16, 30, 15, 24, 6, 2 }, { 16, 29, 14, 24, 6, 2 }, { 16, 28, 14, 24, 6, 2 }, { 16, 27, 13, 24, 6, 2 }, - { 16, 26, 13, 24, 6, 2 }, { 16, 25, 12, 24, 6, 2 }, { 16, 24, 12, 24, 6, 2 }, { 16, 23, 11, 24, 6, 1 }, { 16, 22, 11, 24, 6, 1 }, - { 16, 21, 10, 24, 6, 1 }, { 16, 20, 10, 24, 6, 1 }, { 16, 19, 9, 24, 6, 1 }, { 16, 18, 9, 24, 6, 1 }, { 16, 17, 8, 24, 6, 1 }, - { 16, 16, 8, 24, 6, 1 }, { 16, 15, 7, 24, 6, 1 }, { 16, 14, 7, 24, 6, 1 }, { 16, 13, 6, 24, 6, 1 }, { 16, 12, 6, 24, 6, 1 }, - { 16, 11, 5, 24, 6, 1 }, { 16, 10, 5, 24, 6, 1 }, { 16, 9, 4, 24, 6, 1 }, { 16, 8, 4, 24, 6, 1 }, { 16, 7, 3, 24, 6, 0 }, - { 16, 6, 3, 24, 6, 0 }, { 16, 5, 2, 24, 6, 0 }, { 16, 4, 2, 24, 6, 0 }, { 16, 3, 1, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, - { 16, 1, 0, 24, 6, 0 }, { 16, 0, 0, 24, 6, 0 }, + 32, { + { 16, 31, 15, 24, 6, 2 }, { 16, 30, 15, 24, 6, 2 }, { 16, 29, 14, 24, 6, 2 }, { 16, 28, 14, 24, 6, 2 }, { 16, 27, 13, 24, 6, 2 }, + { 16, 26, 13, 24, 6, 2 }, { 16, 25, 12, 24, 6, 2 }, { 16, 24, 12, 24, 6, 2 }, { 16, 23, 11, 24, 6, 1 }, { 16, 22, 11, 24, 6, 1 }, + { 16, 21, 10, 24, 6, 1 }, { 16, 20, 10, 24, 6, 1 }, { 16, 19, 9, 24, 6, 1 }, { 16, 18, 9, 24, 6, 1 }, { 16, 17, 8, 24, 6, 1 }, + { 16, 16, 8, 24, 6, 1 }, { 16, 15, 7, 24, 6, 1 }, { 16, 14, 7, 24, 6, 1 }, { 16, 13, 6, 24, 6, 1 }, { 16, 12, 6, 24, 6, 1 }, + { 16, 11, 5, 24, 6, 1 }, { 16, 10, 5, 24, 6, 1 }, { 16, 9, 4, 24, 6, 1 }, { 16, 8, 4, 24, 6, 1 }, { 16, 7, 3, 24, 6, 0 }, + { 16, 6, 3, 24, 6, 0 }, { 16, 5, 2, 24, 6, 0 }, { 16, 4, 2, 24, 6, 0 }, { 16, 3, 1, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, + { 16, 1, 0, 24, 6, 0 }, { 16, 0, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_963ED6 = { - 32, { - { 31, 16, 15, 0, 6, 4 }, { 30, 16, 15, 0, 6, 4 }, { 29, 16, 14, 0, 6, 4 }, { 28, 16, 14, 0, 6, 4 }, { 27, 16, 13, 0, 6, 4 }, - { 26, 16, 13, 0, 6, 4 }, { 25, 16, 12, 0, 6, 4 }, { 24, 16, 12, 0, 6, 4 }, { 23, 16, 11, 0, 6, 3 }, { 22, 16, 11, 0, 6, 3 }, - { 21, 16, 10, 0, 6, 3 }, { 20, 16, 10, 0, 6, 3 }, { 19, 16, 9, 0, 6, 3 }, { 18, 16, 9, 0, 6, 3 }, { 17, 16, 8, 0, 6, 3 }, - { 16, 16, 8, 0, 6, 3 }, { 15, 16, 7, 0, 6, 3 }, { 14, 16, 7, 0, 6, 3 }, { 13, 16, 6, 0, 6, 3 }, { 12, 16, 6, 0, 6, 3 }, - { 11, 16, 5, 0, 6, 3 }, { 10, 16, 5, 0, 6, 3 }, { 9, 16, 4, 0, 6, 3 }, { 8, 16, 4, 0, 6, 3 }, { 7, 16, 3, 0, 6, 0 }, - { 6, 16, 3, 0, 6, 0 }, { 5, 16, 2, 0, 6, 0 }, { 4, 16, 2, 0, 6, 0 }, { 3, 16, 1, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, - { 1, 16, 0, 0, 6, 0 }, { 0, 16, 0, 0, 6, 0 }, + 32, { + { 31, 16, 15, 0, 6, 4 }, { 30, 16, 15, 0, 6, 4 }, { 29, 16, 14, 0, 6, 4 }, { 28, 16, 14, 0, 6, 4 }, { 27, 16, 13, 0, 6, 4 }, + { 26, 16, 13, 0, 6, 4 }, { 25, 16, 12, 0, 6, 4 }, { 24, 16, 12, 0, 6, 4 }, { 23, 16, 11, 0, 6, 3 }, { 22, 16, 11, 0, 6, 3 }, + { 21, 16, 10, 0, 6, 3 }, { 20, 16, 10, 0, 6, 3 }, { 19, 16, 9, 0, 6, 3 }, { 18, 16, 9, 0, 6, 3 }, { 17, 16, 8, 0, 6, 3 }, + { 16, 16, 8, 0, 6, 3 }, { 15, 16, 7, 0, 6, 3 }, { 14, 16, 7, 0, 6, 3 }, { 13, 16, 6, 0, 6, 3 }, { 12, 16, 6, 0, 6, 3 }, + { 11, 16, 5, 0, 6, 3 }, { 10, 16, 5, 0, 6, 3 }, { 9, 16, 4, 0, 6, 3 }, { 8, 16, 4, 0, 6, 3 }, { 7, 16, 3, 0, 6, 0 }, + { 6, 16, 3, 0, 6, 0 }, { 5, 16, 2, 0, 6, 0 }, { 4, 16, 2, 0, 6, 0 }, { 3, 16, 1, 0, 6, 0 }, { 2, 16, 1, 0, 6, 0 }, + { 1, 16, 0, 0, 6, 0 }, { 0, 16, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_963FF8 = { - 32, { - { 16, 0, 15, 8, 6, 4 }, { 16, 1, 14, 8, 6, 4 }, { 16, 2, 14, 8, 6, 4 }, { 16, 3, 13, 8, 6, 4 }, { 16, 4, 13, 8, 6, 4 }, - { 16, 5, 12, 8, 6, 4 }, { 16, 6, 12, 8, 6, 4 }, { 16, 7, 11, 8, 6, 4 }, { 16, 8, 11, 8, 6, 3 }, { 16, 9, 10, 8, 6, 3 }, - { 16, 10, 10, 8, 6, 3 }, { 16, 11, 9, 8, 6, 3 }, { 16, 12, 9, 8, 6, 3 }, { 16, 13, 8, 8, 6, 3 }, { 16, 14, 8, 8, 6, 3 }, - { 16, 15, 7, 8, 6, 3 }, { 16, 16, 7, 8, 6, 3 }, { 16, 17, 6, 8, 6, 3 }, { 16, 18, 6, 8, 6, 3 }, { 16, 19, 5, 8, 6, 3 }, - { 16, 20, 5, 8, 6, 3 }, { 16, 21, 4, 8, 6, 3 }, { 16, 22, 4, 8, 6, 3 }, { 16, 23, 3, 8, 6, 3 }, { 16, 24, 3, 8, 6, 0 }, - { 16, 25, 2, 8, 6, 0 }, { 16, 26, 2, 8, 6, 0 }, { 16, 27, 1, 8, 6, 0 }, { 16, 28, 1, 8, 6, 0 }, { 16, 29, 0, 8, 6, 0 }, - { 16, 30, 0, 8, 6, 0 }, { 16, 31, -1, 8, 6, 0 }, + 32, { + { 16, 0, 15, 8, 6, 4 }, { 16, 1, 14, 8, 6, 4 }, { 16, 2, 14, 8, 6, 4 }, { 16, 3, 13, 8, 6, 4 }, { 16, 4, 13, 8, 6, 4 }, + { 16, 5, 12, 8, 6, 4 }, { 16, 6, 12, 8, 6, 4 }, { 16, 7, 11, 8, 6, 4 }, { 16, 8, 11, 8, 6, 3 }, { 16, 9, 10, 8, 6, 3 }, + { 16, 10, 10, 8, 6, 3 }, { 16, 11, 9, 8, 6, 3 }, { 16, 12, 9, 8, 6, 3 }, { 16, 13, 8, 8, 6, 3 }, { 16, 14, 8, 8, 6, 3 }, + { 16, 15, 7, 8, 6, 3 }, { 16, 16, 7, 8, 6, 3 }, { 16, 17, 6, 8, 6, 3 }, { 16, 18, 6, 8, 6, 3 }, { 16, 19, 5, 8, 6, 3 }, + { 16, 20, 5, 8, 6, 3 }, { 16, 21, 4, 8, 6, 3 }, { 16, 22, 4, 8, 6, 3 }, { 16, 23, 3, 8, 6, 3 }, { 16, 24, 3, 8, 6, 0 }, + { 16, 25, 2, 8, 6, 0 }, { 16, 26, 2, 8, 6, 0 }, { 16, 27, 1, 8, 6, 0 }, { 16, 28, 1, 8, 6, 0 }, { 16, 29, 0, 8, 6, 0 }, + { 16, 30, 0, 8, 6, 0 }, { 16, 31, -1, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96411A = { - 32, { - { 0, 16, 15, 16, 6, 4 }, { 1, 16, 14, 16, 6, 4 }, { 2, 16, 14, 16, 6, 4 }, { 3, 16, 13, 16, 6, 4 }, { 4, 16, 13, 16, 6, 4 }, - { 5, 16, 12, 16, 6, 4 }, { 6, 16, 12, 16, 6, 4 }, { 7, 16, 11, 16, 6, 4 }, { 8, 16, 11, 16, 6, 3 }, { 9, 16, 10, 16, 6, 3 }, - { 10, 16, 10, 16, 6, 3 }, { 11, 16, 9, 16, 6, 3 }, { 12, 16, 9, 16, 6, 3 }, { 13, 16, 8, 16, 6, 3 }, { 14, 16, 8, 16, 6, 3 }, - { 15, 16, 7, 16, 6, 3 }, { 16, 16, 7, 16, 6, 3 }, { 17, 16, 6, 16, 6, 3 }, { 18, 16, 6, 16, 6, 3 }, { 19, 16, 5, 16, 6, 3 }, - { 20, 16, 5, 16, 6, 3 }, { 21, 16, 4, 16, 6, 3 }, { 22, 16, 4, 16, 6, 3 }, { 23, 16, 3, 16, 6, 3 }, { 24, 16, 3, 16, 6, 0 }, - { 25, 16, 2, 16, 6, 0 }, { 26, 16, 2, 16, 6, 0 }, { 27, 16, 1, 16, 6, 0 }, { 28, 16, 1, 16, 6, 0 }, { 29, 16, 0, 16, 6, 0 }, - { 30, 16, 0, 16, 6, 0 }, { 31, 16, -1, 16, 6, 0 }, + 32, { + { 0, 16, 15, 16, 6, 4 }, { 1, 16, 14, 16, 6, 4 }, { 2, 16, 14, 16, 6, 4 }, { 3, 16, 13, 16, 6, 4 }, { 4, 16, 13, 16, 6, 4 }, + { 5, 16, 12, 16, 6, 4 }, { 6, 16, 12, 16, 6, 4 }, { 7, 16, 11, 16, 6, 4 }, { 8, 16, 11, 16, 6, 3 }, { 9, 16, 10, 16, 6, 3 }, + { 10, 16, 10, 16, 6, 3 }, { 11, 16, 9, 16, 6, 3 }, { 12, 16, 9, 16, 6, 3 }, { 13, 16, 8, 16, 6, 3 }, { 14, 16, 8, 16, 6, 3 }, + { 15, 16, 7, 16, 6, 3 }, { 16, 16, 7, 16, 6, 3 }, { 17, 16, 6, 16, 6, 3 }, { 18, 16, 6, 16, 6, 3 }, { 19, 16, 5, 16, 6, 3 }, + { 20, 16, 5, 16, 6, 3 }, { 21, 16, 4, 16, 6, 3 }, { 22, 16, 4, 16, 6, 3 }, { 23, 16, 3, 16, 6, 3 }, { 24, 16, 3, 16, 6, 0 }, + { 25, 16, 2, 16, 6, 0 }, { 26, 16, 2, 16, 6, 0 }, { 27, 16, 1, 16, 6, 0 }, { 28, 16, 1, 16, 6, 0 }, { 29, 16, 0, 16, 6, 0 }, + { 30, 16, 0, 16, 6, 0 }, { 31, 16, -1, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96423C = { - 32, { - { 16, 31, 15, 24, 6, 4 }, { 16, 30, 15, 24, 6, 4 }, { 16, 29, 14, 24, 6, 4 }, { 16, 28, 14, 24, 6, 4 }, { 16, 27, 13, 24, 6, 4 }, - { 16, 26, 13, 24, 6, 4 }, { 16, 25, 12, 24, 6, 4 }, { 16, 24, 12, 24, 6, 4 }, { 16, 23, 11, 24, 6, 3 }, { 16, 22, 11, 24, 6, 3 }, - { 16, 21, 10, 24, 6, 3 }, { 16, 20, 10, 24, 6, 3 }, { 16, 19, 9, 24, 6, 3 }, { 16, 18, 9, 24, 6, 3 }, { 16, 17, 8, 24, 6, 3 }, - { 16, 16, 8, 24, 6, 3 }, { 16, 15, 7, 24, 6, 3 }, { 16, 14, 7, 24, 6, 3 }, { 16, 13, 6, 24, 6, 3 }, { 16, 12, 6, 24, 6, 3 }, - { 16, 11, 5, 24, 6, 3 }, { 16, 10, 5, 24, 6, 3 }, { 16, 9, 4, 24, 6, 3 }, { 16, 8, 4, 24, 6, 3 }, { 16, 7, 3, 24, 6, 0 }, - { 16, 6, 3, 24, 6, 0 }, { 16, 5, 2, 24, 6, 0 }, { 16, 4, 2, 24, 6, 0 }, { 16, 3, 1, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, - { 16, 1, 0, 24, 6, 0 }, { 16, 0, 0, 24, 6, 0 }, + 32, { + { 16, 31, 15, 24, 6, 4 }, { 16, 30, 15, 24, 6, 4 }, { 16, 29, 14, 24, 6, 4 }, { 16, 28, 14, 24, 6, 4 }, { 16, 27, 13, 24, 6, 4 }, + { 16, 26, 13, 24, 6, 4 }, { 16, 25, 12, 24, 6, 4 }, { 16, 24, 12, 24, 6, 4 }, { 16, 23, 11, 24, 6, 3 }, { 16, 22, 11, 24, 6, 3 }, + { 16, 21, 10, 24, 6, 3 }, { 16, 20, 10, 24, 6, 3 }, { 16, 19, 9, 24, 6, 3 }, { 16, 18, 9, 24, 6, 3 }, { 16, 17, 8, 24, 6, 3 }, + { 16, 16, 8, 24, 6, 3 }, { 16, 15, 7, 24, 6, 3 }, { 16, 14, 7, 24, 6, 3 }, { 16, 13, 6, 24, 6, 3 }, { 16, 12, 6, 24, 6, 3 }, + { 16, 11, 5, 24, 6, 3 }, { 16, 10, 5, 24, 6, 3 }, { 16, 9, 4, 24, 6, 3 }, { 16, 8, 4, 24, 6, 3 }, { 16, 7, 3, 24, 6, 0 }, + { 16, 6, 3, 24, 6, 0 }, { 16, 5, 2, 24, 6, 0 }, { 16, 4, 2, 24, 6, 0 }, { 16, 3, 1, 24, 6, 0 }, { 16, 2, 1, 24, 6, 0 }, + { 16, 1, 0, 24, 6, 0 }, { 16, 0, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96435E = { - 32, { - { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 0, 0, 2 }, - { 26, 16, 0, 0, 0, 2 }, { 25, 16, 0, 0, 0, 2 }, { 24, 16, 0, 0, 0, 2 }, { 23, 16, 0, 0, 1, 2 }, { 22, 16, 0, 0, 1, 2 }, - { 21, 16, 1, 0, 1, 2 }, { 20, 16, 1, 0, 1, 2 }, { 19, 16, 1, 0, 1, 2 }, { 18, 16, 1, 0, 1, 2 }, { 17, 16, 1, 0, 1, 2 }, - { 16, 16, 1, 0, 1, 2 }, { 15, 16, 2, 0, 1, 2 }, { 14, 16, 2, 0, 1, 2 }, { 13, 16, 2, 0, 1, 2 }, { 12, 16, 2, 0, 1, 2 }, - { 11, 16, 3, 0, 1, 2 }, { 10, 16, 3, 0, 1, 2 }, { 9, 16, 3, 0, 1, 2 }, { 8, 16, 4, 0, 1, 2 }, { 7, 16, 4, 0, 2, 2 }, - { 6, 16, 5, 0, 2, 2 }, { 5, 16, 5, 0, 2, 2 }, { 4, 16, 6, 0, 2, 2 }, { 3, 16, 6, 0, 2, 2 }, { 2, 16, 7, 0, 2, 2 }, - { 1, 16, 7, 0, 2, 2 }, { 0, 16, 8, 0, 2, 2 }, + 32, { + { 31, 16, 0, 0, 0, 2 }, { 30, 16, 0, 0, 0, 2 }, { 29, 16, 0, 0, 0, 2 }, { 28, 16, 0, 0, 0, 2 }, { 27, 16, 0, 0, 0, 2 }, + { 26, 16, 0, 0, 0, 2 }, { 25, 16, 0, 0, 0, 2 }, { 24, 16, 0, 0, 0, 2 }, { 23, 16, 0, 0, 1, 2 }, { 22, 16, 0, 0, 1, 2 }, + { 21, 16, 1, 0, 1, 2 }, { 20, 16, 1, 0, 1, 2 }, { 19, 16, 1, 0, 1, 2 }, { 18, 16, 1, 0, 1, 2 }, { 17, 16, 1, 0, 1, 2 }, + { 16, 16, 1, 0, 1, 2 }, { 15, 16, 2, 0, 1, 2 }, { 14, 16, 2, 0, 1, 2 }, { 13, 16, 2, 0, 1, 2 }, { 12, 16, 2, 0, 1, 2 }, + { 11, 16, 3, 0, 1, 2 }, { 10, 16, 3, 0, 1, 2 }, { 9, 16, 3, 0, 1, 2 }, { 8, 16, 4, 0, 1, 2 }, { 7, 16, 4, 0, 2, 2 }, + { 6, 16, 5, 0, 2, 2 }, { 5, 16, 5, 0, 2, 2 }, { 4, 16, 6, 0, 2, 2 }, { 3, 16, 6, 0, 2, 2 }, { 2, 16, 7, 0, 2, 2 }, + { 1, 16, 7, 0, 2, 2 }, { 0, 16, 8, 0, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_964480 = { - 32, { - { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, - { 16, 5, 0, 8, 0, 2 }, { 16, 6, 0, 8, 0, 2 }, { 16, 7, 0, 8, 0, 2 }, { 16, 8, 0, 8, 1, 2 }, { 16, 9, 0, 8, 1, 2 }, - { 16, 10, 1, 8, 1, 2 }, { 16, 11, 1, 8, 1, 2 }, { 16, 12, 1, 8, 1, 2 }, { 16, 13, 1, 8, 1, 2 }, { 16, 14, 1, 8, 1, 2 }, - { 16, 15, 1, 8, 1, 2 }, { 16, 16, 2, 8, 1, 2 }, { 16, 17, 2, 8, 1, 2 }, { 16, 18, 2, 8, 1, 2 }, { 16, 19, 2, 8, 1, 2 }, - { 16, 20, 3, 8, 1, 2 }, { 16, 21, 3, 8, 1, 2 }, { 16, 22, 3, 8, 1, 2 }, { 16, 23, 4, 8, 1, 2 }, { 16, 24, 4, 8, 2, 2 }, - { 16, 25, 4, 8, 2, 2 }, { 16, 26, 5, 8, 2, 2 }, { 16, 27, 5, 8, 2, 2 }, { 16, 28, 6, 8, 2, 2 }, { 16, 29, 6, 8, 2, 2 }, - { 16, 30, 7, 8, 2, 2 }, { 16, 31, 7, 8, 2, 2 }, + 32, { + { 16, 0, 0, 8, 0, 2 }, { 16, 1, 0, 8, 0, 2 }, { 16, 2, 0, 8, 0, 2 }, { 16, 3, 0, 8, 0, 2 }, { 16, 4, 0, 8, 0, 2 }, + { 16, 5, 0, 8, 0, 2 }, { 16, 6, 0, 8, 0, 2 }, { 16, 7, 0, 8, 0, 2 }, { 16, 8, 0, 8, 1, 2 }, { 16, 9, 0, 8, 1, 2 }, + { 16, 10, 1, 8, 1, 2 }, { 16, 11, 1, 8, 1, 2 }, { 16, 12, 1, 8, 1, 2 }, { 16, 13, 1, 8, 1, 2 }, { 16, 14, 1, 8, 1, 2 }, + { 16, 15, 1, 8, 1, 2 }, { 16, 16, 2, 8, 1, 2 }, { 16, 17, 2, 8, 1, 2 }, { 16, 18, 2, 8, 1, 2 }, { 16, 19, 2, 8, 1, 2 }, + { 16, 20, 3, 8, 1, 2 }, { 16, 21, 3, 8, 1, 2 }, { 16, 22, 3, 8, 1, 2 }, { 16, 23, 4, 8, 1, 2 }, { 16, 24, 4, 8, 2, 2 }, + { 16, 25, 4, 8, 2, 2 }, { 16, 26, 5, 8, 2, 2 }, { 16, 27, 5, 8, 2, 2 }, { 16, 28, 6, 8, 2, 2 }, { 16, 29, 6, 8, 2, 2 }, + { 16, 30, 7, 8, 2, 2 }, { 16, 31, 7, 8, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9645A2 = { - 32, { - { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, - { 5, 16, 0, 16, 0, 2 }, { 6, 16, 0, 16, 0, 2 }, { 7, 16, 0, 16, 0, 2 }, { 8, 16, 0, 16, 1, 2 }, { 9, 16, 0, 16, 1, 2 }, - { 10, 16, 1, 16, 1, 2 }, { 11, 16, 1, 16, 1, 2 }, { 12, 16, 1, 16, 1, 2 }, { 13, 16, 1, 16, 1, 2 }, { 14, 16, 1, 16, 1, 2 }, - { 15, 16, 1, 16, 1, 2 }, { 16, 16, 2, 16, 1, 2 }, { 17, 16, 2, 16, 1, 2 }, { 18, 16, 2, 16, 1, 2 }, { 19, 16, 2, 16, 1, 2 }, - { 20, 16, 3, 16, 1, 2 }, { 21, 16, 3, 16, 1, 2 }, { 22, 16, 3, 16, 1, 2 }, { 23, 16, 4, 16, 1, 2 }, { 24, 16, 4, 16, 2, 2 }, - { 25, 16, 4, 16, 2, 2 }, { 26, 16, 5, 16, 2, 2 }, { 27, 16, 5, 16, 2, 2 }, { 28, 16, 6, 16, 2, 2 }, { 29, 16, 6, 16, 2, 2 }, - { 30, 16, 7, 16, 2, 2 }, { 31, 16, 7, 16, 2, 2 }, + 32, { + { 0, 16, 0, 16, 0, 2 }, { 1, 16, 0, 16, 0, 2 }, { 2, 16, 0, 16, 0, 2 }, { 3, 16, 0, 16, 0, 2 }, { 4, 16, 0, 16, 0, 2 }, + { 5, 16, 0, 16, 0, 2 }, { 6, 16, 0, 16, 0, 2 }, { 7, 16, 0, 16, 0, 2 }, { 8, 16, 0, 16, 1, 2 }, { 9, 16, 0, 16, 1, 2 }, + { 10, 16, 1, 16, 1, 2 }, { 11, 16, 1, 16, 1, 2 }, { 12, 16, 1, 16, 1, 2 }, { 13, 16, 1, 16, 1, 2 }, { 14, 16, 1, 16, 1, 2 }, + { 15, 16, 1, 16, 1, 2 }, { 16, 16, 2, 16, 1, 2 }, { 17, 16, 2, 16, 1, 2 }, { 18, 16, 2, 16, 1, 2 }, { 19, 16, 2, 16, 1, 2 }, + { 20, 16, 3, 16, 1, 2 }, { 21, 16, 3, 16, 1, 2 }, { 22, 16, 3, 16, 1, 2 }, { 23, 16, 4, 16, 1, 2 }, { 24, 16, 4, 16, 2, 2 }, + { 25, 16, 4, 16, 2, 2 }, { 26, 16, 5, 16, 2, 2 }, { 27, 16, 5, 16, 2, 2 }, { 28, 16, 6, 16, 2, 2 }, { 29, 16, 6, 16, 2, 2 }, + { 30, 16, 7, 16, 2, 2 }, { 31, 16, 7, 16, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9646C4 = { - 32, { - { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 24, 0, 2 }, - { 16, 26, 0, 24, 0, 2 }, { 16, 25, 0, 24, 0, 2 }, { 16, 24, 0, 24, 0, 2 }, { 16, 23, 0, 24, 1, 2 }, { 16, 22, 0, 24, 1, 2 }, - { 16, 21, 1, 24, 1, 2 }, { 16, 20, 1, 24, 1, 2 }, { 16, 19, 1, 24, 1, 2 }, { 16, 18, 1, 24, 1, 2 }, { 16, 17, 1, 24, 1, 2 }, - { 16, 16, 1, 24, 1, 2 }, { 16, 15, 2, 24, 1, 2 }, { 16, 14, 2, 24, 1, 2 }, { 16, 13, 2, 24, 1, 2 }, { 16, 12, 2, 24, 1, 2 }, - { 16, 11, 3, 24, 1, 2 }, { 16, 10, 3, 24, 1, 2 }, { 16, 9, 3, 24, 1, 2 }, { 16, 8, 4, 24, 1, 2 }, { 16, 7, 4, 24, 2, 2 }, - { 16, 6, 5, 24, 2, 2 }, { 16, 5, 5, 24, 2, 2 }, { 16, 4, 6, 24, 2, 2 }, { 16, 3, 6, 24, 2, 2 }, { 16, 2, 7, 24, 2, 2 }, - { 16, 1, 7, 24, 2, 2 }, { 16, 0, 8, 24, 2, 2 }, + 32, { + { 16, 31, 0, 24, 0, 2 }, { 16, 30, 0, 24, 0, 2 }, { 16, 29, 0, 24, 0, 2 }, { 16, 28, 0, 24, 0, 2 }, { 16, 27, 0, 24, 0, 2 }, + { 16, 26, 0, 24, 0, 2 }, { 16, 25, 0, 24, 0, 2 }, { 16, 24, 0, 24, 0, 2 }, { 16, 23, 0, 24, 1, 2 }, { 16, 22, 0, 24, 1, 2 }, + { 16, 21, 1, 24, 1, 2 }, { 16, 20, 1, 24, 1, 2 }, { 16, 19, 1, 24, 1, 2 }, { 16, 18, 1, 24, 1, 2 }, { 16, 17, 1, 24, 1, 2 }, + { 16, 16, 1, 24, 1, 2 }, { 16, 15, 2, 24, 1, 2 }, { 16, 14, 2, 24, 1, 2 }, { 16, 13, 2, 24, 1, 2 }, { 16, 12, 2, 24, 1, 2 }, + { 16, 11, 3, 24, 1, 2 }, { 16, 10, 3, 24, 1, 2 }, { 16, 9, 3, 24, 1, 2 }, { 16, 8, 4, 24, 1, 2 }, { 16, 7, 4, 24, 2, 2 }, + { 16, 6, 5, 24, 2, 2 }, { 16, 5, 5, 24, 2, 2 }, { 16, 4, 6, 24, 2, 2 }, { 16, 3, 6, 24, 2, 2 }, { 16, 2, 7, 24, 2, 2 }, + { 16, 1, 7, 24, 2, 2 }, { 16, 0, 8, 24, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96557E = { - 32, { - { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 0, 0, 4 }, - { 26, 16, 0, 0, 0, 4 }, { 25, 16, 0, 0, 0, 4 }, { 24, 16, 0, 0, 0, 4 }, { 23, 16, 0, 0, 1, 4 }, { 22, 16, 0, 0, 1, 4 }, - { 21, 16, 1, 0, 1, 4 }, { 20, 16, 1, 0, 1, 4 }, { 19, 16, 1, 0, 1, 4 }, { 18, 16, 1, 0, 1, 4 }, { 17, 16, 1, 0, 1, 4 }, - { 16, 16, 1, 0, 1, 4 }, { 15, 16, 2, 0, 1, 4 }, { 14, 16, 2, 0, 1, 4 }, { 13, 16, 2, 0, 1, 4 }, { 12, 16, 2, 0, 1, 4 }, - { 11, 16, 3, 0, 1, 4 }, { 10, 16, 3, 0, 1, 4 }, { 9, 16, 3, 0, 1, 4 }, { 8, 16, 4, 0, 1, 4 }, { 7, 16, 4, 0, 2, 4 }, - { 6, 16, 5, 0, 2, 4 }, { 5, 16, 5, 0, 2, 4 }, { 4, 16, 6, 0, 2, 4 }, { 3, 16, 6, 0, 2, 4 }, { 2, 16, 7, 0, 2, 4 }, - { 1, 16, 7, 0, 2, 4 }, { 0, 16, 8, 0, 2, 4 }, + 32, { + { 31, 16, 0, 0, 0, 4 }, { 30, 16, 0, 0, 0, 4 }, { 29, 16, 0, 0, 0, 4 }, { 28, 16, 0, 0, 0, 4 }, { 27, 16, 0, 0, 0, 4 }, + { 26, 16, 0, 0, 0, 4 }, { 25, 16, 0, 0, 0, 4 }, { 24, 16, 0, 0, 0, 4 }, { 23, 16, 0, 0, 1, 4 }, { 22, 16, 0, 0, 1, 4 }, + { 21, 16, 1, 0, 1, 4 }, { 20, 16, 1, 0, 1, 4 }, { 19, 16, 1, 0, 1, 4 }, { 18, 16, 1, 0, 1, 4 }, { 17, 16, 1, 0, 1, 4 }, + { 16, 16, 1, 0, 1, 4 }, { 15, 16, 2, 0, 1, 4 }, { 14, 16, 2, 0, 1, 4 }, { 13, 16, 2, 0, 1, 4 }, { 12, 16, 2, 0, 1, 4 }, + { 11, 16, 3, 0, 1, 4 }, { 10, 16, 3, 0, 1, 4 }, { 9, 16, 3, 0, 1, 4 }, { 8, 16, 4, 0, 1, 4 }, { 7, 16, 4, 0, 2, 4 }, + { 6, 16, 5, 0, 2, 4 }, { 5, 16, 5, 0, 2, 4 }, { 4, 16, 6, 0, 2, 4 }, { 3, 16, 6, 0, 2, 4 }, { 2, 16, 7, 0, 2, 4 }, + { 1, 16, 7, 0, 2, 4 }, { 0, 16, 8, 0, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9656A0 = { - 32, { - { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, - { 16, 5, 0, 8, 0, 4 }, { 16, 6, 0, 8, 0, 4 }, { 16, 7, 0, 8, 0, 4 }, { 16, 8, 0, 8, 1, 4 }, { 16, 9, 0, 8, 1, 4 }, - { 16, 10, 1, 8, 1, 4 }, { 16, 11, 1, 8, 1, 4 }, { 16, 12, 1, 8, 1, 4 }, { 16, 13, 1, 8, 1, 4 }, { 16, 14, 1, 8, 1, 4 }, - { 16, 15, 1, 8, 1, 4 }, { 16, 16, 2, 8, 1, 4 }, { 16, 17, 2, 8, 1, 4 }, { 16, 18, 2, 8, 1, 4 }, { 16, 19, 2, 8, 1, 4 }, - { 16, 20, 3, 8, 1, 4 }, { 16, 21, 3, 8, 1, 4 }, { 16, 22, 3, 8, 1, 4 }, { 16, 23, 4, 8, 1, 4 }, { 16, 24, 4, 8, 2, 4 }, - { 16, 25, 4, 8, 2, 4 }, { 16, 26, 5, 8, 2, 4 }, { 16, 27, 5, 8, 2, 4 }, { 16, 28, 6, 8, 2, 4 }, { 16, 29, 6, 8, 2, 4 }, - { 16, 30, 7, 8, 2, 4 }, { 16, 31, 7, 8, 2, 4 }, + 32, { + { 16, 0, 0, 8, 0, 4 }, { 16, 1, 0, 8, 0, 4 }, { 16, 2, 0, 8, 0, 4 }, { 16, 3, 0, 8, 0, 4 }, { 16, 4, 0, 8, 0, 4 }, + { 16, 5, 0, 8, 0, 4 }, { 16, 6, 0, 8, 0, 4 }, { 16, 7, 0, 8, 0, 4 }, { 16, 8, 0, 8, 1, 4 }, { 16, 9, 0, 8, 1, 4 }, + { 16, 10, 1, 8, 1, 4 }, { 16, 11, 1, 8, 1, 4 }, { 16, 12, 1, 8, 1, 4 }, { 16, 13, 1, 8, 1, 4 }, { 16, 14, 1, 8, 1, 4 }, + { 16, 15, 1, 8, 1, 4 }, { 16, 16, 2, 8, 1, 4 }, { 16, 17, 2, 8, 1, 4 }, { 16, 18, 2, 8, 1, 4 }, { 16, 19, 2, 8, 1, 4 }, + { 16, 20, 3, 8, 1, 4 }, { 16, 21, 3, 8, 1, 4 }, { 16, 22, 3, 8, 1, 4 }, { 16, 23, 4, 8, 1, 4 }, { 16, 24, 4, 8, 2, 4 }, + { 16, 25, 4, 8, 2, 4 }, { 16, 26, 5, 8, 2, 4 }, { 16, 27, 5, 8, 2, 4 }, { 16, 28, 6, 8, 2, 4 }, { 16, 29, 6, 8, 2, 4 }, + { 16, 30, 7, 8, 2, 4 }, { 16, 31, 7, 8, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9657C2 = { - 32, { - { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, - { 5, 16, 0, 16, 0, 4 }, { 6, 16, 0, 16, 0, 4 }, { 7, 16, 0, 16, 0, 4 }, { 8, 16, 0, 16, 1, 4 }, { 9, 16, 0, 16, 1, 4 }, - { 10, 16, 1, 16, 1, 4 }, { 11, 16, 1, 16, 1, 4 }, { 12, 16, 1, 16, 1, 4 }, { 13, 16, 1, 16, 1, 4 }, { 14, 16, 1, 16, 1, 4 }, - { 15, 16, 1, 16, 1, 4 }, { 16, 16, 2, 16, 1, 4 }, { 17, 16, 2, 16, 1, 4 }, { 18, 16, 2, 16, 1, 4 }, { 19, 16, 2, 16, 1, 4 }, - { 20, 16, 3, 16, 1, 4 }, { 21, 16, 3, 16, 1, 4 }, { 22, 16, 3, 16, 1, 4 }, { 23, 16, 4, 16, 1, 4 }, { 24, 16, 4, 16, 2, 4 }, - { 25, 16, 4, 16, 2, 4 }, { 26, 16, 5, 16, 2, 4 }, { 27, 16, 5, 16, 2, 4 }, { 28, 16, 6, 16, 2, 4 }, { 29, 16, 6, 16, 2, 4 }, - { 30, 16, 7, 16, 2, 4 }, { 31, 16, 7, 16, 2, 4 }, + 32, { + { 0, 16, 0, 16, 0, 4 }, { 1, 16, 0, 16, 0, 4 }, { 2, 16, 0, 16, 0, 4 }, { 3, 16, 0, 16, 0, 4 }, { 4, 16, 0, 16, 0, 4 }, + { 5, 16, 0, 16, 0, 4 }, { 6, 16, 0, 16, 0, 4 }, { 7, 16, 0, 16, 0, 4 }, { 8, 16, 0, 16, 1, 4 }, { 9, 16, 0, 16, 1, 4 }, + { 10, 16, 1, 16, 1, 4 }, { 11, 16, 1, 16, 1, 4 }, { 12, 16, 1, 16, 1, 4 }, { 13, 16, 1, 16, 1, 4 }, { 14, 16, 1, 16, 1, 4 }, + { 15, 16, 1, 16, 1, 4 }, { 16, 16, 2, 16, 1, 4 }, { 17, 16, 2, 16, 1, 4 }, { 18, 16, 2, 16, 1, 4 }, { 19, 16, 2, 16, 1, 4 }, + { 20, 16, 3, 16, 1, 4 }, { 21, 16, 3, 16, 1, 4 }, { 22, 16, 3, 16, 1, 4 }, { 23, 16, 4, 16, 1, 4 }, { 24, 16, 4, 16, 2, 4 }, + { 25, 16, 4, 16, 2, 4 }, { 26, 16, 5, 16, 2, 4 }, { 27, 16, 5, 16, 2, 4 }, { 28, 16, 6, 16, 2, 4 }, { 29, 16, 6, 16, 2, 4 }, + { 30, 16, 7, 16, 2, 4 }, { 31, 16, 7, 16, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9658E4 = { - 32, { - { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 24, 0, 4 }, - { 16, 26, 0, 24, 0, 4 }, { 16, 25, 0, 24, 0, 4 }, { 16, 24, 0, 24, 0, 4 }, { 16, 23, 0, 24, 1, 4 }, { 16, 22, 0, 24, 1, 4 }, - { 16, 21, 1, 24, 1, 4 }, { 16, 20, 1, 24, 1, 4 }, { 16, 19, 1, 24, 1, 4 }, { 16, 18, 1, 24, 1, 4 }, { 16, 17, 1, 24, 1, 4 }, - { 16, 16, 1, 24, 1, 4 }, { 16, 15, 2, 24, 1, 4 }, { 16, 14, 2, 24, 1, 4 }, { 16, 13, 2, 24, 1, 4 }, { 16, 12, 2, 24, 1, 4 }, - { 16, 11, 3, 24, 1, 4 }, { 16, 10, 3, 24, 1, 4 }, { 16, 9, 3, 24, 1, 4 }, { 16, 8, 4, 24, 1, 4 }, { 16, 7, 4, 24, 2, 4 }, - { 16, 6, 5, 24, 2, 4 }, { 16, 5, 5, 24, 2, 4 }, { 16, 4, 6, 24, 2, 4 }, { 16, 3, 6, 24, 2, 4 }, { 16, 2, 7, 24, 2, 4 }, - { 16, 1, 7, 24, 2, 4 }, { 16, 0, 8, 24, 2, 4 }, + 32, { + { 16, 31, 0, 24, 0, 4 }, { 16, 30, 0, 24, 0, 4 }, { 16, 29, 0, 24, 0, 4 }, { 16, 28, 0, 24, 0, 4 }, { 16, 27, 0, 24, 0, 4 }, + { 16, 26, 0, 24, 0, 4 }, { 16, 25, 0, 24, 0, 4 }, { 16, 24, 0, 24, 0, 4 }, { 16, 23, 0, 24, 1, 4 }, { 16, 22, 0, 24, 1, 4 }, + { 16, 21, 1, 24, 1, 4 }, { 16, 20, 1, 24, 1, 4 }, { 16, 19, 1, 24, 1, 4 }, { 16, 18, 1, 24, 1, 4 }, { 16, 17, 1, 24, 1, 4 }, + { 16, 16, 1, 24, 1, 4 }, { 16, 15, 2, 24, 1, 4 }, { 16, 14, 2, 24, 1, 4 }, { 16, 13, 2, 24, 1, 4 }, { 16, 12, 2, 24, 1, 4 }, + { 16, 11, 3, 24, 1, 4 }, { 16, 10, 3, 24, 1, 4 }, { 16, 9, 3, 24, 1, 4 }, { 16, 8, 4, 24, 1, 4 }, { 16, 7, 4, 24, 2, 4 }, + { 16, 6, 5, 24, 2, 4 }, { 16, 5, 5, 24, 2, 4 }, { 16, 4, 6, 24, 2, 4 }, { 16, 3, 6, 24, 2, 4 }, { 16, 2, 7, 24, 2, 4 }, + { 16, 1, 7, 24, 2, 4 }, { 16, 0, 8, 24, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9647E6 = { - 32, { - { 31, 16, 0, 0, 2, 2 }, { 30, 16, 1, 0, 2, 2 }, { 29, 16, 1, 0, 2, 2 }, { 28, 16, 2, 0, 2, 2 }, { 27, 16, 2, 0, 2, 2 }, - { 26, 16, 3, 0, 2, 2 }, { 25, 16, 3, 0, 2, 2 }, { 24, 16, 3, 0, 2, 2 }, { 23, 16, 4, 0, 1, 2 }, { 22, 16, 4, 0, 1, 2 }, - { 21, 16, 4, 0, 1, 2 }, { 20, 16, 5, 0, 1, 2 }, { 19, 16, 5, 0, 1, 2 }, { 18, 16, 5, 0, 1, 2 }, { 17, 16, 6, 0, 1, 2 }, - { 16, 16, 6, 0, 1, 2 }, { 15, 16, 6, 0, 1, 2 }, { 14, 16, 6, 0, 1, 2 }, { 13, 16, 7, 0, 1, 2 }, { 12, 16, 7, 0, 1, 2 }, - { 11, 16, 7, 0, 1, 2 }, { 10, 16, 7, 0, 1, 2 }, { 9, 16, 7, 0, 0, 2 }, { 8, 16, 7, 0, 0, 2 }, { 7, 16, 8, 0, 0, 2 }, - { 6, 16, 8, 0, 0, 2 }, { 5, 16, 8, 0, 0, 2 }, { 4, 16, 8, 0, 0, 2 }, { 3, 16, 8, 0, 0, 2 }, { 2, 16, 8, 0, 0, 2 }, - { 1, 16, 8, 0, 0, 2 }, { 0, 16, 8, 0, 0, 2 }, + 32, { + { 31, 16, 0, 0, 2, 2 }, { 30, 16, 1, 0, 2, 2 }, { 29, 16, 1, 0, 2, 2 }, { 28, 16, 2, 0, 2, 2 }, { 27, 16, 2, 0, 2, 2 }, + { 26, 16, 3, 0, 2, 2 }, { 25, 16, 3, 0, 2, 2 }, { 24, 16, 3, 0, 2, 2 }, { 23, 16, 4, 0, 1, 2 }, { 22, 16, 4, 0, 1, 2 }, + { 21, 16, 4, 0, 1, 2 }, { 20, 16, 5, 0, 1, 2 }, { 19, 16, 5, 0, 1, 2 }, { 18, 16, 5, 0, 1, 2 }, { 17, 16, 6, 0, 1, 2 }, + { 16, 16, 6, 0, 1, 2 }, { 15, 16, 6, 0, 1, 2 }, { 14, 16, 6, 0, 1, 2 }, { 13, 16, 7, 0, 1, 2 }, { 12, 16, 7, 0, 1, 2 }, + { 11, 16, 7, 0, 1, 2 }, { 10, 16, 7, 0, 1, 2 }, { 9, 16, 7, 0, 0, 2 }, { 8, 16, 7, 0, 0, 2 }, { 7, 16, 8, 0, 0, 2 }, + { 6, 16, 8, 0, 0, 2 }, { 5, 16, 8, 0, 0, 2 }, { 4, 16, 8, 0, 0, 2 }, { 3, 16, 8, 0, 0, 2 }, { 2, 16, 8, 0, 0, 2 }, + { 1, 16, 8, 0, 0, 2 }, { 0, 16, 8, 0, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_964908 = { - 32, { - { 16, 0, 0, 8, 2, 2 }, { 16, 1, 0, 8, 2, 2 }, { 16, 2, 1, 8, 2, 2 }, { 16, 3, 1, 8, 2, 2 }, { 16, 4, 2, 8, 2, 2 }, - { 16, 5, 2, 8, 2, 2 }, { 16, 6, 3, 8, 2, 2 }, { 16, 7, 3, 8, 2, 2 }, { 16, 8, 4, 8, 1, 2 }, { 16, 9, 4, 8, 1, 2 }, - { 16, 10, 4, 8, 1, 2 }, { 16, 11, 5, 8, 1, 2 }, { 16, 12, 5, 8, 1, 2 }, { 16, 13, 5, 8, 1, 2 }, { 16, 14, 6, 8, 1, 2 }, - { 16, 15, 6, 8, 1, 2 }, { 16, 16, 6, 8, 1, 2 }, { 16, 17, 6, 8, 1, 2 }, { 16, 18, 7, 8, 1, 2 }, { 16, 19, 7, 8, 1, 2 }, - { 16, 20, 7, 8, 1, 2 }, { 16, 21, 7, 8, 1, 2 }, { 16, 22, 7, 8, 0, 2 }, { 16, 23, 7, 8, 0, 2 }, { 16, 24, 8, 8, 0, 2 }, - { 16, 25, 8, 8, 0, 2 }, { 16, 26, 8, 8, 0, 2 }, { 16, 27, 8, 8, 0, 2 }, { 16, 28, 8, 8, 0, 2 }, { 16, 29, 8, 8, 0, 2 }, - { 16, 30, 8, 8, 0, 2 }, { 16, 31, 8, 8, 0, 2 }, + 32, { + { 16, 0, 0, 8, 2, 2 }, { 16, 1, 0, 8, 2, 2 }, { 16, 2, 1, 8, 2, 2 }, { 16, 3, 1, 8, 2, 2 }, { 16, 4, 2, 8, 2, 2 }, + { 16, 5, 2, 8, 2, 2 }, { 16, 6, 3, 8, 2, 2 }, { 16, 7, 3, 8, 2, 2 }, { 16, 8, 4, 8, 1, 2 }, { 16, 9, 4, 8, 1, 2 }, + { 16, 10, 4, 8, 1, 2 }, { 16, 11, 5, 8, 1, 2 }, { 16, 12, 5, 8, 1, 2 }, { 16, 13, 5, 8, 1, 2 }, { 16, 14, 6, 8, 1, 2 }, + { 16, 15, 6, 8, 1, 2 }, { 16, 16, 6, 8, 1, 2 }, { 16, 17, 6, 8, 1, 2 }, { 16, 18, 7, 8, 1, 2 }, { 16, 19, 7, 8, 1, 2 }, + { 16, 20, 7, 8, 1, 2 }, { 16, 21, 7, 8, 1, 2 }, { 16, 22, 7, 8, 0, 2 }, { 16, 23, 7, 8, 0, 2 }, { 16, 24, 8, 8, 0, 2 }, + { 16, 25, 8, 8, 0, 2 }, { 16, 26, 8, 8, 0, 2 }, { 16, 27, 8, 8, 0, 2 }, { 16, 28, 8, 8, 0, 2 }, { 16, 29, 8, 8, 0, 2 }, + { 16, 30, 8, 8, 0, 2 }, { 16, 31, 8, 8, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_964A2A = { - 32, { - { 0, 16, 0, 16, 2, 2 }, { 1, 16, 0, 16, 2, 2 }, { 2, 16, 1, 16, 2, 2 }, { 3, 16, 1, 16, 2, 2 }, { 4, 16, 2, 16, 2, 2 }, - { 5, 16, 2, 16, 2, 2 }, { 6, 16, 3, 16, 2, 2 }, { 7, 16, 3, 16, 2, 2 }, { 8, 16, 4, 16, 1, 2 }, { 9, 16, 4, 16, 1, 2 }, - { 10, 16, 4, 16, 1, 2 }, { 11, 16, 5, 16, 1, 2 }, { 12, 16, 5, 16, 1, 2 }, { 13, 16, 5, 16, 1, 2 }, { 14, 16, 6, 16, 1, 2 }, - { 15, 16, 6, 16, 1, 2 }, { 16, 16, 6, 16, 1, 2 }, { 17, 16, 6, 16, 1, 2 }, { 18, 16, 7, 16, 1, 2 }, { 19, 16, 7, 16, 1, 2 }, - { 20, 16, 7, 16, 1, 2 }, { 21, 16, 7, 16, 1, 2 }, { 22, 16, 7, 16, 0, 2 }, { 23, 16, 7, 16, 0, 2 }, { 24, 16, 8, 16, 0, 2 }, - { 25, 16, 8, 16, 0, 2 }, { 26, 16, 8, 16, 0, 2 }, { 27, 16, 8, 16, 0, 2 }, { 28, 16, 8, 16, 0, 2 }, { 29, 16, 8, 16, 0, 2 }, - { 30, 16, 8, 16, 0, 2 }, { 31, 16, 8, 16, 0, 2 }, + 32, { + { 0, 16, 0, 16, 2, 2 }, { 1, 16, 0, 16, 2, 2 }, { 2, 16, 1, 16, 2, 2 }, { 3, 16, 1, 16, 2, 2 }, { 4, 16, 2, 16, 2, 2 }, + { 5, 16, 2, 16, 2, 2 }, { 6, 16, 3, 16, 2, 2 }, { 7, 16, 3, 16, 2, 2 }, { 8, 16, 4, 16, 1, 2 }, { 9, 16, 4, 16, 1, 2 }, + { 10, 16, 4, 16, 1, 2 }, { 11, 16, 5, 16, 1, 2 }, { 12, 16, 5, 16, 1, 2 }, { 13, 16, 5, 16, 1, 2 }, { 14, 16, 6, 16, 1, 2 }, + { 15, 16, 6, 16, 1, 2 }, { 16, 16, 6, 16, 1, 2 }, { 17, 16, 6, 16, 1, 2 }, { 18, 16, 7, 16, 1, 2 }, { 19, 16, 7, 16, 1, 2 }, + { 20, 16, 7, 16, 1, 2 }, { 21, 16, 7, 16, 1, 2 }, { 22, 16, 7, 16, 0, 2 }, { 23, 16, 7, 16, 0, 2 }, { 24, 16, 8, 16, 0, 2 }, + { 25, 16, 8, 16, 0, 2 }, { 26, 16, 8, 16, 0, 2 }, { 27, 16, 8, 16, 0, 2 }, { 28, 16, 8, 16, 0, 2 }, { 29, 16, 8, 16, 0, 2 }, + { 30, 16, 8, 16, 0, 2 }, { 31, 16, 8, 16, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_964B4C = { - 32, { - { 16, 31, 0, 24, 2, 2 }, { 16, 30, 1, 24, 2, 2 }, { 16, 29, 1, 24, 2, 2 }, { 16, 28, 2, 24, 2, 2 }, { 16, 27, 2, 24, 2, 2 }, - { 16, 26, 3, 24, 2, 2 }, { 16, 25, 3, 24, 2, 2 }, { 16, 24, 3, 24, 2, 2 }, { 16, 23, 4, 24, 1, 2 }, { 16, 22, 4, 24, 1, 2 }, - { 16, 21, 4, 24, 1, 2 }, { 16, 20, 5, 24, 1, 2 }, { 16, 19, 5, 24, 1, 2 }, { 16, 18, 5, 24, 1, 2 }, { 16, 17, 6, 24, 1, 2 }, - { 16, 16, 6, 24, 1, 2 }, { 16, 15, 6, 24, 1, 2 }, { 16, 14, 6, 24, 1, 2 }, { 16, 13, 7, 24, 1, 2 }, { 16, 12, 7, 24, 1, 2 }, - { 16, 11, 7, 24, 1, 2 }, { 16, 10, 7, 24, 1, 2 }, { 16, 9, 7, 24, 0, 2 }, { 16, 8, 7, 24, 0, 2 }, { 16, 7, 8, 24, 0, 2 }, - { 16, 6, 8, 24, 0, 2 }, { 16, 5, 8, 24, 0, 2 }, { 16, 4, 8, 24, 0, 2 }, { 16, 3, 8, 24, 0, 2 }, { 16, 2, 8, 24, 0, 2 }, - { 16, 1, 8, 24, 0, 2 }, { 16, 0, 8, 24, 0, 2 }, + 32, { + { 16, 31, 0, 24, 2, 2 }, { 16, 30, 1, 24, 2, 2 }, { 16, 29, 1, 24, 2, 2 }, { 16, 28, 2, 24, 2, 2 }, { 16, 27, 2, 24, 2, 2 }, + { 16, 26, 3, 24, 2, 2 }, { 16, 25, 3, 24, 2, 2 }, { 16, 24, 3, 24, 2, 2 }, { 16, 23, 4, 24, 1, 2 }, { 16, 22, 4, 24, 1, 2 }, + { 16, 21, 4, 24, 1, 2 }, { 16, 20, 5, 24, 1, 2 }, { 16, 19, 5, 24, 1, 2 }, { 16, 18, 5, 24, 1, 2 }, { 16, 17, 6, 24, 1, 2 }, + { 16, 16, 6, 24, 1, 2 }, { 16, 15, 6, 24, 1, 2 }, { 16, 14, 6, 24, 1, 2 }, { 16, 13, 7, 24, 1, 2 }, { 16, 12, 7, 24, 1, 2 }, + { 16, 11, 7, 24, 1, 2 }, { 16, 10, 7, 24, 1, 2 }, { 16, 9, 7, 24, 0, 2 }, { 16, 8, 7, 24, 0, 2 }, { 16, 7, 8, 24, 0, 2 }, + { 16, 6, 8, 24, 0, 2 }, { 16, 5, 8, 24, 0, 2 }, { 16, 4, 8, 24, 0, 2 }, { 16, 3, 8, 24, 0, 2 }, { 16, 2, 8, 24, 0, 2 }, + { 16, 1, 8, 24, 0, 2 }, { 16, 0, 8, 24, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_965A06 = { - 32, { - { 31, 16, 0, 0, 2, 4 }, { 30, 16, 1, 0, 2, 4 }, { 29, 16, 1, 0, 2, 4 }, { 28, 16, 2, 0, 2, 4 }, { 27, 16, 2, 0, 2, 4 }, - { 26, 16, 3, 0, 2, 4 }, { 25, 16, 3, 0, 2, 4 }, { 24, 16, 3, 0, 2, 4 }, { 23, 16, 4, 0, 1, 4 }, { 22, 16, 4, 0, 1, 4 }, - { 21, 16, 4, 0, 1, 4 }, { 20, 16, 5, 0, 1, 4 }, { 19, 16, 5, 0, 1, 4 }, { 18, 16, 5, 0, 1, 4 }, { 17, 16, 6, 0, 1, 4 }, - { 16, 16, 6, 0, 1, 4 }, { 15, 16, 6, 0, 1, 4 }, { 14, 16, 6, 0, 1, 4 }, { 13, 16, 7, 0, 1, 4 }, { 12, 16, 7, 0, 1, 4 }, - { 11, 16, 7, 0, 1, 4 }, { 10, 16, 7, 0, 1, 4 }, { 9, 16, 7, 0, 0, 4 }, { 8, 16, 7, 0, 0, 4 }, { 7, 16, 8, 0, 0, 4 }, - { 6, 16, 8, 0, 0, 4 }, { 5, 16, 8, 0, 0, 4 }, { 4, 16, 8, 0, 0, 4 }, { 3, 16, 8, 0, 0, 4 }, { 2, 16, 8, 0, 0, 4 }, - { 1, 16, 8, 0, 0, 4 }, { 0, 16, 8, 0, 0, 4 }, + 32, { + { 31, 16, 0, 0, 2, 4 }, { 30, 16, 1, 0, 2, 4 }, { 29, 16, 1, 0, 2, 4 }, { 28, 16, 2, 0, 2, 4 }, { 27, 16, 2, 0, 2, 4 }, + { 26, 16, 3, 0, 2, 4 }, { 25, 16, 3, 0, 2, 4 }, { 24, 16, 3, 0, 2, 4 }, { 23, 16, 4, 0, 1, 4 }, { 22, 16, 4, 0, 1, 4 }, + { 21, 16, 4, 0, 1, 4 }, { 20, 16, 5, 0, 1, 4 }, { 19, 16, 5, 0, 1, 4 }, { 18, 16, 5, 0, 1, 4 }, { 17, 16, 6, 0, 1, 4 }, + { 16, 16, 6, 0, 1, 4 }, { 15, 16, 6, 0, 1, 4 }, { 14, 16, 6, 0, 1, 4 }, { 13, 16, 7, 0, 1, 4 }, { 12, 16, 7, 0, 1, 4 }, + { 11, 16, 7, 0, 1, 4 }, { 10, 16, 7, 0, 1, 4 }, { 9, 16, 7, 0, 0, 4 }, { 8, 16, 7, 0, 0, 4 }, { 7, 16, 8, 0, 0, 4 }, + { 6, 16, 8, 0, 0, 4 }, { 5, 16, 8, 0, 0, 4 }, { 4, 16, 8, 0, 0, 4 }, { 3, 16, 8, 0, 0, 4 }, { 2, 16, 8, 0, 0, 4 }, + { 1, 16, 8, 0, 0, 4 }, { 0, 16, 8, 0, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_965B28 = { - 32, { - { 16, 0, 0, 8, 2, 4 }, { 16, 1, 0, 8, 2, 4 }, { 16, 2, 1, 8, 2, 4 }, { 16, 3, 1, 8, 2, 4 }, { 16, 4, 2, 8, 2, 4 }, - { 16, 5, 2, 8, 2, 4 }, { 16, 6, 3, 8, 2, 4 }, { 16, 7, 3, 8, 2, 4 }, { 16, 8, 4, 8, 1, 4 }, { 16, 9, 4, 8, 1, 4 }, - { 16, 10, 4, 8, 1, 4 }, { 16, 11, 5, 8, 1, 4 }, { 16, 12, 5, 8, 1, 4 }, { 16, 13, 5, 8, 1, 4 }, { 16, 14, 6, 8, 1, 4 }, - { 16, 15, 6, 8, 1, 4 }, { 16, 16, 6, 8, 1, 4 }, { 16, 17, 6, 8, 1, 4 }, { 16, 18, 7, 8, 1, 4 }, { 16, 19, 7, 8, 1, 4 }, - { 16, 20, 7, 8, 1, 4 }, { 16, 21, 7, 8, 1, 4 }, { 16, 22, 7, 8, 0, 4 }, { 16, 23, 7, 8, 0, 4 }, { 16, 24, 8, 8, 0, 4 }, - { 16, 25, 8, 8, 0, 4 }, { 16, 26, 8, 8, 0, 4 }, { 16, 27, 8, 8, 0, 4 }, { 16, 28, 8, 8, 0, 4 }, { 16, 29, 8, 8, 0, 4 }, - { 16, 30, 8, 8, 0, 4 }, { 16, 31, 8, 8, 0, 4 }, + 32, { + { 16, 0, 0, 8, 2, 4 }, { 16, 1, 0, 8, 2, 4 }, { 16, 2, 1, 8, 2, 4 }, { 16, 3, 1, 8, 2, 4 }, { 16, 4, 2, 8, 2, 4 }, + { 16, 5, 2, 8, 2, 4 }, { 16, 6, 3, 8, 2, 4 }, { 16, 7, 3, 8, 2, 4 }, { 16, 8, 4, 8, 1, 4 }, { 16, 9, 4, 8, 1, 4 }, + { 16, 10, 4, 8, 1, 4 }, { 16, 11, 5, 8, 1, 4 }, { 16, 12, 5, 8, 1, 4 }, { 16, 13, 5, 8, 1, 4 }, { 16, 14, 6, 8, 1, 4 }, + { 16, 15, 6, 8, 1, 4 }, { 16, 16, 6, 8, 1, 4 }, { 16, 17, 6, 8, 1, 4 }, { 16, 18, 7, 8, 1, 4 }, { 16, 19, 7, 8, 1, 4 }, + { 16, 20, 7, 8, 1, 4 }, { 16, 21, 7, 8, 1, 4 }, { 16, 22, 7, 8, 0, 4 }, { 16, 23, 7, 8, 0, 4 }, { 16, 24, 8, 8, 0, 4 }, + { 16, 25, 8, 8, 0, 4 }, { 16, 26, 8, 8, 0, 4 }, { 16, 27, 8, 8, 0, 4 }, { 16, 28, 8, 8, 0, 4 }, { 16, 29, 8, 8, 0, 4 }, + { 16, 30, 8, 8, 0, 4 }, { 16, 31, 8, 8, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_965C4A = { - 32, { - { 0, 16, 0, 16, 2, 4 }, { 1, 16, 0, 16, 2, 4 }, { 2, 16, 1, 16, 2, 4 }, { 3, 16, 1, 16, 2, 4 }, { 4, 16, 2, 16, 2, 4 }, - { 5, 16, 2, 16, 2, 4 }, { 6, 16, 3, 16, 2, 4 }, { 7, 16, 3, 16, 2, 4 }, { 8, 16, 4, 16, 1, 4 }, { 9, 16, 4, 16, 1, 4 }, - { 10, 16, 4, 16, 1, 4 }, { 11, 16, 5, 16, 1, 4 }, { 12, 16, 5, 16, 1, 4 }, { 13, 16, 5, 16, 1, 4 }, { 14, 16, 6, 16, 1, 4 }, - { 15, 16, 6, 16, 1, 4 }, { 16, 16, 6, 16, 1, 4 }, { 17, 16, 6, 16, 1, 4 }, { 18, 16, 7, 16, 1, 4 }, { 19, 16, 7, 16, 1, 4 }, - { 20, 16, 7, 16, 1, 4 }, { 21, 16, 7, 16, 1, 4 }, { 22, 16, 7, 16, 0, 4 }, { 23, 16, 7, 16, 0, 4 }, { 24, 16, 8, 16, 0, 4 }, - { 25, 16, 8, 16, 0, 4 }, { 26, 16, 8, 16, 0, 4 }, { 27, 16, 8, 16, 0, 4 }, { 28, 16, 8, 16, 0, 4 }, { 29, 16, 8, 16, 0, 4 }, - { 30, 16, 8, 16, 0, 4 }, { 31, 16, 8, 16, 0, 4 }, + 32, { + { 0, 16, 0, 16, 2, 4 }, { 1, 16, 0, 16, 2, 4 }, { 2, 16, 1, 16, 2, 4 }, { 3, 16, 1, 16, 2, 4 }, { 4, 16, 2, 16, 2, 4 }, + { 5, 16, 2, 16, 2, 4 }, { 6, 16, 3, 16, 2, 4 }, { 7, 16, 3, 16, 2, 4 }, { 8, 16, 4, 16, 1, 4 }, { 9, 16, 4, 16, 1, 4 }, + { 10, 16, 4, 16, 1, 4 }, { 11, 16, 5, 16, 1, 4 }, { 12, 16, 5, 16, 1, 4 }, { 13, 16, 5, 16, 1, 4 }, { 14, 16, 6, 16, 1, 4 }, + { 15, 16, 6, 16, 1, 4 }, { 16, 16, 6, 16, 1, 4 }, { 17, 16, 6, 16, 1, 4 }, { 18, 16, 7, 16, 1, 4 }, { 19, 16, 7, 16, 1, 4 }, + { 20, 16, 7, 16, 1, 4 }, { 21, 16, 7, 16, 1, 4 }, { 22, 16, 7, 16, 0, 4 }, { 23, 16, 7, 16, 0, 4 }, { 24, 16, 8, 16, 0, 4 }, + { 25, 16, 8, 16, 0, 4 }, { 26, 16, 8, 16, 0, 4 }, { 27, 16, 8, 16, 0, 4 }, { 28, 16, 8, 16, 0, 4 }, { 29, 16, 8, 16, 0, 4 }, + { 30, 16, 8, 16, 0, 4 }, { 31, 16, 8, 16, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_965D6C = { - 32, { - { 16, 31, 0, 24, 2, 4 }, { 16, 30, 1, 24, 2, 4 }, { 16, 29, 1, 24, 2, 4 }, { 16, 28, 2, 24, 2, 4 }, { 16, 27, 2, 24, 2, 4 }, - { 16, 26, 3, 24, 2, 4 }, { 16, 25, 3, 24, 2, 4 }, { 16, 24, 3, 24, 2, 4 }, { 16, 23, 4, 24, 1, 4 }, { 16, 22, 4, 24, 1, 4 }, - { 16, 21, 4, 24, 1, 4 }, { 16, 20, 5, 24, 1, 4 }, { 16, 19, 5, 24, 1, 4 }, { 16, 18, 5, 24, 1, 4 }, { 16, 17, 6, 24, 1, 4 }, - { 16, 16, 6, 24, 1, 4 }, { 16, 15, 6, 24, 1, 4 }, { 16, 14, 6, 24, 1, 4 }, { 16, 13, 7, 24, 1, 4 }, { 16, 12, 7, 24, 1, 4 }, - { 16, 11, 7, 24, 1, 4 }, { 16, 10, 7, 24, 1, 4 }, { 16, 9, 7, 24, 0, 4 }, { 16, 8, 7, 24, 0, 4 }, { 16, 7, 8, 24, 0, 4 }, - { 16, 6, 8, 24, 0, 4 }, { 16, 5, 8, 24, 0, 4 }, { 16, 4, 8, 24, 0, 4 }, { 16, 3, 8, 24, 0, 4 }, { 16, 2, 8, 24, 0, 4 }, - { 16, 1, 8, 24, 0, 4 }, { 16, 0, 8, 24, 0, 4 }, + 32, { + { 16, 31, 0, 24, 2, 4 }, { 16, 30, 1, 24, 2, 4 }, { 16, 29, 1, 24, 2, 4 }, { 16, 28, 2, 24, 2, 4 }, { 16, 27, 2, 24, 2, 4 }, + { 16, 26, 3, 24, 2, 4 }, { 16, 25, 3, 24, 2, 4 }, { 16, 24, 3, 24, 2, 4 }, { 16, 23, 4, 24, 1, 4 }, { 16, 22, 4, 24, 1, 4 }, + { 16, 21, 4, 24, 1, 4 }, { 16, 20, 5, 24, 1, 4 }, { 16, 19, 5, 24, 1, 4 }, { 16, 18, 5, 24, 1, 4 }, { 16, 17, 6, 24, 1, 4 }, + { 16, 16, 6, 24, 1, 4 }, { 16, 15, 6, 24, 1, 4 }, { 16, 14, 6, 24, 1, 4 }, { 16, 13, 7, 24, 1, 4 }, { 16, 12, 7, 24, 1, 4 }, + { 16, 11, 7, 24, 1, 4 }, { 16, 10, 7, 24, 1, 4 }, { 16, 9, 7, 24, 0, 4 }, { 16, 8, 7, 24, 0, 4 }, { 16, 7, 8, 24, 0, 4 }, + { 16, 6, 8, 24, 0, 4 }, { 16, 5, 8, 24, 0, 4 }, { 16, 4, 8, 24, 0, 4 }, { 16, 3, 8, 24, 0, 4 }, { 16, 2, 8, 24, 0, 4 }, + { 16, 1, 8, 24, 0, 4 }, { 16, 0, 8, 24, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9650F6 = { - 32, { - { 31, 16, 8, 0, 0, 2 }, { 30, 16, 8, 0, 0, 2 }, { 29, 16, 8, 0, 0, 2 }, { 28, 16, 8, 0, 0, 2 }, { 27, 16, 8, 0, 0, 2 }, - { 26, 16, 8, 0, 0, 2 }, { 25, 16, 8, 0, 0, 2 }, { 24, 16, 8, 0, 0, 2 }, { 23, 16, 7, 0, 5, 2 }, { 22, 16, 7, 0, 5, 2 }, - { 21, 16, 7, 0, 5, 2 }, { 20, 16, 7, 0, 5, 2 }, { 19, 16, 7, 0, 5, 2 }, { 18, 16, 7, 0, 5, 2 }, { 17, 16, 6, 0, 5, 2 }, - { 16, 16, 6, 0, 5, 2 }, { 15, 16, 6, 0, 5, 2 }, { 14, 16, 6, 0, 5, 2 }, { 13, 16, 5, 0, 5, 2 }, { 12, 16, 5, 0, 5, 2 }, - { 11, 16, 5, 0, 5, 2 }, { 10, 16, 4, 0, 5, 2 }, { 9, 16, 4, 0, 5, 2 }, { 8, 16, 4, 0, 5, 2 }, { 7, 16, 3, 0, 6, 2 }, - { 6, 16, 3, 0, 6, 2 }, { 5, 16, 2, 0, 6, 2 }, { 4, 16, 2, 0, 6, 2 }, { 3, 16, 1, 0, 6, 2 }, { 2, 16, 1, 0, 6, 2 }, - { 1, 16, 0, 0, 6, 2 }, { 0, 16, 0, 0, 6, 2 }, + 32, { + { 31, 16, 8, 0, 0, 2 }, { 30, 16, 8, 0, 0, 2 }, { 29, 16, 8, 0, 0, 2 }, { 28, 16, 8, 0, 0, 2 }, { 27, 16, 8, 0, 0, 2 }, + { 26, 16, 8, 0, 0, 2 }, { 25, 16, 8, 0, 0, 2 }, { 24, 16, 8, 0, 0, 2 }, { 23, 16, 7, 0, 5, 2 }, { 22, 16, 7, 0, 5, 2 }, + { 21, 16, 7, 0, 5, 2 }, { 20, 16, 7, 0, 5, 2 }, { 19, 16, 7, 0, 5, 2 }, { 18, 16, 7, 0, 5, 2 }, { 17, 16, 6, 0, 5, 2 }, + { 16, 16, 6, 0, 5, 2 }, { 15, 16, 6, 0, 5, 2 }, { 14, 16, 6, 0, 5, 2 }, { 13, 16, 5, 0, 5, 2 }, { 12, 16, 5, 0, 5, 2 }, + { 11, 16, 5, 0, 5, 2 }, { 10, 16, 4, 0, 5, 2 }, { 9, 16, 4, 0, 5, 2 }, { 8, 16, 4, 0, 5, 2 }, { 7, 16, 3, 0, 6, 2 }, + { 6, 16, 3, 0, 6, 2 }, { 5, 16, 2, 0, 6, 2 }, { 4, 16, 2, 0, 6, 2 }, { 3, 16, 1, 0, 6, 2 }, { 2, 16, 1, 0, 6, 2 }, + { 1, 16, 0, 0, 6, 2 }, { 0, 16, 0, 0, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_965218 = { - 32, { - { 16, 0, 8, 8, 0, 2 }, { 16, 1, 8, 8, 0, 2 }, { 16, 2, 8, 8, 0, 2 }, { 16, 3, 8, 8, 0, 2 }, { 16, 4, 8, 8, 0, 2 }, - { 16, 5, 8, 8, 0, 2 }, { 16, 6, 8, 8, 0, 2 }, { 16, 7, 8, 8, 0, 2 }, { 16, 8, 7, 8, 5, 2 }, { 16, 9, 7, 8, 5, 2 }, - { 16, 10, 7, 8, 5, 2 }, { 16, 11, 7, 8, 5, 2 }, { 16, 12, 7, 8, 5, 2 }, { 16, 13, 7, 8, 5, 2 }, { 16, 14, 6, 8, 5, 2 }, - { 16, 15, 6, 8, 5, 2 }, { 16, 16, 6, 8, 5, 2 }, { 16, 17, 6, 8, 5, 2 }, { 16, 18, 5, 8, 5, 2 }, { 16, 19, 5, 8, 5, 2 }, - { 16, 20, 5, 8, 5, 2 }, { 16, 21, 4, 8, 5, 2 }, { 16, 22, 4, 8, 5, 2 }, { 16, 23, 4, 8, 5, 2 }, { 16, 24, 3, 8, 6, 2 }, - { 16, 25, 3, 8, 6, 2 }, { 16, 26, 3, 8, 6, 2 }, { 16, 27, 2, 8, 6, 2 }, { 16, 28, 2, 8, 6, 2 }, { 16, 29, 1, 8, 6, 2 }, - { 16, 30, 1, 8, 6, 2 }, { 16, 31, 0, 8, 6, 2 }, + 32, { + { 16, 0, 8, 8, 0, 2 }, { 16, 1, 8, 8, 0, 2 }, { 16, 2, 8, 8, 0, 2 }, { 16, 3, 8, 8, 0, 2 }, { 16, 4, 8, 8, 0, 2 }, + { 16, 5, 8, 8, 0, 2 }, { 16, 6, 8, 8, 0, 2 }, { 16, 7, 8, 8, 0, 2 }, { 16, 8, 7, 8, 5, 2 }, { 16, 9, 7, 8, 5, 2 }, + { 16, 10, 7, 8, 5, 2 }, { 16, 11, 7, 8, 5, 2 }, { 16, 12, 7, 8, 5, 2 }, { 16, 13, 7, 8, 5, 2 }, { 16, 14, 6, 8, 5, 2 }, + { 16, 15, 6, 8, 5, 2 }, { 16, 16, 6, 8, 5, 2 }, { 16, 17, 6, 8, 5, 2 }, { 16, 18, 5, 8, 5, 2 }, { 16, 19, 5, 8, 5, 2 }, + { 16, 20, 5, 8, 5, 2 }, { 16, 21, 4, 8, 5, 2 }, { 16, 22, 4, 8, 5, 2 }, { 16, 23, 4, 8, 5, 2 }, { 16, 24, 3, 8, 6, 2 }, + { 16, 25, 3, 8, 6, 2 }, { 16, 26, 3, 8, 6, 2 }, { 16, 27, 2, 8, 6, 2 }, { 16, 28, 2, 8, 6, 2 }, { 16, 29, 1, 8, 6, 2 }, + { 16, 30, 1, 8, 6, 2 }, { 16, 31, 0, 8, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96533A = { - 32, { - { 0, 16, 8, 16, 0, 2 }, { 1, 16, 8, 16, 0, 2 }, { 2, 16, 8, 16, 0, 2 }, { 3, 16, 8, 16, 0, 2 }, { 4, 16, 8, 16, 0, 2 }, - { 5, 16, 8, 16, 0, 2 }, { 6, 16, 8, 16, 0, 2 }, { 7, 16, 8, 16, 0, 2 }, { 8, 16, 7, 16, 5, 2 }, { 9, 16, 7, 16, 5, 2 }, - { 10, 16, 7, 16, 5, 2 }, { 11, 16, 7, 16, 5, 2 }, { 12, 16, 7, 16, 5, 2 }, { 13, 16, 7, 16, 5, 2 }, { 14, 16, 6, 16, 5, 2 }, - { 15, 16, 6, 16, 5, 2 }, { 16, 16, 6, 16, 5, 2 }, { 17, 16, 6, 16, 5, 2 }, { 18, 16, 5, 16, 5, 2 }, { 19, 16, 5, 16, 5, 2 }, - { 20, 16, 5, 16, 5, 2 }, { 21, 16, 4, 16, 5, 2 }, { 22, 16, 4, 16, 5, 2 }, { 23, 16, 4, 16, 5, 2 }, { 24, 16, 3, 16, 6, 2 }, - { 25, 16, 3, 16, 6, 2 }, { 26, 16, 3, 16, 6, 2 }, { 27, 16, 2, 16, 6, 2 }, { 28, 16, 2, 16, 6, 2 }, { 29, 16, 1, 16, 6, 2 }, - { 30, 16, 1, 16, 6, 2 }, { 31, 16, 0, 16, 6, 2 }, + 32, { + { 0, 16, 8, 16, 0, 2 }, { 1, 16, 8, 16, 0, 2 }, { 2, 16, 8, 16, 0, 2 }, { 3, 16, 8, 16, 0, 2 }, { 4, 16, 8, 16, 0, 2 }, + { 5, 16, 8, 16, 0, 2 }, { 6, 16, 8, 16, 0, 2 }, { 7, 16, 8, 16, 0, 2 }, { 8, 16, 7, 16, 5, 2 }, { 9, 16, 7, 16, 5, 2 }, + { 10, 16, 7, 16, 5, 2 }, { 11, 16, 7, 16, 5, 2 }, { 12, 16, 7, 16, 5, 2 }, { 13, 16, 7, 16, 5, 2 }, { 14, 16, 6, 16, 5, 2 }, + { 15, 16, 6, 16, 5, 2 }, { 16, 16, 6, 16, 5, 2 }, { 17, 16, 6, 16, 5, 2 }, { 18, 16, 5, 16, 5, 2 }, { 19, 16, 5, 16, 5, 2 }, + { 20, 16, 5, 16, 5, 2 }, { 21, 16, 4, 16, 5, 2 }, { 22, 16, 4, 16, 5, 2 }, { 23, 16, 4, 16, 5, 2 }, { 24, 16, 3, 16, 6, 2 }, + { 25, 16, 3, 16, 6, 2 }, { 26, 16, 3, 16, 6, 2 }, { 27, 16, 2, 16, 6, 2 }, { 28, 16, 2, 16, 6, 2 }, { 29, 16, 1, 16, 6, 2 }, + { 30, 16, 1, 16, 6, 2 }, { 31, 16, 0, 16, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96545C = { - 32, { - { 16, 31, 8, 24, 0, 2 }, { 16, 30, 8, 24, 0, 2 }, { 16, 29, 8, 24, 0, 2 }, { 16, 28, 8, 24, 0, 2 }, { 16, 27, 8, 24, 0, 2 }, - { 16, 26, 8, 24, 0, 2 }, { 16, 25, 8, 24, 0, 2 }, { 16, 24, 8, 24, 0, 2 }, { 16, 23, 7, 24, 5, 2 }, { 16, 22, 7, 24, 5, 2 }, - { 16, 21, 7, 24, 5, 2 }, { 16, 20, 7, 24, 5, 2 }, { 16, 19, 7, 24, 5, 2 }, { 16, 18, 7, 24, 5, 2 }, { 16, 17, 6, 24, 5, 2 }, - { 16, 16, 6, 24, 5, 2 }, { 16, 15, 6, 24, 5, 2 }, { 16, 14, 6, 24, 5, 2 }, { 16, 13, 5, 24, 5, 2 }, { 16, 12, 5, 24, 5, 2 }, - { 16, 11, 5, 24, 5, 2 }, { 16, 10, 4, 24, 5, 2 }, { 16, 9, 4, 24, 5, 2 }, { 16, 8, 4, 24, 5, 2 }, { 16, 7, 3, 24, 6, 2 }, - { 16, 6, 3, 24, 6, 2 }, { 16, 5, 2, 24, 6, 2 }, { 16, 4, 2, 24, 6, 2 }, { 16, 3, 1, 24, 6, 2 }, { 16, 2, 1, 24, 6, 2 }, - { 16, 1, 0, 24, 6, 2 }, { 16, 0, 0, 24, 6, 2 }, + 32, { + { 16, 31, 8, 24, 0, 2 }, { 16, 30, 8, 24, 0, 2 }, { 16, 29, 8, 24, 0, 2 }, { 16, 28, 8, 24, 0, 2 }, { 16, 27, 8, 24, 0, 2 }, + { 16, 26, 8, 24, 0, 2 }, { 16, 25, 8, 24, 0, 2 }, { 16, 24, 8, 24, 0, 2 }, { 16, 23, 7, 24, 5, 2 }, { 16, 22, 7, 24, 5, 2 }, + { 16, 21, 7, 24, 5, 2 }, { 16, 20, 7, 24, 5, 2 }, { 16, 19, 7, 24, 5, 2 }, { 16, 18, 7, 24, 5, 2 }, { 16, 17, 6, 24, 5, 2 }, + { 16, 16, 6, 24, 5, 2 }, { 16, 15, 6, 24, 5, 2 }, { 16, 14, 6, 24, 5, 2 }, { 16, 13, 5, 24, 5, 2 }, { 16, 12, 5, 24, 5, 2 }, + { 16, 11, 5, 24, 5, 2 }, { 16, 10, 4, 24, 5, 2 }, { 16, 9, 4, 24, 5, 2 }, { 16, 8, 4, 24, 5, 2 }, { 16, 7, 3, 24, 6, 2 }, + { 16, 6, 3, 24, 6, 2 }, { 16, 5, 2, 24, 6, 2 }, { 16, 4, 2, 24, 6, 2 }, { 16, 3, 1, 24, 6, 2 }, { 16, 2, 1, 24, 6, 2 }, + { 16, 1, 0, 24, 6, 2 }, { 16, 0, 0, 24, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_966316 = { - 32, { - { 31, 16, 8, 0, 0, 4 }, { 30, 16, 8, 0, 0, 4 }, { 29, 16, 8, 0, 0, 4 }, { 28, 16, 8, 0, 0, 4 }, { 27, 16, 8, 0, 0, 4 }, - { 26, 16, 8, 0, 0, 4 }, { 25, 16, 8, 0, 0, 4 }, { 24, 16, 8, 0, 0, 4 }, { 23, 16, 7, 0, 5, 4 }, { 22, 16, 7, 0, 5, 4 }, - { 21, 16, 7, 0, 5, 4 }, { 20, 16, 7, 0, 5, 4 }, { 19, 16, 7, 0, 5, 4 }, { 18, 16, 7, 0, 5, 4 }, { 17, 16, 6, 0, 5, 4 }, - { 16, 16, 6, 0, 5, 4 }, { 15, 16, 6, 0, 5, 4 }, { 14, 16, 6, 0, 5, 4 }, { 13, 16, 5, 0, 5, 4 }, { 12, 16, 5, 0, 5, 4 }, - { 11, 16, 5, 0, 5, 4 }, { 10, 16, 4, 0, 5, 4 }, { 9, 16, 4, 0, 5, 4 }, { 8, 16, 4, 0, 5, 4 }, { 7, 16, 3, 0, 6, 4 }, - { 6, 16, 3, 0, 6, 4 }, { 5, 16, 2, 0, 6, 4 }, { 4, 16, 2, 0, 6, 4 }, { 3, 16, 1, 0, 6, 4 }, { 2, 16, 1, 0, 6, 4 }, - { 1, 16, 0, 0, 6, 4 }, { 0, 16, 0, 0, 6, 4 }, + 32, { + { 31, 16, 8, 0, 0, 4 }, { 30, 16, 8, 0, 0, 4 }, { 29, 16, 8, 0, 0, 4 }, { 28, 16, 8, 0, 0, 4 }, { 27, 16, 8, 0, 0, 4 }, + { 26, 16, 8, 0, 0, 4 }, { 25, 16, 8, 0, 0, 4 }, { 24, 16, 8, 0, 0, 4 }, { 23, 16, 7, 0, 5, 4 }, { 22, 16, 7, 0, 5, 4 }, + { 21, 16, 7, 0, 5, 4 }, { 20, 16, 7, 0, 5, 4 }, { 19, 16, 7, 0, 5, 4 }, { 18, 16, 7, 0, 5, 4 }, { 17, 16, 6, 0, 5, 4 }, + { 16, 16, 6, 0, 5, 4 }, { 15, 16, 6, 0, 5, 4 }, { 14, 16, 6, 0, 5, 4 }, { 13, 16, 5, 0, 5, 4 }, { 12, 16, 5, 0, 5, 4 }, + { 11, 16, 5, 0, 5, 4 }, { 10, 16, 4, 0, 5, 4 }, { 9, 16, 4, 0, 5, 4 }, { 8, 16, 4, 0, 5, 4 }, { 7, 16, 3, 0, 6, 4 }, + { 6, 16, 3, 0, 6, 4 }, { 5, 16, 2, 0, 6, 4 }, { 4, 16, 2, 0, 6, 4 }, { 3, 16, 1, 0, 6, 4 }, { 2, 16, 1, 0, 6, 4 }, + { 1, 16, 0, 0, 6, 4 }, { 0, 16, 0, 0, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_966438 = { - 32, { - { 16, 0, 8, 8, 0, 4 }, { 16, 1, 8, 8, 0, 4 }, { 16, 2, 8, 8, 0, 4 }, { 16, 3, 8, 8, 0, 4 }, { 16, 4, 8, 8, 0, 4 }, - { 16, 5, 8, 8, 0, 4 }, { 16, 6, 8, 8, 0, 4 }, { 16, 7, 8, 8, 0, 4 }, { 16, 8, 7, 8, 5, 4 }, { 16, 9, 7, 8, 5, 4 }, - { 16, 10, 7, 8, 5, 4 }, { 16, 11, 7, 8, 5, 4 }, { 16, 12, 7, 8, 5, 4 }, { 16, 13, 7, 8, 5, 4 }, { 16, 14, 6, 8, 5, 4 }, - { 16, 15, 6, 8, 5, 4 }, { 16, 16, 6, 8, 5, 4 }, { 16, 17, 6, 8, 5, 4 }, { 16, 18, 5, 8, 5, 4 }, { 16, 19, 5, 8, 5, 4 }, - { 16, 20, 5, 8, 5, 4 }, { 16, 21, 4, 8, 5, 4 }, { 16, 22, 4, 8, 5, 4 }, { 16, 23, 4, 8, 5, 4 }, { 16, 24, 3, 8, 6, 4 }, - { 16, 25, 3, 8, 6, 4 }, { 16, 26, 3, 8, 6, 4 }, { 16, 27, 2, 8, 6, 4 }, { 16, 28, 2, 8, 6, 4 }, { 16, 29, 1, 8, 6, 4 }, - { 16, 30, 1, 8, 6, 4 }, { 16, 31, 0, 8, 6, 4 }, + 32, { + { 16, 0, 8, 8, 0, 4 }, { 16, 1, 8, 8, 0, 4 }, { 16, 2, 8, 8, 0, 4 }, { 16, 3, 8, 8, 0, 4 }, { 16, 4, 8, 8, 0, 4 }, + { 16, 5, 8, 8, 0, 4 }, { 16, 6, 8, 8, 0, 4 }, { 16, 7, 8, 8, 0, 4 }, { 16, 8, 7, 8, 5, 4 }, { 16, 9, 7, 8, 5, 4 }, + { 16, 10, 7, 8, 5, 4 }, { 16, 11, 7, 8, 5, 4 }, { 16, 12, 7, 8, 5, 4 }, { 16, 13, 7, 8, 5, 4 }, { 16, 14, 6, 8, 5, 4 }, + { 16, 15, 6, 8, 5, 4 }, { 16, 16, 6, 8, 5, 4 }, { 16, 17, 6, 8, 5, 4 }, { 16, 18, 5, 8, 5, 4 }, { 16, 19, 5, 8, 5, 4 }, + { 16, 20, 5, 8, 5, 4 }, { 16, 21, 4, 8, 5, 4 }, { 16, 22, 4, 8, 5, 4 }, { 16, 23, 4, 8, 5, 4 }, { 16, 24, 3, 8, 6, 4 }, + { 16, 25, 3, 8, 6, 4 }, { 16, 26, 3, 8, 6, 4 }, { 16, 27, 2, 8, 6, 4 }, { 16, 28, 2, 8, 6, 4 }, { 16, 29, 1, 8, 6, 4 }, + { 16, 30, 1, 8, 6, 4 }, { 16, 31, 0, 8, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96655A = { - 32, { - { 0, 16, 8, 16, 0, 4 }, { 1, 16, 8, 16, 0, 4 }, { 2, 16, 8, 16, 0, 4 }, { 3, 16, 8, 16, 0, 4 }, { 4, 16, 8, 16, 0, 4 }, - { 5, 16, 8, 16, 0, 4 }, { 6, 16, 8, 16, 0, 4 }, { 7, 16, 8, 16, 0, 4 }, { 8, 16, 7, 16, 5, 4 }, { 9, 16, 7, 16, 5, 4 }, - { 10, 16, 7, 16, 5, 4 }, { 11, 16, 7, 16, 5, 4 }, { 12, 16, 7, 16, 5, 4 }, { 13, 16, 7, 16, 5, 4 }, { 14, 16, 6, 16, 5, 4 }, - { 15, 16, 6, 16, 5, 4 }, { 16, 16, 6, 16, 5, 4 }, { 17, 16, 6, 16, 5, 4 }, { 18, 16, 5, 16, 5, 4 }, { 19, 16, 5, 16, 5, 4 }, - { 20, 16, 5, 16, 5, 4 }, { 21, 16, 4, 16, 5, 4 }, { 22, 16, 4, 16, 5, 4 }, { 23, 16, 4, 16, 5, 4 }, { 24, 16, 3, 16, 6, 4 }, - { 25, 16, 3, 16, 6, 4 }, { 26, 16, 3, 16, 6, 4 }, { 27, 16, 2, 16, 6, 4 }, { 28, 16, 2, 16, 6, 4 }, { 29, 16, 1, 16, 6, 4 }, - { 30, 16, 1, 16, 6, 4 }, { 31, 16, 0, 16, 6, 4 }, + 32, { + { 0, 16, 8, 16, 0, 4 }, { 1, 16, 8, 16, 0, 4 }, { 2, 16, 8, 16, 0, 4 }, { 3, 16, 8, 16, 0, 4 }, { 4, 16, 8, 16, 0, 4 }, + { 5, 16, 8, 16, 0, 4 }, { 6, 16, 8, 16, 0, 4 }, { 7, 16, 8, 16, 0, 4 }, { 8, 16, 7, 16, 5, 4 }, { 9, 16, 7, 16, 5, 4 }, + { 10, 16, 7, 16, 5, 4 }, { 11, 16, 7, 16, 5, 4 }, { 12, 16, 7, 16, 5, 4 }, { 13, 16, 7, 16, 5, 4 }, { 14, 16, 6, 16, 5, 4 }, + { 15, 16, 6, 16, 5, 4 }, { 16, 16, 6, 16, 5, 4 }, { 17, 16, 6, 16, 5, 4 }, { 18, 16, 5, 16, 5, 4 }, { 19, 16, 5, 16, 5, 4 }, + { 20, 16, 5, 16, 5, 4 }, { 21, 16, 4, 16, 5, 4 }, { 22, 16, 4, 16, 5, 4 }, { 23, 16, 4, 16, 5, 4 }, { 24, 16, 3, 16, 6, 4 }, + { 25, 16, 3, 16, 6, 4 }, { 26, 16, 3, 16, 6, 4 }, { 27, 16, 2, 16, 6, 4 }, { 28, 16, 2, 16, 6, 4 }, { 29, 16, 1, 16, 6, 4 }, + { 30, 16, 1, 16, 6, 4 }, { 31, 16, 0, 16, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96667C = { - 32, { - { 16, 31, 8, 24, 0, 4 }, { 16, 30, 8, 24, 0, 4 }, { 16, 29, 8, 24, 0, 4 }, { 16, 28, 8, 24, 0, 4 }, { 16, 27, 8, 24, 0, 4 }, - { 16, 26, 8, 24, 0, 4 }, { 16, 25, 8, 24, 0, 4 }, { 16, 24, 8, 24, 0, 4 }, { 16, 23, 7, 24, 5, 4 }, { 16, 22, 7, 24, 5, 4 }, - { 16, 21, 7, 24, 5, 4 }, { 16, 20, 7, 24, 5, 4 }, { 16, 19, 7, 24, 5, 4 }, { 16, 18, 7, 24, 5, 4 }, { 16, 17, 6, 24, 5, 4 }, - { 16, 16, 6, 24, 5, 4 }, { 16, 15, 6, 24, 5, 4 }, { 16, 14, 6, 24, 5, 4 }, { 16, 13, 5, 24, 5, 4 }, { 16, 12, 5, 24, 5, 4 }, - { 16, 11, 5, 24, 5, 4 }, { 16, 10, 4, 24, 5, 4 }, { 16, 9, 4, 24, 5, 4 }, { 16, 8, 4, 24, 5, 4 }, { 16, 7, 3, 24, 6, 4 }, - { 16, 6, 3, 24, 6, 4 }, { 16, 5, 2, 24, 6, 4 }, { 16, 4, 2, 24, 6, 4 }, { 16, 3, 1, 24, 6, 4 }, { 16, 2, 1, 24, 6, 4 }, - { 16, 1, 0, 24, 6, 4 }, { 16, 0, 0, 24, 6, 4 }, + 32, { + { 16, 31, 8, 24, 0, 4 }, { 16, 30, 8, 24, 0, 4 }, { 16, 29, 8, 24, 0, 4 }, { 16, 28, 8, 24, 0, 4 }, { 16, 27, 8, 24, 0, 4 }, + { 16, 26, 8, 24, 0, 4 }, { 16, 25, 8, 24, 0, 4 }, { 16, 24, 8, 24, 0, 4 }, { 16, 23, 7, 24, 5, 4 }, { 16, 22, 7, 24, 5, 4 }, + { 16, 21, 7, 24, 5, 4 }, { 16, 20, 7, 24, 5, 4 }, { 16, 19, 7, 24, 5, 4 }, { 16, 18, 7, 24, 5, 4 }, { 16, 17, 6, 24, 5, 4 }, + { 16, 16, 6, 24, 5, 4 }, { 16, 15, 6, 24, 5, 4 }, { 16, 14, 6, 24, 5, 4 }, { 16, 13, 5, 24, 5, 4 }, { 16, 12, 5, 24, 5, 4 }, + { 16, 11, 5, 24, 5, 4 }, { 16, 10, 4, 24, 5, 4 }, { 16, 9, 4, 24, 5, 4 }, { 16, 8, 4, 24, 5, 4 }, { 16, 7, 3, 24, 6, 4 }, + { 16, 6, 3, 24, 6, 4 }, { 16, 5, 2, 24, 6, 4 }, { 16, 4, 2, 24, 6, 4 }, { 16, 3, 1, 24, 6, 4 }, { 16, 2, 1, 24, 6, 4 }, + { 16, 1, 0, 24, 6, 4 }, { 16, 0, 0, 24, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_964C6E = { - 32, { - { 31, 16, 7, 0, 6, 2 }, { 30, 16, 7, 0, 6, 2 }, { 29, 16, 6, 0, 6, 2 }, { 28, 16, 6, 0, 6, 2 }, { 27, 16, 5, 0, 6, 2 }, - { 26, 16, 5, 0, 6, 2 }, { 25, 16, 4, 0, 6, 2 }, { 24, 16, 4, 0, 6, 2 }, { 23, 16, 4, 0, 5, 2 }, { 22, 16, 3, 0, 5, 2 }, - { 21, 16, 3, 0, 5, 2 }, { 20, 16, 3, 0, 5, 2 }, { 19, 16, 2, 0, 5, 2 }, { 18, 16, 2, 0, 5, 2 }, { 17, 16, 2, 0, 5, 2 }, - { 16, 16, 2, 0, 5, 2 }, { 15, 16, 1, 0, 5, 2 }, { 14, 16, 1, 0, 5, 2 }, { 13, 16, 1, 0, 5, 2 }, { 12, 16, 1, 0, 5, 2 }, - { 11, 16, 1, 0, 5, 2 }, { 10, 16, 1, 0, 5, 2 }, { 9, 16, 0, 0, 0, 2 }, { 8, 16, 0, 0, 0, 2 }, { 7, 16, 0, 0, 0, 2 }, - { 6, 16, 0, 0, 0, 2 }, { 5, 16, 0, 0, 0, 2 }, { 4, 16, 0, 0, 0, 2 }, { 3, 16, 0, 0, 0, 2 }, { 2, 16, 0, 0, 0, 2 }, - { 1, 16, 0, 0, 0, 2 }, { 0, 16, 0, 0, 0, 2 }, + 32, { + { 31, 16, 7, 0, 6, 2 }, { 30, 16, 7, 0, 6, 2 }, { 29, 16, 6, 0, 6, 2 }, { 28, 16, 6, 0, 6, 2 }, { 27, 16, 5, 0, 6, 2 }, + { 26, 16, 5, 0, 6, 2 }, { 25, 16, 4, 0, 6, 2 }, { 24, 16, 4, 0, 6, 2 }, { 23, 16, 4, 0, 5, 2 }, { 22, 16, 3, 0, 5, 2 }, + { 21, 16, 3, 0, 5, 2 }, { 20, 16, 3, 0, 5, 2 }, { 19, 16, 2, 0, 5, 2 }, { 18, 16, 2, 0, 5, 2 }, { 17, 16, 2, 0, 5, 2 }, + { 16, 16, 2, 0, 5, 2 }, { 15, 16, 1, 0, 5, 2 }, { 14, 16, 1, 0, 5, 2 }, { 13, 16, 1, 0, 5, 2 }, { 12, 16, 1, 0, 5, 2 }, + { 11, 16, 1, 0, 5, 2 }, { 10, 16, 1, 0, 5, 2 }, { 9, 16, 0, 0, 0, 2 }, { 8, 16, 0, 0, 0, 2 }, { 7, 16, 0, 0, 0, 2 }, + { 6, 16, 0, 0, 0, 2 }, { 5, 16, 0, 0, 0, 2 }, { 4, 16, 0, 0, 0, 2 }, { 3, 16, 0, 0, 0, 2 }, { 2, 16, 0, 0, 0, 2 }, + { 1, 16, 0, 0, 0, 2 }, { 0, 16, 0, 0, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_964D90 = { - 32, { - { 16, 0, 8, 8, 6, 2 }, { 16, 1, 7, 8, 6, 2 }, { 16, 2, 7, 8, 6, 2 }, { 16, 3, 6, 8, 6, 2 }, { 16, 4, 6, 8, 6, 2 }, - { 16, 5, 5, 8, 6, 2 }, { 16, 6, 5, 8, 6, 2 }, { 16, 7, 4, 8, 6, 2 }, { 16, 8, 4, 8, 5, 2 }, { 16, 9, 3, 8, 5, 2 }, - { 16, 10, 3, 8, 5, 2 }, { 16, 11, 3, 8, 5, 2 }, { 16, 12, 2, 8, 5, 2 }, { 16, 13, 2, 8, 5, 2 }, { 16, 14, 2, 8, 5, 2 }, - { 16, 15, 2, 8, 5, 2 }, { 16, 16, 1, 8, 5, 2 }, { 16, 17, 1, 8, 5, 2 }, { 16, 18, 1, 8, 5, 2 }, { 16, 19, 1, 8, 5, 2 }, - { 16, 20, 1, 8, 5, 2 }, { 16, 21, 1, 8, 5, 2 }, { 16, 22, 0, 8, 0, 2 }, { 16, 23, 0, 8, 0, 2 }, { 16, 24, 0, 8, 0, 2 }, - { 16, 25, 0, 8, 0, 2 }, { 16, 26, 0, 8, 0, 2 }, { 16, 27, 0, 8, 0, 2 }, { 16, 28, 0, 8, 0, 2 }, { 16, 29, 0, 8, 0, 2 }, - { 16, 30, 0, 8, 0, 2 }, { 16, 31, 0, 8, 0, 2 }, + 32, { + { 16, 0, 8, 8, 6, 2 }, { 16, 1, 7, 8, 6, 2 }, { 16, 2, 7, 8, 6, 2 }, { 16, 3, 6, 8, 6, 2 }, { 16, 4, 6, 8, 6, 2 }, + { 16, 5, 5, 8, 6, 2 }, { 16, 6, 5, 8, 6, 2 }, { 16, 7, 4, 8, 6, 2 }, { 16, 8, 4, 8, 5, 2 }, { 16, 9, 3, 8, 5, 2 }, + { 16, 10, 3, 8, 5, 2 }, { 16, 11, 3, 8, 5, 2 }, { 16, 12, 2, 8, 5, 2 }, { 16, 13, 2, 8, 5, 2 }, { 16, 14, 2, 8, 5, 2 }, + { 16, 15, 2, 8, 5, 2 }, { 16, 16, 1, 8, 5, 2 }, { 16, 17, 1, 8, 5, 2 }, { 16, 18, 1, 8, 5, 2 }, { 16, 19, 1, 8, 5, 2 }, + { 16, 20, 1, 8, 5, 2 }, { 16, 21, 1, 8, 5, 2 }, { 16, 22, 0, 8, 0, 2 }, { 16, 23, 0, 8, 0, 2 }, { 16, 24, 0, 8, 0, 2 }, + { 16, 25, 0, 8, 0, 2 }, { 16, 26, 0, 8, 0, 2 }, { 16, 27, 0, 8, 0, 2 }, { 16, 28, 0, 8, 0, 2 }, { 16, 29, 0, 8, 0, 2 }, + { 16, 30, 0, 8, 0, 2 }, { 16, 31, 0, 8, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_964EB2 = { - 32, { - { 0, 16, 8, 16, 6, 2 }, { 1, 16, 7, 16, 6, 2 }, { 2, 16, 7, 16, 6, 2 }, { 3, 16, 6, 16, 6, 2 }, { 4, 16, 6, 16, 6, 2 }, - { 5, 16, 5, 16, 6, 2 }, { 6, 16, 5, 16, 6, 2 }, { 7, 16, 4, 16, 6, 2 }, { 8, 16, 4, 16, 5, 2 }, { 9, 16, 3, 16, 5, 2 }, - { 10, 16, 3, 16, 5, 2 }, { 11, 16, 3, 16, 5, 2 }, { 12, 16, 2, 16, 5, 2 }, { 13, 16, 2, 16, 5, 2 }, { 14, 16, 2, 16, 5, 2 }, - { 15, 16, 2, 16, 5, 2 }, { 16, 16, 1, 16, 5, 2 }, { 17, 16, 1, 16, 5, 2 }, { 18, 16, 1, 16, 5, 2 }, { 19, 16, 1, 16, 5, 2 }, - { 20, 16, 1, 16, 5, 2 }, { 21, 16, 1, 16, 5, 2 }, { 22, 16, 0, 16, 0, 2 }, { 23, 16, 0, 16, 0, 2 }, { 24, 16, 0, 16, 0, 2 }, - { 25, 16, 0, 16, 0, 2 }, { 26, 16, 0, 16, 0, 2 }, { 27, 16, 0, 16, 0, 2 }, { 28, 16, 0, 16, 0, 2 }, { 29, 16, 0, 16, 0, 2 }, - { 30, 16, 0, 16, 0, 2 }, { 31, 16, 0, 16, 0, 2 }, + 32, { + { 0, 16, 8, 16, 6, 2 }, { 1, 16, 7, 16, 6, 2 }, { 2, 16, 7, 16, 6, 2 }, { 3, 16, 6, 16, 6, 2 }, { 4, 16, 6, 16, 6, 2 }, + { 5, 16, 5, 16, 6, 2 }, { 6, 16, 5, 16, 6, 2 }, { 7, 16, 4, 16, 6, 2 }, { 8, 16, 4, 16, 5, 2 }, { 9, 16, 3, 16, 5, 2 }, + { 10, 16, 3, 16, 5, 2 }, { 11, 16, 3, 16, 5, 2 }, { 12, 16, 2, 16, 5, 2 }, { 13, 16, 2, 16, 5, 2 }, { 14, 16, 2, 16, 5, 2 }, + { 15, 16, 2, 16, 5, 2 }, { 16, 16, 1, 16, 5, 2 }, { 17, 16, 1, 16, 5, 2 }, { 18, 16, 1, 16, 5, 2 }, { 19, 16, 1, 16, 5, 2 }, + { 20, 16, 1, 16, 5, 2 }, { 21, 16, 1, 16, 5, 2 }, { 22, 16, 0, 16, 0, 2 }, { 23, 16, 0, 16, 0, 2 }, { 24, 16, 0, 16, 0, 2 }, + { 25, 16, 0, 16, 0, 2 }, { 26, 16, 0, 16, 0, 2 }, { 27, 16, 0, 16, 0, 2 }, { 28, 16, 0, 16, 0, 2 }, { 29, 16, 0, 16, 0, 2 }, + { 30, 16, 0, 16, 0, 2 }, { 31, 16, 0, 16, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_964FD4 = { - 32, { - { 16, 31, 7, 24, 6, 2 }, { 16, 30, 7, 24, 6, 2 }, { 16, 29, 6, 24, 6, 2 }, { 16, 28, 6, 24, 6, 2 }, { 16, 27, 5, 24, 6, 2 }, - { 16, 26, 5, 24, 6, 2 }, { 16, 25, 4, 24, 6, 2 }, { 16, 24, 4, 24, 6, 2 }, { 16, 23, 4, 24, 5, 2 }, { 16, 22, 3, 24, 5, 2 }, - { 16, 21, 3, 24, 5, 2 }, { 16, 20, 3, 24, 5, 2 }, { 16, 19, 2, 24, 5, 2 }, { 16, 18, 2, 24, 5, 2 }, { 16, 17, 2, 24, 5, 2 }, - { 16, 16, 2, 24, 5, 2 }, { 16, 15, 1, 24, 5, 2 }, { 16, 14, 1, 24, 5, 2 }, { 16, 13, 1, 24, 5, 2 }, { 16, 12, 1, 24, 5, 2 }, - { 16, 11, 1, 24, 5, 2 }, { 16, 10, 1, 24, 5, 2 }, { 16, 9, 0, 24, 0, 2 }, { 16, 8, 0, 24, 0, 2 }, { 16, 7, 0, 24, 0, 2 }, - { 16, 6, 0, 24, 0, 2 }, { 16, 5, 0, 24, 0, 2 }, { 16, 4, 0, 24, 0, 2 }, { 16, 3, 0, 24, 0, 2 }, { 16, 2, 0, 24, 0, 2 }, - { 16, 1, 0, 24, 0, 2 }, { 16, 0, 0, 24, 0, 2 }, + 32, { + { 16, 31, 7, 24, 6, 2 }, { 16, 30, 7, 24, 6, 2 }, { 16, 29, 6, 24, 6, 2 }, { 16, 28, 6, 24, 6, 2 }, { 16, 27, 5, 24, 6, 2 }, + { 16, 26, 5, 24, 6, 2 }, { 16, 25, 4, 24, 6, 2 }, { 16, 24, 4, 24, 6, 2 }, { 16, 23, 4, 24, 5, 2 }, { 16, 22, 3, 24, 5, 2 }, + { 16, 21, 3, 24, 5, 2 }, { 16, 20, 3, 24, 5, 2 }, { 16, 19, 2, 24, 5, 2 }, { 16, 18, 2, 24, 5, 2 }, { 16, 17, 2, 24, 5, 2 }, + { 16, 16, 2, 24, 5, 2 }, { 16, 15, 1, 24, 5, 2 }, { 16, 14, 1, 24, 5, 2 }, { 16, 13, 1, 24, 5, 2 }, { 16, 12, 1, 24, 5, 2 }, + { 16, 11, 1, 24, 5, 2 }, { 16, 10, 1, 24, 5, 2 }, { 16, 9, 0, 24, 0, 2 }, { 16, 8, 0, 24, 0, 2 }, { 16, 7, 0, 24, 0, 2 }, + { 16, 6, 0, 24, 0, 2 }, { 16, 5, 0, 24, 0, 2 }, { 16, 4, 0, 24, 0, 2 }, { 16, 3, 0, 24, 0, 2 }, { 16, 2, 0, 24, 0, 2 }, + { 16, 1, 0, 24, 0, 2 }, { 16, 0, 0, 24, 0, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_965E8E = { - 32, { - { 31, 16, 7, 0, 6, 4 }, { 30, 16, 7, 0, 6, 4 }, { 29, 16, 6, 0, 6, 4 }, { 28, 16, 6, 0, 6, 4 }, { 27, 16, 5, 0, 6, 4 }, - { 26, 16, 5, 0, 6, 4 }, { 25, 16, 4, 0, 6, 4 }, { 24, 16, 4, 0, 6, 4 }, { 23, 16, 4, 0, 5, 4 }, { 22, 16, 3, 0, 5, 4 }, - { 21, 16, 3, 0, 5, 4 }, { 20, 16, 3, 0, 5, 4 }, { 19, 16, 2, 0, 5, 4 }, { 18, 16, 2, 0, 5, 4 }, { 17, 16, 2, 0, 5, 4 }, - { 16, 16, 2, 0, 5, 4 }, { 15, 16, 1, 0, 5, 4 }, { 14, 16, 1, 0, 5, 4 }, { 13, 16, 1, 0, 5, 4 }, { 12, 16, 1, 0, 5, 4 }, - { 11, 16, 1, 0, 5, 4 }, { 10, 16, 1, 0, 5, 4 }, { 9, 16, 0, 0, 0, 4 }, { 8, 16, 0, 0, 0, 4 }, { 7, 16, 0, 0, 0, 4 }, - { 6, 16, 0, 0, 0, 4 }, { 5, 16, 0, 0, 0, 4 }, { 4, 16, 0, 0, 0, 4 }, { 3, 16, 0, 0, 0, 4 }, { 2, 16, 0, 0, 0, 4 }, - { 1, 16, 0, 0, 0, 4 }, { 0, 16, 0, 0, 0, 4 }, + 32, { + { 31, 16, 7, 0, 6, 4 }, { 30, 16, 7, 0, 6, 4 }, { 29, 16, 6, 0, 6, 4 }, { 28, 16, 6, 0, 6, 4 }, { 27, 16, 5, 0, 6, 4 }, + { 26, 16, 5, 0, 6, 4 }, { 25, 16, 4, 0, 6, 4 }, { 24, 16, 4, 0, 6, 4 }, { 23, 16, 4, 0, 5, 4 }, { 22, 16, 3, 0, 5, 4 }, + { 21, 16, 3, 0, 5, 4 }, { 20, 16, 3, 0, 5, 4 }, { 19, 16, 2, 0, 5, 4 }, { 18, 16, 2, 0, 5, 4 }, { 17, 16, 2, 0, 5, 4 }, + { 16, 16, 2, 0, 5, 4 }, { 15, 16, 1, 0, 5, 4 }, { 14, 16, 1, 0, 5, 4 }, { 13, 16, 1, 0, 5, 4 }, { 12, 16, 1, 0, 5, 4 }, + { 11, 16, 1, 0, 5, 4 }, { 10, 16, 1, 0, 5, 4 }, { 9, 16, 0, 0, 0, 4 }, { 8, 16, 0, 0, 0, 4 }, { 7, 16, 0, 0, 0, 4 }, + { 6, 16, 0, 0, 0, 4 }, { 5, 16, 0, 0, 0, 4 }, { 4, 16, 0, 0, 0, 4 }, { 3, 16, 0, 0, 0, 4 }, { 2, 16, 0, 0, 0, 4 }, + { 1, 16, 0, 0, 0, 4 }, { 0, 16, 0, 0, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_965FB0 = { - 32, { - { 16, 0, 8, 8, 6, 4 }, { 16, 1, 7, 8, 6, 4 }, { 16, 2, 7, 8, 6, 4 }, { 16, 3, 6, 8, 6, 4 }, { 16, 4, 6, 8, 6, 4 }, - { 16, 5, 5, 8, 6, 4 }, { 16, 6, 5, 8, 6, 4 }, { 16, 7, 4, 8, 6, 4 }, { 16, 8, 4, 8, 5, 4 }, { 16, 9, 3, 8, 5, 4 }, - { 16, 10, 3, 8, 5, 4 }, { 16, 11, 3, 8, 5, 4 }, { 16, 12, 2, 8, 5, 4 }, { 16, 13, 2, 8, 5, 4 }, { 16, 14, 2, 8, 5, 4 }, - { 16, 15, 2, 8, 5, 4 }, { 16, 16, 1, 8, 5, 4 }, { 16, 17, 1, 8, 5, 4 }, { 16, 18, 1, 8, 5, 4 }, { 16, 19, 1, 8, 5, 4 }, - { 16, 20, 1, 8, 5, 4 }, { 16, 21, 1, 8, 5, 4 }, { 16, 22, 0, 8, 0, 4 }, { 16, 23, 0, 8, 0, 4 }, { 16, 24, 0, 8, 0, 4 }, - { 16, 25, 0, 8, 0, 4 }, { 16, 26, 0, 8, 0, 4 }, { 16, 27, 0, 8, 0, 4 }, { 16, 28, 0, 8, 0, 4 }, { 16, 29, 0, 8, 0, 4 }, - { 16, 30, 0, 8, 0, 4 }, { 16, 31, 0, 8, 0, 4 }, + 32, { + { 16, 0, 8, 8, 6, 4 }, { 16, 1, 7, 8, 6, 4 }, { 16, 2, 7, 8, 6, 4 }, { 16, 3, 6, 8, 6, 4 }, { 16, 4, 6, 8, 6, 4 }, + { 16, 5, 5, 8, 6, 4 }, { 16, 6, 5, 8, 6, 4 }, { 16, 7, 4, 8, 6, 4 }, { 16, 8, 4, 8, 5, 4 }, { 16, 9, 3, 8, 5, 4 }, + { 16, 10, 3, 8, 5, 4 }, { 16, 11, 3, 8, 5, 4 }, { 16, 12, 2, 8, 5, 4 }, { 16, 13, 2, 8, 5, 4 }, { 16, 14, 2, 8, 5, 4 }, + { 16, 15, 2, 8, 5, 4 }, { 16, 16, 1, 8, 5, 4 }, { 16, 17, 1, 8, 5, 4 }, { 16, 18, 1, 8, 5, 4 }, { 16, 19, 1, 8, 5, 4 }, + { 16, 20, 1, 8, 5, 4 }, { 16, 21, 1, 8, 5, 4 }, { 16, 22, 0, 8, 0, 4 }, { 16, 23, 0, 8, 0, 4 }, { 16, 24, 0, 8, 0, 4 }, + { 16, 25, 0, 8, 0, 4 }, { 16, 26, 0, 8, 0, 4 }, { 16, 27, 0, 8, 0, 4 }, { 16, 28, 0, 8, 0, 4 }, { 16, 29, 0, 8, 0, 4 }, + { 16, 30, 0, 8, 0, 4 }, { 16, 31, 0, 8, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9660D2 = { - 32, { - { 0, 16, 8, 16, 6, 4 }, { 1, 16, 7, 16, 6, 4 }, { 2, 16, 7, 16, 6, 4 }, { 3, 16, 6, 16, 6, 4 }, { 4, 16, 6, 16, 6, 4 }, - { 5, 16, 5, 16, 6, 4 }, { 6, 16, 5, 16, 6, 4 }, { 7, 16, 4, 16, 6, 4 }, { 8, 16, 4, 16, 5, 4 }, { 9, 16, 3, 16, 5, 4 }, - { 10, 16, 3, 16, 5, 4 }, { 11, 16, 3, 16, 5, 4 }, { 12, 16, 2, 16, 5, 4 }, { 13, 16, 2, 16, 5, 4 }, { 14, 16, 2, 16, 5, 4 }, - { 15, 16, 2, 16, 5, 4 }, { 16, 16, 1, 16, 5, 4 }, { 17, 16, 1, 16, 5, 4 }, { 18, 16, 1, 16, 5, 4 }, { 19, 16, 1, 16, 5, 4 }, - { 20, 16, 1, 16, 5, 4 }, { 21, 16, 1, 16, 5, 4 }, { 22, 16, 0, 16, 0, 4 }, { 23, 16, 0, 16, 0, 4 }, { 24, 16, 0, 16, 0, 4 }, - { 25, 16, 0, 16, 0, 4 }, { 26, 16, 0, 16, 0, 4 }, { 27, 16, 0, 16, 0, 4 }, { 28, 16, 0, 16, 0, 4 }, { 29, 16, 0, 16, 0, 4 }, - { 30, 16, 0, 16, 0, 4 }, { 31, 16, 0, 16, 0, 4 }, + 32, { + { 0, 16, 8, 16, 6, 4 }, { 1, 16, 7, 16, 6, 4 }, { 2, 16, 7, 16, 6, 4 }, { 3, 16, 6, 16, 6, 4 }, { 4, 16, 6, 16, 6, 4 }, + { 5, 16, 5, 16, 6, 4 }, { 6, 16, 5, 16, 6, 4 }, { 7, 16, 4, 16, 6, 4 }, { 8, 16, 4, 16, 5, 4 }, { 9, 16, 3, 16, 5, 4 }, + { 10, 16, 3, 16, 5, 4 }, { 11, 16, 3, 16, 5, 4 }, { 12, 16, 2, 16, 5, 4 }, { 13, 16, 2, 16, 5, 4 }, { 14, 16, 2, 16, 5, 4 }, + { 15, 16, 2, 16, 5, 4 }, { 16, 16, 1, 16, 5, 4 }, { 17, 16, 1, 16, 5, 4 }, { 18, 16, 1, 16, 5, 4 }, { 19, 16, 1, 16, 5, 4 }, + { 20, 16, 1, 16, 5, 4 }, { 21, 16, 1, 16, 5, 4 }, { 22, 16, 0, 16, 0, 4 }, { 23, 16, 0, 16, 0, 4 }, { 24, 16, 0, 16, 0, 4 }, + { 25, 16, 0, 16, 0, 4 }, { 26, 16, 0, 16, 0, 4 }, { 27, 16, 0, 16, 0, 4 }, { 28, 16, 0, 16, 0, 4 }, { 29, 16, 0, 16, 0, 4 }, + { 30, 16, 0, 16, 0, 4 }, { 31, 16, 0, 16, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9661F4 = { - 32, { - { 16, 31, 7, 24, 6, 4 }, { 16, 30, 7, 24, 6, 4 }, { 16, 29, 6, 24, 6, 4 }, { 16, 28, 6, 24, 6, 4 }, { 16, 27, 5, 24, 6, 4 }, - { 16, 26, 5, 24, 6, 4 }, { 16, 25, 4, 24, 6, 4 }, { 16, 24, 4, 24, 6, 4 }, { 16, 23, 4, 24, 5, 4 }, { 16, 22, 3, 24, 5, 4 }, - { 16, 21, 3, 24, 5, 4 }, { 16, 20, 3, 24, 5, 4 }, { 16, 19, 2, 24, 5, 4 }, { 16, 18, 2, 24, 5, 4 }, { 16, 17, 2, 24, 5, 4 }, - { 16, 16, 2, 24, 5, 4 }, { 16, 15, 1, 24, 5, 4 }, { 16, 14, 1, 24, 5, 4 }, { 16, 13, 1, 24, 5, 4 }, { 16, 12, 1, 24, 5, 4 }, - { 16, 11, 1, 24, 5, 4 }, { 16, 10, 1, 24, 5, 4 }, { 16, 9, 0, 24, 0, 4 }, { 16, 8, 0, 24, 0, 4 }, { 16, 7, 0, 24, 0, 4 }, - { 16, 6, 0, 24, 0, 4 }, { 16, 5, 0, 24, 0, 4 }, { 16, 4, 0, 24, 0, 4 }, { 16, 3, 0, 24, 0, 4 }, { 16, 2, 0, 24, 0, 4 }, - { 16, 1, 0, 24, 0, 4 }, { 16, 0, 0, 24, 0, 4 }, + 32, { + { 16, 31, 7, 24, 6, 4 }, { 16, 30, 7, 24, 6, 4 }, { 16, 29, 6, 24, 6, 4 }, { 16, 28, 6, 24, 6, 4 }, { 16, 27, 5, 24, 6, 4 }, + { 16, 26, 5, 24, 6, 4 }, { 16, 25, 4, 24, 6, 4 }, { 16, 24, 4, 24, 6, 4 }, { 16, 23, 4, 24, 5, 4 }, { 16, 22, 3, 24, 5, 4 }, + { 16, 21, 3, 24, 5, 4 }, { 16, 20, 3, 24, 5, 4 }, { 16, 19, 2, 24, 5, 4 }, { 16, 18, 2, 24, 5, 4 }, { 16, 17, 2, 24, 5, 4 }, + { 16, 16, 2, 24, 5, 4 }, { 16, 15, 1, 24, 5, 4 }, { 16, 14, 1, 24, 5, 4 }, { 16, 13, 1, 24, 5, 4 }, { 16, 12, 1, 24, 5, 4 }, + { 16, 11, 1, 24, 5, 4 }, { 16, 10, 1, 24, 5, 4 }, { 16, 9, 0, 24, 0, 4 }, { 16, 8, 0, 24, 0, 4 }, { 16, 7, 0, 24, 0, 4 }, + { 16, 6, 0, 24, 0, 4 }, { 16, 5, 0, 24, 0, 4 }, { 16, 4, 0, 24, 0, 4 }, { 16, 3, 0, 24, 0, 4 }, { 16, 2, 0, 24, 0, 4 }, + { 16, 1, 0, 24, 0, 4 }, { 16, 0, 0, 24, 0, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96679E = { - 32, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 1, 1 }, { 22, 16, 0, 0, 1, 1 }, - { 21, 16, 1, 0, 1, 1 }, { 20, 16, 1, 0, 1, 1 }, { 19, 16, 1, 0, 1, 1 }, { 18, 16, 1, 0, 1, 1 }, { 17, 16, 1, 0, 1, 1 }, - { 16, 16, 1, 0, 1, 1 }, { 15, 16, 2, 0, 1, 1 }, { 14, 16, 2, 0, 1, 1 }, { 13, 16, 2, 0, 1, 1 }, { 12, 16, 2, 0, 1, 1 }, - { 11, 16, 3, 0, 1, 1 }, { 10, 16, 3, 0, 1, 1 }, { 9, 16, 3, 0, 1, 1 }, { 8, 16, 4, 0, 1, 1 }, { 7, 16, 4, 0, 2, 2 }, - { 6, 16, 4, 0, 2, 2 }, { 5, 16, 5, 0, 2, 2 }, { 4, 16, 5, 0, 2, 2 }, { 3, 16, 6, 0, 2, 2 }, { 2, 16, 6, 0, 2, 2 }, - { 1, 16, 7, 0, 2, 2 }, { 0, 16, 7, 0, 2, 2 }, + 32, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 1, 1 }, { 22, 16, 0, 0, 1, 1 }, + { 21, 16, 1, 0, 1, 1 }, { 20, 16, 1, 0, 1, 1 }, { 19, 16, 1, 0, 1, 1 }, { 18, 16, 1, 0, 1, 1 }, { 17, 16, 1, 0, 1, 1 }, + { 16, 16, 1, 0, 1, 1 }, { 15, 16, 2, 0, 1, 1 }, { 14, 16, 2, 0, 1, 1 }, { 13, 16, 2, 0, 1, 1 }, { 12, 16, 2, 0, 1, 1 }, + { 11, 16, 3, 0, 1, 1 }, { 10, 16, 3, 0, 1, 1 }, { 9, 16, 3, 0, 1, 1 }, { 8, 16, 4, 0, 1, 1 }, { 7, 16, 4, 0, 2, 2 }, + { 6, 16, 4, 0, 2, 2 }, { 5, 16, 5, 0, 2, 2 }, { 4, 16, 5, 0, 2, 2 }, { 3, 16, 6, 0, 2, 2 }, { 2, 16, 6, 0, 2, 2 }, + { 1, 16, 7, 0, 2, 2 }, { 0, 16, 7, 0, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9668C0 = { - 32, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 1, 1 }, { 16, 9, 0, 8, 1, 1 }, - { 16, 10, 1, 8, 1, 1 }, { 16, 11, 1, 8, 1, 1 }, { 16, 12, 1, 8, 1, 1 }, { 16, 13, 1, 8, 1, 1 }, { 16, 14, 1, 8, 1, 1 }, - { 16, 15, 1, 8, 1, 1 }, { 16, 16, 2, 8, 1, 1 }, { 16, 17, 2, 8, 1, 1 }, { 16, 18, 2, 8, 1, 1 }, { 16, 19, 2, 8, 1, 1 }, - { 16, 20, 3, 8, 1, 1 }, { 16, 21, 3, 8, 1, 1 }, { 16, 22, 3, 8, 1, 1 }, { 16, 23, 4, 8, 1, 1 }, { 16, 24, 4, 8, 2, 2 }, - { 16, 25, 4, 8, 2, 2 }, { 16, 26, 5, 8, 2, 2 }, { 16, 27, 5, 8, 2, 2 }, { 16, 28, 6, 8, 2, 2 }, { 16, 29, 6, 8, 2, 2 }, - { 16, 30, 7, 8, 2, 2 }, { 16, 31, 7, 8, 2, 2 }, + 32, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 1, 1 }, { 16, 9, 0, 8, 1, 1 }, + { 16, 10, 1, 8, 1, 1 }, { 16, 11, 1, 8, 1, 1 }, { 16, 12, 1, 8, 1, 1 }, { 16, 13, 1, 8, 1, 1 }, { 16, 14, 1, 8, 1, 1 }, + { 16, 15, 1, 8, 1, 1 }, { 16, 16, 2, 8, 1, 1 }, { 16, 17, 2, 8, 1, 1 }, { 16, 18, 2, 8, 1, 1 }, { 16, 19, 2, 8, 1, 1 }, + { 16, 20, 3, 8, 1, 1 }, { 16, 21, 3, 8, 1, 1 }, { 16, 22, 3, 8, 1, 1 }, { 16, 23, 4, 8, 1, 1 }, { 16, 24, 4, 8, 2, 2 }, + { 16, 25, 4, 8, 2, 2 }, { 16, 26, 5, 8, 2, 2 }, { 16, 27, 5, 8, 2, 2 }, { 16, 28, 6, 8, 2, 2 }, { 16, 29, 6, 8, 2, 2 }, + { 16, 30, 7, 8, 2, 2 }, { 16, 31, 7, 8, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9669E2 = { - 32, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 1, 1 }, { 9, 16, 0, 16, 1, 1 }, - { 10, 16, 1, 16, 1, 1 }, { 11, 16, 1, 16, 1, 1 }, { 12, 16, 1, 16, 1, 1 }, { 13, 16, 1, 16, 1, 1 }, { 14, 16, 1, 16, 1, 1 }, - { 15, 16, 1, 16, 1, 1 }, { 16, 16, 2, 16, 1, 1 }, { 17, 16, 2, 16, 1, 1 }, { 18, 16, 2, 16, 1, 1 }, { 19, 16, 2, 16, 1, 1 }, - { 20, 16, 3, 16, 1, 1 }, { 21, 16, 3, 16, 1, 1 }, { 22, 16, 3, 16, 1, 1 }, { 23, 16, 4, 16, 1, 1 }, { 24, 16, 4, 16, 2, 2 }, - { 25, 16, 4, 16, 2, 2 }, { 26, 16, 5, 16, 2, 2 }, { 27, 16, 5, 16, 2, 2 }, { 28, 16, 6, 16, 2, 2 }, { 29, 16, 6, 16, 2, 2 }, - { 30, 16, 7, 16, 2, 2 }, { 31, 16, 7, 16, 2, 2 }, + 32, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 1, 1 }, { 9, 16, 0, 16, 1, 1 }, + { 10, 16, 1, 16, 1, 1 }, { 11, 16, 1, 16, 1, 1 }, { 12, 16, 1, 16, 1, 1 }, { 13, 16, 1, 16, 1, 1 }, { 14, 16, 1, 16, 1, 1 }, + { 15, 16, 1, 16, 1, 1 }, { 16, 16, 2, 16, 1, 1 }, { 17, 16, 2, 16, 1, 1 }, { 18, 16, 2, 16, 1, 1 }, { 19, 16, 2, 16, 1, 1 }, + { 20, 16, 3, 16, 1, 1 }, { 21, 16, 3, 16, 1, 1 }, { 22, 16, 3, 16, 1, 1 }, { 23, 16, 4, 16, 1, 1 }, { 24, 16, 4, 16, 2, 2 }, + { 25, 16, 4, 16, 2, 2 }, { 26, 16, 5, 16, 2, 2 }, { 27, 16, 5, 16, 2, 2 }, { 28, 16, 6, 16, 2, 2 }, { 29, 16, 6, 16, 2, 2 }, + { 30, 16, 7, 16, 2, 2 }, { 31, 16, 7, 16, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_966B04 = { - 32, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 1, 1 }, { 16, 22, 0, 24, 1, 1 }, - { 16, 21, 1, 24, 1, 1 }, { 16, 20, 1, 24, 1, 1 }, { 16, 19, 1, 24, 1, 1 }, { 16, 18, 1, 24, 1, 1 }, { 16, 17, 1, 24, 1, 1 }, - { 16, 16, 1, 24, 1, 1 }, { 16, 15, 2, 24, 1, 1 }, { 16, 14, 2, 24, 1, 1 }, { 16, 13, 2, 24, 1, 1 }, { 16, 12, 2, 24, 1, 1 }, - { 16, 11, 3, 24, 1, 1 }, { 16, 10, 3, 24, 1, 1 }, { 16, 9, 3, 24, 1, 1 }, { 16, 8, 4, 24, 1, 1 }, { 16, 7, 4, 24, 2, 2 }, - { 16, 6, 4, 24, 2, 2 }, { 16, 5, 5, 24, 2, 2 }, { 16, 4, 5, 24, 2, 2 }, { 16, 3, 6, 24, 2, 2 }, { 16, 2, 6, 24, 2, 2 }, - { 16, 1, 7, 24, 2, 2 }, { 16, 0, 7, 24, 2, 2 }, + 32, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 1, 1 }, { 16, 22, 0, 24, 1, 1 }, + { 16, 21, 1, 24, 1, 1 }, { 16, 20, 1, 24, 1, 1 }, { 16, 19, 1, 24, 1, 1 }, { 16, 18, 1, 24, 1, 1 }, { 16, 17, 1, 24, 1, 1 }, + { 16, 16, 1, 24, 1, 1 }, { 16, 15, 2, 24, 1, 1 }, { 16, 14, 2, 24, 1, 1 }, { 16, 13, 2, 24, 1, 1 }, { 16, 12, 2, 24, 1, 1 }, + { 16, 11, 3, 24, 1, 1 }, { 16, 10, 3, 24, 1, 1 }, { 16, 9, 3, 24, 1, 1 }, { 16, 8, 4, 24, 1, 1 }, { 16, 7, 4, 24, 2, 2 }, + { 16, 6, 4, 24, 2, 2 }, { 16, 5, 5, 24, 2, 2 }, { 16, 4, 5, 24, 2, 2 }, { 16, 3, 6, 24, 2, 2 }, { 16, 2, 6, 24, 2, 2 }, + { 16, 1, 7, 24, 2, 2 }, { 16, 0, 7, 24, 2, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_966C26 = { - 32, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 1, 3 }, { 22, 16, 0, 0, 1, 3 }, - { 21, 16, 1, 0, 1, 3 }, { 20, 16, 1, 0, 1, 3 }, { 19, 16, 1, 0, 1, 3 }, { 18, 16, 1, 0, 1, 3 }, { 17, 16, 1, 0, 1, 3 }, - { 16, 16, 1, 0, 1, 3 }, { 15, 16, 2, 0, 1, 3 }, { 14, 16, 2, 0, 1, 3 }, { 13, 16, 2, 0, 1, 3 }, { 12, 16, 2, 0, 1, 3 }, - { 11, 16, 3, 0, 1, 3 }, { 10, 16, 3, 0, 1, 3 }, { 9, 16, 3, 0, 1, 3 }, { 8, 16, 4, 0, 1, 3 }, { 7, 16, 4, 0, 2, 4 }, - { 6, 16, 4, 0, 2, 4 }, { 5, 16, 5, 0, 2, 4 }, { 4, 16, 5, 0, 2, 4 }, { 3, 16, 6, 0, 2, 4 }, { 2, 16, 6, 0, 2, 4 }, - { 1, 16, 7, 0, 2, 4 }, { 0, 16, 7, 0, 2, 4 }, + 32, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 1, 3 }, { 22, 16, 0, 0, 1, 3 }, + { 21, 16, 1, 0, 1, 3 }, { 20, 16, 1, 0, 1, 3 }, { 19, 16, 1, 0, 1, 3 }, { 18, 16, 1, 0, 1, 3 }, { 17, 16, 1, 0, 1, 3 }, + { 16, 16, 1, 0, 1, 3 }, { 15, 16, 2, 0, 1, 3 }, { 14, 16, 2, 0, 1, 3 }, { 13, 16, 2, 0, 1, 3 }, { 12, 16, 2, 0, 1, 3 }, + { 11, 16, 3, 0, 1, 3 }, { 10, 16, 3, 0, 1, 3 }, { 9, 16, 3, 0, 1, 3 }, { 8, 16, 4, 0, 1, 3 }, { 7, 16, 4, 0, 2, 4 }, + { 6, 16, 4, 0, 2, 4 }, { 5, 16, 5, 0, 2, 4 }, { 4, 16, 5, 0, 2, 4 }, { 3, 16, 6, 0, 2, 4 }, { 2, 16, 6, 0, 2, 4 }, + { 1, 16, 7, 0, 2, 4 }, { 0, 16, 7, 0, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_966D48 = { - 32, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 1, 3 }, { 16, 9, 0, 8, 1, 3 }, - { 16, 10, 1, 8, 1, 3 }, { 16, 11, 1, 8, 1, 3 }, { 16, 12, 1, 8, 1, 3 }, { 16, 13, 1, 8, 1, 3 }, { 16, 14, 1, 8, 1, 3 }, - { 16, 15, 1, 8, 1, 3 }, { 16, 16, 2, 8, 1, 3 }, { 16, 17, 2, 8, 1, 3 }, { 16, 18, 2, 8, 1, 3 }, { 16, 19, 2, 8, 1, 3 }, - { 16, 20, 3, 8, 1, 3 }, { 16, 21, 3, 8, 1, 3 }, { 16, 22, 3, 8, 1, 3 }, { 16, 23, 4, 8, 1, 3 }, { 16, 24, 4, 8, 2, 4 }, - { 16, 25, 4, 8, 2, 4 }, { 16, 26, 5, 8, 2, 4 }, { 16, 27, 5, 8, 2, 4 }, { 16, 28, 6, 8, 2, 4 }, { 16, 29, 6, 8, 2, 4 }, - { 16, 30, 7, 8, 2, 4 }, { 16, 31, 7, 8, 2, 4 }, + 32, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 1, 3 }, { 16, 9, 0, 8, 1, 3 }, + { 16, 10, 1, 8, 1, 3 }, { 16, 11, 1, 8, 1, 3 }, { 16, 12, 1, 8, 1, 3 }, { 16, 13, 1, 8, 1, 3 }, { 16, 14, 1, 8, 1, 3 }, + { 16, 15, 1, 8, 1, 3 }, { 16, 16, 2, 8, 1, 3 }, { 16, 17, 2, 8, 1, 3 }, { 16, 18, 2, 8, 1, 3 }, { 16, 19, 2, 8, 1, 3 }, + { 16, 20, 3, 8, 1, 3 }, { 16, 21, 3, 8, 1, 3 }, { 16, 22, 3, 8, 1, 3 }, { 16, 23, 4, 8, 1, 3 }, { 16, 24, 4, 8, 2, 4 }, + { 16, 25, 4, 8, 2, 4 }, { 16, 26, 5, 8, 2, 4 }, { 16, 27, 5, 8, 2, 4 }, { 16, 28, 6, 8, 2, 4 }, { 16, 29, 6, 8, 2, 4 }, + { 16, 30, 7, 8, 2, 4 }, { 16, 31, 7, 8, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_966E6A = { - 32, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 1, 3 }, { 9, 16, 0, 16, 1, 3 }, - { 10, 16, 1, 16, 1, 3 }, { 11, 16, 1, 16, 1, 3 }, { 12, 16, 1, 16, 1, 3 }, { 13, 16, 1, 16, 1, 3 }, { 14, 16, 1, 16, 1, 3 }, - { 15, 16, 1, 16, 1, 3 }, { 16, 16, 2, 16, 1, 3 }, { 17, 16, 2, 16, 1, 3 }, { 18, 16, 2, 16, 1, 3 }, { 19, 16, 2, 16, 1, 3 }, - { 20, 16, 3, 16, 1, 3 }, { 21, 16, 3, 16, 1, 3 }, { 22, 16, 3, 16, 1, 3 }, { 23, 16, 4, 16, 1, 3 }, { 24, 16, 4, 16, 2, 4 }, - { 25, 16, 4, 16, 2, 4 }, { 26, 16, 5, 16, 2, 4 }, { 27, 16, 5, 16, 2, 4 }, { 28, 16, 6, 16, 2, 4 }, { 29, 16, 6, 16, 2, 4 }, - { 30, 16, 7, 16, 2, 4 }, { 31, 16, 7, 16, 2, 4 }, + 32, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 1, 3 }, { 9, 16, 0, 16, 1, 3 }, + { 10, 16, 1, 16, 1, 3 }, { 11, 16, 1, 16, 1, 3 }, { 12, 16, 1, 16, 1, 3 }, { 13, 16, 1, 16, 1, 3 }, { 14, 16, 1, 16, 1, 3 }, + { 15, 16, 1, 16, 1, 3 }, { 16, 16, 2, 16, 1, 3 }, { 17, 16, 2, 16, 1, 3 }, { 18, 16, 2, 16, 1, 3 }, { 19, 16, 2, 16, 1, 3 }, + { 20, 16, 3, 16, 1, 3 }, { 21, 16, 3, 16, 1, 3 }, { 22, 16, 3, 16, 1, 3 }, { 23, 16, 4, 16, 1, 3 }, { 24, 16, 4, 16, 2, 4 }, + { 25, 16, 4, 16, 2, 4 }, { 26, 16, 5, 16, 2, 4 }, { 27, 16, 5, 16, 2, 4 }, { 28, 16, 6, 16, 2, 4 }, { 29, 16, 6, 16, 2, 4 }, + { 30, 16, 7, 16, 2, 4 }, { 31, 16, 7, 16, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_966F8C = { - 32, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 1, 3 }, { 16, 22, 0, 24, 1, 3 }, - { 16, 21, 1, 24, 1, 3 }, { 16, 20, 1, 24, 1, 3 }, { 16, 19, 1, 24, 1, 3 }, { 16, 18, 1, 24, 1, 3 }, { 16, 17, 1, 24, 1, 3 }, - { 16, 16, 1, 24, 1, 3 }, { 16, 15, 2, 24, 1, 3 }, { 16, 14, 2, 24, 1, 3 }, { 16, 13, 2, 24, 1, 3 }, { 16, 12, 2, 24, 1, 3 }, - { 16, 11, 3, 24, 1, 3 }, { 16, 10, 3, 24, 1, 3 }, { 16, 9, 3, 24, 1, 3 }, { 16, 8, 4, 24, 1, 3 }, { 16, 7, 4, 24, 2, 4 }, - { 16, 6, 4, 24, 2, 4 }, { 16, 5, 5, 24, 2, 4 }, { 16, 4, 5, 24, 2, 4 }, { 16, 3, 6, 24, 2, 4 }, { 16, 2, 6, 24, 2, 4 }, - { 16, 1, 7, 24, 2, 4 }, { 16, 0, 7, 24, 2, 4 }, + 32, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 1, 3 }, { 16, 22, 0, 24, 1, 3 }, + { 16, 21, 1, 24, 1, 3 }, { 16, 20, 1, 24, 1, 3 }, { 16, 19, 1, 24, 1, 3 }, { 16, 18, 1, 24, 1, 3 }, { 16, 17, 1, 24, 1, 3 }, + { 16, 16, 1, 24, 1, 3 }, { 16, 15, 2, 24, 1, 3 }, { 16, 14, 2, 24, 1, 3 }, { 16, 13, 2, 24, 1, 3 }, { 16, 12, 2, 24, 1, 3 }, + { 16, 11, 3, 24, 1, 3 }, { 16, 10, 3, 24, 1, 3 }, { 16, 9, 3, 24, 1, 3 }, { 16, 8, 4, 24, 1, 3 }, { 16, 7, 4, 24, 2, 4 }, + { 16, 6, 4, 24, 2, 4 }, { 16, 5, 5, 24, 2, 4 }, { 16, 4, 5, 24, 2, 4 }, { 16, 3, 6, 24, 2, 4 }, { 16, 2, 6, 24, 2, 4 }, + { 16, 1, 7, 24, 2, 4 }, { 16, 0, 7, 24, 2, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9670AE = { - 32, { - { 31, 16, 0, 0, 2, 2 }, { 30, 16, 0, 0, 2, 2 }, { 29, 16, 1, 0, 2, 2 }, { 28, 16, 1, 0, 2, 2 }, { 27, 16, 2, 0, 2, 2 }, - { 26, 16, 2, 0, 2, 2 }, { 25, 16, 3, 0, 2, 2 }, { 24, 16, 3, 0, 2, 2 }, { 23, 16, 4, 0, 1, 1 }, { 22, 16, 4, 0, 1, 1 }, - { 21, 16, 4, 0, 1, 1 }, { 20, 16, 5, 0, 1, 1 }, { 19, 16, 5, 0, 1, 1 }, { 18, 16, 5, 0, 1, 1 }, { 17, 16, 6, 0, 1, 1 }, - { 16, 16, 6, 0, 1, 1 }, { 15, 16, 6, 0, 1, 1 }, { 14, 16, 6, 0, 1, 1 }, { 13, 16, 7, 0, 1, 1 }, { 12, 16, 7, 0, 1, 1 }, - { 11, 16, 7, 0, 1, 1 }, { 10, 16, 7, 0, 1, 1 }, { 9, 16, 7, 0, 0, 0 }, { 8, 16, 7, 0, 0, 0 }, { 7, 16, 8, 0, 0, 0 }, - { 6, 16, 8, 0, 0, 0 }, { 5, 16, 8, 0, 0, 0 }, { 4, 16, 8, 0, 0, 0 }, { 3, 16, 8, 0, 0, 0 }, { 2, 16, 8, 0, 0, 0 }, - { 1, 16, 8, 0, 0, 0 }, { 0, 16, 8, 0, 0, 0 }, + 32, { + { 31, 16, 0, 0, 2, 2 }, { 30, 16, 0, 0, 2, 2 }, { 29, 16, 1, 0, 2, 2 }, { 28, 16, 1, 0, 2, 2 }, { 27, 16, 2, 0, 2, 2 }, + { 26, 16, 2, 0, 2, 2 }, { 25, 16, 3, 0, 2, 2 }, { 24, 16, 3, 0, 2, 2 }, { 23, 16, 4, 0, 1, 1 }, { 22, 16, 4, 0, 1, 1 }, + { 21, 16, 4, 0, 1, 1 }, { 20, 16, 5, 0, 1, 1 }, { 19, 16, 5, 0, 1, 1 }, { 18, 16, 5, 0, 1, 1 }, { 17, 16, 6, 0, 1, 1 }, + { 16, 16, 6, 0, 1, 1 }, { 15, 16, 6, 0, 1, 1 }, { 14, 16, 6, 0, 1, 1 }, { 13, 16, 7, 0, 1, 1 }, { 12, 16, 7, 0, 1, 1 }, + { 11, 16, 7, 0, 1, 1 }, { 10, 16, 7, 0, 1, 1 }, { 9, 16, 7, 0, 0, 0 }, { 8, 16, 7, 0, 0, 0 }, { 7, 16, 8, 0, 0, 0 }, + { 6, 16, 8, 0, 0, 0 }, { 5, 16, 8, 0, 0, 0 }, { 4, 16, 8, 0, 0, 0 }, { 3, 16, 8, 0, 0, 0 }, { 2, 16, 8, 0, 0, 0 }, + { 1, 16, 8, 0, 0, 0 }, { 0, 16, 8, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9671E2 = { - 32, { - { 16, 0, 0, 8, 2, 2 }, { 16, 1, 0, 8, 2, 2 }, { 16, 2, 1, 8, 2, 2 }, { 16, 3, 1, 8, 2, 2 }, { 16, 4, 2, 8, 2, 2 }, - { 16, 5, 2, 8, 2, 2 }, { 16, 6, 3, 8, 2, 2 }, { 16, 7, 3, 8, 2, 2 }, { 16, 8, 4, 8, 1, 1 }, { 16, 9, 4, 8, 1, 1 }, - { 16, 10, 4, 8, 1, 1 }, { 16, 11, 5, 8, 1, 1 }, { 16, 12, 5, 8, 1, 1 }, { 16, 13, 5, 8, 1, 1 }, { 16, 14, 6, 8, 1, 1 }, - { 16, 15, 6, 8, 1, 1 }, { 16, 16, 6, 8, 1, 1 }, { 16, 17, 6, 8, 1, 1 }, { 16, 18, 7, 8, 1, 1 }, { 16, 19, 7, 8, 1, 1 }, - { 16, 20, 7, 8, 1, 1 }, { 16, 21, 7, 8, 1, 1 }, { 16, 22, 7, 8, 0, 0 }, { 16, 23, 7, 8, 0, 0 }, { 16, 24, 8, 8, 0, 0 }, - { 16, 25, 8, 8, 0, 0 }, { 16, 26, 8, 8, 0, 0 }, { 16, 27, 8, 8, 0, 0 }, { 16, 28, 8, 8, 0, 0 }, { 16, 29, 8, 8, 0, 0 }, - { 16, 30, 8, 8, 0, 0 }, { 16, 31, 8, 8, 0, 0 }, + 32, { + { 16, 0, 0, 8, 2, 2 }, { 16, 1, 0, 8, 2, 2 }, { 16, 2, 1, 8, 2, 2 }, { 16, 3, 1, 8, 2, 2 }, { 16, 4, 2, 8, 2, 2 }, + { 16, 5, 2, 8, 2, 2 }, { 16, 6, 3, 8, 2, 2 }, { 16, 7, 3, 8, 2, 2 }, { 16, 8, 4, 8, 1, 1 }, { 16, 9, 4, 8, 1, 1 }, + { 16, 10, 4, 8, 1, 1 }, { 16, 11, 5, 8, 1, 1 }, { 16, 12, 5, 8, 1, 1 }, { 16, 13, 5, 8, 1, 1 }, { 16, 14, 6, 8, 1, 1 }, + { 16, 15, 6, 8, 1, 1 }, { 16, 16, 6, 8, 1, 1 }, { 16, 17, 6, 8, 1, 1 }, { 16, 18, 7, 8, 1, 1 }, { 16, 19, 7, 8, 1, 1 }, + { 16, 20, 7, 8, 1, 1 }, { 16, 21, 7, 8, 1, 1 }, { 16, 22, 7, 8, 0, 0 }, { 16, 23, 7, 8, 0, 0 }, { 16, 24, 8, 8, 0, 0 }, + { 16, 25, 8, 8, 0, 0 }, { 16, 26, 8, 8, 0, 0 }, { 16, 27, 8, 8, 0, 0 }, { 16, 28, 8, 8, 0, 0 }, { 16, 29, 8, 8, 0, 0 }, + { 16, 30, 8, 8, 0, 0 }, { 16, 31, 8, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_967316 = { - 32, { - { 0, 16, 0, 16, 2, 2 }, { 1, 16, 0, 16, 2, 2 }, { 2, 16, 1, 16, 2, 2 }, { 3, 16, 1, 16, 2, 2 }, { 4, 16, 2, 16, 2, 2 }, - { 5, 16, 2, 16, 2, 2 }, { 6, 16, 3, 16, 2, 2 }, { 7, 16, 3, 16, 2, 2 }, { 8, 16, 4, 16, 1, 1 }, { 9, 16, 4, 16, 1, 1 }, - { 10, 16, 4, 16, 1, 1 }, { 11, 16, 5, 16, 1, 1 }, { 12, 16, 5, 16, 1, 1 }, { 13, 16, 5, 16, 1, 1 }, { 14, 16, 6, 16, 1, 1 }, - { 15, 16, 6, 16, 1, 1 }, { 16, 16, 6, 16, 1, 1 }, { 17, 16, 6, 16, 1, 1 }, { 18, 16, 7, 16, 1, 1 }, { 19, 16, 7, 16, 1, 1 }, - { 20, 16, 7, 16, 1, 1 }, { 21, 16, 7, 16, 1, 1 }, { 22, 16, 7, 16, 0, 0 }, { 23, 16, 7, 16, 0, 0 }, { 24, 16, 8, 16, 0, 0 }, - { 25, 16, 8, 16, 0, 0 }, { 26, 16, 8, 16, 0, 0 }, { 27, 16, 8, 16, 0, 0 }, { 28, 16, 8, 16, 0, 0 }, { 29, 16, 8, 16, 0, 0 }, - { 30, 16, 8, 16, 0, 0 }, { 31, 16, 8, 16, 0, 0 }, + 32, { + { 0, 16, 0, 16, 2, 2 }, { 1, 16, 0, 16, 2, 2 }, { 2, 16, 1, 16, 2, 2 }, { 3, 16, 1, 16, 2, 2 }, { 4, 16, 2, 16, 2, 2 }, + { 5, 16, 2, 16, 2, 2 }, { 6, 16, 3, 16, 2, 2 }, { 7, 16, 3, 16, 2, 2 }, { 8, 16, 4, 16, 1, 1 }, { 9, 16, 4, 16, 1, 1 }, + { 10, 16, 4, 16, 1, 1 }, { 11, 16, 5, 16, 1, 1 }, { 12, 16, 5, 16, 1, 1 }, { 13, 16, 5, 16, 1, 1 }, { 14, 16, 6, 16, 1, 1 }, + { 15, 16, 6, 16, 1, 1 }, { 16, 16, 6, 16, 1, 1 }, { 17, 16, 6, 16, 1, 1 }, { 18, 16, 7, 16, 1, 1 }, { 19, 16, 7, 16, 1, 1 }, + { 20, 16, 7, 16, 1, 1 }, { 21, 16, 7, 16, 1, 1 }, { 22, 16, 7, 16, 0, 0 }, { 23, 16, 7, 16, 0, 0 }, { 24, 16, 8, 16, 0, 0 }, + { 25, 16, 8, 16, 0, 0 }, { 26, 16, 8, 16, 0, 0 }, { 27, 16, 8, 16, 0, 0 }, { 28, 16, 8, 16, 0, 0 }, { 29, 16, 8, 16, 0, 0 }, + { 30, 16, 8, 16, 0, 0 }, { 31, 16, 8, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96744A = { - 32, { - { 16, 31, 0, 24, 2, 2 }, { 16, 30, 0, 24, 2, 2 }, { 16, 29, 1, 24, 2, 2 }, { 16, 28, 1, 24, 2, 2 }, { 16, 27, 2, 24, 2, 2 }, - { 16, 26, 2, 24, 2, 2 }, { 16, 25, 3, 24, 2, 2 }, { 16, 24, 3, 24, 2, 2 }, { 16, 23, 4, 24, 1, 1 }, { 16, 22, 4, 24, 1, 1 }, - { 16, 21, 4, 24, 1, 1 }, { 16, 20, 5, 24, 1, 1 }, { 16, 19, 5, 24, 1, 1 }, { 16, 18, 5, 24, 1, 1 }, { 16, 17, 6, 24, 1, 1 }, - { 16, 16, 6, 24, 1, 1 }, { 16, 15, 6, 24, 1, 1 }, { 16, 14, 6, 24, 1, 1 }, { 16, 13, 7, 24, 1, 1 }, { 16, 12, 7, 24, 1, 1 }, - { 16, 11, 7, 24, 1, 1 }, { 16, 10, 7, 24, 1, 1 }, { 16, 9, 7, 24, 0, 0 }, { 16, 8, 7, 24, 0, 0 }, { 16, 7, 8, 24, 0, 0 }, - { 16, 6, 8, 24, 0, 0 }, { 16, 5, 8, 24, 0, 0 }, { 16, 4, 8, 24, 0, 0 }, { 16, 3, 8, 24, 0, 0 }, { 16, 2, 8, 24, 0, 0 }, - { 16, 1, 8, 24, 0, 0 }, { 16, 0, 8, 24, 0, 0 }, + 32, { + { 16, 31, 0, 24, 2, 2 }, { 16, 30, 0, 24, 2, 2 }, { 16, 29, 1, 24, 2, 2 }, { 16, 28, 1, 24, 2, 2 }, { 16, 27, 2, 24, 2, 2 }, + { 16, 26, 2, 24, 2, 2 }, { 16, 25, 3, 24, 2, 2 }, { 16, 24, 3, 24, 2, 2 }, { 16, 23, 4, 24, 1, 1 }, { 16, 22, 4, 24, 1, 1 }, + { 16, 21, 4, 24, 1, 1 }, { 16, 20, 5, 24, 1, 1 }, { 16, 19, 5, 24, 1, 1 }, { 16, 18, 5, 24, 1, 1 }, { 16, 17, 6, 24, 1, 1 }, + { 16, 16, 6, 24, 1, 1 }, { 16, 15, 6, 24, 1, 1 }, { 16, 14, 6, 24, 1, 1 }, { 16, 13, 7, 24, 1, 1 }, { 16, 12, 7, 24, 1, 1 }, + { 16, 11, 7, 24, 1, 1 }, { 16, 10, 7, 24, 1, 1 }, { 16, 9, 7, 24, 0, 0 }, { 16, 8, 7, 24, 0, 0 }, { 16, 7, 8, 24, 0, 0 }, + { 16, 6, 8, 24, 0, 0 }, { 16, 5, 8, 24, 0, 0 }, { 16, 4, 8, 24, 0, 0 }, { 16, 3, 8, 24, 0, 0 }, { 16, 2, 8, 24, 0, 0 }, + { 16, 1, 8, 24, 0, 0 }, { 16, 0, 8, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96757E = { - 32, { - { 31, 16, 0, 0, 2, 4 }, { 30, 16, 0, 0, 2, 4 }, { 29, 16, 1, 0, 2, 4 }, { 28, 16, 1, 0, 2, 4 }, { 27, 16, 2, 0, 2, 4 }, - { 26, 16, 2, 0, 2, 4 }, { 25, 16, 3, 0, 2, 4 }, { 24, 16, 3, 0, 2, 4 }, { 23, 16, 4, 0, 1, 3 }, { 22, 16, 4, 0, 1, 3 }, - { 21, 16, 4, 0, 1, 3 }, { 20, 16, 5, 0, 1, 3 }, { 19, 16, 5, 0, 1, 3 }, { 18, 16, 5, 0, 1, 3 }, { 17, 16, 6, 0, 1, 3 }, - { 16, 16, 6, 0, 1, 3 }, { 15, 16, 6, 0, 1, 3 }, { 14, 16, 6, 0, 1, 3 }, { 13, 16, 7, 0, 1, 3 }, { 12, 16, 7, 0, 1, 3 }, - { 11, 16, 7, 0, 1, 3 }, { 10, 16, 7, 0, 1, 3 }, { 9, 16, 7, 0, 0, 0 }, { 8, 16, 7, 0, 0, 0 }, { 7, 16, 8, 0, 0, 0 }, - { 6, 16, 8, 0, 0, 0 }, { 5, 16, 8, 0, 0, 0 }, { 4, 16, 8, 0, 0, 0 }, { 3, 16, 8, 0, 0, 0 }, { 2, 16, 8, 0, 0, 0 }, - { 1, 16, 8, 0, 0, 0 }, { 0, 16, 8, 0, 0, 0 }, + 32, { + { 31, 16, 0, 0, 2, 4 }, { 30, 16, 0, 0, 2, 4 }, { 29, 16, 1, 0, 2, 4 }, { 28, 16, 1, 0, 2, 4 }, { 27, 16, 2, 0, 2, 4 }, + { 26, 16, 2, 0, 2, 4 }, { 25, 16, 3, 0, 2, 4 }, { 24, 16, 3, 0, 2, 4 }, { 23, 16, 4, 0, 1, 3 }, { 22, 16, 4, 0, 1, 3 }, + { 21, 16, 4, 0, 1, 3 }, { 20, 16, 5, 0, 1, 3 }, { 19, 16, 5, 0, 1, 3 }, { 18, 16, 5, 0, 1, 3 }, { 17, 16, 6, 0, 1, 3 }, + { 16, 16, 6, 0, 1, 3 }, { 15, 16, 6, 0, 1, 3 }, { 14, 16, 6, 0, 1, 3 }, { 13, 16, 7, 0, 1, 3 }, { 12, 16, 7, 0, 1, 3 }, + { 11, 16, 7, 0, 1, 3 }, { 10, 16, 7, 0, 1, 3 }, { 9, 16, 7, 0, 0, 0 }, { 8, 16, 7, 0, 0, 0 }, { 7, 16, 8, 0, 0, 0 }, + { 6, 16, 8, 0, 0, 0 }, { 5, 16, 8, 0, 0, 0 }, { 4, 16, 8, 0, 0, 0 }, { 3, 16, 8, 0, 0, 0 }, { 2, 16, 8, 0, 0, 0 }, + { 1, 16, 8, 0, 0, 0 }, { 0, 16, 8, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9676B2 = { - 32, { - { 16, 0, 0, 8, 2, 4 }, { 16, 1, 0, 8, 2, 4 }, { 16, 2, 1, 8, 2, 4 }, { 16, 3, 1, 8, 2, 4 }, { 16, 4, 2, 8, 2, 4 }, - { 16, 5, 2, 8, 2, 4 }, { 16, 6, 3, 8, 2, 4 }, { 16, 7, 3, 8, 2, 4 }, { 16, 8, 4, 8, 1, 3 }, { 16, 9, 4, 8, 1, 3 }, - { 16, 10, 4, 8, 1, 3 }, { 16, 11, 5, 8, 1, 3 }, { 16, 12, 5, 8, 1, 3 }, { 16, 13, 5, 8, 1, 3 }, { 16, 14, 6, 8, 1, 3 }, - { 16, 15, 6, 8, 1, 3 }, { 16, 16, 6, 8, 1, 3 }, { 16, 17, 6, 8, 1, 3 }, { 16, 18, 7, 8, 1, 3 }, { 16, 19, 7, 8, 1, 3 }, - { 16, 20, 7, 8, 1, 3 }, { 16, 21, 7, 8, 1, 3 }, { 16, 22, 7, 8, 0, 0 }, { 16, 23, 7, 8, 0, 0 }, { 16, 24, 8, 8, 0, 0 }, - { 16, 25, 8, 8, 0, 0 }, { 16, 26, 8, 8, 0, 0 }, { 16, 27, 8, 8, 0, 0 }, { 16, 28, 8, 8, 0, 0 }, { 16, 29, 8, 8, 0, 0 }, - { 16, 30, 8, 8, 0, 0 }, { 16, 31, 8, 8, 0, 0 }, + 32, { + { 16, 0, 0, 8, 2, 4 }, { 16, 1, 0, 8, 2, 4 }, { 16, 2, 1, 8, 2, 4 }, { 16, 3, 1, 8, 2, 4 }, { 16, 4, 2, 8, 2, 4 }, + { 16, 5, 2, 8, 2, 4 }, { 16, 6, 3, 8, 2, 4 }, { 16, 7, 3, 8, 2, 4 }, { 16, 8, 4, 8, 1, 3 }, { 16, 9, 4, 8, 1, 3 }, + { 16, 10, 4, 8, 1, 3 }, { 16, 11, 5, 8, 1, 3 }, { 16, 12, 5, 8, 1, 3 }, { 16, 13, 5, 8, 1, 3 }, { 16, 14, 6, 8, 1, 3 }, + { 16, 15, 6, 8, 1, 3 }, { 16, 16, 6, 8, 1, 3 }, { 16, 17, 6, 8, 1, 3 }, { 16, 18, 7, 8, 1, 3 }, { 16, 19, 7, 8, 1, 3 }, + { 16, 20, 7, 8, 1, 3 }, { 16, 21, 7, 8, 1, 3 }, { 16, 22, 7, 8, 0, 0 }, { 16, 23, 7, 8, 0, 0 }, { 16, 24, 8, 8, 0, 0 }, + { 16, 25, 8, 8, 0, 0 }, { 16, 26, 8, 8, 0, 0 }, { 16, 27, 8, 8, 0, 0 }, { 16, 28, 8, 8, 0, 0 }, { 16, 29, 8, 8, 0, 0 }, + { 16, 30, 8, 8, 0, 0 }, { 16, 31, 8, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9677E6 = { - 32, { - { 0, 16, 0, 16, 2, 4 }, { 1, 16, 0, 16, 2, 4 }, { 2, 16, 1, 16, 2, 4 }, { 3, 16, 1, 16, 2, 4 }, { 4, 16, 2, 16, 2, 4 }, - { 5, 16, 2, 16, 2, 4 }, { 6, 16, 3, 16, 2, 4 }, { 7, 16, 3, 16, 2, 4 }, { 8, 16, 4, 16, 1, 3 }, { 9, 16, 4, 16, 1, 3 }, - { 10, 16, 4, 16, 1, 3 }, { 11, 16, 5, 16, 1, 3 }, { 12, 16, 5, 16, 1, 3 }, { 13, 16, 5, 16, 1, 3 }, { 14, 16, 6, 16, 1, 3 }, - { 15, 16, 6, 16, 1, 3 }, { 16, 16, 6, 16, 1, 3 }, { 17, 16, 6, 16, 1, 3 }, { 18, 16, 7, 16, 1, 3 }, { 19, 16, 7, 16, 1, 3 }, - { 20, 16, 7, 16, 1, 3 }, { 21, 16, 7, 16, 1, 3 }, { 22, 16, 7, 16, 0, 0 }, { 23, 16, 7, 16, 0, 0 }, { 24, 16, 8, 16, 0, 0 }, - { 25, 16, 8, 16, 0, 0 }, { 26, 16, 8, 16, 0, 0 }, { 27, 16, 8, 16, 0, 0 }, { 28, 16, 8, 16, 0, 0 }, { 29, 16, 8, 16, 0, 0 }, - { 30, 16, 8, 16, 0, 0 }, { 31, 16, 8, 16, 0, 0 }, + 32, { + { 0, 16, 0, 16, 2, 4 }, { 1, 16, 0, 16, 2, 4 }, { 2, 16, 1, 16, 2, 4 }, { 3, 16, 1, 16, 2, 4 }, { 4, 16, 2, 16, 2, 4 }, + { 5, 16, 2, 16, 2, 4 }, { 6, 16, 3, 16, 2, 4 }, { 7, 16, 3, 16, 2, 4 }, { 8, 16, 4, 16, 1, 3 }, { 9, 16, 4, 16, 1, 3 }, + { 10, 16, 4, 16, 1, 3 }, { 11, 16, 5, 16, 1, 3 }, { 12, 16, 5, 16, 1, 3 }, { 13, 16, 5, 16, 1, 3 }, { 14, 16, 6, 16, 1, 3 }, + { 15, 16, 6, 16, 1, 3 }, { 16, 16, 6, 16, 1, 3 }, { 17, 16, 6, 16, 1, 3 }, { 18, 16, 7, 16, 1, 3 }, { 19, 16, 7, 16, 1, 3 }, + { 20, 16, 7, 16, 1, 3 }, { 21, 16, 7, 16, 1, 3 }, { 22, 16, 7, 16, 0, 0 }, { 23, 16, 7, 16, 0, 0 }, { 24, 16, 8, 16, 0, 0 }, + { 25, 16, 8, 16, 0, 0 }, { 26, 16, 8, 16, 0, 0 }, { 27, 16, 8, 16, 0, 0 }, { 28, 16, 8, 16, 0, 0 }, { 29, 16, 8, 16, 0, 0 }, + { 30, 16, 8, 16, 0, 0 }, { 31, 16, 8, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96791A = { - 32, { - { 16, 31, 0, 24, 2, 4 }, { 16, 30, 0, 24, 2, 4 }, { 16, 29, 1, 24, 2, 4 }, { 16, 28, 1, 24, 2, 4 }, { 16, 27, 2, 24, 2, 4 }, - { 16, 26, 2, 24, 2, 4 }, { 16, 25, 3, 24, 2, 4 }, { 16, 24, 3, 24, 2, 4 }, { 16, 23, 4, 24, 1, 3 }, { 16, 22, 4, 24, 1, 3 }, - { 16, 21, 4, 24, 1, 3 }, { 16, 20, 5, 24, 1, 3 }, { 16, 19, 5, 24, 1, 3 }, { 16, 18, 5, 24, 1, 3 }, { 16, 17, 6, 24, 1, 3 }, - { 16, 16, 6, 24, 1, 3 }, { 16, 15, 6, 24, 1, 3 }, { 16, 14, 6, 24, 1, 3 }, { 16, 13, 7, 24, 1, 3 }, { 16, 12, 7, 24, 1, 3 }, - { 16, 11, 7, 24, 1, 3 }, { 16, 10, 7, 24, 1, 3 }, { 16, 9, 7, 24, 0, 0 }, { 16, 8, 7, 24, 0, 0 }, { 16, 7, 8, 24, 0, 0 }, - { 16, 6, 8, 24, 0, 0 }, { 16, 5, 8, 24, 0, 0 }, { 16, 4, 8, 24, 0, 0 }, { 16, 3, 8, 24, 0, 0 }, { 16, 2, 8, 24, 0, 0 }, - { 16, 1, 8, 24, 0, 0 }, { 16, 0, 8, 24, 0, 0 }, + 32, { + { 16, 31, 0, 24, 2, 4 }, { 16, 30, 0, 24, 2, 4 }, { 16, 29, 1, 24, 2, 4 }, { 16, 28, 1, 24, 2, 4 }, { 16, 27, 2, 24, 2, 4 }, + { 16, 26, 2, 24, 2, 4 }, { 16, 25, 3, 24, 2, 4 }, { 16, 24, 3, 24, 2, 4 }, { 16, 23, 4, 24, 1, 3 }, { 16, 22, 4, 24, 1, 3 }, + { 16, 21, 4, 24, 1, 3 }, { 16, 20, 5, 24, 1, 3 }, { 16, 19, 5, 24, 1, 3 }, { 16, 18, 5, 24, 1, 3 }, { 16, 17, 6, 24, 1, 3 }, + { 16, 16, 6, 24, 1, 3 }, { 16, 15, 6, 24, 1, 3 }, { 16, 14, 6, 24, 1, 3 }, { 16, 13, 7, 24, 1, 3 }, { 16, 12, 7, 24, 1, 3 }, + { 16, 11, 7, 24, 1, 3 }, { 16, 10, 7, 24, 1, 3 }, { 16, 9, 7, 24, 0, 0 }, { 16, 8, 7, 24, 0, 0 }, { 16, 7, 8, 24, 0, 0 }, + { 16, 6, 8, 24, 0, 0 }, { 16, 5, 8, 24, 0, 0 }, { 16, 4, 8, 24, 0, 0 }, { 16, 3, 8, 24, 0, 0 }, { 16, 2, 8, 24, 0, 0 }, + { 16, 1, 8, 24, 0, 0 }, { 16, 0, 8, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96835E = { - 32, { - { 31, 16, 8, 0, 0, 0 }, { 30, 16, 8, 0, 0, 0 }, { 29, 16, 8, 0, 0, 0 }, { 28, 16, 8, 0, 0, 0 }, { 27, 16, 8, 0, 0, 0 }, - { 26, 16, 8, 0, 0, 0 }, { 25, 16, 8, 0, 0, 0 }, { 24, 16, 8, 0, 0, 0 }, { 23, 16, 7, 0, 5, 1 }, { 22, 16, 7, 0, 5, 1 }, - { 21, 16, 7, 0, 5, 1 }, { 20, 16, 7, 0, 5, 1 }, { 19, 16, 7, 0, 5, 1 }, { 18, 16, 7, 0, 5, 1 }, { 17, 16, 6, 0, 5, 1 }, - { 16, 16, 6, 0, 5, 1 }, { 15, 16, 6, 0, 5, 1 }, { 14, 16, 6, 0, 5, 1 }, { 13, 16, 5, 0, 5, 1 }, { 12, 16, 5, 0, 5, 1 }, - { 11, 16, 5, 0, 5, 1 }, { 10, 16, 4, 0, 5, 1 }, { 9, 16, 4, 0, 5, 1 }, { 8, 16, 4, 0, 5, 1 }, { 7, 16, 3, 0, 6, 2 }, - { 6, 16, 3, 0, 6, 2 }, { 5, 16, 2, 0, 6, 2 }, { 4, 16, 2, 0, 6, 2 }, { 3, 16, 1, 0, 6, 2 }, { 2, 16, 1, 0, 6, 2 }, - { 1, 16, 0, 0, 6, 2 }, { 0, 16, 0, 0, 6, 2 }, + 32, { + { 31, 16, 8, 0, 0, 0 }, { 30, 16, 8, 0, 0, 0 }, { 29, 16, 8, 0, 0, 0 }, { 28, 16, 8, 0, 0, 0 }, { 27, 16, 8, 0, 0, 0 }, + { 26, 16, 8, 0, 0, 0 }, { 25, 16, 8, 0, 0, 0 }, { 24, 16, 8, 0, 0, 0 }, { 23, 16, 7, 0, 5, 1 }, { 22, 16, 7, 0, 5, 1 }, + { 21, 16, 7, 0, 5, 1 }, { 20, 16, 7, 0, 5, 1 }, { 19, 16, 7, 0, 5, 1 }, { 18, 16, 7, 0, 5, 1 }, { 17, 16, 6, 0, 5, 1 }, + { 16, 16, 6, 0, 5, 1 }, { 15, 16, 6, 0, 5, 1 }, { 14, 16, 6, 0, 5, 1 }, { 13, 16, 5, 0, 5, 1 }, { 12, 16, 5, 0, 5, 1 }, + { 11, 16, 5, 0, 5, 1 }, { 10, 16, 4, 0, 5, 1 }, { 9, 16, 4, 0, 5, 1 }, { 8, 16, 4, 0, 5, 1 }, { 7, 16, 3, 0, 6, 2 }, + { 6, 16, 3, 0, 6, 2 }, { 5, 16, 2, 0, 6, 2 }, { 4, 16, 2, 0, 6, 2 }, { 3, 16, 1, 0, 6, 2 }, { 2, 16, 1, 0, 6, 2 }, + { 1, 16, 0, 0, 6, 2 }, { 0, 16, 0, 0, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_968480 = { - 32, { - { 16, 0, 8, 8, 0, 0 }, { 16, 1, 8, 8, 0, 0 }, { 16, 2, 8, 8, 0, 0 }, { 16, 3, 8, 8, 0, 0 }, { 16, 4, 8, 8, 0, 0 }, - { 16, 5, 8, 8, 0, 0 }, { 16, 6, 8, 8, 0, 0 }, { 16, 7, 8, 8, 0, 0 }, { 16, 8, 7, 8, 5, 1 }, { 16, 9, 7, 8, 5, 1 }, - { 16, 10, 7, 8, 5, 1 }, { 16, 11, 7, 8, 5, 1 }, { 16, 12, 7, 8, 5, 1 }, { 16, 13, 7, 8, 5, 1 }, { 16, 14, 6, 8, 5, 1 }, - { 16, 15, 6, 8, 5, 1 }, { 16, 16, 6, 8, 5, 1 }, { 16, 17, 6, 8, 5, 1 }, { 16, 18, 5, 8, 5, 1 }, { 16, 19, 5, 8, 5, 1 }, - { 16, 20, 5, 8, 5, 1 }, { 16, 21, 4, 8, 5, 1 }, { 16, 22, 4, 8, 5, 1 }, { 16, 23, 4, 8, 5, 1 }, { 16, 24, 3, 8, 6, 2 }, - { 16, 25, 3, 8, 6, 2 }, { 16, 26, 2, 8, 6, 2 }, { 16, 27, 2, 8, 6, 2 }, { 16, 28, 1, 8, 6, 2 }, { 16, 29, 1, 8, 6, 2 }, - { 16, 30, 0, 8, 6, 2 }, { 16, 31, 0, 8, 6, 2 }, + 32, { + { 16, 0, 8, 8, 0, 0 }, { 16, 1, 8, 8, 0, 0 }, { 16, 2, 8, 8, 0, 0 }, { 16, 3, 8, 8, 0, 0 }, { 16, 4, 8, 8, 0, 0 }, + { 16, 5, 8, 8, 0, 0 }, { 16, 6, 8, 8, 0, 0 }, { 16, 7, 8, 8, 0, 0 }, { 16, 8, 7, 8, 5, 1 }, { 16, 9, 7, 8, 5, 1 }, + { 16, 10, 7, 8, 5, 1 }, { 16, 11, 7, 8, 5, 1 }, { 16, 12, 7, 8, 5, 1 }, { 16, 13, 7, 8, 5, 1 }, { 16, 14, 6, 8, 5, 1 }, + { 16, 15, 6, 8, 5, 1 }, { 16, 16, 6, 8, 5, 1 }, { 16, 17, 6, 8, 5, 1 }, { 16, 18, 5, 8, 5, 1 }, { 16, 19, 5, 8, 5, 1 }, + { 16, 20, 5, 8, 5, 1 }, { 16, 21, 4, 8, 5, 1 }, { 16, 22, 4, 8, 5, 1 }, { 16, 23, 4, 8, 5, 1 }, { 16, 24, 3, 8, 6, 2 }, + { 16, 25, 3, 8, 6, 2 }, { 16, 26, 2, 8, 6, 2 }, { 16, 27, 2, 8, 6, 2 }, { 16, 28, 1, 8, 6, 2 }, { 16, 29, 1, 8, 6, 2 }, + { 16, 30, 0, 8, 6, 2 }, { 16, 31, 0, 8, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9685A2 = { - 32, { - { 0, 16, 8, 16, 0, 0 }, { 1, 16, 8, 16, 0, 0 }, { 2, 16, 8, 16, 0, 0 }, { 3, 16, 8, 16, 0, 0 }, { 4, 16, 8, 16, 0, 0 }, - { 5, 16, 8, 16, 0, 0 }, { 6, 16, 8, 16, 0, 0 }, { 7, 16, 8, 16, 0, 0 }, { 8, 16, 7, 16, 5, 1 }, { 9, 16, 7, 16, 5, 1 }, - { 10, 16, 7, 16, 5, 1 }, { 11, 16, 7, 16, 5, 1 }, { 12, 16, 7, 16, 5, 1 }, { 13, 16, 7, 16, 5, 1 }, { 14, 16, 6, 16, 5, 1 }, - { 15, 16, 6, 16, 5, 1 }, { 16, 16, 6, 16, 5, 1 }, { 17, 16, 6, 16, 5, 1 }, { 18, 16, 5, 16, 5, 1 }, { 19, 16, 5, 16, 5, 1 }, - { 20, 16, 5, 16, 5, 1 }, { 21, 16, 4, 16, 5, 1 }, { 22, 16, 4, 16, 5, 1 }, { 23, 16, 4, 16, 5, 1 }, { 24, 16, 3, 16, 6, 2 }, - { 25, 16, 3, 16, 6, 2 }, { 26, 16, 2, 16, 6, 2 }, { 27, 16, 2, 16, 6, 2 }, { 28, 16, 1, 16, 6, 2 }, { 29, 16, 1, 16, 6, 2 }, - { 30, 16, 0, 16, 6, 2 }, { 31, 16, 0, 16, 6, 2 }, + 32, { + { 0, 16, 8, 16, 0, 0 }, { 1, 16, 8, 16, 0, 0 }, { 2, 16, 8, 16, 0, 0 }, { 3, 16, 8, 16, 0, 0 }, { 4, 16, 8, 16, 0, 0 }, + { 5, 16, 8, 16, 0, 0 }, { 6, 16, 8, 16, 0, 0 }, { 7, 16, 8, 16, 0, 0 }, { 8, 16, 7, 16, 5, 1 }, { 9, 16, 7, 16, 5, 1 }, + { 10, 16, 7, 16, 5, 1 }, { 11, 16, 7, 16, 5, 1 }, { 12, 16, 7, 16, 5, 1 }, { 13, 16, 7, 16, 5, 1 }, { 14, 16, 6, 16, 5, 1 }, + { 15, 16, 6, 16, 5, 1 }, { 16, 16, 6, 16, 5, 1 }, { 17, 16, 6, 16, 5, 1 }, { 18, 16, 5, 16, 5, 1 }, { 19, 16, 5, 16, 5, 1 }, + { 20, 16, 5, 16, 5, 1 }, { 21, 16, 4, 16, 5, 1 }, { 22, 16, 4, 16, 5, 1 }, { 23, 16, 4, 16, 5, 1 }, { 24, 16, 3, 16, 6, 2 }, + { 25, 16, 3, 16, 6, 2 }, { 26, 16, 2, 16, 6, 2 }, { 27, 16, 2, 16, 6, 2 }, { 28, 16, 1, 16, 6, 2 }, { 29, 16, 1, 16, 6, 2 }, + { 30, 16, 0, 16, 6, 2 }, { 31, 16, 0, 16, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9686C4 = { - 32, { - { 16, 31, 8, 24, 0, 0 }, { 16, 30, 8, 24, 0, 0 }, { 16, 29, 8, 24, 0, 0 }, { 16, 28, 8, 24, 0, 0 }, { 16, 27, 8, 24, 0, 0 }, - { 16, 26, 8, 24, 0, 0 }, { 16, 25, 8, 24, 0, 0 }, { 16, 24, 8, 24, 0, 0 }, { 16, 23, 7, 24, 5, 1 }, { 16, 22, 7, 24, 5, 1 }, - { 16, 21, 7, 24, 5, 1 }, { 16, 20, 7, 24, 5, 1 }, { 16, 19, 7, 24, 5, 1 }, { 16, 18, 7, 24, 5, 1 }, { 16, 17, 6, 24, 5, 1 }, - { 16, 16, 6, 24, 5, 1 }, { 16, 15, 6, 24, 5, 1 }, { 16, 14, 6, 24, 5, 1 }, { 16, 13, 5, 24, 5, 1 }, { 16, 12, 5, 24, 5, 1 }, - { 16, 11, 5, 24, 5, 1 }, { 16, 10, 4, 24, 5, 1 }, { 16, 9, 4, 24, 5, 1 }, { 16, 8, 4, 24, 5, 1 }, { 16, 7, 3, 24, 6, 2 }, - { 16, 6, 3, 24, 6, 2 }, { 16, 5, 2, 24, 6, 2 }, { 16, 4, 2, 24, 6, 2 }, { 16, 3, 1, 24, 6, 2 }, { 16, 2, 1, 24, 6, 2 }, - { 16, 1, 0, 24, 6, 2 }, { 16, 0, 0, 24, 6, 2 }, + 32, { + { 16, 31, 8, 24, 0, 0 }, { 16, 30, 8, 24, 0, 0 }, { 16, 29, 8, 24, 0, 0 }, { 16, 28, 8, 24, 0, 0 }, { 16, 27, 8, 24, 0, 0 }, + { 16, 26, 8, 24, 0, 0 }, { 16, 25, 8, 24, 0, 0 }, { 16, 24, 8, 24, 0, 0 }, { 16, 23, 7, 24, 5, 1 }, { 16, 22, 7, 24, 5, 1 }, + { 16, 21, 7, 24, 5, 1 }, { 16, 20, 7, 24, 5, 1 }, { 16, 19, 7, 24, 5, 1 }, { 16, 18, 7, 24, 5, 1 }, { 16, 17, 6, 24, 5, 1 }, + { 16, 16, 6, 24, 5, 1 }, { 16, 15, 6, 24, 5, 1 }, { 16, 14, 6, 24, 5, 1 }, { 16, 13, 5, 24, 5, 1 }, { 16, 12, 5, 24, 5, 1 }, + { 16, 11, 5, 24, 5, 1 }, { 16, 10, 4, 24, 5, 1 }, { 16, 9, 4, 24, 5, 1 }, { 16, 8, 4, 24, 5, 1 }, { 16, 7, 3, 24, 6, 2 }, + { 16, 6, 3, 24, 6, 2 }, { 16, 5, 2, 24, 6, 2 }, { 16, 4, 2, 24, 6, 2 }, { 16, 3, 1, 24, 6, 2 }, { 16, 2, 1, 24, 6, 2 }, + { 16, 1, 0, 24, 6, 2 }, { 16, 0, 0, 24, 6, 2 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9687E6 = { - 32, { - { 31, 16, 8, 0, 0, 0 }, { 30, 16, 8, 0, 0, 0 }, { 29, 16, 8, 0, 0, 0 }, { 28, 16, 8, 0, 0, 0 }, { 27, 16, 8, 0, 0, 0 }, - { 26, 16, 8, 0, 0, 0 }, { 25, 16, 8, 0, 0, 0 }, { 24, 16, 8, 0, 0, 0 }, { 23, 16, 7, 0, 5, 3 }, { 22, 16, 7, 0, 5, 3 }, - { 21, 16, 7, 0, 5, 3 }, { 20, 16, 7, 0, 5, 3 }, { 19, 16, 7, 0, 5, 3 }, { 18, 16, 7, 0, 5, 3 }, { 17, 16, 6, 0, 5, 3 }, - { 16, 16, 6, 0, 5, 3 }, { 15, 16, 6, 0, 5, 3 }, { 14, 16, 6, 0, 5, 3 }, { 13, 16, 5, 0, 5, 3 }, { 12, 16, 5, 0, 5, 3 }, - { 11, 16, 5, 0, 5, 3 }, { 10, 16, 4, 0, 5, 3 }, { 9, 16, 4, 0, 5, 3 }, { 8, 16, 4, 0, 5, 3 }, { 7, 16, 3, 0, 6, 4 }, - { 6, 16, 3, 0, 6, 4 }, { 5, 16, 2, 0, 6, 4 }, { 4, 16, 2, 0, 6, 4 }, { 3, 16, 1, 0, 6, 4 }, { 2, 16, 1, 0, 6, 4 }, - { 1, 16, 0, 0, 6, 4 }, { 0, 16, 0, 0, 6, 4 }, + 32, { + { 31, 16, 8, 0, 0, 0 }, { 30, 16, 8, 0, 0, 0 }, { 29, 16, 8, 0, 0, 0 }, { 28, 16, 8, 0, 0, 0 }, { 27, 16, 8, 0, 0, 0 }, + { 26, 16, 8, 0, 0, 0 }, { 25, 16, 8, 0, 0, 0 }, { 24, 16, 8, 0, 0, 0 }, { 23, 16, 7, 0, 5, 3 }, { 22, 16, 7, 0, 5, 3 }, + { 21, 16, 7, 0, 5, 3 }, { 20, 16, 7, 0, 5, 3 }, { 19, 16, 7, 0, 5, 3 }, { 18, 16, 7, 0, 5, 3 }, { 17, 16, 6, 0, 5, 3 }, + { 16, 16, 6, 0, 5, 3 }, { 15, 16, 6, 0, 5, 3 }, { 14, 16, 6, 0, 5, 3 }, { 13, 16, 5, 0, 5, 3 }, { 12, 16, 5, 0, 5, 3 }, + { 11, 16, 5, 0, 5, 3 }, { 10, 16, 4, 0, 5, 3 }, { 9, 16, 4, 0, 5, 3 }, { 8, 16, 4, 0, 5, 3 }, { 7, 16, 3, 0, 6, 4 }, + { 6, 16, 3, 0, 6, 4 }, { 5, 16, 2, 0, 6, 4 }, { 4, 16, 2, 0, 6, 4 }, { 3, 16, 1, 0, 6, 4 }, { 2, 16, 1, 0, 6, 4 }, + { 1, 16, 0, 0, 6, 4 }, { 0, 16, 0, 0, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_968908 = { - 32, { - { 16, 0, 8, 8, 0, 0 }, { 16, 1, 8, 8, 0, 0 }, { 16, 2, 8, 8, 0, 0 }, { 16, 3, 8, 8, 0, 0 }, { 16, 4, 8, 8, 0, 0 }, - { 16, 5, 8, 8, 0, 0 }, { 16, 6, 8, 8, 0, 0 }, { 16, 7, 8, 8, 0, 0 }, { 16, 8, 7, 8, 5, 3 }, { 16, 9, 7, 8, 5, 3 }, - { 16, 10, 7, 8, 5, 3 }, { 16, 11, 7, 8, 5, 3 }, { 16, 12, 7, 8, 5, 3 }, { 16, 13, 7, 8, 5, 3 }, { 16, 14, 6, 8, 5, 3 }, - { 16, 15, 6, 8, 5, 3 }, { 16, 16, 6, 8, 5, 3 }, { 16, 17, 6, 8, 5, 3 }, { 16, 18, 5, 8, 5, 3 }, { 16, 19, 5, 8, 5, 3 }, - { 16, 20, 5, 8, 5, 3 }, { 16, 21, 4, 8, 5, 3 }, { 16, 22, 4, 8, 5, 3 }, { 16, 23, 4, 8, 5, 3 }, { 16, 24, 3, 8, 6, 4 }, - { 16, 25, 3, 8, 6, 4 }, { 16, 26, 2, 8, 6, 4 }, { 16, 27, 2, 8, 6, 4 }, { 16, 28, 1, 8, 6, 4 }, { 16, 29, 1, 8, 6, 4 }, - { 16, 30, 0, 8, 6, 4 }, { 16, 31, 0, 8, 6, 4 }, + 32, { + { 16, 0, 8, 8, 0, 0 }, { 16, 1, 8, 8, 0, 0 }, { 16, 2, 8, 8, 0, 0 }, { 16, 3, 8, 8, 0, 0 }, { 16, 4, 8, 8, 0, 0 }, + { 16, 5, 8, 8, 0, 0 }, { 16, 6, 8, 8, 0, 0 }, { 16, 7, 8, 8, 0, 0 }, { 16, 8, 7, 8, 5, 3 }, { 16, 9, 7, 8, 5, 3 }, + { 16, 10, 7, 8, 5, 3 }, { 16, 11, 7, 8, 5, 3 }, { 16, 12, 7, 8, 5, 3 }, { 16, 13, 7, 8, 5, 3 }, { 16, 14, 6, 8, 5, 3 }, + { 16, 15, 6, 8, 5, 3 }, { 16, 16, 6, 8, 5, 3 }, { 16, 17, 6, 8, 5, 3 }, { 16, 18, 5, 8, 5, 3 }, { 16, 19, 5, 8, 5, 3 }, + { 16, 20, 5, 8, 5, 3 }, { 16, 21, 4, 8, 5, 3 }, { 16, 22, 4, 8, 5, 3 }, { 16, 23, 4, 8, 5, 3 }, { 16, 24, 3, 8, 6, 4 }, + { 16, 25, 3, 8, 6, 4 }, { 16, 26, 2, 8, 6, 4 }, { 16, 27, 2, 8, 6, 4 }, { 16, 28, 1, 8, 6, 4 }, { 16, 29, 1, 8, 6, 4 }, + { 16, 30, 0, 8, 6, 4 }, { 16, 31, 0, 8, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_968A2A = { - 32, { - { 0, 16, 8, 16, 0, 0 }, { 1, 16, 8, 16, 0, 0 }, { 2, 16, 8, 16, 0, 0 }, { 3, 16, 8, 16, 0, 0 }, { 4, 16, 8, 16, 0, 0 }, - { 5, 16, 8, 16, 0, 0 }, { 6, 16, 8, 16, 0, 0 }, { 7, 16, 8, 16, 0, 0 }, { 8, 16, 7, 16, 5, 3 }, { 9, 16, 7, 16, 5, 3 }, - { 10, 16, 7, 16, 5, 3 }, { 11, 16, 7, 16, 5, 3 }, { 12, 16, 7, 16, 5, 3 }, { 13, 16, 7, 16, 5, 3 }, { 14, 16, 6, 16, 5, 3 }, - { 15, 16, 6, 16, 5, 3 }, { 16, 16, 6, 16, 5, 3 }, { 17, 16, 6, 16, 5, 3 }, { 18, 16, 5, 16, 5, 3 }, { 19, 16, 5, 16, 5, 3 }, - { 20, 16, 5, 16, 5, 3 }, { 21, 16, 4, 16, 5, 3 }, { 22, 16, 4, 16, 5, 3 }, { 23, 16, 4, 16, 5, 3 }, { 24, 16, 3, 16, 6, 4 }, - { 25, 16, 3, 16, 6, 4 }, { 26, 16, 2, 16, 6, 4 }, { 27, 16, 2, 16, 6, 4 }, { 28, 16, 1, 16, 6, 4 }, { 29, 16, 1, 16, 6, 4 }, - { 30, 16, 0, 16, 6, 4 }, { 31, 16, 0, 16, 6, 4 }, + 32, { + { 0, 16, 8, 16, 0, 0 }, { 1, 16, 8, 16, 0, 0 }, { 2, 16, 8, 16, 0, 0 }, { 3, 16, 8, 16, 0, 0 }, { 4, 16, 8, 16, 0, 0 }, + { 5, 16, 8, 16, 0, 0 }, { 6, 16, 8, 16, 0, 0 }, { 7, 16, 8, 16, 0, 0 }, { 8, 16, 7, 16, 5, 3 }, { 9, 16, 7, 16, 5, 3 }, + { 10, 16, 7, 16, 5, 3 }, { 11, 16, 7, 16, 5, 3 }, { 12, 16, 7, 16, 5, 3 }, { 13, 16, 7, 16, 5, 3 }, { 14, 16, 6, 16, 5, 3 }, + { 15, 16, 6, 16, 5, 3 }, { 16, 16, 6, 16, 5, 3 }, { 17, 16, 6, 16, 5, 3 }, { 18, 16, 5, 16, 5, 3 }, { 19, 16, 5, 16, 5, 3 }, + { 20, 16, 5, 16, 5, 3 }, { 21, 16, 4, 16, 5, 3 }, { 22, 16, 4, 16, 5, 3 }, { 23, 16, 4, 16, 5, 3 }, { 24, 16, 3, 16, 6, 4 }, + { 25, 16, 3, 16, 6, 4 }, { 26, 16, 2, 16, 6, 4 }, { 27, 16, 2, 16, 6, 4 }, { 28, 16, 1, 16, 6, 4 }, { 29, 16, 1, 16, 6, 4 }, + { 30, 16, 0, 16, 6, 4 }, { 31, 16, 0, 16, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_968B4C = { - 32, { - { 16, 31, 8, 24, 0, 0 }, { 16, 30, 8, 24, 0, 0 }, { 16, 29, 8, 24, 0, 0 }, { 16, 28, 8, 24, 0, 0 }, { 16, 27, 8, 24, 0, 0 }, - { 16, 26, 8, 24, 0, 0 }, { 16, 25, 8, 24, 0, 0 }, { 16, 24, 8, 24, 0, 0 }, { 16, 23, 7, 24, 5, 3 }, { 16, 22, 7, 24, 5, 3 }, - { 16, 21, 7, 24, 5, 3 }, { 16, 20, 7, 24, 5, 3 }, { 16, 19, 7, 24, 5, 3 }, { 16, 18, 7, 24, 5, 3 }, { 16, 17, 6, 24, 5, 3 }, - { 16, 16, 6, 24, 5, 3 }, { 16, 15, 6, 24, 5, 3 }, { 16, 14, 6, 24, 5, 3 }, { 16, 13, 5, 24, 5, 3 }, { 16, 12, 5, 24, 5, 3 }, - { 16, 11, 5, 24, 5, 3 }, { 16, 10, 4, 24, 5, 3 }, { 16, 9, 4, 24, 5, 3 }, { 16, 8, 4, 24, 5, 3 }, { 16, 7, 3, 24, 6, 4 }, - { 16, 6, 3, 24, 6, 4 }, { 16, 5, 2, 24, 6, 4 }, { 16, 4, 2, 24, 6, 4 }, { 16, 3, 1, 24, 6, 4 }, { 16, 2, 1, 24, 6, 4 }, - { 16, 1, 0, 24, 6, 4 }, { 16, 0, 0, 24, 6, 4 }, + 32, { + { 16, 31, 8, 24, 0, 0 }, { 16, 30, 8, 24, 0, 0 }, { 16, 29, 8, 24, 0, 0 }, { 16, 28, 8, 24, 0, 0 }, { 16, 27, 8, 24, 0, 0 }, + { 16, 26, 8, 24, 0, 0 }, { 16, 25, 8, 24, 0, 0 }, { 16, 24, 8, 24, 0, 0 }, { 16, 23, 7, 24, 5, 3 }, { 16, 22, 7, 24, 5, 3 }, + { 16, 21, 7, 24, 5, 3 }, { 16, 20, 7, 24, 5, 3 }, { 16, 19, 7, 24, 5, 3 }, { 16, 18, 7, 24, 5, 3 }, { 16, 17, 6, 24, 5, 3 }, + { 16, 16, 6, 24, 5, 3 }, { 16, 15, 6, 24, 5, 3 }, { 16, 14, 6, 24, 5, 3 }, { 16, 13, 5, 24, 5, 3 }, { 16, 12, 5, 24, 5, 3 }, + { 16, 11, 5, 24, 5, 3 }, { 16, 10, 4, 24, 5, 3 }, { 16, 9, 4, 24, 5, 3 }, { 16, 8, 4, 24, 5, 3 }, { 16, 7, 3, 24, 6, 4 }, + { 16, 6, 3, 24, 6, 4 }, { 16, 5, 2, 24, 6, 4 }, { 16, 4, 2, 24, 6, 4 }, { 16, 3, 1, 24, 6, 4 }, { 16, 2, 1, 24, 6, 4 }, + { 16, 1, 0, 24, 6, 4 }, { 16, 0, 0, 24, 6, 4 }, } }; const rct_vehicle_info_list TrackVehicleInfo_967A4E = { - 32, { - { 31, 16, 7, 0, 6, 2 }, { 30, 16, 7, 0, 6, 2 }, { 29, 16, 6, 0, 6, 2 }, { 28, 16, 6, 0, 6, 2 }, { 27, 16, 5, 0, 6, 2 }, - { 26, 16, 5, 0, 6, 2 }, { 25, 16, 4, 0, 6, 2 }, { 24, 16, 4, 0, 6, 2 }, { 23, 16, 4, 0, 5, 1 }, { 22, 16, 3, 0, 5, 1 }, - { 21, 16, 3, 0, 5, 1 }, { 20, 16, 3, 0, 5, 1 }, { 19, 16, 2, 0, 5, 1 }, { 18, 16, 2, 0, 5, 1 }, { 17, 16, 2, 0, 5, 1 }, - { 16, 16, 2, 0, 5, 1 }, { 15, 16, 1, 0, 5, 1 }, { 14, 16, 1, 0, 5, 1 }, { 13, 16, 1, 0, 5, 1 }, { 12, 16, 1, 0, 5, 1 }, - { 11, 16, 1, 0, 5, 1 }, { 10, 16, 1, 0, 5, 1 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, - { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, + 32, { + { 31, 16, 7, 0, 6, 2 }, { 30, 16, 7, 0, 6, 2 }, { 29, 16, 6, 0, 6, 2 }, { 28, 16, 6, 0, 6, 2 }, { 27, 16, 5, 0, 6, 2 }, + { 26, 16, 5, 0, 6, 2 }, { 25, 16, 4, 0, 6, 2 }, { 24, 16, 4, 0, 6, 2 }, { 23, 16, 4, 0, 5, 1 }, { 22, 16, 3, 0, 5, 1 }, + { 21, 16, 3, 0, 5, 1 }, { 20, 16, 3, 0, 5, 1 }, { 19, 16, 2, 0, 5, 1 }, { 18, 16, 2, 0, 5, 1 }, { 17, 16, 2, 0, 5, 1 }, + { 16, 16, 2, 0, 5, 1 }, { 15, 16, 1, 0, 5, 1 }, { 14, 16, 1, 0, 5, 1 }, { 13, 16, 1, 0, 5, 1 }, { 12, 16, 1, 0, 5, 1 }, + { 11, 16, 1, 0, 5, 1 }, { 10, 16, 1, 0, 5, 1 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, + { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_967B70 = { - 32, { - { 16, 0, 7, 8, 6, 2 }, { 16, 1, 7, 8, 6, 2 }, { 16, 2, 6, 8, 6, 2 }, { 16, 3, 6, 8, 6, 2 }, { 16, 4, 5, 8, 6, 2 }, - { 16, 5, 5, 8, 6, 2 }, { 16, 6, 4, 8, 6, 2 }, { 16, 7, 4, 8, 6, 2 }, { 16, 8, 4, 8, 5, 1 }, { 16, 9, 3, 8, 5, 1 }, - { 16, 10, 3, 8, 5, 1 }, { 16, 11, 3, 8, 5, 1 }, { 16, 12, 2, 8, 5, 1 }, { 16, 13, 2, 8, 5, 1 }, { 16, 14, 2, 8, 5, 1 }, - { 16, 15, 2, 8, 5, 1 }, { 16, 16, 1, 8, 5, 1 }, { 16, 17, 1, 8, 5, 1 }, { 16, 18, 1, 8, 5, 1 }, { 16, 19, 1, 8, 5, 1 }, - { 16, 20, 1, 8, 5, 1 }, { 16, 21, 1, 8, 5, 1 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, + 32, { + { 16, 0, 7, 8, 6, 2 }, { 16, 1, 7, 8, 6, 2 }, { 16, 2, 6, 8, 6, 2 }, { 16, 3, 6, 8, 6, 2 }, { 16, 4, 5, 8, 6, 2 }, + { 16, 5, 5, 8, 6, 2 }, { 16, 6, 4, 8, 6, 2 }, { 16, 7, 4, 8, 6, 2 }, { 16, 8, 4, 8, 5, 1 }, { 16, 9, 3, 8, 5, 1 }, + { 16, 10, 3, 8, 5, 1 }, { 16, 11, 3, 8, 5, 1 }, { 16, 12, 2, 8, 5, 1 }, { 16, 13, 2, 8, 5, 1 }, { 16, 14, 2, 8, 5, 1 }, + { 16, 15, 2, 8, 5, 1 }, { 16, 16, 1, 8, 5, 1 }, { 16, 17, 1, 8, 5, 1 }, { 16, 18, 1, 8, 5, 1 }, { 16, 19, 1, 8, 5, 1 }, + { 16, 20, 1, 8, 5, 1 }, { 16, 21, 1, 8, 5, 1 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_967C92 = { - 32, { - { 0, 16, 7, 16, 6, 2 }, { 1, 16, 7, 16, 6, 2 }, { 2, 16, 6, 16, 6, 2 }, { 3, 16, 6, 16, 6, 2 }, { 4, 16, 5, 16, 6, 2 }, - { 5, 16, 5, 16, 6, 2 }, { 6, 16, 4, 16, 6, 2 }, { 7, 16, 4, 16, 6, 2 }, { 8, 16, 4, 16, 5, 1 }, { 9, 16, 3, 16, 5, 1 }, - { 10, 16, 3, 16, 5, 1 }, { 11, 16, 3, 16, 5, 1 }, { 12, 16, 2, 16, 5, 1 }, { 13, 16, 2, 16, 5, 1 }, { 14, 16, 2, 16, 5, 1 }, - { 15, 16, 2, 16, 5, 1 }, { 16, 16, 1, 16, 5, 1 }, { 17, 16, 1, 16, 5, 1 }, { 18, 16, 1, 16, 5, 1 }, { 19, 16, 1, 16, 5, 1 }, - { 20, 16, 1, 16, 5, 1 }, { 21, 16, 1, 16, 5, 1 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, - { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, + 32, { + { 0, 16, 7, 16, 6, 2 }, { 1, 16, 7, 16, 6, 2 }, { 2, 16, 6, 16, 6, 2 }, { 3, 16, 6, 16, 6, 2 }, { 4, 16, 5, 16, 6, 2 }, + { 5, 16, 5, 16, 6, 2 }, { 6, 16, 4, 16, 6, 2 }, { 7, 16, 4, 16, 6, 2 }, { 8, 16, 4, 16, 5, 1 }, { 9, 16, 3, 16, 5, 1 }, + { 10, 16, 3, 16, 5, 1 }, { 11, 16, 3, 16, 5, 1 }, { 12, 16, 2, 16, 5, 1 }, { 13, 16, 2, 16, 5, 1 }, { 14, 16, 2, 16, 5, 1 }, + { 15, 16, 2, 16, 5, 1 }, { 16, 16, 1, 16, 5, 1 }, { 17, 16, 1, 16, 5, 1 }, { 18, 16, 1, 16, 5, 1 }, { 19, 16, 1, 16, 5, 1 }, + { 20, 16, 1, 16, 5, 1 }, { 21, 16, 1, 16, 5, 1 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, + { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_967DB4 = { - 32, { - { 16, 31, 7, 24, 6, 2 }, { 16, 30, 7, 24, 6, 2 }, { 16, 29, 6, 24, 6, 2 }, { 16, 28, 6, 24, 6, 2 }, { 16, 27, 5, 24, 6, 2 }, - { 16, 26, 5, 24, 6, 2 }, { 16, 25, 4, 24, 6, 2 }, { 16, 24, 4, 24, 6, 2 }, { 16, 23, 4, 24, 5, 1 }, { 16, 22, 3, 24, 5, 1 }, - { 16, 21, 3, 24, 5, 1 }, { 16, 20, 3, 24, 5, 1 }, { 16, 19, 2, 24, 5, 1 }, { 16, 18, 2, 24, 5, 1 }, { 16, 17, 2, 24, 5, 1 }, - { 16, 16, 2, 24, 5, 1 }, { 16, 15, 1, 24, 5, 1 }, { 16, 14, 1, 24, 5, 1 }, { 16, 13, 1, 24, 5, 1 }, { 16, 12, 1, 24, 5, 1 }, - { 16, 11, 1, 24, 5, 1 }, { 16, 10, 1, 24, 5, 1 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, - { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, + 32, { + { 16, 31, 7, 24, 6, 2 }, { 16, 30, 7, 24, 6, 2 }, { 16, 29, 6, 24, 6, 2 }, { 16, 28, 6, 24, 6, 2 }, { 16, 27, 5, 24, 6, 2 }, + { 16, 26, 5, 24, 6, 2 }, { 16, 25, 4, 24, 6, 2 }, { 16, 24, 4, 24, 6, 2 }, { 16, 23, 4, 24, 5, 1 }, { 16, 22, 3, 24, 5, 1 }, + { 16, 21, 3, 24, 5, 1 }, { 16, 20, 3, 24, 5, 1 }, { 16, 19, 2, 24, 5, 1 }, { 16, 18, 2, 24, 5, 1 }, { 16, 17, 2, 24, 5, 1 }, + { 16, 16, 2, 24, 5, 1 }, { 16, 15, 1, 24, 5, 1 }, { 16, 14, 1, 24, 5, 1 }, { 16, 13, 1, 24, 5, 1 }, { 16, 12, 1, 24, 5, 1 }, + { 16, 11, 1, 24, 5, 1 }, { 16, 10, 1, 24, 5, 1 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, + { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_967ED6 = { - 32, { - { 31, 16, 7, 0, 6, 4 }, { 30, 16, 7, 0, 6, 4 }, { 29, 16, 6, 0, 6, 4 }, { 28, 16, 6, 0, 6, 4 }, { 27, 16, 5, 0, 6, 4 }, - { 26, 16, 5, 0, 6, 4 }, { 25, 16, 4, 0, 6, 4 }, { 24, 16, 4, 0, 6, 4 }, { 23, 16, 4, 0, 5, 3 }, { 22, 16, 3, 0, 5, 3 }, - { 21, 16, 3, 0, 5, 3 }, { 20, 16, 3, 0, 5, 3 }, { 19, 16, 2, 0, 5, 3 }, { 18, 16, 2, 0, 5, 3 }, { 17, 16, 2, 0, 5, 3 }, - { 16, 16, 2, 0, 5, 3 }, { 15, 16, 1, 0, 5, 3 }, { 14, 16, 1, 0, 5, 3 }, { 13, 16, 1, 0, 5, 3 }, { 12, 16, 1, 0, 5, 3 }, - { 11, 16, 1, 0, 5, 3 }, { 10, 16, 1, 0, 5, 3 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, - { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, + 32, { + { 31, 16, 7, 0, 6, 4 }, { 30, 16, 7, 0, 6, 4 }, { 29, 16, 6, 0, 6, 4 }, { 28, 16, 6, 0, 6, 4 }, { 27, 16, 5, 0, 6, 4 }, + { 26, 16, 5, 0, 6, 4 }, { 25, 16, 4, 0, 6, 4 }, { 24, 16, 4, 0, 6, 4 }, { 23, 16, 4, 0, 5, 3 }, { 22, 16, 3, 0, 5, 3 }, + { 21, 16, 3, 0, 5, 3 }, { 20, 16, 3, 0, 5, 3 }, { 19, 16, 2, 0, 5, 3 }, { 18, 16, 2, 0, 5, 3 }, { 17, 16, 2, 0, 5, 3 }, + { 16, 16, 2, 0, 5, 3 }, { 15, 16, 1, 0, 5, 3 }, { 14, 16, 1, 0, 5, 3 }, { 13, 16, 1, 0, 5, 3 }, { 12, 16, 1, 0, 5, 3 }, + { 11, 16, 1, 0, 5, 3 }, { 10, 16, 1, 0, 5, 3 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, + { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_967FF8 = { - 32, { - { 16, 0, 7, 8, 6, 4 }, { 16, 1, 7, 8, 6, 4 }, { 16, 2, 6, 8, 6, 4 }, { 16, 3, 6, 8, 6, 4 }, { 16, 4, 5, 8, 6, 4 }, - { 16, 5, 5, 8, 6, 4 }, { 16, 6, 4, 8, 6, 4 }, { 16, 7, 4, 8, 6, 4 }, { 16, 8, 4, 8, 5, 3 }, { 16, 9, 3, 8, 5, 3 }, - { 16, 10, 3, 8, 5, 3 }, { 16, 11, 3, 8, 5, 3 }, { 16, 12, 2, 8, 5, 3 }, { 16, 13, 2, 8, 5, 3 }, { 16, 14, 2, 8, 5, 3 }, - { 16, 15, 2, 8, 5, 3 }, { 16, 16, 1, 8, 5, 3 }, { 16, 17, 1, 8, 5, 3 }, { 16, 18, 1, 8, 5, 3 }, { 16, 19, 1, 8, 5, 3 }, - { 16, 20, 1, 8, 5, 3 }, { 16, 21, 1, 8, 5, 3 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, + 32, { + { 16, 0, 7, 8, 6, 4 }, { 16, 1, 7, 8, 6, 4 }, { 16, 2, 6, 8, 6, 4 }, { 16, 3, 6, 8, 6, 4 }, { 16, 4, 5, 8, 6, 4 }, + { 16, 5, 5, 8, 6, 4 }, { 16, 6, 4, 8, 6, 4 }, { 16, 7, 4, 8, 6, 4 }, { 16, 8, 4, 8, 5, 3 }, { 16, 9, 3, 8, 5, 3 }, + { 16, 10, 3, 8, 5, 3 }, { 16, 11, 3, 8, 5, 3 }, { 16, 12, 2, 8, 5, 3 }, { 16, 13, 2, 8, 5, 3 }, { 16, 14, 2, 8, 5, 3 }, + { 16, 15, 2, 8, 5, 3 }, { 16, 16, 1, 8, 5, 3 }, { 16, 17, 1, 8, 5, 3 }, { 16, 18, 1, 8, 5, 3 }, { 16, 19, 1, 8, 5, 3 }, + { 16, 20, 1, 8, 5, 3 }, { 16, 21, 1, 8, 5, 3 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96811A = { - 32, { - { 0, 16, 7, 16, 6, 4 }, { 1, 16, 7, 16, 6, 4 }, { 2, 16, 6, 16, 6, 4 }, { 3, 16, 6, 16, 6, 4 }, { 4, 16, 5, 16, 6, 4 }, - { 5, 16, 5, 16, 6, 4 }, { 6, 16, 4, 16, 6, 4 }, { 7, 16, 4, 16, 6, 4 }, { 8, 16, 4, 16, 5, 3 }, { 9, 16, 3, 16, 5, 3 }, - { 10, 16, 3, 16, 5, 3 }, { 11, 16, 3, 16, 5, 3 }, { 12, 16, 2, 16, 5, 3 }, { 13, 16, 2, 16, 5, 3 }, { 14, 16, 2, 16, 5, 3 }, - { 15, 16, 2, 16, 5, 3 }, { 16, 16, 1, 16, 5, 3 }, { 17, 16, 1, 16, 5, 3 }, { 18, 16, 1, 16, 5, 3 }, { 19, 16, 1, 16, 5, 3 }, - { 20, 16, 1, 16, 5, 3 }, { 21, 16, 1, 16, 5, 3 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, - { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, + 32, { + { 0, 16, 7, 16, 6, 4 }, { 1, 16, 7, 16, 6, 4 }, { 2, 16, 6, 16, 6, 4 }, { 3, 16, 6, 16, 6, 4 }, { 4, 16, 5, 16, 6, 4 }, + { 5, 16, 5, 16, 6, 4 }, { 6, 16, 4, 16, 6, 4 }, { 7, 16, 4, 16, 6, 4 }, { 8, 16, 4, 16, 5, 3 }, { 9, 16, 3, 16, 5, 3 }, + { 10, 16, 3, 16, 5, 3 }, { 11, 16, 3, 16, 5, 3 }, { 12, 16, 2, 16, 5, 3 }, { 13, 16, 2, 16, 5, 3 }, { 14, 16, 2, 16, 5, 3 }, + { 15, 16, 2, 16, 5, 3 }, { 16, 16, 1, 16, 5, 3 }, { 17, 16, 1, 16, 5, 3 }, { 18, 16, 1, 16, 5, 3 }, { 19, 16, 1, 16, 5, 3 }, + { 20, 16, 1, 16, 5, 3 }, { 21, 16, 1, 16, 5, 3 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, + { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96823C = { - 32, { - { 16, 31, 7, 24, 6, 4 }, { 16, 30, 7, 24, 6, 4 }, { 16, 29, 6, 24, 6, 4 }, { 16, 28, 6, 24, 6, 4 }, { 16, 27, 5, 24, 6, 4 }, - { 16, 26, 5, 24, 6, 4 }, { 16, 25, 4, 24, 6, 4 }, { 16, 24, 4, 24, 6, 4 }, { 16, 23, 4, 24, 5, 3 }, { 16, 22, 3, 24, 5, 3 }, - { 16, 21, 3, 24, 5, 3 }, { 16, 20, 3, 24, 5, 3 }, { 16, 19, 2, 24, 5, 3 }, { 16, 18, 2, 24, 5, 3 }, { 16, 17, 2, 24, 5, 3 }, - { 16, 16, 2, 24, 5, 3 }, { 16, 15, 1, 24, 5, 3 }, { 16, 14, 1, 24, 5, 3 }, { 16, 13, 1, 24, 5, 3 }, { 16, 12, 1, 24, 5, 3 }, - { 16, 11, 1, 24, 5, 3 }, { 16, 10, 1, 24, 5, 3 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, - { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, + 32, { + { 16, 31, 7, 24, 6, 4 }, { 16, 30, 7, 24, 6, 4 }, { 16, 29, 6, 24, 6, 4 }, { 16, 28, 6, 24, 6, 4 }, { 16, 27, 5, 24, 6, 4 }, + { 16, 26, 5, 24, 6, 4 }, { 16, 25, 4, 24, 6, 4 }, { 16, 24, 4, 24, 6, 4 }, { 16, 23, 4, 24, 5, 3 }, { 16, 22, 3, 24, 5, 3 }, + { 16, 21, 3, 24, 5, 3 }, { 16, 20, 3, 24, 5, 3 }, { 16, 19, 2, 24, 5, 3 }, { 16, 18, 2, 24, 5, 3 }, { 16, 17, 2, 24, 5, 3 }, + { 16, 16, 2, 24, 5, 3 }, { 16, 15, 1, 24, 5, 3 }, { 16, 14, 1, 24, 5, 3 }, { 16, 13, 1, 24, 5, 3 }, { 16, 12, 1, 24, 5, 3 }, + { 16, 11, 1, 24, 5, 3 }, { 16, 10, 1, 24, 5, 3 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, + { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_969E8E = { - 96, { - { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, - { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 31, 10, 0 }, { 16, 16, 7, 31, 10, 0 }, { 16, 16, 8, 31, 10, 0 }, { 16, 16, 9, 31, 10, 0 }, - { 16, 16, 10, 31, 10, 0 }, { 16, 16, 11, 31, 10, 0 }, { 16, 16, 12, 31, 10, 0 }, { 16, 16, 13, 31, 10, 0 }, { 16, 16, 14, 31, 10, 0 }, - { 16, 16, 15, 31, 10, 0 }, { 16, 16, 16, 31, 10, 0 }, { 16, 16, 17, 31, 10, 0 }, { 16, 16, 18, 30, 10, 0 }, { 16, 16, 19, 30, 10, 0 }, - { 16, 16, 20, 30, 10, 0 }, { 16, 16, 21, 30, 10, 0 }, { 16, 16, 22, 30, 10, 0 }, { 16, 16, 23, 30, 10, 0 }, { 16, 16, 24, 30, 10, 0 }, - { 16, 16, 25, 30, 10, 0 }, { 16, 16, 26, 30, 10, 0 }, { 16, 16, 27, 30, 10, 0 }, { 16, 16, 28, 30, 10, 0 }, { 16, 16, 29, 30, 10, 0 }, - { 16, 16, 30, 29, 10, 0 }, { 16, 16, 31, 29, 10, 0 }, { 16, 16, 32, 29, 10, 0 }, { 16, 16, 33, 29, 10, 0 }, { 16, 16, 34, 29, 10, 0 }, - { 16, 16, 35, 29, 10, 0 }, { 16, 16, 36, 29, 10, 0 }, { 16, 16, 37, 29, 10, 0 }, { 16, 16, 38, 29, 10, 0 }, { 16, 16, 39, 29, 10, 0 }, - { 16, 16, 40, 29, 10, 0 }, { 16, 16, 41, 29, 10, 0 }, { 16, 16, 42, 28, 10, 0 }, { 16, 16, 43, 28, 10, 0 }, { 16, 16, 44, 28, 10, 0 }, - { 16, 16, 45, 28, 10, 0 }, { 16, 16, 46, 28, 10, 0 }, { 16, 16, 47, 28, 10, 0 }, { 16, 16, 48, 28, 10, 0 }, { 16, 16, 49, 28, 10, 0 }, - { 16, 16, 50, 28, 10, 0 }, { 16, 16, 51, 28, 10, 0 }, { 16, 16, 52, 28, 10, 0 }, { 16, 16, 53, 28, 10, 0 }, { 16, 16, 54, 27, 10, 0 }, - { 16, 16, 55, 27, 10, 0 }, { 16, 16, 56, 27, 10, 0 }, { 16, 16, 57, 27, 10, 0 }, { 16, 16, 58, 27, 10, 0 }, { 16, 16, 59, 27, 10, 0 }, - { 16, 16, 60, 27, 10, 0 }, { 16, 16, 61, 27, 10, 0 }, { 16, 16, 62, 27, 10, 0 }, { 16, 16, 63, 27, 10, 0 }, { 16, 16, 64, 27, 10, 0 }, - { 16, 16, 65, 27, 10, 0 }, { 16, 16, 66, 26, 10, 0 }, { 16, 16, 67, 26, 10, 0 }, { 16, 16, 68, 26, 10, 0 }, { 16, 16, 69, 26, 10, 0 }, - { 16, 16, 70, 26, 10, 0 }, { 16, 16, 71, 26, 10, 0 }, { 16, 16, 72, 26, 10, 0 }, { 16, 16, 73, 26, 10, 0 }, { 16, 16, 74, 26, 10, 0 }, - { 16, 16, 75, 26, 10, 0 }, { 16, 16, 76, 26, 10, 0 }, { 16, 16, 77, 26, 10, 0 }, { 16, 16, 78, 25, 10, 0 }, { 16, 16, 79, 25, 10, 0 }, - { 16, 16, 80, 25, 10, 0 }, { 16, 16, 81, 25, 10, 0 }, { 16, 16, 82, 25, 10, 0 }, { 16, 16, 83, 25, 10, 0 }, { 16, 16, 84, 25, 10, 0 }, - { 16, 16, 85, 25, 10, 0 }, { 16, 16, 86, 25, 10, 0 }, { 16, 16, 87, 25, 10, 0 }, { 16, 16, 88, 25, 10, 0 }, { 16, 16, 89, 25, 10, 0 }, - { 16, 16, 90, 24, 10, 0 }, { 16, 16, 91, 24, 10, 0 }, { 16, 16, 92, 24, 10, 0 }, { 16, 16, 93, 24, 10, 0 }, { 16, 16, 94, 24, 10, 0 }, - { 16, 16, 95, 24, 10, 0 }, + 96, { + { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, + { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 31, 10, 0 }, { 16, 16, 7, 31, 10, 0 }, { 16, 16, 8, 31, 10, 0 }, { 16, 16, 9, 31, 10, 0 }, + { 16, 16, 10, 31, 10, 0 }, { 16, 16, 11, 31, 10, 0 }, { 16, 16, 12, 31, 10, 0 }, { 16, 16, 13, 31, 10, 0 }, { 16, 16, 14, 31, 10, 0 }, + { 16, 16, 15, 31, 10, 0 }, { 16, 16, 16, 31, 10, 0 }, { 16, 16, 17, 31, 10, 0 }, { 16, 16, 18, 30, 10, 0 }, { 16, 16, 19, 30, 10, 0 }, + { 16, 16, 20, 30, 10, 0 }, { 16, 16, 21, 30, 10, 0 }, { 16, 16, 22, 30, 10, 0 }, { 16, 16, 23, 30, 10, 0 }, { 16, 16, 24, 30, 10, 0 }, + { 16, 16, 25, 30, 10, 0 }, { 16, 16, 26, 30, 10, 0 }, { 16, 16, 27, 30, 10, 0 }, { 16, 16, 28, 30, 10, 0 }, { 16, 16, 29, 30, 10, 0 }, + { 16, 16, 30, 29, 10, 0 }, { 16, 16, 31, 29, 10, 0 }, { 16, 16, 32, 29, 10, 0 }, { 16, 16, 33, 29, 10, 0 }, { 16, 16, 34, 29, 10, 0 }, + { 16, 16, 35, 29, 10, 0 }, { 16, 16, 36, 29, 10, 0 }, { 16, 16, 37, 29, 10, 0 }, { 16, 16, 38, 29, 10, 0 }, { 16, 16, 39, 29, 10, 0 }, + { 16, 16, 40, 29, 10, 0 }, { 16, 16, 41, 29, 10, 0 }, { 16, 16, 42, 28, 10, 0 }, { 16, 16, 43, 28, 10, 0 }, { 16, 16, 44, 28, 10, 0 }, + { 16, 16, 45, 28, 10, 0 }, { 16, 16, 46, 28, 10, 0 }, { 16, 16, 47, 28, 10, 0 }, { 16, 16, 48, 28, 10, 0 }, { 16, 16, 49, 28, 10, 0 }, + { 16, 16, 50, 28, 10, 0 }, { 16, 16, 51, 28, 10, 0 }, { 16, 16, 52, 28, 10, 0 }, { 16, 16, 53, 28, 10, 0 }, { 16, 16, 54, 27, 10, 0 }, + { 16, 16, 55, 27, 10, 0 }, { 16, 16, 56, 27, 10, 0 }, { 16, 16, 57, 27, 10, 0 }, { 16, 16, 58, 27, 10, 0 }, { 16, 16, 59, 27, 10, 0 }, + { 16, 16, 60, 27, 10, 0 }, { 16, 16, 61, 27, 10, 0 }, { 16, 16, 62, 27, 10, 0 }, { 16, 16, 63, 27, 10, 0 }, { 16, 16, 64, 27, 10, 0 }, + { 16, 16, 65, 27, 10, 0 }, { 16, 16, 66, 26, 10, 0 }, { 16, 16, 67, 26, 10, 0 }, { 16, 16, 68, 26, 10, 0 }, { 16, 16, 69, 26, 10, 0 }, + { 16, 16, 70, 26, 10, 0 }, { 16, 16, 71, 26, 10, 0 }, { 16, 16, 72, 26, 10, 0 }, { 16, 16, 73, 26, 10, 0 }, { 16, 16, 74, 26, 10, 0 }, + { 16, 16, 75, 26, 10, 0 }, { 16, 16, 76, 26, 10, 0 }, { 16, 16, 77, 26, 10, 0 }, { 16, 16, 78, 25, 10, 0 }, { 16, 16, 79, 25, 10, 0 }, + { 16, 16, 80, 25, 10, 0 }, { 16, 16, 81, 25, 10, 0 }, { 16, 16, 82, 25, 10, 0 }, { 16, 16, 83, 25, 10, 0 }, { 16, 16, 84, 25, 10, 0 }, + { 16, 16, 85, 25, 10, 0 }, { 16, 16, 86, 25, 10, 0 }, { 16, 16, 87, 25, 10, 0 }, { 16, 16, 88, 25, 10, 0 }, { 16, 16, 89, 25, 10, 0 }, + { 16, 16, 90, 24, 10, 0 }, { 16, 16, 91, 24, 10, 0 }, { 16, 16, 92, 24, 10, 0 }, { 16, 16, 93, 24, 10, 0 }, { 16, 16, 94, 24, 10, 0 }, + { 16, 16, 95, 24, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96A1F0 = { - 96, { - { 16, 16, 0, 8, 10, 0 }, { 16, 16, 1, 8, 10, 0 }, { 16, 16, 2, 8, 10, 0 }, { 16, 16, 3, 8, 10, 0 }, { 16, 16, 4, 8, 10, 0 }, - { 16, 16, 5, 8, 10, 0 }, { 16, 16, 6, 7, 10, 0 }, { 16, 16, 7, 7, 10, 0 }, { 16, 16, 8, 7, 10, 0 }, { 16, 16, 9, 7, 10, 0 }, - { 16, 16, 10, 7, 10, 0 }, { 16, 16, 11, 7, 10, 0 }, { 16, 16, 12, 7, 10, 0 }, { 16, 16, 13, 7, 10, 0 }, { 16, 16, 14, 7, 10, 0 }, - { 16, 16, 15, 7, 10, 0 }, { 16, 16, 16, 7, 10, 0 }, { 16, 16, 17, 7, 10, 0 }, { 16, 16, 18, 6, 10, 0 }, { 16, 16, 19, 6, 10, 0 }, - { 16, 16, 20, 6, 10, 0 }, { 16, 16, 21, 6, 10, 0 }, { 16, 16, 22, 6, 10, 0 }, { 16, 16, 23, 6, 10, 0 }, { 16, 16, 24, 6, 10, 0 }, - { 16, 16, 25, 6, 10, 0 }, { 16, 16, 26, 6, 10, 0 }, { 16, 16, 27, 6, 10, 0 }, { 16, 16, 28, 6, 10, 0 }, { 16, 16, 29, 6, 10, 0 }, - { 16, 16, 30, 5, 10, 0 }, { 16, 16, 31, 5, 10, 0 }, { 16, 16, 32, 5, 10, 0 }, { 16, 16, 33, 5, 10, 0 }, { 16, 16, 34, 5, 10, 0 }, - { 16, 16, 35, 5, 10, 0 }, { 16, 16, 36, 5, 10, 0 }, { 16, 16, 37, 5, 10, 0 }, { 16, 16, 38, 5, 10, 0 }, { 16, 16, 39, 5, 10, 0 }, - { 16, 16, 40, 5, 10, 0 }, { 16, 16, 41, 5, 10, 0 }, { 16, 16, 42, 4, 10, 0 }, { 16, 16, 43, 4, 10, 0 }, { 16, 16, 44, 4, 10, 0 }, - { 16, 16, 45, 4, 10, 0 }, { 16, 16, 46, 4, 10, 0 }, { 16, 16, 47, 4, 10, 0 }, { 16, 16, 48, 4, 10, 0 }, { 16, 16, 49, 4, 10, 0 }, - { 16, 16, 50, 4, 10, 0 }, { 16, 16, 51, 4, 10, 0 }, { 16, 16, 52, 4, 10, 0 }, { 16, 16, 53, 4, 10, 0 }, { 16, 16, 54, 3, 10, 0 }, - { 16, 16, 55, 3, 10, 0 }, { 16, 16, 56, 3, 10, 0 }, { 16, 16, 57, 3, 10, 0 }, { 16, 16, 58, 3, 10, 0 }, { 16, 16, 59, 3, 10, 0 }, - { 16, 16, 60, 3, 10, 0 }, { 16, 16, 61, 3, 10, 0 }, { 16, 16, 62, 3, 10, 0 }, { 16, 16, 63, 3, 10, 0 }, { 16, 16, 64, 3, 10, 0 }, - { 16, 16, 65, 3, 10, 0 }, { 16, 16, 66, 2, 10, 0 }, { 16, 16, 67, 2, 10, 0 }, { 16, 16, 68, 2, 10, 0 }, { 16, 16, 69, 2, 10, 0 }, - { 16, 16, 70, 2, 10, 0 }, { 16, 16, 71, 2, 10, 0 }, { 16, 16, 72, 2, 10, 0 }, { 16, 16, 73, 2, 10, 0 }, { 16, 16, 74, 2, 10, 0 }, - { 16, 16, 75, 2, 10, 0 }, { 16, 16, 76, 2, 10, 0 }, { 16, 16, 77, 2, 10, 0 }, { 16, 16, 78, 1, 10, 0 }, { 16, 16, 79, 1, 10, 0 }, - { 16, 16, 80, 1, 10, 0 }, { 16, 16, 81, 1, 10, 0 }, { 16, 16, 82, 1, 10, 0 }, { 16, 16, 83, 1, 10, 0 }, { 16, 16, 84, 1, 10, 0 }, - { 16, 16, 85, 1, 10, 0 }, { 16, 16, 86, 1, 10, 0 }, { 16, 16, 87, 1, 10, 0 }, { 16, 16, 88, 1, 10, 0 }, { 16, 16, 89, 1, 10, 0 }, - { 16, 16, 90, 0, 10, 0 }, { 16, 16, 91, 0, 10, 0 }, { 16, 16, 92, 0, 10, 0 }, { 16, 16, 93, 0, 10, 0 }, { 16, 16, 94, 0, 10, 0 }, - { 16, 16, 95, 0, 10, 0 }, + 96, { + { 16, 16, 0, 8, 10, 0 }, { 16, 16, 1, 8, 10, 0 }, { 16, 16, 2, 8, 10, 0 }, { 16, 16, 3, 8, 10, 0 }, { 16, 16, 4, 8, 10, 0 }, + { 16, 16, 5, 8, 10, 0 }, { 16, 16, 6, 7, 10, 0 }, { 16, 16, 7, 7, 10, 0 }, { 16, 16, 8, 7, 10, 0 }, { 16, 16, 9, 7, 10, 0 }, + { 16, 16, 10, 7, 10, 0 }, { 16, 16, 11, 7, 10, 0 }, { 16, 16, 12, 7, 10, 0 }, { 16, 16, 13, 7, 10, 0 }, { 16, 16, 14, 7, 10, 0 }, + { 16, 16, 15, 7, 10, 0 }, { 16, 16, 16, 7, 10, 0 }, { 16, 16, 17, 7, 10, 0 }, { 16, 16, 18, 6, 10, 0 }, { 16, 16, 19, 6, 10, 0 }, + { 16, 16, 20, 6, 10, 0 }, { 16, 16, 21, 6, 10, 0 }, { 16, 16, 22, 6, 10, 0 }, { 16, 16, 23, 6, 10, 0 }, { 16, 16, 24, 6, 10, 0 }, + { 16, 16, 25, 6, 10, 0 }, { 16, 16, 26, 6, 10, 0 }, { 16, 16, 27, 6, 10, 0 }, { 16, 16, 28, 6, 10, 0 }, { 16, 16, 29, 6, 10, 0 }, + { 16, 16, 30, 5, 10, 0 }, { 16, 16, 31, 5, 10, 0 }, { 16, 16, 32, 5, 10, 0 }, { 16, 16, 33, 5, 10, 0 }, { 16, 16, 34, 5, 10, 0 }, + { 16, 16, 35, 5, 10, 0 }, { 16, 16, 36, 5, 10, 0 }, { 16, 16, 37, 5, 10, 0 }, { 16, 16, 38, 5, 10, 0 }, { 16, 16, 39, 5, 10, 0 }, + { 16, 16, 40, 5, 10, 0 }, { 16, 16, 41, 5, 10, 0 }, { 16, 16, 42, 4, 10, 0 }, { 16, 16, 43, 4, 10, 0 }, { 16, 16, 44, 4, 10, 0 }, + { 16, 16, 45, 4, 10, 0 }, { 16, 16, 46, 4, 10, 0 }, { 16, 16, 47, 4, 10, 0 }, { 16, 16, 48, 4, 10, 0 }, { 16, 16, 49, 4, 10, 0 }, + { 16, 16, 50, 4, 10, 0 }, { 16, 16, 51, 4, 10, 0 }, { 16, 16, 52, 4, 10, 0 }, { 16, 16, 53, 4, 10, 0 }, { 16, 16, 54, 3, 10, 0 }, + { 16, 16, 55, 3, 10, 0 }, { 16, 16, 56, 3, 10, 0 }, { 16, 16, 57, 3, 10, 0 }, { 16, 16, 58, 3, 10, 0 }, { 16, 16, 59, 3, 10, 0 }, + { 16, 16, 60, 3, 10, 0 }, { 16, 16, 61, 3, 10, 0 }, { 16, 16, 62, 3, 10, 0 }, { 16, 16, 63, 3, 10, 0 }, { 16, 16, 64, 3, 10, 0 }, + { 16, 16, 65, 3, 10, 0 }, { 16, 16, 66, 2, 10, 0 }, { 16, 16, 67, 2, 10, 0 }, { 16, 16, 68, 2, 10, 0 }, { 16, 16, 69, 2, 10, 0 }, + { 16, 16, 70, 2, 10, 0 }, { 16, 16, 71, 2, 10, 0 }, { 16, 16, 72, 2, 10, 0 }, { 16, 16, 73, 2, 10, 0 }, { 16, 16, 74, 2, 10, 0 }, + { 16, 16, 75, 2, 10, 0 }, { 16, 16, 76, 2, 10, 0 }, { 16, 16, 77, 2, 10, 0 }, { 16, 16, 78, 1, 10, 0 }, { 16, 16, 79, 1, 10, 0 }, + { 16, 16, 80, 1, 10, 0 }, { 16, 16, 81, 1, 10, 0 }, { 16, 16, 82, 1, 10, 0 }, { 16, 16, 83, 1, 10, 0 }, { 16, 16, 84, 1, 10, 0 }, + { 16, 16, 85, 1, 10, 0 }, { 16, 16, 86, 1, 10, 0 }, { 16, 16, 87, 1, 10, 0 }, { 16, 16, 88, 1, 10, 0 }, { 16, 16, 89, 1, 10, 0 }, + { 16, 16, 90, 0, 10, 0 }, { 16, 16, 91, 0, 10, 0 }, { 16, 16, 92, 0, 10, 0 }, { 16, 16, 93, 0, 10, 0 }, { 16, 16, 94, 0, 10, 0 }, + { 16, 16, 95, 0, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96A552 = { - 96, { - { 16, 16, 0, 16, 10, 0 }, { 16, 16, 1, 16, 10, 0 }, { 16, 16, 2, 16, 10, 0 }, { 16, 16, 3, 16, 10, 0 }, { 16, 16, 4, 16, 10, 0 }, - { 16, 16, 5, 16, 10, 0 }, { 16, 16, 6, 15, 10, 0 }, { 16, 16, 7, 15, 10, 0 }, { 16, 16, 8, 15, 10, 0 }, { 16, 16, 9, 15, 10, 0 }, - { 16, 16, 10, 15, 10, 0 }, { 16, 16, 11, 15, 10, 0 }, { 16, 16, 12, 15, 10, 0 }, { 16, 16, 13, 15, 10, 0 }, { 16, 16, 14, 15, 10, 0 }, - { 16, 16, 15, 15, 10, 0 }, { 16, 16, 16, 15, 10, 0 }, { 16, 16, 17, 15, 10, 0 }, { 16, 16, 18, 14, 10, 0 }, { 16, 16, 19, 14, 10, 0 }, - { 16, 16, 20, 14, 10, 0 }, { 16, 16, 21, 14, 10, 0 }, { 16, 16, 22, 14, 10, 0 }, { 16, 16, 23, 14, 10, 0 }, { 16, 16, 24, 14, 10, 0 }, - { 16, 16, 25, 14, 10, 0 }, { 16, 16, 26, 14, 10, 0 }, { 16, 16, 27, 14, 10, 0 }, { 16, 16, 28, 14, 10, 0 }, { 16, 16, 29, 14, 10, 0 }, - { 16, 16, 30, 13, 10, 0 }, { 16, 16, 31, 13, 10, 0 }, { 16, 16, 32, 13, 10, 0 }, { 16, 16, 33, 13, 10, 0 }, { 16, 16, 34, 13, 10, 0 }, - { 16, 16, 35, 13, 10, 0 }, { 16, 16, 36, 13, 10, 0 }, { 16, 16, 37, 13, 10, 0 }, { 16, 16, 38, 13, 10, 0 }, { 16, 16, 39, 13, 10, 0 }, - { 16, 16, 40, 13, 10, 0 }, { 16, 16, 41, 13, 10, 0 }, { 16, 16, 42, 12, 10, 0 }, { 16, 16, 43, 12, 10, 0 }, { 16, 16, 44, 12, 10, 0 }, - { 16, 16, 45, 12, 10, 0 }, { 16, 16, 46, 12, 10, 0 }, { 16, 16, 47, 12, 10, 0 }, { 16, 16, 48, 12, 10, 0 }, { 16, 16, 49, 12, 10, 0 }, - { 16, 16, 50, 12, 10, 0 }, { 16, 16, 51, 12, 10, 0 }, { 16, 16, 52, 12, 10, 0 }, { 16, 16, 53, 12, 10, 0 }, { 16, 16, 54, 11, 10, 0 }, - { 16, 16, 55, 11, 10, 0 }, { 16, 16, 56, 11, 10, 0 }, { 16, 16, 57, 11, 10, 0 }, { 16, 16, 58, 11, 10, 0 }, { 16, 16, 59, 11, 10, 0 }, - { 16, 16, 60, 11, 10, 0 }, { 16, 16, 61, 11, 10, 0 }, { 16, 16, 62, 11, 10, 0 }, { 16, 16, 63, 11, 10, 0 }, { 16, 16, 64, 11, 10, 0 }, - { 16, 16, 65, 11, 10, 0 }, { 16, 16, 66, 10, 10, 0 }, { 16, 16, 67, 10, 10, 0 }, { 16, 16, 68, 10, 10, 0 }, { 16, 16, 69, 10, 10, 0 }, - { 16, 16, 70, 10, 10, 0 }, { 16, 16, 71, 10, 10, 0 }, { 16, 16, 72, 10, 10, 0 }, { 16, 16, 73, 10, 10, 0 }, { 16, 16, 74, 10, 10, 0 }, - { 16, 16, 75, 10, 10, 0 }, { 16, 16, 76, 10, 10, 0 }, { 16, 16, 77, 10, 10, 0 }, { 16, 16, 78, 9, 10, 0 }, { 16, 16, 79, 9, 10, 0 }, - { 16, 16, 80, 9, 10, 0 }, { 16, 16, 81, 9, 10, 0 }, { 16, 16, 82, 9, 10, 0 }, { 16, 16, 83, 9, 10, 0 }, { 16, 16, 84, 9, 10, 0 }, - { 16, 16, 85, 9, 10, 0 }, { 16, 16, 86, 9, 10, 0 }, { 16, 16, 87, 9, 10, 0 }, { 16, 16, 88, 9, 10, 0 }, { 16, 16, 89, 9, 10, 0 }, - { 16, 16, 90, 8, 10, 0 }, { 16, 16, 91, 8, 10, 0 }, { 16, 16, 92, 8, 10, 0 }, { 16, 16, 93, 8, 10, 0 }, { 16, 16, 94, 8, 10, 0 }, - { 16, 16, 95, 8, 10, 0 }, + 96, { + { 16, 16, 0, 16, 10, 0 }, { 16, 16, 1, 16, 10, 0 }, { 16, 16, 2, 16, 10, 0 }, { 16, 16, 3, 16, 10, 0 }, { 16, 16, 4, 16, 10, 0 }, + { 16, 16, 5, 16, 10, 0 }, { 16, 16, 6, 15, 10, 0 }, { 16, 16, 7, 15, 10, 0 }, { 16, 16, 8, 15, 10, 0 }, { 16, 16, 9, 15, 10, 0 }, + { 16, 16, 10, 15, 10, 0 }, { 16, 16, 11, 15, 10, 0 }, { 16, 16, 12, 15, 10, 0 }, { 16, 16, 13, 15, 10, 0 }, { 16, 16, 14, 15, 10, 0 }, + { 16, 16, 15, 15, 10, 0 }, { 16, 16, 16, 15, 10, 0 }, { 16, 16, 17, 15, 10, 0 }, { 16, 16, 18, 14, 10, 0 }, { 16, 16, 19, 14, 10, 0 }, + { 16, 16, 20, 14, 10, 0 }, { 16, 16, 21, 14, 10, 0 }, { 16, 16, 22, 14, 10, 0 }, { 16, 16, 23, 14, 10, 0 }, { 16, 16, 24, 14, 10, 0 }, + { 16, 16, 25, 14, 10, 0 }, { 16, 16, 26, 14, 10, 0 }, { 16, 16, 27, 14, 10, 0 }, { 16, 16, 28, 14, 10, 0 }, { 16, 16, 29, 14, 10, 0 }, + { 16, 16, 30, 13, 10, 0 }, { 16, 16, 31, 13, 10, 0 }, { 16, 16, 32, 13, 10, 0 }, { 16, 16, 33, 13, 10, 0 }, { 16, 16, 34, 13, 10, 0 }, + { 16, 16, 35, 13, 10, 0 }, { 16, 16, 36, 13, 10, 0 }, { 16, 16, 37, 13, 10, 0 }, { 16, 16, 38, 13, 10, 0 }, { 16, 16, 39, 13, 10, 0 }, + { 16, 16, 40, 13, 10, 0 }, { 16, 16, 41, 13, 10, 0 }, { 16, 16, 42, 12, 10, 0 }, { 16, 16, 43, 12, 10, 0 }, { 16, 16, 44, 12, 10, 0 }, + { 16, 16, 45, 12, 10, 0 }, { 16, 16, 46, 12, 10, 0 }, { 16, 16, 47, 12, 10, 0 }, { 16, 16, 48, 12, 10, 0 }, { 16, 16, 49, 12, 10, 0 }, + { 16, 16, 50, 12, 10, 0 }, { 16, 16, 51, 12, 10, 0 }, { 16, 16, 52, 12, 10, 0 }, { 16, 16, 53, 12, 10, 0 }, { 16, 16, 54, 11, 10, 0 }, + { 16, 16, 55, 11, 10, 0 }, { 16, 16, 56, 11, 10, 0 }, { 16, 16, 57, 11, 10, 0 }, { 16, 16, 58, 11, 10, 0 }, { 16, 16, 59, 11, 10, 0 }, + { 16, 16, 60, 11, 10, 0 }, { 16, 16, 61, 11, 10, 0 }, { 16, 16, 62, 11, 10, 0 }, { 16, 16, 63, 11, 10, 0 }, { 16, 16, 64, 11, 10, 0 }, + { 16, 16, 65, 11, 10, 0 }, { 16, 16, 66, 10, 10, 0 }, { 16, 16, 67, 10, 10, 0 }, { 16, 16, 68, 10, 10, 0 }, { 16, 16, 69, 10, 10, 0 }, + { 16, 16, 70, 10, 10, 0 }, { 16, 16, 71, 10, 10, 0 }, { 16, 16, 72, 10, 10, 0 }, { 16, 16, 73, 10, 10, 0 }, { 16, 16, 74, 10, 10, 0 }, + { 16, 16, 75, 10, 10, 0 }, { 16, 16, 76, 10, 10, 0 }, { 16, 16, 77, 10, 10, 0 }, { 16, 16, 78, 9, 10, 0 }, { 16, 16, 79, 9, 10, 0 }, + { 16, 16, 80, 9, 10, 0 }, { 16, 16, 81, 9, 10, 0 }, { 16, 16, 82, 9, 10, 0 }, { 16, 16, 83, 9, 10, 0 }, { 16, 16, 84, 9, 10, 0 }, + { 16, 16, 85, 9, 10, 0 }, { 16, 16, 86, 9, 10, 0 }, { 16, 16, 87, 9, 10, 0 }, { 16, 16, 88, 9, 10, 0 }, { 16, 16, 89, 9, 10, 0 }, + { 16, 16, 90, 8, 10, 0 }, { 16, 16, 91, 8, 10, 0 }, { 16, 16, 92, 8, 10, 0 }, { 16, 16, 93, 8, 10, 0 }, { 16, 16, 94, 8, 10, 0 }, + { 16, 16, 95, 8, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96A8B4 = { - 96, { - { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, - { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 23, 10, 0 }, { 16, 16, 7, 23, 10, 0 }, { 16, 16, 8, 23, 10, 0 }, { 16, 16, 9, 23, 10, 0 }, - { 16, 16, 10, 23, 10, 0 }, { 16, 16, 11, 23, 10, 0 }, { 16, 16, 12, 23, 10, 0 }, { 16, 16, 13, 23, 10, 0 }, { 16, 16, 14, 23, 10, 0 }, - { 16, 16, 15, 23, 10, 0 }, { 16, 16, 16, 23, 10, 0 }, { 16, 16, 17, 23, 10, 0 }, { 16, 16, 18, 22, 10, 0 }, { 16, 16, 19, 22, 10, 0 }, - { 16, 16, 20, 22, 10, 0 }, { 16, 16, 21, 22, 10, 0 }, { 16, 16, 22, 22, 10, 0 }, { 16, 16, 23, 22, 10, 0 }, { 16, 16, 24, 22, 10, 0 }, - { 16, 16, 25, 22, 10, 0 }, { 16, 16, 26, 22, 10, 0 }, { 16, 16, 27, 22, 10, 0 }, { 16, 16, 28, 22, 10, 0 }, { 16, 16, 29, 22, 10, 0 }, - { 16, 16, 30, 21, 10, 0 }, { 16, 16, 31, 21, 10, 0 }, { 16, 16, 32, 21, 10, 0 }, { 16, 16, 33, 21, 10, 0 }, { 16, 16, 34, 21, 10, 0 }, - { 16, 16, 35, 21, 10, 0 }, { 16, 16, 36, 21, 10, 0 }, { 16, 16, 37, 21, 10, 0 }, { 16, 16, 38, 21, 10, 0 }, { 16, 16, 39, 21, 10, 0 }, - { 16, 16, 40, 21, 10, 0 }, { 16, 16, 41, 21, 10, 0 }, { 16, 16, 42, 20, 10, 0 }, { 16, 16, 43, 20, 10, 0 }, { 16, 16, 44, 20, 10, 0 }, - { 16, 16, 45, 20, 10, 0 }, { 16, 16, 46, 20, 10, 0 }, { 16, 16, 47, 20, 10, 0 }, { 16, 16, 48, 20, 10, 0 }, { 16, 16, 49, 20, 10, 0 }, - { 16, 16, 50, 20, 10, 0 }, { 16, 16, 51, 20, 10, 0 }, { 16, 16, 52, 20, 10, 0 }, { 16, 16, 53, 20, 10, 0 }, { 16, 16, 54, 19, 10, 0 }, - { 16, 16, 55, 19, 10, 0 }, { 16, 16, 56, 19, 10, 0 }, { 16, 16, 57, 19, 10, 0 }, { 16, 16, 58, 19, 10, 0 }, { 16, 16, 59, 19, 10, 0 }, - { 16, 16, 60, 19, 10, 0 }, { 16, 16, 61, 19, 10, 0 }, { 16, 16, 62, 19, 10, 0 }, { 16, 16, 63, 19, 10, 0 }, { 16, 16, 64, 19, 10, 0 }, - { 16, 16, 65, 19, 10, 0 }, { 16, 16, 66, 18, 10, 0 }, { 16, 16, 67, 18, 10, 0 }, { 16, 16, 68, 18, 10, 0 }, { 16, 16, 69, 18, 10, 0 }, - { 16, 16, 70, 18, 10, 0 }, { 16, 16, 71, 18, 10, 0 }, { 16, 16, 72, 18, 10, 0 }, { 16, 16, 73, 18, 10, 0 }, { 16, 16, 74, 18, 10, 0 }, - { 16, 16, 75, 18, 10, 0 }, { 16, 16, 76, 18, 10, 0 }, { 16, 16, 77, 18, 10, 0 }, { 16, 16, 78, 17, 10, 0 }, { 16, 16, 79, 17, 10, 0 }, - { 16, 16, 80, 17, 10, 0 }, { 16, 16, 81, 17, 10, 0 }, { 16, 16, 82, 17, 10, 0 }, { 16, 16, 83, 17, 10, 0 }, { 16, 16, 84, 17, 10, 0 }, - { 16, 16, 85, 17, 10, 0 }, { 16, 16, 86, 17, 10, 0 }, { 16, 16, 87, 17, 10, 0 }, { 16, 16, 88, 17, 10, 0 }, { 16, 16, 89, 17, 10, 0 }, - { 16, 16, 90, 16, 10, 0 }, { 16, 16, 91, 16, 10, 0 }, { 16, 16, 92, 16, 10, 0 }, { 16, 16, 93, 16, 10, 0 }, { 16, 16, 94, 16, 10, 0 }, - { 16, 16, 95, 16, 10, 0 }, + 96, { + { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, + { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 23, 10, 0 }, { 16, 16, 7, 23, 10, 0 }, { 16, 16, 8, 23, 10, 0 }, { 16, 16, 9, 23, 10, 0 }, + { 16, 16, 10, 23, 10, 0 }, { 16, 16, 11, 23, 10, 0 }, { 16, 16, 12, 23, 10, 0 }, { 16, 16, 13, 23, 10, 0 }, { 16, 16, 14, 23, 10, 0 }, + { 16, 16, 15, 23, 10, 0 }, { 16, 16, 16, 23, 10, 0 }, { 16, 16, 17, 23, 10, 0 }, { 16, 16, 18, 22, 10, 0 }, { 16, 16, 19, 22, 10, 0 }, + { 16, 16, 20, 22, 10, 0 }, { 16, 16, 21, 22, 10, 0 }, { 16, 16, 22, 22, 10, 0 }, { 16, 16, 23, 22, 10, 0 }, { 16, 16, 24, 22, 10, 0 }, + { 16, 16, 25, 22, 10, 0 }, { 16, 16, 26, 22, 10, 0 }, { 16, 16, 27, 22, 10, 0 }, { 16, 16, 28, 22, 10, 0 }, { 16, 16, 29, 22, 10, 0 }, + { 16, 16, 30, 21, 10, 0 }, { 16, 16, 31, 21, 10, 0 }, { 16, 16, 32, 21, 10, 0 }, { 16, 16, 33, 21, 10, 0 }, { 16, 16, 34, 21, 10, 0 }, + { 16, 16, 35, 21, 10, 0 }, { 16, 16, 36, 21, 10, 0 }, { 16, 16, 37, 21, 10, 0 }, { 16, 16, 38, 21, 10, 0 }, { 16, 16, 39, 21, 10, 0 }, + { 16, 16, 40, 21, 10, 0 }, { 16, 16, 41, 21, 10, 0 }, { 16, 16, 42, 20, 10, 0 }, { 16, 16, 43, 20, 10, 0 }, { 16, 16, 44, 20, 10, 0 }, + { 16, 16, 45, 20, 10, 0 }, { 16, 16, 46, 20, 10, 0 }, { 16, 16, 47, 20, 10, 0 }, { 16, 16, 48, 20, 10, 0 }, { 16, 16, 49, 20, 10, 0 }, + { 16, 16, 50, 20, 10, 0 }, { 16, 16, 51, 20, 10, 0 }, { 16, 16, 52, 20, 10, 0 }, { 16, 16, 53, 20, 10, 0 }, { 16, 16, 54, 19, 10, 0 }, + { 16, 16, 55, 19, 10, 0 }, { 16, 16, 56, 19, 10, 0 }, { 16, 16, 57, 19, 10, 0 }, { 16, 16, 58, 19, 10, 0 }, { 16, 16, 59, 19, 10, 0 }, + { 16, 16, 60, 19, 10, 0 }, { 16, 16, 61, 19, 10, 0 }, { 16, 16, 62, 19, 10, 0 }, { 16, 16, 63, 19, 10, 0 }, { 16, 16, 64, 19, 10, 0 }, + { 16, 16, 65, 19, 10, 0 }, { 16, 16, 66, 18, 10, 0 }, { 16, 16, 67, 18, 10, 0 }, { 16, 16, 68, 18, 10, 0 }, { 16, 16, 69, 18, 10, 0 }, + { 16, 16, 70, 18, 10, 0 }, { 16, 16, 71, 18, 10, 0 }, { 16, 16, 72, 18, 10, 0 }, { 16, 16, 73, 18, 10, 0 }, { 16, 16, 74, 18, 10, 0 }, + { 16, 16, 75, 18, 10, 0 }, { 16, 16, 76, 18, 10, 0 }, { 16, 16, 77, 18, 10, 0 }, { 16, 16, 78, 17, 10, 0 }, { 16, 16, 79, 17, 10, 0 }, + { 16, 16, 80, 17, 10, 0 }, { 16, 16, 81, 17, 10, 0 }, { 16, 16, 82, 17, 10, 0 }, { 16, 16, 83, 17, 10, 0 }, { 16, 16, 84, 17, 10, 0 }, + { 16, 16, 85, 17, 10, 0 }, { 16, 16, 86, 17, 10, 0 }, { 16, 16, 87, 17, 10, 0 }, { 16, 16, 88, 17, 10, 0 }, { 16, 16, 89, 17, 10, 0 }, + { 16, 16, 90, 16, 10, 0 }, { 16, 16, 91, 16, 10, 0 }, { 16, 16, 92, 16, 10, 0 }, { 16, 16, 93, 16, 10, 0 }, { 16, 16, 94, 16, 10, 0 }, + { 16, 16, 95, 16, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96B99E = { - 96, { - { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, - { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 1, 10, 0 }, { 16, 16, 7, 1, 10, 0 }, { 16, 16, 8, 1, 10, 0 }, { 16, 16, 9, 1, 10, 0 }, - { 16, 16, 10, 1, 10, 0 }, { 16, 16, 11, 1, 10, 0 }, { 16, 16, 12, 1, 10, 0 }, { 16, 16, 13, 1, 10, 0 }, { 16, 16, 14, 1, 10, 0 }, - { 16, 16, 15, 1, 10, 0 }, { 16, 16, 16, 1, 10, 0 }, { 16, 16, 17, 1, 10, 0 }, { 16, 16, 18, 2, 10, 0 }, { 16, 16, 19, 2, 10, 0 }, - { 16, 16, 20, 2, 10, 0 }, { 16, 16, 21, 2, 10, 0 }, { 16, 16, 22, 2, 10, 0 }, { 16, 16, 23, 2, 10, 0 }, { 16, 16, 24, 2, 10, 0 }, - { 16, 16, 25, 2, 10, 0 }, { 16, 16, 26, 2, 10, 0 }, { 16, 16, 27, 2, 10, 0 }, { 16, 16, 28, 2, 10, 0 }, { 16, 16, 29, 2, 10, 0 }, - { 16, 16, 30, 3, 10, 0 }, { 16, 16, 31, 3, 10, 0 }, { 16, 16, 32, 3, 10, 0 }, { 16, 16, 33, 3, 10, 0 }, { 16, 16, 34, 3, 10, 0 }, - { 16, 16, 35, 3, 10, 0 }, { 16, 16, 36, 3, 10, 0 }, { 16, 16, 37, 3, 10, 0 }, { 16, 16, 38, 3, 10, 0 }, { 16, 16, 39, 3, 10, 0 }, - { 16, 16, 40, 3, 10, 0 }, { 16, 16, 41, 3, 10, 0 }, { 16, 16, 42, 4, 10, 0 }, { 16, 16, 43, 4, 10, 0 }, { 16, 16, 44, 4, 10, 0 }, - { 16, 16, 45, 4, 10, 0 }, { 16, 16, 46, 4, 10, 0 }, { 16, 16, 47, 4, 10, 0 }, { 16, 16, 48, 4, 10, 0 }, { 16, 16, 49, 4, 10, 0 }, - { 16, 16, 50, 4, 10, 0 }, { 16, 16, 51, 4, 10, 0 }, { 16, 16, 52, 4, 10, 0 }, { 16, 16, 53, 4, 10, 0 }, { 16, 16, 54, 5, 10, 0 }, - { 16, 16, 55, 5, 10, 0 }, { 16, 16, 56, 5, 10, 0 }, { 16, 16, 57, 5, 10, 0 }, { 16, 16, 58, 5, 10, 0 }, { 16, 16, 59, 5, 10, 0 }, - { 16, 16, 60, 5, 10, 0 }, { 16, 16, 61, 5, 10, 0 }, { 16, 16, 62, 5, 10, 0 }, { 16, 16, 63, 5, 10, 0 }, { 16, 16, 64, 5, 10, 0 }, - { 16, 16, 65, 5, 10, 0 }, { 16, 16, 66, 6, 10, 0 }, { 16, 16, 67, 6, 10, 0 }, { 16, 16, 68, 6, 10, 0 }, { 16, 16, 69, 6, 10, 0 }, - { 16, 16, 70, 6, 10, 0 }, { 16, 16, 71, 6, 10, 0 }, { 16, 16, 72, 6, 10, 0 }, { 16, 16, 73, 6, 10, 0 }, { 16, 16, 74, 6, 10, 0 }, - { 16, 16, 75, 6, 10, 0 }, { 16, 16, 76, 6, 10, 0 }, { 16, 16, 77, 6, 10, 0 }, { 16, 16, 78, 7, 10, 0 }, { 16, 16, 79, 7, 10, 0 }, - { 16, 16, 80, 7, 10, 0 }, { 16, 16, 81, 7, 10, 0 }, { 16, 16, 82, 7, 10, 0 }, { 16, 16, 83, 7, 10, 0 }, { 16, 16, 84, 7, 10, 0 }, - { 16, 16, 85, 7, 10, 0 }, { 16, 16, 86, 7, 10, 0 }, { 16, 16, 87, 7, 10, 0 }, { 16, 16, 88, 7, 10, 0 }, { 16, 16, 89, 7, 10, 0 }, - { 16, 16, 90, 8, 10, 0 }, { 16, 16, 91, 8, 10, 0 }, { 16, 16, 92, 8, 10, 0 }, { 16, 16, 93, 8, 10, 0 }, { 16, 16, 94, 8, 10, 0 }, - { 16, 16, 95, 8, 10, 0 }, + 96, { + { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, + { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 1, 10, 0 }, { 16, 16, 7, 1, 10, 0 }, { 16, 16, 8, 1, 10, 0 }, { 16, 16, 9, 1, 10, 0 }, + { 16, 16, 10, 1, 10, 0 }, { 16, 16, 11, 1, 10, 0 }, { 16, 16, 12, 1, 10, 0 }, { 16, 16, 13, 1, 10, 0 }, { 16, 16, 14, 1, 10, 0 }, + { 16, 16, 15, 1, 10, 0 }, { 16, 16, 16, 1, 10, 0 }, { 16, 16, 17, 1, 10, 0 }, { 16, 16, 18, 2, 10, 0 }, { 16, 16, 19, 2, 10, 0 }, + { 16, 16, 20, 2, 10, 0 }, { 16, 16, 21, 2, 10, 0 }, { 16, 16, 22, 2, 10, 0 }, { 16, 16, 23, 2, 10, 0 }, { 16, 16, 24, 2, 10, 0 }, + { 16, 16, 25, 2, 10, 0 }, { 16, 16, 26, 2, 10, 0 }, { 16, 16, 27, 2, 10, 0 }, { 16, 16, 28, 2, 10, 0 }, { 16, 16, 29, 2, 10, 0 }, + { 16, 16, 30, 3, 10, 0 }, { 16, 16, 31, 3, 10, 0 }, { 16, 16, 32, 3, 10, 0 }, { 16, 16, 33, 3, 10, 0 }, { 16, 16, 34, 3, 10, 0 }, + { 16, 16, 35, 3, 10, 0 }, { 16, 16, 36, 3, 10, 0 }, { 16, 16, 37, 3, 10, 0 }, { 16, 16, 38, 3, 10, 0 }, { 16, 16, 39, 3, 10, 0 }, + { 16, 16, 40, 3, 10, 0 }, { 16, 16, 41, 3, 10, 0 }, { 16, 16, 42, 4, 10, 0 }, { 16, 16, 43, 4, 10, 0 }, { 16, 16, 44, 4, 10, 0 }, + { 16, 16, 45, 4, 10, 0 }, { 16, 16, 46, 4, 10, 0 }, { 16, 16, 47, 4, 10, 0 }, { 16, 16, 48, 4, 10, 0 }, { 16, 16, 49, 4, 10, 0 }, + { 16, 16, 50, 4, 10, 0 }, { 16, 16, 51, 4, 10, 0 }, { 16, 16, 52, 4, 10, 0 }, { 16, 16, 53, 4, 10, 0 }, { 16, 16, 54, 5, 10, 0 }, + { 16, 16, 55, 5, 10, 0 }, { 16, 16, 56, 5, 10, 0 }, { 16, 16, 57, 5, 10, 0 }, { 16, 16, 58, 5, 10, 0 }, { 16, 16, 59, 5, 10, 0 }, + { 16, 16, 60, 5, 10, 0 }, { 16, 16, 61, 5, 10, 0 }, { 16, 16, 62, 5, 10, 0 }, { 16, 16, 63, 5, 10, 0 }, { 16, 16, 64, 5, 10, 0 }, + { 16, 16, 65, 5, 10, 0 }, { 16, 16, 66, 6, 10, 0 }, { 16, 16, 67, 6, 10, 0 }, { 16, 16, 68, 6, 10, 0 }, { 16, 16, 69, 6, 10, 0 }, + { 16, 16, 70, 6, 10, 0 }, { 16, 16, 71, 6, 10, 0 }, { 16, 16, 72, 6, 10, 0 }, { 16, 16, 73, 6, 10, 0 }, { 16, 16, 74, 6, 10, 0 }, + { 16, 16, 75, 6, 10, 0 }, { 16, 16, 76, 6, 10, 0 }, { 16, 16, 77, 6, 10, 0 }, { 16, 16, 78, 7, 10, 0 }, { 16, 16, 79, 7, 10, 0 }, + { 16, 16, 80, 7, 10, 0 }, { 16, 16, 81, 7, 10, 0 }, { 16, 16, 82, 7, 10, 0 }, { 16, 16, 83, 7, 10, 0 }, { 16, 16, 84, 7, 10, 0 }, + { 16, 16, 85, 7, 10, 0 }, { 16, 16, 86, 7, 10, 0 }, { 16, 16, 87, 7, 10, 0 }, { 16, 16, 88, 7, 10, 0 }, { 16, 16, 89, 7, 10, 0 }, + { 16, 16, 90, 8, 10, 0 }, { 16, 16, 91, 8, 10, 0 }, { 16, 16, 92, 8, 10, 0 }, { 16, 16, 93, 8, 10, 0 }, { 16, 16, 94, 8, 10, 0 }, + { 16, 16, 95, 8, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96BD00 = { - 96, { - { 16, 16, 0, 8, 10, 0 }, { 16, 16, 1, 8, 10, 0 }, { 16, 16, 2, 8, 10, 0 }, { 16, 16, 3, 8, 10, 0 }, { 16, 16, 4, 8, 10, 0 }, - { 16, 16, 5, 8, 10, 0 }, { 16, 16, 6, 9, 10, 0 }, { 16, 16, 7, 9, 10, 0 }, { 16, 16, 8, 9, 10, 0 }, { 16, 16, 9, 9, 10, 0 }, - { 16, 16, 10, 9, 10, 0 }, { 16, 16, 11, 9, 10, 0 }, { 16, 16, 12, 9, 10, 0 }, { 16, 16, 13, 9, 10, 0 }, { 16, 16, 14, 9, 10, 0 }, - { 16, 16, 15, 9, 10, 0 }, { 16, 16, 16, 9, 10, 0 }, { 16, 16, 17, 9, 10, 0 }, { 16, 16, 18, 10, 10, 0 }, { 16, 16, 19, 10, 10, 0 }, - { 16, 16, 20, 10, 10, 0 }, { 16, 16, 21, 10, 10, 0 }, { 16, 16, 22, 10, 10, 0 }, { 16, 16, 23, 10, 10, 0 }, { 16, 16, 24, 10, 10, 0 }, - { 16, 16, 25, 10, 10, 0 }, { 16, 16, 26, 10, 10, 0 }, { 16, 16, 27, 10, 10, 0 }, { 16, 16, 28, 10, 10, 0 }, { 16, 16, 29, 10, 10, 0 }, - { 16, 16, 30, 11, 10, 0 }, { 16, 16, 31, 11, 10, 0 }, { 16, 16, 32, 11, 10, 0 }, { 16, 16, 33, 11, 10, 0 }, { 16, 16, 34, 11, 10, 0 }, - { 16, 16, 35, 11, 10, 0 }, { 16, 16, 36, 11, 10, 0 }, { 16, 16, 37, 11, 10, 0 }, { 16, 16, 38, 11, 10, 0 }, { 16, 16, 39, 11, 10, 0 }, - { 16, 16, 40, 11, 10, 0 }, { 16, 16, 41, 11, 10, 0 }, { 16, 16, 42, 12, 10, 0 }, { 16, 16, 43, 12, 10, 0 }, { 16, 16, 44, 12, 10, 0 }, - { 16, 16, 45, 12, 10, 0 }, { 16, 16, 46, 12, 10, 0 }, { 16, 16, 47, 12, 10, 0 }, { 16, 16, 48, 12, 10, 0 }, { 16, 16, 49, 12, 10, 0 }, - { 16, 16, 50, 12, 10, 0 }, { 16, 16, 51, 12, 10, 0 }, { 16, 16, 52, 12, 10, 0 }, { 16, 16, 53, 12, 10, 0 }, { 16, 16, 54, 13, 10, 0 }, - { 16, 16, 55, 13, 10, 0 }, { 16, 16, 56, 13, 10, 0 }, { 16, 16, 57, 13, 10, 0 }, { 16, 16, 58, 13, 10, 0 }, { 16, 16, 59, 13, 10, 0 }, - { 16, 16, 60, 13, 10, 0 }, { 16, 16, 61, 13, 10, 0 }, { 16, 16, 62, 13, 10, 0 }, { 16, 16, 63, 13, 10, 0 }, { 16, 16, 64, 13, 10, 0 }, - { 16, 16, 65, 13, 10, 0 }, { 16, 16, 66, 14, 10, 0 }, { 16, 16, 67, 14, 10, 0 }, { 16, 16, 68, 14, 10, 0 }, { 16, 16, 69, 14, 10, 0 }, - { 16, 16, 70, 14, 10, 0 }, { 16, 16, 71, 14, 10, 0 }, { 16, 16, 72, 14, 10, 0 }, { 16, 16, 73, 14, 10, 0 }, { 16, 16, 74, 14, 10, 0 }, - { 16, 16, 75, 14, 10, 0 }, { 16, 16, 76, 14, 10, 0 }, { 16, 16, 77, 14, 10, 0 }, { 16, 16, 78, 15, 10, 0 }, { 16, 16, 79, 15, 10, 0 }, - { 16, 16, 80, 15, 10, 0 }, { 16, 16, 81, 15, 10, 0 }, { 16, 16, 82, 15, 10, 0 }, { 16, 16, 83, 15, 10, 0 }, { 16, 16, 84, 15, 10, 0 }, - { 16, 16, 85, 15, 10, 0 }, { 16, 16, 86, 15, 10, 0 }, { 16, 16, 87, 15, 10, 0 }, { 16, 16, 88, 15, 10, 0 }, { 16, 16, 89, 15, 10, 0 }, - { 16, 16, 90, 16, 10, 0 }, { 16, 16, 91, 16, 10, 0 }, { 16, 16, 92, 16, 10, 0 }, { 16, 16, 93, 16, 10, 0 }, { 16, 16, 94, 16, 10, 0 }, - { 16, 16, 95, 16, 10, 0 }, + 96, { + { 16, 16, 0, 8, 10, 0 }, { 16, 16, 1, 8, 10, 0 }, { 16, 16, 2, 8, 10, 0 }, { 16, 16, 3, 8, 10, 0 }, { 16, 16, 4, 8, 10, 0 }, + { 16, 16, 5, 8, 10, 0 }, { 16, 16, 6, 9, 10, 0 }, { 16, 16, 7, 9, 10, 0 }, { 16, 16, 8, 9, 10, 0 }, { 16, 16, 9, 9, 10, 0 }, + { 16, 16, 10, 9, 10, 0 }, { 16, 16, 11, 9, 10, 0 }, { 16, 16, 12, 9, 10, 0 }, { 16, 16, 13, 9, 10, 0 }, { 16, 16, 14, 9, 10, 0 }, + { 16, 16, 15, 9, 10, 0 }, { 16, 16, 16, 9, 10, 0 }, { 16, 16, 17, 9, 10, 0 }, { 16, 16, 18, 10, 10, 0 }, { 16, 16, 19, 10, 10, 0 }, + { 16, 16, 20, 10, 10, 0 }, { 16, 16, 21, 10, 10, 0 }, { 16, 16, 22, 10, 10, 0 }, { 16, 16, 23, 10, 10, 0 }, { 16, 16, 24, 10, 10, 0 }, + { 16, 16, 25, 10, 10, 0 }, { 16, 16, 26, 10, 10, 0 }, { 16, 16, 27, 10, 10, 0 }, { 16, 16, 28, 10, 10, 0 }, { 16, 16, 29, 10, 10, 0 }, + { 16, 16, 30, 11, 10, 0 }, { 16, 16, 31, 11, 10, 0 }, { 16, 16, 32, 11, 10, 0 }, { 16, 16, 33, 11, 10, 0 }, { 16, 16, 34, 11, 10, 0 }, + { 16, 16, 35, 11, 10, 0 }, { 16, 16, 36, 11, 10, 0 }, { 16, 16, 37, 11, 10, 0 }, { 16, 16, 38, 11, 10, 0 }, { 16, 16, 39, 11, 10, 0 }, + { 16, 16, 40, 11, 10, 0 }, { 16, 16, 41, 11, 10, 0 }, { 16, 16, 42, 12, 10, 0 }, { 16, 16, 43, 12, 10, 0 }, { 16, 16, 44, 12, 10, 0 }, + { 16, 16, 45, 12, 10, 0 }, { 16, 16, 46, 12, 10, 0 }, { 16, 16, 47, 12, 10, 0 }, { 16, 16, 48, 12, 10, 0 }, { 16, 16, 49, 12, 10, 0 }, + { 16, 16, 50, 12, 10, 0 }, { 16, 16, 51, 12, 10, 0 }, { 16, 16, 52, 12, 10, 0 }, { 16, 16, 53, 12, 10, 0 }, { 16, 16, 54, 13, 10, 0 }, + { 16, 16, 55, 13, 10, 0 }, { 16, 16, 56, 13, 10, 0 }, { 16, 16, 57, 13, 10, 0 }, { 16, 16, 58, 13, 10, 0 }, { 16, 16, 59, 13, 10, 0 }, + { 16, 16, 60, 13, 10, 0 }, { 16, 16, 61, 13, 10, 0 }, { 16, 16, 62, 13, 10, 0 }, { 16, 16, 63, 13, 10, 0 }, { 16, 16, 64, 13, 10, 0 }, + { 16, 16, 65, 13, 10, 0 }, { 16, 16, 66, 14, 10, 0 }, { 16, 16, 67, 14, 10, 0 }, { 16, 16, 68, 14, 10, 0 }, { 16, 16, 69, 14, 10, 0 }, + { 16, 16, 70, 14, 10, 0 }, { 16, 16, 71, 14, 10, 0 }, { 16, 16, 72, 14, 10, 0 }, { 16, 16, 73, 14, 10, 0 }, { 16, 16, 74, 14, 10, 0 }, + { 16, 16, 75, 14, 10, 0 }, { 16, 16, 76, 14, 10, 0 }, { 16, 16, 77, 14, 10, 0 }, { 16, 16, 78, 15, 10, 0 }, { 16, 16, 79, 15, 10, 0 }, + { 16, 16, 80, 15, 10, 0 }, { 16, 16, 81, 15, 10, 0 }, { 16, 16, 82, 15, 10, 0 }, { 16, 16, 83, 15, 10, 0 }, { 16, 16, 84, 15, 10, 0 }, + { 16, 16, 85, 15, 10, 0 }, { 16, 16, 86, 15, 10, 0 }, { 16, 16, 87, 15, 10, 0 }, { 16, 16, 88, 15, 10, 0 }, { 16, 16, 89, 15, 10, 0 }, + { 16, 16, 90, 16, 10, 0 }, { 16, 16, 91, 16, 10, 0 }, { 16, 16, 92, 16, 10, 0 }, { 16, 16, 93, 16, 10, 0 }, { 16, 16, 94, 16, 10, 0 }, + { 16, 16, 95, 16, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96C062 = { - 96, { - { 16, 16, 0, 16, 10, 0 }, { 16, 16, 1, 16, 10, 0 }, { 16, 16, 2, 16, 10, 0 }, { 16, 16, 3, 16, 10, 0 }, { 16, 16, 4, 16, 10, 0 }, - { 16, 16, 5, 16, 10, 0 }, { 16, 16, 6, 17, 10, 0 }, { 16, 16, 7, 17, 10, 0 }, { 16, 16, 8, 17, 10, 0 }, { 16, 16, 9, 17, 10, 0 }, - { 16, 16, 10, 17, 10, 0 }, { 16, 16, 11, 17, 10, 0 }, { 16, 16, 12, 17, 10, 0 }, { 16, 16, 13, 17, 10, 0 }, { 16, 16, 14, 17, 10, 0 }, - { 16, 16, 15, 17, 10, 0 }, { 16, 16, 16, 17, 10, 0 }, { 16, 16, 17, 17, 10, 0 }, { 16, 16, 18, 18, 10, 0 }, { 16, 16, 19, 18, 10, 0 }, - { 16, 16, 20, 18, 10, 0 }, { 16, 16, 21, 18, 10, 0 }, { 16, 16, 22, 18, 10, 0 }, { 16, 16, 23, 18, 10, 0 }, { 16, 16, 24, 18, 10, 0 }, - { 16, 16, 25, 18, 10, 0 }, { 16, 16, 26, 18, 10, 0 }, { 16, 16, 27, 18, 10, 0 }, { 16, 16, 28, 18, 10, 0 }, { 16, 16, 29, 18, 10, 0 }, - { 16, 16, 30, 19, 10, 0 }, { 16, 16, 31, 19, 10, 0 }, { 16, 16, 32, 19, 10, 0 }, { 16, 16, 33, 19, 10, 0 }, { 16, 16, 34, 19, 10, 0 }, - { 16, 16, 35, 19, 10, 0 }, { 16, 16, 36, 19, 10, 0 }, { 16, 16, 37, 19, 10, 0 }, { 16, 16, 38, 19, 10, 0 }, { 16, 16, 39, 19, 10, 0 }, - { 16, 16, 40, 19, 10, 0 }, { 16, 16, 41, 19, 10, 0 }, { 16, 16, 42, 20, 10, 0 }, { 16, 16, 43, 20, 10, 0 }, { 16, 16, 44, 20, 10, 0 }, - { 16, 16, 45, 20, 10, 0 }, { 16, 16, 46, 20, 10, 0 }, { 16, 16, 47, 20, 10, 0 }, { 16, 16, 48, 20, 10, 0 }, { 16, 16, 49, 20, 10, 0 }, - { 16, 16, 50, 20, 10, 0 }, { 16, 16, 51, 20, 10, 0 }, { 16, 16, 52, 20, 10, 0 }, { 16, 16, 53, 20, 10, 0 }, { 16, 16, 54, 21, 10, 0 }, - { 16, 16, 55, 21, 10, 0 }, { 16, 16, 56, 21, 10, 0 }, { 16, 16, 57, 21, 10, 0 }, { 16, 16, 58, 21, 10, 0 }, { 16, 16, 59, 21, 10, 0 }, - { 16, 16, 60, 21, 10, 0 }, { 16, 16, 61, 21, 10, 0 }, { 16, 16, 62, 21, 10, 0 }, { 16, 16, 63, 21, 10, 0 }, { 16, 16, 64, 21, 10, 0 }, - { 16, 16, 65, 21, 10, 0 }, { 16, 16, 66, 22, 10, 0 }, { 16, 16, 67, 22, 10, 0 }, { 16, 16, 68, 22, 10, 0 }, { 16, 16, 69, 22, 10, 0 }, - { 16, 16, 70, 22, 10, 0 }, { 16, 16, 71, 22, 10, 0 }, { 16, 16, 72, 22, 10, 0 }, { 16, 16, 73, 22, 10, 0 }, { 16, 16, 74, 22, 10, 0 }, - { 16, 16, 75, 22, 10, 0 }, { 16, 16, 76, 22, 10, 0 }, { 16, 16, 77, 22, 10, 0 }, { 16, 16, 78, 23, 10, 0 }, { 16, 16, 79, 23, 10, 0 }, - { 16, 16, 80, 23, 10, 0 }, { 16, 16, 81, 23, 10, 0 }, { 16, 16, 82, 23, 10, 0 }, { 16, 16, 83, 23, 10, 0 }, { 16, 16, 84, 23, 10, 0 }, - { 16, 16, 85, 23, 10, 0 }, { 16, 16, 86, 23, 10, 0 }, { 16, 16, 87, 23, 10, 0 }, { 16, 16, 88, 23, 10, 0 }, { 16, 16, 89, 23, 10, 0 }, - { 16, 16, 90, 24, 10, 0 }, { 16, 16, 91, 24, 10, 0 }, { 16, 16, 92, 24, 10, 0 }, { 16, 16, 93, 24, 10, 0 }, { 16, 16, 94, 24, 10, 0 }, - { 16, 16, 95, 24, 10, 0 }, + 96, { + { 16, 16, 0, 16, 10, 0 }, { 16, 16, 1, 16, 10, 0 }, { 16, 16, 2, 16, 10, 0 }, { 16, 16, 3, 16, 10, 0 }, { 16, 16, 4, 16, 10, 0 }, + { 16, 16, 5, 16, 10, 0 }, { 16, 16, 6, 17, 10, 0 }, { 16, 16, 7, 17, 10, 0 }, { 16, 16, 8, 17, 10, 0 }, { 16, 16, 9, 17, 10, 0 }, + { 16, 16, 10, 17, 10, 0 }, { 16, 16, 11, 17, 10, 0 }, { 16, 16, 12, 17, 10, 0 }, { 16, 16, 13, 17, 10, 0 }, { 16, 16, 14, 17, 10, 0 }, + { 16, 16, 15, 17, 10, 0 }, { 16, 16, 16, 17, 10, 0 }, { 16, 16, 17, 17, 10, 0 }, { 16, 16, 18, 18, 10, 0 }, { 16, 16, 19, 18, 10, 0 }, + { 16, 16, 20, 18, 10, 0 }, { 16, 16, 21, 18, 10, 0 }, { 16, 16, 22, 18, 10, 0 }, { 16, 16, 23, 18, 10, 0 }, { 16, 16, 24, 18, 10, 0 }, + { 16, 16, 25, 18, 10, 0 }, { 16, 16, 26, 18, 10, 0 }, { 16, 16, 27, 18, 10, 0 }, { 16, 16, 28, 18, 10, 0 }, { 16, 16, 29, 18, 10, 0 }, + { 16, 16, 30, 19, 10, 0 }, { 16, 16, 31, 19, 10, 0 }, { 16, 16, 32, 19, 10, 0 }, { 16, 16, 33, 19, 10, 0 }, { 16, 16, 34, 19, 10, 0 }, + { 16, 16, 35, 19, 10, 0 }, { 16, 16, 36, 19, 10, 0 }, { 16, 16, 37, 19, 10, 0 }, { 16, 16, 38, 19, 10, 0 }, { 16, 16, 39, 19, 10, 0 }, + { 16, 16, 40, 19, 10, 0 }, { 16, 16, 41, 19, 10, 0 }, { 16, 16, 42, 20, 10, 0 }, { 16, 16, 43, 20, 10, 0 }, { 16, 16, 44, 20, 10, 0 }, + { 16, 16, 45, 20, 10, 0 }, { 16, 16, 46, 20, 10, 0 }, { 16, 16, 47, 20, 10, 0 }, { 16, 16, 48, 20, 10, 0 }, { 16, 16, 49, 20, 10, 0 }, + { 16, 16, 50, 20, 10, 0 }, { 16, 16, 51, 20, 10, 0 }, { 16, 16, 52, 20, 10, 0 }, { 16, 16, 53, 20, 10, 0 }, { 16, 16, 54, 21, 10, 0 }, + { 16, 16, 55, 21, 10, 0 }, { 16, 16, 56, 21, 10, 0 }, { 16, 16, 57, 21, 10, 0 }, { 16, 16, 58, 21, 10, 0 }, { 16, 16, 59, 21, 10, 0 }, + { 16, 16, 60, 21, 10, 0 }, { 16, 16, 61, 21, 10, 0 }, { 16, 16, 62, 21, 10, 0 }, { 16, 16, 63, 21, 10, 0 }, { 16, 16, 64, 21, 10, 0 }, + { 16, 16, 65, 21, 10, 0 }, { 16, 16, 66, 22, 10, 0 }, { 16, 16, 67, 22, 10, 0 }, { 16, 16, 68, 22, 10, 0 }, { 16, 16, 69, 22, 10, 0 }, + { 16, 16, 70, 22, 10, 0 }, { 16, 16, 71, 22, 10, 0 }, { 16, 16, 72, 22, 10, 0 }, { 16, 16, 73, 22, 10, 0 }, { 16, 16, 74, 22, 10, 0 }, + { 16, 16, 75, 22, 10, 0 }, { 16, 16, 76, 22, 10, 0 }, { 16, 16, 77, 22, 10, 0 }, { 16, 16, 78, 23, 10, 0 }, { 16, 16, 79, 23, 10, 0 }, + { 16, 16, 80, 23, 10, 0 }, { 16, 16, 81, 23, 10, 0 }, { 16, 16, 82, 23, 10, 0 }, { 16, 16, 83, 23, 10, 0 }, { 16, 16, 84, 23, 10, 0 }, + { 16, 16, 85, 23, 10, 0 }, { 16, 16, 86, 23, 10, 0 }, { 16, 16, 87, 23, 10, 0 }, { 16, 16, 88, 23, 10, 0 }, { 16, 16, 89, 23, 10, 0 }, + { 16, 16, 90, 24, 10, 0 }, { 16, 16, 91, 24, 10, 0 }, { 16, 16, 92, 24, 10, 0 }, { 16, 16, 93, 24, 10, 0 }, { 16, 16, 94, 24, 10, 0 }, + { 16, 16, 95, 24, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96C3C4 = { - 96, { - { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, - { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 25, 10, 0 }, { 16, 16, 7, 25, 10, 0 }, { 16, 16, 8, 25, 10, 0 }, { 16, 16, 9, 25, 10, 0 }, - { 16, 16, 10, 25, 10, 0 }, { 16, 16, 11, 25, 10, 0 }, { 16, 16, 12, 25, 10, 0 }, { 16, 16, 13, 25, 10, 0 }, { 16, 16, 14, 25, 10, 0 }, - { 16, 16, 15, 25, 10, 0 }, { 16, 16, 16, 25, 10, 0 }, { 16, 16, 17, 25, 10, 0 }, { 16, 16, 18, 26, 10, 0 }, { 16, 16, 19, 26, 10, 0 }, - { 16, 16, 20, 26, 10, 0 }, { 16, 16, 21, 26, 10, 0 }, { 16, 16, 22, 26, 10, 0 }, { 16, 16, 23, 26, 10, 0 }, { 16, 16, 24, 26, 10, 0 }, - { 16, 16, 25, 26, 10, 0 }, { 16, 16, 26, 26, 10, 0 }, { 16, 16, 27, 26, 10, 0 }, { 16, 16, 28, 26, 10, 0 }, { 16, 16, 29, 26, 10, 0 }, - { 16, 16, 30, 27, 10, 0 }, { 16, 16, 31, 27, 10, 0 }, { 16, 16, 32, 27, 10, 0 }, { 16, 16, 33, 27, 10, 0 }, { 16, 16, 34, 27, 10, 0 }, - { 16, 16, 35, 27, 10, 0 }, { 16, 16, 36, 27, 10, 0 }, { 16, 16, 37, 27, 10, 0 }, { 16, 16, 38, 27, 10, 0 }, { 16, 16, 39, 27, 10, 0 }, - { 16, 16, 40, 27, 10, 0 }, { 16, 16, 41, 27, 10, 0 }, { 16, 16, 42, 28, 10, 0 }, { 16, 16, 43, 28, 10, 0 }, { 16, 16, 44, 28, 10, 0 }, - { 16, 16, 45, 28, 10, 0 }, { 16, 16, 46, 28, 10, 0 }, { 16, 16, 47, 28, 10, 0 }, { 16, 16, 48, 28, 10, 0 }, { 16, 16, 49, 28, 10, 0 }, - { 16, 16, 50, 28, 10, 0 }, { 16, 16, 51, 28, 10, 0 }, { 16, 16, 52, 28, 10, 0 }, { 16, 16, 53, 28, 10, 0 }, { 16, 16, 54, 29, 10, 0 }, - { 16, 16, 55, 29, 10, 0 }, { 16, 16, 56, 29, 10, 0 }, { 16, 16, 57, 29, 10, 0 }, { 16, 16, 58, 29, 10, 0 }, { 16, 16, 59, 29, 10, 0 }, - { 16, 16, 60, 29, 10, 0 }, { 16, 16, 61, 29, 10, 0 }, { 16, 16, 62, 29, 10, 0 }, { 16, 16, 63, 29, 10, 0 }, { 16, 16, 64, 29, 10, 0 }, - { 16, 16, 65, 29, 10, 0 }, { 16, 16, 66, 30, 10, 0 }, { 16, 16, 67, 30, 10, 0 }, { 16, 16, 68, 30, 10, 0 }, { 16, 16, 69, 30, 10, 0 }, - { 16, 16, 70, 30, 10, 0 }, { 16, 16, 71, 30, 10, 0 }, { 16, 16, 72, 30, 10, 0 }, { 16, 16, 73, 30, 10, 0 }, { 16, 16, 74, 30, 10, 0 }, - { 16, 16, 75, 30, 10, 0 }, { 16, 16, 76, 30, 10, 0 }, { 16, 16, 77, 30, 10, 0 }, { 16, 16, 78, 31, 10, 0 }, { 16, 16, 79, 31, 10, 0 }, - { 16, 16, 80, 31, 10, 0 }, { 16, 16, 81, 31, 10, 0 }, { 16, 16, 82, 31, 10, 0 }, { 16, 16, 83, 31, 10, 0 }, { 16, 16, 84, 31, 10, 0 }, - { 16, 16, 85, 31, 10, 0 }, { 16, 16, 86, 31, 10, 0 }, { 16, 16, 87, 31, 10, 0 }, { 16, 16, 88, 31, 10, 0 }, { 16, 16, 89, 31, 10, 0 }, - { 16, 16, 90, 0, 10, 0 }, { 16, 16, 91, 0, 10, 0 }, { 16, 16, 92, 0, 10, 0 }, { 16, 16, 93, 0, 10, 0 }, { 16, 16, 94, 0, 10, 0 }, - { 16, 16, 95, 0, 10, 0 }, + 96, { + { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, + { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 25, 10, 0 }, { 16, 16, 7, 25, 10, 0 }, { 16, 16, 8, 25, 10, 0 }, { 16, 16, 9, 25, 10, 0 }, + { 16, 16, 10, 25, 10, 0 }, { 16, 16, 11, 25, 10, 0 }, { 16, 16, 12, 25, 10, 0 }, { 16, 16, 13, 25, 10, 0 }, { 16, 16, 14, 25, 10, 0 }, + { 16, 16, 15, 25, 10, 0 }, { 16, 16, 16, 25, 10, 0 }, { 16, 16, 17, 25, 10, 0 }, { 16, 16, 18, 26, 10, 0 }, { 16, 16, 19, 26, 10, 0 }, + { 16, 16, 20, 26, 10, 0 }, { 16, 16, 21, 26, 10, 0 }, { 16, 16, 22, 26, 10, 0 }, { 16, 16, 23, 26, 10, 0 }, { 16, 16, 24, 26, 10, 0 }, + { 16, 16, 25, 26, 10, 0 }, { 16, 16, 26, 26, 10, 0 }, { 16, 16, 27, 26, 10, 0 }, { 16, 16, 28, 26, 10, 0 }, { 16, 16, 29, 26, 10, 0 }, + { 16, 16, 30, 27, 10, 0 }, { 16, 16, 31, 27, 10, 0 }, { 16, 16, 32, 27, 10, 0 }, { 16, 16, 33, 27, 10, 0 }, { 16, 16, 34, 27, 10, 0 }, + { 16, 16, 35, 27, 10, 0 }, { 16, 16, 36, 27, 10, 0 }, { 16, 16, 37, 27, 10, 0 }, { 16, 16, 38, 27, 10, 0 }, { 16, 16, 39, 27, 10, 0 }, + { 16, 16, 40, 27, 10, 0 }, { 16, 16, 41, 27, 10, 0 }, { 16, 16, 42, 28, 10, 0 }, { 16, 16, 43, 28, 10, 0 }, { 16, 16, 44, 28, 10, 0 }, + { 16, 16, 45, 28, 10, 0 }, { 16, 16, 46, 28, 10, 0 }, { 16, 16, 47, 28, 10, 0 }, { 16, 16, 48, 28, 10, 0 }, { 16, 16, 49, 28, 10, 0 }, + { 16, 16, 50, 28, 10, 0 }, { 16, 16, 51, 28, 10, 0 }, { 16, 16, 52, 28, 10, 0 }, { 16, 16, 53, 28, 10, 0 }, { 16, 16, 54, 29, 10, 0 }, + { 16, 16, 55, 29, 10, 0 }, { 16, 16, 56, 29, 10, 0 }, { 16, 16, 57, 29, 10, 0 }, { 16, 16, 58, 29, 10, 0 }, { 16, 16, 59, 29, 10, 0 }, + { 16, 16, 60, 29, 10, 0 }, { 16, 16, 61, 29, 10, 0 }, { 16, 16, 62, 29, 10, 0 }, { 16, 16, 63, 29, 10, 0 }, { 16, 16, 64, 29, 10, 0 }, + { 16, 16, 65, 29, 10, 0 }, { 16, 16, 66, 30, 10, 0 }, { 16, 16, 67, 30, 10, 0 }, { 16, 16, 68, 30, 10, 0 }, { 16, 16, 69, 30, 10, 0 }, + { 16, 16, 70, 30, 10, 0 }, { 16, 16, 71, 30, 10, 0 }, { 16, 16, 72, 30, 10, 0 }, { 16, 16, 73, 30, 10, 0 }, { 16, 16, 74, 30, 10, 0 }, + { 16, 16, 75, 30, 10, 0 }, { 16, 16, 76, 30, 10, 0 }, { 16, 16, 77, 30, 10, 0 }, { 16, 16, 78, 31, 10, 0 }, { 16, 16, 79, 31, 10, 0 }, + { 16, 16, 80, 31, 10, 0 }, { 16, 16, 81, 31, 10, 0 }, { 16, 16, 82, 31, 10, 0 }, { 16, 16, 83, 31, 10, 0 }, { 16, 16, 84, 31, 10, 0 }, + { 16, 16, 85, 31, 10, 0 }, { 16, 16, 86, 31, 10, 0 }, { 16, 16, 87, 31, 10, 0 }, { 16, 16, 88, 31, 10, 0 }, { 16, 16, 89, 31, 10, 0 }, + { 16, 16, 90, 0, 10, 0 }, { 16, 16, 91, 0, 10, 0 }, { 16, 16, 92, 0, 10, 0 }, { 16, 16, 93, 0, 10, 0 }, { 16, 16, 94, 0, 10, 0 }, + { 16, 16, 95, 0, 10, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96AC16 = { - 96, { - { 16, 16, 95, 0, 18, 0 }, { 16, 16, 94, 0, 18, 0 }, { 16, 16, 93, 0, 18, 0 }, { 16, 16, 92, 0, 18, 0 }, { 16, 16, 91, 0, 18, 0 }, - { 16, 16, 90, 0, 18, 0 }, { 16, 16, 89, 31, 18, 0 }, { 16, 16, 88, 31, 18, 0 }, { 16, 16, 87, 31, 18, 0 }, { 16, 16, 86, 31, 18, 0 }, - { 16, 16, 85, 31, 18, 0 }, { 16, 16, 84, 31, 18, 0 }, { 16, 16, 83, 31, 18, 0 }, { 16, 16, 82, 31, 18, 0 }, { 16, 16, 81, 31, 18, 0 }, - { 16, 16, 80, 31, 18, 0 }, { 16, 16, 79, 31, 18, 0 }, { 16, 16, 78, 31, 18, 0 }, { 16, 16, 77, 30, 18, 0 }, { 16, 16, 76, 30, 18, 0 }, - { 16, 16, 75, 30, 18, 0 }, { 16, 16, 74, 30, 18, 0 }, { 16, 16, 73, 30, 18, 0 }, { 16, 16, 72, 30, 18, 0 }, { 16, 16, 71, 30, 18, 0 }, - { 16, 16, 70, 30, 18, 0 }, { 16, 16, 69, 30, 18, 0 }, { 16, 16, 68, 30, 18, 0 }, { 16, 16, 67, 30, 18, 0 }, { 16, 16, 66, 30, 18, 0 }, - { 16, 16, 65, 29, 18, 0 }, { 16, 16, 64, 29, 18, 0 }, { 16, 16, 63, 29, 18, 0 }, { 16, 16, 62, 29, 18, 0 }, { 16, 16, 61, 29, 18, 0 }, - { 16, 16, 60, 29, 18, 0 }, { 16, 16, 59, 29, 18, 0 }, { 16, 16, 58, 29, 18, 0 }, { 16, 16, 57, 29, 18, 0 }, { 16, 16, 56, 29, 18, 0 }, - { 16, 16, 55, 29, 18, 0 }, { 16, 16, 54, 29, 18, 0 }, { 16, 16, 53, 28, 18, 0 }, { 16, 16, 52, 28, 18, 0 }, { 16, 16, 51, 28, 18, 0 }, - { 16, 16, 50, 28, 18, 0 }, { 16, 16, 49, 28, 18, 0 }, { 16, 16, 48, 28, 18, 0 }, { 16, 16, 47, 28, 18, 0 }, { 16, 16, 46, 28, 18, 0 }, - { 16, 16, 45, 28, 18, 0 }, { 16, 16, 44, 28, 18, 0 }, { 16, 16, 43, 28, 18, 0 }, { 16, 16, 42, 28, 18, 0 }, { 16, 16, 41, 27, 18, 0 }, - { 16, 16, 40, 27, 18, 0 }, { 16, 16, 39, 27, 18, 0 }, { 16, 16, 38, 27, 18, 0 }, { 16, 16, 37, 27, 18, 0 }, { 16, 16, 36, 27, 18, 0 }, - { 16, 16, 35, 27, 18, 0 }, { 16, 16, 34, 27, 18, 0 }, { 16, 16, 33, 27, 18, 0 }, { 16, 16, 32, 27, 18, 0 }, { 16, 16, 31, 27, 18, 0 }, - { 16, 16, 30, 27, 18, 0 }, { 16, 16, 29, 26, 18, 0 }, { 16, 16, 28, 26, 18, 0 }, { 16, 16, 27, 26, 18, 0 }, { 16, 16, 26, 26, 18, 0 }, - { 16, 16, 25, 26, 18, 0 }, { 16, 16, 24, 26, 18, 0 }, { 16, 16, 23, 26, 18, 0 }, { 16, 16, 22, 26, 18, 0 }, { 16, 16, 21, 26, 18, 0 }, - { 16, 16, 20, 26, 18, 0 }, { 16, 16, 19, 26, 18, 0 }, { 16, 16, 18, 26, 18, 0 }, { 16, 16, 17, 25, 18, 0 }, { 16, 16, 16, 25, 18, 0 }, - { 16, 16, 15, 25, 18, 0 }, { 16, 16, 14, 25, 18, 0 }, { 16, 16, 13, 25, 18, 0 }, { 16, 16, 12, 25, 18, 0 }, { 16, 16, 11, 25, 18, 0 }, - { 16, 16, 10, 25, 18, 0 }, { 16, 16, 9, 25, 18, 0 }, { 16, 16, 8, 25, 18, 0 }, { 16, 16, 7, 25, 18, 0 }, { 16, 16, 6, 25, 18, 0 }, - { 16, 16, 5, 24, 18, 0 }, { 16, 16, 4, 24, 18, 0 }, { 16, 16, 3, 24, 18, 0 }, { 16, 16, 2, 24, 18, 0 }, { 16, 16, 1, 24, 18, 0 }, - { 16, 16, 0, 24, 18, 0 }, + 96, { + { 16, 16, 95, 0, 18, 0 }, { 16, 16, 94, 0, 18, 0 }, { 16, 16, 93, 0, 18, 0 }, { 16, 16, 92, 0, 18, 0 }, { 16, 16, 91, 0, 18, 0 }, + { 16, 16, 90, 0, 18, 0 }, { 16, 16, 89, 31, 18, 0 }, { 16, 16, 88, 31, 18, 0 }, { 16, 16, 87, 31, 18, 0 }, { 16, 16, 86, 31, 18, 0 }, + { 16, 16, 85, 31, 18, 0 }, { 16, 16, 84, 31, 18, 0 }, { 16, 16, 83, 31, 18, 0 }, { 16, 16, 82, 31, 18, 0 }, { 16, 16, 81, 31, 18, 0 }, + { 16, 16, 80, 31, 18, 0 }, { 16, 16, 79, 31, 18, 0 }, { 16, 16, 78, 31, 18, 0 }, { 16, 16, 77, 30, 18, 0 }, { 16, 16, 76, 30, 18, 0 }, + { 16, 16, 75, 30, 18, 0 }, { 16, 16, 74, 30, 18, 0 }, { 16, 16, 73, 30, 18, 0 }, { 16, 16, 72, 30, 18, 0 }, { 16, 16, 71, 30, 18, 0 }, + { 16, 16, 70, 30, 18, 0 }, { 16, 16, 69, 30, 18, 0 }, { 16, 16, 68, 30, 18, 0 }, { 16, 16, 67, 30, 18, 0 }, { 16, 16, 66, 30, 18, 0 }, + { 16, 16, 65, 29, 18, 0 }, { 16, 16, 64, 29, 18, 0 }, { 16, 16, 63, 29, 18, 0 }, { 16, 16, 62, 29, 18, 0 }, { 16, 16, 61, 29, 18, 0 }, + { 16, 16, 60, 29, 18, 0 }, { 16, 16, 59, 29, 18, 0 }, { 16, 16, 58, 29, 18, 0 }, { 16, 16, 57, 29, 18, 0 }, { 16, 16, 56, 29, 18, 0 }, + { 16, 16, 55, 29, 18, 0 }, { 16, 16, 54, 29, 18, 0 }, { 16, 16, 53, 28, 18, 0 }, { 16, 16, 52, 28, 18, 0 }, { 16, 16, 51, 28, 18, 0 }, + { 16, 16, 50, 28, 18, 0 }, { 16, 16, 49, 28, 18, 0 }, { 16, 16, 48, 28, 18, 0 }, { 16, 16, 47, 28, 18, 0 }, { 16, 16, 46, 28, 18, 0 }, + { 16, 16, 45, 28, 18, 0 }, { 16, 16, 44, 28, 18, 0 }, { 16, 16, 43, 28, 18, 0 }, { 16, 16, 42, 28, 18, 0 }, { 16, 16, 41, 27, 18, 0 }, + { 16, 16, 40, 27, 18, 0 }, { 16, 16, 39, 27, 18, 0 }, { 16, 16, 38, 27, 18, 0 }, { 16, 16, 37, 27, 18, 0 }, { 16, 16, 36, 27, 18, 0 }, + { 16, 16, 35, 27, 18, 0 }, { 16, 16, 34, 27, 18, 0 }, { 16, 16, 33, 27, 18, 0 }, { 16, 16, 32, 27, 18, 0 }, { 16, 16, 31, 27, 18, 0 }, + { 16, 16, 30, 27, 18, 0 }, { 16, 16, 29, 26, 18, 0 }, { 16, 16, 28, 26, 18, 0 }, { 16, 16, 27, 26, 18, 0 }, { 16, 16, 26, 26, 18, 0 }, + { 16, 16, 25, 26, 18, 0 }, { 16, 16, 24, 26, 18, 0 }, { 16, 16, 23, 26, 18, 0 }, { 16, 16, 22, 26, 18, 0 }, { 16, 16, 21, 26, 18, 0 }, + { 16, 16, 20, 26, 18, 0 }, { 16, 16, 19, 26, 18, 0 }, { 16, 16, 18, 26, 18, 0 }, { 16, 16, 17, 25, 18, 0 }, { 16, 16, 16, 25, 18, 0 }, + { 16, 16, 15, 25, 18, 0 }, { 16, 16, 14, 25, 18, 0 }, { 16, 16, 13, 25, 18, 0 }, { 16, 16, 12, 25, 18, 0 }, { 16, 16, 11, 25, 18, 0 }, + { 16, 16, 10, 25, 18, 0 }, { 16, 16, 9, 25, 18, 0 }, { 16, 16, 8, 25, 18, 0 }, { 16, 16, 7, 25, 18, 0 }, { 16, 16, 6, 25, 18, 0 }, + { 16, 16, 5, 24, 18, 0 }, { 16, 16, 4, 24, 18, 0 }, { 16, 16, 3, 24, 18, 0 }, { 16, 16, 2, 24, 18, 0 }, { 16, 16, 1, 24, 18, 0 }, + { 16, 16, 0, 24, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96AF78 = { - 96, { - { 16, 16, 95, 8, 18, 0 }, { 16, 16, 94, 8, 18, 0 }, { 16, 16, 93, 8, 18, 0 }, { 16, 16, 92, 8, 18, 0 }, { 16, 16, 91, 8, 18, 0 }, - { 16, 16, 90, 8, 18, 0 }, { 16, 16, 89, 7, 18, 0 }, { 16, 16, 88, 7, 18, 0 }, { 16, 16, 87, 7, 18, 0 }, { 16, 16, 86, 7, 18, 0 }, - { 16, 16, 85, 7, 18, 0 }, { 16, 16, 84, 7, 18, 0 }, { 16, 16, 83, 7, 18, 0 }, { 16, 16, 82, 7, 18, 0 }, { 16, 16, 81, 7, 18, 0 }, - { 16, 16, 80, 7, 18, 0 }, { 16, 16, 79, 7, 18, 0 }, { 16, 16, 78, 7, 18, 0 }, { 16, 16, 77, 6, 18, 0 }, { 16, 16, 76, 6, 18, 0 }, - { 16, 16, 75, 6, 18, 0 }, { 16, 16, 74, 6, 18, 0 }, { 16, 16, 73, 6, 18, 0 }, { 16, 16, 72, 6, 18, 0 }, { 16, 16, 71, 6, 18, 0 }, - { 16, 16, 70, 6, 18, 0 }, { 16, 16, 69, 6, 18, 0 }, { 16, 16, 68, 6, 18, 0 }, { 16, 16, 67, 6, 18, 0 }, { 16, 16, 66, 6, 18, 0 }, - { 16, 16, 65, 5, 18, 0 }, { 16, 16, 64, 5, 18, 0 }, { 16, 16, 63, 5, 18, 0 }, { 16, 16, 62, 5, 18, 0 }, { 16, 16, 61, 5, 18, 0 }, - { 16, 16, 60, 5, 18, 0 }, { 16, 16, 59, 5, 18, 0 }, { 16, 16, 58, 5, 18, 0 }, { 16, 16, 57, 5, 18, 0 }, { 16, 16, 56, 5, 18, 0 }, - { 16, 16, 55, 5, 18, 0 }, { 16, 16, 54, 5, 18, 0 }, { 16, 16, 53, 4, 18, 0 }, { 16, 16, 52, 4, 18, 0 }, { 16, 16, 51, 4, 18, 0 }, - { 16, 16, 50, 4, 18, 0 }, { 16, 16, 49, 4, 18, 0 }, { 16, 16, 48, 4, 18, 0 }, { 16, 16, 47, 4, 18, 0 }, { 16, 16, 46, 4, 18, 0 }, - { 16, 16, 45, 4, 18, 0 }, { 16, 16, 44, 4, 18, 0 }, { 16, 16, 43, 4, 18, 0 }, { 16, 16, 42, 4, 18, 0 }, { 16, 16, 41, 3, 18, 0 }, - { 16, 16, 40, 3, 18, 0 }, { 16, 16, 39, 3, 18, 0 }, { 16, 16, 38, 3, 18, 0 }, { 16, 16, 37, 3, 18, 0 }, { 16, 16, 36, 3, 18, 0 }, - { 16, 16, 35, 3, 18, 0 }, { 16, 16, 34, 3, 18, 0 }, { 16, 16, 33, 3, 18, 0 }, { 16, 16, 32, 3, 18, 0 }, { 16, 16, 31, 3, 18, 0 }, - { 16, 16, 30, 3, 18, 0 }, { 16, 16, 29, 2, 18, 0 }, { 16, 16, 28, 2, 18, 0 }, { 16, 16, 27, 2, 18, 0 }, { 16, 16, 26, 2, 18, 0 }, - { 16, 16, 25, 2, 18, 0 }, { 16, 16, 24, 2, 18, 0 }, { 16, 16, 23, 2, 18, 0 }, { 16, 16, 22, 2, 18, 0 }, { 16, 16, 21, 2, 18, 0 }, - { 16, 16, 20, 2, 18, 0 }, { 16, 16, 19, 2, 18, 0 }, { 16, 16, 18, 2, 18, 0 }, { 16, 16, 17, 1, 18, 0 }, { 16, 16, 16, 1, 18, 0 }, - { 16, 16, 15, 1, 18, 0 }, { 16, 16, 14, 1, 18, 0 }, { 16, 16, 13, 1, 18, 0 }, { 16, 16, 12, 1, 18, 0 }, { 16, 16, 11, 1, 18, 0 }, - { 16, 16, 10, 1, 18, 0 }, { 16, 16, 9, 1, 18, 0 }, { 16, 16, 8, 1, 18, 0 }, { 16, 16, 7, 1, 18, 0 }, { 16, 16, 6, 1, 18, 0 }, - { 16, 16, 5, 0, 18, 0 }, { 16, 16, 4, 0, 18, 0 }, { 16, 16, 3, 0, 18, 0 }, { 16, 16, 2, 0, 18, 0 }, { 16, 16, 1, 0, 18, 0 }, - { 16, 16, 0, 0, 18, 0 }, + 96, { + { 16, 16, 95, 8, 18, 0 }, { 16, 16, 94, 8, 18, 0 }, { 16, 16, 93, 8, 18, 0 }, { 16, 16, 92, 8, 18, 0 }, { 16, 16, 91, 8, 18, 0 }, + { 16, 16, 90, 8, 18, 0 }, { 16, 16, 89, 7, 18, 0 }, { 16, 16, 88, 7, 18, 0 }, { 16, 16, 87, 7, 18, 0 }, { 16, 16, 86, 7, 18, 0 }, + { 16, 16, 85, 7, 18, 0 }, { 16, 16, 84, 7, 18, 0 }, { 16, 16, 83, 7, 18, 0 }, { 16, 16, 82, 7, 18, 0 }, { 16, 16, 81, 7, 18, 0 }, + { 16, 16, 80, 7, 18, 0 }, { 16, 16, 79, 7, 18, 0 }, { 16, 16, 78, 7, 18, 0 }, { 16, 16, 77, 6, 18, 0 }, { 16, 16, 76, 6, 18, 0 }, + { 16, 16, 75, 6, 18, 0 }, { 16, 16, 74, 6, 18, 0 }, { 16, 16, 73, 6, 18, 0 }, { 16, 16, 72, 6, 18, 0 }, { 16, 16, 71, 6, 18, 0 }, + { 16, 16, 70, 6, 18, 0 }, { 16, 16, 69, 6, 18, 0 }, { 16, 16, 68, 6, 18, 0 }, { 16, 16, 67, 6, 18, 0 }, { 16, 16, 66, 6, 18, 0 }, + { 16, 16, 65, 5, 18, 0 }, { 16, 16, 64, 5, 18, 0 }, { 16, 16, 63, 5, 18, 0 }, { 16, 16, 62, 5, 18, 0 }, { 16, 16, 61, 5, 18, 0 }, + { 16, 16, 60, 5, 18, 0 }, { 16, 16, 59, 5, 18, 0 }, { 16, 16, 58, 5, 18, 0 }, { 16, 16, 57, 5, 18, 0 }, { 16, 16, 56, 5, 18, 0 }, + { 16, 16, 55, 5, 18, 0 }, { 16, 16, 54, 5, 18, 0 }, { 16, 16, 53, 4, 18, 0 }, { 16, 16, 52, 4, 18, 0 }, { 16, 16, 51, 4, 18, 0 }, + { 16, 16, 50, 4, 18, 0 }, { 16, 16, 49, 4, 18, 0 }, { 16, 16, 48, 4, 18, 0 }, { 16, 16, 47, 4, 18, 0 }, { 16, 16, 46, 4, 18, 0 }, + { 16, 16, 45, 4, 18, 0 }, { 16, 16, 44, 4, 18, 0 }, { 16, 16, 43, 4, 18, 0 }, { 16, 16, 42, 4, 18, 0 }, { 16, 16, 41, 3, 18, 0 }, + { 16, 16, 40, 3, 18, 0 }, { 16, 16, 39, 3, 18, 0 }, { 16, 16, 38, 3, 18, 0 }, { 16, 16, 37, 3, 18, 0 }, { 16, 16, 36, 3, 18, 0 }, + { 16, 16, 35, 3, 18, 0 }, { 16, 16, 34, 3, 18, 0 }, { 16, 16, 33, 3, 18, 0 }, { 16, 16, 32, 3, 18, 0 }, { 16, 16, 31, 3, 18, 0 }, + { 16, 16, 30, 3, 18, 0 }, { 16, 16, 29, 2, 18, 0 }, { 16, 16, 28, 2, 18, 0 }, { 16, 16, 27, 2, 18, 0 }, { 16, 16, 26, 2, 18, 0 }, + { 16, 16, 25, 2, 18, 0 }, { 16, 16, 24, 2, 18, 0 }, { 16, 16, 23, 2, 18, 0 }, { 16, 16, 22, 2, 18, 0 }, { 16, 16, 21, 2, 18, 0 }, + { 16, 16, 20, 2, 18, 0 }, { 16, 16, 19, 2, 18, 0 }, { 16, 16, 18, 2, 18, 0 }, { 16, 16, 17, 1, 18, 0 }, { 16, 16, 16, 1, 18, 0 }, + { 16, 16, 15, 1, 18, 0 }, { 16, 16, 14, 1, 18, 0 }, { 16, 16, 13, 1, 18, 0 }, { 16, 16, 12, 1, 18, 0 }, { 16, 16, 11, 1, 18, 0 }, + { 16, 16, 10, 1, 18, 0 }, { 16, 16, 9, 1, 18, 0 }, { 16, 16, 8, 1, 18, 0 }, { 16, 16, 7, 1, 18, 0 }, { 16, 16, 6, 1, 18, 0 }, + { 16, 16, 5, 0, 18, 0 }, { 16, 16, 4, 0, 18, 0 }, { 16, 16, 3, 0, 18, 0 }, { 16, 16, 2, 0, 18, 0 }, { 16, 16, 1, 0, 18, 0 }, + { 16, 16, 0, 0, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96B2DA = { - 96, { - { 16, 16, 95, 16, 18, 0 }, { 16, 16, 94, 16, 18, 0 }, { 16, 16, 93, 16, 18, 0 }, { 16, 16, 92, 16, 18, 0 }, { 16, 16, 91, 16, 18, 0 }, - { 16, 16, 90, 16, 18, 0 }, { 16, 16, 89, 15, 18, 0 }, { 16, 16, 88, 15, 18, 0 }, { 16, 16, 87, 15, 18, 0 }, { 16, 16, 86, 15, 18, 0 }, - { 16, 16, 85, 15, 18, 0 }, { 16, 16, 84, 15, 18, 0 }, { 16, 16, 83, 15, 18, 0 }, { 16, 16, 82, 15, 18, 0 }, { 16, 16, 81, 15, 18, 0 }, - { 16, 16, 80, 15, 18, 0 }, { 16, 16, 79, 15, 18, 0 }, { 16, 16, 78, 15, 18, 0 }, { 16, 16, 77, 14, 18, 0 }, { 16, 16, 76, 14, 18, 0 }, - { 16, 16, 75, 14, 18, 0 }, { 16, 16, 74, 14, 18, 0 }, { 16, 16, 73, 14, 18, 0 }, { 16, 16, 72, 14, 18, 0 }, { 16, 16, 71, 14, 18, 0 }, - { 16, 16, 70, 14, 18, 0 }, { 16, 16, 69, 14, 18, 0 }, { 16, 16, 68, 14, 18, 0 }, { 16, 16, 67, 14, 18, 0 }, { 16, 16, 66, 14, 18, 0 }, - { 16, 16, 65, 13, 18, 0 }, { 16, 16, 64, 13, 18, 0 }, { 16, 16, 63, 13, 18, 0 }, { 16, 16, 62, 13, 18, 0 }, { 16, 16, 61, 13, 18, 0 }, - { 16, 16, 60, 13, 18, 0 }, { 16, 16, 59, 13, 18, 0 }, { 16, 16, 58, 13, 18, 0 }, { 16, 16, 57, 13, 18, 0 }, { 16, 16, 56, 13, 18, 0 }, - { 16, 16, 55, 13, 18, 0 }, { 16, 16, 54, 13, 18, 0 }, { 16, 16, 53, 12, 18, 0 }, { 16, 16, 52, 12, 18, 0 }, { 16, 16, 51, 12, 18, 0 }, - { 16, 16, 50, 12, 18, 0 }, { 16, 16, 49, 12, 18, 0 }, { 16, 16, 48, 12, 18, 0 }, { 16, 16, 47, 12, 18, 0 }, { 16, 16, 46, 12, 18, 0 }, - { 16, 16, 45, 12, 18, 0 }, { 16, 16, 44, 12, 18, 0 }, { 16, 16, 43, 12, 18, 0 }, { 16, 16, 42, 12, 18, 0 }, { 16, 16, 41, 11, 18, 0 }, - { 16, 16, 40, 11, 18, 0 }, { 16, 16, 39, 11, 18, 0 }, { 16, 16, 38, 11, 18, 0 }, { 16, 16, 37, 11, 18, 0 }, { 16, 16, 36, 11, 18, 0 }, - { 16, 16, 35, 11, 18, 0 }, { 16, 16, 34, 11, 18, 0 }, { 16, 16, 33, 11, 18, 0 }, { 16, 16, 32, 11, 18, 0 }, { 16, 16, 31, 11, 18, 0 }, - { 16, 16, 30, 11, 18, 0 }, { 16, 16, 29, 10, 18, 0 }, { 16, 16, 28, 10, 18, 0 }, { 16, 16, 27, 10, 18, 0 }, { 16, 16, 26, 10, 18, 0 }, - { 16, 16, 25, 10, 18, 0 }, { 16, 16, 24, 10, 18, 0 }, { 16, 16, 23, 10, 18, 0 }, { 16, 16, 22, 10, 18, 0 }, { 16, 16, 21, 10, 18, 0 }, - { 16, 16, 20, 10, 18, 0 }, { 16, 16, 19, 10, 18, 0 }, { 16, 16, 18, 10, 18, 0 }, { 16, 16, 17, 9, 18, 0 }, { 16, 16, 16, 9, 18, 0 }, - { 16, 16, 15, 9, 18, 0 }, { 16, 16, 14, 9, 18, 0 }, { 16, 16, 13, 9, 18, 0 }, { 16, 16, 12, 9, 18, 0 }, { 16, 16, 11, 9, 18, 0 }, - { 16, 16, 10, 9, 18, 0 }, { 16, 16, 9, 9, 18, 0 }, { 16, 16, 8, 9, 18, 0 }, { 16, 16, 7, 9, 18, 0 }, { 16, 16, 6, 9, 18, 0 }, - { 16, 16, 5, 8, 18, 0 }, { 16, 16, 4, 8, 18, 0 }, { 16, 16, 3, 8, 18, 0 }, { 16, 16, 2, 8, 18, 0 }, { 16, 16, 1, 8, 18, 0 }, - { 16, 16, 0, 8, 18, 0 }, + 96, { + { 16, 16, 95, 16, 18, 0 }, { 16, 16, 94, 16, 18, 0 }, { 16, 16, 93, 16, 18, 0 }, { 16, 16, 92, 16, 18, 0 }, { 16, 16, 91, 16, 18, 0 }, + { 16, 16, 90, 16, 18, 0 }, { 16, 16, 89, 15, 18, 0 }, { 16, 16, 88, 15, 18, 0 }, { 16, 16, 87, 15, 18, 0 }, { 16, 16, 86, 15, 18, 0 }, + { 16, 16, 85, 15, 18, 0 }, { 16, 16, 84, 15, 18, 0 }, { 16, 16, 83, 15, 18, 0 }, { 16, 16, 82, 15, 18, 0 }, { 16, 16, 81, 15, 18, 0 }, + { 16, 16, 80, 15, 18, 0 }, { 16, 16, 79, 15, 18, 0 }, { 16, 16, 78, 15, 18, 0 }, { 16, 16, 77, 14, 18, 0 }, { 16, 16, 76, 14, 18, 0 }, + { 16, 16, 75, 14, 18, 0 }, { 16, 16, 74, 14, 18, 0 }, { 16, 16, 73, 14, 18, 0 }, { 16, 16, 72, 14, 18, 0 }, { 16, 16, 71, 14, 18, 0 }, + { 16, 16, 70, 14, 18, 0 }, { 16, 16, 69, 14, 18, 0 }, { 16, 16, 68, 14, 18, 0 }, { 16, 16, 67, 14, 18, 0 }, { 16, 16, 66, 14, 18, 0 }, + { 16, 16, 65, 13, 18, 0 }, { 16, 16, 64, 13, 18, 0 }, { 16, 16, 63, 13, 18, 0 }, { 16, 16, 62, 13, 18, 0 }, { 16, 16, 61, 13, 18, 0 }, + { 16, 16, 60, 13, 18, 0 }, { 16, 16, 59, 13, 18, 0 }, { 16, 16, 58, 13, 18, 0 }, { 16, 16, 57, 13, 18, 0 }, { 16, 16, 56, 13, 18, 0 }, + { 16, 16, 55, 13, 18, 0 }, { 16, 16, 54, 13, 18, 0 }, { 16, 16, 53, 12, 18, 0 }, { 16, 16, 52, 12, 18, 0 }, { 16, 16, 51, 12, 18, 0 }, + { 16, 16, 50, 12, 18, 0 }, { 16, 16, 49, 12, 18, 0 }, { 16, 16, 48, 12, 18, 0 }, { 16, 16, 47, 12, 18, 0 }, { 16, 16, 46, 12, 18, 0 }, + { 16, 16, 45, 12, 18, 0 }, { 16, 16, 44, 12, 18, 0 }, { 16, 16, 43, 12, 18, 0 }, { 16, 16, 42, 12, 18, 0 }, { 16, 16, 41, 11, 18, 0 }, + { 16, 16, 40, 11, 18, 0 }, { 16, 16, 39, 11, 18, 0 }, { 16, 16, 38, 11, 18, 0 }, { 16, 16, 37, 11, 18, 0 }, { 16, 16, 36, 11, 18, 0 }, + { 16, 16, 35, 11, 18, 0 }, { 16, 16, 34, 11, 18, 0 }, { 16, 16, 33, 11, 18, 0 }, { 16, 16, 32, 11, 18, 0 }, { 16, 16, 31, 11, 18, 0 }, + { 16, 16, 30, 11, 18, 0 }, { 16, 16, 29, 10, 18, 0 }, { 16, 16, 28, 10, 18, 0 }, { 16, 16, 27, 10, 18, 0 }, { 16, 16, 26, 10, 18, 0 }, + { 16, 16, 25, 10, 18, 0 }, { 16, 16, 24, 10, 18, 0 }, { 16, 16, 23, 10, 18, 0 }, { 16, 16, 22, 10, 18, 0 }, { 16, 16, 21, 10, 18, 0 }, + { 16, 16, 20, 10, 18, 0 }, { 16, 16, 19, 10, 18, 0 }, { 16, 16, 18, 10, 18, 0 }, { 16, 16, 17, 9, 18, 0 }, { 16, 16, 16, 9, 18, 0 }, + { 16, 16, 15, 9, 18, 0 }, { 16, 16, 14, 9, 18, 0 }, { 16, 16, 13, 9, 18, 0 }, { 16, 16, 12, 9, 18, 0 }, { 16, 16, 11, 9, 18, 0 }, + { 16, 16, 10, 9, 18, 0 }, { 16, 16, 9, 9, 18, 0 }, { 16, 16, 8, 9, 18, 0 }, { 16, 16, 7, 9, 18, 0 }, { 16, 16, 6, 9, 18, 0 }, + { 16, 16, 5, 8, 18, 0 }, { 16, 16, 4, 8, 18, 0 }, { 16, 16, 3, 8, 18, 0 }, { 16, 16, 2, 8, 18, 0 }, { 16, 16, 1, 8, 18, 0 }, + { 16, 16, 0, 8, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96B63C = { - 96, { - { 16, 16, 95, 24, 18, 0 }, { 16, 16, 94, 24, 18, 0 }, { 16, 16, 93, 24, 18, 0 }, { 16, 16, 92, 24, 18, 0 }, { 16, 16, 91, 24, 18, 0 }, - { 16, 16, 90, 24, 18, 0 }, { 16, 16, 89, 23, 18, 0 }, { 16, 16, 88, 23, 18, 0 }, { 16, 16, 87, 23, 18, 0 }, { 16, 16, 86, 23, 18, 0 }, - { 16, 16, 85, 23, 18, 0 }, { 16, 16, 84, 23, 18, 0 }, { 16, 16, 83, 23, 18, 0 }, { 16, 16, 82, 23, 18, 0 }, { 16, 16, 81, 23, 18, 0 }, - { 16, 16, 80, 23, 18, 0 }, { 16, 16, 79, 23, 18, 0 }, { 16, 16, 78, 23, 18, 0 }, { 16, 16, 77, 22, 18, 0 }, { 16, 16, 76, 22, 18, 0 }, - { 16, 16, 75, 22, 18, 0 }, { 16, 16, 74, 22, 18, 0 }, { 16, 16, 73, 22, 18, 0 }, { 16, 16, 72, 22, 18, 0 }, { 16, 16, 71, 22, 18, 0 }, - { 16, 16, 70, 22, 18, 0 }, { 16, 16, 69, 22, 18, 0 }, { 16, 16, 68, 22, 18, 0 }, { 16, 16, 67, 22, 18, 0 }, { 16, 16, 66, 22, 18, 0 }, - { 16, 16, 65, 21, 18, 0 }, { 16, 16, 64, 21, 18, 0 }, { 16, 16, 63, 21, 18, 0 }, { 16, 16, 62, 21, 18, 0 }, { 16, 16, 61, 21, 18, 0 }, - { 16, 16, 60, 21, 18, 0 }, { 16, 16, 59, 21, 18, 0 }, { 16, 16, 58, 21, 18, 0 }, { 16, 16, 57, 21, 18, 0 }, { 16, 16, 56, 21, 18, 0 }, - { 16, 16, 55, 21, 18, 0 }, { 16, 16, 54, 21, 18, 0 }, { 16, 16, 53, 20, 18, 0 }, { 16, 16, 52, 20, 18, 0 }, { 16, 16, 51, 20, 18, 0 }, - { 16, 16, 50, 20, 18, 0 }, { 16, 16, 49, 20, 18, 0 }, { 16, 16, 48, 20, 18, 0 }, { 16, 16, 47, 20, 18, 0 }, { 16, 16, 46, 20, 18, 0 }, - { 16, 16, 45, 20, 18, 0 }, { 16, 16, 44, 20, 18, 0 }, { 16, 16, 43, 20, 18, 0 }, { 16, 16, 42, 20, 18, 0 }, { 16, 16, 41, 19, 18, 0 }, - { 16, 16, 40, 19, 18, 0 }, { 16, 16, 39, 19, 18, 0 }, { 16, 16, 38, 19, 18, 0 }, { 16, 16, 37, 19, 18, 0 }, { 16, 16, 36, 19, 18, 0 }, - { 16, 16, 35, 19, 18, 0 }, { 16, 16, 34, 19, 18, 0 }, { 16, 16, 33, 19, 18, 0 }, { 16, 16, 32, 19, 18, 0 }, { 16, 16, 31, 19, 18, 0 }, - { 16, 16, 30, 19, 18, 0 }, { 16, 16, 29, 18, 18, 0 }, { 16, 16, 28, 18, 18, 0 }, { 16, 16, 27, 18, 18, 0 }, { 16, 16, 26, 18, 18, 0 }, - { 16, 16, 25, 18, 18, 0 }, { 16, 16, 24, 18, 18, 0 }, { 16, 16, 23, 18, 18, 0 }, { 16, 16, 22, 18, 18, 0 }, { 16, 16, 21, 18, 18, 0 }, - { 16, 16, 20, 18, 18, 0 }, { 16, 16, 19, 18, 18, 0 }, { 16, 16, 18, 18, 18, 0 }, { 16, 16, 17, 17, 18, 0 }, { 16, 16, 16, 17, 18, 0 }, - { 16, 16, 15, 17, 18, 0 }, { 16, 16, 14, 17, 18, 0 }, { 16, 16, 13, 17, 18, 0 }, { 16, 16, 12, 17, 18, 0 }, { 16, 16, 11, 17, 18, 0 }, - { 16, 16, 10, 17, 18, 0 }, { 16, 16, 9, 17, 18, 0 }, { 16, 16, 8, 17, 18, 0 }, { 16, 16, 7, 17, 18, 0 }, { 16, 16, 6, 17, 18, 0 }, - { 16, 16, 5, 16, 18, 0 }, { 16, 16, 4, 16, 18, 0 }, { 16, 16, 3, 16, 18, 0 }, { 16, 16, 2, 16, 18, 0 }, { 16, 16, 1, 16, 18, 0 }, - { 16, 16, 0, 16, 18, 0 }, + 96, { + { 16, 16, 95, 24, 18, 0 }, { 16, 16, 94, 24, 18, 0 }, { 16, 16, 93, 24, 18, 0 }, { 16, 16, 92, 24, 18, 0 }, { 16, 16, 91, 24, 18, 0 }, + { 16, 16, 90, 24, 18, 0 }, { 16, 16, 89, 23, 18, 0 }, { 16, 16, 88, 23, 18, 0 }, { 16, 16, 87, 23, 18, 0 }, { 16, 16, 86, 23, 18, 0 }, + { 16, 16, 85, 23, 18, 0 }, { 16, 16, 84, 23, 18, 0 }, { 16, 16, 83, 23, 18, 0 }, { 16, 16, 82, 23, 18, 0 }, { 16, 16, 81, 23, 18, 0 }, + { 16, 16, 80, 23, 18, 0 }, { 16, 16, 79, 23, 18, 0 }, { 16, 16, 78, 23, 18, 0 }, { 16, 16, 77, 22, 18, 0 }, { 16, 16, 76, 22, 18, 0 }, + { 16, 16, 75, 22, 18, 0 }, { 16, 16, 74, 22, 18, 0 }, { 16, 16, 73, 22, 18, 0 }, { 16, 16, 72, 22, 18, 0 }, { 16, 16, 71, 22, 18, 0 }, + { 16, 16, 70, 22, 18, 0 }, { 16, 16, 69, 22, 18, 0 }, { 16, 16, 68, 22, 18, 0 }, { 16, 16, 67, 22, 18, 0 }, { 16, 16, 66, 22, 18, 0 }, + { 16, 16, 65, 21, 18, 0 }, { 16, 16, 64, 21, 18, 0 }, { 16, 16, 63, 21, 18, 0 }, { 16, 16, 62, 21, 18, 0 }, { 16, 16, 61, 21, 18, 0 }, + { 16, 16, 60, 21, 18, 0 }, { 16, 16, 59, 21, 18, 0 }, { 16, 16, 58, 21, 18, 0 }, { 16, 16, 57, 21, 18, 0 }, { 16, 16, 56, 21, 18, 0 }, + { 16, 16, 55, 21, 18, 0 }, { 16, 16, 54, 21, 18, 0 }, { 16, 16, 53, 20, 18, 0 }, { 16, 16, 52, 20, 18, 0 }, { 16, 16, 51, 20, 18, 0 }, + { 16, 16, 50, 20, 18, 0 }, { 16, 16, 49, 20, 18, 0 }, { 16, 16, 48, 20, 18, 0 }, { 16, 16, 47, 20, 18, 0 }, { 16, 16, 46, 20, 18, 0 }, + { 16, 16, 45, 20, 18, 0 }, { 16, 16, 44, 20, 18, 0 }, { 16, 16, 43, 20, 18, 0 }, { 16, 16, 42, 20, 18, 0 }, { 16, 16, 41, 19, 18, 0 }, + { 16, 16, 40, 19, 18, 0 }, { 16, 16, 39, 19, 18, 0 }, { 16, 16, 38, 19, 18, 0 }, { 16, 16, 37, 19, 18, 0 }, { 16, 16, 36, 19, 18, 0 }, + { 16, 16, 35, 19, 18, 0 }, { 16, 16, 34, 19, 18, 0 }, { 16, 16, 33, 19, 18, 0 }, { 16, 16, 32, 19, 18, 0 }, { 16, 16, 31, 19, 18, 0 }, + { 16, 16, 30, 19, 18, 0 }, { 16, 16, 29, 18, 18, 0 }, { 16, 16, 28, 18, 18, 0 }, { 16, 16, 27, 18, 18, 0 }, { 16, 16, 26, 18, 18, 0 }, + { 16, 16, 25, 18, 18, 0 }, { 16, 16, 24, 18, 18, 0 }, { 16, 16, 23, 18, 18, 0 }, { 16, 16, 22, 18, 18, 0 }, { 16, 16, 21, 18, 18, 0 }, + { 16, 16, 20, 18, 18, 0 }, { 16, 16, 19, 18, 18, 0 }, { 16, 16, 18, 18, 18, 0 }, { 16, 16, 17, 17, 18, 0 }, { 16, 16, 16, 17, 18, 0 }, + { 16, 16, 15, 17, 18, 0 }, { 16, 16, 14, 17, 18, 0 }, { 16, 16, 13, 17, 18, 0 }, { 16, 16, 12, 17, 18, 0 }, { 16, 16, 11, 17, 18, 0 }, + { 16, 16, 10, 17, 18, 0 }, { 16, 16, 9, 17, 18, 0 }, { 16, 16, 8, 17, 18, 0 }, { 16, 16, 7, 17, 18, 0 }, { 16, 16, 6, 17, 18, 0 }, + { 16, 16, 5, 16, 18, 0 }, { 16, 16, 4, 16, 18, 0 }, { 16, 16, 3, 16, 18, 0 }, { 16, 16, 2, 16, 18, 0 }, { 16, 16, 1, 16, 18, 0 }, + { 16, 16, 0, 16, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96C726 = { - 96, { - { 16, 16, 95, 0, 18, 0 }, { 16, 16, 94, 0, 18, 0 }, { 16, 16, 93, 0, 18, 0 }, { 16, 16, 92, 0, 18, 0 }, { 16, 16, 91, 0, 18, 0 }, - { 16, 16, 90, 0, 18, 0 }, { 16, 16, 89, 1, 18, 0 }, { 16, 16, 88, 1, 18, 0 }, { 16, 16, 87, 1, 18, 0 }, { 16, 16, 86, 1, 18, 0 }, - { 16, 16, 85, 1, 18, 0 }, { 16, 16, 84, 1, 18, 0 }, { 16, 16, 83, 1, 18, 0 }, { 16, 16, 82, 1, 18, 0 }, { 16, 16, 81, 1, 18, 0 }, - { 16, 16, 80, 1, 18, 0 }, { 16, 16, 79, 1, 18, 0 }, { 16, 16, 78, 1, 18, 0 }, { 16, 16, 77, 2, 18, 0 }, { 16, 16, 76, 2, 18, 0 }, - { 16, 16, 75, 2, 18, 0 }, { 16, 16, 74, 2, 18, 0 }, { 16, 16, 73, 2, 18, 0 }, { 16, 16, 72, 2, 18, 0 }, { 16, 16, 71, 2, 18, 0 }, - { 16, 16, 70, 2, 18, 0 }, { 16, 16, 69, 2, 18, 0 }, { 16, 16, 68, 2, 18, 0 }, { 16, 16, 67, 2, 18, 0 }, { 16, 16, 66, 2, 18, 0 }, - { 16, 16, 65, 3, 18, 0 }, { 16, 16, 64, 3, 18, 0 }, { 16, 16, 63, 3, 18, 0 }, { 16, 16, 62, 3, 18, 0 }, { 16, 16, 61, 3, 18, 0 }, - { 16, 16, 60, 3, 18, 0 }, { 16, 16, 59, 3, 18, 0 }, { 16, 16, 58, 3, 18, 0 }, { 16, 16, 57, 3, 18, 0 }, { 16, 16, 56, 3, 18, 0 }, - { 16, 16, 55, 3, 18, 0 }, { 16, 16, 54, 3, 18, 0 }, { 16, 16, 53, 4, 18, 0 }, { 16, 16, 52, 4, 18, 0 }, { 16, 16, 51, 4, 18, 0 }, - { 16, 16, 50, 4, 18, 0 }, { 16, 16, 49, 4, 18, 0 }, { 16, 16, 48, 4, 18, 0 }, { 16, 16, 47, 4, 18, 0 }, { 16, 16, 46, 4, 18, 0 }, - { 16, 16, 45, 4, 18, 0 }, { 16, 16, 44, 4, 18, 0 }, { 16, 16, 43, 4, 18, 0 }, { 16, 16, 42, 4, 18, 0 }, { 16, 16, 41, 5, 18, 0 }, - { 16, 16, 40, 5, 18, 0 }, { 16, 16, 39, 5, 18, 0 }, { 16, 16, 38, 5, 18, 0 }, { 16, 16, 37, 5, 18, 0 }, { 16, 16, 36, 5, 18, 0 }, - { 16, 16, 35, 5, 18, 0 }, { 16, 16, 34, 5, 18, 0 }, { 16, 16, 33, 5, 18, 0 }, { 16, 16, 32, 5, 18, 0 }, { 16, 16, 31, 5, 18, 0 }, - { 16, 16, 30, 5, 18, 0 }, { 16, 16, 29, 6, 18, 0 }, { 16, 16, 28, 6, 18, 0 }, { 16, 16, 27, 6, 18, 0 }, { 16, 16, 26, 6, 18, 0 }, - { 16, 16, 25, 6, 18, 0 }, { 16, 16, 24, 6, 18, 0 }, { 16, 16, 23, 6, 18, 0 }, { 16, 16, 22, 6, 18, 0 }, { 16, 16, 21, 6, 18, 0 }, - { 16, 16, 20, 6, 18, 0 }, { 16, 16, 19, 6, 18, 0 }, { 16, 16, 18, 6, 18, 0 }, { 16, 16, 17, 7, 18, 0 }, { 16, 16, 16, 7, 18, 0 }, - { 16, 16, 15, 7, 18, 0 }, { 16, 16, 14, 7, 18, 0 }, { 16, 16, 13, 7, 18, 0 }, { 16, 16, 12, 7, 18, 0 }, { 16, 16, 11, 7, 18, 0 }, - { 16, 16, 10, 7, 18, 0 }, { 16, 16, 9, 7, 18, 0 }, { 16, 16, 8, 7, 18, 0 }, { 16, 16, 7, 7, 18, 0 }, { 16, 16, 6, 7, 18, 0 }, - { 16, 16, 5, 8, 18, 0 }, { 16, 16, 4, 8, 18, 0 }, { 16, 16, 3, 8, 18, 0 }, { 16, 16, 2, 8, 18, 0 }, { 16, 16, 1, 8, 18, 0 }, - { 16, 16, 0, 8, 18, 0 }, + 96, { + { 16, 16, 95, 0, 18, 0 }, { 16, 16, 94, 0, 18, 0 }, { 16, 16, 93, 0, 18, 0 }, { 16, 16, 92, 0, 18, 0 }, { 16, 16, 91, 0, 18, 0 }, + { 16, 16, 90, 0, 18, 0 }, { 16, 16, 89, 1, 18, 0 }, { 16, 16, 88, 1, 18, 0 }, { 16, 16, 87, 1, 18, 0 }, { 16, 16, 86, 1, 18, 0 }, + { 16, 16, 85, 1, 18, 0 }, { 16, 16, 84, 1, 18, 0 }, { 16, 16, 83, 1, 18, 0 }, { 16, 16, 82, 1, 18, 0 }, { 16, 16, 81, 1, 18, 0 }, + { 16, 16, 80, 1, 18, 0 }, { 16, 16, 79, 1, 18, 0 }, { 16, 16, 78, 1, 18, 0 }, { 16, 16, 77, 2, 18, 0 }, { 16, 16, 76, 2, 18, 0 }, + { 16, 16, 75, 2, 18, 0 }, { 16, 16, 74, 2, 18, 0 }, { 16, 16, 73, 2, 18, 0 }, { 16, 16, 72, 2, 18, 0 }, { 16, 16, 71, 2, 18, 0 }, + { 16, 16, 70, 2, 18, 0 }, { 16, 16, 69, 2, 18, 0 }, { 16, 16, 68, 2, 18, 0 }, { 16, 16, 67, 2, 18, 0 }, { 16, 16, 66, 2, 18, 0 }, + { 16, 16, 65, 3, 18, 0 }, { 16, 16, 64, 3, 18, 0 }, { 16, 16, 63, 3, 18, 0 }, { 16, 16, 62, 3, 18, 0 }, { 16, 16, 61, 3, 18, 0 }, + { 16, 16, 60, 3, 18, 0 }, { 16, 16, 59, 3, 18, 0 }, { 16, 16, 58, 3, 18, 0 }, { 16, 16, 57, 3, 18, 0 }, { 16, 16, 56, 3, 18, 0 }, + { 16, 16, 55, 3, 18, 0 }, { 16, 16, 54, 3, 18, 0 }, { 16, 16, 53, 4, 18, 0 }, { 16, 16, 52, 4, 18, 0 }, { 16, 16, 51, 4, 18, 0 }, + { 16, 16, 50, 4, 18, 0 }, { 16, 16, 49, 4, 18, 0 }, { 16, 16, 48, 4, 18, 0 }, { 16, 16, 47, 4, 18, 0 }, { 16, 16, 46, 4, 18, 0 }, + { 16, 16, 45, 4, 18, 0 }, { 16, 16, 44, 4, 18, 0 }, { 16, 16, 43, 4, 18, 0 }, { 16, 16, 42, 4, 18, 0 }, { 16, 16, 41, 5, 18, 0 }, + { 16, 16, 40, 5, 18, 0 }, { 16, 16, 39, 5, 18, 0 }, { 16, 16, 38, 5, 18, 0 }, { 16, 16, 37, 5, 18, 0 }, { 16, 16, 36, 5, 18, 0 }, + { 16, 16, 35, 5, 18, 0 }, { 16, 16, 34, 5, 18, 0 }, { 16, 16, 33, 5, 18, 0 }, { 16, 16, 32, 5, 18, 0 }, { 16, 16, 31, 5, 18, 0 }, + { 16, 16, 30, 5, 18, 0 }, { 16, 16, 29, 6, 18, 0 }, { 16, 16, 28, 6, 18, 0 }, { 16, 16, 27, 6, 18, 0 }, { 16, 16, 26, 6, 18, 0 }, + { 16, 16, 25, 6, 18, 0 }, { 16, 16, 24, 6, 18, 0 }, { 16, 16, 23, 6, 18, 0 }, { 16, 16, 22, 6, 18, 0 }, { 16, 16, 21, 6, 18, 0 }, + { 16, 16, 20, 6, 18, 0 }, { 16, 16, 19, 6, 18, 0 }, { 16, 16, 18, 6, 18, 0 }, { 16, 16, 17, 7, 18, 0 }, { 16, 16, 16, 7, 18, 0 }, + { 16, 16, 15, 7, 18, 0 }, { 16, 16, 14, 7, 18, 0 }, { 16, 16, 13, 7, 18, 0 }, { 16, 16, 12, 7, 18, 0 }, { 16, 16, 11, 7, 18, 0 }, + { 16, 16, 10, 7, 18, 0 }, { 16, 16, 9, 7, 18, 0 }, { 16, 16, 8, 7, 18, 0 }, { 16, 16, 7, 7, 18, 0 }, { 16, 16, 6, 7, 18, 0 }, + { 16, 16, 5, 8, 18, 0 }, { 16, 16, 4, 8, 18, 0 }, { 16, 16, 3, 8, 18, 0 }, { 16, 16, 2, 8, 18, 0 }, { 16, 16, 1, 8, 18, 0 }, + { 16, 16, 0, 8, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96CA88 = { - 96, { - { 16, 16, 95, 8, 18, 0 }, { 16, 16, 94, 8, 18, 0 }, { 16, 16, 93, 8, 18, 0 }, { 16, 16, 92, 8, 18, 0 }, { 16, 16, 91, 8, 18, 0 }, - { 16, 16, 90, 8, 18, 0 }, { 16, 16, 89, 9, 18, 0 }, { 16, 16, 88, 9, 18, 0 }, { 16, 16, 87, 9, 18, 0 }, { 16, 16, 86, 9, 18, 0 }, - { 16, 16, 85, 9, 18, 0 }, { 16, 16, 84, 9, 18, 0 }, { 16, 16, 83, 9, 18, 0 }, { 16, 16, 82, 9, 18, 0 }, { 16, 16, 81, 9, 18, 0 }, - { 16, 16, 80, 9, 18, 0 }, { 16, 16, 79, 9, 18, 0 }, { 16, 16, 78, 9, 18, 0 }, { 16, 16, 77, 10, 18, 0 }, { 16, 16, 76, 10, 18, 0 }, - { 16, 16, 75, 10, 18, 0 }, { 16, 16, 74, 10, 18, 0 }, { 16, 16, 73, 10, 18, 0 }, { 16, 16, 72, 10, 18, 0 }, { 16, 16, 71, 10, 18, 0 }, - { 16, 16, 70, 10, 18, 0 }, { 16, 16, 69, 10, 18, 0 }, { 16, 16, 68, 10, 18, 0 }, { 16, 16, 67, 10, 18, 0 }, { 16, 16, 66, 10, 18, 0 }, - { 16, 16, 65, 11, 18, 0 }, { 16, 16, 64, 11, 18, 0 }, { 16, 16, 63, 11, 18, 0 }, { 16, 16, 62, 11, 18, 0 }, { 16, 16, 61, 11, 18, 0 }, - { 16, 16, 60, 11, 18, 0 }, { 16, 16, 59, 11, 18, 0 }, { 16, 16, 58, 11, 18, 0 }, { 16, 16, 57, 11, 18, 0 }, { 16, 16, 56, 11, 18, 0 }, - { 16, 16, 55, 11, 18, 0 }, { 16, 16, 54, 11, 18, 0 }, { 16, 16, 53, 12, 18, 0 }, { 16, 16, 52, 12, 18, 0 }, { 16, 16, 51, 12, 18, 0 }, - { 16, 16, 50, 12, 18, 0 }, { 16, 16, 49, 12, 18, 0 }, { 16, 16, 48, 12, 18, 0 }, { 16, 16, 47, 12, 18, 0 }, { 16, 16, 46, 12, 18, 0 }, - { 16, 16, 45, 12, 18, 0 }, { 16, 16, 44, 12, 18, 0 }, { 16, 16, 43, 12, 18, 0 }, { 16, 16, 42, 12, 18, 0 }, { 16, 16, 41, 13, 18, 0 }, - { 16, 16, 40, 13, 18, 0 }, { 16, 16, 39, 13, 18, 0 }, { 16, 16, 38, 13, 18, 0 }, { 16, 16, 37, 13, 18, 0 }, { 16, 16, 36, 13, 18, 0 }, - { 16, 16, 35, 13, 18, 0 }, { 16, 16, 34, 13, 18, 0 }, { 16, 16, 33, 13, 18, 0 }, { 16, 16, 32, 13, 18, 0 }, { 16, 16, 31, 13, 18, 0 }, - { 16, 16, 30, 13, 18, 0 }, { 16, 16, 29, 14, 18, 0 }, { 16, 16, 28, 14, 18, 0 }, { 16, 16, 27, 14, 18, 0 }, { 16, 16, 26, 14, 18, 0 }, - { 16, 16, 25, 14, 18, 0 }, { 16, 16, 24, 14, 18, 0 }, { 16, 16, 23, 14, 18, 0 }, { 16, 16, 22, 14, 18, 0 }, { 16, 16, 21, 14, 18, 0 }, - { 16, 16, 20, 14, 18, 0 }, { 16, 16, 19, 14, 18, 0 }, { 16, 16, 18, 14, 18, 0 }, { 16, 16, 17, 15, 18, 0 }, { 16, 16, 16, 15, 18, 0 }, - { 16, 16, 15, 15, 18, 0 }, { 16, 16, 14, 15, 18, 0 }, { 16, 16, 13, 15, 18, 0 }, { 16, 16, 12, 15, 18, 0 }, { 16, 16, 11, 15, 18, 0 }, - { 16, 16, 10, 15, 18, 0 }, { 16, 16, 9, 15, 18, 0 }, { 16, 16, 8, 15, 18, 0 }, { 16, 16, 7, 15, 18, 0 }, { 16, 16, 6, 15, 18, 0 }, - { 16, 16, 5, 16, 18, 0 }, { 16, 16, 4, 16, 18, 0 }, { 16, 16, 3, 16, 18, 0 }, { 16, 16, 2, 16, 18, 0 }, { 16, 16, 1, 16, 18, 0 }, - { 16, 16, 0, 16, 18, 0 }, + 96, { + { 16, 16, 95, 8, 18, 0 }, { 16, 16, 94, 8, 18, 0 }, { 16, 16, 93, 8, 18, 0 }, { 16, 16, 92, 8, 18, 0 }, { 16, 16, 91, 8, 18, 0 }, + { 16, 16, 90, 8, 18, 0 }, { 16, 16, 89, 9, 18, 0 }, { 16, 16, 88, 9, 18, 0 }, { 16, 16, 87, 9, 18, 0 }, { 16, 16, 86, 9, 18, 0 }, + { 16, 16, 85, 9, 18, 0 }, { 16, 16, 84, 9, 18, 0 }, { 16, 16, 83, 9, 18, 0 }, { 16, 16, 82, 9, 18, 0 }, { 16, 16, 81, 9, 18, 0 }, + { 16, 16, 80, 9, 18, 0 }, { 16, 16, 79, 9, 18, 0 }, { 16, 16, 78, 9, 18, 0 }, { 16, 16, 77, 10, 18, 0 }, { 16, 16, 76, 10, 18, 0 }, + { 16, 16, 75, 10, 18, 0 }, { 16, 16, 74, 10, 18, 0 }, { 16, 16, 73, 10, 18, 0 }, { 16, 16, 72, 10, 18, 0 }, { 16, 16, 71, 10, 18, 0 }, + { 16, 16, 70, 10, 18, 0 }, { 16, 16, 69, 10, 18, 0 }, { 16, 16, 68, 10, 18, 0 }, { 16, 16, 67, 10, 18, 0 }, { 16, 16, 66, 10, 18, 0 }, + { 16, 16, 65, 11, 18, 0 }, { 16, 16, 64, 11, 18, 0 }, { 16, 16, 63, 11, 18, 0 }, { 16, 16, 62, 11, 18, 0 }, { 16, 16, 61, 11, 18, 0 }, + { 16, 16, 60, 11, 18, 0 }, { 16, 16, 59, 11, 18, 0 }, { 16, 16, 58, 11, 18, 0 }, { 16, 16, 57, 11, 18, 0 }, { 16, 16, 56, 11, 18, 0 }, + { 16, 16, 55, 11, 18, 0 }, { 16, 16, 54, 11, 18, 0 }, { 16, 16, 53, 12, 18, 0 }, { 16, 16, 52, 12, 18, 0 }, { 16, 16, 51, 12, 18, 0 }, + { 16, 16, 50, 12, 18, 0 }, { 16, 16, 49, 12, 18, 0 }, { 16, 16, 48, 12, 18, 0 }, { 16, 16, 47, 12, 18, 0 }, { 16, 16, 46, 12, 18, 0 }, + { 16, 16, 45, 12, 18, 0 }, { 16, 16, 44, 12, 18, 0 }, { 16, 16, 43, 12, 18, 0 }, { 16, 16, 42, 12, 18, 0 }, { 16, 16, 41, 13, 18, 0 }, + { 16, 16, 40, 13, 18, 0 }, { 16, 16, 39, 13, 18, 0 }, { 16, 16, 38, 13, 18, 0 }, { 16, 16, 37, 13, 18, 0 }, { 16, 16, 36, 13, 18, 0 }, + { 16, 16, 35, 13, 18, 0 }, { 16, 16, 34, 13, 18, 0 }, { 16, 16, 33, 13, 18, 0 }, { 16, 16, 32, 13, 18, 0 }, { 16, 16, 31, 13, 18, 0 }, + { 16, 16, 30, 13, 18, 0 }, { 16, 16, 29, 14, 18, 0 }, { 16, 16, 28, 14, 18, 0 }, { 16, 16, 27, 14, 18, 0 }, { 16, 16, 26, 14, 18, 0 }, + { 16, 16, 25, 14, 18, 0 }, { 16, 16, 24, 14, 18, 0 }, { 16, 16, 23, 14, 18, 0 }, { 16, 16, 22, 14, 18, 0 }, { 16, 16, 21, 14, 18, 0 }, + { 16, 16, 20, 14, 18, 0 }, { 16, 16, 19, 14, 18, 0 }, { 16, 16, 18, 14, 18, 0 }, { 16, 16, 17, 15, 18, 0 }, { 16, 16, 16, 15, 18, 0 }, + { 16, 16, 15, 15, 18, 0 }, { 16, 16, 14, 15, 18, 0 }, { 16, 16, 13, 15, 18, 0 }, { 16, 16, 12, 15, 18, 0 }, { 16, 16, 11, 15, 18, 0 }, + { 16, 16, 10, 15, 18, 0 }, { 16, 16, 9, 15, 18, 0 }, { 16, 16, 8, 15, 18, 0 }, { 16, 16, 7, 15, 18, 0 }, { 16, 16, 6, 15, 18, 0 }, + { 16, 16, 5, 16, 18, 0 }, { 16, 16, 4, 16, 18, 0 }, { 16, 16, 3, 16, 18, 0 }, { 16, 16, 2, 16, 18, 0 }, { 16, 16, 1, 16, 18, 0 }, + { 16, 16, 0, 16, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96CDEA = { - 96, { - { 16, 16, 95, 16, 18, 0 }, { 16, 16, 94, 16, 18, 0 }, { 16, 16, 93, 16, 18, 0 }, { 16, 16, 92, 16, 18, 0 }, { 16, 16, 91, 16, 18, 0 }, - { 16, 16, 90, 16, 18, 0 }, { 16, 16, 89, 17, 18, 0 }, { 16, 16, 88, 17, 18, 0 }, { 16, 16, 87, 17, 18, 0 }, { 16, 16, 86, 17, 18, 0 }, - { 16, 16, 85, 17, 18, 0 }, { 16, 16, 84, 17, 18, 0 }, { 16, 16, 83, 17, 18, 0 }, { 16, 16, 82, 17, 18, 0 }, { 16, 16, 81, 17, 18, 0 }, - { 16, 16, 80, 17, 18, 0 }, { 16, 16, 79, 17, 18, 0 }, { 16, 16, 78, 17, 18, 0 }, { 16, 16, 77, 18, 18, 0 }, { 16, 16, 76, 18, 18, 0 }, - { 16, 16, 75, 18, 18, 0 }, { 16, 16, 74, 18, 18, 0 }, { 16, 16, 73, 18, 18, 0 }, { 16, 16, 72, 18, 18, 0 }, { 16, 16, 71, 18, 18, 0 }, - { 16, 16, 70, 18, 18, 0 }, { 16, 16, 69, 18, 18, 0 }, { 16, 16, 68, 18, 18, 0 }, { 16, 16, 67, 18, 18, 0 }, { 16, 16, 66, 18, 18, 0 }, - { 16, 16, 65, 19, 18, 0 }, { 16, 16, 64, 19, 18, 0 }, { 16, 16, 63, 19, 18, 0 }, { 16, 16, 62, 19, 18, 0 }, { 16, 16, 61, 19, 18, 0 }, - { 16, 16, 60, 19, 18, 0 }, { 16, 16, 59, 19, 18, 0 }, { 16, 16, 58, 19, 18, 0 }, { 16, 16, 57, 19, 18, 0 }, { 16, 16, 56, 19, 18, 0 }, - { 16, 16, 55, 19, 18, 0 }, { 16, 16, 54, 19, 18, 0 }, { 16, 16, 53, 20, 18, 0 }, { 16, 16, 52, 20, 18, 0 }, { 16, 16, 51, 20, 18, 0 }, - { 16, 16, 50, 20, 18, 0 }, { 16, 16, 49, 20, 18, 0 }, { 16, 16, 48, 20, 18, 0 }, { 16, 16, 47, 20, 18, 0 }, { 16, 16, 46, 20, 18, 0 }, - { 16, 16, 45, 20, 18, 0 }, { 16, 16, 44, 20, 18, 0 }, { 16, 16, 43, 20, 18, 0 }, { 16, 16, 42, 20, 18, 0 }, { 16, 16, 41, 21, 18, 0 }, - { 16, 16, 40, 21, 18, 0 }, { 16, 16, 39, 21, 18, 0 }, { 16, 16, 38, 21, 18, 0 }, { 16, 16, 37, 21, 18, 0 }, { 16, 16, 36, 21, 18, 0 }, - { 16, 16, 35, 21, 18, 0 }, { 16, 16, 34, 21, 18, 0 }, { 16, 16, 33, 21, 18, 0 }, { 16, 16, 32, 21, 18, 0 }, { 16, 16, 31, 21, 18, 0 }, - { 16, 16, 30, 21, 18, 0 }, { 16, 16, 29, 22, 18, 0 }, { 16, 16, 28, 22, 18, 0 }, { 16, 16, 27, 22, 18, 0 }, { 16, 16, 26, 22, 18, 0 }, - { 16, 16, 25, 22, 18, 0 }, { 16, 16, 24, 22, 18, 0 }, { 16, 16, 23, 22, 18, 0 }, { 16, 16, 22, 22, 18, 0 }, { 16, 16, 21, 22, 18, 0 }, - { 16, 16, 20, 22, 18, 0 }, { 16, 16, 19, 22, 18, 0 }, { 16, 16, 18, 22, 18, 0 }, { 16, 16, 17, 23, 18, 0 }, { 16, 16, 16, 23, 18, 0 }, - { 16, 16, 15, 23, 18, 0 }, { 16, 16, 14, 23, 18, 0 }, { 16, 16, 13, 23, 18, 0 }, { 16, 16, 12, 23, 18, 0 }, { 16, 16, 11, 23, 18, 0 }, - { 16, 16, 10, 23, 18, 0 }, { 16, 16, 9, 23, 18, 0 }, { 16, 16, 8, 23, 18, 0 }, { 16, 16, 7, 23, 18, 0 }, { 16, 16, 6, 23, 18, 0 }, - { 16, 16, 5, 24, 18, 0 }, { 16, 16, 4, 24, 18, 0 }, { 16, 16, 3, 24, 18, 0 }, { 16, 16, 2, 24, 18, 0 }, { 16, 16, 1, 24, 18, 0 }, - { 16, 16, 0, 24, 18, 0 }, + 96, { + { 16, 16, 95, 16, 18, 0 }, { 16, 16, 94, 16, 18, 0 }, { 16, 16, 93, 16, 18, 0 }, { 16, 16, 92, 16, 18, 0 }, { 16, 16, 91, 16, 18, 0 }, + { 16, 16, 90, 16, 18, 0 }, { 16, 16, 89, 17, 18, 0 }, { 16, 16, 88, 17, 18, 0 }, { 16, 16, 87, 17, 18, 0 }, { 16, 16, 86, 17, 18, 0 }, + { 16, 16, 85, 17, 18, 0 }, { 16, 16, 84, 17, 18, 0 }, { 16, 16, 83, 17, 18, 0 }, { 16, 16, 82, 17, 18, 0 }, { 16, 16, 81, 17, 18, 0 }, + { 16, 16, 80, 17, 18, 0 }, { 16, 16, 79, 17, 18, 0 }, { 16, 16, 78, 17, 18, 0 }, { 16, 16, 77, 18, 18, 0 }, { 16, 16, 76, 18, 18, 0 }, + { 16, 16, 75, 18, 18, 0 }, { 16, 16, 74, 18, 18, 0 }, { 16, 16, 73, 18, 18, 0 }, { 16, 16, 72, 18, 18, 0 }, { 16, 16, 71, 18, 18, 0 }, + { 16, 16, 70, 18, 18, 0 }, { 16, 16, 69, 18, 18, 0 }, { 16, 16, 68, 18, 18, 0 }, { 16, 16, 67, 18, 18, 0 }, { 16, 16, 66, 18, 18, 0 }, + { 16, 16, 65, 19, 18, 0 }, { 16, 16, 64, 19, 18, 0 }, { 16, 16, 63, 19, 18, 0 }, { 16, 16, 62, 19, 18, 0 }, { 16, 16, 61, 19, 18, 0 }, + { 16, 16, 60, 19, 18, 0 }, { 16, 16, 59, 19, 18, 0 }, { 16, 16, 58, 19, 18, 0 }, { 16, 16, 57, 19, 18, 0 }, { 16, 16, 56, 19, 18, 0 }, + { 16, 16, 55, 19, 18, 0 }, { 16, 16, 54, 19, 18, 0 }, { 16, 16, 53, 20, 18, 0 }, { 16, 16, 52, 20, 18, 0 }, { 16, 16, 51, 20, 18, 0 }, + { 16, 16, 50, 20, 18, 0 }, { 16, 16, 49, 20, 18, 0 }, { 16, 16, 48, 20, 18, 0 }, { 16, 16, 47, 20, 18, 0 }, { 16, 16, 46, 20, 18, 0 }, + { 16, 16, 45, 20, 18, 0 }, { 16, 16, 44, 20, 18, 0 }, { 16, 16, 43, 20, 18, 0 }, { 16, 16, 42, 20, 18, 0 }, { 16, 16, 41, 21, 18, 0 }, + { 16, 16, 40, 21, 18, 0 }, { 16, 16, 39, 21, 18, 0 }, { 16, 16, 38, 21, 18, 0 }, { 16, 16, 37, 21, 18, 0 }, { 16, 16, 36, 21, 18, 0 }, + { 16, 16, 35, 21, 18, 0 }, { 16, 16, 34, 21, 18, 0 }, { 16, 16, 33, 21, 18, 0 }, { 16, 16, 32, 21, 18, 0 }, { 16, 16, 31, 21, 18, 0 }, + { 16, 16, 30, 21, 18, 0 }, { 16, 16, 29, 22, 18, 0 }, { 16, 16, 28, 22, 18, 0 }, { 16, 16, 27, 22, 18, 0 }, { 16, 16, 26, 22, 18, 0 }, + { 16, 16, 25, 22, 18, 0 }, { 16, 16, 24, 22, 18, 0 }, { 16, 16, 23, 22, 18, 0 }, { 16, 16, 22, 22, 18, 0 }, { 16, 16, 21, 22, 18, 0 }, + { 16, 16, 20, 22, 18, 0 }, { 16, 16, 19, 22, 18, 0 }, { 16, 16, 18, 22, 18, 0 }, { 16, 16, 17, 23, 18, 0 }, { 16, 16, 16, 23, 18, 0 }, + { 16, 16, 15, 23, 18, 0 }, { 16, 16, 14, 23, 18, 0 }, { 16, 16, 13, 23, 18, 0 }, { 16, 16, 12, 23, 18, 0 }, { 16, 16, 11, 23, 18, 0 }, + { 16, 16, 10, 23, 18, 0 }, { 16, 16, 9, 23, 18, 0 }, { 16, 16, 8, 23, 18, 0 }, { 16, 16, 7, 23, 18, 0 }, { 16, 16, 6, 23, 18, 0 }, + { 16, 16, 5, 24, 18, 0 }, { 16, 16, 4, 24, 18, 0 }, { 16, 16, 3, 24, 18, 0 }, { 16, 16, 2, 24, 18, 0 }, { 16, 16, 1, 24, 18, 0 }, + { 16, 16, 0, 24, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_96D14C = { - 96, { - { 16, 16, 95, 24, 18, 0 }, { 16, 16, 94, 24, 18, 0 }, { 16, 16, 93, 24, 18, 0 }, { 16, 16, 92, 24, 18, 0 }, { 16, 16, 91, 24, 18, 0 }, - { 16, 16, 90, 24, 18, 0 }, { 16, 16, 89, 25, 18, 0 }, { 16, 16, 88, 25, 18, 0 }, { 16, 16, 87, 25, 18, 0 }, { 16, 16, 86, 25, 18, 0 }, - { 16, 16, 85, 25, 18, 0 }, { 16, 16, 84, 25, 18, 0 }, { 16, 16, 83, 25, 18, 0 }, { 16, 16, 82, 25, 18, 0 }, { 16, 16, 81, 25, 18, 0 }, - { 16, 16, 80, 25, 18, 0 }, { 16, 16, 79, 25, 18, 0 }, { 16, 16, 78, 25, 18, 0 }, { 16, 16, 77, 26, 18, 0 }, { 16, 16, 76, 26, 18, 0 }, - { 16, 16, 75, 26, 18, 0 }, { 16, 16, 74, 26, 18, 0 }, { 16, 16, 73, 26, 18, 0 }, { 16, 16, 72, 26, 18, 0 }, { 16, 16, 71, 26, 18, 0 }, - { 16, 16, 70, 26, 18, 0 }, { 16, 16, 69, 26, 18, 0 }, { 16, 16, 68, 26, 18, 0 }, { 16, 16, 67, 26, 18, 0 }, { 16, 16, 66, 26, 18, 0 }, - { 16, 16, 65, 27, 18, 0 }, { 16, 16, 64, 27, 18, 0 }, { 16, 16, 63, 27, 18, 0 }, { 16, 16, 62, 27, 18, 0 }, { 16, 16, 61, 27, 18, 0 }, - { 16, 16, 60, 27, 18, 0 }, { 16, 16, 59, 27, 18, 0 }, { 16, 16, 58, 27, 18, 0 }, { 16, 16, 57, 27, 18, 0 }, { 16, 16, 56, 27, 18, 0 }, - { 16, 16, 55, 27, 18, 0 }, { 16, 16, 54, 27, 18, 0 }, { 16, 16, 53, 28, 18, 0 }, { 16, 16, 52, 28, 18, 0 }, { 16, 16, 51, 28, 18, 0 }, - { 16, 16, 50, 28, 18, 0 }, { 16, 16, 49, 28, 18, 0 }, { 16, 16, 48, 28, 18, 0 }, { 16, 16, 47, 28, 18, 0 }, { 16, 16, 46, 28, 18, 0 }, - { 16, 16, 45, 28, 18, 0 }, { 16, 16, 44, 28, 18, 0 }, { 16, 16, 43, 28, 18, 0 }, { 16, 16, 42, 28, 18, 0 }, { 16, 16, 41, 29, 18, 0 }, - { 16, 16, 40, 29, 18, 0 }, { 16, 16, 39, 29, 18, 0 }, { 16, 16, 38, 29, 18, 0 }, { 16, 16, 37, 29, 18, 0 }, { 16, 16, 36, 29, 18, 0 }, - { 16, 16, 35, 29, 18, 0 }, { 16, 16, 34, 29, 18, 0 }, { 16, 16, 33, 29, 18, 0 }, { 16, 16, 32, 29, 18, 0 }, { 16, 16, 31, 29, 18, 0 }, - { 16, 16, 30, 29, 18, 0 }, { 16, 16, 29, 30, 18, 0 }, { 16, 16, 28, 30, 18, 0 }, { 16, 16, 27, 30, 18, 0 }, { 16, 16, 26, 30, 18, 0 }, - { 16, 16, 25, 30, 18, 0 }, { 16, 16, 24, 30, 18, 0 }, { 16, 16, 23, 30, 18, 0 }, { 16, 16, 22, 30, 18, 0 }, { 16, 16, 21, 30, 18, 0 }, - { 16, 16, 20, 30, 18, 0 }, { 16, 16, 19, 30, 18, 0 }, { 16, 16, 18, 30, 18, 0 }, { 16, 16, 17, 31, 18, 0 }, { 16, 16, 16, 31, 18, 0 }, - { 16, 16, 15, 31, 18, 0 }, { 16, 16, 14, 31, 18, 0 }, { 16, 16, 13, 31, 18, 0 }, { 16, 16, 12, 31, 18, 0 }, { 16, 16, 11, 31, 18, 0 }, - { 16, 16, 10, 31, 18, 0 }, { 16, 16, 9, 31, 18, 0 }, { 16, 16, 8, 31, 18, 0 }, { 16, 16, 7, 31, 18, 0 }, { 16, 16, 6, 31, 18, 0 }, - { 16, 16, 5, 0, 18, 0 }, { 16, 16, 4, 0, 18, 0 }, { 16, 16, 3, 0, 18, 0 }, { 16, 16, 2, 0, 18, 0 }, { 16, 16, 1, 0, 18, 0 }, - { 16, 16, 0, 0, 18, 0 }, + 96, { + { 16, 16, 95, 24, 18, 0 }, { 16, 16, 94, 24, 18, 0 }, { 16, 16, 93, 24, 18, 0 }, { 16, 16, 92, 24, 18, 0 }, { 16, 16, 91, 24, 18, 0 }, + { 16, 16, 90, 24, 18, 0 }, { 16, 16, 89, 25, 18, 0 }, { 16, 16, 88, 25, 18, 0 }, { 16, 16, 87, 25, 18, 0 }, { 16, 16, 86, 25, 18, 0 }, + { 16, 16, 85, 25, 18, 0 }, { 16, 16, 84, 25, 18, 0 }, { 16, 16, 83, 25, 18, 0 }, { 16, 16, 82, 25, 18, 0 }, { 16, 16, 81, 25, 18, 0 }, + { 16, 16, 80, 25, 18, 0 }, { 16, 16, 79, 25, 18, 0 }, { 16, 16, 78, 25, 18, 0 }, { 16, 16, 77, 26, 18, 0 }, { 16, 16, 76, 26, 18, 0 }, + { 16, 16, 75, 26, 18, 0 }, { 16, 16, 74, 26, 18, 0 }, { 16, 16, 73, 26, 18, 0 }, { 16, 16, 72, 26, 18, 0 }, { 16, 16, 71, 26, 18, 0 }, + { 16, 16, 70, 26, 18, 0 }, { 16, 16, 69, 26, 18, 0 }, { 16, 16, 68, 26, 18, 0 }, { 16, 16, 67, 26, 18, 0 }, { 16, 16, 66, 26, 18, 0 }, + { 16, 16, 65, 27, 18, 0 }, { 16, 16, 64, 27, 18, 0 }, { 16, 16, 63, 27, 18, 0 }, { 16, 16, 62, 27, 18, 0 }, { 16, 16, 61, 27, 18, 0 }, + { 16, 16, 60, 27, 18, 0 }, { 16, 16, 59, 27, 18, 0 }, { 16, 16, 58, 27, 18, 0 }, { 16, 16, 57, 27, 18, 0 }, { 16, 16, 56, 27, 18, 0 }, + { 16, 16, 55, 27, 18, 0 }, { 16, 16, 54, 27, 18, 0 }, { 16, 16, 53, 28, 18, 0 }, { 16, 16, 52, 28, 18, 0 }, { 16, 16, 51, 28, 18, 0 }, + { 16, 16, 50, 28, 18, 0 }, { 16, 16, 49, 28, 18, 0 }, { 16, 16, 48, 28, 18, 0 }, { 16, 16, 47, 28, 18, 0 }, { 16, 16, 46, 28, 18, 0 }, + { 16, 16, 45, 28, 18, 0 }, { 16, 16, 44, 28, 18, 0 }, { 16, 16, 43, 28, 18, 0 }, { 16, 16, 42, 28, 18, 0 }, { 16, 16, 41, 29, 18, 0 }, + { 16, 16, 40, 29, 18, 0 }, { 16, 16, 39, 29, 18, 0 }, { 16, 16, 38, 29, 18, 0 }, { 16, 16, 37, 29, 18, 0 }, { 16, 16, 36, 29, 18, 0 }, + { 16, 16, 35, 29, 18, 0 }, { 16, 16, 34, 29, 18, 0 }, { 16, 16, 33, 29, 18, 0 }, { 16, 16, 32, 29, 18, 0 }, { 16, 16, 31, 29, 18, 0 }, + { 16, 16, 30, 29, 18, 0 }, { 16, 16, 29, 30, 18, 0 }, { 16, 16, 28, 30, 18, 0 }, { 16, 16, 27, 30, 18, 0 }, { 16, 16, 26, 30, 18, 0 }, + { 16, 16, 25, 30, 18, 0 }, { 16, 16, 24, 30, 18, 0 }, { 16, 16, 23, 30, 18, 0 }, { 16, 16, 22, 30, 18, 0 }, { 16, 16, 21, 30, 18, 0 }, + { 16, 16, 20, 30, 18, 0 }, { 16, 16, 19, 30, 18, 0 }, { 16, 16, 18, 30, 18, 0 }, { 16, 16, 17, 31, 18, 0 }, { 16, 16, 16, 31, 18, 0 }, + { 16, 16, 15, 31, 18, 0 }, { 16, 16, 14, 31, 18, 0 }, { 16, 16, 13, 31, 18, 0 }, { 16, 16, 12, 31, 18, 0 }, { 16, 16, 11, 31, 18, 0 }, + { 16, 16, 10, 31, 18, 0 }, { 16, 16, 9, 31, 18, 0 }, { 16, 16, 8, 31, 18, 0 }, { 16, 16, 7, 31, 18, 0 }, { 16, 16, 6, 31, 18, 0 }, + { 16, 16, 5, 0, 18, 0 }, { 16, 16, 4, 0, 18, 0 }, { 16, 16, 3, 0, 18, 0 }, { 16, 16, 2, 0, 18, 0 }, { 16, 16, 1, 0, 18, 0 }, + { 16, 16, 0, 0, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9761F2 = { - 137, { - { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, - { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 0, 10, 0 }, { 16, 16, 7, 0, 10, 0 }, { 16, 16, 8, 0, 10, 0 }, { 16, 16, 9, 0, 10, 0 }, - { 16, 16, 10, 0, 10, 0 }, { 16, 16, 11, 0, 10, 0 }, { 16, 16, 12, 0, 10, 0 }, { 17, 16, 13, 0, 10, 0 }, { 17, 16, 14, 0, 10, 0 }, - { 17, 16, 15, 0, 10, 0 }, { 17, 16, 16, 0, 10, 0 }, { 17, 16, 17, 0, 10, 0 }, { 17, 16, 18, 0, 10, 0 }, { 17, 16, 19, 0, 10, 0 }, - { 17, 16, 20, 0, 10, 0 }, { 17, 16, 21, 0, 10, 0 }, { 18, 16, 22, 0, 11, 0 }, { 18, 16, 23, 0, 11, 0 }, { 18, 16, 24, 0, 11, 0 }, - { 18, 16, 25, 0, 11, 0 }, { 18, 16, 26, 0, 11, 0 }, { 18, 16, 27, 0, 11, 0 }, { 19, 16, 28, 0, 11, 0 }, { 19, 16, 29, 0, 11, 0 }, - { 19, 16, 30, 0, 11, 0 }, { 19, 16, 31, 0, 11, 0 }, { 19, 16, 32, 0, 11, 0 }, { 20, 16, 33, 0, 11, 0 }, { 20, 16, 34, 0, 11, 0 }, - { 20, 16, 35, 0, 11, 0 }, { 20, 16, 36, 0, 11, 0 }, { 21, 16, 37, 0, 11, 0 }, { 21, 16, 38, 0, 11, 0 }, { 21, 16, 39, 0, 11, 0 }, - { 21, 16, 40, 0, 11, 0 }, { 22, 16, 41, 0, 11, 0 }, { 22, 16, 42, 0, 11, 0 }, { 22, 16, 43, 0, 11, 0 }, { 22, 16, 44, 0, 11, 0 }, - { 23, 16, 45, 0, 11, 0 }, { 23, 16, 46, 0, 11, 0 }, { 23, 16, 47, 0, 11, 0 }, { 24, 16, 48, 0, 11, 0 }, { 24, 16, 49, 0, 11, 0 }, - { 24, 16, 50, 0, 11, 0 }, { 25, 16, 51, 0, 11, 0 }, { 25, 16, 52, 0, 11, 0 }, { 26, 16, 53, 0, 11, 0 }, { 26, 16, 54, 0, 11, 0 }, - { 26, 16, 55, 0, 11, 0 }, { 27, 16, 56, 0, 12, 0 }, { 27, 16, 57, 0, 12, 0 }, { 28, 16, 58, 0, 12, 0 }, { 28, 16, 59, 0, 12, 0 }, - { 29, 16, 60, 0, 12, 0 }, { 29, 16, 61, 0, 12, 0 }, { 29, 16, 62, 0, 12, 0 }, { 30, 16, 63, 0, 12, 0 }, { 30, 16, 64, 0, 12, 0 }, - { 31, 16, 65, 0, 12, 0 }, { 31, 16, 66, 0, 12, 0 }, { 32, 16, 67, 0, 12, 0 }, { 33, 16, 68, 0, 12, 0 }, { 33, 16, 69, 0, 12, 0 }, - { 34, 16, 70, 0, 12, 0 }, { 34, 16, 71, 0, 12, 0 }, { 35, 16, 72, 0, 12, 0 }, { 35, 16, 73, 0, 12, 0 }, { 36, 16, 74, 0, 12, 0 }, - { 37, 16, 75, 0, 12, 0 }, { 37, 16, 76, 0, 12, 0 }, { 38, 16, 77, 0, 12, 0 }, { 39, 16, 78, 0, 12, 0 }, { 40, 16, 79, 0, 12, 0 }, - { 40, 16, 80, 0, 12, 0 }, { 41, 16, 81, 0, 13, 0 }, { 42, 16, 82, 0, 13, 0 }, { 43, 16, 83, 0, 13, 0 }, { 43, 16, 84, 0, 13, 0 }, - { 44, 16, 85, 0, 13, 0 }, { 45, 16, 86, 0, 13, 0 }, { 46, 16, 87, 0, 13, 0 }, { 47, 16, 88, 0, 13, 0 }, { 48, 16, 89, 0, 13, 0 }, - { 49, 16, 90, 0, 13, 0 }, { 50, 16, 91, 0, 13, 0 }, { 51, 16, 92, 0, 13, 0 }, { 52, 16, 93, 0, 13, 0 }, { 53, 16, 94, 0, 13, 0 }, - { 54, 16, 95, 0, 13, 0 }, { 55, 16, 96, 0, 13, 0 }, { 56, 16, 97, 0, 13, 0 }, { 57, 16, 97, 0, 13, 0 }, { 58, 16, 98, 0, 13, 0 }, - { 59, 16, 99, 0, 13, 0 }, { 60, 16, 100, 0, 14, 0 }, { 61, 16, 100, 0, 14, 0 }, { 62, 16, 101, 0, 14, 0 }, { 63, 16, 101, 0, 14, 0 }, - { 64, 16, 102, 0, 14, 0 }, { 65, 16, 103, 0, 14, 0 }, { 66, 16, 103, 0, 14, 0 }, { 67, 16, 104, 0, 14, 0 }, { 68, 16, 104, 0, 14, 0 }, - { 69, 16, 105, 0, 14, 0 }, { 70, 16, 105, 0, 14, 0 }, { 71, 16, 106, 0, 14, 0 }, { 72, 16, 106, 0, 14, 0 }, { 73, 16, 107, 0, 14, 0 }, - { 74, 16, 107, 0, 14, 0 }, { 75, 16, 107, 0, 14, 0 }, { 76, 16, 108, 0, 15, 0 }, { 77, 16, 108, 0, 15, 0 }, { 78, 16, 108, 0, 15, 0 }, - { 79, 16, 109, 0, 15, 0 }, { 80, 16, 109, 0, 15, 0 }, { 81, 16, 109, 0, 15, 0 }, { 82, 16, 109, 0, 15, 0 }, { 83, 16, 110, 0, 15, 0 }, - { 84, 16, 110, 0, 15, 0 }, { 85, 16, 110, 0, 15, 0 }, { 86, 16, 110, 0, 15, 0 }, { 87, 16, 110, 0, 16, 0 }, { 88, 16, 111, 0, 16, 0 }, - { 89, 16, 111, 0, 16, 0 }, { 90, 16, 111, 0, 16, 0 }, { 91, 16, 111, 0, 16, 0 }, { 92, 16, 111, 0, 16, 0 }, { 93, 16, 111, 0, 16, 0 }, - { 94, 16, 111, 0, 16, 0 }, { 95, 16, 111, 0, 16, 0 }, + 137, { + { 16, 16, 0, 0, 10, 0 }, { 16, 16, 1, 0, 10, 0 }, { 16, 16, 2, 0, 10, 0 }, { 16, 16, 3, 0, 10, 0 }, { 16, 16, 4, 0, 10, 0 }, + { 16, 16, 5, 0, 10, 0 }, { 16, 16, 6, 0, 10, 0 }, { 16, 16, 7, 0, 10, 0 }, { 16, 16, 8, 0, 10, 0 }, { 16, 16, 9, 0, 10, 0 }, + { 16, 16, 10, 0, 10, 0 }, { 16, 16, 11, 0, 10, 0 }, { 16, 16, 12, 0, 10, 0 }, { 17, 16, 13, 0, 10, 0 }, { 17, 16, 14, 0, 10, 0 }, + { 17, 16, 15, 0, 10, 0 }, { 17, 16, 16, 0, 10, 0 }, { 17, 16, 17, 0, 10, 0 }, { 17, 16, 18, 0, 10, 0 }, { 17, 16, 19, 0, 10, 0 }, + { 17, 16, 20, 0, 10, 0 }, { 17, 16, 21, 0, 10, 0 }, { 18, 16, 22, 0, 11, 0 }, { 18, 16, 23, 0, 11, 0 }, { 18, 16, 24, 0, 11, 0 }, + { 18, 16, 25, 0, 11, 0 }, { 18, 16, 26, 0, 11, 0 }, { 18, 16, 27, 0, 11, 0 }, { 19, 16, 28, 0, 11, 0 }, { 19, 16, 29, 0, 11, 0 }, + { 19, 16, 30, 0, 11, 0 }, { 19, 16, 31, 0, 11, 0 }, { 19, 16, 32, 0, 11, 0 }, { 20, 16, 33, 0, 11, 0 }, { 20, 16, 34, 0, 11, 0 }, + { 20, 16, 35, 0, 11, 0 }, { 20, 16, 36, 0, 11, 0 }, { 21, 16, 37, 0, 11, 0 }, { 21, 16, 38, 0, 11, 0 }, { 21, 16, 39, 0, 11, 0 }, + { 21, 16, 40, 0, 11, 0 }, { 22, 16, 41, 0, 11, 0 }, { 22, 16, 42, 0, 11, 0 }, { 22, 16, 43, 0, 11, 0 }, { 22, 16, 44, 0, 11, 0 }, + { 23, 16, 45, 0, 11, 0 }, { 23, 16, 46, 0, 11, 0 }, { 23, 16, 47, 0, 11, 0 }, { 24, 16, 48, 0, 11, 0 }, { 24, 16, 49, 0, 11, 0 }, + { 24, 16, 50, 0, 11, 0 }, { 25, 16, 51, 0, 11, 0 }, { 25, 16, 52, 0, 11, 0 }, { 26, 16, 53, 0, 11, 0 }, { 26, 16, 54, 0, 11, 0 }, + { 26, 16, 55, 0, 11, 0 }, { 27, 16, 56, 0, 12, 0 }, { 27, 16, 57, 0, 12, 0 }, { 28, 16, 58, 0, 12, 0 }, { 28, 16, 59, 0, 12, 0 }, + { 29, 16, 60, 0, 12, 0 }, { 29, 16, 61, 0, 12, 0 }, { 29, 16, 62, 0, 12, 0 }, { 30, 16, 63, 0, 12, 0 }, { 30, 16, 64, 0, 12, 0 }, + { 31, 16, 65, 0, 12, 0 }, { 31, 16, 66, 0, 12, 0 }, { 32, 16, 67, 0, 12, 0 }, { 33, 16, 68, 0, 12, 0 }, { 33, 16, 69, 0, 12, 0 }, + { 34, 16, 70, 0, 12, 0 }, { 34, 16, 71, 0, 12, 0 }, { 35, 16, 72, 0, 12, 0 }, { 35, 16, 73, 0, 12, 0 }, { 36, 16, 74, 0, 12, 0 }, + { 37, 16, 75, 0, 12, 0 }, { 37, 16, 76, 0, 12, 0 }, { 38, 16, 77, 0, 12, 0 }, { 39, 16, 78, 0, 12, 0 }, { 40, 16, 79, 0, 12, 0 }, + { 40, 16, 80, 0, 12, 0 }, { 41, 16, 81, 0, 13, 0 }, { 42, 16, 82, 0, 13, 0 }, { 43, 16, 83, 0, 13, 0 }, { 43, 16, 84, 0, 13, 0 }, + { 44, 16, 85, 0, 13, 0 }, { 45, 16, 86, 0, 13, 0 }, { 46, 16, 87, 0, 13, 0 }, { 47, 16, 88, 0, 13, 0 }, { 48, 16, 89, 0, 13, 0 }, + { 49, 16, 90, 0, 13, 0 }, { 50, 16, 91, 0, 13, 0 }, { 51, 16, 92, 0, 13, 0 }, { 52, 16, 93, 0, 13, 0 }, { 53, 16, 94, 0, 13, 0 }, + { 54, 16, 95, 0, 13, 0 }, { 55, 16, 96, 0, 13, 0 }, { 56, 16, 97, 0, 13, 0 }, { 57, 16, 97, 0, 13, 0 }, { 58, 16, 98, 0, 13, 0 }, + { 59, 16, 99, 0, 13, 0 }, { 60, 16, 100, 0, 14, 0 }, { 61, 16, 100, 0, 14, 0 }, { 62, 16, 101, 0, 14, 0 }, { 63, 16, 101, 0, 14, 0 }, + { 64, 16, 102, 0, 14, 0 }, { 65, 16, 103, 0, 14, 0 }, { 66, 16, 103, 0, 14, 0 }, { 67, 16, 104, 0, 14, 0 }, { 68, 16, 104, 0, 14, 0 }, + { 69, 16, 105, 0, 14, 0 }, { 70, 16, 105, 0, 14, 0 }, { 71, 16, 106, 0, 14, 0 }, { 72, 16, 106, 0, 14, 0 }, { 73, 16, 107, 0, 14, 0 }, + { 74, 16, 107, 0, 14, 0 }, { 75, 16, 107, 0, 14, 0 }, { 76, 16, 108, 0, 15, 0 }, { 77, 16, 108, 0, 15, 0 }, { 78, 16, 108, 0, 15, 0 }, + { 79, 16, 109, 0, 15, 0 }, { 80, 16, 109, 0, 15, 0 }, { 81, 16, 109, 0, 15, 0 }, { 82, 16, 109, 0, 15, 0 }, { 83, 16, 110, 0, 15, 0 }, + { 84, 16, 110, 0, 15, 0 }, { 85, 16, 110, 0, 15, 0 }, { 86, 16, 110, 0, 15, 0 }, { 87, 16, 110, 0, 16, 0 }, { 88, 16, 111, 0, 16, 0 }, + { 89, 16, 111, 0, 16, 0 }, { 90, 16, 111, 0, 16, 0 }, { 91, 16, 111, 0, 16, 0 }, { 92, 16, 111, 0, 16, 0 }, { 93, 16, 111, 0, 16, 0 }, + { 94, 16, 111, 0, 16, 0 }, { 95, 16, 111, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9766C5 = { - 137, { - { 16, 16, 0, 8, 10, 0 }, { 16, 16, 1, 8, 10, 0 }, { 16, 16, 2, 8, 10, 0 }, { 16, 16, 3, 8, 10, 0 }, { 16, 16, 4, 8, 10, 0 }, - { 16, 16, 5, 8, 10, 0 }, { 16, 16, 6, 8, 10, 0 }, { 16, 16, 7, 8, 10, 0 }, { 16, 16, 8, 8, 10, 0 }, { 16, 16, 9, 8, 10, 0 }, - { 16, 16, 10, 8, 10, 0 }, { 16, 16, 11, 8, 10, 0 }, { 16, 16, 12, 8, 10, 0 }, { 16, 15, 13, 8, 10, 0 }, { 16, 15, 14, 8, 10, 0 }, - { 16, 15, 15, 8, 10, 0 }, { 16, 15, 16, 8, 10, 0 }, { 16, 15, 17, 8, 10, 0 }, { 16, 15, 18, 8, 10, 0 }, { 16, 15, 19, 8, 10, 0 }, - { 16, 15, 20, 8, 10, 0 }, { 16, 15, 21, 8, 10, 0 }, { 16, 14, 22, 8, 11, 0 }, { 16, 14, 23, 8, 11, 0 }, { 16, 14, 24, 8, 11, 0 }, - { 16, 14, 25, 8, 11, 0 }, { 16, 14, 26, 8, 11, 0 }, { 16, 14, 27, 8, 11, 0 }, { 16, 13, 28, 8, 11, 0 }, { 16, 13, 29, 8, 11, 0 }, - { 16, 13, 30, 8, 11, 0 }, { 16, 13, 31, 8, 11, 0 }, { 16, 13, 32, 8, 11, 0 }, { 16, 12, 33, 8, 11, 0 }, { 16, 12, 34, 8, 11, 0 }, - { 16, 12, 35, 8, 11, 0 }, { 16, 12, 36, 8, 11, 0 }, { 16, 11, 37, 8, 11, 0 }, { 16, 11, 38, 8, 11, 0 }, { 16, 11, 39, 8, 11, 0 }, - { 16, 11, 40, 8, 11, 0 }, { 16, 10, 41, 8, 11, 0 }, { 16, 10, 42, 8, 11, 0 }, { 16, 10, 43, 8, 11, 0 }, { 16, 10, 44, 8, 11, 0 }, - { 16, 9, 45, 8, 11, 0 }, { 16, 9, 46, 8, 11, 0 }, { 16, 9, 47, 8, 11, 0 }, { 16, 8, 48, 8, 11, 0 }, { 16, 8, 49, 8, 11, 0 }, - { 16, 8, 50, 8, 11, 0 }, { 16, 7, 51, 8, 11, 0 }, { 16, 7, 52, 8, 11, 0 }, { 16, 6, 53, 8, 11, 0 }, { 16, 6, 54, 8, 11, 0 }, - { 16, 6, 55, 8, 11, 0 }, { 16, 5, 56, 8, 12, 0 }, { 16, 5, 57, 8, 12, 0 }, { 16, 4, 58, 8, 12, 0 }, { 16, 4, 59, 8, 12, 0 }, - { 16, 3, 60, 8, 12, 0 }, { 16, 3, 61, 8, 12, 0 }, { 16, 3, 62, 8, 12, 0 }, { 16, 2, 63, 8, 12, 0 }, { 16, 2, 64, 8, 12, 0 }, - { 16, 1, 65, 8, 12, 0 }, { 16, 1, 66, 8, 12, 0 }, { 16, 0, 67, 8, 12, 0 }, { 16, -1, 68, 8, 12, 0 }, { 16, -1, 69, 8, 12, 0 }, - { 16, -2, 70, 8, 12, 0 }, { 16, -2, 71, 8, 12, 0 }, { 16, -3, 72, 8, 12, 0 }, { 16, -3, 73, 8, 12, 0 }, { 16, -4, 74, 8, 12, 0 }, - { 16, -5, 75, 8, 12, 0 }, { 16, -5, 76, 8, 12, 0 }, { 16, -6, 77, 8, 12, 0 }, { 16, -7, 78, 8, 12, 0 }, { 16, -8, 79, 8, 12, 0 }, - { 16, -8, 80, 8, 12, 0 }, { 16, -9, 81, 8, 13, 0 }, { 16, -10, 82, 8, 13, 0 }, { 16, -11, 83, 8, 13, 0 }, { 16, -11, 84, 8, 13, 0 }, - { 16, -12, 85, 8, 13, 0 }, { 16, -13, 86, 8, 13, 0 }, { 16, -14, 87, 8, 13, 0 }, { 16, -15, 88, 8, 13, 0 }, { 16, -16, 89, 8, 13, 0 }, - { 16, -17, 90, 8, 13, 0 }, { 16, -18, 91, 8, 13, 0 }, { 16, -19, 92, 8, 13, 0 }, { 16, -20, 93, 8, 13, 0 }, { 16, -21, 94, 8, 13, 0 }, - { 16, -22, 95, 8, 13, 0 }, { 16, -23, 96, 8, 13, 0 }, { 16, -24, 97, 8, 13, 0 }, { 16, -25, 97, 8, 13, 0 }, { 16, -26, 98, 8, 13, 0 }, - { 16, -27, 99, 8, 13, 0 }, { 16, -28, 100, 8, 14, 0 }, { 16, -29, 100, 8, 14, 0 }, { 16, -30, 101, 8, 14, 0 }, { 16, -31, 101, 8, 14, 0 }, - { 16, -32, 102, 8, 14, 0 }, { 16, -33, 103, 8, 14, 0 }, { 16, -34, 103, 8, 14, 0 }, { 16, -35, 104, 8, 14, 0 }, { 16, -36, 104, 8, 14, 0 }, - { 16, -37, 105, 8, 14, 0 }, { 16, -38, 105, 8, 14, 0 }, { 16, -39, 106, 8, 14, 0 }, { 16, -40, 106, 8, 14, 0 }, { 16, -41, 107, 8, 14, 0 }, - { 16, -42, 107, 8, 14, 0 }, { 16, -43, 107, 8, 14, 0 }, { 16, -44, 108, 8, 15, 0 }, { 16, -45, 108, 8, 15, 0 }, { 16, -46, 108, 8, 15, 0 }, - { 16, -47, 109, 8, 15, 0 }, { 16, -48, 109, 8, 15, 0 }, { 16, -49, 109, 8, 15, 0 }, { 16, -50, 109, 8, 15, 0 }, { 16, -51, 110, 8, 15, 0 }, - { 16, -52, 110, 8, 15, 0 }, { 16, -53, 110, 8, 15, 0 }, { 16, -54, 110, 8, 15, 0 }, { 16, -55, 110, 8, 16, 0 }, { 16, -56, 111, 8, 16, 0 }, - { 16, -57, 111, 8, 16, 0 }, { 16, -58, 111, 8, 16, 0 }, { 16, -59, 111, 8, 16, 0 }, { 16, -60, 111, 8, 16, 0 }, { 16, -61, 111, 8, 16, 0 }, - { 16, -62, 111, 8, 16, 0 }, { 16, -63, 111, 8, 16, 0 }, + 137, { + { 16, 16, 0, 8, 10, 0 }, { 16, 16, 1, 8, 10, 0 }, { 16, 16, 2, 8, 10, 0 }, { 16, 16, 3, 8, 10, 0 }, { 16, 16, 4, 8, 10, 0 }, + { 16, 16, 5, 8, 10, 0 }, { 16, 16, 6, 8, 10, 0 }, { 16, 16, 7, 8, 10, 0 }, { 16, 16, 8, 8, 10, 0 }, { 16, 16, 9, 8, 10, 0 }, + { 16, 16, 10, 8, 10, 0 }, { 16, 16, 11, 8, 10, 0 }, { 16, 16, 12, 8, 10, 0 }, { 16, 15, 13, 8, 10, 0 }, { 16, 15, 14, 8, 10, 0 }, + { 16, 15, 15, 8, 10, 0 }, { 16, 15, 16, 8, 10, 0 }, { 16, 15, 17, 8, 10, 0 }, { 16, 15, 18, 8, 10, 0 }, { 16, 15, 19, 8, 10, 0 }, + { 16, 15, 20, 8, 10, 0 }, { 16, 15, 21, 8, 10, 0 }, { 16, 14, 22, 8, 11, 0 }, { 16, 14, 23, 8, 11, 0 }, { 16, 14, 24, 8, 11, 0 }, + { 16, 14, 25, 8, 11, 0 }, { 16, 14, 26, 8, 11, 0 }, { 16, 14, 27, 8, 11, 0 }, { 16, 13, 28, 8, 11, 0 }, { 16, 13, 29, 8, 11, 0 }, + { 16, 13, 30, 8, 11, 0 }, { 16, 13, 31, 8, 11, 0 }, { 16, 13, 32, 8, 11, 0 }, { 16, 12, 33, 8, 11, 0 }, { 16, 12, 34, 8, 11, 0 }, + { 16, 12, 35, 8, 11, 0 }, { 16, 12, 36, 8, 11, 0 }, { 16, 11, 37, 8, 11, 0 }, { 16, 11, 38, 8, 11, 0 }, { 16, 11, 39, 8, 11, 0 }, + { 16, 11, 40, 8, 11, 0 }, { 16, 10, 41, 8, 11, 0 }, { 16, 10, 42, 8, 11, 0 }, { 16, 10, 43, 8, 11, 0 }, { 16, 10, 44, 8, 11, 0 }, + { 16, 9, 45, 8, 11, 0 }, { 16, 9, 46, 8, 11, 0 }, { 16, 9, 47, 8, 11, 0 }, { 16, 8, 48, 8, 11, 0 }, { 16, 8, 49, 8, 11, 0 }, + { 16, 8, 50, 8, 11, 0 }, { 16, 7, 51, 8, 11, 0 }, { 16, 7, 52, 8, 11, 0 }, { 16, 6, 53, 8, 11, 0 }, { 16, 6, 54, 8, 11, 0 }, + { 16, 6, 55, 8, 11, 0 }, { 16, 5, 56, 8, 12, 0 }, { 16, 5, 57, 8, 12, 0 }, { 16, 4, 58, 8, 12, 0 }, { 16, 4, 59, 8, 12, 0 }, + { 16, 3, 60, 8, 12, 0 }, { 16, 3, 61, 8, 12, 0 }, { 16, 3, 62, 8, 12, 0 }, { 16, 2, 63, 8, 12, 0 }, { 16, 2, 64, 8, 12, 0 }, + { 16, 1, 65, 8, 12, 0 }, { 16, 1, 66, 8, 12, 0 }, { 16, 0, 67, 8, 12, 0 }, { 16, -1, 68, 8, 12, 0 }, { 16, -1, 69, 8, 12, 0 }, + { 16, -2, 70, 8, 12, 0 }, { 16, -2, 71, 8, 12, 0 }, { 16, -3, 72, 8, 12, 0 }, { 16, -3, 73, 8, 12, 0 }, { 16, -4, 74, 8, 12, 0 }, + { 16, -5, 75, 8, 12, 0 }, { 16, -5, 76, 8, 12, 0 }, { 16, -6, 77, 8, 12, 0 }, { 16, -7, 78, 8, 12, 0 }, { 16, -8, 79, 8, 12, 0 }, + { 16, -8, 80, 8, 12, 0 }, { 16, -9, 81, 8, 13, 0 }, { 16, -10, 82, 8, 13, 0 }, { 16, -11, 83, 8, 13, 0 }, { 16, -11, 84, 8, 13, 0 }, + { 16, -12, 85, 8, 13, 0 }, { 16, -13, 86, 8, 13, 0 }, { 16, -14, 87, 8, 13, 0 }, { 16, -15, 88, 8, 13, 0 }, { 16, -16, 89, 8, 13, 0 }, + { 16, -17, 90, 8, 13, 0 }, { 16, -18, 91, 8, 13, 0 }, { 16, -19, 92, 8, 13, 0 }, { 16, -20, 93, 8, 13, 0 }, { 16, -21, 94, 8, 13, 0 }, + { 16, -22, 95, 8, 13, 0 }, { 16, -23, 96, 8, 13, 0 }, { 16, -24, 97, 8, 13, 0 }, { 16, -25, 97, 8, 13, 0 }, { 16, -26, 98, 8, 13, 0 }, + { 16, -27, 99, 8, 13, 0 }, { 16, -28, 100, 8, 14, 0 }, { 16, -29, 100, 8, 14, 0 }, { 16, -30, 101, 8, 14, 0 }, { 16, -31, 101, 8, 14, 0 }, + { 16, -32, 102, 8, 14, 0 }, { 16, -33, 103, 8, 14, 0 }, { 16, -34, 103, 8, 14, 0 }, { 16, -35, 104, 8, 14, 0 }, { 16, -36, 104, 8, 14, 0 }, + { 16, -37, 105, 8, 14, 0 }, { 16, -38, 105, 8, 14, 0 }, { 16, -39, 106, 8, 14, 0 }, { 16, -40, 106, 8, 14, 0 }, { 16, -41, 107, 8, 14, 0 }, + { 16, -42, 107, 8, 14, 0 }, { 16, -43, 107, 8, 14, 0 }, { 16, -44, 108, 8, 15, 0 }, { 16, -45, 108, 8, 15, 0 }, { 16, -46, 108, 8, 15, 0 }, + { 16, -47, 109, 8, 15, 0 }, { 16, -48, 109, 8, 15, 0 }, { 16, -49, 109, 8, 15, 0 }, { 16, -50, 109, 8, 15, 0 }, { 16, -51, 110, 8, 15, 0 }, + { 16, -52, 110, 8, 15, 0 }, { 16, -53, 110, 8, 15, 0 }, { 16, -54, 110, 8, 15, 0 }, { 16, -55, 110, 8, 16, 0 }, { 16, -56, 111, 8, 16, 0 }, + { 16, -57, 111, 8, 16, 0 }, { 16, -58, 111, 8, 16, 0 }, { 16, -59, 111, 8, 16, 0 }, { 16, -60, 111, 8, 16, 0 }, { 16, -61, 111, 8, 16, 0 }, + { 16, -62, 111, 8, 16, 0 }, { 16, -63, 111, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_976B98 = { - 137, { - { 16, 16, 0, 16, 10, 0 }, { 16, 16, 1, 16, 10, 0 }, { 16, 16, 2, 16, 10, 0 }, { 16, 16, 3, 16, 10, 0 }, { 16, 16, 4, 16, 10, 0 }, - { 16, 16, 5, 16, 10, 0 }, { 16, 16, 6, 16, 10, 0 }, { 16, 16, 7, 16, 10, 0 }, { 16, 16, 8, 16, 10, 0 }, { 16, 16, 9, 16, 10, 0 }, - { 16, 16, 10, 16, 10, 0 }, { 16, 16, 11, 16, 10, 0 }, { 16, 16, 12, 16, 10, 0 }, { 15, 16, 13, 16, 10, 0 }, { 15, 16, 14, 16, 10, 0 }, - { 15, 16, 15, 16, 10, 0 }, { 15, 16, 16, 16, 10, 0 }, { 15, 16, 17, 16, 10, 0 }, { 15, 16, 18, 16, 10, 0 }, { 15, 16, 19, 16, 10, 0 }, - { 15, 16, 20, 16, 10, 0 }, { 15, 16, 21, 16, 10, 0 }, { 14, 16, 22, 16, 11, 0 }, { 14, 16, 23, 16, 11, 0 }, { 14, 16, 24, 16, 11, 0 }, - { 14, 16, 25, 16, 11, 0 }, { 14, 16, 26, 16, 11, 0 }, { 14, 16, 27, 16, 11, 0 }, { 13, 16, 28, 16, 11, 0 }, { 13, 16, 29, 16, 11, 0 }, - { 13, 16, 30, 16, 11, 0 }, { 13, 16, 31, 16, 11, 0 }, { 13, 16, 32, 16, 11, 0 }, { 12, 16, 33, 16, 11, 0 }, { 12, 16, 34, 16, 11, 0 }, - { 12, 16, 35, 16, 11, 0 }, { 12, 16, 36, 16, 11, 0 }, { 11, 16, 37, 16, 11, 0 }, { 11, 16, 38, 16, 11, 0 }, { 11, 16, 39, 16, 11, 0 }, - { 11, 16, 40, 16, 11, 0 }, { 10, 16, 41, 16, 11, 0 }, { 10, 16, 42, 16, 11, 0 }, { 10, 16, 43, 16, 11, 0 }, { 10, 16, 44, 16, 11, 0 }, - { 9, 16, 45, 16, 11, 0 }, { 9, 16, 46, 16, 11, 0 }, { 9, 16, 47, 16, 11, 0 }, { 8, 16, 48, 16, 11, 0 }, { 8, 16, 49, 16, 11, 0 }, - { 8, 16, 50, 16, 11, 0 }, { 7, 16, 51, 16, 11, 0 }, { 7, 16, 52, 16, 11, 0 }, { 6, 16, 53, 16, 11, 0 }, { 6, 16, 54, 16, 11, 0 }, - { 6, 16, 55, 16, 11, 0 }, { 5, 16, 56, 16, 12, 0 }, { 5, 16, 57, 16, 12, 0 }, { 4, 16, 58, 16, 12, 0 }, { 4, 16, 59, 16, 12, 0 }, - { 3, 16, 60, 16, 12, 0 }, { 3, 16, 61, 16, 12, 0 }, { 3, 16, 62, 16, 12, 0 }, { 2, 16, 63, 16, 12, 0 }, { 2, 16, 64, 16, 12, 0 }, - { 1, 16, 65, 16, 12, 0 }, { 1, 16, 66, 16, 12, 0 }, { 0, 16, 67, 16, 12, 0 }, { -1, 16, 68, 16, 12, 0 }, { -1, 16, 69, 16, 12, 0 }, - { -2, 16, 70, 16, 12, 0 }, { -2, 16, 71, 16, 12, 0 }, { -3, 16, 72, 16, 12, 0 }, { -3, 16, 73, 16, 12, 0 }, { -4, 16, 74, 16, 12, 0 }, - { -5, 16, 75, 16, 12, 0 }, { -5, 16, 76, 16, 12, 0 }, { -6, 16, 77, 16, 12, 0 }, { -7, 16, 78, 16, 12, 0 }, { -8, 16, 79, 16, 12, 0 }, - { -8, 16, 80, 16, 12, 0 }, { -9, 16, 81, 16, 13, 0 }, { -10, 16, 82, 16, 13, 0 }, { -11, 16, 83, 16, 13, 0 }, { -11, 16, 84, 16, 13, 0 }, - { -12, 16, 85, 16, 13, 0 }, { -13, 16, 86, 16, 13, 0 }, { -14, 16, 87, 16, 13, 0 }, { -15, 16, 88, 16, 13, 0 }, { -16, 16, 89, 16, 13, 0 }, - { -17, 16, 90, 16, 13, 0 }, { -18, 16, 91, 16, 13, 0 }, { -19, 16, 92, 16, 13, 0 }, { -20, 16, 93, 16, 13, 0 }, { -21, 16, 94, 16, 13, 0 }, - { -22, 16, 95, 16, 13, 0 }, { -23, 16, 96, 16, 13, 0 }, { -24, 16, 97, 16, 13, 0 }, { -25, 16, 97, 16, 13, 0 }, { -26, 16, 98, 16, 13, 0 }, - { -27, 16, 99, 16, 13, 0 }, { -28, 16, 100, 16, 14, 0 }, { -29, 16, 100, 16, 14, 0 }, { -30, 16, 101, 16, 14, 0 }, { -31, 16, 101, 16, 14, 0 }, - { -32, 16, 102, 16, 14, 0 }, { -33, 16, 103, 16, 14, 0 }, { -34, 16, 103, 16, 14, 0 }, { -35, 16, 104, 16, 14, 0 }, { -36, 16, 104, 16, 14, 0 }, - { -37, 16, 105, 16, 14, 0 }, { -38, 16, 105, 16, 14, 0 }, { -39, 16, 106, 16, 14, 0 }, { -40, 16, 106, 16, 14, 0 }, { -41, 16, 107, 16, 14, 0 }, - { -42, 16, 107, 16, 14, 0 }, { -43, 16, 107, 16, 14, 0 }, { -44, 16, 108, 16, 15, 0 }, { -45, 16, 108, 16, 15, 0 }, { -46, 16, 108, 16, 15, 0 }, - { -47, 16, 109, 16, 15, 0 }, { -48, 16, 109, 16, 15, 0 }, { -49, 16, 109, 16, 15, 0 }, { -50, 16, 109, 16, 15, 0 }, { -51, 16, 110, 16, 15, 0 }, - { -52, 16, 110, 16, 15, 0 }, { -53, 16, 110, 16, 15, 0 }, { -54, 16, 110, 16, 15, 0 }, { -55, 16, 110, 16, 16, 0 }, { -56, 16, 111, 16, 16, 0 }, - { -57, 16, 111, 16, 16, 0 }, { -58, 16, 111, 16, 16, 0 }, { -59, 16, 111, 16, 16, 0 }, { -60, 16, 111, 16, 16, 0 }, { -61, 16, 111, 16, 16, 0 }, - { -62, 16, 111, 16, 16, 0 }, { -63, 16, 111, 16, 16, 0 }, + 137, { + { 16, 16, 0, 16, 10, 0 }, { 16, 16, 1, 16, 10, 0 }, { 16, 16, 2, 16, 10, 0 }, { 16, 16, 3, 16, 10, 0 }, { 16, 16, 4, 16, 10, 0 }, + { 16, 16, 5, 16, 10, 0 }, { 16, 16, 6, 16, 10, 0 }, { 16, 16, 7, 16, 10, 0 }, { 16, 16, 8, 16, 10, 0 }, { 16, 16, 9, 16, 10, 0 }, + { 16, 16, 10, 16, 10, 0 }, { 16, 16, 11, 16, 10, 0 }, { 16, 16, 12, 16, 10, 0 }, { 15, 16, 13, 16, 10, 0 }, { 15, 16, 14, 16, 10, 0 }, + { 15, 16, 15, 16, 10, 0 }, { 15, 16, 16, 16, 10, 0 }, { 15, 16, 17, 16, 10, 0 }, { 15, 16, 18, 16, 10, 0 }, { 15, 16, 19, 16, 10, 0 }, + { 15, 16, 20, 16, 10, 0 }, { 15, 16, 21, 16, 10, 0 }, { 14, 16, 22, 16, 11, 0 }, { 14, 16, 23, 16, 11, 0 }, { 14, 16, 24, 16, 11, 0 }, + { 14, 16, 25, 16, 11, 0 }, { 14, 16, 26, 16, 11, 0 }, { 14, 16, 27, 16, 11, 0 }, { 13, 16, 28, 16, 11, 0 }, { 13, 16, 29, 16, 11, 0 }, + { 13, 16, 30, 16, 11, 0 }, { 13, 16, 31, 16, 11, 0 }, { 13, 16, 32, 16, 11, 0 }, { 12, 16, 33, 16, 11, 0 }, { 12, 16, 34, 16, 11, 0 }, + { 12, 16, 35, 16, 11, 0 }, { 12, 16, 36, 16, 11, 0 }, { 11, 16, 37, 16, 11, 0 }, { 11, 16, 38, 16, 11, 0 }, { 11, 16, 39, 16, 11, 0 }, + { 11, 16, 40, 16, 11, 0 }, { 10, 16, 41, 16, 11, 0 }, { 10, 16, 42, 16, 11, 0 }, { 10, 16, 43, 16, 11, 0 }, { 10, 16, 44, 16, 11, 0 }, + { 9, 16, 45, 16, 11, 0 }, { 9, 16, 46, 16, 11, 0 }, { 9, 16, 47, 16, 11, 0 }, { 8, 16, 48, 16, 11, 0 }, { 8, 16, 49, 16, 11, 0 }, + { 8, 16, 50, 16, 11, 0 }, { 7, 16, 51, 16, 11, 0 }, { 7, 16, 52, 16, 11, 0 }, { 6, 16, 53, 16, 11, 0 }, { 6, 16, 54, 16, 11, 0 }, + { 6, 16, 55, 16, 11, 0 }, { 5, 16, 56, 16, 12, 0 }, { 5, 16, 57, 16, 12, 0 }, { 4, 16, 58, 16, 12, 0 }, { 4, 16, 59, 16, 12, 0 }, + { 3, 16, 60, 16, 12, 0 }, { 3, 16, 61, 16, 12, 0 }, { 3, 16, 62, 16, 12, 0 }, { 2, 16, 63, 16, 12, 0 }, { 2, 16, 64, 16, 12, 0 }, + { 1, 16, 65, 16, 12, 0 }, { 1, 16, 66, 16, 12, 0 }, { 0, 16, 67, 16, 12, 0 }, { -1, 16, 68, 16, 12, 0 }, { -1, 16, 69, 16, 12, 0 }, + { -2, 16, 70, 16, 12, 0 }, { -2, 16, 71, 16, 12, 0 }, { -3, 16, 72, 16, 12, 0 }, { -3, 16, 73, 16, 12, 0 }, { -4, 16, 74, 16, 12, 0 }, + { -5, 16, 75, 16, 12, 0 }, { -5, 16, 76, 16, 12, 0 }, { -6, 16, 77, 16, 12, 0 }, { -7, 16, 78, 16, 12, 0 }, { -8, 16, 79, 16, 12, 0 }, + { -8, 16, 80, 16, 12, 0 }, { -9, 16, 81, 16, 13, 0 }, { -10, 16, 82, 16, 13, 0 }, { -11, 16, 83, 16, 13, 0 }, { -11, 16, 84, 16, 13, 0 }, + { -12, 16, 85, 16, 13, 0 }, { -13, 16, 86, 16, 13, 0 }, { -14, 16, 87, 16, 13, 0 }, { -15, 16, 88, 16, 13, 0 }, { -16, 16, 89, 16, 13, 0 }, + { -17, 16, 90, 16, 13, 0 }, { -18, 16, 91, 16, 13, 0 }, { -19, 16, 92, 16, 13, 0 }, { -20, 16, 93, 16, 13, 0 }, { -21, 16, 94, 16, 13, 0 }, + { -22, 16, 95, 16, 13, 0 }, { -23, 16, 96, 16, 13, 0 }, { -24, 16, 97, 16, 13, 0 }, { -25, 16, 97, 16, 13, 0 }, { -26, 16, 98, 16, 13, 0 }, + { -27, 16, 99, 16, 13, 0 }, { -28, 16, 100, 16, 14, 0 }, { -29, 16, 100, 16, 14, 0 }, { -30, 16, 101, 16, 14, 0 }, { -31, 16, 101, 16, 14, 0 }, + { -32, 16, 102, 16, 14, 0 }, { -33, 16, 103, 16, 14, 0 }, { -34, 16, 103, 16, 14, 0 }, { -35, 16, 104, 16, 14, 0 }, { -36, 16, 104, 16, 14, 0 }, + { -37, 16, 105, 16, 14, 0 }, { -38, 16, 105, 16, 14, 0 }, { -39, 16, 106, 16, 14, 0 }, { -40, 16, 106, 16, 14, 0 }, { -41, 16, 107, 16, 14, 0 }, + { -42, 16, 107, 16, 14, 0 }, { -43, 16, 107, 16, 14, 0 }, { -44, 16, 108, 16, 15, 0 }, { -45, 16, 108, 16, 15, 0 }, { -46, 16, 108, 16, 15, 0 }, + { -47, 16, 109, 16, 15, 0 }, { -48, 16, 109, 16, 15, 0 }, { -49, 16, 109, 16, 15, 0 }, { -50, 16, 109, 16, 15, 0 }, { -51, 16, 110, 16, 15, 0 }, + { -52, 16, 110, 16, 15, 0 }, { -53, 16, 110, 16, 15, 0 }, { -54, 16, 110, 16, 15, 0 }, { -55, 16, 110, 16, 16, 0 }, { -56, 16, 111, 16, 16, 0 }, + { -57, 16, 111, 16, 16, 0 }, { -58, 16, 111, 16, 16, 0 }, { -59, 16, 111, 16, 16, 0 }, { -60, 16, 111, 16, 16, 0 }, { -61, 16, 111, 16, 16, 0 }, + { -62, 16, 111, 16, 16, 0 }, { -63, 16, 111, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_97706B = { - 137, { - { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, - { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 24, 10, 0 }, { 16, 16, 7, 24, 10, 0 }, { 16, 16, 8, 24, 10, 0 }, { 16, 16, 9, 24, 10, 0 }, - { 16, 16, 10, 24, 10, 0 }, { 16, 16, 11, 24, 10, 0 }, { 16, 16, 12, 24, 10, 0 }, { 16, 17, 13, 24, 10, 0 }, { 16, 17, 14, 24, 10, 0 }, - { 16, 17, 15, 24, 10, 0 }, { 16, 17, 16, 24, 10, 0 }, { 16, 17, 17, 24, 10, 0 }, { 16, 17, 18, 24, 10, 0 }, { 16, 17, 19, 24, 10, 0 }, - { 16, 17, 20, 24, 10, 0 }, { 16, 17, 21, 24, 10, 0 }, { 16, 18, 22, 24, 11, 0 }, { 16, 18, 23, 24, 11, 0 }, { 16, 18, 24, 24, 11, 0 }, - { 16, 18, 25, 24, 11, 0 }, { 16, 18, 26, 24, 11, 0 }, { 16, 18, 27, 24, 11, 0 }, { 16, 19, 28, 24, 11, 0 }, { 16, 19, 29, 24, 11, 0 }, - { 16, 19, 30, 24, 11, 0 }, { 16, 19, 31, 24, 11, 0 }, { 16, 19, 32, 24, 11, 0 }, { 16, 20, 33, 24, 11, 0 }, { 16, 20, 34, 24, 11, 0 }, - { 16, 20, 35, 24, 11, 0 }, { 16, 20, 36, 24, 11, 0 }, { 16, 21, 37, 24, 11, 0 }, { 16, 21, 38, 24, 11, 0 }, { 16, 21, 39, 24, 11, 0 }, - { 16, 21, 40, 24, 11, 0 }, { 16, 22, 41, 24, 11, 0 }, { 16, 22, 42, 24, 11, 0 }, { 16, 22, 43, 24, 11, 0 }, { 16, 22, 44, 24, 11, 0 }, - { 16, 23, 45, 24, 11, 0 }, { 16, 23, 46, 24, 11, 0 }, { 16, 23, 47, 24, 11, 0 }, { 16, 24, 48, 24, 11, 0 }, { 16, 24, 49, 24, 11, 0 }, - { 16, 24, 50, 24, 11, 0 }, { 16, 25, 51, 24, 11, 0 }, { 16, 25, 52, 24, 11, 0 }, { 16, 26, 53, 24, 11, 0 }, { 16, 26, 54, 24, 11, 0 }, - { 16, 26, 55, 24, 11, 0 }, { 16, 27, 56, 24, 12, 0 }, { 16, 27, 57, 24, 12, 0 }, { 16, 28, 58, 24, 12, 0 }, { 16, 28, 59, 24, 12, 0 }, - { 16, 29, 60, 24, 12, 0 }, { 16, 29, 61, 24, 12, 0 }, { 16, 29, 62, 24, 12, 0 }, { 16, 30, 63, 24, 12, 0 }, { 16, 30, 64, 24, 12, 0 }, - { 16, 31, 65, 24, 12, 0 }, { 16, 31, 66, 24, 12, 0 }, { 16, 32, 67, 24, 12, 0 }, { 16, 33, 68, 24, 12, 0 }, { 16, 33, 69, 24, 12, 0 }, - { 16, 34, 70, 24, 12, 0 }, { 16, 34, 71, 24, 12, 0 }, { 16, 35, 72, 24, 12, 0 }, { 16, 35, 73, 24, 12, 0 }, { 16, 36, 74, 24, 12, 0 }, - { 16, 37, 75, 24, 12, 0 }, { 16, 37, 76, 24, 12, 0 }, { 16, 38, 77, 24, 12, 0 }, { 16, 39, 78, 24, 12, 0 }, { 16, 40, 79, 24, 12, 0 }, - { 16, 40, 80, 24, 12, 0 }, { 16, 41, 81, 24, 13, 0 }, { 16, 42, 82, 24, 13, 0 }, { 16, 43, 83, 24, 13, 0 }, { 16, 43, 84, 24, 13, 0 }, - { 16, 44, 85, 24, 13, 0 }, { 16, 45, 86, 24, 13, 0 }, { 16, 46, 87, 24, 13, 0 }, { 16, 47, 88, 24, 13, 0 }, { 16, 48, 89, 24, 13, 0 }, - { 16, 49, 90, 24, 13, 0 }, { 16, 50, 91, 24, 13, 0 }, { 16, 51, 92, 24, 13, 0 }, { 16, 52, 93, 24, 13, 0 }, { 16, 53, 94, 24, 13, 0 }, - { 16, 54, 95, 24, 13, 0 }, { 16, 55, 96, 24, 13, 0 }, { 16, 56, 97, 24, 13, 0 }, { 16, 57, 97, 24, 13, 0 }, { 16, 58, 98, 24, 13, 0 }, - { 16, 59, 99, 24, 13, 0 }, { 16, 60, 100, 24, 14, 0 }, { 16, 61, 100, 24, 14, 0 }, { 16, 62, 101, 24, 14, 0 }, { 16, 63, 101, 24, 14, 0 }, - { 16, 64, 102, 24, 14, 0 }, { 16, 65, 103, 24, 14, 0 }, { 16, 66, 103, 24, 14, 0 }, { 16, 67, 104, 24, 14, 0 }, { 16, 68, 104, 24, 14, 0 }, - { 16, 69, 105, 24, 14, 0 }, { 16, 70, 105, 24, 14, 0 }, { 16, 71, 106, 24, 14, 0 }, { 16, 72, 106, 24, 14, 0 }, { 16, 73, 107, 24, 14, 0 }, - { 16, 74, 107, 24, 14, 0 }, { 16, 75, 107, 24, 14, 0 }, { 16, 76, 108, 24, 15, 0 }, { 16, 77, 108, 24, 15, 0 }, { 16, 78, 108, 24, 15, 0 }, - { 16, 79, 109, 24, 15, 0 }, { 16, 80, 109, 24, 15, 0 }, { 16, 81, 109, 24, 15, 0 }, { 16, 82, 109, 24, 15, 0 }, { 16, 83, 110, 24, 15, 0 }, - { 16, 84, 110, 24, 15, 0 }, { 16, 85, 110, 24, 15, 0 }, { 16, 86, 110, 24, 15, 0 }, { 16, 87, 110, 24, 16, 0 }, { 16, 88, 111, 24, 16, 0 }, - { 16, 89, 111, 24, 16, 0 }, { 16, 90, 111, 24, 16, 0 }, { 16, 91, 111, 24, 16, 0 }, { 16, 92, 111, 24, 16, 0 }, { 16, 93, 111, 24, 16, 0 }, - { 16, 94, 111, 24, 16, 0 }, { 16, 95, 111, 24, 16, 0 }, + 137, { + { 16, 16, 0, 24, 10, 0 }, { 16, 16, 1, 24, 10, 0 }, { 16, 16, 2, 24, 10, 0 }, { 16, 16, 3, 24, 10, 0 }, { 16, 16, 4, 24, 10, 0 }, + { 16, 16, 5, 24, 10, 0 }, { 16, 16, 6, 24, 10, 0 }, { 16, 16, 7, 24, 10, 0 }, { 16, 16, 8, 24, 10, 0 }, { 16, 16, 9, 24, 10, 0 }, + { 16, 16, 10, 24, 10, 0 }, { 16, 16, 11, 24, 10, 0 }, { 16, 16, 12, 24, 10, 0 }, { 16, 17, 13, 24, 10, 0 }, { 16, 17, 14, 24, 10, 0 }, + { 16, 17, 15, 24, 10, 0 }, { 16, 17, 16, 24, 10, 0 }, { 16, 17, 17, 24, 10, 0 }, { 16, 17, 18, 24, 10, 0 }, { 16, 17, 19, 24, 10, 0 }, + { 16, 17, 20, 24, 10, 0 }, { 16, 17, 21, 24, 10, 0 }, { 16, 18, 22, 24, 11, 0 }, { 16, 18, 23, 24, 11, 0 }, { 16, 18, 24, 24, 11, 0 }, + { 16, 18, 25, 24, 11, 0 }, { 16, 18, 26, 24, 11, 0 }, { 16, 18, 27, 24, 11, 0 }, { 16, 19, 28, 24, 11, 0 }, { 16, 19, 29, 24, 11, 0 }, + { 16, 19, 30, 24, 11, 0 }, { 16, 19, 31, 24, 11, 0 }, { 16, 19, 32, 24, 11, 0 }, { 16, 20, 33, 24, 11, 0 }, { 16, 20, 34, 24, 11, 0 }, + { 16, 20, 35, 24, 11, 0 }, { 16, 20, 36, 24, 11, 0 }, { 16, 21, 37, 24, 11, 0 }, { 16, 21, 38, 24, 11, 0 }, { 16, 21, 39, 24, 11, 0 }, + { 16, 21, 40, 24, 11, 0 }, { 16, 22, 41, 24, 11, 0 }, { 16, 22, 42, 24, 11, 0 }, { 16, 22, 43, 24, 11, 0 }, { 16, 22, 44, 24, 11, 0 }, + { 16, 23, 45, 24, 11, 0 }, { 16, 23, 46, 24, 11, 0 }, { 16, 23, 47, 24, 11, 0 }, { 16, 24, 48, 24, 11, 0 }, { 16, 24, 49, 24, 11, 0 }, + { 16, 24, 50, 24, 11, 0 }, { 16, 25, 51, 24, 11, 0 }, { 16, 25, 52, 24, 11, 0 }, { 16, 26, 53, 24, 11, 0 }, { 16, 26, 54, 24, 11, 0 }, + { 16, 26, 55, 24, 11, 0 }, { 16, 27, 56, 24, 12, 0 }, { 16, 27, 57, 24, 12, 0 }, { 16, 28, 58, 24, 12, 0 }, { 16, 28, 59, 24, 12, 0 }, + { 16, 29, 60, 24, 12, 0 }, { 16, 29, 61, 24, 12, 0 }, { 16, 29, 62, 24, 12, 0 }, { 16, 30, 63, 24, 12, 0 }, { 16, 30, 64, 24, 12, 0 }, + { 16, 31, 65, 24, 12, 0 }, { 16, 31, 66, 24, 12, 0 }, { 16, 32, 67, 24, 12, 0 }, { 16, 33, 68, 24, 12, 0 }, { 16, 33, 69, 24, 12, 0 }, + { 16, 34, 70, 24, 12, 0 }, { 16, 34, 71, 24, 12, 0 }, { 16, 35, 72, 24, 12, 0 }, { 16, 35, 73, 24, 12, 0 }, { 16, 36, 74, 24, 12, 0 }, + { 16, 37, 75, 24, 12, 0 }, { 16, 37, 76, 24, 12, 0 }, { 16, 38, 77, 24, 12, 0 }, { 16, 39, 78, 24, 12, 0 }, { 16, 40, 79, 24, 12, 0 }, + { 16, 40, 80, 24, 12, 0 }, { 16, 41, 81, 24, 13, 0 }, { 16, 42, 82, 24, 13, 0 }, { 16, 43, 83, 24, 13, 0 }, { 16, 43, 84, 24, 13, 0 }, + { 16, 44, 85, 24, 13, 0 }, { 16, 45, 86, 24, 13, 0 }, { 16, 46, 87, 24, 13, 0 }, { 16, 47, 88, 24, 13, 0 }, { 16, 48, 89, 24, 13, 0 }, + { 16, 49, 90, 24, 13, 0 }, { 16, 50, 91, 24, 13, 0 }, { 16, 51, 92, 24, 13, 0 }, { 16, 52, 93, 24, 13, 0 }, { 16, 53, 94, 24, 13, 0 }, + { 16, 54, 95, 24, 13, 0 }, { 16, 55, 96, 24, 13, 0 }, { 16, 56, 97, 24, 13, 0 }, { 16, 57, 97, 24, 13, 0 }, { 16, 58, 98, 24, 13, 0 }, + { 16, 59, 99, 24, 13, 0 }, { 16, 60, 100, 24, 14, 0 }, { 16, 61, 100, 24, 14, 0 }, { 16, 62, 101, 24, 14, 0 }, { 16, 63, 101, 24, 14, 0 }, + { 16, 64, 102, 24, 14, 0 }, { 16, 65, 103, 24, 14, 0 }, { 16, 66, 103, 24, 14, 0 }, { 16, 67, 104, 24, 14, 0 }, { 16, 68, 104, 24, 14, 0 }, + { 16, 69, 105, 24, 14, 0 }, { 16, 70, 105, 24, 14, 0 }, { 16, 71, 106, 24, 14, 0 }, { 16, 72, 106, 24, 14, 0 }, { 16, 73, 107, 24, 14, 0 }, + { 16, 74, 107, 24, 14, 0 }, { 16, 75, 107, 24, 14, 0 }, { 16, 76, 108, 24, 15, 0 }, { 16, 77, 108, 24, 15, 0 }, { 16, 78, 108, 24, 15, 0 }, + { 16, 79, 109, 24, 15, 0 }, { 16, 80, 109, 24, 15, 0 }, { 16, 81, 109, 24, 15, 0 }, { 16, 82, 109, 24, 15, 0 }, { 16, 83, 110, 24, 15, 0 }, + { 16, 84, 110, 24, 15, 0 }, { 16, 85, 110, 24, 15, 0 }, { 16, 86, 110, 24, 15, 0 }, { 16, 87, 110, 24, 16, 0 }, { 16, 88, 111, 24, 16, 0 }, + { 16, 89, 111, 24, 16, 0 }, { 16, 90, 111, 24, 16, 0 }, { 16, 91, 111, 24, 16, 0 }, { 16, 92, 111, 24, 16, 0 }, { 16, 93, 111, 24, 16, 0 }, + { 16, 94, 111, 24, 16, 0 }, { 16, 95, 111, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_97753E = { - 137, { - { 31, 16, 32, 0, 0, 0 }, { 30, 16, 32, 0, 0, 0 }, { 29, 16, 32, 0, 0, 0 }, { 28, 16, 32, 0, 0, 0 }, { 27, 16, 32, 0, 0, 0 }, - { 26, 16, 32, 0, 0, 0 }, { 25, 16, 32, 0, 0, 0 }, { 24, 16, 32, 0, 5, 0 }, { 23, 16, 31, 0, 5, 0 }, { 22, 16, 31, 0, 5, 0 }, - { 21, 16, 31, 0, 5, 0 }, { 20, 16, 31, 0, 5, 0 }, { 19, 16, 31, 0, 5, 0 }, { 18, 16, 30, 0, 5, 0 }, { 17, 16, 30, 0, 5, 0 }, - { 16, 16, 30, 0, 5, 0 }, { 15, 16, 30, 0, 6, 0 }, { 14, 16, 29, 0, 6, 0 }, { 13, 16, 29, 0, 6, 0 }, { 12, 16, 29, 0, 6, 0 }, - { 11, 16, 28, 0, 6, 0 }, { 10, 16, 28, 0, 6, 0 }, { 9, 16, 28, 0, 6, 0 }, { 8, 16, 27, 0, 6, 0 }, { 7, 16, 27, 0, 6, 0 }, - { 6, 16, 26, 0, 6, 0 }, { 5, 16, 26, 0, 6, 0 }, { 4, 16, 25, 0, 6, 0 }, { 3, 16, 25, 0, 6, 0 }, { 2, 16, 24, 0, 6, 0 }, - { 1, 16, 24, 0, 6, 0 }, { 0, 16, 23, 0, 6, 0 }, { -1, 16, 22, 0, 6, 0 }, { -2, 16, 22, 0, 6, 0 }, { -3, 16, 21, 0, 6, 0 }, - { -4, 16, 21, 0, 6, 0 }, { -5, 16, 20, 0, 7, 0 }, { -6, 16, 19, 0, 7, 0 }, { -7, 16, 18, 0, 7, 0 }, { -8, 16, 18, 0, 7, 0 }, - { -9, 16, 17, 0, 7, 0 }, { -10, 16, 16, 0, 7, 0 }, { -11, 16, 15, 0, 7, 0 }, { -12, 16, 14, 0, 7, 0 }, { -13, 16, 13, 0, 7, 0 }, - { -14, 16, 12, 0, 7, 0 }, { -15, 16, 11, 0, 7, 0 }, { -16, 16, 10, 0, 7, 0 }, { -17, 16, 9, 0, 7, 0 }, { -18, 16, 8, 0, 7, 0 }, - { -19, 16, 7, 0, 7, 0 }, { -20, 16, 6, 0, 7, 0 }, { -21, 16, 5, 0, 7, 0 }, { -21, 16, 4, 0, 7, 0 }, { -22, 16, 3, 0, 7, 0 }, - { -23, 16, 2, 0, 7, 0 }, { -24, 16, 1, 0, 8, 0 }, { -24, 16, 0, 0, 8, 0 }, { -25, 16, -1, 0, 8, 0 }, { -26, 16, -2, 0, 8, 0 }, - { -27, 16, -3, 0, 8, 0 }, { -27, 16, -4, 0, 8, 0 }, { -28, 16, -5, 0, 8, 0 }, { -29, 16, -6, 0, 8, 0 }, { -29, 16, -7, 0, 8, 0 }, - { -30, 16, -8, 0, 8, 0 }, { -30, 16, -9, 0, 8, 0 }, { -31, 16, -10, 0, 8, 0 }, { -31, 16, -11, 0, 8, 0 }, { -32, 16, -12, 0, 8, 0 }, - { -33, 16, -13, 0, 8, 0 }, { -33, 16, -14, 0, 8, 0 }, { -34, 16, -15, 0, 8, 0 }, { -34, 16, -16, 0, 8, 0 }, { -35, 16, -17, 0, 8, 0 }, - { -35, 16, -18, 0, 8, 0 }, { -35, 16, -19, 0, 8, 0 }, { -36, 16, -20, 0, 8, 0 }, { -36, 16, -21, 0, 8, 0 }, { -37, 16, -22, 0, 8, 0 }, - { -37, 16, -23, 0, 8, 0 }, { -38, 16, -24, 0, 17, 0 }, { -38, 16, -25, 0, 17, 0 }, { -38, 16, -26, 0, 17, 0 }, { -39, 16, -27, 0, 17, 0 }, - { -39, 16, -28, 0, 17, 0 }, { -40, 16, -29, 0, 17, 0 }, { -40, 16, -30, 0, 17, 0 }, { -40, 16, -31, 0, 17, 0 }, { -41, 16, -32, 0, 17, 0 }, - { -41, 16, -33, 0, 17, 0 }, { -41, 16, -34, 0, 17, 0 }, { -42, 16, -35, 0, 17, 0 }, { -42, 16, -36, 0, 17, 0 }, { -42, 16, -37, 0, 17, 0 }, - { -42, 16, -38, 0, 17, 0 }, { -43, 16, -39, 0, 17, 0 }, { -43, 16, -40, 0, 17, 0 }, { -43, 16, -41, 0, 17, 0 }, { -43, 16, -42, 0, 17, 0 }, - { -44, 16, -43, 0, 17, 0 }, { -44, 16, -44, 0, 17, 0 }, { -44, 16, -45, 0, 17, 0 }, { -44, 16, -46, 0, 17, 0 }, { -45, 16, -47, 0, 17, 0 }, - { -45, 16, -48, 0, 17, 0 }, { -45, 16, -49, 0, 17, 0 }, { -45, 16, -50, 0, 17, 0 }, { -45, 16, -51, 0, 17, 0 }, { -46, 16, -52, 0, 17, 0 }, - { -46, 16, -53, 0, 17, 0 }, { -46, 16, -54, 0, 17, 0 }, { -46, 16, -55, 0, 17, 0 }, { -46, 16, -56, 0, 17, 0 }, { -46, 16, -57, 0, 17, 0 }, - { -47, 16, -58, 0, 17, 0 }, { -47, 16, -59, 0, 18, 0 }, { -47, 16, -60, 0, 18, 0 }, { -47, 16, -61, 0, 18, 0 }, { -47, 16, -62, 0, 18, 0 }, - { -47, 16, -63, 0, 18, 0 }, { -47, 16, -64, 0, 18, 0 }, { -47, 16, -65, 0, 18, 0 }, { -47, 16, -66, 0, 18, 0 }, { -48, 16, -67, 0, 18, 0 }, - { -48, 16, -68, 0, 18, 0 }, { -48, 16, -69, 0, 18, 0 }, { -48, 16, -70, 0, 18, 0 }, { -48, 16, -71, 0, 18, 0 }, { -48, 16, -72, 0, 18, 0 }, - { -48, 16, -73, 0, 18, 0 }, { -48, 16, -74, 0, 18, 0 }, { -48, 16, -75, 0, 18, 0 }, { -48, 16, -76, 0, 18, 0 }, { -48, 16, -77, 0, 18, 0 }, - { -48, 16, -78, 0, 18, 0 }, { -48, 16, -79, 0, 18, 0 }, + 137, { + { 31, 16, 32, 0, 0, 0 }, { 30, 16, 32, 0, 0, 0 }, { 29, 16, 32, 0, 0, 0 }, { 28, 16, 32, 0, 0, 0 }, { 27, 16, 32, 0, 0, 0 }, + { 26, 16, 32, 0, 0, 0 }, { 25, 16, 32, 0, 0, 0 }, { 24, 16, 32, 0, 5, 0 }, { 23, 16, 31, 0, 5, 0 }, { 22, 16, 31, 0, 5, 0 }, + { 21, 16, 31, 0, 5, 0 }, { 20, 16, 31, 0, 5, 0 }, { 19, 16, 31, 0, 5, 0 }, { 18, 16, 30, 0, 5, 0 }, { 17, 16, 30, 0, 5, 0 }, + { 16, 16, 30, 0, 5, 0 }, { 15, 16, 30, 0, 6, 0 }, { 14, 16, 29, 0, 6, 0 }, { 13, 16, 29, 0, 6, 0 }, { 12, 16, 29, 0, 6, 0 }, + { 11, 16, 28, 0, 6, 0 }, { 10, 16, 28, 0, 6, 0 }, { 9, 16, 28, 0, 6, 0 }, { 8, 16, 27, 0, 6, 0 }, { 7, 16, 27, 0, 6, 0 }, + { 6, 16, 26, 0, 6, 0 }, { 5, 16, 26, 0, 6, 0 }, { 4, 16, 25, 0, 6, 0 }, { 3, 16, 25, 0, 6, 0 }, { 2, 16, 24, 0, 6, 0 }, + { 1, 16, 24, 0, 6, 0 }, { 0, 16, 23, 0, 6, 0 }, { -1, 16, 22, 0, 6, 0 }, { -2, 16, 22, 0, 6, 0 }, { -3, 16, 21, 0, 6, 0 }, + { -4, 16, 21, 0, 6, 0 }, { -5, 16, 20, 0, 7, 0 }, { -6, 16, 19, 0, 7, 0 }, { -7, 16, 18, 0, 7, 0 }, { -8, 16, 18, 0, 7, 0 }, + { -9, 16, 17, 0, 7, 0 }, { -10, 16, 16, 0, 7, 0 }, { -11, 16, 15, 0, 7, 0 }, { -12, 16, 14, 0, 7, 0 }, { -13, 16, 13, 0, 7, 0 }, + { -14, 16, 12, 0, 7, 0 }, { -15, 16, 11, 0, 7, 0 }, { -16, 16, 10, 0, 7, 0 }, { -17, 16, 9, 0, 7, 0 }, { -18, 16, 8, 0, 7, 0 }, + { -19, 16, 7, 0, 7, 0 }, { -20, 16, 6, 0, 7, 0 }, { -21, 16, 5, 0, 7, 0 }, { -21, 16, 4, 0, 7, 0 }, { -22, 16, 3, 0, 7, 0 }, + { -23, 16, 2, 0, 7, 0 }, { -24, 16, 1, 0, 8, 0 }, { -24, 16, 0, 0, 8, 0 }, { -25, 16, -1, 0, 8, 0 }, { -26, 16, -2, 0, 8, 0 }, + { -27, 16, -3, 0, 8, 0 }, { -27, 16, -4, 0, 8, 0 }, { -28, 16, -5, 0, 8, 0 }, { -29, 16, -6, 0, 8, 0 }, { -29, 16, -7, 0, 8, 0 }, + { -30, 16, -8, 0, 8, 0 }, { -30, 16, -9, 0, 8, 0 }, { -31, 16, -10, 0, 8, 0 }, { -31, 16, -11, 0, 8, 0 }, { -32, 16, -12, 0, 8, 0 }, + { -33, 16, -13, 0, 8, 0 }, { -33, 16, -14, 0, 8, 0 }, { -34, 16, -15, 0, 8, 0 }, { -34, 16, -16, 0, 8, 0 }, { -35, 16, -17, 0, 8, 0 }, + { -35, 16, -18, 0, 8, 0 }, { -35, 16, -19, 0, 8, 0 }, { -36, 16, -20, 0, 8, 0 }, { -36, 16, -21, 0, 8, 0 }, { -37, 16, -22, 0, 8, 0 }, + { -37, 16, -23, 0, 8, 0 }, { -38, 16, -24, 0, 17, 0 }, { -38, 16, -25, 0, 17, 0 }, { -38, 16, -26, 0, 17, 0 }, { -39, 16, -27, 0, 17, 0 }, + { -39, 16, -28, 0, 17, 0 }, { -40, 16, -29, 0, 17, 0 }, { -40, 16, -30, 0, 17, 0 }, { -40, 16, -31, 0, 17, 0 }, { -41, 16, -32, 0, 17, 0 }, + { -41, 16, -33, 0, 17, 0 }, { -41, 16, -34, 0, 17, 0 }, { -42, 16, -35, 0, 17, 0 }, { -42, 16, -36, 0, 17, 0 }, { -42, 16, -37, 0, 17, 0 }, + { -42, 16, -38, 0, 17, 0 }, { -43, 16, -39, 0, 17, 0 }, { -43, 16, -40, 0, 17, 0 }, { -43, 16, -41, 0, 17, 0 }, { -43, 16, -42, 0, 17, 0 }, + { -44, 16, -43, 0, 17, 0 }, { -44, 16, -44, 0, 17, 0 }, { -44, 16, -45, 0, 17, 0 }, { -44, 16, -46, 0, 17, 0 }, { -45, 16, -47, 0, 17, 0 }, + { -45, 16, -48, 0, 17, 0 }, { -45, 16, -49, 0, 17, 0 }, { -45, 16, -50, 0, 17, 0 }, { -45, 16, -51, 0, 17, 0 }, { -46, 16, -52, 0, 17, 0 }, + { -46, 16, -53, 0, 17, 0 }, { -46, 16, -54, 0, 17, 0 }, { -46, 16, -55, 0, 17, 0 }, { -46, 16, -56, 0, 17, 0 }, { -46, 16, -57, 0, 17, 0 }, + { -47, 16, -58, 0, 17, 0 }, { -47, 16, -59, 0, 18, 0 }, { -47, 16, -60, 0, 18, 0 }, { -47, 16, -61, 0, 18, 0 }, { -47, 16, -62, 0, 18, 0 }, + { -47, 16, -63, 0, 18, 0 }, { -47, 16, -64, 0, 18, 0 }, { -47, 16, -65, 0, 18, 0 }, { -47, 16, -66, 0, 18, 0 }, { -48, 16, -67, 0, 18, 0 }, + { -48, 16, -68, 0, 18, 0 }, { -48, 16, -69, 0, 18, 0 }, { -48, 16, -70, 0, 18, 0 }, { -48, 16, -71, 0, 18, 0 }, { -48, 16, -72, 0, 18, 0 }, + { -48, 16, -73, 0, 18, 0 }, { -48, 16, -74, 0, 18, 0 }, { -48, 16, -75, 0, 18, 0 }, { -48, 16, -76, 0, 18, 0 }, { -48, 16, -77, 0, 18, 0 }, + { -48, 16, -78, 0, 18, 0 }, { -48, 16, -79, 0, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_977A11 = { - 137, { - { 16, 0, 32, 8, 0, 0 }, { 16, 1, 32, 8, 0, 0 }, { 16, 2, 32, 8, 0, 0 }, { 16, 3, 32, 8, 0, 0 }, { 16, 4, 32, 8, 0, 0 }, - { 16, 5, 32, 8, 0, 0 }, { 16, 6, 32, 8, 0, 0 }, { 16, 7, 32, 8, 5, 0 }, { 16, 8, 31, 8, 5, 0 }, { 16, 9, 31, 8, 5, 0 }, - { 16, 10, 31, 8, 5, 0 }, { 16, 11, 31, 8, 5, 0 }, { 16, 12, 31, 8, 5, 0 }, { 16, 13, 30, 8, 5, 0 }, { 16, 14, 30, 8, 5, 0 }, - { 16, 15, 30, 8, 5, 0 }, { 16, 16, 30, 8, 6, 0 }, { 16, 17, 29, 8, 6, 0 }, { 16, 18, 29, 8, 6, 0 }, { 16, 19, 29, 8, 6, 0 }, - { 16, 20, 28, 8, 6, 0 }, { 16, 21, 28, 8, 6, 0 }, { 16, 22, 28, 8, 6, 0 }, { 16, 23, 27, 8, 6, 0 }, { 16, 24, 27, 8, 6, 0 }, - { 16, 25, 26, 8, 6, 0 }, { 16, 26, 26, 8, 6, 0 }, { 16, 27, 25, 8, 6, 0 }, { 16, 28, 25, 8, 6, 0 }, { 16, 29, 24, 8, 6, 0 }, - { 16, 30, 24, 8, 6, 0 }, { 16, 31, 23, 8, 6, 0 }, { 16, 32, 22, 8, 6, 0 }, { 16, 33, 22, 8, 6, 0 }, { 16, 34, 21, 8, 6, 0 }, - { 16, 35, 21, 8, 6, 0 }, { 16, 36, 20, 8, 7, 0 }, { 16, 37, 19, 8, 7, 0 }, { 16, 38, 18, 8, 7, 0 }, { 16, 39, 18, 8, 7, 0 }, - { 16, 40, 17, 8, 7, 0 }, { 16, 41, 16, 8, 7, 0 }, { 16, 42, 15, 8, 7, 0 }, { 16, 43, 14, 8, 7, 0 }, { 16, 44, 13, 8, 7, 0 }, - { 16, 45, 12, 8, 7, 0 }, { 16, 46, 11, 8, 7, 0 }, { 16, 47, 10, 8, 7, 0 }, { 16, 48, 9, 8, 7, 0 }, { 16, 49, 8, 8, 7, 0 }, - { 16, 50, 7, 8, 7, 0 }, { 16, 51, 6, 8, 7, 0 }, { 16, 52, 5, 8, 7, 0 }, { 16, 52, 4, 8, 7, 0 }, { 16, 53, 3, 8, 7, 0 }, - { 16, 54, 2, 8, 7, 0 }, { 16, 55, 1, 8, 8, 0 }, { 16, 55, 0, 8, 8, 0 }, { 16, 56, -1, 8, 8, 0 }, { 16, 57, -2, 8, 8, 0 }, - { 16, 58, -3, 8, 8, 0 }, { 16, 58, -4, 8, 8, 0 }, { 16, 59, -5, 8, 8, 0 }, { 16, 60, -6, 8, 8, 0 }, { 16, 60, -7, 8, 8, 0 }, - { 16, 61, -8, 8, 8, 0 }, { 16, 61, -9, 8, 8, 0 }, { 16, 62, -10, 8, 8, 0 }, { 16, 62, -11, 8, 8, 0 }, { 16, 63, -12, 8, 8, 0 }, - { 16, 64, -13, 8, 8, 0 }, { 16, 64, -14, 8, 8, 0 }, { 16, 65, -15, 8, 8, 0 }, { 16, 65, -16, 8, 8, 0 }, { 16, 66, -17, 8, 8, 0 }, - { 16, 66, -18, 8, 8, 0 }, { 16, 66, -19, 8, 8, 0 }, { 16, 67, -20, 8, 8, 0 }, { 16, 67, -21, 8, 8, 0 }, { 16, 68, -22, 8, 8, 0 }, - { 16, 68, -23, 8, 8, 0 }, { 16, 69, -24, 8, 17, 0 }, { 16, 69, -25, 8, 17, 0 }, { 16, 69, -26, 8, 17, 0 }, { 16, 70, -27, 8, 17, 0 }, - { 16, 70, -28, 8, 17, 0 }, { 16, 71, -29, 8, 17, 0 }, { 16, 71, -30, 8, 17, 0 }, { 16, 71, -31, 8, 17, 0 }, { 16, 72, -32, 8, 17, 0 }, - { 16, 72, -33, 8, 17, 0 }, { 16, 72, -34, 8, 17, 0 }, { 16, 73, -35, 8, 17, 0 }, { 16, 73, -36, 8, 17, 0 }, { 16, 73, -37, 8, 17, 0 }, - { 16, 73, -38, 8, 17, 0 }, { 16, 74, -39, 8, 17, 0 }, { 16, 74, -40, 8, 17, 0 }, { 16, 74, -41, 8, 17, 0 }, { 16, 74, -42, 8, 17, 0 }, - { 16, 75, -43, 8, 17, 0 }, { 16, 75, -44, 8, 17, 0 }, { 16, 75, -45, 8, 17, 0 }, { 16, 75, -46, 8, 17, 0 }, { 16, 76, -47, 8, 17, 0 }, - { 16, 76, -48, 8, 17, 0 }, { 16, 76, -49, 8, 17, 0 }, { 16, 76, -50, 8, 17, 0 }, { 16, 76, -51, 8, 17, 0 }, { 16, 77, -52, 8, 17, 0 }, - { 16, 77, -53, 8, 17, 0 }, { 16, 77, -54, 8, 17, 0 }, { 16, 77, -55, 8, 17, 0 }, { 16, 77, -56, 8, 17, 0 }, { 16, 77, -57, 8, 17, 0 }, - { 16, 78, -58, 8, 17, 0 }, { 16, 78, -59, 8, 18, 0 }, { 16, 78, -60, 8, 18, 0 }, { 16, 78, -61, 8, 18, 0 }, { 16, 78, -62, 8, 18, 0 }, - { 16, 78, -63, 8, 18, 0 }, { 16, 78, -64, 8, 18, 0 }, { 16, 78, -65, 8, 18, 0 }, { 16, 78, -66, 8, 18, 0 }, { 16, 79, -67, 8, 18, 0 }, - { 16, 79, -68, 8, 18, 0 }, { 16, 79, -69, 8, 18, 0 }, { 16, 79, -70, 8, 18, 0 }, { 16, 79, -71, 8, 18, 0 }, { 16, 79, -72, 8, 18, 0 }, - { 16, 79, -73, 8, 18, 0 }, { 16, 79, -74, 8, 18, 0 }, { 16, 79, -75, 8, 18, 0 }, { 16, 79, -76, 8, 18, 0 }, { 16, 79, -77, 8, 18, 0 }, - { 16, 79, -78, 8, 18, 0 }, { 16, 79, -79, 8, 18, 0 }, + 137, { + { 16, 0, 32, 8, 0, 0 }, { 16, 1, 32, 8, 0, 0 }, { 16, 2, 32, 8, 0, 0 }, { 16, 3, 32, 8, 0, 0 }, { 16, 4, 32, 8, 0, 0 }, + { 16, 5, 32, 8, 0, 0 }, { 16, 6, 32, 8, 0, 0 }, { 16, 7, 32, 8, 5, 0 }, { 16, 8, 31, 8, 5, 0 }, { 16, 9, 31, 8, 5, 0 }, + { 16, 10, 31, 8, 5, 0 }, { 16, 11, 31, 8, 5, 0 }, { 16, 12, 31, 8, 5, 0 }, { 16, 13, 30, 8, 5, 0 }, { 16, 14, 30, 8, 5, 0 }, + { 16, 15, 30, 8, 5, 0 }, { 16, 16, 30, 8, 6, 0 }, { 16, 17, 29, 8, 6, 0 }, { 16, 18, 29, 8, 6, 0 }, { 16, 19, 29, 8, 6, 0 }, + { 16, 20, 28, 8, 6, 0 }, { 16, 21, 28, 8, 6, 0 }, { 16, 22, 28, 8, 6, 0 }, { 16, 23, 27, 8, 6, 0 }, { 16, 24, 27, 8, 6, 0 }, + { 16, 25, 26, 8, 6, 0 }, { 16, 26, 26, 8, 6, 0 }, { 16, 27, 25, 8, 6, 0 }, { 16, 28, 25, 8, 6, 0 }, { 16, 29, 24, 8, 6, 0 }, + { 16, 30, 24, 8, 6, 0 }, { 16, 31, 23, 8, 6, 0 }, { 16, 32, 22, 8, 6, 0 }, { 16, 33, 22, 8, 6, 0 }, { 16, 34, 21, 8, 6, 0 }, + { 16, 35, 21, 8, 6, 0 }, { 16, 36, 20, 8, 7, 0 }, { 16, 37, 19, 8, 7, 0 }, { 16, 38, 18, 8, 7, 0 }, { 16, 39, 18, 8, 7, 0 }, + { 16, 40, 17, 8, 7, 0 }, { 16, 41, 16, 8, 7, 0 }, { 16, 42, 15, 8, 7, 0 }, { 16, 43, 14, 8, 7, 0 }, { 16, 44, 13, 8, 7, 0 }, + { 16, 45, 12, 8, 7, 0 }, { 16, 46, 11, 8, 7, 0 }, { 16, 47, 10, 8, 7, 0 }, { 16, 48, 9, 8, 7, 0 }, { 16, 49, 8, 8, 7, 0 }, + { 16, 50, 7, 8, 7, 0 }, { 16, 51, 6, 8, 7, 0 }, { 16, 52, 5, 8, 7, 0 }, { 16, 52, 4, 8, 7, 0 }, { 16, 53, 3, 8, 7, 0 }, + { 16, 54, 2, 8, 7, 0 }, { 16, 55, 1, 8, 8, 0 }, { 16, 55, 0, 8, 8, 0 }, { 16, 56, -1, 8, 8, 0 }, { 16, 57, -2, 8, 8, 0 }, + { 16, 58, -3, 8, 8, 0 }, { 16, 58, -4, 8, 8, 0 }, { 16, 59, -5, 8, 8, 0 }, { 16, 60, -6, 8, 8, 0 }, { 16, 60, -7, 8, 8, 0 }, + { 16, 61, -8, 8, 8, 0 }, { 16, 61, -9, 8, 8, 0 }, { 16, 62, -10, 8, 8, 0 }, { 16, 62, -11, 8, 8, 0 }, { 16, 63, -12, 8, 8, 0 }, + { 16, 64, -13, 8, 8, 0 }, { 16, 64, -14, 8, 8, 0 }, { 16, 65, -15, 8, 8, 0 }, { 16, 65, -16, 8, 8, 0 }, { 16, 66, -17, 8, 8, 0 }, + { 16, 66, -18, 8, 8, 0 }, { 16, 66, -19, 8, 8, 0 }, { 16, 67, -20, 8, 8, 0 }, { 16, 67, -21, 8, 8, 0 }, { 16, 68, -22, 8, 8, 0 }, + { 16, 68, -23, 8, 8, 0 }, { 16, 69, -24, 8, 17, 0 }, { 16, 69, -25, 8, 17, 0 }, { 16, 69, -26, 8, 17, 0 }, { 16, 70, -27, 8, 17, 0 }, + { 16, 70, -28, 8, 17, 0 }, { 16, 71, -29, 8, 17, 0 }, { 16, 71, -30, 8, 17, 0 }, { 16, 71, -31, 8, 17, 0 }, { 16, 72, -32, 8, 17, 0 }, + { 16, 72, -33, 8, 17, 0 }, { 16, 72, -34, 8, 17, 0 }, { 16, 73, -35, 8, 17, 0 }, { 16, 73, -36, 8, 17, 0 }, { 16, 73, -37, 8, 17, 0 }, + { 16, 73, -38, 8, 17, 0 }, { 16, 74, -39, 8, 17, 0 }, { 16, 74, -40, 8, 17, 0 }, { 16, 74, -41, 8, 17, 0 }, { 16, 74, -42, 8, 17, 0 }, + { 16, 75, -43, 8, 17, 0 }, { 16, 75, -44, 8, 17, 0 }, { 16, 75, -45, 8, 17, 0 }, { 16, 75, -46, 8, 17, 0 }, { 16, 76, -47, 8, 17, 0 }, + { 16, 76, -48, 8, 17, 0 }, { 16, 76, -49, 8, 17, 0 }, { 16, 76, -50, 8, 17, 0 }, { 16, 76, -51, 8, 17, 0 }, { 16, 77, -52, 8, 17, 0 }, + { 16, 77, -53, 8, 17, 0 }, { 16, 77, -54, 8, 17, 0 }, { 16, 77, -55, 8, 17, 0 }, { 16, 77, -56, 8, 17, 0 }, { 16, 77, -57, 8, 17, 0 }, + { 16, 78, -58, 8, 17, 0 }, { 16, 78, -59, 8, 18, 0 }, { 16, 78, -60, 8, 18, 0 }, { 16, 78, -61, 8, 18, 0 }, { 16, 78, -62, 8, 18, 0 }, + { 16, 78, -63, 8, 18, 0 }, { 16, 78, -64, 8, 18, 0 }, { 16, 78, -65, 8, 18, 0 }, { 16, 78, -66, 8, 18, 0 }, { 16, 79, -67, 8, 18, 0 }, + { 16, 79, -68, 8, 18, 0 }, { 16, 79, -69, 8, 18, 0 }, { 16, 79, -70, 8, 18, 0 }, { 16, 79, -71, 8, 18, 0 }, { 16, 79, -72, 8, 18, 0 }, + { 16, 79, -73, 8, 18, 0 }, { 16, 79, -74, 8, 18, 0 }, { 16, 79, -75, 8, 18, 0 }, { 16, 79, -76, 8, 18, 0 }, { 16, 79, -77, 8, 18, 0 }, + { 16, 79, -78, 8, 18, 0 }, { 16, 79, -79, 8, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_977EE4 = { - 137, { - { 0, 16, 32, 16, 0, 0 }, { 1, 16, 32, 16, 0, 0 }, { 2, 16, 32, 16, 0, 0 }, { 3, 16, 32, 16, 0, 0 }, { 4, 16, 32, 16, 0, 0 }, - { 5, 16, 32, 16, 0, 0 }, { 6, 16, 32, 16, 0, 0 }, { 7, 16, 32, 16, 5, 0 }, { 8, 16, 31, 16, 5, 0 }, { 9, 16, 31, 16, 5, 0 }, - { 10, 16, 31, 16, 5, 0 }, { 11, 16, 31, 16, 5, 0 }, { 12, 16, 31, 16, 5, 0 }, { 13, 16, 30, 16, 5, 0 }, { 14, 16, 30, 16, 5, 0 }, - { 15, 16, 30, 16, 5, 0 }, { 16, 16, 30, 16, 6, 0 }, { 17, 16, 29, 16, 6, 0 }, { 18, 16, 29, 16, 6, 0 }, { 19, 16, 29, 16, 6, 0 }, - { 20, 16, 28, 16, 6, 0 }, { 21, 16, 28, 16, 6, 0 }, { 22, 16, 28, 16, 6, 0 }, { 23, 16, 27, 16, 6, 0 }, { 24, 16, 27, 16, 6, 0 }, - { 25, 16, 26, 16, 6, 0 }, { 26, 16, 26, 16, 6, 0 }, { 27, 16, 25, 16, 6, 0 }, { 28, 16, 25, 16, 6, 0 }, { 29, 16, 24, 16, 6, 0 }, - { 30, 16, 24, 16, 6, 0 }, { 31, 16, 23, 16, 6, 0 }, { 32, 16, 22, 16, 6, 0 }, { 33, 16, 22, 16, 6, 0 }, { 34, 16, 21, 16, 6, 0 }, - { 35, 16, 21, 16, 6, 0 }, { 36, 16, 20, 16, 7, 0 }, { 37, 16, 19, 16, 7, 0 }, { 38, 16, 18, 16, 7, 0 }, { 39, 16, 18, 16, 7, 0 }, - { 40, 16, 17, 16, 7, 0 }, { 41, 16, 16, 16, 7, 0 }, { 42, 16, 15, 16, 7, 0 }, { 43, 16, 14, 16, 7, 0 }, { 44, 16, 13, 16, 7, 0 }, - { 45, 16, 12, 16, 7, 0 }, { 46, 16, 11, 16, 7, 0 }, { 47, 16, 10, 16, 7, 0 }, { 48, 16, 9, 16, 7, 0 }, { 49, 16, 8, 16, 7, 0 }, - { 50, 16, 7, 16, 7, 0 }, { 51, 16, 6, 16, 7, 0 }, { 52, 16, 5, 16, 7, 0 }, { 52, 16, 4, 16, 7, 0 }, { 53, 16, 3, 16, 7, 0 }, - { 54, 16, 2, 16, 7, 0 }, { 55, 16, 1, 16, 8, 0 }, { 55, 16, 0, 16, 8, 0 }, { 56, 16, -1, 16, 8, 0 }, { 57, 16, -2, 16, 8, 0 }, - { 58, 16, -3, 16, 8, 0 }, { 58, 16, -4, 16, 8, 0 }, { 59, 16, -5, 16, 8, 0 }, { 60, 16, -6, 16, 8, 0 }, { 60, 16, -7, 16, 8, 0 }, - { 61, 16, -8, 16, 8, 0 }, { 61, 16, -9, 16, 8, 0 }, { 62, 16, -10, 16, 8, 0 }, { 62, 16, -11, 16, 8, 0 }, { 63, 16, -12, 16, 8, 0 }, - { 64, 16, -13, 16, 8, 0 }, { 64, 16, -14, 16, 8, 0 }, { 65, 16, -15, 16, 8, 0 }, { 65, 16, -16, 16, 8, 0 }, { 66, 16, -17, 16, 8, 0 }, - { 66, 16, -18, 16, 8, 0 }, { 66, 16, -19, 16, 8, 0 }, { 67, 16, -20, 16, 8, 0 }, { 67, 16, -21, 16, 8, 0 }, { 68, 16, -22, 16, 8, 0 }, - { 68, 16, -23, 16, 8, 0 }, { 69, 16, -24, 16, 17, 0 }, { 69, 16, -25, 16, 17, 0 }, { 69, 16, -26, 16, 17, 0 }, { 70, 16, -27, 16, 17, 0 }, - { 70, 16, -28, 16, 17, 0 }, { 71, 16, -29, 16, 17, 0 }, { 71, 16, -30, 16, 17, 0 }, { 71, 16, -31, 16, 17, 0 }, { 72, 16, -32, 16, 17, 0 }, - { 72, 16, -33, 16, 17, 0 }, { 72, 16, -34, 16, 17, 0 }, { 73, 16, -35, 16, 17, 0 }, { 73, 16, -36, 16, 17, 0 }, { 73, 16, -37, 16, 17, 0 }, - { 73, 16, -38, 16, 17, 0 }, { 74, 16, -39, 16, 17, 0 }, { 74, 16, -40, 16, 17, 0 }, { 74, 16, -41, 16, 17, 0 }, { 74, 16, -42, 16, 17, 0 }, - { 75, 16, -43, 16, 17, 0 }, { 75, 16, -44, 16, 17, 0 }, { 75, 16, -45, 16, 17, 0 }, { 75, 16, -46, 16, 17, 0 }, { 76, 16, -47, 16, 17, 0 }, - { 76, 16, -48, 16, 17, 0 }, { 76, 16, -49, 16, 17, 0 }, { 76, 16, -50, 16, 17, 0 }, { 76, 16, -51, 16, 17, 0 }, { 77, 16, -52, 16, 17, 0 }, - { 77, 16, -53, 16, 17, 0 }, { 77, 16, -54, 16, 17, 0 }, { 77, 16, -55, 16, 17, 0 }, { 77, 16, -56, 16, 17, 0 }, { 77, 16, -57, 16, 17, 0 }, - { 78, 16, -58, 16, 17, 0 }, { 78, 16, -59, 16, 18, 0 }, { 78, 16, -60, 16, 18, 0 }, { 78, 16, -61, 16, 18, 0 }, { 78, 16, -62, 16, 18, 0 }, - { 78, 16, -63, 16, 18, 0 }, { 78, 16, -64, 16, 18, 0 }, { 78, 16, -65, 16, 18, 0 }, { 78, 16, -66, 16, 18, 0 }, { 79, 16, -67, 16, 18, 0 }, - { 79, 16, -68, 16, 18, 0 }, { 79, 16, -69, 16, 18, 0 }, { 79, 16, -70, 16, 18, 0 }, { 79, 16, -71, 16, 18, 0 }, { 79, 16, -72, 16, 18, 0 }, - { 79, 16, -73, 16, 18, 0 }, { 79, 16, -74, 16, 18, 0 }, { 79, 16, -75, 16, 18, 0 }, { 79, 16, -76, 16, 18, 0 }, { 79, 16, -77, 16, 18, 0 }, - { 79, 16, -78, 16, 18, 0 }, { 79, 16, -79, 16, 18, 0 }, + 137, { + { 0, 16, 32, 16, 0, 0 }, { 1, 16, 32, 16, 0, 0 }, { 2, 16, 32, 16, 0, 0 }, { 3, 16, 32, 16, 0, 0 }, { 4, 16, 32, 16, 0, 0 }, + { 5, 16, 32, 16, 0, 0 }, { 6, 16, 32, 16, 0, 0 }, { 7, 16, 32, 16, 5, 0 }, { 8, 16, 31, 16, 5, 0 }, { 9, 16, 31, 16, 5, 0 }, + { 10, 16, 31, 16, 5, 0 }, { 11, 16, 31, 16, 5, 0 }, { 12, 16, 31, 16, 5, 0 }, { 13, 16, 30, 16, 5, 0 }, { 14, 16, 30, 16, 5, 0 }, + { 15, 16, 30, 16, 5, 0 }, { 16, 16, 30, 16, 6, 0 }, { 17, 16, 29, 16, 6, 0 }, { 18, 16, 29, 16, 6, 0 }, { 19, 16, 29, 16, 6, 0 }, + { 20, 16, 28, 16, 6, 0 }, { 21, 16, 28, 16, 6, 0 }, { 22, 16, 28, 16, 6, 0 }, { 23, 16, 27, 16, 6, 0 }, { 24, 16, 27, 16, 6, 0 }, + { 25, 16, 26, 16, 6, 0 }, { 26, 16, 26, 16, 6, 0 }, { 27, 16, 25, 16, 6, 0 }, { 28, 16, 25, 16, 6, 0 }, { 29, 16, 24, 16, 6, 0 }, + { 30, 16, 24, 16, 6, 0 }, { 31, 16, 23, 16, 6, 0 }, { 32, 16, 22, 16, 6, 0 }, { 33, 16, 22, 16, 6, 0 }, { 34, 16, 21, 16, 6, 0 }, + { 35, 16, 21, 16, 6, 0 }, { 36, 16, 20, 16, 7, 0 }, { 37, 16, 19, 16, 7, 0 }, { 38, 16, 18, 16, 7, 0 }, { 39, 16, 18, 16, 7, 0 }, + { 40, 16, 17, 16, 7, 0 }, { 41, 16, 16, 16, 7, 0 }, { 42, 16, 15, 16, 7, 0 }, { 43, 16, 14, 16, 7, 0 }, { 44, 16, 13, 16, 7, 0 }, + { 45, 16, 12, 16, 7, 0 }, { 46, 16, 11, 16, 7, 0 }, { 47, 16, 10, 16, 7, 0 }, { 48, 16, 9, 16, 7, 0 }, { 49, 16, 8, 16, 7, 0 }, + { 50, 16, 7, 16, 7, 0 }, { 51, 16, 6, 16, 7, 0 }, { 52, 16, 5, 16, 7, 0 }, { 52, 16, 4, 16, 7, 0 }, { 53, 16, 3, 16, 7, 0 }, + { 54, 16, 2, 16, 7, 0 }, { 55, 16, 1, 16, 8, 0 }, { 55, 16, 0, 16, 8, 0 }, { 56, 16, -1, 16, 8, 0 }, { 57, 16, -2, 16, 8, 0 }, + { 58, 16, -3, 16, 8, 0 }, { 58, 16, -4, 16, 8, 0 }, { 59, 16, -5, 16, 8, 0 }, { 60, 16, -6, 16, 8, 0 }, { 60, 16, -7, 16, 8, 0 }, + { 61, 16, -8, 16, 8, 0 }, { 61, 16, -9, 16, 8, 0 }, { 62, 16, -10, 16, 8, 0 }, { 62, 16, -11, 16, 8, 0 }, { 63, 16, -12, 16, 8, 0 }, + { 64, 16, -13, 16, 8, 0 }, { 64, 16, -14, 16, 8, 0 }, { 65, 16, -15, 16, 8, 0 }, { 65, 16, -16, 16, 8, 0 }, { 66, 16, -17, 16, 8, 0 }, + { 66, 16, -18, 16, 8, 0 }, { 66, 16, -19, 16, 8, 0 }, { 67, 16, -20, 16, 8, 0 }, { 67, 16, -21, 16, 8, 0 }, { 68, 16, -22, 16, 8, 0 }, + { 68, 16, -23, 16, 8, 0 }, { 69, 16, -24, 16, 17, 0 }, { 69, 16, -25, 16, 17, 0 }, { 69, 16, -26, 16, 17, 0 }, { 70, 16, -27, 16, 17, 0 }, + { 70, 16, -28, 16, 17, 0 }, { 71, 16, -29, 16, 17, 0 }, { 71, 16, -30, 16, 17, 0 }, { 71, 16, -31, 16, 17, 0 }, { 72, 16, -32, 16, 17, 0 }, + { 72, 16, -33, 16, 17, 0 }, { 72, 16, -34, 16, 17, 0 }, { 73, 16, -35, 16, 17, 0 }, { 73, 16, -36, 16, 17, 0 }, { 73, 16, -37, 16, 17, 0 }, + { 73, 16, -38, 16, 17, 0 }, { 74, 16, -39, 16, 17, 0 }, { 74, 16, -40, 16, 17, 0 }, { 74, 16, -41, 16, 17, 0 }, { 74, 16, -42, 16, 17, 0 }, + { 75, 16, -43, 16, 17, 0 }, { 75, 16, -44, 16, 17, 0 }, { 75, 16, -45, 16, 17, 0 }, { 75, 16, -46, 16, 17, 0 }, { 76, 16, -47, 16, 17, 0 }, + { 76, 16, -48, 16, 17, 0 }, { 76, 16, -49, 16, 17, 0 }, { 76, 16, -50, 16, 17, 0 }, { 76, 16, -51, 16, 17, 0 }, { 77, 16, -52, 16, 17, 0 }, + { 77, 16, -53, 16, 17, 0 }, { 77, 16, -54, 16, 17, 0 }, { 77, 16, -55, 16, 17, 0 }, { 77, 16, -56, 16, 17, 0 }, { 77, 16, -57, 16, 17, 0 }, + { 78, 16, -58, 16, 17, 0 }, { 78, 16, -59, 16, 18, 0 }, { 78, 16, -60, 16, 18, 0 }, { 78, 16, -61, 16, 18, 0 }, { 78, 16, -62, 16, 18, 0 }, + { 78, 16, -63, 16, 18, 0 }, { 78, 16, -64, 16, 18, 0 }, { 78, 16, -65, 16, 18, 0 }, { 78, 16, -66, 16, 18, 0 }, { 79, 16, -67, 16, 18, 0 }, + { 79, 16, -68, 16, 18, 0 }, { 79, 16, -69, 16, 18, 0 }, { 79, 16, -70, 16, 18, 0 }, { 79, 16, -71, 16, 18, 0 }, { 79, 16, -72, 16, 18, 0 }, + { 79, 16, -73, 16, 18, 0 }, { 79, 16, -74, 16, 18, 0 }, { 79, 16, -75, 16, 18, 0 }, { 79, 16, -76, 16, 18, 0 }, { 79, 16, -77, 16, 18, 0 }, + { 79, 16, -78, 16, 18, 0 }, { 79, 16, -79, 16, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9783B7 = { - 137, { - { 16, 31, 32, 24, 0, 0 }, { 16, 30, 32, 24, 0, 0 }, { 16, 29, 32, 24, 0, 0 }, { 16, 28, 32, 24, 0, 0 }, { 16, 27, 32, 24, 0, 0 }, - { 16, 26, 32, 24, 0, 0 }, { 16, 25, 32, 24, 0, 0 }, { 16, 24, 32, 24, 5, 0 }, { 16, 23, 31, 24, 5, 0 }, { 16, 22, 31, 24, 5, 0 }, - { 16, 21, 31, 24, 5, 0 }, { 16, 20, 31, 24, 5, 0 }, { 16, 19, 31, 24, 5, 0 }, { 16, 18, 30, 24, 5, 0 }, { 16, 17, 30, 24, 5, 0 }, - { 16, 16, 30, 24, 5, 0 }, { 16, 15, 30, 24, 6, 0 }, { 16, 14, 29, 24, 6, 0 }, { 16, 13, 29, 24, 6, 0 }, { 16, 12, 29, 24, 6, 0 }, - { 16, 11, 28, 24, 6, 0 }, { 16, 10, 28, 24, 6, 0 }, { 16, 9, 28, 24, 6, 0 }, { 16, 8, 27, 24, 6, 0 }, { 16, 7, 27, 24, 6, 0 }, - { 16, 6, 26, 24, 6, 0 }, { 16, 5, 26, 24, 6, 0 }, { 16, 4, 25, 24, 6, 0 }, { 16, 3, 25, 24, 6, 0 }, { 16, 2, 24, 24, 6, 0 }, - { 16, 1, 24, 24, 6, 0 }, { 16, 0, 23, 24, 6, 0 }, { 16, -1, 22, 24, 6, 0 }, { 16, -2, 22, 24, 6, 0 }, { 16, -3, 21, 24, 6, 0 }, - { 16, -4, 21, 24, 6, 0 }, { 16, -5, 20, 24, 7, 0 }, { 16, -6, 19, 24, 7, 0 }, { 16, -7, 18, 24, 7, 0 }, { 16, -8, 18, 24, 7, 0 }, - { 16, -9, 17, 24, 7, 0 }, { 16, -10, 16, 24, 7, 0 }, { 16, -11, 15, 24, 7, 0 }, { 16, -12, 14, 24, 7, 0 }, { 16, -13, 13, 24, 7, 0 }, - { 16, -14, 12, 24, 7, 0 }, { 16, -15, 11, 24, 7, 0 }, { 16, -16, 10, 24, 7, 0 }, { 16, -17, 9, 24, 7, 0 }, { 16, -18, 8, 24, 7, 0 }, - { 16, -19, 7, 24, 7, 0 }, { 16, -20, 6, 24, 7, 0 }, { 16, -21, 5, 24, 7, 0 }, { 16, -21, 4, 24, 7, 0 }, { 16, -22, 3, 24, 7, 0 }, - { 16, -23, 2, 24, 7, 0 }, { 16, -24, 1, 24, 8, 0 }, { 16, -24, 0, 24, 8, 0 }, { 16, -25, -1, 24, 8, 0 }, { 16, -26, -2, 24, 8, 0 }, - { 16, -27, -3, 24, 8, 0 }, { 16, -27, -4, 24, 8, 0 }, { 16, -28, -5, 24, 8, 0 }, { 16, -29, -6, 24, 8, 0 }, { 16, -29, -7, 24, 8, 0 }, - { 16, -30, -8, 24, 8, 0 }, { 16, -30, -9, 24, 8, 0 }, { 16, -31, -10, 24, 8, 0 }, { 16, -31, -11, 24, 8, 0 }, { 16, -32, -12, 24, 8, 0 }, - { 16, -33, -13, 24, 8, 0 }, { 16, -33, -14, 24, 8, 0 }, { 16, -34, -15, 24, 8, 0 }, { 16, -34, -16, 24, 8, 0 }, { 16, -35, -17, 24, 8, 0 }, - { 16, -35, -18, 24, 8, 0 }, { 16, -35, -19, 24, 8, 0 }, { 16, -36, -20, 24, 8, 0 }, { 16, -36, -21, 24, 8, 0 }, { 16, -37, -22, 24, 8, 0 }, - { 16, -37, -23, 24, 8, 0 }, { 16, -38, -24, 24, 17, 0 }, { 16, -38, -25, 24, 17, 0 }, { 16, -38, -26, 24, 17, 0 }, { 16, -39, -27, 24, 17, 0 }, - { 16, -39, -28, 24, 17, 0 }, { 16, -40, -29, 24, 17, 0 }, { 16, -40, -30, 24, 17, 0 }, { 16, -40, -31, 24, 17, 0 }, { 16, -41, -32, 24, 17, 0 }, - { 16, -41, -33, 24, 17, 0 }, { 16, -41, -34, 24, 17, 0 }, { 16, -42, -35, 24, 17, 0 }, { 16, -42, -36, 24, 17, 0 }, { 16, -42, -37, 24, 17, 0 }, - { 16, -42, -38, 24, 17, 0 }, { 16, -43, -39, 24, 17, 0 }, { 16, -43, -40, 24, 17, 0 }, { 16, -43, -41, 24, 17, 0 }, { 16, -43, -42, 24, 17, 0 }, - { 16, -44, -43, 24, 17, 0 }, { 16, -44, -44, 24, 17, 0 }, { 16, -44, -45, 24, 17, 0 }, { 16, -44, -46, 24, 17, 0 }, { 16, -45, -47, 24, 17, 0 }, - { 16, -45, -48, 24, 17, 0 }, { 16, -45, -49, 24, 17, 0 }, { 16, -45, -50, 24, 17, 0 }, { 16, -45, -51, 24, 17, 0 }, { 16, -46, -52, 24, 17, 0 }, - { 16, -46, -53, 24, 17, 0 }, { 16, -46, -54, 24, 17, 0 }, { 16, -46, -55, 24, 17, 0 }, { 16, -46, -56, 24, 17, 0 }, { 16, -46, -57, 24, 17, 0 }, - { 16, -47, -58, 24, 17, 0 }, { 16, -47, -59, 24, 18, 0 }, { 16, -47, -60, 24, 18, 0 }, { 16, -47, -61, 24, 18, 0 }, { 16, -47, -62, 24, 18, 0 }, - { 16, -47, -63, 24, 18, 0 }, { 16, -47, -64, 24, 18, 0 }, { 16, -47, -65, 24, 18, 0 }, { 16, -47, -66, 24, 18, 0 }, { 16, -48, -67, 24, 18, 0 }, - { 16, -48, -68, 24, 18, 0 }, { 16, -48, -69, 24, 18, 0 }, { 16, -48, -70, 24, 18, 0 }, { 16, -48, -71, 24, 18, 0 }, { 16, -48, -72, 24, 18, 0 }, - { 16, -48, -73, 24, 18, 0 }, { 16, -48, -74, 24, 18, 0 }, { 16, -48, -75, 24, 18, 0 }, { 16, -48, -76, 24, 18, 0 }, { 16, -48, -77, 24, 18, 0 }, - { 16, -48, -78, 24, 18, 0 }, { 16, -48, -79, 24, 18, 0 }, + 137, { + { 16, 31, 32, 24, 0, 0 }, { 16, 30, 32, 24, 0, 0 }, { 16, 29, 32, 24, 0, 0 }, { 16, 28, 32, 24, 0, 0 }, { 16, 27, 32, 24, 0, 0 }, + { 16, 26, 32, 24, 0, 0 }, { 16, 25, 32, 24, 0, 0 }, { 16, 24, 32, 24, 5, 0 }, { 16, 23, 31, 24, 5, 0 }, { 16, 22, 31, 24, 5, 0 }, + { 16, 21, 31, 24, 5, 0 }, { 16, 20, 31, 24, 5, 0 }, { 16, 19, 31, 24, 5, 0 }, { 16, 18, 30, 24, 5, 0 }, { 16, 17, 30, 24, 5, 0 }, + { 16, 16, 30, 24, 5, 0 }, { 16, 15, 30, 24, 6, 0 }, { 16, 14, 29, 24, 6, 0 }, { 16, 13, 29, 24, 6, 0 }, { 16, 12, 29, 24, 6, 0 }, + { 16, 11, 28, 24, 6, 0 }, { 16, 10, 28, 24, 6, 0 }, { 16, 9, 28, 24, 6, 0 }, { 16, 8, 27, 24, 6, 0 }, { 16, 7, 27, 24, 6, 0 }, + { 16, 6, 26, 24, 6, 0 }, { 16, 5, 26, 24, 6, 0 }, { 16, 4, 25, 24, 6, 0 }, { 16, 3, 25, 24, 6, 0 }, { 16, 2, 24, 24, 6, 0 }, + { 16, 1, 24, 24, 6, 0 }, { 16, 0, 23, 24, 6, 0 }, { 16, -1, 22, 24, 6, 0 }, { 16, -2, 22, 24, 6, 0 }, { 16, -3, 21, 24, 6, 0 }, + { 16, -4, 21, 24, 6, 0 }, { 16, -5, 20, 24, 7, 0 }, { 16, -6, 19, 24, 7, 0 }, { 16, -7, 18, 24, 7, 0 }, { 16, -8, 18, 24, 7, 0 }, + { 16, -9, 17, 24, 7, 0 }, { 16, -10, 16, 24, 7, 0 }, { 16, -11, 15, 24, 7, 0 }, { 16, -12, 14, 24, 7, 0 }, { 16, -13, 13, 24, 7, 0 }, + { 16, -14, 12, 24, 7, 0 }, { 16, -15, 11, 24, 7, 0 }, { 16, -16, 10, 24, 7, 0 }, { 16, -17, 9, 24, 7, 0 }, { 16, -18, 8, 24, 7, 0 }, + { 16, -19, 7, 24, 7, 0 }, { 16, -20, 6, 24, 7, 0 }, { 16, -21, 5, 24, 7, 0 }, { 16, -21, 4, 24, 7, 0 }, { 16, -22, 3, 24, 7, 0 }, + { 16, -23, 2, 24, 7, 0 }, { 16, -24, 1, 24, 8, 0 }, { 16, -24, 0, 24, 8, 0 }, { 16, -25, -1, 24, 8, 0 }, { 16, -26, -2, 24, 8, 0 }, + { 16, -27, -3, 24, 8, 0 }, { 16, -27, -4, 24, 8, 0 }, { 16, -28, -5, 24, 8, 0 }, { 16, -29, -6, 24, 8, 0 }, { 16, -29, -7, 24, 8, 0 }, + { 16, -30, -8, 24, 8, 0 }, { 16, -30, -9, 24, 8, 0 }, { 16, -31, -10, 24, 8, 0 }, { 16, -31, -11, 24, 8, 0 }, { 16, -32, -12, 24, 8, 0 }, + { 16, -33, -13, 24, 8, 0 }, { 16, -33, -14, 24, 8, 0 }, { 16, -34, -15, 24, 8, 0 }, { 16, -34, -16, 24, 8, 0 }, { 16, -35, -17, 24, 8, 0 }, + { 16, -35, -18, 24, 8, 0 }, { 16, -35, -19, 24, 8, 0 }, { 16, -36, -20, 24, 8, 0 }, { 16, -36, -21, 24, 8, 0 }, { 16, -37, -22, 24, 8, 0 }, + { 16, -37, -23, 24, 8, 0 }, { 16, -38, -24, 24, 17, 0 }, { 16, -38, -25, 24, 17, 0 }, { 16, -38, -26, 24, 17, 0 }, { 16, -39, -27, 24, 17, 0 }, + { 16, -39, -28, 24, 17, 0 }, { 16, -40, -29, 24, 17, 0 }, { 16, -40, -30, 24, 17, 0 }, { 16, -40, -31, 24, 17, 0 }, { 16, -41, -32, 24, 17, 0 }, + { 16, -41, -33, 24, 17, 0 }, { 16, -41, -34, 24, 17, 0 }, { 16, -42, -35, 24, 17, 0 }, { 16, -42, -36, 24, 17, 0 }, { 16, -42, -37, 24, 17, 0 }, + { 16, -42, -38, 24, 17, 0 }, { 16, -43, -39, 24, 17, 0 }, { 16, -43, -40, 24, 17, 0 }, { 16, -43, -41, 24, 17, 0 }, { 16, -43, -42, 24, 17, 0 }, + { 16, -44, -43, 24, 17, 0 }, { 16, -44, -44, 24, 17, 0 }, { 16, -44, -45, 24, 17, 0 }, { 16, -44, -46, 24, 17, 0 }, { 16, -45, -47, 24, 17, 0 }, + { 16, -45, -48, 24, 17, 0 }, { 16, -45, -49, 24, 17, 0 }, { 16, -45, -50, 24, 17, 0 }, { 16, -45, -51, 24, 17, 0 }, { 16, -46, -52, 24, 17, 0 }, + { 16, -46, -53, 24, 17, 0 }, { 16, -46, -54, 24, 17, 0 }, { 16, -46, -55, 24, 17, 0 }, { 16, -46, -56, 24, 17, 0 }, { 16, -46, -57, 24, 17, 0 }, + { 16, -47, -58, 24, 17, 0 }, { 16, -47, -59, 24, 18, 0 }, { 16, -47, -60, 24, 18, 0 }, { 16, -47, -61, 24, 18, 0 }, { 16, -47, -62, 24, 18, 0 }, + { 16, -47, -63, 24, 18, 0 }, { 16, -47, -64, 24, 18, 0 }, { 16, -47, -65, 24, 18, 0 }, { 16, -47, -66, 24, 18, 0 }, { 16, -48, -67, 24, 18, 0 }, + { 16, -48, -68, 24, 18, 0 }, { 16, -48, -69, 24, 18, 0 }, { 16, -48, -70, 24, 18, 0 }, { 16, -48, -71, 24, 18, 0 }, { 16, -48, -72, 24, 18, 0 }, + { 16, -48, -73, 24, 18, 0 }, { 16, -48, -74, 24, 18, 0 }, { 16, -48, -75, 24, 18, 0 }, { 16, -48, -76, 24, 18, 0 }, { 16, -48, -77, 24, 18, 0 }, + { 16, -48, -78, 24, 18, 0 }, { 16, -48, -79, 24, 18, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_97888A = { - 137, { - { 16, 16, -32, 0, 10, 0 }, { 16, 16, -31, 0, 10, 0 }, { 16, 16, -30, 0, 10, 0 }, { 16, 16, -29, 0, 10, 0 }, { 16, 16, -28, 0, 10, 0 }, - { 16, 16, -27, 0, 10, 0 }, { 16, 16, -26, 0, 10, 0 }, { 16, 16, -25, 0, 10, 0 }, { 16, 16, -24, 0, 10, 0 }, { 16, 16, -23, 0, 10, 0 }, - { 16, 16, -22, 0, 10, 0 }, { 16, 16, -21, 0, 10, 0 }, { 16, 16, -20, 0, 10, 0 }, { 17, 16, -19, 0, 10, 0 }, { 17, 16, -18, 0, 10, 0 }, - { 17, 16, -17, 0, 10, 0 }, { 17, 16, -16, 0, 10, 0 }, { 17, 16, -15, 0, 10, 0 }, { 17, 16, -14, 0, 10, 0 }, { 17, 16, -13, 0, 10, 0 }, - { 17, 16, -12, 0, 10, 0 }, { 17, 16, -11, 0, 10, 0 }, { 18, 16, -10, 0, 11, 0 }, { 18, 16, -9, 0, 11, 0 }, { 18, 16, -8, 0, 11, 0 }, - { 18, 16, -7, 0, 11, 0 }, { 18, 16, -6, 0, 11, 0 }, { 18, 16, -5, 0, 11, 0 }, { 19, 16, -4, 0, 11, 0 }, { 19, 16, -3, 0, 11, 0 }, - { 19, 16, -2, 0, 11, 0 }, { 19, 16, -1, 0, 11, 0 }, { 19, 16, 0, 0, 11, 0 }, { 20, 16, 1, 0, 11, 0 }, { 20, 16, 2, 0, 11, 0 }, - { 20, 16, 3, 0, 11, 0 }, { 20, 16, 4, 0, 11, 0 }, { 21, 16, 5, 0, 11, 0 }, { 21, 16, 6, 0, 11, 0 }, { 21, 16, 7, 0, 11, 0 }, - { 21, 16, 8, 0, 11, 0 }, { 22, 16, 9, 0, 11, 0 }, { 22, 16, 10, 0, 11, 0 }, { 22, 16, 11, 0, 11, 0 }, { 22, 16, 12, 0, 11, 0 }, - { 23, 16, 13, 0, 11, 0 }, { 23, 16, 14, 0, 11, 0 }, { 23, 16, 15, 0, 11, 0 }, { 24, 16, 16, 0, 11, 0 }, { 24, 16, 17, 0, 11, 0 }, - { 24, 16, 18, 0, 11, 0 }, { 25, 16, 19, 0, 11, 0 }, { 25, 16, 20, 0, 11, 0 }, { 26, 16, 21, 0, 11, 0 }, { 26, 16, 22, 0, 11, 0 }, - { 26, 16, 23, 0, 11, 0 }, { 27, 16, 24, 0, 12, 0 }, { 27, 16, 25, 0, 12, 0 }, { 28, 16, 26, 0, 12, 0 }, { 28, 16, 27, 0, 12, 0 }, - { 29, 16, 28, 0, 12, 0 }, { 29, 16, 29, 0, 12, 0 }, { 29, 16, 30, 0, 12, 0 }, { 30, 16, 31, 0, 12, 0 }, { 30, 16, 32, 0, 12, 0 }, - { 31, 16, 33, 0, 12, 0 }, { 31, 16, 34, 0, 12, 0 }, { 32, 16, 35, 0, 12, 0 }, { 33, 16, 36, 0, 12, 0 }, { 33, 16, 37, 0, 12, 0 }, - { 34, 16, 38, 0, 12, 0 }, { 34, 16, 39, 0, 12, 0 }, { 35, 16, 40, 0, 12, 0 }, { 35, 16, 41, 0, 12, 0 }, { 36, 16, 42, 0, 12, 0 }, - { 37, 16, 43, 0, 12, 0 }, { 37, 16, 44, 0, 12, 0 }, { 38, 16, 45, 0, 12, 0 }, { 39, 16, 46, 0, 12, 0 }, { 40, 16, 47, 0, 12, 0 }, - { 40, 16, 48, 0, 12, 0 }, { 41, 16, 49, 0, 13, 0 }, { 42, 16, 50, 0, 13, 0 }, { 43, 16, 51, 0, 13, 0 }, { 43, 16, 52, 0, 13, 0 }, - { 44, 16, 53, 0, 13, 0 }, { 45, 16, 54, 0, 13, 0 }, { 46, 16, 55, 0, 13, 0 }, { 47, 16, 56, 0, 13, 0 }, { 48, 16, 57, 0, 13, 0 }, - { 49, 16, 58, 0, 13, 0 }, { 50, 16, 59, 0, 13, 0 }, { 51, 16, 60, 0, 13, 0 }, { 52, 16, 61, 0, 13, 0 }, { 53, 16, 62, 0, 13, 0 }, - { 54, 16, 63, 0, 13, 0 }, { 55, 16, 64, 0, 13, 0 }, { 56, 16, 65, 0, 13, 0 }, { 57, 16, 65, 0, 13, 0 }, { 58, 16, 66, 0, 13, 0 }, - { 59, 16, 67, 0, 13, 0 }, { 60, 16, 68, 0, 14, 0 }, { 61, 16, 68, 0, 14, 0 }, { 62, 16, 69, 0, 14, 0 }, { 63, 16, 69, 0, 14, 0 }, - { 64, 16, 70, 0, 14, 0 }, { 65, 16, 71, 0, 14, 0 }, { 66, 16, 71, 0, 14, 0 }, { 67, 16, 72, 0, 14, 0 }, { 68, 16, 72, 0, 14, 0 }, - { 69, 16, 73, 0, 14, 0 }, { 70, 16, 73, 0, 14, 0 }, { 71, 16, 74, 0, 14, 0 }, { 72, 16, 74, 0, 14, 0 }, { 73, 16, 75, 0, 14, 0 }, - { 74, 16, 75, 0, 14, 0 }, { 75, 16, 75, 0, 14, 0 }, { 76, 16, 76, 0, 15, 0 }, { 77, 16, 76, 0, 15, 0 }, { 78, 16, 76, 0, 15, 0 }, - { 79, 16, 77, 0, 15, 0 }, { 80, 16, 77, 0, 15, 0 }, { 81, 16, 77, 0, 15, 0 }, { 82, 16, 77, 0, 15, 0 }, { 83, 16, 78, 0, 15, 0 }, - { 84, 16, 78, 0, 15, 0 }, { 85, 16, 78, 0, 15, 0 }, { 86, 16, 78, 0, 15, 0 }, { 87, 16, 78, 0, 16, 0 }, { 88, 16, 79, 0, 16, 0 }, - { 89, 16, 79, 0, 16, 0 }, { 90, 16, 79, 0, 16, 0 }, { 91, 16, 79, 0, 16, 0 }, { 92, 16, 79, 0, 16, 0 }, { 93, 16, 79, 0, 16, 0 }, - { 94, 16, 79, 0, 16, 0 }, { 95, 16, 79, 0, 16, 0 }, + 137, { + { 16, 16, -32, 0, 10, 0 }, { 16, 16, -31, 0, 10, 0 }, { 16, 16, -30, 0, 10, 0 }, { 16, 16, -29, 0, 10, 0 }, { 16, 16, -28, 0, 10, 0 }, + { 16, 16, -27, 0, 10, 0 }, { 16, 16, -26, 0, 10, 0 }, { 16, 16, -25, 0, 10, 0 }, { 16, 16, -24, 0, 10, 0 }, { 16, 16, -23, 0, 10, 0 }, + { 16, 16, -22, 0, 10, 0 }, { 16, 16, -21, 0, 10, 0 }, { 16, 16, -20, 0, 10, 0 }, { 17, 16, -19, 0, 10, 0 }, { 17, 16, -18, 0, 10, 0 }, + { 17, 16, -17, 0, 10, 0 }, { 17, 16, -16, 0, 10, 0 }, { 17, 16, -15, 0, 10, 0 }, { 17, 16, -14, 0, 10, 0 }, { 17, 16, -13, 0, 10, 0 }, + { 17, 16, -12, 0, 10, 0 }, { 17, 16, -11, 0, 10, 0 }, { 18, 16, -10, 0, 11, 0 }, { 18, 16, -9, 0, 11, 0 }, { 18, 16, -8, 0, 11, 0 }, + { 18, 16, -7, 0, 11, 0 }, { 18, 16, -6, 0, 11, 0 }, { 18, 16, -5, 0, 11, 0 }, { 19, 16, -4, 0, 11, 0 }, { 19, 16, -3, 0, 11, 0 }, + { 19, 16, -2, 0, 11, 0 }, { 19, 16, -1, 0, 11, 0 }, { 19, 16, 0, 0, 11, 0 }, { 20, 16, 1, 0, 11, 0 }, { 20, 16, 2, 0, 11, 0 }, + { 20, 16, 3, 0, 11, 0 }, { 20, 16, 4, 0, 11, 0 }, { 21, 16, 5, 0, 11, 0 }, { 21, 16, 6, 0, 11, 0 }, { 21, 16, 7, 0, 11, 0 }, + { 21, 16, 8, 0, 11, 0 }, { 22, 16, 9, 0, 11, 0 }, { 22, 16, 10, 0, 11, 0 }, { 22, 16, 11, 0, 11, 0 }, { 22, 16, 12, 0, 11, 0 }, + { 23, 16, 13, 0, 11, 0 }, { 23, 16, 14, 0, 11, 0 }, { 23, 16, 15, 0, 11, 0 }, { 24, 16, 16, 0, 11, 0 }, { 24, 16, 17, 0, 11, 0 }, + { 24, 16, 18, 0, 11, 0 }, { 25, 16, 19, 0, 11, 0 }, { 25, 16, 20, 0, 11, 0 }, { 26, 16, 21, 0, 11, 0 }, { 26, 16, 22, 0, 11, 0 }, + { 26, 16, 23, 0, 11, 0 }, { 27, 16, 24, 0, 12, 0 }, { 27, 16, 25, 0, 12, 0 }, { 28, 16, 26, 0, 12, 0 }, { 28, 16, 27, 0, 12, 0 }, + { 29, 16, 28, 0, 12, 0 }, { 29, 16, 29, 0, 12, 0 }, { 29, 16, 30, 0, 12, 0 }, { 30, 16, 31, 0, 12, 0 }, { 30, 16, 32, 0, 12, 0 }, + { 31, 16, 33, 0, 12, 0 }, { 31, 16, 34, 0, 12, 0 }, { 32, 16, 35, 0, 12, 0 }, { 33, 16, 36, 0, 12, 0 }, { 33, 16, 37, 0, 12, 0 }, + { 34, 16, 38, 0, 12, 0 }, { 34, 16, 39, 0, 12, 0 }, { 35, 16, 40, 0, 12, 0 }, { 35, 16, 41, 0, 12, 0 }, { 36, 16, 42, 0, 12, 0 }, + { 37, 16, 43, 0, 12, 0 }, { 37, 16, 44, 0, 12, 0 }, { 38, 16, 45, 0, 12, 0 }, { 39, 16, 46, 0, 12, 0 }, { 40, 16, 47, 0, 12, 0 }, + { 40, 16, 48, 0, 12, 0 }, { 41, 16, 49, 0, 13, 0 }, { 42, 16, 50, 0, 13, 0 }, { 43, 16, 51, 0, 13, 0 }, { 43, 16, 52, 0, 13, 0 }, + { 44, 16, 53, 0, 13, 0 }, { 45, 16, 54, 0, 13, 0 }, { 46, 16, 55, 0, 13, 0 }, { 47, 16, 56, 0, 13, 0 }, { 48, 16, 57, 0, 13, 0 }, + { 49, 16, 58, 0, 13, 0 }, { 50, 16, 59, 0, 13, 0 }, { 51, 16, 60, 0, 13, 0 }, { 52, 16, 61, 0, 13, 0 }, { 53, 16, 62, 0, 13, 0 }, + { 54, 16, 63, 0, 13, 0 }, { 55, 16, 64, 0, 13, 0 }, { 56, 16, 65, 0, 13, 0 }, { 57, 16, 65, 0, 13, 0 }, { 58, 16, 66, 0, 13, 0 }, + { 59, 16, 67, 0, 13, 0 }, { 60, 16, 68, 0, 14, 0 }, { 61, 16, 68, 0, 14, 0 }, { 62, 16, 69, 0, 14, 0 }, { 63, 16, 69, 0, 14, 0 }, + { 64, 16, 70, 0, 14, 0 }, { 65, 16, 71, 0, 14, 0 }, { 66, 16, 71, 0, 14, 0 }, { 67, 16, 72, 0, 14, 0 }, { 68, 16, 72, 0, 14, 0 }, + { 69, 16, 73, 0, 14, 0 }, { 70, 16, 73, 0, 14, 0 }, { 71, 16, 74, 0, 14, 0 }, { 72, 16, 74, 0, 14, 0 }, { 73, 16, 75, 0, 14, 0 }, + { 74, 16, 75, 0, 14, 0 }, { 75, 16, 75, 0, 14, 0 }, { 76, 16, 76, 0, 15, 0 }, { 77, 16, 76, 0, 15, 0 }, { 78, 16, 76, 0, 15, 0 }, + { 79, 16, 77, 0, 15, 0 }, { 80, 16, 77, 0, 15, 0 }, { 81, 16, 77, 0, 15, 0 }, { 82, 16, 77, 0, 15, 0 }, { 83, 16, 78, 0, 15, 0 }, + { 84, 16, 78, 0, 15, 0 }, { 85, 16, 78, 0, 15, 0 }, { 86, 16, 78, 0, 15, 0 }, { 87, 16, 78, 0, 16, 0 }, { 88, 16, 79, 0, 16, 0 }, + { 89, 16, 79, 0, 16, 0 }, { 90, 16, 79, 0, 16, 0 }, { 91, 16, 79, 0, 16, 0 }, { 92, 16, 79, 0, 16, 0 }, { 93, 16, 79, 0, 16, 0 }, + { 94, 16, 79, 0, 16, 0 }, { 95, 16, 79, 0, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_978D5D = { - 137, { - { 16, 16, -32, 8, 10, 0 }, { 16, 16, -31, 8, 10, 0 }, { 16, 16, -30, 8, 10, 0 }, { 16, 16, -29, 8, 10, 0 }, { 16, 16, -28, 8, 10, 0 }, - { 16, 16, -27, 8, 10, 0 }, { 16, 16, -26, 8, 10, 0 }, { 16, 16, -25, 8, 10, 0 }, { 16, 16, -24, 8, 10, 0 }, { 16, 16, -23, 8, 10, 0 }, - { 16, 16, -22, 8, 10, 0 }, { 16, 16, -21, 8, 10, 0 }, { 16, 16, -20, 8, 10, 0 }, { 16, 15, -19, 8, 10, 0 }, { 16, 15, -18, 8, 10, 0 }, - { 16, 15, -17, 8, 10, 0 }, { 16, 15, -16, 8, 10, 0 }, { 16, 15, -15, 8, 10, 0 }, { 16, 15, -14, 8, 10, 0 }, { 16, 15, -13, 8, 10, 0 }, - { 16, 15, -12, 8, 10, 0 }, { 16, 15, -11, 8, 10, 0 }, { 16, 14, -10, 8, 11, 0 }, { 16, 14, -9, 8, 11, 0 }, { 16, 14, -8, 8, 11, 0 }, - { 16, 14, -7, 8, 11, 0 }, { 16, 14, -6, 8, 11, 0 }, { 16, 14, -5, 8, 11, 0 }, { 16, 13, -4, 8, 11, 0 }, { 16, 13, -3, 8, 11, 0 }, - { 16, 13, -2, 8, 11, 0 }, { 16, 13, -1, 8, 11, 0 }, { 16, 13, 0, 8, 11, 0 }, { 16, 12, 1, 8, 11, 0 }, { 16, 12, 2, 8, 11, 0 }, - { 16, 12, 3, 8, 11, 0 }, { 16, 12, 4, 8, 11, 0 }, { 16, 11, 5, 8, 11, 0 }, { 16, 11, 6, 8, 11, 0 }, { 16, 11, 7, 8, 11, 0 }, - { 16, 11, 8, 8, 11, 0 }, { 16, 10, 9, 8, 11, 0 }, { 16, 10, 10, 8, 11, 0 }, { 16, 10, 11, 8, 11, 0 }, { 16, 10, 12, 8, 11, 0 }, - { 16, 9, 13, 8, 11, 0 }, { 16, 9, 14, 8, 11, 0 }, { 16, 9, 15, 8, 11, 0 }, { 16, 8, 16, 8, 11, 0 }, { 16, 8, 17, 8, 11, 0 }, - { 16, 8, 18, 8, 11, 0 }, { 16, 7, 19, 8, 11, 0 }, { 16, 7, 20, 8, 11, 0 }, { 16, 6, 21, 8, 11, 0 }, { 16, 6, 22, 8, 11, 0 }, - { 16, 6, 23, 8, 11, 0 }, { 16, 5, 24, 8, 12, 0 }, { 16, 5, 25, 8, 12, 0 }, { 16, 4, 26, 8, 12, 0 }, { 16, 4, 27, 8, 12, 0 }, - { 16, 3, 28, 8, 12, 0 }, { 16, 3, 29, 8, 12, 0 }, { 16, 3, 30, 8, 12, 0 }, { 16, 2, 31, 8, 12, 0 }, { 16, 2, 32, 8, 12, 0 }, - { 16, 1, 33, 8, 12, 0 }, { 16, 1, 34, 8, 12, 0 }, { 16, 0, 35, 8, 12, 0 }, { 16, -1, 36, 8, 12, 0 }, { 16, -1, 37, 8, 12, 0 }, - { 16, -2, 38, 8, 12, 0 }, { 16, -2, 39, 8, 12, 0 }, { 16, -3, 40, 8, 12, 0 }, { 16, -3, 41, 8, 12, 0 }, { 16, -4, 42, 8, 12, 0 }, - { 16, -5, 43, 8, 12, 0 }, { 16, -5, 44, 8, 12, 0 }, { 16, -6, 45, 8, 12, 0 }, { 16, -7, 46, 8, 12, 0 }, { 16, -8, 47, 8, 12, 0 }, - { 16, -8, 48, 8, 12, 0 }, { 16, -9, 49, 8, 13, 0 }, { 16, -10, 50, 8, 13, 0 }, { 16, -11, 51, 8, 13, 0 }, { 16, -11, 52, 8, 13, 0 }, - { 16, -12, 53, 8, 13, 0 }, { 16, -13, 54, 8, 13, 0 }, { 16, -14, 55, 8, 13, 0 }, { 16, -15, 56, 8, 13, 0 }, { 16, -16, 57, 8, 13, 0 }, - { 16, -17, 58, 8, 13, 0 }, { 16, -18, 59, 8, 13, 0 }, { 16, -19, 60, 8, 13, 0 }, { 16, -20, 61, 8, 13, 0 }, { 16, -21, 62, 8, 13, 0 }, - { 16, -22, 63, 8, 13, 0 }, { 16, -23, 64, 8, 13, 0 }, { 16, -24, 65, 8, 13, 0 }, { 16, -25, 65, 8, 13, 0 }, { 16, -26, 66, 8, 13, 0 }, - { 16, -27, 67, 8, 13, 0 }, { 16, -28, 68, 8, 14, 0 }, { 16, -29, 68, 8, 14, 0 }, { 16, -30, 69, 8, 14, 0 }, { 16, -31, 69, 8, 14, 0 }, - { 16, -32, 70, 8, 14, 0 }, { 16, -33, 71, 8, 14, 0 }, { 16, -34, 71, 8, 14, 0 }, { 16, -35, 72, 8, 14, 0 }, { 16, -36, 72, 8, 14, 0 }, - { 16, -37, 73, 8, 14, 0 }, { 16, -38, 73, 8, 14, 0 }, { 16, -39, 74, 8, 14, 0 }, { 16, -40, 74, 8, 14, 0 }, { 16, -41, 75, 8, 14, 0 }, - { 16, -42, 75, 8, 14, 0 }, { 16, -43, 75, 8, 14, 0 }, { 16, -44, 76, 8, 15, 0 }, { 16, -45, 76, 8, 15, 0 }, { 16, -46, 76, 8, 15, 0 }, - { 16, -47, 77, 8, 15, 0 }, { 16, -48, 77, 8, 15, 0 }, { 16, -49, 77, 8, 15, 0 }, { 16, -50, 77, 8, 15, 0 }, { 16, -51, 78, 8, 15, 0 }, - { 16, -52, 78, 8, 15, 0 }, { 16, -53, 78, 8, 15, 0 }, { 16, -54, 78, 8, 15, 0 }, { 16, -55, 78, 8, 16, 0 }, { 16, -56, 79, 8, 16, 0 }, - { 16, -57, 79, 8, 16, 0 }, { 16, -58, 79, 8, 16, 0 }, { 16, -59, 79, 8, 16, 0 }, { 16, -60, 79, 8, 16, 0 }, { 16, -61, 79, 8, 16, 0 }, - { 16, -62, 79, 8, 16, 0 }, { 16, -63, 79, 8, 16, 0 }, + 137, { + { 16, 16, -32, 8, 10, 0 }, { 16, 16, -31, 8, 10, 0 }, { 16, 16, -30, 8, 10, 0 }, { 16, 16, -29, 8, 10, 0 }, { 16, 16, -28, 8, 10, 0 }, + { 16, 16, -27, 8, 10, 0 }, { 16, 16, -26, 8, 10, 0 }, { 16, 16, -25, 8, 10, 0 }, { 16, 16, -24, 8, 10, 0 }, { 16, 16, -23, 8, 10, 0 }, + { 16, 16, -22, 8, 10, 0 }, { 16, 16, -21, 8, 10, 0 }, { 16, 16, -20, 8, 10, 0 }, { 16, 15, -19, 8, 10, 0 }, { 16, 15, -18, 8, 10, 0 }, + { 16, 15, -17, 8, 10, 0 }, { 16, 15, -16, 8, 10, 0 }, { 16, 15, -15, 8, 10, 0 }, { 16, 15, -14, 8, 10, 0 }, { 16, 15, -13, 8, 10, 0 }, + { 16, 15, -12, 8, 10, 0 }, { 16, 15, -11, 8, 10, 0 }, { 16, 14, -10, 8, 11, 0 }, { 16, 14, -9, 8, 11, 0 }, { 16, 14, -8, 8, 11, 0 }, + { 16, 14, -7, 8, 11, 0 }, { 16, 14, -6, 8, 11, 0 }, { 16, 14, -5, 8, 11, 0 }, { 16, 13, -4, 8, 11, 0 }, { 16, 13, -3, 8, 11, 0 }, + { 16, 13, -2, 8, 11, 0 }, { 16, 13, -1, 8, 11, 0 }, { 16, 13, 0, 8, 11, 0 }, { 16, 12, 1, 8, 11, 0 }, { 16, 12, 2, 8, 11, 0 }, + { 16, 12, 3, 8, 11, 0 }, { 16, 12, 4, 8, 11, 0 }, { 16, 11, 5, 8, 11, 0 }, { 16, 11, 6, 8, 11, 0 }, { 16, 11, 7, 8, 11, 0 }, + { 16, 11, 8, 8, 11, 0 }, { 16, 10, 9, 8, 11, 0 }, { 16, 10, 10, 8, 11, 0 }, { 16, 10, 11, 8, 11, 0 }, { 16, 10, 12, 8, 11, 0 }, + { 16, 9, 13, 8, 11, 0 }, { 16, 9, 14, 8, 11, 0 }, { 16, 9, 15, 8, 11, 0 }, { 16, 8, 16, 8, 11, 0 }, { 16, 8, 17, 8, 11, 0 }, + { 16, 8, 18, 8, 11, 0 }, { 16, 7, 19, 8, 11, 0 }, { 16, 7, 20, 8, 11, 0 }, { 16, 6, 21, 8, 11, 0 }, { 16, 6, 22, 8, 11, 0 }, + { 16, 6, 23, 8, 11, 0 }, { 16, 5, 24, 8, 12, 0 }, { 16, 5, 25, 8, 12, 0 }, { 16, 4, 26, 8, 12, 0 }, { 16, 4, 27, 8, 12, 0 }, + { 16, 3, 28, 8, 12, 0 }, { 16, 3, 29, 8, 12, 0 }, { 16, 3, 30, 8, 12, 0 }, { 16, 2, 31, 8, 12, 0 }, { 16, 2, 32, 8, 12, 0 }, + { 16, 1, 33, 8, 12, 0 }, { 16, 1, 34, 8, 12, 0 }, { 16, 0, 35, 8, 12, 0 }, { 16, -1, 36, 8, 12, 0 }, { 16, -1, 37, 8, 12, 0 }, + { 16, -2, 38, 8, 12, 0 }, { 16, -2, 39, 8, 12, 0 }, { 16, -3, 40, 8, 12, 0 }, { 16, -3, 41, 8, 12, 0 }, { 16, -4, 42, 8, 12, 0 }, + { 16, -5, 43, 8, 12, 0 }, { 16, -5, 44, 8, 12, 0 }, { 16, -6, 45, 8, 12, 0 }, { 16, -7, 46, 8, 12, 0 }, { 16, -8, 47, 8, 12, 0 }, + { 16, -8, 48, 8, 12, 0 }, { 16, -9, 49, 8, 13, 0 }, { 16, -10, 50, 8, 13, 0 }, { 16, -11, 51, 8, 13, 0 }, { 16, -11, 52, 8, 13, 0 }, + { 16, -12, 53, 8, 13, 0 }, { 16, -13, 54, 8, 13, 0 }, { 16, -14, 55, 8, 13, 0 }, { 16, -15, 56, 8, 13, 0 }, { 16, -16, 57, 8, 13, 0 }, + { 16, -17, 58, 8, 13, 0 }, { 16, -18, 59, 8, 13, 0 }, { 16, -19, 60, 8, 13, 0 }, { 16, -20, 61, 8, 13, 0 }, { 16, -21, 62, 8, 13, 0 }, + { 16, -22, 63, 8, 13, 0 }, { 16, -23, 64, 8, 13, 0 }, { 16, -24, 65, 8, 13, 0 }, { 16, -25, 65, 8, 13, 0 }, { 16, -26, 66, 8, 13, 0 }, + { 16, -27, 67, 8, 13, 0 }, { 16, -28, 68, 8, 14, 0 }, { 16, -29, 68, 8, 14, 0 }, { 16, -30, 69, 8, 14, 0 }, { 16, -31, 69, 8, 14, 0 }, + { 16, -32, 70, 8, 14, 0 }, { 16, -33, 71, 8, 14, 0 }, { 16, -34, 71, 8, 14, 0 }, { 16, -35, 72, 8, 14, 0 }, { 16, -36, 72, 8, 14, 0 }, + { 16, -37, 73, 8, 14, 0 }, { 16, -38, 73, 8, 14, 0 }, { 16, -39, 74, 8, 14, 0 }, { 16, -40, 74, 8, 14, 0 }, { 16, -41, 75, 8, 14, 0 }, + { 16, -42, 75, 8, 14, 0 }, { 16, -43, 75, 8, 14, 0 }, { 16, -44, 76, 8, 15, 0 }, { 16, -45, 76, 8, 15, 0 }, { 16, -46, 76, 8, 15, 0 }, + { 16, -47, 77, 8, 15, 0 }, { 16, -48, 77, 8, 15, 0 }, { 16, -49, 77, 8, 15, 0 }, { 16, -50, 77, 8, 15, 0 }, { 16, -51, 78, 8, 15, 0 }, + { 16, -52, 78, 8, 15, 0 }, { 16, -53, 78, 8, 15, 0 }, { 16, -54, 78, 8, 15, 0 }, { 16, -55, 78, 8, 16, 0 }, { 16, -56, 79, 8, 16, 0 }, + { 16, -57, 79, 8, 16, 0 }, { 16, -58, 79, 8, 16, 0 }, { 16, -59, 79, 8, 16, 0 }, { 16, -60, 79, 8, 16, 0 }, { 16, -61, 79, 8, 16, 0 }, + { 16, -62, 79, 8, 16, 0 }, { 16, -63, 79, 8, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_979230 = { - 137, { - { 16, 16, -32, 16, 10, 0 }, { 16, 16, -31, 16, 10, 0 }, { 16, 16, -30, 16, 10, 0 }, { 16, 16, -29, 16, 10, 0 }, { 16, 16, -28, 16, 10, 0 }, - { 16, 16, -27, 16, 10, 0 }, { 16, 16, -26, 16, 10, 0 }, { 16, 16, -25, 16, 10, 0 }, { 16, 16, -24, 16, 10, 0 }, { 16, 16, -23, 16, 10, 0 }, - { 16, 16, -22, 16, 10, 0 }, { 16, 16, -21, 16, 10, 0 }, { 16, 16, -20, 16, 10, 0 }, { 15, 16, -19, 16, 10, 0 }, { 15, 16, -18, 16, 10, 0 }, - { 15, 16, -17, 16, 10, 0 }, { 15, 16, -16, 16, 10, 0 }, { 15, 16, -15, 16, 10, 0 }, { 15, 16, -14, 16, 10, 0 }, { 15, 16, -13, 16, 10, 0 }, - { 15, 16, -12, 16, 10, 0 }, { 15, 16, -11, 16, 10, 0 }, { 14, 16, -10, 16, 11, 0 }, { 14, 16, -9, 16, 11, 0 }, { 14, 16, -8, 16, 11, 0 }, - { 14, 16, -7, 16, 11, 0 }, { 14, 16, -6, 16, 11, 0 }, { 14, 16, -5, 16, 11, 0 }, { 13, 16, -4, 16, 11, 0 }, { 13, 16, -3, 16, 11, 0 }, - { 13, 16, -2, 16, 11, 0 }, { 13, 16, -1, 16, 11, 0 }, { 13, 16, 0, 16, 11, 0 }, { 12, 16, 1, 16, 11, 0 }, { 12, 16, 2, 16, 11, 0 }, - { 12, 16, 3, 16, 11, 0 }, { 12, 16, 4, 16, 11, 0 }, { 11, 16, 5, 16, 11, 0 }, { 11, 16, 6, 16, 11, 0 }, { 11, 16, 7, 16, 11, 0 }, - { 11, 16, 8, 16, 11, 0 }, { 10, 16, 9, 16, 11, 0 }, { 10, 16, 10, 16, 11, 0 }, { 10, 16, 11, 16, 11, 0 }, { 10, 16, 12, 16, 11, 0 }, - { 9, 16, 13, 16, 11, 0 }, { 9, 16, 14, 16, 11, 0 }, { 9, 16, 15, 16, 11, 0 }, { 8, 16, 16, 16, 11, 0 }, { 8, 16, 17, 16, 11, 0 }, - { 8, 16, 18, 16, 11, 0 }, { 7, 16, 19, 16, 11, 0 }, { 7, 16, 20, 16, 11, 0 }, { 6, 16, 21, 16, 11, 0 }, { 6, 16, 22, 16, 11, 0 }, - { 6, 16, 23, 16, 11, 0 }, { 5, 16, 24, 16, 12, 0 }, { 5, 16, 25, 16, 12, 0 }, { 4, 16, 26, 16, 12, 0 }, { 4, 16, 27, 16, 12, 0 }, - { 3, 16, 28, 16, 12, 0 }, { 3, 16, 29, 16, 12, 0 }, { 3, 16, 30, 16, 12, 0 }, { 2, 16, 31, 16, 12, 0 }, { 2, 16, 32, 16, 12, 0 }, - { 1, 16, 33, 16, 12, 0 }, { 1, 16, 34, 16, 12, 0 }, { 0, 16, 35, 16, 12, 0 }, { -1, 16, 36, 16, 12, 0 }, { -1, 16, 37, 16, 12, 0 }, - { -2, 16, 38, 16, 12, 0 }, { -2, 16, 39, 16, 12, 0 }, { -3, 16, 40, 16, 12, 0 }, { -3, 16, 41, 16, 12, 0 }, { -4, 16, 42, 16, 12, 0 }, - { -5, 16, 43, 16, 12, 0 }, { -5, 16, 44, 16, 12, 0 }, { -6, 16, 45, 16, 12, 0 }, { -7, 16, 46, 16, 12, 0 }, { -8, 16, 47, 16, 12, 0 }, - { -8, 16, 48, 16, 12, 0 }, { -9, 16, 49, 16, 13, 0 }, { -10, 16, 50, 16, 13, 0 }, { -11, 16, 51, 16, 13, 0 }, { -11, 16, 52, 16, 13, 0 }, - { -12, 16, 53, 16, 13, 0 }, { -13, 16, 54, 16, 13, 0 }, { -14, 16, 55, 16, 13, 0 }, { -15, 16, 56, 16, 13, 0 }, { -16, 16, 57, 16, 13, 0 }, - { -17, 16, 58, 16, 13, 0 }, { -18, 16, 59, 16, 13, 0 }, { -19, 16, 60, 16, 13, 0 }, { -20, 16, 61, 16, 13, 0 }, { -21, 16, 62, 16, 13, 0 }, - { -22, 16, 63, 16, 13, 0 }, { -23, 16, 64, 16, 13, 0 }, { -24, 16, 65, 16, 13, 0 }, { -25, 16, 65, 16, 13, 0 }, { -26, 16, 66, 16, 13, 0 }, - { -27, 16, 67, 16, 13, 0 }, { -28, 16, 68, 16, 14, 0 }, { -29, 16, 68, 16, 14, 0 }, { -30, 16, 69, 16, 14, 0 }, { -31, 16, 69, 16, 14, 0 }, - { -32, 16, 70, 16, 14, 0 }, { -33, 16, 71, 16, 14, 0 }, { -34, 16, 71, 16, 14, 0 }, { -35, 16, 72, 16, 14, 0 }, { -36, 16, 72, 16, 14, 0 }, - { -37, 16, 73, 16, 14, 0 }, { -38, 16, 73, 16, 14, 0 }, { -39, 16, 74, 16, 14, 0 }, { -40, 16, 74, 16, 14, 0 }, { -41, 16, 75, 16, 14, 0 }, - { -42, 16, 75, 16, 14, 0 }, { -43, 16, 75, 16, 14, 0 }, { -44, 16, 76, 16, 15, 0 }, { -45, 16, 76, 16, 15, 0 }, { -46, 16, 76, 16, 15, 0 }, - { -47, 16, 77, 16, 15, 0 }, { -48, 16, 77, 16, 15, 0 }, { -49, 16, 77, 16, 15, 0 }, { -50, 16, 77, 16, 15, 0 }, { -51, 16, 78, 16, 15, 0 }, - { -52, 16, 78, 16, 15, 0 }, { -53, 16, 78, 16, 15, 0 }, { -54, 16, 78, 16, 15, 0 }, { -55, 16, 78, 16, 16, 0 }, { -56, 16, 79, 16, 16, 0 }, - { -57, 16, 79, 16, 16, 0 }, { -58, 16, 79, 16, 16, 0 }, { -59, 16, 79, 16, 16, 0 }, { -60, 16, 79, 16, 16, 0 }, { -61, 16, 79, 16, 16, 0 }, - { -62, 16, 79, 16, 16, 0 }, { -63, 16, 79, 16, 16, 0 }, + 137, { + { 16, 16, -32, 16, 10, 0 }, { 16, 16, -31, 16, 10, 0 }, { 16, 16, -30, 16, 10, 0 }, { 16, 16, -29, 16, 10, 0 }, { 16, 16, -28, 16, 10, 0 }, + { 16, 16, -27, 16, 10, 0 }, { 16, 16, -26, 16, 10, 0 }, { 16, 16, -25, 16, 10, 0 }, { 16, 16, -24, 16, 10, 0 }, { 16, 16, -23, 16, 10, 0 }, + { 16, 16, -22, 16, 10, 0 }, { 16, 16, -21, 16, 10, 0 }, { 16, 16, -20, 16, 10, 0 }, { 15, 16, -19, 16, 10, 0 }, { 15, 16, -18, 16, 10, 0 }, + { 15, 16, -17, 16, 10, 0 }, { 15, 16, -16, 16, 10, 0 }, { 15, 16, -15, 16, 10, 0 }, { 15, 16, -14, 16, 10, 0 }, { 15, 16, -13, 16, 10, 0 }, + { 15, 16, -12, 16, 10, 0 }, { 15, 16, -11, 16, 10, 0 }, { 14, 16, -10, 16, 11, 0 }, { 14, 16, -9, 16, 11, 0 }, { 14, 16, -8, 16, 11, 0 }, + { 14, 16, -7, 16, 11, 0 }, { 14, 16, -6, 16, 11, 0 }, { 14, 16, -5, 16, 11, 0 }, { 13, 16, -4, 16, 11, 0 }, { 13, 16, -3, 16, 11, 0 }, + { 13, 16, -2, 16, 11, 0 }, { 13, 16, -1, 16, 11, 0 }, { 13, 16, 0, 16, 11, 0 }, { 12, 16, 1, 16, 11, 0 }, { 12, 16, 2, 16, 11, 0 }, + { 12, 16, 3, 16, 11, 0 }, { 12, 16, 4, 16, 11, 0 }, { 11, 16, 5, 16, 11, 0 }, { 11, 16, 6, 16, 11, 0 }, { 11, 16, 7, 16, 11, 0 }, + { 11, 16, 8, 16, 11, 0 }, { 10, 16, 9, 16, 11, 0 }, { 10, 16, 10, 16, 11, 0 }, { 10, 16, 11, 16, 11, 0 }, { 10, 16, 12, 16, 11, 0 }, + { 9, 16, 13, 16, 11, 0 }, { 9, 16, 14, 16, 11, 0 }, { 9, 16, 15, 16, 11, 0 }, { 8, 16, 16, 16, 11, 0 }, { 8, 16, 17, 16, 11, 0 }, + { 8, 16, 18, 16, 11, 0 }, { 7, 16, 19, 16, 11, 0 }, { 7, 16, 20, 16, 11, 0 }, { 6, 16, 21, 16, 11, 0 }, { 6, 16, 22, 16, 11, 0 }, + { 6, 16, 23, 16, 11, 0 }, { 5, 16, 24, 16, 12, 0 }, { 5, 16, 25, 16, 12, 0 }, { 4, 16, 26, 16, 12, 0 }, { 4, 16, 27, 16, 12, 0 }, + { 3, 16, 28, 16, 12, 0 }, { 3, 16, 29, 16, 12, 0 }, { 3, 16, 30, 16, 12, 0 }, { 2, 16, 31, 16, 12, 0 }, { 2, 16, 32, 16, 12, 0 }, + { 1, 16, 33, 16, 12, 0 }, { 1, 16, 34, 16, 12, 0 }, { 0, 16, 35, 16, 12, 0 }, { -1, 16, 36, 16, 12, 0 }, { -1, 16, 37, 16, 12, 0 }, + { -2, 16, 38, 16, 12, 0 }, { -2, 16, 39, 16, 12, 0 }, { -3, 16, 40, 16, 12, 0 }, { -3, 16, 41, 16, 12, 0 }, { -4, 16, 42, 16, 12, 0 }, + { -5, 16, 43, 16, 12, 0 }, { -5, 16, 44, 16, 12, 0 }, { -6, 16, 45, 16, 12, 0 }, { -7, 16, 46, 16, 12, 0 }, { -8, 16, 47, 16, 12, 0 }, + { -8, 16, 48, 16, 12, 0 }, { -9, 16, 49, 16, 13, 0 }, { -10, 16, 50, 16, 13, 0 }, { -11, 16, 51, 16, 13, 0 }, { -11, 16, 52, 16, 13, 0 }, + { -12, 16, 53, 16, 13, 0 }, { -13, 16, 54, 16, 13, 0 }, { -14, 16, 55, 16, 13, 0 }, { -15, 16, 56, 16, 13, 0 }, { -16, 16, 57, 16, 13, 0 }, + { -17, 16, 58, 16, 13, 0 }, { -18, 16, 59, 16, 13, 0 }, { -19, 16, 60, 16, 13, 0 }, { -20, 16, 61, 16, 13, 0 }, { -21, 16, 62, 16, 13, 0 }, + { -22, 16, 63, 16, 13, 0 }, { -23, 16, 64, 16, 13, 0 }, { -24, 16, 65, 16, 13, 0 }, { -25, 16, 65, 16, 13, 0 }, { -26, 16, 66, 16, 13, 0 }, + { -27, 16, 67, 16, 13, 0 }, { -28, 16, 68, 16, 14, 0 }, { -29, 16, 68, 16, 14, 0 }, { -30, 16, 69, 16, 14, 0 }, { -31, 16, 69, 16, 14, 0 }, + { -32, 16, 70, 16, 14, 0 }, { -33, 16, 71, 16, 14, 0 }, { -34, 16, 71, 16, 14, 0 }, { -35, 16, 72, 16, 14, 0 }, { -36, 16, 72, 16, 14, 0 }, + { -37, 16, 73, 16, 14, 0 }, { -38, 16, 73, 16, 14, 0 }, { -39, 16, 74, 16, 14, 0 }, { -40, 16, 74, 16, 14, 0 }, { -41, 16, 75, 16, 14, 0 }, + { -42, 16, 75, 16, 14, 0 }, { -43, 16, 75, 16, 14, 0 }, { -44, 16, 76, 16, 15, 0 }, { -45, 16, 76, 16, 15, 0 }, { -46, 16, 76, 16, 15, 0 }, + { -47, 16, 77, 16, 15, 0 }, { -48, 16, 77, 16, 15, 0 }, { -49, 16, 77, 16, 15, 0 }, { -50, 16, 77, 16, 15, 0 }, { -51, 16, 78, 16, 15, 0 }, + { -52, 16, 78, 16, 15, 0 }, { -53, 16, 78, 16, 15, 0 }, { -54, 16, 78, 16, 15, 0 }, { -55, 16, 78, 16, 16, 0 }, { -56, 16, 79, 16, 16, 0 }, + { -57, 16, 79, 16, 16, 0 }, { -58, 16, 79, 16, 16, 0 }, { -59, 16, 79, 16, 16, 0 }, { -60, 16, 79, 16, 16, 0 }, { -61, 16, 79, 16, 16, 0 }, + { -62, 16, 79, 16, 16, 0 }, { -63, 16, 79, 16, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_979703 = { - 137, { - { 16, 16, -32, 24, 10, 0 }, { 16, 16, -31, 24, 10, 0 }, { 16, 16, -30, 24, 10, 0 }, { 16, 16, -29, 24, 10, 0 }, { 16, 16, -28, 24, 10, 0 }, - { 16, 16, -27, 24, 10, 0 }, { 16, 16, -26, 24, 10, 0 }, { 16, 16, -25, 24, 10, 0 }, { 16, 16, -24, 24, 10, 0 }, { 16, 16, -23, 24, 10, 0 }, - { 16, 16, -22, 24, 10, 0 }, { 16, 16, -21, 24, 10, 0 }, { 16, 16, -20, 24, 10, 0 }, { 16, 17, -19, 24, 10, 0 }, { 16, 17, -18, 24, 10, 0 }, - { 16, 17, -17, 24, 10, 0 }, { 16, 17, -16, 24, 10, 0 }, { 16, 17, -15, 24, 10, 0 }, { 16, 17, -14, 24, 10, 0 }, { 16, 17, -13, 24, 10, 0 }, - { 16, 17, -12, 24, 10, 0 }, { 16, 17, -11, 24, 10, 0 }, { 16, 18, -10, 24, 11, 0 }, { 16, 18, -9, 24, 11, 0 }, { 16, 18, -8, 24, 11, 0 }, - { 16, 18, -7, 24, 11, 0 }, { 16, 18, -6, 24, 11, 0 }, { 16, 18, -5, 24, 11, 0 }, { 16, 19, -4, 24, 11, 0 }, { 16, 19, -3, 24, 11, 0 }, - { 16, 19, -2, 24, 11, 0 }, { 16, 19, -1, 24, 11, 0 }, { 16, 19, 0, 24, 11, 0 }, { 16, 20, 1, 24, 11, 0 }, { 16, 20, 2, 24, 11, 0 }, - { 16, 20, 3, 24, 11, 0 }, { 16, 20, 4, 24, 11, 0 }, { 16, 21, 5, 24, 11, 0 }, { 16, 21, 6, 24, 11, 0 }, { 16, 21, 7, 24, 11, 0 }, - { 16, 21, 8, 24, 11, 0 }, { 16, 22, 9, 24, 11, 0 }, { 16, 22, 10, 24, 11, 0 }, { 16, 22, 11, 24, 11, 0 }, { 16, 22, 12, 24, 11, 0 }, - { 16, 23, 13, 24, 11, 0 }, { 16, 23, 14, 24, 11, 0 }, { 16, 23, 15, 24, 11, 0 }, { 16, 24, 16, 24, 11, 0 }, { 16, 24, 17, 24, 11, 0 }, - { 16, 24, 18, 24, 11, 0 }, { 16, 25, 19, 24, 11, 0 }, { 16, 25, 20, 24, 11, 0 }, { 16, 26, 21, 24, 11, 0 }, { 16, 26, 22, 24, 11, 0 }, - { 16, 26, 23, 24, 11, 0 }, { 16, 27, 24, 24, 12, 0 }, { 16, 27, 25, 24, 12, 0 }, { 16, 28, 26, 24, 12, 0 }, { 16, 28, 27, 24, 12, 0 }, - { 16, 29, 28, 24, 12, 0 }, { 16, 29, 29, 24, 12, 0 }, { 16, 29, 30, 24, 12, 0 }, { 16, 30, 31, 24, 12, 0 }, { 16, 30, 32, 24, 12, 0 }, - { 16, 31, 33, 24, 12, 0 }, { 16, 31, 34, 24, 12, 0 }, { 16, 32, 35, 24, 12, 0 }, { 16, 33, 36, 24, 12, 0 }, { 16, 33, 37, 24, 12, 0 }, - { 16, 34, 38, 24, 12, 0 }, { 16, 34, 39, 24, 12, 0 }, { 16, 35, 40, 24, 12, 0 }, { 16, 35, 41, 24, 12, 0 }, { 16, 36, 42, 24, 12, 0 }, - { 16, 37, 43, 24, 12, 0 }, { 16, 37, 44, 24, 12, 0 }, { 16, 38, 45, 24, 12, 0 }, { 16, 39, 46, 24, 12, 0 }, { 16, 40, 47, 24, 12, 0 }, - { 16, 40, 48, 24, 12, 0 }, { 16, 41, 49, 24, 13, 0 }, { 16, 42, 50, 24, 13, 0 }, { 16, 43, 51, 24, 13, 0 }, { 16, 43, 52, 24, 13, 0 }, - { 16, 44, 53, 24, 13, 0 }, { 16, 45, 54, 24, 13, 0 }, { 16, 46, 55, 24, 13, 0 }, { 16, 47, 56, 24, 13, 0 }, { 16, 48, 57, 24, 13, 0 }, - { 16, 49, 58, 24, 13, 0 }, { 16, 50, 59, 24, 13, 0 }, { 16, 51, 60, 24, 13, 0 }, { 16, 52, 61, 24, 13, 0 }, { 16, 53, 62, 24, 13, 0 }, - { 16, 54, 63, 24, 13, 0 }, { 16, 55, 64, 24, 13, 0 }, { 16, 56, 65, 24, 13, 0 }, { 16, 57, 65, 24, 13, 0 }, { 16, 58, 66, 24, 13, 0 }, - { 16, 59, 67, 24, 13, 0 }, { 16, 60, 68, 24, 14, 0 }, { 16, 61, 68, 24, 14, 0 }, { 16, 62, 69, 24, 14, 0 }, { 16, 63, 69, 24, 14, 0 }, - { 16, 64, 70, 24, 14, 0 }, { 16, 65, 71, 24, 14, 0 }, { 16, 66, 71, 24, 14, 0 }, { 16, 67, 72, 24, 14, 0 }, { 16, 68, 72, 24, 14, 0 }, - { 16, 69, 73, 24, 14, 0 }, { 16, 70, 73, 24, 14, 0 }, { 16, 71, 74, 24, 14, 0 }, { 16, 72, 74, 24, 14, 0 }, { 16, 73, 75, 24, 14, 0 }, - { 16, 74, 75, 24, 14, 0 }, { 16, 75, 75, 24, 14, 0 }, { 16, 76, 76, 24, 15, 0 }, { 16, 77, 76, 24, 15, 0 }, { 16, 78, 76, 24, 15, 0 }, - { 16, 79, 77, 24, 15, 0 }, { 16, 80, 77, 24, 15, 0 }, { 16, 81, 77, 24, 15, 0 }, { 16, 82, 77, 24, 15, 0 }, { 16, 83, 78, 24, 15, 0 }, - { 16, 84, 78, 24, 15, 0 }, { 16, 85, 78, 24, 15, 0 }, { 16, 86, 78, 24, 15, 0 }, { 16, 87, 78, 24, 16, 0 }, { 16, 88, 79, 24, 16, 0 }, - { 16, 89, 79, 24, 16, 0 }, { 16, 90, 79, 24, 16, 0 }, { 16, 91, 79, 24, 16, 0 }, { 16, 92, 79, 24, 16, 0 }, { 16, 93, 79, 24, 16, 0 }, - { 16, 94, 79, 24, 16, 0 }, { 16, 95, 79, 24, 16, 0 }, + 137, { + { 16, 16, -32, 24, 10, 0 }, { 16, 16, -31, 24, 10, 0 }, { 16, 16, -30, 24, 10, 0 }, { 16, 16, -29, 24, 10, 0 }, { 16, 16, -28, 24, 10, 0 }, + { 16, 16, -27, 24, 10, 0 }, { 16, 16, -26, 24, 10, 0 }, { 16, 16, -25, 24, 10, 0 }, { 16, 16, -24, 24, 10, 0 }, { 16, 16, -23, 24, 10, 0 }, + { 16, 16, -22, 24, 10, 0 }, { 16, 16, -21, 24, 10, 0 }, { 16, 16, -20, 24, 10, 0 }, { 16, 17, -19, 24, 10, 0 }, { 16, 17, -18, 24, 10, 0 }, + { 16, 17, -17, 24, 10, 0 }, { 16, 17, -16, 24, 10, 0 }, { 16, 17, -15, 24, 10, 0 }, { 16, 17, -14, 24, 10, 0 }, { 16, 17, -13, 24, 10, 0 }, + { 16, 17, -12, 24, 10, 0 }, { 16, 17, -11, 24, 10, 0 }, { 16, 18, -10, 24, 11, 0 }, { 16, 18, -9, 24, 11, 0 }, { 16, 18, -8, 24, 11, 0 }, + { 16, 18, -7, 24, 11, 0 }, { 16, 18, -6, 24, 11, 0 }, { 16, 18, -5, 24, 11, 0 }, { 16, 19, -4, 24, 11, 0 }, { 16, 19, -3, 24, 11, 0 }, + { 16, 19, -2, 24, 11, 0 }, { 16, 19, -1, 24, 11, 0 }, { 16, 19, 0, 24, 11, 0 }, { 16, 20, 1, 24, 11, 0 }, { 16, 20, 2, 24, 11, 0 }, + { 16, 20, 3, 24, 11, 0 }, { 16, 20, 4, 24, 11, 0 }, { 16, 21, 5, 24, 11, 0 }, { 16, 21, 6, 24, 11, 0 }, { 16, 21, 7, 24, 11, 0 }, + { 16, 21, 8, 24, 11, 0 }, { 16, 22, 9, 24, 11, 0 }, { 16, 22, 10, 24, 11, 0 }, { 16, 22, 11, 24, 11, 0 }, { 16, 22, 12, 24, 11, 0 }, + { 16, 23, 13, 24, 11, 0 }, { 16, 23, 14, 24, 11, 0 }, { 16, 23, 15, 24, 11, 0 }, { 16, 24, 16, 24, 11, 0 }, { 16, 24, 17, 24, 11, 0 }, + { 16, 24, 18, 24, 11, 0 }, { 16, 25, 19, 24, 11, 0 }, { 16, 25, 20, 24, 11, 0 }, { 16, 26, 21, 24, 11, 0 }, { 16, 26, 22, 24, 11, 0 }, + { 16, 26, 23, 24, 11, 0 }, { 16, 27, 24, 24, 12, 0 }, { 16, 27, 25, 24, 12, 0 }, { 16, 28, 26, 24, 12, 0 }, { 16, 28, 27, 24, 12, 0 }, + { 16, 29, 28, 24, 12, 0 }, { 16, 29, 29, 24, 12, 0 }, { 16, 29, 30, 24, 12, 0 }, { 16, 30, 31, 24, 12, 0 }, { 16, 30, 32, 24, 12, 0 }, + { 16, 31, 33, 24, 12, 0 }, { 16, 31, 34, 24, 12, 0 }, { 16, 32, 35, 24, 12, 0 }, { 16, 33, 36, 24, 12, 0 }, { 16, 33, 37, 24, 12, 0 }, + { 16, 34, 38, 24, 12, 0 }, { 16, 34, 39, 24, 12, 0 }, { 16, 35, 40, 24, 12, 0 }, { 16, 35, 41, 24, 12, 0 }, { 16, 36, 42, 24, 12, 0 }, + { 16, 37, 43, 24, 12, 0 }, { 16, 37, 44, 24, 12, 0 }, { 16, 38, 45, 24, 12, 0 }, { 16, 39, 46, 24, 12, 0 }, { 16, 40, 47, 24, 12, 0 }, + { 16, 40, 48, 24, 12, 0 }, { 16, 41, 49, 24, 13, 0 }, { 16, 42, 50, 24, 13, 0 }, { 16, 43, 51, 24, 13, 0 }, { 16, 43, 52, 24, 13, 0 }, + { 16, 44, 53, 24, 13, 0 }, { 16, 45, 54, 24, 13, 0 }, { 16, 46, 55, 24, 13, 0 }, { 16, 47, 56, 24, 13, 0 }, { 16, 48, 57, 24, 13, 0 }, + { 16, 49, 58, 24, 13, 0 }, { 16, 50, 59, 24, 13, 0 }, { 16, 51, 60, 24, 13, 0 }, { 16, 52, 61, 24, 13, 0 }, { 16, 53, 62, 24, 13, 0 }, + { 16, 54, 63, 24, 13, 0 }, { 16, 55, 64, 24, 13, 0 }, { 16, 56, 65, 24, 13, 0 }, { 16, 57, 65, 24, 13, 0 }, { 16, 58, 66, 24, 13, 0 }, + { 16, 59, 67, 24, 13, 0 }, { 16, 60, 68, 24, 14, 0 }, { 16, 61, 68, 24, 14, 0 }, { 16, 62, 69, 24, 14, 0 }, { 16, 63, 69, 24, 14, 0 }, + { 16, 64, 70, 24, 14, 0 }, { 16, 65, 71, 24, 14, 0 }, { 16, 66, 71, 24, 14, 0 }, { 16, 67, 72, 24, 14, 0 }, { 16, 68, 72, 24, 14, 0 }, + { 16, 69, 73, 24, 14, 0 }, { 16, 70, 73, 24, 14, 0 }, { 16, 71, 74, 24, 14, 0 }, { 16, 72, 74, 24, 14, 0 }, { 16, 73, 75, 24, 14, 0 }, + { 16, 74, 75, 24, 14, 0 }, { 16, 75, 75, 24, 14, 0 }, { 16, 76, 76, 24, 15, 0 }, { 16, 77, 76, 24, 15, 0 }, { 16, 78, 76, 24, 15, 0 }, + { 16, 79, 77, 24, 15, 0 }, { 16, 80, 77, 24, 15, 0 }, { 16, 81, 77, 24, 15, 0 }, { 16, 82, 77, 24, 15, 0 }, { 16, 83, 78, 24, 15, 0 }, + { 16, 84, 78, 24, 15, 0 }, { 16, 85, 78, 24, 15, 0 }, { 16, 86, 78, 24, 15, 0 }, { 16, 87, 78, 24, 16, 0 }, { 16, 88, 79, 24, 16, 0 }, + { 16, 89, 79, 24, 16, 0 }, { 16, 90, 79, 24, 16, 0 }, { 16, 91, 79, 24, 16, 0 }, { 16, 92, 79, 24, 16, 0 }, { 16, 93, 79, 24, 16, 0 }, + { 16, 94, 79, 24, 16, 0 }, { 16, 95, 79, 24, 16, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CDBE2 = { - 32, { - { 31, 6, 0, 0, 0, 0 }, { 30, 6, 0, 0, 0, 0 }, { 29, 6, 0, 0, 0, 0 }, { 28, 6, 0, 0, 0, 0 }, { 27, 6, 0, 0, 0, 0 }, - { 26, 6, 0, 0, 0, 0 }, { 25, 6, 0, 0, 0, 0 }, { 24, 6, 0, 0, 0, 0 }, { 23, 6, 0, 0, 0, 0 }, { 22, 6, 0, 0, 0, 0 }, - { 21, 6, 0, 0, 0, 0 }, { 20, 6, 0, 0, 0, 0 }, { 19, 6, 0, 0, 0, 0 }, { 18, 6, 0, 0, 0, 0 }, { 17, 6, 0, 0, 0, 0 }, - { 16, 6, 0, 0, 0, 0 }, { 15, 6, 0, 0, 0, 0 }, { 14, 6, 0, 0, 0, 0 }, { 13, 6, 0, 0, 0, 0 }, { 12, 6, 0, 0, 0, 0 }, - { 11, 6, 0, 0, 0, 0 }, { 10, 6, 0, 0, 0, 0 }, { 9, 6, 0, 0, 0, 0 }, { 8, 6, 0, 0, 0, 0 }, { 7, 6, 0, 0, 0, 0 }, - { 6, 6, 0, 0, 0, 0 }, { 5, 6, 0, 0, 0, 0 }, { 4, 6, 0, 0, 0, 0 }, { 3, 6, 0, 0, 0, 0 }, { 2, 6, 0, 0, 0, 0 }, - { 1, 6, 0, 0, 0, 0 }, { 0, 6, 0, 0, 0, 0 }, + 32, { + { 31, 6, 0, 0, 0, 0 }, { 30, 6, 0, 0, 0, 0 }, { 29, 6, 0, 0, 0, 0 }, { 28, 6, 0, 0, 0, 0 }, { 27, 6, 0, 0, 0, 0 }, + { 26, 6, 0, 0, 0, 0 }, { 25, 6, 0, 0, 0, 0 }, { 24, 6, 0, 0, 0, 0 }, { 23, 6, 0, 0, 0, 0 }, { 22, 6, 0, 0, 0, 0 }, + { 21, 6, 0, 0, 0, 0 }, { 20, 6, 0, 0, 0, 0 }, { 19, 6, 0, 0, 0, 0 }, { 18, 6, 0, 0, 0, 0 }, { 17, 6, 0, 0, 0, 0 }, + { 16, 6, 0, 0, 0, 0 }, { 15, 6, 0, 0, 0, 0 }, { 14, 6, 0, 0, 0, 0 }, { 13, 6, 0, 0, 0, 0 }, { 12, 6, 0, 0, 0, 0 }, + { 11, 6, 0, 0, 0, 0 }, { 10, 6, 0, 0, 0, 0 }, { 9, 6, 0, 0, 0, 0 }, { 8, 6, 0, 0, 0, 0 }, { 7, 6, 0, 0, 0, 0 }, + { 6, 6, 0, 0, 0, 0 }, { 5, 6, 0, 0, 0, 0 }, { 4, 6, 0, 0, 0, 0 }, { 3, 6, 0, 0, 0, 0 }, { 2, 6, 0, 0, 0, 0 }, + { 1, 6, 0, 0, 0, 0 }, { 0, 6, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CDD04 = { - 32, { - { 6, 0, 0, 8, 0, 0 }, { 6, 1, 0, 8, 0, 0 }, { 6, 2, 0, 8, 0, 0 }, { 6, 3, 0, 8, 0, 0 }, { 6, 4, 0, 8, 0, 0 }, - { 6, 5, 0, 8, 0, 0 }, { 6, 6, 0, 8, 0, 0 }, { 6, 7, 0, 8, 0, 0 }, { 6, 8, 0, 8, 0, 0 }, { 6, 9, 0, 8, 0, 0 }, - { 6, 10, 0, 8, 0, 0 }, { 6, 11, 0, 8, 0, 0 }, { 6, 12, 0, 8, 0, 0 }, { 6, 13, 0, 8, 0, 0 }, { 6, 14, 0, 8, 0, 0 }, - { 6, 15, 0, 8, 0, 0 }, { 6, 16, 0, 8, 0, 0 }, { 6, 17, 0, 8, 0, 0 }, { 6, 18, 0, 8, 0, 0 }, { 6, 19, 0, 8, 0, 0 }, - { 6, 20, 0, 8, 0, 0 }, { 6, 21, 0, 8, 0, 0 }, { 6, 22, 0, 8, 0, 0 }, { 6, 23, 0, 8, 0, 0 }, { 6, 24, 0, 8, 0, 0 }, - { 6, 25, 0, 8, 0, 0 }, { 6, 26, 0, 8, 0, 0 }, { 6, 27, 0, 8, 0, 0 }, { 6, 28, 0, 8, 0, 0 }, { 6, 29, 0, 8, 0, 0 }, - { 6, 30, 0, 8, 0, 0 }, { 6, 31, 0, 8, 0, 0 }, + 32, { + { 6, 0, 0, 8, 0, 0 }, { 6, 1, 0, 8, 0, 0 }, { 6, 2, 0, 8, 0, 0 }, { 6, 3, 0, 8, 0, 0 }, { 6, 4, 0, 8, 0, 0 }, + { 6, 5, 0, 8, 0, 0 }, { 6, 6, 0, 8, 0, 0 }, { 6, 7, 0, 8, 0, 0 }, { 6, 8, 0, 8, 0, 0 }, { 6, 9, 0, 8, 0, 0 }, + { 6, 10, 0, 8, 0, 0 }, { 6, 11, 0, 8, 0, 0 }, { 6, 12, 0, 8, 0, 0 }, { 6, 13, 0, 8, 0, 0 }, { 6, 14, 0, 8, 0, 0 }, + { 6, 15, 0, 8, 0, 0 }, { 6, 16, 0, 8, 0, 0 }, { 6, 17, 0, 8, 0, 0 }, { 6, 18, 0, 8, 0, 0 }, { 6, 19, 0, 8, 0, 0 }, + { 6, 20, 0, 8, 0, 0 }, { 6, 21, 0, 8, 0, 0 }, { 6, 22, 0, 8, 0, 0 }, { 6, 23, 0, 8, 0, 0 }, { 6, 24, 0, 8, 0, 0 }, + { 6, 25, 0, 8, 0, 0 }, { 6, 26, 0, 8, 0, 0 }, { 6, 27, 0, 8, 0, 0 }, { 6, 28, 0, 8, 0, 0 }, { 6, 29, 0, 8, 0, 0 }, + { 6, 30, 0, 8, 0, 0 }, { 6, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CDE26 = { - 32, { - { 0, 26, 0, 16, 0, 0 }, { 1, 26, 0, 16, 0, 0 }, { 2, 26, 0, 16, 0, 0 }, { 3, 26, 0, 16, 0, 0 }, { 4, 26, 0, 16, 0, 0 }, - { 5, 26, 0, 16, 0, 0 }, { 6, 26, 0, 16, 0, 0 }, { 7, 26, 0, 16, 0, 0 }, { 8, 26, 0, 16, 0, 0 }, { 9, 26, 0, 16, 0, 0 }, - { 10, 26, 0, 16, 0, 0 }, { 11, 26, 0, 16, 0, 0 }, { 12, 26, 0, 16, 0, 0 }, { 13, 26, 0, 16, 0, 0 }, { 14, 26, 0, 16, 0, 0 }, - { 15, 26, 0, 16, 0, 0 }, { 16, 26, 0, 16, 0, 0 }, { 17, 26, 0, 16, 0, 0 }, { 18, 26, 0, 16, 0, 0 }, { 19, 26, 0, 16, 0, 0 }, - { 20, 26, 0, 16, 0, 0 }, { 21, 26, 0, 16, 0, 0 }, { 22, 26, 0, 16, 0, 0 }, { 23, 26, 0, 16, 0, 0 }, { 24, 26, 0, 16, 0, 0 }, - { 25, 26, 0, 16, 0, 0 }, { 26, 26, 0, 16, 0, 0 }, { 27, 26, 0, 16, 0, 0 }, { 28, 26, 0, 16, 0, 0 }, { 29, 26, 0, 16, 0, 0 }, - { 30, 26, 0, 16, 0, 0 }, { 31, 26, 0, 16, 0, 0 }, + 32, { + { 0, 26, 0, 16, 0, 0 }, { 1, 26, 0, 16, 0, 0 }, { 2, 26, 0, 16, 0, 0 }, { 3, 26, 0, 16, 0, 0 }, { 4, 26, 0, 16, 0, 0 }, + { 5, 26, 0, 16, 0, 0 }, { 6, 26, 0, 16, 0, 0 }, { 7, 26, 0, 16, 0, 0 }, { 8, 26, 0, 16, 0, 0 }, { 9, 26, 0, 16, 0, 0 }, + { 10, 26, 0, 16, 0, 0 }, { 11, 26, 0, 16, 0, 0 }, { 12, 26, 0, 16, 0, 0 }, { 13, 26, 0, 16, 0, 0 }, { 14, 26, 0, 16, 0, 0 }, + { 15, 26, 0, 16, 0, 0 }, { 16, 26, 0, 16, 0, 0 }, { 17, 26, 0, 16, 0, 0 }, { 18, 26, 0, 16, 0, 0 }, { 19, 26, 0, 16, 0, 0 }, + { 20, 26, 0, 16, 0, 0 }, { 21, 26, 0, 16, 0, 0 }, { 22, 26, 0, 16, 0, 0 }, { 23, 26, 0, 16, 0, 0 }, { 24, 26, 0, 16, 0, 0 }, + { 25, 26, 0, 16, 0, 0 }, { 26, 26, 0, 16, 0, 0 }, { 27, 26, 0, 16, 0, 0 }, { 28, 26, 0, 16, 0, 0 }, { 29, 26, 0, 16, 0, 0 }, + { 30, 26, 0, 16, 0, 0 }, { 31, 26, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CDF48 = { - 32, { - { 26, 31, 0, 24, 0, 0 }, { 26, 30, 0, 24, 0, 0 }, { 26, 29, 0, 24, 0, 0 }, { 26, 28, 0, 24, 0, 0 }, { 26, 27, 0, 24, 0, 0 }, - { 26, 26, 0, 24, 0, 0 }, { 26, 25, 0, 24, 0, 0 }, { 26, 24, 0, 24, 0, 0 }, { 26, 23, 0, 24, 0, 0 }, { 26, 22, 0, 24, 0, 0 }, - { 26, 21, 0, 24, 0, 0 }, { 26, 20, 0, 24, 0, 0 }, { 26, 19, 0, 24, 0, 0 }, { 26, 18, 0, 24, 0, 0 }, { 26, 17, 0, 24, 0, 0 }, - { 26, 16, 0, 24, 0, 0 }, { 26, 15, 0, 24, 0, 0 }, { 26, 14, 0, 24, 0, 0 }, { 26, 13, 0, 24, 0, 0 }, { 26, 12, 0, 24, 0, 0 }, - { 26, 11, 0, 24, 0, 0 }, { 26, 10, 0, 24, 0, 0 }, { 26, 9, 0, 24, 0, 0 }, { 26, 8, 0, 24, 0, 0 }, { 26, 7, 0, 24, 0, 0 }, - { 26, 6, 0, 24, 0, 0 }, { 26, 5, 0, 24, 0, 0 }, { 26, 4, 0, 24, 0, 0 }, { 26, 3, 0, 24, 0, 0 }, { 26, 2, 0, 24, 0, 0 }, - { 26, 1, 0, 24, 0, 0 }, { 26, 0, 0, 24, 0, 0 }, + 32, { + { 26, 31, 0, 24, 0, 0 }, { 26, 30, 0, 24, 0, 0 }, { 26, 29, 0, 24, 0, 0 }, { 26, 28, 0, 24, 0, 0 }, { 26, 27, 0, 24, 0, 0 }, + { 26, 26, 0, 24, 0, 0 }, { 26, 25, 0, 24, 0, 0 }, { 26, 24, 0, 24, 0, 0 }, { 26, 23, 0, 24, 0, 0 }, { 26, 22, 0, 24, 0, 0 }, + { 26, 21, 0, 24, 0, 0 }, { 26, 20, 0, 24, 0, 0 }, { 26, 19, 0, 24, 0, 0 }, { 26, 18, 0, 24, 0, 0 }, { 26, 17, 0, 24, 0, 0 }, + { 26, 16, 0, 24, 0, 0 }, { 26, 15, 0, 24, 0, 0 }, { 26, 14, 0, 24, 0, 0 }, { 26, 13, 0, 24, 0, 0 }, { 26, 12, 0, 24, 0, 0 }, + { 26, 11, 0, 24, 0, 0 }, { 26, 10, 0, 24, 0, 0 }, { 26, 9, 0, 24, 0, 0 }, { 26, 8, 0, 24, 0, 0 }, { 26, 7, 0, 24, 0, 0 }, + { 26, 6, 0, 24, 0, 0 }, { 26, 5, 0, 24, 0, 0 }, { 26, 4, 0, 24, 0, 0 }, { 26, 3, 0, 24, 0, 0 }, { 26, 2, 0, 24, 0, 0 }, + { 26, 1, 0, 24, 0, 0 }, { 26, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CFB6E = { - 32, { - { 31, 6, 0, 0, 2, 0 }, { 30, 6, 1, 0, 2, 0 }, { 29, 6, 1, 0, 2, 0 }, { 28, 6, 2, 0, 2, 0 }, { 27, 6, 2, 0, 2, 0 }, - { 26, 6, 3, 0, 2, 0 }, { 25, 6, 3, 0, 2, 0 }, { 24, 6, 4, 0, 2, 0 }, { 23, 6, 4, 0, 2, 0 }, { 22, 6, 5, 0, 2, 0 }, - { 21, 6, 5, 0, 2, 0 }, { 20, 6, 6, 0, 2, 0 }, { 19, 6, 6, 0, 2, 0 }, { 18, 6, 7, 0, 2, 0 }, { 17, 6, 7, 0, 2, 0 }, - { 16, 6, 8, 0, 2, 0 }, { 15, 6, 8, 0, 2, 0 }, { 14, 6, 9, 0, 2, 0 }, { 13, 6, 9, 0, 2, 0 }, { 12, 6, 10, 0, 2, 0 }, - { 11, 6, 10, 0, 2, 0 }, { 10, 6, 11, 0, 2, 0 }, { 9, 6, 11, 0, 2, 0 }, { 8, 6, 12, 0, 2, 0 }, { 7, 6, 12, 0, 2, 0 }, - { 6, 6, 13, 0, 2, 0 }, { 5, 6, 13, 0, 2, 0 }, { 4, 6, 14, 0, 2, 0 }, { 3, 6, 14, 0, 2, 0 }, { 2, 6, 15, 0, 2, 0 }, - { 1, 6, 15, 0, 2, 0 }, { 0, 6, 16, 0, 2, 0 }, + 32, { + { 31, 6, 0, 0, 2, 0 }, { 30, 6, 1, 0, 2, 0 }, { 29, 6, 1, 0, 2, 0 }, { 28, 6, 2, 0, 2, 0 }, { 27, 6, 2, 0, 2, 0 }, + { 26, 6, 3, 0, 2, 0 }, { 25, 6, 3, 0, 2, 0 }, { 24, 6, 4, 0, 2, 0 }, { 23, 6, 4, 0, 2, 0 }, { 22, 6, 5, 0, 2, 0 }, + { 21, 6, 5, 0, 2, 0 }, { 20, 6, 6, 0, 2, 0 }, { 19, 6, 6, 0, 2, 0 }, { 18, 6, 7, 0, 2, 0 }, { 17, 6, 7, 0, 2, 0 }, + { 16, 6, 8, 0, 2, 0 }, { 15, 6, 8, 0, 2, 0 }, { 14, 6, 9, 0, 2, 0 }, { 13, 6, 9, 0, 2, 0 }, { 12, 6, 10, 0, 2, 0 }, + { 11, 6, 10, 0, 2, 0 }, { 10, 6, 11, 0, 2, 0 }, { 9, 6, 11, 0, 2, 0 }, { 8, 6, 12, 0, 2, 0 }, { 7, 6, 12, 0, 2, 0 }, + { 6, 6, 13, 0, 2, 0 }, { 5, 6, 13, 0, 2, 0 }, { 4, 6, 14, 0, 2, 0 }, { 3, 6, 14, 0, 2, 0 }, { 2, 6, 15, 0, 2, 0 }, + { 1, 6, 15, 0, 2, 0 }, { 0, 6, 16, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CFC90 = { - 32, { - { 6, 0, 0, 8, 2, 0 }, { 6, 1, 0, 8, 2, 0 }, { 6, 2, 1, 8, 2, 0 }, { 6, 3, 1, 8, 2, 0 }, { 6, 4, 2, 8, 2, 0 }, - { 6, 5, 2, 8, 2, 0 }, { 6, 6, 3, 8, 2, 0 }, { 6, 7, 3, 8, 2, 0 }, { 6, 8, 4, 8, 2, 0 }, { 6, 9, 4, 8, 2, 0 }, - { 6, 10, 5, 8, 2, 0 }, { 6, 11, 5, 8, 2, 0 }, { 6, 12, 6, 8, 2, 0 }, { 6, 13, 6, 8, 2, 0 }, { 6, 14, 7, 8, 2, 0 }, - { 6, 15, 7, 8, 2, 0 }, { 6, 16, 8, 8, 2, 0 }, { 6, 17, 8, 8, 2, 0 }, { 6, 18, 9, 8, 2, 0 }, { 6, 19, 9, 8, 2, 0 }, - { 6, 20, 10, 8, 2, 0 }, { 6, 21, 10, 8, 2, 0 }, { 6, 22, 11, 8, 2, 0 }, { 6, 23, 11, 8, 2, 0 }, { 6, 24, 12, 8, 2, 0 }, - { 6, 25, 12, 8, 2, 0 }, { 6, 26, 13, 8, 2, 0 }, { 6, 27, 13, 8, 2, 0 }, { 6, 28, 14, 8, 2, 0 }, { 6, 29, 14, 8, 2, 0 }, - { 6, 30, 15, 8, 2, 0 }, { 6, 31, 15, 8, 2, 0 }, + 32, { + { 6, 0, 0, 8, 2, 0 }, { 6, 1, 0, 8, 2, 0 }, { 6, 2, 1, 8, 2, 0 }, { 6, 3, 1, 8, 2, 0 }, { 6, 4, 2, 8, 2, 0 }, + { 6, 5, 2, 8, 2, 0 }, { 6, 6, 3, 8, 2, 0 }, { 6, 7, 3, 8, 2, 0 }, { 6, 8, 4, 8, 2, 0 }, { 6, 9, 4, 8, 2, 0 }, + { 6, 10, 5, 8, 2, 0 }, { 6, 11, 5, 8, 2, 0 }, { 6, 12, 6, 8, 2, 0 }, { 6, 13, 6, 8, 2, 0 }, { 6, 14, 7, 8, 2, 0 }, + { 6, 15, 7, 8, 2, 0 }, { 6, 16, 8, 8, 2, 0 }, { 6, 17, 8, 8, 2, 0 }, { 6, 18, 9, 8, 2, 0 }, { 6, 19, 9, 8, 2, 0 }, + { 6, 20, 10, 8, 2, 0 }, { 6, 21, 10, 8, 2, 0 }, { 6, 22, 11, 8, 2, 0 }, { 6, 23, 11, 8, 2, 0 }, { 6, 24, 12, 8, 2, 0 }, + { 6, 25, 12, 8, 2, 0 }, { 6, 26, 13, 8, 2, 0 }, { 6, 27, 13, 8, 2, 0 }, { 6, 28, 14, 8, 2, 0 }, { 6, 29, 14, 8, 2, 0 }, + { 6, 30, 15, 8, 2, 0 }, { 6, 31, 15, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CFDB2 = { - 32, { - { 0, 26, 0, 16, 2, 0 }, { 1, 26, 0, 16, 2, 0 }, { 2, 26, 1, 16, 2, 0 }, { 3, 26, 1, 16, 2, 0 }, { 4, 26, 2, 16, 2, 0 }, - { 5, 26, 2, 16, 2, 0 }, { 6, 26, 3, 16, 2, 0 }, { 7, 26, 3, 16, 2, 0 }, { 8, 26, 4, 16, 2, 0 }, { 9, 26, 4, 16, 2, 0 }, - { 10, 26, 5, 16, 2, 0 }, { 11, 26, 5, 16, 2, 0 }, { 12, 26, 6, 16, 2, 0 }, { 13, 26, 6, 16, 2, 0 }, { 14, 26, 7, 16, 2, 0 }, - { 15, 26, 7, 16, 2, 0 }, { 16, 26, 8, 16, 2, 0 }, { 17, 26, 8, 16, 2, 0 }, { 18, 26, 9, 16, 2, 0 }, { 19, 26, 9, 16, 2, 0 }, - { 20, 26, 10, 16, 2, 0 }, { 21, 26, 10, 16, 2, 0 }, { 22, 26, 11, 16, 2, 0 }, { 23, 26, 11, 16, 2, 0 }, { 24, 26, 12, 16, 2, 0 }, - { 25, 26, 12, 16, 2, 0 }, { 26, 26, 13, 16, 2, 0 }, { 27, 26, 13, 16, 2, 0 }, { 28, 26, 14, 16, 2, 0 }, { 29, 26, 14, 16, 2, 0 }, - { 30, 26, 15, 16, 2, 0 }, { 31, 26, 15, 16, 2, 0 }, + 32, { + { 0, 26, 0, 16, 2, 0 }, { 1, 26, 0, 16, 2, 0 }, { 2, 26, 1, 16, 2, 0 }, { 3, 26, 1, 16, 2, 0 }, { 4, 26, 2, 16, 2, 0 }, + { 5, 26, 2, 16, 2, 0 }, { 6, 26, 3, 16, 2, 0 }, { 7, 26, 3, 16, 2, 0 }, { 8, 26, 4, 16, 2, 0 }, { 9, 26, 4, 16, 2, 0 }, + { 10, 26, 5, 16, 2, 0 }, { 11, 26, 5, 16, 2, 0 }, { 12, 26, 6, 16, 2, 0 }, { 13, 26, 6, 16, 2, 0 }, { 14, 26, 7, 16, 2, 0 }, + { 15, 26, 7, 16, 2, 0 }, { 16, 26, 8, 16, 2, 0 }, { 17, 26, 8, 16, 2, 0 }, { 18, 26, 9, 16, 2, 0 }, { 19, 26, 9, 16, 2, 0 }, + { 20, 26, 10, 16, 2, 0 }, { 21, 26, 10, 16, 2, 0 }, { 22, 26, 11, 16, 2, 0 }, { 23, 26, 11, 16, 2, 0 }, { 24, 26, 12, 16, 2, 0 }, + { 25, 26, 12, 16, 2, 0 }, { 26, 26, 13, 16, 2, 0 }, { 27, 26, 13, 16, 2, 0 }, { 28, 26, 14, 16, 2, 0 }, { 29, 26, 14, 16, 2, 0 }, + { 30, 26, 15, 16, 2, 0 }, { 31, 26, 15, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CFED4 = { - 32, { - { 26, 31, 0, 24, 2, 0 }, { 26, 30, 1, 24, 2, 0 }, { 26, 29, 1, 24, 2, 0 }, { 26, 28, 2, 24, 2, 0 }, { 26, 27, 2, 24, 2, 0 }, - { 26, 26, 3, 24, 2, 0 }, { 26, 25, 3, 24, 2, 0 }, { 26, 24, 4, 24, 2, 0 }, { 26, 23, 4, 24, 2, 0 }, { 26, 22, 5, 24, 2, 0 }, - { 26, 21, 5, 24, 2, 0 }, { 26, 20, 6, 24, 2, 0 }, { 26, 19, 6, 24, 2, 0 }, { 26, 18, 7, 24, 2, 0 }, { 26, 17, 7, 24, 2, 0 }, - { 26, 16, 8, 24, 2, 0 }, { 26, 15, 8, 24, 2, 0 }, { 26, 14, 9, 24, 2, 0 }, { 26, 13, 9, 24, 2, 0 }, { 26, 12, 10, 24, 2, 0 }, - { 26, 11, 10, 24, 2, 0 }, { 26, 10, 11, 24, 2, 0 }, { 26, 9, 11, 24, 2, 0 }, { 26, 8, 12, 24, 2, 0 }, { 26, 7, 12, 24, 2, 0 }, - { 26, 6, 13, 24, 2, 0 }, { 26, 5, 13, 24, 2, 0 }, { 26, 4, 14, 24, 2, 0 }, { 26, 3, 14, 24, 2, 0 }, { 26, 2, 15, 24, 2, 0 }, - { 26, 1, 15, 24, 2, 0 }, { 26, 0, 16, 24, 2, 0 }, + 32, { + { 26, 31, 0, 24, 2, 0 }, { 26, 30, 1, 24, 2, 0 }, { 26, 29, 1, 24, 2, 0 }, { 26, 28, 2, 24, 2, 0 }, { 26, 27, 2, 24, 2, 0 }, + { 26, 26, 3, 24, 2, 0 }, { 26, 25, 3, 24, 2, 0 }, { 26, 24, 4, 24, 2, 0 }, { 26, 23, 4, 24, 2, 0 }, { 26, 22, 5, 24, 2, 0 }, + { 26, 21, 5, 24, 2, 0 }, { 26, 20, 6, 24, 2, 0 }, { 26, 19, 6, 24, 2, 0 }, { 26, 18, 7, 24, 2, 0 }, { 26, 17, 7, 24, 2, 0 }, + { 26, 16, 8, 24, 2, 0 }, { 26, 15, 8, 24, 2, 0 }, { 26, 14, 9, 24, 2, 0 }, { 26, 13, 9, 24, 2, 0 }, { 26, 12, 10, 24, 2, 0 }, + { 26, 11, 10, 24, 2, 0 }, { 26, 10, 11, 24, 2, 0 }, { 26, 9, 11, 24, 2, 0 }, { 26, 8, 12, 24, 2, 0 }, { 26, 7, 12, 24, 2, 0 }, + { 26, 6, 13, 24, 2, 0 }, { 26, 5, 13, 24, 2, 0 }, { 26, 4, 14, 24, 2, 0 }, { 26, 3, 14, 24, 2, 0 }, { 26, 2, 15, 24, 2, 0 }, + { 26, 1, 15, 24, 2, 0 }, { 26, 0, 16, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CE906 = { - 32, { - { 31, 6, 0, 0, 0, 0 }, { 30, 6, 0, 0, 0, 0 }, { 29, 6, 0, 0, 0, 0 }, { 28, 6, 0, 0, 0, 0 }, { 27, 6, 0, 0, 0, 0 }, - { 26, 6, 0, 0, 0, 0 }, { 25, 6, 0, 0, 0, 0 }, { 24, 6, 0, 0, 0, 0 }, { 23, 6, 0, 0, 1, 0 }, { 22, 6, 0, 0, 1, 0 }, - { 21, 6, 1, 0, 1, 0 }, { 20, 6, 1, 0, 1, 0 }, { 19, 6, 1, 0, 1, 0 }, { 18, 6, 1, 0, 1, 0 }, { 17, 6, 1, 0, 1, 0 }, - { 16, 6, 1, 0, 1, 0 }, { 15, 6, 2, 0, 1, 0 }, { 14, 6, 2, 0, 1, 0 }, { 13, 6, 2, 0, 1, 0 }, { 12, 6, 2, 0, 1, 0 }, - { 11, 6, 3, 0, 1, 0 }, { 10, 6, 3, 0, 1, 0 }, { 9, 6, 3, 0, 1, 0 }, { 8, 6, 4, 0, 1, 0 }, { 7, 6, 4, 0, 2, 0 }, - { 6, 6, 5, 0, 2, 0 }, { 5, 6, 5, 0, 2, 0 }, { 4, 6, 6, 0, 2, 0 }, { 3, 6, 6, 0, 2, 0 }, { 2, 6, 7, 0, 2, 0 }, - { 1, 6, 7, 0, 2, 0 }, { 0, 6, 8, 0, 2, 0 }, + 32, { + { 31, 6, 0, 0, 0, 0 }, { 30, 6, 0, 0, 0, 0 }, { 29, 6, 0, 0, 0, 0 }, { 28, 6, 0, 0, 0, 0 }, { 27, 6, 0, 0, 0, 0 }, + { 26, 6, 0, 0, 0, 0 }, { 25, 6, 0, 0, 0, 0 }, { 24, 6, 0, 0, 0, 0 }, { 23, 6, 0, 0, 1, 0 }, { 22, 6, 0, 0, 1, 0 }, + { 21, 6, 1, 0, 1, 0 }, { 20, 6, 1, 0, 1, 0 }, { 19, 6, 1, 0, 1, 0 }, { 18, 6, 1, 0, 1, 0 }, { 17, 6, 1, 0, 1, 0 }, + { 16, 6, 1, 0, 1, 0 }, { 15, 6, 2, 0, 1, 0 }, { 14, 6, 2, 0, 1, 0 }, { 13, 6, 2, 0, 1, 0 }, { 12, 6, 2, 0, 1, 0 }, + { 11, 6, 3, 0, 1, 0 }, { 10, 6, 3, 0, 1, 0 }, { 9, 6, 3, 0, 1, 0 }, { 8, 6, 4, 0, 1, 0 }, { 7, 6, 4, 0, 2, 0 }, + { 6, 6, 5, 0, 2, 0 }, { 5, 6, 5, 0, 2, 0 }, { 4, 6, 6, 0, 2, 0 }, { 3, 6, 6, 0, 2, 0 }, { 2, 6, 7, 0, 2, 0 }, + { 1, 6, 7, 0, 2, 0 }, { 0, 6, 8, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CEA28 = { - 32, { - { 6, 0, 0, 8, 0, 0 }, { 6, 1, 0, 8, 0, 0 }, { 6, 2, 0, 8, 0, 0 }, { 6, 3, 0, 8, 0, 0 }, { 6, 4, 0, 8, 0, 0 }, - { 6, 5, 0, 8, 0, 0 }, { 6, 6, 0, 8, 0, 0 }, { 6, 7, 0, 8, 0, 0 }, { 6, 8, 0, 8, 1, 0 }, { 6, 9, 0, 8, 1, 0 }, - { 6, 10, 1, 8, 1, 0 }, { 6, 11, 1, 8, 1, 0 }, { 6, 12, 1, 8, 1, 0 }, { 6, 13, 1, 8, 1, 0 }, { 6, 14, 1, 8, 1, 0 }, - { 6, 15, 1, 8, 1, 0 }, { 6, 16, 2, 8, 1, 0 }, { 6, 17, 2, 8, 1, 0 }, { 6, 18, 2, 8, 1, 0 }, { 6, 19, 2, 8, 1, 0 }, - { 6, 20, 3, 8, 1, 0 }, { 6, 21, 3, 8, 1, 0 }, { 6, 22, 3, 8, 1, 0 }, { 6, 23, 4, 8, 1, 0 }, { 6, 24, 4, 8, 2, 0 }, - { 6, 25, 4, 8, 2, 0 }, { 6, 26, 5, 8, 2, 0 }, { 6, 27, 5, 8, 2, 0 }, { 6, 28, 6, 8, 2, 0 }, { 6, 29, 6, 8, 2, 0 }, - { 6, 30, 7, 8, 2, 0 }, { 6, 31, 7, 8, 2, 0 }, + 32, { + { 6, 0, 0, 8, 0, 0 }, { 6, 1, 0, 8, 0, 0 }, { 6, 2, 0, 8, 0, 0 }, { 6, 3, 0, 8, 0, 0 }, { 6, 4, 0, 8, 0, 0 }, + { 6, 5, 0, 8, 0, 0 }, { 6, 6, 0, 8, 0, 0 }, { 6, 7, 0, 8, 0, 0 }, { 6, 8, 0, 8, 1, 0 }, { 6, 9, 0, 8, 1, 0 }, + { 6, 10, 1, 8, 1, 0 }, { 6, 11, 1, 8, 1, 0 }, { 6, 12, 1, 8, 1, 0 }, { 6, 13, 1, 8, 1, 0 }, { 6, 14, 1, 8, 1, 0 }, + { 6, 15, 1, 8, 1, 0 }, { 6, 16, 2, 8, 1, 0 }, { 6, 17, 2, 8, 1, 0 }, { 6, 18, 2, 8, 1, 0 }, { 6, 19, 2, 8, 1, 0 }, + { 6, 20, 3, 8, 1, 0 }, { 6, 21, 3, 8, 1, 0 }, { 6, 22, 3, 8, 1, 0 }, { 6, 23, 4, 8, 1, 0 }, { 6, 24, 4, 8, 2, 0 }, + { 6, 25, 4, 8, 2, 0 }, { 6, 26, 5, 8, 2, 0 }, { 6, 27, 5, 8, 2, 0 }, { 6, 28, 6, 8, 2, 0 }, { 6, 29, 6, 8, 2, 0 }, + { 6, 30, 7, 8, 2, 0 }, { 6, 31, 7, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CEB4A = { - 32, { - { 0, 26, 0, 16, 0, 0 }, { 1, 26, 0, 16, 0, 0 }, { 2, 26, 0, 16, 0, 0 }, { 3, 26, 0, 16, 0, 0 }, { 4, 26, 0, 16, 0, 0 }, - { 5, 26, 0, 16, 0, 0 }, { 6, 26, 0, 16, 0, 0 }, { 7, 26, 0, 16, 0, 0 }, { 8, 26, 0, 16, 1, 0 }, { 9, 26, 0, 16, 1, 0 }, - { 10, 26, 1, 16, 1, 0 }, { 11, 26, 1, 16, 1, 0 }, { 12, 26, 1, 16, 1, 0 }, { 13, 26, 1, 16, 1, 0 }, { 14, 26, 1, 16, 1, 0 }, - { 15, 26, 1, 16, 1, 0 }, { 16, 26, 2, 16, 1, 0 }, { 17, 26, 2, 16, 1, 0 }, { 18, 26, 2, 16, 1, 0 }, { 19, 26, 2, 16, 1, 0 }, - { 20, 26, 3, 16, 1, 0 }, { 21, 26, 3, 16, 1, 0 }, { 22, 26, 3, 16, 1, 0 }, { 23, 26, 4, 16, 1, 0 }, { 24, 26, 4, 16, 2, 0 }, - { 25, 26, 4, 16, 2, 0 }, { 26, 26, 5, 16, 2, 0 }, { 27, 26, 5, 16, 2, 0 }, { 28, 26, 6, 16, 2, 0 }, { 29, 26, 6, 16, 2, 0 }, - { 30, 26, 7, 16, 2, 0 }, { 31, 26, 7, 16, 2, 0 }, + 32, { + { 0, 26, 0, 16, 0, 0 }, { 1, 26, 0, 16, 0, 0 }, { 2, 26, 0, 16, 0, 0 }, { 3, 26, 0, 16, 0, 0 }, { 4, 26, 0, 16, 0, 0 }, + { 5, 26, 0, 16, 0, 0 }, { 6, 26, 0, 16, 0, 0 }, { 7, 26, 0, 16, 0, 0 }, { 8, 26, 0, 16, 1, 0 }, { 9, 26, 0, 16, 1, 0 }, + { 10, 26, 1, 16, 1, 0 }, { 11, 26, 1, 16, 1, 0 }, { 12, 26, 1, 16, 1, 0 }, { 13, 26, 1, 16, 1, 0 }, { 14, 26, 1, 16, 1, 0 }, + { 15, 26, 1, 16, 1, 0 }, { 16, 26, 2, 16, 1, 0 }, { 17, 26, 2, 16, 1, 0 }, { 18, 26, 2, 16, 1, 0 }, { 19, 26, 2, 16, 1, 0 }, + { 20, 26, 3, 16, 1, 0 }, { 21, 26, 3, 16, 1, 0 }, { 22, 26, 3, 16, 1, 0 }, { 23, 26, 4, 16, 1, 0 }, { 24, 26, 4, 16, 2, 0 }, + { 25, 26, 4, 16, 2, 0 }, { 26, 26, 5, 16, 2, 0 }, { 27, 26, 5, 16, 2, 0 }, { 28, 26, 6, 16, 2, 0 }, { 29, 26, 6, 16, 2, 0 }, + { 30, 26, 7, 16, 2, 0 }, { 31, 26, 7, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CEC6C = { - 32, { - { 26, 31, 0, 24, 0, 0 }, { 26, 30, 0, 24, 0, 0 }, { 26, 29, 0, 24, 0, 0 }, { 26, 28, 0, 24, 0, 0 }, { 26, 27, 0, 24, 0, 0 }, - { 26, 26, 0, 24, 0, 0 }, { 26, 25, 0, 24, 0, 0 }, { 26, 24, 0, 24, 0, 0 }, { 26, 23, 0, 24, 1, 0 }, { 26, 22, 0, 24, 1, 0 }, - { 26, 21, 1, 24, 1, 0 }, { 26, 20, 1, 24, 1, 0 }, { 26, 19, 1, 24, 1, 0 }, { 26, 18, 1, 24, 1, 0 }, { 26, 17, 1, 24, 1, 0 }, - { 26, 16, 1, 24, 1, 0 }, { 26, 15, 2, 24, 1, 0 }, { 26, 14, 2, 24, 1, 0 }, { 26, 13, 2, 24, 1, 0 }, { 26, 12, 2, 24, 1, 0 }, - { 26, 11, 3, 24, 1, 0 }, { 26, 10, 3, 24, 1, 0 }, { 26, 9, 3, 24, 1, 0 }, { 26, 8, 4, 24, 1, 0 }, { 26, 7, 4, 24, 2, 0 }, - { 26, 6, 5, 24, 2, 0 }, { 26, 5, 5, 24, 2, 0 }, { 26, 4, 6, 24, 2, 0 }, { 26, 3, 6, 24, 2, 0 }, { 26, 2, 7, 24, 2, 0 }, - { 26, 1, 7, 24, 2, 0 }, { 26, 0, 8, 24, 2, 0 }, + 32, { + { 26, 31, 0, 24, 0, 0 }, { 26, 30, 0, 24, 0, 0 }, { 26, 29, 0, 24, 0, 0 }, { 26, 28, 0, 24, 0, 0 }, { 26, 27, 0, 24, 0, 0 }, + { 26, 26, 0, 24, 0, 0 }, { 26, 25, 0, 24, 0, 0 }, { 26, 24, 0, 24, 0, 0 }, { 26, 23, 0, 24, 1, 0 }, { 26, 22, 0, 24, 1, 0 }, + { 26, 21, 1, 24, 1, 0 }, { 26, 20, 1, 24, 1, 0 }, { 26, 19, 1, 24, 1, 0 }, { 26, 18, 1, 24, 1, 0 }, { 26, 17, 1, 24, 1, 0 }, + { 26, 16, 1, 24, 1, 0 }, { 26, 15, 2, 24, 1, 0 }, { 26, 14, 2, 24, 1, 0 }, { 26, 13, 2, 24, 1, 0 }, { 26, 12, 2, 24, 1, 0 }, + { 26, 11, 3, 24, 1, 0 }, { 26, 10, 3, 24, 1, 0 }, { 26, 9, 3, 24, 1, 0 }, { 26, 8, 4, 24, 1, 0 }, { 26, 7, 4, 24, 2, 0 }, + { 26, 6, 5, 24, 2, 0 }, { 26, 5, 5, 24, 2, 0 }, { 26, 4, 6, 24, 2, 0 }, { 26, 3, 6, 24, 2, 0 }, { 26, 2, 7, 24, 2, 0 }, + { 26, 1, 7, 24, 2, 0 }, { 26, 0, 8, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CED8E = { - 32, { - { 31, 6, 0, 0, 2, 0 }, { 30, 6, 1, 0, 2, 0 }, { 29, 6, 1, 0, 2, 0 }, { 28, 6, 2, 0, 2, 0 }, { 27, 6, 2, 0, 2, 0 }, - { 26, 6, 3, 0, 2, 0 }, { 25, 6, 3, 0, 2, 0 }, { 24, 6, 3, 0, 2, 0 }, { 23, 6, 4, 0, 1, 0 }, { 22, 6, 4, 0, 1, 0 }, - { 21, 6, 4, 0, 1, 0 }, { 20, 6, 5, 0, 1, 0 }, { 19, 6, 5, 0, 1, 0 }, { 18, 6, 5, 0, 1, 0 }, { 17, 6, 6, 0, 1, 0 }, - { 16, 6, 6, 0, 1, 0 }, { 15, 6, 6, 0, 1, 0 }, { 14, 6, 6, 0, 1, 0 }, { 13, 6, 7, 0, 1, 0 }, { 12, 6, 7, 0, 1, 0 }, - { 11, 6, 7, 0, 1, 0 }, { 10, 6, 7, 0, 1, 0 }, { 9, 6, 7, 0, 0, 0 }, { 8, 6, 7, 0, 0, 0 }, { 7, 6, 8, 0, 0, 0 }, - { 6, 6, 8, 0, 0, 0 }, { 5, 6, 8, 0, 0, 0 }, { 4, 6, 8, 0, 0, 0 }, { 3, 6, 8, 0, 0, 0 }, { 2, 6, 8, 0, 0, 0 }, - { 1, 6, 8, 0, 0, 0 }, { 0, 6, 8, 0, 0, 0 }, + 32, { + { 31, 6, 0, 0, 2, 0 }, { 30, 6, 1, 0, 2, 0 }, { 29, 6, 1, 0, 2, 0 }, { 28, 6, 2, 0, 2, 0 }, { 27, 6, 2, 0, 2, 0 }, + { 26, 6, 3, 0, 2, 0 }, { 25, 6, 3, 0, 2, 0 }, { 24, 6, 3, 0, 2, 0 }, { 23, 6, 4, 0, 1, 0 }, { 22, 6, 4, 0, 1, 0 }, + { 21, 6, 4, 0, 1, 0 }, { 20, 6, 5, 0, 1, 0 }, { 19, 6, 5, 0, 1, 0 }, { 18, 6, 5, 0, 1, 0 }, { 17, 6, 6, 0, 1, 0 }, + { 16, 6, 6, 0, 1, 0 }, { 15, 6, 6, 0, 1, 0 }, { 14, 6, 6, 0, 1, 0 }, { 13, 6, 7, 0, 1, 0 }, { 12, 6, 7, 0, 1, 0 }, + { 11, 6, 7, 0, 1, 0 }, { 10, 6, 7, 0, 1, 0 }, { 9, 6, 7, 0, 0, 0 }, { 8, 6, 7, 0, 0, 0 }, { 7, 6, 8, 0, 0, 0 }, + { 6, 6, 8, 0, 0, 0 }, { 5, 6, 8, 0, 0, 0 }, { 4, 6, 8, 0, 0, 0 }, { 3, 6, 8, 0, 0, 0 }, { 2, 6, 8, 0, 0, 0 }, + { 1, 6, 8, 0, 0, 0 }, { 0, 6, 8, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CEEC2 = { - 32, { - { 6, 0, 0, 8, 2, 0 }, { 6, 1, 0, 8, 2, 0 }, { 6, 2, 1, 8, 2, 0 }, { 6, 3, 1, 8, 2, 0 }, { 6, 4, 2, 8, 2, 0 }, - { 6, 5, 2, 8, 2, 0 }, { 6, 6, 3, 8, 2, 0 }, { 6, 7, 3, 8, 2, 0 }, { 6, 8, 4, 8, 1, 0 }, { 6, 9, 4, 8, 1, 0 }, - { 6, 10, 4, 8, 1, 0 }, { 6, 11, 5, 8, 1, 0 }, { 6, 12, 5, 8, 1, 0 }, { 6, 13, 5, 8, 1, 0 }, { 6, 14, 6, 8, 1, 0 }, - { 6, 15, 6, 8, 1, 0 }, { 6, 16, 6, 8, 1, 0 }, { 6, 17, 6, 8, 1, 0 }, { 6, 18, 7, 8, 1, 0 }, { 6, 19, 7, 8, 1, 0 }, - { 6, 20, 7, 8, 1, 0 }, { 6, 21, 7, 8, 1, 0 }, { 6, 22, 7, 8, 0, 0 }, { 6, 23, 7, 8, 0, 0 }, { 6, 24, 8, 8, 0, 0 }, - { 6, 25, 8, 8, 0, 0 }, { 6, 26, 8, 8, 0, 0 }, { 6, 27, 8, 8, 0, 0 }, { 6, 28, 8, 8, 0, 0 }, { 6, 29, 8, 8, 0, 0 }, - { 6, 30, 8, 8, 0, 0 }, { 6, 31, 8, 8, 0, 0 }, + 32, { + { 6, 0, 0, 8, 2, 0 }, { 6, 1, 0, 8, 2, 0 }, { 6, 2, 1, 8, 2, 0 }, { 6, 3, 1, 8, 2, 0 }, { 6, 4, 2, 8, 2, 0 }, + { 6, 5, 2, 8, 2, 0 }, { 6, 6, 3, 8, 2, 0 }, { 6, 7, 3, 8, 2, 0 }, { 6, 8, 4, 8, 1, 0 }, { 6, 9, 4, 8, 1, 0 }, + { 6, 10, 4, 8, 1, 0 }, { 6, 11, 5, 8, 1, 0 }, { 6, 12, 5, 8, 1, 0 }, { 6, 13, 5, 8, 1, 0 }, { 6, 14, 6, 8, 1, 0 }, + { 6, 15, 6, 8, 1, 0 }, { 6, 16, 6, 8, 1, 0 }, { 6, 17, 6, 8, 1, 0 }, { 6, 18, 7, 8, 1, 0 }, { 6, 19, 7, 8, 1, 0 }, + { 6, 20, 7, 8, 1, 0 }, { 6, 21, 7, 8, 1, 0 }, { 6, 22, 7, 8, 0, 0 }, { 6, 23, 7, 8, 0, 0 }, { 6, 24, 8, 8, 0, 0 }, + { 6, 25, 8, 8, 0, 0 }, { 6, 26, 8, 8, 0, 0 }, { 6, 27, 8, 8, 0, 0 }, { 6, 28, 8, 8, 0, 0 }, { 6, 29, 8, 8, 0, 0 }, + { 6, 30, 8, 8, 0, 0 }, { 6, 31, 8, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CEFF6 = { - 32, { - { 0, 26, 0, 16, 2, 0 }, { 1, 26, 0, 16, 2, 0 }, { 2, 26, 1, 16, 2, 0 }, { 3, 26, 1, 16, 2, 0 }, { 4, 26, 2, 16, 2, 0 }, - { 5, 26, 2, 16, 2, 0 }, { 6, 26, 3, 16, 2, 0 }, { 7, 26, 3, 16, 2, 0 }, { 8, 26, 4, 16, 1, 0 }, { 9, 26, 4, 16, 1, 0 }, - { 10, 26, 4, 16, 1, 0 }, { 11, 26, 5, 16, 1, 0 }, { 12, 26, 5, 16, 1, 0 }, { 13, 26, 5, 16, 1, 0 }, { 14, 26, 6, 16, 1, 0 }, - { 15, 26, 6, 16, 1, 0 }, { 16, 26, 6, 16, 1, 0 }, { 17, 26, 6, 16, 1, 0 }, { 18, 26, 7, 16, 1, 0 }, { 19, 26, 7, 16, 1, 0 }, - { 20, 26, 7, 16, 1, 0 }, { 21, 26, 7, 16, 1, 0 }, { 22, 26, 7, 16, 0, 0 }, { 23, 26, 7, 16, 0, 0 }, { 24, 26, 8, 16, 0, 0 }, - { 25, 26, 8, 16, 0, 0 }, { 26, 26, 8, 16, 0, 0 }, { 27, 26, 8, 16, 0, 0 }, { 28, 26, 8, 16, 0, 0 }, { 29, 26, 8, 16, 0, 0 }, - { 30, 26, 8, 16, 0, 0 }, { 31, 26, 8, 16, 0, 0 }, + 32, { + { 0, 26, 0, 16, 2, 0 }, { 1, 26, 0, 16, 2, 0 }, { 2, 26, 1, 16, 2, 0 }, { 3, 26, 1, 16, 2, 0 }, { 4, 26, 2, 16, 2, 0 }, + { 5, 26, 2, 16, 2, 0 }, { 6, 26, 3, 16, 2, 0 }, { 7, 26, 3, 16, 2, 0 }, { 8, 26, 4, 16, 1, 0 }, { 9, 26, 4, 16, 1, 0 }, + { 10, 26, 4, 16, 1, 0 }, { 11, 26, 5, 16, 1, 0 }, { 12, 26, 5, 16, 1, 0 }, { 13, 26, 5, 16, 1, 0 }, { 14, 26, 6, 16, 1, 0 }, + { 15, 26, 6, 16, 1, 0 }, { 16, 26, 6, 16, 1, 0 }, { 17, 26, 6, 16, 1, 0 }, { 18, 26, 7, 16, 1, 0 }, { 19, 26, 7, 16, 1, 0 }, + { 20, 26, 7, 16, 1, 0 }, { 21, 26, 7, 16, 1, 0 }, { 22, 26, 7, 16, 0, 0 }, { 23, 26, 7, 16, 0, 0 }, { 24, 26, 8, 16, 0, 0 }, + { 25, 26, 8, 16, 0, 0 }, { 26, 26, 8, 16, 0, 0 }, { 27, 26, 8, 16, 0, 0 }, { 28, 26, 8, 16, 0, 0 }, { 29, 26, 8, 16, 0, 0 }, + { 30, 26, 8, 16, 0, 0 }, { 31, 26, 8, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CF12A = { - 32, { - { 26, 31, 0, 24, 2, 0 }, { 26, 30, 1, 24, 2, 0 }, { 26, 29, 1, 24, 2, 0 }, { 26, 28, 2, 24, 2, 0 }, { 26, 27, 2, 24, 2, 0 }, - { 26, 26, 3, 24, 2, 0 }, { 26, 25, 3, 24, 2, 0 }, { 26, 24, 3, 24, 2, 0 }, { 26, 23, 4, 24, 1, 0 }, { 26, 22, 4, 24, 1, 0 }, - { 26, 21, 4, 24, 1, 0 }, { 26, 20, 5, 24, 1, 0 }, { 26, 19, 5, 24, 1, 0 }, { 26, 18, 5, 24, 1, 0 }, { 26, 17, 6, 24, 1, 0 }, - { 26, 16, 6, 24, 1, 0 }, { 26, 15, 6, 24, 1, 0 }, { 26, 14, 6, 24, 1, 0 }, { 26, 13, 7, 24, 1, 0 }, { 26, 12, 7, 24, 1, 0 }, - { 26, 11, 7, 24, 1, 0 }, { 26, 10, 7, 24, 1, 0 }, { 26, 9, 7, 24, 0, 0 }, { 26, 8, 7, 24, 0, 0 }, { 26, 7, 8, 24, 0, 0 }, - { 26, 6, 8, 24, 0, 0 }, { 26, 5, 8, 24, 0, 0 }, { 26, 4, 8, 24, 0, 0 }, { 26, 3, 8, 24, 0, 0 }, { 26, 2, 8, 24, 0, 0 }, - { 26, 1, 8, 24, 0, 0 }, { 26, 0, 8, 24, 0, 0 }, + 32, { + { 26, 31, 0, 24, 2, 0 }, { 26, 30, 1, 24, 2, 0 }, { 26, 29, 1, 24, 2, 0 }, { 26, 28, 2, 24, 2, 0 }, { 26, 27, 2, 24, 2, 0 }, + { 26, 26, 3, 24, 2, 0 }, { 26, 25, 3, 24, 2, 0 }, { 26, 24, 3, 24, 2, 0 }, { 26, 23, 4, 24, 1, 0 }, { 26, 22, 4, 24, 1, 0 }, + { 26, 21, 4, 24, 1, 0 }, { 26, 20, 5, 24, 1, 0 }, { 26, 19, 5, 24, 1, 0 }, { 26, 18, 5, 24, 1, 0 }, { 26, 17, 6, 24, 1, 0 }, + { 26, 16, 6, 24, 1, 0 }, { 26, 15, 6, 24, 1, 0 }, { 26, 14, 6, 24, 1, 0 }, { 26, 13, 7, 24, 1, 0 }, { 26, 12, 7, 24, 1, 0 }, + { 26, 11, 7, 24, 1, 0 }, { 26, 10, 7, 24, 1, 0 }, { 26, 9, 7, 24, 0, 0 }, { 26, 8, 7, 24, 0, 0 }, { 26, 7, 8, 24, 0, 0 }, + { 26, 6, 8, 24, 0, 0 }, { 26, 5, 8, 24, 0, 0 }, { 26, 4, 8, 24, 0, 0 }, { 26, 3, 8, 24, 0, 0 }, { 26, 2, 8, 24, 0, 0 }, + { 26, 1, 8, 24, 0, 0 }, { 26, 0, 8, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CFFF6 = { - 32, { - { 31, 6, 15, 0, 6, 0 }, { 30, 6, 15, 0, 6, 0 }, { 29, 6, 14, 0, 6, 0 }, { 28, 6, 14, 0, 6, 0 }, { 27, 6, 13, 0, 6, 0 }, - { 26, 6, 13, 0, 6, 0 }, { 25, 6, 12, 0, 6, 0 }, { 24, 6, 12, 0, 6, 0 }, { 23, 6, 11, 0, 6, 0 }, { 22, 6, 11, 0, 6, 0 }, - { 21, 6, 10, 0, 6, 0 }, { 20, 6, 10, 0, 6, 0 }, { 19, 6, 9, 0, 6, 0 }, { 18, 6, 9, 0, 6, 0 }, { 17, 6, 8, 0, 6, 0 }, - { 16, 6, 8, 0, 6, 0 }, { 15, 6, 7, 0, 6, 0 }, { 14, 6, 7, 0, 6, 0 }, { 13, 6, 6, 0, 6, 0 }, { 12, 6, 6, 0, 6, 0 }, - { 11, 6, 5, 0, 6, 0 }, { 10, 6, 5, 0, 6, 0 }, { 9, 6, 4, 0, 6, 0 }, { 8, 6, 4, 0, 6, 0 }, { 7, 6, 3, 0, 6, 0 }, - { 6, 6, 3, 0, 6, 0 }, { 5, 6, 2, 0, 6, 0 }, { 4, 6, 2, 0, 6, 0 }, { 3, 6, 1, 0, 6, 0 }, { 2, 6, 1, 0, 6, 0 }, - { 1, 6, 0, 0, 6, 0 }, { 0, 6, 0, 0, 6, 0 }, + 32, { + { 31, 6, 15, 0, 6, 0 }, { 30, 6, 15, 0, 6, 0 }, { 29, 6, 14, 0, 6, 0 }, { 28, 6, 14, 0, 6, 0 }, { 27, 6, 13, 0, 6, 0 }, + { 26, 6, 13, 0, 6, 0 }, { 25, 6, 12, 0, 6, 0 }, { 24, 6, 12, 0, 6, 0 }, { 23, 6, 11, 0, 6, 0 }, { 22, 6, 11, 0, 6, 0 }, + { 21, 6, 10, 0, 6, 0 }, { 20, 6, 10, 0, 6, 0 }, { 19, 6, 9, 0, 6, 0 }, { 18, 6, 9, 0, 6, 0 }, { 17, 6, 8, 0, 6, 0 }, + { 16, 6, 8, 0, 6, 0 }, { 15, 6, 7, 0, 6, 0 }, { 14, 6, 7, 0, 6, 0 }, { 13, 6, 6, 0, 6, 0 }, { 12, 6, 6, 0, 6, 0 }, + { 11, 6, 5, 0, 6, 0 }, { 10, 6, 5, 0, 6, 0 }, { 9, 6, 4, 0, 6, 0 }, { 8, 6, 4, 0, 6, 0 }, { 7, 6, 3, 0, 6, 0 }, + { 6, 6, 3, 0, 6, 0 }, { 5, 6, 2, 0, 6, 0 }, { 4, 6, 2, 0, 6, 0 }, { 3, 6, 1, 0, 6, 0 }, { 2, 6, 1, 0, 6, 0 }, + { 1, 6, 0, 0, 6, 0 }, { 0, 6, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D0118 = { - 32, { - { 6, 0, 15, 8, 6, 0 }, { 6, 1, 14, 8, 6, 0 }, { 6, 2, 14, 8, 6, 0 }, { 6, 3, 13, 8, 6, 0 }, { 6, 4, 13, 8, 6, 0 }, - { 6, 5, 12, 8, 6, 0 }, { 6, 6, 12, 8, 6, 0 }, { 6, 7, 11, 8, 6, 0 }, { 6, 8, 11, 8, 6, 0 }, { 6, 9, 10, 8, 6, 0 }, - { 6, 10, 10, 8, 6, 0 }, { 6, 11, 9, 8, 6, 0 }, { 6, 12, 9, 8, 6, 0 }, { 6, 13, 8, 8, 6, 0 }, { 6, 14, 8, 8, 6, 0 }, - { 6, 15, 7, 8, 6, 0 }, { 6, 16, 7, 8, 6, 0 }, { 6, 17, 6, 8, 6, 0 }, { 6, 18, 6, 8, 6, 0 }, { 6, 19, 5, 8, 6, 0 }, - { 6, 20, 5, 8, 6, 0 }, { 6, 21, 4, 8, 6, 0 }, { 6, 22, 4, 8, 6, 0 }, { 6, 23, 3, 8, 6, 0 }, { 6, 24, 3, 8, 6, 0 }, - { 6, 25, 2, 8, 6, 0 }, { 6, 26, 2, 8, 6, 0 }, { 6, 27, 1, 8, 6, 0 }, { 6, 28, 1, 8, 6, 0 }, { 6, 29, 0, 8, 6, 0 }, - { 6, 30, 0, 8, 6, 0 }, { 6, 31, -1, 8, 6, 0 }, + 32, { + { 6, 0, 15, 8, 6, 0 }, { 6, 1, 14, 8, 6, 0 }, { 6, 2, 14, 8, 6, 0 }, { 6, 3, 13, 8, 6, 0 }, { 6, 4, 13, 8, 6, 0 }, + { 6, 5, 12, 8, 6, 0 }, { 6, 6, 12, 8, 6, 0 }, { 6, 7, 11, 8, 6, 0 }, { 6, 8, 11, 8, 6, 0 }, { 6, 9, 10, 8, 6, 0 }, + { 6, 10, 10, 8, 6, 0 }, { 6, 11, 9, 8, 6, 0 }, { 6, 12, 9, 8, 6, 0 }, { 6, 13, 8, 8, 6, 0 }, { 6, 14, 8, 8, 6, 0 }, + { 6, 15, 7, 8, 6, 0 }, { 6, 16, 7, 8, 6, 0 }, { 6, 17, 6, 8, 6, 0 }, { 6, 18, 6, 8, 6, 0 }, { 6, 19, 5, 8, 6, 0 }, + { 6, 20, 5, 8, 6, 0 }, { 6, 21, 4, 8, 6, 0 }, { 6, 22, 4, 8, 6, 0 }, { 6, 23, 3, 8, 6, 0 }, { 6, 24, 3, 8, 6, 0 }, + { 6, 25, 2, 8, 6, 0 }, { 6, 26, 2, 8, 6, 0 }, { 6, 27, 1, 8, 6, 0 }, { 6, 28, 1, 8, 6, 0 }, { 6, 29, 0, 8, 6, 0 }, + { 6, 30, 0, 8, 6, 0 }, { 6, 31, -1, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D023A = { - 32, { - { 0, 26, 15, 16, 6, 0 }, { 1, 26, 14, 16, 6, 0 }, { 2, 26, 14, 16, 6, 0 }, { 3, 26, 13, 16, 6, 0 }, { 4, 26, 13, 16, 6, 0 }, - { 5, 26, 12, 16, 6, 0 }, { 6, 26, 12, 16, 6, 0 }, { 7, 26, 11, 16, 6, 0 }, { 8, 26, 11, 16, 6, 0 }, { 9, 26, 10, 16, 6, 0 }, - { 10, 26, 10, 16, 6, 0 }, { 11, 26, 9, 16, 6, 0 }, { 12, 26, 9, 16, 6, 0 }, { 13, 26, 8, 16, 6, 0 }, { 14, 26, 8, 16, 6, 0 }, - { 15, 26, 7, 16, 6, 0 }, { 16, 26, 7, 16, 6, 0 }, { 17, 26, 6, 16, 6, 0 }, { 18, 26, 6, 16, 6, 0 }, { 19, 26, 5, 16, 6, 0 }, - { 20, 26, 5, 16, 6, 0 }, { 21, 26, 4, 16, 6, 0 }, { 22, 26, 4, 16, 6, 0 }, { 23, 26, 3, 16, 6, 0 }, { 24, 26, 3, 16, 6, 0 }, - { 25, 26, 2, 16, 6, 0 }, { 26, 26, 2, 16, 6, 0 }, { 27, 26, 1, 16, 6, 0 }, { 28, 26, 1, 16, 6, 0 }, { 29, 26, 0, 16, 6, 0 }, - { 30, 26, 0, 16, 6, 0 }, { 31, 26, -1, 16, 6, 0 }, + 32, { + { 0, 26, 15, 16, 6, 0 }, { 1, 26, 14, 16, 6, 0 }, { 2, 26, 14, 16, 6, 0 }, { 3, 26, 13, 16, 6, 0 }, { 4, 26, 13, 16, 6, 0 }, + { 5, 26, 12, 16, 6, 0 }, { 6, 26, 12, 16, 6, 0 }, { 7, 26, 11, 16, 6, 0 }, { 8, 26, 11, 16, 6, 0 }, { 9, 26, 10, 16, 6, 0 }, + { 10, 26, 10, 16, 6, 0 }, { 11, 26, 9, 16, 6, 0 }, { 12, 26, 9, 16, 6, 0 }, { 13, 26, 8, 16, 6, 0 }, { 14, 26, 8, 16, 6, 0 }, + { 15, 26, 7, 16, 6, 0 }, { 16, 26, 7, 16, 6, 0 }, { 17, 26, 6, 16, 6, 0 }, { 18, 26, 6, 16, 6, 0 }, { 19, 26, 5, 16, 6, 0 }, + { 20, 26, 5, 16, 6, 0 }, { 21, 26, 4, 16, 6, 0 }, { 22, 26, 4, 16, 6, 0 }, { 23, 26, 3, 16, 6, 0 }, { 24, 26, 3, 16, 6, 0 }, + { 25, 26, 2, 16, 6, 0 }, { 26, 26, 2, 16, 6, 0 }, { 27, 26, 1, 16, 6, 0 }, { 28, 26, 1, 16, 6, 0 }, { 29, 26, 0, 16, 6, 0 }, + { 30, 26, 0, 16, 6, 0 }, { 31, 26, -1, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8D035C = { - 32, { - { 26, 31, 15, 24, 6, 0 }, { 26, 30, 15, 24, 6, 0 }, { 26, 29, 14, 24, 6, 0 }, { 26, 28, 14, 24, 6, 0 }, { 26, 27, 13, 24, 6, 0 }, - { 26, 26, 13, 24, 6, 0 }, { 26, 25, 12, 24, 6, 0 }, { 26, 24, 12, 24, 6, 0 }, { 26, 23, 11, 24, 6, 0 }, { 26, 22, 11, 24, 6, 0 }, - { 26, 21, 10, 24, 6, 0 }, { 26, 20, 10, 24, 6, 0 }, { 26, 19, 9, 24, 6, 0 }, { 26, 18, 9, 24, 6, 0 }, { 26, 17, 8, 24, 6, 0 }, - { 26, 16, 8, 24, 6, 0 }, { 26, 15, 7, 24, 6, 0 }, { 26, 14, 7, 24, 6, 0 }, { 26, 13, 6, 24, 6, 0 }, { 26, 12, 6, 24, 6, 0 }, - { 26, 11, 5, 24, 6, 0 }, { 26, 10, 5, 24, 6, 0 }, { 26, 9, 4, 24, 6, 0 }, { 26, 8, 4, 24, 6, 0 }, { 26, 7, 3, 24, 6, 0 }, - { 26, 6, 3, 24, 6, 0 }, { 26, 5, 2, 24, 6, 0 }, { 26, 4, 2, 24, 6, 0 }, { 26, 3, 1, 24, 6, 0 }, { 26, 2, 1, 24, 6, 0 }, - { 26, 1, 0, 24, 6, 0 }, { 26, 0, 0, 24, 6, 0 }, + 32, { + { 26, 31, 15, 24, 6, 0 }, { 26, 30, 15, 24, 6, 0 }, { 26, 29, 14, 24, 6, 0 }, { 26, 28, 14, 24, 6, 0 }, { 26, 27, 13, 24, 6, 0 }, + { 26, 26, 13, 24, 6, 0 }, { 26, 25, 12, 24, 6, 0 }, { 26, 24, 12, 24, 6, 0 }, { 26, 23, 11, 24, 6, 0 }, { 26, 22, 11, 24, 6, 0 }, + { 26, 21, 10, 24, 6, 0 }, { 26, 20, 10, 24, 6, 0 }, { 26, 19, 9, 24, 6, 0 }, { 26, 18, 9, 24, 6, 0 }, { 26, 17, 8, 24, 6, 0 }, + { 26, 16, 8, 24, 6, 0 }, { 26, 15, 7, 24, 6, 0 }, { 26, 14, 7, 24, 6, 0 }, { 26, 13, 6, 24, 6, 0 }, { 26, 12, 6, 24, 6, 0 }, + { 26, 11, 5, 24, 6, 0 }, { 26, 10, 5, 24, 6, 0 }, { 26, 9, 4, 24, 6, 0 }, { 26, 8, 4, 24, 6, 0 }, { 26, 7, 3, 24, 6, 0 }, + { 26, 6, 3, 24, 6, 0 }, { 26, 5, 2, 24, 6, 0 }, { 26, 4, 2, 24, 6, 0 }, { 26, 3, 1, 24, 6, 0 }, { 26, 2, 1, 24, 6, 0 }, + { 26, 1, 0, 24, 6, 0 }, { 26, 0, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CF6E6 = { - 32, { - { 31, 6, 8, 0, 0, 0 }, { 30, 6, 8, 0, 0, 0 }, { 29, 6, 8, 0, 0, 0 }, { 28, 6, 8, 0, 0, 0 }, { 27, 6, 8, 0, 0, 0 }, - { 26, 6, 8, 0, 0, 0 }, { 25, 6, 8, 0, 0, 0 }, { 24, 6, 8, 0, 0, 0 }, { 23, 6, 7, 0, 5, 0 }, { 22, 6, 7, 0, 5, 0 }, - { 21, 6, 7, 0, 5, 0 }, { 20, 6, 7, 0, 5, 0 }, { 19, 6, 7, 0, 5, 0 }, { 18, 6, 7, 0, 5, 0 }, { 17, 6, 6, 0, 5, 0 }, - { 16, 6, 6, 0, 5, 0 }, { 15, 6, 6, 0, 5, 0 }, { 14, 6, 6, 0, 5, 0 }, { 13, 6, 5, 0, 5, 0 }, { 12, 6, 5, 0, 5, 0 }, - { 11, 6, 5, 0, 5, 0 }, { 10, 6, 4, 0, 5, 0 }, { 9, 6, 4, 0, 5, 0 }, { 8, 6, 4, 0, 5, 0 }, { 7, 6, 3, 0, 6, 0 }, - { 6, 6, 3, 0, 6, 0 }, { 5, 6, 2, 0, 6, 0 }, { 4, 6, 2, 0, 6, 0 }, { 3, 6, 1, 0, 6, 0 }, { 2, 6, 1, 0, 6, 0 }, - { 1, 6, 0, 0, 6, 0 }, { 0, 6, 0, 0, 6, 0 }, + 32, { + { 31, 6, 8, 0, 0, 0 }, { 30, 6, 8, 0, 0, 0 }, { 29, 6, 8, 0, 0, 0 }, { 28, 6, 8, 0, 0, 0 }, { 27, 6, 8, 0, 0, 0 }, + { 26, 6, 8, 0, 0, 0 }, { 25, 6, 8, 0, 0, 0 }, { 24, 6, 8, 0, 0, 0 }, { 23, 6, 7, 0, 5, 0 }, { 22, 6, 7, 0, 5, 0 }, + { 21, 6, 7, 0, 5, 0 }, { 20, 6, 7, 0, 5, 0 }, { 19, 6, 7, 0, 5, 0 }, { 18, 6, 7, 0, 5, 0 }, { 17, 6, 6, 0, 5, 0 }, + { 16, 6, 6, 0, 5, 0 }, { 15, 6, 6, 0, 5, 0 }, { 14, 6, 6, 0, 5, 0 }, { 13, 6, 5, 0, 5, 0 }, { 12, 6, 5, 0, 5, 0 }, + { 11, 6, 5, 0, 5, 0 }, { 10, 6, 4, 0, 5, 0 }, { 9, 6, 4, 0, 5, 0 }, { 8, 6, 4, 0, 5, 0 }, { 7, 6, 3, 0, 6, 0 }, + { 6, 6, 3, 0, 6, 0 }, { 5, 6, 2, 0, 6, 0 }, { 4, 6, 2, 0, 6, 0 }, { 3, 6, 1, 0, 6, 0 }, { 2, 6, 1, 0, 6, 0 }, + { 1, 6, 0, 0, 6, 0 }, { 0, 6, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CF808 = { - 32, { - { 6, 0, 8, 8, 0, 0 }, { 6, 1, 8, 8, 0, 0 }, { 6, 2, 8, 8, 0, 0 }, { 6, 3, 8, 8, 0, 0 }, { 6, 4, 8, 8, 0, 0 }, - { 6, 5, 8, 8, 0, 0 }, { 6, 6, 8, 8, 0, 0 }, { 6, 7, 8, 8, 0, 0 }, { 6, 8, 7, 8, 5, 0 }, { 6, 9, 7, 8, 5, 0 }, - { 6, 10, 7, 8, 5, 0 }, { 6, 11, 7, 8, 5, 0 }, { 6, 12, 7, 8, 5, 0 }, { 6, 13, 7, 8, 5, 0 }, { 6, 14, 6, 8, 5, 0 }, - { 6, 15, 6, 8, 5, 0 }, { 6, 16, 6, 8, 5, 0 }, { 6, 17, 6, 8, 5, 0 }, { 6, 18, 5, 8, 5, 0 }, { 6, 19, 5, 8, 5, 0 }, - { 6, 20, 5, 8, 5, 0 }, { 6, 21, 4, 8, 5, 0 }, { 6, 22, 4, 8, 5, 0 }, { 6, 23, 4, 8, 5, 0 }, { 6, 24, 3, 8, 6, 0 }, - { 6, 25, 3, 8, 6, 0 }, { 6, 26, 3, 8, 6, 0 }, { 6, 27, 2, 8, 6, 0 }, { 6, 28, 2, 8, 6, 0 }, { 6, 29, 1, 8, 6, 0 }, - { 6, 30, 1, 8, 6, 0 }, { 6, 31, 0, 8, 6, 0 }, + 32, { + { 6, 0, 8, 8, 0, 0 }, { 6, 1, 8, 8, 0, 0 }, { 6, 2, 8, 8, 0, 0 }, { 6, 3, 8, 8, 0, 0 }, { 6, 4, 8, 8, 0, 0 }, + { 6, 5, 8, 8, 0, 0 }, { 6, 6, 8, 8, 0, 0 }, { 6, 7, 8, 8, 0, 0 }, { 6, 8, 7, 8, 5, 0 }, { 6, 9, 7, 8, 5, 0 }, + { 6, 10, 7, 8, 5, 0 }, { 6, 11, 7, 8, 5, 0 }, { 6, 12, 7, 8, 5, 0 }, { 6, 13, 7, 8, 5, 0 }, { 6, 14, 6, 8, 5, 0 }, + { 6, 15, 6, 8, 5, 0 }, { 6, 16, 6, 8, 5, 0 }, { 6, 17, 6, 8, 5, 0 }, { 6, 18, 5, 8, 5, 0 }, { 6, 19, 5, 8, 5, 0 }, + { 6, 20, 5, 8, 5, 0 }, { 6, 21, 4, 8, 5, 0 }, { 6, 22, 4, 8, 5, 0 }, { 6, 23, 4, 8, 5, 0 }, { 6, 24, 3, 8, 6, 0 }, + { 6, 25, 3, 8, 6, 0 }, { 6, 26, 3, 8, 6, 0 }, { 6, 27, 2, 8, 6, 0 }, { 6, 28, 2, 8, 6, 0 }, { 6, 29, 1, 8, 6, 0 }, + { 6, 30, 1, 8, 6, 0 }, { 6, 31, 0, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CF92A = { - 32, { - { 0, 26, 8, 16, 0, 0 }, { 1, 26, 8, 16, 0, 0 }, { 2, 26, 8, 16, 0, 0 }, { 3, 26, 8, 16, 0, 0 }, { 4, 26, 8, 16, 0, 0 }, - { 5, 26, 8, 16, 0, 0 }, { 6, 26, 8, 16, 0, 0 }, { 7, 26, 8, 16, 0, 0 }, { 8, 26, 7, 16, 5, 0 }, { 9, 26, 7, 16, 5, 0 }, - { 10, 26, 7, 16, 5, 0 }, { 11, 26, 7, 16, 5, 0 }, { 12, 26, 7, 16, 5, 0 }, { 13, 26, 7, 16, 5, 0 }, { 14, 26, 6, 16, 5, 0 }, - { 15, 26, 6, 16, 5, 0 }, { 16, 26, 6, 16, 5, 0 }, { 17, 26, 6, 16, 5, 0 }, { 18, 26, 5, 16, 5, 0 }, { 19, 26, 5, 16, 5, 0 }, - { 20, 26, 5, 16, 5, 0 }, { 21, 26, 4, 16, 5, 0 }, { 22, 26, 4, 16, 5, 0 }, { 23, 26, 4, 16, 5, 0 }, { 24, 26, 3, 16, 6, 0 }, - { 25, 26, 3, 16, 6, 0 }, { 26, 26, 3, 16, 6, 0 }, { 27, 26, 2, 16, 6, 0 }, { 28, 26, 2, 16, 6, 0 }, { 29, 26, 1, 16, 6, 0 }, - { 30, 26, 1, 16, 6, 0 }, { 31, 26, 0, 16, 6, 0 }, + 32, { + { 0, 26, 8, 16, 0, 0 }, { 1, 26, 8, 16, 0, 0 }, { 2, 26, 8, 16, 0, 0 }, { 3, 26, 8, 16, 0, 0 }, { 4, 26, 8, 16, 0, 0 }, + { 5, 26, 8, 16, 0, 0 }, { 6, 26, 8, 16, 0, 0 }, { 7, 26, 8, 16, 0, 0 }, { 8, 26, 7, 16, 5, 0 }, { 9, 26, 7, 16, 5, 0 }, + { 10, 26, 7, 16, 5, 0 }, { 11, 26, 7, 16, 5, 0 }, { 12, 26, 7, 16, 5, 0 }, { 13, 26, 7, 16, 5, 0 }, { 14, 26, 6, 16, 5, 0 }, + { 15, 26, 6, 16, 5, 0 }, { 16, 26, 6, 16, 5, 0 }, { 17, 26, 6, 16, 5, 0 }, { 18, 26, 5, 16, 5, 0 }, { 19, 26, 5, 16, 5, 0 }, + { 20, 26, 5, 16, 5, 0 }, { 21, 26, 4, 16, 5, 0 }, { 22, 26, 4, 16, 5, 0 }, { 23, 26, 4, 16, 5, 0 }, { 24, 26, 3, 16, 6, 0 }, + { 25, 26, 3, 16, 6, 0 }, { 26, 26, 3, 16, 6, 0 }, { 27, 26, 2, 16, 6, 0 }, { 28, 26, 2, 16, 6, 0 }, { 29, 26, 1, 16, 6, 0 }, + { 30, 26, 1, 16, 6, 0 }, { 31, 26, 0, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CFA4C = { - 32, { - { 26, 31, 8, 24, 0, 0 }, { 26, 30, 8, 24, 0, 0 }, { 26, 29, 8, 24, 0, 0 }, { 26, 28, 8, 24, 0, 0 }, { 26, 27, 8, 24, 0, 0 }, - { 26, 26, 8, 24, 0, 0 }, { 26, 25, 8, 24, 0, 0 }, { 26, 24, 8, 24, 0, 0 }, { 26, 23, 7, 24, 5, 0 }, { 26, 22, 7, 24, 5, 0 }, - { 26, 21, 7, 24, 5, 0 }, { 26, 20, 7, 24, 5, 0 }, { 26, 19, 7, 24, 5, 0 }, { 26, 18, 7, 24, 5, 0 }, { 26, 17, 6, 24, 5, 0 }, - { 26, 16, 6, 24, 5, 0 }, { 26, 15, 6, 24, 5, 0 }, { 26, 14, 6, 24, 5, 0 }, { 26, 13, 5, 24, 5, 0 }, { 26, 12, 5, 24, 5, 0 }, - { 26, 11, 5, 24, 5, 0 }, { 26, 10, 4, 24, 5, 0 }, { 26, 9, 4, 24, 5, 0 }, { 26, 8, 4, 24, 5, 0 }, { 26, 7, 3, 24, 6, 0 }, - { 26, 6, 3, 24, 6, 0 }, { 26, 5, 2, 24, 6, 0 }, { 26, 4, 2, 24, 6, 0 }, { 26, 3, 1, 24, 6, 0 }, { 26, 2, 1, 24, 6, 0 }, - { 26, 1, 0, 24, 6, 0 }, { 26, 0, 0, 24, 6, 0 }, + 32, { + { 26, 31, 8, 24, 0, 0 }, { 26, 30, 8, 24, 0, 0 }, { 26, 29, 8, 24, 0, 0 }, { 26, 28, 8, 24, 0, 0 }, { 26, 27, 8, 24, 0, 0 }, + { 26, 26, 8, 24, 0, 0 }, { 26, 25, 8, 24, 0, 0 }, { 26, 24, 8, 24, 0, 0 }, { 26, 23, 7, 24, 5, 0 }, { 26, 22, 7, 24, 5, 0 }, + { 26, 21, 7, 24, 5, 0 }, { 26, 20, 7, 24, 5, 0 }, { 26, 19, 7, 24, 5, 0 }, { 26, 18, 7, 24, 5, 0 }, { 26, 17, 6, 24, 5, 0 }, + { 26, 16, 6, 24, 5, 0 }, { 26, 15, 6, 24, 5, 0 }, { 26, 14, 6, 24, 5, 0 }, { 26, 13, 5, 24, 5, 0 }, { 26, 12, 5, 24, 5, 0 }, + { 26, 11, 5, 24, 5, 0 }, { 26, 10, 4, 24, 5, 0 }, { 26, 9, 4, 24, 5, 0 }, { 26, 8, 4, 24, 5, 0 }, { 26, 7, 3, 24, 6, 0 }, + { 26, 6, 3, 24, 6, 0 }, { 26, 5, 2, 24, 6, 0 }, { 26, 4, 2, 24, 6, 0 }, { 26, 3, 1, 24, 6, 0 }, { 26, 2, 1, 24, 6, 0 }, + { 26, 1, 0, 24, 6, 0 }, { 26, 0, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CF25E = { - 32, { - { 31, 6, 7, 0, 6, 0 }, { 30, 6, 7, 0, 6, 0 }, { 29, 6, 6, 0, 6, 0 }, { 28, 6, 6, 0, 6, 0 }, { 27, 6, 5, 0, 6, 0 }, - { 26, 6, 5, 0, 6, 0 }, { 25, 6, 4, 0, 6, 0 }, { 24, 6, 4, 0, 6, 0 }, { 23, 6, 4, 0, 5, 0 }, { 22, 6, 3, 0, 5, 0 }, - { 21, 6, 3, 0, 5, 0 }, { 20, 6, 3, 0, 5, 0 }, { 19, 6, 2, 0, 5, 0 }, { 18, 6, 2, 0, 5, 0 }, { 17, 6, 2, 0, 5, 0 }, - { 16, 6, 2, 0, 5, 0 }, { 15, 6, 1, 0, 5, 0 }, { 14, 6, 1, 0, 5, 0 }, { 13, 6, 1, 0, 5, 0 }, { 12, 6, 1, 0, 5, 0 }, - { 11, 6, 1, 0, 5, 0 }, { 10, 6, 1, 0, 5, 0 }, { 9, 6, 0, 0, 0, 0 }, { 8, 6, 0, 0, 0, 0 }, { 7, 6, 0, 0, 0, 0 }, - { 6, 6, 0, 0, 0, 0 }, { 5, 6, 0, 0, 0, 0 }, { 4, 6, 0, 0, 0, 0 }, { 3, 6, 0, 0, 0, 0 }, { 2, 6, 0, 0, 0, 0 }, - { 1, 6, 0, 0, 0, 0 }, { 0, 6, 0, 0, 0, 0 }, + 32, { + { 31, 6, 7, 0, 6, 0 }, { 30, 6, 7, 0, 6, 0 }, { 29, 6, 6, 0, 6, 0 }, { 28, 6, 6, 0, 6, 0 }, { 27, 6, 5, 0, 6, 0 }, + { 26, 6, 5, 0, 6, 0 }, { 25, 6, 4, 0, 6, 0 }, { 24, 6, 4, 0, 6, 0 }, { 23, 6, 4, 0, 5, 0 }, { 22, 6, 3, 0, 5, 0 }, + { 21, 6, 3, 0, 5, 0 }, { 20, 6, 3, 0, 5, 0 }, { 19, 6, 2, 0, 5, 0 }, { 18, 6, 2, 0, 5, 0 }, { 17, 6, 2, 0, 5, 0 }, + { 16, 6, 2, 0, 5, 0 }, { 15, 6, 1, 0, 5, 0 }, { 14, 6, 1, 0, 5, 0 }, { 13, 6, 1, 0, 5, 0 }, { 12, 6, 1, 0, 5, 0 }, + { 11, 6, 1, 0, 5, 0 }, { 10, 6, 1, 0, 5, 0 }, { 9, 6, 0, 0, 0, 0 }, { 8, 6, 0, 0, 0, 0 }, { 7, 6, 0, 0, 0, 0 }, + { 6, 6, 0, 0, 0, 0 }, { 5, 6, 0, 0, 0, 0 }, { 4, 6, 0, 0, 0, 0 }, { 3, 6, 0, 0, 0, 0 }, { 2, 6, 0, 0, 0, 0 }, + { 1, 6, 0, 0, 0, 0 }, { 0, 6, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CF380 = { - 32, { - { 6, 0, 8, 8, 6, 0 }, { 6, 1, 7, 8, 6, 0 }, { 6, 2, 7, 8, 6, 0 }, { 6, 3, 6, 8, 6, 0 }, { 6, 4, 6, 8, 6, 0 }, - { 6, 5, 5, 8, 6, 0 }, { 6, 6, 5, 8, 6, 0 }, { 6, 7, 4, 8, 6, 0 }, { 6, 8, 4, 8, 5, 0 }, { 6, 9, 3, 8, 5, 0 }, - { 6, 10, 3, 8, 5, 0 }, { 6, 11, 3, 8, 5, 0 }, { 6, 12, 2, 8, 5, 0 }, { 6, 13, 2, 8, 5, 0 }, { 6, 14, 2, 8, 5, 0 }, - { 6, 15, 2, 8, 5, 0 }, { 6, 16, 1, 8, 5, 0 }, { 6, 17, 1, 8, 5, 0 }, { 6, 18, 1, 8, 5, 0 }, { 6, 19, 1, 8, 5, 0 }, - { 6, 20, 1, 8, 5, 0 }, { 6, 21, 1, 8, 5, 0 }, { 6, 22, 0, 8, 0, 0 }, { 6, 23, 0, 8, 0, 0 }, { 6, 24, 0, 8, 0, 0 }, - { 6, 25, 0, 8, 0, 0 }, { 6, 26, 0, 8, 0, 0 }, { 6, 27, 0, 8, 0, 0 }, { 6, 28, 0, 8, 0, 0 }, { 6, 29, 0, 8, 0, 0 }, - { 6, 30, 0, 8, 0, 0 }, { 6, 31, 0, 8, 0, 0 }, + 32, { + { 6, 0, 8, 8, 6, 0 }, { 6, 1, 7, 8, 6, 0 }, { 6, 2, 7, 8, 6, 0 }, { 6, 3, 6, 8, 6, 0 }, { 6, 4, 6, 8, 6, 0 }, + { 6, 5, 5, 8, 6, 0 }, { 6, 6, 5, 8, 6, 0 }, { 6, 7, 4, 8, 6, 0 }, { 6, 8, 4, 8, 5, 0 }, { 6, 9, 3, 8, 5, 0 }, + { 6, 10, 3, 8, 5, 0 }, { 6, 11, 3, 8, 5, 0 }, { 6, 12, 2, 8, 5, 0 }, { 6, 13, 2, 8, 5, 0 }, { 6, 14, 2, 8, 5, 0 }, + { 6, 15, 2, 8, 5, 0 }, { 6, 16, 1, 8, 5, 0 }, { 6, 17, 1, 8, 5, 0 }, { 6, 18, 1, 8, 5, 0 }, { 6, 19, 1, 8, 5, 0 }, + { 6, 20, 1, 8, 5, 0 }, { 6, 21, 1, 8, 5, 0 }, { 6, 22, 0, 8, 0, 0 }, { 6, 23, 0, 8, 0, 0 }, { 6, 24, 0, 8, 0, 0 }, + { 6, 25, 0, 8, 0, 0 }, { 6, 26, 0, 8, 0, 0 }, { 6, 27, 0, 8, 0, 0 }, { 6, 28, 0, 8, 0, 0 }, { 6, 29, 0, 8, 0, 0 }, + { 6, 30, 0, 8, 0, 0 }, { 6, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CF4A2 = { - 32, { - { 0, 26, 8, 16, 6, 0 }, { 1, 26, 7, 16, 6, 0 }, { 2, 26, 7, 16, 6, 0 }, { 3, 26, 6, 16, 6, 0 }, { 4, 26, 6, 16, 6, 0 }, - { 5, 26, 5, 16, 6, 0 }, { 6, 26, 5, 16, 6, 0 }, { 7, 26, 4, 16, 6, 0 }, { 8, 26, 4, 16, 5, 0 }, { 9, 26, 3, 16, 5, 0 }, - { 10, 26, 3, 16, 5, 0 }, { 11, 26, 3, 16, 5, 0 }, { 12, 26, 2, 16, 5, 0 }, { 13, 26, 2, 16, 5, 0 }, { 14, 26, 2, 16, 5, 0 }, - { 15, 26, 2, 16, 5, 0 }, { 16, 26, 1, 16, 5, 0 }, { 17, 26, 1, 16, 5, 0 }, { 18, 26, 1, 16, 5, 0 }, { 19, 26, 1, 16, 5, 0 }, - { 20, 26, 1, 16, 5, 0 }, { 21, 26, 1, 16, 5, 0 }, { 22, 26, 0, 16, 0, 0 }, { 23, 26, 0, 16, 0, 0 }, { 24, 26, 0, 16, 0, 0 }, - { 25, 26, 0, 16, 0, 0 }, { 26, 26, 0, 16, 0, 0 }, { 27, 26, 0, 16, 0, 0 }, { 28, 26, 0, 16, 0, 0 }, { 29, 26, 0, 16, 0, 0 }, - { 30, 26, 0, 16, 0, 0 }, { 31, 26, 0, 16, 0, 0 }, + 32, { + { 0, 26, 8, 16, 6, 0 }, { 1, 26, 7, 16, 6, 0 }, { 2, 26, 7, 16, 6, 0 }, { 3, 26, 6, 16, 6, 0 }, { 4, 26, 6, 16, 6, 0 }, + { 5, 26, 5, 16, 6, 0 }, { 6, 26, 5, 16, 6, 0 }, { 7, 26, 4, 16, 6, 0 }, { 8, 26, 4, 16, 5, 0 }, { 9, 26, 3, 16, 5, 0 }, + { 10, 26, 3, 16, 5, 0 }, { 11, 26, 3, 16, 5, 0 }, { 12, 26, 2, 16, 5, 0 }, { 13, 26, 2, 16, 5, 0 }, { 14, 26, 2, 16, 5, 0 }, + { 15, 26, 2, 16, 5, 0 }, { 16, 26, 1, 16, 5, 0 }, { 17, 26, 1, 16, 5, 0 }, { 18, 26, 1, 16, 5, 0 }, { 19, 26, 1, 16, 5, 0 }, + { 20, 26, 1, 16, 5, 0 }, { 21, 26, 1, 16, 5, 0 }, { 22, 26, 0, 16, 0, 0 }, { 23, 26, 0, 16, 0, 0 }, { 24, 26, 0, 16, 0, 0 }, + { 25, 26, 0, 16, 0, 0 }, { 26, 26, 0, 16, 0, 0 }, { 27, 26, 0, 16, 0, 0 }, { 28, 26, 0, 16, 0, 0 }, { 29, 26, 0, 16, 0, 0 }, + { 30, 26, 0, 16, 0, 0 }, { 31, 26, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CF5C4 = { - 32, { - { 26, 31, 7, 24, 6, 0 }, { 26, 30, 7, 24, 6, 0 }, { 26, 29, 6, 24, 6, 0 }, { 26, 28, 6, 24, 6, 0 }, { 26, 27, 5, 24, 6, 0 }, - { 26, 26, 5, 24, 6, 0 }, { 26, 25, 4, 24, 6, 0 }, { 26, 24, 4, 24, 6, 0 }, { 26, 23, 4, 24, 5, 0 }, { 26, 22, 3, 24, 5, 0 }, - { 26, 21, 3, 24, 5, 0 }, { 26, 20, 3, 24, 5, 0 }, { 26, 19, 2, 24, 5, 0 }, { 26, 18, 2, 24, 5, 0 }, { 26, 17, 2, 24, 5, 0 }, - { 26, 16, 2, 24, 5, 0 }, { 26, 15, 1, 24, 5, 0 }, { 26, 14, 1, 24, 5, 0 }, { 26, 13, 1, 24, 5, 0 }, { 26, 12, 1, 24, 5, 0 }, - { 26, 11, 1, 24, 5, 0 }, { 26, 10, 1, 24, 5, 0 }, { 26, 9, 0, 24, 0, 0 }, { 26, 8, 0, 24, 0, 0 }, { 26, 7, 0, 24, 0, 0 }, - { 26, 6, 0, 24, 0, 0 }, { 26, 5, 0, 24, 0, 0 }, { 26, 4, 0, 24, 0, 0 }, { 26, 3, 0, 24, 0, 0 }, { 26, 2, 0, 24, 0, 0 }, - { 26, 1, 0, 24, 0, 0 }, { 26, 0, 0, 24, 0, 0 }, + 32, { + { 26, 31, 7, 24, 6, 0 }, { 26, 30, 7, 24, 6, 0 }, { 26, 29, 6, 24, 6, 0 }, { 26, 28, 6, 24, 6, 0 }, { 26, 27, 5, 24, 6, 0 }, + { 26, 26, 5, 24, 6, 0 }, { 26, 25, 4, 24, 6, 0 }, { 26, 24, 4, 24, 6, 0 }, { 26, 23, 4, 24, 5, 0 }, { 26, 22, 3, 24, 5, 0 }, + { 26, 21, 3, 24, 5, 0 }, { 26, 20, 3, 24, 5, 0 }, { 26, 19, 2, 24, 5, 0 }, { 26, 18, 2, 24, 5, 0 }, { 26, 17, 2, 24, 5, 0 }, + { 26, 16, 2, 24, 5, 0 }, { 26, 15, 1, 24, 5, 0 }, { 26, 14, 1, 24, 5, 0 }, { 26, 13, 1, 24, 5, 0 }, { 26, 12, 1, 24, 5, 0 }, + { 26, 11, 1, 24, 5, 0 }, { 26, 10, 1, 24, 5, 0 }, { 26, 9, 0, 24, 0, 0 }, { 26, 8, 0, 24, 0, 0 }, { 26, 7, 0, 24, 0, 0 }, + { 26, 6, 0, 24, 0, 0 }, { 26, 5, 0, 24, 0, 0 }, { 26, 4, 0, 24, 0, 0 }, { 26, 3, 0, 24, 0, 0 }, { 26, 2, 0, 24, 0, 0 }, + { 26, 1, 0, 24, 0, 0 }, { 26, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FD922 = { - 9, { - { 31, 6, 0, 0, 0, 0 }, { 30, 6, 0, 30, 0, 0 }, { 29, 5, 0, 30, 0, 0 }, { 28, 5, 0, 28, 0, 0 }, { 27, 4, 0, 28, 0, 0 }, - { 27, 3, 0, 26, 0, 0 }, { 26, 2, 0, 26, 0, 0 }, { 26, 1, 0, 24, 0, 0 }, { 26, 0, 0, 24, 0, 0 }, + 9, { + { 31, 6, 0, 0, 0, 0 }, { 30, 6, 0, 30, 0, 0 }, { 29, 5, 0, 30, 0, 0 }, { 28, 5, 0, 28, 0, 0 }, { 27, 4, 0, 28, 0, 0 }, + { 27, 3, 0, 26, 0, 0 }, { 26, 2, 0, 26, 0, 0 }, { 26, 1, 0, 24, 0, 0 }, { 26, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FD975 = { - 10, { - { 6, 0, 0, 8, 0, 0 }, { 6, 1, 0, 8, 0, 0 }, { 6, 2, 0, 6, 0, 0 }, { 5, 3, 0, 6, 0, 0 }, { 5, 4, 0, 4, 0, 0 }, - { 4, 5, 0, 4, 0, 0 }, { 3, 5, 0, 2, 0, 0 }, { 2, 6, 0, 2, 0, 0 }, { 1, 6, 0, 0, 0, 0 }, { 0, 6, 0, 0, 0, 0 }, + 10, { + { 6, 0, 0, 8, 0, 0 }, { 6, 1, 0, 8, 0, 0 }, { 6, 2, 0, 6, 0, 0 }, { 5, 3, 0, 6, 0, 0 }, { 5, 4, 0, 4, 0, 0 }, + { 4, 5, 0, 4, 0, 0 }, { 3, 5, 0, 2, 0, 0 }, { 2, 6, 0, 2, 0, 0 }, { 1, 6, 0, 0, 0, 0 }, { 0, 6, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FD9D1 = { - 9, { - { 0, 26, 0, 16, 0, 0 }, { 1, 26, 0, 16, 0, 0 }, { 2, 26, 0, 14, 0, 0 }, { 3, 27, 0, 14, 0, 0 }, { 4, 27, 0, 12, 0, 0 }, - { 5, 28, 0, 12, 0, 0 }, { 5, 29, 0, 10, 0, 0 }, { 6, 30, 0, 10, 0, 0 }, { 6, 31, 0, 8, 0, 0 }, + 9, { + { 0, 26, 0, 16, 0, 0 }, { 1, 26, 0, 16, 0, 0 }, { 2, 26, 0, 14, 0, 0 }, { 3, 27, 0, 14, 0, 0 }, { 4, 27, 0, 12, 0, 0 }, + { 5, 28, 0, 12, 0, 0 }, { 5, 29, 0, 10, 0, 0 }, { 6, 30, 0, 10, 0, 0 }, { 6, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FDA24 = { - 8, { - { 26, 31, 0, 24, 0, 0 }, { 26, 30, 0, 22, 0, 0 }, { 27, 29, 0, 22, 0, 0 }, { 27, 28, 0, 20, 0, 0 }, { 28, 27, 0, 20, 0, 0 }, - { 29, 27, 0, 18, 0, 0 }, { 30, 26, 0, 18, 0, 0 }, { 31, 26, 0, 16, 0, 0 }, + 8, { + { 26, 31, 0, 24, 0, 0 }, { 26, 30, 0, 22, 0, 0 }, { 27, 29, 0, 22, 0, 0 }, { 27, 28, 0, 20, 0, 0 }, { 28, 27, 0, 20, 0, 0 }, + { 29, 27, 0, 18, 0, 0 }, { 30, 26, 0, 18, 0, 0 }, { 31, 26, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FDA6E = { - 36, { - { 31, 6, 0, 0, 0, 0 }, { 30, 6, 0, 0, 0, 0 }, { 29, 6, 0, 0, 0, 0 }, { 28, 6, 0, 0, 0, 0 }, { 27, 6, 0, 0, 0, 0 }, - { 26, 7, 0, 1, 0, 0 }, { 25, 7, 0, 1, 0, 0 }, { 24, 7, 0, 1, 0, 0 }, { 23, 7, 0, 1, 0, 0 }, { 22, 8, 0, 2, 0, 0 }, - { 21, 8, 0, 2, 0, 0 }, { 20, 8, 0, 2, 0, 0 }, { 19, 9, 0, 3, 0, 0 }, { 18, 9, 0, 3, 0, 0 }, { 17, 10, 0, 3, 0, 0 }, - { 16, 11, 0, 3, 0, 0 }, { 15, 12, 0, 4, 0, 0 }, { 14, 13, 0, 4, 0, 0 }, { 13, 14, 0, 4, 0, 0 }, { 12, 15, 0, 4, 0, 0 }, - { 11, 16, 0, 5, 0, 0 }, { 10, 17, 0, 5, 0, 0 }, { 9, 18, 0, 5, 0, 0 }, { 9, 19, 0, 5, 0, 0 }, { 8, 20, 0, 6, 0, 0 }, - { 8, 21, 0, 6, 0, 0 }, { 8, 22, 0, 6, 0, 0 }, { 7, 23, 0, 7, 0, 0 }, { 7, 24, 0, 7, 0, 0 }, { 7, 25, 0, 7, 0, 0 }, - { 7, 26, 0, 7, 0, 0 }, { 6, 27, 0, 8, 0, 0 }, { 6, 28, 0, 8, 0, 0 }, { 6, 29, 0, 8, 0, 0 }, { 6, 30, 0, 8, 0, 0 }, - { 6, 31, 0, 8, 0, 0 }, + 36, { + { 31, 6, 0, 0, 0, 0 }, { 30, 6, 0, 0, 0, 0 }, { 29, 6, 0, 0, 0, 0 }, { 28, 6, 0, 0, 0, 0 }, { 27, 6, 0, 0, 0, 0 }, + { 26, 7, 0, 1, 0, 0 }, { 25, 7, 0, 1, 0, 0 }, { 24, 7, 0, 1, 0, 0 }, { 23, 7, 0, 1, 0, 0 }, { 22, 8, 0, 2, 0, 0 }, + { 21, 8, 0, 2, 0, 0 }, { 20, 8, 0, 2, 0, 0 }, { 19, 9, 0, 3, 0, 0 }, { 18, 9, 0, 3, 0, 0 }, { 17, 10, 0, 3, 0, 0 }, + { 16, 11, 0, 3, 0, 0 }, { 15, 12, 0, 4, 0, 0 }, { 14, 13, 0, 4, 0, 0 }, { 13, 14, 0, 4, 0, 0 }, { 12, 15, 0, 4, 0, 0 }, + { 11, 16, 0, 5, 0, 0 }, { 10, 17, 0, 5, 0, 0 }, { 9, 18, 0, 5, 0, 0 }, { 9, 19, 0, 5, 0, 0 }, { 8, 20, 0, 6, 0, 0 }, + { 8, 21, 0, 6, 0, 0 }, { 8, 22, 0, 6, 0, 0 }, { 7, 23, 0, 7, 0, 0 }, { 7, 24, 0, 7, 0, 0 }, { 7, 25, 0, 7, 0, 0 }, + { 7, 26, 0, 7, 0, 0 }, { 6, 27, 0, 8, 0, 0 }, { 6, 28, 0, 8, 0, 0 }, { 6, 29, 0, 8, 0, 0 }, { 6, 30, 0, 8, 0, 0 }, + { 6, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FDBB4 = { - 37, { - { 6, 0, 0, 8, 0, 0 }, { 6, 1, 0, 8, 0, 0 }, { 6, 2, 0, 8, 0, 0 }, { 6, 3, 0, 8, 0, 0 }, { 6, 4, 0, 8, 0, 0 }, - { 6, 5, 0, 8, 0, 0 }, { 7, 6, 0, 9, 0, 0 }, { 7, 7, 0, 9, 0, 0 }, { 7, 8, 0, 9, 0, 0 }, { 7, 9, 0, 9, 0, 0 }, - { 8, 10, 0, 10, 0, 0 }, { 8, 11, 0, 10, 0, 0 }, { 8, 12, 0, 10, 0, 0 }, { 9, 13, 0, 11, 0, 0 }, { 9, 14, 0, 11, 0, 0 }, - { 10, 15, 0, 11, 0, 0 }, { 11, 16, 0, 11, 0, 0 }, { 12, 17, 0, 12, 0, 0 }, { 13, 18, 0, 12, 0, 0 }, { 14, 19, 0, 12, 0, 0 }, - { 15, 20, 0, 12, 0, 0 }, { 16, 21, 0, 13, 0, 0 }, { 17, 22, 0, 13, 0, 0 }, { 18, 23, 0, 13, 0, 0 }, { 19, 23, 0, 13, 0, 0 }, - { 20, 24, 0, 14, 0, 0 }, { 21, 24, 0, 14, 0, 0 }, { 22, 24, 0, 14, 0, 0 }, { 23, 25, 0, 15, 0, 0 }, { 24, 25, 0, 15, 0, 0 }, - { 25, 25, 0, 15, 0, 0 }, { 26, 25, 0, 15, 0, 0 }, { 27, 26, 0, 16, 0, 0 }, { 28, 26, 0, 16, 0, 0 }, { 29, 26, 0, 16, 0, 0 }, - { 30, 26, 0, 16, 0, 0 }, { 31, 26, 0, 16, 0, 0 }, + 37, { + { 6, 0, 0, 8, 0, 0 }, { 6, 1, 0, 8, 0, 0 }, { 6, 2, 0, 8, 0, 0 }, { 6, 3, 0, 8, 0, 0 }, { 6, 4, 0, 8, 0, 0 }, + { 6, 5, 0, 8, 0, 0 }, { 7, 6, 0, 9, 0, 0 }, { 7, 7, 0, 9, 0, 0 }, { 7, 8, 0, 9, 0, 0 }, { 7, 9, 0, 9, 0, 0 }, + { 8, 10, 0, 10, 0, 0 }, { 8, 11, 0, 10, 0, 0 }, { 8, 12, 0, 10, 0, 0 }, { 9, 13, 0, 11, 0, 0 }, { 9, 14, 0, 11, 0, 0 }, + { 10, 15, 0, 11, 0, 0 }, { 11, 16, 0, 11, 0, 0 }, { 12, 17, 0, 12, 0, 0 }, { 13, 18, 0, 12, 0, 0 }, { 14, 19, 0, 12, 0, 0 }, + { 15, 20, 0, 12, 0, 0 }, { 16, 21, 0, 13, 0, 0 }, { 17, 22, 0, 13, 0, 0 }, { 18, 23, 0, 13, 0, 0 }, { 19, 23, 0, 13, 0, 0 }, + { 20, 24, 0, 14, 0, 0 }, { 21, 24, 0, 14, 0, 0 }, { 22, 24, 0, 14, 0, 0 }, { 23, 25, 0, 15, 0, 0 }, { 24, 25, 0, 15, 0, 0 }, + { 25, 25, 0, 15, 0, 0 }, { 26, 25, 0, 15, 0, 0 }, { 27, 26, 0, 16, 0, 0 }, { 28, 26, 0, 16, 0, 0 }, { 29, 26, 0, 16, 0, 0 }, + { 30, 26, 0, 16, 0, 0 }, { 31, 26, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FDD03 = { - 38, { - { 0, 26, 0, 16, 0, 0 }, { 1, 26, 0, 16, 0, 0 }, { 2, 26, 0, 16, 0, 0 }, { 3, 26, 0, 16, 0, 0 }, { 4, 26, 0, 16, 0, 0 }, - { 5, 26, 0, 16, 0, 0 }, { 6, 25, 0, 17, 0, 0 }, { 7, 25, 0, 17, 0, 0 }, { 8, 25, 0, 17, 0, 0 }, { 9, 25, 0, 17, 0, 0 }, - { 10, 24, 0, 18, 0, 0 }, { 11, 24, 0, 18, 0, 0 }, { 12, 24, 0, 18, 0, 0 }, { 13, 23, 0, 19, 0, 0 }, { 14, 23, 0, 19, 0, 0 }, - { 15, 22, 0, 19, 0, 0 }, { 16, 21, 0, 19, 0, 0 }, { 17, 20, 0, 20, 0, 0 }, { 18, 19, 0, 20, 0, 0 }, { 19, 18, 0, 20, 0, 0 }, - { 20, 17, 0, 20, 0, 0 }, { 21, 16, 0, 21, 0, 0 }, { 22, 15, 0, 21, 0, 0 }, { 23, 14, 0, 21, 0, 0 }, { 23, 13, 0, 21, 0, 0 }, - { 24, 12, 0, 22, 0, 0 }, { 24, 11, 0, 22, 0, 0 }, { 24, 10, 0, 22, 0, 0 }, { 25, 9, 0, 23, 0, 0 }, { 25, 8, 0, 23, 0, 0 }, - { 25, 7, 0, 23, 0, 0 }, { 25, 6, 0, 23, 0, 0 }, { 26, 5, 0, 24, 0, 0 }, { 26, 4, 0, 24, 0, 0 }, { 26, 3, 0, 24, 0, 0 }, - { 26, 2, 0, 24, 0, 0 }, { 26, 1, 0, 24, 0, 0 }, { 26, 0, 0, 24, 0, 0 }, + 38, { + { 0, 26, 0, 16, 0, 0 }, { 1, 26, 0, 16, 0, 0 }, { 2, 26, 0, 16, 0, 0 }, { 3, 26, 0, 16, 0, 0 }, { 4, 26, 0, 16, 0, 0 }, + { 5, 26, 0, 16, 0, 0 }, { 6, 25, 0, 17, 0, 0 }, { 7, 25, 0, 17, 0, 0 }, { 8, 25, 0, 17, 0, 0 }, { 9, 25, 0, 17, 0, 0 }, + { 10, 24, 0, 18, 0, 0 }, { 11, 24, 0, 18, 0, 0 }, { 12, 24, 0, 18, 0, 0 }, { 13, 23, 0, 19, 0, 0 }, { 14, 23, 0, 19, 0, 0 }, + { 15, 22, 0, 19, 0, 0 }, { 16, 21, 0, 19, 0, 0 }, { 17, 20, 0, 20, 0, 0 }, { 18, 19, 0, 20, 0, 0 }, { 19, 18, 0, 20, 0, 0 }, + { 20, 17, 0, 20, 0, 0 }, { 21, 16, 0, 21, 0, 0 }, { 22, 15, 0, 21, 0, 0 }, { 23, 14, 0, 21, 0, 0 }, { 23, 13, 0, 21, 0, 0 }, + { 24, 12, 0, 22, 0, 0 }, { 24, 11, 0, 22, 0, 0 }, { 24, 10, 0, 22, 0, 0 }, { 25, 9, 0, 23, 0, 0 }, { 25, 8, 0, 23, 0, 0 }, + { 25, 7, 0, 23, 0, 0 }, { 25, 6, 0, 23, 0, 0 }, { 26, 5, 0, 24, 0, 0 }, { 26, 4, 0, 24, 0, 0 }, { 26, 3, 0, 24, 0, 0 }, + { 26, 2, 0, 24, 0, 0 }, { 26, 1, 0, 24, 0, 0 }, { 26, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FDE5B = { - 37, { - { 26, 31, 0, 24, 0, 0 }, { 26, 30, 0, 24, 0, 0 }, { 26, 29, 0, 24, 0, 0 }, { 26, 28, 0, 24, 0, 0 }, { 26, 27, 0, 24, 0, 0 }, - { 25, 26, 0, 25, 0, 0 }, { 25, 25, 0, 25, 0, 0 }, { 25, 24, 0, 25, 0, 0 }, { 25, 23, 0, 25, 0, 0 }, { 24, 22, 0, 26, 0, 0 }, - { 24, 21, 0, 26, 0, 0 }, { 24, 20, 0, 26, 0, 0 }, { 23, 19, 0, 27, 0, 0 }, { 23, 18, 0, 27, 0, 0 }, { 22, 17, 0, 27, 0, 0 }, - { 21, 16, 0, 27, 0, 0 }, { 20, 15, 0, 28, 0, 0 }, { 19, 14, 0, 28, 0, 0 }, { 18, 13, 0, 28, 0, 0 }, { 17, 12, 0, 28, 0, 0 }, - { 16, 11, 0, 29, 0, 0 }, { 15, 10, 0, 29, 0, 0 }, { 14, 9, 0, 29, 0, 0 }, { 13, 9, 0, 29, 0, 0 }, { 12, 8, 0, 30, 0, 0 }, - { 11, 8, 0, 30, 0, 0 }, { 10, 8, 0, 30, 0, 0 }, { 9, 7, 0, 31, 0, 0 }, { 8, 7, 0, 31, 0, 0 }, { 7, 7, 0, 31, 0, 0 }, - { 6, 7, 0, 31, 0, 0 }, { 5, 6, 0, 0, 0, 0 }, { 4, 6, 0, 0, 0, 0 }, { 3, 6, 0, 0, 0, 0 }, { 2, 6, 0, 0, 0, 0 }, - { 1, 6, 0, 0, 0, 0 }, { 0, 6, 0, 0, 0, 0 }, + 37, { + { 26, 31, 0, 24, 0, 0 }, { 26, 30, 0, 24, 0, 0 }, { 26, 29, 0, 24, 0, 0 }, { 26, 28, 0, 24, 0, 0 }, { 26, 27, 0, 24, 0, 0 }, + { 25, 26, 0, 25, 0, 0 }, { 25, 25, 0, 25, 0, 0 }, { 25, 24, 0, 25, 0, 0 }, { 25, 23, 0, 25, 0, 0 }, { 24, 22, 0, 26, 0, 0 }, + { 24, 21, 0, 26, 0, 0 }, { 24, 20, 0, 26, 0, 0 }, { 23, 19, 0, 27, 0, 0 }, { 23, 18, 0, 27, 0, 0 }, { 22, 17, 0, 27, 0, 0 }, + { 21, 16, 0, 27, 0, 0 }, { 20, 15, 0, 28, 0, 0 }, { 19, 14, 0, 28, 0, 0 }, { 18, 13, 0, 28, 0, 0 }, { 17, 12, 0, 28, 0, 0 }, + { 16, 11, 0, 29, 0, 0 }, { 15, 10, 0, 29, 0, 0 }, { 14, 9, 0, 29, 0, 0 }, { 13, 9, 0, 29, 0, 0 }, { 12, 8, 0, 30, 0, 0 }, + { 11, 8, 0, 30, 0, 0 }, { 10, 8, 0, 30, 0, 0 }, { 9, 7, 0, 31, 0, 0 }, { 8, 7, 0, 31, 0, 0 }, { 7, 7, 0, 31, 0, 0 }, + { 6, 7, 0, 31, 0, 0 }, { 5, 6, 0, 0, 0, 0 }, { 4, 6, 0, 0, 0, 0 }, { 3, 6, 0, 0, 0, 0 }, { 2, 6, 0, 0, 0, 0 }, + { 1, 6, 0, 0, 0, 0 }, { 0, 6, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CE06A = { - 61, { - { 31, 6, 0, 0, 0, 0 }, { 30, 6, 0, 0, 0, 0 }, { 29, 6, 0, 0, 0, 0 }, { 28, 6, 0, 0, 0, 0 }, { 27, 6, 0, 0, 0, 0 }, - { 26, 6, 0, 0, 0, 0 }, { 25, 6, 0, 0, 0, 0 }, { 24, 6, 0, 0, 0, 0 }, { 23, 6, 0, 0, 0, 0 }, { 22, 6, 0, 0, 0, 0 }, - { 21, 6, 0, 0, 0, 0 }, { 20, 6, 0, 0, 0, 0 }, { 19, 6, 0, 0, 0, 0 }, { 18, 6, 0, 0, 0, 0 }, { 17, 6, 0, 0, 0, 0 }, - { 16, 6, 0, 0, 0, 0 }, { 15, 6, 0, 0, 0, 0 }, { 14, 6, 0, 1, 0, 0 }, { 13, 6, 0, 1, 0, 0 }, { 12, 7, 0, 2, 0, 0 }, - { 11, 7, 0, 2, 0, 0 }, { 10, 8, 0, 3, 0, 0 }, { 9, 8, 0, 3, 0, 0 }, { 8, 9, 0, 4, 0, 0 }, { 7, 10, 0, 5, 0, 0 }, - { 7, 11, 0, 5, 0, 0 }, { 6, 12, 0, 6, 0, 0 }, { 6, 13, 0, 6, 0, 0 }, { 6, 14, 0, 7, 0, 0 }, { 6, 15, 0, 7, 0, 0 }, - { 6, 16, 0, 8, 0, 0 }, { 6, 17, 0, 9, 0, 0 }, { 6, 18, 0, 9, 0, 0 }, { 6, 19, 0, 10, 0, 0 }, { 6, 20, 0, 10, 0, 0 }, - { 7, 21, 0, 11, 0, 0 }, { 7, 22, 0, 11, 0, 0 }, { 8, 23, 0, 12, 0, 0 }, { 9, 24, 0, 13, 0, 0 }, { 10, 24, 0, 13, 0, 0 }, - { 11, 25, 0, 14, 0, 0 }, { 12, 25, 0, 14, 0, 0 }, { 13, 26, 0, 15, 0, 0 }, { 14, 26, 0, 15, 0, 0 }, { 15, 26, 0, 16, 0, 0 }, - { 16, 26, 0, 16, 0, 0 }, { 17, 26, 0, 16, 0, 0 }, { 18, 26, 0, 16, 0, 0 }, { 19, 26, 0, 16, 0, 0 }, { 20, 26, 0, 16, 0, 0 }, - { 21, 26, 0, 16, 0, 0 }, { 22, 26, 0, 16, 0, 0 }, { 23, 26, 0, 16, 0, 0 }, { 24, 26, 0, 16, 0, 0 }, { 25, 26, 0, 16, 0, 0 }, - { 26, 26, 0, 16, 0, 0 }, { 27, 26, 0, 16, 0, 0 }, { 28, 26, 0, 16, 0, 0 }, { 29, 26, 0, 16, 0, 0 }, { 30, 26, 0, 16, 0, 0 }, - { 31, 26, 0, 16, 0, 0 }, + 61, { + { 31, 6, 0, 0, 0, 0 }, { 30, 6, 0, 0, 0, 0 }, { 29, 6, 0, 0, 0, 0 }, { 28, 6, 0, 0, 0, 0 }, { 27, 6, 0, 0, 0, 0 }, + { 26, 6, 0, 0, 0, 0 }, { 25, 6, 0, 0, 0, 0 }, { 24, 6, 0, 0, 0, 0 }, { 23, 6, 0, 0, 0, 0 }, { 22, 6, 0, 0, 0, 0 }, + { 21, 6, 0, 0, 0, 0 }, { 20, 6, 0, 0, 0, 0 }, { 19, 6, 0, 0, 0, 0 }, { 18, 6, 0, 0, 0, 0 }, { 17, 6, 0, 0, 0, 0 }, + { 16, 6, 0, 0, 0, 0 }, { 15, 6, 0, 0, 0, 0 }, { 14, 6, 0, 1, 0, 0 }, { 13, 6, 0, 1, 0, 0 }, { 12, 7, 0, 2, 0, 0 }, + { 11, 7, 0, 2, 0, 0 }, { 10, 8, 0, 3, 0, 0 }, { 9, 8, 0, 3, 0, 0 }, { 8, 9, 0, 4, 0, 0 }, { 7, 10, 0, 5, 0, 0 }, + { 7, 11, 0, 5, 0, 0 }, { 6, 12, 0, 6, 0, 0 }, { 6, 13, 0, 6, 0, 0 }, { 6, 14, 0, 7, 0, 0 }, { 6, 15, 0, 7, 0, 0 }, + { 6, 16, 0, 8, 0, 0 }, { 6, 17, 0, 9, 0, 0 }, { 6, 18, 0, 9, 0, 0 }, { 6, 19, 0, 10, 0, 0 }, { 6, 20, 0, 10, 0, 0 }, + { 7, 21, 0, 11, 0, 0 }, { 7, 22, 0, 11, 0, 0 }, { 8, 23, 0, 12, 0, 0 }, { 9, 24, 0, 13, 0, 0 }, { 10, 24, 0, 13, 0, 0 }, + { 11, 25, 0, 14, 0, 0 }, { 12, 25, 0, 14, 0, 0 }, { 13, 26, 0, 15, 0, 0 }, { 14, 26, 0, 15, 0, 0 }, { 15, 26, 0, 16, 0, 0 }, + { 16, 26, 0, 16, 0, 0 }, { 17, 26, 0, 16, 0, 0 }, { 18, 26, 0, 16, 0, 0 }, { 19, 26, 0, 16, 0, 0 }, { 20, 26, 0, 16, 0, 0 }, + { 21, 26, 0, 16, 0, 0 }, { 22, 26, 0, 16, 0, 0 }, { 23, 26, 0, 16, 0, 0 }, { 24, 26, 0, 16, 0, 0 }, { 25, 26, 0, 16, 0, 0 }, + { 26, 26, 0, 16, 0, 0 }, { 27, 26, 0, 16, 0, 0 }, { 28, 26, 0, 16, 0, 0 }, { 29, 26, 0, 16, 0, 0 }, { 30, 26, 0, 16, 0, 0 }, + { 31, 26, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CE291 = { - 61, { - { 6, 0, 0, 8, 0, 0 }, { 6, 1, 0, 8, 0, 0 }, { 6, 2, 0, 8, 0, 0 }, { 6, 3, 0, 8, 0, 0 }, { 6, 4, 0, 8, 0, 0 }, - { 6, 5, 0, 8, 0, 0 }, { 6, 6, 0, 8, 0, 0 }, { 6, 7, 0, 8, 0, 0 }, { 6, 8, 0, 8, 0, 0 }, { 6, 9, 0, 8, 0, 0 }, - { 6, 10, 0, 8, 0, 0 }, { 6, 11, 0, 8, 0, 0 }, { 6, 12, 0, 8, 0, 0 }, { 6, 13, 0, 8, 0, 0 }, { 6, 14, 0, 8, 0, 0 }, - { 6, 15, 0, 8, 0, 0 }, { 6, 16, 0, 8, 0, 0 }, { 6, 17, 0, 9, 0, 0 }, { 6, 18, 0, 9, 0, 0 }, { 7, 19, 0, 10, 0, 0 }, - { 7, 20, 0, 10, 0, 0 }, { 8, 21, 0, 11, 0, 0 }, { 8, 22, 0, 11, 0, 0 }, { 9, 23, 0, 12, 0, 0 }, { 10, 24, 0, 13, 0, 0 }, - { 11, 24, 0, 13, 0, 0 }, { 12, 25, 0, 14, 0, 0 }, { 13, 25, 0, 14, 0, 0 }, { 14, 25, 0, 15, 0, 0 }, { 15, 25, 0, 15, 0, 0 }, - { 16, 25, 0, 16, 0, 0 }, { 17, 25, 0, 17, 0, 0 }, { 18, 25, 0, 17, 0, 0 }, { 19, 25, 0, 18, 0, 0 }, { 20, 25, 0, 18, 0, 0 }, - { 21, 24, 0, 19, 0, 0 }, { 22, 24, 0, 19, 0, 0 }, { 23, 23, 0, 20, 0, 0 }, { 24, 22, 0, 21, 0, 0 }, { 24, 21, 0, 21, 0, 0 }, - { 25, 20, 0, 22, 0, 0 }, { 25, 19, 0, 22, 0, 0 }, { 26, 18, 0, 23, 0, 0 }, { 26, 17, 0, 23, 0, 0 }, { 26, 16, 0, 24, 0, 0 }, - { 26, 15, 0, 24, 0, 0 }, { 26, 14, 0, 24, 0, 0 }, { 26, 13, 0, 24, 0, 0 }, { 26, 12, 0, 24, 0, 0 }, { 26, 11, 0, 24, 0, 0 }, - { 26, 10, 0, 24, 0, 0 }, { 26, 9, 0, 24, 0, 0 }, { 26, 8, 0, 24, 0, 0 }, { 26, 7, 0, 24, 0, 0 }, { 26, 6, 0, 24, 0, 0 }, - { 26, 5, 0, 24, 0, 0 }, { 26, 4, 0, 24, 0, 0 }, { 26, 3, 0, 24, 0, 0 }, { 26, 2, 0, 24, 0, 0 }, { 26, 1, 0, 24, 0, 0 }, - { 26, 0, 0, 24, 0, 0 }, + 61, { + { 6, 0, 0, 8, 0, 0 }, { 6, 1, 0, 8, 0, 0 }, { 6, 2, 0, 8, 0, 0 }, { 6, 3, 0, 8, 0, 0 }, { 6, 4, 0, 8, 0, 0 }, + { 6, 5, 0, 8, 0, 0 }, { 6, 6, 0, 8, 0, 0 }, { 6, 7, 0, 8, 0, 0 }, { 6, 8, 0, 8, 0, 0 }, { 6, 9, 0, 8, 0, 0 }, + { 6, 10, 0, 8, 0, 0 }, { 6, 11, 0, 8, 0, 0 }, { 6, 12, 0, 8, 0, 0 }, { 6, 13, 0, 8, 0, 0 }, { 6, 14, 0, 8, 0, 0 }, + { 6, 15, 0, 8, 0, 0 }, { 6, 16, 0, 8, 0, 0 }, { 6, 17, 0, 9, 0, 0 }, { 6, 18, 0, 9, 0, 0 }, { 7, 19, 0, 10, 0, 0 }, + { 7, 20, 0, 10, 0, 0 }, { 8, 21, 0, 11, 0, 0 }, { 8, 22, 0, 11, 0, 0 }, { 9, 23, 0, 12, 0, 0 }, { 10, 24, 0, 13, 0, 0 }, + { 11, 24, 0, 13, 0, 0 }, { 12, 25, 0, 14, 0, 0 }, { 13, 25, 0, 14, 0, 0 }, { 14, 25, 0, 15, 0, 0 }, { 15, 25, 0, 15, 0, 0 }, + { 16, 25, 0, 16, 0, 0 }, { 17, 25, 0, 17, 0, 0 }, { 18, 25, 0, 17, 0, 0 }, { 19, 25, 0, 18, 0, 0 }, { 20, 25, 0, 18, 0, 0 }, + { 21, 24, 0, 19, 0, 0 }, { 22, 24, 0, 19, 0, 0 }, { 23, 23, 0, 20, 0, 0 }, { 24, 22, 0, 21, 0, 0 }, { 24, 21, 0, 21, 0, 0 }, + { 25, 20, 0, 22, 0, 0 }, { 25, 19, 0, 22, 0, 0 }, { 26, 18, 0, 23, 0, 0 }, { 26, 17, 0, 23, 0, 0 }, { 26, 16, 0, 24, 0, 0 }, + { 26, 15, 0, 24, 0, 0 }, { 26, 14, 0, 24, 0, 0 }, { 26, 13, 0, 24, 0, 0 }, { 26, 12, 0, 24, 0, 0 }, { 26, 11, 0, 24, 0, 0 }, + { 26, 10, 0, 24, 0, 0 }, { 26, 9, 0, 24, 0, 0 }, { 26, 8, 0, 24, 0, 0 }, { 26, 7, 0, 24, 0, 0 }, { 26, 6, 0, 24, 0, 0 }, + { 26, 5, 0, 24, 0, 0 }, { 26, 4, 0, 24, 0, 0 }, { 26, 3, 0, 24, 0, 0 }, { 26, 2, 0, 24, 0, 0 }, { 26, 1, 0, 24, 0, 0 }, + { 26, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CE4B8 = { - 61, { - { 0, 26, 0, 16, 0, 0 }, { 1, 26, 0, 16, 0, 0 }, { 2, 26, 0, 16, 0, 0 }, { 3, 26, 0, 16, 0, 0 }, { 4, 26, 0, 16, 0, 0 }, - { 5, 26, 0, 16, 0, 0 }, { 6, 26, 0, 16, 0, 0 }, { 7, 26, 0, 16, 0, 0 }, { 8, 26, 0, 16, 0, 0 }, { 9, 26, 0, 16, 0, 0 }, - { 10, 26, 0, 16, 0, 0 }, { 11, 26, 0, 16, 0, 0 }, { 12, 26, 0, 16, 0, 0 }, { 13, 26, 0, 16, 0, 0 }, { 14, 26, 0, 16, 0, 0 }, - { 15, 26, 0, 16, 0, 0 }, { 16, 26, 0, 16, 0, 0 }, { 17, 26, 0, 17, 0, 0 }, { 18, 26, 0, 17, 0, 0 }, { 19, 25, 0, 18, 0, 0 }, - { 20, 25, 0, 18, 0, 0 }, { 21, 24, 0, 19, 0, 0 }, { 22, 24, 0, 19, 0, 0 }, { 23, 23, 0, 20, 0, 0 }, { 24, 22, 0, 21, 0, 0 }, - { 24, 21, 0, 21, 0, 0 }, { 25, 20, 0, 22, 0, 0 }, { 25, 19, 0, 22, 0, 0 }, { 25, 18, 0, 23, 0, 0 }, { 25, 17, 0, 23, 0, 0 }, - { 25, 16, 0, 24, 0, 0 }, { 25, 15, 0, 25, 0, 0 }, { 25, 14, 0, 25, 0, 0 }, { 25, 13, 0, 26, 0, 0 }, { 25, 12, 0, 26, 0, 0 }, - { 24, 11, 0, 27, 0, 0 }, { 24, 10, 0, 27, 0, 0 }, { 23, 9, 0, 28, 0, 0 }, { 22, 8, 0, 29, 0, 0 }, { 21, 8, 0, 29, 0, 0 }, - { 20, 7, 0, 30, 0, 0 }, { 19, 7, 0, 30, 0, 0 }, { 18, 6, 0, 31, 0, 0 }, { 17, 6, 0, 31, 0, 0 }, { 16, 6, 0, 0, 0, 0 }, - { 15, 6, 0, 0, 0, 0 }, { 14, 6, 0, 0, 0, 0 }, { 13, 6, 0, 0, 0, 0 }, { 12, 6, 0, 0, 0, 0 }, { 11, 6, 0, 0, 0, 0 }, - { 10, 6, 0, 0, 0, 0 }, { 9, 6, 0, 0, 0, 0 }, { 8, 6, 0, 0, 0, 0 }, { 7, 6, 0, 0, 0, 0 }, { 6, 6, 0, 0, 0, 0 }, - { 5, 6, 0, 0, 0, 0 }, { 4, 6, 0, 0, 0, 0 }, { 3, 6, 0, 0, 0, 0 }, { 2, 6, 0, 0, 0, 0 }, { 1, 6, 0, 0, 0, 0 }, - { 0, 6, 0, 0, 0, 0 }, + 61, { + { 0, 26, 0, 16, 0, 0 }, { 1, 26, 0, 16, 0, 0 }, { 2, 26, 0, 16, 0, 0 }, { 3, 26, 0, 16, 0, 0 }, { 4, 26, 0, 16, 0, 0 }, + { 5, 26, 0, 16, 0, 0 }, { 6, 26, 0, 16, 0, 0 }, { 7, 26, 0, 16, 0, 0 }, { 8, 26, 0, 16, 0, 0 }, { 9, 26, 0, 16, 0, 0 }, + { 10, 26, 0, 16, 0, 0 }, { 11, 26, 0, 16, 0, 0 }, { 12, 26, 0, 16, 0, 0 }, { 13, 26, 0, 16, 0, 0 }, { 14, 26, 0, 16, 0, 0 }, + { 15, 26, 0, 16, 0, 0 }, { 16, 26, 0, 16, 0, 0 }, { 17, 26, 0, 17, 0, 0 }, { 18, 26, 0, 17, 0, 0 }, { 19, 25, 0, 18, 0, 0 }, + { 20, 25, 0, 18, 0, 0 }, { 21, 24, 0, 19, 0, 0 }, { 22, 24, 0, 19, 0, 0 }, { 23, 23, 0, 20, 0, 0 }, { 24, 22, 0, 21, 0, 0 }, + { 24, 21, 0, 21, 0, 0 }, { 25, 20, 0, 22, 0, 0 }, { 25, 19, 0, 22, 0, 0 }, { 25, 18, 0, 23, 0, 0 }, { 25, 17, 0, 23, 0, 0 }, + { 25, 16, 0, 24, 0, 0 }, { 25, 15, 0, 25, 0, 0 }, { 25, 14, 0, 25, 0, 0 }, { 25, 13, 0, 26, 0, 0 }, { 25, 12, 0, 26, 0, 0 }, + { 24, 11, 0, 27, 0, 0 }, { 24, 10, 0, 27, 0, 0 }, { 23, 9, 0, 28, 0, 0 }, { 22, 8, 0, 29, 0, 0 }, { 21, 8, 0, 29, 0, 0 }, + { 20, 7, 0, 30, 0, 0 }, { 19, 7, 0, 30, 0, 0 }, { 18, 6, 0, 31, 0, 0 }, { 17, 6, 0, 31, 0, 0 }, { 16, 6, 0, 0, 0, 0 }, + { 15, 6, 0, 0, 0, 0 }, { 14, 6, 0, 0, 0, 0 }, { 13, 6, 0, 0, 0, 0 }, { 12, 6, 0, 0, 0, 0 }, { 11, 6, 0, 0, 0, 0 }, + { 10, 6, 0, 0, 0, 0 }, { 9, 6, 0, 0, 0, 0 }, { 8, 6, 0, 0, 0, 0 }, { 7, 6, 0, 0, 0, 0 }, { 6, 6, 0, 0, 0, 0 }, + { 5, 6, 0, 0, 0, 0 }, { 4, 6, 0, 0, 0, 0 }, { 3, 6, 0, 0, 0, 0 }, { 2, 6, 0, 0, 0, 0 }, { 1, 6, 0, 0, 0, 0 }, + { 0, 6, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8CE6DF = { - 61, { - { 26, 31, 0, 24, 0, 0 }, { 26, 30, 0, 24, 0, 0 }, { 26, 29, 0, 24, 0, 0 }, { 26, 28, 0, 24, 0, 0 }, { 26, 27, 0, 24, 0, 0 }, - { 26, 26, 0, 24, 0, 0 }, { 26, 25, 0, 24, 0, 0 }, { 26, 24, 0, 24, 0, 0 }, { 26, 23, 0, 24, 0, 0 }, { 26, 22, 0, 24, 0, 0 }, - { 26, 21, 0, 24, 0, 0 }, { 26, 20, 0, 24, 0, 0 }, { 26, 19, 0, 24, 0, 0 }, { 26, 18, 0, 24, 0, 0 }, { 26, 17, 0, 24, 0, 0 }, - { 26, 16, 0, 24, 0, 0 }, { 26, 15, 0, 24, 0, 0 }, { 26, 14, 0, 25, 0, 0 }, { 26, 13, 0, 25, 0, 0 }, { 25, 12, 0, 26, 0, 0 }, - { 25, 11, 0, 26, 0, 0 }, { 24, 10, 0, 27, 0, 0 }, { 24, 9, 0, 27, 0, 0 }, { 23, 8, 0, 28, 0, 0 }, { 22, 7, 0, 29, 0, 0 }, - { 21, 7, 0, 29, 0, 0 }, { 20, 6, 0, 30, 0, 0 }, { 19, 6, 0, 30, 0, 0 }, { 18, 6, 0, 31, 0, 0 }, { 17, 6, 0, 31, 0, 0 }, - { 16, 6, 0, 0, 0, 0 }, { 15, 6, 0, 1, 0, 0 }, { 14, 6, 0, 1, 0, 0 }, { 13, 6, 0, 2, 0, 0 }, { 12, 6, 0, 2, 0, 0 }, - { 11, 7, 0, 3, 0, 0 }, { 10, 7, 0, 3, 0, 0 }, { 9, 8, 0, 4, 0, 0 }, { 8, 9, 0, 5, 0, 0 }, { 8, 10, 0, 5, 0, 0 }, - { 7, 11, 0, 6, 0, 0 }, { 7, 12, 0, 6, 0, 0 }, { 6, 13, 0, 7, 0, 0 }, { 6, 14, 0, 7, 0, 0 }, { 6, 15, 0, 8, 0, 0 }, - { 6, 16, 0, 8, 0, 0 }, { 6, 17, 0, 8, 0, 0 }, { 6, 18, 0, 8, 0, 0 }, { 6, 19, 0, 8, 0, 0 }, { 6, 20, 0, 8, 0, 0 }, - { 6, 21, 0, 8, 0, 0 }, { 6, 22, 0, 8, 0, 0 }, { 6, 23, 0, 8, 0, 0 }, { 6, 24, 0, 8, 0, 0 }, { 6, 25, 0, 8, 0, 0 }, - { 6, 26, 0, 8, 0, 0 }, { 6, 27, 0, 8, 0, 0 }, { 6, 28, 0, 8, 0, 0 }, { 6, 29, 0, 8, 0, 0 }, { 6, 30, 0, 8, 0, 0 }, - { 6, 31, 0, 8, 0, 0 }, + 61, { + { 26, 31, 0, 24, 0, 0 }, { 26, 30, 0, 24, 0, 0 }, { 26, 29, 0, 24, 0, 0 }, { 26, 28, 0, 24, 0, 0 }, { 26, 27, 0, 24, 0, 0 }, + { 26, 26, 0, 24, 0, 0 }, { 26, 25, 0, 24, 0, 0 }, { 26, 24, 0, 24, 0, 0 }, { 26, 23, 0, 24, 0, 0 }, { 26, 22, 0, 24, 0, 0 }, + { 26, 21, 0, 24, 0, 0 }, { 26, 20, 0, 24, 0, 0 }, { 26, 19, 0, 24, 0, 0 }, { 26, 18, 0, 24, 0, 0 }, { 26, 17, 0, 24, 0, 0 }, + { 26, 16, 0, 24, 0, 0 }, { 26, 15, 0, 24, 0, 0 }, { 26, 14, 0, 25, 0, 0 }, { 26, 13, 0, 25, 0, 0 }, { 25, 12, 0, 26, 0, 0 }, + { 25, 11, 0, 26, 0, 0 }, { 24, 10, 0, 27, 0, 0 }, { 24, 9, 0, 27, 0, 0 }, { 23, 8, 0, 28, 0, 0 }, { 22, 7, 0, 29, 0, 0 }, + { 21, 7, 0, 29, 0, 0 }, { 20, 6, 0, 30, 0, 0 }, { 19, 6, 0, 30, 0, 0 }, { 18, 6, 0, 31, 0, 0 }, { 17, 6, 0, 31, 0, 0 }, + { 16, 6, 0, 0, 0, 0 }, { 15, 6, 0, 1, 0, 0 }, { 14, 6, 0, 1, 0, 0 }, { 13, 6, 0, 2, 0, 0 }, { 12, 6, 0, 2, 0, 0 }, + { 11, 7, 0, 3, 0, 0 }, { 10, 7, 0, 3, 0, 0 }, { 9, 8, 0, 4, 0, 0 }, { 8, 9, 0, 5, 0, 0 }, { 8, 10, 0, 5, 0, 0 }, + { 7, 11, 0, 6, 0, 0 }, { 7, 12, 0, 6, 0, 0 }, { 6, 13, 0, 7, 0, 0 }, { 6, 14, 0, 7, 0, 0 }, { 6, 15, 0, 8, 0, 0 }, + { 6, 16, 0, 8, 0, 0 }, { 6, 17, 0, 8, 0, 0 }, { 6, 18, 0, 8, 0, 0 }, { 6, 19, 0, 8, 0, 0 }, { 6, 20, 0, 8, 0, 0 }, + { 6, 21, 0, 8, 0, 0 }, { 6, 22, 0, 8, 0, 0 }, { 6, 23, 0, 8, 0, 0 }, { 6, 24, 0, 8, 0, 0 }, { 6, 25, 0, 8, 0, 0 }, + { 6, 26, 0, 8, 0, 0 }, { 6, 27, 0, 8, 0, 0 }, { 6, 28, 0, 8, 0, 0 }, { 6, 29, 0, 8, 0, 0 }, { 6, 30, 0, 8, 0, 0 }, + { 6, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FF2DA = { - 32, { - { 31, 9, 0, 0, 0, 0 }, { 30, 9, 0, 0, 0, 0 }, { 29, 9, 0, 0, 0, 0 }, { 28, 9, 0, 0, 0, 0 }, { 27, 9, 0, 0, 0, 0 }, - { 26, 9, 0, 0, 0, 0 }, { 25, 9, 0, 0, 0, 0 }, { 24, 9, 0, 0, 0, 0 }, { 23, 9, 0, 0, 0, 0 }, { 22, 9, 0, 0, 0, 0 }, - { 21, 9, 0, 0, 0, 0 }, { 20, 9, 0, 0, 0, 0 }, { 19, 9, 0, 0, 0, 0 }, { 18, 9, 0, 0, 0, 0 }, { 17, 9, 0, 0, 0, 0 }, - { 16, 9, 0, 0, 0, 0 }, { 15, 9, 0, 0, 0, 0 }, { 14, 9, 0, 0, 0, 0 }, { 13, 9, 0, 0, 0, 0 }, { 12, 9, 0, 0, 0, 0 }, - { 11, 9, 0, 0, 0, 0 }, { 10, 9, 0, 0, 0, 0 }, { 9, 9, 0, 0, 0, 0 }, { 8, 9, 0, 0, 0, 0 }, { 7, 9, 0, 0, 0, 0 }, - { 6, 9, 0, 0, 0, 0 }, { 5, 9, 0, 0, 0, 0 }, { 4, 9, 0, 0, 0, 0 }, { 3, 9, 0, 0, 0, 0 }, { 2, 9, 0, 0, 0, 0 }, - { 1, 9, 0, 0, 0, 0 }, { 0, 9, 0, 0, 0, 0 }, + 32, { + { 31, 9, 0, 0, 0, 0 }, { 30, 9, 0, 0, 0, 0 }, { 29, 9, 0, 0, 0, 0 }, { 28, 9, 0, 0, 0, 0 }, { 27, 9, 0, 0, 0, 0 }, + { 26, 9, 0, 0, 0, 0 }, { 25, 9, 0, 0, 0, 0 }, { 24, 9, 0, 0, 0, 0 }, { 23, 9, 0, 0, 0, 0 }, { 22, 9, 0, 0, 0, 0 }, + { 21, 9, 0, 0, 0, 0 }, { 20, 9, 0, 0, 0, 0 }, { 19, 9, 0, 0, 0, 0 }, { 18, 9, 0, 0, 0, 0 }, { 17, 9, 0, 0, 0, 0 }, + { 16, 9, 0, 0, 0, 0 }, { 15, 9, 0, 0, 0, 0 }, { 14, 9, 0, 0, 0, 0 }, { 13, 9, 0, 0, 0, 0 }, { 12, 9, 0, 0, 0, 0 }, + { 11, 9, 0, 0, 0, 0 }, { 10, 9, 0, 0, 0, 0 }, { 9, 9, 0, 0, 0, 0 }, { 8, 9, 0, 0, 0, 0 }, { 7, 9, 0, 0, 0, 0 }, + { 6, 9, 0, 0, 0, 0 }, { 5, 9, 0, 0, 0, 0 }, { 4, 9, 0, 0, 0, 0 }, { 3, 9, 0, 0, 0, 0 }, { 2, 9, 0, 0, 0, 0 }, + { 1, 9, 0, 0, 0, 0 }, { 0, 9, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FF3FC = { - 32, { - { 9, 0, 0, 8, 0, 0 }, { 9, 1, 0, 8, 0, 0 }, { 9, 2, 0, 8, 0, 0 }, { 9, 3, 0, 8, 0, 0 }, { 9, 4, 0, 8, 0, 0 }, - { 9, 5, 0, 8, 0, 0 }, { 9, 6, 0, 8, 0, 0 }, { 9, 7, 0, 8, 0, 0 }, { 9, 8, 0, 8, 0, 0 }, { 9, 9, 0, 8, 0, 0 }, - { 9, 10, 0, 8, 0, 0 }, { 9, 11, 0, 8, 0, 0 }, { 9, 12, 0, 8, 0, 0 }, { 9, 13, 0, 8, 0, 0 }, { 9, 14, 0, 8, 0, 0 }, - { 9, 15, 0, 8, 0, 0 }, { 9, 16, 0, 8, 0, 0 }, { 9, 17, 0, 8, 0, 0 }, { 9, 18, 0, 8, 0, 0 }, { 9, 19, 0, 8, 0, 0 }, - { 9, 20, 0, 8, 0, 0 }, { 9, 21, 0, 8, 0, 0 }, { 9, 22, 0, 8, 0, 0 }, { 9, 23, 0, 8, 0, 0 }, { 9, 24, 0, 8, 0, 0 }, - { 9, 25, 0, 8, 0, 0 }, { 9, 26, 0, 8, 0, 0 }, { 9, 27, 0, 8, 0, 0 }, { 9, 28, 0, 8, 0, 0 }, { 9, 29, 0, 8, 0, 0 }, - { 9, 30, 0, 8, 0, 0 }, { 9, 31, 0, 8, 0, 0 }, + 32, { + { 9, 0, 0, 8, 0, 0 }, { 9, 1, 0, 8, 0, 0 }, { 9, 2, 0, 8, 0, 0 }, { 9, 3, 0, 8, 0, 0 }, { 9, 4, 0, 8, 0, 0 }, + { 9, 5, 0, 8, 0, 0 }, { 9, 6, 0, 8, 0, 0 }, { 9, 7, 0, 8, 0, 0 }, { 9, 8, 0, 8, 0, 0 }, { 9, 9, 0, 8, 0, 0 }, + { 9, 10, 0, 8, 0, 0 }, { 9, 11, 0, 8, 0, 0 }, { 9, 12, 0, 8, 0, 0 }, { 9, 13, 0, 8, 0, 0 }, { 9, 14, 0, 8, 0, 0 }, + { 9, 15, 0, 8, 0, 0 }, { 9, 16, 0, 8, 0, 0 }, { 9, 17, 0, 8, 0, 0 }, { 9, 18, 0, 8, 0, 0 }, { 9, 19, 0, 8, 0, 0 }, + { 9, 20, 0, 8, 0, 0 }, { 9, 21, 0, 8, 0, 0 }, { 9, 22, 0, 8, 0, 0 }, { 9, 23, 0, 8, 0, 0 }, { 9, 24, 0, 8, 0, 0 }, + { 9, 25, 0, 8, 0, 0 }, { 9, 26, 0, 8, 0, 0 }, { 9, 27, 0, 8, 0, 0 }, { 9, 28, 0, 8, 0, 0 }, { 9, 29, 0, 8, 0, 0 }, + { 9, 30, 0, 8, 0, 0 }, { 9, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FF51E = { - 32, { - { 0, 23, 0, 16, 0, 0 }, { 1, 23, 0, 16, 0, 0 }, { 2, 23, 0, 16, 0, 0 }, { 3, 23, 0, 16, 0, 0 }, { 4, 23, 0, 16, 0, 0 }, - { 5, 23, 0, 16, 0, 0 }, { 6, 23, 0, 16, 0, 0 }, { 7, 23, 0, 16, 0, 0 }, { 8, 23, 0, 16, 0, 0 }, { 9, 23, 0, 16, 0, 0 }, - { 10, 23, 0, 16, 0, 0 }, { 11, 23, 0, 16, 0, 0 }, { 12, 23, 0, 16, 0, 0 }, { 13, 23, 0, 16, 0, 0 }, { 14, 23, 0, 16, 0, 0 }, - { 15, 23, 0, 16, 0, 0 }, { 16, 23, 0, 16, 0, 0 }, { 17, 23, 0, 16, 0, 0 }, { 18, 23, 0, 16, 0, 0 }, { 19, 23, 0, 16, 0, 0 }, - { 20, 23, 0, 16, 0, 0 }, { 21, 23, 0, 16, 0, 0 }, { 22, 23, 0, 16, 0, 0 }, { 23, 23, 0, 16, 0, 0 }, { 24, 23, 0, 16, 0, 0 }, - { 25, 23, 0, 16, 0, 0 }, { 26, 23, 0, 16, 0, 0 }, { 27, 23, 0, 16, 0, 0 }, { 28, 23, 0, 16, 0, 0 }, { 29, 23, 0, 16, 0, 0 }, - { 30, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, + 32, { + { 0, 23, 0, 16, 0, 0 }, { 1, 23, 0, 16, 0, 0 }, { 2, 23, 0, 16, 0, 0 }, { 3, 23, 0, 16, 0, 0 }, { 4, 23, 0, 16, 0, 0 }, + { 5, 23, 0, 16, 0, 0 }, { 6, 23, 0, 16, 0, 0 }, { 7, 23, 0, 16, 0, 0 }, { 8, 23, 0, 16, 0, 0 }, { 9, 23, 0, 16, 0, 0 }, + { 10, 23, 0, 16, 0, 0 }, { 11, 23, 0, 16, 0, 0 }, { 12, 23, 0, 16, 0, 0 }, { 13, 23, 0, 16, 0, 0 }, { 14, 23, 0, 16, 0, 0 }, + { 15, 23, 0, 16, 0, 0 }, { 16, 23, 0, 16, 0, 0 }, { 17, 23, 0, 16, 0, 0 }, { 18, 23, 0, 16, 0, 0 }, { 19, 23, 0, 16, 0, 0 }, + { 20, 23, 0, 16, 0, 0 }, { 21, 23, 0, 16, 0, 0 }, { 22, 23, 0, 16, 0, 0 }, { 23, 23, 0, 16, 0, 0 }, { 24, 23, 0, 16, 0, 0 }, + { 25, 23, 0, 16, 0, 0 }, { 26, 23, 0, 16, 0, 0 }, { 27, 23, 0, 16, 0, 0 }, { 28, 23, 0, 16, 0, 0 }, { 29, 23, 0, 16, 0, 0 }, + { 30, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FF640 = { - 32, { - { 23, 31, 0, 24, 0, 0 }, { 23, 30, 0, 24, 0, 0 }, { 23, 29, 0, 24, 0, 0 }, { 23, 28, 0, 24, 0, 0 }, { 23, 27, 0, 24, 0, 0 }, - { 23, 26, 0, 24, 0, 0 }, { 23, 25, 0, 24, 0, 0 }, { 23, 24, 0, 24, 0, 0 }, { 23, 23, 0, 24, 0, 0 }, { 23, 22, 0, 24, 0, 0 }, - { 23, 21, 0, 24, 0, 0 }, { 23, 20, 0, 24, 0, 0 }, { 23, 19, 0, 24, 0, 0 }, { 23, 18, 0, 24, 0, 0 }, { 23, 17, 0, 24, 0, 0 }, - { 23, 16, 0, 24, 0, 0 }, { 23, 15, 0, 24, 0, 0 }, { 23, 14, 0, 24, 0, 0 }, { 23, 13, 0, 24, 0, 0 }, { 23, 12, 0, 24, 0, 0 }, - { 23, 11, 0, 24, 0, 0 }, { 23, 10, 0, 24, 0, 0 }, { 23, 9, 0, 24, 0, 0 }, { 23, 8, 0, 24, 0, 0 }, { 23, 7, 0, 24, 0, 0 }, - { 23, 6, 0, 24, 0, 0 }, { 23, 5, 0, 24, 0, 0 }, { 23, 4, 0, 24, 0, 0 }, { 23, 3, 0, 24, 0, 0 }, { 23, 2, 0, 24, 0, 0 }, - { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, + 32, { + { 23, 31, 0, 24, 0, 0 }, { 23, 30, 0, 24, 0, 0 }, { 23, 29, 0, 24, 0, 0 }, { 23, 28, 0, 24, 0, 0 }, { 23, 27, 0, 24, 0, 0 }, + { 23, 26, 0, 24, 0, 0 }, { 23, 25, 0, 24, 0, 0 }, { 23, 24, 0, 24, 0, 0 }, { 23, 23, 0, 24, 0, 0 }, { 23, 22, 0, 24, 0, 0 }, + { 23, 21, 0, 24, 0, 0 }, { 23, 20, 0, 24, 0, 0 }, { 23, 19, 0, 24, 0, 0 }, { 23, 18, 0, 24, 0, 0 }, { 23, 17, 0, 24, 0, 0 }, + { 23, 16, 0, 24, 0, 0 }, { 23, 15, 0, 24, 0, 0 }, { 23, 14, 0, 24, 0, 0 }, { 23, 13, 0, 24, 0, 0 }, { 23, 12, 0, 24, 0, 0 }, + { 23, 11, 0, 24, 0, 0 }, { 23, 10, 0, 24, 0, 0 }, { 23, 9, 0, 24, 0, 0 }, { 23, 8, 0, 24, 0, 0 }, { 23, 7, 0, 24, 0, 0 }, + { 23, 6, 0, 24, 0, 0 }, { 23, 5, 0, 24, 0, 0 }, { 23, 4, 0, 24, 0, 0 }, { 23, 3, 0, 24, 0, 0 }, { 23, 2, 0, 24, 0, 0 }, + { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_900E52 = { - 32, { - { 31, 9, 0, 0, 2, 0 }, { 30, 9, 0, 0, 2, 0 }, { 29, 9, 1, 0, 2, 0 }, { 28, 9, 1, 0, 2, 0 }, { 27, 9, 2, 0, 2, 0 }, - { 26, 9, 2, 0, 2, 0 }, { 25, 9, 3, 0, 2, 0 }, { 24, 9, 3, 0, 2, 0 }, { 23, 9, 4, 0, 2, 0 }, { 22, 9, 4, 0, 2, 0 }, - { 21, 9, 5, 0, 2, 0 }, { 20, 9, 5, 0, 2, 0 }, { 19, 9, 6, 0, 2, 0 }, { 18, 9, 6, 0, 2, 0 }, { 17, 9, 7, 0, 2, 0 }, - { 16, 9, 7, 0, 2, 0 }, { 15, 9, 8, 0, 2, 0 }, { 14, 9, 8, 0, 2, 0 }, { 13, 9, 9, 0, 2, 0 }, { 12, 9, 9, 0, 2, 0 }, - { 11, 9, 10, 0, 2, 0 }, { 10, 9, 10, 0, 2, 0 }, { 9, 9, 11, 0, 2, 0 }, { 8, 9, 11, 0, 2, 0 }, { 7, 9, 12, 0, 2, 0 }, - { 6, 9, 12, 0, 2, 0 }, { 5, 9, 13, 0, 2, 0 }, { 4, 9, 13, 0, 2, 0 }, { 3, 9, 14, 0, 2, 0 }, { 2, 9, 14, 0, 2, 0 }, - { 1, 9, 15, 0, 2, 0 }, { 0, 9, 15, 0, 2, 0 }, + 32, { + { 31, 9, 0, 0, 2, 0 }, { 30, 9, 0, 0, 2, 0 }, { 29, 9, 1, 0, 2, 0 }, { 28, 9, 1, 0, 2, 0 }, { 27, 9, 2, 0, 2, 0 }, + { 26, 9, 2, 0, 2, 0 }, { 25, 9, 3, 0, 2, 0 }, { 24, 9, 3, 0, 2, 0 }, { 23, 9, 4, 0, 2, 0 }, { 22, 9, 4, 0, 2, 0 }, + { 21, 9, 5, 0, 2, 0 }, { 20, 9, 5, 0, 2, 0 }, { 19, 9, 6, 0, 2, 0 }, { 18, 9, 6, 0, 2, 0 }, { 17, 9, 7, 0, 2, 0 }, + { 16, 9, 7, 0, 2, 0 }, { 15, 9, 8, 0, 2, 0 }, { 14, 9, 8, 0, 2, 0 }, { 13, 9, 9, 0, 2, 0 }, { 12, 9, 9, 0, 2, 0 }, + { 11, 9, 10, 0, 2, 0 }, { 10, 9, 10, 0, 2, 0 }, { 9, 9, 11, 0, 2, 0 }, { 8, 9, 11, 0, 2, 0 }, { 7, 9, 12, 0, 2, 0 }, + { 6, 9, 12, 0, 2, 0 }, { 5, 9, 13, 0, 2, 0 }, { 4, 9, 13, 0, 2, 0 }, { 3, 9, 14, 0, 2, 0 }, { 2, 9, 14, 0, 2, 0 }, + { 1, 9, 15, 0, 2, 0 }, { 0, 9, 15, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_900F74 = { - 32, { - { 9, 0, 0, 8, 2, 0 }, { 9, 1, 1, 8, 2, 0 }, { 9, 2, 1, 8, 2, 0 }, { 9, 3, 2, 8, 2, 0 }, { 9, 4, 2, 8, 2, 0 }, - { 9, 5, 3, 8, 2, 0 }, { 9, 6, 3, 8, 2, 0 }, { 9, 7, 4, 8, 2, 0 }, { 9, 8, 4, 8, 2, 0 }, { 9, 9, 5, 8, 2, 0 }, - { 9, 10, 5, 8, 2, 0 }, { 9, 11, 6, 8, 2, 0 }, { 9, 12, 6, 8, 2, 0 }, { 9, 13, 7, 8, 2, 0 }, { 9, 14, 7, 8, 2, 0 }, - { 9, 15, 8, 8, 2, 0 }, { 9, 16, 8, 8, 2, 0 }, { 9, 17, 9, 8, 2, 0 }, { 9, 18, 9, 8, 2, 0 }, { 9, 19, 10, 8, 2, 0 }, - { 9, 20, 10, 8, 2, 0 }, { 9, 21, 11, 8, 2, 0 }, { 9, 22, 11, 8, 2, 0 }, { 9, 23, 12, 8, 2, 0 }, { 9, 24, 12, 8, 2, 0 }, - { 9, 25, 13, 8, 2, 0 }, { 9, 26, 13, 8, 2, 0 }, { 9, 27, 14, 8, 2, 0 }, { 9, 28, 14, 8, 2, 0 }, { 9, 29, 15, 8, 2, 0 }, - { 9, 30, 15, 8, 2, 0 }, { 9, 31, 16, 8, 2, 0 }, + 32, { + { 9, 0, 0, 8, 2, 0 }, { 9, 1, 1, 8, 2, 0 }, { 9, 2, 1, 8, 2, 0 }, { 9, 3, 2, 8, 2, 0 }, { 9, 4, 2, 8, 2, 0 }, + { 9, 5, 3, 8, 2, 0 }, { 9, 6, 3, 8, 2, 0 }, { 9, 7, 4, 8, 2, 0 }, { 9, 8, 4, 8, 2, 0 }, { 9, 9, 5, 8, 2, 0 }, + { 9, 10, 5, 8, 2, 0 }, { 9, 11, 6, 8, 2, 0 }, { 9, 12, 6, 8, 2, 0 }, { 9, 13, 7, 8, 2, 0 }, { 9, 14, 7, 8, 2, 0 }, + { 9, 15, 8, 8, 2, 0 }, { 9, 16, 8, 8, 2, 0 }, { 9, 17, 9, 8, 2, 0 }, { 9, 18, 9, 8, 2, 0 }, { 9, 19, 10, 8, 2, 0 }, + { 9, 20, 10, 8, 2, 0 }, { 9, 21, 11, 8, 2, 0 }, { 9, 22, 11, 8, 2, 0 }, { 9, 23, 12, 8, 2, 0 }, { 9, 24, 12, 8, 2, 0 }, + { 9, 25, 13, 8, 2, 0 }, { 9, 26, 13, 8, 2, 0 }, { 9, 27, 14, 8, 2, 0 }, { 9, 28, 14, 8, 2, 0 }, { 9, 29, 15, 8, 2, 0 }, + { 9, 30, 15, 8, 2, 0 }, { 9, 31, 16, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_901096 = { - 32, { - { 0, 23, 0, 16, 2, 0 }, { 1, 23, 1, 16, 2, 0 }, { 2, 23, 1, 16, 2, 0 }, { 3, 23, 2, 16, 2, 0 }, { 4, 23, 2, 16, 2, 0 }, - { 5, 23, 3, 16, 2, 0 }, { 6, 23, 3, 16, 2, 0 }, { 7, 23, 4, 16, 2, 0 }, { 8, 23, 4, 16, 2, 0 }, { 9, 23, 5, 16, 2, 0 }, - { 10, 23, 5, 16, 2, 0 }, { 11, 23, 6, 16, 2, 0 }, { 12, 23, 6, 16, 2, 0 }, { 13, 23, 7, 16, 2, 0 }, { 14, 23, 7, 16, 2, 0 }, - { 15, 23, 8, 16, 2, 0 }, { 16, 23, 8, 16, 2, 0 }, { 17, 23, 9, 16, 2, 0 }, { 18, 23, 9, 16, 2, 0 }, { 19, 23, 10, 16, 2, 0 }, - { 20, 23, 10, 16, 2, 0 }, { 21, 23, 11, 16, 2, 0 }, { 22, 23, 11, 16, 2, 0 }, { 23, 23, 12, 16, 2, 0 }, { 24, 23, 12, 16, 2, 0 }, - { 25, 23, 13, 16, 2, 0 }, { 26, 23, 13, 16, 2, 0 }, { 27, 23, 14, 16, 2, 0 }, { 28, 23, 14, 16, 2, 0 }, { 29, 23, 15, 16, 2, 0 }, - { 30, 23, 15, 16, 2, 0 }, { 31, 23, 16, 16, 2, 0 }, + 32, { + { 0, 23, 0, 16, 2, 0 }, { 1, 23, 1, 16, 2, 0 }, { 2, 23, 1, 16, 2, 0 }, { 3, 23, 2, 16, 2, 0 }, { 4, 23, 2, 16, 2, 0 }, + { 5, 23, 3, 16, 2, 0 }, { 6, 23, 3, 16, 2, 0 }, { 7, 23, 4, 16, 2, 0 }, { 8, 23, 4, 16, 2, 0 }, { 9, 23, 5, 16, 2, 0 }, + { 10, 23, 5, 16, 2, 0 }, { 11, 23, 6, 16, 2, 0 }, { 12, 23, 6, 16, 2, 0 }, { 13, 23, 7, 16, 2, 0 }, { 14, 23, 7, 16, 2, 0 }, + { 15, 23, 8, 16, 2, 0 }, { 16, 23, 8, 16, 2, 0 }, { 17, 23, 9, 16, 2, 0 }, { 18, 23, 9, 16, 2, 0 }, { 19, 23, 10, 16, 2, 0 }, + { 20, 23, 10, 16, 2, 0 }, { 21, 23, 11, 16, 2, 0 }, { 22, 23, 11, 16, 2, 0 }, { 23, 23, 12, 16, 2, 0 }, { 24, 23, 12, 16, 2, 0 }, + { 25, 23, 13, 16, 2, 0 }, { 26, 23, 13, 16, 2, 0 }, { 27, 23, 14, 16, 2, 0 }, { 28, 23, 14, 16, 2, 0 }, { 29, 23, 15, 16, 2, 0 }, + { 30, 23, 15, 16, 2, 0 }, { 31, 23, 16, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9011B8 = { - 32, { - { 23, 31, 0, 24, 2, 0 }, { 23, 30, 0, 24, 2, 0 }, { 23, 29, 1, 24, 2, 0 }, { 23, 28, 1, 24, 2, 0 }, { 23, 27, 2, 24, 2, 0 }, - { 23, 26, 2, 24, 2, 0 }, { 23, 25, 3, 24, 2, 0 }, { 23, 24, 3, 24, 2, 0 }, { 23, 23, 4, 24, 2, 0 }, { 23, 22, 4, 24, 2, 0 }, - { 23, 21, 5, 24, 2, 0 }, { 23, 20, 5, 24, 2, 0 }, { 23, 19, 6, 24, 2, 0 }, { 23, 18, 6, 24, 2, 0 }, { 23, 17, 7, 24, 2, 0 }, - { 23, 16, 7, 24, 2, 0 }, { 23, 15, 8, 24, 2, 0 }, { 23, 14, 8, 24, 2, 0 }, { 23, 13, 9, 24, 2, 0 }, { 23, 12, 9, 24, 2, 0 }, - { 23, 11, 10, 24, 2, 0 }, { 23, 10, 10, 24, 2, 0 }, { 23, 9, 11, 24, 2, 0 }, { 23, 8, 11, 24, 2, 0 }, { 23, 7, 12, 24, 2, 0 }, - { 23, 6, 12, 24, 2, 0 }, { 23, 5, 13, 24, 2, 0 }, { 23, 4, 13, 24, 2, 0 }, { 23, 3, 14, 24, 2, 0 }, { 23, 2, 14, 24, 2, 0 }, - { 23, 1, 15, 24, 2, 0 }, { 23, 0, 15, 24, 2, 0 }, + 32, { + { 23, 31, 0, 24, 2, 0 }, { 23, 30, 0, 24, 2, 0 }, { 23, 29, 1, 24, 2, 0 }, { 23, 28, 1, 24, 2, 0 }, { 23, 27, 2, 24, 2, 0 }, + { 23, 26, 2, 24, 2, 0 }, { 23, 25, 3, 24, 2, 0 }, { 23, 24, 3, 24, 2, 0 }, { 23, 23, 4, 24, 2, 0 }, { 23, 22, 4, 24, 2, 0 }, + { 23, 21, 5, 24, 2, 0 }, { 23, 20, 5, 24, 2, 0 }, { 23, 19, 6, 24, 2, 0 }, { 23, 18, 6, 24, 2, 0 }, { 23, 17, 7, 24, 2, 0 }, + { 23, 16, 7, 24, 2, 0 }, { 23, 15, 8, 24, 2, 0 }, { 23, 14, 8, 24, 2, 0 }, { 23, 13, 9, 24, 2, 0 }, { 23, 12, 9, 24, 2, 0 }, + { 23, 11, 10, 24, 2, 0 }, { 23, 10, 10, 24, 2, 0 }, { 23, 9, 11, 24, 2, 0 }, { 23, 8, 11, 24, 2, 0 }, { 23, 7, 12, 24, 2, 0 }, + { 23, 6, 12, 24, 2, 0 }, { 23, 5, 13, 24, 2, 0 }, { 23, 4, 13, 24, 2, 0 }, { 23, 3, 14, 24, 2, 0 }, { 23, 2, 14, 24, 2, 0 }, + { 23, 1, 15, 24, 2, 0 }, { 23, 0, 15, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FFBEA = { - 32, { - { 31, 9, 0, 0, 0, 0 }, { 30, 9, 0, 0, 0, 0 }, { 29, 9, 0, 0, 0, 0 }, { 28, 9, 0, 0, 0, 0 }, { 27, 9, 0, 0, 0, 0 }, - { 26, 9, 0, 0, 0, 0 }, { 25, 9, 0, 0, 0, 0 }, { 24, 9, 0, 0, 0, 0 }, { 23, 9, 0, 0, 1, 0 }, { 22, 9, 0, 0, 1, 0 }, - { 21, 9, 1, 0, 1, 0 }, { 20, 9, 1, 0, 1, 0 }, { 19, 9, 1, 0, 1, 0 }, { 18, 9, 1, 0, 1, 0 }, { 17, 9, 1, 0, 1, 0 }, - { 16, 9, 1, 0, 1, 0 }, { 15, 9, 2, 0, 1, 0 }, { 14, 9, 2, 0, 1, 0 }, { 13, 9, 2, 0, 1, 0 }, { 12, 9, 2, 0, 1, 0 }, - { 11, 9, 3, 0, 1, 0 }, { 10, 9, 3, 0, 1, 0 }, { 9, 9, 3, 0, 1, 0 }, { 8, 9, 4, 0, 1, 0 }, { 7, 9, 4, 0, 2, 0 }, - { 6, 9, 5, 0, 2, 0 }, { 5, 9, 5, 0, 2, 0 }, { 4, 9, 6, 0, 2, 0 }, { 3, 9, 6, 0, 2, 0 }, { 2, 9, 7, 0, 2, 0 }, - { 1, 9, 7, 0, 2, 0 }, { 0, 9, 8, 0, 2, 0 }, + 32, { + { 31, 9, 0, 0, 0, 0 }, { 30, 9, 0, 0, 0, 0 }, { 29, 9, 0, 0, 0, 0 }, { 28, 9, 0, 0, 0, 0 }, { 27, 9, 0, 0, 0, 0 }, + { 26, 9, 0, 0, 0, 0 }, { 25, 9, 0, 0, 0, 0 }, { 24, 9, 0, 0, 0, 0 }, { 23, 9, 0, 0, 1, 0 }, { 22, 9, 0, 0, 1, 0 }, + { 21, 9, 1, 0, 1, 0 }, { 20, 9, 1, 0, 1, 0 }, { 19, 9, 1, 0, 1, 0 }, { 18, 9, 1, 0, 1, 0 }, { 17, 9, 1, 0, 1, 0 }, + { 16, 9, 1, 0, 1, 0 }, { 15, 9, 2, 0, 1, 0 }, { 14, 9, 2, 0, 1, 0 }, { 13, 9, 2, 0, 1, 0 }, { 12, 9, 2, 0, 1, 0 }, + { 11, 9, 3, 0, 1, 0 }, { 10, 9, 3, 0, 1, 0 }, { 9, 9, 3, 0, 1, 0 }, { 8, 9, 4, 0, 1, 0 }, { 7, 9, 4, 0, 2, 0 }, + { 6, 9, 5, 0, 2, 0 }, { 5, 9, 5, 0, 2, 0 }, { 4, 9, 6, 0, 2, 0 }, { 3, 9, 6, 0, 2, 0 }, { 2, 9, 7, 0, 2, 0 }, + { 1, 9, 7, 0, 2, 0 }, { 0, 9, 8, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FFD0C = { - 32, { - { 9, 0, 0, 8, 0, 0 }, { 9, 1, 0, 8, 0, 0 }, { 9, 2, 0, 8, 0, 0 }, { 9, 3, 0, 8, 0, 0 }, { 9, 4, 0, 8, 0, 0 }, - { 9, 5, 0, 8, 0, 0 }, { 9, 6, 0, 8, 0, 0 }, { 9, 7, 0, 8, 0, 0 }, { 9, 8, 0, 8, 1, 0 }, { 9, 9, 0, 8, 1, 0 }, - { 9, 10, 1, 8, 1, 0 }, { 9, 11, 1, 8, 1, 0 }, { 9, 12, 1, 8, 1, 0 }, { 9, 13, 1, 8, 1, 0 }, { 9, 14, 1, 8, 1, 0 }, - { 9, 15, 1, 8, 1, 0 }, { 9, 16, 2, 8, 1, 0 }, { 9, 17, 2, 8, 1, 0 }, { 9, 18, 2, 8, 1, 0 }, { 9, 19, 2, 8, 1, 0 }, - { 9, 20, 3, 8, 1, 0 }, { 9, 21, 3, 8, 1, 0 }, { 9, 22, 3, 8, 1, 0 }, { 9, 23, 4, 8, 1, 0 }, { 9, 24, 4, 8, 2, 0 }, - { 9, 25, 4, 8, 2, 0 }, { 9, 26, 5, 8, 2, 0 }, { 9, 27, 5, 8, 2, 0 }, { 9, 28, 6, 8, 2, 0 }, { 9, 29, 6, 8, 2, 0 }, - { 9, 30, 7, 8, 2, 0 }, { 9, 31, 7, 8, 2, 0 }, + 32, { + { 9, 0, 0, 8, 0, 0 }, { 9, 1, 0, 8, 0, 0 }, { 9, 2, 0, 8, 0, 0 }, { 9, 3, 0, 8, 0, 0 }, { 9, 4, 0, 8, 0, 0 }, + { 9, 5, 0, 8, 0, 0 }, { 9, 6, 0, 8, 0, 0 }, { 9, 7, 0, 8, 0, 0 }, { 9, 8, 0, 8, 1, 0 }, { 9, 9, 0, 8, 1, 0 }, + { 9, 10, 1, 8, 1, 0 }, { 9, 11, 1, 8, 1, 0 }, { 9, 12, 1, 8, 1, 0 }, { 9, 13, 1, 8, 1, 0 }, { 9, 14, 1, 8, 1, 0 }, + { 9, 15, 1, 8, 1, 0 }, { 9, 16, 2, 8, 1, 0 }, { 9, 17, 2, 8, 1, 0 }, { 9, 18, 2, 8, 1, 0 }, { 9, 19, 2, 8, 1, 0 }, + { 9, 20, 3, 8, 1, 0 }, { 9, 21, 3, 8, 1, 0 }, { 9, 22, 3, 8, 1, 0 }, { 9, 23, 4, 8, 1, 0 }, { 9, 24, 4, 8, 2, 0 }, + { 9, 25, 4, 8, 2, 0 }, { 9, 26, 5, 8, 2, 0 }, { 9, 27, 5, 8, 2, 0 }, { 9, 28, 6, 8, 2, 0 }, { 9, 29, 6, 8, 2, 0 }, + { 9, 30, 7, 8, 2, 0 }, { 9, 31, 7, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FFE2E = { - 32, { - { 0, 23, 0, 16, 0, 0 }, { 1, 23, 0, 16, 0, 0 }, { 2, 23, 0, 16, 0, 0 }, { 3, 23, 0, 16, 0, 0 }, { 4, 23, 0, 16, 0, 0 }, - { 5, 23, 0, 16, 0, 0 }, { 6, 23, 0, 16, 0, 0 }, { 7, 23, 0, 16, 0, 0 }, { 8, 23, 0, 16, 1, 0 }, { 9, 23, 0, 16, 1, 0 }, - { 10, 23, 1, 16, 1, 0 }, { 11, 23, 1, 16, 1, 0 }, { 12, 23, 1, 16, 1, 0 }, { 13, 23, 1, 16, 1, 0 }, { 14, 23, 1, 16, 1, 0 }, - { 15, 23, 1, 16, 1, 0 }, { 16, 23, 2, 16, 1, 0 }, { 17, 23, 2, 16, 1, 0 }, { 18, 23, 2, 16, 1, 0 }, { 19, 23, 2, 16, 1, 0 }, - { 20, 23, 3, 16, 1, 0 }, { 21, 23, 3, 16, 1, 0 }, { 22, 23, 3, 16, 1, 0 }, { 23, 23, 4, 16, 1, 0 }, { 24, 23, 4, 16, 2, 0 }, - { 25, 23, 4, 16, 2, 0 }, { 26, 23, 5, 16, 2, 0 }, { 27, 23, 5, 16, 2, 0 }, { 28, 23, 6, 16, 2, 0 }, { 29, 23, 6, 16, 2, 0 }, - { 30, 23, 7, 16, 2, 0 }, { 31, 23, 7, 16, 2, 0 }, + 32, { + { 0, 23, 0, 16, 0, 0 }, { 1, 23, 0, 16, 0, 0 }, { 2, 23, 0, 16, 0, 0 }, { 3, 23, 0, 16, 0, 0 }, { 4, 23, 0, 16, 0, 0 }, + { 5, 23, 0, 16, 0, 0 }, { 6, 23, 0, 16, 0, 0 }, { 7, 23, 0, 16, 0, 0 }, { 8, 23, 0, 16, 1, 0 }, { 9, 23, 0, 16, 1, 0 }, + { 10, 23, 1, 16, 1, 0 }, { 11, 23, 1, 16, 1, 0 }, { 12, 23, 1, 16, 1, 0 }, { 13, 23, 1, 16, 1, 0 }, { 14, 23, 1, 16, 1, 0 }, + { 15, 23, 1, 16, 1, 0 }, { 16, 23, 2, 16, 1, 0 }, { 17, 23, 2, 16, 1, 0 }, { 18, 23, 2, 16, 1, 0 }, { 19, 23, 2, 16, 1, 0 }, + { 20, 23, 3, 16, 1, 0 }, { 21, 23, 3, 16, 1, 0 }, { 22, 23, 3, 16, 1, 0 }, { 23, 23, 4, 16, 1, 0 }, { 24, 23, 4, 16, 2, 0 }, + { 25, 23, 4, 16, 2, 0 }, { 26, 23, 5, 16, 2, 0 }, { 27, 23, 5, 16, 2, 0 }, { 28, 23, 6, 16, 2, 0 }, { 29, 23, 6, 16, 2, 0 }, + { 30, 23, 7, 16, 2, 0 }, { 31, 23, 7, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FFF50 = { - 32, { - { 23, 31, 0, 24, 0, 0 }, { 23, 30, 0, 24, 0, 0 }, { 23, 29, 0, 24, 0, 0 }, { 23, 28, 0, 24, 0, 0 }, { 23, 27, 0, 24, 0, 0 }, - { 23, 26, 0, 24, 0, 0 }, { 23, 25, 0, 24, 0, 0 }, { 23, 24, 0, 24, 0, 0 }, { 23, 23, 0, 24, 1, 0 }, { 23, 22, 0, 24, 1, 0 }, - { 23, 21, 1, 24, 1, 0 }, { 23, 20, 1, 24, 1, 0 }, { 23, 19, 1, 24, 1, 0 }, { 23, 18, 1, 24, 1, 0 }, { 23, 17, 1, 24, 1, 0 }, - { 23, 16, 1, 24, 1, 0 }, { 23, 15, 2, 24, 1, 0 }, { 23, 14, 2, 24, 1, 0 }, { 23, 13, 2, 24, 1, 0 }, { 23, 12, 2, 24, 1, 0 }, - { 23, 11, 3, 24, 1, 0 }, { 23, 10, 3, 24, 1, 0 }, { 23, 9, 3, 24, 1, 0 }, { 23, 8, 4, 24, 1, 0 }, { 23, 7, 4, 24, 2, 0 }, - { 23, 6, 5, 24, 2, 0 }, { 23, 5, 5, 24, 2, 0 }, { 23, 4, 6, 24, 2, 0 }, { 23, 3, 6, 24, 2, 0 }, { 23, 2, 7, 24, 2, 0 }, - { 23, 1, 7, 24, 2, 0 }, { 23, 0, 8, 24, 2, 0 }, + 32, { + { 23, 31, 0, 24, 0, 0 }, { 23, 30, 0, 24, 0, 0 }, { 23, 29, 0, 24, 0, 0 }, { 23, 28, 0, 24, 0, 0 }, { 23, 27, 0, 24, 0, 0 }, + { 23, 26, 0, 24, 0, 0 }, { 23, 25, 0, 24, 0, 0 }, { 23, 24, 0, 24, 0, 0 }, { 23, 23, 0, 24, 1, 0 }, { 23, 22, 0, 24, 1, 0 }, + { 23, 21, 1, 24, 1, 0 }, { 23, 20, 1, 24, 1, 0 }, { 23, 19, 1, 24, 1, 0 }, { 23, 18, 1, 24, 1, 0 }, { 23, 17, 1, 24, 1, 0 }, + { 23, 16, 1, 24, 1, 0 }, { 23, 15, 2, 24, 1, 0 }, { 23, 14, 2, 24, 1, 0 }, { 23, 13, 2, 24, 1, 0 }, { 23, 12, 2, 24, 1, 0 }, + { 23, 11, 3, 24, 1, 0 }, { 23, 10, 3, 24, 1, 0 }, { 23, 9, 3, 24, 1, 0 }, { 23, 8, 4, 24, 1, 0 }, { 23, 7, 4, 24, 2, 0 }, + { 23, 6, 5, 24, 2, 0 }, { 23, 5, 5, 24, 2, 0 }, { 23, 4, 6, 24, 2, 0 }, { 23, 3, 6, 24, 2, 0 }, { 23, 2, 7, 24, 2, 0 }, + { 23, 1, 7, 24, 2, 0 }, { 23, 0, 8, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_900072 = { - 32, { - { 31, 9, 0, 0, 2, 0 }, { 30, 9, 1, 0, 2, 0 }, { 29, 9, 1, 0, 2, 0 }, { 28, 9, 2, 0, 2, 0 }, { 27, 9, 2, 0, 2, 0 }, - { 26, 9, 3, 0, 2, 0 }, { 25, 9, 3, 0, 2, 0 }, { 24, 9, 3, 0, 2, 0 }, { 23, 9, 4, 0, 1, 0 }, { 22, 9, 4, 0, 1, 0 }, - { 21, 9, 4, 0, 1, 0 }, { 20, 9, 5, 0, 1, 0 }, { 19, 9, 5, 0, 1, 0 }, { 18, 9, 5, 0, 1, 0 }, { 17, 9, 6, 0, 1, 0 }, - { 16, 9, 6, 0, 1, 0 }, { 15, 9, 6, 0, 1, 0 }, { 14, 9, 6, 0, 1, 0 }, { 13, 9, 7, 0, 1, 0 }, { 12, 9, 7, 0, 1, 0 }, - { 11, 9, 7, 0, 1, 0 }, { 10, 9, 7, 0, 1, 0 }, { 9, 9, 7, 0, 0, 0 }, { 8, 9, 7, 0, 0, 0 }, { 7, 9, 8, 0, 0, 0 }, - { 6, 9, 8, 0, 0, 0 }, { 5, 9, 8, 0, 0, 0 }, { 4, 9, 8, 0, 0, 0 }, { 3, 9, 8, 0, 0, 0 }, { 2, 9, 8, 0, 0, 0 }, - { 1, 9, 8, 0, 0, 0 }, { 0, 9, 8, 0, 0, 0 }, + 32, { + { 31, 9, 0, 0, 2, 0 }, { 30, 9, 1, 0, 2, 0 }, { 29, 9, 1, 0, 2, 0 }, { 28, 9, 2, 0, 2, 0 }, { 27, 9, 2, 0, 2, 0 }, + { 26, 9, 3, 0, 2, 0 }, { 25, 9, 3, 0, 2, 0 }, { 24, 9, 3, 0, 2, 0 }, { 23, 9, 4, 0, 1, 0 }, { 22, 9, 4, 0, 1, 0 }, + { 21, 9, 4, 0, 1, 0 }, { 20, 9, 5, 0, 1, 0 }, { 19, 9, 5, 0, 1, 0 }, { 18, 9, 5, 0, 1, 0 }, { 17, 9, 6, 0, 1, 0 }, + { 16, 9, 6, 0, 1, 0 }, { 15, 9, 6, 0, 1, 0 }, { 14, 9, 6, 0, 1, 0 }, { 13, 9, 7, 0, 1, 0 }, { 12, 9, 7, 0, 1, 0 }, + { 11, 9, 7, 0, 1, 0 }, { 10, 9, 7, 0, 1, 0 }, { 9, 9, 7, 0, 0, 0 }, { 8, 9, 7, 0, 0, 0 }, { 7, 9, 8, 0, 0, 0 }, + { 6, 9, 8, 0, 0, 0 }, { 5, 9, 8, 0, 0, 0 }, { 4, 9, 8, 0, 0, 0 }, { 3, 9, 8, 0, 0, 0 }, { 2, 9, 8, 0, 0, 0 }, + { 1, 9, 8, 0, 0, 0 }, { 0, 9, 8, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9001A6 = { - 32, { - { 9, 0, 0, 8, 2, 0 }, { 9, 1, 0, 8, 2, 0 }, { 9, 2, 1, 8, 2, 0 }, { 9, 3, 1, 8, 2, 0 }, { 9, 4, 2, 8, 2, 0 }, - { 9, 5, 2, 8, 2, 0 }, { 9, 6, 3, 8, 2, 0 }, { 9, 7, 3, 8, 2, 0 }, { 9, 8, 4, 8, 1, 0 }, { 9, 9, 4, 8, 1, 0 }, - { 9, 10, 4, 8, 1, 0 }, { 9, 11, 5, 8, 1, 0 }, { 9, 12, 5, 8, 1, 0 }, { 9, 13, 5, 8, 1, 0 }, { 9, 14, 6, 8, 1, 0 }, - { 9, 15, 6, 8, 1, 0 }, { 9, 16, 6, 8, 1, 0 }, { 9, 17, 6, 8, 1, 0 }, { 9, 18, 7, 8, 1, 0 }, { 9, 19, 7, 8, 1, 0 }, - { 9, 20, 7, 8, 1, 0 }, { 9, 21, 7, 8, 1, 0 }, { 9, 22, 7, 8, 0, 0 }, { 9, 23, 7, 8, 0, 0 }, { 9, 24, 8, 8, 0, 0 }, - { 9, 25, 8, 8, 0, 0 }, { 9, 26, 8, 8, 0, 0 }, { 9, 27, 8, 8, 0, 0 }, { 9, 28, 8, 8, 0, 0 }, { 9, 29, 8, 8, 0, 0 }, - { 9, 30, 8, 8, 0, 0 }, { 9, 31, 8, 8, 0, 0 }, + 32, { + { 9, 0, 0, 8, 2, 0 }, { 9, 1, 0, 8, 2, 0 }, { 9, 2, 1, 8, 2, 0 }, { 9, 3, 1, 8, 2, 0 }, { 9, 4, 2, 8, 2, 0 }, + { 9, 5, 2, 8, 2, 0 }, { 9, 6, 3, 8, 2, 0 }, { 9, 7, 3, 8, 2, 0 }, { 9, 8, 4, 8, 1, 0 }, { 9, 9, 4, 8, 1, 0 }, + { 9, 10, 4, 8, 1, 0 }, { 9, 11, 5, 8, 1, 0 }, { 9, 12, 5, 8, 1, 0 }, { 9, 13, 5, 8, 1, 0 }, { 9, 14, 6, 8, 1, 0 }, + { 9, 15, 6, 8, 1, 0 }, { 9, 16, 6, 8, 1, 0 }, { 9, 17, 6, 8, 1, 0 }, { 9, 18, 7, 8, 1, 0 }, { 9, 19, 7, 8, 1, 0 }, + { 9, 20, 7, 8, 1, 0 }, { 9, 21, 7, 8, 1, 0 }, { 9, 22, 7, 8, 0, 0 }, { 9, 23, 7, 8, 0, 0 }, { 9, 24, 8, 8, 0, 0 }, + { 9, 25, 8, 8, 0, 0 }, { 9, 26, 8, 8, 0, 0 }, { 9, 27, 8, 8, 0, 0 }, { 9, 28, 8, 8, 0, 0 }, { 9, 29, 8, 8, 0, 0 }, + { 9, 30, 8, 8, 0, 0 }, { 9, 31, 8, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9002DA = { - 32, { - { 0, 23, 0, 16, 2, 0 }, { 1, 23, 0, 16, 2, 0 }, { 2, 23, 1, 16, 2, 0 }, { 3, 23, 1, 16, 2, 0 }, { 4, 23, 2, 16, 2, 0 }, - { 5, 23, 2, 16, 2, 0 }, { 6, 23, 3, 16, 2, 0 }, { 7, 23, 3, 16, 2, 0 }, { 8, 23, 4, 16, 1, 0 }, { 9, 23, 4, 16, 1, 0 }, - { 10, 23, 4, 16, 1, 0 }, { 11, 23, 5, 16, 1, 0 }, { 12, 23, 5, 16, 1, 0 }, { 13, 23, 5, 16, 1, 0 }, { 14, 23, 6, 16, 1, 0 }, - { 15, 23, 6, 16, 1, 0 }, { 16, 23, 6, 16, 1, 0 }, { 17, 23, 6, 16, 1, 0 }, { 18, 23, 7, 16, 1, 0 }, { 19, 23, 7, 16, 1, 0 }, - { 20, 23, 7, 16, 1, 0 }, { 21, 23, 7, 16, 1, 0 }, { 22, 23, 7, 16, 0, 0 }, { 23, 23, 7, 16, 0, 0 }, { 24, 23, 8, 16, 0, 0 }, - { 25, 23, 8, 16, 0, 0 }, { 26, 23, 8, 16, 0, 0 }, { 27, 23, 8, 16, 0, 0 }, { 28, 23, 8, 16, 0, 0 }, { 29, 23, 8, 16, 0, 0 }, - { 30, 23, 8, 16, 0, 0 }, { 31, 23, 8, 16, 0, 0 }, + 32, { + { 0, 23, 0, 16, 2, 0 }, { 1, 23, 0, 16, 2, 0 }, { 2, 23, 1, 16, 2, 0 }, { 3, 23, 1, 16, 2, 0 }, { 4, 23, 2, 16, 2, 0 }, + { 5, 23, 2, 16, 2, 0 }, { 6, 23, 3, 16, 2, 0 }, { 7, 23, 3, 16, 2, 0 }, { 8, 23, 4, 16, 1, 0 }, { 9, 23, 4, 16, 1, 0 }, + { 10, 23, 4, 16, 1, 0 }, { 11, 23, 5, 16, 1, 0 }, { 12, 23, 5, 16, 1, 0 }, { 13, 23, 5, 16, 1, 0 }, { 14, 23, 6, 16, 1, 0 }, + { 15, 23, 6, 16, 1, 0 }, { 16, 23, 6, 16, 1, 0 }, { 17, 23, 6, 16, 1, 0 }, { 18, 23, 7, 16, 1, 0 }, { 19, 23, 7, 16, 1, 0 }, + { 20, 23, 7, 16, 1, 0 }, { 21, 23, 7, 16, 1, 0 }, { 22, 23, 7, 16, 0, 0 }, { 23, 23, 7, 16, 0, 0 }, { 24, 23, 8, 16, 0, 0 }, + { 25, 23, 8, 16, 0, 0 }, { 26, 23, 8, 16, 0, 0 }, { 27, 23, 8, 16, 0, 0 }, { 28, 23, 8, 16, 0, 0 }, { 29, 23, 8, 16, 0, 0 }, + { 30, 23, 8, 16, 0, 0 }, { 31, 23, 8, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90040E = { - 32, { - { 23, 31, 0, 24, 2, 0 }, { 23, 30, 1, 24, 2, 0 }, { 23, 29, 1, 24, 2, 0 }, { 23, 28, 2, 24, 2, 0 }, { 23, 27, 2, 24, 2, 0 }, - { 23, 26, 3, 24, 2, 0 }, { 23, 25, 3, 24, 2, 0 }, { 23, 24, 3, 24, 2, 0 }, { 23, 23, 4, 24, 1, 0 }, { 23, 22, 4, 24, 1, 0 }, - { 23, 21, 4, 24, 1, 0 }, { 23, 20, 5, 24, 1, 0 }, { 23, 19, 5, 24, 1, 0 }, { 23, 18, 5, 24, 1, 0 }, { 23, 17, 6, 24, 1, 0 }, - { 23, 16, 6, 24, 1, 0 }, { 23, 15, 6, 24, 1, 0 }, { 23, 14, 6, 24, 1, 0 }, { 23, 13, 7, 24, 1, 0 }, { 23, 12, 7, 24, 1, 0 }, - { 23, 11, 7, 24, 1, 0 }, { 23, 10, 7, 24, 1, 0 }, { 23, 9, 7, 24, 0, 0 }, { 23, 8, 7, 24, 0, 0 }, { 23, 7, 8, 24, 0, 0 }, - { 23, 6, 8, 24, 0, 0 }, { 23, 5, 8, 24, 0, 0 }, { 23, 4, 8, 24, 0, 0 }, { 23, 3, 8, 24, 0, 0 }, { 23, 2, 8, 24, 0, 0 }, - { 23, 1, 8, 24, 0, 0 }, { 23, 0, 8, 24, 0, 0 }, + 32, { + { 23, 31, 0, 24, 2, 0 }, { 23, 30, 1, 24, 2, 0 }, { 23, 29, 1, 24, 2, 0 }, { 23, 28, 2, 24, 2, 0 }, { 23, 27, 2, 24, 2, 0 }, + { 23, 26, 3, 24, 2, 0 }, { 23, 25, 3, 24, 2, 0 }, { 23, 24, 3, 24, 2, 0 }, { 23, 23, 4, 24, 1, 0 }, { 23, 22, 4, 24, 1, 0 }, + { 23, 21, 4, 24, 1, 0 }, { 23, 20, 5, 24, 1, 0 }, { 23, 19, 5, 24, 1, 0 }, { 23, 18, 5, 24, 1, 0 }, { 23, 17, 6, 24, 1, 0 }, + { 23, 16, 6, 24, 1, 0 }, { 23, 15, 6, 24, 1, 0 }, { 23, 14, 6, 24, 1, 0 }, { 23, 13, 7, 24, 1, 0 }, { 23, 12, 7, 24, 1, 0 }, + { 23, 11, 7, 24, 1, 0 }, { 23, 10, 7, 24, 1, 0 }, { 23, 9, 7, 24, 0, 0 }, { 23, 8, 7, 24, 0, 0 }, { 23, 7, 8, 24, 0, 0 }, + { 23, 6, 8, 24, 0, 0 }, { 23, 5, 8, 24, 0, 0 }, { 23, 4, 8, 24, 0, 0 }, { 23, 3, 8, 24, 0, 0 }, { 23, 2, 8, 24, 0, 0 }, + { 23, 1, 8, 24, 0, 0 }, { 23, 0, 8, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9012DA = { - 32, { - { 31, 9, 15, 0, 6, 0 }, { 30, 9, 14, 0, 6, 0 }, { 29, 9, 14, 0, 6, 0 }, { 28, 9, 13, 0, 6, 0 }, { 27, 9, 13, 0, 6, 0 }, - { 26, 9, 12, 0, 6, 0 }, { 25, 9, 12, 0, 6, 0 }, { 24, 9, 11, 0, 6, 0 }, { 23, 9, 11, 0, 6, 0 }, { 22, 9, 10, 0, 6, 0 }, - { 21, 9, 10, 0, 6, 0 }, { 20, 9, 9, 0, 6, 0 }, { 19, 9, 9, 0, 6, 0 }, { 18, 9, 8, 0, 6, 0 }, { 17, 9, 8, 0, 6, 0 }, - { 16, 9, 7, 0, 6, 0 }, { 15, 9, 7, 0, 6, 0 }, { 14, 9, 6, 0, 6, 0 }, { 13, 9, 6, 0, 6, 0 }, { 12, 9, 5, 0, 6, 0 }, - { 11, 9, 5, 0, 6, 0 }, { 10, 9, 4, 0, 6, 0 }, { 9, 9, 4, 0, 6, 0 }, { 8, 9, 3, 0, 6, 0 }, { 7, 9, 3, 0, 6, 0 }, - { 6, 9, 2, 0, 6, 0 }, { 5, 9, 2, 0, 6, 0 }, { 4, 9, 1, 0, 6, 0 }, { 3, 9, 1, 0, 6, 0 }, { 2, 9, 0, 0, 6, 0 }, - { 1, 9, 0, 0, 6, 0 }, { 0, 9, -1, 0, 6, 0 }, + 32, { + { 31, 9, 15, 0, 6, 0 }, { 30, 9, 14, 0, 6, 0 }, { 29, 9, 14, 0, 6, 0 }, { 28, 9, 13, 0, 6, 0 }, { 27, 9, 13, 0, 6, 0 }, + { 26, 9, 12, 0, 6, 0 }, { 25, 9, 12, 0, 6, 0 }, { 24, 9, 11, 0, 6, 0 }, { 23, 9, 11, 0, 6, 0 }, { 22, 9, 10, 0, 6, 0 }, + { 21, 9, 10, 0, 6, 0 }, { 20, 9, 9, 0, 6, 0 }, { 19, 9, 9, 0, 6, 0 }, { 18, 9, 8, 0, 6, 0 }, { 17, 9, 8, 0, 6, 0 }, + { 16, 9, 7, 0, 6, 0 }, { 15, 9, 7, 0, 6, 0 }, { 14, 9, 6, 0, 6, 0 }, { 13, 9, 6, 0, 6, 0 }, { 12, 9, 5, 0, 6, 0 }, + { 11, 9, 5, 0, 6, 0 }, { 10, 9, 4, 0, 6, 0 }, { 9, 9, 4, 0, 6, 0 }, { 8, 9, 3, 0, 6, 0 }, { 7, 9, 3, 0, 6, 0 }, + { 6, 9, 2, 0, 6, 0 }, { 5, 9, 2, 0, 6, 0 }, { 4, 9, 1, 0, 6, 0 }, { 3, 9, 1, 0, 6, 0 }, { 2, 9, 0, 0, 6, 0 }, + { 1, 9, 0, 0, 6, 0 }, { 0, 9, -1, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9013FC = { - 32, { - { 9, 0, 15, 8, 6, 0 }, { 9, 1, 15, 8, 6, 0 }, { 9, 2, 14, 8, 6, 0 }, { 9, 3, 14, 8, 6, 0 }, { 9, 4, 13, 8, 6, 0 }, - { 9, 5, 13, 8, 6, 0 }, { 9, 6, 12, 8, 6, 0 }, { 9, 7, 12, 8, 6, 0 }, { 9, 8, 11, 8, 6, 0 }, { 9, 9, 11, 8, 6, 0 }, - { 9, 10, 10, 8, 6, 0 }, { 9, 11, 10, 8, 6, 0 }, { 9, 12, 9, 8, 6, 0 }, { 9, 13, 9, 8, 6, 0 }, { 9, 14, 8, 8, 6, 0 }, - { 9, 15, 8, 8, 6, 0 }, { 9, 16, 7, 8, 6, 0 }, { 9, 17, 7, 8, 6, 0 }, { 9, 18, 6, 8, 6, 0 }, { 9, 19, 6, 8, 6, 0 }, - { 9, 20, 5, 8, 6, 0 }, { 9, 21, 5, 8, 6, 0 }, { 9, 22, 4, 8, 6, 0 }, { 9, 23, 4, 8, 6, 0 }, { 9, 24, 3, 8, 6, 0 }, - { 9, 25, 3, 8, 6, 0 }, { 9, 26, 2, 8, 6, 0 }, { 9, 27, 2, 8, 6, 0 }, { 9, 28, 1, 8, 6, 0 }, { 9, 29, 1, 8, 6, 0 }, - { 9, 30, 0, 8, 6, 0 }, { 9, 31, 0, 8, 6, 0 }, + 32, { + { 9, 0, 15, 8, 6, 0 }, { 9, 1, 15, 8, 6, 0 }, { 9, 2, 14, 8, 6, 0 }, { 9, 3, 14, 8, 6, 0 }, { 9, 4, 13, 8, 6, 0 }, + { 9, 5, 13, 8, 6, 0 }, { 9, 6, 12, 8, 6, 0 }, { 9, 7, 12, 8, 6, 0 }, { 9, 8, 11, 8, 6, 0 }, { 9, 9, 11, 8, 6, 0 }, + { 9, 10, 10, 8, 6, 0 }, { 9, 11, 10, 8, 6, 0 }, { 9, 12, 9, 8, 6, 0 }, { 9, 13, 9, 8, 6, 0 }, { 9, 14, 8, 8, 6, 0 }, + { 9, 15, 8, 8, 6, 0 }, { 9, 16, 7, 8, 6, 0 }, { 9, 17, 7, 8, 6, 0 }, { 9, 18, 6, 8, 6, 0 }, { 9, 19, 6, 8, 6, 0 }, + { 9, 20, 5, 8, 6, 0 }, { 9, 21, 5, 8, 6, 0 }, { 9, 22, 4, 8, 6, 0 }, { 9, 23, 4, 8, 6, 0 }, { 9, 24, 3, 8, 6, 0 }, + { 9, 25, 3, 8, 6, 0 }, { 9, 26, 2, 8, 6, 0 }, { 9, 27, 2, 8, 6, 0 }, { 9, 28, 1, 8, 6, 0 }, { 9, 29, 1, 8, 6, 0 }, + { 9, 30, 0, 8, 6, 0 }, { 9, 31, 0, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90151E = { - 32, { - { 0, 23, 15, 16, 6, 0 }, { 1, 23, 15, 16, 6, 0 }, { 2, 23, 14, 16, 6, 0 }, { 3, 23, 14, 16, 6, 0 }, { 4, 23, 13, 16, 6, 0 }, - { 5, 23, 13, 16, 6, 0 }, { 6, 23, 12, 16, 6, 0 }, { 7, 23, 12, 16, 6, 0 }, { 8, 23, 11, 16, 6, 0 }, { 9, 23, 11, 16, 6, 0 }, - { 10, 23, 10, 16, 6, 0 }, { 11, 23, 10, 16, 6, 0 }, { 12, 23, 9, 16, 6, 0 }, { 13, 23, 9, 16, 6, 0 }, { 14, 23, 8, 16, 6, 0 }, - { 15, 23, 8, 16, 6, 0 }, { 16, 23, 7, 16, 6, 0 }, { 17, 23, 7, 16, 6, 0 }, { 18, 23, 6, 16, 6, 0 }, { 19, 23, 6, 16, 6, 0 }, - { 20, 23, 5, 16, 6, 0 }, { 21, 23, 5, 16, 6, 0 }, { 22, 23, 4, 16, 6, 0 }, { 23, 23, 4, 16, 6, 0 }, { 24, 23, 3, 16, 6, 0 }, - { 25, 23, 3, 16, 6, 0 }, { 26, 23, 2, 16, 6, 0 }, { 27, 23, 2, 16, 6, 0 }, { 28, 23, 1, 16, 6, 0 }, { 29, 23, 1, 16, 6, 0 }, - { 30, 23, 0, 16, 6, 0 }, { 31, 23, 0, 16, 6, 0 }, + 32, { + { 0, 23, 15, 16, 6, 0 }, { 1, 23, 15, 16, 6, 0 }, { 2, 23, 14, 16, 6, 0 }, { 3, 23, 14, 16, 6, 0 }, { 4, 23, 13, 16, 6, 0 }, + { 5, 23, 13, 16, 6, 0 }, { 6, 23, 12, 16, 6, 0 }, { 7, 23, 12, 16, 6, 0 }, { 8, 23, 11, 16, 6, 0 }, { 9, 23, 11, 16, 6, 0 }, + { 10, 23, 10, 16, 6, 0 }, { 11, 23, 10, 16, 6, 0 }, { 12, 23, 9, 16, 6, 0 }, { 13, 23, 9, 16, 6, 0 }, { 14, 23, 8, 16, 6, 0 }, + { 15, 23, 8, 16, 6, 0 }, { 16, 23, 7, 16, 6, 0 }, { 17, 23, 7, 16, 6, 0 }, { 18, 23, 6, 16, 6, 0 }, { 19, 23, 6, 16, 6, 0 }, + { 20, 23, 5, 16, 6, 0 }, { 21, 23, 5, 16, 6, 0 }, { 22, 23, 4, 16, 6, 0 }, { 23, 23, 4, 16, 6, 0 }, { 24, 23, 3, 16, 6, 0 }, + { 25, 23, 3, 16, 6, 0 }, { 26, 23, 2, 16, 6, 0 }, { 27, 23, 2, 16, 6, 0 }, { 28, 23, 1, 16, 6, 0 }, { 29, 23, 1, 16, 6, 0 }, + { 30, 23, 0, 16, 6, 0 }, { 31, 23, 0, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_901640 = { - 32, { - { 23, 31, 15, 24, 6, 0 }, { 23, 30, 14, 24, 6, 0 }, { 23, 29, 14, 24, 6, 0 }, { 23, 28, 13, 24, 6, 0 }, { 23, 27, 13, 24, 6, 0 }, - { 23, 26, 12, 24, 6, 0 }, { 23, 25, 12, 24, 6, 0 }, { 23, 24, 11, 24, 6, 0 }, { 23, 23, 11, 24, 6, 0 }, { 23, 22, 10, 24, 6, 0 }, - { 23, 21, 10, 24, 6, 0 }, { 23, 20, 9, 24, 6, 0 }, { 23, 19, 9, 24, 6, 0 }, { 23, 18, 8, 24, 6, 0 }, { 23, 17, 8, 24, 6, 0 }, - { 23, 16, 7, 24, 6, 0 }, { 23, 15, 7, 24, 6, 0 }, { 23, 14, 6, 24, 6, 0 }, { 23, 13, 6, 24, 6, 0 }, { 23, 12, 5, 24, 6, 0 }, - { 23, 11, 5, 24, 6, 0 }, { 23, 10, 4, 24, 6, 0 }, { 23, 9, 4, 24, 6, 0 }, { 23, 8, 3, 24, 6, 0 }, { 23, 7, 3, 24, 6, 0 }, - { 23, 6, 2, 24, 6, 0 }, { 23, 5, 2, 24, 6, 0 }, { 23, 4, 1, 24, 6, 0 }, { 23, 3, 1, 24, 6, 0 }, { 23, 2, 0, 24, 6, 0 }, - { 23, 1, 0, 24, 6, 0 }, { 23, 0, -1, 24, 6, 0 }, + 32, { + { 23, 31, 15, 24, 6, 0 }, { 23, 30, 14, 24, 6, 0 }, { 23, 29, 14, 24, 6, 0 }, { 23, 28, 13, 24, 6, 0 }, { 23, 27, 13, 24, 6, 0 }, + { 23, 26, 12, 24, 6, 0 }, { 23, 25, 12, 24, 6, 0 }, { 23, 24, 11, 24, 6, 0 }, { 23, 23, 11, 24, 6, 0 }, { 23, 22, 10, 24, 6, 0 }, + { 23, 21, 10, 24, 6, 0 }, { 23, 20, 9, 24, 6, 0 }, { 23, 19, 9, 24, 6, 0 }, { 23, 18, 8, 24, 6, 0 }, { 23, 17, 8, 24, 6, 0 }, + { 23, 16, 7, 24, 6, 0 }, { 23, 15, 7, 24, 6, 0 }, { 23, 14, 6, 24, 6, 0 }, { 23, 13, 6, 24, 6, 0 }, { 23, 12, 5, 24, 6, 0 }, + { 23, 11, 5, 24, 6, 0 }, { 23, 10, 4, 24, 6, 0 }, { 23, 9, 4, 24, 6, 0 }, { 23, 8, 3, 24, 6, 0 }, { 23, 7, 3, 24, 6, 0 }, + { 23, 6, 2, 24, 6, 0 }, { 23, 5, 2, 24, 6, 0 }, { 23, 4, 1, 24, 6, 0 }, { 23, 3, 1, 24, 6, 0 }, { 23, 2, 0, 24, 6, 0 }, + { 23, 1, 0, 24, 6, 0 }, { 23, 0, -1, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9009CA = { - 32, { - { 31, 9, 8, 0, 0, 0 }, { 30, 9, 8, 0, 0, 0 }, { 29, 9, 8, 0, 0, 0 }, { 28, 9, 8, 0, 0, 0 }, { 27, 9, 8, 0, 0, 0 }, - { 26, 9, 8, 0, 0, 0 }, { 25, 9, 8, 0, 0, 0 }, { 24, 9, 8, 0, 0, 0 }, { 23, 9, 7, 0, 5, 0 }, { 22, 9, 7, 0, 5, 0 }, - { 21, 9, 7, 0, 5, 0 }, { 20, 9, 7, 0, 5, 0 }, { 19, 9, 7, 0, 5, 0 }, { 18, 9, 7, 0, 5, 0 }, { 17, 9, 6, 0, 5, 0 }, - { 16, 9, 6, 0, 5, 0 }, { 15, 9, 6, 0, 5, 0 }, { 14, 9, 6, 0, 5, 0 }, { 13, 9, 5, 0, 5, 0 }, { 12, 9, 5, 0, 5, 0 }, - { 11, 9, 5, 0, 5, 0 }, { 10, 9, 4, 0, 5, 0 }, { 9, 9, 4, 0, 5, 0 }, { 8, 9, 4, 0, 5, 0 }, { 7, 9, 3, 0, 6, 0 }, - { 6, 9, 3, 0, 6, 0 }, { 5, 9, 2, 0, 6, 0 }, { 4, 9, 2, 0, 6, 0 }, { 3, 9, 1, 0, 6, 0 }, { 2, 9, 1, 0, 6, 0 }, - { 1, 9, 0, 0, 6, 0 }, { 0, 9, 0, 0, 6, 0 }, + 32, { + { 31, 9, 8, 0, 0, 0 }, { 30, 9, 8, 0, 0, 0 }, { 29, 9, 8, 0, 0, 0 }, { 28, 9, 8, 0, 0, 0 }, { 27, 9, 8, 0, 0, 0 }, + { 26, 9, 8, 0, 0, 0 }, { 25, 9, 8, 0, 0, 0 }, { 24, 9, 8, 0, 0, 0 }, { 23, 9, 7, 0, 5, 0 }, { 22, 9, 7, 0, 5, 0 }, + { 21, 9, 7, 0, 5, 0 }, { 20, 9, 7, 0, 5, 0 }, { 19, 9, 7, 0, 5, 0 }, { 18, 9, 7, 0, 5, 0 }, { 17, 9, 6, 0, 5, 0 }, + { 16, 9, 6, 0, 5, 0 }, { 15, 9, 6, 0, 5, 0 }, { 14, 9, 6, 0, 5, 0 }, { 13, 9, 5, 0, 5, 0 }, { 12, 9, 5, 0, 5, 0 }, + { 11, 9, 5, 0, 5, 0 }, { 10, 9, 4, 0, 5, 0 }, { 9, 9, 4, 0, 5, 0 }, { 8, 9, 4, 0, 5, 0 }, { 7, 9, 3, 0, 6, 0 }, + { 6, 9, 3, 0, 6, 0 }, { 5, 9, 2, 0, 6, 0 }, { 4, 9, 2, 0, 6, 0 }, { 3, 9, 1, 0, 6, 0 }, { 2, 9, 1, 0, 6, 0 }, + { 1, 9, 0, 0, 6, 0 }, { 0, 9, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_900AEC = { - 32, { - { 9, 0, 8, 8, 0, 0 }, { 9, 1, 8, 8, 0, 0 }, { 9, 2, 8, 8, 0, 0 }, { 9, 3, 8, 8, 0, 0 }, { 9, 4, 8, 8, 0, 0 }, - { 9, 5, 8, 8, 0, 0 }, { 9, 6, 8, 8, 0, 0 }, { 9, 7, 8, 8, 0, 0 }, { 9, 8, 7, 8, 5, 0 }, { 9, 9, 7, 8, 5, 0 }, - { 9, 10, 7, 8, 5, 0 }, { 9, 11, 7, 8, 5, 0 }, { 9, 12, 7, 8, 5, 0 }, { 9, 13, 7, 8, 5, 0 }, { 9, 14, 6, 8, 5, 0 }, - { 9, 15, 6, 8, 5, 0 }, { 9, 16, 6, 8, 5, 0 }, { 9, 17, 6, 8, 5, 0 }, { 9, 18, 5, 8, 5, 0 }, { 9, 19, 5, 8, 5, 0 }, - { 9, 20, 5, 8, 5, 0 }, { 9, 21, 4, 8, 5, 0 }, { 9, 22, 4, 8, 5, 0 }, { 9, 23, 4, 8, 5, 0 }, { 9, 24, 3, 8, 6, 0 }, - { 9, 25, 3, 8, 6, 0 }, { 9, 26, 3, 8, 6, 0 }, { 9, 27, 2, 8, 6, 0 }, { 9, 28, 2, 8, 6, 0 }, { 9, 29, 1, 8, 6, 0 }, - { 9, 30, 1, 8, 6, 0 }, { 9, 31, 0, 8, 6, 0 }, + 32, { + { 9, 0, 8, 8, 0, 0 }, { 9, 1, 8, 8, 0, 0 }, { 9, 2, 8, 8, 0, 0 }, { 9, 3, 8, 8, 0, 0 }, { 9, 4, 8, 8, 0, 0 }, + { 9, 5, 8, 8, 0, 0 }, { 9, 6, 8, 8, 0, 0 }, { 9, 7, 8, 8, 0, 0 }, { 9, 8, 7, 8, 5, 0 }, { 9, 9, 7, 8, 5, 0 }, + { 9, 10, 7, 8, 5, 0 }, { 9, 11, 7, 8, 5, 0 }, { 9, 12, 7, 8, 5, 0 }, { 9, 13, 7, 8, 5, 0 }, { 9, 14, 6, 8, 5, 0 }, + { 9, 15, 6, 8, 5, 0 }, { 9, 16, 6, 8, 5, 0 }, { 9, 17, 6, 8, 5, 0 }, { 9, 18, 5, 8, 5, 0 }, { 9, 19, 5, 8, 5, 0 }, + { 9, 20, 5, 8, 5, 0 }, { 9, 21, 4, 8, 5, 0 }, { 9, 22, 4, 8, 5, 0 }, { 9, 23, 4, 8, 5, 0 }, { 9, 24, 3, 8, 6, 0 }, + { 9, 25, 3, 8, 6, 0 }, { 9, 26, 3, 8, 6, 0 }, { 9, 27, 2, 8, 6, 0 }, { 9, 28, 2, 8, 6, 0 }, { 9, 29, 1, 8, 6, 0 }, + { 9, 30, 1, 8, 6, 0 }, { 9, 31, 0, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_900C0E = { - 32, { - { 0, 23, 8, 16, 0, 0 }, { 1, 23, 8, 16, 0, 0 }, { 2, 23, 8, 16, 0, 0 }, { 3, 23, 8, 16, 0, 0 }, { 4, 23, 8, 16, 0, 0 }, - { 5, 23, 8, 16, 0, 0 }, { 6, 23, 8, 16, 0, 0 }, { 7, 23, 8, 16, 0, 0 }, { 8, 23, 7, 16, 5, 0 }, { 9, 23, 7, 16, 5, 0 }, - { 10, 23, 7, 16, 5, 0 }, { 11, 23, 7, 16, 5, 0 }, { 12, 23, 7, 16, 5, 0 }, { 13, 23, 7, 16, 5, 0 }, { 14, 23, 6, 16, 5, 0 }, - { 15, 23, 6, 16, 5, 0 }, { 16, 23, 6, 16, 5, 0 }, { 17, 23, 6, 16, 5, 0 }, { 18, 23, 5, 16, 5, 0 }, { 19, 23, 5, 16, 5, 0 }, - { 20, 23, 5, 16, 5, 0 }, { 21, 23, 4, 16, 5, 0 }, { 22, 23, 4, 16, 5, 0 }, { 23, 23, 4, 16, 5, 0 }, { 24, 23, 3, 16, 6, 0 }, - { 25, 23, 3, 16, 6, 0 }, { 26, 23, 3, 16, 6, 0 }, { 27, 23, 2, 16, 6, 0 }, { 28, 23, 2, 16, 6, 0 }, { 29, 23, 1, 16, 6, 0 }, - { 30, 23, 1, 16, 6, 0 }, { 31, 23, 0, 16, 6, 0 }, + 32, { + { 0, 23, 8, 16, 0, 0 }, { 1, 23, 8, 16, 0, 0 }, { 2, 23, 8, 16, 0, 0 }, { 3, 23, 8, 16, 0, 0 }, { 4, 23, 8, 16, 0, 0 }, + { 5, 23, 8, 16, 0, 0 }, { 6, 23, 8, 16, 0, 0 }, { 7, 23, 8, 16, 0, 0 }, { 8, 23, 7, 16, 5, 0 }, { 9, 23, 7, 16, 5, 0 }, + { 10, 23, 7, 16, 5, 0 }, { 11, 23, 7, 16, 5, 0 }, { 12, 23, 7, 16, 5, 0 }, { 13, 23, 7, 16, 5, 0 }, { 14, 23, 6, 16, 5, 0 }, + { 15, 23, 6, 16, 5, 0 }, { 16, 23, 6, 16, 5, 0 }, { 17, 23, 6, 16, 5, 0 }, { 18, 23, 5, 16, 5, 0 }, { 19, 23, 5, 16, 5, 0 }, + { 20, 23, 5, 16, 5, 0 }, { 21, 23, 4, 16, 5, 0 }, { 22, 23, 4, 16, 5, 0 }, { 23, 23, 4, 16, 5, 0 }, { 24, 23, 3, 16, 6, 0 }, + { 25, 23, 3, 16, 6, 0 }, { 26, 23, 3, 16, 6, 0 }, { 27, 23, 2, 16, 6, 0 }, { 28, 23, 2, 16, 6, 0 }, { 29, 23, 1, 16, 6, 0 }, + { 30, 23, 1, 16, 6, 0 }, { 31, 23, 0, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_900D30 = { - 32, { - { 23, 31, 8, 24, 0, 0 }, { 23, 30, 8, 24, 0, 0 }, { 23, 29, 8, 24, 0, 0 }, { 23, 28, 8, 24, 0, 0 }, { 23, 27, 8, 24, 0, 0 }, - { 23, 26, 8, 24, 0, 0 }, { 23, 25, 8, 24, 0, 0 }, { 23, 24, 8, 24, 0, 0 }, { 23, 23, 7, 24, 5, 0 }, { 23, 22, 7, 24, 5, 0 }, - { 23, 21, 7, 24, 5, 0 }, { 23, 20, 7, 24, 5, 0 }, { 23, 19, 7, 24, 5, 0 }, { 23, 18, 7, 24, 5, 0 }, { 23, 17, 6, 24, 5, 0 }, - { 23, 16, 6, 24, 5, 0 }, { 23, 15, 6, 24, 5, 0 }, { 23, 14, 6, 24, 5, 0 }, { 23, 13, 5, 24, 5, 0 }, { 23, 12, 5, 24, 5, 0 }, - { 23, 11, 5, 24, 5, 0 }, { 23, 10, 4, 24, 5, 0 }, { 23, 9, 4, 24, 5, 0 }, { 23, 8, 4, 24, 5, 0 }, { 23, 7, 3, 24, 6, 0 }, - { 23, 6, 3, 24, 6, 0 }, { 23, 5, 2, 24, 6, 0 }, { 23, 4, 2, 24, 6, 0 }, { 23, 3, 1, 24, 6, 0 }, { 23, 2, 1, 24, 6, 0 }, - { 23, 1, 0, 24, 6, 0 }, { 23, 0, 0, 24, 6, 0 }, + 32, { + { 23, 31, 8, 24, 0, 0 }, { 23, 30, 8, 24, 0, 0 }, { 23, 29, 8, 24, 0, 0 }, { 23, 28, 8, 24, 0, 0 }, { 23, 27, 8, 24, 0, 0 }, + { 23, 26, 8, 24, 0, 0 }, { 23, 25, 8, 24, 0, 0 }, { 23, 24, 8, 24, 0, 0 }, { 23, 23, 7, 24, 5, 0 }, { 23, 22, 7, 24, 5, 0 }, + { 23, 21, 7, 24, 5, 0 }, { 23, 20, 7, 24, 5, 0 }, { 23, 19, 7, 24, 5, 0 }, { 23, 18, 7, 24, 5, 0 }, { 23, 17, 6, 24, 5, 0 }, + { 23, 16, 6, 24, 5, 0 }, { 23, 15, 6, 24, 5, 0 }, { 23, 14, 6, 24, 5, 0 }, { 23, 13, 5, 24, 5, 0 }, { 23, 12, 5, 24, 5, 0 }, + { 23, 11, 5, 24, 5, 0 }, { 23, 10, 4, 24, 5, 0 }, { 23, 9, 4, 24, 5, 0 }, { 23, 8, 4, 24, 5, 0 }, { 23, 7, 3, 24, 6, 0 }, + { 23, 6, 3, 24, 6, 0 }, { 23, 5, 2, 24, 6, 0 }, { 23, 4, 2, 24, 6, 0 }, { 23, 3, 1, 24, 6, 0 }, { 23, 2, 1, 24, 6, 0 }, + { 23, 1, 0, 24, 6, 0 }, { 23, 0, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_900542 = { - 32, { - { 31, 9, 7, 0, 6, 0 }, { 30, 9, 7, 0, 6, 0 }, { 29, 9, 6, 0, 6, 0 }, { 28, 9, 6, 0, 6, 0 }, { 27, 9, 5, 0, 6, 0 }, - { 26, 9, 5, 0, 6, 0 }, { 25, 9, 4, 0, 6, 0 }, { 24, 9, 4, 0, 6, 0 }, { 23, 9, 4, 0, 5, 0 }, { 22, 9, 3, 0, 5, 0 }, - { 21, 9, 3, 0, 5, 0 }, { 20, 9, 3, 0, 5, 0 }, { 19, 9, 2, 0, 5, 0 }, { 18, 9, 2, 0, 5, 0 }, { 17, 9, 2, 0, 5, 0 }, - { 16, 9, 2, 0, 5, 0 }, { 15, 9, 1, 0, 5, 0 }, { 14, 9, 1, 0, 5, 0 }, { 13, 9, 1, 0, 5, 0 }, { 12, 9, 1, 0, 5, 0 }, - { 11, 9, 1, 0, 5, 0 }, { 10, 9, 1, 0, 5, 0 }, { 9, 9, 0, 0, 0, 0 }, { 8, 9, 0, 0, 0, 0 }, { 7, 9, 0, 0, 0, 0 }, - { 6, 9, 0, 0, 0, 0 }, { 5, 9, 0, 0, 0, 0 }, { 4, 9, 0, 0, 0, 0 }, { 3, 9, 0, 0, 0, 0 }, { 2, 9, 0, 0, 0, 0 }, - { 1, 9, 0, 0, 0, 0 }, { 0, 9, 0, 0, 0, 0 }, + 32, { + { 31, 9, 7, 0, 6, 0 }, { 30, 9, 7, 0, 6, 0 }, { 29, 9, 6, 0, 6, 0 }, { 28, 9, 6, 0, 6, 0 }, { 27, 9, 5, 0, 6, 0 }, + { 26, 9, 5, 0, 6, 0 }, { 25, 9, 4, 0, 6, 0 }, { 24, 9, 4, 0, 6, 0 }, { 23, 9, 4, 0, 5, 0 }, { 22, 9, 3, 0, 5, 0 }, + { 21, 9, 3, 0, 5, 0 }, { 20, 9, 3, 0, 5, 0 }, { 19, 9, 2, 0, 5, 0 }, { 18, 9, 2, 0, 5, 0 }, { 17, 9, 2, 0, 5, 0 }, + { 16, 9, 2, 0, 5, 0 }, { 15, 9, 1, 0, 5, 0 }, { 14, 9, 1, 0, 5, 0 }, { 13, 9, 1, 0, 5, 0 }, { 12, 9, 1, 0, 5, 0 }, + { 11, 9, 1, 0, 5, 0 }, { 10, 9, 1, 0, 5, 0 }, { 9, 9, 0, 0, 0, 0 }, { 8, 9, 0, 0, 0, 0 }, { 7, 9, 0, 0, 0, 0 }, + { 6, 9, 0, 0, 0, 0 }, { 5, 9, 0, 0, 0, 0 }, { 4, 9, 0, 0, 0, 0 }, { 3, 9, 0, 0, 0, 0 }, { 2, 9, 0, 0, 0, 0 }, + { 1, 9, 0, 0, 0, 0 }, { 0, 9, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_900664 = { - 32, { - { 9, 0, 8, 8, 6, 0 }, { 9, 1, 7, 8, 6, 0 }, { 9, 2, 7, 8, 6, 0 }, { 9, 3, 6, 8, 6, 0 }, { 9, 4, 6, 8, 6, 0 }, - { 9, 5, 5, 8, 6, 0 }, { 9, 6, 5, 8, 6, 0 }, { 9, 7, 4, 8, 6, 0 }, { 9, 8, 4, 8, 5, 0 }, { 9, 9, 3, 8, 5, 0 }, - { 9, 10, 3, 8, 5, 0 }, { 9, 11, 3, 8, 5, 0 }, { 9, 12, 2, 8, 5, 0 }, { 9, 13, 2, 8, 5, 0 }, { 9, 14, 2, 8, 5, 0 }, - { 9, 15, 2, 8, 5, 0 }, { 9, 16, 1, 8, 5, 0 }, { 9, 17, 1, 8, 5, 0 }, { 9, 18, 1, 8, 5, 0 }, { 9, 19, 1, 8, 5, 0 }, - { 9, 20, 1, 8, 5, 0 }, { 9, 21, 1, 8, 5, 0 }, { 9, 22, 0, 8, 0, 0 }, { 9, 23, 0, 8, 0, 0 }, { 9, 24, 0, 8, 0, 0 }, - { 9, 25, 0, 8, 0, 0 }, { 9, 26, 0, 8, 0, 0 }, { 9, 27, 0, 8, 0, 0 }, { 9, 28, 0, 8, 0, 0 }, { 9, 29, 0, 8, 0, 0 }, - { 9, 30, 0, 8, 0, 0 }, { 9, 31, 0, 8, 0, 0 }, + 32, { + { 9, 0, 8, 8, 6, 0 }, { 9, 1, 7, 8, 6, 0 }, { 9, 2, 7, 8, 6, 0 }, { 9, 3, 6, 8, 6, 0 }, { 9, 4, 6, 8, 6, 0 }, + { 9, 5, 5, 8, 6, 0 }, { 9, 6, 5, 8, 6, 0 }, { 9, 7, 4, 8, 6, 0 }, { 9, 8, 4, 8, 5, 0 }, { 9, 9, 3, 8, 5, 0 }, + { 9, 10, 3, 8, 5, 0 }, { 9, 11, 3, 8, 5, 0 }, { 9, 12, 2, 8, 5, 0 }, { 9, 13, 2, 8, 5, 0 }, { 9, 14, 2, 8, 5, 0 }, + { 9, 15, 2, 8, 5, 0 }, { 9, 16, 1, 8, 5, 0 }, { 9, 17, 1, 8, 5, 0 }, { 9, 18, 1, 8, 5, 0 }, { 9, 19, 1, 8, 5, 0 }, + { 9, 20, 1, 8, 5, 0 }, { 9, 21, 1, 8, 5, 0 }, { 9, 22, 0, 8, 0, 0 }, { 9, 23, 0, 8, 0, 0 }, { 9, 24, 0, 8, 0, 0 }, + { 9, 25, 0, 8, 0, 0 }, { 9, 26, 0, 8, 0, 0 }, { 9, 27, 0, 8, 0, 0 }, { 9, 28, 0, 8, 0, 0 }, { 9, 29, 0, 8, 0, 0 }, + { 9, 30, 0, 8, 0, 0 }, { 9, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_900786 = { - 32, { - { 0, 23, 8, 16, 6, 0 }, { 1, 23, 7, 16, 6, 0 }, { 2, 23, 7, 16, 6, 0 }, { 3, 23, 6, 16, 6, 0 }, { 4, 23, 6, 16, 6, 0 }, - { 5, 23, 5, 16, 6, 0 }, { 6, 23, 5, 16, 6, 0 }, { 7, 23, 4, 16, 6, 0 }, { 8, 23, 4, 16, 5, 0 }, { 9, 23, 3, 16, 5, 0 }, - { 10, 23, 3, 16, 5, 0 }, { 11, 23, 3, 16, 5, 0 }, { 12, 23, 2, 16, 5, 0 }, { 13, 23, 2, 16, 5, 0 }, { 14, 23, 2, 16, 5, 0 }, - { 15, 23, 2, 16, 5, 0 }, { 16, 23, 1, 16, 5, 0 }, { 17, 23, 1, 16, 5, 0 }, { 18, 23, 1, 16, 5, 0 }, { 19, 23, 1, 16, 5, 0 }, - { 20, 23, 1, 16, 5, 0 }, { 21, 23, 1, 16, 5, 0 }, { 22, 23, 0, 16, 0, 0 }, { 23, 23, 0, 16, 0, 0 }, { 24, 23, 0, 16, 0, 0 }, - { 25, 23, 0, 16, 0, 0 }, { 26, 23, 0, 16, 0, 0 }, { 27, 23, 0, 16, 0, 0 }, { 28, 23, 0, 16, 0, 0 }, { 29, 23, 0, 16, 0, 0 }, - { 30, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, + 32, { + { 0, 23, 8, 16, 6, 0 }, { 1, 23, 7, 16, 6, 0 }, { 2, 23, 7, 16, 6, 0 }, { 3, 23, 6, 16, 6, 0 }, { 4, 23, 6, 16, 6, 0 }, + { 5, 23, 5, 16, 6, 0 }, { 6, 23, 5, 16, 6, 0 }, { 7, 23, 4, 16, 6, 0 }, { 8, 23, 4, 16, 5, 0 }, { 9, 23, 3, 16, 5, 0 }, + { 10, 23, 3, 16, 5, 0 }, { 11, 23, 3, 16, 5, 0 }, { 12, 23, 2, 16, 5, 0 }, { 13, 23, 2, 16, 5, 0 }, { 14, 23, 2, 16, 5, 0 }, + { 15, 23, 2, 16, 5, 0 }, { 16, 23, 1, 16, 5, 0 }, { 17, 23, 1, 16, 5, 0 }, { 18, 23, 1, 16, 5, 0 }, { 19, 23, 1, 16, 5, 0 }, + { 20, 23, 1, 16, 5, 0 }, { 21, 23, 1, 16, 5, 0 }, { 22, 23, 0, 16, 0, 0 }, { 23, 23, 0, 16, 0, 0 }, { 24, 23, 0, 16, 0, 0 }, + { 25, 23, 0, 16, 0, 0 }, { 26, 23, 0, 16, 0, 0 }, { 27, 23, 0, 16, 0, 0 }, { 28, 23, 0, 16, 0, 0 }, { 29, 23, 0, 16, 0, 0 }, + { 30, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9008A8 = { - 32, { - { 23, 31, 7, 24, 6, 0 }, { 23, 30, 7, 24, 6, 0 }, { 23, 29, 6, 24, 6, 0 }, { 23, 28, 6, 24, 6, 0 }, { 23, 27, 5, 24, 6, 0 }, - { 23, 26, 5, 24, 6, 0 }, { 23, 25, 4, 24, 6, 0 }, { 23, 24, 4, 24, 6, 0 }, { 23, 23, 4, 24, 5, 0 }, { 23, 22, 3, 24, 5, 0 }, - { 23, 21, 3, 24, 5, 0 }, { 23, 20, 3, 24, 5, 0 }, { 23, 19, 2, 24, 5, 0 }, { 23, 18, 2, 24, 5, 0 }, { 23, 17, 2, 24, 5, 0 }, - { 23, 16, 2, 24, 5, 0 }, { 23, 15, 1, 24, 5, 0 }, { 23, 14, 1, 24, 5, 0 }, { 23, 13, 1, 24, 5, 0 }, { 23, 12, 1, 24, 5, 0 }, - { 23, 11, 1, 24, 5, 0 }, { 23, 10, 1, 24, 5, 0 }, { 23, 9, 0, 24, 0, 0 }, { 23, 8, 0, 24, 0, 0 }, { 23, 7, 0, 24, 0, 0 }, - { 23, 6, 0, 24, 0, 0 }, { 23, 5, 0, 24, 0, 0 }, { 23, 4, 0, 24, 0, 0 }, { 23, 3, 0, 24, 0, 0 }, { 23, 2, 0, 24, 0, 0 }, - { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, + 32, { + { 23, 31, 7, 24, 6, 0 }, { 23, 30, 7, 24, 6, 0 }, { 23, 29, 6, 24, 6, 0 }, { 23, 28, 6, 24, 6, 0 }, { 23, 27, 5, 24, 6, 0 }, + { 23, 26, 5, 24, 6, 0 }, { 23, 25, 4, 24, 6, 0 }, { 23, 24, 4, 24, 6, 0 }, { 23, 23, 4, 24, 5, 0 }, { 23, 22, 3, 24, 5, 0 }, + { 23, 21, 3, 24, 5, 0 }, { 23, 20, 3, 24, 5, 0 }, { 23, 19, 2, 24, 5, 0 }, { 23, 18, 2, 24, 5, 0 }, { 23, 17, 2, 24, 5, 0 }, + { 23, 16, 2, 24, 5, 0 }, { 23, 15, 1, 24, 5, 0 }, { 23, 14, 1, 24, 5, 0 }, { 23, 13, 1, 24, 5, 0 }, { 23, 12, 1, 24, 5, 0 }, + { 23, 11, 1, 24, 5, 0 }, { 23, 10, 1, 24, 5, 0 }, { 23, 9, 0, 24, 0, 0 }, { 23, 8, 0, 24, 0, 0 }, { 23, 7, 0, 24, 0, 0 }, + { 23, 6, 0, 24, 0, 0 }, { 23, 5, 0, 24, 0, 0 }, { 23, 4, 0, 24, 0, 0 }, { 23, 3, 0, 24, 0, 0 }, { 23, 2, 0, 24, 0, 0 }, + { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_901C05 = { - 13, { - { 31, 9, 0, 0, 0, 0 }, { 30, 9, 0, 31, 0, 0 }, { 29, 9, 0, 31, 0, 0 }, { 28, 8, 0, 30, 0, 0 }, { 27, 8, 0, 30, 0, 0 }, - { 26, 7, 0, 28, 0, 0 }, { 25, 6, 0, 28, 0, 0 }, { 24, 5, 0, 26, 0, 0 }, { 24, 4, 0, 26, 0, 0 }, { 23, 3, 0, 25, 0, 0 }, - { 23, 2, 0, 25, 0, 0 }, { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, + 13, { + { 31, 9, 0, 0, 0, 0 }, { 30, 9, 0, 31, 0, 0 }, { 29, 9, 0, 31, 0, 0 }, { 28, 8, 0, 30, 0, 0 }, { 27, 8, 0, 30, 0, 0 }, + { 26, 7, 0, 28, 0, 0 }, { 25, 6, 0, 28, 0, 0 }, { 24, 5, 0, 26, 0, 0 }, { 24, 4, 0, 26, 0, 0 }, { 23, 3, 0, 25, 0, 0 }, + { 23, 2, 0, 25, 0, 0 }, { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_901C7C = { - 14, { - { 9, 0, 0, 8, 0, 0 }, { 9, 1, 0, 8, 0, 0 }, { 9, 2, 0, 7, 0, 0 }, { 9, 3, 0, 7, 0, 0 }, { 8, 4, 0, 6, 0, 0 }, - { 8, 5, 0, 6, 0, 0 }, { 7, 6, 0, 4, 0, 0 }, { 6, 7, 0, 4, 0, 0 }, { 5, 8, 0, 2, 0, 0 }, { 4, 8, 0, 2, 0, 0 }, - { 3, 9, 0, 1, 0, 0 }, { 2, 9, 0, 1, 0, 0 }, { 1, 9, 0, 0, 0, 0 }, { 0, 9, 0, 0, 0, 0 }, + 14, { + { 9, 0, 0, 8, 0, 0 }, { 9, 1, 0, 8, 0, 0 }, { 9, 2, 0, 7, 0, 0 }, { 9, 3, 0, 7, 0, 0 }, { 8, 4, 0, 6, 0, 0 }, + { 8, 5, 0, 6, 0, 0 }, { 7, 6, 0, 4, 0, 0 }, { 6, 7, 0, 4, 0, 0 }, { 5, 8, 0, 2, 0, 0 }, { 4, 8, 0, 2, 0, 0 }, + { 3, 9, 0, 1, 0, 0 }, { 2, 9, 0, 1, 0, 0 }, { 1, 9, 0, 0, 0, 0 }, { 0, 9, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_901CFC = { - 13, { - { 0, 23, 0, 16, 0, 0 }, { 1, 23, 0, 16, 0, 0 }, { 2, 23, 0, 15, 0, 0 }, { 3, 23, 0, 15, 0, 0 }, { 4, 24, 0, 14, 0, 0 }, - { 5, 24, 0, 14, 0, 0 }, { 6, 25, 0, 12, 0, 0 }, { 7, 26, 0, 12, 0, 0 }, { 8, 27, 0, 10, 0, 0 }, { 8, 28, 0, 10, 0, 0 }, - { 9, 29, 0, 9, 0, 0 }, { 9, 30, 0, 9, 0, 0 }, { 9, 31, 0, 8, 0, 0 }, + 13, { + { 0, 23, 0, 16, 0, 0 }, { 1, 23, 0, 16, 0, 0 }, { 2, 23, 0, 15, 0, 0 }, { 3, 23, 0, 15, 0, 0 }, { 4, 24, 0, 14, 0, 0 }, + { 5, 24, 0, 14, 0, 0 }, { 6, 25, 0, 12, 0, 0 }, { 7, 26, 0, 12, 0, 0 }, { 8, 27, 0, 10, 0, 0 }, { 8, 28, 0, 10, 0, 0 }, + { 9, 29, 0, 9, 0, 0 }, { 9, 30, 0, 9, 0, 0 }, { 9, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_901D73 = { - 12, { - { 23, 31, 0, 24, 0, 0 }, { 23, 30, 0, 23, 0, 0 }, { 23, 29, 0, 23, 0, 0 }, { 24, 28, 0, 22, 0, 0 }, { 24, 27, 0, 22, 0, 0 }, - { 25, 26, 0, 20, 0, 0 }, { 26, 25, 0, 20, 0, 0 }, { 27, 24, 0, 18, 0, 0 }, { 28, 24, 0, 18, 0, 0 }, { 29, 23, 0, 17, 0, 0 }, - { 30, 23, 0, 17, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, + 12, { + { 23, 31, 0, 24, 0, 0 }, { 23, 30, 0, 23, 0, 0 }, { 23, 29, 0, 23, 0, 0 }, { 24, 28, 0, 22, 0, 0 }, { 24, 27, 0, 22, 0, 0 }, + { 25, 26, 0, 20, 0, 0 }, { 26, 25, 0, 20, 0, 0 }, { 27, 24, 0, 18, 0, 0 }, { 28, 24, 0, 18, 0, 0 }, { 29, 23, 0, 17, 0, 0 }, + { 30, 23, 0, 17, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_901762 = { - 32, { - { 31, 9, 0, 0, 0, 0 }, { 30, 9, 0, 0, 0, 0 }, { 29, 9, 0, 0, 0, 0 }, { 28, 9, 0, 1, 0, 0 }, { 27, 9, 0, 1, 0, 0 }, - { 26, 10, 0, 1, 0, 0 }, { 25, 10, 0, 1, 0, 0 }, { 24, 10, 0, 2, 0, 0 }, { 23, 11, 0, 2, 0, 0 }, { 22, 11, 0, 2, 0, 0 }, - { 21, 11, 0, 2, 0, 0 }, { 20, 12, 0, 3, 0, 0 }, { 19, 12, 0, 3, 0, 0 }, { 18, 13, 0, 3, 0, 0 }, { 17, 14, 0, 3, 0, 0 }, - { 16, 15, 0, 4, 0, 0 }, { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 5, 0, 0 }, { 13, 18, 0, 5, 0, 0 }, { 12, 19, 0, 5, 0, 0 }, - { 12, 20, 0, 5, 0, 0 }, { 11, 21, 0, 6, 0, 0 }, { 11, 22, 0, 6, 0, 0 }, { 11, 23, 0, 6, 0, 0 }, { 10, 24, 0, 6, 0, 0 }, - { 10, 25, 0, 7, 0, 0 }, { 10, 26, 0, 7, 0, 0 }, { 9, 27, 0, 7, 0, 0 }, { 9, 28, 0, 7, 0, 0 }, { 9, 29, 0, 8, 0, 0 }, - { 9, 30, 0, 8, 0, 0 }, { 9, 31, 0, 8, 0, 0 }, + 32, { + { 31, 9, 0, 0, 0, 0 }, { 30, 9, 0, 0, 0, 0 }, { 29, 9, 0, 0, 0, 0 }, { 28, 9, 0, 1, 0, 0 }, { 27, 9, 0, 1, 0, 0 }, + { 26, 10, 0, 1, 0, 0 }, { 25, 10, 0, 1, 0, 0 }, { 24, 10, 0, 2, 0, 0 }, { 23, 11, 0, 2, 0, 0 }, { 22, 11, 0, 2, 0, 0 }, + { 21, 11, 0, 2, 0, 0 }, { 20, 12, 0, 3, 0, 0 }, { 19, 12, 0, 3, 0, 0 }, { 18, 13, 0, 3, 0, 0 }, { 17, 14, 0, 3, 0, 0 }, + { 16, 15, 0, 4, 0, 0 }, { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 5, 0, 0 }, { 13, 18, 0, 5, 0, 0 }, { 12, 19, 0, 5, 0, 0 }, + { 12, 20, 0, 5, 0, 0 }, { 11, 21, 0, 6, 0, 0 }, { 11, 22, 0, 6, 0, 0 }, { 11, 23, 0, 6, 0, 0 }, { 10, 24, 0, 6, 0, 0 }, + { 10, 25, 0, 7, 0, 0 }, { 10, 26, 0, 7, 0, 0 }, { 9, 27, 0, 7, 0, 0 }, { 9, 28, 0, 7, 0, 0 }, { 9, 29, 0, 8, 0, 0 }, + { 9, 30, 0, 8, 0, 0 }, { 9, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_901884 = { - 33, { - { 9, 0, 0, 8, 0, 0 }, { 9, 1, 0, 8, 0, 0 }, { 9, 2, 0, 8, 0, 0 }, { 9, 3, 0, 8, 0, 0 }, { 9, 4, 0, 9, 0, 0 }, - { 9, 5, 0, 9, 0, 0 }, { 10, 6, 0, 9, 0, 0 }, { 10, 7, 0, 9, 0, 0 }, { 10, 8, 0, 10, 0, 0 }, { 11, 9, 0, 10, 0, 0 }, - { 11, 10, 0, 10, 0, 0 }, { 11, 11, 0, 10, 0, 0 }, { 12, 12, 0, 11, 0, 0 }, { 12, 13, 0, 11, 0, 0 }, { 13, 14, 0, 11, 0, 0 }, - { 14, 15, 0, 11, 0, 0 }, { 15, 16, 0, 12, 0, 0 }, { 16, 17, 0, 12, 0, 0 }, { 17, 18, 0, 13, 0, 0 }, { 18, 19, 0, 13, 0, 0 }, - { 19, 20, 0, 13, 0, 0 }, { 20, 20, 0, 13, 0, 0 }, { 21, 21, 0, 14, 0, 0 }, { 22, 21, 0, 14, 0, 0 }, { 23, 21, 0, 14, 0, 0 }, - { 24, 22, 0, 14, 0, 0 }, { 25, 22, 0, 15, 0, 0 }, { 26, 22, 0, 15, 0, 0 }, { 27, 23, 0, 15, 0, 0 }, { 28, 23, 0, 15, 0, 0 }, - { 29, 23, 0, 16, 0, 0 }, { 30, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, + 33, { + { 9, 0, 0, 8, 0, 0 }, { 9, 1, 0, 8, 0, 0 }, { 9, 2, 0, 8, 0, 0 }, { 9, 3, 0, 8, 0, 0 }, { 9, 4, 0, 9, 0, 0 }, + { 9, 5, 0, 9, 0, 0 }, { 10, 6, 0, 9, 0, 0 }, { 10, 7, 0, 9, 0, 0 }, { 10, 8, 0, 10, 0, 0 }, { 11, 9, 0, 10, 0, 0 }, + { 11, 10, 0, 10, 0, 0 }, { 11, 11, 0, 10, 0, 0 }, { 12, 12, 0, 11, 0, 0 }, { 12, 13, 0, 11, 0, 0 }, { 13, 14, 0, 11, 0, 0 }, + { 14, 15, 0, 11, 0, 0 }, { 15, 16, 0, 12, 0, 0 }, { 16, 17, 0, 12, 0, 0 }, { 17, 18, 0, 13, 0, 0 }, { 18, 19, 0, 13, 0, 0 }, + { 19, 20, 0, 13, 0, 0 }, { 20, 20, 0, 13, 0, 0 }, { 21, 21, 0, 14, 0, 0 }, { 22, 21, 0, 14, 0, 0 }, { 23, 21, 0, 14, 0, 0 }, + { 24, 22, 0, 14, 0, 0 }, { 25, 22, 0, 15, 0, 0 }, { 26, 22, 0, 15, 0, 0 }, { 27, 23, 0, 15, 0, 0 }, { 28, 23, 0, 15, 0, 0 }, + { 29, 23, 0, 16, 0, 0 }, { 30, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9019AF = { - 34, { - { 0, 23, 0, 16, 0, 0 }, { 1, 23, 0, 16, 0, 0 }, { 2, 23, 0, 16, 0, 0 }, { 3, 23, 0, 16, 0, 0 }, { 4, 23, 0, 17, 0, 0 }, - { 5, 23, 0, 17, 0, 0 }, { 6, 22, 0, 17, 0, 0 }, { 7, 22, 0, 17, 0, 0 }, { 8, 22, 0, 18, 0, 0 }, { 9, 21, 0, 18, 0, 0 }, - { 10, 21, 0, 18, 0, 0 }, { 11, 21, 0, 18, 0, 0 }, { 12, 20, 0, 19, 0, 0 }, { 13, 20, 0, 19, 0, 0 }, { 14, 19, 0, 19, 0, 0 }, - { 15, 18, 0, 19, 0, 0 }, { 16, 17, 0, 20, 0, 0 }, { 17, 16, 0, 20, 0, 0 }, { 18, 15, 0, 21, 0, 0 }, { 19, 14, 0, 21, 0, 0 }, - { 20, 13, 0, 21, 0, 0 }, { 20, 12, 0, 21, 0, 0 }, { 21, 11, 0, 22, 0, 0 }, { 21, 10, 0, 22, 0, 0 }, { 21, 9, 0, 22, 0, 0 }, - { 22, 8, 0, 22, 0, 0 }, { 22, 7, 0, 23, 0, 0 }, { 22, 6, 0, 23, 0, 0 }, { 23, 5, 0, 23, 0, 0 }, { 23, 4, 0, 23, 0, 0 }, - { 23, 3, 0, 24, 0, 0 }, { 23, 2, 0, 24, 0, 0 }, { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, + 34, { + { 0, 23, 0, 16, 0, 0 }, { 1, 23, 0, 16, 0, 0 }, { 2, 23, 0, 16, 0, 0 }, { 3, 23, 0, 16, 0, 0 }, { 4, 23, 0, 17, 0, 0 }, + { 5, 23, 0, 17, 0, 0 }, { 6, 22, 0, 17, 0, 0 }, { 7, 22, 0, 17, 0, 0 }, { 8, 22, 0, 18, 0, 0 }, { 9, 21, 0, 18, 0, 0 }, + { 10, 21, 0, 18, 0, 0 }, { 11, 21, 0, 18, 0, 0 }, { 12, 20, 0, 19, 0, 0 }, { 13, 20, 0, 19, 0, 0 }, { 14, 19, 0, 19, 0, 0 }, + { 15, 18, 0, 19, 0, 0 }, { 16, 17, 0, 20, 0, 0 }, { 17, 16, 0, 20, 0, 0 }, { 18, 15, 0, 21, 0, 0 }, { 19, 14, 0, 21, 0, 0 }, + { 20, 13, 0, 21, 0, 0 }, { 20, 12, 0, 21, 0, 0 }, { 21, 11, 0, 22, 0, 0 }, { 21, 10, 0, 22, 0, 0 }, { 21, 9, 0, 22, 0, 0 }, + { 22, 8, 0, 22, 0, 0 }, { 22, 7, 0, 23, 0, 0 }, { 22, 6, 0, 23, 0, 0 }, { 23, 5, 0, 23, 0, 0 }, { 23, 4, 0, 23, 0, 0 }, + { 23, 3, 0, 24, 0, 0 }, { 23, 2, 0, 24, 0, 0 }, { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_901AE3 = { - 32, { - { 23, 31, 0, 24, 0, 0 }, { 23, 30, 0, 24, 0, 0 }, { 23, 29, 0, 25, 0, 0 }, { 23, 28, 0, 25, 0, 0 }, { 22, 27, 0, 25, 0, 0 }, - { 22, 26, 0, 25, 0, 0 }, { 22, 25, 0, 26, 0, 0 }, { 21, 24, 0, 26, 0, 0 }, { 21, 23, 0, 26, 0, 0 }, { 21, 22, 0, 26, 0, 0 }, - { 20, 21, 0, 27, 0, 0 }, { 20, 20, 0, 27, 0, 0 }, { 19, 19, 0, 27, 0, 0 }, { 18, 18, 0, 27, 0, 0 }, { 17, 17, 0, 28, 0, 0 }, - { 16, 16, 0, 28, 0, 0 }, { 15, 15, 0, 29, 0, 0 }, { 14, 14, 0, 29, 0, 0 }, { 13, 13, 0, 29, 0, 0 }, { 12, 12, 0, 29, 0, 0 }, - { 11, 12, 0, 30, 0, 0 }, { 10, 11, 0, 30, 0, 0 }, { 9, 11, 0, 30, 0, 0 }, { 8, 11, 0, 30, 0, 0 }, { 7, 10, 0, 31, 0, 0 }, - { 6, 10, 0, 31, 0, 0 }, { 5, 10, 0, 31, 0, 0 }, { 4, 9, 0, 31, 0, 0 }, { 3, 9, 0, 0, 0, 0 }, { 2, 9, 0, 0, 0, 0 }, - { 1, 9, 0, 0, 0, 0 }, { 0, 9, 0, 0, 0, 0 }, + 32, { + { 23, 31, 0, 24, 0, 0 }, { 23, 30, 0, 24, 0, 0 }, { 23, 29, 0, 25, 0, 0 }, { 23, 28, 0, 25, 0, 0 }, { 22, 27, 0, 25, 0, 0 }, + { 22, 26, 0, 25, 0, 0 }, { 22, 25, 0, 26, 0, 0 }, { 21, 24, 0, 26, 0, 0 }, { 21, 23, 0, 26, 0, 0 }, { 21, 22, 0, 26, 0, 0 }, + { 20, 21, 0, 27, 0, 0 }, { 20, 20, 0, 27, 0, 0 }, { 19, 19, 0, 27, 0, 0 }, { 18, 18, 0, 27, 0, 0 }, { 17, 17, 0, 28, 0, 0 }, + { 16, 16, 0, 28, 0, 0 }, { 15, 15, 0, 29, 0, 0 }, { 14, 14, 0, 29, 0, 0 }, { 13, 13, 0, 29, 0, 0 }, { 12, 12, 0, 29, 0, 0 }, + { 11, 12, 0, 30, 0, 0 }, { 10, 11, 0, 30, 0, 0 }, { 9, 11, 0, 30, 0, 0 }, { 8, 11, 0, 30, 0, 0 }, { 7, 10, 0, 31, 0, 0 }, + { 6, 10, 0, 31, 0, 0 }, { 5, 10, 0, 31, 0, 0 }, { 4, 9, 0, 31, 0, 0 }, { 3, 9, 0, 0, 0, 0 }, { 2, 9, 0, 0, 0, 0 }, + { 1, 9, 0, 0, 0, 0 }, { 0, 9, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_901DE1 = { - 32, { - { 31, 23, 0, 0, 0, 0 }, { 30, 23, 0, 0, 0, 0 }, { 29, 23, 0, 0, 0, 0 }, { 28, 23, 0, 0, 0, 0 }, { 27, 23, 0, 0, 0, 0 }, - { 26, 23, 0, 0, 0, 0 }, { 25, 23, 0, 0, 0, 0 }, { 24, 23, 0, 0, 0, 0 }, { 23, 23, 0, 0, 0, 0 }, { 22, 23, 0, 0, 0, 0 }, - { 21, 23, 0, 0, 0, 0 }, { 20, 23, 0, 0, 0, 0 }, { 19, 23, 0, 0, 0, 0 }, { 18, 23, 0, 0, 0, 0 }, { 17, 23, 0, 0, 0, 0 }, - { 16, 23, 0, 0, 0, 0 }, { 15, 23, 0, 0, 0, 0 }, { 14, 23, 0, 0, 0, 0 }, { 13, 23, 0, 0, 0, 0 }, { 12, 23, 0, 0, 0, 0 }, - { 11, 23, 0, 0, 0, 0 }, { 10, 23, 0, 0, 0, 0 }, { 9, 23, 0, 0, 0, 0 }, { 8, 23, 0, 0, 0, 0 }, { 7, 23, 0, 0, 0, 0 }, - { 6, 23, 0, 0, 0, 0 }, { 5, 23, 0, 0, 0, 0 }, { 4, 23, 0, 0, 0, 0 }, { 3, 23, 0, 0, 0, 0 }, { 2, 23, 0, 0, 0, 0 }, - { 1, 23, 0, 0, 0, 0 }, { 0, 23, 0, 0, 0, 0 }, + 32, { + { 31, 23, 0, 0, 0, 0 }, { 30, 23, 0, 0, 0, 0 }, { 29, 23, 0, 0, 0, 0 }, { 28, 23, 0, 0, 0, 0 }, { 27, 23, 0, 0, 0, 0 }, + { 26, 23, 0, 0, 0, 0 }, { 25, 23, 0, 0, 0, 0 }, { 24, 23, 0, 0, 0, 0 }, { 23, 23, 0, 0, 0, 0 }, { 22, 23, 0, 0, 0, 0 }, + { 21, 23, 0, 0, 0, 0 }, { 20, 23, 0, 0, 0, 0 }, { 19, 23, 0, 0, 0, 0 }, { 18, 23, 0, 0, 0, 0 }, { 17, 23, 0, 0, 0, 0 }, + { 16, 23, 0, 0, 0, 0 }, { 15, 23, 0, 0, 0, 0 }, { 14, 23, 0, 0, 0, 0 }, { 13, 23, 0, 0, 0, 0 }, { 12, 23, 0, 0, 0, 0 }, + { 11, 23, 0, 0, 0, 0 }, { 10, 23, 0, 0, 0, 0 }, { 9, 23, 0, 0, 0, 0 }, { 8, 23, 0, 0, 0, 0 }, { 7, 23, 0, 0, 0, 0 }, + { 6, 23, 0, 0, 0, 0 }, { 5, 23, 0, 0, 0, 0 }, { 4, 23, 0, 0, 0, 0 }, { 3, 23, 0, 0, 0, 0 }, { 2, 23, 0, 0, 0, 0 }, + { 1, 23, 0, 0, 0, 0 }, { 0, 23, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_901F03 = { - 32, { - { 23, 0, 0, 8, 0, 0 }, { 23, 1, 0, 8, 0, 0 }, { 23, 2, 0, 8, 0, 0 }, { 23, 3, 0, 8, 0, 0 }, { 23, 4, 0, 8, 0, 0 }, - { 23, 5, 0, 8, 0, 0 }, { 23, 6, 0, 8, 0, 0 }, { 23, 7, 0, 8, 0, 0 }, { 23, 8, 0, 8, 0, 0 }, { 23, 9, 0, 8, 0, 0 }, - { 23, 10, 0, 8, 0, 0 }, { 23, 11, 0, 8, 0, 0 }, { 23, 12, 0, 8, 0, 0 }, { 23, 13, 0, 8, 0, 0 }, { 23, 14, 0, 8, 0, 0 }, - { 23, 15, 0, 8, 0, 0 }, { 23, 16, 0, 8, 0, 0 }, { 23, 17, 0, 8, 0, 0 }, { 23, 18, 0, 8, 0, 0 }, { 23, 19, 0, 8, 0, 0 }, - { 23, 20, 0, 8, 0, 0 }, { 23, 21, 0, 8, 0, 0 }, { 23, 22, 0, 8, 0, 0 }, { 23, 23, 0, 8, 0, 0 }, { 23, 24, 0, 8, 0, 0 }, - { 23, 25, 0, 8, 0, 0 }, { 23, 26, 0, 8, 0, 0 }, { 23, 27, 0, 8, 0, 0 }, { 23, 28, 0, 8, 0, 0 }, { 23, 29, 0, 8, 0, 0 }, - { 23, 30, 0, 8, 0, 0 }, { 23, 31, 0, 8, 0, 0 }, + 32, { + { 23, 0, 0, 8, 0, 0 }, { 23, 1, 0, 8, 0, 0 }, { 23, 2, 0, 8, 0, 0 }, { 23, 3, 0, 8, 0, 0 }, { 23, 4, 0, 8, 0, 0 }, + { 23, 5, 0, 8, 0, 0 }, { 23, 6, 0, 8, 0, 0 }, { 23, 7, 0, 8, 0, 0 }, { 23, 8, 0, 8, 0, 0 }, { 23, 9, 0, 8, 0, 0 }, + { 23, 10, 0, 8, 0, 0 }, { 23, 11, 0, 8, 0, 0 }, { 23, 12, 0, 8, 0, 0 }, { 23, 13, 0, 8, 0, 0 }, { 23, 14, 0, 8, 0, 0 }, + { 23, 15, 0, 8, 0, 0 }, { 23, 16, 0, 8, 0, 0 }, { 23, 17, 0, 8, 0, 0 }, { 23, 18, 0, 8, 0, 0 }, { 23, 19, 0, 8, 0, 0 }, + { 23, 20, 0, 8, 0, 0 }, { 23, 21, 0, 8, 0, 0 }, { 23, 22, 0, 8, 0, 0 }, { 23, 23, 0, 8, 0, 0 }, { 23, 24, 0, 8, 0, 0 }, + { 23, 25, 0, 8, 0, 0 }, { 23, 26, 0, 8, 0, 0 }, { 23, 27, 0, 8, 0, 0 }, { 23, 28, 0, 8, 0, 0 }, { 23, 29, 0, 8, 0, 0 }, + { 23, 30, 0, 8, 0, 0 }, { 23, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_902025 = { - 32, { - { 0, 9, 0, 16, 0, 0 }, { 1, 9, 0, 16, 0, 0 }, { 2, 9, 0, 16, 0, 0 }, { 3, 9, 0, 16, 0, 0 }, { 4, 9, 0, 16, 0, 0 }, - { 5, 9, 0, 16, 0, 0 }, { 6, 9, 0, 16, 0, 0 }, { 7, 9, 0, 16, 0, 0 }, { 8, 9, 0, 16, 0, 0 }, { 9, 9, 0, 16, 0, 0 }, - { 10, 9, 0, 16, 0, 0 }, { 11, 9, 0, 16, 0, 0 }, { 12, 9, 0, 16, 0, 0 }, { 13, 9, 0, 16, 0, 0 }, { 14, 9, 0, 16, 0, 0 }, - { 15, 9, 0, 16, 0, 0 }, { 16, 9, 0, 16, 0, 0 }, { 17, 9, 0, 16, 0, 0 }, { 18, 9, 0, 16, 0, 0 }, { 19, 9, 0, 16, 0, 0 }, - { 20, 9, 0, 16, 0, 0 }, { 21, 9, 0, 16, 0, 0 }, { 22, 9, 0, 16, 0, 0 }, { 23, 9, 0, 16, 0, 0 }, { 24, 9, 0, 16, 0, 0 }, - { 25, 9, 0, 16, 0, 0 }, { 26, 9, 0, 16, 0, 0 }, { 27, 9, 0, 16, 0, 0 }, { 28, 9, 0, 16, 0, 0 }, { 29, 9, 0, 16, 0, 0 }, - { 30, 9, 0, 16, 0, 0 }, { 31, 9, 0, 16, 0, 0 }, + 32, { + { 0, 9, 0, 16, 0, 0 }, { 1, 9, 0, 16, 0, 0 }, { 2, 9, 0, 16, 0, 0 }, { 3, 9, 0, 16, 0, 0 }, { 4, 9, 0, 16, 0, 0 }, + { 5, 9, 0, 16, 0, 0 }, { 6, 9, 0, 16, 0, 0 }, { 7, 9, 0, 16, 0, 0 }, { 8, 9, 0, 16, 0, 0 }, { 9, 9, 0, 16, 0, 0 }, + { 10, 9, 0, 16, 0, 0 }, { 11, 9, 0, 16, 0, 0 }, { 12, 9, 0, 16, 0, 0 }, { 13, 9, 0, 16, 0, 0 }, { 14, 9, 0, 16, 0, 0 }, + { 15, 9, 0, 16, 0, 0 }, { 16, 9, 0, 16, 0, 0 }, { 17, 9, 0, 16, 0, 0 }, { 18, 9, 0, 16, 0, 0 }, { 19, 9, 0, 16, 0, 0 }, + { 20, 9, 0, 16, 0, 0 }, { 21, 9, 0, 16, 0, 0 }, { 22, 9, 0, 16, 0, 0 }, { 23, 9, 0, 16, 0, 0 }, { 24, 9, 0, 16, 0, 0 }, + { 25, 9, 0, 16, 0, 0 }, { 26, 9, 0, 16, 0, 0 }, { 27, 9, 0, 16, 0, 0 }, { 28, 9, 0, 16, 0, 0 }, { 29, 9, 0, 16, 0, 0 }, + { 30, 9, 0, 16, 0, 0 }, { 31, 9, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_902147 = { - 32, { - { 9, 31, 0, 24, 0, 0 }, { 9, 30, 0, 24, 0, 0 }, { 9, 29, 0, 24, 0, 0 }, { 9, 28, 0, 24, 0, 0 }, { 9, 27, 0, 24, 0, 0 }, - { 9, 26, 0, 24, 0, 0 }, { 9, 25, 0, 24, 0, 0 }, { 9, 24, 0, 24, 0, 0 }, { 9, 23, 0, 24, 0, 0 }, { 9, 22, 0, 24, 0, 0 }, - { 9, 21, 0, 24, 0, 0 }, { 9, 20, 0, 24, 0, 0 }, { 9, 19, 0, 24, 0, 0 }, { 9, 18, 0, 24, 0, 0 }, { 9, 17, 0, 24, 0, 0 }, - { 9, 16, 0, 24, 0, 0 }, { 9, 15, 0, 24, 0, 0 }, { 9, 14, 0, 24, 0, 0 }, { 9, 13, 0, 24, 0, 0 }, { 9, 12, 0, 24, 0, 0 }, - { 9, 11, 0, 24, 0, 0 }, { 9, 10, 0, 24, 0, 0 }, { 9, 9, 0, 24, 0, 0 }, { 9, 8, 0, 24, 0, 0 }, { 9, 7, 0, 24, 0, 0 }, - { 9, 6, 0, 24, 0, 0 }, { 9, 5, 0, 24, 0, 0 }, { 9, 4, 0, 24, 0, 0 }, { 9, 3, 0, 24, 0, 0 }, { 9, 2, 0, 24, 0, 0 }, - { 9, 1, 0, 24, 0, 0 }, { 9, 0, 0, 24, 0, 0 }, + 32, { + { 9, 31, 0, 24, 0, 0 }, { 9, 30, 0, 24, 0, 0 }, { 9, 29, 0, 24, 0, 0 }, { 9, 28, 0, 24, 0, 0 }, { 9, 27, 0, 24, 0, 0 }, + { 9, 26, 0, 24, 0, 0 }, { 9, 25, 0, 24, 0, 0 }, { 9, 24, 0, 24, 0, 0 }, { 9, 23, 0, 24, 0, 0 }, { 9, 22, 0, 24, 0, 0 }, + { 9, 21, 0, 24, 0, 0 }, { 9, 20, 0, 24, 0, 0 }, { 9, 19, 0, 24, 0, 0 }, { 9, 18, 0, 24, 0, 0 }, { 9, 17, 0, 24, 0, 0 }, + { 9, 16, 0, 24, 0, 0 }, { 9, 15, 0, 24, 0, 0 }, { 9, 14, 0, 24, 0, 0 }, { 9, 13, 0, 24, 0, 0 }, { 9, 12, 0, 24, 0, 0 }, + { 9, 11, 0, 24, 0, 0 }, { 9, 10, 0, 24, 0, 0 }, { 9, 9, 0, 24, 0, 0 }, { 9, 8, 0, 24, 0, 0 }, { 9, 7, 0, 24, 0, 0 }, + { 9, 6, 0, 24, 0, 0 }, { 9, 5, 0, 24, 0, 0 }, { 9, 4, 0, 24, 0, 0 }, { 9, 3, 0, 24, 0, 0 }, { 9, 2, 0, 24, 0, 0 }, + { 9, 1, 0, 24, 0, 0 }, { 9, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9034D1 = { - 32, { - { 31, 23, 0, 0, 2, 0 }, { 30, 23, 0, 0, 2, 0 }, { 29, 23, 1, 0, 2, 0 }, { 28, 23, 1, 0, 2, 0 }, { 27, 23, 2, 0, 2, 0 }, - { 26, 23, 2, 0, 2, 0 }, { 25, 23, 3, 0, 2, 0 }, { 24, 23, 3, 0, 2, 0 }, { 23, 23, 4, 0, 2, 0 }, { 22, 23, 4, 0, 2, 0 }, - { 21, 23, 5, 0, 2, 0 }, { 20, 23, 5, 0, 2, 0 }, { 19, 23, 6, 0, 2, 0 }, { 18, 23, 6, 0, 2, 0 }, { 17, 23, 7, 0, 2, 0 }, - { 16, 23, 7, 0, 2, 0 }, { 15, 23, 8, 0, 2, 0 }, { 14, 23, 8, 0, 2, 0 }, { 13, 23, 9, 0, 2, 0 }, { 12, 23, 9, 0, 2, 0 }, - { 11, 23, 10, 0, 2, 0 }, { 10, 23, 10, 0, 2, 0 }, { 9, 23, 11, 0, 2, 0 }, { 8, 23, 11, 0, 2, 0 }, { 7, 23, 12, 0, 2, 0 }, - { 6, 23, 12, 0, 2, 0 }, { 5, 23, 13, 0, 2, 0 }, { 4, 23, 13, 0, 2, 0 }, { 3, 23, 14, 0, 2, 0 }, { 2, 23, 14, 0, 2, 0 }, - { 1, 23, 15, 0, 2, 0 }, { 0, 23, 15, 0, 2, 0 }, + 32, { + { 31, 23, 0, 0, 2, 0 }, { 30, 23, 0, 0, 2, 0 }, { 29, 23, 1, 0, 2, 0 }, { 28, 23, 1, 0, 2, 0 }, { 27, 23, 2, 0, 2, 0 }, + { 26, 23, 2, 0, 2, 0 }, { 25, 23, 3, 0, 2, 0 }, { 24, 23, 3, 0, 2, 0 }, { 23, 23, 4, 0, 2, 0 }, { 22, 23, 4, 0, 2, 0 }, + { 21, 23, 5, 0, 2, 0 }, { 20, 23, 5, 0, 2, 0 }, { 19, 23, 6, 0, 2, 0 }, { 18, 23, 6, 0, 2, 0 }, { 17, 23, 7, 0, 2, 0 }, + { 16, 23, 7, 0, 2, 0 }, { 15, 23, 8, 0, 2, 0 }, { 14, 23, 8, 0, 2, 0 }, { 13, 23, 9, 0, 2, 0 }, { 12, 23, 9, 0, 2, 0 }, + { 11, 23, 10, 0, 2, 0 }, { 10, 23, 10, 0, 2, 0 }, { 9, 23, 11, 0, 2, 0 }, { 8, 23, 11, 0, 2, 0 }, { 7, 23, 12, 0, 2, 0 }, + { 6, 23, 12, 0, 2, 0 }, { 5, 23, 13, 0, 2, 0 }, { 4, 23, 13, 0, 2, 0 }, { 3, 23, 14, 0, 2, 0 }, { 2, 23, 14, 0, 2, 0 }, + { 1, 23, 15, 0, 2, 0 }, { 0, 23, 15, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9035F3 = { - 32, { - { 23, 0, 0, 8, 2, 0 }, { 23, 1, 1, 8, 2, 0 }, { 23, 2, 1, 8, 2, 0 }, { 23, 3, 2, 8, 2, 0 }, { 23, 4, 2, 8, 2, 0 }, - { 23, 5, 3, 8, 2, 0 }, { 23, 6, 3, 8, 2, 0 }, { 23, 7, 4, 8, 2, 0 }, { 23, 8, 4, 8, 2, 0 }, { 23, 9, 5, 8, 2, 0 }, - { 23, 10, 5, 8, 2, 0 }, { 23, 11, 6, 8, 2, 0 }, { 23, 12, 6, 8, 2, 0 }, { 23, 13, 7, 8, 2, 0 }, { 23, 14, 7, 8, 2, 0 }, - { 23, 15, 8, 8, 2, 0 }, { 23, 16, 8, 8, 2, 0 }, { 23, 17, 9, 8, 2, 0 }, { 23, 18, 9, 8, 2, 0 }, { 23, 19, 10, 8, 2, 0 }, - { 23, 20, 10, 8, 2, 0 }, { 23, 21, 11, 8, 2, 0 }, { 23, 22, 11, 8, 2, 0 }, { 23, 23, 12, 8, 2, 0 }, { 23, 24, 12, 8, 2, 0 }, - { 23, 25, 13, 8, 2, 0 }, { 23, 26, 13, 8, 2, 0 }, { 23, 27, 14, 8, 2, 0 }, { 23, 28, 14, 8, 2, 0 }, { 23, 29, 15, 8, 2, 0 }, - { 23, 30, 15, 8, 2, 0 }, { 23, 31, 16, 8, 2, 0 }, + 32, { + { 23, 0, 0, 8, 2, 0 }, { 23, 1, 1, 8, 2, 0 }, { 23, 2, 1, 8, 2, 0 }, { 23, 3, 2, 8, 2, 0 }, { 23, 4, 2, 8, 2, 0 }, + { 23, 5, 3, 8, 2, 0 }, { 23, 6, 3, 8, 2, 0 }, { 23, 7, 4, 8, 2, 0 }, { 23, 8, 4, 8, 2, 0 }, { 23, 9, 5, 8, 2, 0 }, + { 23, 10, 5, 8, 2, 0 }, { 23, 11, 6, 8, 2, 0 }, { 23, 12, 6, 8, 2, 0 }, { 23, 13, 7, 8, 2, 0 }, { 23, 14, 7, 8, 2, 0 }, + { 23, 15, 8, 8, 2, 0 }, { 23, 16, 8, 8, 2, 0 }, { 23, 17, 9, 8, 2, 0 }, { 23, 18, 9, 8, 2, 0 }, { 23, 19, 10, 8, 2, 0 }, + { 23, 20, 10, 8, 2, 0 }, { 23, 21, 11, 8, 2, 0 }, { 23, 22, 11, 8, 2, 0 }, { 23, 23, 12, 8, 2, 0 }, { 23, 24, 12, 8, 2, 0 }, + { 23, 25, 13, 8, 2, 0 }, { 23, 26, 13, 8, 2, 0 }, { 23, 27, 14, 8, 2, 0 }, { 23, 28, 14, 8, 2, 0 }, { 23, 29, 15, 8, 2, 0 }, + { 23, 30, 15, 8, 2, 0 }, { 23, 31, 16, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_903715 = { - 32, { - { 0, 9, 0, 16, 2, 0 }, { 1, 9, 1, 16, 2, 0 }, { 2, 9, 1, 16, 2, 0 }, { 3, 9, 2, 16, 2, 0 }, { 4, 9, 2, 16, 2, 0 }, - { 5, 9, 3, 16, 2, 0 }, { 6, 9, 3, 16, 2, 0 }, { 7, 9, 4, 16, 2, 0 }, { 8, 9, 4, 16, 2, 0 }, { 9, 9, 5, 16, 2, 0 }, - { 10, 9, 5, 16, 2, 0 }, { 11, 9, 6, 16, 2, 0 }, { 12, 9, 6, 16, 2, 0 }, { 13, 9, 7, 16, 2, 0 }, { 14, 9, 7, 16, 2, 0 }, - { 15, 9, 8, 16, 2, 0 }, { 16, 9, 8, 16, 2, 0 }, { 17, 9, 9, 16, 2, 0 }, { 18, 9, 9, 16, 2, 0 }, { 19, 9, 10, 16, 2, 0 }, - { 20, 9, 10, 16, 2, 0 }, { 21, 9, 11, 16, 2, 0 }, { 22, 9, 11, 16, 2, 0 }, { 23, 9, 12, 16, 2, 0 }, { 24, 9, 12, 16, 2, 0 }, - { 25, 9, 13, 16, 2, 0 }, { 26, 9, 13, 16, 2, 0 }, { 27, 9, 14, 16, 2, 0 }, { 28, 9, 14, 16, 2, 0 }, { 29, 9, 15, 16, 2, 0 }, - { 30, 9, 15, 16, 2, 0 }, { 31, 9, 16, 16, 2, 0 }, + 32, { + { 0, 9, 0, 16, 2, 0 }, { 1, 9, 1, 16, 2, 0 }, { 2, 9, 1, 16, 2, 0 }, { 3, 9, 2, 16, 2, 0 }, { 4, 9, 2, 16, 2, 0 }, + { 5, 9, 3, 16, 2, 0 }, { 6, 9, 3, 16, 2, 0 }, { 7, 9, 4, 16, 2, 0 }, { 8, 9, 4, 16, 2, 0 }, { 9, 9, 5, 16, 2, 0 }, + { 10, 9, 5, 16, 2, 0 }, { 11, 9, 6, 16, 2, 0 }, { 12, 9, 6, 16, 2, 0 }, { 13, 9, 7, 16, 2, 0 }, { 14, 9, 7, 16, 2, 0 }, + { 15, 9, 8, 16, 2, 0 }, { 16, 9, 8, 16, 2, 0 }, { 17, 9, 9, 16, 2, 0 }, { 18, 9, 9, 16, 2, 0 }, { 19, 9, 10, 16, 2, 0 }, + { 20, 9, 10, 16, 2, 0 }, { 21, 9, 11, 16, 2, 0 }, { 22, 9, 11, 16, 2, 0 }, { 23, 9, 12, 16, 2, 0 }, { 24, 9, 12, 16, 2, 0 }, + { 25, 9, 13, 16, 2, 0 }, { 26, 9, 13, 16, 2, 0 }, { 27, 9, 14, 16, 2, 0 }, { 28, 9, 14, 16, 2, 0 }, { 29, 9, 15, 16, 2, 0 }, + { 30, 9, 15, 16, 2, 0 }, { 31, 9, 16, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_903837 = { - 32, { - { 9, 31, 0, 24, 2, 0 }, { 9, 30, 0, 24, 2, 0 }, { 9, 29, 1, 24, 2, 0 }, { 9, 28, 1, 24, 2, 0 }, { 9, 27, 2, 24, 2, 0 }, - { 9, 26, 2, 24, 2, 0 }, { 9, 25, 3, 24, 2, 0 }, { 9, 24, 3, 24, 2, 0 }, { 9, 23, 4, 24, 2, 0 }, { 9, 22, 4, 24, 2, 0 }, - { 9, 21, 5, 24, 2, 0 }, { 9, 20, 5, 24, 2, 0 }, { 9, 19, 6, 24, 2, 0 }, { 9, 18, 6, 24, 2, 0 }, { 9, 17, 7, 24, 2, 0 }, - { 9, 16, 7, 24, 2, 0 }, { 9, 15, 8, 24, 2, 0 }, { 9, 14, 8, 24, 2, 0 }, { 9, 13, 9, 24, 2, 0 }, { 9, 12, 9, 24, 2, 0 }, - { 9, 11, 10, 24, 2, 0 }, { 9, 10, 10, 24, 2, 0 }, { 9, 9, 11, 24, 2, 0 }, { 9, 8, 11, 24, 2, 0 }, { 9, 7, 12, 24, 2, 0 }, - { 9, 6, 12, 24, 2, 0 }, { 9, 5, 13, 24, 2, 0 }, { 9, 4, 13, 24, 2, 0 }, { 9, 3, 14, 24, 2, 0 }, { 9, 2, 14, 24, 2, 0 }, - { 9, 1, 15, 24, 2, 0 }, { 9, 0, 15, 24, 2, 0 }, + 32, { + { 9, 31, 0, 24, 2, 0 }, { 9, 30, 0, 24, 2, 0 }, { 9, 29, 1, 24, 2, 0 }, { 9, 28, 1, 24, 2, 0 }, { 9, 27, 2, 24, 2, 0 }, + { 9, 26, 2, 24, 2, 0 }, { 9, 25, 3, 24, 2, 0 }, { 9, 24, 3, 24, 2, 0 }, { 9, 23, 4, 24, 2, 0 }, { 9, 22, 4, 24, 2, 0 }, + { 9, 21, 5, 24, 2, 0 }, { 9, 20, 5, 24, 2, 0 }, { 9, 19, 6, 24, 2, 0 }, { 9, 18, 6, 24, 2, 0 }, { 9, 17, 7, 24, 2, 0 }, + { 9, 16, 7, 24, 2, 0 }, { 9, 15, 8, 24, 2, 0 }, { 9, 14, 8, 24, 2, 0 }, { 9, 13, 9, 24, 2, 0 }, { 9, 12, 9, 24, 2, 0 }, + { 9, 11, 10, 24, 2, 0 }, { 9, 10, 10, 24, 2, 0 }, { 9, 9, 11, 24, 2, 0 }, { 9, 8, 11, 24, 2, 0 }, { 9, 7, 12, 24, 2, 0 }, + { 9, 6, 12, 24, 2, 0 }, { 9, 5, 13, 24, 2, 0 }, { 9, 4, 13, 24, 2, 0 }, { 9, 3, 14, 24, 2, 0 }, { 9, 2, 14, 24, 2, 0 }, + { 9, 1, 15, 24, 2, 0 }, { 9, 0, 15, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_902269 = { - 32, { - { 31, 23, 0, 0, 0, 0 }, { 30, 23, 0, 0, 0, 0 }, { 29, 23, 0, 0, 0, 0 }, { 28, 23, 0, 0, 0, 0 }, { 27, 23, 0, 0, 0, 0 }, - { 26, 23, 0, 0, 0, 0 }, { 25, 23, 0, 0, 0, 0 }, { 24, 23, 0, 0, 0, 0 }, { 23, 23, 0, 0, 1, 0 }, { 22, 23, 0, 0, 1, 0 }, - { 21, 23, 1, 0, 1, 0 }, { 20, 23, 1, 0, 1, 0 }, { 19, 23, 1, 0, 1, 0 }, { 18, 23, 1, 0, 1, 0 }, { 17, 23, 1, 0, 1, 0 }, - { 16, 23, 1, 0, 1, 0 }, { 15, 23, 2, 0, 1, 0 }, { 14, 23, 2, 0, 1, 0 }, { 13, 23, 2, 0, 1, 0 }, { 12, 23, 2, 0, 1, 0 }, - { 11, 23, 3, 0, 1, 0 }, { 10, 23, 3, 0, 1, 0 }, { 9, 23, 3, 0, 1, 0 }, { 8, 23, 4, 0, 1, 0 }, { 7, 23, 4, 0, 2, 0 }, - { 6, 23, 5, 0, 2, 0 }, { 5, 23, 5, 0, 2, 0 }, { 4, 23, 6, 0, 2, 0 }, { 3, 23, 6, 0, 2, 0 }, { 2, 23, 7, 0, 2, 0 }, - { 1, 23, 7, 0, 2, 0 }, { 0, 23, 8, 0, 2, 0 }, + 32, { + { 31, 23, 0, 0, 0, 0 }, { 30, 23, 0, 0, 0, 0 }, { 29, 23, 0, 0, 0, 0 }, { 28, 23, 0, 0, 0, 0 }, { 27, 23, 0, 0, 0, 0 }, + { 26, 23, 0, 0, 0, 0 }, { 25, 23, 0, 0, 0, 0 }, { 24, 23, 0, 0, 0, 0 }, { 23, 23, 0, 0, 1, 0 }, { 22, 23, 0, 0, 1, 0 }, + { 21, 23, 1, 0, 1, 0 }, { 20, 23, 1, 0, 1, 0 }, { 19, 23, 1, 0, 1, 0 }, { 18, 23, 1, 0, 1, 0 }, { 17, 23, 1, 0, 1, 0 }, + { 16, 23, 1, 0, 1, 0 }, { 15, 23, 2, 0, 1, 0 }, { 14, 23, 2, 0, 1, 0 }, { 13, 23, 2, 0, 1, 0 }, { 12, 23, 2, 0, 1, 0 }, + { 11, 23, 3, 0, 1, 0 }, { 10, 23, 3, 0, 1, 0 }, { 9, 23, 3, 0, 1, 0 }, { 8, 23, 4, 0, 1, 0 }, { 7, 23, 4, 0, 2, 0 }, + { 6, 23, 5, 0, 2, 0 }, { 5, 23, 5, 0, 2, 0 }, { 4, 23, 6, 0, 2, 0 }, { 3, 23, 6, 0, 2, 0 }, { 2, 23, 7, 0, 2, 0 }, + { 1, 23, 7, 0, 2, 0 }, { 0, 23, 8, 0, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90238B = { - 32, { - { 23, 0, 0, 8, 0, 0 }, { 23, 1, 0, 8, 0, 0 }, { 23, 2, 0, 8, 0, 0 }, { 23, 3, 0, 8, 0, 0 }, { 23, 4, 0, 8, 0, 0 }, - { 23, 5, 0, 8, 0, 0 }, { 23, 6, 0, 8, 0, 0 }, { 23, 7, 0, 8, 0, 0 }, { 23, 8, 0, 8, 1, 0 }, { 23, 9, 0, 8, 1, 0 }, - { 23, 10, 1, 8, 1, 0 }, { 23, 11, 1, 8, 1, 0 }, { 23, 12, 1, 8, 1, 0 }, { 23, 13, 1, 8, 1, 0 }, { 23, 14, 1, 8, 1, 0 }, - { 23, 15, 1, 8, 1, 0 }, { 23, 16, 2, 8, 1, 0 }, { 23, 17, 2, 8, 1, 0 }, { 23, 18, 2, 8, 1, 0 }, { 23, 19, 2, 8, 1, 0 }, - { 23, 20, 3, 8, 1, 0 }, { 23, 21, 3, 8, 1, 0 }, { 23, 22, 3, 8, 1, 0 }, { 23, 23, 4, 8, 1, 0 }, { 23, 24, 4, 8, 2, 0 }, - { 23, 25, 4, 8, 2, 0 }, { 23, 26, 5, 8, 2, 0 }, { 23, 27, 5, 8, 2, 0 }, { 23, 28, 6, 8, 2, 0 }, { 23, 29, 6, 8, 2, 0 }, - { 23, 30, 7, 8, 2, 0 }, { 23, 31, 7, 8, 2, 0 }, + 32, { + { 23, 0, 0, 8, 0, 0 }, { 23, 1, 0, 8, 0, 0 }, { 23, 2, 0, 8, 0, 0 }, { 23, 3, 0, 8, 0, 0 }, { 23, 4, 0, 8, 0, 0 }, + { 23, 5, 0, 8, 0, 0 }, { 23, 6, 0, 8, 0, 0 }, { 23, 7, 0, 8, 0, 0 }, { 23, 8, 0, 8, 1, 0 }, { 23, 9, 0, 8, 1, 0 }, + { 23, 10, 1, 8, 1, 0 }, { 23, 11, 1, 8, 1, 0 }, { 23, 12, 1, 8, 1, 0 }, { 23, 13, 1, 8, 1, 0 }, { 23, 14, 1, 8, 1, 0 }, + { 23, 15, 1, 8, 1, 0 }, { 23, 16, 2, 8, 1, 0 }, { 23, 17, 2, 8, 1, 0 }, { 23, 18, 2, 8, 1, 0 }, { 23, 19, 2, 8, 1, 0 }, + { 23, 20, 3, 8, 1, 0 }, { 23, 21, 3, 8, 1, 0 }, { 23, 22, 3, 8, 1, 0 }, { 23, 23, 4, 8, 1, 0 }, { 23, 24, 4, 8, 2, 0 }, + { 23, 25, 4, 8, 2, 0 }, { 23, 26, 5, 8, 2, 0 }, { 23, 27, 5, 8, 2, 0 }, { 23, 28, 6, 8, 2, 0 }, { 23, 29, 6, 8, 2, 0 }, + { 23, 30, 7, 8, 2, 0 }, { 23, 31, 7, 8, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9024AD = { - 32, { - { 0, 9, 0, 16, 0, 0 }, { 1, 9, 0, 16, 0, 0 }, { 2, 9, 0, 16, 0, 0 }, { 3, 9, 0, 16, 0, 0 }, { 4, 9, 0, 16, 0, 0 }, - { 5, 9, 0, 16, 0, 0 }, { 6, 9, 0, 16, 0, 0 }, { 7, 9, 0, 16, 0, 0 }, { 8, 9, 0, 16, 1, 0 }, { 9, 9, 0, 16, 1, 0 }, - { 10, 9, 1, 16, 1, 0 }, { 11, 9, 1, 16, 1, 0 }, { 12, 9, 1, 16, 1, 0 }, { 13, 9, 1, 16, 1, 0 }, { 14, 9, 1, 16, 1, 0 }, - { 15, 9, 1, 16, 1, 0 }, { 16, 9, 2, 16, 1, 0 }, { 17, 9, 2, 16, 1, 0 }, { 18, 9, 2, 16, 1, 0 }, { 19, 9, 2, 16, 1, 0 }, - { 20, 9, 3, 16, 1, 0 }, { 21, 9, 3, 16, 1, 0 }, { 22, 9, 3, 16, 1, 0 }, { 23, 9, 4, 16, 1, 0 }, { 24, 9, 4, 16, 2, 0 }, - { 25, 9, 4, 16, 2, 0 }, { 26, 9, 5, 16, 2, 0 }, { 27, 9, 5, 16, 2, 0 }, { 28, 9, 6, 16, 2, 0 }, { 29, 9, 6, 16, 2, 0 }, - { 30, 9, 7, 16, 2, 0 }, { 31, 9, 7, 16, 2, 0 }, + 32, { + { 0, 9, 0, 16, 0, 0 }, { 1, 9, 0, 16, 0, 0 }, { 2, 9, 0, 16, 0, 0 }, { 3, 9, 0, 16, 0, 0 }, { 4, 9, 0, 16, 0, 0 }, + { 5, 9, 0, 16, 0, 0 }, { 6, 9, 0, 16, 0, 0 }, { 7, 9, 0, 16, 0, 0 }, { 8, 9, 0, 16, 1, 0 }, { 9, 9, 0, 16, 1, 0 }, + { 10, 9, 1, 16, 1, 0 }, { 11, 9, 1, 16, 1, 0 }, { 12, 9, 1, 16, 1, 0 }, { 13, 9, 1, 16, 1, 0 }, { 14, 9, 1, 16, 1, 0 }, + { 15, 9, 1, 16, 1, 0 }, { 16, 9, 2, 16, 1, 0 }, { 17, 9, 2, 16, 1, 0 }, { 18, 9, 2, 16, 1, 0 }, { 19, 9, 2, 16, 1, 0 }, + { 20, 9, 3, 16, 1, 0 }, { 21, 9, 3, 16, 1, 0 }, { 22, 9, 3, 16, 1, 0 }, { 23, 9, 4, 16, 1, 0 }, { 24, 9, 4, 16, 2, 0 }, + { 25, 9, 4, 16, 2, 0 }, { 26, 9, 5, 16, 2, 0 }, { 27, 9, 5, 16, 2, 0 }, { 28, 9, 6, 16, 2, 0 }, { 29, 9, 6, 16, 2, 0 }, + { 30, 9, 7, 16, 2, 0 }, { 31, 9, 7, 16, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9025CF = { - 32, { - { 9, 31, 0, 24, 0, 0 }, { 9, 30, 0, 24, 0, 0 }, { 9, 29, 0, 24, 0, 0 }, { 9, 28, 0, 24, 0, 0 }, { 9, 27, 0, 24, 0, 0 }, - { 9, 26, 0, 24, 0, 0 }, { 9, 25, 0, 24, 0, 0 }, { 9, 24, 0, 24, 0, 0 }, { 9, 23, 0, 24, 1, 0 }, { 9, 22, 0, 24, 1, 0 }, - { 9, 21, 1, 24, 1, 0 }, { 9, 20, 1, 24, 1, 0 }, { 9, 19, 1, 24, 1, 0 }, { 9, 18, 1, 24, 1, 0 }, { 9, 17, 1, 24, 1, 0 }, - { 9, 16, 1, 24, 1, 0 }, { 9, 15, 2, 24, 1, 0 }, { 9, 14, 2, 24, 1, 0 }, { 9, 13, 2, 24, 1, 0 }, { 9, 12, 2, 24, 1, 0 }, - { 9, 11, 3, 24, 1, 0 }, { 9, 10, 3, 24, 1, 0 }, { 9, 9, 3, 24, 1, 0 }, { 9, 8, 4, 24, 1, 0 }, { 9, 7, 4, 24, 2, 0 }, - { 9, 6, 5, 24, 2, 0 }, { 9, 5, 5, 24, 2, 0 }, { 9, 4, 6, 24, 2, 0 }, { 9, 3, 6, 24, 2, 0 }, { 9, 2, 7, 24, 2, 0 }, - { 9, 1, 7, 24, 2, 0 }, { 9, 0, 8, 24, 2, 0 }, + 32, { + { 9, 31, 0, 24, 0, 0 }, { 9, 30, 0, 24, 0, 0 }, { 9, 29, 0, 24, 0, 0 }, { 9, 28, 0, 24, 0, 0 }, { 9, 27, 0, 24, 0, 0 }, + { 9, 26, 0, 24, 0, 0 }, { 9, 25, 0, 24, 0, 0 }, { 9, 24, 0, 24, 0, 0 }, { 9, 23, 0, 24, 1, 0 }, { 9, 22, 0, 24, 1, 0 }, + { 9, 21, 1, 24, 1, 0 }, { 9, 20, 1, 24, 1, 0 }, { 9, 19, 1, 24, 1, 0 }, { 9, 18, 1, 24, 1, 0 }, { 9, 17, 1, 24, 1, 0 }, + { 9, 16, 1, 24, 1, 0 }, { 9, 15, 2, 24, 1, 0 }, { 9, 14, 2, 24, 1, 0 }, { 9, 13, 2, 24, 1, 0 }, { 9, 12, 2, 24, 1, 0 }, + { 9, 11, 3, 24, 1, 0 }, { 9, 10, 3, 24, 1, 0 }, { 9, 9, 3, 24, 1, 0 }, { 9, 8, 4, 24, 1, 0 }, { 9, 7, 4, 24, 2, 0 }, + { 9, 6, 5, 24, 2, 0 }, { 9, 5, 5, 24, 2, 0 }, { 9, 4, 6, 24, 2, 0 }, { 9, 3, 6, 24, 2, 0 }, { 9, 2, 7, 24, 2, 0 }, + { 9, 1, 7, 24, 2, 0 }, { 9, 0, 8, 24, 2, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9026F1 = { - 32, { - { 31, 23, 0, 0, 2, 0 }, { 30, 23, 1, 0, 2, 0 }, { 29, 23, 1, 0, 2, 0 }, { 28, 23, 2, 0, 2, 0 }, { 27, 23, 2, 0, 2, 0 }, - { 26, 23, 3, 0, 2, 0 }, { 25, 23, 3, 0, 2, 0 }, { 24, 23, 3, 0, 2, 0 }, { 23, 23, 4, 0, 1, 0 }, { 22, 23, 4, 0, 1, 0 }, - { 21, 23, 4, 0, 1, 0 }, { 20, 23, 5, 0, 1, 0 }, { 19, 23, 5, 0, 1, 0 }, { 18, 23, 5, 0, 1, 0 }, { 17, 23, 6, 0, 1, 0 }, - { 16, 23, 6, 0, 1, 0 }, { 15, 23, 6, 0, 1, 0 }, { 14, 23, 6, 0, 1, 0 }, { 13, 23, 7, 0, 1, 0 }, { 12, 23, 7, 0, 1, 0 }, - { 11, 23, 7, 0, 1, 0 }, { 10, 23, 7, 0, 1, 0 }, { 9, 23, 7, 0, 0, 0 }, { 8, 23, 7, 0, 0, 0 }, { 7, 23, 8, 0, 0, 0 }, - { 6, 23, 8, 0, 0, 0 }, { 5, 23, 8, 0, 0, 0 }, { 4, 23, 8, 0, 0, 0 }, { 3, 23, 8, 0, 0, 0 }, { 2, 23, 8, 0, 0, 0 }, - { 1, 23, 8, 0, 0, 0 }, { 0, 23, 8, 0, 0, 0 }, + 32, { + { 31, 23, 0, 0, 2, 0 }, { 30, 23, 1, 0, 2, 0 }, { 29, 23, 1, 0, 2, 0 }, { 28, 23, 2, 0, 2, 0 }, { 27, 23, 2, 0, 2, 0 }, + { 26, 23, 3, 0, 2, 0 }, { 25, 23, 3, 0, 2, 0 }, { 24, 23, 3, 0, 2, 0 }, { 23, 23, 4, 0, 1, 0 }, { 22, 23, 4, 0, 1, 0 }, + { 21, 23, 4, 0, 1, 0 }, { 20, 23, 5, 0, 1, 0 }, { 19, 23, 5, 0, 1, 0 }, { 18, 23, 5, 0, 1, 0 }, { 17, 23, 6, 0, 1, 0 }, + { 16, 23, 6, 0, 1, 0 }, { 15, 23, 6, 0, 1, 0 }, { 14, 23, 6, 0, 1, 0 }, { 13, 23, 7, 0, 1, 0 }, { 12, 23, 7, 0, 1, 0 }, + { 11, 23, 7, 0, 1, 0 }, { 10, 23, 7, 0, 1, 0 }, { 9, 23, 7, 0, 0, 0 }, { 8, 23, 7, 0, 0, 0 }, { 7, 23, 8, 0, 0, 0 }, + { 6, 23, 8, 0, 0, 0 }, { 5, 23, 8, 0, 0, 0 }, { 4, 23, 8, 0, 0, 0 }, { 3, 23, 8, 0, 0, 0 }, { 2, 23, 8, 0, 0, 0 }, + { 1, 23, 8, 0, 0, 0 }, { 0, 23, 8, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_902825 = { - 32, { - { 23, 0, 0, 8, 2, 0 }, { 23, 1, 0, 8, 2, 0 }, { 23, 2, 1, 8, 2, 0 }, { 23, 3, 1, 8, 2, 0 }, { 23, 4, 2, 8, 2, 0 }, - { 23, 5, 2, 8, 2, 0 }, { 23, 6, 3, 8, 2, 0 }, { 23, 7, 3, 8, 2, 0 }, { 23, 8, 4, 8, 1, 0 }, { 23, 9, 4, 8, 1, 0 }, - { 23, 10, 4, 8, 1, 0 }, { 23, 11, 5, 8, 1, 0 }, { 23, 12, 5, 8, 1, 0 }, { 23, 13, 5, 8, 1, 0 }, { 23, 14, 6, 8, 1, 0 }, - { 23, 15, 6, 8, 1, 0 }, { 23, 16, 6, 8, 1, 0 }, { 23, 17, 6, 8, 1, 0 }, { 23, 18, 7, 8, 1, 0 }, { 23, 19, 7, 8, 1, 0 }, - { 23, 20, 7, 8, 1, 0 }, { 23, 21, 7, 8, 1, 0 }, { 23, 22, 7, 8, 0, 0 }, { 23, 23, 7, 8, 0, 0 }, { 23, 24, 8, 8, 0, 0 }, - { 23, 25, 8, 8, 0, 0 }, { 23, 26, 8, 8, 0, 0 }, { 23, 27, 8, 8, 0, 0 }, { 23, 28, 8, 8, 0, 0 }, { 23, 29, 8, 8, 0, 0 }, - { 23, 30, 8, 8, 0, 0 }, { 23, 31, 8, 8, 0, 0 }, + 32, { + { 23, 0, 0, 8, 2, 0 }, { 23, 1, 0, 8, 2, 0 }, { 23, 2, 1, 8, 2, 0 }, { 23, 3, 1, 8, 2, 0 }, { 23, 4, 2, 8, 2, 0 }, + { 23, 5, 2, 8, 2, 0 }, { 23, 6, 3, 8, 2, 0 }, { 23, 7, 3, 8, 2, 0 }, { 23, 8, 4, 8, 1, 0 }, { 23, 9, 4, 8, 1, 0 }, + { 23, 10, 4, 8, 1, 0 }, { 23, 11, 5, 8, 1, 0 }, { 23, 12, 5, 8, 1, 0 }, { 23, 13, 5, 8, 1, 0 }, { 23, 14, 6, 8, 1, 0 }, + { 23, 15, 6, 8, 1, 0 }, { 23, 16, 6, 8, 1, 0 }, { 23, 17, 6, 8, 1, 0 }, { 23, 18, 7, 8, 1, 0 }, { 23, 19, 7, 8, 1, 0 }, + { 23, 20, 7, 8, 1, 0 }, { 23, 21, 7, 8, 1, 0 }, { 23, 22, 7, 8, 0, 0 }, { 23, 23, 7, 8, 0, 0 }, { 23, 24, 8, 8, 0, 0 }, + { 23, 25, 8, 8, 0, 0 }, { 23, 26, 8, 8, 0, 0 }, { 23, 27, 8, 8, 0, 0 }, { 23, 28, 8, 8, 0, 0 }, { 23, 29, 8, 8, 0, 0 }, + { 23, 30, 8, 8, 0, 0 }, { 23, 31, 8, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_902959 = { - 32, { - { 0, 9, 0, 16, 2, 0 }, { 1, 9, 0, 16, 2, 0 }, { 2, 9, 1, 16, 2, 0 }, { 3, 9, 1, 16, 2, 0 }, { 4, 9, 2, 16, 2, 0 }, - { 5, 9, 2, 16, 2, 0 }, { 6, 9, 3, 16, 2, 0 }, { 7, 9, 3, 16, 2, 0 }, { 8, 9, 4, 16, 1, 0 }, { 9, 9, 4, 16, 1, 0 }, - { 10, 9, 4, 16, 1, 0 }, { 11, 9, 5, 16, 1, 0 }, { 12, 9, 5, 16, 1, 0 }, { 13, 9, 5, 16, 1, 0 }, { 14, 9, 6, 16, 1, 0 }, - { 15, 9, 6, 16, 1, 0 }, { 16, 9, 6, 16, 1, 0 }, { 17, 9, 6, 16, 1, 0 }, { 18, 9, 7, 16, 1, 0 }, { 19, 9, 7, 16, 1, 0 }, - { 20, 9, 7, 16, 1, 0 }, { 21, 9, 7, 16, 1, 0 }, { 22, 9, 7, 16, 0, 0 }, { 23, 9, 7, 16, 0, 0 }, { 24, 9, 8, 16, 0, 0 }, - { 25, 9, 8, 16, 0, 0 }, { 26, 9, 8, 16, 0, 0 }, { 27, 9, 8, 16, 0, 0 }, { 28, 9, 8, 16, 0, 0 }, { 29, 9, 8, 16, 0, 0 }, - { 30, 9, 8, 16, 0, 0 }, { 31, 9, 8, 16, 0, 0 }, + 32, { + { 0, 9, 0, 16, 2, 0 }, { 1, 9, 0, 16, 2, 0 }, { 2, 9, 1, 16, 2, 0 }, { 3, 9, 1, 16, 2, 0 }, { 4, 9, 2, 16, 2, 0 }, + { 5, 9, 2, 16, 2, 0 }, { 6, 9, 3, 16, 2, 0 }, { 7, 9, 3, 16, 2, 0 }, { 8, 9, 4, 16, 1, 0 }, { 9, 9, 4, 16, 1, 0 }, + { 10, 9, 4, 16, 1, 0 }, { 11, 9, 5, 16, 1, 0 }, { 12, 9, 5, 16, 1, 0 }, { 13, 9, 5, 16, 1, 0 }, { 14, 9, 6, 16, 1, 0 }, + { 15, 9, 6, 16, 1, 0 }, { 16, 9, 6, 16, 1, 0 }, { 17, 9, 6, 16, 1, 0 }, { 18, 9, 7, 16, 1, 0 }, { 19, 9, 7, 16, 1, 0 }, + { 20, 9, 7, 16, 1, 0 }, { 21, 9, 7, 16, 1, 0 }, { 22, 9, 7, 16, 0, 0 }, { 23, 9, 7, 16, 0, 0 }, { 24, 9, 8, 16, 0, 0 }, + { 25, 9, 8, 16, 0, 0 }, { 26, 9, 8, 16, 0, 0 }, { 27, 9, 8, 16, 0, 0 }, { 28, 9, 8, 16, 0, 0 }, { 29, 9, 8, 16, 0, 0 }, + { 30, 9, 8, 16, 0, 0 }, { 31, 9, 8, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_902A8D = { - 32, { - { 9, 31, 0, 24, 2, 0 }, { 9, 30, 1, 24, 2, 0 }, { 9, 29, 1, 24, 2, 0 }, { 9, 28, 2, 24, 2, 0 }, { 9, 27, 2, 24, 2, 0 }, - { 9, 26, 3, 24, 2, 0 }, { 9, 25, 3, 24, 2, 0 }, { 9, 24, 3, 24, 2, 0 }, { 9, 23, 4, 24, 1, 0 }, { 9, 22, 4, 24, 1, 0 }, - { 9, 21, 4, 24, 1, 0 }, { 9, 20, 5, 24, 1, 0 }, { 9, 19, 5, 24, 1, 0 }, { 9, 18, 5, 24, 1, 0 }, { 9, 17, 6, 24, 1, 0 }, - { 9, 16, 6, 24, 1, 0 }, { 9, 15, 6, 24, 1, 0 }, { 9, 14, 6, 24, 1, 0 }, { 9, 13, 7, 24, 1, 0 }, { 9, 12, 7, 24, 1, 0 }, - { 9, 11, 7, 24, 1, 0 }, { 9, 10, 7, 24, 1, 0 }, { 9, 9, 7, 24, 0, 0 }, { 9, 8, 7, 24, 0, 0 }, { 9, 7, 8, 24, 0, 0 }, - { 9, 6, 8, 24, 0, 0 }, { 9, 5, 8, 24, 0, 0 }, { 9, 4, 8, 24, 0, 0 }, { 9, 3, 8, 24, 0, 0 }, { 9, 2, 8, 24, 0, 0 }, - { 9, 1, 8, 24, 0, 0 }, { 9, 0, 8, 24, 0, 0 }, + 32, { + { 9, 31, 0, 24, 2, 0 }, { 9, 30, 1, 24, 2, 0 }, { 9, 29, 1, 24, 2, 0 }, { 9, 28, 2, 24, 2, 0 }, { 9, 27, 2, 24, 2, 0 }, + { 9, 26, 3, 24, 2, 0 }, { 9, 25, 3, 24, 2, 0 }, { 9, 24, 3, 24, 2, 0 }, { 9, 23, 4, 24, 1, 0 }, { 9, 22, 4, 24, 1, 0 }, + { 9, 21, 4, 24, 1, 0 }, { 9, 20, 5, 24, 1, 0 }, { 9, 19, 5, 24, 1, 0 }, { 9, 18, 5, 24, 1, 0 }, { 9, 17, 6, 24, 1, 0 }, + { 9, 16, 6, 24, 1, 0 }, { 9, 15, 6, 24, 1, 0 }, { 9, 14, 6, 24, 1, 0 }, { 9, 13, 7, 24, 1, 0 }, { 9, 12, 7, 24, 1, 0 }, + { 9, 11, 7, 24, 1, 0 }, { 9, 10, 7, 24, 1, 0 }, { 9, 9, 7, 24, 0, 0 }, { 9, 8, 7, 24, 0, 0 }, { 9, 7, 8, 24, 0, 0 }, + { 9, 6, 8, 24, 0, 0 }, { 9, 5, 8, 24, 0, 0 }, { 9, 4, 8, 24, 0, 0 }, { 9, 3, 8, 24, 0, 0 }, { 9, 2, 8, 24, 0, 0 }, + { 9, 1, 8, 24, 0, 0 }, { 9, 0, 8, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_903959 = { - 32, { - { 31, 23, 15, 0, 6, 0 }, { 30, 23, 14, 0, 6, 0 }, { 29, 23, 14, 0, 6, 0 }, { 28, 23, 13, 0, 6, 0 }, { 27, 23, 13, 0, 6, 0 }, - { 26, 23, 12, 0, 6, 0 }, { 25, 23, 12, 0, 6, 0 }, { 24, 23, 11, 0, 6, 0 }, { 23, 23, 11, 0, 6, 0 }, { 22, 23, 10, 0, 6, 0 }, - { 21, 23, 10, 0, 6, 0 }, { 20, 23, 9, 0, 6, 0 }, { 19, 23, 9, 0, 6, 0 }, { 18, 23, 8, 0, 6, 0 }, { 17, 23, 8, 0, 6, 0 }, - { 16, 23, 7, 0, 6, 0 }, { 15, 23, 7, 0, 6, 0 }, { 14, 23, 6, 0, 6, 0 }, { 13, 23, 6, 0, 6, 0 }, { 12, 23, 5, 0, 6, 0 }, - { 11, 23, 5, 0, 6, 0 }, { 10, 23, 4, 0, 6, 0 }, { 9, 23, 4, 0, 6, 0 }, { 8, 23, 3, 0, 6, 0 }, { 7, 23, 3, 0, 6, 0 }, - { 6, 23, 2, 0, 6, 0 }, { 5, 23, 2, 0, 6, 0 }, { 4, 23, 1, 0, 6, 0 }, { 3, 23, 1, 0, 6, 0 }, { 2, 23, 0, 0, 6, 0 }, - { 1, 23, 0, 0, 6, 0 }, { 0, 23, -1, 0, 6, 0 }, + 32, { + { 31, 23, 15, 0, 6, 0 }, { 30, 23, 14, 0, 6, 0 }, { 29, 23, 14, 0, 6, 0 }, { 28, 23, 13, 0, 6, 0 }, { 27, 23, 13, 0, 6, 0 }, + { 26, 23, 12, 0, 6, 0 }, { 25, 23, 12, 0, 6, 0 }, { 24, 23, 11, 0, 6, 0 }, { 23, 23, 11, 0, 6, 0 }, { 22, 23, 10, 0, 6, 0 }, + { 21, 23, 10, 0, 6, 0 }, { 20, 23, 9, 0, 6, 0 }, { 19, 23, 9, 0, 6, 0 }, { 18, 23, 8, 0, 6, 0 }, { 17, 23, 8, 0, 6, 0 }, + { 16, 23, 7, 0, 6, 0 }, { 15, 23, 7, 0, 6, 0 }, { 14, 23, 6, 0, 6, 0 }, { 13, 23, 6, 0, 6, 0 }, { 12, 23, 5, 0, 6, 0 }, + { 11, 23, 5, 0, 6, 0 }, { 10, 23, 4, 0, 6, 0 }, { 9, 23, 4, 0, 6, 0 }, { 8, 23, 3, 0, 6, 0 }, { 7, 23, 3, 0, 6, 0 }, + { 6, 23, 2, 0, 6, 0 }, { 5, 23, 2, 0, 6, 0 }, { 4, 23, 1, 0, 6, 0 }, { 3, 23, 1, 0, 6, 0 }, { 2, 23, 0, 0, 6, 0 }, + { 1, 23, 0, 0, 6, 0 }, { 0, 23, -1, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_903A7B = { - 32, { - { 23, 0, 15, 8, 6, 0 }, { 23, 1, 15, 8, 6, 0 }, { 23, 2, 14, 8, 6, 0 }, { 23, 3, 14, 8, 6, 0 }, { 23, 4, 13, 8, 6, 0 }, - { 23, 5, 13, 8, 6, 0 }, { 23, 6, 12, 8, 6, 0 }, { 23, 7, 12, 8, 6, 0 }, { 23, 8, 11, 8, 6, 0 }, { 23, 9, 11, 8, 6, 0 }, - { 23, 10, 10, 8, 6, 0 }, { 23, 11, 10, 8, 6, 0 }, { 23, 12, 9, 8, 6, 0 }, { 23, 13, 9, 8, 6, 0 }, { 23, 14, 8, 8, 6, 0 }, - { 23, 15, 8, 8, 6, 0 }, { 23, 16, 7, 8, 6, 0 }, { 23, 17, 7, 8, 6, 0 }, { 23, 18, 6, 8, 6, 0 }, { 23, 19, 6, 8, 6, 0 }, - { 23, 20, 5, 8, 6, 0 }, { 23, 21, 5, 8, 6, 0 }, { 23, 22, 4, 8, 6, 0 }, { 23, 23, 4, 8, 6, 0 }, { 23, 24, 3, 8, 6, 0 }, - { 23, 25, 3, 8, 6, 0 }, { 23, 26, 2, 8, 6, 0 }, { 23, 27, 2, 8, 6, 0 }, { 23, 28, 1, 8, 6, 0 }, { 23, 29, 1, 8, 6, 0 }, - { 23, 30, 0, 8, 6, 0 }, { 23, 31, 0, 8, 6, 0 }, + 32, { + { 23, 0, 15, 8, 6, 0 }, { 23, 1, 15, 8, 6, 0 }, { 23, 2, 14, 8, 6, 0 }, { 23, 3, 14, 8, 6, 0 }, { 23, 4, 13, 8, 6, 0 }, + { 23, 5, 13, 8, 6, 0 }, { 23, 6, 12, 8, 6, 0 }, { 23, 7, 12, 8, 6, 0 }, { 23, 8, 11, 8, 6, 0 }, { 23, 9, 11, 8, 6, 0 }, + { 23, 10, 10, 8, 6, 0 }, { 23, 11, 10, 8, 6, 0 }, { 23, 12, 9, 8, 6, 0 }, { 23, 13, 9, 8, 6, 0 }, { 23, 14, 8, 8, 6, 0 }, + { 23, 15, 8, 8, 6, 0 }, { 23, 16, 7, 8, 6, 0 }, { 23, 17, 7, 8, 6, 0 }, { 23, 18, 6, 8, 6, 0 }, { 23, 19, 6, 8, 6, 0 }, + { 23, 20, 5, 8, 6, 0 }, { 23, 21, 5, 8, 6, 0 }, { 23, 22, 4, 8, 6, 0 }, { 23, 23, 4, 8, 6, 0 }, { 23, 24, 3, 8, 6, 0 }, + { 23, 25, 3, 8, 6, 0 }, { 23, 26, 2, 8, 6, 0 }, { 23, 27, 2, 8, 6, 0 }, { 23, 28, 1, 8, 6, 0 }, { 23, 29, 1, 8, 6, 0 }, + { 23, 30, 0, 8, 6, 0 }, { 23, 31, 0, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_903B9D = { - 32, { - { 0, 9, 15, 16, 6, 0 }, { 1, 9, 15, 16, 6, 0 }, { 2, 9, 14, 16, 6, 0 }, { 3, 9, 14, 16, 6, 0 }, { 4, 9, 13, 16, 6, 0 }, - { 5, 9, 13, 16, 6, 0 }, { 6, 9, 12, 16, 6, 0 }, { 7, 9, 12, 16, 6, 0 }, { 8, 9, 11, 16, 6, 0 }, { 9, 9, 11, 16, 6, 0 }, - { 10, 9, 10, 16, 6, 0 }, { 11, 9, 10, 16, 6, 0 }, { 12, 9, 9, 16, 6, 0 }, { 13, 9, 9, 16, 6, 0 }, { 14, 9, 8, 16, 6, 0 }, - { 15, 9, 8, 16, 6, 0 }, { 16, 9, 7, 16, 6, 0 }, { 17, 9, 7, 16, 6, 0 }, { 18, 9, 6, 16, 6, 0 }, { 19, 9, 6, 16, 6, 0 }, - { 20, 9, 5, 16, 6, 0 }, { 21, 9, 5, 16, 6, 0 }, { 22, 9, 4, 16, 6, 0 }, { 23, 9, 4, 16, 6, 0 }, { 24, 9, 3, 16, 6, 0 }, - { 25, 9, 3, 16, 6, 0 }, { 26, 9, 2, 16, 6, 0 }, { 27, 9, 2, 16, 6, 0 }, { 28, 9, 1, 16, 6, 0 }, { 29, 9, 1, 16, 6, 0 }, - { 30, 9, 0, 16, 6, 0 }, { 31, 9, 0, 16, 6, 0 }, + 32, { + { 0, 9, 15, 16, 6, 0 }, { 1, 9, 15, 16, 6, 0 }, { 2, 9, 14, 16, 6, 0 }, { 3, 9, 14, 16, 6, 0 }, { 4, 9, 13, 16, 6, 0 }, + { 5, 9, 13, 16, 6, 0 }, { 6, 9, 12, 16, 6, 0 }, { 7, 9, 12, 16, 6, 0 }, { 8, 9, 11, 16, 6, 0 }, { 9, 9, 11, 16, 6, 0 }, + { 10, 9, 10, 16, 6, 0 }, { 11, 9, 10, 16, 6, 0 }, { 12, 9, 9, 16, 6, 0 }, { 13, 9, 9, 16, 6, 0 }, { 14, 9, 8, 16, 6, 0 }, + { 15, 9, 8, 16, 6, 0 }, { 16, 9, 7, 16, 6, 0 }, { 17, 9, 7, 16, 6, 0 }, { 18, 9, 6, 16, 6, 0 }, { 19, 9, 6, 16, 6, 0 }, + { 20, 9, 5, 16, 6, 0 }, { 21, 9, 5, 16, 6, 0 }, { 22, 9, 4, 16, 6, 0 }, { 23, 9, 4, 16, 6, 0 }, { 24, 9, 3, 16, 6, 0 }, + { 25, 9, 3, 16, 6, 0 }, { 26, 9, 2, 16, 6, 0 }, { 27, 9, 2, 16, 6, 0 }, { 28, 9, 1, 16, 6, 0 }, { 29, 9, 1, 16, 6, 0 }, + { 30, 9, 0, 16, 6, 0 }, { 31, 9, 0, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_903CBF = { - 32, { - { 9, 31, 15, 24, 6, 0 }, { 9, 30, 14, 24, 6, 0 }, { 9, 29, 14, 24, 6, 0 }, { 9, 28, 13, 24, 6, 0 }, { 9, 27, 13, 24, 6, 0 }, - { 9, 26, 12, 24, 6, 0 }, { 9, 25, 12, 24, 6, 0 }, { 9, 24, 11, 24, 6, 0 }, { 9, 23, 11, 24, 6, 0 }, { 9, 22, 10, 24, 6, 0 }, - { 9, 21, 10, 24, 6, 0 }, { 9, 20, 9, 24, 6, 0 }, { 9, 19, 9, 24, 6, 0 }, { 9, 18, 8, 24, 6, 0 }, { 9, 17, 8, 24, 6, 0 }, - { 9, 16, 7, 24, 6, 0 }, { 9, 15, 7, 24, 6, 0 }, { 9, 14, 6, 24, 6, 0 }, { 9, 13, 6, 24, 6, 0 }, { 9, 12, 5, 24, 6, 0 }, - { 9, 11, 5, 24, 6, 0 }, { 9, 10, 4, 24, 6, 0 }, { 9, 9, 4, 24, 6, 0 }, { 9, 8, 3, 24, 6, 0 }, { 9, 7, 3, 24, 6, 0 }, - { 9, 6, 2, 24, 6, 0 }, { 9, 5, 2, 24, 6, 0 }, { 9, 4, 1, 24, 6, 0 }, { 9, 3, 1, 24, 6, 0 }, { 9, 2, 0, 24, 6, 0 }, - { 9, 1, 0, 24, 6, 0 }, { 9, 0, -1, 24, 6, 0 }, + 32, { + { 9, 31, 15, 24, 6, 0 }, { 9, 30, 14, 24, 6, 0 }, { 9, 29, 14, 24, 6, 0 }, { 9, 28, 13, 24, 6, 0 }, { 9, 27, 13, 24, 6, 0 }, + { 9, 26, 12, 24, 6, 0 }, { 9, 25, 12, 24, 6, 0 }, { 9, 24, 11, 24, 6, 0 }, { 9, 23, 11, 24, 6, 0 }, { 9, 22, 10, 24, 6, 0 }, + { 9, 21, 10, 24, 6, 0 }, { 9, 20, 9, 24, 6, 0 }, { 9, 19, 9, 24, 6, 0 }, { 9, 18, 8, 24, 6, 0 }, { 9, 17, 8, 24, 6, 0 }, + { 9, 16, 7, 24, 6, 0 }, { 9, 15, 7, 24, 6, 0 }, { 9, 14, 6, 24, 6, 0 }, { 9, 13, 6, 24, 6, 0 }, { 9, 12, 5, 24, 6, 0 }, + { 9, 11, 5, 24, 6, 0 }, { 9, 10, 4, 24, 6, 0 }, { 9, 9, 4, 24, 6, 0 }, { 9, 8, 3, 24, 6, 0 }, { 9, 7, 3, 24, 6, 0 }, + { 9, 6, 2, 24, 6, 0 }, { 9, 5, 2, 24, 6, 0 }, { 9, 4, 1, 24, 6, 0 }, { 9, 3, 1, 24, 6, 0 }, { 9, 2, 0, 24, 6, 0 }, + { 9, 1, 0, 24, 6, 0 }, { 9, 0, -1, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_903049 = { - 32, { - { 31, 23, 8, 0, 0, 0 }, { 30, 23, 8, 0, 0, 0 }, { 29, 23, 8, 0, 0, 0 }, { 28, 23, 8, 0, 0, 0 }, { 27, 23, 8, 0, 0, 0 }, - { 26, 23, 8, 0, 0, 0 }, { 25, 23, 8, 0, 0, 0 }, { 24, 23, 8, 0, 0, 0 }, { 23, 23, 7, 0, 5, 0 }, { 22, 23, 7, 0, 5, 0 }, - { 21, 23, 7, 0, 5, 0 }, { 20, 23, 7, 0, 5, 0 }, { 19, 23, 7, 0, 5, 0 }, { 18, 23, 7, 0, 5, 0 }, { 17, 23, 6, 0, 5, 0 }, - { 16, 23, 6, 0, 5, 0 }, { 15, 23, 6, 0, 5, 0 }, { 14, 23, 6, 0, 5, 0 }, { 13, 23, 5, 0, 5, 0 }, { 12, 23, 5, 0, 5, 0 }, - { 11, 23, 5, 0, 5, 0 }, { 10, 23, 4, 0, 5, 0 }, { 9, 23, 4, 0, 5, 0 }, { 8, 23, 4, 0, 5, 0 }, { 7, 23, 3, 0, 6, 0 }, - { 6, 23, 3, 0, 6, 0 }, { 5, 23, 2, 0, 6, 0 }, { 4, 23, 2, 0, 6, 0 }, { 3, 23, 1, 0, 6, 0 }, { 2, 23, 1, 0, 6, 0 }, - { 1, 23, 0, 0, 6, 0 }, { 0, 23, 0, 0, 6, 0 }, + 32, { + { 31, 23, 8, 0, 0, 0 }, { 30, 23, 8, 0, 0, 0 }, { 29, 23, 8, 0, 0, 0 }, { 28, 23, 8, 0, 0, 0 }, { 27, 23, 8, 0, 0, 0 }, + { 26, 23, 8, 0, 0, 0 }, { 25, 23, 8, 0, 0, 0 }, { 24, 23, 8, 0, 0, 0 }, { 23, 23, 7, 0, 5, 0 }, { 22, 23, 7, 0, 5, 0 }, + { 21, 23, 7, 0, 5, 0 }, { 20, 23, 7, 0, 5, 0 }, { 19, 23, 7, 0, 5, 0 }, { 18, 23, 7, 0, 5, 0 }, { 17, 23, 6, 0, 5, 0 }, + { 16, 23, 6, 0, 5, 0 }, { 15, 23, 6, 0, 5, 0 }, { 14, 23, 6, 0, 5, 0 }, { 13, 23, 5, 0, 5, 0 }, { 12, 23, 5, 0, 5, 0 }, + { 11, 23, 5, 0, 5, 0 }, { 10, 23, 4, 0, 5, 0 }, { 9, 23, 4, 0, 5, 0 }, { 8, 23, 4, 0, 5, 0 }, { 7, 23, 3, 0, 6, 0 }, + { 6, 23, 3, 0, 6, 0 }, { 5, 23, 2, 0, 6, 0 }, { 4, 23, 2, 0, 6, 0 }, { 3, 23, 1, 0, 6, 0 }, { 2, 23, 1, 0, 6, 0 }, + { 1, 23, 0, 0, 6, 0 }, { 0, 23, 0, 0, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90316B = { - 32, { - { 23, 0, 8, 8, 0, 0 }, { 23, 1, 8, 8, 0, 0 }, { 23, 2, 8, 8, 0, 0 }, { 23, 3, 8, 8, 0, 0 }, { 23, 4, 8, 8, 0, 0 }, - { 23, 5, 8, 8, 0, 0 }, { 23, 6, 8, 8, 0, 0 }, { 23, 7, 8, 8, 0, 0 }, { 23, 8, 7, 8, 5, 0 }, { 23, 9, 7, 8, 5, 0 }, - { 23, 10, 7, 8, 5, 0 }, { 23, 11, 7, 8, 5, 0 }, { 23, 12, 7, 8, 5, 0 }, { 23, 13, 7, 8, 5, 0 }, { 23, 14, 6, 8, 5, 0 }, - { 23, 15, 6, 8, 5, 0 }, { 23, 16, 6, 8, 5, 0 }, { 23, 17, 6, 8, 5, 0 }, { 23, 18, 5, 8, 5, 0 }, { 23, 19, 5, 8, 5, 0 }, - { 23, 20, 5, 8, 5, 0 }, { 23, 21, 4, 8, 5, 0 }, { 23, 22, 4, 8, 5, 0 }, { 23, 23, 4, 8, 5, 0 }, { 23, 24, 3, 8, 6, 0 }, - { 23, 25, 3, 8, 6, 0 }, { 23, 26, 3, 8, 6, 0 }, { 23, 27, 2, 8, 6, 0 }, { 23, 28, 2, 8, 6, 0 }, { 23, 29, 1, 8, 6, 0 }, - { 23, 30, 1, 8, 6, 0 }, { 23, 31, 0, 8, 6, 0 }, + 32, { + { 23, 0, 8, 8, 0, 0 }, { 23, 1, 8, 8, 0, 0 }, { 23, 2, 8, 8, 0, 0 }, { 23, 3, 8, 8, 0, 0 }, { 23, 4, 8, 8, 0, 0 }, + { 23, 5, 8, 8, 0, 0 }, { 23, 6, 8, 8, 0, 0 }, { 23, 7, 8, 8, 0, 0 }, { 23, 8, 7, 8, 5, 0 }, { 23, 9, 7, 8, 5, 0 }, + { 23, 10, 7, 8, 5, 0 }, { 23, 11, 7, 8, 5, 0 }, { 23, 12, 7, 8, 5, 0 }, { 23, 13, 7, 8, 5, 0 }, { 23, 14, 6, 8, 5, 0 }, + { 23, 15, 6, 8, 5, 0 }, { 23, 16, 6, 8, 5, 0 }, { 23, 17, 6, 8, 5, 0 }, { 23, 18, 5, 8, 5, 0 }, { 23, 19, 5, 8, 5, 0 }, + { 23, 20, 5, 8, 5, 0 }, { 23, 21, 4, 8, 5, 0 }, { 23, 22, 4, 8, 5, 0 }, { 23, 23, 4, 8, 5, 0 }, { 23, 24, 3, 8, 6, 0 }, + { 23, 25, 3, 8, 6, 0 }, { 23, 26, 3, 8, 6, 0 }, { 23, 27, 2, 8, 6, 0 }, { 23, 28, 2, 8, 6, 0 }, { 23, 29, 1, 8, 6, 0 }, + { 23, 30, 1, 8, 6, 0 }, { 23, 31, 0, 8, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_90328D = { - 32, { - { 0, 9, 8, 16, 0, 0 }, { 1, 9, 8, 16, 0, 0 }, { 2, 9, 8, 16, 0, 0 }, { 3, 9, 8, 16, 0, 0 }, { 4, 9, 8, 16, 0, 0 }, - { 5, 9, 8, 16, 0, 0 }, { 6, 9, 8, 16, 0, 0 }, { 7, 9, 8, 16, 0, 0 }, { 8, 9, 7, 16, 5, 0 }, { 9, 9, 7, 16, 5, 0 }, - { 10, 9, 7, 16, 5, 0 }, { 11, 9, 7, 16, 5, 0 }, { 12, 9, 7, 16, 5, 0 }, { 13, 9, 7, 16, 5, 0 }, { 14, 9, 6, 16, 5, 0 }, - { 15, 9, 6, 16, 5, 0 }, { 16, 9, 6, 16, 5, 0 }, { 17, 9, 6, 16, 5, 0 }, { 18, 9, 5, 16, 5, 0 }, { 19, 9, 5, 16, 5, 0 }, - { 20, 9, 5, 16, 5, 0 }, { 21, 9, 4, 16, 5, 0 }, { 22, 9, 4, 16, 5, 0 }, { 23, 9, 4, 16, 5, 0 }, { 24, 9, 3, 16, 6, 0 }, - { 25, 9, 3, 16, 6, 0 }, { 26, 9, 3, 16, 6, 0 }, { 27, 9, 2, 16, 6, 0 }, { 28, 9, 2, 16, 6, 0 }, { 29, 9, 1, 16, 6, 0 }, - { 30, 9, 1, 16, 6, 0 }, { 31, 9, 0, 16, 6, 0 }, + 32, { + { 0, 9, 8, 16, 0, 0 }, { 1, 9, 8, 16, 0, 0 }, { 2, 9, 8, 16, 0, 0 }, { 3, 9, 8, 16, 0, 0 }, { 4, 9, 8, 16, 0, 0 }, + { 5, 9, 8, 16, 0, 0 }, { 6, 9, 8, 16, 0, 0 }, { 7, 9, 8, 16, 0, 0 }, { 8, 9, 7, 16, 5, 0 }, { 9, 9, 7, 16, 5, 0 }, + { 10, 9, 7, 16, 5, 0 }, { 11, 9, 7, 16, 5, 0 }, { 12, 9, 7, 16, 5, 0 }, { 13, 9, 7, 16, 5, 0 }, { 14, 9, 6, 16, 5, 0 }, + { 15, 9, 6, 16, 5, 0 }, { 16, 9, 6, 16, 5, 0 }, { 17, 9, 6, 16, 5, 0 }, { 18, 9, 5, 16, 5, 0 }, { 19, 9, 5, 16, 5, 0 }, + { 20, 9, 5, 16, 5, 0 }, { 21, 9, 4, 16, 5, 0 }, { 22, 9, 4, 16, 5, 0 }, { 23, 9, 4, 16, 5, 0 }, { 24, 9, 3, 16, 6, 0 }, + { 25, 9, 3, 16, 6, 0 }, { 26, 9, 3, 16, 6, 0 }, { 27, 9, 2, 16, 6, 0 }, { 28, 9, 2, 16, 6, 0 }, { 29, 9, 1, 16, 6, 0 }, + { 30, 9, 1, 16, 6, 0 }, { 31, 9, 0, 16, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9033AF = { - 32, { - { 9, 31, 8, 24, 0, 0 }, { 9, 30, 8, 24, 0, 0 }, { 9, 29, 8, 24, 0, 0 }, { 9, 28, 8, 24, 0, 0 }, { 9, 27, 8, 24, 0, 0 }, - { 9, 26, 8, 24, 0, 0 }, { 9, 25, 8, 24, 0, 0 }, { 9, 24, 8, 24, 0, 0 }, { 9, 23, 7, 24, 5, 0 }, { 9, 22, 7, 24, 5, 0 }, - { 9, 21, 7, 24, 5, 0 }, { 9, 20, 7, 24, 5, 0 }, { 9, 19, 7, 24, 5, 0 }, { 9, 18, 7, 24, 5, 0 }, { 9, 17, 6, 24, 5, 0 }, - { 9, 16, 6, 24, 5, 0 }, { 9, 15, 6, 24, 5, 0 }, { 9, 14, 6, 24, 5, 0 }, { 9, 13, 5, 24, 5, 0 }, { 9, 12, 5, 24, 5, 0 }, - { 9, 11, 5, 24, 5, 0 }, { 9, 10, 4, 24, 5, 0 }, { 9, 9, 4, 24, 5, 0 }, { 9, 8, 4, 24, 5, 0 }, { 9, 7, 3, 24, 6, 0 }, - { 9, 6, 3, 24, 6, 0 }, { 9, 5, 2, 24, 6, 0 }, { 9, 4, 2, 24, 6, 0 }, { 9, 3, 1, 24, 6, 0 }, { 9, 2, 1, 24, 6, 0 }, - { 9, 1, 0, 24, 6, 0 }, { 9, 0, 0, 24, 6, 0 }, + 32, { + { 9, 31, 8, 24, 0, 0 }, { 9, 30, 8, 24, 0, 0 }, { 9, 29, 8, 24, 0, 0 }, { 9, 28, 8, 24, 0, 0 }, { 9, 27, 8, 24, 0, 0 }, + { 9, 26, 8, 24, 0, 0 }, { 9, 25, 8, 24, 0, 0 }, { 9, 24, 8, 24, 0, 0 }, { 9, 23, 7, 24, 5, 0 }, { 9, 22, 7, 24, 5, 0 }, + { 9, 21, 7, 24, 5, 0 }, { 9, 20, 7, 24, 5, 0 }, { 9, 19, 7, 24, 5, 0 }, { 9, 18, 7, 24, 5, 0 }, { 9, 17, 6, 24, 5, 0 }, + { 9, 16, 6, 24, 5, 0 }, { 9, 15, 6, 24, 5, 0 }, { 9, 14, 6, 24, 5, 0 }, { 9, 13, 5, 24, 5, 0 }, { 9, 12, 5, 24, 5, 0 }, + { 9, 11, 5, 24, 5, 0 }, { 9, 10, 4, 24, 5, 0 }, { 9, 9, 4, 24, 5, 0 }, { 9, 8, 4, 24, 5, 0 }, { 9, 7, 3, 24, 6, 0 }, + { 9, 6, 3, 24, 6, 0 }, { 9, 5, 2, 24, 6, 0 }, { 9, 4, 2, 24, 6, 0 }, { 9, 3, 1, 24, 6, 0 }, { 9, 2, 1, 24, 6, 0 }, + { 9, 1, 0, 24, 6, 0 }, { 9, 0, 0, 24, 6, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_902BC1 = { - 32, { - { 31, 23, 7, 0, 6, 0 }, { 30, 23, 7, 0, 6, 0 }, { 29, 23, 6, 0, 6, 0 }, { 28, 23, 6, 0, 6, 0 }, { 27, 23, 5, 0, 6, 0 }, - { 26, 23, 5, 0, 6, 0 }, { 25, 23, 4, 0, 6, 0 }, { 24, 23, 4, 0, 6, 0 }, { 23, 23, 4, 0, 5, 0 }, { 22, 23, 3, 0, 5, 0 }, - { 21, 23, 3, 0, 5, 0 }, { 20, 23, 3, 0, 5, 0 }, { 19, 23, 2, 0, 5, 0 }, { 18, 23, 2, 0, 5, 0 }, { 17, 23, 2, 0, 5, 0 }, - { 16, 23, 2, 0, 5, 0 }, { 15, 23, 1, 0, 5, 0 }, { 14, 23, 1, 0, 5, 0 }, { 13, 23, 1, 0, 5, 0 }, { 12, 23, 1, 0, 5, 0 }, - { 11, 23, 1, 0, 5, 0 }, { 10, 23, 1, 0, 5, 0 }, { 9, 23, 0, 0, 0, 0 }, { 8, 23, 0, 0, 0, 0 }, { 7, 23, 0, 0, 0, 0 }, - { 6, 23, 0, 0, 0, 0 }, { 5, 23, 0, 0, 0, 0 }, { 4, 23, 0, 0, 0, 0 }, { 3, 23, 0, 0, 0, 0 }, { 2, 23, 0, 0, 0, 0 }, - { 1, 23, 0, 0, 0, 0 }, { 0, 23, 0, 0, 0, 0 }, + 32, { + { 31, 23, 7, 0, 6, 0 }, { 30, 23, 7, 0, 6, 0 }, { 29, 23, 6, 0, 6, 0 }, { 28, 23, 6, 0, 6, 0 }, { 27, 23, 5, 0, 6, 0 }, + { 26, 23, 5, 0, 6, 0 }, { 25, 23, 4, 0, 6, 0 }, { 24, 23, 4, 0, 6, 0 }, { 23, 23, 4, 0, 5, 0 }, { 22, 23, 3, 0, 5, 0 }, + { 21, 23, 3, 0, 5, 0 }, { 20, 23, 3, 0, 5, 0 }, { 19, 23, 2, 0, 5, 0 }, { 18, 23, 2, 0, 5, 0 }, { 17, 23, 2, 0, 5, 0 }, + { 16, 23, 2, 0, 5, 0 }, { 15, 23, 1, 0, 5, 0 }, { 14, 23, 1, 0, 5, 0 }, { 13, 23, 1, 0, 5, 0 }, { 12, 23, 1, 0, 5, 0 }, + { 11, 23, 1, 0, 5, 0 }, { 10, 23, 1, 0, 5, 0 }, { 9, 23, 0, 0, 0, 0 }, { 8, 23, 0, 0, 0, 0 }, { 7, 23, 0, 0, 0, 0 }, + { 6, 23, 0, 0, 0, 0 }, { 5, 23, 0, 0, 0, 0 }, { 4, 23, 0, 0, 0, 0 }, { 3, 23, 0, 0, 0, 0 }, { 2, 23, 0, 0, 0, 0 }, + { 1, 23, 0, 0, 0, 0 }, { 0, 23, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_902CE3 = { - 32, { - { 23, 0, 8, 8, 6, 0 }, { 23, 1, 7, 8, 6, 0 }, { 23, 2, 7, 8, 6, 0 }, { 23, 3, 6, 8, 6, 0 }, { 23, 4, 6, 8, 6, 0 }, - { 23, 5, 5, 8, 6, 0 }, { 23, 6, 5, 8, 6, 0 }, { 23, 7, 4, 8, 6, 0 }, { 23, 8, 4, 8, 5, 0 }, { 23, 9, 3, 8, 5, 0 }, - { 23, 10, 3, 8, 5, 0 }, { 23, 11, 3, 8, 5, 0 }, { 23, 12, 2, 8, 5, 0 }, { 23, 13, 2, 8, 5, 0 }, { 23, 14, 2, 8, 5, 0 }, - { 23, 15, 2, 8, 5, 0 }, { 23, 16, 1, 8, 5, 0 }, { 23, 17, 1, 8, 5, 0 }, { 23, 18, 1, 8, 5, 0 }, { 23, 19, 1, 8, 5, 0 }, - { 23, 20, 1, 8, 5, 0 }, { 23, 21, 1, 8, 5, 0 }, { 23, 22, 0, 8, 0, 0 }, { 23, 23, 0, 8, 0, 0 }, { 23, 24, 0, 8, 0, 0 }, - { 23, 25, 0, 8, 0, 0 }, { 23, 26, 0, 8, 0, 0 }, { 23, 27, 0, 8, 0, 0 }, { 23, 28, 0, 8, 0, 0 }, { 23, 29, 0, 8, 0, 0 }, - { 23, 30, 0, 8, 0, 0 }, { 23, 31, 0, 8, 0, 0 }, + 32, { + { 23, 0, 8, 8, 6, 0 }, { 23, 1, 7, 8, 6, 0 }, { 23, 2, 7, 8, 6, 0 }, { 23, 3, 6, 8, 6, 0 }, { 23, 4, 6, 8, 6, 0 }, + { 23, 5, 5, 8, 6, 0 }, { 23, 6, 5, 8, 6, 0 }, { 23, 7, 4, 8, 6, 0 }, { 23, 8, 4, 8, 5, 0 }, { 23, 9, 3, 8, 5, 0 }, + { 23, 10, 3, 8, 5, 0 }, { 23, 11, 3, 8, 5, 0 }, { 23, 12, 2, 8, 5, 0 }, { 23, 13, 2, 8, 5, 0 }, { 23, 14, 2, 8, 5, 0 }, + { 23, 15, 2, 8, 5, 0 }, { 23, 16, 1, 8, 5, 0 }, { 23, 17, 1, 8, 5, 0 }, { 23, 18, 1, 8, 5, 0 }, { 23, 19, 1, 8, 5, 0 }, + { 23, 20, 1, 8, 5, 0 }, { 23, 21, 1, 8, 5, 0 }, { 23, 22, 0, 8, 0, 0 }, { 23, 23, 0, 8, 0, 0 }, { 23, 24, 0, 8, 0, 0 }, + { 23, 25, 0, 8, 0, 0 }, { 23, 26, 0, 8, 0, 0 }, { 23, 27, 0, 8, 0, 0 }, { 23, 28, 0, 8, 0, 0 }, { 23, 29, 0, 8, 0, 0 }, + { 23, 30, 0, 8, 0, 0 }, { 23, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_902E05 = { - 32, { - { 0, 9, 8, 16, 6, 0 }, { 1, 9, 7, 16, 6, 0 }, { 2, 9, 7, 16, 6, 0 }, { 3, 9, 6, 16, 6, 0 }, { 4, 9, 6, 16, 6, 0 }, - { 5, 9, 5, 16, 6, 0 }, { 6, 9, 5, 16, 6, 0 }, { 7, 9, 4, 16, 6, 0 }, { 8, 9, 4, 16, 5, 0 }, { 9, 9, 3, 16, 5, 0 }, - { 10, 9, 3, 16, 5, 0 }, { 11, 9, 3, 16, 5, 0 }, { 12, 9, 2, 16, 5, 0 }, { 13, 9, 2, 16, 5, 0 }, { 14, 9, 2, 16, 5, 0 }, - { 15, 9, 2, 16, 5, 0 }, { 16, 9, 1, 16, 5, 0 }, { 17, 9, 1, 16, 5, 0 }, { 18, 9, 1, 16, 5, 0 }, { 19, 9, 1, 16, 5, 0 }, - { 20, 9, 1, 16, 5, 0 }, { 21, 9, 1, 16, 5, 0 }, { 22, 9, 0, 16, 0, 0 }, { 23, 9, 0, 16, 0, 0 }, { 24, 9, 0, 16, 0, 0 }, - { 25, 9, 0, 16, 0, 0 }, { 26, 9, 0, 16, 0, 0 }, { 27, 9, 0, 16, 0, 0 }, { 28, 9, 0, 16, 0, 0 }, { 29, 9, 0, 16, 0, 0 }, - { 30, 9, 0, 16, 0, 0 }, { 31, 9, 0, 16, 0, 0 }, + 32, { + { 0, 9, 8, 16, 6, 0 }, { 1, 9, 7, 16, 6, 0 }, { 2, 9, 7, 16, 6, 0 }, { 3, 9, 6, 16, 6, 0 }, { 4, 9, 6, 16, 6, 0 }, + { 5, 9, 5, 16, 6, 0 }, { 6, 9, 5, 16, 6, 0 }, { 7, 9, 4, 16, 6, 0 }, { 8, 9, 4, 16, 5, 0 }, { 9, 9, 3, 16, 5, 0 }, + { 10, 9, 3, 16, 5, 0 }, { 11, 9, 3, 16, 5, 0 }, { 12, 9, 2, 16, 5, 0 }, { 13, 9, 2, 16, 5, 0 }, { 14, 9, 2, 16, 5, 0 }, + { 15, 9, 2, 16, 5, 0 }, { 16, 9, 1, 16, 5, 0 }, { 17, 9, 1, 16, 5, 0 }, { 18, 9, 1, 16, 5, 0 }, { 19, 9, 1, 16, 5, 0 }, + { 20, 9, 1, 16, 5, 0 }, { 21, 9, 1, 16, 5, 0 }, { 22, 9, 0, 16, 0, 0 }, { 23, 9, 0, 16, 0, 0 }, { 24, 9, 0, 16, 0, 0 }, + { 25, 9, 0, 16, 0, 0 }, { 26, 9, 0, 16, 0, 0 }, { 27, 9, 0, 16, 0, 0 }, { 28, 9, 0, 16, 0, 0 }, { 29, 9, 0, 16, 0, 0 }, + { 30, 9, 0, 16, 0, 0 }, { 31, 9, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_902F27 = { - 32, { - { 9, 31, 7, 24, 6, 0 }, { 9, 30, 7, 24, 6, 0 }, { 9, 29, 6, 24, 6, 0 }, { 9, 28, 6, 24, 6, 0 }, { 9, 27, 5, 24, 6, 0 }, - { 9, 26, 5, 24, 6, 0 }, { 9, 25, 4, 24, 6, 0 }, { 9, 24, 4, 24, 6, 0 }, { 9, 23, 4, 24, 5, 0 }, { 9, 22, 3, 24, 5, 0 }, - { 9, 21, 3, 24, 5, 0 }, { 9, 20, 3, 24, 5, 0 }, { 9, 19, 2, 24, 5, 0 }, { 9, 18, 2, 24, 5, 0 }, { 9, 17, 2, 24, 5, 0 }, - { 9, 16, 2, 24, 5, 0 }, { 9, 15, 1, 24, 5, 0 }, { 9, 14, 1, 24, 5, 0 }, { 9, 13, 1, 24, 5, 0 }, { 9, 12, 1, 24, 5, 0 }, - { 9, 11, 1, 24, 5, 0 }, { 9, 10, 1, 24, 5, 0 }, { 9, 9, 0, 24, 0, 0 }, { 9, 8, 0, 24, 0, 0 }, { 9, 7, 0, 24, 0, 0 }, - { 9, 6, 0, 24, 0, 0 }, { 9, 5, 0, 24, 0, 0 }, { 9, 4, 0, 24, 0, 0 }, { 9, 3, 0, 24, 0, 0 }, { 9, 2, 0, 24, 0, 0 }, - { 9, 1, 0, 24, 0, 0 }, { 9, 0, 0, 24, 0, 0 }, + 32, { + { 9, 31, 7, 24, 6, 0 }, { 9, 30, 7, 24, 6, 0 }, { 9, 29, 6, 24, 6, 0 }, { 9, 28, 6, 24, 6, 0 }, { 9, 27, 5, 24, 6, 0 }, + { 9, 26, 5, 24, 6, 0 }, { 9, 25, 4, 24, 6, 0 }, { 9, 24, 4, 24, 6, 0 }, { 9, 23, 4, 24, 5, 0 }, { 9, 22, 3, 24, 5, 0 }, + { 9, 21, 3, 24, 5, 0 }, { 9, 20, 3, 24, 5, 0 }, { 9, 19, 2, 24, 5, 0 }, { 9, 18, 2, 24, 5, 0 }, { 9, 17, 2, 24, 5, 0 }, + { 9, 16, 2, 24, 5, 0 }, { 9, 15, 1, 24, 5, 0 }, { 9, 14, 1, 24, 5, 0 }, { 9, 13, 1, 24, 5, 0 }, { 9, 12, 1, 24, 5, 0 }, + { 9, 11, 1, 24, 5, 0 }, { 9, 10, 1, 24, 5, 0 }, { 9, 9, 0, 24, 0, 0 }, { 9, 8, 0, 24, 0, 0 }, { 9, 7, 0, 24, 0, 0 }, + { 9, 6, 0, 24, 0, 0 }, { 9, 5, 0, 24, 0, 0 }, { 9, 4, 0, 24, 0, 0 }, { 9, 3, 0, 24, 0, 0 }, { 9, 2, 0, 24, 0, 0 }, + { 9, 1, 0, 24, 0, 0 }, { 9, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_903DE1 = { - 33, { - { 31, 23, 0, 0, 0, 0 }, { 30, 23, 0, 0, 0, 0 }, { 29, 23, 0, 0, 0, 0 }, { 28, 23, 0, 31, 0, 0 }, { 27, 23, 0, 31, 0, 0 }, - { 26, 22, 0, 31, 0, 0 }, { 25, 22, 0, 31, 0, 0 }, { 24, 22, 0, 30, 0, 0 }, { 23, 21, 0, 30, 0, 0 }, { 22, 21, 0, 30, 0, 0 }, - { 21, 21, 0, 30, 0, 0 }, { 20, 20, 0, 29, 0, 0 }, { 19, 20, 0, 29, 0, 0 }, { 18, 19, 0, 29, 0, 0 }, { 17, 18, 0, 29, 0, 0 }, - { 16, 17, 0, 28, 0, 0 }, { 15, 16, 0, 28, 0, 0 }, { 14, 15, 0, 27, 0, 0 }, { 13, 14, 0, 27, 0, 0 }, { 12, 13, 0, 27, 0, 0 }, - { 12, 12, 0, 27, 0, 0 }, { 11, 11, 0, 26, 0, 0 }, { 11, 10, 0, 26, 0, 0 }, { 11, 9, 0, 26, 0, 0 }, { 10, 8, 0, 26, 0, 0 }, - { 10, 7, 0, 25, 0, 0 }, { 10, 6, 0, 25, 0, 0 }, { 9, 5, 0, 25, 0, 0 }, { 9, 4, 0, 25, 0, 0 }, { 9, 3, 0, 24, 0, 0 }, - { 9, 2, 0, 24, 0, 0 }, { 9, 1, 0, 24, 0, 0 }, { 9, 0, 0, 24, 0, 0 }, + 33, { + { 31, 23, 0, 0, 0, 0 }, { 30, 23, 0, 0, 0, 0 }, { 29, 23, 0, 0, 0, 0 }, { 28, 23, 0, 31, 0, 0 }, { 27, 23, 0, 31, 0, 0 }, + { 26, 22, 0, 31, 0, 0 }, { 25, 22, 0, 31, 0, 0 }, { 24, 22, 0, 30, 0, 0 }, { 23, 21, 0, 30, 0, 0 }, { 22, 21, 0, 30, 0, 0 }, + { 21, 21, 0, 30, 0, 0 }, { 20, 20, 0, 29, 0, 0 }, { 19, 20, 0, 29, 0, 0 }, { 18, 19, 0, 29, 0, 0 }, { 17, 18, 0, 29, 0, 0 }, + { 16, 17, 0, 28, 0, 0 }, { 15, 16, 0, 28, 0, 0 }, { 14, 15, 0, 27, 0, 0 }, { 13, 14, 0, 27, 0, 0 }, { 12, 13, 0, 27, 0, 0 }, + { 12, 12, 0, 27, 0, 0 }, { 11, 11, 0, 26, 0, 0 }, { 11, 10, 0, 26, 0, 0 }, { 11, 9, 0, 26, 0, 0 }, { 10, 8, 0, 26, 0, 0 }, + { 10, 7, 0, 25, 0, 0 }, { 10, 6, 0, 25, 0, 0 }, { 9, 5, 0, 25, 0, 0 }, { 9, 4, 0, 25, 0, 0 }, { 9, 3, 0, 24, 0, 0 }, + { 9, 2, 0, 24, 0, 0 }, { 9, 1, 0, 24, 0, 0 }, { 9, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_903F0C = { - 34, { - { 23, 0, 0, 8, 0, 0 }, { 23, 1, 0, 8, 0, 0 }, { 23, 2, 0, 8, 0, 0 }, { 23, 3, 0, 8, 0, 0 }, { 23, 4, 0, 7, 0, 0 }, - { 23, 5, 0, 7, 0, 0 }, { 22, 6, 0, 7, 0, 0 }, { 22, 7, 0, 7, 0, 0 }, { 22, 8, 0, 6, 0, 0 }, { 21, 9, 0, 6, 0, 0 }, - { 21, 10, 0, 6, 0, 0 }, { 21, 11, 0, 6, 0, 0 }, { 20, 12, 0, 5, 0, 0 }, { 20, 13, 0, 5, 0, 0 }, { 19, 14, 0, 5, 0, 0 }, - { 18, 15, 0, 5, 0, 0 }, { 17, 16, 0, 4, 0, 0 }, { 16, 17, 0, 4, 0, 0 }, { 15, 18, 0, 3, 0, 0 }, { 14, 19, 0, 3, 0, 0 }, - { 13, 20, 0, 3, 0, 0 }, { 12, 20, 0, 3, 0, 0 }, { 11, 21, 0, 2, 0, 0 }, { 10, 21, 0, 2, 0, 0 }, { 9, 21, 0, 2, 0, 0 }, - { 8, 22, 0, 2, 0, 0 }, { 7, 22, 0, 1, 0, 0 }, { 6, 22, 0, 1, 0, 0 }, { 5, 23, 0, 1, 0, 0 }, { 4, 23, 0, 1, 0, 0 }, - { 3, 23, 0, 0, 0, 0 }, { 2, 23, 0, 0, 0, 0 }, { 1, 23, 0, 0, 0, 0 }, { 0, 23, 0, 0, 0, 0 }, + 34, { + { 23, 0, 0, 8, 0, 0 }, { 23, 1, 0, 8, 0, 0 }, { 23, 2, 0, 8, 0, 0 }, { 23, 3, 0, 8, 0, 0 }, { 23, 4, 0, 7, 0, 0 }, + { 23, 5, 0, 7, 0, 0 }, { 22, 6, 0, 7, 0, 0 }, { 22, 7, 0, 7, 0, 0 }, { 22, 8, 0, 6, 0, 0 }, { 21, 9, 0, 6, 0, 0 }, + { 21, 10, 0, 6, 0, 0 }, { 21, 11, 0, 6, 0, 0 }, { 20, 12, 0, 5, 0, 0 }, { 20, 13, 0, 5, 0, 0 }, { 19, 14, 0, 5, 0, 0 }, + { 18, 15, 0, 5, 0, 0 }, { 17, 16, 0, 4, 0, 0 }, { 16, 17, 0, 4, 0, 0 }, { 15, 18, 0, 3, 0, 0 }, { 14, 19, 0, 3, 0, 0 }, + { 13, 20, 0, 3, 0, 0 }, { 12, 20, 0, 3, 0, 0 }, { 11, 21, 0, 2, 0, 0 }, { 10, 21, 0, 2, 0, 0 }, { 9, 21, 0, 2, 0, 0 }, + { 8, 22, 0, 2, 0, 0 }, { 7, 22, 0, 1, 0, 0 }, { 6, 22, 0, 1, 0, 0 }, { 5, 23, 0, 1, 0, 0 }, { 4, 23, 0, 1, 0, 0 }, + { 3, 23, 0, 0, 0, 0 }, { 2, 23, 0, 0, 0, 0 }, { 1, 23, 0, 0, 0, 0 }, { 0, 23, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_904040 = { - 32, { - { 0, 9, 0, 16, 0, 0 }, { 1, 9, 0, 16, 0, 0 }, { 2, 9, 0, 16, 0, 0 }, { 3, 9, 0, 16, 0, 0 }, { 4, 9, 0, 15, 0, 0 }, - { 5, 10, 0, 15, 0, 0 }, { 6, 10, 0, 15, 0, 0 }, { 7, 10, 0, 15, 0, 0 }, { 8, 11, 0, 14, 0, 0 }, { 9, 11, 0, 14, 0, 0 }, - { 10, 11, 0, 14, 0, 0 }, { 11, 12, 0, 14, 0, 0 }, { 12, 12, 0, 13, 0, 0 }, { 13, 13, 0, 13, 0, 0 }, { 14, 14, 0, 13, 0, 0 }, - { 15, 15, 0, 13, 0, 0 }, { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 11, 0, 0 }, { 19, 19, 0, 11, 0, 0 }, - { 20, 20, 0, 11, 0, 0 }, { 20, 21, 0, 11, 0, 0 }, { 21, 22, 0, 10, 0, 0 }, { 21, 23, 0, 10, 0, 0 }, { 21, 24, 0, 10, 0, 0 }, - { 22, 25, 0, 10, 0, 0 }, { 22, 26, 0, 9, 0, 0 }, { 22, 27, 0, 9, 0, 0 }, { 23, 28, 0, 9, 0, 0 }, { 23, 29, 0, 9, 0, 0 }, - { 23, 30, 0, 8, 0, 0 }, { 23, 31, 0, 8, 0, 0 }, + 32, { + { 0, 9, 0, 16, 0, 0 }, { 1, 9, 0, 16, 0, 0 }, { 2, 9, 0, 16, 0, 0 }, { 3, 9, 0, 16, 0, 0 }, { 4, 9, 0, 15, 0, 0 }, + { 5, 10, 0, 15, 0, 0 }, { 6, 10, 0, 15, 0, 0 }, { 7, 10, 0, 15, 0, 0 }, { 8, 11, 0, 14, 0, 0 }, { 9, 11, 0, 14, 0, 0 }, + { 10, 11, 0, 14, 0, 0 }, { 11, 12, 0, 14, 0, 0 }, { 12, 12, 0, 13, 0, 0 }, { 13, 13, 0, 13, 0, 0 }, { 14, 14, 0, 13, 0, 0 }, + { 15, 15, 0, 13, 0, 0 }, { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 11, 0, 0 }, { 19, 19, 0, 11, 0, 0 }, + { 20, 20, 0, 11, 0, 0 }, { 20, 21, 0, 11, 0, 0 }, { 21, 22, 0, 10, 0, 0 }, { 21, 23, 0, 10, 0, 0 }, { 21, 24, 0, 10, 0, 0 }, + { 22, 25, 0, 10, 0, 0 }, { 22, 26, 0, 9, 0, 0 }, { 22, 27, 0, 9, 0, 0 }, { 23, 28, 0, 9, 0, 0 }, { 23, 29, 0, 9, 0, 0 }, + { 23, 30, 0, 8, 0, 0 }, { 23, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_904162 = { - 32, { - { 9, 31, 0, 24, 0, 0 }, { 9, 30, 0, 24, 0, 0 }, { 9, 29, 0, 24, 0, 0 }, { 9, 28, 0, 23, 0, 0 }, { 9, 27, 0, 23, 0, 0 }, - { 10, 26, 0, 23, 0, 0 }, { 10, 25, 0, 23, 0, 0 }, { 10, 24, 0, 22, 0, 0 }, { 11, 23, 0, 22, 0, 0 }, { 11, 22, 0, 22, 0, 0 }, - { 11, 21, 0, 22, 0, 0 }, { 12, 20, 0, 21, 0, 0 }, { 12, 19, 0, 21, 0, 0 }, { 13, 18, 0, 21, 0, 0 }, { 14, 17, 0, 21, 0, 0 }, - { 15, 16, 0, 20, 0, 0 }, { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 19, 0, 0 }, { 18, 13, 0, 19, 0, 0 }, { 19, 12, 0, 19, 0, 0 }, - { 20, 12, 0, 19, 0, 0 }, { 21, 11, 0, 18, 0, 0 }, { 22, 11, 0, 18, 0, 0 }, { 23, 11, 0, 18, 0, 0 }, { 24, 10, 0, 18, 0, 0 }, - { 25, 10, 0, 17, 0, 0 }, { 26, 10, 0, 17, 0, 0 }, { 27, 9, 0, 17, 0, 0 }, { 28, 9, 0, 17, 0, 0 }, { 29, 9, 0, 16, 0, 0 }, - { 30, 9, 0, 16, 0, 0 }, { 31, 9, 0, 16, 0, 0 }, + 32, { + { 9, 31, 0, 24, 0, 0 }, { 9, 30, 0, 24, 0, 0 }, { 9, 29, 0, 24, 0, 0 }, { 9, 28, 0, 23, 0, 0 }, { 9, 27, 0, 23, 0, 0 }, + { 10, 26, 0, 23, 0, 0 }, { 10, 25, 0, 23, 0, 0 }, { 10, 24, 0, 22, 0, 0 }, { 11, 23, 0, 22, 0, 0 }, { 11, 22, 0, 22, 0, 0 }, + { 11, 21, 0, 22, 0, 0 }, { 12, 20, 0, 21, 0, 0 }, { 12, 19, 0, 21, 0, 0 }, { 13, 18, 0, 21, 0, 0 }, { 14, 17, 0, 21, 0, 0 }, + { 15, 16, 0, 20, 0, 0 }, { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 19, 0, 0 }, { 18, 13, 0, 19, 0, 0 }, { 19, 12, 0, 19, 0, 0 }, + { 20, 12, 0, 19, 0, 0 }, { 21, 11, 0, 18, 0, 0 }, { 22, 11, 0, 18, 0, 0 }, { 23, 11, 0, 18, 0, 0 }, { 24, 10, 0, 18, 0, 0 }, + { 25, 10, 0, 17, 0, 0 }, { 26, 10, 0, 17, 0, 0 }, { 27, 9, 0, 17, 0, 0 }, { 28, 9, 0, 17, 0, 0 }, { 29, 9, 0, 16, 0, 0 }, + { 30, 9, 0, 16, 0, 0 }, { 31, 9, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_904284 = { - 12, { - { 31, 23, 0, 0, 0, 0 }, { 30, 23, 0, 1, 0, 0 }, { 29, 23, 0, 1, 0, 0 }, { 28, 24, 0, 2, 0, 0 }, { 27, 24, 0, 2, 0, 0 }, - { 26, 25, 0, 4, 0, 0 }, { 25, 26, 0, 4, 0, 0 }, { 24, 27, 0, 6, 0, 0 }, { 24, 28, 0, 6, 0, 0 }, { 23, 29, 0, 7, 0, 0 }, - { 23, 30, 0, 7, 0, 0 }, { 23, 31, 0, 8, 0, 0 }, + 12, { + { 31, 23, 0, 0, 0, 0 }, { 30, 23, 0, 1, 0, 0 }, { 29, 23, 0, 1, 0, 0 }, { 28, 24, 0, 2, 0, 0 }, { 27, 24, 0, 2, 0, 0 }, + { 26, 25, 0, 4, 0, 0 }, { 25, 26, 0, 4, 0, 0 }, { 24, 27, 0, 6, 0, 0 }, { 24, 28, 0, 6, 0, 0 }, { 23, 29, 0, 7, 0, 0 }, + { 23, 30, 0, 7, 0, 0 }, { 23, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9042F2 = { - 13, { - { 23, 0, 0, 8, 0, 0 }, { 23, 1, 0, 8, 0, 0 }, { 23, 2, 0, 9, 0, 0 }, { 23, 3, 0, 9, 0, 0 }, { 24, 4, 0, 10, 0, 0 }, - { 24, 5, 0, 10, 0, 0 }, { 25, 6, 0, 12, 0, 0 }, { 26, 7, 0, 12, 0, 0 }, { 27, 8, 0, 14, 0, 0 }, { 28, 8, 0, 14, 0, 0 }, - { 29, 9, 0, 15, 0, 0 }, { 30, 9, 0, 15, 0, 0 }, { 31, 9, 0, 16, 0, 0 }, + 13, { + { 23, 0, 0, 8, 0, 0 }, { 23, 1, 0, 8, 0, 0 }, { 23, 2, 0, 9, 0, 0 }, { 23, 3, 0, 9, 0, 0 }, { 24, 4, 0, 10, 0, 0 }, + { 24, 5, 0, 10, 0, 0 }, { 25, 6, 0, 12, 0, 0 }, { 26, 7, 0, 12, 0, 0 }, { 27, 8, 0, 14, 0, 0 }, { 28, 8, 0, 14, 0, 0 }, + { 29, 9, 0, 15, 0, 0 }, { 30, 9, 0, 15, 0, 0 }, { 31, 9, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_904369 = { - 14, { - { 0, 9, 0, 16, 0, 0 }, { 1, 9, 0, 16, 0, 0 }, { 2, 9, 0, 17, 0, 0 }, { 3, 9, 0, 17, 0, 0 }, { 4, 8, 0, 18, 0, 0 }, - { 5, 8, 0, 18, 0, 0 }, { 6, 7, 0, 20, 0, 0 }, { 7, 6, 0, 20, 0, 0 }, { 8, 5, 0, 22, 0, 0 }, { 8, 4, 0, 22, 0, 0 }, - { 9, 3, 0, 23, 0, 0 }, { 9, 2, 0, 23, 0, 0 }, { 9, 1, 0, 24, 0, 0 }, { 9, 0, 0, 24, 0, 0 }, + 14, { + { 0, 9, 0, 16, 0, 0 }, { 1, 9, 0, 16, 0, 0 }, { 2, 9, 0, 17, 0, 0 }, { 3, 9, 0, 17, 0, 0 }, { 4, 8, 0, 18, 0, 0 }, + { 5, 8, 0, 18, 0, 0 }, { 6, 7, 0, 20, 0, 0 }, { 7, 6, 0, 20, 0, 0 }, { 8, 5, 0, 22, 0, 0 }, { 8, 4, 0, 22, 0, 0 }, + { 9, 3, 0, 23, 0, 0 }, { 9, 2, 0, 23, 0, 0 }, { 9, 1, 0, 24, 0, 0 }, { 9, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9043E9 = { - 13, { - { 9, 31, 0, 24, 0, 0 }, { 9, 30, 0, 25, 0, 0 }, { 9, 29, 0, 25, 0, 0 }, { 8, 28, 0, 26, 0, 0 }, { 8, 27, 0, 26, 0, 0 }, - { 7, 26, 0, 28, 0, 0 }, { 6, 25, 0, 28, 0, 0 }, { 5, 24, 0, 30, 0, 0 }, { 4, 24, 0, 30, 0, 0 }, { 3, 23, 0, 31, 0, 0 }, - { 2, 23, 0, 31, 0, 0 }, { 1, 23, 0, 0, 0, 0 }, { 0, 23, 0, 0, 0, 0 }, + 13, { + { 9, 31, 0, 24, 0, 0 }, { 9, 30, 0, 25, 0, 0 }, { 9, 29, 0, 25, 0, 0 }, { 8, 28, 0, 26, 0, 0 }, { 8, 27, 0, 26, 0, 0 }, + { 7, 26, 0, 28, 0, 0 }, { 6, 25, 0, 28, 0, 0 }, { 5, 24, 0, 30, 0, 0 }, { 4, 24, 0, 30, 0, 0 }, { 3, 23, 0, 31, 0, 0 }, + { 2, 23, 0, 31, 0, 0 }, { 1, 23, 0, 0, 0, 0 }, { 0, 23, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FF762 = { - 32, { - { 31, 9, 0, 0, 0, 0 }, { 30, 9, 0, 0, 0, 0 }, { 29, 9, 0, 0, 0, 0 }, { 28, 9, 0, 0, 0, 0 }, { 27, 10, 0, 2, 0, 0 }, - { 26, 10, 0, 2, 0, 0 }, { 25, 10, 0, 2, 0, 0 }, { 24, 11, 0, 2, 0, 0 }, { 23, 11, 0, 2, 0, 0 }, { 22, 12, 0, 2, 0, 0 }, - { 21, 12, 0, 2, 0, 0 }, { 20, 13, 0, 2, 0, 0 }, { 19, 14, 0, 2, 0, 0 }, { 18, 14, 0, 2, 0, 0 }, { 17, 15, 0, 2, 0, 0 }, - { 16, 16, 0, 2, 0, 0 }, { 15, 16, 0, 2, 0, 0 }, { 14, 17, 0, 2, 0, 0 }, { 13, 18, 0, 2, 0, 0 }, { 12, 18, 0, 2, 0, 0 }, - { 11, 19, 0, 2, 0, 0 }, { 10, 20, 0, 2, 0, 0 }, { 9, 20, 0, 2, 0, 0 }, { 8, 21, 0, 2, 0, 0 }, { 7, 21, 0, 2, 0, 0 }, - { 6, 22, 0, 2, 0, 0 }, { 5, 22, 0, 2, 0, 0 }, { 4, 22, 0, 2, 0, 0 }, { 3, 23, 0, 0, 0, 0 }, { 2, 23, 0, 0, 0, 0 }, - { 1, 23, 0, 0, 0, 0 }, { 0, 23, 0, 0, 0, 0 }, + 32, { + { 31, 9, 0, 0, 0, 0 }, { 30, 9, 0, 0, 0, 0 }, { 29, 9, 0, 0, 0, 0 }, { 28, 9, 0, 0, 0, 0 }, { 27, 10, 0, 2, 0, 0 }, + { 26, 10, 0, 2, 0, 0 }, { 25, 10, 0, 2, 0, 0 }, { 24, 11, 0, 2, 0, 0 }, { 23, 11, 0, 2, 0, 0 }, { 22, 12, 0, 2, 0, 0 }, + { 21, 12, 0, 2, 0, 0 }, { 20, 13, 0, 2, 0, 0 }, { 19, 14, 0, 2, 0, 0 }, { 18, 14, 0, 2, 0, 0 }, { 17, 15, 0, 2, 0, 0 }, + { 16, 16, 0, 2, 0, 0 }, { 15, 16, 0, 2, 0, 0 }, { 14, 17, 0, 2, 0, 0 }, { 13, 18, 0, 2, 0, 0 }, { 12, 18, 0, 2, 0, 0 }, + { 11, 19, 0, 2, 0, 0 }, { 10, 20, 0, 2, 0, 0 }, { 9, 20, 0, 2, 0, 0 }, { 8, 21, 0, 2, 0, 0 }, { 7, 21, 0, 2, 0, 0 }, + { 6, 22, 0, 2, 0, 0 }, { 5, 22, 0, 2, 0, 0 }, { 4, 22, 0, 2, 0, 0 }, { 3, 23, 0, 0, 0, 0 }, { 2, 23, 0, 0, 0, 0 }, + { 1, 23, 0, 0, 0, 0 }, { 0, 23, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FF884 = { - 32, { - { 9, 0, 0, 8, 0, 0 }, { 9, 1, 0, 8, 0, 0 }, { 9, 2, 0, 8, 0, 0 }, { 9, 3, 0, 8, 0, 0 }, { 10, 4, 0, 10, 0, 0 }, - { 10, 5, 0, 10, 0, 0 }, { 10, 6, 0, 10, 0, 0 }, { 11, 7, 0, 10, 0, 0 }, { 11, 8, 0, 10, 0, 0 }, { 12, 9, 0, 10, 0, 0 }, - { 12, 10, 0, 10, 0, 0 }, { 13, 11, 0, 10, 0, 0 }, { 14, 12, 0, 10, 0, 0 }, { 14, 13, 0, 10, 0, 0 }, { 15, 14, 0, 10, 0, 0 }, - { 16, 15, 0, 10, 0, 0 }, { 16, 16, 0, 10, 0, 0 }, { 17, 17, 0, 10, 0, 0 }, { 18, 18, 0, 10, 0, 0 }, { 18, 19, 0, 10, 0, 0 }, - { 19, 20, 0, 10, 0, 0 }, { 20, 21, 0, 10, 0, 0 }, { 20, 22, 0, 10, 0, 0 }, { 21, 23, 0, 10, 0, 0 }, { 21, 24, 0, 10, 0, 0 }, - { 22, 25, 0, 10, 0, 0 }, { 22, 26, 0, 10, 0, 0 }, { 22, 27, 0, 10, 0, 0 }, { 23, 28, 0, 8, 0, 0 }, { 23, 29, 0, 8, 0, 0 }, - { 23, 30, 0, 8, 0, 0 }, { 23, 31, 0, 8, 0, 0 }, + 32, { + { 9, 0, 0, 8, 0, 0 }, { 9, 1, 0, 8, 0, 0 }, { 9, 2, 0, 8, 0, 0 }, { 9, 3, 0, 8, 0, 0 }, { 10, 4, 0, 10, 0, 0 }, + { 10, 5, 0, 10, 0, 0 }, { 10, 6, 0, 10, 0, 0 }, { 11, 7, 0, 10, 0, 0 }, { 11, 8, 0, 10, 0, 0 }, { 12, 9, 0, 10, 0, 0 }, + { 12, 10, 0, 10, 0, 0 }, { 13, 11, 0, 10, 0, 0 }, { 14, 12, 0, 10, 0, 0 }, { 14, 13, 0, 10, 0, 0 }, { 15, 14, 0, 10, 0, 0 }, + { 16, 15, 0, 10, 0, 0 }, { 16, 16, 0, 10, 0, 0 }, { 17, 17, 0, 10, 0, 0 }, { 18, 18, 0, 10, 0, 0 }, { 18, 19, 0, 10, 0, 0 }, + { 19, 20, 0, 10, 0, 0 }, { 20, 21, 0, 10, 0, 0 }, { 20, 22, 0, 10, 0, 0 }, { 21, 23, 0, 10, 0, 0 }, { 21, 24, 0, 10, 0, 0 }, + { 22, 25, 0, 10, 0, 0 }, { 22, 26, 0, 10, 0, 0 }, { 22, 27, 0, 10, 0, 0 }, { 23, 28, 0, 8, 0, 0 }, { 23, 29, 0, 8, 0, 0 }, + { 23, 30, 0, 8, 0, 0 }, { 23, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FF9A6 = { - 32, { - { 0, 23, 0, 16, 0, 0 }, { 1, 23, 0, 16, 0, 0 }, { 2, 23, 0, 16, 0, 0 }, { 3, 23, 0, 16, 0, 0 }, { 4, 22, 0, 18, 0, 0 }, - { 5, 22, 0, 18, 0, 0 }, { 6, 22, 0, 18, 0, 0 }, { 7, 21, 0, 18, 0, 0 }, { 8, 21, 0, 18, 0, 0 }, { 9, 20, 0, 18, 0, 0 }, - { 10, 20, 0, 18, 0, 0 }, { 11, 19, 0, 18, 0, 0 }, { 12, 18, 0, 18, 0, 0 }, { 13, 18, 0, 18, 0, 0 }, { 14, 17, 0, 18, 0, 0 }, - { 15, 16, 0, 18, 0, 0 }, { 16, 16, 0, 18, 0, 0 }, { 17, 15, 0, 18, 0, 0 }, { 18, 14, 0, 18, 0, 0 }, { 19, 14, 0, 18, 0, 0 }, - { 20, 13, 0, 18, 0, 0 }, { 21, 12, 0, 18, 0, 0 }, { 22, 12, 0, 18, 0, 0 }, { 23, 11, 0, 18, 0, 0 }, { 24, 11, 0, 18, 0, 0 }, - { 25, 10, 0, 18, 0, 0 }, { 26, 10, 0, 18, 0, 0 }, { 27, 10, 0, 18, 0, 0 }, { 28, 9, 0, 16, 0, 0 }, { 29, 9, 0, 16, 0, 0 }, - { 30, 9, 0, 16, 0, 0 }, { 31, 9, 0, 16, 0, 0 }, + 32, { + { 0, 23, 0, 16, 0, 0 }, { 1, 23, 0, 16, 0, 0 }, { 2, 23, 0, 16, 0, 0 }, { 3, 23, 0, 16, 0, 0 }, { 4, 22, 0, 18, 0, 0 }, + { 5, 22, 0, 18, 0, 0 }, { 6, 22, 0, 18, 0, 0 }, { 7, 21, 0, 18, 0, 0 }, { 8, 21, 0, 18, 0, 0 }, { 9, 20, 0, 18, 0, 0 }, + { 10, 20, 0, 18, 0, 0 }, { 11, 19, 0, 18, 0, 0 }, { 12, 18, 0, 18, 0, 0 }, { 13, 18, 0, 18, 0, 0 }, { 14, 17, 0, 18, 0, 0 }, + { 15, 16, 0, 18, 0, 0 }, { 16, 16, 0, 18, 0, 0 }, { 17, 15, 0, 18, 0, 0 }, { 18, 14, 0, 18, 0, 0 }, { 19, 14, 0, 18, 0, 0 }, + { 20, 13, 0, 18, 0, 0 }, { 21, 12, 0, 18, 0, 0 }, { 22, 12, 0, 18, 0, 0 }, { 23, 11, 0, 18, 0, 0 }, { 24, 11, 0, 18, 0, 0 }, + { 25, 10, 0, 18, 0, 0 }, { 26, 10, 0, 18, 0, 0 }, { 27, 10, 0, 18, 0, 0 }, { 28, 9, 0, 16, 0, 0 }, { 29, 9, 0, 16, 0, 0 }, + { 30, 9, 0, 16, 0, 0 }, { 31, 9, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_8FFAC8 = { - 32, { - { 23, 31, 0, 24, 0, 0 }, { 23, 30, 0, 24, 0, 0 }, { 23, 29, 0, 24, 0, 0 }, { 23, 28, 0, 24, 0, 0 }, { 22, 27, 0, 26, 0, 0 }, - { 22, 26, 0, 26, 0, 0 }, { 22, 25, 0, 26, 0, 0 }, { 21, 24, 0, 26, 0, 0 }, { 21, 23, 0, 26, 0, 0 }, { 20, 22, 0, 26, 0, 0 }, - { 20, 21, 0, 26, 0, 0 }, { 19, 20, 0, 26, 0, 0 }, { 18, 19, 0, 26, 0, 0 }, { 18, 18, 0, 26, 0, 0 }, { 17, 17, 0, 26, 0, 0 }, - { 16, 16, 0, 26, 0, 0 }, { 16, 15, 0, 26, 0, 0 }, { 15, 14, 0, 26, 0, 0 }, { 14, 13, 0, 26, 0, 0 }, { 14, 12, 0, 26, 0, 0 }, - { 13, 11, 0, 26, 0, 0 }, { 12, 10, 0, 26, 0, 0 }, { 12, 9, 0, 26, 0, 0 }, { 11, 8, 0, 26, 0, 0 }, { 11, 7, 0, 26, 0, 0 }, - { 10, 6, 0, 26, 0, 0 }, { 10, 5, 0, 26, 0, 0 }, { 10, 4, 0, 26, 0, 0 }, { 9, 3, 0, 24, 0, 0 }, { 9, 2, 0, 24, 0, 0 }, - { 9, 1, 0, 24, 0, 0 }, { 9, 0, 0, 24, 0, 0 }, + 32, { + { 23, 31, 0, 24, 0, 0 }, { 23, 30, 0, 24, 0, 0 }, { 23, 29, 0, 24, 0, 0 }, { 23, 28, 0, 24, 0, 0 }, { 22, 27, 0, 26, 0, 0 }, + { 22, 26, 0, 26, 0, 0 }, { 22, 25, 0, 26, 0, 0 }, { 21, 24, 0, 26, 0, 0 }, { 21, 23, 0, 26, 0, 0 }, { 20, 22, 0, 26, 0, 0 }, + { 20, 21, 0, 26, 0, 0 }, { 19, 20, 0, 26, 0, 0 }, { 18, 19, 0, 26, 0, 0 }, { 18, 18, 0, 26, 0, 0 }, { 17, 17, 0, 26, 0, 0 }, + { 16, 16, 0, 26, 0, 0 }, { 16, 15, 0, 26, 0, 0 }, { 15, 14, 0, 26, 0, 0 }, { 14, 13, 0, 26, 0, 0 }, { 14, 12, 0, 26, 0, 0 }, + { 13, 11, 0, 26, 0, 0 }, { 12, 10, 0, 26, 0, 0 }, { 12, 9, 0, 26, 0, 0 }, { 11, 8, 0, 26, 0, 0 }, { 11, 7, 0, 26, 0, 0 }, + { 10, 6, 0, 26, 0, 0 }, { 10, 5, 0, 26, 0, 0 }, { 10, 4, 0, 26, 0, 0 }, { 9, 3, 0, 24, 0, 0 }, { 9, 2, 0, 24, 0, 0 }, + { 9, 1, 0, 24, 0, 0 }, { 9, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_904460 = { - 32, { - { 31, 23, 0, 0, 0, 0 }, { 30, 23, 0, 0, 0, 0 }, { 29, 23, 0, 0, 0, 0 }, { 28, 23, 0, 0, 0, 0 }, { 27, 22, 0, 30, 0, 0 }, - { 26, 22, 0, 30, 0, 0 }, { 25, 22, 0, 30, 0, 0 }, { 24, 21, 0, 30, 0, 0 }, { 23, 21, 0, 30, 0, 0 }, { 22, 20, 0, 30, 0, 0 }, - { 21, 20, 0, 30, 0, 0 }, { 20, 19, 0, 30, 0, 0 }, { 19, 18, 0, 30, 0, 0 }, { 18, 18, 0, 30, 0, 0 }, { 17, 17, 0, 30, 0, 0 }, - { 16, 16, 0, 30, 0, 0 }, { 15, 16, 0, 30, 0, 0 }, { 14, 15, 0, 30, 0, 0 }, { 13, 14, 0, 30, 0, 0 }, { 12, 14, 0, 30, 0, 0 }, - { 11, 13, 0, 30, 0, 0 }, { 10, 12, 0, 30, 0, 0 }, { 9, 12, 0, 30, 0, 0 }, { 8, 11, 0, 30, 0, 0 }, { 7, 11, 0, 30, 0, 0 }, - { 6, 10, 0, 30, 0, 0 }, { 5, 10, 0, 30, 0, 0 }, { 4, 10, 0, 30, 0, 0 }, { 3, 9, 0, 0, 0, 0 }, { 2, 9, 0, 0, 0, 0 }, - { 1, 9, 0, 0, 0, 0 }, { 0, 9, 0, 0, 0, 0 }, + 32, { + { 31, 23, 0, 0, 0, 0 }, { 30, 23, 0, 0, 0, 0 }, { 29, 23, 0, 0, 0, 0 }, { 28, 23, 0, 0, 0, 0 }, { 27, 22, 0, 30, 0, 0 }, + { 26, 22, 0, 30, 0, 0 }, { 25, 22, 0, 30, 0, 0 }, { 24, 21, 0, 30, 0, 0 }, { 23, 21, 0, 30, 0, 0 }, { 22, 20, 0, 30, 0, 0 }, + { 21, 20, 0, 30, 0, 0 }, { 20, 19, 0, 30, 0, 0 }, { 19, 18, 0, 30, 0, 0 }, { 18, 18, 0, 30, 0, 0 }, { 17, 17, 0, 30, 0, 0 }, + { 16, 16, 0, 30, 0, 0 }, { 15, 16, 0, 30, 0, 0 }, { 14, 15, 0, 30, 0, 0 }, { 13, 14, 0, 30, 0, 0 }, { 12, 14, 0, 30, 0, 0 }, + { 11, 13, 0, 30, 0, 0 }, { 10, 12, 0, 30, 0, 0 }, { 9, 12, 0, 30, 0, 0 }, { 8, 11, 0, 30, 0, 0 }, { 7, 11, 0, 30, 0, 0 }, + { 6, 10, 0, 30, 0, 0 }, { 5, 10, 0, 30, 0, 0 }, { 4, 10, 0, 30, 0, 0 }, { 3, 9, 0, 0, 0, 0 }, { 2, 9, 0, 0, 0, 0 }, + { 1, 9, 0, 0, 0, 0 }, { 0, 9, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_904582 = { - 32, { - { 23, 0, 0, 8, 0, 0 }, { 23, 1, 0, 8, 0, 0 }, { 23, 2, 0, 8, 0, 0 }, { 23, 3, 0, 8, 0, 0 }, { 22, 4, 0, 6, 0, 0 }, - { 22, 5, 0, 6, 0, 0 }, { 22, 6, 0, 6, 0, 0 }, { 21, 7, 0, 6, 0, 0 }, { 21, 8, 0, 6, 0, 0 }, { 20, 9, 0, 6, 0, 0 }, - { 20, 10, 0, 6, 0, 0 }, { 19, 11, 0, 6, 0, 0 }, { 18, 12, 0, 6, 0, 0 }, { 18, 13, 0, 6, 0, 0 }, { 17, 14, 0, 6, 0, 0 }, - { 16, 15, 0, 6, 0, 0 }, { 16, 16, 0, 6, 0, 0 }, { 15, 17, 0, 6, 0, 0 }, { 14, 18, 0, 6, 0, 0 }, { 14, 19, 0, 6, 0, 0 }, - { 13, 20, 0, 6, 0, 0 }, { 12, 21, 0, 6, 0, 0 }, { 12, 22, 0, 6, 0, 0 }, { 11, 23, 0, 6, 0, 0 }, { 11, 24, 0, 6, 0, 0 }, - { 10, 25, 0, 6, 0, 0 }, { 10, 26, 0, 6, 0, 0 }, { 10, 27, 0, 6, 0, 0 }, { 9, 28, 0, 8, 0, 0 }, { 9, 29, 0, 8, 0, 0 }, - { 9, 30, 0, 8, 0, 0 }, { 9, 31, 0, 8, 0, 0 }, + 32, { + { 23, 0, 0, 8, 0, 0 }, { 23, 1, 0, 8, 0, 0 }, { 23, 2, 0, 8, 0, 0 }, { 23, 3, 0, 8, 0, 0 }, { 22, 4, 0, 6, 0, 0 }, + { 22, 5, 0, 6, 0, 0 }, { 22, 6, 0, 6, 0, 0 }, { 21, 7, 0, 6, 0, 0 }, { 21, 8, 0, 6, 0, 0 }, { 20, 9, 0, 6, 0, 0 }, + { 20, 10, 0, 6, 0, 0 }, { 19, 11, 0, 6, 0, 0 }, { 18, 12, 0, 6, 0, 0 }, { 18, 13, 0, 6, 0, 0 }, { 17, 14, 0, 6, 0, 0 }, + { 16, 15, 0, 6, 0, 0 }, { 16, 16, 0, 6, 0, 0 }, { 15, 17, 0, 6, 0, 0 }, { 14, 18, 0, 6, 0, 0 }, { 14, 19, 0, 6, 0, 0 }, + { 13, 20, 0, 6, 0, 0 }, { 12, 21, 0, 6, 0, 0 }, { 12, 22, 0, 6, 0, 0 }, { 11, 23, 0, 6, 0, 0 }, { 11, 24, 0, 6, 0, 0 }, + { 10, 25, 0, 6, 0, 0 }, { 10, 26, 0, 6, 0, 0 }, { 10, 27, 0, 6, 0, 0 }, { 9, 28, 0, 8, 0, 0 }, { 9, 29, 0, 8, 0, 0 }, + { 9, 30, 0, 8, 0, 0 }, { 9, 31, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9046A4 = { - 32, { - { 0, 9, 0, 16, 0, 0 }, { 1, 9, 0, 16, 0, 0 }, { 2, 9, 0, 16, 0, 0 }, { 3, 9, 0, 16, 0, 0 }, { 4, 10, 0, 14, 0, 0 }, - { 5, 10, 0, 14, 0, 0 }, { 6, 10, 0, 14, 0, 0 }, { 7, 11, 0, 14, 0, 0 }, { 8, 11, 0, 14, 0, 0 }, { 9, 12, 0, 14, 0, 0 }, - { 10, 12, 0, 14, 0, 0 }, { 11, 13, 0, 14, 0, 0 }, { 12, 14, 0, 14, 0, 0 }, { 13, 14, 0, 14, 0, 0 }, { 14, 15, 0, 14, 0, 0 }, - { 15, 16, 0, 14, 0, 0 }, { 16, 16, 0, 14, 0, 0 }, { 17, 17, 0, 14, 0, 0 }, { 18, 18, 0, 14, 0, 0 }, { 19, 18, 0, 14, 0, 0 }, - { 20, 19, 0, 14, 0, 0 }, { 21, 20, 0, 14, 0, 0 }, { 22, 20, 0, 14, 0, 0 }, { 23, 21, 0, 14, 0, 0 }, { 24, 21, 0, 14, 0, 0 }, - { 25, 22, 0, 14, 0, 0 }, { 26, 22, 0, 14, 0, 0 }, { 27, 22, 0, 14, 0, 0 }, { 28, 23, 0, 16, 0, 0 }, { 29, 23, 0, 16, 0, 0 }, - { 30, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, + 32, { + { 0, 9, 0, 16, 0, 0 }, { 1, 9, 0, 16, 0, 0 }, { 2, 9, 0, 16, 0, 0 }, { 3, 9, 0, 16, 0, 0 }, { 4, 10, 0, 14, 0, 0 }, + { 5, 10, 0, 14, 0, 0 }, { 6, 10, 0, 14, 0, 0 }, { 7, 11, 0, 14, 0, 0 }, { 8, 11, 0, 14, 0, 0 }, { 9, 12, 0, 14, 0, 0 }, + { 10, 12, 0, 14, 0, 0 }, { 11, 13, 0, 14, 0, 0 }, { 12, 14, 0, 14, 0, 0 }, { 13, 14, 0, 14, 0, 0 }, { 14, 15, 0, 14, 0, 0 }, + { 15, 16, 0, 14, 0, 0 }, { 16, 16, 0, 14, 0, 0 }, { 17, 17, 0, 14, 0, 0 }, { 18, 18, 0, 14, 0, 0 }, { 19, 18, 0, 14, 0, 0 }, + { 20, 19, 0, 14, 0, 0 }, { 21, 20, 0, 14, 0, 0 }, { 22, 20, 0, 14, 0, 0 }, { 23, 21, 0, 14, 0, 0 }, { 24, 21, 0, 14, 0, 0 }, + { 25, 22, 0, 14, 0, 0 }, { 26, 22, 0, 14, 0, 0 }, { 27, 22, 0, 14, 0, 0 }, { 28, 23, 0, 16, 0, 0 }, { 29, 23, 0, 16, 0, 0 }, + { 30, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9047C6 = { - 32, { - { 9, 31, 0, 24, 0, 0 }, { 9, 30, 0, 24, 0, 0 }, { 9, 29, 0, 24, 0, 0 }, { 9, 28, 0, 24, 0, 0 }, { 10, 27, 0, 22, 0, 0 }, - { 10, 26, 0, 22, 0, 0 }, { 10, 25, 0, 22, 0, 0 }, { 11, 24, 0, 22, 0, 0 }, { 11, 23, 0, 22, 0, 0 }, { 12, 22, 0, 22, 0, 0 }, - { 12, 21, 0, 22, 0, 0 }, { 13, 20, 0, 22, 0, 0 }, { 14, 19, 0, 22, 0, 0 }, { 14, 18, 0, 22, 0, 0 }, { 15, 17, 0, 22, 0, 0 }, - { 16, 16, 0, 22, 0, 0 }, { 16, 15, 0, 22, 0, 0 }, { 17, 14, 0, 22, 0, 0 }, { 18, 13, 0, 22, 0, 0 }, { 18, 12, 0, 22, 0, 0 }, - { 19, 11, 0, 22, 0, 0 }, { 20, 10, 0, 22, 0, 0 }, { 20, 9, 0, 22, 0, 0 }, { 21, 8, 0, 22, 0, 0 }, { 21, 7, 0, 22, 0, 0 }, - { 22, 6, 0, 22, 0, 0 }, { 22, 5, 0, 22, 0, 0 }, { 22, 4, 0, 22, 0, 0 }, { 23, 3, 0, 24, 0, 0 }, { 23, 2, 0, 24, 0, 0 }, - { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, + 32, { + { 9, 31, 0, 24, 0, 0 }, { 9, 30, 0, 24, 0, 0 }, { 9, 29, 0, 24, 0, 0 }, { 9, 28, 0, 24, 0, 0 }, { 10, 27, 0, 22, 0, 0 }, + { 10, 26, 0, 22, 0, 0 }, { 10, 25, 0, 22, 0, 0 }, { 11, 24, 0, 22, 0, 0 }, { 11, 23, 0, 22, 0, 0 }, { 12, 22, 0, 22, 0, 0 }, + { 12, 21, 0, 22, 0, 0 }, { 13, 20, 0, 22, 0, 0 }, { 14, 19, 0, 22, 0, 0 }, { 14, 18, 0, 22, 0, 0 }, { 15, 17, 0, 22, 0, 0 }, + { 16, 16, 0, 22, 0, 0 }, { 16, 15, 0, 22, 0, 0 }, { 17, 14, 0, 22, 0, 0 }, { 18, 13, 0, 22, 0, 0 }, { 18, 12, 0, 22, 0, 0 }, + { 19, 11, 0, 22, 0, 0 }, { 20, 10, 0, 22, 0, 0 }, { 20, 9, 0, 22, 0, 0 }, { 21, 8, 0, 22, 0, 0 }, { 21, 7, 0, 22, 0, 0 }, + { 22, 6, 0, 22, 0, 0 }, { 22, 5, 0, 22, 0, 0 }, { 22, 4, 0, 22, 0, 0 }, { 23, 3, 0, 24, 0, 0 }, { 23, 2, 0, 24, 0, 0 }, + { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938212 = { - 16, { - { 30, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 20, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, - { 10, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 0, 16, 0, 0, 0, 0 }, + 16, { + { 30, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 20, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, + { 10, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9382A4 = { - 16, { - { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, - { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, + 16, { + { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, + { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938336 = { - 16, { - { 0, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, - { 20, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, + 16, { + { 0, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, + { 20, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9383C8 = { - 16, { - { 16, 30, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 20, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, - { 16, 10, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 0, 0, 24, 0, 0 }, + 16, { + { 16, 30, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 20, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, + { 16, 10, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938D7A = { - 16, { - { 30, 16, 1, 0, 0, 0 }, { 28, 16, 2, 0, 0, 0 }, { 26, 16, 3, 0, 0, 0 }, { 24, 16, 4, 0, 0, 0 }, { 22, 16, 5, 0, 0, 0 }, - { 20, 16, 6, 0, 0, 0 }, { 18, 16, 7, 0, 0, 0 }, { 16, 16, 8, 0, 0, 0 }, { 14, 16, 9, 0, 0, 0 }, { 12, 16, 10, 0, 0, 0 }, - { 10, 16, 11, 0, 0, 0 }, { 8, 16, 12, 0, 0, 0 }, { 6, 16, 13, 0, 0, 0 }, { 4, 16, 14, 0, 0, 0 }, { 2, 16, 15, 0, 0, 0 }, - { 0, 16, 16, 0, 0, 0 }, + 16, { + { 30, 16, 1, 0, 0, 0 }, { 28, 16, 2, 0, 0, 0 }, { 26, 16, 3, 0, 0, 0 }, { 24, 16, 4, 0, 0, 0 }, { 22, 16, 5, 0, 0, 0 }, + { 20, 16, 6, 0, 0, 0 }, { 18, 16, 7, 0, 0, 0 }, { 16, 16, 8, 0, 0, 0 }, { 14, 16, 9, 0, 0, 0 }, { 12, 16, 10, 0, 0, 0 }, + { 10, 16, 11, 0, 0, 0 }, { 8, 16, 12, 0, 0, 0 }, { 6, 16, 13, 0, 0, 0 }, { 4, 16, 14, 0, 0, 0 }, { 2, 16, 15, 0, 0, 0 }, + { 0, 16, 16, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938E0C = { - 16, { - { 16, 0, 1, 8, 0, 0 }, { 16, 2, 2, 8, 0, 0 }, { 16, 4, 3, 8, 0, 0 }, { 16, 6, 4, 8, 0, 0 }, { 16, 8, 5, 8, 0, 0 }, - { 16, 10, 6, 8, 0, 0 }, { 16, 12, 7, 8, 0, 0 }, { 16, 14, 8, 8, 0, 0 }, { 16, 16, 9, 8, 0, 0 }, { 16, 18, 10, 8, 0, 0 }, - { 16, 20, 11, 8, 0, 0 }, { 16, 22, 12, 8, 0, 0 }, { 16, 24, 13, 8, 0, 0 }, { 16, 26, 14, 8, 0, 0 }, { 16, 28, 15, 8, 0, 0 }, - { 16, 30, 16, 8, 0, 0 }, + 16, { + { 16, 0, 1, 8, 0, 0 }, { 16, 2, 2, 8, 0, 0 }, { 16, 4, 3, 8, 0, 0 }, { 16, 6, 4, 8, 0, 0 }, { 16, 8, 5, 8, 0, 0 }, + { 16, 10, 6, 8, 0, 0 }, { 16, 12, 7, 8, 0, 0 }, { 16, 14, 8, 8, 0, 0 }, { 16, 16, 9, 8, 0, 0 }, { 16, 18, 10, 8, 0, 0 }, + { 16, 20, 11, 8, 0, 0 }, { 16, 22, 12, 8, 0, 0 }, { 16, 24, 13, 8, 0, 0 }, { 16, 26, 14, 8, 0, 0 }, { 16, 28, 15, 8, 0, 0 }, + { 16, 30, 16, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938E9E = { - 16, { - { 0, 16, 1, 16, 0, 0 }, { 2, 16, 2, 16, 0, 0 }, { 4, 16, 3, 16, 0, 0 }, { 6, 16, 4, 16, 0, 0 }, { 8, 16, 5, 16, 0, 0 }, - { 10, 16, 6, 16, 0, 0 }, { 12, 16, 7, 16, 0, 0 }, { 14, 16, 8, 16, 0, 0 }, { 16, 16, 9, 16, 0, 0 }, { 18, 16, 10, 16, 0, 0 }, - { 20, 16, 11, 16, 0, 0 }, { 22, 16, 12, 16, 0, 0 }, { 24, 16, 13, 16, 0, 0 }, { 26, 16, 14, 16, 0, 0 }, { 28, 16, 15, 16, 0, 0 }, - { 30, 16, 16, 16, 0, 0 }, + 16, { + { 0, 16, 1, 16, 0, 0 }, { 2, 16, 2, 16, 0, 0 }, { 4, 16, 3, 16, 0, 0 }, { 6, 16, 4, 16, 0, 0 }, { 8, 16, 5, 16, 0, 0 }, + { 10, 16, 6, 16, 0, 0 }, { 12, 16, 7, 16, 0, 0 }, { 14, 16, 8, 16, 0, 0 }, { 16, 16, 9, 16, 0, 0 }, { 18, 16, 10, 16, 0, 0 }, + { 20, 16, 11, 16, 0, 0 }, { 22, 16, 12, 16, 0, 0 }, { 24, 16, 13, 16, 0, 0 }, { 26, 16, 14, 16, 0, 0 }, { 28, 16, 15, 16, 0, 0 }, + { 30, 16, 16, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938F30 = { - 16, { - { 16, 30, 1, 24, 0, 0 }, { 16, 28, 2, 24, 0, 0 }, { 16, 26, 3, 24, 0, 0 }, { 16, 24, 4, 24, 0, 0 }, { 16, 22, 5, 24, 0, 0 }, - { 16, 20, 6, 24, 0, 0 }, { 16, 18, 7, 24, 0, 0 }, { 16, 16, 8, 24, 0, 0 }, { 16, 14, 9, 24, 0, 0 }, { 16, 12, 10, 24, 0, 0 }, - { 16, 10, 11, 24, 0, 0 }, { 16, 8, 12, 24, 0, 0 }, { 16, 6, 13, 24, 0, 0 }, { 16, 4, 14, 24, 0, 0 }, { 16, 2, 15, 24, 0, 0 }, - { 16, 0, 16, 24, 0, 0 }, + 16, { + { 16, 30, 1, 24, 0, 0 }, { 16, 28, 2, 24, 0, 0 }, { 16, 26, 3, 24, 0, 0 }, { 16, 24, 4, 24, 0, 0 }, { 16, 22, 5, 24, 0, 0 }, + { 16, 20, 6, 24, 0, 0 }, { 16, 18, 7, 24, 0, 0 }, { 16, 16, 8, 24, 0, 0 }, { 16, 14, 9, 24, 0, 0 }, { 16, 12, 10, 24, 0, 0 }, + { 16, 10, 11, 24, 0, 0 }, { 16, 8, 12, 24, 0, 0 }, { 16, 6, 13, 24, 0, 0 }, { 16, 4, 14, 24, 0, 0 }, { 16, 2, 15, 24, 0, 0 }, + { 16, 0, 16, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93845A = { - 16, { - { 30, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 20, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 14, 16, 1, 0, 0, 0 }, { 12, 16, 2, 0, 0, 0 }, - { 10, 16, 3, 0, 0, 0 }, { 8, 16, 4, 0, 0, 0 }, { 6, 16, 5, 0, 0, 0 }, { 4, 16, 6, 0, 0, 0 }, { 2, 16, 7, 0, 0, 0 }, - { 0, 16, 8, 0, 0, 0 }, + 16, { + { 30, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 20, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 14, 16, 1, 0, 0, 0 }, { 12, 16, 2, 0, 0, 0 }, + { 10, 16, 3, 0, 0, 0 }, { 8, 16, 4, 0, 0, 0 }, { 6, 16, 5, 0, 0, 0 }, { 4, 16, 6, 0, 0, 0 }, { 2, 16, 7, 0, 0, 0 }, + { 0, 16, 8, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9384EC = { - 16, { - { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 1, 8, 0, 0 }, { 16, 18, 2, 8, 0, 0 }, - { 16, 20, 3, 8, 0, 0 }, { 16, 22, 4, 8, 0, 0 }, { 16, 24, 5, 8, 0, 0 }, { 16, 26, 6, 8, 0, 0 }, { 16, 28, 7, 8, 0, 0 }, - { 16, 30, 8, 8, 0, 0 }, + 16, { + { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 1, 8, 0, 0 }, { 16, 18, 2, 8, 0, 0 }, + { 16, 20, 3, 8, 0, 0 }, { 16, 22, 4, 8, 0, 0 }, { 16, 24, 5, 8, 0, 0 }, { 16, 26, 6, 8, 0, 0 }, { 16, 28, 7, 8, 0, 0 }, + { 16, 30, 8, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93857E = { - 16, { - { 0, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 16, 16, 1, 16, 0, 0 }, { 18, 16, 2, 16, 0, 0 }, - { 20, 16, 3, 16, 0, 0 }, { 22, 16, 4, 16, 0, 0 }, { 24, 16, 5, 16, 0, 0 }, { 26, 16, 6, 16, 0, 0 }, { 28, 16, 7, 16, 0, 0 }, - { 30, 16, 8, 16, 0, 0 }, + 16, { + { 0, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 16, 16, 1, 16, 0, 0 }, { 18, 16, 2, 16, 0, 0 }, + { 20, 16, 3, 16, 0, 0 }, { 22, 16, 4, 16, 0, 0 }, { 24, 16, 5, 16, 0, 0 }, { 26, 16, 6, 16, 0, 0 }, { 28, 16, 7, 16, 0, 0 }, + { 30, 16, 8, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938610 = { - 16, { - { 16, 30, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 20, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 16, 14, 1, 24, 0, 0 }, { 16, 12, 2, 24, 0, 0 }, - { 16, 10, 3, 24, 0, 0 }, { 16, 8, 4, 24, 0, 0 }, { 16, 6, 5, 24, 0, 0 }, { 16, 4, 6, 24, 0, 0 }, { 16, 2, 7, 24, 0, 0 }, - { 16, 0, 8, 24, 0, 0 }, + 16, { + { 16, 30, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 20, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 16, 14, 1, 24, 0, 0 }, { 16, 12, 2, 24, 0, 0 }, + { 16, 10, 3, 24, 0, 0 }, { 16, 8, 4, 24, 0, 0 }, { 16, 6, 5, 24, 0, 0 }, { 16, 4, 6, 24, 0, 0 }, { 16, 2, 7, 24, 0, 0 }, + { 16, 0, 8, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9386A2 = { - 16, { - { 30, 16, 1, 0, 0, 0 }, { 28, 16, 2, 0, 0, 0 }, { 26, 16, 3, 0, 0, 0 }, { 24, 16, 4, 0, 0, 0 }, { 22, 16, 5, 0, 0, 0 }, - { 20, 16, 6, 0, 0, 0 }, { 18, 16, 7, 0, 0, 0 }, { 16, 16, 8, 0, 0, 0 }, { 14, 16, 8, 0, 0, 0 }, { 12, 16, 8, 0, 0, 0 }, - { 10, 16, 8, 0, 0, 0 }, { 8, 16, 8, 0, 0, 0 }, { 6, 16, 8, 0, 0, 0 }, { 4, 16, 8, 0, 0, 0 }, { 2, 16, 8, 0, 0, 0 }, - { 0, 16, 8, 0, 0, 0 }, + 16, { + { 30, 16, 1, 0, 0, 0 }, { 28, 16, 2, 0, 0, 0 }, { 26, 16, 3, 0, 0, 0 }, { 24, 16, 4, 0, 0, 0 }, { 22, 16, 5, 0, 0, 0 }, + { 20, 16, 6, 0, 0, 0 }, { 18, 16, 7, 0, 0, 0 }, { 16, 16, 8, 0, 0, 0 }, { 14, 16, 8, 0, 0, 0 }, { 12, 16, 8, 0, 0, 0 }, + { 10, 16, 8, 0, 0, 0 }, { 8, 16, 8, 0, 0, 0 }, { 6, 16, 8, 0, 0, 0 }, { 4, 16, 8, 0, 0, 0 }, { 2, 16, 8, 0, 0, 0 }, + { 0, 16, 8, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938734 = { - 16, { - { 16, 0, 1, 8, 0, 0 }, { 16, 2, 2, 8, 0, 0 }, { 16, 4, 3, 8, 0, 0 }, { 16, 6, 4, 8, 0, 0 }, { 16, 8, 5, 8, 0, 0 }, - { 16, 10, 6, 8, 0, 0 }, { 16, 12, 7, 8, 0, 0 }, { 16, 14, 8, 8, 0, 0 }, { 16, 16, 8, 8, 0, 0 }, { 16, 18, 8, 8, 0, 0 }, - { 16, 20, 8, 8, 0, 0 }, { 16, 22, 8, 8, 0, 0 }, { 16, 24, 8, 8, 0, 0 }, { 16, 26, 8, 8, 0, 0 }, { 16, 28, 8, 8, 0, 0 }, - { 16, 30, 8, 8, 0, 0 }, + 16, { + { 16, 0, 1, 8, 0, 0 }, { 16, 2, 2, 8, 0, 0 }, { 16, 4, 3, 8, 0, 0 }, { 16, 6, 4, 8, 0, 0 }, { 16, 8, 5, 8, 0, 0 }, + { 16, 10, 6, 8, 0, 0 }, { 16, 12, 7, 8, 0, 0 }, { 16, 14, 8, 8, 0, 0 }, { 16, 16, 8, 8, 0, 0 }, { 16, 18, 8, 8, 0, 0 }, + { 16, 20, 8, 8, 0, 0 }, { 16, 22, 8, 8, 0, 0 }, { 16, 24, 8, 8, 0, 0 }, { 16, 26, 8, 8, 0, 0 }, { 16, 28, 8, 8, 0, 0 }, + { 16, 30, 8, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9387C6 = { - 16, { - { 0, 16, 1, 16, 0, 0 }, { 2, 16, 2, 16, 0, 0 }, { 4, 16, 3, 16, 0, 0 }, { 6, 16, 4, 16, 0, 0 }, { 8, 16, 5, 16, 0, 0 }, - { 10, 16, 6, 16, 0, 0 }, { 12, 16, 7, 16, 0, 0 }, { 14, 16, 8, 16, 0, 0 }, { 16, 16, 8, 16, 0, 0 }, { 18, 16, 8, 16, 0, 0 }, - { 20, 16, 8, 16, 0, 0 }, { 22, 16, 8, 16, 0, 0 }, { 24, 16, 8, 16, 0, 0 }, { 26, 16, 8, 16, 0, 0 }, { 28, 16, 8, 16, 0, 0 }, - { 30, 16, 8, 16, 0, 0 }, + 16, { + { 0, 16, 1, 16, 0, 0 }, { 2, 16, 2, 16, 0, 0 }, { 4, 16, 3, 16, 0, 0 }, { 6, 16, 4, 16, 0, 0 }, { 8, 16, 5, 16, 0, 0 }, + { 10, 16, 6, 16, 0, 0 }, { 12, 16, 7, 16, 0, 0 }, { 14, 16, 8, 16, 0, 0 }, { 16, 16, 8, 16, 0, 0 }, { 18, 16, 8, 16, 0, 0 }, + { 20, 16, 8, 16, 0, 0 }, { 22, 16, 8, 16, 0, 0 }, { 24, 16, 8, 16, 0, 0 }, { 26, 16, 8, 16, 0, 0 }, { 28, 16, 8, 16, 0, 0 }, + { 30, 16, 8, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938858 = { - 16, { - { 16, 30, 1, 24, 0, 0 }, { 16, 28, 2, 24, 0, 0 }, { 16, 26, 3, 24, 0, 0 }, { 16, 24, 4, 24, 0, 0 }, { 16, 22, 5, 24, 0, 0 }, - { 16, 20, 6, 24, 0, 0 }, { 16, 18, 7, 24, 0, 0 }, { 16, 16, 8, 24, 0, 0 }, { 16, 14, 8, 24, 0, 0 }, { 16, 12, 8, 24, 0, 0 }, - { 16, 10, 8, 24, 0, 0 }, { 16, 8, 8, 24, 0, 0 }, { 16, 6, 8, 24, 0, 0 }, { 16, 4, 8, 24, 0, 0 }, { 16, 2, 8, 24, 0, 0 }, - { 16, 0, 8, 24, 0, 0 }, + 16, { + { 16, 30, 1, 24, 0, 0 }, { 16, 28, 2, 24, 0, 0 }, { 16, 26, 3, 24, 0, 0 }, { 16, 24, 4, 24, 0, 0 }, { 16, 22, 5, 24, 0, 0 }, + { 16, 20, 6, 24, 0, 0 }, { 16, 18, 7, 24, 0, 0 }, { 16, 16, 8, 24, 0, 0 }, { 16, 14, 8, 24, 0, 0 }, { 16, 12, 8, 24, 0, 0 }, + { 16, 10, 8, 24, 0, 0 }, { 16, 8, 8, 24, 0, 0 }, { 16, 6, 8, 24, 0, 0 }, { 16, 4, 8, 24, 0, 0 }, { 16, 2, 8, 24, 0, 0 }, + { 16, 0, 8, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938FC2 = { - 16, { - { 30, 16, 16, 0, 0, 0 }, { 28, 16, 15, 0, 0, 0 }, { 26, 16, 14, 0, 0, 0 }, { 24, 16, 13, 0, 0, 0 }, { 22, 16, 12, 0, 0, 0 }, - { 20, 16, 11, 0, 0, 0 }, { 18, 16, 10, 0, 0, 0 }, { 16, 16, 9, 0, 0, 0 }, { 14, 16, 8, 0, 0, 0 }, { 12, 16, 7, 0, 0, 0 }, - { 10, 16, 6, 0, 0, 0 }, { 8, 16, 5, 0, 0, 0 }, { 6, 16, 4, 0, 0, 0 }, { 4, 16, 3, 0, 0, 0 }, { 2, 16, 2, 0, 0, 0 }, - { 0, 16, 1, 0, 0, 0 }, + 16, { + { 30, 16, 16, 0, 0, 0 }, { 28, 16, 15, 0, 0, 0 }, { 26, 16, 14, 0, 0, 0 }, { 24, 16, 13, 0, 0, 0 }, { 22, 16, 12, 0, 0, 0 }, + { 20, 16, 11, 0, 0, 0 }, { 18, 16, 10, 0, 0, 0 }, { 16, 16, 9, 0, 0, 0 }, { 14, 16, 8, 0, 0, 0 }, { 12, 16, 7, 0, 0, 0 }, + { 10, 16, 6, 0, 0, 0 }, { 8, 16, 5, 0, 0, 0 }, { 6, 16, 4, 0, 0, 0 }, { 4, 16, 3, 0, 0, 0 }, { 2, 16, 2, 0, 0, 0 }, + { 0, 16, 1, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_939054 = { - 16, { - { 16, 0, 16, 8, 0, 0 }, { 16, 2, 15, 8, 0, 0 }, { 16, 4, 14, 8, 0, 0 }, { 16, 6, 13, 8, 0, 0 }, { 16, 8, 12, 8, 0, 0 }, - { 16, 10, 11, 8, 0, 0 }, { 16, 12, 10, 8, 0, 0 }, { 16, 14, 9, 8, 0, 0 }, { 16, 16, 8, 8, 0, 0 }, { 16, 18, 7, 8, 0, 0 }, - { 16, 20, 6, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, { 16, 24, 4, 8, 0, 0 }, { 16, 26, 3, 8, 0, 0 }, { 16, 28, 2, 8, 0, 0 }, - { 16, 30, 1, 8, 0, 0 }, + 16, { + { 16, 0, 16, 8, 0, 0 }, { 16, 2, 15, 8, 0, 0 }, { 16, 4, 14, 8, 0, 0 }, { 16, 6, 13, 8, 0, 0 }, { 16, 8, 12, 8, 0, 0 }, + { 16, 10, 11, 8, 0, 0 }, { 16, 12, 10, 8, 0, 0 }, { 16, 14, 9, 8, 0, 0 }, { 16, 16, 8, 8, 0, 0 }, { 16, 18, 7, 8, 0, 0 }, + { 16, 20, 6, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, { 16, 24, 4, 8, 0, 0 }, { 16, 26, 3, 8, 0, 0 }, { 16, 28, 2, 8, 0, 0 }, + { 16, 30, 1, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9390E6 = { - 16, { - { 0, 16, 16, 16, 0, 0 }, { 2, 16, 15, 16, 0, 0 }, { 4, 16, 14, 16, 0, 0 }, { 6, 16, 13, 16, 0, 0 }, { 8, 16, 12, 16, 0, 0 }, - { 10, 16, 11, 16, 0, 0 }, { 12, 16, 10, 16, 0, 0 }, { 14, 16, 9, 16, 0, 0 }, { 16, 16, 8, 16, 0, 0 }, { 18, 16, 7, 16, 0, 0 }, - { 20, 16, 6, 16, 0, 0 }, { 22, 16, 5, 16, 0, 0 }, { 24, 16, 4, 16, 0, 0 }, { 26, 16, 3, 16, 0, 0 }, { 28, 16, 2, 16, 0, 0 }, - { 30, 16, 1, 16, 0, 0 }, + 16, { + { 0, 16, 16, 16, 0, 0 }, { 2, 16, 15, 16, 0, 0 }, { 4, 16, 14, 16, 0, 0 }, { 6, 16, 13, 16, 0, 0 }, { 8, 16, 12, 16, 0, 0 }, + { 10, 16, 11, 16, 0, 0 }, { 12, 16, 10, 16, 0, 0 }, { 14, 16, 9, 16, 0, 0 }, { 16, 16, 8, 16, 0, 0 }, { 18, 16, 7, 16, 0, 0 }, + { 20, 16, 6, 16, 0, 0 }, { 22, 16, 5, 16, 0, 0 }, { 24, 16, 4, 16, 0, 0 }, { 26, 16, 3, 16, 0, 0 }, { 28, 16, 2, 16, 0, 0 }, + { 30, 16, 1, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_939178 = { - 16, { - { 16, 30, 16, 24, 0, 0 }, { 16, 28, 15, 24, 0, 0 }, { 16, 26, 14, 24, 0, 0 }, { 16, 24, 13, 24, 0, 0 }, { 16, 22, 12, 24, 0, 0 }, - { 16, 20, 11, 24, 0, 0 }, { 16, 18, 10, 24, 0, 0 }, { 16, 16, 9, 24, 0, 0 }, { 16, 14, 8, 24, 0, 0 }, { 16, 12, 7, 24, 0, 0 }, - { 16, 10, 6, 24, 0, 0 }, { 16, 8, 5, 24, 0, 0 }, { 16, 6, 4, 24, 0, 0 }, { 16, 4, 3, 24, 0, 0 }, { 16, 2, 2, 24, 0, 0 }, - { 16, 0, 1, 24, 0, 0 }, + 16, { + { 16, 30, 16, 24, 0, 0 }, { 16, 28, 15, 24, 0, 0 }, { 16, 26, 14, 24, 0, 0 }, { 16, 24, 13, 24, 0, 0 }, { 16, 22, 12, 24, 0, 0 }, + { 16, 20, 11, 24, 0, 0 }, { 16, 18, 10, 24, 0, 0 }, { 16, 16, 9, 24, 0, 0 }, { 16, 14, 8, 24, 0, 0 }, { 16, 12, 7, 24, 0, 0 }, + { 16, 10, 6, 24, 0, 0 }, { 16, 8, 5, 24, 0, 0 }, { 16, 6, 4, 24, 0, 0 }, { 16, 4, 3, 24, 0, 0 }, { 16, 2, 2, 24, 0, 0 }, + { 16, 0, 1, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938B32 = { - 16, { - { 30, 16, 8, 0, 0, 0 }, { 28, 16, 8, 0, 0, 0 }, { 26, 16, 8, 0, 0, 0 }, { 24, 16, 8, 0, 0, 0 }, { 22, 16, 8, 0, 0, 0 }, - { 20, 16, 8, 0, 0, 0 }, { 18, 16, 8, 0, 0, 0 }, { 16, 16, 8, 0, 0, 0 }, { 14, 16, 8, 0, 0, 0 }, { 12, 16, 7, 0, 0, 0 }, - { 10, 16, 6, 0, 0, 0 }, { 8, 16, 5, 0, 0, 0 }, { 6, 16, 4, 0, 0, 0 }, { 4, 16, 3, 0, 0, 0 }, { 2, 16, 2, 0, 0, 0 }, - { 0, 16, 1, 0, 0, 0 }, + 16, { + { 30, 16, 8, 0, 0, 0 }, { 28, 16, 8, 0, 0, 0 }, { 26, 16, 8, 0, 0, 0 }, { 24, 16, 8, 0, 0, 0 }, { 22, 16, 8, 0, 0, 0 }, + { 20, 16, 8, 0, 0, 0 }, { 18, 16, 8, 0, 0, 0 }, { 16, 16, 8, 0, 0, 0 }, { 14, 16, 8, 0, 0, 0 }, { 12, 16, 7, 0, 0, 0 }, + { 10, 16, 6, 0, 0, 0 }, { 8, 16, 5, 0, 0, 0 }, { 6, 16, 4, 0, 0, 0 }, { 4, 16, 3, 0, 0, 0 }, { 2, 16, 2, 0, 0, 0 }, + { 0, 16, 1, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938BC4 = { - 16, { - { 16, 0, 8, 8, 0, 0 }, { 16, 2, 8, 8, 0, 0 }, { 16, 4, 8, 8, 0, 0 }, { 16, 6, 8, 8, 0, 0 }, { 16, 8, 8, 8, 0, 0 }, - { 16, 10, 8, 8, 0, 0 }, { 16, 12, 8, 8, 0, 0 }, { 16, 14, 8, 8, 0, 0 }, { 16, 16, 8, 8, 0, 0 }, { 16, 18, 7, 8, 0, 0 }, - { 16, 20, 6, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, { 16, 24, 4, 8, 0, 0 }, { 16, 26, 3, 8, 0, 0 }, { 16, 28, 2, 8, 0, 0 }, - { 16, 30, 1, 8, 0, 0 }, + 16, { + { 16, 0, 8, 8, 0, 0 }, { 16, 2, 8, 8, 0, 0 }, { 16, 4, 8, 8, 0, 0 }, { 16, 6, 8, 8, 0, 0 }, { 16, 8, 8, 8, 0, 0 }, + { 16, 10, 8, 8, 0, 0 }, { 16, 12, 8, 8, 0, 0 }, { 16, 14, 8, 8, 0, 0 }, { 16, 16, 8, 8, 0, 0 }, { 16, 18, 7, 8, 0, 0 }, + { 16, 20, 6, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, { 16, 24, 4, 8, 0, 0 }, { 16, 26, 3, 8, 0, 0 }, { 16, 28, 2, 8, 0, 0 }, + { 16, 30, 1, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938C56 = { - 16, { - { 0, 16, 8, 16, 0, 0 }, { 2, 16, 8, 16, 0, 0 }, { 4, 16, 8, 16, 0, 0 }, { 6, 16, 8, 16, 0, 0 }, { 8, 16, 8, 16, 0, 0 }, - { 10, 16, 8, 16, 0, 0 }, { 12, 16, 8, 16, 0, 0 }, { 14, 16, 8, 16, 0, 0 }, { 16, 16, 8, 16, 0, 0 }, { 18, 16, 7, 16, 0, 0 }, - { 20, 16, 6, 16, 0, 0 }, { 22, 16, 5, 16, 0, 0 }, { 24, 16, 4, 16, 0, 0 }, { 26, 16, 3, 16, 0, 0 }, { 28, 16, 2, 16, 0, 0 }, - { 30, 16, 1, 16, 0, 0 }, + 16, { + { 0, 16, 8, 16, 0, 0 }, { 2, 16, 8, 16, 0, 0 }, { 4, 16, 8, 16, 0, 0 }, { 6, 16, 8, 16, 0, 0 }, { 8, 16, 8, 16, 0, 0 }, + { 10, 16, 8, 16, 0, 0 }, { 12, 16, 8, 16, 0, 0 }, { 14, 16, 8, 16, 0, 0 }, { 16, 16, 8, 16, 0, 0 }, { 18, 16, 7, 16, 0, 0 }, + { 20, 16, 6, 16, 0, 0 }, { 22, 16, 5, 16, 0, 0 }, { 24, 16, 4, 16, 0, 0 }, { 26, 16, 3, 16, 0, 0 }, { 28, 16, 2, 16, 0, 0 }, + { 30, 16, 1, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938CE8 = { - 16, { - { 16, 30, 8, 24, 0, 0 }, { 16, 28, 8, 24, 0, 0 }, { 16, 26, 8, 24, 0, 0 }, { 16, 24, 8, 24, 0, 0 }, { 16, 22, 8, 24, 0, 0 }, - { 16, 20, 8, 24, 0, 0 }, { 16, 18, 8, 24, 0, 0 }, { 16, 16, 8, 24, 0, 0 }, { 16, 14, 8, 24, 0, 0 }, { 16, 12, 7, 24, 0, 0 }, - { 16, 10, 6, 24, 0, 0 }, { 16, 8, 5, 24, 0, 0 }, { 16, 6, 4, 24, 0, 0 }, { 16, 4, 3, 24, 0, 0 }, { 16, 2, 2, 24, 0, 0 }, - { 16, 0, 1, 24, 0, 0 }, + 16, { + { 16, 30, 8, 24, 0, 0 }, { 16, 28, 8, 24, 0, 0 }, { 16, 26, 8, 24, 0, 0 }, { 16, 24, 8, 24, 0, 0 }, { 16, 22, 8, 24, 0, 0 }, + { 16, 20, 8, 24, 0, 0 }, { 16, 18, 8, 24, 0, 0 }, { 16, 16, 8, 24, 0, 0 }, { 16, 14, 8, 24, 0, 0 }, { 16, 12, 7, 24, 0, 0 }, + { 16, 10, 6, 24, 0, 0 }, { 16, 8, 5, 24, 0, 0 }, { 16, 6, 4, 24, 0, 0 }, { 16, 4, 3, 24, 0, 0 }, { 16, 2, 2, 24, 0, 0 }, + { 16, 0, 1, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9388EA = { - 16, { - { 30, 16, 8, 0, 0, 0 }, { 28, 16, 7, 0, 0, 0 }, { 26, 16, 6, 0, 0, 0 }, { 24, 16, 5, 0, 0, 0 }, { 22, 16, 4, 0, 0, 0 }, - { 20, 16, 3, 0, 0, 0 }, { 18, 16, 2, 0, 0, 0 }, { 16, 16, 1, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, - { 10, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 0, 16, 0, 0, 0, 0 }, + 16, { + { 30, 16, 8, 0, 0, 0 }, { 28, 16, 7, 0, 0, 0 }, { 26, 16, 6, 0, 0, 0 }, { 24, 16, 5, 0, 0, 0 }, { 22, 16, 4, 0, 0, 0 }, + { 20, 16, 3, 0, 0, 0 }, { 18, 16, 2, 0, 0, 0 }, { 16, 16, 1, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, + { 10, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93897C = { - 16, { - { 16, 0, 8, 8, 0, 0 }, { 16, 2, 7, 8, 0, 0 }, { 16, 4, 6, 8, 0, 0 }, { 16, 6, 5, 8, 0, 0 }, { 16, 8, 4, 8, 0, 0 }, - { 16, 10, 3, 8, 0, 0 }, { 16, 12, 2, 8, 0, 0 }, { 16, 14, 1, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, - { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, + 16, { + { 16, 0, 8, 8, 0, 0 }, { 16, 2, 7, 8, 0, 0 }, { 16, 4, 6, 8, 0, 0 }, { 16, 6, 5, 8, 0, 0 }, { 16, 8, 4, 8, 0, 0 }, + { 16, 10, 3, 8, 0, 0 }, { 16, 12, 2, 8, 0, 0 }, { 16, 14, 1, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, + { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938A0E = { - 16, { - { 0, 16, 8, 16, 0, 0 }, { 2, 16, 7, 16, 0, 0 }, { 4, 16, 6, 16, 0, 0 }, { 6, 16, 5, 16, 0, 0 }, { 8, 16, 4, 16, 0, 0 }, - { 10, 16, 3, 16, 0, 0 }, { 12, 16, 2, 16, 0, 0 }, { 14, 16, 1, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, - { 20, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, + 16, { + { 0, 16, 8, 16, 0, 0 }, { 2, 16, 7, 16, 0, 0 }, { 4, 16, 6, 16, 0, 0 }, { 6, 16, 5, 16, 0, 0 }, { 8, 16, 4, 16, 0, 0 }, + { 10, 16, 3, 16, 0, 0 }, { 12, 16, 2, 16, 0, 0 }, { 14, 16, 1, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, + { 20, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_938AA0 = { - 16, { - { 16, 30, 8, 24, 0, 0 }, { 16, 28, 7, 24, 0, 0 }, { 16, 26, 6, 24, 0, 0 }, { 16, 24, 5, 24, 0, 0 }, { 16, 22, 4, 24, 0, 0 }, - { 16, 20, 3, 24, 0, 0 }, { 16, 18, 2, 24, 0, 0 }, { 16, 16, 1, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, - { 16, 10, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 0, 0, 24, 0, 0 }, + 16, { + { 16, 30, 8, 24, 0, 0 }, { 16, 28, 7, 24, 0, 0 }, { 16, 26, 6, 24, 0, 0 }, { 16, 24, 5, 24, 0, 0 }, { 16, 22, 4, 24, 0, 0 }, + { 16, 20, 3, 24, 0, 0 }, { 16, 18, 2, 24, 0, 0 }, { 16, 16, 1, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, + { 16, 10, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93920A = { - 15, { - { 30, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, - { 18, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, - { 16, 8, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, + 15, { + { 30, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, + { 18, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, + { 16, 8, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_939293 = { - 17, { - { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, - { 12, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, - { 2, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, + 17, { + { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, + { 12, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, + { 2, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93932E = { - 16, { - { 0, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, - { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, + 16, { + { 0, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, + { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9393C0 = { - 15, { - { 16, 30, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 20, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, - { 22, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, + 15, { + { 16, 30, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 20, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, + { 22, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_939449 = { - 15, { - { 30, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 20, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, - { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, + 15, { + { 30, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 20, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, + { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9394D2 = { - 16, { - { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, - { 20, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, + 16, { + { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, + { 20, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_939564 = { - 17, { - { 0, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, - { 16, 12, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, - { 16, 2, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, + 17, { + { 0, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, + { 16, 12, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, + { 16, 2, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9395FF = { - 16, { - { 16, 30, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 20, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, - { 10, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 0, 16, 0, 0, 0, 0 }, + 16, { + { 16, 30, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 20, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, + { 10, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 0, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_939691 = { - 59, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, - { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, - { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, - { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, - { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 59, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, + { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, + { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, + { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, + { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93C082 = { - 59, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, - { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, - { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, - { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 59, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, + { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, + { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, + { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93EA73 = { - 59, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, - { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, - { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, - { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, - { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, - { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 59, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, + { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, + { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, + { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, + { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, + { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_941464 = { - 59, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, - { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, - { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, - { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, - { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, - { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 59, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, + { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, + { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, + { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, + { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, + { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93A46E = { - 60, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, - { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, - { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, - { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, - { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 60, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, + { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, + { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, + { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, + { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93CE5F = { - 60, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, - { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, - { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, - { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 60, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, + { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, + { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, + { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93F850 = { - 60, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, - { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, - { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, - { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, - { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, - { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 60, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, + { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, + { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, + { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, + { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, + { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_942241 = { - 60, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, - { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, - { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, - { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, - { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, - { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 60, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, + { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, + { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, + { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, + { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, + { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93B2AE = { - 60, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 5, 0, 0, 0 }, { 7, 16, 5, 0, 0, 0 }, - { 5, 16, 5, 0, 0, 0 }, { 3, 16, 5, 0, 0, 0 }, { 1, 16, 5, 0, 0, 0 }, { -1, 16, 5, 0, 0, 0 }, { -3, 16, 5, 0, 0, 0 }, - { -5, 16, 5, 0, 0, 0 }, { -7, 16, 5, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, - { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 60, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 5, 0, 0, 0 }, { 7, 16, 5, 0, 0, 0 }, + { 5, 16, 5, 0, 0, 0 }, { 3, 16, 5, 0, 0, 0 }, { 1, 16, 5, 0, 0, 0 }, { -1, 16, 5, 0, 0, 0 }, { -3, 16, 5, 0, 0, 0 }, + { -5, 16, 5, 0, 0, 0 }, { -7, 16, 5, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, + { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, + { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93DC9F = { - 60, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, { 16, 24, 5, 8, 0, 0 }, - { 16, 26, 5, 8, 0, 0 }, { 16, 28, 5, 8, 0, 0 }, { 16, 30, 5, 8, 0, 0 }, { 16, 32, 5, 8, 0, 0 }, { 16, 34, 5, 8, 0, 0 }, - { 16, 36, 5, 8, 0, 0 }, { 16, 38, 5, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, - { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 60, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, { 16, 24, 5, 8, 0, 0 }, + { 16, 26, 5, 8, 0, 0 }, { 16, 28, 5, 8, 0, 0 }, { 16, 30, 5, 8, 0, 0 }, { 16, 32, 5, 8, 0, 0 }, { 16, 34, 5, 8, 0, 0 }, + { 16, 36, 5, 8, 0, 0 }, { 16, 38, 5, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, + { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, + { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_940690 = { - 60, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, - { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 5, 16, 0, 0 }, { 24, 15, 5, 16, 0, 0 }, - { 26, 15, 5, 16, 0, 0 }, { 28, 15, 5, 16, 0, 0 }, { 30, 15, 5, 16, 0, 0 }, { 32, 15, 5, 16, 0, 0 }, { 34, 15, 5, 16, 0, 0 }, - { 36, 15, 5, 16, 0, 0 }, { 38, 15, 5, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, - { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 60, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, + { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 5, 16, 0, 0 }, { 24, 15, 5, 16, 0, 0 }, + { 26, 15, 5, 16, 0, 0 }, { 28, 15, 5, 16, 0, 0 }, { 30, 15, 5, 16, 0, 0 }, { 32, 15, 5, 16, 0, 0 }, { 34, 15, 5, 16, 0, 0 }, + { 36, 15, 5, 16, 0, 0 }, { 38, 15, 5, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, + { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, + { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_943081 = { - 60, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, - { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 5, 24, 0, 0 }, { 15, 7, 5, 24, 0, 0 }, - { 15, 5, 5, 24, 0, 0 }, { 15, 3, 5, 24, 0, 0 }, { 15, 1, 5, 24, 0, 0 }, { 15, -1, 5, 24, 0, 0 }, { 15, -3, 5, 24, 0, 0 }, - { 15, -5, 5, 24, 0, 0 }, { 15, -7, 5, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, - { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 60, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, + { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 5, 24, 0, 0 }, { 15, 7, 5, 24, 0, 0 }, + { 15, 5, 5, 24, 0, 0 }, { 15, 3, 5, 24, 0, 0 }, { 15, 1, 5, 24, 0, 0 }, { 15, -1, 5, 24, 0, 0 }, { 15, -3, 5, 24, 0, 0 }, + { 15, -5, 5, 24, 0, 0 }, { 15, -7, 5, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, + { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, + { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_943E56 = { - 76, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, - { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, - { -3, 18, 0, 8, 0, 0 }, { -3, 20, 0, 8, 0, 0 }, { -3, 22, 0, 8, 0, 0 }, { -3, 24, 0, 8, 0, 0 }, { -3, 26, 0, 8, 0, 0 }, - { -3, 28, 0, 8, 0, 0 }, { -3, 30, 0, 8, 0, 0 }, { -3, 32, 0, 8, 0, 0 }, { -3, 34, 0, 8, 0, 0 }, { -3, 36, 0, 8, 0, 0 }, - { -3, 38, 0, 8, 0, 0 }, { -3, 40, 0, 8, 0, 0 }, { -3, 42, 0, 8, 0, 0 }, { -3, 44, 0, 8, 0, 0 }, { -3, 46, 0, 8, 0, 0 }, - { -3, 48, 0, 8, 0, 0 }, { -5, 48, 0, 0, 0, 0 }, { -7, 48, 0, 0, 0, 0 }, { -9, 48, 0, 0, 0, 0 }, { -11, 48, 0, 0, 0, 0 }, - { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -17, 49, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, { -17, 50, 0, 8, 0, 0 }, - { -17, 52, 0, 8, 0, 0 }, { -17, 54, 0, 8, 0, 0 }, { -17, 56, 0, 8, 0, 0 }, { -17, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -17, 60, 0, 8, 0, 0 }, + 76, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, + { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, + { -3, 18, 0, 8, 0, 0 }, { -3, 20, 0, 8, 0, 0 }, { -3, 22, 0, 8, 0, 0 }, { -3, 24, 0, 8, 0, 0 }, { -3, 26, 0, 8, 0, 0 }, + { -3, 28, 0, 8, 0, 0 }, { -3, 30, 0, 8, 0, 0 }, { -3, 32, 0, 8, 0, 0 }, { -3, 34, 0, 8, 0, 0 }, { -3, 36, 0, 8, 0, 0 }, + { -3, 38, 0, 8, 0, 0 }, { -3, 40, 0, 8, 0, 0 }, { -3, 42, 0, 8, 0, 0 }, { -3, 44, 0, 8, 0, 0 }, { -3, 46, 0, 8, 0, 0 }, + { -3, 48, 0, 8, 0, 0 }, { -5, 48, 0, 0, 0, 0 }, { -7, 48, 0, 0, 0, 0 }, { -9, 48, 0, 0, 0, 0 }, { -11, 48, 0, 0, 0, 0 }, + { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -17, 49, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, { -17, 50, 0, 8, 0, 0 }, + { -17, 52, 0, 8, 0, 0 }, { -17, 54, 0, 8, 0, 0 }, { -17, 56, 0, 8, 0, 0 }, { -17, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -17, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_946B14 = { - 76, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, - { 18, 34, 0, 16, 0, 0 }, { 20, 34, 0, 16, 0, 0 }, { 22, 34, 0, 16, 0, 0 }, { 24, 34, 0, 16, 0, 0 }, { 26, 34, 0, 16, 0, 0 }, - { 28, 34, 0, 16, 0, 0 }, { 30, 34, 0, 16, 0, 0 }, { 32, 34, 0, 16, 0, 0 }, { 34, 34, 0, 16, 0, 0 }, { 36, 34, 0, 16, 0, 0 }, - { 38, 34, 0, 16, 0, 0 }, { 40, 34, 0, 16, 0, 0 }, { 42, 34, 0, 16, 0, 0 }, { 44, 34, 0, 16, 0, 0 }, { 46, 34, 0, 16, 0, 0 }, - { 48, 34, 0, 16, 0, 0 }, { 48, 36, 0, 8, 0, 0 }, { 48, 38, 0, 8, 0, 0 }, { 48, 40, 0, 8, 0, 0 }, { 48, 42, 0, 8, 0, 0 }, - { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 49, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, { 50, 48, 0, 16, 0, 0 }, - { 52, 48, 0, 16, 0, 0 }, { 54, 48, 0, 16, 0, 0 }, { 56, 48, 0, 16, 0, 0 }, { 58, 48, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 60, 48, 0, 16, 0, 0 }, + 76, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, + { 18, 34, 0, 16, 0, 0 }, { 20, 34, 0, 16, 0, 0 }, { 22, 34, 0, 16, 0, 0 }, { 24, 34, 0, 16, 0, 0 }, { 26, 34, 0, 16, 0, 0 }, + { 28, 34, 0, 16, 0, 0 }, { 30, 34, 0, 16, 0, 0 }, { 32, 34, 0, 16, 0, 0 }, { 34, 34, 0, 16, 0, 0 }, { 36, 34, 0, 16, 0, 0 }, + { 38, 34, 0, 16, 0, 0 }, { 40, 34, 0, 16, 0, 0 }, { 42, 34, 0, 16, 0, 0 }, { 44, 34, 0, 16, 0, 0 }, { 46, 34, 0, 16, 0, 0 }, + { 48, 34, 0, 16, 0, 0 }, { 48, 36, 0, 8, 0, 0 }, { 48, 38, 0, 8, 0, 0 }, { 48, 40, 0, 8, 0, 0 }, { 48, 42, 0, 8, 0, 0 }, + { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 49, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, { 50, 48, 0, 16, 0, 0 }, + { 52, 48, 0, 16, 0, 0 }, { 54, 48, 0, 16, 0, 0 }, { 56, 48, 0, 16, 0, 0 }, { 58, 48, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 60, 48, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9497D2 = { - 76, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, - { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, - { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, - { 34, 13, 0, 24, 0, 0 }, { 34, 11, 0, 24, 0, 0 }, { 34, 9, 0, 24, 0, 0 }, { 34, 7, 0, 24, 0, 0 }, { 34, 5, 0, 24, 0, 0 }, - { 34, 3, 0, 24, 0, 0 }, { 34, 1, 0, 24, 0, 0 }, { 34, -1, 0, 24, 0, 0 }, { 34, -3, 0, 24, 0, 0 }, { 34, -5, 0, 24, 0, 0 }, - { 34, -7, 0, 24, 0, 0 }, { 34, -9, 0, 24, 0, 0 }, { 34, -11, 0, 24, 0, 0 }, { 34, -13, 0, 24, 0, 0 }, { 34, -15, 0, 24, 0, 0 }, - { 34, -17, 0, 24, 0, 0 }, { 36, -17, 0, 16, 0, 0 }, { 38, -17, 0, 16, 0, 0 }, { 40, -17, 0, 16, 0, 0 }, { 42, -17, 0, 16, 0, 0 }, - { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 48, -18, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, { 48, -19, 0, 24, 0, 0 }, - { 48, -21, 0, 24, 0, 0 }, { 48, -23, 0, 24, 0, 0 }, { 48, -25, 0, 24, 0, 0 }, { 48, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 48, -29, 0, 24, 0, 0 }, + 76, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, + { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, + { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, + { 34, 13, 0, 24, 0, 0 }, { 34, 11, 0, 24, 0, 0 }, { 34, 9, 0, 24, 0, 0 }, { 34, 7, 0, 24, 0, 0 }, { 34, 5, 0, 24, 0, 0 }, + { 34, 3, 0, 24, 0, 0 }, { 34, 1, 0, 24, 0, 0 }, { 34, -1, 0, 24, 0, 0 }, { 34, -3, 0, 24, 0, 0 }, { 34, -5, 0, 24, 0, 0 }, + { 34, -7, 0, 24, 0, 0 }, { 34, -9, 0, 24, 0, 0 }, { 34, -11, 0, 24, 0, 0 }, { 34, -13, 0, 24, 0, 0 }, { 34, -15, 0, 24, 0, 0 }, + { 34, -17, 0, 24, 0, 0 }, { 36, -17, 0, 16, 0, 0 }, { 38, -17, 0, 16, 0, 0 }, { 40, -17, 0, 16, 0, 0 }, { 42, -17, 0, 16, 0, 0 }, + { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 48, -18, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, { 48, -19, 0, 24, 0, 0 }, + { 48, -21, 0, 24, 0, 0 }, { 48, -23, 0, 24, 0, 0 }, { 48, -25, 0, 24, 0, 0 }, { 48, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 48, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94C490 = { - 76, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, - { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, - { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, - { 13, -3, 0, 0, 0, 0 }, { 11, -3, 0, 0, 0, 0 }, { 9, -3, 0, 0, 0, 0 }, { 7, -3, 0, 0, 0, 0 }, { 5, -3, 0, 0, 0, 0 }, - { 3, -3, 0, 0, 0, 0 }, { 1, -3, 0, 0, 0, 0 }, { -1, -3, 0, 0, 0, 0 }, { -3, -3, 0, 0, 0, 0 }, { -5, -3, 0, 0, 0, 0 }, - { -7, -3, 0, 0, 0, 0 }, { -9, -3, 0, 0, 0, 0 }, { -11, -3, 0, 0, 0, 0 }, { -13, -3, 0, 0, 0, 0 }, { -15, -3, 0, 0, 0, 0 }, - { -17, -3, 0, 0, 0, 0 }, { -17, -5, 0, 24, 0, 0 }, { -17, -7, 0, 24, 0, 0 }, { -17, -9, 0, 24, 0, 0 }, { -17, -11, 0, 24, 0, 0 }, - { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -18, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, { -19, -17, 0, 0, 0, 0 }, - { -21, -17, 0, 0, 0, 0 }, { -23, -17, 0, 0, 0, 0 }, { -25, -17, 0, 0, 0, 0 }, { -27, -17, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -29, -17, 0, 0, 0, 0 }, + 76, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, + { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, + { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, + { 13, -3, 0, 0, 0, 0 }, { 11, -3, 0, 0, 0, 0 }, { 9, -3, 0, 0, 0, 0 }, { 7, -3, 0, 0, 0, 0 }, { 5, -3, 0, 0, 0, 0 }, + { 3, -3, 0, 0, 0, 0 }, { 1, -3, 0, 0, 0, 0 }, { -1, -3, 0, 0, 0, 0 }, { -3, -3, 0, 0, 0, 0 }, { -5, -3, 0, 0, 0, 0 }, + { -7, -3, 0, 0, 0, 0 }, { -9, -3, 0, 0, 0, 0 }, { -11, -3, 0, 0, 0, 0 }, { -13, -3, 0, 0, 0, 0 }, { -15, -3, 0, 0, 0, 0 }, + { -17, -3, 0, 0, 0, 0 }, { -17, -5, 0, 24, 0, 0 }, { -17, -7, 0, 24, 0, 0 }, { -17, -9, 0, 24, 0, 0 }, { -17, -11, 0, 24, 0, 0 }, + { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -18, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, { -19, -17, 0, 0, 0, 0 }, + { -21, -17, 0, 0, 0, 0 }, { -23, -17, 0, 0, 0, 0 }, { -25, -17, 0, 0, 0, 0 }, { -27, -17, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -29, -17, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9454B5 = { - 76, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, - { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, - { -3, 14, 0, 24, 0, 0 }, { -3, 12, 0, 24, 0, 0 }, { -3, 10, 0, 24, 0, 0 }, { -3, 8, 0, 24, 0, 0 }, { -3, 6, 0, 24, 0, 0 }, - { -3, 4, 0, 24, 0, 0 }, { -3, 2, 0, 24, 0, 0 }, { -3, 0, 0, 24, 0, 0 }, { -3, -2, 0, 24, 0, 0 }, { -3, -4, 0, 24, 0, 0 }, - { -3, -6, 0, 24, 0, 0 }, { -3, -8, 0, 24, 0, 0 }, { -3, -10, 0, 24, 0, 0 }, { -3, -12, 0, 24, 0, 0 }, { -3, -14, 0, 24, 0, 0 }, - { -3, -16, 0, 24, 0, 0 }, { -5, -16, 0, 0, 0, 0 }, { -7, -16, 0, 0, 0, 0 }, { -9, -16, 0, 0, 0, 0 }, { -11, -16, 0, 0, 0, 0 }, - { -13, -16, 0, 0, 0, 0 }, { -15, -16, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -17, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -16, 0, 24, 0, 0 }, { -17, -18, 0, 24, 0, 0 }, - { -17, -20, 0, 24, 0, 0 }, { -17, -22, 0, 24, 0, 0 }, { -17, -24, 0, 24, 0, 0 }, { -17, -26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -17, -28, 0, 24, 0, 0 }, + 76, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, + { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, + { -3, 14, 0, 24, 0, 0 }, { -3, 12, 0, 24, 0, 0 }, { -3, 10, 0, 24, 0, 0 }, { -3, 8, 0, 24, 0, 0 }, { -3, 6, 0, 24, 0, 0 }, + { -3, 4, 0, 24, 0, 0 }, { -3, 2, 0, 24, 0, 0 }, { -3, 0, 0, 24, 0, 0 }, { -3, -2, 0, 24, 0, 0 }, { -3, -4, 0, 24, 0, 0 }, + { -3, -6, 0, 24, 0, 0 }, { -3, -8, 0, 24, 0, 0 }, { -3, -10, 0, 24, 0, 0 }, { -3, -12, 0, 24, 0, 0 }, { -3, -14, 0, 24, 0, 0 }, + { -3, -16, 0, 24, 0, 0 }, { -5, -16, 0, 0, 0, 0 }, { -7, -16, 0, 0, 0, 0 }, { -9, -16, 0, 0, 0, 0 }, { -11, -16, 0, 0, 0, 0 }, + { -13, -16, 0, 0, 0, 0 }, { -15, -16, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -17, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -16, 0, 24, 0, 0 }, { -17, -18, 0, 24, 0, 0 }, + { -17, -20, 0, 24, 0, 0 }, { -17, -22, 0, 24, 0, 0 }, { -17, -24, 0, 24, 0, 0 }, { -17, -26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -17, -28, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_948173 = { - 76, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, - { 14, 34, 0, 0, 0, 0 }, { 12, 34, 0, 0, 0, 0 }, { 10, 34, 0, 0, 0, 0 }, { 8, 34, 0, 0, 0, 0 }, { 6, 34, 0, 0, 0, 0 }, - { 4, 34, 0, 0, 0, 0 }, { 2, 34, 0, 0, 0, 0 }, { 0, 34, 0, 0, 0, 0 }, { -2, 34, 0, 0, 0, 0 }, { -4, 34, 0, 0, 0, 0 }, - { -6, 34, 0, 0, 0, 0 }, { -8, 34, 0, 0, 0, 0 }, { -10, 34, 0, 0, 0, 0 }, { -12, 34, 0, 0, 0, 0 }, { -14, 34, 0, 0, 0, 0 }, - { -16, 34, 0, 0, 0, 0 }, { -16, 36, 0, 8, 0, 0 }, { -16, 38, 0, 8, 0, 0 }, { -16, 40, 0, 8, 0, 0 }, { -16, 42, 0, 8, 0, 0 }, - { -16, 44, 0, 8, 0, 0 }, { -16, 46, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -17, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -16, 48, 0, 0, 0, 0 }, { -18, 48, 0, 0, 0, 0 }, - { -20, 48, 0, 0, 0, 0 }, { -22, 48, 0, 0, 0, 0 }, { -24, 48, 0, 0, 0, 0 }, { -26, 48, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -28, 48, 0, 0, 0, 0 }, + 76, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, + { 14, 34, 0, 0, 0, 0 }, { 12, 34, 0, 0, 0, 0 }, { 10, 34, 0, 0, 0, 0 }, { 8, 34, 0, 0, 0, 0 }, { 6, 34, 0, 0, 0, 0 }, + { 4, 34, 0, 0, 0, 0 }, { 2, 34, 0, 0, 0, 0 }, { 0, 34, 0, 0, 0, 0 }, { -2, 34, 0, 0, 0, 0 }, { -4, 34, 0, 0, 0, 0 }, + { -6, 34, 0, 0, 0, 0 }, { -8, 34, 0, 0, 0, 0 }, { -10, 34, 0, 0, 0, 0 }, { -12, 34, 0, 0, 0, 0 }, { -14, 34, 0, 0, 0, 0 }, + { -16, 34, 0, 0, 0, 0 }, { -16, 36, 0, 8, 0, 0 }, { -16, 38, 0, 8, 0, 0 }, { -16, 40, 0, 8, 0, 0 }, { -16, 42, 0, 8, 0, 0 }, + { -16, 44, 0, 8, 0, 0 }, { -16, 46, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -17, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -16, 48, 0, 0, 0, 0 }, { -18, 48, 0, 0, 0, 0 }, + { -20, 48, 0, 0, 0, 0 }, { -22, 48, 0, 0, 0, 0 }, { -24, 48, 0, 0, 0, 0 }, { -26, 48, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -28, 48, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94AE31 = { - 76, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, - { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, - { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, - { 34, 17, 0, 8, 0, 0 }, { 34, 19, 0, 8, 0, 0 }, { 34, 21, 0, 8, 0, 0 }, { 34, 23, 0, 8, 0, 0 }, { 34, 25, 0, 8, 0, 0 }, - { 34, 27, 0, 8, 0, 0 }, { 34, 29, 0, 8, 0, 0 }, { 34, 31, 0, 8, 0, 0 }, { 34, 33, 0, 8, 0, 0 }, { 34, 35, 0, 8, 0, 0 }, - { 34, 37, 0, 8, 0, 0 }, { 34, 39, 0, 8, 0, 0 }, { 34, 41, 0, 8, 0, 0 }, { 34, 43, 0, 8, 0, 0 }, { 34, 45, 0, 8, 0, 0 }, - { 34, 47, 0, 8, 0, 0 }, { 36, 47, 0, 16, 0, 0 }, { 38, 47, 0, 16, 0, 0 }, { 40, 47, 0, 16, 0, 0 }, { 42, 47, 0, 16, 0, 0 }, - { 44, 47, 0, 16, 0, 0 }, { 46, 47, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 48, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 47, 0, 8, 0, 0 }, { 48, 49, 0, 8, 0, 0 }, - { 48, 51, 0, 8, 0, 0 }, { 48, 53, 0, 8, 0, 0 }, { 48, 55, 0, 8, 0, 0 }, { 48, 57, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 48, 59, 0, 8, 0, 0 }, + 76, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, + { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, + { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, + { 34, 17, 0, 8, 0, 0 }, { 34, 19, 0, 8, 0, 0 }, { 34, 21, 0, 8, 0, 0 }, { 34, 23, 0, 8, 0, 0 }, { 34, 25, 0, 8, 0, 0 }, + { 34, 27, 0, 8, 0, 0 }, { 34, 29, 0, 8, 0, 0 }, { 34, 31, 0, 8, 0, 0 }, { 34, 33, 0, 8, 0, 0 }, { 34, 35, 0, 8, 0, 0 }, + { 34, 37, 0, 8, 0, 0 }, { 34, 39, 0, 8, 0, 0 }, { 34, 41, 0, 8, 0, 0 }, { 34, 43, 0, 8, 0, 0 }, { 34, 45, 0, 8, 0, 0 }, + { 34, 47, 0, 8, 0, 0 }, { 36, 47, 0, 16, 0, 0 }, { 38, 47, 0, 16, 0, 0 }, { 40, 47, 0, 16, 0, 0 }, { 42, 47, 0, 16, 0, 0 }, + { 44, 47, 0, 16, 0, 0 }, { 46, 47, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 48, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 47, 0, 8, 0, 0 }, { 48, 49, 0, 8, 0, 0 }, + { 48, 51, 0, 8, 0, 0 }, { 48, 53, 0, 8, 0, 0 }, { 48, 55, 0, 8, 0, 0 }, { 48, 57, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 48, 59, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94DAEF = { - 76, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, - { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, - { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, - { 17, -3, 0, 16, 0, 0 }, { 19, -3, 0, 16, 0, 0 }, { 21, -3, 0, 16, 0, 0 }, { 23, -3, 0, 16, 0, 0 }, { 25, -3, 0, 16, 0, 0 }, - { 27, -3, 0, 16, 0, 0 }, { 29, -3, 0, 16, 0, 0 }, { 31, -3, 0, 16, 0, 0 }, { 33, -3, 0, 16, 0, 0 }, { 35, -3, 0, 16, 0, 0 }, - { 37, -3, 0, 16, 0, 0 }, { 39, -3, 0, 16, 0, 0 }, { 41, -3, 0, 16, 0, 0 }, { 43, -3, 0, 16, 0, 0 }, { 45, -3, 0, 16, 0, 0 }, - { 47, -3, 0, 16, 0, 0 }, { 47, -5, 0, 24, 0, 0 }, { 47, -7, 0, 24, 0, 0 }, { 47, -9, 0, 24, 0, 0 }, { 47, -11, 0, 24, 0, 0 }, - { 47, -13, 0, 24, 0, 0 }, { 47, -15, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 48, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 47, -17, 0, 16, 0, 0 }, { 49, -17, 0, 16, 0, 0 }, - { 51, -17, 0, 16, 0, 0 }, { 53, -17, 0, 16, 0, 0 }, { 55, -17, 0, 16, 0, 0 }, { 57, -17, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 59, -17, 0, 16, 0, 0 }, + 76, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, + { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, + { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, + { 17, -3, 0, 16, 0, 0 }, { 19, -3, 0, 16, 0, 0 }, { 21, -3, 0, 16, 0, 0 }, { 23, -3, 0, 16, 0, 0 }, { 25, -3, 0, 16, 0, 0 }, + { 27, -3, 0, 16, 0, 0 }, { 29, -3, 0, 16, 0, 0 }, { 31, -3, 0, 16, 0, 0 }, { 33, -3, 0, 16, 0, 0 }, { 35, -3, 0, 16, 0, 0 }, + { 37, -3, 0, 16, 0, 0 }, { 39, -3, 0, 16, 0, 0 }, { 41, -3, 0, 16, 0, 0 }, { 43, -3, 0, 16, 0, 0 }, { 45, -3, 0, 16, 0, 0 }, + { 47, -3, 0, 16, 0, 0 }, { 47, -5, 0, 24, 0, 0 }, { 47, -7, 0, 24, 0, 0 }, { 47, -9, 0, 24, 0, 0 }, { 47, -11, 0, 24, 0, 0 }, + { 47, -13, 0, 24, 0, 0 }, { 47, -15, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 48, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 47, -17, 0, 16, 0, 0 }, { 49, -17, 0, 16, 0, 0 }, + { 51, -17, 0, 16, 0, 0 }, { 53, -17, 0, 16, 0, 0 }, { 55, -17, 0, 16, 0, 0 }, { 57, -17, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 59, -17, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9398A6 = { - 53, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 16, 16, 0, 0, 0, 0 }, { 13, 17, 0, 0, 0, 0 }, { 10, 17, 0, 0, 0, 0 }, { 8, 17, 0, 0, 0, 0 }, { 6, 17, 0, 0, 0, 0 }, - { 4, 17, 0, 0, 0, 0 }, { 2, 17, 0, 0, 0, 0 }, { 0, 18, 0, 0, 0, 0 }, { -2, 18, 0, 0, 0, 0 }, { -4, 18, 0, 0, 0, 0 }, - { -6, 18, 0, 0, 0, 0 }, { -8, 18, 0, 0, 0, 0 }, { -10, 18, 0, 0, 0, 0 }, { -12, 18, 0, 0, 0, 0 }, { -14, 19, 0, 0, 0, 0 }, - { -16, 19, 0, 0, 0, 0 }, { -18, 19, 0, 0, 0, 0 }, { -20, 19, 0, 0, 0, 0 }, { -22, 19, 0, 0, 0, 0 }, { -24, 19, 0, 0, 0, 0 }, - { -26, 19, 0, 0, 0, 0 }, { -28, 20, 0, 0, 0, 0 }, { -30, 20, 0, 0, 0, 0 }, { -29, 20, 0, 0, 0, 0 }, { -28, 20, 0, 0, 0, 0 }, - { -27, 20, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -25, 19, 0, 0, 0, 0 }, { -24, 19, 0, 0, 0, 0 }, { -23, 18, 0, 0, 0, 0 }, - { -22, 18, 0, 0, 0, 0 }, { -21, 18, 0, 0, 0, 0 }, { -20, 17, 0, 0, 0, 0 }, { -19, 17, 0, 0, 0, 0 }, { -18, 17, 0, 0, 0, 0 }, - { -17, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 53, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 16, 16, 0, 0, 0, 0 }, { 13, 17, 0, 0, 0, 0 }, { 10, 17, 0, 0, 0, 0 }, { 8, 17, 0, 0, 0, 0 }, { 6, 17, 0, 0, 0, 0 }, + { 4, 17, 0, 0, 0, 0 }, { 2, 17, 0, 0, 0, 0 }, { 0, 18, 0, 0, 0, 0 }, { -2, 18, 0, 0, 0, 0 }, { -4, 18, 0, 0, 0, 0 }, + { -6, 18, 0, 0, 0, 0 }, { -8, 18, 0, 0, 0, 0 }, { -10, 18, 0, 0, 0, 0 }, { -12, 18, 0, 0, 0, 0 }, { -14, 19, 0, 0, 0, 0 }, + { -16, 19, 0, 0, 0, 0 }, { -18, 19, 0, 0, 0, 0 }, { -20, 19, 0, 0, 0, 0 }, { -22, 19, 0, 0, 0, 0 }, { -24, 19, 0, 0, 0, 0 }, + { -26, 19, 0, 0, 0, 0 }, { -28, 20, 0, 0, 0, 0 }, { -30, 20, 0, 0, 0, 0 }, { -29, 20, 0, 0, 0, 0 }, { -28, 20, 0, 0, 0, 0 }, + { -27, 20, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -25, 19, 0, 0, 0, 0 }, { -24, 19, 0, 0, 0, 0 }, { -23, 18, 0, 0, 0, 0 }, + { -22, 18, 0, 0, 0, 0 }, { -21, 18, 0, 0, 0, 0 }, { -20, 17, 0, 0, 0, 0 }, { -19, 17, 0, 0, 0, 0 }, { -18, 17, 0, 0, 0, 0 }, + { -17, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93C297 = { - 53, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 15, 0, 8, 0, 0 }, { 17, 18, 0, 8, 0, 0 }, { 17, 21, 0, 8, 0, 0 }, { 17, 23, 0, 8, 0, 0 }, { 17, 25, 0, 8, 0, 0 }, - { 17, 27, 0, 8, 0, 0 }, { 17, 29, 0, 8, 0, 0 }, { 18, 31, 0, 8, 0, 0 }, { 18, 33, 0, 8, 0, 0 }, { 18, 35, 0, 8, 0, 0 }, - { 18, 37, 0, 8, 0, 0 }, { 18, 39, 0, 8, 0, 0 }, { 18, 41, 0, 8, 0, 0 }, { 18, 43, 0, 8, 0, 0 }, { 19, 45, 0, 8, 0, 0 }, - { 19, 47, 0, 8, 0, 0 }, { 19, 49, 0, 8, 0, 0 }, { 19, 51, 0, 8, 0, 0 }, { 19, 53, 0, 8, 0, 0 }, { 19, 55, 0, 8, 0, 0 }, - { 19, 57, 0, 8, 0, 0 }, { 20, 59, 0, 8, 0, 0 }, { 20, 61, 0, 8, 0, 0 }, { 20, 60, 0, 8, 0, 0 }, { 20, 59, 0, 8, 0, 0 }, - { 20, 58, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 19, 56, 0, 8, 0, 0 }, { 19, 55, 0, 8, 0, 0 }, { 18, 54, 0, 8, 0, 0 }, - { 18, 53, 0, 8, 0, 0 }, { 18, 52, 0, 8, 0, 0 }, { 17, 51, 0, 8, 0, 0 }, { 17, 50, 0, 8, 0, 0 }, { 17, 49, 0, 8, 0, 0 }, - { 16, 48, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 53, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 15, 0, 8, 0, 0 }, { 17, 18, 0, 8, 0, 0 }, { 17, 21, 0, 8, 0, 0 }, { 17, 23, 0, 8, 0, 0 }, { 17, 25, 0, 8, 0, 0 }, + { 17, 27, 0, 8, 0, 0 }, { 17, 29, 0, 8, 0, 0 }, { 18, 31, 0, 8, 0, 0 }, { 18, 33, 0, 8, 0, 0 }, { 18, 35, 0, 8, 0, 0 }, + { 18, 37, 0, 8, 0, 0 }, { 18, 39, 0, 8, 0, 0 }, { 18, 41, 0, 8, 0, 0 }, { 18, 43, 0, 8, 0, 0 }, { 19, 45, 0, 8, 0, 0 }, + { 19, 47, 0, 8, 0, 0 }, { 19, 49, 0, 8, 0, 0 }, { 19, 51, 0, 8, 0, 0 }, { 19, 53, 0, 8, 0, 0 }, { 19, 55, 0, 8, 0, 0 }, + { 19, 57, 0, 8, 0, 0 }, { 20, 59, 0, 8, 0, 0 }, { 20, 61, 0, 8, 0, 0 }, { 20, 60, 0, 8, 0, 0 }, { 20, 59, 0, 8, 0, 0 }, + { 20, 58, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 19, 56, 0, 8, 0, 0 }, { 19, 55, 0, 8, 0, 0 }, { 18, 54, 0, 8, 0, 0 }, + { 18, 53, 0, 8, 0, 0 }, { 18, 52, 0, 8, 0, 0 }, { 17, 51, 0, 8, 0, 0 }, { 17, 50, 0, 8, 0, 0 }, { 17, 49, 0, 8, 0, 0 }, + { 16, 48, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93EC88 = { - 53, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 9, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 15, 15, 0, 16, 0, 0 }, { 18, 14, 0, 16, 0, 0 }, { 21, 14, 0, 16, 0, 0 }, { 23, 14, 0, 16, 0, 0 }, { 25, 14, 0, 16, 0, 0 }, - { 27, 14, 0, 16, 0, 0 }, { 29, 14, 0, 16, 0, 0 }, { 31, 13, 0, 16, 0, 0 }, { 33, 13, 0, 16, 0, 0 }, { 35, 13, 0, 16, 0, 0 }, - { 37, 13, 0, 16, 0, 0 }, { 39, 13, 0, 16, 0, 0 }, { 41, 13, 0, 16, 0, 0 }, { 43, 13, 0, 16, 0, 0 }, { 45, 12, 0, 16, 0, 0 }, - { 47, 12, 0, 16, 0, 0 }, { 49, 12, 0, 16, 0, 0 }, { 51, 12, 0, 16, 0, 0 }, { 53, 12, 0, 16, 0, 0 }, { 55, 12, 0, 16, 0, 0 }, - { 57, 12, 0, 16, 0, 0 }, { 59, 11, 0, 16, 0, 0 }, { 61, 11, 0, 16, 0, 0 }, { 60, 11, 0, 16, 0, 0 }, { 59, 11, 0, 16, 0, 0 }, - { 58, 11, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 56, 12, 0, 16, 0, 0 }, { 55, 12, 0, 16, 0, 0 }, { 54, 13, 0, 16, 0, 0 }, - { 53, 13, 0, 16, 0, 0 }, { 52, 13, 0, 16, 0, 0 }, { 51, 14, 0, 16, 0, 0 }, { 50, 14, 0, 16, 0, 0 }, { 49, 14, 0, 16, 0, 0 }, - { 48, 15, 0, 16, 0, 0 }, { 47, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 53, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 9, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 15, 15, 0, 16, 0, 0 }, { 18, 14, 0, 16, 0, 0 }, { 21, 14, 0, 16, 0, 0 }, { 23, 14, 0, 16, 0, 0 }, { 25, 14, 0, 16, 0, 0 }, + { 27, 14, 0, 16, 0, 0 }, { 29, 14, 0, 16, 0, 0 }, { 31, 13, 0, 16, 0, 0 }, { 33, 13, 0, 16, 0, 0 }, { 35, 13, 0, 16, 0, 0 }, + { 37, 13, 0, 16, 0, 0 }, { 39, 13, 0, 16, 0, 0 }, { 41, 13, 0, 16, 0, 0 }, { 43, 13, 0, 16, 0, 0 }, { 45, 12, 0, 16, 0, 0 }, + { 47, 12, 0, 16, 0, 0 }, { 49, 12, 0, 16, 0, 0 }, { 51, 12, 0, 16, 0, 0 }, { 53, 12, 0, 16, 0, 0 }, { 55, 12, 0, 16, 0, 0 }, + { 57, 12, 0, 16, 0, 0 }, { 59, 11, 0, 16, 0, 0 }, { 61, 11, 0, 16, 0, 0 }, { 60, 11, 0, 16, 0, 0 }, { 59, 11, 0, 16, 0, 0 }, + { 58, 11, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 56, 12, 0, 16, 0, 0 }, { 55, 12, 0, 16, 0, 0 }, { 54, 13, 0, 16, 0, 0 }, + { 53, 13, 0, 16, 0, 0 }, { 52, 13, 0, 16, 0, 0 }, { 51, 14, 0, 16, 0, 0 }, { 50, 14, 0, 16, 0, 0 }, { 49, 14, 0, 16, 0, 0 }, + { 48, 15, 0, 16, 0, 0 }, { 47, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_941679 = { - 53, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 22, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 16, 0, 24, 0, 0 }, { 14, 13, 0, 24, 0, 0 }, { 14, 10, 0, 24, 0, 0 }, { 14, 8, 0, 24, 0, 0 }, { 14, 6, 0, 24, 0, 0 }, - { 14, 4, 0, 24, 0, 0 }, { 14, 2, 0, 24, 0, 0 }, { 13, 0, 0, 24, 0, 0 }, { 13, -2, 0, 24, 0, 0 }, { 13, -4, 0, 24, 0, 0 }, - { 13, -6, 0, 24, 0, 0 }, { 13, -8, 0, 24, 0, 0 }, { 13, -10, 0, 24, 0, 0 }, { 13, -12, 0, 24, 0, 0 }, { 12, -14, 0, 24, 0, 0 }, - { 12, -16, 0, 24, 0, 0 }, { 12, -18, 0, 24, 0, 0 }, { 12, -20, 0, 24, 0, 0 }, { 12, -22, 0, 24, 0, 0 }, { 12, -24, 0, 24, 0, 0 }, - { 12, -26, 0, 24, 0, 0 }, { 11, -28, 0, 24, 0, 0 }, { 11, -30, 0, 24, 0, 0 }, { 11, -29, 0, 24, 0, 0 }, { 11, -28, 0, 24, 0, 0 }, - { 11, -27, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 12, -25, 0, 24, 0, 0 }, { 12, -24, 0, 24, 0, 0 }, { 13, -23, 0, 24, 0, 0 }, - { 13, -22, 0, 24, 0, 0 }, { 13, -21, 0, 24, 0, 0 }, { 14, -20, 0, 24, 0, 0 }, { 14, -19, 0, 24, 0, 0 }, { 14, -18, 0, 24, 0, 0 }, - { 15, -17, 0, 24, 0, 0 }, { 15, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 53, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 22, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 16, 0, 24, 0, 0 }, { 14, 13, 0, 24, 0, 0 }, { 14, 10, 0, 24, 0, 0 }, { 14, 8, 0, 24, 0, 0 }, { 14, 6, 0, 24, 0, 0 }, + { 14, 4, 0, 24, 0, 0 }, { 14, 2, 0, 24, 0, 0 }, { 13, 0, 0, 24, 0, 0 }, { 13, -2, 0, 24, 0, 0 }, { 13, -4, 0, 24, 0, 0 }, + { 13, -6, 0, 24, 0, 0 }, { 13, -8, 0, 24, 0, 0 }, { 13, -10, 0, 24, 0, 0 }, { 13, -12, 0, 24, 0, 0 }, { 12, -14, 0, 24, 0, 0 }, + { 12, -16, 0, 24, 0, 0 }, { 12, -18, 0, 24, 0, 0 }, { 12, -20, 0, 24, 0, 0 }, { 12, -22, 0, 24, 0, 0 }, { 12, -24, 0, 24, 0, 0 }, + { 12, -26, 0, 24, 0, 0 }, { 11, -28, 0, 24, 0, 0 }, { 11, -30, 0, 24, 0, 0 }, { 11, -29, 0, 24, 0, 0 }, { 11, -28, 0, 24, 0, 0 }, + { 11, -27, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 12, -25, 0, 24, 0, 0 }, { 12, -24, 0, 24, 0, 0 }, { 13, -23, 0, 24, 0, 0 }, + { 13, -22, 0, 24, 0, 0 }, { 13, -21, 0, 24, 0, 0 }, { 14, -20, 0, 24, 0, 0 }, { 14, -19, 0, 24, 0, 0 }, { 14, -18, 0, 24, 0, 0 }, + { 15, -17, 0, 24, 0, 0 }, { 15, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93A68C = { - 58, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, - { 16, 15, 0, 0, 0, 0 }, { 13, 14, 0, 0, 0, 0 }, { 10, 14, 0, 0, 0, 0 }, { 7, 13, 0, 0, 0, 0 }, { 4, 13, 0, 0, 0, 0 }, - { 1, 12, 0, 0, 0, 0 }, { -2, 12, 0, 0, 0, 0 }, { -2, 15, 0, 0, 0, 0 }, { -2, 18, 0, 0, 0, 0 }, { -2, 21, 0, 0, 0, 0 }, - { -2, 24, 0, 0, 0, 0 }, { -2, 26, 0, 0, 0, 0 }, { -4, 26, 0, 0, 0, 0 }, { -6, 26, 0, 0, 0, 0 }, { -8, 26, 0, 0, 0, 0 }, - { -10, 26, 0, 0, 0, 0 }, { -11, 25, 0, 0, 0, 0 }, { -11, 23, 0, 0, 0, 0 }, { -11, 21, 0, 0, 0, 0 }, { -11, 19, 0, 0, 0, 0 }, - { -10, 17, 0, 0, 0, 0 }, { -10, 15, 0, 0, 0, 0 }, { -10, 13, 0, 0, 0, 0 }, { -12, 13, 0, 0, 0, 0 }, { -14, 13, 0, 0, 0, 0 }, - { -16, 13, 0, 0, 0, 0 }, { -18, 13, 0, 0, 0, 0 }, { -20, 14, 0, 0, 0, 0 }, { -22, 14, 0, 0, 0, 0 }, { -23, 14, 0, 0, 0, 0 }, - { -24, 14, 0, 0, 0, 0 }, { -25, 14, 0, 0, 0, 0 }, { -26, 14, 0, 0, 0, 0 }, { -27, 14, 0, 0, 0, 0 }, { -28, 14, 0, 0, 0, 0 }, - { -29, 14, 0, 0, 0, 0 }, { -30, 14, 0, 0, 0, 0 }, { -31, 14, 0, 0, 0, 0 }, { -30, 14, 0, 0, 0, 0 }, { -29, 14, 0, 0, 0, 0 }, - { -28, 15, 0, 0, 0, 0 }, { -27, 15, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 58, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, + { 16, 15, 0, 0, 0, 0 }, { 13, 14, 0, 0, 0, 0 }, { 10, 14, 0, 0, 0, 0 }, { 7, 13, 0, 0, 0, 0 }, { 4, 13, 0, 0, 0, 0 }, + { 1, 12, 0, 0, 0, 0 }, { -2, 12, 0, 0, 0, 0 }, { -2, 15, 0, 0, 0, 0 }, { -2, 18, 0, 0, 0, 0 }, { -2, 21, 0, 0, 0, 0 }, + { -2, 24, 0, 0, 0, 0 }, { -2, 26, 0, 0, 0, 0 }, { -4, 26, 0, 0, 0, 0 }, { -6, 26, 0, 0, 0, 0 }, { -8, 26, 0, 0, 0, 0 }, + { -10, 26, 0, 0, 0, 0 }, { -11, 25, 0, 0, 0, 0 }, { -11, 23, 0, 0, 0, 0 }, { -11, 21, 0, 0, 0, 0 }, { -11, 19, 0, 0, 0, 0 }, + { -10, 17, 0, 0, 0, 0 }, { -10, 15, 0, 0, 0, 0 }, { -10, 13, 0, 0, 0, 0 }, { -12, 13, 0, 0, 0, 0 }, { -14, 13, 0, 0, 0, 0 }, + { -16, 13, 0, 0, 0, 0 }, { -18, 13, 0, 0, 0, 0 }, { -20, 14, 0, 0, 0, 0 }, { -22, 14, 0, 0, 0, 0 }, { -23, 14, 0, 0, 0, 0 }, + { -24, 14, 0, 0, 0, 0 }, { -25, 14, 0, 0, 0, 0 }, { -26, 14, 0, 0, 0, 0 }, { -27, 14, 0, 0, 0, 0 }, { -28, 14, 0, 0, 0, 0 }, + { -29, 14, 0, 0, 0, 0 }, { -30, 14, 0, 0, 0, 0 }, { -31, 14, 0, 0, 0, 0 }, { -30, 14, 0, 0, 0, 0 }, { -29, 14, 0, 0, 0, 0 }, + { -28, 15, 0, 0, 0, 0 }, { -27, 15, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93D07D = { - 58, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, - { 15, 15, 0, 8, 0, 0 }, { 14, 18, 0, 8, 0, 0 }, { 14, 21, 0, 8, 0, 0 }, { 13, 24, 0, 8, 0, 0 }, { 13, 27, 0, 8, 0, 0 }, - { 12, 30, 0, 8, 0, 0 }, { 12, 33, 0, 8, 0, 0 }, { 15, 33, 0, 8, 0, 0 }, { 18, 33, 0, 8, 0, 0 }, { 21, 33, 0, 8, 0, 0 }, - { 24, 33, 0, 8, 0, 0 }, { 26, 33, 0, 8, 0, 0 }, { 26, 35, 0, 8, 0, 0 }, { 26, 37, 0, 8, 0, 0 }, { 26, 39, 0, 8, 0, 0 }, - { 26, 41, 0, 8, 0, 0 }, { 25, 42, 0, 8, 0, 0 }, { 23, 42, 0, 8, 0, 0 }, { 21, 42, 0, 8, 0, 0 }, { 19, 42, 0, 8, 0, 0 }, - { 17, 41, 0, 8, 0, 0 }, { 15, 41, 0, 8, 0, 0 }, { 13, 41, 0, 8, 0, 0 }, { 13, 43, 0, 8, 0, 0 }, { 13, 45, 0, 8, 0, 0 }, - { 13, 47, 0, 8, 0, 0 }, { 13, 49, 0, 8, 0, 0 }, { 14, 51, 0, 8, 0, 0 }, { 14, 53, 0, 8, 0, 0 }, { 14, 54, 0, 8, 0, 0 }, - { 14, 55, 0, 8, 0, 0 }, { 14, 56, 0, 8, 0, 0 }, { 14, 57, 0, 8, 0, 0 }, { 14, 58, 0, 8, 0, 0 }, { 14, 59, 0, 8, 0, 0 }, - { 14, 60, 0, 8, 0, 0 }, { 14, 61, 0, 8, 0, 0 }, { 14, 62, 0, 8, 0, 0 }, { 14, 61, 0, 8, 0, 0 }, { 14, 60, 0, 8, 0, 0 }, - { 15, 59, 0, 8, 0, 0 }, { 15, 58, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 58, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, + { 15, 15, 0, 8, 0, 0 }, { 14, 18, 0, 8, 0, 0 }, { 14, 21, 0, 8, 0, 0 }, { 13, 24, 0, 8, 0, 0 }, { 13, 27, 0, 8, 0, 0 }, + { 12, 30, 0, 8, 0, 0 }, { 12, 33, 0, 8, 0, 0 }, { 15, 33, 0, 8, 0, 0 }, { 18, 33, 0, 8, 0, 0 }, { 21, 33, 0, 8, 0, 0 }, + { 24, 33, 0, 8, 0, 0 }, { 26, 33, 0, 8, 0, 0 }, { 26, 35, 0, 8, 0, 0 }, { 26, 37, 0, 8, 0, 0 }, { 26, 39, 0, 8, 0, 0 }, + { 26, 41, 0, 8, 0, 0 }, { 25, 42, 0, 8, 0, 0 }, { 23, 42, 0, 8, 0, 0 }, { 21, 42, 0, 8, 0, 0 }, { 19, 42, 0, 8, 0, 0 }, + { 17, 41, 0, 8, 0, 0 }, { 15, 41, 0, 8, 0, 0 }, { 13, 41, 0, 8, 0, 0 }, { 13, 43, 0, 8, 0, 0 }, { 13, 45, 0, 8, 0, 0 }, + { 13, 47, 0, 8, 0, 0 }, { 13, 49, 0, 8, 0, 0 }, { 14, 51, 0, 8, 0, 0 }, { 14, 53, 0, 8, 0, 0 }, { 14, 54, 0, 8, 0, 0 }, + { 14, 55, 0, 8, 0, 0 }, { 14, 56, 0, 8, 0, 0 }, { 14, 57, 0, 8, 0, 0 }, { 14, 58, 0, 8, 0, 0 }, { 14, 59, 0, 8, 0, 0 }, + { 14, 60, 0, 8, 0, 0 }, { 14, 61, 0, 8, 0, 0 }, { 14, 62, 0, 8, 0, 0 }, { 14, 61, 0, 8, 0, 0 }, { 14, 60, 0, 8, 0, 0 }, + { 15, 59, 0, 8, 0, 0 }, { 15, 58, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93FA6E = { - 58, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 9, 15, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, - { 15, 16, 0, 16, 0, 0 }, { 18, 17, 0, 16, 0, 0 }, { 21, 17, 0, 16, 0, 0 }, { 24, 18, 0, 16, 0, 0 }, { 27, 18, 0, 16, 0, 0 }, - { 30, 19, 0, 16, 0, 0 }, { 33, 19, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, { 33, 13, 0, 16, 0, 0 }, { 33, 10, 0, 16, 0, 0 }, - { 33, 7, 0, 16, 0, 0 }, { 33, 5, 0, 16, 0, 0 }, { 35, 5, 0, 16, 0, 0 }, { 37, 5, 0, 16, 0, 0 }, { 39, 5, 0, 16, 0, 0 }, - { 41, 5, 0, 16, 0, 0 }, { 42, 6, 0, 16, 0, 0 }, { 42, 8, 0, 16, 0, 0 }, { 42, 10, 0, 16, 0, 0 }, { 42, 12, 0, 16, 0, 0 }, - { 41, 14, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 41, 18, 0, 16, 0, 0 }, { 43, 18, 0, 16, 0, 0 }, { 45, 18, 0, 16, 0, 0 }, - { 47, 18, 0, 16, 0, 0 }, { 49, 18, 0, 16, 0, 0 }, { 51, 17, 0, 16, 0, 0 }, { 53, 17, 0, 16, 0, 0 }, { 54, 17, 0, 16, 0, 0 }, - { 55, 17, 0, 16, 0, 0 }, { 56, 17, 0, 16, 0, 0 }, { 57, 17, 0, 16, 0, 0 }, { 58, 17, 0, 16, 0, 0 }, { 59, 17, 0, 16, 0, 0 }, - { 60, 17, 0, 16, 0, 0 }, { 61, 17, 0, 16, 0, 0 }, { 62, 17, 0, 16, 0, 0 }, { 61, 17, 0, 16, 0, 0 }, { 60, 17, 0, 16, 0, 0 }, - { 59, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 58, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 9, 15, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, + { 15, 16, 0, 16, 0, 0 }, { 18, 17, 0, 16, 0, 0 }, { 21, 17, 0, 16, 0, 0 }, { 24, 18, 0, 16, 0, 0 }, { 27, 18, 0, 16, 0, 0 }, + { 30, 19, 0, 16, 0, 0 }, { 33, 19, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, { 33, 13, 0, 16, 0, 0 }, { 33, 10, 0, 16, 0, 0 }, + { 33, 7, 0, 16, 0, 0 }, { 33, 5, 0, 16, 0, 0 }, { 35, 5, 0, 16, 0, 0 }, { 37, 5, 0, 16, 0, 0 }, { 39, 5, 0, 16, 0, 0 }, + { 41, 5, 0, 16, 0, 0 }, { 42, 6, 0, 16, 0, 0 }, { 42, 8, 0, 16, 0, 0 }, { 42, 10, 0, 16, 0, 0 }, { 42, 12, 0, 16, 0, 0 }, + { 41, 14, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 41, 18, 0, 16, 0, 0 }, { 43, 18, 0, 16, 0, 0 }, { 45, 18, 0, 16, 0, 0 }, + { 47, 18, 0, 16, 0, 0 }, { 49, 18, 0, 16, 0, 0 }, { 51, 17, 0, 16, 0, 0 }, { 53, 17, 0, 16, 0, 0 }, { 54, 17, 0, 16, 0, 0 }, + { 55, 17, 0, 16, 0, 0 }, { 56, 17, 0, 16, 0, 0 }, { 57, 17, 0, 16, 0, 0 }, { 58, 17, 0, 16, 0, 0 }, { 59, 17, 0, 16, 0, 0 }, + { 60, 17, 0, 16, 0, 0 }, { 61, 17, 0, 16, 0, 0 }, { 62, 17, 0, 16, 0, 0 }, { 61, 17, 0, 16, 0, 0 }, { 60, 17, 0, 16, 0, 0 }, + { 59, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94245F = { - 58, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 22, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, - { 16, 16, 0, 24, 0, 0 }, { 17, 13, 0, 24, 0, 0 }, { 17, 10, 0, 24, 0, 0 }, { 18, 7, 0, 24, 0, 0 }, { 18, 4, 0, 24, 0, 0 }, - { 19, 1, 0, 24, 0, 0 }, { 19, -2, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, { 13, -2, 0, 24, 0, 0 }, { 10, -2, 0, 24, 0, 0 }, - { 7, -2, 0, 24, 0, 0 }, { 5, -2, 0, 24, 0, 0 }, { 5, -4, 0, 24, 0, 0 }, { 5, -6, 0, 24, 0, 0 }, { 5, -8, 0, 24, 0, 0 }, - { 5, -10, 0, 24, 0, 0 }, { 6, -11, 0, 24, 0, 0 }, { 8, -11, 0, 24, 0, 0 }, { 10, -11, 0, 24, 0, 0 }, { 12, -11, 0, 24, 0, 0 }, - { 14, -10, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 18, -10, 0, 24, 0, 0 }, { 18, -12, 0, 24, 0, 0 }, { 18, -14, 0, 24, 0, 0 }, - { 18, -16, 0, 24, 0, 0 }, { 18, -18, 0, 24, 0, 0 }, { 17, -20, 0, 24, 0, 0 }, { 17, -22, 0, 24, 0, 0 }, { 17, -23, 0, 24, 0, 0 }, - { 17, -24, 0, 24, 0, 0 }, { 17, -25, 0, 24, 0, 0 }, { 17, -26, 0, 24, 0, 0 }, { 17, -27, 0, 24, 0, 0 }, { 17, -28, 0, 24, 0, 0 }, - { 17, -29, 0, 24, 0, 0 }, { 17, -30, 0, 24, 0, 0 }, { 17, -31, 0, 24, 0, 0 }, { 17, -30, 0, 24, 0, 0 }, { 17, -29, 0, 24, 0, 0 }, - { 16, -28, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 58, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 22, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, + { 16, 16, 0, 24, 0, 0 }, { 17, 13, 0, 24, 0, 0 }, { 17, 10, 0, 24, 0, 0 }, { 18, 7, 0, 24, 0, 0 }, { 18, 4, 0, 24, 0, 0 }, + { 19, 1, 0, 24, 0, 0 }, { 19, -2, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, { 13, -2, 0, 24, 0, 0 }, { 10, -2, 0, 24, 0, 0 }, + { 7, -2, 0, 24, 0, 0 }, { 5, -2, 0, 24, 0, 0 }, { 5, -4, 0, 24, 0, 0 }, { 5, -6, 0, 24, 0, 0 }, { 5, -8, 0, 24, 0, 0 }, + { 5, -10, 0, 24, 0, 0 }, { 6, -11, 0, 24, 0, 0 }, { 8, -11, 0, 24, 0, 0 }, { 10, -11, 0, 24, 0, 0 }, { 12, -11, 0, 24, 0, 0 }, + { 14, -10, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 18, -10, 0, 24, 0, 0 }, { 18, -12, 0, 24, 0, 0 }, { 18, -14, 0, 24, 0, 0 }, + { 18, -16, 0, 24, 0, 0 }, { 18, -18, 0, 24, 0, 0 }, { 17, -20, 0, 24, 0, 0 }, { 17, -22, 0, 24, 0, 0 }, { 17, -23, 0, 24, 0, 0 }, + { 17, -24, 0, 24, 0, 0 }, { 17, -25, 0, 24, 0, 0 }, { 17, -26, 0, 24, 0, 0 }, { 17, -27, 0, 24, 0, 0 }, { 17, -28, 0, 24, 0, 0 }, + { 17, -29, 0, 24, 0, 0 }, { 17, -30, 0, 24, 0, 0 }, { 17, -31, 0, 24, 0, 0 }, { 17, -30, 0, 24, 0, 0 }, { 17, -29, 0, 24, 0, 0 }, + { 16, -28, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93B4CC = { - 42, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 17, 0, 0, 0, 0 }, { 18, 18, 0, 0, 0, 0 }, - { 15, 19, 0, 0, 0, 0 }, { 12, 19, 0, 0, 0, 0 }, { 10, 20, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, - { 5, 19, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 17, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, - { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -8, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, - { -12, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, - { -18, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, - { -23, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 42, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 17, 0, 0, 0, 0 }, { 18, 18, 0, 0, 0, 0 }, + { 15, 19, 0, 0, 0, 0 }, { 12, 19, 0, 0, 0, 0 }, { 10, 20, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, + { 5, 19, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 17, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, + { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -8, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, + { -12, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, + { -18, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, + { -23, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93DEBD = { - 42, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 17, 10, 0, 8, 0, 0 }, { 18, 13, 0, 8, 0, 0 }, - { 19, 16, 0, 8, 0, 0 }, { 19, 19, 0, 8, 0, 0 }, { 20, 21, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, - { 19, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 17, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, - { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 39, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, - { 16, 43, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, - { 16, 49, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, - { 16, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 42, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 17, 10, 0, 8, 0, 0 }, { 18, 13, 0, 8, 0, 0 }, + { 19, 16, 0, 8, 0, 0 }, { 19, 19, 0, 8, 0, 0 }, { 20, 21, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, + { 19, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 17, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, + { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 39, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, + { 16, 43, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, + { 16, 49, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, + { 16, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9408AE = { - 42, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 14, 0, 16, 0, 0 }, { 13, 13, 0, 16, 0, 0 }, - { 16, 12, 0, 16, 0, 0 }, { 19, 12, 0, 16, 0, 0 }, { 21, 11, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, - { 26, 12, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 14, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, - { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 39, 15, 0, 16, 0, 0 }, { 41, 15, 0, 16, 0, 0 }, - { 43, 15, 0, 16, 0, 0 }, { 45, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 47, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, - { 49, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 51, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 53, 15, 0, 16, 0, 0 }, - { 54, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 42, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 14, 0, 16, 0, 0 }, { 13, 13, 0, 16, 0, 0 }, + { 16, 12, 0, 16, 0, 0 }, { 19, 12, 0, 16, 0, 0 }, { 21, 11, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, + { 26, 12, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 14, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, + { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 39, 15, 0, 16, 0, 0 }, { 41, 15, 0, 16, 0, 0 }, + { 43, 15, 0, 16, 0, 0 }, { 45, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 47, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, + { 49, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 51, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 53, 15, 0, 16, 0, 0 }, + { 54, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94329F = { - 42, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 14, 21, 0, 24, 0, 0 }, { 13, 18, 0, 24, 0, 0 }, - { 12, 15, 0, 24, 0, 0 }, { 12, 12, 0, 24, 0, 0 }, { 11, 10, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, - { 12, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 14, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, - { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -8, 0, 24, 0, 0 }, { 15, -10, 0, 24, 0, 0 }, - { 15, -12, 0, 24, 0, 0 }, { 15, -14, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -16, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, - { 15, -18, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -20, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -22, 0, 24, 0, 0 }, - { 15, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 42, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 14, 21, 0, 24, 0, 0 }, { 13, 18, 0, 24, 0, 0 }, + { 12, 15, 0, 24, 0, 0 }, { 12, 12, 0, 24, 0, 0 }, { 11, 10, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, + { 12, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 14, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, + { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -8, 0, 24, 0, 0 }, { 15, -10, 0, 24, 0, 0 }, + { 15, -12, 0, 24, 0, 0 }, { 15, -14, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -16, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, + { 15, -18, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -20, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -22, 0, 24, 0, 0 }, + { 15, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_944104 = { - 74, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, - { 15, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, - { 0, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -12, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, - { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, { -28, 9, 0, 0, 0, 0 }, - { -26, 7, 0, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, { -22, 3, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, - { -16, 3, 2, 0, 0, 0 }, { -14, 3, 2, 0, 0, 0 }, { -14, 5, 2, 0, 0, 0 }, { -13, 7, 2, 0, 0, 0 }, { -12, 9, 3, 0, 0, 0 }, - { -12, 11, 3, 0, 0, 0 }, { -11, 13, 3, 0, 0, 0 }, { -12, 15, 3, 0, 0, 0 }, { -12, 17, 3, 0, 0, 0 }, { -12, 19, 3, 0, 0, 0 }, - { -13, 21, 3, 0, 0, 0 }, { -13, 23, 3, 0, 0, 0 }, { -13, 25, 3, 0, 0, 0 }, { -14, 27, 3, 0, 0, 0 }, { -14, 29, 3, 0, 0, 0 }, - { -14, 30, 3, 0, 0, 0 }, { -14, 31, 3, 0, 0, 0 }, { -15, 32, 3, 0, 0, 0 }, { -15, 33, 3, 0, 0, 0 }, { -15, 34, 3, 0, 0, 0 }, - { -15, 35, 3, 0, 0, 0 }, { -15, 36, 3, 0, 0, 0 }, { -15, 38, 0, 0, 0, 0 }, { -16, 40, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, - { -16, 42, 0, 0, 0, 0 }, { -16, 43, 0, 0, 0, 0 }, { -16, 44, 0, 0, 0, 0 }, { -16, 45, 0, 0, 0, 0 }, { -17, 46, 0, 0, 0, 0 }, - { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -17, 49, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -17, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, + 74, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, + { 15, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, + { 0, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -12, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, + { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, { -28, 9, 0, 0, 0, 0 }, + { -26, 7, 0, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, { -22, 3, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, + { -16, 3, 2, 0, 0, 0 }, { -14, 3, 2, 0, 0, 0 }, { -14, 5, 2, 0, 0, 0 }, { -13, 7, 2, 0, 0, 0 }, { -12, 9, 3, 0, 0, 0 }, + { -12, 11, 3, 0, 0, 0 }, { -11, 13, 3, 0, 0, 0 }, { -12, 15, 3, 0, 0, 0 }, { -12, 17, 3, 0, 0, 0 }, { -12, 19, 3, 0, 0, 0 }, + { -13, 21, 3, 0, 0, 0 }, { -13, 23, 3, 0, 0, 0 }, { -13, 25, 3, 0, 0, 0 }, { -14, 27, 3, 0, 0, 0 }, { -14, 29, 3, 0, 0, 0 }, + { -14, 30, 3, 0, 0, 0 }, { -14, 31, 3, 0, 0, 0 }, { -15, 32, 3, 0, 0, 0 }, { -15, 33, 3, 0, 0, 0 }, { -15, 34, 3, 0, 0, 0 }, + { -15, 35, 3, 0, 0, 0 }, { -15, 36, 3, 0, 0, 0 }, { -15, 38, 0, 0, 0, 0 }, { -16, 40, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, + { -16, 42, 0, 0, 0, 0 }, { -16, 43, 0, 0, 0, 0 }, { -16, 44, 0, 0, 0, 0 }, { -16, 45, 0, 0, 0, 0 }, { -17, 46, 0, 0, 0, 0 }, + { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -17, 49, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -17, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_946DC2 = { - 74, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, - { 16, 16, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, - { 16, 31, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 16, 43, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, - { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, { 9, 59, 0, 8, 0, 0 }, - { 7, 57, 0, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, { 3, 53, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, - { 3, 47, 2, 8, 0, 0 }, { 3, 45, 2, 8, 0, 0 }, { 5, 45, 2, 8, 0, 0 }, { 7, 44, 2, 8, 0, 0 }, { 9, 43, 3, 8, 0, 0 }, - { 11, 43, 3, 8, 0, 0 }, { 13, 42, 3, 8, 0, 0 }, { 15, 43, 3, 8, 0, 0 }, { 17, 43, 3, 8, 0, 0 }, { 19, 43, 3, 8, 0, 0 }, - { 21, 44, 3, 8, 0, 0 }, { 23, 44, 3, 8, 0, 0 }, { 25, 44, 3, 8, 0, 0 }, { 27, 45, 3, 8, 0, 0 }, { 29, 45, 3, 8, 0, 0 }, - { 30, 45, 3, 8, 0, 0 }, { 31, 45, 3, 8, 0, 0 }, { 32, 46, 3, 8, 0, 0 }, { 33, 46, 3, 8, 0, 0 }, { 34, 46, 3, 8, 0, 0 }, - { 35, 46, 3, 8, 0, 0 }, { 36, 46, 3, 8, 0, 0 }, { 38, 46, 0, 8, 0, 0 }, { 40, 47, 0, 8, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, - { 42, 47, 0, 8, 0, 0 }, { 43, 47, 0, 8, 0, 0 }, { 44, 47, 0, 8, 0, 0 }, { 45, 47, 0, 8, 0, 0 }, { 46, 48, 0, 8, 0, 0 }, - { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { 49, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 60, 48, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, + 74, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, + { 16, 16, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, + { 16, 31, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 16, 43, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, + { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, { 9, 59, 0, 8, 0, 0 }, + { 7, 57, 0, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, { 3, 53, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, + { 3, 47, 2, 8, 0, 0 }, { 3, 45, 2, 8, 0, 0 }, { 5, 45, 2, 8, 0, 0 }, { 7, 44, 2, 8, 0, 0 }, { 9, 43, 3, 8, 0, 0 }, + { 11, 43, 3, 8, 0, 0 }, { 13, 42, 3, 8, 0, 0 }, { 15, 43, 3, 8, 0, 0 }, { 17, 43, 3, 8, 0, 0 }, { 19, 43, 3, 8, 0, 0 }, + { 21, 44, 3, 8, 0, 0 }, { 23, 44, 3, 8, 0, 0 }, { 25, 44, 3, 8, 0, 0 }, { 27, 45, 3, 8, 0, 0 }, { 29, 45, 3, 8, 0, 0 }, + { 30, 45, 3, 8, 0, 0 }, { 31, 45, 3, 8, 0, 0 }, { 32, 46, 3, 8, 0, 0 }, { 33, 46, 3, 8, 0, 0 }, { 34, 46, 3, 8, 0, 0 }, + { 35, 46, 3, 8, 0, 0 }, { 36, 46, 3, 8, 0, 0 }, { 38, 46, 0, 8, 0, 0 }, { 40, 47, 0, 8, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, + { 42, 47, 0, 8, 0, 0 }, { 43, 47, 0, 8, 0, 0 }, { 44, 47, 0, 8, 0, 0 }, { 45, 47, 0, 8, 0, 0 }, { 46, 48, 0, 8, 0, 0 }, + { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { 49, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { 60, 48, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_949A80 = { - 74, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, - { 16, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 25, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, - { 31, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 37, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 43, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, - { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, { 59, 22, 0, 16, 0, 0 }, - { 57, 24, 0, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, { 53, 28, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, - { 47, 28, 2, 16, 0, 0 }, { 45, 28, 2, 16, 0, 0 }, { 45, 26, 2, 16, 0, 0 }, { 44, 24, 2, 16, 0, 0 }, { 43, 22, 3, 16, 0, 0 }, - { 43, 20, 3, 16, 0, 0 }, { 42, 18, 3, 16, 0, 0 }, { 43, 16, 3, 16, 0, 0 }, { 43, 14, 3, 16, 0, 0 }, { 43, 12, 3, 16, 0, 0 }, - { 44, 10, 3, 16, 0, 0 }, { 44, 8, 3, 16, 0, 0 }, { 44, 6, 3, 16, 0, 0 }, { 45, 4, 3, 16, 0, 0 }, { 45, 2, 3, 16, 0, 0 }, - { 45, 1, 3, 16, 0, 0 }, { 45, 0, 3, 16, 0, 0 }, { 46, -1, 3, 16, 0, 0 }, { 46, -2, 3, 16, 0, 0 }, { 46, -3, 3, 16, 0, 0 }, - { 46, -4, 3, 16, 0, 0 }, { 46, -5, 3, 16, 0, 0 }, { 46, -7, 0, 16, 0, 0 }, { 47, -9, 0, 16, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, - { 47, -11, 0, 16, 0, 0 }, { 47, -12, 0, 16, 0, 0 }, { 47, -13, 0, 16, 0, 0 }, { 47, -14, 0, 16, 0, 0 }, { 48, -15, 0, 16, 0, 0 }, - { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { 48, -18, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 48, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, + 74, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, + { 16, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 25, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, + { 31, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 37, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 43, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, + { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, { 59, 22, 0, 16, 0, 0 }, + { 57, 24, 0, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, { 53, 28, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, + { 47, 28, 2, 16, 0, 0 }, { 45, 28, 2, 16, 0, 0 }, { 45, 26, 2, 16, 0, 0 }, { 44, 24, 2, 16, 0, 0 }, { 43, 22, 3, 16, 0, 0 }, + { 43, 20, 3, 16, 0, 0 }, { 42, 18, 3, 16, 0, 0 }, { 43, 16, 3, 16, 0, 0 }, { 43, 14, 3, 16, 0, 0 }, { 43, 12, 3, 16, 0, 0 }, + { 44, 10, 3, 16, 0, 0 }, { 44, 8, 3, 16, 0, 0 }, { 44, 6, 3, 16, 0, 0 }, { 45, 4, 3, 16, 0, 0 }, { 45, 2, 3, 16, 0, 0 }, + { 45, 1, 3, 16, 0, 0 }, { 45, 0, 3, 16, 0, 0 }, { 46, -1, 3, 16, 0, 0 }, { 46, -2, 3, 16, 0, 0 }, { 46, -3, 3, 16, 0, 0 }, + { 46, -4, 3, 16, 0, 0 }, { 46, -5, 3, 16, 0, 0 }, { 46, -7, 0, 16, 0, 0 }, { 47, -9, 0, 16, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, + { 47, -11, 0, 16, 0, 0 }, { 47, -12, 0, 16, 0, 0 }, { 47, -13, 0, 16, 0, 0 }, { 47, -14, 0, 16, 0, 0 }, { 48, -15, 0, 16, 0, 0 }, + { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { 48, -18, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { 48, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94C73E = { - 74, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, - { 15, 15, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 6, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, - { 15, 0, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -6, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 15, -12, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, - { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, { 22, -28, 0, 24, 0, 0 }, - { 24, -26, 0, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, { 28, -22, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, - { 28, -16, 2, 24, 0, 0 }, { 28, -14, 2, 24, 0, 0 }, { 26, -14, 2, 24, 0, 0 }, { 24, -13, 2, 24, 0, 0 }, { 22, -12, 3, 24, 0, 0 }, - { 20, -12, 3, 24, 0, 0 }, { 18, -11, 3, 24, 0, 0 }, { 16, -12, 3, 24, 0, 0 }, { 14, -12, 3, 24, 0, 0 }, { 12, -12, 3, 24, 0, 0 }, - { 10, -13, 3, 24, 0, 0 }, { 8, -13, 3, 24, 0, 0 }, { 6, -13, 3, 24, 0, 0 }, { 4, -14, 3, 24, 0, 0 }, { 2, -14, 3, 24, 0, 0 }, - { 1, -14, 3, 24, 0, 0 }, { 0, -14, 3, 24, 0, 0 }, { -1, -15, 3, 24, 0, 0 }, { -2, -15, 3, 24, 0, 0 }, { -3, -15, 3, 24, 0, 0 }, - { -4, -15, 3, 24, 0, 0 }, { -5, -15, 3, 24, 0, 0 }, { -7, -15, 0, 24, 0, 0 }, { -9, -16, 0, 24, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, - { -11, -16, 0, 24, 0, 0 }, { -12, -16, 0, 24, 0, 0 }, { -13, -16, 0, 24, 0, 0 }, { -14, -16, 0, 24, 0, 0 }, { -15, -17, 0, 24, 0, 0 }, - { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -18, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -29, -17, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, + 74, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, + { 15, 15, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 6, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, + { 15, 0, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -6, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 15, -12, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, + { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, { 22, -28, 0, 24, 0, 0 }, + { 24, -26, 0, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, { 28, -22, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, + { 28, -16, 2, 24, 0, 0 }, { 28, -14, 2, 24, 0, 0 }, { 26, -14, 2, 24, 0, 0 }, { 24, -13, 2, 24, 0, 0 }, { 22, -12, 3, 24, 0, 0 }, + { 20, -12, 3, 24, 0, 0 }, { 18, -11, 3, 24, 0, 0 }, { 16, -12, 3, 24, 0, 0 }, { 14, -12, 3, 24, 0, 0 }, { 12, -12, 3, 24, 0, 0 }, + { 10, -13, 3, 24, 0, 0 }, { 8, -13, 3, 24, 0, 0 }, { 6, -13, 3, 24, 0, 0 }, { 4, -14, 3, 24, 0, 0 }, { 2, -14, 3, 24, 0, 0 }, + { 1, -14, 3, 24, 0, 0 }, { 0, -14, 3, 24, 0, 0 }, { -1, -15, 3, 24, 0, 0 }, { -2, -15, 3, 24, 0, 0 }, { -3, -15, 3, 24, 0, 0 }, + { -4, -15, 3, 24, 0, 0 }, { -5, -15, 3, 24, 0, 0 }, { -7, -15, 0, 24, 0, 0 }, { -9, -16, 0, 24, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, + { -11, -16, 0, 24, 0, 0 }, { -12, -16, 0, 24, 0, 0 }, { -13, -16, 0, 24, 0, 0 }, { -14, -16, 0, 24, 0, 0 }, { -15, -17, 0, 24, 0, 0 }, + { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -18, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -29, -17, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_945763 = { - 74, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, - { 15, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, - { 0, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -12, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, - { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, { -28, 23, 0, 0, 0, 0 }, - { -26, 25, 0, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, { -22, 29, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, - { -16, 29, 2, 0, 0, 0 }, { -14, 29, 2, 0, 0, 0 }, { -14, 27, 2, 0, 0, 0 }, { -13, 25, 2, 0, 0, 0 }, { -12, 23, 3, 0, 0, 0 }, - { -12, 21, 3, 0, 0, 0 }, { -11, 19, 3, 0, 0, 0 }, { -12, 17, 3, 0, 0, 0 }, { -12, 15, 3, 0, 0, 0 }, { -12, 13, 3, 0, 0, 0 }, - { -13, 11, 3, 0, 0, 0 }, { -13, 9, 3, 0, 0, 0 }, { -13, 7, 3, 0, 0, 0 }, { -14, 5, 3, 0, 0, 0 }, { -14, 3, 3, 0, 0, 0 }, - { -14, 2, 3, 0, 0, 0 }, { -14, 1, 3, 0, 0, 0 }, { -15, 0, 3, 0, 0, 0 }, { -15, -1, 3, 0, 0, 0 }, { -15, -2, 3, 0, 0, 0 }, - { -15, -3, 3, 0, 0, 0 }, { -15, -4, 3, 0, 0, 0 }, { -15, -6, 0, 0, 0, 0 }, { -16, -8, 0, 0, 0, 0 }, { -16, -9, 0, 0, 0, 0 }, - { -16, -10, 0, 0, 0, 0 }, { -16, -11, 0, 0, 0, 0 }, { -16, -12, 0, 0, 0, 0 }, { -16, -13, 0, 0, 0, 0 }, { -17, -14, 0, 0, 0, 0 }, - { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -17, -28, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, + 74, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, + { 15, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, + { 0, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -12, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, + { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, { -28, 23, 0, 0, 0, 0 }, + { -26, 25, 0, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, { -22, 29, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, + { -16, 29, 2, 0, 0, 0 }, { -14, 29, 2, 0, 0, 0 }, { -14, 27, 2, 0, 0, 0 }, { -13, 25, 2, 0, 0, 0 }, { -12, 23, 3, 0, 0, 0 }, + { -12, 21, 3, 0, 0, 0 }, { -11, 19, 3, 0, 0, 0 }, { -12, 17, 3, 0, 0, 0 }, { -12, 15, 3, 0, 0, 0 }, { -12, 13, 3, 0, 0, 0 }, + { -13, 11, 3, 0, 0, 0 }, { -13, 9, 3, 0, 0, 0 }, { -13, 7, 3, 0, 0, 0 }, { -14, 5, 3, 0, 0, 0 }, { -14, 3, 3, 0, 0, 0 }, + { -14, 2, 3, 0, 0, 0 }, { -14, 1, 3, 0, 0, 0 }, { -15, 0, 3, 0, 0, 0 }, { -15, -1, 3, 0, 0, 0 }, { -15, -2, 3, 0, 0, 0 }, + { -15, -3, 3, 0, 0, 0 }, { -15, -4, 3, 0, 0, 0 }, { -15, -6, 0, 0, 0, 0 }, { -16, -8, 0, 0, 0, 0 }, { -16, -9, 0, 0, 0, 0 }, + { -16, -10, 0, 0, 0, 0 }, { -16, -11, 0, 0, 0, 0 }, { -16, -12, 0, 0, 0, 0 }, { -16, -13, 0, 0, 0, 0 }, { -17, -14, 0, 0, 0, 0 }, + { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -17, -28, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_948421 = { - 74, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, - { 16, 16, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, - { 16, 31, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 16, 43, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, - { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, { 23, 59, 0, 8, 0, 0 }, - { 25, 57, 0, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, { 29, 53, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, - { 29, 47, 2, 8, 0, 0 }, { 29, 45, 2, 8, 0, 0 }, { 27, 45, 2, 8, 0, 0 }, { 25, 44, 2, 8, 0, 0 }, { 23, 43, 3, 8, 0, 0 }, - { 21, 43, 3, 8, 0, 0 }, { 19, 42, 3, 8, 0, 0 }, { 17, 43, 3, 8, 0, 0 }, { 15, 43, 3, 8, 0, 0 }, { 13, 43, 3, 8, 0, 0 }, - { 11, 44, 3, 8, 0, 0 }, { 9, 44, 3, 8, 0, 0 }, { 7, 44, 3, 8, 0, 0 }, { 5, 45, 3, 8, 0, 0 }, { 3, 45, 3, 8, 0, 0 }, - { 2, 45, 3, 8, 0, 0 }, { 1, 45, 3, 8, 0, 0 }, { 0, 46, 3, 8, 0, 0 }, { -1, 46, 3, 8, 0, 0 }, { -2, 46, 3, 8, 0, 0 }, - { -3, 46, 3, 8, 0, 0 }, { -4, 46, 3, 8, 0, 0 }, { -6, 46, 0, 8, 0, 0 }, { -8, 47, 0, 8, 0, 0 }, { -9, 47, 0, 8, 0, 0 }, - { -10, 47, 0, 8, 0, 0 }, { -11, 47, 0, 8, 0, 0 }, { -12, 47, 0, 8, 0, 0 }, { -13, 47, 0, 8, 0, 0 }, { -14, 48, 0, 8, 0, 0 }, - { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -28, 48, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, + 74, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, + { 16, 16, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, + { 16, 31, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 16, 43, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, + { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, { 23, 59, 0, 8, 0, 0 }, + { 25, 57, 0, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, { 29, 53, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, + { 29, 47, 2, 8, 0, 0 }, { 29, 45, 2, 8, 0, 0 }, { 27, 45, 2, 8, 0, 0 }, { 25, 44, 2, 8, 0, 0 }, { 23, 43, 3, 8, 0, 0 }, + { 21, 43, 3, 8, 0, 0 }, { 19, 42, 3, 8, 0, 0 }, { 17, 43, 3, 8, 0, 0 }, { 15, 43, 3, 8, 0, 0 }, { 13, 43, 3, 8, 0, 0 }, + { 11, 44, 3, 8, 0, 0 }, { 9, 44, 3, 8, 0, 0 }, { 7, 44, 3, 8, 0, 0 }, { 5, 45, 3, 8, 0, 0 }, { 3, 45, 3, 8, 0, 0 }, + { 2, 45, 3, 8, 0, 0 }, { 1, 45, 3, 8, 0, 0 }, { 0, 46, 3, 8, 0, 0 }, { -1, 46, 3, 8, 0, 0 }, { -2, 46, 3, 8, 0, 0 }, + { -3, 46, 3, 8, 0, 0 }, { -4, 46, 3, 8, 0, 0 }, { -6, 46, 0, 8, 0, 0 }, { -8, 47, 0, 8, 0, 0 }, { -9, 47, 0, 8, 0, 0 }, + { -10, 47, 0, 8, 0, 0 }, { -11, 47, 0, 8, 0, 0 }, { -12, 47, 0, 8, 0, 0 }, { -13, 47, 0, 8, 0, 0 }, { -14, 48, 0, 8, 0, 0 }, + { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -28, 48, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94B0DF = { - 74, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, - { 16, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 25, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, - { 31, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 37, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 43, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, - { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, { 59, 8, 0, 16, 0, 0 }, - { 57, 6, 0, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, { 53, 2, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, - { 47, 2, 2, 16, 0, 0 }, { 45, 2, 2, 16, 0, 0 }, { 45, 4, 2, 16, 0, 0 }, { 44, 6, 2, 16, 0, 0 }, { 43, 8, 3, 16, 0, 0 }, - { 43, 10, 3, 16, 0, 0 }, { 42, 12, 3, 16, 0, 0 }, { 43, 14, 3, 16, 0, 0 }, { 43, 16, 3, 16, 0, 0 }, { 43, 18, 3, 16, 0, 0 }, - { 44, 20, 3, 16, 0, 0 }, { 44, 22, 3, 16, 0, 0 }, { 44, 24, 3, 16, 0, 0 }, { 45, 26, 3, 16, 0, 0 }, { 45, 28, 3, 16, 0, 0 }, - { 45, 29, 3, 16, 0, 0 }, { 45, 30, 3, 16, 0, 0 }, { 46, 31, 3, 16, 0, 0 }, { 46, 32, 3, 16, 0, 0 }, { 46, 33, 3, 16, 0, 0 }, - { 46, 34, 3, 16, 0, 0 }, { 46, 35, 3, 16, 0, 0 }, { 46, 37, 0, 16, 0, 0 }, { 47, 39, 0, 16, 0, 0 }, { 47, 40, 0, 16, 0, 0 }, - { 47, 41, 0, 16, 0, 0 }, { 47, 42, 0, 16, 0, 0 }, { 47, 43, 0, 16, 0, 0 }, { 47, 44, 0, 16, 0, 0 }, { 48, 45, 0, 16, 0, 0 }, - { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 48, 59, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, + 74, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, + { 16, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 25, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, + { 31, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 37, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 43, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, + { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, { 59, 8, 0, 16, 0, 0 }, + { 57, 6, 0, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, { 53, 2, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, + { 47, 2, 2, 16, 0, 0 }, { 45, 2, 2, 16, 0, 0 }, { 45, 4, 2, 16, 0, 0 }, { 44, 6, 2, 16, 0, 0 }, { 43, 8, 3, 16, 0, 0 }, + { 43, 10, 3, 16, 0, 0 }, { 42, 12, 3, 16, 0, 0 }, { 43, 14, 3, 16, 0, 0 }, { 43, 16, 3, 16, 0, 0 }, { 43, 18, 3, 16, 0, 0 }, + { 44, 20, 3, 16, 0, 0 }, { 44, 22, 3, 16, 0, 0 }, { 44, 24, 3, 16, 0, 0 }, { 45, 26, 3, 16, 0, 0 }, { 45, 28, 3, 16, 0, 0 }, + { 45, 29, 3, 16, 0, 0 }, { 45, 30, 3, 16, 0, 0 }, { 46, 31, 3, 16, 0, 0 }, { 46, 32, 3, 16, 0, 0 }, { 46, 33, 3, 16, 0, 0 }, + { 46, 34, 3, 16, 0, 0 }, { 46, 35, 3, 16, 0, 0 }, { 46, 37, 0, 16, 0, 0 }, { 47, 39, 0, 16, 0, 0 }, { 47, 40, 0, 16, 0, 0 }, + { 47, 41, 0, 16, 0, 0 }, { 47, 42, 0, 16, 0, 0 }, { 47, 43, 0, 16, 0, 0 }, { 47, 44, 0, 16, 0, 0 }, { 48, 45, 0, 16, 0, 0 }, + { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { 48, 59, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94DD9D = { - 74, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, - { 15, 15, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 6, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, - { 15, 0, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -6, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 15, -12, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, - { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, { 8, -28, 0, 24, 0, 0 }, - { 6, -26, 0, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, { 2, -22, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, - { 2, -16, 2, 24, 0, 0 }, { 2, -14, 2, 24, 0, 0 }, { 4, -14, 2, 24, 0, 0 }, { 6, -13, 2, 24, 0, 0 }, { 8, -12, 3, 24, 0, 0 }, - { 10, -12, 3, 24, 0, 0 }, { 12, -11, 3, 24, 0, 0 }, { 14, -12, 3, 24, 0, 0 }, { 16, -12, 3, 24, 0, 0 }, { 18, -12, 3, 24, 0, 0 }, - { 20, -13, 3, 24, 0, 0 }, { 22, -13, 3, 24, 0, 0 }, { 24, -13, 3, 24, 0, 0 }, { 26, -14, 3, 24, 0, 0 }, { 28, -14, 3, 24, 0, 0 }, - { 29, -14, 3, 24, 0, 0 }, { 30, -14, 3, 24, 0, 0 }, { 31, -15, 3, 24, 0, 0 }, { 32, -15, 3, 24, 0, 0 }, { 33, -15, 3, 24, 0, 0 }, - { 34, -15, 3, 24, 0, 0 }, { 35, -15, 3, 24, 0, 0 }, { 37, -15, 0, 24, 0, 0 }, { 39, -16, 0, 24, 0, 0 }, { 40, -16, 0, 24, 0, 0 }, - { 41, -16, 0, 24, 0, 0 }, { 42, -16, 0, 24, 0, 0 }, { 43, -16, 0, 24, 0, 0 }, { 44, -16, 0, 24, 0, 0 }, { 45, -17, 0, 24, 0, 0 }, - { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 59, -17, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, + 74, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, + { 15, 15, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 6, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, + { 15, 0, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -6, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 15, -12, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, + { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, { 8, -28, 0, 24, 0, 0 }, + { 6, -26, 0, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, { 2, -22, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, + { 2, -16, 2, 24, 0, 0 }, { 2, -14, 2, 24, 0, 0 }, { 4, -14, 2, 24, 0, 0 }, { 6, -13, 2, 24, 0, 0 }, { 8, -12, 3, 24, 0, 0 }, + { 10, -12, 3, 24, 0, 0 }, { 12, -11, 3, 24, 0, 0 }, { 14, -12, 3, 24, 0, 0 }, { 16, -12, 3, 24, 0, 0 }, { 18, -12, 3, 24, 0, 0 }, + { 20, -13, 3, 24, 0, 0 }, { 22, -13, 3, 24, 0, 0 }, { 24, -13, 3, 24, 0, 0 }, { 26, -14, 3, 24, 0, 0 }, { 28, -14, 3, 24, 0, 0 }, + { 29, -14, 3, 24, 0, 0 }, { 30, -14, 3, 24, 0, 0 }, { 31, -15, 3, 24, 0, 0 }, { 32, -15, 3, 24, 0, 0 }, { 33, -15, 3, 24, 0, 0 }, + { 34, -15, 3, 24, 0, 0 }, { 35, -15, 3, 24, 0, 0 }, { 37, -15, 0, 24, 0, 0 }, { 39, -16, 0, 24, 0, 0 }, { 40, -16, 0, 24, 0, 0 }, + { 41, -16, 0, 24, 0, 0 }, { 42, -16, 0, 24, 0, 0 }, { 43, -16, 0, 24, 0, 0 }, { 44, -16, 0, 24, 0, 0 }, { 45, -17, 0, 24, 0, 0 }, + { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { 59, -17, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_939A85 = { - 66, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 18, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, - { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 3, 16, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 3, 16, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 3, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 3, 16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, - { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, - { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, - { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -29, 16, 0, 0, 0, 0 }, + 66, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 18, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, + { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 3, 16, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 3, 16, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 3, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 3, 16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, + { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, + { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, + { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93C476 = { - 66, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 13, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, - { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 28, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 28, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 28, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 28, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, - { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, - { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, - { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 16, 60, 0, 8, 0, 0 }, + 66, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 13, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, + { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 28, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 28, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 28, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 28, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, + { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, + { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, + { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93EE67 = { - 66, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 13, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, - { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 28, 15, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 28, 15, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 28, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 28, 15, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, - { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, - { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, - { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 60, 15, 0, 16, 0, 0 }, + 66, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 13, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, + { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 28, 15, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 28, 15, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 28, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 28, 15, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, + { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, + { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, + { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_941858 = { - 66, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 18, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, - { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 3, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 3, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 3, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 3, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, - { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, - { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, - { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 15, -29, 0, 24, 0, 0 }, + 66, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 18, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, + { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 3, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 3, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 3, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 3, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, + { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, + { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, + { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93A898 = { - 81, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, - { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 2, 16, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 2, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 2, 16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, - { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -5, 18, 0, 8, 0, 0 }, { -5, 20, 0, 8, 0, 0 }, { -5, 22, 0, 8, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -4, 22, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -4, 22, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -4, 22, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -5, 20, 0, 24, 0, 0 }, { -5, 18, 0, 24, 0, 0 }, { -5, 16, 0, 24, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, - { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, - { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -29, 16, 0, 0, 0, 0 }, + 81, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, + { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 2, 16, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 2, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 2, 16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, + { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -5, 18, 0, 8, 0, 0 }, { -5, 20, 0, 8, 0, 0 }, { -5, 22, 0, 8, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -4, 22, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -4, 22, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -4, 22, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -5, 20, 0, 24, 0, 0 }, { -5, 18, 0, 24, 0, 0 }, { -5, 16, 0, 24, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, + { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, + { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93D289 = { - 81, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, - { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 29, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 29, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 29, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, - { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 18, 36, 0, 16, 0, 0 }, { 20, 36, 0, 16, 0, 0 }, { 22, 36, 0, 16, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 22, 35, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 22, 35, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 22, 35, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 20, 36, 0, 0, 0, 0 }, { 18, 36, 0, 0, 0, 0 }, { 16, 36, 0, 0, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, - { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, - { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 58, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 16, 60, 0, 8, 0, 0 }, + 81, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, + { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 29, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 29, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 29, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, + { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 18, 36, 0, 16, 0, 0 }, { 20, 36, 0, 16, 0, 0 }, { 22, 36, 0, 16, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 22, 35, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 22, 35, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 22, 35, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 20, 36, 0, 0, 0, 0 }, { 18, 36, 0, 0, 0, 0 }, { 16, 36, 0, 0, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, + { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, + { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 58, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93FC7A = { - 81, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, - { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 29, 15, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 29, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 29, 15, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, - { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 36, 13, 0, 24, 0, 0 }, { 36, 11, 0, 24, 0, 0 }, { 36, 9, 0, 24, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 35, 9, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 35, 9, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 35, 9, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 36, 11, 0, 8, 0, 0 }, { 36, 13, 0, 8, 0, 0 }, { 36, 15, 0, 8, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, - { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, - { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 58, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 60, 15, 0, 16, 0, 0 }, + 81, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, + { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 29, 15, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 29, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 29, 15, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, + { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 36, 13, 0, 24, 0, 0 }, { 36, 11, 0, 24, 0, 0 }, { 36, 9, 0, 24, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 35, 9, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 35, 9, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 35, 9, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 36, 11, 0, 8, 0, 0 }, { 36, 13, 0, 8, 0, 0 }, { 36, 15, 0, 8, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, + { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, + { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 58, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94266B = { - 81, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, - { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 2, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 2, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 2, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, - { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 13, -5, 0, 0, 0, 0 }, { 11, -5, 0, 0, 0, 0 }, { 9, -5, 0, 0, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 9, -4, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 9, -4, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 9, -4, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 11, -5, 0, 16, 0, 0 }, { 13, -5, 0, 16, 0, 0 }, { 15, -5, 0, 16, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, - { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, - { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, -27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 15, -29, 0, 24, 0, 0 }, + 81, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, + { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 2, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 2, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 2, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, + { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 13, -5, 0, 0, 0, 0 }, { 11, -5, 0, 0, 0, 0 }, { 9, -5, 0, 0, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 9, -4, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 9, -4, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 9, -4, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 11, -5, 0, 16, 0, 0 }, { 13, -5, 0, 16, 0, 0 }, { 15, -5, 0, 16, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, + { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, + { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, -27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93B648 = { - 73, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 5, 0, 0, 0 }, - { 7, 16, 5, 0, 0, 0 }, { 5, 16, 5, 0, 0, 0 }, { 3, 16, 5, 0, 0, 0 }, { 1, 16, 5, 0, 0, 0 }, { -1, 16, 5, 0, 0, 0 }, - { -3, 16, 5, 0, 0, 0 }, { -5, 16, 5, 0, 0, 0 }, { -7, 16, 5, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, - { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, - { -23, 16, 0, 0, 0, 0 }, { -23, 14, 0, 24, 0, 0 }, { -23, 12, 0, 24, 0, 0 }, { -23, 10, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -23, 10, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -23, 10, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -23, 10, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -23, 10, 0, 8, 0, 0 }, - { -23, 12, 0, 8, 0, 0 }, { -23, 14, 0, 8, 0, 0 }, { -23, 16, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -23, 16, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, - { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 73, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 5, 0, 0, 0 }, + { 7, 16, 5, 0, 0, 0 }, { 5, 16, 5, 0, 0, 0 }, { 3, 16, 5, 0, 0, 0 }, { 1, 16, 5, 0, 0, 0 }, { -1, 16, 5, 0, 0, 0 }, + { -3, 16, 5, 0, 0, 0 }, { -5, 16, 5, 0, 0, 0 }, { -7, 16, 5, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, + { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, + { -23, 16, 0, 0, 0, 0 }, { -23, 14, 0, 24, 0, 0 }, { -23, 12, 0, 24, 0, 0 }, { -23, 10, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -23, 10, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -23, 10, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -23, 10, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -23, 10, 0, 8, 0, 0 }, + { -23, 12, 0, 8, 0, 0 }, { -23, 14, 0, 8, 0, 0 }, { -23, 16, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -23, 16, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, + { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93E039 = { - 73, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, - { 16, 24, 5, 8, 0, 0 }, { 16, 26, 5, 8, 0, 0 }, { 16, 28, 5, 8, 0, 0 }, { 16, 30, 5, 8, 0, 0 }, { 16, 32, 5, 8, 0, 0 }, - { 16, 34, 5, 8, 0, 0 }, { 16, 36, 5, 8, 0, 0 }, { 16, 38, 5, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, - { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, - { 16, 54, 0, 8, 0, 0 }, { 14, 54, 0, 0, 0, 0 }, { 12, 54, 0, 0, 0, 0 }, { 10, 54, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 10, 54, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 10, 54, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 10, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 10, 54, 0, 16, 0, 0 }, - { 12, 54, 0, 16, 0, 0 }, { 14, 54, 0, 16, 0, 0 }, { 16, 54, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 54, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, - { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 73, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, + { 16, 24, 5, 8, 0, 0 }, { 16, 26, 5, 8, 0, 0 }, { 16, 28, 5, 8, 0, 0 }, { 16, 30, 5, 8, 0, 0 }, { 16, 32, 5, 8, 0, 0 }, + { 16, 34, 5, 8, 0, 0 }, { 16, 36, 5, 8, 0, 0 }, { 16, 38, 5, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, + { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, + { 16, 54, 0, 8, 0, 0 }, { 14, 54, 0, 0, 0, 0 }, { 12, 54, 0, 0, 0, 0 }, { 10, 54, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 10, 54, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 10, 54, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 10, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 10, 54, 0, 16, 0, 0 }, + { 12, 54, 0, 16, 0, 0 }, { 14, 54, 0, 16, 0, 0 }, { 16, 54, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 54, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, + { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_940A2A = { - 73, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 5, 16, 0, 0 }, - { 24, 15, 5, 16, 0, 0 }, { 26, 15, 5, 16, 0, 0 }, { 28, 15, 5, 16, 0, 0 }, { 30, 15, 5, 16, 0, 0 }, { 32, 15, 5, 16, 0, 0 }, - { 34, 15, 5, 16, 0, 0 }, { 36, 15, 5, 16, 0, 0 }, { 38, 15, 5, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, - { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, - { 54, 15, 0, 16, 0, 0 }, { 54, 17, 0, 8, 0, 0 }, { 54, 19, 0, 8, 0, 0 }, { 54, 21, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 54, 21, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 54, 21, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 54, 21, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 54, 21, 0, 24, 0, 0 }, - { 54, 19, 0, 24, 0, 0 }, { 54, 17, 0, 24, 0, 0 }, { 54, 15, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 54, 15, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, - { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 73, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 5, 16, 0, 0 }, + { 24, 15, 5, 16, 0, 0 }, { 26, 15, 5, 16, 0, 0 }, { 28, 15, 5, 16, 0, 0 }, { 30, 15, 5, 16, 0, 0 }, { 32, 15, 5, 16, 0, 0 }, + { 34, 15, 5, 16, 0, 0 }, { 36, 15, 5, 16, 0, 0 }, { 38, 15, 5, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, + { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, + { 54, 15, 0, 16, 0, 0 }, { 54, 17, 0, 8, 0, 0 }, { 54, 19, 0, 8, 0, 0 }, { 54, 21, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 54, 21, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 54, 21, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 54, 21, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 54, 21, 0, 24, 0, 0 }, + { 54, 19, 0, 24, 0, 0 }, { 54, 17, 0, 24, 0, 0 }, { 54, 15, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 54, 15, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, + { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94341B = { - 73, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 5, 24, 0, 0 }, - { 15, 7, 5, 24, 0, 0 }, { 15, 5, 5, 24, 0, 0 }, { 15, 3, 5, 24, 0, 0 }, { 15, 1, 5, 24, 0, 0 }, { 15, -1, 5, 24, 0, 0 }, - { 15, -3, 5, 24, 0, 0 }, { 15, -5, 5, 24, 0, 0 }, { 15, -7, 5, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, - { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, - { 15, -23, 0, 24, 0, 0 }, { 17, -23, 0, 16, 0, 0 }, { 19, -23, 0, 16, 0, 0 }, { 21, -23, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 21, -23, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 21, -23, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 21, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 21, -23, 0, 0, 0, 0 }, - { 19, -23, 0, 0, 0, 0 }, { 17, -23, 0, 0, 0, 0 }, { 15, -23, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, -23, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, - { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 73, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 5, 24, 0, 0 }, + { 15, 7, 5, 24, 0, 0 }, { 15, 5, 5, 24, 0, 0 }, { 15, 3, 5, 24, 0, 0 }, { 15, 1, 5, 24, 0, 0 }, { 15, -1, 5, 24, 0, 0 }, + { 15, -3, 5, 24, 0, 0 }, { 15, -5, 5, 24, 0, 0 }, { 15, -7, 5, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, + { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, + { 15, -23, 0, 24, 0, 0 }, { 17, -23, 0, 16, 0, 0 }, { 19, -23, 0, 16, 0, 0 }, { 21, -23, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 21, -23, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 21, -23, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 21, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 21, -23, 0, 0, 0, 0 }, + { 19, -23, 0, 0, 0, 0 }, { 17, -23, 0, 0, 0, 0 }, { 15, -23, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, -23, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, + { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9443A0 = { - 92, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 18, 0, 8, 0, 0 }, { 15, 20, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 20, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, - { 11, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 5, 20, 0, 0, 0, 0 }, { 3, 20, 0, 0, 0, 0 }, - { 1, 20, 0, 0, 0, 0 }, { -1, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -3, 22, 0, 8, 0, 0 }, { -3, 24, 0, 8, 0, 0 }, - { -3, 26, 0, 8, 0, 0 }, { -3, 28, 0, 8, 0, 0 }, { -3, 30, 0, 8, 0, 0 }, { -3, 32, 0, 8, 0, 0 }, { -3, 34, 0, 8, 0, 0 }, - { -3, 36, 0, 8, 0, 0 }, { -3, 38, 0, 8, 0, 0 }, { -3, 40, 0, 8, 0, 0 }, { -3, 42, 0, 8, 0, 0 }, { -5, 42, 0, 0, 0, 0 }, - { -7, 42, 0, 0, 0, 0 }, { -9, 42, 0, 0, 0, 0 }, { -11, 42, 0, 0, 0, 0 }, { -13, 42, 0, 0, 0, 0 }, { -15, 42, 0, 0, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -17, 43, 0, 8, 0, 0 }, { -17, 45, 0, 8, 0, 0 }, { -17, 47, 0, 8, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, - { -17, 50, 0, 8, 0, 0 }, { -17, 52, 0, 8, 0, 0 }, { -17, 54, 0, 8, 0, 0 }, { -17, 56, 0, 8, 0, 0 }, { -17, 58, 0, 8, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, + 92, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 18, 0, 8, 0, 0 }, { 15, 20, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 20, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, + { 11, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 5, 20, 0, 0, 0, 0 }, { 3, 20, 0, 0, 0, 0 }, + { 1, 20, 0, 0, 0, 0 }, { -1, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -3, 22, 0, 8, 0, 0 }, { -3, 24, 0, 8, 0, 0 }, + { -3, 26, 0, 8, 0, 0 }, { -3, 28, 0, 8, 0, 0 }, { -3, 30, 0, 8, 0, 0 }, { -3, 32, 0, 8, 0, 0 }, { -3, 34, 0, 8, 0, 0 }, + { -3, 36, 0, 8, 0, 0 }, { -3, 38, 0, 8, 0, 0 }, { -3, 40, 0, 8, 0, 0 }, { -3, 42, 0, 8, 0, 0 }, { -5, 42, 0, 0, 0, 0 }, + { -7, 42, 0, 0, 0, 0 }, { -9, 42, 0, 0, 0, 0 }, { -11, 42, 0, 0, 0, 0 }, { -13, 42, 0, 0, 0, 0 }, { -15, 42, 0, 0, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -17, 43, 0, 8, 0, 0 }, { -17, 45, 0, 8, 0, 0 }, { -17, 47, 0, 8, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, + { -17, 50, 0, 8, 0, 0 }, { -17, 52, 0, 8, 0, 0 }, { -17, 54, 0, 8, 0, 0 }, { -17, 56, 0, 8, 0, 0 }, { -17, 58, 0, 8, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94705E = { - 92, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 20, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, - { 20, 20, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 26, 0, 8, 0, 0 }, { 20, 28, 0, 8, 0, 0 }, - { 20, 30, 0, 8, 0, 0 }, { 20, 32, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 22, 34, 0, 16, 0, 0 }, { 24, 34, 0, 16, 0, 0 }, - { 26, 34, 0, 16, 0, 0 }, { 28, 34, 0, 16, 0, 0 }, { 30, 34, 0, 16, 0, 0 }, { 32, 34, 0, 16, 0, 0 }, { 34, 34, 0, 16, 0, 0 }, - { 36, 34, 0, 16, 0, 0 }, { 38, 34, 0, 16, 0, 0 }, { 40, 34, 0, 16, 0, 0 }, { 42, 34, 0, 16, 0, 0 }, { 42, 36, 0, 8, 0, 0 }, - { 42, 38, 0, 8, 0, 0 }, { 42, 40, 0, 8, 0, 0 }, { 42, 42, 0, 8, 0, 0 }, { 42, 44, 0, 8, 0, 0 }, { 42, 46, 0, 8, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 43, 48, 0, 16, 0, 0 }, { 45, 48, 0, 16, 0, 0 }, { 47, 48, 0, 16, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, - { 50, 48, 0, 16, 0, 0 }, { 52, 48, 0, 16, 0, 0 }, { 54, 48, 0, 16, 0, 0 }, { 56, 48, 0, 16, 0, 0 }, { 58, 48, 0, 16, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, + 92, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 20, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, + { 20, 20, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 26, 0, 8, 0, 0 }, { 20, 28, 0, 8, 0, 0 }, + { 20, 30, 0, 8, 0, 0 }, { 20, 32, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 22, 34, 0, 16, 0, 0 }, { 24, 34, 0, 16, 0, 0 }, + { 26, 34, 0, 16, 0, 0 }, { 28, 34, 0, 16, 0, 0 }, { 30, 34, 0, 16, 0, 0 }, { 32, 34, 0, 16, 0, 0 }, { 34, 34, 0, 16, 0, 0 }, + { 36, 34, 0, 16, 0, 0 }, { 38, 34, 0, 16, 0, 0 }, { 40, 34, 0, 16, 0, 0 }, { 42, 34, 0, 16, 0, 0 }, { 42, 36, 0, 8, 0, 0 }, + { 42, 38, 0, 8, 0, 0 }, { 42, 40, 0, 8, 0, 0 }, { 42, 42, 0, 8, 0, 0 }, { 42, 44, 0, 8, 0, 0 }, { 42, 46, 0, 8, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 43, 48, 0, 16, 0, 0 }, { 45, 48, 0, 16, 0, 0 }, { 47, 48, 0, 16, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, + { 50, 48, 0, 16, 0, 0 }, { 52, 48, 0, 16, 0, 0 }, { 54, 48, 0, 16, 0, 0 }, { 56, 48, 0, 16, 0, 0 }, { 58, 48, 0, 16, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_949D1C = { - 92, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 11, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, - { 20, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 26, 11, 0, 16, 0, 0 }, { 28, 11, 0, 16, 0, 0 }, - { 30, 11, 0, 16, 0, 0 }, { 32, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 34, 9, 0, 24, 0, 0 }, { 34, 7, 0, 24, 0, 0 }, - { 34, 5, 0, 24, 0, 0 }, { 34, 3, 0, 24, 0, 0 }, { 34, 1, 0, 24, 0, 0 }, { 34, -1, 0, 24, 0, 0 }, { 34, -3, 0, 24, 0, 0 }, - { 34, -5, 0, 24, 0, 0 }, { 34, -7, 0, 24, 0, 0 }, { 34, -9, 0, 24, 0, 0 }, { 34, -11, 0, 24, 0, 0 }, { 36, -11, 0, 16, 0, 0 }, - { 38, -11, 0, 16, 0, 0 }, { 40, -11, 0, 16, 0, 0 }, { 42, -11, 0, 16, 0, 0 }, { 44, -11, 0, 16, 0, 0 }, { 46, -11, 0, 16, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 48, -12, 0, 24, 0, 0 }, { 48, -14, 0, 24, 0, 0 }, { 48, -16, 0, 24, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, - { 48, -19, 0, 24, 0, 0 }, { 48, -21, 0, 24, 0, 0 }, { 48, -23, 0, 24, 0, 0 }, { 48, -25, 0, 24, 0, 0 }, { 48, -27, 0, 24, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, + 92, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 11, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, + { 20, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 26, 11, 0, 16, 0, 0 }, { 28, 11, 0, 16, 0, 0 }, + { 30, 11, 0, 16, 0, 0 }, { 32, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 34, 9, 0, 24, 0, 0 }, { 34, 7, 0, 24, 0, 0 }, + { 34, 5, 0, 24, 0, 0 }, { 34, 3, 0, 24, 0, 0 }, { 34, 1, 0, 24, 0, 0 }, { 34, -1, 0, 24, 0, 0 }, { 34, -3, 0, 24, 0, 0 }, + { 34, -5, 0, 24, 0, 0 }, { 34, -7, 0, 24, 0, 0 }, { 34, -9, 0, 24, 0, 0 }, { 34, -11, 0, 24, 0, 0 }, { 36, -11, 0, 16, 0, 0 }, + { 38, -11, 0, 16, 0, 0 }, { 40, -11, 0, 16, 0, 0 }, { 42, -11, 0, 16, 0, 0 }, { 44, -11, 0, 16, 0, 0 }, { 46, -11, 0, 16, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 48, -12, 0, 24, 0, 0 }, { 48, -14, 0, 24, 0, 0 }, { 48, -16, 0, 24, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, + { 48, -19, 0, 24, 0, 0 }, { 48, -21, 0, 24, 0, 0 }, { 48, -23, 0, 24, 0, 0 }, { 48, -25, 0, 24, 0, 0 }, { 48, -27, 0, 24, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94C9DA = { - 92, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 15, 0, 0, 0, 0 }, { 11, 15, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 11, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, - { 11, 11, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 5, 0, 24, 0, 0 }, { 11, 3, 0, 24, 0, 0 }, - { 11, 1, 0, 24, 0, 0 }, { 11, -1, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 9, -3, 0, 0, 0, 0 }, { 7, -3, 0, 0, 0, 0 }, - { 5, -3, 0, 0, 0, 0 }, { 3, -3, 0, 0, 0, 0 }, { 1, -3, 0, 0, 0, 0 }, { -1, -3, 0, 0, 0, 0 }, { -3, -3, 0, 0, 0, 0 }, - { -5, -3, 0, 0, 0, 0 }, { -7, -3, 0, 0, 0, 0 }, { -9, -3, 0, 0, 0, 0 }, { -11, -3, 0, 0, 0, 0 }, { -11, -5, 0, 24, 0, 0 }, - { -11, -7, 0, 24, 0, 0 }, { -11, -9, 0, 24, 0, 0 }, { -11, -11, 0, 24, 0, 0 }, { -11, -13, 0, 24, 0, 0 }, { -11, -15, 0, 24, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -12, -17, 0, 0, 0, 0 }, { -14, -17, 0, 0, 0, 0 }, { -16, -17, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, - { -19, -17, 0, 0, 0, 0 }, { -21, -17, 0, 0, 0, 0 }, { -23, -17, 0, 0, 0, 0 }, { -25, -17, 0, 0, 0, 0 }, { -27, -17, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, + 92, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 15, 0, 0, 0, 0 }, { 11, 15, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 11, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, + { 11, 11, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 5, 0, 24, 0, 0 }, { 11, 3, 0, 24, 0, 0 }, + { 11, 1, 0, 24, 0, 0 }, { 11, -1, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 9, -3, 0, 0, 0, 0 }, { 7, -3, 0, 0, 0, 0 }, + { 5, -3, 0, 0, 0, 0 }, { 3, -3, 0, 0, 0, 0 }, { 1, -3, 0, 0, 0, 0 }, { -1, -3, 0, 0, 0, 0 }, { -3, -3, 0, 0, 0, 0 }, + { -5, -3, 0, 0, 0, 0 }, { -7, -3, 0, 0, 0, 0 }, { -9, -3, 0, 0, 0, 0 }, { -11, -3, 0, 0, 0, 0 }, { -11, -5, 0, 24, 0, 0 }, + { -11, -7, 0, 24, 0, 0 }, { -11, -9, 0, 24, 0, 0 }, { -11, -11, 0, 24, 0, 0 }, { -11, -13, 0, 24, 0, 0 }, { -11, -15, 0, 24, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -12, -17, 0, 0, 0, 0 }, { -14, -17, 0, 0, 0, 0 }, { -16, -17, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, + { -19, -17, 0, 0, 0, 0 }, { -21, -17, 0, 0, 0, 0 }, { -23, -17, 0, 0, 0, 0 }, { -25, -17, 0, 0, 0, 0 }, { -27, -17, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9459FF = { - 92, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 14, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 12, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, - { 11, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 5, 12, 0, 0, 0, 0 }, { 3, 12, 0, 0, 0, 0 }, - { 1, 12, 0, 0, 0, 0 }, { -1, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -3, 10, 0, 24, 0, 0 }, { -3, 8, 0, 24, 0, 0 }, - { -3, 6, 0, 24, 0, 0 }, { -3, 4, 0, 24, 0, 0 }, { -3, 2, 0, 24, 0, 0 }, { -3, 0, 0, 24, 0, 0 }, { -3, -2, 0, 24, 0, 0 }, - { -3, -4, 0, 24, 0, 0 }, { -3, -6, 0, 24, 0, 0 }, { -3, -8, 0, 24, 0, 0 }, { -3, -10, 0, 24, 0, 0 }, { -5, -10, 0, 0, 0, 0 }, - { -7, -10, 0, 0, 0, 0 }, { -9, -10, 0, 0, 0, 0 }, { -11, -10, 0, 0, 0, 0 }, { -13, -10, 0, 0, 0, 0 }, { -15, -10, 0, 0, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -17, -11, 0, 24, 0, 0 }, { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -16, 0, 24, 0, 0 }, - { -17, -18, 0, 24, 0, 0 }, { -17, -20, 0, 24, 0, 0 }, { -17, -22, 0, 24, 0, 0 }, { -17, -24, 0, 24, 0, 0 }, { -17, -26, 0, 24, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, + 92, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 14, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 12, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, + { 11, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 5, 12, 0, 0, 0, 0 }, { 3, 12, 0, 0, 0, 0 }, + { 1, 12, 0, 0, 0, 0 }, { -1, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -3, 10, 0, 24, 0, 0 }, { -3, 8, 0, 24, 0, 0 }, + { -3, 6, 0, 24, 0, 0 }, { -3, 4, 0, 24, 0, 0 }, { -3, 2, 0, 24, 0, 0 }, { -3, 0, 0, 24, 0, 0 }, { -3, -2, 0, 24, 0, 0 }, + { -3, -4, 0, 24, 0, 0 }, { -3, -6, 0, 24, 0, 0 }, { -3, -8, 0, 24, 0, 0 }, { -3, -10, 0, 24, 0, 0 }, { -5, -10, 0, 0, 0, 0 }, + { -7, -10, 0, 0, 0, 0 }, { -9, -10, 0, 0, 0, 0 }, { -11, -10, 0, 0, 0, 0 }, { -13, -10, 0, 0, 0, 0 }, { -15, -10, 0, 0, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -17, -11, 0, 24, 0, 0 }, { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -16, 0, 24, 0, 0 }, + { -17, -18, 0, 24, 0, 0 }, { -17, -20, 0, 24, 0, 0 }, { -17, -22, 0, 24, 0, 0 }, { -17, -24, 0, 24, 0, 0 }, { -17, -26, 0, 24, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9486BD = { - 92, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 12, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, - { 12, 20, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 26, 0, 8, 0, 0 }, { 12, 28, 0, 8, 0, 0 }, - { 12, 30, 0, 8, 0, 0 }, { 12, 32, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 10, 34, 0, 0, 0, 0 }, { 8, 34, 0, 0, 0, 0 }, - { 6, 34, 0, 0, 0, 0 }, { 4, 34, 0, 0, 0, 0 }, { 2, 34, 0, 0, 0, 0 }, { 0, 34, 0, 0, 0, 0 }, { -2, 34, 0, 0, 0, 0 }, - { -4, 34, 0, 0, 0, 0 }, { -6, 34, 0, 0, 0, 0 }, { -8, 34, 0, 0, 0, 0 }, { -10, 34, 0, 0, 0, 0 }, { -10, 36, 0, 8, 0, 0 }, - { -10, 38, 0, 8, 0, 0 }, { -10, 40, 0, 8, 0, 0 }, { -10, 42, 0, 8, 0, 0 }, { -10, 44, 0, 8, 0, 0 }, { -10, 46, 0, 8, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -11, 48, 0, 0, 0, 0 }, { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -16, 48, 0, 0, 0, 0 }, - { -18, 48, 0, 0, 0, 0 }, { -20, 48, 0, 0, 0, 0 }, { -22, 48, 0, 0, 0, 0 }, { -24, 48, 0, 0, 0, 0 }, { -26, 48, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, + 92, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 12, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, + { 12, 20, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 26, 0, 8, 0, 0 }, { 12, 28, 0, 8, 0, 0 }, + { 12, 30, 0, 8, 0, 0 }, { 12, 32, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 10, 34, 0, 0, 0, 0 }, { 8, 34, 0, 0, 0, 0 }, + { 6, 34, 0, 0, 0, 0 }, { 4, 34, 0, 0, 0, 0 }, { 2, 34, 0, 0, 0, 0 }, { 0, 34, 0, 0, 0, 0 }, { -2, 34, 0, 0, 0, 0 }, + { -4, 34, 0, 0, 0, 0 }, { -6, 34, 0, 0, 0, 0 }, { -8, 34, 0, 0, 0, 0 }, { -10, 34, 0, 0, 0, 0 }, { -10, 36, 0, 8, 0, 0 }, + { -10, 38, 0, 8, 0, 0 }, { -10, 40, 0, 8, 0, 0 }, { -10, 42, 0, 8, 0, 0 }, { -10, 44, 0, 8, 0, 0 }, { -10, 46, 0, 8, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -11, 48, 0, 0, 0, 0 }, { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -16, 48, 0, 0, 0, 0 }, + { -18, 48, 0, 0, 0, 0 }, { -20, 48, 0, 0, 0, 0 }, { -22, 48, 0, 0, 0, 0 }, { -24, 48, 0, 0, 0, 0 }, { -26, 48, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94B37B = { - 92, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 19, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, - { 20, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 26, 19, 0, 16, 0, 0 }, { 28, 19, 0, 16, 0, 0 }, - { 30, 19, 0, 16, 0, 0 }, { 32, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 34, 21, 0, 8, 0, 0 }, { 34, 23, 0, 8, 0, 0 }, - { 34, 25, 0, 8, 0, 0 }, { 34, 27, 0, 8, 0, 0 }, { 34, 29, 0, 8, 0, 0 }, { 34, 31, 0, 8, 0, 0 }, { 34, 33, 0, 8, 0, 0 }, - { 34, 35, 0, 8, 0, 0 }, { 34, 37, 0, 8, 0, 0 }, { 34, 39, 0, 8, 0, 0 }, { 34, 41, 0, 8, 0, 0 }, { 36, 41, 0, 16, 0, 0 }, - { 38, 41, 0, 16, 0, 0 }, { 40, 41, 0, 16, 0, 0 }, { 42, 41, 0, 16, 0, 0 }, { 44, 41, 0, 16, 0, 0 }, { 46, 41, 0, 16, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 48, 42, 0, 8, 0, 0 }, { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 47, 0, 8, 0, 0 }, - { 48, 49, 0, 8, 0, 0 }, { 48, 51, 0, 8, 0, 0 }, { 48, 53, 0, 8, 0, 0 }, { 48, 55, 0, 8, 0, 0 }, { 48, 57, 0, 8, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, + 92, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 19, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, + { 20, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 26, 19, 0, 16, 0, 0 }, { 28, 19, 0, 16, 0, 0 }, + { 30, 19, 0, 16, 0, 0 }, { 32, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 34, 21, 0, 8, 0, 0 }, { 34, 23, 0, 8, 0, 0 }, + { 34, 25, 0, 8, 0, 0 }, { 34, 27, 0, 8, 0, 0 }, { 34, 29, 0, 8, 0, 0 }, { 34, 31, 0, 8, 0, 0 }, { 34, 33, 0, 8, 0, 0 }, + { 34, 35, 0, 8, 0, 0 }, { 34, 37, 0, 8, 0, 0 }, { 34, 39, 0, 8, 0, 0 }, { 34, 41, 0, 8, 0, 0 }, { 36, 41, 0, 16, 0, 0 }, + { 38, 41, 0, 16, 0, 0 }, { 40, 41, 0, 16, 0, 0 }, { 42, 41, 0, 16, 0, 0 }, { 44, 41, 0, 16, 0, 0 }, { 46, 41, 0, 16, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 48, 42, 0, 8, 0, 0 }, { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 47, 0, 8, 0, 0 }, + { 48, 49, 0, 8, 0, 0 }, { 48, 51, 0, 8, 0, 0 }, { 48, 53, 0, 8, 0, 0 }, { 48, 55, 0, 8, 0, 0 }, { 48, 57, 0, 8, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94E039 = { - 92, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 15, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 19, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, - { 19, 11, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 5, 0, 24, 0, 0 }, { 19, 3, 0, 24, 0, 0 }, - { 19, 1, 0, 24, 0, 0 }, { 19, -1, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 21, -3, 0, 16, 0, 0 }, { 23, -3, 0, 16, 0, 0 }, - { 25, -3, 0, 16, 0, 0 }, { 27, -3, 0, 16, 0, 0 }, { 29, -3, 0, 16, 0, 0 }, { 31, -3, 0, 16, 0, 0 }, { 33, -3, 0, 16, 0, 0 }, - { 35, -3, 0, 16, 0, 0 }, { 37, -3, 0, 16, 0, 0 }, { 39, -3, 0, 16, 0, 0 }, { 41, -3, 0, 16, 0, 0 }, { 41, -5, 0, 24, 0, 0 }, - { 41, -7, 0, 24, 0, 0 }, { 41, -9, 0, 24, 0, 0 }, { 41, -11, 0, 24, 0, 0 }, { 41, -13, 0, 24, 0, 0 }, { 41, -15, 0, 24, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 42, -17, 0, 16, 0, 0 }, { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 47, -17, 0, 16, 0, 0 }, - { 49, -17, 0, 16, 0, 0 }, { 51, -17, 0, 16, 0, 0 }, { 53, -17, 0, 16, 0, 0 }, { 55, -17, 0, 16, 0, 0 }, { 57, -17, 0, 16, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, + 92, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 15, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 19, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, + { 19, 11, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 5, 0, 24, 0, 0 }, { 19, 3, 0, 24, 0, 0 }, + { 19, 1, 0, 24, 0, 0 }, { 19, -1, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 21, -3, 0, 16, 0, 0 }, { 23, -3, 0, 16, 0, 0 }, + { 25, -3, 0, 16, 0, 0 }, { 27, -3, 0, 16, 0, 0 }, { 29, -3, 0, 16, 0, 0 }, { 31, -3, 0, 16, 0, 0 }, { 33, -3, 0, 16, 0, 0 }, + { 35, -3, 0, 16, 0, 0 }, { 37, -3, 0, 16, 0, 0 }, { 39, -3, 0, 16, 0, 0 }, { 41, -3, 0, 16, 0, 0 }, { 41, -5, 0, 24, 0, 0 }, + { 41, -7, 0, 24, 0, 0 }, { 41, -9, 0, 24, 0, 0 }, { 41, -11, 0, 24, 0, 0 }, { 41, -13, 0, 24, 0, 0 }, { 41, -15, 0, 24, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 42, -17, 0, 16, 0, 0 }, { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 47, -17, 0, 16, 0, 0 }, + { 49, -17, 0, 16, 0, 0 }, { 51, -17, 0, 16, 0, 0 }, { 53, -17, 0, 16, 0, 0 }, { 55, -17, 0, 16, 0, 0 }, { 57, -17, 0, 16, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_939CD9 = { - 52, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, - { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, - { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, - { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, - { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, - { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -8, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, - { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, - { -16, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 52, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, + { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, + { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, + { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, + { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, + { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -8, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, + { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, + { -16, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93C6CA = { - 52, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, - { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, - { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, - { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, - { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, - { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 39, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, - { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, - { 16, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 52, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, + { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, + { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, + { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, + { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, + { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 39, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, + { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, + { 16, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93F0BB = { - 52, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, - { 12, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 15, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, - { 17, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 21, 15, 0, 16, 0, 0 }, - { 22, 15, 0, 16, 0, 0 }, { 23, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, { 25, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, - { 27, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 29, 15, 0, 16, 0, 0 }, - { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 35, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, - { 37, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 39, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 41, 15, 0, 16, 0, 0 }, - { 42, 15, 0, 16, 0, 0 }, { 43, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 45, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, - { 47, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 52, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, + { 12, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 15, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, + { 17, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 21, 15, 0, 16, 0, 0 }, + { 22, 15, 0, 16, 0, 0 }, { 23, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, { 25, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, + { 27, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 29, 15, 0, 16, 0, 0 }, + { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 35, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, + { 37, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 39, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 41, 15, 0, 16, 0, 0 }, + { 42, 15, 0, 16, 0, 0 }, { 43, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 45, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, + { 47, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_941AAC = { - 52, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, - { 15, 19, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 16, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, - { 15, 14, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 10, 0, 24, 0, 0 }, - { 15, 9, 0, 24, 0, 0 }, { 15, 8, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, { 15, 6, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, - { 15, 4, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 2, 0, 24, 0, 0 }, - { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -4, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, - { 15, -6, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -8, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -10, 0, 24, 0, 0 }, - { 15, -11, 0, 24, 0, 0 }, { 15, -12, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -14, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, - { 15, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 52, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, + { 15, 19, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 16, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, + { 15, 14, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 10, 0, 24, 0, 0 }, + { 15, 9, 0, 24, 0, 0 }, { 15, 8, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, { 15, 6, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, + { 15, 4, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 2, 0, 24, 0, 0 }, + { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -4, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, + { 15, -6, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -8, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -10, 0, 24, 0, 0 }, + { 15, -11, 0, 24, 0, 0 }, { 15, -12, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -14, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, + { 15, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93AB73 = { - 62, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 22, 15, 0, 0, 0, 0 }, { 20, 15, 0, 0, 0, 0 }, - { 18, 15, 0, 0, 0, 0 }, { 16, 14, 0, 0, 0, 0 }, { 14, 14, 0, 0, 0, 0 }, { 12, 13, 0, 0, 0, 0 }, { 10, 13, 0, 0, 0, 0 }, - { 8, 13, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 4, 12, 0, 0, 0, 0 }, { 2, 11, 0, 0, 0, 0 }, { 1, 11, 0, 0, 0, 0 }, - { 0, 11, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { 0, 13, 0, 0, 0, 0 }, { 0, 14, 0, 0, 0, 0 }, { 1, 15, 0, 0, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, - { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -5, 17, 0, 0, 0, 0 }, { -5, 18, 0, 0, 0, 0 }, { -5, 19, 0, 0, 0, 0 }, - { -5, 20, 0, 0, 0, 0 }, { -5, 21, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -5, 22, 0, 0, 0, 0 }, - { -7, 22, 0, 0, 0, 0 }, { -9, 21, 0, 0, 0, 0 }, { -11, 21, 0, 0, 0, 0 }, { -13, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, - { -16, 20, 0, 0, 0, 0 }, { -17, 19, 0, 0, 0, 0 }, { -18, 19, 0, 0, 0, 0 }, { -19, 18, 0, 0, 0, 0 }, { -20, 18, 0, 0, 0, 0 }, - { -21, 18, 0, 0, 0, 0 }, { -22, 17, 0, 0, 0, 0 }, { -23, 17, 0, 0, 0, 0 }, { -24, 17, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, - { -26, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 62, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 22, 15, 0, 0, 0, 0 }, { 20, 15, 0, 0, 0, 0 }, + { 18, 15, 0, 0, 0, 0 }, { 16, 14, 0, 0, 0, 0 }, { 14, 14, 0, 0, 0, 0 }, { 12, 13, 0, 0, 0, 0 }, { 10, 13, 0, 0, 0, 0 }, + { 8, 13, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 4, 12, 0, 0, 0, 0 }, { 2, 11, 0, 0, 0, 0 }, { 1, 11, 0, 0, 0, 0 }, + { 0, 11, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { 0, 13, 0, 0, 0, 0 }, { 0, 14, 0, 0, 0, 0 }, { 1, 15, 0, 0, 0, 0 }, + { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, + { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -5, 17, 0, 0, 0, 0 }, { -5, 18, 0, 0, 0, 0 }, { -5, 19, 0, 0, 0, 0 }, + { -5, 20, 0, 0, 0, 0 }, { -5, 21, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -5, 22, 0, 0, 0, 0 }, + { -7, 22, 0, 0, 0, 0 }, { -9, 21, 0, 0, 0, 0 }, { -11, 21, 0, 0, 0, 0 }, { -13, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, + { -16, 20, 0, 0, 0, 0 }, { -17, 19, 0, 0, 0, 0 }, { -18, 19, 0, 0, 0, 0 }, { -19, 18, 0, 0, 0, 0 }, { -20, 18, 0, 0, 0, 0 }, + { -21, 18, 0, 0, 0, 0 }, { -22, 17, 0, 0, 0, 0 }, { -23, 17, 0, 0, 0, 0 }, { -24, 17, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, + { -26, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93D564 = { - 62, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 15, 9, 0, 8, 0, 0 }, { 15, 11, 0, 8, 0, 0 }, - { 15, 13, 0, 8, 0, 0 }, { 14, 15, 0, 8, 0, 0 }, { 14, 17, 0, 8, 0, 0 }, { 13, 19, 0, 8, 0, 0 }, { 13, 21, 0, 8, 0, 0 }, - { 13, 23, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 27, 0, 8, 0, 0 }, { 11, 29, 0, 8, 0, 0 }, { 11, 30, 0, 8, 0, 0 }, - { 11, 31, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 13, 31, 0, 8, 0, 0 }, { 14, 31, 0, 8, 0, 0 }, { 15, 30, 0, 8, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, - { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 17, 36, 0, 8, 0, 0 }, { 18, 36, 0, 8, 0, 0 }, { 19, 36, 0, 8, 0, 0 }, - { 20, 36, 0, 8, 0, 0 }, { 21, 36, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 22, 36, 0, 8, 0, 0 }, - { 22, 38, 0, 8, 0, 0 }, { 21, 40, 0, 8, 0, 0 }, { 21, 42, 0, 8, 0, 0 }, { 20, 44, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, - { 20, 47, 0, 8, 0, 0 }, { 19, 48, 0, 8, 0, 0 }, { 19, 49, 0, 8, 0, 0 }, { 18, 50, 0, 8, 0, 0 }, { 18, 51, 0, 8, 0, 0 }, - { 18, 52, 0, 8, 0, 0 }, { 17, 53, 0, 8, 0, 0 }, { 17, 54, 0, 8, 0, 0 }, { 17, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, - { 16, 57, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 62, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 15, 9, 0, 8, 0, 0 }, { 15, 11, 0, 8, 0, 0 }, + { 15, 13, 0, 8, 0, 0 }, { 14, 15, 0, 8, 0, 0 }, { 14, 17, 0, 8, 0, 0 }, { 13, 19, 0, 8, 0, 0 }, { 13, 21, 0, 8, 0, 0 }, + { 13, 23, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 27, 0, 8, 0, 0 }, { 11, 29, 0, 8, 0, 0 }, { 11, 30, 0, 8, 0, 0 }, + { 11, 31, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 13, 31, 0, 8, 0, 0 }, { 14, 31, 0, 8, 0, 0 }, { 15, 30, 0, 8, 0, 0 }, + { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, + { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 17, 36, 0, 8, 0, 0 }, { 18, 36, 0, 8, 0, 0 }, { 19, 36, 0, 8, 0, 0 }, + { 20, 36, 0, 8, 0, 0 }, { 21, 36, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 22, 36, 0, 8, 0, 0 }, + { 22, 38, 0, 8, 0, 0 }, { 21, 40, 0, 8, 0, 0 }, { 21, 42, 0, 8, 0, 0 }, { 20, 44, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, + { 20, 47, 0, 8, 0, 0 }, { 19, 48, 0, 8, 0, 0 }, { 19, 49, 0, 8, 0, 0 }, { 18, 50, 0, 8, 0, 0 }, { 18, 51, 0, 8, 0, 0 }, + { 18, 52, 0, 8, 0, 0 }, { 17, 53, 0, 8, 0, 0 }, { 17, 54, 0, 8, 0, 0 }, { 17, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, + { 16, 57, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93FF55 = { - 62, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, - { 13, 16, 0, 16, 0, 0 }, { 15, 17, 0, 16, 0, 0 }, { 17, 17, 0, 16, 0, 0 }, { 19, 18, 0, 16, 0, 0 }, { 21, 18, 0, 16, 0, 0 }, - { 23, 18, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 27, 19, 0, 16, 0, 0 }, { 29, 20, 0, 16, 0, 0 }, { 30, 20, 0, 16, 0, 0 }, - { 31, 20, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 31, 18, 0, 16, 0, 0 }, { 31, 17, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, - { 35, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 36, 14, 0, 16, 0, 0 }, { 36, 13, 0, 16, 0, 0 }, { 36, 12, 0, 16, 0, 0 }, - { 36, 11, 0, 16, 0, 0 }, { 36, 10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 36, 9, 0, 16, 0, 0 }, - { 38, 9, 0, 16, 0, 0 }, { 40, 10, 0, 16, 0, 0 }, { 42, 10, 0, 16, 0, 0 }, { 44, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, - { 47, 11, 0, 16, 0, 0 }, { 48, 12, 0, 16, 0, 0 }, { 49, 12, 0, 16, 0, 0 }, { 50, 13, 0, 16, 0, 0 }, { 51, 13, 0, 16, 0, 0 }, - { 52, 13, 0, 16, 0, 0 }, { 53, 14, 0, 16, 0, 0 }, { 54, 14, 0, 16, 0, 0 }, { 55, 14, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, - { 57, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 62, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, + { 13, 16, 0, 16, 0, 0 }, { 15, 17, 0, 16, 0, 0 }, { 17, 17, 0, 16, 0, 0 }, { 19, 18, 0, 16, 0, 0 }, { 21, 18, 0, 16, 0, 0 }, + { 23, 18, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 27, 19, 0, 16, 0, 0 }, { 29, 20, 0, 16, 0, 0 }, { 30, 20, 0, 16, 0, 0 }, + { 31, 20, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 31, 18, 0, 16, 0, 0 }, { 31, 17, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, + { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, + { 35, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 36, 14, 0, 16, 0, 0 }, { 36, 13, 0, 16, 0, 0 }, { 36, 12, 0, 16, 0, 0 }, + { 36, 11, 0, 16, 0, 0 }, { 36, 10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 36, 9, 0, 16, 0, 0 }, + { 38, 9, 0, 16, 0, 0 }, { 40, 10, 0, 16, 0, 0 }, { 42, 10, 0, 16, 0, 0 }, { 44, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, + { 47, 11, 0, 16, 0, 0 }, { 48, 12, 0, 16, 0, 0 }, { 49, 12, 0, 16, 0, 0 }, { 50, 13, 0, 16, 0, 0 }, { 51, 13, 0, 16, 0, 0 }, + { 52, 13, 0, 16, 0, 0 }, { 53, 14, 0, 16, 0, 0 }, { 54, 14, 0, 16, 0, 0 }, { 55, 14, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, + { 57, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_942946 = { - 62, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, - { 16, 18, 0, 24, 0, 0 }, { 17, 16, 0, 24, 0, 0 }, { 17, 14, 0, 24, 0, 0 }, { 18, 12, 0, 24, 0, 0 }, { 18, 10, 0, 24, 0, 0 }, - { 18, 8, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 4, 0, 24, 0, 0 }, { 20, 2, 0, 24, 0, 0 }, { 20, 1, 0, 24, 0, 0 }, - { 20, 0, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 18, 0, 0, 24, 0, 0 }, { 17, 0, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, - { 15, -4, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 14, -5, 0, 24, 0, 0 }, { 13, -5, 0, 24, 0, 0 }, { 12, -5, 0, 24, 0, 0 }, - { 11, -5, 0, 24, 0, 0 }, { 10, -5, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 9, -5, 0, 24, 0, 0 }, - { 9, -7, 0, 24, 0, 0 }, { 10, -9, 0, 24, 0, 0 }, { 10, -11, 0, 24, 0, 0 }, { 11, -13, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, - { 11, -16, 0, 24, 0, 0 }, { 12, -17, 0, 24, 0, 0 }, { 12, -18, 0, 24, 0, 0 }, { 13, -19, 0, 24, 0, 0 }, { 13, -20, 0, 24, 0, 0 }, - { 13, -21, 0, 24, 0, 0 }, { 14, -22, 0, 24, 0, 0 }, { 14, -23, 0, 24, 0, 0 }, { 14, -24, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, - { 15, -26, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 62, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, + { 16, 18, 0, 24, 0, 0 }, { 17, 16, 0, 24, 0, 0 }, { 17, 14, 0, 24, 0, 0 }, { 18, 12, 0, 24, 0, 0 }, { 18, 10, 0, 24, 0, 0 }, + { 18, 8, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 4, 0, 24, 0, 0 }, { 20, 2, 0, 24, 0, 0 }, { 20, 1, 0, 24, 0, 0 }, + { 20, 0, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 18, 0, 0, 24, 0, 0 }, { 17, 0, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, + { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, + { 15, -4, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 14, -5, 0, 24, 0, 0 }, { 13, -5, 0, 24, 0, 0 }, { 12, -5, 0, 24, 0, 0 }, + { 11, -5, 0, 24, 0, 0 }, { 10, -5, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 9, -5, 0, 24, 0, 0 }, + { 9, -7, 0, 24, 0, 0 }, { 10, -9, 0, 24, 0, 0 }, { 10, -11, 0, 24, 0, 0 }, { 11, -13, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, + { 11, -16, 0, 24, 0, 0 }, { 12, -17, 0, 24, 0, 0 }, { 12, -18, 0, 24, 0, 0 }, { 13, -19, 0, 24, 0, 0 }, { 13, -20, 0, 24, 0, 0 }, + { 13, -21, 0, 24, 0, 0 }, { 14, -22, 0, 24, 0, 0 }, { 14, -23, 0, 24, 0, 0 }, { 14, -24, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, + { 15, -26, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93B8DB = { - 51, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, - { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 7, 15, 0, 0, 0, 0 }, { 5, 15, 0, 0, 0, 0 }, { 3, 14, 0, 0, 0, 0 }, { 1, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, - { -3, 12, 0, 0, 0, 0 }, { -5, 12, 0, 0, 0, 0 }, { -7, 11, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -8, 11, 0, 0, 0, 0 }, - { -9, 11, 0, 0, 0, 0 }, { -10, 11, 0, 0, 0, 0 }, { -11, 11, 0, 0, 0, 0 }, { -12, 11, 0, 0, 0, 0 }, { -13, 11, 0, 0, 0, 0 }, - { -14, 11, 0, 0, 0, 0 }, { -15, 11, 0, 0, 0, 0 }, { -16, 11, 0, 0, 0, 0 }, { -17, 11, 0, 0, 0, 0 }, { -18, 11, 0, 0, 0, 0 }, - { -19, 11, 0, 0, 0, 0 }, { -20, 11, 0, 0, 0, 0 }, { -21, 11, 0, 0, 0, 0 }, { -22, 11, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -23, 11, 0, 0, 0, 0 }, { -23, 12, 0, 0, 0, 0 }, { -23, 13, 0, 0, 0, 0 }, { -23, 14, 0, 0, 0, 0 }, - { -23, 15, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, + 51, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, + { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 7, 15, 0, 0, 0, 0 }, { 5, 15, 0, 0, 0, 0 }, { 3, 14, 0, 0, 0, 0 }, { 1, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, + { -3, 12, 0, 0, 0, 0 }, { -5, 12, 0, 0, 0, 0 }, { -7, 11, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -8, 11, 0, 0, 0, 0 }, + { -9, 11, 0, 0, 0, 0 }, { -10, 11, 0, 0, 0, 0 }, { -11, 11, 0, 0, 0, 0 }, { -12, 11, 0, 0, 0, 0 }, { -13, 11, 0, 0, 0, 0 }, + { -14, 11, 0, 0, 0, 0 }, { -15, 11, 0, 0, 0, 0 }, { -16, 11, 0, 0, 0, 0 }, { -17, 11, 0, 0, 0, 0 }, { -18, 11, 0, 0, 0, 0 }, + { -19, 11, 0, 0, 0, 0 }, { -20, 11, 0, 0, 0, 0 }, { -21, 11, 0, 0, 0, 0 }, { -22, 11, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -23, 11, 0, 0, 0, 0 }, { -23, 12, 0, 0, 0, 0 }, { -23, 13, 0, 0, 0, 0 }, { -23, 14, 0, 0, 0, 0 }, + { -23, 15, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93E2CC = { - 51, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, - { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 15, 24, 0, 8, 0, 0 }, { 15, 26, 0, 8, 0, 0 }, { 14, 28, 0, 8, 0, 0 }, { 13, 30, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, - { 12, 34, 0, 8, 0, 0 }, { 12, 36, 0, 8, 0, 0 }, { 11, 38, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 11, 39, 0, 8, 0, 0 }, - { 11, 40, 0, 8, 0, 0 }, { 11, 41, 0, 8, 0, 0 }, { 11, 42, 0, 8, 0, 0 }, { 11, 43, 0, 8, 0, 0 }, { 11, 44, 0, 8, 0, 0 }, - { 11, 45, 0, 8, 0, 0 }, { 11, 46, 0, 8, 0, 0 }, { 11, 47, 0, 8, 0, 0 }, { 11, 48, 0, 8, 0, 0 }, { 11, 49, 0, 8, 0, 0 }, - { 11, 50, 0, 8, 0, 0 }, { 11, 51, 0, 8, 0, 0 }, { 11, 52, 0, 8, 0, 0 }, { 11, 53, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 54, 0, 8, 0, 0 }, { 12, 54, 0, 8, 0, 0 }, { 13, 54, 0, 8, 0, 0 }, { 14, 54, 0, 8, 0, 0 }, - { 15, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, + 51, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, + { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 15, 24, 0, 8, 0, 0 }, { 15, 26, 0, 8, 0, 0 }, { 14, 28, 0, 8, 0, 0 }, { 13, 30, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, + { 12, 34, 0, 8, 0, 0 }, { 12, 36, 0, 8, 0, 0 }, { 11, 38, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 11, 39, 0, 8, 0, 0 }, + { 11, 40, 0, 8, 0, 0 }, { 11, 41, 0, 8, 0, 0 }, { 11, 42, 0, 8, 0, 0 }, { 11, 43, 0, 8, 0, 0 }, { 11, 44, 0, 8, 0, 0 }, + { 11, 45, 0, 8, 0, 0 }, { 11, 46, 0, 8, 0, 0 }, { 11, 47, 0, 8, 0, 0 }, { 11, 48, 0, 8, 0, 0 }, { 11, 49, 0, 8, 0, 0 }, + { 11, 50, 0, 8, 0, 0 }, { 11, 51, 0, 8, 0, 0 }, { 11, 52, 0, 8, 0, 0 }, { 11, 53, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 11, 54, 0, 8, 0, 0 }, { 12, 54, 0, 8, 0, 0 }, { 13, 54, 0, 8, 0, 0 }, { 14, 54, 0, 8, 0, 0 }, + { 15, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_940CBD = { - 51, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, - { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 24, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 28, 17, 0, 16, 0, 0 }, { 30, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, - { 34, 19, 0, 16, 0, 0 }, { 36, 19, 0, 16, 0, 0 }, { 38, 20, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 39, 20, 0, 16, 0, 0 }, - { 40, 20, 0, 16, 0, 0 }, { 41, 20, 0, 16, 0, 0 }, { 42, 20, 0, 16, 0, 0 }, { 43, 20, 0, 16, 0, 0 }, { 44, 20, 0, 16, 0, 0 }, - { 45, 20, 0, 16, 0, 0 }, { 46, 20, 0, 16, 0, 0 }, { 47, 20, 0, 16, 0, 0 }, { 48, 20, 0, 16, 0, 0 }, { 49, 20, 0, 16, 0, 0 }, - { 50, 20, 0, 16, 0, 0 }, { 51, 20, 0, 16, 0, 0 }, { 52, 20, 0, 16, 0, 0 }, { 53, 20, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 54, 20, 0, 16, 0, 0 }, { 54, 19, 0, 16, 0, 0 }, { 54, 18, 0, 16, 0, 0 }, { 54, 17, 0, 16, 0, 0 }, - { 54, 16, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, + 51, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, + { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 24, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 28, 17, 0, 16, 0, 0 }, { 30, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, + { 34, 19, 0, 16, 0, 0 }, { 36, 19, 0, 16, 0, 0 }, { 38, 20, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 39, 20, 0, 16, 0, 0 }, + { 40, 20, 0, 16, 0, 0 }, { 41, 20, 0, 16, 0, 0 }, { 42, 20, 0, 16, 0, 0 }, { 43, 20, 0, 16, 0, 0 }, { 44, 20, 0, 16, 0, 0 }, + { 45, 20, 0, 16, 0, 0 }, { 46, 20, 0, 16, 0, 0 }, { 47, 20, 0, 16, 0, 0 }, { 48, 20, 0, 16, 0, 0 }, { 49, 20, 0, 16, 0, 0 }, + { 50, 20, 0, 16, 0, 0 }, { 51, 20, 0, 16, 0, 0 }, { 52, 20, 0, 16, 0, 0 }, { 53, 20, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 54, 20, 0, 16, 0, 0 }, { 54, 19, 0, 16, 0, 0 }, { 54, 18, 0, 16, 0, 0 }, { 54, 17, 0, 16, 0, 0 }, + { 54, 16, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9436AE = { - 51, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, - { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 16, 7, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 17, 3, 0, 24, 0, 0 }, { 18, 1, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, - { 19, -3, 0, 24, 0, 0 }, { 19, -5, 0, 24, 0, 0 }, { 20, -7, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 20, -8, 0, 24, 0, 0 }, - { 20, -9, 0, 24, 0, 0 }, { 20, -10, 0, 24, 0, 0 }, { 20, -11, 0, 24, 0, 0 }, { 20, -12, 0, 24, 0, 0 }, { 20, -13, 0, 24, 0, 0 }, - { 20, -14, 0, 24, 0, 0 }, { 20, -15, 0, 24, 0, 0 }, { 20, -16, 0, 24, 0, 0 }, { 20, -17, 0, 24, 0, 0 }, { 20, -18, 0, 24, 0, 0 }, - { 20, -19, 0, 24, 0, 0 }, { 20, -20, 0, 24, 0, 0 }, { 20, -21, 0, 24, 0, 0 }, { 20, -22, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, -23, 0, 24, 0, 0 }, { 19, -23, 0, 24, 0, 0 }, { 18, -23, 0, 24, 0, 0 }, { 17, -23, 0, 24, 0, 0 }, - { 16, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, + 51, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, + { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 16, 7, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 17, 3, 0, 24, 0, 0 }, { 18, 1, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, + { 19, -3, 0, 24, 0, 0 }, { 19, -5, 0, 24, 0, 0 }, { 20, -7, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 20, -8, 0, 24, 0, 0 }, + { 20, -9, 0, 24, 0, 0 }, { 20, -10, 0, 24, 0, 0 }, { 20, -11, 0, 24, 0, 0 }, { 20, -12, 0, 24, 0, 0 }, { 20, -13, 0, 24, 0, 0 }, + { 20, -14, 0, 24, 0, 0 }, { 20, -15, 0, 24, 0, 0 }, { 20, -16, 0, 24, 0, 0 }, { 20, -17, 0, 24, 0, 0 }, { 20, -18, 0, 24, 0, 0 }, + { 20, -19, 0, 24, 0, 0 }, { 20, -20, 0, 24, 0, 0 }, { 20, -21, 0, 24, 0, 0 }, { 20, -22, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 20, -23, 0, 24, 0, 0 }, { 19, -23, 0, 24, 0, 0 }, { 18, -23, 0, 24, 0, 0 }, { 17, -23, 0, 24, 0, 0 }, + { 16, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9446DE = { - 107, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 17, 0, 0, 0, 0 }, { 19, 17, 0, 0, 0, 0 }, - { 17, 17, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 18, 0, 0, 0, 0 }, { 11, 18, 0, 0, 0, 0 }, { 9, 18, 0, 0, 0, 0 }, - { 7, 18, 0, 0, 0, 0 }, { 5, 18, 0, 0, 0, 0 }, { 4, 18, 0, 0, 0, 0 }, { 3, 19, 0, 0, 0, 0 }, { 2, 19, 0, 0, 0, 0 }, - { 1, 19, 0, 0, 0, 0 }, { 0, 19, 0, 0, 0, 0 }, { -1, 19, 0, 0, 0, 0 }, { -2, 19, 0, 0, 0, 0 }, { -1, 19, 0, 0, 0, 0 }, - { 0, 19, 0, 0, 0, 0 }, { 1, 19, 0, 0, 0, 0 }, { 2, 19, 0, 0, 0, 0 }, { 3, 19, 0, 0, 0, 0 }, { 4, 19, 0, 0, 0, 0 }, - { 5, 19, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 8, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, - { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 14, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, - { 3, 20, 0, 0, 0, 0 }, { 0, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -6, 20, 0, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, - { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, - { -28, 9, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, { -22, 3, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, - { -18, 2, 1, 0, 0, 0 }, { -16, 3, 2, 0, 0, 0 }, { -14, 3, 2, 0, 0, 0 }, { -14, 5, 2, 0, 0, 0 }, { -13, 7, 2, 0, 0, 0 }, - { -12, 9, 3, 0, 0, 0 }, { -12, 11, 3, 0, 0, 0 }, { -11, 13, 3, 0, 0, 0 }, { -12, 15, 3, 0, 0, 0 }, { -12, 17, 3, 0, 0, 0 }, - { -12, 19, 3, 0, 0, 0 }, { -13, 21, 3, 0, 0, 0 }, { -13, 23, 3, 0, 0, 0 }, { -13, 25, 3, 0, 0, 0 }, { -14, 27, 3, 0, 0, 0 }, - { -14, 29, 3, 0, 0, 0 }, { -14, 30, 3, 0, 0, 0 }, { -14, 31, 3, 0, 0, 0 }, { -15, 32, 3, 0, 0, 0 }, { -15, 33, 3, 0, 0, 0 }, - { -15, 34, 3, 0, 0, 0 }, { -15, 35, 3, 0, 0, 0 }, { -15, 36, 3, 0, 0, 0 }, { -15, 38, 0, 0, 0, 0 }, { -16, 40, 0, 0, 0, 0 }, - { -16, 41, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, 42, 0, 0, 0, 0 }, { -16, 43, 0, 0, 0, 0 }, - { -16, 44, 0, 0, 0, 0 }, { -16, 45, 0, 0, 0, 0 }, { -17, 46, 0, 0, 0, 0 }, { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, - { -17, 49, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, + 107, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 17, 0, 0, 0, 0 }, { 19, 17, 0, 0, 0, 0 }, + { 17, 17, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 18, 0, 0, 0, 0 }, { 11, 18, 0, 0, 0, 0 }, { 9, 18, 0, 0, 0, 0 }, + { 7, 18, 0, 0, 0, 0 }, { 5, 18, 0, 0, 0, 0 }, { 4, 18, 0, 0, 0, 0 }, { 3, 19, 0, 0, 0, 0 }, { 2, 19, 0, 0, 0, 0 }, + { 1, 19, 0, 0, 0, 0 }, { 0, 19, 0, 0, 0, 0 }, { -1, 19, 0, 0, 0, 0 }, { -2, 19, 0, 0, 0, 0 }, { -1, 19, 0, 0, 0, 0 }, + { 0, 19, 0, 0, 0, 0 }, { 1, 19, 0, 0, 0, 0 }, { 2, 19, 0, 0, 0, 0 }, { 3, 19, 0, 0, 0, 0 }, { 4, 19, 0, 0, 0, 0 }, + { 5, 19, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 8, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, + { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 14, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, + { 3, 20, 0, 0, 0, 0 }, { 0, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -6, 20, 0, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, + { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, + { -28, 9, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, { -22, 3, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, + { -18, 2, 1, 0, 0, 0 }, { -16, 3, 2, 0, 0, 0 }, { -14, 3, 2, 0, 0, 0 }, { -14, 5, 2, 0, 0, 0 }, { -13, 7, 2, 0, 0, 0 }, + { -12, 9, 3, 0, 0, 0 }, { -12, 11, 3, 0, 0, 0 }, { -11, 13, 3, 0, 0, 0 }, { -12, 15, 3, 0, 0, 0 }, { -12, 17, 3, 0, 0, 0 }, + { -12, 19, 3, 0, 0, 0 }, { -13, 21, 3, 0, 0, 0 }, { -13, 23, 3, 0, 0, 0 }, { -13, 25, 3, 0, 0, 0 }, { -14, 27, 3, 0, 0, 0 }, + { -14, 29, 3, 0, 0, 0 }, { -14, 30, 3, 0, 0, 0 }, { -14, 31, 3, 0, 0, 0 }, { -15, 32, 3, 0, 0, 0 }, { -15, 33, 3, 0, 0, 0 }, + { -15, 34, 3, 0, 0, 0 }, { -15, 35, 3, 0, 0, 0 }, { -15, 36, 3, 0, 0, 0 }, { -15, 38, 0, 0, 0, 0 }, { -16, 40, 0, 0, 0, 0 }, + { -16, 41, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, 42, 0, 0, 0, 0 }, { -16, 43, 0, 0, 0, 0 }, + { -16, 44, 0, 0, 0, 0 }, { -16, 45, 0, 0, 0, 0 }, { -17, 46, 0, 0, 0, 0 }, { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, + { -17, 49, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94739C = { - 107, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 17, 10, 0, 8, 0, 0 }, { 17, 12, 0, 8, 0, 0 }, - { 17, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 18, 0, 8, 0, 0 }, { 18, 20, 0, 8, 0, 0 }, { 18, 22, 0, 8, 0, 0 }, - { 18, 24, 0, 8, 0, 0 }, { 18, 26, 0, 8, 0, 0 }, { 18, 27, 0, 8, 0, 0 }, { 19, 28, 0, 8, 0, 0 }, { 19, 29, 0, 8, 0, 0 }, - { 19, 30, 0, 8, 0, 0 }, { 19, 31, 0, 8, 0, 0 }, { 19, 32, 0, 8, 0, 0 }, { 19, 33, 0, 8, 0, 0 }, { 19, 32, 0, 8, 0, 0 }, - { 19, 31, 0, 8, 0, 0 }, { 19, 30, 0, 8, 0, 0 }, { 19, 29, 0, 8, 0, 0 }, { 19, 28, 0, 8, 0, 0 }, { 19, 27, 0, 8, 0, 0 }, - { 19, 26, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 23, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, - { 20, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 17, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, - { 20, 28, 0, 8, 0, 0 }, { 20, 31, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 20, 37, 0, 8, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, - { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, - { 9, 59, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, { 3, 53, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, - { 2, 49, 1, 8, 0, 0 }, { 3, 47, 2, 8, 0, 0 }, { 3, 45, 2, 8, 0, 0 }, { 5, 45, 2, 8, 0, 0 }, { 7, 44, 2, 8, 0, 0 }, - { 9, 43, 3, 8, 0, 0 }, { 11, 43, 3, 8, 0, 0 }, { 13, 42, 3, 8, 0, 0 }, { 15, 43, 3, 8, 0, 0 }, { 17, 43, 3, 8, 0, 0 }, - { 19, 43, 3, 8, 0, 0 }, { 21, 44, 3, 8, 0, 0 }, { 23, 44, 3, 8, 0, 0 }, { 25, 44, 3, 8, 0, 0 }, { 27, 45, 3, 8, 0, 0 }, - { 29, 45, 3, 8, 0, 0 }, { 30, 45, 3, 8, 0, 0 }, { 31, 45, 3, 8, 0, 0 }, { 32, 46, 3, 8, 0, 0 }, { 33, 46, 3, 8, 0, 0 }, - { 34, 46, 3, 8, 0, 0 }, { 35, 46, 3, 8, 0, 0 }, { 36, 46, 3, 8, 0, 0 }, { 38, 46, 0, 8, 0, 0 }, { 40, 47, 0, 8, 0, 0 }, - { 41, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 42, 47, 0, 8, 0, 0 }, { 43, 47, 0, 8, 0, 0 }, - { 44, 47, 0, 8, 0, 0 }, { 45, 47, 0, 8, 0, 0 }, { 46, 48, 0, 8, 0, 0 }, { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, - { 49, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, + 107, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 17, 10, 0, 8, 0, 0 }, { 17, 12, 0, 8, 0, 0 }, + { 17, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 18, 0, 8, 0, 0 }, { 18, 20, 0, 8, 0, 0 }, { 18, 22, 0, 8, 0, 0 }, + { 18, 24, 0, 8, 0, 0 }, { 18, 26, 0, 8, 0, 0 }, { 18, 27, 0, 8, 0, 0 }, { 19, 28, 0, 8, 0, 0 }, { 19, 29, 0, 8, 0, 0 }, + { 19, 30, 0, 8, 0, 0 }, { 19, 31, 0, 8, 0, 0 }, { 19, 32, 0, 8, 0, 0 }, { 19, 33, 0, 8, 0, 0 }, { 19, 32, 0, 8, 0, 0 }, + { 19, 31, 0, 8, 0, 0 }, { 19, 30, 0, 8, 0, 0 }, { 19, 29, 0, 8, 0, 0 }, { 19, 28, 0, 8, 0, 0 }, { 19, 27, 0, 8, 0, 0 }, + { 19, 26, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 23, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, + { 20, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 20, 17, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, + { 20, 28, 0, 8, 0, 0 }, { 20, 31, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 20, 37, 0, 8, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, + { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, + { 9, 59, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, { 3, 53, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, + { 2, 49, 1, 8, 0, 0 }, { 3, 47, 2, 8, 0, 0 }, { 3, 45, 2, 8, 0, 0 }, { 5, 45, 2, 8, 0, 0 }, { 7, 44, 2, 8, 0, 0 }, + { 9, 43, 3, 8, 0, 0 }, { 11, 43, 3, 8, 0, 0 }, { 13, 42, 3, 8, 0, 0 }, { 15, 43, 3, 8, 0, 0 }, { 17, 43, 3, 8, 0, 0 }, + { 19, 43, 3, 8, 0, 0 }, { 21, 44, 3, 8, 0, 0 }, { 23, 44, 3, 8, 0, 0 }, { 25, 44, 3, 8, 0, 0 }, { 27, 45, 3, 8, 0, 0 }, + { 29, 45, 3, 8, 0, 0 }, { 30, 45, 3, 8, 0, 0 }, { 31, 45, 3, 8, 0, 0 }, { 32, 46, 3, 8, 0, 0 }, { 33, 46, 3, 8, 0, 0 }, + { 34, 46, 3, 8, 0, 0 }, { 35, 46, 3, 8, 0, 0 }, { 36, 46, 3, 8, 0, 0 }, { 38, 46, 0, 8, 0, 0 }, { 40, 47, 0, 8, 0, 0 }, + { 41, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 42, 47, 0, 8, 0, 0 }, { 43, 47, 0, 8, 0, 0 }, + { 44, 47, 0, 8, 0, 0 }, { 45, 47, 0, 8, 0, 0 }, { 46, 48, 0, 8, 0, 0 }, { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, + { 49, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94A05A = { - 107, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 14, 0, 16, 0, 0 }, { 12, 14, 0, 16, 0, 0 }, - { 14, 14, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 13, 0, 16, 0, 0 }, { 20, 13, 0, 16, 0, 0 }, { 22, 13, 0, 16, 0, 0 }, - { 24, 13, 0, 16, 0, 0 }, { 26, 13, 0, 16, 0, 0 }, { 27, 13, 0, 16, 0, 0 }, { 28, 12, 0, 16, 0, 0 }, { 29, 12, 0, 16, 0, 0 }, - { 30, 12, 0, 16, 0, 0 }, { 31, 12, 0, 16, 0, 0 }, { 32, 12, 0, 16, 0, 0 }, { 33, 12, 0, 16, 0, 0 }, { 32, 12, 0, 16, 0, 0 }, - { 31, 12, 0, 16, 0, 0 }, { 30, 12, 0, 16, 0, 0 }, { 29, 12, 0, 16, 0, 0 }, { 28, 12, 0, 16, 0, 0 }, { 27, 12, 0, 16, 0, 0 }, - { 26, 12, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 23, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, - { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 17, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, - { 28, 11, 0, 16, 0, 0 }, { 31, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 37, 11, 0, 16, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, - { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, - { 59, 22, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, { 53, 28, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, - { 49, 29, 1, 16, 0, 0 }, { 47, 28, 2, 16, 0, 0 }, { 45, 28, 2, 16, 0, 0 }, { 45, 26, 2, 16, 0, 0 }, { 44, 24, 2, 16, 0, 0 }, - { 43, 22, 3, 16, 0, 0 }, { 43, 20, 3, 16, 0, 0 }, { 42, 18, 3, 16, 0, 0 }, { 43, 16, 3, 16, 0, 0 }, { 43, 14, 3, 16, 0, 0 }, - { 43, 12, 3, 16, 0, 0 }, { 44, 10, 3, 16, 0, 0 }, { 44, 8, 3, 16, 0, 0 }, { 44, 6, 3, 16, 0, 0 }, { 45, 4, 3, 16, 0, 0 }, - { 45, 2, 3, 16, 0, 0 }, { 45, 1, 3, 16, 0, 0 }, { 45, 0, 3, 16, 0, 0 }, { 46, -1, 3, 16, 0, 0 }, { 46, -2, 3, 16, 0, 0 }, - { 46, -3, 3, 16, 0, 0 }, { 46, -4, 3, 16, 0, 0 }, { 46, -5, 3, 16, 0, 0 }, { 46, -7, 0, 16, 0, 0 }, { 47, -9, 0, 16, 0, 0 }, - { 47, -10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, -11, 0, 16, 0, 0 }, { 47, -12, 0, 16, 0, 0 }, - { 47, -13, 0, 16, 0, 0 }, { 47, -14, 0, 16, 0, 0 }, { 48, -15, 0, 16, 0, 0 }, { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, - { 48, -18, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, + 107, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 14, 0, 16, 0, 0 }, { 12, 14, 0, 16, 0, 0 }, + { 14, 14, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 13, 0, 16, 0, 0 }, { 20, 13, 0, 16, 0, 0 }, { 22, 13, 0, 16, 0, 0 }, + { 24, 13, 0, 16, 0, 0 }, { 26, 13, 0, 16, 0, 0 }, { 27, 13, 0, 16, 0, 0 }, { 28, 12, 0, 16, 0, 0 }, { 29, 12, 0, 16, 0, 0 }, + { 30, 12, 0, 16, 0, 0 }, { 31, 12, 0, 16, 0, 0 }, { 32, 12, 0, 16, 0, 0 }, { 33, 12, 0, 16, 0, 0 }, { 32, 12, 0, 16, 0, 0 }, + { 31, 12, 0, 16, 0, 0 }, { 30, 12, 0, 16, 0, 0 }, { 29, 12, 0, 16, 0, 0 }, { 28, 12, 0, 16, 0, 0 }, { 27, 12, 0, 16, 0, 0 }, + { 26, 12, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 23, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, + { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 17, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, + { 28, 11, 0, 16, 0, 0 }, { 31, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 37, 11, 0, 16, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, + { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, + { 59, 22, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, { 53, 28, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, + { 49, 29, 1, 16, 0, 0 }, { 47, 28, 2, 16, 0, 0 }, { 45, 28, 2, 16, 0, 0 }, { 45, 26, 2, 16, 0, 0 }, { 44, 24, 2, 16, 0, 0 }, + { 43, 22, 3, 16, 0, 0 }, { 43, 20, 3, 16, 0, 0 }, { 42, 18, 3, 16, 0, 0 }, { 43, 16, 3, 16, 0, 0 }, { 43, 14, 3, 16, 0, 0 }, + { 43, 12, 3, 16, 0, 0 }, { 44, 10, 3, 16, 0, 0 }, { 44, 8, 3, 16, 0, 0 }, { 44, 6, 3, 16, 0, 0 }, { 45, 4, 3, 16, 0, 0 }, + { 45, 2, 3, 16, 0, 0 }, { 45, 1, 3, 16, 0, 0 }, { 45, 0, 3, 16, 0, 0 }, { 46, -1, 3, 16, 0, 0 }, { 46, -2, 3, 16, 0, 0 }, + { 46, -3, 3, 16, 0, 0 }, { 46, -4, 3, 16, 0, 0 }, { 46, -5, 3, 16, 0, 0 }, { 46, -7, 0, 16, 0, 0 }, { 47, -9, 0, 16, 0, 0 }, + { 47, -10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, -11, 0, 16, 0, 0 }, { 47, -12, 0, 16, 0, 0 }, + { 47, -13, 0, 16, 0, 0 }, { 47, -14, 0, 16, 0, 0 }, { 48, -15, 0, 16, 0, 0 }, { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, + { 48, -18, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94CD18 = { - 107, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 14, 21, 0, 24, 0, 0 }, { 14, 19, 0, 24, 0, 0 }, - { 14, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 13, 0, 24, 0, 0 }, { 13, 11, 0, 24, 0, 0 }, { 13, 9, 0, 24, 0, 0 }, - { 13, 7, 0, 24, 0, 0 }, { 13, 5, 0, 24, 0, 0 }, { 13, 4, 0, 24, 0, 0 }, { 12, 3, 0, 24, 0, 0 }, { 12, 2, 0, 24, 0, 0 }, - { 12, 1, 0, 24, 0, 0 }, { 12, 0, 0, 24, 0, 0 }, { 12, -1, 0, 24, 0, 0 }, { 12, -2, 0, 24, 0, 0 }, { 12, -1, 0, 24, 0, 0 }, - { 12, 0, 0, 24, 0, 0 }, { 12, 1, 0, 24, 0, 0 }, { 12, 2, 0, 24, 0, 0 }, { 12, 3, 0, 24, 0, 0 }, { 12, 4, 0, 24, 0, 0 }, - { 12, 5, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 8, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, - { 11, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 14, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, - { 11, 3, 0, 24, 0, 0 }, { 11, 0, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 11, -6, 0, 24, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, - { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, - { 22, -28, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, { 28, -22, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, - { 29, -18, 1, 24, 0, 0 }, { 28, -16, 2, 24, 0, 0 }, { 28, -14, 2, 24, 0, 0 }, { 26, -14, 2, 24, 0, 0 }, { 24, -13, 2, 24, 0, 0 }, - { 22, -12, 3, 24, 0, 0 }, { 20, -12, 3, 24, 0, 0 }, { 18, -11, 3, 24, 0, 0 }, { 16, -12, 3, 24, 0, 0 }, { 14, -12, 3, 24, 0, 0 }, - { 12, -12, 3, 24, 0, 0 }, { 10, -13, 3, 24, 0, 0 }, { 8, -13, 3, 24, 0, 0 }, { 6, -13, 3, 24, 0, 0 }, { 4, -14, 3, 24, 0, 0 }, - { 2, -14, 3, 24, 0, 0 }, { 1, -14, 3, 24, 0, 0 }, { 0, -14, 3, 24, 0, 0 }, { -1, -15, 3, 24, 0, 0 }, { -2, -15, 3, 24, 0, 0 }, - { -3, -15, 3, 24, 0, 0 }, { -4, -15, 3, 24, 0, 0 }, { -5, -15, 3, 24, 0, 0 }, { -7, -15, 0, 24, 0, 0 }, { -9, -16, 0, 24, 0, 0 }, - { -10, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -11, -16, 0, 24, 0, 0 }, { -12, -16, 0, 24, 0, 0 }, - { -13, -16, 0, 24, 0, 0 }, { -14, -16, 0, 24, 0, 0 }, { -15, -17, 0, 24, 0, 0 }, { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, - { -18, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, + 107, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 14, 21, 0, 24, 0, 0 }, { 14, 19, 0, 24, 0, 0 }, + { 14, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 13, 0, 24, 0, 0 }, { 13, 11, 0, 24, 0, 0 }, { 13, 9, 0, 24, 0, 0 }, + { 13, 7, 0, 24, 0, 0 }, { 13, 5, 0, 24, 0, 0 }, { 13, 4, 0, 24, 0, 0 }, { 12, 3, 0, 24, 0, 0 }, { 12, 2, 0, 24, 0, 0 }, + { 12, 1, 0, 24, 0, 0 }, { 12, 0, 0, 24, 0, 0 }, { 12, -1, 0, 24, 0, 0 }, { 12, -2, 0, 24, 0, 0 }, { 12, -1, 0, 24, 0, 0 }, + { 12, 0, 0, 24, 0, 0 }, { 12, 1, 0, 24, 0, 0 }, { 12, 2, 0, 24, 0, 0 }, { 12, 3, 0, 24, 0, 0 }, { 12, 4, 0, 24, 0, 0 }, + { 12, 5, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 8, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, + { 11, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 11, 14, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, + { 11, 3, 0, 24, 0, 0 }, { 11, 0, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 11, -6, 0, 24, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, + { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, + { 22, -28, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, { 28, -22, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, + { 29, -18, 1, 24, 0, 0 }, { 28, -16, 2, 24, 0, 0 }, { 28, -14, 2, 24, 0, 0 }, { 26, -14, 2, 24, 0, 0 }, { 24, -13, 2, 24, 0, 0 }, + { 22, -12, 3, 24, 0, 0 }, { 20, -12, 3, 24, 0, 0 }, { 18, -11, 3, 24, 0, 0 }, { 16, -12, 3, 24, 0, 0 }, { 14, -12, 3, 24, 0, 0 }, + { 12, -12, 3, 24, 0, 0 }, { 10, -13, 3, 24, 0, 0 }, { 8, -13, 3, 24, 0, 0 }, { 6, -13, 3, 24, 0, 0 }, { 4, -14, 3, 24, 0, 0 }, + { 2, -14, 3, 24, 0, 0 }, { 1, -14, 3, 24, 0, 0 }, { 0, -14, 3, 24, 0, 0 }, { -1, -15, 3, 24, 0, 0 }, { -2, -15, 3, 24, 0, 0 }, + { -3, -15, 3, 24, 0, 0 }, { -4, -15, 3, 24, 0, 0 }, { -5, -15, 3, 24, 0, 0 }, { -7, -15, 0, 24, 0, 0 }, { -9, -16, 0, 24, 0, 0 }, + { -10, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -11, -16, 0, 24, 0, 0 }, { -12, -16, 0, 24, 0, 0 }, + { -13, -16, 0, 24, 0, 0 }, { -14, -16, 0, 24, 0, 0 }, { -15, -17, 0, 24, 0, 0 }, { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, + { -18, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_945D3D = { - 107, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, - { 17, 15, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 14, 0, 0, 0, 0 }, { 11, 14, 0, 0, 0, 0 }, { 9, 14, 0, 0, 0, 0 }, - { 7, 14, 0, 0, 0, 0 }, { 5, 14, 0, 0, 0, 0 }, { 4, 14, 0, 0, 0, 0 }, { 3, 13, 0, 0, 0, 0 }, { 2, 13, 0, 0, 0, 0 }, - { 1, 13, 0, 0, 0, 0 }, { 0, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, { -2, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, - { 0, 13, 0, 0, 0, 0 }, { 1, 13, 0, 0, 0, 0 }, { 2, 13, 0, 0, 0, 0 }, { 3, 13, 0, 0, 0, 0 }, { 4, 13, 0, 0, 0, 0 }, - { 5, 13, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 8, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, - { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 14, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, - { 3, 12, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -6, 12, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, - { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, - { -28, 23, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, { -22, 29, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, - { -18, 30, 1, 0, 0, 0 }, { -16, 29, 2, 0, 0, 0 }, { -14, 29, 2, 0, 0, 0 }, { -14, 27, 2, 0, 0, 0 }, { -13, 25, 2, 0, 0, 0 }, - { -12, 23, 3, 0, 0, 0 }, { -12, 21, 3, 0, 0, 0 }, { -11, 19, 3, 0, 0, 0 }, { -12, 17, 3, 0, 0, 0 }, { -12, 15, 3, 0, 0, 0 }, - { -12, 13, 3, 0, 0, 0 }, { -13, 11, 3, 0, 0, 0 }, { -13, 9, 3, 0, 0, 0 }, { -13, 7, 3, 0, 0, 0 }, { -14, 5, 3, 0, 0, 0 }, - { -14, 3, 3, 0, 0, 0 }, { -14, 2, 3, 0, 0, 0 }, { -14, 1, 3, 0, 0, 0 }, { -15, 0, 3, 0, 0, 0 }, { -15, -1, 3, 0, 0, 0 }, - { -15, -2, 3, 0, 0, 0 }, { -15, -3, 3, 0, 0, 0 }, { -15, -4, 3, 0, 0, 0 }, { -15, -6, 0, 0, 0, 0 }, { -16, -8, 0, 0, 0, 0 }, - { -16, -9, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, -10, 0, 0, 0, 0 }, { -16, -11, 0, 0, 0, 0 }, - { -16, -12, 0, 0, 0, 0 }, { -16, -13, 0, 0, 0, 0 }, { -17, -14, 0, 0, 0, 0 }, { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, - { -17, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, + 107, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, + { 17, 15, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 14, 0, 0, 0, 0 }, { 11, 14, 0, 0, 0, 0 }, { 9, 14, 0, 0, 0, 0 }, + { 7, 14, 0, 0, 0, 0 }, { 5, 14, 0, 0, 0, 0 }, { 4, 14, 0, 0, 0, 0 }, { 3, 13, 0, 0, 0, 0 }, { 2, 13, 0, 0, 0, 0 }, + { 1, 13, 0, 0, 0, 0 }, { 0, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, { -2, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, + { 0, 13, 0, 0, 0, 0 }, { 1, 13, 0, 0, 0, 0 }, { 2, 13, 0, 0, 0, 0 }, { 3, 13, 0, 0, 0, 0 }, { 4, 13, 0, 0, 0, 0 }, + { 5, 13, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 8, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, + { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 14, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, + { 3, 12, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -6, 12, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, + { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, + { -28, 23, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, { -22, 29, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, + { -18, 30, 1, 0, 0, 0 }, { -16, 29, 2, 0, 0, 0 }, { -14, 29, 2, 0, 0, 0 }, { -14, 27, 2, 0, 0, 0 }, { -13, 25, 2, 0, 0, 0 }, + { -12, 23, 3, 0, 0, 0 }, { -12, 21, 3, 0, 0, 0 }, { -11, 19, 3, 0, 0, 0 }, { -12, 17, 3, 0, 0, 0 }, { -12, 15, 3, 0, 0, 0 }, + { -12, 13, 3, 0, 0, 0 }, { -13, 11, 3, 0, 0, 0 }, { -13, 9, 3, 0, 0, 0 }, { -13, 7, 3, 0, 0, 0 }, { -14, 5, 3, 0, 0, 0 }, + { -14, 3, 3, 0, 0, 0 }, { -14, 2, 3, 0, 0, 0 }, { -14, 1, 3, 0, 0, 0 }, { -15, 0, 3, 0, 0, 0 }, { -15, -1, 3, 0, 0, 0 }, + { -15, -2, 3, 0, 0, 0 }, { -15, -3, 3, 0, 0, 0 }, { -15, -4, 3, 0, 0, 0 }, { -15, -6, 0, 0, 0, 0 }, { -16, -8, 0, 0, 0, 0 }, + { -16, -9, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, -10, 0, 0, 0, 0 }, { -16, -11, 0, 0, 0, 0 }, + { -16, -12, 0, 0, 0, 0 }, { -16, -13, 0, 0, 0, 0 }, { -17, -14, 0, 0, 0, 0 }, { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, + { -17, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9489FB = { - 107, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, - { 15, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 18, 0, 8, 0, 0 }, { 14, 20, 0, 8, 0, 0 }, { 14, 22, 0, 8, 0, 0 }, - { 14, 24, 0, 8, 0, 0 }, { 14, 26, 0, 8, 0, 0 }, { 14, 27, 0, 8, 0, 0 }, { 13, 28, 0, 8, 0, 0 }, { 13, 29, 0, 8, 0, 0 }, - { 13, 30, 0, 8, 0, 0 }, { 13, 31, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, { 13, 33, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, - { 13, 31, 0, 8, 0, 0 }, { 13, 30, 0, 8, 0, 0 }, { 13, 29, 0, 8, 0, 0 }, { 13, 28, 0, 8, 0, 0 }, { 13, 27, 0, 8, 0, 0 }, - { 13, 26, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 23, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, - { 12, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 12, 17, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, - { 12, 28, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 12, 37, 0, 8, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, - { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, - { 23, 59, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, { 29, 53, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, - { 30, 49, 1, 8, 0, 0 }, { 29, 47, 2, 8, 0, 0 }, { 29, 45, 2, 8, 0, 0 }, { 27, 45, 2, 8, 0, 0 }, { 25, 44, 2, 8, 0, 0 }, - { 23, 43, 3, 8, 0, 0 }, { 21, 43, 3, 8, 0, 0 }, { 19, 42, 3, 8, 0, 0 }, { 17, 43, 3, 8, 0, 0 }, { 15, 43, 3, 8, 0, 0 }, - { 13, 43, 3, 8, 0, 0 }, { 11, 44, 3, 8, 0, 0 }, { 9, 44, 3, 8, 0, 0 }, { 7, 44, 3, 8, 0, 0 }, { 5, 45, 3, 8, 0, 0 }, - { 3, 45, 3, 8, 0, 0 }, { 2, 45, 3, 8, 0, 0 }, { 1, 45, 3, 8, 0, 0 }, { 0, 46, 3, 8, 0, 0 }, { -1, 46, 3, 8, 0, 0 }, - { -2, 46, 3, 8, 0, 0 }, { -3, 46, 3, 8, 0, 0 }, { -4, 46, 3, 8, 0, 0 }, { -6, 46, 0, 8, 0, 0 }, { -8, 47, 0, 8, 0, 0 }, - { -9, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -10, 47, 0, 8, 0, 0 }, { -11, 47, 0, 8, 0, 0 }, - { -12, 47, 0, 8, 0, 0 }, { -13, 47, 0, 8, 0, 0 }, { -14, 48, 0, 8, 0, 0 }, { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, - { -17, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, + 107, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, + { 15, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 18, 0, 8, 0, 0 }, { 14, 20, 0, 8, 0, 0 }, { 14, 22, 0, 8, 0, 0 }, + { 14, 24, 0, 8, 0, 0 }, { 14, 26, 0, 8, 0, 0 }, { 14, 27, 0, 8, 0, 0 }, { 13, 28, 0, 8, 0, 0 }, { 13, 29, 0, 8, 0, 0 }, + { 13, 30, 0, 8, 0, 0 }, { 13, 31, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, { 13, 33, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, + { 13, 31, 0, 8, 0, 0 }, { 13, 30, 0, 8, 0, 0 }, { 13, 29, 0, 8, 0, 0 }, { 13, 28, 0, 8, 0, 0 }, { 13, 27, 0, 8, 0, 0 }, + { 13, 26, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 23, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, + { 12, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 12, 17, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, + { 12, 28, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 12, 37, 0, 8, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, + { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, + { 23, 59, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, { 29, 53, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, + { 30, 49, 1, 8, 0, 0 }, { 29, 47, 2, 8, 0, 0 }, { 29, 45, 2, 8, 0, 0 }, { 27, 45, 2, 8, 0, 0 }, { 25, 44, 2, 8, 0, 0 }, + { 23, 43, 3, 8, 0, 0 }, { 21, 43, 3, 8, 0, 0 }, { 19, 42, 3, 8, 0, 0 }, { 17, 43, 3, 8, 0, 0 }, { 15, 43, 3, 8, 0, 0 }, + { 13, 43, 3, 8, 0, 0 }, { 11, 44, 3, 8, 0, 0 }, { 9, 44, 3, 8, 0, 0 }, { 7, 44, 3, 8, 0, 0 }, { 5, 45, 3, 8, 0, 0 }, + { 3, 45, 3, 8, 0, 0 }, { 2, 45, 3, 8, 0, 0 }, { 1, 45, 3, 8, 0, 0 }, { 0, 46, 3, 8, 0, 0 }, { -1, 46, 3, 8, 0, 0 }, + { -2, 46, 3, 8, 0, 0 }, { -3, 46, 3, 8, 0, 0 }, { -4, 46, 3, 8, 0, 0 }, { -6, 46, 0, 8, 0, 0 }, { -8, 47, 0, 8, 0, 0 }, + { -9, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -10, 47, 0, 8, 0, 0 }, { -11, 47, 0, 8, 0, 0 }, + { -12, 47, 0, 8, 0, 0 }, { -13, 47, 0, 8, 0, 0 }, { -14, 48, 0, 8, 0, 0 }, { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, + { -17, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94B6B9 = { - 107, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, - { 14, 16, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 17, 0, 16, 0, 0 }, { 20, 17, 0, 16, 0, 0 }, { 22, 17, 0, 16, 0, 0 }, - { 24, 17, 0, 16, 0, 0 }, { 26, 17, 0, 16, 0, 0 }, { 27, 17, 0, 16, 0, 0 }, { 28, 18, 0, 16, 0, 0 }, { 29, 18, 0, 16, 0, 0 }, - { 30, 18, 0, 16, 0, 0 }, { 31, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, { 33, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, - { 31, 18, 0, 16, 0, 0 }, { 30, 18, 0, 16, 0, 0 }, { 29, 18, 0, 16, 0, 0 }, { 28, 18, 0, 16, 0, 0 }, { 27, 18, 0, 16, 0, 0 }, - { 26, 18, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 23, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, - { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 17, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, - { 28, 19, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 37, 19, 0, 16, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, - { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, - { 59, 8, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, { 53, 2, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, - { 49, 1, 1, 16, 0, 0 }, { 47, 2, 2, 16, 0, 0 }, { 45, 2, 2, 16, 0, 0 }, { 45, 4, 2, 16, 0, 0 }, { 44, 6, 2, 16, 0, 0 }, - { 43, 8, 3, 16, 0, 0 }, { 43, 10, 3, 16, 0, 0 }, { 42, 12, 3, 16, 0, 0 }, { 43, 14, 3, 16, 0, 0 }, { 43, 16, 3, 16, 0, 0 }, - { 43, 18, 3, 16, 0, 0 }, { 44, 20, 3, 16, 0, 0 }, { 44, 22, 3, 16, 0, 0 }, { 44, 24, 3, 16, 0, 0 }, { 45, 26, 3, 16, 0, 0 }, - { 45, 28, 3, 16, 0, 0 }, { 45, 29, 3, 16, 0, 0 }, { 45, 30, 3, 16, 0, 0 }, { 46, 31, 3, 16, 0, 0 }, { 46, 32, 3, 16, 0, 0 }, - { 46, 33, 3, 16, 0, 0 }, { 46, 34, 3, 16, 0, 0 }, { 46, 35, 3, 16, 0, 0 }, { 46, 37, 0, 16, 0, 0 }, { 47, 39, 0, 16, 0, 0 }, - { 47, 40, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, 41, 0, 16, 0, 0 }, { 47, 42, 0, 16, 0, 0 }, - { 47, 43, 0, 16, 0, 0 }, { 47, 44, 0, 16, 0, 0 }, { 48, 45, 0, 16, 0, 0 }, { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, - { 48, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, + 107, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, + { 14, 16, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 17, 0, 16, 0, 0 }, { 20, 17, 0, 16, 0, 0 }, { 22, 17, 0, 16, 0, 0 }, + { 24, 17, 0, 16, 0, 0 }, { 26, 17, 0, 16, 0, 0 }, { 27, 17, 0, 16, 0, 0 }, { 28, 18, 0, 16, 0, 0 }, { 29, 18, 0, 16, 0, 0 }, + { 30, 18, 0, 16, 0, 0 }, { 31, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, { 33, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, + { 31, 18, 0, 16, 0, 0 }, { 30, 18, 0, 16, 0, 0 }, { 29, 18, 0, 16, 0, 0 }, { 28, 18, 0, 16, 0, 0 }, { 27, 18, 0, 16, 0, 0 }, + { 26, 18, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 23, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, + { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 17, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, + { 28, 19, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 37, 19, 0, 16, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, + { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, + { 59, 8, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, { 53, 2, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, + { 49, 1, 1, 16, 0, 0 }, { 47, 2, 2, 16, 0, 0 }, { 45, 2, 2, 16, 0, 0 }, { 45, 4, 2, 16, 0, 0 }, { 44, 6, 2, 16, 0, 0 }, + { 43, 8, 3, 16, 0, 0 }, { 43, 10, 3, 16, 0, 0 }, { 42, 12, 3, 16, 0, 0 }, { 43, 14, 3, 16, 0, 0 }, { 43, 16, 3, 16, 0, 0 }, + { 43, 18, 3, 16, 0, 0 }, { 44, 20, 3, 16, 0, 0 }, { 44, 22, 3, 16, 0, 0 }, { 44, 24, 3, 16, 0, 0 }, { 45, 26, 3, 16, 0, 0 }, + { 45, 28, 3, 16, 0, 0 }, { 45, 29, 3, 16, 0, 0 }, { 45, 30, 3, 16, 0, 0 }, { 46, 31, 3, 16, 0, 0 }, { 46, 32, 3, 16, 0, 0 }, + { 46, 33, 3, 16, 0, 0 }, { 46, 34, 3, 16, 0, 0 }, { 46, 35, 3, 16, 0, 0 }, { 46, 37, 0, 16, 0, 0 }, { 47, 39, 0, 16, 0, 0 }, + { 47, 40, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, 41, 0, 16, 0, 0 }, { 47, 42, 0, 16, 0, 0 }, + { 47, 43, 0, 16, 0, 0 }, { 47, 44, 0, 16, 0, 0 }, { 48, 45, 0, 16, 0, 0 }, { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, + { 48, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94E377 = { - 107, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, - { 16, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 13, 0, 24, 0, 0 }, { 17, 11, 0, 24, 0, 0 }, { 17, 9, 0, 24, 0, 0 }, - { 17, 7, 0, 24, 0, 0 }, { 17, 5, 0, 24, 0, 0 }, { 17, 4, 0, 24, 0, 0 }, { 18, 3, 0, 24, 0, 0 }, { 18, 2, 0, 24, 0, 0 }, - { 18, 1, 0, 24, 0, 0 }, { 18, 0, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, { 18, -2, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, - { 18, 0, 0, 24, 0, 0 }, { 18, 1, 0, 24, 0, 0 }, { 18, 2, 0, 24, 0, 0 }, { 18, 3, 0, 24, 0, 0 }, { 18, 4, 0, 24, 0, 0 }, - { 18, 5, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 8, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, - { 19, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 19, 14, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, - { 19, 3, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 19, -6, 0, 24, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, - { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, - { 8, -28, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, { 2, -22, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, - { 1, -18, 1, 24, 0, 0 }, { 2, -16, 2, 24, 0, 0 }, { 2, -14, 2, 24, 0, 0 }, { 4, -14, 2, 24, 0, 0 }, { 6, -13, 2, 24, 0, 0 }, - { 8, -12, 3, 24, 0, 0 }, { 10, -12, 3, 24, 0, 0 }, { 12, -11, 3, 24, 0, 0 }, { 14, -12, 3, 24, 0, 0 }, { 16, -12, 3, 24, 0, 0 }, - { 18, -12, 3, 24, 0, 0 }, { 20, -13, 3, 24, 0, 0 }, { 22, -13, 3, 24, 0, 0 }, { 24, -13, 3, 24, 0, 0 }, { 26, -14, 3, 24, 0, 0 }, - { 28, -14, 3, 24, 0, 0 }, { 29, -14, 3, 24, 0, 0 }, { 30, -14, 3, 24, 0, 0 }, { 31, -15, 3, 24, 0, 0 }, { 32, -15, 3, 24, 0, 0 }, - { 33, -15, 3, 24, 0, 0 }, { 34, -15, 3, 24, 0, 0 }, { 35, -15, 3, 24, 0, 0 }, { 37, -15, 0, 24, 0, 0 }, { 39, -16, 0, 24, 0, 0 }, - { 40, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 41, -16, 0, 24, 0, 0 }, { 42, -16, 0, 24, 0, 0 }, - { 43, -16, 0, 24, 0, 0 }, { 44, -16, 0, 24, 0, 0 }, { 45, -17, 0, 24, 0, 0 }, { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, - { 48, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, + 107, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, + { 16, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 13, 0, 24, 0, 0 }, { 17, 11, 0, 24, 0, 0 }, { 17, 9, 0, 24, 0, 0 }, + { 17, 7, 0, 24, 0, 0 }, { 17, 5, 0, 24, 0, 0 }, { 17, 4, 0, 24, 0, 0 }, { 18, 3, 0, 24, 0, 0 }, { 18, 2, 0, 24, 0, 0 }, + { 18, 1, 0, 24, 0, 0 }, { 18, 0, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, { 18, -2, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, + { 18, 0, 0, 24, 0, 0 }, { 18, 1, 0, 24, 0, 0 }, { 18, 2, 0, 24, 0, 0 }, { 18, 3, 0, 24, 0, 0 }, { 18, 4, 0, 24, 0, 0 }, + { 18, 5, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 8, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, + { 19, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 19, 14, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, + { 19, 3, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 19, -6, 0, 24, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, + { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, + { 8, -28, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, { 2, -22, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, + { 1, -18, 1, 24, 0, 0 }, { 2, -16, 2, 24, 0, 0 }, { 2, -14, 2, 24, 0, 0 }, { 4, -14, 2, 24, 0, 0 }, { 6, -13, 2, 24, 0, 0 }, + { 8, -12, 3, 24, 0, 0 }, { 10, -12, 3, 24, 0, 0 }, { 12, -11, 3, 24, 0, 0 }, { 14, -12, 3, 24, 0, 0 }, { 16, -12, 3, 24, 0, 0 }, + { 18, -12, 3, 24, 0, 0 }, { 20, -13, 3, 24, 0, 0 }, { 22, -13, 3, 24, 0, 0 }, { 24, -13, 3, 24, 0, 0 }, { 26, -14, 3, 24, 0, 0 }, + { 28, -14, 3, 24, 0, 0 }, { 29, -14, 3, 24, 0, 0 }, { 30, -14, 3, 24, 0, 0 }, { 31, -15, 3, 24, 0, 0 }, { 32, -15, 3, 24, 0, 0 }, + { 33, -15, 3, 24, 0, 0 }, { 34, -15, 3, 24, 0, 0 }, { 35, -15, 3, 24, 0, 0 }, { 37, -15, 0, 24, 0, 0 }, { 39, -16, 0, 24, 0, 0 }, + { 40, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 41, -16, 0, 24, 0, 0 }, { 42, -16, 0, 24, 0, 0 }, + { 43, -16, 0, 24, 0, 0 }, { 44, -16, 0, 24, 0, 0 }, { 45, -17, 0, 24, 0, 0 }, { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, + { 48, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_939EAF = { - 93, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 18, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, - { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, - { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -9, 14, 0, 24, 0, 0 }, - { -9, 12, 0, 24, 0, 0 }, { -9, 11, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -9, 11, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -9, 11, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -9, 11, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, { -11, 12, 0, 0, 0, 0 }, { -13, 12, 0, 0, 0, 0 }, - { -15, 12, 0, 0, 0, 0 }, { -17, 12, 0, 0, 0, 0 }, { -19, 12, 0, 0, 0, 0 }, { -21, 12, 0, 0, 0, 0 }, { -23, 12, 0, 0, 0, 0 }, - { -25, 12, 0, 0, 0, 0 }, { -25, 14, 0, 8, 0, 0 }, { -25, 16, 0, 8, 0, 0 }, { -25, 18, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -25, 18, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -25, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -25, 18, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -23, 18, 0, 16, 0, 0 }, - { -21, 18, 0, 16, 0, 0 }, { -19, 18, 0, 16, 0, 0 }, { -17, 18, 0, 16, 0, 0 }, { -15, 18, 0, 16, 0, 0 }, { -15, 16, 0, 8, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -15, 16, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, - { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 93, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 18, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, + { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, + { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -9, 14, 0, 24, 0, 0 }, + { -9, 12, 0, 24, 0, 0 }, { -9, 11, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -9, 11, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -9, 11, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -9, 11, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, { -11, 12, 0, 0, 0, 0 }, { -13, 12, 0, 0, 0, 0 }, + { -15, 12, 0, 0, 0, 0 }, { -17, 12, 0, 0, 0, 0 }, { -19, 12, 0, 0, 0, 0 }, { -21, 12, 0, 0, 0, 0 }, { -23, 12, 0, 0, 0, 0 }, + { -25, 12, 0, 0, 0, 0 }, { -25, 14, 0, 8, 0, 0 }, { -25, 16, 0, 8, 0, 0 }, { -25, 18, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -25, 18, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -25, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -25, 18, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -23, 18, 0, 16, 0, 0 }, + { -21, 18, 0, 16, 0, 0 }, { -19, 18, 0, 16, 0, 0 }, { -17, 18, 0, 16, 0, 0 }, { -15, 18, 0, 16, 0, 0 }, { -15, 16, 0, 8, 0, 0 }, + { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -15, 16, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, + { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93C8A0 = { - 93, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 13, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, - { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, - { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 14, 40, 0, 0, 0, 0 }, - { 12, 40, 0, 0, 0, 0 }, { 11, 40, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 11, 40, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 11, 40, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 11, 40, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, { 12, 42, 0, 8, 0, 0 }, { 12, 44, 0, 8, 0, 0 }, - { 12, 46, 0, 8, 0, 0 }, { 12, 48, 0, 8, 0, 0 }, { 12, 50, 0, 8, 0, 0 }, { 12, 52, 0, 8, 0, 0 }, { 12, 54, 0, 8, 0, 0 }, - { 12, 56, 0, 8, 0, 0 }, { 14, 56, 0, 16, 0, 0 }, { 16, 56, 0, 16, 0, 0 }, { 18, 56, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 18, 56, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 18, 56, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 18, 56, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 54, 0, 24, 0, 0 }, - { 18, 52, 0, 24, 0, 0 }, { 18, 50, 0, 24, 0, 0 }, { 18, 48, 0, 24, 0, 0 }, { 18, 46, 0, 24, 0, 0 }, { 16, 46, 0, 16, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 46, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, - { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 93, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 13, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, + { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, + { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 14, 40, 0, 0, 0, 0 }, + { 12, 40, 0, 0, 0, 0 }, { 11, 40, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 11, 40, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 11, 40, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { 11, 40, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, { 12, 42, 0, 8, 0, 0 }, { 12, 44, 0, 8, 0, 0 }, + { 12, 46, 0, 8, 0, 0 }, { 12, 48, 0, 8, 0, 0 }, { 12, 50, 0, 8, 0, 0 }, { 12, 52, 0, 8, 0, 0 }, { 12, 54, 0, 8, 0, 0 }, + { 12, 56, 0, 8, 0, 0 }, { 14, 56, 0, 16, 0, 0 }, { 16, 56, 0, 16, 0, 0 }, { 18, 56, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 18, 56, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 18, 56, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 18, 56, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 54, 0, 24, 0, 0 }, + { 18, 52, 0, 24, 0, 0 }, { 18, 50, 0, 24, 0, 0 }, { 18, 48, 0, 24, 0, 0 }, { 18, 46, 0, 24, 0, 0 }, { 16, 46, 0, 16, 0, 0 }, + { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 46, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, + { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93F291 = { - 93, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 13, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, - { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, - { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 40, 17, 0, 8, 0, 0 }, - { 40, 19, 0, 8, 0, 0 }, { 40, 20, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 40, 20, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 40, 20, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 40, 20, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, { 42, 19, 0, 16, 0, 0 }, { 44, 19, 0, 16, 0, 0 }, - { 46, 19, 0, 16, 0, 0 }, { 48, 19, 0, 16, 0, 0 }, { 50, 19, 0, 16, 0, 0 }, { 52, 19, 0, 16, 0, 0 }, { 54, 19, 0, 16, 0, 0 }, - { 56, 19, 0, 16, 0, 0 }, { 56, 17, 0, 24, 0, 0 }, { 56, 15, 0, 24, 0, 0 }, { 56, 13, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 56, 13, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 56, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 56, 13, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 54, 13, 0, 0, 0, 0 }, - { 52, 13, 0, 0, 0, 0 }, { 50, 13, 0, 0, 0, 0 }, { 48, 13, 0, 0, 0, 0 }, { 46, 13, 0, 0, 0, 0 }, { 46, 15, 0, 24, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 46, 15, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, - { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 93, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 13, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, + { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, + { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 40, 17, 0, 8, 0, 0 }, + { 40, 19, 0, 8, 0, 0 }, { 40, 20, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 40, 20, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 40, 20, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { 40, 20, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, { 42, 19, 0, 16, 0, 0 }, { 44, 19, 0, 16, 0, 0 }, + { 46, 19, 0, 16, 0, 0 }, { 48, 19, 0, 16, 0, 0 }, { 50, 19, 0, 16, 0, 0 }, { 52, 19, 0, 16, 0, 0 }, { 54, 19, 0, 16, 0, 0 }, + { 56, 19, 0, 16, 0, 0 }, { 56, 17, 0, 24, 0, 0 }, { 56, 15, 0, 24, 0, 0 }, { 56, 13, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 56, 13, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 56, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 56, 13, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 54, 13, 0, 0, 0, 0 }, + { 52, 13, 0, 0, 0, 0 }, { 50, 13, 0, 0, 0, 0 }, { 48, 13, 0, 0, 0, 0 }, { 46, 13, 0, 0, 0, 0 }, { 46, 15, 0, 24, 0, 0 }, + { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 46, 15, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, + { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_941C82 = { - 93, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 18, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, - { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, - { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 17, -9, 0, 16, 0, 0 }, - { 19, -9, 0, 16, 0, 0 }, { 20, -9, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 20, -9, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 20, -9, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 20, -9, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, { 19, -11, 0, 24, 0, 0 }, { 19, -13, 0, 24, 0, 0 }, - { 19, -15, 0, 24, 0, 0 }, { 19, -17, 0, 24, 0, 0 }, { 19, -19, 0, 24, 0, 0 }, { 19, -21, 0, 24, 0, 0 }, { 19, -23, 0, 24, 0, 0 }, - { 19, -25, 0, 24, 0, 0 }, { 17, -25, 0, 0, 0, 0 }, { 15, -25, 0, 0, 0, 0 }, { 13, -25, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 13, -25, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 13, -25, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 13, -25, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, -23, 0, 8, 0, 0 }, - { 13, -21, 0, 8, 0, 0 }, { 13, -19, 0, 8, 0, 0 }, { 13, -17, 0, 8, 0, 0 }, { 13, -15, 0, 8, 0, 0 }, { 15, -15, 0, 0, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -15, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, - { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 93, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 18, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, + { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, + { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 17, -9, 0, 16, 0, 0 }, + { 19, -9, 0, 16, 0, 0 }, { 20, -9, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 20, -9, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 20, -9, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { 20, -9, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, { 19, -11, 0, 24, 0, 0 }, { 19, -13, 0, 24, 0, 0 }, + { 19, -15, 0, 24, 0, 0 }, { 19, -17, 0, 24, 0, 0 }, { 19, -19, 0, 24, 0, 0 }, { 19, -21, 0, 24, 0, 0 }, { 19, -23, 0, 24, 0, 0 }, + { 19, -25, 0, 24, 0, 0 }, { 17, -25, 0, 0, 0, 0 }, { 15, -25, 0, 0, 0, 0 }, { 13, -25, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 13, -25, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 13, -25, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 13, -25, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, -23, 0, 8, 0, 0 }, + { 13, -21, 0, 8, 0, 0 }, { 13, -19, 0, 8, 0, 0 }, { 13, -17, 0, 8, 0, 0 }, { 13, -15, 0, 8, 0, 0 }, { 15, -15, 0, 0, 0, 0 }, + { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -15, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, + { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93ADA3 = { - 70, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, - { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, - { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, - { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -19, 14, 0, 24, 0, 0 }, - { -19, 12, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -19, 12, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -19, 12, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -19, 12, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -19, 14, 0, 8, 0, 0 }, { -19, 16, 0, 8, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, - { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 70, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, + { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, + { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, + { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -19, 14, 0, 24, 0, 0 }, + { -19, 12, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -19, 12, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -19, 12, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -19, 12, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -19, 14, 0, 8, 0, 0 }, { -19, 16, 0, 8, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, + { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93D794 = { - 70, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, - { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, - { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, - { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 14, 50, 0, 0, 0, 0 }, - { 12, 50, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 50, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 12, 50, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 12, 50, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 14, 50, 0, 16, 0, 0 }, { 16, 50, 0, 16, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, - { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 70, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, + { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, + { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, + { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 14, 50, 0, 0, 0, 0 }, + { 12, 50, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 50, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 12, 50, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 12, 50, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 14, 50, 0, 16, 0, 0 }, { 16, 50, 0, 16, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, + { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_940185 = { - 70, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, - { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, - { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, - { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 50, 17, 0, 8, 0, 0 }, - { 50, 19, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 50, 19, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 50, 19, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 50, 19, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 50, 17, 0, 24, 0, 0 }, { 50, 15, 0, 24, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, - { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 70, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, + { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, + { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, + { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 50, 17, 0, 8, 0, 0 }, + { 50, 19, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 50, 19, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 50, 19, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 50, 19, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 50, 17, 0, 24, 0, 0 }, { 50, 15, 0, 24, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, + { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_942B76 = { - 70, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, - { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, - { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, - { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 17, -19, 0, 16, 0, 0 }, - { 19, -19, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, -19, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 19, -19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 19, -19, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 17, -19, 0, 0, 0, 0 }, { 15, -19, 0, 0, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, - { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 70, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, + { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, + { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, + { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 17, -19, 0, 16, 0, 0 }, + { 19, -19, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, -19, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 19, -19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 19, -19, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 17, -19, 0, 0, 0, 0 }, { 15, -19, 0, 0, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, + { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93BAB1 = { - 88, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, - { 20, 14, 0, 24, 0, 0 }, { 20, 12, 0, 24, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 12, 0, 8, 0, 0 }, { 19, 14, 0, 8, 0, 0 }, - { 19, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, - { 11, 16, 0, 0, 0, 0 }, { 9, 16, 5, 0, 0, 0 }, { 7, 16, 5, 0, 0, 0 }, { 5, 16, 5, 0, 0, 0 }, { 3, 16, 5, 0, 0, 0 }, - { 1, 16, 5, 0, 0, 0 }, { -1, 16, 5, 0, 0, 0 }, { -3, 16, 5, 0, 0, 0 }, { -5, 16, 5, 0, 0, 0 }, { -7, 16, 5, 0, 0, 0 }, - { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, - { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -23, 18, 0, 8, 0, 0 }, { -23, 20, 0, 8, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -23, 21, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -23, 21, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -23, 21, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -23, 20, 0, 24, 0, 0 }, { -23, 18, 0, 24, 0, 0 }, { -23, 16, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -23, 16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, - { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 88, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, + { 20, 14, 0, 24, 0, 0 }, { 20, 12, 0, 24, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, + { -32768, 2, 0, 0, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 12, 0, 8, 0, 0 }, { 19, 14, 0, 8, 0, 0 }, + { 19, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, + { 11, 16, 0, 0, 0, 0 }, { 9, 16, 5, 0, 0, 0 }, { 7, 16, 5, 0, 0, 0 }, { 5, 16, 5, 0, 0, 0 }, { 3, 16, 5, 0, 0, 0 }, + { 1, 16, 5, 0, 0, 0 }, { -1, 16, 5, 0, 0, 0 }, { -3, 16, 5, 0, 0, 0 }, { -5, 16, 5, 0, 0, 0 }, { -7, 16, 5, 0, 0, 0 }, + { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, + { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -23, 18, 0, 8, 0, 0 }, { -23, 20, 0, 8, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -23, 21, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -23, 21, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -23, 21, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -23, 20, 0, 24, 0, 0 }, { -23, 18, 0, 24, 0, 0 }, { -23, 16, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -23, 16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, + { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93E4A2 = { - 88, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, - { 14, 11, 0, 0, 0, 0 }, { 12, 11, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 12, 0, 16, 0, 0 }, { 14, 12, 0, 16, 0, 0 }, - { 16, 12, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, - { 16, 20, 0, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, { 16, 24, 5, 8, 0, 0 }, { 16, 26, 5, 8, 0, 0 }, { 16, 28, 5, 8, 0, 0 }, - { 16, 30, 5, 8, 0, 0 }, { 16, 32, 5, 8, 0, 0 }, { 16, 34, 5, 8, 0, 0 }, { 16, 36, 5, 8, 0, 0 }, { 16, 38, 5, 8, 0, 0 }, - { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, - { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 18, 54, 0, 16, 0, 0 }, { 20, 54, 0, 16, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 21, 54, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 21, 54, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 21, 54, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 20, 54, 0, 0, 0, 0 }, { 18, 54, 0, 0, 0, 0 }, { 16, 54, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 54, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, - { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 88, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, + { 14, 11, 0, 0, 0, 0 }, { 12, 11, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, + { -32768, 2, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 12, 0, 16, 0, 0 }, { 14, 12, 0, 16, 0, 0 }, + { 16, 12, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, + { 16, 20, 0, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, { 16, 24, 5, 8, 0, 0 }, { 16, 26, 5, 8, 0, 0 }, { 16, 28, 5, 8, 0, 0 }, + { 16, 30, 5, 8, 0, 0 }, { 16, 32, 5, 8, 0, 0 }, { 16, 34, 5, 8, 0, 0 }, { 16, 36, 5, 8, 0, 0 }, { 16, 38, 5, 8, 0, 0 }, + { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, + { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 18, 54, 0, 16, 0, 0 }, { 20, 54, 0, 16, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 21, 54, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 21, 54, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 21, 54, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 20, 54, 0, 0, 0, 0 }, { 18, 54, 0, 0, 0, 0 }, { 16, 54, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 54, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, + { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_940E93 = { - 88, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, - { 11, 17, 0, 8, 0, 0 }, { 11, 19, 0, 8, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 19, 0, 24, 0, 0 }, { 12, 17, 0, 24, 0, 0 }, - { 12, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, - { 20, 15, 0, 16, 0, 0 }, { 22, 15, 5, 16, 0, 0 }, { 24, 15, 5, 16, 0, 0 }, { 26, 15, 5, 16, 0, 0 }, { 28, 15, 5, 16, 0, 0 }, - { 30, 15, 5, 16, 0, 0 }, { 32, 15, 5, 16, 0, 0 }, { 34, 15, 5, 16, 0, 0 }, { 36, 15, 5, 16, 0, 0 }, { 38, 15, 5, 16, 0, 0 }, - { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, - { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 54, 13, 0, 24, 0, 0 }, { 54, 11, 0, 24, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 54, 10, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 54, 10, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 54, 10, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 54, 11, 0, 8, 0, 0 }, { 54, 13, 0, 8, 0, 0 }, { 54, 15, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 54, 15, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, - { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 88, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, + { 11, 17, 0, 8, 0, 0 }, { 11, 19, 0, 8, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, + { -32768, 2, 0, 0, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 19, 0, 24, 0, 0 }, { 12, 17, 0, 24, 0, 0 }, + { 12, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, + { 20, 15, 0, 16, 0, 0 }, { 22, 15, 5, 16, 0, 0 }, { 24, 15, 5, 16, 0, 0 }, { 26, 15, 5, 16, 0, 0 }, { 28, 15, 5, 16, 0, 0 }, + { 30, 15, 5, 16, 0, 0 }, { 32, 15, 5, 16, 0, 0 }, { 34, 15, 5, 16, 0, 0 }, { 36, 15, 5, 16, 0, 0 }, { 38, 15, 5, 16, 0, 0 }, + { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, + { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 54, 13, 0, 24, 0, 0 }, { 54, 11, 0, 24, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 54, 10, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 54, 10, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 54, 10, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 54, 11, 0, 8, 0, 0 }, { 54, 13, 0, 8, 0, 0 }, { 54, 15, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 54, 15, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, + { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_943884 = { - 88, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, - { 17, 20, 0, 16, 0, 0 }, { 19, 20, 0, 16, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 19, 0, 0, 0, 0 }, { 17, 19, 0, 0, 0, 0 }, - { 15, 19, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, - { 15, 11, 0, 24, 0, 0 }, { 15, 9, 5, 24, 0, 0 }, { 15, 7, 5, 24, 0, 0 }, { 15, 5, 5, 24, 0, 0 }, { 15, 3, 5, 24, 0, 0 }, - { 15, 1, 5, 24, 0, 0 }, { 15, -1, 5, 24, 0, 0 }, { 15, -3, 5, 24, 0, 0 }, { 15, -5, 5, 24, 0, 0 }, { 15, -7, 5, 24, 0, 0 }, - { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, - { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 13, -23, 0, 0, 0, 0 }, { 11, -23, 0, 0, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 10, -23, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 10, -23, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 10, -23, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 11, -23, 0, 16, 0, 0 }, { 13, -23, 0, 16, 0, 0 }, { 15, -23, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, -23, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, - { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 88, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, + { 17, 20, 0, 16, 0, 0 }, { 19, 20, 0, 16, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, + { -32768, 2, 0, 0, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 19, 0, 0, 0, 0 }, { 17, 19, 0, 0, 0, 0 }, + { 15, 19, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, + { 15, 11, 0, 24, 0, 0 }, { 15, 9, 5, 24, 0, 0 }, { 15, 7, 5, 24, 0, 0 }, { 15, 5, 5, 24, 0, 0 }, { 15, 3, 5, 24, 0, 0 }, + { 15, 1, 5, 24, 0, 0 }, { 15, -1, 5, 24, 0, 0 }, { 15, -3, 5, 24, 0, 0 }, { 15, -5, 5, 24, 0, 0 }, { 15, -7, 5, 24, 0, 0 }, + { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, + { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 13, -23, 0, 0, 0, 0 }, { 11, -23, 0, 0, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 10, -23, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 10, -23, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 10, -23, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 11, -23, 0, 16, 0, 0 }, { 13, -23, 0, 16, 0, 0 }, { 15, -23, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, -23, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, + { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_944AA3 = { - 102, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 18, 0, 8, 0, 0 }, { 15, 20, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 20, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 20, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, - { 11, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 5, 20, 0, 0, 0, 0 }, { 3, 20, 0, 0, 0, 0 }, - { 1, 20, 0, 0, 0, 0 }, { -1, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -3, 22, 0, 8, 0, 0 }, { -3, 24, 0, 8, 0, 0 }, - { -3, 26, 0, 8, 0, 0 }, { -3, 28, 0, 8, 0, 0 }, { -3, 30, 0, 8, 0, 0 }, { -3, 32, 0, 8, 0, 0 }, { -3, 34, 0, 8, 0, 0 }, - { -3, 36, 0, 8, 0, 0 }, { -3, 38, 0, 8, 0, 0 }, { -3, 40, 0, 8, 0, 0 }, { -3, 42, 0, 8, 0, 0 }, { -5, 42, 0, 0, 0, 0 }, - { -7, 42, 0, 0, 0, 0 }, { -9, 42, 0, 0, 0, 0 }, { -11, 42, 0, 0, 0, 0 }, { -13, 42, 0, 0, 0, 0 }, { -15, 42, 0, 0, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -17, 43, 0, 8, 0, 0 }, { -17, 45, 0, 8, 0, 0 }, { -17, 47, 0, 8, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, - { -17, 50, 0, 8, 0, 0 }, { -17, 52, 0, 8, 0, 0 }, { -17, 54, 0, 8, 0, 0 }, { -17, 56, 0, 8, 0, 0 }, { -17, 58, 0, 8, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, + 102, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 18, 0, 8, 0, 0 }, { 15, 20, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 20, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 20, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, + { 11, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 5, 20, 0, 0, 0, 0 }, { 3, 20, 0, 0, 0, 0 }, + { 1, 20, 0, 0, 0, 0 }, { -1, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -3, 22, 0, 8, 0, 0 }, { -3, 24, 0, 8, 0, 0 }, + { -3, 26, 0, 8, 0, 0 }, { -3, 28, 0, 8, 0, 0 }, { -3, 30, 0, 8, 0, 0 }, { -3, 32, 0, 8, 0, 0 }, { -3, 34, 0, 8, 0, 0 }, + { -3, 36, 0, 8, 0, 0 }, { -3, 38, 0, 8, 0, 0 }, { -3, 40, 0, 8, 0, 0 }, { -3, 42, 0, 8, 0, 0 }, { -5, 42, 0, 0, 0, 0 }, + { -7, 42, 0, 0, 0, 0 }, { -9, 42, 0, 0, 0, 0 }, { -11, 42, 0, 0, 0, 0 }, { -13, 42, 0, 0, 0, 0 }, { -15, 42, 0, 0, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -17, 43, 0, 8, 0, 0 }, { -17, 45, 0, 8, 0, 0 }, { -17, 47, 0, 8, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, + { -17, 50, 0, 8, 0, 0 }, { -17, 52, 0, 8, 0, 0 }, { -17, 54, 0, 8, 0, 0 }, { -17, 56, 0, 8, 0, 0 }, { -17, 58, 0, 8, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_947761 = { - 102, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 20, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 20, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, - { 20, 20, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 26, 0, 8, 0, 0 }, { 20, 28, 0, 8, 0, 0 }, - { 20, 30, 0, 8, 0, 0 }, { 20, 32, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 22, 34, 0, 16, 0, 0 }, { 24, 34, 0, 16, 0, 0 }, - { 26, 34, 0, 16, 0, 0 }, { 28, 34, 0, 16, 0, 0 }, { 30, 34, 0, 16, 0, 0 }, { 32, 34, 0, 16, 0, 0 }, { 34, 34, 0, 16, 0, 0 }, - { 36, 34, 0, 16, 0, 0 }, { 38, 34, 0, 16, 0, 0 }, { 40, 34, 0, 16, 0, 0 }, { 42, 34, 0, 16, 0, 0 }, { 42, 36, 0, 8, 0, 0 }, - { 42, 38, 0, 8, 0, 0 }, { 42, 40, 0, 8, 0, 0 }, { 42, 42, 0, 8, 0, 0 }, { 42, 44, 0, 8, 0, 0 }, { 42, 46, 0, 8, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 43, 48, 0, 16, 0, 0 }, { 45, 48, 0, 16, 0, 0 }, { 47, 48, 0, 16, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, - { 50, 48, 0, 16, 0, 0 }, { 52, 48, 0, 16, 0, 0 }, { 54, 48, 0, 16, 0, 0 }, { 56, 48, 0, 16, 0, 0 }, { 58, 48, 0, 16, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, + 102, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 20, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 20, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, + { 20, 20, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 26, 0, 8, 0, 0 }, { 20, 28, 0, 8, 0, 0 }, + { 20, 30, 0, 8, 0, 0 }, { 20, 32, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 22, 34, 0, 16, 0, 0 }, { 24, 34, 0, 16, 0, 0 }, + { 26, 34, 0, 16, 0, 0 }, { 28, 34, 0, 16, 0, 0 }, { 30, 34, 0, 16, 0, 0 }, { 32, 34, 0, 16, 0, 0 }, { 34, 34, 0, 16, 0, 0 }, + { 36, 34, 0, 16, 0, 0 }, { 38, 34, 0, 16, 0, 0 }, { 40, 34, 0, 16, 0, 0 }, { 42, 34, 0, 16, 0, 0 }, { 42, 36, 0, 8, 0, 0 }, + { 42, 38, 0, 8, 0, 0 }, { 42, 40, 0, 8, 0, 0 }, { 42, 42, 0, 8, 0, 0 }, { 42, 44, 0, 8, 0, 0 }, { 42, 46, 0, 8, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 43, 48, 0, 16, 0, 0 }, { 45, 48, 0, 16, 0, 0 }, { 47, 48, 0, 16, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, + { 50, 48, 0, 16, 0, 0 }, { 52, 48, 0, 16, 0, 0 }, { 54, 48, 0, 16, 0, 0 }, { 56, 48, 0, 16, 0, 0 }, { 58, 48, 0, 16, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94A41F = { - 102, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 11, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 11, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, - { 20, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 26, 11, 0, 16, 0, 0 }, { 28, 11, 0, 16, 0, 0 }, - { 30, 11, 0, 16, 0, 0 }, { 32, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 34, 9, 0, 24, 0, 0 }, { 34, 7, 0, 24, 0, 0 }, - { 34, 5, 0, 24, 0, 0 }, { 34, 3, 0, 24, 0, 0 }, { 34, 1, 0, 24, 0, 0 }, { 34, -1, 0, 24, 0, 0 }, { 34, -3, 0, 24, 0, 0 }, - { 34, -5, 0, 24, 0, 0 }, { 34, -7, 0, 24, 0, 0 }, { 34, -9, 0, 24, 0, 0 }, { 34, -11, 0, 24, 0, 0 }, { 36, -11, 0, 16, 0, 0 }, - { 38, -11, 0, 16, 0, 0 }, { 40, -11, 0, 16, 0, 0 }, { 42, -11, 0, 16, 0, 0 }, { 44, -11, 0, 16, 0, 0 }, { 46, -11, 0, 16, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 48, -12, 0, 24, 0, 0 }, { 48, -14, 0, 24, 0, 0 }, { 48, -16, 0, 24, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, - { 48, -19, 0, 24, 0, 0 }, { 48, -21, 0, 24, 0, 0 }, { 48, -23, 0, 24, 0, 0 }, { 48, -25, 0, 24, 0, 0 }, { 48, -27, 0, 24, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, + 102, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 11, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 11, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, + { 20, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 26, 11, 0, 16, 0, 0 }, { 28, 11, 0, 16, 0, 0 }, + { 30, 11, 0, 16, 0, 0 }, { 32, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 34, 9, 0, 24, 0, 0 }, { 34, 7, 0, 24, 0, 0 }, + { 34, 5, 0, 24, 0, 0 }, { 34, 3, 0, 24, 0, 0 }, { 34, 1, 0, 24, 0, 0 }, { 34, -1, 0, 24, 0, 0 }, { 34, -3, 0, 24, 0, 0 }, + { 34, -5, 0, 24, 0, 0 }, { 34, -7, 0, 24, 0, 0 }, { 34, -9, 0, 24, 0, 0 }, { 34, -11, 0, 24, 0, 0 }, { 36, -11, 0, 16, 0, 0 }, + { 38, -11, 0, 16, 0, 0 }, { 40, -11, 0, 16, 0, 0 }, { 42, -11, 0, 16, 0, 0 }, { 44, -11, 0, 16, 0, 0 }, { 46, -11, 0, 16, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 48, -12, 0, 24, 0, 0 }, { 48, -14, 0, 24, 0, 0 }, { 48, -16, 0, 24, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, + { 48, -19, 0, 24, 0, 0 }, { 48, -21, 0, 24, 0, 0 }, { 48, -23, 0, 24, 0, 0 }, { 48, -25, 0, 24, 0, 0 }, { 48, -27, 0, 24, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94D0DD = { - 102, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 15, 0, 0, 0, 0 }, { 11, 15, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 11, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 11, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, - { 11, 11, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 5, 0, 24, 0, 0 }, { 11, 3, 0, 24, 0, 0 }, - { 11, 1, 0, 24, 0, 0 }, { 11, -1, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 9, -3, 0, 0, 0, 0 }, { 7, -3, 0, 0, 0, 0 }, - { 5, -3, 0, 0, 0, 0 }, { 3, -3, 0, 0, 0, 0 }, { 1, -3, 0, 0, 0, 0 }, { -1, -3, 0, 0, 0, 0 }, { -3, -3, 0, 0, 0, 0 }, - { -5, -3, 0, 0, 0, 0 }, { -7, -3, 0, 0, 0, 0 }, { -9, -3, 0, 0, 0, 0 }, { -11, -3, 0, 0, 0, 0 }, { -11, -5, 0, 24, 0, 0 }, - { -11, -7, 0, 24, 0, 0 }, { -11, -9, 0, 24, 0, 0 }, { -11, -11, 0, 24, 0, 0 }, { -11, -13, 0, 24, 0, 0 }, { -11, -15, 0, 24, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -12, -17, 0, 0, 0, 0 }, { -14, -17, 0, 0, 0, 0 }, { -16, -17, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, - { -19, -17, 0, 0, 0, 0 }, { -21, -17, 0, 0, 0, 0 }, { -23, -17, 0, 0, 0, 0 }, { -25, -17, 0, 0, 0, 0 }, { -27, -17, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, + 102, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 15, 0, 0, 0, 0 }, { 11, 15, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 11, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 11, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, + { 11, 11, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 5, 0, 24, 0, 0 }, { 11, 3, 0, 24, 0, 0 }, + { 11, 1, 0, 24, 0, 0 }, { 11, -1, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 9, -3, 0, 0, 0, 0 }, { 7, -3, 0, 0, 0, 0 }, + { 5, -3, 0, 0, 0, 0 }, { 3, -3, 0, 0, 0, 0 }, { 1, -3, 0, 0, 0, 0 }, { -1, -3, 0, 0, 0, 0 }, { -3, -3, 0, 0, 0, 0 }, + { -5, -3, 0, 0, 0, 0 }, { -7, -3, 0, 0, 0, 0 }, { -9, -3, 0, 0, 0, 0 }, { -11, -3, 0, 0, 0, 0 }, { -11, -5, 0, 24, 0, 0 }, + { -11, -7, 0, 24, 0, 0 }, { -11, -9, 0, 24, 0, 0 }, { -11, -11, 0, 24, 0, 0 }, { -11, -13, 0, 24, 0, 0 }, { -11, -15, 0, 24, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -12, -17, 0, 0, 0, 0 }, { -14, -17, 0, 0, 0, 0 }, { -16, -17, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, + { -19, -17, 0, 0, 0, 0 }, { -21, -17, 0, 0, 0, 0 }, { -23, -17, 0, 0, 0, 0 }, { -25, -17, 0, 0, 0, 0 }, { -27, -17, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_946102 = { - 102, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 14, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 12, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 12, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, - { 11, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 5, 12, 0, 0, 0, 0 }, { 3, 12, 0, 0, 0, 0 }, - { 1, 12, 0, 0, 0, 0 }, { -1, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -3, 10, 0, 24, 0, 0 }, { -3, 8, 0, 24, 0, 0 }, - { -3, 6, 0, 24, 0, 0 }, { -3, 4, 0, 24, 0, 0 }, { -3, 2, 0, 24, 0, 0 }, { -3, 0, 0, 24, 0, 0 }, { -3, -2, 0, 24, 0, 0 }, - { -3, -4, 0, 24, 0, 0 }, { -3, -6, 0, 24, 0, 0 }, { -3, -8, 0, 24, 0, 0 }, { -3, -10, 0, 24, 0, 0 }, { -5, -10, 0, 0, 0, 0 }, - { -7, -10, 0, 0, 0, 0 }, { -9, -10, 0, 0, 0, 0 }, { -11, -10, 0, 0, 0, 0 }, { -13, -10, 0, 0, 0, 0 }, { -15, -10, 0, 0, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -17, -11, 0, 24, 0, 0 }, { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -16, 0, 24, 0, 0 }, - { -17, -18, 0, 24, 0, 0 }, { -17, -20, 0, 24, 0, 0 }, { -17, -22, 0, 24, 0, 0 }, { -17, -24, 0, 24, 0, 0 }, { -17, -26, 0, 24, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, + 102, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 14, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 12, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 12, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, + { 11, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 5, 12, 0, 0, 0, 0 }, { 3, 12, 0, 0, 0, 0 }, + { 1, 12, 0, 0, 0, 0 }, { -1, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -3, 10, 0, 24, 0, 0 }, { -3, 8, 0, 24, 0, 0 }, + { -3, 6, 0, 24, 0, 0 }, { -3, 4, 0, 24, 0, 0 }, { -3, 2, 0, 24, 0, 0 }, { -3, 0, 0, 24, 0, 0 }, { -3, -2, 0, 24, 0, 0 }, + { -3, -4, 0, 24, 0, 0 }, { -3, -6, 0, 24, 0, 0 }, { -3, -8, 0, 24, 0, 0 }, { -3, -10, 0, 24, 0, 0 }, { -5, -10, 0, 0, 0, 0 }, + { -7, -10, 0, 0, 0, 0 }, { -9, -10, 0, 0, 0, 0 }, { -11, -10, 0, 0, 0, 0 }, { -13, -10, 0, 0, 0, 0 }, { -15, -10, 0, 0, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -17, -11, 0, 24, 0, 0 }, { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -16, 0, 24, 0, 0 }, + { -17, -18, 0, 24, 0, 0 }, { -17, -20, 0, 24, 0, 0 }, { -17, -22, 0, 24, 0, 0 }, { -17, -24, 0, 24, 0, 0 }, { -17, -26, 0, 24, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_948DC0 = { - 102, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 12, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 12, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, - { 12, 20, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 26, 0, 8, 0, 0 }, { 12, 28, 0, 8, 0, 0 }, - { 12, 30, 0, 8, 0, 0 }, { 12, 32, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 10, 34, 0, 0, 0, 0 }, { 8, 34, 0, 0, 0, 0 }, - { 6, 34, 0, 0, 0, 0 }, { 4, 34, 0, 0, 0, 0 }, { 2, 34, 0, 0, 0, 0 }, { 0, 34, 0, 0, 0, 0 }, { -2, 34, 0, 0, 0, 0 }, - { -4, 34, 0, 0, 0, 0 }, { -6, 34, 0, 0, 0, 0 }, { -8, 34, 0, 0, 0, 0 }, { -10, 34, 0, 0, 0, 0 }, { -10, 36, 0, 8, 0, 0 }, - { -10, 38, 0, 8, 0, 0 }, { -10, 40, 0, 8, 0, 0 }, { -10, 42, 0, 8, 0, 0 }, { -10, 44, 0, 8, 0, 0 }, { -10, 46, 0, 8, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -11, 48, 0, 0, 0, 0 }, { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -16, 48, 0, 0, 0, 0 }, - { -18, 48, 0, 0, 0, 0 }, { -20, 48, 0, 0, 0, 0 }, { -22, 48, 0, 0, 0, 0 }, { -24, 48, 0, 0, 0, 0 }, { -26, 48, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, + 102, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 12, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 12, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, + { 12, 20, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 26, 0, 8, 0, 0 }, { 12, 28, 0, 8, 0, 0 }, + { 12, 30, 0, 8, 0, 0 }, { 12, 32, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 10, 34, 0, 0, 0, 0 }, { 8, 34, 0, 0, 0, 0 }, + { 6, 34, 0, 0, 0, 0 }, { 4, 34, 0, 0, 0, 0 }, { 2, 34, 0, 0, 0, 0 }, { 0, 34, 0, 0, 0, 0 }, { -2, 34, 0, 0, 0, 0 }, + { -4, 34, 0, 0, 0, 0 }, { -6, 34, 0, 0, 0, 0 }, { -8, 34, 0, 0, 0, 0 }, { -10, 34, 0, 0, 0, 0 }, { -10, 36, 0, 8, 0, 0 }, + { -10, 38, 0, 8, 0, 0 }, { -10, 40, 0, 8, 0, 0 }, { -10, 42, 0, 8, 0, 0 }, { -10, 44, 0, 8, 0, 0 }, { -10, 46, 0, 8, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -11, 48, 0, 0, 0, 0 }, { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -16, 48, 0, 0, 0, 0 }, + { -18, 48, 0, 0, 0, 0 }, { -20, 48, 0, 0, 0, 0 }, { -22, 48, 0, 0, 0, 0 }, { -24, 48, 0, 0, 0, 0 }, { -26, 48, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94BA7E = { - 102, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 19, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 19, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, - { 20, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 26, 19, 0, 16, 0, 0 }, { 28, 19, 0, 16, 0, 0 }, - { 30, 19, 0, 16, 0, 0 }, { 32, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 34, 21, 0, 8, 0, 0 }, { 34, 23, 0, 8, 0, 0 }, - { 34, 25, 0, 8, 0, 0 }, { 34, 27, 0, 8, 0, 0 }, { 34, 29, 0, 8, 0, 0 }, { 34, 31, 0, 8, 0, 0 }, { 34, 33, 0, 8, 0, 0 }, - { 34, 35, 0, 8, 0, 0 }, { 34, 37, 0, 8, 0, 0 }, { 34, 39, 0, 8, 0, 0 }, { 34, 41, 0, 8, 0, 0 }, { 36, 41, 0, 16, 0, 0 }, - { 38, 41, 0, 16, 0, 0 }, { 40, 41, 0, 16, 0, 0 }, { 42, 41, 0, 16, 0, 0 }, { 44, 41, 0, 16, 0, 0 }, { 46, 41, 0, 16, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 48, 42, 0, 8, 0, 0 }, { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 47, 0, 8, 0, 0 }, - { 48, 49, 0, 8, 0, 0 }, { 48, 51, 0, 8, 0, 0 }, { 48, 53, 0, 8, 0, 0 }, { 48, 55, 0, 8, 0, 0 }, { 48, 57, 0, 8, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, + 102, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 19, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 16, 19, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, + { 20, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 26, 19, 0, 16, 0, 0 }, { 28, 19, 0, 16, 0, 0 }, + { 30, 19, 0, 16, 0, 0 }, { 32, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 34, 21, 0, 8, 0, 0 }, { 34, 23, 0, 8, 0, 0 }, + { 34, 25, 0, 8, 0, 0 }, { 34, 27, 0, 8, 0, 0 }, { 34, 29, 0, 8, 0, 0 }, { 34, 31, 0, 8, 0, 0 }, { 34, 33, 0, 8, 0, 0 }, + { 34, 35, 0, 8, 0, 0 }, { 34, 37, 0, 8, 0, 0 }, { 34, 39, 0, 8, 0, 0 }, { 34, 41, 0, 8, 0, 0 }, { 36, 41, 0, 16, 0, 0 }, + { 38, 41, 0, 16, 0, 0 }, { 40, 41, 0, 16, 0, 0 }, { 42, 41, 0, 16, 0, 0 }, { 44, 41, 0, 16, 0, 0 }, { 46, 41, 0, 16, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 48, 42, 0, 8, 0, 0 }, { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 47, 0, 8, 0, 0 }, + { 48, 49, 0, 8, 0, 0 }, { 48, 51, 0, 8, 0, 0 }, { 48, 53, 0, 8, 0, 0 }, { 48, 55, 0, 8, 0, 0 }, { 48, 57, 0, 8, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94E73C = { - 102, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 19, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 19, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, - { 19, 11, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 5, 0, 24, 0, 0 }, { 19, 3, 0, 24, 0, 0 }, - { 19, 1, 0, 24, 0, 0 }, { 19, -1, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 21, -3, 0, 16, 0, 0 }, { 23, -3, 0, 16, 0, 0 }, - { 25, -3, 0, 16, 0, 0 }, { 27, -3, 0, 16, 0, 0 }, { 29, -3, 0, 16, 0, 0 }, { 31, -3, 0, 16, 0, 0 }, { 33, -3, 0, 16, 0, 0 }, - { 35, -3, 0, 16, 0, 0 }, { 37, -3, 0, 16, 0, 0 }, { 39, -3, 0, 16, 0, 0 }, { 41, -3, 0, 16, 0, 0 }, { 41, -5, 0, 24, 0, 0 }, - { 41, -7, 0, 24, 0, 0 }, { 41, -9, 0, 24, 0, 0 }, { 41, -11, 0, 24, 0, 0 }, { 41, -13, 0, 24, 0, 0 }, { 41, -15, 0, 24, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 42, -17, 0, 16, 0, 0 }, { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 47, -17, 0, 16, 0, 0 }, - { 49, -17, 0, 16, 0, 0 }, { 51, -17, 0, 16, 0, 0 }, { 53, -17, 0, 16, 0, 0 }, { 55, -17, 0, 16, 0, 0 }, { 57, -17, 0, 16, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, + 102, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 19, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, + { 19, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, + { 19, 11, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 5, 0, 24, 0, 0 }, { 19, 3, 0, 24, 0, 0 }, + { 19, 1, 0, 24, 0, 0 }, { 19, -1, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 21, -3, 0, 16, 0, 0 }, { 23, -3, 0, 16, 0, 0 }, + { 25, -3, 0, 16, 0, 0 }, { 27, -3, 0, 16, 0, 0 }, { 29, -3, 0, 16, 0, 0 }, { 31, -3, 0, 16, 0, 0 }, { 33, -3, 0, 16, 0, 0 }, + { 35, -3, 0, 16, 0, 0 }, { 37, -3, 0, 16, 0, 0 }, { 39, -3, 0, 16, 0, 0 }, { 41, -3, 0, 16, 0, 0 }, { 41, -5, 0, 24, 0, 0 }, + { 41, -7, 0, 24, 0, 0 }, { 41, -9, 0, 24, 0, 0 }, { 41, -11, 0, 24, 0, 0 }, { 41, -13, 0, 24, 0, 0 }, { 41, -15, 0, 24, 0, 0 }, + { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 42, -17, 0, 16, 0, 0 }, { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, + { -32768, 5, 0, 0, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 47, -17, 0, 16, 0, 0 }, + { 49, -17, 0, 16, 0, 0 }, { 51, -17, 0, 16, 0, 0 }, { 53, -17, 0, 16, 0, 0 }, { 55, -17, 0, 16, 0, 0 }, { 57, -17, 0, 16, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93A1F6 = { - 70, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 15, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, - { 19, 14, 0, 0, 0, 0 }, { 17, 13, 0, 0, 0, 0 }, { 15, 13, 0, 0, 0, 0 }, { 14, 13, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, - { 12, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 10, 11, 0, 0, 0, 0 }, { 9, 11, 0, 0, 0, 0 }, { 8, 11, 0, 0, 0, 0 }, - { 7, 10, 0, 0, 0, 0 }, { 6, 10, 0, 0, 0, 0 }, { 5, 10, 0, 0, 0, 0 }, { 4, 9, 0, 0, 0, 0 }, { 3, 9, 0, 0, 0, 0 }, - { 2, 9, 0, 0, 0, 0 }, { 1, 8, 0, 0, 0, 0 }, { 0, 8, 0, 0, 0, 0 }, { 0, 8, 0, 0, 0, 0 }, { -1, 9, 0, 0, 0, 0 }, - { -2, 9, 0, 0, 0, 0 }, { -3, 9, 0, 0, 0, 0 }, { -4, 10, 0, 0, 0, 0 }, { -5, 10, 0, 0, 0, 0 }, { -6, 10, 0, 0, 0, 0 }, - { -7, 11, 0, 0, 0, 0 }, { -8, 11, 0, 0, 0, 0 }, { -9, 11, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -10, 11, 0, 0, 0, 0 }, { -11, 11, 0, 0, 0, 0 }, { -13, 12, 0, 0, 0, 0 }, { -14, 13, 0, 0, 0, 0 }, { -15, 13, 0, 0, 0, 0 }, - { -16, 14, 0, 0, 0, 0 }, { -17, 14, 0, 0, 0, 0 }, { -18, 15, 0, 0, 0, 0 }, { -19, 15, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, - { -21, 16, 0, 0, 0, 0 }, { -22, 17, 0, 0, 0, 0 }, { -23, 17, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -24, 18, 0, 0, 0, 0 }, { -23, 18, 0, 0, 0, 0 }, { -22, 18, 0, 0, 0, 0 }, { -21, 18, 0, 0, 0, 0 }, { -20, 18, 0, 0, 0, 0 }, - { -19, 18, 0, 0, 0, 0 }, { -18, 18, 0, 0, 0, 0 }, { -17, 18, 0, 0, 0, 0 }, { -16, 18, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 70, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 15, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, + { 19, 14, 0, 0, 0, 0 }, { 17, 13, 0, 0, 0, 0 }, { 15, 13, 0, 0, 0, 0 }, { 14, 13, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, + { 12, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 10, 11, 0, 0, 0, 0 }, { 9, 11, 0, 0, 0, 0 }, { 8, 11, 0, 0, 0, 0 }, + { 7, 10, 0, 0, 0, 0 }, { 6, 10, 0, 0, 0, 0 }, { 5, 10, 0, 0, 0, 0 }, { 4, 9, 0, 0, 0, 0 }, { 3, 9, 0, 0, 0, 0 }, + { 2, 9, 0, 0, 0, 0 }, { 1, 8, 0, 0, 0, 0 }, { 0, 8, 0, 0, 0, 0 }, { 0, 8, 0, 0, 0, 0 }, { -1, 9, 0, 0, 0, 0 }, + { -2, 9, 0, 0, 0, 0 }, { -3, 9, 0, 0, 0, 0 }, { -4, 10, 0, 0, 0, 0 }, { -5, 10, 0, 0, 0, 0 }, { -6, 10, 0, 0, 0, 0 }, + { -7, 11, 0, 0, 0, 0 }, { -8, 11, 0, 0, 0, 0 }, { -9, 11, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -10, 11, 0, 0, 0, 0 }, { -11, 11, 0, 0, 0, 0 }, { -13, 12, 0, 0, 0, 0 }, { -14, 13, 0, 0, 0, 0 }, { -15, 13, 0, 0, 0, 0 }, + { -16, 14, 0, 0, 0, 0 }, { -17, 14, 0, 0, 0, 0 }, { -18, 15, 0, 0, 0, 0 }, { -19, 15, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, + { -21, 16, 0, 0, 0, 0 }, { -22, 17, 0, 0, 0, 0 }, { -23, 17, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -24, 18, 0, 0, 0, 0 }, { -23, 18, 0, 0, 0, 0 }, { -22, 18, 0, 0, 0, 0 }, { -21, 18, 0, 0, 0, 0 }, { -20, 18, 0, 0, 0, 0 }, + { -19, 18, 0, 0, 0, 0 }, { -18, 18, 0, 0, 0, 0 }, { -17, 18, 0, 0, 0, 0 }, { -16, 18, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93CBE7 = { - 70, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 15, 8, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, - { 14, 12, 0, 8, 0, 0 }, { 13, 14, 0, 8, 0, 0 }, { 13, 16, 0, 8, 0, 0 }, { 13, 17, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, - { 12, 19, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 11, 21, 0, 8, 0, 0 }, { 11, 22, 0, 8, 0, 0 }, { 11, 23, 0, 8, 0, 0 }, - { 10, 24, 0, 8, 0, 0 }, { 10, 25, 0, 8, 0, 0 }, { 10, 26, 0, 8, 0, 0 }, { 9, 27, 0, 8, 0, 0 }, { 9, 28, 0, 8, 0, 0 }, - { 9, 29, 0, 8, 0, 0 }, { 8, 30, 0, 8, 0, 0 }, { 8, 31, 0, 8, 0, 0 }, { 8, 31, 0, 8, 0, 0 }, { 9, 32, 0, 8, 0, 0 }, - { 9, 33, 0, 8, 0, 0 }, { 9, 34, 0, 8, 0, 0 }, { 10, 35, 0, 8, 0, 0 }, { 10, 36, 0, 8, 0, 0 }, { 10, 37, 0, 8, 0, 0 }, - { 11, 38, 0, 8, 0, 0 }, { 11, 39, 0, 8, 0, 0 }, { 11, 40, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 11, 41, 0, 8, 0, 0 }, { 11, 42, 0, 8, 0, 0 }, { 12, 44, 0, 8, 0, 0 }, { 13, 45, 0, 8, 0, 0 }, { 13, 46, 0, 8, 0, 0 }, - { 14, 47, 0, 8, 0, 0 }, { 14, 48, 0, 8, 0, 0 }, { 15, 49, 0, 8, 0, 0 }, { 15, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, - { 16, 52, 0, 8, 0, 0 }, { 17, 53, 0, 8, 0, 0 }, { 17, 54, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 18, 55, 0, 8, 0, 0 }, { 18, 54, 0, 8, 0, 0 }, { 18, 53, 0, 8, 0, 0 }, { 18, 52, 0, 8, 0, 0 }, { 18, 51, 0, 8, 0, 0 }, - { 18, 50, 0, 8, 0, 0 }, { 18, 49, 0, 8, 0, 0 }, { 18, 48, 0, 8, 0, 0 }, { 18, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 70, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 15, 8, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, + { 14, 12, 0, 8, 0, 0 }, { 13, 14, 0, 8, 0, 0 }, { 13, 16, 0, 8, 0, 0 }, { 13, 17, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, + { 12, 19, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 11, 21, 0, 8, 0, 0 }, { 11, 22, 0, 8, 0, 0 }, { 11, 23, 0, 8, 0, 0 }, + { 10, 24, 0, 8, 0, 0 }, { 10, 25, 0, 8, 0, 0 }, { 10, 26, 0, 8, 0, 0 }, { 9, 27, 0, 8, 0, 0 }, { 9, 28, 0, 8, 0, 0 }, + { 9, 29, 0, 8, 0, 0 }, { 8, 30, 0, 8, 0, 0 }, { 8, 31, 0, 8, 0, 0 }, { 8, 31, 0, 8, 0, 0 }, { 9, 32, 0, 8, 0, 0 }, + { 9, 33, 0, 8, 0, 0 }, { 9, 34, 0, 8, 0, 0 }, { 10, 35, 0, 8, 0, 0 }, { 10, 36, 0, 8, 0, 0 }, { 10, 37, 0, 8, 0, 0 }, + { 11, 38, 0, 8, 0, 0 }, { 11, 39, 0, 8, 0, 0 }, { 11, 40, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 11, 41, 0, 8, 0, 0 }, { 11, 42, 0, 8, 0, 0 }, { 12, 44, 0, 8, 0, 0 }, { 13, 45, 0, 8, 0, 0 }, { 13, 46, 0, 8, 0, 0 }, + { 14, 47, 0, 8, 0, 0 }, { 14, 48, 0, 8, 0, 0 }, { 15, 49, 0, 8, 0, 0 }, { 15, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, + { 16, 52, 0, 8, 0, 0 }, { 17, 53, 0, 8, 0, 0 }, { 17, 54, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 18, 55, 0, 8, 0, 0 }, { 18, 54, 0, 8, 0, 0 }, { 18, 53, 0, 8, 0, 0 }, { 18, 52, 0, 8, 0, 0 }, { 18, 51, 0, 8, 0, 0 }, + { 18, 50, 0, 8, 0, 0 }, { 18, 49, 0, 8, 0, 0 }, { 18, 48, 0, 8, 0, 0 }, { 18, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93F5D8 = { - 70, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, - { 12, 17, 0, 16, 0, 0 }, { 14, 18, 0, 16, 0, 0 }, { 16, 18, 0, 16, 0, 0 }, { 17, 18, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, - { 19, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 21, 20, 0, 16, 0, 0 }, { 22, 20, 0, 16, 0, 0 }, { 23, 20, 0, 16, 0, 0 }, - { 24, 21, 0, 16, 0, 0 }, { 25, 21, 0, 16, 0, 0 }, { 26, 21, 0, 16, 0, 0 }, { 27, 22, 0, 16, 0, 0 }, { 28, 22, 0, 16, 0, 0 }, - { 29, 22, 0, 16, 0, 0 }, { 30, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, { 32, 22, 0, 16, 0, 0 }, - { 33, 22, 0, 16, 0, 0 }, { 34, 22, 0, 16, 0, 0 }, { 35, 21, 0, 16, 0, 0 }, { 36, 21, 0, 16, 0, 0 }, { 37, 21, 0, 16, 0, 0 }, - { 38, 20, 0, 16, 0, 0 }, { 39, 20, 0, 16, 0, 0 }, { 40, 20, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 41, 20, 0, 16, 0, 0 }, { 42, 20, 0, 16, 0, 0 }, { 44, 19, 0, 16, 0, 0 }, { 45, 18, 0, 16, 0, 0 }, { 46, 18, 0, 16, 0, 0 }, - { 47, 17, 0, 16, 0, 0 }, { 48, 17, 0, 16, 0, 0 }, { 49, 16, 0, 16, 0, 0 }, { 50, 16, 0, 16, 0, 0 }, { 51, 15, 0, 16, 0, 0 }, - { 52, 15, 0, 16, 0, 0 }, { 53, 14, 0, 16, 0, 0 }, { 54, 14, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 55, 13, 0, 16, 0, 0 }, { 54, 13, 0, 16, 0, 0 }, { 53, 13, 0, 16, 0, 0 }, { 52, 13, 0, 16, 0, 0 }, { 51, 13, 0, 16, 0, 0 }, - { 50, 13, 0, 16, 0, 0 }, { 49, 13, 0, 16, 0, 0 }, { 48, 13, 0, 16, 0, 0 }, { 47, 13, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 70, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, + { 12, 17, 0, 16, 0, 0 }, { 14, 18, 0, 16, 0, 0 }, { 16, 18, 0, 16, 0, 0 }, { 17, 18, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, + { 19, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 21, 20, 0, 16, 0, 0 }, { 22, 20, 0, 16, 0, 0 }, { 23, 20, 0, 16, 0, 0 }, + { 24, 21, 0, 16, 0, 0 }, { 25, 21, 0, 16, 0, 0 }, { 26, 21, 0, 16, 0, 0 }, { 27, 22, 0, 16, 0, 0 }, { 28, 22, 0, 16, 0, 0 }, + { 29, 22, 0, 16, 0, 0 }, { 30, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, { 32, 22, 0, 16, 0, 0 }, + { 33, 22, 0, 16, 0, 0 }, { 34, 22, 0, 16, 0, 0 }, { 35, 21, 0, 16, 0, 0 }, { 36, 21, 0, 16, 0, 0 }, { 37, 21, 0, 16, 0, 0 }, + { 38, 20, 0, 16, 0, 0 }, { 39, 20, 0, 16, 0, 0 }, { 40, 20, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 41, 20, 0, 16, 0, 0 }, { 42, 20, 0, 16, 0, 0 }, { 44, 19, 0, 16, 0, 0 }, { 45, 18, 0, 16, 0, 0 }, { 46, 18, 0, 16, 0, 0 }, + { 47, 17, 0, 16, 0, 0 }, { 48, 17, 0, 16, 0, 0 }, { 49, 16, 0, 16, 0, 0 }, { 50, 16, 0, 16, 0, 0 }, { 51, 15, 0, 16, 0, 0 }, + { 52, 15, 0, 16, 0, 0 }, { 53, 14, 0, 16, 0, 0 }, { 54, 14, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 55, 13, 0, 16, 0, 0 }, { 54, 13, 0, 16, 0, 0 }, { 53, 13, 0, 16, 0, 0 }, { 52, 13, 0, 16, 0, 0 }, { 51, 13, 0, 16, 0, 0 }, + { 50, 13, 0, 16, 0, 0 }, { 49, 13, 0, 16, 0, 0 }, { 48, 13, 0, 16, 0, 0 }, { 47, 13, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_941FC9 = { - 70, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, - { 17, 19, 0, 24, 0, 0 }, { 18, 17, 0, 24, 0, 0 }, { 18, 15, 0, 24, 0, 0 }, { 18, 14, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, - { 19, 12, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 20, 10, 0, 24, 0, 0 }, { 20, 9, 0, 24, 0, 0 }, { 20, 8, 0, 24, 0, 0 }, - { 21, 7, 0, 24, 0, 0 }, { 21, 6, 0, 24, 0, 0 }, { 21, 5, 0, 24, 0, 0 }, { 22, 4, 0, 24, 0, 0 }, { 22, 3, 0, 24, 0, 0 }, - { 22, 2, 0, 24, 0, 0 }, { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, { 22, -1, 0, 24, 0, 0 }, - { 22, -2, 0, 24, 0, 0 }, { 22, -3, 0, 24, 0, 0 }, { 21, -4, 0, 24, 0, 0 }, { 21, -5, 0, 24, 0, 0 }, { 21, -6, 0, 24, 0, 0 }, - { 20, -7, 0, 24, 0, 0 }, { 20, -8, 0, 24, 0, 0 }, { 20, -9, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 20, -10, 0, 24, 0, 0 }, { 20, -11, 0, 24, 0, 0 }, { 19, -13, 0, 24, 0, 0 }, { 18, -14, 0, 24, 0, 0 }, { 18, -15, 0, 24, 0, 0 }, - { 17, -16, 0, 24, 0, 0 }, { 17, -17, 0, 24, 0, 0 }, { 16, -18, 0, 24, 0, 0 }, { 16, -19, 0, 24, 0, 0 }, { 15, -20, 0, 24, 0, 0 }, - { 15, -21, 0, 24, 0, 0 }, { 14, -22, 0, 24, 0, 0 }, { 14, -23, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 13, -24, 0, 24, 0, 0 }, { 13, -23, 0, 24, 0, 0 }, { 13, -22, 0, 24, 0, 0 }, { 13, -21, 0, 24, 0, 0 }, { 13, -20, 0, 24, 0, 0 }, - { 13, -19, 0, 24, 0, 0 }, { 13, -18, 0, 24, 0, 0 }, { 13, -17, 0, 24, 0, 0 }, { 13, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 70, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, + { 17, 19, 0, 24, 0, 0 }, { 18, 17, 0, 24, 0, 0 }, { 18, 15, 0, 24, 0, 0 }, { 18, 14, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, + { 19, 12, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 20, 10, 0, 24, 0, 0 }, { 20, 9, 0, 24, 0, 0 }, { 20, 8, 0, 24, 0, 0 }, + { 21, 7, 0, 24, 0, 0 }, { 21, 6, 0, 24, 0, 0 }, { 21, 5, 0, 24, 0, 0 }, { 22, 4, 0, 24, 0, 0 }, { 22, 3, 0, 24, 0, 0 }, + { 22, 2, 0, 24, 0, 0 }, { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, { 22, -1, 0, 24, 0, 0 }, + { 22, -2, 0, 24, 0, 0 }, { 22, -3, 0, 24, 0, 0 }, { 21, -4, 0, 24, 0, 0 }, { 21, -5, 0, 24, 0, 0 }, { 21, -6, 0, 24, 0, 0 }, + { 20, -7, 0, 24, 0, 0 }, { 20, -8, 0, 24, 0, 0 }, { 20, -9, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 20, -10, 0, 24, 0, 0 }, { 20, -11, 0, 24, 0, 0 }, { 19, -13, 0, 24, 0, 0 }, { 18, -14, 0, 24, 0, 0 }, { 18, -15, 0, 24, 0, 0 }, + { 17, -16, 0, 24, 0, 0 }, { 17, -17, 0, 24, 0, 0 }, { 16, -18, 0, 24, 0, 0 }, { 16, -19, 0, 24, 0, 0 }, { 15, -20, 0, 24, 0, 0 }, + { 15, -21, 0, 24, 0, 0 }, { 14, -22, 0, 24, 0, 0 }, { 14, -23, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 13, -24, 0, 24, 0, 0 }, { 13, -23, 0, 24, 0, 0 }, { 13, -22, 0, 24, 0, 0 }, { 13, -21, 0, 24, 0, 0 }, { 13, -20, 0, 24, 0, 0 }, + { 13, -19, 0, 24, 0, 0 }, { 13, -18, 0, 24, 0, 0 }, { 13, -17, 0, 24, 0, 0 }, { 13, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93B01B = { - 73, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, - { 16, 15, 0, 0, 0, 0 }, { 13, 14, 0, 0, 0, 0 }, { 10, 14, 0, 0, 0, 0 }, { 7, 13, 0, 0, 0, 0 }, { 4, 13, 0, 0, 0, 0 }, - { 1, 12, 0, 0, 0, 0 }, { -2, 12, 0, 0, 0, 0 }, { -2, 15, 0, 0, 0, 0 }, { -2, 18, 0, 0, 0, 0 }, { -2, 21, 0, 0, 0, 0 }, - { -2, 24, 0, 0, 0, 0 }, { -2, 26, 0, 0, 0, 0 }, { -4, 26, 0, 0, 0, 0 }, { -6, 26, 0, 0, 0, 0 }, { -8, 26, 0, 0, 0, 0 }, - { -10, 26, 0, 0, 0, 0 }, { -11, 25, 0, 0, 0, 0 }, { -11, 23, 0, 0, 0, 0 }, { -11, 21, 0, 0, 0, 0 }, { -11, 19, 0, 0, 0, 0 }, - { -10, 17, 0, 0, 0, 0 }, { -10, 15, 0, 0, 0, 0 }, { -10, 13, 0, 0, 0, 0 }, { -12, 13, 0, 0, 0, 0 }, { -14, 13, 0, 0, 0, 0 }, - { -16, 13, 0, 0, 0, 0 }, { -18, 13, 0, 0, 0, 0 }, { -20, 14, 0, 0, 0, 0 }, { -22, 14, 0, 0, 0, 0 }, { -23, 14, 0, 0, 0, 0 }, - { -24, 14, 0, 0, 0, 0 }, { -25, 14, 0, 0, 0, 0 }, { -26, 14, 0, 0, 0, 0 }, { -27, 14, 0, 0, 0, 0 }, { -28, 14, 0, 0, 0, 0 }, - { -29, 14, 0, 0, 0, 0 }, { -30, 14, 0, 0, 0, 0 }, { -31, 14, 0, 0, 0, 0 }, { -30, 14, 0, 0, 0, 0 }, { -29, 14, 0, 0, 0, 0 }, - { -28, 14, 0, 0, 0, 0 }, { -27, 13, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -25, 13, 0, 0, 0, 0 }, { -24, 13, 0, 0, 0, 0 }, - { -23, 13, 0, 0, 0, 0 }, { -22, 12, 0, 0, 0, 0 }, { -21, 12, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -20, 12, 0, 0, 0, 0 }, { -21, 12, 0, 0, 0, 0 }, { -22, 13, 0, 0, 0, 0 }, { -23, 14, 0, 0, 0, 0 }, { -24, 14, 0, 0, 0, 0 }, - { -25, 15, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 73, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, + { 16, 15, 0, 0, 0, 0 }, { 13, 14, 0, 0, 0, 0 }, { 10, 14, 0, 0, 0, 0 }, { 7, 13, 0, 0, 0, 0 }, { 4, 13, 0, 0, 0, 0 }, + { 1, 12, 0, 0, 0, 0 }, { -2, 12, 0, 0, 0, 0 }, { -2, 15, 0, 0, 0, 0 }, { -2, 18, 0, 0, 0, 0 }, { -2, 21, 0, 0, 0, 0 }, + { -2, 24, 0, 0, 0, 0 }, { -2, 26, 0, 0, 0, 0 }, { -4, 26, 0, 0, 0, 0 }, { -6, 26, 0, 0, 0, 0 }, { -8, 26, 0, 0, 0, 0 }, + { -10, 26, 0, 0, 0, 0 }, { -11, 25, 0, 0, 0, 0 }, { -11, 23, 0, 0, 0, 0 }, { -11, 21, 0, 0, 0, 0 }, { -11, 19, 0, 0, 0, 0 }, + { -10, 17, 0, 0, 0, 0 }, { -10, 15, 0, 0, 0, 0 }, { -10, 13, 0, 0, 0, 0 }, { -12, 13, 0, 0, 0, 0 }, { -14, 13, 0, 0, 0, 0 }, + { -16, 13, 0, 0, 0, 0 }, { -18, 13, 0, 0, 0, 0 }, { -20, 14, 0, 0, 0, 0 }, { -22, 14, 0, 0, 0, 0 }, { -23, 14, 0, 0, 0, 0 }, + { -24, 14, 0, 0, 0, 0 }, { -25, 14, 0, 0, 0, 0 }, { -26, 14, 0, 0, 0, 0 }, { -27, 14, 0, 0, 0, 0 }, { -28, 14, 0, 0, 0, 0 }, + { -29, 14, 0, 0, 0, 0 }, { -30, 14, 0, 0, 0, 0 }, { -31, 14, 0, 0, 0, 0 }, { -30, 14, 0, 0, 0, 0 }, { -29, 14, 0, 0, 0, 0 }, + { -28, 14, 0, 0, 0, 0 }, { -27, 13, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -25, 13, 0, 0, 0, 0 }, { -24, 13, 0, 0, 0, 0 }, + { -23, 13, 0, 0, 0, 0 }, { -22, 12, 0, 0, 0, 0 }, { -21, 12, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -20, 12, 0, 0, 0, 0 }, { -21, 12, 0, 0, 0, 0 }, { -22, 13, 0, 0, 0, 0 }, { -23, 14, 0, 0, 0, 0 }, { -24, 14, 0, 0, 0, 0 }, + { -25, 15, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93DA0C = { - 73, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, - { 15, 15, 0, 8, 0, 0 }, { 14, 18, 0, 8, 0, 0 }, { 14, 21, 0, 8, 0, 0 }, { 13, 24, 0, 8, 0, 0 }, { 13, 27, 0, 8, 0, 0 }, - { 12, 30, 0, 8, 0, 0 }, { 12, 33, 0, 8, 0, 0 }, { 15, 33, 0, 8, 0, 0 }, { 18, 33, 0, 8, 0, 0 }, { 21, 33, 0, 8, 0, 0 }, - { 24, 33, 0, 8, 0, 0 }, { 26, 33, 0, 8, 0, 0 }, { 26, 35, 0, 8, 0, 0 }, { 26, 37, 0, 8, 0, 0 }, { 26, 39, 0, 8, 0, 0 }, - { 26, 41, 0, 8, 0, 0 }, { 25, 42, 0, 8, 0, 0 }, { 23, 42, 0, 8, 0, 0 }, { 21, 42, 0, 8, 0, 0 }, { 19, 42, 0, 8, 0, 0 }, - { 17, 41, 0, 8, 0, 0 }, { 15, 41, 0, 8, 0, 0 }, { 13, 41, 0, 8, 0, 0 }, { 13, 43, 0, 8, 0, 0 }, { 13, 45, 0, 8, 0, 0 }, - { 13, 47, 0, 8, 0, 0 }, { 13, 49, 0, 8, 0, 0 }, { 14, 51, 0, 8, 0, 0 }, { 14, 53, 0, 8, 0, 0 }, { 14, 54, 0, 8, 0, 0 }, - { 14, 55, 0, 8, 0, 0 }, { 14, 56, 0, 8, 0, 0 }, { 14, 57, 0, 8, 0, 0 }, { 14, 58, 0, 8, 0, 0 }, { 14, 59, 0, 8, 0, 0 }, - { 14, 60, 0, 8, 0, 0 }, { 14, 61, 0, 8, 0, 0 }, { 14, 62, 0, 8, 0, 0 }, { 14, 61, 0, 8, 0, 0 }, { 14, 60, 0, 8, 0, 0 }, - { 14, 59, 0, 8, 0, 0 }, { 13, 58, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 13, 56, 0, 8, 0, 0 }, { 13, 55, 0, 8, 0, 0 }, - { 13, 54, 0, 8, 0, 0 }, { 12, 53, 0, 8, 0, 0 }, { 12, 52, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 12, 51, 0, 8, 0, 0 }, { 12, 52, 0, 8, 0, 0 }, { 13, 53, 0, 8, 0, 0 }, { 14, 54, 0, 8, 0, 0 }, { 14, 55, 0, 8, 0, 0 }, - { 15, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 73, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, + { 15, 15, 0, 8, 0, 0 }, { 14, 18, 0, 8, 0, 0 }, { 14, 21, 0, 8, 0, 0 }, { 13, 24, 0, 8, 0, 0 }, { 13, 27, 0, 8, 0, 0 }, + { 12, 30, 0, 8, 0, 0 }, { 12, 33, 0, 8, 0, 0 }, { 15, 33, 0, 8, 0, 0 }, { 18, 33, 0, 8, 0, 0 }, { 21, 33, 0, 8, 0, 0 }, + { 24, 33, 0, 8, 0, 0 }, { 26, 33, 0, 8, 0, 0 }, { 26, 35, 0, 8, 0, 0 }, { 26, 37, 0, 8, 0, 0 }, { 26, 39, 0, 8, 0, 0 }, + { 26, 41, 0, 8, 0, 0 }, { 25, 42, 0, 8, 0, 0 }, { 23, 42, 0, 8, 0, 0 }, { 21, 42, 0, 8, 0, 0 }, { 19, 42, 0, 8, 0, 0 }, + { 17, 41, 0, 8, 0, 0 }, { 15, 41, 0, 8, 0, 0 }, { 13, 41, 0, 8, 0, 0 }, { 13, 43, 0, 8, 0, 0 }, { 13, 45, 0, 8, 0, 0 }, + { 13, 47, 0, 8, 0, 0 }, { 13, 49, 0, 8, 0, 0 }, { 14, 51, 0, 8, 0, 0 }, { 14, 53, 0, 8, 0, 0 }, { 14, 54, 0, 8, 0, 0 }, + { 14, 55, 0, 8, 0, 0 }, { 14, 56, 0, 8, 0, 0 }, { 14, 57, 0, 8, 0, 0 }, { 14, 58, 0, 8, 0, 0 }, { 14, 59, 0, 8, 0, 0 }, + { 14, 60, 0, 8, 0, 0 }, { 14, 61, 0, 8, 0, 0 }, { 14, 62, 0, 8, 0, 0 }, { 14, 61, 0, 8, 0, 0 }, { 14, 60, 0, 8, 0, 0 }, + { 14, 59, 0, 8, 0, 0 }, { 13, 58, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 13, 56, 0, 8, 0, 0 }, { 13, 55, 0, 8, 0, 0 }, + { 13, 54, 0, 8, 0, 0 }, { 12, 53, 0, 8, 0, 0 }, { 12, 52, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 12, 51, 0, 8, 0, 0 }, { 12, 52, 0, 8, 0, 0 }, { 13, 53, 0, 8, 0, 0 }, { 14, 54, 0, 8, 0, 0 }, { 14, 55, 0, 8, 0, 0 }, + { 15, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9403FD = { - 73, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 9, 15, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, - { 15, 16, 0, 16, 0, 0 }, { 18, 17, 0, 16, 0, 0 }, { 21, 17, 0, 16, 0, 0 }, { 24, 18, 0, 16, 0, 0 }, { 27, 18, 0, 16, 0, 0 }, - { 30, 19, 0, 16, 0, 0 }, { 33, 19, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, { 33, 13, 0, 16, 0, 0 }, { 33, 10, 0, 16, 0, 0 }, - { 33, 7, 0, 16, 0, 0 }, { 33, 5, 0, 16, 0, 0 }, { 35, 5, 0, 16, 0, 0 }, { 37, 5, 0, 16, 0, 0 }, { 39, 5, 0, 16, 0, 0 }, - { 41, 5, 0, 16, 0, 0 }, { 42, 6, 0, 16, 0, 0 }, { 42, 8, 0, 16, 0, 0 }, { 42, 10, 0, 16, 0, 0 }, { 42, 12, 0, 16, 0, 0 }, - { 41, 14, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 41, 18, 0, 16, 0, 0 }, { 43, 18, 0, 16, 0, 0 }, { 45, 18, 0, 16, 0, 0 }, - { 47, 18, 0, 16, 0, 0 }, { 49, 18, 0, 16, 0, 0 }, { 51, 17, 0, 16, 0, 0 }, { 53, 17, 0, 16, 0, 0 }, { 54, 17, 0, 16, 0, 0 }, - { 55, 17, 0, 16, 0, 0 }, { 56, 17, 0, 16, 0, 0 }, { 57, 17, 0, 16, 0, 0 }, { 58, 17, 0, 16, 0, 0 }, { 59, 17, 0, 16, 0, 0 }, - { 60, 17, 0, 16, 0, 0 }, { 61, 17, 0, 16, 0, 0 }, { 62, 17, 0, 16, 0, 0 }, { 61, 17, 0, 16, 0, 0 }, { 60, 17, 0, 16, 0, 0 }, - { 59, 17, 0, 16, 0, 0 }, { 58, 18, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 56, 18, 0, 16, 0, 0 }, { 55, 18, 0, 16, 0, 0 }, - { 54, 18, 0, 16, 0, 0 }, { 53, 19, 0, 16, 0, 0 }, { 52, 19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 51, 19, 0, 16, 0, 0 }, { 52, 19, 0, 16, 0, 0 }, { 53, 18, 0, 16, 0, 0 }, { 54, 17, 0, 16, 0, 0 }, { 55, 17, 0, 16, 0, 0 }, - { 56, 16, 0, 16, 0, 0 }, { 57, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 73, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 9, 15, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, + { 15, 16, 0, 16, 0, 0 }, { 18, 17, 0, 16, 0, 0 }, { 21, 17, 0, 16, 0, 0 }, { 24, 18, 0, 16, 0, 0 }, { 27, 18, 0, 16, 0, 0 }, + { 30, 19, 0, 16, 0, 0 }, { 33, 19, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, { 33, 13, 0, 16, 0, 0 }, { 33, 10, 0, 16, 0, 0 }, + { 33, 7, 0, 16, 0, 0 }, { 33, 5, 0, 16, 0, 0 }, { 35, 5, 0, 16, 0, 0 }, { 37, 5, 0, 16, 0, 0 }, { 39, 5, 0, 16, 0, 0 }, + { 41, 5, 0, 16, 0, 0 }, { 42, 6, 0, 16, 0, 0 }, { 42, 8, 0, 16, 0, 0 }, { 42, 10, 0, 16, 0, 0 }, { 42, 12, 0, 16, 0, 0 }, + { 41, 14, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 41, 18, 0, 16, 0, 0 }, { 43, 18, 0, 16, 0, 0 }, { 45, 18, 0, 16, 0, 0 }, + { 47, 18, 0, 16, 0, 0 }, { 49, 18, 0, 16, 0, 0 }, { 51, 17, 0, 16, 0, 0 }, { 53, 17, 0, 16, 0, 0 }, { 54, 17, 0, 16, 0, 0 }, + { 55, 17, 0, 16, 0, 0 }, { 56, 17, 0, 16, 0, 0 }, { 57, 17, 0, 16, 0, 0 }, { 58, 17, 0, 16, 0, 0 }, { 59, 17, 0, 16, 0, 0 }, + { 60, 17, 0, 16, 0, 0 }, { 61, 17, 0, 16, 0, 0 }, { 62, 17, 0, 16, 0, 0 }, { 61, 17, 0, 16, 0, 0 }, { 60, 17, 0, 16, 0, 0 }, + { 59, 17, 0, 16, 0, 0 }, { 58, 18, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 56, 18, 0, 16, 0, 0 }, { 55, 18, 0, 16, 0, 0 }, + { 54, 18, 0, 16, 0, 0 }, { 53, 19, 0, 16, 0, 0 }, { 52, 19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 51, 19, 0, 16, 0, 0 }, { 52, 19, 0, 16, 0, 0 }, { 53, 18, 0, 16, 0, 0 }, { 54, 17, 0, 16, 0, 0 }, { 55, 17, 0, 16, 0, 0 }, + { 56, 16, 0, 16, 0, 0 }, { 57, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_942DEE = { - 73, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 22, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, - { 16, 16, 0, 24, 0, 0 }, { 17, 13, 0, 24, 0, 0 }, { 17, 10, 0, 24, 0, 0 }, { 18, 7, 0, 24, 0, 0 }, { 18, 4, 0, 24, 0, 0 }, - { 19, 1, 0, 24, 0, 0 }, { 19, -2, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, { 13, -2, 0, 24, 0, 0 }, { 10, -2, 0, 24, 0, 0 }, - { 7, -2, 0, 24, 0, 0 }, { 5, -2, 0, 24, 0, 0 }, { 5, -4, 0, 24, 0, 0 }, { 5, -6, 0, 24, 0, 0 }, { 5, -8, 0, 24, 0, 0 }, - { 5, -10, 0, 24, 0, 0 }, { 6, -11, 0, 24, 0, 0 }, { 8, -11, 0, 24, 0, 0 }, { 10, -11, 0, 24, 0, 0 }, { 12, -11, 0, 24, 0, 0 }, - { 14, -10, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 18, -10, 0, 24, 0, 0 }, { 18, -12, 0, 24, 0, 0 }, { 18, -14, 0, 24, 0, 0 }, - { 18, -16, 0, 24, 0, 0 }, { 18, -18, 0, 24, 0, 0 }, { 17, -20, 0, 24, 0, 0 }, { 17, -22, 0, 24, 0, 0 }, { 17, -23, 0, 24, 0, 0 }, - { 17, -24, 0, 24, 0, 0 }, { 17, -25, 0, 24, 0, 0 }, { 17, -26, 0, 24, 0, 0 }, { 17, -27, 0, 24, 0, 0 }, { 17, -28, 0, 24, 0, 0 }, - { 17, -29, 0, 24, 0, 0 }, { 17, -30, 0, 24, 0, 0 }, { 17, -31, 0, 24, 0, 0 }, { 17, -30, 0, 24, 0, 0 }, { 17, -29, 0, 24, 0, 0 }, - { 17, -28, 0, 24, 0, 0 }, { 18, -27, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 18, -25, 0, 24, 0, 0 }, { 18, -24, 0, 24, 0, 0 }, - { 18, -23, 0, 24, 0, 0 }, { 19, -22, 0, 24, 0, 0 }, { 19, -21, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 19, -20, 0, 24, 0, 0 }, { 19, -21, 0, 24, 0, 0 }, { 18, -22, 0, 24, 0, 0 }, { 17, -23, 0, 24, 0, 0 }, { 17, -24, 0, 24, 0, 0 }, - { 16, -25, 0, 24, 0, 0 }, { 15, -26, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 73, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 22, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, + { 16, 16, 0, 24, 0, 0 }, { 17, 13, 0, 24, 0, 0 }, { 17, 10, 0, 24, 0, 0 }, { 18, 7, 0, 24, 0, 0 }, { 18, 4, 0, 24, 0, 0 }, + { 19, 1, 0, 24, 0, 0 }, { 19, -2, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, { 13, -2, 0, 24, 0, 0 }, { 10, -2, 0, 24, 0, 0 }, + { 7, -2, 0, 24, 0, 0 }, { 5, -2, 0, 24, 0, 0 }, { 5, -4, 0, 24, 0, 0 }, { 5, -6, 0, 24, 0, 0 }, { 5, -8, 0, 24, 0, 0 }, + { 5, -10, 0, 24, 0, 0 }, { 6, -11, 0, 24, 0, 0 }, { 8, -11, 0, 24, 0, 0 }, { 10, -11, 0, 24, 0, 0 }, { 12, -11, 0, 24, 0, 0 }, + { 14, -10, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 18, -10, 0, 24, 0, 0 }, { 18, -12, 0, 24, 0, 0 }, { 18, -14, 0, 24, 0, 0 }, + { 18, -16, 0, 24, 0, 0 }, { 18, -18, 0, 24, 0, 0 }, { 17, -20, 0, 24, 0, 0 }, { 17, -22, 0, 24, 0, 0 }, { 17, -23, 0, 24, 0, 0 }, + { 17, -24, 0, 24, 0, 0 }, { 17, -25, 0, 24, 0, 0 }, { 17, -26, 0, 24, 0, 0 }, { 17, -27, 0, 24, 0, 0 }, { 17, -28, 0, 24, 0, 0 }, + { 17, -29, 0, 24, 0, 0 }, { 17, -30, 0, 24, 0, 0 }, { 17, -31, 0, 24, 0, 0 }, { 17, -30, 0, 24, 0, 0 }, { 17, -29, 0, 24, 0, 0 }, + { 17, -28, 0, 24, 0, 0 }, { 18, -27, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 18, -25, 0, 24, 0, 0 }, { 18, -24, 0, 24, 0, 0 }, + { 18, -23, 0, 24, 0, 0 }, { 19, -22, 0, 24, 0, 0 }, { 19, -21, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 19, -20, 0, 24, 0, 0 }, { 19, -21, 0, 24, 0, 0 }, { 18, -22, 0, 24, 0, 0 }, { 17, -23, 0, 24, 0, 0 }, { 17, -24, 0, 24, 0, 0 }, + { 16, -25, 0, 24, 0, 0 }, { 15, -26, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93BDCB = { - 77, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 18, 14, 0, 0, 0, 0 }, - { 16, 14, 0, 0, 0, 0 }, { 14, 14, 0, 0, 0, 0 }, { 12, 13, 0, 0, 0, 0 }, { 10, 13, 0, 0, 0, 0 }, { 9, 13, 0, 0, 0, 0 }, - { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, { 14, 12, 0, 0, 0, 0 }, { 15, 12, 0, 0, 0, 0 }, - { 16, 12, 0, 0, 0, 0 }, { 17, 11, 0, 0, 0, 0 }, { 18, 11, 0, 0, 0, 0 }, { 19, 11, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 11, 0, 0, 0, 0 }, { 18, 11, 0, 0, 0, 0 }, { 16, 11, 0, 0, 0, 0 }, { 14, 11, 0, 0, 0, 0 }, - { 12, 11, 0, 0, 0, 0 }, { 10, 11, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 5, 13, 0, 0, 0, 0 }, - { 3, 14, 0, 0, 0, 0 }, { 1, 15, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 17, 0, 0, 0, 0 }, { -5, 18, 0, 0, 0, 0 }, - { -7, 20, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, { -11, 20, 0, 0, 0, 0 }, { -13, 20, 0, 0, 0, 0 }, - { -15, 20, 0, 0, 0, 0 }, { -17, 20, 0, 0, 0, 0 }, { -19, 20, 0, 0, 0, 0 }, { -21, 20, 0, 0, 0, 0 }, { -22, 20, 0, 0, 0, 0 }, - { -23, 20, 0, 0, 0, 0 }, { -24, 20, 0, 0, 0, 0 }, { -25, 20, 0, 0, 0, 0 }, { -26, 20, 0, 0, 0, 0 }, { -27, 20, 0, 0, 0, 0 }, - { -28, 20, 0, 0, 0, 0 }, { -29, 20, 0, 0, 0, 0 }, { -30, 20, 0, 0, 0, 0 }, { -29, 20, 0, 0, 0, 0 }, { -28, 20, 0, 0, 0, 0 }, - { -27, 20, 0, 0, 0, 0 }, { -26, 20, 0, 0, 0, 0 }, { -25, 20, 0, 0, 0, 0 }, { -24, 20, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -23, 20, 0, 0, 0, 0 }, { -23, 19, 0, 0, 0, 0 }, { -23, 18, 0, 0, 0, 0 }, { -23, 17, 0, 0, 0, 0 }, - { -23, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + 77, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 18, 14, 0, 0, 0, 0 }, + { 16, 14, 0, 0, 0, 0 }, { 14, 14, 0, 0, 0, 0 }, { 12, 13, 0, 0, 0, 0 }, { 10, 13, 0, 0, 0, 0 }, { 9, 13, 0, 0, 0, 0 }, + { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, { 14, 12, 0, 0, 0, 0 }, { 15, 12, 0, 0, 0, 0 }, + { 16, 12, 0, 0, 0, 0 }, { 17, 11, 0, 0, 0, 0 }, { 18, 11, 0, 0, 0, 0 }, { 19, 11, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 20, 11, 0, 0, 0, 0 }, { 18, 11, 0, 0, 0, 0 }, { 16, 11, 0, 0, 0, 0 }, { 14, 11, 0, 0, 0, 0 }, + { 12, 11, 0, 0, 0, 0 }, { 10, 11, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 5, 13, 0, 0, 0, 0 }, + { 3, 14, 0, 0, 0, 0 }, { 1, 15, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 17, 0, 0, 0, 0 }, { -5, 18, 0, 0, 0, 0 }, + { -7, 20, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, { -11, 20, 0, 0, 0, 0 }, { -13, 20, 0, 0, 0, 0 }, + { -15, 20, 0, 0, 0, 0 }, { -17, 20, 0, 0, 0, 0 }, { -19, 20, 0, 0, 0, 0 }, { -21, 20, 0, 0, 0, 0 }, { -22, 20, 0, 0, 0, 0 }, + { -23, 20, 0, 0, 0, 0 }, { -24, 20, 0, 0, 0, 0 }, { -25, 20, 0, 0, 0, 0 }, { -26, 20, 0, 0, 0, 0 }, { -27, 20, 0, 0, 0, 0 }, + { -28, 20, 0, 0, 0, 0 }, { -29, 20, 0, 0, 0, 0 }, { -30, 20, 0, 0, 0, 0 }, { -29, 20, 0, 0, 0, 0 }, { -28, 20, 0, 0, 0, 0 }, + { -27, 20, 0, 0, 0, 0 }, { -26, 20, 0, 0, 0, 0 }, { -25, 20, 0, 0, 0, 0 }, { -24, 20, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -23, 20, 0, 0, 0, 0 }, { -23, 19, 0, 0, 0, 0 }, { -23, 18, 0, 0, 0, 0 }, { -23, 17, 0, 0, 0, 0 }, + { -23, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_93E7BC = { - 77, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 14, 13, 0, 8, 0, 0 }, - { 14, 15, 0, 8, 0, 0 }, { 14, 17, 0, 8, 0, 0 }, { 13, 19, 0, 8, 0, 0 }, { 13, 21, 0, 8, 0, 0 }, { 13, 22, 0, 8, 0, 0 }, - { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, { 12, 17, 0, 8, 0, 0 }, { 12, 16, 0, 8, 0, 0 }, - { 12, 15, 0, 8, 0, 0 }, { 11, 14, 0, 8, 0, 0 }, { 11, 13, 0, 8, 0, 0 }, { 11, 12, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 11, 0, 8, 0, 0 }, { 11, 13, 0, 8, 0, 0 }, { 11, 15, 0, 8, 0, 0 }, { 11, 17, 0, 8, 0, 0 }, - { 11, 19, 0, 8, 0, 0 }, { 11, 21, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 13, 26, 0, 8, 0, 0 }, - { 14, 28, 0, 8, 0, 0 }, { 15, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 17, 34, 0, 8, 0, 0 }, { 18, 36, 0, 8, 0, 0 }, - { 20, 38, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, { 20, 42, 0, 8, 0, 0 }, { 20, 44, 0, 8, 0, 0 }, - { 20, 46, 0, 8, 0, 0 }, { 20, 48, 0, 8, 0, 0 }, { 20, 50, 0, 8, 0, 0 }, { 20, 52, 0, 8, 0, 0 }, { 20, 53, 0, 8, 0, 0 }, - { 20, 54, 0, 8, 0, 0 }, { 20, 55, 0, 8, 0, 0 }, { 20, 56, 0, 8, 0, 0 }, { 20, 57, 0, 8, 0, 0 }, { 20, 58, 0, 8, 0, 0 }, - { 20, 59, 0, 8, 0, 0 }, { 20, 60, 0, 8, 0, 0 }, { 20, 61, 0, 8, 0, 0 }, { 20, 60, 0, 8, 0, 0 }, { 20, 59, 0, 8, 0, 0 }, - { 20, 58, 0, 8, 0, 0 }, { 20, 57, 0, 8, 0, 0 }, { 20, 56, 0, 8, 0, 0 }, { 20, 55, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 54, 0, 8, 0, 0 }, { 19, 54, 0, 8, 0, 0 }, { 18, 54, 0, 8, 0, 0 }, { 17, 54, 0, 8, 0, 0 }, - { 16, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + 77, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 14, 13, 0, 8, 0, 0 }, + { 14, 15, 0, 8, 0, 0 }, { 14, 17, 0, 8, 0, 0 }, { 13, 19, 0, 8, 0, 0 }, { 13, 21, 0, 8, 0, 0 }, { 13, 22, 0, 8, 0, 0 }, + { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, { 12, 17, 0, 8, 0, 0 }, { 12, 16, 0, 8, 0, 0 }, + { 12, 15, 0, 8, 0, 0 }, { 11, 14, 0, 8, 0, 0 }, { 11, 13, 0, 8, 0, 0 }, { 11, 12, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 11, 11, 0, 8, 0, 0 }, { 11, 13, 0, 8, 0, 0 }, { 11, 15, 0, 8, 0, 0 }, { 11, 17, 0, 8, 0, 0 }, + { 11, 19, 0, 8, 0, 0 }, { 11, 21, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 13, 26, 0, 8, 0, 0 }, + { 14, 28, 0, 8, 0, 0 }, { 15, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 17, 34, 0, 8, 0, 0 }, { 18, 36, 0, 8, 0, 0 }, + { 20, 38, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, { 20, 42, 0, 8, 0, 0 }, { 20, 44, 0, 8, 0, 0 }, + { 20, 46, 0, 8, 0, 0 }, { 20, 48, 0, 8, 0, 0 }, { 20, 50, 0, 8, 0, 0 }, { 20, 52, 0, 8, 0, 0 }, { 20, 53, 0, 8, 0, 0 }, + { 20, 54, 0, 8, 0, 0 }, { 20, 55, 0, 8, 0, 0 }, { 20, 56, 0, 8, 0, 0 }, { 20, 57, 0, 8, 0, 0 }, { 20, 58, 0, 8, 0, 0 }, + { 20, 59, 0, 8, 0, 0 }, { 20, 60, 0, 8, 0, 0 }, { 20, 61, 0, 8, 0, 0 }, { 20, 60, 0, 8, 0, 0 }, { 20, 59, 0, 8, 0, 0 }, + { 20, 58, 0, 8, 0, 0 }, { 20, 57, 0, 8, 0, 0 }, { 20, 56, 0, 8, 0, 0 }, { 20, 55, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 20, 54, 0, 8, 0, 0 }, { 19, 54, 0, 8, 0, 0 }, { 18, 54, 0, 8, 0, 0 }, { 17, 54, 0, 8, 0, 0 }, + { 16, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9411AD = { - 77, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 13, 17, 0, 16, 0, 0 }, - { 15, 17, 0, 16, 0, 0 }, { 17, 17, 0, 16, 0, 0 }, { 19, 18, 0, 16, 0, 0 }, { 21, 18, 0, 16, 0, 0 }, { 22, 18, 0, 16, 0, 0 }, - { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, { 17, 19, 0, 16, 0, 0 }, { 16, 19, 0, 16, 0, 0 }, - { 15, 19, 0, 16, 0, 0 }, { 14, 20, 0, 16, 0, 0 }, { 13, 20, 0, 16, 0, 0 }, { 12, 20, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 20, 0, 16, 0, 0 }, { 13, 20, 0, 16, 0, 0 }, { 15, 20, 0, 16, 0, 0 }, { 17, 20, 0, 16, 0, 0 }, - { 19, 20, 0, 16, 0, 0 }, { 21, 20, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 26, 18, 0, 16, 0, 0 }, - { 28, 17, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 14, 0, 16, 0, 0 }, { 36, 13, 0, 16, 0, 0 }, - { 38, 11, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, { 42, 11, 0, 16, 0, 0 }, { 44, 11, 0, 16, 0, 0 }, - { 46, 11, 0, 16, 0, 0 }, { 48, 11, 0, 16, 0, 0 }, { 50, 11, 0, 16, 0, 0 }, { 52, 11, 0, 16, 0, 0 }, { 53, 11, 0, 16, 0, 0 }, - { 54, 11, 0, 16, 0, 0 }, { 55, 11, 0, 16, 0, 0 }, { 56, 11, 0, 16, 0, 0 }, { 57, 11, 0, 16, 0, 0 }, { 58, 11, 0, 16, 0, 0 }, - { 59, 11, 0, 16, 0, 0 }, { 60, 11, 0, 16, 0, 0 }, { 61, 11, 0, 16, 0, 0 }, { 60, 11, 0, 16, 0, 0 }, { 59, 11, 0, 16, 0, 0 }, - { 58, 11, 0, 16, 0, 0 }, { 57, 11, 0, 16, 0, 0 }, { 56, 11, 0, 16, 0, 0 }, { 55, 11, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 54, 11, 0, 16, 0, 0 }, { 54, 12, 0, 16, 0, 0 }, { 54, 13, 0, 16, 0, 0 }, { 54, 14, 0, 16, 0, 0 }, - { 54, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + 77, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 13, 17, 0, 16, 0, 0 }, + { 15, 17, 0, 16, 0, 0 }, { 17, 17, 0, 16, 0, 0 }, { 19, 18, 0, 16, 0, 0 }, { 21, 18, 0, 16, 0, 0 }, { 22, 18, 0, 16, 0, 0 }, + { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, { 17, 19, 0, 16, 0, 0 }, { 16, 19, 0, 16, 0, 0 }, + { 15, 19, 0, 16, 0, 0 }, { 14, 20, 0, 16, 0, 0 }, { 13, 20, 0, 16, 0, 0 }, { 12, 20, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 11, 20, 0, 16, 0, 0 }, { 13, 20, 0, 16, 0, 0 }, { 15, 20, 0, 16, 0, 0 }, { 17, 20, 0, 16, 0, 0 }, + { 19, 20, 0, 16, 0, 0 }, { 21, 20, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 26, 18, 0, 16, 0, 0 }, + { 28, 17, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 14, 0, 16, 0, 0 }, { 36, 13, 0, 16, 0, 0 }, + { 38, 11, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, { 42, 11, 0, 16, 0, 0 }, { 44, 11, 0, 16, 0, 0 }, + { 46, 11, 0, 16, 0, 0 }, { 48, 11, 0, 16, 0, 0 }, { 50, 11, 0, 16, 0, 0 }, { 52, 11, 0, 16, 0, 0 }, { 53, 11, 0, 16, 0, 0 }, + { 54, 11, 0, 16, 0, 0 }, { 55, 11, 0, 16, 0, 0 }, { 56, 11, 0, 16, 0, 0 }, { 57, 11, 0, 16, 0, 0 }, { 58, 11, 0, 16, 0, 0 }, + { 59, 11, 0, 16, 0, 0 }, { 60, 11, 0, 16, 0, 0 }, { 61, 11, 0, 16, 0, 0 }, { 60, 11, 0, 16, 0, 0 }, { 59, 11, 0, 16, 0, 0 }, + { 58, 11, 0, 16, 0, 0 }, { 57, 11, 0, 16, 0, 0 }, { 56, 11, 0, 16, 0, 0 }, { 55, 11, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 54, 11, 0, 16, 0, 0 }, { 54, 12, 0, 16, 0, 0 }, { 54, 13, 0, 16, 0, 0 }, { 54, 14, 0, 16, 0, 0 }, + { 54, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_943B9E = { - 77, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 17, 18, 0, 24, 0, 0 }, - { 17, 16, 0, 24, 0, 0 }, { 17, 14, 0, 24, 0, 0 }, { 18, 12, 0, 24, 0, 0 }, { 18, 10, 0, 24, 0, 0 }, { 18, 9, 0, 24, 0, 0 }, - { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, { 19, 14, 0, 24, 0, 0 }, { 19, 15, 0, 24, 0, 0 }, - { 19, 16, 0, 24, 0, 0 }, { 20, 17, 0, 24, 0, 0 }, { 20, 18, 0, 24, 0, 0 }, { 20, 19, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 20, 0, 24, 0, 0 }, { 20, 18, 0, 24, 0, 0 }, { 20, 16, 0, 24, 0, 0 }, { 20, 14, 0, 24, 0, 0 }, - { 20, 12, 0, 24, 0, 0 }, { 20, 10, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 18, 5, 0, 24, 0, 0 }, - { 17, 3, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 14, -3, 0, 24, 0, 0 }, { 13, -5, 0, 24, 0, 0 }, - { 11, -7, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, { 11, -11, 0, 24, 0, 0 }, { 11, -13, 0, 24, 0, 0 }, - { 11, -15, 0, 24, 0, 0 }, { 11, -17, 0, 24, 0, 0 }, { 11, -19, 0, 24, 0, 0 }, { 11, -21, 0, 24, 0, 0 }, { 11, -22, 0, 24, 0, 0 }, - { 11, -23, 0, 24, 0, 0 }, { 11, -24, 0, 24, 0, 0 }, { 11, -25, 0, 24, 0, 0 }, { 11, -26, 0, 24, 0, 0 }, { 11, -27, 0, 24, 0, 0 }, - { 11, -28, 0, 24, 0, 0 }, { 11, -29, 0, 24, 0, 0 }, { 11, -30, 0, 24, 0, 0 }, { 11, -29, 0, 24, 0, 0 }, { 11, -28, 0, 24, 0, 0 }, - { 11, -27, 0, 24, 0, 0 }, { 11, -26, 0, 24, 0, 0 }, { 11, -25, 0, 24, 0, 0 }, { 11, -24, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, -23, 0, 24, 0, 0 }, { 12, -23, 0, 24, 0, 0 }, { 13, -23, 0, 24, 0, 0 }, { 14, -23, 0, 24, 0, 0 }, - { 15, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + 77, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 17, 18, 0, 24, 0, 0 }, + { 17, 16, 0, 24, 0, 0 }, { 17, 14, 0, 24, 0, 0 }, { 18, 12, 0, 24, 0, 0 }, { 18, 10, 0, 24, 0, 0 }, { 18, 9, 0, 24, 0, 0 }, + { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, { 19, 14, 0, 24, 0, 0 }, { 19, 15, 0, 24, 0, 0 }, + { 19, 16, 0, 24, 0, 0 }, { 20, 17, 0, 24, 0, 0 }, { 20, 18, 0, 24, 0, 0 }, { 20, 19, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 20, 20, 0, 24, 0, 0 }, { 20, 18, 0, 24, 0, 0 }, { 20, 16, 0, 24, 0, 0 }, { 20, 14, 0, 24, 0, 0 }, + { 20, 12, 0, 24, 0, 0 }, { 20, 10, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 18, 5, 0, 24, 0, 0 }, + { 17, 3, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 14, -3, 0, 24, 0, 0 }, { 13, -5, 0, 24, 0, 0 }, + { 11, -7, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, { 11, -11, 0, 24, 0, 0 }, { 11, -13, 0, 24, 0, 0 }, + { 11, -15, 0, 24, 0, 0 }, { 11, -17, 0, 24, 0, 0 }, { 11, -19, 0, 24, 0, 0 }, { 11, -21, 0, 24, 0, 0 }, { 11, -22, 0, 24, 0, 0 }, + { 11, -23, 0, 24, 0, 0 }, { 11, -24, 0, 24, 0, 0 }, { 11, -25, 0, 24, 0, 0 }, { 11, -26, 0, 24, 0, 0 }, { 11, -27, 0, 24, 0, 0 }, + { 11, -28, 0, 24, 0, 0 }, { 11, -29, 0, 24, 0, 0 }, { 11, -30, 0, 24, 0, 0 }, { 11, -29, 0, 24, 0, 0 }, { 11, -28, 0, 24, 0, 0 }, + { 11, -27, 0, 24, 0, 0 }, { 11, -26, 0, 24, 0, 0 }, { 11, -25, 0, 24, 0, 0 }, { 11, -24, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 11, -23, 0, 24, 0, 0 }, { 12, -23, 0, 24, 0, 0 }, { 13, -23, 0, 24, 0, 0 }, { 14, -23, 0, 24, 0, 0 }, + { 15, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_944E3B = { - 184, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 17, 0, 0, 0, 0 }, { 19, 17, 0, 0, 0, 0 }, - { 17, 17, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 18, 0, 0, 0, 0 }, { 11, 18, 0, 0, 0, 0 }, { 9, 18, 0, 0, 0, 0 }, - { 7, 18, 0, 0, 0, 0 }, { 5, 18, 0, 0, 0, 0 }, { 4, 18, 0, 0, 0, 0 }, { 3, 19, 0, 0, 0, 0 }, { 2, 19, 0, 0, 0, 0 }, - { 1, 19, 0, 0, 0, 0 }, { 0, 19, 0, 0, 0, 0 }, { -1, 19, 0, 0, 0, 0 }, { -2, 19, 0, 0, 0, 0 }, { -1, 19, 0, 0, 0, 0 }, - { 0, 19, 0, 0, 0, 0 }, { 1, 19, 0, 0, 0, 0 }, { 2, 19, 0, 0, 0, 0 }, { 3, 19, 0, 0, 0, 0 }, { 4, 19, 0, 0, 0, 0 }, - { 5, 19, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 8, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, - { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 14, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, - { 3, 20, 0, 0, 0, 0 }, { 0, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -6, 20, 0, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, - { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, - { -28, 9, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -25, 6, 0, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, { -23, 4, 1, 0, 0, 0 }, - { -22, 3, 1, 0, 0, 0 }, { -21, 2, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, { -19, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, - { -17, 2, 1, 0, 0, 0 }, { -17, 2, 1, 0, 0, 0 }, { -17, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, { -19, 2, 1, 0, 0, 0 }, - { -20, 2, 1, 0, 0, 0 }, { -21, 2, 1, 0, 0, 0 }, { -22, 3, 1, 0, 0, 0 }, { -23, 4, 1, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, - { -25, 6, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -28, 9, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, - { -25, 15, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -15, 20, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, { -8, 20, 0, 0, 0, 0 }, - { -7, 20, 0, 0, 0, 0 }, { -6, 20, 0, 0, 0, 0 }, { -5, 20, 0, 0, 0, 0 }, { -4, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, - { -2, 20, 0, 0, 0, 0 }, { -1, 20, 0, 0, 0, 0 }, { 0, 20, 0, 0, 0, 0 }, { 1, 20, 0, 0, 0, 0 }, { 2, 20, 0, 0, 0, 0 }, - { 3, 20, 0, 0, 0, 0 }, { 4, 20, 0, 0, 0, 0 }, { 5, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, - { 8, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, - { 13, 20, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 14, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, - { 9, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 3, 20, 0, 0, 0, 0 }, { 0, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, - { -6, 20, 0, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, - { -26, 13, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, { -28, 9, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, - { -22, 3, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, { -16, 3, 2, 0, 0, 0 }, { -14, 3, 2, 0, 0, 0 }, - { -14, 5, 2, 0, 0, 0 }, { -13, 7, 2, 0, 0, 0 }, { -12, 9, 3, 0, 0, 0 }, { -12, 11, 3, 0, 0, 0 }, { -11, 13, 3, 0, 0, 0 }, - { -12, 15, 3, 0, 0, 0 }, { -12, 17, 3, 0, 0, 0 }, { -12, 19, 3, 0, 0, 0 }, { -13, 21, 3, 0, 0, 0 }, { -13, 23, 3, 0, 0, 0 }, - { -13, 25, 3, 0, 0, 0 }, { -14, 27, 3, 0, 0, 0 }, { -14, 29, 3, 0, 0, 0 }, { -14, 30, 3, 0, 0, 0 }, { -14, 31, 3, 0, 0, 0 }, - { -15, 32, 3, 0, 0, 0 }, { -15, 33, 3, 0, 0, 0 }, { -15, 34, 3, 0, 0, 0 }, { -15, 35, 3, 0, 0, 0 }, { -15, 36, 3, 0, 0, 0 }, - { -15, 38, 0, 0, 0, 0 }, { -16, 40, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -16, 42, 0, 0, 0, 0 }, { -16, 43, 0, 0, 0, 0 }, { -16, 44, 0, 0, 0, 0 }, { -16, 45, 0, 0, 0, 0 }, { -17, 46, 0, 0, 0, 0 }, - { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -17, 49, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -17, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, + 184, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 17, 0, 0, 0, 0 }, { 19, 17, 0, 0, 0, 0 }, + { 17, 17, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 18, 0, 0, 0, 0 }, { 11, 18, 0, 0, 0, 0 }, { 9, 18, 0, 0, 0, 0 }, + { 7, 18, 0, 0, 0, 0 }, { 5, 18, 0, 0, 0, 0 }, { 4, 18, 0, 0, 0, 0 }, { 3, 19, 0, 0, 0, 0 }, { 2, 19, 0, 0, 0, 0 }, + { 1, 19, 0, 0, 0, 0 }, { 0, 19, 0, 0, 0, 0 }, { -1, 19, 0, 0, 0, 0 }, { -2, 19, 0, 0, 0, 0 }, { -1, 19, 0, 0, 0, 0 }, + { 0, 19, 0, 0, 0, 0 }, { 1, 19, 0, 0, 0, 0 }, { 2, 19, 0, 0, 0, 0 }, { 3, 19, 0, 0, 0, 0 }, { 4, 19, 0, 0, 0, 0 }, + { 5, 19, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 8, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, + { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 14, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, + { 3, 20, 0, 0, 0, 0 }, { 0, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -6, 20, 0, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, + { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, + { -28, 9, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -25, 6, 0, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, { -23, 4, 1, 0, 0, 0 }, + { -22, 3, 1, 0, 0, 0 }, { -21, 2, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, { -19, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, + { -17, 2, 1, 0, 0, 0 }, { -17, 2, 1, 0, 0, 0 }, { -17, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, { -19, 2, 1, 0, 0, 0 }, + { -20, 2, 1, 0, 0, 0 }, { -21, 2, 1, 0, 0, 0 }, { -22, 3, 1, 0, 0, 0 }, { -23, 4, 1, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, + { -25, 6, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -28, 9, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, + { -25, 15, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -15, 20, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, { -8, 20, 0, 0, 0, 0 }, + { -7, 20, 0, 0, 0, 0 }, { -6, 20, 0, 0, 0, 0 }, { -5, 20, 0, 0, 0, 0 }, { -4, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, + { -2, 20, 0, 0, 0, 0 }, { -1, 20, 0, 0, 0, 0 }, { 0, 20, 0, 0, 0, 0 }, { 1, 20, 0, 0, 0, 0 }, { 2, 20, 0, 0, 0, 0 }, + { 3, 20, 0, 0, 0, 0 }, { 4, 20, 0, 0, 0, 0 }, { 5, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, + { 8, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, + { 13, 20, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 14, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, + { 9, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 3, 20, 0, 0, 0, 0 }, { 0, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, + { -6, 20, 0, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, + { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, + { -26, 13, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, { -28, 9, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, + { -22, 3, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, { -16, 3, 2, 0, 0, 0 }, { -14, 3, 2, 0, 0, 0 }, + { -14, 5, 2, 0, 0, 0 }, { -13, 7, 2, 0, 0, 0 }, { -12, 9, 3, 0, 0, 0 }, { -12, 11, 3, 0, 0, 0 }, { -11, 13, 3, 0, 0, 0 }, + { -12, 15, 3, 0, 0, 0 }, { -12, 17, 3, 0, 0, 0 }, { -12, 19, 3, 0, 0, 0 }, { -13, 21, 3, 0, 0, 0 }, { -13, 23, 3, 0, 0, 0 }, + { -13, 25, 3, 0, 0, 0 }, { -14, 27, 3, 0, 0, 0 }, { -14, 29, 3, 0, 0, 0 }, { -14, 30, 3, 0, 0, 0 }, { -14, 31, 3, 0, 0, 0 }, + { -15, 32, 3, 0, 0, 0 }, { -15, 33, 3, 0, 0, 0 }, { -15, 34, 3, 0, 0, 0 }, { -15, 35, 3, 0, 0, 0 }, { -15, 36, 3, 0, 0, 0 }, + { -15, 38, 0, 0, 0, 0 }, { -16, 40, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -16, 42, 0, 0, 0, 0 }, { -16, 43, 0, 0, 0, 0 }, { -16, 44, 0, 0, 0, 0 }, { -16, 45, 0, 0, 0, 0 }, { -17, 46, 0, 0, 0, 0 }, + { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -17, 49, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -17, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_947AF9 = { - 184, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 17, 10, 0, 8, 0, 0 }, { 17, 12, 0, 8, 0, 0 }, - { 17, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 18, 0, 8, 0, 0 }, { 18, 20, 0, 8, 0, 0 }, { 18, 22, 0, 8, 0, 0 }, - { 18, 24, 0, 8, 0, 0 }, { 18, 26, 0, 8, 0, 0 }, { 18, 27, 0, 8, 0, 0 }, { 19, 28, 0, 8, 0, 0 }, { 19, 29, 0, 8, 0, 0 }, - { 19, 30, 0, 8, 0, 0 }, { 19, 31, 0, 8, 0, 0 }, { 19, 32, 0, 8, 0, 0 }, { 19, 33, 0, 8, 0, 0 }, { 19, 32, 0, 8, 0, 0 }, - { 19, 31, 0, 8, 0, 0 }, { 19, 30, 0, 8, 0, 0 }, { 19, 29, 0, 8, 0, 0 }, { 19, 28, 0, 8, 0, 0 }, { 19, 27, 0, 8, 0, 0 }, - { 19, 26, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 23, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, - { 20, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 17, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, - { 20, 28, 0, 8, 0, 0 }, { 20, 31, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 20, 37, 0, 8, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, - { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, - { 9, 59, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 6, 56, 0, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, { 4, 54, 1, 8, 0, 0 }, - { 3, 53, 1, 8, 0, 0 }, { 2, 52, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, { 2, 50, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, - { 2, 48, 1, 8, 0, 0 }, { 2, 48, 1, 8, 0, 0 }, { 2, 48, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, { 2, 50, 1, 8, 0, 0 }, - { 2, 51, 1, 8, 0, 0 }, { 2, 52, 1, 8, 0, 0 }, { 3, 53, 1, 8, 0, 0 }, { 4, 54, 1, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, - { 6, 56, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 9, 59, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, - { 15, 56, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 20, 46, 0, 8, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, { 20, 39, 0, 8, 0, 0 }, - { 20, 38, 0, 8, 0, 0 }, { 20, 37, 0, 8, 0, 0 }, { 20, 36, 0, 8, 0, 0 }, { 20, 35, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, - { 20, 33, 0, 8, 0, 0 }, { 20, 32, 0, 8, 0, 0 }, { 20, 31, 0, 8, 0, 0 }, { 20, 30, 0, 8, 0, 0 }, { 20, 29, 0, 8, 0, 0 }, - { 20, 28, 0, 8, 0, 0 }, { 20, 27, 0, 8, 0, 0 }, { 20, 26, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, - { 20, 23, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, - { 20, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 20, 17, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, - { 20, 22, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 28, 0, 8, 0, 0 }, { 20, 31, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, - { 20, 37, 0, 8, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, - { 13, 57, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, { 9, 59, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, - { 3, 53, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, { 3, 47, 2, 8, 0, 0 }, { 3, 45, 2, 8, 0, 0 }, - { 5, 45, 2, 8, 0, 0 }, { 7, 44, 2, 8, 0, 0 }, { 9, 43, 3, 8, 0, 0 }, { 11, 43, 3, 8, 0, 0 }, { 13, 42, 3, 8, 0, 0 }, - { 15, 43, 3, 8, 0, 0 }, { 17, 43, 3, 8, 0, 0 }, { 19, 43, 3, 8, 0, 0 }, { 21, 44, 3, 8, 0, 0 }, { 23, 44, 3, 8, 0, 0 }, - { 25, 44, 3, 8, 0, 0 }, { 27, 45, 3, 8, 0, 0 }, { 29, 45, 3, 8, 0, 0 }, { 30, 45, 3, 8, 0, 0 }, { 31, 45, 3, 8, 0, 0 }, - { 32, 46, 3, 8, 0, 0 }, { 33, 46, 3, 8, 0, 0 }, { 34, 46, 3, 8, 0, 0 }, { 35, 46, 3, 8, 0, 0 }, { 36, 46, 3, 8, 0, 0 }, - { 38, 46, 0, 8, 0, 0 }, { 40, 47, 0, 8, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 42, 47, 0, 8, 0, 0 }, { 43, 47, 0, 8, 0, 0 }, { 44, 47, 0, 8, 0, 0 }, { 45, 47, 0, 8, 0, 0 }, { 46, 48, 0, 8, 0, 0 }, - { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { 49, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 60, 48, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, + 184, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 17, 10, 0, 8, 0, 0 }, { 17, 12, 0, 8, 0, 0 }, + { 17, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 18, 0, 8, 0, 0 }, { 18, 20, 0, 8, 0, 0 }, { 18, 22, 0, 8, 0, 0 }, + { 18, 24, 0, 8, 0, 0 }, { 18, 26, 0, 8, 0, 0 }, { 18, 27, 0, 8, 0, 0 }, { 19, 28, 0, 8, 0, 0 }, { 19, 29, 0, 8, 0, 0 }, + { 19, 30, 0, 8, 0, 0 }, { 19, 31, 0, 8, 0, 0 }, { 19, 32, 0, 8, 0, 0 }, { 19, 33, 0, 8, 0, 0 }, { 19, 32, 0, 8, 0, 0 }, + { 19, 31, 0, 8, 0, 0 }, { 19, 30, 0, 8, 0, 0 }, { 19, 29, 0, 8, 0, 0 }, { 19, 28, 0, 8, 0, 0 }, { 19, 27, 0, 8, 0, 0 }, + { 19, 26, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 23, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, + { 20, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 20, 17, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, + { 20, 28, 0, 8, 0, 0 }, { 20, 31, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 20, 37, 0, 8, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, + { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, + { 9, 59, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 6, 56, 0, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, { 4, 54, 1, 8, 0, 0 }, + { 3, 53, 1, 8, 0, 0 }, { 2, 52, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, { 2, 50, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, + { 2, 48, 1, 8, 0, 0 }, { 2, 48, 1, 8, 0, 0 }, { 2, 48, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, { 2, 50, 1, 8, 0, 0 }, + { 2, 51, 1, 8, 0, 0 }, { 2, 52, 1, 8, 0, 0 }, { 3, 53, 1, 8, 0, 0 }, { 4, 54, 1, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, + { 6, 56, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 9, 59, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, + { 15, 56, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 20, 46, 0, 8, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, { 20, 39, 0, 8, 0, 0 }, + { 20, 38, 0, 8, 0, 0 }, { 20, 37, 0, 8, 0, 0 }, { 20, 36, 0, 8, 0, 0 }, { 20, 35, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, + { 20, 33, 0, 8, 0, 0 }, { 20, 32, 0, 8, 0, 0 }, { 20, 31, 0, 8, 0, 0 }, { 20, 30, 0, 8, 0, 0 }, { 20, 29, 0, 8, 0, 0 }, + { 20, 28, 0, 8, 0, 0 }, { 20, 27, 0, 8, 0, 0 }, { 20, 26, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, + { 20, 23, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, + { 20, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 20, 17, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, + { 20, 22, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 28, 0, 8, 0, 0 }, { 20, 31, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, + { 20, 37, 0, 8, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, + { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, + { 13, 57, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, { 9, 59, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, + { 3, 53, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, { 3, 47, 2, 8, 0, 0 }, { 3, 45, 2, 8, 0, 0 }, + { 5, 45, 2, 8, 0, 0 }, { 7, 44, 2, 8, 0, 0 }, { 9, 43, 3, 8, 0, 0 }, { 11, 43, 3, 8, 0, 0 }, { 13, 42, 3, 8, 0, 0 }, + { 15, 43, 3, 8, 0, 0 }, { 17, 43, 3, 8, 0, 0 }, { 19, 43, 3, 8, 0, 0 }, { 21, 44, 3, 8, 0, 0 }, { 23, 44, 3, 8, 0, 0 }, + { 25, 44, 3, 8, 0, 0 }, { 27, 45, 3, 8, 0, 0 }, { 29, 45, 3, 8, 0, 0 }, { 30, 45, 3, 8, 0, 0 }, { 31, 45, 3, 8, 0, 0 }, + { 32, 46, 3, 8, 0, 0 }, { 33, 46, 3, 8, 0, 0 }, { 34, 46, 3, 8, 0, 0 }, { 35, 46, 3, 8, 0, 0 }, { 36, 46, 3, 8, 0, 0 }, + { 38, 46, 0, 8, 0, 0 }, { 40, 47, 0, 8, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 42, 47, 0, 8, 0, 0 }, { 43, 47, 0, 8, 0, 0 }, { 44, 47, 0, 8, 0, 0 }, { 45, 47, 0, 8, 0, 0 }, { 46, 48, 0, 8, 0, 0 }, + { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { 49, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { 60, 48, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94A7B7 = { - 184, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 14, 0, 16, 0, 0 }, { 12, 14, 0, 16, 0, 0 }, - { 14, 14, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 13, 0, 16, 0, 0 }, { 20, 13, 0, 16, 0, 0 }, { 22, 13, 0, 16, 0, 0 }, - { 24, 13, 0, 16, 0, 0 }, { 26, 13, 0, 16, 0, 0 }, { 27, 13, 0, 16, 0, 0 }, { 28, 12, 0, 16, 0, 0 }, { 29, 12, 0, 16, 0, 0 }, - { 30, 12, 0, 16, 0, 0 }, { 31, 12, 0, 16, 0, 0 }, { 32, 12, 0, 16, 0, 0 }, { 33, 12, 0, 16, 0, 0 }, { 32, 12, 0, 16, 0, 0 }, - { 31, 12, 0, 16, 0, 0 }, { 30, 12, 0, 16, 0, 0 }, { 29, 12, 0, 16, 0, 0 }, { 28, 12, 0, 16, 0, 0 }, { 27, 12, 0, 16, 0, 0 }, - { 26, 12, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 23, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, - { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 17, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, - { 28, 11, 0, 16, 0, 0 }, { 31, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 37, 11, 0, 16, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, - { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, - { 59, 22, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 56, 25, 0, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, { 54, 27, 1, 16, 0, 0 }, - { 53, 28, 1, 16, 0, 0 }, { 52, 29, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, { 50, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, - { 48, 29, 1, 16, 0, 0 }, { 48, 29, 1, 16, 0, 0 }, { 48, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, { 50, 29, 1, 16, 0, 0 }, - { 51, 29, 1, 16, 0, 0 }, { 52, 29, 1, 16, 0, 0 }, { 53, 28, 1, 16, 0, 0 }, { 54, 27, 1, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, - { 56, 25, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 59, 22, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, - { 56, 16, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 46, 11, 0, 16, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, { 39, 11, 0, 16, 0, 0 }, - { 38, 11, 0, 16, 0, 0 }, { 37, 11, 0, 16, 0, 0 }, { 36, 11, 0, 16, 0, 0 }, { 35, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, - { 33, 11, 0, 16, 0, 0 }, { 32, 11, 0, 16, 0, 0 }, { 31, 11, 0, 16, 0, 0 }, { 30, 11, 0, 16, 0, 0 }, { 29, 11, 0, 16, 0, 0 }, - { 28, 11, 0, 16, 0, 0 }, { 27, 11, 0, 16, 0, 0 }, { 26, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, - { 23, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, - { 18, 11, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 17, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, - { 22, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 28, 11, 0, 16, 0, 0 }, { 31, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, - { 37, 11, 0, 16, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, - { 57, 18, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, { 59, 22, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, - { 53, 28, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, { 47, 28, 2, 16, 0, 0 }, { 45, 28, 2, 16, 0, 0 }, - { 45, 26, 2, 16, 0, 0 }, { 44, 24, 2, 16, 0, 0 }, { 43, 22, 3, 16, 0, 0 }, { 43, 20, 3, 16, 0, 0 }, { 42, 18, 3, 16, 0, 0 }, - { 43, 16, 3, 16, 0, 0 }, { 43, 14, 3, 16, 0, 0 }, { 43, 12, 3, 16, 0, 0 }, { 44, 10, 3, 16, 0, 0 }, { 44, 8, 3, 16, 0, 0 }, - { 44, 6, 3, 16, 0, 0 }, { 45, 4, 3, 16, 0, 0 }, { 45, 2, 3, 16, 0, 0 }, { 45, 1, 3, 16, 0, 0 }, { 45, 0, 3, 16, 0, 0 }, - { 46, -1, 3, 16, 0, 0 }, { 46, -2, 3, 16, 0, 0 }, { 46, -3, 3, 16, 0, 0 }, { 46, -4, 3, 16, 0, 0 }, { 46, -5, 3, 16, 0, 0 }, - { 46, -7, 0, 16, 0, 0 }, { 47, -9, 0, 16, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 47, -11, 0, 16, 0, 0 }, { 47, -12, 0, 16, 0, 0 }, { 47, -13, 0, 16, 0, 0 }, { 47, -14, 0, 16, 0, 0 }, { 48, -15, 0, 16, 0, 0 }, - { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { 48, -18, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 48, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, + 184, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 14, 0, 16, 0, 0 }, { 12, 14, 0, 16, 0, 0 }, + { 14, 14, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 13, 0, 16, 0, 0 }, { 20, 13, 0, 16, 0, 0 }, { 22, 13, 0, 16, 0, 0 }, + { 24, 13, 0, 16, 0, 0 }, { 26, 13, 0, 16, 0, 0 }, { 27, 13, 0, 16, 0, 0 }, { 28, 12, 0, 16, 0, 0 }, { 29, 12, 0, 16, 0, 0 }, + { 30, 12, 0, 16, 0, 0 }, { 31, 12, 0, 16, 0, 0 }, { 32, 12, 0, 16, 0, 0 }, { 33, 12, 0, 16, 0, 0 }, { 32, 12, 0, 16, 0, 0 }, + { 31, 12, 0, 16, 0, 0 }, { 30, 12, 0, 16, 0, 0 }, { 29, 12, 0, 16, 0, 0 }, { 28, 12, 0, 16, 0, 0 }, { 27, 12, 0, 16, 0, 0 }, + { 26, 12, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 23, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, + { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 17, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, + { 28, 11, 0, 16, 0, 0 }, { 31, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 37, 11, 0, 16, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, + { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, + { 59, 22, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 56, 25, 0, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, { 54, 27, 1, 16, 0, 0 }, + { 53, 28, 1, 16, 0, 0 }, { 52, 29, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, { 50, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, + { 48, 29, 1, 16, 0, 0 }, { 48, 29, 1, 16, 0, 0 }, { 48, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, { 50, 29, 1, 16, 0, 0 }, + { 51, 29, 1, 16, 0, 0 }, { 52, 29, 1, 16, 0, 0 }, { 53, 28, 1, 16, 0, 0 }, { 54, 27, 1, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, + { 56, 25, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 59, 22, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, + { 56, 16, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 46, 11, 0, 16, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, { 39, 11, 0, 16, 0, 0 }, + { 38, 11, 0, 16, 0, 0 }, { 37, 11, 0, 16, 0, 0 }, { 36, 11, 0, 16, 0, 0 }, { 35, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, + { 33, 11, 0, 16, 0, 0 }, { 32, 11, 0, 16, 0, 0 }, { 31, 11, 0, 16, 0, 0 }, { 30, 11, 0, 16, 0, 0 }, { 29, 11, 0, 16, 0, 0 }, + { 28, 11, 0, 16, 0, 0 }, { 27, 11, 0, 16, 0, 0 }, { 26, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, + { 23, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, + { 18, 11, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 17, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, + { 22, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 28, 11, 0, 16, 0, 0 }, { 31, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, + { 37, 11, 0, 16, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, + { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, + { 57, 18, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, { 59, 22, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, + { 53, 28, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, { 47, 28, 2, 16, 0, 0 }, { 45, 28, 2, 16, 0, 0 }, + { 45, 26, 2, 16, 0, 0 }, { 44, 24, 2, 16, 0, 0 }, { 43, 22, 3, 16, 0, 0 }, { 43, 20, 3, 16, 0, 0 }, { 42, 18, 3, 16, 0, 0 }, + { 43, 16, 3, 16, 0, 0 }, { 43, 14, 3, 16, 0, 0 }, { 43, 12, 3, 16, 0, 0 }, { 44, 10, 3, 16, 0, 0 }, { 44, 8, 3, 16, 0, 0 }, + { 44, 6, 3, 16, 0, 0 }, { 45, 4, 3, 16, 0, 0 }, { 45, 2, 3, 16, 0, 0 }, { 45, 1, 3, 16, 0, 0 }, { 45, 0, 3, 16, 0, 0 }, + { 46, -1, 3, 16, 0, 0 }, { 46, -2, 3, 16, 0, 0 }, { 46, -3, 3, 16, 0, 0 }, { 46, -4, 3, 16, 0, 0 }, { 46, -5, 3, 16, 0, 0 }, + { 46, -7, 0, 16, 0, 0 }, { 47, -9, 0, 16, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 47, -11, 0, 16, 0, 0 }, { 47, -12, 0, 16, 0, 0 }, { 47, -13, 0, 16, 0, 0 }, { 47, -14, 0, 16, 0, 0 }, { 48, -15, 0, 16, 0, 0 }, + { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { 48, -18, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { 48, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94D475 = { - 184, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 14, 21, 0, 24, 0, 0 }, { 14, 19, 0, 24, 0, 0 }, - { 14, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 13, 0, 24, 0, 0 }, { 13, 11, 0, 24, 0, 0 }, { 13, 9, 0, 24, 0, 0 }, - { 13, 7, 0, 24, 0, 0 }, { 13, 5, 0, 24, 0, 0 }, { 13, 4, 0, 24, 0, 0 }, { 12, 3, 0, 24, 0, 0 }, { 12, 2, 0, 24, 0, 0 }, - { 12, 1, 0, 24, 0, 0 }, { 12, 0, 0, 24, 0, 0 }, { 12, -1, 0, 24, 0, 0 }, { 12, -2, 0, 24, 0, 0 }, { 12, -1, 0, 24, 0, 0 }, - { 12, 0, 0, 24, 0, 0 }, { 12, 1, 0, 24, 0, 0 }, { 12, 2, 0, 24, 0, 0 }, { 12, 3, 0, 24, 0, 0 }, { 12, 4, 0, 24, 0, 0 }, - { 12, 5, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 8, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, - { 11, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 14, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, - { 11, 3, 0, 24, 0, 0 }, { 11, 0, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 11, -6, 0, 24, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, - { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, - { 22, -28, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 25, -25, 0, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, { 27, -23, 1, 24, 0, 0 }, - { 28, -22, 1, 24, 0, 0 }, { 29, -21, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, { 29, -19, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, - { 29, -17, 1, 24, 0, 0 }, { 29, -17, 1, 24, 0, 0 }, { 29, -17, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, { 29, -19, 1, 24, 0, 0 }, - { 29, -20, 1, 24, 0, 0 }, { 29, -21, 1, 24, 0, 0 }, { 28, -22, 1, 24, 0, 0 }, { 27, -23, 1, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, - { 25, -25, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 22, -28, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, - { 16, -25, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 11, -15, 0, 24, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, { 11, -8, 0, 24, 0, 0 }, - { 11, -7, 0, 24, 0, 0 }, { 11, -6, 0, 24, 0, 0 }, { 11, -5, 0, 24, 0, 0 }, { 11, -4, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, - { 11, -2, 0, 24, 0, 0 }, { 11, -1, 0, 24, 0, 0 }, { 11, 0, 0, 24, 0, 0 }, { 11, 1, 0, 24, 0, 0 }, { 11, 2, 0, 24, 0, 0 }, - { 11, 3, 0, 24, 0, 0 }, { 11, 4, 0, 24, 0, 0 }, { 11, 5, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, - { 11, 8, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, - { 11, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 11, 14, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, - { 11, 9, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 3, 0, 24, 0, 0 }, { 11, 0, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, - { 11, -6, 0, 24, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, - { 18, -26, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, { 22, -28, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, - { 28, -22, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, { 28, -16, 2, 24, 0, 0 }, { 28, -14, 2, 24, 0, 0 }, - { 26, -14, 2, 24, 0, 0 }, { 24, -13, 2, 24, 0, 0 }, { 22, -12, 3, 24, 0, 0 }, { 20, -12, 3, 24, 0, 0 }, { 18, -11, 3, 24, 0, 0 }, - { 16, -12, 3, 24, 0, 0 }, { 14, -12, 3, 24, 0, 0 }, { 12, -12, 3, 24, 0, 0 }, { 10, -13, 3, 24, 0, 0 }, { 8, -13, 3, 24, 0, 0 }, - { 6, -13, 3, 24, 0, 0 }, { 4, -14, 3, 24, 0, 0 }, { 2, -14, 3, 24, 0, 0 }, { 1, -14, 3, 24, 0, 0 }, { 0, -14, 3, 24, 0, 0 }, - { -1, -15, 3, 24, 0, 0 }, { -2, -15, 3, 24, 0, 0 }, { -3, -15, 3, 24, 0, 0 }, { -4, -15, 3, 24, 0, 0 }, { -5, -15, 3, 24, 0, 0 }, - { -7, -15, 0, 24, 0, 0 }, { -9, -16, 0, 24, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -11, -16, 0, 24, 0, 0 }, { -12, -16, 0, 24, 0, 0 }, { -13, -16, 0, 24, 0, 0 }, { -14, -16, 0, 24, 0, 0 }, { -15, -17, 0, 24, 0, 0 }, - { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -18, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -29, -17, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, + 184, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 14, 21, 0, 24, 0, 0 }, { 14, 19, 0, 24, 0, 0 }, + { 14, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 13, 0, 24, 0, 0 }, { 13, 11, 0, 24, 0, 0 }, { 13, 9, 0, 24, 0, 0 }, + { 13, 7, 0, 24, 0, 0 }, { 13, 5, 0, 24, 0, 0 }, { 13, 4, 0, 24, 0, 0 }, { 12, 3, 0, 24, 0, 0 }, { 12, 2, 0, 24, 0, 0 }, + { 12, 1, 0, 24, 0, 0 }, { 12, 0, 0, 24, 0, 0 }, { 12, -1, 0, 24, 0, 0 }, { 12, -2, 0, 24, 0, 0 }, { 12, -1, 0, 24, 0, 0 }, + { 12, 0, 0, 24, 0, 0 }, { 12, 1, 0, 24, 0, 0 }, { 12, 2, 0, 24, 0, 0 }, { 12, 3, 0, 24, 0, 0 }, { 12, 4, 0, 24, 0, 0 }, + { 12, 5, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 8, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, + { 11, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 11, 14, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, + { 11, 3, 0, 24, 0, 0 }, { 11, 0, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 11, -6, 0, 24, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, + { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, + { 22, -28, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 25, -25, 0, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, { 27, -23, 1, 24, 0, 0 }, + { 28, -22, 1, 24, 0, 0 }, { 29, -21, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, { 29, -19, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, + { 29, -17, 1, 24, 0, 0 }, { 29, -17, 1, 24, 0, 0 }, { 29, -17, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, { 29, -19, 1, 24, 0, 0 }, + { 29, -20, 1, 24, 0, 0 }, { 29, -21, 1, 24, 0, 0 }, { 28, -22, 1, 24, 0, 0 }, { 27, -23, 1, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, + { 25, -25, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 22, -28, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, + { 16, -25, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 11, -15, 0, 24, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, { 11, -8, 0, 24, 0, 0 }, + { 11, -7, 0, 24, 0, 0 }, { 11, -6, 0, 24, 0, 0 }, { 11, -5, 0, 24, 0, 0 }, { 11, -4, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, + { 11, -2, 0, 24, 0, 0 }, { 11, -1, 0, 24, 0, 0 }, { 11, 0, 0, 24, 0, 0 }, { 11, 1, 0, 24, 0, 0 }, { 11, 2, 0, 24, 0, 0 }, + { 11, 3, 0, 24, 0, 0 }, { 11, 4, 0, 24, 0, 0 }, { 11, 5, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, + { 11, 8, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, + { 11, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 11, 14, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, + { 11, 9, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 3, 0, 24, 0, 0 }, { 11, 0, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, + { 11, -6, 0, 24, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, + { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, + { 18, -26, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, { 22, -28, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, + { 28, -22, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, { 28, -16, 2, 24, 0, 0 }, { 28, -14, 2, 24, 0, 0 }, + { 26, -14, 2, 24, 0, 0 }, { 24, -13, 2, 24, 0, 0 }, { 22, -12, 3, 24, 0, 0 }, { 20, -12, 3, 24, 0, 0 }, { 18, -11, 3, 24, 0, 0 }, + { 16, -12, 3, 24, 0, 0 }, { 14, -12, 3, 24, 0, 0 }, { 12, -12, 3, 24, 0, 0 }, { 10, -13, 3, 24, 0, 0 }, { 8, -13, 3, 24, 0, 0 }, + { 6, -13, 3, 24, 0, 0 }, { 4, -14, 3, 24, 0, 0 }, { 2, -14, 3, 24, 0, 0 }, { 1, -14, 3, 24, 0, 0 }, { 0, -14, 3, 24, 0, 0 }, + { -1, -15, 3, 24, 0, 0 }, { -2, -15, 3, 24, 0, 0 }, { -3, -15, 3, 24, 0, 0 }, { -4, -15, 3, 24, 0, 0 }, { -5, -15, 3, 24, 0, 0 }, + { -7, -15, 0, 24, 0, 0 }, { -9, -16, 0, 24, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -11, -16, 0, 24, 0, 0 }, { -12, -16, 0, 24, 0, 0 }, { -13, -16, 0, 24, 0, 0 }, { -14, -16, 0, 24, 0, 0 }, { -15, -17, 0, 24, 0, 0 }, + { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -18, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -29, -17, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94649A = { - 184, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, - { 17, 15, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 14, 0, 0, 0, 0 }, { 11, 14, 0, 0, 0, 0 }, { 9, 14, 0, 0, 0, 0 }, - { 7, 14, 0, 0, 0, 0 }, { 5, 14, 0, 0, 0, 0 }, { 4, 14, 0, 0, 0, 0 }, { 3, 13, 0, 0, 0, 0 }, { 2, 13, 0, 0, 0, 0 }, - { 1, 13, 0, 0, 0, 0 }, { 0, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, { -2, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, - { 0, 13, 0, 0, 0, 0 }, { 1, 13, 0, 0, 0, 0 }, { 2, 13, 0, 0, 0, 0 }, { 3, 13, 0, 0, 0, 0 }, { 4, 13, 0, 0, 0, 0 }, - { 5, 13, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 8, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, - { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 14, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, - { 3, 12, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -6, 12, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, - { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, - { -28, 23, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -25, 26, 0, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, { -23, 28, 1, 0, 0, 0 }, - { -22, 29, 1, 0, 0, 0 }, { -21, 30, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, { -19, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, - { -17, 30, 1, 0, 0, 0 }, { -17, 30, 1, 0, 0, 0 }, { -17, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, { -19, 30, 1, 0, 0, 0 }, - { -20, 30, 1, 0, 0, 0 }, { -21, 30, 1, 0, 0, 0 }, { -22, 29, 1, 0, 0, 0 }, { -23, 28, 1, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, - { -25, 26, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -28, 23, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, - { -25, 17, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -15, 12, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, { -8, 12, 0, 0, 0, 0 }, - { -7, 12, 0, 0, 0, 0 }, { -6, 12, 0, 0, 0, 0 }, { -5, 12, 0, 0, 0, 0 }, { -4, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, - { -2, 12, 0, 0, 0, 0 }, { -1, 12, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { 1, 12, 0, 0, 0, 0 }, { 2, 12, 0, 0, 0, 0 }, - { 3, 12, 0, 0, 0, 0 }, { 4, 12, 0, 0, 0, 0 }, { 5, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, - { 8, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, - { 13, 12, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 14, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, - { 9, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 3, 12, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, - { -6, 12, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, - { -26, 19, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, { -28, 23, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, - { -22, 29, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, { -16, 30, 2, 0, 0, 0 }, { -14, 29, 2, 0, 0, 0 }, - { -14, 27, 2, 0, 0, 0 }, { -13, 25, 2, 0, 0, 0 }, { -12, 23, 3, 0, 0, 0 }, { -12, 21, 3, 0, 0, 0 }, { -11, 19, 3, 0, 0, 0 }, - { -12, 17, 3, 0, 0, 0 }, { -12, 15, 3, 0, 0, 0 }, { -12, 13, 3, 0, 0, 0 }, { -13, 11, 3, 0, 0, 0 }, { -13, 9, 3, 0, 0, 0 }, - { -13, 7, 3, 0, 0, 0 }, { -14, 5, 3, 0, 0, 0 }, { -14, 3, 3, 0, 0, 0 }, { -14, 2, 3, 0, 0, 0 }, { -14, 1, 3, 0, 0, 0 }, - { -15, 0, 3, 0, 0, 0 }, { -15, -1, 3, 0, 0, 0 }, { -15, -2, 3, 0, 0, 0 }, { -15, -3, 3, 0, 0, 0 }, { -15, -4, 3, 0, 0, 0 }, - { -15, -6, 0, 0, 0, 0 }, { -16, -8, 0, 0, 0, 0 }, { -16, -9, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -16, -10, 0, 0, 0, 0 }, { -16, -11, 0, 0, 0, 0 }, { -16, -12, 0, 0, 0, 0 }, { -16, -13, 0, 0, 0, 0 }, { -17, -14, 0, 0, 0, 0 }, - { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -17, -28, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, + 184, { + { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, + { 17, 15, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 14, 0, 0, 0, 0 }, { 11, 14, 0, 0, 0, 0 }, { 9, 14, 0, 0, 0, 0 }, + { 7, 14, 0, 0, 0, 0 }, { 5, 14, 0, 0, 0, 0 }, { 4, 14, 0, 0, 0, 0 }, { 3, 13, 0, 0, 0, 0 }, { 2, 13, 0, 0, 0, 0 }, + { 1, 13, 0, 0, 0, 0 }, { 0, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, { -2, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, + { 0, 13, 0, 0, 0, 0 }, { 1, 13, 0, 0, 0, 0 }, { 2, 13, 0, 0, 0, 0 }, { 3, 13, 0, 0, 0, 0 }, { 4, 13, 0, 0, 0, 0 }, + { 5, 13, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 8, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, + { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 14, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, + { 3, 12, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -6, 12, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, + { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, + { -28, 23, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -25, 26, 0, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, { -23, 28, 1, 0, 0, 0 }, + { -22, 29, 1, 0, 0, 0 }, { -21, 30, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, { -19, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, + { -17, 30, 1, 0, 0, 0 }, { -17, 30, 1, 0, 0, 0 }, { -17, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, { -19, 30, 1, 0, 0, 0 }, + { -20, 30, 1, 0, 0, 0 }, { -21, 30, 1, 0, 0, 0 }, { -22, 29, 1, 0, 0, 0 }, { -23, 28, 1, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, + { -25, 26, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -28, 23, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, + { -25, 17, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { -15, 12, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, { -8, 12, 0, 0, 0, 0 }, + { -7, 12, 0, 0, 0, 0 }, { -6, 12, 0, 0, 0, 0 }, { -5, 12, 0, 0, 0, 0 }, { -4, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, + { -2, 12, 0, 0, 0, 0 }, { -1, 12, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { 1, 12, 0, 0, 0, 0 }, { 2, 12, 0, 0, 0, 0 }, + { 3, 12, 0, 0, 0, 0 }, { 4, 12, 0, 0, 0, 0 }, { 5, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, + { 8, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, + { 13, 12, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 14, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, + { 9, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 3, 12, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, + { -6, 12, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, + { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, + { -26, 19, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, { -28, 23, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, + { -22, 29, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, { -16, 30, 2, 0, 0, 0 }, { -14, 29, 2, 0, 0, 0 }, + { -14, 27, 2, 0, 0, 0 }, { -13, 25, 2, 0, 0, 0 }, { -12, 23, 3, 0, 0, 0 }, { -12, 21, 3, 0, 0, 0 }, { -11, 19, 3, 0, 0, 0 }, + { -12, 17, 3, 0, 0, 0 }, { -12, 15, 3, 0, 0, 0 }, { -12, 13, 3, 0, 0, 0 }, { -13, 11, 3, 0, 0, 0 }, { -13, 9, 3, 0, 0, 0 }, + { -13, 7, 3, 0, 0, 0 }, { -14, 5, 3, 0, 0, 0 }, { -14, 3, 3, 0, 0, 0 }, { -14, 2, 3, 0, 0, 0 }, { -14, 1, 3, 0, 0, 0 }, + { -15, 0, 3, 0, 0, 0 }, { -15, -1, 3, 0, 0, 0 }, { -15, -2, 3, 0, 0, 0 }, { -15, -3, 3, 0, 0, 0 }, { -15, -4, 3, 0, 0, 0 }, + { -15, -6, 0, 0, 0, 0 }, { -16, -8, 0, 0, 0, 0 }, { -16, -9, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -16, -10, 0, 0, 0, 0 }, { -16, -11, 0, 0, 0, 0 }, { -16, -12, 0, 0, 0, 0 }, { -16, -13, 0, 0, 0, 0 }, { -17, -14, 0, 0, 0, 0 }, + { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -17, -28, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_949158 = { - 184, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, - { 15, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 18, 0, 8, 0, 0 }, { 14, 20, 0, 8, 0, 0 }, { 14, 22, 0, 8, 0, 0 }, - { 14, 24, 0, 8, 0, 0 }, { 14, 26, 0, 8, 0, 0 }, { 14, 27, 0, 8, 0, 0 }, { 13, 28, 0, 8, 0, 0 }, { 13, 29, 0, 8, 0, 0 }, - { 13, 30, 0, 8, 0, 0 }, { 13, 31, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, { 13, 33, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, - { 13, 31, 0, 8, 0, 0 }, { 13, 30, 0, 8, 0, 0 }, { 13, 29, 0, 8, 0, 0 }, { 13, 28, 0, 8, 0, 0 }, { 13, 27, 0, 8, 0, 0 }, - { 13, 26, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 23, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, - { 12, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 12, 17, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, - { 12, 28, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 12, 37, 0, 8, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, - { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, - { 23, 59, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 26, 56, 0, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, { 28, 54, 1, 8, 0, 0 }, - { 29, 53, 1, 8, 0, 0 }, { 30, 52, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, { 30, 50, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, - { 30, 48, 1, 8, 0, 0 }, { 30, 48, 1, 8, 0, 0 }, { 30, 48, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, { 30, 50, 1, 8, 0, 0 }, - { 30, 51, 1, 8, 0, 0 }, { 30, 52, 1, 8, 0, 0 }, { 29, 53, 1, 8, 0, 0 }, { 28, 54, 1, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, - { 26, 56, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 23, 59, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, - { 17, 56, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 12, 46, 0, 8, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, { 12, 39, 0, 8, 0, 0 }, - { 12, 38, 0, 8, 0, 0 }, { 12, 37, 0, 8, 0, 0 }, { 12, 36, 0, 8, 0, 0 }, { 12, 35, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, - { 12, 33, 0, 8, 0, 0 }, { 12, 32, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 12, 30, 0, 8, 0, 0 }, { 12, 29, 0, 8, 0, 0 }, - { 12, 28, 0, 8, 0, 0 }, { 12, 27, 0, 8, 0, 0 }, { 12, 26, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, - { 12, 23, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, - { 12, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 17, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, - { 12, 22, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 28, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, - { 12, 37, 0, 8, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, - { 19, 57, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, { 23, 59, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, - { 29, 53, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, { 30, 47, 2, 8, 0, 0 }, { 29, 45, 2, 8, 0, 0 }, - { 27, 45, 2, 8, 0, 0 }, { 25, 44, 2, 8, 0, 0 }, { 23, 43, 3, 8, 0, 0 }, { 21, 43, 3, 8, 0, 0 }, { 19, 42, 3, 8, 0, 0 }, - { 17, 43, 3, 8, 0, 0 }, { 15, 43, 3, 8, 0, 0 }, { 13, 43, 3, 8, 0, 0 }, { 11, 44, 3, 8, 0, 0 }, { 9, 44, 3, 8, 0, 0 }, - { 7, 44, 3, 8, 0, 0 }, { 5, 45, 3, 8, 0, 0 }, { 3, 45, 3, 8, 0, 0 }, { 2, 45, 3, 8, 0, 0 }, { 1, 45, 3, 8, 0, 0 }, - { 0, 46, 3, 8, 0, 0 }, { -1, 46, 3, 8, 0, 0 }, { -2, 46, 3, 8, 0, 0 }, { -3, 46, 3, 8, 0, 0 }, { -4, 46, 3, 8, 0, 0 }, - { -6, 46, 0, 8, 0, 0 }, { -8, 47, 0, 8, 0, 0 }, { -9, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -10, 47, 0, 8, 0, 0 }, { -11, 47, 0, 8, 0, 0 }, { -12, 47, 0, 8, 0, 0 }, { -13, 47, 0, 8, 0, 0 }, { -14, 48, 0, 8, 0, 0 }, - { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -28, 48, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, + 184, { + { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, + { 15, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 18, 0, 8, 0, 0 }, { 14, 20, 0, 8, 0, 0 }, { 14, 22, 0, 8, 0, 0 }, + { 14, 24, 0, 8, 0, 0 }, { 14, 26, 0, 8, 0, 0 }, { 14, 27, 0, 8, 0, 0 }, { 13, 28, 0, 8, 0, 0 }, { 13, 29, 0, 8, 0, 0 }, + { 13, 30, 0, 8, 0, 0 }, { 13, 31, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, { 13, 33, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, + { 13, 31, 0, 8, 0, 0 }, { 13, 30, 0, 8, 0, 0 }, { 13, 29, 0, 8, 0, 0 }, { 13, 28, 0, 8, 0, 0 }, { 13, 27, 0, 8, 0, 0 }, + { 13, 26, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 23, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, + { 12, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 12, 17, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, + { 12, 28, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 12, 37, 0, 8, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, + { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, + { 23, 59, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 26, 56, 0, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, { 28, 54, 1, 8, 0, 0 }, + { 29, 53, 1, 8, 0, 0 }, { 30, 52, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, { 30, 50, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, + { 30, 48, 1, 8, 0, 0 }, { 30, 48, 1, 8, 0, 0 }, { 30, 48, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, { 30, 50, 1, 8, 0, 0 }, + { 30, 51, 1, 8, 0, 0 }, { 30, 52, 1, 8, 0, 0 }, { 29, 53, 1, 8, 0, 0 }, { 28, 54, 1, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, + { 26, 56, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 23, 59, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, + { 17, 56, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 12, 46, 0, 8, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, { 12, 39, 0, 8, 0, 0 }, + { 12, 38, 0, 8, 0, 0 }, { 12, 37, 0, 8, 0, 0 }, { 12, 36, 0, 8, 0, 0 }, { 12, 35, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, + { 12, 33, 0, 8, 0, 0 }, { 12, 32, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 12, 30, 0, 8, 0, 0 }, { 12, 29, 0, 8, 0, 0 }, + { 12, 28, 0, 8, 0, 0 }, { 12, 27, 0, 8, 0, 0 }, { 12, 26, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, + { 12, 23, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, + { 12, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 17, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, + { 12, 22, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 28, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, + { 12, 37, 0, 8, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, + { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, + { 19, 57, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, { 23, 59, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, + { 29, 53, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, { 30, 47, 2, 8, 0, 0 }, { 29, 45, 2, 8, 0, 0 }, + { 27, 45, 2, 8, 0, 0 }, { 25, 44, 2, 8, 0, 0 }, { 23, 43, 3, 8, 0, 0 }, { 21, 43, 3, 8, 0, 0 }, { 19, 42, 3, 8, 0, 0 }, + { 17, 43, 3, 8, 0, 0 }, { 15, 43, 3, 8, 0, 0 }, { 13, 43, 3, 8, 0, 0 }, { 11, 44, 3, 8, 0, 0 }, { 9, 44, 3, 8, 0, 0 }, + { 7, 44, 3, 8, 0, 0 }, { 5, 45, 3, 8, 0, 0 }, { 3, 45, 3, 8, 0, 0 }, { 2, 45, 3, 8, 0, 0 }, { 1, 45, 3, 8, 0, 0 }, + { 0, 46, 3, 8, 0, 0 }, { -1, 46, 3, 8, 0, 0 }, { -2, 46, 3, 8, 0, 0 }, { -3, 46, 3, 8, 0, 0 }, { -4, 46, 3, 8, 0, 0 }, + { -6, 46, 0, 8, 0, 0 }, { -8, 47, 0, 8, 0, 0 }, { -9, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -10, 47, 0, 8, 0, 0 }, { -11, 47, 0, 8, 0, 0 }, { -12, 47, 0, 8, 0, 0 }, { -13, 47, 0, 8, 0, 0 }, { -14, 48, 0, 8, 0, 0 }, + { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -28, 48, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94BE16 = { - 184, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, - { 14, 16, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 17, 0, 16, 0, 0 }, { 20, 17, 0, 16, 0, 0 }, { 22, 17, 0, 16, 0, 0 }, - { 24, 17, 0, 16, 0, 0 }, { 26, 17, 0, 16, 0, 0 }, { 27, 17, 0, 16, 0, 0 }, { 28, 18, 0, 16, 0, 0 }, { 29, 18, 0, 16, 0, 0 }, - { 30, 18, 0, 16, 0, 0 }, { 31, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, { 33, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, - { 31, 18, 0, 16, 0, 0 }, { 30, 18, 0, 16, 0, 0 }, { 29, 18, 0, 16, 0, 0 }, { 28, 18, 0, 16, 0, 0 }, { 27, 18, 0, 16, 0, 0 }, - { 26, 18, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 23, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, - { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 17, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, - { 28, 19, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 37, 19, 0, 16, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, - { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, - { 59, 8, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 56, 5, 0, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, { 54, 3, 1, 16, 0, 0 }, - { 53, 2, 1, 16, 0, 0 }, { 52, 1, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, { 50, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, - { 48, 1, 1, 16, 0, 0 }, { 48, 1, 1, 16, 0, 0 }, { 48, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, { 50, 1, 1, 16, 0, 0 }, - { 51, 1, 1, 16, 0, 0 }, { 52, 1, 1, 16, 0, 0 }, { 53, 2, 1, 16, 0, 0 }, { 54, 3, 1, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, - { 56, 5, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 59, 8, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, - { 56, 14, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 46, 19, 0, 16, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, { 39, 19, 0, 16, 0, 0 }, - { 38, 19, 0, 16, 0, 0 }, { 37, 19, 0, 16, 0, 0 }, { 36, 19, 0, 16, 0, 0 }, { 35, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, - { 33, 19, 0, 16, 0, 0 }, { 32, 19, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 30, 19, 0, 16, 0, 0 }, { 29, 19, 0, 16, 0, 0 }, - { 28, 19, 0, 16, 0, 0 }, { 27, 19, 0, 16, 0, 0 }, { 26, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, - { 23, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, - { 18, 19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 17, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, - { 22, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 28, 19, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, - { 37, 19, 0, 16, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, - { 57, 12, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, { 59, 8, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, - { 53, 2, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, { 47, 1, 2, 16, 0, 0 }, { 45, 2, 2, 16, 0, 0 }, - { 45, 4, 2, 16, 0, 0 }, { 44, 6, 2, 16, 0, 0 }, { 43, 8, 3, 16, 0, 0 }, { 43, 10, 3, 16, 0, 0 }, { 42, 12, 3, 16, 0, 0 }, - { 43, 14, 3, 16, 0, 0 }, { 43, 16, 3, 16, 0, 0 }, { 43, 18, 3, 16, 0, 0 }, { 44, 20, 3, 16, 0, 0 }, { 44, 22, 3, 16, 0, 0 }, - { 44, 24, 3, 16, 0, 0 }, { 45, 26, 3, 16, 0, 0 }, { 45, 28, 3, 16, 0, 0 }, { 45, 29, 3, 16, 0, 0 }, { 45, 30, 3, 16, 0, 0 }, - { 46, 31, 3, 16, 0, 0 }, { 46, 32, 3, 16, 0, 0 }, { 46, 33, 3, 16, 0, 0 }, { 46, 34, 3, 16, 0, 0 }, { 46, 35, 3, 16, 0, 0 }, - { 46, 37, 0, 16, 0, 0 }, { 47, 39, 0, 16, 0, 0 }, { 47, 40, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 47, 41, 0, 16, 0, 0 }, { 47, 42, 0, 16, 0, 0 }, { 47, 43, 0, 16, 0, 0 }, { 47, 44, 0, 16, 0, 0 }, { 48, 45, 0, 16, 0, 0 }, - { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 48, 59, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, + 184, { + { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, + { 14, 16, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 17, 0, 16, 0, 0 }, { 20, 17, 0, 16, 0, 0 }, { 22, 17, 0, 16, 0, 0 }, + { 24, 17, 0, 16, 0, 0 }, { 26, 17, 0, 16, 0, 0 }, { 27, 17, 0, 16, 0, 0 }, { 28, 18, 0, 16, 0, 0 }, { 29, 18, 0, 16, 0, 0 }, + { 30, 18, 0, 16, 0, 0 }, { 31, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, { 33, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, + { 31, 18, 0, 16, 0, 0 }, { 30, 18, 0, 16, 0, 0 }, { 29, 18, 0, 16, 0, 0 }, { 28, 18, 0, 16, 0, 0 }, { 27, 18, 0, 16, 0, 0 }, + { 26, 18, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 23, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, + { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 17, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, + { 28, 19, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 37, 19, 0, 16, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, + { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, + { 59, 8, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 56, 5, 0, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, { 54, 3, 1, 16, 0, 0 }, + { 53, 2, 1, 16, 0, 0 }, { 52, 1, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, { 50, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, + { 48, 1, 1, 16, 0, 0 }, { 48, 1, 1, 16, 0, 0 }, { 48, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, { 50, 1, 1, 16, 0, 0 }, + { 51, 1, 1, 16, 0, 0 }, { 52, 1, 1, 16, 0, 0 }, { 53, 2, 1, 16, 0, 0 }, { 54, 3, 1, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, + { 56, 5, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 59, 8, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, + { 56, 14, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 46, 19, 0, 16, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, { 39, 19, 0, 16, 0, 0 }, + { 38, 19, 0, 16, 0, 0 }, { 37, 19, 0, 16, 0, 0 }, { 36, 19, 0, 16, 0, 0 }, { 35, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, + { 33, 19, 0, 16, 0, 0 }, { 32, 19, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 30, 19, 0, 16, 0, 0 }, { 29, 19, 0, 16, 0, 0 }, + { 28, 19, 0, 16, 0, 0 }, { 27, 19, 0, 16, 0, 0 }, { 26, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, + { 23, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, + { 18, 19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 17, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, + { 22, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 28, 19, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, + { 37, 19, 0, 16, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, + { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, + { 57, 12, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, { 59, 8, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, + { 53, 2, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, { 47, 1, 2, 16, 0, 0 }, { 45, 2, 2, 16, 0, 0 }, + { 45, 4, 2, 16, 0, 0 }, { 44, 6, 2, 16, 0, 0 }, { 43, 8, 3, 16, 0, 0 }, { 43, 10, 3, 16, 0, 0 }, { 42, 12, 3, 16, 0, 0 }, + { 43, 14, 3, 16, 0, 0 }, { 43, 16, 3, 16, 0, 0 }, { 43, 18, 3, 16, 0, 0 }, { 44, 20, 3, 16, 0, 0 }, { 44, 22, 3, 16, 0, 0 }, + { 44, 24, 3, 16, 0, 0 }, { 45, 26, 3, 16, 0, 0 }, { 45, 28, 3, 16, 0, 0 }, { 45, 29, 3, 16, 0, 0 }, { 45, 30, 3, 16, 0, 0 }, + { 46, 31, 3, 16, 0, 0 }, { 46, 32, 3, 16, 0, 0 }, { 46, 33, 3, 16, 0, 0 }, { 46, 34, 3, 16, 0, 0 }, { 46, 35, 3, 16, 0, 0 }, + { 46, 37, 0, 16, 0, 0 }, { 47, 39, 0, 16, 0, 0 }, { 47, 40, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 47, 41, 0, 16, 0, 0 }, { 47, 42, 0, 16, 0, 0 }, { 47, 43, 0, 16, 0, 0 }, { 47, 44, 0, 16, 0, 0 }, { 48, 45, 0, 16, 0, 0 }, + { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { 48, 59, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_94EAD4 = { - 184, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, - { 16, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 13, 0, 24, 0, 0 }, { 17, 11, 0, 24, 0, 0 }, { 17, 9, 0, 24, 0, 0 }, - { 17, 7, 0, 24, 0, 0 }, { 17, 5, 0, 24, 0, 0 }, { 17, 4, 0, 24, 0, 0 }, { 18, 3, 0, 24, 0, 0 }, { 18, 2, 0, 24, 0, 0 }, - { 18, 1, 0, 24, 0, 0 }, { 18, 0, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, { 18, -2, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, - { 18, 0, 0, 24, 0, 0 }, { 18, 1, 0, 24, 0, 0 }, { 18, 2, 0, 24, 0, 0 }, { 18, 3, 0, 24, 0, 0 }, { 18, 4, 0, 24, 0, 0 }, - { 18, 5, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 8, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, - { 19, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 19, 14, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, - { 19, 3, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 19, -6, 0, 24, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, - { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, - { 8, -28, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 5, -25, 0, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, { 3, -23, 1, 24, 0, 0 }, - { 2, -22, 1, 24, 0, 0 }, { 1, -21, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, { 1, -19, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, - { 1, -17, 1, 24, 0, 0 }, { 1, -17, 1, 24, 0, 0 }, { 1, -17, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, { 1, -19, 1, 24, 0, 0 }, - { 1, -20, 1, 24, 0, 0 }, { 1, -21, 1, 24, 0, 0 }, { 2, -22, 1, 24, 0, 0 }, { 3, -23, 1, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, - { 5, -25, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 8, -28, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, - { 14, -25, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 19, -15, 0, 24, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, { 19, -8, 0, 24, 0, 0 }, - { 19, -7, 0, 24, 0, 0 }, { 19, -6, 0, 24, 0, 0 }, { 19, -5, 0, 24, 0, 0 }, { 19, -4, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, - { 19, -2, 0, 24, 0, 0 }, { 19, -1, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 19, 1, 0, 24, 0, 0 }, { 19, 2, 0, 24, 0, 0 }, - { 19, 3, 0, 24, 0, 0 }, { 19, 4, 0, 24, 0, 0 }, { 19, 5, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, - { 19, 8, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, - { 19, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, 14, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, - { 19, 9, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 3, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, - { 19, -6, 0, 24, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, - { 12, -26, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, { 8, -28, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, - { 2, -22, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, { 1, -16, 2, 24, 0, 0 }, { 2, -14, 2, 24, 0, 0 }, - { 4, -14, 2, 24, 0, 0 }, { 6, -13, 2, 24, 0, 0 }, { 8, -12, 3, 24, 0, 0 }, { 10, -12, 3, 24, 0, 0 }, { 12, -11, 3, 24, 0, 0 }, - { 14, -12, 3, 24, 0, 0 }, { 16, -12, 3, 24, 0, 0 }, { 18, -12, 3, 24, 0, 0 }, { 20, -13, 3, 24, 0, 0 }, { 22, -13, 3, 24, 0, 0 }, - { 24, -13, 3, 24, 0, 0 }, { 26, -14, 3, 24, 0, 0 }, { 28, -14, 3, 24, 0, 0 }, { 29, -14, 3, 24, 0, 0 }, { 30, -14, 3, 24, 0, 0 }, - { 31, -15, 3, 24, 0, 0 }, { 32, -15, 3, 24, 0, 0 }, { 33, -15, 3, 24, 0, 0 }, { 34, -15, 3, 24, 0, 0 }, { 35, -15, 3, 24, 0, 0 }, - { 37, -15, 0, 24, 0, 0 }, { 39, -16, 0, 24, 0, 0 }, { 40, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 41, -16, 0, 24, 0, 0 }, { 42, -16, 0, 24, 0, 0 }, { 43, -16, 0, 24, 0, 0 }, { 44, -16, 0, 24, 0, 0 }, { 45, -17, 0, 24, 0, 0 }, - { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 59, -17, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, + 184, { + { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, + { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, + { 16, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 13, 0, 24, 0, 0 }, { 17, 11, 0, 24, 0, 0 }, { 17, 9, 0, 24, 0, 0 }, + { 17, 7, 0, 24, 0, 0 }, { 17, 5, 0, 24, 0, 0 }, { 17, 4, 0, 24, 0, 0 }, { 18, 3, 0, 24, 0, 0 }, { 18, 2, 0, 24, 0, 0 }, + { 18, 1, 0, 24, 0, 0 }, { 18, 0, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, { 18, -2, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, + { 18, 0, 0, 24, 0, 0 }, { 18, 1, 0, 24, 0, 0 }, { 18, 2, 0, 24, 0, 0 }, { 18, 3, 0, 24, 0, 0 }, { 18, 4, 0, 24, 0, 0 }, + { 18, 5, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 8, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, + { 19, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { -32768, 3, 0, 0, 0, 0 }, { 19, 14, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, + { 19, 3, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 19, -6, 0, 24, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, + { -32768, 4, 0, 0, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, + { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, + { 8, -28, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 5, -25, 0, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, { 3, -23, 1, 24, 0, 0 }, + { 2, -22, 1, 24, 0, 0 }, { 1, -21, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, { 1, -19, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, + { 1, -17, 1, 24, 0, 0 }, { 1, -17, 1, 24, 0, 0 }, { 1, -17, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, { 1, -19, 1, 24, 0, 0 }, + { 1, -20, 1, 24, 0, 0 }, { 1, -21, 1, 24, 0, 0 }, { 2, -22, 1, 24, 0, 0 }, { 3, -23, 1, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, + { 5, -25, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 8, -28, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, + { 14, -25, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + { 19, -15, 0, 24, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, { 19, -8, 0, 24, 0, 0 }, + { 19, -7, 0, 24, 0, 0 }, { 19, -6, 0, 24, 0, 0 }, { 19, -5, 0, 24, 0, 0 }, { 19, -4, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, + { 19, -2, 0, 24, 0, 0 }, { 19, -1, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 19, 1, 0, 24, 0, 0 }, { 19, 2, 0, 24, 0, 0 }, + { 19, 3, 0, 24, 0, 0 }, { 19, 4, 0, 24, 0, 0 }, { 19, 5, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, + { 19, 8, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, + { 19, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, 14, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, + { 19, 9, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 3, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, + { 19, -6, 0, 24, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, + { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, + { 12, -26, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, { 8, -28, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, + { 2, -22, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, { 1, -16, 2, 24, 0, 0 }, { 2, -14, 2, 24, 0, 0 }, + { 4, -14, 2, 24, 0, 0 }, { 6, -13, 2, 24, 0, 0 }, { 8, -12, 3, 24, 0, 0 }, { 10, -12, 3, 24, 0, 0 }, { 12, -11, 3, 24, 0, 0 }, + { 14, -12, 3, 24, 0, 0 }, { 16, -12, 3, 24, 0, 0 }, { 18, -12, 3, 24, 0, 0 }, { 20, -13, 3, 24, 0, 0 }, { 22, -13, 3, 24, 0, 0 }, + { 24, -13, 3, 24, 0, 0 }, { 26, -14, 3, 24, 0, 0 }, { 28, -14, 3, 24, 0, 0 }, { 29, -14, 3, 24, 0, 0 }, { 30, -14, 3, 24, 0, 0 }, + { 31, -15, 3, 24, 0, 0 }, { 32, -15, 3, 24, 0, 0 }, { 33, -15, 3, 24, 0, 0 }, { 34, -15, 3, 24, 0, 0 }, { 35, -15, 3, 24, 0, 0 }, + { 37, -15, 0, 24, 0, 0 }, { 39, -16, 0, 24, 0, 0 }, { 40, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 41, -16, 0, 24, 0, 0 }, { 42, -16, 0, 24, 0, 0 }, { 43, -16, 0, 24, 0, 0 }, { 44, -16, 0, 24, 0, 0 }, { 45, -17, 0, 24, 0, 0 }, + { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, + { 59, -17, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95275E = { - 96, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, - { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, - { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -2, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, - { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -8, 16, 0, 0, 0, 0 }, - { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, - { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, - { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, - { -24, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -28, 16, 0, 0, 0, 0 }, - { -29, 16, 0, 0, 0, 0 }, { -30, 16, 0, 0, 0, 0 }, { -31, 16, 0, 0, 0, 0 }, { -32, 16, 0, 0, 0, 0 }, { -33, 16, 0, 0, 0, 0 }, - { -34, 16, 0, 0, 0, 0 }, { -35, 16, 0, 0, 0, 0 }, { -36, 16, 0, 0, 0, 0 }, { -37, 16, 0, 0, 0, 0 }, { -38, 16, 0, 0, 0, 0 }, - { -39, 16, 0, 0, 0, 0 }, { -40, 16, 0, 0, 0, 0 }, { -41, 16, 0, 0, 0, 0 }, { -42, 16, 0, 0, 0, 0 }, { -43, 16, 0, 0, 0, 0 }, - { -44, 16, 0, 0, 0, 0 }, { -45, 16, 0, 0, 0, 0 }, { -46, 16, 0, 0, 0, 0 }, { -47, 16, 0, 0, 0, 0 }, { -48, 16, 0, 0, 0, 0 }, - { -49, 16, 0, 0, 0, 0 }, { -50, 16, 0, 0, 0, 0 }, { -51, 16, 0, 0, 0, 0 }, { -52, 16, 0, 0, 0, 0 }, { -53, 16, 0, 0, 0, 0 }, - { -54, 16, 0, 0, 0, 0 }, { -55, 16, 0, 0, 0, 0 }, { -56, 16, 0, 0, 0, 0 }, { -57, 16, 0, 0, 0, 0 }, { -58, 16, 0, 0, 0, 0 }, - { -59, 16, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, { -63, 16, 0, 0, 0, 0 }, - { -64, 16, 0, 0, 0, 0 }, + 96, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, + { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, + { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -2, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, + { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -8, 16, 0, 0, 0, 0 }, + { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, + { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, + { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, + { -24, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -28, 16, 0, 0, 0, 0 }, + { -29, 16, 0, 0, 0, 0 }, { -30, 16, 0, 0, 0, 0 }, { -31, 16, 0, 0, 0, 0 }, { -32, 16, 0, 0, 0, 0 }, { -33, 16, 0, 0, 0, 0 }, + { -34, 16, 0, 0, 0, 0 }, { -35, 16, 0, 0, 0, 0 }, { -36, 16, 0, 0, 0, 0 }, { -37, 16, 0, 0, 0, 0 }, { -38, 16, 0, 0, 0, 0 }, + { -39, 16, 0, 0, 0, 0 }, { -40, 16, 0, 0, 0, 0 }, { -41, 16, 0, 0, 0, 0 }, { -42, 16, 0, 0, 0, 0 }, { -43, 16, 0, 0, 0, 0 }, + { -44, 16, 0, 0, 0, 0 }, { -45, 16, 0, 0, 0, 0 }, { -46, 16, 0, 0, 0, 0 }, { -47, 16, 0, 0, 0, 0 }, { -48, 16, 0, 0, 0, 0 }, + { -49, 16, 0, 0, 0, 0 }, { -50, 16, 0, 0, 0, 0 }, { -51, 16, 0, 0, 0, 0 }, { -52, 16, 0, 0, 0, 0 }, { -53, 16, 0, 0, 0, 0 }, + { -54, 16, 0, 0, 0, 0 }, { -55, 16, 0, 0, 0, 0 }, { -56, 16, 0, 0, 0, 0 }, { -57, 16, 0, 0, 0, 0 }, { -58, 16, 0, 0, 0, 0 }, + { -59, 16, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, { -63, 16, 0, 0, 0, 0 }, + { -64, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_952AC0 = { - 96, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, - { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 33, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, - { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 39, 0, 8, 0, 0 }, - { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, - { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, - { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, - { 16, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { 16, 59, 0, 8, 0, 0 }, - { 16, 60, 0, 8, 0, 0 }, { 16, 61, 0, 8, 0, 0 }, { 16, 62, 0, 8, 0, 0 }, { 16, 63, 0, 8, 0, 0 }, { 16, 64, 0, 8, 0, 0 }, - { 16, 65, 0, 8, 0, 0 }, { 16, 66, 0, 8, 0, 0 }, { 16, 67, 0, 8, 0, 0 }, { 16, 68, 0, 8, 0, 0 }, { 16, 69, 0, 8, 0, 0 }, - { 16, 70, 0, 8, 0, 0 }, { 16, 71, 0, 8, 0, 0 }, { 16, 72, 0, 8, 0, 0 }, { 16, 73, 0, 8, 0, 0 }, { 16, 74, 0, 8, 0, 0 }, - { 16, 75, 0, 8, 0, 0 }, { 16, 76, 0, 8, 0, 0 }, { 16, 77, 0, 8, 0, 0 }, { 16, 78, 0, 8, 0, 0 }, { 16, 79, 0, 8, 0, 0 }, - { 16, 80, 0, 8, 0, 0 }, { 16, 81, 0, 8, 0, 0 }, { 16, 82, 0, 8, 0, 0 }, { 16, 83, 0, 8, 0, 0 }, { 16, 84, 0, 8, 0, 0 }, - { 16, 85, 0, 8, 0, 0 }, { 16, 86, 0, 8, 0, 0 }, { 16, 87, 0, 8, 0, 0 }, { 16, 88, 0, 8, 0, 0 }, { 16, 89, 0, 8, 0, 0 }, - { 16, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, { 16, 94, 0, 8, 0, 0 }, - { 16, 95, 0, 8, 0, 0 }, + 96, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, + { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 33, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, + { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 39, 0, 8, 0, 0 }, + { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, + { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, + { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, + { 16, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { 16, 59, 0, 8, 0, 0 }, + { 16, 60, 0, 8, 0, 0 }, { 16, 61, 0, 8, 0, 0 }, { 16, 62, 0, 8, 0, 0 }, { 16, 63, 0, 8, 0, 0 }, { 16, 64, 0, 8, 0, 0 }, + { 16, 65, 0, 8, 0, 0 }, { 16, 66, 0, 8, 0, 0 }, { 16, 67, 0, 8, 0, 0 }, { 16, 68, 0, 8, 0, 0 }, { 16, 69, 0, 8, 0, 0 }, + { 16, 70, 0, 8, 0, 0 }, { 16, 71, 0, 8, 0, 0 }, { 16, 72, 0, 8, 0, 0 }, { 16, 73, 0, 8, 0, 0 }, { 16, 74, 0, 8, 0, 0 }, + { 16, 75, 0, 8, 0, 0 }, { 16, 76, 0, 8, 0, 0 }, { 16, 77, 0, 8, 0, 0 }, { 16, 78, 0, 8, 0, 0 }, { 16, 79, 0, 8, 0, 0 }, + { 16, 80, 0, 8, 0, 0 }, { 16, 81, 0, 8, 0, 0 }, { 16, 82, 0, 8, 0, 0 }, { 16, 83, 0, 8, 0, 0 }, { 16, 84, 0, 8, 0, 0 }, + { 16, 85, 0, 8, 0, 0 }, { 16, 86, 0, 8, 0, 0 }, { 16, 87, 0, 8, 0, 0 }, { 16, 88, 0, 8, 0, 0 }, { 16, 89, 0, 8, 0, 0 }, + { 16, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, { 16, 94, 0, 8, 0, 0 }, + { 16, 95, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_952E22 = { - 96, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, - { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 19, 16, 0, 16, 0, 0 }, - { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, - { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, { 32, 16, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, { 34, 16, 0, 16, 0, 0 }, - { 35, 16, 0, 16, 0, 0 }, { 36, 16, 0, 16, 0, 0 }, { 37, 16, 0, 16, 0, 0 }, { 38, 16, 0, 16, 0, 0 }, { 39, 16, 0, 16, 0, 0 }, - { 40, 16, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 42, 16, 0, 16, 0, 0 }, { 43, 16, 0, 16, 0, 0 }, { 44, 16, 0, 16, 0, 0 }, - { 45, 16, 0, 16, 0, 0 }, { 46, 16, 0, 16, 0, 0 }, { 47, 16, 0, 16, 0, 0 }, { 48, 16, 0, 16, 0, 0 }, { 49, 16, 0, 16, 0, 0 }, - { 50, 16, 0, 16, 0, 0 }, { 51, 16, 0, 16, 0, 0 }, { 52, 16, 0, 16, 0, 0 }, { 53, 16, 0, 16, 0, 0 }, { 54, 16, 0, 16, 0, 0 }, - { 55, 16, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, { 59, 16, 0, 16, 0, 0 }, - { 60, 16, 0, 16, 0, 0 }, { 61, 16, 0, 16, 0, 0 }, { 62, 16, 0, 16, 0, 0 }, { 63, 16, 0, 16, 0, 0 }, { 64, 16, 0, 16, 0, 0 }, - { 65, 16, 0, 16, 0, 0 }, { 66, 16, 0, 16, 0, 0 }, { 67, 16, 0, 16, 0, 0 }, { 68, 16, 0, 16, 0, 0 }, { 69, 16, 0, 16, 0, 0 }, - { 70, 16, 0, 16, 0, 0 }, { 71, 16, 0, 16, 0, 0 }, { 72, 16, 0, 16, 0, 0 }, { 73, 16, 0, 16, 0, 0 }, { 74, 16, 0, 16, 0, 0 }, - { 75, 16, 0, 16, 0, 0 }, { 76, 16, 0, 16, 0, 0 }, { 77, 16, 0, 16, 0, 0 }, { 78, 16, 0, 16, 0, 0 }, { 79, 16, 0, 16, 0, 0 }, - { 80, 16, 0, 16, 0, 0 }, { 81, 16, 0, 16, 0, 0 }, { 82, 16, 0, 16, 0, 0 }, { 83, 16, 0, 16, 0, 0 }, { 84, 16, 0, 16, 0, 0 }, - { 85, 16, 0, 16, 0, 0 }, { 86, 16, 0, 16, 0, 0 }, { 87, 16, 0, 16, 0, 0 }, { 88, 16, 0, 16, 0, 0 }, { 89, 16, 0, 16, 0, 0 }, - { 90, 16, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, { 94, 16, 0, 16, 0, 0 }, - { 95, 16, 0, 16, 0, 0 }, + 96, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, + { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 19, 16, 0, 16, 0, 0 }, + { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, + { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, { 32, 16, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, { 34, 16, 0, 16, 0, 0 }, + { 35, 16, 0, 16, 0, 0 }, { 36, 16, 0, 16, 0, 0 }, { 37, 16, 0, 16, 0, 0 }, { 38, 16, 0, 16, 0, 0 }, { 39, 16, 0, 16, 0, 0 }, + { 40, 16, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 42, 16, 0, 16, 0, 0 }, { 43, 16, 0, 16, 0, 0 }, { 44, 16, 0, 16, 0, 0 }, + { 45, 16, 0, 16, 0, 0 }, { 46, 16, 0, 16, 0, 0 }, { 47, 16, 0, 16, 0, 0 }, { 48, 16, 0, 16, 0, 0 }, { 49, 16, 0, 16, 0, 0 }, + { 50, 16, 0, 16, 0, 0 }, { 51, 16, 0, 16, 0, 0 }, { 52, 16, 0, 16, 0, 0 }, { 53, 16, 0, 16, 0, 0 }, { 54, 16, 0, 16, 0, 0 }, + { 55, 16, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, { 59, 16, 0, 16, 0, 0 }, + { 60, 16, 0, 16, 0, 0 }, { 61, 16, 0, 16, 0, 0 }, { 62, 16, 0, 16, 0, 0 }, { 63, 16, 0, 16, 0, 0 }, { 64, 16, 0, 16, 0, 0 }, + { 65, 16, 0, 16, 0, 0 }, { 66, 16, 0, 16, 0, 0 }, { 67, 16, 0, 16, 0, 0 }, { 68, 16, 0, 16, 0, 0 }, { 69, 16, 0, 16, 0, 0 }, + { 70, 16, 0, 16, 0, 0 }, { 71, 16, 0, 16, 0, 0 }, { 72, 16, 0, 16, 0, 0 }, { 73, 16, 0, 16, 0, 0 }, { 74, 16, 0, 16, 0, 0 }, + { 75, 16, 0, 16, 0, 0 }, { 76, 16, 0, 16, 0, 0 }, { 77, 16, 0, 16, 0, 0 }, { 78, 16, 0, 16, 0, 0 }, { 79, 16, 0, 16, 0, 0 }, + { 80, 16, 0, 16, 0, 0 }, { 81, 16, 0, 16, 0, 0 }, { 82, 16, 0, 16, 0, 0 }, { 83, 16, 0, 16, 0, 0 }, { 84, 16, 0, 16, 0, 0 }, + { 85, 16, 0, 16, 0, 0 }, { 86, 16, 0, 16, 0, 0 }, { 87, 16, 0, 16, 0, 0 }, { 88, 16, 0, 16, 0, 0 }, { 89, 16, 0, 16, 0, 0 }, + { 90, 16, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, { 94, 16, 0, 16, 0, 0 }, + { 95, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_953184 = { - 96, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, - { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, - { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, - { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, { 16, -1, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, { 16, -3, 0, 24, 0, 0 }, - { 16, -4, 0, 24, 0, 0 }, { 16, -5, 0, 24, 0, 0 }, { 16, -6, 0, 24, 0, 0 }, { 16, -7, 0, 24, 0, 0 }, { 16, -8, 0, 24, 0, 0 }, - { 16, -9, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 16, -11, 0, 24, 0, 0 }, { 16, -12, 0, 24, 0, 0 }, { 16, -13, 0, 24, 0, 0 }, - { 16, -14, 0, 24, 0, 0 }, { 16, -15, 0, 24, 0, 0 }, { 16, -16, 0, 24, 0, 0 }, { 16, -17, 0, 24, 0, 0 }, { 16, -18, 0, 24, 0, 0 }, - { 16, -19, 0, 24, 0, 0 }, { 16, -20, 0, 24, 0, 0 }, { 16, -21, 0, 24, 0, 0 }, { 16, -22, 0, 24, 0, 0 }, { 16, -23, 0, 24, 0, 0 }, - { 16, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 16, -26, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, { 16, -28, 0, 24, 0, 0 }, - { 16, -29, 0, 24, 0, 0 }, { 16, -30, 0, 24, 0, 0 }, { 16, -31, 0, 24, 0, 0 }, { 16, -32, 0, 24, 0, 0 }, { 16, -33, 0, 24, 0, 0 }, - { 16, -34, 0, 24, 0, 0 }, { 16, -35, 0, 24, 0, 0 }, { 16, -36, 0, 24, 0, 0 }, { 16, -37, 0, 24, 0, 0 }, { 16, -38, 0, 24, 0, 0 }, - { 16, -39, 0, 24, 0, 0 }, { 16, -40, 0, 24, 0, 0 }, { 16, -41, 0, 24, 0, 0 }, { 16, -42, 0, 24, 0, 0 }, { 16, -43, 0, 24, 0, 0 }, - { 16, -44, 0, 24, 0, 0 }, { 16, -45, 0, 24, 0, 0 }, { 16, -46, 0, 24, 0, 0 }, { 16, -47, 0, 24, 0, 0 }, { 16, -48, 0, 24, 0, 0 }, - { 16, -49, 0, 24, 0, 0 }, { 16, -50, 0, 24, 0, 0 }, { 16, -51, 0, 24, 0, 0 }, { 16, -52, 0, 24, 0, 0 }, { 16, -53, 0, 24, 0, 0 }, - { 16, -54, 0, 24, 0, 0 }, { 16, -55, 0, 24, 0, 0 }, { 16, -56, 0, 24, 0, 0 }, { 16, -57, 0, 24, 0, 0 }, { 16, -58, 0, 24, 0, 0 }, - { 16, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, { 16, -63, 0, 24, 0, 0 }, - { 16, -64, 0, 24, 0, 0 }, + 96, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, + { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, + { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, + { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, { 16, -1, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, { 16, -3, 0, 24, 0, 0 }, + { 16, -4, 0, 24, 0, 0 }, { 16, -5, 0, 24, 0, 0 }, { 16, -6, 0, 24, 0, 0 }, { 16, -7, 0, 24, 0, 0 }, { 16, -8, 0, 24, 0, 0 }, + { 16, -9, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 16, -11, 0, 24, 0, 0 }, { 16, -12, 0, 24, 0, 0 }, { 16, -13, 0, 24, 0, 0 }, + { 16, -14, 0, 24, 0, 0 }, { 16, -15, 0, 24, 0, 0 }, { 16, -16, 0, 24, 0, 0 }, { 16, -17, 0, 24, 0, 0 }, { 16, -18, 0, 24, 0, 0 }, + { 16, -19, 0, 24, 0, 0 }, { 16, -20, 0, 24, 0, 0 }, { 16, -21, 0, 24, 0, 0 }, { 16, -22, 0, 24, 0, 0 }, { 16, -23, 0, 24, 0, 0 }, + { 16, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 16, -26, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, { 16, -28, 0, 24, 0, 0 }, + { 16, -29, 0, 24, 0, 0 }, { 16, -30, 0, 24, 0, 0 }, { 16, -31, 0, 24, 0, 0 }, { 16, -32, 0, 24, 0, 0 }, { 16, -33, 0, 24, 0, 0 }, + { 16, -34, 0, 24, 0, 0 }, { 16, -35, 0, 24, 0, 0 }, { 16, -36, 0, 24, 0, 0 }, { 16, -37, 0, 24, 0, 0 }, { 16, -38, 0, 24, 0, 0 }, + { 16, -39, 0, 24, 0, 0 }, { 16, -40, 0, 24, 0, 0 }, { 16, -41, 0, 24, 0, 0 }, { 16, -42, 0, 24, 0, 0 }, { 16, -43, 0, 24, 0, 0 }, + { 16, -44, 0, 24, 0, 0 }, { 16, -45, 0, 24, 0, 0 }, { 16, -46, 0, 24, 0, 0 }, { 16, -47, 0, 24, 0, 0 }, { 16, -48, 0, 24, 0, 0 }, + { 16, -49, 0, 24, 0, 0 }, { 16, -50, 0, 24, 0, 0 }, { 16, -51, 0, 24, 0, 0 }, { 16, -52, 0, 24, 0, 0 }, { 16, -53, 0, 24, 0, 0 }, + { 16, -54, 0, 24, 0, 0 }, { 16, -55, 0, 24, 0, 0 }, { 16, -56, 0, 24, 0, 0 }, { 16, -57, 0, 24, 0, 0 }, { 16, -58, 0, 24, 0, 0 }, + { 16, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, { 16, -63, 0, 24, 0, 0 }, + { 16, -64, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9534E6 = { - 96, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, - { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, - { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -2, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, - { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -8, 16, 0, 0, 0, 0 }, - { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, - { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, - { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, - { -24, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -28, 16, 0, 0, 0, 0 }, - { -29, 16, 0, 0, 0, 0 }, { -30, 16, 0, 0, 0, 0 }, { -31, 16, 0, 0, 0, 0 }, { -32, 16, 0, 0, 0, 0 }, { -33, 16, 0, 0, 0, 0 }, - { -34, 16, 0, 0, 0, 0 }, { -35, 16, 0, 0, 0, 0 }, { -36, 16, 0, 0, 0, 0 }, { -37, 16, 0, 0, 0, 0 }, { -38, 16, 0, 0, 0, 0 }, - { -39, 16, 0, 0, 0, 0 }, { -40, 16, 0, 0, 0, 0 }, { -41, 16, 0, 0, 0, 0 }, { -42, 16, 0, 0, 0, 0 }, { -43, 16, 0, 0, 0, 0 }, - { -44, 16, 0, 0, 0, 0 }, { -45, 16, 0, 0, 0, 0 }, { -46, 16, 0, 0, 0, 0 }, { -47, 16, 0, 0, 0, 0 }, { -48, 16, 0, 0, 0, 0 }, - { -49, 16, 0, 0, 0, 0 }, { -50, 16, 0, 0, 0, 0 }, { -51, 16, 0, 0, 0, 0 }, { -52, 16, 0, 0, 0, 0 }, { -53, 16, 0, 0, 0, 0 }, - { -54, 16, 0, 0, 0, 0 }, { -55, 16, 0, 0, 0, 0 }, { -56, 16, 0, 0, 0, 0 }, { -57, 16, 0, 0, 0, 0 }, { -58, 16, 0, 0, 0, 0 }, - { -59, 16, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, { -63, 16, 0, 0, 0, 0 }, - { -64, 16, 0, 0, 0, 0 }, + 96, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, + { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, + { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -2, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, + { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -8, 16, 0, 0, 0, 0 }, + { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, + { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, + { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, + { -24, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -28, 16, 0, 0, 0, 0 }, + { -29, 16, 0, 0, 0, 0 }, { -30, 16, 0, 0, 0, 0 }, { -31, 16, 0, 0, 0, 0 }, { -32, 16, 0, 0, 0, 0 }, { -33, 16, 0, 0, 0, 0 }, + { -34, 16, 0, 0, 0, 0 }, { -35, 16, 0, 0, 0, 0 }, { -36, 16, 0, 0, 0, 0 }, { -37, 16, 0, 0, 0, 0 }, { -38, 16, 0, 0, 0, 0 }, + { -39, 16, 0, 0, 0, 0 }, { -40, 16, 0, 0, 0, 0 }, { -41, 16, 0, 0, 0, 0 }, { -42, 16, 0, 0, 0, 0 }, { -43, 16, 0, 0, 0, 0 }, + { -44, 16, 0, 0, 0, 0 }, { -45, 16, 0, 0, 0, 0 }, { -46, 16, 0, 0, 0, 0 }, { -47, 16, 0, 0, 0, 0 }, { -48, 16, 0, 0, 0, 0 }, + { -49, 16, 0, 0, 0, 0 }, { -50, 16, 0, 0, 0, 0 }, { -51, 16, 0, 0, 0, 0 }, { -52, 16, 0, 0, 0, 0 }, { -53, 16, 0, 0, 0, 0 }, + { -54, 16, 0, 0, 0, 0 }, { -55, 16, 0, 0, 0, 0 }, { -56, 16, 0, 0, 0, 0 }, { -57, 16, 0, 0, 0, 0 }, { -58, 16, 0, 0, 0, 0 }, + { -59, 16, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, { -63, 16, 0, 0, 0, 0 }, + { -64, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_953848 = { - 96, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, - { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, - { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 33, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, - { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 39, 0, 8, 0, 0 }, - { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, - { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, - { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, - { 16, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { 16, 59, 0, 8, 0, 0 }, - { 16, 60, 0, 8, 0, 0 }, { 16, 61, 0, 8, 0, 0 }, { 16, 62, 0, 8, 0, 0 }, { 16, 63, 0, 8, 0, 0 }, { 16, 64, 0, 8, 0, 0 }, - { 16, 65, 0, 8, 0, 0 }, { 16, 66, 0, 8, 0, 0 }, { 16, 67, 0, 8, 0, 0 }, { 16, 68, 0, 8, 0, 0 }, { 16, 69, 0, 8, 0, 0 }, - { 16, 70, 0, 8, 0, 0 }, { 16, 71, 0, 8, 0, 0 }, { 16, 72, 0, 8, 0, 0 }, { 16, 73, 0, 8, 0, 0 }, { 16, 74, 0, 8, 0, 0 }, - { 16, 75, 0, 8, 0, 0 }, { 16, 76, 0, 8, 0, 0 }, { 16, 77, 0, 8, 0, 0 }, { 16, 78, 0, 8, 0, 0 }, { 16, 79, 0, 8, 0, 0 }, - { 16, 80, 0, 8, 0, 0 }, { 16, 81, 0, 8, 0, 0 }, { 16, 82, 0, 8, 0, 0 }, { 16, 83, 0, 8, 0, 0 }, { 16, 84, 0, 8, 0, 0 }, - { 16, 85, 0, 8, 0, 0 }, { 16, 86, 0, 8, 0, 0 }, { 16, 87, 0, 8, 0, 0 }, { 16, 88, 0, 8, 0, 0 }, { 16, 89, 0, 8, 0, 0 }, - { 16, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, { 16, 94, 0, 8, 0, 0 }, - { 16, 95, 0, 8, 0, 0 }, + 96, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, + { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 33, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, + { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 39, 0, 8, 0, 0 }, + { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, + { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, + { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, + { 16, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { 16, 59, 0, 8, 0, 0 }, + { 16, 60, 0, 8, 0, 0 }, { 16, 61, 0, 8, 0, 0 }, { 16, 62, 0, 8, 0, 0 }, { 16, 63, 0, 8, 0, 0 }, { 16, 64, 0, 8, 0, 0 }, + { 16, 65, 0, 8, 0, 0 }, { 16, 66, 0, 8, 0, 0 }, { 16, 67, 0, 8, 0, 0 }, { 16, 68, 0, 8, 0, 0 }, { 16, 69, 0, 8, 0, 0 }, + { 16, 70, 0, 8, 0, 0 }, { 16, 71, 0, 8, 0, 0 }, { 16, 72, 0, 8, 0, 0 }, { 16, 73, 0, 8, 0, 0 }, { 16, 74, 0, 8, 0, 0 }, + { 16, 75, 0, 8, 0, 0 }, { 16, 76, 0, 8, 0, 0 }, { 16, 77, 0, 8, 0, 0 }, { 16, 78, 0, 8, 0, 0 }, { 16, 79, 0, 8, 0, 0 }, + { 16, 80, 0, 8, 0, 0 }, { 16, 81, 0, 8, 0, 0 }, { 16, 82, 0, 8, 0, 0 }, { 16, 83, 0, 8, 0, 0 }, { 16, 84, 0, 8, 0, 0 }, + { 16, 85, 0, 8, 0, 0 }, { 16, 86, 0, 8, 0, 0 }, { 16, 87, 0, 8, 0, 0 }, { 16, 88, 0, 8, 0, 0 }, { 16, 89, 0, 8, 0, 0 }, + { 16, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, { 16, 94, 0, 8, 0, 0 }, + { 16, 95, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_953BAA = { - 96, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, - { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 19, 16, 0, 16, 0, 0 }, - { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, - { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, { 32, 16, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, { 34, 16, 0, 16, 0, 0 }, - { 35, 16, 0, 16, 0, 0 }, { 36, 16, 0, 16, 0, 0 }, { 37, 16, 0, 16, 0, 0 }, { 38, 16, 0, 16, 0, 0 }, { 39, 16, 0, 16, 0, 0 }, - { 40, 16, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 42, 16, 0, 16, 0, 0 }, { 43, 16, 0, 16, 0, 0 }, { 44, 16, 0, 16, 0, 0 }, - { 45, 16, 0, 16, 0, 0 }, { 46, 16, 0, 16, 0, 0 }, { 47, 16, 0, 16, 0, 0 }, { 48, 16, 0, 16, 0, 0 }, { 49, 16, 0, 16, 0, 0 }, - { 50, 16, 0, 16, 0, 0 }, { 51, 16, 0, 16, 0, 0 }, { 52, 16, 0, 16, 0, 0 }, { 53, 16, 0, 16, 0, 0 }, { 54, 16, 0, 16, 0, 0 }, - { 55, 16, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, { 59, 16, 0, 16, 0, 0 }, - { 60, 16, 0, 16, 0, 0 }, { 61, 16, 0, 16, 0, 0 }, { 62, 16, 0, 16, 0, 0 }, { 63, 16, 0, 16, 0, 0 }, { 64, 16, 0, 16, 0, 0 }, - { 65, 16, 0, 16, 0, 0 }, { 66, 16, 0, 16, 0, 0 }, { 67, 16, 0, 16, 0, 0 }, { 68, 16, 0, 16, 0, 0 }, { 69, 16, 0, 16, 0, 0 }, - { 70, 16, 0, 16, 0, 0 }, { 71, 16, 0, 16, 0, 0 }, { 72, 16, 0, 16, 0, 0 }, { 73, 16, 0, 16, 0, 0 }, { 74, 16, 0, 16, 0, 0 }, - { 75, 16, 0, 16, 0, 0 }, { 76, 16, 0, 16, 0, 0 }, { 77, 16, 0, 16, 0, 0 }, { 78, 16, 0, 16, 0, 0 }, { 79, 16, 0, 16, 0, 0 }, - { 80, 16, 0, 16, 0, 0 }, { 81, 16, 0, 16, 0, 0 }, { 82, 16, 0, 16, 0, 0 }, { 83, 16, 0, 16, 0, 0 }, { 84, 16, 0, 16, 0, 0 }, - { 85, 16, 0, 16, 0, 0 }, { 86, 16, 0, 16, 0, 0 }, { 87, 16, 0, 16, 0, 0 }, { 88, 16, 0, 16, 0, 0 }, { 89, 16, 0, 16, 0, 0 }, - { 90, 16, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, { 94, 16, 0, 16, 0, 0 }, - { 95, 16, 0, 16, 0, 0 }, + 96, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, + { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 19, 16, 0, 16, 0, 0 }, + { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, + { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, { 32, 16, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, { 34, 16, 0, 16, 0, 0 }, + { 35, 16, 0, 16, 0, 0 }, { 36, 16, 0, 16, 0, 0 }, { 37, 16, 0, 16, 0, 0 }, { 38, 16, 0, 16, 0, 0 }, { 39, 16, 0, 16, 0, 0 }, + { 40, 16, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 42, 16, 0, 16, 0, 0 }, { 43, 16, 0, 16, 0, 0 }, { 44, 16, 0, 16, 0, 0 }, + { 45, 16, 0, 16, 0, 0 }, { 46, 16, 0, 16, 0, 0 }, { 47, 16, 0, 16, 0, 0 }, { 48, 16, 0, 16, 0, 0 }, { 49, 16, 0, 16, 0, 0 }, + { 50, 16, 0, 16, 0, 0 }, { 51, 16, 0, 16, 0, 0 }, { 52, 16, 0, 16, 0, 0 }, { 53, 16, 0, 16, 0, 0 }, { 54, 16, 0, 16, 0, 0 }, + { 55, 16, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, { 59, 16, 0, 16, 0, 0 }, + { 60, 16, 0, 16, 0, 0 }, { 61, 16, 0, 16, 0, 0 }, { 62, 16, 0, 16, 0, 0 }, { 63, 16, 0, 16, 0, 0 }, { 64, 16, 0, 16, 0, 0 }, + { 65, 16, 0, 16, 0, 0 }, { 66, 16, 0, 16, 0, 0 }, { 67, 16, 0, 16, 0, 0 }, { 68, 16, 0, 16, 0, 0 }, { 69, 16, 0, 16, 0, 0 }, + { 70, 16, 0, 16, 0, 0 }, { 71, 16, 0, 16, 0, 0 }, { 72, 16, 0, 16, 0, 0 }, { 73, 16, 0, 16, 0, 0 }, { 74, 16, 0, 16, 0, 0 }, + { 75, 16, 0, 16, 0, 0 }, { 76, 16, 0, 16, 0, 0 }, { 77, 16, 0, 16, 0, 0 }, { 78, 16, 0, 16, 0, 0 }, { 79, 16, 0, 16, 0, 0 }, + { 80, 16, 0, 16, 0, 0 }, { 81, 16, 0, 16, 0, 0 }, { 82, 16, 0, 16, 0, 0 }, { 83, 16, 0, 16, 0, 0 }, { 84, 16, 0, 16, 0, 0 }, + { 85, 16, 0, 16, 0, 0 }, { 86, 16, 0, 16, 0, 0 }, { 87, 16, 0, 16, 0, 0 }, { 88, 16, 0, 16, 0, 0 }, { 89, 16, 0, 16, 0, 0 }, + { 90, 16, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, { 94, 16, 0, 16, 0, 0 }, + { 95, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_953F0C = { - 96, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, - { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, - { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, - { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, { 16, -1, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, { 16, -3, 0, 24, 0, 0 }, - { 16, -4, 0, 24, 0, 0 }, { 16, -5, 0, 24, 0, 0 }, { 16, -6, 0, 24, 0, 0 }, { 16, -7, 0, 24, 0, 0 }, { 16, -8, 0, 24, 0, 0 }, - { 16, -9, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 16, -11, 0, 24, 0, 0 }, { 16, -12, 0, 24, 0, 0 }, { 16, -13, 0, 24, 0, 0 }, - { 16, -14, 0, 24, 0, 0 }, { 16, -15, 0, 24, 0, 0 }, { 16, -16, 0, 24, 0, 0 }, { 16, -17, 0, 24, 0, 0 }, { 16, -18, 0, 24, 0, 0 }, - { 16, -19, 0, 24, 0, 0 }, { 16, -20, 0, 24, 0, 0 }, { 16, -21, 0, 24, 0, 0 }, { 16, -22, 0, 24, 0, 0 }, { 16, -23, 0, 24, 0, 0 }, - { 16, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 16, -26, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, { 16, -28, 0, 24, 0, 0 }, - { 16, -29, 0, 24, 0, 0 }, { 16, -30, 0, 24, 0, 0 }, { 16, -31, 0, 24, 0, 0 }, { 16, -32, 0, 24, 0, 0 }, { 16, -33, 0, 24, 0, 0 }, - { 16, -34, 0, 24, 0, 0 }, { 16, -35, 0, 24, 0, 0 }, { 16, -36, 0, 24, 0, 0 }, { 16, -37, 0, 24, 0, 0 }, { 16, -38, 0, 24, 0, 0 }, - { 16, -39, 0, 24, 0, 0 }, { 16, -40, 0, 24, 0, 0 }, { 16, -41, 0, 24, 0, 0 }, { 16, -42, 0, 24, 0, 0 }, { 16, -43, 0, 24, 0, 0 }, - { 16, -44, 0, 24, 0, 0 }, { 16, -45, 0, 24, 0, 0 }, { 16, -46, 0, 24, 0, 0 }, { 16, -47, 0, 24, 0, 0 }, { 16, -48, 0, 24, 0, 0 }, - { 16, -49, 0, 24, 0, 0 }, { 16, -50, 0, 24, 0, 0 }, { 16, -51, 0, 24, 0, 0 }, { 16, -52, 0, 24, 0, 0 }, { 16, -53, 0, 24, 0, 0 }, - { 16, -54, 0, 24, 0, 0 }, { 16, -55, 0, 24, 0, 0 }, { 16, -56, 0, 24, 0, 0 }, { 16, -57, 0, 24, 0, 0 }, { 16, -58, 0, 24, 0, 0 }, - { 16, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, { 16, -63, 0, 24, 0, 0 }, - { 16, -64, 0, 24, 0, 0 }, + 96, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, + { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, + { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, + { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, { 16, -1, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, { 16, -3, 0, 24, 0, 0 }, + { 16, -4, 0, 24, 0, 0 }, { 16, -5, 0, 24, 0, 0 }, { 16, -6, 0, 24, 0, 0 }, { 16, -7, 0, 24, 0, 0 }, { 16, -8, 0, 24, 0, 0 }, + { 16, -9, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 16, -11, 0, 24, 0, 0 }, { 16, -12, 0, 24, 0, 0 }, { 16, -13, 0, 24, 0, 0 }, + { 16, -14, 0, 24, 0, 0 }, { 16, -15, 0, 24, 0, 0 }, { 16, -16, 0, 24, 0, 0 }, { 16, -17, 0, 24, 0, 0 }, { 16, -18, 0, 24, 0, 0 }, + { 16, -19, 0, 24, 0, 0 }, { 16, -20, 0, 24, 0, 0 }, { 16, -21, 0, 24, 0, 0 }, { 16, -22, 0, 24, 0, 0 }, { 16, -23, 0, 24, 0, 0 }, + { 16, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 16, -26, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, { 16, -28, 0, 24, 0, 0 }, + { 16, -29, 0, 24, 0, 0 }, { 16, -30, 0, 24, 0, 0 }, { 16, -31, 0, 24, 0, 0 }, { 16, -32, 0, 24, 0, 0 }, { 16, -33, 0, 24, 0, 0 }, + { 16, -34, 0, 24, 0, 0 }, { 16, -35, 0, 24, 0, 0 }, { 16, -36, 0, 24, 0, 0 }, { 16, -37, 0, 24, 0, 0 }, { 16, -38, 0, 24, 0, 0 }, + { 16, -39, 0, 24, 0, 0 }, { 16, -40, 0, 24, 0, 0 }, { 16, -41, 0, 24, 0, 0 }, { 16, -42, 0, 24, 0, 0 }, { 16, -43, 0, 24, 0, 0 }, + { 16, -44, 0, 24, 0, 0 }, { 16, -45, 0, 24, 0, 0 }, { 16, -46, 0, 24, 0, 0 }, { 16, -47, 0, 24, 0, 0 }, { 16, -48, 0, 24, 0, 0 }, + { 16, -49, 0, 24, 0, 0 }, { 16, -50, 0, 24, 0, 0 }, { 16, -51, 0, 24, 0, 0 }, { 16, -52, 0, 24, 0, 0 }, { 16, -53, 0, 24, 0, 0 }, + { 16, -54, 0, 24, 0, 0 }, { 16, -55, 0, 24, 0, 0 }, { 16, -56, 0, 24, 0, 0 }, { 16, -57, 0, 24, 0, 0 }, { 16, -58, 0, 24, 0, 0 }, + { 16, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, { 16, -63, 0, 24, 0, 0 }, + { 16, -64, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_95426E = { - 192, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, - { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, - { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 2, 0, 0 }, { 0, 16, 0, 2, 0, 0 }, { -1, 16, 0, 2, 0, 0 }, { -2, 16, 0, 2, 0, 0 }, { -3, 16, 0, 2, 0, 0 }, - { -4, 16, 0, 2, 0, 0 }, { -5, 16, 0, 2, 0, 0 }, { -6, 16, 0, 2, 0, 0 }, { -7, 16, 0, 2, 0, 0 }, { -8, 16, 0, 2, 0, 0 }, - { -9, 16, 0, 4, 0, 0 }, { -10, 16, 0, 4, 0, 0 }, { -11, 16, 0, 4, 0, 0 }, { -12, 16, 0, 4, 0, 0 }, { -13, 16, 0, 4, 0, 0 }, - { -14, 16, 0, 4, 0, 0 }, { -15, 16, 0, 4, 0, 0 }, { -16, 16, 0, 4, 0, 0 }, { -17, 16, 0, 4, 0, 0 }, { -18, 16, 0, 4, 0, 0 }, - { -19, 16, 0, 6, 0, 0 }, { -20, 16, 0, 6, 0, 0 }, { -21, 16, 0, 6, 0, 0 }, { -22, 16, 0, 6, 0, 0 }, { -23, 16, 0, 6, 0, 0 }, - { -24, 16, 0, 6, 0, 0 }, { -25, 16, 0, 6, 0, 0 }, { -26, 16, 0, 8, 0, 0 }, { -27, 16, 0, 8, 0, 0 }, { -28, 16, 0, 8, 0, 0 }, - { -29, 16, 0, 8, 0, 0 }, { -30, 16, 0, 8, 0, 0 }, { -31, 16, 0, 8, 0, 0 }, { -32, 16, 0, 8, 0, 0 }, { -33, 16, 0, 8, 0, 0 }, - { -34, 16, 0, 8, 0, 0 }, { -35, 16, 0, 8, 0, 0 }, { -36, 16, 0, 10, 0, 0 }, { -37, 16, 0, 10, 0, 0 }, { -38, 16, 0, 10, 0, 0 }, - { -39, 16, 0, 10, 0, 0 }, { -40, 16, 0, 10, 0, 0 }, { -41, 16, 0, 10, 0, 0 }, { -42, 16, 0, 10, 0, 0 }, { -43, 16, 0, 12, 0, 0 }, - { -44, 16, 0, 12, 0, 0 }, { -45, 16, 0, 12, 0, 0 }, { -46, 16, 0, 12, 0, 0 }, { -47, 16, 0, 12, 0, 0 }, { -48, 16, 0, 12, 0, 0 }, - { -49, 16, 0, 12, 0, 0 }, { -50, 16, 0, 12, 0, 0 }, { -51, 16, 0, 12, 0, 0 }, { -52, 16, 0, 12, 0, 0 }, { -53, 16, 0, 14, 0, 0 }, - { -54, 16, 0, 14, 0, 0 }, { -55, 16, 0, 14, 0, 0 }, { -56, 16, 0, 14, 0, 0 }, { -57, 16, 0, 14, 0, 0 }, { -58, 16, 0, 14, 0, 0 }, - { -59, 16, 0, 14, 0, 0 }, { -60, 16, 0, 14, 0, 0 }, { -61, 16, 0, 14, 0, 0 }, { -62, 16, 0, 14, 0, 0 }, { -63, 16, 0, 16, 0, 0 }, - { -64, 16, 0, 16, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, - { 22, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, - { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, - { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, - { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -2, 16, 0, 0, 0, 0 }, - { -3, 16, 0, 0, 0, 0 }, { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, - { -8, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, - { -13, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, - { -18, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, - { -23, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, - { -28, 16, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -30, 16, 0, 0, 0, 0 }, { -31, 16, 0, 0, 0, 0 }, { -32, 16, 0, 0, 0, 0 }, - { -33, 16, 0, 0, 0, 0 }, { -34, 16, 0, 0, 0, 0 }, { -35, 16, 0, 0, 0, 0 }, { -36, 16, 0, 0, 0, 0 }, { -37, 16, 0, 0, 0, 0 }, - { -38, 16, 0, 0, 0, 0 }, { -39, 16, 0, 0, 0, 0 }, { -40, 16, 0, 0, 0, 0 }, { -41, 16, 0, 0, 0, 0 }, { -42, 16, 0, 0, 0, 0 }, - { -43, 16, 0, 0, 0, 0 }, { -44, 16, 0, 0, 0, 0 }, { -45, 16, 0, 0, 0, 0 }, { -46, 16, 0, 0, 0, 0 }, { -47, 16, 0, 0, 0, 0 }, - { -48, 16, 0, 0, 0, 0 }, { -49, 16, 0, 0, 0, 0 }, { -50, 16, 0, 0, 0, 0 }, { -51, 16, 0, 0, 0, 0 }, { -52, 16, 0, 0, 0, 0 }, - { -53, 16, 0, 0, 0, 0 }, { -54, 16, 0, 0, 0, 0 }, { -55, 16, 0, 0, 0, 0 }, { -56, 16, 0, 0, 0, 0 }, { -57, 16, 0, 0, 0, 0 }, - { -58, 16, 0, 0, 0, 0 }, { -59, 16, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, - { -63, 16, 0, 0, 0, 0 }, { -64, 16, 0, 0, 0, 0 }, + 192, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, + { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, + { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 2, 0, 0 }, { 0, 16, 0, 2, 0, 0 }, { -1, 16, 0, 2, 0, 0 }, { -2, 16, 0, 2, 0, 0 }, { -3, 16, 0, 2, 0, 0 }, + { -4, 16, 0, 2, 0, 0 }, { -5, 16, 0, 2, 0, 0 }, { -6, 16, 0, 2, 0, 0 }, { -7, 16, 0, 2, 0, 0 }, { -8, 16, 0, 2, 0, 0 }, + { -9, 16, 0, 4, 0, 0 }, { -10, 16, 0, 4, 0, 0 }, { -11, 16, 0, 4, 0, 0 }, { -12, 16, 0, 4, 0, 0 }, { -13, 16, 0, 4, 0, 0 }, + { -14, 16, 0, 4, 0, 0 }, { -15, 16, 0, 4, 0, 0 }, { -16, 16, 0, 4, 0, 0 }, { -17, 16, 0, 4, 0, 0 }, { -18, 16, 0, 4, 0, 0 }, + { -19, 16, 0, 6, 0, 0 }, { -20, 16, 0, 6, 0, 0 }, { -21, 16, 0, 6, 0, 0 }, { -22, 16, 0, 6, 0, 0 }, { -23, 16, 0, 6, 0, 0 }, + { -24, 16, 0, 6, 0, 0 }, { -25, 16, 0, 6, 0, 0 }, { -26, 16, 0, 8, 0, 0 }, { -27, 16, 0, 8, 0, 0 }, { -28, 16, 0, 8, 0, 0 }, + { -29, 16, 0, 8, 0, 0 }, { -30, 16, 0, 8, 0, 0 }, { -31, 16, 0, 8, 0, 0 }, { -32, 16, 0, 8, 0, 0 }, { -33, 16, 0, 8, 0, 0 }, + { -34, 16, 0, 8, 0, 0 }, { -35, 16, 0, 8, 0, 0 }, { -36, 16, 0, 10, 0, 0 }, { -37, 16, 0, 10, 0, 0 }, { -38, 16, 0, 10, 0, 0 }, + { -39, 16, 0, 10, 0, 0 }, { -40, 16, 0, 10, 0, 0 }, { -41, 16, 0, 10, 0, 0 }, { -42, 16, 0, 10, 0, 0 }, { -43, 16, 0, 12, 0, 0 }, + { -44, 16, 0, 12, 0, 0 }, { -45, 16, 0, 12, 0, 0 }, { -46, 16, 0, 12, 0, 0 }, { -47, 16, 0, 12, 0, 0 }, { -48, 16, 0, 12, 0, 0 }, + { -49, 16, 0, 12, 0, 0 }, { -50, 16, 0, 12, 0, 0 }, { -51, 16, 0, 12, 0, 0 }, { -52, 16, 0, 12, 0, 0 }, { -53, 16, 0, 14, 0, 0 }, + { -54, 16, 0, 14, 0, 0 }, { -55, 16, 0, 14, 0, 0 }, { -56, 16, 0, 14, 0, 0 }, { -57, 16, 0, 14, 0, 0 }, { -58, 16, 0, 14, 0, 0 }, + { -59, 16, 0, 14, 0, 0 }, { -60, 16, 0, 14, 0, 0 }, { -61, 16, 0, 14, 0, 0 }, { -62, 16, 0, 14, 0, 0 }, { -63, 16, 0, 16, 0, 0 }, + { -64, 16, 0, 16, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, + { 22, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, + { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, + { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, + { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -2, 16, 0, 0, 0, 0 }, + { -3, 16, 0, 0, 0, 0 }, { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, + { -8, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, + { -13, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, + { -18, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, + { -23, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, + { -28, 16, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -30, 16, 0, 0, 0, 0 }, { -31, 16, 0, 0, 0, 0 }, { -32, 16, 0, 0, 0, 0 }, + { -33, 16, 0, 0, 0, 0 }, { -34, 16, 0, 0, 0, 0 }, { -35, 16, 0, 0, 0, 0 }, { -36, 16, 0, 0, 0, 0 }, { -37, 16, 0, 0, 0, 0 }, + { -38, 16, 0, 0, 0, 0 }, { -39, 16, 0, 0, 0, 0 }, { -40, 16, 0, 0, 0, 0 }, { -41, 16, 0, 0, 0, 0 }, { -42, 16, 0, 0, 0, 0 }, + { -43, 16, 0, 0, 0, 0 }, { -44, 16, 0, 0, 0, 0 }, { -45, 16, 0, 0, 0, 0 }, { -46, 16, 0, 0, 0, 0 }, { -47, 16, 0, 0, 0, 0 }, + { -48, 16, 0, 0, 0, 0 }, { -49, 16, 0, 0, 0, 0 }, { -50, 16, 0, 0, 0, 0 }, { -51, 16, 0, 0, 0, 0 }, { -52, 16, 0, 0, 0, 0 }, + { -53, 16, 0, 0, 0, 0 }, { -54, 16, 0, 0, 0, 0 }, { -55, 16, 0, 0, 0, 0 }, { -56, 16, 0, 0, 0, 0 }, { -57, 16, 0, 0, 0, 0 }, + { -58, 16, 0, 0, 0, 0 }, { -59, 16, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, + { -63, 16, 0, 0, 0, 0 }, { -64, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_954930 = { - 192, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, - { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, - { 16, 30, 0, 10, 0, 0 }, { 16, 31, 0, 10, 0, 0 }, { 16, 32, 0, 10, 0, 0 }, { 16, 33, 0, 10, 0, 0 }, { 16, 34, 0, 10, 0, 0 }, - { 16, 35, 0, 10, 0, 0 }, { 16, 36, 0, 10, 0, 0 }, { 16, 37, 0, 10, 0, 0 }, { 16, 38, 0, 10, 0, 0 }, { 16, 39, 0, 10, 0, 0 }, - { 16, 40, 0, 12, 0, 0 }, { 16, 41, 0, 12, 0, 0 }, { 16, 42, 0, 12, 0, 0 }, { 16, 43, 0, 12, 0, 0 }, { 16, 44, 0, 12, 0, 0 }, - { 16, 45, 0, 12, 0, 0 }, { 16, 46, 0, 12, 0, 0 }, { 16, 47, 0, 12, 0, 0 }, { 16, 48, 0, 12, 0, 0 }, { 16, 49, 0, 12, 0, 0 }, - { 16, 50, 0, 14, 0, 0 }, { 16, 51, 0, 14, 0, 0 }, { 16, 52, 0, 14, 0, 0 }, { 16, 53, 0, 14, 0, 0 }, { 16, 54, 0, 14, 0, 0 }, - { 16, 55, 0, 14, 0, 0 }, { 16, 56, 0, 14, 0, 0 }, { 16, 57, 0, 16, 0, 0 }, { 16, 58, 0, 16, 0, 0 }, { 16, 59, 0, 16, 0, 0 }, - { 16, 60, 0, 16, 0, 0 }, { 16, 61, 0, 16, 0, 0 }, { 16, 62, 0, 16, 0, 0 }, { 16, 63, 0, 16, 0, 0 }, { 16, 64, 0, 16, 0, 0 }, - { 16, 65, 0, 16, 0, 0 }, { 16, 66, 0, 16, 0, 0 }, { 16, 67, 0, 18, 0, 0 }, { 16, 68, 0, 18, 0, 0 }, { 16, 69, 0, 18, 0, 0 }, - { 16, 70, 0, 18, 0, 0 }, { 16, 71, 0, 18, 0, 0 }, { 16, 72, 0, 18, 0, 0 }, { 16, 73, 0, 18, 0, 0 }, { 16, 74, 0, 20, 0, 0 }, - { 16, 75, 0, 20, 0, 0 }, { 16, 76, 0, 20, 0, 0 }, { 16, 77, 0, 20, 0, 0 }, { 16, 78, 0, 20, 0, 0 }, { 16, 79, 0, 20, 0, 0 }, - { 16, 80, 0, 20, 0, 0 }, { 16, 81, 0, 20, 0, 0 }, { 16, 82, 0, 20, 0, 0 }, { 16, 83, 0, 20, 0, 0 }, { 16, 84, 0, 22, 0, 0 }, - { 16, 85, 0, 22, 0, 0 }, { 16, 86, 0, 22, 0, 0 }, { 16, 87, 0, 22, 0, 0 }, { 16, 88, 0, 22, 0, 0 }, { 16, 89, 0, 22, 0, 0 }, - { 16, 90, 0, 22, 0, 0 }, { 16, 91, 0, 22, 0, 0 }, { 16, 92, 0, 22, 0, 0 }, { 16, 93, 0, 22, 0, 0 }, { 16, 94, 0, 24, 0, 0 }, - { 16, 95, 0, 24, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, - { 16, 9, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, - { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, - { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, - { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 33, 0, 8, 0, 0 }, - { 16, 34, 0, 8, 0, 0 }, { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, - { 16, 39, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, - { 16, 44, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, - { 16, 49, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, - { 16, 54, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, - { 16, 59, 0, 8, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { 16, 61, 0, 8, 0, 0 }, { 16, 62, 0, 8, 0, 0 }, { 16, 63, 0, 8, 0, 0 }, - { 16, 64, 0, 8, 0, 0 }, { 16, 65, 0, 8, 0, 0 }, { 16, 66, 0, 8, 0, 0 }, { 16, 67, 0, 8, 0, 0 }, { 16, 68, 0, 8, 0, 0 }, - { 16, 69, 0, 8, 0, 0 }, { 16, 70, 0, 8, 0, 0 }, { 16, 71, 0, 8, 0, 0 }, { 16, 72, 0, 8, 0, 0 }, { 16, 73, 0, 8, 0, 0 }, - { 16, 74, 0, 8, 0, 0 }, { 16, 75, 0, 8, 0, 0 }, { 16, 76, 0, 8, 0, 0 }, { 16, 77, 0, 8, 0, 0 }, { 16, 78, 0, 8, 0, 0 }, - { 16, 79, 0, 8, 0, 0 }, { 16, 80, 0, 8, 0, 0 }, { 16, 81, 0, 8, 0, 0 }, { 16, 82, 0, 8, 0, 0 }, { 16, 83, 0, 8, 0, 0 }, - { 16, 84, 0, 8, 0, 0 }, { 16, 85, 0, 8, 0, 0 }, { 16, 86, 0, 8, 0, 0 }, { 16, 87, 0, 8, 0, 0 }, { 16, 88, 0, 8, 0, 0 }, - { 16, 89, 0, 8, 0, 0 }, { 16, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, - { 16, 94, 0, 8, 0, 0 }, { 16, 95, 0, 8, 0, 0 }, + 192, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, + { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 30, 0, 10, 0, 0 }, { 16, 31, 0, 10, 0, 0 }, { 16, 32, 0, 10, 0, 0 }, { 16, 33, 0, 10, 0, 0 }, { 16, 34, 0, 10, 0, 0 }, + { 16, 35, 0, 10, 0, 0 }, { 16, 36, 0, 10, 0, 0 }, { 16, 37, 0, 10, 0, 0 }, { 16, 38, 0, 10, 0, 0 }, { 16, 39, 0, 10, 0, 0 }, + { 16, 40, 0, 12, 0, 0 }, { 16, 41, 0, 12, 0, 0 }, { 16, 42, 0, 12, 0, 0 }, { 16, 43, 0, 12, 0, 0 }, { 16, 44, 0, 12, 0, 0 }, + { 16, 45, 0, 12, 0, 0 }, { 16, 46, 0, 12, 0, 0 }, { 16, 47, 0, 12, 0, 0 }, { 16, 48, 0, 12, 0, 0 }, { 16, 49, 0, 12, 0, 0 }, + { 16, 50, 0, 14, 0, 0 }, { 16, 51, 0, 14, 0, 0 }, { 16, 52, 0, 14, 0, 0 }, { 16, 53, 0, 14, 0, 0 }, { 16, 54, 0, 14, 0, 0 }, + { 16, 55, 0, 14, 0, 0 }, { 16, 56, 0, 14, 0, 0 }, { 16, 57, 0, 16, 0, 0 }, { 16, 58, 0, 16, 0, 0 }, { 16, 59, 0, 16, 0, 0 }, + { 16, 60, 0, 16, 0, 0 }, { 16, 61, 0, 16, 0, 0 }, { 16, 62, 0, 16, 0, 0 }, { 16, 63, 0, 16, 0, 0 }, { 16, 64, 0, 16, 0, 0 }, + { 16, 65, 0, 16, 0, 0 }, { 16, 66, 0, 16, 0, 0 }, { 16, 67, 0, 18, 0, 0 }, { 16, 68, 0, 18, 0, 0 }, { 16, 69, 0, 18, 0, 0 }, + { 16, 70, 0, 18, 0, 0 }, { 16, 71, 0, 18, 0, 0 }, { 16, 72, 0, 18, 0, 0 }, { 16, 73, 0, 18, 0, 0 }, { 16, 74, 0, 20, 0, 0 }, + { 16, 75, 0, 20, 0, 0 }, { 16, 76, 0, 20, 0, 0 }, { 16, 77, 0, 20, 0, 0 }, { 16, 78, 0, 20, 0, 0 }, { 16, 79, 0, 20, 0, 0 }, + { 16, 80, 0, 20, 0, 0 }, { 16, 81, 0, 20, 0, 0 }, { 16, 82, 0, 20, 0, 0 }, { 16, 83, 0, 20, 0, 0 }, { 16, 84, 0, 22, 0, 0 }, + { 16, 85, 0, 22, 0, 0 }, { 16, 86, 0, 22, 0, 0 }, { 16, 87, 0, 22, 0, 0 }, { 16, 88, 0, 22, 0, 0 }, { 16, 89, 0, 22, 0, 0 }, + { 16, 90, 0, 22, 0, 0 }, { 16, 91, 0, 22, 0, 0 }, { 16, 92, 0, 22, 0, 0 }, { 16, 93, 0, 22, 0, 0 }, { 16, 94, 0, 24, 0, 0 }, + { 16, 95, 0, 24, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, + { 16, 9, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, + { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, + { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, + { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 33, 0, 8, 0, 0 }, + { 16, 34, 0, 8, 0, 0 }, { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, + { 16, 39, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, + { 16, 44, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, + { 16, 49, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, + { 16, 54, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, + { 16, 59, 0, 8, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { 16, 61, 0, 8, 0, 0 }, { 16, 62, 0, 8, 0, 0 }, { 16, 63, 0, 8, 0, 0 }, + { 16, 64, 0, 8, 0, 0 }, { 16, 65, 0, 8, 0, 0 }, { 16, 66, 0, 8, 0, 0 }, { 16, 67, 0, 8, 0, 0 }, { 16, 68, 0, 8, 0, 0 }, + { 16, 69, 0, 8, 0, 0 }, { 16, 70, 0, 8, 0, 0 }, { 16, 71, 0, 8, 0, 0 }, { 16, 72, 0, 8, 0, 0 }, { 16, 73, 0, 8, 0, 0 }, + { 16, 74, 0, 8, 0, 0 }, { 16, 75, 0, 8, 0, 0 }, { 16, 76, 0, 8, 0, 0 }, { 16, 77, 0, 8, 0, 0 }, { 16, 78, 0, 8, 0, 0 }, + { 16, 79, 0, 8, 0, 0 }, { 16, 80, 0, 8, 0, 0 }, { 16, 81, 0, 8, 0, 0 }, { 16, 82, 0, 8, 0, 0 }, { 16, 83, 0, 8, 0, 0 }, + { 16, 84, 0, 8, 0, 0 }, { 16, 85, 0, 8, 0, 0 }, { 16, 86, 0, 8, 0, 0 }, { 16, 87, 0, 8, 0, 0 }, { 16, 88, 0, 8, 0, 0 }, + { 16, 89, 0, 8, 0, 0 }, { 16, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, + { 16, 94, 0, 8, 0, 0 }, { 16, 95, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_954FF2 = { - 192, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, - { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 19, 16, 0, 16, 0, 0 }, - { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, - { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 18, 0, 0 }, { 31, 16, 0, 18, 0, 0 }, { 32, 16, 0, 18, 0, 0 }, { 33, 16, 0, 18, 0, 0 }, { 34, 16, 0, 18, 0, 0 }, - { 35, 16, 0, 18, 0, 0 }, { 36, 16, 0, 18, 0, 0 }, { 37, 16, 0, 18, 0, 0 }, { 38, 16, 0, 18, 0, 0 }, { 39, 16, 0, 18, 0, 0 }, - { 40, 16, 0, 20, 0, 0 }, { 41, 16, 0, 20, 0, 0 }, { 42, 16, 0, 20, 0, 0 }, { 43, 16, 0, 20, 0, 0 }, { 44, 16, 0, 20, 0, 0 }, - { 45, 16, 0, 20, 0, 0 }, { 46, 16, 0, 20, 0, 0 }, { 47, 16, 0, 20, 0, 0 }, { 48, 16, 0, 20, 0, 0 }, { 49, 16, 0, 20, 0, 0 }, - { 50, 16, 0, 22, 0, 0 }, { 51, 16, 0, 22, 0, 0 }, { 52, 16, 0, 22, 0, 0 }, { 53, 16, 0, 22, 0, 0 }, { 54, 16, 0, 22, 0, 0 }, - { 55, 16, 0, 22, 0, 0 }, { 56, 16, 0, 22, 0, 0 }, { 57, 16, 0, 24, 0, 0 }, { 58, 16, 0, 24, 0, 0 }, { 59, 16, 0, 24, 0, 0 }, - { 60, 16, 0, 24, 0, 0 }, { 61, 16, 0, 24, 0, 0 }, { 62, 16, 0, 24, 0, 0 }, { 63, 16, 0, 24, 0, 0 }, { 64, 16, 0, 24, 0, 0 }, - { 65, 16, 0, 24, 0, 0 }, { 66, 16, 0, 24, 0, 0 }, { 67, 16, 0, 26, 0, 0 }, { 68, 16, 0, 26, 0, 0 }, { 69, 16, 0, 26, 0, 0 }, - { 70, 16, 0, 26, 0, 0 }, { 71, 16, 0, 26, 0, 0 }, { 72, 16, 0, 26, 0, 0 }, { 73, 16, 0, 26, 0, 0 }, { 74, 16, 0, 28, 0, 0 }, - { 75, 16, 0, 28, 0, 0 }, { 76, 16, 0, 28, 0, 0 }, { 77, 16, 0, 28, 0, 0 }, { 78, 16, 0, 28, 0, 0 }, { 79, 16, 0, 28, 0, 0 }, - { 80, 16, 0, 28, 0, 0 }, { 81, 16, 0, 28, 0, 0 }, { 82, 16, 0, 28, 0, 0 }, { 83, 16, 0, 28, 0, 0 }, { 84, 16, 0, 30, 0, 0 }, - { 85, 16, 0, 30, 0, 0 }, { 86, 16, 0, 30, 0, 0 }, { 87, 16, 0, 30, 0, 0 }, { 88, 16, 0, 30, 0, 0 }, { 89, 16, 0, 30, 0, 0 }, - { 90, 16, 0, 30, 0, 0 }, { 91, 16, 0, 30, 0, 0 }, { 92, 16, 0, 30, 0, 0 }, { 93, 16, 0, 30, 0, 0 }, { 94, 16, 0, 0, 0, 0 }, - { 95, 16, 0, 0, 0, 0 }, { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, - { 4, 16, 0, 16, 0, 0 }, { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, - { 9, 16, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, - { 14, 16, 0, 16, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, - { 19, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, - { 24, 16, 0, 16, 0, 0 }, { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, - { 29, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, { 32, 16, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, - { 34, 16, 0, 16, 0, 0 }, { 35, 16, 0, 16, 0, 0 }, { 36, 16, 0, 16, 0, 0 }, { 37, 16, 0, 16, 0, 0 }, { 38, 16, 0, 16, 0, 0 }, - { 39, 16, 0, 16, 0, 0 }, { 40, 16, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 42, 16, 0, 16, 0, 0 }, { 43, 16, 0, 16, 0, 0 }, - { 44, 16, 0, 16, 0, 0 }, { 45, 16, 0, 16, 0, 0 }, { 46, 16, 0, 16, 0, 0 }, { 47, 16, 0, 16, 0, 0 }, { 48, 16, 0, 16, 0, 0 }, - { 49, 16, 0, 16, 0, 0 }, { 50, 16, 0, 16, 0, 0 }, { 51, 16, 0, 16, 0, 0 }, { 52, 16, 0, 16, 0, 0 }, { 53, 16, 0, 16, 0, 0 }, - { 54, 16, 0, 16, 0, 0 }, { 55, 16, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, - { 59, 16, 0, 16, 0, 0 }, { 60, 16, 0, 16, 0, 0 }, { 61, 16, 0, 16, 0, 0 }, { 62, 16, 0, 16, 0, 0 }, { 63, 16, 0, 16, 0, 0 }, - { 64, 16, 0, 16, 0, 0 }, { 65, 16, 0, 16, 0, 0 }, { 66, 16, 0, 16, 0, 0 }, { 67, 16, 0, 16, 0, 0 }, { 68, 16, 0, 16, 0, 0 }, - { 69, 16, 0, 16, 0, 0 }, { 70, 16, 0, 16, 0, 0 }, { 71, 16, 0, 16, 0, 0 }, { 72, 16, 0, 16, 0, 0 }, { 73, 16, 0, 16, 0, 0 }, - { 74, 16, 0, 16, 0, 0 }, { 75, 16, 0, 16, 0, 0 }, { 76, 16, 0, 16, 0, 0 }, { 77, 16, 0, 16, 0, 0 }, { 78, 16, 0, 16, 0, 0 }, - { 79, 16, 0, 16, 0, 0 }, { 80, 16, 0, 16, 0, 0 }, { 81, 16, 0, 16, 0, 0 }, { 82, 16, 0, 16, 0, 0 }, { 83, 16, 0, 16, 0, 0 }, - { 84, 16, 0, 16, 0, 0 }, { 85, 16, 0, 16, 0, 0 }, { 86, 16, 0, 16, 0, 0 }, { 87, 16, 0, 16, 0, 0 }, { 88, 16, 0, 16, 0, 0 }, - { 89, 16, 0, 16, 0, 0 }, { 90, 16, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, - { 94, 16, 0, 16, 0, 0 }, { 95, 16, 0, 16, 0, 0 }, + 192, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, + { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 19, 16, 0, 16, 0, 0 }, + { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, + { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 18, 0, 0 }, { 31, 16, 0, 18, 0, 0 }, { 32, 16, 0, 18, 0, 0 }, { 33, 16, 0, 18, 0, 0 }, { 34, 16, 0, 18, 0, 0 }, + { 35, 16, 0, 18, 0, 0 }, { 36, 16, 0, 18, 0, 0 }, { 37, 16, 0, 18, 0, 0 }, { 38, 16, 0, 18, 0, 0 }, { 39, 16, 0, 18, 0, 0 }, + { 40, 16, 0, 20, 0, 0 }, { 41, 16, 0, 20, 0, 0 }, { 42, 16, 0, 20, 0, 0 }, { 43, 16, 0, 20, 0, 0 }, { 44, 16, 0, 20, 0, 0 }, + { 45, 16, 0, 20, 0, 0 }, { 46, 16, 0, 20, 0, 0 }, { 47, 16, 0, 20, 0, 0 }, { 48, 16, 0, 20, 0, 0 }, { 49, 16, 0, 20, 0, 0 }, + { 50, 16, 0, 22, 0, 0 }, { 51, 16, 0, 22, 0, 0 }, { 52, 16, 0, 22, 0, 0 }, { 53, 16, 0, 22, 0, 0 }, { 54, 16, 0, 22, 0, 0 }, + { 55, 16, 0, 22, 0, 0 }, { 56, 16, 0, 22, 0, 0 }, { 57, 16, 0, 24, 0, 0 }, { 58, 16, 0, 24, 0, 0 }, { 59, 16, 0, 24, 0, 0 }, + { 60, 16, 0, 24, 0, 0 }, { 61, 16, 0, 24, 0, 0 }, { 62, 16, 0, 24, 0, 0 }, { 63, 16, 0, 24, 0, 0 }, { 64, 16, 0, 24, 0, 0 }, + { 65, 16, 0, 24, 0, 0 }, { 66, 16, 0, 24, 0, 0 }, { 67, 16, 0, 26, 0, 0 }, { 68, 16, 0, 26, 0, 0 }, { 69, 16, 0, 26, 0, 0 }, + { 70, 16, 0, 26, 0, 0 }, { 71, 16, 0, 26, 0, 0 }, { 72, 16, 0, 26, 0, 0 }, { 73, 16, 0, 26, 0, 0 }, { 74, 16, 0, 28, 0, 0 }, + { 75, 16, 0, 28, 0, 0 }, { 76, 16, 0, 28, 0, 0 }, { 77, 16, 0, 28, 0, 0 }, { 78, 16, 0, 28, 0, 0 }, { 79, 16, 0, 28, 0, 0 }, + { 80, 16, 0, 28, 0, 0 }, { 81, 16, 0, 28, 0, 0 }, { 82, 16, 0, 28, 0, 0 }, { 83, 16, 0, 28, 0, 0 }, { 84, 16, 0, 30, 0, 0 }, + { 85, 16, 0, 30, 0, 0 }, { 86, 16, 0, 30, 0, 0 }, { 87, 16, 0, 30, 0, 0 }, { 88, 16, 0, 30, 0, 0 }, { 89, 16, 0, 30, 0, 0 }, + { 90, 16, 0, 30, 0, 0 }, { 91, 16, 0, 30, 0, 0 }, { 92, 16, 0, 30, 0, 0 }, { 93, 16, 0, 30, 0, 0 }, { 94, 16, 0, 0, 0, 0 }, + { 95, 16, 0, 0, 0, 0 }, { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, + { 4, 16, 0, 16, 0, 0 }, { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, + { 9, 16, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, + { 14, 16, 0, 16, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, + { 19, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, + { 24, 16, 0, 16, 0, 0 }, { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, + { 29, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, { 32, 16, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, + { 34, 16, 0, 16, 0, 0 }, { 35, 16, 0, 16, 0, 0 }, { 36, 16, 0, 16, 0, 0 }, { 37, 16, 0, 16, 0, 0 }, { 38, 16, 0, 16, 0, 0 }, + { 39, 16, 0, 16, 0, 0 }, { 40, 16, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 42, 16, 0, 16, 0, 0 }, { 43, 16, 0, 16, 0, 0 }, + { 44, 16, 0, 16, 0, 0 }, { 45, 16, 0, 16, 0, 0 }, { 46, 16, 0, 16, 0, 0 }, { 47, 16, 0, 16, 0, 0 }, { 48, 16, 0, 16, 0, 0 }, + { 49, 16, 0, 16, 0, 0 }, { 50, 16, 0, 16, 0, 0 }, { 51, 16, 0, 16, 0, 0 }, { 52, 16, 0, 16, 0, 0 }, { 53, 16, 0, 16, 0, 0 }, + { 54, 16, 0, 16, 0, 0 }, { 55, 16, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, + { 59, 16, 0, 16, 0, 0 }, { 60, 16, 0, 16, 0, 0 }, { 61, 16, 0, 16, 0, 0 }, { 62, 16, 0, 16, 0, 0 }, { 63, 16, 0, 16, 0, 0 }, + { 64, 16, 0, 16, 0, 0 }, { 65, 16, 0, 16, 0, 0 }, { 66, 16, 0, 16, 0, 0 }, { 67, 16, 0, 16, 0, 0 }, { 68, 16, 0, 16, 0, 0 }, + { 69, 16, 0, 16, 0, 0 }, { 70, 16, 0, 16, 0, 0 }, { 71, 16, 0, 16, 0, 0 }, { 72, 16, 0, 16, 0, 0 }, { 73, 16, 0, 16, 0, 0 }, + { 74, 16, 0, 16, 0, 0 }, { 75, 16, 0, 16, 0, 0 }, { 76, 16, 0, 16, 0, 0 }, { 77, 16, 0, 16, 0, 0 }, { 78, 16, 0, 16, 0, 0 }, + { 79, 16, 0, 16, 0, 0 }, { 80, 16, 0, 16, 0, 0 }, { 81, 16, 0, 16, 0, 0 }, { 82, 16, 0, 16, 0, 0 }, { 83, 16, 0, 16, 0, 0 }, + { 84, 16, 0, 16, 0, 0 }, { 85, 16, 0, 16, 0, 0 }, { 86, 16, 0, 16, 0, 0 }, { 87, 16, 0, 16, 0, 0 }, { 88, 16, 0, 16, 0, 0 }, + { 89, 16, 0, 16, 0, 0 }, { 90, 16, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, + { 94, 16, 0, 16, 0, 0 }, { 95, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9556B4 = { - 192, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, - { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, - { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, - { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 1, 0, 26, 0, 0 }, { 16, 0, 0, 26, 0, 0 }, { 16, -1, 0, 26, 0, 0 }, { 16, -2, 0, 26, 0, 0 }, { 16, -3, 0, 26, 0, 0 }, - { 16, -4, 0, 26, 0, 0 }, { 16, -5, 0, 26, 0, 0 }, { 16, -6, 0, 26, 0, 0 }, { 16, -7, 0, 26, 0, 0 }, { 16, -8, 0, 26, 0, 0 }, - { 16, -9, 0, 28, 0, 0 }, { 16, -10, 0, 28, 0, 0 }, { 16, -11, 0, 28, 0, 0 }, { 16, -12, 0, 28, 0, 0 }, { 16, -13, 0, 28, 0, 0 }, - { 16, -14, 0, 28, 0, 0 }, { 16, -15, 0, 28, 0, 0 }, { 16, -16, 0, 28, 0, 0 }, { 16, -17, 0, 28, 0, 0 }, { 16, -18, 0, 28, 0, 0 }, - { 16, -19, 0, 30, 0, 0 }, { 16, -20, 0, 30, 0, 0 }, { 16, -21, 0, 30, 0, 0 }, { 16, -22, 0, 30, 0, 0 }, { 16, -23, 0, 30, 0, 0 }, - { 16, -24, 0, 30, 0, 0 }, { 16, -25, 0, 30, 0, 0 }, { 16, -26, 0, 0, 0, 0 }, { 16, -27, 0, 0, 0, 0 }, { 16, -28, 0, 0, 0, 0 }, - { 16, -29, 0, 0, 0, 0 }, { 16, -30, 0, 0, 0, 0 }, { 16, -31, 0, 0, 0, 0 }, { 16, -32, 0, 0, 0, 0 }, { 16, -33, 0, 0, 0, 0 }, - { 16, -34, 0, 0, 0, 0 }, { 16, -35, 0, 0, 0, 0 }, { 16, -36, 0, 2, 0, 0 }, { 16, -37, 0, 2, 0, 0 }, { 16, -38, 0, 2, 0, 0 }, - { 16, -39, 0, 2, 0, 0 }, { 16, -40, 0, 2, 0, 0 }, { 16, -41, 0, 2, 0, 0 }, { 16, -42, 0, 2, 0, 0 }, { 16, -43, 0, 4, 0, 0 }, - { 16, -44, 0, 4, 0, 0 }, { 16, -45, 0, 4, 0, 0 }, { 16, -46, 0, 4, 0, 0 }, { 16, -47, 0, 4, 0, 0 }, { 16, -48, 0, 4, 0, 0 }, - { 16, -49, 0, 4, 0, 0 }, { 16, -50, 0, 4, 0, 0 }, { 16, -51, 0, 4, 0, 0 }, { 16, -52, 0, 4, 0, 0 }, { 16, -53, 0, 6, 0, 0 }, - { 16, -54, 0, 6, 0, 0 }, { 16, -55, 0, 6, 0, 0 }, { 16, -56, 0, 6, 0, 0 }, { 16, -57, 0, 6, 0, 0 }, { 16, -58, 0, 6, 0, 0 }, - { 16, -59, 0, 6, 0, 0 }, { 16, -60, 0, 6, 0, 0 }, { 16, -61, 0, 6, 0, 0 }, { 16, -62, 0, 6, 0, 0 }, { 16, -63, 0, 8, 0, 0 }, - { 16, -64, 0, 8, 0, 0 }, { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, - { 16, 27, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, - { 16, 22, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, - { 16, 17, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, - { 16, 12, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, - { 16, 7, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, - { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, { 16, -1, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, - { 16, -3, 0, 24, 0, 0 }, { 16, -4, 0, 24, 0, 0 }, { 16, -5, 0, 24, 0, 0 }, { 16, -6, 0, 24, 0, 0 }, { 16, -7, 0, 24, 0, 0 }, - { 16, -8, 0, 24, 0, 0 }, { 16, -9, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 16, -11, 0, 24, 0, 0 }, { 16, -12, 0, 24, 0, 0 }, - { 16, -13, 0, 24, 0, 0 }, { 16, -14, 0, 24, 0, 0 }, { 16, -15, 0, 24, 0, 0 }, { 16, -16, 0, 24, 0, 0 }, { 16, -17, 0, 24, 0, 0 }, - { 16, -18, 0, 24, 0, 0 }, { 16, -19, 0, 24, 0, 0 }, { 16, -20, 0, 24, 0, 0 }, { 16, -21, 0, 24, 0, 0 }, { 16, -22, 0, 24, 0, 0 }, - { 16, -23, 0, 24, 0, 0 }, { 16, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 16, -26, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, - { 16, -28, 0, 24, 0, 0 }, { 16, -29, 0, 24, 0, 0 }, { 16, -30, 0, 24, 0, 0 }, { 16, -31, 0, 24, 0, 0 }, { 16, -32, 0, 24, 0, 0 }, - { 16, -33, 0, 24, 0, 0 }, { 16, -34, 0, 24, 0, 0 }, { 16, -35, 0, 24, 0, 0 }, { 16, -36, 0, 24, 0, 0 }, { 16, -37, 0, 24, 0, 0 }, - { 16, -38, 0, 24, 0, 0 }, { 16, -39, 0, 24, 0, 0 }, { 16, -40, 0, 24, 0, 0 }, { 16, -41, 0, 24, 0, 0 }, { 16, -42, 0, 24, 0, 0 }, - { 16, -43, 0, 24, 0, 0 }, { 16, -44, 0, 24, 0, 0 }, { 16, -45, 0, 24, 0, 0 }, { 16, -46, 0, 24, 0, 0 }, { 16, -47, 0, 24, 0, 0 }, - { 16, -48, 0, 24, 0, 0 }, { 16, -49, 0, 24, 0, 0 }, { 16, -50, 0, 24, 0, 0 }, { 16, -51, 0, 24, 0, 0 }, { 16, -52, 0, 24, 0, 0 }, - { 16, -53, 0, 24, 0, 0 }, { 16, -54, 0, 24, 0, 0 }, { 16, -55, 0, 24, 0, 0 }, { 16, -56, 0, 24, 0, 0 }, { 16, -57, 0, 24, 0, 0 }, - { 16, -58, 0, 24, 0, 0 }, { 16, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, - { 16, -63, 0, 24, 0, 0 }, { 16, -64, 0, 24, 0, 0 }, + 192, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, + { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, + { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, + { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 1, 0, 26, 0, 0 }, { 16, 0, 0, 26, 0, 0 }, { 16, -1, 0, 26, 0, 0 }, { 16, -2, 0, 26, 0, 0 }, { 16, -3, 0, 26, 0, 0 }, + { 16, -4, 0, 26, 0, 0 }, { 16, -5, 0, 26, 0, 0 }, { 16, -6, 0, 26, 0, 0 }, { 16, -7, 0, 26, 0, 0 }, { 16, -8, 0, 26, 0, 0 }, + { 16, -9, 0, 28, 0, 0 }, { 16, -10, 0, 28, 0, 0 }, { 16, -11, 0, 28, 0, 0 }, { 16, -12, 0, 28, 0, 0 }, { 16, -13, 0, 28, 0, 0 }, + { 16, -14, 0, 28, 0, 0 }, { 16, -15, 0, 28, 0, 0 }, { 16, -16, 0, 28, 0, 0 }, { 16, -17, 0, 28, 0, 0 }, { 16, -18, 0, 28, 0, 0 }, + { 16, -19, 0, 30, 0, 0 }, { 16, -20, 0, 30, 0, 0 }, { 16, -21, 0, 30, 0, 0 }, { 16, -22, 0, 30, 0, 0 }, { 16, -23, 0, 30, 0, 0 }, + { 16, -24, 0, 30, 0, 0 }, { 16, -25, 0, 30, 0, 0 }, { 16, -26, 0, 0, 0, 0 }, { 16, -27, 0, 0, 0, 0 }, { 16, -28, 0, 0, 0, 0 }, + { 16, -29, 0, 0, 0, 0 }, { 16, -30, 0, 0, 0, 0 }, { 16, -31, 0, 0, 0, 0 }, { 16, -32, 0, 0, 0, 0 }, { 16, -33, 0, 0, 0, 0 }, + { 16, -34, 0, 0, 0, 0 }, { 16, -35, 0, 0, 0, 0 }, { 16, -36, 0, 2, 0, 0 }, { 16, -37, 0, 2, 0, 0 }, { 16, -38, 0, 2, 0, 0 }, + { 16, -39, 0, 2, 0, 0 }, { 16, -40, 0, 2, 0, 0 }, { 16, -41, 0, 2, 0, 0 }, { 16, -42, 0, 2, 0, 0 }, { 16, -43, 0, 4, 0, 0 }, + { 16, -44, 0, 4, 0, 0 }, { 16, -45, 0, 4, 0, 0 }, { 16, -46, 0, 4, 0, 0 }, { 16, -47, 0, 4, 0, 0 }, { 16, -48, 0, 4, 0, 0 }, + { 16, -49, 0, 4, 0, 0 }, { 16, -50, 0, 4, 0, 0 }, { 16, -51, 0, 4, 0, 0 }, { 16, -52, 0, 4, 0, 0 }, { 16, -53, 0, 6, 0, 0 }, + { 16, -54, 0, 6, 0, 0 }, { 16, -55, 0, 6, 0, 0 }, { 16, -56, 0, 6, 0, 0 }, { 16, -57, 0, 6, 0, 0 }, { 16, -58, 0, 6, 0, 0 }, + { 16, -59, 0, 6, 0, 0 }, { 16, -60, 0, 6, 0, 0 }, { 16, -61, 0, 6, 0, 0 }, { 16, -62, 0, 6, 0, 0 }, { 16, -63, 0, 8, 0, 0 }, + { 16, -64, 0, 8, 0, 0 }, { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, + { 16, 27, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, + { 16, 22, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, + { 16, 17, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, + { 16, 12, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, + { 16, 7, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, + { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, { 16, -1, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, + { 16, -3, 0, 24, 0, 0 }, { 16, -4, 0, 24, 0, 0 }, { 16, -5, 0, 24, 0, 0 }, { 16, -6, 0, 24, 0, 0 }, { 16, -7, 0, 24, 0, 0 }, + { 16, -8, 0, 24, 0, 0 }, { 16, -9, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 16, -11, 0, 24, 0, 0 }, { 16, -12, 0, 24, 0, 0 }, + { 16, -13, 0, 24, 0, 0 }, { 16, -14, 0, 24, 0, 0 }, { 16, -15, 0, 24, 0, 0 }, { 16, -16, 0, 24, 0, 0 }, { 16, -17, 0, 24, 0, 0 }, + { 16, -18, 0, 24, 0, 0 }, { 16, -19, 0, 24, 0, 0 }, { 16, -20, 0, 24, 0, 0 }, { 16, -21, 0, 24, 0, 0 }, { 16, -22, 0, 24, 0, 0 }, + { 16, -23, 0, 24, 0, 0 }, { 16, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 16, -26, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, + { 16, -28, 0, 24, 0, 0 }, { 16, -29, 0, 24, 0, 0 }, { 16, -30, 0, 24, 0, 0 }, { 16, -31, 0, 24, 0, 0 }, { 16, -32, 0, 24, 0, 0 }, + { 16, -33, 0, 24, 0, 0 }, { 16, -34, 0, 24, 0, 0 }, { 16, -35, 0, 24, 0, 0 }, { 16, -36, 0, 24, 0, 0 }, { 16, -37, 0, 24, 0, 0 }, + { 16, -38, 0, 24, 0, 0 }, { 16, -39, 0, 24, 0, 0 }, { 16, -40, 0, 24, 0, 0 }, { 16, -41, 0, 24, 0, 0 }, { 16, -42, 0, 24, 0, 0 }, + { 16, -43, 0, 24, 0, 0 }, { 16, -44, 0, 24, 0, 0 }, { 16, -45, 0, 24, 0, 0 }, { 16, -46, 0, 24, 0, 0 }, { 16, -47, 0, 24, 0, 0 }, + { 16, -48, 0, 24, 0, 0 }, { 16, -49, 0, 24, 0, 0 }, { 16, -50, 0, 24, 0, 0 }, { 16, -51, 0, 24, 0, 0 }, { 16, -52, 0, 24, 0, 0 }, + { 16, -53, 0, 24, 0, 0 }, { 16, -54, 0, 24, 0, 0 }, { 16, -55, 0, 24, 0, 0 }, { 16, -56, 0, 24, 0, 0 }, { 16, -57, 0, 24, 0, 0 }, + { 16, -58, 0, 24, 0, 0 }, { 16, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, + { 16, -63, 0, 24, 0, 0 }, { 16, -64, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_955D76 = { - 192, { - { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, - { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, - { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, - { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, - { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, - { 1, 16, 0, 30, 0, 0 }, { 0, 16, 0, 30, 0, 0 }, { -1, 16, 0, 30, 0, 0 }, { -2, 16, 0, 30, 0, 0 }, { -3, 16, 0, 30, 0, 0 }, - { -4, 16, 0, 30, 0, 0 }, { -5, 16, 0, 30, 0, 0 }, { -6, 16, 0, 30, 0, 0 }, { -7, 16, 0, 30, 0, 0 }, { -8, 16, 0, 30, 0, 0 }, - { -9, 16, 0, 28, 0, 0 }, { -10, 16, 0, 28, 0, 0 }, { -11, 16, 0, 28, 0, 0 }, { -12, 16, 0, 28, 0, 0 }, { -13, 16, 0, 28, 0, 0 }, - { -14, 16, 0, 28, 0, 0 }, { -15, 16, 0, 28, 0, 0 }, { -16, 16, 0, 28, 0, 0 }, { -17, 16, 0, 28, 0, 0 }, { -18, 16, 0, 28, 0, 0 }, - { -19, 16, 0, 26, 0, 0 }, { -20, 16, 0, 26, 0, 0 }, { -21, 16, 0, 26, 0, 0 }, { -22, 16, 0, 26, 0, 0 }, { -23, 16, 0, 26, 0, 0 }, - { -24, 16, 0, 26, 0, 0 }, { -25, 16, 0, 26, 0, 0 }, { -26, 16, 0, 24, 0, 0 }, { -27, 16, 0, 24, 0, 0 }, { -28, 16, 0, 24, 0, 0 }, - { -29, 16, 0, 24, 0, 0 }, { -30, 16, 0, 24, 0, 0 }, { -31, 16, 0, 24, 0, 0 }, { -32, 16, 0, 24, 0, 0 }, { -33, 16, 0, 24, 0, 0 }, - { -34, 16, 0, 24, 0, 0 }, { -35, 16, 0, 24, 0, 0 }, { -36, 16, 0, 22, 0, 0 }, { -37, 16, 0, 22, 0, 0 }, { -38, 16, 0, 22, 0, 0 }, - { -39, 16, 0, 22, 0, 0 }, { -40, 16, 0, 22, 0, 0 }, { -41, 16, 0, 22, 0, 0 }, { -42, 16, 0, 22, 0, 0 }, { -43, 16, 0, 20, 0, 0 }, - { -44, 16, 0, 20, 0, 0 }, { -45, 16, 0, 20, 0, 0 }, { -46, 16, 0, 20, 0, 0 }, { -47, 16, 0, 20, 0, 0 }, { -48, 16, 0, 20, 0, 0 }, - { -49, 16, 0, 20, 0, 0 }, { -50, 16, 0, 20, 0, 0 }, { -51, 16, 0, 20, 0, 0 }, { -52, 16, 0, 20, 0, 0 }, { -53, 16, 0, 18, 0, 0 }, - { -54, 16, 0, 18, 0, 0 }, { -55, 16, 0, 18, 0, 0 }, { -56, 16, 0, 18, 0, 0 }, { -57, 16, 0, 18, 0, 0 }, { -58, 16, 0, 18, 0, 0 }, - { -59, 16, 0, 18, 0, 0 }, { -60, 16, 0, 18, 0, 0 }, { -61, 16, 0, 18, 0, 0 }, { -62, 16, 0, 18, 0, 0 }, { -63, 16, 0, 16, 0, 0 }, - { -64, 16, 0, 16, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, - { 22, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, - { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, - { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, - { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -2, 16, 0, 0, 0, 0 }, - { -3, 16, 0, 0, 0, 0 }, { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, - { -8, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, - { -13, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, - { -18, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, - { -23, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, - { -28, 16, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -30, 16, 0, 0, 0, 0 }, { -31, 16, 0, 0, 0, 0 }, { -32, 16, 0, 0, 0, 0 }, - { -33, 16, 0, 0, 0, 0 }, { -34, 16, 0, 0, 0, 0 }, { -35, 16, 0, 0, 0, 0 }, { -36, 16, 0, 0, 0, 0 }, { -37, 16, 0, 0, 0, 0 }, - { -38, 16, 0, 0, 0, 0 }, { -39, 16, 0, 0, 0, 0 }, { -40, 16, 0, 0, 0, 0 }, { -41, 16, 0, 0, 0, 0 }, { -42, 16, 0, 0, 0, 0 }, - { -43, 16, 0, 0, 0, 0 }, { -44, 16, 0, 0, 0, 0 }, { -45, 16, 0, 0, 0, 0 }, { -46, 16, 0, 0, 0, 0 }, { -47, 16, 0, 0, 0, 0 }, - { -48, 16, 0, 0, 0, 0 }, { -49, 16, 0, 0, 0, 0 }, { -50, 16, 0, 0, 0, 0 }, { -51, 16, 0, 0, 0, 0 }, { -52, 16, 0, 0, 0, 0 }, - { -53, 16, 0, 0, 0, 0 }, { -54, 16, 0, 0, 0, 0 }, { -55, 16, 0, 0, 0, 0 }, { -56, 16, 0, 0, 0, 0 }, { -57, 16, 0, 0, 0, 0 }, - { -58, 16, 0, 0, 0, 0 }, { -59, 16, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, - { -63, 16, 0, 0, 0, 0 }, { -64, 16, 0, 0, 0, 0 }, + 192, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, + { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, + { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, + { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, + { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 1, 16, 0, 30, 0, 0 }, { 0, 16, 0, 30, 0, 0 }, { -1, 16, 0, 30, 0, 0 }, { -2, 16, 0, 30, 0, 0 }, { -3, 16, 0, 30, 0, 0 }, + { -4, 16, 0, 30, 0, 0 }, { -5, 16, 0, 30, 0, 0 }, { -6, 16, 0, 30, 0, 0 }, { -7, 16, 0, 30, 0, 0 }, { -8, 16, 0, 30, 0, 0 }, + { -9, 16, 0, 28, 0, 0 }, { -10, 16, 0, 28, 0, 0 }, { -11, 16, 0, 28, 0, 0 }, { -12, 16, 0, 28, 0, 0 }, { -13, 16, 0, 28, 0, 0 }, + { -14, 16, 0, 28, 0, 0 }, { -15, 16, 0, 28, 0, 0 }, { -16, 16, 0, 28, 0, 0 }, { -17, 16, 0, 28, 0, 0 }, { -18, 16, 0, 28, 0, 0 }, + { -19, 16, 0, 26, 0, 0 }, { -20, 16, 0, 26, 0, 0 }, { -21, 16, 0, 26, 0, 0 }, { -22, 16, 0, 26, 0, 0 }, { -23, 16, 0, 26, 0, 0 }, + { -24, 16, 0, 26, 0, 0 }, { -25, 16, 0, 26, 0, 0 }, { -26, 16, 0, 24, 0, 0 }, { -27, 16, 0, 24, 0, 0 }, { -28, 16, 0, 24, 0, 0 }, + { -29, 16, 0, 24, 0, 0 }, { -30, 16, 0, 24, 0, 0 }, { -31, 16, 0, 24, 0, 0 }, { -32, 16, 0, 24, 0, 0 }, { -33, 16, 0, 24, 0, 0 }, + { -34, 16, 0, 24, 0, 0 }, { -35, 16, 0, 24, 0, 0 }, { -36, 16, 0, 22, 0, 0 }, { -37, 16, 0, 22, 0, 0 }, { -38, 16, 0, 22, 0, 0 }, + { -39, 16, 0, 22, 0, 0 }, { -40, 16, 0, 22, 0, 0 }, { -41, 16, 0, 22, 0, 0 }, { -42, 16, 0, 22, 0, 0 }, { -43, 16, 0, 20, 0, 0 }, + { -44, 16, 0, 20, 0, 0 }, { -45, 16, 0, 20, 0, 0 }, { -46, 16, 0, 20, 0, 0 }, { -47, 16, 0, 20, 0, 0 }, { -48, 16, 0, 20, 0, 0 }, + { -49, 16, 0, 20, 0, 0 }, { -50, 16, 0, 20, 0, 0 }, { -51, 16, 0, 20, 0, 0 }, { -52, 16, 0, 20, 0, 0 }, { -53, 16, 0, 18, 0, 0 }, + { -54, 16, 0, 18, 0, 0 }, { -55, 16, 0, 18, 0, 0 }, { -56, 16, 0, 18, 0, 0 }, { -57, 16, 0, 18, 0, 0 }, { -58, 16, 0, 18, 0, 0 }, + { -59, 16, 0, 18, 0, 0 }, { -60, 16, 0, 18, 0, 0 }, { -61, 16, 0, 18, 0, 0 }, { -62, 16, 0, 18, 0, 0 }, { -63, 16, 0, 16, 0, 0 }, + { -64, 16, 0, 16, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, + { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, + { 22, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, + { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, + { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, + { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { 0, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -2, 16, 0, 0, 0, 0 }, + { -3, 16, 0, 0, 0, 0 }, { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, + { -8, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, + { -13, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, + { -18, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, + { -23, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, + { -28, 16, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -30, 16, 0, 0, 0, 0 }, { -31, 16, 0, 0, 0, 0 }, { -32, 16, 0, 0, 0, 0 }, + { -33, 16, 0, 0, 0, 0 }, { -34, 16, 0, 0, 0, 0 }, { -35, 16, 0, 0, 0, 0 }, { -36, 16, 0, 0, 0, 0 }, { -37, 16, 0, 0, 0, 0 }, + { -38, 16, 0, 0, 0, 0 }, { -39, 16, 0, 0, 0, 0 }, { -40, 16, 0, 0, 0, 0 }, { -41, 16, 0, 0, 0, 0 }, { -42, 16, 0, 0, 0, 0 }, + { -43, 16, 0, 0, 0, 0 }, { -44, 16, 0, 0, 0, 0 }, { -45, 16, 0, 0, 0, 0 }, { -46, 16, 0, 0, 0, 0 }, { -47, 16, 0, 0, 0, 0 }, + { -48, 16, 0, 0, 0, 0 }, { -49, 16, 0, 0, 0, 0 }, { -50, 16, 0, 0, 0, 0 }, { -51, 16, 0, 0, 0, 0 }, { -52, 16, 0, 0, 0, 0 }, + { -53, 16, 0, 0, 0, 0 }, { -54, 16, 0, 0, 0, 0 }, { -55, 16, 0, 0, 0, 0 }, { -56, 16, 0, 0, 0, 0 }, { -57, 16, 0, 0, 0, 0 }, + { -58, 16, 0, 0, 0, 0 }, { -59, 16, 0, 0, 0, 0 }, { -60, 16, 0, 0, 0, 0 }, { -61, 16, 0, 0, 0, 0 }, { -62, 16, 0, 0, 0, 0 }, + { -63, 16, 0, 0, 0, 0 }, { -64, 16, 0, 0, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_956438 = { - 192, { - { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, - { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, - { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, - { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, - { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, - { 16, 30, 0, 6, 0, 0 }, { 16, 31, 0, 6, 0, 0 }, { 16, 32, 0, 6, 0, 0 }, { 16, 33, 0, 6, 0, 0 }, { 16, 34, 0, 6, 0, 0 }, - { 16, 35, 0, 6, 0, 0 }, { 16, 36, 0, 6, 0, 0 }, { 16, 37, 0, 6, 0, 0 }, { 16, 38, 0, 6, 0, 0 }, { 16, 39, 0, 6, 0, 0 }, - { 16, 40, 0, 4, 0, 0 }, { 16, 41, 0, 4, 0, 0 }, { 16, 42, 0, 4, 0, 0 }, { 16, 43, 0, 4, 0, 0 }, { 16, 44, 0, 4, 0, 0 }, - { 16, 45, 0, 4, 0, 0 }, { 16, 46, 0, 4, 0, 0 }, { 16, 47, 0, 4, 0, 0 }, { 16, 48, 0, 4, 0, 0 }, { 16, 49, 0, 4, 0, 0 }, - { 16, 50, 0, 2, 0, 0 }, { 16, 51, 0, 2, 0, 0 }, { 16, 52, 0, 2, 0, 0 }, { 16, 53, 0, 2, 0, 0 }, { 16, 54, 0, 2, 0, 0 }, - { 16, 55, 0, 2, 0, 0 }, { 16, 56, 0, 2, 0, 0 }, { 16, 57, 0, 0, 0, 0 }, { 16, 58, 0, 0, 0, 0 }, { 16, 59, 0, 0, 0, 0 }, - { 16, 60, 0, 0, 0, 0 }, { 16, 61, 0, 0, 0, 0 }, { 16, 62, 0, 0, 0, 0 }, { 16, 63, 0, 0, 0, 0 }, { 16, 64, 0, 0, 0, 0 }, - { 16, 65, 0, 0, 0, 0 }, { 16, 66, 0, 0, 0, 0 }, { 16, 67, 0, 30, 0, 0 }, { 16, 68, 0, 30, 0, 0 }, { 16, 69, 0, 30, 0, 0 }, - { 16, 70, 0, 30, 0, 0 }, { 16, 71, 0, 30, 0, 0 }, { 16, 72, 0, 30, 0, 0 }, { 16, 73, 0, 30, 0, 0 }, { 16, 74, 0, 28, 0, 0 }, - { 16, 75, 0, 28, 0, 0 }, { 16, 76, 0, 28, 0, 0 }, { 16, 77, 0, 28, 0, 0 }, { 16, 78, 0, 28, 0, 0 }, { 16, 79, 0, 28, 0, 0 }, - { 16, 80, 0, 28, 0, 0 }, { 16, 81, 0, 28, 0, 0 }, { 16, 82, 0, 28, 0, 0 }, { 16, 83, 0, 28, 0, 0 }, { 16, 84, 0, 26, 0, 0 }, - { 16, 85, 0, 26, 0, 0 }, { 16, 86, 0, 26, 0, 0 }, { 16, 87, 0, 26, 0, 0 }, { 16, 88, 0, 26, 0, 0 }, { 16, 89, 0, 26, 0, 0 }, - { 16, 90, 0, 26, 0, 0 }, { 16, 91, 0, 26, 0, 0 }, { 16, 92, 0, 26, 0, 0 }, { 16, 93, 0, 26, 0, 0 }, { 16, 94, 0, 24, 0, 0 }, - { 16, 95, 0, 24, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, - { 16, 9, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, - { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, - { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, - { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 33, 0, 8, 0, 0 }, - { 16, 34, 0, 8, 0, 0 }, { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, - { 16, 39, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, - { 16, 44, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, - { 16, 49, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, - { 16, 54, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, - { 16, 59, 0, 8, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { 16, 61, 0, 8, 0, 0 }, { 16, 62, 0, 8, 0, 0 }, { 16, 63, 0, 8, 0, 0 }, - { 16, 64, 0, 8, 0, 0 }, { 16, 65, 0, 8, 0, 0 }, { 16, 66, 0, 8, 0, 0 }, { 16, 67, 0, 8, 0, 0 }, { 16, 68, 0, 8, 0, 0 }, - { 16, 69, 0, 8, 0, 0 }, { 16, 70, 0, 8, 0, 0 }, { 16, 71, 0, 8, 0, 0 }, { 16, 72, 0, 8, 0, 0 }, { 16, 73, 0, 8, 0, 0 }, - { 16, 74, 0, 8, 0, 0 }, { 16, 75, 0, 8, 0, 0 }, { 16, 76, 0, 8, 0, 0 }, { 16, 77, 0, 8, 0, 0 }, { 16, 78, 0, 8, 0, 0 }, - { 16, 79, 0, 8, 0, 0 }, { 16, 80, 0, 8, 0, 0 }, { 16, 81, 0, 8, 0, 0 }, { 16, 82, 0, 8, 0, 0 }, { 16, 83, 0, 8, 0, 0 }, - { 16, 84, 0, 8, 0, 0 }, { 16, 85, 0, 8, 0, 0 }, { 16, 86, 0, 8, 0, 0 }, { 16, 87, 0, 8, 0, 0 }, { 16, 88, 0, 8, 0, 0 }, - { 16, 89, 0, 8, 0, 0 }, { 16, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, - { 16, 94, 0, 8, 0, 0 }, { 16, 95, 0, 8, 0, 0 }, + 192, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, + { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, + { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, + { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, + { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 30, 0, 6, 0, 0 }, { 16, 31, 0, 6, 0, 0 }, { 16, 32, 0, 6, 0, 0 }, { 16, 33, 0, 6, 0, 0 }, { 16, 34, 0, 6, 0, 0 }, + { 16, 35, 0, 6, 0, 0 }, { 16, 36, 0, 6, 0, 0 }, { 16, 37, 0, 6, 0, 0 }, { 16, 38, 0, 6, 0, 0 }, { 16, 39, 0, 6, 0, 0 }, + { 16, 40, 0, 4, 0, 0 }, { 16, 41, 0, 4, 0, 0 }, { 16, 42, 0, 4, 0, 0 }, { 16, 43, 0, 4, 0, 0 }, { 16, 44, 0, 4, 0, 0 }, + { 16, 45, 0, 4, 0, 0 }, { 16, 46, 0, 4, 0, 0 }, { 16, 47, 0, 4, 0, 0 }, { 16, 48, 0, 4, 0, 0 }, { 16, 49, 0, 4, 0, 0 }, + { 16, 50, 0, 2, 0, 0 }, { 16, 51, 0, 2, 0, 0 }, { 16, 52, 0, 2, 0, 0 }, { 16, 53, 0, 2, 0, 0 }, { 16, 54, 0, 2, 0, 0 }, + { 16, 55, 0, 2, 0, 0 }, { 16, 56, 0, 2, 0, 0 }, { 16, 57, 0, 0, 0, 0 }, { 16, 58, 0, 0, 0, 0 }, { 16, 59, 0, 0, 0, 0 }, + { 16, 60, 0, 0, 0, 0 }, { 16, 61, 0, 0, 0, 0 }, { 16, 62, 0, 0, 0, 0 }, { 16, 63, 0, 0, 0, 0 }, { 16, 64, 0, 0, 0, 0 }, + { 16, 65, 0, 0, 0, 0 }, { 16, 66, 0, 0, 0, 0 }, { 16, 67, 0, 30, 0, 0 }, { 16, 68, 0, 30, 0, 0 }, { 16, 69, 0, 30, 0, 0 }, + { 16, 70, 0, 30, 0, 0 }, { 16, 71, 0, 30, 0, 0 }, { 16, 72, 0, 30, 0, 0 }, { 16, 73, 0, 30, 0, 0 }, { 16, 74, 0, 28, 0, 0 }, + { 16, 75, 0, 28, 0, 0 }, { 16, 76, 0, 28, 0, 0 }, { 16, 77, 0, 28, 0, 0 }, { 16, 78, 0, 28, 0, 0 }, { 16, 79, 0, 28, 0, 0 }, + { 16, 80, 0, 28, 0, 0 }, { 16, 81, 0, 28, 0, 0 }, { 16, 82, 0, 28, 0, 0 }, { 16, 83, 0, 28, 0, 0 }, { 16, 84, 0, 26, 0, 0 }, + { 16, 85, 0, 26, 0, 0 }, { 16, 86, 0, 26, 0, 0 }, { 16, 87, 0, 26, 0, 0 }, { 16, 88, 0, 26, 0, 0 }, { 16, 89, 0, 26, 0, 0 }, + { 16, 90, 0, 26, 0, 0 }, { 16, 91, 0, 26, 0, 0 }, { 16, 92, 0, 26, 0, 0 }, { 16, 93, 0, 26, 0, 0 }, { 16, 94, 0, 24, 0, 0 }, + { 16, 95, 0, 24, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, + { 16, 4, 0, 8, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, + { 16, 9, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, + { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, + { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, + { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 31, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 33, 0, 8, 0, 0 }, + { 16, 34, 0, 8, 0, 0 }, { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, + { 16, 39, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, + { 16, 44, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, + { 16, 49, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, + { 16, 54, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, + { 16, 59, 0, 8, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { 16, 61, 0, 8, 0, 0 }, { 16, 62, 0, 8, 0, 0 }, { 16, 63, 0, 8, 0, 0 }, + { 16, 64, 0, 8, 0, 0 }, { 16, 65, 0, 8, 0, 0 }, { 16, 66, 0, 8, 0, 0 }, { 16, 67, 0, 8, 0, 0 }, { 16, 68, 0, 8, 0, 0 }, + { 16, 69, 0, 8, 0, 0 }, { 16, 70, 0, 8, 0, 0 }, { 16, 71, 0, 8, 0, 0 }, { 16, 72, 0, 8, 0, 0 }, { 16, 73, 0, 8, 0, 0 }, + { 16, 74, 0, 8, 0, 0 }, { 16, 75, 0, 8, 0, 0 }, { 16, 76, 0, 8, 0, 0 }, { 16, 77, 0, 8, 0, 0 }, { 16, 78, 0, 8, 0, 0 }, + { 16, 79, 0, 8, 0, 0 }, { 16, 80, 0, 8, 0, 0 }, { 16, 81, 0, 8, 0, 0 }, { 16, 82, 0, 8, 0, 0 }, { 16, 83, 0, 8, 0, 0 }, + { 16, 84, 0, 8, 0, 0 }, { 16, 85, 0, 8, 0, 0 }, { 16, 86, 0, 8, 0, 0 }, { 16, 87, 0, 8, 0, 0 }, { 16, 88, 0, 8, 0, 0 }, + { 16, 89, 0, 8, 0, 0 }, { 16, 90, 0, 8, 0, 0 }, { 16, 91, 0, 8, 0, 0 }, { 16, 92, 0, 8, 0, 0 }, { 16, 93, 0, 8, 0, 0 }, + { 16, 94, 0, 8, 0, 0 }, { 16, 95, 0, 8, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_956AFA = { - 192, { - { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, - { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, - { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, - { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 19, 16, 0, 16, 0, 0 }, - { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, - { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, - { 30, 16, 0, 14, 0, 0 }, { 31, 16, 0, 14, 0, 0 }, { 32, 16, 0, 14, 0, 0 }, { 33, 16, 0, 14, 0, 0 }, { 34, 16, 0, 14, 0, 0 }, - { 35, 16, 0, 14, 0, 0 }, { 36, 16, 0, 14, 0, 0 }, { 37, 16, 0, 14, 0, 0 }, { 38, 16, 0, 14, 0, 0 }, { 39, 16, 0, 14, 0, 0 }, - { 40, 16, 0, 12, 0, 0 }, { 41, 16, 0, 12, 0, 0 }, { 42, 16, 0, 12, 0, 0 }, { 43, 16, 0, 12, 0, 0 }, { 44, 16, 0, 12, 0, 0 }, - { 45, 16, 0, 12, 0, 0 }, { 46, 16, 0, 12, 0, 0 }, { 47, 16, 0, 12, 0, 0 }, { 48, 16, 0, 12, 0, 0 }, { 49, 16, 0, 12, 0, 0 }, - { 50, 16, 0, 10, 0, 0 }, { 51, 16, 0, 10, 0, 0 }, { 52, 16, 0, 10, 0, 0 }, { 53, 16, 0, 10, 0, 0 }, { 54, 16, 0, 10, 0, 0 }, - { 55, 16, 0, 10, 0, 0 }, { 56, 16, 0, 10, 0, 0 }, { 57, 16, 0, 8, 0, 0 }, { 58, 16, 0, 8, 0, 0 }, { 59, 16, 0, 8, 0, 0 }, - { 60, 16, 0, 8, 0, 0 }, { 61, 16, 0, 8, 0, 0 }, { 62, 16, 0, 8, 0, 0 }, { 63, 16, 0, 8, 0, 0 }, { 64, 16, 0, 8, 0, 0 }, - { 65, 16, 0, 8, 0, 0 }, { 66, 16, 0, 8, 0, 0 }, { 67, 16, 0, 6, 0, 0 }, { 68, 16, 0, 6, 0, 0 }, { 69, 16, 0, 6, 0, 0 }, - { 70, 16, 0, 6, 0, 0 }, { 71, 16, 0, 6, 0, 0 }, { 72, 16, 0, 6, 0, 0 }, { 73, 16, 0, 6, 0, 0 }, { 74, 16, 0, 4, 0, 0 }, - { 75, 16, 0, 4, 0, 0 }, { 76, 16, 0, 4, 0, 0 }, { 77, 16, 0, 4, 0, 0 }, { 78, 16, 0, 4, 0, 0 }, { 79, 16, 0, 4, 0, 0 }, - { 80, 16, 0, 4, 0, 0 }, { 81, 16, 0, 4, 0, 0 }, { 82, 16, 0, 4, 0, 0 }, { 83, 16, 0, 4, 0, 0 }, { 84, 16, 0, 2, 0, 0 }, - { 85, 16, 0, 2, 0, 0 }, { 86, 16, 0, 2, 0, 0 }, { 87, 16, 0, 2, 0, 0 }, { 88, 16, 0, 2, 0, 0 }, { 89, 16, 0, 2, 0, 0 }, - { 90, 16, 0, 2, 0, 0 }, { 91, 16, 0, 2, 0, 0 }, { 92, 16, 0, 2, 0, 0 }, { 93, 16, 0, 2, 0, 0 }, { 94, 16, 0, 0, 0, 0 }, - { 95, 16, 0, 0, 0, 0 }, { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, - { 4, 16, 0, 16, 0, 0 }, { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, - { 9, 16, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, - { 14, 16, 0, 16, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, - { 19, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, - { 24, 16, 0, 16, 0, 0 }, { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, - { 29, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, { 32, 16, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, - { 34, 16, 0, 16, 0, 0 }, { 35, 16, 0, 16, 0, 0 }, { 36, 16, 0, 16, 0, 0 }, { 37, 16, 0, 16, 0, 0 }, { 38, 16, 0, 16, 0, 0 }, - { 39, 16, 0, 16, 0, 0 }, { 40, 16, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 42, 16, 0, 16, 0, 0 }, { 43, 16, 0, 16, 0, 0 }, - { 44, 16, 0, 16, 0, 0 }, { 45, 16, 0, 16, 0, 0 }, { 46, 16, 0, 16, 0, 0 }, { 47, 16, 0, 16, 0, 0 }, { 48, 16, 0, 16, 0, 0 }, - { 49, 16, 0, 16, 0, 0 }, { 50, 16, 0, 16, 0, 0 }, { 51, 16, 0, 16, 0, 0 }, { 52, 16, 0, 16, 0, 0 }, { 53, 16, 0, 16, 0, 0 }, - { 54, 16, 0, 16, 0, 0 }, { 55, 16, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, - { 59, 16, 0, 16, 0, 0 }, { 60, 16, 0, 16, 0, 0 }, { 61, 16, 0, 16, 0, 0 }, { 62, 16, 0, 16, 0, 0 }, { 63, 16, 0, 16, 0, 0 }, - { 64, 16, 0, 16, 0, 0 }, { 65, 16, 0, 16, 0, 0 }, { 66, 16, 0, 16, 0, 0 }, { 67, 16, 0, 16, 0, 0 }, { 68, 16, 0, 16, 0, 0 }, - { 69, 16, 0, 16, 0, 0 }, { 70, 16, 0, 16, 0, 0 }, { 71, 16, 0, 16, 0, 0 }, { 72, 16, 0, 16, 0, 0 }, { 73, 16, 0, 16, 0, 0 }, - { 74, 16, 0, 16, 0, 0 }, { 75, 16, 0, 16, 0, 0 }, { 76, 16, 0, 16, 0, 0 }, { 77, 16, 0, 16, 0, 0 }, { 78, 16, 0, 16, 0, 0 }, - { 79, 16, 0, 16, 0, 0 }, { 80, 16, 0, 16, 0, 0 }, { 81, 16, 0, 16, 0, 0 }, { 82, 16, 0, 16, 0, 0 }, { 83, 16, 0, 16, 0, 0 }, - { 84, 16, 0, 16, 0, 0 }, { 85, 16, 0, 16, 0, 0 }, { 86, 16, 0, 16, 0, 0 }, { 87, 16, 0, 16, 0, 0 }, { 88, 16, 0, 16, 0, 0 }, - { 89, 16, 0, 16, 0, 0 }, { 90, 16, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, - { 94, 16, 0, 16, 0, 0 }, { 95, 16, 0, 16, 0, 0 }, + 192, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, + { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, + { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 19, 16, 0, 16, 0, 0 }, + { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, { 24, 16, 0, 16, 0, 0 }, + { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, { 29, 16, 0, 16, 0, 0 }, + { 30, 16, 0, 14, 0, 0 }, { 31, 16, 0, 14, 0, 0 }, { 32, 16, 0, 14, 0, 0 }, { 33, 16, 0, 14, 0, 0 }, { 34, 16, 0, 14, 0, 0 }, + { 35, 16, 0, 14, 0, 0 }, { 36, 16, 0, 14, 0, 0 }, { 37, 16, 0, 14, 0, 0 }, { 38, 16, 0, 14, 0, 0 }, { 39, 16, 0, 14, 0, 0 }, + { 40, 16, 0, 12, 0, 0 }, { 41, 16, 0, 12, 0, 0 }, { 42, 16, 0, 12, 0, 0 }, { 43, 16, 0, 12, 0, 0 }, { 44, 16, 0, 12, 0, 0 }, + { 45, 16, 0, 12, 0, 0 }, { 46, 16, 0, 12, 0, 0 }, { 47, 16, 0, 12, 0, 0 }, { 48, 16, 0, 12, 0, 0 }, { 49, 16, 0, 12, 0, 0 }, + { 50, 16, 0, 10, 0, 0 }, { 51, 16, 0, 10, 0, 0 }, { 52, 16, 0, 10, 0, 0 }, { 53, 16, 0, 10, 0, 0 }, { 54, 16, 0, 10, 0, 0 }, + { 55, 16, 0, 10, 0, 0 }, { 56, 16, 0, 10, 0, 0 }, { 57, 16, 0, 8, 0, 0 }, { 58, 16, 0, 8, 0, 0 }, { 59, 16, 0, 8, 0, 0 }, + { 60, 16, 0, 8, 0, 0 }, { 61, 16, 0, 8, 0, 0 }, { 62, 16, 0, 8, 0, 0 }, { 63, 16, 0, 8, 0, 0 }, { 64, 16, 0, 8, 0, 0 }, + { 65, 16, 0, 8, 0, 0 }, { 66, 16, 0, 8, 0, 0 }, { 67, 16, 0, 6, 0, 0 }, { 68, 16, 0, 6, 0, 0 }, { 69, 16, 0, 6, 0, 0 }, + { 70, 16, 0, 6, 0, 0 }, { 71, 16, 0, 6, 0, 0 }, { 72, 16, 0, 6, 0, 0 }, { 73, 16, 0, 6, 0, 0 }, { 74, 16, 0, 4, 0, 0 }, + { 75, 16, 0, 4, 0, 0 }, { 76, 16, 0, 4, 0, 0 }, { 77, 16, 0, 4, 0, 0 }, { 78, 16, 0, 4, 0, 0 }, { 79, 16, 0, 4, 0, 0 }, + { 80, 16, 0, 4, 0, 0 }, { 81, 16, 0, 4, 0, 0 }, { 82, 16, 0, 4, 0, 0 }, { 83, 16, 0, 4, 0, 0 }, { 84, 16, 0, 2, 0, 0 }, + { 85, 16, 0, 2, 0, 0 }, { 86, 16, 0, 2, 0, 0 }, { 87, 16, 0, 2, 0, 0 }, { 88, 16, 0, 2, 0, 0 }, { 89, 16, 0, 2, 0, 0 }, + { 90, 16, 0, 2, 0, 0 }, { 91, 16, 0, 2, 0, 0 }, { 92, 16, 0, 2, 0, 0 }, { 93, 16, 0, 2, 0, 0 }, { 94, 16, 0, 0, 0, 0 }, + { 95, 16, 0, 0, 0, 0 }, { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, + { 4, 16, 0, 16, 0, 0 }, { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, + { 9, 16, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, + { 14, 16, 0, 16, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 16, 16, 0, 16, 0, 0 }, { 17, 16, 0, 16, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, + { 19, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { 21, 16, 0, 16, 0, 0 }, { 22, 16, 0, 16, 0, 0 }, { 23, 16, 0, 16, 0, 0 }, + { 24, 16, 0, 16, 0, 0 }, { 25, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 27, 16, 0, 16, 0, 0 }, { 28, 16, 0, 16, 0, 0 }, + { 29, 16, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 31, 16, 0, 16, 0, 0 }, { 32, 16, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, + { 34, 16, 0, 16, 0, 0 }, { 35, 16, 0, 16, 0, 0 }, { 36, 16, 0, 16, 0, 0 }, { 37, 16, 0, 16, 0, 0 }, { 38, 16, 0, 16, 0, 0 }, + { 39, 16, 0, 16, 0, 0 }, { 40, 16, 0, 16, 0, 0 }, { 41, 16, 0, 16, 0, 0 }, { 42, 16, 0, 16, 0, 0 }, { 43, 16, 0, 16, 0, 0 }, + { 44, 16, 0, 16, 0, 0 }, { 45, 16, 0, 16, 0, 0 }, { 46, 16, 0, 16, 0, 0 }, { 47, 16, 0, 16, 0, 0 }, { 48, 16, 0, 16, 0, 0 }, + { 49, 16, 0, 16, 0, 0 }, { 50, 16, 0, 16, 0, 0 }, { 51, 16, 0, 16, 0, 0 }, { 52, 16, 0, 16, 0, 0 }, { 53, 16, 0, 16, 0, 0 }, + { 54, 16, 0, 16, 0, 0 }, { 55, 16, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, + { 59, 16, 0, 16, 0, 0 }, { 60, 16, 0, 16, 0, 0 }, { 61, 16, 0, 16, 0, 0 }, { 62, 16, 0, 16, 0, 0 }, { 63, 16, 0, 16, 0, 0 }, + { 64, 16, 0, 16, 0, 0 }, { 65, 16, 0, 16, 0, 0 }, { 66, 16, 0, 16, 0, 0 }, { 67, 16, 0, 16, 0, 0 }, { 68, 16, 0, 16, 0, 0 }, + { 69, 16, 0, 16, 0, 0 }, { 70, 16, 0, 16, 0, 0 }, { 71, 16, 0, 16, 0, 0 }, { 72, 16, 0, 16, 0, 0 }, { 73, 16, 0, 16, 0, 0 }, + { 74, 16, 0, 16, 0, 0 }, { 75, 16, 0, 16, 0, 0 }, { 76, 16, 0, 16, 0, 0 }, { 77, 16, 0, 16, 0, 0 }, { 78, 16, 0, 16, 0, 0 }, + { 79, 16, 0, 16, 0, 0 }, { 80, 16, 0, 16, 0, 0 }, { 81, 16, 0, 16, 0, 0 }, { 82, 16, 0, 16, 0, 0 }, { 83, 16, 0, 16, 0, 0 }, + { 84, 16, 0, 16, 0, 0 }, { 85, 16, 0, 16, 0, 0 }, { 86, 16, 0, 16, 0, 0 }, { 87, 16, 0, 16, 0, 0 }, { 88, 16, 0, 16, 0, 0 }, + { 89, 16, 0, 16, 0, 0 }, { 90, 16, 0, 16, 0, 0 }, { 91, 16, 0, 16, 0, 0 }, { 92, 16, 0, 16, 0, 0 }, { 93, 16, 0, 16, 0, 0 }, + { 94, 16, 0, 16, 0, 0 }, { 95, 16, 0, 16, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_9571BC = { - 192, { - { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, - { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, - { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, - { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, - { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, - { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, - { 16, 1, 0, 22, 0, 0 }, { 16, 0, 0, 22, 0, 0 }, { 16, -1, 0, 22, 0, 0 }, { 16, -2, 0, 22, 0, 0 }, { 16, -3, 0, 22, 0, 0 }, - { 16, -4, 0, 22, 0, 0 }, { 16, -5, 0, 22, 0, 0 }, { 16, -6, 0, 22, 0, 0 }, { 16, -7, 0, 22, 0, 0 }, { 16, -8, 0, 22, 0, 0 }, - { 16, -9, 0, 20, 0, 0 }, { 16, -10, 0, 20, 0, 0 }, { 16, -11, 0, 20, 0, 0 }, { 16, -12, 0, 20, 0, 0 }, { 16, -13, 0, 20, 0, 0 }, - { 16, -14, 0, 20, 0, 0 }, { 16, -15, 0, 20, 0, 0 }, { 16, -16, 0, 20, 0, 0 }, { 16, -17, 0, 20, 0, 0 }, { 16, -18, 0, 20, 0, 0 }, - { 16, -19, 0, 18, 0, 0 }, { 16, -20, 0, 18, 0, 0 }, { 16, -21, 0, 18, 0, 0 }, { 16, -22, 0, 18, 0, 0 }, { 16, -23, 0, 18, 0, 0 }, - { 16, -24, 0, 18, 0, 0 }, { 16, -25, 0, 18, 0, 0 }, { 16, -26, 0, 16, 0, 0 }, { 16, -27, 0, 16, 0, 0 }, { 16, -28, 0, 16, 0, 0 }, - { 16, -29, 0, 16, 0, 0 }, { 16, -30, 0, 16, 0, 0 }, { 16, -31, 0, 16, 0, 0 }, { 16, -32, 0, 16, 0, 0 }, { 16, -33, 0, 16, 0, 0 }, - { 16, -34, 0, 16, 0, 0 }, { 16, -35, 0, 16, 0, 0 }, { 16, -36, 0, 14, 0, 0 }, { 16, -37, 0, 14, 0, 0 }, { 16, -38, 0, 14, 0, 0 }, - { 16, -39, 0, 14, 0, 0 }, { 16, -40, 0, 14, 0, 0 }, { 16, -41, 0, 14, 0, 0 }, { 16, -42, 0, 14, 0, 0 }, { 16, -43, 0, 12, 0, 0 }, - { 16, -44, 0, 12, 0, 0 }, { 16, -45, 0, 12, 0, 0 }, { 16, -46, 0, 12, 0, 0 }, { 16, -47, 0, 12, 0, 0 }, { 16, -48, 0, 12, 0, 0 }, - { 16, -49, 0, 12, 0, 0 }, { 16, -50, 0, 12, 0, 0 }, { 16, -51, 0, 12, 0, 0 }, { 16, -52, 0, 12, 0, 0 }, { 16, -53, 0, 10, 0, 0 }, - { 16, -54, 0, 10, 0, 0 }, { 16, -55, 0, 10, 0, 0 }, { 16, -56, 0, 10, 0, 0 }, { 16, -57, 0, 10, 0, 0 }, { 16, -58, 0, 10, 0, 0 }, - { 16, -59, 0, 10, 0, 0 }, { 16, -60, 0, 10, 0, 0 }, { 16, -61, 0, 10, 0, 0 }, { 16, -62, 0, 10, 0, 0 }, { 16, -63, 0, 8, 0, 0 }, - { 16, -64, 0, 8, 0, 0 }, { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, - { 16, 27, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, - { 16, 22, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, - { 16, 17, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, - { 16, 12, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, - { 16, 7, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, - { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, { 16, -1, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, - { 16, -3, 0, 24, 0, 0 }, { 16, -4, 0, 24, 0, 0 }, { 16, -5, 0, 24, 0, 0 }, { 16, -6, 0, 24, 0, 0 }, { 16, -7, 0, 24, 0, 0 }, - { 16, -8, 0, 24, 0, 0 }, { 16, -9, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 16, -11, 0, 24, 0, 0 }, { 16, -12, 0, 24, 0, 0 }, - { 16, -13, 0, 24, 0, 0 }, { 16, -14, 0, 24, 0, 0 }, { 16, -15, 0, 24, 0, 0 }, { 16, -16, 0, 24, 0, 0 }, { 16, -17, 0, 24, 0, 0 }, - { 16, -18, 0, 24, 0, 0 }, { 16, -19, 0, 24, 0, 0 }, { 16, -20, 0, 24, 0, 0 }, { 16, -21, 0, 24, 0, 0 }, { 16, -22, 0, 24, 0, 0 }, - { 16, -23, 0, 24, 0, 0 }, { 16, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 16, -26, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, - { 16, -28, 0, 24, 0, 0 }, { 16, -29, 0, 24, 0, 0 }, { 16, -30, 0, 24, 0, 0 }, { 16, -31, 0, 24, 0, 0 }, { 16, -32, 0, 24, 0, 0 }, - { 16, -33, 0, 24, 0, 0 }, { 16, -34, 0, 24, 0, 0 }, { 16, -35, 0, 24, 0, 0 }, { 16, -36, 0, 24, 0, 0 }, { 16, -37, 0, 24, 0, 0 }, - { 16, -38, 0, 24, 0, 0 }, { 16, -39, 0, 24, 0, 0 }, { 16, -40, 0, 24, 0, 0 }, { 16, -41, 0, 24, 0, 0 }, { 16, -42, 0, 24, 0, 0 }, - { 16, -43, 0, 24, 0, 0 }, { 16, -44, 0, 24, 0, 0 }, { 16, -45, 0, 24, 0, 0 }, { 16, -46, 0, 24, 0, 0 }, { 16, -47, 0, 24, 0, 0 }, - { 16, -48, 0, 24, 0, 0 }, { 16, -49, 0, 24, 0, 0 }, { 16, -50, 0, 24, 0, 0 }, { 16, -51, 0, 24, 0, 0 }, { 16, -52, 0, 24, 0, 0 }, - { 16, -53, 0, 24, 0, 0 }, { 16, -54, 0, 24, 0, 0 }, { 16, -55, 0, 24, 0, 0 }, { 16, -56, 0, 24, 0, 0 }, { 16, -57, 0, 24, 0, 0 }, - { 16, -58, 0, 24, 0, 0 }, { 16, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, - { 16, -63, 0, 24, 0, 0 }, { 16, -64, 0, 24, 0, 0 }, + 192, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, + { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, + { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 12, 0, 24, 0, 0 }, + { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, { 16, 7, 0, 24, 0, 0 }, + { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, { 16, 2, 0, 24, 0, 0 }, + { 16, 1, 0, 22, 0, 0 }, { 16, 0, 0, 22, 0, 0 }, { 16, -1, 0, 22, 0, 0 }, { 16, -2, 0, 22, 0, 0 }, { 16, -3, 0, 22, 0, 0 }, + { 16, -4, 0, 22, 0, 0 }, { 16, -5, 0, 22, 0, 0 }, { 16, -6, 0, 22, 0, 0 }, { 16, -7, 0, 22, 0, 0 }, { 16, -8, 0, 22, 0, 0 }, + { 16, -9, 0, 20, 0, 0 }, { 16, -10, 0, 20, 0, 0 }, { 16, -11, 0, 20, 0, 0 }, { 16, -12, 0, 20, 0, 0 }, { 16, -13, 0, 20, 0, 0 }, + { 16, -14, 0, 20, 0, 0 }, { 16, -15, 0, 20, 0, 0 }, { 16, -16, 0, 20, 0, 0 }, { 16, -17, 0, 20, 0, 0 }, { 16, -18, 0, 20, 0, 0 }, + { 16, -19, 0, 18, 0, 0 }, { 16, -20, 0, 18, 0, 0 }, { 16, -21, 0, 18, 0, 0 }, { 16, -22, 0, 18, 0, 0 }, { 16, -23, 0, 18, 0, 0 }, + { 16, -24, 0, 18, 0, 0 }, { 16, -25, 0, 18, 0, 0 }, { 16, -26, 0, 16, 0, 0 }, { 16, -27, 0, 16, 0, 0 }, { 16, -28, 0, 16, 0, 0 }, + { 16, -29, 0, 16, 0, 0 }, { 16, -30, 0, 16, 0, 0 }, { 16, -31, 0, 16, 0, 0 }, { 16, -32, 0, 16, 0, 0 }, { 16, -33, 0, 16, 0, 0 }, + { 16, -34, 0, 16, 0, 0 }, { 16, -35, 0, 16, 0, 0 }, { 16, -36, 0, 14, 0, 0 }, { 16, -37, 0, 14, 0, 0 }, { 16, -38, 0, 14, 0, 0 }, + { 16, -39, 0, 14, 0, 0 }, { 16, -40, 0, 14, 0, 0 }, { 16, -41, 0, 14, 0, 0 }, { 16, -42, 0, 14, 0, 0 }, { 16, -43, 0, 12, 0, 0 }, + { 16, -44, 0, 12, 0, 0 }, { 16, -45, 0, 12, 0, 0 }, { 16, -46, 0, 12, 0, 0 }, { 16, -47, 0, 12, 0, 0 }, { 16, -48, 0, 12, 0, 0 }, + { 16, -49, 0, 12, 0, 0 }, { 16, -50, 0, 12, 0, 0 }, { 16, -51, 0, 12, 0, 0 }, { 16, -52, 0, 12, 0, 0 }, { 16, -53, 0, 10, 0, 0 }, + { 16, -54, 0, 10, 0, 0 }, { 16, -55, 0, 10, 0, 0 }, { 16, -56, 0, 10, 0, 0 }, { 16, -57, 0, 10, 0, 0 }, { 16, -58, 0, 10, 0, 0 }, + { 16, -59, 0, 10, 0, 0 }, { 16, -60, 0, 10, 0, 0 }, { 16, -61, 0, 10, 0, 0 }, { 16, -62, 0, 10, 0, 0 }, { 16, -63, 0, 8, 0, 0 }, + { 16, -64, 0, 8, 0, 0 }, { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, + { 16, 27, 0, 24, 0, 0 }, { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, + { 16, 22, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, + { 16, 17, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 16, 15, 0, 24, 0, 0 }, { 16, 14, 0, 24, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, + { 16, 12, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { 16, 10, 0, 24, 0, 0 }, { 16, 9, 0, 24, 0, 0 }, { 16, 8, 0, 24, 0, 0 }, + { 16, 7, 0, 24, 0, 0 }, { 16, 6, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 16, 4, 0, 24, 0, 0 }, { 16, 3, 0, 24, 0, 0 }, + { 16, 2, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 16, 0, 0, 24, 0, 0 }, { 16, -1, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, + { 16, -3, 0, 24, 0, 0 }, { 16, -4, 0, 24, 0, 0 }, { 16, -5, 0, 24, 0, 0 }, { 16, -6, 0, 24, 0, 0 }, { 16, -7, 0, 24, 0, 0 }, + { 16, -8, 0, 24, 0, 0 }, { 16, -9, 0, 24, 0, 0 }, { 16, -10, 0, 24, 0, 0 }, { 16, -11, 0, 24, 0, 0 }, { 16, -12, 0, 24, 0, 0 }, + { 16, -13, 0, 24, 0, 0 }, { 16, -14, 0, 24, 0, 0 }, { 16, -15, 0, 24, 0, 0 }, { 16, -16, 0, 24, 0, 0 }, { 16, -17, 0, 24, 0, 0 }, + { 16, -18, 0, 24, 0, 0 }, { 16, -19, 0, 24, 0, 0 }, { 16, -20, 0, 24, 0, 0 }, { 16, -21, 0, 24, 0, 0 }, { 16, -22, 0, 24, 0, 0 }, + { 16, -23, 0, 24, 0, 0 }, { 16, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 16, -26, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, + { 16, -28, 0, 24, 0, 0 }, { 16, -29, 0, 24, 0, 0 }, { 16, -30, 0, 24, 0, 0 }, { 16, -31, 0, 24, 0, 0 }, { 16, -32, 0, 24, 0, 0 }, + { 16, -33, 0, 24, 0, 0 }, { 16, -34, 0, 24, 0, 0 }, { 16, -35, 0, 24, 0, 0 }, { 16, -36, 0, 24, 0, 0 }, { 16, -37, 0, 24, 0, 0 }, + { 16, -38, 0, 24, 0, 0 }, { 16, -39, 0, 24, 0, 0 }, { 16, -40, 0, 24, 0, 0 }, { 16, -41, 0, 24, 0, 0 }, { 16, -42, 0, 24, 0, 0 }, + { 16, -43, 0, 24, 0, 0 }, { 16, -44, 0, 24, 0, 0 }, { 16, -45, 0, 24, 0, 0 }, { 16, -46, 0, 24, 0, 0 }, { 16, -47, 0, 24, 0, 0 }, + { 16, -48, 0, 24, 0, 0 }, { 16, -49, 0, 24, 0, 0 }, { 16, -50, 0, 24, 0, 0 }, { 16, -51, 0, 24, 0, 0 }, { 16, -52, 0, 24, 0, 0 }, + { 16, -53, 0, 24, 0, 0 }, { 16, -54, 0, 24, 0, 0 }, { 16, -55, 0, 24, 0, 0 }, { 16, -56, 0, 24, 0, 0 }, { 16, -57, 0, 24, 0, 0 }, + { 16, -58, 0, 24, 0, 0 }, { 16, -59, 0, 24, 0, 0 }, { 16, -60, 0, 24, 0, 0 }, { 16, -61, 0, 24, 0, 0 }, { 16, -62, 0, 24, 0, 0 }, + { 16, -63, 0, 24, 0, 0 }, { 16, -64, 0, 24, 0, 0 }, } }; const rct_vehicle_info_list TrackVehicleInfo_000000 = { 0 }; const rct_vehicle_info_list *TrackVehicleInfoList_8B8F98[] = { - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, - &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, - &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, - &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, - &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, - &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, - &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, - &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, - &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, - &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, - &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, - &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, - &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, - &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, - &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, - &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, - &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, - &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, - &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, - &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, - &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, - &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, - &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, - &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, - &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, - &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, - &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, - &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, - &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, - &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, - &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, - &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8E39EE, &TrackVehicleInfo_8E3AB6, &TrackVehicleInfo_8E3B87, &TrackVehicleInfo_8E3C4F, - &TrackVehicleInfo_8E3D0E, &TrackVehicleInfo_8E3DCD, &TrackVehicleInfo_8E3E95, &TrackVehicleInfo_8E3F66, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, - &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, - &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, - &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, - &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, - &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, - &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, - &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, - &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, - &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, - &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, - &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, - &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, - &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, - &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, - &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, - &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, - &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, - &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, - &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, - &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, - &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, - &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, - &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, - &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, - &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, - &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, - &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, - &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, - &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, - &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_8B0EB2, &TrackVehicleInfo_8B12B6, &TrackVehicleInfo_8B16C3, &TrackVehicleInfo_8B1AC7, &TrackVehicleInfo_8B1EC2, &TrackVehicleInfo_8B22BD, - &TrackVehicleInfo_8B26C1, &TrackVehicleInfo_8B2ACE, &TrackVehicleInfo_8B2ED2, &TrackVehicleInfo_8B32D6, &TrackVehicleInfo_8B36E3, &TrackVehicleInfo_8B3AE7, - &TrackVehicleInfo_8B3EE2, &TrackVehicleInfo_8B42DD, &TrackVehicleInfo_8B46E1, &TrackVehicleInfo_8B4AEE, &TrackVehicleInfo_8B4EF2, &TrackVehicleInfo_8B52F6, - &TrackVehicleInfo_8B5703, &TrackVehicleInfo_8B5B07, &TrackVehicleInfo_8B5F02, &TrackVehicleInfo_8B62FD, &TrackVehicleInfo_8B6701, &TrackVehicleInfo_8B6B0E, - &TrackVehicleInfo_8B6F12, &TrackVehicleInfo_8B7316, &TrackVehicleInfo_8B7723, &TrackVehicleInfo_8B7B27, &TrackVehicleInfo_8B7F22, &TrackVehicleInfo_8B831D, - &TrackVehicleInfo_8B8721, &TrackVehicleInfo_8B8B2E, &TrackVehicleInfo_968C6E, &TrackVehicleInfo_968D90, &TrackVehicleInfo_968EB2, &TrackVehicleInfo_968FD4, - &TrackVehicleInfo_96957E, &TrackVehicleInfo_9696A0, &TrackVehicleInfo_9697C2, &TrackVehicleInfo_9698E4, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, - &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9048E8, &TrackVehicleInfo_904A0A, &TrackVehicleInfo_904B2C, &TrackVehicleInfo_904C4E, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9690F6, &TrackVehicleInfo_969218, - &TrackVehicleInfo_96933A, &TrackVehicleInfo_96945C, &TrackVehicleInfo_969A06, &TrackVehicleInfo_969B28, &TrackVehicleInfo_969C4A, &TrackVehicleInfo_969D6C, - &TrackVehicleInfo_904D72, &TrackVehicleInfo_905314, &TrackVehicleInfo_9058B6, &TrackVehicleInfo_905E58, &TrackVehicleInfo_96D4AE, &TrackVehicleInfo_96D9A5, - &TrackVehicleInfo_96DE9C, &TrackVehicleInfo_96E393, &TrackVehicleInfo_96E88A, &TrackVehicleInfo_96ED81, &TrackVehicleInfo_96F278, &TrackVehicleInfo_96F76F, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_971042, &TrackVehicleInfo_971539, - &TrackVehicleInfo_971A30, &TrackVehicleInfo_971F27, &TrackVehicleInfo_96FC66, &TrackVehicleInfo_97015D, &TrackVehicleInfo_970654, &TrackVehicleInfo_970B4B, - &TrackVehicleInfo_97241E, &TrackVehicleInfo_9729ED, &TrackVehicleInfo_972FBC, &TrackVehicleInfo_97358B, &TrackVehicleInfo_9063FA, &TrackVehicleInfo_906EAC, - &TrackVehicleInfo_90795E, &TrackVehicleInfo_908410, &TrackVehicleInfo_90B98A, &TrackVehicleInfo_90BC5C, &TrackVehicleInfo_90BF2E, &TrackVehicleInfo_90C200, - &TrackVehicleInfo_90E02A, &TrackVehicleInfo_90E14C, &TrackVehicleInfo_90E26E, &TrackVehicleInfo_90E390, &TrackVehicleInfo_90E4B2, &TrackVehicleInfo_90E5D4, - &TrackVehicleInfo_90E6F6, &TrackVehicleInfo_90E818, &TrackVehicleInfo_90E93A, &TrackVehicleInfo_90EB34, &TrackVehicleInfo_90ED2E, &TrackVehicleInfo_90EF28, - &TrackVehicleInfo_9100F2, &TrackVehicleInfo_9102EC, &TrackVehicleInfo_9104E6, &TrackVehicleInfo_9106E0, &TrackVehicleInfo_90F122, &TrackVehicleInfo_90F31C, - &TrackVehicleInfo_90F516, &TrackVehicleInfo_90F710, &TrackVehicleInfo_90F90A, &TrackVehicleInfo_90FB04, &TrackVehicleInfo_90FCFE, &TrackVehicleInfo_90FEF8, - &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_9108DA, &TrackVehicleInfo_910BA3, - &TrackVehicleInfo_910E75, &TrackVehicleInfo_911147, &TrackVehicleInfo_911F58, &TrackVehicleInfo_91222A, &TrackVehicleInfo_9124FC, &TrackVehicleInfo_9127CE, - &TrackVehicleInfo_911419, &TrackVehicleInfo_9116E2, &TrackVehicleInfo_9119B4, &TrackVehicleInfo_911C86, &TrackVehicleInfo_912AA0, &TrackVehicleInfo_912D69, - &TrackVehicleInfo_91303B, &TrackVehicleInfo_91330D, &TrackVehicleInfo_9135DF, &TrackVehicleInfo_9138A8, &TrackVehicleInfo_913B7A, &TrackVehicleInfo_913E4C, - &TrackVehicleInfo_914C5D, &TrackVehicleInfo_914F2F, &TrackVehicleInfo_915201, &TrackVehicleInfo_9154D3, &TrackVehicleInfo_91411E, &TrackVehicleInfo_9143E7, - &TrackVehicleInfo_9146B9, &TrackVehicleInfo_91498B, &TrackVehicleInfo_9157A5, &TrackVehicleInfo_915A6E, &TrackVehicleInfo_915D40, &TrackVehicleInfo_916012, - &TrackVehicleInfo_9162E6, &TrackVehicleInfo_916408, &TrackVehicleInfo_91652A, &TrackVehicleInfo_91664C, &TrackVehicleInfo_91676E, &TrackVehicleInfo_916890, - &TrackVehicleInfo_9169B2, &TrackVehicleInfo_916AD4, &TrackVehicleInfo_91707E, &TrackVehicleInfo_9172C0, &TrackVehicleInfo_917502, &TrackVehicleInfo_917744, - &TrackVehicleInfo_91828E, &TrackVehicleInfo_9183B0, &TrackVehicleInfo_9184D2, &TrackVehicleInfo_9185F4, &TrackVehicleInfo_9194F6, &TrackVehicleInfo_919645, - &TrackVehicleInfo_919794, &TrackVehicleInfo_9198E3, &TrackVehicleInfo_919A32, &TrackVehicleInfo_919B81, &TrackVehicleInfo_919CD0, &TrackVehicleInfo_919E1F, - &TrackVehicleInfo_918716, &TrackVehicleInfo_91884A, &TrackVehicleInfo_91897E, &TrackVehicleInfo_918AB2, &TrackVehicleInfo_916BF6, &TrackVehicleInfo_916D18, - &TrackVehicleInfo_916E3A, &TrackVehicleInfo_916F5C, &TrackVehicleInfo_917986, &TrackVehicleInfo_917BC8, &TrackVehicleInfo_917E0A, &TrackVehicleInfo_91804C, - &TrackVehicleInfo_91906E, &TrackVehicleInfo_919190, &TrackVehicleInfo_9192B2, &TrackVehicleInfo_9193D4, &TrackVehicleInfo_91A4AA, &TrackVehicleInfo_91A5F9, - &TrackVehicleInfo_91A748, &TrackVehicleInfo_91A897, &TrackVehicleInfo_919F6E, &TrackVehicleInfo_91A0BD, &TrackVehicleInfo_91A20C, &TrackVehicleInfo_91A35B, - &TrackVehicleInfo_918BE6, &TrackVehicleInfo_918D08, &TrackVehicleInfo_918E2A, &TrackVehicleInfo_918F4C, &TrackVehicleInfo_91A9E6, &TrackVehicleInfo_91AB2C, - &TrackVehicleInfo_91AC72, &TrackVehicleInfo_91ADB8, &TrackVehicleInfo_91AEFE, &TrackVehicleInfo_91B044, &TrackVehicleInfo_91B18A, &TrackVehicleInfo_91B2D0, - &TrackVehicleInfo_91B416, &TrackVehicleInfo_91B55C, &TrackVehicleInfo_91B6A2, &TrackVehicleInfo_91B7E8, &TrackVehicleInfo_91B92E, &TrackVehicleInfo_91BA74, - &TrackVehicleInfo_91BBBA, &TrackVehicleInfo_91BD00, &TrackVehicleInfo_95787E, &TrackVehicleInfo_9579A0, &TrackVehicleInfo_957AC2, &TrackVehicleInfo_957BE4, - &TrackVehicleInfo_957D06, &TrackVehicleInfo_957E28, &TrackVehicleInfo_957F4A, &TrackVehicleInfo_95806C, &TrackVehicleInfo_95818E, &TrackVehicleInfo_9582B0, - &TrackVehicleInfo_9583D2, &TrackVehicleInfo_9584F4, &TrackVehicleInfo_958616, &TrackVehicleInfo_958738, &TrackVehicleInfo_95885A, &TrackVehicleInfo_95897C, - &TrackVehicleInfo_958A9E, &TrackVehicleInfo_958BC0, &TrackVehicleInfo_958CE2, &TrackVehicleInfo_958E04, &TrackVehicleInfo_958F26, &TrackVehicleInfo_959048, - &TrackVehicleInfo_95916A, &TrackVehicleInfo_95928C, &TrackVehicleInfo_9593AE, &TrackVehicleInfo_9594E2, &TrackVehicleInfo_959616, &TrackVehicleInfo_95974A, - &TrackVehicleInfo_95987E, &TrackVehicleInfo_9599B2, &TrackVehicleInfo_959AE6, &TrackVehicleInfo_959C1A, &TrackVehicleInfo_95A65E, &TrackVehicleInfo_95A780, - &TrackVehicleInfo_95A8A2, &TrackVehicleInfo_95A9C4, &TrackVehicleInfo_95AAE6, &TrackVehicleInfo_95AC08, &TrackVehicleInfo_95AD2A, &TrackVehicleInfo_95AE4C, - &TrackVehicleInfo_959D4E, &TrackVehicleInfo_959E70, &TrackVehicleInfo_959F92, &TrackVehicleInfo_95A0B4, &TrackVehicleInfo_95A1D6, &TrackVehicleInfo_95A2F8, - &TrackVehicleInfo_95A41A, &TrackVehicleInfo_95A53C, &TrackVehicleInfo_95AF6E, &TrackVehicleInfo_95B090, &TrackVehicleInfo_95B1B2, &TrackVehicleInfo_95B2D4, - &TrackVehicleInfo_95B3F6, &TrackVehicleInfo_95B518, &TrackVehicleInfo_95B63A, &TrackVehicleInfo_95B75C, &TrackVehicleInfo_91BE46, &TrackVehicleInfo_91C001, - &TrackVehicleInfo_91C1BC, &TrackVehicleInfo_91C377, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_91C532, &TrackVehicleInfo_91C894, &TrackVehicleInfo_91CBF6, &TrackVehicleInfo_91CF58, &TrackVehicleInfo_91D2BA, &TrackVehicleInfo_91D61C, - &TrackVehicleInfo_91D97E, &TrackVehicleInfo_91DCE0, &TrackVehicleInfo_91E042, &TrackVehicleInfo_91E3A4, &TrackVehicleInfo_91E706, &TrackVehicleInfo_91EA68, - &TrackVehicleInfo_91EDCA, &TrackVehicleInfo_91F12C, &TrackVehicleInfo_91F48E, &TrackVehicleInfo_91F7F0, &TrackVehicleInfo_920E82, &TrackVehicleInfo_9210E8, - &TrackVehicleInfo_921357, &TrackVehicleInfo_9215BD, &TrackVehicleInfo_92181A, &TrackVehicleInfo_921A77, &TrackVehicleInfo_921CDD, &TrackVehicleInfo_921F4C, - &TrackVehicleInfo_91FB52, &TrackVehicleInfo_91FDB8, &TrackVehicleInfo_920027, &TrackVehicleInfo_92028D, &TrackVehicleInfo_9204EA, &TrackVehicleInfo_920747, - &TrackVehicleInfo_9209AD, &TrackVehicleInfo_920C1C, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, - &TrackVehicleInfo_9221B2, &TrackVehicleInfo_9237A6, &TrackVehicleInfo_924D9A, &TrackVehicleInfo_92638E, &TrackVehicleInfo_922CAC, &TrackVehicleInfo_9242A0, - &TrackVehicleInfo_925894, &TrackVehicleInfo_926E88, &TrackVehicleInfo_927982, &TrackVehicleInfo_928F76, &TrackVehicleInfo_92A56A, &TrackVehicleInfo_92BB5E, - &TrackVehicleInfo_92847C, &TrackVehicleInfo_929A70, &TrackVehicleInfo_92B064, &TrackVehicleInfo_92C658, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, - &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, - &TrackVehicleInfo_8DD21E, &TrackVehicleInfo_8DD580, &TrackVehicleInfo_8DD8E2, &TrackVehicleInfo_8DDC44, &TrackVehicleInfo_8DDFA6, &TrackVehicleInfo_8DE308, - &TrackVehicleInfo_8DE66A, &TrackVehicleInfo_8DE9CC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, - &TrackVehicleInfo_8E91A6, &TrackVehicleInfo_8E9751, &TrackVehicleInfo_8E9CFC, &TrackVehicleInfo_8EA2A7, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, - &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, - &TrackVehicleInfo_8EDF02, &TrackVehicleInfo_8EE26D, &TrackVehicleInfo_8EE5D8, &TrackVehicleInfo_8EE943, &TrackVehicleInfo_8EECAE, &TrackVehicleInfo_8EF019, - &TrackVehicleInfo_8EF384, &TrackVehicleInfo_8EF6EF, &TrackVehicleInfo_92D152, &TrackVehicleInfo_92D6F4, &TrackVehicleInfo_92DC96, &TrackVehicleInfo_92E238, - &TrackVehicleInfo_92E7DA, &TrackVehicleInfo_92ED7C, &TrackVehicleInfo_92F31E, &TrackVehicleInfo_92F8C0, &TrackVehicleInfo_92FE62, &TrackVehicleInfo_930524, - &TrackVehicleInfo_930BE6, &TrackVehicleInfo_9312A8, &TrackVehicleInfo_93196A, &TrackVehicleInfo_93202C, &TrackVehicleInfo_9326EE, &TrackVehicleInfo_932DB0, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_979BD6, &TrackVehicleInfo_97A0A9, &TrackVehicleInfo_97A57C, &TrackVehicleInfo_97AA4F, - &TrackVehicleInfo_973B5A, &TrackVehicleInfo_97402D, &TrackVehicleInfo_974500, &TrackVehicleInfo_9749D3, &TrackVehicleInfo_974EA6, &TrackVehicleInfo_975379, - &TrackVehicleInfo_97584C, &TrackVehicleInfo_975D1F, &TrackVehicleInfo_8FDFAA, &TrackVehicleInfo_8FE210, &TrackVehicleInfo_8FE47F, &TrackVehicleInfo_8FE6E5, - &TrackVehicleInfo_8FE942, &TrackVehicleInfo_8FEB9F, &TrackVehicleInfo_8FEE05, &TrackVehicleInfo_8FF074, &TrackVehicleInfo_94F14E, &TrackVehicleInfo_94F810, - &TrackVehicleInfo_94FED2, &TrackVehicleInfo_950594, &TrackVehicleInfo_950C56, &TrackVehicleInfo_951318, &TrackVehicleInfo_9519DA, &TrackVehicleInfo_95209C, - &TrackVehicleInfo_90C4D2, &TrackVehicleInfo_90C8D6, &TrackVehicleInfo_90CCDA, &TrackVehicleInfo_90D0DE, &TrackVehicleInfo_90D4E2, &TrackVehicleInfo_90D7B4, - &TrackVehicleInfo_90DA86, &TrackVehicleInfo_90DD58, &TrackVehicleInfo_908EC2, &TrackVehicleInfo_909974, &TrackVehicleInfo_90A426, &TrackVehicleInfo_90AED8, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_960BEE, &TrackVehicleInfo_960E54, - &TrackVehicleInfo_9610C3, &TrackVehicleInfo_961329, &TrackVehicleInfo_961586, &TrackVehicleInfo_9617E3, &TrackVehicleInfo_961A49, &TrackVehicleInfo_961CB8, - &TrackVehicleInfo_95F8BE, &TrackVehicleInfo_95FB24, &TrackVehicleInfo_95FD93, &TrackVehicleInfo_95FFF9, &TrackVehicleInfo_960256, &TrackVehicleInfo_9604B3, - &TrackVehicleInfo_960719, &TrackVehicleInfo_960988, &TrackVehicleInfo_95B87E, &TrackVehicleInfo_95BC82, &TrackVehicleInfo_95C08F, &TrackVehicleInfo_95C493, - &TrackVehicleInfo_95C88E, &TrackVehicleInfo_95CC89, &TrackVehicleInfo_95D08D, &TrackVehicleInfo_95D49A, &TrackVehicleInfo_95D89E, &TrackVehicleInfo_95DCA2, - &TrackVehicleInfo_95E0AF, &TrackVehicleInfo_95E4B3, &TrackVehicleInfo_95E8AE, &TrackVehicleInfo_95ECA9, &TrackVehicleInfo_95F0AD, &TrackVehicleInfo_95F4BA, - &TrackVehicleInfo_961F1E, &TrackVehicleInfo_962040, &TrackVehicleInfo_962162, &TrackVehicleInfo_962284, &TrackVehicleInfo_9623A6, &TrackVehicleInfo_9624C8, - &TrackVehicleInfo_9625EA, &TrackVehicleInfo_96270C, &TrackVehicleInfo_96313E, &TrackVehicleInfo_963260, &TrackVehicleInfo_963382, &TrackVehicleInfo_9634A4, - &TrackVehicleInfo_9635C6, &TrackVehicleInfo_9636E8, &TrackVehicleInfo_96380A, &TrackVehicleInfo_96392C, &TrackVehicleInfo_96282E, &TrackVehicleInfo_962950, - &TrackVehicleInfo_962A72, &TrackVehicleInfo_962B94, &TrackVehicleInfo_962CB6, &TrackVehicleInfo_962DD8, &TrackVehicleInfo_962EFA, &TrackVehicleInfo_96301C, - &TrackVehicleInfo_963A4E, &TrackVehicleInfo_963B70, &TrackVehicleInfo_963C92, &TrackVehicleInfo_963DB4, &TrackVehicleInfo_963ED6, &TrackVehicleInfo_963FF8, - &TrackVehicleInfo_96411A, &TrackVehicleInfo_96423C, &TrackVehicleInfo_96435E, &TrackVehicleInfo_964480, &TrackVehicleInfo_9645A2, &TrackVehicleInfo_9646C4, - &TrackVehicleInfo_96557E, &TrackVehicleInfo_9656A0, &TrackVehicleInfo_9657C2, &TrackVehicleInfo_9658E4, &TrackVehicleInfo_9647E6, &TrackVehicleInfo_964908, - &TrackVehicleInfo_964A2A, &TrackVehicleInfo_964B4C, &TrackVehicleInfo_965A06, &TrackVehicleInfo_965B28, &TrackVehicleInfo_965C4A, &TrackVehicleInfo_965D6C, - &TrackVehicleInfo_9650F6, &TrackVehicleInfo_965218, &TrackVehicleInfo_96533A, &TrackVehicleInfo_96545C, &TrackVehicleInfo_966316, &TrackVehicleInfo_966438, - &TrackVehicleInfo_96655A, &TrackVehicleInfo_96667C, &TrackVehicleInfo_964C6E, &TrackVehicleInfo_964D90, &TrackVehicleInfo_964EB2, &TrackVehicleInfo_964FD4, - &TrackVehicleInfo_965E8E, &TrackVehicleInfo_965FB0, &TrackVehicleInfo_9660D2, &TrackVehicleInfo_9661F4, &TrackVehicleInfo_96679E, &TrackVehicleInfo_9668C0, - &TrackVehicleInfo_9669E2, &TrackVehicleInfo_966B04, &TrackVehicleInfo_966C26, &TrackVehicleInfo_966D48, &TrackVehicleInfo_966E6A, &TrackVehicleInfo_966F8C, - &TrackVehicleInfo_9670AE, &TrackVehicleInfo_9671E2, &TrackVehicleInfo_967316, &TrackVehicleInfo_96744A, &TrackVehicleInfo_96757E, &TrackVehicleInfo_9676B2, - &TrackVehicleInfo_9677E6, &TrackVehicleInfo_96791A, &TrackVehicleInfo_96835E, &TrackVehicleInfo_968480, &TrackVehicleInfo_9685A2, &TrackVehicleInfo_9686C4, - &TrackVehicleInfo_9687E6, &TrackVehicleInfo_968908, &TrackVehicleInfo_968A2A, &TrackVehicleInfo_968B4C, &TrackVehicleInfo_967A4E, &TrackVehicleInfo_967B70, - &TrackVehicleInfo_967C92, &TrackVehicleInfo_967DB4, &TrackVehicleInfo_967ED6, &TrackVehicleInfo_967FF8, &TrackVehicleInfo_96811A, &TrackVehicleInfo_96823C, - &TrackVehicleInfo_969E8E, &TrackVehicleInfo_96A1F0, &TrackVehicleInfo_96A552, &TrackVehicleInfo_96A8B4, &TrackVehicleInfo_96B99E, &TrackVehicleInfo_96BD00, - &TrackVehicleInfo_96C062, &TrackVehicleInfo_96C3C4, &TrackVehicleInfo_96AC16, &TrackVehicleInfo_96AF78, &TrackVehicleInfo_96B2DA, &TrackVehicleInfo_96B63C, - &TrackVehicleInfo_96C726, &TrackVehicleInfo_96CA88, &TrackVehicleInfo_96CDEA, &TrackVehicleInfo_96D14C, &TrackVehicleInfo_9761F2, &TrackVehicleInfo_9766C5, - &TrackVehicleInfo_976B98, &TrackVehicleInfo_97706B, &TrackVehicleInfo_97753E, &TrackVehicleInfo_977A11, &TrackVehicleInfo_977EE4, &TrackVehicleInfo_9783B7, - &TrackVehicleInfo_97888A, &TrackVehicleInfo_978D5D, &TrackVehicleInfo_979230, &TrackVehicleInfo_979703, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, + &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, + &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, + &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, + &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, + &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, + &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, + &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, + &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, + &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, + &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, + &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, + &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, + &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, + &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, + &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, + &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, + &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, + &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, + &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, + &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, + &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, + &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, + &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, + &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, + &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, + &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, + &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, + &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, + &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, + &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, + &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8E39EE, &TrackVehicleInfo_8E3AB6, &TrackVehicleInfo_8E3B87, &TrackVehicleInfo_8E3C4F, + &TrackVehicleInfo_8E3D0E, &TrackVehicleInfo_8E3DCD, &TrackVehicleInfo_8E3E95, &TrackVehicleInfo_8E3F66, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, + &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, + &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, + &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, + &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, + &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, + &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, + &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, + &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, + &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, + &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, + &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, + &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, + &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, + &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, + &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, + &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, + &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, + &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, + &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, + &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, + &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, + &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, + &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, + &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, + &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, + &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, + &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, + &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, + &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, + &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_8B0EB2, &TrackVehicleInfo_8B12B6, &TrackVehicleInfo_8B16C3, &TrackVehicleInfo_8B1AC7, &TrackVehicleInfo_8B1EC2, &TrackVehicleInfo_8B22BD, + &TrackVehicleInfo_8B26C1, &TrackVehicleInfo_8B2ACE, &TrackVehicleInfo_8B2ED2, &TrackVehicleInfo_8B32D6, &TrackVehicleInfo_8B36E3, &TrackVehicleInfo_8B3AE7, + &TrackVehicleInfo_8B3EE2, &TrackVehicleInfo_8B42DD, &TrackVehicleInfo_8B46E1, &TrackVehicleInfo_8B4AEE, &TrackVehicleInfo_8B4EF2, &TrackVehicleInfo_8B52F6, + &TrackVehicleInfo_8B5703, &TrackVehicleInfo_8B5B07, &TrackVehicleInfo_8B5F02, &TrackVehicleInfo_8B62FD, &TrackVehicleInfo_8B6701, &TrackVehicleInfo_8B6B0E, + &TrackVehicleInfo_8B6F12, &TrackVehicleInfo_8B7316, &TrackVehicleInfo_8B7723, &TrackVehicleInfo_8B7B27, &TrackVehicleInfo_8B7F22, &TrackVehicleInfo_8B831D, + &TrackVehicleInfo_8B8721, &TrackVehicleInfo_8B8B2E, &TrackVehicleInfo_968C6E, &TrackVehicleInfo_968D90, &TrackVehicleInfo_968EB2, &TrackVehicleInfo_968FD4, + &TrackVehicleInfo_96957E, &TrackVehicleInfo_9696A0, &TrackVehicleInfo_9697C2, &TrackVehicleInfo_9698E4, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, + &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9048E8, &TrackVehicleInfo_904A0A, &TrackVehicleInfo_904B2C, &TrackVehicleInfo_904C4E, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9690F6, &TrackVehicleInfo_969218, + &TrackVehicleInfo_96933A, &TrackVehicleInfo_96945C, &TrackVehicleInfo_969A06, &TrackVehicleInfo_969B28, &TrackVehicleInfo_969C4A, &TrackVehicleInfo_969D6C, + &TrackVehicleInfo_904D72, &TrackVehicleInfo_905314, &TrackVehicleInfo_9058B6, &TrackVehicleInfo_905E58, &TrackVehicleInfo_96D4AE, &TrackVehicleInfo_96D9A5, + &TrackVehicleInfo_96DE9C, &TrackVehicleInfo_96E393, &TrackVehicleInfo_96E88A, &TrackVehicleInfo_96ED81, &TrackVehicleInfo_96F278, &TrackVehicleInfo_96F76F, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_971042, &TrackVehicleInfo_971539, + &TrackVehicleInfo_971A30, &TrackVehicleInfo_971F27, &TrackVehicleInfo_96FC66, &TrackVehicleInfo_97015D, &TrackVehicleInfo_970654, &TrackVehicleInfo_970B4B, + &TrackVehicleInfo_97241E, &TrackVehicleInfo_9729ED, &TrackVehicleInfo_972FBC, &TrackVehicleInfo_97358B, &TrackVehicleInfo_9063FA, &TrackVehicleInfo_906EAC, + &TrackVehicleInfo_90795E, &TrackVehicleInfo_908410, &TrackVehicleInfo_90B98A, &TrackVehicleInfo_90BC5C, &TrackVehicleInfo_90BF2E, &TrackVehicleInfo_90C200, + &TrackVehicleInfo_90E02A, &TrackVehicleInfo_90E14C, &TrackVehicleInfo_90E26E, &TrackVehicleInfo_90E390, &TrackVehicleInfo_90E4B2, &TrackVehicleInfo_90E5D4, + &TrackVehicleInfo_90E6F6, &TrackVehicleInfo_90E818, &TrackVehicleInfo_90E93A, &TrackVehicleInfo_90EB34, &TrackVehicleInfo_90ED2E, &TrackVehicleInfo_90EF28, + &TrackVehicleInfo_9100F2, &TrackVehicleInfo_9102EC, &TrackVehicleInfo_9104E6, &TrackVehicleInfo_9106E0, &TrackVehicleInfo_90F122, &TrackVehicleInfo_90F31C, + &TrackVehicleInfo_90F516, &TrackVehicleInfo_90F710, &TrackVehicleInfo_90F90A, &TrackVehicleInfo_90FB04, &TrackVehicleInfo_90FCFE, &TrackVehicleInfo_90FEF8, + &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_9108DA, &TrackVehicleInfo_910BA3, + &TrackVehicleInfo_910E75, &TrackVehicleInfo_911147, &TrackVehicleInfo_911F58, &TrackVehicleInfo_91222A, &TrackVehicleInfo_9124FC, &TrackVehicleInfo_9127CE, + &TrackVehicleInfo_911419, &TrackVehicleInfo_9116E2, &TrackVehicleInfo_9119B4, &TrackVehicleInfo_911C86, &TrackVehicleInfo_912AA0, &TrackVehicleInfo_912D69, + &TrackVehicleInfo_91303B, &TrackVehicleInfo_91330D, &TrackVehicleInfo_9135DF, &TrackVehicleInfo_9138A8, &TrackVehicleInfo_913B7A, &TrackVehicleInfo_913E4C, + &TrackVehicleInfo_914C5D, &TrackVehicleInfo_914F2F, &TrackVehicleInfo_915201, &TrackVehicleInfo_9154D3, &TrackVehicleInfo_91411E, &TrackVehicleInfo_9143E7, + &TrackVehicleInfo_9146B9, &TrackVehicleInfo_91498B, &TrackVehicleInfo_9157A5, &TrackVehicleInfo_915A6E, &TrackVehicleInfo_915D40, &TrackVehicleInfo_916012, + &TrackVehicleInfo_9162E6, &TrackVehicleInfo_916408, &TrackVehicleInfo_91652A, &TrackVehicleInfo_91664C, &TrackVehicleInfo_91676E, &TrackVehicleInfo_916890, + &TrackVehicleInfo_9169B2, &TrackVehicleInfo_916AD4, &TrackVehicleInfo_91707E, &TrackVehicleInfo_9172C0, &TrackVehicleInfo_917502, &TrackVehicleInfo_917744, + &TrackVehicleInfo_91828E, &TrackVehicleInfo_9183B0, &TrackVehicleInfo_9184D2, &TrackVehicleInfo_9185F4, &TrackVehicleInfo_9194F6, &TrackVehicleInfo_919645, + &TrackVehicleInfo_919794, &TrackVehicleInfo_9198E3, &TrackVehicleInfo_919A32, &TrackVehicleInfo_919B81, &TrackVehicleInfo_919CD0, &TrackVehicleInfo_919E1F, + &TrackVehicleInfo_918716, &TrackVehicleInfo_91884A, &TrackVehicleInfo_91897E, &TrackVehicleInfo_918AB2, &TrackVehicleInfo_916BF6, &TrackVehicleInfo_916D18, + &TrackVehicleInfo_916E3A, &TrackVehicleInfo_916F5C, &TrackVehicleInfo_917986, &TrackVehicleInfo_917BC8, &TrackVehicleInfo_917E0A, &TrackVehicleInfo_91804C, + &TrackVehicleInfo_91906E, &TrackVehicleInfo_919190, &TrackVehicleInfo_9192B2, &TrackVehicleInfo_9193D4, &TrackVehicleInfo_91A4AA, &TrackVehicleInfo_91A5F9, + &TrackVehicleInfo_91A748, &TrackVehicleInfo_91A897, &TrackVehicleInfo_919F6E, &TrackVehicleInfo_91A0BD, &TrackVehicleInfo_91A20C, &TrackVehicleInfo_91A35B, + &TrackVehicleInfo_918BE6, &TrackVehicleInfo_918D08, &TrackVehicleInfo_918E2A, &TrackVehicleInfo_918F4C, &TrackVehicleInfo_91A9E6, &TrackVehicleInfo_91AB2C, + &TrackVehicleInfo_91AC72, &TrackVehicleInfo_91ADB8, &TrackVehicleInfo_91AEFE, &TrackVehicleInfo_91B044, &TrackVehicleInfo_91B18A, &TrackVehicleInfo_91B2D0, + &TrackVehicleInfo_91B416, &TrackVehicleInfo_91B55C, &TrackVehicleInfo_91B6A2, &TrackVehicleInfo_91B7E8, &TrackVehicleInfo_91B92E, &TrackVehicleInfo_91BA74, + &TrackVehicleInfo_91BBBA, &TrackVehicleInfo_91BD00, &TrackVehicleInfo_95787E, &TrackVehicleInfo_9579A0, &TrackVehicleInfo_957AC2, &TrackVehicleInfo_957BE4, + &TrackVehicleInfo_957D06, &TrackVehicleInfo_957E28, &TrackVehicleInfo_957F4A, &TrackVehicleInfo_95806C, &TrackVehicleInfo_95818E, &TrackVehicleInfo_9582B0, + &TrackVehicleInfo_9583D2, &TrackVehicleInfo_9584F4, &TrackVehicleInfo_958616, &TrackVehicleInfo_958738, &TrackVehicleInfo_95885A, &TrackVehicleInfo_95897C, + &TrackVehicleInfo_958A9E, &TrackVehicleInfo_958BC0, &TrackVehicleInfo_958CE2, &TrackVehicleInfo_958E04, &TrackVehicleInfo_958F26, &TrackVehicleInfo_959048, + &TrackVehicleInfo_95916A, &TrackVehicleInfo_95928C, &TrackVehicleInfo_9593AE, &TrackVehicleInfo_9594E2, &TrackVehicleInfo_959616, &TrackVehicleInfo_95974A, + &TrackVehicleInfo_95987E, &TrackVehicleInfo_9599B2, &TrackVehicleInfo_959AE6, &TrackVehicleInfo_959C1A, &TrackVehicleInfo_95A65E, &TrackVehicleInfo_95A780, + &TrackVehicleInfo_95A8A2, &TrackVehicleInfo_95A9C4, &TrackVehicleInfo_95AAE6, &TrackVehicleInfo_95AC08, &TrackVehicleInfo_95AD2A, &TrackVehicleInfo_95AE4C, + &TrackVehicleInfo_959D4E, &TrackVehicleInfo_959E70, &TrackVehicleInfo_959F92, &TrackVehicleInfo_95A0B4, &TrackVehicleInfo_95A1D6, &TrackVehicleInfo_95A2F8, + &TrackVehicleInfo_95A41A, &TrackVehicleInfo_95A53C, &TrackVehicleInfo_95AF6E, &TrackVehicleInfo_95B090, &TrackVehicleInfo_95B1B2, &TrackVehicleInfo_95B2D4, + &TrackVehicleInfo_95B3F6, &TrackVehicleInfo_95B518, &TrackVehicleInfo_95B63A, &TrackVehicleInfo_95B75C, &TrackVehicleInfo_91BE46, &TrackVehicleInfo_91C001, + &TrackVehicleInfo_91C1BC, &TrackVehicleInfo_91C377, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_91C532, &TrackVehicleInfo_91C894, &TrackVehicleInfo_91CBF6, &TrackVehicleInfo_91CF58, &TrackVehicleInfo_91D2BA, &TrackVehicleInfo_91D61C, + &TrackVehicleInfo_91D97E, &TrackVehicleInfo_91DCE0, &TrackVehicleInfo_91E042, &TrackVehicleInfo_91E3A4, &TrackVehicleInfo_91E706, &TrackVehicleInfo_91EA68, + &TrackVehicleInfo_91EDCA, &TrackVehicleInfo_91F12C, &TrackVehicleInfo_91F48E, &TrackVehicleInfo_91F7F0, &TrackVehicleInfo_920E82, &TrackVehicleInfo_9210E8, + &TrackVehicleInfo_921357, &TrackVehicleInfo_9215BD, &TrackVehicleInfo_92181A, &TrackVehicleInfo_921A77, &TrackVehicleInfo_921CDD, &TrackVehicleInfo_921F4C, + &TrackVehicleInfo_91FB52, &TrackVehicleInfo_91FDB8, &TrackVehicleInfo_920027, &TrackVehicleInfo_92028D, &TrackVehicleInfo_9204EA, &TrackVehicleInfo_920747, + &TrackVehicleInfo_9209AD, &TrackVehicleInfo_920C1C, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, + &TrackVehicleInfo_9221B2, &TrackVehicleInfo_9237A6, &TrackVehicleInfo_924D9A, &TrackVehicleInfo_92638E, &TrackVehicleInfo_922CAC, &TrackVehicleInfo_9242A0, + &TrackVehicleInfo_925894, &TrackVehicleInfo_926E88, &TrackVehicleInfo_927982, &TrackVehicleInfo_928F76, &TrackVehicleInfo_92A56A, &TrackVehicleInfo_92BB5E, + &TrackVehicleInfo_92847C, &TrackVehicleInfo_929A70, &TrackVehicleInfo_92B064, &TrackVehicleInfo_92C658, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, + &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, + &TrackVehicleInfo_8DD21E, &TrackVehicleInfo_8DD580, &TrackVehicleInfo_8DD8E2, &TrackVehicleInfo_8DDC44, &TrackVehicleInfo_8DDFA6, &TrackVehicleInfo_8DE308, + &TrackVehicleInfo_8DE66A, &TrackVehicleInfo_8DE9CC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, + &TrackVehicleInfo_8E91A6, &TrackVehicleInfo_8E9751, &TrackVehicleInfo_8E9CFC, &TrackVehicleInfo_8EA2A7, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, + &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, + &TrackVehicleInfo_8EDF02, &TrackVehicleInfo_8EE26D, &TrackVehicleInfo_8EE5D8, &TrackVehicleInfo_8EE943, &TrackVehicleInfo_8EECAE, &TrackVehicleInfo_8EF019, + &TrackVehicleInfo_8EF384, &TrackVehicleInfo_8EF6EF, &TrackVehicleInfo_92D152, &TrackVehicleInfo_92D6F4, &TrackVehicleInfo_92DC96, &TrackVehicleInfo_92E238, + &TrackVehicleInfo_92E7DA, &TrackVehicleInfo_92ED7C, &TrackVehicleInfo_92F31E, &TrackVehicleInfo_92F8C0, &TrackVehicleInfo_92FE62, &TrackVehicleInfo_930524, + &TrackVehicleInfo_930BE6, &TrackVehicleInfo_9312A8, &TrackVehicleInfo_93196A, &TrackVehicleInfo_93202C, &TrackVehicleInfo_9326EE, &TrackVehicleInfo_932DB0, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_979BD6, &TrackVehicleInfo_97A0A9, &TrackVehicleInfo_97A57C, &TrackVehicleInfo_97AA4F, + &TrackVehicleInfo_973B5A, &TrackVehicleInfo_97402D, &TrackVehicleInfo_974500, &TrackVehicleInfo_9749D3, &TrackVehicleInfo_974EA6, &TrackVehicleInfo_975379, + &TrackVehicleInfo_97584C, &TrackVehicleInfo_975D1F, &TrackVehicleInfo_8FDFAA, &TrackVehicleInfo_8FE210, &TrackVehicleInfo_8FE47F, &TrackVehicleInfo_8FE6E5, + &TrackVehicleInfo_8FE942, &TrackVehicleInfo_8FEB9F, &TrackVehicleInfo_8FEE05, &TrackVehicleInfo_8FF074, &TrackVehicleInfo_94F14E, &TrackVehicleInfo_94F810, + &TrackVehicleInfo_94FED2, &TrackVehicleInfo_950594, &TrackVehicleInfo_950C56, &TrackVehicleInfo_951318, &TrackVehicleInfo_9519DA, &TrackVehicleInfo_95209C, + &TrackVehicleInfo_90C4D2, &TrackVehicleInfo_90C8D6, &TrackVehicleInfo_90CCDA, &TrackVehicleInfo_90D0DE, &TrackVehicleInfo_90D4E2, &TrackVehicleInfo_90D7B4, + &TrackVehicleInfo_90DA86, &TrackVehicleInfo_90DD58, &TrackVehicleInfo_908EC2, &TrackVehicleInfo_909974, &TrackVehicleInfo_90A426, &TrackVehicleInfo_90AED8, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_960BEE, &TrackVehicleInfo_960E54, + &TrackVehicleInfo_9610C3, &TrackVehicleInfo_961329, &TrackVehicleInfo_961586, &TrackVehicleInfo_9617E3, &TrackVehicleInfo_961A49, &TrackVehicleInfo_961CB8, + &TrackVehicleInfo_95F8BE, &TrackVehicleInfo_95FB24, &TrackVehicleInfo_95FD93, &TrackVehicleInfo_95FFF9, &TrackVehicleInfo_960256, &TrackVehicleInfo_9604B3, + &TrackVehicleInfo_960719, &TrackVehicleInfo_960988, &TrackVehicleInfo_95B87E, &TrackVehicleInfo_95BC82, &TrackVehicleInfo_95C08F, &TrackVehicleInfo_95C493, + &TrackVehicleInfo_95C88E, &TrackVehicleInfo_95CC89, &TrackVehicleInfo_95D08D, &TrackVehicleInfo_95D49A, &TrackVehicleInfo_95D89E, &TrackVehicleInfo_95DCA2, + &TrackVehicleInfo_95E0AF, &TrackVehicleInfo_95E4B3, &TrackVehicleInfo_95E8AE, &TrackVehicleInfo_95ECA9, &TrackVehicleInfo_95F0AD, &TrackVehicleInfo_95F4BA, + &TrackVehicleInfo_961F1E, &TrackVehicleInfo_962040, &TrackVehicleInfo_962162, &TrackVehicleInfo_962284, &TrackVehicleInfo_9623A6, &TrackVehicleInfo_9624C8, + &TrackVehicleInfo_9625EA, &TrackVehicleInfo_96270C, &TrackVehicleInfo_96313E, &TrackVehicleInfo_963260, &TrackVehicleInfo_963382, &TrackVehicleInfo_9634A4, + &TrackVehicleInfo_9635C6, &TrackVehicleInfo_9636E8, &TrackVehicleInfo_96380A, &TrackVehicleInfo_96392C, &TrackVehicleInfo_96282E, &TrackVehicleInfo_962950, + &TrackVehicleInfo_962A72, &TrackVehicleInfo_962B94, &TrackVehicleInfo_962CB6, &TrackVehicleInfo_962DD8, &TrackVehicleInfo_962EFA, &TrackVehicleInfo_96301C, + &TrackVehicleInfo_963A4E, &TrackVehicleInfo_963B70, &TrackVehicleInfo_963C92, &TrackVehicleInfo_963DB4, &TrackVehicleInfo_963ED6, &TrackVehicleInfo_963FF8, + &TrackVehicleInfo_96411A, &TrackVehicleInfo_96423C, &TrackVehicleInfo_96435E, &TrackVehicleInfo_964480, &TrackVehicleInfo_9645A2, &TrackVehicleInfo_9646C4, + &TrackVehicleInfo_96557E, &TrackVehicleInfo_9656A0, &TrackVehicleInfo_9657C2, &TrackVehicleInfo_9658E4, &TrackVehicleInfo_9647E6, &TrackVehicleInfo_964908, + &TrackVehicleInfo_964A2A, &TrackVehicleInfo_964B4C, &TrackVehicleInfo_965A06, &TrackVehicleInfo_965B28, &TrackVehicleInfo_965C4A, &TrackVehicleInfo_965D6C, + &TrackVehicleInfo_9650F6, &TrackVehicleInfo_965218, &TrackVehicleInfo_96533A, &TrackVehicleInfo_96545C, &TrackVehicleInfo_966316, &TrackVehicleInfo_966438, + &TrackVehicleInfo_96655A, &TrackVehicleInfo_96667C, &TrackVehicleInfo_964C6E, &TrackVehicleInfo_964D90, &TrackVehicleInfo_964EB2, &TrackVehicleInfo_964FD4, + &TrackVehicleInfo_965E8E, &TrackVehicleInfo_965FB0, &TrackVehicleInfo_9660D2, &TrackVehicleInfo_9661F4, &TrackVehicleInfo_96679E, &TrackVehicleInfo_9668C0, + &TrackVehicleInfo_9669E2, &TrackVehicleInfo_966B04, &TrackVehicleInfo_966C26, &TrackVehicleInfo_966D48, &TrackVehicleInfo_966E6A, &TrackVehicleInfo_966F8C, + &TrackVehicleInfo_9670AE, &TrackVehicleInfo_9671E2, &TrackVehicleInfo_967316, &TrackVehicleInfo_96744A, &TrackVehicleInfo_96757E, &TrackVehicleInfo_9676B2, + &TrackVehicleInfo_9677E6, &TrackVehicleInfo_96791A, &TrackVehicleInfo_96835E, &TrackVehicleInfo_968480, &TrackVehicleInfo_9685A2, &TrackVehicleInfo_9686C4, + &TrackVehicleInfo_9687E6, &TrackVehicleInfo_968908, &TrackVehicleInfo_968A2A, &TrackVehicleInfo_968B4C, &TrackVehicleInfo_967A4E, &TrackVehicleInfo_967B70, + &TrackVehicleInfo_967C92, &TrackVehicleInfo_967DB4, &TrackVehicleInfo_967ED6, &TrackVehicleInfo_967FF8, &TrackVehicleInfo_96811A, &TrackVehicleInfo_96823C, + &TrackVehicleInfo_969E8E, &TrackVehicleInfo_96A1F0, &TrackVehicleInfo_96A552, &TrackVehicleInfo_96A8B4, &TrackVehicleInfo_96B99E, &TrackVehicleInfo_96BD00, + &TrackVehicleInfo_96C062, &TrackVehicleInfo_96C3C4, &TrackVehicleInfo_96AC16, &TrackVehicleInfo_96AF78, &TrackVehicleInfo_96B2DA, &TrackVehicleInfo_96B63C, + &TrackVehicleInfo_96C726, &TrackVehicleInfo_96CA88, &TrackVehicleInfo_96CDEA, &TrackVehicleInfo_96D14C, &TrackVehicleInfo_9761F2, &TrackVehicleInfo_9766C5, + &TrackVehicleInfo_976B98, &TrackVehicleInfo_97706B, &TrackVehicleInfo_97753E, &TrackVehicleInfo_977A11, &TrackVehicleInfo_977EE4, &TrackVehicleInfo_9783B7, + &TrackVehicleInfo_97888A, &TrackVehicleInfo_978D5D, &TrackVehicleInfo_979230, &TrackVehicleInfo_979703, }; const rct_vehicle_info_list *TrackVehicleInfoList_8BBAB8[] = { - &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, - &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, - &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CFB6E, &TrackVehicleInfo_8CFC90, - &TrackVehicleInfo_8CFDB2, &TrackVehicleInfo_8CFED4, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, - &TrackVehicleInfo_8CE906, &TrackVehicleInfo_8CEA28, &TrackVehicleInfo_8CEB4A, &TrackVehicleInfo_8CEC6C, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, - &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, - &TrackVehicleInfo_8CED8E, &TrackVehicleInfo_8CEEC2, &TrackVehicleInfo_8CEFF6, &TrackVehicleInfo_8CF12A, &TrackVehicleInfo_8CFFF6, &TrackVehicleInfo_8D0118, - &TrackVehicleInfo_8D023A, &TrackVehicleInfo_8D035C, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, - &TrackVehicleInfo_8CF6E6, &TrackVehicleInfo_8CF808, &TrackVehicleInfo_8CF92A, &TrackVehicleInfo_8CFA4C, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, - &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, - &TrackVehicleInfo_8CF25E, &TrackVehicleInfo_8CF380, &TrackVehicleInfo_8CF4A2, &TrackVehicleInfo_8CF5C4, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, - &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, - &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, - &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, - &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, - &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, - &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, - &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, - &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, - &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, - &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, - &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, - &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, - &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, - &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, - &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, - &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, - &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, - &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, - &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, - &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, - &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, - &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8FD922, &TrackVehicleInfo_8FD975, &TrackVehicleInfo_8FD9D1, &TrackVehicleInfo_8FDA24, - &TrackVehicleInfo_8FDA6E, &TrackVehicleInfo_8FDBB4, &TrackVehicleInfo_8FDD03, &TrackVehicleInfo_8FDE5B, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, - &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, - &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, - &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, - &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, - &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, - &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, - &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, - &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, - &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, - &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, - &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, - &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, - &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, - &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, - &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, - &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, - &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, - &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, - &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, - &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, - &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, - &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, - &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, - &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, - &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, - &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, - &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, - &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, - &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, - &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, - &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_8B0EB2, &TrackVehicleInfo_8B12B6, &TrackVehicleInfo_8B16C3, &TrackVehicleInfo_8B1AC7, &TrackVehicleInfo_8B1EC2, &TrackVehicleInfo_8B22BD, - &TrackVehicleInfo_8B26C1, &TrackVehicleInfo_8B2ACE, &TrackVehicleInfo_8B2ED2, &TrackVehicleInfo_8B32D6, &TrackVehicleInfo_8B36E3, &TrackVehicleInfo_8B3AE7, - &TrackVehicleInfo_8B3EE2, &TrackVehicleInfo_8B42DD, &TrackVehicleInfo_8B46E1, &TrackVehicleInfo_8B4AEE, &TrackVehicleInfo_8B4EF2, &TrackVehicleInfo_8B52F6, - &TrackVehicleInfo_8B5703, &TrackVehicleInfo_8B5B07, &TrackVehicleInfo_8B5F02, &TrackVehicleInfo_8B62FD, &TrackVehicleInfo_8B6701, &TrackVehicleInfo_8B6B0E, - &TrackVehicleInfo_8B6F12, &TrackVehicleInfo_8B7316, &TrackVehicleInfo_8B7723, &TrackVehicleInfo_8B7B27, &TrackVehicleInfo_8B7F22, &TrackVehicleInfo_8B831D, - &TrackVehicleInfo_8B8721, &TrackVehicleInfo_8B8B2E, &TrackVehicleInfo_968C6E, &TrackVehicleInfo_968D90, &TrackVehicleInfo_968EB2, &TrackVehicleInfo_968FD4, - &TrackVehicleInfo_96957E, &TrackVehicleInfo_9696A0, &TrackVehicleInfo_9697C2, &TrackVehicleInfo_9698E4, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, - &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9048E8, &TrackVehicleInfo_904A0A, &TrackVehicleInfo_904B2C, &TrackVehicleInfo_904C4E, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9690F6, &TrackVehicleInfo_969218, - &TrackVehicleInfo_96933A, &TrackVehicleInfo_96945C, &TrackVehicleInfo_969A06, &TrackVehicleInfo_969B28, &TrackVehicleInfo_969C4A, &TrackVehicleInfo_969D6C, - &TrackVehicleInfo_904D72, &TrackVehicleInfo_905314, &TrackVehicleInfo_9058B6, &TrackVehicleInfo_905E58, &TrackVehicleInfo_96D4AE, &TrackVehicleInfo_96D9A5, - &TrackVehicleInfo_96DE9C, &TrackVehicleInfo_96E393, &TrackVehicleInfo_96E88A, &TrackVehicleInfo_96ED81, &TrackVehicleInfo_96F278, &TrackVehicleInfo_96F76F, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_971042, &TrackVehicleInfo_971539, - &TrackVehicleInfo_971A30, &TrackVehicleInfo_971F27, &TrackVehicleInfo_96FC66, &TrackVehicleInfo_97015D, &TrackVehicleInfo_970654, &TrackVehicleInfo_970B4B, - &TrackVehicleInfo_97241E, &TrackVehicleInfo_9729ED, &TrackVehicleInfo_972FBC, &TrackVehicleInfo_97358B, &TrackVehicleInfo_9063FA, &TrackVehicleInfo_906EAC, - &TrackVehicleInfo_90795E, &TrackVehicleInfo_908410, &TrackVehicleInfo_90B98A, &TrackVehicleInfo_90BC5C, &TrackVehicleInfo_90BF2E, &TrackVehicleInfo_90C200, - &TrackVehicleInfo_90E02A, &TrackVehicleInfo_90E14C, &TrackVehicleInfo_90E26E, &TrackVehicleInfo_90E390, &TrackVehicleInfo_90E4B2, &TrackVehicleInfo_90E5D4, - &TrackVehicleInfo_90E6F6, &TrackVehicleInfo_90E818, &TrackVehicleInfo_90E93A, &TrackVehicleInfo_90EB34, &TrackVehicleInfo_90ED2E, &TrackVehicleInfo_90EF28, - &TrackVehicleInfo_9100F2, &TrackVehicleInfo_9102EC, &TrackVehicleInfo_9104E6, &TrackVehicleInfo_9106E0, &TrackVehicleInfo_90F122, &TrackVehicleInfo_90F31C, - &TrackVehicleInfo_90F516, &TrackVehicleInfo_90F710, &TrackVehicleInfo_90F90A, &TrackVehicleInfo_90FB04, &TrackVehicleInfo_90FCFE, &TrackVehicleInfo_90FEF8, - &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_9108DA, &TrackVehicleInfo_910BA3, - &TrackVehicleInfo_910E75, &TrackVehicleInfo_911147, &TrackVehicleInfo_911F58, &TrackVehicleInfo_91222A, &TrackVehicleInfo_9124FC, &TrackVehicleInfo_9127CE, - &TrackVehicleInfo_911419, &TrackVehicleInfo_9116E2, &TrackVehicleInfo_9119B4, &TrackVehicleInfo_911C86, &TrackVehicleInfo_912AA0, &TrackVehicleInfo_912D69, - &TrackVehicleInfo_91303B, &TrackVehicleInfo_91330D, &TrackVehicleInfo_9135DF, &TrackVehicleInfo_9138A8, &TrackVehicleInfo_913B7A, &TrackVehicleInfo_913E4C, - &TrackVehicleInfo_914C5D, &TrackVehicleInfo_914F2F, &TrackVehicleInfo_915201, &TrackVehicleInfo_9154D3, &TrackVehicleInfo_91411E, &TrackVehicleInfo_9143E7, - &TrackVehicleInfo_9146B9, &TrackVehicleInfo_91498B, &TrackVehicleInfo_9157A5, &TrackVehicleInfo_915A6E, &TrackVehicleInfo_915D40, &TrackVehicleInfo_916012, - &TrackVehicleInfo_9162E6, &TrackVehicleInfo_916408, &TrackVehicleInfo_91652A, &TrackVehicleInfo_91664C, &TrackVehicleInfo_91676E, &TrackVehicleInfo_916890, - &TrackVehicleInfo_9169B2, &TrackVehicleInfo_916AD4, &TrackVehicleInfo_91707E, &TrackVehicleInfo_9172C0, &TrackVehicleInfo_917502, &TrackVehicleInfo_917744, - &TrackVehicleInfo_91828E, &TrackVehicleInfo_9183B0, &TrackVehicleInfo_9184D2, &TrackVehicleInfo_9185F4, &TrackVehicleInfo_9194F6, &TrackVehicleInfo_919645, - &TrackVehicleInfo_919794, &TrackVehicleInfo_9198E3, &TrackVehicleInfo_919A32, &TrackVehicleInfo_919B81, &TrackVehicleInfo_919CD0, &TrackVehicleInfo_919E1F, - &TrackVehicleInfo_918716, &TrackVehicleInfo_91884A, &TrackVehicleInfo_91897E, &TrackVehicleInfo_918AB2, &TrackVehicleInfo_916BF6, &TrackVehicleInfo_916D18, - &TrackVehicleInfo_916E3A, &TrackVehicleInfo_916F5C, &TrackVehicleInfo_917986, &TrackVehicleInfo_917BC8, &TrackVehicleInfo_917E0A, &TrackVehicleInfo_91804C, - &TrackVehicleInfo_91906E, &TrackVehicleInfo_919190, &TrackVehicleInfo_9192B2, &TrackVehicleInfo_9193D4, &TrackVehicleInfo_91A4AA, &TrackVehicleInfo_91A5F9, - &TrackVehicleInfo_91A748, &TrackVehicleInfo_91A897, &TrackVehicleInfo_919F6E, &TrackVehicleInfo_91A0BD, &TrackVehicleInfo_91A20C, &TrackVehicleInfo_91A35B, - &TrackVehicleInfo_918BE6, &TrackVehicleInfo_918D08, &TrackVehicleInfo_918E2A, &TrackVehicleInfo_918F4C, &TrackVehicleInfo_91A9E6, &TrackVehicleInfo_91AB2C, - &TrackVehicleInfo_91AC72, &TrackVehicleInfo_91ADB8, &TrackVehicleInfo_91AEFE, &TrackVehicleInfo_91B044, &TrackVehicleInfo_91B18A, &TrackVehicleInfo_91B2D0, - &TrackVehicleInfo_91B416, &TrackVehicleInfo_91B55C, &TrackVehicleInfo_91B6A2, &TrackVehicleInfo_91B7E8, &TrackVehicleInfo_91B92E, &TrackVehicleInfo_91BA74, - &TrackVehicleInfo_91BBBA, &TrackVehicleInfo_91BD00, &TrackVehicleInfo_95787E, &TrackVehicleInfo_9579A0, &TrackVehicleInfo_957AC2, &TrackVehicleInfo_957BE4, - &TrackVehicleInfo_957D06, &TrackVehicleInfo_957E28, &TrackVehicleInfo_957F4A, &TrackVehicleInfo_95806C, &TrackVehicleInfo_95818E, &TrackVehicleInfo_9582B0, - &TrackVehicleInfo_9583D2, &TrackVehicleInfo_9584F4, &TrackVehicleInfo_958616, &TrackVehicleInfo_958738, &TrackVehicleInfo_95885A, &TrackVehicleInfo_95897C, - &TrackVehicleInfo_958A9E, &TrackVehicleInfo_958BC0, &TrackVehicleInfo_958CE2, &TrackVehicleInfo_958E04, &TrackVehicleInfo_958F26, &TrackVehicleInfo_959048, - &TrackVehicleInfo_95916A, &TrackVehicleInfo_95928C, &TrackVehicleInfo_9593AE, &TrackVehicleInfo_9594E2, &TrackVehicleInfo_959616, &TrackVehicleInfo_95974A, - &TrackVehicleInfo_95987E, &TrackVehicleInfo_9599B2, &TrackVehicleInfo_959AE6, &TrackVehicleInfo_959C1A, &TrackVehicleInfo_95A65E, &TrackVehicleInfo_95A780, - &TrackVehicleInfo_95A8A2, &TrackVehicleInfo_95A9C4, &TrackVehicleInfo_95AAE6, &TrackVehicleInfo_95AC08, &TrackVehicleInfo_95AD2A, &TrackVehicleInfo_95AE4C, - &TrackVehicleInfo_959D4E, &TrackVehicleInfo_959E70, &TrackVehicleInfo_959F92, &TrackVehicleInfo_95A0B4, &TrackVehicleInfo_95A1D6, &TrackVehicleInfo_95A2F8, - &TrackVehicleInfo_95A41A, &TrackVehicleInfo_95A53C, &TrackVehicleInfo_95AF6E, &TrackVehicleInfo_95B090, &TrackVehicleInfo_95B1B2, &TrackVehicleInfo_95B2D4, - &TrackVehicleInfo_95B3F6, &TrackVehicleInfo_95B518, &TrackVehicleInfo_95B63A, &TrackVehicleInfo_95B75C, &TrackVehicleInfo_91BE46, &TrackVehicleInfo_91C001, - &TrackVehicleInfo_91C1BC, &TrackVehicleInfo_91C377, + &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, + &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, + &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CFB6E, &TrackVehicleInfo_8CFC90, + &TrackVehicleInfo_8CFDB2, &TrackVehicleInfo_8CFED4, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, + &TrackVehicleInfo_8CE906, &TrackVehicleInfo_8CEA28, &TrackVehicleInfo_8CEB4A, &TrackVehicleInfo_8CEC6C, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, + &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, + &TrackVehicleInfo_8CED8E, &TrackVehicleInfo_8CEEC2, &TrackVehicleInfo_8CEFF6, &TrackVehicleInfo_8CF12A, &TrackVehicleInfo_8CFFF6, &TrackVehicleInfo_8D0118, + &TrackVehicleInfo_8D023A, &TrackVehicleInfo_8D035C, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, + &TrackVehicleInfo_8CF6E6, &TrackVehicleInfo_8CF808, &TrackVehicleInfo_8CF92A, &TrackVehicleInfo_8CFA4C, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, + &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, + &TrackVehicleInfo_8CF25E, &TrackVehicleInfo_8CF380, &TrackVehicleInfo_8CF4A2, &TrackVehicleInfo_8CF5C4, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, + &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, + &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, + &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, + &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, + &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, + &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, + &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, + &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, + &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, + &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, + &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, + &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, + &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, + &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, + &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, + &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, + &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, + &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, + &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, + &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, + &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, + &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8FD922, &TrackVehicleInfo_8FD975, &TrackVehicleInfo_8FD9D1, &TrackVehicleInfo_8FDA24, + &TrackVehicleInfo_8FDA6E, &TrackVehicleInfo_8FDBB4, &TrackVehicleInfo_8FDD03, &TrackVehicleInfo_8FDE5B, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, + &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, + &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, + &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, + &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, + &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, + &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, + &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, + &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, + &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, + &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, + &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, + &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, + &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, + &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, + &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, + &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, + &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, + &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, + &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, + &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, + &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, + &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, + &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, + &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, + &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, + &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, + &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, + &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, + &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, + &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, + &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_8B0EB2, &TrackVehicleInfo_8B12B6, &TrackVehicleInfo_8B16C3, &TrackVehicleInfo_8B1AC7, &TrackVehicleInfo_8B1EC2, &TrackVehicleInfo_8B22BD, + &TrackVehicleInfo_8B26C1, &TrackVehicleInfo_8B2ACE, &TrackVehicleInfo_8B2ED2, &TrackVehicleInfo_8B32D6, &TrackVehicleInfo_8B36E3, &TrackVehicleInfo_8B3AE7, + &TrackVehicleInfo_8B3EE2, &TrackVehicleInfo_8B42DD, &TrackVehicleInfo_8B46E1, &TrackVehicleInfo_8B4AEE, &TrackVehicleInfo_8B4EF2, &TrackVehicleInfo_8B52F6, + &TrackVehicleInfo_8B5703, &TrackVehicleInfo_8B5B07, &TrackVehicleInfo_8B5F02, &TrackVehicleInfo_8B62FD, &TrackVehicleInfo_8B6701, &TrackVehicleInfo_8B6B0E, + &TrackVehicleInfo_8B6F12, &TrackVehicleInfo_8B7316, &TrackVehicleInfo_8B7723, &TrackVehicleInfo_8B7B27, &TrackVehicleInfo_8B7F22, &TrackVehicleInfo_8B831D, + &TrackVehicleInfo_8B8721, &TrackVehicleInfo_8B8B2E, &TrackVehicleInfo_968C6E, &TrackVehicleInfo_968D90, &TrackVehicleInfo_968EB2, &TrackVehicleInfo_968FD4, + &TrackVehicleInfo_96957E, &TrackVehicleInfo_9696A0, &TrackVehicleInfo_9697C2, &TrackVehicleInfo_9698E4, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, + &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9048E8, &TrackVehicleInfo_904A0A, &TrackVehicleInfo_904B2C, &TrackVehicleInfo_904C4E, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9690F6, &TrackVehicleInfo_969218, + &TrackVehicleInfo_96933A, &TrackVehicleInfo_96945C, &TrackVehicleInfo_969A06, &TrackVehicleInfo_969B28, &TrackVehicleInfo_969C4A, &TrackVehicleInfo_969D6C, + &TrackVehicleInfo_904D72, &TrackVehicleInfo_905314, &TrackVehicleInfo_9058B6, &TrackVehicleInfo_905E58, &TrackVehicleInfo_96D4AE, &TrackVehicleInfo_96D9A5, + &TrackVehicleInfo_96DE9C, &TrackVehicleInfo_96E393, &TrackVehicleInfo_96E88A, &TrackVehicleInfo_96ED81, &TrackVehicleInfo_96F278, &TrackVehicleInfo_96F76F, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_971042, &TrackVehicleInfo_971539, + &TrackVehicleInfo_971A30, &TrackVehicleInfo_971F27, &TrackVehicleInfo_96FC66, &TrackVehicleInfo_97015D, &TrackVehicleInfo_970654, &TrackVehicleInfo_970B4B, + &TrackVehicleInfo_97241E, &TrackVehicleInfo_9729ED, &TrackVehicleInfo_972FBC, &TrackVehicleInfo_97358B, &TrackVehicleInfo_9063FA, &TrackVehicleInfo_906EAC, + &TrackVehicleInfo_90795E, &TrackVehicleInfo_908410, &TrackVehicleInfo_90B98A, &TrackVehicleInfo_90BC5C, &TrackVehicleInfo_90BF2E, &TrackVehicleInfo_90C200, + &TrackVehicleInfo_90E02A, &TrackVehicleInfo_90E14C, &TrackVehicleInfo_90E26E, &TrackVehicleInfo_90E390, &TrackVehicleInfo_90E4B2, &TrackVehicleInfo_90E5D4, + &TrackVehicleInfo_90E6F6, &TrackVehicleInfo_90E818, &TrackVehicleInfo_90E93A, &TrackVehicleInfo_90EB34, &TrackVehicleInfo_90ED2E, &TrackVehicleInfo_90EF28, + &TrackVehicleInfo_9100F2, &TrackVehicleInfo_9102EC, &TrackVehicleInfo_9104E6, &TrackVehicleInfo_9106E0, &TrackVehicleInfo_90F122, &TrackVehicleInfo_90F31C, + &TrackVehicleInfo_90F516, &TrackVehicleInfo_90F710, &TrackVehicleInfo_90F90A, &TrackVehicleInfo_90FB04, &TrackVehicleInfo_90FCFE, &TrackVehicleInfo_90FEF8, + &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_9108DA, &TrackVehicleInfo_910BA3, + &TrackVehicleInfo_910E75, &TrackVehicleInfo_911147, &TrackVehicleInfo_911F58, &TrackVehicleInfo_91222A, &TrackVehicleInfo_9124FC, &TrackVehicleInfo_9127CE, + &TrackVehicleInfo_911419, &TrackVehicleInfo_9116E2, &TrackVehicleInfo_9119B4, &TrackVehicleInfo_911C86, &TrackVehicleInfo_912AA0, &TrackVehicleInfo_912D69, + &TrackVehicleInfo_91303B, &TrackVehicleInfo_91330D, &TrackVehicleInfo_9135DF, &TrackVehicleInfo_9138A8, &TrackVehicleInfo_913B7A, &TrackVehicleInfo_913E4C, + &TrackVehicleInfo_914C5D, &TrackVehicleInfo_914F2F, &TrackVehicleInfo_915201, &TrackVehicleInfo_9154D3, &TrackVehicleInfo_91411E, &TrackVehicleInfo_9143E7, + &TrackVehicleInfo_9146B9, &TrackVehicleInfo_91498B, &TrackVehicleInfo_9157A5, &TrackVehicleInfo_915A6E, &TrackVehicleInfo_915D40, &TrackVehicleInfo_916012, + &TrackVehicleInfo_9162E6, &TrackVehicleInfo_916408, &TrackVehicleInfo_91652A, &TrackVehicleInfo_91664C, &TrackVehicleInfo_91676E, &TrackVehicleInfo_916890, + &TrackVehicleInfo_9169B2, &TrackVehicleInfo_916AD4, &TrackVehicleInfo_91707E, &TrackVehicleInfo_9172C0, &TrackVehicleInfo_917502, &TrackVehicleInfo_917744, + &TrackVehicleInfo_91828E, &TrackVehicleInfo_9183B0, &TrackVehicleInfo_9184D2, &TrackVehicleInfo_9185F4, &TrackVehicleInfo_9194F6, &TrackVehicleInfo_919645, + &TrackVehicleInfo_919794, &TrackVehicleInfo_9198E3, &TrackVehicleInfo_919A32, &TrackVehicleInfo_919B81, &TrackVehicleInfo_919CD0, &TrackVehicleInfo_919E1F, + &TrackVehicleInfo_918716, &TrackVehicleInfo_91884A, &TrackVehicleInfo_91897E, &TrackVehicleInfo_918AB2, &TrackVehicleInfo_916BF6, &TrackVehicleInfo_916D18, + &TrackVehicleInfo_916E3A, &TrackVehicleInfo_916F5C, &TrackVehicleInfo_917986, &TrackVehicleInfo_917BC8, &TrackVehicleInfo_917E0A, &TrackVehicleInfo_91804C, + &TrackVehicleInfo_91906E, &TrackVehicleInfo_919190, &TrackVehicleInfo_9192B2, &TrackVehicleInfo_9193D4, &TrackVehicleInfo_91A4AA, &TrackVehicleInfo_91A5F9, + &TrackVehicleInfo_91A748, &TrackVehicleInfo_91A897, &TrackVehicleInfo_919F6E, &TrackVehicleInfo_91A0BD, &TrackVehicleInfo_91A20C, &TrackVehicleInfo_91A35B, + &TrackVehicleInfo_918BE6, &TrackVehicleInfo_918D08, &TrackVehicleInfo_918E2A, &TrackVehicleInfo_918F4C, &TrackVehicleInfo_91A9E6, &TrackVehicleInfo_91AB2C, + &TrackVehicleInfo_91AC72, &TrackVehicleInfo_91ADB8, &TrackVehicleInfo_91AEFE, &TrackVehicleInfo_91B044, &TrackVehicleInfo_91B18A, &TrackVehicleInfo_91B2D0, + &TrackVehicleInfo_91B416, &TrackVehicleInfo_91B55C, &TrackVehicleInfo_91B6A2, &TrackVehicleInfo_91B7E8, &TrackVehicleInfo_91B92E, &TrackVehicleInfo_91BA74, + &TrackVehicleInfo_91BBBA, &TrackVehicleInfo_91BD00, &TrackVehicleInfo_95787E, &TrackVehicleInfo_9579A0, &TrackVehicleInfo_957AC2, &TrackVehicleInfo_957BE4, + &TrackVehicleInfo_957D06, &TrackVehicleInfo_957E28, &TrackVehicleInfo_957F4A, &TrackVehicleInfo_95806C, &TrackVehicleInfo_95818E, &TrackVehicleInfo_9582B0, + &TrackVehicleInfo_9583D2, &TrackVehicleInfo_9584F4, &TrackVehicleInfo_958616, &TrackVehicleInfo_958738, &TrackVehicleInfo_95885A, &TrackVehicleInfo_95897C, + &TrackVehicleInfo_958A9E, &TrackVehicleInfo_958BC0, &TrackVehicleInfo_958CE2, &TrackVehicleInfo_958E04, &TrackVehicleInfo_958F26, &TrackVehicleInfo_959048, + &TrackVehicleInfo_95916A, &TrackVehicleInfo_95928C, &TrackVehicleInfo_9593AE, &TrackVehicleInfo_9594E2, &TrackVehicleInfo_959616, &TrackVehicleInfo_95974A, + &TrackVehicleInfo_95987E, &TrackVehicleInfo_9599B2, &TrackVehicleInfo_959AE6, &TrackVehicleInfo_959C1A, &TrackVehicleInfo_95A65E, &TrackVehicleInfo_95A780, + &TrackVehicleInfo_95A8A2, &TrackVehicleInfo_95A9C4, &TrackVehicleInfo_95AAE6, &TrackVehicleInfo_95AC08, &TrackVehicleInfo_95AD2A, &TrackVehicleInfo_95AE4C, + &TrackVehicleInfo_959D4E, &TrackVehicleInfo_959E70, &TrackVehicleInfo_959F92, &TrackVehicleInfo_95A0B4, &TrackVehicleInfo_95A1D6, &TrackVehicleInfo_95A2F8, + &TrackVehicleInfo_95A41A, &TrackVehicleInfo_95A53C, &TrackVehicleInfo_95AF6E, &TrackVehicleInfo_95B090, &TrackVehicleInfo_95B1B2, &TrackVehicleInfo_95B2D4, + &TrackVehicleInfo_95B3F6, &TrackVehicleInfo_95B518, &TrackVehicleInfo_95B63A, &TrackVehicleInfo_95B75C, &TrackVehicleInfo_91BE46, &TrackVehicleInfo_91C001, + &TrackVehicleInfo_91C1BC, &TrackVehicleInfo_91C377, }; const rct_vehicle_info_list *TrackVehicleInfoList_8BC588[] = { - &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, - &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, - &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8D023A, &TrackVehicleInfo_8D035C, - &TrackVehicleInfo_8CFFF6, &TrackVehicleInfo_8D0118, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, - &TrackVehicleInfo_8CF4A2, &TrackVehicleInfo_8CF5C4, &TrackVehicleInfo_8CF25E, &TrackVehicleInfo_8CF380, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, - &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, - &TrackVehicleInfo_8CF92A, &TrackVehicleInfo_8CFA4C, &TrackVehicleInfo_8CF6E6, &TrackVehicleInfo_8CF808, &TrackVehicleInfo_8CFDB2, &TrackVehicleInfo_8CFED4, - &TrackVehicleInfo_8CFB6E, &TrackVehicleInfo_8CFC90, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, - &TrackVehicleInfo_8CEFF6, &TrackVehicleInfo_8CF12A, &TrackVehicleInfo_8CED8E, &TrackVehicleInfo_8CEEC2, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, - &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, - &TrackVehicleInfo_8CEB4A, &TrackVehicleInfo_8CEC6C, &TrackVehicleInfo_8CE906, &TrackVehicleInfo_8CEA28, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, - &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, - &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, - &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, - &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, - &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, - &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, - &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, - &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, - &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, - &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, - &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, - &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, - &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, - &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, - &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, - &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, - &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, - &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, - &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, - &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, - &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, - &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8FDBB4, &TrackVehicleInfo_8FDD03, &TrackVehicleInfo_8FDE5B, &TrackVehicleInfo_8FDA6E, - &TrackVehicleInfo_8FDA24, &TrackVehicleInfo_8FD922, &TrackVehicleInfo_8FD975, &TrackVehicleInfo_8FD9D1, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, - &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, - &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, - &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, - &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, - &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, - &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, - &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, - &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, - &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, - &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, - &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, - &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, - &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, - &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, - &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, - &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, - &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, - &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, - &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, - &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, - &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, - &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, - &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, - &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, - &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, - &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, - &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, - &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, - &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, - &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, - &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, + &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, + &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, + &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8D023A, &TrackVehicleInfo_8D035C, + &TrackVehicleInfo_8CFFF6, &TrackVehicleInfo_8D0118, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, + &TrackVehicleInfo_8CF4A2, &TrackVehicleInfo_8CF5C4, &TrackVehicleInfo_8CF25E, &TrackVehicleInfo_8CF380, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, + &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, + &TrackVehicleInfo_8CF92A, &TrackVehicleInfo_8CFA4C, &TrackVehicleInfo_8CF6E6, &TrackVehicleInfo_8CF808, &TrackVehicleInfo_8CFDB2, &TrackVehicleInfo_8CFED4, + &TrackVehicleInfo_8CFB6E, &TrackVehicleInfo_8CFC90, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, + &TrackVehicleInfo_8CEFF6, &TrackVehicleInfo_8CF12A, &TrackVehicleInfo_8CED8E, &TrackVehicleInfo_8CEEC2, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, + &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, + &TrackVehicleInfo_8CEB4A, &TrackVehicleInfo_8CEC6C, &TrackVehicleInfo_8CE906, &TrackVehicleInfo_8CEA28, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, + &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, + &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, + &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, + &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, + &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, + &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, + &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, + &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, + &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, + &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, + &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, + &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, + &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, + &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, + &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, + &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, + &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, + &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, + &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, + &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, + &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, + &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8FDBB4, &TrackVehicleInfo_8FDD03, &TrackVehicleInfo_8FDE5B, &TrackVehicleInfo_8FDA6E, + &TrackVehicleInfo_8FDA24, &TrackVehicleInfo_8FD922, &TrackVehicleInfo_8FD975, &TrackVehicleInfo_8FD9D1, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, + &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, + &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, + &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, + &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, + &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, + &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, + &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, + &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, + &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, + &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, + &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, + &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, + &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, + &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, + &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, + &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, + &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, + &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, + &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, + &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, + &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, + &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, + &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, + &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, + &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, + &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, + &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, + &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, + &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, + &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, &TrackVehicleInfo_8CDE26, &TrackVehicleInfo_8CDF48, + &TrackVehicleInfo_8CDBE2, &TrackVehicleInfo_8CDD04, }; const rct_vehicle_info_list *TrackVehicleInfoList_8BCBD8[] = { - &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, - &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, - &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, - &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, - &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, - &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, - &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, - &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, - &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, - &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, - &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, - &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, - &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, - &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, - &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, - &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, - &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, - &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, - &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, - &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, - &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, - &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, - &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, - &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, - &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, - &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, - &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, - &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, - &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, - &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, - &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, - &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, - &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8E39EE, &TrackVehicleInfo_8E3AB6, &TrackVehicleInfo_8E3B87, &TrackVehicleInfo_8E3C4F, - &TrackVehicleInfo_8E3D0E, &TrackVehicleInfo_8E3DCD, &TrackVehicleInfo_8E3E95, &TrackVehicleInfo_8E3F66, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, - &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, - &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, - &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, - &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, - &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, - &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, - &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, - &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, - &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, - &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, - &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, - &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, - &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, - &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, - &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, - &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, - &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, - &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, - &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, - &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, - &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, - &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, - &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, - &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, - &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, - &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, - &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, - &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, - &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, - &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, - &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, + &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, + &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, + &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, + &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, + &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, + &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, + &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, + &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, + &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, + &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, + &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, + &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, + &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, + &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, + &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, + &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, + &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, + &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, + &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, + &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, + &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, + &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, + &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, + &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, + &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, + &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, + &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, + &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, + &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, + &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, + &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, + &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, + &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8E39EE, &TrackVehicleInfo_8E3AB6, &TrackVehicleInfo_8E3B87, &TrackVehicleInfo_8E3C4F, + &TrackVehicleInfo_8E3D0E, &TrackVehicleInfo_8E3DCD, &TrackVehicleInfo_8E3E95, &TrackVehicleInfo_8E3F66, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, + &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, + &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, + &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, + &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, + &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, + &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, + &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, + &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, + &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, + &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, + &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, + &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, + &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, + &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, + &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, + &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, + &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, + &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, + &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, + &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, + &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, + &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, + &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, + &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, + &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, + &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, + &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, + &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, + &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, + &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, + &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, }; const rct_vehicle_info_list *TrackVehicleInfoList_8BD228[] = { - &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, - &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, - &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, - &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, - &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, - &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, - &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, - &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, - &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, - &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, - &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, - &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, - &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, - &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, - &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, - &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, - &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, - &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, - &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, - &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, - &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, - &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, - &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, - &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, - &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, - &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, - &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, - &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, - &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, - &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, - &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, - &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, - &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8E39EE, &TrackVehicleInfo_8E3AB6, &TrackVehicleInfo_8E3B87, &TrackVehicleInfo_8E3C4F, - &TrackVehicleInfo_8E3D0E, &TrackVehicleInfo_8E3DCD, &TrackVehicleInfo_8E3E95, &TrackVehicleInfo_8E3F66, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, - &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, - &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, - &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, - &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, - &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, - &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, - &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, - &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, - &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, - &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, - &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, - &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, - &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, - &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, - &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, - &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, - &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, - &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, - &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, - &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, - &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, - &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, - &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, - &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, - &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, - &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, - &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, - &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, - &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, - &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, - &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, + &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, + &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, + &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, + &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, + &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, + &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, + &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, + &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, + &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, + &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, + &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, + &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, + &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, + &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, + &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, + &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, + &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, + &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, + &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, + &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, + &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, + &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, + &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, + &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, + &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, + &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, + &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, + &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, + &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, + &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, + &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, + &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, + &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8E39EE, &TrackVehicleInfo_8E3AB6, &TrackVehicleInfo_8E3B87, &TrackVehicleInfo_8E3C4F, + &TrackVehicleInfo_8E3D0E, &TrackVehicleInfo_8E3DCD, &TrackVehicleInfo_8E3E95, &TrackVehicleInfo_8E3F66, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, + &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, + &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, + &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, + &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, + &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, + &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, + &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, + &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, + &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, + &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, + &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, + &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, + &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, + &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, + &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, + &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, + &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, + &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, + &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, + &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, + &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, + &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, + &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, + &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, + &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, + &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, + &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, + &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, + &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, + &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, &TrackVehicleInfo_8CE4B8, &TrackVehicleInfo_8CE6DF, + &TrackVehicleInfo_8CE06A, &TrackVehicleInfo_8CE291, }; const rct_vehicle_info_list *TrackVehicleInfoList_8BD878[] = { - &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, - &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, - &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, &TrackVehicleInfo_900E52, &TrackVehicleInfo_900F74, - &TrackVehicleInfo_901096, &TrackVehicleInfo_9011B8, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, - &TrackVehicleInfo_8FFBEA, &TrackVehicleInfo_8FFD0C, &TrackVehicleInfo_8FFE2E, &TrackVehicleInfo_8FFF50, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, - &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, - &TrackVehicleInfo_900072, &TrackVehicleInfo_9001A6, &TrackVehicleInfo_9002DA, &TrackVehicleInfo_90040E, &TrackVehicleInfo_9012DA, &TrackVehicleInfo_9013FC, - &TrackVehicleInfo_90151E, &TrackVehicleInfo_901640, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, - &TrackVehicleInfo_9009CA, &TrackVehicleInfo_900AEC, &TrackVehicleInfo_900C0E, &TrackVehicleInfo_900D30, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, - &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, - &TrackVehicleInfo_900542, &TrackVehicleInfo_900664, &TrackVehicleInfo_900786, &TrackVehicleInfo_9008A8, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, - &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, - &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, - &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, - &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, - &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, - &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, - &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, - &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, - &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, - &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, - &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, - &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, - &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, - &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, - &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, - &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, - &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, - &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, - &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, - &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, - &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, - &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_901C05, &TrackVehicleInfo_901C7C, &TrackVehicleInfo_901CFC, &TrackVehicleInfo_901D73, - &TrackVehicleInfo_901762, &TrackVehicleInfo_901884, &TrackVehicleInfo_9019AF, &TrackVehicleInfo_901AE3, + &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, + &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, + &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, &TrackVehicleInfo_900E52, &TrackVehicleInfo_900F74, + &TrackVehicleInfo_901096, &TrackVehicleInfo_9011B8, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, + &TrackVehicleInfo_8FFBEA, &TrackVehicleInfo_8FFD0C, &TrackVehicleInfo_8FFE2E, &TrackVehicleInfo_8FFF50, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, + &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, + &TrackVehicleInfo_900072, &TrackVehicleInfo_9001A6, &TrackVehicleInfo_9002DA, &TrackVehicleInfo_90040E, &TrackVehicleInfo_9012DA, &TrackVehicleInfo_9013FC, + &TrackVehicleInfo_90151E, &TrackVehicleInfo_901640, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, + &TrackVehicleInfo_9009CA, &TrackVehicleInfo_900AEC, &TrackVehicleInfo_900C0E, &TrackVehicleInfo_900D30, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, + &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, + &TrackVehicleInfo_900542, &TrackVehicleInfo_900664, &TrackVehicleInfo_900786, &TrackVehicleInfo_9008A8, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, + &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, + &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, + &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, + &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, + &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, + &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, + &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, + &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, + &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, + &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, + &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, + &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, + &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, + &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, + &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, + &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, + &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, + &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, + &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, + &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, + &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, + &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_901C05, &TrackVehicleInfo_901C7C, &TrackVehicleInfo_901CFC, &TrackVehicleInfo_901D73, + &TrackVehicleInfo_901762, &TrackVehicleInfo_901884, &TrackVehicleInfo_9019AF, &TrackVehicleInfo_901AE3, }; const rct_vehicle_info_list *TrackVehicleInfoList_8BDBB8[] = { - &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, - &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, - &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, &TrackVehicleInfo_9034D1, &TrackVehicleInfo_9035F3, - &TrackVehicleInfo_903715, &TrackVehicleInfo_903837, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, - &TrackVehicleInfo_902269, &TrackVehicleInfo_90238B, &TrackVehicleInfo_9024AD, &TrackVehicleInfo_9025CF, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, - &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, - &TrackVehicleInfo_9026F1, &TrackVehicleInfo_902825, &TrackVehicleInfo_902959, &TrackVehicleInfo_902A8D, &TrackVehicleInfo_903959, &TrackVehicleInfo_903A7B, - &TrackVehicleInfo_903B9D, &TrackVehicleInfo_903CBF, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, - &TrackVehicleInfo_903049, &TrackVehicleInfo_90316B, &TrackVehicleInfo_90328D, &TrackVehicleInfo_9033AF, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, - &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, - &TrackVehicleInfo_902BC1, &TrackVehicleInfo_902CE3, &TrackVehicleInfo_902E05, &TrackVehicleInfo_902F27, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, - &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, - &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, - &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, - &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, - &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, - &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, - &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, - &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, - &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, - &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, - &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, - &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, - &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, - &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, - &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, - &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, - &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, - &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, - &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, - &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, - &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, - &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_903DE1, &TrackVehicleInfo_903F0C, &TrackVehicleInfo_904040, &TrackVehicleInfo_904162, - &TrackVehicleInfo_904284, &TrackVehicleInfo_9042F2, &TrackVehicleInfo_904369, &TrackVehicleInfo_9043E9, + &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, + &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, + &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, &TrackVehicleInfo_9034D1, &TrackVehicleInfo_9035F3, + &TrackVehicleInfo_903715, &TrackVehicleInfo_903837, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, + &TrackVehicleInfo_902269, &TrackVehicleInfo_90238B, &TrackVehicleInfo_9024AD, &TrackVehicleInfo_9025CF, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, + &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, + &TrackVehicleInfo_9026F1, &TrackVehicleInfo_902825, &TrackVehicleInfo_902959, &TrackVehicleInfo_902A8D, &TrackVehicleInfo_903959, &TrackVehicleInfo_903A7B, + &TrackVehicleInfo_903B9D, &TrackVehicleInfo_903CBF, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, + &TrackVehicleInfo_903049, &TrackVehicleInfo_90316B, &TrackVehicleInfo_90328D, &TrackVehicleInfo_9033AF, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, + &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, + &TrackVehicleInfo_902BC1, &TrackVehicleInfo_902CE3, &TrackVehicleInfo_902E05, &TrackVehicleInfo_902F27, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, + &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, + &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, + &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, + &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, + &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, + &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, + &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, + &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, + &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, + &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, + &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, + &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, + &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, + &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, + &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, + &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, + &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, + &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, + &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, + &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, + &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, + &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_903DE1, &TrackVehicleInfo_903F0C, &TrackVehicleInfo_904040, &TrackVehicleInfo_904162, + &TrackVehicleInfo_904284, &TrackVehicleInfo_9042F2, &TrackVehicleInfo_904369, &TrackVehicleInfo_9043E9, }; const rct_vehicle_info_list *TrackVehicleInfoList_8BDEF8[] = { - &TrackVehicleInfo_8FF762, &TrackVehicleInfo_8FF884, &TrackVehicleInfo_8FF9A6, &TrackVehicleInfo_8FFAC8, &TrackVehicleInfo_8FF762, &TrackVehicleInfo_8FF884, - &TrackVehicleInfo_8FF9A6, &TrackVehicleInfo_8FFAC8, &TrackVehicleInfo_8FF762, &TrackVehicleInfo_8FF884, &TrackVehicleInfo_8FF9A6, &TrackVehicleInfo_8FFAC8, - &TrackVehicleInfo_8FF762, &TrackVehicleInfo_8FF884, &TrackVehicleInfo_8FF9A6, &TrackVehicleInfo_8FFAC8, &TrackVehicleInfo_900E52, &TrackVehicleInfo_900F74, - &TrackVehicleInfo_901096, &TrackVehicleInfo_9011B8, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, - &TrackVehicleInfo_8FFBEA, &TrackVehicleInfo_8FFD0C, &TrackVehicleInfo_8FFE2E, &TrackVehicleInfo_8FFF50, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, - &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, - &TrackVehicleInfo_900072, &TrackVehicleInfo_9001A6, &TrackVehicleInfo_9002DA, &TrackVehicleInfo_90040E, &TrackVehicleInfo_9012DA, &TrackVehicleInfo_9013FC, - &TrackVehicleInfo_90151E, &TrackVehicleInfo_901640, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, - &TrackVehicleInfo_9009CA, &TrackVehicleInfo_900AEC, &TrackVehicleInfo_900C0E, &TrackVehicleInfo_900D30, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, - &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, - &TrackVehicleInfo_900542, &TrackVehicleInfo_900664, &TrackVehicleInfo_900786, &TrackVehicleInfo_9008A8, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, - &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, - &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, - &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, - &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, - &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, - &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, - &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, - &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, - &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, - &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, - &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, - &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, - &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, - &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, - &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, - &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, - &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, - &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, - &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, - &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, - &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, - &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_901C05, &TrackVehicleInfo_901C7C, &TrackVehicleInfo_901CFC, &TrackVehicleInfo_901D73, - &TrackVehicleInfo_901762, &TrackVehicleInfo_901884, &TrackVehicleInfo_9019AF, &TrackVehicleInfo_901AE3, + &TrackVehicleInfo_8FF762, &TrackVehicleInfo_8FF884, &TrackVehicleInfo_8FF9A6, &TrackVehicleInfo_8FFAC8, &TrackVehicleInfo_8FF762, &TrackVehicleInfo_8FF884, + &TrackVehicleInfo_8FF9A6, &TrackVehicleInfo_8FFAC8, &TrackVehicleInfo_8FF762, &TrackVehicleInfo_8FF884, &TrackVehicleInfo_8FF9A6, &TrackVehicleInfo_8FFAC8, + &TrackVehicleInfo_8FF762, &TrackVehicleInfo_8FF884, &TrackVehicleInfo_8FF9A6, &TrackVehicleInfo_8FFAC8, &TrackVehicleInfo_900E52, &TrackVehicleInfo_900F74, + &TrackVehicleInfo_901096, &TrackVehicleInfo_9011B8, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, + &TrackVehicleInfo_8FFBEA, &TrackVehicleInfo_8FFD0C, &TrackVehicleInfo_8FFE2E, &TrackVehicleInfo_8FFF50, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, + &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, + &TrackVehicleInfo_900072, &TrackVehicleInfo_9001A6, &TrackVehicleInfo_9002DA, &TrackVehicleInfo_90040E, &TrackVehicleInfo_9012DA, &TrackVehicleInfo_9013FC, + &TrackVehicleInfo_90151E, &TrackVehicleInfo_901640, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, + &TrackVehicleInfo_9009CA, &TrackVehicleInfo_900AEC, &TrackVehicleInfo_900C0E, &TrackVehicleInfo_900D30, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, + &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, + &TrackVehicleInfo_900542, &TrackVehicleInfo_900664, &TrackVehicleInfo_900786, &TrackVehicleInfo_9008A8, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, + &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, + &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, + &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, + &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, + &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, + &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, + &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, + &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, + &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, + &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, + &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, + &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, + &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, + &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, + &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, + &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, + &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, + &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, + &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, + &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, + &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, + &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_901C05, &TrackVehicleInfo_901C7C, &TrackVehicleInfo_901CFC, &TrackVehicleInfo_901D73, + &TrackVehicleInfo_901762, &TrackVehicleInfo_901884, &TrackVehicleInfo_9019AF, &TrackVehicleInfo_901AE3, }; const rct_vehicle_info_list *TrackVehicleInfoList_8BE238[] = { - &TrackVehicleInfo_904460, &TrackVehicleInfo_904582, &TrackVehicleInfo_9046A4, &TrackVehicleInfo_9047C6, &TrackVehicleInfo_904460, &TrackVehicleInfo_904582, - &TrackVehicleInfo_9046A4, &TrackVehicleInfo_9047C6, &TrackVehicleInfo_904460, &TrackVehicleInfo_904582, &TrackVehicleInfo_9046A4, &TrackVehicleInfo_9047C6, - &TrackVehicleInfo_904460, &TrackVehicleInfo_904582, &TrackVehicleInfo_9046A4, &TrackVehicleInfo_9047C6, &TrackVehicleInfo_9034D1, &TrackVehicleInfo_9035F3, - &TrackVehicleInfo_903715, &TrackVehicleInfo_903837, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, - &TrackVehicleInfo_902269, &TrackVehicleInfo_90238B, &TrackVehicleInfo_9024AD, &TrackVehicleInfo_9025CF, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, - &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, - &TrackVehicleInfo_9026F1, &TrackVehicleInfo_902825, &TrackVehicleInfo_902959, &TrackVehicleInfo_902A8D, &TrackVehicleInfo_903959, &TrackVehicleInfo_903A7B, - &TrackVehicleInfo_903B9D, &TrackVehicleInfo_903CBF, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, - &TrackVehicleInfo_903049, &TrackVehicleInfo_90316B, &TrackVehicleInfo_90328D, &TrackVehicleInfo_9033AF, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, - &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, - &TrackVehicleInfo_902BC1, &TrackVehicleInfo_902CE3, &TrackVehicleInfo_902E05, &TrackVehicleInfo_902F27, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, - &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, - &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, - &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, - &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, - &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, - &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, - &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, - &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, - &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, - &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, - &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, - &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, - &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, - &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, - &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, - &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, - &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, - &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, - &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, - &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, - &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, - &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_903DE1, &TrackVehicleInfo_903F0C, &TrackVehicleInfo_904040, &TrackVehicleInfo_904162, - &TrackVehicleInfo_904284, &TrackVehicleInfo_9042F2, &TrackVehicleInfo_904369, &TrackVehicleInfo_9043E9, + &TrackVehicleInfo_904460, &TrackVehicleInfo_904582, &TrackVehicleInfo_9046A4, &TrackVehicleInfo_9047C6, &TrackVehicleInfo_904460, &TrackVehicleInfo_904582, + &TrackVehicleInfo_9046A4, &TrackVehicleInfo_9047C6, &TrackVehicleInfo_904460, &TrackVehicleInfo_904582, &TrackVehicleInfo_9046A4, &TrackVehicleInfo_9047C6, + &TrackVehicleInfo_904460, &TrackVehicleInfo_904582, &TrackVehicleInfo_9046A4, &TrackVehicleInfo_9047C6, &TrackVehicleInfo_9034D1, &TrackVehicleInfo_9035F3, + &TrackVehicleInfo_903715, &TrackVehicleInfo_903837, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, + &TrackVehicleInfo_902269, &TrackVehicleInfo_90238B, &TrackVehicleInfo_9024AD, &TrackVehicleInfo_9025CF, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, + &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, + &TrackVehicleInfo_9026F1, &TrackVehicleInfo_902825, &TrackVehicleInfo_902959, &TrackVehicleInfo_902A8D, &TrackVehicleInfo_903959, &TrackVehicleInfo_903A7B, + &TrackVehicleInfo_903B9D, &TrackVehicleInfo_903CBF, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, + &TrackVehicleInfo_903049, &TrackVehicleInfo_90316B, &TrackVehicleInfo_90328D, &TrackVehicleInfo_9033AF, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, + &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, + &TrackVehicleInfo_902BC1, &TrackVehicleInfo_902CE3, &TrackVehicleInfo_902E05, &TrackVehicleInfo_902F27, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, + &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, + &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, + &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, + &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, + &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, + &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, + &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, + &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, + &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, + &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, + &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, + &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, + &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, + &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, + &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, + &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, + &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, + &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, + &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, + &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, + &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, + &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_903DE1, &TrackVehicleInfo_903F0C, &TrackVehicleInfo_904040, &TrackVehicleInfo_904162, + &TrackVehicleInfo_904284, &TrackVehicleInfo_9042F2, &TrackVehicleInfo_904369, &TrackVehicleInfo_9043E9, }; const rct_vehicle_info_list *TrackVehicleInfoList_9334D0[] = { - &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, - &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, - &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938D7A, &TrackVehicleInfo_938E0C, - &TrackVehicleInfo_938E9E, &TrackVehicleInfo_938F30, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_93845A, &TrackVehicleInfo_9384EC, &TrackVehicleInfo_93857E, &TrackVehicleInfo_938610, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9386A2, &TrackVehicleInfo_938734, &TrackVehicleInfo_9387C6, &TrackVehicleInfo_938858, &TrackVehicleInfo_938FC2, &TrackVehicleInfo_939054, - &TrackVehicleInfo_9390E6, &TrackVehicleInfo_939178, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_938B32, &TrackVehicleInfo_938BC4, &TrackVehicleInfo_938C56, &TrackVehicleInfo_938CE8, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9388EA, &TrackVehicleInfo_93897C, &TrackVehicleInfo_938A0E, &TrackVehicleInfo_938AA0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_93920A, &TrackVehicleInfo_939293, &TrackVehicleInfo_93932E, &TrackVehicleInfo_9393C0, - &TrackVehicleInfo_939449, &TrackVehicleInfo_9394D2, &TrackVehicleInfo_939564, &TrackVehicleInfo_9395FF, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_939691, &TrackVehicleInfo_93C082, &TrackVehicleInfo_93EA73, &TrackVehicleInfo_941464, &TrackVehicleInfo_93A46E, &TrackVehicleInfo_93CE5F, - &TrackVehicleInfo_93F850, &TrackVehicleInfo_942241, &TrackVehicleInfo_93B2AE, &TrackVehicleInfo_93DC9F, &TrackVehicleInfo_940690, &TrackVehicleInfo_943081, - &TrackVehicleInfo_943E56, &TrackVehicleInfo_946B14, &TrackVehicleInfo_9497D2, &TrackVehicleInfo_94C490, &TrackVehicleInfo_9454B5, &TrackVehicleInfo_948173, - &TrackVehicleInfo_94AE31, &TrackVehicleInfo_94DAEF, + &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, + &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, + &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938D7A, &TrackVehicleInfo_938E0C, + &TrackVehicleInfo_938E9E, &TrackVehicleInfo_938F30, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_93845A, &TrackVehicleInfo_9384EC, &TrackVehicleInfo_93857E, &TrackVehicleInfo_938610, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9386A2, &TrackVehicleInfo_938734, &TrackVehicleInfo_9387C6, &TrackVehicleInfo_938858, &TrackVehicleInfo_938FC2, &TrackVehicleInfo_939054, + &TrackVehicleInfo_9390E6, &TrackVehicleInfo_939178, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_938B32, &TrackVehicleInfo_938BC4, &TrackVehicleInfo_938C56, &TrackVehicleInfo_938CE8, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9388EA, &TrackVehicleInfo_93897C, &TrackVehicleInfo_938A0E, &TrackVehicleInfo_938AA0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_93920A, &TrackVehicleInfo_939293, &TrackVehicleInfo_93932E, &TrackVehicleInfo_9393C0, + &TrackVehicleInfo_939449, &TrackVehicleInfo_9394D2, &TrackVehicleInfo_939564, &TrackVehicleInfo_9395FF, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_939691, &TrackVehicleInfo_93C082, &TrackVehicleInfo_93EA73, &TrackVehicleInfo_941464, &TrackVehicleInfo_93A46E, &TrackVehicleInfo_93CE5F, + &TrackVehicleInfo_93F850, &TrackVehicleInfo_942241, &TrackVehicleInfo_93B2AE, &TrackVehicleInfo_93DC9F, &TrackVehicleInfo_940690, &TrackVehicleInfo_943081, + &TrackVehicleInfo_943E56, &TrackVehicleInfo_946B14, &TrackVehicleInfo_9497D2, &TrackVehicleInfo_94C490, &TrackVehicleInfo_9454B5, &TrackVehicleInfo_948173, + &TrackVehicleInfo_94AE31, &TrackVehicleInfo_94DAEF, }; const rct_vehicle_info_list *TrackVehicleInfoList_9341B0[] = { - &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, - &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, - &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938D7A, &TrackVehicleInfo_938E0C, - &TrackVehicleInfo_938E9E, &TrackVehicleInfo_938F30, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_93845A, &TrackVehicleInfo_9384EC, &TrackVehicleInfo_93857E, &TrackVehicleInfo_938610, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9386A2, &TrackVehicleInfo_938734, &TrackVehicleInfo_9387C6, &TrackVehicleInfo_938858, &TrackVehicleInfo_938FC2, &TrackVehicleInfo_939054, - &TrackVehicleInfo_9390E6, &TrackVehicleInfo_939178, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_938B32, &TrackVehicleInfo_938BC4, &TrackVehicleInfo_938C56, &TrackVehicleInfo_938CE8, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9388EA, &TrackVehicleInfo_93897C, &TrackVehicleInfo_938A0E, &TrackVehicleInfo_938AA0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_93920A, &TrackVehicleInfo_939293, &TrackVehicleInfo_93932E, &TrackVehicleInfo_9393C0, - &TrackVehicleInfo_939449, &TrackVehicleInfo_9394D2, &TrackVehicleInfo_939564, &TrackVehicleInfo_9395FF, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9398A6, &TrackVehicleInfo_93C297, &TrackVehicleInfo_93EC88, &TrackVehicleInfo_941679, &TrackVehicleInfo_93A68C, &TrackVehicleInfo_93D07D, - &TrackVehicleInfo_93FA6E, &TrackVehicleInfo_94245F, &TrackVehicleInfo_93B4CC, &TrackVehicleInfo_93DEBD, &TrackVehicleInfo_9408AE, &TrackVehicleInfo_94329F, - &TrackVehicleInfo_944104, &TrackVehicleInfo_946DC2, &TrackVehicleInfo_949A80, &TrackVehicleInfo_94C73E, &TrackVehicleInfo_945763, &TrackVehicleInfo_948421, - &TrackVehicleInfo_94B0DF, &TrackVehicleInfo_94DD9D, + &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, + &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, + &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938D7A, &TrackVehicleInfo_938E0C, + &TrackVehicleInfo_938E9E, &TrackVehicleInfo_938F30, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_93845A, &TrackVehicleInfo_9384EC, &TrackVehicleInfo_93857E, &TrackVehicleInfo_938610, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9386A2, &TrackVehicleInfo_938734, &TrackVehicleInfo_9387C6, &TrackVehicleInfo_938858, &TrackVehicleInfo_938FC2, &TrackVehicleInfo_939054, + &TrackVehicleInfo_9390E6, &TrackVehicleInfo_939178, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_938B32, &TrackVehicleInfo_938BC4, &TrackVehicleInfo_938C56, &TrackVehicleInfo_938CE8, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9388EA, &TrackVehicleInfo_93897C, &TrackVehicleInfo_938A0E, &TrackVehicleInfo_938AA0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_93920A, &TrackVehicleInfo_939293, &TrackVehicleInfo_93932E, &TrackVehicleInfo_9393C0, + &TrackVehicleInfo_939449, &TrackVehicleInfo_9394D2, &TrackVehicleInfo_939564, &TrackVehicleInfo_9395FF, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9398A6, &TrackVehicleInfo_93C297, &TrackVehicleInfo_93EC88, &TrackVehicleInfo_941679, &TrackVehicleInfo_93A68C, &TrackVehicleInfo_93D07D, + &TrackVehicleInfo_93FA6E, &TrackVehicleInfo_94245F, &TrackVehicleInfo_93B4CC, &TrackVehicleInfo_93DEBD, &TrackVehicleInfo_9408AE, &TrackVehicleInfo_94329F, + &TrackVehicleInfo_944104, &TrackVehicleInfo_946DC2, &TrackVehicleInfo_949A80, &TrackVehicleInfo_94C73E, &TrackVehicleInfo_945763, &TrackVehicleInfo_948421, + &TrackVehicleInfo_94B0DF, &TrackVehicleInfo_94DD9D, }; const rct_vehicle_info_list *TrackVehicleInfoList_934E90[] = { - &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, - &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, - &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938D7A, &TrackVehicleInfo_938E0C, - &TrackVehicleInfo_938E9E, &TrackVehicleInfo_938F30, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_93845A, &TrackVehicleInfo_9384EC, &TrackVehicleInfo_93857E, &TrackVehicleInfo_938610, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9386A2, &TrackVehicleInfo_938734, &TrackVehicleInfo_9387C6, &TrackVehicleInfo_938858, &TrackVehicleInfo_938FC2, &TrackVehicleInfo_939054, - &TrackVehicleInfo_9390E6, &TrackVehicleInfo_939178, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_938B32, &TrackVehicleInfo_938BC4, &TrackVehicleInfo_938C56, &TrackVehicleInfo_938CE8, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9388EA, &TrackVehicleInfo_93897C, &TrackVehicleInfo_938A0E, &TrackVehicleInfo_938AA0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_93920A, &TrackVehicleInfo_939293, &TrackVehicleInfo_93932E, &TrackVehicleInfo_9393C0, - &TrackVehicleInfo_939449, &TrackVehicleInfo_9394D2, &TrackVehicleInfo_939564, &TrackVehicleInfo_9395FF, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_939A85, &TrackVehicleInfo_93C476, &TrackVehicleInfo_93EE67, &TrackVehicleInfo_941858, &TrackVehicleInfo_93A898, &TrackVehicleInfo_93D289, - &TrackVehicleInfo_93FC7A, &TrackVehicleInfo_94266B, &TrackVehicleInfo_93B648, &TrackVehicleInfo_93E039, &TrackVehicleInfo_940A2A, &TrackVehicleInfo_94341B, - &TrackVehicleInfo_9443A0, &TrackVehicleInfo_94705E, &TrackVehicleInfo_949D1C, &TrackVehicleInfo_94C9DA, &TrackVehicleInfo_9459FF, &TrackVehicleInfo_9486BD, - &TrackVehicleInfo_94B37B, &TrackVehicleInfo_94E039, + &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, + &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, + &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938D7A, &TrackVehicleInfo_938E0C, + &TrackVehicleInfo_938E9E, &TrackVehicleInfo_938F30, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_93845A, &TrackVehicleInfo_9384EC, &TrackVehicleInfo_93857E, &TrackVehicleInfo_938610, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9386A2, &TrackVehicleInfo_938734, &TrackVehicleInfo_9387C6, &TrackVehicleInfo_938858, &TrackVehicleInfo_938FC2, &TrackVehicleInfo_939054, + &TrackVehicleInfo_9390E6, &TrackVehicleInfo_939178, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_938B32, &TrackVehicleInfo_938BC4, &TrackVehicleInfo_938C56, &TrackVehicleInfo_938CE8, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9388EA, &TrackVehicleInfo_93897C, &TrackVehicleInfo_938A0E, &TrackVehicleInfo_938AA0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_93920A, &TrackVehicleInfo_939293, &TrackVehicleInfo_93932E, &TrackVehicleInfo_9393C0, + &TrackVehicleInfo_939449, &TrackVehicleInfo_9394D2, &TrackVehicleInfo_939564, &TrackVehicleInfo_9395FF, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_939A85, &TrackVehicleInfo_93C476, &TrackVehicleInfo_93EE67, &TrackVehicleInfo_941858, &TrackVehicleInfo_93A898, &TrackVehicleInfo_93D289, + &TrackVehicleInfo_93FC7A, &TrackVehicleInfo_94266B, &TrackVehicleInfo_93B648, &TrackVehicleInfo_93E039, &TrackVehicleInfo_940A2A, &TrackVehicleInfo_94341B, + &TrackVehicleInfo_9443A0, &TrackVehicleInfo_94705E, &TrackVehicleInfo_949D1C, &TrackVehicleInfo_94C9DA, &TrackVehicleInfo_9459FF, &TrackVehicleInfo_9486BD, + &TrackVehicleInfo_94B37B, &TrackVehicleInfo_94E039, }; const rct_vehicle_info_list *TrackVehicleInfoList_935B70[] = { - &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, - &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, - &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938D7A, &TrackVehicleInfo_938E0C, - &TrackVehicleInfo_938E9E, &TrackVehicleInfo_938F30, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_93845A, &TrackVehicleInfo_9384EC, &TrackVehicleInfo_93857E, &TrackVehicleInfo_938610, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9386A2, &TrackVehicleInfo_938734, &TrackVehicleInfo_9387C6, &TrackVehicleInfo_938858, &TrackVehicleInfo_938FC2, &TrackVehicleInfo_939054, - &TrackVehicleInfo_9390E6, &TrackVehicleInfo_939178, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_938B32, &TrackVehicleInfo_938BC4, &TrackVehicleInfo_938C56, &TrackVehicleInfo_938CE8, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9388EA, &TrackVehicleInfo_93897C, &TrackVehicleInfo_938A0E, &TrackVehicleInfo_938AA0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_93920A, &TrackVehicleInfo_939293, &TrackVehicleInfo_93932E, &TrackVehicleInfo_9393C0, - &TrackVehicleInfo_939449, &TrackVehicleInfo_9394D2, &TrackVehicleInfo_939564, &TrackVehicleInfo_9395FF, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_939CD9, &TrackVehicleInfo_93C6CA, &TrackVehicleInfo_93F0BB, &TrackVehicleInfo_941AAC, &TrackVehicleInfo_93AB73, &TrackVehicleInfo_93D564, - &TrackVehicleInfo_93FF55, &TrackVehicleInfo_942946, &TrackVehicleInfo_93B8DB, &TrackVehicleInfo_93E2CC, &TrackVehicleInfo_940CBD, &TrackVehicleInfo_9436AE, - &TrackVehicleInfo_9446DE, &TrackVehicleInfo_94739C, &TrackVehicleInfo_94A05A, &TrackVehicleInfo_94CD18, &TrackVehicleInfo_945D3D, &TrackVehicleInfo_9489FB, - &TrackVehicleInfo_94B6B9, &TrackVehicleInfo_94E377, + &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, + &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, + &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938D7A, &TrackVehicleInfo_938E0C, + &TrackVehicleInfo_938E9E, &TrackVehicleInfo_938F30, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_93845A, &TrackVehicleInfo_9384EC, &TrackVehicleInfo_93857E, &TrackVehicleInfo_938610, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9386A2, &TrackVehicleInfo_938734, &TrackVehicleInfo_9387C6, &TrackVehicleInfo_938858, &TrackVehicleInfo_938FC2, &TrackVehicleInfo_939054, + &TrackVehicleInfo_9390E6, &TrackVehicleInfo_939178, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_938B32, &TrackVehicleInfo_938BC4, &TrackVehicleInfo_938C56, &TrackVehicleInfo_938CE8, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9388EA, &TrackVehicleInfo_93897C, &TrackVehicleInfo_938A0E, &TrackVehicleInfo_938AA0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_93920A, &TrackVehicleInfo_939293, &TrackVehicleInfo_93932E, &TrackVehicleInfo_9393C0, + &TrackVehicleInfo_939449, &TrackVehicleInfo_9394D2, &TrackVehicleInfo_939564, &TrackVehicleInfo_9395FF, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_939CD9, &TrackVehicleInfo_93C6CA, &TrackVehicleInfo_93F0BB, &TrackVehicleInfo_941AAC, &TrackVehicleInfo_93AB73, &TrackVehicleInfo_93D564, + &TrackVehicleInfo_93FF55, &TrackVehicleInfo_942946, &TrackVehicleInfo_93B8DB, &TrackVehicleInfo_93E2CC, &TrackVehicleInfo_940CBD, &TrackVehicleInfo_9436AE, + &TrackVehicleInfo_9446DE, &TrackVehicleInfo_94739C, &TrackVehicleInfo_94A05A, &TrackVehicleInfo_94CD18, &TrackVehicleInfo_945D3D, &TrackVehicleInfo_9489FB, + &TrackVehicleInfo_94B6B9, &TrackVehicleInfo_94E377, }; const rct_vehicle_info_list *TrackVehicleInfoList_936850[] = { - &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, - &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, - &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938D7A, &TrackVehicleInfo_938E0C, - &TrackVehicleInfo_938E9E, &TrackVehicleInfo_938F30, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_93845A, &TrackVehicleInfo_9384EC, &TrackVehicleInfo_93857E, &TrackVehicleInfo_938610, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9386A2, &TrackVehicleInfo_938734, &TrackVehicleInfo_9387C6, &TrackVehicleInfo_938858, &TrackVehicleInfo_938FC2, &TrackVehicleInfo_939054, - &TrackVehicleInfo_9390E6, &TrackVehicleInfo_939178, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_938B32, &TrackVehicleInfo_938BC4, &TrackVehicleInfo_938C56, &TrackVehicleInfo_938CE8, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9388EA, &TrackVehicleInfo_93897C, &TrackVehicleInfo_938A0E, &TrackVehicleInfo_938AA0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_93920A, &TrackVehicleInfo_939293, &TrackVehicleInfo_93932E, &TrackVehicleInfo_9393C0, - &TrackVehicleInfo_939449, &TrackVehicleInfo_9394D2, &TrackVehicleInfo_939564, &TrackVehicleInfo_9395FF, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_939EAF, &TrackVehicleInfo_93C8A0, &TrackVehicleInfo_93F291, &TrackVehicleInfo_941C82, &TrackVehicleInfo_93ADA3, &TrackVehicleInfo_93D794, - &TrackVehicleInfo_940185, &TrackVehicleInfo_942B76, &TrackVehicleInfo_93BAB1, &TrackVehicleInfo_93E4A2, &TrackVehicleInfo_940E93, &TrackVehicleInfo_943884, - &TrackVehicleInfo_944AA3, &TrackVehicleInfo_947761, &TrackVehicleInfo_94A41F, &TrackVehicleInfo_94D0DD, &TrackVehicleInfo_946102, &TrackVehicleInfo_948DC0, - &TrackVehicleInfo_94BA7E, &TrackVehicleInfo_94E73C, + &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, + &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, + &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938D7A, &TrackVehicleInfo_938E0C, + &TrackVehicleInfo_938E9E, &TrackVehicleInfo_938F30, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_93845A, &TrackVehicleInfo_9384EC, &TrackVehicleInfo_93857E, &TrackVehicleInfo_938610, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9386A2, &TrackVehicleInfo_938734, &TrackVehicleInfo_9387C6, &TrackVehicleInfo_938858, &TrackVehicleInfo_938FC2, &TrackVehicleInfo_939054, + &TrackVehicleInfo_9390E6, &TrackVehicleInfo_939178, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_938B32, &TrackVehicleInfo_938BC4, &TrackVehicleInfo_938C56, &TrackVehicleInfo_938CE8, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9388EA, &TrackVehicleInfo_93897C, &TrackVehicleInfo_938A0E, &TrackVehicleInfo_938AA0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_93920A, &TrackVehicleInfo_939293, &TrackVehicleInfo_93932E, &TrackVehicleInfo_9393C0, + &TrackVehicleInfo_939449, &TrackVehicleInfo_9394D2, &TrackVehicleInfo_939564, &TrackVehicleInfo_9395FF, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_939EAF, &TrackVehicleInfo_93C8A0, &TrackVehicleInfo_93F291, &TrackVehicleInfo_941C82, &TrackVehicleInfo_93ADA3, &TrackVehicleInfo_93D794, + &TrackVehicleInfo_940185, &TrackVehicleInfo_942B76, &TrackVehicleInfo_93BAB1, &TrackVehicleInfo_93E4A2, &TrackVehicleInfo_940E93, &TrackVehicleInfo_943884, + &TrackVehicleInfo_944AA3, &TrackVehicleInfo_947761, &TrackVehicleInfo_94A41F, &TrackVehicleInfo_94D0DD, &TrackVehicleInfo_946102, &TrackVehicleInfo_948DC0, + &TrackVehicleInfo_94BA7E, &TrackVehicleInfo_94E73C, }; const rct_vehicle_info_list *TrackVehicleInfoList_937530[] = { - &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, - &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, - &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938D7A, &TrackVehicleInfo_938E0C, - &TrackVehicleInfo_938E9E, &TrackVehicleInfo_938F30, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_93845A, &TrackVehicleInfo_9384EC, &TrackVehicleInfo_93857E, &TrackVehicleInfo_938610, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9386A2, &TrackVehicleInfo_938734, &TrackVehicleInfo_9387C6, &TrackVehicleInfo_938858, &TrackVehicleInfo_938FC2, &TrackVehicleInfo_939054, - &TrackVehicleInfo_9390E6, &TrackVehicleInfo_939178, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_938B32, &TrackVehicleInfo_938BC4, &TrackVehicleInfo_938C56, &TrackVehicleInfo_938CE8, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_9388EA, &TrackVehicleInfo_93897C, &TrackVehicleInfo_938A0E, &TrackVehicleInfo_938AA0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_93920A, &TrackVehicleInfo_939293, &TrackVehicleInfo_93932E, &TrackVehicleInfo_9393C0, - &TrackVehicleInfo_939449, &TrackVehicleInfo_9394D2, &TrackVehicleInfo_939564, &TrackVehicleInfo_9395FF, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_93A1F6, &TrackVehicleInfo_93CBE7, &TrackVehicleInfo_93F5D8, &TrackVehicleInfo_941FC9, &TrackVehicleInfo_93B01B, &TrackVehicleInfo_93DA0C, - &TrackVehicleInfo_9403FD, &TrackVehicleInfo_942DEE, &TrackVehicleInfo_93BDCB, &TrackVehicleInfo_93E7BC, &TrackVehicleInfo_9411AD, &TrackVehicleInfo_943B9E, - &TrackVehicleInfo_944E3B, &TrackVehicleInfo_947AF9, &TrackVehicleInfo_94A7B7, &TrackVehicleInfo_94D475, &TrackVehicleInfo_94649A, &TrackVehicleInfo_949158, - &TrackVehicleInfo_94BE16, &TrackVehicleInfo_94EAD4, + &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, + &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, + &TrackVehicleInfo_938212, &TrackVehicleInfo_9382A4, &TrackVehicleInfo_938336, &TrackVehicleInfo_9383C8, &TrackVehicleInfo_938D7A, &TrackVehicleInfo_938E0C, + &TrackVehicleInfo_938E9E, &TrackVehicleInfo_938F30, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_93845A, &TrackVehicleInfo_9384EC, &TrackVehicleInfo_93857E, &TrackVehicleInfo_938610, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9386A2, &TrackVehicleInfo_938734, &TrackVehicleInfo_9387C6, &TrackVehicleInfo_938858, &TrackVehicleInfo_938FC2, &TrackVehicleInfo_939054, + &TrackVehicleInfo_9390E6, &TrackVehicleInfo_939178, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_938B32, &TrackVehicleInfo_938BC4, &TrackVehicleInfo_938C56, &TrackVehicleInfo_938CE8, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_9388EA, &TrackVehicleInfo_93897C, &TrackVehicleInfo_938A0E, &TrackVehicleInfo_938AA0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_93920A, &TrackVehicleInfo_939293, &TrackVehicleInfo_93932E, &TrackVehicleInfo_9393C0, + &TrackVehicleInfo_939449, &TrackVehicleInfo_9394D2, &TrackVehicleInfo_939564, &TrackVehicleInfo_9395FF, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_93A1F6, &TrackVehicleInfo_93CBE7, &TrackVehicleInfo_93F5D8, &TrackVehicleInfo_941FC9, &TrackVehicleInfo_93B01B, &TrackVehicleInfo_93DA0C, + &TrackVehicleInfo_9403FD, &TrackVehicleInfo_942DEE, &TrackVehicleInfo_93BDCB, &TrackVehicleInfo_93E7BC, &TrackVehicleInfo_9411AD, &TrackVehicleInfo_943B9E, + &TrackVehicleInfo_944E3B, &TrackVehicleInfo_947AF9, &TrackVehicleInfo_94A7B7, &TrackVehicleInfo_94D475, &TrackVehicleInfo_94649A, &TrackVehicleInfo_949158, + &TrackVehicleInfo_94BE16, &TrackVehicleInfo_94EAD4, }; const rct_vehicle_info_list *TrackVehicleInfoList_8B9F98[] = { - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, - &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, - &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, - &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, - &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, - &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, - &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, - &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, - &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, - &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, - &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, - &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, - &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, - &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, - &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, - &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, - &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, - &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, - &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, - &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, - &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, - &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, - &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, - &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, - &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, - &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, - &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, - &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, - &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, - &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, - &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, - &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8E39EE, &TrackVehicleInfo_8E3AB6, &TrackVehicleInfo_8E3B87, &TrackVehicleInfo_8E3C4F, - &TrackVehicleInfo_8E3D0E, &TrackVehicleInfo_8E3DCD, &TrackVehicleInfo_8E3E95, &TrackVehicleInfo_8E3F66, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, - &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, - &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, - &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, - &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, - &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, - &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, - &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, - &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, - &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, - &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, - &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, - &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, - &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, - &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, - &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, - &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, - &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, - &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, - &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, - &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, - &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, - &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, - &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, - &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, - &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, - &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, - &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, - &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, - &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, - &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_8B0EB2, &TrackVehicleInfo_8B12B6, &TrackVehicleInfo_8B16C3, &TrackVehicleInfo_8B1AC7, &TrackVehicleInfo_8B1EC2, &TrackVehicleInfo_8B22BD, - &TrackVehicleInfo_8B26C1, &TrackVehicleInfo_8B2ACE, &TrackVehicleInfo_8B2ED2, &TrackVehicleInfo_8B32D6, &TrackVehicleInfo_8B36E3, &TrackVehicleInfo_8B3AE7, - &TrackVehicleInfo_8B3EE2, &TrackVehicleInfo_8B42DD, &TrackVehicleInfo_8B46E1, &TrackVehicleInfo_8B4AEE, &TrackVehicleInfo_8B4EF2, &TrackVehicleInfo_8B52F6, - &TrackVehicleInfo_8B5703, &TrackVehicleInfo_8B5B07, &TrackVehicleInfo_8B5F02, &TrackVehicleInfo_8B62FD, &TrackVehicleInfo_8B6701, &TrackVehicleInfo_8B6B0E, - &TrackVehicleInfo_8B6F12, &TrackVehicleInfo_8B7316, &TrackVehicleInfo_8B7723, &TrackVehicleInfo_8B7B27, &TrackVehicleInfo_8B7F22, &TrackVehicleInfo_8B831D, - &TrackVehicleInfo_8B8721, &TrackVehicleInfo_8B8B2E, &TrackVehicleInfo_968C6E, &TrackVehicleInfo_968D90, &TrackVehicleInfo_968EB2, &TrackVehicleInfo_968FD4, - &TrackVehicleInfo_96957E, &TrackVehicleInfo_9696A0, &TrackVehicleInfo_9697C2, &TrackVehicleInfo_9698E4, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, - &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9048E8, &TrackVehicleInfo_904A0A, &TrackVehicleInfo_904B2C, &TrackVehicleInfo_904C4E, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9690F6, &TrackVehicleInfo_969218, - &TrackVehicleInfo_96933A, &TrackVehicleInfo_96945C, &TrackVehicleInfo_969A06, &TrackVehicleInfo_969B28, &TrackVehicleInfo_969C4A, &TrackVehicleInfo_969D6C, - &TrackVehicleInfo_904D72, &TrackVehicleInfo_905314, &TrackVehicleInfo_9058B6, &TrackVehicleInfo_905E58, &TrackVehicleInfo_96D4AE, &TrackVehicleInfo_96D9A5, - &TrackVehicleInfo_96DE9C, &TrackVehicleInfo_96E393, &TrackVehicleInfo_96E88A, &TrackVehicleInfo_96ED81, &TrackVehicleInfo_96F278, &TrackVehicleInfo_96F76F, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_971042, &TrackVehicleInfo_971539, - &TrackVehicleInfo_971A30, &TrackVehicleInfo_971F27, &TrackVehicleInfo_96FC66, &TrackVehicleInfo_97015D, &TrackVehicleInfo_970654, &TrackVehicleInfo_970B4B, - &TrackVehicleInfo_97241E, &TrackVehicleInfo_9729ED, &TrackVehicleInfo_972FBC, &TrackVehicleInfo_97358B, &TrackVehicleInfo_9063FA, &TrackVehicleInfo_906EAC, - &TrackVehicleInfo_90795E, &TrackVehicleInfo_908410, &TrackVehicleInfo_90B98A, &TrackVehicleInfo_90BC5C, &TrackVehicleInfo_90BF2E, &TrackVehicleInfo_90C200, - &TrackVehicleInfo_90E02A, &TrackVehicleInfo_90E14C, &TrackVehicleInfo_90E26E, &TrackVehicleInfo_90E390, &TrackVehicleInfo_90E4B2, &TrackVehicleInfo_90E5D4, - &TrackVehicleInfo_90E6F6, &TrackVehicleInfo_90E818, &TrackVehicleInfo_90E93A, &TrackVehicleInfo_90EB34, &TrackVehicleInfo_90ED2E, &TrackVehicleInfo_90EF28, - &TrackVehicleInfo_9100F2, &TrackVehicleInfo_9102EC, &TrackVehicleInfo_9104E6, &TrackVehicleInfo_9106E0, &TrackVehicleInfo_90F122, &TrackVehicleInfo_90F31C, - &TrackVehicleInfo_90F516, &TrackVehicleInfo_90F710, &TrackVehicleInfo_90F90A, &TrackVehicleInfo_90FB04, &TrackVehicleInfo_90FCFE, &TrackVehicleInfo_90FEF8, - &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_9108DA, &TrackVehicleInfo_910BA3, - &TrackVehicleInfo_910E75, &TrackVehicleInfo_911147, &TrackVehicleInfo_911F58, &TrackVehicleInfo_91222A, &TrackVehicleInfo_9124FC, &TrackVehicleInfo_9127CE, - &TrackVehicleInfo_911419, &TrackVehicleInfo_9116E2, &TrackVehicleInfo_9119B4, &TrackVehicleInfo_911C86, &TrackVehicleInfo_912AA0, &TrackVehicleInfo_912D69, - &TrackVehicleInfo_91303B, &TrackVehicleInfo_91330D, &TrackVehicleInfo_9135DF, &TrackVehicleInfo_9138A8, &TrackVehicleInfo_913B7A, &TrackVehicleInfo_913E4C, - &TrackVehicleInfo_914C5D, &TrackVehicleInfo_914F2F, &TrackVehicleInfo_915201, &TrackVehicleInfo_9154D3, &TrackVehicleInfo_91411E, &TrackVehicleInfo_9143E7, - &TrackVehicleInfo_9146B9, &TrackVehicleInfo_91498B, &TrackVehicleInfo_9157A5, &TrackVehicleInfo_915A6E, &TrackVehicleInfo_915D40, &TrackVehicleInfo_916012, - &TrackVehicleInfo_9162E6, &TrackVehicleInfo_916408, &TrackVehicleInfo_91652A, &TrackVehicleInfo_91664C, &TrackVehicleInfo_91676E, &TrackVehicleInfo_916890, - &TrackVehicleInfo_9169B2, &TrackVehicleInfo_916AD4, &TrackVehicleInfo_91707E, &TrackVehicleInfo_9172C0, &TrackVehicleInfo_917502, &TrackVehicleInfo_917744, - &TrackVehicleInfo_91828E, &TrackVehicleInfo_9183B0, &TrackVehicleInfo_9184D2, &TrackVehicleInfo_9185F4, &TrackVehicleInfo_9194F6, &TrackVehicleInfo_919645, - &TrackVehicleInfo_919794, &TrackVehicleInfo_9198E3, &TrackVehicleInfo_919A32, &TrackVehicleInfo_919B81, &TrackVehicleInfo_919CD0, &TrackVehicleInfo_919E1F, - &TrackVehicleInfo_918716, &TrackVehicleInfo_91884A, &TrackVehicleInfo_91897E, &TrackVehicleInfo_918AB2, &TrackVehicleInfo_916BF6, &TrackVehicleInfo_916D18, - &TrackVehicleInfo_916E3A, &TrackVehicleInfo_916F5C, &TrackVehicleInfo_917986, &TrackVehicleInfo_917BC8, &TrackVehicleInfo_917E0A, &TrackVehicleInfo_91804C, - &TrackVehicleInfo_91906E, &TrackVehicleInfo_919190, &TrackVehicleInfo_9192B2, &TrackVehicleInfo_9193D4, &TrackVehicleInfo_91A4AA, &TrackVehicleInfo_91A5F9, - &TrackVehicleInfo_91A748, &TrackVehicleInfo_91A897, &TrackVehicleInfo_919F6E, &TrackVehicleInfo_91A0BD, &TrackVehicleInfo_91A20C, &TrackVehicleInfo_91A35B, - &TrackVehicleInfo_918BE6, &TrackVehicleInfo_918D08, &TrackVehicleInfo_918E2A, &TrackVehicleInfo_918F4C, &TrackVehicleInfo_91A9E6, &TrackVehicleInfo_91AB2C, - &TrackVehicleInfo_91AC72, &TrackVehicleInfo_91ADB8, &TrackVehicleInfo_91AEFE, &TrackVehicleInfo_91B044, &TrackVehicleInfo_91B18A, &TrackVehicleInfo_91B2D0, - &TrackVehicleInfo_91B416, &TrackVehicleInfo_91B55C, &TrackVehicleInfo_91B6A2, &TrackVehicleInfo_91B7E8, &TrackVehicleInfo_91B92E, &TrackVehicleInfo_91BA74, - &TrackVehicleInfo_91BBBA, &TrackVehicleInfo_91BD00, &TrackVehicleInfo_95787E, &TrackVehicleInfo_9579A0, &TrackVehicleInfo_957AC2, &TrackVehicleInfo_957BE4, - &TrackVehicleInfo_957D06, &TrackVehicleInfo_957E28, &TrackVehicleInfo_957F4A, &TrackVehicleInfo_95806C, &TrackVehicleInfo_95818E, &TrackVehicleInfo_9582B0, - &TrackVehicleInfo_9583D2, &TrackVehicleInfo_9584F4, &TrackVehicleInfo_958616, &TrackVehicleInfo_958738, &TrackVehicleInfo_95885A, &TrackVehicleInfo_95897C, - &TrackVehicleInfo_958A9E, &TrackVehicleInfo_958BC0, &TrackVehicleInfo_958CE2, &TrackVehicleInfo_958E04, &TrackVehicleInfo_958F26, &TrackVehicleInfo_959048, - &TrackVehicleInfo_95916A, &TrackVehicleInfo_95928C, &TrackVehicleInfo_9593AE, &TrackVehicleInfo_9594E2, &TrackVehicleInfo_959616, &TrackVehicleInfo_95974A, - &TrackVehicleInfo_95987E, &TrackVehicleInfo_9599B2, &TrackVehicleInfo_959AE6, &TrackVehicleInfo_959C1A, &TrackVehicleInfo_95A65E, &TrackVehicleInfo_95A780, - &TrackVehicleInfo_95A8A2, &TrackVehicleInfo_95A9C4, &TrackVehicleInfo_95AAE6, &TrackVehicleInfo_95AC08, &TrackVehicleInfo_95AD2A, &TrackVehicleInfo_95AE4C, - &TrackVehicleInfo_959D4E, &TrackVehicleInfo_959E70, &TrackVehicleInfo_959F92, &TrackVehicleInfo_95A0B4, &TrackVehicleInfo_95A1D6, &TrackVehicleInfo_95A2F8, - &TrackVehicleInfo_95A41A, &TrackVehicleInfo_95A53C, &TrackVehicleInfo_95AF6E, &TrackVehicleInfo_95B090, &TrackVehicleInfo_95B1B2, &TrackVehicleInfo_95B2D4, - &TrackVehicleInfo_95B3F6, &TrackVehicleInfo_95B518, &TrackVehicleInfo_95B63A, &TrackVehicleInfo_95B75C, &TrackVehicleInfo_91BE46, &TrackVehicleInfo_91C001, - &TrackVehicleInfo_91C1BC, &TrackVehicleInfo_91C377, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_91C532, &TrackVehicleInfo_91C894, &TrackVehicleInfo_91CBF6, &TrackVehicleInfo_91CF58, &TrackVehicleInfo_91D2BA, &TrackVehicleInfo_91D61C, - &TrackVehicleInfo_91D97E, &TrackVehicleInfo_91DCE0, &TrackVehicleInfo_91E042, &TrackVehicleInfo_91E3A4, &TrackVehicleInfo_91E706, &TrackVehicleInfo_91EA68, - &TrackVehicleInfo_91EDCA, &TrackVehicleInfo_91F12C, &TrackVehicleInfo_91F48E, &TrackVehicleInfo_91F7F0, &TrackVehicleInfo_920E82, &TrackVehicleInfo_9210E8, - &TrackVehicleInfo_921357, &TrackVehicleInfo_9215BD, &TrackVehicleInfo_92181A, &TrackVehicleInfo_921A77, &TrackVehicleInfo_921CDD, &TrackVehicleInfo_921F4C, - &TrackVehicleInfo_91FB52, &TrackVehicleInfo_91FDB8, &TrackVehicleInfo_920027, &TrackVehicleInfo_92028D, &TrackVehicleInfo_9204EA, &TrackVehicleInfo_920747, - &TrackVehicleInfo_9209AD, &TrackVehicleInfo_920C1C, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, - &TrackVehicleInfo_9221B2, &TrackVehicleInfo_9237A6, &TrackVehicleInfo_924D9A, &TrackVehicleInfo_92638E, &TrackVehicleInfo_922CAC, &TrackVehicleInfo_9242A0, - &TrackVehicleInfo_925894, &TrackVehicleInfo_926E88, &TrackVehicleInfo_927982, &TrackVehicleInfo_928F76, &TrackVehicleInfo_92A56A, &TrackVehicleInfo_92BB5E, - &TrackVehicleInfo_92847C, &TrackVehicleInfo_929A70, &TrackVehicleInfo_92B064, &TrackVehicleInfo_92C658, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, - &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, - &TrackVehicleInfo_8DD21E, &TrackVehicleInfo_8DD580, &TrackVehicleInfo_8DD8E2, &TrackVehicleInfo_8DDC44, &TrackVehicleInfo_8DDFA6, &TrackVehicleInfo_8DE308, - &TrackVehicleInfo_8DE66A, &TrackVehicleInfo_8DE9CC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, - &TrackVehicleInfo_8E91A6, &TrackVehicleInfo_8E9751, &TrackVehicleInfo_8E9CFC, &TrackVehicleInfo_8EA2A7, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, - &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, - &TrackVehicleInfo_8EDF02, &TrackVehicleInfo_8EE26D, &TrackVehicleInfo_8EE5D8, &TrackVehicleInfo_8EE943, &TrackVehicleInfo_8EECAE, &TrackVehicleInfo_8EF019, - &TrackVehicleInfo_8EF384, &TrackVehicleInfo_8EF6EF, &TrackVehicleInfo_92D152, &TrackVehicleInfo_92D6F4, &TrackVehicleInfo_92DC96, &TrackVehicleInfo_92E238, - &TrackVehicleInfo_92E7DA, &TrackVehicleInfo_92ED7C, &TrackVehicleInfo_92F31E, &TrackVehicleInfo_92F8C0, &TrackVehicleInfo_92FE62, &TrackVehicleInfo_930524, - &TrackVehicleInfo_930BE6, &TrackVehicleInfo_9312A8, &TrackVehicleInfo_93196A, &TrackVehicleInfo_93202C, &TrackVehicleInfo_9326EE, &TrackVehicleInfo_932DB0, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_95275E, &TrackVehicleInfo_952AC0, - &TrackVehicleInfo_952E22, &TrackVehicleInfo_953184, &TrackVehicleInfo_9534E6, &TrackVehicleInfo_953848, &TrackVehicleInfo_953BAA, &TrackVehicleInfo_953F0C, - &TrackVehicleInfo_90C4D2, &TrackVehicleInfo_90C8D6, &TrackVehicleInfo_90CCDA, &TrackVehicleInfo_90D0DE, &TrackVehicleInfo_90D4E2, &TrackVehicleInfo_90D7B4, - &TrackVehicleInfo_90DA86, &TrackVehicleInfo_90DD58, &TrackVehicleInfo_908EC2, &TrackVehicleInfo_909974, &TrackVehicleInfo_90A426, &TrackVehicleInfo_90AED8, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, + &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, + &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, + &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, + &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, + &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, + &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, + &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, + &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, + &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, + &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, + &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, + &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, + &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, + &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, + &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, + &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, + &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, + &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, + &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, + &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, + &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, + &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, + &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, + &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, + &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, + &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, + &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, + &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, + &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, + &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, + &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8E39EE, &TrackVehicleInfo_8E3AB6, &TrackVehicleInfo_8E3B87, &TrackVehicleInfo_8E3C4F, + &TrackVehicleInfo_8E3D0E, &TrackVehicleInfo_8E3DCD, &TrackVehicleInfo_8E3E95, &TrackVehicleInfo_8E3F66, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, + &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, + &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, + &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, + &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, + &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, + &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, + &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, + &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, + &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, + &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, + &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, + &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, + &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, + &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, + &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, + &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, + &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, + &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, + &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, + &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, + &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, + &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, + &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, + &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, + &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, + &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, + &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, + &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, + &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, + &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_8B0EB2, &TrackVehicleInfo_8B12B6, &TrackVehicleInfo_8B16C3, &TrackVehicleInfo_8B1AC7, &TrackVehicleInfo_8B1EC2, &TrackVehicleInfo_8B22BD, + &TrackVehicleInfo_8B26C1, &TrackVehicleInfo_8B2ACE, &TrackVehicleInfo_8B2ED2, &TrackVehicleInfo_8B32D6, &TrackVehicleInfo_8B36E3, &TrackVehicleInfo_8B3AE7, + &TrackVehicleInfo_8B3EE2, &TrackVehicleInfo_8B42DD, &TrackVehicleInfo_8B46E1, &TrackVehicleInfo_8B4AEE, &TrackVehicleInfo_8B4EF2, &TrackVehicleInfo_8B52F6, + &TrackVehicleInfo_8B5703, &TrackVehicleInfo_8B5B07, &TrackVehicleInfo_8B5F02, &TrackVehicleInfo_8B62FD, &TrackVehicleInfo_8B6701, &TrackVehicleInfo_8B6B0E, + &TrackVehicleInfo_8B6F12, &TrackVehicleInfo_8B7316, &TrackVehicleInfo_8B7723, &TrackVehicleInfo_8B7B27, &TrackVehicleInfo_8B7F22, &TrackVehicleInfo_8B831D, + &TrackVehicleInfo_8B8721, &TrackVehicleInfo_8B8B2E, &TrackVehicleInfo_968C6E, &TrackVehicleInfo_968D90, &TrackVehicleInfo_968EB2, &TrackVehicleInfo_968FD4, + &TrackVehicleInfo_96957E, &TrackVehicleInfo_9696A0, &TrackVehicleInfo_9697C2, &TrackVehicleInfo_9698E4, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, + &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9048E8, &TrackVehicleInfo_904A0A, &TrackVehicleInfo_904B2C, &TrackVehicleInfo_904C4E, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9690F6, &TrackVehicleInfo_969218, + &TrackVehicleInfo_96933A, &TrackVehicleInfo_96945C, &TrackVehicleInfo_969A06, &TrackVehicleInfo_969B28, &TrackVehicleInfo_969C4A, &TrackVehicleInfo_969D6C, + &TrackVehicleInfo_904D72, &TrackVehicleInfo_905314, &TrackVehicleInfo_9058B6, &TrackVehicleInfo_905E58, &TrackVehicleInfo_96D4AE, &TrackVehicleInfo_96D9A5, + &TrackVehicleInfo_96DE9C, &TrackVehicleInfo_96E393, &TrackVehicleInfo_96E88A, &TrackVehicleInfo_96ED81, &TrackVehicleInfo_96F278, &TrackVehicleInfo_96F76F, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_971042, &TrackVehicleInfo_971539, + &TrackVehicleInfo_971A30, &TrackVehicleInfo_971F27, &TrackVehicleInfo_96FC66, &TrackVehicleInfo_97015D, &TrackVehicleInfo_970654, &TrackVehicleInfo_970B4B, + &TrackVehicleInfo_97241E, &TrackVehicleInfo_9729ED, &TrackVehicleInfo_972FBC, &TrackVehicleInfo_97358B, &TrackVehicleInfo_9063FA, &TrackVehicleInfo_906EAC, + &TrackVehicleInfo_90795E, &TrackVehicleInfo_908410, &TrackVehicleInfo_90B98A, &TrackVehicleInfo_90BC5C, &TrackVehicleInfo_90BF2E, &TrackVehicleInfo_90C200, + &TrackVehicleInfo_90E02A, &TrackVehicleInfo_90E14C, &TrackVehicleInfo_90E26E, &TrackVehicleInfo_90E390, &TrackVehicleInfo_90E4B2, &TrackVehicleInfo_90E5D4, + &TrackVehicleInfo_90E6F6, &TrackVehicleInfo_90E818, &TrackVehicleInfo_90E93A, &TrackVehicleInfo_90EB34, &TrackVehicleInfo_90ED2E, &TrackVehicleInfo_90EF28, + &TrackVehicleInfo_9100F2, &TrackVehicleInfo_9102EC, &TrackVehicleInfo_9104E6, &TrackVehicleInfo_9106E0, &TrackVehicleInfo_90F122, &TrackVehicleInfo_90F31C, + &TrackVehicleInfo_90F516, &TrackVehicleInfo_90F710, &TrackVehicleInfo_90F90A, &TrackVehicleInfo_90FB04, &TrackVehicleInfo_90FCFE, &TrackVehicleInfo_90FEF8, + &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_9108DA, &TrackVehicleInfo_910BA3, + &TrackVehicleInfo_910E75, &TrackVehicleInfo_911147, &TrackVehicleInfo_911F58, &TrackVehicleInfo_91222A, &TrackVehicleInfo_9124FC, &TrackVehicleInfo_9127CE, + &TrackVehicleInfo_911419, &TrackVehicleInfo_9116E2, &TrackVehicleInfo_9119B4, &TrackVehicleInfo_911C86, &TrackVehicleInfo_912AA0, &TrackVehicleInfo_912D69, + &TrackVehicleInfo_91303B, &TrackVehicleInfo_91330D, &TrackVehicleInfo_9135DF, &TrackVehicleInfo_9138A8, &TrackVehicleInfo_913B7A, &TrackVehicleInfo_913E4C, + &TrackVehicleInfo_914C5D, &TrackVehicleInfo_914F2F, &TrackVehicleInfo_915201, &TrackVehicleInfo_9154D3, &TrackVehicleInfo_91411E, &TrackVehicleInfo_9143E7, + &TrackVehicleInfo_9146B9, &TrackVehicleInfo_91498B, &TrackVehicleInfo_9157A5, &TrackVehicleInfo_915A6E, &TrackVehicleInfo_915D40, &TrackVehicleInfo_916012, + &TrackVehicleInfo_9162E6, &TrackVehicleInfo_916408, &TrackVehicleInfo_91652A, &TrackVehicleInfo_91664C, &TrackVehicleInfo_91676E, &TrackVehicleInfo_916890, + &TrackVehicleInfo_9169B2, &TrackVehicleInfo_916AD4, &TrackVehicleInfo_91707E, &TrackVehicleInfo_9172C0, &TrackVehicleInfo_917502, &TrackVehicleInfo_917744, + &TrackVehicleInfo_91828E, &TrackVehicleInfo_9183B0, &TrackVehicleInfo_9184D2, &TrackVehicleInfo_9185F4, &TrackVehicleInfo_9194F6, &TrackVehicleInfo_919645, + &TrackVehicleInfo_919794, &TrackVehicleInfo_9198E3, &TrackVehicleInfo_919A32, &TrackVehicleInfo_919B81, &TrackVehicleInfo_919CD0, &TrackVehicleInfo_919E1F, + &TrackVehicleInfo_918716, &TrackVehicleInfo_91884A, &TrackVehicleInfo_91897E, &TrackVehicleInfo_918AB2, &TrackVehicleInfo_916BF6, &TrackVehicleInfo_916D18, + &TrackVehicleInfo_916E3A, &TrackVehicleInfo_916F5C, &TrackVehicleInfo_917986, &TrackVehicleInfo_917BC8, &TrackVehicleInfo_917E0A, &TrackVehicleInfo_91804C, + &TrackVehicleInfo_91906E, &TrackVehicleInfo_919190, &TrackVehicleInfo_9192B2, &TrackVehicleInfo_9193D4, &TrackVehicleInfo_91A4AA, &TrackVehicleInfo_91A5F9, + &TrackVehicleInfo_91A748, &TrackVehicleInfo_91A897, &TrackVehicleInfo_919F6E, &TrackVehicleInfo_91A0BD, &TrackVehicleInfo_91A20C, &TrackVehicleInfo_91A35B, + &TrackVehicleInfo_918BE6, &TrackVehicleInfo_918D08, &TrackVehicleInfo_918E2A, &TrackVehicleInfo_918F4C, &TrackVehicleInfo_91A9E6, &TrackVehicleInfo_91AB2C, + &TrackVehicleInfo_91AC72, &TrackVehicleInfo_91ADB8, &TrackVehicleInfo_91AEFE, &TrackVehicleInfo_91B044, &TrackVehicleInfo_91B18A, &TrackVehicleInfo_91B2D0, + &TrackVehicleInfo_91B416, &TrackVehicleInfo_91B55C, &TrackVehicleInfo_91B6A2, &TrackVehicleInfo_91B7E8, &TrackVehicleInfo_91B92E, &TrackVehicleInfo_91BA74, + &TrackVehicleInfo_91BBBA, &TrackVehicleInfo_91BD00, &TrackVehicleInfo_95787E, &TrackVehicleInfo_9579A0, &TrackVehicleInfo_957AC2, &TrackVehicleInfo_957BE4, + &TrackVehicleInfo_957D06, &TrackVehicleInfo_957E28, &TrackVehicleInfo_957F4A, &TrackVehicleInfo_95806C, &TrackVehicleInfo_95818E, &TrackVehicleInfo_9582B0, + &TrackVehicleInfo_9583D2, &TrackVehicleInfo_9584F4, &TrackVehicleInfo_958616, &TrackVehicleInfo_958738, &TrackVehicleInfo_95885A, &TrackVehicleInfo_95897C, + &TrackVehicleInfo_958A9E, &TrackVehicleInfo_958BC0, &TrackVehicleInfo_958CE2, &TrackVehicleInfo_958E04, &TrackVehicleInfo_958F26, &TrackVehicleInfo_959048, + &TrackVehicleInfo_95916A, &TrackVehicleInfo_95928C, &TrackVehicleInfo_9593AE, &TrackVehicleInfo_9594E2, &TrackVehicleInfo_959616, &TrackVehicleInfo_95974A, + &TrackVehicleInfo_95987E, &TrackVehicleInfo_9599B2, &TrackVehicleInfo_959AE6, &TrackVehicleInfo_959C1A, &TrackVehicleInfo_95A65E, &TrackVehicleInfo_95A780, + &TrackVehicleInfo_95A8A2, &TrackVehicleInfo_95A9C4, &TrackVehicleInfo_95AAE6, &TrackVehicleInfo_95AC08, &TrackVehicleInfo_95AD2A, &TrackVehicleInfo_95AE4C, + &TrackVehicleInfo_959D4E, &TrackVehicleInfo_959E70, &TrackVehicleInfo_959F92, &TrackVehicleInfo_95A0B4, &TrackVehicleInfo_95A1D6, &TrackVehicleInfo_95A2F8, + &TrackVehicleInfo_95A41A, &TrackVehicleInfo_95A53C, &TrackVehicleInfo_95AF6E, &TrackVehicleInfo_95B090, &TrackVehicleInfo_95B1B2, &TrackVehicleInfo_95B2D4, + &TrackVehicleInfo_95B3F6, &TrackVehicleInfo_95B518, &TrackVehicleInfo_95B63A, &TrackVehicleInfo_95B75C, &TrackVehicleInfo_91BE46, &TrackVehicleInfo_91C001, + &TrackVehicleInfo_91C1BC, &TrackVehicleInfo_91C377, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_91C532, &TrackVehicleInfo_91C894, &TrackVehicleInfo_91CBF6, &TrackVehicleInfo_91CF58, &TrackVehicleInfo_91D2BA, &TrackVehicleInfo_91D61C, + &TrackVehicleInfo_91D97E, &TrackVehicleInfo_91DCE0, &TrackVehicleInfo_91E042, &TrackVehicleInfo_91E3A4, &TrackVehicleInfo_91E706, &TrackVehicleInfo_91EA68, + &TrackVehicleInfo_91EDCA, &TrackVehicleInfo_91F12C, &TrackVehicleInfo_91F48E, &TrackVehicleInfo_91F7F0, &TrackVehicleInfo_920E82, &TrackVehicleInfo_9210E8, + &TrackVehicleInfo_921357, &TrackVehicleInfo_9215BD, &TrackVehicleInfo_92181A, &TrackVehicleInfo_921A77, &TrackVehicleInfo_921CDD, &TrackVehicleInfo_921F4C, + &TrackVehicleInfo_91FB52, &TrackVehicleInfo_91FDB8, &TrackVehicleInfo_920027, &TrackVehicleInfo_92028D, &TrackVehicleInfo_9204EA, &TrackVehicleInfo_920747, + &TrackVehicleInfo_9209AD, &TrackVehicleInfo_920C1C, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, + &TrackVehicleInfo_9221B2, &TrackVehicleInfo_9237A6, &TrackVehicleInfo_924D9A, &TrackVehicleInfo_92638E, &TrackVehicleInfo_922CAC, &TrackVehicleInfo_9242A0, + &TrackVehicleInfo_925894, &TrackVehicleInfo_926E88, &TrackVehicleInfo_927982, &TrackVehicleInfo_928F76, &TrackVehicleInfo_92A56A, &TrackVehicleInfo_92BB5E, + &TrackVehicleInfo_92847C, &TrackVehicleInfo_929A70, &TrackVehicleInfo_92B064, &TrackVehicleInfo_92C658, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, + &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, + &TrackVehicleInfo_8DD21E, &TrackVehicleInfo_8DD580, &TrackVehicleInfo_8DD8E2, &TrackVehicleInfo_8DDC44, &TrackVehicleInfo_8DDFA6, &TrackVehicleInfo_8DE308, + &TrackVehicleInfo_8DE66A, &TrackVehicleInfo_8DE9CC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, + &TrackVehicleInfo_8E91A6, &TrackVehicleInfo_8E9751, &TrackVehicleInfo_8E9CFC, &TrackVehicleInfo_8EA2A7, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, + &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, + &TrackVehicleInfo_8EDF02, &TrackVehicleInfo_8EE26D, &TrackVehicleInfo_8EE5D8, &TrackVehicleInfo_8EE943, &TrackVehicleInfo_8EECAE, &TrackVehicleInfo_8EF019, + &TrackVehicleInfo_8EF384, &TrackVehicleInfo_8EF6EF, &TrackVehicleInfo_92D152, &TrackVehicleInfo_92D6F4, &TrackVehicleInfo_92DC96, &TrackVehicleInfo_92E238, + &TrackVehicleInfo_92E7DA, &TrackVehicleInfo_92ED7C, &TrackVehicleInfo_92F31E, &TrackVehicleInfo_92F8C0, &TrackVehicleInfo_92FE62, &TrackVehicleInfo_930524, + &TrackVehicleInfo_930BE6, &TrackVehicleInfo_9312A8, &TrackVehicleInfo_93196A, &TrackVehicleInfo_93202C, &TrackVehicleInfo_9326EE, &TrackVehicleInfo_932DB0, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_95275E, &TrackVehicleInfo_952AC0, + &TrackVehicleInfo_952E22, &TrackVehicleInfo_953184, &TrackVehicleInfo_9534E6, &TrackVehicleInfo_953848, &TrackVehicleInfo_953BAA, &TrackVehicleInfo_953F0C, + &TrackVehicleInfo_90C4D2, &TrackVehicleInfo_90C8D6, &TrackVehicleInfo_90CCDA, &TrackVehicleInfo_90D0DE, &TrackVehicleInfo_90D4E2, &TrackVehicleInfo_90D7B4, + &TrackVehicleInfo_90DA86, &TrackVehicleInfo_90DD58, &TrackVehicleInfo_908EC2, &TrackVehicleInfo_909974, &TrackVehicleInfo_90A426, &TrackVehicleInfo_90AED8, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, }; const rct_vehicle_info_list *TrackVehicleInfoList_8BAD28[] = { - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, - &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, - &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, - &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, - &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, - &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, - &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, - &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, - &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, - &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, - &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, - &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, - &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, - &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, - &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, - &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, - &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, - &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, - &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, - &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, - &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, - &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, - &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, - &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, - &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, - &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, - &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, - &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, - &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, - &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, - &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, - &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8E39EE, &TrackVehicleInfo_8E3AB6, &TrackVehicleInfo_8E3B87, &TrackVehicleInfo_8E3C4F, - &TrackVehicleInfo_8E3D0E, &TrackVehicleInfo_8E3DCD, &TrackVehicleInfo_8E3E95, &TrackVehicleInfo_8E3F66, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, - &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, - &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, - &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, - &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, - &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, - &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, - &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, - &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, - &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, - &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, - &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, - &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, - &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, - &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, - &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, - &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, - &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, - &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, - &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, - &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, - &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, - &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, - &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, - &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, - &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, - &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, - &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, - &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, - &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, - &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, - &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_8B0EB2, &TrackVehicleInfo_8B12B6, &TrackVehicleInfo_8B16C3, &TrackVehicleInfo_8B1AC7, &TrackVehicleInfo_8B1EC2, &TrackVehicleInfo_8B22BD, - &TrackVehicleInfo_8B26C1, &TrackVehicleInfo_8B2ACE, &TrackVehicleInfo_8B2ED2, &TrackVehicleInfo_8B32D6, &TrackVehicleInfo_8B36E3, &TrackVehicleInfo_8B3AE7, - &TrackVehicleInfo_8B3EE2, &TrackVehicleInfo_8B42DD, &TrackVehicleInfo_8B46E1, &TrackVehicleInfo_8B4AEE, &TrackVehicleInfo_8B4EF2, &TrackVehicleInfo_8B52F6, - &TrackVehicleInfo_8B5703, &TrackVehicleInfo_8B5B07, &TrackVehicleInfo_8B5F02, &TrackVehicleInfo_8B62FD, &TrackVehicleInfo_8B6701, &TrackVehicleInfo_8B6B0E, - &TrackVehicleInfo_8B6F12, &TrackVehicleInfo_8B7316, &TrackVehicleInfo_8B7723, &TrackVehicleInfo_8B7B27, &TrackVehicleInfo_8B7F22, &TrackVehicleInfo_8B831D, - &TrackVehicleInfo_8B8721, &TrackVehicleInfo_8B8B2E, &TrackVehicleInfo_968C6E, &TrackVehicleInfo_968D90, &TrackVehicleInfo_968EB2, &TrackVehicleInfo_968FD4, - &TrackVehicleInfo_96957E, &TrackVehicleInfo_9696A0, &TrackVehicleInfo_9697C2, &TrackVehicleInfo_9698E4, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, - &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9048E8, &TrackVehicleInfo_904A0A, &TrackVehicleInfo_904B2C, &TrackVehicleInfo_904C4E, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9690F6, &TrackVehicleInfo_969218, - &TrackVehicleInfo_96933A, &TrackVehicleInfo_96945C, &TrackVehicleInfo_969A06, &TrackVehicleInfo_969B28, &TrackVehicleInfo_969C4A, &TrackVehicleInfo_969D6C, - &TrackVehicleInfo_904D72, &TrackVehicleInfo_905314, &TrackVehicleInfo_9058B6, &TrackVehicleInfo_905E58, &TrackVehicleInfo_96D4AE, &TrackVehicleInfo_96D9A5, - &TrackVehicleInfo_96DE9C, &TrackVehicleInfo_96E393, &TrackVehicleInfo_96E88A, &TrackVehicleInfo_96ED81, &TrackVehicleInfo_96F278, &TrackVehicleInfo_96F76F, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_971042, &TrackVehicleInfo_971539, - &TrackVehicleInfo_971A30, &TrackVehicleInfo_971F27, &TrackVehicleInfo_96FC66, &TrackVehicleInfo_97015D, &TrackVehicleInfo_970654, &TrackVehicleInfo_970B4B, - &TrackVehicleInfo_97241E, &TrackVehicleInfo_9729ED, &TrackVehicleInfo_972FBC, &TrackVehicleInfo_97358B, &TrackVehicleInfo_9063FA, &TrackVehicleInfo_906EAC, - &TrackVehicleInfo_90795E, &TrackVehicleInfo_908410, &TrackVehicleInfo_90B98A, &TrackVehicleInfo_90BC5C, &TrackVehicleInfo_90BF2E, &TrackVehicleInfo_90C200, - &TrackVehicleInfo_90E02A, &TrackVehicleInfo_90E14C, &TrackVehicleInfo_90E26E, &TrackVehicleInfo_90E390, &TrackVehicleInfo_90E4B2, &TrackVehicleInfo_90E5D4, - &TrackVehicleInfo_90E6F6, &TrackVehicleInfo_90E818, &TrackVehicleInfo_90E93A, &TrackVehicleInfo_90EB34, &TrackVehicleInfo_90ED2E, &TrackVehicleInfo_90EF28, - &TrackVehicleInfo_9100F2, &TrackVehicleInfo_9102EC, &TrackVehicleInfo_9104E6, &TrackVehicleInfo_9106E0, &TrackVehicleInfo_90F122, &TrackVehicleInfo_90F31C, - &TrackVehicleInfo_90F516, &TrackVehicleInfo_90F710, &TrackVehicleInfo_90F90A, &TrackVehicleInfo_90FB04, &TrackVehicleInfo_90FCFE, &TrackVehicleInfo_90FEF8, - &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_9108DA, &TrackVehicleInfo_910BA3, - &TrackVehicleInfo_910E75, &TrackVehicleInfo_911147, &TrackVehicleInfo_911F58, &TrackVehicleInfo_91222A, &TrackVehicleInfo_9124FC, &TrackVehicleInfo_9127CE, - &TrackVehicleInfo_911419, &TrackVehicleInfo_9116E2, &TrackVehicleInfo_9119B4, &TrackVehicleInfo_911C86, &TrackVehicleInfo_912AA0, &TrackVehicleInfo_912D69, - &TrackVehicleInfo_91303B, &TrackVehicleInfo_91330D, &TrackVehicleInfo_9135DF, &TrackVehicleInfo_9138A8, &TrackVehicleInfo_913B7A, &TrackVehicleInfo_913E4C, - &TrackVehicleInfo_914C5D, &TrackVehicleInfo_914F2F, &TrackVehicleInfo_915201, &TrackVehicleInfo_9154D3, &TrackVehicleInfo_91411E, &TrackVehicleInfo_9143E7, - &TrackVehicleInfo_9146B9, &TrackVehicleInfo_91498B, &TrackVehicleInfo_9157A5, &TrackVehicleInfo_915A6E, &TrackVehicleInfo_915D40, &TrackVehicleInfo_916012, - &TrackVehicleInfo_9162E6, &TrackVehicleInfo_916408, &TrackVehicleInfo_91652A, &TrackVehicleInfo_91664C, &TrackVehicleInfo_91676E, &TrackVehicleInfo_916890, - &TrackVehicleInfo_9169B2, &TrackVehicleInfo_916AD4, &TrackVehicleInfo_91707E, &TrackVehicleInfo_9172C0, &TrackVehicleInfo_917502, &TrackVehicleInfo_917744, - &TrackVehicleInfo_91828E, &TrackVehicleInfo_9183B0, &TrackVehicleInfo_9184D2, &TrackVehicleInfo_9185F4, &TrackVehicleInfo_9194F6, &TrackVehicleInfo_919645, - &TrackVehicleInfo_919794, &TrackVehicleInfo_9198E3, &TrackVehicleInfo_919A32, &TrackVehicleInfo_919B81, &TrackVehicleInfo_919CD0, &TrackVehicleInfo_919E1F, - &TrackVehicleInfo_918716, &TrackVehicleInfo_91884A, &TrackVehicleInfo_91897E, &TrackVehicleInfo_918AB2, &TrackVehicleInfo_916BF6, &TrackVehicleInfo_916D18, - &TrackVehicleInfo_916E3A, &TrackVehicleInfo_916F5C, &TrackVehicleInfo_917986, &TrackVehicleInfo_917BC8, &TrackVehicleInfo_917E0A, &TrackVehicleInfo_91804C, - &TrackVehicleInfo_91906E, &TrackVehicleInfo_919190, &TrackVehicleInfo_9192B2, &TrackVehicleInfo_9193D4, &TrackVehicleInfo_91A4AA, &TrackVehicleInfo_91A5F9, - &TrackVehicleInfo_91A748, &TrackVehicleInfo_91A897, &TrackVehicleInfo_919F6E, &TrackVehicleInfo_91A0BD, &TrackVehicleInfo_91A20C, &TrackVehicleInfo_91A35B, - &TrackVehicleInfo_918BE6, &TrackVehicleInfo_918D08, &TrackVehicleInfo_918E2A, &TrackVehicleInfo_918F4C, &TrackVehicleInfo_91A9E6, &TrackVehicleInfo_91AB2C, - &TrackVehicleInfo_91AC72, &TrackVehicleInfo_91ADB8, &TrackVehicleInfo_91AEFE, &TrackVehicleInfo_91B044, &TrackVehicleInfo_91B18A, &TrackVehicleInfo_91B2D0, - &TrackVehicleInfo_91B416, &TrackVehicleInfo_91B55C, &TrackVehicleInfo_91B6A2, &TrackVehicleInfo_91B7E8, &TrackVehicleInfo_91B92E, &TrackVehicleInfo_91BA74, - &TrackVehicleInfo_91BBBA, &TrackVehicleInfo_91BD00, &TrackVehicleInfo_95787E, &TrackVehicleInfo_9579A0, &TrackVehicleInfo_957AC2, &TrackVehicleInfo_957BE4, - &TrackVehicleInfo_957D06, &TrackVehicleInfo_957E28, &TrackVehicleInfo_957F4A, &TrackVehicleInfo_95806C, &TrackVehicleInfo_95818E, &TrackVehicleInfo_9582B0, - &TrackVehicleInfo_9583D2, &TrackVehicleInfo_9584F4, &TrackVehicleInfo_958616, &TrackVehicleInfo_958738, &TrackVehicleInfo_95885A, &TrackVehicleInfo_95897C, - &TrackVehicleInfo_958A9E, &TrackVehicleInfo_958BC0, &TrackVehicleInfo_958CE2, &TrackVehicleInfo_958E04, &TrackVehicleInfo_958F26, &TrackVehicleInfo_959048, - &TrackVehicleInfo_95916A, &TrackVehicleInfo_95928C, &TrackVehicleInfo_9593AE, &TrackVehicleInfo_9594E2, &TrackVehicleInfo_959616, &TrackVehicleInfo_95974A, - &TrackVehicleInfo_95987E, &TrackVehicleInfo_9599B2, &TrackVehicleInfo_959AE6, &TrackVehicleInfo_959C1A, &TrackVehicleInfo_95A65E, &TrackVehicleInfo_95A780, - &TrackVehicleInfo_95A8A2, &TrackVehicleInfo_95A9C4, &TrackVehicleInfo_95AAE6, &TrackVehicleInfo_95AC08, &TrackVehicleInfo_95AD2A, &TrackVehicleInfo_95AE4C, - &TrackVehicleInfo_959D4E, &TrackVehicleInfo_959E70, &TrackVehicleInfo_959F92, &TrackVehicleInfo_95A0B4, &TrackVehicleInfo_95A1D6, &TrackVehicleInfo_95A2F8, - &TrackVehicleInfo_95A41A, &TrackVehicleInfo_95A53C, &TrackVehicleInfo_95AF6E, &TrackVehicleInfo_95B090, &TrackVehicleInfo_95B1B2, &TrackVehicleInfo_95B2D4, - &TrackVehicleInfo_95B3F6, &TrackVehicleInfo_95B518, &TrackVehicleInfo_95B63A, &TrackVehicleInfo_95B75C, &TrackVehicleInfo_91BE46, &TrackVehicleInfo_91C001, - &TrackVehicleInfo_91C1BC, &TrackVehicleInfo_91C377, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, - &TrackVehicleInfo_91C532, &TrackVehicleInfo_91C894, &TrackVehicleInfo_91CBF6, &TrackVehicleInfo_91CF58, &TrackVehicleInfo_91D2BA, &TrackVehicleInfo_91D61C, - &TrackVehicleInfo_91D97E, &TrackVehicleInfo_91DCE0, &TrackVehicleInfo_91E042, &TrackVehicleInfo_91E3A4, &TrackVehicleInfo_91E706, &TrackVehicleInfo_91EA68, - &TrackVehicleInfo_91EDCA, &TrackVehicleInfo_91F12C, &TrackVehicleInfo_91F48E, &TrackVehicleInfo_91F7F0, &TrackVehicleInfo_920E82, &TrackVehicleInfo_9210E8, - &TrackVehicleInfo_921357, &TrackVehicleInfo_9215BD, &TrackVehicleInfo_92181A, &TrackVehicleInfo_921A77, &TrackVehicleInfo_921CDD, &TrackVehicleInfo_921F4C, - &TrackVehicleInfo_91FB52, &TrackVehicleInfo_91FDB8, &TrackVehicleInfo_920027, &TrackVehicleInfo_92028D, &TrackVehicleInfo_9204EA, &TrackVehicleInfo_920747, - &TrackVehicleInfo_9209AD, &TrackVehicleInfo_920C1C, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, - &TrackVehicleInfo_9221B2, &TrackVehicleInfo_9237A6, &TrackVehicleInfo_924D9A, &TrackVehicleInfo_92638E, &TrackVehicleInfo_922CAC, &TrackVehicleInfo_9242A0, - &TrackVehicleInfo_925894, &TrackVehicleInfo_926E88, &TrackVehicleInfo_927982, &TrackVehicleInfo_928F76, &TrackVehicleInfo_92A56A, &TrackVehicleInfo_92BB5E, - &TrackVehicleInfo_92847C, &TrackVehicleInfo_929A70, &TrackVehicleInfo_92B064, &TrackVehicleInfo_92C658, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, - &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, - &TrackVehicleInfo_8DD21E, &TrackVehicleInfo_8DD580, &TrackVehicleInfo_8DD8E2, &TrackVehicleInfo_8DDC44, &TrackVehicleInfo_8DDFA6, &TrackVehicleInfo_8DE308, - &TrackVehicleInfo_8DE66A, &TrackVehicleInfo_8DE9CC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, - &TrackVehicleInfo_8E91A6, &TrackVehicleInfo_8E9751, &TrackVehicleInfo_8E9CFC, &TrackVehicleInfo_8EA2A7, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, - &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, - &TrackVehicleInfo_8EDF02, &TrackVehicleInfo_8EE26D, &TrackVehicleInfo_8EE5D8, &TrackVehicleInfo_8EE943, &TrackVehicleInfo_8EECAE, &TrackVehicleInfo_8EF019, - &TrackVehicleInfo_8EF384, &TrackVehicleInfo_8EF6EF, &TrackVehicleInfo_92D152, &TrackVehicleInfo_92D6F4, &TrackVehicleInfo_92DC96, &TrackVehicleInfo_92E238, - &TrackVehicleInfo_92E7DA, &TrackVehicleInfo_92ED7C, &TrackVehicleInfo_92F31E, &TrackVehicleInfo_92F8C0, &TrackVehicleInfo_92FE62, &TrackVehicleInfo_930524, - &TrackVehicleInfo_930BE6, &TrackVehicleInfo_9312A8, &TrackVehicleInfo_93196A, &TrackVehicleInfo_93202C, &TrackVehicleInfo_9326EE, &TrackVehicleInfo_932DB0, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, - &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_95426E, &TrackVehicleInfo_954930, - &TrackVehicleInfo_954FF2, &TrackVehicleInfo_9556B4, &TrackVehicleInfo_955D76, &TrackVehicleInfo_956438, &TrackVehicleInfo_956AFA, &TrackVehicleInfo_9571BC, - &TrackVehicleInfo_90C4D2, &TrackVehicleInfo_90C8D6, &TrackVehicleInfo_90CCDA, &TrackVehicleInfo_90D0DE, &TrackVehicleInfo_90D4E2, &TrackVehicleInfo_90D7B4, - &TrackVehicleInfo_90DA86, &TrackVehicleInfo_90DD58, &TrackVehicleInfo_908EC2, &TrackVehicleInfo_909974, &TrackVehicleInfo_90A426, &TrackVehicleInfo_90AED8, - &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, + &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, + &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, + &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, + &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, + &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, + &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, + &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, + &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, + &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, + &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, + &TrackVehicleInfo_8C3542, &TrackVehicleInfo_8C3664, &TrackVehicleInfo_8C3786, &TrackVehicleInfo_8C38A8, &TrackVehicleInfo_8C39CA, &TrackVehicleInfo_8C3AEC, + &TrackVehicleInfo_8C3C0E, &TrackVehicleInfo_8C3D30, &TrackVehicleInfo_8C3E52, &TrackVehicleInfo_8C3F74, &TrackVehicleInfo_8C4096, &TrackVehicleInfo_8C41B8, + &TrackVehicleInfo_8C42DA, &TrackVehicleInfo_8C43FC, &TrackVehicleInfo_8C451E, &TrackVehicleInfo_8C4640, &TrackVehicleInfo_8CA0B2, &TrackVehicleInfo_8CA4B6, + &TrackVehicleInfo_8CA8C3, &TrackVehicleInfo_8CACC7, &TrackVehicleInfo_8CB0C2, &TrackVehicleInfo_8CB4BD, &TrackVehicleInfo_8CB8C1, &TrackVehicleInfo_8CBCCE, + &TrackVehicleInfo_8C4762, &TrackVehicleInfo_8C4884, &TrackVehicleInfo_8C49A6, &TrackVehicleInfo_8C4AC8, &TrackVehicleInfo_8C4BEA, &TrackVehicleInfo_8C4D0C, + &TrackVehicleInfo_8C4E2E, &TrackVehicleInfo_8C4F50, &TrackVehicleInfo_8C5072, &TrackVehicleInfo_8C51A6, &TrackVehicleInfo_8C52DA, &TrackVehicleInfo_8C540E, + &TrackVehicleInfo_8C5542, &TrackVehicleInfo_8C5676, &TrackVehicleInfo_8C57AA, &TrackVehicleInfo_8C58DE, &TrackVehicleInfo_8C6322, &TrackVehicleInfo_8C6444, + &TrackVehicleInfo_8C6566, &TrackVehicleInfo_8C6688, &TrackVehicleInfo_8C67AA, &TrackVehicleInfo_8C68CC, &TrackVehicleInfo_8C69EE, &TrackVehicleInfo_8C6B10, + &TrackVehicleInfo_8C5A12, &TrackVehicleInfo_8C5B34, &TrackVehicleInfo_8C5C56, &TrackVehicleInfo_8C5D78, &TrackVehicleInfo_8C5E9A, &TrackVehicleInfo_8C5FBC, + &TrackVehicleInfo_8C60DE, &TrackVehicleInfo_8C6200, &TrackVehicleInfo_8BEA02, &TrackVehicleInfo_8BEB24, &TrackVehicleInfo_8BEC46, &TrackVehicleInfo_8BED68, + &TrackVehicleInfo_8BEE8A, &TrackVehicleInfo_8BEFAC, &TrackVehicleInfo_8BF0CE, &TrackVehicleInfo_8BF1F0, &TrackVehicleInfo_8D047E, &TrackVehicleInfo_8D0882, + &TrackVehicleInfo_8D0C8F, &TrackVehicleInfo_8D1093, &TrackVehicleInfo_8D148E, &TrackVehicleInfo_8D1889, &TrackVehicleInfo_8D1C8D, &TrackVehicleInfo_8D209A, + &TrackVehicleInfo_8D249E, &TrackVehicleInfo_8D28A2, &TrackVehicleInfo_8D2CAF, &TrackVehicleInfo_8D30B3, &TrackVehicleInfo_8D34AE, &TrackVehicleInfo_8D38A9, + &TrackVehicleInfo_8D3CAD, &TrackVehicleInfo_8D40BA, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, + &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, + &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, + &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, &TrackVehicleInfo_8E005E, &TrackVehicleInfo_8E02C4, &TrackVehicleInfo_8E0533, &TrackVehicleInfo_8E0799, + &TrackVehicleInfo_8E09F6, &TrackVehicleInfo_8E0C53, &TrackVehicleInfo_8E0EB9, &TrackVehicleInfo_8E1128, &TrackVehicleInfo_8E26BE, &TrackVehicleInfo_8E2924, + &TrackVehicleInfo_8E2B93, &TrackVehicleInfo_8E2DF9, &TrackVehicleInfo_8E3056, &TrackVehicleInfo_8E32B3, &TrackVehicleInfo_8E3519, &TrackVehicleInfo_8E3788, + &TrackVehicleInfo_8E138E, &TrackVehicleInfo_8E15F4, &TrackVehicleInfo_8E1863, &TrackVehicleInfo_8E1AC9, &TrackVehicleInfo_8E1D26, &TrackVehicleInfo_8E1F83, + &TrackVehicleInfo_8E21E9, &TrackVehicleInfo_8E2458, &TrackVehicleInfo_8E39EE, &TrackVehicleInfo_8E3AB6, &TrackVehicleInfo_8E3B87, &TrackVehicleInfo_8E3C4F, + &TrackVehicleInfo_8E3D0E, &TrackVehicleInfo_8E3DCD, &TrackVehicleInfo_8E3E95, &TrackVehicleInfo_8E3F66, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, + &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, + &TrackVehicleInfo_8DB70E, &TrackVehicleInfo_8DBA70, &TrackVehicleInfo_8DBDD2, &TrackVehicleInfo_8DC134, &TrackVehicleInfo_8DC496, &TrackVehicleInfo_8DC7F8, + &TrackVehicleInfo_8DCB5A, &TrackVehicleInfo_8DCEBC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, + &TrackVehicleInfo_8E7AFA, &TrackVehicleInfo_8E80A5, &TrackVehicleInfo_8E8650, &TrackVehicleInfo_8E8BFB, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, + &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, + &TrackVehicleInfo_8EC3AA, &TrackVehicleInfo_8EC715, &TrackVehicleInfo_8ECA80, &TrackVehicleInfo_8ECDEB, &TrackVehicleInfo_8ED156, &TrackVehicleInfo_8ED4C1, + &TrackVehicleInfo_8ED82C, &TrackVehicleInfo_8EDB97, &TrackVehicleInfo_8C6C32, &TrackVehicleInfo_8C6D78, &TrackVehicleInfo_8C6EBE, &TrackVehicleInfo_8C7004, + &TrackVehicleInfo_8C714A, &TrackVehicleInfo_8C7290, &TrackVehicleInfo_8C73D6, &TrackVehicleInfo_8C751C, &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, + &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_8C7B7A, &TrackVehicleInfo_8C7CC0, &TrackVehicleInfo_8C7E06, &TrackVehicleInfo_8C7F4C, + &TrackVehicleInfo_8EFA5A, &TrackVehicleInfo_8EFDAA, &TrackVehicleInfo_8F00FA, &TrackVehicleInfo_8F044A, &TrackVehicleInfo_8F079A, &TrackVehicleInfo_8F08BC, + &TrackVehicleInfo_8F09DE, &TrackVehicleInfo_8F0B00, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, + &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, &TrackVehicleInfo_8BFC1A, &TrackVehicleInfo_8BFD3C, &TrackVehicleInfo_8BFE5E, &TrackVehicleInfo_8BFF80, + &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, + &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, &TrackVehicleInfo_8C00A2, &TrackVehicleInfo_8C01C4, &TrackVehicleInfo_8C02E6, &TrackVehicleInfo_8C0408, + &TrackVehicleInfo_8C27B2, &TrackVehicleInfo_8C28D4, &TrackVehicleInfo_8C29F6, &TrackVehicleInfo_8C2B18, &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, + &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, &TrackVehicleInfo_8C09B2, &TrackVehicleInfo_8C0AD4, &TrackVehicleInfo_8C0BF6, &TrackVehicleInfo_8C0D18, + &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, + &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, &TrackVehicleInfo_8C052A, &TrackVehicleInfo_8C064C, &TrackVehicleInfo_8C076E, &TrackVehicleInfo_8C0890, + &TrackVehicleInfo_8C8092, &TrackVehicleInfo_8C8496, &TrackVehicleInfo_8C88A3, &TrackVehicleInfo_8C8CA7, &TrackVehicleInfo_8C90A2, &TrackVehicleInfo_8C949D, + &TrackVehicleInfo_8C98A1, &TrackVehicleInfo_8C9CAE, &TrackVehicleInfo_8CC0D2, &TrackVehicleInfo_8CC434, &TrackVehicleInfo_8CC796, &TrackVehicleInfo_8CCAF8, + &TrackVehicleInfo_8CCE5A, &TrackVehicleInfo_8CD1BC, &TrackVehicleInfo_8CD51E, &TrackVehicleInfo_8CD880, &TrackVehicleInfo_8DED2E, &TrackVehicleInfo_8DEF94, + &TrackVehicleInfo_8DF203, &TrackVehicleInfo_8DF469, &TrackVehicleInfo_8DF6C6, &TrackVehicleInfo_8DF923, &TrackVehicleInfo_8DFB89, &TrackVehicleInfo_8DFDF8, + &TrackVehicleInfo_8F8C82, &TrackVehicleInfo_8F9143, &TrackVehicleInfo_8F9616, &TrackVehicleInfo_8F9AE9, &TrackVehicleInfo_8F9FAA, &TrackVehicleInfo_8FA46B, + &TrackVehicleInfo_8FA93E, &TrackVehicleInfo_8FAE11, &TrackVehicleInfo_8FB2D2, &TrackVehicleInfo_8FB793, &TrackVehicleInfo_8FBC66, &TrackVehicleInfo_8FC139, + &TrackVehicleInfo_8FC5FA, &TrackVehicleInfo_8FCABB, &TrackVehicleInfo_8FCF8E, &TrackVehicleInfo_8FD461, &TrackVehicleInfo_8F0C22, &TrackVehicleInfo_8F141F, + &TrackVehicleInfo_8F1C2E, &TrackVehicleInfo_8F243D, &TrackVehicleInfo_8F2C3A, &TrackVehicleInfo_8F3437, &TrackVehicleInfo_8F3C46, &TrackVehicleInfo_8F4455, + &TrackVehicleInfo_8F4C52, &TrackVehicleInfo_8F544F, &TrackVehicleInfo_8F5C5E, &TrackVehicleInfo_8F646D, &TrackVehicleInfo_8F6C6A, &TrackVehicleInfo_8F7467, + &TrackVehicleInfo_8F7C76, &TrackVehicleInfo_8F8485, &TrackVehicleInfo_8E402E, &TrackVehicleInfo_8E4270, &TrackVehicleInfo_8E44B2, &TrackVehicleInfo_8E46F4, + &TrackVehicleInfo_8E4936, &TrackVehicleInfo_8E4B78, &TrackVehicleInfo_8E4DBA, &TrackVehicleInfo_8E4FFC, &TrackVehicleInfo_8E523E, &TrackVehicleInfo_8E5480, + &TrackVehicleInfo_8E56C2, &TrackVehicleInfo_8E5904, &TrackVehicleInfo_8E5B46, &TrackVehicleInfo_8E5D88, &TrackVehicleInfo_8E5FCA, &TrackVehicleInfo_8E620C, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, + &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_8B0EB2, &TrackVehicleInfo_8B12B6, &TrackVehicleInfo_8B16C3, &TrackVehicleInfo_8B1AC7, &TrackVehicleInfo_8B1EC2, &TrackVehicleInfo_8B22BD, + &TrackVehicleInfo_8B26C1, &TrackVehicleInfo_8B2ACE, &TrackVehicleInfo_8B2ED2, &TrackVehicleInfo_8B32D6, &TrackVehicleInfo_8B36E3, &TrackVehicleInfo_8B3AE7, + &TrackVehicleInfo_8B3EE2, &TrackVehicleInfo_8B42DD, &TrackVehicleInfo_8B46E1, &TrackVehicleInfo_8B4AEE, &TrackVehicleInfo_8B4EF2, &TrackVehicleInfo_8B52F6, + &TrackVehicleInfo_8B5703, &TrackVehicleInfo_8B5B07, &TrackVehicleInfo_8B5F02, &TrackVehicleInfo_8B62FD, &TrackVehicleInfo_8B6701, &TrackVehicleInfo_8B6B0E, + &TrackVehicleInfo_8B6F12, &TrackVehicleInfo_8B7316, &TrackVehicleInfo_8B7723, &TrackVehicleInfo_8B7B27, &TrackVehicleInfo_8B7F22, &TrackVehicleInfo_8B831D, + &TrackVehicleInfo_8B8721, &TrackVehicleInfo_8B8B2E, &TrackVehicleInfo_968C6E, &TrackVehicleInfo_968D90, &TrackVehicleInfo_968EB2, &TrackVehicleInfo_968FD4, + &TrackVehicleInfo_96957E, &TrackVehicleInfo_9696A0, &TrackVehicleInfo_9697C2, &TrackVehicleInfo_9698E4, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, + &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9048E8, &TrackVehicleInfo_904A0A, &TrackVehicleInfo_904B2C, &TrackVehicleInfo_904C4E, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_9690F6, &TrackVehicleInfo_969218, + &TrackVehicleInfo_96933A, &TrackVehicleInfo_96945C, &TrackVehicleInfo_969A06, &TrackVehicleInfo_969B28, &TrackVehicleInfo_969C4A, &TrackVehicleInfo_969D6C, + &TrackVehicleInfo_904D72, &TrackVehicleInfo_905314, &TrackVehicleInfo_9058B6, &TrackVehicleInfo_905E58, &TrackVehicleInfo_96D4AE, &TrackVehicleInfo_96D9A5, + &TrackVehicleInfo_96DE9C, &TrackVehicleInfo_96E393, &TrackVehicleInfo_96E88A, &TrackVehicleInfo_96ED81, &TrackVehicleInfo_96F278, &TrackVehicleInfo_96F76F, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_971042, &TrackVehicleInfo_971539, + &TrackVehicleInfo_971A30, &TrackVehicleInfo_971F27, &TrackVehicleInfo_96FC66, &TrackVehicleInfo_97015D, &TrackVehicleInfo_970654, &TrackVehicleInfo_970B4B, + &TrackVehicleInfo_97241E, &TrackVehicleInfo_9729ED, &TrackVehicleInfo_972FBC, &TrackVehicleInfo_97358B, &TrackVehicleInfo_9063FA, &TrackVehicleInfo_906EAC, + &TrackVehicleInfo_90795E, &TrackVehicleInfo_908410, &TrackVehicleInfo_90B98A, &TrackVehicleInfo_90BC5C, &TrackVehicleInfo_90BF2E, &TrackVehicleInfo_90C200, + &TrackVehicleInfo_90E02A, &TrackVehicleInfo_90E14C, &TrackVehicleInfo_90E26E, &TrackVehicleInfo_90E390, &TrackVehicleInfo_90E4B2, &TrackVehicleInfo_90E5D4, + &TrackVehicleInfo_90E6F6, &TrackVehicleInfo_90E818, &TrackVehicleInfo_90E93A, &TrackVehicleInfo_90EB34, &TrackVehicleInfo_90ED2E, &TrackVehicleInfo_90EF28, + &TrackVehicleInfo_9100F2, &TrackVehicleInfo_9102EC, &TrackVehicleInfo_9104E6, &TrackVehicleInfo_9106E0, &TrackVehicleInfo_90F122, &TrackVehicleInfo_90F31C, + &TrackVehicleInfo_90F516, &TrackVehicleInfo_90F710, &TrackVehicleInfo_90F90A, &TrackVehicleInfo_90FB04, &TrackVehicleInfo_90FCFE, &TrackVehicleInfo_90FEF8, + &TrackVehicleInfo_8C7662, &TrackVehicleInfo_8C77A8, &TrackVehicleInfo_8C78EE, &TrackVehicleInfo_8C7A34, &TrackVehicleInfo_9108DA, &TrackVehicleInfo_910BA3, + &TrackVehicleInfo_910E75, &TrackVehicleInfo_911147, &TrackVehicleInfo_911F58, &TrackVehicleInfo_91222A, &TrackVehicleInfo_9124FC, &TrackVehicleInfo_9127CE, + &TrackVehicleInfo_911419, &TrackVehicleInfo_9116E2, &TrackVehicleInfo_9119B4, &TrackVehicleInfo_911C86, &TrackVehicleInfo_912AA0, &TrackVehicleInfo_912D69, + &TrackVehicleInfo_91303B, &TrackVehicleInfo_91330D, &TrackVehicleInfo_9135DF, &TrackVehicleInfo_9138A8, &TrackVehicleInfo_913B7A, &TrackVehicleInfo_913E4C, + &TrackVehicleInfo_914C5D, &TrackVehicleInfo_914F2F, &TrackVehicleInfo_915201, &TrackVehicleInfo_9154D3, &TrackVehicleInfo_91411E, &TrackVehicleInfo_9143E7, + &TrackVehicleInfo_9146B9, &TrackVehicleInfo_91498B, &TrackVehicleInfo_9157A5, &TrackVehicleInfo_915A6E, &TrackVehicleInfo_915D40, &TrackVehicleInfo_916012, + &TrackVehicleInfo_9162E6, &TrackVehicleInfo_916408, &TrackVehicleInfo_91652A, &TrackVehicleInfo_91664C, &TrackVehicleInfo_91676E, &TrackVehicleInfo_916890, + &TrackVehicleInfo_9169B2, &TrackVehicleInfo_916AD4, &TrackVehicleInfo_91707E, &TrackVehicleInfo_9172C0, &TrackVehicleInfo_917502, &TrackVehicleInfo_917744, + &TrackVehicleInfo_91828E, &TrackVehicleInfo_9183B0, &TrackVehicleInfo_9184D2, &TrackVehicleInfo_9185F4, &TrackVehicleInfo_9194F6, &TrackVehicleInfo_919645, + &TrackVehicleInfo_919794, &TrackVehicleInfo_9198E3, &TrackVehicleInfo_919A32, &TrackVehicleInfo_919B81, &TrackVehicleInfo_919CD0, &TrackVehicleInfo_919E1F, + &TrackVehicleInfo_918716, &TrackVehicleInfo_91884A, &TrackVehicleInfo_91897E, &TrackVehicleInfo_918AB2, &TrackVehicleInfo_916BF6, &TrackVehicleInfo_916D18, + &TrackVehicleInfo_916E3A, &TrackVehicleInfo_916F5C, &TrackVehicleInfo_917986, &TrackVehicleInfo_917BC8, &TrackVehicleInfo_917E0A, &TrackVehicleInfo_91804C, + &TrackVehicleInfo_91906E, &TrackVehicleInfo_919190, &TrackVehicleInfo_9192B2, &TrackVehicleInfo_9193D4, &TrackVehicleInfo_91A4AA, &TrackVehicleInfo_91A5F9, + &TrackVehicleInfo_91A748, &TrackVehicleInfo_91A897, &TrackVehicleInfo_919F6E, &TrackVehicleInfo_91A0BD, &TrackVehicleInfo_91A20C, &TrackVehicleInfo_91A35B, + &TrackVehicleInfo_918BE6, &TrackVehicleInfo_918D08, &TrackVehicleInfo_918E2A, &TrackVehicleInfo_918F4C, &TrackVehicleInfo_91A9E6, &TrackVehicleInfo_91AB2C, + &TrackVehicleInfo_91AC72, &TrackVehicleInfo_91ADB8, &TrackVehicleInfo_91AEFE, &TrackVehicleInfo_91B044, &TrackVehicleInfo_91B18A, &TrackVehicleInfo_91B2D0, + &TrackVehicleInfo_91B416, &TrackVehicleInfo_91B55C, &TrackVehicleInfo_91B6A2, &TrackVehicleInfo_91B7E8, &TrackVehicleInfo_91B92E, &TrackVehicleInfo_91BA74, + &TrackVehicleInfo_91BBBA, &TrackVehicleInfo_91BD00, &TrackVehicleInfo_95787E, &TrackVehicleInfo_9579A0, &TrackVehicleInfo_957AC2, &TrackVehicleInfo_957BE4, + &TrackVehicleInfo_957D06, &TrackVehicleInfo_957E28, &TrackVehicleInfo_957F4A, &TrackVehicleInfo_95806C, &TrackVehicleInfo_95818E, &TrackVehicleInfo_9582B0, + &TrackVehicleInfo_9583D2, &TrackVehicleInfo_9584F4, &TrackVehicleInfo_958616, &TrackVehicleInfo_958738, &TrackVehicleInfo_95885A, &TrackVehicleInfo_95897C, + &TrackVehicleInfo_958A9E, &TrackVehicleInfo_958BC0, &TrackVehicleInfo_958CE2, &TrackVehicleInfo_958E04, &TrackVehicleInfo_958F26, &TrackVehicleInfo_959048, + &TrackVehicleInfo_95916A, &TrackVehicleInfo_95928C, &TrackVehicleInfo_9593AE, &TrackVehicleInfo_9594E2, &TrackVehicleInfo_959616, &TrackVehicleInfo_95974A, + &TrackVehicleInfo_95987E, &TrackVehicleInfo_9599B2, &TrackVehicleInfo_959AE6, &TrackVehicleInfo_959C1A, &TrackVehicleInfo_95A65E, &TrackVehicleInfo_95A780, + &TrackVehicleInfo_95A8A2, &TrackVehicleInfo_95A9C4, &TrackVehicleInfo_95AAE6, &TrackVehicleInfo_95AC08, &TrackVehicleInfo_95AD2A, &TrackVehicleInfo_95AE4C, + &TrackVehicleInfo_959D4E, &TrackVehicleInfo_959E70, &TrackVehicleInfo_959F92, &TrackVehicleInfo_95A0B4, &TrackVehicleInfo_95A1D6, &TrackVehicleInfo_95A2F8, + &TrackVehicleInfo_95A41A, &TrackVehicleInfo_95A53C, &TrackVehicleInfo_95AF6E, &TrackVehicleInfo_95B090, &TrackVehicleInfo_95B1B2, &TrackVehicleInfo_95B2D4, + &TrackVehicleInfo_95B3F6, &TrackVehicleInfo_95B518, &TrackVehicleInfo_95B63A, &TrackVehicleInfo_95B75C, &TrackVehicleInfo_91BE46, &TrackVehicleInfo_91C001, + &TrackVehicleInfo_91C1BC, &TrackVehicleInfo_91C377, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, + &TrackVehicleInfo_91C532, &TrackVehicleInfo_91C894, &TrackVehicleInfo_91CBF6, &TrackVehicleInfo_91CF58, &TrackVehicleInfo_91D2BA, &TrackVehicleInfo_91D61C, + &TrackVehicleInfo_91D97E, &TrackVehicleInfo_91DCE0, &TrackVehicleInfo_91E042, &TrackVehicleInfo_91E3A4, &TrackVehicleInfo_91E706, &TrackVehicleInfo_91EA68, + &TrackVehicleInfo_91EDCA, &TrackVehicleInfo_91F12C, &TrackVehicleInfo_91F48E, &TrackVehicleInfo_91F7F0, &TrackVehicleInfo_920E82, &TrackVehicleInfo_9210E8, + &TrackVehicleInfo_921357, &TrackVehicleInfo_9215BD, &TrackVehicleInfo_92181A, &TrackVehicleInfo_921A77, &TrackVehicleInfo_921CDD, &TrackVehicleInfo_921F4C, + &TrackVehicleInfo_91FB52, &TrackVehicleInfo_91FDB8, &TrackVehicleInfo_920027, &TrackVehicleInfo_92028D, &TrackVehicleInfo_9204EA, &TrackVehicleInfo_920747, + &TrackVehicleInfo_9209AD, &TrackVehicleInfo_920C1C, &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, + &TrackVehicleInfo_9221B2, &TrackVehicleInfo_9237A6, &TrackVehicleInfo_924D9A, &TrackVehicleInfo_92638E, &TrackVehicleInfo_922CAC, &TrackVehicleInfo_9242A0, + &TrackVehicleInfo_925894, &TrackVehicleInfo_926E88, &TrackVehicleInfo_927982, &TrackVehicleInfo_928F76, &TrackVehicleInfo_92A56A, &TrackVehicleInfo_92BB5E, + &TrackVehicleInfo_92847C, &TrackVehicleInfo_929A70, &TrackVehicleInfo_92B064, &TrackVehicleInfo_92C658, &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, + &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, + &TrackVehicleInfo_8DD21E, &TrackVehicleInfo_8DD580, &TrackVehicleInfo_8DD8E2, &TrackVehicleInfo_8DDC44, &TrackVehicleInfo_8DDFA6, &TrackVehicleInfo_8DE308, + &TrackVehicleInfo_8DE66A, &TrackVehicleInfo_8DE9CC, &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, + &TrackVehicleInfo_8E91A6, &TrackVehicleInfo_8E9751, &TrackVehicleInfo_8E9CFC, &TrackVehicleInfo_8EA2A7, &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, + &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, + &TrackVehicleInfo_8EDF02, &TrackVehicleInfo_8EE26D, &TrackVehicleInfo_8EE5D8, &TrackVehicleInfo_8EE943, &TrackVehicleInfo_8EECAE, &TrackVehicleInfo_8EF019, + &TrackVehicleInfo_8EF384, &TrackVehicleInfo_8EF6EF, &TrackVehicleInfo_92D152, &TrackVehicleInfo_92D6F4, &TrackVehicleInfo_92DC96, &TrackVehicleInfo_92E238, + &TrackVehicleInfo_92E7DA, &TrackVehicleInfo_92ED7C, &TrackVehicleInfo_92F31E, &TrackVehicleInfo_92F8C0, &TrackVehicleInfo_92FE62, &TrackVehicleInfo_930524, + &TrackVehicleInfo_930BE6, &TrackVehicleInfo_9312A8, &TrackVehicleInfo_93196A, &TrackVehicleInfo_93202C, &TrackVehicleInfo_9326EE, &TrackVehicleInfo_932DB0, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, + &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_000000, &TrackVehicleInfo_95426E, &TrackVehicleInfo_954930, + &TrackVehicleInfo_954FF2, &TrackVehicleInfo_9556B4, &TrackVehicleInfo_955D76, &TrackVehicleInfo_956438, &TrackVehicleInfo_956AFA, &TrackVehicleInfo_9571BC, + &TrackVehicleInfo_90C4D2, &TrackVehicleInfo_90C8D6, &TrackVehicleInfo_90CCDA, &TrackVehicleInfo_90D0DE, &TrackVehicleInfo_90D4E2, &TrackVehicleInfo_90D7B4, + &TrackVehicleInfo_90DA86, &TrackVehicleInfo_90DD58, &TrackVehicleInfo_908EC2, &TrackVehicleInfo_909974, &TrackVehicleInfo_90A426, &TrackVehicleInfo_90AED8, + &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, }; // rct2: 0x008B8F30 const rct_vehicle_info_list **gTrackVehicleInfo[17] = { - TrackVehicleInfoList_8B8F98, - TrackVehicleInfoList_8BBAB8, - TrackVehicleInfoList_8BC588, - TrackVehicleInfoList_8BCBD8, - TrackVehicleInfoList_8BD228, - TrackVehicleInfoList_8BD878, - TrackVehicleInfoList_8BDBB8, - TrackVehicleInfoList_8BDEF8, - TrackVehicleInfoList_8BE238, - TrackVehicleInfoList_9334D0, - TrackVehicleInfoList_9341B0, - TrackVehicleInfoList_934E90, - TrackVehicleInfoList_935B70, - TrackVehicleInfoList_936850, - TrackVehicleInfoList_937530, - TrackVehicleInfoList_8B9F98, - TrackVehicleInfoList_8BAD28, + TrackVehicleInfoList_8B8F98, + TrackVehicleInfoList_8BBAB8, + TrackVehicleInfoList_8BC588, + TrackVehicleInfoList_8BCBD8, + TrackVehicleInfoList_8BD228, + TrackVehicleInfoList_8BD878, + TrackVehicleInfoList_8BDBB8, + TrackVehicleInfoList_8BDEF8, + TrackVehicleInfoList_8BE238, + TrackVehicleInfoList_9334D0, + TrackVehicleInfoList_9341B0, + TrackVehicleInfoList_934E90, + TrackVehicleInfoList_935B70, + TrackVehicleInfoList_936850, + TrackVehicleInfoList_937530, + TrackVehicleInfoList_8B9F98, + TrackVehicleInfoList_8BAD28, }; /** rct2: 0x00993D1C */ const sint16 AlternativeTrackTypes[256] = { - TRACK_ELEM_FLAT_COVERED, // TRACK_ELEM_FLAT - -1, - -1, - -1, - TRACK_ELEM_25_DEG_UP_COVERED, // TRACK_ELEM_25_DEG_UP - TRACK_ELEM_60_DEG_UP_COVERED, // TRACK_ELEM_60_DEG_UP - TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED, // TRACK_ELEM_FLAT_TO_25_DEG_UP - TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED, // TRACK_ELEM_25_DEG_UP_TO_FLAT - TRACK_ELEM_25_DEG_DOWN_COVERED, // TRACK_ELEM_25_DEG_DOWN - TRACK_ELEM_60_DEG_DOWN_COVERED, // TRACK_ELEM_60_DEG_DOWN - TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - TRACK_ELEM_S_BEND_LEFT_COVERED, // TRACK_ELEM_S_BEND_LEFT - TRACK_ELEM_S_BEND_RIGHT_COVERED, // TRACK_ELEM_S_BEND_RIGHT - -1, - -1, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, + TRACK_ELEM_FLAT_COVERED, // TRACK_ELEM_FLAT + -1, + -1, + -1, + TRACK_ELEM_25_DEG_UP_COVERED, // TRACK_ELEM_25_DEG_UP + TRACK_ELEM_60_DEG_UP_COVERED, // TRACK_ELEM_60_DEG_UP + TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED, // TRACK_ELEM_FLAT_TO_25_DEG_UP + TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED, // TRACK_ELEM_25_DEG_UP_TO_FLAT + TRACK_ELEM_25_DEG_DOWN_COVERED, // TRACK_ELEM_25_DEG_DOWN + TRACK_ELEM_60_DEG_DOWN_COVERED, // TRACK_ELEM_60_DEG_DOWN + TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + TRACK_ELEM_S_BEND_LEFT_COVERED, // TRACK_ELEM_S_BEND_LEFT + TRACK_ELEM_S_BEND_RIGHT_COVERED, // TRACK_ELEM_S_BEND_RIGHT + -1, + -1, + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, }; /** rct2: 0x0099DA34 */ const money32 TrackPricing[] = { - 65536, // TRACK_ELEM_FLAT - 98304, // TRACK_ELEM_END_STATION - 98304, // TRACK_ELEM_BEGIN_STATION - 98304, // TRACK_ELEM_MIDDLE_STATION - 79872, // TRACK_ELEM_25_DEG_UP - 114688, // TRACK_ELEM_60_DEG_UP - 73728, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 96256, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 96256, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 73728, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 79872, // TRACK_ELEM_25_DEG_DOWN - 114688, // TRACK_ELEM_60_DEG_DOWN - 73728, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 96256, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 96256, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 73728, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 257359, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 257359, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 69632, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 69632, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 69632, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 69632, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 273443, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 273443, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 78336, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 78336, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 78336, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 78336, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 78336, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 78336, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 78336, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 78336, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 69632, // TRACK_ELEM_LEFT_BANK - 69632, // TRACK_ELEM_RIGHT_BANK - 313656, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 313656, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 313656, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 313656, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 229376, // TRACK_ELEM_S_BEND_LEFT - 229376, // TRACK_ELEM_S_BEND_RIGHT - 491520, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 491520, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 154415, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 154415, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 164065, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 164065, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 270226, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 270226, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 270226, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 270226, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 51471, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 51471, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 212992, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - 212992, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - 212992, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - 212992, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - 294912, // TRACK_ELEM_HALF_LOOP_UP - 294912, // TRACK_ELEM_HALF_LOOP_DOWN - 229376, // TRACK_ELEM_LEFT_CORKSCREW_UP - 229376, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 229376, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 229376, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - 98304, // TRACK_ELEM_FLAT_TO_60_DEG_UP - 98304, // TRACK_ELEM_60_DEG_UP_TO_FLAT - 98304, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - 98304, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT - 524288, // TRACK_ELEM_TOWER_BASE - 65536, // TRACK_ELEM_TOWER_SECTION - 69632, // TRACK_ELEM_FLAT_COVERED - 83968, // TRACK_ELEM_25_DEG_UP_COVERED - 118784, // TRACK_ELEM_60_DEG_UP_COVERED - 77824, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED - 100352, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED - 100352, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED - 77824, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED - 83968, // TRACK_ELEM_25_DEG_DOWN_COVERED - 118784, // TRACK_ELEM_60_DEG_DOWN_COVERED - 77824, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED - 100352, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED - 100352, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED - 77824, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED - 261455, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - 261455, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - 233472, // TRACK_ELEM_S_BEND_LEFT_COVERED - 233472, // TRACK_ELEM_S_BEND_RIGHT_COVERED - 158511, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - 158511, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - 328192, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 328192, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 328192, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 328192, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 547072, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 547072, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 547072, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 547072, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 126976, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 126976, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 126976, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 126976, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 90112, // TRACK_ELEM_BRAKES - 77824, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE - 65536, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP / TRACK_ELEM_MAZE - 273539, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - 273539, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - 273539, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - 273539, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - 273539, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP - 273539, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - 273539, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - 273539, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - 83968, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 83968, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 143360, // TRACK_ELEM_WATERFALL - 118784, // TRACK_ELEM_RAPIDS - 196608, // TRACK_ELEM_ON_RIDE_PHOTO - 83968, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 83968, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 393216, // TRACK_ELEM_WATER_SPLASH - 376832, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - 376832, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - 126976, // TRACK_ELEM_WHIRLPOOL - 376832, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - 376832, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - 643072, // TRACK_ELEM_CABLE_LIFT_HILL - 491520, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE - 65536, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL - 69632, // TRACK_ELEM_90_DEG_UP - 69632, // TRACK_ELEM_90_DEG_DOWN - 114688, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 114688, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 114688, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 114688, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - 147456, // TRACK_ELEM_BRAKE_FOR_DROP - 180151, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 180151, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 180151, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 180151, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 190960, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 190960, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 190960, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 190960, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 92681, // TRACK_ELEM_DIAG_FLAT - 111820, // TRACK_ELEM_DIAG_25_DEG_UP - 147456, // TRACK_ELEM_DIAG_60_DEG_UP - 102400, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 129024, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 129024, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 102400, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 111820, // TRACK_ELEM_DIAG_25_DEG_DOWN - 147456, // TRACK_ELEM_DIAG_60_DEG_DOWN - 102400, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 129024, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 129024, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 102400, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 107008, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP - 107008, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT - 107008, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN - 107008, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT - 96777, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 96777, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 96777, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 96777, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 106496, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 106496, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 106496, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 106496, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 106496, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 106496, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 106496, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 106496, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 96777, // TRACK_ELEM_DIAG_LEFT_BANK - 96777, // TRACK_ELEM_DIAG_RIGHT_BANK - 282624, // TRACK_ELEM_LOG_FLUME_REVERSER - 217088, // TRACK_ELEM_SPINNING_TUNNEL - 221184, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - 221184, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - 221184, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - 221184, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - 270226, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 270226, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 270226, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - 270226, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - 96384, // TRACK_ELEM_POWERED_LIFT - 884736, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - 884736, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - 884736, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - 884736, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN - 221184, // TRACK_ELEM_LEFT_FLYER_TWIST_UP - 221184, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - 221184, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - 221184, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - 294912, // TRACK_ELEM_FLYER_HALF_LOOP_UP - 294912, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN - 229376, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP - 229376, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP - 229376, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN - 229376, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN - 294912, // TRACK_ELEM_HEARTLINE_TRANSFER_UP - 294912, // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN - 417792, // TRACK_ELEM_LEFT_HEARTLINE_ROLL - 417792, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL - 159744, // TRACK_ELEM_MINI_GOLF_HOLE_A - 167936, // TRACK_ELEM_MINI_GOLF_HOLE_B - 172032, // TRACK_ELEM_MINI_GOLF_HOLE_C - 184320, // TRACK_ELEM_MINI_GOLF_HOLE_D - 184320, // TRACK_ELEM_MINI_GOLF_HOLE_E - 360448, // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - 360448, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP - 360448, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - 270226, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL - 270226, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL - 393216, // TRACK_ELEM_LEFT_REVERSER - 393216, // TRACK_ELEM_RIGHT_REVERSER - 65536, // TRACK_ELEM_AIR_THRUST_TOP_CAP - 65536, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN - 491520, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL - 94208, // TRACK_ELEM_BLOCK_BRAKES - 287115, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 287115, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 287115, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 287115, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 333259, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 333259, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 333259, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 333259, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 83968, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 83968, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 83968, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 83968, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 83968, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 83968, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 83968, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 83968, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 77824, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 77824, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 77824, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 77824, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 77824, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 77824, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 77824, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 77824, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 151552, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - 151552, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - 151552, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 151552, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 360448, // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP - 360448, // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP - 360448, // + 65536, // TRACK_ELEM_FLAT + 98304, // TRACK_ELEM_END_STATION + 98304, // TRACK_ELEM_BEGIN_STATION + 98304, // TRACK_ELEM_MIDDLE_STATION + 79872, // TRACK_ELEM_25_DEG_UP + 114688, // TRACK_ELEM_60_DEG_UP + 73728, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 96256, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 96256, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 73728, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 79872, // TRACK_ELEM_25_DEG_DOWN + 114688, // TRACK_ELEM_60_DEG_DOWN + 73728, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 96256, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 96256, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 73728, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 257359, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 257359, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 69632, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 69632, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 69632, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 69632, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 273443, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 273443, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 78336, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 78336, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 78336, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 78336, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 78336, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 78336, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 78336, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 78336, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 69632, // TRACK_ELEM_LEFT_BANK + 69632, // TRACK_ELEM_RIGHT_BANK + 313656, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 313656, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 313656, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 313656, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 229376, // TRACK_ELEM_S_BEND_LEFT + 229376, // TRACK_ELEM_S_BEND_RIGHT + 491520, // TRACK_ELEM_LEFT_VERTICAL_LOOP + 491520, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + 154415, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 154415, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 164065, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 164065, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 270226, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 270226, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 270226, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 270226, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 51471, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 51471, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 212992, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP + 212992, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP + 212992, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN + 212992, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN + 294912, // TRACK_ELEM_HALF_LOOP_UP + 294912, // TRACK_ELEM_HALF_LOOP_DOWN + 229376, // TRACK_ELEM_LEFT_CORKSCREW_UP + 229376, // TRACK_ELEM_RIGHT_CORKSCREW_UP + 229376, // TRACK_ELEM_LEFT_CORKSCREW_DOWN + 229376, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 98304, // TRACK_ELEM_FLAT_TO_60_DEG_UP + 98304, // TRACK_ELEM_60_DEG_UP_TO_FLAT + 98304, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN + 98304, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT + 524288, // TRACK_ELEM_TOWER_BASE + 65536, // TRACK_ELEM_TOWER_SECTION + 69632, // TRACK_ELEM_FLAT_COVERED + 83968, // TRACK_ELEM_25_DEG_UP_COVERED + 118784, // TRACK_ELEM_60_DEG_UP_COVERED + 77824, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED + 100352, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED + 100352, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED + 77824, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED + 83968, // TRACK_ELEM_25_DEG_DOWN_COVERED + 118784, // TRACK_ELEM_60_DEG_DOWN_COVERED + 77824, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED + 100352, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED + 100352, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED + 77824, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED + 261455, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED + 261455, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED + 233472, // TRACK_ELEM_S_BEND_LEFT_COVERED + 233472, // TRACK_ELEM_S_BEND_RIGHT_COVERED + 158511, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED + 158511, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED + 328192, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 328192, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 328192, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 328192, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 547072, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 547072, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 547072, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 547072, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 126976, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 126976, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 126976, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 126976, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 90112, // TRACK_ELEM_BRAKES + 77824, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE + 65536, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP / TRACK_ELEM_MAZE + 273539, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP + 273539, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP + 273539, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN + 273539, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + 273539, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP + 273539, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP + 273539, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN + 273539, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN + 83968, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + 83968, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 143360, // TRACK_ELEM_WATERFALL + 118784, // TRACK_ELEM_RAPIDS + 196608, // TRACK_ELEM_ON_RIDE_PHOTO + 83968, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + 83968, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 393216, // TRACK_ELEM_WATER_SPLASH + 376832, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE + 376832, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE + 126976, // TRACK_ELEM_WHIRLPOOL + 376832, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE + 376832, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 + 643072, // TRACK_ELEM_CABLE_LIFT_HILL + 491520, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE + 65536, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL + 69632, // TRACK_ELEM_90_DEG_UP + 69632, // TRACK_ELEM_90_DEG_DOWN + 114688, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP + 114688, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN + 114688, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP + 114688, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 147456, // TRACK_ELEM_BRAKE_FOR_DROP + 180151, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 180151, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 180151, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 180151, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 190960, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 190960, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 190960, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 190960, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 92681, // TRACK_ELEM_DIAG_FLAT + 111820, // TRACK_ELEM_DIAG_25_DEG_UP + 147456, // TRACK_ELEM_DIAG_60_DEG_UP + 102400, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 129024, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 129024, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 102400, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 111820, // TRACK_ELEM_DIAG_25_DEG_DOWN + 147456, // TRACK_ELEM_DIAG_60_DEG_DOWN + 102400, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 129024, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 129024, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 102400, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 107008, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP + 107008, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT + 107008, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN + 107008, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT + 96777, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 96777, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 96777, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 96777, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 106496, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 106496, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 106496, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 106496, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 106496, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 106496, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 106496, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 106496, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 96777, // TRACK_ELEM_DIAG_LEFT_BANK + 96777, // TRACK_ELEM_DIAG_RIGHT_BANK + 282624, // TRACK_ELEM_LOG_FLUME_REVERSER + 217088, // TRACK_ELEM_SPINNING_TUNNEL + 221184, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN + 221184, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN + 221184, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP + 221184, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP + 270226, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 270226, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 270226, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK + 270226, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK + 96384, // TRACK_ELEM_POWERED_LIFT + 884736, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP + 884736, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP + 884736, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN + 884736, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN + 221184, // TRACK_ELEM_LEFT_FLYER_TWIST_UP + 221184, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP + 221184, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN + 221184, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN + 294912, // TRACK_ELEM_FLYER_HALF_LOOP_UP + 294912, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN + 229376, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP + 229376, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP + 229376, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN + 229376, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN + 294912, // TRACK_ELEM_HEARTLINE_TRANSFER_UP + 294912, // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN + 417792, // TRACK_ELEM_LEFT_HEARTLINE_ROLL + 417792, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL + 159744, // TRACK_ELEM_MINI_GOLF_HOLE_A + 167936, // TRACK_ELEM_MINI_GOLF_HOLE_B + 172032, // TRACK_ELEM_MINI_GOLF_HOLE_C + 184320, // TRACK_ELEM_MINI_GOLF_HOLE_D + 184320, // TRACK_ELEM_MINI_GOLF_HOLE_E + 360448, // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + 360448, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP + 360448, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + 270226, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL + 270226, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL + 393216, // TRACK_ELEM_LEFT_REVERSER + 393216, // TRACK_ELEM_RIGHT_REVERSER + 65536, // TRACK_ELEM_AIR_THRUST_TOP_CAP + 65536, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN + 491520, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL + 94208, // TRACK_ELEM_BLOCK_BRAKES + 287115, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 287115, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 287115, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 287115, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 333259, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 333259, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 333259, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 333259, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 83968, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + 83968, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + 83968, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + 83968, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + 83968, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + 83968, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + 83968, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 83968, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 77824, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + 77824, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + 77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + 77824, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 77824, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + 77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + 77824, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + 77824, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + 77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + 77824, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 77824, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + 77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 151552, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP + 151552, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP + 151552, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 151552, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 360448, // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP + 360448, // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP + 360448, // }; /** rct2: 0x0099DE34 */ const money32 FlatRideTrackPricing[] = { - 65536, - 98304, - 98304, - 98304, - 79872, - 114688, - 73728, - 96256, - 96256, - 73728, - 79872, - 114688, - 73728, - 96256, - 96256, - 73728, - 257359, - 257359, - 69632, - 69632, - 69632, - 69632, - 273443, - 273443, - 78336, - 78336, - 78336, - 78336, - 78336, - 78336, - 78336, - 78336, - 69632, - 69632, - 313656, - 313656, - 313656, - 313656, - 229376, - 229376, - 491520, - 491520, - 154415, - 154415, - 164065, - 164065, - 270226, - 270226, - 270226, - 270226, - 51471, - 51471, - 212992, - 212992, - 212992, - 212992, - 294912, - 294912, - 229376, - 229376, - 229376, - 229376, - 98304, - 98304, - 98304, - 98304, - 524288, - 65536, - 69632, - 83968, - 118784, - 77824, - 100352, - 100352, - 77824, - 83968, - 118784, - 77824, - 100352, - 100352, - 77824, - 261455, - 261455, - 233472, - 233472, - 158511, - 158511, - 328192, - 328192, - 328192, - 328192, - 547072, - 547072, - 547072, - 547072, - 262144, // FLAT_TRACK_ELEM_1_X_4_A - 126976, - 126976, - 126976, - 90112, - 77824, - 65536, - 273539, - 273539, - 273539, - 273539, - 273539, - 273539, - 273539, - 273539, - 262144, // FLAT_TRACK_ELEM_2_X_2 - 1048576, // FLAT_TRACK_ELEM_4_X_4 - 143360, - 118784, - 196608, - 524288, - 327680, // FLAT_TRACK_ELEM_1_X_5 - 393216, - 65536, // FLAT_TRACK_ELEM_1_X_1_A - 262144, // FLAT_TRACK_ELEM_1_X_4_B - 126976, - 65536, // FLAT_TRACK_ELEM_1_X_1_B - 262144, // FLAT_TRACK_ELEM_1_X_4_C - 524288, // FLAT_TRACK_ELEM_3_X_3 - 491520, - 65536, - 69632, - 69632, - 114688, - 114688, - 114688, - 114688, - 147456, - 180151, - 180151, - 180151, - 180151, - 190960, - 190960, - 190960, - 190960, - 92681, - 111820, - 147456, - 102400, - 129024, - 129024, - 102400, - 111820, - 147456, - 102400, - 129024, - 129024, - 102400, - 107008, - 107008, - 107008, - 107008, - 96777, - 96777, - 96777, - 96777, - 106496, - 106496, - 106496, - 106496, - 106496, - 106496, - 106496, - 106496, - 96777, - 96777, - 282624, - 217088, - 221184, - 221184, - 221184, - 221184, - 270226, - 270226, - 270226, - 270226, - 96384, - 884736, - 884736, - 884736, - 884736, - 221184, - 221184, - 221184, - 221184, - 294912, - 294912, - 229376, - 229376, - 229376, - 229376, - 294912, - 294912, - 417792, - 417792, - 159744, - 167936, - 172032, - 184320, - 184320, - 159744, - 159744, - 159744, - 270226, - 270226, - 393216, - 393216, - 65536, - 65536, - 491520, - 94208, - 287115, - 287115, - 287115, - 287115, - 333259, - 333259, - 333259, - 333259, - 83968, - 83968, - 83968, - 83968, - 83968, - 83968, - 83968, - 83968, - 77824, - 77824, - 77824, - 77824, - 77824, - 77824, - 77824, - 77824, - 77824, - 77824, - 77824, - 77824, - 77824, - 77824, - 77824, - 77824, - 151552, - 151552, - 151552, - 151552, + 65536, + 98304, + 98304, + 98304, + 79872, + 114688, + 73728, + 96256, + 96256, + 73728, + 79872, + 114688, + 73728, + 96256, + 96256, + 73728, + 257359, + 257359, + 69632, + 69632, + 69632, + 69632, + 273443, + 273443, + 78336, + 78336, + 78336, + 78336, + 78336, + 78336, + 78336, + 78336, + 69632, + 69632, + 313656, + 313656, + 313656, + 313656, + 229376, + 229376, + 491520, + 491520, + 154415, + 154415, + 164065, + 164065, + 270226, + 270226, + 270226, + 270226, + 51471, + 51471, + 212992, + 212992, + 212992, + 212992, + 294912, + 294912, + 229376, + 229376, + 229376, + 229376, + 98304, + 98304, + 98304, + 98304, + 524288, + 65536, + 69632, + 83968, + 118784, + 77824, + 100352, + 100352, + 77824, + 83968, + 118784, + 77824, + 100352, + 100352, + 77824, + 261455, + 261455, + 233472, + 233472, + 158511, + 158511, + 328192, + 328192, + 328192, + 328192, + 547072, + 547072, + 547072, + 547072, + 262144, // FLAT_TRACK_ELEM_1_X_4_A + 126976, + 126976, + 126976, + 90112, + 77824, + 65536, + 273539, + 273539, + 273539, + 273539, + 273539, + 273539, + 273539, + 273539, + 262144, // FLAT_TRACK_ELEM_2_X_2 + 1048576, // FLAT_TRACK_ELEM_4_X_4 + 143360, + 118784, + 196608, + 524288, + 327680, // FLAT_TRACK_ELEM_1_X_5 + 393216, + 65536, // FLAT_TRACK_ELEM_1_X_1_A + 262144, // FLAT_TRACK_ELEM_1_X_4_B + 126976, + 65536, // FLAT_TRACK_ELEM_1_X_1_B + 262144, // FLAT_TRACK_ELEM_1_X_4_C + 524288, // FLAT_TRACK_ELEM_3_X_3 + 491520, + 65536, + 69632, + 69632, + 114688, + 114688, + 114688, + 114688, + 147456, + 180151, + 180151, + 180151, + 180151, + 190960, + 190960, + 190960, + 190960, + 92681, + 111820, + 147456, + 102400, + 129024, + 129024, + 102400, + 111820, + 147456, + 102400, + 129024, + 129024, + 102400, + 107008, + 107008, + 107008, + 107008, + 96777, + 96777, + 96777, + 96777, + 106496, + 106496, + 106496, + 106496, + 106496, + 106496, + 106496, + 106496, + 96777, + 96777, + 282624, + 217088, + 221184, + 221184, + 221184, + 221184, + 270226, + 270226, + 270226, + 270226, + 96384, + 884736, + 884736, + 884736, + 884736, + 221184, + 221184, + 221184, + 221184, + 294912, + 294912, + 229376, + 229376, + 229376, + 229376, + 294912, + 294912, + 417792, + 417792, + 159744, + 167936, + 172032, + 184320, + 184320, + 159744, + 159744, + 159744, + 270226, + 270226, + 393216, + 393216, + 65536, + 65536, + 491520, + 94208, + 287115, + 287115, + 287115, + 287115, + 333259, + 333259, + 333259, + 333259, + 83968, + 83968, + 83968, + 83968, + 83968, + 83968, + 83968, + 83968, + 77824, + 77824, + 77824, + 77824, + 77824, + 77824, + 77824, + 77824, + 77824, + 77824, + 77824, + 77824, + 77824, + 77824, + 77824, + 77824, + 151552, + 151552, + 151552, + 151552, }; /** rct2: 0x0099E228, 0x0099E229, 0x0099E22A, 0x0099E22B */ const dodgems_track_size DodgemsTrackSize[] = { - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 4, 4, 59, 59 }, // FLAT_TRACK_ELEM_2_X_2 - { 4, 4, 123, 123 }, // FLAT_TRACK_ELEM_4_X_4 - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 4, 4, 59, 123 }, // 115 - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 4, 4, 59, 59 }, // FLAT_TRACK_ELEM_2_X_2 + { 4, 4, 123, 123 }, // FLAT_TRACK_ELEM_4_X_4 + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 4, 4, 59, 123 }, // 115 + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, }; /** rct2: 0x0099EA1C */ const uint8 TrackElementMirrorMap[] = { - TRACK_ELEM_FLAT, - TRACK_ELEM_END_STATION, - TRACK_ELEM_BEGIN_STATION, - TRACK_ELEM_MIDDLE_STATION, - TRACK_ELEM_25_DEG_UP, - TRACK_ELEM_60_DEG_UP, - TRACK_ELEM_FLAT_TO_25_DEG_UP, - TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP, - TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP, - TRACK_ELEM_25_DEG_UP_TO_FLAT, - TRACK_ELEM_25_DEG_DOWN, - TRACK_ELEM_60_DEG_DOWN, - TRACK_ELEM_FLAT_TO_25_DEG_DOWN, - TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN, - TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN, - TRACK_ELEM_25_DEG_DOWN_TO_FLAT, - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - TRACK_ELEM_FLAT_TO_RIGHT_BANK, // TRACK_ELEM_FLAT_TO_LEFT_BANK - TRACK_ELEM_FLAT_TO_LEFT_BANK, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - TRACK_ELEM_RIGHT_BANK_TO_FLAT, // TRACK_ELEM_LEFT_BANK_TO_FLAT - TRACK_ELEM_LEFT_BANK_TO_FLAT, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - TRACK_ELEM_RIGHT_BANK, // TRACK_ELEM_LEFT_BANK - TRACK_ELEM_LEFT_BANK, // TRACK_ELEM_RIGHT_BANK - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - TRACK_ELEM_S_BEND_RIGHT, // TRACK_ELEM_S_BEND_LEFT - TRACK_ELEM_S_BEND_LEFT, // TRACK_ELEM_S_BEND_RIGHT - TRACK_ELEM_RIGHT_VERTICAL_LOOP, // TRACK_ELEM_LEFT_VERTICAL_LOOP - TRACK_ELEM_LEFT_VERTICAL_LOOP, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - TRACK_ELEM_HALF_LOOP_UP, - TRACK_ELEM_HALF_LOOP_DOWN, - TRACK_ELEM_RIGHT_CORKSCREW_UP, // TRACK_ELEM_LEFT_CORKSCREW_UP - TRACK_ELEM_LEFT_CORKSCREW_UP, // TRACK_ELEM_RIGHT_CORKSCREW_UP - TRACK_ELEM_RIGHT_CORKSCREW_DOWN, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - TRACK_ELEM_LEFT_CORKSCREW_DOWN, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - TRACK_ELEM_FLAT_TO_60_DEG_UP, - TRACK_ELEM_60_DEG_UP_TO_FLAT, - TRACK_ELEM_FLAT_TO_60_DEG_DOWN, - TRACK_ELEM_60_DEG_DOWN_TO_FLAT, - TRACK_ELEM_TOWER_BASE, - TRACK_ELEM_TOWER_SECTION, - TRACK_ELEM_FLAT_COVERED, - TRACK_ELEM_25_DEG_UP_COVERED, - TRACK_ELEM_60_DEG_UP_COVERED, - TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED, - TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED, - TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED, - TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED, - TRACK_ELEM_25_DEG_DOWN_COVERED, - TRACK_ELEM_60_DEG_DOWN_COVERED, - TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED, - TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED, - TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED, - TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED, - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - TRACK_ELEM_S_BEND_RIGHT_COVERED, // TRACK_ELEM_S_BEND_LEFT_COVERED - TRACK_ELEM_S_BEND_LEFT_COVERED, // TRACK_ELEM_S_BEND_RIGHT_COVERED - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - TRACK_ELEM_BRAKES, - TRACK_ELEM_ROTATION_CONTROL_TOGGLE, - TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP, - TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP - TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - TRACK_ELEM_25_DEG_UP_RIGHT_BANKED, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - TRACK_ELEM_25_DEG_UP_LEFT_BANKED, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - TRACK_ELEM_WATERFALL, - TRACK_ELEM_RAPIDS, - TRACK_ELEM_ON_RIDE_PHOTO, - TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - TRACK_ELEM_WATER_SPLASH, - TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE, - TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE, - TRACK_ELEM_WHIRLPOOL, - TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE, - TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122, - TRACK_ELEM_CABLE_LIFT_HILL, - TRACK_ELEM_REVERSE_FREEFALL_SLOPE, - TRACK_ELEM_REVERSE_FREEFALL_VERTICAL, - TRACK_ELEM_90_DEG_UP, - TRACK_ELEM_90_DEG_DOWN, - TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP, - TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN, - TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP, - TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN, - TRACK_ELEM_BRAKE_FOR_DROP, - TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - TRACK_ELEM_LEFT_EIGHTH_TO_DIAG, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - TRACK_ELEM_DIAG_FLAT, - TRACK_ELEM_DIAG_25_DEG_UP, - TRACK_ELEM_DIAG_60_DEG_UP, - TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP, - TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP, - TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP, - TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT, - TRACK_ELEM_DIAG_25_DEG_DOWN, - TRACK_ELEM_DIAG_60_DEG_DOWN, - TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN, - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN, - TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN, - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT, - TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP, - TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT, - TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN, - TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT, - TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - TRACK_ELEM_DIAG_RIGHT_BANK, // TRACK_ELEM_DIAG_LEFT_BANK - TRACK_ELEM_DIAG_LEFT_BANK, // TRACK_ELEM_DIAG_RIGHT_BANK - TRACK_ELEM_LOG_FLUME_REVERSER, - TRACK_ELEM_SPINNING_TUNNEL, - TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - TRACK_ELEM_POWERED_LIFT, - TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN - TRACK_ELEM_RIGHT_FLYER_TWIST_UP, // TRACK_ELEM_LEFT_FLYER_TWIST_UP - TRACK_ELEM_LEFT_FLYER_TWIST_UP, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - TRACK_ELEM_LEFT_FLYER_TWIST_DOWN, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - TRACK_ELEM_FLYER_HALF_LOOP_UP, - TRACK_ELEM_FLYER_HALF_LOOP_DOWN, - TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP - TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP - TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN - TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN - TRACK_ELEM_HEARTLINE_TRANSFER_UP, - TRACK_ELEM_HEARTLINE_TRANSFER_DOWN, - TRACK_ELEM_RIGHT_HEARTLINE_ROLL, // TRACK_ELEM_LEFT_HEARTLINE_ROLL - TRACK_ELEM_LEFT_HEARTLINE_ROLL, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL - TRACK_ELEM_MINI_GOLF_HOLE_A, - TRACK_ELEM_MINI_GOLF_HOLE_B, - TRACK_ELEM_MINI_GOLF_HOLE_C, - TRACK_ELEM_MINI_GOLF_HOLE_E, // TRACK_ELEM_MINI_GOLF_HOLE_D - TRACK_ELEM_MINI_GOLF_HOLE_D, // TRACK_ELEM_MINI_GOLF_HOLE_E - TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, - TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP, - TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, - TRACK_ELEM_RIGHT_CURVED_LIFT_HILL, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL - TRACK_ELEM_LEFT_CURVED_LIFT_HILL, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL - TRACK_ELEM_RIGHT_REVERSER, // TRACK_ELEM_LEFT_REVERSER - TRACK_ELEM_LEFT_REVERSER, // TRACK_ELEM_RIGHT_REVERSER - TRACK_ELEM_AIR_THRUST_TOP_CAP, - TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN, - TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL, - TRACK_ELEM_BLOCK_BRAKES, - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP, - TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP, - 255, + TRACK_ELEM_FLAT, + TRACK_ELEM_END_STATION, + TRACK_ELEM_BEGIN_STATION, + TRACK_ELEM_MIDDLE_STATION, + TRACK_ELEM_25_DEG_UP, + TRACK_ELEM_60_DEG_UP, + TRACK_ELEM_FLAT_TO_25_DEG_UP, + TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP, + TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP, + TRACK_ELEM_25_DEG_UP_TO_FLAT, + TRACK_ELEM_25_DEG_DOWN, + TRACK_ELEM_60_DEG_DOWN, + TRACK_ELEM_FLAT_TO_25_DEG_DOWN, + TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN, + TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN, + TRACK_ELEM_25_DEG_DOWN_TO_FLAT, + TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + TRACK_ELEM_FLAT_TO_RIGHT_BANK, // TRACK_ELEM_FLAT_TO_LEFT_BANK + TRACK_ELEM_FLAT_TO_LEFT_BANK, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + TRACK_ELEM_RIGHT_BANK_TO_FLAT, // TRACK_ELEM_LEFT_BANK_TO_FLAT + TRACK_ELEM_LEFT_BANK_TO_FLAT, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + TRACK_ELEM_RIGHT_BANK, // TRACK_ELEM_LEFT_BANK + TRACK_ELEM_LEFT_BANK, // TRACK_ELEM_RIGHT_BANK + TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + TRACK_ELEM_S_BEND_RIGHT, // TRACK_ELEM_S_BEND_LEFT + TRACK_ELEM_S_BEND_LEFT, // TRACK_ELEM_S_BEND_RIGHT + TRACK_ELEM_RIGHT_VERTICAL_LOOP, // TRACK_ELEM_LEFT_VERTICAL_LOOP + TRACK_ELEM_LEFT_VERTICAL_LOOP, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP + TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP + TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN + TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN + TRACK_ELEM_HALF_LOOP_UP, + TRACK_ELEM_HALF_LOOP_DOWN, + TRACK_ELEM_RIGHT_CORKSCREW_UP, // TRACK_ELEM_LEFT_CORKSCREW_UP + TRACK_ELEM_LEFT_CORKSCREW_UP, // TRACK_ELEM_RIGHT_CORKSCREW_UP + TRACK_ELEM_RIGHT_CORKSCREW_DOWN, // TRACK_ELEM_LEFT_CORKSCREW_DOWN + TRACK_ELEM_LEFT_CORKSCREW_DOWN, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + TRACK_ELEM_FLAT_TO_60_DEG_UP, + TRACK_ELEM_60_DEG_UP_TO_FLAT, + TRACK_ELEM_FLAT_TO_60_DEG_DOWN, + TRACK_ELEM_60_DEG_DOWN_TO_FLAT, + TRACK_ELEM_TOWER_BASE, + TRACK_ELEM_TOWER_SECTION, + TRACK_ELEM_FLAT_COVERED, + TRACK_ELEM_25_DEG_UP_COVERED, + TRACK_ELEM_60_DEG_UP_COVERED, + TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED, + TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED, + TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED, + TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED, + TRACK_ELEM_25_DEG_DOWN_COVERED, + TRACK_ELEM_60_DEG_DOWN_COVERED, + TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED, + TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED, + TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED, + TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED, + TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED + TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED + TRACK_ELEM_S_BEND_RIGHT_COVERED, // TRACK_ELEM_S_BEND_LEFT_COVERED + TRACK_ELEM_S_BEND_LEFT_COVERED, // TRACK_ELEM_S_BEND_RIGHT_COVERED + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED + TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + TRACK_ELEM_BRAKES, + TRACK_ELEM_ROTATION_CONTROL_TOGGLE, + TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP, + TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP + TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP + TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN + TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP + TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP + TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN + TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN + TRACK_ELEM_25_DEG_UP_RIGHT_BANKED, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + TRACK_ELEM_25_DEG_UP_LEFT_BANKED, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + TRACK_ELEM_WATERFALL, + TRACK_ELEM_RAPIDS, + TRACK_ELEM_ON_RIDE_PHOTO, + TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + TRACK_ELEM_WATER_SPLASH, + TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE, + TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE, + TRACK_ELEM_WHIRLPOOL, + TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE, + TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122, + TRACK_ELEM_CABLE_LIFT_HILL, + TRACK_ELEM_REVERSE_FREEFALL_SLOPE, + TRACK_ELEM_REVERSE_FREEFALL_VERTICAL, + TRACK_ELEM_90_DEG_UP, + TRACK_ELEM_90_DEG_DOWN, + TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP, + TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN, + TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP, + TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN, + TRACK_ELEM_BRAKE_FOR_DROP, + TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + TRACK_ELEM_LEFT_EIGHTH_TO_DIAG, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + TRACK_ELEM_DIAG_FLAT, + TRACK_ELEM_DIAG_25_DEG_UP, + TRACK_ELEM_DIAG_60_DEG_UP, + TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP, + TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP, + TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP, + TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT, + TRACK_ELEM_DIAG_25_DEG_DOWN, + TRACK_ELEM_DIAG_60_DEG_DOWN, + TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN, + TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN, + TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN, + TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT, + TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP, + TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT, + TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN, + TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT, + TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + TRACK_ELEM_DIAG_RIGHT_BANK, // TRACK_ELEM_DIAG_LEFT_BANK + TRACK_ELEM_DIAG_LEFT_BANK, // TRACK_ELEM_DIAG_RIGHT_BANK + TRACK_ELEM_LOG_FLUME_REVERSER, + TRACK_ELEM_SPINNING_TUNNEL, + TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN + TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN + TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP + TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP + TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK + TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK + TRACK_ELEM_POWERED_LIFT, + TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP + TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP + TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN + TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN + TRACK_ELEM_RIGHT_FLYER_TWIST_UP, // TRACK_ELEM_LEFT_FLYER_TWIST_UP + TRACK_ELEM_LEFT_FLYER_TWIST_UP, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP + TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN + TRACK_ELEM_LEFT_FLYER_TWIST_DOWN, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN + TRACK_ELEM_FLYER_HALF_LOOP_UP, + TRACK_ELEM_FLYER_HALF_LOOP_DOWN, + TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP + TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP + TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN + TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN + TRACK_ELEM_HEARTLINE_TRANSFER_UP, + TRACK_ELEM_HEARTLINE_TRANSFER_DOWN, + TRACK_ELEM_RIGHT_HEARTLINE_ROLL, // TRACK_ELEM_LEFT_HEARTLINE_ROLL + TRACK_ELEM_LEFT_HEARTLINE_ROLL, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL + TRACK_ELEM_MINI_GOLF_HOLE_A, + TRACK_ELEM_MINI_GOLF_HOLE_B, + TRACK_ELEM_MINI_GOLF_HOLE_C, + TRACK_ELEM_MINI_GOLF_HOLE_E, // TRACK_ELEM_MINI_GOLF_HOLE_D + TRACK_ELEM_MINI_GOLF_HOLE_D, // TRACK_ELEM_MINI_GOLF_HOLE_E + TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, + TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP, + TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, + TRACK_ELEM_RIGHT_CURVED_LIFT_HILL, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL + TRACK_ELEM_LEFT_CURVED_LIFT_HILL, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL + TRACK_ELEM_RIGHT_REVERSER, // TRACK_ELEM_LEFT_REVERSER + TRACK_ELEM_LEFT_REVERSER, // TRACK_ELEM_RIGHT_REVERSER + TRACK_ELEM_AIR_THRUST_TOP_CAP, + TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN, + TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL, + TRACK_ELEM_BLOCK_BRAKES, + TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP + TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP + TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN + TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP, + TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP, + 255, }; /** rct2: 0x00999694 */ const uint32 TrackHeightMarkerPositions[256] = { - (1 << 0), // TRACK_ELEM_FLAT - (1 << 0), // TRACK_ELEM_END_STATION - (1 << 0), // TRACK_ELEM_BEGIN_STATION - (1 << 0), // TRACK_ELEM_MIDDLE_STATION - (1 << 0), // TRACK_ELEM_25_DEG_UP - (1 << 0), // TRACK_ELEM_60_DEG_UP - (1 << 0), // TRACK_ELEM_FLAT_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - (1 << 0), // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_FLAT - (1 << 0), // TRACK_ELEM_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_60_DEG_DOWN - (1 << 0), // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - (1 << 0), // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - (1 << 0), // TRACK_ELEM_FLAT_TO_LEFT_BANK - (1 << 0), // TRACK_ELEM_FLAT_TO_RIGHT_BANK - (1 << 0), // TRACK_ELEM_LEFT_BANK_TO_FLAT - (1 << 0), // TRACK_ELEM_RIGHT_BANK_TO_FLAT - (1 << 0) | (1 << 6), // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - (1 << 0) | (1 << 6), // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - (1 << 0), // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - (1 << 0), // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - (1 << 0), // TRACK_ELEM_LEFT_BANK - (1 << 0), // TRACK_ELEM_RIGHT_BANK - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_S_BEND_LEFT - (1 << 0) | (1 << 3), // TRACK_ELEM_S_BEND_RIGHT - (1 << 0) | (1 << 9), // TRACK_ELEM_LEFT_VERTICAL_LOOP - (1 << 0) | (1 << 9), // TRACK_ELEM_RIGHT_VERTICAL_LOOP - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_HALF_LOOP_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_HALF_LOOP_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_CORKSCREW_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_CORKSCREW_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_CORKSCREW_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - (1 << 0), // TRACK_ELEM_FLAT_TO_60_DEG_UP - (1 << 0), // TRACK_ELEM_60_DEG_UP_TO_FLAT - (1 << 0), // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - (1 << 0), // TRACK_ELEM_60_DEG_DOWN_TO_FLAT - (1 << 1) | (1 << 3) | (1 << 6) | (1 << 7), // TRACK_ELEM_TOWER_BASE - (1 << 0), // TRACK_ELEM_TOWER_SECTION - (1 << 0), // TRACK_ELEM_FLAT_COVERED - (1 << 0), // TRACK_ELEM_25_DEG_UP_COVERED - (1 << 0), // TRACK_ELEM_60_DEG_UP_COVERED - (1 << 0), // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED - (1 << 0), // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_COVERED - (1 << 0), // TRACK_ELEM_60_DEG_DOWN_COVERED - (1 << 0), // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED - (1 << 0), // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - (1 << 0) | (1 << 3), // TRACK_ELEM_S_BEND_LEFT_COVERED - (1 << 0) | (1 << 3), // TRACK_ELEM_S_BEND_RIGHT_COVERED - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - (1 << 0) | (1 << 7), // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - (1 << 0) | (1 << 7), // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - (1 << 0) | (1 << 7), // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - (1 << 0) | (1 << 7), // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - (1 << 0) | (1 << 13), // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - (1 << 0) | (1 << 13), // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - (1 << 0) | (1 << 13), // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - (1 << 0) | (1 << 13), // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - (1 << 0), // TRACK_ELEM_BRAKES - (1 << 0), // TRACK_ELEM_ROTATION_CONTROL_TOGGLE - (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) | (1 << 7) | (1 << 8) | (1 << 9) | (1 << 10) | (1 << 11) | (1 << 12) | (1 << 13) | (1 << 14) | (1 << 15), // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - (1 << 0), // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - (1 << 0) | (1 << 3) | (1 << 12) | (1 << 15), // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - (1 << 0), // TRACK_ELEM_WATERFALL - (1 << 0), // TRACK_ELEM_RAPIDS - (1 << 0), // TRACK_ELEM_ON_RIDE_PHOTO - (1 << 0) | (1 << 7), // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - (1 << 0) | (1 << 4), // TRACK_ELEM_WATER_SPLASH - (1 << 0) | (1 << 3), // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - (1 << 0) | (1 << 3), // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - (1 << 0), // TRACK_ELEM_WHIRLPOOL - (1 << 0) | (1 << 3), // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - (1 << 0) | (1 << 3), // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - (1 << 0) | (1 << 3), // TRACK_ELEM_CABLE_LIFT_HILL - (1 << 0) | (1 << 5), // TRACK_ELEM_REVERSE_FREEFALL_SLOPE - (1 << 0), // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL - (1 << 0), // TRACK_ELEM_90_DEG_UP - (1 << 0), // TRACK_ELEM_90_DEG_DOWN - (1 << 0), // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - (1 << 0), // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - (1 << 0), // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - (1 << 0), // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - (1 << 0), // TRACK_ELEM_BRAKE_FOR_DROP - (1 << 0) | (1 << 4), // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - (1 << 0) | (1 << 4), // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - (1 << 0) | (1 << 4), // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - (1 << 0) | (1 << 4), // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - (1 << 0) | (1 << 4), // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - (1 << 0) | (1 << 4), // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - (1 << 0) | (1 << 4), // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - (1 << 0) | (1 << 4), // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - (1 << 0), // TRACK_ELEM_DIAG_FLAT - (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_60_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_60_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - (1 << 0), // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT - (1 << 3), // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT - (1 << 0), // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - (1 << 0), // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - (1 << 0), // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - (1 << 0), // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - (1 << 0), // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - (1 << 3), // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - (1 << 0), // TRACK_ELEM_DIAG_LEFT_BANK - (1 << 0), // TRACK_ELEM_DIAG_RIGHT_BANK - (1 << 0), // TRACK_ELEM_LOG_FLUME_REVERSER - (1 << 0), // TRACK_ELEM_SPINNING_TUNNEL - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - (1 << 0), // TRACK_ELEM_POWERED_LIFT - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_FLYER_TWIST_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_FLYER_HALF_LOOP_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_FLYER_HALF_LOOP_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_HEARTLINE_TRANSFER_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN - (1 << 0) | (1 << 5), // TRACK_ELEM_LEFT_HEARTLINE_ROLL - (1 << 0) | (1 << 5), // TRACK_ELEM_RIGHT_HEARTLINE_ROLL - (1 << 0) | (1 << 1), // TRACK_ELEM_MINI_GOLF_HOLE_A - (1 << 0) | (1 << 1), // TRACK_ELEM_MINI_GOLF_HOLE_B - (1 << 0) | (1 << 1), // TRACK_ELEM_MINI_GOLF_HOLE_C - (1 << 0) | (1 << 2), // TRACK_ELEM_MINI_GOLF_HOLE_D - (1 << 0) | (1 << 2), // TRACK_ELEM_MINI_GOLF_HOLE_E - (1 << 0) | (1 << 2), // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_CURVED_LIFT_HILL - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL - (1 << 0) | (1 << 5), // TRACK_ELEM_LEFT_REVERSER - (1 << 0) | (1 << 5), // TRACK_ELEM_RIGHT_REVERSER - (1 << 0) | (1 << 3), // TRACK_ELEM_AIR_THRUST_TOP_CAP - (1 << 0), // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN - (1 << 0) | (1 << 5), // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL - (1 << 0), // TRACK_ELEM_BLOCK_BRAKES - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - (1 << 0), // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - (1 << 0), // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - (1 << 0), // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - (1 << 0), // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP - (1 << 0) | (1 << 2), // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP - (1 << 0) | (1 << 2), // 255 + (1 << 0), // TRACK_ELEM_FLAT + (1 << 0), // TRACK_ELEM_END_STATION + (1 << 0), // TRACK_ELEM_BEGIN_STATION + (1 << 0), // TRACK_ELEM_MIDDLE_STATION + (1 << 0), // TRACK_ELEM_25_DEG_UP + (1 << 0), // TRACK_ELEM_60_DEG_UP + (1 << 0), // TRACK_ELEM_FLAT_TO_25_DEG_UP + (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + (1 << 0), // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_FLAT + (1 << 0), // TRACK_ELEM_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_60_DEG_DOWN + (1 << 0), // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + (1 << 0), // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + (1 << 0), // TRACK_ELEM_FLAT_TO_LEFT_BANK + (1 << 0), // TRACK_ELEM_FLAT_TO_RIGHT_BANK + (1 << 0), // TRACK_ELEM_LEFT_BANK_TO_FLAT + (1 << 0), // TRACK_ELEM_RIGHT_BANK_TO_FLAT + (1 << 0) | (1 << 6), // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + (1 << 0) | (1 << 6), // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + (1 << 0), // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + (1 << 0), // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + (1 << 0), // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + (1 << 0), // TRACK_ELEM_LEFT_BANK + (1 << 0), // TRACK_ELEM_RIGHT_BANK + (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + (1 << 0) | (1 << 3), // TRACK_ELEM_S_BEND_LEFT + (1 << 0) | (1 << 3), // TRACK_ELEM_S_BEND_RIGHT + (1 << 0) | (1 << 9), // TRACK_ELEM_LEFT_VERTICAL_LOOP + (1 << 0) | (1 << 9), // TRACK_ELEM_RIGHT_VERTICAL_LOOP + (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP + (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP + (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN + (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN + (1 << 0) | (1 << 3), // TRACK_ELEM_HALF_LOOP_UP + (1 << 0) | (1 << 3), // TRACK_ELEM_HALF_LOOP_DOWN + (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_CORKSCREW_UP + (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_CORKSCREW_UP + (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_CORKSCREW_DOWN + (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + (1 << 0), // TRACK_ELEM_FLAT_TO_60_DEG_UP + (1 << 0), // TRACK_ELEM_60_DEG_UP_TO_FLAT + (1 << 0), // TRACK_ELEM_FLAT_TO_60_DEG_DOWN + (1 << 0), // TRACK_ELEM_60_DEG_DOWN_TO_FLAT + (1 << 1) | (1 << 3) | (1 << 6) | (1 << 7), // TRACK_ELEM_TOWER_BASE + (1 << 0), // TRACK_ELEM_TOWER_SECTION + (1 << 0), // TRACK_ELEM_FLAT_COVERED + (1 << 0), // TRACK_ELEM_25_DEG_UP_COVERED + (1 << 0), // TRACK_ELEM_60_DEG_UP_COVERED + (1 << 0), // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED + (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED + (1 << 0), // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED + (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED + (1 << 0), // TRACK_ELEM_25_DEG_DOWN_COVERED + (1 << 0), // TRACK_ELEM_60_DEG_DOWN_COVERED + (1 << 0), // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED + (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED + (1 << 0), // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED + (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED + (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED + (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED + (1 << 0) | (1 << 3), // TRACK_ELEM_S_BEND_LEFT_COVERED + (1 << 0) | (1 << 3), // TRACK_ELEM_S_BEND_RIGHT_COVERED + (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED + (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED + (1 << 0) | (1 << 7), // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + (1 << 0) | (1 << 7), // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + (1 << 0) | (1 << 7), // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + (1 << 0) | (1 << 7), // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + (1 << 0) | (1 << 13), // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + (1 << 0) | (1 << 13), // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + (1 << 0) | (1 << 13), // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + (1 << 0) | (1 << 13), // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + (1 << 0), // TRACK_ELEM_BRAKES + (1 << 0), // TRACK_ELEM_ROTATION_CONTROL_TOGGLE + (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) | (1 << 7) | (1 << 8) | (1 << 9) | (1 << 10) | (1 << 11) | (1 << 12) | (1 << 13) | (1 << 14) | (1 << 15), // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP + (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP + (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP + (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN + (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP + (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP + (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN + (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN + (1 << 0), // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + (1 << 0) | (1 << 3) | (1 << 12) | (1 << 15), // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + (1 << 0), // TRACK_ELEM_WATERFALL + (1 << 0), // TRACK_ELEM_RAPIDS + (1 << 0), // TRACK_ELEM_ON_RIDE_PHOTO + (1 << 0) | (1 << 7), // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + (1 << 0), // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + (1 << 0) | (1 << 4), // TRACK_ELEM_WATER_SPLASH + (1 << 0) | (1 << 3), // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE + (1 << 0) | (1 << 3), // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE + (1 << 0), // TRACK_ELEM_WHIRLPOOL + (1 << 0) | (1 << 3), // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE + (1 << 0) | (1 << 3), // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 + (1 << 0) | (1 << 3), // TRACK_ELEM_CABLE_LIFT_HILL + (1 << 0) | (1 << 5), // TRACK_ELEM_REVERSE_FREEFALL_SLOPE + (1 << 0), // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL + (1 << 0), // TRACK_ELEM_90_DEG_UP + (1 << 0), // TRACK_ELEM_90_DEG_DOWN + (1 << 0), // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP + (1 << 0), // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN + (1 << 0), // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP + (1 << 0), // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + (1 << 0), // TRACK_ELEM_BRAKE_FOR_DROP + (1 << 0) | (1 << 4), // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + (1 << 0) | (1 << 4), // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + (1 << 0) | (1 << 4), // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + (1 << 0) | (1 << 4), // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + (1 << 0) | (1 << 4), // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + (1 << 0) | (1 << 4), // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + (1 << 0) | (1 << 4), // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + (1 << 0) | (1 << 4), // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + (1 << 0), // TRACK_ELEM_DIAG_FLAT + (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP + (1 << 0), // TRACK_ELEM_DIAG_60_DEG_UP + (1 << 0), // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + (1 << 0), // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN + (1 << 3), // TRACK_ELEM_DIAG_60_DEG_DOWN + (1 << 3), // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + (1 << 3), // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + (1 << 0), // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP + (1 << 0), // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT + (1 << 3), // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN + (1 << 3), // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT + (1 << 0), // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + (1 << 0), // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + (1 << 0), // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + (1 << 0), // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + (1 << 0), // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + (1 << 0), // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + (1 << 3), // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + (1 << 3), // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + (1 << 0), // TRACK_ELEM_DIAG_LEFT_BANK + (1 << 0), // TRACK_ELEM_DIAG_RIGHT_BANK + (1 << 0), // TRACK_ELEM_LOG_FLUME_REVERSER + (1 << 0), // TRACK_ELEM_SPINNING_TUNNEL + (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN + (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN + (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP + (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP + (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK + (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK + (1 << 0), // TRACK_ELEM_POWERED_LIFT + (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP + (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP + (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN + (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN + (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_FLYER_TWIST_UP + (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_FLYER_TWIST_UP + (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN + (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN + (1 << 0) | (1 << 3), // TRACK_ELEM_FLYER_HALF_LOOP_UP + (1 << 0) | (1 << 3), // TRACK_ELEM_FLYER_HALF_LOOP_DOWN + (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP + (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP + (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN + (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN + (1 << 0) | (1 << 3), // TRACK_ELEM_HEARTLINE_TRANSFER_UP + (1 << 0) | (1 << 3), // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN + (1 << 0) | (1 << 5), // TRACK_ELEM_LEFT_HEARTLINE_ROLL + (1 << 0) | (1 << 5), // TRACK_ELEM_RIGHT_HEARTLINE_ROLL + (1 << 0) | (1 << 1), // TRACK_ELEM_MINI_GOLF_HOLE_A + (1 << 0) | (1 << 1), // TRACK_ELEM_MINI_GOLF_HOLE_B + (1 << 0) | (1 << 1), // TRACK_ELEM_MINI_GOLF_HOLE_C + (1 << 0) | (1 << 2), // TRACK_ELEM_MINI_GOLF_HOLE_D + (1 << 0) | (1 << 2), // TRACK_ELEM_MINI_GOLF_HOLE_E + (1 << 0) | (1 << 2), // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + (1 << 0) | (1 << 2), // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP + (1 << 0) | (1 << 2), // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_CURVED_LIFT_HILL + (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL + (1 << 0) | (1 << 5), // TRACK_ELEM_LEFT_REVERSER + (1 << 0) | (1 << 5), // TRACK_ELEM_RIGHT_REVERSER + (1 << 0) | (1 << 3), // TRACK_ELEM_AIR_THRUST_TOP_CAP + (1 << 0), // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN + (1 << 0) | (1 << 5), // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL + (1 << 0), // TRACK_ELEM_BLOCK_BRAKES + (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + (1 << 0), // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + (1 << 0), // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + (1 << 0), // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + (1 << 0), // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + (1 << 0), // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP + (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP + (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN + (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + (1 << 0) | (1 << 2), // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP + (1 << 0) | (1 << 2), // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP + (1 << 0) | (1 << 2), // 255 }; /** rct2: 0x00999A94 */ const uint8 TrackSequenceElementAllowedWallEdges[][16] = { - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_END_STATION - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BEGIN_STATION - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MIDDLE_STATION - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_LEFT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK_TO_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - { 0b1010, 0b0011, 0b1100, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_S_BEND_LEFT - { 0b1010, 0b1001, 0b0110, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_S_BEND_RIGHT - { 0b0010, 0b0010, 0b0011, 0, 0, 0, 0, 0b1100, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_VERTICAL_LOOP - { 0b1000, 0b1000, 0b1001, 0, 0, 0, 0, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_HALF_LOOP_UP - { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_HALF_LOOP_DOWN - { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_CORKSCREW_UP - { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_CORKSCREW_UP - { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_60_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_TOWER_BASE - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_TOWER_SECTION - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - { 0b1010, 0b0011, 0b1100, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_S_BEND_LEFT_COVERED - { 0b1010, 0b1001, 0b0110, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_S_BEND_RIGHT_COVERED - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - { 0b0010, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - { 0b1000, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - { 0b0010, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - { 0b1000, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b1000, 0, 0 }, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0010, 0, 0 }, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b1000, 0, 0 }, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0010, 0, 0 }, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BRAKES - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_WATERFALL - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RAPIDS - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_ON_RIDE_PHOTO - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_WATER_SPLASH - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_WHIRLPOOL - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_CABLE_LIFT_HILL - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_UP - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_DOWN - { 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - { 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - { 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - { 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BRAKE_FOR_DROP - { 0b0010, 0b0010, 0b1000, 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - { 0b1000, 0b1000, 0b0010, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - { 0, 0b1000, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - { 0, 0b0100, 0b1001, 0b0001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - { 0b0010, 0b0010, 0b1000, 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - { 0b1000, 0b1000, 0b0010, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - { 0, 0b1000, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - { 0, 0b0100, 0b1001, 0b0001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_LEFT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_RIGHT_BANK - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LOG_FLUME_REVERSER - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_SPINNING_TUNNEL - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_POWERED_LIFT - { 0b1010, 0b1010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - { 0b1010, 0b1010, 0b1000, 0b1001, 0b0011, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - { 0b0010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_FLYER_TWIST_UP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLYER_HALF_LOOP_UP - { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN - { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP - { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP - { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN - { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_HEARTLINE_TRANSFER_UP - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_HEARTLINE_ROLL - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_A - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_B - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_C - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_D - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_E - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_REVERSER - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_REVERSER - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_AIR_THRUST_TOP_CAP - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BLOCK_BRAKES - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 255 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_END_STATION + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BEGIN_STATION + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MIDDLE_STATION + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_FLAT + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_LEFT_BANK + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK_TO_FLAT + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + { 0b1010, 0b0011, 0b1100, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_S_BEND_LEFT + { 0b1010, 0b1001, 0b0110, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_S_BEND_RIGHT + { 0b0010, 0b0010, 0b0011, 0, 0, 0, 0, 0b1100, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_VERTICAL_LOOP + { 0b1000, 0b1000, 0b1001, 0, 0, 0, 0, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN + { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_HALF_LOOP_UP + { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_HALF_LOOP_DOWN + { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_CORKSCREW_UP + { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_CORKSCREW_UP + { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_CORKSCREW_DOWN + { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_60_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_FLAT + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_TOWER_BASE + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_TOWER_SECTION + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_COVERED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_COVERED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_COVERED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_COVERED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_COVERED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED + { 0b1010, 0b0011, 0b1100, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_S_BEND_LEFT_COVERED + { 0b1010, 0b1001, 0b0110, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_S_BEND_RIGHT_COVERED + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED + { 0b0010, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + { 0b1000, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + { 0b0010, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + { 0b1000, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b1000, 0, 0 }, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0010, 0, 0 }, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b1000, 0, 0 }, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0010, 0, 0 }, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BRAKES + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_WATERFALL + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RAPIDS + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_ON_RIDE_PHOTO + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_WATER_SPLASH + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_WHIRLPOOL + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_CABLE_LIFT_HILL + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_UP + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_DOWN + { 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP + { 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN + { 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP + { 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BRAKE_FOR_DROP + { 0b0010, 0b0010, 0b1000, 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + { 0b1000, 0b1000, 0b0010, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + { 0, 0b1000, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + { 0, 0b0100, 0b1001, 0b0001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + { 0b0010, 0b0010, 0b1000, 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + { 0b1000, 0b1000, 0b0010, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + { 0, 0b1000, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + { 0, 0b0100, 0b1001, 0b0001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_UP + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_DOWN + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_LEFT_BANK + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_RIGHT_BANK + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LOG_FLUME_REVERSER + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_SPINNING_TUNNEL + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_POWERED_LIFT + { 0b1010, 0b1010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP + { 0b1010, 0b1010, 0b1000, 0b1001, 0b0011, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP + { 0b0010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN + { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_FLYER_TWIST_UP + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN + { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLYER_HALF_LOOP_UP + { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN + { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP + { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP + { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN + { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_HEARTLINE_TRANSFER_UP + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_HEARTLINE_ROLL + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_A + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_B + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_C + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_D + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_E + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_REVERSER + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_REVERSER + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_AIR_THRUST_TOP_CAP + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BLOCK_BRAKES + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 255 }; /** rct2: 0x0099AA94 */ const uint8 FlatRideTrackSequenceElementAllowedWallEdges[][16] = { - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b0011, 0b1100, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1001, 0b0110, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b0010, 0b0011, 0, 0, 0, 0, 0b1100, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b1000, 0b1001, 0, 0, 0, 0, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b0011, 0b1100, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1001, 0b0110, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b1000, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0010, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b1000, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0010, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_1_X_4_A - { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_2_X_2 - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_4_X_4 - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_1_X_5 - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_1_X_1_A - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_1_X_4_B - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_1_X_1_B - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_1_X_4_C - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_3_X_3 - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b0010, 0b1000, 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b1000, 0b0010, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b1000, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0100, 0b1001, 0b0001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b0010, 0b1000, 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b1000, 0b0010, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b1000, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0100, 0b1001, 0b0001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1000, 0b1001, 0b0011, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b0011, 0b1100, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1001, 0b0110, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b0010, 0b0011, 0, 0, 0, 0, 0b1100, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b1000, 0b1001, 0, 0, 0, 0, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b0011, 0b1100, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1001, 0b0110, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b1000, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0010, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b1000, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0010, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_1_X_4_A + { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_2_X_2 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_4_X_4 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_1_X_5 + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_1_X_1_A + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_1_X_4_B + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_1_X_1_B + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_1_X_4_C + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // FLAT_TRACK_ELEM_3_X_3 + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b0010, 0b1000, 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b1000, 0b0010, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b1000, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0100, 0b1001, 0b0001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b0010, 0b1000, 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b1000, 0b0010, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b1000, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0100, 0b1001, 0b0001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1000, 0b1001, 0b0011, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, }; /** rct2: 0x0099443C */ const uint16 FlatTrackFlags[] = { - /* */ TRACK_ELEM_FLAG_1000, - /* */ 0, - /* */ 0, - /* */ 0, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* */ 0, - /* */ 0, - /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, - /* */ 0, - /* */ 0, - /* */ 0, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_UP, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_DOWN, - /* */ TRACK_ELEM_FLAG_TURN_LEFT, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* */ 0, - /* */ 0, - /* */ TRACK_ELEM_FLAG_TURN_LEFT, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* FLAT_TRACK_ELEM_1_X_4_A */ 0, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* */ 0, - /* */ 0, - /* */ TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX, - /* FLAT_TRACK_ELEM_2_X_2 */ 0, - /* FLAT_TRACK_ELEM_4_X_4 */ 0, - /* */ 0, - /* */ 0, - /* */ TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND, - /* ??? */ TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND, - /* FLAT_TRACK_ELEM_1_X_5 */ 0, - /* */ 0, - /* FLAT_TRACK_ELEM_1_X_1_A */ 0, - /* FLAT_TRACK_ELEM_1_X_4_B */ 0, - /* */ 0, - /* FLAT_TRACK_ELEM_1_X_1_B */ 0, - /* FLAT_TRACK_ELEM_1_X_4_C */ 0, - /* FLAT_TRACK_ELEM_3_X_3 */ 0, - /* */ TRACK_ELEM_FLAG_UP, - /* */ TRACK_ELEM_FLAG_UP, - /* */ TRACK_ELEM_FLAG_UP, - /* ??? */ TRACK_ELEM_FLAG_DOWN, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* ??? */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_UP, - /* */ TRACK_ELEM_FLAG_DOWN, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_TURN_LEFT, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* */ TRACK_ELEM_FLAG_TURN_LEFT, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN, - /* */ TRACK_ELEM_FLAG_DOWN, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* */ 0, - /* */ 0, - /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_INVERSION, - /* */ TRACK_ELEM_FLAG_INVERSION, - /* */ TRACK_ELEM_FLAG_INVERSION, - /* */ TRACK_ELEM_FLAG_INVERSION, - /* */ TRACK_ELEM_FLAG_INVERSION, - /* ??? */ TRACK_ELEM_FLAG_INVERSION, - /* ??? */ TRACK_ELEM_FLAG_INVERSION, - /* ??? */ TRACK_ELEM_FLAG_INVERSION, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_UP, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_UP, - /* */ 0, - /* */ 0, - /* */ 0, - /* */ TRACK_ELEM_FLAG_DOWN, - /* */ TRACK_ELEM_FLAG_DOWN, - /* */ 0, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP, - /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN, - /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN, - /* ??? */ 0, + /* */ TRACK_ELEM_FLAG_1000, + /* */ 0, + /* */ 0, + /* */ 0, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* */ 0, + /* */ 0, + /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, + /* */ 0, + /* */ 0, + /* */ 0, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_UP, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_DOWN, + /* */ TRACK_ELEM_FLAG_TURN_LEFT, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* */ 0, + /* */ 0, + /* */ TRACK_ELEM_FLAG_TURN_LEFT, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* FLAT_TRACK_ELEM_1_X_4_A */ 0, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* */ 0, + /* */ 0, + /* */ TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX, + /* FLAT_TRACK_ELEM_2_X_2 */ 0, + /* FLAT_TRACK_ELEM_4_X_4 */ 0, + /* */ 0, + /* */ 0, + /* */ TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND, + /* ??? */ TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND, + /* FLAT_TRACK_ELEM_1_X_5 */ 0, + /* */ 0, + /* FLAT_TRACK_ELEM_1_X_1_A */ 0, + /* FLAT_TRACK_ELEM_1_X_4_B */ 0, + /* */ 0, + /* FLAT_TRACK_ELEM_1_X_1_B */ 0, + /* FLAT_TRACK_ELEM_1_X_4_C */ 0, + /* FLAT_TRACK_ELEM_3_X_3 */ 0, + /* */ TRACK_ELEM_FLAG_UP, + /* */ TRACK_ELEM_FLAG_UP, + /* */ TRACK_ELEM_FLAG_UP, + /* ??? */ TRACK_ELEM_FLAG_DOWN, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* ??? */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_UP, + /* */ TRACK_ELEM_FLAG_DOWN, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_TURN_LEFT, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* */ TRACK_ELEM_FLAG_TURN_LEFT, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN, + /* */ TRACK_ELEM_FLAG_DOWN, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* */ 0, + /* */ 0, + /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_INVERSION, + /* */ TRACK_ELEM_FLAG_INVERSION, + /* */ TRACK_ELEM_FLAG_INVERSION, + /* */ TRACK_ELEM_FLAG_INVERSION, + /* */ TRACK_ELEM_FLAG_INVERSION, + /* ??? */ TRACK_ELEM_FLAG_INVERSION, + /* ??? */ TRACK_ELEM_FLAG_INVERSION, + /* ??? */ TRACK_ELEM_FLAG_INVERSION, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_UP, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_UP, + /* */ 0, + /* */ 0, + /* */ 0, + /* */ TRACK_ELEM_FLAG_DOWN, + /* */ TRACK_ELEM_FLAG_DOWN, + /* */ 0, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP, + /* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN, + /* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN, + /* ??? */ 0, }; /** rct2: 0x0099423C */ const uint16 TrackFlags[] = { - /* TRACK_ELEM_FLAT */ TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_END_STATION */ 0, - /* TRACK_ELEM_BEGIN_STATION */ 0, - /* TRACK_ELEM_MIDDLE_STATION */ 0, - /* TRACK_ELEM_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_FLAT_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_25_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_FLAT_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_25_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_FLAT_TO_LEFT_BANK */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_FLAT_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANK_TO_FLAT */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANK_TO_FLAT */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANK */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANK */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* TRACK_ELEM_S_BEND_LEFT */ 0, - /* TRACK_ELEM_S_BEND_RIGHT */ 0, - /* TRACK_ELEM_LEFT_VERTICAL_LOOP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_VERTICAL_LOOP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, - /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN */ TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN */ TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_HALF_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_HALF_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_LEFT_CORKSCREW_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_CORKSCREW_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_LEFT_CORKSCREW_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_CORKSCREW_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_FLAT_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_60_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_FLAT_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_60_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_TOWER_BASE */ 0, - /* TRACK_ELEM_TOWER_SECTION */ 0, - /* TRACK_ELEM_FLAT_COVERED */ 0, - /* TRACK_ELEM_25_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_60_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_25_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_60_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_S_BEND_LEFT_COVERED */ 0, - /* TRACK_ELEM_S_BEND_RIGHT_COVERED */ 0, - /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_BRAKES */ 0, - /* TRACK_ELEM_ROTATION_CONTROL_TOGGLE */ 0, - /* TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP */ TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND, - /* TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX, - /* TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX, - /* TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX, - /* TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX, - /* TRACK_ELEM_25_DEG_UP_LEFT_BANKED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_25_DEG_UP_RIGHT_BANKED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_WATERFALL */ 0, - /* TRACK_ELEM_RAPIDS */ 0, - /* TRACK_ELEM_ON_RIDE_PHOTO */ 0, - /* TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_WATER_SPLASH */ 0, - /* TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE */ TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_WHIRLPOOL */ 0, - /* TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_CABLE_LIFT_HILL */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_REVERSE_FREEFALL_SLOPE */ TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_REVERSE_FREEFALL_VERTICAL */ TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_90_DEG_UP */ TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_90_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_BRAKE_FOR_DROP */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_LEFT_EIGHTH_TO_DIAG */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_DIAG_FLAT */ TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, - /* TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_DIAG_LEFT_BANK */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_DIAG_RIGHT_BANK */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LOG_FLUME_REVERSER */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_SPINNING_TUNNEL */ TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP */ TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP */ TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_POWERED_LIFT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, - /* TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_LEFT_FLYER_TWIST_UP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_FLYER_TWIST_UP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_LEFT_FLYER_TWIST_DOWN */ TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN */ TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_FLYER_HALF_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_FLYER_HALF_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_HEARTLINE_TRANSFER_UP */ 0, - /* TRACK_ELEM_HEARTLINE_TRANSFER_DOWN */ 0, - /* TRACK_ELEM_LEFT_HEARTLINE_ROLL */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_RIGHT_HEARTLINE_ROLL */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_MINI_GOLF_HOLE_A */ TRACK_ELEM_FLAG_INVERSION, - /* TRACK_ELEM_MINI_GOLF_HOLE_B */ TRACK_ELEM_FLAG_INVERSION, - /* TRACK_ELEM_MINI_GOLF_HOLE_C */ TRACK_ELEM_FLAG_INVERSION, - /* TRACK_ELEM_MINI_GOLF_HOLE_D */ TRACK_ELEM_FLAG_INVERSION, - /* TRACK_ELEM_MINI_GOLF_HOLE_E */ TRACK_ELEM_FLAG_INVERSION, - /* TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_LEFT_CURVED_LIFT_HILL */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_RIGHT_CURVED_LIFT_HILL */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_LEFT_REVERSER */ 0, - /* TRACK_ELEM_RIGHT_REVERSER */ 0, - /* TRACK_ELEM_AIR_THRUST_TOP_CAP */ 0, - /* TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_BLOCK_BRAKES */ 0, - /* TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, - /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, - /* TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_FLAT */ TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_END_STATION */ 0, + /* TRACK_ELEM_BEGIN_STATION */ 0, + /* TRACK_ELEM_MIDDLE_STATION */ 0, + /* TRACK_ELEM_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_FLAT_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_25_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_FLAT_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_25_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TRACK_ELEM_FLAT_TO_LEFT_BANK */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_FLAT_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANK_TO_FLAT */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANK_TO_FLAT */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANK */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANK */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* TRACK_ELEM_S_BEND_LEFT */ 0, + /* TRACK_ELEM_S_BEND_RIGHT */ 0, + /* TRACK_ELEM_LEFT_VERTICAL_LOOP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_VERTICAL_LOOP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000, + /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN */ TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN */ TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_HALF_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_HALF_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_LEFT_CORKSCREW_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_CORKSCREW_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_LEFT_CORKSCREW_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_CORKSCREW_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_FLAT_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_60_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_FLAT_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_60_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_TOWER_BASE */ 0, + /* TRACK_ELEM_TOWER_SECTION */ 0, + /* TRACK_ELEM_FLAT_COVERED */ 0, + /* TRACK_ELEM_25_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_60_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP, + /* TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_25_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_60_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED */ TRACK_ELEM_FLAG_DOWN, + /* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TRACK_ELEM_S_BEND_LEFT_COVERED */ 0, + /* TRACK_ELEM_S_BEND_RIGHT_COVERED */ 0, + /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_BRAKES */ 0, + /* TRACK_ELEM_ROTATION_CONTROL_TOGGLE */ 0, + /* TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP */ TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND, + /* TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX, + /* TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX, + /* TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX, + /* TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX, + /* TRACK_ELEM_25_DEG_UP_LEFT_BANKED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_25_DEG_UP_RIGHT_BANKED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_WATERFALL */ 0, + /* TRACK_ELEM_RAPIDS */ 0, + /* TRACK_ELEM_ON_RIDE_PHOTO */ 0, + /* TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_WATER_SPLASH */ 0, + /* TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE */ TRACK_ELEM_FLAG_UP, + /* TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_WHIRLPOOL */ 0, + /* TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE */ TRACK_ELEM_FLAG_DOWN, + /* TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_CABLE_LIFT_HILL */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_REVERSE_FREEFALL_SLOPE */ TRACK_ELEM_FLAG_UP, + /* TRACK_ELEM_REVERSE_FREEFALL_VERTICAL */ TRACK_ELEM_FLAG_UP, + /* TRACK_ELEM_90_DEG_UP */ TRACK_ELEM_FLAG_UP, + /* TRACK_ELEM_90_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP, + /* TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN, + /* TRACK_ELEM_BRAKE_FOR_DROP */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_LEFT_EIGHTH_TO_DIAG */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_DIAG_FLAT */ TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_0400 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_1000, + /* TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK */ TRACK_ELEM_FLAG_DOWN, + /* TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_DOWN, + /* TRACK_ELEM_DIAG_LEFT_BANK */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_DIAG_RIGHT_BANK */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LOG_FLUME_REVERSER */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_SPINNING_TUNNEL */ TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP */ TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP */ TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_POWERED_LIFT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100, + /* TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_LEFT_FLYER_TWIST_UP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_FLYER_TWIST_UP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_LEFT_FLYER_TWIST_DOWN */ TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN */ TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_FLYER_HALF_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_FLYER_HALF_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_HEARTLINE_TRANSFER_UP */ 0, + /* TRACK_ELEM_HEARTLINE_TRANSFER_DOWN */ 0, + /* TRACK_ELEM_LEFT_HEARTLINE_ROLL */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_RIGHT_HEARTLINE_ROLL */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_MINI_GOLF_HOLE_A */ TRACK_ELEM_FLAG_INVERSION, + /* TRACK_ELEM_MINI_GOLF_HOLE_B */ TRACK_ELEM_FLAG_INVERSION, + /* TRACK_ELEM_MINI_GOLF_HOLE_C */ TRACK_ELEM_FLAG_INVERSION, + /* TRACK_ELEM_MINI_GOLF_HOLE_D */ TRACK_ELEM_FLAG_INVERSION, + /* TRACK_ELEM_MINI_GOLF_HOLE_E */ TRACK_ELEM_FLAG_INVERSION, + /* TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_LEFT_CURVED_LIFT_HILL */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_UP, + /* TRACK_ELEM_RIGHT_CURVED_LIFT_HILL */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_UP, + /* TRACK_ELEM_LEFT_REVERSER */ 0, + /* TRACK_ELEM_RIGHT_REVERSER */ 0, + /* TRACK_ELEM_AIR_THRUST_TOP_CAP */ 0, + /* TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN */ TRACK_ELEM_FLAG_DOWN, + /* TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL */ TRACK_ELEM_FLAG_DOWN, + /* TRACK_ELEM_BLOCK_BRAKES */ 0, + /* TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000, + /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP, + /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN, + /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN, + /* TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, + /* TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_4000, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000, }; diff --git a/src/openrct2/ride/track_data.h b/src/openrct2/ride/track_data.h index d0c7358165..f4484770ff 100644 --- a/src/openrct2/ride/track_data.h +++ b/src/openrct2/ride/track_data.h @@ -35,8 +35,8 @@ extern const rct_preview_track *FlatRideTrackBlocks[256]; extern const uint8 TrackPieceLengths[256]; typedef struct track_curve_chain { - uint16 next; - uint16 previous; + uint16 next; + uint16 previous; } track_curve_chain; extern const track_curve_chain gTrackCurveChain[256]; @@ -46,20 +46,20 @@ extern const TRACK_PAINT_FUNCTION_GETTER RideTypeTrackPaintFunctions[RIDE_TYPE_C extern const uint32 * RideTypeTrackPaintFunctionsOld[RIDE_TYPE_COUNT]; typedef struct track_descriptor { - bool starts_diagonal; - uint8 slope_start; - uint8 bank_start; - uint8 track_curve; - uint8 slope_end; - uint8 bank_end; - uint8 track_element; + bool starts_diagonal; + uint8 slope_start; + uint8 bank_start; + uint8 track_curve; + uint8 slope_end; + uint8 bank_end; + uint8 track_element; } track_descriptor; extern const track_descriptor gTrackDescriptors[142]; typedef struct { - uint16 size; - const rct_vehicle_info info[]; + uint16 size; + const rct_vehicle_info info[]; } rct_vehicle_info_list; extern const rct_vehicle_info_list **gTrackVehicleInfo[17]; @@ -70,10 +70,10 @@ extern const money32 TrackPricing[256]; extern const money32 FlatRideTrackPricing[256]; typedef struct dodgems_track_size { - uint8 left; - uint8 top; - uint8 right; - uint8 bottom; + uint8 left; + uint8 top; + uint8 right; + uint8 bottom; } dodgems_track_size; extern const dodgems_track_size DodgemsTrackSize[256]; diff --git a/src/openrct2/ride/track_data_old.c b/src/openrct2/ride/track_data_old.c index 4b14b7bf5c..1434605e0f 100644 --- a/src/openrct2/ride/track_data_old.c +++ b/src/openrct2/ride/track_data_old.c @@ -18,7282 +18,7282 @@ /** rct2: 0x008A42F4 */ static const uint32 _OldSpiralRollerCoasterTrackPaintFunctions[256] = { - 0x008A4ABC, // TRACK_ELEM_FLAT - 0x008A4D0C, // TRACK_ELEM_END_STATION - 0x008A4D1C, // TRACK_ELEM_BEGIN_STATION - 0x008A4D2C, // TRACK_ELEM_MIDDLE_STATION - 0x008A4ACC, // TRACK_ELEM_25_DEG_UP - 0x008A4ADC, // TRACK_ELEM_60_DEG_UP - 0x008A4AEC, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A4AFC, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A4B0C, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A4B1C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A4B2C, // TRACK_ELEM_25_DEG_DOWN - 0x008A4B3C, // TRACK_ELEM_60_DEG_DOWN - 0x008A4B4C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A4B5C, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A4B6C, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A4B7C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A4B8C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A4B9C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A4BAC, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A4BBC, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A4BCC, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A4BDC, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A4BEC, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A4BFC, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A4C0C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A4C1C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A4C2C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A4C3C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A4C4C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A4C5C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A4C6C, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A4C7C, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A4C8C, // TRACK_ELEM_LEFT_BANK - 0x008A4C9C, // TRACK_ELEM_RIGHT_BANK - 0x008A4CAC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A4CBC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A4CCC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A4CDC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A4CEC, // TRACK_ELEM_S_BEND_LEFT - 0x008A4CFC, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x008A4D3C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A4D4C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A4D5C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A4D6C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A4D7C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A4D8C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A4D9C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A4DAC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A4DBC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008A4DCC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008A4DDC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A4DEC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A4DFC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008A4E0C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008A4E1C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A4E2C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A4E5C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A4E3C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A4E4C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A4E6C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A4E7C, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A50CC, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008A50DC, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 0, - 0, - 0x008A4E8C, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008A50EC, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008A50FC, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A4EAC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A4EBC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A4ECC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A4EDC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A4EEC, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A4EFC, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A4F0C, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A4F1C, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A4E9C, // TRACK_ELEM_DIAG_FLAT - 0x008A4F4C, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A4FAC, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A4F2C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A4F8C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A4F9C, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A4F3C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A4F7C, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A4FDC, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A4F5C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A4FBC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A4FCC, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A4F6C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008A500C, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A501C, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A502C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A503C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A506C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A507C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A504C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A505C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A508C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A509C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A50AC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A50BC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A4FEC, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A4FFC, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A531C, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL - 0x008A532C, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL - 0, - 0, - 0, - 0, - 0, - 0x008A530C, // TRACK_ELEM_BLOCK_BRAKES - 0x008A510C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A511C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A512C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A513C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A514C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A515C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A516C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A517C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A518C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008A519C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008A51AC, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A51BC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A51CC, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A51DC, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A51EC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A51FC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A520C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A521C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A524C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008A525C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008A526C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A527C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A522C, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008A523C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008A528C, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A529C, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A52AC, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008A52BC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008A52CC, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A52DC, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A52EC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008A52FC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008A4ABC, // TRACK_ELEM_FLAT + 0x008A4D0C, // TRACK_ELEM_END_STATION + 0x008A4D1C, // TRACK_ELEM_BEGIN_STATION + 0x008A4D2C, // TRACK_ELEM_MIDDLE_STATION + 0x008A4ACC, // TRACK_ELEM_25_DEG_UP + 0x008A4ADC, // TRACK_ELEM_60_DEG_UP + 0x008A4AEC, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008A4AFC, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008A4B0C, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008A4B1C, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008A4B2C, // TRACK_ELEM_25_DEG_DOWN + 0x008A4B3C, // TRACK_ELEM_60_DEG_DOWN + 0x008A4B4C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008A4B5C, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A4B6C, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A4B7C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008A4B8C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008A4B9C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008A4BAC, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008A4BBC, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008A4BCC, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008A4BDC, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008A4BEC, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008A4BFC, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008A4C0C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008A4C1C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008A4C2C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008A4C3C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008A4C4C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008A4C5C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A4C6C, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008A4C7C, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A4C8C, // TRACK_ELEM_LEFT_BANK + 0x008A4C9C, // TRACK_ELEM_RIGHT_BANK + 0x008A4CAC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A4CBC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A4CCC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A4CDC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A4CEC, // TRACK_ELEM_S_BEND_LEFT + 0x008A4CFC, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x008A4D3C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008A4D4C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008A4D5C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008A4D6C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008A4D7C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A4D8C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A4D9C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A4DAC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A4DBC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008A4DCC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008A4DDC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008A4DEC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008A4DFC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008A4E0C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008A4E1C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008A4E2C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008A4E5C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008A4E3C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008A4E4C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008A4E6C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008A4E7C, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A50CC, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + 0x008A50DC, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0, + 0, + 0x008A4E8C, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008A50EC, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + 0x008A50FC, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A4EAC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008A4EBC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008A4ECC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008A4EDC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008A4EEC, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008A4EFC, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008A4F0C, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A4F1C, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A4E9C, // TRACK_ELEM_DIAG_FLAT + 0x008A4F4C, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008A4FAC, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008A4F2C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008A4F8C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008A4F9C, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008A4F3C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008A4F7C, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008A4FDC, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008A4F5C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008A4FBC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A4FCC, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A4F6C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008A500C, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008A501C, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008A502C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008A503C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008A506C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008A507C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008A504C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008A505C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008A508C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008A509C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A50AC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008A50BC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A4FEC, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008A4FFC, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A531C, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL + 0x008A532C, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL + 0, + 0, + 0, + 0, + 0, + 0x008A530C, // TRACK_ELEM_BLOCK_BRAKES + 0x008A510C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008A511C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008A512C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008A513C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008A514C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008A515C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008A516C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008A517C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008A518C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + 0x008A519C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + 0x008A51AC, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008A51BC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008A51CC, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A51DC, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A51EC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008A51FC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008A520C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008A521C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008A524C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + 0x008A525C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + 0x008A526C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A527C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A522C, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + 0x008A523C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + 0x008A528C, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008A529C, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008A52AC, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + 0x008A52BC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + 0x008A52CC, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A52DC, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A52EC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008A52FC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A6DB0 */ static const uint32 _OldStandUpRollerCoasterTrackPaintFunctions[256] = { - 0x008A7114, // TRACK_ELEM_FLAT - 0x008A7384, // TRACK_ELEM_END_STATION - 0x008A7394, // TRACK_ELEM_BEGIN_STATION - 0x008A73A4, // TRACK_ELEM_MIDDLE_STATION - 0x008A7124, // TRACK_ELEM_25_DEG_UP - 0x008A7134, // TRACK_ELEM_60_DEG_UP - 0x008A7144, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A7154, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A7164, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A7174, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A7184, // TRACK_ELEM_25_DEG_DOWN - 0x008A7194, // TRACK_ELEM_60_DEG_DOWN - 0x008A71A4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A71B4, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A71C4, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A71D4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A71E4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A71F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A7204, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A7214, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A7224, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A7234, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A7244, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A7254, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A7264, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A7274, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A7284, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A7294, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A72A4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A72B4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A72C4, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A72D4, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A72E4, // TRACK_ELEM_LEFT_BANK - 0x008A72F4, // TRACK_ELEM_RIGHT_BANK - 0x008A7304, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A7314, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A7324, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A7334, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A7344, // TRACK_ELEM_S_BEND_LEFT - 0x008A7354, // TRACK_ELEM_S_BEND_RIGHT - 0x008A7364, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008A7374, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008A73B4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A73C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A73D4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A73E4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A73F4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A7404, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A7414, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A7424, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A7434, // TRACK_ELEM_HALF_LOOP_UP - 0x008A7444, // TRACK_ELEM_HALF_LOOP_DOWN - 0x008A7454, // TRACK_ELEM_LEFT_CORKSCREW_UP - 0x008A7464, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 0x008A7474, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 0x008A7484, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A7734, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008A7744, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008A7754, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A7764, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A76F4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008A7704, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008A7714, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A7724, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0, - 0, - 0, - 0, - 0x008A7494, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A74A4, // TRACK_ELEM_ON_RIDE_PHOTO - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A74B4, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A74C4, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A74D4, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A74E4, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A76A4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A76B4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A76C4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A76D4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A74F4, // TRACK_ELEM_DIAG_FLAT - 0x008A7524, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A7584, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A7504, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A7564, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A7574, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A7514, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A7554, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A75B4, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A7534, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A7594, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A75A4, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A7544, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008A75E4, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A75F4, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A7604, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A7614, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A7644, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A7654, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A7624, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A7634, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A7664, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A7674, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A7684, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A7694, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A75C4, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A75D4, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A76E4, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008A7114, // TRACK_ELEM_FLAT + 0x008A7384, // TRACK_ELEM_END_STATION + 0x008A7394, // TRACK_ELEM_BEGIN_STATION + 0x008A73A4, // TRACK_ELEM_MIDDLE_STATION + 0x008A7124, // TRACK_ELEM_25_DEG_UP + 0x008A7134, // TRACK_ELEM_60_DEG_UP + 0x008A7144, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008A7154, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008A7164, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008A7174, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008A7184, // TRACK_ELEM_25_DEG_DOWN + 0x008A7194, // TRACK_ELEM_60_DEG_DOWN + 0x008A71A4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008A71B4, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A71C4, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A71D4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008A71E4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008A71F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008A7204, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008A7214, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008A7224, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008A7234, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008A7244, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008A7254, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008A7264, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008A7274, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008A7284, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008A7294, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008A72A4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008A72B4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A72C4, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008A72D4, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A72E4, // TRACK_ELEM_LEFT_BANK + 0x008A72F4, // TRACK_ELEM_RIGHT_BANK + 0x008A7304, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A7314, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A7324, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A7334, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A7344, // TRACK_ELEM_S_BEND_LEFT + 0x008A7354, // TRACK_ELEM_S_BEND_RIGHT + 0x008A7364, // TRACK_ELEM_LEFT_VERTICAL_LOOP + 0x008A7374, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + 0x008A73B4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008A73C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008A73D4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008A73E4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008A73F4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A7404, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A7414, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A7424, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A7434, // TRACK_ELEM_HALF_LOOP_UP + 0x008A7444, // TRACK_ELEM_HALF_LOOP_DOWN + 0x008A7454, // TRACK_ELEM_LEFT_CORKSCREW_UP + 0x008A7464, // TRACK_ELEM_RIGHT_CORKSCREW_UP + 0x008A7474, // TRACK_ELEM_LEFT_CORKSCREW_DOWN + 0x008A7484, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A7734, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008A7744, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008A7754, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008A7764, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008A76F4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008A7704, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008A7714, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008A7724, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0, + 0, + 0, + 0, + 0x008A7494, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A74A4, // TRACK_ELEM_ON_RIDE_PHOTO + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A74B4, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008A74C4, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008A74D4, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008A74E4, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008A76A4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008A76B4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008A76C4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A76D4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A74F4, // TRACK_ELEM_DIAG_FLAT + 0x008A7524, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008A7584, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008A7504, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008A7564, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008A7574, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008A7514, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008A7554, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008A75B4, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008A7534, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008A7594, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A75A4, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A7544, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008A75E4, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008A75F4, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008A7604, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008A7614, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008A7644, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008A7654, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008A7624, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008A7634, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008A7664, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008A7674, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A7684, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008A7694, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A75C4, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008A75D4, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A76E4, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A85E4 */ static const uint32 _OldSuspendedSwingingCoasterTrackPaintFunctions[256] = { - 0x008A8958, // TRACK_ELEM_FLAT - 0x008A8AA8, // TRACK_ELEM_END_STATION - 0x008A8AB8, // TRACK_ELEM_BEGIN_STATION - 0x008A8AC8, // TRACK_ELEM_MIDDLE_STATION - 0x008A8968, // TRACK_ELEM_25_DEG_UP - 0x008A8978, // TRACK_ELEM_60_DEG_UP - 0x008A8988, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A8998, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A89A8, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A89B8, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A89C8, // TRACK_ELEM_25_DEG_DOWN - 0x008A89D8, // TRACK_ELEM_60_DEG_DOWN - 0x008A89E8, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A89F8, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A8A08, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A8A18, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A8A28, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A8A38, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A8A48, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A8A58, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A8A68, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A8A78, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A8A88, // TRACK_ELEM_S_BEND_LEFT - 0x008A8A98, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x008A8AD8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A8AE8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0x008A8AF8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A8B08, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A8B18, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A8B28, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A8B38, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A8B48, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP - 0x008A8B58, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - 0x008A8B68, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - 0x008A8B78, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A8B88, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A8B98, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A8BA8, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A8BB8, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0, - 0, - 0, - 0, - 0x008A8BC8, // TRACK_ELEM_DIAG_FLAT - 0x008A8BF8, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A8C58, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A8BD8, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A8C38, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A8C48, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A8BE8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A8C28, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A8C88, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A8C08, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A8C68, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A8C78, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A8C18, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A8B38, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008A8958, // TRACK_ELEM_FLAT + 0x008A8AA8, // TRACK_ELEM_END_STATION + 0x008A8AB8, // TRACK_ELEM_BEGIN_STATION + 0x008A8AC8, // TRACK_ELEM_MIDDLE_STATION + 0x008A8968, // TRACK_ELEM_25_DEG_UP + 0x008A8978, // TRACK_ELEM_60_DEG_UP + 0x008A8988, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008A8998, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008A89A8, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008A89B8, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008A89C8, // TRACK_ELEM_25_DEG_DOWN + 0x008A89D8, // TRACK_ELEM_60_DEG_DOWN + 0x008A89E8, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008A89F8, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A8A08, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A8A18, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008A8A28, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008A8A38, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A8A48, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A8A58, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A8A68, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A8A78, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A8A88, // TRACK_ELEM_S_BEND_LEFT + 0x008A8A98, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x008A8AD8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008A8AE8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0x008A8AF8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A8B08, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A8B18, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A8B28, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A8B38, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A8B48, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP + 0x008A8B58, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP + 0x008A8B68, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN + 0x008A8B78, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A8B88, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008A8B98, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008A8BA8, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008A8BB8, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0, + 0, + 0, + 0, + 0x008A8BC8, // TRACK_ELEM_DIAG_FLAT + 0x008A8BF8, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008A8C58, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008A8BD8, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008A8C38, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008A8C48, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008A8BE8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008A8C28, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008A8C88, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008A8C08, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008A8C68, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A8C78, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A8C18, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A8B38, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A8EE4 */ static const uint32 _OldInvertedRollerCoasterTrackPaintFunctions[256] = { - 0x008A92E8, // TRACK_ELEM_FLAT - 0x008A9558, // TRACK_ELEM_END_STATION - 0x008A9568, // TRACK_ELEM_BEGIN_STATION - 0x008A9578, // TRACK_ELEM_MIDDLE_STATION - 0x008A92F8, // TRACK_ELEM_25_DEG_UP - 0x008A9308, // TRACK_ELEM_60_DEG_UP - 0x008A9318, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A9328, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A9338, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A9348, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A9358, // TRACK_ELEM_25_DEG_DOWN - 0x008A9368, // TRACK_ELEM_60_DEG_DOWN - 0x008A9378, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A9388, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A9398, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A93A8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A93B8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A93C8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A93D8, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A93E8, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A93F8, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A9408, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A9418, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A9428, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A9438, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A9448, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A9458, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A9468, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A9478, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A9488, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A9498, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A94A8, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A94B8, // TRACK_ELEM_LEFT_BANK - 0x008A94C8, // TRACK_ELEM_RIGHT_BANK - 0x008A94D8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A94E8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A94F8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A9508, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A9518, // TRACK_ELEM_S_BEND_LEFT - 0x008A9528, // TRACK_ELEM_S_BEND_RIGHT - 0x008A9538, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008A9548, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008A9588, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A9598, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A95A8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A95B8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A95C8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A95D8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A95E8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A95F8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0x008A9608, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - 0x008A9618, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - 0x008A9628, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - 0x008A9638, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - 0x008A9648, // TRACK_ELEM_HALF_LOOP_UP - 0x008A9658, // TRACK_ELEM_HALF_LOOP_DOWN - 0x008A9668, // TRACK_ELEM_LEFT_CORKSCREW_UP - 0x008A9678, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 0x008A9688, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 0x008A9698, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A96D8, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A96B8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A96C8, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A96E8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A96A8, // TRACK_ELEM_BRAKES - 0, - 0, - 0x008A96F8, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - 0x008A9708, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - 0x008A9718, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - 0x008A9728, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - 0, - 0, - 0, - 0, - 0x008A9A38, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008A9A48, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 0, - 0, - 0x008A9738, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008A9A58, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008A9A68, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A9748, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A9758, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A9768, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A9778, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A9938, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A9948, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A9958, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A9968, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A9788, // TRACK_ELEM_DIAG_FLAT - 0x008A97B8, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A9818, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A9798, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A97F8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A9808, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A97A8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A97E8, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A9848, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A97C8, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A9828, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A9838, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A97D8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008A9878, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A9888, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A9898, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A98A8, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A98D8, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A98E8, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A98B8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A98C8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A98F8, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A9908, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A9918, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A9928, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A9858, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A9868, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A9978, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - 0x008A9988, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - 0x008A9998, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - 0x008A99A8, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A96A8, // TRACK_ELEM_BLOCK_BRAKES - 0x008A9A78, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A9A88, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A9A98, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A9AA8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A9BB8, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A9BC8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A9BD8, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A9BE8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A9AB8, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008A9AC8, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008A9AD8, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A9AE8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A9AF8, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A9B08, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A9B18, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A9B28, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A9B38, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A9B48, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A9B58, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008A9B68, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008A9B78, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A9B88, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A9B98, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008A9BA8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008A99B8, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A99C8, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A99D8, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008A99E8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008A99F8, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A9A08, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A9A18, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008A9A28, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008A92E8, // TRACK_ELEM_FLAT + 0x008A9558, // TRACK_ELEM_END_STATION + 0x008A9568, // TRACK_ELEM_BEGIN_STATION + 0x008A9578, // TRACK_ELEM_MIDDLE_STATION + 0x008A92F8, // TRACK_ELEM_25_DEG_UP + 0x008A9308, // TRACK_ELEM_60_DEG_UP + 0x008A9318, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008A9328, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008A9338, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008A9348, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008A9358, // TRACK_ELEM_25_DEG_DOWN + 0x008A9368, // TRACK_ELEM_60_DEG_DOWN + 0x008A9378, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008A9388, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A9398, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A93A8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008A93B8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008A93C8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008A93D8, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008A93E8, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008A93F8, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008A9408, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008A9418, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008A9428, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008A9438, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008A9448, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008A9458, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008A9468, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008A9478, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008A9488, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A9498, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008A94A8, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A94B8, // TRACK_ELEM_LEFT_BANK + 0x008A94C8, // TRACK_ELEM_RIGHT_BANK + 0x008A94D8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A94E8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A94F8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A9508, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A9518, // TRACK_ELEM_S_BEND_LEFT + 0x008A9528, // TRACK_ELEM_S_BEND_RIGHT + 0x008A9538, // TRACK_ELEM_LEFT_VERTICAL_LOOP + 0x008A9548, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + 0x008A9588, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008A9598, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008A95A8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008A95B8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008A95C8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A95D8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A95E8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A95F8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0x008A9608, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP + 0x008A9618, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP + 0x008A9628, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN + 0x008A9638, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN + 0x008A9648, // TRACK_ELEM_HALF_LOOP_UP + 0x008A9658, // TRACK_ELEM_HALF_LOOP_DOWN + 0x008A9668, // TRACK_ELEM_LEFT_CORKSCREW_UP + 0x008A9678, // TRACK_ELEM_RIGHT_CORKSCREW_UP + 0x008A9688, // TRACK_ELEM_LEFT_CORKSCREW_DOWN + 0x008A9698, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A96D8, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008A96B8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008A96C8, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008A96E8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008A96A8, // TRACK_ELEM_BRAKES + 0, + 0, + 0x008A96F8, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP + 0x008A9708, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP + 0x008A9718, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN + 0x008A9728, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + 0, + 0, + 0, + 0, + 0x008A9A38, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + 0x008A9A48, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0, + 0, + 0x008A9738, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008A9A58, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + 0x008A9A68, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A9748, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008A9758, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008A9768, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008A9778, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008A9938, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008A9948, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008A9958, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A9968, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A9788, // TRACK_ELEM_DIAG_FLAT + 0x008A97B8, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008A9818, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008A9798, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008A97F8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008A9808, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008A97A8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008A97E8, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008A9848, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008A97C8, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008A9828, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A9838, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A97D8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008A9878, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008A9888, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008A9898, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008A98A8, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008A98D8, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008A98E8, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008A98B8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008A98C8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008A98F8, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008A9908, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A9918, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008A9928, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A9858, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008A9868, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A9978, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP + 0x008A9988, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP + 0x008A9998, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN + 0x008A99A8, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A96A8, // TRACK_ELEM_BLOCK_BRAKES + 0x008A9A78, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008A9A88, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008A9A98, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008A9AA8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008A9BB8, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008A9BC8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008A9BD8, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008A9BE8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008A9AB8, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + 0x008A9AC8, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + 0x008A9AD8, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008A9AE8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008A9AF8, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A9B08, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A9B18, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008A9B28, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008A9B38, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008A9B48, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008A9B58, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + 0x008A9B68, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + 0x008A9B78, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A9B88, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A9B98, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + 0x008A9BA8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + 0x008A99B8, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008A99C8, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008A99D8, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + 0x008A99E8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + 0x008A99F8, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A9A08, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A9A18, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008A9A28, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008AAA0C */ static const uint32 _OldJuniorRollerCoasterTrackPaintFunctions[256] = { - 0x008AAD80, // TRACK_ELEM_FLAT - 0x008AAE70, // TRACK_ELEM_END_STATION - 0x008AAE80, // TRACK_ELEM_BEGIN_STATION - 0x008AAE90, // TRACK_ELEM_MIDDLE_STATION - 0x008AAD90, // TRACK_ELEM_25_DEG_UP - 0, - 0x008AADA0, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x008AADB0, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AADC0, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x008AADD0, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008AADE0, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AADF0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AAE00, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AAFC0, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AAFD0, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AAFE0, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AAFF0, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AB000, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AB010, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AB020, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AB030, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AB040, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AB050, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AB060, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AB070, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AB080, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AB090, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AB0A0, // TRACK_ELEM_LEFT_BANK - 0x008AB0B0, // TRACK_ELEM_RIGHT_BANK - 0x008AAE10, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AAE20, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AAE30, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AAE40, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AAE50, // TRACK_ELEM_S_BEND_LEFT - 0x008AAE60, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x008AAEA0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AAEB0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AB0C0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AB0D0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AAEC0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AAED0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AAEE0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AAEF0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AB0E0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008AB0F0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008AB100, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AB110, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AB120, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008AB130, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008AB140, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008AB150, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0, - 0, - 0, - 0, - 0x008AAF00, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AAF80, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AAF90, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AAFA0, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AAFB0, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008AB160, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008AB170, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008AB180, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AB190, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AAF10, // TRACK_ELEM_DIAG_FLAT - 0x008AAF40, // TRACK_ELEM_DIAG_25_DEG_UP - 0, - 0x008AAF20, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0, - 0, - 0x008AAF30, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AAF70, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0, - 0x008AAF50, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008AAF60, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008AB1C0, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008AB1D0, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008AB1E0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008AB1F0, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008AB220, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008AB230, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008AB200, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008AB210, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008AB240, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008AB250, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AB260, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008AB270, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AB1A0, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008AB1B0, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AB280, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008AAD80, // TRACK_ELEM_FLAT + 0x008AAE70, // TRACK_ELEM_END_STATION + 0x008AAE80, // TRACK_ELEM_BEGIN_STATION + 0x008AAE90, // TRACK_ELEM_MIDDLE_STATION + 0x008AAD90, // TRACK_ELEM_25_DEG_UP + 0, + 0x008AADA0, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x008AADB0, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008AADC0, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x008AADD0, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008AADE0, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008AADF0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008AAE00, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008AAFC0, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008AAFD0, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008AAFE0, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008AAFF0, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008AB000, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008AB010, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008AB020, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008AB030, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008AB040, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008AB050, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008AB060, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008AB070, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008AB080, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008AB090, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AB0A0, // TRACK_ELEM_LEFT_BANK + 0x008AB0B0, // TRACK_ELEM_RIGHT_BANK + 0x008AAE10, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AAE20, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AAE30, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AAE40, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AAE50, // TRACK_ELEM_S_BEND_LEFT + 0x008AAE60, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x008AAEA0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008AAEB0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008AB0C0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008AB0D0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008AAEC0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AAED0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AAEE0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AAEF0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AB0E0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008AB0F0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008AB100, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008AB110, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008AB120, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008AB130, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008AB140, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008AB150, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0, + 0, + 0, + 0, + 0x008AAF00, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AAF80, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008AAF90, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008AAFA0, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008AAFB0, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008AB160, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008AB170, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008AB180, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008AB190, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008AAF10, // TRACK_ELEM_DIAG_FLAT + 0x008AAF40, // TRACK_ELEM_DIAG_25_DEG_UP + 0, + 0x008AAF20, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0, + 0, + 0x008AAF30, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008AAF70, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0, + 0x008AAF50, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008AAF60, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008AB1C0, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008AB1D0, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008AB1E0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008AB1F0, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008AB220, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008AB230, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008AB200, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008AB210, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008AB240, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008AB250, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008AB260, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008AB270, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AB1A0, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008AB1B0, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AB280, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008ACE48 */ static const uint32 _OldMiniatureRailwayTrackPaintFunctions[256] = { - 0x008AD0C0, // TRACK_ELEM_FLAT - 0x008AD170, // TRACK_ELEM_END_STATION - 0x008AD180, // TRACK_ELEM_BEGIN_STATION - 0x008AD190, // TRACK_ELEM_MIDDLE_STATION - 0x008AD0D0, // TRACK_ELEM_25_DEG_UP - 0, - 0x008AD0E0, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x008AD0F0, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AD100, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x008AD110, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008AD120, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AD130, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AD140, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AD150, // TRACK_ELEM_S_BEND_LEFT - 0x008AD160, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x008AD1A0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AD1B0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AD1C0, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AD1D0, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AD1E0, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AD1F0, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0, - 0, - 0, - 0, - 0x008AD200, // TRACK_ELEM_DIAG_FLAT - 0x008AD230, // TRACK_ELEM_DIAG_25_DEG_UP - 0, - 0x008AD210, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0, - 0, - 0x008AD220, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AD260, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0, - 0x008AD240, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008AD250, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008AD0C0, // TRACK_ELEM_FLAT + 0x008AD170, // TRACK_ELEM_END_STATION + 0x008AD180, // TRACK_ELEM_BEGIN_STATION + 0x008AD190, // TRACK_ELEM_MIDDLE_STATION + 0x008AD0D0, // TRACK_ELEM_25_DEG_UP + 0, + 0x008AD0E0, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x008AD0F0, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008AD100, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x008AD110, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008AD120, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008AD130, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008AD140, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AD150, // TRACK_ELEM_S_BEND_LEFT + 0x008AD160, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x008AD1A0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008AD1B0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AD1C0, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008AD1D0, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008AD1E0, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008AD1F0, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0, + 0, + 0, + 0, + 0x008AD200, // TRACK_ELEM_DIAG_FLAT + 0x008AD230, // TRACK_ELEM_DIAG_25_DEG_UP + 0, + 0x008AD210, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0, + 0, + 0x008AD220, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008AD260, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0, + 0x008AD240, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008AD250, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008ADF34 */ static const uint32 _OldMonorailTrackPaintFunctions[256] = { - 0x008AE1AC, // TRACK_ELEM_FLAT - 0x008AE25C, // TRACK_ELEM_END_STATION - 0x008AE26C, // TRACK_ELEM_BEGIN_STATION - 0x008AE27C, // TRACK_ELEM_MIDDLE_STATION - 0x008AE1BC, // TRACK_ELEM_25_DEG_UP - 0, - 0x008AE1CC, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x008AE1DC, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AE1EC, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x008AE1FC, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008AE20C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AE21C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AE22C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AE23C, // TRACK_ELEM_S_BEND_LEFT - 0x008AE24C, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x008AE28C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AE29C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AE31C, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AE32C, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AE33C, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AE34C, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0, - 0, - 0, - 0, - 0x008AE2AC, // TRACK_ELEM_DIAG_FLAT - 0x008AE2DC, // TRACK_ELEM_DIAG_25_DEG_UP - 0, - 0x008AE2BC, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0, - 0, - 0x008AE2CC, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AE30C, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0, - 0x008AE2EC, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008AE2FC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008AE1AC, // TRACK_ELEM_FLAT + 0x008AE25C, // TRACK_ELEM_END_STATION + 0x008AE26C, // TRACK_ELEM_BEGIN_STATION + 0x008AE27C, // TRACK_ELEM_MIDDLE_STATION + 0x008AE1BC, // TRACK_ELEM_25_DEG_UP + 0, + 0x008AE1CC, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x008AE1DC, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008AE1EC, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x008AE1FC, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008AE20C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008AE21C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008AE22C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AE23C, // TRACK_ELEM_S_BEND_LEFT + 0x008AE24C, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x008AE28C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008AE29C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AE31C, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008AE32C, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008AE33C, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008AE34C, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0, + 0, + 0, + 0, + 0x008AE2AC, // TRACK_ELEM_DIAG_FLAT + 0x008AE2DC, // TRACK_ELEM_DIAG_25_DEG_UP + 0, + 0x008AE2BC, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0, + 0, + 0x008AE2CC, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008AE30C, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0, + 0x008AE2EC, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008AE2FC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008AFC24 */ static const uint32 _OldMiniSuspendedCoasterTrackPaintFunctions[256] = { - 0x008AFE9C, // TRACK_ELEM_FLAT - 0x008AFF4C, // TRACK_ELEM_END_STATION - 0x008AFF5C, // TRACK_ELEM_BEGIN_STATION - 0x008AFF6C, // TRACK_ELEM_MIDDLE_STATION - 0x008AFEAC, // TRACK_ELEM_25_DEG_UP - 0, - 0x008AFEBC, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x008AFECC, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AFEDC, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x008AFEEC, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008AFEFC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AFF0C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AFF1C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AFF2C, // TRACK_ELEM_S_BEND_LEFT - 0x008AFF3C, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x008AFF7C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AFF8C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AFFAC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AFFBC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AFFCC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AFFDC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0, - 0, - 0, - 0, - 0x008AFF9C, // TRACK_ELEM_DIAG_FLAT - 0x008B000C, // TRACK_ELEM_DIAG_25_DEG_UP - 0, - 0x008AFFEC, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0, - 0, - 0x008AFFFC, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008B003C, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0, - 0x008B001C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008B002C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008AFE9C, // TRACK_ELEM_FLAT + 0x008AFF4C, // TRACK_ELEM_END_STATION + 0x008AFF5C, // TRACK_ELEM_BEGIN_STATION + 0x008AFF6C, // TRACK_ELEM_MIDDLE_STATION + 0x008AFEAC, // TRACK_ELEM_25_DEG_UP + 0, + 0x008AFEBC, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x008AFECC, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008AFEDC, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x008AFEEC, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008AFEFC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008AFF0C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008AFF1C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AFF2C, // TRACK_ELEM_S_BEND_LEFT + 0x008AFF3C, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x008AFF7C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008AFF8C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AFFAC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008AFFBC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008AFFCC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008AFFDC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0, + 0, + 0, + 0, + 0x008AFF9C, // TRACK_ELEM_DIAG_FLAT + 0x008B000C, // TRACK_ELEM_DIAG_25_DEG_UP + 0, + 0x008AFFEC, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0, + 0, + 0x008AFFFC, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008B003C, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0, + 0x008B001C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008B002C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008B0D60 */ static const uint32 _OldBoatRideTrackPaintFunctions[256] = { - 0x008B0E40, // TRACK_ELEM_FLAT - 0x008B0E50, // TRACK_ELEM_END_STATION - 0x008B0E60, // TRACK_ELEM_BEGIN_STATION - 0x008B0E70, // TRACK_ELEM_MIDDLE_STATION - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008B0E80, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x008B0E90, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008B0E40, // TRACK_ELEM_FLAT + 0x008B0E50, // TRACK_ELEM_END_STATION + 0x008B0E60, // TRACK_ELEM_BEGIN_STATION + 0x008B0E70, // TRACK_ELEM_MIDDLE_STATION + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008B0E80, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x008B0E90, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A534C */ static const uint32 _OldWoodenWildMouseTrackPaintFunctions[256] = { - 0x008A5464, // TRACK_ELEM_FLAT - 0x008A5534, // TRACK_ELEM_END_STATION - 0x008A5544, // TRACK_ELEM_BEGIN_STATION - 0x008A5554, // TRACK_ELEM_MIDDLE_STATION - 0x008A5474, // TRACK_ELEM_25_DEG_UP - 0x008A5484, // TRACK_ELEM_60_DEG_UP - 0x008A5494, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A54A4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A54B4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A54C4, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A54D4, // TRACK_ELEM_25_DEG_DOWN - 0x008A54E4, // TRACK_ELEM_60_DEG_DOWN - 0x008A54F4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A5504, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A5514, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A5524, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A5564, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A5574, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0x008A5584, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A5594, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A55A4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A55B4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A55C4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x008A55D4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A55E4, // TRACK_ELEM_FLAT_TO_60_DEG_UP - 0x008A55F4, // TRACK_ELEM_60_DEG_UP_TO_FLAT - 0x008A5604, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - 0x008A5614, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008A5464, // TRACK_ELEM_FLAT + 0x008A5534, // TRACK_ELEM_END_STATION + 0x008A5544, // TRACK_ELEM_BEGIN_STATION + 0x008A5554, // TRACK_ELEM_MIDDLE_STATION + 0x008A5474, // TRACK_ELEM_25_DEG_UP + 0x008A5484, // TRACK_ELEM_60_DEG_UP + 0x008A5494, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008A54A4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008A54B4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008A54C4, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008A54D4, // TRACK_ELEM_25_DEG_DOWN + 0x008A54E4, // TRACK_ELEM_60_DEG_DOWN + 0x008A54F4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008A5504, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A5514, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A5524, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A5564, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008A5574, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0x008A5584, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A5594, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A55A4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A55B4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A55C4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x008A55D4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A55E4, // TRACK_ELEM_FLAT_TO_60_DEG_UP + 0x008A55F4, // TRACK_ELEM_60_DEG_UP_TO_FLAT + 0x008A5604, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN + 0x008A5614, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A5634 */ static const uint32 _OldSteeplechaseTrackPaintFunctions[256] = { - 0x008A59A8, // TRACK_ELEM_FLAT - 0x008A5A58, // TRACK_ELEM_END_STATION - 0x008A5A68, // TRACK_ELEM_BEGIN_STATION - 0x008A5A78, // TRACK_ELEM_MIDDLE_STATION - 0x008A59B8, // TRACK_ELEM_25_DEG_UP - 0, - 0x008A59C8, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x008A59D8, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A59E8, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x008A59F8, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008A5A08, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A5A18, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A5A28, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A5A38, // TRACK_ELEM_S_BEND_LEFT - 0x008A5A48, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x008A5A88, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A5A98, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A5AA8, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A5AD8, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A5AE8, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A5AF8, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A5B08, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0, - 0, - 0, - 0, - 0x008A5AC8, // TRACK_ELEM_DIAG_FLAT - 0x008A5B38, // TRACK_ELEM_DIAG_25_DEG_UP - 0, - 0x008A5B18, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0, - 0, - 0x008A5B28, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A5B68, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0, - 0x008A5B48, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008A5B58, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A5AB8, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008A59A8, // TRACK_ELEM_FLAT + 0x008A5A58, // TRACK_ELEM_END_STATION + 0x008A5A68, // TRACK_ELEM_BEGIN_STATION + 0x008A5A78, // TRACK_ELEM_MIDDLE_STATION + 0x008A59B8, // TRACK_ELEM_25_DEG_UP + 0, + 0x008A59C8, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x008A59D8, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008A59E8, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x008A59F8, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008A5A08, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008A5A18, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008A5A28, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A5A38, // TRACK_ELEM_S_BEND_LEFT + 0x008A5A48, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x008A5A88, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008A5A98, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A5AA8, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A5AD8, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008A5AE8, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008A5AF8, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008A5B08, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0, + 0, + 0, + 0, + 0x008A5AC8, // TRACK_ELEM_DIAG_FLAT + 0x008A5B38, // TRACK_ELEM_DIAG_25_DEG_UP + 0, + 0x008A5B18, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0, + 0, + 0x008A5B28, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008A5B68, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0, + 0x008A5B48, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008A5B58, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A5AB8, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x006F7000 */ static const uint32 _OldCarRideTrackPaintFunctions[256] = { - 0x006F72C8, // TRACK_ELEM_FLAT - 0x006F7338, // TRACK_ELEM_END_STATION - 0x006F7348, // TRACK_ELEM_BEGIN_STATION - 0x006F7358, // TRACK_ELEM_MIDDLE_STATION - 0x006F72D8, // TRACK_ELEM_25_DEG_UP - 0x006F73B8, // TRACK_ELEM_60_DEG_UP - 0x006F72E8, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x006F73C8, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x006F73D8, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x006F72F8, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x006F7308, // TRACK_ELEM_25_DEG_DOWN - 0x006F73E8, // TRACK_ELEM_60_DEG_DOWN - 0x006F7318, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x006F73F8, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x006F7408, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x006F7328, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x006F7368, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x006F7378, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0x006F7388, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x006F7398, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x006F7418, // TRACK_ELEM_RAPIDS - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x006F73A8, // TRACK_ELEM_SPINNING_TUNNEL - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x006F72C8, // TRACK_ELEM_FLAT + 0x006F7338, // TRACK_ELEM_END_STATION + 0x006F7348, // TRACK_ELEM_BEGIN_STATION + 0x006F7358, // TRACK_ELEM_MIDDLE_STATION + 0x006F72D8, // TRACK_ELEM_25_DEG_UP + 0x006F73B8, // TRACK_ELEM_60_DEG_UP + 0x006F72E8, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x006F73C8, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x006F73D8, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x006F72F8, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x006F7308, // TRACK_ELEM_25_DEG_DOWN + 0x006F73E8, // TRACK_ELEM_60_DEG_DOWN + 0x006F7318, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x006F73F8, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x006F7408, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x006F7328, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x006F7368, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x006F7378, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0x006F7388, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x006F7398, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x006F7418, // TRACK_ELEM_RAPIDS + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x006F73A8, // TRACK_ELEM_SPINNING_TUNNEL + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x006FD0E8 */ static const uint32 _OldLaunchedFreefallTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x006FD1F8, // TRACK_ELEM_TOWER_BASE - 0x006FD208, // TRACK_ELEM_TOWER_SECTION - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x006FD1F8, // TRACK_ELEM_TOWER_BASE + 0x006FD208, // TRACK_ELEM_TOWER_SECTION + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x006FE240 */ static const uint32 _OldBobsleighCoasterTrackPaintFunctions[256] = { - 0x006FE5B4, // TRACK_ELEM_FLAT - 0x006FE764, // TRACK_ELEM_END_STATION - 0x006FE774, // TRACK_ELEM_BEGIN_STATION - 0x006FE784, // TRACK_ELEM_MIDDLE_STATION - 0x006FE5C4, // TRACK_ELEM_25_DEG_UP - 0, - 0x006FE5D4, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x006FE5E4, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x006FE5F4, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x006FE604, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x006FE614, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x006FE624, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x006FE634, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x006FE644, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x006FE654, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x006FE664, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x006FE674, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x006FE684, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x006FE694, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x006FE6A4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x006FE6B4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x006FE6C4, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x006FE6D4, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x006FE6E4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x006FE6F4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x006FE704, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x006FE714, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x006FE724, // TRACK_ELEM_LEFT_BANK - 0x006FE734, // TRACK_ELEM_RIGHT_BANK - 0, - 0, - 0, - 0, - 0x006FE744, // TRACK_ELEM_S_BEND_LEFT - 0x006FE754, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x006FE794, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x006FE7A4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x006FE7B4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x006FE7C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x006FE7D4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x006FE7E4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x006FE7F4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x006FE804, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x006FE814, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x006FE824, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x006FE834, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x006FE844, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0, - 0, - 0, - 0, - 0x006FE854, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x006FE864, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x006FE5B4, // TRACK_ELEM_FLAT + 0x006FE764, // TRACK_ELEM_END_STATION + 0x006FE774, // TRACK_ELEM_BEGIN_STATION + 0x006FE784, // TRACK_ELEM_MIDDLE_STATION + 0x006FE5C4, // TRACK_ELEM_25_DEG_UP + 0, + 0x006FE5D4, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x006FE5E4, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x006FE5F4, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x006FE604, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x006FE614, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x006FE624, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x006FE634, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x006FE644, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x006FE654, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x006FE664, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x006FE674, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x006FE684, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x006FE694, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x006FE6A4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x006FE6B4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x006FE6C4, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x006FE6D4, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x006FE6E4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x006FE6F4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x006FE704, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x006FE714, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x006FE724, // TRACK_ELEM_LEFT_BANK + 0x006FE734, // TRACK_ELEM_RIGHT_BANK + 0, + 0, + 0, + 0, + 0x006FE744, // TRACK_ELEM_S_BEND_LEFT + 0x006FE754, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x006FE794, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x006FE7A4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x006FE7B4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x006FE7C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x006FE7D4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x006FE7E4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x006FE7F4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x006FE804, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x006FE814, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x006FE824, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x006FE834, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x006FE844, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0, + 0, + 0, + 0, + 0x006FE854, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x006FE864, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0070DC5C */ static const uint32 _OldObservationTowerTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0070DD6C, // TRACK_ELEM_TOWER_BASE - 0x0070DD7C, // TRACK_ELEM_TOWER_SECTION - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0070DD6C, // TRACK_ELEM_TOWER_BASE + 0x0070DD7C, // TRACK_ELEM_TOWER_SECTION + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A5B88 */ static const uint32 _OldLoopingRollerCoasterTrackPaintFunctions[256] = { - 0x008A6370, // TRACK_ELEM_FLAT - 0x008A6600, // TRACK_ELEM_END_STATION - 0x008A6610, // TRACK_ELEM_BEGIN_STATION - 0x008A6620, // TRACK_ELEM_MIDDLE_STATION - 0x008A6380, // TRACK_ELEM_25_DEG_UP - 0x008A6390, // TRACK_ELEM_60_DEG_UP - 0x008A63A0, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A63B0, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A63C0, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A63D0, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A63E0, // TRACK_ELEM_25_DEG_DOWN - 0x008A63F0, // TRACK_ELEM_60_DEG_DOWN - 0x008A6400, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A6410, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A6420, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6430, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A6440, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A6450, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A6460, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A6470, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A6480, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A6490, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A64A0, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A64B0, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A64C0, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A64D0, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A64E0, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A64F0, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A6500, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A6510, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A6520, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A6530, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A6540, // TRACK_ELEM_LEFT_BANK - 0x008A6550, // TRACK_ELEM_RIGHT_BANK - 0x008A6560, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A6570, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A6580, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A6590, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A65A0, // TRACK_ELEM_S_BEND_LEFT - 0x008A65B0, // TRACK_ELEM_S_BEND_RIGHT - 0x008A65C0, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008A65D0, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008A6630, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A6640, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A6650, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A6660, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A6670, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A6680, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A6690, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A66A0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A66B0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008A66C0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008A66D0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A66E0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A66F0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008A6700, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008A6710, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A6720, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A6750, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A6730, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A6740, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A6760, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A6770, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A6A40, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008A6A50, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 0, - 0, - 0x008A6780, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008A6A60, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008A6A70, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A6860, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A6870, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A6880, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A6890, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A68A0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A68B0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A68C0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A68D0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A6790, // TRACK_ELEM_DIAG_FLAT - 0x008A67C0, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A67F0, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A67A0, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A67D0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A67E0, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A67B0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A6820, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A6850, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A6800, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A6830, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A6840, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6810, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008A6900, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A6910, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A6920, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A6930, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A6960, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A6970, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A6940, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A6950, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A6980, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A6990, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A69A0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A69B0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A68E0, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A68F0, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A6C00, // TRACK_ELEM_BLOCK_BRAKES - 0x008A6BC0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A6BD0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A6BE0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A6BF0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A6B80, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A6B90, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A6BA0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A6BB0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A6A80, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008A6A90, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008A6AA0, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A6AB0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A6AC0, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A6AD0, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A6AE0, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6AF0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6B00, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A6B10, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A6B40, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008A6B50, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008A6B60, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A6B70, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A6B20, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008A6B30, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008A69C0, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A69D0, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A69E0, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008A69F0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008A6A00, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A6A10, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A6A20, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008A6A30, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008A6370, // TRACK_ELEM_FLAT + 0x008A6600, // TRACK_ELEM_END_STATION + 0x008A6610, // TRACK_ELEM_BEGIN_STATION + 0x008A6620, // TRACK_ELEM_MIDDLE_STATION + 0x008A6380, // TRACK_ELEM_25_DEG_UP + 0x008A6390, // TRACK_ELEM_60_DEG_UP + 0x008A63A0, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008A63B0, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008A63C0, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008A63D0, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008A63E0, // TRACK_ELEM_25_DEG_DOWN + 0x008A63F0, // TRACK_ELEM_60_DEG_DOWN + 0x008A6400, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008A6410, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A6420, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A6430, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008A6440, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008A6450, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008A6460, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008A6470, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008A6480, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008A6490, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008A64A0, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008A64B0, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008A64C0, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008A64D0, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008A64E0, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008A64F0, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008A6500, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008A6510, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A6520, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008A6530, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A6540, // TRACK_ELEM_LEFT_BANK + 0x008A6550, // TRACK_ELEM_RIGHT_BANK + 0x008A6560, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A6570, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A6580, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A6590, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A65A0, // TRACK_ELEM_S_BEND_LEFT + 0x008A65B0, // TRACK_ELEM_S_BEND_RIGHT + 0x008A65C0, // TRACK_ELEM_LEFT_VERTICAL_LOOP + 0x008A65D0, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + 0x008A6630, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008A6640, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008A6650, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008A6660, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008A6670, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A6680, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A6690, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A66A0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A66B0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008A66C0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008A66D0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008A66E0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008A66F0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008A6700, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008A6710, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008A6720, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008A6750, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008A6730, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008A6740, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008A6760, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008A6770, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A6A40, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + 0x008A6A50, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0, + 0, + 0x008A6780, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008A6A60, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + 0x008A6A70, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A6860, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008A6870, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008A6880, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008A6890, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008A68A0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008A68B0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008A68C0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A68D0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A6790, // TRACK_ELEM_DIAG_FLAT + 0x008A67C0, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008A67F0, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008A67A0, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008A67D0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008A67E0, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008A67B0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008A6820, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008A6850, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008A6800, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008A6830, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A6840, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A6810, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008A6900, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008A6910, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008A6920, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008A6930, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008A6960, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008A6970, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008A6940, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008A6950, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008A6980, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008A6990, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A69A0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008A69B0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A68E0, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008A68F0, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A6C00, // TRACK_ELEM_BLOCK_BRAKES + 0x008A6BC0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008A6BD0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008A6BE0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008A6BF0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008A6B80, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008A6B90, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008A6BA0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008A6BB0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008A6A80, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + 0x008A6A90, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + 0x008A6AA0, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008A6AB0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008A6AC0, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A6AD0, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A6AE0, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008A6AF0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008A6B00, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008A6B10, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008A6B40, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + 0x008A6B50, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + 0x008A6B60, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A6B70, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A6B20, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + 0x008A6B30, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + 0x008A69C0, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008A69D0, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008A69E0, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + 0x008A69F0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + 0x008A6A00, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A6A10, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A6A20, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008A6A30, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0070EDB4 */ static const uint32 _OldDinghySlideTrackPaintFunctions[256] = { - 0x0070EF20, // TRACK_ELEM_FLAT - 0x0070F030, // TRACK_ELEM_END_STATION - 0x0070F040, // TRACK_ELEM_BEGIN_STATION - 0x0070F050, // TRACK_ELEM_MIDDLE_STATION - 0x0070EF30, // TRACK_ELEM_25_DEG_UP - 0x0070EFD0, // TRACK_ELEM_60_DEG_UP - 0x0070EF40, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x0070EF90, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x0070EFA0, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x0070EF50, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0070EF60, // TRACK_ELEM_25_DEG_DOWN - 0x0070EFE0, // TRACK_ELEM_60_DEG_DOWN - 0x0070EF70, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x0070EFB0, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x0070EFC0, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x0070EF80, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x0070EFF0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x0070F000, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0070F010, // TRACK_ELEM_S_BEND_LEFT - 0x0070F020, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x0070F060, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0070F070, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0070F080, // TRACK_ELEM_FLAT_COVERED - 0x0070F090, // TRACK_ELEM_25_DEG_UP_COVERED - 0x0070F130, // TRACK_ELEM_60_DEG_UP_COVERED - 0x0070F0A0, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED - 0x0070F0F0, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED - 0x0070F100, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED - 0x0070F0B0, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED - 0x0070F0C0, // TRACK_ELEM_25_DEG_DOWN_COVERED - 0x0070F140, // TRACK_ELEM_60_DEG_DOWN_COVERED - 0x0070F0D0, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED - 0x0070F110, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED - 0x0070F120, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED - 0x0070F0E0, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED - 0x0070F150, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - 0x0070F160, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - 0x0070F190, // TRACK_ELEM_S_BEND_LEFT_COVERED - 0x0070F1A0, // TRACK_ELEM_S_BEND_RIGHT_COVERED - 0x0070F170, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - 0x0070F180, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0070EF20, // TRACK_ELEM_FLAT + 0x0070F030, // TRACK_ELEM_END_STATION + 0x0070F040, // TRACK_ELEM_BEGIN_STATION + 0x0070F050, // TRACK_ELEM_MIDDLE_STATION + 0x0070EF30, // TRACK_ELEM_25_DEG_UP + 0x0070EFD0, // TRACK_ELEM_60_DEG_UP + 0x0070EF40, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x0070EF90, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x0070EFA0, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x0070EF50, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x0070EF60, // TRACK_ELEM_25_DEG_DOWN + 0x0070EFE0, // TRACK_ELEM_60_DEG_DOWN + 0x0070EF70, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x0070EFB0, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x0070EFC0, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x0070EF80, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x0070EFF0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x0070F000, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0070F010, // TRACK_ELEM_S_BEND_LEFT + 0x0070F020, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x0070F060, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x0070F070, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0070F080, // TRACK_ELEM_FLAT_COVERED + 0x0070F090, // TRACK_ELEM_25_DEG_UP_COVERED + 0x0070F130, // TRACK_ELEM_60_DEG_UP_COVERED + 0x0070F0A0, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED + 0x0070F0F0, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED + 0x0070F100, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED + 0x0070F0B0, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED + 0x0070F0C0, // TRACK_ELEM_25_DEG_DOWN_COVERED + 0x0070F140, // TRACK_ELEM_60_DEG_DOWN_COVERED + 0x0070F0D0, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED + 0x0070F110, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED + 0x0070F120, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED + 0x0070F0E0, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED + 0x0070F150, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED + 0x0070F160, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED + 0x0070F190, // TRACK_ELEM_S_BEND_LEFT_COVERED + 0x0070F1A0, // TRACK_ELEM_S_BEND_RIGHT_COVERED + 0x0070F170, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED + 0x0070F180, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0071BC40 */ static const uint32 _OldMineTrainCoasterTrackPaintFunctions[256] = { - 0x0071BFA4, // TRACK_ELEM_FLAT - 0x0071C154, // TRACK_ELEM_END_STATION - 0x0071C164, // TRACK_ELEM_BEGIN_STATION - 0x0071C174, // TRACK_ELEM_MIDDLE_STATION - 0x0071BFB4, // TRACK_ELEM_25_DEG_UP - 0x0071BFC4, // TRACK_ELEM_60_DEG_UP - 0x0071BFD4, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x0071BFE4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x0071BFF4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x0071C004, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0071C014, // TRACK_ELEM_25_DEG_DOWN - 0x0071C024, // TRACK_ELEM_60_DEG_DOWN - 0x0071C034, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x0071C044, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x0071C054, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x0071C064, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x0071C0B4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x0071C0C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x0071C074, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x0071C084, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x0071C094, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x0071C0A4, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x0071C0D4, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x0071C0E4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x0071C204, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x0071C214, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x0071C224, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x0071C234, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x0071C244, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x0071C254, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x0071C264, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x0071C274, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x0071C304, // TRACK_ELEM_LEFT_BANK - 0x0071C314, // TRACK_ELEM_RIGHT_BANK - 0x0071C0F4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x0071C104, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x0071C114, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x0071C124, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x0071C134, // TRACK_ELEM_S_BEND_LEFT - 0x0071C144, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x0071C184, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0071C194, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x0071C1A4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x0071C1B4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x0071C1C4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x0071C1D4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x0071C1E4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x0071C1F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0071C284, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x0071C294, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x0071C2A4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x0071C2B4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x0071C2C4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x0071C2D4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x0071C2E4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x0071C2F4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0, - 0, - 0, - 0, - 0x0071C324, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0071C334, // TRACK_ELEM_ON_RIDE_PHOTO - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0071C354, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x0071C364, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x0071C374, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x0071C384, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x0071C394, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x0071C3A4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x0071C3B4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x0071C3C4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x0071C344, // TRACK_ELEM_DIAG_FLAT - 0x0071C414, // TRACK_ELEM_DIAG_25_DEG_UP - 0x0071C474, // TRACK_ELEM_DIAG_60_DEG_UP - 0x0071C3F4, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x0071C454, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x0071C464, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x0071C404, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x0071C444, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x0071C4A4, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x0071C424, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x0071C484, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x0071C494, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x0071C434, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x0071C4D4, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x0071C4B4, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x0071C4C4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x0071C4E4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x0071C514, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x0071C524, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x0071C4F4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x0071C504, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x0071C534, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x0071C544, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x0071C554, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x0071C564, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x0071C3D4, // TRACK_ELEM_DIAG_LEFT_BANK - 0x0071C3E4, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0071C574, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0071BFA4, // TRACK_ELEM_FLAT + 0x0071C154, // TRACK_ELEM_END_STATION + 0x0071C164, // TRACK_ELEM_BEGIN_STATION + 0x0071C174, // TRACK_ELEM_MIDDLE_STATION + 0x0071BFB4, // TRACK_ELEM_25_DEG_UP + 0x0071BFC4, // TRACK_ELEM_60_DEG_UP + 0x0071BFD4, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x0071BFE4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x0071BFF4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x0071C004, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x0071C014, // TRACK_ELEM_25_DEG_DOWN + 0x0071C024, // TRACK_ELEM_60_DEG_DOWN + 0x0071C034, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x0071C044, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x0071C054, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x0071C064, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x0071C0B4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x0071C0C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x0071C074, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x0071C084, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x0071C094, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x0071C0A4, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x0071C0D4, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x0071C0E4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x0071C204, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x0071C214, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x0071C224, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x0071C234, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x0071C244, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x0071C254, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x0071C264, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x0071C274, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x0071C304, // TRACK_ELEM_LEFT_BANK + 0x0071C314, // TRACK_ELEM_RIGHT_BANK + 0x0071C0F4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x0071C104, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x0071C114, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x0071C124, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x0071C134, // TRACK_ELEM_S_BEND_LEFT + 0x0071C144, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x0071C184, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x0071C194, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x0071C1A4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x0071C1B4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x0071C1C4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x0071C1D4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x0071C1E4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x0071C1F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0071C284, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x0071C294, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x0071C2A4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x0071C2B4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x0071C2C4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x0071C2D4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x0071C2E4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x0071C2F4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0, + 0, + 0, + 0, + 0x0071C324, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0071C334, // TRACK_ELEM_ON_RIDE_PHOTO + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0071C354, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x0071C364, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x0071C374, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x0071C384, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x0071C394, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x0071C3A4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x0071C3B4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x0071C3C4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x0071C344, // TRACK_ELEM_DIAG_FLAT + 0x0071C414, // TRACK_ELEM_DIAG_25_DEG_UP + 0x0071C474, // TRACK_ELEM_DIAG_60_DEG_UP + 0x0071C3F4, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x0071C454, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x0071C464, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x0071C404, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x0071C444, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x0071C4A4, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x0071C424, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x0071C484, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x0071C494, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x0071C434, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x0071C4D4, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x0071C4B4, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x0071C4C4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x0071C4E4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x0071C514, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x0071C524, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x0071C4F4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x0071C504, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x0071C534, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x0071C544, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x0071C554, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x0071C564, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x0071C3D4, // TRACK_ELEM_DIAG_LEFT_BANK + 0x0071C3E4, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0071C574, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00743EC8 */ static const uint32 _OldChairliftTrackPaintFunctions[256] = { - 0x00743FC8, // TRACK_ELEM_FLAT - 0x00743F98, // TRACK_ELEM_END_STATION - 0x00743FA8, // TRACK_ELEM_BEGIN_STATION - 0x00743FB8, // TRACK_ELEM_MIDDLE_STATION - 0x00743FD8, // TRACK_ELEM_25_DEG_UP - 0, - 0x00743FE8, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x00743FF8, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x00744008, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x00744018, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x00744028, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00744038, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x00744048, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x00743FC8, // TRACK_ELEM_FLAT + 0x00743F98, // TRACK_ELEM_END_STATION + 0x00743FA8, // TRACK_ELEM_BEGIN_STATION + 0x00743FB8, // TRACK_ELEM_MIDDLE_STATION + 0x00743FD8, // TRACK_ELEM_25_DEG_UP + 0, + 0x00743FE8, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x00743FF8, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x00744008, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x00744018, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x00744028, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00744038, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x00744048, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A7784 */ static const uint32 _OldCorkscrewRollerCoasterTrackPaintFunctions[256] = { - 0x008A7AF8, // TRACK_ELEM_FLAT - 0x008A7D68, // TRACK_ELEM_END_STATION - 0x008A7D78, // TRACK_ELEM_BEGIN_STATION - 0x008A7D88, // TRACK_ELEM_MIDDLE_STATION - 0x008A7B08, // TRACK_ELEM_25_DEG_UP - 0x008A7B18, // TRACK_ELEM_60_DEG_UP - 0x008A7B28, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A7B38, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A7B48, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A7B58, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A7B68, // TRACK_ELEM_25_DEG_DOWN - 0x008A7B78, // TRACK_ELEM_60_DEG_DOWN - 0x008A7B88, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A7B98, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A7BA8, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A7BB8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A7BC8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A7BD8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A7BE8, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A7BF8, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A7C08, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A7C18, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A7C28, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A7C38, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A7C48, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A7C58, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A7C68, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A7C78, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A7C88, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A7C98, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A7CA8, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A7CB8, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A7CC8, // TRACK_ELEM_LEFT_BANK - 0x008A7CD8, // TRACK_ELEM_RIGHT_BANK - 0x008A7CE8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A7CF8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A7D08, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A7D18, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A7D28, // TRACK_ELEM_S_BEND_LEFT - 0x008A7D38, // TRACK_ELEM_S_BEND_RIGHT - 0x008A7D48, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008A7D58, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008A7D98, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A7DA8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A7DB8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A7DC8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A7DD8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A7DE8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A7DF8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A7E08, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A7E18, // TRACK_ELEM_HALF_LOOP_UP - 0x008A7E28, // TRACK_ELEM_HALF_LOOP_DOWN - 0x008A7E38, // TRACK_ELEM_LEFT_CORKSCREW_UP - 0x008A7E48, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 0x008A7E58, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 0x008A7E68, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A7E78, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008A7E88, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008A7E98, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A7EA8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A7EB8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008A7EC8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008A7ED8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A7EE8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A7F18, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A7EF8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A7F08, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A7F28, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A7F38, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A7F48, // TRACK_ELEM_ON_RIDE_PHOTO - 0, - 0, - 0, - 0x008A8198, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - 0x008A81A8, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - 0, - 0x008A81B8, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - 0x008A81C8, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A7F68, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A7F78, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A7F88, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A7F98, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A7FA8, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A7FB8, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A7FC8, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A7FD8, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A7F58, // TRACK_ELEM_DIAG_FLAT - 0x008A8008, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A8068, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A7FE8, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A8048, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A8058, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A7FF8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A8038, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A8098, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A8018, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A8078, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A8088, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A8028, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008A80C8, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A80D8, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A80E8, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A80F8, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A8128, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A8138, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A8108, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A8118, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A8148, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A8158, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A8168, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A8178, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A80A8, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A80B8, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A8188, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008A7AF8, // TRACK_ELEM_FLAT + 0x008A7D68, // TRACK_ELEM_END_STATION + 0x008A7D78, // TRACK_ELEM_BEGIN_STATION + 0x008A7D88, // TRACK_ELEM_MIDDLE_STATION + 0x008A7B08, // TRACK_ELEM_25_DEG_UP + 0x008A7B18, // TRACK_ELEM_60_DEG_UP + 0x008A7B28, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008A7B38, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008A7B48, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008A7B58, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008A7B68, // TRACK_ELEM_25_DEG_DOWN + 0x008A7B78, // TRACK_ELEM_60_DEG_DOWN + 0x008A7B88, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008A7B98, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A7BA8, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A7BB8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008A7BC8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008A7BD8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008A7BE8, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008A7BF8, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008A7C08, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008A7C18, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008A7C28, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008A7C38, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008A7C48, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008A7C58, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008A7C68, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008A7C78, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008A7C88, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008A7C98, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A7CA8, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008A7CB8, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A7CC8, // TRACK_ELEM_LEFT_BANK + 0x008A7CD8, // TRACK_ELEM_RIGHT_BANK + 0x008A7CE8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A7CF8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A7D08, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A7D18, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A7D28, // TRACK_ELEM_S_BEND_LEFT + 0x008A7D38, // TRACK_ELEM_S_BEND_RIGHT + 0x008A7D48, // TRACK_ELEM_LEFT_VERTICAL_LOOP + 0x008A7D58, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + 0x008A7D98, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008A7DA8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008A7DB8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008A7DC8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008A7DD8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A7DE8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A7DF8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A7E08, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A7E18, // TRACK_ELEM_HALF_LOOP_UP + 0x008A7E28, // TRACK_ELEM_HALF_LOOP_DOWN + 0x008A7E38, // TRACK_ELEM_LEFT_CORKSCREW_UP + 0x008A7E48, // TRACK_ELEM_RIGHT_CORKSCREW_UP + 0x008A7E58, // TRACK_ELEM_LEFT_CORKSCREW_DOWN + 0x008A7E68, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A7E78, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008A7E88, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008A7E98, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008A7EA8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008A7EB8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008A7EC8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008A7ED8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008A7EE8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008A7F18, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008A7EF8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008A7F08, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008A7F28, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008A7F38, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A7F48, // TRACK_ELEM_ON_RIDE_PHOTO + 0, + 0, + 0, + 0x008A8198, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE + 0x008A81A8, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE + 0, + 0x008A81B8, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE + 0x008A81C8, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A7F68, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008A7F78, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008A7F88, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008A7F98, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008A7FA8, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008A7FB8, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008A7FC8, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A7FD8, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A7F58, // TRACK_ELEM_DIAG_FLAT + 0x008A8008, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008A8068, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008A7FE8, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008A8048, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008A8058, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008A7FF8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008A8038, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008A8098, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008A8018, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008A8078, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A8088, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A8028, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008A80C8, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008A80D8, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008A80E8, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008A80F8, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008A8128, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008A8138, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008A8108, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008A8118, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008A8148, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008A8158, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A8168, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008A8178, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A80A8, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008A80B8, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A8188, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A81E8 */ static const uint32 _OldMazeTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A8380, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A8380, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0074840C */ static const uint32 _OldSpiralSlideTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x007485C8, // 110 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x007485C8, // 110 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0074A668 */ static const uint32 _OldGoKartsTrackPaintFunctions[256] = { - 0x0074A748, // TRACK_ELEM_FLAT - 0x0074A7B8, // TRACK_ELEM_END_STATION - 0x0074A7C8, // TRACK_ELEM_BEGIN_STATION - 0x0074A7D8, // TRACK_ELEM_MIDDLE_STATION - 0x0074A758, // TRACK_ELEM_25_DEG_UP - 0, - 0x0074A768, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x0074A778, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0074A788, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x0074A798, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x0074A7A8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0074A7E8, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x0074A7F8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0074A748, // TRACK_ELEM_FLAT + 0x0074A7B8, // TRACK_ELEM_END_STATION + 0x0074A7C8, // TRACK_ELEM_BEGIN_STATION + 0x0074A7D8, // TRACK_ELEM_MIDDLE_STATION + 0x0074A758, // TRACK_ELEM_25_DEG_UP + 0, + 0x0074A768, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x0074A778, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x0074A788, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x0074A798, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x0074A7A8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0074A7E8, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x0074A7F8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0074DDEC */ static const uint32 _OldLogFlumeTrackPaintFunctions[256] = { - 0x0074E0B0, // TRACK_ELEM_FLAT - 0x0074E140, // TRACK_ELEM_END_STATION - 0x0074E150, // TRACK_ELEM_BEGIN_STATION - 0x0074E160, // TRACK_ELEM_MIDDLE_STATION - 0x0074E0C0, // TRACK_ELEM_25_DEG_UP - 0, - 0x0074E0D0, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x0074E0E0, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0074E0F0, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x0074E100, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x0074E110, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0074E120, // TRACK_ELEM_S_BEND_LEFT - 0x0074E130, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x0074E170, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0074E180, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0074E1A0, // TRACK_ELEM_ON_RIDE_PHOTO - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0074E190, // TRACK_ELEM_LOG_FLUME_REVERSER - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0074E0B0, // TRACK_ELEM_FLAT + 0x0074E140, // TRACK_ELEM_END_STATION + 0x0074E150, // TRACK_ELEM_BEGIN_STATION + 0x0074E160, // TRACK_ELEM_MIDDLE_STATION + 0x0074E0C0, // TRACK_ELEM_25_DEG_UP + 0, + 0x0074E0D0, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x0074E0E0, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x0074E0F0, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x0074E100, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x0074E110, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0074E120, // TRACK_ELEM_S_BEND_LEFT + 0x0074E130, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x0074E170, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x0074E180, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0074E1A0, // TRACK_ELEM_ON_RIDE_PHOTO + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0074E190, // TRACK_ELEM_LOG_FLUME_REVERSER + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0075745C */ static const uint32 _OldRiverRapidsTrackPaintFunctions[256] = { - 0x00757650, // TRACK_ELEM_FLAT - 0x007576C0, // TRACK_ELEM_END_STATION - 0x007576D0, // TRACK_ELEM_BEGIN_STATION - 0x007576E0, // TRACK_ELEM_MIDDLE_STATION - 0x00757660, // TRACK_ELEM_25_DEG_UP - 0, - 0x00757670, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x00757680, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x00757690, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x007576A0, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x007576B0, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x007576F0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x00757700, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00757710, // TRACK_ELEM_WATERFALL - 0x00757720, // TRACK_ELEM_RAPIDS - 0x00757740, // TRACK_ELEM_ON_RIDE_PHOTO - 0, - 0, - 0, - 0, - 0, - 0x00757730, // TRACK_ELEM_WHIRLPOOL - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x00757650, // TRACK_ELEM_FLAT + 0x007576C0, // TRACK_ELEM_END_STATION + 0x007576D0, // TRACK_ELEM_BEGIN_STATION + 0x007576E0, // TRACK_ELEM_MIDDLE_STATION + 0x00757660, // TRACK_ELEM_25_DEG_UP + 0, + 0x00757670, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x00757680, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x00757690, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x007576A0, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x007576B0, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x007576F0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x00757700, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00757710, // TRACK_ELEM_WATERFALL + 0x00757720, // TRACK_ELEM_RAPIDS + 0x00757740, // TRACK_ELEM_ON_RIDE_PHOTO + 0, + 0, + 0, + 0, + 0, + 0x00757730, // TRACK_ELEM_WHIRLPOOL + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0075C9D0 */ static const uint32 _OldDodgemsTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0075CBA0, // 111 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0075CBA0, // 111 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A83E0 */ static const uint32 _OldPirateShipTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A85C4, // 116 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A85C4, // 116 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00760070 */ static const uint32 _OldSwingingInverterShipTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00760260, // 119 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00760260, // 119 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** @@ -7302,522 +7302,522 @@ static const uint32 _OldSwingingInverterShipTrackPaintFunctions[256] = { * rct2: 0x00761160 */ static const uint32 _OldShopTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00761358, // 118 - 0, - 0, - 0x00761358, // 121 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00761358, // 118 + 0, + 0, + 0x00761358, // 121 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0076190C */ static const uint32 _OldMerryGoRoundTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00761B0C, // 123 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00761B0C, // 123 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** @@ -7826,11536 +7826,11536 @@ static const uint32 _OldMerryGoRoundTrackPaintFunctions[256] = { * rct2: 0x00762D44 */ static const uint32 _OldFacilityTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00762F30, // 118 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00762F30, // 118 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A8CC8 */ static const uint32 _OldFerrisWheelTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A8EC4, // 122 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A8EC4, // 122 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00763520 */ static const uint32 _OldMotionSimulatorTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x007636EC, // 110 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x007636EC, // 110 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0076554C */ static const uint32 _Old3DCinemaTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0076574C, // 123 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0076574C, // 123 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0076659C */ static const uint32 _OldTopSpinTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0076679C, // 123 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0076679C, // 123 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00767A40 */ static const uint32 _OldSpaceRingsTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00767C40, // 123 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00767C40, // 123 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00768BAC */ static const uint32 _OldReverseFreefallCoasterTrackPaintFunctions[256] = { - 0x00768DB4, // TRACK_ELEM_FLAT - 0x00768DC4, // TRACK_ELEM_END_STATION - 0x00768DD4, // TRACK_ELEM_BEGIN_STATION - 0x00768DE4, // TRACK_ELEM_MIDDLE_STATION - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00768DF4, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE - 0x00768E04, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x00768DB4, // TRACK_ELEM_FLAT + 0x00768DC4, // TRACK_ELEM_END_STATION + 0x00768DD4, // TRACK_ELEM_BEGIN_STATION + 0x00768DE4, // TRACK_ELEM_MIDDLE_STATION + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00768DF4, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE + 0x00768E04, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0076C5BC */ static const uint32 _OldLiftTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0076C6CC, // TRACK_ELEM_TOWER_BASE - 0x0076C6DC, // TRACK_ELEM_TOWER_SECTION - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0076C6CC, // TRACK_ELEM_TOWER_BASE + 0x0076C6DC, // TRACK_ELEM_TOWER_SECTION + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A9C08 */ static const uint32 _OldVerticalDropRollerCoasterTrackPaintFunctions[256] = { - 0x008AA00C, // TRACK_ELEM_FLAT - 0x008AA25C, // TRACK_ELEM_END_STATION - 0x008AA26C, // TRACK_ELEM_BEGIN_STATION - 0x008AA27C, // TRACK_ELEM_MIDDLE_STATION - 0x008AA01C, // TRACK_ELEM_25_DEG_UP - 0x008AA02C, // TRACK_ELEM_60_DEG_UP - 0x008AA03C, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008AA04C, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008AA05C, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008AA06C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AA07C, // TRACK_ELEM_25_DEG_DOWN - 0x008AA08C, // TRACK_ELEM_60_DEG_DOWN - 0x008AA09C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008AA0AC, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AA0BC, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AA0CC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AA0DC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AA0EC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AA0FC, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AA10C, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AA11C, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AA12C, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AA13C, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AA14C, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AA15C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AA16C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AA17C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AA18C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AA19C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AA1AC, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AA1BC, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AA1CC, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AA1DC, // TRACK_ELEM_LEFT_BANK - 0x008AA1EC, // TRACK_ELEM_RIGHT_BANK - 0x008AA1FC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AA20C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AA21C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AA22C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AA23C, // TRACK_ELEM_S_BEND_LEFT - 0x008AA24C, // TRACK_ELEM_S_BEND_RIGHT - 0x008AA49C, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008AA4AC, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008AA28C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AA29C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AA2AC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AA2BC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AA2CC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AA2DC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AA2EC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AA2FC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AA3CC, // TRACK_ELEM_FLAT_TO_60_DEG_UP - 0x008AA3DC, // TRACK_ELEM_60_DEG_UP_TO_FLAT - 0x008AA3EC, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - 0x008AA3FC, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AA30C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008AA31C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008AA32C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AA33C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AA34C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008AA35C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008AA36C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008AA37C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008AA3AC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008AA38C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008AA39C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008AA3BC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008AA40C, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AA7EC, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008AA7FC, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 0, - 0, - 0x008AA41C, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008AA80C, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008AA81C, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AA42C, // TRACK_ELEM_90_DEG_UP - 0x008AA43C, // TRACK_ELEM_90_DEG_DOWN - 0x008AA44C, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 0x008AA45C, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 0x008AA46C, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 0x008AA47C, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - 0x008AA48C, // TRACK_ELEM_BRAKE_FOR_DROP - 0x008AA4CC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AA4DC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AA4EC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AA4FC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008AA50C, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008AA51C, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008AA52C, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AA53C, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AA4BC, // TRACK_ELEM_DIAG_FLAT - 0x008AA56C, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008AA5CC, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008AA54C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008AA5AC, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008AA5BC, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008AA55C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AA59C, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008AA5FC, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008AA57C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008AA5DC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AA5EC, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AA58C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0x008AA6EC, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP - 0x008AA6FC, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT - 0x008AA70C, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN - 0x008AA71C, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT - 0x008AA62C, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008AA63C, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008AA64C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008AA65C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008AA68C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008AA69C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008AA66C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008AA67C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008AA6AC, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008AA6BC, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AA6CC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008AA6DC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AA60C, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008AA61C, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AA72C, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AA73C, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AA74C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - 0x008AA75C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AA9EC, // TRACK_ELEM_BLOCK_BRAKES - 0x008AA96C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008AA97C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008AA98C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008AA99C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008AA8AC, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008AA8BC, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008AA8CC, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008AA8DC, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008AA82C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008AA83C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008AA84C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008AA85C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008AA86C, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008AA87C, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008AA88C, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008AA89C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008AA8EC, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008AA8FC, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008AA92C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008AA93C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008AA94C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008AA95C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008AA90C, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008AA91C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008AA76C, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008AA77C, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008AA78C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008AA79C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008AA7AC, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008AA7BC, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008AA7CC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008AA7DC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008AA9AC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008AA9BC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008AA9CC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 0x008AA9DC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 0, - 0, - 0, + 0x008AA00C, // TRACK_ELEM_FLAT + 0x008AA25C, // TRACK_ELEM_END_STATION + 0x008AA26C, // TRACK_ELEM_BEGIN_STATION + 0x008AA27C, // TRACK_ELEM_MIDDLE_STATION + 0x008AA01C, // TRACK_ELEM_25_DEG_UP + 0x008AA02C, // TRACK_ELEM_60_DEG_UP + 0x008AA03C, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008AA04C, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008AA05C, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008AA06C, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008AA07C, // TRACK_ELEM_25_DEG_DOWN + 0x008AA08C, // TRACK_ELEM_60_DEG_DOWN + 0x008AA09C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008AA0AC, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008AA0BC, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008AA0CC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008AA0DC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008AA0EC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008AA0FC, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008AA10C, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008AA11C, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008AA12C, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008AA13C, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008AA14C, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008AA15C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008AA16C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008AA17C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008AA18C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008AA19C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008AA1AC, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008AA1BC, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008AA1CC, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AA1DC, // TRACK_ELEM_LEFT_BANK + 0x008AA1EC, // TRACK_ELEM_RIGHT_BANK + 0x008AA1FC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AA20C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AA21C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AA22C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AA23C, // TRACK_ELEM_S_BEND_LEFT + 0x008AA24C, // TRACK_ELEM_S_BEND_RIGHT + 0x008AA49C, // TRACK_ELEM_LEFT_VERTICAL_LOOP + 0x008AA4AC, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + 0x008AA28C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008AA29C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008AA2AC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008AA2BC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008AA2CC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AA2DC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AA2EC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AA2FC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AA3CC, // TRACK_ELEM_FLAT_TO_60_DEG_UP + 0x008AA3DC, // TRACK_ELEM_60_DEG_UP_TO_FLAT + 0x008AA3EC, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN + 0x008AA3FC, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AA30C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008AA31C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008AA32C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008AA33C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008AA34C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008AA35C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008AA36C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008AA37C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008AA3AC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008AA38C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008AA39C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008AA3BC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008AA40C, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AA7EC, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + 0x008AA7FC, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0, + 0, + 0x008AA41C, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008AA80C, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + 0x008AA81C, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AA42C, // TRACK_ELEM_90_DEG_UP + 0x008AA43C, // TRACK_ELEM_90_DEG_DOWN + 0x008AA44C, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP + 0x008AA45C, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN + 0x008AA46C, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP + 0x008AA47C, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 0x008AA48C, // TRACK_ELEM_BRAKE_FOR_DROP + 0x008AA4CC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008AA4DC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008AA4EC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008AA4FC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008AA50C, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008AA51C, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008AA52C, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008AA53C, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008AA4BC, // TRACK_ELEM_DIAG_FLAT + 0x008AA56C, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008AA5CC, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008AA54C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008AA5AC, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008AA5BC, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008AA55C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008AA59C, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008AA5FC, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008AA57C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008AA5DC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008AA5EC, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008AA58C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008AA6EC, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP + 0x008AA6FC, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT + 0x008AA70C, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN + 0x008AA71C, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT + 0x008AA62C, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008AA63C, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008AA64C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008AA65C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008AA68C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008AA69C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008AA66C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008AA67C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008AA6AC, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008AA6BC, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008AA6CC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008AA6DC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AA60C, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008AA61C, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AA72C, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AA73C, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AA74C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK + 0x008AA75C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AA9EC, // TRACK_ELEM_BLOCK_BRAKES + 0x008AA96C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008AA97C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008AA98C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008AA99C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008AA8AC, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008AA8BC, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008AA8CC, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008AA8DC, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008AA82C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + 0x008AA83C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + 0x008AA84C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008AA85C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008AA86C, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + 0x008AA87C, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008AA88C, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008AA89C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008AA8EC, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008AA8FC, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008AA92C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + 0x008AA93C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + 0x008AA94C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008AA95C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008AA90C, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + 0x008AA91C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + 0x008AA76C, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008AA77C, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008AA78C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + 0x008AA79C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + 0x008AA7AC, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008AA7BC, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008AA7CC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008AA7DC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008AA9AC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP + 0x008AA9BC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP + 0x008AA9CC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 0x008AA9DC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 0, + 0, + 0, }; /** rct2: 0x0076D658 */ static const uint32 _OldTwistTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0076D858, // 123 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0076D858, // 123 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0076E7B0 */ static const uint32 _OldHauntedHouseTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0076E9B0, // 123 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0076E9B0, // 123 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0076F8D4 */ static const uint32 _OldCircusShowTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0076FAD4, // 123 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0076FAD4, // 123 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00770924 */ static const uint32 _OldGhostTrainTrackPaintFunctions[256] = { - 0x00770BEC, // TRACK_ELEM_FLAT - 0x00770C5C, // TRACK_ELEM_END_STATION - 0x00770C6C, // TRACK_ELEM_BEGIN_STATION - 0x00770C7C, // TRACK_ELEM_MIDDLE_STATION - 0x00770BFC, // TRACK_ELEM_25_DEG_UP - 0, - 0x00770C0C, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x00770C1C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x00770C2C, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x00770C3C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x00770C4C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00770C8C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x00770C9C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0x00770CAC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x00770CBC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00770CDC, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00770CCC, // TRACK_ELEM_SPINNING_TUNNEL - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x00770BEC, // TRACK_ELEM_FLAT + 0x00770C5C, // TRACK_ELEM_END_STATION + 0x00770C6C, // TRACK_ELEM_BEGIN_STATION + 0x00770C7C, // TRACK_ELEM_MIDDLE_STATION + 0x00770BFC, // TRACK_ELEM_25_DEG_UP + 0, + 0x00770C0C, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x00770C1C, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x00770C2C, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x00770C3C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x00770C4C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00770C8C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x00770C9C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0x00770CAC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x00770CBC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00770CDC, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00770CCC, // TRACK_ELEM_SPINNING_TUNNEL + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008AB2A0 */ static const uint32 _OldTwisterRollerCoasterTrackPaintFunctions[256] = { - 0x008AB6A4, // TRACK_ELEM_FLAT - 0x008AB8F4, // TRACK_ELEM_END_STATION - 0x008AB904, // TRACK_ELEM_BEGIN_STATION - 0x008AB914, // TRACK_ELEM_MIDDLE_STATION - 0x008AB6B4, // TRACK_ELEM_25_DEG_UP - 0x008AB6C4, // TRACK_ELEM_60_DEG_UP - 0x008AB6D4, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008AB6E4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008AB6F4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008AB704, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AB714, // TRACK_ELEM_25_DEG_DOWN - 0x008AB724, // TRACK_ELEM_60_DEG_DOWN - 0x008AB734, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008AB744, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AB754, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AB764, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AB774, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AB784, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AB794, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AB7A4, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AB7B4, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AB7C4, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AB7D4, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AB7E4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AB7F4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AB804, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AB814, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AB824, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AB834, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AB844, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AB854, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AB864, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AB874, // TRACK_ELEM_LEFT_BANK - 0x008AB884, // TRACK_ELEM_RIGHT_BANK - 0x008AB894, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AB8A4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AB8B4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AB8C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AB8D4, // TRACK_ELEM_S_BEND_LEFT - 0x008AB8E4, // TRACK_ELEM_S_BEND_RIGHT - 0x008ABA84, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008ABA94, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008AB924, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AB934, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AB944, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AB954, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AB964, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AB974, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AB984, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AB994, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0x008ABCD4, // TRACK_ELEM_HALF_LOOP_UP - 0x008ABCE4, // TRACK_ELEM_HALF_LOOP_DOWN - 0x008ABD34, // TRACK_ELEM_LEFT_CORKSCREW_UP - 0x008ABD44, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 0x008ABD54, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 0x008ABD64, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AB9A4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008AB9B4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008AB9C4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AB9D4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AB9E4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008AB9F4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008ABA04, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008ABA14, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008ABA44, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008ABA24, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008ABA34, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008ABA54, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008ABA64, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008ABE04, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008ABE14, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 0, - 0, - 0x008ABA74, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008ABE24, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008ABE34, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 0, - 0x008AC0F4, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - 0x008AC104, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - 0, - 0x008AC114, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - 0x008AC124, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - 0, - 0, - 0, - 0x008ABE44, // TRACK_ELEM_90_DEG_UP - 0x008ABE54, // TRACK_ELEM_90_DEG_DOWN - 0x008ABE64, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 0x008ABE74, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 0x008ABE84, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 0x008ABE94, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - 0, - 0x008ABAB4, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008ABAC4, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008ABAD4, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008ABAE4, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008ABAF4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008ABB04, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008ABB14, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008ABB24, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008ABAA4, // TRACK_ELEM_DIAG_FLAT - 0x008ABB54, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008ABBB4, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008ABB34, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008ABB94, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008ABBA4, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008ABB44, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008ABB84, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008ABBE4, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008ABB64, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008ABBC4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008ABBD4, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008ABB74, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008ABC14, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008ABC24, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008ABC34, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008ABC44, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008ABC74, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008ABC84, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008ABC54, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008ABC64, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008ABC94, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008ABCA4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008ABCB4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008ABCC4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008ABBF4, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008ABC04, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0x008ABCF4, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - 0x008ABD04, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - 0x008ABD14, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - 0x008ABD24, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - 0x008ABD74, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008ABD84, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008ABD94, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - 0x008ABDA4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - 0x008ABDB4, // TRACK_ELEM_POWERED_LIFT - 0x008ABDC4, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - 0x008ABDD4, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - 0x008ABDE4, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - 0x008ABDF4, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AC134, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP - 0x008AC144, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AC0E4, // TRACK_ELEM_BLOCK_BRAKES - 0x008ABEA4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008ABEB4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008ABEC4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008ABED4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008ABEE4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008ABEF4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008ABF04, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008ABF14, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008ABF24, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008ABF34, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008ABF44, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008ABF54, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008ABF64, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ABF74, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ABF84, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008ABF94, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008ABFA4, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008ABFB4, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008ABFE4, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008ABFF4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008AC004, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008AC014, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ABFC4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008ABFD4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008AC024, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008AC034, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008AC044, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008AC054, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008AC064, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008AC074, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008AC084, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008AC094, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008AC0A4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008AC0B4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008AC0C4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 0x008AC0D4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 0, - 0, - 0, + 0x008AB6A4, // TRACK_ELEM_FLAT + 0x008AB8F4, // TRACK_ELEM_END_STATION + 0x008AB904, // TRACK_ELEM_BEGIN_STATION + 0x008AB914, // TRACK_ELEM_MIDDLE_STATION + 0x008AB6B4, // TRACK_ELEM_25_DEG_UP + 0x008AB6C4, // TRACK_ELEM_60_DEG_UP + 0x008AB6D4, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008AB6E4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008AB6F4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008AB704, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008AB714, // TRACK_ELEM_25_DEG_DOWN + 0x008AB724, // TRACK_ELEM_60_DEG_DOWN + 0x008AB734, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008AB744, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008AB754, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008AB764, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008AB774, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008AB784, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008AB794, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008AB7A4, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008AB7B4, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008AB7C4, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008AB7D4, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008AB7E4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008AB7F4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008AB804, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008AB814, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008AB824, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008AB834, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008AB844, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008AB854, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008AB864, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AB874, // TRACK_ELEM_LEFT_BANK + 0x008AB884, // TRACK_ELEM_RIGHT_BANK + 0x008AB894, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AB8A4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AB8B4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AB8C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AB8D4, // TRACK_ELEM_S_BEND_LEFT + 0x008AB8E4, // TRACK_ELEM_S_BEND_RIGHT + 0x008ABA84, // TRACK_ELEM_LEFT_VERTICAL_LOOP + 0x008ABA94, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + 0x008AB924, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008AB934, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008AB944, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008AB954, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008AB964, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AB974, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AB984, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AB994, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0x008ABCD4, // TRACK_ELEM_HALF_LOOP_UP + 0x008ABCE4, // TRACK_ELEM_HALF_LOOP_DOWN + 0x008ABD34, // TRACK_ELEM_LEFT_CORKSCREW_UP + 0x008ABD44, // TRACK_ELEM_RIGHT_CORKSCREW_UP + 0x008ABD54, // TRACK_ELEM_LEFT_CORKSCREW_DOWN + 0x008ABD64, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AB9A4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008AB9B4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008AB9C4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008AB9D4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008AB9E4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008AB9F4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008ABA04, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008ABA14, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008ABA44, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008ABA24, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008ABA34, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008ABA54, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008ABA64, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008ABE04, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + 0x008ABE14, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0, + 0, + 0x008ABA74, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008ABE24, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + 0x008ABE34, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0, + 0x008AC0F4, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE + 0x008AC104, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE + 0, + 0x008AC114, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE + 0x008AC124, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 + 0, + 0, + 0, + 0x008ABE44, // TRACK_ELEM_90_DEG_UP + 0x008ABE54, // TRACK_ELEM_90_DEG_DOWN + 0x008ABE64, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP + 0x008ABE74, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN + 0x008ABE84, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP + 0x008ABE94, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 0, + 0x008ABAB4, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008ABAC4, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008ABAD4, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008ABAE4, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008ABAF4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008ABB04, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008ABB14, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008ABB24, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008ABAA4, // TRACK_ELEM_DIAG_FLAT + 0x008ABB54, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008ABBB4, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008ABB34, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008ABB94, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008ABBA4, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008ABB44, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008ABB84, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008ABBE4, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008ABB64, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008ABBC4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008ABBD4, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008ABB74, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008ABC14, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008ABC24, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008ABC34, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008ABC44, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008ABC74, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008ABC84, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008ABC54, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008ABC64, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008ABC94, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008ABCA4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008ABCB4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008ABCC4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008ABBF4, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008ABC04, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0x008ABCF4, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN + 0x008ABD04, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN + 0x008ABD14, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP + 0x008ABD24, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP + 0x008ABD74, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008ABD84, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008ABD94, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK + 0x008ABDA4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK + 0x008ABDB4, // TRACK_ELEM_POWERED_LIFT + 0x008ABDC4, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP + 0x008ABDD4, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP + 0x008ABDE4, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN + 0x008ABDF4, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AC134, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP + 0x008AC144, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AC0E4, // TRACK_ELEM_BLOCK_BRAKES + 0x008ABEA4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008ABEB4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008ABEC4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008ABED4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008ABEE4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008ABEF4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008ABF04, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008ABF14, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008ABF24, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + 0x008ABF34, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + 0x008ABF44, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008ABF54, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008ABF64, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + 0x008ABF74, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008ABF84, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008ABF94, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008ABFA4, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008ABFB4, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008ABFE4, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + 0x008ABFF4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + 0x008AC004, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008AC014, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008ABFC4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + 0x008ABFD4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + 0x008AC024, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008AC034, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008AC044, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + 0x008AC054, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + 0x008AC064, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008AC074, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008AC084, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008AC094, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008AC0A4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP + 0x008AC0B4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP + 0x008AC0C4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 0x008AC0D4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 0, + 0, + 0, }; /** rct2: 0x008AC164 */ static const uint32 _OldWoodenRollerCoasterTrackPaintFunctions[256] = { - 0x008AC568, // TRACK_ELEM_FLAT - 0x008AC7B8, // TRACK_ELEM_END_STATION - 0x008AC7C8, // TRACK_ELEM_BEGIN_STATION - 0x008AC7D8, // TRACK_ELEM_MIDDLE_STATION - 0x008AC578, // TRACK_ELEM_25_DEG_UP - 0x008AC588, // TRACK_ELEM_60_DEG_UP - 0x008AC598, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008AC5A8, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008AC5B8, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008AC5C8, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AC5D8, // TRACK_ELEM_25_DEG_DOWN - 0x008AC5E8, // TRACK_ELEM_60_DEG_DOWN - 0x008AC5F8, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008AC608, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AC618, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AC628, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AC638, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AC648, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AC658, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AC668, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AC678, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AC688, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AC698, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AC6A8, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AC6B8, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AC6C8, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AC6D8, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AC6E8, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AC6F8, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AC708, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AC718, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AC728, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AC738, // TRACK_ELEM_LEFT_BANK - 0x008AC748, // TRACK_ELEM_RIGHT_BANK - 0x008AC758, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AC768, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AC778, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AC788, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AC798, // TRACK_ELEM_S_BEND_LEFT - 0x008AC7A8, // TRACK_ELEM_S_BEND_RIGHT - 0x008ACE18, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008ACE28, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008AC7E8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AC7F8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AC808, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AC818, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AC828, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AC838, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AC848, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AC858, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008ACAB8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008ACAC8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008ACAD8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008ACAE8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008ACAF8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008ACB08, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008ACB18, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008ACB28, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008ACB98, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008ACB78, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008ACB88, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008ACBA8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008AC868, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008ACC78, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008ACC88, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 0, - 0, - 0x008AC878, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008ACC98, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008ACCA8, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 0x008ACE08, // TRACK_ELEM_WATER_SPLASH - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AC958, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AC968, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AC978, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AC988, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008AC998, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008AC9A8, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008AC9B8, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AC9C8, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AC888, // TRACK_ELEM_DIAG_FLAT - 0x008AC8B8, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008AC8E8, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008AC898, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008AC8C8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008AC8D8, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008AC8A8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AC918, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008AC948, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008AC8F8, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008AC928, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AC938, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AC908, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008ACA18, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008AC9F8, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008ACA08, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008ACA28, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008ACA58, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008ACA68, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008ACA38, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008ACA48, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008ACA78, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008ACA88, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008ACA98, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008ACAA8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AC9D8, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008AC9E8, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0x008ACB38, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008ACB48, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008ACB58, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - 0x008ACB68, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008ACDF8, // TRACK_ELEM_BLOCK_BRAKES - 0x008ACCB8, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008ACCC8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008ACCD8, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008ACCE8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008ACC38, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008ACC48, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008ACC58, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008ACC68, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008ACCF8, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008ACD08, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008ACD18, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008ACD28, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008ACD38, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ACD48, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ACD58, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008ACD68, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008ACD78, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008ACD88, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008ACD98, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008ACDA8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008ACDB8, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ACDC8, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ACDD8, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008ACDE8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008ACBB8, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008ACBC8, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008ACBD8, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008ACBE8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008ACBF8, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ACC08, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ACC18, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008ACC28, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008AC568, // TRACK_ELEM_FLAT + 0x008AC7B8, // TRACK_ELEM_END_STATION + 0x008AC7C8, // TRACK_ELEM_BEGIN_STATION + 0x008AC7D8, // TRACK_ELEM_MIDDLE_STATION + 0x008AC578, // TRACK_ELEM_25_DEG_UP + 0x008AC588, // TRACK_ELEM_60_DEG_UP + 0x008AC598, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008AC5A8, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008AC5B8, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008AC5C8, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008AC5D8, // TRACK_ELEM_25_DEG_DOWN + 0x008AC5E8, // TRACK_ELEM_60_DEG_DOWN + 0x008AC5F8, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008AC608, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008AC618, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008AC628, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008AC638, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008AC648, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008AC658, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008AC668, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008AC678, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008AC688, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008AC698, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008AC6A8, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008AC6B8, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008AC6C8, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008AC6D8, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008AC6E8, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008AC6F8, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008AC708, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008AC718, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008AC728, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AC738, // TRACK_ELEM_LEFT_BANK + 0x008AC748, // TRACK_ELEM_RIGHT_BANK + 0x008AC758, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AC768, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AC778, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AC788, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AC798, // TRACK_ELEM_S_BEND_LEFT + 0x008AC7A8, // TRACK_ELEM_S_BEND_RIGHT + 0x008ACE18, // TRACK_ELEM_LEFT_VERTICAL_LOOP + 0x008ACE28, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + 0x008AC7E8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008AC7F8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008AC808, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008AC818, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008AC828, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AC838, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AC848, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AC858, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008ACAB8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008ACAC8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008ACAD8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008ACAE8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008ACAF8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008ACB08, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008ACB18, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008ACB28, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008ACB98, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008ACB78, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008ACB88, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008ACBA8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008AC868, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008ACC78, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + 0x008ACC88, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0, + 0, + 0x008AC878, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008ACC98, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + 0x008ACCA8, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0x008ACE08, // TRACK_ELEM_WATER_SPLASH + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AC958, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008AC968, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008AC978, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008AC988, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008AC998, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008AC9A8, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008AC9B8, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008AC9C8, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008AC888, // TRACK_ELEM_DIAG_FLAT + 0x008AC8B8, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008AC8E8, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008AC898, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008AC8C8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008AC8D8, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008AC8A8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008AC918, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008AC948, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008AC8F8, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008AC928, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008AC938, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008AC908, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008ACA18, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008AC9F8, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008ACA08, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008ACA28, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008ACA58, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008ACA68, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008ACA38, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008ACA48, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008ACA78, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008ACA88, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008ACA98, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008ACAA8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AC9D8, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008AC9E8, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0x008ACB38, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008ACB48, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008ACB58, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK + 0x008ACB68, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008ACDF8, // TRACK_ELEM_BLOCK_BRAKES + 0x008ACCB8, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008ACCC8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008ACCD8, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008ACCE8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008ACC38, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008ACC48, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008ACC58, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008ACC68, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008ACCF8, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + 0x008ACD08, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + 0x008ACD18, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008ACD28, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008ACD38, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + 0x008ACD48, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008ACD58, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008ACD68, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008ACD78, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008ACD88, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008ACD98, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + 0x008ACDA8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + 0x008ACDB8, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008ACDC8, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008ACDD8, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + 0x008ACDE8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + 0x008ACBB8, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008ACBC8, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008ACBD8, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + 0x008ACBE8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + 0x008ACBF8, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008ACC08, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008ACC18, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008ACC28, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00778124 */ static const uint32 _OldSideFrictionRollerCoasterTrackPaintFunctions[256] = { - 0x0077839C, // TRACK_ELEM_FLAT - 0x007784AC, // TRACK_ELEM_END_STATION - 0x007784BC, // TRACK_ELEM_BEGIN_STATION - 0x007784CC, // TRACK_ELEM_MIDDLE_STATION - 0x007783AC, // TRACK_ELEM_25_DEG_UP - 0, - 0x007783CC, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x007783FC, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0077840C, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x0077842C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x0077845C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x0077846C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x0077847C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0077848C, // TRACK_ELEM_S_BEND_LEFT - 0x0077849C, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x007784DC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x007784EC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x007784FC, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x007785DC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x007785EC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x007785FC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x0077860C, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0, - 0, - 0, - 0, - 0x0077850C, // TRACK_ELEM_DIAG_FLAT - 0x0077853C, // TRACK_ELEM_DIAG_25_DEG_UP - 0, - 0x0077851C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0, - 0, - 0x0077852C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x0077859C, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0, - 0x0077857C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x0077858C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0077839C, // TRACK_ELEM_FLAT + 0x007784AC, // TRACK_ELEM_END_STATION + 0x007784BC, // TRACK_ELEM_BEGIN_STATION + 0x007784CC, // TRACK_ELEM_MIDDLE_STATION + 0x007783AC, // TRACK_ELEM_25_DEG_UP + 0, + 0x007783CC, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x007783FC, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x0077840C, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x0077842C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x0077845C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x0077846C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x0077847C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0077848C, // TRACK_ELEM_S_BEND_LEFT + 0x0077849C, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x007784DC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x007784EC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x007784FC, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x007785DC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x007785EC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x007785FC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x0077860C, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0, + 0, + 0, + 0, + 0x0077850C, // TRACK_ELEM_DIAG_FLAT + 0x0077853C, // TRACK_ELEM_DIAG_25_DEG_UP + 0, + 0x0077851C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0, + 0, + 0x0077852C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x0077859C, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0, + 0x0077857C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x0077858C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0078AE80 */ static const uint32 _OldWildMouseTrackPaintFunctions[256] = { - 0x0078B1E4, // TRACK_ELEM_FLAT - 0x0078B2B4, // TRACK_ELEM_END_STATION - 0x0078B2C4, // TRACK_ELEM_BEGIN_STATION - 0x0078B2D4, // TRACK_ELEM_MIDDLE_STATION - 0x0078B1F4, // TRACK_ELEM_25_DEG_UP - 0x0078B204, // TRACK_ELEM_60_DEG_UP - 0x0078B214, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x0078B224, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x0078B234, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x0078B244, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0078B254, // TRACK_ELEM_25_DEG_DOWN - 0x0078B264, // TRACK_ELEM_60_DEG_DOWN - 0x0078B274, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x0078B284, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x0078B294, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x0078B2A4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0078B2E4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0078B2F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0x0078B304, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x0078B314, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x0078B324, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x0078B334, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x0078B394, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x0078B3A4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0078B354, // TRACK_ELEM_FLAT_TO_60_DEG_UP - 0x0078B364, // TRACK_ELEM_60_DEG_UP_TO_FLAT - 0x0078B374, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - 0x0078B384, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0078B344, // TRACK_ELEM_BRAKES - 0x0078B3C4, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0078B3B4, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0078B1E4, // TRACK_ELEM_FLAT + 0x0078B2B4, // TRACK_ELEM_END_STATION + 0x0078B2C4, // TRACK_ELEM_BEGIN_STATION + 0x0078B2D4, // TRACK_ELEM_MIDDLE_STATION + 0x0078B1F4, // TRACK_ELEM_25_DEG_UP + 0x0078B204, // TRACK_ELEM_60_DEG_UP + 0x0078B214, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x0078B224, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x0078B234, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x0078B244, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x0078B254, // TRACK_ELEM_25_DEG_DOWN + 0x0078B264, // TRACK_ELEM_60_DEG_DOWN + 0x0078B274, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x0078B284, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x0078B294, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x0078B2A4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0078B2E4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x0078B2F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0x0078B304, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x0078B314, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x0078B324, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x0078B334, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x0078B394, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x0078B3A4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0078B354, // TRACK_ELEM_FLAT_TO_60_DEG_UP + 0x0078B364, // TRACK_ELEM_60_DEG_UP_TO_FLAT + 0x0078B374, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN + 0x0078B384, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0078B344, // TRACK_ELEM_BRAKES + 0x0078B3C4, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0078B3B4, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00792978 */ static const uint32 _OldMultiDimensionRollerCoasterTrackPaintFunctions[256] = { - 0x00792D88, // TRACK_ELEM_FLAT - 0x00792F98, // TRACK_ELEM_END_STATION - 0x00792FA8, // TRACK_ELEM_BEGIN_STATION - 0x00792FB8, // TRACK_ELEM_MIDDLE_STATION - 0x00792D98, // TRACK_ELEM_25_DEG_UP - 0x00792DA8, // TRACK_ELEM_60_DEG_UP - 0x00792DB8, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x00792DC8, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x00792DD8, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x00792DE8, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x00792DF8, // TRACK_ELEM_25_DEG_DOWN - 0x00792E08, // TRACK_ELEM_60_DEG_DOWN - 0x00792E18, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x00792E28, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x00792E38, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x00792E48, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x00792E58, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x00792E68, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x00792E78, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x00792E88, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x00792E98, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x00792EA8, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x00792EB8, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x00792EC8, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x00792ED8, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x00792EE8, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x00792EF8, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x00792F08, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x00792F18, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x00792F28, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x00792F38, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x00792F48, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x00792F58, // TRACK_ELEM_LEFT_BANK - 0x00792F68, // TRACK_ELEM_RIGHT_BANK - 0, - 0, - 0, - 0, - 0x00792F78, // TRACK_ELEM_S_BEND_LEFT - 0x00792F88, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x00792FC8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x00792FD8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x00792FE8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x00792FF8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00793008, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x00793018, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x00793028, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x00793038, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x00793048, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x00793058, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x00793068, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x00793078, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0, - 0, - 0, - 0, - 0x00793088, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00793098, // TRACK_ELEM_ON_RIDE_PHOTO - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00793328, // TRACK_ELEM_90_DEG_UP - 0x00793338, // TRACK_ELEM_90_DEG_DOWN - 0x00793348, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 0x00793358, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 0x00793368, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 0x00793378, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - 0, - 0x007930B8, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x007930C8, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x007930D8, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x007930E8, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x007930F8, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x00793108, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x00793118, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x00793128, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x007930A8, // TRACK_ELEM_DIAG_FLAT - 0x00793158, // TRACK_ELEM_DIAG_25_DEG_UP - 0x007931B8, // TRACK_ELEM_DIAG_60_DEG_UP - 0x00793138, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x00793198, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x007931A8, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x00793148, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x00793188, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x007931E8, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x00793168, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x007931C8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x007931D8, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x00793178, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x00793218, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x00793228, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x00793238, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x00793248, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x00793278, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x00793288, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x00793258, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x00793268, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x00793298, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x007932A8, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x007932B8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x007932C8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x007931F8, // TRACK_ELEM_DIAG_LEFT_BANK - 0x00793208, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x007932D8, // TRACK_ELEM_LEFT_FLYER_TWIST_UP - 0x007932E8, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - 0x007932F8, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - 0x00793308, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00793398, // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00793318, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00793388, // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP - 0x00793398, // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP - 0x00793388, // (null) + 0x00792D88, // TRACK_ELEM_FLAT + 0x00792F98, // TRACK_ELEM_END_STATION + 0x00792FA8, // TRACK_ELEM_BEGIN_STATION + 0x00792FB8, // TRACK_ELEM_MIDDLE_STATION + 0x00792D98, // TRACK_ELEM_25_DEG_UP + 0x00792DA8, // TRACK_ELEM_60_DEG_UP + 0x00792DB8, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x00792DC8, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x00792DD8, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x00792DE8, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x00792DF8, // TRACK_ELEM_25_DEG_DOWN + 0x00792E08, // TRACK_ELEM_60_DEG_DOWN + 0x00792E18, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x00792E28, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x00792E38, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x00792E48, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x00792E58, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x00792E68, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x00792E78, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x00792E88, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x00792E98, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x00792EA8, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x00792EB8, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x00792EC8, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x00792ED8, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x00792EE8, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x00792EF8, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x00792F08, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x00792F18, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x00792F28, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x00792F38, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x00792F48, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x00792F58, // TRACK_ELEM_LEFT_BANK + 0x00792F68, // TRACK_ELEM_RIGHT_BANK + 0, + 0, + 0, + 0, + 0x00792F78, // TRACK_ELEM_S_BEND_LEFT + 0x00792F88, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x00792FC8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x00792FD8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x00792FE8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x00792FF8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00793008, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x00793018, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x00793028, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x00793038, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x00793048, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x00793058, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x00793068, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x00793078, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0, + 0, + 0, + 0, + 0x00793088, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00793098, // TRACK_ELEM_ON_RIDE_PHOTO + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00793328, // TRACK_ELEM_90_DEG_UP + 0x00793338, // TRACK_ELEM_90_DEG_DOWN + 0x00793348, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP + 0x00793358, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN + 0x00793368, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP + 0x00793378, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 0, + 0x007930B8, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x007930C8, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x007930D8, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x007930E8, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x007930F8, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x00793108, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x00793118, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x00793128, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x007930A8, // TRACK_ELEM_DIAG_FLAT + 0x00793158, // TRACK_ELEM_DIAG_25_DEG_UP + 0x007931B8, // TRACK_ELEM_DIAG_60_DEG_UP + 0x00793138, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x00793198, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x007931A8, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x00793148, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x00793188, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x007931E8, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x00793168, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x007931C8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x007931D8, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x00793178, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x00793218, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x00793228, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x00793238, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x00793248, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x00793278, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x00793288, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x00793258, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x00793268, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x00793298, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x007932A8, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x007932B8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x007932C8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x007931F8, // TRACK_ELEM_DIAG_LEFT_BANK + 0x00793208, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x007932D8, // TRACK_ELEM_LEFT_FLYER_TWIST_UP + 0x007932E8, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP + 0x007932F8, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN + 0x00793308, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00793398, // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00793318, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00793388, // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP + 0x00793398, // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP + 0x00793388, // (null) }; /** rct2: 0x007C6C00 */ static const uint32 _OldFlyingRollerCoasterTrackPaintFunctions[256] = { - 0x007C6FF4, // TRACK_ELEM_FLAT - 0x007C7244, // TRACK_ELEM_END_STATION - 0x007C7254, // TRACK_ELEM_BEGIN_STATION - 0x007C7264, // TRACK_ELEM_MIDDLE_STATION - 0x007C7004, // TRACK_ELEM_25_DEG_UP - 0x007C7014, // TRACK_ELEM_60_DEG_UP - 0x007C7024, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x007C7034, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x007C7044, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x007C7054, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x007C7064, // TRACK_ELEM_25_DEG_DOWN - 0x007C7074, // TRACK_ELEM_60_DEG_DOWN - 0x007C7084, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x007C7094, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x007C70A4, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x007C70B4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x007C70C4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x007C70D4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x007C70E4, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x007C70F4, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x007C7104, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x007C7114, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x007C7124, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x007C7134, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x007C7144, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x007C7154, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x007C7164, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x007C7174, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x007C7184, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x007C7194, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x007C71A4, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x007C71B4, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x007C71C4, // TRACK_ELEM_LEFT_BANK - 0x007C71D4, // TRACK_ELEM_RIGHT_BANK - 0x007C71E4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x007C71F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x007C7204, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x007C7214, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x007C7224, // TRACK_ELEM_S_BEND_LEFT - 0x007C7234, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x007C7274, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x007C7284, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x007C7294, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x007C72A4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x007C72B4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x007C72C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x007C72D4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x007C72E4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x007C7314, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x007C7324, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x007C7334, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x007C7344, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x007C7354, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x007C7364, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x007C7374, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x007C7384, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x007C73B4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x007C7394, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x007C73A4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x007C73C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x007C73D4, // TRACK_ELEM_BRAKES - 0, - 0, - 0x007C7674, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - 0x007C7684, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - 0x007C7694, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - 0x007C76A4, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - 0, - 0, - 0, - 0, - 0x007C78B4, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x007C78C4, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 0, - 0, - 0x007C73E4, // TRACK_ELEM_ON_RIDE_PHOTO - 0x007C78D4, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x007C78E4, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x007C7404, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x007C7414, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x007C7424, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x007C7434, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x007C7444, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x007C7454, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x007C7464, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x007C7474, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x007C73F4, // TRACK_ELEM_DIAG_FLAT - 0x007C74A4, // TRACK_ELEM_DIAG_25_DEG_UP - 0x007C7504, // TRACK_ELEM_DIAG_60_DEG_UP - 0x007C7484, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x007C74E4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x007C74F4, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x007C7494, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x007C74D4, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x007C7534, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x007C74B4, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x007C7514, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x007C7524, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x007C74C4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x007C7564, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x007C7574, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x007C7584, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x007C7594, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x007C75C4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x007C75D4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x007C75A4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x007C75B4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x007C75E4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x007C75F4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x007C7604, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x007C7614, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x007C7544, // TRACK_ELEM_DIAG_LEFT_BANK - 0x007C7554, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x007C7624, // TRACK_ELEM_LEFT_FLYER_TWIST_UP - 0x007C7634, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - 0x007C7644, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - 0x007C7654, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - 0x007C72F4, // TRACK_ELEM_FLYER_HALF_LOOP_UP - 0x007C7304, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x007C7664, // TRACK_ELEM_BLOCK_BRAKES - 0x007C76B4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x007C76C4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x007C76D4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x007C76E4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x007C76F4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x007C7704, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x007C7714, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x007C7724, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x007C7734, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x007C7744, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x007C7754, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x007C7764, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x007C7774, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x007C7784, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x007C7794, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x007C77A4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x007C77B4, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x007C77C4, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x007C77F4, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x007C7804, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x007C7814, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x007C7824, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x007C77D4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x007C77E4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x007C7834, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x007C7844, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x007C7854, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x007C7864, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x007C7874, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x007C7884, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x007C7894, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x007C78A4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x007C6FF4, // TRACK_ELEM_FLAT + 0x007C7244, // TRACK_ELEM_END_STATION + 0x007C7254, // TRACK_ELEM_BEGIN_STATION + 0x007C7264, // TRACK_ELEM_MIDDLE_STATION + 0x007C7004, // TRACK_ELEM_25_DEG_UP + 0x007C7014, // TRACK_ELEM_60_DEG_UP + 0x007C7024, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x007C7034, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x007C7044, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x007C7054, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x007C7064, // TRACK_ELEM_25_DEG_DOWN + 0x007C7074, // TRACK_ELEM_60_DEG_DOWN + 0x007C7084, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x007C7094, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x007C70A4, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x007C70B4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x007C70C4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x007C70D4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x007C70E4, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x007C70F4, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x007C7104, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x007C7114, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x007C7124, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x007C7134, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x007C7144, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x007C7154, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x007C7164, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x007C7174, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x007C7184, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x007C7194, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x007C71A4, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x007C71B4, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x007C71C4, // TRACK_ELEM_LEFT_BANK + 0x007C71D4, // TRACK_ELEM_RIGHT_BANK + 0x007C71E4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x007C71F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x007C7204, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x007C7214, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x007C7224, // TRACK_ELEM_S_BEND_LEFT + 0x007C7234, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x007C7274, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x007C7284, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x007C7294, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x007C72A4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x007C72B4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x007C72C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x007C72D4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x007C72E4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x007C7314, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x007C7324, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x007C7334, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x007C7344, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x007C7354, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x007C7364, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x007C7374, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x007C7384, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x007C73B4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x007C7394, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x007C73A4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x007C73C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x007C73D4, // TRACK_ELEM_BRAKES + 0, + 0, + 0x007C7674, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP + 0x007C7684, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP + 0x007C7694, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN + 0x007C76A4, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + 0, + 0, + 0, + 0, + 0x007C78B4, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + 0x007C78C4, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0, + 0, + 0x007C73E4, // TRACK_ELEM_ON_RIDE_PHOTO + 0x007C78D4, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + 0x007C78E4, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x007C7404, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x007C7414, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x007C7424, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x007C7434, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x007C7444, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x007C7454, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x007C7464, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x007C7474, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x007C73F4, // TRACK_ELEM_DIAG_FLAT + 0x007C74A4, // TRACK_ELEM_DIAG_25_DEG_UP + 0x007C7504, // TRACK_ELEM_DIAG_60_DEG_UP + 0x007C7484, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x007C74E4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x007C74F4, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x007C7494, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x007C74D4, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x007C7534, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x007C74B4, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x007C7514, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x007C7524, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x007C74C4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x007C7564, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x007C7574, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x007C7584, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x007C7594, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x007C75C4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x007C75D4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x007C75A4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x007C75B4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x007C75E4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x007C75F4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x007C7604, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x007C7614, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x007C7544, // TRACK_ELEM_DIAG_LEFT_BANK + 0x007C7554, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x007C7624, // TRACK_ELEM_LEFT_FLYER_TWIST_UP + 0x007C7634, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP + 0x007C7644, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN + 0x007C7654, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN + 0x007C72F4, // TRACK_ELEM_FLYER_HALF_LOOP_UP + 0x007C7304, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x007C7664, // TRACK_ELEM_BLOCK_BRAKES + 0x007C76B4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x007C76C4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x007C76D4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x007C76E4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x007C76F4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x007C7704, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x007C7714, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x007C7724, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x007C7734, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + 0x007C7744, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + 0x007C7754, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x007C7764, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x007C7774, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + 0x007C7784, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + 0x007C7794, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x007C77A4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x007C77B4, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x007C77C4, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x007C77F4, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + 0x007C7804, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + 0x007C7814, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x007C7824, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x007C77D4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + 0x007C77E4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + 0x007C7834, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x007C7844, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x007C7854, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + 0x007C7864, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + 0x007C7874, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x007C7884, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x007C7894, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + 0x007C78A4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00811184 */ static const uint32 _OldVirginiaReelTrackPaintFunctions[256] = { - 0x00811264, // TRACK_ELEM_FLAT - 0x008112D4, // TRACK_ELEM_END_STATION - 0x008112E4, // TRACK_ELEM_BEGIN_STATION - 0x008112F4, // TRACK_ELEM_MIDDLE_STATION - 0x00811274, // TRACK_ELEM_25_DEG_UP - 0, - 0x00811284, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x00811294, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008112A4, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x008112B4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008112C4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00811304, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x00811314, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0x00811324, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x00811334, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x00811264, // TRACK_ELEM_FLAT + 0x008112D4, // TRACK_ELEM_END_STATION + 0x008112E4, // TRACK_ELEM_BEGIN_STATION + 0x008112F4, // TRACK_ELEM_MIDDLE_STATION + 0x00811274, // TRACK_ELEM_25_DEG_UP + 0, + 0x00811284, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x00811294, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008112A4, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x008112B4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008112C4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00811304, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x00811314, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0x00811324, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x00811334, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008164AC */ static const uint32 _OldSplashBoatsTrackPaintFunctions[256] = { - 0x00816584, // TRACK_ELEM_FLAT - 0x00816614, // TRACK_ELEM_END_STATION - 0x00816624, // TRACK_ELEM_BEGIN_STATION - 0x00816634, // TRACK_ELEM_MIDDLE_STATION - 0x00816594, // TRACK_ELEM_25_DEG_UP - 0x008166A4, // TRACK_ELEM_60_DEG_UP - 0x008165A4, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x00816664, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x00816674, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008165B4, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008165C4, // TRACK_ELEM_25_DEG_DOWN - 0x008166B4, // TRACK_ELEM_60_DEG_DOWN - 0x008165D4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x00816684, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x00816694, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008165E4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x00816644, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x00816654, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008165F4, // TRACK_ELEM_S_BEND_LEFT - 0x00816604, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x00816584, // TRACK_ELEM_FLAT + 0x00816614, // TRACK_ELEM_END_STATION + 0x00816624, // TRACK_ELEM_BEGIN_STATION + 0x00816634, // TRACK_ELEM_MIDDLE_STATION + 0x00816594, // TRACK_ELEM_25_DEG_UP + 0x008166A4, // TRACK_ELEM_60_DEG_UP + 0x008165A4, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x00816664, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x00816674, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008165B4, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008165C4, // TRACK_ELEM_25_DEG_DOWN + 0x008166B4, // TRACK_ELEM_60_DEG_DOWN + 0x008165D4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x00816684, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x00816694, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008165E4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x00816644, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x00816654, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008165F4, // TRACK_ELEM_S_BEND_LEFT + 0x00816604, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0081F268 */ static const uint32 _OldMiniHelicoptersTrackPaintFunctions[256] = { - 0x0081F348, // TRACK_ELEM_FLAT - 0x0081F3B8, // TRACK_ELEM_END_STATION - 0x0081F3C8, // TRACK_ELEM_BEGIN_STATION - 0x0081F3D8, // TRACK_ELEM_MIDDLE_STATION - 0x0081F358, // TRACK_ELEM_25_DEG_UP - 0, - 0x0081F368, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x0081F378, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0081F388, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x0081F398, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x0081F3A8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0081F3E8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0081F3F8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0x0081F408, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x0081F418, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0081F348, // TRACK_ELEM_FLAT + 0x0081F3B8, // TRACK_ELEM_END_STATION + 0x0081F3C8, // TRACK_ELEM_BEGIN_STATION + 0x0081F3D8, // TRACK_ELEM_MIDDLE_STATION + 0x0081F358, // TRACK_ELEM_25_DEG_UP + 0, + 0x0081F368, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x0081F378, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x0081F388, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x0081F398, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x0081F3A8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0081F3E8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x0081F3F8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0x0081F408, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x0081F418, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008245A8 */ static const uint32 _OldLayDownRollerCoasterTrackPaintFunctions[256] = { - 0x0082491C, // TRACK_ELEM_FLAT - 0x00824B8C, // TRACK_ELEM_END_STATION - 0x00824B9C, // TRACK_ELEM_BEGIN_STATION - 0x00824BAC, // TRACK_ELEM_MIDDLE_STATION - 0x0082492C, // TRACK_ELEM_25_DEG_UP - 0x0082493C, // TRACK_ELEM_60_DEG_UP - 0x0082494C, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x0082495C, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x0082496C, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x0082497C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0082498C, // TRACK_ELEM_25_DEG_DOWN - 0x0082499C, // TRACK_ELEM_60_DEG_DOWN - 0x008249AC, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008249BC, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008249CC, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008249DC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008249EC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008249FC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x00824A0C, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x00824A1C, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x00824A2C, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x00824A3C, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x00824A4C, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x00824A5C, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x00824A6C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x00824A7C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x00824A8C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x00824A9C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x00824AAC, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x00824ABC, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x00824ACC, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x00824ADC, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x00824AEC, // TRACK_ELEM_LEFT_BANK - 0x00824AFC, // TRACK_ELEM_RIGHT_BANK - 0x00824B0C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x00824B1C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x00824B2C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x00824B3C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x00824B4C, // TRACK_ELEM_S_BEND_LEFT - 0x00824B5C, // TRACK_ELEM_S_BEND_RIGHT - 0x00824B6C, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x00824B7C, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x00824BBC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x00824BCC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x00824BDC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x00824BEC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x00824BFC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x00824C0C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x00824C1C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x00824C2C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00824C9C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x00824CAC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x00824CBC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x00824CCC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x00824CDC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x00824CEC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x00824CFC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x00824D0C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x00824D3C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x00824D1C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x00824D2C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x00824D4C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x00824D5C, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00824D6C, // TRACK_ELEM_ON_RIDE_PHOTO - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00824D8C, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x00824D9C, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x00824DAC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x00824DBC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x00824DCC, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x00824DDC, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x00824DEC, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x00824DFC, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x00824D7C, // TRACK_ELEM_DIAG_FLAT - 0x00824E2C, // TRACK_ELEM_DIAG_25_DEG_UP - 0x00824E8C, // TRACK_ELEM_DIAG_60_DEG_UP - 0x00824E0C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x00824E6C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x00824E7C, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x00824E1C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x00824E5C, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x00824EBC, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x00824E3C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x00824E9C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x00824EAC, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x00824E4C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x00824EEC, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x00824EFC, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x00824F0C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x00824F1C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x00824F4C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x00824F5C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x00824F2C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x00824F3C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x00824F6C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x00824F7C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x00824F8C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x00824F9C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x00824ECC, // TRACK_ELEM_DIAG_LEFT_BANK - 0x00824EDC, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00824FAC, // TRACK_ELEM_LEFT_FLYER_TWIST_UP - 0x00824FBC, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - 0x00824FCC, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - 0x00824FDC, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - 0x00824C3C, // TRACK_ELEM_FLYER_HALF_LOOP_UP - 0x00824C4C, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN - 0x00824C5C, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP - 0x00824C6C, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP - 0x00824C7C, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN - 0x00824C8C, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00824FEC, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0082491C, // TRACK_ELEM_FLAT + 0x00824B8C, // TRACK_ELEM_END_STATION + 0x00824B9C, // TRACK_ELEM_BEGIN_STATION + 0x00824BAC, // TRACK_ELEM_MIDDLE_STATION + 0x0082492C, // TRACK_ELEM_25_DEG_UP + 0x0082493C, // TRACK_ELEM_60_DEG_UP + 0x0082494C, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x0082495C, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x0082496C, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x0082497C, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x0082498C, // TRACK_ELEM_25_DEG_DOWN + 0x0082499C, // TRACK_ELEM_60_DEG_DOWN + 0x008249AC, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008249BC, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008249CC, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008249DC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008249EC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008249FC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x00824A0C, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x00824A1C, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x00824A2C, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x00824A3C, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x00824A4C, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x00824A5C, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x00824A6C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x00824A7C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x00824A8C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x00824A9C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x00824AAC, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x00824ABC, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x00824ACC, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x00824ADC, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x00824AEC, // TRACK_ELEM_LEFT_BANK + 0x00824AFC, // TRACK_ELEM_RIGHT_BANK + 0x00824B0C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x00824B1C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x00824B2C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x00824B3C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x00824B4C, // TRACK_ELEM_S_BEND_LEFT + 0x00824B5C, // TRACK_ELEM_S_BEND_RIGHT + 0x00824B6C, // TRACK_ELEM_LEFT_VERTICAL_LOOP + 0x00824B7C, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + 0x00824BBC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x00824BCC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x00824BDC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x00824BEC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x00824BFC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x00824C0C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x00824C1C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x00824C2C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00824C9C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x00824CAC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x00824CBC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x00824CCC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x00824CDC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x00824CEC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x00824CFC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x00824D0C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x00824D3C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x00824D1C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x00824D2C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x00824D4C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x00824D5C, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00824D6C, // TRACK_ELEM_ON_RIDE_PHOTO + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00824D8C, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x00824D9C, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x00824DAC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x00824DBC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x00824DCC, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x00824DDC, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x00824DEC, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x00824DFC, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x00824D7C, // TRACK_ELEM_DIAG_FLAT + 0x00824E2C, // TRACK_ELEM_DIAG_25_DEG_UP + 0x00824E8C, // TRACK_ELEM_DIAG_60_DEG_UP + 0x00824E0C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x00824E6C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x00824E7C, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x00824E1C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x00824E5C, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x00824EBC, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x00824E3C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x00824E9C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x00824EAC, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x00824E4C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x00824EEC, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x00824EFC, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x00824F0C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x00824F1C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x00824F4C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x00824F5C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x00824F2C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x00824F3C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x00824F6C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x00824F7C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x00824F8C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x00824F9C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x00824ECC, // TRACK_ELEM_DIAG_LEFT_BANK + 0x00824EDC, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00824FAC, // TRACK_ELEM_LEFT_FLYER_TWIST_UP + 0x00824FBC, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP + 0x00824FCC, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN + 0x00824FDC, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN + 0x00824C3C, // TRACK_ELEM_FLYER_HALF_LOOP_UP + 0x00824C4C, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN + 0x00824C5C, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP + 0x00824C6C, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP + 0x00824C7C, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN + 0x00824C8C, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00824FEC, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0086347C */ static const uint32 _OldSuspendedMonorailTrackPaintFunctions[256] = { - 0x008636F4, // TRACK_ELEM_FLAT - 0x008637A4, // TRACK_ELEM_END_STATION - 0x008637B4, // TRACK_ELEM_BEGIN_STATION - 0x008637C4, // TRACK_ELEM_MIDDLE_STATION - 0x00863704, // TRACK_ELEM_25_DEG_UP - 0, - 0x00863714, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x00863724, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x00863734, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x00863744, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x00863754, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x00863764, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x00863774, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00863784, // TRACK_ELEM_S_BEND_LEFT - 0x00863794, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x008637D4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008637E4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00863864, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x00863874, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x00863884, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x00863894, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0, - 0, - 0, - 0, - 0x008637F4, // TRACK_ELEM_DIAG_FLAT - 0x00863824, // TRACK_ELEM_DIAG_25_DEG_UP - 0, - 0x00863804, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0, - 0, - 0x00863814, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x00863854, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0, - 0x00863834, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x00863844, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008636F4, // TRACK_ELEM_FLAT + 0x008637A4, // TRACK_ELEM_END_STATION + 0x008637B4, // TRACK_ELEM_BEGIN_STATION + 0x008637C4, // TRACK_ELEM_MIDDLE_STATION + 0x00863704, // TRACK_ELEM_25_DEG_UP + 0, + 0x00863714, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x00863724, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x00863734, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x00863744, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x00863754, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x00863764, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x00863774, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00863784, // TRACK_ELEM_S_BEND_LEFT + 0x00863794, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x008637D4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008637E4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00863864, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x00863874, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x00863884, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x00863894, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0, + 0, + 0, + 0, + 0x008637F4, // TRACK_ELEM_DIAG_FLAT + 0x00863824, // TRACK_ELEM_DIAG_25_DEG_UP + 0, + 0x00863804, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0, + 0, + 0x00863814, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x00863854, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0, + 0x00863834, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x00863844, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0086E2F8 */ static const uint32 _OldReverserRollerCoasterTrackPaintFunctions[256] = { - 0x0086E65C, // TRACK_ELEM_FLAT - 0x0086E70C, // TRACK_ELEM_END_STATION - 0x0086E71C, // TRACK_ELEM_BEGIN_STATION - 0x0086E72C, // TRACK_ELEM_MIDDLE_STATION - 0x0086E66C, // TRACK_ELEM_25_DEG_UP - 0, - 0x0086E67C, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x0086E68C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0086E69C, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x0086E6AC, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x0086E6BC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x0086E6CC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x0086E6DC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0086E6EC, // TRACK_ELEM_S_BEND_LEFT - 0x0086E6FC, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x0086E73C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0086E74C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0086E75C, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0086E76C, // TRACK_ELEM_LEFT_REVERSER - 0x0086E77C, // TRACK_ELEM_RIGHT_REVERSER - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0086E65C, // TRACK_ELEM_FLAT + 0x0086E70C, // TRACK_ELEM_END_STATION + 0x0086E71C, // TRACK_ELEM_BEGIN_STATION + 0x0086E72C, // TRACK_ELEM_MIDDLE_STATION + 0x0086E66C, // TRACK_ELEM_25_DEG_UP + 0, + 0x0086E67C, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x0086E68C, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x0086E69C, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x0086E6AC, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x0086E6BC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x0086E6CC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x0086E6DC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0086E6EC, // TRACK_ELEM_S_BEND_LEFT + 0x0086E6FC, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x0086E73C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x0086E74C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0086E75C, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0086E76C, // TRACK_ELEM_LEFT_REVERSER + 0x0086E77C, // TRACK_ELEM_RIGHT_REVERSER + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00876618 */ static const uint32 _OldHeartlineTwisterCoasterTrackPaintFunctions[256] = { - 0x0087694C, // TRACK_ELEM_FLAT - 0x00876A1C, // TRACK_ELEM_END_STATION - 0x00876A2C, // TRACK_ELEM_BEGIN_STATION - 0x00876A3C, // TRACK_ELEM_MIDDLE_STATION - 0x0087695C, // TRACK_ELEM_25_DEG_UP - 0x008769FC, // TRACK_ELEM_60_DEG_UP - 0x0087696C, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008769BC, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008769CC, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x0087697C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0087698C, // TRACK_ELEM_25_DEG_DOWN - 0x00876A0C, // TRACK_ELEM_60_DEG_DOWN - 0x0087699C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008769DC, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008769EC, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008769AC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00876A6C, // TRACK_ELEM_HEARTLINE_TRANSFER_UP - 0x00876A7C, // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN - 0x00876A4C, // TRACK_ELEM_LEFT_HEARTLINE_ROLL - 0x00876A5C, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0087694C, // TRACK_ELEM_FLAT + 0x00876A1C, // TRACK_ELEM_END_STATION + 0x00876A2C, // TRACK_ELEM_BEGIN_STATION + 0x00876A3C, // TRACK_ELEM_MIDDLE_STATION + 0x0087695C, // TRACK_ELEM_25_DEG_UP + 0x008769FC, // TRACK_ELEM_60_DEG_UP + 0x0087696C, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008769BC, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008769CC, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x0087697C, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x0087698C, // TRACK_ELEM_25_DEG_DOWN + 0x00876A0C, // TRACK_ELEM_60_DEG_DOWN + 0x0087699C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008769DC, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008769EC, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008769AC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00876A6C, // TRACK_ELEM_HEARTLINE_TRANSFER_UP + 0x00876A7C, // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN + 0x00876A4C, // TRACK_ELEM_LEFT_HEARTLINE_ROLL + 0x00876A5C, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0087EDC4 */ static const uint32 _OldMiniGolfTrackPaintFunctions[256] = { - 0x0087F10C, // TRACK_ELEM_FLAT - 0x0087F17C, // TRACK_ELEM_END_STATION - 0x0087F18C, // TRACK_ELEM_BEGIN_STATION - 0x0087F19C, // TRACK_ELEM_MIDDLE_STATION - 0x0087F11C, // TRACK_ELEM_25_DEG_UP - 0, - 0x0087F12C, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x0087F13C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0087F14C, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x0087F15C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x0087F16C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0087F1AC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x0087F1BC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0087F1CC, // TRACK_ELEM_MINI_GOLF_HOLE_A - 0x0087F1DC, // TRACK_ELEM_MINI_GOLF_HOLE_B - 0x0087F1EC, // TRACK_ELEM_MINI_GOLF_HOLE_C - 0x0087F1FC, // TRACK_ELEM_MINI_GOLF_HOLE_D - 0x0087F20C, // TRACK_ELEM_MINI_GOLF_HOLE_E - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0087F10C, // TRACK_ELEM_FLAT + 0x0087F17C, // TRACK_ELEM_END_STATION + 0x0087F18C, // TRACK_ELEM_BEGIN_STATION + 0x0087F19C, // TRACK_ELEM_MIDDLE_STATION + 0x0087F11C, // TRACK_ELEM_25_DEG_UP + 0, + 0x0087F12C, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x0087F13C, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x0087F14C, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x0087F15C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x0087F16C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0087F1AC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x0087F1BC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0087F1CC, // TRACK_ELEM_MINI_GOLF_HOLE_A + 0x0087F1DC, // TRACK_ELEM_MINI_GOLF_HOLE_B + 0x0087F1EC, // TRACK_ELEM_MINI_GOLF_HOLE_C + 0x0087F1FC, // TRACK_ELEM_MINI_GOLF_HOLE_D + 0x0087F20C, // TRACK_ELEM_MINI_GOLF_HOLE_E + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008AD280 */ static const uint32 _OldGigaCoasterTrackPaintFunctions[256] = { - 0x008AD674, // TRACK_ELEM_FLAT - 0x008AD8C4, // TRACK_ELEM_END_STATION - 0x008AD8D4, // TRACK_ELEM_BEGIN_STATION - 0x008AD8E4, // TRACK_ELEM_MIDDLE_STATION - 0x008AD684, // TRACK_ELEM_25_DEG_UP - 0x008AD694, // TRACK_ELEM_60_DEG_UP - 0x008AD6A4, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008AD6B4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008AD6C4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008AD6D4, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AD6E4, // TRACK_ELEM_25_DEG_DOWN - 0x008AD6F4, // TRACK_ELEM_60_DEG_DOWN - 0x008AD704, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008AD714, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AD724, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AD734, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AD744, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AD754, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AD764, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AD774, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AD784, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AD794, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AD7A4, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AD7B4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AD7C4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AD7D4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AD7E4, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AD7F4, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AD804, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AD814, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AD824, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AD834, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AD844, // TRACK_ELEM_LEFT_BANK - 0x008AD854, // TRACK_ELEM_RIGHT_BANK - 0x008AD864, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AD874, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AD884, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AD894, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AD8A4, // TRACK_ELEM_S_BEND_LEFT - 0x008AD8B4, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x008AD8F4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AD904, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AD914, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AD924, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AD934, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AD944, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AD954, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AD964, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AD974, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008AD984, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008AD994, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AD9A4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AD9B4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008AD9C4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008AD9D4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008AD9E4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008ADA14, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008AD9F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008ADA04, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008ADA24, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008ADA34, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008ADC84, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008ADC94, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 0, - 0, - 0x008ADA44, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008ADCA4, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008ADCB4, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 0, - 0x008ADED4, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - 0x008ADEE4, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - 0, - 0x008ADEF4, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - 0x008ADF04, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - 0x008ADF14, // TRACK_ELEM_CABLE_LIFT_HILL - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008ADA64, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008ADA74, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008ADA84, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008ADA94, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008ADAA4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008ADAB4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008ADAC4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008ADAD4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008ADA54, // TRACK_ELEM_DIAG_FLAT - 0x008ADB04, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008ADB64, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008ADAE4, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008ADB44, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008ADB54, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008ADAF4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008ADB34, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008ADB94, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008ADB14, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008ADB74, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008ADB84, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008ADB24, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008ADBC4, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008ADBD4, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008ADBE4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008ADBF4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008ADC24, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008ADC34, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008ADC04, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008ADC14, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008ADC44, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008ADC54, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008ADC64, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008ADC74, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008ADBA4, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008ADBB4, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008ADEC4, // TRACK_ELEM_BLOCK_BRAKES - 0x008ADCC4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008ADCD4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008ADCE4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008ADCF4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008ADD04, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008ADD14, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008ADD24, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008ADD34, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008ADD44, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008ADD54, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008ADD64, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008ADD74, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008ADD84, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ADD94, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ADDA4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008ADDB4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008ADDC4, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008ADDD4, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008ADE04, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008ADE14, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008ADE24, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ADE34, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ADDE4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008ADDF4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008ADE44, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008ADE54, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008ADE64, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008ADE74, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008ADE84, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ADE94, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ADEA4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008ADEB4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008AD674, // TRACK_ELEM_FLAT + 0x008AD8C4, // TRACK_ELEM_END_STATION + 0x008AD8D4, // TRACK_ELEM_BEGIN_STATION + 0x008AD8E4, // TRACK_ELEM_MIDDLE_STATION + 0x008AD684, // TRACK_ELEM_25_DEG_UP + 0x008AD694, // TRACK_ELEM_60_DEG_UP + 0x008AD6A4, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008AD6B4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008AD6C4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008AD6D4, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008AD6E4, // TRACK_ELEM_25_DEG_DOWN + 0x008AD6F4, // TRACK_ELEM_60_DEG_DOWN + 0x008AD704, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008AD714, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008AD724, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008AD734, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008AD744, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008AD754, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008AD764, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008AD774, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008AD784, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008AD794, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008AD7A4, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008AD7B4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008AD7C4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008AD7D4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008AD7E4, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008AD7F4, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008AD804, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008AD814, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008AD824, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008AD834, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AD844, // TRACK_ELEM_LEFT_BANK + 0x008AD854, // TRACK_ELEM_RIGHT_BANK + 0x008AD864, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AD874, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AD884, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AD894, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AD8A4, // TRACK_ELEM_S_BEND_LEFT + 0x008AD8B4, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x008AD8F4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008AD904, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008AD914, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008AD924, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008AD934, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AD944, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AD954, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AD964, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AD974, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008AD984, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008AD994, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008AD9A4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008AD9B4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008AD9C4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008AD9D4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008AD9E4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008ADA14, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008AD9F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008ADA04, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008ADA24, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008ADA34, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008ADC84, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + 0x008ADC94, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0, + 0, + 0x008ADA44, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008ADCA4, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + 0x008ADCB4, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0, + 0x008ADED4, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE + 0x008ADEE4, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE + 0, + 0x008ADEF4, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE + 0x008ADF04, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 + 0x008ADF14, // TRACK_ELEM_CABLE_LIFT_HILL + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008ADA64, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008ADA74, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008ADA84, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008ADA94, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008ADAA4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008ADAB4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008ADAC4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008ADAD4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008ADA54, // TRACK_ELEM_DIAG_FLAT + 0x008ADB04, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008ADB64, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008ADAE4, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008ADB44, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008ADB54, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008ADAF4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008ADB34, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008ADB94, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008ADB14, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008ADB74, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008ADB84, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008ADB24, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008ADBC4, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008ADBD4, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008ADBE4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008ADBF4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008ADC24, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008ADC34, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008ADC04, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008ADC14, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008ADC44, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008ADC54, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008ADC64, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008ADC74, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008ADBA4, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008ADBB4, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008ADEC4, // TRACK_ELEM_BLOCK_BRAKES + 0x008ADCC4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008ADCD4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008ADCE4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008ADCF4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008ADD04, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008ADD14, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008ADD24, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008ADD34, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008ADD44, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + 0x008ADD54, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + 0x008ADD64, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008ADD74, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008ADD84, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + 0x008ADD94, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008ADDA4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008ADDB4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008ADDC4, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008ADDD4, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008ADE04, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + 0x008ADE14, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + 0x008ADE24, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008ADE34, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008ADDE4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + 0x008ADDF4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + 0x008ADE44, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008ADE54, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008ADE64, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + 0x008ADE74, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + 0x008ADE84, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008ADE94, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008ADEA4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008ADEB4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00886074 */ static const uint32 _OldRoToDropTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00886194, // TRACK_ELEM_TOWER_BASE - 0x008861A4, // TRACK_ELEM_TOWER_SECTION - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00886194, // TRACK_ELEM_TOWER_BASE + 0x008861A4, // TRACK_ELEM_TOWER_SECTION + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00887208 */ static const uint32 _OldFlyingSaucersTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008873D8, // 111 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008873D8, // 111 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00889C28 */ static const uint32 _OldCrookedHouseTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00889E28, // 123 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00889E28, // 123 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0088AC88 */ static const uint32 _OldMonorailCyclesTrackPaintFunctions[256] = { - 0x0088AD48, // TRACK_ELEM_FLAT - 0x0088AD58, // TRACK_ELEM_END_STATION - 0x0088AD68, // TRACK_ELEM_BEGIN_STATION - 0x0088AD78, // TRACK_ELEM_MIDDLE_STATION - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0088ADA8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x0088ADB8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0088ADC8, // TRACK_ELEM_S_BEND_LEFT - 0x0088ADD8, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x0088AD88, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0088AD98, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0088AD48, // TRACK_ELEM_FLAT + 0x0088AD58, // TRACK_ELEM_END_STATION + 0x0088AD68, // TRACK_ELEM_BEGIN_STATION + 0x0088AD78, // TRACK_ELEM_MIDDLE_STATION + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0088ADA8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x0088ADB8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0088ADC8, // TRACK_ELEM_S_BEND_LEFT + 0x0088ADD8, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x0088AD88, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x0088AD98, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008AE36C */ static const uint32 _OldCompactInvertedCoasterTrackPaintFunctions[256] = { - 0x008AE6E0, // TRACK_ELEM_FLAT - 0x008AE950, // TRACK_ELEM_END_STATION - 0x008AE960, // TRACK_ELEM_BEGIN_STATION - 0x008AE970, // TRACK_ELEM_MIDDLE_STATION - 0x008AE6F0, // TRACK_ELEM_25_DEG_UP - 0x008AE700, // TRACK_ELEM_60_DEG_UP - 0x008AE710, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008AE720, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008AE730, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008AE740, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AE750, // TRACK_ELEM_25_DEG_DOWN - 0x008AE760, // TRACK_ELEM_60_DEG_DOWN - 0x008AE770, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008AE780, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AE790, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AE7A0, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AE7B0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AE7C0, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AE7D0, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AE7E0, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AE7F0, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AE800, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AE810, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AE820, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AE830, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AE840, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AE850, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AE860, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AE870, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AE880, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AE890, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AE8A0, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AE8B0, // TRACK_ELEM_LEFT_BANK - 0x008AE8C0, // TRACK_ELEM_RIGHT_BANK - 0x008AE8D0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AE8E0, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AE8F0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AE900, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AE910, // TRACK_ELEM_S_BEND_LEFT - 0x008AE920, // TRACK_ELEM_S_BEND_RIGHT - 0x008AE930, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008AE940, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008AE980, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AE990, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AE9A0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AE9B0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AE9C0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AE9D0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AE9E0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AE9F0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0x008AEA00, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - 0x008AEA10, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - 0x008AEA20, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - 0x008AEA30, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - 0x008AEA40, // TRACK_ELEM_HALF_LOOP_UP - 0x008AEA50, // TRACK_ELEM_HALF_LOOP_DOWN - 0x008AEA60, // TRACK_ELEM_LEFT_CORKSCREW_UP - 0x008AEA70, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 0x008AEA80, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 0x008AEA90, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AEAD0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008AEAB0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008AEAC0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008AEAE0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008AEAA0, // TRACK_ELEM_BRAKES - 0, - 0, - 0x008AEAF0, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - 0x008AEB00, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - 0x008AEB10, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - 0x008AEB20, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AEB30, // TRACK_ELEM_ON_RIDE_PHOTO - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AEDB0, // TRACK_ELEM_90_DEG_UP - 0x008AEDC0, // TRACK_ELEM_90_DEG_DOWN - 0x008AED70, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 0x008AED80, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 0x008AED90, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 0x008AEDA0, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - 0, - 0x008AEB40, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AEB50, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AEB60, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AEB70, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008AED30, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008AED40, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008AED50, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AED60, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AEB80, // TRACK_ELEM_DIAG_FLAT - 0x008AEBB0, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008AEC10, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008AEB90, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008AEBF0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008AEC00, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008AEBA0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AEBE0, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008AEC40, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008AEBC0, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008AEC20, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AEC30, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AEBD0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008AEC70, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008AEC80, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008AEC90, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008AECA0, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008AECD0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008AECE0, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008AECB0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008AECC0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008AECF0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008AED00, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AED10, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008AED20, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AEC50, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008AEC60, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AEAA0, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008AE6E0, // TRACK_ELEM_FLAT + 0x008AE950, // TRACK_ELEM_END_STATION + 0x008AE960, // TRACK_ELEM_BEGIN_STATION + 0x008AE970, // TRACK_ELEM_MIDDLE_STATION + 0x008AE6F0, // TRACK_ELEM_25_DEG_UP + 0x008AE700, // TRACK_ELEM_60_DEG_UP + 0x008AE710, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008AE720, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008AE730, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008AE740, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008AE750, // TRACK_ELEM_25_DEG_DOWN + 0x008AE760, // TRACK_ELEM_60_DEG_DOWN + 0x008AE770, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008AE780, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008AE790, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008AE7A0, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008AE7B0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008AE7C0, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008AE7D0, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008AE7E0, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008AE7F0, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008AE800, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008AE810, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008AE820, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008AE830, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008AE840, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008AE850, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008AE860, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008AE870, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008AE880, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008AE890, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008AE8A0, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AE8B0, // TRACK_ELEM_LEFT_BANK + 0x008AE8C0, // TRACK_ELEM_RIGHT_BANK + 0x008AE8D0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AE8E0, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AE8F0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AE900, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AE910, // TRACK_ELEM_S_BEND_LEFT + 0x008AE920, // TRACK_ELEM_S_BEND_RIGHT + 0x008AE930, // TRACK_ELEM_LEFT_VERTICAL_LOOP + 0x008AE940, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + 0x008AE980, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008AE990, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008AE9A0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008AE9B0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008AE9C0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AE9D0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AE9E0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AE9F0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0x008AEA00, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP + 0x008AEA10, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP + 0x008AEA20, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN + 0x008AEA30, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN + 0x008AEA40, // TRACK_ELEM_HALF_LOOP_UP + 0x008AEA50, // TRACK_ELEM_HALF_LOOP_DOWN + 0x008AEA60, // TRACK_ELEM_LEFT_CORKSCREW_UP + 0x008AEA70, // TRACK_ELEM_RIGHT_CORKSCREW_UP + 0x008AEA80, // TRACK_ELEM_LEFT_CORKSCREW_DOWN + 0x008AEA90, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AEAD0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008AEAB0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008AEAC0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008AEAE0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008AEAA0, // TRACK_ELEM_BRAKES + 0, + 0, + 0x008AEAF0, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP + 0x008AEB00, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP + 0x008AEB10, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN + 0x008AEB20, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AEB30, // TRACK_ELEM_ON_RIDE_PHOTO + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AEDB0, // TRACK_ELEM_90_DEG_UP + 0x008AEDC0, // TRACK_ELEM_90_DEG_DOWN + 0x008AED70, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP + 0x008AED80, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN + 0x008AED90, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP + 0x008AEDA0, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 0, + 0x008AEB40, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008AEB50, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008AEB60, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008AEB70, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008AED30, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008AED40, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008AED50, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008AED60, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008AEB80, // TRACK_ELEM_DIAG_FLAT + 0x008AEBB0, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008AEC10, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008AEB90, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008AEBF0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008AEC00, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008AEBA0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008AEBE0, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008AEC40, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008AEBC0, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008AEC20, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008AEC30, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008AEBD0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008AEC70, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008AEC80, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008AEC90, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008AECA0, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008AECD0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008AECE0, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008AECB0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008AECC0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008AECF0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008AED00, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008AED10, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008AED20, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AEC50, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008AEC60, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AEAA0, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008AEDE0 */ static const uint32 _OldWaterCoasterTrackPaintFunctions[256] = { - 0x008AF154, // TRACK_ELEM_FLAT - 0x008AF2A4, // TRACK_ELEM_END_STATION - 0x008AF2B4, // TRACK_ELEM_BEGIN_STATION - 0x008AF2C4, // TRACK_ELEM_MIDDLE_STATION - 0x008AF164, // TRACK_ELEM_25_DEG_UP - 0x008AF174, // TRACK_ELEM_60_DEG_UP - 0x008AF184, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008AF194, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008AF1A4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008AF1B4, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AF1C4, // TRACK_ELEM_25_DEG_DOWN - 0x008AF1D4, // TRACK_ELEM_60_DEG_DOWN - 0x008AF1E4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008AF1F4, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AF204, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AF214, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AF224, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AF234, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AF454, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AF464, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AF474, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AF484, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AF494, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AF4A4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AF4B4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AF4C4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AF4D4, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AF4E4, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AF4F4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AF504, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AF514, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AF524, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AF534, // TRACK_ELEM_LEFT_BANK - 0x008AF544, // TRACK_ELEM_RIGHT_BANK - 0x008AF244, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AF254, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AF264, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AF274, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AF284, // TRACK_ELEM_S_BEND_LEFT - 0x008AF294, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x008AF2D4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AF2E4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AF554, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AF564, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AF2F4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AF304, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AF314, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AF324, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AF714, // TRACK_ELEM_FLAT_COVERED - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AF724, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - 0x008AF734, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - 0, - 0, - 0, - 0, - 0x008AF574, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008AF584, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008AF594, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AF5A4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AF5B4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008AF5C4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008AF5D4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008AF5E4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0, - 0, - 0, - 0, - 0x008AF334, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AF414, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AF424, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AF434, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AF444, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008AF5F4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008AF604, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008AF614, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AF624, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AF344, // TRACK_ELEM_DIAG_FLAT - 0x008AF374, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008AF3A4, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008AF354, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008AF384, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008AF394, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008AF364, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AF3D4, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008AF404, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008AF3B4, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008AF3E4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AF3F4, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AF3C4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008AF654, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008AF664, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008AF674, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008AF684, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008AF6B4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008AF6C4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008AF694, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008AF6A4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008AF6D4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008AF6E4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AF6F4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008AF704, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AF634, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008AF644, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AF744, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008AF154, // TRACK_ELEM_FLAT + 0x008AF2A4, // TRACK_ELEM_END_STATION + 0x008AF2B4, // TRACK_ELEM_BEGIN_STATION + 0x008AF2C4, // TRACK_ELEM_MIDDLE_STATION + 0x008AF164, // TRACK_ELEM_25_DEG_UP + 0x008AF174, // TRACK_ELEM_60_DEG_UP + 0x008AF184, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008AF194, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008AF1A4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008AF1B4, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008AF1C4, // TRACK_ELEM_25_DEG_DOWN + 0x008AF1D4, // TRACK_ELEM_60_DEG_DOWN + 0x008AF1E4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008AF1F4, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008AF204, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008AF214, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008AF224, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008AF234, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008AF454, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008AF464, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008AF474, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008AF484, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008AF494, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008AF4A4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008AF4B4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008AF4C4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008AF4D4, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008AF4E4, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008AF4F4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008AF504, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008AF514, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008AF524, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AF534, // TRACK_ELEM_LEFT_BANK + 0x008AF544, // TRACK_ELEM_RIGHT_BANK + 0x008AF244, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AF254, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008AF264, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AF274, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008AF284, // TRACK_ELEM_S_BEND_LEFT + 0x008AF294, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x008AF2D4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008AF2E4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008AF554, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008AF564, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008AF2F4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AF304, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008AF314, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AF324, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AF714, // TRACK_ELEM_FLAT_COVERED + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AF724, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED + 0x008AF734, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED + 0, + 0, + 0, + 0, + 0x008AF574, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008AF584, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008AF594, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008AF5A4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008AF5B4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008AF5C4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008AF5D4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008AF5E4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0, + 0, + 0, + 0, + 0x008AF334, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AF414, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008AF424, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008AF434, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008AF444, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008AF5F4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008AF604, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008AF614, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008AF624, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008AF344, // TRACK_ELEM_DIAG_FLAT + 0x008AF374, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008AF3A4, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008AF354, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008AF384, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008AF394, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008AF364, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008AF3D4, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008AF404, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008AF3B4, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008AF3E4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008AF3F4, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008AF3C4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008AF654, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008AF664, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008AF674, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008AF684, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008AF6B4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008AF6C4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008AF694, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008AF6A4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008AF6D4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008AF6E4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008AF6F4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008AF704, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AF634, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008AF644, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AF744, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008AF764 */ static const uint32 _OldAirPoweredVerticalCoasterTrackPaintFunctions[256] = { - 0x008AFAD4, // TRACK_ELEM_FLAT - 0x008AFAE4, // TRACK_ELEM_END_STATION - 0x008AFAF4, // TRACK_ELEM_BEGIN_STATION - 0x008AFB04, // TRACK_ELEM_MIDDLE_STATION - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AFB54, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AFB64, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AFB74, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AFB84, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AFB94, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AFBA4, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AFBB4, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AFBC4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AFBD4, // TRACK_ELEM_LEFT_BANK - 0x008AFBE4, // TRACK_ELEM_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AFC04, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AFB14, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE - 0x008AFB34, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008AFBF4, // TRACK_ELEM_AIR_THRUST_TOP_CAP - 0x008AFB44, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN - 0x008AFB24, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008AFAD4, // TRACK_ELEM_FLAT + 0x008AFAE4, // TRACK_ELEM_END_STATION + 0x008AFAF4, // TRACK_ELEM_BEGIN_STATION + 0x008AFB04, // TRACK_ELEM_MIDDLE_STATION + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AFB54, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008AFB64, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008AFB74, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008AFB84, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008AFB94, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008AFBA4, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008AFBB4, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008AFBC4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AFBD4, // TRACK_ELEM_LEFT_BANK + 0x008AFBE4, // TRACK_ELEM_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AFC04, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AFB14, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE + 0x008AFB34, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008AFBF4, // TRACK_ELEM_AIR_THRUST_TOP_CAP + 0x008AFB44, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN + 0x008AFB24, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00890940 */ static const uint32 _OldInvertedHairpinCoasterTrackPaintFunctions[256] = { - 0x00890CB4, // TRACK_ELEM_FLAT - 0x00890D84, // TRACK_ELEM_END_STATION - 0x00890D94, // TRACK_ELEM_BEGIN_STATION - 0x00890DA4, // TRACK_ELEM_MIDDLE_STATION - 0x00890CC4, // TRACK_ELEM_25_DEG_UP - 0x00890CD4, // TRACK_ELEM_60_DEG_UP - 0x00890CE4, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x00890CF4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x00890D04, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x00890D14, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x00890D24, // TRACK_ELEM_25_DEG_DOWN - 0x00890D34, // TRACK_ELEM_60_DEG_DOWN - 0x00890D44, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x00890D54, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x00890D64, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x00890D74, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00890DB4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x00890DC4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0x00890DD4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x00890DE4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x00890DF4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x00890E04, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x00890E64, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x00890E74, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00890E24, // TRACK_ELEM_FLAT_TO_60_DEG_UP - 0x00890E34, // TRACK_ELEM_60_DEG_UP_TO_FLAT - 0x00890E44, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - 0x00890E54, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00890E14, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00890E84, // TRACK_ELEM_BLOCK_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x00890CB4, // TRACK_ELEM_FLAT + 0x00890D84, // TRACK_ELEM_END_STATION + 0x00890D94, // TRACK_ELEM_BEGIN_STATION + 0x00890DA4, // TRACK_ELEM_MIDDLE_STATION + 0x00890CC4, // TRACK_ELEM_25_DEG_UP + 0x00890CD4, // TRACK_ELEM_60_DEG_UP + 0x00890CE4, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x00890CF4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x00890D04, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x00890D14, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x00890D24, // TRACK_ELEM_25_DEG_DOWN + 0x00890D34, // TRACK_ELEM_60_DEG_DOWN + 0x00890D44, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x00890D54, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x00890D64, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x00890D74, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00890DB4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x00890DC4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0x00890DD4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x00890DE4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x00890DF4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x00890E04, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x00890E64, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x00890E74, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00890E24, // TRACK_ELEM_FLAT_TO_60_DEG_UP + 0x00890E34, // TRACK_ELEM_60_DEG_UP_TO_FLAT + 0x00890E44, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN + 0x00890E54, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00890E14, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00890E84, // TRACK_ELEM_BLOCK_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x00898384 */ static const uint32 _OldMagicCarpetTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x00898514, // 95 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x00898514, // 95 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008995D4 */ static const uint32 _OldSubmarineRideTrackPaintFunctions[256] = { - 0x008996B4, // TRACK_ELEM_FLAT - 0x008996C4, // TRACK_ELEM_END_STATION - 0x008996D4, // TRACK_ELEM_BEGIN_STATION - 0x008996E4, // TRACK_ELEM_MIDDLE_STATION - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008996F4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x00899704, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0x00899714, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x00899724, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008996B4, // TRACK_ELEM_FLAT + 0x008996C4, // TRACK_ELEM_END_STATION + 0x008996D4, // TRACK_ELEM_BEGIN_STATION + 0x008996E4, // TRACK_ELEM_MIDDLE_STATION + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008996F4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x00899704, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0x00899714, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE + 0x00899724, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x0089B0C0 */ static const uint32 _OldRiverRaftsTrackPaintFunctions[256] = { - 0x0089B170, // TRACK_ELEM_FLAT - 0x0089B1A0, // TRACK_ELEM_END_STATION - 0x0089B1B0, // TRACK_ELEM_BEGIN_STATION - 0x0089B1C0, // TRACK_ELEM_MIDDLE_STATION - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0089B1D0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x0089B1E0, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0089B180, // TRACK_ELEM_S_BEND_LEFT - 0x0089B190, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x0089B170, // TRACK_ELEM_FLAT + 0x0089B1A0, // TRACK_ELEM_END_STATION + 0x0089B1B0, // TRACK_ELEM_BEGIN_STATION + 0x0089B1C0, // TRACK_ELEM_MIDDLE_STATION + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0089B1D0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x0089B1E0, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0089B180, // TRACK_ELEM_S_BEND_LEFT + 0x0089B190, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A13B4 */ static const uint32 _OldEnterpriseTrackPaintFunctions[256] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A1584, // 111 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A1584, // 111 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008B005C */ static const uint32 _OldInvertedImpulseCoasterTrackPaintFunctions[256] = { - 0x008B0460, // TRACK_ELEM_FLAT - 0x008B0470, // TRACK_ELEM_END_STATION - 0x008B0480, // TRACK_ELEM_BEGIN_STATION - 0x008B0490, // TRACK_ELEM_MIDDLE_STATION - 0x008B04A0, // TRACK_ELEM_25_DEG_UP - 0x008B04B0, // TRACK_ELEM_60_DEG_UP - 0x008B04C0, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008B04D0, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008B04E0, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008B04F0, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008B0500, // TRACK_ELEM_25_DEG_DOWN - 0x008B0510, // TRACK_ELEM_60_DEG_DOWN - 0x008B0520, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008B0530, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008B0540, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008B0550, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008B05A0, // TRACK_ELEM_90_DEG_UP - 0x008B05B0, // TRACK_ELEM_90_DEG_DOWN - 0x008B0560, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 0x008B0570, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 0x008B0580, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 0x008B0590, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008B05C0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008B05D0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008B05E0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 0x008B05F0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 0, - 0, - 0, + 0x008B0460, // TRACK_ELEM_FLAT + 0x008B0470, // TRACK_ELEM_END_STATION + 0x008B0480, // TRACK_ELEM_BEGIN_STATION + 0x008B0490, // TRACK_ELEM_MIDDLE_STATION + 0x008B04A0, // TRACK_ELEM_25_DEG_UP + 0x008B04B0, // TRACK_ELEM_60_DEG_UP + 0x008B04C0, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008B04D0, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008B04E0, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008B04F0, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008B0500, // TRACK_ELEM_25_DEG_DOWN + 0x008B0510, // TRACK_ELEM_60_DEG_DOWN + 0x008B0520, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008B0530, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008B0540, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008B0550, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008B05A0, // TRACK_ELEM_90_DEG_UP + 0x008B05B0, // TRACK_ELEM_90_DEG_DOWN + 0x008B0560, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP + 0x008B0570, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN + 0x008B0580, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP + 0x008B0590, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008B05C0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP + 0x008B05D0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP + 0x008B05E0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 0x008B05F0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 0, + 0, + 0, }; /** rct2: 0x008A46D8 */ static const uint32 _OldMiniRollerCoasterTrackPaintFunctions[256] = { - 0x008A4ABC, // TRACK_ELEM_FLAT - 0x008A4D0C, // TRACK_ELEM_END_STATION - 0x008A4D1C, // TRACK_ELEM_BEGIN_STATION - 0x008A4D2C, // TRACK_ELEM_MIDDLE_STATION - 0x008A4ACC, // TRACK_ELEM_25_DEG_UP - 0x008A4ADC, // TRACK_ELEM_60_DEG_UP - 0x008A4AEC, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A4AFC, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A4B0C, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A4B1C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A4B2C, // TRACK_ELEM_25_DEG_DOWN - 0x008A4B3C, // TRACK_ELEM_60_DEG_DOWN - 0x008A4B4C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A4B5C, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A4B6C, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A4B7C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A4B8C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A4B9C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A4BAC, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A4BBC, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A4BCC, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A4BDC, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A4BEC, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A4BFC, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A4C0C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A4C1C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A4C2C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A4C3C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A4C4C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A4C5C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A4C6C, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A4C7C, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A4C8C, // TRACK_ELEM_LEFT_BANK - 0x008A4C9C, // TRACK_ELEM_RIGHT_BANK - 0x008A4CAC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A4CBC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A4CCC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A4CDC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A4CEC, // TRACK_ELEM_S_BEND_LEFT - 0x008A4CFC, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x008A4D3C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A4D4C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A4D5C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A4D6C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A4D7C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A4D8C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A4D9C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A4DAC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A4DBC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008A4DCC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008A4DDC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A4DEC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A4DFC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008A4E0C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008A4E1C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A4E2C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A4E5C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A4E3C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A4E4C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A4E6C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A4E7C, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A50CC, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008A50DC, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 0, - 0, - 0x008A4E8C, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008A50EC, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008A50FC, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A4EAC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A4EBC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A4ECC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A4EDC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A4EEC, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A4EFC, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A4F0C, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A4F1C, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A4E9C, // TRACK_ELEM_DIAG_FLAT - 0x008A4F4C, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A4FAC, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A4F2C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A4F8C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A4F9C, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A4F3C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A4F7C, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A4FDC, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A4F5C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A4FBC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A4FCC, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A4F6C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008A500C, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A501C, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A502C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A503C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A506C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A507C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A504C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A505C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A508C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A509C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A50AC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A50BC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A4FEC, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A4FFC, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A530C, // TRACK_ELEM_BLOCK_BRAKES - 0x008A510C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A511C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A512C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A513C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A514C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A515C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A516C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A517C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A518C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008A519C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008A51AC, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A51BC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A51CC, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A51DC, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A51EC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A51FC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A520C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A521C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A524C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008A525C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008A526C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A527C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A522C, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008A523C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008A528C, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A529C, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A52AC, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008A52BC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008A52CC, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A52DC, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A52EC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008A52FC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008A4ABC, // TRACK_ELEM_FLAT + 0x008A4D0C, // TRACK_ELEM_END_STATION + 0x008A4D1C, // TRACK_ELEM_BEGIN_STATION + 0x008A4D2C, // TRACK_ELEM_MIDDLE_STATION + 0x008A4ACC, // TRACK_ELEM_25_DEG_UP + 0x008A4ADC, // TRACK_ELEM_60_DEG_UP + 0x008A4AEC, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008A4AFC, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008A4B0C, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008A4B1C, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008A4B2C, // TRACK_ELEM_25_DEG_DOWN + 0x008A4B3C, // TRACK_ELEM_60_DEG_DOWN + 0x008A4B4C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008A4B5C, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A4B6C, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A4B7C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008A4B8C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008A4B9C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008A4BAC, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008A4BBC, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008A4BCC, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008A4BDC, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008A4BEC, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008A4BFC, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008A4C0C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008A4C1C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008A4C2C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008A4C3C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008A4C4C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008A4C5C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A4C6C, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008A4C7C, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A4C8C, // TRACK_ELEM_LEFT_BANK + 0x008A4C9C, // TRACK_ELEM_RIGHT_BANK + 0x008A4CAC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A4CBC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A4CCC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A4CDC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A4CEC, // TRACK_ELEM_S_BEND_LEFT + 0x008A4CFC, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x008A4D3C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008A4D4C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008A4D5C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008A4D6C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008A4D7C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A4D8C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A4D9C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A4DAC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A4DBC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008A4DCC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008A4DDC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008A4DEC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008A4DFC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008A4E0C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008A4E1C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008A4E2C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008A4E5C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008A4E3C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008A4E4C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008A4E6C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008A4E7C, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A50CC, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + 0x008A50DC, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0, + 0, + 0x008A4E8C, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008A50EC, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + 0x008A50FC, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A4EAC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008A4EBC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008A4ECC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008A4EDC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008A4EEC, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008A4EFC, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008A4F0C, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A4F1C, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A4E9C, // TRACK_ELEM_DIAG_FLAT + 0x008A4F4C, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008A4FAC, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008A4F2C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008A4F8C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008A4F9C, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008A4F3C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008A4F7C, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008A4FDC, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008A4F5C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008A4FBC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A4FCC, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A4F6C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008A500C, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008A501C, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008A502C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008A503C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008A506C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008A507C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008A504C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008A505C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008A508C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008A509C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A50AC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008A50BC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A4FEC, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008A4FFC, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A530C, // TRACK_ELEM_BLOCK_BRAKES + 0x008A510C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008A511C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008A512C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008A513C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008A514C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008A515C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008A516C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008A517C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008A518C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + 0x008A519C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + 0x008A51AC, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008A51BC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008A51CC, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A51DC, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A51EC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008A51FC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008A520C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008A521C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008A524C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + 0x008A525C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + 0x008A526C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A527C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A522C, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + 0x008A523C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + 0x008A528C, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008A529C, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008A52AC, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + 0x008A52BC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + 0x008A52CC, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A52DC, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A52EC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008A52FC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008B0610 */ static const uint32 _OldMineRideTrackPaintFunctions[256] = { - 0x008B08D0, // TRACK_ELEM_FLAT - 0x008B0A80, // TRACK_ELEM_END_STATION - 0x008B0A90, // TRACK_ELEM_BEGIN_STATION - 0x008B0AA0, // TRACK_ELEM_MIDDLE_STATION - 0x008B08E0, // TRACK_ELEM_25_DEG_UP - 0, - 0x008B08F0, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0, - 0, - 0x008B0900, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008B0910, // TRACK_ELEM_25_DEG_DOWN - 0, - 0x008B0920, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008B0930, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008B0940, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008B0950, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008B0960, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008B0970, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008B0980, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008B0990, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008B09A0, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008B09B0, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008B09C0, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008B09D0, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008B09E0, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008B09F0, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008B0A00, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008B0A10, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008B0A20, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008B0A30, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008B0A40, // TRACK_ELEM_LEFT_BANK - 0x008B0A50, // TRACK_ELEM_RIGHT_BANK - 0, - 0, - 0, - 0, - 0x008B0A60, // TRACK_ELEM_S_BEND_LEFT - 0x008B0A70, // TRACK_ELEM_S_BEND_RIGHT - 0, - 0, - 0x008B0AB0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008B0AC0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008B0AD0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008B0AE0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008B0AF0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008B0B00, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008B0B10, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008B0B20, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008B0B30, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008B0B40, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008B0B50, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008B0B60, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008B0B70, // TRACK_ELEM_ON_RIDE_PHOTO - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008B0B90, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008B0BA0, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008B0BB0, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008B0BC0, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008B0BD0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008B0BE0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008B0BF0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008B0C00, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008B0B80, // TRACK_ELEM_DIAG_FLAT - 0x008B0C30, // TRACK_ELEM_DIAG_25_DEG_UP - 0, - 0x008B0C10, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0, - 0, - 0x008B0C20, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008B0C60, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0, - 0x008B0C40, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0, - 0, - 0x008B0C50, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008B0C90, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008B0CA0, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008B0CB0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008B0CC0, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008B0CF0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008B0D00, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008B0CD0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008B0CE0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008B0D10, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008B0D20, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008B0D30, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008B0D40, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008B0C70, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008B0C80, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0x008B08D0, // TRACK_ELEM_FLAT + 0x008B0A80, // TRACK_ELEM_END_STATION + 0x008B0A90, // TRACK_ELEM_BEGIN_STATION + 0x008B0AA0, // TRACK_ELEM_MIDDLE_STATION + 0x008B08E0, // TRACK_ELEM_25_DEG_UP + 0, + 0x008B08F0, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0, + 0, + 0x008B0900, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008B0910, // TRACK_ELEM_25_DEG_DOWN + 0, + 0x008B0920, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008B0930, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008B0940, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008B0950, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008B0960, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008B0970, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008B0980, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008B0990, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008B09A0, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008B09B0, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008B09C0, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008B09D0, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008B09E0, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008B09F0, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008B0A00, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008B0A10, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008B0A20, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008B0A30, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008B0A40, // TRACK_ELEM_LEFT_BANK + 0x008B0A50, // TRACK_ELEM_RIGHT_BANK + 0, + 0, + 0, + 0, + 0x008B0A60, // TRACK_ELEM_S_BEND_LEFT + 0x008B0A70, // TRACK_ELEM_S_BEND_RIGHT + 0, + 0, + 0x008B0AB0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008B0AC0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008B0AD0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008B0AE0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008B0AF0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008B0B00, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008B0B10, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008B0B20, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008B0B30, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008B0B40, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008B0B50, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008B0B60, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008B0B70, // TRACK_ELEM_ON_RIDE_PHOTO + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008B0B90, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008B0BA0, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008B0BB0, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008B0BC0, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008B0BD0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008B0BE0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008B0BF0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008B0C00, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008B0B80, // TRACK_ELEM_DIAG_FLAT + 0x008B0C30, // TRACK_ELEM_DIAG_25_DEG_UP + 0, + 0x008B0C10, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0, + 0, + 0x008B0C20, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008B0C60, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0, + 0x008B0C40, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0, + 0, + 0x008B0C50, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008B0C90, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008B0CA0, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008B0CB0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008B0CC0, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008B0CF0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008B0D00, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008B0CD0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008B0CE0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008B0D10, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008B0D20, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008B0D30, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008B0D40, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008B0C70, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008B0C80, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; /** rct2: 0x008A5F6C */ static const uint32 _OldLimLaunchedRollerCoasterTrackPaintFunctions[256] = { - 0x008A6370, // TRACK_ELEM_FLAT - 0x008A6D50, // TRACK_ELEM_END_STATION - 0x008A6D60, // TRACK_ELEM_BEGIN_STATION - 0x008A6D70, // TRACK_ELEM_MIDDLE_STATION - 0x008A6380, // TRACK_ELEM_25_DEG_UP - 0x008A6390, // TRACK_ELEM_60_DEG_UP - 0x008A63A0, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A63B0, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A63C0, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A63D0, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A63E0, // TRACK_ELEM_25_DEG_DOWN - 0x008A63F0, // TRACK_ELEM_60_DEG_DOWN - 0x008A6400, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A6410, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A6420, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6430, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A6440, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A6450, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A6460, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A6470, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A6480, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A6490, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A64A0, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A64B0, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A64C0, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A64D0, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A64E0, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A64F0, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A6500, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A6510, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A6520, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A6530, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A6540, // TRACK_ELEM_LEFT_BANK - 0x008A6550, // TRACK_ELEM_RIGHT_BANK - 0x008A6560, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A6570, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A6580, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A6590, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A65A0, // TRACK_ELEM_S_BEND_LEFT - 0x008A65B0, // TRACK_ELEM_S_BEND_RIGHT - 0x008A65E0, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008A65F0, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008A6630, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A6640, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A6650, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A6660, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A6670, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A6680, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A6690, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A66A0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0, - 0, - 0x008A6D10, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - 0x008A6D20, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - 0x008A6D30, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - 0x008A6D40, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - 0, - 0, - 0x008A6CD0, // TRACK_ELEM_LEFT_CORKSCREW_UP - 0x008A6CE0, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 0x008A6CF0, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 0x008A6D00, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A66B0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008A66C0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008A66D0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A66E0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A66F0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008A6700, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008A6710, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A6720, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A6750, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A6730, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A6740, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A6760, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A6D80, // TRACK_ELEM_BRAKES - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A6A40, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008A6A50, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 0, - 0, - 0x008A6780, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008A6A60, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008A6A70, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A6C10, // TRACK_ELEM_90_DEG_UP - 0x008A6C20, // TRACK_ELEM_90_DEG_DOWN - 0x008A6C30, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 0x008A6C40, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 0x008A6C50, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 0x008A6C60, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - 0, - 0x008A6860, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A6870, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A6880, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A6890, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A68A0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A68B0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A68C0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A68D0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A6790, // TRACK_ELEM_DIAG_FLAT - 0x008A67C0, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A67F0, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A67A0, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A67D0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A67E0, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A67B0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A6820, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A6850, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A6800, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A6830, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A6840, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6810, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0, - 0, - 0, - 0, - 0x008A6900, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A6910, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A6920, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A6930, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A6960, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A6970, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A6940, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A6950, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A6980, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A6990, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A69A0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A69B0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A68E0, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A68F0, // TRACK_ELEM_DIAG_RIGHT_BANK - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A6C70, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP - 0x008A6C80, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x008A6D90, // TRACK_ELEM_BLOCK_BRAKES - 0x008A6BC0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A6BD0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A6BE0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A6BF0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A6B80, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A6B90, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A6BA0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A6BB0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A6A80, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008A6A90, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008A6AA0, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A6AB0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A6AC0, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A6AD0, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A6AE0, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6AF0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6B00, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A6B10, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A6B40, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008A6B50, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008A6B60, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A6B70, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A6B20, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008A6B30, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008A69C0, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A69D0, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A69E0, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008A69F0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008A6A00, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A6A10, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A6A20, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008A6A30, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008A6C90, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008A6CA0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008A6CB0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 0x008A6CC0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 0, - 0, - 0, + 0x008A6370, // TRACK_ELEM_FLAT + 0x008A6D50, // TRACK_ELEM_END_STATION + 0x008A6D60, // TRACK_ELEM_BEGIN_STATION + 0x008A6D70, // TRACK_ELEM_MIDDLE_STATION + 0x008A6380, // TRACK_ELEM_25_DEG_UP + 0x008A6390, // TRACK_ELEM_60_DEG_UP + 0x008A63A0, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008A63B0, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP + 0x008A63C0, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP + 0x008A63D0, // TRACK_ELEM_25_DEG_UP_TO_FLAT + 0x008A63E0, // TRACK_ELEM_25_DEG_DOWN + 0x008A63F0, // TRACK_ELEM_60_DEG_DOWN + 0x008A6400, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008A6410, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A6420, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A6430, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008A6440, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES + 0x008A6450, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008A6460, // TRACK_ELEM_FLAT_TO_LEFT_BANK + 0x008A6470, // TRACK_ELEM_FLAT_TO_RIGHT_BANK + 0x008A6480, // TRACK_ELEM_LEFT_BANK_TO_FLAT + 0x008A6490, // TRACK_ELEM_RIGHT_BANK_TO_FLAT + 0x008A64A0, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES + 0x008A64B0, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008A64C0, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP + 0x008A64D0, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP + 0x008A64E0, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK + 0x008A64F0, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK + 0x008A6500, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN + 0x008A6510, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A6520, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK + 0x008A6530, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A6540, // TRACK_ELEM_LEFT_BANK + 0x008A6550, // TRACK_ELEM_RIGHT_BANK + 0x008A6560, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A6570, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP + 0x008A6580, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A6590, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN + 0x008A65A0, // TRACK_ELEM_S_BEND_LEFT + 0x008A65B0, // TRACK_ELEM_S_BEND_RIGHT + 0x008A65E0, // TRACK_ELEM_LEFT_VERTICAL_LOOP + 0x008A65F0, // TRACK_ELEM_RIGHT_VERTICAL_LOOP + 0x008A6630, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES + 0x008A6640, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008A6650, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK + 0x008A6660, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008A6670, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A6680, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP + 0x008A6690, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A66A0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0, + 0, + 0x008A6D10, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP + 0x008A6D20, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP + 0x008A6D30, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN + 0x008A6D40, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN + 0, + 0, + 0x008A6CD0, // TRACK_ELEM_LEFT_CORKSCREW_UP + 0x008A6CE0, // TRACK_ELEM_RIGHT_CORKSCREW_UP + 0x008A6CF0, // TRACK_ELEM_LEFT_CORKSCREW_DOWN + 0x008A6D00, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A66B0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL + 0x008A66C0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL + 0x008A66D0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008A66E0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL + 0x008A66F0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE + 0x008A6700, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE + 0x008A6710, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008A6720, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008A6750, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008A6730, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP + 0x008A6740, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008A6760, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN + 0x008A6D80, // TRACK_ELEM_BRAKES + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A6A40, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED + 0x008A6A50, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0, + 0, + 0x008A6780, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008A6A60, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED + 0x008A6A70, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A6C10, // TRACK_ELEM_90_DEG_UP + 0x008A6C20, // TRACK_ELEM_90_DEG_DOWN + 0x008A6C30, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP + 0x008A6C40, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN + 0x008A6C50, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP + 0x008A6C60, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 0, + 0x008A6860, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG + 0x008A6870, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG + 0x008A6880, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL + 0x008A6890, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008A68A0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG + 0x008A68B0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG + 0x008A68C0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A68D0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL + 0x008A6790, // TRACK_ELEM_DIAG_FLAT + 0x008A67C0, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008A67F0, // TRACK_ELEM_DIAG_60_DEG_UP + 0x008A67A0, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008A67D0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP + 0x008A67E0, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP + 0x008A67B0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT + 0x008A6820, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008A6850, // TRACK_ELEM_DIAG_60_DEG_DOWN + 0x008A6800, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008A6830, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN + 0x008A6840, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN + 0x008A6810, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0, + 0, + 0, + 0, + 0x008A6900, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK + 0x008A6910, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK + 0x008A6920, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT + 0x008A6930, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT + 0x008A6960, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP + 0x008A6970, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP + 0x008A6940, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK + 0x008A6950, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK + 0x008A6980, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN + 0x008A6990, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN + 0x008A69A0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK + 0x008A69B0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK + 0x008A68E0, // TRACK_ELEM_DIAG_LEFT_BANK + 0x008A68F0, // TRACK_ELEM_DIAG_RIGHT_BANK + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A6C70, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP + 0x008A6C80, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x008A6D90, // TRACK_ELEM_BLOCK_BRAKES + 0x008A6BC0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008A6BD0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP + 0x008A6BE0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008A6BF0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN + 0x008A6B80, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008A6B90, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP + 0x008A6BA0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008A6BB0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN + 0x008A6A80, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP + 0x008A6A90, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP + 0x008A6AA0, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008A6AB0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP + 0x008A6AC0, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A6AD0, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A6AE0, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008A6AF0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN + 0x008A6B00, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008A6B10, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008A6B40, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT + 0x008A6B50, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT + 0x008A6B60, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A6B70, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A6B20, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT + 0x008A6B30, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT + 0x008A69C0, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP + 0x008A69D0, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP + 0x008A69E0, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT + 0x008A69F0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT + 0x008A6A00, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN + 0x008A6A10, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN + 0x008A6A20, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008A6A30, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008A6C90, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP + 0x008A6CA0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP + 0x008A6CB0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 0x008A6CC0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 0, + 0, + 0, }; static const uint32 _null[256] = {0}; const uint32 * RideTypeTrackPaintFunctionsOld[RIDE_TYPE_COUNT] = { - _OldSpiralRollerCoasterTrackPaintFunctions, // RIDE_TYPE_SPIRAL_ROLLER_COASTER - _OldStandUpRollerCoasterTrackPaintFunctions, // RIDE_TYPE_STAND_UP_ROLLER_COASTER - _OldSuspendedSwingingCoasterTrackPaintFunctions, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - _OldInvertedRollerCoasterTrackPaintFunctions, // RIDE_TYPE_INVERTED_ROLLER_COASTER - _OldJuniorRollerCoasterTrackPaintFunctions, // RIDE_TYPE_JUNIOR_ROLLER_COASTER - _OldMiniatureRailwayTrackPaintFunctions, // RIDE_TYPE_MINIATURE_RAILWAY - _OldMonorailTrackPaintFunctions, // RIDE_TYPE_MONORAIL - _OldMiniSuspendedCoasterTrackPaintFunctions, // RIDE_TYPE_MINI_SUSPENDED_COASTER - _OldBoatRideTrackPaintFunctions, // RIDE_TYPE_BOAT_RIDE - _OldWoodenWildMouseTrackPaintFunctions, // RIDE_TYPE_WOODEN_WILD_MOUSE - _OldSteeplechaseTrackPaintFunctions, // RIDE_TYPE_STEEPLECHASE - _OldCarRideTrackPaintFunctions, // RIDE_TYPE_CAR_RIDE - _OldLaunchedFreefallTrackPaintFunctions, // RIDE_TYPE_LAUNCHED_FREEFALL - _OldBobsleighCoasterTrackPaintFunctions, // RIDE_TYPE_BOBSLEIGH_COASTER - _OldObservationTowerTrackPaintFunctions, // RIDE_TYPE_OBSERVATION_TOWER - _OldLoopingRollerCoasterTrackPaintFunctions, // RIDE_TYPE_LOOPING_ROLLER_COASTER - _OldDinghySlideTrackPaintFunctions, // RIDE_TYPE_DINGHY_SLIDE - _OldMineTrainCoasterTrackPaintFunctions, // RIDE_TYPE_MINE_TRAIN_COASTER - _OldChairliftTrackPaintFunctions, // RIDE_TYPE_CHAIRLIFT - _OldCorkscrewRollerCoasterTrackPaintFunctions, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - _OldMazeTrackPaintFunctions, // RIDE_TYPE_MAZE - _OldSpiralSlideTrackPaintFunctions, // RIDE_TYPE_SPIRAL_SLIDE - _OldGoKartsTrackPaintFunctions, // RIDE_TYPE_GO_KARTS - _OldLogFlumeTrackPaintFunctions, // RIDE_TYPE_LOG_FLUME - _OldRiverRapidsTrackPaintFunctions, // RIDE_TYPE_RIVER_RAPIDS - _OldDodgemsTrackPaintFunctions, // RIDE_TYPE_DODGEMS - _OldPirateShipTrackPaintFunctions, // RIDE_TYPE_PIRATE_SHIP - _OldSwingingInverterShipTrackPaintFunctions, // RIDE_TYPE_SWINGING_INVERTER_SHIP - _OldShopTrackPaintFunctions, // RIDE_TYPE_FOOD_STALL - _OldShopTrackPaintFunctions, // RIDE_TYPE_1D - _OldShopTrackPaintFunctions, // RIDE_TYPE_DRINK_STALL - _OldShopTrackPaintFunctions, // RIDE_TYPE_1F - _OldShopTrackPaintFunctions, // RIDE_TYPE_SHOP - _OldMerryGoRoundTrackPaintFunctions, // RIDE_TYPE_MERRY_GO_ROUND - _OldShopTrackPaintFunctions, // RIDE_TYPE_22 - _OldShopTrackPaintFunctions, // RIDE_TYPE_INFORMATION_KIOSK - _OldFacilityTrackPaintFunctions, // RIDE_TYPE_TOILETS - _OldFerrisWheelTrackPaintFunctions, // RIDE_TYPE_FERRIS_WHEEL - _OldMotionSimulatorTrackPaintFunctions, // RIDE_TYPE_MOTION_SIMULATOR - _Old3DCinemaTrackPaintFunctions, // RIDE_TYPE_3D_CINEMA - _OldTopSpinTrackPaintFunctions, // RIDE_TYPE_TOP_SPIN - _OldSpaceRingsTrackPaintFunctions, // RIDE_TYPE_SPACE_RINGS - _OldReverseFreefallCoasterTrackPaintFunctions, // RIDE_TYPE_REVERSE_FREEFALL_COASTER - _OldLiftTrackPaintFunctions, // RIDE_TYPE_LIFT - _OldVerticalDropRollerCoasterTrackPaintFunctions, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - _OldShopTrackPaintFunctions, // RIDE_TYPE_CASH_MACHINE - _OldTwistTrackPaintFunctions, // RIDE_TYPE_TWIST - _OldHauntedHouseTrackPaintFunctions, // RIDE_TYPE_HAUNTED_HOUSE - _OldFacilityTrackPaintFunctions, // RIDE_TYPE_FIRST_AID - _OldCircusShowTrackPaintFunctions, // RIDE_TYPE_CIRCUS_SHOW - _OldGhostTrainTrackPaintFunctions, // RIDE_TYPE_GHOST_TRAIN - _OldTwisterRollerCoasterTrackPaintFunctions, // RIDE_TYPE_TWISTER_ROLLER_COASTER - _OldWoodenRollerCoasterTrackPaintFunctions, // RIDE_TYPE_WOODEN_ROLLER_COASTER - _OldSideFrictionRollerCoasterTrackPaintFunctions, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - _OldWildMouseTrackPaintFunctions, // RIDE_TYPE_WILD_MOUSE - _OldMultiDimensionRollerCoasterTrackPaintFunctions, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - _OldMultiDimensionRollerCoasterTrackPaintFunctions, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT - _OldFlyingRollerCoasterTrackPaintFunctions, // RIDE_TYPE_FLYING_ROLLER_COASTER - _OldFlyingRollerCoasterTrackPaintFunctions, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT - _OldVirginiaReelTrackPaintFunctions, // RIDE_TYPE_VIRGINIA_REEL - _OldSplashBoatsTrackPaintFunctions, // RIDE_TYPE_SPLASH_BOATS - _OldMiniHelicoptersTrackPaintFunctions, // RIDE_TYPE_MINI_HELICOPTERS - _OldLayDownRollerCoasterTrackPaintFunctions, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - _OldSuspendedMonorailTrackPaintFunctions, // RIDE_TYPE_SUSPENDED_MONORAIL - _OldLayDownRollerCoasterTrackPaintFunctions, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT - _OldReverserRollerCoasterTrackPaintFunctions, // RIDE_TYPE_REVERSER_ROLLER_COASTER - _OldHeartlineTwisterCoasterTrackPaintFunctions, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - _OldMiniGolfTrackPaintFunctions, // RIDE_TYPE_MINI_GOLF - _OldGigaCoasterTrackPaintFunctions, // RIDE_TYPE_GIGA_COASTER - _OldRoToDropTrackPaintFunctions, // RIDE_TYPE_ROTO_DROP - _OldFlyingSaucersTrackPaintFunctions, // RIDE_TYPE_FLYING_SAUCERS - _OldCrookedHouseTrackPaintFunctions, // RIDE_TYPE_CROOKED_HOUSE - _OldMonorailCyclesTrackPaintFunctions, // RIDE_TYPE_MONORAIL_CYCLES - _OldCompactInvertedCoasterTrackPaintFunctions, // RIDE_TYPE_COMPACT_INVERTED_COASTER - _OldWaterCoasterTrackPaintFunctions, // RIDE_TYPE_WATER_COASTER - _OldAirPoweredVerticalCoasterTrackPaintFunctions, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - _OldInvertedHairpinCoasterTrackPaintFunctions, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - _OldMagicCarpetTrackPaintFunctions, // RIDE_TYPE_MAGIC_CARPET - _OldSubmarineRideTrackPaintFunctions, // RIDE_TYPE_SUBMARINE_RIDE - _OldRiverRaftsTrackPaintFunctions, // RIDE_TYPE_RIVER_RAFTS - _OldShopTrackPaintFunctions, // RIDE_TYPE_50 - _OldEnterpriseTrackPaintFunctions, // RIDE_TYPE_ENTERPRISE - _OldShopTrackPaintFunctions, // RIDE_TYPE_52 - _OldShopTrackPaintFunctions, // RIDE_TYPE_53 - _OldShopTrackPaintFunctions, // RIDE_TYPE_54 - _null, // RIDE_TYPE_55 - _OldInvertedImpulseCoasterTrackPaintFunctions, // RIDE_TYPE_INVERTED_IMPULSE_COASTER - _OldMiniRollerCoasterTrackPaintFunctions, // RIDE_TYPE_MINI_ROLLER_COASTER - _OldMineRideTrackPaintFunctions, // RIDE_TYPE_MINE_RIDE - _null, // RIDE_TYPE_59 - _OldLimLaunchedRollerCoasterTrackPaintFunctions, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER + _OldSpiralRollerCoasterTrackPaintFunctions, // RIDE_TYPE_SPIRAL_ROLLER_COASTER + _OldStandUpRollerCoasterTrackPaintFunctions, // RIDE_TYPE_STAND_UP_ROLLER_COASTER + _OldSuspendedSwingingCoasterTrackPaintFunctions, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER + _OldInvertedRollerCoasterTrackPaintFunctions, // RIDE_TYPE_INVERTED_ROLLER_COASTER + _OldJuniorRollerCoasterTrackPaintFunctions, // RIDE_TYPE_JUNIOR_ROLLER_COASTER + _OldMiniatureRailwayTrackPaintFunctions, // RIDE_TYPE_MINIATURE_RAILWAY + _OldMonorailTrackPaintFunctions, // RIDE_TYPE_MONORAIL + _OldMiniSuspendedCoasterTrackPaintFunctions, // RIDE_TYPE_MINI_SUSPENDED_COASTER + _OldBoatRideTrackPaintFunctions, // RIDE_TYPE_BOAT_RIDE + _OldWoodenWildMouseTrackPaintFunctions, // RIDE_TYPE_WOODEN_WILD_MOUSE + _OldSteeplechaseTrackPaintFunctions, // RIDE_TYPE_STEEPLECHASE + _OldCarRideTrackPaintFunctions, // RIDE_TYPE_CAR_RIDE + _OldLaunchedFreefallTrackPaintFunctions, // RIDE_TYPE_LAUNCHED_FREEFALL + _OldBobsleighCoasterTrackPaintFunctions, // RIDE_TYPE_BOBSLEIGH_COASTER + _OldObservationTowerTrackPaintFunctions, // RIDE_TYPE_OBSERVATION_TOWER + _OldLoopingRollerCoasterTrackPaintFunctions, // RIDE_TYPE_LOOPING_ROLLER_COASTER + _OldDinghySlideTrackPaintFunctions, // RIDE_TYPE_DINGHY_SLIDE + _OldMineTrainCoasterTrackPaintFunctions, // RIDE_TYPE_MINE_TRAIN_COASTER + _OldChairliftTrackPaintFunctions, // RIDE_TYPE_CHAIRLIFT + _OldCorkscrewRollerCoasterTrackPaintFunctions, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER + _OldMazeTrackPaintFunctions, // RIDE_TYPE_MAZE + _OldSpiralSlideTrackPaintFunctions, // RIDE_TYPE_SPIRAL_SLIDE + _OldGoKartsTrackPaintFunctions, // RIDE_TYPE_GO_KARTS + _OldLogFlumeTrackPaintFunctions, // RIDE_TYPE_LOG_FLUME + _OldRiverRapidsTrackPaintFunctions, // RIDE_TYPE_RIVER_RAPIDS + _OldDodgemsTrackPaintFunctions, // RIDE_TYPE_DODGEMS + _OldPirateShipTrackPaintFunctions, // RIDE_TYPE_PIRATE_SHIP + _OldSwingingInverterShipTrackPaintFunctions, // RIDE_TYPE_SWINGING_INVERTER_SHIP + _OldShopTrackPaintFunctions, // RIDE_TYPE_FOOD_STALL + _OldShopTrackPaintFunctions, // RIDE_TYPE_1D + _OldShopTrackPaintFunctions, // RIDE_TYPE_DRINK_STALL + _OldShopTrackPaintFunctions, // RIDE_TYPE_1F + _OldShopTrackPaintFunctions, // RIDE_TYPE_SHOP + _OldMerryGoRoundTrackPaintFunctions, // RIDE_TYPE_MERRY_GO_ROUND + _OldShopTrackPaintFunctions, // RIDE_TYPE_22 + _OldShopTrackPaintFunctions, // RIDE_TYPE_INFORMATION_KIOSK + _OldFacilityTrackPaintFunctions, // RIDE_TYPE_TOILETS + _OldFerrisWheelTrackPaintFunctions, // RIDE_TYPE_FERRIS_WHEEL + _OldMotionSimulatorTrackPaintFunctions, // RIDE_TYPE_MOTION_SIMULATOR + _Old3DCinemaTrackPaintFunctions, // RIDE_TYPE_3D_CINEMA + _OldTopSpinTrackPaintFunctions, // RIDE_TYPE_TOP_SPIN + _OldSpaceRingsTrackPaintFunctions, // RIDE_TYPE_SPACE_RINGS + _OldReverseFreefallCoasterTrackPaintFunctions, // RIDE_TYPE_REVERSE_FREEFALL_COASTER + _OldLiftTrackPaintFunctions, // RIDE_TYPE_LIFT + _OldVerticalDropRollerCoasterTrackPaintFunctions, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER + _OldShopTrackPaintFunctions, // RIDE_TYPE_CASH_MACHINE + _OldTwistTrackPaintFunctions, // RIDE_TYPE_TWIST + _OldHauntedHouseTrackPaintFunctions, // RIDE_TYPE_HAUNTED_HOUSE + _OldFacilityTrackPaintFunctions, // RIDE_TYPE_FIRST_AID + _OldCircusShowTrackPaintFunctions, // RIDE_TYPE_CIRCUS_SHOW + _OldGhostTrainTrackPaintFunctions, // RIDE_TYPE_GHOST_TRAIN + _OldTwisterRollerCoasterTrackPaintFunctions, // RIDE_TYPE_TWISTER_ROLLER_COASTER + _OldWoodenRollerCoasterTrackPaintFunctions, // RIDE_TYPE_WOODEN_ROLLER_COASTER + _OldSideFrictionRollerCoasterTrackPaintFunctions, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER + _OldWildMouseTrackPaintFunctions, // RIDE_TYPE_WILD_MOUSE + _OldMultiDimensionRollerCoasterTrackPaintFunctions, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER + _OldMultiDimensionRollerCoasterTrackPaintFunctions, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT + _OldFlyingRollerCoasterTrackPaintFunctions, // RIDE_TYPE_FLYING_ROLLER_COASTER + _OldFlyingRollerCoasterTrackPaintFunctions, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT + _OldVirginiaReelTrackPaintFunctions, // RIDE_TYPE_VIRGINIA_REEL + _OldSplashBoatsTrackPaintFunctions, // RIDE_TYPE_SPLASH_BOATS + _OldMiniHelicoptersTrackPaintFunctions, // RIDE_TYPE_MINI_HELICOPTERS + _OldLayDownRollerCoasterTrackPaintFunctions, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER + _OldSuspendedMonorailTrackPaintFunctions, // RIDE_TYPE_SUSPENDED_MONORAIL + _OldLayDownRollerCoasterTrackPaintFunctions, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT + _OldReverserRollerCoasterTrackPaintFunctions, // RIDE_TYPE_REVERSER_ROLLER_COASTER + _OldHeartlineTwisterCoasterTrackPaintFunctions, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER + _OldMiniGolfTrackPaintFunctions, // RIDE_TYPE_MINI_GOLF + _OldGigaCoasterTrackPaintFunctions, // RIDE_TYPE_GIGA_COASTER + _OldRoToDropTrackPaintFunctions, // RIDE_TYPE_ROTO_DROP + _OldFlyingSaucersTrackPaintFunctions, // RIDE_TYPE_FLYING_SAUCERS + _OldCrookedHouseTrackPaintFunctions, // RIDE_TYPE_CROOKED_HOUSE + _OldMonorailCyclesTrackPaintFunctions, // RIDE_TYPE_MONORAIL_CYCLES + _OldCompactInvertedCoasterTrackPaintFunctions, // RIDE_TYPE_COMPACT_INVERTED_COASTER + _OldWaterCoasterTrackPaintFunctions, // RIDE_TYPE_WATER_COASTER + _OldAirPoweredVerticalCoasterTrackPaintFunctions, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + _OldInvertedHairpinCoasterTrackPaintFunctions, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER + _OldMagicCarpetTrackPaintFunctions, // RIDE_TYPE_MAGIC_CARPET + _OldSubmarineRideTrackPaintFunctions, // RIDE_TYPE_SUBMARINE_RIDE + _OldRiverRaftsTrackPaintFunctions, // RIDE_TYPE_RIVER_RAFTS + _OldShopTrackPaintFunctions, // RIDE_TYPE_50 + _OldEnterpriseTrackPaintFunctions, // RIDE_TYPE_ENTERPRISE + _OldShopTrackPaintFunctions, // RIDE_TYPE_52 + _OldShopTrackPaintFunctions, // RIDE_TYPE_53 + _OldShopTrackPaintFunctions, // RIDE_TYPE_54 + _null, // RIDE_TYPE_55 + _OldInvertedImpulseCoasterTrackPaintFunctions, // RIDE_TYPE_INVERTED_IMPULSE_COASTER + _OldMiniRollerCoasterTrackPaintFunctions, // RIDE_TYPE_MINI_ROLLER_COASTER + _OldMineRideTrackPaintFunctions, // RIDE_TYPE_MINE_RIDE + _null, // RIDE_TYPE_59 + _OldLimLaunchedRollerCoasterTrackPaintFunctions, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; diff --git a/src/openrct2/ride/track_design.c b/src/openrct2/ride/track_design.c index a54669c8e7..77adcdc379 100644 --- a/src/openrct2/ride/track_design.c +++ b/src/openrct2/ride/track_design.c @@ -37,13 +37,13 @@ #include "TrackDesignRepository.h" typedef struct map_backup { - rct_map_element map_elements[MAX_MAP_ELEMENTS]; - rct_map_element *tile_pointers[MAX_TILE_MAP_ELEMENT_POINTERS]; - rct_map_element *next_free_map_element; - uint16 map_size_units; - uint16 map_size_units_minus_2; - uint16 map_size; - uint8 current_rotation; + rct_map_element map_elements[MAX_MAP_ELEMENTS]; + rct_map_element *tile_pointers[MAX_TILE_MAP_ELEMENT_POINTERS]; + rct_map_element *next_free_map_element; + uint16 map_size_units; + uint16 map_size_units_minus_2; + uint16 map_size; + uint8 current_rotation; } map_backup; rct_track_td6 *gActiveTrackDesign; @@ -70,278 +70,278 @@ static void td6_set_element_helper_pointers(rct_track_td6 * td6); rct_track_td6 *track_design_open(const utf8 *path) { - log_verbose("track_design_open(\"%s\")", path); + log_verbose("track_design_open(\"%s\")", path); - uint8 *buffer; - size_t bufferLength; - if (readentirefile(path, (void * *)&buffer, &bufferLength)) { - if (!sawyercoding_validate_track_checksum(buffer, bufferLength)) { - log_error("Track checksum failed. %s", path); - free(buffer); - return NULL; - } + uint8 *buffer; + size_t bufferLength; + if (readentirefile(path, (void * *)&buffer, &bufferLength)) { + if (!sawyercoding_validate_track_checksum(buffer, bufferLength)) { + log_error("Track checksum failed. %s", path); + free(buffer); + return NULL; + } - // Decode the track data - uint8 *decoded = (uint8*)malloc(0x10000); - size_t decodedLength = sawyercoding_decode_td6(buffer, decoded, bufferLength); - free(buffer); - decoded = realloc(decoded, decodedLength); - if (decoded == NULL) { - log_error("failed to realloc"); - } else { - rct_track_td6 *td6 = track_design_open_from_buffer(decoded, decodedLength); - free(decoded); + // Decode the track data + uint8 *decoded = (uint8*)malloc(0x10000); + size_t decodedLength = sawyercoding_decode_td6(buffer, decoded, bufferLength); + free(buffer); + decoded = realloc(decoded, decodedLength); + if (decoded == NULL) { + log_error("failed to realloc"); + } else { + rct_track_td6 *td6 = track_design_open_from_buffer(decoded, decodedLength); + free(decoded); - if (td6 != NULL) { - td6->name = track_repository_get_name_from_path(path); - return td6; - } - } - } - return NULL; + if (td6 != NULL) { + td6->name = track_repository_get_name_from_path(path); + return td6; + } + } + } + return NULL; } static rct_track_td6 * track_design_open_from_td4(uint8 *src, size_t srcLength) { - rct_track_td4 * td4 = calloc(1, sizeof(rct_track_td4)); - if (td4 == NULL) { - log_error("Unable to allocate memory for TD4 data."); - SafeFree(td4); - return NULL; - } + rct_track_td4 * td4 = calloc(1, sizeof(rct_track_td4)); + if (td4 == NULL) { + log_error("Unable to allocate memory for TD4 data."); + SafeFree(td4); + return NULL; + } - uint8 version = (src[7] >> 2) & 3; - if (version == 0) { - memcpy(td4, src, 0x38); - td4->elementsSize = srcLength - 0x38; - td4->elements = malloc(td4->elementsSize); - if (td4->elements == NULL) { - log_error("Unable to allocate memory for TD4 element data."); - SafeFree(td4); - return NULL; - } - memcpy(td4->elements, src + 0x38, td4->elementsSize); - } else if (version == 1) { - memcpy(td4, src, 0xC4); - td4->elementsSize = srcLength - 0xC4; - td4->elements = malloc(td4->elementsSize); - if (td4->elements == NULL) { - log_error("Unable to allocate memory for TD4 element data."); - SafeFree(td4); - return NULL; - } - memcpy(td4->elements, src + 0xC4, td4->elementsSize); - } else { - log_error("Unsupported track design."); - SafeFree(td4); - return NULL; - } + uint8 version = (src[7] >> 2) & 3; + if (version == 0) { + memcpy(td4, src, 0x38); + td4->elementsSize = srcLength - 0x38; + td4->elements = malloc(td4->elementsSize); + if (td4->elements == NULL) { + log_error("Unable to allocate memory for TD4 element data."); + SafeFree(td4); + return NULL; + } + memcpy(td4->elements, src + 0x38, td4->elementsSize); + } else if (version == 1) { + memcpy(td4, src, 0xC4); + td4->elementsSize = srcLength - 0xC4; + td4->elements = malloc(td4->elementsSize); + if (td4->elements == NULL) { + log_error("Unable to allocate memory for TD4 element data."); + SafeFree(td4); + return NULL; + } + memcpy(td4->elements, src + 0xC4, td4->elementsSize); + } else { + log_error("Unsupported track design."); + SafeFree(td4); + return NULL; + } - rct_track_td6 * td6 = calloc(1, sizeof(rct_track_td6)); - if (td6 == NULL) { - log_error("Unable to allocate memory for TD6 data."); - SafeFree(td4); - return NULL; - } + rct_track_td6 * td6 = calloc(1, sizeof(rct_track_td6)); + if (td6 == NULL) { + log_error("Unable to allocate memory for TD6 data."); + SafeFree(td4); + return NULL; + } - td6->type = rct1_get_ride_type(td4->type); + td6->type = rct1_get_ride_type(td4->type); - // All TD4s that use powered launch use the type that doesn't pass the station. - td6->ride_mode = td4->mode; - if (td4->mode == RCT1_RIDE_MODE_POWERED_LAUNCH) { - td6->ride_mode = RIDE_MODE_POWERED_LAUNCH; - } + // All TD4s that use powered launch use the type that doesn't pass the station. + td6->ride_mode = td4->mode; + if (td4->mode == RCT1_RIDE_MODE_POWERED_LAUNCH) { + td6->ride_mode = RIDE_MODE_POWERED_LAUNCH; + } - // Convert RCT1 vehicle type to RCT2 vehicle type + // Convert RCT1 vehicle type to RCT2 vehicle type #pragma warning(push) #pragma warning(disable : 4295) // 'identifier': array is too small to include a terminating null character - rct_object_entry vehicleObject = { 0x80, { " " }, 0 }; + rct_object_entry vehicleObject = { 0x80, { " " }, 0 }; #pragma warning(pop) - if (td4->type == RIDE_TYPE_MAZE) { - const char * name = rct1_get_ride_type_object(td4->type); - assert(name != NULL); - memcpy(vehicleObject.name, name, min(strlen(name), 8)); - } else { - const char * name = rct1_get_vehicle_object(td4->vehicle_type); - assert(name != NULL); - memcpy(vehicleObject.name, name, min(strlen(name), 8)); - } - memcpy(&td6->vehicle_object, &vehicleObject, sizeof(rct_object_entry)); - td6->vehicle_type = td4->vehicle_type; + if (td4->type == RIDE_TYPE_MAZE) { + const char * name = rct1_get_ride_type_object(td4->type); + assert(name != NULL); + memcpy(vehicleObject.name, name, min(strlen(name), 8)); + } else { + const char * name = rct1_get_vehicle_object(td4->vehicle_type); + assert(name != NULL); + memcpy(vehicleObject.name, name, min(strlen(name), 8)); + } + memcpy(&td6->vehicle_object, &vehicleObject, sizeof(rct_object_entry)); + td6->vehicle_type = td4->vehicle_type; - td6->flags = td4->flags; - td6->version_and_colour_scheme = td4->version_and_colour_scheme; + td6->flags = td4->flags; + td6->version_and_colour_scheme = td4->version_and_colour_scheme; - // Vehicle colours - for (sint32 i = 0; i < RCT1_MAX_TRAINS_PER_RIDE; i++) { - td6->vehicle_colours[i].body_colour = rct1_get_colour(td4->vehicle_colours[i].body_colour); - td6->vehicle_colours[i].trim_colour = rct1_get_colour(td4->vehicle_colours[i].trim_colour); + // Vehicle colours + for (sint32 i = 0; i < RCT1_MAX_TRAINS_PER_RIDE; i++) { + td6->vehicle_colours[i].body_colour = rct1_get_colour(td4->vehicle_colours[i].body_colour); + td6->vehicle_colours[i].trim_colour = rct1_get_colour(td4->vehicle_colours[i].trim_colour); - // RCT1 river rapids always had black seats - if (td4->type == RCT1_RIDE_TYPE_RIVER_RAPIDS) { - td6->vehicle_colours[i].trim_colour = COLOUR_BLACK; - } - } - // Set remaining vehicles to same colour as first vehicle - for (sint32 i = RCT1_MAX_TRAINS_PER_RIDE; i < 32; i++) { - td6->vehicle_colours[i] = td6->vehicle_colours[0]; - } - // Set additional colour to trim colour for all vehicles - for (sint32 i = 0; i < 32; i++) { - td6->vehicle_additional_colour[i] = td6->vehicle_colours[i].trim_colour; - } + // RCT1 river rapids always had black seats + if (td4->type == RCT1_RIDE_TYPE_RIVER_RAPIDS) { + td6->vehicle_colours[i].trim_colour = COLOUR_BLACK; + } + } + // Set remaining vehicles to same colour as first vehicle + for (sint32 i = RCT1_MAX_TRAINS_PER_RIDE; i < 32; i++) { + td6->vehicle_colours[i] = td6->vehicle_colours[0]; + } + // Set additional colour to trim colour for all vehicles + for (sint32 i = 0; i < 32; i++) { + td6->vehicle_additional_colour[i] = td6->vehicle_colours[i].trim_colour; + } - // Track colours - if (version == 0) { - for (sint32 i = 0; i < 4; i++) { - td6->track_spine_colour[i] = rct1_get_colour(td4->track_spine_colour_v0); - td6->track_rail_colour[i] = rct1_get_colour(td4->track_rail_colour_v0); - td6->track_support_colour[i] = rct1_get_colour(td4->track_support_colour_v0); + // Track colours + if (version == 0) { + for (sint32 i = 0; i < 4; i++) { + td6->track_spine_colour[i] = rct1_get_colour(td4->track_spine_colour_v0); + td6->track_rail_colour[i] = rct1_get_colour(td4->track_rail_colour_v0); + td6->track_support_colour[i] = rct1_get_colour(td4->track_support_colour_v0); - // Mazes were only hedges - switch (td4->type) { - case RCT1_RIDE_TYPE_HEDGE_MAZE: - td6->track_support_colour[i] = MAZE_WALL_TYPE_HEDGE; - break; - case RCT1_RIDE_TYPE_RIVER_RAPIDS: - td6->track_spine_colour[i] = COLOUR_WHITE; - td6->track_rail_colour[i] = COLOUR_WHITE; - break; - } - } - } else { - for (sint32 i = 0; i < 4; i++) { - td6->track_spine_colour[i] = rct1_get_colour(td4->track_spine_colour[i]); - td6->track_rail_colour[i] = rct1_get_colour(td4->track_rail_colour[i]); - td6->track_support_colour[i] = rct1_get_colour(td4->track_support_colour[i]); - } - } + // Mazes were only hedges + switch (td4->type) { + case RCT1_RIDE_TYPE_HEDGE_MAZE: + td6->track_support_colour[i] = MAZE_WALL_TYPE_HEDGE; + break; + case RCT1_RIDE_TYPE_RIVER_RAPIDS: + td6->track_spine_colour[i] = COLOUR_WHITE; + td6->track_rail_colour[i] = COLOUR_WHITE; + break; + } + } + } else { + for (sint32 i = 0; i < 4; i++) { + td6->track_spine_colour[i] = rct1_get_colour(td4->track_spine_colour[i]); + td6->track_rail_colour[i] = rct1_get_colour(td4->track_rail_colour[i]); + td6->track_support_colour[i] = rct1_get_colour(td4->track_support_colour[i]); + } + } - td6->depart_flags = td4->depart_flags; - td6->number_of_trains = td4->number_of_trains; - td6->number_of_cars_per_train = td4->number_of_cars_per_train; - td6->min_waiting_time = td4->min_waiting_time; - td6->max_waiting_time = td4->max_waiting_time; - td6->operation_setting = min(td4->operation_setting, RideProperties[td6->type].max_value); - td6->max_speed = td4->max_speed; - td6->average_speed = td4->average_speed; - td6->ride_length = td4->ride_length; - td6->max_positive_vertical_g = td4->max_positive_vertical_g; - td6->max_negative_vertical_g = td4->max_negative_vertical_g; - td6->max_lateral_g = td4->max_lateral_g; - td6->inversions = td4->num_inversions; - td6->drops = td4->num_drops; - td6->highest_drop_height = td4->highest_drop_height / 2; - td6->excitement = td4->excitement; - td6->intensity = td4->intensity; - td6->nausea = td4->nausea; - td6->upkeep_cost = td4->upkeep_cost; - if (version == 1) { - td6->flags2 = td4->flags2; - } + td6->depart_flags = td4->depart_flags; + td6->number_of_trains = td4->number_of_trains; + td6->number_of_cars_per_train = td4->number_of_cars_per_train; + td6->min_waiting_time = td4->min_waiting_time; + td6->max_waiting_time = td4->max_waiting_time; + td6->operation_setting = min(td4->operation_setting, RideProperties[td6->type].max_value); + td6->max_speed = td4->max_speed; + td6->average_speed = td4->average_speed; + td6->ride_length = td4->ride_length; + td6->max_positive_vertical_g = td4->max_positive_vertical_g; + td6->max_negative_vertical_g = td4->max_negative_vertical_g; + td6->max_lateral_g = td4->max_lateral_g; + td6->inversions = td4->num_inversions; + td6->drops = td4->num_drops; + td6->highest_drop_height = td4->highest_drop_height / 2; + td6->excitement = td4->excitement; + td6->intensity = td4->intensity; + td6->nausea = td4->nausea; + td6->upkeep_cost = td4->upkeep_cost; + if (version == 1) { + td6->flags2 = td4->flags2; + } - td6->space_required_x = 255; - td6->space_required_y = 255; - td6->lift_hill_speed_num_circuits = 5; + td6->space_required_x = 255; + td6->space_required_y = 255; + td6->lift_hill_speed_num_circuits = 5; - // Move elements across - td6->elements = td4->elements; - td6->elementsSize = td4->elementsSize; + // Move elements across + td6->elements = td4->elements; + td6->elementsSize = td4->elementsSize; - td6_reset_trailing_elements(td6); - td6_set_element_helper_pointers(td6); + td6_reset_trailing_elements(td6); + td6_set_element_helper_pointers(td6); - SafeFree(td4); - return td6; + SafeFree(td4); + return td6; } static rct_track_td6 *track_design_open_from_buffer(uint8 * src, size_t srcLength) { - uint8 version = (src[7] >> 2) & 3; - if (version == 0 || version == 1) { - return track_design_open_from_td4(src, srcLength); - } else if (version != 2) { - log_error("Unsupported track design."); - return NULL; - } + uint8 version = (src[7] >> 2) & 3; + if (version == 0 || version == 1) { + return track_design_open_from_td4(src, srcLength); + } else if (version != 2) { + log_error("Unsupported track design."); + return NULL; + } - rct_track_td6 * td6 = calloc(1, sizeof(rct_track_td6)); - if (td6 == NULL) { - log_error("Unable to allocate memory for TD6 data."); - return NULL; - } - memcpy(td6, src, 0xA3); - td6->elementsSize = srcLength - 0xA3; - td6->elements = malloc(td6->elementsSize); - if (td6->elements == NULL) { - free(td6); - log_error("Unable to allocate memory for TD6 element data."); - return NULL; - } - memcpy(td6->elements, src + 0xA3, td6->elementsSize); + rct_track_td6 * td6 = calloc(1, sizeof(rct_track_td6)); + if (td6 == NULL) { + log_error("Unable to allocate memory for TD6 data."); + return NULL; + } + memcpy(td6, src, 0xA3); + td6->elementsSize = srcLength - 0xA3; + td6->elements = malloc(td6->elementsSize); + if (td6->elements == NULL) { + free(td6); + log_error("Unable to allocate memory for TD6 element data."); + return NULL; + } + memcpy(td6->elements, src + 0xA3, td6->elementsSize); - // Cap operation setting - td6->operation_setting = min(td6->operation_setting, RideProperties[td6->type].max_value); + // Cap operation setting + td6->operation_setting = min(td6->operation_setting, RideProperties[td6->type].max_value); - td6_set_element_helper_pointers(td6); - return td6; + td6_set_element_helper_pointers(td6); + return td6; } static void td6_reset_trailing_elements(rct_track_td6 * td6) { - void * lastElement; - if (td6->type == RIDE_TYPE_MAZE) { - rct_td6_maze_element * mazeElement = (rct_td6_maze_element *)td6->elements; - while (mazeElement->all != 0) { - mazeElement++; - } - lastElement = (void *)((uintptr_t)mazeElement + 1); - } else { - rct_td6_track_element * trackElement = (rct_td6_track_element *)td6->elements; - while (trackElement->type != 0xFF) { - trackElement++; - } - lastElement = (void *)((uintptr_t)trackElement + 1); - } - size_t trailingSize = td6->elementsSize - (size_t)((uintptr_t)lastElement - (uintptr_t)td6->elements); - memset(lastElement, 0xFF, trailingSize); + void * lastElement; + if (td6->type == RIDE_TYPE_MAZE) { + rct_td6_maze_element * mazeElement = (rct_td6_maze_element *)td6->elements; + while (mazeElement->all != 0) { + mazeElement++; + } + lastElement = (void *)((uintptr_t)mazeElement + 1); + } else { + rct_td6_track_element * trackElement = (rct_td6_track_element *)td6->elements; + while (trackElement->type != 0xFF) { + trackElement++; + } + lastElement = (void *)((uintptr_t)trackElement + 1); + } + size_t trailingSize = td6->elementsSize - (size_t)((uintptr_t)lastElement - (uintptr_t)td6->elements); + memset(lastElement, 0xFF, trailingSize); } static void td6_set_element_helper_pointers(rct_track_td6 * td6) { - uintptr_t sceneryElementsStart; - if (td6->type == RIDE_TYPE_MAZE) { - td6->track_elements = NULL; - td6->maze_elements = (rct_td6_maze_element*)td6->elements; + uintptr_t sceneryElementsStart; + if (td6->type == RIDE_TYPE_MAZE) { + td6->track_elements = NULL; + td6->maze_elements = (rct_td6_maze_element*)td6->elements; - rct_td6_maze_element *maze = td6->maze_elements; - for (; maze->all != 0; maze++) {} - sceneryElementsStart = (uintptr_t)(++maze); - } else { - td6->maze_elements = NULL; - td6->track_elements = (rct_td6_track_element*)td6->elements; + rct_td6_maze_element *maze = td6->maze_elements; + for (; maze->all != 0; maze++) {} + sceneryElementsStart = (uintptr_t)(++maze); + } else { + td6->maze_elements = NULL; + td6->track_elements = (rct_td6_track_element*)td6->elements; - rct_td6_track_element *track = td6->track_elements; - for (; track->type != 0xFF; track++) {} - uintptr_t entranceElementsStart = (uintptr_t)track + 1; + rct_td6_track_element *track = td6->track_elements; + for (; track->type != 0xFF; track++) {} + uintptr_t entranceElementsStart = (uintptr_t)track + 1; - rct_td6_entrance_element *entranceElement = (rct_td6_entrance_element*)entranceElementsStart; - td6->entrance_elements = entranceElement; - for (; entranceElement->z != -1; entranceElement++) {} - sceneryElementsStart = (uintptr_t)entranceElement + 1; - } + rct_td6_entrance_element *entranceElement = (rct_td6_entrance_element*)entranceElementsStart; + td6->entrance_elements = entranceElement; + for (; entranceElement->z != -1; entranceElement++) {} + sceneryElementsStart = (uintptr_t)entranceElement + 1; + } - rct_td6_scenery_element *sceneryElement = (rct_td6_scenery_element*)sceneryElementsStart; - td6->scenery_elements = sceneryElement; + rct_td6_scenery_element *sceneryElement = (rct_td6_scenery_element*)sceneryElementsStart; + td6->scenery_elements = sceneryElement; } void track_design_dispose(rct_track_td6 *td6) { - if (td6 != NULL) { - free(td6->elements); - free(td6->name); - free(td6); - } + if (td6 != NULL) { + free(td6->elements); + free(td6->name); + free(td6); + } } /** @@ -350,18 +350,18 @@ void track_design_dispose(rct_track_td6 *td6) */ static void track_design_load_scenery_objects(rct_track_td6 *td6) { - object_manager_unload_all_objects(); + object_manager_unload_all_objects(); - // Load ride object - rct_object_entry * rideEntry = &td6->vehicle_object; - object_manager_load_object(rideEntry); + // Load ride object + rct_object_entry * rideEntry = &td6->vehicle_object; + object_manager_load_object(rideEntry); - // Load scenery objects - rct_td6_scenery_element *scenery = td6->scenery_elements; - for (; (scenery->scenery_object.flags & 0xFF) != 0xFF; scenery++) { - rct_object_entry * sceneryEntry = &scenery->scenery_object; - object_manager_load_object(sceneryEntry); - } + // Load scenery objects + rct_td6_scenery_element *scenery = td6->scenery_elements; + for (; (scenery->scenery_object.flags & 0xFF) != 0xFF; scenery++) { + rct_object_entry * sceneryEntry = &scenery->scenery_object; + object_manager_load_object(sceneryEntry); + } } /** @@ -370,85 +370,85 @@ static void track_design_load_scenery_objects(rct_track_td6 *td6) */ static void track_design_mirror_scenery(rct_track_td6 *td6) { - rct_td6_scenery_element *scenery = td6->scenery_elements; - for (; (scenery->scenery_object.flags & 0xFF) != 0xFF; scenery++) { - uint8 entry_type, entry_index; - if (!find_object_in_entry_group(&scenery->scenery_object, &entry_type, &entry_index)) { - entry_type = scenery->scenery_object.flags & 0xF; - if (entry_type != OBJECT_TYPE_PATHS) { - continue; - } - } + rct_td6_scenery_element *scenery = td6->scenery_elements; + for (; (scenery->scenery_object.flags & 0xFF) != 0xFF; scenery++) { + uint8 entry_type, entry_index; + if (!find_object_in_entry_group(&scenery->scenery_object, &entry_type, &entry_index)) { + entry_type = scenery->scenery_object.flags & 0xF; + if (entry_type != OBJECT_TYPE_PATHS) { + continue; + } + } - rct_scenery_entry *scenery_entry = (rct_scenery_entry*)object_entry_groups[entry_type].chunks[entry_index]; - switch (entry_type) { - case OBJECT_TYPE_LARGE_SCENERY: - { - sint16 x1 = 0, x2 = 0, y1 = 0, y2 = 0; - for (rct_large_scenery_tile* tile = scenery_entry->large_scenery.tiles; tile->x_offset != -1; tile++) { - if (x1 > tile->x_offset) x1 = tile->x_offset; - if (x2 < tile->x_offset) x2 = tile->x_offset; - if (y1 > tile->y_offset) y1 = tile->y_offset; - if (y2 > tile->y_offset) y2 = tile->y_offset; - } + rct_scenery_entry *scenery_entry = (rct_scenery_entry*)object_entry_groups[entry_type].chunks[entry_index]; + switch (entry_type) { + case OBJECT_TYPE_LARGE_SCENERY: + { + sint16 x1 = 0, x2 = 0, y1 = 0, y2 = 0; + for (rct_large_scenery_tile* tile = scenery_entry->large_scenery.tiles; tile->x_offset != -1; tile++) { + if (x1 > tile->x_offset) x1 = tile->x_offset; + if (x2 < tile->x_offset) x2 = tile->x_offset; + if (y1 > tile->y_offset) y1 = tile->y_offset; + if (y2 > tile->y_offset) y2 = tile->y_offset; + } - switch (scenery->flags & 3) { - case 0: - scenery->y = (-(scenery->y * 32 + y1) - y2) / 32; - break; - case 1: - scenery->x = (scenery->x * 32 + y2 + y1) / 32; - scenery->y = (-(scenery->y * 32)) / 32; - scenery->flags ^= (1 << 1); - break; - case 2: - scenery->y = (-(scenery->y * 32 - y2) + y1) / 32; - break; - case 3: - scenery->x = (scenery->x * 32 - y2 - y1) / 32; - scenery->y = (-(scenery->y * 32)) / 32; - scenery->flags ^= (1 << 1); - break; - } - break; - } - case OBJECT_TYPE_SMALL_SCENERY: - scenery->y = -scenery->y; + switch (scenery->flags & 3) { + case 0: + scenery->y = (-(scenery->y * 32 + y1) - y2) / 32; + break; + case 1: + scenery->x = (scenery->x * 32 + y2 + y1) / 32; + scenery->y = (-(scenery->y * 32)) / 32; + scenery->flags ^= (1 << 1); + break; + case 2: + scenery->y = (-(scenery->y * 32 - y2) + y1) / 32; + break; + case 3: + scenery->x = (scenery->x * 32 - y2 - y1) / 32; + scenery->y = (-(scenery->y * 32)) / 32; + scenery->flags ^= (1 << 1); + break; + } + break; + } + case OBJECT_TYPE_SMALL_SCENERY: + scenery->y = -scenery->y; - if (scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG9) { - scenery->flags ^= (1 << 0); - if (!(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE)) { - scenery->flags ^= (1 << 2); - } - break; - } - if (scenery->flags & (1 << 0)) { - scenery->flags ^= (1 << 1); - } + if (scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG9) { + scenery->flags ^= (1 << 0); + if (!(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE)) { + scenery->flags ^= (1 << 2); + } + break; + } + if (scenery->flags & (1 << 0)) { + scenery->flags ^= (1 << 1); + } - scenery->flags ^= (1 << 2); - break; + scenery->flags ^= (1 << 2); + break; - case OBJECT_TYPE_WALLS: - scenery->y = -scenery->y; - if (scenery->flags & (1 << 0)) { - scenery->flags ^= (1 << 1); - } - break; + case OBJECT_TYPE_WALLS: + scenery->y = -scenery->y; + if (scenery->flags & (1 << 0)) { + scenery->flags ^= (1 << 1); + } + break; - case OBJECT_TYPE_PATHS: - scenery->y = -scenery->y; + case OBJECT_TYPE_PATHS: + scenery->y = -scenery->y; - if (scenery->flags & (1 << 5)) { - scenery->flags ^= (1 << 6); - } + if (scenery->flags & (1 << 5)) { + scenery->flags ^= (1 << 6); + } - uint8 flags = scenery->flags; - flags = ((flags & (1 << 3)) >> 2) | ((flags & (1 << 1)) << 2); - scenery->flags &= 0xF5; - scenery->flags |= flags; - } - } + uint8 flags = scenery->flags; + flags = ((flags & (1 << 3)) >> 2) | ((flags & (1 << 1)) << 2); + scenery->flags &= 0xF5; + scenery->flags |= flags; + } + } } /** @@ -457,23 +457,23 @@ static void track_design_mirror_scenery(rct_track_td6 *td6) */ static void track_design_mirror_ride(rct_track_td6 *td6) { - rct_td6_track_element *track = td6->track_elements; - for (; track->type != 0xFF; track++) { - track->type = TrackElementMirrorMap[track->type]; - } + rct_td6_track_element *track = td6->track_elements; + for (; track->type != 0xFF; track++) { + track->type = TrackElementMirrorMap[track->type]; + } - rct_td6_entrance_element *entrance = td6->entrance_elements; - for (; entrance->z != -1; entrance++) { - entrance->y = -entrance->y; - if (entrance->direction & 1) { - entrance->direction ^= (1 << 1); - } - } + rct_td6_entrance_element *entrance = td6->entrance_elements; + for (; entrance->z != -1; entrance++) { + entrance->y = -entrance->y; + if (entrance->direction & 1) { + entrance->direction ^= (1 << 1); + } + } } /** rct2: 0x00993EDC */ static const uint8 maze_segment_mirror_map[] = { - 5, 4, 2, 7, 1, 0, 14, 3, 13, 12, 10, 15, 9, 8, 6, 11 + 5, 4, 2, 7, 1, 0, 14, 3, 13, 12, 10, 15, 9, 8, 6, 11 }; /** @@ -482,25 +482,25 @@ static const uint8 maze_segment_mirror_map[] = { */ static void track_design_mirror_maze(rct_track_td6 *td6) { - rct_td6_maze_element *maze = td6->maze_elements; - for (; maze->all != 0; maze++) { - maze->y = -maze->y; + rct_td6_maze_element *maze = td6->maze_elements; + for (; maze->all != 0; maze++) { + maze->y = -maze->y; - if (maze->type == 0x8 || maze->type == 0x80) { - if (maze->unk_2 & 1) { - maze->unk_2 ^= (1 << 1); - } - continue; - } + if (maze->type == 0x8 || maze->type == 0x80) { + if (maze->unk_2 & 1) { + maze->unk_2 ^= (1 << 1); + } + continue; + } - uint16 maze_entry = maze->maze_entry; - uint16 new_entry = 0; - for (uint8 position = bitscanforward(maze_entry); position != 0xFF; position = bitscanforward(maze_entry)) { - maze_entry &= ~(1 << position); - new_entry |= (1 << maze_segment_mirror_map[position]); - } - maze->maze_entry = new_entry; - } + uint16 maze_entry = maze->maze_entry; + uint16 new_entry = 0; + for (uint8 position = bitscanforward(maze_entry); position != 0xFF; position = bitscanforward(maze_entry)) { + maze_entry &= ~(1 << position); + new_entry |= (1 << maze_segment_mirror_map[position]); + } + maze->maze_entry = new_entry; + } } /** @@ -509,39 +509,39 @@ static void track_design_mirror_maze(rct_track_td6 *td6) */ void track_design_mirror(rct_track_td6 *td6) { - if (td6->type == RIDE_TYPE_MAZE) { - track_design_mirror_maze(td6); - } else { - track_design_mirror_ride(td6); - } - track_design_mirror_scenery(td6); + if (td6->type == RIDE_TYPE_MAZE) { + track_design_mirror_maze(td6); + } else { + track_design_mirror_ride(td6); + } + track_design_mirror_scenery(td6); } static void track_design_add_selection_tile(sint16 x, sint16 y) { - rct_xy16 *selectionTile = gMapSelectionTiles; - for (; selectionTile->x != -1; selectionTile++) { - if (selectionTile->x == x && selectionTile->y == y) { - return; - } - if (selectionTile + 1 >= &gMapSelectionTiles[300]) { - return; - } - } - selectionTile->x = x; - selectionTile->y = y; - selectionTile++; - selectionTile->x = -1; + rct_xy16 *selectionTile = gMapSelectionTiles; + for (; selectionTile->x != -1; selectionTile++) { + if (selectionTile->x == x && selectionTile->y == y) { + return; + } + if (selectionTile + 1 >= &gMapSelectionTiles[300]) { + return; + } + } + selectionTile->x = x; + selectionTile->y = y; + selectionTile++; + selectionTile->x = -1; } static void track_design_update_max_min_coordinates(sint16 x, sint16 y, sint16 z) { - gTrackPreviewMin.x = min(gTrackPreviewMin.x, x); - gTrackPreviewMax.x = max(gTrackPreviewMax.x, x); - gTrackPreviewMin.y = min(gTrackPreviewMin.y, y); - gTrackPreviewMax.y = max(gTrackPreviewMax.y, y); - gTrackPreviewMin.z = min(gTrackPreviewMin.z, z); - gTrackPreviewMax.z = max(gTrackPreviewMax.z, z); + gTrackPreviewMin.x = min(gTrackPreviewMin.x, x); + gTrackPreviewMax.x = max(gTrackPreviewMax.x, x); + gTrackPreviewMin.y = min(gTrackPreviewMin.y, y); + gTrackPreviewMax.y = max(gTrackPreviewMax.y, y); + gTrackPreviewMin.z = min(gTrackPreviewMin.z, z); + gTrackPreviewMax.z = max(gTrackPreviewMax.z, z); } /** @@ -550,709 +550,709 @@ static void track_design_update_max_min_coordinates(sint16 x, sint16 y, sint16 z */ static sint32 track_design_place_scenery(rct_td6_scenery_element *scenery_start, uint8 rideIndex, sint32 originX, sint32 originY, sint32 originZ) { - for (uint8 mode = 0; mode <= 1; mode++) { - if ((scenery_start->scenery_object.flags & 0xFF) != 0xFF) { - byte_F4414E |= BYTE_F4414E_HAS_SCENERY; - } + for (uint8 mode = 0; mode <= 1; mode++) { + if ((scenery_start->scenery_object.flags & 0xFF) != 0xFF) { + byte_F4414E |= BYTE_F4414E_HAS_SCENERY; + } - if (byte_F4414E & BYTE_F4414E_DONT_PLACE_SCENERY) { - continue; - } + if (byte_F4414E & BYTE_F4414E_DONT_PLACE_SCENERY) { + continue; + } - for (rct_td6_scenery_element *scenery = scenery_start; (scenery->scenery_object.flags & 0xFF) != 0xFF; scenery++) { - uint8 rotation = _currentTrackPieceDirection; - rct_xy8 tile = { .x = originX / 32, .y = originY / 32 }; - switch (rotation & 3){ - case MAP_ELEMENT_DIRECTION_WEST: - tile.x += scenery->x; - tile.y += scenery->y; - break; - case MAP_ELEMENT_DIRECTION_NORTH: - tile.x += scenery->y; - tile.y -= scenery->x; - break; - case MAP_ELEMENT_DIRECTION_EAST: - tile.x -= scenery->x; - tile.y -= scenery->y; - break; - case MAP_ELEMENT_DIRECTION_SOUTH: - tile.x -= scenery->y; - tile.y += scenery->x; - break; - } + for (rct_td6_scenery_element *scenery = scenery_start; (scenery->scenery_object.flags & 0xFF) != 0xFF; scenery++) { + uint8 rotation = _currentTrackPieceDirection; + rct_xy8 tile = { .x = originX / 32, .y = originY / 32 }; + switch (rotation & 3){ + case MAP_ELEMENT_DIRECTION_WEST: + tile.x += scenery->x; + tile.y += scenery->y; + break; + case MAP_ELEMENT_DIRECTION_NORTH: + tile.x += scenery->y; + tile.y -= scenery->x; + break; + case MAP_ELEMENT_DIRECTION_EAST: + tile.x -= scenery->x; + tile.y -= scenery->y; + break; + case MAP_ELEMENT_DIRECTION_SOUTH: + tile.x -= scenery->y; + tile.y += scenery->x; + break; + } - rct_xy16 mapCoord = { .x = tile.x * 32, .y = tile.y * 32 }; - track_design_update_max_min_coordinates(mapCoord.x, mapCoord.y, originZ); + rct_xy16 mapCoord = { .x = tile.x * 32, .y = tile.y * 32 }; + track_design_update_max_min_coordinates(mapCoord.x, mapCoord.y, originZ); - if (_trackDesignPlaceOperation == PTD_OPERATION_DRAW_OUTLINES && mode == 0) { - uint8 new_tile = 1; - rct_xy16* selectionTile = gMapSelectionTiles; - for (; selectionTile->x != -1; selectionTile++){ - if (selectionTile->x == tile.x && selectionTile->y == tile.y){ - new_tile = 0; - break; - } - if (selectionTile + 1 >= &gMapSelectionTiles[300]){ - new_tile = 0; - break; - } - } - if (new_tile){ - selectionTile->x = tile.x; - selectionTile->y = tile.y; - selectionTile++; - selectionTile->x = -1; - } - } + if (_trackDesignPlaceOperation == PTD_OPERATION_DRAW_OUTLINES && mode == 0) { + uint8 new_tile = 1; + rct_xy16* selectionTile = gMapSelectionTiles; + for (; selectionTile->x != -1; selectionTile++){ + if (selectionTile->x == tile.x && selectionTile->y == tile.y){ + new_tile = 0; + break; + } + if (selectionTile + 1 >= &gMapSelectionTiles[300]){ + new_tile = 0; + break; + } + } + if (new_tile){ + selectionTile->x = tile.x; + selectionTile->y = tile.y; + selectionTile++; + selectionTile->x = -1; + } + } - if (_trackDesignPlaceOperation == PTD_OPERATION_CLEAR_OUTLINES && mode == 0) { - uint8 entry_type, entry_index; - if (!find_object_in_entry_group(&scenery->scenery_object, &entry_type, &entry_index)) { - entry_type = scenery->scenery_object.flags & 0xF; - if (entry_type != OBJECT_TYPE_PATHS) { - entry_type = 0xFF; - } - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { - entry_type = 0xFF; - } + if (_trackDesignPlaceOperation == PTD_OPERATION_CLEAR_OUTLINES && mode == 0) { + uint8 entry_type, entry_index; + if (!find_object_in_entry_group(&scenery->scenery_object, &entry_type, &entry_index)) { + entry_type = scenery->scenery_object.flags & 0xF; + if (entry_type != OBJECT_TYPE_PATHS) { + entry_type = 0xFF; + } + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { + entry_type = 0xFF; + } - entry_index = 0; - for (rct_footpath_entry *path = get_footpath_entry(0); - entry_index < object_entry_group_counts[OBJECT_TYPE_PATHS]; - path = get_footpath_entry(entry_index), entry_index++ - ) { - if (path == (rct_footpath_entry*)-1) { - continue; - } - if (path->flags & FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR) { - continue; - } - } + entry_index = 0; + for (rct_footpath_entry *path = get_footpath_entry(0); + entry_index < object_entry_group_counts[OBJECT_TYPE_PATHS]; + path = get_footpath_entry(entry_index), entry_index++ + ) { + if (path == (rct_footpath_entry*)-1) { + continue; + } + if (path->flags & FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR) { + continue; + } + } - if (entry_index == object_entry_group_counts[OBJECT_TYPE_PATHS]) { - entry_type = 0xFF; - } - } - sint32 z; - switch (entry_type) { - case OBJECT_TYPE_SMALL_SCENERY: - //bl - rotation += scenery->flags; - rotation &= 3; + if (entry_index == object_entry_group_counts[OBJECT_TYPE_PATHS]) { + entry_type = 0xFF; + } + } + sint32 z; + switch (entry_type) { + case OBJECT_TYPE_SMALL_SCENERY: + //bl + rotation += scenery->flags; + rotation &= 3; - //bh - uint8 quadrant = (scenery->flags >> 2) + _currentTrackPieceDirection; - quadrant &= 3; + //bh + uint8 quadrant = (scenery->flags >> 2) + _currentTrackPieceDirection; + quadrant &= 3; - uint8 bh = rotation | (quadrant << 6) | MAP_ELEMENT_TYPE_SCENERY; + uint8 bh = rotation | (quadrant << 6) | MAP_ELEMENT_TYPE_SCENERY; - rct_scenery_entry* small_scenery = get_small_scenery_entry(entry_index); - if (!(!(small_scenery->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE) && - (small_scenery->small_scenery.flags & SMALL_SCENERY_FLAG9)) && - (small_scenery->small_scenery.flags & (SMALL_SCENERY_FLAG9 | SMALL_SCENERY_FLAG24 | SMALL_SCENERY_FLAG25))) - { - bh &= 0x3F; - } + rct_scenery_entry* small_scenery = get_small_scenery_entry(entry_index); + if (!(!(small_scenery->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE) && + (small_scenery->small_scenery.flags & SMALL_SCENERY_FLAG9)) && + (small_scenery->small_scenery.flags & (SMALL_SCENERY_FLAG9 | SMALL_SCENERY_FLAG24 | SMALL_SCENERY_FLAG25))) + { + bh &= 0x3F; + } - z = (scenery->z * 8 + originZ) / 8; - game_do_command( - mapCoord.x, - 0x69 | bh << 8, - mapCoord.y, - (entry_index << 8) | z, - GAME_COMMAND_REMOVE_SCENERY, - 0, - 0); - break; - case OBJECT_TYPE_LARGE_SCENERY: - z = (scenery->z * 8 + originZ) / 8; - game_do_command( - mapCoord.x, - 0x69 | (((rotation + scenery->flags) & 0x3) << 8), - mapCoord.y, - z, - GAME_COMMAND_REMOVE_LARGE_SCENERY, - 0, - 0); - break; - case OBJECT_TYPE_WALLS: - z = (scenery->z * 8 + originZ) / 8; - game_do_command( - mapCoord.x, - 0x69, - mapCoord.y, - (z << 8) | ((rotation + scenery->flags) & 0x3), - GAME_COMMAND_REMOVE_WALL, - 0, - 0); - break; - case OBJECT_TYPE_PATHS: - z = (scenery->z * 8 + originZ) / 8; - footpath_remove(mapCoord.x, mapCoord.y, z, 0x69); - break; - } - } + z = (scenery->z * 8 + originZ) / 8; + game_do_command( + mapCoord.x, + 0x69 | bh << 8, + mapCoord.y, + (entry_index << 8) | z, + GAME_COMMAND_REMOVE_SCENERY, + 0, + 0); + break; + case OBJECT_TYPE_LARGE_SCENERY: + z = (scenery->z * 8 + originZ) / 8; + game_do_command( + mapCoord.x, + 0x69 | (((rotation + scenery->flags) & 0x3) << 8), + mapCoord.y, + z, + GAME_COMMAND_REMOVE_LARGE_SCENERY, + 0, + 0); + break; + case OBJECT_TYPE_WALLS: + z = (scenery->z * 8 + originZ) / 8; + game_do_command( + mapCoord.x, + 0x69, + mapCoord.y, + (z << 8) | ((rotation + scenery->flags) & 0x3), + GAME_COMMAND_REMOVE_WALL, + 0, + 0); + break; + case OBJECT_TYPE_PATHS: + z = (scenery->z * 8 + originZ) / 8; + footpath_remove(mapCoord.x, mapCoord.y, z, 0x69); + break; + } + } - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z) { - sint32 z = scenery->z * 8 + _trackDesignPlaceZ; - if (z < word_F44129) { - word_F44129 = z; - } - } + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z) { + sint32 z = scenery->z * 8 + _trackDesignPlaceZ; + if (z < word_F44129) { + word_F44129 = z; + } + } - if (_trackDesignPlaceOperation == PTD_OPERATION_1 || - _trackDesignPlaceOperation == PTD_OPERATION_2 || - _trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z || - _trackDesignPlaceOperation == PTD_OPERATION_4 || - _trackDesignPlaceOperation == PTD_OPERATION_GET_COST - ) { + if (_trackDesignPlaceOperation == PTD_OPERATION_1 || + _trackDesignPlaceOperation == PTD_OPERATION_2 || + _trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z || + _trackDesignPlaceOperation == PTD_OPERATION_4 || + _trackDesignPlaceOperation == PTD_OPERATION_GET_COST + ) { - uint8 entry_type, entry_index; - if (!find_object_in_entry_group(&scenery->scenery_object, &entry_type, &entry_index)){ - entry_type = scenery->scenery_object.flags & 0xF; - if (entry_type != OBJECT_TYPE_PATHS){ - byte_F4414E |= BYTE_F4414E_SCENERY_UNAVAILABLE; - continue; - } + uint8 entry_type, entry_index; + if (!find_object_in_entry_group(&scenery->scenery_object, &entry_type, &entry_index)){ + entry_type = scenery->scenery_object.flags & 0xF; + if (entry_type != OBJECT_TYPE_PATHS){ + byte_F4414E |= BYTE_F4414E_SCENERY_UNAVAILABLE; + continue; + } - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER){ - byte_F4414E |= BYTE_F4414E_SCENERY_UNAVAILABLE; - continue; - } + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER){ + byte_F4414E |= BYTE_F4414E_SCENERY_UNAVAILABLE; + continue; + } - entry_index = 0; - for (rct_footpath_entry* path = get_footpath_entry(0); - entry_index < object_entry_group_counts[OBJECT_TYPE_PATHS]; - path = get_footpath_entry(entry_index), entry_index++){ + entry_index = 0; + for (rct_footpath_entry* path = get_footpath_entry(0); + entry_index < object_entry_group_counts[OBJECT_TYPE_PATHS]; + path = get_footpath_entry(entry_index), entry_index++){ - if (path == (rct_footpath_entry*)-1) - continue; - if (path->flags & FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR) - continue; - } + if (path == (rct_footpath_entry*)-1) + continue; + if (path->flags & FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR) + continue; + } - if (entry_index == object_entry_group_counts[OBJECT_TYPE_PATHS]){ - byte_F4414E |= BYTE_F4414E_SCENERY_UNAVAILABLE; - continue; - } - } + if (entry_index == object_entry_group_counts[OBJECT_TYPE_PATHS]){ + byte_F4414E |= BYTE_F4414E_SCENERY_UNAVAILABLE; + continue; + } + } - money32 cost; - sint16 z; - uint8 bl; + money32 cost; + sint16 z; + uint8 bl; - switch (entry_type){ - case OBJECT_TYPE_SMALL_SCENERY: - if (mode != 0) continue; - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z) continue; + switch (entry_type){ + case OBJECT_TYPE_SMALL_SCENERY: + if (mode != 0) continue; + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z) continue; - rotation += scenery->flags; - rotation &= 3; - z = scenery->z * 8 + originZ; - uint8 quadrant = ((scenery->flags >> 2) + _currentTrackPieceDirection) & 3; + rotation += scenery->flags; + rotation &= 3; + z = scenery->z * 8 + originZ; + uint8 quadrant = ((scenery->flags >> 2) + _currentTrackPieceDirection) & 3; - bl = 0x81; - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 0xA9; - if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 0xE9; - if (_trackDesignPlaceOperation == PTD_OPERATION_1) bl = 0x80; + bl = 0x81; + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 0xA9; + if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 0xE9; + if (_trackDesignPlaceOperation == PTD_OPERATION_1) bl = 0x80; - gGameCommandErrorTitle = STR_CANT_POSITION_THIS_HERE; + gGameCommandErrorTitle = STR_CANT_POSITION_THIS_HERE; - cost = game_do_command( - mapCoord.x, - bl | (entry_index << 8), - mapCoord.y, - quadrant | (scenery->primary_colour << 8), - GAME_COMMAND_PLACE_SCENERY, - rotation | (scenery->secondary_colour << 16), - z - ); + cost = game_do_command( + mapCoord.x, + bl | (entry_index << 8), + mapCoord.y, + quadrant | (scenery->primary_colour << 8), + GAME_COMMAND_PLACE_SCENERY, + rotation | (scenery->secondary_colour << 16), + z + ); - if (cost == MONEY32_UNDEFINED) { - cost = 0; - } - break; - case OBJECT_TYPE_LARGE_SCENERY: - if (mode != 0) continue; - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z) continue; + if (cost == MONEY32_UNDEFINED) { + cost = 0; + } + break; + case OBJECT_TYPE_LARGE_SCENERY: + if (mode != 0) continue; + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z) continue; - rotation += scenery->flags; - rotation &= 3; + rotation += scenery->flags; + rotation &= 3; - z = scenery->z * 8 + originZ; + z = scenery->z * 8 + originZ; - bl = 0x81; - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 0xA9; - if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 0xE9; - if (_trackDesignPlaceOperation == PTD_OPERATION_1) bl = 0x80; + bl = 0x81; + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 0xA9; + if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 0xE9; + if (_trackDesignPlaceOperation == PTD_OPERATION_1) bl = 0x80; - cost = game_do_command( - mapCoord.x, - bl | (rotation << 8), - mapCoord.y, - scenery->primary_colour | (scenery->secondary_colour << 8), - GAME_COMMAND_PLACE_LARGE_SCENERY, - entry_index, - z - ); + cost = game_do_command( + mapCoord.x, + bl | (rotation << 8), + mapCoord.y, + scenery->primary_colour | (scenery->secondary_colour << 8), + GAME_COMMAND_PLACE_LARGE_SCENERY, + entry_index, + z + ); - if (cost == MONEY32_UNDEFINED) - cost = 0; - break; - case OBJECT_TYPE_WALLS: - if (mode != 0) continue; - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z) continue; + if (cost == MONEY32_UNDEFINED) + cost = 0; + break; + case OBJECT_TYPE_WALLS: + if (mode != 0) continue; + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z) continue; - z = scenery->z * 8 + originZ; - rotation += scenery->flags; - rotation &= 3; + z = scenery->z * 8 + originZ; + rotation += scenery->flags; + rotation &= 3; - bl = 1; - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 0xA9; - if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 105; - if (_trackDesignPlaceOperation == PTD_OPERATION_1) bl = 0; + bl = 1; + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 0xA9; + if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 105; + if (_trackDesignPlaceOperation == PTD_OPERATION_1) bl = 0; - gGameCommandErrorTitle = STR_CANT_BUILD_PARK_ENTRANCE_HERE; + gGameCommandErrorTitle = STR_CANT_BUILD_PARK_ENTRANCE_HERE; - cost = game_do_command( - mapCoord.x, - bl | (entry_index << 8), - mapCoord.y, - rotation | (scenery->primary_colour << 8), - GAME_COMMAND_PLACE_WALL, - z, - scenery->secondary_colour | ((scenery->flags & 0xFC) << 6) - ); + cost = game_do_command( + mapCoord.x, + bl | (entry_index << 8), + mapCoord.y, + rotation | (scenery->primary_colour << 8), + GAME_COMMAND_PLACE_WALL, + z, + scenery->secondary_colour | ((scenery->flags & 0xFC) << 6) + ); - if (cost == MONEY32_UNDEFINED) - cost = 0; - break; - case OBJECT_TYPE_PATHS: - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z) continue; + if (cost == MONEY32_UNDEFINED) + cost = 0; + break; + case OBJECT_TYPE_PATHS: + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z) continue; - z = (scenery->z * 8 + originZ) / 8; - if (mode == 0) { - if (scenery->flags & (1 << 7)){ - //dh - entry_index |= (1 << 7); - } + z = (scenery->z * 8 + originZ) / 8; + if (mode == 0) { + if (scenery->flags & (1 << 7)){ + //dh + entry_index |= (1 << 7); + } - uint8 bh = ((scenery->flags & 0xF) << rotation); - bl = bh >> 4; - bh = (bh | bl) & 0xF; - bl = (((scenery->flags >> 5) + rotation) & 3) << 5; - bh |= bl; + uint8 bh = ((scenery->flags & 0xF) << rotation); + bl = bh >> 4; + bh = (bh | bl) & 0xF; + bl = (((scenery->flags >> 5) + rotation) & 3) << 5; + bh |= bl; - bh |= scenery->flags & 0x90; + bh |= scenery->flags & 0x90; - bl = 1; - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 41; - if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 105; - if (_trackDesignPlaceOperation == PTD_OPERATION_1) bl = 0; + bl = 1; + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 41; + if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 105; + if (_trackDesignPlaceOperation == PTD_OPERATION_1) bl = 0; - gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; - cost = game_do_command(mapCoord.x, bl | (bh << 8), mapCoord.y, z | (entry_index << 8), GAME_COMMAND_PLACE_PATH_FROM_TRACK, 0, 0); - } - else{ - if (_trackDesignPlaceOperation == PTD_OPERATION_1) - continue; + gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; + cost = game_do_command(mapCoord.x, bl | (bh << 8), mapCoord.y, z | (entry_index << 8), GAME_COMMAND_PLACE_PATH_FROM_TRACK, 0, 0); + } + else{ + if (_trackDesignPlaceOperation == PTD_OPERATION_1) + continue; - rct_map_element* map_element = map_get_path_element_at(mapCoord.x / 32, mapCoord.y / 32, z); + rct_map_element* map_element = map_get_path_element_at(mapCoord.x / 32, mapCoord.y / 32, z); - if (map_element == NULL) - continue; + if (map_element == NULL) + continue; - footpath_queue_chain_reset(); - footpath_remove_edges_at(mapCoord.x, mapCoord.y, map_element); + footpath_queue_chain_reset(); + footpath_remove_edges_at(mapCoord.x, mapCoord.y, map_element); - bl = 1; - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 41; - if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 105; + bl = 1; + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 41; + if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 105; - footpath_connect_edges(mapCoord.x, mapCoord.y, map_element, bl); - footpath_update_queue_chains(); - continue; - } - break; - default: - byte_F4414E |= BYTE_F4414E_SCENERY_UNAVAILABLE; - continue; - break; - } - _trackDesignPlaceCost += cost; - if (_trackDesignPlaceOperation != PTD_OPERATION_2) { - if (cost == MONEY32_UNDEFINED){ - _trackDesignPlaceCost = MONEY32_UNDEFINED; - } - } - if (_trackDesignPlaceCost != MONEY32_UNDEFINED) { - continue; - } - if (_trackDesignPlaceOperation == PTD_OPERATION_2) { - continue; - } - return 0; - } - } - } - return 1; + footpath_connect_edges(mapCoord.x, mapCoord.y, map_element, bl); + footpath_update_queue_chains(); + continue; + } + break; + default: + byte_F4414E |= BYTE_F4414E_SCENERY_UNAVAILABLE; + continue; + break; + } + _trackDesignPlaceCost += cost; + if (_trackDesignPlaceOperation != PTD_OPERATION_2) { + if (cost == MONEY32_UNDEFINED){ + _trackDesignPlaceCost = MONEY32_UNDEFINED; + } + } + if (_trackDesignPlaceCost != MONEY32_UNDEFINED) { + continue; + } + if (_trackDesignPlaceOperation == PTD_OPERATION_2) { + continue; + } + return 0; + } + } + } + return 1; } static sint32 track_design_place_maze(rct_track_td6 *td6, sint16 x, sint16 y, sint16 z, uint8 rideIndex) { - if (_trackDesignPlaceOperation == PTD_OPERATION_DRAW_OUTLINES) { - gMapSelectionTiles->x = -1; - gMapSelectArrowPosition.x = x; - gMapSelectArrowPosition.y = y; - gMapSelectArrowPosition.z = map_element_height(x, y) & 0xFFFF; - gMapSelectArrowDirection = _currentTrackPieceDirection; - } + if (_trackDesignPlaceOperation == PTD_OPERATION_DRAW_OUTLINES) { + gMapSelectionTiles->x = -1; + gMapSelectArrowPosition.x = x; + gMapSelectArrowPosition.y = y; + gMapSelectArrowPosition.z = map_element_height(x, y) & 0xFFFF; + gMapSelectArrowDirection = _currentTrackPieceDirection; + } - _trackDesignPlaceZ = 0; - _trackDesignPlaceCost = 0; + _trackDesignPlaceZ = 0; + _trackDesignPlaceCost = 0; - rct_td6_maze_element *maze = td6->maze_elements; - for (; maze->all != 0; maze++){ - uint8 rotation = _currentTrackPieceDirection & 3; - rct_xy16 mapCoord = { .x = maze->x * 32, .y = maze->y * 32 }; - rotate_map_coordinates(&mapCoord.x, &mapCoord.y, rotation); - mapCoord.x += x; - mapCoord.y += y; + rct_td6_maze_element *maze = td6->maze_elements; + for (; maze->all != 0; maze++){ + uint8 rotation = _currentTrackPieceDirection & 3; + rct_xy16 mapCoord = { .x = maze->x * 32, .y = maze->y * 32 }; + rotate_map_coordinates(&mapCoord.x, &mapCoord.y, rotation); + mapCoord.x += x; + mapCoord.y += y; - track_design_update_max_min_coordinates(mapCoord.x, mapCoord.y, z); + track_design_update_max_min_coordinates(mapCoord.x, mapCoord.y, z); - if (_trackDesignPlaceOperation == PTD_OPERATION_DRAW_OUTLINES) { - track_design_add_selection_tile(mapCoord.x, mapCoord.y); - } + if (_trackDesignPlaceOperation == PTD_OPERATION_DRAW_OUTLINES) { + track_design_add_selection_tile(mapCoord.x, mapCoord.y); + } - if (_trackDesignPlaceOperation == PTD_OPERATION_1 || - _trackDesignPlaceOperation == PTD_OPERATION_2 || - _trackDesignPlaceOperation == PTD_OPERATION_4 || - _trackDesignPlaceOperation == PTD_OPERATION_GET_COST - ) { - uint8 bl; - money32 cost = 0; - uint16 maze_entry; - switch (maze->type) { - case 0x08: - // entrance - rotation += maze->unk_2; - rotation &= 3; + if (_trackDesignPlaceOperation == PTD_OPERATION_1 || + _trackDesignPlaceOperation == PTD_OPERATION_2 || + _trackDesignPlaceOperation == PTD_OPERATION_4 || + _trackDesignPlaceOperation == PTD_OPERATION_GET_COST + ) { + uint8 bl; + money32 cost = 0; + uint16 maze_entry; + switch (maze->type) { + case 0x08: + // entrance + rotation += maze->unk_2; + rotation &= 3; - gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; + gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; - bl = 1; - if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 0x69; - if (_trackDesignPlaceOperation == PTD_OPERATION_1) { - cost = game_do_command(mapCoord.x, 0 | rotation << 8, mapCoord.y, (z / 16) & 0xFF, GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, -1, 0); - } else { - cost = game_do_command(mapCoord.x, bl | rotation << 8, mapCoord.y, rideIndex, GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, 0, 0); - } - if (cost != MONEY32_UNDEFINED){ - byte_F4414E |= BYTE_F4414E_ENTRANCE_EXIT_PLACED; - } - break; - case 0x80: - // exit - rotation += maze->unk_2; - rotation &= 3; + bl = 1; + if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 0x69; + if (_trackDesignPlaceOperation == PTD_OPERATION_1) { + cost = game_do_command(mapCoord.x, 0 | rotation << 8, mapCoord.y, (z / 16) & 0xFF, GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, -1, 0); + } else { + cost = game_do_command(mapCoord.x, bl | rotation << 8, mapCoord.y, rideIndex, GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, 0, 0); + } + if (cost != MONEY32_UNDEFINED){ + byte_F4414E |= BYTE_F4414E_ENTRANCE_EXIT_PLACED; + } + break; + case 0x80: + // exit + rotation += maze->unk_2; + rotation &= 3; - gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; + gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; - bl = 1; - if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 0x69; - if (_trackDesignPlaceOperation == PTD_OPERATION_1) { - cost = game_do_command(mapCoord.x, 0 | rotation << 8, mapCoord.y, ((z / 16) & 0xFF) | (1 << 8), GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, -1, 0); - } - else{ - cost = game_do_command(mapCoord.x, bl | rotation << 8, mapCoord.y, rideIndex | (1 << 8), GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, 0, 0); - } - if (cost != MONEY32_UNDEFINED){ - byte_F4414E |= BYTE_F4414E_ENTRANCE_EXIT_PLACED; - } - break; - default: - maze_entry = rol16(maze->maze_entry, rotation * 4); + bl = 1; + if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 0x69; + if (_trackDesignPlaceOperation == PTD_OPERATION_1) { + cost = game_do_command(mapCoord.x, 0 | rotation << 8, mapCoord.y, ((z / 16) & 0xFF) | (1 << 8), GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, -1, 0); + } + else{ + cost = game_do_command(mapCoord.x, bl | rotation << 8, mapCoord.y, rideIndex | (1 << 8), GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, 0, 0); + } + if (cost != MONEY32_UNDEFINED){ + byte_F4414E |= BYTE_F4414E_ENTRANCE_EXIT_PLACED; + } + break; + default: + maze_entry = rol16(maze->maze_entry, rotation * 4); - bl = 1; - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 0x29; - if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 0x69; - if (_trackDesignPlaceOperation == PTD_OPERATION_1) bl = 0; + bl = 1; + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 0x29; + if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 0x69; + if (_trackDesignPlaceOperation == PTD_OPERATION_1) bl = 0; - gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; + gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; - cost = game_do_command(mapCoord.x, bl | (maze_entry & 0xFF) << 8, mapCoord.y, rideIndex | (maze_entry & 0xFF00), GAME_COMMAND_PLACE_MAZE_DESIGN, z, 0); - break; - } + cost = game_do_command(mapCoord.x, bl | (maze_entry & 0xFF) << 8, mapCoord.y, rideIndex | (maze_entry & 0xFF00), GAME_COMMAND_PLACE_MAZE_DESIGN, z, 0); + break; + } - _trackDesignPlaceCost += cost; + _trackDesignPlaceCost += cost; - if (cost == MONEY32_UNDEFINED){ - _trackDesignPlaceCost = cost; - return 0; - } - } + if (cost == MONEY32_UNDEFINED){ + _trackDesignPlaceCost = cost; + return 0; + } + } - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z) { - if (mapCoord.x < 0) continue; - if (mapCoord.y < 0) continue; - if (mapCoord.x >= 256 * 32) continue; - if (mapCoord.y >= 256 * 32) continue; + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_PLACE_Z) { + if (mapCoord.x < 0) continue; + if (mapCoord.y < 0) continue; + if (mapCoord.x >= 256 * 32) continue; + if (mapCoord.y >= 256 * 32) continue; - rct_map_element *map_element = map_get_surface_element_at(mapCoord.x / 32, mapCoord.y / 32); - sint16 map_height = map_element->base_height * 8; - if (map_element->properties.surface.slope & 0xF) { - map_height += 16; - if (map_element->properties.surface.slope & 0x10) { - map_height += 16; - } - } + rct_map_element *map_element = map_get_surface_element_at(mapCoord.x / 32, mapCoord.y / 32); + sint16 map_height = map_element->base_height * 8; + if (map_element->properties.surface.slope & 0xF) { + map_height += 16; + if (map_element->properties.surface.slope & 0x10) { + map_height += 16; + } + } - if (map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) { - sint16 water_height = map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; - water_height *= 16; - if (water_height > map_height) { - map_height = water_height; - } - } + if (map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) { + sint16 water_height = map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; + water_height *= 16; + if (water_height > map_height) { + map_height = water_height; + } + } - sint16 temp_z = z + _trackDesignPlaceZ - map_height; - if (temp_z < 0) { - _trackDesignPlaceZ -= temp_z; - } - } - } + sint16 temp_z = z + _trackDesignPlaceZ - map_height; + if (temp_z < 0) { + _trackDesignPlaceZ -= temp_z; + } + } + } - if (_trackDesignPlaceOperation == PTD_OPERATION_CLEAR_OUTLINES) { - game_do_command(0, 0x69, 0, rideIndex, GAME_COMMAND_DEMOLISH_RIDE, 0, 0); - } + if (_trackDesignPlaceOperation == PTD_OPERATION_CLEAR_OUTLINES) { + game_do_command(0, 0x69, 0, rideIndex, GAME_COMMAND_DEMOLISH_RIDE, 0, 0); + } - gTrackPreviewOrigin = (rct_xyz16) { x, y, z }; - return 1; + gTrackPreviewOrigin = (rct_xyz16) { x, y, z }; + return 1; } static bool track_design_place_ride(rct_track_td6 *td6, sint16 x, sint16 y, sint16 z, uint8 rideIndex) { - gTrackPreviewOrigin = (rct_xyz16) { x, y, z }; - if (_trackDesignPlaceOperation == PTD_OPERATION_DRAW_OUTLINES) { - gMapSelectionTiles->x = -1; - gMapSelectArrowPosition.x = x; - gMapSelectArrowPosition.y = y; - gMapSelectArrowPosition.z = map_element_height(x, y) & 0xFFFF; - gMapSelectArrowDirection = _currentTrackPieceDirection; - } + gTrackPreviewOrigin = (rct_xyz16) { x, y, z }; + if (_trackDesignPlaceOperation == PTD_OPERATION_DRAW_OUTLINES) { + gMapSelectionTiles->x = -1; + gMapSelectArrowPosition.x = x; + gMapSelectArrowPosition.y = y; + gMapSelectArrowPosition.z = map_element_height(x, y) & 0xFFFF; + gMapSelectArrowDirection = _currentTrackPieceDirection; + } - _trackDesignPlaceZ = 0; - _trackDesignPlaceCost = 0; - uint8 rotation = _currentTrackPieceDirection; + _trackDesignPlaceZ = 0; + _trackDesignPlaceCost = 0; + uint8 rotation = _currentTrackPieceDirection; - // Track elements - rct_td6_track_element *track = td6->track_elements; - for (; track->type != 0xFF; track++) { - uint8 trackType = track->type; - if (trackType == TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP) { - trackType = 0xFF; - } + // Track elements + rct_td6_track_element *track = td6->track_elements; + for (; track->type != 0xFF; track++) { + uint8 trackType = track->type; + if (trackType == TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP) { + trackType = 0xFF; + } - track_design_update_max_min_coordinates(x, y, z); + track_design_update_max_min_coordinates(x, y, z); - switch (_trackDesignPlaceOperation) { - case PTD_OPERATION_DRAW_OUTLINES: - for (const rct_preview_track* trackBlock = TrackBlocks[trackType]; trackBlock->index != 0xFF; trackBlock++) { - rct_xy16 tile = { x, y }; - map_offset_with_rotation(&tile.x, &tile.y, trackBlock->x, trackBlock->y, rotation); - track_design_update_max_min_coordinates(tile.x, tile.y, z); - track_design_add_selection_tile(tile.x, tile.y); - } - break; - case PTD_OPERATION_CLEAR_OUTLINES: - { - const rct_track_coordinates *trackCoordinates = &TrackCoordinates[trackType]; - const rct_preview_track *trackBlock = TrackBlocks[trackType]; - sint32 tempZ = z - trackCoordinates->z_begin + trackBlock->z; - uint8 flags = - GAME_COMMAND_FLAG_APPLY | - GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | - GAME_COMMAND_FLAG_5 | - GAME_COMMAND_FLAG_GHOST; - ride_remove_track_piece(x, y, tempZ, rotation & 3, trackType, flags); - break; - } - case PTD_OPERATION_1: - case PTD_OPERATION_2: - case PTD_OPERATION_4: - case PTD_OPERATION_GET_COST: - { - const rct_track_coordinates *trackCoordinates = &TrackCoordinates[trackType]; + switch (_trackDesignPlaceOperation) { + case PTD_OPERATION_DRAW_OUTLINES: + for (const rct_preview_track* trackBlock = TrackBlocks[trackType]; trackBlock->index != 0xFF; trackBlock++) { + rct_xy16 tile = { x, y }; + map_offset_with_rotation(&tile.x, &tile.y, trackBlock->x, trackBlock->y, rotation); + track_design_update_max_min_coordinates(tile.x, tile.y, z); + track_design_add_selection_tile(tile.x, tile.y); + } + break; + case PTD_OPERATION_CLEAR_OUTLINES: + { + const rct_track_coordinates *trackCoordinates = &TrackCoordinates[trackType]; + const rct_preview_track *trackBlock = TrackBlocks[trackType]; + sint32 tempZ = z - trackCoordinates->z_begin + trackBlock->z; + uint8 flags = + GAME_COMMAND_FLAG_APPLY | + GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | + GAME_COMMAND_FLAG_5 | + GAME_COMMAND_FLAG_GHOST; + ride_remove_track_piece(x, y, tempZ, rotation & 3, trackType, flags); + break; + } + case PTD_OPERATION_1: + case PTD_OPERATION_2: + case PTD_OPERATION_4: + case PTD_OPERATION_GET_COST: + { + const rct_track_coordinates *trackCoordinates = &TrackCoordinates[trackType]; - //di - sint16 tempZ = z - trackCoordinates->z_begin; - uint32 edi = - ((track->flags & 0x0F) << 17) | - ((track->flags & 0x0F) << 28) | - (((track->flags >> 4) & 0x03) << 24) | - (tempZ & 0xFFFF); + //di + sint16 tempZ = z - trackCoordinates->z_begin; + uint32 edi = + ((track->flags & 0x0F) << 17) | + ((track->flags & 0x0F) << 28) | + (((track->flags >> 4) & 0x03) << 24) | + (tempZ & 0xFFFF); - sint32 edx = _currentRideIndex | (trackType << 8); - if (track->flags & 0x80) edx |= 0x10000; - if (track->flags & 0x40) edx |= 0x20000; + sint32 edx = _currentRideIndex | (trackType << 8); + if (track->flags & 0x80) edx |= 0x10000; + if (track->flags & 0x40) edx |= 0x20000; - uint8 flags = GAME_COMMAND_FLAG_APPLY; - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) { - flags |= GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED; - flags |= GAME_COMMAND_FLAG_5; - } - else if (_trackDesignPlaceOperation == PTD_OPERATION_4) { - flags |= GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED; - flags |= GAME_COMMAND_FLAG_5; - flags |= GAME_COMMAND_FLAG_GHOST; - } - else if (_trackDesignPlaceOperation == PTD_OPERATION_1) { - flags = 0; - } + uint8 flags = GAME_COMMAND_FLAG_APPLY; + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) { + flags |= GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED; + flags |= GAME_COMMAND_FLAG_5; + } + else if (_trackDesignPlaceOperation == PTD_OPERATION_4) { + flags |= GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED; + flags |= GAME_COMMAND_FLAG_5; + flags |= GAME_COMMAND_FLAG_GHOST; + } + else if (_trackDesignPlaceOperation == PTD_OPERATION_1) { + flags = 0; + } - gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; - money32 cost = game_do_command(x, flags | (rotation << 8), y, edx, GAME_COMMAND_PLACE_TRACK, edi, 0); - _trackDesignPlaceCost += cost; - if (cost == MONEY32_UNDEFINED) { - _trackDesignPlaceCost = cost; - return false; - } - break; - } - case PTD_OPERATION_GET_PLACE_Z: - { - sint32 tempZ = z - TrackCoordinates[trackType].z_begin; - for (const rct_preview_track *trackBlock = TrackBlocks[trackType]; trackBlock->index != 0xFF; trackBlock++) { - rct_xy16 tile = { x, y }; - map_offset_with_rotation(&tile.x, &tile.y, trackBlock->x, trackBlock->y, rotation); - if (tile.x < 0 || tile.y < 0 || tile.x >= (256 * 32) || tile.y >= (256 * 32)) { - continue; - } + gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; + money32 cost = game_do_command(x, flags | (rotation << 8), y, edx, GAME_COMMAND_PLACE_TRACK, edi, 0); + _trackDesignPlaceCost += cost; + if (cost == MONEY32_UNDEFINED) { + _trackDesignPlaceCost = cost; + return false; + } + break; + } + case PTD_OPERATION_GET_PLACE_Z: + { + sint32 tempZ = z - TrackCoordinates[trackType].z_begin; + for (const rct_preview_track *trackBlock = TrackBlocks[trackType]; trackBlock->index != 0xFF; trackBlock++) { + rct_xy16 tile = { x, y }; + map_offset_with_rotation(&tile.x, &tile.y, trackBlock->x, trackBlock->y, rotation); + if (tile.x < 0 || tile.y < 0 || tile.x >= (256 * 32) || tile.y >= (256 * 32)) { + continue; + } - rct_map_element *mapElement = map_get_surface_element_at(tile.x >> 5, tile.y >> 5); - if (mapElement == NULL) { - return false; - } + rct_map_element *mapElement = map_get_surface_element_at(tile.x >> 5, tile.y >> 5); + if (mapElement == NULL) { + return false; + } - sint32 height = mapElement->base_height * 8; - if (mapElement->properties.surface.slope & 0x0F) { - height += 16; - if (mapElement->properties.surface.slope & 0x10) { - height += 16; - } - } + sint32 height = mapElement->base_height * 8; + if (mapElement->properties.surface.slope & 0x0F) { + height += 16; + if (mapElement->properties.surface.slope & 0x10) { + height += 16; + } + } - uint8 water_height = 16 * mapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; - if (water_height > 0 && water_height > height) { - height = water_height; - } - sint32 heightDifference = tempZ + _trackDesignPlaceZ + trackBlock->z - height; - if (heightDifference < 0) { - _trackDesignPlaceZ -= heightDifference; - } - } - break; - } - } + uint8 water_height = 16 * mapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; + if (water_height > 0 && water_height > height) { + height = water_height; + } + sint32 heightDifference = tempZ + _trackDesignPlaceZ + trackBlock->z - height; + if (heightDifference < 0) { + _trackDesignPlaceZ -= heightDifference; + } + } + break; + } + } - const rct_track_coordinates *track_coordinates = &TrackCoordinates[trackType]; - map_offset_with_rotation(&x, &y, track_coordinates->x, track_coordinates->y, rotation); - z -= track_coordinates->z_begin; - z += track_coordinates->z_end; + const rct_track_coordinates *track_coordinates = &TrackCoordinates[trackType]; + map_offset_with_rotation(&x, &y, track_coordinates->x, track_coordinates->y, rotation); + z -= track_coordinates->z_begin; + z += track_coordinates->z_end; - rotation = (rotation + track_coordinates->rotation_end - track_coordinates->rotation_begin) & 3; - if (track_coordinates->rotation_end & (1 << 2)) { - rotation |= (1 << 2); - } else { - x += TileDirectionDelta[rotation].x; - y += TileDirectionDelta[rotation].y; - } - } + rotation = (rotation + track_coordinates->rotation_end - track_coordinates->rotation_begin) & 3; + if (track_coordinates->rotation_end & (1 << 2)) { + rotation |= (1 << 2); + } else { + x += TileDirectionDelta[rotation].x; + y += TileDirectionDelta[rotation].y; + } + } - // Entrance elements - rct_td6_entrance_element *entrance = td6->entrance_elements; - for (; entrance->z != -1; entrance++) { - rotation = _currentTrackPieceDirection & 3; - x = entrance->x; - y = entrance->y; - rotate_map_coordinates(&x, &y, rotation); - x += gTrackPreviewOrigin.x; - y += gTrackPreviewOrigin.y; + // Entrance elements + rct_td6_entrance_element *entrance = td6->entrance_elements; + for (; entrance->z != -1; entrance++) { + rotation = _currentTrackPieceDirection & 3; + x = entrance->x; + y = entrance->y; + rotate_map_coordinates(&x, &y, rotation); + x += gTrackPreviewOrigin.x; + y += gTrackPreviewOrigin.y; - track_design_update_max_min_coordinates(x, y, z); + track_design_update_max_min_coordinates(x, y, z); - switch (_trackDesignPlaceOperation) { - case PTD_OPERATION_DRAW_OUTLINES: - track_design_add_selection_tile(x, y); - break; - case PTD_OPERATION_1: - case PTD_OPERATION_2: - case PTD_OPERATION_4: - case PTD_OPERATION_GET_COST: - { - rotation = (rotation + entrance->direction) & 3; - uint8 isExit = 0; - if (entrance->direction & (1 << 7)) { - isExit = 1; - } + switch (_trackDesignPlaceOperation) { + case PTD_OPERATION_DRAW_OUTLINES: + track_design_add_selection_tile(x, y); + break; + case PTD_OPERATION_1: + case PTD_OPERATION_2: + case PTD_OPERATION_4: + case PTD_OPERATION_GET_COST: + { + rotation = (rotation + entrance->direction) & 3; + uint8 isExit = 0; + if (entrance->direction & (1 << 7)) { + isExit = 1; + } - if (_trackDesignPlaceOperation != PTD_OPERATION_1) { - rct_xy16 tile = { - x + TileDirectionDelta[rotation].x, - y + TileDirectionDelta[rotation].y - }; - rct_map_element* map_element = map_get_first_element_at(tile.x >> 5, tile.y >> 5); - z = gTrackPreviewOrigin.z / 8; - z += (entrance->z == (sint8)(uint8)0x80) ? -1 : entrance->z; + if (_trackDesignPlaceOperation != PTD_OPERATION_1) { + rct_xy16 tile = { + x + TileDirectionDelta[rotation].x, + y + TileDirectionDelta[rotation].y + }; + rct_map_element* map_element = map_get_first_element_at(tile.x >> 5, tile.y >> 5); + z = gTrackPreviewOrigin.z / 8; + z += (entrance->z == (sint8)(uint8)0x80) ? -1 : entrance->z; - do { - if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_TRACK) continue; - if (map_element->base_height != z) continue; + do { + if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_TRACK) continue; + if (map_element->base_height != z) continue; - sint32 di = (map_element->properties.track.sequence >> 4) & 0x07; - uint8 bl = 1; - if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 41; - if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 105; - if (_trackDesignPlaceOperation == PTD_OPERATION_1) bl = 0; + sint32 di = (map_element->properties.track.sequence >> 4) & 0x07; + uint8 bl = 1; + if (_trackDesignPlaceOperation == PTD_OPERATION_GET_COST) bl = 41; + if (_trackDesignPlaceOperation == PTD_OPERATION_4) bl = 105; + if (_trackDesignPlaceOperation == PTD_OPERATION_1) bl = 0; - gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; - money32 cost = game_do_command(x, bl | (rotation << 8), y, rideIndex | (isExit << 8), GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, di, 0); - _trackDesignPlaceCost += cost; + gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; + money32 cost = game_do_command(x, bl | (rotation << 8), y, rideIndex | (isExit << 8), GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, di, 0); + _trackDesignPlaceCost += cost; - if (cost == MONEY32_UNDEFINED) { - _trackDesignPlaceCost = cost; - return 0; - } - byte_F4414E |= BYTE_F4414E_ENTRANCE_EXIT_PLACED; - break; - } while (!map_element_is_last_for_tile(map_element++)); - } else { - z = (entrance->z == (sint8)(uint8)0x80) ? -1 : entrance->z; - z *= 8; - z += gTrackPreviewOrigin.z; - z >>= 4; + if (cost == MONEY32_UNDEFINED) { + _trackDesignPlaceCost = cost; + return 0; + } + byte_F4414E |= BYTE_F4414E_ENTRANCE_EXIT_PLACED; + break; + } while (!map_element_is_last_for_tile(map_element++)); + } else { + z = (entrance->z == (sint8)(uint8)0x80) ? -1 : entrance->z; + z *= 8; + z += gTrackPreviewOrigin.z; + z >>= 4; - gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; - money32 cost = game_do_command(x, 0 | (rotation << 8), y, z | (isExit << 8), GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, -1, 0); - if (cost == MONEY32_UNDEFINED) { - _trackDesignPlaceCost = cost; - return 0; - } else { - _trackDesignPlaceCost += cost; - byte_F4414E |= BYTE_F4414E_ENTRANCE_EXIT_PLACED; - } - } - break; - } - } - } + gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; + money32 cost = game_do_command(x, 0 | (rotation << 8), y, z | (isExit << 8), GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, -1, 0); + if (cost == MONEY32_UNDEFINED) { + _trackDesignPlaceCost = cost; + return 0; + } else { + _trackDesignPlaceCost += cost; + byte_F4414E |= BYTE_F4414E_ENTRANCE_EXIT_PLACED; + } + } + break; + } + } + } - if (_trackDesignPlaceOperation == PTD_OPERATION_CLEAR_OUTLINES) { - sub_6CB945(_currentRideIndex); - ride_delete(_currentRideIndex); - } - return true; + if (_trackDesignPlaceOperation == PTD_OPERATION_CLEAR_OUTLINES) { + sub_6CB945(_currentRideIndex); + ride_delete(_currentRideIndex); + } + return true; } /** @@ -1270,50 +1270,50 @@ static bool track_design_place_ride(rct_track_td6 *td6, sint16 x, sint16 y, sint */ sint32 place_virtual_track(rct_track_td6 *td6, uint8 bl, uint8 rideIndex, sint32 x, sint32 y, sint32 z) { - byte_F4414E = (bl & PTD_OPERATION_DONT_PLACE_SCENERY) ? BYTE_F4414E_DONT_PLACE_SCENERY : 0; - _trackDesignPlaceOperation = bl & 0x7F; - if (gTrackDesignSceneryToggle) { - byte_F4414E |= BYTE_F4414E_DONT_PLACE_SCENERY; - } - _currentRideIndex = rideIndex; + byte_F4414E = (bl & PTD_OPERATION_DONT_PLACE_SCENERY) ? BYTE_F4414E_DONT_PLACE_SCENERY : 0; + _trackDesignPlaceOperation = bl & 0x7F; + if (gTrackDesignSceneryToggle) { + byte_F4414E |= BYTE_F4414E_DONT_PLACE_SCENERY; + } + _currentRideIndex = rideIndex; - gTrackPreviewMin = (rct_xyz16){ x, y, z }; - gTrackPreviewMax = (rct_xyz16){ x, y, z }; + gTrackPreviewMin = (rct_xyz16){ x, y, z }; + gTrackPreviewMax = (rct_xyz16){ x, y, z }; - word_F44129 = 0; - uint8 track_place_success = 0; - if (td6->type == RIDE_TYPE_MAZE) { - track_place_success = track_design_place_maze(td6, x, y, z, rideIndex); - } else { - track_place_success = track_design_place_ride(td6, x, y, z, rideIndex); - } + word_F44129 = 0; + uint8 track_place_success = 0; + if (td6->type == RIDE_TYPE_MAZE) { + track_place_success = track_design_place_maze(td6, x, y, z, rideIndex); + } else { + track_place_success = track_design_place_ride(td6, x, y, z, rideIndex); + } - // Scenery elements - rct_td6_scenery_element *scenery = td6->scenery_elements; - if (track_place_success && scenery != NULL) { - if (!track_design_place_scenery( - scenery, - rideIndex, - gTrackPreviewOrigin.x, - gTrackPreviewOrigin.y, - gTrackPreviewOrigin.z - )) { - return _trackDesignPlaceCost; - } - } + // Scenery elements + rct_td6_scenery_element *scenery = td6->scenery_elements; + if (track_place_success && scenery != NULL) { + if (!track_design_place_scenery( + scenery, + rideIndex, + gTrackPreviewOrigin.x, + gTrackPreviewOrigin.y, + gTrackPreviewOrigin.z + )) { + return _trackDesignPlaceCost; + } + } - // 0x6D0FE6 - if (_trackDesignPlaceOperation == PTD_OPERATION_DRAW_OUTLINES) { - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; - gMapSelectFlags &= ~MAP_SELECT_FLAG_GREEN; - map_invalidate_map_selection_tiles(); - } + // 0x6D0FE6 + if (_trackDesignPlaceOperation == PTD_OPERATION_DRAW_OUTLINES) { + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; + gMapSelectFlags &= ~MAP_SELECT_FLAG_GREEN; + map_invalidate_map_selection_tiles(); + } - if (bl == 3) { - return _trackDesignPlaceZ; - } - return _trackDesignPlaceCost; + if (bl == 3) { + return _trackDesignPlaceZ; + } + return _trackDesignPlaceCost; } /** @@ -1324,310 +1324,310 @@ sint32 place_virtual_track(rct_track_td6 *td6, uint8 bl, uint8 rideIndex, sint32 */ static bool track_design_place_preview(rct_track_td6 *td6, money32 *cost, uint8 *rideId, uint8 *flags) { - *flags = 0; + *flags = 0; - uint8 entry_type, entry_index; - if (!find_object_in_entry_group(&td6->vehicle_object, &entry_type, &entry_index)) { - entry_index = 0xFF; - } + uint8 entry_type, entry_index; + if (!find_object_in_entry_group(&td6->vehicle_object, &entry_type, &entry_index)) { + entry_index = 0xFF; + } - uint8 rideIndex; - uint8 colour; - uint8 rideCreateFlags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5; - if (ride_create_command(td6->type, entry_index, rideCreateFlags, &rideIndex, &colour) == MONEY32_UNDEFINED) { - return false; - } + uint8 rideIndex; + uint8 colour; + uint8 rideCreateFlags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5; + if (ride_create_command(td6->type, entry_index, rideCreateFlags, &rideIndex, &colour) == MONEY32_UNDEFINED) { + return false; + } - rct_ride *ride = get_ride(rideIndex); - rct_string_id new_ride_name = user_string_allocate(USER_STRING_HIGH_ID_NUMBER | USER_STRING_DUPLICATION_PERMITTED, ""); - if (new_ride_name != 0) { - rct_string_id old_name = ride->name; - ride->name = new_ride_name; - user_string_free(old_name); - } + rct_ride *ride = get_ride(rideIndex); + rct_string_id new_ride_name = user_string_allocate(USER_STRING_HIGH_ID_NUMBER | USER_STRING_DUPLICATION_PERMITTED, ""); + if (new_ride_name != 0) { + rct_string_id old_name = ride->name; + ride->name = new_ride_name; + user_string_free(old_name); + } - ride->entrance_style = td6->entrance_style; + ride->entrance_style = td6->entrance_style; - for (sint32 i = 0; i < 4; i++) { - ride->track_colour_main[i] = td6->track_spine_colour[i]; - ride->track_colour_additional[i] = td6->track_rail_colour[i]; - ride->track_colour_supports[i] = td6->track_support_colour[i]; - } + for (sint32 i = 0; i < 4; i++) { + ride->track_colour_main[i] = td6->track_spine_colour[i]; + ride->track_colour_additional[i] = td6->track_rail_colour[i]; + ride->track_colour_supports[i] = td6->track_support_colour[i]; + } - byte_9D8150 = true; - uint8 backup_rotation = _currentTrackPieceDirection; - uint32 backup_park_flags = gParkFlags; - gParkFlags &= ~PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; - sint32 mapSize = gMapSize << 4; + byte_9D8150 = true; + uint8 backup_rotation = _currentTrackPieceDirection; + uint32 backup_park_flags = gParkFlags; + gParkFlags &= ~PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; + sint32 mapSize = gMapSize << 4; - _currentTrackPieceDirection = 0; - sint32 z = place_virtual_track(td6, PTD_OPERATION_GET_PLACE_Z, 0, mapSize, mapSize, 16); + _currentTrackPieceDirection = 0; + sint32 z = place_virtual_track(td6, PTD_OPERATION_GET_PLACE_Z, 0, mapSize, mapSize, 16); - if (byte_F4414E & BYTE_F4414E_HAS_SCENERY) { - *flags |= TRACK_DESIGN_FLAG_HAS_SCENERY; - } + if (byte_F4414E & BYTE_F4414E_HAS_SCENERY) { + *flags |= TRACK_DESIGN_FLAG_HAS_SCENERY; + } - z += 16 - word_F44129; + z += 16 - word_F44129; - sint32 operation = PTD_OPERATION_GET_COST; - if (byte_F4414E & BYTE_F4414E_SCENERY_UNAVAILABLE) { - operation |= PTD_OPERATION_DONT_PLACE_SCENERY; - *flags |= TRACK_DESIGN_FLAG_SCENERY_UNAVAILABLE; - } + sint32 operation = PTD_OPERATION_GET_COST; + if (byte_F4414E & BYTE_F4414E_SCENERY_UNAVAILABLE) { + operation |= PTD_OPERATION_DONT_PLACE_SCENERY; + *flags |= TRACK_DESIGN_FLAG_SCENERY_UNAVAILABLE; + } - money32 resultCost = place_virtual_track(td6, operation, rideIndex, mapSize, mapSize, z); - gParkFlags = backup_park_flags; + money32 resultCost = place_virtual_track(td6, operation, rideIndex, mapSize, mapSize, z); + gParkFlags = backup_park_flags; - if (resultCost != MONEY32_UNDEFINED) { - if (!find_object_in_entry_group(&td6->vehicle_object, &entry_type, &entry_index)){ - *flags |= TRACK_DESIGN_FLAG_VEHICLE_UNAVAILABLE; - } + if (resultCost != MONEY32_UNDEFINED) { + if (!find_object_in_entry_group(&td6->vehicle_object, &entry_type, &entry_index)){ + *flags |= TRACK_DESIGN_FLAG_VEHICLE_UNAVAILABLE; + } - _currentTrackPieceDirection = backup_rotation; - byte_9D8150 = false; - *cost = resultCost; - *rideId = rideIndex; - return true; - } else { - _currentTrackPieceDirection = backup_rotation; - user_string_free(ride->name); - ride->type = RIDE_TYPE_NULL; - byte_9D8150 = false; - return false; - } + _currentTrackPieceDirection = backup_rotation; + byte_9D8150 = false; + *cost = resultCost; + *rideId = rideIndex; + return true; + } else { + _currentTrackPieceDirection = backup_rotation; + user_string_free(ride->name); + ride->type = RIDE_TYPE_NULL; + byte_9D8150 = false; + return false; + } } static money32 place_track_design(sint16 x, sint16 y, sint16 z, uint8 flags, uint8 *outRideIndex) { - *outRideIndex = 255; + *outRideIndex = 255; - gCommandPosition.x = x + 16; - gCommandPosition.y = y + 16; - gCommandPosition.z = z; + gCommandPosition.x = x + 16; + gCommandPosition.y = y + 16; + gCommandPosition.z = z; - if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED)) { - if (game_is_paused() && !gCheatsBuildInPauseMode) { - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - return MONEY32_UNDEFINED; - } - } + if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED)) { + if (game_is_paused() && !gCheatsBuildInPauseMode) { + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + return MONEY32_UNDEFINED; + } + } - rct_track_td6 *td6 = gActiveTrackDesign; - if (td6 == NULL) { - return MONEY32_UNDEFINED; - } - rct_object_entry *rideEntryObject = &td6->vehicle_object; + rct_track_td6 *td6 = gActiveTrackDesign; + if (td6 == NULL) { + return MONEY32_UNDEFINED; + } + rct_object_entry *rideEntryObject = &td6->vehicle_object; - uint8 entryType, entryIndex; - if (!find_object_in_entry_group(rideEntryObject, &entryType, &entryIndex)) { - entryIndex = 0xFF; - } + uint8 entryType, entryIndex; + if (!find_object_in_entry_group(rideEntryObject, &entryType, &entryIndex)) { + entryIndex = 0xFF; + } - uint8 rideIndex; - uint8 rideColour; - money32 createRideResult = ride_create_command(td6->type, entryIndex, GAME_COMMAND_FLAG_APPLY, &rideIndex, &rideColour); - if (createRideResult == MONEY32_UNDEFINED) { - gGameCommandErrorTitle = STR_CANT_CREATE_NEW_RIDE_ATTRACTION; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; - return MONEY32_UNDEFINED; - } + uint8 rideIndex; + uint8 rideColour; + money32 createRideResult = ride_create_command(td6->type, entryIndex, GAME_COMMAND_FLAG_APPLY, &rideIndex, &rideColour); + if (createRideResult == MONEY32_UNDEFINED) { + gGameCommandErrorTitle = STR_CANT_CREATE_NEW_RIDE_ATTRACTION; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; + return MONEY32_UNDEFINED; + } - rct_ride* ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_NULL) { - log_warning("Invalid game command for track placement, ride id = %d", rideIndex); - return MONEY32_UNDEFINED; - } + rct_ride* ride = get_ride(rideIndex); + if (ride->type == RIDE_TYPE_NULL) { + log_warning("Invalid game command for track placement, ride id = %d", rideIndex); + return MONEY32_UNDEFINED; + } - money32 cost = 0; - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - _trackDesignDontPlaceScenery = false; - cost = place_virtual_track(td6, PTD_OPERATION_1, rideIndex, x, y, z); - if (byte_F4414E & BYTE_F4414E_SCENERY_UNAVAILABLE) { - _trackDesignDontPlaceScenery = true; - cost = place_virtual_track(td6, PTD_OPERATION_DONT_PLACE_SCENERY | PTD_OPERATION_1, rideIndex, x, y, z); - } - } else { - uint8 operation; - if (flags & GAME_COMMAND_FLAG_GHOST) { - operation = PTD_OPERATION_4; - } else { - operation = PTD_OPERATION_2; - } + money32 cost = 0; + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + _trackDesignDontPlaceScenery = false; + cost = place_virtual_track(td6, PTD_OPERATION_1, rideIndex, x, y, z); + if (byte_F4414E & BYTE_F4414E_SCENERY_UNAVAILABLE) { + _trackDesignDontPlaceScenery = true; + cost = place_virtual_track(td6, PTD_OPERATION_DONT_PLACE_SCENERY | PTD_OPERATION_1, rideIndex, x, y, z); + } + } else { + uint8 operation; + if (flags & GAME_COMMAND_FLAG_GHOST) { + operation = PTD_OPERATION_4; + } else { + operation = PTD_OPERATION_2; + } - if (_trackDesignDontPlaceScenery) - operation |= PTD_OPERATION_DONT_PLACE_SCENERY; - cost = place_virtual_track(td6, operation, rideIndex, x, y, z); - } + if (_trackDesignDontPlaceScenery) + operation |= PTD_OPERATION_DONT_PLACE_SCENERY; + cost = place_virtual_track(td6, operation, rideIndex, x, y, z); + } - if (cost == MONEY32_UNDEFINED || !(flags & GAME_COMMAND_FLAG_APPLY)) { - rct_string_id error_reason = gGameCommandErrorText; - game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, rideIndex, GAME_COMMAND_DEMOLISH_RIDE, 0, 0); - gGameCommandErrorText = error_reason; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; - *outRideIndex = rideIndex; - return cost; - } + if (cost == MONEY32_UNDEFINED || !(flags & GAME_COMMAND_FLAG_APPLY)) { + rct_string_id error_reason = gGameCommandErrorText; + game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, rideIndex, GAME_COMMAND_DEMOLISH_RIDE, 0, 0); + gGameCommandErrorText = error_reason; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; + *outRideIndex = rideIndex; + return cost; + } - if (entryIndex != 0xFF) { - game_do_command(0, GAME_COMMAND_FLAG_APPLY | (2 << 8), 0, rideIndex | (entryIndex << 8), GAME_COMMAND_SET_RIDE_VEHICLES, 0, 0); - } + if (entryIndex != 0xFF) { + game_do_command(0, GAME_COMMAND_FLAG_APPLY | (2 << 8), 0, rideIndex | (entryIndex << 8), GAME_COMMAND_SET_RIDE_VEHICLES, 0, 0); + } - game_do_command(0, GAME_COMMAND_FLAG_APPLY | (td6->ride_mode << 8), 0, rideIndex | (0 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); - game_do_command(0, GAME_COMMAND_FLAG_APPLY | (0 << 8), 0, rideIndex | (td6->number_of_trains << 8), GAME_COMMAND_SET_RIDE_VEHICLES, 0, 0); - game_do_command(0, GAME_COMMAND_FLAG_APPLY | (1 << 8), 0, rideIndex | (td6->number_of_cars_per_train << 8), GAME_COMMAND_SET_RIDE_VEHICLES, 0, 0); - game_do_command(0, GAME_COMMAND_FLAG_APPLY | (td6->depart_flags << 8), 0, rideIndex | (1 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); - game_do_command(0, GAME_COMMAND_FLAG_APPLY | (td6->min_waiting_time << 8), 0, rideIndex | (2 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); - game_do_command(0, GAME_COMMAND_FLAG_APPLY | (td6->max_waiting_time << 8), 0, rideIndex | (3 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); - game_do_command(0, GAME_COMMAND_FLAG_APPLY | (td6->operation_setting << 8), 0, rideIndex | (4 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); - game_do_command(0, GAME_COMMAND_FLAG_APPLY | ((td6->lift_hill_speed_num_circuits & 0x1F) << 8), 0, rideIndex | (8 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY | (td6->ride_mode << 8), 0, rideIndex | (0 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY | (0 << 8), 0, rideIndex | (td6->number_of_trains << 8), GAME_COMMAND_SET_RIDE_VEHICLES, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY | (1 << 8), 0, rideIndex | (td6->number_of_cars_per_train << 8), GAME_COMMAND_SET_RIDE_VEHICLES, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY | (td6->depart_flags << 8), 0, rideIndex | (1 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY | (td6->min_waiting_time << 8), 0, rideIndex | (2 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY | (td6->max_waiting_time << 8), 0, rideIndex | (3 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY | (td6->operation_setting << 8), 0, rideIndex | (4 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY | ((td6->lift_hill_speed_num_circuits & 0x1F) << 8), 0, rideIndex | (8 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); - uint8 num_circuits = td6->lift_hill_speed_num_circuits >> 5; - if (num_circuits == 0) { - num_circuits = 1; - } - game_do_command(0, GAME_COMMAND_FLAG_APPLY | (num_circuits << 8), 0, rideIndex | (9 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + uint8 num_circuits = td6->lift_hill_speed_num_circuits >> 5; + if (num_circuits == 0) { + num_circuits = 1; + } + game_do_command(0, GAME_COMMAND_FLAG_APPLY | (num_circuits << 8), 0, rideIndex | (9 << 8), GAME_COMMAND_SET_RIDE_SETTING, 0, 0); - ride_set_to_default_inspection_interval(rideIndex); - ride->lifecycle_flags |= RIDE_LIFECYCLE_NOT_CUSTOM_DESIGN; - ride->colour_scheme_type = td6->version_and_colour_scheme & 3; + ride_set_to_default_inspection_interval(rideIndex); + ride->lifecycle_flags |= RIDE_LIFECYCLE_NOT_CUSTOM_DESIGN; + ride->colour_scheme_type = td6->version_and_colour_scheme & 3; - ride->entrance_style = td6->entrance_style; + ride->entrance_style = td6->entrance_style; - for (sint32 i = 0; i < 4; i++) { - ride->track_colour_main[i] = td6->track_spine_colour[i]; - ride->track_colour_additional[i] = td6->track_rail_colour[i]; - ride->track_colour_supports[i] = td6->track_support_colour[i]; - } + for (sint32 i = 0; i < 4; i++) { + ride->track_colour_main[i] = td6->track_spine_colour[i]; + ride->track_colour_additional[i] = td6->track_rail_colour[i]; + ride->track_colour_supports[i] = td6->track_support_colour[i]; + } - for (sint32 i = 0; i < 32; i++) { - ride->vehicle_colours[i].body_colour = td6->vehicle_colours[i].body_colour; - ride->vehicle_colours[i].trim_colour = td6->vehicle_colours[i].trim_colour; - ride->vehicle_colours_extended[i] = td6->vehicle_additional_colour[i]; - } + for (sint32 i = 0; i < 32; i++) { + ride->vehicle_colours[i].body_colour = td6->vehicle_colours[i].body_colour; + ride->vehicle_colours[i].trim_colour = td6->vehicle_colours[i].trim_colour; + ride->vehicle_colours_extended[i] = td6->vehicle_additional_colour[i]; + } - ride_set_name(rideIndex, td6->name); + ride_set_name(rideIndex, td6->name); - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; - *outRideIndex = rideIndex; - return cost; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; + *outRideIndex = rideIndex; + return cost; } static money32 place_maze_design(uint8 flags, uint8 rideIndex, uint16 mazeEntry, sint16 x, sint16 y, sint16 z) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; - gCommandPosition.x = x + 8; - gCommandPosition.y = y + 8; - gCommandPosition.z = z; - if (!map_check_free_elements_and_reorganise(1)) { - return MONEY32_UNDEFINED; - } + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION; + gCommandPosition.x = x + 8; + gCommandPosition.y = y + 8; + gCommandPosition.z = z; + if (!map_check_free_elements_and_reorganise(1)) { + return MONEY32_UNDEFINED; + } - if ((z & 15) != 0) { - return MONEY32_UNDEFINED; - } + if ((z & 15) != 0) { + return MONEY32_UNDEFINED; + } - if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED)) { - if (game_is_paused() && !gCheatsBuildInPauseMode) { - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - return MONEY32_UNDEFINED; - } - } + if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED)) { + if (game_is_paused() && !gCheatsBuildInPauseMode) { + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + return MONEY32_UNDEFINED; + } + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - if (!(flags & GAME_COMMAND_FLAG_GHOST)) { - footpath_remove_litter(x, y, z); - wall_remove_at(floor2(x, 32), floor2(y, 32), z, z + 32); - } - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + if (!(flags & GAME_COMMAND_FLAG_GHOST)) { + footpath_remove_litter(x, y, z); + wall_remove_at(floor2(x, 32), floor2(y, 32), z, z + 32); + } + } - if (!gCheatsSandboxMode) { - if (!map_is_location_owned(floor2(x, 32), floor2(y, 32), z)) { - return MONEY32_UNDEFINED; - } - } + if (!gCheatsSandboxMode) { + if (!map_is_location_owned(floor2(x, 32), floor2(y, 32), z)) { + return MONEY32_UNDEFINED; + } + } - // Check support height - if (!gCheatsDisableSupportLimits) { - rct_map_element *mapElement = map_get_surface_element_at(x >> 5, y >> 5); - uint8 supportZ = (z + 32) >> 3; - if (supportZ > mapElement->base_height) { - uint8 supportHeight = (supportZ - mapElement->base_height) / 2; - uint8 maxSupportHeight = RideData5[RIDE_TYPE_MAZE].max_height; - if (supportHeight > maxSupportHeight) { - gGameCommandErrorText = STR_TOO_HIGH_FOR_SUPPORTS; - return MONEY32_UNDEFINED; - } - } - } + // Check support height + if (!gCheatsDisableSupportLimits) { + rct_map_element *mapElement = map_get_surface_element_at(x >> 5, y >> 5); + uint8 supportZ = (z + 32) >> 3; + if (supportZ > mapElement->base_height) { + uint8 supportHeight = (supportZ - mapElement->base_height) / 2; + uint8 maxSupportHeight = RideData5[RIDE_TYPE_MAZE].max_height; + if (supportHeight > maxSupportHeight) { + gGameCommandErrorText = STR_TOO_HIGH_FOR_SUPPORTS; + return MONEY32_UNDEFINED; + } + } + } - money32 cost = 0; - // Clearance checks - if (!gCheatsDisableClearanceChecks) { - sint32 fx = floor2(x, 32); - sint32 fy = floor2(y, 32); - sint32 fz0 = z >> 3; - sint32 fz1 = fz0 + 4; + money32 cost = 0; + // Clearance checks + if (!gCheatsDisableClearanceChecks) { + sint32 fx = floor2(x, 32); + sint32 fy = floor2(y, 32); + sint32 fz0 = z >> 3; + sint32 fz1 = fz0 + 4; - if (!map_can_construct_with_clear_at(fx, fy, fz0, fz1, &map_place_non_scenery_clear_func, 15, flags, &cost)) { - return MONEY32_UNDEFINED; - } + if (!map_can_construct_with_clear_at(fx, fy, fz0, fz1, &map_place_non_scenery_clear_func, 15, flags, &cost)) { + return MONEY32_UNDEFINED; + } - uint8 elctgaw = gMapGroundFlags; - if (elctgaw & ELEMENT_IS_UNDERWATER) { - gGameCommandErrorText = STR_RIDE_CANT_BUILD_THIS_UNDERWATER; - return MONEY32_UNDEFINED; - } - if (elctgaw & ELEMENT_IS_UNDERGROUND) { - gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND; - return MONEY32_UNDEFINED; - } - } + uint8 elctgaw = gMapGroundFlags; + if (elctgaw & ELEMENT_IS_UNDERWATER) { + gGameCommandErrorText = STR_RIDE_CANT_BUILD_THIS_UNDERWATER; + return MONEY32_UNDEFINED; + } + if (elctgaw & ELEMENT_IS_UNDERGROUND) { + gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND; + return MONEY32_UNDEFINED; + } + } - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - // Calculate price - money32 price = 0; - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { - price = RideTrackCosts[ride->type].track_price * TrackPricing[TRACK_ELEM_MAZE]; - price = (price >> 17) * 10; - } + // Calculate price + money32 price = 0; + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { + price = RideTrackCosts[ride->type].track_price * TrackPricing[TRACK_ELEM_MAZE]; + price = (price >> 17) * 10; + } - cost += price; + cost += price; - if (flags & GAME_COMMAND_FLAG_APPLY) { - if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_GHOST)) { - rct_xyz16 coord; - coord.x = x + 8; - coord.y = y + 8; - coord.z = z; - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_GHOST)) { + rct_xyz16 coord; + coord.x = x + 8; + coord.y = y + 8; + coord.z = z; + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - // Place track element - sint32 fx = floor2(x, 32); - sint32 fy = floor2(y, 32); - sint32 fz = z >> 3; - rct_map_element *mapElement = map_element_insert(fx >> 5, fy >> 5, fz, 15); - mapElement->clearance_height = fz + 4; - mapElement->type = MAP_ELEMENT_TYPE_TRACK; - mapElement->properties.track.type = TRACK_ELEM_MAZE; - mapElement->properties.track.ride_index = rideIndex; - mapElement->properties.track.maze_entry = mazeEntry; - if (flags & GAME_COMMAND_FLAG_GHOST) { - mapElement->flags |= MAP_ELEMENT_FLAG_GHOST; - } + // Place track element + sint32 fx = floor2(x, 32); + sint32 fy = floor2(y, 32); + sint32 fz = z >> 3; + rct_map_element *mapElement = map_element_insert(fx >> 5, fy >> 5, fz, 15); + mapElement->clearance_height = fz + 4; + mapElement->type = MAP_ELEMENT_TYPE_TRACK; + mapElement->properties.track.type = TRACK_ELEM_MAZE; + mapElement->properties.track.ride_index = rideIndex; + mapElement->properties.track.maze_entry = mazeEntry; + if (flags & GAME_COMMAND_FLAG_GHOST) { + mapElement->flags |= MAP_ELEMENT_FLAG_GHOST; + } - map_invalidate_element(fx, fy, mapElement); + map_invalidate_element(fx, fy, mapElement); - ride->maze_tiles++; - ride->station_heights[0] = mapElement->base_height; - ride->station_starts[0] = 0; - if (ride->maze_tiles == 1) { - ride->overall_view = (fx >> 5) | ((fy >> 5) << 8); - } - } + ride->maze_tiles++; + ride->station_heights[0] = mapElement->base_height; + ride->station_starts[0] = 0; + if (ride->maze_tiles == 1) { + ride->overall_view = (fx >> 5) | ((fy >> 5) << 8); + } + } - return cost; + return cost; } /** @@ -1636,13 +1636,13 @@ static money32 place_maze_design(uint8 flags, uint8 rideIndex, uint16 mazeEntry, */ void game_command_place_track_design(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - sint16 x = *eax & 0xFFFF; - sint16 y = *ecx & 0xFFFF; - sint16 z = *edi & 0xFFFF; - uint8 flags = *ebx; - uint8 rideIndex; - *ebx = place_track_design(x, y, z, flags, &rideIndex); - *edi = rideIndex; + sint16 x = *eax & 0xFFFF; + sint16 y = *ecx & 0xFFFF; + sint16 z = *edi & 0xFFFF; + uint8 flags = *ebx; + uint8 rideIndex; + *ebx = place_track_design(x, y, z, flags, &rideIndex); + *edi = rideIndex; } /** @@ -1651,14 +1651,14 @@ void game_command_place_track_design(sint32* eax, sint32* ebx, sint32* ecx, sint */ void game_command_place_maze_design(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - *ebx = place_maze_design( - *ebx & 0xFF, - *edx & 0xFF, - ((*ebx >> 8) & 0xFF) | (((*edx >> 8) & 0xFF) << 8), - *eax & 0xFFFF, - *ecx & 0xFFFF, - *edi & 0xFFFF - ); + *ebx = place_maze_design( + *ebx & 0xFF, + *edx & 0xFF, + ((*ebx >> 8) & 0xFF) | (((*edx >> 8) & 0xFF) << 8), + *eax & 0xFFFF, + *ecx & 0xFFFF, + *edi & 0xFFFF + ); } #pragma region Track Design Preview @@ -1669,95 +1669,95 @@ void game_command_place_maze_design(sint32* eax, sint32* ebx, sint32* ecx, sint3 */ void track_design_draw_preview(rct_track_td6 *td6, uint8 *pixels) { - // Make a copy of the map - map_backup *mapBackup = track_design_preview_backup_map(); - if (mapBackup == NULL) { - return; - } - track_design_preview_clear_map(); + // Make a copy of the map + map_backup *mapBackup = track_design_preview_backup_map(); + if (mapBackup == NULL) { + return; + } + track_design_preview_clear_map(); - if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - track_design_load_scenery_objects(td6); - } + if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { + track_design_load_scenery_objects(td6); + } - money32 cost; - uint8 rideIndex; - uint8 flags; - if (!track_design_place_preview(td6, &cost, &rideIndex, &flags)) { - memset(pixels, 0, TRACK_PREVIEW_IMAGE_SIZE * 4); - track_design_preview_restore_map(mapBackup); - return; - } - td6->cost = cost; - td6->track_flags = flags & 7; + money32 cost; + uint8 rideIndex; + uint8 flags; + if (!track_design_place_preview(td6, &cost, &rideIndex, &flags)) { + memset(pixels, 0, TRACK_PREVIEW_IMAGE_SIZE * 4); + track_design_preview_restore_map(mapBackup); + return; + } + td6->cost = cost; + td6->track_flags = flags & 7; - rct_xyz32 centre; - centre.x = (gTrackPreviewMin.x + gTrackPreviewMax.x) / 2 + 16; - centre.y = (gTrackPreviewMin.y + gTrackPreviewMax.y) / 2 + 16; - centre.z = (gTrackPreviewMin.z + gTrackPreviewMax.z) / 2; + rct_xyz32 centre; + centre.x = (gTrackPreviewMin.x + gTrackPreviewMax.x) / 2 + 16; + centre.y = (gTrackPreviewMin.y + gTrackPreviewMax.y) / 2 + 16; + centre.z = (gTrackPreviewMin.z + gTrackPreviewMax.z) / 2; - sint32 size_x = gTrackPreviewMax.x - gTrackPreviewMin.x; - sint32 size_y = gTrackPreviewMax.y - gTrackPreviewMin.y; - sint32 size_z = gTrackPreviewMax.z - gTrackPreviewMin.z; + sint32 size_x = gTrackPreviewMax.x - gTrackPreviewMin.x; + sint32 size_y = gTrackPreviewMax.y - gTrackPreviewMin.y; + sint32 size_z = gTrackPreviewMax.z - gTrackPreviewMin.z; - sint32 zoom_level = 1; + sint32 zoom_level = 1; - if (size_x < size_y) { - size_x = size_y; - } + if (size_x < size_y) { + size_x = size_y; + } - if (size_x > 1000 || size_z > 280) { - zoom_level = 2; - } + if (size_x > 1000 || size_z > 280) { + zoom_level = 2; + } - if (size_x > 1600 || size_z > 1000) { - zoom_level = 3; - } + if (size_x > 1600 || size_z > 1000) { + zoom_level = 3; + } - size_x = 370 << zoom_level; - size_y = 217 << zoom_level; + size_x = 370 << zoom_level; + size_y = 217 << zoom_level; - rct_viewport view; - view.width = 370; - view.height = 217; - view.view_width = size_x; - view.view_height = size_y; - view.x = 0; - view.y = 0; - view.zoom = zoom_level; - view.flags = VIEWPORT_FLAG_HIDE_BASE | VIEWPORT_FLAG_INVISIBLE_SPRITES; + rct_viewport view; + view.width = 370; + view.height = 217; + view.view_width = size_x; + view.view_height = size_y; + view.x = 0; + view.y = 0; + view.zoom = zoom_level; + view.flags = VIEWPORT_FLAG_HIDE_BASE | VIEWPORT_FLAG_INVISIBLE_SPRITES; - rct_drawpixelinfo dpi; - dpi.zoom_level = zoom_level; - dpi.x = 0; - dpi.y = 0; - dpi.width = 370; - dpi.height = 217; - dpi.pitch = 0; - dpi.bits = pixels; + rct_drawpixelinfo dpi; + dpi.zoom_level = zoom_level; + dpi.x = 0; + dpi.y = 0; + dpi.width = 370; + dpi.height = 217; + dpi.pitch = 0; + dpi.bits = pixels; - rct_xy32 offset = { size_x / 2, size_y / 2 }; - for (sint32 i = 0; i < 4; i++) { - gCurrentRotation = i; + rct_xy32 offset = { size_x / 2, size_y / 2 }; + for (sint32 i = 0; i < 4; i++) { + gCurrentRotation = i; - rct_xy32 pos2d = translate_3d_to_2d_with_z(i, centre); - pos2d.x -= offset.x; - pos2d.y -= offset.y; + rct_xy32 pos2d = translate_3d_to_2d_with_z(i, centre); + pos2d.x -= offset.x; + pos2d.y -= offset.y; - sint32 left = pos2d.x; - sint32 top = pos2d.y; - sint32 right = left + size_x; - sint32 bottom = top + size_y; + sint32 left = pos2d.x; + sint32 top = pos2d.y; + sint32 right = left + size_x; + sint32 bottom = top + size_y; - view.view_x = left; - view.view_y = top; - viewport_paint(&view, &dpi, left, top, right, bottom); + view.view_x = left; + view.view_y = top; + viewport_paint(&view, &dpi, left, top, right, bottom); - dpi.bits += TRACK_PREVIEW_IMAGE_SIZE; - } + dpi.bits += TRACK_PREVIEW_IMAGE_SIZE; + } - ride_delete(rideIndex); - track_design_preview_restore_map(mapBackup); + ride_delete(rideIndex); + track_design_preview_restore_map(mapBackup); } /** @@ -1767,25 +1767,25 @@ void track_design_draw_preview(rct_track_td6 *td6, uint8 *pixels) */ static map_backup *track_design_preview_backup_map() { - map_backup *backup = malloc(sizeof(map_backup)); - if (backup != NULL) { - memcpy( - backup->map_elements, - gMapElements, - sizeof(backup->map_elements) - ); - memcpy( - backup->tile_pointers, - gMapElementTilePointers, - sizeof(backup->tile_pointers) - ); - backup->next_free_map_element = gNextFreeMapElement; - backup->map_size_units = gMapSizeUnits; - backup->map_size_units_minus_2 = gMapSizeMinus2; - backup->map_size = gMapSize; - backup->current_rotation = get_current_rotation(); - } - return backup; + map_backup *backup = malloc(sizeof(map_backup)); + if (backup != NULL) { + memcpy( + backup->map_elements, + gMapElements, + sizeof(backup->map_elements) + ); + memcpy( + backup->tile_pointers, + gMapElementTilePointers, + sizeof(backup->tile_pointers) + ); + backup->next_free_map_element = gNextFreeMapElement; + backup->map_size_units = gMapSizeUnits; + backup->map_size_units_minus_2 = gMapSizeMinus2; + backup->map_size = gMapSize; + backup->current_rotation = get_current_rotation(); + } + return backup; } /** @@ -1794,23 +1794,23 @@ static map_backup *track_design_preview_backup_map() */ static void track_design_preview_restore_map(map_backup *backup) { - memcpy( - gMapElements, - backup->map_elements, - sizeof(backup->map_elements) - ); - memcpy( - gMapElementTilePointers, - backup->tile_pointers, - sizeof(backup->tile_pointers) - ); - gNextFreeMapElement = backup->next_free_map_element; - gMapSizeUnits = backup->map_size_units; - gMapSizeMinus2 = backup->map_size_units_minus_2; - gMapSize = backup->map_size; - gCurrentRotation = backup->current_rotation; + memcpy( + gMapElements, + backup->map_elements, + sizeof(backup->map_elements) + ); + memcpy( + gMapElementTilePointers, + backup->tile_pointers, + sizeof(backup->tile_pointers) + ); + gNextFreeMapElement = backup->next_free_map_element; + gMapSizeUnits = backup->map_size_units; + gMapSizeMinus2 = backup->map_size_units_minus_2; + gMapSize = backup->map_size; + gCurrentRotation = backup->current_rotation; - free(backup); + free(backup); } /** @@ -1819,24 +1819,24 @@ static void track_design_preview_restore_map(map_backup *backup) */ static void track_design_preview_clear_map() { - // These values were previously allocated in backup map but - // it seems more fitting to place in this function - gMapSizeUnits = 255 * 32; - gMapSizeMinus2 = (264 * 32) - 2; - gMapSize = 256; + // These values were previously allocated in backup map but + // it seems more fitting to place in this function + gMapSizeUnits = 255 * 32; + gMapSizeMinus2 = (264 * 32) - 2; + gMapSize = 256; - for (sint32 i = 0; i < MAX_TILE_MAP_ELEMENT_POINTERS; i++) { - rct_map_element* map_element = &gMapElements[i]; - map_element->type = MAP_ELEMENT_TYPE_SURFACE; - map_element->flags = MAP_ELEMENT_FLAG_LAST_TILE; - map_element->base_height = 2; - map_element->clearance_height = 0; - map_element->properties.surface.slope = 0; - map_element->properties.surface.terrain = 0; - map_element->properties.surface.grass_length = GRASS_LENGTH_CLEAR_0; - map_element->properties.surface.ownership = OWNERSHIP_OWNED; - } - map_update_tile_pointers(); + for (sint32 i = 0; i < MAX_TILE_MAP_ELEMENT_POINTERS; i++) { + rct_map_element* map_element = &gMapElements[i]; + map_element->type = MAP_ELEMENT_TYPE_SURFACE; + map_element->flags = MAP_ELEMENT_FLAG_LAST_TILE; + map_element->base_height = 2; + map_element->clearance_height = 0; + map_element->properties.surface.slope = 0; + map_element->properties.surface.terrain = 0; + map_element->properties.surface.grass_length = GRASS_LENGTH_CLEAR_0; + map_element->properties.surface.ownership = OWNERSHIP_OWNED; + } + map_update_tile_pointers(); } #pragma endregion diff --git a/src/openrct2/ride/track_design.h b/src/openrct2/ride/track_design.h index a9cb3cb73a..4c70eadfbf 100644 --- a/src/openrct2/ride/track_design.h +++ b/src/openrct2/ride/track_design.h @@ -27,48 +27,48 @@ #pragma pack(push, 1) /* Maze Element entry size: 0x04 */ typedef struct rct_td6_maze_element { - union { - uint32 all; - struct { - sint8 x; - sint8 y; - union { - uint16 maze_entry; - struct{ - uint8 unk_2; - uint8 type; - }; - }; - }; - }; + union { + uint32 all; + struct { + sint8 x; + sint8 y; + union { + uint16 maze_entry; + struct{ + uint8 unk_2; + uint8 type; + }; + }; + }; + }; } rct_td6_maze_element; assert_struct_size(rct_td6_maze_element, 0x04); /* Track Element entry size: 0x02 */ typedef struct rct_td6_track_element { - uint8 type; // 0x00 - uint8 flags; // 0x01 + uint8 type; // 0x00 + uint8 flags; // 0x01 } rct_td6_track_element; assert_struct_size(rct_td6_track_element, 0x02); /* Track Entrance entry size: 0x06 */ typedef struct rct_td6_entrance_element { - sint8 z; // 0x00 - uint8 direction; // 0x01 - sint16 x; // 0x02 - sint16 y; // 0x04 + sint8 z; // 0x00 + uint8 direction; // 0x01 + sint16 x; // 0x02 + sint16 y; // 0x04 } rct_td6_entrance_element; assert_struct_size(rct_td6_entrance_element, 0x06); /* Track Scenery entry size: 0x16 */ typedef struct rct_td6_scenery_element { - rct_object_entry scenery_object; // 0x00 - sint8 x; // 0x10 - sint8 y; // 0x11 - sint8 z; // 0x12 - uint8 flags; // 0x13 direction quadrant tertiary colour - uint8 primary_colour; // 0x14 - uint8 secondary_colour; // 0x15 + rct_object_entry scenery_object; // 0x00 + sint8 x; // 0x10 + sint8 y; // 0x11 + sint8 z; // 0x12 + uint8 flags; // 0x13 direction quadrant tertiary colour + uint8 primary_colour; // 0x14 + uint8 secondary_colour; // 0x15 } rct_td6_scenery_element; assert_struct_size(rct_td6_scenery_element, 0x16); @@ -77,74 +77,74 @@ assert_struct_size(rct_td6_scenery_element, 0x16); * size: 0x4E72B */ typedef struct rct_track_td6 { - uint8 type; // 0x00 - uint8 vehicle_type; - union{ - // After loading the track this is converted to - // a cost but before its a flags register - money32 cost; // 0x02 - uint32 flags; // 0x02 - }; - union{ - // After loading the track this is converted to - // a flags register - uint8 ride_mode; // 0x06 - uint8 track_flags; // 0x06 - }; - uint8 version_and_colour_scheme; // 0x07 0b0000_VVCC - rct_vehicle_colour vehicle_colours[32]; // 0x08 - union{ - uint8 pad_48; - uint8 track_spine_colour_rct1; // 0x48 - }; - union{ - uint8 entrance_style; // 0x49 - uint8 track_rail_colour_rct1; // 0x49 - }; - union{ - uint8 total_air_time; // 0x4A - uint8 track_support_colour_rct1; // 0x4A - }; - uint8 depart_flags; // 0x4B - uint8 number_of_trains; // 0x4C - uint8 number_of_cars_per_train; // 0x4D - uint8 min_waiting_time; // 0x4E - uint8 max_waiting_time; // 0x4F - uint8 operation_setting; - sint8 max_speed; // 0x51 - sint8 average_speed; // 0x52 - uint16 ride_length; // 0x53 - uint8 max_positive_vertical_g; // 0x55 - sint8 max_negative_vertical_g; // 0x56 - uint8 max_lateral_g; // 0x57 - union { - uint8 inversions; // 0x58 - uint8 holes; // 0x58 - }; - uint8 drops; // 0x59 - uint8 highest_drop_height; // 0x5A - uint8 excitement; // 0x5B - uint8 intensity; // 0x5C - uint8 nausea; // 0x5D - money16 upkeep_cost; // 0x5E - uint8 track_spine_colour[4]; // 0x60 - uint8 track_rail_colour[4]; // 0x64 - uint8 track_support_colour[4]; // 0x68 - uint32 flags2; // 0x6C - rct_object_entry vehicle_object; // 0x70 - uint8 space_required_x; // 0x80 - uint8 space_required_y; // 0x81 - uint8 vehicle_additional_colour[32]; // 0x82 - uint8 lift_hill_speed_num_circuits; // 0xA2 0bCCCL_LLLL - void *elements; // 0xA3 (data starts here in file) - size_t elementsSize; + uint8 type; // 0x00 + uint8 vehicle_type; + union{ + // After loading the track this is converted to + // a cost but before its a flags register + money32 cost; // 0x02 + uint32 flags; // 0x02 + }; + union{ + // After loading the track this is converted to + // a flags register + uint8 ride_mode; // 0x06 + uint8 track_flags; // 0x06 + }; + uint8 version_and_colour_scheme; // 0x07 0b0000_VVCC + rct_vehicle_colour vehicle_colours[32]; // 0x08 + union{ + uint8 pad_48; + uint8 track_spine_colour_rct1; // 0x48 + }; + union{ + uint8 entrance_style; // 0x49 + uint8 track_rail_colour_rct1; // 0x49 + }; + union{ + uint8 total_air_time; // 0x4A + uint8 track_support_colour_rct1; // 0x4A + }; + uint8 depart_flags; // 0x4B + uint8 number_of_trains; // 0x4C + uint8 number_of_cars_per_train; // 0x4D + uint8 min_waiting_time; // 0x4E + uint8 max_waiting_time; // 0x4F + uint8 operation_setting; + sint8 max_speed; // 0x51 + sint8 average_speed; // 0x52 + uint16 ride_length; // 0x53 + uint8 max_positive_vertical_g; // 0x55 + sint8 max_negative_vertical_g; // 0x56 + uint8 max_lateral_g; // 0x57 + union { + uint8 inversions; // 0x58 + uint8 holes; // 0x58 + }; + uint8 drops; // 0x59 + uint8 highest_drop_height; // 0x5A + uint8 excitement; // 0x5B + uint8 intensity; // 0x5C + uint8 nausea; // 0x5D + money16 upkeep_cost; // 0x5E + uint8 track_spine_colour[4]; // 0x60 + uint8 track_rail_colour[4]; // 0x64 + uint8 track_support_colour[4]; // 0x68 + uint32 flags2; // 0x6C + rct_object_entry vehicle_object; // 0x70 + uint8 space_required_x; // 0x80 + uint8 space_required_y; // 0x81 + uint8 vehicle_additional_colour[32]; // 0x82 + uint8 lift_hill_speed_num_circuits; // 0xA2 0bCCCL_LLLL + void *elements; // 0xA3 (data starts here in file) + size_t elementsSize; - rct_td6_maze_element *maze_elements; - rct_td6_track_element *track_elements; - rct_td6_entrance_element *entrance_elements; - rct_td6_scenery_element *scenery_elements; + rct_td6_maze_element *maze_elements; + rct_td6_track_element *track_elements; + rct_td6_entrance_element *entrance_elements; + rct_td6_scenery_element *scenery_elements; - utf8 *name; + utf8 *name; } rct_track_td6; //Warning: improper struct size in comment #ifdef PLATFORM_32BIT @@ -154,47 +154,47 @@ assert_struct_size(rct_track_td6, 0xbf); // Only written to in RCT2, not used in OpenRCT2. All of these are elements that had to be invented in RCT1. enum { - TRACK_FLAGS_CONTAINS_VERTICAL_LOOP = (1 << 7), - TRACK_FLAGS_CONTAINS_INLINE_TWIST = (1 << 17), - TRACK_FLAGS_CONTAINS_HALF_LOOP = (1 << 18), - TRACK_FLAGS_CONTAINS_CORKSCREW = (1 << 19), - TRACK_FLAGS_CONTAINS_WATER_SPLASH = (1 << 27), - TRACK_FLAGS_CONTAINS_BARREL_ROLL = (1 << 29), - TRACK_FLAGS_CONTAINS_POWERED_LIFT = (1 << 30), - TRACK_FLAGS_CONTAINS_LARGE_HALF_LOOP = (1u << 31), + TRACK_FLAGS_CONTAINS_VERTICAL_LOOP = (1 << 7), + TRACK_FLAGS_CONTAINS_INLINE_TWIST = (1 << 17), + TRACK_FLAGS_CONTAINS_HALF_LOOP = (1 << 18), + TRACK_FLAGS_CONTAINS_CORKSCREW = (1 << 19), + TRACK_FLAGS_CONTAINS_WATER_SPLASH = (1 << 27), + TRACK_FLAGS_CONTAINS_BARREL_ROLL = (1 << 29), + TRACK_FLAGS_CONTAINS_POWERED_LIFT = (1 << 30), + TRACK_FLAGS_CONTAINS_LARGE_HALF_LOOP = (1u << 31), }; enum { - TRACK_FLAGS2_CONTAINS_LOG_FLUME_REVERSER = (1 << 1), - TRACK_FLAGS2_SIX_FLAGS_RIDE_DEPRECATED = (1u << 31) // Not used anymore. + TRACK_FLAGS2_CONTAINS_LOG_FLUME_REVERSER = (1 << 1), + TRACK_FLAGS2_SIX_FLAGS_RIDE_DEPRECATED = (1u << 31) // Not used anymore. }; enum { - TDPF_PLACE_SCENERY = 1 << 0, + TDPF_PLACE_SCENERY = 1 << 0, }; enum { - TRACK_DESIGN_FLAG_SCENERY_UNAVAILABLE = (1 << 0), - TRACK_DESIGN_FLAG_HAS_SCENERY = (1 << 1), - TRACK_DESIGN_FLAG_VEHICLE_UNAVAILABLE = (1 << 2), + TRACK_DESIGN_FLAG_SCENERY_UNAVAILABLE = (1 << 0), + TRACK_DESIGN_FLAG_HAS_SCENERY = (1 << 1), + TRACK_DESIGN_FLAG_VEHICLE_UNAVAILABLE = (1 << 2), }; enum { - BYTE_F4414E_ENTRANCE_EXIT_PLACED = (1 << 0), - BYTE_F4414E_SCENERY_UNAVAILABLE = (1 << 1), - BYTE_F4414E_HAS_SCENERY = (1 << 2), - BYTE_F4414E_DONT_PLACE_SCENERY = (1 << 7) + BYTE_F4414E_ENTRANCE_EXIT_PLACED = (1 << 0), + BYTE_F4414E_SCENERY_UNAVAILABLE = (1 << 1), + BYTE_F4414E_HAS_SCENERY = (1 << 2), + BYTE_F4414E_DONT_PLACE_SCENERY = (1 << 7) }; enum { - PTD_OPERATION_DRAW_OUTLINES, - PTD_OPERATION_1, - PTD_OPERATION_2, - PTD_OPERATION_GET_PLACE_Z, - PTD_OPERATION_4, - PTD_OPERATION_GET_COST, - PTD_OPERATION_CLEAR_OUTLINES, - PTD_OPERATION_DONT_PLACE_SCENERY = (1 << 7) + PTD_OPERATION_DRAW_OUTLINES, + PTD_OPERATION_1, + PTD_OPERATION_2, + PTD_OPERATION_GET_PLACE_Z, + PTD_OPERATION_4, + PTD_OPERATION_GET_COST, + PTD_OPERATION_CLEAR_OUTLINES, + PTD_OPERATION_DONT_PLACE_SCENERY = (1 << 7) }; extern rct_track_td6 *gActiveTrackDesign; diff --git a/src/openrct2/ride/track_design_save.c b/src/openrct2/ride/track_design_save.c index d5afe05c3a..6c9ff939c2 100644 --- a/src/openrct2/ride/track_design_save.c +++ b/src/openrct2/ride/track_design_save.c @@ -38,9 +38,9 @@ uint8 gTrackDesignSaveRideIndex = 255; static size_t _trackSavedMapElementsCount; #ifdef NO_RCT2 - static rct_map_element *_trackSavedMapElements[TRACK_MAX_SAVED_MAP_ELEMENTS]; + static rct_map_element *_trackSavedMapElements[TRACK_MAX_SAVED_MAP_ELEMENTS]; #else - static rct_map_element **_trackSavedMapElements = (rct_map_element**)0x00F63674; + static rct_map_element **_trackSavedMapElements = (rct_map_element**)0x00F63674; #endif static size_t _trackSavedMapElementsDescCount; @@ -60,16 +60,16 @@ static bool track_design_save_to_td6_for_tracked_ride(uint8 rideIndex, rct_track void track_design_save_init() { - _trackSavedMapElementsCount = 0; + _trackSavedMapElementsCount = 0; #ifdef NO_RCT2 - memset(_trackSavedMapElements, 0, sizeof(_trackSavedMapElements)); + memset(_trackSavedMapElements, 0, sizeof(_trackSavedMapElements)); #else - memset(_trackSavedMapElements, 0, sizeof(rct_map_element*) * TRACK_MAX_SAVED_MAP_ELEMENTS); - _trackSavedMapElements[0] = (rct_map_element*)-1; + memset(_trackSavedMapElements, 0, sizeof(rct_map_element*) * TRACK_MAX_SAVED_MAP_ELEMENTS); + _trackSavedMapElements[0] = (rct_map_element*)-1; #endif - _trackSavedMapElementsDescCount = 0; - memset(_trackSavedMapElementsDesc, 0xFF, sizeof(_trackSavedMapElementsDesc)); + _trackSavedMapElementsDescCount = 0; + memset(_trackSavedMapElementsDesc, 0xFF, sizeof(_trackSavedMapElementsDesc)); } /** @@ -78,20 +78,20 @@ void track_design_save_init() */ void track_design_save_select_map_element(sint32 interactionType, sint32 x, sint32 y, rct_map_element *mapElement, bool collect) { - if (track_design_save_contains_map_element(mapElement)) { - if (!collect) { - track_design_save_remove_map_element(interactionType, x, y, mapElement); - } - } else { - if (collect) { - if (!track_design_save_add_map_element(interactionType, x, y, mapElement)) { - window_error_open( - STR_SAVE_TRACK_SCENERY_UNABLE_TO_SELECT_ADDITIONAL_ITEM_OF_SCENERY, - STR_SAVE_TRACK_SCENERY_TOO_MANY_ITEMS_SELECTED - ); - } - } - } + if (track_design_save_contains_map_element(mapElement)) { + if (!collect) { + track_design_save_remove_map_element(interactionType, x, y, mapElement); + } + } else { + if (collect) { + if (!track_design_save_add_map_element(interactionType, x, y, mapElement)) { + window_error_open( + STR_SAVE_TRACK_SCENERY_UNABLE_TO_SELECT_ADDITIONAL_ITEM_OF_SCENERY, + STR_SAVE_TRACK_SCENERY_TOO_MANY_ITEMS_SELECTED + ); + } + } + } } /** @@ -100,20 +100,20 @@ void track_design_save_select_map_element(sint32 interactionType, sint32 x, sint */ void track_design_save_select_nearby_scenery(sint32 rideIndex) { - rct_map_element *mapElement; + rct_map_element *mapElement; - for (sint32 y = 0; y < 256; y++) { - for (sint32 x = 0; x < 256; x++) { - mapElement = map_get_first_element_at(x, y); - do { - if (track_design_save_should_select_scenery_around(rideIndex, mapElement)) { - track_design_save_select_nearby_scenery_for_tile(rideIndex, x, y); - break; - } - } while (!map_element_is_last_for_tile(mapElement++)); - } - } - gfx_invalidate_screen(); + for (sint32 y = 0; y < 256; y++) { + for (sint32 x = 0; x < 256; x++) { + mapElement = map_get_first_element_at(x, y); + do { + if (track_design_save_should_select_scenery_around(rideIndex, mapElement)) { + track_design_save_select_nearby_scenery_for_tile(rideIndex, x, y); + break; + } + } while (!map_element_is_last_for_tile(mapElement++)); + } + } + gfx_invalidate_screen(); } /** @@ -122,21 +122,21 @@ void track_design_save_select_nearby_scenery(sint32 rideIndex) */ void track_design_save_reset_scenery() { - track_design_save_init(); - gfx_invalidate_screen(); + track_design_save_init(); + gfx_invalidate_screen(); } static void track_design_save_callback(sint32 result, const utf8 * path) { - free(_trackDesign->track_elements); - free(_trackDesign->entrance_elements); - free(_trackDesign->scenery_elements); - free(_trackDesign); + free(_trackDesign->track_elements); + free(_trackDesign->entrance_elements); + free(_trackDesign->scenery_elements); + free(_trackDesign); - if (result == MODAL_RESULT_OK) { - track_repository_scan(); - } - gfx_invalidate_screen(); + if (result == MODAL_RESULT_OK) { + track_repository_scan(); + } + gfx_invalidate_screen(); } /** @@ -145,82 +145,82 @@ static void track_design_save_callback(sint32 result, const utf8 * path) */ bool track_design_save(uint8 rideIndex) { - rct_ride* ride = get_ride(rideIndex); + rct_ride* ride = get_ride(rideIndex); - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)){ - window_error_open(STR_CANT_SAVE_TRACK_DESIGN, gGameCommandErrorText); - return false; - } + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)){ + window_error_open(STR_CANT_SAVE_TRACK_DESIGN, gGameCommandErrorText); + return false; + } - if (!ride_has_ratings(ride)) { - window_error_open(STR_CANT_SAVE_TRACK_DESIGN, gGameCommandErrorText); - return false; - } + if (!ride_has_ratings(ride)) { + window_error_open(STR_CANT_SAVE_TRACK_DESIGN, gGameCommandErrorText); + return false; + } - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK)) { - window_error_open(STR_CANT_SAVE_TRACK_DESIGN, gGameCommandErrorText); - return false; - } + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK)) { + window_error_open(STR_CANT_SAVE_TRACK_DESIGN, gGameCommandErrorText); + return false; + } - _trackDesign = track_design_save_to_td6(rideIndex); - if (_trackDesign == NULL) { - window_error_open(STR_CANT_SAVE_TRACK_DESIGN, gGameCommandErrorText); - return false; - } + _trackDesign = track_design_save_to_td6(rideIndex); + if (_trackDesign == NULL) { + window_error_open(STR_CANT_SAVE_TRACK_DESIGN, gGameCommandErrorText); + return false; + } - if (gTrackDesignSaveMode) { - if (!track_design_save_copy_scenery_to_td6(_trackDesign)) { - free(_trackDesign->track_elements); - free(_trackDesign->entrance_elements); - free(_trackDesign); - return false; - } - } + if (gTrackDesignSaveMode) { + if (!track_design_save_copy_scenery_to_td6(_trackDesign)) { + free(_trackDesign->track_elements); + free(_trackDesign->entrance_elements); + free(_trackDesign); + return false; + } + } - utf8 track_name[MAX_PATH]; - format_string(track_name, MAX_PATH, ride->name, &ride->name_arguments); + utf8 track_name[MAX_PATH]; + format_string(track_name, MAX_PATH, ride->name, &ride->name_arguments); - window_loadsave_open(LOADSAVETYPE_TRACK | LOADSAVETYPE_SAVE, track_name); - window_loadsave_set_loadsave_callback(track_design_save_callback); + window_loadsave_open(LOADSAVETYPE_TRACK | LOADSAVETYPE_SAVE, track_name); + window_loadsave_set_loadsave_callback(track_design_save_callback); - return true; + return true; } bool track_design_save_contains_map_element(rct_map_element *mapElement) { - for (size_t i = 0; i < _trackSavedMapElementsCount; i++) { - if (_trackSavedMapElements[i] == mapElement) { - return true; - } - } - return false; + for (size_t i = 0; i < _trackSavedMapElementsCount; i++) { + if (_trackSavedMapElements[i] == mapElement) { + return true; + } + } + return false; } static sint32 map_element_get_total_element_count(rct_map_element *mapElement) { - sint32 elementCount; - rct_scenery_entry *sceneryEntry; - rct_large_scenery_tile *tile; + sint32 elementCount; + rct_scenery_entry *sceneryEntry; + rct_large_scenery_tile *tile; - switch (map_element_get_type(mapElement)) { - case MAP_ELEMENT_TYPE_PATH: - case MAP_ELEMENT_TYPE_SCENERY: - case MAP_ELEMENT_TYPE_WALL: - return 1; + switch (map_element_get_type(mapElement)) { + case MAP_ELEMENT_TYPE_PATH: + case MAP_ELEMENT_TYPE_SCENERY: + case MAP_ELEMENT_TYPE_WALL: + return 1; - case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - sceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); - tile = sceneryEntry->large_scenery.tiles; - elementCount = 0; - do { - tile++; - elementCount++; - } while (tile->x_offset != (sint16)(uint16)0xFFFF); - return elementCount; + case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: + sceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); + tile = sceneryEntry->large_scenery.tiles; + elementCount = 0; + do { + tile++; + elementCount++; + } while (tile->x_offset != (sint16)(uint16)0xFFFF); + return elementCount; - default: - return 0; - } + default: + return 0; + } } /** @@ -229,19 +229,19 @@ static sint32 map_element_get_total_element_count(rct_map_element *mapElement) */ static bool track_design_save_can_add_map_element(rct_map_element *mapElement) { - size_t newElementCount = map_element_get_total_element_count(mapElement); - if (newElementCount == 0) { - return false; - } + size_t newElementCount = map_element_get_total_element_count(mapElement); + if (newElementCount == 0) { + return false; + } - // Get number of spare elements left - size_t spareSavedElements = TRACK_MAX_SAVED_MAP_ELEMENTS - _trackSavedMapElementsCount; - if (newElementCount > spareSavedElements) { - // No more spare saved elements left - return false; - } + // Get number of spare elements left + size_t spareSavedElements = TRACK_MAX_SAVED_MAP_ELEMENTS - _trackSavedMapElementsCount; + if (newElementCount > spareSavedElements) { + // No more spare saved elements left + return false; + } - return true; + return true; } /** @@ -250,15 +250,15 @@ static bool track_design_save_can_add_map_element(rct_map_element *mapElement) */ static void track_design_save_push_map_element(sint32 x, sint32 y, rct_map_element *mapElement) { - if (_trackSavedMapElementsCount < TRACK_MAX_SAVED_MAP_ELEMENTS) { - _trackSavedMapElements[_trackSavedMapElementsCount++] = mapElement; - map_invalidate_tile_full(x, y); + if (_trackSavedMapElementsCount < TRACK_MAX_SAVED_MAP_ELEMENTS) { + _trackSavedMapElements[_trackSavedMapElementsCount++] = mapElement; + map_invalidate_tile_full(x, y); #ifndef NO_RCT2 - // Required as drawing still uses 0xFFFFFFFF as a list terminator - _trackSavedMapElements[_trackSavedMapElementsCount] = (rct_map_element*)-1; + // Required as drawing still uses 0xFFFFFFFF as a list terminator + _trackSavedMapElements[_trackSavedMapElementsCount] = (rct_map_element*)-1; #endif - } + } } /** @@ -267,103 +267,103 @@ static void track_design_save_push_map_element(sint32 x, sint32 y, rct_map_eleme */ static void track_design_save_push_map_element_desc(rct_object_entry *entry, sint32 x, sint32 y, sint32 z, uint8 flags, uint8 primaryColour, uint8 secondaryColour) { - rct_td6_scenery_element *item = &_trackSavedMapElementsDesc[_trackSavedMapElementsDescCount++]; - item->scenery_object = *entry; - item->x = x / 32; - item->y = y / 32; - item->z = z; - item->flags = flags; - item->primary_colour = primaryColour; - item->secondary_colour = secondaryColour; + rct_td6_scenery_element *item = &_trackSavedMapElementsDesc[_trackSavedMapElementsDescCount++]; + item->scenery_object = *entry; + item->x = x / 32; + item->y = y / 32; + item->z = z; + item->flags = flags; + item->primary_colour = primaryColour; + item->secondary_colour = secondaryColour; } static void track_design_save_add_scenery(sint32 x, sint32 y, rct_map_element *mapElement) { - sint32 entryType = mapElement->properties.scenery.type; - rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_SMALL_SCENERY].entries[entryType]; + sint32 entryType = mapElement->properties.scenery.type; + rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_SMALL_SCENERY].entries[entryType]; - uint8 flags = 0; - flags |= mapElement->type & 3; - flags |= (mapElement->type & 0xC0) >> 4; + uint8 flags = 0; + flags |= mapElement->type & 3; + flags |= (mapElement->type & 0xC0) >> 4; - uint8 primaryColour = mapElement->properties.scenery.colour_1 & 0x1F; - uint8 secondaryColour = mapElement->properties.scenery.colour_2 & 0x1F; + uint8 primaryColour = mapElement->properties.scenery.colour_1 & 0x1F; + uint8 secondaryColour = mapElement->properties.scenery.colour_2 & 0x1F; - track_design_save_push_map_element(x, y, mapElement); - track_design_save_push_map_element_desc(entry, x, y, mapElement->base_height, flags, primaryColour, secondaryColour); + track_design_save_push_map_element(x, y, mapElement); + track_design_save_push_map_element_desc(entry, x, y, mapElement->base_height, flags, primaryColour, secondaryColour); } static void track_design_save_add_large_scenery(sint32 x, sint32 y, rct_map_element *mapElement) { - rct_large_scenery_tile *sceneryTiles, *tile; - sint32 x0, y0, z0, z; - sint32 direction, sequence; + rct_large_scenery_tile *sceneryTiles, *tile; + sint32 x0, y0, z0, z; + sint32 direction, sequence; - sint32 entryType = mapElement->properties.scenerymultiple.type & 0x3FF; - rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_LARGE_SCENERY].entries[entryType]; - sceneryTiles = get_large_scenery_entry(entryType)->large_scenery.tiles; + sint32 entryType = mapElement->properties.scenerymultiple.type & 0x3FF; + rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_LARGE_SCENERY].entries[entryType]; + sceneryTiles = get_large_scenery_entry(entryType)->large_scenery.tiles; - z = mapElement->base_height; - direction = mapElement->type & 3; - sequence = mapElement->properties.scenerymultiple.type >> 10; + z = mapElement->base_height; + direction = mapElement->type & 3; + sequence = mapElement->properties.scenerymultiple.type >> 10; - if (!map_large_scenery_get_origin(x, y, z, direction, sequence, &x0, &y0, &z0, NULL)) { - return; - } + if (!map_large_scenery_get_origin(x, y, z, direction, sequence, &x0, &y0, &z0, NULL)) { + return; + } - // Iterate through each tile of the large scenery element - sequence = 0; - for (tile = sceneryTiles; tile->x_offset != -1; tile++, sequence++) { - sint16 offsetX = tile->x_offset; - sint16 offsetY = tile->y_offset; - rotate_map_coordinates(&offsetX, &offsetY, direction); + // Iterate through each tile of the large scenery element + sequence = 0; + for (tile = sceneryTiles; tile->x_offset != -1; tile++, sequence++) { + sint16 offsetX = tile->x_offset; + sint16 offsetY = tile->y_offset; + rotate_map_coordinates(&offsetX, &offsetY, direction); - x = x0 + offsetX; - y = y0 + offsetY; - z = (z0 + tile->z_offset) / 8; - mapElement = map_get_large_scenery_segment(x, y, z, direction, sequence); - if (mapElement != NULL) { - if (sequence == 0) { - uint8 flags = mapElement->type & 3; - uint8 primaryColour = mapElement->properties.scenerymultiple.colour[0] & 0x1F; - uint8 secondaryColour = mapElement->properties.scenerymultiple.colour[1] & 0x1F; + x = x0 + offsetX; + y = y0 + offsetY; + z = (z0 + tile->z_offset) / 8; + mapElement = map_get_large_scenery_segment(x, y, z, direction, sequence); + if (mapElement != NULL) { + if (sequence == 0) { + uint8 flags = mapElement->type & 3; + uint8 primaryColour = mapElement->properties.scenerymultiple.colour[0] & 0x1F; + uint8 secondaryColour = mapElement->properties.scenerymultiple.colour[1] & 0x1F; - track_design_save_push_map_element_desc(entry, x, y, z, flags, primaryColour, secondaryColour); - } - track_design_save_push_map_element(x, y, mapElement); - } - } + track_design_save_push_map_element_desc(entry, x, y, z, flags, primaryColour, secondaryColour); + } + track_design_save_push_map_element(x, y, mapElement); + } + } } static void track_design_save_add_wall(sint32 x, sint32 y, rct_map_element *mapElement) { - sint32 entryType = mapElement->properties.wall.type; - rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_WALLS].entries[entryType]; + sint32 entryType = mapElement->properties.wall.type; + rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_WALLS].entries[entryType]; - uint8 flags = 0; - flags |= mapElement->type & 3; - flags |= mapElement->properties.wall.colour_3 << 2; + uint8 flags = 0; + flags |= mapElement->type & 3; + flags |= mapElement->properties.wall.colour_3 << 2; - uint8 secondaryColour = wall_element_get_secondary_colour(mapElement); - uint8 primaryColour = mapElement->properties.wall.colour_1 & 0x1F; + uint8 secondaryColour = wall_element_get_secondary_colour(mapElement); + uint8 primaryColour = mapElement->properties.wall.colour_1 & 0x1F; - track_design_save_push_map_element(x, y, mapElement); - track_design_save_push_map_element_desc(entry, x, y, mapElement->base_height, flags, primaryColour, secondaryColour); + track_design_save_push_map_element(x, y, mapElement); + track_design_save_push_map_element_desc(entry, x, y, mapElement->base_height, flags, primaryColour, secondaryColour); } static void track_design_save_add_footpath(sint32 x, sint32 y, rct_map_element *mapElement) { - sint32 entryType = mapElement->properties.path.type >> 4; - rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_PATHS].entries[entryType]; + sint32 entryType = mapElement->properties.path.type >> 4; + rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_PATHS].entries[entryType]; - uint8 flags = 0; - flags |= mapElement->properties.path.edges & 0x0F; - flags |= (mapElement->properties.path.type & 4) << 2; - flags |= (mapElement->properties.path.type & 3) << 5; - flags |= (mapElement->type & 1) << 7; + uint8 flags = 0; + flags |= mapElement->properties.path.edges & 0x0F; + flags |= (mapElement->properties.path.type & 4) << 2; + flags |= (mapElement->properties.path.type & 3) << 5; + flags |= (mapElement->type & 1) << 7; - track_design_save_push_map_element(x, y, mapElement); - track_design_save_push_map_element_desc(entry, x, y, mapElement->base_height, flags, 0, 0); + track_design_save_push_map_element(x, y, mapElement); + track_design_save_push_map_element_desc(entry, x, y, mapElement->base_height, flags, 0, 0); } /** @@ -372,26 +372,26 @@ static void track_design_save_add_footpath(sint32 x, sint32 y, rct_map_element * */ static bool track_design_save_add_map_element(sint32 interactionType, sint32 x, sint32 y, rct_map_element *mapElement) { - if (!track_design_save_can_add_map_element(mapElement)) { - return false; - } + if (!track_design_save_can_add_map_element(mapElement)) { + return false; + } - switch (interactionType) { - case VIEWPORT_INTERACTION_ITEM_SCENERY: - track_design_save_add_scenery(x, y, mapElement); - return true; - case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: - track_design_save_add_large_scenery(x, y, mapElement); - return true; - case VIEWPORT_INTERACTION_ITEM_WALL: - track_design_save_add_wall(x, y, mapElement); - return true; - case VIEWPORT_INTERACTION_ITEM_FOOTPATH: - track_design_save_add_footpath(x, y, mapElement); - return true; - default: - return false; - } + switch (interactionType) { + case VIEWPORT_INTERACTION_ITEM_SCENERY: + track_design_save_add_scenery(x, y, mapElement); + return true; + case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: + track_design_save_add_large_scenery(x, y, mapElement); + return true; + case VIEWPORT_INTERACTION_ITEM_WALL: + track_design_save_add_wall(x, y, mapElement); + return true; + case VIEWPORT_INTERACTION_ITEM_FOOTPATH: + track_design_save_add_footpath(x, y, mapElement); + return true; + default: + return false; + } } /** @@ -400,33 +400,33 @@ static bool track_design_save_add_map_element(sint32 interactionType, sint32 x, */ static void track_design_save_pop_map_element(sint32 x, sint32 y, rct_map_element *mapElement) { - map_invalidate_tile_full(x, y); + map_invalidate_tile_full(x, y); - // Find index of map element to remove - size_t removeIndex = SIZE_MAX; - for (size_t i = 0; i < _trackSavedMapElementsCount; i++) { - if (_trackSavedMapElements[i] == mapElement) { - removeIndex = i; - } - } + // Find index of map element to remove + size_t removeIndex = SIZE_MAX; + for (size_t i = 0; i < _trackSavedMapElementsCount; i++) { + if (_trackSavedMapElements[i] == mapElement) { + removeIndex = i; + } + } - // Remove map element from list - if (removeIndex != SIZE_MAX) { - size_t remainingNumItems = _trackSavedMapElementsCount - removeIndex - 1; - if (remainingNumItems > 0) { - memmove( - &_trackSavedMapElements[removeIndex], - &_trackSavedMapElements[removeIndex + 1], - remainingNumItems * sizeof(rct_map_element*) - ); - } - _trackSavedMapElementsCount--; + // Remove map element from list + if (removeIndex != SIZE_MAX) { + size_t remainingNumItems = _trackSavedMapElementsCount - removeIndex - 1; + if (remainingNumItems > 0) { + memmove( + &_trackSavedMapElements[removeIndex], + &_trackSavedMapElements[removeIndex + 1], + remainingNumItems * sizeof(rct_map_element*) + ); + } + _trackSavedMapElementsCount--; #ifdef NO_RCT2 - _trackSavedMapElements[_trackSavedMapElementsCount] = NULL; + _trackSavedMapElements[_trackSavedMapElementsCount] = NULL; #else - _trackSavedMapElements[_trackSavedMapElementsCount] = (rct_map_element*)-1; + _trackSavedMapElements[_trackSavedMapElementsCount] = (rct_map_element*)-1; #endif - } + } } /** @@ -435,118 +435,118 @@ static void track_design_save_pop_map_element(sint32 x, sint32 y, rct_map_elemen */ static void track_design_save_pop_map_element_desc(rct_object_entry *entry, sint32 x, sint32 y, sint32 z, uint8 flags, uint8 primaryColour, uint8 secondaryColour) { - size_t removeIndex = SIZE_MAX; - for (size_t i = 0; i < _trackSavedMapElementsDescCount; i++) { - rct_td6_scenery_element *item = &_trackSavedMapElementsDesc[i]; - if (item->x != x / 32) continue; - if (item->y != y / 32) continue; - if (item->z != z) continue; - if (item->flags != flags) continue; - if (!object_entry_compare(&item->scenery_object, entry)) continue; + size_t removeIndex = SIZE_MAX; + for (size_t i = 0; i < _trackSavedMapElementsDescCount; i++) { + rct_td6_scenery_element *item = &_trackSavedMapElementsDesc[i]; + if (item->x != x / 32) continue; + if (item->y != y / 32) continue; + if (item->z != z) continue; + if (item->flags != flags) continue; + if (!object_entry_compare(&item->scenery_object, entry)) continue; - removeIndex = i; - } + removeIndex = i; + } - if (removeIndex != SIZE_MAX) { - size_t remainingNumItems = _trackSavedMapElementsDescCount - removeIndex - 1; - if (remainingNumItems > 0) { - memmove( - &_trackSavedMapElementsDesc[removeIndex], - &_trackSavedMapElementsDesc[removeIndex + 1], - remainingNumItems * sizeof(rct_td6_scenery_element) - ); - } - _trackSavedMapElementsDescCount--; - } + if (removeIndex != SIZE_MAX) { + size_t remainingNumItems = _trackSavedMapElementsDescCount - removeIndex - 1; + if (remainingNumItems > 0) { + memmove( + &_trackSavedMapElementsDesc[removeIndex], + &_trackSavedMapElementsDesc[removeIndex + 1], + remainingNumItems * sizeof(rct_td6_scenery_element) + ); + } + _trackSavedMapElementsDescCount--; + } } static void track_design_save_remove_scenery(sint32 x, sint32 y, rct_map_element *mapElement) { - sint32 entryType = mapElement->properties.scenery.type; - rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_SMALL_SCENERY].entries[entryType]; + sint32 entryType = mapElement->properties.scenery.type; + rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_SMALL_SCENERY].entries[entryType]; - uint8 flags = 0; - flags |= mapElement->type & 3; - flags |= (mapElement->type & 0xC0) >> 4; + uint8 flags = 0; + flags |= mapElement->type & 3; + flags |= (mapElement->type & 0xC0) >> 4; - uint8 primaryColour = mapElement->properties.scenery.colour_1 & 0x1F; - uint8 secondaryColour = mapElement->properties.scenery.colour_2 & 0x1F; + uint8 primaryColour = mapElement->properties.scenery.colour_1 & 0x1F; + uint8 secondaryColour = mapElement->properties.scenery.colour_2 & 0x1F; - track_design_save_pop_map_element(x, y, mapElement); - track_design_save_pop_map_element_desc(entry, x, y, mapElement->base_height, flags, primaryColour, secondaryColour); + track_design_save_pop_map_element(x, y, mapElement); + track_design_save_pop_map_element_desc(entry, x, y, mapElement->base_height, flags, primaryColour, secondaryColour); } static void track_design_save_remove_large_scenery(sint32 x, sint32 y, rct_map_element *mapElement) { - rct_large_scenery_tile *sceneryTiles, *tile; - sint32 x0, y0, z0, z; - sint32 direction, sequence; + rct_large_scenery_tile *sceneryTiles, *tile; + sint32 x0, y0, z0, z; + sint32 direction, sequence; - sint32 entryType = mapElement->properties.scenerymultiple.type & 0x3FF; - rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_LARGE_SCENERY].entries[entryType]; - sceneryTiles = get_large_scenery_entry(entryType)->large_scenery.tiles; + sint32 entryType = mapElement->properties.scenerymultiple.type & 0x3FF; + rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_LARGE_SCENERY].entries[entryType]; + sceneryTiles = get_large_scenery_entry(entryType)->large_scenery.tiles; - z = mapElement->base_height; - direction = mapElement->type & 3; - sequence = mapElement->properties.scenerymultiple.type >> 10; + z = mapElement->base_height; + direction = mapElement->type & 3; + sequence = mapElement->properties.scenerymultiple.type >> 10; - if (!map_large_scenery_get_origin(x, y, z, direction, sequence, &x0, &y0, &z0, NULL)) { - return; - } + if (!map_large_scenery_get_origin(x, y, z, direction, sequence, &x0, &y0, &z0, NULL)) { + return; + } - // Iterate through each tile of the large scenery element - sequence = 0; - for (tile = sceneryTiles; tile->x_offset != -1; tile++, sequence++) { - sint16 offsetX = tile->x_offset; - sint16 offsetY = tile->y_offset; - rotate_map_coordinates(&offsetX, &offsetY, direction); + // Iterate through each tile of the large scenery element + sequence = 0; + for (tile = sceneryTiles; tile->x_offset != -1; tile++, sequence++) { + sint16 offsetX = tile->x_offset; + sint16 offsetY = tile->y_offset; + rotate_map_coordinates(&offsetX, &offsetY, direction); - x = x0 + offsetX; - y = y0 + offsetY; - z = (z0 + tile->z_offset) / 8; - mapElement = map_get_large_scenery_segment(x, y, z, direction, sequence); - if (mapElement != NULL) { - if (sequence == 0) { - uint8 flags = mapElement->type & 3; - uint8 primaryColour = mapElement->properties.scenerymultiple.colour[0] & 0x1F; - uint8 secondaryColour = mapElement->properties.scenerymultiple.colour[1] & 0x1F; + x = x0 + offsetX; + y = y0 + offsetY; + z = (z0 + tile->z_offset) / 8; + mapElement = map_get_large_scenery_segment(x, y, z, direction, sequence); + if (mapElement != NULL) { + if (sequence == 0) { + uint8 flags = mapElement->type & 3; + uint8 primaryColour = mapElement->properties.scenerymultiple.colour[0] & 0x1F; + uint8 secondaryColour = mapElement->properties.scenerymultiple.colour[1] & 0x1F; - track_design_save_pop_map_element_desc(entry, x, y, z, flags, primaryColour, secondaryColour); - } - track_design_save_pop_map_element(x, y, mapElement); - } - } + track_design_save_pop_map_element_desc(entry, x, y, z, flags, primaryColour, secondaryColour); + } + track_design_save_pop_map_element(x, y, mapElement); + } + } } static void track_design_save_remove_wall(sint32 x, sint32 y, rct_map_element *mapElement) { - sint32 entryType = mapElement->properties.wall.type; - rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_WALLS].entries[entryType]; + sint32 entryType = mapElement->properties.wall.type; + rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_WALLS].entries[entryType]; - uint8 flags = 0; - flags |= mapElement->type & 3; - flags |= mapElement->properties.wall.colour_3 << 2; + uint8 flags = 0; + flags |= mapElement->type & 3; + flags |= mapElement->properties.wall.colour_3 << 2; - uint8 secondaryColour = wall_element_get_secondary_colour(mapElement); - uint8 primaryColour = mapElement->properties.wall.colour_1 & 0x1F; + uint8 secondaryColour = wall_element_get_secondary_colour(mapElement); + uint8 primaryColour = mapElement->properties.wall.colour_1 & 0x1F; - track_design_save_pop_map_element(x, y, mapElement); - track_design_save_pop_map_element_desc(entry, x, y, mapElement->base_height, flags, primaryColour, secondaryColour); + track_design_save_pop_map_element(x, y, mapElement); + track_design_save_pop_map_element_desc(entry, x, y, mapElement->base_height, flags, primaryColour, secondaryColour); } static void track_design_save_remove_footpath(sint32 x, sint32 y, rct_map_element *mapElement) { - sint32 entryType = mapElement->properties.path.type >> 4; - rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_PATHS].entries[entryType]; + sint32 entryType = mapElement->properties.path.type >> 4; + rct_object_entry *entry = (rct_object_entry*)&object_entry_groups[OBJECT_TYPE_PATHS].entries[entryType]; - uint8 flags = 0; - flags |= mapElement->properties.path.edges & 0x0F; - flags |= (mapElement->properties.path.type & 4) << 2; - flags |= (mapElement->properties.path.type & 3) << 5; - flags |= (mapElement->type & 1) << 7; + uint8 flags = 0; + flags |= mapElement->properties.path.edges & 0x0F; + flags |= (mapElement->properties.path.type & 4) << 2; + flags |= (mapElement->properties.path.type & 3) << 5; + flags |= (mapElement->type & 1) << 7; - track_design_save_pop_map_element(x, y, mapElement); - track_design_save_pop_map_element_desc(entry, x, y, mapElement->base_height, flags, 0, 0); + track_design_save_pop_map_element(x, y, mapElement); + track_design_save_pop_map_element_desc(entry, x, y, mapElement->base_height, flags, 0, 0); } /** @@ -555,162 +555,162 @@ static void track_design_save_remove_footpath(sint32 x, sint32 y, rct_map_elemen */ static void track_design_save_remove_map_element(sint32 interactionType, sint32 x, sint32 y, rct_map_element *mapElement) { - switch (interactionType) { - case VIEWPORT_INTERACTION_ITEM_SCENERY: - track_design_save_remove_scenery(x, y, mapElement); - break; - case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: - track_design_save_remove_large_scenery(x, y, mapElement); - break; - case VIEWPORT_INTERACTION_ITEM_WALL: - track_design_save_remove_wall(x, y, mapElement); - break; - case VIEWPORT_INTERACTION_ITEM_FOOTPATH: - track_design_save_remove_footpath(x, y, mapElement); - break; - } + switch (interactionType) { + case VIEWPORT_INTERACTION_ITEM_SCENERY: + track_design_save_remove_scenery(x, y, mapElement); + break; + case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: + track_design_save_remove_large_scenery(x, y, mapElement); + break; + case VIEWPORT_INTERACTION_ITEM_WALL: + track_design_save_remove_wall(x, y, mapElement); + break; + case VIEWPORT_INTERACTION_ITEM_FOOTPATH: + track_design_save_remove_footpath(x, y, mapElement); + break; + } } static bool track_design_save_should_select_scenery_around(sint32 rideIndex, rct_map_element *mapElement) { - switch (map_element_get_type(mapElement)) { - case MAP_ELEMENT_TYPE_PATH: - if ((mapElement->type & 1) && mapElement->properties.path.addition_status == rideIndex) - return true; - break; - case MAP_ELEMENT_TYPE_TRACK: - if (mapElement->properties.track.ride_index == rideIndex) - return true; - break; - case MAP_ELEMENT_TYPE_ENTRANCE: - if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_ENTRANCE) - break; - if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_EXIT) - break; - if (mapElement->properties.entrance.ride_index == rideIndex) - return true; - break; - } - return false; + switch (map_element_get_type(mapElement)) { + case MAP_ELEMENT_TYPE_PATH: + if ((mapElement->type & 1) && mapElement->properties.path.addition_status == rideIndex) + return true; + break; + case MAP_ELEMENT_TYPE_TRACK: + if (mapElement->properties.track.ride_index == rideIndex) + return true; + break; + case MAP_ELEMENT_TYPE_ENTRANCE: + if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_ENTRANCE) + break; + if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_EXIT) + break; + if (mapElement->properties.entrance.ride_index == rideIndex) + return true; + break; + } + return false; } static void track_design_save_select_nearby_scenery_for_tile(sint32 rideIndex, sint32 cx, sint32 cy) { - rct_map_element *mapElement; + rct_map_element *mapElement; - for (sint32 y = cy - TRACK_NEARBY_SCENERY_DISTANCE; y <= cy + TRACK_NEARBY_SCENERY_DISTANCE; y++) { - for (sint32 x = cx - TRACK_NEARBY_SCENERY_DISTANCE; x <= cx + TRACK_NEARBY_SCENERY_DISTANCE; x++) { - mapElement = map_get_first_element_at(x, y); - do { - sint32 interactionType = VIEWPORT_INTERACTION_ITEM_NONE; - switch (map_element_get_type(mapElement)) { - case MAP_ELEMENT_TYPE_PATH: - if (!(mapElement->type & 1)) - interactionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH; - else if (mapElement->properties.path.addition_status == rideIndex) - interactionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH; - break; - case MAP_ELEMENT_TYPE_SCENERY: - interactionType = VIEWPORT_INTERACTION_ITEM_SCENERY; - break; - case MAP_ELEMENT_TYPE_WALL: - interactionType = VIEWPORT_INTERACTION_ITEM_WALL; - break; - case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - interactionType = VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY; - break; - } + for (sint32 y = cy - TRACK_NEARBY_SCENERY_DISTANCE; y <= cy + TRACK_NEARBY_SCENERY_DISTANCE; y++) { + for (sint32 x = cx - TRACK_NEARBY_SCENERY_DISTANCE; x <= cx + TRACK_NEARBY_SCENERY_DISTANCE; x++) { + mapElement = map_get_first_element_at(x, y); + do { + sint32 interactionType = VIEWPORT_INTERACTION_ITEM_NONE; + switch (map_element_get_type(mapElement)) { + case MAP_ELEMENT_TYPE_PATH: + if (!(mapElement->type & 1)) + interactionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH; + else if (mapElement->properties.path.addition_status == rideIndex) + interactionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH; + break; + case MAP_ELEMENT_TYPE_SCENERY: + interactionType = VIEWPORT_INTERACTION_ITEM_SCENERY; + break; + case MAP_ELEMENT_TYPE_WALL: + interactionType = VIEWPORT_INTERACTION_ITEM_WALL; + break; + case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: + interactionType = VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY; + break; + } - if (interactionType != VIEWPORT_INTERACTION_ITEM_NONE) { - if (!track_design_save_contains_map_element(mapElement)) { - track_design_save_add_map_element(interactionType, x * 32, y * 32, mapElement); - } - } - } while (!map_element_is_last_for_tile(mapElement++)); - } - } + if (interactionType != VIEWPORT_INTERACTION_ITEM_NONE) { + if (!track_design_save_contains_map_element(mapElement)) { + track_design_save_add_map_element(interactionType, x * 32, y * 32, mapElement); + } + } + } while (!map_element_is_last_for_tile(mapElement++)); + } + } } /* Based on rct2: 0x006D2897 */ static bool track_design_save_copy_scenery_to_td6(rct_track_td6 *td6) { - // Copy TD6 scenery elements to new memory and add end marker - size_t totalSceneryElementsSize = _trackSavedMapElementsDescCount * sizeof(rct_td6_scenery_element); - td6->scenery_elements = malloc(totalSceneryElementsSize + 1); - memcpy(td6->scenery_elements, _trackSavedMapElementsDesc, totalSceneryElementsSize); - *((uint8*)&td6->scenery_elements[_trackSavedMapElementsDescCount]) = 0xFF; + // Copy TD6 scenery elements to new memory and add end marker + size_t totalSceneryElementsSize = _trackSavedMapElementsDescCount * sizeof(rct_td6_scenery_element); + td6->scenery_elements = malloc(totalSceneryElementsSize + 1); + memcpy(td6->scenery_elements, _trackSavedMapElementsDesc, totalSceneryElementsSize); + *((uint8*)&td6->scenery_elements[_trackSavedMapElementsDescCount]) = 0xFF; - // Run an element loop - for (size_t i = 0; i < _trackSavedMapElementsDescCount; i++) { - rct_td6_scenery_element *scenery = &td6->scenery_elements[i]; + // Run an element loop + for (size_t i = 0; i < _trackSavedMapElementsDescCount; i++) { + rct_td6_scenery_element *scenery = &td6->scenery_elements[i]; - switch (scenery->scenery_object.flags & 0x0F) { - case OBJECT_TYPE_PATHS: - { - uint8 slope = (scenery->flags & 0x60) >> 5; - slope -= _trackSaveDirection; + switch (scenery->scenery_object.flags & 0x0F) { + case OBJECT_TYPE_PATHS: + { + uint8 slope = (scenery->flags & 0x60) >> 5; + slope -= _trackSaveDirection; - scenery->flags &= 0x9F; - scenery->flags |= ((slope & 3) << 5); + scenery->flags &= 0x9F; + scenery->flags |= ((slope & 3) << 5); - // Direction of connection on path - uint8 direction = scenery->flags & 0xF; - // Rotate the direction by the track direction - direction = ((direction << 4) >> _trackSaveDirection); + // Direction of connection on path + uint8 direction = scenery->flags & 0xF; + // Rotate the direction by the track direction + direction = ((direction << 4) >> _trackSaveDirection); - scenery->flags &= 0xF0; - scenery->flags |= (direction & 0xF) | (direction >> 4); - break; - } - case OBJECT_TYPE_WALLS: - { - uint8 direction = scenery->flags & 3; - direction -= _trackSaveDirection; + scenery->flags &= 0xF0; + scenery->flags |= (direction & 0xF) | (direction >> 4); + break; + } + case OBJECT_TYPE_WALLS: + { + uint8 direction = scenery->flags & 3; + direction -= _trackSaveDirection; - scenery->flags &= 0xFC; - scenery->flags |= (direction & 3); - break; - } - default: - { - uint8 direction = scenery->flags & 3; - uint8 quadrant = (scenery->flags & 0x0C) >> 2; + scenery->flags &= 0xFC; + scenery->flags |= (direction & 3); + break; + } + default: + { + uint8 direction = scenery->flags & 3; + uint8 quadrant = (scenery->flags & 0x0C) >> 2; - direction -= _trackSaveDirection; - quadrant -= _trackSaveDirection; + direction -= _trackSaveDirection; + quadrant -= _trackSaveDirection; - scenery->flags &= 0xF0; - scenery->flags |= (direction & 3) | ((quadrant & 3) << 2); - break; - } - } + scenery->flags &= 0xF0; + scenery->flags |= (direction & 3) | ((quadrant & 3) << 2); + break; + } + } - sint16 x = ((uint8)scenery->x) * 32 - gTrackPreviewOrigin.x; - sint16 y = ((uint8)scenery->y) * 32 - gTrackPreviewOrigin.y; - rotate_map_coordinates(&x, &y, (0 - _trackSaveDirection) & 3); - x /= 32; - y /= 32; + sint16 x = ((uint8)scenery->x) * 32 - gTrackPreviewOrigin.x; + sint16 y = ((uint8)scenery->y) * 32 - gTrackPreviewOrigin.y; + rotate_map_coordinates(&x, &y, (0 - _trackSaveDirection) & 3); + x /= 32; + y /= 32; - if (x > 127 || y > 127 || x < -126 || y < -126){ - window_error_open(STR_CANT_SAVE_TRACK_DESIGN, STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY); - SafeFree(td6->scenery_elements); - return false; - } + if (x > 127 || y > 127 || x < -126 || y < -126){ + window_error_open(STR_CANT_SAVE_TRACK_DESIGN, STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY); + SafeFree(td6->scenery_elements); + return false; + } - scenery->x = (sint8)x; - scenery->y = (sint8)y; + scenery->x = (sint8)x; + scenery->y = (sint8)y; - sint32 z = scenery->z * 8 - gTrackPreviewOrigin.z; - z /= 8; - if (z > 127 || z < -126) { - window_error_open(STR_CANT_SAVE_TRACK_DESIGN, STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY); - SafeFree(td6->scenery_elements); - return false; - } - scenery->z = z; - } + sint32 z = scenery->z * 8 - gTrackPreviewOrigin.z; + z /= 8; + if (z > 127 || z < -126) { + window_error_open(STR_CANT_SAVE_TRACK_DESIGN, STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY); + SafeFree(td6->scenery_elements); + return false; + } + scenery->z = z; + } - return true; + return true; } /** @@ -719,79 +719,79 @@ static bool track_design_save_copy_scenery_to_td6(rct_track_td6 *td6) */ static rct_track_td6 *track_design_save_to_td6(uint8 rideIndex) { - rct_track_td6 *td6 = calloc(1, sizeof(rct_track_td6)); - rct_ride *ride = get_ride(rideIndex); - td6->type = ride->type; - rct_object_entry_extended *object = &object_entry_groups[OBJECT_TYPE_RIDE].entries[ride->subtype]; + rct_track_td6 *td6 = calloc(1, sizeof(rct_track_td6)); + rct_ride *ride = get_ride(rideIndex); + td6->type = ride->type; + rct_object_entry_extended *object = &object_entry_groups[OBJECT_TYPE_RIDE].entries[ride->subtype]; - // Note we are only copying rct_object_entry in size and - // not the extended as we don't need the chunk size. - memcpy(&td6->vehicle_object, object, sizeof(rct_object_entry)); + // Note we are only copying rct_object_entry in size and + // not the extended as we don't need the chunk size. + memcpy(&td6->vehicle_object, object, sizeof(rct_object_entry)); - td6->ride_mode = ride->mode; + td6->ride_mode = ride->mode; - td6->version_and_colour_scheme = - (ride->colour_scheme_type & 3) | - (1 << 3); // Version .TD6 + td6->version_and_colour_scheme = + (ride->colour_scheme_type & 3) | + (1 << 3); // Version .TD6 - for (sint32 i = 0; i < 32; i++) { - td6->vehicle_colours[i] = ride->vehicle_colours[i]; - td6->vehicle_additional_colour[i] = ride->vehicle_colours_extended[i]; - } + for (sint32 i = 0; i < 32; i++) { + td6->vehicle_colours[i] = ride->vehicle_colours[i]; + td6->vehicle_additional_colour[i] = ride->vehicle_colours_extended[i]; + } - for (sint32 i = 0; i < 4; i++) { - td6->track_spine_colour[i] = ride->track_colour_main[i]; - td6->track_rail_colour[i] = ride->track_colour_additional[i]; - td6->track_support_colour[i] = ride->track_colour_supports[i]; - } + for (sint32 i = 0; i < 4; i++) { + td6->track_spine_colour[i] = ride->track_colour_main[i]; + td6->track_rail_colour[i] = ride->track_colour_additional[i]; + td6->track_support_colour[i] = ride->track_colour_supports[i]; + } - td6->depart_flags = ride->depart_flags; - td6->number_of_trains = ride->num_vehicles; - td6->number_of_cars_per_train = ride->num_cars_per_train; - td6->min_waiting_time = ride->min_waiting_time; - td6->max_waiting_time = ride->max_waiting_time; - td6->operation_setting = ride->operation_option; - td6->lift_hill_speed_num_circuits = - ride->lift_hill_speed | - (ride->num_circuits << 5); + td6->depart_flags = ride->depart_flags; + td6->number_of_trains = ride->num_vehicles; + td6->number_of_cars_per_train = ride->num_cars_per_train; + td6->min_waiting_time = ride->min_waiting_time; + td6->max_waiting_time = ride->max_waiting_time; + td6->operation_setting = ride->operation_option; + td6->lift_hill_speed_num_circuits = + ride->lift_hill_speed | + (ride->num_circuits << 5); - td6->entrance_style = ride->entrance_style; - td6->max_speed = (sint8)(ride->max_speed / 65536); - td6->average_speed = (sint8)(ride->average_speed / 65536); - td6->ride_length = ride_get_total_length(ride) / 65536; - td6->max_positive_vertical_g = ride->max_positive_vertical_g / 32; - td6->max_negative_vertical_g = ride->max_negative_vertical_g / 32; - td6->max_lateral_g = ride->max_lateral_g / 32; - td6->inversions = ride->inversions; - td6->drops = ride->drops; - td6->highest_drop_height = ride->highest_drop_height; + td6->entrance_style = ride->entrance_style; + td6->max_speed = (sint8)(ride->max_speed / 65536); + td6->average_speed = (sint8)(ride->average_speed / 65536); + td6->ride_length = ride_get_total_length(ride) / 65536; + td6->max_positive_vertical_g = ride->max_positive_vertical_g / 32; + td6->max_negative_vertical_g = ride->max_negative_vertical_g / 32; + td6->max_lateral_g = ride->max_lateral_g / 32; + td6->inversions = ride->inversions; + td6->drops = ride->drops; + td6->highest_drop_height = ride->highest_drop_height; - uint16 total_air_time = (ride->total_air_time * 123) / 1024; - if (total_air_time > 255) { - total_air_time = 0; - } - td6->total_air_time = (uint8)total_air_time; + uint16 total_air_time = (ride->total_air_time * 123) / 1024; + if (total_air_time > 255) { + total_air_time = 0; + } + td6->total_air_time = (uint8)total_air_time; - td6->excitement = ride->ratings.excitement / 10; - td6->intensity = ride->ratings.intensity / 10; - td6->nausea = ride->ratings.nausea / 10; + td6->excitement = ride->ratings.excitement / 10; + td6->intensity = ride->ratings.intensity / 10; + td6->nausea = ride->ratings.nausea / 10; - td6->upkeep_cost = ride->upkeep_cost; - td6->flags = 0; - td6->flags2 = 0; + td6->upkeep_cost = ride->upkeep_cost; + td6->flags = 0; + td6->flags2 = 0; - bool result; - if (td6->type == RIDE_TYPE_MAZE) { - result = track_design_save_to_td6_for_maze(rideIndex, td6); - } else { - result = track_design_save_to_td6_for_tracked_ride(rideIndex, td6); - } + bool result; + if (td6->type == RIDE_TYPE_MAZE) { + result = track_design_save_to_td6_for_maze(rideIndex, td6); + } else { + result = track_design_save_to_td6_for_tracked_ride(rideIndex, td6); + } - if (!result) { - track_design_dispose(td6); - td6 = NULL; - } - return td6; + if (!result) { + track_design_dispose(td6); + td6 = NULL; + } + return td6; } /** @@ -800,143 +800,143 @@ static rct_track_td6 *track_design_save_to_td6(uint8 rideIndex) */ static bool track_design_save_to_td6_for_maze(uint8 rideIndex, rct_track_td6 *td6) { - rct_map_element *mapElement = NULL; - bool mapFound = false; - sint16 startX = 0; - sint16 startY = 0; - for (startY = 0; startY < 8192; startY += 32) { - for (startX = 0; startX < 8192; startX += 32) { - mapElement = map_get_first_element_at(startX >> 5, startY >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; - if (mapElement->properties.track.ride_index == rideIndex){ - mapFound = true; - break; - } - } while (!map_element_is_last_for_tile(mapElement++)); - if (mapFound) { - break; - } - } - if (mapFound) { - break; - } - } + rct_map_element *mapElement = NULL; + bool mapFound = false; + sint16 startX = 0; + sint16 startY = 0; + for (startY = 0; startY < 8192; startY += 32) { + for (startX = 0; startX < 8192; startX += 32) { + mapElement = map_get_first_element_at(startX >> 5, startY >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; + if (mapElement->properties.track.ride_index == rideIndex){ + mapFound = true; + break; + } + } while (!map_element_is_last_for_tile(mapElement++)); + if (mapFound) { + break; + } + } + if (mapFound) { + break; + } + } - if (mapFound == 0) { - gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; - return false; - } + if (mapFound == 0) { + gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; + return false; + } - gTrackPreviewOrigin = (rct_xyz16) { startX, startY, mapElement->base_height * 8 }; + gTrackPreviewOrigin = (rct_xyz16) { startX, startY, mapElement->base_height * 8 }; - size_t numMazeElements = 0; - td6->maze_elements = calloc(8192, sizeof(rct_td6_maze_element)); - rct_td6_maze_element *maze = td6->maze_elements; + size_t numMazeElements = 0; + td6->maze_elements = calloc(8192, sizeof(rct_td6_maze_element)); + rct_td6_maze_element *maze = td6->maze_elements; - // x is defined here as we can start the search - // on tile start_x, start_y but then the next row - // must restart on 0 - for (sint16 y = startY, x = startX; y < 8192; y += 32) { - for (; x < 8192; x += 32) { - mapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (mapElement->properties.track.ride_index != rideIndex) continue; + // x is defined here as we can start the search + // on tile start_x, start_y but then the next row + // must restart on 0 + for (sint16 y = startY, x = startX; y < 8192; y += 32) { + for (; x < 8192; x += 32) { + mapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (mapElement->properties.track.ride_index != rideIndex) continue; - maze->maze_entry = mapElement->properties.track.maze_entry; - maze->x = (x - startX) / 32; - maze->y = (y - startY) / 32; - maze++; - numMazeElements++; + maze->maze_entry = mapElement->properties.track.maze_entry; + maze->x = (x - startX) / 32; + maze->y = (y - startY) / 32; + maze++; + numMazeElements++; - if (numMazeElements >= 2000) { - gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; - SafeFree(td6->maze_elements); - return false; - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (numMazeElements >= 2000) { + gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; + SafeFree(td6->maze_elements); + return false; + } + } while (!map_element_is_last_for_tile(mapElement++)); - } - x = 0; - } + } + x = 0; + } - rct_ride *ride = get_ride(rideIndex); - uint16 location = ride->entrances[0]; + rct_ride *ride = get_ride(rideIndex); + uint16 location = ride->entrances[0]; - if (location == 0xFFFF) { - gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; - SafeFree(td6->maze_elements); - return false; - } + if (location == 0xFFFF) { + gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; + SafeFree(td6->maze_elements); + return false; + } - sint16 x = (location & 0xFF) * 32; - sint16 y = ((location & 0xFF00) >> 8) * 32; + sint16 x = (location & 0xFF) * 32; + sint16 y = ((location & 0xFF00) >> 8) * 32; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) continue; - if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_ENTRANCE) continue; - if (mapElement->properties.entrance.ride_index == rideIndex) break; - } while (!map_element_is_last_for_tile(mapElement++)); - // Add something that stops this from walking off the end + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) continue; + if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_ENTRANCE) continue; + if (mapElement->properties.entrance.ride_index == rideIndex) break; + } while (!map_element_is_last_for_tile(mapElement++)); + // Add something that stops this from walking off the end - uint8 entrance_direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - maze->unk_2 = entrance_direction; - maze->type = 8; - maze->x = (sint8)((x - startX) / 32); - maze->y = (sint8)((y - startY) / 32); - maze++; - numMazeElements++; + uint8 entrance_direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + maze->unk_2 = entrance_direction; + maze->type = 8; + maze->x = (sint8)((x - startX) / 32); + maze->y = (sint8)((y - startY) / 32); + maze++; + numMazeElements++; - location = ride->exits[0]; - if (location == 0xFFFF) { - gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; - SafeFree(td6->maze_elements); - return 0; - } + location = ride->exits[0]; + if (location == 0xFFFF) { + gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; + SafeFree(td6->maze_elements); + return 0; + } - x = (location & 0xFF) * 32; - y = ((location & 0xFF00) >> 8) * 32; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) continue; - if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_EXIT) continue; - if (mapElement->properties.entrance.ride_index == rideIndex) break; - } while (!map_element_is_last_for_tile(mapElement++)); - // Add something that stops this from walking off the end + x = (location & 0xFF) * 32; + y = ((location & 0xFF00) >> 8) * 32; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) continue; + if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_EXIT) continue; + if (mapElement->properties.entrance.ride_index == rideIndex) break; + } while (!map_element_is_last_for_tile(mapElement++)); + // Add something that stops this from walking off the end - uint8 exit_direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - maze->unk_2 = exit_direction; - maze->type = 0x80; - maze->x = (sint8)((x - startX) / 32); - maze->y = (sint8)((y - startY) / 32); - maze++; - maze->all = 0; - maze++; - numMazeElements++; + uint8 exit_direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + maze->unk_2 = exit_direction; + maze->type = 0x80; + maze->x = (sint8)((x - startX) / 32); + maze->y = (sint8)((y - startY) / 32); + maze++; + maze->all = 0; + maze++; + numMazeElements++; - // Write end marker - maze->all = 0; - maze++; - numMazeElements++; + // Write end marker + maze->all = 0; + maze++; + numMazeElements++; - // Trim memory - td6->maze_elements = realloc(td6->maze_elements, numMazeElements * sizeof(rct_td6_maze_element)); + // Trim memory + td6->maze_elements = realloc(td6->maze_elements, numMazeElements * sizeof(rct_td6_maze_element)); - // Save global vars as they are still used by scenery - sint16 startZ = gTrackPreviewOrigin.z; - place_virtual_track(td6, PTD_OPERATION_DRAW_OUTLINES, 0, 4096, 4096, 0); - gTrackPreviewOrigin = (rct_xyz16) { startX, startY, startZ }; + // Save global vars as they are still used by scenery + sint16 startZ = gTrackPreviewOrigin.z; + place_virtual_track(td6, PTD_OPERATION_DRAW_OUTLINES, 0, 4096, 4096, 0); + gTrackPreviewOrigin = (rct_xyz16) { startX, startY, startZ }; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - gMapSelectFlags &= ~MAP_SELECT_FLAG_GREEN; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + gMapSelectFlags &= ~MAP_SELECT_FLAG_GREEN; - td6->space_required_x = ((gTrackPreviewMax.x - gTrackPreviewMin.x) / 32) + 1; - td6->space_required_y = ((gTrackPreviewMax.y - gTrackPreviewMin.y) / 32) + 1; - return true; + td6->space_required_x = ((gTrackPreviewMax.x - gTrackPreviewMin.x) / 32) + 1; + td6->space_required_y = ((gTrackPreviewMax.y - gTrackPreviewMin.y) / 32) + 1; + return true; } /** @@ -945,247 +945,247 @@ static bool track_design_save_to_td6_for_maze(uint8 rideIndex, rct_track_td6 *td */ static bool track_design_save_to_td6_for_tracked_ride(uint8 rideIndex, rct_track_td6 *td6) { - rct_ride *ride = get_ride(rideIndex); - rct_xy_element trackElement; - track_begin_end trackBeginEnd; + rct_ride *ride = get_ride(rideIndex); + rct_xy_element trackElement; + track_begin_end trackBeginEnd; - if (!ride_try_get_origin_element(rideIndex, &trackElement)) { - gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; - return false; - } + if (!ride_try_get_origin_element(rideIndex, &trackElement)) { + gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; + return false; + } - sint32 z = 0; - // Find the start of the track. - // It has to do this as a backwards loop in case this is an incomplete track. - if (track_block_get_previous(trackElement.x, trackElement.y, trackElement.element, &trackBeginEnd)) { - rct_map_element* initial_map = trackElement.element; - do { - rct_xy_element lastGood = { - .element = trackBeginEnd.begin_element, - .x = trackBeginEnd.begin_x, - .y = trackBeginEnd.begin_y - }; + sint32 z = 0; + // Find the start of the track. + // It has to do this as a backwards loop in case this is an incomplete track. + if (track_block_get_previous(trackElement.x, trackElement.y, trackElement.element, &trackBeginEnd)) { + rct_map_element* initial_map = trackElement.element; + do { + rct_xy_element lastGood = { + .element = trackBeginEnd.begin_element, + .x = trackBeginEnd.begin_x, + .y = trackBeginEnd.begin_y + }; - if (!track_block_get_previous(trackBeginEnd.end_x, trackBeginEnd.end_y, trackBeginEnd.begin_element, &trackBeginEnd)) { - trackElement = lastGood; - break; - } - } while (initial_map != trackBeginEnd.begin_element); - } + if (!track_block_get_previous(trackBeginEnd.end_x, trackBeginEnd.end_y, trackBeginEnd.begin_element, &trackBeginEnd)) { + trackElement = lastGood; + break; + } + } while (initial_map != trackBeginEnd.begin_element); + } - z = trackElement.element->base_height * 8; - uint8 track_type = trackElement.element->properties.track.type; - uint8 direction = trackElement.element->type & MAP_ELEMENT_DIRECTION_MASK; - _trackSaveDirection = direction; + z = trackElement.element->base_height * 8; + uint8 track_type = trackElement.element->properties.track.type; + uint8 direction = trackElement.element->type & MAP_ELEMENT_DIRECTION_MASK; + _trackSaveDirection = direction; - if (sub_6C683D(&trackElement.x, &trackElement.y, &z, direction, track_type, 0, &trackElement.element, 0)) { - gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; - return 0; - } + if (sub_6C683D(&trackElement.x, &trackElement.y, &z, direction, track_type, 0, &trackElement.element, 0)) { + gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; + return 0; + } - const rct_track_coordinates *trackCoordinates = &TrackCoordinates[trackElement.element->properties.track.type]; - // Used in the following loop to know when we have - // completed all of the elements and are back at the - // start. - rct_map_element *initialMap = trackElement.element; + const rct_track_coordinates *trackCoordinates = &TrackCoordinates[trackElement.element->properties.track.type]; + // Used in the following loop to know when we have + // completed all of the elements and are back at the + // start. + rct_map_element *initialMap = trackElement.element; - sint16 start_x = trackElement.x; - sint16 start_y = trackElement.y; - sint16 start_z = z + trackCoordinates->z_begin; - gTrackPreviewOrigin = (rct_xyz16) { start_x, start_y, start_z }; + sint16 start_x = trackElement.x; + sint16 start_y = trackElement.y; + sint16 start_z = z + trackCoordinates->z_begin; + gTrackPreviewOrigin = (rct_xyz16) { start_x, start_y, start_z }; - size_t numTrackElements = 0; - td6->track_elements = calloc(8192, sizeof(rct_td6_track_element)); - rct_td6_track_element *track = td6->track_elements; - do { - track->type = trackElement.element->properties.track.type; - if (track->type == TRACK_ELEM_255) { - track->type = TRACK_ELEM_255_ALIAS; - } + size_t numTrackElements = 0; + td6->track_elements = calloc(8192, sizeof(rct_td6_track_element)); + rct_td6_track_element *track = td6->track_elements; + do { + track->type = trackElement.element->properties.track.type; + if (track->type == TRACK_ELEM_255) { + track->type = TRACK_ELEM_255_ALIAS; + } - uint8 bh; - if (track->type == TRACK_ELEM_BRAKES || track->type == TRACK_ELEM_BOOSTER) { - bh = trackElement.element->properties.track.sequence >> 4; - } else { - bh = trackElement.element->properties.track.colour >> 4; - } + uint8 bh; + if (track->type == TRACK_ELEM_BRAKES || track->type == TRACK_ELEM_BOOSTER) { + bh = trackElement.element->properties.track.sequence >> 4; + } else { + bh = trackElement.element->properties.track.colour >> 4; + } - uint8 flags = (trackElement.element->type & (1 << 7)) | bh; - flags |= (trackElement.element->properties.track.colour & 3) << 4; - if ( - RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE && - trackElement.element->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED - ) { - flags |= TRACK_ELEMENT_FLAG_INVERTED; - } + uint8 flags = (trackElement.element->type & (1 << 7)) | bh; + flags |= (trackElement.element->properties.track.colour & 3) << 4; + if ( + RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE && + trackElement.element->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED + ) { + flags |= TRACK_ELEMENT_FLAG_INVERTED; + } - track->flags = flags; - track++; - numTrackElements++; + track->flags = flags; + track++; + numTrackElements++; - if (!track_block_get_next(&trackElement, &trackElement, NULL, NULL)) { - break; - } + if (!track_block_get_next(&trackElement, &trackElement, NULL, NULL)) { + break; + } - z = trackElement.element->base_height * 8; - direction = trackElement.element->type & MAP_ELEMENT_DIRECTION_MASK; - track_type = trackElement.element->properties.track.type; + z = trackElement.element->base_height * 8; + direction = trackElement.element->type & MAP_ELEMENT_DIRECTION_MASK; + track_type = trackElement.element->properties.track.type; - if (sub_6C683D(&trackElement.x, &trackElement.y, &z, direction, track_type, 0, &trackElement.element, 0)) { - break; - } - } while (trackElement.element != initialMap); - td6->track_elements = realloc(td6->track_elements, numTrackElements * sizeof(rct_td6_track_element) + 1); - *((uint8*)&td6->track_elements[numTrackElements]) = 0xFF; + if (sub_6C683D(&trackElement.x, &trackElement.y, &z, direction, track_type, 0, &trackElement.element, 0)) { + break; + } + } while (trackElement.element != initialMap); + td6->track_elements = realloc(td6->track_elements, numTrackElements * sizeof(rct_td6_track_element) + 1); + *((uint8*)&td6->track_elements[numTrackElements]) = 0xFF; - size_t numEntranceElements = 0; - td6->entrance_elements = calloc(32, sizeof(rct_td6_entrance_element)); - rct_td6_entrance_element *entrance = td6->entrance_elements; + size_t numEntranceElements = 0; + td6->entrance_elements = calloc(32, sizeof(rct_td6_entrance_element)); + rct_td6_entrance_element *entrance = td6->entrance_elements; - // First entrances, second exits - for (sint32 i = 0; i < 2; i++) { - for (sint32 station_index = 0; station_index < 4; station_index++) { - z = ride->station_heights[station_index]; + // First entrances, second exits + for (sint32 i = 0; i < 2; i++) { + for (sint32 station_index = 0; station_index < 4; station_index++) { + z = ride->station_heights[station_index]; - uint16 location; - if (i == 0) { - location = ride->entrances[station_index]; - } else { - location = ride->exits[station_index]; - } + uint16 location; + if (i == 0) { + location = ride->entrances[station_index]; + } else { + location = ride->exits[station_index]; + } - if (location == 0xFFFF) { - continue; - } + if (location == 0xFFFF) { + continue; + } - sint16 x = (location & 0xFF) * 32; - sint16 y = ((location & 0xFF00) >> 8) * 32; + sint16 x = (location & 0xFF) * 32; + sint16 y = ((location & 0xFF00) >> 8) * 32; - rct_map_element *map_element = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_ENTRANCE) continue; - if (map_element->base_height == z) break; - } while (!map_element_is_last_for_tile(map_element++)); - // Add something that stops this from walking off the end + rct_map_element *map_element = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_ENTRANCE) continue; + if (map_element->base_height == z) break; + } while (!map_element_is_last_for_tile(map_element++)); + // Add something that stops this from walking off the end - uint8 entrance_direction = map_element->type & MAP_ELEMENT_DIRECTION_MASK; - entrance_direction -= _trackSaveDirection; - entrance_direction &= MAP_ELEMENT_DIRECTION_MASK; - entrance->direction = entrance_direction; + uint8 entrance_direction = map_element->type & MAP_ELEMENT_DIRECTION_MASK; + entrance_direction -= _trackSaveDirection; + entrance_direction &= MAP_ELEMENT_DIRECTION_MASK; + entrance->direction = entrance_direction; - x -= gTrackPreviewOrigin.x; - y -= gTrackPreviewOrigin.y; + x -= gTrackPreviewOrigin.x; + y -= gTrackPreviewOrigin.y; - // Rotate entrance coordinates backwards to the correct direction - rotate_map_coordinates(&x, &y, (0 - _trackSaveDirection) & 3); - entrance->x = x; - entrance->y = y; + // Rotate entrance coordinates backwards to the correct direction + rotate_map_coordinates(&x, &y, (0 - _trackSaveDirection) & 3); + entrance->x = x; + entrance->y = y; - z *= 8; - z -= gTrackPreviewOrigin.z; - z /= 8; + z *= 8; + z -= gTrackPreviewOrigin.z; + z /= 8; - if (z > 127 || z < -126) { - gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; - return 0; - } + if (z > 127 || z < -126) { + gGameCommandErrorText = STR_TRACK_TOO_LARGE_OR_TOO_MUCH_SCENERY; + return 0; + } - if (z == 0xFF) { - z = 0x80; - } + if (z == 0xFF) { + z = 0x80; + } - entrance->z = z; + entrance->z = z; - // If this is the exit version - if (i == 1) { - entrance->direction |= (1 << 7); - } - entrance++; - numEntranceElements++; - } - } - td6->entrance_elements = realloc(td6->entrance_elements, numEntranceElements * sizeof(rct_td6_entrance_element) + 1); - *((uint8*)&td6->entrance_elements[numEntranceElements]) = 0xFF; + // If this is the exit version + if (i == 1) { + entrance->direction |= (1 << 7); + } + entrance++; + numEntranceElements++; + } + } + td6->entrance_elements = realloc(td6->entrance_elements, numEntranceElements * sizeof(rct_td6_entrance_element) + 1); + *((uint8*)&td6->entrance_elements[numEntranceElements]) = 0xFF; - place_virtual_track(td6, PTD_OPERATION_DRAW_OUTLINES, 0, 4096, 4096, 0); + place_virtual_track(td6, PTD_OPERATION_DRAW_OUTLINES, 0, 4096, 4096, 0); - // Resave global vars for scenery reasons. - gTrackPreviewOrigin = (rct_xyz16) { start_x, start_y, start_z }; + // Resave global vars for scenery reasons. + gTrackPreviewOrigin = (rct_xyz16) { start_x, start_y, start_z }; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - gMapSelectFlags &= ~MAP_SELECT_FLAG_GREEN; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + gMapSelectFlags &= ~MAP_SELECT_FLAG_GREEN; - td6->space_required_x = ((gTrackPreviewMax.x - gTrackPreviewMin.x) / 32) + 1; - td6->space_required_y = ((gTrackPreviewMax.y - gTrackPreviewMin.y) / 32) + 1; - return true; + td6->space_required_x = ((gTrackPreviewMax.x - gTrackPreviewMin.x) / 32) + 1; + td6->space_required_y = ((gTrackPreviewMax.y - gTrackPreviewMin.y) / 32) + 1; + return true; } static size_t track_design_get_maze_elements_count(rct_track_td6 *td6) { - size_t count = 0; - rct_td6_maze_element *mazeElement = td6->maze_elements; - while (mazeElement->all != 0) { - count++; - mazeElement++; - } - return count; + size_t count = 0; + rct_td6_maze_element *mazeElement = td6->maze_elements; + while (mazeElement->all != 0) { + count++; + mazeElement++; + } + return count; } static size_t track_design_get_track_elements_count(rct_track_td6 *td6) { - size_t count = 0; - rct_td6_track_element *trackElement = td6->track_elements; - while (trackElement->type != 0xFF) { - count++; - trackElement++; - } - return count; + size_t count = 0; + rct_td6_track_element *trackElement = td6->track_elements; + while (trackElement->type != 0xFF) { + count++; + trackElement++; + } + return count; } static size_t track_design_get_entrance_elements_count(rct_track_td6 *td6) { - size_t count = 0; - rct_td6_entrance_element *entranceElement = td6->entrance_elements; - while (entranceElement->z != -1) { - count++; - entranceElement++; - } - return count; + size_t count = 0; + rct_td6_entrance_element *entranceElement = td6->entrance_elements; + while (entranceElement->z != -1) { + count++; + entranceElement++; + } + return count; } static size_t track_design_get_scenery_elements_count(rct_track_td6 *td6) { - size_t count = 0; - rct_td6_scenery_element *sceneryElement = td6->scenery_elements; - if (sceneryElement != NULL) { - while ((sceneryElement->scenery_object.flags & 0xFF) != 0xFF) { - count++; - sceneryElement++; - } - } - return count; + size_t count = 0; + rct_td6_scenery_element *sceneryElement = td6->scenery_elements; + if (sceneryElement != NULL) { + while ((sceneryElement->scenery_object.flags & 0xFF) != 0xFF) { + count++; + sceneryElement++; + } + } + return count; } typedef struct auto_buffer { - void *ptr; - size_t length; - size_t capacity; + void *ptr; + size_t length; + size_t capacity; } auto_buffer; static void auto_buffer_write(auto_buffer *buffer, const void *src, size_t len) { - size_t remainingSpace = buffer->capacity - buffer->length; - if (remainingSpace < len) { - do { - buffer->capacity = max(8, buffer->capacity * 2); - remainingSpace = buffer->capacity - buffer->length; - } while (remainingSpace < len); + size_t remainingSpace = buffer->capacity - buffer->length; + if (remainingSpace < len) { + do { + buffer->capacity = max(8, buffer->capacity * 2); + remainingSpace = buffer->capacity - buffer->length; + } while (remainingSpace < len); - buffer->ptr = realloc(buffer->ptr, buffer->capacity); - } - memcpy((void*)((uintptr_t)buffer->ptr + buffer->length), src, len); - buffer->length += len; + buffer->ptr = realloc(buffer->ptr, buffer->capacity); + } + memcpy((void*)((uintptr_t)buffer->ptr + buffer->length), src, len); + buffer->length += len; } /** @@ -1195,41 +1195,41 @@ static void auto_buffer_write(auto_buffer *buffer, const void *src, size_t len) */ bool track_design_save_to_file(const utf8 *path) { - rct_track_td6 *td6 = _trackDesign; - const rct_td6_maze_element EndMarkerForMaze = { 0 }; - const uint8 EndMarker = 0xFF; + rct_track_td6 *td6 = _trackDesign; + const rct_td6_maze_element EndMarkerForMaze = { 0 }; + const uint8 EndMarker = 0xFF; - window_close_construction_windows(); + window_close_construction_windows(); - // Create TD6 data buffer - auto_buffer td6Buffer = { 0 }; - auto_buffer_write(&td6Buffer, td6, 0xA3); - if (td6->type == RIDE_TYPE_MAZE) { - auto_buffer_write(&td6Buffer, td6->maze_elements, track_design_get_maze_elements_count(td6) * sizeof(rct_td6_maze_element)); - auto_buffer_write(&td6Buffer, &EndMarkerForMaze, sizeof(EndMarkerForMaze)); - } else { - auto_buffer_write(&td6Buffer, td6->track_elements, track_design_get_track_elements_count(td6) * sizeof(rct_td6_track_element)); - auto_buffer_write(&td6Buffer, &EndMarker, sizeof(EndMarker)); - auto_buffer_write(&td6Buffer, td6->entrance_elements, track_design_get_entrance_elements_count(td6) * sizeof(rct_td6_entrance_element)); - auto_buffer_write(&td6Buffer, &EndMarker, sizeof(EndMarker)); - } - auto_buffer_write(&td6Buffer, td6->scenery_elements, track_design_get_scenery_elements_count(td6) * sizeof(rct_td6_scenery_element)); - auto_buffer_write(&td6Buffer, &EndMarker, sizeof(EndMarker)); + // Create TD6 data buffer + auto_buffer td6Buffer = { 0 }; + auto_buffer_write(&td6Buffer, td6, 0xA3); + if (td6->type == RIDE_TYPE_MAZE) { + auto_buffer_write(&td6Buffer, td6->maze_elements, track_design_get_maze_elements_count(td6) * sizeof(rct_td6_maze_element)); + auto_buffer_write(&td6Buffer, &EndMarkerForMaze, sizeof(EndMarkerForMaze)); + } else { + auto_buffer_write(&td6Buffer, td6->track_elements, track_design_get_track_elements_count(td6) * sizeof(rct_td6_track_element)); + auto_buffer_write(&td6Buffer, &EndMarker, sizeof(EndMarker)); + auto_buffer_write(&td6Buffer, td6->entrance_elements, track_design_get_entrance_elements_count(td6) * sizeof(rct_td6_entrance_element)); + auto_buffer_write(&td6Buffer, &EndMarker, sizeof(EndMarker)); + } + auto_buffer_write(&td6Buffer, td6->scenery_elements, track_design_get_scenery_elements_count(td6) * sizeof(rct_td6_scenery_element)); + auto_buffer_write(&td6Buffer, &EndMarker, sizeof(EndMarker)); - // Encode TD6 data - uint8 *encodedData = malloc(0x8000); - assert(td6Buffer.ptr != NULL); - size_t encodedDataLength = sawyercoding_encode_td6((uint8*)td6Buffer.ptr, encodedData, td6Buffer.length); + // Encode TD6 data + uint8 *encodedData = malloc(0x8000); + assert(td6Buffer.ptr != NULL); + size_t encodedDataLength = sawyercoding_encode_td6((uint8*)td6Buffer.ptr, encodedData, td6Buffer.length); - // Save encoded TD6 data to file - bool result; - log_verbose("saving track %s", path); - result = writeentirefile(path, encodedData, encodedDataLength); - if (!result) { - log_error("Failed to save %s", path); - } + // Save encoded TD6 data to file + bool result; + log_verbose("saving track %s", path); + result = writeentirefile(path, encodedData, encodedDataLength); + if (!result) { + log_error("Failed to save %s", path); + } - free(encodedData); - free(td6Buffer.ptr); - return result; + free(encodedData); + free(td6Buffer.ptr); + return result; } diff --git a/src/openrct2/ride/track_paint.c b/src/openrct2/ride/track_paint.c index 96c4a0282d..2b42a2f07f 100644 --- a/src/openrct2/ride/track_paint.c +++ b/src/openrct2/ride/track_paint.c @@ -31,174 +31,174 @@ /* rct2: 0x007667AC */ static rct_xy16 loc_7667AC[] = { - {.x = -1, .y = 0}, - {.x = 0, .y = -1}, - {.x = 1, .y = 0}, - {.x = 0, .y = 1}, + {.x = -1, .y = 0}, + {.x = 0, .y = -1}, + {.x = 1, .y = 0}, + {.x = 0, .y = 1}, }; /* rct2: 0x007667AE */ static rct_xy16 loc_7667AE[] = { - {.x = 0, .y = -1}, - {.x = 1, .y = 0}, - {.x = 0, .y = 1}, - {.x = -1, .y = 0}, + {.x = 0, .y = -1}, + {.x = 1, .y = 0}, + {.x = 0, .y = 1}, + {.x = -1, .y = 0}, }; const uint8 track_map_2x2[][4] = { - {0, 1, 2, 3}, - {1, 3, 0, 2}, - {3, 2, 1, 0}, - {2, 0, 3, 1} + {0, 1, 2, 3}, + {1, 3, 0, 2}, + {3, 2, 1, 0}, + {2, 0, 3, 1} }; const uint8 edges_2x2[] = { - EDGE_NE | EDGE_NW, - EDGE_NE | EDGE_SE, - EDGE_SW | EDGE_NW, - EDGE_SW | EDGE_SE, + EDGE_NE | EDGE_NW, + EDGE_NE | EDGE_SE, + EDGE_SW | EDGE_NW, + EDGE_SW | EDGE_SE, }; const uint8 track_map_3x3[][9] = { - {0, 1, 2, 3, 4, 5, 6, 7, 8}, - {0, 3, 5, 7, 2, 8, 1, 6, 4}, - {0, 7, 8, 6, 5, 4, 3, 1, 2}, - {0, 6, 4, 1, 8, 2, 7, 3, 5} + {0, 1, 2, 3, 4, 5, 6, 7, 8}, + {0, 3, 5, 7, 2, 8, 1, 6, 4}, + {0, 7, 8, 6, 5, 4, 3, 1, 2}, + {0, 6, 4, 1, 8, 2, 7, 3, 5} }; const uint8 edges_3x3[] = { - 0, - EDGE_NE | EDGE_NW, - EDGE_NE, - EDGE_NE | EDGE_SE, - EDGE_NW, - EDGE_SE, - EDGE_SW | EDGE_NW, - EDGE_SW | EDGE_SE, - EDGE_SW, + 0, + EDGE_NE | EDGE_NW, + EDGE_NE, + EDGE_NE | EDGE_SE, + EDGE_NW, + EDGE_SE, + EDGE_SW | EDGE_NW, + EDGE_SW | EDGE_SE, + EDGE_SW, }; const uint8 track_map_4x4[][16] = { - {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, - {3, 7, 11, 15, 2, 6, 10, 14, 1, 5, 9, 13, 0, 4, 8, 12}, - {15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, - {12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3}, + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, + {3, 7, 11, 15, 2, 6, 10, 14, 1, 5, 9, 13, 0, 4, 8, 12}, + {15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, + {12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3}, }; const uint8 edges_4x4[] = { - EDGE_NE | EDGE_NW, - EDGE_NE, - EDGE_NE, - EDGE_NE | EDGE_SE, - EDGE_NW, - 0, - 0, - EDGE_SE, - EDGE_NW, - 0, - 0, - EDGE_SE, - EDGE_NW | EDGE_SW, - EDGE_SW, - EDGE_SW, - EDGE_SW | EDGE_SE + EDGE_NE | EDGE_NW, + EDGE_NE, + EDGE_NE, + EDGE_NE | EDGE_SE, + EDGE_NW, + 0, + 0, + EDGE_SE, + EDGE_NW, + 0, + 0, + EDGE_SE, + EDGE_NW | EDGE_SW, + EDGE_SW, + EDGE_SW, + EDGE_SW | EDGE_SE }; const uint8 track_map_1x4[][4] = { - {0, 1, 2, 3}, - {2, 3, 0, 1}, - {2, 3, 0, 1}, - {0, 1, 2, 3}, + {0, 1, 2, 3}, + {2, 3, 0, 1}, + {2, 3, 0, 1}, + {0, 1, 2, 3}, }; const uint32 floorSpritesCork[] = { - SPR_FLOOR_CORK_SE_SW, - SPR_FLOOR_CORK_SW, - SPR_FLOOR_CORK_SE, - SPR_FLOOR_CORK + SPR_FLOOR_CORK_SE_SW, + SPR_FLOOR_CORK_SW, + SPR_FLOOR_CORK_SE, + SPR_FLOOR_CORK }; const uint32 fenceSpritesRope[] = { - SPR_FENCE_ROPE_NE, - SPR_FENCE_ROPE_SE, - SPR_FENCE_ROPE_SW, - SPR_FENCE_ROPE_NW + SPR_FENCE_ROPE_NE, + SPR_FENCE_ROPE_SE, + SPR_FENCE_ROPE_SW, + SPR_FENCE_ROPE_NW }; const uint32 fenceSpritesMetalB[] = { - SPR_FENCE_METAL_B_NE, - SPR_FENCE_METAL_B_SE, - SPR_FENCE_METAL_B_SW, - SPR_FENCE_METAL_B_NW + SPR_FENCE_METAL_B_NE, + SPR_FENCE_METAL_B_SE, + SPR_FENCE_METAL_B_SW, + SPR_FENCE_METAL_B_NW }; const uint32 trackSpritesSubmarineRideMiniHelicoptersQuarterTurn3Tiles[4][3] = { - { - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_0, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_1, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_2 - }, { - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_0, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_1, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_2 - }, { - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_0, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_1, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_2 - }, { - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_0, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_1, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_2 - } + { + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_0, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_1, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_2 + }, { + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_0, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_1, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_2 + }, { + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_0, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_1, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_2 + }, { + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_0, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_1, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_2 + } }; const uint32 trackSpritesSubmarineRideMiniHelicoptersQuarterTurn1Tile[4] = { - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_SW_NW, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_NW_NE, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_NE_SE, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_SE_SW, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_SW_NW, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_NW_NE, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_NE_SE, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_SE_SW, }; static const uint32 trackSpritesGhostTrainSpinningTunnel[2][2][4] = { - { - { - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_0, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_1, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_2, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_3 - }, - { - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_0, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_1, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_2, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_3 - } - }, - { - { - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_0, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_1, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_2, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_3 - }, - { - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_0, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_1, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_2, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_3 - } - } + { + { + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_0, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_1, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_2, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_3 + }, + { + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_0, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_1, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_2, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_3 + } + }, + { + { + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_0, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_1, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_2, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_3 + }, + { + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_0, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_1, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_2, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_3 + } + } }; enum { - SPR_STATION_COVER_OFFSET_NE_SW_BACK_0 = 0, - SPR_STATION_COVER_OFFSET_NE_SW_BACK_1, - SPR_STATION_COVER_OFFSET_NE_SW_FRONT, - SPR_STATION_COVER_OFFSET_SE_NW_BACK_0, - SPR_STATION_COVER_OFFSET_SE_NW_BACK_1, - SPR_STATION_COVER_OFFSET_SE_NW_FRONT, - SPR_STATION_COVER_OFFSET_TALL + SPR_STATION_COVER_OFFSET_NE_SW_BACK_0 = 0, + SPR_STATION_COVER_OFFSET_NE_SW_BACK_1, + SPR_STATION_COVER_OFFSET_NE_SW_FRONT, + SPR_STATION_COVER_OFFSET_SE_NW_BACK_0, + SPR_STATION_COVER_OFFSET_SE_NW_BACK_1, + SPR_STATION_COVER_OFFSET_SE_NW_FRONT, + SPR_STATION_COVER_OFFSET_TALL }; #ifdef NO_RCT2 @@ -209,827 +209,827 @@ bool gUseOriginalRidePaint = false; bool track_paint_util_has_fence(enum edge_t edge, rct_xy16 position, rct_map_element * mapElement, rct_ride * ride, uint8 rotation) { - rct_xy16 offset = { 0, 0 }; - switch (edge) { - case EDGE_NE: - offset = loc_7667AC[rotation]; - break; - case EDGE_SE: - offset = loc_7667AE[(rotation + 2) & 3]; - break; - case EDGE_SW: - offset = loc_7667AC[(rotation + 2) & 3]; - break; - case EDGE_NW: - offset = loc_7667AE[rotation]; - break; - } + rct_xy16 offset = { 0, 0 }; + switch (edge) { + case EDGE_NE: + offset = loc_7667AC[rotation]; + break; + case EDGE_SE: + offset = loc_7667AE[(rotation + 2) & 3]; + break; + case EDGE_SW: + offset = loc_7667AC[(rotation + 2) & 3]; + break; + case EDGE_NW: + offset = loc_7667AE[rotation]; + break; + } - uint16 entranceLoc = - ((position.x / 32) + offset.x) | - (((position.y / 32) + offset.y) * (1 << 8)); + uint16 entranceLoc = + ((position.x / 32) + offset.x) | + (((position.y / 32) + offset.y) * (1 << 8)); - sint32 entranceId = map_get_station(mapElement); + sint32 entranceId = map_get_station(mapElement); - return (ride->entrances[entranceId] != entranceLoc && ride->exits[entranceId] != entranceLoc); + return (ride->entrances[entranceId] != entranceLoc && ride->exits[entranceId] != entranceLoc); } void track_paint_util_paint_floor(uint8 edges, uint32 colourFlags, uint16 height, const uint32 floorSprites[4], uint8 rotation) { - uint32 imageId; + uint32 imageId; - if (edges & EDGE_SW && edges & EDGE_SE) { - imageId = floorSprites[0]; - } else if (edges & EDGE_SW) { - imageId = floorSprites[1]; - } else if (edges & EDGE_SE) { - imageId = floorSprites[2]; - } else { - imageId = floorSprites[3]; - } + if (edges & EDGE_SW && edges & EDGE_SE) { + imageId = floorSprites[0]; + } else if (edges & EDGE_SW) { + imageId = floorSprites[1]; + } else if (edges & EDGE_SE) { + imageId = floorSprites[2]; + } else { + imageId = floorSprites[3]; + } - sub_98197C(imageId | colourFlags, 0, 0, 32, 32, 1, height, 0, 0, height, rotation); + sub_98197C(imageId | colourFlags, 0, 0, 32, 32, 1, height, 0, 0, height, rotation); } void track_paint_util_paint_fences(uint8 edges, rct_xy16 position, rct_map_element * mapElement, rct_ride * ride, uint32 colourFlags, uint16 height, const uint32 fenceSprites[4], uint8 rotation) { - uint32 imageId; + uint32 imageId; - if (edges & EDGE_NW && track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, rotation)) { - imageId = fenceSprites[3] | colourFlags; - sub_98199C(imageId, 0, 0, 32, 1, 7, height, 0, 2, height + 2, rotation); - } - if (edges & EDGE_NE && track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, rotation)) { - imageId = fenceSprites[0] | colourFlags; - sub_98199C(imageId, 0, 0, 1, 32, 7, height, 2, 0, height + 2, rotation); - } - if (edges & EDGE_SE && track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, rotation)) { - imageId = fenceSprites[1] | colourFlags; - sub_98197C(imageId, 0, 0, 32, 1, 7, height, 0, 30, height + 2, rotation); - } - if (edges & EDGE_SW && track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, rotation)) { - imageId = fenceSprites[2] | colourFlags; - sub_98197C(imageId, 0, 0, 1, 32, 7, height, 30, 0, height + 2, rotation); - } + if (edges & EDGE_NW && track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, rotation)) { + imageId = fenceSprites[3] | colourFlags; + sub_98199C(imageId, 0, 0, 32, 1, 7, height, 0, 2, height + 2, rotation); + } + if (edges & EDGE_NE && track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, rotation)) { + imageId = fenceSprites[0] | colourFlags; + sub_98199C(imageId, 0, 0, 1, 32, 7, height, 2, 0, height + 2, rotation); + } + if (edges & EDGE_SE && track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, rotation)) { + imageId = fenceSprites[1] | colourFlags; + sub_98197C(imageId, 0, 0, 32, 1, 7, height, 0, 30, height + 2, rotation); + } + if (edges & EDGE_SW && track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, rotation)) { + imageId = fenceSprites[2] | colourFlags; + sub_98197C(imageId, 0, 0, 1, 32, 7, height, 30, 0, height + 2, rotation); + } } /* Supports are only placed every 2 tiles for flat pieces*/ bool track_paint_util_should_paint_supports(rct_xy16 position) { - if ((position.x & (1 << 5)) == (position.y & (1 << 5))) - return true; + if ((position.x & (1 << 5)) == (position.y & (1 << 5))) + return true; - if ((!(position.x & (1 << 5))) && (!(position.y & (1 << 5)))) - return true; + if ((!(position.x & (1 << 5))) && (!(position.y & (1 << 5)))) + return true; - return false; + return false; } void track_paint_util_draw_station_impl(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, uint16 coverHeight, rct_map_element * mapElement, sint32 fenceOffsetA, sint32 fenceOffsetB); void track_paint_util_draw_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element * mapElement) { - track_paint_util_draw_station_impl(rideIndex, trackSequence, direction, height, height, mapElement, 5, 7); + track_paint_util_draw_station_impl(rideIndex, trackSequence, direction, height, height, mapElement, 5, 7); } void track_paint_util_draw_station_2(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, rct_map_element * mapElement, sint32 fenceOffsetA, sint32 fenceOffsetB) { - track_paint_util_draw_station_impl(rideIndex, trackSequence, direction, height, height, mapElement, fenceOffsetA, fenceOffsetB); + track_paint_util_draw_station_impl(rideIndex, trackSequence, direction, height, height, mapElement, fenceOffsetA, fenceOffsetB); } void track_paint_util_draw_station_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, uint16 coverHeight, rct_map_element * mapElement) { - track_paint_util_draw_station_impl(rideIndex, trackSequence, direction, height, coverHeight, mapElement, 5, 7); + track_paint_util_draw_station_impl(rideIndex, trackSequence, direction, height, coverHeight, mapElement, 5, 7); } void track_paint_util_draw_station_impl(uint8 rideIndex, uint8 trackSequence, uint8 direction, uint16 height, uint16 coverHeight, rct_map_element * mapElement, sint32 fenceOffsetA, sint32 fenceOffsetB) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - rct_ride * ride = get_ride(rideIndex); - const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; - const bool hasGreenLight = (bool) (mapElement->properties.track.sequence & 0x80); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_ride * ride = get_ride(rideIndex); + const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; + const bool hasGreenLight = (bool) (mapElement->properties.track.sequence & 0x80); - bool hasFence; - uint32 imageId; + bool hasFence; + uint32 imageId; - if (direction == 0 || direction == 2) { - //height += 5 (height + 5); - hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); + if (direction == 0 || direction == 2) { + //height += 5 (height + 5); + hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 0) { - if (hasGreenLight) { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; - } - } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 2) { - imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE : SPR_STATION_PLATFORM_BEGIN_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98196C(imageId, 0, 0, 32, 8, 1, height + fenceOffsetA, get_current_rotation()); - //height -= 5 (height) - track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, coverHeight); - //height += 5 (height + 5) + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 0) { + if (hasGreenLight) { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; + } + } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 2) { + imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE : SPR_STATION_PLATFORM_BEGIN_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98196C(imageId, 0, 0, 32, 8, 1, height + fenceOffsetA, get_current_rotation()); + //height -= 5 (height) + track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, coverHeight); + //height += 5 (height + 5) - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 0) { - imageId = (hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; - } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 2) { - imageId = SPR_STATION_PLATFORM_BEGIN_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = SPR_STATION_PLATFORM_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98196C(imageId, 0, 24, 32, 8, 1, height + fenceOffsetA, get_current_rotation()); - //height += 2 (height + 7) + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 0) { + imageId = (hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; + } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 2) { + imageId = SPR_STATION_PLATFORM_BEGIN_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = SPR_STATION_PLATFORM_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98196C(imageId, 0, 24, 32, 8, 1, height + fenceOffsetA, get_current_rotation()); + //height += 2 (height + 7) - hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); - if (hasFence) { - if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 0) { - imageId = SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 2) { - imageId = SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NE_SW | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = SPR_STATION_FENCE_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98196C(imageId, 0, 31, 32, 1, 7, height + fenceOffsetB, get_current_rotation()); - } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 0) { - // Addition: draw only small fence if there is an entrance/exit at the beginning - imageId = SPR_STATION_FENCE_SMALL_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 31, 23, 1, 8, 7, height + fenceOffsetB, get_current_rotation()); - } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 2) { - // Addition: draw only small fence if there is an entrance/exit at the end - imageId = SPR_STATION_LIGHT_BACK_NE_SW | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 31, 23, 1, 8, 7, height + fenceOffsetB, get_current_rotation()); - } - //height -= 7 (height) - track_paint_util_draw_station_covers(EDGE_SE, hasFence, entranceStyle, direction, coverHeight); - //height += 7 (height + 7) + hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); + if (hasFence) { + if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 0) { + imageId = SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 2) { + imageId = SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NE_SW | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = SPR_STATION_FENCE_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98196C(imageId, 0, 31, 32, 1, 7, height + fenceOffsetB, get_current_rotation()); + } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 0) { + // Addition: draw only small fence if there is an entrance/exit at the beginning + imageId = SPR_STATION_FENCE_SMALL_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 31, 23, 1, 8, 7, height + fenceOffsetB, get_current_rotation()); + } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 2) { + // Addition: draw only small fence if there is an entrance/exit at the end + imageId = SPR_STATION_LIGHT_BACK_NE_SW | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 31, 23, 1, 8, 7, height + fenceOffsetB, get_current_rotation()); + } + //height -= 7 (height) + track_paint_util_draw_station_covers(EDGE_SE, hasFence, entranceStyle, direction, coverHeight); + //height += 7 (height + 7) - if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 0) { - imageId = SPR_STATION_FENCE_SMALL_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 31, 0, 1, 8, 7, height + fenceOffsetB, get_current_rotation()); - } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 2) { - imageId = SPR_STATION_LIGHT_BACK_NE_SW | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 31, 0, 1, 8, 7, height + fenceOffsetB, get_current_rotation()); - } - } else if (direction == 1 || direction == 3) { - //height += 5 (height + 5); - hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); + if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 0) { + imageId = SPR_STATION_FENCE_SMALL_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 31, 0, 1, 8, 7, height + fenceOffsetB, get_current_rotation()); + } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 2) { + imageId = SPR_STATION_LIGHT_BACK_NE_SW | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 31, 0, 1, 8, 7, height + fenceOffsetB, get_current_rotation()); + } + } else if (direction == 1 || direction == 3) { + //height += 5 (height + 5); + hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 3) { - if (hasGreenLight) { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; - } - } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 1) { - imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE : SPR_STATION_PLATFORM_BEGIN_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98196C(imageId, 0, 0, 8, 32, 1, height + fenceOffsetA, get_current_rotation()); - //height -= 5 (height) - track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, coverHeight); - //height += 5 (height + 5) + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 3) { + if (hasGreenLight) { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; + } + } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 1) { + imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE : SPR_STATION_PLATFORM_BEGIN_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98196C(imageId, 0, 0, 8, 32, 1, height + fenceOffsetA, get_current_rotation()); + //height -= 5 (height) + track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, coverHeight); + //height += 5 (height + 5) - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 3) { - imageId = (hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; - } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 1) { - imageId = SPR_STATION_PLATFORM_BEGIN_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = SPR_STATION_PLATFORM_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98196C(imageId, 24, 0, 8, 32, 1, height + fenceOffsetA, get_current_rotation()); - //height += 2 (height + 7) + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 3) { + imageId = (hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; + } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 1) { + imageId = SPR_STATION_PLATFORM_BEGIN_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = SPR_STATION_PLATFORM_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98196C(imageId, 24, 0, 8, 32, 1, height + fenceOffsetA, get_current_rotation()); + //height += 2 (height + 7) - hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); - if (hasFence) { - if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 3) { - imageId = SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 1) { - imageId = SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = SPR_STATION_FENCE_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98196C(imageId, 31, 0, 1, 32, 7, height + fenceOffsetB, get_current_rotation()); - } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 3) { - // Addition: draw only small fence if there is an entrance/exit at the beginning - imageId = SPR_STATION_FENCE_SMALL_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 23, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation()); - } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 1) { - // Addition: draw only small fence if there is an entrance/exit at the end - imageId = SPR_STATION_LIGHT_BACK_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 23, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation()); - } + hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); + if (hasFence) { + if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 3) { + imageId = SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 1) { + imageId = SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = SPR_STATION_FENCE_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98196C(imageId, 31, 0, 1, 32, 7, height + fenceOffsetB, get_current_rotation()); + } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 3) { + // Addition: draw only small fence if there is an entrance/exit at the beginning + imageId = SPR_STATION_FENCE_SMALL_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 23, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation()); + } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 1) { + // Addition: draw only small fence if there is an entrance/exit at the end + imageId = SPR_STATION_LIGHT_BACK_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 23, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation()); + } - //height -= 7 (height) - track_paint_util_draw_station_covers(EDGE_SW, hasFence, entranceStyle, direction, coverHeight); - //height += 7 (height + 7) + //height -= 7 (height) + track_paint_util_draw_station_covers(EDGE_SW, hasFence, entranceStyle, direction, coverHeight); + //height += 7 (height + 7) - if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 3) { - imageId = SPR_STATION_FENCE_SMALL_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation()); - } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 1) { - imageId = SPR_STATION_LIGHT_BACK_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation()); - } - } + if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 3) { + imageId = SPR_STATION_FENCE_SMALL_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation()); + } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 1) { + imageId = SPR_STATION_LIGHT_BACK_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation()); + } + } } void track_paint_util_draw_station_inverted(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement, uint8 stationVariant) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - rct_ride * ride = get_ride(rideIndex); - const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; - const bool hasGreenLight = (bool) (mapElement->properties.track.sequence & 0x80); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_ride * ride = get_ride(rideIndex); + const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; + const bool hasGreenLight = (bool) (mapElement->properties.track.sequence & 0x80); - bool hasFence; - uint32 imageId; + bool hasFence; + uint32 imageId; - if (direction == 0 || direction == 2) { - //height += 5 (height + 5); - hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); + if (direction == 0 || direction == 2) { + //height += 5 (height + 5); + hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 0) { - if (hasGreenLight) { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; - } - } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 2) { - imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE : SPR_STATION_PLATFORM_BEGIN_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98196C(imageId, 0, 0, 32, 8, 1, height + 6, get_current_rotation()); - //height -= 5 (height) - track_paint_util_draw_station_covers_2(EDGE_NW, hasFence, entranceStyle, direction, height, stationVariant); - //height += 5 (height + 5) + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 0) { + if (hasGreenLight) { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; + } + } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 2) { + imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE : SPR_STATION_PLATFORM_BEGIN_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98196C(imageId, 0, 0, 32, 8, 1, height + 6, get_current_rotation()); + //height -= 5 (height) + track_paint_util_draw_station_covers_2(EDGE_NW, hasFence, entranceStyle, direction, height, stationVariant); + //height += 5 (height + 5) - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 0) { - imageId = (hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; - } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 2) { - imageId = SPR_STATION_PLATFORM_BEGIN_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = SPR_STATION_PLATFORM_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98196C(imageId, 0, 24, 32, 8, 1, height + 6, get_current_rotation()); - //height += 2 (height + 7) + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 0) { + imageId = (hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE) | gTrackColours[SCHEME_SUPPORTS]; + } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 2) { + imageId = SPR_STATION_PLATFORM_BEGIN_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = SPR_STATION_PLATFORM_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98196C(imageId, 0, 24, 32, 8, 1, height + 6, get_current_rotation()); + //height += 2 (height + 7) - hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); - if (hasFence) { - if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 0) { - imageId = SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 2) { - imageId = SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NE_SW | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = SPR_STATION_INVERTED_FENCE_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98196C(imageId, 0, 31, 32, 1, 7, height + 8, get_current_rotation()); - } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 0) { - // Addition: draw only small fence if there is an entrance/exit at the beginning - imageId = SPR_STATION_FENCE_SMALL_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 31, 23, 1, 8, 7, height + 8, get_current_rotation()); - } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 2) { - // Addition: draw only small fence if there is an entrance/exit at the end - imageId = SPR_STATION_LIGHT_BACK_NE_SW | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 31, 23, 1, 8, 7, height + 8, get_current_rotation()); - } - //height -= 7 (height) - track_paint_util_draw_station_covers_2(EDGE_SE, hasFence, entranceStyle, direction, height, stationVariant); - //height += 7 (height + 7) + hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); + if (hasFence) { + if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 0) { + imageId = SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 2) { + imageId = SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NE_SW | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = SPR_STATION_INVERTED_FENCE_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98196C(imageId, 0, 31, 32, 1, 7, height + 8, get_current_rotation()); + } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 0) { + // Addition: draw only small fence if there is an entrance/exit at the beginning + imageId = SPR_STATION_FENCE_SMALL_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 31, 23, 1, 8, 7, height + 8, get_current_rotation()); + } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 2) { + // Addition: draw only small fence if there is an entrance/exit at the end + imageId = SPR_STATION_LIGHT_BACK_NE_SW | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 31, 23, 1, 8, 7, height + 8, get_current_rotation()); + } + //height -= 7 (height) + track_paint_util_draw_station_covers_2(EDGE_SE, hasFence, entranceStyle, direction, height, stationVariant); + //height += 7 (height + 7) - if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 0) { - imageId = SPR_STATION_FENCE_SMALL_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 31, 0, 1, 8, 7, height + 8, get_current_rotation()); - } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 2) { - imageId = SPR_STATION_LIGHT_BACK_NE_SW | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 31, 0, 1, 8, 7, height + 8, get_current_rotation()); - } - } else if (direction == 1 || direction == 3) { - //height += 5 (height + 5); - hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); + if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 0) { + imageId = SPR_STATION_FENCE_SMALL_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 31, 0, 1, 8, 7, height + 8, get_current_rotation()); + } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 2) { + imageId = SPR_STATION_LIGHT_BACK_NE_SW | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 31, 0, 1, 8, 7, height + 8, get_current_rotation()); + } + } else if (direction == 1 || direction == 3) { + //height += 5 (height + 5); + hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 3) { - if (hasGreenLight) { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; - } - } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 1) { - imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE : SPR_STATION_PLATFORM_BEGIN_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98196C(imageId, 0, 0, 8, 32, 1, height + 6, get_current_rotation()); - //height -= 5 (height) - track_paint_util_draw_station_covers_2(EDGE_NE, hasFence, entranceStyle, direction, height, stationVariant); - //height += 5 (height + 5) + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 3) { + if (hasGreenLight) { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; + } + } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 1) { + imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE : SPR_STATION_PLATFORM_BEGIN_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98196C(imageId, 0, 0, 8, 32, 1, height + 6, get_current_rotation()); + //height -= 5 (height) + track_paint_util_draw_station_covers_2(EDGE_NE, hasFence, entranceStyle, direction, height, stationVariant); + //height += 5 (height + 5) - if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 3) { - imageId = (hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; - } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 1) { - imageId = SPR_STATION_PLATFORM_BEGIN_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = SPR_STATION_PLATFORM_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98196C(imageId, 24, 0, 8, 32, 1, height + 6, get_current_rotation()); - //height += 2 (height + 7) + if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 3) { + imageId = (hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE) | gTrackColours[SCHEME_SUPPORTS]; + } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 1) { + imageId = SPR_STATION_PLATFORM_BEGIN_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = SPR_STATION_PLATFORM_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98196C(imageId, 24, 0, 8, 32, 1, height + 6, get_current_rotation()); + //height += 2 (height + 7) - hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); - if (hasFence) { - if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 3) { - imageId = SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 1) { - imageId = SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - } else { - imageId = SPR_STATION_INVERTED_FENCE_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - } - sub_98196C(imageId, 31, 0, 1, 32, 7, height + 8, get_current_rotation()); - } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 3) { - // Addition: draw only small fence if there is an entrance/exit at the beginning - imageId = SPR_STATION_FENCE_SMALL_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 23, 31, 8, 1, 7, height + 8, get_current_rotation()); - } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 1) { - // Addition: draw only small fence if there is an entrance/exit at the end - imageId = SPR_STATION_LIGHT_BACK_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 23, 31, 8, 1, 7, height + 8, get_current_rotation()); - } + hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); + if (hasFence) { + if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 3) { + imageId = SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 1) { + imageId = SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + } else { + imageId = SPR_STATION_INVERTED_FENCE_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + } + sub_98196C(imageId, 31, 0, 1, 32, 7, height + 8, get_current_rotation()); + } else if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 3) { + // Addition: draw only small fence if there is an entrance/exit at the beginning + imageId = SPR_STATION_FENCE_SMALL_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 23, 31, 8, 1, 7, height + 8, get_current_rotation()); + } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 1) { + // Addition: draw only small fence if there is an entrance/exit at the end + imageId = SPR_STATION_LIGHT_BACK_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 23, 31, 8, 1, 7, height + 8, get_current_rotation()); + } - //height -= 7 (height) - track_paint_util_draw_station_covers_2(EDGE_SW, hasFence, entranceStyle, direction, height, stationVariant); - //height += 7 (height + 7) + //height -= 7 (height) + track_paint_util_draw_station_covers_2(EDGE_SW, hasFence, entranceStyle, direction, height, stationVariant); + //height += 7 (height + 7) - if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 3) { - imageId = SPR_STATION_FENCE_SMALL_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 31, 8, 1, 7, height + 8, get_current_rotation()); - } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 1) { - imageId = SPR_STATION_LIGHT_BACK_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 31, 8, 1, 7, height + 8, get_current_rotation()); - } - } + if (mapElement->properties.track.type == TRACK_ELEM_BEGIN_STATION && direction == 3) { + imageId = SPR_STATION_FENCE_SMALL_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 31, 8, 1, 7, height + 8, get_current_rotation()); + } else if (mapElement->properties.track.type == TRACK_ELEM_END_STATION && direction == 1) { + imageId = SPR_STATION_LIGHT_BACK_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 31, 8, 1, 7, height + 8, get_current_rotation()); + } + } } bool track_paint_util_draw_station_covers(enum edge_t edge, bool hasFence, const rct_ride_entrance_definition * entranceStyle, uint8 direction, uint16 height) { - return track_paint_util_draw_station_covers_2(edge, hasFence, entranceStyle, direction, height, STATION_VARIANT_BASIC); + return track_paint_util_draw_station_covers_2(edge, hasFence, entranceStyle, direction, height, STATION_VARIANT_BASIC); } bool track_paint_util_draw_station_covers_2(enum edge_t edge, bool hasFence, const rct_ride_entrance_definition * entranceStyle, uint8 direction, uint16 height, uint8 stationVariant) { - if (!(g141E9DB & (G141E9DB_FLAG_1 | G141E9DB_FLAG_2))) { - return false; - } + if (!(g141E9DB & (G141E9DB_FLAG_1 | G141E9DB_FLAG_2))) { + return false; + } - static const sint16 heights[][2] = { - {22,0}, - {30,0}, - {46,0}, - }; + static const sint16 heights[][2] = { + {22,0}, + {30,0}, + {46,0}, + }; - uint32 imageId; - uint32 baseImageId = entranceStyle->base_image_id; - sint32 imageOffset = 0; - rct_xyz16 offset, bounds = { 0, 0, 0 }, boundsOffset = { 0, 0, 0 }; + uint32 imageId; + uint32 baseImageId = entranceStyle->base_image_id; + sint32 imageOffset = 0; + rct_xyz16 offset, bounds = { 0, 0, 0 }, boundsOffset = { 0, 0, 0 }; - offset = (rct_xyz16) {0, 0, height}; - switch (edge) { - case EDGE_NE: - bounds = (rct_xyz16) {1, 30, heights[stationVariant][0]}; - boundsOffset = (rct_xyz16) {0, 1, height + 1}; - imageOffset = hasFence ? SPR_STATION_COVER_OFFSET_SE_NW_BACK_1 : SPR_STATION_COVER_OFFSET_SE_NW_BACK_0; - break; - case EDGE_SE: - bounds = (rct_xyz16) {32, 32, 0}; - boundsOffset = (rct_xyz16) {0, 0, height + 1 + heights[stationVariant][0]}; - imageOffset = SPR_STATION_COVER_OFFSET_NE_SW_FRONT; - break; - case EDGE_SW: - bounds = (rct_xyz16) {32, 32, 0}; - boundsOffset = (rct_xyz16) {0, 0, height + 1 + heights[stationVariant][0]}; - imageOffset = SPR_STATION_COVER_OFFSET_SE_NW_FRONT; - break; - case EDGE_NW: - bounds = (rct_xyz16) {30, 1, heights[stationVariant][0]}; - boundsOffset = (rct_xyz16) {1, 0, height + 1}; - imageOffset = hasFence ? SPR_STATION_COVER_OFFSET_NE_SW_BACK_1 : SPR_STATION_COVER_OFFSET_NE_SW_BACK_0; - break; - } + offset = (rct_xyz16) {0, 0, height}; + switch (edge) { + case EDGE_NE: + bounds = (rct_xyz16) {1, 30, heights[stationVariant][0]}; + boundsOffset = (rct_xyz16) {0, 1, height + 1}; + imageOffset = hasFence ? SPR_STATION_COVER_OFFSET_SE_NW_BACK_1 : SPR_STATION_COVER_OFFSET_SE_NW_BACK_0; + break; + case EDGE_SE: + bounds = (rct_xyz16) {32, 32, 0}; + boundsOffset = (rct_xyz16) {0, 0, height + 1 + heights[stationVariant][0]}; + imageOffset = SPR_STATION_COVER_OFFSET_NE_SW_FRONT; + break; + case EDGE_SW: + bounds = (rct_xyz16) {32, 32, 0}; + boundsOffset = (rct_xyz16) {0, 0, height + 1 + heights[stationVariant][0]}; + imageOffset = SPR_STATION_COVER_OFFSET_SE_NW_FRONT; + break; + case EDGE_NW: + bounds = (rct_xyz16) {30, 1, heights[stationVariant][0]}; + boundsOffset = (rct_xyz16) {1, 0, height + 1}; + imageOffset = hasFence ? SPR_STATION_COVER_OFFSET_NE_SW_BACK_1 : SPR_STATION_COVER_OFFSET_NE_SW_BACK_0; + break; + } - if (gTrackColours[SCHEME_MISC] != 0x20000000) { - baseImageId &= 0x7FFFF; - } + if (gTrackColours[SCHEME_MISC] != 0x20000000) { + baseImageId &= 0x7FFFF; + } - if (baseImageId <= 0x20) { - return false; - } + if (baseImageId <= 0x20) { + return false; + } - if (stationVariant == STATION_VARIANT_TALL) { - imageOffset += SPR_STATION_COVER_OFFSET_TALL; - } + if (stationVariant == STATION_VARIANT_TALL) { + imageOffset += SPR_STATION_COVER_OFFSET_TALL; + } - if (baseImageId & 0x40000000) { - imageId = (baseImageId & 0xBFFFFFFF) + imageOffset; - sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation()); + if (baseImageId & 0x40000000) { + imageId = (baseImageId & 0xBFFFFFFF) + imageOffset; + sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation()); - uint32 edi = gTrackColours[SCHEME_TRACK] & (0b11111 << 19); + uint32 edi = gTrackColours[SCHEME_TRACK] & (0b11111 << 19); - // weird jump - imageId = (baseImageId | edi) + 0x3800000 + imageOffset + 12; - sub_98199C(imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation()); - return true; - } + // weird jump + imageId = (baseImageId | edi) + 0x3800000 + imageOffset + 12; + sub_98199C(imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation()); + return true; + } - imageId = (baseImageId + imageOffset) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation()); - return true; + imageId = (baseImageId + imageOffset) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation()); + return true; } void track_paint_util_draw_station_platform(rct_ride *ride, uint8 direction, sint32 height, sint32 zOffset, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; - if (direction & 1) { - bool hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); - uint32 imageId = (hasFence ? SPR_STATION_NARROW_EDGE_FENCED_NE : SPR_STATION_NARROW_EDGE_NE) | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 0, 8, 32, 1, height + zOffset, get_current_rotation()); - track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, height); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; + if (direction & 1) { + bool hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); + uint32 imageId = (hasFence ? SPR_STATION_NARROW_EDGE_FENCED_NE : SPR_STATION_NARROW_EDGE_NE) | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 0, 8, 32, 1, height + zOffset, get_current_rotation()); + track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, height); - imageId = SPR_STATION_NARROW_EDGE_SW | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 24, 0, 8, 32, 1, height + zOffset, get_current_rotation()); + imageId = SPR_STATION_NARROW_EDGE_SW | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 24, 0, 8, 32, 1, height + zOffset, get_current_rotation()); - hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); - if (hasFence) { - imageId = SPR_STATION_FENCE_NW_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 31, 0, 1, 32, 7, height + zOffset + 2, get_current_rotation()); - } - track_paint_util_draw_station_covers(EDGE_SW, hasFence, entranceStyle, direction, height); - } else { - bool hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); - uint32 imageId = (hasFence ? SPR_STATION_NARROW_EDGE_FENCED_NW : SPR_STATION_NARROW_EDGE_NW) | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 0, 32, 8, 1, height + zOffset, get_current_rotation()); - track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, height); + hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); + if (hasFence) { + imageId = SPR_STATION_FENCE_NW_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 31, 0, 1, 32, 7, height + zOffset + 2, get_current_rotation()); + } + track_paint_util_draw_station_covers(EDGE_SW, hasFence, entranceStyle, direction, height); + } else { + bool hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, get_current_rotation()); + uint32 imageId = (hasFence ? SPR_STATION_NARROW_EDGE_FENCED_NW : SPR_STATION_NARROW_EDGE_NW) | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 0, 32, 8, 1, height + zOffset, get_current_rotation()); + track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, height); - imageId = SPR_STATION_NARROW_EDGE_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 24, 32, 8, 1, height + zOffset, get_current_rotation()); + imageId = SPR_STATION_NARROW_EDGE_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 24, 32, 8, 1, height + zOffset, get_current_rotation()); - hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); - if (hasFence) { - imageId = SPR_STATION_FENCE_SW_NE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 31, 32, 1, 7, height + zOffset + 2, get_current_rotation()); - } - track_paint_util_draw_station_covers(EDGE_SE, hasFence, entranceStyle, direction, height); - } + hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, get_current_rotation()); + if (hasFence) { + imageId = SPR_STATION_FENCE_SW_NE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 31, 32, 1, 7, height + zOffset + 2, get_current_rotation()); + } + track_paint_util_draw_station_covers(EDGE_SE, hasFence, entranceStyle, direction, height); + } } void track_paint_util_draw_pier(rct_ride * ride, const rct_ride_entrance_definition * entranceStyle, rct_xy16 position, uint8 direction, sint32 height, rct_map_element * mapElement, uint8 rotation) { - bool hasFence; - uint32 imageId; + bool hasFence; + uint32 imageId; - if (direction & 1) { - hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); - imageId = (hasFence ? SPR_STATION_PIER_EDGE_NE_FENCED : SPR_STATION_PIER_EDGE_NE) | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 6, 32, 1, height, 2, 0, height, get_current_rotation()); - track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, height); + if (direction & 1) { + hasFence = track_paint_util_has_fence(EDGE_NE, position, mapElement, ride, get_current_rotation()); + imageId = (hasFence ? SPR_STATION_PIER_EDGE_NE_FENCED : SPR_STATION_PIER_EDGE_NE) | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 6, 32, 1, height, 2, 0, height, get_current_rotation()); + track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, height); - imageId = SPR_STATION_PIER_EDGE_SW | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 24, 0, 8, 32, 1, height, get_current_rotation()); + imageId = SPR_STATION_PIER_EDGE_SW | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 24, 0, 8, 32, 1, height, get_current_rotation()); - hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); - if (hasFence) { - imageId = SPR_STATION_PIER_FENCE_SW | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 31, 0, 1, 32, 7, height + 2, get_current_rotation()); - } - track_paint_util_draw_station_covers(EDGE_SW, hasFence, entranceStyle, direction, height); - } else { - hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, rotation); - imageId = (hasFence ? SPR_STATION_PIER_EDGE_NW_FENCED : SPR_STATION_PIER_EDGE_NW) | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 32, 6, 1, height, 0, 2, height, rotation); - track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, height); + hasFence = track_paint_util_has_fence(EDGE_SW, position, mapElement, ride, get_current_rotation()); + if (hasFence) { + imageId = SPR_STATION_PIER_FENCE_SW | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 31, 0, 1, 32, 7, height + 2, get_current_rotation()); + } + track_paint_util_draw_station_covers(EDGE_SW, hasFence, entranceStyle, direction, height); + } else { + hasFence = track_paint_util_has_fence(EDGE_NW, position, mapElement, ride, rotation); + imageId = (hasFence ? SPR_STATION_PIER_EDGE_NW_FENCED : SPR_STATION_PIER_EDGE_NW) | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 32, 6, 1, height, 0, 2, height, rotation); + track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, height); - imageId = SPR_STATION_PIER_EDGE_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 24, 32, 8, 1, height, rotation); + imageId = SPR_STATION_PIER_EDGE_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 24, 32, 8, 1, height, rotation); - hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, rotation); - if (hasFence) { - imageId = SPR_STATION_PIER_FENCE_SE | gTrackColours[SCHEME_SUPPORTS]; - sub_98196C(imageId, 0, 31, 32, 1, 7, height + 2, rotation); - } - track_paint_util_draw_station_covers(EDGE_SE, hasFence, entranceStyle, direction, height); - } + hasFence = track_paint_util_has_fence(EDGE_SE, position, mapElement, ride, rotation); + if (hasFence) { + imageId = SPR_STATION_PIER_FENCE_SE | gTrackColours[SCHEME_SUPPORTS]; + sub_98196C(imageId, 0, 31, 32, 1, 7, height + 2, rotation); + } + track_paint_util_draw_station_covers(EDGE_SE, hasFence, entranceStyle, direction, height); + } } void track_paint_util_draw_station_metal_supports(uint8 direction, uint16 height, uint32 colour) { - track_paint_util_draw_station_metal_supports_2(direction, height, colour, 3); + track_paint_util_draw_station_metal_supports_2(direction, height, colour, 3); } void track_paint_util_draw_station_metal_supports_2(uint8 direction, uint16 height, uint32 colour, uint8 type) { - if (direction & 1) { - metal_a_supports_paint_setup(type, 6, 0, height, colour); - metal_a_supports_paint_setup(type, 7, 0, height, colour); - } else { - metal_a_supports_paint_setup(type, 5, 0, height, colour); - metal_a_supports_paint_setup(type, 8, 0, height, colour); - } + if (direction & 1) { + metal_a_supports_paint_setup(type, 6, 0, height, colour); + metal_a_supports_paint_setup(type, 7, 0, height, colour); + } else { + metal_a_supports_paint_setup(type, 5, 0, height, colour); + metal_a_supports_paint_setup(type, 8, 0, height, colour); + } } const rct_xy16 defaultRightHelixUpSmallQuarterBoundLengths[4][3][2] = { - { - {32, 20}, - {16, 16}, - {20, 32} - }, - { - {20, 32}, - {16, 16}, - { {32, 20}, {32, 1} } - }, - { - { {0}, {32, 1} }, - {16, 16}, - { {0}, {1, 32} } - }, - { - { {20, 32}, {1, 32} }, - {16, 16}, - {32, 20}, - } + { + {32, 20}, + {16, 16}, + {20, 32} + }, + { + {20, 32}, + {16, 16}, + { {32, 20}, {32, 1} } + }, + { + { {0}, {32, 1} }, + {16, 16}, + { {0}, {1, 32} } + }, + { + { {20, 32}, {1, 32} }, + {16, 16}, + {32, 20}, + } }; const rct_xyz16 defaultRightHelixUpSmallQuarterBoundOffsets[4][3][2] = { - { - {0, 6}, - {16, 16}, - {6, 0}, - }, - { - {6, 0}, - {16, 0}, - { {0, 6}, {0, 27} }, - }, - { - { {0}, {0, 27} }, - {0, 0, 27}, - { {0}, {27, 0} }, - }, - { - { {6, 0}, {27, 0} }, - {0, 16}, - {0, 6}, - } + { + {0, 6}, + {16, 16}, + {6, 0}, + }, + { + {6, 0}, + {16, 0}, + { {0, 6}, {0, 27} }, + }, + { + { {0}, {0, 27} }, + {0, 0, 27}, + { {0}, {27, 0} }, + }, + { + { {6, 0}, {27, 0} }, + {0, 16}, + {0, 6}, + } }; static const sint8 right_helix_up_small_quarter_tiles_sprite_map[] = {0, -1, 1, 2}; void track_paint_util_right_helix_up_small_quarter_tiles_paint(const sint8 thickness[2], sint16 height, sint32 direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][3][2], const rct_xy16 offsets[4][3][2], const rct_xy16 boundsLengths[4][3][2], const rct_xyz16 boundsOffsets[4][3][2], uint8 rotation) { - sint32 index = right_helix_up_small_quarter_tiles_sprite_map[trackSequence]; - if (index < 0) { - return; - } + sint32 index = right_helix_up_small_quarter_tiles_sprite_map[trackSequence]; + if (index < 0) { + return; + } - if (sprites[direction][index][0] != 0) { - uint32 imageId = sprites[direction][index][0] | colourFlags; - rct_xy16 offset = (offsets == NULL ? (rct_xy16) { 0, 0 } : offsets[direction][index][0]); - rct_xy16 boundsLength = boundsLengths[direction][index][0]; - rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16) { .x = offset.x, .y = offset.y, .z = 0 } : boundsOffsets[direction][index][0]); + if (sprites[direction][index][0] != 0) { + uint32 imageId = sprites[direction][index][0] | colourFlags; + rct_xy16 offset = (offsets == NULL ? (rct_xy16) { 0, 0 } : offsets[direction][index][0]); + rct_xy16 boundsLength = boundsLengths[direction][index][0]; + rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16) { .x = offset.x, .y = offset.y, .z = 0 } : boundsOffsets[direction][index][0]); - sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[0], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); - } - if (sprites[direction][index][1] != 0) { - uint32 imageId = sprites[direction][index][1] | colourFlags; - rct_xy16 offset = (offsets == NULL ? (rct_xy16){0, 0} : offsets[direction][index][1]); - rct_xy16 boundsLength = boundsLengths[direction][index][1]; - rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16){.x = offset.x, .y = offset.y, .z = 0} : boundsOffsets[direction][index][1]); + sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[0], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); + } + if (sprites[direction][index][1] != 0) { + uint32 imageId = sprites[direction][index][1] | colourFlags; + rct_xy16 offset = (offsets == NULL ? (rct_xy16){0, 0} : offsets[direction][index][1]); + rct_xy16 boundsLength = boundsLengths[direction][index][1]; + rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16){.x = offset.x, .y = offset.y, .z = 0} : boundsOffsets[direction][index][1]); - sub_98197C(imageId, (sint8) offset.x, (sint8) offset.y, boundsLength.x, boundsLength.y, thickness[1], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); - } + sub_98197C(imageId, (sint8) offset.x, (sint8) offset.y, boundsLength.x, boundsLength.y, thickness[1], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); + } } const rct_xyz16 defaultRightHelixUpLargeQuarterBoundOffsets[4][5][2] = { - { - {0, 6}, - {0, 16}, - {0, 0}, - {16, 0}, - {6, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 16}, - {0, 0}, - { {0, 6}, {0, 27} }, - }, - { - { {0}, {0, 27} }, - {0, 0, 27}, - {16, 16, 27}, - {0, 0, 27}, - { {0}, {27, 0} }, - }, - { - {{6, 0}, {27, 0} }, - {0, 0}, - {16, 0}, - {0, 16}, - {0, 6}, - } + { + {0, 6}, + {0, 16}, + {0, 0}, + {16, 0}, + {6, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 16}, + {0, 0}, + { {0, 6}, {0, 27} }, + }, + { + { {0}, {0, 27} }, + {0, 0, 27}, + {16, 16, 27}, + {0, 0, 27}, + { {0}, {27, 0} }, + }, + { + {{6, 0}, {27, 0} }, + {0, 0}, + {16, 0}, + {0, 16}, + {0, 6}, + } }; const rct_xy16 defaultRightHelixUpLargeQuarterBoundLengths[4][5][2] = { - { - {32, 20}, - {32, 16}, - {16, 16}, - {16, 32}, - {20, 32}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {32, 16}, - { {32, 20}, {32, 1} }, - }, - { - { {0}, {32, 1} }, - {32, 16}, - {16, 16}, - {16, 32}, - { {0}, {1, 32} }, - }, - { - {{20, 32}, {1, 32} }, - {16, 32}, - {16, 16}, - {32, 16}, - {32, 20}, - } + { + {32, 20}, + {32, 16}, + {16, 16}, + {16, 32}, + {20, 32}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {32, 16}, + { {32, 20}, {32, 1} }, + }, + { + { {0}, {32, 1} }, + {32, 16}, + {16, 16}, + {16, 32}, + { {0}, {1, 32} }, + }, + { + {{20, 32}, {1, 32} }, + {16, 32}, + {16, 16}, + {32, 16}, + {32, 20}, + } }; static const sint8 right_helix_up_large_quarter_sprite_map[] = {0, -1, 1, 2, -1, 3, 4}; void track_paint_util_right_helix_up_large_quarter_tiles_paint(const sint8 thickness[2], sint16 height, sint32 direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][5][2], const rct_xy16 offsets[4][5][2], const rct_xy16 boundsLengths[4][5][2], const rct_xyz16 boundsOffsets[4][5][2], uint8 rotation) { - sint32 index = right_helix_up_large_quarter_sprite_map[trackSequence]; - if (index < 0) { - return; - } + sint32 index = right_helix_up_large_quarter_sprite_map[trackSequence]; + if (index < 0) { + return; + } - if (sprites[direction][index][0] != 0) { - uint32 imageId = sprites[direction][index][0] | colourFlags; - rct_xy16 offset = (offsets == NULL ? (rct_xy16) { 0, 0 } : offsets[direction][index][0]); - rct_xy16 boundsLength = boundsLengths[direction][index][0]; - rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16) { .x = offset.x, .y = offset.y, .z = 0 } : boundsOffsets[direction][index][0]); + if (sprites[direction][index][0] != 0) { + uint32 imageId = sprites[direction][index][0] | colourFlags; + rct_xy16 offset = (offsets == NULL ? (rct_xy16) { 0, 0 } : offsets[direction][index][0]); + rct_xy16 boundsLength = boundsLengths[direction][index][0]; + rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16) { .x = offset.x, .y = offset.y, .z = 0 } : boundsOffsets[direction][index][0]); - sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[0], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); - } - if (sprites[direction][index][1] != 0) { - uint32 imageId = sprites[direction][index][1] | colourFlags; - rct_xy16 offset = (offsets == NULL ? (rct_xy16){0, 0} : offsets[direction][index][1]); - rct_xy16 boundsLength = boundsLengths[direction][index][1]; - rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16){.x = offset.x, .y = offset.y, .z = 0} : boundsOffsets[direction][index][1]); + sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[0], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); + } + if (sprites[direction][index][1] != 0) { + uint32 imageId = sprites[direction][index][1] | colourFlags; + rct_xy16 offset = (offsets == NULL ? (rct_xy16){0, 0} : offsets[direction][index][1]); + rct_xy16 boundsLength = boundsLengths[direction][index][1]; + rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16){.x = offset.x, .y = offset.y, .z = 0} : boundsOffsets[direction][index][1]); - sub_98197C(imageId, (sint8) offset.x, (sint8) offset.y, boundsLength.x, boundsLength.y, thickness[1], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); - } + sub_98197C(imageId, (sint8) offset.x, (sint8) offset.y, boundsLength.x, boundsLength.y, thickness[1], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); + } } const rct_xy16 defaultLeftEighthToDiagBoundLengths[4][4] = { - { - {32, 20}, - {32, 16}, - {16, 16}, - {16, 16}, - }, - { - {20, 32}, - {16, 34}, - {16, 16}, - {18, 16}, - }, - { - {32, 20}, - {32, 16}, - {16, 16}, - {16, 16}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {16, 16}, - }, + { + {32, 20}, + {32, 16}, + {16, 16}, + {16, 16}, + }, + { + {20, 32}, + {16, 34}, + {16, 16}, + {18, 16}, + }, + { + {32, 20}, + {32, 16}, + {16, 16}, + {16, 16}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {16, 16}, + }, }; const rct_xyz16 defaultLeftEighthToDiagBoundOffsets[4][4] = { - { - {0, 6}, - {0, 0}, - {0, 16}, - {16, 16}, - }, - { - {6, 0}, - {0, 0}, - {16, 16}, - {16, 0}, - }, - { - {0, 6}, - {0, 16}, - {16, 0}, - {0, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 0}, - {0, 16}, - }, + { + {0, 6}, + {0, 0}, + {0, 16}, + {16, 16}, + }, + { + {6, 0}, + {0, 0}, + {16, 16}, + {16, 0}, + }, + { + {0, 6}, + {0, 16}, + {16, 0}, + {0, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 0}, + {0, 16}, + }, }; const rct_xy16 defaultRightEighthToDiagBoundLengths[4][4] = { - { - {32, 20}, - {32, 16}, - {16, 16}, - {16, 16}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {16, 16}, - }, - { - {32, 20}, - {34, 16}, - {28, 28}, - {16, 18}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {16, 16}, - }, + { + {32, 20}, + {32, 16}, + {16, 16}, + {16, 16}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {16, 16}, + }, + { + {32, 20}, + {34, 16}, + {28, 28}, + {16, 18}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {16, 16}, + }, }; const rct_xyz16 defaultRightEighthToDiagBoundOffsets[4][4] = { - { - {0, 6}, - {0, 16}, - {0, 0}, - {16, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 16}, - {0, 0}, - }, - { - {0, 6}, - {0, 0}, - {4, 4}, - {0, 16}, - }, - { - {6, 0}, - {0, 0}, - {16, 0}, - {16, 16}, - }, + { + {0, 6}, + {0, 16}, + {0, 0}, + {16, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 16}, + {0, 0}, + }, + { + {0, 6}, + {0, 0}, + {4, 4}, + {0, 16}, + }, + { + {6, 0}, + {0, 0}, + {16, 0}, + {16, 16}, + }, }; const sint8 defaultEighthToDiagThickness[4][4] = { - { - 1, - 1, - 1, - 1, - }, - { - 1, - 1, - 1, - 1, - }, - { - 1, - 1, - 1, - 1, - }, - { - 1, - 1, - 1, - 1, - }, + { + 1, + 1, + 1, + 1, + }, + { + 1, + 1, + 1, + 1, + }, + { + 1, + 1, + 1, + 1, + }, + { + 1, + 1, + 1, + 1, + }, }; const uint8 mapLeftEighthTurnToOrthogonal[] = { 4, 2, 3, 1, 0 }; @@ -1037,700 +1037,700 @@ const uint8 mapLeftEighthTurnToOrthogonal[] = { 4, 2, 3, 1, 0 }; static const sint8 eighth_to_diag_sprite_map[] = {0, 1, 2, -1, 3}; void track_paint_util_eighth_to_diag_tiles_paint(const sint8 thickness[4][4], sint16 height, sint32 direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][4], const rct_xy16 offsets[4][4], const rct_xy16 boundsLengths[4][4], const rct_xyz16 boundsOffsets[4][4], uint8 rotation) { - sint32 index = eighth_to_diag_sprite_map[trackSequence]; - if (index < 0) { - return; - } + sint32 index = eighth_to_diag_sprite_map[trackSequence]; + if (index < 0) { + return; + } - uint32 imageId = sprites[direction][index] | colourFlags; - rct_xy16 offset = (offsets == NULL ? (rct_xy16) { 0, 0 } : offsets[direction][index]); - rct_xy16 boundsLength = boundsLengths[direction][index]; - rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16) { .x = offset.x, .y = offset.y, .z = 0 } : boundsOffsets[direction][index]); + uint32 imageId = sprites[direction][index] | colourFlags; + rct_xy16 offset = (offsets == NULL ? (rct_xy16) { 0, 0 } : offsets[direction][index]); + rct_xy16 boundsLength = boundsLengths[direction][index]; + rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16) { .x = offset.x, .y = offset.y, .z = 0 } : boundsOffsets[direction][index]); - sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[direction][index], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); + sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[direction][index], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); } const rct_xy16 defaultDiagTileOffsets[4] = { - {-16, -16}, - {-16, -16}, - {-16, -16}, - {-16, -16}, + {-16, -16}, + {-16, -16}, + {-16, -16}, + {-16, -16}, }; const rct_xy16 defaultDiagBoundLengths[4] = { - {32, 32}, - {32, 32}, - {32, 32}, - {32, 32}, + {32, 32}, + {32, 32}, + {32, 32}, + {32, 32}, }; static const sint8 diag_sprite_map[4][4] = { - {-1, 0, -1, -1}, - {-1, -1, -1, 0}, - {-1, -1, 0, -1}, - {0, -1, -1, -1}, + {-1, 0, -1, -1}, + {-1, -1, -1, 0}, + {-1, -1, 0, -1}, + {0, -1, -1, -1}, }; void track_paint_util_diag_tiles_paint(sint8 thickness, sint16 height, sint32 direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4], const rct_xy16 offsets[4], const rct_xy16 boundsLengths[4], const rct_xyz16 boundsOffsets[4], uint8 rotation) { - sint32 index = diag_sprite_map[direction][trackSequence]; - if (index < 0) { - return; - } + sint32 index = diag_sprite_map[direction][trackSequence]; + if (index < 0) { + return; + } - uint32 imageId = sprites[direction] | colourFlags; - rct_xy16 offset = (offsets == NULL ? (rct_xy16) { 0, 0 } : offsets[direction]); - rct_xy16 boundsLength = boundsLengths[direction]; - rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16) { .x = offset.x, .y = offset.y, .z = 0 } : boundsOffsets[direction]); + uint32 imageId = sprites[direction] | colourFlags; + rct_xy16 offset = (offsets == NULL ? (rct_xy16) { 0, 0 } : offsets[direction]); + rct_xy16 boundsLength = boundsLengths[direction]; + rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16) { .x = offset.x, .y = offset.y, .z = 0 } : boundsOffsets[direction]); - sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); + sub_98197C(imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); } const uint8 mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[] = {6, 4, 5, 3, 1, 2, 0}; const rct_xy16 defaultRightQuarterTurn5TilesOffsets[4][5] = { - { - {0, 6}, - {0, 16}, - {0, 0}, - {16, 0}, - {6, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 16}, - {0, 0}, - {0, 6}, - }, - { - {0, 6}, - {0, 0}, - {16, 16}, - {0, 0}, - {6, 0}, - }, - { - {6, 0}, - {0, 0}, - {16, 0}, - {0, 16}, - {0, 6}, - } + { + {0, 6}, + {0, 16}, + {0, 0}, + {16, 0}, + {6, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 16}, + {0, 0}, + {0, 6}, + }, + { + {0, 6}, + {0, 0}, + {16, 16}, + {0, 0}, + {6, 0}, + }, + { + {6, 0}, + {0, 0}, + {16, 0}, + {0, 16}, + {0, 6}, + } }; const rct_xyz16 defaultRightQuarterTurn5TilesBoundOffsets[4][5] = { - { - {0, 6}, - {0, 16}, - {0, 0}, - {16, 0}, - {6, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 16}, - {0, 0}, - {0, 6}, - }, - { - {0, 6}, - {0, 0}, - {16, 16}, - {0, 0}, - {6, 0}, - }, - { - {6, 0}, - {0, 0}, - {16, 0}, - {0, 16}, - {0, 6}, - } + { + {0, 6}, + {0, 16}, + {0, 0}, + {16, 0}, + {6, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 16}, + {0, 0}, + {0, 6}, + }, + { + {0, 6}, + {0, 0}, + {16, 16}, + {0, 0}, + {6, 0}, + }, + { + {6, 0}, + {0, 0}, + {16, 0}, + {0, 16}, + {0, 6}, + } }; const rct_xy16 defaultRightQuarterTurn5TilesBoundLengths[4][5] = { - { - {32, 20}, - {32, 16}, - {16, 16}, - {16, 32}, - {20, 32}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {32, 16}, - {32, 20}, - }, - { - {32, 20}, - {32, 16}, - {16, 16}, - {16, 32}, - {20, 32}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {32, 16}, - {32, 20}, - } + { + {32, 20}, + {32, 16}, + {16, 16}, + {16, 32}, + {20, 32}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {32, 16}, + {32, 20}, + }, + { + {32, 20}, + {32, 16}, + {16, 16}, + {16, 32}, + {20, 32}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {32, 16}, + {32, 20}, + } }; static const sint8 right_quarter_turn_5_tiles_sprite_map[] = {0, -1, 1, 2, -1, 3, 4}; void track_paint_util_right_quarter_turn_5_tiles_paint(sint8 thickness, sint16 height, sint32 direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][5], const rct_xy16 offsets[4][5], const rct_xy16 boundsLengths[4][5], const rct_xyz16 boundsOffsets[4][5], uint8 rotation) { - sint32 index = right_quarter_turn_5_tiles_sprite_map[trackSequence]; - if (index < 0) { - return; - } + sint32 index = right_quarter_turn_5_tiles_sprite_map[trackSequence]; + if (index < 0) { + return; + } - uint32 imageId = sprites[direction][index] | colourFlags; - rct_xy16 offset = (offsets == NULL ? (rct_xy16){0, 0} : offsets[direction][index]); - rct_xy16 boundsLength = boundsLengths[direction][index]; - rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16) { .x = offset.x, .y = offset.y, .z = 0 } : boundsOffsets[direction][index]); + uint32 imageId = sprites[direction][index] | colourFlags; + rct_xy16 offset = (offsets == NULL ? (rct_xy16){0, 0} : offsets[direction][index]); + rct_xy16 boundsLength = boundsLengths[direction][index]; + rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16) { .x = offset.x, .y = offset.y, .z = 0 } : boundsOffsets[direction][index]); - sub_98197C(imageId, (sint8) offset.x, (sint8) offset.y, boundsLength.x, boundsLength.y, thickness, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); + sub_98197C(imageId, (sint8) offset.x, (sint8) offset.y, boundsLength.x, boundsLength.y, thickness, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); } void track_paint_util_right_quarter_turn_5_tiles_paint_2(sint16 height, sint32 direction, uint8 rotation, uint8 trackSequence, uint32 colourFlags, const sprite_bb sprites[][5]) { - sint8 sprite = right_quarter_turn_5_tiles_sprite_map[trackSequence]; - if (sprite < 0) { - return; - } + sint8 sprite = right_quarter_turn_5_tiles_sprite_map[trackSequence]; + if (sprite < 0) { + return; + } - const sprite_bb *spriteBB = &sprites[direction][sprite]; - uint32 imageId = spriteBB->sprite_id | colourFlags; - sub_98197C(imageId, - (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, - spriteBB->bb_size.x, spriteBB->bb_size.y, (sint8)spriteBB->bb_size.z, - height + spriteBB->offset.z, - spriteBB->bb_offset.x, spriteBB->bb_offset.y, height + spriteBB->bb_offset.z, - rotation); + const sprite_bb *spriteBB = &sprites[direction][sprite]; + uint32 imageId = spriteBB->sprite_id | colourFlags; + sub_98197C(imageId, + (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, + spriteBB->bb_size.x, spriteBB->bb_size.y, (sint8)spriteBB->bb_size.z, + height + spriteBB->offset.z, + spriteBB->bb_offset.x, spriteBB->bb_offset.y, height + spriteBB->bb_offset.z, + rotation); } void track_paint_util_right_quarter_turn_5_tiles_paint_3(sint16 height, sint32 direction, uint8 rotation, uint8 trackSequence, uint32 colourFlags, const sprite_bb sprites[][5]) { - sint8 sprite = right_quarter_turn_5_tiles_sprite_map[trackSequence]; - if (sprite < 0) { - return; - } + sint8 sprite = right_quarter_turn_5_tiles_sprite_map[trackSequence]; + if (sprite < 0) { + return; + } - const sprite_bb *spriteBB = &sprites[direction][sprite]; - uint32 imageId = spriteBB->sprite_id | colourFlags; - sub_98196C(imageId, - (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, - spriteBB->bb_size.x, spriteBB->bb_size.y, (sint8)spriteBB->bb_size.z, - height + spriteBB->offset.z, - rotation); + const sprite_bb *spriteBB = &sprites[direction][sprite]; + uint32 imageId = spriteBB->sprite_id | colourFlags; + sub_98196C(imageId, + (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, + spriteBB->bb_size.x, spriteBB->bb_size.y, (sint8)spriteBB->bb_size.z, + height + spriteBB->offset.z, + rotation); } void track_paint_util_right_quarter_turn_5_tiles_tunnel(sint16 height, uint8 direction, uint8 trackSequence, uint8 tunnelType) { - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, tunnelType); - } - if (direction == 0 && trackSequence == 6) { - paint_util_push_tunnel_right(height, tunnelType); - } - if (direction == 1 && trackSequence == 6) { - paint_util_push_tunnel_left(height, tunnelType); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, tunnelType); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, tunnelType); + } + if (direction == 0 && trackSequence == 6) { + paint_util_push_tunnel_right(height, tunnelType); + } + if (direction == 1 && trackSequence == 6) { + paint_util_push_tunnel_left(height, tunnelType); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, tunnelType); + } } void track_paint_util_right_quarter_turn_5_tiles_wooden_supports(sint16 height, uint8 direction, uint8 trackSequence) { - if (trackSequence != 1 && trackSequence != 4) { - static const uint8 supportTypes[][7] = { - { 0, 0xFF, 4, 2, 0xFF, 4, 1 }, - { 1, 0xFF, 5, 3, 0xFF, 5, 0 }, - { 0, 0xFF, 2, 4, 0xFF, 2, 1 }, - { 1, 0xFF, 3, 5, 0xFF, 3, 0 }, - }; - uint8 supportType = supportTypes[direction][trackSequence]; - wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - } + if (trackSequence != 1 && trackSequence != 4) { + static const uint8 supportTypes[][7] = { + { 0, 0xFF, 4, 2, 0xFF, 4, 1 }, + { 1, 0xFF, 5, 3, 0xFF, 5, 0 }, + { 0, 0xFF, 2, 4, 0xFF, 2, 1 }, + { 1, 0xFF, 3, 5, 0xFF, 3, 0 }, + }; + uint8 supportType = supportTypes[direction][trackSequence]; + wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + } } const uint8 mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[] = {3, 1, 2, 0}; const rct_xy16 defaultRightQuarterTurn3TilesOffsets[4][3] = { - { - {0, 6}, - {16, 16}, - {6, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 6}, - }, - { - {0, 6}, - {0, 0}, - {6, 0}, - }, - { - {6, 0}, - {0, 16}, - {0, 6}, - } + { + {0, 6}, + {16, 16}, + {6, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 6}, + }, + { + {0, 6}, + {0, 0}, + {6, 0}, + }, + { + {6, 0}, + {0, 16}, + {0, 6}, + } }; const rct_xyz16 defaultRightQuarterTurn3TilesBoundOffsets[4][3] = { - { - {0, 6}, - {16, 16}, - {6, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 6}, - }, - { - {0, 6}, - {0, 0}, - {6, 0}, - }, - { - {6, 0}, - {0, 16}, - {0, 6}, - } + { + {0, 6}, + {16, 16}, + {6, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 6}, + }, + { + {0, 6}, + {0, 0}, + {6, 0}, + }, + { + {6, 0}, + {0, 16}, + {0, 6}, + } }; const rct_xy16 defaultRightQuarterTurn3TilesBoundLengths[4][3] = { - { - {32, 20}, - {16, 16}, - {20, 32}, - }, - { - {20, 32}, - {16, 16}, - {32, 20}, - }, - { - {32, 20}, - {16, 16}, - {20, 32}, - }, - { - {20, 32}, - {16, 16}, - {32, 20}, - } + { + {32, 20}, + {16, 16}, + {20, 32}, + }, + { + {20, 32}, + {16, 16}, + {32, 20}, + }, + { + {32, 20}, + {16, 16}, + {20, 32}, + }, + { + {20, 32}, + {16, 16}, + {32, 20}, + } }; static const sint8 right_quarter_turn_3_tiles_sprite_map[] = {0, -1, 1, 2}; void track_paint_util_right_quarter_turn_3_tiles_paint(sint8 thickness, sint16 height, sint32 direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][3], const rct_xy16 offsets[4][3], const rct_xy16 boundsLengths[4][3], const rct_xyz16 boundsOffsets[4][3], uint8 rotation) { - sint32 index = right_quarter_turn_3_tiles_sprite_map[trackSequence]; - if (index < 0) { - return; - } + sint32 index = right_quarter_turn_3_tiles_sprite_map[trackSequence]; + if (index < 0) { + return; + } - uint32 imageId = sprites[direction][index] | colourFlags; - rct_xy16 offset = (offsets == NULL ? (rct_xy16){0, 0} : offsets[direction][index]); - rct_xy16 boundsLength = boundsLengths[direction][index]; - rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16) { .x = offset.x, .y = offset.y, .z = 0 } : boundsOffsets[direction][index]); + uint32 imageId = sprites[direction][index] | colourFlags; + rct_xy16 offset = (offsets == NULL ? (rct_xy16){0, 0} : offsets[direction][index]); + rct_xy16 boundsLength = boundsLengths[direction][index]; + rct_xyz16 boundsOffset = (boundsOffsets == NULL ? (rct_xyz16) { .x = offset.x, .y = offset.y, .z = 0 } : boundsOffsets[direction][index]); - sub_98197C(imageId, (sint8) offset.x, (sint8) offset.y, boundsLength.x, boundsLength.y, thickness, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); + sub_98197C(imageId, (sint8) offset.x, (sint8) offset.y, boundsLength.x, boundsLength.y, thickness, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation); } void track_paint_util_right_quarter_turn_3_tiles_paint_2(sint8 thickness, sint16 height, sint32 direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][3], uint8 rotation) { - track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(thickness, height, direction, trackSequence, colourFlags, sprites, rotation, 0); + track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(thickness, height, direction, trackSequence, colourFlags, sprites, rotation, 0); } void track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(sint8 thickness, sint16 height, sint32 direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][3], uint8 rotation, sint32 heightOffset) { - sint8 sprite = right_quarter_turn_3_tiles_sprite_map[trackSequence]; - if (sprite < 0) { - return; - } + sint8 sprite = right_quarter_turn_3_tiles_sprite_map[trackSequence]; + if (sprite < 0) { + return; + } - uint32 imageId = sprites[(direction + 1) % 4][sprite] | colourFlags; + uint32 imageId = sprites[(direction + 1) % 4][sprite] | colourFlags; - switch (direction) { - case 0: - switch (trackSequence) { - case 0: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; - case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 16, 16, height + heightOffset, rotation); break; - case 3: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; - } - break; + switch (direction) { + case 0: + switch (trackSequence) { + case 0: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; + case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 16, 16, height + heightOffset, rotation); break; + case 3: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; + } + break; - case 1: - switch (trackSequence) { - case 0: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; - case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 16, 0, height + heightOffset, rotation); break; - case 3: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; - } - break; + case 1: + switch (trackSequence) { + case 0: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; + case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 16, 0, height + heightOffset, rotation); break; + case 3: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; + } + break; - case 2: - switch (trackSequence) { - case 0: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; - case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 0, 0, height + heightOffset, rotation); break; - case 3: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; - } - break; + case 2: + switch (trackSequence) { + case 0: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; + case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 0, 0, height + heightOffset, rotation); break; + case 3: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; + } + break; - case 3: - switch (trackSequence) { - case 0: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; - case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 0, 16, height + heightOffset, rotation); break; - case 3: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; - } - break; - } + case 3: + switch (trackSequence) { + case 0: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; + case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 0, 16, height + heightOffset, rotation); break; + case 3: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; + } + break; + } } void track_paint_util_right_quarter_turn_3_tiles_paint_3(sint16 height, sint32 direction, uint8 rotation, uint8 trackSequence, uint32 colourFlags, const sprite_bb sprites[4][3]) { - sint8 sprite = right_quarter_turn_3_tiles_sprite_map[trackSequence]; - if (sprite < 0) { - return; - } - const sprite_bb * spriteBB = &sprites[direction][sprite]; - sub_98197C(spriteBB->sprite_id | colourFlags, (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, spriteBB->bb_size.x, spriteBB->bb_size.y, (sint8)spriteBB->bb_size.z, spriteBB->offset.z + height, spriteBB->bb_offset.x, spriteBB->bb_offset.y, height + spriteBB->bb_offset.z, rotation); + sint8 sprite = right_quarter_turn_3_tiles_sprite_map[trackSequence]; + if (sprite < 0) { + return; + } + const sprite_bb * spriteBB = &sprites[direction][sprite]; + sub_98197C(spriteBB->sprite_id | colourFlags, (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, spriteBB->bb_size.x, spriteBB->bb_size.y, (sint8)spriteBB->bb_size.z, spriteBB->offset.z + height, spriteBB->bb_offset.x, spriteBB->bb_offset.y, height + spriteBB->bb_offset.z, rotation); } void track_paint_util_right_quarter_turn_3_tiles_paint_4(sint16 height, sint32 direction, uint8 rotation, uint8 trackSequence, uint32 colourFlags, const sprite_bb sprites[4][3]) { - sint8 sprite = right_quarter_turn_3_tiles_sprite_map[trackSequence]; - if (sprite < 0) { - return; - } + sint8 sprite = right_quarter_turn_3_tiles_sprite_map[trackSequence]; + if (sprite < 0) { + return; + } - const sprite_bb *spriteBB = &sprites[direction][sprite]; - uint32 imageId = spriteBB->sprite_id | colourFlags; - sub_98196C(imageId, - (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, - spriteBB->bb_size.x, spriteBB->bb_size.y, (sint8)spriteBB->bb_size.z, - height + spriteBB->offset.z, - rotation); + const sprite_bb *spriteBB = &sprites[direction][sprite]; + uint32 imageId = spriteBB->sprite_id | colourFlags; + sub_98196C(imageId, + (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, + spriteBB->bb_size.x, spriteBB->bb_size.y, (sint8)spriteBB->bb_size.z, + height + spriteBB->offset.z, + rotation); } void track_paint_util_right_quarter_turn_3_tiles_tunnel(sint16 height, uint8 direction, uint8 trackSequence, uint8 tunnelType) { - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, tunnelType); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, tunnelType); + } - if (direction == 0 && trackSequence == 3) { - paint_util_push_tunnel_right(height, tunnelType); - } + if (direction == 0 && trackSequence == 3) { + paint_util_push_tunnel_right(height, tunnelType); + } - if (direction == 1 && trackSequence == 3) { - paint_util_push_tunnel_left(height, tunnelType); - } + if (direction == 1 && trackSequence == 3) { + paint_util_push_tunnel_left(height, tunnelType); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, tunnelType); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, tunnelType); + } } void track_paint_util_right_quarter_turn_3_tiles_25_deg_up_tunnel(sint16 height, uint8 direction, uint8 trackSequence, uint8 tunnelType0, uint8 tunnelType3) { - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height - 8, tunnelType0); - } - if (direction == 0 && trackSequence == 3) { - paint_util_push_tunnel_right(height + 8, tunnelType3); - } - if (direction == 1 && trackSequence == 3) { - paint_util_push_tunnel_left(height + 8, tunnelType3); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height - 8, tunnelType0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height - 8, tunnelType0); + } + if (direction == 0 && trackSequence == 3) { + paint_util_push_tunnel_right(height + 8, tunnelType3); + } + if (direction == 1 && trackSequence == 3) { + paint_util_push_tunnel_left(height + 8, tunnelType3); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height - 8, tunnelType0); + } } void track_paint_util_right_quarter_turn_3_tiles_25_deg_down_tunnel(sint16 height, uint8 direction, uint8 trackSequence, uint8 tunnelType0, uint8 tunnelType3) { - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height + 8, tunnelType0); - } - if (direction == 0 && trackSequence == 3) { - paint_util_push_tunnel_right(height - 8, tunnelType3); - } - if (direction == 1 && trackSequence == 3) { - paint_util_push_tunnel_left(height - 8, tunnelType3); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height + 8, tunnelType0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height + 8, tunnelType0); + } + if (direction == 0 && trackSequence == 3) { + paint_util_push_tunnel_right(height - 8, tunnelType3); + } + if (direction == 1 && trackSequence == 3) { + paint_util_push_tunnel_left(height - 8, tunnelType3); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height + 8, tunnelType0); + } } static const sint8 left_quarter_turn_3_tiles_sprite_map[] = {2, -1, 1, 0}; void track_paint_util_left_quarter_turn_3_tiles_paint(sint8 thickness, sint16 height, sint32 direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][3], uint8 rotation) { - track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(thickness, height, direction, trackSequence, colourFlags, sprites, rotation, 0); + track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(thickness, height, direction, trackSequence, colourFlags, sprites, rotation, 0); } void track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(sint8 thickness, sint16 height, sint32 direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][3], uint8 rotation, sint32 heightOffset) { - sint8 sprite = left_quarter_turn_3_tiles_sprite_map[trackSequence]; - if (sprite < 0) { - return; - } + sint8 sprite = left_quarter_turn_3_tiles_sprite_map[trackSequence]; + if (sprite < 0) { + return; + } - uint32 imageId = sprites[(direction + 1) % 4][sprite] | colourFlags; + uint32 imageId = sprites[(direction + 1) % 4][sprite] | colourFlags; - switch (direction) { - case 0: - switch (trackSequence) { - case 0: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; - case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 16, 0, height + heightOffset, rotation); break; - case 3: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; - } - break; + switch (direction) { + case 0: + switch (trackSequence) { + case 0: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; + case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 16, 0, height + heightOffset, rotation); break; + case 3: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; + } + break; - case 1: - switch (trackSequence) { - case 0: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; - case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 0, 0, height + heightOffset, rotation); break; - case 3: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; - } - break; + case 1: + switch (trackSequence) { + case 0: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; + case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 0, 0, height + heightOffset, rotation); break; + case 3: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; + } + break; - case 2: - switch (trackSequence) { - case 0: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; - case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 0, 16, height + heightOffset, rotation); break; - case 3: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; - } - break; + case 2: + switch (trackSequence) { + case 0: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; + case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 0, 16, height + heightOffset, rotation); break; + case 3: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; + } + break; - case 3: - switch (trackSequence) { - case 0: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; - case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 16, 16, height + heightOffset, rotation); break; - case 3: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; - } - break; - } + case 3: + switch (trackSequence) { + case 0: sub_98197C(imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation); break; + case 2: sub_98197C(imageId, 0, 0, 16, 16, thickness, height, 16, 16, height + heightOffset, rotation); break; + case 3: sub_98197C(imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation); break; + } + break; + } } // void track_paint_util_left_quarter_turn_3_tiles_paint_2(sint16 height, sint32 direction, uint8 rotation, uint8 trackSequence, uint32 colourFlags, const sprite_bb sprites[][5]) // { -// sint8 sprite = right_quarter_turn_5_tiles_sprite_map[trackSequence]; -// if (sprite < 0) { -// return; -// } +// sint8 sprite = right_quarter_turn_5_tiles_sprite_map[trackSequence]; +// if (sprite < 0) { +// return; +// } // -// const sprite_bb *spriteBB = &sprites[direction][sprite]; -// uint32 imageId = spriteBB->SpriteId | colourFlags; -// sub_98197C(imageId, -// (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, -// spriteBB->bb_size.x, spriteBB->bb_size.y, (sint8)spriteBB->bb_size.z, -// height + spriteBB->offset.z, -// spriteBB->bb_offset.x, spriteBB->bb_offset.y, height + spriteBB->bb_offset.z, -// rotation); +// const sprite_bb *spriteBB = &sprites[direction][sprite]; +// uint32 imageId = spriteBB->SpriteId | colourFlags; +// sub_98197C(imageId, +// (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, +// spriteBB->bb_size.x, spriteBB->bb_size.y, (sint8)spriteBB->bb_size.z, +// height + spriteBB->offset.z, +// spriteBB->bb_offset.x, spriteBB->bb_offset.y, height + spriteBB->bb_offset.z, +// rotation); // } void track_paint_util_left_quarter_turn_3_tiles_tunnel(sint16 height, uint8 tunnelType, uint8 direction, uint8 trackSequence) { - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, tunnelType); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, tunnelType); + } - if (direction == 2 && trackSequence == 3) { - paint_util_push_tunnel_right(height, tunnelType); - } + if (direction == 2 && trackSequence == 3) { + paint_util_push_tunnel_right(height, tunnelType); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, tunnelType); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, tunnelType); + } - if (direction == 3 && trackSequence == 3) { - paint_util_push_tunnel_left(height, tunnelType); - } + if (direction == 3 && trackSequence == 3) { + paint_util_push_tunnel_left(height, tunnelType); + } } void track_paint_util_left_quarter_turn_1_tile_paint(sint8 thickness, sint16 height, sint16 boundBoxZOffset, sint32 direction, uint32 colourFlags, const uint32 * sprites, uint8 rotation) { - uint32 imageId = sprites[direction] | colourFlags; + uint32 imageId = sprites[direction] | colourFlags; - switch (direction) { - case 0: sub_98197C(imageId, 0, 0, 26, 24, thickness, height, 6, 2, height + boundBoxZOffset, rotation); break; - case 1: sub_98197C(imageId, 0, 0, 26, 26, thickness, height, 0, 0, height + boundBoxZOffset, rotation); break; - case 2: sub_98197C(imageId, 0, 0, 24, 26, thickness, height, 2, 6, height + boundBoxZOffset, rotation); break; - case 3: sub_98197C(imageId, 0, 0, 24, 24, thickness, height, 6, 6, height + boundBoxZOffset, rotation); break; - } + switch (direction) { + case 0: sub_98197C(imageId, 0, 0, 26, 24, thickness, height, 6, 2, height + boundBoxZOffset, rotation); break; + case 1: sub_98197C(imageId, 0, 0, 26, 26, thickness, height, 0, 0, height + boundBoxZOffset, rotation); break; + case 2: sub_98197C(imageId, 0, 0, 24, 26, thickness, height, 2, 6, height + boundBoxZOffset, rotation); break; + case 3: sub_98197C(imageId, 0, 0, 24, 24, thickness, height, 6, 6, height + boundBoxZOffset, rotation); break; + } } void track_paint_util_right_quarter_turn_1_tile_tunnel(uint8 direction, uint16 baseHeight, sint8 startOffset, uint8 startTunnel, sint8 endOffset, uint8 endTunnel) { - track_paint_util_left_quarter_turn_1_tile_tunnel((direction + 3) % 4, baseHeight, endOffset, endTunnel, startOffset, startTunnel); + track_paint_util_left_quarter_turn_1_tile_tunnel((direction + 3) % 4, baseHeight, endOffset, endTunnel, startOffset, startTunnel); } void track_paint_util_left_quarter_turn_1_tile_tunnel(uint8 direction, uint16 baseHeight, sint8 startOffset, uint8 startTunnel, sint8 endOffset, uint8 endTunnel) { - switch (direction) { - case 0: - paint_util_push_tunnel_left(baseHeight + startOffset, startTunnel); - break; - case 2: - paint_util_push_tunnel_right(baseHeight + endOffset, endTunnel); - break; - case 3: - paint_util_push_tunnel_right(baseHeight + startOffset, startTunnel); - paint_util_push_tunnel_left(baseHeight + endOffset, endTunnel); - break; - } + switch (direction) { + case 0: + paint_util_push_tunnel_left(baseHeight + startOffset, startTunnel); + break; + case 2: + paint_util_push_tunnel_right(baseHeight + endOffset, endTunnel); + break; + case 3: + paint_util_push_tunnel_right(baseHeight + startOffset, startTunnel); + paint_util_push_tunnel_left(baseHeight + endOffset, endTunnel); + break; + } } void track_paint_util_spinning_tunnel_paint(sint8 thickness, sint16 height, uint8 direction, uint8 rotation) { - sint32 frame = gScenarioTicks >> 2 & 3; - uint32 colourFlags = gTrackColours[SCHEME_SUPPORTS]; + sint32 frame = gScenarioTicks >> 2 & 3; + uint32 colourFlags = gTrackColours[SCHEME_SUPPORTS]; - uint32 colourFlags2 = gTrackColours[SCHEME_TRACK]; - if (colourFlags2 & IMAGE_TYPE_REMAP_2_PLUS) { - colourFlags |= colourFlags2 & (IMAGE_TYPE_REMAP_2_PLUS | (0x1F << 24)); - } + uint32 colourFlags2 = gTrackColours[SCHEME_TRACK]; + if (colourFlags2 & IMAGE_TYPE_REMAP_2_PLUS) { + colourFlags |= colourFlags2 & (IMAGE_TYPE_REMAP_2_PLUS | (0x1F << 24)); + } - uint32 imageId = trackSpritesGhostTrainSpinningTunnel[direction & 1][0][frame] | colourFlags; - if (direction == 0 || direction == 2) { - sub_98199C(imageId, 0, 0, 28, 20, thickness, height, 2, 6, height, rotation); - } else { - sub_98199C(imageId, 0, 0, 20, 28, thickness, height, 6, 2, height, rotation); - } + uint32 imageId = trackSpritesGhostTrainSpinningTunnel[direction & 1][0][frame] | colourFlags; + if (direction == 0 || direction == 2) { + sub_98199C(imageId, 0, 0, 28, 20, thickness, height, 2, 6, height, rotation); + } else { + sub_98199C(imageId, 0, 0, 20, 28, thickness, height, 6, 2, height, rotation); + } - imageId = trackSpritesGhostTrainSpinningTunnel[direction & 1][1][frame] | colourFlags; - if (direction == 0 || direction == 2) { - sub_98197C(imageId, 0, 0, 26, 1, 23, height, 4, 28, height, rotation); - } else { - sub_98197C(imageId, 0, 0, 1, 26, 23, height, 28, 4, height, rotation); - } + imageId = trackSpritesGhostTrainSpinningTunnel[direction & 1][1][frame] | colourFlags; + if (direction == 0 || direction == 2) { + sub_98197C(imageId, 0, 0, 26, 1, 23, height, 4, 28, height, rotation); + } else { + sub_98197C(imageId, 0, 0, 1, 26, 23, height, 28, 4, height, rotation); + } } void track_paint_util_onride_photo_small_paint(uint8 direction, sint32 height, rct_map_element *mapElement) { - static const uint32 imageIds[4][3] = - { - { SPR_ON_RIDE_PHOTO_SIGN_SMALL_SW_NE, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_S, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_S }, - { SPR_ON_RIDE_PHOTO_SIGN_SMALL_NW_SE, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_W, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_W }, - { SPR_ON_RIDE_PHOTO_SIGN_SMALL_NE_SW, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_N, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_N }, - { SPR_ON_RIDE_PHOTO_SIGN_SMALL_SE_NW, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_E, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_E }, - }; + static const uint32 imageIds[4][3] = + { + { SPR_ON_RIDE_PHOTO_SIGN_SMALL_SW_NE, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_S, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_S }, + { SPR_ON_RIDE_PHOTO_SIGN_SMALL_NW_SE, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_W, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_W }, + { SPR_ON_RIDE_PHOTO_SIGN_SMALL_NE_SW, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_N, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_N }, + { SPR_ON_RIDE_PHOTO_SIGN_SMALL_SE_NW, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_E, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_E }, + }; - bool takingPhoto = (mapElement->properties.track.sequence & 0xF0) != 0; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_MISC]; - uint32 flashImageId = imageIds[direction][takingPhoto ? 2 : 1] | gTrackColours[SCHEME_MISC]; - switch (direction) { - case 0: - sub_98196C(imageId, 26, 0, 1, 1, 19, height, get_current_rotation()); - sub_98196C(imageId, 26, 31, 1, 1, 19, height, get_current_rotation()); - sub_98196C(flashImageId, 6, 0, 1, 1, 19, height, get_current_rotation()); - break; - case 1: - sub_98196C(imageId, 0, 6, 1, 1, 19, height, get_current_rotation()); - sub_98196C(imageId, 31, 6, 1, 1, 19, height, get_current_rotation()); - sub_98196C(flashImageId, 0, 26, 1, 1, 19, height, get_current_rotation()); - break; - case 2: - sub_98196C(imageId, 6, 0, 1, 1, 19, height, get_current_rotation()); - sub_98196C(imageId, 6, 31, 1, 1, 19, height, get_current_rotation()); - sub_98196C(flashImageId, 26, 31, 1, 1, 19, height, get_current_rotation()); - break; - case 3: - sub_98196C(imageId, 0, 26, 1, 1, 19, height, get_current_rotation()); - sub_98196C(imageId, 31, 26, 1, 1, 19, height, get_current_rotation()); - sub_98196C(flashImageId, 31, 6, 1, 1, 19, height, get_current_rotation()); - break; - } + bool takingPhoto = (mapElement->properties.track.sequence & 0xF0) != 0; + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_MISC]; + uint32 flashImageId = imageIds[direction][takingPhoto ? 2 : 1] | gTrackColours[SCHEME_MISC]; + switch (direction) { + case 0: + sub_98196C(imageId, 26, 0, 1, 1, 19, height, get_current_rotation()); + sub_98196C(imageId, 26, 31, 1, 1, 19, height, get_current_rotation()); + sub_98196C(flashImageId, 6, 0, 1, 1, 19, height, get_current_rotation()); + break; + case 1: + sub_98196C(imageId, 0, 6, 1, 1, 19, height, get_current_rotation()); + sub_98196C(imageId, 31, 6, 1, 1, 19, height, get_current_rotation()); + sub_98196C(flashImageId, 0, 26, 1, 1, 19, height, get_current_rotation()); + break; + case 2: + sub_98196C(imageId, 6, 0, 1, 1, 19, height, get_current_rotation()); + sub_98196C(imageId, 6, 31, 1, 1, 19, height, get_current_rotation()); + sub_98196C(flashImageId, 26, 31, 1, 1, 19, height, get_current_rotation()); + break; + case 3: + sub_98196C(imageId, 0, 26, 1, 1, 19, height, get_current_rotation()); + sub_98196C(imageId, 31, 26, 1, 1, 19, height, get_current_rotation()); + sub_98196C(flashImageId, 31, 6, 1, 1, 19, height, get_current_rotation()); + break; + } } void track_paint_util_onride_photo_paint(uint8 direction, sint32 height, rct_map_element *mapElement) { - static const uint32 imageIds[4][3] = - { - { SPR_ON_RIDE_PHOTO_SIGN_SW_NE, SPR_ON_RIDE_PHOTO_CAMERA_S, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_S }, - { SPR_ON_RIDE_PHOTO_SIGN_NW_SE, SPR_ON_RIDE_PHOTO_CAMERA_W, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_W }, - { SPR_ON_RIDE_PHOTO_SIGN_NE_SW, SPR_ON_RIDE_PHOTO_CAMERA_N, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_N }, - { SPR_ON_RIDE_PHOTO_SIGN_SE_NW, SPR_ON_RIDE_PHOTO_CAMERA_E, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_E }, - }; + static const uint32 imageIds[4][3] = + { + { SPR_ON_RIDE_PHOTO_SIGN_SW_NE, SPR_ON_RIDE_PHOTO_CAMERA_S, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_S }, + { SPR_ON_RIDE_PHOTO_SIGN_NW_SE, SPR_ON_RIDE_PHOTO_CAMERA_W, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_W }, + { SPR_ON_RIDE_PHOTO_SIGN_NE_SW, SPR_ON_RIDE_PHOTO_CAMERA_N, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_N }, + { SPR_ON_RIDE_PHOTO_SIGN_SE_NW, SPR_ON_RIDE_PHOTO_CAMERA_E, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_E }, + }; - bool takingPhoto = (mapElement->properties.track.sequence & 0xF0) != 0; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_MISC]; - uint32 flashImageId = imageIds[direction][takingPhoto ? 2 : 1] | gTrackColours[SCHEME_MISC]; - switch (direction) { - case 0: - sub_98196C(imageId, 26, 0, 1, 1, 19, height, get_current_rotation()); - sub_98196C(imageId, 26, 31, 1, 1, 19, height, get_current_rotation()); - sub_98196C(flashImageId, 6, 0, 1, 1, 19, height, get_current_rotation()); - break; - case 1: - sub_98196C(imageId, 0, 6, 1, 1, 19, height, get_current_rotation()); - sub_98196C(imageId, 31, 6, 1, 1, 19, height, get_current_rotation()); - sub_98196C(flashImageId, 0, 26, 1, 1, 19, height, get_current_rotation()); - break; - case 2: - sub_98196C(imageId, 6, 0, 1, 1, 19, height, get_current_rotation()); - sub_98196C(imageId, 6, 31, 1, 1, 19, height, get_current_rotation()); - sub_98196C(flashImageId, 26, 31, 1, 1, 19, height, get_current_rotation()); - break; - case 3: - sub_98196C(imageId, 0, 26, 1, 1, 19, height, get_current_rotation()); - sub_98196C(imageId, 31, 26, 1, 1, 19, height, get_current_rotation()); - sub_98196C(flashImageId, 31, 6, 1, 1, 19, height, get_current_rotation()); - break; - } + bool takingPhoto = (mapElement->properties.track.sequence & 0xF0) != 0; + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_MISC]; + uint32 flashImageId = imageIds[direction][takingPhoto ? 2 : 1] | gTrackColours[SCHEME_MISC]; + switch (direction) { + case 0: + sub_98196C(imageId, 26, 0, 1, 1, 19, height, get_current_rotation()); + sub_98196C(imageId, 26, 31, 1, 1, 19, height, get_current_rotation()); + sub_98196C(flashImageId, 6, 0, 1, 1, 19, height, get_current_rotation()); + break; + case 1: + sub_98196C(imageId, 0, 6, 1, 1, 19, height, get_current_rotation()); + sub_98196C(imageId, 31, 6, 1, 1, 19, height, get_current_rotation()); + sub_98196C(flashImageId, 0, 26, 1, 1, 19, height, get_current_rotation()); + break; + case 2: + sub_98196C(imageId, 6, 0, 1, 1, 19, height, get_current_rotation()); + sub_98196C(imageId, 6, 31, 1, 1, 19, height, get_current_rotation()); + sub_98196C(flashImageId, 26, 31, 1, 1, 19, height, get_current_rotation()); + break; + case 3: + sub_98196C(imageId, 0, 26, 1, 1, 19, height, get_current_rotation()); + sub_98196C(imageId, 31, 26, 1, 1, 19, height, get_current_rotation()); + sub_98196C(flashImageId, 31, 6, 1, 1, 19, height, get_current_rotation()); + break; + } } uint16 RightVerticalLoopSegments[] ={ - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, - SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, - 0, - 0, - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, - SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, + SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, + 0, + 0, + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, + SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, }; void track_paint_util_right_vertical_loop_segments(uint8 direction, uint8 trackSequence) { - if (trackSequence > 9) - { - // P - return; - } + if (trackSequence > 9) + { + // P + return; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(RightVerticalLoopSegments[trackSequence], direction), 0xFFFF, 0); + paint_util_set_segment_support_height(paint_util_rotate_segments(RightVerticalLoopSegments[trackSequence], direction), 0xFFFF, 0); } void track_paint_util_left_corkscrew_up_supports(uint8 direction, uint16 height) { - // TODO: Figure out which of these looks best, and use one to keep a consistent world - if (direction == 2) { - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - } - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction != 2) { - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - } + // TODO: Figure out which of these looks best, and use one to keep a consistent world + if (direction == 2) { + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + } + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction != 2) { + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + } } /** @@ -1739,91 +1739,91 @@ void track_paint_util_left_corkscrew_up_supports(uint8 direction, uint16 height) */ void track_paint(uint8 direction, sint32 height, rct_map_element *mapElement) { - sint32 rideIndex = mapElement->properties.track.ride_index; - rct_ride *ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_NULL) { - log_error("Attempted to paint invalid ride: %d", rideIndex); - return; - } + sint32 rideIndex = mapElement->properties.track.ride_index; + rct_ride *ride = get_ride(rideIndex); + if (ride->type == RIDE_TYPE_NULL) { + log_error("Attempted to paint invalid ride: %d", rideIndex); + return; + } - // HACK Set entrance style to plain if none to stop glitch until entrance track piece is implemented - bool isEntranceStyleNone = false; - if (ride->entrance_style == RIDE_ENTRANCE_STYLE_NONE) { - isEntranceStyleNone = true; - ride->entrance_style = RIDE_ENTRANCE_STYLE_PLAIN; - } + // HACK Set entrance style to plain if none to stop glitch until entrance track piece is implemented + bool isEntranceStyleNone = false; + if (ride->entrance_style == RIDE_ENTRANCE_STYLE_NONE) { + isEntranceStyleNone = true; + ride->entrance_style = RIDE_ENTRANCE_STYLE_PLAIN; + } - rct_drawpixelinfo *dpi = unk_140E9A8; + rct_drawpixelinfo *dpi = unk_140E9A8; - if (!gTrackDesignSaveMode || rideIndex == gTrackDesignSaveRideIndex) { - sint32 trackType = mapElement->properties.track.type; - sint32 trackSequence = mapElement->properties.track.sequence & 0x0F; - sint32 trackColourScheme = mapElement->properties.track.colour & 3; + if (!gTrackDesignSaveMode || rideIndex == gTrackDesignSaveRideIndex) { + sint32 trackType = mapElement->properties.track.type; + sint32 trackSequence = mapElement->properties.track.sequence & 0x0F; + sint32 trackColourScheme = mapElement->properties.track.colour & 3; - if ((gCurrentViewportFlags & VIEWPORT_FLAG_TRACK_HEIGHTS) && dpi->zoom_level == 0) { - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - if (TrackHeightMarkerPositions[trackType] & (1 << trackSequence)) { - uint16 ax = RideData5[ride->type].z_offset; - uint32 ebx = 0x20381689 + (height + 8) / 16; - ebx += get_height_marker_offset(); - ebx -= gMapBaseZ; - sub_98197C(ebx, 16, 16, 1, 1, 0, height + ax + 3, 1000, 1000, 2047, get_current_rotation()); - } - } + if ((gCurrentViewportFlags & VIEWPORT_FLAG_TRACK_HEIGHTS) && dpi->zoom_level == 0) { + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + if (TrackHeightMarkerPositions[trackType] & (1 << trackSequence)) { + uint16 ax = RideData5[ride->type].z_offset; + uint32 ebx = 0x20381689 + (height + 8) / 16; + ebx += get_height_marker_offset(); + ebx -= gMapBaseZ; + sub_98197C(ebx, 16, 16, 1, 1, 0, height + ax + 3, 1000, 1000, 2047, get_current_rotation()); + } + } - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; - gTrackColours[SCHEME_TRACK] = (ride->track_colour_main[trackColourScheme] << 19) | (ride->track_colour_additional[trackColourScheme] << 24) | 0xA0000000; - gTrackColours[SCHEME_SUPPORTS] = (ride->track_colour_supports[trackColourScheme] << 19) | 0x20000000; - gTrackColours[SCHEME_MISC] = 0x20000000; - gTrackColours[SCHEME_3] = 0x20C00000; - if (mapElement->type & MAP_ELEMENT_TYPE_FLAG_HIGHLIGHT) { - gTrackColours[SCHEME_TRACK] = 0x21600000; - gTrackColours[SCHEME_SUPPORTS] = 0x21600000; - gTrackColours[SCHEME_MISC] = 0x21600000; - gTrackColours[SCHEME_3] = 0x21600000; - } - if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) { - uint32 ghost_id = construction_markers[gConfigGeneral.construction_marker_colour]; - gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; - gTrackColours[SCHEME_TRACK] = ghost_id; - gTrackColours[SCHEME_SUPPORTS] = ghost_id; - gTrackColours[SCHEME_MISC] = ghost_id; - gTrackColours[SCHEME_3] = ghost_id; - } + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE; + gTrackColours[SCHEME_TRACK] = (ride->track_colour_main[trackColourScheme] << 19) | (ride->track_colour_additional[trackColourScheme] << 24) | 0xA0000000; + gTrackColours[SCHEME_SUPPORTS] = (ride->track_colour_supports[trackColourScheme] << 19) | 0x20000000; + gTrackColours[SCHEME_MISC] = 0x20000000; + gTrackColours[SCHEME_3] = 0x20C00000; + if (mapElement->type & MAP_ELEMENT_TYPE_FLAG_HIGHLIGHT) { + gTrackColours[SCHEME_TRACK] = 0x21600000; + gTrackColours[SCHEME_SUPPORTS] = 0x21600000; + gTrackColours[SCHEME_MISC] = 0x21600000; + gTrackColours[SCHEME_3] = 0x21600000; + } + if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) { + uint32 ghost_id = construction_markers[gConfigGeneral.construction_marker_colour]; + gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + gTrackColours[SCHEME_TRACK] = ghost_id; + gTrackColours[SCHEME_SUPPORTS] = ghost_id; + gTrackColours[SCHEME_MISC] = ghost_id; + gTrackColours[SCHEME_3] = ghost_id; + } - bool useOriginalRidePaint = false; + bool useOriginalRidePaint = false; #ifndef NO_RCT2 - useOriginalRidePaint = gUseOriginalRidePaint; + useOriginalRidePaint = gUseOriginalRidePaint; #endif - TRACK_PAINT_FUNCTION_GETTER paintFunctionGetter = RideTypeTrackPaintFunctions[ride->type]; - if (paintFunctionGetter != NULL && !useOriginalRidePaint) { - TRACK_PAINT_FUNCTION paintFunction = paintFunctionGetter(trackType, direction); - if (paintFunction != NULL) { - paintFunction(rideIndex, trackSequence, direction, height, mapElement); - } - } - else { + TRACK_PAINT_FUNCTION_GETTER paintFunctionGetter = RideTypeTrackPaintFunctions[ride->type]; + if (paintFunctionGetter != NULL && !useOriginalRidePaint) { + TRACK_PAINT_FUNCTION paintFunction = paintFunctionGetter(trackType, direction); + if (paintFunction != NULL) { + paintFunction(rideIndex, trackSequence, direction, height, mapElement); + } + } + else { #ifndef NO_RCT2 - uint32 *trackDirectionList = (uint32 *)RideTypeTrackPaintFunctionsOld[ride->type][trackType]; + uint32 *trackDirectionList = (uint32 *)RideTypeTrackPaintFunctionsOld[ride->type][trackType]; - if (trackDirectionList != NULL) { - // Have to call from this point as it pushes esi and expects callee to pop it - RCT2_CALLPROC_X( - 0x006C4934, - ride->type, - (sint32)trackDirectionList, - direction, - height, - (sint32)mapElement, - rideIndex * sizeof(rct_ride), - trackSequence - ); - } + if (trackDirectionList != NULL) { + // Have to call from this point as it pushes esi and expects callee to pop it + RCT2_CALLPROC_X( + 0x006C4934, + ride->type, + (sint32)trackDirectionList, + direction, + height, + (sint32)mapElement, + rideIndex * sizeof(rct_ride), + trackSequence + ); + } #endif - } - } + } + } - if (isEntranceStyleNone) { - ride->entrance_style = RIDE_ENTRANCE_STYLE_NONE; - } + if (isEntranceStyleNone) { + ride->entrance_style = RIDE_ENTRANCE_STYLE_NONE; + } } diff --git a/src/openrct2/ride/track_paint.h b/src/openrct2/ride/track_paint.h index d5e2a60dcd..520ab8ce49 100644 --- a/src/openrct2/ride/track_paint.h +++ b/src/openrct2/ride/track_paint.h @@ -36,58 +36,58 @@ extern const uint8 edges_4x4[]; extern const uint8 track_map_1x4[][4]; enum { - SPR_FLOOR_PLANKS = 3395, - SPR_FLOOR_PLANKS_90_DEG = 3396, - SPR_FLOOR_PLANKS_SLOPE_NE_SW = 3397, - SPR_FLOOR_PLANKS_SLOPE_SE_NW = 3398, - SPR_FLOOR_PLANKS_SLOPE_SW_NE = 3399, - SPR_FLOOR_PLANKS_SLOPE_NW_SE = 3400, - SPR_FLOOR_PLANKS_N_SEGMENT = 3401, - SPR_FLOOR_PLANKS_E_SEGMENT = 3402, - SPR_FLOOR_PLANKS_S_SEGMENT = 3403, - SPR_FLOOR_PLANKS_W_SEGMENT = 3404, - SPR_FLOOR_METAL = 14567, - SPR_FENCE_METAL_NE = 14568, - SPR_FENCE_METAL_SE = 14569, - SPR_FENCE_METAL_SW = 14570, - SPR_FENCE_METAL_NW = 14571, + SPR_FLOOR_PLANKS = 3395, + SPR_FLOOR_PLANKS_90_DEG = 3396, + SPR_FLOOR_PLANKS_SLOPE_NE_SW = 3397, + SPR_FLOOR_PLANKS_SLOPE_SE_NW = 3398, + SPR_FLOOR_PLANKS_SLOPE_SW_NE = 3399, + SPR_FLOOR_PLANKS_SLOPE_NW_SE = 3400, + SPR_FLOOR_PLANKS_N_SEGMENT = 3401, + SPR_FLOOR_PLANKS_E_SEGMENT = 3402, + SPR_FLOOR_PLANKS_S_SEGMENT = 3403, + SPR_FLOOR_PLANKS_W_SEGMENT = 3404, + SPR_FLOOR_METAL = 14567, + SPR_FENCE_METAL_NE = 14568, + SPR_FENCE_METAL_SE = 14569, + SPR_FENCE_METAL_SW = 14570, + SPR_FENCE_METAL_NW = 14571, - SPR_FLOOR_METAL_B = 14989, - SPR_FENCE_METAL_B_NE = 14990, - SPR_FENCE_METAL_B_SE = 14991, - SPR_FENCE_METAL_B_SW = 14992, - SPR_FENCE_METAL_B_NW = 14993, + SPR_FLOOR_METAL_B = 14989, + SPR_FENCE_METAL_B_NE = 14990, + SPR_FENCE_METAL_B_SE = 14991, + SPR_FENCE_METAL_B_SW = 14992, + SPR_FENCE_METAL_B_NW = 14993, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW = 16870, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW = 16871, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 16872, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 16873, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 16874, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 16875, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 16876, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 16877, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 16878, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 16879, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 16880, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 16881, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 16882, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 16883, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SW_NE = 16884, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NW_SE = 16885, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NE_SW = 16886, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SE_NW = 16887, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SW_NE = 16888, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NW_SE = 16889, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NE_SW = 16890, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SE_NW = 16891, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SW_NE = 16892, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NW_SE = 16893, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NE_SW = 16894, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SE_NW = 16895, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_SW_NW = 16896, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_NW_NE = 16897, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_NE_SE = 16898, - SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_SE_SW = 16899, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW = 16870, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW = 16871, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 16872, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 16873, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 16874, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 16875, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 16876, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 16877, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 16878, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 16879, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 16880, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 16881, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 16882, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 16883, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SW_NE = 16884, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NW_SE = 16885, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NE_SW = 16886, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SE_NW = 16887, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SW_NE = 16888, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NW_SE = 16889, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NE_SW = 16890, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SE_NW = 16891, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SW_NE = 16892, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NW_SE = 16893, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NE_SW = 16894, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SE_NW = 16895, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_SW_NW = 16896, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_NW_NE = 16897, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_NE_SE = 16898, + SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_QUARTER_TURN_1_TILE_SE_SW = 16899, SPR_FLOOR_CORK_SE_SW = 22134, SPR_FLOOR_CORK_SW = 22135, @@ -98,45 +98,45 @@ enum { SPR_FENCE_ROPE_SW = 22140, SPR_FENCE_ROPE_NW = 22141, - SPR_STATION_PLATFORM_SW_NE = 22362, - SPR_STATION_PLATFORM_NW_SE = 22363, - SPR_STATION_PLATFORM_FENCED_SW_NE = 22364, - SPR_STATION_PLATFORM_FENCED_NW_SE = 22365, - SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE = 22366, - SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE = 22367, - SPR_STATION_PLATFORM_BEGIN_SW_NE = 22368, - SPR_STATION_PLATFORM_BEGIN_NW_SE = 22369, - SPR_STATION_FENCE_SW_NE = 22370, - SPR_STATION_FENCE_NW_SE = 22371, - SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE = 22372, - SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE = 22373, - SPR_STATION_FENCE_SMALL_NW_SE = 22374, - SPR_STATION_FENCE_SMALL_SW_NE = 22375, + SPR_STATION_PLATFORM_SW_NE = 22362, + SPR_STATION_PLATFORM_NW_SE = 22363, + SPR_STATION_PLATFORM_FENCED_SW_NE = 22364, + SPR_STATION_PLATFORM_FENCED_NW_SE = 22365, + SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE = 22366, + SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE = 22367, + SPR_STATION_PLATFORM_BEGIN_SW_NE = 22368, + SPR_STATION_PLATFORM_BEGIN_NW_SE = 22369, + SPR_STATION_FENCE_SW_NE = 22370, + SPR_STATION_FENCE_NW_SE = 22371, + SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE = 22372, + SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE = 22373, + SPR_STATION_FENCE_SMALL_NW_SE = 22374, + SPR_STATION_FENCE_SMALL_SW_NE = 22375, - SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_SW_NE = 22380, - SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_NW_SE = 22381, - SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_SW_NE = 22382, - SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_NW_SE = 22383, - SPR_STATION_LIGHT_BACK_NE_SW = 22384, - SPR_STATION_LIGHT_BACK_NW_SE = 22385, - SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NE_SW = 22386, - SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NW_SE = 22387, - SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE = 22388, - SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE = 22389, - SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE = 22390, - SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE = 22391, - SPR_STATION_INVERTED_FENCE_SW_NE = 22392, - SPR_STATION_INVERTED_FENCE_NW_SE = 22393, - SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_SW_NE = 22394, - SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_NW_SE = 22395, - SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NE_SW = 22396, - SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NW_SE = 22397, - SPR_STATION_INVERTED_BAR_C_SW_NE = 22398, - SPR_STATION_INVERTED_BAR_C_NW_SE = 22399, - SPR_STATION_INVERTED_BAR_D_SW_NE = 22400, - SPR_STATION_INVERTED_BAR_D_NW_SE = 22401, - SPR_STATION_INVERTED_BAR_E_SW_NE = 22402, - SPR_STATION_INVERTED_BAR_E_NW_SE = 22403, + SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_SW_NE = 22380, + SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_NW_SE = 22381, + SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_SW_NE = 22382, + SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_NW_SE = 22383, + SPR_STATION_LIGHT_BACK_NE_SW = 22384, + SPR_STATION_LIGHT_BACK_NW_SE = 22385, + SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NE_SW = 22386, + SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NW_SE = 22387, + SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE = 22388, + SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE = 22389, + SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE = 22390, + SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE = 22391, + SPR_STATION_INVERTED_FENCE_SW_NE = 22392, + SPR_STATION_INVERTED_FENCE_NW_SE = 22393, + SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_SW_NE = 22394, + SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_NW_SE = 22395, + SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NE_SW = 22396, + SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NW_SE = 22397, + SPR_STATION_INVERTED_BAR_C_SW_NE = 22398, + SPR_STATION_INVERTED_BAR_C_NW_SE = 22399, + SPR_STATION_INVERTED_BAR_D_SW_NE = 22400, + SPR_STATION_INVERTED_BAR_D_NW_SE = 22401, + SPR_STATION_INVERTED_BAR_E_SW_NE = 22402, + SPR_STATION_INVERTED_BAR_E_NW_SE = 22403, SPR_STATION_PIER_EDGE_SE = 22404, SPR_STATION_PIER_EDGE_SW = 22405, SPR_STATION_PIER_EDGE_NW = 22406, @@ -145,77 +145,77 @@ enum { SPR_STATION_PIER_EDGE_NE_FENCED = 22409, SPR_STATION_PIER_FENCE_SE = 22410, SPR_STATION_PIER_FENCE_SW = 22411, - SPR_STATION_NARROW_EDGE_SE = 22412, - SPR_STATION_NARROW_EDGE_SW = 22413, - SPR_STATION_NARROW_EDGE_FENCED_NW = 22414, - SPR_STATION_NARROW_EDGE_FENCED_NE = 22415, - SPR_STATION_NARROW_EDGE_NW = 22416, - SPR_STATION_NARROW_EDGE_NE = 22417, - SPR_STATION_INVERTED_BAR_F_SW_NE = 22418, - SPR_STATION_INVERTED_BAR_F_NW_SE = 22419, - SPR_STATION_INVERTED_BAR_0_SW_NE = 22420, - SPR_STATION_INVERTED_BAR_0_NW_SE = 22421, - SPR_STATION_INVERTED_BAR_A_SW_NE = 22422, - SPR_STATION_INVERTED_BAR_A_NW_SE = 22423, - SPR_STATION_INVERTED_BAR_B_SW_NE = 22424, - SPR_STATION_INVERTED_BAR_B_NW_SE = 22425, - SPR_STATION_BASE_A_SW_NE = 22426, - SPR_STATION_BASE_A_NW_SE = 22427, - SPR_STATION_BASE_B_SW_NE = 22428, - SPR_STATION_BASE_B_NW_SE = 22429, - SPR_STATION_BASE_C_SW_NE = 22430, - SPR_STATION_BASE_C_NW_SE = 22431, - SPR_STATION_BASE_D = 22432, + SPR_STATION_NARROW_EDGE_SE = 22412, + SPR_STATION_NARROW_EDGE_SW = 22413, + SPR_STATION_NARROW_EDGE_FENCED_NW = 22414, + SPR_STATION_NARROW_EDGE_FENCED_NE = 22415, + SPR_STATION_NARROW_EDGE_NW = 22416, + SPR_STATION_NARROW_EDGE_NE = 22417, + SPR_STATION_INVERTED_BAR_F_SW_NE = 22418, + SPR_STATION_INVERTED_BAR_F_NW_SE = 22419, + SPR_STATION_INVERTED_BAR_0_SW_NE = 22420, + SPR_STATION_INVERTED_BAR_0_NW_SE = 22421, + SPR_STATION_INVERTED_BAR_A_SW_NE = 22422, + SPR_STATION_INVERTED_BAR_A_NW_SE = 22423, + SPR_STATION_INVERTED_BAR_B_SW_NE = 22424, + SPR_STATION_INVERTED_BAR_B_NW_SE = 22425, + SPR_STATION_BASE_A_SW_NE = 22426, + SPR_STATION_BASE_A_NW_SE = 22427, + SPR_STATION_BASE_B_SW_NE = 22428, + SPR_STATION_BASE_B_NW_SE = 22429, + SPR_STATION_BASE_C_SW_NE = 22430, + SPR_STATION_BASE_C_NW_SE = 22431, + SPR_STATION_BASE_D = 22432, - SPR_ON_RIDE_PHOTO_CAMERA_SMALL_N = 23485, - SPR_ON_RIDE_PHOTO_CAMERA_SMALL_E = 23486, - SPR_ON_RIDE_PHOTO_CAMERA_SMALL_S = 23487, - SPR_ON_RIDE_PHOTO_CAMERA_SMALL_W = 23488, - SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_N = 23489, - SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_E = 23490, - SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_S = 23491, - SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_W = 23492, - SPR_ON_RIDE_PHOTO_SIGN_SMALL_SW_NE = 23493, - SPR_ON_RIDE_PHOTO_SIGN_SMALL_NW_SE = 23494, - SPR_ON_RIDE_PHOTO_SIGN_SMALL_NE_SW = 23495, - SPR_ON_RIDE_PHOTO_SIGN_SMALL_SE_NW = 23496, + SPR_ON_RIDE_PHOTO_CAMERA_SMALL_N = 23485, + SPR_ON_RIDE_PHOTO_CAMERA_SMALL_E = 23486, + SPR_ON_RIDE_PHOTO_CAMERA_SMALL_S = 23487, + SPR_ON_RIDE_PHOTO_CAMERA_SMALL_W = 23488, + SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_N = 23489, + SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_E = 23490, + SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_S = 23491, + SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_W = 23492, + SPR_ON_RIDE_PHOTO_SIGN_SMALL_SW_NE = 23493, + SPR_ON_RIDE_PHOTO_SIGN_SMALL_NW_SE = 23494, + SPR_ON_RIDE_PHOTO_SIGN_SMALL_NE_SW = 23495, + SPR_ON_RIDE_PHOTO_SIGN_SMALL_SE_NW = 23496, - SPR_ON_RIDE_PHOTO_CAMERA_N = 25615, - SPR_ON_RIDE_PHOTO_CAMERA_E = 25616, - SPR_ON_RIDE_PHOTO_CAMERA_S = 25617, - SPR_ON_RIDE_PHOTO_CAMERA_W = 25618, - SPR_ON_RIDE_PHOTO_CAMERA_FLASH_N = 25619, - SPR_ON_RIDE_PHOTO_CAMERA_FLASH_E = 25620, - SPR_ON_RIDE_PHOTO_CAMERA_FLASH_S = 25621, - SPR_ON_RIDE_PHOTO_CAMERA_FLASH_W = 25622, - SPR_ON_RIDE_PHOTO_SIGN_SW_NE = 25623, - SPR_ON_RIDE_PHOTO_SIGN_NW_SE = 25624, - SPR_ON_RIDE_PHOTO_SIGN_NE_SW = 25625, - SPR_ON_RIDE_PHOTO_SIGN_SE_NW = 25626, + SPR_ON_RIDE_PHOTO_CAMERA_N = 25615, + SPR_ON_RIDE_PHOTO_CAMERA_E = 25616, + SPR_ON_RIDE_PHOTO_CAMERA_S = 25617, + SPR_ON_RIDE_PHOTO_CAMERA_W = 25618, + SPR_ON_RIDE_PHOTO_CAMERA_FLASH_N = 25619, + SPR_ON_RIDE_PHOTO_CAMERA_FLASH_E = 25620, + SPR_ON_RIDE_PHOTO_CAMERA_FLASH_S = 25621, + SPR_ON_RIDE_PHOTO_CAMERA_FLASH_W = 25622, + SPR_ON_RIDE_PHOTO_SIGN_SW_NE = 25623, + SPR_ON_RIDE_PHOTO_SIGN_NW_SE = 25624, + SPR_ON_RIDE_PHOTO_SIGN_NE_SW = 25625, + SPR_ON_RIDE_PHOTO_SIGN_SE_NW = 25626, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_0 = 28865, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_1 = 28866, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_2 = 28867, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_3 = 28868, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_0 = 28869, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_1 = 28870, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_2 = 28871, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_3 = 28872, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_0 = 28873, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_1 = 28874, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_2 = 28875, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_3 = 28876, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_0 = 28877, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_1 = 28878, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_2 = 28879, - SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_3 = 28880, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_0 = 28865, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_1 = 28866, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_2 = 28867, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_SW_NE_FRAME_3 = 28868, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_0 = 28869, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_1 = 28870, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_2 = 28871, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_BACK_NW_SE_FRAME_3 = 28872, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_0 = 28873, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_1 = 28874, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_2 = 28875, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_SW_NE_FRAME_3 = 28876, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_0 = 28877, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_1 = 28878, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_2 = 28879, + SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_3 = 28880, }; enum { - SCHEME_TRACK = 0, - SCHEME_SUPPORTS = 1, - SCHEME_MISC = 2, - SCHEME_3 = 3, + SCHEME_TRACK = 0, + SCHEME_SUPPORTS = 1, + SCHEME_MISC = 2, + SCHEME_3 = 3, }; enum { @@ -227,7 +227,7 @@ enum { #ifdef NO_RCT2 extern uint32 gTrackColours[4]; #else -#define gTrackColours RCT2_ADDRESS(0x00F44198, uint32) +#define gTrackColours RCT2_ADDRESS(0x00F44198, uint32) #endif extern const uint32 floorSpritesCork[]; diff --git a/src/openrct2/ride/transport/chairlift.c b/src/openrct2/ride/transport/chairlift.c index 85b5bb336b..d750300715 100644 --- a/src/openrct2/ride/transport/chairlift.c +++ b/src/openrct2/ride/transport/chairlift.c @@ -25,589 +25,589 @@ enum { - SPR_CHAIRLIFT_CABLE_FLAT_SW_NE = 20500, - SPR_CHAIRLIFT_CABLE_FLAT_SE_NW, - SPR_20502, - SPR_20503, - SPR_20504, - SPR_20505, - SPR_CHAIRLIFT_STATION_COLUMN_NE_SW, - SPR_CHAIRLIFT_STATION_COLUMN_SE_NW, - SPR_20508, - SPR_20509, - SPR_20510, - SPR_20511, - SPR_20512, - SPR_20513, - SPR_20514, - SPR_20515, - SPR_CHAIRLIFT_CABLE_UP_SW_NE, - SPR_CHAIRLIFT_CABLE_UP_NW_SE, - SPR_CHAIRLIFT_CABLE_UP_NE_SW, - SPR_CHAIRLIFT_CABLE_UP_SE_NW, - SPR_20520, - SPR_20521, - SPR_20522, - SPR_20523, - SPR_20524, - SPR_20525, - SPR_20526, - SPR_20527, - SPR_CHAIRLIFT_CORNER_NW_SW, - SPR_CHAIRLIFT_CORNER_NW_NE, - SPR_CHAIRLIFT_CORNER_SE_NE, - SPR_CHAIRLIFT_CORNER_SW_SE, - SPR_20532, - SPR_20533, - SPR_20534, - SPR_20535, - SPR_20536, - SPR_20537, - SPR_20538, - SPR_20539, - SPR_CHAIRLIFT_BULLWHEEL_FRAME_1, - SPR_CHAIRLIFT_BULLWHEEL_FRAME_2, - SPR_CHAIRLIFT_BULLWHEEL_FRAME_3, - SPR_CHAIRLIFT_BULLWHEEL_FRAME_4, - SPR_CHAIRLIFT_STATION_END_CAP_NE, - SPR_CHAIRLIFT_STATION_END_CAP_SE, - SPR_CHAIRLIFT_STATION_END_CAP_SW, - SPR_CHAIRLIFT_STATION_END_CAP_NW, + SPR_CHAIRLIFT_CABLE_FLAT_SW_NE = 20500, + SPR_CHAIRLIFT_CABLE_FLAT_SE_NW, + SPR_20502, + SPR_20503, + SPR_20504, + SPR_20505, + SPR_CHAIRLIFT_STATION_COLUMN_NE_SW, + SPR_CHAIRLIFT_STATION_COLUMN_SE_NW, + SPR_20508, + SPR_20509, + SPR_20510, + SPR_20511, + SPR_20512, + SPR_20513, + SPR_20514, + SPR_20515, + SPR_CHAIRLIFT_CABLE_UP_SW_NE, + SPR_CHAIRLIFT_CABLE_UP_NW_SE, + SPR_CHAIRLIFT_CABLE_UP_NE_SW, + SPR_CHAIRLIFT_CABLE_UP_SE_NW, + SPR_20520, + SPR_20521, + SPR_20522, + SPR_20523, + SPR_20524, + SPR_20525, + SPR_20526, + SPR_20527, + SPR_CHAIRLIFT_CORNER_NW_SW, + SPR_CHAIRLIFT_CORNER_NW_NE, + SPR_CHAIRLIFT_CORNER_SE_NE, + SPR_CHAIRLIFT_CORNER_SW_SE, + SPR_20532, + SPR_20533, + SPR_20534, + SPR_20535, + SPR_20536, + SPR_20537, + SPR_20538, + SPR_20539, + SPR_CHAIRLIFT_BULLWHEEL_FRAME_1, + SPR_CHAIRLIFT_BULLWHEEL_FRAME_2, + SPR_CHAIRLIFT_BULLWHEEL_FRAME_3, + SPR_CHAIRLIFT_BULLWHEEL_FRAME_4, + SPR_CHAIRLIFT_STATION_END_CAP_NE, + SPR_CHAIRLIFT_STATION_END_CAP_SE, + SPR_CHAIRLIFT_STATION_END_CAP_SW, + SPR_CHAIRLIFT_STATION_END_CAP_NW, } SPR_CHAIRLIFT; const uint32 chairlift_bullwheel_frames[] = { - SPR_CHAIRLIFT_BULLWHEEL_FRAME_1, - SPR_CHAIRLIFT_BULLWHEEL_FRAME_2, - SPR_CHAIRLIFT_BULLWHEEL_FRAME_3, - SPR_CHAIRLIFT_BULLWHEEL_FRAME_4 + SPR_CHAIRLIFT_BULLWHEEL_FRAME_1, + SPR_CHAIRLIFT_BULLWHEEL_FRAME_2, + SPR_CHAIRLIFT_BULLWHEEL_FRAME_3, + SPR_CHAIRLIFT_BULLWHEEL_FRAME_4 }; static void chairlift_paint_util_draw_supports(sint32 segments, uint16 height) { - bool success = false; + bool success = false; - for (sint32 s = 0; s < 9; s++) { - if (!(segments & segment_offsets[s])) { - continue; - } + for (sint32 s = 0; s < 9; s++) { + if (!(segments & segment_offsets[s])) { + continue; + } - if (metal_a_supports_paint_setup(METAL_SUPPORTS_TRUSS, s, 0, height, gTrackColours[SCHEME_SUPPORTS])) { - success = true; - } - } + if (metal_a_supports_paint_setup(METAL_SUPPORTS_TRUSS, s, 0, height, gTrackColours[SCHEME_SUPPORTS])) { + success = true; + } + } - if (success) { - return; - } + if (success) { + return; + } - for (sint32 s = 0; s < 9; s++) { - if (!(segments & segment_offsets[s])) { - continue; - } - uint16 temp = gSupportSegments[s].height; - gSupportSegments[s].height = gSupport.height; - metal_a_supports_paint_setup(METAL_SUPPORTS_TRUSS, s, 0, height, gTrackColours[SCHEME_SUPPORTS]); - gSupportSegments[s].height = temp; - } + for (sint32 s = 0; s < 9; s++) { + if (!(segments & segment_offsets[s])) { + continue; + } + uint16 temp = gSupportSegments[s].height; + gSupportSegments[s].height = gSupport.height; + metal_a_supports_paint_setup(METAL_SUPPORTS_TRUSS, s, 0, height, gTrackColours[SCHEME_SUPPORTS]); + gSupportSegments[s].height = temp; + } } static rct_map_element * chairlift_paint_util_map_get_track_element_at_from_ride_fuzzy(sint32 x, sint32 y, sint32 z, sint32 rideIndex) { - rct_map_element * mapElement = map_get_first_element_at(x >> 5, y >> 5); - if (mapElement == NULL) { - return NULL; - } + rct_map_element * mapElement = map_get_first_element_at(x >> 5, y >> 5); + if (mapElement == NULL) { + return NULL; + } - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (mapElement->properties.track.ride_index != rideIndex) continue; - if (mapElement->base_height != z && mapElement->base_height != z - 1) continue; + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (mapElement->properties.track.ride_index != rideIndex) continue; + if (mapElement->base_height != z && mapElement->base_height != z - 1) continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; }; static bool chairlift_paint_util_is_first_track(uint8 rideIndex, const rct_map_element * mapElement, rct_xy16 pos, uint8 trackType) { - if (mapElement->properties.track.type != TRACK_ELEM_BEGIN_STATION) { - return false; - } + if (mapElement->properties.track.type != TRACK_ELEM_BEGIN_STATION) { + return false; + } - rct_xy16 delta = TileDirectionDelta[map_element_get_direction(mapElement)]; - rct_xy16 newPos = { - .x = pos.x - delta.x, - .y = pos.y - delta.y, - }; + rct_xy16 delta = TileDirectionDelta[map_element_get_direction(mapElement)]; + rct_xy16 newPos = { + .x = pos.x - delta.x, + .y = pos.y - delta.y, + }; - rct_map_element * nextTrack = chairlift_paint_util_map_get_track_element_at_from_ride_fuzzy(newPos.x, newPos.y, mapElement->base_height, rideIndex); + rct_map_element * nextTrack = chairlift_paint_util_map_get_track_element_at_from_ride_fuzzy(newPos.x, newPos.y, mapElement->base_height, rideIndex); - return nextTrack == NULL; + return nextTrack == NULL; } static bool chairlift_paint_util_is_last_track(uint8 rideIndex, const rct_map_element * mapElement, rct_xy16 pos, uint8 trackType) { - if (mapElement->properties.track.type != TRACK_ELEM_END_STATION) { - return false; - } + if (mapElement->properties.track.type != TRACK_ELEM_END_STATION) { + return false; + } - rct_xy16 delta = TileDirectionDelta[map_element_get_direction(mapElement)]; - rct_xy16 newPos = { - .x = pos.x + delta.x, - .y = pos.y + delta.y, - }; + rct_xy16 delta = TileDirectionDelta[map_element_get_direction(mapElement)]; + rct_xy16 newPos = { + .x = pos.x + delta.x, + .y = pos.y + delta.y, + }; - rct_map_element * nextTrack = chairlift_paint_util_map_get_track_element_at_from_ride_fuzzy(newPos.x, newPos.y, mapElement->base_height, rideIndex); + rct_map_element * nextTrack = chairlift_paint_util_map_get_track_element_at_from_ride_fuzzy(newPos.x, newPos.y, mapElement->base_height, rideIndex); - return nextTrack == NULL; + return nextTrack == NULL; } static void chairlift_paint_station_ne_sw(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint8 trackType = mapElement->properties.track.type; - rct_ride * ride = get_ride(rideIndex); - uint32 imageId; + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + uint8 trackType = mapElement->properties.track.type; + rct_ride * ride = get_ride(rideIndex); + uint32 imageId; - bool isStart = chairlift_paint_util_is_first_track(rideIndex, mapElement, pos, trackType);; - bool isEnd = chairlift_paint_util_is_last_track(rideIndex, mapElement, pos, trackType); + bool isStart = chairlift_paint_util_is_first_track(rideIndex, mapElement, pos, trackType);; + bool isEnd = chairlift_paint_util_is_last_track(rideIndex, mapElement, pos, trackType); - const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; + const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; - wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup(0, 0, height, gTrackColours[SCHEME_MISC], NULL); - if (!isStart && !isEnd) { - imageId = ((direction == 0) ? SPR_20502 : SPR_20504) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); - } + if (!isStart && !isEnd) { + imageId = ((direction == 0) ? SPR_20502 : SPR_20504) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); + } - imageId = SPR_FLOOR_METAL | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); + imageId = SPR_FLOOR_METAL | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); - bool hasFence = track_paint_util_has_fence(EDGE_NW, pos, mapElement, ride, get_current_rotation()); - if (hasFence) { - imageId = SPR_FENCE_METAL_NW | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 32, 1, 7, height, 0, 2, height + 2, get_current_rotation()); - } - track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, height); + bool hasFence = track_paint_util_has_fence(EDGE_NW, pos, mapElement, ride, get_current_rotation()); + if (hasFence) { + imageId = SPR_FENCE_METAL_NW | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 32, 1, 7, height, 0, 2, height + 2, get_current_rotation()); + } + track_paint_util_draw_station_covers(EDGE_NW, hasFence, entranceStyle, direction, height); - if ((direction == 2 && isStart) || (direction == 0 && isEnd)) { - imageId = SPR_FENCE_METAL_NE | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 1, 28, 7, height, 2, 2, height + 4, get_current_rotation()); - } + if ((direction == 2 && isStart) || (direction == 0 && isEnd)) { + imageId = SPR_FENCE_METAL_NE | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 1, 28, 7, height, 2, 2, height + 4, get_current_rotation()); + } - hasFence = track_paint_util_has_fence(EDGE_SE, pos, mapElement, ride, get_current_rotation()); - if (hasFence) { - imageId = SPR_FENCE_METAL_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 27, height, 0, 30, height + 2, get_current_rotation()); - } - track_paint_util_draw_station_covers(EDGE_SE, hasFence, entranceStyle, direction, height); + hasFence = track_paint_util_has_fence(EDGE_SE, pos, mapElement, ride, get_current_rotation()); + if (hasFence) { + imageId = SPR_FENCE_METAL_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 27, height, 0, 30, height + 2, get_current_rotation()); + } + track_paint_util_draw_station_covers(EDGE_SE, hasFence, entranceStyle, direction, height); - bool drawFrontColumn = true; - bool drawBackColumn = true; - if ((direction == 0 && isStart) || (direction == 2 && isEnd)) { - imageId = SPR_FENCE_METAL_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 28, 27, height, 30, 2, height + 4, get_current_rotation()); + bool drawFrontColumn = true; + bool drawBackColumn = true; + if ((direction == 0 && isStart) || (direction == 2 && isEnd)) { + imageId = SPR_FENCE_METAL_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 28, 27, height, 30, 2, height + 4, get_current_rotation()); - imageId = chairlift_bullwheel_frames[ride->chairlift_bullwheel_rotation / 16384] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); + imageId = chairlift_bullwheel_frames[ride->chairlift_bullwheel_rotation / 16384] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); - imageId = SPR_CHAIRLIFT_STATION_END_CAP_NE | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); + imageId = SPR_CHAIRLIFT_STATION_END_CAP_NE | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); - drawFrontColumn = false; - } else if ((direction == 2 && isStart) || (direction == 0 && isEnd)) { - imageId = chairlift_bullwheel_frames[ride->chairlift_bullwheel_rotation / 16384] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); + drawFrontColumn = false; + } else if ((direction == 2 && isStart) || (direction == 0 && isEnd)) { + imageId = chairlift_bullwheel_frames[ride->chairlift_bullwheel_rotation / 16384] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); - imageId = SPR_CHAIRLIFT_STATION_END_CAP_SW | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); + imageId = SPR_CHAIRLIFT_STATION_END_CAP_SW | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); - drawBackColumn = false; - } + drawBackColumn = false; + } - if (drawBackColumn) { - imageId = SPR_CHAIRLIFT_STATION_COLUMN_NE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 16, 1, 1, 7, height + 2, 1, 16, height + 2, get_current_rotation()); - } + if (drawBackColumn) { + imageId = SPR_CHAIRLIFT_STATION_COLUMN_NE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 16, 1, 1, 7, height + 2, 1, 16, height + 2, get_current_rotation()); + } - if (drawFrontColumn) { - imageId = SPR_CHAIRLIFT_STATION_COLUMN_NE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 30, 16, 1, 1, 7, height + 2, 1, 16, height + 2, get_current_rotation()); // bound offset x is wrong? - } + if (drawFrontColumn) { + imageId = SPR_CHAIRLIFT_STATION_COLUMN_NE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 30, 16, 1, 1, 7, height + 2, 1, 16, height + 2, get_current_rotation()); // bound offset x is wrong? + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_push_tunnel_left(height, TUNNEL_6); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_push_tunnel_left(height, TUNNEL_6); + paint_util_set_general_support_height(height + 32, 0x20); } static void chairlift_paint_station_se_nw(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint8 trackType = mapElement->properties.track.type; - rct_ride * ride = get_ride(rideIndex); - uint32 imageId; + const rct_xy16 pos = {gPaintMapPosition.x, gPaintMapPosition.y}; + uint8 trackType = mapElement->properties.track.type; + rct_ride * ride = get_ride(rideIndex); + uint32 imageId; - bool isStart = chairlift_paint_util_is_first_track(rideIndex, mapElement, pos, trackType);; - bool isEnd = chairlift_paint_util_is_last_track(rideIndex, mapElement, pos, trackType); + bool isStart = chairlift_paint_util_is_first_track(rideIndex, mapElement, pos, trackType);; + bool isEnd = chairlift_paint_util_is_last_track(rideIndex, mapElement, pos, trackType); - const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; + const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; - wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_MISC], NULL); + wooden_a_supports_paint_setup(1, 0, height, gTrackColours[SCHEME_MISC], NULL); - if (!isStart && !isEnd) { - imageId = ((direction == 1) ? SPR_20503 : SPR_20505) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); - } + if (!isStart && !isEnd) { + imageId = ((direction == 1) ? SPR_20503 : SPR_20505) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); + } - imageId = SPR_FLOOR_METAL | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); + imageId = SPR_FLOOR_METAL | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); - bool hasFence = track_paint_util_has_fence(EDGE_NE, pos, mapElement, ride, get_current_rotation()); - if (hasFence) { - imageId = SPR_FENCE_METAL_NE | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 1, 32, 7, height, 2, 0, height + 2, get_current_rotation()); - } - track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, height); + bool hasFence = track_paint_util_has_fence(EDGE_NE, pos, mapElement, ride, get_current_rotation()); + if (hasFence) { + imageId = SPR_FENCE_METAL_NE | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 1, 32, 7, height, 2, 0, height + 2, get_current_rotation()); + } + track_paint_util_draw_station_covers(EDGE_NE, hasFence, entranceStyle, direction, height); - if ((direction == 1 && isStart) || (direction == 3 && isEnd)) { - imageId = SPR_FENCE_METAL_NW | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 28, 1, 7, height, 2, 2, height + 4, get_current_rotation()); - } + if ((direction == 1 && isStart) || (direction == 3 && isEnd)) { + imageId = SPR_FENCE_METAL_NW | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 28, 1, 7, height, 2, 2, height + 4, get_current_rotation()); + } - hasFence = track_paint_util_has_fence(EDGE_SW, pos, mapElement, ride, get_current_rotation()); - if (hasFence) { - imageId = SPR_FENCE_METAL_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 27, height, 30, 0, height + 2, get_current_rotation()); - } - track_paint_util_draw_station_covers(EDGE_SW, hasFence, entranceStyle, direction, height); + hasFence = track_paint_util_has_fence(EDGE_SW, pos, mapElement, ride, get_current_rotation()); + if (hasFence) { + imageId = SPR_FENCE_METAL_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 27, height, 30, 0, height + 2, get_current_rotation()); + } + track_paint_util_draw_station_covers(EDGE_SW, hasFence, entranceStyle, direction, height); - bool drawRightColumn = true; - bool drawLeftColumn = true; - if ((direction == 1 && isStart) || (direction == 3 && isEnd)) { - imageId = chairlift_bullwheel_frames[ride->chairlift_bullwheel_rotation / 16384] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); + bool drawRightColumn = true; + bool drawLeftColumn = true; + if ((direction == 1 && isStart) || (direction == 3 && isEnd)) { + imageId = chairlift_bullwheel_frames[ride->chairlift_bullwheel_rotation / 16384] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); - imageId = SPR_CHAIRLIFT_STATION_END_CAP_SE | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); + imageId = SPR_CHAIRLIFT_STATION_END_CAP_SE | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); - drawLeftColumn = false; - } else if ((direction == 3 && isStart) || (direction == 1 && isEnd)) { - imageId = SPR_FENCE_METAL_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 28, 1, 27, height, 2, 30, height + 4, get_current_rotation()); + drawLeftColumn = false; + } else if ((direction == 3 && isStart) || (direction == 1 && isEnd)) { + imageId = SPR_FENCE_METAL_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 28, 1, 27, height, 2, 30, height + 4, get_current_rotation()); - imageId = chairlift_bullwheel_frames[ride->chairlift_bullwheel_rotation / 16384] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); + imageId = chairlift_bullwheel_frames[ride->chairlift_bullwheel_rotation / 16384] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); - imageId = SPR_CHAIRLIFT_STATION_END_CAP_NW | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); + imageId = SPR_CHAIRLIFT_STATION_END_CAP_NW | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation()); - drawRightColumn = false; - } + drawRightColumn = false; + } - if (drawLeftColumn) { - imageId = SPR_CHAIRLIFT_STATION_COLUMN_SE_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 16, 0, 1, 1, 7, height + 2, 16, 1, height + 2, get_current_rotation()); - } + if (drawLeftColumn) { + imageId = SPR_CHAIRLIFT_STATION_COLUMN_SE_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 16, 0, 1, 1, 7, height + 2, 16, 1, height + 2, get_current_rotation()); + } - if (drawRightColumn) { - imageId = SPR_CHAIRLIFT_STATION_COLUMN_SE_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 16, 30, 1, 1, 7, height + 2, 16, 1, height + 2, get_current_rotation()); // bound offset x is wrong? + if (drawRightColumn) { + imageId = SPR_CHAIRLIFT_STATION_COLUMN_SE_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 16, 30, 1, 1, 7, height + 2, 16, 1, height + 2, get_current_rotation()); // bound offset x is wrong? - paint_util_push_tunnel_right(height, TUNNEL_6); - } + paint_util_push_tunnel_right(height, TUNNEL_6); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00744068 */ static void chairlift_paint_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (direction % 2) { - chairlift_paint_station_se_nw(rideIndex, trackSequence, direction, height, mapElement); - } else { - chairlift_paint_station_ne_sw(rideIndex, trackSequence, direction, height, mapElement); - } + if (direction % 2) { + chairlift_paint_station_se_nw(rideIndex, trackSequence, direction, height, mapElement); + } else { + chairlift_paint_station_ne_sw(rideIndex, trackSequence, direction, height, mapElement); + } } static void chairlift_paint_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; - if (direction & 1) { - imageId = SPR_CHAIRLIFT_CABLE_FLAT_SE_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_6); - } else { - imageId = SPR_CHAIRLIFT_CABLE_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - } + uint32 imageId; + if (direction & 1) { + imageId = SPR_CHAIRLIFT_CABLE_FLAT_SE_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); + paint_util_push_tunnel_right(height, TUNNEL_6); + } else { + imageId = SPR_CHAIRLIFT_CABLE_FLAT_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); + paint_util_push_tunnel_left(height, TUNNEL_6); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00743FD8 */ static void chairlift_paint_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - switch (direction) { - case 0: - imageId = SPR_CHAIRLIFT_CABLE_UP_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); - paint_util_push_tunnel_left(height - 8, TUNNEL_7); - break; + switch (direction) { + case 0: + imageId = SPR_CHAIRLIFT_CABLE_UP_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); + paint_util_push_tunnel_left(height - 8, TUNNEL_7); + break; - case 1: - imageId = SPR_CHAIRLIFT_CABLE_UP_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; + case 1: + imageId = SPR_CHAIRLIFT_CABLE_UP_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; - case 2: - imageId = SPR_CHAIRLIFT_CABLE_UP_NE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; + case 2: + imageId = SPR_CHAIRLIFT_CABLE_UP_NE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; - case 3: - imageId = SPR_CHAIRLIFT_CABLE_UP_SE_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); - paint_util_push_tunnel_right(height - 8, TUNNEL_7); - break; - } + case 3: + imageId = SPR_CHAIRLIFT_CABLE_UP_SE_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); + paint_util_push_tunnel_right(height - 8, TUNNEL_7); + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x00743FD8 */ static void chairlift_paint_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - switch (direction) { - case 0: - imageId = SPR_20508 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); + switch (direction) { + case 0: + imageId = SPR_20508 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); - imageId = SPR_20520 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); + imageId = SPR_20520 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - break; + paint_util_push_tunnel_left(height, TUNNEL_6); + break; - case 1: - imageId = SPR_20509 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); + case 1: + imageId = SPR_20509 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); - imageId = SPR_20521 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); + imageId = SPR_20521 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_8); - break; + paint_util_push_tunnel_right(height, TUNNEL_8); + break; - case 2: - imageId = SPR_20510 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); + case 2: + imageId = SPR_20510 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); - imageId = SPR_20522 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); + imageId = SPR_20522 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_8); - break; + paint_util_push_tunnel_left(height, TUNNEL_8); + break; - case 3: - imageId = SPR_20511 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); + case 3: + imageId = SPR_20511 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); - imageId = SPR_20523 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); + imageId = SPR_20523 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - } + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + } - chairlift_paint_util_draw_supports(SEGMENT_C4, height); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + chairlift_paint_util_draw_supports(SEGMENT_C4, height); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x00743FF8 */ static void chairlift_paint_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - switch (direction) { - case 0: - imageId = SPR_20512 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); + switch (direction) { + case 0: + imageId = SPR_20512 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); - imageId = SPR_20524 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); + imageId = SPR_20524 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); - paint_util_push_tunnel_left(height - 8, TUNNEL_6); - break; + paint_util_push_tunnel_left(height - 8, TUNNEL_6); + break; - case 1: - imageId = SPR_20513 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); + case 1: + imageId = SPR_20513 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); - imageId = SPR_20525 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); + imageId = SPR_20525 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); - paint_util_push_tunnel_right(height + 8, TUNNEL_14); - break; + paint_util_push_tunnel_right(height + 8, TUNNEL_14); + break; - case 2: - imageId = SPR_20514 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); + case 2: + imageId = SPR_20514 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation()); - imageId = SPR_20526 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); + imageId = SPR_20526 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); - paint_util_push_tunnel_left(height + 8, TUNNEL_14); - break; + paint_util_push_tunnel_left(height + 8, TUNNEL_14); + break; - case 3: - imageId = SPR_20515 | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); + case 3: + imageId = SPR_20515 | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation()); - imageId = SPR_20527 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); + imageId = SPR_20527 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation()); - paint_util_push_tunnel_right(height - 8, TUNNEL_6); - break; + paint_util_push_tunnel_right(height - 8, TUNNEL_6); + break; - } + } - chairlift_paint_util_draw_supports(SEGMENT_C4, height); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + chairlift_paint_util_draw_supports(SEGMENT_C4, height); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x00744008 */ static void chairlift_paint_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - chairlift_paint_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + chairlift_paint_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x00744018 */ static void chairlift_paint_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - chairlift_paint_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + chairlift_paint_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x00744028 */ static void chairlift_paint_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - chairlift_paint_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + chairlift_paint_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x00744038 */ static void chairlift_paint_left_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - switch (direction) { - case 0: - imageId = SPR_CHAIRLIFT_CORNER_NW_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 16, 16, 2, height, 16, 0, height + 28, get_current_rotation()); + switch (direction) { + case 0: + imageId = SPR_CHAIRLIFT_CORNER_NW_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 16, 16, 2, height, 16, 0, height + 28, get_current_rotation()); - imageId = SPR_20532 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 2, 2, 27, height, 16, 4, height, get_current_rotation()); + imageId = SPR_20532 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 2, 2, 27, height, 16, 4, height, get_current_rotation()); - imageId = SPR_20536 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 2, 2, 27, height, 28, 4, height, get_current_rotation()); + imageId = SPR_20536 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 2, 2, 27, height, 28, 4, height, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - break; + paint_util_push_tunnel_left(height, TUNNEL_6); + break; - case 1: - imageId = SPR_CHAIRLIFT_CORNER_NW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 16, 16, 2, height, 0, 0, height + 28, get_current_rotation()); + case 1: + imageId = SPR_CHAIRLIFT_CORNER_NW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 16, 16, 2, height, 0, 0, height + 28, get_current_rotation()); - imageId = SPR_20533 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 2, 2, 27, height, 16, 4, height, get_current_rotation()); + imageId = SPR_20533 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 2, 2, 27, height, 16, 4, height, get_current_rotation()); - imageId = SPR_20537 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 2, 2, 27, height, 4, 16, height, get_current_rotation()); - break; + imageId = SPR_20537 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 2, 2, 27, height, 4, 16, height, get_current_rotation()); + break; - case 2: - imageId = SPR_CHAIRLIFT_CORNER_SE_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 16, 16, 2, height, 0, 16, height + 28, get_current_rotation()); + case 2: + imageId = SPR_CHAIRLIFT_CORNER_SE_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 16, 16, 2, height, 0, 16, height + 28, get_current_rotation()); - imageId = SPR_20534 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 2, 2, 27, height, 4, 16, height, get_current_rotation()); + imageId = SPR_20534 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 2, 2, 27, height, 4, 16, height, get_current_rotation()); - imageId = SPR_20538 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 2, 2, 27, height, 16, 28, height, get_current_rotation()); + imageId = SPR_20538 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 2, 2, 27, height, 16, 28, height, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_6); - break; + paint_util_push_tunnel_right(height, TUNNEL_6); + break; - case 3: - imageId = SPR_CHAIRLIFT_CORNER_SW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 16, 16, 2, height, 16, 16, height + 28, get_current_rotation()); + case 3: + imageId = SPR_CHAIRLIFT_CORNER_SW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 16, 16, 2, height, 16, 16, height + 28, get_current_rotation()); - imageId = SPR_20535 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 2, 2, 27, height, 28, 16, height, get_current_rotation()); + imageId = SPR_20535 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 2, 2, 27, height, 28, 16, height, get_current_rotation()); - imageId = SPR_20539 | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 2, 2, 27, height, 16, 28, height, get_current_rotation()); + imageId = SPR_20539 | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 2, 2, 27, height, 16, 28, height, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - } + paint_util_push_tunnel_left(height, TUNNEL_6); + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + } - chairlift_paint_util_draw_supports(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_D0, direction), height); + chairlift_paint_util_draw_supports(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_D0, direction), height); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00744048 */ static void chairlift_paint_right_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - chairlift_paint_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + chairlift_paint_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } /* 0x008AAA0C */ TRACK_PAINT_FUNCTION get_track_paint_function_chairlift(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - case TRACK_ELEM_END_STATION: - return chairlift_paint_station; + switch (trackType) { + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + case TRACK_ELEM_END_STATION: + return chairlift_paint_station; - case TRACK_ELEM_FLAT: - return chairlift_paint_flat; + case TRACK_ELEM_FLAT: + return chairlift_paint_flat; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return chairlift_paint_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP: - return chairlift_paint_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return chairlift_paint_25_deg_up_to_flat; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return chairlift_paint_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP: + return chairlift_paint_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return chairlift_paint_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return chairlift_paint_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN: - return chairlift_paint_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return chairlift_paint_25_deg_down_to_flat; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return chairlift_paint_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN: + return chairlift_paint_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return chairlift_paint_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return chairlift_paint_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return chairlift_paint_right_quarter_turn_1_tile; - } + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return chairlift_paint_left_quarter_turn_1_tile; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return chairlift_paint_right_quarter_turn_1_tile; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/transport/lift.c b/src/openrct2/ride/transport/lift.c index dcb3a047a8..d3ddc66d05 100644 --- a/src/openrct2/ride/transport/lift.c +++ b/src/openrct2/ride/transport/lift.c @@ -22,99 +22,99 @@ #include "../track.h" enum { - SPR_LIFT_CAGE_BACK = 14994, - SPR_LIFT_CAGE_FRONT = 14995, - SPR_LIFT_CAGE_NE_BACK = 14996, - SPR_LIFT_CAGE_NE_FRONT = 14997, - SPR_LIFT_CAGE_SE_BACK = 14998, - SPR_LIFT_CAGE_SE_FRONT = 14999, - SPR_LIFT_CAGE_SW_BACK = 15000, - SPR_LIFT_CAGE_SW_FRONT = 15001, - SPR_LIFT_CAGE_NW_BACK = 15002, - SPR_LIFT_CAGE_NW_FRONT = 15003, + SPR_LIFT_CAGE_BACK = 14994, + SPR_LIFT_CAGE_FRONT = 14995, + SPR_LIFT_CAGE_NE_BACK = 14996, + SPR_LIFT_CAGE_NE_FRONT = 14997, + SPR_LIFT_CAGE_SE_BACK = 14998, + SPR_LIFT_CAGE_SE_FRONT = 14999, + SPR_LIFT_CAGE_SW_BACK = 15000, + SPR_LIFT_CAGE_SW_FRONT = 15001, + SPR_LIFT_CAGE_NW_BACK = 15002, + SPR_LIFT_CAGE_NW_FRONT = 15003, }; static const uint32 lift_cage_sprites[][2] = { - {SPR_LIFT_CAGE_BACK, SPR_LIFT_CAGE_FRONT}, - {SPR_LIFT_CAGE_NE_BACK, SPR_LIFT_CAGE_NE_FRONT}, - {SPR_LIFT_CAGE_SE_BACK, SPR_LIFT_CAGE_SE_FRONT}, - {SPR_LIFT_CAGE_SW_BACK, SPR_LIFT_CAGE_SW_FRONT}, - {SPR_LIFT_CAGE_NW_BACK, SPR_LIFT_CAGE_NW_FRONT}, + {SPR_LIFT_CAGE_BACK, SPR_LIFT_CAGE_FRONT}, + {SPR_LIFT_CAGE_NE_BACK, SPR_LIFT_CAGE_NE_FRONT}, + {SPR_LIFT_CAGE_SE_BACK, SPR_LIFT_CAGE_SE_FRONT}, + {SPR_LIFT_CAGE_SW_BACK, SPR_LIFT_CAGE_SW_FRONT}, + {SPR_LIFT_CAGE_NW_BACK, SPR_LIFT_CAGE_NW_FRONT}, }; static void paint_lift_cage(sint8 index, uint32 colourFlags, sint32 height, uint8 rotation) { - uint32 imageId; + uint32 imageId; - imageId = lift_cage_sprites[1 + index][0] | colourFlags; - sub_98197C(imageId, 0, 0, 2, 2, 30, height, 2, 2, height, get_current_rotation()); + imageId = lift_cage_sprites[1 + index][0] | colourFlags; + sub_98197C(imageId, 0, 0, 2, 2, 30, height, 2, 2, height, get_current_rotation()); - imageId = lift_cage_sprites[1 + index][1] | colourFlags; - sub_98197C(imageId, 0, 0, 2, 2, 30, height, 28, 28, height, get_current_rotation()); + imageId = lift_cage_sprites[1 + index][1] | colourFlags; + sub_98197C(imageId, 0, 0, 2, 2, 30, height, 28, 28, height, get_current_rotation()); } /** rct2: 0x0076C6CC */ static void paint_lift_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = track_map_3x3[direction][trackSequence]; + trackSequence = track_map_3x3[direction][trackSequence]; - if (trackSequence == 0) { - paint_lift_cage(direction, gTrackColours[SCHEME_TRACK], height, get_current_rotation()); + if (trackSequence == 0) { + paint_lift_cage(direction, gTrackColours[SCHEME_TRACK], height, get_current_rotation()); - paint_lift_cage(-1, gTrackColours[SCHEME_TRACK], height + 32, get_current_rotation()); + paint_lift_cage(-1, gTrackColours[SCHEME_TRACK], height + 32, get_current_rotation()); - paint_lift_cage(-1, gTrackColours[SCHEME_TRACK], height + 64, get_current_rotation()); + paint_lift_cage(-1, gTrackColours[SCHEME_TRACK], height + 64, get_current_rotation()); - paint_util_set_vertical_tunnel(height + 96); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_vertical_tunnel(height + 96); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); #ifdef __TESTPAINT__ - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); #else - paint_util_set_general_support_height(height + 96, 0x20); + paint_util_set_general_support_height(height + 96, 0x20); #endif - return; - } + return; + } - sint32 edges = edges_3x3[trackSequence]; - rct_ride * ride = get_ride(rideIndex); - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 edges = edges_3x3[trackSequence]; + rct_ride * ride = get_ride(rideIndex); + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = SPR_FLOOR_METAL_B | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); + uint32 imageId = SPR_FLOOR_METAL_B | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation()); - track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, fenceSpritesMetalB, get_current_rotation()); + track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, fenceSpritesMetalB, get_current_rotation()); - sint32 blockedSegments = 0; - switch (trackSequence) { - case 1: blockedSegments = SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; - case 3: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; - case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8; break; - case 5: blockedSegments = SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; - case 6: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; - case 7: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 8: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; - } - paint_util_set_segment_support_height(blockedSegments, 0xFFFF, 0); - paint_util_set_segment_support_height(SEGMENTS_ALL & ~blockedSegments, height + 2, 0x20); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 1: blockedSegments = SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break; + case 3: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; + case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8; break; + case 5: blockedSegments = SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break; + case 6: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; + case 7: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 8: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break; + } + paint_util_set_segment_support_height(blockedSegments, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENTS_ALL & ~blockedSegments, height + 2, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0076C6DC */ static void paint_lift_tower_section(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (trackSequence == 1) { - return; - } + if (trackSequence == 1) { + return; + } - paint_lift_cage(-1, gTrackColours[SCHEME_TRACK], height, get_current_rotation()); + paint_lift_cage(-1, gTrackColours[SCHEME_TRACK], height, get_current_rotation()); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_vertical_tunnel(height + 32); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_vertical_tunnel(height + 32); + paint_util_set_general_support_height(height + 32, 0x20); } /** @@ -122,13 +122,13 @@ static void paint_lift_tower_section(uint8 rideIndex, uint8 trackSequence, uint8 */ TRACK_PAINT_FUNCTION get_track_paint_function_lift(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_TOWER_BASE: - return paint_lift_base; + switch (trackType) { + case TRACK_ELEM_TOWER_BASE: + return paint_lift_base; - case TRACK_ELEM_TOWER_SECTION: - return paint_lift_tower_section; - } + case TRACK_ELEM_TOWER_SECTION: + return paint_lift_tower_section; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/transport/miniature_railway.c b/src/openrct2/ride/transport/miniature_railway.c index 8909b4cd07..ab4450627f 100644 --- a/src/openrct2/ride/transport/miniature_railway.c +++ b/src/openrct2/ride/transport/miniature_railway.c @@ -26,808 +26,808 @@ enum { - SPR_MINIATURE_RAILWAY_FLAT_SW_NE = 23341, - SPR_MINIATURE_RAILWAY_FLAT_NW_SE = 23342, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_0 = 23343, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_1 = 23344, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_2 = 23345, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_3 = 23346, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_4 = 23347, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_0 = 23348, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_1 = 23349, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_2 = 23350, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_3 = 23351, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_4 = 23352, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_0 = 23353, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_1 = 23354, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_2 = 23355, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_3 = 23356, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_4 = 23357, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_0 = 23358, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_1 = 23359, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_2 = 23360, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_3 = 23361, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_4 = 23362, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_0 = 23363, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_1 = 23364, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_2 = 23365, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_3 = 23366, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_0 = 23367, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_1 = 23368, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_2 = 23369, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_3 = 23370, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_0 = 23371, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_1 = 23372, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_2 = 23373, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_3 = 23374, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_0 = 23375, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_1 = 23376, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_2 = 23377, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_3 = 23378, - SPR_MINIATURE_RAILWAY_25_DEG_UP_SW_NE = 23379, - SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_SW_NE = 23380, - SPR_MINIATURE_RAILWAY_25_DEG_UP_NE_SW = 23381, - SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_NE_SW = 23382, - SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_NE_SW = 23383, - SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_SW_NE = 23384, - SPR_MINIATURE_RAILWAY_25_DEG_UP_NW_SE = 23385, - SPR_MINIATURE_RAILWAY_25_DEG_UP_SE_NW = 23386, - SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_NW_SE = 23387, - SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_SE_NW = 23388, - SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_SE_NW = 23389, - SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_NW_SE = 23390, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 23391, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 23392, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 23393, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 23394, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 23395, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 23396, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 23397, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 23398, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 23399, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 23400, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 23401, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 23402, - SPR_MINIATURE_RAILWAY_FLAT_NO_BASE_SW_NE = 23403, - SPR_MINIATURE_RAILWAY_FLAT_NO_BASE_NW_SE = 23404, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_0 = 23405, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_1 = 23406, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_2 = 23407, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_3 = 23408, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_0 = 23409, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_1 = 23410, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_2 = 23411, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_3 = 23412, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_0 = 23413, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_1 = 23414, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_2 = 23415, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_3 = 23416, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_0 = 23417, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_1 = 23418, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_2 = 23419, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_3 = 23420, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_0 = 23421, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_1 = 23422, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_2 = 23423, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_3 = 23424, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_0 = 23425, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_1 = 23426, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_2 = 23427, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_3 = 23428, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_0 = 23429, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_1 = 23430, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_2 = 23431, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_3 = 23432, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_0 = 23433, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_1 = 23434, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_2 = 23435, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_3 = 23436, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_W_E = 23437, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_N_S = 23438, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_E_W = 23439, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_S_N = 23440, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_W_E = 23441, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_N_S = 23442, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_E_W = 23443, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_S_N = 23444, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_W_E = 23445, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_N_S = 23446, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_E_W = 23447, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_S_N = 23448, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_W_E = 23449, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_N_S = 23450, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_E_W = 23451, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_S_N = 23452, + SPR_MINIATURE_RAILWAY_FLAT_SW_NE = 23341, + SPR_MINIATURE_RAILWAY_FLAT_NW_SE = 23342, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_0 = 23343, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_1 = 23344, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_2 = 23345, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_3 = 23346, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_4 = 23347, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_0 = 23348, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_1 = 23349, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_2 = 23350, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_3 = 23351, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_4 = 23352, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_0 = 23353, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_1 = 23354, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_2 = 23355, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_3 = 23356, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_4 = 23357, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_0 = 23358, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_1 = 23359, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_2 = 23360, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_3 = 23361, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_4 = 23362, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_0 = 23363, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_1 = 23364, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_2 = 23365, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_3 = 23366, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_0 = 23367, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_1 = 23368, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_2 = 23369, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_3 = 23370, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_0 = 23371, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_1 = 23372, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_2 = 23373, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_3 = 23374, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_0 = 23375, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_1 = 23376, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_2 = 23377, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_3 = 23378, + SPR_MINIATURE_RAILWAY_25_DEG_UP_SW_NE = 23379, + SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_SW_NE = 23380, + SPR_MINIATURE_RAILWAY_25_DEG_UP_NE_SW = 23381, + SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_NE_SW = 23382, + SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_NE_SW = 23383, + SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_SW_NE = 23384, + SPR_MINIATURE_RAILWAY_25_DEG_UP_NW_SE = 23385, + SPR_MINIATURE_RAILWAY_25_DEG_UP_SE_NW = 23386, + SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_NW_SE = 23387, + SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_SE_NW = 23388, + SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_SE_NW = 23389, + SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_NW_SE = 23390, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 23391, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 23392, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 23393, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 23394, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 23395, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 23396, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 23397, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 23398, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 23399, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 23400, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 23401, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 23402, + SPR_MINIATURE_RAILWAY_FLAT_NO_BASE_SW_NE = 23403, + SPR_MINIATURE_RAILWAY_FLAT_NO_BASE_NW_SE = 23404, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_0 = 23405, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_1 = 23406, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_2 = 23407, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_3 = 23408, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_0 = 23409, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_1 = 23410, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_2 = 23411, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_3 = 23412, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_0 = 23413, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_1 = 23414, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_2 = 23415, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_3 = 23416, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_0 = 23417, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_1 = 23418, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_2 = 23419, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_3 = 23420, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_0 = 23421, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_1 = 23422, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_2 = 23423, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_3 = 23424, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_0 = 23425, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_1 = 23426, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_2 = 23427, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_3 = 23428, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_0 = 23429, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_1 = 23430, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_2 = 23431, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_3 = 23432, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_0 = 23433, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_1 = 23434, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_2 = 23435, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_3 = 23436, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_W_E = 23437, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_N_S = 23438, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_E_W = 23439, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_S_N = 23440, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_W_E = 23441, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_N_S = 23442, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_E_W = 23443, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_S_N = 23444, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_W_E = 23445, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_N_S = 23446, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_E_W = 23447, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_S_N = 23448, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_W_E = 23449, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_N_S = 23450, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_E_W = 23451, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_S_N = 23452, }; static const uint32 miniature_railway_track_floor[4] = { - SPR_FLOOR_PLANKS, - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS, - SPR_FLOOR_PLANKS_90_DEG + SPR_FLOOR_PLANKS, + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS, + SPR_FLOOR_PLANKS_90_DEG }; static const uint32 miniature_railway_track_pieces_flat[4] = { - SPR_MINIATURE_RAILWAY_FLAT_SW_NE, - SPR_MINIATURE_RAILWAY_FLAT_NW_SE, - SPR_MINIATURE_RAILWAY_FLAT_SW_NE, - SPR_MINIATURE_RAILWAY_FLAT_NW_SE, + SPR_MINIATURE_RAILWAY_FLAT_SW_NE, + SPR_MINIATURE_RAILWAY_FLAT_NW_SE, + SPR_MINIATURE_RAILWAY_FLAT_SW_NE, + SPR_MINIATURE_RAILWAY_FLAT_NW_SE, }; static const uint32 miniature_railway_station_floor[4] = { - SPR_STATION_BASE_A_SW_NE, - SPR_STATION_BASE_A_NW_SE, - SPR_STATION_BASE_A_SW_NE, - SPR_STATION_BASE_A_NW_SE + SPR_STATION_BASE_A_SW_NE, + SPR_STATION_BASE_A_NW_SE, + SPR_STATION_BASE_A_SW_NE, + SPR_STATION_BASE_A_NW_SE }; static const uint32 miniature_railway_track_pieces_flat_station[4] = { - SPR_MINIATURE_RAILWAY_FLAT_NO_BASE_SW_NE, - SPR_MINIATURE_RAILWAY_FLAT_NO_BASE_NW_SE, - SPR_MINIATURE_RAILWAY_FLAT_NO_BASE_SW_NE, - SPR_MINIATURE_RAILWAY_FLAT_NO_BASE_NW_SE, + SPR_MINIATURE_RAILWAY_FLAT_NO_BASE_SW_NE, + SPR_MINIATURE_RAILWAY_FLAT_NO_BASE_NW_SE, + SPR_MINIATURE_RAILWAY_FLAT_NO_BASE_SW_NE, + SPR_MINIATURE_RAILWAY_FLAT_NO_BASE_NW_SE, }; static const uint32 miniature_railway_track_pieces_flat_quarter_turn_5_tiles[4][5] = { - { - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_0, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_1, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_2, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_3, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_4, - }, - { - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_0, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_1, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_2, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_3, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_4, - }, - { - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_0, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_1, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_2, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_3, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_4, - }, - { - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_0, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_1, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_2, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_3, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_4, - } + { + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_0, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_1, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_2, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_3, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SW_SE_PART_4, + }, + { + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_0, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_1, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_2, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_3, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NW_SW_PART_4, + }, + { + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_0, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_1, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_2, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_3, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_NE_NW_PART_4, + }, + { + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_0, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_1, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_2, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_3, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_5_TILES_SE_NE_PART_4, + } }; static const uint32 miniature_railway_track_pieces_25_deg_up[4] = { - SPR_MINIATURE_RAILWAY_25_DEG_UP_SW_NE, - SPR_MINIATURE_RAILWAY_25_DEG_UP_NW_SE, - SPR_MINIATURE_RAILWAY_25_DEG_UP_NE_SW, - SPR_MINIATURE_RAILWAY_25_DEG_UP_SE_NW, + SPR_MINIATURE_RAILWAY_25_DEG_UP_SW_NE, + SPR_MINIATURE_RAILWAY_25_DEG_UP_NW_SE, + SPR_MINIATURE_RAILWAY_25_DEG_UP_NE_SW, + SPR_MINIATURE_RAILWAY_25_DEG_UP_SE_NW, }; static const uint32 miniature_railway_track_pieces_flat_to_25_deg_up[4] = { - SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_SW_NE, - SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_NW_SE, - SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_NE_SW, - SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_SE_NW, + SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_SW_NE, + SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_NW_SE, + SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_NE_SW, + SPR_MINIATURE_RAILWAY_FLAT_TO_25_DEG_UP_SE_NW, }; static const uint32 miniature_railway_track_pieces_25_deg_up_to_flat[4] = { - SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_SW_NE, - SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_NW_SE, - SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_NE_SW, - SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_SE_NW, + SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_SW_NE, + SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_NW_SE, + SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_NE_SW, + SPR_MINIATURE_RAILWAY_25_DEG_UP_TO_FLAT_SE_NW, }; static const uint32 miniature_railway_track_pieces_s_bend_left[2][4] = { - { - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_0, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_1, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_2, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_3, - }, - { - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_3, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_2, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_1, - SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_0, - } + { + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_0, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_1, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_2, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SW_NE_PART_3, + }, + { + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_3, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_2, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_1, + SPR_MINIATURE_RAILWAY_S_BEND_LEFT_SE_NW_PART_0, + } }; static const uint32 miniature_railway_track_pieces_s_bend_right[2][4] = { - { - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_0, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_1, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_2, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_3, - }, - { - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_3, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_2, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_1, - SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_0, - } + { + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_0, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_1, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_2, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SW_NE_PART_3, + }, + { + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_3, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_2, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_1, + SPR_MINIATURE_RAILWAY_S_BEND_RIGHT_SE_NW_PART_0, + } }; static const uint32 miniature_railway_track_pieces_flat_quarter_turn_3_tiles[4][3] = { - { - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_0, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_1, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_2 - }, - { - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NW_SW_PART_0, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NW_SW_PART_1, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NW_SW_PART_2 - }, - { - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NE_NW_PART_0, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NE_NW_PART_1, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NE_NW_PART_2 - }, - { - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SE_NE_PART_0, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SE_NE_PART_1, - SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SE_NE_PART_2 - } + { + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_0, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_1, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_2 + }, + { + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NW_SW_PART_0, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NW_SW_PART_1, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NW_SW_PART_2 + }, + { + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NE_NW_PART_0, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NE_NW_PART_1, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_NE_NW_PART_2 + }, + { + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SE_NE_PART_0, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SE_NE_PART_1, + SPR_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SE_NE_PART_2 + } }; static const uint32 miniature_railway_track_pieces_right_eight_to_diag[4][4] = { - { - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_0, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_1, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_2, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_3, - }, - { - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_0, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_1, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_2, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_3, - }, - { - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_0, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_1, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_2, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_3, - }, - { - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_0, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_1, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_2, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_3, - }, + { + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_0, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_1, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_2, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_E_PART_3, + }, + { + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_0, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_1, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_2, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_S_PART_3, + }, + { + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_0, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_1, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_2, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_W_PART_3, + }, + { + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_0, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_1, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_2, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_N_PART_3, + }, }; static const rct_xyz16 miniature_railway_track_pieces_right_eight_to_diag_bounds[4][4] = { - { - {32, 32, 2}, - {32, 16, 2}, - {16, 16, 2}, - {32, 32, 0}, - }, - { - {32, 32, 2}, - {16, 32, 2}, - {16, 16, 2}, - {16, 16, 2}, - }, - { - {32, 32, 2}, - {34, 16, 2}, - {28, 28, 2}, - {32, 34, 0}, - }, - { - {32, 32, 2}, - {16, 32, 2}, - {16, 16, 2}, - {30, 30, 0}, - }, + { + {32, 32, 2}, + {32, 16, 2}, + {16, 16, 2}, + {32, 32, 0}, + }, + { + {32, 32, 2}, + {16, 32, 2}, + {16, 16, 2}, + {16, 16, 2}, + }, + { + {32, 32, 2}, + {34, 16, 2}, + {28, 28, 2}, + {32, 34, 0}, + }, + { + {32, 32, 2}, + {16, 32, 2}, + {16, 16, 2}, + {30, 30, 0}, + }, }; static const rct_xy16 miniature_railway_track_pieces_right_eight_to_diag_offset[4][4] = { - { - {0, 0}, - {0, 16}, - {0, 0}, - {0, 0}, - }, - { - {0, 0}, - {16, 0}, - {0, 16}, - {0, 0}, - }, - { - {0, 0}, - {0, 0}, - {4, 4}, - {0, 0}, - }, - { - {0, 0}, - {0, 0}, - {16, 0}, - {0, 0}, - }, + { + {0, 0}, + {0, 16}, + {0, 0}, + {0, 0}, + }, + { + {0, 0}, + {16, 0}, + {0, 16}, + {0, 0}, + }, + { + {0, 0}, + {0, 0}, + {4, 4}, + {0, 0}, + }, + { + {0, 0}, + {0, 0}, + {16, 0}, + {0, 0}, + }, }; static const uint32 miniature_railway_track_pieces_left_eight_to_diag[4][4] = { - { - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_0, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_1, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_2, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_3, - }, - { - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_0, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_1, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_2, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_3, - }, - { - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_0, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_1, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_2, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_3, - }, - { - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_0, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_1, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_2, - SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_3, - }, + { + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_0, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_1, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_2, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SW_N_PART_3, + }, + { + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_0, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_1, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_2, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NW_E_PART_3, + }, + { + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_0, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_1, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_2, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_NE_S_PART_3, + }, + { + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_0, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_1, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_2, + SPR_MINIATURE_RAILWAY_EIGHT_TO_DIAG_SE_W_PART_3, + }, }; static const rct_xyz16 miniature_railway_track_pieces_left_eight_to_diag_bounds[4][4] = { - { - {32, 32, 2}, - {32, 16, 2}, - {16, 16, 2}, - {30, 30, 0}, - }, - { - {32, 32, 2}, - {16, 34, 2}, - {14, 14, 2}, - {34, 32, 0}, - }, - { - {32, 32, 2}, - {32, 16, 2}, - {16, 16, 2}, - {16, 16, 2}, - }, - { - {32, 32, 2}, - {16, 32, 2}, - {16, 16, 2}, - {32, 32, 0}, - }, + { + {32, 32, 2}, + {32, 16, 2}, + {16, 16, 2}, + {30, 30, 0}, + }, + { + {32, 32, 2}, + {16, 34, 2}, + {14, 14, 2}, + {34, 32, 0}, + }, + { + {32, 32, 2}, + {32, 16, 2}, + {16, 16, 2}, + {16, 16, 2}, + }, + { + {32, 32, 2}, + {16, 32, 2}, + {16, 16, 2}, + {32, 32, 0}, + }, }; static const rct_xy16 miniature_railway_track_pieces_left_eight_to_diag_offset[4][4] = { - { - {0, 0}, - {0, 0}, - {0, 16}, - {0, 0}, - }, - { - {0, 0}, - {0, 0}, - {16, 16}, - {0, 0}, - }, - { - {0, 0}, - {0, 16}, - {16, 0}, - {0, 0}, - }, - { - {0, 0}, - {16, 0}, - {0, 0}, - {0, 0}, - }, + { + {0, 0}, + {0, 0}, + {0, 16}, + {0, 0}, + }, + { + {0, 0}, + {0, 0}, + {16, 16}, + {0, 0}, + }, + { + {0, 0}, + {0, 16}, + {16, 0}, + {0, 0}, + }, + { + {0, 0}, + {16, 0}, + {0, 0}, + {0, 0}, + }, }; static const rct_xyz16 miniature_railway_track_pieces_right_eight_to_orthog_bounds[4][4] = { - { - {32, 32, 2}, - {32, 16, 2}, - {16, 16, 2}, - {14, 14, 2}, - }, - { - {32, 32, 2}, - {16, 34, 2}, - {14, 14, 2}, - {18, 16, 2}, - }, - { - {32, 32, 2}, - {32, 16, 2}, - {16, 16, 2}, - {16, 16, 2}, - }, - { - {32, 32, 2}, - {16, 32, 2}, - {16, 16, 2}, - {16, 16, 2}, - }, + { + {32, 32, 2}, + {32, 16, 2}, + {16, 16, 2}, + {14, 14, 2}, + }, + { + {32, 32, 2}, + {16, 34, 2}, + {14, 14, 2}, + {18, 16, 2}, + }, + { + {32, 32, 2}, + {32, 16, 2}, + {16, 16, 2}, + {16, 16, 2}, + }, + { + {32, 32, 2}, + {16, 32, 2}, + {16, 16, 2}, + {16, 16, 2}, + }, }; static const rct_xy16 miniature_railway_track_pieces_right_eight_to_orthog_offset[4][4] = { - { - {0, 0}, - {0, 0}, - {0, 16}, - {16, 16}, - }, - { - {0, 0}, - {0, 0}, - {16, 16}, - {16, 0}, - }, - { - {0, 0}, - {0, 16}, - {16, 0}, - {0, 0}, - }, - { - {0, 0}, - {16, 0}, - {0, 0}, - {0, 16}, - }, + { + {0, 0}, + {0, 0}, + {0, 16}, + {16, 16}, + }, + { + {0, 0}, + {0, 0}, + {16, 16}, + {16, 0}, + }, + { + {0, 0}, + {0, 16}, + {16, 0}, + {0, 0}, + }, + { + {0, 0}, + {16, 0}, + {0, 0}, + {0, 16}, + }, }; static const rct_xyz16 miniature_railway_track_pieces_left_eight_to_orthog_bounds[4][4] = { - { - {32, 32, 2}, - {32, 16, 2}, - {16, 16, 2}, - {16, 16, 2}, - }, - { - {32, 32, 2}, - {16, 32, 2}, - {16, 16, 2}, - {16, 16, 2}, - }, - { - {32, 32, 2}, - {34, 16, 2}, - {28, 28, 2}, - {16, 18, 2}, - }, - { - {32, 32, 2}, - {16, 32, 2}, - {16, 16, 2}, - {14, 14, 2}, - }, + { + {32, 32, 2}, + {32, 16, 2}, + {16, 16, 2}, + {16, 16, 2}, + }, + { + {32, 32, 2}, + {16, 32, 2}, + {16, 16, 2}, + {16, 16, 2}, + }, + { + {32, 32, 2}, + {34, 16, 2}, + {28, 28, 2}, + {16, 18, 2}, + }, + { + {32, 32, 2}, + {16, 32, 2}, + {16, 16, 2}, + {14, 14, 2}, + }, }; static const rct_xy16 miniature_railway_track_pieces_left_eight_to_orthog_offset[4][4] = { - { - {0, 0}, - {0, 16}, - {0, 0}, - {16, 0}, - }, - { - {0, 0}, - {16, 0}, - {0, 16}, - {0, 0}, - }, - { - {0, 0}, - {0, 0}, - {4, 4}, - {0, 16}, - }, - { - {0, 0}, - {0, 0}, - {16, 0}, - {16, 16}, - }, + { + {0, 0}, + {0, 16}, + {0, 0}, + {16, 0}, + }, + { + {0, 0}, + {16, 0}, + {0, 16}, + {0, 0}, + }, + { + {0, 0}, + {0, 0}, + {4, 4}, + {0, 16}, + }, + { + {0, 0}, + {0, 0}, + {16, 0}, + {16, 16}, + }, }; static const uint32 miniature_railway_track_pieces_diag_flat[4] = { - SPR_MINIATURE_RAILWAY_DIAG_FLAT_W_E, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_N_S, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_E_W, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_S_N, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_W_E, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_N_S, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_E_W, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_S_N, }; static const uint32 miniature_railway_track_pieces_diag_flat_to_25_deg_up[4] = { - SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_W_E, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_N_S, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_E_W, - SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_S_N, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_W_E, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_N_S, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_E_W, + SPR_MINIATURE_RAILWAY_DIAG_FLAT_TO_25_DEG_UP_S_N, }; static const uint32 miniature_railway_track_pieces_diag_25_deg_up_to_flat[4] = { - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_W_E, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_N_S, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_E_W, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_S_N, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_W_E, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_N_S, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_E_W, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_TO_FLAT_S_N, }; static const uint32 miniature_railway_track_pieces_diag_25_deg_up[4] = { - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_W_E, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_N_S, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_E_W, - SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_S_N, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_W_E, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_N_S, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_E_W, + SPR_MINIATURE_RAILWAY_DIAG_25_DEG_UP_S_N, }; /** rct2: 0x008AD0C0 */ static void paint_miniature_railway_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isSupported = wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - uint32 imageId; + bool isSupported = wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + uint32 imageId; - if (isSupported) { - imageId = miniature_railway_track_floor[direction] | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + if (isSupported) { + imageId = miniature_railway_track_floor[direction] | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = miniature_railway_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; - sub_98199C_rotated(direction, imageId, 0, 6, 32, 20, 2, height, 0, 6, height); - } - else { - imageId = miniature_railway_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 6, 32, 20, 2, height, 0, 6, height); - } + imageId = miniature_railway_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; + sub_98199C_rotated(direction, imageId, 0, 6, 32, 20, 2, height, 0, 6, height); + } + else { + imageId = miniature_railway_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 6, 32, 20, 2, height, 0, 6, height); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AD170, 0x008AD180, 0x008AD190 */ static void paint_miniature_railway_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - imageId = miniature_railway_station_floor[direction] | gTrackColours[SCHEME_MISC]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height); + imageId = miniature_railway_station_floor[direction] | gTrackColours[SCHEME_MISC]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height); - imageId = miniature_railway_track_pieces_flat_station[direction] | gTrackColours[SCHEME_TRACK]; - sub_98199C_rotated(direction, imageId, 0, 6, 32, 20, 2, height, 0, 0, height); + imageId = miniature_railway_track_pieces_flat_station[direction] | gTrackColours[SCHEME_TRACK]; + sub_98199C_rotated(direction, imageId, 0, 6, 32, 20, 2, height, 0, 0, height); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - track_paint_util_draw_station_3(rideIndex, trackSequence, direction, height + 2, height, mapElement); - // covers shouldn't be offset by +2 + track_paint_util_draw_station_3(rideIndex, trackSequence, direction, height + 2, height, mapElement); + // covers shouldn't be offset by +2 - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 30, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 30, 0x20); } /** rct2: 0x008AD0D0 */ static void paint_miniature_railway_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = miniature_railway_track_pieces_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = miniature_railway_track_pieces_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 2, height, 0, 3, height); - switch (direction) { - case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_7); break; - case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_8); break; - case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_8); break; - case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_7); break; - } + switch (direction) { + case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_7); break; + case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_8); break; + case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_8); break; + case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_7); break; + } - wooden_a_supports_paint_setup(direction & 1, 45 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 45 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AD0E0 */ static void paint_miniature_railway_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = miniature_railway_track_pieces_flat_to_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = miniature_railway_track_pieces_flat_to_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 2, height, 0, 3, height); - switch (direction) { - case 0: paint_util_push_tunnel_left(height, TUNNEL_6); break; - case 1: paint_util_push_tunnel_right(height, TUNNEL_8); break; - case 2: paint_util_push_tunnel_left(height, TUNNEL_8); break; - case 3: paint_util_push_tunnel_right(height, TUNNEL_6); break; - } + switch (direction) { + case 0: paint_util_push_tunnel_left(height, TUNNEL_6); break; + case 1: paint_util_push_tunnel_right(height, TUNNEL_8); break; + case 2: paint_util_push_tunnel_left(height, TUNNEL_8); break; + case 3: paint_util_push_tunnel_right(height, TUNNEL_6); break; + } - wooden_a_supports_paint_setup(direction & 1, 37 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 37 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AD0F0 */ static void paint_miniature_railway_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = miniature_railway_track_pieces_25_deg_up_to_flat[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = miniature_railway_track_pieces_25_deg_up_to_flat[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 2, height, 0, 3, height); + sub_98197C_rotated(direction, imageId, 0, 2, 32, 25, 2, height, 0, 3, height); - switch (direction) { - case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_6); break; - case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_14); break; - case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_14); break; - case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_6); break; - } + switch (direction) { + case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_6); break; + case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_14); break; + case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_14); break; + case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_6); break; + } - wooden_a_supports_paint_setup(direction & 1, 41 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup(direction & 1, 41 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008AD100 */ static void paint_miniature_railway_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_miniature_railway_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_miniature_railway_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x008AD110 */ static void paint_miniature_railway_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_miniature_railway_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_miniature_railway_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x008AD120 */ static void paint_miniature_railway_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_miniature_railway_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_miniature_railway_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } const rct_xy16 miniature_railway_right_quarter_turn_5_tiles_offsets[4][5] = { - { - {0, 2}, - {0, 16}, - {0, 0}, - {16, 0}, - {2, 0}, - }, - { - {2, 0}, - {16, 0}, - {0, 16}, - {0, 0}, - {0, 2}, - }, - { - {0, 2}, - {0, 0}, - {16, 16}, - {0, 0}, - {2, 0}, - }, - { - {2, 0}, - {0, 0}, - {16, 0}, - {0, 16}, - {0, 2}, - } + { + {0, 2}, + {0, 16}, + {0, 0}, + {16, 0}, + {2, 0}, + }, + { + {2, 0}, + {16, 0}, + {0, 16}, + {0, 0}, + {0, 2}, + }, + { + {0, 2}, + {0, 0}, + {16, 16}, + {0, 0}, + {2, 0}, + }, + { + {2, 0}, + {0, 0}, + {16, 0}, + {0, 16}, + {0, 2}, + } }; const rct_xyz16 miniature_railway_right_quarter_turn_5_tiles_bound_offsets[4][5] = { - { - {0, 2, 0}, - {0, 16, 0}, - {0, 0, 0}, - {16, 0, 0}, - {2, 0, 0}, - }, - { - {2, 0, 0}, - {16, 0, 0}, - {0, 16, 0}, - {0, 0, 0}, - {0, 2, 0}, - }, - { - {0, 2, 0}, - {0, 0, 0}, - {16, 16, 0}, - {0, 0, 0}, - {2, 0, 0}, - }, - { - {2, 0, 0}, - {0, 0, 0}, - {16, 0, 0}, - {0, 16, 0}, - {0, 2, 0}, - } + { + {0, 2, 0}, + {0, 16, 0}, + {0, 0, 0}, + {16, 0, 0}, + {2, 0, 0}, + }, + { + {2, 0, 0}, + {16, 0, 0}, + {0, 16, 0}, + {0, 0, 0}, + {0, 2, 0}, + }, + { + {0, 2, 0}, + {0, 0, 0}, + {16, 16, 0}, + {0, 0, 0}, + {2, 0, 0}, + }, + { + {2, 0, 0}, + {0, 0, 0}, + {16, 0, 0}, + {0, 16, 0}, + {0, 2, 0}, + } }; const rct_xy16 miniature_railway_right_quarter_turn_5_tiles_bound_lengths[4][5] = { - { - {32, 32}, - {32, 16}, - {16, 16}, - {16, 32}, - {32, 32}, - }, - { - {32, 32}, - {16, 34}, - {16, 16}, - {32, 16}, - {32, 27}, - }, - { - {32, 27}, - {32, 16}, - {16, 16}, - {16, 32}, - {27, 32}, - }, - { - {27, 32}, - {16, 32}, - {16, 16}, - {32, 16}, - {32, 32}, - } + { + {32, 32}, + {32, 16}, + {16, 16}, + {16, 32}, + {32, 32}, + }, + { + {32, 32}, + {16, 34}, + {16, 16}, + {32, 16}, + {32, 27}, + }, + { + {32, 27}, + {32, 16}, + {16, 16}, + {16, 32}, + {27, 32}, + }, + { + {27, 32}, + {16, 32}, + {16, 16}, + {32, 16}, + {32, 32}, + } }; static const uint32 miniature_railway_right_quarter_turn_5_tiles_track_floor[4][5] = { - { - SPR_FLOOR_PLANKS, - SPR_FLOOR_PLANKS_S_SEGMENT, - SPR_FLOOR_PLANKS_N_SEGMENT, - SPR_FLOOR_PLANKS_S_SEGMENT, - SPR_FLOOR_PLANKS_90_DEG - }, - { - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_W_SEGMENT, - SPR_FLOOR_PLANKS_E_SEGMENT, - SPR_FLOOR_PLANKS_W_SEGMENT, - SPR_FLOOR_PLANKS - }, - { - SPR_FLOOR_PLANKS, - SPR_FLOOR_PLANKS_N_SEGMENT, - SPR_FLOOR_PLANKS_S_SEGMENT, - SPR_FLOOR_PLANKS_N_SEGMENT, - SPR_FLOOR_PLANKS_90_DEG - }, - { - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_E_SEGMENT, - SPR_FLOOR_PLANKS_W_SEGMENT, - SPR_FLOOR_PLANKS_E_SEGMENT, - SPR_FLOOR_PLANKS - }, + { + SPR_FLOOR_PLANKS, + SPR_FLOOR_PLANKS_S_SEGMENT, + SPR_FLOOR_PLANKS_N_SEGMENT, + SPR_FLOOR_PLANKS_S_SEGMENT, + SPR_FLOOR_PLANKS_90_DEG + }, + { + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_W_SEGMENT, + SPR_FLOOR_PLANKS_E_SEGMENT, + SPR_FLOOR_PLANKS_W_SEGMENT, + SPR_FLOOR_PLANKS + }, + { + SPR_FLOOR_PLANKS, + SPR_FLOOR_PLANKS_N_SEGMENT, + SPR_FLOOR_PLANKS_S_SEGMENT, + SPR_FLOOR_PLANKS_N_SEGMENT, + SPR_FLOOR_PLANKS_90_DEG + }, + { + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_E_SEGMENT, + SPR_FLOOR_PLANKS_W_SEGMENT, + SPR_FLOOR_PLANKS_E_SEGMENT, + SPR_FLOOR_PLANKS + }, }; static const sint8 right_quarter_turn_5_supports_type[4][7] = { - {0, -1, 4, 2, -1, 4, 1}, - {1, -1, 5, 3, -1, 5, 0}, - {0, -1, 2, 4, -1, 2, 1}, - {1, -1, 3, 5, -1, 3, 0} + {0, -1, 4, 2, -1, 4, 1}, + {1, -1, 5, 3, -1, 5, 0}, + {0, -1, 2, 4, -1, 2, 1}, + {1, -1, 3, 5, -1, 3, 0} }; static const sint8 miniature_railway_right_quarter_turn_5_tiles_sprite_map[] = {0, -1, 1, 2, -1, 3, 4}; @@ -836,1072 +836,1072 @@ static const sint8 miniature_railway_right_quarter_turn_5_tiles_sprite_map[] = { static void paint_miniature_railway_track_right_quarter_turn_5_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (right_quarter_turn_5_supports_type[direction][trackSequence] != -1){ - bool isSupported = wooden_a_supports_paint_setup(right_quarter_turn_5_supports_type[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + if (right_quarter_turn_5_supports_type[direction][trackSequence] != -1){ + bool isSupported = wooden_a_supports_paint_setup(right_quarter_turn_5_supports_type[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (isSupported == false || (trackSequence == 3 && direction == 2)) { - track_paint_util_right_quarter_turn_5_tiles_paint(2, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], miniature_railway_track_pieces_flat_quarter_turn_5_tiles, miniature_railway_right_quarter_turn_5_tiles_offsets, miniature_railway_right_quarter_turn_5_tiles_bound_lengths, NULL, get_current_rotation()); - } - else { - track_paint_util_right_quarter_turn_5_tiles_paint(2, height, direction, trackSequence, gTrackColours[SCHEME_SUPPORTS], miniature_railway_right_quarter_turn_5_tiles_track_floor, NULL, miniature_railway_right_quarter_turn_5_tiles_bound_lengths, miniature_railway_right_quarter_turn_5_tiles_bound_offsets, get_current_rotation()); + if (isSupported == false || (trackSequence == 3 && direction == 2)) { + track_paint_util_right_quarter_turn_5_tiles_paint(2, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], miniature_railway_track_pieces_flat_quarter_turn_5_tiles, miniature_railway_right_quarter_turn_5_tiles_offsets, miniature_railway_right_quarter_turn_5_tiles_bound_lengths, NULL, get_current_rotation()); + } + else { + track_paint_util_right_quarter_turn_5_tiles_paint(2, height, direction, trackSequence, gTrackColours[SCHEME_SUPPORTS], miniature_railway_right_quarter_turn_5_tiles_track_floor, NULL, miniature_railway_right_quarter_turn_5_tiles_bound_lengths, miniature_railway_right_quarter_turn_5_tiles_bound_offsets, get_current_rotation()); - sint32 index = miniature_railway_right_quarter_turn_5_tiles_sprite_map[trackSequence]; - uint32 imageId = miniature_railway_track_pieces_flat_quarter_turn_5_tiles[direction][index] | gTrackColours[SCHEME_TRACK]; - rct_xy16 offset = miniature_railway_right_quarter_turn_5_tiles_offsets[direction][index]; - rct_xy16 boundsLength = miniature_railway_right_quarter_turn_5_tiles_bound_lengths[direction][index]; - rct_xyz16 boundsOffset = { .x = offset.x, .y = offset.y, .z = 0 }; + sint32 index = miniature_railway_right_quarter_turn_5_tiles_sprite_map[trackSequence]; + uint32 imageId = miniature_railway_track_pieces_flat_quarter_turn_5_tiles[direction][index] | gTrackColours[SCHEME_TRACK]; + rct_xy16 offset = miniature_railway_right_quarter_turn_5_tiles_offsets[direction][index]; + rct_xy16 boundsLength = miniature_railway_right_quarter_turn_5_tiles_bound_lengths[direction][index]; + rct_xyz16 boundsOffset = { .x = offset.x, .y = offset.y, .z = 0 }; - sub_98199C(imageId, (sint8) offset.x, (sint8) offset.y, boundsLength.x, boundsLength.y, 2, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, get_current_rotation()); - } - } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } + sub_98199C(imageId, (sint8) offset.x, (sint8) offset.y, boundsLength.x, boundsLength.y, 2, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, get_current_rotation()); + } + } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } - if (direction == 0 && trackSequence == 6) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } + if (direction == 0 && trackSequence == 6) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } - if (direction == 1 && trackSequence == 6) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } + if (direction == 1 && trackSequence == 6) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENTS_ALL; break; - case 1: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC; break; - case 3: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; - case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; - case 5: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8; break; - case 6: blockedSegments = SEGMENTS_ALL; break; - } + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENTS_ALL; break; + case 1: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC; break; + case 3: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break; + case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break; + case 5: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8; break; + case 6: blockedSegments = SEGMENTS_ALL; break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AD130 */ static void paint_miniature_railway_track_left_quarter_turn_5_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - paint_miniature_railway_track_right_quarter_turn_5_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + paint_miniature_railway_track_right_quarter_turn_5_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } static const sint8 s_bend_left_supports_type[4][4] = { - {0, 5, 3, 0}, - {1, 2, 4, 1}, - {0, 5, 3, 0}, - {1, 2, 4, 1} + {0, 5, 3, 0}, + {1, 2, 4, 1}, + {0, 5, 3, 0}, + {1, 2, 4, 1} }; static const uint32 miniature_railway_s_bend_left_tiles_track_floor[2][4] = { - { - SPR_FLOOR_PLANKS, - SPR_FLOOR_PLANKS_W_SEGMENT, - SPR_FLOOR_PLANKS_E_SEGMENT, - SPR_FLOOR_PLANKS - }, - { - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_N_SEGMENT, - SPR_FLOOR_PLANKS_S_SEGMENT, - SPR_FLOOR_PLANKS_90_DEG, - } + { + SPR_FLOOR_PLANKS, + SPR_FLOOR_PLANKS_W_SEGMENT, + SPR_FLOOR_PLANKS_E_SEGMENT, + SPR_FLOOR_PLANKS + }, + { + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_N_SEGMENT, + SPR_FLOOR_PLANKS_S_SEGMENT, + SPR_FLOOR_PLANKS_90_DEG, + } }; /** rct2: 0x8AD150 */ static void paint_miniature_railway_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (direction == 2 || direction == 3) { - trackSequence = 3 - trackSequence; - } + if (direction == 2 || direction == 3) { + trackSequence = 3 - trackSequence; + } - bool isSupported = wooden_a_supports_paint_setup(s_bend_left_supports_type[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + bool isSupported = wooden_a_supports_paint_setup(s_bend_left_supports_type[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - const rct_xy16 offsetList[] = { - {0, 2}, - {0, 0}, - {0, 6}, - {0, 2}, - }; + const rct_xy16 offsetList[] = { + {0, 2}, + {0, 0}, + {0, 6}, + {0, 2}, + }; - const rct_xy16 boundsList[] = { - {32, 27}, - {32, 26}, - {32, 26}, - {32, 27}, - }; + const rct_xy16 boundsList[] = { + {32, 27}, + {32, 26}, + {32, 26}, + {32, 27}, + }; - uint32 imageId = miniature_railway_track_pieces_s_bend_left[direction & 1][trackSequence] | gTrackColours[SCHEME_TRACK]; - rct_xy16 offset = offsetList[trackSequence]; - rct_xy16 bounds = boundsList[trackSequence]; + uint32 imageId = miniature_railway_track_pieces_s_bend_left[direction & 1][trackSequence] | gTrackColours[SCHEME_TRACK]; + rct_xy16 offset = offsetList[trackSequence]; + rct_xy16 bounds = boundsList[trackSequence]; - if (isSupported == false) { - sub_98197C_rotated(direction, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); - } - else { - imageId = miniature_railway_s_bend_left_tiles_track_floor[direction & 1][trackSequence] | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C_rotated(direction, imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); + if (isSupported == false) { + sub_98197C_rotated(direction, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); + } + else { + imageId = miniature_railway_s_bend_left_tiles_track_floor[direction & 1][trackSequence] | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C_rotated(direction, imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); - imageId = miniature_railway_track_pieces_s_bend_left[direction & 1][trackSequence] | gTrackColours[SCHEME_TRACK]; - sub_98199C_rotated(direction, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); - } - if (direction == 0 || direction == 2) { - if (trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } - } else { - if (trackSequence == 3) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } - } + imageId = miniature_railway_track_pieces_s_bend_left[direction & 1][trackSequence] | gTrackColours[SCHEME_TRACK]; + sub_98199C_rotated(direction, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); + } + if (direction == 0 || direction == 2) { + if (trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } + } else { + if (trackSequence == 3) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENTS_ALL; break; - case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 3: blockedSegments = SEGMENTS_ALL; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction & 1), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENTS_ALL; break; + case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 3: blockedSegments = SEGMENTS_ALL; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction & 1), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static const sint8 s_bend_right_supports_type[4][4] = { - {0, 4, 2, 0}, - {1, 5, 3, 1}, - {0, 4, 2, 0}, - {1, 5, 3, 1} + {0, 4, 2, 0}, + {1, 5, 3, 1}, + {0, 4, 2, 0}, + {1, 5, 3, 1} }; static const uint32 miniature_railway_s_bend_right_tiles_track_floor[2][4] = { - { - SPR_FLOOR_PLANKS, - SPR_FLOOR_PLANKS_S_SEGMENT, - SPR_FLOOR_PLANKS_N_SEGMENT, - SPR_FLOOR_PLANKS - }, - { - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_W_SEGMENT, - SPR_FLOOR_PLANKS_E_SEGMENT, - SPR_FLOOR_PLANKS_90_DEG, - } + { + SPR_FLOOR_PLANKS, + SPR_FLOOR_PLANKS_S_SEGMENT, + SPR_FLOOR_PLANKS_N_SEGMENT, + SPR_FLOOR_PLANKS + }, + { + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_W_SEGMENT, + SPR_FLOOR_PLANKS_E_SEGMENT, + SPR_FLOOR_PLANKS_90_DEG, + } }; /** rct2: 0x008AD160 */ static void paint_miniature_railway_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (direction == 2 || direction == 3) { - trackSequence = 3 - trackSequence; - } + if (direction == 2 || direction == 3) { + trackSequence = 3 - trackSequence; + } - bool isSupported = wooden_a_supports_paint_setup(s_bend_right_supports_type[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + bool isSupported = wooden_a_supports_paint_setup(s_bend_right_supports_type[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - const rct_xy16 offsetList[] = { - {0, 2}, - {0, 6}, - {0, 0}, - {0, 2}, - }; + const rct_xy16 offsetList[] = { + {0, 2}, + {0, 6}, + {0, 0}, + {0, 2}, + }; - const rct_xy16 boundsList[] = { - {32, 27}, - {32, 26}, - {32, 26}, - {32, 27}, - }; + const rct_xy16 boundsList[] = { + {32, 27}, + {32, 26}, + {32, 26}, + {32, 27}, + }; - uint32 imageId = miniature_railway_track_pieces_s_bend_right[direction&1][trackSequence] | gTrackColours[SCHEME_TRACK]; - rct_xy16 offset = offsetList[trackSequence]; - rct_xy16 bounds = boundsList[trackSequence]; - if (isSupported == false) { - sub_98197C_rotated(direction, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); - } - else { - imageId = miniature_railway_s_bend_right_tiles_track_floor[direction & 1][trackSequence] | gTrackColours[SCHEME_SUPPORTS]; - sub_98197C_rotated(direction, imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); + uint32 imageId = miniature_railway_track_pieces_s_bend_right[direction&1][trackSequence] | gTrackColours[SCHEME_TRACK]; + rct_xy16 offset = offsetList[trackSequence]; + rct_xy16 bounds = boundsList[trackSequence]; + if (isSupported == false) { + sub_98197C_rotated(direction, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); + } + else { + imageId = miniature_railway_s_bend_right_tiles_track_floor[direction & 1][trackSequence] | gTrackColours[SCHEME_SUPPORTS]; + sub_98197C_rotated(direction, imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); - imageId = miniature_railway_track_pieces_s_bend_right[direction & 1][trackSequence] | gTrackColours[SCHEME_TRACK]; - sub_98199C_rotated(direction, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); - } + imageId = miniature_railway_track_pieces_s_bend_right[direction & 1][trackSequence] | gTrackColours[SCHEME_TRACK]; + sub_98199C_rotated(direction, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); + } - if (direction == 0 || direction == 2) { - if (trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } - } else { - if (trackSequence == 3) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } - } + if (direction == 0 || direction == 2) { + if (trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } + } else { + if (trackSequence == 3) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENTS_ALL; break; - case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; - case 3: blockedSegments = SEGMENTS_ALL; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction & 1), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENTS_ALL; break; + case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; + case 3: blockedSegments = SEGMENTS_ALL; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction & 1), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static const uint32 miniature_railway_right_quarter_turn_3_tile_track_floor[4][3] = { - { - SPR_FLOOR_PLANKS_S_SEGMENT, - 0, - SPR_FLOOR_PLANKS_S_SEGMENT, - }, - { - SPR_FLOOR_PLANKS_W_SEGMENT, - 0, - SPR_FLOOR_PLANKS_W_SEGMENT, - }, - { - SPR_FLOOR_PLANKS_N_SEGMENT, - 0, - SPR_FLOOR_PLANKS_N_SEGMENT, - }, - { - SPR_FLOOR_PLANKS_E_SEGMENT, - 0, - SPR_FLOOR_PLANKS_E_SEGMENT, - } + { + SPR_FLOOR_PLANKS_S_SEGMENT, + 0, + SPR_FLOOR_PLANKS_S_SEGMENT, + }, + { + SPR_FLOOR_PLANKS_W_SEGMENT, + 0, + SPR_FLOOR_PLANKS_W_SEGMENT, + }, + { + SPR_FLOOR_PLANKS_N_SEGMENT, + 0, + SPR_FLOOR_PLANKS_N_SEGMENT, + }, + { + SPR_FLOOR_PLANKS_E_SEGMENT, + 0, + SPR_FLOOR_PLANKS_E_SEGMENT, + } }; const rct_xyz16 miniature_railway_right_quarter_turn_3_tile_bound_offsets[4][3] = { - { - {0, 6, 0}, - {16, 16, 0}, - {6, 0, 0}, - }, - { - {6, 0, 0}, - {16, 0, 0}, - {0, 6, 0}, - }, - { - {0, 6, 0}, - {0, 0, 0}, - {6, 0, 0}, - }, - { - {6, 0, 0}, - {0, 16, 0}, - {0, 6, 0}, - } + { + {0, 6, 0}, + {16, 16, 0}, + {6, 0, 0}, + }, + { + {6, 0, 0}, + {16, 0, 0}, + {0, 6, 0}, + }, + { + {0, 6, 0}, + {0, 0, 0}, + {6, 0, 0}, + }, + { + {6, 0, 0}, + {0, 16, 0}, + {0, 6, 0}, + } }; /** rct2: 0x008AD1B0 */ static void paint_miniature_railway_track_right_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isSupported = false; - if (trackSequence != 1 && trackSequence != 2) - { - const uint8 supportType[] = { 4, 5, 2, 3 }; - isSupported = wooden_a_supports_paint_setup(supportType[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - } - if (isSupported == false) { - track_paint_util_right_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], miniature_railway_track_pieces_flat_quarter_turn_3_tiles, defaultRightQuarterTurn3TilesOffsets, defaultRightQuarterTurn3TilesBoundLengths, NULL, get_current_rotation()); - } - else { - track_paint_util_right_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_SUPPORTS], miniature_railway_right_quarter_turn_3_tile_track_floor, NULL, defaultRightQuarterTurn3TilesBoundLengths, miniature_railway_right_quarter_turn_3_tile_bound_offsets, get_current_rotation()); + bool isSupported = false; + if (trackSequence != 1 && trackSequence != 2) + { + const uint8 supportType[] = { 4, 5, 2, 3 }; + isSupported = wooden_a_supports_paint_setup(supportType[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + } + if (isSupported == false) { + track_paint_util_right_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], miniature_railway_track_pieces_flat_quarter_turn_3_tiles, defaultRightQuarterTurn3TilesOffsets, defaultRightQuarterTurn3TilesBoundLengths, NULL, get_current_rotation()); + } + else { + track_paint_util_right_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_SUPPORTS], miniature_railway_right_quarter_turn_3_tile_track_floor, NULL, defaultRightQuarterTurn3TilesBoundLengths, miniature_railway_right_quarter_turn_3_tile_bound_offsets, get_current_rotation()); - static const sint8 right_quarter_turn_3_tiles_sprite_map[] = {0, -1, 1, 2}; + static const sint8 right_quarter_turn_3_tiles_sprite_map[] = {0, -1, 1, 2}; - sint32 index = right_quarter_turn_3_tiles_sprite_map[trackSequence]; + sint32 index = right_quarter_turn_3_tiles_sprite_map[trackSequence]; - uint32 imageId = miniature_railway_track_pieces_flat_quarter_turn_3_tiles[direction][index] | gTrackColours[SCHEME_TRACK]; - rct_xy16 offset = defaultRightQuarterTurn3TilesOffsets[direction][index]; - rct_xy16 boundsLength = defaultRightQuarterTurn3TilesBoundLengths[direction][index]; - rct_xyz16 boundsOffset = { .x = offset.x, .y = offset.y, .z = 0 }; + uint32 imageId = miniature_railway_track_pieces_flat_quarter_turn_3_tiles[direction][index] | gTrackColours[SCHEME_TRACK]; + rct_xy16 offset = defaultRightQuarterTurn3TilesOffsets[direction][index]; + rct_xy16 boundsLength = defaultRightQuarterTurn3TilesBoundLengths[direction][index]; + rct_xyz16 boundsOffset = { .x = offset.x, .y = offset.y, .z = 0 }; - sub_98199C(imageId, (sint8) offset.x, (sint8) offset.y, boundsLength.x, boundsLength.y, 3, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, get_current_rotation()); - } - track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_6); + sub_98199C(imageId, (sint8) offset.x, (sint8) offset.y, boundsLength.x, boundsLength.y, 3, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, get_current_rotation()); + } + track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_6); - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENTS_ALL; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; - case 3: blockedSegments = SEGMENTS_ALL; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENTS_ALL; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; + case 3: blockedSegments = SEGMENTS_ALL; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AD1A0 */ static void paint_miniature_railway_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) {trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - paint_miniature_railway_track_right_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + paint_miniature_railway_track_right_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } static const sint8 paint_miniature_railway_eighth_to_diag_index[] = {0, 1, 2, -1, 3}; static const uint32 miniature_railway_floor_track_pieces_left_eight_to_diag[4][5] = { - { - SPR_FLOOR_PLANKS, - SPR_FLOOR_PLANKS, - SPR_FLOOR_PLANKS_E_SEGMENT, - SPR_FLOOR_PLANKS_W_SEGMENT, - SPR_FLOOR_PLANKS_90_DEG - }, - { - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_S_SEGMENT, - SPR_FLOOR_PLANKS_N_SEGMENT, - SPR_FLOOR_PLANKS - }, - { - SPR_FLOOR_PLANKS, - SPR_FLOOR_PLANKS, - SPR_FLOOR_PLANKS_W_SEGMENT, - SPR_FLOOR_PLANKS_E_SEGMENT, - SPR_FLOOR_PLANKS_90_DEG - }, - { - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_N_SEGMENT, - SPR_FLOOR_PLANKS_S_SEGMENT, - SPR_FLOOR_PLANKS - }, + { + SPR_FLOOR_PLANKS, + SPR_FLOOR_PLANKS, + SPR_FLOOR_PLANKS_E_SEGMENT, + SPR_FLOOR_PLANKS_W_SEGMENT, + SPR_FLOOR_PLANKS_90_DEG + }, + { + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_S_SEGMENT, + SPR_FLOOR_PLANKS_N_SEGMENT, + SPR_FLOOR_PLANKS + }, + { + SPR_FLOOR_PLANKS, + SPR_FLOOR_PLANKS, + SPR_FLOOR_PLANKS_W_SEGMENT, + SPR_FLOOR_PLANKS_E_SEGMENT, + SPR_FLOOR_PLANKS_90_DEG + }, + { + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_N_SEGMENT, + SPR_FLOOR_PLANKS_S_SEGMENT, + SPR_FLOOR_PLANKS + }, }; static const rct_xyz16 miniature_railway_track_floor_pieces_left_eight_to_diag_bounds[4][5] = { - { - {32, 32, 2}, - {32, 16, 2}, - {16, 16, 2}, - {16, 16, 0}, - {30, 30, 0}, - }, - { - {32, 32, 2}, - {16, 34, 2}, - {14, 14, 2}, - {16, 16, 0}, - {34, 32, 0}, - }, - { - {32, 32, 2}, - {32, 16, 2}, - {16, 16, 2}, - {16, 16, 0}, - {16, 16, 2}, - }, - { - {32, 32, 2}, - {16, 32, 2}, - {16, 16, 2}, - {16, 16, 0}, - {32, 32, 0}, - }, + { + {32, 32, 2}, + {32, 16, 2}, + {16, 16, 2}, + {16, 16, 0}, + {30, 30, 0}, + }, + { + {32, 32, 2}, + {16, 34, 2}, + {14, 14, 2}, + {16, 16, 0}, + {34, 32, 0}, + }, + { + {32, 32, 2}, + {32, 16, 2}, + {16, 16, 2}, + {16, 16, 0}, + {16, 16, 2}, + }, + { + {32, 32, 2}, + {16, 32, 2}, + {16, 16, 2}, + {16, 16, 0}, + {32, 32, 0}, + }, }; static const rct_xy16 miniature_railway_track_floor_pieces_left_eight_to_diag_offset[4][5] = { - { - {0, 0}, - {0, 0}, - {0, 16}, - {16, 0}, - {0, 0}, - }, - { - {0, 0}, - {0, 0}, - {16, 16}, - {0, 0}, - {0, 0}, - }, - { - {0, 0}, - {0, 16}, - {16, 0}, - {0, 16}, - {0, 0}, - }, - { - {0, 0}, - {16, 0}, - {0, 0}, - {16, 16}, - {0, 0}, - }, + { + {0, 0}, + {0, 0}, + {0, 16}, + {16, 0}, + {0, 0}, + }, + { + {0, 0}, + {0, 0}, + {16, 16}, + {0, 0}, + {0, 0}, + }, + { + {0, 0}, + {0, 16}, + {16, 0}, + {0, 16}, + {0, 0}, + }, + { + {0, 0}, + {16, 0}, + {0, 0}, + {16, 16}, + {0, 0}, + }, }; /** rct2: 0x008AD1C0 */ static void paint_miniature_railway_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const uint8 supportType[4][5] = { - { 0, 0, 3, 5, 1 }, - { 1, 1, 4, 2, 0 }, - { 0, 0, 5, 3, 1 }, - { 1, 1, 2, 4, 0 } - }; + const uint8 supportType[4][5] = { + { 0, 0, 3, 5, 1 }, + { 1, 1, 4, 2, 0 }, + { 0, 0, 5, 3, 1 }, + { 1, 1, 2, 4, 0 } + }; - bool isSupported = false; - bool isRightEighthToOrthog = mapElement->properties.track.type == TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL; - // Right eighth to orthogonal calls this function but we do not want to have a support call for it - // for track sequence 4 - if (trackSequence != 4 || !isRightEighthToOrthog) { - isSupported = wooden_a_supports_paint_setup(supportType[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - } - uint32 imageId; - if (isSupported == false) { - sint8 index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; - if (index >= 0) { - imageId = miniature_railway_track_pieces_left_eight_to_diag[direction][index] | gTrackColours[SCHEME_TRACK]; - rct_xy16 offset = miniature_railway_track_pieces_left_eight_to_diag_offset[direction][index]; - rct_xyz16 bounds = miniature_railway_track_pieces_left_eight_to_diag_bounds[direction][index]; - if (isRightEighthToOrthog) { - bounds = miniature_railway_track_pieces_right_eight_to_orthog_bounds[direction][index]; - offset = miniature_railway_track_pieces_right_eight_to_orthog_offset[direction][index]; - } - sub_98197C(imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height, get_current_rotation()); - } - } - else { - imageId = miniature_railway_floor_track_pieces_left_eight_to_diag[direction][trackSequence] | gTrackColours[SCHEME_SUPPORTS]; - rct_xy16 offset = miniature_railway_track_floor_pieces_left_eight_to_diag_offset[direction][trackSequence]; - rct_xyz16 bounds = miniature_railway_track_floor_pieces_left_eight_to_diag_bounds[direction][trackSequence]; - sub_98197C(imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height, get_current_rotation()); + bool isSupported = false; + bool isRightEighthToOrthog = mapElement->properties.track.type == TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL; + // Right eighth to orthogonal calls this function but we do not want to have a support call for it + // for track sequence 4 + if (trackSequence != 4 || !isRightEighthToOrthog) { + isSupported = wooden_a_supports_paint_setup(supportType[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + } + uint32 imageId; + if (isSupported == false) { + sint8 index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; + if (index >= 0) { + imageId = miniature_railway_track_pieces_left_eight_to_diag[direction][index] | gTrackColours[SCHEME_TRACK]; + rct_xy16 offset = miniature_railway_track_pieces_left_eight_to_diag_offset[direction][index]; + rct_xyz16 bounds = miniature_railway_track_pieces_left_eight_to_diag_bounds[direction][index]; + if (isRightEighthToOrthog) { + bounds = miniature_railway_track_pieces_right_eight_to_orthog_bounds[direction][index]; + offset = miniature_railway_track_pieces_right_eight_to_orthog_offset[direction][index]; + } + sub_98197C(imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height, get_current_rotation()); + } + } + else { + imageId = miniature_railway_floor_track_pieces_left_eight_to_diag[direction][trackSequence] | gTrackColours[SCHEME_SUPPORTS]; + rct_xy16 offset = miniature_railway_track_floor_pieces_left_eight_to_diag_offset[direction][trackSequence]; + rct_xyz16 bounds = miniature_railway_track_floor_pieces_left_eight_to_diag_bounds[direction][trackSequence]; + sub_98197C(imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height, get_current_rotation()); - sint8 index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; - if (index >= 0) { - imageId = miniature_railway_track_pieces_left_eight_to_diag[direction][index] | gTrackColours[SCHEME_TRACK]; - offset = miniature_railway_track_pieces_left_eight_to_diag_offset[direction][index]; - bounds = miniature_railway_track_pieces_left_eight_to_diag_bounds[direction][index]; - sub_98199C(imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height, get_current_rotation()); - } - } + sint8 index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; + if (index >= 0) { + imageId = miniature_railway_track_pieces_left_eight_to_diag[direction][index] | gTrackColours[SCHEME_TRACK]; + offset = miniature_railway_track_pieces_left_eight_to_diag_offset[direction][index]; + bounds = miniature_railway_track_pieces_left_eight_to_diag_bounds[direction][index]; + sub_98199C(imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height, get_current_rotation()); + } + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static const uint32 miniature_railway_floor_track_pieces_right_eight_to_diag[4][5] = { - { - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_N_SEGMENT, - SPR_FLOOR_PLANKS_S_SEGMENT, - SPR_FLOOR_PLANKS_90_DEG - }, - { - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_E_SEGMENT, - SPR_FLOOR_PLANKS_W_SEGMENT, - SPR_FLOOR_PLANKS - }, - { - SPR_FLOOR_PLANKS, - SPR_FLOOR_PLANKS, - SPR_FLOOR_PLANKS_S_SEGMENT, - SPR_FLOOR_PLANKS_N_SEGMENT, - SPR_FLOOR_PLANKS_90_DEG - }, - { - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_90_DEG, - SPR_FLOOR_PLANKS_W_SEGMENT, - SPR_FLOOR_PLANKS_E_SEGMENT, - SPR_FLOOR_PLANKS - }, + { + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_N_SEGMENT, + SPR_FLOOR_PLANKS_S_SEGMENT, + SPR_FLOOR_PLANKS_90_DEG + }, + { + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_E_SEGMENT, + SPR_FLOOR_PLANKS_W_SEGMENT, + SPR_FLOOR_PLANKS + }, + { + SPR_FLOOR_PLANKS, + SPR_FLOOR_PLANKS, + SPR_FLOOR_PLANKS_S_SEGMENT, + SPR_FLOOR_PLANKS_N_SEGMENT, + SPR_FLOOR_PLANKS_90_DEG + }, + { + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_90_DEG, + SPR_FLOOR_PLANKS_W_SEGMENT, + SPR_FLOOR_PLANKS_E_SEGMENT, + SPR_FLOOR_PLANKS + }, }; static const rct_xyz16 miniature_railway_track_floor_pieces_right_eight_to_diag_bounds[4][5] = { - { - {32, 32, 2}, - {32, 16, 2}, - {16, 16, 2}, - {16, 16, 0}, - {32, 32, 0}, - }, - { - {32, 32, 2}, - {16, 32, 2}, - {16, 16, 2}, - {16, 16, 0}, - {16, 16, 2}, - }, - { - {32, 32, 2}, - {34, 16, 2}, - {28, 28, 2}, - {16, 16, 0}, - {32, 34, 0}, - }, - { - {32, 32, 2}, - {16, 32, 2}, - {16, 16, 2}, - {16, 16, 0}, - {30, 30, 0}, - }, + { + {32, 32, 2}, + {32, 16, 2}, + {16, 16, 2}, + {16, 16, 0}, + {32, 32, 0}, + }, + { + {32, 32, 2}, + {16, 32, 2}, + {16, 16, 2}, + {16, 16, 0}, + {16, 16, 2}, + }, + { + {32, 32, 2}, + {34, 16, 2}, + {28, 28, 2}, + {16, 16, 0}, + {32, 34, 0}, + }, + { + {32, 32, 2}, + {16, 32, 2}, + {16, 16, 2}, + {16, 16, 0}, + {30, 30, 0}, + }, }; static const rct_xy16 miniature_railway_track_floor_pieces_right_eight_to_diag_offset[4][5] = { - { - {0, 0}, - {0, 16}, - {0, 0}, - {16, 16}, - {0, 0}, - }, - { - {0, 0}, - {16, 0}, - {0, 16}, - {16, 0}, - {0, 0}, - }, - { - {0, 0}, - {0, 0}, - {4, 4}, - {0, 0}, - {0, 0}, - }, - { - {0, 0}, - {0, 0}, - {16, 0}, - {0, 16}, - {0, 0}, - }, + { + {0, 0}, + {0, 16}, + {0, 0}, + {16, 16}, + {0, 0}, + }, + { + {0, 0}, + {16, 0}, + {0, 16}, + {16, 0}, + {0, 0}, + }, + { + {0, 0}, + {0, 0}, + {4, 4}, + {0, 0}, + {0, 0}, + }, + { + {0, 0}, + {0, 0}, + {16, 0}, + {0, 16}, + {0, 0}, + }, }; /** rct2: 0x008AD1D0 */ static void paint_miniature_railway_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const uint8 supportType[4][5] = { - { 0, 0, 2, 4, 1 }, - { 1, 1, 3, 5, 0 }, - { 0, 0, 4, 2, 1 }, - { 1, 1, 5, 3, 0 } - }; + const uint8 supportType[4][5] = { + { 0, 0, 2, 4, 1 }, + { 1, 1, 3, 5, 0 }, + { 0, 0, 4, 2, 1 }, + { 1, 1, 5, 3, 0 } + }; - bool isSupported = false; - bool isLeftEighthToOrthog = mapElement->properties.track.type == TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL; - // Right eighth to orthogonal calls this function but we do not want to have a support call for it - // for track sequence 4 - if (trackSequence != 4 || !isLeftEighthToOrthog) { - isSupported = wooden_a_supports_paint_setup(supportType[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - } + bool isSupported = false; + bool isLeftEighthToOrthog = mapElement->properties.track.type == TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL; + // Right eighth to orthogonal calls this function but we do not want to have a support call for it + // for track sequence 4 + if (trackSequence != 4 || !isLeftEighthToOrthog) { + isSupported = wooden_a_supports_paint_setup(supportType[direction][trackSequence], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + } - uint32 imageId; - if (isSupported == false) { - sint8 index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; - if (index >= 0) { - imageId = miniature_railway_track_pieces_right_eight_to_diag[direction][index] | gTrackColours[SCHEME_TRACK]; - rct_xy16 offset = miniature_railway_track_pieces_right_eight_to_diag_offset[direction][index]; - rct_xyz16 bounds = miniature_railway_track_pieces_right_eight_to_diag_bounds[direction][index]; - if (isLeftEighthToOrthog) { - bounds = miniature_railway_track_pieces_left_eight_to_orthog_bounds[direction][index]; - offset = miniature_railway_track_pieces_left_eight_to_orthog_offset[direction][index]; - } - sub_98197C(imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height, get_current_rotation()); - } - } - else { - imageId = miniature_railway_floor_track_pieces_right_eight_to_diag[direction][trackSequence] | gTrackColours[SCHEME_SUPPORTS]; - rct_xy16 offset = miniature_railway_track_floor_pieces_right_eight_to_diag_offset[direction][trackSequence]; - rct_xyz16 bounds = miniature_railway_track_floor_pieces_right_eight_to_diag_bounds[direction][trackSequence]; - sub_98197C(imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height, get_current_rotation()); + uint32 imageId; + if (isSupported == false) { + sint8 index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; + if (index >= 0) { + imageId = miniature_railway_track_pieces_right_eight_to_diag[direction][index] | gTrackColours[SCHEME_TRACK]; + rct_xy16 offset = miniature_railway_track_pieces_right_eight_to_diag_offset[direction][index]; + rct_xyz16 bounds = miniature_railway_track_pieces_right_eight_to_diag_bounds[direction][index]; + if (isLeftEighthToOrthog) { + bounds = miniature_railway_track_pieces_left_eight_to_orthog_bounds[direction][index]; + offset = miniature_railway_track_pieces_left_eight_to_orthog_offset[direction][index]; + } + sub_98197C(imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height, get_current_rotation()); + } + } + else { + imageId = miniature_railway_floor_track_pieces_right_eight_to_diag[direction][trackSequence] | gTrackColours[SCHEME_SUPPORTS]; + rct_xy16 offset = miniature_railway_track_floor_pieces_right_eight_to_diag_offset[direction][trackSequence]; + rct_xyz16 bounds = miniature_railway_track_floor_pieces_right_eight_to_diag_bounds[direction][trackSequence]; + sub_98197C(imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height, get_current_rotation()); - sint8 index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; - if (index >= 0) { - imageId = miniature_railway_track_pieces_right_eight_to_diag[direction][index] | gTrackColours[SCHEME_TRACK]; - offset = miniature_railway_track_pieces_right_eight_to_diag_offset[direction][index]; - bounds = miniature_railway_track_pieces_right_eight_to_diag_bounds[direction][index]; - sub_98199C(imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height, get_current_rotation()); - } - } + sint8 index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; + if (index >= 0) { + imageId = miniature_railway_track_pieces_right_eight_to_diag[direction][index] | gTrackColours[SCHEME_TRACK]; + offset = miniature_railway_track_pieces_right_eight_to_diag_offset[direction][index]; + bounds = miniature_railway_track_pieces_right_eight_to_diag_bounds[direction][index]; + sub_98199C(imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height, get_current_rotation()); + } + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AD1E0 */ static void paint_miniature_railway_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - paint_miniature_railway_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + paint_miniature_railway_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x008AD1F0 */ static void paint_miniature_railway_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - paint_miniature_railway_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + paint_miniature_railway_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } static const bool miniature_railway_diag_image_segment[][4] = { - {false, true, false, false}, - {false, false, false, true}, - {false, false, true, false}, - {true, false, false, false}, + {false, true, false, false}, + {false, false, false, true}, + {false, false, true, false}, + {true, false, false, false}, }; enum { - SUPPORT_PLAIN = 0, - SUPPORT_PLAIN_90_DEG = 1, - SUPPORT_PLAIN_N = 2, - SUPPORT_PLAIN_E = 3, - SUPPORT_PLAIN_S = 4, - SUPPORT_PLAIN_W = 5, + SUPPORT_PLAIN = 0, + SUPPORT_PLAIN_90_DEG = 1, + SUPPORT_PLAIN_N = 2, + SUPPORT_PLAIN_E = 3, + SUPPORT_PLAIN_S = 4, + SUPPORT_PLAIN_W = 5, }; static const sint16 monorail_diag_support_types[][4] = { - {-1, SUPPORT_PLAIN_N, SUPPORT_PLAIN_S, SUPPORT_PLAIN}, - {-1, SUPPORT_PLAIN_E, SUPPORT_PLAIN_W, SUPPORT_PLAIN_90_DEG}, - {-1, SUPPORT_PLAIN_S, SUPPORT_PLAIN_N, SUPPORT_PLAIN}, - {-1, SUPPORT_PLAIN_W, SUPPORT_PLAIN_E, SUPPORT_PLAIN_90_DEG}, + {-1, SUPPORT_PLAIN_N, SUPPORT_PLAIN_S, SUPPORT_PLAIN}, + {-1, SUPPORT_PLAIN_E, SUPPORT_PLAIN_W, SUPPORT_PLAIN_90_DEG}, + {-1, SUPPORT_PLAIN_S, SUPPORT_PLAIN_N, SUPPORT_PLAIN}, + {-1, SUPPORT_PLAIN_W, SUPPORT_PLAIN_E, SUPPORT_PLAIN_90_DEG}, }; typedef struct floor_desc { - uint32 image_id; - rct_xy16 bound_size; - rct_xy16 bound_offset; + uint32 image_id; + rct_xy16 bound_size; + rct_xy16 bound_offset; } floor_desc; static const floor_desc floors[] = { - {SPR_FLOOR_PLANKS, {32, 32}, {0, 0}}, - {SPR_FLOOR_PLANKS_90_DEG, {32, 32}, {0, 0}}, // -16,-16(1:3) - {SPR_FLOOR_PLANKS_N_SEGMENT, {32, 32}, {-16, -16}}, - {SPR_FLOOR_PLANKS_E_SEGMENT, {16, 16}, {0, 16}}, - {SPR_FLOOR_PLANKS_S_SEGMENT, {16, 16}, {16, 16}}, - {SPR_FLOOR_PLANKS_W_SEGMENT, {16, 16}, {16, 0}}, + {SPR_FLOOR_PLANKS, {32, 32}, {0, 0}}, + {SPR_FLOOR_PLANKS_90_DEG, {32, 32}, {0, 0}}, // -16,-16(1:3) + {SPR_FLOOR_PLANKS_N_SEGMENT, {32, 32}, {-16, -16}}, + {SPR_FLOOR_PLANKS_E_SEGMENT, {16, 16}, {0, 16}}, + {SPR_FLOOR_PLANKS_S_SEGMENT, {16, 16}, {16, 16}}, + {SPR_FLOOR_PLANKS_W_SEGMENT, {16, 16}, {16, 0}}, }; /** rct2: 0x008AD200 */ static void miniature_railway_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - bool isSupported = false; - sint16 supportType = monorail_diag_support_types[direction][trackSequence]; + bool isSupported = false; + sint16 supportType = monorail_diag_support_types[direction][trackSequence]; - uint32 floorImage = 0; - rct_xy16 floorBoundSize = { 0 }; - rct_xy16 floorBoundOffset = { 0 }; + uint32 floorImage = 0; + rct_xy16 floorBoundSize = { 0 }; + rct_xy16 floorBoundOffset = { 0 }; - if (supportType != -1) { - floorImage = floors[supportType].image_id; - floorBoundSize = floors[supportType].bound_size; - floorBoundOffset = floors[supportType].bound_offset; - isSupported = wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - } + if (supportType != -1) { + floorImage = floors[supportType].image_id; + floorBoundSize = floors[supportType].bound_size; + floorBoundOffset = floors[supportType].bound_offset; + isSupported = wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + } - if (direction == 1 && trackSequence == 3) { - floorBoundOffset = (rct_xy16) {-16, -16}; - } + if (direction == 1 && trackSequence == 3) { + floorBoundOffset = (rct_xy16) {-16, -16}; + } - uint32 imageId = miniature_railway_track_pieces_diag_flat[direction]; - bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; + uint32 imageId = miniature_railway_track_pieces_diag_flat[direction]; + bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - if (isSupported) { - sub_98197C( - floorImage | gTrackColours[SCHEME_SUPPORTS], - 0, 0, - floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), - height, - floorBoundOffset.x, floorBoundOffset.y, height, - get_current_rotation() - ); - if (drawRail) { - sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } - } else if (drawRail) { - sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } + if (isSupported) { + sub_98197C( + floorImage | gTrackColours[SCHEME_SUPPORTS], + 0, 0, + floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), + height, + floorBoundOffset.x, floorBoundOffset.y, height, + get_current_rotation() + ); + if (drawRail) { + sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } + } else if (drawRail) { + sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } enum { - WOOD_A = 0, - WOOD_B = 1, + WOOD_A = 0, + WOOD_B = 1, }; static bool wooden_supports_paint_setup(sint32 woodType, sint32 supportType, sint32 special, sint32 height, uint32 imageColourFlags, bool *underground) { - switch (woodType) { - case WOOD_A: - return wooden_a_supports_paint_setup(supportType, special, height, imageColourFlags, underground); + switch (woodType) { + case WOOD_A: + return wooden_a_supports_paint_setup(supportType, special, height, imageColourFlags, underground); - case WOOD_B: - return wooden_b_supports_paint_setup(supportType, special, height, imageColourFlags, underground); - } + case WOOD_B: + return wooden_b_supports_paint_setup(supportType, special, height, imageColourFlags, underground); + } - return false; + return false; } /** rct2: 0x008AD230 */ static void miniature_railway_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - // TODO: The supports are inconsistent for different rotations + // TODO: The supports are inconsistent for different rotations - sint8 supportFunction = WOOD_B; - sint16 supportType = monorail_diag_support_types[direction][trackSequence]; - if (supportType == SUPPORT_PLAIN || supportType == SUPPORT_PLAIN_90_DEG) { - supportFunction = WOOD_A; - } + sint8 supportFunction = WOOD_B; + sint16 supportType = monorail_diag_support_types[direction][trackSequence]; + if (supportType == SUPPORT_PLAIN || supportType == SUPPORT_PLAIN_90_DEG) { + supportFunction = WOOD_A; + } - sint8 heightDiffs[] = {+8, -8, +8, -8}; - sint8 heightDiff = heightDiffs[direction]; - if (trackSequence == 3) { - heightDiff = 8; - } + sint8 heightDiffs[] = {+8, -8, +8, -8}; + sint8 heightDiff = heightDiffs[direction]; + if (trackSequence == 3) { + heightDiff = 8; + } - bool hasSupports = false; + bool hasSupports = false; - uint32 floorImage = 0; - rct_xy16 floorBoundSize = { 0 }; - rct_xy16 floorBoundOffset = { 0 }; + uint32 floorImage = 0; + rct_xy16 floorBoundSize = { 0 }; + rct_xy16 floorBoundOffset = { 0 }; - if (supportType != -1) { - floorImage = floors[supportType].image_id; - floorBoundSize = floors[supportType].bound_size; - floorBoundOffset = floors[supportType].bound_offset; - hasSupports = wooden_supports_paint_setup(supportFunction, supportType, 0, height + heightDiff, gTrackColours[SCHEME_SUPPORTS], NULL); - } + if (supportType != -1) { + floorImage = floors[supportType].image_id; + floorBoundSize = floors[supportType].bound_size; + floorBoundOffset = floors[supportType].bound_offset; + hasSupports = wooden_supports_paint_setup(supportFunction, supportType, 0, height + heightDiff, gTrackColours[SCHEME_SUPPORTS], NULL); + } - if (direction == 1 && trackSequence == 3) { - floorBoundOffset = (rct_xy16) {-16, -16}; - } + if (direction == 1 && trackSequence == 3) { + floorBoundOffset = (rct_xy16) {-16, -16}; + } - const sint8 offsetsB[4][4][2] = { - {{0, 0}, {+8, +16}, {+8, +8}, {+8, +8}}, - {{0, 0}, {-8, -8}, {-8, -8}, {+8, +8}}, - {{0, 0}, {+8, +8}, {+8, +16}, {+8, +8}}, - {{0, 0}, {-8, -8}, {-8, -8}, {+8, +8}}, - }; + const sint8 offsetsB[4][4][2] = { + {{0, 0}, {+8, +16}, {+8, +8}, {+8, +8}}, + {{0, 0}, {-8, -8}, {-8, -8}, {+8, +8}}, + {{0, 0}, {+8, +8}, {+8, +16}, {+8, +8}}, + {{0, 0}, {-8, -8}, {-8, -8}, {+8, +8}}, + }; - uint32 imageId = miniature_railway_track_pieces_diag_25_deg_up[direction]; - bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - static const sint8 offsetB[] = {+8, 0, +8, +8}; - if (hasSupports) { - sub_98197C( - floorImage | gTrackColours[SCHEME_SUPPORTS], - 0, 0, - floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), - height + offsetsB[direction][trackSequence][0], - floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1], - get_current_rotation() - ); - if (drawRail) { - sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + offsetB[direction], get_current_rotation()); - } - } else if (drawRail) { - sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + offsetB[direction], get_current_rotation()); - } + uint32 imageId = miniature_railway_track_pieces_diag_25_deg_up[direction]; + bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; + static const sint8 offsetB[] = {+8, 0, +8, +8}; + if (hasSupports) { + sub_98197C( + floorImage | gTrackColours[SCHEME_SUPPORTS], + 0, 0, + floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), + height + offsetsB[direction][trackSequence][0], + floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1], + get_current_rotation() + ); + if (drawRail) { + sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + offsetB[direction], get_current_rotation()); + } + } else if (drawRail) { + sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + offsetB[direction], get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); - return; + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); + return; } /** rct2: 0x008AD210 */ static void miniature_railway_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool hasSupports = false; + bool hasSupports = false; - uint32 floorImage = 0; - rct_xy16 floorBoundSize = { 0 }; - rct_xy16 floorBoundOffset = { 0 }; + uint32 floorImage = 0; + rct_xy16 floorBoundSize = { 0 }; + rct_xy16 floorBoundOffset = { 0 }; - sint16 supportType = monorail_diag_support_types[direction][trackSequence]; - if (supportType != -1) { - floorImage = floors[supportType].image_id; - floorBoundSize = floors[supportType].bound_size; - floorBoundOffset = floors[supportType].bound_offset; - hasSupports = wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - } + sint16 supportType = monorail_diag_support_types[direction][trackSequence]; + if (supportType != -1) { + floorImage = floors[supportType].image_id; + floorBoundSize = floors[supportType].bound_size; + floorBoundOffset = floors[supportType].bound_offset; + hasSupports = wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + } - if (direction == 1 && trackSequence == 3) { - floorBoundOffset = (rct_xy16) {-16, -16}; - } + if (direction == 1 && trackSequence == 3) { + floorBoundOffset = (rct_xy16) {-16, -16}; + } - uint32 imageId = miniature_railway_track_pieces_diag_flat_to_25_deg_up[direction]; - bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; + uint32 imageId = miniature_railway_track_pieces_diag_flat_to_25_deg_up[direction]; + bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - if (hasSupports) { - sub_98197C( - floorImage | gTrackColours[SCHEME_SUPPORTS], - 0, 0, - floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), - height, - floorBoundOffset.x, floorBoundOffset.y, height, - get_current_rotation() - ); - if (drawRail) { - sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } - } else if (drawRail) { - sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } + if (hasSupports) { + sub_98197C( + floorImage | gTrackColours[SCHEME_SUPPORTS], + 0, 0, + floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), + height, + floorBoundOffset.x, floorBoundOffset.y, height, + get_current_rotation() + ); + if (drawRail) { + sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } + } else if (drawRail) { + sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AD220 */ static void miniature_railway_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - const sint8 supportOffsets[][4] = { - {0, +8, +8, +8}, - {0, -8, -8, 0}, - {0, +8, +8, +8}, - {0, -8, -8, +8}, - }; + const sint8 supportOffsets[][4] = { + {0, +8, +8, +8}, + {0, -8, -8, 0}, + {0, +8, +8, +8}, + {0, -8, -8, +8}, + }; - sint8 supportFunction = WOOD_B; - if (trackSequence == 3) { - supportFunction = WOOD_A; - } + sint8 supportFunction = WOOD_B; + if (trackSequence == 3) { + supportFunction = WOOD_A; + } - bool hasSupports = false; - sint16 supportType = monorail_diag_support_types[direction][trackSequence]; + bool hasSupports = false; + sint16 supportType = monorail_diag_support_types[direction][trackSequence]; - uint32 floorImage = 0; - rct_xy16 floorBoundSize = { 0 }; - rct_xy16 floorBoundOffset = { 0 }; + uint32 floorImage = 0; + rct_xy16 floorBoundSize = { 0 }; + rct_xy16 floorBoundOffset = { 0 }; - if (supportType != -1) { - floorImage = floors[supportType].image_id; - floorBoundSize = floors[supportType].bound_size; - floorBoundOffset = floors[supportType].bound_offset; - hasSupports = wooden_supports_paint_setup(supportFunction, supportType, 0, height + supportOffsets[direction][trackSequence], gTrackColours[SCHEME_SUPPORTS], NULL); - } + if (supportType != -1) { + floorImage = floors[supportType].image_id; + floorBoundSize = floors[supportType].bound_size; + floorBoundOffset = floors[supportType].bound_offset; + hasSupports = wooden_supports_paint_setup(supportFunction, supportType, 0, height + supportOffsets[direction][trackSequence], gTrackColours[SCHEME_SUPPORTS], NULL); + } - if (direction == 1 && trackSequence == 3) { - floorBoundOffset = (rct_xy16) {-16, -16}; - } + if (direction == 1 && trackSequence == 3) { + floorBoundOffset = (rct_xy16) {-16, -16}; + } - const sint8 offsetsB[4][4][2] = { - {{0, 0}, {+8, +16}, {+8, +8}, {+8, +8}}, - {{0, 0}, {-8, -8}, {-8, -8}, {+8, +8}}, - {{0, 0}, {+8, +8}, {+8, +16}, {+8, +8}}, - {{0, 0}, {-8, -8}, {-8, -8}, {+8, +8}}, - }; + const sint8 offsetsB[4][4][2] = { + {{0, 0}, {+8, +16}, {+8, +8}, {+8, +8}}, + {{0, 0}, {-8, -8}, {-8, -8}, {+8, +8}}, + {{0, 0}, {+8, +8}, {+8, +16}, {+8, +8}}, + {{0, 0}, {-8, -8}, {-8, -8}, {+8, +8}}, + }; - uint32 imageId = miniature_railway_track_pieces_diag_25_deg_up_to_flat[direction]; - bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; + uint32 imageId = miniature_railway_track_pieces_diag_25_deg_up_to_flat[direction]; + bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - const sint8 railOffsets[] = {+8, 0, +8, +8}; + const sint8 railOffsets[] = {+8, 0, +8, +8}; - if (hasSupports) { - sub_98197C( - floorImage | gTrackColours[SCHEME_SUPPORTS], - 0, 0, - floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), - height + offsetsB[direction][trackSequence][0], - floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1], - get_current_rotation() - ); - if (drawRail) { - sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + railOffsets[direction], get_current_rotation()); - } - } else if (drawRail) { - sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + railOffsets[direction], get_current_rotation()); - } + if (hasSupports) { + sub_98197C( + floorImage | gTrackColours[SCHEME_SUPPORTS], + 0, 0, + floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), + height + offsetsB[direction][trackSequence][0], + floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1], + get_current_rotation() + ); + if (drawRail) { + sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + railOffsets[direction], get_current_rotation()); + } + } else if (drawRail) { + sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + railOffsets[direction], get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AD260 */ static void miniature_railway_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const sint8 supportOffsets[][4] = { - {0, +16, +16, 0}, - {0, -8, -8, 0}, - {0, +16, +16, 0}, - {0, -8, -8, -8}, - }; + const sint8 supportOffsets[][4] = { + {0, +16, +16, 0}, + {0, -8, -8, 0}, + {0, +16, +16, 0}, + {0, -8, -8, -8}, + }; - sint8 supportFunction = WOOD_B; - if (trackSequence == 3) { - supportFunction = WOOD_A; - } + sint8 supportFunction = WOOD_B; + if (trackSequence == 3) { + supportFunction = WOOD_A; + } - bool hasSupports = false; + bool hasSupports = false; - uint32 floorImage = 0; - rct_xy16 floorBoundSize = { 0 }; - rct_xy16 floorBoundOffset = { 0 }; - sint16 supportType = monorail_diag_support_types[direction][trackSequence]; + uint32 floorImage = 0; + rct_xy16 floorBoundSize = { 0 }; + rct_xy16 floorBoundOffset = { 0 }; + sint16 supportType = monorail_diag_support_types[direction][trackSequence]; - if (supportType != -1) { - floorImage = floors[supportType].image_id; - floorBoundSize = floors[supportType].bound_size; - floorBoundOffset = floors[supportType].bound_offset; - hasSupports = wooden_supports_paint_setup(supportFunction, supportType, 0, height + supportOffsets[direction][trackSequence], gTrackColours[SCHEME_SUPPORTS], NULL); - } + if (supportType != -1) { + floorImage = floors[supportType].image_id; + floorBoundSize = floors[supportType].bound_size; + floorBoundOffset = floors[supportType].bound_offset; + hasSupports = wooden_supports_paint_setup(supportFunction, supportType, 0, height + supportOffsets[direction][trackSequence], gTrackColours[SCHEME_SUPPORTS], NULL); + } - if (direction == 1 && trackSequence == 3) { - floorBoundOffset = (rct_xy16) {-16, -16}; - } + if (direction == 1 && trackSequence == 3) { + floorBoundOffset = (rct_xy16) {-16, -16}; + } - uint32 imageId = miniature_railway_track_pieces_diag_25_deg_up[(direction + 2) % 4]; - bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - const sint8 railOffsets[] = {0, +8, +8, +8}; + uint32 imageId = miniature_railway_track_pieces_diag_25_deg_up[(direction + 2) % 4]; + bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; + const sint8 railOffsets[] = {0, +8, +8, +8}; - const sint8 offsetsB[4][4][2] = { - {{0, 0}, {+8, +8}, {+8, +8}, {-8, -8}}, - {{0, 0}, {-8, -8}, {-8, -8}, {-8, 0}}, - {{0, 0}, {+8, +8}, {+8, +16}, {-8, -8}}, - {{0, 0}, {-8, -8}, {-8, -8}, {-8, -8}}, - }; + const sint8 offsetsB[4][4][2] = { + {{0, 0}, {+8, +8}, {+8, +8}, {-8, -8}}, + {{0, 0}, {-8, -8}, {-8, -8}, {-8, 0}}, + {{0, 0}, {+8, +8}, {+8, +16}, {-8, -8}}, + {{0, 0}, {-8, -8}, {-8, -8}, {-8, -8}}, + }; - if (hasSupports) { - sub_98197C( - floorImage | gTrackColours[SCHEME_SUPPORTS], - 0, 0, - floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), - height + offsetsB[direction][trackSequence][0], - floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1], - get_current_rotation() - ); - if (drawRail) { - sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + railOffsets[direction], get_current_rotation()); - } - } else if (drawRail) { - sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + railOffsets[direction], get_current_rotation()); - } + if (hasSupports) { + sub_98197C( + floorImage | gTrackColours[SCHEME_SUPPORTS], + 0, 0, + floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), + height + offsetsB[direction][trackSequence][0], + floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1], + get_current_rotation() + ); + if (drawRail) { + sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + railOffsets[direction], get_current_rotation()); + } + } else if (drawRail) { + sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + railOffsets[direction], get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AD240 */ static void miniature_railway_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const sint8 supportOffsets[][4] = { - {0, +16, +16, 0}, - {0, -8, -8, -8}, - {0, +8, +8, 0}, - {0, -8, -8, -8}, - }; + const sint8 supportOffsets[][4] = { + {0, +16, +16, 0}, + {0, -8, -8, -8}, + {0, +8, +8, 0}, + {0, -8, -8, -8}, + }; - sint8 supportFunction = WOOD_B; - if (trackSequence == 3) { - supportFunction = WOOD_A; - } + sint8 supportFunction = WOOD_B; + if (trackSequence == 3) { + supportFunction = WOOD_A; + } - bool hasSupports = false; - uint32 floorImage = 0; - rct_xy16 floorBoundSize = { 0 }; - rct_xy16 floorBoundOffset = { 0 }; - sint16 supportType = monorail_diag_support_types[direction][trackSequence]; + bool hasSupports = false; + uint32 floorImage = 0; + rct_xy16 floorBoundSize = { 0 }; + rct_xy16 floorBoundOffset = { 0 }; + sint16 supportType = monorail_diag_support_types[direction][trackSequence]; - if (supportType != -1) { - floorImage = floors[supportType].image_id; - floorBoundSize = floors[supportType].bound_size; - floorBoundOffset = floors[supportType].bound_offset; - hasSupports = wooden_supports_paint_setup(supportFunction, supportType, 0, height + supportOffsets[direction][trackSequence], gTrackColours[SCHEME_SUPPORTS], NULL); - } + if (supportType != -1) { + floorImage = floors[supportType].image_id; + floorBoundSize = floors[supportType].bound_size; + floorBoundOffset = floors[supportType].bound_offset; + hasSupports = wooden_supports_paint_setup(supportFunction, supportType, 0, height + supportOffsets[direction][trackSequence], gTrackColours[SCHEME_SUPPORTS], NULL); + } - if (direction == 1 && trackSequence == 3) { - floorBoundOffset = (rct_xy16) {-16, -16}; - } + if (direction == 1 && trackSequence == 3) { + floorBoundOffset = (rct_xy16) {-16, -16}; + } - const sint8 offsetsB[4][4][2] = { - {{0, 0}, {+8, +8}, {+8, +8}, {-8, -8}}, - {{0, 0}, {-8, -8}, {-8, -8}, {-8, 0}}, - {{0, 0}, {+8, +8}, {+8, +16}, {-8, -8}}, - {{0, 0}, {-8, -8}, {-8, -8}, {-8, -8}}, - }; + const sint8 offsetsB[4][4][2] = { + {{0, 0}, {+8, +8}, {+8, +8}, {-8, -8}}, + {{0, 0}, {-8, -8}, {-8, -8}, {-8, 0}}, + {{0, 0}, {+8, +8}, {+8, +16}, {-8, -8}}, + {{0, 0}, {-8, -8}, {-8, -8}, {-8, -8}}, + }; - uint32 imageId = miniature_railway_track_pieces_diag_25_deg_up_to_flat[(direction + 2) % 4]; - bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - const sint8 railOffsets[] = {0, +8, +8, +8}; + uint32 imageId = miniature_railway_track_pieces_diag_25_deg_up_to_flat[(direction + 2) % 4]; + bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; + const sint8 railOffsets[] = {0, +8, +8, +8}; - if (hasSupports) { - sub_98197C( - floorImage | gTrackColours[SCHEME_SUPPORTS], - 0, 0, - floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), - height + offsetsB[direction][trackSequence][0], - floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1], - get_current_rotation() - ); - if (drawRail) { - sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + railOffsets[direction], get_current_rotation()); - } - } else if (drawRail) { - sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + railOffsets[direction], get_current_rotation()); - } + if (hasSupports) { + sub_98197C( + floorImage | gTrackColours[SCHEME_SUPPORTS], + 0, 0, + floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), + height + offsetsB[direction][trackSequence][0], + floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1], + get_current_rotation() + ); + if (drawRail) { + sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + railOffsets[direction], get_current_rotation()); + } + } else if (drawRail) { + sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height + railOffsets[direction], get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } static void miniature_railway_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool hasSupports = false; - uint32 floorImage = 0; - rct_xy16 floorBoundSize = { 0 }; - rct_xy16 floorBoundOffset = { 0 }; - sint16 supportType = monorail_diag_support_types[direction][trackSequence]; + bool hasSupports = false; + uint32 floorImage = 0; + rct_xy16 floorBoundSize = { 0 }; + rct_xy16 floorBoundOffset = { 0 }; + sint16 supportType = monorail_diag_support_types[direction][trackSequence]; - if (supportType != -1) { - floorImage = floors[supportType].image_id; - floorBoundSize = floors[supportType].bound_size; - floorBoundOffset = floors[supportType].bound_offset; - hasSupports = wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - } + if (supportType != -1) { + floorImage = floors[supportType].image_id; + floorBoundSize = floors[supportType].bound_size; + floorBoundOffset = floors[supportType].bound_offset; + hasSupports = wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + } - if (direction == 1 && trackSequence == 3) { - floorBoundOffset = (rct_xy16) {-16, -16}; - } + if (direction == 1 && trackSequence == 3) { + floorBoundOffset = (rct_xy16) {-16, -16}; + } - uint32 imageId = miniature_railway_track_pieces_diag_flat_to_25_deg_up[(direction + 2) % 4]; - bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; + uint32 imageId = miniature_railway_track_pieces_diag_flat_to_25_deg_up[(direction + 2) % 4]; + bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - if (hasSupports) { - sub_98197C( - floorImage | gTrackColours[SCHEME_SUPPORTS], - 0, 0, - floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), - height, - floorBoundOffset.x, floorBoundOffset.y, height, - get_current_rotation() - ); - if (drawRail) { - sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } - } else if (drawRail) { - sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } + if (hasSupports) { + sub_98197C( + floorImage | gTrackColours[SCHEME_SUPPORTS], + 0, 0, + floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0), + height, + floorBoundOffset.x, floorBoundOffset.y, height, + get_current_rotation() + ); + if (drawRail) { + sub_98199C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } + } else if (drawRail) { + sub_98197C(imageId | gTrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** @@ -1909,68 +1909,68 @@ static void miniature_railway_track_diag_25_deg_down_to_flat(uint8 rideIndex, ui */ TRACK_PAINT_FUNCTION get_track_paint_function_miniature_railway(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return paint_miniature_railway_track_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_miniature_railway_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_miniature_railway_station; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_miniature_railway_station; - case TRACK_ELEM_25_DEG_UP: - return paint_miniature_railway_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return paint_miniature_railway_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return paint_miniature_railway_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_UP: + return paint_miniature_railway_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_miniature_railway_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_miniature_railway_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return paint_miniature_railway_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return paint_miniature_railway_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return paint_miniature_railway_track_25_deg_down_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return paint_miniature_railway_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_miniature_railway_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_miniature_railway_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return paint_miniature_railway_track_left_quarter_turn_5_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return paint_miniature_railway_track_right_quarter_turn_5_tiles; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return paint_miniature_railway_track_left_quarter_turn_5_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return paint_miniature_railway_track_right_quarter_turn_5_tiles; - case TRACK_ELEM_S_BEND_LEFT: - return paint_miniature_railway_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return paint_miniature_railway_track_s_bend_right; + case TRACK_ELEM_S_BEND_LEFT: + return paint_miniature_railway_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return paint_miniature_railway_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return paint_miniature_railway_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return paint_miniature_railway_track_right_quarter_turn_3_tiles; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return paint_miniature_railway_track_left_quarter_turn_3_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return paint_miniature_railway_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return paint_miniature_railway_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return paint_miniature_railway_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return paint_miniature_railway_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return paint_miniature_railway_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return paint_miniature_railway_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return paint_miniature_railway_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return paint_miniature_railway_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return paint_miniature_railway_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return miniature_railway_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return miniature_railway_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return miniature_railway_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return miniature_railway_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return miniature_railway_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return miniature_railway_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return miniature_railway_track_diag_25_deg_down_to_flat; - } + case TRACK_ELEM_DIAG_FLAT: + return miniature_railway_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return miniature_railway_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return miniature_railway_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return miniature_railway_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return miniature_railway_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return miniature_railway_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return miniature_railway_track_diag_25_deg_down_to_flat; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/transport/monorail.c b/src/openrct2/ride/transport/monorail.c index 74da079763..8c8ae010c4 100644 --- a/src/openrct2/ride/transport/monorail.c +++ b/src/openrct2/ride/transport/monorail.c @@ -26,795 +26,795 @@ enum { - SPR_MONORAIL_FLAT_SW_NE = 23231, - SPR_MONORAIL_FLAT_NW_SE = 23232, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_0 = 23233, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_1 = 23234, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_2 = 23235, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_3 = 23236, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_4 = 23237, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_0 = 23238, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_1 = 23239, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_2 = 23240, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_3 = 23241, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_4 = 23242, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_0 = 23243, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_1 = 23244, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_2 = 23245, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_3 = 23246, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_4 = 23247, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_0 = 23248, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_1 = 23249, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_2 = 23250, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_3 = 23251, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_4 = 23252, - SPR_MONORAIL_25_DEG_UP_SW_NE = 23253, - SPR_MONORAIL_FLAT_TO_25_DEG_UP_SW_NE = 23254, - SPR_MONORAIL_25_DEG_UP_NE_SW = 23255, - SPR_MONORAIL_FLAT_TO_25_DEG_UP_NE_SW = 23256, - SPR_MONORAIL_25_DEG_UP_TO_FLAT_NE_SW = 23257, - SPR_MONORAIL_25_DEG_UP_TO_FLAT_SW_NE = 23258, - SPR_MONORAIL_25_DEG_UP_NW_SE = 23259, - SPR_MONORAIL_25_DEG_UP_SE_NW = 23260, - SPR_MONORAIL_FLAT_TO_25_DEG_UP_NW_SE = 23261, - SPR_MONORAIL_FLAT_TO_25_DEG_UP_SE_NW = 23262, - SPR_MONORAIL_25_DEG_UP_TO_FLAT_SE_NW = 23263, - SPR_MONORAIL_25_DEG_UP_TO_FLAT_NW_SE = 23264, - SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_0 = 23265, - SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_1 = 23266, - SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_2 = 23267, - SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_3 = 23268, - SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_0 = 23269, - SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_1 = 23270, - SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_2 = 23271, - SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_3 = 23272, - SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_0 = 23273, - SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_1 = 23274, - SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_2 = 23275, - SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_3 = 23276, - SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_0 = 23277, - SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_1 = 23278, - SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_2 = 23279, - SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_3 = 23280, - SPR_MONORAIL_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 23281, - SPR_MONORAIL_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 23282, - SPR_MONORAIL_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 23283, - SPR_MONORAIL_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 23284, - SPR_MONORAIL_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 23285, - SPR_MONORAIL_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 23286, - SPR_MONORAIL_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 23287, - SPR_MONORAIL_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 23288, - SPR_MONORAIL_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 23289, - SPR_MONORAIL_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 23290, - SPR_MONORAIL_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 23291, - SPR_MONORAIL_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 23292, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_0 = 23293, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_1 = 23294, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_2 = 23295, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_3 = 23296, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_0 = 23297, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_1 = 23298, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_2 = 23299, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_3 = 23300, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_0 = 23301, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_1 = 23302, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_2 = 23303, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_3 = 23304, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_0 = 23305, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_1 = 23306, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_2 = 23307, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_3 = 23308, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_0 = 23309, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_1 = 23310, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_2 = 23311, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_3 = 23312, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_0 = 23313, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_1 = 23314, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_2 = 23315, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_3 = 23316, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_0 = 23317, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_1 = 23318, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_2 = 23319, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_3 = 23320, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_0 = 23321, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_1 = 23322, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_2 = 23323, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_3 = 23324, - SPR_MONORAIL_DIAG_FLAT_W_E = 23325, - SPR_MONORAIL_DIAG_FLAT_N_S = 23326, - SPR_MONORAIL_DIAG_FLAT_E_W = 23327, - SPR_MONORAIL_DIAG_FLAT_S_N = 23328, - SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_W_E = 23329, - SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_N_S = 23330, - SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_E_W = 23331, - SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_S_N = 23332, - SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_W_E = 23333, - SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_N_S = 23334, - SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_E_W = 23335, - SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_S_N = 23336, - SPR_MONORAIL_DIAG_25_DEG_UP_W_E = 23337, - SPR_MONORAIL_DIAG_25_DEG_UP_N_S = 23338, - SPR_MONORAIL_DIAG_25_DEG_UP_E_W = 23339, - SPR_MONORAIL_DIAG_25_DEG_UP_S_N = 23340, + SPR_MONORAIL_FLAT_SW_NE = 23231, + SPR_MONORAIL_FLAT_NW_SE = 23232, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_0 = 23233, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_1 = 23234, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_2 = 23235, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_3 = 23236, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_4 = 23237, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_0 = 23238, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_1 = 23239, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_2 = 23240, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_3 = 23241, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_4 = 23242, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_0 = 23243, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_1 = 23244, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_2 = 23245, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_3 = 23246, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_4 = 23247, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_0 = 23248, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_1 = 23249, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_2 = 23250, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_3 = 23251, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_4 = 23252, + SPR_MONORAIL_25_DEG_UP_SW_NE = 23253, + SPR_MONORAIL_FLAT_TO_25_DEG_UP_SW_NE = 23254, + SPR_MONORAIL_25_DEG_UP_NE_SW = 23255, + SPR_MONORAIL_FLAT_TO_25_DEG_UP_NE_SW = 23256, + SPR_MONORAIL_25_DEG_UP_TO_FLAT_NE_SW = 23257, + SPR_MONORAIL_25_DEG_UP_TO_FLAT_SW_NE = 23258, + SPR_MONORAIL_25_DEG_UP_NW_SE = 23259, + SPR_MONORAIL_25_DEG_UP_SE_NW = 23260, + SPR_MONORAIL_FLAT_TO_25_DEG_UP_NW_SE = 23261, + SPR_MONORAIL_FLAT_TO_25_DEG_UP_SE_NW = 23262, + SPR_MONORAIL_25_DEG_UP_TO_FLAT_SE_NW = 23263, + SPR_MONORAIL_25_DEG_UP_TO_FLAT_NW_SE = 23264, + SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_0 = 23265, + SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_1 = 23266, + SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_2 = 23267, + SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_3 = 23268, + SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_0 = 23269, + SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_1 = 23270, + SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_2 = 23271, + SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_3 = 23272, + SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_0 = 23273, + SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_1 = 23274, + SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_2 = 23275, + SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_3 = 23276, + SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_0 = 23277, + SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_1 = 23278, + SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_2 = 23279, + SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_3 = 23280, + SPR_MONORAIL_QUARTER_TURN_3_TILES_SW_SE_PART_0 = 23281, + SPR_MONORAIL_QUARTER_TURN_3_TILES_SW_SE_PART_1 = 23282, + SPR_MONORAIL_QUARTER_TURN_3_TILES_SW_SE_PART_2 = 23283, + SPR_MONORAIL_QUARTER_TURN_3_TILES_NW_SW_PART_0 = 23284, + SPR_MONORAIL_QUARTER_TURN_3_TILES_NW_SW_PART_1 = 23285, + SPR_MONORAIL_QUARTER_TURN_3_TILES_NW_SW_PART_2 = 23286, + SPR_MONORAIL_QUARTER_TURN_3_TILES_NE_NW_PART_0 = 23287, + SPR_MONORAIL_QUARTER_TURN_3_TILES_NE_NW_PART_1 = 23288, + SPR_MONORAIL_QUARTER_TURN_3_TILES_NE_NW_PART_2 = 23289, + SPR_MONORAIL_QUARTER_TURN_3_TILES_SE_NE_PART_0 = 23290, + SPR_MONORAIL_QUARTER_TURN_3_TILES_SE_NE_PART_1 = 23291, + SPR_MONORAIL_QUARTER_TURN_3_TILES_SE_NE_PART_2 = 23292, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_0 = 23293, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_1 = 23294, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_2 = 23295, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_3 = 23296, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_0 = 23297, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_1 = 23298, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_2 = 23299, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_3 = 23300, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_0 = 23301, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_1 = 23302, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_2 = 23303, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_3 = 23304, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_0 = 23305, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_1 = 23306, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_2 = 23307, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_3 = 23308, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_0 = 23309, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_1 = 23310, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_2 = 23311, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_3 = 23312, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_0 = 23313, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_1 = 23314, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_2 = 23315, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_3 = 23316, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_0 = 23317, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_1 = 23318, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_2 = 23319, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_3 = 23320, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_0 = 23321, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_1 = 23322, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_2 = 23323, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_3 = 23324, + SPR_MONORAIL_DIAG_FLAT_W_E = 23325, + SPR_MONORAIL_DIAG_FLAT_N_S = 23326, + SPR_MONORAIL_DIAG_FLAT_E_W = 23327, + SPR_MONORAIL_DIAG_FLAT_S_N = 23328, + SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_W_E = 23329, + SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_N_S = 23330, + SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_E_W = 23331, + SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_S_N = 23332, + SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_W_E = 23333, + SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_N_S = 23334, + SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_E_W = 23335, + SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_S_N = 23336, + SPR_MONORAIL_DIAG_25_DEG_UP_W_E = 23337, + SPR_MONORAIL_DIAG_25_DEG_UP_N_S = 23338, + SPR_MONORAIL_DIAG_25_DEG_UP_E_W = 23339, + SPR_MONORAIL_DIAG_25_DEG_UP_S_N = 23340, }; static const uint32 monorail_track_pieces_flat[4] = { - SPR_MONORAIL_FLAT_SW_NE, - SPR_MONORAIL_FLAT_NW_SE, - SPR_MONORAIL_FLAT_SW_NE, - SPR_MONORAIL_FLAT_NW_SE, + SPR_MONORAIL_FLAT_SW_NE, + SPR_MONORAIL_FLAT_NW_SE, + SPR_MONORAIL_FLAT_SW_NE, + SPR_MONORAIL_FLAT_NW_SE, }; static const uint32 monorail_track_pieces_flat_quarter_turn_5_tiles[4][5] = { - { - SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_0, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_1, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_2, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_3, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_4, - }, - { - SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_0, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_1, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_2, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_3, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_4, - }, - { - SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_0, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_1, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_2, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_3, - SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_4, - }, - { - SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_0, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_1, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_2, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_3, - SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_4, - } + { + SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_0, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_1, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_2, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_3, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SW_SE_PART_4, + }, + { + SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_0, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_1, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_2, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_3, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NW_SW_PART_4, + }, + { + SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_0, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_1, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_2, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_3, + SPR_MONORAIL_QUARTER_TURN_5_TILES_NE_NW_PART_4, + }, + { + SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_0, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_1, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_2, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_3, + SPR_MONORAIL_QUARTER_TURN_5_TILES_SE_NE_PART_4, + } }; static const uint32 monorail_track_pieces_25_deg_up[4] = { - SPR_MONORAIL_25_DEG_UP_SW_NE, - SPR_MONORAIL_25_DEG_UP_NW_SE, - SPR_MONORAIL_25_DEG_UP_NE_SW, - SPR_MONORAIL_25_DEG_UP_SE_NW, + SPR_MONORAIL_25_DEG_UP_SW_NE, + SPR_MONORAIL_25_DEG_UP_NW_SE, + SPR_MONORAIL_25_DEG_UP_NE_SW, + SPR_MONORAIL_25_DEG_UP_SE_NW, }; static const uint32 monorail_track_pieces_flat_to_25_deg_up[4] = { - SPR_MONORAIL_FLAT_TO_25_DEG_UP_SW_NE, - SPR_MONORAIL_FLAT_TO_25_DEG_UP_NW_SE, - SPR_MONORAIL_FLAT_TO_25_DEG_UP_NE_SW, - SPR_MONORAIL_FLAT_TO_25_DEG_UP_SE_NW, + SPR_MONORAIL_FLAT_TO_25_DEG_UP_SW_NE, + SPR_MONORAIL_FLAT_TO_25_DEG_UP_NW_SE, + SPR_MONORAIL_FLAT_TO_25_DEG_UP_NE_SW, + SPR_MONORAIL_FLAT_TO_25_DEG_UP_SE_NW, }; static const uint32 monorail_track_pieces_25_deg_up_to_flat[4] = { - SPR_MONORAIL_25_DEG_UP_TO_FLAT_SW_NE, - SPR_MONORAIL_25_DEG_UP_TO_FLAT_NW_SE, - SPR_MONORAIL_25_DEG_UP_TO_FLAT_NE_SW, - SPR_MONORAIL_25_DEG_UP_TO_FLAT_SE_NW, + SPR_MONORAIL_25_DEG_UP_TO_FLAT_SW_NE, + SPR_MONORAIL_25_DEG_UP_TO_FLAT_NW_SE, + SPR_MONORAIL_25_DEG_UP_TO_FLAT_NE_SW, + SPR_MONORAIL_25_DEG_UP_TO_FLAT_SE_NW, }; static const uint32 monorail_track_pieces_s_bend_left[2][4] = { - { - SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_0, - SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_1, - SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_2, - SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_3, - }, - { - SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_3, - SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_2, - SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_1, - SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_0, - } + { + SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_0, + SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_1, + SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_2, + SPR_MONORAIL_S_BEND_LEFT_SW_NE_PART_3, + }, + { + SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_3, + SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_2, + SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_1, + SPR_MONORAIL_S_BEND_LEFT_SE_NW_PART_0, + } }; static const uint32 monorail_track_pieces_s_bend_right[2][4] = { - { - SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_0, - SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_1, - SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_2, - SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_3, - }, - { - SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_3, - SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_2, - SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_1, - SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_0, - } + { + SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_0, + SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_1, + SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_2, + SPR_MONORAIL_S_BEND_RIGHT_SW_NE_PART_3, + }, + { + SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_3, + SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_2, + SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_1, + SPR_MONORAIL_S_BEND_RIGHT_SE_NW_PART_0, + } }; static const uint32 monorail_track_pieces_flat_quarter_turn_3_tiles[4][3] = { - { - SPR_MONORAIL_QUARTER_TURN_3_TILES_SW_SE_PART_0, - SPR_MONORAIL_QUARTER_TURN_3_TILES_SW_SE_PART_1, - SPR_MONORAIL_QUARTER_TURN_3_TILES_SW_SE_PART_2 - }, - { - SPR_MONORAIL_QUARTER_TURN_3_TILES_NW_SW_PART_0, - SPR_MONORAIL_QUARTER_TURN_3_TILES_NW_SW_PART_1, - SPR_MONORAIL_QUARTER_TURN_3_TILES_NW_SW_PART_2 - }, - { - SPR_MONORAIL_QUARTER_TURN_3_TILES_NE_NW_PART_0, - SPR_MONORAIL_QUARTER_TURN_3_TILES_NE_NW_PART_1, - SPR_MONORAIL_QUARTER_TURN_3_TILES_NE_NW_PART_2 - }, - { - SPR_MONORAIL_QUARTER_TURN_3_TILES_SE_NE_PART_0, - SPR_MONORAIL_QUARTER_TURN_3_TILES_SE_NE_PART_1, - SPR_MONORAIL_QUARTER_TURN_3_TILES_SE_NE_PART_2 - } + { + SPR_MONORAIL_QUARTER_TURN_3_TILES_SW_SE_PART_0, + SPR_MONORAIL_QUARTER_TURN_3_TILES_SW_SE_PART_1, + SPR_MONORAIL_QUARTER_TURN_3_TILES_SW_SE_PART_2 + }, + { + SPR_MONORAIL_QUARTER_TURN_3_TILES_NW_SW_PART_0, + SPR_MONORAIL_QUARTER_TURN_3_TILES_NW_SW_PART_1, + SPR_MONORAIL_QUARTER_TURN_3_TILES_NW_SW_PART_2 + }, + { + SPR_MONORAIL_QUARTER_TURN_3_TILES_NE_NW_PART_0, + SPR_MONORAIL_QUARTER_TURN_3_TILES_NE_NW_PART_1, + SPR_MONORAIL_QUARTER_TURN_3_TILES_NE_NW_PART_2 + }, + { + SPR_MONORAIL_QUARTER_TURN_3_TILES_SE_NE_PART_0, + SPR_MONORAIL_QUARTER_TURN_3_TILES_SE_NE_PART_1, + SPR_MONORAIL_QUARTER_TURN_3_TILES_SE_NE_PART_2 + } }; static const uint32 ghost_train_track_pieces_right_eight_to_diag[4][4] = { - { - SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_0, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_1, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_2, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_3, - }, - { - SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_0, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_1, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_2, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_3, - }, - { - SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_0, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_1, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_2, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_3, - }, - { - SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_0, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_1, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_2, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_3, - }, + { + SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_0, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_1, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_2, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_E_PART_3, + }, + { + SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_0, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_1, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_2, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_S_PART_3, + }, + { + SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_0, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_1, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_2, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_W_PART_3, + }, + { + SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_0, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_1, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_2, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_N_PART_3, + }, }; static const rct_xy16 ghost_train_track_pieces_right_eight_to_diag_bounds[4][4] = { - { - {32, 20}, - {32, 16}, - {16, 16}, - {16, 16}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {16, 16}, - }, - { - {32, 20}, - {34, 16}, - {28, 28}, - {16, 18}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {16, 16}, - }, + { + {32, 20}, + {32, 16}, + {16, 16}, + {16, 16}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {16, 16}, + }, + { + {32, 20}, + {34, 16}, + {28, 28}, + {16, 18}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {16, 16}, + }, }; static const rct_xy16 ghost_train_track_pieces_right_eight_to_diag_offset[4][4] = { - { - {0, 6}, - {0, 16}, - {0, 0}, - {16, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 16}, - {0, 0}, - }, - { - {0, 6}, - {0, 0}, - {4, 4}, - {0, 16}, - }, - { - {6, 0}, - {0, 0}, - {16, 0}, - {16, 16}, - }, + { + {0, 6}, + {0, 16}, + {0, 0}, + {16, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 16}, + {0, 0}, + }, + { + {0, 6}, + {0, 0}, + {4, 4}, + {0, 16}, + }, + { + {6, 0}, + {0, 0}, + {16, 0}, + {16, 16}, + }, }; static const uint32 ghost_train_track_pieces_left_eight_to_diag[4][4] = { - { - SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_0, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_1, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_2, - SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_3, - }, - { - SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_0, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_1, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_2, - SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_3, - }, - { - SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_0, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_1, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_2, - SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_3, - }, - { - SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_0, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_1, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_2, - SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_3, - }, + { + SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_0, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_1, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_2, + SPR_MONORAIL_EIGHT_TO_DIAG_SW_N_PART_3, + }, + { + SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_0, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_1, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_2, + SPR_MONORAIL_EIGHT_TO_DIAG_NW_E_PART_3, + }, + { + SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_0, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_1, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_2, + SPR_MONORAIL_EIGHT_TO_DIAG_NE_S_PART_3, + }, + { + SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_0, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_1, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_2, + SPR_MONORAIL_EIGHT_TO_DIAG_SE_W_PART_3, + }, }; static const rct_xy16 ghost_train_track_pieces_left_eight_to_diag_bounds[4][4] = { - { - {32, 20}, - {32, 16}, - {16, 16}, - {16, 16}, - }, - { - {20, 32}, - {16, 34}, - {16, 16}, - {18, 16}, - }, - { - {32, 20}, - {32, 16}, - {16, 16}, - {16, 16}, - }, - { - {20, 32}, - {16, 32}, - {16, 16}, - {16, 16}, - }, + { + {32, 20}, + {32, 16}, + {16, 16}, + {16, 16}, + }, + { + {20, 32}, + {16, 34}, + {16, 16}, + {18, 16}, + }, + { + {32, 20}, + {32, 16}, + {16, 16}, + {16, 16}, + }, + { + {20, 32}, + {16, 32}, + {16, 16}, + {16, 16}, + }, }; static const rct_xy16 ghost_train_track_pieces_left_eight_to_diag_offset[4][4] = { - { - {0, 6}, - {0, 0}, - {0, 16}, - {16, 16}, - }, - { - {6, 0}, - {0, 0}, - {16, 16}, - {16, 0}, - }, - { - {0, 6}, - {0, 16}, - {16, 0}, - {0, 0}, - }, - { - {6, 0}, - {16, 0}, - {0, 0}, - {0, 16}, - }, + { + {0, 6}, + {0, 0}, + {0, 16}, + {16, 16}, + }, + { + {6, 0}, + {0, 0}, + {16, 16}, + {16, 0}, + }, + { + {0, 6}, + {0, 16}, + {16, 0}, + {0, 0}, + }, + { + {6, 0}, + {16, 0}, + {0, 0}, + {0, 16}, + }, }; static const uint32 monorail_track_pieces_diag_flat[4] = { - SPR_MONORAIL_DIAG_FLAT_W_E, - SPR_MONORAIL_DIAG_FLAT_N_S, - SPR_MONORAIL_DIAG_FLAT_E_W, - SPR_MONORAIL_DIAG_FLAT_S_N, + SPR_MONORAIL_DIAG_FLAT_W_E, + SPR_MONORAIL_DIAG_FLAT_N_S, + SPR_MONORAIL_DIAG_FLAT_E_W, + SPR_MONORAIL_DIAG_FLAT_S_N, }; static const uint32 monorail_track_pieces_diag_flat_to_25_deg_up[4] = { - SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_W_E, - SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_N_S, - SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_E_W, - SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_S_N, + SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_W_E, + SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_N_S, + SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_E_W, + SPR_MONORAIL_DIAG_FLAT_TO_25_DEG_UP_S_N, }; static const uint32 monorail_track_pieces_diag_25_deg_up_to_flat[4] = { - SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_W_E, - SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_N_S, - SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_E_W, - SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_S_N, + SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_W_E, + SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_N_S, + SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_E_W, + SPR_MONORAIL_DIAG_25_DEG_UP_TO_FLAT_S_N, }; static const uint32 monorail_track_pieces_diag_25_deg_up[4] = { - SPR_MONORAIL_DIAG_25_DEG_UP_W_E, - SPR_MONORAIL_DIAG_25_DEG_UP_N_S, - SPR_MONORAIL_DIAG_25_DEG_UP_E_W, - SPR_MONORAIL_DIAG_25_DEG_UP_S_N, + SPR_MONORAIL_DIAG_25_DEG_UP_W_E, + SPR_MONORAIL_DIAG_25_DEG_UP_N_S, + SPR_MONORAIL_DIAG_25_DEG_UP_E_W, + SPR_MONORAIL_DIAG_25_DEG_UP_S_N, }; /** rct2: 0x008AE1AC */ static void paint_monorail_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = monorail_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = monorail_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98196C(imageId, 0, 6, 32, 20, 3, height, get_current_rotation()); - } else { - sub_98196C(imageId, 6, 0, 20, 32, 3, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98196C(imageId, 0, 6, 32, 20, 3, height, get_current_rotation()); + } else { + sub_98196C(imageId, 6, 0, 20, 32, 3, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } else { - paint_util_push_tunnel_right(height, TUNNEL_6); - } + if (direction == 0 || direction == 2) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } else { + paint_util_push_tunnel_right(height, TUNNEL_6); + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AE25C, 0x008AE26C, 0x008AE27C */ static void paint_monorail_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - if (direction == 0 || direction == 2) { - imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height, get_current_rotation()); - } else if (direction == 1 || direction == 3) { - imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98197C(imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height, get_current_rotation()); + } else if (direction == 1 || direction == 3) { + imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98197C(imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height, get_current_rotation()); + } - imageId = monorail_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98199C(imageId, 0, 6, 32, 20, 2, height, 0, 0, height, get_current_rotation()); - } else { - sub_98199C(imageId, 6, 0, 20, 32, 2, height, 0, 0, height, get_current_rotation()); - } + imageId = monorail_track_pieces_flat[direction] | gTrackColours[SCHEME_TRACK]; + if (direction == 0 || direction == 2) { + sub_98199C(imageId, 0, 6, 32, 20, 2, height, 0, 0, height, get_current_rotation()); + } else { + sub_98199C(imageId, 6, 0, 20, 32, 2, height, 0, 0, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } else { - paint_util_push_tunnel_right(height, TUNNEL_6); - } + if (direction == 0 || direction == 2) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } else { + paint_util_push_tunnel_right(height, TUNNEL_6); + } - if (direction == 0 || direction == 2) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (direction == 0 || direction == 2) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AE1BC */ static void paint_monorail_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = monorail_track_pieces_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = monorail_track_pieces_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98196C(imageId, 0, 6, 32, 20, 3, height, get_current_rotation()); - } else { - sub_98196C(imageId, 6, 0, 20, 32, 3, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98196C(imageId, 0, 6, 32, 20, 3, height, get_current_rotation()); + } else { + sub_98196C(imageId, 6, 0, 20, 32, 3, height, get_current_rotation()); + } - switch (direction) { - case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_7); break; - case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_8); break; - case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_8); break; - case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_7); break; - } + switch (direction) { + case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_7); break; + case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_8); break; + case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_8); break; + case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_7); break; + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AE1CC */ static void paint_monorail_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = monorail_track_pieces_flat_to_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = monorail_track_pieces_flat_to_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98196C(imageId, 0, 6, 32, 20, 3, height, get_current_rotation()); - } else { - sub_98196C(imageId, 6, 0, 20, 32, 3, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98196C(imageId, 0, 6, 32, 20, 3, height, get_current_rotation()); + } else { + sub_98196C(imageId, 6, 0, 20, 32, 3, height, get_current_rotation()); + } - switch (direction) { - case 0: paint_util_push_tunnel_left(height, TUNNEL_6); break; - case 1: paint_util_push_tunnel_right(height, TUNNEL_8); break; - case 2: paint_util_push_tunnel_left(height, TUNNEL_8); break; - case 3: paint_util_push_tunnel_right(height, TUNNEL_6); break; - } + switch (direction) { + case 0: paint_util_push_tunnel_left(height, TUNNEL_6); break; + case 1: paint_util_push_tunnel_right(height, TUNNEL_8); break; + case 2: paint_util_push_tunnel_left(height, TUNNEL_8); break; + case 3: paint_util_push_tunnel_right(height, TUNNEL_6); break; + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AE1DC */ static void paint_monorail_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - uint32 imageId = monorail_track_pieces_25_deg_up_to_flat[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = monorail_track_pieces_25_deg_up_to_flat[direction] | gTrackColours[SCHEME_TRACK]; - if (direction == 0 || direction == 2) { - sub_98196C(imageId, 0, 6, 32, 20, 3, height, get_current_rotation()); - } else { - sub_98196C(imageId, 6, 0, 20, 32, 3, height, get_current_rotation()); - } + if (direction == 0 || direction == 2) { + sub_98196C(imageId, 0, 6, 32, 20, 3, height, get_current_rotation()); + } else { + sub_98196C(imageId, 6, 0, 20, 32, 3, height, get_current_rotation()); + } - switch (direction) { - case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_6); break; - case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_14); break; - case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_14); break; - case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_6); break; - } + switch (direction) { + case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_6); break; + case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_14); break; + case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_14); break; + case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_6); break; + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } /** rct2: 0x008AE1EC */ static void paint_monorail_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_monorail_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_monorail_track_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x008AE1FC */ static void paint_monorail_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_monorail_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_monorail_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x008AE20C */ static void paint_monorail_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_monorail_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + paint_monorail_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x008AE22C */ static void paint_monorail_track_right_quarter_turn_5_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_right_quarter_turn_5_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], monorail_track_pieces_flat_quarter_turn_5_tiles, defaultRightQuarterTurn5TilesOffsets, defaultRightQuarterTurn5TilesBoundLengths, NULL, get_current_rotation()); + track_paint_util_right_quarter_turn_5_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], monorail_track_pieces_flat_quarter_turn_5_tiles, defaultRightQuarterTurn5TilesOffsets, defaultRightQuarterTurn5TilesBoundLengths, NULL, get_current_rotation()); - switch (trackSequence) { - case 0: - case 6: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + case 6: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } - if (direction == 0 && trackSequence == 6) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } + if (direction == 0 && trackSequence == 6) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } - if (direction == 1 && trackSequence == 6) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } + if (direction == 1 && trackSequence == 6) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC; break; - case 3: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4; break; - case 5: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8; break; - case 6: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; - } + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC; break; + case 3: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4; break; + case 5: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8; break; + case 6: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AE21C */ static void paint_monorail_track_left_quarter_turn_5_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - paint_monorail_track_right_quarter_turn_5_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + paint_monorail_track_right_quarter_turn_5_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } /** rct2: 0x */ static void paint_monorail_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (direction == 2 || direction == 3) { - trackSequence = 3 - trackSequence; - } + if (direction == 2 || direction == 3) { + trackSequence = 3 - trackSequence; + } - const rct_xy16 offsetList[] = { - {0, 6}, - {0, 0}, - {0, 6}, - {0, 6}, - }; + const rct_xy16 offsetList[] = { + {0, 6}, + {0, 0}, + {0, 6}, + {0, 6}, + }; - const rct_xy16 boundsList[] = { - {32, 20}, - {32, 26}, - {32, 26}, - {32, 20}, - }; + const rct_xy16 boundsList[] = { + {32, 20}, + {32, 26}, + {32, 26}, + {32, 20}, + }; - uint32 imageId = monorail_track_pieces_s_bend_left[direction & 1][trackSequence] | gTrackColours[SCHEME_TRACK]; - rct_xy16 offset = offsetList[trackSequence]; - rct_xy16 bounds = boundsList[trackSequence]; - if (direction == 0 || direction == 2) { - sub_98196C(imageId, (sint8) offset.x, (sint8) offset.y, bounds.x, bounds.y, 3, height, get_current_rotation()); - } else { - sub_98196C(imageId, (sint8) offset.y, (sint8) offset.x, bounds.y, bounds.x, 3, height, get_current_rotation()); - } + uint32 imageId = monorail_track_pieces_s_bend_left[direction & 1][trackSequence] | gTrackColours[SCHEME_TRACK]; + rct_xy16 offset = offsetList[trackSequence]; + rct_xy16 bounds = boundsList[trackSequence]; + if (direction == 0 || direction == 2) { + sub_98196C(imageId, (sint8) offset.x, (sint8) offset.y, bounds.x, bounds.y, 3, height, get_current_rotation()); + } else { + sub_98196C(imageId, (sint8) offset.y, (sint8) offset.x, bounds.y, bounds.x, 3, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - if (trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } + if (direction == 0 || direction == 2) { + if (trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } - switch (trackSequence) { - case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - } - } else { - if (trackSequence == 3) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } + switch (trackSequence) { + case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + } + } else { + if (trackSequence == 3) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } - switch (trackSequence) { - case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - } - } + switch (trackSequence) { + case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + } + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4; break; - case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction & 1), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4; break; + case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction & 1), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AE24C */ static void paint_monorail_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (direction == 2 || direction == 3) { - trackSequence = 3 - trackSequence; - } + if (direction == 2 || direction == 3) { + trackSequence = 3 - trackSequence; + } - const rct_xy16 offsetList[] = { - {0, 6}, - {0, 6}, - {0, 0}, - {0, 6}, - }; + const rct_xy16 offsetList[] = { + {0, 6}, + {0, 6}, + {0, 0}, + {0, 6}, + }; - const rct_xy16 boundsList[] = { - {32, 20}, - {32, 26}, - {32, 26}, - {32, 20}, - }; + const rct_xy16 boundsList[] = { + {32, 20}, + {32, 26}, + {32, 26}, + {32, 20}, + }; - uint32 imageId = monorail_track_pieces_s_bend_right[direction&1][trackSequence] | gTrackColours[SCHEME_TRACK]; - rct_xy16 offset = offsetList[trackSequence]; - rct_xy16 bounds = boundsList[trackSequence]; - if (direction == 0 || direction == 2) { - sub_98196C(imageId, (sint8) offset.x, (sint8) offset.y, bounds.x, bounds.y, 3, height, get_current_rotation()); - } else { - sub_98196C(imageId, (sint8) offset.y, (sint8) offset.x, bounds.y, bounds.x, 3, height, get_current_rotation()); - } + uint32 imageId = monorail_track_pieces_s_bend_right[direction&1][trackSequence] | gTrackColours[SCHEME_TRACK]; + rct_xy16 offset = offsetList[trackSequence]; + rct_xy16 bounds = boundsList[trackSequence]; + if (direction == 0 || direction == 2) { + sub_98196C(imageId, (sint8) offset.x, (sint8) offset.y, bounds.x, bounds.y, 3, height, get_current_rotation()); + } else { + sub_98196C(imageId, (sint8) offset.y, (sint8) offset.x, bounds.y, bounds.x, 3, height, get_current_rotation()); + } - if (direction == 0 || direction == 2) { - if (trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_6); - } + if (direction == 0 || direction == 2) { + if (trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_6); + } - switch (trackSequence) { - case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - } - } else { - if (trackSequence == 3) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } + switch (trackSequence) { + case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + } + } else { + if (trackSequence == 3) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } - switch (trackSequence) { - case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; - } - } + switch (trackSequence) { + case 0: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 1: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + case 3: metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break; + } + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; - case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; - case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction & 1), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; + case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; + case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction & 1), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AE29C */ static void paint_monorail_track_right_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_right_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], monorail_track_pieces_flat_quarter_turn_3_tiles, defaultRightQuarterTurn3TilesOffsets, defaultRightQuarterTurn3TilesBoundLengths, NULL, get_current_rotation()); - track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_6); + track_paint_util_right_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], monorail_track_pieces_flat_quarter_turn_3_tiles, defaultRightQuarterTurn3TilesOffsets, defaultRightQuarterTurn3TilesBoundLengths, NULL, get_current_rotation()); + track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_6); - switch (trackSequence) { - case 0: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; - case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; + case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AE28C */ static void paint_monorail_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) {trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - paint_monorail_track_right_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + paint_monorail_track_right_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } static const sint8 paint_monorail_eighth_to_diag_index[] = {0, 1, 2, -1, 3}; @@ -822,256 +822,256 @@ static const sint8 paint_monorail_eighth_to_diag_index[] = {0, 1, 2, -1, 3}; /** rct2: 0x008AE31C */ static void paint_monorail_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - sint8 index = paint_monorail_eighth_to_diag_index[trackSequence]; - if (index >= 0) { - uint32 imageId = ghost_train_track_pieces_left_eight_to_diag[direction][index] | gTrackColours[SCHEME_TRACK]; - const rct_xy16 offset = ghost_train_track_pieces_left_eight_to_diag_offset[direction][index]; - const rct_xy16 bounds = ghost_train_track_pieces_left_eight_to_diag_bounds[direction][index]; - sub_98197C(imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height, get_current_rotation()); - } + sint8 index = paint_monorail_eighth_to_diag_index[trackSequence]; + if (index >= 0) { + uint32 imageId = ghost_train_track_pieces_left_eight_to_diag[direction][index] | gTrackColours[SCHEME_TRACK]; + const rct_xy16 offset = ghost_train_track_pieces_left_eight_to_diag_offset[direction][index]; + const rct_xy16 bounds = ghost_train_track_pieces_left_eight_to_diag_bounds[direction][index]; + sub_98197C(imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height, get_current_rotation()); + } - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 4: - if (direction == 0) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 1) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 2) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 3) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 4: + if (direction == 0) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 1) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 2) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 3) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC; break; - case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; - case 2: blockedSegments = SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_C8; break; - case 4: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C8 | SEGMENT_C0 | SEGMENT_D4; break; - } + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC; break; + case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; + case 2: blockedSegments = SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_C8; break; + case 4: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C8 | SEGMENT_C0 | SEGMENT_D4; break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AE32C */ static void paint_monorail_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - sint8 index = paint_monorail_eighth_to_diag_index[trackSequence]; - if (index >= 0) { - uint32 imageId = ghost_train_track_pieces_right_eight_to_diag[direction][index] | gTrackColours[SCHEME_TRACK]; - const rct_xy16 offset = ghost_train_track_pieces_right_eight_to_diag_offset[direction][index]; - const rct_xy16 bounds = ghost_train_track_pieces_right_eight_to_diag_bounds[direction][index]; - sub_98197C(imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height, get_current_rotation()); - } + sint8 index = paint_monorail_eighth_to_diag_index[trackSequence]; + if (index >= 0) { + uint32 imageId = ghost_train_track_pieces_right_eight_to_diag[direction][index] | gTrackColours[SCHEME_TRACK]; + const rct_xy16 offset = ghost_train_track_pieces_right_eight_to_diag_offset[direction][index]; + const rct_xy16 bounds = ghost_train_track_pieces_right_eight_to_diag_bounds[direction][index]; + sub_98197C(imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height, get_current_rotation()); + } - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 4: - if (direction == 0) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 1) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 2) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 3) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 4: + if (direction == 0) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 1) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 2) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + if (direction == 3) metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC; break; - case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; - case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4; break; - case 4: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_D4; break; - } + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC; break; + case 1: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4; break; + case 3: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4; break; + case 4: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B8 | SEGMENT_C8 | SEGMENT_D4; break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AE33C */ static void paint_monorail_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const uint8 map[] = {4, 2, 3, 1, 0}; - trackSequence = map[trackSequence]; - paint_monorail_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + const uint8 map[] = {4, 2, 3, 1, 0}; + trackSequence = map[trackSequence]; + paint_monorail_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } /** rct2: 0x008AE34C */ static void paint_monorail_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - const uint8 map[] = {4, 2, 3, 1, 0}; - trackSequence = map[trackSequence]; - paint_monorail_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + const uint8 map[] = {4, 2, 3, 1, 0}; + trackSequence = map[trackSequence]; + paint_monorail_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } static void paint_monorail_util_diag_supports(uint8 direction, sint32 height) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } } static const bool monorail_diag_image_segment[][4] = { - {false, true, false, false}, - {false, false, false, true}, - {false, false, true, false}, - {true, false, false, false}, + {false, true, false, false}, + {false, false, false, true}, + {false, false, true, false}, + {true, false, false, false}, }; static const uint8 monorail_diag_support_segment[] = {1, 0, 2, 3}; static const sint32 monorail_diag_blocked_segments[] = { - SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4 | SEGMENT_BC, - SEGMENT_C4 | SEGMENT_CC | SEGMENT_C8 | SEGMENT_B4, - SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4, - SEGMENT_D0 | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_C8 + SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4 | SEGMENT_BC, + SEGMENT_C4 | SEGMENT_CC | SEGMENT_C8 | SEGMENT_B4, + SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C0 | SEGMENT_D4, + SEGMENT_D0 | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_C8 }; /** rct2: 0x008AE2AC */ static void paint_monorail_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (monorail_diag_image_segment[direction][trackSequence]) { - uint32 imageId = monorail_track_pieces_diag_flat[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } + if (monorail_diag_image_segment[direction][trackSequence]) { + uint32 imageId = monorail_track_pieces_diag_flat[direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } - if (trackSequence == 3) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008AE2DC */ static void paint_monorail_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (monorail_diag_image_segment[direction][trackSequence]) { - uint32 imageId = monorail_track_pieces_diag_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } + if (monorail_diag_image_segment[direction][trackSequence]) { + uint32 imageId = monorail_track_pieces_diag_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } - if (trackSequence == 3) { - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 8, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 8, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AE2BC */ static void paint_monorail_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (monorail_diag_image_segment[direction][trackSequence]) { - uint32 imageId = monorail_track_pieces_diag_flat_to_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } + if (monorail_diag_image_segment[direction][trackSequence]) { + uint32 imageId = monorail_track_pieces_diag_flat_to_25_deg_up[direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } - if (trackSequence == 3) { - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008AE2CC */ static void paint_monorail_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (monorail_diag_image_segment[direction][trackSequence]) { - uint32 imageId = monorail_track_pieces_diag_25_deg_up_to_flat[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } + if (monorail_diag_image_segment[direction][trackSequence]) { + uint32 imageId = monorail_track_pieces_diag_25_deg_up_to_flat[direction] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } - if (trackSequence == 3) { - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AE30C */ static void paint_monorail_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (monorail_diag_image_segment[direction][trackSequence]) { - uint32 imageId = monorail_track_pieces_diag_25_deg_up[(direction + 2) % 4] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } + if (monorail_diag_image_segment[direction][trackSequence]) { + uint32 imageId = monorail_track_pieces_diag_25_deg_up[(direction + 2) % 4] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } - if (trackSequence == 3) { - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 8, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 8, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AE2EC */ static void paint_monorail_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (monorail_diag_image_segment[direction][trackSequence]) { - uint32 imageId = monorail_track_pieces_diag_25_deg_up_to_flat[(direction + 2) % 4] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } + if (monorail_diag_image_segment[direction][trackSequence]) { + uint32 imageId = monorail_track_pieces_diag_25_deg_up_to_flat[(direction + 2) % 4] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } - if (trackSequence == 3) { - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 4, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x008AE2FC */ static void paint_monorail_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - if (monorail_diag_image_segment[direction][trackSequence]) { - uint32 imageId = monorail_track_pieces_diag_flat_to_25_deg_up[(direction + 2) % 4] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); - } + if (monorail_diag_image_segment[direction][trackSequence]) { + uint32 imageId = monorail_track_pieces_diag_flat_to_25_deg_up[(direction + 2) % 4] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation()); + } - if (trackSequence == 3) { - metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence == 3) { + metal_b_supports_paint_setup(METAL_SUPPORTS_BOXED, monorail_diag_support_segment[direction], 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sint32 blockedSegments = monorail_diag_blocked_segments[trackSequence]; + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** @@ -1079,70 +1079,70 @@ static void paint_monorail_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 */ TRACK_PAINT_FUNCTION get_track_paint_function_monorail(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return paint_monorail_track_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_monorail_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_monorail_station; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_monorail_station; - case TRACK_ELEM_25_DEG_UP: - return paint_monorail_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return paint_monorail_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return paint_monorail_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_UP: + return paint_monorail_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_monorail_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_monorail_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return paint_monorail_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return paint_monorail_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return paint_monorail_track_25_deg_down_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return paint_monorail_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_monorail_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_monorail_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return paint_monorail_track_left_quarter_turn_5_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return paint_monorail_track_right_quarter_turn_5_tiles; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return paint_monorail_track_left_quarter_turn_5_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return paint_monorail_track_right_quarter_turn_5_tiles; - case TRACK_ELEM_S_BEND_LEFT: - return paint_monorail_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return paint_monorail_track_s_bend_right; + case TRACK_ELEM_S_BEND_LEFT: + return paint_monorail_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return paint_monorail_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return paint_monorail_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return paint_monorail_track_right_quarter_turn_3_tiles; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return paint_monorail_track_left_quarter_turn_3_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return paint_monorail_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return paint_monorail_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return paint_monorail_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return paint_monorail_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return paint_monorail_track_right_eighth_to_orthogonal; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return paint_monorail_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return paint_monorail_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return paint_monorail_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return paint_monorail_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return paint_monorail_track_diag_flat; + case TRACK_ELEM_DIAG_FLAT: + return paint_monorail_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return paint_monorail_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return paint_monorail_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return paint_monorail_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return paint_monorail_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return paint_monorail_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return paint_monorail_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return paint_monorail_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return paint_monorail_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return paint_monorail_track_diag_25_deg_down_to_flat; - } + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return paint_monorail_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return paint_monorail_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return paint_monorail_track_diag_25_deg_down_to_flat; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/transport/suspended_monorail.c b/src/openrct2/ride/transport/suspended_monorail.c index 073ab3e206..8309445601 100644 --- a/src/openrct2/ride/transport/suspended_monorail.c +++ b/src/openrct2/ride/transport/suspended_monorail.c @@ -29,1332 +29,1332 @@ /** rct2: 0x008636F4 */ static void suspended_monorail_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25853, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 1: - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25854, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - } + switch (direction) { + case 0: + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25853, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 1: + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25854, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x008637A4, 0x008637B4, 0x008637C4 */ static void suspended_monorail_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = { - { SPR_STATION_BASE_C_SW_NE, 25853, SPR_STATION_INVERTED_BAR_F_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 25854, SPR_STATION_INVERTED_BAR_F_NW_SE }, - { SPR_STATION_BASE_C_SW_NE, 25853, SPR_STATION_INVERTED_BAR_F_SW_NE }, - { SPR_STATION_BASE_C_NW_SE, 25854, SPR_STATION_INVERTED_BAR_F_NW_SE }, - }; + static const uint32 imageIds[4][3] = { + { SPR_STATION_BASE_C_SW_NE, 25853, SPR_STATION_INVERTED_BAR_F_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 25854, SPR_STATION_INVERTED_BAR_F_NW_SE }, + { SPR_STATION_BASE_C_SW_NE, 25853, SPR_STATION_INVERTED_BAR_F_SW_NE }, + { SPR_STATION_BASE_C_NW_SE, 25854, SPR_STATION_INVERTED_BAR_F_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); - sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 3, height + 32, 0, 6, height + 32); - track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 3); - track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_TALL); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height); + sub_98197C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + sub_98199C_rotated(direction, imageIds[direction][2] | gTrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 3, height + 32, 0, 6, height + 32); + track_paint_util_draw_station_metal_supports_2(direction, height, gTrackColours[SCHEME_SUPPORTS], 3); + track_paint_util_draw_station_inverted(rideIndex, trackSequence, direction, height, mapElement, STATION_VARIANT_TALL); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x00863704 */ static void suspended_monorail_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25945, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 48); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25946, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 48); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25947, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 48); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25948, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 48); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25945, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 48); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25946, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 48); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25947, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 48); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25948, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 48); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 60, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 60, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 60, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 60, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 60, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 60, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 60, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 60, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x00863714 */ static void suspended_monorail_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25937, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25938, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25939, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25940, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25937, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25938, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25939, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25940, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 52, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_general_support_height(height + 64, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_general_support_height(height + 64, 0x20); } /** rct2: 0x00863724 */ static void suspended_monorail_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25941, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25942, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25943, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25944, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); - break; - } + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25941, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25942, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25943, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25944, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - } - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + } + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_9); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_15); - } - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_9); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_15); + } + paint_util_set_general_support_height(height + 56, 0x20); } /** rct2: 0x00863734 */ static void suspended_monorail_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - suspended_monorail_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + suspended_monorail_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00863744 */ static void suspended_monorail_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - suspended_monorail_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + suspended_monorail_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00863754 */ static void suspended_monorail_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - suspended_monorail_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + suspended_monorail_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00863764 */ static void suspended_monorail_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25876, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25881, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25886, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25871, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25876, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25881, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25886, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25871, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25875, 0, 0, 32, 16, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25880, 0, 0, 32, 16, 3, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25885, 0, 0, 32, 16, 3, height + 32, 0, 16, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25870, 0, 0, 32, 16, 3, height + 32, 0, 16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25874, 0, 0, 16, 16, 3, height + 32, 0, 16, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25879, 0, 0, 16, 16, 3, height + 32, 16, 16, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25884, 0, 0, 16, 16, 3, height + 32, 16, 0, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25869, 0, 0, 16, 16, 3, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 5: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25873, 0, 0, 16, 32, 3, height + 32, 16, 0, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25878, 0, 0, 16, 32, 3, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25883, 0, 0, 16, 32, 3, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25868, 0, 0, 16, 32, 3, height + 32, 16, 0, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 6: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25872, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25877, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25882, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25867, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25875, 0, 0, 32, 16, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25880, 0, 0, 32, 16, 3, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25885, 0, 0, 32, 16, 3, height + 32, 0, 16, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25870, 0, 0, 32, 16, 3, height + 32, 0, 16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25874, 0, 0, 16, 16, 3, height + 32, 0, 16, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25879, 0, 0, 16, 16, 3, height + 32, 16, 16, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25884, 0, 0, 16, 16, 3, height + 32, 16, 0, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25869, 0, 0, 16, 16, 3, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 5: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25873, 0, 0, 16, 32, 3, height + 32, 16, 0, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25878, 0, 0, 16, 32, 3, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25883, 0, 0, 16, 32, 3, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25868, 0, 0, 16, 32, 3, height + 32, 16, 0, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 6: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25872, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25877, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25882, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25867, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_9); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_9); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_9); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_9); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x00863774 */ static void suspended_monorail_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - suspended_monorail_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + suspended_monorail_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00863784 */ static void suspended_monorail_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25919, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25923, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25922, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25926, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25919, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25923, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25922, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25926, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25920, 0, 0, 32, 26, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25924, 0, 0, 32, 26, 3, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25921, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25925, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25920, 0, 0, 32, 26, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25924, 0, 0, 32, 26, 3, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25921, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25925, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25921, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25925, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25920, 0, 0, 32, 26, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25924, 0, 0, 32, 26, 3, height + 32); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25921, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25925, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25920, 0, 0, 32, 26, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25924, 0, 0, 32, 26, 3, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25922, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25926, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25919, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25923, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25922, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25926, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25919, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25923, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_9); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_9); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_9); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_9); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x00863794 */ static void suspended_monorail_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25927, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25931, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25930, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25934, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25927, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25931, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25930, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25934, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25928, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25932, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); - break; - case 2: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25929, 0, 0, 32, 26, 3, height + 32); - break; - case 3: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25933, 0, 0, 32, 26, 3, height + 32); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25928, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25932, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); + break; + case 2: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25929, 0, 0, 32, 26, 3, height + 32); + break; + case 3: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25933, 0, 0, 32, 26, 3, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25929, 0, 0, 32, 26, 3, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25933, 0, 0, 32, 26, 3, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25928, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25932, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25929, 0, 0, 32, 26, 3, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25933, 0, 0, 32, 26, 3, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25928, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25932, 0, 0, 32, 26, 3, height + 32, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25930, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25934, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25927, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25931, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25930, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25934, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25927, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25931, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 1: - paint_util_push_tunnel_right(height, TUNNEL_9); - break; - case 2: - paint_util_push_tunnel_left(height, TUNNEL_9); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 1: + paint_util_push_tunnel_right(height, TUNNEL_9); + break; + case 2: + paint_util_push_tunnel_left(height, TUNNEL_9); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008637D4 */ static void suspended_monorail_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25860, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25863, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25866, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25857, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25860, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25863, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25866, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25857, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25859, 0, 0, 16, 16, 3, height + 32, 16, 0, height + 32); - break; - case 1: - sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25862, 0, 0, 16, 16, 3, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25865, 0, 0, 16, 16, 3, height + 32, 0, 16, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25856, 0, 0, 16, 16, 3, height + 32, 16, 16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25858, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25861, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25864, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25855, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25859, 0, 0, 16, 16, 3, height + 32, 16, 0, height + 32); + break; + case 1: + sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25862, 0, 0, 16, 16, 3, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25865, 0, 0, 16, 16, 3, height + 32, 0, 16, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25856, 0, 0, 16, 16, 3, height + 32, 16, 16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25858, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25861, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25864, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25855, 0, 0, 20, 32, 3, height + 32, 6, 0, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - switch (direction) { - case 2: - paint_util_push_tunnel_right(height, TUNNEL_9); - break; - case 3: - paint_util_push_tunnel_left(height, TUNNEL_9); - break; - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + switch (direction) { + case 2: + paint_util_push_tunnel_right(height, TUNNEL_9); + break; + case 3: + paint_util_push_tunnel_left(height, TUNNEL_9); + break; + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x008637E4 */ static void suspended_monorail_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - suspended_monorail_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + suspended_monorail_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); } /** rct2: 0x00863864 */ static void suspended_monorail_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25903, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25907, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25911, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25915, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25903, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25907, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25911, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25915, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25904, 0, 0, 32, 16, 3, height + 32, 0, 0, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25908, 0, 0, 34, 16, 3, height + 32, 0, 0, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25912, 0, 0, 32, 16, 3, height + 32, 0, 16, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25916, 0, 0, 32, 16, 3, height + 32, 0, 16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25905, 0, 0, 16, 16, 3, height + 32, 0, 16, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25909, 0, 0, 16, 16, 3, height + 32, 16, 16, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25913, 0, 0, 16, 16, 3, height + 32, 16, 0, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25917, 0, 0, 16, 16, 3, height + 32, 0, 0, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25906, 0, 0, 16, 16, 3, height + 32, 16, 16, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25910, 0, 0, 16, 18, 3, height + 32, 0, 16, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25914, 0, 0, 16, 16, 3, height + 32, 0, 0, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25918, 0, 0, 16, 16, 3, height + 32, 16, 0, height + 32); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25904, 0, 0, 32, 16, 3, height + 32, 0, 0, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25908, 0, 0, 34, 16, 3, height + 32, 0, 0, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25912, 0, 0, 32, 16, 3, height + 32, 0, 16, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25916, 0, 0, 32, 16, 3, height + 32, 0, 16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25905, 0, 0, 16, 16, 3, height + 32, 0, 16, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25909, 0, 0, 16, 16, 3, height + 32, 16, 16, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25913, 0, 0, 16, 16, 3, height + 32, 16, 0, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25917, 0, 0, 16, 16, 3, height + 32, 0, 0, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25906, 0, 0, 16, 16, 3, height + 32, 16, 16, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25910, 0, 0, 16, 18, 3, height + 32, 0, 16, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25914, 0, 0, 16, 16, 3, height + 32, 0, 0, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25918, 0, 0, 16, 16, 3, height + 32, 16, 0, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x00863874 */ static void suspended_monorail_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25887, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25891, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25895, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25899, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25887, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25891, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25895, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25899, 0, 0, 32, 20, 3, height + 32, 0, 6, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); - } - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25888, 0, 0, 32, 16, 3, height + 32, 0, 16, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25892, 0, 0, 32, 16, 3, height + 32, 0, 16, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25896, 0, 0, 34, 16, 3, height + 32, 0, 0, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25900, 0, 0, 32, 16, 3, height + 32, 0, 0, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25889, 0, 0, 16, 16, 3, height + 32, 0, 0, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25893, 0, 0, 16, 16, 3, height + 32, 16, 0, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25897, 0, 0, 28, 28, 3, height + 32, 4, 4, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25901, 0, 0, 16, 16, 3, height + 32, 0, 16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 4: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25890, 0, 0, 16, 16, 3, height + 32, 16, 0, height + 32); - break; - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25894, 0, 0, 16, 16, 3, height + 32, 0, 0, height + 32); - break; - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25898, 0, 0, 16, 18, 3, height + 32, 0, 16, height + 32); - break; - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25902, 0, 0, 16, 16, 3, height + 32, 16, 16, height + 32); - break; - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_9); + } + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25888, 0, 0, 32, 16, 3, height + 32, 0, 16, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25892, 0, 0, 32, 16, 3, height + 32, 0, 16, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25896, 0, 0, 34, 16, 3, height + 32, 0, 0, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25900, 0, 0, 32, 16, 3, height + 32, 0, 0, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25889, 0, 0, 16, 16, 3, height + 32, 0, 0, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25893, 0, 0, 16, 16, 3, height + 32, 16, 0, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25897, 0, 0, 28, 28, 3, height + 32, 4, 4, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25901, 0, 0, 16, 16, 3, height + 32, 0, 16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 4: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25890, 0, 0, 16, 16, 3, height + 32, 16, 0, height + 32); + break; + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25894, 0, 0, 16, 16, 3, height + 32, 0, 0, height + 32); + break; + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25898, 0, 0, 16, 18, 3, height + 32, 0, 16, height + 32); + break; + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25902, 0, 0, 16, 16, 3, height + 32, 16, 16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x00863884 */ static void suspended_monorail_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - suspended_monorail_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + suspended_monorail_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } /** rct2: 0x00863894 */ static void suspended_monorail_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; - suspended_monorail_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + suspended_monorail_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); } /** rct2: 0x008637F4 */ static void suspended_monorail_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25936, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25935, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25935, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 32); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25936, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 32); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25936, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25935, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25935, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 32); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25936, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 32); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 42, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 48, 0x20); - break; - } + paint_util_set_general_support_height(height + 48, 0x20); + break; + } } /** rct2: 0x00863824 */ static void suspended_monorail_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25960, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25957, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25959, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25958, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25960, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25957, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25959, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25958, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 55, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 57, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x00863804 */ static void suspended_monorail_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25952, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25949, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25951, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25950, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25952, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25949, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25951, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25950, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 50, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } /** rct2: 0x00863814 */ static void suspended_monorail_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25956, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25953, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25955, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25954, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25956, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25953, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25955, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25954, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x00863854 */ static void suspended_monorail_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25958, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25959, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25957, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25960, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25958, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25959, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25957, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25960, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 48); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 54, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 51, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 58, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 72, 0x20); - break; - } + paint_util_set_general_support_height(height + 72, 0x20); + break; + } } /** rct2: 0x00863834 */ static void suspended_monorail_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25954, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25955, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25953, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25956, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25954, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25955, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25953, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25956, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); - break; - } - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 48, gTrackColours[SCHEME_SUPPORTS]); + break; + } + break; + } - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_general_support_height(height + 72, 0x20); } /** rct2: 0x00863844 */ static void suspended_monorail_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - switch (trackSequence) { - case 0: - switch (direction) { - case 3: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25950, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 1: - switch (direction) { - case 0: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25951, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 2: - switch (direction) { - case 2: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25949, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 64, 0x20); - break; - case 3: - switch (direction) { - case 1: - sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25952, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); - break; - } + switch (trackSequence) { + case 0: + switch (direction) { + case 3: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25950, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 1: + switch (direction) { + case 0: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25951, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 2: + switch (direction) { + case 2: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25949, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 64, 0x20); + break; + case 3: + switch (direction) { + case 1: + sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25952, -16, -16, 32, 32, 3, height + 32, -16, -16, height + 40); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - switch (direction) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 1: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 2: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 1, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 0, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 2, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 3, 0, height + 46, gTrackColours[SCHEME_SUPPORTS]); + break; + } - paint_util_set_general_support_height(height + 64, 0x20); - break; - } + paint_util_set_general_support_height(height + 64, 0x20); + break; + } } TRACK_PAINT_FUNCTION get_track_paint_function_suspended_monorail(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return suspended_monorail_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return suspended_monorail_track_station; - case TRACK_ELEM_25_DEG_UP: - return suspended_monorail_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return suspended_monorail_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return suspended_monorail_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return suspended_monorail_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return suspended_monorail_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return suspended_monorail_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return suspended_monorail_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return suspended_monorail_track_right_quarter_turn_5; - case TRACK_ELEM_S_BEND_LEFT: - return suspended_monorail_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return suspended_monorail_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return suspended_monorail_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return suspended_monorail_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - return suspended_monorail_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - return suspended_monorail_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - return suspended_monorail_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - return suspended_monorail_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: - return suspended_monorail_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return suspended_monorail_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return suspended_monorail_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return suspended_monorail_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return suspended_monorail_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return suspended_monorail_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return suspended_monorail_track_diag_25_deg_down_to_flat; - } - return NULL; + switch (trackType) { + case TRACK_ELEM_FLAT: + return suspended_monorail_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return suspended_monorail_track_station; + case TRACK_ELEM_25_DEG_UP: + return suspended_monorail_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return suspended_monorail_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return suspended_monorail_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return suspended_monorail_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return suspended_monorail_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return suspended_monorail_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return suspended_monorail_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return suspended_monorail_track_right_quarter_turn_5; + case TRACK_ELEM_S_BEND_LEFT: + return suspended_monorail_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return suspended_monorail_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return suspended_monorail_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return suspended_monorail_track_right_quarter_turn_3; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + return suspended_monorail_track_left_eighth_to_diag; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + return suspended_monorail_track_right_eighth_to_diag; + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + return suspended_monorail_track_left_eighth_to_orthogonal; + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + return suspended_monorail_track_right_eighth_to_orthogonal; + case TRACK_ELEM_DIAG_FLAT: + return suspended_monorail_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return suspended_monorail_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return suspended_monorail_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return suspended_monorail_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return suspended_monorail_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return suspended_monorail_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return suspended_monorail_track_diag_25_deg_down_to_flat; + } + return NULL; } diff --git a/src/openrct2/ride/vehicle.c b/src/openrct2/ride/vehicle.c index 6ebad94532..d173d35b85 100644 --- a/src/openrct2/ride/vehicle.c +++ b/src/openrct2/ride/vehicle.c @@ -98,206 +98,206 @@ rct_xyz16 unk_F64E20; const uint8 byte_9A3A14[] = { SOUND_SCREAM_8, SOUND_SCREAM_1 }; const uint8 byte_9A3A16[] = { SOUND_SCREAM_1, SOUND_SCREAM_6 }; const uint8 byte_9A3A18[] = { - SOUND_SCREAM_3, SOUND_SCREAM_1, SOUND_SCREAM_5, SOUND_SCREAM_6, - SOUND_SCREAM_7, SOUND_SCREAM_2, SOUND_SCREAM_4 + SOUND_SCREAM_3, SOUND_SCREAM_1, SOUND_SCREAM_5, SOUND_SCREAM_6, + SOUND_SCREAM_7, SOUND_SCREAM_2, SOUND_SCREAM_4 }; const uint8 _soundParams[SOUND_MAXID][2] = { - { 1, 0 }, // SOUND_LIFT_1 - { 1, 0 }, // SOUND_TRACK_FRICTION_1 - { 1, 0 }, // SOUND_LIFT_2 - { 0, 1 }, // SOUND_SCREAM_1 - { 0, 0 }, // SOUND_CLICK_1 - { 0, 0 }, // SOUND_CLICK_2 - { 0, 0 }, // SOUND_PLACE_ITEM - { 0, 1 }, // SOUND_SCREAM_2 - { 0, 1 }, // SOUND_SCREAM_3 - { 0, 1 }, // SOUND_SCREAM_4 - { 0, 1 }, // SOUND_SCREAM_5 - { 0, 1 }, // SOUND_SCREAM_6 - { 1, 0 }, // SOUND_LIFT_3 - { 0, 0 }, // SOUND_PURCHASE - { 0, 0 }, // SOUND_CRASH - { 0, 0 }, // SOUND_LAYING_OUT_WATER - { 0, 0 }, // SOUND_WATER_1 - { 0, 0 }, // SOUND_WATER_2 - { 0, 1 }, // SOUND_TRAIN_WHISTLE - { 0, 1 }, // SOUND_TRAIN_CHUGGING - { 0, 0 }, // SOUND_WATER_SPLASH - { 1, 0 }, // SOUND_HAMMERING - { 0, 0 }, // SOUND_RIDE_LAUNCH_1 - { 0, 0 }, // SOUND_RIDE_LAUNCH_2 - { 0, 0 }, // SOUND_COUGH_1 - { 0, 0 }, // SOUND_COUGH_2 - { 0, 0 }, // SOUND_COUGH_3 - { 0, 0 }, // SOUND_COUGH_4 - { 1, 0 }, // SOUND_RAIN_1 - { 0, 0 }, // SOUND_THUNDER_1 - { 0, 0 }, // SOUND_THUNDER_2 - { 1, 0 }, // SOUND_RAIN_2 - { 1, 0 }, // SOUND_RAIN_3 - { 0, 0 }, // SOUND_BALLOON_POP - { 0, 0 }, // SOUND_MECHANIC_FIX - { 0, 1 }, // SOUND_SCREAM_7 - { 0, 0 }, // SOUND_TOILET_FLUSH - { 0, 0 }, // SOUND_CLICK_3 - { 0, 0 }, // SOUND_QUACK - { 0, 0 }, // SOUND_NEWS_ITEM - { 0, 0 }, // SOUND_WINDOW_OPEN - { 0, 0 }, // SOUND_LAUGH_1 - { 0, 0 }, // SOUND_LAUGH_2 - { 0, 0 }, // SOUND_LAUGH_3 - { 0, 0 }, // SOUND_APPLAUSE - { 0, 0 }, // SOUND_HAUNTED_HOUSE_SCARE - { 0, 0 }, // SOUND_HAUNTED_HOUSE_SCREAM_1 - { 0, 0 }, // SOUND_HAUNTED_HOUSE_SCREAM_2 - { 0, 0 }, // SOUND_48 - { 0, 0 }, // SOUND_49 - { 0, 0 }, // SOUND_ERROR - { 0, 0 }, // SOUND_51 - { 1, 0 }, // SOUND_LIFT_4 - { 1, 0 }, // SOUND_LIFT_5 - { 1, 0 }, // SOUND_TRACK_FRICTION_2 - { 1, 0 }, // SOUND_LIFT_6 - { 1, 0 }, // SOUND_LIFT_7 - { 1, 2 }, // SOUND_TRACK_FRICTION_3 - { 0, 1 }, // SOUND_SCREAM_8 - { 0, 1 }, // SOUND_TRAM - { 0, 0 }, // SOUND_DOOR_OPEN - { 0, 0 }, // SOUND_DOOR_CLOSE - { 0, 0 } // SOUND_62 + { 1, 0 }, // SOUND_LIFT_1 + { 1, 0 }, // SOUND_TRACK_FRICTION_1 + { 1, 0 }, // SOUND_LIFT_2 + { 0, 1 }, // SOUND_SCREAM_1 + { 0, 0 }, // SOUND_CLICK_1 + { 0, 0 }, // SOUND_CLICK_2 + { 0, 0 }, // SOUND_PLACE_ITEM + { 0, 1 }, // SOUND_SCREAM_2 + { 0, 1 }, // SOUND_SCREAM_3 + { 0, 1 }, // SOUND_SCREAM_4 + { 0, 1 }, // SOUND_SCREAM_5 + { 0, 1 }, // SOUND_SCREAM_6 + { 1, 0 }, // SOUND_LIFT_3 + { 0, 0 }, // SOUND_PURCHASE + { 0, 0 }, // SOUND_CRASH + { 0, 0 }, // SOUND_LAYING_OUT_WATER + { 0, 0 }, // SOUND_WATER_1 + { 0, 0 }, // SOUND_WATER_2 + { 0, 1 }, // SOUND_TRAIN_WHISTLE + { 0, 1 }, // SOUND_TRAIN_CHUGGING + { 0, 0 }, // SOUND_WATER_SPLASH + { 1, 0 }, // SOUND_HAMMERING + { 0, 0 }, // SOUND_RIDE_LAUNCH_1 + { 0, 0 }, // SOUND_RIDE_LAUNCH_2 + { 0, 0 }, // SOUND_COUGH_1 + { 0, 0 }, // SOUND_COUGH_2 + { 0, 0 }, // SOUND_COUGH_3 + { 0, 0 }, // SOUND_COUGH_4 + { 1, 0 }, // SOUND_RAIN_1 + { 0, 0 }, // SOUND_THUNDER_1 + { 0, 0 }, // SOUND_THUNDER_2 + { 1, 0 }, // SOUND_RAIN_2 + { 1, 0 }, // SOUND_RAIN_3 + { 0, 0 }, // SOUND_BALLOON_POP + { 0, 0 }, // SOUND_MECHANIC_FIX + { 0, 1 }, // SOUND_SCREAM_7 + { 0, 0 }, // SOUND_TOILET_FLUSH + { 0, 0 }, // SOUND_CLICK_3 + { 0, 0 }, // SOUND_QUACK + { 0, 0 }, // SOUND_NEWS_ITEM + { 0, 0 }, // SOUND_WINDOW_OPEN + { 0, 0 }, // SOUND_LAUGH_1 + { 0, 0 }, // SOUND_LAUGH_2 + { 0, 0 }, // SOUND_LAUGH_3 + { 0, 0 }, // SOUND_APPLAUSE + { 0, 0 }, // SOUND_HAUNTED_HOUSE_SCARE + { 0, 0 }, // SOUND_HAUNTED_HOUSE_SCREAM_1 + { 0, 0 }, // SOUND_HAUNTED_HOUSE_SCREAM_2 + { 0, 0 }, // SOUND_48 + { 0, 0 }, // SOUND_49 + { 0, 0 }, // SOUND_ERROR + { 0, 0 }, // SOUND_51 + { 1, 0 }, // SOUND_LIFT_4 + { 1, 0 }, // SOUND_LIFT_5 + { 1, 0 }, // SOUND_TRACK_FRICTION_2 + { 1, 0 }, // SOUND_LIFT_6 + { 1, 0 }, // SOUND_LIFT_7 + { 1, 2 }, // SOUND_TRACK_FRICTION_3 + { 0, 1 }, // SOUND_SCREAM_8 + { 0, 1 }, // SOUND_TRAM + { 0, 0 }, // SOUND_DOOR_OPEN + { 0, 0 }, // SOUND_DOOR_CLOSE + { 0, 0 } // SOUND_62 }; static const uint8 SpaceRingsTimeToSpriteMap[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, - 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, - 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, - 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 18, 18, - 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, 0, - 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, - 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, - 11, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, - 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, - 21, 22, 22, 22, 23, 23, 23, 0, 0, 0, 1, 1, 1, 2, 2, 2, - 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, - 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, - 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 18, 18, - 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, 0, - 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, - 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, - 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, - 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, - 2, 1, 1, 1, 1, 0, 0, 0, 0, 23, 23, 23, 22, 22, 22, 21, - 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 16, 16, - 16, 15, 15, 15, 14, 14, 14, 13, 13, 13, 12, 12, 12, 11, 11, 11, - 10, 10, 10, 9, 9, 9, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, - 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 0, 0, - 0, 23, 23, 23, 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, - 18, 18, 18, 17, 17, 17, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, - 13, 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, - 8, 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, - 2, 2, 2, 1, 1, 1, 0, 0, 0, 23, 23, 23, 22, 22, 22, 21, - 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 16, 16, - 16, 15, 15, 15, 14, 14, 14, 13, 13, 13, 12, 12, 12, 11, 11, 11, - 10, 10, 10, 9, 9, 9, 8, 8, 8, 7, 7, 7, 7, 6, 6, 6, - 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, - 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, - 24, 24, 24, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 27, - 27, 27, 27, 27, 28, 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, - 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, 34, 34, 34, 35, 35, 35, - 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, 39, 40, 40, 40, 41, - 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, 45, 45, 46, 46, - 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, 51, 51, 51, - 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 57, - 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, 62, - 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, - 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, - 73, 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, - 78, 79, 79, 79, 80, 80, 80, 80, 81, 81, 81, 81, 82, 82, 82, 82, - 82, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, - 85, 85, 86, 86, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 86, 86, 86, 86, 86, 86, 86, 85, - 85, 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, - 82, 82, 82, 82, 82, 81, 81, 81, 81, 80, 80, 80, 80, 79, 79, 79, - 78, 78, 78, 77, 77, 77, 76, 76, 76, 75, 75, 75, 74, 74, 74, 73, - 73, 73, 72, 72, 72, 71, 71, 71, 70, 70, 70, 69, 69, 69, 68, 68, - 68, 67, 67, 67, 66, 66, 66, 65, 65, 65, 64, 64, 64, 63, 63, 63, - 62, 62, 62, 61, 61, 61, 60, 60, 60, 59, 59, 59, 58, 58, 58, 57, - 57, 57, 56, 56, 56, 55, 55, 55, 54, 54, 54, 53, 53, 53, 52, 52, - 52, 51, 51, 51, 50, 50, 50, 49, 49, 49, 48, 48, 48, 47, 47, 47, - 46, 46, 46, 45, 45, 45, 44, 44, 44, 43, 43, 43, 42, 42, 42, 41, - 41, 41, 40, 40, 40, 39, 39, 39, 38, 38, 38, 37, 37, 37, 36, 36, - 36, 35, 35, 35, 34, 34, 34, 33, 33, 33, 32, 32, 32, 31, 31, 31, - 30, 30, 30, 30, 29, 29, 29, 29, 28, 28, 28, 28, 28, 27, 27, 27, - 27, 27, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 25, 24, 24, - 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, - 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, - 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, - 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, - 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, - 22, 22, 22, 23, 23, 23, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, - 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, - 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, - 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, - 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, 0, 0, - 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, - 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, - 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, - 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, - 22, 22, 22, 23, 23, 23, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, - 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, - 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, - 6, 6, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, - 23, 23, 23, 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, - 18, 18, 17, 17, 17, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, - 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, 8, - 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, - 2, 2, 1, 1, 1, 0, 0, 0, 23, 23, 23, 22, 22, 22, 21, 21, - 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 16, 16, 16, - 15, 15, 15, 14, 14, 14, 13, 13, 13, 12, 12, 12, 11, 11, 11, 10, - 10, 10, 9, 9, 9, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 5, - 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 0, 0, 0, - 23, 23, 23, 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, - 18, 18, 17, 17, 17, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, - 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, 8, - 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, - 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, - 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, - 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, - 33, 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, - 39, 39, 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, - 44, 44, 45, 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, - 49, 50, 50, 50, 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, - 55, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, - 60, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, - 65, 66, 66, 66, 67, 67, 67, 68, 68, 68, 69, 69, 69, 70, 70, 70, - 71, 71, 71, 72, 72, 72, 73, 73, 73, 74, 74, 74, 75, 75, 75, 76, - 76, 76, 77, 77, 77, 78, 78, 78, 79, 79, 79, 80, 80, 80, 80, 81, - 81, 81, 81, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 84, 84, 84, - 84, 84, 84, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, 86, 86, - 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 86, - 86, 86, 86, 86, 86, 86, 85, 85, 85, 85, 85, 85, 84, 84, 84, 84, - 84, 84, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 81, 81, 81, 81, - 80, 80, 80, 80, 79, 79, 79, 78, 78, 78, 77, 77, 77, 76, 76, 76, - 75, 75, 75, 74, 74, 74, 73, 73, 73, 72, 72, 72, 71, 71, 71, 70, - 70, 70, 69, 69, 69, 68, 68, 68, 67, 67, 67, 66, 66, 66, 65, 65, - 65, 64, 64, 64, 63, 63, 63, 62, 62, 62, 61, 61, 61, 60, 60, 60, - 59, 59, 59, 58, 58, 58, 57, 57, 57, 56, 56, 56, 55, 55, 55, 54, - 54, 54, 53, 53, 53, 52, 52, 52, 51, 51, 51, 50, 50, 50, 49, 49, - 49, 48, 48, 48, 47, 47, 47, 46, 46, 46, 45, 45, 45, 44, 44, 44, - 43, 43, 43, 42, 42, 42, 41, 41, 41, 40, 40, 40, 39, 39, 39, 38, - 38, 38, 37, 37, 37, 36, 36, 36, 35, 35, 35, 34, 34, 34, 33, 33, - 33, 32, 32, 32, 31, 31, 31, 30, 30, 30, 30, 29, 29, 29, 29, 28, - 28, 28, 28, 28, 27, 27, 27, 27, 27, 26, 26, 26, 26, 26, 26, 25, - 25, 25, 25, 25, 25, 24, 24, 24, 24, 24, 24, 24, 24, 0, - 255 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, + 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, + 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, + 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 18, 18, + 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, 0, + 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, + 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, + 11, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, + 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, + 21, 22, 22, 22, 23, 23, 23, 0, 0, 0, 1, 1, 1, 2, 2, 2, + 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, + 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, + 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 18, 18, + 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, 0, + 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, + 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, + 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, + 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, + 2, 1, 1, 1, 1, 0, 0, 0, 0, 23, 23, 23, 22, 22, 22, 21, + 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 16, 16, + 16, 15, 15, 15, 14, 14, 14, 13, 13, 13, 12, 12, 12, 11, 11, 11, + 10, 10, 10, 9, 9, 9, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, + 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 0, 0, + 0, 23, 23, 23, 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, + 18, 18, 18, 17, 17, 17, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, + 13, 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, + 8, 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, + 2, 2, 2, 1, 1, 1, 0, 0, 0, 23, 23, 23, 22, 22, 22, 21, + 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 16, 16, + 16, 15, 15, 15, 14, 14, 14, 13, 13, 13, 12, 12, 12, 11, 11, 11, + 10, 10, 10, 9, 9, 9, 8, 8, 8, 7, 7, 7, 7, 6, 6, 6, + 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, + 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, + 24, 24, 24, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 27, + 27, 27, 27, 27, 28, 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, + 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, 34, 34, 34, 35, 35, 35, + 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, 39, 40, 40, 40, 41, + 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, 45, 45, 46, 46, + 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, 51, 51, 51, + 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 57, + 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, 62, + 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, + 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, + 73, 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, + 78, 79, 79, 79, 80, 80, 80, 80, 81, 81, 81, 81, 82, 82, 82, 82, + 82, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, + 85, 85, 86, 86, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 86, 86, 86, 86, 86, 86, 86, 85, + 85, 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, + 82, 82, 82, 82, 82, 81, 81, 81, 81, 80, 80, 80, 80, 79, 79, 79, + 78, 78, 78, 77, 77, 77, 76, 76, 76, 75, 75, 75, 74, 74, 74, 73, + 73, 73, 72, 72, 72, 71, 71, 71, 70, 70, 70, 69, 69, 69, 68, 68, + 68, 67, 67, 67, 66, 66, 66, 65, 65, 65, 64, 64, 64, 63, 63, 63, + 62, 62, 62, 61, 61, 61, 60, 60, 60, 59, 59, 59, 58, 58, 58, 57, + 57, 57, 56, 56, 56, 55, 55, 55, 54, 54, 54, 53, 53, 53, 52, 52, + 52, 51, 51, 51, 50, 50, 50, 49, 49, 49, 48, 48, 48, 47, 47, 47, + 46, 46, 46, 45, 45, 45, 44, 44, 44, 43, 43, 43, 42, 42, 42, 41, + 41, 41, 40, 40, 40, 39, 39, 39, 38, 38, 38, 37, 37, 37, 36, 36, + 36, 35, 35, 35, 34, 34, 34, 33, 33, 33, 32, 32, 32, 31, 31, 31, + 30, 30, 30, 30, 29, 29, 29, 29, 28, 28, 28, 28, 28, 27, 27, 27, + 27, 27, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 25, 24, 24, + 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, + 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, + 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, + 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, + 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, + 22, 22, 22, 23, 23, 23, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, + 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, + 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, + 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, + 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, 0, 0, + 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, + 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, + 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, + 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, + 22, 22, 22, 23, 23, 23, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, + 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, + 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, + 6, 6, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 3, 3, + 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, + 23, 23, 23, 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, + 18, 18, 17, 17, 17, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, + 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, 8, + 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, + 2, 2, 1, 1, 1, 0, 0, 0, 23, 23, 23, 22, 22, 22, 21, 21, + 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 16, 16, 16, + 15, 15, 15, 14, 14, 14, 13, 13, 13, 12, 12, 12, 11, 11, 11, 10, + 10, 10, 9, 9, 9, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 5, + 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 0, 0, 0, + 23, 23, 23, 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, + 18, 18, 17, 17, 17, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, + 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, 8, + 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, + 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, + 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, + 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, + 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, + 33, 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, + 39, 39, 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, + 44, 44, 45, 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, + 49, 50, 50, 50, 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, + 55, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, + 60, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, + 65, 66, 66, 66, 67, 67, 67, 68, 68, 68, 69, 69, 69, 70, 70, 70, + 71, 71, 71, 72, 72, 72, 73, 73, 73, 74, 74, 74, 75, 75, 75, 76, + 76, 76, 77, 77, 77, 78, 78, 78, 79, 79, 79, 80, 80, 80, 80, 81, + 81, 81, 81, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 84, 84, 84, + 84, 84, 84, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, 86, 86, + 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 86, + 86, 86, 86, 86, 86, 86, 85, 85, 85, 85, 85, 85, 84, 84, 84, 84, + 84, 84, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 81, 81, 81, 81, + 80, 80, 80, 80, 79, 79, 79, 78, 78, 78, 77, 77, 77, 76, 76, 76, + 75, 75, 75, 74, 74, 74, 73, 73, 73, 72, 72, 72, 71, 71, 71, 70, + 70, 70, 69, 69, 69, 68, 68, 68, 67, 67, 67, 66, 66, 66, 65, 65, + 65, 64, 64, 64, 63, 63, 63, 62, 62, 62, 61, 61, 61, 60, 60, 60, + 59, 59, 59, 58, 58, 58, 57, 57, 57, 56, 56, 56, 55, 55, 55, 54, + 54, 54, 53, 53, 53, 52, 52, 52, 51, 51, 51, 50, 50, 50, 49, 49, + 49, 48, 48, 48, 47, 47, 47, 46, 46, 46, 45, 45, 45, 44, 44, 44, + 43, 43, 43, 42, 42, 42, 41, 41, 41, 40, 40, 40, 39, 39, 39, 38, + 38, 38, 37, 37, 37, 36, 36, 36, 35, 35, 35, 34, 34, 34, 33, 33, + 33, 32, 32, 32, 31, 31, 31, 30, 30, 30, 30, 29, 29, 29, 29, 28, + 28, 28, 28, 28, 27, 27, 27, 27, 27, 26, 26, 26, 26, 26, 26, 25, + 25, 25, 25, 25, 25, 24, 24, 24, 24, 24, 24, 24, 24, 0, + 255 }; static const sint8 SwingingTimeToSpriteMap_0[] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, 0, 0, -128 }; @@ -315,349 +315,349 @@ static const sint8 SwingingTimeToSpriteMap_11[] = { 0, 0, 1, 1, 1, 2, 2, 2, 3, 3 /** rct2: 0x0099F9D0 */ static const sint8 * SwingingTimeToSpriteMaps[] = { - SwingingTimeToSpriteMap_0, - SwingingTimeToSpriteMap_1, - SwingingTimeToSpriteMap_2, - SwingingTimeToSpriteMap_3, - SwingingTimeToSpriteMap_4, - SwingingTimeToSpriteMap_5, - SwingingTimeToSpriteMap_6, - SwingingTimeToSpriteMap_7, - SwingingTimeToSpriteMap_8, - SwingingTimeToSpriteMap_9, - SwingingTimeToSpriteMap_10, - SwingingTimeToSpriteMap_11, + SwingingTimeToSpriteMap_0, + SwingingTimeToSpriteMap_1, + SwingingTimeToSpriteMap_2, + SwingingTimeToSpriteMap_3, + SwingingTimeToSpriteMap_4, + SwingingTimeToSpriteMap_5, + SwingingTimeToSpriteMap_6, + SwingingTimeToSpriteMap_7, + SwingingTimeToSpriteMap_8, + SwingingTimeToSpriteMap_9, + SwingingTimeToSpriteMap_10, + SwingingTimeToSpriteMap_11, }; typedef struct { - sint16 x; - sint16 y; - uint32 distance; + sint16 x; + sint16 y; + uint32 distance; } unk_9a36c4; /** rct2: 0x009A36C4 */ static const unk_9a36c4 Unk9A36C4[] = { - {-1, 0, 8716}, - {-1, 0, 8716}, - {-1, 0, 8716}, - {-1, 1, 12327}, - {-1, 1, 12327}, - {-1, 1, 12327}, - {0, 1, 8716}, - {-1, 1, 12327}, - {0, 1, 8716}, - {0, 1, 8716}, - {0, 1, 8716}, - {1, 1, 12327}, - {1, 1, 12327}, - {1, 1, 12327}, - {1, 0, 8716}, - {1, 1, 12327}, - {1, 0, 8716}, - {1, 0, 8716}, - {1, 0, 8716}, - {1, -1, 12327}, - {1, -1, 12327}, - {1, -1, 12327}, - {0, -1, 8716}, - {1, -1, 12327}, - {0, -1, 8716}, - {0, -1, 8716}, - {0, -1, 8716}, - {-1, -1, 12327}, - {-1, -1, 12327}, - {-1, -1, 12327}, - {-1, 0, 8716}, - {-1, -1, 12327}, + {-1, 0, 8716}, + {-1, 0, 8716}, + {-1, 0, 8716}, + {-1, 1, 12327}, + {-1, 1, 12327}, + {-1, 1, 12327}, + {0, 1, 8716}, + {-1, 1, 12327}, + {0, 1, 8716}, + {0, 1, 8716}, + {0, 1, 8716}, + {1, 1, 12327}, + {1, 1, 12327}, + {1, 1, 12327}, + {1, 0, 8716}, + {1, 1, 12327}, + {1, 0, 8716}, + {1, 0, 8716}, + {1, 0, 8716}, + {1, -1, 12327}, + {1, -1, 12327}, + {1, -1, 12327}, + {0, -1, 8716}, + {1, -1, 12327}, + {0, -1, 8716}, + {0, -1, 8716}, + {0, -1, 8716}, + {-1, -1, 12327}, + {-1, -1, 12327}, + {-1, -1, 12327}, + {-1, 0, 8716}, + {-1, -1, 12327}, }; /** rct2: 0x009A37C4 */ static const rct_xy16 Unk9A37C4[] = { - { 0, 0}, - { 0, +1}, - {+1, 0}, - { 0, -1}, - { 0, -1}, - {-1, 0}, - {-1, 0}, - { 0, +1}, - { 0, +1}, + { 0, 0}, + { 0, +1}, + {+1, 0}, + { 0, -1}, + { 0, -1}, + {-1, 0}, + {-1, 0}, + { 0, +1}, + { 0, +1}, }; /** rct2: 0x009A37E4 */ static const sint32 Unk9A37E4[] = { - 2147483647, - 2106585154, - 1985590284, - 1636362342, - 1127484953, - 2106585154, - 1985590284, - 1636362342, - 1127484953, - 58579923, - 0, - -555809667, - -1073741824, - -1518500249, - -1859775391, - -2074309916, - -2147483647, - 58579923, - 0, - -555809667, - -1073741824, - -1518500249, - -1859775391, - -2074309916, - 1859775393, - 1073741824, - 0, - -1073741824, - -1859775393, - 1859775393, - 1073741824, - 0, - -1073741824, - -1859775393, - 1859775393, - 1073741824, - 0, - -1073741824, - -1859775393, - 1859775393, - 1073741824, - 0, - -1073741824, - -1859775393, - 2144540595, - 2139311823, - 2144540595, - 2139311823, - 2135719507, - 2135719507, - 2125953864, - 2061796213, - 1411702590, - 2125953864, - 2061796213, - 1411702590, - 1985590284, - 1636362342, - 1127484953, - 2115506168, + 2147483647, + 2106585154, + 1985590284, + 1636362342, + 1127484953, + 2106585154, + 1985590284, + 1636362342, + 1127484953, + 58579923, + 0, + -555809667, + -1073741824, + -1518500249, + -1859775391, + -2074309916, + -2147483647, + 58579923, + 0, + -555809667, + -1073741824, + -1518500249, + -1859775391, + -2074309916, + 1859775393, + 1073741824, + 0, + -1073741824, + -1859775393, + 1859775393, + 1073741824, + 0, + -1073741824, + -1859775393, + 1859775393, + 1073741824, + 0, + -1073741824, + -1859775393, + 1859775393, + 1073741824, + 0, + -1073741824, + -1859775393, + 2144540595, + 2139311823, + 2144540595, + 2139311823, + 2135719507, + 2135719507, + 2125953864, + 2061796213, + 1411702590, + 2125953864, + 2061796213, + 1411702590, + 1985590284, + 1636362342, + 1127484953, + 2115506168, }; /** rct2: 0x009A38D4 */ static const sint32 Unk9A38D4[] = { - 0, - 417115092, - 817995863, - 1390684831, - 1827693544, - -417115092, - -817995863, - -1390684831, - -1827693544, - 2066040965, - 2147483647, - 2074309916, - 1859775393, - 1518500249, - 1073741824, - 555809666, - 0, - -2066040965, - -2147483647, - -2074309916, - -1859775393, - -1518500249, - -1073741824, - -555809666, - 1073741824, - 1859775393, - 2147483647, - 1859775393, - 1073741824, - -1073741824, - -1859775393, - -2147483647, - -1859775393, - -1073741824, - 1073741824, - 1859775393, - 2147483647, - 1859775393, - 1073741824, - -1073741824, - -1859775393, - -2147483647, - -1859775393, - -1073741824, - 112390610, - 187165532, - -112390610, - -187165532, - 224473165, - -224473165, - 303325208, - 600568389, - 1618265062, - -303325208, - -600568389, - -1618265062, - -817995863, - -1390684831, - -1827693544, - 369214930, + 0, + 417115092, + 817995863, + 1390684831, + 1827693544, + -417115092, + -817995863, + -1390684831, + -1827693544, + 2066040965, + 2147483647, + 2074309916, + 1859775393, + 1518500249, + 1073741824, + 555809666, + 0, + -2066040965, + -2147483647, + -2074309916, + -1859775393, + -1518500249, + -1073741824, + -555809666, + 1073741824, + 1859775393, + 2147483647, + 1859775393, + 1073741824, + -1073741824, + -1859775393, + -2147483647, + -1859775393, + -1073741824, + 1073741824, + 1859775393, + 2147483647, + 1859775393, + 1073741824, + -1073741824, + -1859775393, + -2147483647, + -1859775393, + -1073741824, + 112390610, + 187165532, + -112390610, + -187165532, + 224473165, + -224473165, + 303325208, + 600568389, + 1618265062, + -303325208, + -600568389, + -1618265062, + -817995863, + -1390684831, + -1827693544, + 369214930, }; /** rct2: 0x009A39C4 */ static const sint32 Unk9A39C4[] = { - 2147483647, - 2096579710, - 1946281152, - 2096579710, - 1946281152, - 1380375879, - 555809667, - -372906620, - -1231746017, - -1859775391, - 1380375879, - 555809667, - -372906620, - -1231746017, - -1859775391, - 0, - 2096579710, - 1946281152, - 2096579710, - 1946281152, + 2147483647, + 2096579710, + 1946281152, + 2096579710, + 1946281152, + 1380375879, + 555809667, + -372906620, + -1231746017, + -1859775391, + 1380375879, + 555809667, + -372906620, + -1231746017, + -1859775391, + 0, + 2096579710, + 1946281152, + 2096579710, + 1946281152, }; static const rct_xy16 AvoidCollisionMoveOffset[] = { - { -1, 0 }, - { 0, 1 }, - { 1, 0 }, - { 0, -1 }, + { -1, 0 }, + { 0, 1 }, + { 1, 0 }, + { 0, -1 }, }; static bool vehicle_move_info_valid(sint32 cd, sint32 typeAndDirection, sint32 offset) { - if (cd >= countof(gTrackVehicleInfo)) { - return false; - } - sint32 size = 0; - switch (cd) { - case 0: size = 1024; break; - case 1: size = 692; break; - case 2: size = 404; break; - case 3: size = 404; break; - case 4: size = 404; break; - case 5: size = 208; break; - case 6: size = 208; break; - case 7: size = 208; break; - case 8: size = 208; break; - case 9: size = 824; break; - case 10: size = 824; break; - case 11: size = 824; break; - case 12: size = 824; break; - case 13: size = 824; break; - case 14: size = 824; break; - case 15: size = 868; break; - case 16: size = 868; break; - } - if (typeAndDirection >= size) { - return false; - } - if (offset >= gTrackVehicleInfo[cd][typeAndDirection]->size) { - return false; - } - return true; + if (cd >= countof(gTrackVehicleInfo)) { + return false; + } + sint32 size = 0; + switch (cd) { + case 0: size = 1024; break; + case 1: size = 692; break; + case 2: size = 404; break; + case 3: size = 404; break; + case 4: size = 404; break; + case 5: size = 208; break; + case 6: size = 208; break; + case 7: size = 208; break; + case 8: size = 208; break; + case 9: size = 824; break; + case 10: size = 824; break; + case 11: size = 824; break; + case 12: size = 824; break; + case 13: size = 824; break; + case 14: size = 824; break; + case 15: size = 868; break; + case 16: size = 868; break; + } + if (typeAndDirection >= size) { + return false; + } + if (offset >= gTrackVehicleInfo[cd][typeAndDirection]->size) { + return false; + } + return true; } const rct_vehicle_info *vehicle_get_move_info(sint32 cd, sint32 typeAndDirection, sint32 offset) { - if (!vehicle_move_info_valid(cd, typeAndDirection, offset)) { - static const rct_vehicle_info zero = { 0 }; - return &zero; - } - return &gTrackVehicleInfo[cd][typeAndDirection]->info[offset]; + if (!vehicle_move_info_valid(cd, typeAndDirection, offset)) { + static const rct_vehicle_info zero = { 0 }; + return &zero; + } + return &gTrackVehicleInfo[cd][typeAndDirection]->info[offset]; } uint16 vehicle_get_move_info_size(sint32 cd, sint32 typeAndDirection) { - if (!vehicle_move_info_valid(cd, typeAndDirection, 0)) { - return 0; - } - return gTrackVehicleInfo[cd][typeAndDirection]->size; + if (!vehicle_move_info_valid(cd, typeAndDirection, 0)) { + return 0; + } + return gTrackVehicleInfo[cd][typeAndDirection]->size; } const uint8 DoorOpenSoundIds[] = { - SOUND_DOOR_OPEN, - SOUND_62 + SOUND_DOOR_OPEN, + SOUND_62 }; const uint8 DoorCloseSoundIds[] = { - SOUND_DOOR_CLOSE, - SOUND_62 + SOUND_DOOR_CLOSE, + SOUND_62 }; static const struct { sint8 x, y, z; } SteamParticleOffsets[] = { - { -11, 0, 22 }, - { -10, 4, 22 }, - { -8, 8, 22 }, - { -4, 10, 22 }, - { 0, 11, 22 }, - { 4, 10, 22 }, - { 8, 8, 22 }, - { 10, 4, 22 }, - { 11, 0, 22 }, - { 10, -4, 22 }, - { 8, -8, 22 }, - { 4, -10, 22 }, - { 0, -11, 22 }, - { -4, -10, 22 }, - { -8, -8, 22 }, - { -10, -4, 22 }, - { -9, 0, 27 }, - { -8, 4, 27 }, - { -6, 6, 27 }, - { -4, 8, 27 }, - { 0, 9, 27 }, - { 4, 8, 27 }, - { 6, 6, 27 }, - { 8, 4, 27 }, - { 9, 0, 27 }, - { 8, -4, 27 }, - { 6, -6, 27 }, - { 4, -8, 27 }, - { 0, -9, 27 }, - { -4, -8, 27 }, - { -6, -6, 27 }, - { -8, -4, 27 }, - { -13, 0, 18 }, - { -12, 4, 17 }, - { -9, 9, 17 }, - { -4, 8, 17 }, - { 0, 13, 18 }, - { 4, 8, 17 }, - { 6, 6, 17 }, - { 8, 4, 17 }, - { 13, 0, 18 }, - { 8, -4, 17 }, - { 6, -6, 17 }, - { 4, -8, 17 }, - { 0, -13, 18 }, - { -4, -8, 17 }, - { -6, -6, 17 }, - { -8, -4, 17 } + { -11, 0, 22 }, + { -10, 4, 22 }, + { -8, 8, 22 }, + { -4, 10, 22 }, + { 0, 11, 22 }, + { 4, 10, 22 }, + { 8, 8, 22 }, + { 10, 4, 22 }, + { 11, 0, 22 }, + { 10, -4, 22 }, + { 8, -8, 22 }, + { 4, -10, 22 }, + { 0, -11, 22 }, + { -4, -10, 22 }, + { -8, -8, 22 }, + { -10, -4, 22 }, + { -9, 0, 27 }, + { -8, 4, 27 }, + { -6, 6, 27 }, + { -4, 8, 27 }, + { 0, 9, 27 }, + { 4, 8, 27 }, + { 6, 6, 27 }, + { 8, 4, 27 }, + { 9, 0, 27 }, + { 8, -4, 27 }, + { 6, -6, 27 }, + { 4, -8, 27 }, + { 0, -9, 27 }, + { -4, -8, 27 }, + { -6, -6, 27 }, + { -8, -4, 27 }, + { -13, 0, 18 }, + { -12, 4, 17 }, + { -9, 9, 17 }, + { -4, 8, 17 }, + { 0, 13, 18 }, + { 4, 8, 17 }, + { 6, 6, 17 }, + { 8, 4, 17 }, + { 13, 0, 18 }, + { 8, -4, 17 }, + { 6, -6, 17 }, + { 4, -8, 17 }, + { 0, -13, 18 }, + { -4, -8, 17 }, + { -6, -6, 17 }, + { -8, -4, 17 } }; static void vehicle_invalidate(rct_vehicle *vehicle) { - invalidate_sprite_2((rct_sprite*)vehicle); + invalidate_sprite_2((rct_sprite*)vehicle); } /** @@ -666,89 +666,89 @@ static void vehicle_invalidate(rct_vehicle *vehicle) */ static void vehicle_update_sound_params(rct_vehicle* vehicle) { - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (!(gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) || gS6Info.editor_step == EDITOR_STEP_ROLLERCOASTER_DESIGNER)) { - if (vehicle->sound1_id != (uint8)-1 || vehicle->sound2_id != (uint8)-1) { - if (vehicle->sprite_left != (sint16)(uint16)0x8000) { - sint16 x = g_music_tracking_viewport->view_x; - sint16 y = g_music_tracking_viewport->view_y; - sint16 w = g_music_tracking_viewport->view_width / 4; - sint16 h = g_music_tracking_viewport->view_height / 4; - if (!gWindowAudioExclusive->classification) { - x -= w; - y -= h; - } - if (x < vehicle->sprite_right && y < vehicle->sprite_bottom) { - sint16 w2 = g_music_tracking_viewport->view_width + x; - sint16 h2 = g_music_tracking_viewport->view_height + y; - if (!gWindowAudioExclusive->classification) { - w2 += w + w; - h2 += h + h; - } - if (w2 >= vehicle->sprite_left && h2 >= vehicle->sprite_top) { - uint16 v9 = sub_6BC2F3(vehicle); - rct_vehicle_sound_params* i; - for (i = &gVehicleSoundParamsList[0]; i < gVehicleSoundParamsListEnd && v9 <= i->var_A; i++); - if (i < &gVehicleSoundParamsList[countof(gVehicleSoundParamsList)]) { - if (gVehicleSoundParamsListEnd < &gVehicleSoundParamsList[countof(gVehicleSoundParamsList)]) { - gVehicleSoundParamsListEnd++; - } - rct_vehicle_sound_params* j = gVehicleSoundParamsListEnd - 1; - while (j > i) { - j--; - *(j + 1) = *j; - } - i->var_A = v9; - sint32 pan_x = (vehicle->sprite_left / 2) + (vehicle->sprite_right / 2) - g_music_tracking_viewport->view_x; - pan_x >>= g_music_tracking_viewport->zoom; - pan_x += g_music_tracking_viewport->x; + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (!(gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) || gS6Info.editor_step == EDITOR_STEP_ROLLERCOASTER_DESIGNER)) { + if (vehicle->sound1_id != (uint8)-1 || vehicle->sound2_id != (uint8)-1) { + if (vehicle->sprite_left != (sint16)(uint16)0x8000) { + sint16 x = g_music_tracking_viewport->view_x; + sint16 y = g_music_tracking_viewport->view_y; + sint16 w = g_music_tracking_viewport->view_width / 4; + sint16 h = g_music_tracking_viewport->view_height / 4; + if (!gWindowAudioExclusive->classification) { + x -= w; + y -= h; + } + if (x < vehicle->sprite_right && y < vehicle->sprite_bottom) { + sint16 w2 = g_music_tracking_viewport->view_width + x; + sint16 h2 = g_music_tracking_viewport->view_height + y; + if (!gWindowAudioExclusive->classification) { + w2 += w + w; + h2 += h + h; + } + if (w2 >= vehicle->sprite_left && h2 >= vehicle->sprite_top) { + uint16 v9 = sub_6BC2F3(vehicle); + rct_vehicle_sound_params* i; + for (i = &gVehicleSoundParamsList[0]; i < gVehicleSoundParamsListEnd && v9 <= i->var_A; i++); + if (i < &gVehicleSoundParamsList[countof(gVehicleSoundParamsList)]) { + if (gVehicleSoundParamsListEnd < &gVehicleSoundParamsList[countof(gVehicleSoundParamsList)]) { + gVehicleSoundParamsListEnd++; + } + rct_vehicle_sound_params* j = gVehicleSoundParamsListEnd - 1; + while (j > i) { + j--; + *(j + 1) = *j; + } + i->var_A = v9; + sint32 pan_x = (vehicle->sprite_left / 2) + (vehicle->sprite_right / 2) - g_music_tracking_viewport->view_x; + pan_x >>= g_music_tracking_viewport->zoom; + pan_x += g_music_tracking_viewport->x; - uint16 screenwidth = context_get_width(); - if (screenwidth < 64) { - screenwidth = 64; - } - i->pan_x = ((((pan_x * 65536) / screenwidth) - 0x8000) >> 4); + uint16 screenwidth = context_get_width(); + if (screenwidth < 64) { + screenwidth = 64; + } + i->pan_x = ((((pan_x * 65536) / screenwidth) - 0x8000) >> 4); - sint32 pan_y = (vehicle->sprite_top / 2) + (vehicle->sprite_bottom / 2) - g_music_tracking_viewport->view_y; - pan_y >>= g_music_tracking_viewport->zoom; - pan_y += g_music_tracking_viewport->y; + sint32 pan_y = (vehicle->sprite_top / 2) + (vehicle->sprite_bottom / 2) - g_music_tracking_viewport->view_y; + pan_y >>= g_music_tracking_viewport->zoom; + pan_y += g_music_tracking_viewport->y; - uint16 screenheight = context_get_height(); - if (screenheight < 64) { - screenheight = 64; - } - i->pan_y = ((((pan_y * 65536) / screenheight) - 0x8000) >> 4); + uint16 screenheight = context_get_height(); + if (screenheight < 64) { + screenheight = 64; + } + i->pan_y = ((((pan_y * 65536) / screenheight) - 0x8000) >> 4); - sint32 v = vehicle->velocity; + sint32 v = vehicle->velocity; - rct_ride_entry* ride_type = get_ride_entry(vehicle->ride_subtype); - uint8 test = ride_type->vehicles[vehicle->vehicle_type].var_5A; + rct_ride_entry* ride_type = get_ride_entry(vehicle->ride_subtype); + uint8 test = ride_type->vehicles[vehicle->vehicle_type].var_5A; - if (test & 1) { - v *= 2; - } - if (v < 0) { - v = -v; - } - v >>= 5; - v *= 5512; - v >>= 14; - v += 11025; - v += 16 * vehicle->var_BF; - i->frequency = (uint16)v; - i->id = vehicle->sprite_index; - i->volume = 0; - if (vehicle->x != MAP_LOCATION_NULL) { - rct_map_element* map_element = map_get_surface_element_at(vehicle->x >> 5, vehicle->y >> 5); - if (map_element != NULL && map_element->base_height * 8 > vehicle->z) { // vehicle underground - i->volume = 0x30; - } - } - } - } - } - } - } - } + if (test & 1) { + v *= 2; + } + if (v < 0) { + v = -v; + } + v >>= 5; + v *= 5512; + v >>= 14; + v += 11025; + v += 16 * vehicle->var_BF; + i->frequency = (uint16)v; + i->id = vehicle->sprite_index; + i->volume = 0; + if (vehicle->x != MAP_LOCATION_NULL) { + rct_map_element* map_element = map_get_surface_element_at(vehicle->x >> 5, vehicle->y >> 5); + if (map_element != NULL && map_element->base_height * 8 > vehicle->z) { // vehicle underground + i->volume = 0x30; + } + } + } + } + } + } + } + } } /** @@ -757,26 +757,26 @@ static void vehicle_update_sound_params(rct_vehicle* vehicle) */ sint32 sub_6BC2F3(rct_vehicle* vehicle) { - sint32 result = 0; - rct_vehicle* vehicle_temp = vehicle; - do { - result += vehicle_temp->friction; - } while (vehicle_temp->next_vehicle_on_train != (uint16)-1 && (vehicle_temp = GET_VEHICLE(vehicle_temp->next_vehicle_on_train)) != NULL); - sint32 v4 = vehicle->velocity; - if (v4 < 0) { - v4 = -v4; - } - result += ((uint16)v4) >> 13; - rct_vehicle_sound* vehicle_sound = &gVehicleSoundList[0]; + sint32 result = 0; + rct_vehicle* vehicle_temp = vehicle; + do { + result += vehicle_temp->friction; + } while (vehicle_temp->next_vehicle_on_train != (uint16)-1 && (vehicle_temp = GET_VEHICLE(vehicle_temp->next_vehicle_on_train)) != NULL); + sint32 v4 = vehicle->velocity; + if (v4 < 0) { + v4 = -v4; + } + result += ((uint16)v4) >> 13; + rct_vehicle_sound* vehicle_sound = &gVehicleSoundList[0]; - while (vehicle_sound->id != vehicle->sprite_index) { - vehicle_sound++; + while (vehicle_sound->id != vehicle->sprite_index) { + vehicle_sound++; - if (vehicle_sound >= &gVehicleSoundList[countof(gVehicleSoundList)]) { - return result; - } - } - return result + 300; + if (vehicle_sound >= &gVehicleSoundList[countof(gVehicleSoundList)]) { + return result; + } + } + return result + 300; } /** @@ -785,264 +785,264 @@ sint32 sub_6BC2F3(rct_vehicle* vehicle) */ void vehicle_sounds_update() { - if (gAudioCurrentDevice != -1 && !gGameSoundsOff && gConfigSound.sound_enabled && !gOpenRCT2Headless) { - g_music_tracking_viewport = (rct_viewport*)-1; - rct_viewport* viewport = (rct_viewport*)-1; - rct_window* window = gWindowNextSlot; - while (1) { - window--; - if (window < g_window_list) { - break; - } - viewport = window->viewport; - if (viewport && viewport->flags & VIEWPORT_FLAG_SOUND_ON) { - break; - } - } - g_music_tracking_viewport = viewport; - if (viewport != (rct_viewport*)-1) { - if (window) { - gWindowAudioExclusive = window; - gVolumeAdjustZoom = 0; - if (viewport->zoom) { - gVolumeAdjustZoom = 35; - if (viewport->zoom != 1) { - gVolumeAdjustZoom = 70; - } - } - } - gVehicleSoundParamsListEnd = &gVehicleSoundParamsList[0]; - for (uint16 i = gSpriteListHead[SPRITE_LIST_TRAIN]; i != SPRITE_INDEX_NULL; i = get_sprite(i)->vehicle.next) { - vehicle_update_sound_params(&get_sprite(i)->vehicle); - } - for(sint32 i = 0; i < countof(gVehicleSoundList); i++){ - rct_vehicle_sound* vehicle_sound = &gVehicleSoundList[i]; - if (vehicle_sound->id != (uint16)-1) { - for (rct_vehicle_sound_params* vehicle_sound_params = &gVehicleSoundParamsList[0]; vehicle_sound_params != gVehicleSoundParamsListEnd; vehicle_sound_params++) { - if (vehicle_sound->id == vehicle_sound_params->id) { - goto label26; - } - } - if (vehicle_sound->sound1_id != (uint16)-1) { - Mixer_Stop_Channel(vehicle_sound->sound1_channel); - } - if (vehicle_sound->sound2_id != (uint16)-1) { - Mixer_Stop_Channel(vehicle_sound->sound2_channel); - } - vehicle_sound->id = (uint16)-1; - } - label26: - ; - } + if (gAudioCurrentDevice != -1 && !gGameSoundsOff && gConfigSound.sound_enabled && !gOpenRCT2Headless) { + g_music_tracking_viewport = (rct_viewport*)-1; + rct_viewport* viewport = (rct_viewport*)-1; + rct_window* window = gWindowNextSlot; + while (1) { + window--; + if (window < g_window_list) { + break; + } + viewport = window->viewport; + if (viewport && viewport->flags & VIEWPORT_FLAG_SOUND_ON) { + break; + } + } + g_music_tracking_viewport = viewport; + if (viewport != (rct_viewport*)-1) { + if (window) { + gWindowAudioExclusive = window; + gVolumeAdjustZoom = 0; + if (viewport->zoom) { + gVolumeAdjustZoom = 35; + if (viewport->zoom != 1) { + gVolumeAdjustZoom = 70; + } + } + } + gVehicleSoundParamsListEnd = &gVehicleSoundParamsList[0]; + for (uint16 i = gSpriteListHead[SPRITE_LIST_TRAIN]; i != SPRITE_INDEX_NULL; i = get_sprite(i)->vehicle.next) { + vehicle_update_sound_params(&get_sprite(i)->vehicle); + } + for(sint32 i = 0; i < countof(gVehicleSoundList); i++){ + rct_vehicle_sound* vehicle_sound = &gVehicleSoundList[i]; + if (vehicle_sound->id != (uint16)-1) { + for (rct_vehicle_sound_params* vehicle_sound_params = &gVehicleSoundParamsList[0]; vehicle_sound_params != gVehicleSoundParamsListEnd; vehicle_sound_params++) { + if (vehicle_sound->id == vehicle_sound_params->id) { + goto label26; + } + } + if (vehicle_sound->sound1_id != (uint16)-1) { + Mixer_Stop_Channel(vehicle_sound->sound1_channel); + } + if (vehicle_sound->sound2_id != (uint16)-1) { + Mixer_Stop_Channel(vehicle_sound->sound2_channel); + } + vehicle_sound->id = (uint16)-1; + } + label26: + ; + } - for (rct_vehicle_sound_params* vehicle_sound_params = &gVehicleSoundParamsList[0]; ; vehicle_sound_params++) { - label28: - if (vehicle_sound_params >= gVehicleSoundParamsListEnd) { - return; - } - uint8 vol1 = 0xFF; - uint8 vol2 = 0xFF; - sint16 pan_y = vehicle_sound_params->pan_y; - if (pan_y < 0) { - pan_y = -pan_y; - } - if (pan_y > 0xFFF) { - pan_y = 0xFFF; - } - pan_y -= 0x800; - if (pan_y > 0) { - pan_y -= 0x400; - pan_y = -pan_y; - pan_y = pan_y / 4; - vol1 = LOBYTE(pan_y); - if ((sint8)HIBYTE(pan_y) != 0) { - vol1 = 0xFF; - if ((sint8)HIBYTE(pan_y) < 0) { - vol1 = 0; - } - } - } + for (rct_vehicle_sound_params* vehicle_sound_params = &gVehicleSoundParamsList[0]; ; vehicle_sound_params++) { + label28: + if (vehicle_sound_params >= gVehicleSoundParamsListEnd) { + return; + } + uint8 vol1 = 0xFF; + uint8 vol2 = 0xFF; + sint16 pan_y = vehicle_sound_params->pan_y; + if (pan_y < 0) { + pan_y = -pan_y; + } + if (pan_y > 0xFFF) { + pan_y = 0xFFF; + } + pan_y -= 0x800; + if (pan_y > 0) { + pan_y -= 0x400; + pan_y = -pan_y; + pan_y = pan_y / 4; + vol1 = LOBYTE(pan_y); + if ((sint8)HIBYTE(pan_y) != 0) { + vol1 = 0xFF; + if ((sint8)HIBYTE(pan_y) < 0) { + vol1 = 0; + } + } + } - sint16 pan_x = vehicle_sound_params->pan_x; - if (pan_x < 0) { - pan_x = -pan_x; - } - if (pan_x > 0xFFF) { - pan_x = 0xFFF; - } - pan_x -= 0x800; - if (pan_x > 0) { - pan_x -= 0x400; - pan_x = -pan_x; - pan_x = pan_x / 4; - vol2 = LOBYTE(pan_x); - if ((sint8)HIBYTE(pan_x) != 0) { - vol2 = 0xFF; - if ((sint8)HIBYTE(pan_x) < 0) { - vol2 = 0; - } - } - } + sint16 pan_x = vehicle_sound_params->pan_x; + if (pan_x < 0) { + pan_x = -pan_x; + } + if (pan_x > 0xFFF) { + pan_x = 0xFFF; + } + pan_x -= 0x800; + if (pan_x > 0) { + pan_x -= 0x400; + pan_x = -pan_x; + pan_x = pan_x / 4; + vol2 = LOBYTE(pan_x); + if ((sint8)HIBYTE(pan_x) != 0) { + vol2 = 0xFF; + if ((sint8)HIBYTE(pan_x) < 0) { + vol2 = 0; + } + } + } - if (vol1 >= vol2) { - vol1 = vol2; - } - if (vol1 < gVolumeAdjustZoom) { - vol1 = 0; - } else { - vol1 = vol1 - gVolumeAdjustZoom; - } + if (vol1 >= vol2) { + vol1 = vol2; + } + if (vol1 < gVolumeAdjustZoom) { + vol1 = 0; + } else { + vol1 = vol1 - gVolumeAdjustZoom; + } - rct_vehicle_sound* vehicle_sound = &gVehicleSoundList[0]; - while (vehicle_sound_params->id != vehicle_sound->id) { - vehicle_sound++; - if (vehicle_sound >= &gVehicleSoundList[countof(gVehicleSoundList)]) { - vehicle_sound = &gVehicleSoundList[0]; - sint32 i = 0; - while (vehicle_sound->id != (uint16)-1) { - vehicle_sound++; - i++; - if (i >= countof(gVehicleSoundList)) { - vehicle_sound_params = (rct_vehicle_sound_params*)((uintptr_t)vehicle_sound_params + 10); - goto label28; - } - } - vehicle_sound->id = vehicle_sound_params->id; - vehicle_sound->sound1_id = (uint16)-1; - vehicle_sound->sound2_id = (uint16)-1; - vehicle_sound->volume = 0x30; - break; - } - } + rct_vehicle_sound* vehicle_sound = &gVehicleSoundList[0]; + while (vehicle_sound_params->id != vehicle_sound->id) { + vehicle_sound++; + if (vehicle_sound >= &gVehicleSoundList[countof(gVehicleSoundList)]) { + vehicle_sound = &gVehicleSoundList[0]; + sint32 i = 0; + while (vehicle_sound->id != (uint16)-1) { + vehicle_sound++; + i++; + if (i >= countof(gVehicleSoundList)) { + vehicle_sound_params = (rct_vehicle_sound_params*)((uintptr_t)vehicle_sound_params + 10); + goto label28; + } + } + vehicle_sound->id = vehicle_sound_params->id; + vehicle_sound->sound1_id = (uint16)-1; + vehicle_sound->sound2_id = (uint16)-1; + vehicle_sound->volume = 0x30; + break; + } + } - sint32 tempvolume = vehicle_sound->volume; - if (tempvolume != vehicle_sound_params->volume) { - if (tempvolume < vehicle_sound_params->volume) { - tempvolume += 4; - } else { - tempvolume -= 4; - } - } - vehicle_sound->volume = tempvolume; - if (vol1 < tempvolume) { - vol1 = 0; - } else { - vol1 = vol1 - tempvolume; - } + sint32 tempvolume = vehicle_sound->volume; + if (tempvolume != vehicle_sound_params->volume) { + if (tempvolume < vehicle_sound_params->volume) { + tempvolume += 4; + } else { + tempvolume -= 4; + } + } + vehicle_sound->volume = tempvolume; + if (vol1 < tempvolume) { + vol1 = 0; + } else { + vol1 = vol1 - tempvolume; + } - // do sound1 stuff, track noise - rct_sprite* sprite = get_sprite(vehicle_sound_params->id); - sint32 volume = sprite->vehicle.sound1_volume; - volume *= vol1; - volume = volume / 8; - volume -= 0x1FFF; - if (volume < -10000) { - volume = -10000; - } - if (sprite->vehicle.sound1_id == (uint8)-1) { - if (vehicle_sound->sound1_id != (uint16)-1) { - vehicle_sound->sound1_id = -1; - Mixer_Stop_Channel(vehicle_sound->sound1_channel); - } - } else { - if (vehicle_sound->sound1_id == (uint16)-1) { - goto label69; - } - if (sprite->vehicle.sound1_id != vehicle_sound->sound1_id) { - Mixer_Stop_Channel(vehicle_sound->sound1_channel); - label69: - vehicle_sound->sound1_id = sprite->vehicle.sound1_id; - vehicle_sound->sound1_pan = vehicle_sound_params->pan_x; - vehicle_sound->sound1_volume = volume; - vehicle_sound->sound1_freq = vehicle_sound_params->frequency; - uint16 frequency = vehicle_sound_params->frequency; - if (_soundParams[sprite->vehicle.sound1_id][1] & 2) { - frequency = (frequency / 2) + 4000; - } - uint8 looping = _soundParams[sprite->vehicle.sound1_id][0]; - sint32 pan = vehicle_sound_params->pan_x; - vehicle_sound->sound1_channel = Mixer_Play_Effect(sprite->vehicle.sound1_id, looping ? MIXER_LOOP_INFINITE : MIXER_LOOP_NONE, DStoMixerVolume(volume), DStoMixerPan(pan), DStoMixerRate(frequency), 0); - goto label87; - } - if (volume != vehicle_sound->sound1_volume) { - vehicle_sound->sound1_volume = volume; - Mixer_Channel_Volume(vehicle_sound->sound1_channel, DStoMixerVolume(volume)); - } - if (vehicle_sound_params->pan_x != vehicle_sound->sound1_pan) { - vehicle_sound->sound1_pan = vehicle_sound_params->pan_x; - Mixer_Channel_Pan(vehicle_sound->sound1_channel, DStoMixerPan(vehicle_sound_params->pan_x)); - } - if (!(gCurrentTicks & 3) && vehicle_sound_params->frequency != vehicle_sound->sound1_freq) { - vehicle_sound->sound1_freq = vehicle_sound_params->frequency; - uint16 frequency = vehicle_sound_params->frequency; - if (_soundParams[sprite->vehicle.sound1_id][1] & 2) { - frequency = (frequency / 2) + 4000; - } - Mixer_Channel_Rate(vehicle_sound->sound1_channel, DStoMixerRate(frequency)); - } - } - label87: // do sound2 stuff, screams - sprite = get_sprite(vehicle_sound_params->id); - volume = sprite->vehicle.sound2_volume; - volume *= vol1; - volume = (uint16)volume / 8; - volume -= 0x1FFF; - if (volume < -10000) { - volume = -10000; - } - if (sprite->vehicle.sound2_id == (uint8)-1) { - if (vehicle_sound->sound2_id != (uint16)-1) { - vehicle_sound->sound2_id = -1; - Mixer_Stop_Channel(vehicle_sound->sound2_channel); - } - } else { - if (vehicle_sound->sound2_id == (uint16)-1) { - goto label93; - } - if (sprite->vehicle.sound2_id != vehicle_sound->sound2_id) { - Mixer_Stop_Channel(vehicle_sound->sound2_channel); - label93: - vehicle_sound->sound2_id = sprite->vehicle.sound2_id; - vehicle_sound->sound2_pan = vehicle_sound_params->pan_x; - vehicle_sound->sound2_volume = volume; - vehicle_sound->sound2_freq = vehicle_sound_params->frequency; - uint16 frequency = vehicle_sound_params->frequency; - if (_soundParams[sprite->vehicle.sound2_id][1] & 1) { - frequency = 12649; - } - frequency = (frequency * 2) - 3248; - if (frequency > 25700) { - frequency = 25700; - } - uint8 looping = _soundParams[sprite->vehicle.sound2_id][0]; - sint32 pan = vehicle_sound_params->pan_x; - vehicle_sound->sound2_channel = Mixer_Play_Effect(sprite->vehicle.sound2_id, looping ? MIXER_LOOP_INFINITE : MIXER_LOOP_NONE, DStoMixerVolume(volume), DStoMixerPan(pan), DStoMixerRate(frequency), 0); - goto label114; - } - if (volume != vehicle_sound->sound2_volume) { - Mixer_Channel_Volume(vehicle_sound->sound2_channel, DStoMixerVolume(volume)); - vehicle_sound->sound2_volume = volume; - } - if (vehicle_sound_params->pan_x != vehicle_sound->sound2_pan) { - vehicle_sound->sound2_pan = vehicle_sound_params->pan_x; - Mixer_Channel_Pan(vehicle_sound->sound2_channel, DStoMixerPan(vehicle_sound_params->pan_x)); - } - if (!(gCurrentTicks & 3) && vehicle_sound_params->frequency != vehicle_sound->sound2_freq) { - vehicle_sound->sound2_freq = vehicle_sound_params->frequency; - if (!(_soundParams[sprite->vehicle.sound2_id][1] & 1)) { - uint16 frequency = (vehicle_sound_params->frequency * 2) - 3248; - if (frequency > 25700) { - frequency = 25700; - } - Mixer_Channel_Rate(vehicle_sound->sound2_channel, DStoMixerRate(frequency)); - } - } - } - label114: - ; - } - } - } + // do sound1 stuff, track noise + rct_sprite* sprite = get_sprite(vehicle_sound_params->id); + sint32 volume = sprite->vehicle.sound1_volume; + volume *= vol1; + volume = volume / 8; + volume -= 0x1FFF; + if (volume < -10000) { + volume = -10000; + } + if (sprite->vehicle.sound1_id == (uint8)-1) { + if (vehicle_sound->sound1_id != (uint16)-1) { + vehicle_sound->sound1_id = -1; + Mixer_Stop_Channel(vehicle_sound->sound1_channel); + } + } else { + if (vehicle_sound->sound1_id == (uint16)-1) { + goto label69; + } + if (sprite->vehicle.sound1_id != vehicle_sound->sound1_id) { + Mixer_Stop_Channel(vehicle_sound->sound1_channel); + label69: + vehicle_sound->sound1_id = sprite->vehicle.sound1_id; + vehicle_sound->sound1_pan = vehicle_sound_params->pan_x; + vehicle_sound->sound1_volume = volume; + vehicle_sound->sound1_freq = vehicle_sound_params->frequency; + uint16 frequency = vehicle_sound_params->frequency; + if (_soundParams[sprite->vehicle.sound1_id][1] & 2) { + frequency = (frequency / 2) + 4000; + } + uint8 looping = _soundParams[sprite->vehicle.sound1_id][0]; + sint32 pan = vehicle_sound_params->pan_x; + vehicle_sound->sound1_channel = Mixer_Play_Effect(sprite->vehicle.sound1_id, looping ? MIXER_LOOP_INFINITE : MIXER_LOOP_NONE, DStoMixerVolume(volume), DStoMixerPan(pan), DStoMixerRate(frequency), 0); + goto label87; + } + if (volume != vehicle_sound->sound1_volume) { + vehicle_sound->sound1_volume = volume; + Mixer_Channel_Volume(vehicle_sound->sound1_channel, DStoMixerVolume(volume)); + } + if (vehicle_sound_params->pan_x != vehicle_sound->sound1_pan) { + vehicle_sound->sound1_pan = vehicle_sound_params->pan_x; + Mixer_Channel_Pan(vehicle_sound->sound1_channel, DStoMixerPan(vehicle_sound_params->pan_x)); + } + if (!(gCurrentTicks & 3) && vehicle_sound_params->frequency != vehicle_sound->sound1_freq) { + vehicle_sound->sound1_freq = vehicle_sound_params->frequency; + uint16 frequency = vehicle_sound_params->frequency; + if (_soundParams[sprite->vehicle.sound1_id][1] & 2) { + frequency = (frequency / 2) + 4000; + } + Mixer_Channel_Rate(vehicle_sound->sound1_channel, DStoMixerRate(frequency)); + } + } + label87: // do sound2 stuff, screams + sprite = get_sprite(vehicle_sound_params->id); + volume = sprite->vehicle.sound2_volume; + volume *= vol1; + volume = (uint16)volume / 8; + volume -= 0x1FFF; + if (volume < -10000) { + volume = -10000; + } + if (sprite->vehicle.sound2_id == (uint8)-1) { + if (vehicle_sound->sound2_id != (uint16)-1) { + vehicle_sound->sound2_id = -1; + Mixer_Stop_Channel(vehicle_sound->sound2_channel); + } + } else { + if (vehicle_sound->sound2_id == (uint16)-1) { + goto label93; + } + if (sprite->vehicle.sound2_id != vehicle_sound->sound2_id) { + Mixer_Stop_Channel(vehicle_sound->sound2_channel); + label93: + vehicle_sound->sound2_id = sprite->vehicle.sound2_id; + vehicle_sound->sound2_pan = vehicle_sound_params->pan_x; + vehicle_sound->sound2_volume = volume; + vehicle_sound->sound2_freq = vehicle_sound_params->frequency; + uint16 frequency = vehicle_sound_params->frequency; + if (_soundParams[sprite->vehicle.sound2_id][1] & 1) { + frequency = 12649; + } + frequency = (frequency * 2) - 3248; + if (frequency > 25700) { + frequency = 25700; + } + uint8 looping = _soundParams[sprite->vehicle.sound2_id][0]; + sint32 pan = vehicle_sound_params->pan_x; + vehicle_sound->sound2_channel = Mixer_Play_Effect(sprite->vehicle.sound2_id, looping ? MIXER_LOOP_INFINITE : MIXER_LOOP_NONE, DStoMixerVolume(volume), DStoMixerPan(pan), DStoMixerRate(frequency), 0); + goto label114; + } + if (volume != vehicle_sound->sound2_volume) { + Mixer_Channel_Volume(vehicle_sound->sound2_channel, DStoMixerVolume(volume)); + vehicle_sound->sound2_volume = volume; + } + if (vehicle_sound_params->pan_x != vehicle_sound->sound2_pan) { + vehicle_sound->sound2_pan = vehicle_sound_params->pan_x; + Mixer_Channel_Pan(vehicle_sound->sound2_channel, DStoMixerPan(vehicle_sound_params->pan_x)); + } + if (!(gCurrentTicks & 3) && vehicle_sound_params->frequency != vehicle_sound->sound2_freq) { + vehicle_sound->sound2_freq = vehicle_sound_params->frequency; + if (!(_soundParams[sprite->vehicle.sound2_id][1] & 1)) { + uint16 frequency = (vehicle_sound_params->frequency * 2) - 3248; + if (frequency > 25700) { + frequency = 25700; + } + Mixer_Channel_Rate(vehicle_sound->sound2_channel, DStoMixerRate(frequency)); + } + } + } + label114: + ; + } + } + } } /** @@ -1051,23 +1051,23 @@ void vehicle_sounds_update() */ void vehicle_update_all() { - uint16 sprite_index; - rct_vehicle *vehicle; + uint16 sprite_index; + rct_vehicle *vehicle; - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) - return; + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) + return; - if ((gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) - return; + if ((gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) + return; - sprite_index = gSpriteListHead[SPRITE_LIST_TRAIN]; - while (sprite_index != SPRITE_INDEX_NULL) { - vehicle = &(get_sprite(sprite_index)->vehicle); - sprite_index = vehicle->next; + sprite_index = gSpriteListHead[SPRITE_LIST_TRAIN]; + while (sprite_index != SPRITE_INDEX_NULL) { + vehicle = &(get_sprite(sprite_index)->vehicle); + sprite_index = vehicle->next; - vehicle_update(vehicle); - } + vehicle_update(vehicle); + } } /** @@ -1076,50 +1076,50 @@ void vehicle_update_all() * @returns 0 when all closed */ static sint32 vehicle_close_restraints(rct_vehicle* vehicle){ - rct_ride* ride = get_ride(vehicle->ride); - sint32 ebp = 0; - uint16 vehicle_id = vehicle->sprite_index; + rct_ride* ride = get_ride(vehicle->ride); + sint32 ebp = 0; + uint16 vehicle_id = vehicle->sprite_index; - do { - vehicle = GET_VEHICLE(vehicle_id); - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_BROKEN_CAR && - vehicle->restraints_position != 0 && - ( - ride->breakdown_reason_pending == BREAKDOWN_RESTRAINTS_STUCK_OPEN || - ride->breakdown_reason_pending == BREAKDOWN_DOORS_STUCK_OPEN) - ){ + do { + vehicle = GET_VEHICLE(vehicle_id); + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_BROKEN_CAR && + vehicle->restraints_position != 0 && + ( + ride->breakdown_reason_pending == BREAKDOWN_RESTRAINTS_STUCK_OPEN || + ride->breakdown_reason_pending == BREAKDOWN_DOORS_STUCK_OPEN) + ){ - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)){ + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)){ - ride->lifecycle_flags |= RIDE_LIFECYCLE_BROKEN_DOWN; + ride->lifecycle_flags |= RIDE_LIFECYCLE_BROKEN_DOWN; - ride_breakdown_add_news_item(vehicle->ride); + ride_breakdown_add_news_item(vehicle->ride); - ride->window_invalidate_flags |= - RIDE_INVALIDATE_RIDE_MAIN | - RIDE_INVALIDATE_RIDE_LIST | - RIDE_INVALIDATE_RIDE_MAINTENANCE; + ride->window_invalidate_flags |= + RIDE_INVALIDATE_RIDE_MAIN | + RIDE_INVALIDATE_RIDE_LIST | + RIDE_INVALIDATE_RIDE_MAINTENANCE; - ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; + ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; - rct_vehicle* broken_vehicle = GET_VEHICLE(ride->vehicles[ride->broken_vehicle]); - ride->inspection_station = broken_vehicle->current_station; + rct_vehicle* broken_vehicle = GET_VEHICLE(ride->vehicles[ride->broken_vehicle]); + ride->inspection_station = broken_vehicle->current_station; - ride->breakdown_reason = ride->breakdown_reason_pending; - } - } - else{ - if (vehicle->restraints_position - 20 < 0){ - vehicle->restraints_position = 0; - continue; - } - vehicle->restraints_position -= 20; - } - vehicle_invalidate(vehicle); - ebp++; - } while ((vehicle_id = vehicle->next_vehicle_on_train) != SPRITE_INDEX_NULL); + ride->breakdown_reason = ride->breakdown_reason_pending; + } + } + else{ + if (vehicle->restraints_position - 20 < 0){ + vehicle->restraints_position = 0; + continue; + } + vehicle->restraints_position -= 20; + } + vehicle_invalidate(vehicle); + ebp++; + } while ((vehicle_id = vehicle->next_vehicle_on_train) != SPRITE_INDEX_NULL); - return ebp; + return ebp; } /** @@ -1128,97 +1128,97 @@ static sint32 vehicle_close_restraints(rct_vehicle* vehicle){ * @returns 0 when all open */ static sint32 vehicle_open_restraints(rct_vehicle* vehicle){ - sint32 ebp = 0; - uint16 vehicle_id = vehicle->sprite_index; + sint32 ebp = 0; + uint16 vehicle_id = vehicle->sprite_index; - do { - vehicle = GET_VEHICLE(vehicle_id); + do { + vehicle = GET_VEHICLE(vehicle_id); - vehicle->swinging_car_var_0 = 0; - vehicle->var_4E = 0; - vehicle->var_4A = 0; + vehicle->swinging_car_var_0 = 0; + vehicle->var_4E = 0; + vehicle->var_4A = 0; - rct_ride* ride = get_ride(vehicle->ride); - rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; + rct_ride* ride = get_ride(vehicle->ride); + rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SPINNING) { - if (abs(vehicle->var_B6) <= 700 && - !(vehicle->var_BA & 0x30) && - ( - !(vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_14) || - !(vehicle->var_BA & 0xF8)) - ){ - vehicle->var_B6 = 0; - } - else { - ebp++; + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SPINNING) { + if (abs(vehicle->var_B6) <= 700 && + !(vehicle->var_BA & 0x30) && + ( + !(vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_14) || + !(vehicle->var_BA & 0xF8)) + ){ + vehicle->var_B6 = 0; + } + else { + ebp++; - if (abs(vehicle->var_B6) < 600) { - vehicle->var_B6 = 600; - } - sint16 value = vehicle->var_B6 / 256; - vehicle->var_BA += value; - vehicle->var_B6 -= value; + if (abs(vehicle->var_B6) < 600) { + vehicle->var_B6 = 600; + } + sint16 value = vehicle->var_B6 / 256; + vehicle->var_BA += value; + vehicle->var_B6 -= value; - vehicle_invalidate(vehicle); - continue; - } - } - if (vehicleEntry->var_11 == 6 && - vehicle->var_C5 != 0){ + vehicle_invalidate(vehicle); + continue; + } + } + if (vehicleEntry->var_11 == 6 && + vehicle->var_C5 != 0){ - if (vehicle->var_C8 + 0x3333 < 0xFFFF){ - vehicle->var_C8 = vehicle->var_C8 + 0x3333 - 0xFFFF; - vehicle->var_C5++; - vehicle->var_C5 &= 7; - vehicle_invalidate(vehicle); - } - else{ - vehicle->var_C8 += 0x3333; - } - ebp++; - continue; - } + if (vehicle->var_C8 + 0x3333 < 0xFFFF){ + vehicle->var_C8 = vehicle->var_C8 + 0x3333 - 0xFFFF; + vehicle->var_C5++; + vehicle->var_C5 &= 7; + vehicle_invalidate(vehicle); + } + else{ + vehicle->var_C8 += 0x3333; + } + ebp++; + continue; + } - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_BROKEN_CAR && - vehicle->restraints_position != 0xFF && - ( - ride->breakdown_reason_pending == BREAKDOWN_RESTRAINTS_STUCK_CLOSED || - ride->breakdown_reason_pending == BREAKDOWN_DOORS_STUCK_CLOSED) - ){ + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_BROKEN_CAR && + vehicle->restraints_position != 0xFF && + ( + ride->breakdown_reason_pending == BREAKDOWN_RESTRAINTS_STUCK_CLOSED || + ride->breakdown_reason_pending == BREAKDOWN_DOORS_STUCK_CLOSED) + ){ - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)){ + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)){ - ride->lifecycle_flags |= RIDE_LIFECYCLE_BROKEN_DOWN; + ride->lifecycle_flags |= RIDE_LIFECYCLE_BROKEN_DOWN; - ride_breakdown_add_news_item(vehicle->ride); + ride_breakdown_add_news_item(vehicle->ride); - ride->window_invalidate_flags |= - RIDE_INVALIDATE_RIDE_MAIN | - RIDE_INVALIDATE_RIDE_LIST | - RIDE_INVALIDATE_RIDE_MAINTENANCE; + ride->window_invalidate_flags |= + RIDE_INVALIDATE_RIDE_MAIN | + RIDE_INVALIDATE_RIDE_LIST | + RIDE_INVALIDATE_RIDE_MAINTENANCE; - ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; + ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; - rct_vehicle* broken_vehicle = GET_VEHICLE(ride->vehicles[ride->broken_vehicle]); - ride->inspection_station = broken_vehicle->current_station; + rct_vehicle* broken_vehicle = GET_VEHICLE(ride->vehicles[ride->broken_vehicle]); + ride->inspection_station = broken_vehicle->current_station; - ride->breakdown_reason = ride->breakdown_reason_pending; - } - } - else{ - if (vehicle->restraints_position + 20 > 0xFF){ - vehicle->restraints_position = 255; - continue; - } - vehicle->restraints_position += 20; - } - vehicle_invalidate(vehicle); - ebp++; - } while ((vehicle_id = vehicle->next_vehicle_on_train) != SPRITE_INDEX_NULL); + ride->breakdown_reason = ride->breakdown_reason_pending; + } + } + else{ + if (vehicle->restraints_position + 20 > 0xFF){ + vehicle->restraints_position = 255; + continue; + } + vehicle->restraints_position += 20; + } + vehicle_invalidate(vehicle); + ebp++; + } while ((vehicle_id = vehicle->next_vehicle_on_train) != SPRITE_INDEX_NULL); - return ebp; + return ebp; } /** @@ -1227,346 +1227,346 @@ static sint32 vehicle_open_restraints(rct_vehicle* vehicle){ */ static void vehicle_update_measurements(rct_vehicle *vehicle) { - rct_ride *ride; + rct_ride *ride; - ride = get_ride(vehicle->ride); + ride = get_ride(vehicle->ride); - if (vehicle->status == VEHICLE_STATUS_TRAVELLING_BOAT){ - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_TEST_IN_PROGRESS; - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_TESTING; - window_invalidate_by_number(WC_RIDE, vehicle->ride); - return; - } + if (vehicle->status == VEHICLE_STATUS_TRAVELLING_BOAT){ + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS; + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_TEST_IN_PROGRESS; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_TESTING; + window_invalidate_by_number(WC_RIDE, vehicle->ride); + return; + } - uint8 stationId = ride->current_test_station; - if (ride->entrances[stationId] != 0xFFFF){ - uint8 test_segment = ride->current_test_segment; + uint8 stationId = ride->current_test_station; + if (ride->entrances[stationId] != 0xFFFF){ + uint8 test_segment = ride->current_test_segment; - ride->average_speed_test_timeout++; - if (ride->average_speed_test_timeout >= 32)ride->average_speed_test_timeout = 0; + ride->average_speed_test_timeout++; + if (ride->average_speed_test_timeout >= 32)ride->average_speed_test_timeout = 0; - sint32 velocity = abs(vehicle->velocity); - if (velocity > ride->max_speed){ - ride->max_speed = velocity; - } + sint32 velocity = abs(vehicle->velocity); + if (velocity > ride->max_speed){ + ride->max_speed = velocity; + } - if (ride->average_speed_test_timeout == 0 && velocity > 0x8000){ - ride->average_speed = add_clamp_sint32(ride->average_speed, velocity); - ride->time[test_segment]++; - } + if (ride->average_speed_test_timeout == 0 && velocity > 0x8000){ + ride->average_speed = add_clamp_sint32(ride->average_speed, velocity); + ride->time[test_segment]++; + } - sint32 distance = abs(((vehicle->velocity + vehicle->acceleration) >> 10) * 42); - if (vehicle->var_CE == 0){ - ride->length[test_segment] = add_clamp_sint32(ride->length[test_segment], distance); - } + sint32 distance = abs(((vehicle->velocity + vehicle->acceleration) >> 10) * 42); + if (vehicle->var_CE == 0){ + ride->length[test_segment] = add_clamp_sint32(ride->length[test_segment], distance); + } - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_G_FORCES)){ - sint32 vertical_g, lateral_g; - vehicle_get_g_forces(vehicle, &vertical_g, &lateral_g); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_G_FORCES)){ + sint32 vertical_g, lateral_g; + vehicle_get_g_forces(vehicle, &vertical_g, &lateral_g); - vertical_g += ride->previous_vertical_g; - lateral_g += ride->previous_lateral_g; - vertical_g >>= 1; - lateral_g >>= 1; + vertical_g += ride->previous_vertical_g; + lateral_g += ride->previous_lateral_g; + vertical_g >>= 1; + lateral_g >>= 1; - ride->previous_vertical_g = vertical_g; - ride->previous_lateral_g = lateral_g; + ride->previous_vertical_g = vertical_g; + ride->previous_lateral_g = lateral_g; - if (vertical_g <= 0){ - ride->total_air_time++; - } + if (vertical_g <= 0){ + ride->total_air_time++; + } - if (vertical_g > ride->max_positive_vertical_g) - ride->max_positive_vertical_g = vertical_g; + if (vertical_g > ride->max_positive_vertical_g) + ride->max_positive_vertical_g = vertical_g; - if (vertical_g < ride->max_negative_vertical_g) - ride->max_negative_vertical_g = vertical_g; + if (vertical_g < ride->max_negative_vertical_g) + ride->max_negative_vertical_g = vertical_g; - lateral_g = abs(lateral_g); + lateral_g = abs(lateral_g); - if (lateral_g > ride->max_lateral_g) - ride->max_lateral_g = lateral_g; - } - } + if (lateral_g > ride->max_lateral_g) + ride->max_lateral_g = lateral_g; + } + } - // If we have already evaluated this track piece skip to next section - uint16 map_location = (vehicle->track_x / 32) | ((vehicle->track_y / 32) << 8); - if (vehicle->track_z / 8 != ride->cur_test_track_z || map_location != ride->cur_test_track_location.xy){ - ride->cur_test_track_z = vehicle->track_z / 8; - ride->cur_test_track_location.xy = map_location; + // If we have already evaluated this track piece skip to next section + uint16 map_location = (vehicle->track_x / 32) | ((vehicle->track_y / 32) << 8); + if (vehicle->track_z / 8 != ride->cur_test_track_z || map_location != ride->cur_test_track_location.xy){ + ride->cur_test_track_z = vehicle->track_z / 8; + ride->cur_test_track_location.xy = map_location; - if (ride->entrances[ride->current_test_station] == 0xFFFF) - return; + if (ride->entrances[ride->current_test_station] == 0xFFFF) + return; - uint16 track_elem_type = vehicle->track_type / 4; - 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){ - ride->drops += 64; - } - } - } - else{ - ride->testing_flags &= ~RIDE_TESTING_POWERED_LIFT; - } + uint16 track_elem_type = vehicle->track_type / 4; + 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){ + ride->drops += 64; + } + } + } + else{ + ride->testing_flags &= ~RIDE_TESTING_POWERED_LIFT; + } - if (ride->type == RIDE_TYPE_WATER_COASTER){ - if (track_elem_type >= TRACK_ELEM_FLAT_COVERED && track_elem_type <= TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED){ - ride->special_track_elements |= RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; - } - } + if (ride->type == RIDE_TYPE_WATER_COASTER){ + if (track_elem_type >= TRACK_ELEM_FLAT_COVERED && track_elem_type <= TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED){ + ride->special_track_elements |= RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; + } + } - switch (track_elem_type) - { - case TRACK_ELEM_RAPIDS: - case TRACK_ELEM_SPINNING_TUNNEL: - ride->special_track_elements |= RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; - break; - case TRACK_ELEM_WATERFALL: - case TRACK_ELEM_LOG_FLUME_REVERSER: - ride->special_track_elements |= RIDE_ELEMENT_REVERSER_OR_WATERFALL; - break; - case TRACK_ELEM_WHIRLPOOL: - ride->special_track_elements |= RIDE_ELEMENT_WHIRLPOOL; - break; - case TRACK_ELEM_WATER_SPLASH: - if (vehicle->velocity >= 0xB0000){ - ride->special_track_elements |= RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; - } - } + switch (track_elem_type) + { + case TRACK_ELEM_RAPIDS: + case TRACK_ELEM_SPINNING_TUNNEL: + ride->special_track_elements |= RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; + break; + case TRACK_ELEM_WATERFALL: + case TRACK_ELEM_LOG_FLUME_REVERSER: + ride->special_track_elements |= RIDE_ELEMENT_REVERSER_OR_WATERFALL; + break; + case TRACK_ELEM_WHIRLPOOL: + ride->special_track_elements |= RIDE_ELEMENT_WHIRLPOOL; + break; + case TRACK_ELEM_WATER_SPLASH: + if (vehicle->velocity >= 0xB0000){ + ride->special_track_elements |= RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; + } + } - // ax - uint16 track_flags = TrackFlags[track_elem_type]; + // ax + uint16 track_flags = TrackFlags[track_elem_type]; - uint32 testing_flags = ride->testing_flags; - if (testing_flags & RIDE_TESTING_TURN_LEFT && - track_flags & TRACK_ELEM_FLAG_TURN_LEFT){ - // 0x800 as this is masked to CURRENT_TURN_COUNT_MASK - ride->turn_count_default += 0x800; - } - else if (testing_flags & RIDE_TESTING_TURN_RIGHT && - track_flags & TRACK_ELEM_FLAG_TURN_RIGHT){ - // 0x800 as this is masked to CURRENT_TURN_COUNT_MASK - ride->turn_count_default += 0x800; - } - else if (testing_flags & RIDE_TESTING_TURN_RIGHT || - testing_flags & RIDE_TESTING_TURN_LEFT){ + uint32 testing_flags = ride->testing_flags; + if (testing_flags & RIDE_TESTING_TURN_LEFT && + track_flags & TRACK_ELEM_FLAG_TURN_LEFT){ + // 0x800 as this is masked to CURRENT_TURN_COUNT_MASK + ride->turn_count_default += 0x800; + } + else if (testing_flags & RIDE_TESTING_TURN_RIGHT && + track_flags & TRACK_ELEM_FLAG_TURN_RIGHT){ + // 0x800 as this is masked to CURRENT_TURN_COUNT_MASK + ride->turn_count_default += 0x800; + } + else if (testing_flags & RIDE_TESTING_TURN_RIGHT || + testing_flags & RIDE_TESTING_TURN_LEFT){ - ride->testing_flags &= ~( - RIDE_TESTING_TURN_LEFT | - RIDE_TESTING_TURN_RIGHT | - RIDE_TESTING_TURN_BANKED | - RIDE_TESTING_TURN_SLOPED); + ride->testing_flags &= ~( + RIDE_TESTING_TURN_LEFT | + RIDE_TESTING_TURN_RIGHT | + RIDE_TESTING_TURN_BANKED | + RIDE_TESTING_TURN_SLOPED); - uint8 turn_type = 1; - if (!(testing_flags & RIDE_TESTING_TURN_BANKED)){ - turn_type = 2; - if (!(testing_flags & RIDE_TESTING_TURN_SLOPED)){ - turn_type = 0; - } - } - switch (ride->turn_count_default >> 11){ - case 0: - increment_turn_count_1_element(ride, turn_type); - break; - case 1: - increment_turn_count_2_elements(ride, turn_type); - break; - case 2: - increment_turn_count_3_elements(ride, turn_type); - break; - default: - increment_turn_count_4_plus_elements(ride, turn_type); - break; - } - } - else { - if (track_flags & TRACK_ELEM_FLAG_TURN_LEFT){ - ride->testing_flags |= RIDE_TESTING_TURN_LEFT; - ride->turn_count_default &= ~CURRENT_TURN_COUNT_MASK; + uint8 turn_type = 1; + if (!(testing_flags & RIDE_TESTING_TURN_BANKED)){ + turn_type = 2; + if (!(testing_flags & RIDE_TESTING_TURN_SLOPED)){ + turn_type = 0; + } + } + switch (ride->turn_count_default >> 11){ + case 0: + increment_turn_count_1_element(ride, turn_type); + break; + case 1: + increment_turn_count_2_elements(ride, turn_type); + break; + case 2: + increment_turn_count_3_elements(ride, turn_type); + break; + default: + increment_turn_count_4_plus_elements(ride, turn_type); + break; + } + } + else { + if (track_flags & TRACK_ELEM_FLAG_TURN_LEFT){ + ride->testing_flags |= RIDE_TESTING_TURN_LEFT; + ride->turn_count_default &= ~CURRENT_TURN_COUNT_MASK; - if (track_flags & TRACK_ELEM_FLAG_TURN_BANKED){ - ride->testing_flags |= RIDE_TESTING_TURN_BANKED; - } - if (track_flags & TRACK_ELEM_FLAG_TURN_SLOPED){ - ride->testing_flags |= RIDE_TESTING_TURN_SLOPED; - } - } + if (track_flags & TRACK_ELEM_FLAG_TURN_BANKED){ + ride->testing_flags |= RIDE_TESTING_TURN_BANKED; + } + if (track_flags & TRACK_ELEM_FLAG_TURN_SLOPED){ + ride->testing_flags |= RIDE_TESTING_TURN_SLOPED; + } + } - if (track_flags & TRACK_ELEM_FLAG_TURN_RIGHT){ - ride->testing_flags |= RIDE_TESTING_TURN_RIGHT; - ride->turn_count_default &= ~CURRENT_TURN_COUNT_MASK; + if (track_flags & TRACK_ELEM_FLAG_TURN_RIGHT){ + ride->testing_flags |= RIDE_TESTING_TURN_RIGHT; + ride->turn_count_default &= ~CURRENT_TURN_COUNT_MASK; - if (track_flags & TRACK_ELEM_FLAG_TURN_BANKED){ - ride->testing_flags |= RIDE_TESTING_TURN_BANKED; - } - if (track_flags & TRACK_ELEM_FLAG_TURN_SLOPED){ - ride->testing_flags |= RIDE_TESTING_TURN_SLOPED; - } - } - } + if (track_flags & TRACK_ELEM_FLAG_TURN_BANKED){ + ride->testing_flags |= RIDE_TESTING_TURN_BANKED; + } + if (track_flags & TRACK_ELEM_FLAG_TURN_SLOPED){ + ride->testing_flags |= RIDE_TESTING_TURN_SLOPED; + } + } + } - if (testing_flags & RIDE_TESTING_DROP_DOWN){ - if (vehicle->velocity < 0 || !(track_flags & TRACK_ELEM_FLAG_DOWN)){ - ride->testing_flags &= ~RIDE_TESTING_DROP_DOWN; + if (testing_flags & RIDE_TESTING_DROP_DOWN){ + if (vehicle->velocity < 0 || !(track_flags & TRACK_ELEM_FLAG_DOWN)){ + ride->testing_flags &= ~RIDE_TESTING_DROP_DOWN; - sint16 z = vehicle->z / 8 - ride->start_drop_height; - if (z < 0){ - z = abs(z); - if (z > ride->highest_drop_height){ - ride->highest_drop_height = (uint8)z; - } - } - } - } - else if (track_flags & TRACK_ELEM_FLAG_DOWN && vehicle->velocity >= 0){ - ride->testing_flags &= ~RIDE_TESTING_DROP_UP; - ride->testing_flags |= RIDE_TESTING_DROP_DOWN; + sint16 z = vehicle->z / 8 - ride->start_drop_height; + if (z < 0){ + z = abs(z); + if (z > ride->highest_drop_height){ + ride->highest_drop_height = (uint8)z; + } + } + } + } + else if (track_flags & TRACK_ELEM_FLAG_DOWN && vehicle->velocity >= 0){ + ride->testing_flags &= ~RIDE_TESTING_DROP_UP; + ride->testing_flags |= RIDE_TESTING_DROP_DOWN; - uint8 drops = ride->drops & 0x3F; - if (drops != 0x3F) - drops++; - ride->drops &= ~0x3F; - ride->drops |= drops; + uint8 drops = ride->drops & 0x3F; + if (drops != 0x3F) + drops++; + ride->drops &= ~0x3F; + ride->drops |= drops; - ride->start_drop_height = vehicle->z / 8; - testing_flags &= ~RIDE_TESTING_DROP_UP; - } + ride->start_drop_height = vehicle->z / 8; + testing_flags &= ~RIDE_TESTING_DROP_UP; + } - if (testing_flags & RIDE_TESTING_DROP_UP){ - if (vehicle->velocity > 0 || !(track_flags & TRACK_ELEM_FLAG_UP)){ - ride->testing_flags &= ~RIDE_TESTING_DROP_UP; + if (testing_flags & RIDE_TESTING_DROP_UP){ + if (vehicle->velocity > 0 || !(track_flags & TRACK_ELEM_FLAG_UP)){ + ride->testing_flags &= ~RIDE_TESTING_DROP_UP; - sint16 z = vehicle->z / 8 - ride->start_drop_height; - if (z < 0){ - z = abs(z); - if (z > ride->highest_drop_height){ - ride->highest_drop_height = (uint8)z; - } - } - } - } - else if (track_flags & TRACK_ELEM_FLAG_UP && vehicle->velocity <= 0){ - ride->testing_flags &= ~RIDE_TESTING_DROP_DOWN; - ride->testing_flags |= RIDE_TESTING_DROP_UP; + sint16 z = vehicle->z / 8 - ride->start_drop_height; + if (z < 0){ + z = abs(z); + if (z > ride->highest_drop_height){ + ride->highest_drop_height = (uint8)z; + } + } + } + } + else if (track_flags & TRACK_ELEM_FLAG_UP && vehicle->velocity <= 0){ + ride->testing_flags &= ~RIDE_TESTING_DROP_DOWN; + ride->testing_flags |= RIDE_TESTING_DROP_UP; - uint8 drops = ride->drops & 0x3F; - if (drops != 0x3F) - drops++; - ride->drops &= ~0x3F; - ride->drops |= drops; + uint8 drops = ride->drops & 0x3F; + if (drops != 0x3F) + drops++; + ride->drops &= ~0x3F; + ride->drops |= drops; - ride->start_drop_height = vehicle->z / 8; - } + ride->start_drop_height = vehicle->z / 8; + } - if (track_flags & TRACK_ELEM_FLAG_INVERSION){ - uint8 inversions = ride->inversions & 0x1F; - if (inversions != 0x1F) - inversions++; + if (track_flags & TRACK_ELEM_FLAG_INVERSION){ + uint8 inversions = ride->inversions & 0x1F; + if (inversions != 0x1F) + inversions++; - ride->inversions &= ~0x1F; - ride->inversions |= inversions; - } + ride->inversions &= ~0x1F; + ride->inversions |= inversions; + } - if (track_flags & TRACK_ELEM_FLAG_HELIX){ - uint8 helixes = ride_get_helix_sections(ride); - if (helixes != 0x1F) - helixes++; + if (track_flags & TRACK_ELEM_FLAG_HELIX){ + uint8 helixes = ride_get_helix_sections(ride); + if (helixes != 0x1F) + helixes++; - ride->special_track_elements &= ~0x1F; - ride->special_track_elements |= helixes; - } + ride->special_track_elements &= ~0x1F; + ride->special_track_elements |= helixes; + } - } + } - if (ride->entrances[ride->current_test_station] == 0xFFFF) - return; + if (ride->entrances[ride->current_test_station] == 0xFFFF) + return; - sint16 x, y; - x = vehicle->x; - y = vehicle->y; + sint16 x, y; + x = vehicle->x; + y = vehicle->y; - if (x == SPRITE_LOCATION_NULL){ - ride->testing_flags &= ~RIDE_TESTING_SHELTERED; - return; - } + if (x == SPRITE_LOCATION_NULL){ + ride->testing_flags &= ~RIDE_TESTING_SHELTERED; + return; + } - rct_map_element* map_element = map_get_surface_element_at(x / 32, y / 32); - if (map_element->base_height * 8 <= vehicle->z){ + rct_map_element* map_element = map_get_surface_element_at(x / 32, y / 32); + if (map_element->base_height * 8 <= vehicle->z){ - bool cover_found = false; - do{ - if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { - cover_found = true; - break; - } + bool cover_found = false; + do{ + if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { + cover_found = true; + break; + } - if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH) { - cover_found = true; - break; - } + if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_PATH) { + cover_found = true; + break; + } - if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_SCENERY) - continue; + if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_SCENERY) + continue; - rct_scenery_entry* scenery = get_small_scenery_entry(map_element->properties.scenery.type); - if (scenery->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE) { - cover_found = true; - break; - } - } while (!map_element_is_last_for_tile(map_element++)); + rct_scenery_entry* scenery = get_small_scenery_entry(map_element->properties.scenery.type); + if (scenery->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE) { + cover_found = true; + break; + } + } while (!map_element_is_last_for_tile(map_element++)); - if (cover_found == false) { - ride->testing_flags &= ~RIDE_TESTING_SHELTERED; - return; - } - } + if (cover_found == false) { + ride->testing_flags &= ~RIDE_TESTING_SHELTERED; + return; + } + } - if (!(ride->testing_flags & RIDE_TESTING_SHELTERED)){ - ride->testing_flags |= RIDE_TESTING_SHELTERED; + if (!(ride->testing_flags & RIDE_TESTING_SHELTERED)){ + ride->testing_flags |= RIDE_TESTING_SHELTERED; - uint8 num_sheltered_sections = ride->num_sheltered_sections & 0x1F; - if (num_sheltered_sections != 0x1F) - num_sheltered_sections++; - ride->num_sheltered_sections &= ~0x1F; - ride->num_sheltered_sections |= num_sheltered_sections; + uint8 num_sheltered_sections = ride->num_sheltered_sections & 0x1F; + if (num_sheltered_sections != 0x1F) + num_sheltered_sections++; + ride->num_sheltered_sections &= ~0x1F; + ride->num_sheltered_sections |= num_sheltered_sections; - if (vehicle->vehicle_sprite_type != 0){ - ride->num_sheltered_sections |= (1 << 5); - } + if (vehicle->vehicle_sprite_type != 0){ + ride->num_sheltered_sections |= (1 << 5); + } - if (vehicle->bank_rotation != 0){ - ride->num_sheltered_sections |= (1 << 6); - } - } + if (vehicle->bank_rotation != 0){ + ride->num_sheltered_sections |= (1 << 6); + } + } - sint32 distance = ((vehicle->velocity + vehicle->acceleration) >> 10) * 42; - if (distance < 0)return; + sint32 distance = ((vehicle->velocity + vehicle->acceleration) >> 10) * 42; + if (distance < 0)return; - ride->sheltered_length = add_clamp_sint32(ride->sheltered_length, distance); + ride->sheltered_length = add_clamp_sint32(ride->sheltered_length, distance); } static uint16 sub_6D7AC0(sint32 currentSoundId, sint32 currentVolume, sint32 targetSoundId, sint32 targetVolume) { - if (currentSoundId != 255) { - if (currentSoundId == targetSoundId) { - currentVolume = min(currentVolume + 15, targetVolume); - return (currentVolume << 8) | currentSoundId; - } else { - currentVolume -= 9; - if (currentVolume >= 80) - return (currentVolume << 8) | currentSoundId; - } - } + if (currentSoundId != 255) { + if (currentSoundId == targetSoundId) { + currentVolume = min(currentVolume + 15, targetVolume); + return (currentVolume << 8) | currentSoundId; + } else { + currentVolume -= 9; + if (currentVolume >= 80) + return (currentVolume << 8) | currentSoundId; + } + } - // Begin sound at quarter volume - currentSoundId = targetSoundId; - currentVolume = targetVolume == 255 ? 255 : targetVolume / 4; + // Begin sound at quarter volume + currentSoundId = targetSoundId; + currentVolume = targetVolume == 255 ? 255 : targetVolume / 4; - return (currentVolume << 8) | currentSoundId; + return (currentVolume << 8) | currentSoundId; } /** @@ -1575,108 +1575,108 @@ static uint16 sub_6D7AC0(sint32 currentSoundId, sint32 currentVolume, sint32 tar */ static void vehicle_update(rct_vehicle *vehicle) { - rct_ride *ride; - rct_ride_entry *rideEntry; + rct_ride *ride; + rct_ride_entry *rideEntry; - // The cable lift uses the ride type of NULL - if (vehicle->ride_subtype == RIDE_TYPE_NULL) { - cable_lift_update(vehicle); - return; - } + // The cable lift uses the ride type of NULL + if (vehicle->ride_subtype == RIDE_TYPE_NULL) { + cable_lift_update(vehicle); + return; + } - rideEntry = get_ride_entry(vehicle->ride_subtype); + rideEntry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; + rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; - ride = get_ride(vehicle->ride); - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_TESTING) - vehicle_update_measurements(vehicle); + ride = get_ride(vehicle->ride); + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_TESTING) + vehicle_update_measurements(vehicle); - _vehicleBreakdown = 255; - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN)) { - _vehicleBreakdown = ride->breakdown_reason_pending; - if ((vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3) && ride->breakdown_reason_pending == BREAKDOWN_SAFETY_CUT_OUT) { - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_13) || - ( - vehicle->vehicle_sprite_type == 2 && - vehicle->velocity <= 0x20000 - ) - ) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_7; - } - } - } + _vehicleBreakdown = 255; + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN)) { + _vehicleBreakdown = ride->breakdown_reason_pending; + if ((vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3) && ride->breakdown_reason_pending == BREAKDOWN_SAFETY_CUT_OUT) { + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_13) || + ( + vehicle->vehicle_sprite_type == 2 && + vehicle->velocity <= 0x20000 + ) + ) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_7; + } + } + } - switch (vehicle->status) { - case VEHICLE_STATUS_MOVING_TO_END_OF_STATION: - vehicle_update_moving_to_end_of_station(vehicle); - break; - case VEHICLE_STATUS_WAITING_FOR_PASSENGERS: - vehicle_update_waiting_for_passengers(vehicle); - break; - case VEHICLE_STATUS_WAITING_TO_DEPART: - vehicle_update_waiting_to_depart(vehicle); - break; - case VEHICLE_STATUS_CRASHING: - case VEHICLE_STATUS_CRASHED: - vehicle_update_crash(vehicle); - break; - case VEHICLE_STATUS_TRAVELLING_DODGEMS: - vehicle_update_dodgems_mode(vehicle); - break; - case VEHICLE_STATUS_SWINGING: - vehicle_update_swinging(vehicle); - break; - case VEHICLE_STATUS_SIMULATOR_OPERATING: - vehicle_update_simulator_operating(vehicle); - break; - case VEHICLE_STATUS_TOP_SPIN_OPERATING: - vehicle_update_top_spin_operating(vehicle); - break; - case VEHICLE_STATUS_FERRIS_WHEEL_ROTATING: - vehicle_update_ferris_wheel_rotating(vehicle); - break; - case VEHICLE_STATUS_SPACE_RINGS_OPERATING: - vehicle_update_space_rings_operating(vehicle); - break; - case VEHICLE_STATUS_HAUNTED_HOUSE_OPERATING: - vehicle_update_haunted_house_operating(vehicle); - break; - case VEHICLE_STATUS_CROOKED_HOUSE_OPERATING: - vehicle_update_crooked_house_operating(vehicle); - break; - case VEHICLE_STATUS_ROTATING: - vehicle_update_rotating(vehicle); - break; - case VEHICLE_STATUS_DEPARTING: - vehicle_update_departing(vehicle); - break; - case VEHICLE_STATUS_TRAVELLING: - vehicle_update_travelling(vehicle); - break; - case VEHICLE_STATUS_TRAVELLING_CABLE_LIFT: - vehicle_update_travelling_cable_lift(vehicle); - break; - case VEHICLE_STATUS_TRAVELLING_BOAT: - vehicle_update_travelling_boat(vehicle); - break; - case VEHICLE_STATUS_ARRIVING: - vehicle_update_arriving(vehicle); - break; - case VEHICLE_STATUS_UNLOADING_PASSENGERS: - vehicle_update_unloading_passengers(vehicle); - break; - case VEHICLE_STATUS_WAITING_FOR_CABLE_LIFT: - vehicle_update_waiting_for_cable_lift(vehicle); - break; - case VEHICLE_STATUS_SHOWING_FILM: - vehicle_update_showing_film(vehicle); - break; - case VEHICLE_STATUS_DOING_CIRCUS_SHOW: - vehicle_update_doing_circus_show(vehicle); - } + switch (vehicle->status) { + case VEHICLE_STATUS_MOVING_TO_END_OF_STATION: + vehicle_update_moving_to_end_of_station(vehicle); + break; + case VEHICLE_STATUS_WAITING_FOR_PASSENGERS: + vehicle_update_waiting_for_passengers(vehicle); + break; + case VEHICLE_STATUS_WAITING_TO_DEPART: + vehicle_update_waiting_to_depart(vehicle); + break; + case VEHICLE_STATUS_CRASHING: + case VEHICLE_STATUS_CRASHED: + vehicle_update_crash(vehicle); + break; + case VEHICLE_STATUS_TRAVELLING_DODGEMS: + vehicle_update_dodgems_mode(vehicle); + break; + case VEHICLE_STATUS_SWINGING: + vehicle_update_swinging(vehicle); + break; + case VEHICLE_STATUS_SIMULATOR_OPERATING: + vehicle_update_simulator_operating(vehicle); + break; + case VEHICLE_STATUS_TOP_SPIN_OPERATING: + vehicle_update_top_spin_operating(vehicle); + break; + case VEHICLE_STATUS_FERRIS_WHEEL_ROTATING: + vehicle_update_ferris_wheel_rotating(vehicle); + break; + case VEHICLE_STATUS_SPACE_RINGS_OPERATING: + vehicle_update_space_rings_operating(vehicle); + break; + case VEHICLE_STATUS_HAUNTED_HOUSE_OPERATING: + vehicle_update_haunted_house_operating(vehicle); + break; + case VEHICLE_STATUS_CROOKED_HOUSE_OPERATING: + vehicle_update_crooked_house_operating(vehicle); + break; + case VEHICLE_STATUS_ROTATING: + vehicle_update_rotating(vehicle); + break; + case VEHICLE_STATUS_DEPARTING: + vehicle_update_departing(vehicle); + break; + case VEHICLE_STATUS_TRAVELLING: + vehicle_update_travelling(vehicle); + break; + case VEHICLE_STATUS_TRAVELLING_CABLE_LIFT: + vehicle_update_travelling_cable_lift(vehicle); + break; + case VEHICLE_STATUS_TRAVELLING_BOAT: + vehicle_update_travelling_boat(vehicle); + break; + case VEHICLE_STATUS_ARRIVING: + vehicle_update_arriving(vehicle); + break; + case VEHICLE_STATUS_UNLOADING_PASSENGERS: + vehicle_update_unloading_passengers(vehicle); + break; + case VEHICLE_STATUS_WAITING_FOR_CABLE_LIFT: + vehicle_update_waiting_for_cable_lift(vehicle); + break; + case VEHICLE_STATUS_SHOWING_FILM: + vehicle_update_showing_film(vehicle); + break; + case VEHICLE_STATUS_DOING_CIRCUS_SHOW: + vehicle_update_doing_circus_show(vehicle); + } - vehicle_update_sound(vehicle); + vehicle_update_sound(vehicle); } /** @@ -1684,99 +1684,99 @@ static void vehicle_update(rct_vehicle *vehicle) * rct2: 0x006D7BCC */ static void vehicle_update_moving_to_end_of_station(rct_vehicle *vehicle){ - rct_ride* ride = get_ride(vehicle->ride); - sint32 eax, ebx; + rct_ride* ride = get_ride(vehicle->ride); + sint32 eax, ebx; - switch (ride->mode){ - case RIDE_MODE_UPWARD_LAUNCH: - case RIDE_MODE_ROTATING_LIFT: - case RIDE_MODE_DOWNWARD_LAUNCH: - case RIDE_MODE_FREEFALL_DROP: - if (vehicle->velocity >= -131940){ - vehicle->acceleration = -3298; - } - if (vehicle->velocity < -131940){ - vehicle->velocity = vehicle->velocity / 16; - vehicle->acceleration = 0; - } + switch (ride->mode){ + case RIDE_MODE_UPWARD_LAUNCH: + case RIDE_MODE_ROTATING_LIFT: + case RIDE_MODE_DOWNWARD_LAUNCH: + case RIDE_MODE_FREEFALL_DROP: + if (vehicle->velocity >= -131940){ + vehicle->acceleration = -3298; + } + if (vehicle->velocity < -131940){ + vehicle->velocity = vehicle->velocity / 16; + vehicle->acceleration = 0; + } - eax = vehicle_update_track_motion(vehicle, &ebx); - if (!(eax&(1 << 5))) - break; - //Fall through to next case - case RIDE_MODE_BUMPERCAR: - case RIDE_MODE_SWING: - case RIDE_MODE_ROTATION: - case RIDE_MODE_FORWARD_ROTATION: - case RIDE_MODE_BACKWARD_ROTATION: - case RIDE_MODE_FILM_AVENGING_AVIATORS: - case RIDE_MODE_FILM_THRILL_RIDERS: - case RIDE_MODE_BEGINNERS: - case RIDE_MODE_INTENSE: - case RIDE_MODE_BERSERK: - case RIDE_MODE_3D_FILM_MOUSE_TAILS: - case RIDE_MODE_3D_FILM_STORM_CHASERS: - case RIDE_MODE_3D_FILM_SPACE_RAIDERS: - case RIDE_MODE_SPACE_RINGS: - case RIDE_MODE_HAUNTED_HOUSE: - case RIDE_MODE_CROOKED_HOUSE: - case RIDE_MODE_CIRCUS_SHOW: - vehicle->current_station = 0; - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle->status = VEHICLE_STATUS_WAITING_FOR_PASSENGERS; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - break; - default: - { - rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; + eax = vehicle_update_track_motion(vehicle, &ebx); + if (!(eax&(1 << 5))) + break; + //Fall through to next case + case RIDE_MODE_BUMPERCAR: + case RIDE_MODE_SWING: + case RIDE_MODE_ROTATION: + case RIDE_MODE_FORWARD_ROTATION: + case RIDE_MODE_BACKWARD_ROTATION: + case RIDE_MODE_FILM_AVENGING_AVIATORS: + case RIDE_MODE_FILM_THRILL_RIDERS: + case RIDE_MODE_BEGINNERS: + case RIDE_MODE_INTENSE: + case RIDE_MODE_BERSERK: + case RIDE_MODE_3D_FILM_MOUSE_TAILS: + case RIDE_MODE_3D_FILM_STORM_CHASERS: + case RIDE_MODE_3D_FILM_SPACE_RAIDERS: + case RIDE_MODE_SPACE_RINGS: + case RIDE_MODE_HAUNTED_HOUSE: + case RIDE_MODE_CROOKED_HOUSE: + case RIDE_MODE_CIRCUS_SHOW: + vehicle->current_station = 0; + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle->status = VEHICLE_STATUS_WAITING_FOR_PASSENGERS; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + break; + default: + { + rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3)){ - if (vehicle->velocity <= 131940){ - vehicle->acceleration = 3298; - } - } - if (vehicle->velocity > 131940){ - vehicle->velocity -= vehicle->velocity / 16; - vehicle->acceleration = 0; - } + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3)){ + if (vehicle->velocity <= 131940){ + vehicle->acceleration = 3298; + } + } + if (vehicle->velocity > 131940){ + vehicle->velocity -= vehicle->velocity / 16; + vehicle->acceleration = 0; + } - sint32 station; - eax = vehicle_update_track_motion(vehicle, &station); + sint32 station; + eax = vehicle_update_track_motion(vehicle, &station); - if (eax & (1 << 1)){ - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle->sub_state++; + if (eax & (1 << 1)){ + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle->sub_state++; - if (ride->mode == RIDE_MODE_RACE && - vehicle->sub_state >= 40){ - vehicle->status = VEHICLE_STATUS_WAITING_FOR_PASSENGERS; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - break; - } - } - else{ - if (vehicle->velocity > 98955){ - vehicle->sub_state = 0; - } - } + if (ride->mode == RIDE_MODE_RACE && + vehicle->sub_state >= 40){ + vehicle->status = VEHICLE_STATUS_WAITING_FOR_PASSENGERS; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + break; + } + } + else{ + if (vehicle->velocity > 98955){ + vehicle->sub_state = 0; + } + } - if (!(eax & (1 << 0))) - break; + if (!(eax & (1 << 0))) + break; - vehicle->current_station = station; - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle->status = VEHICLE_STATUS_WAITING_FOR_PASSENGERS; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - break; - } - } + vehicle->current_station = station; + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle->status = VEHICLE_STATUS_WAITING_FOR_PASSENGERS; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + break; + } + } } /** @@ -1785,68 +1785,68 @@ static void vehicle_update_moving_to_end_of_station(rct_vehicle *vehicle){ */ static void train_ready_to_depart(rct_vehicle* vehicle, uint8 num_peeps_on_train, uint8 num_used_seats){ - if (num_peeps_on_train != num_used_seats) - return; + if (num_peeps_on_train != num_used_seats) + return; - rct_ride* ride = get_ride(vehicle->ride); + rct_ride* ride = get_ride(vehicle->ride); - if (ride->status == RIDE_STATUS_OPEN && - !(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) && - !(vehicle->update_flags & VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART)){ - return; - } + if (ride->status == RIDE_STATUS_OPEN && + !(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) && + !(vehicle->update_flags & VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART)){ + return; + } - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)){ - // Original code did not check if the ride was a boat hire, causing empty boats to leave the platform when closing a Boat Ride with passengers on it. - if (ride->status != RIDE_STATUS_CLOSED || - (ride->num_riders != 0 && ride->type != RIDE_TYPE_BOAT_RIDE)){ - ride->train_at_station[vehicle->current_station] = 0xFF; - vehicle->sub_state = 2; - return; - } - } + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)){ + // Original code did not check if the ride was a boat hire, causing empty boats to leave the platform when closing a Boat Ride with passengers on it. + if (ride->status != RIDE_STATUS_CLOSED || + (ride->num_riders != 0 && ride->type != RIDE_TYPE_BOAT_RIDE)){ + ride->train_at_station[vehicle->current_station] = 0xFF; + vehicle->sub_state = 2; + return; + } + } - if (ride->mode == RIDE_MODE_FORWARD_ROTATION || - ride->mode == RIDE_MODE_BACKWARD_ROTATION){ + if (ride->mode == RIDE_MODE_FORWARD_ROTATION || + ride->mode == RIDE_MODE_BACKWARD_ROTATION){ - uint8 peep = ((-vehicle->vehicle_sprite_type) / 8) & 0xF; - if (vehicle->peep[peep] != SPRITE_INDEX_NULL) { - ride->train_at_station[vehicle->current_station] = 0xFF; - vehicle->status = VEHICLE_STATUS_UNLOADING_PASSENGERS; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - return; - } + uint8 peep = ((-vehicle->vehicle_sprite_type) / 8) & 0xF; + if (vehicle->peep[peep] != SPRITE_INDEX_NULL) { + ride->train_at_station[vehicle->current_station] = 0xFF; + vehicle->status = VEHICLE_STATUS_UNLOADING_PASSENGERS; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + return; + } - if (vehicle->num_peeps == 0) - return; + if (vehicle->num_peeps == 0) + return; - ride->train_at_station[vehicle->current_station] = 0xFF; - vehicle->sub_state = 2; - return; - } + ride->train_at_station[vehicle->current_station] = 0xFF; + vehicle->sub_state = 2; + return; + } - if (num_peeps_on_train == 0) - return; + if (num_peeps_on_train == 0) + return; - ride->train_at_station[vehicle->current_station] = 0xFF; - vehicle->status = VEHICLE_STATUS_WAITING_FOR_PASSENGERS; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); + ride->train_at_station[vehicle->current_station] = 0xFF; + vehicle->status = VEHICLE_STATUS_WAITING_FOR_PASSENGERS; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); } static int ride_get_train_index_from_vehicle(rct_ride* ride, uint16 spriteIndex) { - int trainIndex = 0; - while (ride->vehicles[trainIndex] != spriteIndex) - { - trainIndex++; - if (trainIndex >= ride->num_vehicles || trainIndex >= countof(ride->vehicles)) - { - return VEHICLE_INVALID_ID; - } - } - return trainIndex; + int trainIndex = 0; + while (ride->vehicles[trainIndex] != spriteIndex) + { + trainIndex++; + if (trainIndex >= ride->num_vehicles || trainIndex >= countof(ride->vehicles)) + { + return VEHICLE_INVALID_ID; + } + } + return trainIndex; } /** @@ -1854,183 +1854,183 @@ static int ride_get_train_index_from_vehicle(rct_ride* ride, uint16 spriteIndex) * rct2: 0x006D7DA1 */ static void vehicle_update_waiting_for_passengers(rct_vehicle* vehicle){ - vehicle->velocity = 0; + vehicle->velocity = 0; - rct_ride* ride = get_ride(vehicle->ride); + rct_ride* ride = get_ride(vehicle->ride); - if (vehicle->sub_state == 0){ - if (vehicle_open_restraints(vehicle)) - return; + if (vehicle->sub_state == 0){ + if (vehicle_open_restraints(vehicle)) + return; - if (ride->entrances[vehicle->current_station] == 0xFFFF){ - ride->train_at_station[vehicle->current_station] = 0xFF; - vehicle->sub_state = 2; - return; - } + if (ride->entrances[vehicle->current_station] == 0xFFFF){ + ride->train_at_station[vehicle->current_station] = 0xFF; + vehicle->sub_state = 2; + return; + } - int trainIndex = ride_get_train_index_from_vehicle(ride, vehicle->sprite_index); - if (trainIndex == VEHICLE_INVALID_ID) - { - return; - } + int trainIndex = ride_get_train_index_from_vehicle(ride, vehicle->sprite_index); + if (trainIndex == VEHICLE_INVALID_ID) + { + return; + } - if (ride->train_at_station[vehicle->current_station] != 0xFF) - return; + if (ride->train_at_station[vehicle->current_station] != 0xFF) + return; - ride->train_at_station[vehicle->current_station] = trainIndex; - vehicle->sub_state = 1; - vehicle->time_waiting = 0; + ride->train_at_station[vehicle->current_station] = trainIndex; + vehicle->sub_state = 1; + vehicle->time_waiting = 0; - vehicle_invalidate(vehicle); - return; - } - else if (vehicle->sub_state == 1){ - if (vehicle->time_waiting != 0xFFFF) - vehicle->time_waiting++; + vehicle_invalidate(vehicle); + return; + } + else if (vehicle->sub_state == 1){ + if (vehicle->time_waiting != 0xFFFF) + vehicle->time_waiting++; - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART; + 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; + // 0xF64E31, 0xF64E32, 0xF64E33 + uint8 num_peeps_on_train = 0, num_used_seats_on_train = 0, num_seats_on_train = 0; - for (uint16 sprite_id = vehicle->sprite_index; sprite_id != SPRITE_INDEX_NULL;) { - rct_vehicle* train_vehicle = GET_VEHICLE(sprite_id); + for (uint16 sprite_id = vehicle->sprite_index; sprite_id != SPRITE_INDEX_NULL;) { + rct_vehicle* train_vehicle = GET_VEHICLE(sprite_id); - num_peeps_on_train += train_vehicle->num_peeps; - num_used_seats_on_train += train_vehicle->next_free_seat; - num_seats_on_train += train_vehicle->num_seats; + num_peeps_on_train += train_vehicle->num_peeps; + num_used_seats_on_train += train_vehicle->next_free_seat; + num_seats_on_train += train_vehicle->num_seats; - sprite_id = train_vehicle->next_vehicle_on_train; - } + sprite_id = train_vehicle->next_vehicle_on_train; + } - num_seats_on_train &= 0x7F; + num_seats_on_train &= 0x7F; - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE)){ - if (vehicle->time_waiting < 20){ - train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); - return; - } - } - else{ - if (num_peeps_on_train == 0){ - train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); - return; - } - } + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE)){ + if (vehicle->time_waiting < 20){ + train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); + return; + } + } + else{ + if (num_peeps_on_train == 0){ + train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); + return; + } + } - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS)){ - if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH){ - if (ride->min_waiting_time * 32 > vehicle->time_waiting){ - train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); - return; - } - } - if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MAXIMUM_LENGTH){ - if (ride->max_waiting_time * 32 < vehicle->time_waiting){ - 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 (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS)){ + if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH){ + if (ride->min_waiting_time * 32 > vehicle->time_waiting){ + train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); + return; + } + } + if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MAXIMUM_LENGTH){ + if (ride->max_waiting_time * 32 < vehicle->time_waiting){ + 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 (ride->depart_flags & RIDE_DEPART_LEAVE_WHEN_ANOTHER_ARRIVES){ + if (ride->depart_flags & RIDE_DEPART_LEAVE_WHEN_ANOTHER_ARRIVES){ - for (sint32 i = 0; i < 32; ++i){ - uint16 train_id = ride->vehicles[i]; - if (train_id == SPRITE_INDEX_NULL) - continue; + for (sint32 i = 0; i < 32; ++i){ + uint16 train_id = ride->vehicles[i]; + if (train_id == SPRITE_INDEX_NULL) + continue; - if (train_id == vehicle->sprite_index) - continue; + if (train_id == vehicle->sprite_index) + continue; - rct_vehicle* train = GET_VEHICLE(train_id); + rct_vehicle* train = GET_VEHICLE(train_id); - if (train->status == VEHICLE_STATUS_UNLOADING_PASSENGERS || - train->status == VEHICLE_STATUS_MOVING_TO_END_OF_STATION){ - if (train->current_station == vehicle->current_station){ - 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 (train->status == VEHICLE_STATUS_UNLOADING_PASSENGERS || + train->status == VEHICLE_STATUS_MOVING_TO_END_OF_STATION){ + if (train->current_station == vehicle->current_station){ + 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 (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS) && - ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD){ + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS) && + ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD){ - if (num_peeps_on_train == num_seats_on_train){ - 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 == num_seats_on_train){ + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART; + train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); + return; + } - uint8 load = ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD_MASK; - if (load == 3){ - train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); - return; - } + uint8 load = ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD_MASK; + if (load == 3){ + train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); + return; + } - uint8 three_quater_seats = (3 * num_seats_on_train) / 4; - if (three_quater_seats != 0 && num_peeps_on_train >= three_quater_seats){ - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART; - train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); - return; - } + uint8 three_quater_seats = (3 * num_seats_on_train) / 4; + if (three_quater_seats != 0 && num_peeps_on_train >= three_quater_seats){ + 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 == 2){ - train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); - return; - } + if (load == 2){ + train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); + return; + } - if (num_seats_on_train / 2 != 0 && num_peeps_on_train >= num_seats_on_train / 2){ - 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_seats_on_train / 2 != 0 && num_peeps_on_train >= num_seats_on_train / 2){ + 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 == 1){ - train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); - return; - } + if (load == 1){ + train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); + return; + } - if (num_seats_on_train / 4 != 0 && num_peeps_on_train >= num_seats_on_train / 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_seats_on_train / 4 != 0 && num_peeps_on_train >= num_seats_on_train / 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->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->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->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART; - } - train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); - return; - } - 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->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART; + } + train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train); + return; + } + 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 (vehicle_close_restraints(vehicle)) - return; + if (vehicle_close_restraints(vehicle)) + return; - vehicle->velocity = 0; - vehicle->status = VEHICLE_STATUS_WAITING_TO_DEPART; - vehicle->sub_state = 0; - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT; + vehicle->velocity = 0; + vehicle->status = VEHICLE_STATUS_WAITING_TO_DEPART; + vehicle->sub_state = 0; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT; - if (ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS){ - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT; - } + if (ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS){ + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT; + } - vehicle_invalidate_window(vehicle); + vehicle_invalidate_window(vehicle); } /** @@ -2038,32 +2038,32 @@ static void vehicle_update_waiting_for_passengers(rct_vehicle* vehicle){ * rct2: 0x006D91BF */ static void vehicle_update_dodgems_mode(rct_vehicle *vehicle) { - rct_ride* ride = get_ride(vehicle->ride); - rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; + rct_ride* ride = get_ride(vehicle->ride); + rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_7 && vehicle->var_C5 != 1) { - vehicle->var_C5 = 1; - vehicle_invalidate(vehicle); - } + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_7 && vehicle->var_C5 != 1) { + vehicle->var_C5 = 1; + vehicle_invalidate(vehicle); + } - vehicle_update_motion_dodgems(vehicle); + vehicle_update_motion_dodgems(vehicle); - // Update the length of time vehicle has been in bumper mode - if (vehicle->sub_state++ == 0xFF) { - vehicle->var_CE++; - } + // Update the length of time vehicle has been in bumper mode + if (vehicle->sub_state++ == 0xFF) { + vehicle->var_CE++; + } - if (ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) - return; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) + return; - vehicle->var_C5 = 0; - vehicle_invalidate(vehicle); - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle->status = VEHICLE_STATUS_UNLOADING_PASSENGERS; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); + vehicle->var_C5 = 0; + vehicle_invalidate(vehicle); + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle->status = VEHICLE_STATUS_UNLOADING_PASSENGERS; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); } /** @@ -2071,228 +2071,228 @@ static void vehicle_update_dodgems_mode(rct_vehicle *vehicle) { * rct2: 0x006D80BE */ static void vehicle_update_waiting_to_depart(rct_vehicle* vehicle) { - rct_ride* ride = get_ride(vehicle->ride); - bool shouldBreak = false; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { - switch (ride->breakdown_reason_pending) { - case BREAKDOWN_RESTRAINTS_STUCK_CLOSED: - case BREAKDOWN_RESTRAINTS_STUCK_OPEN: - case BREAKDOWN_DOORS_STUCK_CLOSED: - case BREAKDOWN_DOORS_STUCK_OPEN: - break; - default: - shouldBreak = true; - break; - } - } + rct_ride* ride = get_ride(vehicle->ride); + bool shouldBreak = false; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { + switch (ride->breakdown_reason_pending) { + case BREAKDOWN_RESTRAINTS_STUCK_CLOSED: + case BREAKDOWN_RESTRAINTS_STUCK_OPEN: + case BREAKDOWN_DOORS_STUCK_CLOSED: + case BREAKDOWN_DOORS_STUCK_OPEN: + break; + default: + shouldBreak = true; + break; + } + } - bool skipCheck = false; - if (shouldBreak == true || ride->status != RIDE_STATUS_OPEN) { - if (ride->mode == RIDE_MODE_FORWARD_ROTATION || - ride->mode == RIDE_MODE_BACKWARD_ROTATION) { - uint8 seat = ((-vehicle->vehicle_sprite_type) >> 3) & 0xF; - if (vehicle->peep[seat * 2] == SPRITE_INDEX_NULL) { - if (vehicle->num_peeps == 0) { - skipCheck = true; - } - } - else { - if (ride->exits[vehicle->current_station] != 0xFFFF) { - vehicle->status = VEHICLE_STATUS_UNLOADING_PASSENGERS; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - return; - } - } - } - else { - uint16 spriteId = vehicle->sprite_index; - for (rct_vehicle* curVehicle; spriteId != SPRITE_INDEX_NULL; spriteId = curVehicle->next_vehicle_on_train) { - curVehicle = GET_VEHICLE(spriteId); + bool skipCheck = false; + if (shouldBreak == true || ride->status != RIDE_STATUS_OPEN) { + if (ride->mode == RIDE_MODE_FORWARD_ROTATION || + ride->mode == RIDE_MODE_BACKWARD_ROTATION) { + uint8 seat = ((-vehicle->vehicle_sprite_type) >> 3) & 0xF; + if (vehicle->peep[seat * 2] == SPRITE_INDEX_NULL) { + if (vehicle->num_peeps == 0) { + skipCheck = true; + } + } + else { + if (ride->exits[vehicle->current_station] != 0xFFFF) { + vehicle->status = VEHICLE_STATUS_UNLOADING_PASSENGERS; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + return; + } + } + } + else { + uint16 spriteId = vehicle->sprite_index; + for (rct_vehicle* curVehicle; spriteId != SPRITE_INDEX_NULL; spriteId = curVehicle->next_vehicle_on_train) { + curVehicle = GET_VEHICLE(spriteId); - if (curVehicle->num_peeps != 0) { - if (ride->exits[vehicle->current_station] != 0xFFFF) { - vehicle->status = VEHICLE_STATUS_UNLOADING_PASSENGERS; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - return; - } - break; - } - } - } - } + if (curVehicle->num_peeps != 0) { + if (ride->exits[vehicle->current_station] != 0xFFFF) { + vehicle->status = VEHICLE_STATUS_UNLOADING_PASSENGERS; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + return; + } + break; + } + } + } + } - if (skipCheck == false) { - if (!(ride->station_depart[vehicle->current_station] & STATION_DEPART_FLAG)) - return; - } + if (skipCheck == false) { + if (!(ride->station_depart[vehicle->current_station] & STATION_DEPART_FLAG)) + return; + } - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS)) { - if (ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT) { - if (!vehicle_can_depart_synchronised(vehicle)) { - return; - } - } - } - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS)) { + if (ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS) { + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT) { + if (!vehicle_can_depart_synchronised(vehicle)) { + return; + } + } + } + } - vehicle->status = VEHICLE_STATUS_DEPARTING; - vehicle->sub_state = 0; + vehicle->status = VEHICLE_STATUS_DEPARTING; + vehicle->sub_state = 0; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT) { - rct_xy_element track; - sint32 z; - sint32 direction; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT) { + rct_xy_element track; + sint32 z; + sint32 direction; - if (track_block_get_next_from_zero( - vehicle->track_x, - vehicle->track_y, - vehicle->track_z, - vehicle->ride, - (uint8)(vehicle->track_direction & 0x3), - &track, - &z, - &direction)) { + if (track_block_get_next_from_zero( + vehicle->track_x, + vehicle->track_y, + vehicle->track_z, + vehicle->ride, + (uint8)(vehicle->track_direction & 0x3), + &track, + &z, + &direction)) { - if (track_element_is_cable_lift(track.element)) { - vehicle->status = VEHICLE_STATUS_WAITING_FOR_CABLE_LIFT; - } - } - } + if (track_element_is_cable_lift(track.element)) { + vehicle->status = VEHICLE_STATUS_WAITING_FOR_CABLE_LIFT; + } + } + } - switch (ride->mode) { - case RIDE_MODE_BUMPERCAR: - vehicle->status = VEHICLE_STATUS_TRAVELLING_DODGEMS; - vehicle_invalidate_window(vehicle); - // Bumper mode uses sub_state / var_CE to tell how long - // the vehicle has been ridden. - vehicle->sub_state = 0; - vehicle->var_CE = 0; - vehicle_update_dodgems_mode(vehicle); - break; - case RIDE_MODE_SWING: - vehicle->status = VEHICLE_STATUS_SWINGING; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - vehicle->var_CE = 0; - vehicle->current_time = -1; - vehicle_update_swinging(vehicle); - break; - case RIDE_MODE_ROTATION: - vehicle->status = VEHICLE_STATUS_ROTATING; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - vehicle->var_CE = 0; - vehicle->current_time = -1; - vehicle_update_rotating(vehicle); - break; - case RIDE_MODE_FILM_AVENGING_AVIATORS: - case RIDE_MODE_FILM_THRILL_RIDERS: - vehicle->status = VEHICLE_STATUS_SIMULATOR_OPERATING; - vehicle->sub_state = 0; - if (ride->mode == RIDE_MODE_FILM_THRILL_RIDERS) - vehicle->sub_state = 1; - vehicle_invalidate_window(vehicle); - vehicle->current_time = -1; - vehicle_update_simulator_operating(vehicle); - break; - case RIDE_MODE_BEGINNERS: - case RIDE_MODE_INTENSE: - case RIDE_MODE_BERSERK: - vehicle->status = VEHICLE_STATUS_TOP_SPIN_OPERATING; - vehicle_invalidate_window(vehicle); + switch (ride->mode) { + case RIDE_MODE_BUMPERCAR: + vehicle->status = VEHICLE_STATUS_TRAVELLING_DODGEMS; + vehicle_invalidate_window(vehicle); + // Bumper mode uses sub_state / var_CE to tell how long + // the vehicle has been ridden. + vehicle->sub_state = 0; + vehicle->var_CE = 0; + vehicle_update_dodgems_mode(vehicle); + break; + case RIDE_MODE_SWING: + vehicle->status = VEHICLE_STATUS_SWINGING; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + vehicle->var_CE = 0; + vehicle->current_time = -1; + vehicle_update_swinging(vehicle); + break; + case RIDE_MODE_ROTATION: + vehicle->status = VEHICLE_STATUS_ROTATING; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + vehicle->var_CE = 0; + vehicle->current_time = -1; + vehicle_update_rotating(vehicle); + break; + case RIDE_MODE_FILM_AVENGING_AVIATORS: + case RIDE_MODE_FILM_THRILL_RIDERS: + vehicle->status = VEHICLE_STATUS_SIMULATOR_OPERATING; + vehicle->sub_state = 0; + if (ride->mode == RIDE_MODE_FILM_THRILL_RIDERS) + vehicle->sub_state = 1; + vehicle_invalidate_window(vehicle); + vehicle->current_time = -1; + vehicle_update_simulator_operating(vehicle); + break; + case RIDE_MODE_BEGINNERS: + case RIDE_MODE_INTENSE: + case RIDE_MODE_BERSERK: + vehicle->status = VEHICLE_STATUS_TOP_SPIN_OPERATING; + vehicle_invalidate_window(vehicle); - switch (ride->mode) { - case RIDE_MODE_BEGINNERS: - vehicle->sub_state = 0; - break; - case RIDE_MODE_INTENSE: - vehicle->sub_state = 1; - break; - case RIDE_MODE_BERSERK: - vehicle->sub_state = 2; - break; - } - vehicle->current_time = -1; - vehicle->vehicle_sprite_type = 0; - vehicle->bank_rotation = 0; - vehicle_update_top_spin_operating(vehicle); - break; - case RIDE_MODE_FORWARD_ROTATION: - case RIDE_MODE_BACKWARD_ROTATION: - vehicle->status = VEHICLE_STATUS_FERRIS_WHEEL_ROTATING; - vehicle->sub_state = vehicle->vehicle_sprite_type; - vehicle_invalidate_window(vehicle); - vehicle->var_CE = 0; - vehicle->ferris_wheel_var_0 = 8; - vehicle->ferris_wheel_var_1 = 8; - vehicle_update_ferris_wheel_rotating(vehicle); - break; - case RIDE_MODE_3D_FILM_MOUSE_TAILS: - case RIDE_MODE_3D_FILM_STORM_CHASERS: - case RIDE_MODE_3D_FILM_SPACE_RAIDERS: - vehicle->status = VEHICLE_STATUS_SHOWING_FILM; - vehicle_invalidate_window(vehicle); - switch (ride->mode) { - case RIDE_MODE_3D_FILM_MOUSE_TAILS: - vehicle->sub_state = 0; - break; - case RIDE_MODE_3D_FILM_STORM_CHASERS: - vehicle->sub_state = 1; - break; - case RIDE_MODE_3D_FILM_SPACE_RAIDERS: - vehicle->sub_state = 2; - break; - } - vehicle->current_time = -1; - vehicle_update_showing_film(vehicle); - break; - case RIDE_MODE_CIRCUS_SHOW: - vehicle->status = VEHICLE_STATUS_DOING_CIRCUS_SHOW; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - vehicle->current_time = -1; - vehicle_update_doing_circus_show(vehicle); - break; - case RIDE_MODE_SPACE_RINGS: - vehicle->status = VEHICLE_STATUS_SPACE_RINGS_OPERATING; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - vehicle->vehicle_sprite_type = 0; - vehicle->current_time = -1; - vehicle_update_space_rings_operating(vehicle); - break; - case RIDE_MODE_HAUNTED_HOUSE: - vehicle->status = VEHICLE_STATUS_HAUNTED_HOUSE_OPERATING; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - vehicle->vehicle_sprite_type = 0; - vehicle->current_time = -1; - vehicle_update_haunted_house_operating(vehicle); - break; - case RIDE_MODE_CROOKED_HOUSE: - vehicle->status = VEHICLE_STATUS_CROOKED_HOUSE_OPERATING; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - vehicle->vehicle_sprite_type = 0; - vehicle->current_time = -1; - vehicle_update_crooked_house_operating(vehicle); - break; - default: - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - vehicle->var_CE = 0; - break; - } + switch (ride->mode) { + case RIDE_MODE_BEGINNERS: + vehicle->sub_state = 0; + break; + case RIDE_MODE_INTENSE: + vehicle->sub_state = 1; + break; + case RIDE_MODE_BERSERK: + vehicle->sub_state = 2; + break; + } + vehicle->current_time = -1; + vehicle->vehicle_sprite_type = 0; + vehicle->bank_rotation = 0; + vehicle_update_top_spin_operating(vehicle); + break; + case RIDE_MODE_FORWARD_ROTATION: + case RIDE_MODE_BACKWARD_ROTATION: + vehicle->status = VEHICLE_STATUS_FERRIS_WHEEL_ROTATING; + vehicle->sub_state = vehicle->vehicle_sprite_type; + vehicle_invalidate_window(vehicle); + vehicle->var_CE = 0; + vehicle->ferris_wheel_var_0 = 8; + vehicle->ferris_wheel_var_1 = 8; + vehicle_update_ferris_wheel_rotating(vehicle); + break; + case RIDE_MODE_3D_FILM_MOUSE_TAILS: + case RIDE_MODE_3D_FILM_STORM_CHASERS: + case RIDE_MODE_3D_FILM_SPACE_RAIDERS: + vehicle->status = VEHICLE_STATUS_SHOWING_FILM; + vehicle_invalidate_window(vehicle); + switch (ride->mode) { + case RIDE_MODE_3D_FILM_MOUSE_TAILS: + vehicle->sub_state = 0; + break; + case RIDE_MODE_3D_FILM_STORM_CHASERS: + vehicle->sub_state = 1; + break; + case RIDE_MODE_3D_FILM_SPACE_RAIDERS: + vehicle->sub_state = 2; + break; + } + vehicle->current_time = -1; + vehicle_update_showing_film(vehicle); + break; + case RIDE_MODE_CIRCUS_SHOW: + vehicle->status = VEHICLE_STATUS_DOING_CIRCUS_SHOW; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + vehicle->current_time = -1; + vehicle_update_doing_circus_show(vehicle); + break; + case RIDE_MODE_SPACE_RINGS: + vehicle->status = VEHICLE_STATUS_SPACE_RINGS_OPERATING; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + vehicle->vehicle_sprite_type = 0; + vehicle->current_time = -1; + vehicle_update_space_rings_operating(vehicle); + break; + case RIDE_MODE_HAUNTED_HOUSE: + vehicle->status = VEHICLE_STATUS_HAUNTED_HOUSE_OPERATING; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + vehicle->vehicle_sprite_type = 0; + vehicle->current_time = -1; + vehicle_update_haunted_house_operating(vehicle); + break; + case RIDE_MODE_CROOKED_HOUSE: + vehicle->status = VEHICLE_STATUS_CROOKED_HOUSE_OPERATING; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + vehicle->vehicle_sprite_type = 0; + vehicle->current_time = -1; + vehicle_update_crooked_house_operating(vehicle); + break; + default: + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + vehicle->var_CE = 0; + break; + } } #pragma pack(push, 1) typedef struct rct_synchronised_vehicle { - uint8 ride_id; - uint8 station_id; - uint16 vehicle_id; + uint8 ride_id; + uint8 station_id; + uint16 vehicle_id; } rct_synchronised_vehicle; assert_struct_size(rct_synchronised_vehicle, 4); #pragma pack(pop) @@ -2311,64 +2311,64 @@ static rct_synchronised_vehicle* _lastSynchronisedVehicle = NULL; */ static bool try_add_synchronised_station(sint32 x, sint32 y, sint32 z) { - rct_map_element *mapElement = get_station_platform(x, y, z, 2); - if (mapElement == NULL) { - /* No station platform element found, - * so no station to synchronise */ - return false; - } + rct_map_element *mapElement = get_station_platform(x, y, z, 2); + if (mapElement == NULL) { + /* No station platform element found, + * so no station to synchronise */ + return false; + } - sint32 rideIndex = mapElement->properties.track.ride_index; - rct_ride *ride = get_ride(rideIndex); - if (!(ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS)) { - /* Ride is not set to synchronise with adjacent stations. */ - return false; - } + sint32 rideIndex = mapElement->properties.track.ride_index; + rct_ride *ride = get_ride(rideIndex); + if (!(ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS)) { + /* Ride is not set to synchronise with adjacent stations. */ + return false; + } - /* From this point on, the ride of the map element is one that is set - * to sync with adjacent stations, so it will return true. - * Still to determine if a vehicle to sync can be identified. */ + /* From this point on, the ride of the map element is one that is set + * to sync with adjacent stations, so it will return true. + * Still to determine if a vehicle to sync can be identified. */ - sint32 stationIndex = map_get_station(mapElement); + sint32 stationIndex = map_get_station(mapElement); - rct_synchronised_vehicle *sv = _lastSynchronisedVehicle; - sv->ride_id = rideIndex; - sv->station_id = stationIndex; - sv->vehicle_id = SPRITE_INDEX_NULL; - _lastSynchronisedVehicle++; + rct_synchronised_vehicle *sv = _lastSynchronisedVehicle; + sv->ride_id = rideIndex; + sv->station_id = stationIndex; + sv->vehicle_id = SPRITE_INDEX_NULL; + _lastSynchronisedVehicle++; - /* Ride vehicles are not on the track (e.g. ride is/was under - * construction), so just return; vehicle_id for this station - * is SPRITE_INDEX_NULL. */ - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) { - return true; - } + /* Ride vehicles are not on the track (e.g. ride is/was under + * construction), so just return; vehicle_id for this station + * is SPRITE_INDEX_NULL. */ + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) { + return true; + } - /* Station is not ready to depart, so just return; - * vehicle_id for this station is SPRITE_INDEX_NULL. */ - if (!(ride->station_depart[stationIndex] & STATION_DEPART_FLAG)) { - return true; - } + /* Station is not ready to depart, so just return; + * vehicle_id for this station is SPRITE_INDEX_NULL. */ + if (!(ride->station_depart[stationIndex] & STATION_DEPART_FLAG)) { + return true; + } - // Look for a vehicle on this station waiting to depart. - for (sint32 i = 0; i < ride->num_vehicles; i++) { - uint16 spriteIndex = ride->vehicles[i]; - if (spriteIndex == SPRITE_INDEX_NULL) continue; + // Look for a vehicle on this station waiting to depart. + for (sint32 i = 0; i < ride->num_vehicles; i++) { + uint16 spriteIndex = ride->vehicles[i]; + if (spriteIndex == SPRITE_INDEX_NULL) continue; - rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); - if (vehicle->status != VEHICLE_STATUS_WAITING_TO_DEPART) continue; - if (vehicle->sub_state != 0) continue; - if (!(vehicle->update_flags & VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT)) continue; - if (vehicle->current_station != stationIndex) continue; + rct_vehicle *vehicle = GET_VEHICLE(spriteIndex); + if (vehicle->status != VEHICLE_STATUS_WAITING_TO_DEPART) continue; + if (vehicle->sub_state != 0) continue; + if (!(vehicle->update_flags & VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT)) continue; + if (vehicle->current_station != stationIndex) continue; - sv->vehicle_id = spriteIndex; - return true; - } + sv->vehicle_id = spriteIndex; + return true; + } - /* No vehicle found waiting to depart (with sync adjacent) at the - * station, so just return; vehicle_id for this station is - * SPRITE_INDEX_NULL. */ - return true; + /* No vehicle found waiting to depart (with sync adjacent) at the + * station, so just return; vehicle_id for this station is + * SPRITE_INDEX_NULL. */ + return true; } /** @@ -2384,149 +2384,149 @@ static bool try_add_synchronised_station(sint32 x, sint32 y, sint32 z) */ static bool vehicle_can_depart_synchronised(rct_vehicle *vehicle) { - rct_ride *ride = get_ride(vehicle->ride); - sint32 station = vehicle->current_station; - uint16 xy = ride->station_starts[station]; - sint32 x = (xy & 0xFF) * 32; - sint32 y = (xy >> 8) * 32; - sint32 z = ride->station_heights[station]; + rct_ride *ride = get_ride(vehicle->ride); + sint32 station = vehicle->current_station; + uint16 xy = ride->station_starts[station]; + sint32 x = (xy & 0xFF) * 32; + sint32 y = (xy >> 8) * 32; + sint32 z = ride->station_heights[station]; - rct_map_element *mapElement = map_get_track_element_at(x, y, z); - if (mapElement == NULL) { - return false; - } + rct_map_element *mapElement = map_get_track_element_at(x, y, z); + if (mapElement == NULL) { + return false; + } - // Reset the list of synchronised vehicles to empty. - _lastSynchronisedVehicle = _synchronisedVehicles; + // Reset the list of synchronised vehicles to empty. + _lastSynchronisedVehicle = _synchronisedVehicles; - // Search for stations to sync in both directions from the current tile. + // Search for stations to sync in both directions from the current tile. - // First search direction. - sint32 direction = (mapElement->type + 1) & 3; + // First search direction. + sint32 direction = (mapElement->type + 1) & 3; - while (_lastSynchronisedVehicle < &_synchronisedVehicles[SYNCHRONISED_VEHICLE_COUNT - 1]) { - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; - if (!try_add_synchronised_station(x, y, z)) { - break; - } - } + while (_lastSynchronisedVehicle < &_synchronisedVehicles[SYNCHRONISED_VEHICLE_COUNT - 1]) { + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; + if (!try_add_synchronised_station(x, y, z)) { + break; + } + } - // Reset back to starting tile. - x = (xy & 0xFF) * 32; - y = (xy >> 8) * 32; + // Reset back to starting tile. + x = (xy & 0xFF) * 32; + y = (xy >> 8) * 32; - // Other search direction. - direction = (direction ^ 2) & 3; - while (_lastSynchronisedVehicle < &_synchronisedVehicles[SYNCHRONISED_VEHICLE_COUNT - 1]) { - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; - if (!try_add_synchronised_station(x, y, z)) { - break; - } - } + // Other search direction. + direction = (direction ^ 2) & 3; + while (_lastSynchronisedVehicle < &_synchronisedVehicles[SYNCHRONISED_VEHICLE_COUNT - 1]) { + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; + if (!try_add_synchronised_station(x, y, z)) { + break; + } + } - if (_lastSynchronisedVehicle == _synchronisedVehicles) { - // No adjacent stations, allow depart - return true; - } + if (_lastSynchronisedVehicle == _synchronisedVehicles) { + // No adjacent stations, allow depart + return true; + } - for (rct_synchronised_vehicle *sv = _synchronisedVehicles; sv < _lastSynchronisedVehicle; sv++) { - rct_ride *sv_ride = get_ride(sv->ride_id); + for (rct_synchronised_vehicle *sv = _synchronisedVehicles; sv < _lastSynchronisedVehicle; sv++) { + rct_ride *sv_ride = get_ride(sv->ride_id); - if (!(sv_ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)) { - if (sv_ride->status != RIDE_STATUS_CLOSED) { - if (ride_is_block_sectioned(sv_ride)) { - if (!(sv_ride->station_depart[sv->station_id] & STATION_DEPART_FLAG)) { - sv = _synchronisedVehicles; - uint8 rideId = 0xFF; - for (; sv < _lastSynchronisedVehicle; sv++) { - if (rideId == 0xFF) { - rideId = sv->ride_id; - } - if (rideId != sv->ride_id) { - // Here the sync-ed stations are not all from the same ride. - return false; - } - } + if (!(sv_ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)) { + if (sv_ride->status != RIDE_STATUS_CLOSED) { + if (ride_is_block_sectioned(sv_ride)) { + if (!(sv_ride->station_depart[sv->station_id] & STATION_DEPART_FLAG)) { + sv = _synchronisedVehicles; + uint8 rideId = 0xFF; + for (; sv < _lastSynchronisedVehicle; sv++) { + if (rideId == 0xFF) { + rideId = sv->ride_id; + } + if (rideId != sv->ride_id) { + // Here the sync-ed stations are not all from the same ride. + return false; + } + } - /* Here all the of sync-ed stations are from the same ride */ - ride = get_ride(rideId); - for (sint32 i = 0; i < ride->num_vehicles; i++) { - rct_vehicle *v = GET_VEHICLE(ride->vehicles[i]); - if (v->status != VEHICLE_STATUS_WAITING_TO_DEPART && v->velocity != 0) { - // Here at least one vehicle on the ride is moving. - return false; - } - } + /* Here all the of sync-ed stations are from the same ride */ + ride = get_ride(rideId); + for (sint32 i = 0; i < ride->num_vehicles; i++) { + rct_vehicle *v = GET_VEHICLE(ride->vehicles[i]); + if (v->status != VEHICLE_STATUS_WAITING_TO_DEPART && v->velocity != 0) { + // Here at least one vehicle on the ride is moving. + return false; + } + } - // UNCERTAIN: is the return desired here, or rather continue on with the general checks? - return true; - } - } - // There is no vehicle waiting at this station to sync with. - if (sv->vehicle_id == SPRITE_INDEX_NULL) { - // Check conditions for departing without all stations being in sync. - if (_lastSynchronisedVehicle > &_synchronisedVehicles[1]) { - // Sync condition: there are at least 3 stations to sync - return false; - } - uint8 someRideIndex = _synchronisedVehicles[0].ride_id; - // uint8 currentStation = _synchronisedVehicles[0].station_id - if (someRideIndex != vehicle->ride) { - // Sync condition: the first station to sync is a different ride - return false; - } + // UNCERTAIN: is the return desired here, or rather continue on with the general checks? + return true; + } + } + // There is no vehicle waiting at this station to sync with. + if (sv->vehicle_id == SPRITE_INDEX_NULL) { + // Check conditions for departing without all stations being in sync. + if (_lastSynchronisedVehicle > &_synchronisedVehicles[1]) { + // Sync condition: there are at least 3 stations to sync + return false; + } + uint8 someRideIndex = _synchronisedVehicles[0].ride_id; + // uint8 currentStation = _synchronisedVehicles[0].station_id + if (someRideIndex != vehicle->ride) { + // Sync condition: the first station to sync is a different ride + return false; + } - sint32 numTrainsAtStation = 0; - sint32 numTravelingTrains = 0; - sint32 currentStation = sv->station_id; - for (sint32 i = 0; i < sv_ride->num_vehicles; i++) { - uint16 spriteIndex = sv_ride->vehicles[i]; - if (spriteIndex != SPRITE_INDEX_NULL) { - rct_vehicle *otherVehicle = GET_VEHICLE(spriteIndex); - if (otherVehicle->status != VEHICLE_STATUS_TRAVELLING) { - if (currentStation == otherVehicle->current_station) { - if (otherVehicle->status == VEHICLE_STATUS_WAITING_TO_DEPART || - otherVehicle->status == VEHICLE_STATUS_MOVING_TO_END_OF_STATION - ) { - numTrainsAtStation++; - } - } - } else { - numTravelingTrains++; - } - } - } + sint32 numTrainsAtStation = 0; + sint32 numTravelingTrains = 0; + sint32 currentStation = sv->station_id; + for (sint32 i = 0; i < sv_ride->num_vehicles; i++) { + uint16 spriteIndex = sv_ride->vehicles[i]; + if (spriteIndex != SPRITE_INDEX_NULL) { + rct_vehicle *otherVehicle = GET_VEHICLE(spriteIndex); + if (otherVehicle->status != VEHICLE_STATUS_TRAVELLING) { + if (currentStation == otherVehicle->current_station) { + if (otherVehicle->status == VEHICLE_STATUS_WAITING_TO_DEPART || + otherVehicle->status == VEHICLE_STATUS_MOVING_TO_END_OF_STATION + ) { + numTrainsAtStation++; + } + } + } else { + numTravelingTrains++; + } + } + } - sint32 totalTrains = numTrainsAtStation + numTravelingTrains; - if (totalTrains != sv_ride->num_vehicles || numTravelingTrains >= sv_ride->num_vehicles / 2) { - //if (numArrivingTrains > 0 || numTravelingTrains >= sv_ride->num_vehicles / 2) { - /* Sync condition: If there are trains arriving at the - * station or half or more of the ride trains are - * travelling, this station must be sync-ed before the - * trains can depart! */ - return false; - } else { - /* Sync exception - train is not arriving at the station - * and there are less than half the trains for the ride - * travelling. */ - continue; - } - } - } - } - } + sint32 totalTrains = numTrainsAtStation + numTravelingTrains; + if (totalTrains != sv_ride->num_vehicles || numTravelingTrains >= sv_ride->num_vehicles / 2) { + //if (numArrivingTrains > 0 || numTravelingTrains >= sv_ride->num_vehicles / 2) { + /* Sync condition: If there are trains arriving at the + * station or half or more of the ride trains are + * travelling, this station must be sync-ed before the + * trains can depart! */ + return false; + } else { + /* Sync exception - train is not arriving at the station + * and there are less than half the trains for the ride + * travelling. */ + continue; + } + } + } + } + } - // At this point all vehicles in _snychronisedVehicles can depart. - for (rct_synchronised_vehicle *sv = _synchronisedVehicles; sv < _lastSynchronisedVehicle; sv++) { - if (sv->vehicle_id != SPRITE_INDEX_NULL) { - rct_vehicle *v = GET_VEHICLE(sv->vehicle_id); - v->update_flags &= ~VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT; - } - } + // At this point all vehicles in _snychronisedVehicles can depart. + for (rct_synchronised_vehicle *sv = _synchronisedVehicles; sv < _lastSynchronisedVehicle; sv++) { + if (sv->vehicle_id != SPRITE_INDEX_NULL) { + rct_vehicle *v = GET_VEHICLE(sv->vehicle_id); + v->update_flags &= ~VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT; + } + } - return true; + return true; } /** @@ -2534,16 +2534,16 @@ static bool vehicle_can_depart_synchronised(rct_vehicle *vehicle) * rct2: 0x006D9EB0 */ void vehicle_peep_easteregg_here_we_are(rct_vehicle* vehicle) { - uint16 spriteId = vehicle->sprite_index; - do { - vehicle = GET_VEHICLE(spriteId); - for (sint32 i = 0; i < vehicle->num_peeps; ++i) { - rct_peep* peep = GET_PEEP(vehicle->peep[i]); - if (peep->peep_flags & PEEP_FLAGS_HERE_WE_ARE) { - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_HERE_WE_ARE, peep->current_ride); - } - } - } while ((spriteId = vehicle->next_vehicle_on_train) != SPRITE_INDEX_NULL); + uint16 spriteId = vehicle->sprite_index; + do { + vehicle = GET_VEHICLE(spriteId); + for (sint32 i = 0; i < vehicle->num_peeps; ++i) { + rct_peep* peep = GET_PEEP(vehicle->peep[i]); + if (peep->peep_flags & PEEP_FLAGS_HERE_WE_ARE) { + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_HERE_WE_ARE, peep->current_ride); + } + } + } while ((spriteId = vehicle->next_vehicle_on_train) != SPRITE_INDEX_NULL); } /** @@ -2551,33 +2551,33 @@ void vehicle_peep_easteregg_here_we_are(rct_vehicle* vehicle) { * rct2: 0x006D7338 */ void vehicle_update_test_finish(rct_vehicle* vehicle) { - rct_ride* ride = get_ride(vehicle->ride); - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_TEST_IN_PROGRESS; - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_TESTING; - ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; + rct_ride* ride = get_ride(vehicle->ride); + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_TEST_IN_PROGRESS; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_TESTING; + ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED; - for (sint32 i = ride->num_stations - 1; i >= 1; i--) { - if (ride->time[i - 1] != 0) - continue; + for (sint32 i = ride->num_stations - 1; i >= 1; i--) { + if (ride->time[i - 1] != 0) + continue; - uint16 oldTime = ride->time[i - 1]; - ride->time[i - 1] = ride->time[i]; - ride->time[i] = oldTime; + uint16 oldTime = ride->time[i - 1]; + ride->time[i - 1] = ride->time[i]; + ride->time[i] = oldTime; - sint32 oldLength = ride->length[i - 1]; - ride->length[i - 1] = ride->length[i]; - ride->length[i] = oldLength; - } + sint32 oldLength = ride->length[i - 1]; + ride->length[i - 1] = ride->length[i]; + ride->length[i] = oldLength; + } - uint32 totalTime = 0; - for (uint8 i = 0; i < ride->num_stations; ++i) { - totalTime += ride->time[i]; - } + uint32 totalTime = 0; + for (uint8 i = 0; i < ride->num_stations; ++i) { + totalTime += ride->time[i]; + } - totalTime = max(totalTime, 1); - ride->average_speed = ride->average_speed / totalTime; + totalTime = max(totalTime, 1); + ride->average_speed = ride->average_speed / totalTime; - window_invalidate_by_number(WC_RIDE, vehicle->ride); + window_invalidate_by_number(WC_RIDE, vehicle->ride); } /** @@ -2585,69 +2585,69 @@ void vehicle_update_test_finish(rct_vehicle* vehicle) { * rct2: 0x006D6BE7 */ void vehicle_test_reset(rct_vehicle* vehicle) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TESTING; + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TESTING; - rct_ride* ride = get_ride(vehicle->ride); - ride->lifecycle_flags |= RIDE_LIFECYCLE_TEST_IN_PROGRESS; - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_NO_RAW_STATS; - ride->max_speed = 0; - ride->average_speed = 0; - ride->current_test_segment = 0; - ride->average_speed_test_timeout = 0; - ride->max_positive_vertical_g = FIXED_2DP(1, 0); - ride->max_negative_vertical_g = FIXED_2DP(1, 0); - ride->max_lateral_g = 0; - ride->previous_vertical_g = 0; - ride->previous_lateral_g = 0; - ride->testing_flags = 0; - ride->cur_test_track_location.xy = 0xFFFF; - ride->cur_test_track_z = 0xFF; - ride->turn_count_default = 0; - ride->turn_count_banked = 0; - ride->turn_count_sloped = 0; - ride->inversions = 0; - ride->drops = 0; - ride->sheltered_length = 0; - ride->var_11C = 0; - ride->num_sheltered_sections = 0; - ride->highest_drop_height = 0; - ride->special_track_elements = 0; - memset(&ride->length, 0, 4 * 4); - memset(&ride->time, 0, 4 * 2); - ride->total_air_time = 0; - ride->current_test_station = vehicle->current_station; - window_invalidate_by_number(WC_RIDE, vehicle->ride); + rct_ride* ride = get_ride(vehicle->ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_TEST_IN_PROGRESS; + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_NO_RAW_STATS; + ride->max_speed = 0; + ride->average_speed = 0; + ride->current_test_segment = 0; + ride->average_speed_test_timeout = 0; + ride->max_positive_vertical_g = FIXED_2DP(1, 0); + ride->max_negative_vertical_g = FIXED_2DP(1, 0); + ride->max_lateral_g = 0; + ride->previous_vertical_g = 0; + ride->previous_lateral_g = 0; + ride->testing_flags = 0; + ride->cur_test_track_location.xy = 0xFFFF; + ride->cur_test_track_z = 0xFF; + ride->turn_count_default = 0; + ride->turn_count_banked = 0; + ride->turn_count_sloped = 0; + ride->inversions = 0; + ride->drops = 0; + ride->sheltered_length = 0; + ride->var_11C = 0; + ride->num_sheltered_sections = 0; + ride->highest_drop_height = 0; + ride->special_track_elements = 0; + memset(&ride->length, 0, 4 * 4); + memset(&ride->time, 0, 4 * 2); + ride->total_air_time = 0; + ride->current_test_station = vehicle->current_station; + window_invalidate_by_number(WC_RIDE, vehicle->ride); } static bool vehicle_next_tower_element_is_top(rct_vehicle* vehicle) { - rct_map_element* mapElement = map_get_track_element_at_of_type( - vehicle->track_x, - vehicle->track_y, - vehicle->track_z / 8, - vehicle->track_type >> 2); + rct_map_element* mapElement = map_get_track_element_at_of_type( + vehicle->track_x, + vehicle->track_y, + vehicle->track_z / 8, + vehicle->track_type >> 2); - if (mapElement->flags & MAP_ELEMENT_FLAG_LAST_TILE) { - return true; - } + if (mapElement->flags & MAP_ELEMENT_FLAG_LAST_TILE) { + return true; + } - if (mapElement->clearance_height == (mapElement + 1)->base_height) { - if ((mapElement + 1)->properties.track.type == TRACK_ELEM_TOWER_SECTION) { - return false; - } - } + if (mapElement->clearance_height == (mapElement + 1)->base_height) { + if ((mapElement + 1)->properties.track.type == TRACK_ELEM_TOWER_SECTION) { + return false; + } + } - if ((mapElement + 1)->flags & MAP_ELEMENT_FLAG_LAST_TILE) { - return true; - } + if ((mapElement + 1)->flags & MAP_ELEMENT_FLAG_LAST_TILE) { + return true; + } - if (mapElement->clearance_height != (mapElement + 2)->base_height) { - return true; - } + if (mapElement->clearance_height != (mapElement + 2)->base_height) { + return true; + } - if ((mapElement + 2)->properties.track.type == TRACK_ELEM_TOWER_SECTION) { - return false; - } - return true; + if ((mapElement + 2)->properties.track.type == TRACK_ELEM_TOWER_SECTION) { + return false; + } + return true; } /** @@ -2655,23 +2655,23 @@ static bool vehicle_next_tower_element_is_top(rct_vehicle* vehicle) { * rct2: 0x006D986C */ static void vehicle_update_travelling_boat_hire_setup(rct_vehicle* vehicle) { - vehicle->var_34 = vehicle->sprite_direction; - vehicle->track_x = vehicle->x & 0xFFE0; - vehicle->track_y = vehicle->y & 0xFFE0; + vehicle->var_34 = vehicle->sprite_direction; + vehicle->track_x = vehicle->x & 0xFFE0; + vehicle->track_y = vehicle->y & 0xFFE0; - rct_xy8 location = { - .x = (vehicle->track_x + TileDirectionDelta[vehicle->sprite_direction >> 3].x) / 32, - .y = (vehicle->track_y + TileDirectionDelta[vehicle->sprite_direction >> 3].y) / 32 - }; + rct_xy8 location = { + .x = (vehicle->track_x + TileDirectionDelta[vehicle->sprite_direction >> 3].x) / 32, + .y = (vehicle->track_y + TileDirectionDelta[vehicle->sprite_direction >> 3].y) / 32 + }; - vehicle->boat_location = location; - vehicle->var_35 = 0; - vehicle->status = VEHICLE_STATUS_TRAVELLING_BOAT; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 0; - vehicle->remaining_distance += 27924; + vehicle->boat_location = location; + vehicle->var_35 = 0; + vehicle->status = VEHICLE_STATUS_TRAVELLING_BOAT; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 0; + vehicle->remaining_distance += 27924; - vehicle_update_travelling_boat(vehicle); + vehicle_update_travelling_boat(vehicle); } /** @@ -2679,14 +2679,14 @@ static void vehicle_update_travelling_boat_hire_setup(rct_vehicle* vehicle) { * rct2: 0x006D982F */ static void vehicle_update_departing_boat_hire(rct_vehicle* vehicle) { - vehicle->lost_time_out = 0; - rct_ride* ride = get_ride(vehicle->ride); + vehicle->lost_time_out = 0; + rct_ride* ride = get_ride(vehicle->ride); - ride->station_depart[vehicle->current_station] &= STATION_DEPART_FLAG; - uint8 waitingTime = max(ride->min_waiting_time, 3); - waitingTime = min(waitingTime, 127); - ride->station_depart[vehicle->current_station] |= waitingTime; - vehicle_update_travelling_boat_hire_setup(vehicle); + ride->station_depart[vehicle->current_station] &= STATION_DEPART_FLAG; + uint8 waitingTime = max(ride->min_waiting_time, 3); + waitingTime = min(waitingTime, 127); + ride->station_depart[vehicle->current_station] |= waitingTime; + vehicle_update_travelling_boat_hire_setup(vehicle); } /** @@ -2694,204 +2694,204 @@ static void vehicle_update_departing_boat_hire(rct_vehicle* vehicle) { * rct2: 0x006D845B */ static void vehicle_update_departing(rct_vehicle* vehicle) { - rct_ride* ride = get_ride(vehicle->ride); - rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); + rct_ride* ride = get_ride(vehicle->ride); + rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); - if (vehicle->sub_state == 0) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_BROKEN_TRAIN) { - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) - return; + if (vehicle->sub_state == 0) { + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_BROKEN_TRAIN) { + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) + return; - ride->lifecycle_flags |= RIDE_LIFECYCLE_BROKEN_DOWN; - ride_breakdown_add_news_item(vehicle->ride); + ride->lifecycle_flags |= RIDE_LIFECYCLE_BROKEN_DOWN; + ride_breakdown_add_news_item(vehicle->ride); - ride->window_invalidate_flags |= - RIDE_INVALIDATE_RIDE_MAIN | - RIDE_INVALIDATE_RIDE_LIST | - RIDE_INVALIDATE_RIDE_MAINTENANCE; - ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; - ride->inspection_station = vehicle->current_station; - ride->breakdown_reason = ride->breakdown_reason_pending; - vehicle->velocity = 0; - return; - } + ride->window_invalidate_flags |= + RIDE_INVALIDATE_RIDE_MAIN | + RIDE_INVALIDATE_RIDE_LIST | + RIDE_INVALIDATE_RIDE_MAINTENANCE; + ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; + ride->inspection_station = vehicle->current_station; + ride->breakdown_reason = ride->breakdown_reason_pending; + vehicle->velocity = 0; + return; + } - vehicle->sub_state = 1; - vehicle_peep_easteregg_here_we_are(vehicle); + vehicle->sub_state = 1; + vehicle_peep_easteregg_here_we_are(vehicle); - if (rideEntry->flags & RIDE_ENTRY_FLAG_PLAY_DEPART_SOUND) { - uint8 soundId = (rideEntry->vehicles[0].sound_range == 4) ? - SOUND_TRAM : - SOUND_TRAIN_CHUGGING; + if (rideEntry->flags & RIDE_ENTRY_FLAG_PLAY_DEPART_SOUND) { + uint8 soundId = (rideEntry->vehicles[0].sound_range == 4) ? + SOUND_TRAM : + SOUND_TRAIN_CHUGGING; - audio_play_sound_at_location( - soundId, - vehicle->x, - vehicle->y, - vehicle->z); - } + audio_play_sound_at_location( + soundId, + vehicle->x, + vehicle->y, + vehicle->z); + } - if (ride->mode == RIDE_MODE_UPWARD_LAUNCH || - (ride->mode == RIDE_MODE_DOWNWARD_LAUNCH && vehicle->var_CE > 1)) { + if (ride->mode == RIDE_MODE_UPWARD_LAUNCH || + (ride->mode == RIDE_MODE_DOWNWARD_LAUNCH && vehicle->var_CE > 1)) { - audio_play_sound_at_location( - SOUND_RIDE_LAUNCH_2, - vehicle->x, - vehicle->y, - vehicle->z - ); - } + audio_play_sound_at_location( + SOUND_RIDE_LAUNCH_2, + vehicle->x, + vehicle->y, + vehicle->z + ); + } - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_TESTING) { - if (ride->current_test_segment + 1 < ride->num_stations) { - ride->current_test_segment++; - ride->current_test_station = vehicle->current_station; - } - else { - vehicle_update_test_finish(vehicle); - } - } - else if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TEST_IN_PROGRESS)) { - vehicle_test_reset(vehicle); - } - } - } + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) { + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_TESTING) { + if (ride->current_test_segment + 1 < ride->num_stations) { + ride->current_test_segment++; + ride->current_test_station = vehicle->current_station; + } + else { + vehicle_update_test_finish(vehicle); + } + } + else if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TEST_IN_PROGRESS)) { + vehicle_test_reset(vehicle); + } + } + } - rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; + rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; - switch (ride->mode) { - case RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE: - if (vehicle->velocity >= -131940) - vehicle->acceleration = -3298; - break; - case RIDE_MODE_POWERED_LAUNCH_PASSTROUGH: - case RIDE_MODE_POWERED_LAUNCH: - case RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED: - case RIDE_MODE_LIM_POWERED_LAUNCH: - case RIDE_MODE_UPWARD_LAUNCH: - if (ride->type == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) { - if ((ride->launch_speed << 16) > vehicle->velocity) { - vehicle->acceleration = ride->launch_speed << 13; - } - break; - } + switch (ride->mode) { + case RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE: + if (vehicle->velocity >= -131940) + vehicle->acceleration = -3298; + break; + case RIDE_MODE_POWERED_LAUNCH_PASSTROUGH: + case RIDE_MODE_POWERED_LAUNCH: + case RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED: + case RIDE_MODE_LIM_POWERED_LAUNCH: + case RIDE_MODE_UPWARD_LAUNCH: + if (ride->type == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) { + if ((ride->launch_speed << 16) > vehicle->velocity) { + vehicle->acceleration = ride->launch_speed << 13; + } + break; + } - if ((ride->launch_speed << 16) > vehicle->velocity) - vehicle->acceleration = ride->launch_speed << 12; - break; - case RIDE_MODE_DOWNWARD_LAUNCH: - if (vehicle->var_CE >= 1) { - if ((14 << 16) > vehicle->velocity) - vehicle->acceleration = 14 << 12; - break; - } - // Fall through - case RIDE_MODE_CONTINUOUS_CIRCUIT: - case RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED: - case RIDE_MODE_ROTATING_LIFT: - case RIDE_MODE_FREEFALL_DROP: - case RIDE_MODE_BOAT_HIRE: - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3) - break; + if ((ride->launch_speed << 16) > vehicle->velocity) + vehicle->acceleration = ride->launch_speed << 12; + break; + case RIDE_MODE_DOWNWARD_LAUNCH: + if (vehicle->var_CE >= 1) { + if ((14 << 16) > vehicle->velocity) + vehicle->acceleration = 14 << 12; + break; + } + // Fall through + case RIDE_MODE_CONTINUOUS_CIRCUIT: + case RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED: + case RIDE_MODE_ROTATING_LIFT: + case RIDE_MODE_FREEFALL_DROP: + case RIDE_MODE_BOAT_HIRE: + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3) + break; - if (vehicle->velocity <= 131940) - vehicle->acceleration = 3298; - break; - } + if (vehicle->velocity <= 131940) + vehicle->acceleration = 3298; + break; + } - uint32 flags = vehicle_update_track_motion(vehicle, NULL); + uint32 flags = vehicle_update_track_motion(vehicle, NULL); - if (flags & (1 << 8)) { - if (ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) { - vehicle->velocity = -vehicle->velocity; - vehicle_finish_departing(vehicle); - return; - } - } + if (flags & (1 << 8)) { + if (ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) { + vehicle->velocity = -vehicle->velocity; + vehicle_finish_departing(vehicle); + return; + } + } - if (flags & ((1 << 5) | (1 << 12))) { - if (ride->mode == RIDE_MODE_BOAT_HIRE) { - vehicle_update_departing_boat_hire(vehicle); - return; - } - else if (ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) { - vehicle->velocity = -vehicle->velocity; - vehicle_finish_departing(vehicle); - return; - } - else if (ride->mode == RIDE_MODE_SHUTTLE) { - vehicle->update_flags ^= VEHICLE_UPDATE_FLAG_3; - vehicle->velocity = 0; - } - } + if (flags & ((1 << 5) | (1 << 12))) { + if (ride->mode == RIDE_MODE_BOAT_HIRE) { + vehicle_update_departing_boat_hire(vehicle); + return; + } + else if (ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) { + vehicle->velocity = -vehicle->velocity; + vehicle_finish_departing(vehicle); + return; + } + else if (ride->mode == RIDE_MODE_SHUTTLE) { + vehicle->update_flags ^= VEHICLE_UPDATE_FLAG_3; + vehicle->velocity = 0; + } + } - if (flags & VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_ON_LIFT_HILL) { - vehicle->var_B8 |= (1 << 1); - if (ride->mode != RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) { - sint32 speed = ride->lift_hill_speed * 31079; - if (vehicle->velocity <= speed) { - vehicle->acceleration = 15539; - if (vehicle->velocity != 0) { - if (_vehicleBreakdown == BREAKDOWN_SAFETY_CUT_OUT) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_7; - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_1; - } - } - else - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_1; - } - } - else { - sint32 speed = ride->lift_hill_speed * -31079; - if (vehicle->velocity >= speed) { - vehicle->acceleration = -15539; - if (vehicle->velocity != 0) { - if (_vehicleBreakdown == BREAKDOWN_SAFETY_CUT_OUT) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_7; - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_1; - } - } - else - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_1; - } - } - } + if (flags & VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_ON_LIFT_HILL) { + vehicle->var_B8 |= (1 << 1); + if (ride->mode != RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) { + sint32 speed = ride->lift_hill_speed * 31079; + if (vehicle->velocity <= speed) { + vehicle->acceleration = 15539; + if (vehicle->velocity != 0) { + if (_vehicleBreakdown == BREAKDOWN_SAFETY_CUT_OUT) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_7; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_1; + } + } + else + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_1; + } + } + else { + sint32 speed = ride->lift_hill_speed * -31079; + if (vehicle->velocity >= speed) { + vehicle->acceleration = -15539; + if (vehicle->velocity != 0) { + if (_vehicleBreakdown == BREAKDOWN_SAFETY_CUT_OUT) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_7; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_1; + } + } + else + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_1; + } + } + } - if (ride->mode == RIDE_MODE_FREEFALL_DROP) { - vehicle->var_C5++; - }else{ - bool shouldLaunch = true; - if (ride->mode == RIDE_MODE_DOWNWARD_LAUNCH) { - if (vehicle->var_CE < 1) - shouldLaunch = false; - } + if (ride->mode == RIDE_MODE_FREEFALL_DROP) { + vehicle->var_C5++; + }else{ + bool shouldLaunch = true; + if (ride->mode == RIDE_MODE_DOWNWARD_LAUNCH) { + if (vehicle->var_CE < 1) + shouldLaunch = false; + } - if (shouldLaunch) { - if (!(flags & (1 << 3)) || _vehicleStationIndex != vehicle->current_station) { - vehicle_finish_departing(vehicle); - return; - } + if (shouldLaunch) { + if (!(flags & (1 << 3)) || _vehicleStationIndex != vehicle->current_station) { + vehicle_finish_departing(vehicle); + return; + } - if (!(flags & (1 << 5))) - return; - if (ride->mode == RIDE_MODE_BOAT_HIRE || - ride->mode == RIDE_MODE_ROTATING_LIFT || - ride->mode == RIDE_MODE_SHUTTLE) - return; + if (!(flags & (1 << 5))) + return; + if (ride->mode == RIDE_MODE_BOAT_HIRE || + ride->mode == RIDE_MODE_ROTATING_LIFT || + ride->mode == RIDE_MODE_SHUTTLE) + return; - vehicle_update_crash_setup(vehicle); - return; - } - } + vehicle_update_crash_setup(vehicle); + return; + } + } - if (vehicle_next_tower_element_is_top(vehicle) == false) { - if (ride->mode == RIDE_MODE_FREEFALL_DROP) - vehicle_invalidate(vehicle); - return; - } + if (vehicle_next_tower_element_is_top(vehicle) == false) { + if (ride->mode == RIDE_MODE_FREEFALL_DROP) + vehicle_invalidate(vehicle); + return; + } - vehicle_finish_departing(vehicle); + vehicle_finish_departing(vehicle); } /** @@ -2904,51 +2904,51 @@ static void vehicle_update_departing(rct_vehicle* vehicle) { * rct2: 0x006D8858 */ static void vehicle_finish_departing(rct_vehicle* vehicle) { - rct_ride* ride = get_ride(vehicle->ride); + rct_ride* ride = get_ride(vehicle->ride); - if (ride->mode == RIDE_MODE_DOWNWARD_LAUNCH ) { - if (vehicle->var_CE >= 1 && (14 << 16) > vehicle->velocity) - return; + if (ride->mode == RIDE_MODE_DOWNWARD_LAUNCH ) { + if (vehicle->var_CE >= 1 && (14 << 16) > vehicle->velocity) + return; - audio_play_sound_at_location( - SOUND_RIDE_LAUNCH_1, - vehicle->x, - vehicle->y, - vehicle->z); - } + audio_play_sound_at_location( + SOUND_RIDE_LAUNCH_1, + vehicle->x, + vehicle->y, + vehicle->z); + } - if (ride->mode == RIDE_MODE_UPWARD_LAUNCH) { - if ((ride->launch_speed << 16) > vehicle->velocity) - return; + if (ride->mode == RIDE_MODE_UPWARD_LAUNCH) { + if ((ride->launch_speed << 16) > vehicle->velocity) + return; - audio_play_sound_at_location( - SOUND_RIDE_LAUNCH_1, - vehicle->x, - vehicle->y, - vehicle->z); - } + audio_play_sound_at_location( + SOUND_RIDE_LAUNCH_1, + vehicle->x, + vehicle->y, + vehicle->z); + } - if (ride->mode != RIDE_MODE_RACE && - ride->mode != RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED && - ride->mode != RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED) { + if (ride->mode != RIDE_MODE_RACE && + ride->mode != RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED && + ride->mode != RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED) { - ride->station_depart[vehicle->current_station] &= STATION_DEPART_FLAG; - uint8 waitingTime = 3; - if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH) { - waitingTime = max(ride->min_waiting_time, 3); - waitingTime = min(waitingTime, 127); - } + ride->station_depart[vehicle->current_station] &= STATION_DEPART_FLAG; + uint8 waitingTime = 3; + if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH) { + waitingTime = max(ride->min_waiting_time, 3); + waitingTime = min(waitingTime, 127); + } - ride->station_depart[vehicle->current_station] |= waitingTime; - } + ride->station_depart[vehicle->current_station] |= waitingTime; + } - vehicle->status = VEHICLE_STATUS_TRAVELLING; - vehicle_invalidate_window(vehicle); - vehicle->lost_time_out = 0; + vehicle->status = VEHICLE_STATUS_TRAVELLING; + vehicle_invalidate_window(vehicle); + vehicle->lost_time_out = 0; - vehicle->sub_state = 1; - if (vehicle->velocity < 0) - vehicle->sub_state = 0; + vehicle->sub_state = 1; + if (vehicle->velocity < 0) + vehicle->sub_state = 0; } /** @@ -2956,42 +2956,42 @@ static void vehicle_finish_departing(rct_vehicle* vehicle) { * rct2: 0x006DE5CB */ static void vehicle_check_if_missing(rct_vehicle* vehicle) { - rct_ride* ride = get_ride(vehicle->ride); + rct_ride* ride = get_ride(vehicle->ride); - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) - return; + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) + return; - if (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || - ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED) - return; + if (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || + ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED) + return; - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_CHECK_FOR_STALLING)) - return; + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_CHECK_FOR_STALLING)) + return; - vehicle->lost_time_out++; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_HAS_STALLED_VEHICLE) - return; + vehicle->lost_time_out++; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_HAS_STALLED_VEHICLE) + return; - uint16 limit = ride->type == RIDE_TYPE_BOAT_RIDE ? 15360 : 9600; + uint16 limit = ride->type == RIDE_TYPE_BOAT_RIDE ? 15360 : 9600; - if (vehicle->lost_time_out <= limit) - return; + if (vehicle->lost_time_out <= limit) + return; - ride->lifecycle_flags |= RIDE_LIFECYCLE_HAS_STALLED_VEHICLE; + ride->lifecycle_flags |= RIDE_LIFECYCLE_HAS_STALLED_VEHICLE; - set_format_arg(0, rct_string_id, RideComponentNames[RideNameConvention[ride->type].vehicle].number); + set_format_arg(0, rct_string_id, RideComponentNames[RideNameConvention[ride->type].vehicle].number); - uint8 vehicleIndex = 0; - for (; vehicleIndex < ride->num_vehicles; ++vehicleIndex) - if (ride->vehicles[vehicleIndex] == vehicle->sprite_index) break; + uint8 vehicleIndex = 0; + for (; vehicleIndex < ride->num_vehicles; ++vehicleIndex) + if (ride->vehicles[vehicleIndex] == vehicle->sprite_index) break; - vehicleIndex++; - set_format_arg(2, uint16, vehicleIndex); - set_format_arg(4, rct_string_id, ride->name); - set_format_arg(6, uint32, ride->name_arguments); - set_format_arg(10, rct_string_id, RideComponentNames[RideNameConvention[ride->type].station].singular); + vehicleIndex++; + set_format_arg(2, uint16, vehicleIndex); + set_format_arg(4, rct_string_id, ride->name); + set_format_arg(6, uint32, ride->name_arguments); + set_format_arg(10, rct_string_id, RideComponentNames[RideNameConvention[ride->type].station].singular); - news_item_add_to_queue(NEWS_ITEM_RIDE, STR_NEWS_VEHICLE_HAS_STALLED, vehicle->ride); + news_item_add_to_queue(NEWS_ITEM_RIDE, STR_NEWS_VEHICLE_HAS_STALLED, vehicle->ride); } /** @@ -3001,99 +3001,99 @@ static void vehicle_check_if_missing(rct_vehicle* vehicle) { * rct2: 0x006DA059 */ static void vehicle_update_collision_setup(rct_vehicle* vehicle) { - vehicle->status = VEHICLE_STATUS_CRASHED; - vehicle_invalidate_window(vehicle); + vehicle->status = VEHICLE_STATUS_CRASHED; + vehicle_invalidate_window(vehicle); - rct_ride* ride = get_ride(vehicle->ride); - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) { - rct_vehicle* frontVehicle = vehicle; - while (frontVehicle->is_child != 0)frontVehicle = GET_VEHICLE(frontVehicle->prev_vehicle_on_ride); + rct_ride* ride = get_ride(vehicle->ride); + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) { + rct_vehicle* frontVehicle = vehicle; + while (frontVehicle->is_child != 0)frontVehicle = GET_VEHICLE(frontVehicle->prev_vehicle_on_ride); - int trainIndex = ride_get_train_index_from_vehicle(ride, frontVehicle->sprite_index); - if (trainIndex == VEHICLE_INVALID_ID) - { - return; - } + int trainIndex = ride_get_train_index_from_vehicle(ride, frontVehicle->sprite_index); + if (trainIndex == VEHICLE_INVALID_ID) + { + return; + } - ride_crash(vehicle->ride, trainIndex); + ride_crash(vehicle->ride, trainIndex); - if (ride->status != RIDE_STATUS_CLOSED) { - ride_set_status(vehicle->ride, RIDE_STATUS_CLOSED); - } - } + if (ride->status != RIDE_STATUS_CLOSED) { + ride_set_status(vehicle->ride, RIDE_STATUS_CLOSED); + } + } - ride->lifecycle_flags |= RIDE_LIFECYCLE_CRASHED; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; - vehicle_kill_all_passengers(vehicle); + ride->lifecycle_flags |= RIDE_LIFECYCLE_CRASHED; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + vehicle_kill_all_passengers(vehicle); - rct_vehicle* lastVehicle = vehicle; - uint16 spriteId = vehicle->sprite_index; - for (rct_vehicle* train; spriteId != SPRITE_INDEX_NULL; spriteId = train->next_vehicle_on_train) { - train = GET_VEHICLE(spriteId); - lastVehicle = train; + rct_vehicle* lastVehicle = vehicle; + uint16 spriteId = vehicle->sprite_index; + for (rct_vehicle* train; spriteId != SPRITE_INDEX_NULL; spriteId = train->next_vehicle_on_train) { + train = GET_VEHICLE(spriteId); + lastVehicle = train; - train->sub_state = 2; + train->sub_state = 2; - audio_play_sound_at_location( - SOUND_CRASH, - train->x, - train->y, - train->z - ); + audio_play_sound_at_location( + SOUND_CRASH, + train->x, + train->y, + train->z + ); - sprite_misc_explosion_cloud_create( - train->x, - train->y, - train->z - ); + sprite_misc_explosion_cloud_create( + train->x, + train->y, + train->z + ); - for (sint32 i = 0; i < 10; i++) { - crashed_vehicle_particle_create( - train->colours, - train->x, - train->y, - train->z - ); - } + for (sint32 i = 0; i < 10; i++) { + crashed_vehicle_particle_create( + train->colours, + train->x, + train->y, + train->z + ); + } - train->flags |= SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE; - train->var_C8 = scenario_rand(); - train->var_CA = scenario_rand(); + train->flags |= SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE; + train->var_C8 = scenario_rand(); + train->var_CA = scenario_rand(); - train->var_C5 = train->var_CA & 0x7; - train->sprite_width = 13; - train->sprite_height_negative = 45; - train->sprite_height_positive = 5; + train->var_C5 = train->var_CA & 0x7; + train->sprite_width = 13; + train->sprite_height_negative = 45; + train->sprite_height_positive = 5; - sprite_move(train->x, train->y, train->z, (rct_sprite*)train); - invalidate_sprite_2((rct_sprite*)train); + sprite_move(train->x, train->y, train->z, (rct_sprite*)train); + invalidate_sprite_2((rct_sprite*)train); - train->var_4E = 0; - } + train->var_4E = 0; + } - (GET_VEHICLE(vehicle->prev_vehicle_on_ride))->next_vehicle_on_ride = lastVehicle->next_vehicle_on_ride; - (GET_VEHICLE(lastVehicle->next_vehicle_on_ride))->prev_vehicle_on_ride = vehicle->prev_vehicle_on_ride; - vehicle->velocity = 0; + (GET_VEHICLE(vehicle->prev_vehicle_on_ride))->next_vehicle_on_ride = lastVehicle->next_vehicle_on_ride; + (GET_VEHICLE(lastVehicle->next_vehicle_on_ride))->prev_vehicle_on_ride = vehicle->prev_vehicle_on_ride; + vehicle->velocity = 0; } /** rct2: 0x009A3AC4, 0x009A3AC6 */ static const rct_xy16 stru_9A3AC4[] = { - { -256, 0 }, - { -236, 98 }, - { -181, 181 }, - { -98, 236 }, - { 0, 256 }, - { 98, 236 }, - { 181, 181 }, - { 236, 98 }, - { 256, 0 }, - { 236, -98 }, - { 181, -181 }, - { 98, -236 }, - { 0, -256 }, - { -98, -236 }, - { -181, -181 }, - { -236, -98 }, + { -256, 0 }, + { -236, 98 }, + { -181, 181 }, + { -98, 236 }, + { 0, 256 }, + { 98, 236 }, + { 181, 181 }, + { 236, 98 }, + { 256, 0 }, + { 236, -98 }, + { 181, -181 }, + { 98, -236 }, + { 0, -256 }, + { -98, -236 }, + { -181, -181 }, + { -236, -98 }, }; /** @@ -3101,59 +3101,59 @@ static const rct_xy16 stru_9A3AC4[] = { * rct2: 0x006D9EFE */ static void vehicle_update_crash_setup(rct_vehicle* vehicle) { - vehicle->status = VEHICLE_STATUS_CRASHING; - vehicle_invalidate_window(vehicle); + vehicle->status = VEHICLE_STATUS_CRASHING; + vehicle_invalidate_window(vehicle); - sint32 num_peeps = vehicle_get_total_num_peeps(vehicle); - if (num_peeps != 0) { - audio_play_sound_at_location( - SOUND_HAUNTED_HOUSE_SCREAM_2, - vehicle->x, - vehicle->y, - vehicle->z - ); - } + sint32 num_peeps = vehicle_get_total_num_peeps(vehicle); + if (num_peeps != 0) { + audio_play_sound_at_location( + SOUND_HAUNTED_HOUSE_SCREAM_2, + vehicle->x, + vehicle->y, + vehicle->z + ); + } - sint32 edx = vehicle->velocity >> 10; + sint32 edx = vehicle->velocity >> 10; - rct_vehicle* lastVehicle = vehicle; - uint16 spriteId = vehicle->sprite_index; - for (rct_vehicle* trainVehicle; spriteId != SPRITE_INDEX_NULL; spriteId = trainVehicle->next_vehicle_on_train) { - trainVehicle = GET_VEHICLE(spriteId); - lastVehicle = trainVehicle; + rct_vehicle* lastVehicle = vehicle; + uint16 spriteId = vehicle->sprite_index; + for (rct_vehicle* trainVehicle; spriteId != SPRITE_INDEX_NULL; spriteId = trainVehicle->next_vehicle_on_train) { + trainVehicle = GET_VEHICLE(spriteId); + lastVehicle = trainVehicle; - trainVehicle->sub_state = 0; - sint32 x = stru_9A3AC4[trainVehicle->sprite_direction / 2].x; - sint32 y = stru_9A3AC4[trainVehicle->sprite_direction / 2].y; + trainVehicle->sub_state = 0; + sint32 x = stru_9A3AC4[trainVehicle->sprite_direction / 2].x; + sint32 y = stru_9A3AC4[trainVehicle->sprite_direction / 2].y; - sint32 ecx = Unk9A37E4[trainVehicle->vehicle_sprite_type] >> 15; - x *= ecx; - y *= ecx; - x >>= 16; - y >>= 16; - ecx = Unk9A38D4[trainVehicle->vehicle_sprite_type] >> 23; - x *= edx; - y *= edx; - ecx *= edx; - x >>= 8; - y >>= 8; - ecx >>= 8; + sint32 ecx = Unk9A37E4[trainVehicle->vehicle_sprite_type] >> 15; + x *= ecx; + y *= ecx; + x >>= 16; + y >>= 16; + ecx = Unk9A38D4[trainVehicle->vehicle_sprite_type] >> 23; + x *= edx; + y *= edx; + ecx *= edx; + x >>= 8; + y >>= 8; + ecx >>= 8; - trainVehicle->var_B6 = x; - trainVehicle->var_C0 = y; - trainVehicle->var_4E = ecx; - trainVehicle->var_B6 += (scenario_rand() & 0xF) - 8; - trainVehicle->var_C0 += (scenario_rand() & 0xF) - 8; - trainVehicle->var_4E += (scenario_rand() & 0xF) - 8; + trainVehicle->var_B6 = x; + trainVehicle->var_C0 = y; + trainVehicle->var_4E = ecx; + trainVehicle->var_B6 += (scenario_rand() & 0xF) - 8; + trainVehicle->var_C0 += (scenario_rand() & 0xF) - 8; + trainVehicle->var_4E += (scenario_rand() & 0xF) - 8; - trainVehicle->track_x = 0; - trainVehicle->track_y = 0; - trainVehicle->track_z = 0; - } + trainVehicle->track_x = 0; + trainVehicle->track_y = 0; + trainVehicle->track_z = 0; + } - (GET_VEHICLE(vehicle->prev_vehicle_on_ride))->next_vehicle_on_ride = lastVehicle->next_vehicle_on_ride; - (GET_VEHICLE(lastVehicle->next_vehicle_on_ride))->prev_vehicle_on_ride = vehicle->prev_vehicle_on_ride; - vehicle->velocity = 0; + (GET_VEHICLE(vehicle->prev_vehicle_on_ride))->next_vehicle_on_ride = lastVehicle->next_vehicle_on_ride; + (GET_VEHICLE(lastVehicle->next_vehicle_on_ride))->prev_vehicle_on_ride = vehicle->prev_vehicle_on_ride; + vehicle->velocity = 0; } /** @@ -3161,158 +3161,158 @@ static void vehicle_update_crash_setup(rct_vehicle* vehicle) { * rct2: 0x006D8937 */ static void vehicle_update_travelling(rct_vehicle* vehicle) { - vehicle_check_if_missing(vehicle); + vehicle_check_if_missing(vehicle); - rct_ride* ride = get_ride(vehicle->ride); - if (_vehicleBreakdown == 0 && ride->mode == RIDE_MODE_ROTATING_LIFT) - return; + rct_ride* ride = get_ride(vehicle->ride); + if (_vehicleBreakdown == 0 && ride->mode == RIDE_MODE_ROTATING_LIFT) + return; - if (vehicle->sub_state == 2) { - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle->var_C0--; - if (vehicle->var_C0 == 0) - vehicle->sub_state = 0; - } + if (vehicle->sub_state == 2) { + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle->var_C0--; + if (vehicle->var_C0 == 0) + vehicle->sub_state = 0; + } - if (ride->mode == RIDE_MODE_FREEFALL_DROP && - vehicle->var_C5 != 0) { + if (ride->mode == RIDE_MODE_FREEFALL_DROP && + vehicle->var_C5 != 0) { - vehicle->var_C5++; - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle_invalidate(vehicle); - return; - } + vehicle->var_C5++; + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle_invalidate(vehicle); + return; + } - uint32 flags = vehicle_update_track_motion(vehicle, NULL); + uint32 flags = vehicle_update_track_motion(vehicle, NULL); - bool skipCheck = false; - if (flags & ((1 << 8) | (1 << 9)) && - ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE && - vehicle->sub_state == 0) { - vehicle->sub_state = 1; - vehicle->velocity = 0; - skipCheck = true; - } + bool skipCheck = false; + if (flags & ((1 << 8) | (1 << 9)) && + ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE && + vehicle->sub_state == 0) { + vehicle->sub_state = 1; + vehicle->velocity = 0; + skipCheck = true; + } - if (!skipCheck) { - if (flags & (1 << 6)) { - vehicle_update_crash_setup(vehicle); - return; - } + if (!skipCheck) { + if (flags & (1 << 6)) { + vehicle_update_crash_setup(vehicle); + return; + } - if (flags & (1 << 7)) { - vehicle_update_collision_setup(vehicle); - return; - } + if (flags & (1 << 7)) { + vehicle_update_collision_setup(vehicle); + return; + } - if (flags & ((1 << 5) | (1 << 12))) { - if (ride->mode == RIDE_MODE_ROTATING_LIFT) { - if (vehicle->sub_state <= 1) { - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 1; - vehicle->var_C0 = 0; - return; - } - } - else if (ride->mode == RIDE_MODE_BOAT_HIRE) { - vehicle_update_travelling_boat_hire_setup(vehicle); - return; - } - else if (ride->mode == RIDE_MODE_SHUTTLE) { - vehicle->update_flags ^= VEHICLE_UPDATE_FLAG_3; - vehicle->velocity = 0; - } - else { - if (vehicle->sub_state != 0) { - vehicle_update_crash_setup(vehicle); - return; - } - vehicle->sub_state = 1; - vehicle->velocity = 0; - } - } - } + if (flags & ((1 << 5) | (1 << 12))) { + if (ride->mode == RIDE_MODE_ROTATING_LIFT) { + if (vehicle->sub_state <= 1) { + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 1; + vehicle->var_C0 = 0; + return; + } + } + else if (ride->mode == RIDE_MODE_BOAT_HIRE) { + vehicle_update_travelling_boat_hire_setup(vehicle); + return; + } + else if (ride->mode == RIDE_MODE_SHUTTLE) { + vehicle->update_flags ^= VEHICLE_UPDATE_FLAG_3; + vehicle->velocity = 0; + } + else { + if (vehicle->sub_state != 0) { + vehicle_update_crash_setup(vehicle); + return; + } + vehicle->sub_state = 1; + vehicle->velocity = 0; + } + } + } - if (ride->mode == RIDE_MODE_ROTATING_LIFT && - vehicle->sub_state <= 1) { + if (ride->mode == RIDE_MODE_ROTATING_LIFT && + vehicle->sub_state <= 1) { - if (vehicle->sub_state == 0) { - if (vehicle->velocity >= -131940) - vehicle->acceleration = -3298; - vehicle->velocity = max(vehicle->velocity, -131940); - } - else { - if (vehicle_next_tower_element_is_top(vehicle) == true) { - vehicle->velocity = 0; - vehicle->sub_state = 2; - vehicle->var_C0 = 150; - } - else { - if (vehicle->velocity <= 131940) - vehicle->acceleration = 3298; - } - } - } + if (vehicle->sub_state == 0) { + if (vehicle->velocity >= -131940) + vehicle->acceleration = -3298; + vehicle->velocity = max(vehicle->velocity, -131940); + } + else { + if (vehicle_next_tower_element_is_top(vehicle) == true) { + vehicle->velocity = 0; + vehicle->sub_state = 2; + vehicle->var_C0 = 150; + } + else { + if (vehicle->velocity <= 131940) + vehicle->acceleration = 3298; + } + } + } - if (flags & VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_ON_LIFT_HILL) { - if (ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) { - if (vehicle->sub_state == 0) { - if (vehicle->velocity != 0) - vehicle->var_B8 |= (1 << 1); + if (flags & VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_ON_LIFT_HILL) { + if (ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) { + if (vehicle->sub_state == 0) { + if (vehicle->velocity != 0) + vehicle->var_B8 |= (1 << 1); - if (!(vehicle->update_flags & VEHICLE_UPDATE_FLAG_12)) { - if (vehicle->velocity >= ride->lift_hill_speed * -31079) { - vehicle->acceleration = -15539; + if (!(vehicle->update_flags & VEHICLE_UPDATE_FLAG_12)) { + if (vehicle->velocity >= ride->lift_hill_speed * -31079) { + vehicle->acceleration = -15539; - if (_vehicleBreakdown == 0) { - vehicle->var_B8 &= ~(1 << 1); - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_7; - } - } - } - } - } - else { - vehicle->var_B8 |= (1 << 1); - if (vehicle->velocity <= ride->lift_hill_speed * 31079) { - vehicle->acceleration = 15539; - if (vehicle->velocity != 0) { - if (_vehicleBreakdown == 0) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_7; - vehicle->var_B8 &= ~(1 << 1); - } - } - else { - vehicle->var_B8 &= ~(1 << 1); - } - } - } - } + if (_vehicleBreakdown == 0) { + vehicle->var_B8 &= ~(1 << 1); + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_7; + } + } + } + } + } + else { + vehicle->var_B8 |= (1 << 1); + if (vehicle->velocity <= ride->lift_hill_speed * 31079) { + vehicle->acceleration = 15539; + if (vehicle->velocity != 0) { + if (_vehicleBreakdown == 0) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_7; + vehicle->var_B8 &= ~(1 << 1); + } + } + else { + vehicle->var_B8 &= ~(1 << 1); + } + } + } + } - if (!(flags & (1 << 3))) - return; + if (!(flags & (1 << 3))) + return; - if (ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE && - vehicle->velocity >= 0 && - !(vehicle->update_flags & VEHICLE_UPDATE_FLAG_12)) { - return; - } + if (ride->mode == RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE && + vehicle->velocity >= 0 && + !(vehicle->update_flags & VEHICLE_UPDATE_FLAG_12)) { + return; + } - if (ride->mode == RIDE_MODE_POWERED_LAUNCH_PASSTROUGH && - vehicle->velocity < 0) - return; + if (ride->mode == RIDE_MODE_POWERED_LAUNCH_PASSTROUGH && + vehicle->velocity < 0) + return; - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle->current_station = _vehicleStationIndex; - vehicle_invalidate_window(vehicle); - vehicle->var_C0 = 0; + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle->current_station = _vehicleStationIndex; + vehicle_invalidate_window(vehicle); + vehicle->var_C0 = 0; - vehicle->sub_state = 0; - if (vehicle->velocity < 0) - vehicle->sub_state = 1; + vehicle->sub_state = 0; + if (vehicle->velocity < 0) + vehicle->sub_state = 1; } /** @@ -3321,216 +3321,216 @@ static void vehicle_update_travelling(rct_vehicle* vehicle) { */ static void vehicle_update_arriving(rct_vehicle* vehicle) { - uint8 unkF64E35 = 1; - rct_ride* ride = get_ride(vehicle->ride); + uint8 unkF64E35 = 1; + rct_ride* ride = get_ride(vehicle->ride); - switch (ride->mode) { - case RIDE_MODE_SWING: - case RIDE_MODE_ROTATION: - case RIDE_MODE_FORWARD_ROTATION: - case RIDE_MODE_BACKWARD_ROTATION: - case RIDE_MODE_FILM_AVENGING_AVIATORS: - case RIDE_MODE_FILM_THRILL_RIDERS: - case RIDE_MODE_BEGINNERS: - case RIDE_MODE_INTENSE: - case RIDE_MODE_BERSERK: - case RIDE_MODE_3D_FILM_MOUSE_TAILS: - case RIDE_MODE_3D_FILM_STORM_CHASERS: - case RIDE_MODE_3D_FILM_SPACE_RAIDERS: - case RIDE_MODE_CIRCUS_SHOW: - case RIDE_MODE_SPACE_RINGS: - case RIDE_MODE_HAUNTED_HOUSE: - case RIDE_MODE_CROOKED_HOUSE: - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_12; - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle->status = VEHICLE_STATUS_UNLOADING_PASSENGERS; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - return; - } + switch (ride->mode) { + case RIDE_MODE_SWING: + case RIDE_MODE_ROTATION: + case RIDE_MODE_FORWARD_ROTATION: + case RIDE_MODE_BACKWARD_ROTATION: + case RIDE_MODE_FILM_AVENGING_AVIATORS: + case RIDE_MODE_FILM_THRILL_RIDERS: + case RIDE_MODE_BEGINNERS: + case RIDE_MODE_INTENSE: + case RIDE_MODE_BERSERK: + case RIDE_MODE_3D_FILM_MOUSE_TAILS: + case RIDE_MODE_3D_FILM_STORM_CHASERS: + case RIDE_MODE_3D_FILM_SPACE_RAIDERS: + case RIDE_MODE_CIRCUS_SHOW: + case RIDE_MODE_SPACE_RINGS: + case RIDE_MODE_HAUNTED_HOUSE: + case RIDE_MODE_CROOKED_HOUSE: + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_12; + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle->status = VEHICLE_STATUS_UNLOADING_PASSENGERS; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + return; + } - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN && - ride->breakdown_reason_pending == BREAKDOWN_BRAKES_FAILURE && - ride->inspection_station == vehicle->current_station && - ride->mechanic_status != RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES - ) { - unkF64E35 = 0; - } + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN && + ride->breakdown_reason_pending == BREAKDOWN_BRAKES_FAILURE && + ride->inspection_station == vehicle->current_station && + ride->mechanic_status != RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES + ) { + unkF64E35 = 0; + } - rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; + rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; - if (vehicle->sub_state == 0) { - if (ride->mode == RIDE_MODE_RACE && - ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) { - goto loc_6D8E36; - } + if (vehicle->sub_state == 0) { + if (ride->mode == RIDE_MODE_RACE && + ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) { + goto loc_6D8E36; + } - if (vehicle->velocity <= 131940) { - vehicle->acceleration = 3298; - goto loc_6D8E36; - } + if (vehicle->velocity <= 131940) { + vehicle->acceleration = 3298; + goto loc_6D8E36; + } - sint32 velocity_diff = vehicle->velocity; - if (velocity_diff >= 1572864) - velocity_diff /= 8; - else - velocity_diff /= 16; + sint32 velocity_diff = vehicle->velocity; + if (velocity_diff >= 1572864) + velocity_diff /= 8; + else + velocity_diff /= 16; - if (unkF64E35 == 0) { - goto loc_6D8E36; - } + if (unkF64E35 == 0) { + goto loc_6D8E36; + } - if (ride->num_circuits != 1) { - if (vehicle->num_laps + 1 < ride->num_circuits) { - goto loc_6D8E36; - } - } - vehicle->velocity -= velocity_diff; - vehicle->acceleration = 0; - } - else { - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3) && - vehicle->velocity >= -131940) { - vehicle->acceleration = -3298; - } + if (ride->num_circuits != 1) { + if (vehicle->num_laps + 1 < ride->num_circuits) { + goto loc_6D8E36; + } + } + vehicle->velocity -= velocity_diff; + vehicle->acceleration = 0; + } + else { + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3) && + vehicle->velocity >= -131940) { + vehicle->acceleration = -3298; + } - if (vehicle->velocity >= -131940) { - goto loc_6D8E36; - } + if (vehicle->velocity >= -131940) { + goto loc_6D8E36; + } - sint32 velocity_diff = vehicle->velocity; - if (velocity_diff < -1572864) - velocity_diff /= 8; - else - velocity_diff /= 16; + sint32 velocity_diff = vehicle->velocity; + if (velocity_diff < -1572864) + velocity_diff /= 8; + else + velocity_diff /= 16; - if (unkF64E35 == 0) { - goto loc_6D8E36; - } + if (unkF64E35 == 0) { + goto loc_6D8E36; + } - if (vehicle->num_laps + 1 < ride->num_circuits) { - goto loc_6D8E36; - } + if (vehicle->num_laps + 1 < ride->num_circuits) { + goto loc_6D8E36; + } - if (vehicle->num_laps + 1 != ride->num_circuits) { - vehicle->velocity -= velocity_diff; - vehicle->acceleration = 0; - goto loc_6D8E36; - } + if (vehicle->num_laps + 1 != ride->num_circuits) { + vehicle->velocity -= velocity_diff; + vehicle->acceleration = 0; + goto loc_6D8E36; + } - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS && - ride->mode != RIDE_MODE_SHUTTLE && - ride->mode != RIDE_MODE_POWERED_LAUNCH) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_12; - } - else{ - vehicle->velocity -= velocity_diff; - vehicle->acceleration = 0; - } - } + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS && + ride->mode != RIDE_MODE_SHUTTLE && + ride->mode != RIDE_MODE_POWERED_LAUNCH) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_12; + } + else{ + vehicle->velocity -= velocity_diff; + vehicle->acceleration = 0; + } + } - uint32 flags; + uint32 flags; loc_6D8E36: - flags = vehicle_update_track_motion(vehicle, NULL); - if (flags & (1 << 7) && - unkF64E35 == 0 - ) { - vehicle_update_collision_setup(vehicle); - return; - } + flags = vehicle_update_track_motion(vehicle, NULL); + if (flags & (1 << 7) && + unkF64E35 == 0 + ) { + vehicle_update_collision_setup(vehicle); + return; + } - if (flags & (1 << 0) && - unkF64E35 == 0 - ) { - vehicle->status = VEHICLE_STATUS_DEPARTING; - vehicle->sub_state = 1; - vehicle_invalidate_window(vehicle); - return; - } + if (flags & (1 << 0) && + unkF64E35 == 0 + ) { + vehicle->status = VEHICLE_STATUS_DEPARTING; + vehicle->sub_state = 1; + vehicle_invalidate_window(vehicle); + return; + } - if (!(flags & ((1 << 0) | (1 << 1) | (1 << 5)))) { - if (vehicle->velocity > 98955) - vehicle->var_C0 = 0; - return; - } + if (!(flags & ((1 << 0) | (1 << 1) | (1 << 5)))) { + if (vehicle->velocity > 98955) + vehicle->var_C0 = 0; + return; + } - vehicle->var_C0++; - if (flags & (1 << 1) && - vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14 && - vehicle->var_C0 < 40){ - return; - } + vehicle->var_C0++; + if (flags & (1 << 1) && + vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14 && + vehicle->var_C0 < 40){ + return; + } - rct_map_element* mapElement = map_get_track_element_at( - vehicle->track_x, - vehicle->track_y, - vehicle->track_z / 8 - ); + rct_map_element* mapElement = map_get_track_element_at( + vehicle->track_x, + vehicle->track_y, + vehicle->track_z / 8 + ); - if (mapElement == NULL) { - return; - } + if (mapElement == NULL) { + return; + } - vehicle->current_station = map_get_station(mapElement); - vehicle->num_laps++; + vehicle->current_station = map_get_station(mapElement); + vehicle->num_laps++; - if (vehicle->sub_state != 0) { - if (vehicle->num_laps < ride->num_circuits) { - vehicle->status = VEHICLE_STATUS_DEPARTING; - vehicle->sub_state = 1; - vehicle_invalidate_window(vehicle); - return; - } + if (vehicle->sub_state != 0) { + if (vehicle->num_laps < ride->num_circuits) { + vehicle->status = VEHICLE_STATUS_DEPARTING; + vehicle->sub_state = 1; + vehicle_invalidate_window(vehicle); + return; + } - if (vehicle->num_laps == ride->num_circuits && - vehicle->update_flags & VEHICLE_UPDATE_FLAG_12) { - vehicle->status = VEHICLE_STATUS_DEPARTING; - vehicle->sub_state = 1; - vehicle_invalidate_window(vehicle); - return; - } - } + if (vehicle->num_laps == ride->num_circuits && + vehicle->update_flags & VEHICLE_UPDATE_FLAG_12) { + vehicle->status = VEHICLE_STATUS_DEPARTING; + vehicle->sub_state = 1; + vehicle_invalidate_window(vehicle); + return; + } + } - if (ride->num_circuits != 1 && - vehicle->num_laps < ride->num_circuits) { - vehicle->status = VEHICLE_STATUS_DEPARTING; - vehicle->sub_state = 1; - vehicle_invalidate_window(vehicle); - return; - } + if (ride->num_circuits != 1 && + vehicle->num_laps < ride->num_circuits) { + vehicle->status = VEHICLE_STATUS_DEPARTING; + vehicle->sub_state = 1; + vehicle_invalidate_window(vehicle); + return; + } - if ((ride->mode == RIDE_MODE_UPWARD_LAUNCH || - ride->mode == RIDE_MODE_DOWNWARD_LAUNCH) && - vehicle->var_CE < 2) { - audio_play_sound_at_location( - SOUND_RIDE_LAUNCH_2, - vehicle->x, - vehicle->y, - vehicle->z); - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle->status = VEHICLE_STATUS_DEPARTING; - vehicle->sub_state = 1; - vehicle_invalidate_window(vehicle); - return; - } + if ((ride->mode == RIDE_MODE_UPWARD_LAUNCH || + ride->mode == RIDE_MODE_DOWNWARD_LAUNCH) && + vehicle->var_CE < 2) { + audio_play_sound_at_location( + SOUND_RIDE_LAUNCH_2, + vehicle->x, + vehicle->y, + vehicle->z); + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle->status = VEHICLE_STATUS_DEPARTING; + vehicle->sub_state = 1; + vehicle_invalidate_window(vehicle); + return; + } - if (ride->mode == RIDE_MODE_RACE && - ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) { - vehicle->status = VEHICLE_STATUS_DEPARTING; - vehicle->sub_state = 1; - vehicle_invalidate_window(vehicle); - return; - } + if (ride->mode == RIDE_MODE_RACE && + ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) { + vehicle->status = VEHICLE_STATUS_DEPARTING; + vehicle->sub_state = 1; + vehicle_invalidate_window(vehicle); + return; + } - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_12; - vehicle->velocity = 0; - vehicle->acceleration = 0; - vehicle->status = VEHICLE_STATUS_UNLOADING_PASSENGERS; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_12; + vehicle->velocity = 0; + vehicle->acceleration = 0; + vehicle->status = VEHICLE_STATUS_UNLOADING_PASSENGERS; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); } /** @@ -3538,91 +3538,91 @@ static void vehicle_update_arriving(rct_vehicle* vehicle) * rct2: 0x006D9002 */ static void vehicle_update_unloading_passengers(rct_vehicle* vehicle) { - if (vehicle->sub_state == 0) { - if (!vehicle_open_restraints(vehicle)) { - vehicle->sub_state = 1; - } - } + if (vehicle->sub_state == 0) { + if (!vehicle_open_restraints(vehicle)) { + vehicle->sub_state = 1; + } + } - rct_ride* ride = get_ride(vehicle->ride); - if (ride->mode == RIDE_MODE_FORWARD_ROTATION || - ride->mode == RIDE_MODE_BACKWARD_ROTATION) { - uint8 seat = ((-vehicle->vehicle_sprite_type) >> 3) & 0xF; - if (vehicle->restraints_position == 255 && - (vehicle->peep[seat * 2] != SPRITE_INDEX_NULL)) { - vehicle->next_free_seat -= 2; + rct_ride* ride = get_ride(vehicle->ride); + if (ride->mode == RIDE_MODE_FORWARD_ROTATION || + ride->mode == RIDE_MODE_BACKWARD_ROTATION) { + uint8 seat = ((-vehicle->vehicle_sprite_type) >> 3) & 0xF; + if (vehicle->restraints_position == 255 && + (vehicle->peep[seat * 2] != SPRITE_INDEX_NULL)) { + vehicle->next_free_seat -= 2; - rct_peep* peep = GET_PEEP(vehicle->peep[seat * 2]); - vehicle->peep[seat * 2] = SPRITE_INDEX_NULL; + rct_peep* peep = GET_PEEP(vehicle->peep[seat * 2]); + vehicle->peep[seat * 2] = SPRITE_INDEX_NULL; - peep_decrement_num_riders(peep); - peep->sub_state = 7; - peep->state = PEEP_STATE_LEAVING_RIDE; - peep_window_state_update(peep); + peep_decrement_num_riders(peep); + peep->sub_state = 7; + peep->state = PEEP_STATE_LEAVING_RIDE; + peep_window_state_update(peep); - peep = GET_PEEP(vehicle->peep[seat * 2 + 1]); - vehicle->peep[seat * 2 + 1] = SPRITE_INDEX_NULL; + peep = GET_PEEP(vehicle->peep[seat * 2 + 1]); + vehicle->peep[seat * 2 + 1] = SPRITE_INDEX_NULL; - peep_decrement_num_riders(peep); - peep->sub_state = 7; - peep->state = PEEP_STATE_LEAVING_RIDE; - peep_window_state_update(peep); - } - } - else { - if (ride->exits[vehicle->current_station] == 0xFFFF) { - if (vehicle->sub_state != 1) - return; + peep_decrement_num_riders(peep); + peep->sub_state = 7; + peep->state = PEEP_STATE_LEAVING_RIDE; + peep_window_state_update(peep); + } + } + else { + if (ride->exits[vehicle->current_station] == 0xFFFF) { + if (vehicle->sub_state != 1) + return; - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED) && - vehicle->update_flags & VEHICLE_UPDATE_FLAG_TESTING && - ride->current_test_segment + 1 >= ride->num_stations) { - vehicle_update_test_finish(vehicle); - } - vehicle->status = VEHICLE_STATUS_MOVING_TO_END_OF_STATION; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); - return; - } + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED) && + vehicle->update_flags & VEHICLE_UPDATE_FLAG_TESTING && + ride->current_test_segment + 1 >= ride->num_stations) { + vehicle_update_test_finish(vehicle); + } + vehicle->status = VEHICLE_STATUS_MOVING_TO_END_OF_STATION; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); + return; + } - uint16 spriteId = vehicle->sprite_index; - for (rct_vehicle* train; spriteId != SPRITE_INDEX_NULL; spriteId = train->next_vehicle_on_train) { - train = GET_VEHICLE(spriteId); - if (train->restraints_position != 255) - continue; + uint16 spriteId = vehicle->sprite_index; + for (rct_vehicle* train; spriteId != SPRITE_INDEX_NULL; spriteId = train->next_vehicle_on_train) { + train = GET_VEHICLE(spriteId); + if (train->restraints_position != 255) + continue; - if (train->next_free_seat == 0) - continue; + if (train->next_free_seat == 0) + continue; - train->next_free_seat = 0; - for (uint8 peepIndex = 0; peepIndex < train->num_peeps; peepIndex++) { - rct_peep* peep = GET_PEEP(train->peep[peepIndex]); - peep_decrement_num_riders(peep); - peep->sub_state = 7; - peep->state = PEEP_STATE_LEAVING_RIDE; - peep_window_state_update(peep); - } - } - } + train->next_free_seat = 0; + for (uint8 peepIndex = 0; peepIndex < train->num_peeps; peepIndex++) { + rct_peep* peep = GET_PEEP(train->peep[peepIndex]); + peep_decrement_num_riders(peep); + peep->sub_state = 7; + peep->state = PEEP_STATE_LEAVING_RIDE; + peep_window_state_update(peep); + } + } + } - if (vehicle->sub_state != 1) - return; + if (vehicle->sub_state != 1) + return; - uint16 spriteId = vehicle->sprite_index; - for (rct_vehicle* train; spriteId != SPRITE_INDEX_NULL; spriteId = train->next_vehicle_on_train) { - train = GET_VEHICLE(spriteId); - if (train->num_peeps != train->next_free_seat) - return; - } + uint16 spriteId = vehicle->sprite_index; + for (rct_vehicle* train; spriteId != SPRITE_INDEX_NULL; spriteId = train->next_vehicle_on_train) { + train = GET_VEHICLE(spriteId); + if (train->num_peeps != train->next_free_seat) + return; + } - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED) && - vehicle->update_flags & VEHICLE_UPDATE_FLAG_TESTING && - ride->current_test_segment + 1 >= ride->num_stations) { - vehicle_update_test_finish(vehicle); - } - vehicle->status = VEHICLE_STATUS_MOVING_TO_END_OF_STATION; - vehicle->sub_state = 0; - vehicle_invalidate_window(vehicle); + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED) && + vehicle->update_flags & VEHICLE_UPDATE_FLAG_TESTING && + ride->current_test_segment + 1 >= ride->num_stations) { + vehicle_update_test_finish(vehicle); + } + vehicle->status = VEHICLE_STATUS_MOVING_TO_END_OF_STATION; + vehicle->sub_state = 0; + vehicle_invalidate_window(vehicle); } /** @@ -3631,15 +3631,15 @@ static void vehicle_update_unloading_passengers(rct_vehicle* vehicle) { */ static void vehicle_update_waiting_for_cable_lift(rct_vehicle *vehicle) { - rct_ride* ride = get_ride(vehicle->ride); + rct_ride* ride = get_ride(vehicle->ride); - rct_vehicle* cableLift = GET_VEHICLE(ride->cable_lift); + rct_vehicle* cableLift = GET_VEHICLE(ride->cable_lift); - if (cableLift->status != VEHICLE_STATUS_WAITING_FOR_PASSENGERS) - return; + if (cableLift->status != VEHICLE_STATUS_WAITING_FOR_PASSENGERS) + return; - cableLift->status = VEHICLE_STATUS_WAITING_TO_DEPART; - cableLift->cable_lift_target = vehicle->sprite_index; + cableLift->status = VEHICLE_STATUS_WAITING_TO_DEPART; + cableLift->cable_lift_target = vehicle->sprite_index; } /** @@ -3647,79 +3647,79 @@ static void vehicle_update_waiting_for_cable_lift(rct_vehicle *vehicle) * rct2: 0x006D9D21 */ static void vehicle_update_travelling_cable_lift(rct_vehicle* vehicle) { - rct_ride* ride = get_ride(vehicle->ride); + rct_ride* ride = get_ride(vehicle->ride); - if (vehicle->sub_state == 0) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_BROKEN_TRAIN) { - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) - return; + if (vehicle->sub_state == 0) { + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_BROKEN_TRAIN) { + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) + return; - ride->lifecycle_flags |= RIDE_LIFECYCLE_BROKEN_DOWN; - ride_breakdown_add_news_item(vehicle->ride); - ride->window_invalidate_flags |= - RIDE_INVALIDATE_RIDE_MAIN | - RIDE_INVALIDATE_RIDE_LIST | - RIDE_INVALIDATE_RIDE_MAINTENANCE; + ride->lifecycle_flags |= RIDE_LIFECYCLE_BROKEN_DOWN; + ride_breakdown_add_news_item(vehicle->ride); + ride->window_invalidate_flags |= + RIDE_INVALIDATE_RIDE_MAIN | + RIDE_INVALIDATE_RIDE_LIST | + RIDE_INVALIDATE_RIDE_MAINTENANCE; - ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; - ride->inspection_station = vehicle->current_station; - ride->breakdown_reason = ride->breakdown_reason_pending; - vehicle->velocity = 0; - return; - } + ride->mechanic_status = RIDE_MECHANIC_STATUS_CALLING; + ride->inspection_station = vehicle->current_station; + ride->breakdown_reason = ride->breakdown_reason_pending; + vehicle->velocity = 0; + return; + } - vehicle->sub_state = 1; - vehicle_peep_easteregg_here_we_are(vehicle); - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_TESTING) { - if (ride->current_test_segment + 1 < ride->num_stations) { - ride->current_test_segment++; - ride->current_test_station = vehicle->current_station; - } - else { - vehicle_update_test_finish(vehicle); - } - } - else if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TEST_IN_PROGRESS)) { - vehicle_test_reset(vehicle); - } - } - } + vehicle->sub_state = 1; + vehicle_peep_easteregg_here_we_are(vehicle); + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) { + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_TESTING) { + if (ride->current_test_segment + 1 < ride->num_stations) { + ride->current_test_segment++; + ride->current_test_station = vehicle->current_station; + } + else { + vehicle_update_test_finish(vehicle); + } + } + else if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TEST_IN_PROGRESS)) { + vehicle_test_reset(vehicle); + } + } + } - if (vehicle->velocity <= 439800) { - vehicle->acceleration = 4398; - } - sint32 flags = vehicle_update_track_motion(vehicle, NULL); + if (vehicle->velocity <= 439800) { + vehicle->acceleration = 4398; + } + sint32 flags = vehicle_update_track_motion(vehicle, NULL); - if (flags & VEHICLE_UPDATE_MOTION_TRACK_FLAG_11) { - vehicle->status = VEHICLE_STATUS_TRAVELLING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 1; - vehicle->lost_time_out = 0; - return; - } + if (flags & VEHICLE_UPDATE_MOTION_TRACK_FLAG_11) { + vehicle->status = VEHICLE_STATUS_TRAVELLING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 1; + vehicle->lost_time_out = 0; + return; + } - if (vehicle->sub_state == 2) - return; + if (vehicle->sub_state == 2) + return; - if (flags & VEHICLE_UPDATE_MOTION_TRACK_FLAG_3 && vehicle->current_station == _vehicleStationIndex) - return; + if (flags & VEHICLE_UPDATE_MOTION_TRACK_FLAG_3 && vehicle->current_station == _vehicleStationIndex) + return; - vehicle->sub_state = 2; + vehicle->sub_state = 2; - if (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || - ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED) - return; + if (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || + ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED) + return; - // This is slightly different to the vanilla function - ride->station_depart[vehicle->current_station] &= STATION_DEPART_FLAG; - uint8 waitingTime = 3; - if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH) { - waitingTime = max(ride->min_waiting_time, 3); - waitingTime = min(waitingTime, 127); - } + // This is slightly different to the vanilla function + ride->station_depart[vehicle->current_station] &= STATION_DEPART_FLAG; + uint8 waitingTime = 3; + if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH) { + waitingTime = max(ride->min_waiting_time, 3); + waitingTime = min(waitingTime, 127); + } - ride->station_depart[vehicle->current_station] |= waitingTime; + ride->station_depart[vehicle->current_station] |= waitingTime; } /** @@ -3728,33 +3728,33 @@ static void vehicle_update_travelling_cable_lift(rct_vehicle* vehicle) { */ static void vehicle_update_travelling_boat(rct_vehicle* vehicle) { - vehicle_check_if_missing(vehicle); - vehicle_update_motion_boat_hire(vehicle); + vehicle_check_if_missing(vehicle); + vehicle_update_motion_boat_hire(vehicle); } static void loc_6DA9F9(rct_vehicle *vehicle, sint32 x, sint32 y, sint32 bx, sint32 dx) { - vehicle->remaining_distance = 0; - if (!vehicle_update_motion_collision_detection(vehicle, x, y, vehicle->z, NULL)) { - vehicle->track_x = bx; - vehicle->track_y = dx; + vehicle->remaining_distance = 0; + if (!vehicle_update_motion_collision_detection(vehicle, x, y, vehicle->z, NULL)) { + vehicle->track_x = bx; + vehicle->track_y = dx; - rct_map_element *mapElement = map_get_track_element_at( - vehicle->track_x, - vehicle->track_y, - vehicle->track_z >> 3 - ); + rct_map_element *mapElement = map_get_track_element_at( + vehicle->track_x, + vehicle->track_y, + vehicle->track_z >> 3 + ); - rct_ride *ride = get_ride(vehicle->ride); - vehicle->track_type = - (mapElement->properties.track.type << 2) | - (ride->boat_hire_return_direction & 3); + rct_ride *ride = get_ride(vehicle->ride); + vehicle->track_type = + (mapElement->properties.track.type << 2) | + (ride->boat_hire_return_direction & 3); - vehicle->track_progress = 0; - vehicle->status = VEHICLE_STATUS_TRAVELLING; - unk_F64E20.x = x; - unk_F64E20.y = y; - } + vehicle->track_progress = 0; + vehicle->status = VEHICLE_STATUS_TRAVELLING; + unk_F64E20.x = x; + unk_F64E20.y = y; + } } /** @@ -3763,235 +3763,235 @@ static void loc_6DA9F9(rct_vehicle *vehicle, sint32 x, sint32 y, sint32 bx, sint */ static void vehicle_update_motion_boat_hire(rct_vehicle *vehicle) { - _vehicleMotionTrackFlags = 0; - vehicle->velocity += vehicle->acceleration; - _vehicleVelocityF64E08 = vehicle->velocity; - _vehicleVelocityF64E0C = (vehicle->velocity >> 10) * 42; + _vehicleMotionTrackFlags = 0; + vehicle->velocity += vehicle->acceleration; + _vehicleVelocityF64E08 = vehicle->velocity; + _vehicleVelocityF64E0C = (vehicle->velocity >> 10) * 42; - rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); - if (vehicleEntry->flags_b & (VEHICLE_ENTRY_FLAG_B_7 | VEHICLE_ENTRY_FLAG_B_8)) { - sub_6D63D4(vehicle); - } + rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); + if (vehicleEntry->flags_b & (VEHICLE_ENTRY_FLAG_B_7 | VEHICLE_ENTRY_FLAG_B_8)) { + sub_6D63D4(vehicle); + } - _vehicleUnkF64E10 = 1; - vehicle->acceleration = 0; - vehicle->remaining_distance += _vehicleVelocityF64E0C; - if (vehicle->remaining_distance >= 0x368A) { - vehicle->var_B8 &= ~(1 << 1); - unk_F64E20.x = vehicle->x; - unk_F64E20.y = vehicle->y; - unk_F64E20.z = vehicle->z; - vehicle_invalidate(vehicle); + _vehicleUnkF64E10 = 1; + vehicle->acceleration = 0; + vehicle->remaining_distance += _vehicleVelocityF64E0C; + if (vehicle->remaining_distance >= 0x368A) { + vehicle->var_B8 &= ~(1 << 1); + unk_F64E20.x = vehicle->x; + unk_F64E20.y = vehicle->y; + unk_F64E20.z = vehicle->z; + vehicle_invalidate(vehicle); - for (;;) { - // loc_6DA7A5 - vehicle->var_35++; - sint32 x = (vehicle->boat_location.x * 32) + 16; - sint32 y = (vehicle->boat_location.y * 32) + 16; - sint32 z; - uint8 bl; + for (;;) { + // loc_6DA7A5 + vehicle->var_35++; + sint32 x = (vehicle->boat_location.x * 32) + 16; + sint32 y = (vehicle->boat_location.y * 32) + 16; + sint32 z; + uint8 bl; - x -= vehicle->x; - if (x >= 0) { - y -= vehicle->y; - if (y < 0) { - // loc_6DA81A: - y = -y; - bl = 24; - if (y <= x * 4) { - bl = 16; - if (x <= y * 4) { - bl = 20; - } - } - } else { - bl = 8; - if (y <= x * 4) { - bl = 16; - if (x <= y * 4) { - bl = 12; - } - } - } - } else { - y -= vehicle->y; - if (y < 0) { - // loc_6DA83D: - x = -x; - y = -y; - bl = 24; - if (y <= x * 4) { - bl = 0; - if (x <= y * 4) { - bl = 28; - } - } - } else { - x = -x; - bl = 8; - if (y <= x * 4) { - bl = 0; - if (x <= y * 4) { - bl = 4; - } - } - } - } + x -= vehicle->x; + if (x >= 0) { + y -= vehicle->y; + if (y < 0) { + // loc_6DA81A: + y = -y; + bl = 24; + if (y <= x * 4) { + bl = 16; + if (x <= y * 4) { + bl = 20; + } + } + } else { + bl = 8; + if (y <= x * 4) { + bl = 16; + if (x <= y * 4) { + bl = 12; + } + } + } + } else { + y -= vehicle->y; + if (y < 0) { + // loc_6DA83D: + x = -x; + y = -y; + bl = 24; + if (y <= x * 4) { + bl = 0; + if (x <= y * 4) { + bl = 28; + } + } + } else { + x = -x; + bl = 8; + if (y <= x * 4) { + bl = 0; + if (x <= y * 4) { + bl = 4; + } + } + } + } - // loc_6DA861: - vehicle->var_34 = bl; - x += y; - if (x <= 12) { - vehicle_update_boat_location(vehicle); - } + // loc_6DA861: + vehicle->var_34 = bl; + x += y; + if (x <= 12) { + vehicle_update_boat_location(vehicle); + } - if (!(vehicle->var_35 & (1 << 0))) { - uint8 spriteDirection = vehicle->sprite_direction; - if (spriteDirection != vehicle->var_34) { - uint8 dl = (vehicle->var_34 + 16 - spriteDirection) & 0x1E; - if (dl >= 16) { - spriteDirection += 2; - if (dl > 24) { - vehicle->var_35--; - } - } else { - spriteDirection -= 2; - if (dl < 8) { - vehicle->var_35--; - } - } + if (!(vehicle->var_35 & (1 << 0))) { + uint8 spriteDirection = vehicle->sprite_direction; + if (spriteDirection != vehicle->var_34) { + uint8 dl = (vehicle->var_34 + 16 - spriteDirection) & 0x1E; + if (dl >= 16) { + spriteDirection += 2; + if (dl > 24) { + vehicle->var_35--; + } + } else { + spriteDirection -= 2; + if (dl < 8) { + vehicle->var_35--; + } + } - vehicle->sprite_direction = spriteDirection & 0x1E; - } - } + vehicle->sprite_direction = spriteDirection & 0x1E; + } + } - sint32 edi = (vehicle->sprite_direction | (vehicle->var_35 & 1)) & 0x1F; - x = vehicle->x + Unk9A36C4[edi].x; - y = vehicle->y + Unk9A36C4[edi].y; - z = vehicle->z; - if (vehicle_update_motion_collision_detection(vehicle, x, y, z, NULL)) { - vehicle->remaining_distance = 0; - if (vehicle->sprite_direction == vehicle->var_34) { - vehicle->sprite_direction ^= (1 << 4); - vehicle_update_boat_location(vehicle); - vehicle->sprite_direction ^= (1 << 4); - } - break; - } + sint32 edi = (vehicle->sprite_direction | (vehicle->var_35 & 1)) & 0x1F; + x = vehicle->x + Unk9A36C4[edi].x; + y = vehicle->y + Unk9A36C4[edi].y; + z = vehicle->z; + if (vehicle_update_motion_collision_detection(vehicle, x, y, z, NULL)) { + vehicle->remaining_distance = 0; + if (vehicle->sprite_direction == vehicle->var_34) { + vehicle->sprite_direction ^= (1 << 4); + vehicle_update_boat_location(vehicle); + vehicle->sprite_direction ^= (1 << 4); + } + break; + } - sint32 bx = floor2(x, 32); - sint32 dx = floor2(y, 32); - if (bx != vehicle->track_x || dx != vehicle->track_y) { - if (vehicle_is_boat_on_water(vehicle, x, y)) { - // loc_6DA939: - rct_ride *ride = get_ride(vehicle->ride); + sint32 bx = floor2(x, 32); + sint32 dx = floor2(y, 32); + if (bx != vehicle->track_x || dx != vehicle->track_y) { + if (vehicle_is_boat_on_water(vehicle, x, y)) { + // loc_6DA939: + rct_ride *ride = get_ride(vehicle->ride); - bool do_loc_6DAA97 = false; - if (vehicle->sub_state != 1) { - do_loc_6DAA97 = true; - } else { - uint16 xy = (((dx >> 5) << 8) | (bx >> 5)); - if (xy != ride->boat_hire_return_position.xy) { - do_loc_6DAA97 = true; - } - } + bool do_loc_6DAA97 = false; + if (vehicle->sub_state != 1) { + do_loc_6DAA97 = true; + } else { + uint16 xy = (((dx >> 5) << 8) | (bx >> 5)); + if (xy != ride->boat_hire_return_position.xy) { + do_loc_6DAA97 = true; + } + } - // loc_6DAA97: - if (do_loc_6DAA97) { - vehicle->remaining_distance = 0; - if (vehicle->sprite_direction == vehicle->var_34) { - vehicle_update_boat_location(vehicle); - } - break; - } + // loc_6DAA97: + if (do_loc_6DAA97) { + vehicle->remaining_distance = 0; + if (vehicle->sprite_direction == vehicle->var_34) { + vehicle_update_boat_location(vehicle); + } + break; + } - if (!(ride->boat_hire_return_direction & 1)) { - uint16 bp = y & 0x1F; - if (bp == 16) { - loc_6DA9F9(vehicle, x, y, bx, dx); - break; - } - if (bp <= 16) { - x = unk_F64E20.x; - y = unk_F64E20.y + 1; - } else { - x = unk_F64E20.x; - y = unk_F64E20.y - 1; - } - } else { - // loc_6DA9A2: - uint16 bp = x & 0x1F; - if (bp == 16) { - loc_6DA9F9(vehicle, x, y, bx, dx); - break; - } - if (bp <= 16) { - x = unk_F64E20.x + 1; - y = unk_F64E20.y; - } else { - x = unk_F64E20.x - 1; - y = unk_F64E20.y; - } - } + if (!(ride->boat_hire_return_direction & 1)) { + uint16 bp = y & 0x1F; + if (bp == 16) { + loc_6DA9F9(vehicle, x, y, bx, dx); + break; + } + if (bp <= 16) { + x = unk_F64E20.x; + y = unk_F64E20.y + 1; + } else { + x = unk_F64E20.x; + y = unk_F64E20.y - 1; + } + } else { + // loc_6DA9A2: + uint16 bp = x & 0x1F; + if (bp == 16) { + loc_6DA9F9(vehicle, x, y, bx, dx); + break; + } + if (bp <= 16) { + x = unk_F64E20.x + 1; + y = unk_F64E20.y; + } else { + x = unk_F64E20.x - 1; + y = unk_F64E20.y; + } + } - // loc_6DA9D1: - vehicle->remaining_distance = 0; - if (!vehicle_update_motion_collision_detection(vehicle, x, y, vehicle->z, NULL)) { - unk_F64E20.x = x; - unk_F64E20.y = y; - } - break; - } - vehicle->track_x = bx; - vehicle->track_y = dx; - } + // loc_6DA9D1: + vehicle->remaining_distance = 0; + if (!vehicle_update_motion_collision_detection(vehicle, x, y, vehicle->z, NULL)) { + unk_F64E20.x = x; + unk_F64E20.y = y; + } + break; + } + vehicle->track_x = bx; + vehicle->track_y = dx; + } - vehicle->remaining_distance -= Unk9A36C4[edi].distance; - unk_F64E20.x = x; - unk_F64E20.y = y; - if (vehicle->remaining_distance < 0x368A) { - break; - } - _vehicleUnkF64E10++; - } + vehicle->remaining_distance -= Unk9A36C4[edi].distance; + unk_F64E20.x = x; + unk_F64E20.y = y; + if (vehicle->remaining_distance < 0x368A) { + break; + } + _vehicleUnkF64E10++; + } - sprite_move( - unk_F64E20.x, - unk_F64E20.y, - unk_F64E20.z, - (rct_sprite*)vehicle - ); - vehicle_invalidate(vehicle); - } + sprite_move( + unk_F64E20.x, + unk_F64E20.y, + unk_F64E20.z, + (rct_sprite*)vehicle + ); + vehicle_invalidate(vehicle); + } // loc_6DAAC9: - { - sint32 edx = vehicle->velocity >> 8; - edx = (edx * edx); - if (vehicle->velocity < 0) { - edx = -edx; - } - edx >>= 5; + { + sint32 edx = vehicle->velocity >> 8; + edx = (edx * edx); + if (vehicle->velocity < 0) { + edx = -edx; + } + edx >>= 5; - // Hack to fix people messing with boat hire - sint32 friction = vehicle->friction == 0 ? 1 : vehicle->friction; + // Hack to fix people messing with boat hire + sint32 friction = vehicle->friction == 0 ? 1 : vehicle->friction; - sint32 eax = ((vehicle->velocity >> 1) + edx) / friction; - sint32 ecx = -eax; - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3) { - eax = vehicle->speed << 14; - sint32 ebx = (vehicle->speed * friction) >> 2; - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_3) { - eax = -eax; - } - eax -= vehicle->velocity; - edx = vehicle->powered_acceleration * 2; - ecx += (eax * edx) / ebx; - } - vehicle->acceleration = ecx; - } - // eax = _vehicleMotionTrackFlags; - // ebx = _vehicleStationIndex; + sint32 eax = ((vehicle->velocity >> 1) + edx) / friction; + sint32 ecx = -eax; + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3) { + eax = vehicle->speed << 14; + sint32 ebx = (vehicle->speed * friction) >> 2; + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_3) { + eax = -eax; + } + eax -= vehicle->velocity; + edx = vehicle->powered_acceleration * 2; + ecx += (eax * edx) / ebx; + } + vehicle->acceleration = ecx; + } + // eax = _vehicleMotionTrackFlags; + // ebx = _vehicleStationIndex; } /** @@ -4000,65 +4000,65 @@ static void vehicle_update_motion_boat_hire(rct_vehicle *vehicle) */ static void vehicle_update_boat_location(rct_vehicle *vehicle) { - rct_ride *ride = get_ride(vehicle->ride); - rct_xy8 returnPosition = ride->boat_hire_return_position; - uint8 returnDirection = ride->boat_hire_return_direction & 3; + rct_ride *ride = get_ride(vehicle->ride); + rct_xy8 returnPosition = ride->boat_hire_return_position; + uint8 returnDirection = ride->boat_hire_return_direction & 3; - rct_xy8 location = { - .x = (vehicle->x + TileDirectionDelta[returnDirection].x) / 32, - .y = (vehicle->y + TileDirectionDelta[returnDirection].y) / 32 - }; + rct_xy8 location = { + .x = (vehicle->x + TileDirectionDelta[returnDirection].x) / 32, + .y = (vehicle->y + TileDirectionDelta[returnDirection].y) / 32 + }; - if (location.xy == returnPosition.xy) { - vehicle->sub_state = 1; - vehicle->boat_location = location; - return; - } + if (location.xy == returnPosition.xy) { + vehicle->sub_state = 1; + vehicle->boat_location = location; + return; + } - vehicle->sub_state = 0; - uint8 curDirection = ((vehicle->sprite_direction + 19) >> 3) & 3; - uint8 randDirection = scenario_rand() & 3; + vehicle->sub_state = 0; + uint8 curDirection = ((vehicle->sprite_direction + 19) >> 3) & 3; + uint8 randDirection = scenario_rand() & 3; - rct_ride_entry *rideEntry = get_ride_entry(vehicle->ride_subtype); - if (!(rideEntry->flags & RIDE_ENTRY_FLAG_7) || vehicle->lost_time_out > 1920) { - if (scenario_rand() & 1) { - rct_xy16 destLocation = { - .x = returnPosition.x * 32 - TileDirectionDelta[returnDirection].x + 16, - .y = returnPosition.y * 32 - TileDirectionDelta[returnDirection].y + 16 - }; + rct_ride_entry *rideEntry = get_ride_entry(vehicle->ride_subtype); + if (!(rideEntry->flags & RIDE_ENTRY_FLAG_7) || vehicle->lost_time_out > 1920) { + if (scenario_rand() & 1) { + rct_xy16 destLocation = { + .x = returnPosition.x * 32 - TileDirectionDelta[returnDirection].x + 16, + .y = returnPosition.y * 32 - TileDirectionDelta[returnDirection].y + 16 + }; - destLocation.x -= vehicle->x; - destLocation.y -= vehicle->y; + destLocation.x -= vehicle->x; + destLocation.y -= vehicle->y; - if (abs(destLocation.x) <= abs(destLocation.y)) { - randDirection = destLocation.y < 0 ? 3 : 1; - } else { - randDirection = destLocation.x < 0 ? 0 : 2; - } - } - } + if (abs(destLocation.x) <= abs(destLocation.y)) { + randDirection = destLocation.y < 0 ? 3 : 1; + } else { + randDirection = destLocation.x < 0 ? 0 : 2; + } + } + } - static const sint8 rotations[] = { 0, 1, -1, 2 }; - for (sint32 i = 0; i < 4; i++) { - if (randDirection + rotations[i] == curDirection) { - continue; - } + static const sint8 rotations[] = { 0, 1, -1, 2 }; + for (sint32 i = 0; i < 4; i++) { + if (randDirection + rotations[i] == curDirection) { + continue; + } - sint16 x = vehicle->track_x + TileDirectionDelta[(randDirection + rotations[i]) & 3].x; - sint16 y = vehicle->track_y + TileDirectionDelta[(randDirection + rotations[i]) & 3].y; + sint16 x = vehicle->track_x + TileDirectionDelta[(randDirection + rotations[i]) & 3].x; + sint16 y = vehicle->track_y + TileDirectionDelta[(randDirection + rotations[i]) & 3].y; - if (vehicle_is_boat_on_water(vehicle, x, y)) { - continue; - } - vehicle->boat_location.x = x / 32; - vehicle->boat_location.y = y / 32; - return; - } + if (vehicle_is_boat_on_water(vehicle, x, y)) { + continue; + } + vehicle->boat_location.x = x / 32; + vehicle->boat_location.y = y / 32; + return; + } - sint16 x = vehicle->track_x + TileDirectionDelta[curDirection & 3].x; - sint16 y = vehicle->track_y + TileDirectionDelta[curDirection & 3].y; - vehicle->boat_location.x = x / 32; - vehicle->boat_location.y = y / 32; + sint16 x = vehicle->track_x + TileDirectionDelta[curDirection & 3].x; + sint16 y = vehicle->track_y + TileDirectionDelta[curDirection & 3].y; + vehicle->boat_location.x = x / 32; + vehicle->boat_location.y = y / 32; } /** @@ -4067,21 +4067,21 @@ static void vehicle_update_boat_location(rct_vehicle *vehicle) */ static bool vehicle_is_boat_on_water(rct_vehicle *vehicle, sint32 x, sint32 y) { - sint32 z = vehicle->track_z >> 3; - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SURFACE) { - sint32 waterZ = (mapElement->properties.surface.terrain & 0x1F) * 2; - if (z != waterZ) { - return true; - } - } else { - if (z > mapElement->base_height - 2 && z < mapElement->clearance_height + 2) { - return true; - } - } - } while (!map_element_is_last_for_tile(mapElement++)); - return false; + sint32 z = vehicle->track_z >> 3; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SURFACE) { + sint32 waterZ = (mapElement->properties.surface.terrain & 0x1F) * 2; + if (z != waterZ) { + return true; + } + } else { + if (z > mapElement->base_height - 2 && z < mapElement->clearance_height + 2) { + return true; + } + } + } while (!map_element_is_last_for_tile(mapElement++)); + return false; } /** @@ -4089,62 +4089,62 @@ static bool vehicle_is_boat_on_water(rct_vehicle *vehicle, sint32 x, sint32 y) * rct2: 0x006D9249 */ static void vehicle_update_swinging(rct_vehicle* vehicle) { - rct_ride* ride = get_ride(vehicle->ride); - rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); + rct_ride* ride = get_ride(vehicle->ride); + rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); - // SubState for this ride means swinging state - // 0 == first swing - // 3 == full swing - uint8 swingState = vehicle->sub_state; - if (rideEntry->flags & RIDE_ENTRY_FLAG_ALTERNATIVE_SWING_MODE_1) { - swingState += 4; - if (rideEntry->flags & RIDE_ENTRY_FLAG_ALTERNATIVE_SWING_MODE_2) - swingState += 4; - } + // SubState for this ride means swinging state + // 0 == first swing + // 3 == full swing + uint8 swingState = vehicle->sub_state; + if (rideEntry->flags & RIDE_ENTRY_FLAG_ALTERNATIVE_SWING_MODE_1) { + swingState += 4; + if (rideEntry->flags & RIDE_ENTRY_FLAG_ALTERNATIVE_SWING_MODE_2) + swingState += 4; + } - const sint8 *spriteMap = SwingingTimeToSpriteMaps[swingState]; - sint8 spriteType = spriteMap[vehicle->current_time + 1]; + const sint8 *spriteMap = SwingingTimeToSpriteMaps[swingState]; + sint8 spriteType = spriteMap[vehicle->current_time + 1]; - // 0x80 indicates that a complete swing has been - // completed and the next swing can start - if (spriteType != -128) { - vehicle->current_time++; - if ((uint8)spriteType != vehicle->vehicle_sprite_type) { - // Used to know which sprite to draw - vehicle->vehicle_sprite_type = (uint8)spriteType; - vehicle_invalidate(vehicle); - } - return; - } + // 0x80 indicates that a complete swing has been + // completed and the next swing can start + if (spriteType != -128) { + vehicle->current_time++; + if ((uint8)spriteType != vehicle->vehicle_sprite_type) { + // Used to know which sprite to draw + vehicle->vehicle_sprite_type = (uint8)spriteType; + vehicle_invalidate(vehicle); + } + return; + } - vehicle->current_time = -1; - vehicle->var_CE++; - if (ride->status != RIDE_STATUS_CLOSED) { - // It takes 3 swings to get into full swing - // ride->rotations already takes this into account - if (vehicle->var_CE + 3 < ride->rotations) { - // Go to the next swing state until we - // are at full swing. - if (vehicle->sub_state != 3) { - vehicle->sub_state++; - } - vehicle_update_swinging(vehicle); - return; - } - } + vehicle->current_time = -1; + vehicle->var_CE++; + if (ride->status != RIDE_STATUS_CLOSED) { + // It takes 3 swings to get into full swing + // ride->rotations already takes this into account + if (vehicle->var_CE + 3 < ride->rotations) { + // Go to the next swing state until we + // are at full swing. + if (vehicle->sub_state != 3) { + vehicle->sub_state++; + } + vehicle_update_swinging(vehicle); + return; + } + } - // To get to this part of the code the - // swing has to be in slowing down phase - if (vehicle->sub_state == 0) { - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 0; - vehicle->var_C0 = 0; - return; - } - // Go towards first swing state - vehicle->sub_state--; - vehicle_update_swinging(vehicle); + // To get to this part of the code the + // swing has to be in slowing down phase + if (vehicle->sub_state == 0) { + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 0; + vehicle->var_C0 = 0; + return; + } + // Go towards first swing state + vehicle->sub_state--; + vehicle_update_swinging(vehicle); } /** @@ -4152,83 +4152,83 @@ static void vehicle_update_swinging(rct_vehicle* vehicle) { * rct2: 0x006D9413 */ static void vehicle_update_ferris_wheel_rotating(rct_vehicle* vehicle) { - if (_vehicleBreakdown == 0) - return; + if (_vehicleBreakdown == 0) + return; - rct_ride* ride = get_ride(vehicle->ride); - if ((vehicle->ferris_wheel_var_1 -= 1) != 0) - return; + rct_ride* ride = get_ride(vehicle->ride); + if ((vehicle->ferris_wheel_var_1 -= 1) != 0) + return; - sint8 ferris_wheel_var_0 = vehicle->ferris_wheel_var_0; + sint8 ferris_wheel_var_0 = vehicle->ferris_wheel_var_0; - if (ferris_wheel_var_0 == 3) { - vehicle->ferris_wheel_var_0 = ferris_wheel_var_0; - vehicle->ferris_wheel_var_1 = ferris_wheel_var_0; - } - else if (ferris_wheel_var_0 < 3) { - if (ferris_wheel_var_0 != -8) - ferris_wheel_var_0--; - vehicle->ferris_wheel_var_0 = ferris_wheel_var_0; - vehicle->ferris_wheel_var_1 = -ferris_wheel_var_0; - } - else { - ferris_wheel_var_0--; - vehicle->ferris_wheel_var_0 = ferris_wheel_var_0; - vehicle->ferris_wheel_var_1 = ferris_wheel_var_0; - } + if (ferris_wheel_var_0 == 3) { + vehicle->ferris_wheel_var_0 = ferris_wheel_var_0; + vehicle->ferris_wheel_var_1 = ferris_wheel_var_0; + } + else if (ferris_wheel_var_0 < 3) { + if (ferris_wheel_var_0 != -8) + ferris_wheel_var_0--; + vehicle->ferris_wheel_var_0 = ferris_wheel_var_0; + vehicle->ferris_wheel_var_1 = -ferris_wheel_var_0; + } + else { + ferris_wheel_var_0--; + vehicle->ferris_wheel_var_0 = ferris_wheel_var_0; + vehicle->ferris_wheel_var_1 = ferris_wheel_var_0; + } - uint8 rotation = vehicle->vehicle_sprite_type; - if (ride->mode == RIDE_MODE_FORWARD_ROTATION) - rotation++; - else - rotation--; + uint8 rotation = vehicle->vehicle_sprite_type; + if (ride->mode == RIDE_MODE_FORWARD_ROTATION) + rotation++; + else + rotation--; - rotation &= 0x7F; - vehicle->vehicle_sprite_type = rotation; + rotation &= 0x7F; + vehicle->vehicle_sprite_type = rotation; - if (rotation == vehicle->sub_state) - vehicle->var_CE++; + if (rotation == vehicle->sub_state) + vehicle->var_CE++; - vehicle_invalidate(vehicle); + vehicle_invalidate(vehicle); - uint8 subState = vehicle->sub_state; - if (ride->mode == RIDE_MODE_FORWARD_ROTATION) - subState++; - else - subState--; - subState &= 0x7F; + uint8 subState = vehicle->sub_state; + if (ride->mode == RIDE_MODE_FORWARD_ROTATION) + subState++; + else + subState--; + subState &= 0x7F; - if (subState == vehicle->vehicle_sprite_type) { - bool shouldStop = true; - if (ride->status != RIDE_STATUS_CLOSED) { - if (vehicle->var_CE < ride->rotations) - shouldStop = false; - } + if (subState == vehicle->vehicle_sprite_type) { + bool shouldStop = true; + if (ride->status != RIDE_STATUS_CLOSED) { + if (vehicle->var_CE < ride->rotations) + shouldStop = false; + } - if (shouldStop) { - ferris_wheel_var_0 = vehicle->ferris_wheel_var_0; - vehicle->ferris_wheel_var_0 = -abs(ferris_wheel_var_0); - vehicle->ferris_wheel_var_1 = abs(ferris_wheel_var_0); - } - } + if (shouldStop) { + ferris_wheel_var_0 = vehicle->ferris_wheel_var_0; + vehicle->ferris_wheel_var_0 = -abs(ferris_wheel_var_0); + vehicle->ferris_wheel_var_1 = abs(ferris_wheel_var_0); + } + } - if (vehicle->ferris_wheel_var_0 != -8) - return; + if (vehicle->ferris_wheel_var_0 != -8) + return; - subState = vehicle->sub_state; - if (ride->mode == RIDE_MODE_FORWARD_ROTATION) - subState += 8; - else - subState -= 8; - subState &= 0x7F; + subState = vehicle->sub_state; + if (ride->mode == RIDE_MODE_FORWARD_ROTATION) + subState += 8; + else + subState -= 8; + subState &= 0x7F; - if (subState != vehicle->vehicle_sprite_type) - return; + if (subState != vehicle->vehicle_sprite_type) + return; - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 0; - vehicle->var_C0 = 0; + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 0; + vehicle->var_C0 = 0; } /** @@ -4236,25 +4236,25 @@ static void vehicle_update_ferris_wheel_rotating(rct_vehicle* vehicle) { * rct2: 0x006D94F2 */ static void vehicle_update_simulator_operating(rct_vehicle* vehicle) { - if (_vehicleBreakdown == 0) - return; + if (_vehicleBreakdown == 0) + return; - assert(vehicle->current_time >= -1); - assert(vehicle->current_time < MotionSimulatorTimeToSpriteMapCount); - uint8 al = MotionSimulatorTimeToSpriteMap[vehicle->current_time + 1]; - if (al != 0xFF) { - vehicle->current_time++; - if (al == vehicle->vehicle_sprite_type) - return; - vehicle->vehicle_sprite_type = al; - vehicle_invalidate(vehicle); - return; - } + assert(vehicle->current_time >= -1); + assert(vehicle->current_time < MotionSimulatorTimeToSpriteMapCount); + uint8 al = MotionSimulatorTimeToSpriteMap[vehicle->current_time + 1]; + if (al != 0xFF) { + vehicle->current_time++; + if (al == vehicle->vehicle_sprite_type) + return; + vehicle->vehicle_sprite_type = al; + vehicle_invalidate(vehicle); + return; + } - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 0; - vehicle->var_C0 = 0; + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 0; + vehicle->var_C0 = 0; } /** @@ -4262,77 +4262,77 @@ static void vehicle_update_simulator_operating(rct_vehicle* vehicle) { * rct2: 0x006D92FF */ static void vehicle_update_rotating(rct_vehicle* vehicle) { - if (_vehicleBreakdown == 0) - return; + if (_vehicleBreakdown == 0) + return; - rct_ride* ride = get_ride(vehicle->ride); - rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); + rct_ride* ride = get_ride(vehicle->ride); + rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); - const uint8* timeToSpriteMap; - if (rideEntry->flags & RIDE_ENTRY_FLAG_ALTERNATIVE_ROTATION_MODE_1) { - timeToSpriteMap = Rotation1TimeToSpriteMaps[vehicle->sub_state]; - } - else if (rideEntry->flags & RIDE_ENTRY_FLAG_ALTERNATIVE_ROTATION_MODE_2) { - timeToSpriteMap = Rotation2TimeToSpriteMaps[vehicle->sub_state]; - } - else { - timeToSpriteMap = Rotation3TimeToSpriteMaps[vehicle->sub_state]; - } + const uint8* timeToSpriteMap; + if (rideEntry->flags & RIDE_ENTRY_FLAG_ALTERNATIVE_ROTATION_MODE_1) { + timeToSpriteMap = Rotation1TimeToSpriteMaps[vehicle->sub_state]; + } + else if (rideEntry->flags & RIDE_ENTRY_FLAG_ALTERNATIVE_ROTATION_MODE_2) { + timeToSpriteMap = Rotation2TimeToSpriteMaps[vehicle->sub_state]; + } + else { + timeToSpriteMap = Rotation3TimeToSpriteMaps[vehicle->sub_state]; + } - sint32 time = (sint16)vehicle->current_time; - if (_vehicleBreakdown == BREAKDOWN_CONTROL_FAILURE) { - time += (ride->breakdown_sound_modifier >> 6) + 1; - } - time++; + sint32 time = (sint16)vehicle->current_time; + if (_vehicleBreakdown == BREAKDOWN_CONTROL_FAILURE) { + time += (ride->breakdown_sound_modifier >> 6) + 1; + } + time++; - uint8 sprite = timeToSpriteMap[(uint32)time]; - if (sprite != 0xFF) { - vehicle->current_time = (uint16)time; - if (sprite == vehicle->vehicle_sprite_type) - return; - vehicle->vehicle_sprite_type = sprite; - vehicle_invalidate(vehicle); - return; - } + uint8 sprite = timeToSpriteMap[(uint32)time]; + if (sprite != 0xFF) { + vehicle->current_time = (uint16)time; + if (sprite == vehicle->vehicle_sprite_type) + return; + vehicle->vehicle_sprite_type = sprite; + vehicle_invalidate(vehicle); + return; + } - vehicle->current_time = -1; - vehicle->var_CE++; - if (_vehicleBreakdown != BREAKDOWN_CONTROL_FAILURE) { - bool shouldStop = true; - if (ride->status != RIDE_STATUS_CLOSED) { - sprite = vehicle->var_CE + 1; - if (ride->type == RIDE_TYPE_ENTERPRISE) - sprite += 9; + vehicle->current_time = -1; + vehicle->var_CE++; + if (_vehicleBreakdown != BREAKDOWN_CONTROL_FAILURE) { + bool shouldStop = true; + if (ride->status != RIDE_STATUS_CLOSED) { + sprite = vehicle->var_CE + 1; + if (ride->type == RIDE_TYPE_ENTERPRISE) + sprite += 9; - if (sprite < ride->rotations) - shouldStop = false; - } + if (sprite < ride->rotations) + shouldStop = false; + } - if (shouldStop == true) { - if (vehicle->sub_state == 2) { - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 0; - vehicle->var_C0 = 0; - return; - } - vehicle->sub_state++; - vehicle_update_rotating(vehicle); - return; - } - } + if (shouldStop == true) { + if (vehicle->sub_state == 2) { + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 0; + vehicle->var_C0 = 0; + return; + } + vehicle->sub_state++; + vehicle_update_rotating(vehicle); + return; + } + } - if (ride->type == RIDE_TYPE_ENTERPRISE && - vehicle->sub_state == 2) { - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 0; - vehicle->var_C0 = 0; - return; - } + if (ride->type == RIDE_TYPE_ENTERPRISE && + vehicle->sub_state == 2) { + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 0; + vehicle->var_C0 = 0; + return; + } - vehicle->sub_state = 1; - vehicle_update_rotating(vehicle); + vehicle->sub_state = 1; + vehicle_update_rotating(vehicle); } /** @@ -4341,22 +4341,22 @@ static void vehicle_update_rotating(rct_vehicle* vehicle) { */ static void vehicle_update_space_rings_operating(rct_vehicle *vehicle) { - if (_vehicleBreakdown == 0) - return; + if (_vehicleBreakdown == 0) + return; - uint8 spriteType = SpaceRingsTimeToSpriteMap[vehicle->current_time + 1]; - if (spriteType != 255) { - vehicle->current_time++; - if (spriteType != vehicle->vehicle_sprite_type) { - vehicle->vehicle_sprite_type = spriteType; - vehicle_invalidate(vehicle); - } - } else { - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 0; - vehicle->var_C0 = 0; - } + uint8 spriteType = SpaceRingsTimeToSpriteMap[vehicle->current_time + 1]; + if (spriteType != 255) { + vehicle->current_time++; + if (spriteType != vehicle->vehicle_sprite_type) { + vehicle->vehicle_sprite_type = spriteType; + vehicle_invalidate(vehicle); + } + } else { + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 0; + vehicle->var_C0 = 0; + } } /** @@ -4364,66 +4364,66 @@ static void vehicle_update_space_rings_operating(rct_vehicle *vehicle) * rct2: 0x006D9641 */ static void vehicle_update_haunted_house_operating(rct_vehicle* vehicle) { - if (_vehicleBreakdown == 0) - return; + if (_vehicleBreakdown == 0) + return; - if (vehicle->vehicle_sprite_type != 0) { - if (gCurrentTicks & 1) { - vehicle->vehicle_sprite_type++; - vehicle_invalidate(vehicle); + if (vehicle->vehicle_sprite_type != 0) { + if (gCurrentTicks & 1) { + vehicle->vehicle_sprite_type++; + vehicle_invalidate(vehicle); - if (vehicle->vehicle_sprite_type == 19) - vehicle->vehicle_sprite_type = 0; - } - } + if (vehicle->vehicle_sprite_type == 19) + vehicle->vehicle_sprite_type = 0; + } + } - if (vehicle->current_time + 1 > 1500) { - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 0; - vehicle->var_C0 = 0; - return; - } + if (vehicle->current_time + 1 > 1500) { + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 0; + vehicle->var_C0 = 0; + return; + } - vehicle->current_time++; - switch (vehicle->current_time) { - case 45: - audio_play_sound_at_location( - SOUND_HAUNTED_HOUSE_SCARE, - vehicle->x, - vehicle->y, - vehicle->z); - break; - case 75: - vehicle->vehicle_sprite_type = 1; - vehicle_invalidate(vehicle); - break; - case 400: - audio_play_sound_at_location( - SOUND_HAUNTED_HOUSE_SCREAM_1, - vehicle->x, - vehicle->y, - vehicle->z); - break; - case 745: - audio_play_sound_at_location( - SOUND_HAUNTED_HOUSE_SCARE, - vehicle->x, - vehicle->y, - vehicle->z); - break; - case 775: - vehicle->vehicle_sprite_type = 1; - vehicle_invalidate(vehicle); - break; - case 1100: - audio_play_sound_at_location( - SOUND_HAUNTED_HOUSE_SCREAM_2, - vehicle->x, - vehicle->y, - vehicle->z); - break; - } + vehicle->current_time++; + switch (vehicle->current_time) { + case 45: + audio_play_sound_at_location( + SOUND_HAUNTED_HOUSE_SCARE, + vehicle->x, + vehicle->y, + vehicle->z); + break; + case 75: + vehicle->vehicle_sprite_type = 1; + vehicle_invalidate(vehicle); + break; + case 400: + audio_play_sound_at_location( + SOUND_HAUNTED_HOUSE_SCREAM_1, + vehicle->x, + vehicle->y, + vehicle->z); + break; + case 745: + audio_play_sound_at_location( + SOUND_HAUNTED_HOUSE_SCARE, + vehicle->x, + vehicle->y, + vehicle->z); + break; + case 775: + vehicle->vehicle_sprite_type = 1; + vehicle_invalidate(vehicle); + break; + case 1100: + audio_play_sound_at_location( + SOUND_HAUNTED_HOUSE_SCREAM_2, + vehicle->x, + vehicle->y, + vehicle->z); + break; + } } /** @@ -4431,18 +4431,18 @@ static void vehicle_update_haunted_house_operating(rct_vehicle* vehicle) { * rct2: 0x006d9781 */ static void vehicle_update_crooked_house_operating(rct_vehicle* vehicle) { - if (_vehicleBreakdown == 0) - return; + if (_vehicleBreakdown == 0) + return; - if ((uint16)(vehicle->current_time + 1) > RideCrookedHouseLength[vehicle->sub_state]) { - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 0; - vehicle->var_C0 = 0; - return; - } + if ((uint16)(vehicle->current_time + 1) > RideCrookedHouseLength[vehicle->sub_state]) { + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 0; + vehicle->var_C0 = 0; + return; + } - vehicle->current_time++; + vehicle->current_time++; } /** @@ -4450,29 +4450,29 @@ static void vehicle_update_crooked_house_operating(rct_vehicle* vehicle) { * rct2: 0x006D9547 */ static void vehicle_update_top_spin_operating(rct_vehicle* vehicle) { - if (_vehicleBreakdown == 0) - return; + if (_vehicleBreakdown == 0) + return; - const top_spin_time_to_sprite_map * edi = TopSpinTimeToSpriteMaps[vehicle->sub_state]; - uint8 al = edi[vehicle->current_time + 1].arm_rotation; - if (al != 0xFF) { - vehicle->current_time = vehicle->current_time + 1; - if (al != vehicle->vehicle_sprite_type) { - vehicle->vehicle_sprite_type = al; - vehicle_invalidate(vehicle); - } - al = edi[vehicle->current_time].bank_rotation; - if (al != vehicle->bank_rotation) { - vehicle->bank_rotation = al; - vehicle_invalidate(vehicle); - } - return; - } + const top_spin_time_to_sprite_map * edi = TopSpinTimeToSpriteMaps[vehicle->sub_state]; + uint8 al = edi[vehicle->current_time + 1].arm_rotation; + if (al != 0xFF) { + vehicle->current_time = vehicle->current_time + 1; + if (al != vehicle->vehicle_sprite_type) { + vehicle->vehicle_sprite_type = al; + vehicle_invalidate(vehicle); + } + al = edi[vehicle->current_time].bank_rotation; + if (al != vehicle->bank_rotation) { + vehicle->bank_rotation = al; + vehicle_invalidate(vehicle); + } + return; + } - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 0; - vehicle->var_C0 = 0; + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 0; + vehicle->var_C0 = 0; } /** @@ -4481,22 +4481,22 @@ static void vehicle_update_top_spin_operating(rct_vehicle* vehicle) { */ static void vehicle_update_showing_film(rct_vehicle *vehicle) { - sint32 currentTime, totalTime; + sint32 currentTime, totalTime; - if (_vehicleBreakdown == 0) - return; + if (_vehicleBreakdown == 0) + return; - totalTime = RideFilmLength[vehicle->sub_state]; - currentTime = vehicle->current_time + 1; - if (currentTime <= totalTime) { - vehicle->current_time = currentTime; - } - else { - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 0; - vehicle->var_C0 = 0; - } + totalTime = RideFilmLength[vehicle->sub_state]; + currentTime = vehicle->current_time + 1; + if (currentTime <= totalTime) { + vehicle->current_time = currentTime; + } + else { + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 0; + vehicle->var_C0 = 0; + } } /** @@ -4505,18 +4505,18 @@ static void vehicle_update_showing_film(rct_vehicle *vehicle) */ static void vehicle_update_doing_circus_show(rct_vehicle *vehicle) { - if (_vehicleBreakdown == 0) - return; + if (_vehicleBreakdown == 0) + return; - sint32 currentTime = vehicle->current_time + 1; - if (currentTime <= 5000) { - vehicle->current_time = currentTime; - } else { - vehicle->status = VEHICLE_STATUS_ARRIVING; - vehicle_invalidate_window(vehicle); - vehicle->sub_state = 0; - vehicle->var_C0 = 0; - } + sint32 currentTime = vehicle->current_time + 1; + if (currentTime <= 5000) { + vehicle->current_time = currentTime; + } else { + vehicle->status = VEHICLE_STATUS_ARRIVING; + vehicle_invalidate_window(vehicle); + vehicle->sub_state = 0; + vehicle->var_C0 = 0; + } } /** @@ -4525,36 +4525,36 @@ static void vehicle_update_doing_circus_show(rct_vehicle *vehicle) * @returns the map element that the vehicle will collide with or NULL if no collisions. */ static rct_map_element* vehicle_check_collision(sint16 x, sint16 y, sint16 z) { - rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); - if (mapElement == NULL) - // Can't return null as that implies no collision, - // but should still cause a crash when dereferenced. - return (rct_map_element *) -1; + rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); + if (mapElement == NULL) + // Can't return null as that implies no collision, + // but should still cause a crash when dereferenced. + return (rct_map_element *) -1; - uint8 bl; - if ((x & 0x1F) >= 16) { - bl = 1; - if ((y & 0x1F) < 16) - bl = 2; - } - else { - bl = 4; - if ((y & 0x1F) >= 16) - bl = 8; - } + uint8 bl; + if ((x & 0x1F) >= 16) { + bl = 1; + if ((y & 0x1F) < 16) + bl = 2; + } + else { + bl = 4; + if ((y & 0x1F) >= 16) + bl = 8; + } - do { - if (z / 8 < mapElement->base_height) - continue; + do { + if (z / 8 < mapElement->base_height) + continue; - if (z / 8 >= mapElement->clearance_height) - continue; + if (z / 8 >= mapElement->clearance_height) + continue; - if (mapElement->flags & bl) - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + if (mapElement->flags & bl) + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } /** @@ -4562,165 +4562,165 @@ static rct_map_element* vehicle_check_collision(sint16 x, sint16 y, sint16 z) { * rct2: 0x006DE6C6 */ static void vehicle_kill_all_passengers(rct_vehicle* vehicle) { - uint16 numFatalities = 0; + uint16 numFatalities = 0; - uint16 spriteId = vehicle->sprite_index; - for (rct_vehicle* curVehicle; spriteId != SPRITE_INDEX_NULL; spriteId = curVehicle->next_vehicle_on_train) { - curVehicle = GET_VEHICLE(spriteId); - numFatalities += curVehicle->num_peeps; - } + uint16 spriteId = vehicle->sprite_index; + for (rct_vehicle* curVehicle; spriteId != SPRITE_INDEX_NULL; spriteId = curVehicle->next_vehicle_on_train) { + curVehicle = GET_VEHICLE(spriteId); + numFatalities += curVehicle->num_peeps; + } - rct_ride* ride = get_ride(vehicle->ride); - set_format_arg(0, uint16, numFatalities); + rct_ride* ride = get_ride(vehicle->ride); + set_format_arg(0, uint16, numFatalities); - uint8 crashType = numFatalities == 0 ? - RIDE_CRASH_TYPE_NO_FATALITIES : - RIDE_CRASH_TYPE_FATALITIES; + uint8 crashType = numFatalities == 0 ? + RIDE_CRASH_TYPE_NO_FATALITIES : + RIDE_CRASH_TYPE_FATALITIES; - if (crashType >= ride->last_crash_type) - ride->last_crash_type = crashType; + if (crashType >= ride->last_crash_type) + ride->last_crash_type = crashType; - if (numFatalities != 0) { - set_format_arg(2, rct_string_id, ride->name); - set_format_arg(4, uint32, ride->name_arguments); - news_item_add_to_queue(NEWS_ITEM_RIDE, STR_X_PEOPLE_DIED_ON_X, vehicle->ride); + if (numFatalities != 0) { + set_format_arg(2, rct_string_id, ride->name); + set_format_arg(4, uint32, ride->name_arguments); + news_item_add_to_queue(NEWS_ITEM_RIDE, STR_X_PEOPLE_DIED_ON_X, vehicle->ride); - if (gParkRatingCasualtyPenalty < 500) { - gParkRatingCasualtyPenalty += 200; - } - } + if (gParkRatingCasualtyPenalty < 500) { + gParkRatingCasualtyPenalty += 200; + } + } - spriteId = vehicle->sprite_index; - for (rct_vehicle* curVehicle; spriteId != SPRITE_INDEX_NULL; spriteId = curVehicle->next_vehicle_on_train) { - curVehicle = GET_VEHICLE(spriteId); + spriteId = vehicle->sprite_index; + for (rct_vehicle* curVehicle; spriteId != SPRITE_INDEX_NULL; spriteId = curVehicle->next_vehicle_on_train) { + curVehicle = GET_VEHICLE(spriteId); - if (curVehicle->num_peeps != curVehicle->next_free_seat) - continue; + if (curVehicle->num_peeps != curVehicle->next_free_seat) + continue; - if (curVehicle->num_peeps == 0) - continue; + if (curVehicle->num_peeps == 0) + continue; - for (uint8 i = 0; i < curVehicle->num_peeps; i++) { - rct_peep* peep = GET_PEEP(curVehicle->peep[i]); - if (peep->outside_of_park == 0) { - decrement_guests_in_park(); - gToolbarDirtyFlags |= - BTM_TB_DIRTY_FLAG_PEEP_COUNT; - } - ride->num_riders--; - peep_sprite_remove(peep); - } + for (uint8 i = 0; i < curVehicle->num_peeps; i++) { + rct_peep* peep = GET_PEEP(curVehicle->peep[i]); + if (peep->outside_of_park == 0) { + decrement_guests_in_park(); + gToolbarDirtyFlags |= + BTM_TB_DIRTY_FLAG_PEEP_COUNT; + } + ride->num_riders--; + peep_sprite_remove(peep); + } - curVehicle->num_peeps = 0; - curVehicle->next_free_seat = 0; - } + curVehicle->num_peeps = 0; + curVehicle->next_free_seat = 0; + } } static void vehicle_crash_on_land(rct_vehicle* vehicle) { - vehicle->status = VEHICLE_STATUS_CRASHED; - vehicle_invalidate_window(vehicle); + vehicle->status = VEHICLE_STATUS_CRASHED; + vehicle_invalidate_window(vehicle); - rct_ride* ride = get_ride(vehicle->ride); - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) { + rct_ride* ride = get_ride(vehicle->ride); + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) { - rct_vehicle* frontVehicle = vehicle; - while (frontVehicle->is_child != 0)frontVehicle = GET_VEHICLE(frontVehicle->prev_vehicle_on_ride); + rct_vehicle* frontVehicle = vehicle; + while (frontVehicle->is_child != 0)frontVehicle = GET_VEHICLE(frontVehicle->prev_vehicle_on_ride); - int trainIndex = ride_get_train_index_from_vehicle(ride, frontVehicle->sprite_index); - if (trainIndex == VEHICLE_INVALID_ID) - { - return; - } + int trainIndex = ride_get_train_index_from_vehicle(ride, frontVehicle->sprite_index); + if (trainIndex == VEHICLE_INVALID_ID) + { + return; + } - ride_crash(vehicle->ride, trainIndex); + ride_crash(vehicle->ride, trainIndex); - if (ride->status != RIDE_STATUS_CLOSED) { - ride_set_status(vehicle->ride, RIDE_STATUS_CLOSED); - } - } - ride->lifecycle_flags |= RIDE_LIFECYCLE_CRASHED; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + if (ride->status != RIDE_STATUS_CLOSED) { + ride_set_status(vehicle->ride, RIDE_STATUS_CLOSED); + } + } + ride->lifecycle_flags |= RIDE_LIFECYCLE_CRASHED; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; - if (vehicle->is_child == 0) { - vehicle_kill_all_passengers(vehicle); - } + if (vehicle->is_child == 0) { + vehicle_kill_all_passengers(vehicle); + } - vehicle->sub_state = 2; - audio_play_sound_at_location(SOUND_CRASH, vehicle->x, vehicle->y, vehicle->z); + vehicle->sub_state = 2; + audio_play_sound_at_location(SOUND_CRASH, vehicle->x, vehicle->y, vehicle->z); - sprite_misc_explosion_cloud_create(vehicle->x, vehicle->y, vehicle->z); - sprite_misc_explosion_flare_create(vehicle->x, vehicle->y, vehicle->z); + sprite_misc_explosion_cloud_create(vehicle->x, vehicle->y, vehicle->z); + sprite_misc_explosion_flare_create(vehicle->x, vehicle->y, vehicle->z); - uint8 numParticles = min(vehicle->sprite_width, 7); + uint8 numParticles = min(vehicle->sprite_width, 7); - while (numParticles-- != 0) - crashed_vehicle_particle_create(vehicle->colours, vehicle->x, vehicle->y, vehicle->z); + while (numParticles-- != 0) + crashed_vehicle_particle_create(vehicle->colours, vehicle->x, vehicle->y, vehicle->z); - vehicle->flags |= SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE; - vehicle->var_C5 = 0; - vehicle->var_C8 = 0; - vehicle->sprite_width = 13; - vehicle->sprite_height_negative = 45; - vehicle->sprite_height_positive = 5; + vehicle->flags |= SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE; + vehicle->var_C5 = 0; + vehicle->var_C8 = 0; + vehicle->sprite_width = 13; + vehicle->sprite_height_negative = 45; + vehicle->sprite_height_positive = 5; - sprite_move(vehicle->x, vehicle->y, vehicle->z, (rct_sprite*)vehicle); - vehicle_invalidate(vehicle); + sprite_move(vehicle->x, vehicle->y, vehicle->z, (rct_sprite*)vehicle); + vehicle_invalidate(vehicle); - vehicle->var_4E = 0; + vehicle->var_4E = 0; } static void vehicle_crash_on_water(rct_vehicle* vehicle) { - vehicle->status = VEHICLE_STATUS_CRASHED; - vehicle_invalidate_window(vehicle); + vehicle->status = VEHICLE_STATUS_CRASHED; + vehicle_invalidate_window(vehicle); - rct_ride* ride = get_ride(vehicle->ride); - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) { + rct_ride* ride = get_ride(vehicle->ride); + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED)) { - rct_vehicle* frontVehicle = vehicle; - while (frontVehicle->is_child != 0)frontVehicle = GET_VEHICLE(frontVehicle->prev_vehicle_on_ride); + rct_vehicle* frontVehicle = vehicle; + while (frontVehicle->is_child != 0)frontVehicle = GET_VEHICLE(frontVehicle->prev_vehicle_on_ride); - int trainIndex = ride_get_train_index_from_vehicle(ride, frontVehicle->sprite_index); - if (trainIndex == VEHICLE_INVALID_ID) - { - return; - } + int trainIndex = ride_get_train_index_from_vehicle(ride, frontVehicle->sprite_index); + if (trainIndex == VEHICLE_INVALID_ID) + { + return; + } - ride_crash(vehicle->ride, trainIndex); + ride_crash(vehicle->ride, trainIndex); - if (ride->status != RIDE_STATUS_CLOSED) { - ride_set_status(vehicle->ride, RIDE_STATUS_CLOSED); - } - } - ride->lifecycle_flags |= RIDE_LIFECYCLE_CRASHED; - ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; + if (ride->status != RIDE_STATUS_CLOSED) { + ride_set_status(vehicle->ride, RIDE_STATUS_CLOSED); + } + } + ride->lifecycle_flags |= RIDE_LIFECYCLE_CRASHED; + ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST; - if (vehicle->is_child == 0) { - vehicle_kill_all_passengers(vehicle); - } + if (vehicle->is_child == 0) { + vehicle_kill_all_passengers(vehicle); + } - vehicle->sub_state = 2; - audio_play_sound_at_location(SOUND_WATER_1, vehicle->x, vehicle->y, vehicle->z); + vehicle->sub_state = 2; + audio_play_sound_at_location(SOUND_WATER_1, vehicle->x, vehicle->y, vehicle->z); - crash_splash_create(vehicle->x, vehicle->y, vehicle->z); - crash_splash_create(vehicle->x - 8, vehicle->y - 9, vehicle->z); - crash_splash_create(vehicle->x + 11, vehicle->y - 9, vehicle->z); - crash_splash_create(vehicle->x + 11, vehicle->y + 8, vehicle->z); - crash_splash_create(vehicle->x - 4, vehicle->y + 8, vehicle->z); + crash_splash_create(vehicle->x, vehicle->y, vehicle->z); + crash_splash_create(vehicle->x - 8, vehicle->y - 9, vehicle->z); + crash_splash_create(vehicle->x + 11, vehicle->y - 9, vehicle->z); + crash_splash_create(vehicle->x + 11, vehicle->y + 8, vehicle->z); + crash_splash_create(vehicle->x - 4, vehicle->y + 8, vehicle->z); - for (sint32 i = 0; i < 10; ++i) - crashed_vehicle_particle_create(vehicle->colours, vehicle->x - 4, vehicle->y + 8, vehicle->z); + for (sint32 i = 0; i < 10; ++i) + crashed_vehicle_particle_create(vehicle->colours, vehicle->x - 4, vehicle->y + 8, vehicle->z); - vehicle->flags |= SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE; - vehicle->var_C5 = 0; - vehicle->var_C8 = 0; - vehicle->sprite_width = 13; - vehicle->sprite_height_negative = 45; - vehicle->sprite_height_positive = 5; + vehicle->flags |= SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE; + vehicle->var_C5 = 0; + vehicle->var_C8 = 0; + vehicle->sprite_width = 13; + vehicle->sprite_height_negative = 45; + vehicle->sprite_height_positive = 5; - sprite_move(vehicle->x, vehicle->y, vehicle->z, (rct_sprite*)vehicle); - vehicle_invalidate(vehicle); + sprite_move(vehicle->x, vehicle->y, vehicle->z, (rct_sprite*)vehicle); + vehicle_invalidate(vehicle); - vehicle->var_4E = 0xFFFF; + vehicle->var_4E = 0xFFFF; } /** @@ -4728,86 +4728,86 @@ static void vehicle_crash_on_water(rct_vehicle* vehicle) { * rct2: 0x006D98CA */ static void vehicle_update_crash(rct_vehicle *vehicle){ - uint16 spriteId = vehicle->sprite_index; - rct_vehicle* curVehicle; - do { - curVehicle = GET_VEHICLE(spriteId); - if (curVehicle->sub_state > 1) { - if (curVehicle->var_4E <= 96) { - curVehicle->var_4E++; - if ((scenario_rand() & 0xFFFF) <= 0x1555) { - sprite_misc_explosion_cloud_create( - curVehicle->x + ((scenario_rand() & 2) - 1), - curVehicle->y + ((scenario_rand() & 2) - 1), - curVehicle->z - ); - } - } - if (curVehicle->var_C8 + 7281 > 0xFFFF) { - curVehicle->var_C5++; - if (curVehicle->var_C5 >= 8) - curVehicle->var_C5 = 0; - invalidate_sprite_2((rct_sprite*)curVehicle); - } - curVehicle->var_C8 += 7281; - continue; - } + uint16 spriteId = vehicle->sprite_index; + rct_vehicle* curVehicle; + do { + curVehicle = GET_VEHICLE(spriteId); + if (curVehicle->sub_state > 1) { + if (curVehicle->var_4E <= 96) { + curVehicle->var_4E++; + if ((scenario_rand() & 0xFFFF) <= 0x1555) { + sprite_misc_explosion_cloud_create( + curVehicle->x + ((scenario_rand() & 2) - 1), + curVehicle->y + ((scenario_rand() & 2) - 1), + curVehicle->z + ); + } + } + if (curVehicle->var_C8 + 7281 > 0xFFFF) { + curVehicle->var_C5++; + if (curVehicle->var_C5 >= 8) + curVehicle->var_C5 = 0; + invalidate_sprite_2((rct_sprite*)curVehicle); + } + curVehicle->var_C8 += 7281; + continue; + } - rct_map_element* collideElement = vehicle_check_collision(curVehicle->x, curVehicle->y, curVehicle->z); - if (collideElement == NULL) { - curVehicle->sub_state = 1; - } - else if (curVehicle->sub_state == 1){ - vehicle_crash_on_land(curVehicle); - continue; - } + rct_map_element* collideElement = vehicle_check_collision(curVehicle->x, curVehicle->y, curVehicle->z); + if (collideElement == NULL) { + curVehicle->sub_state = 1; + } + else if (curVehicle->sub_state == 1){ + vehicle_crash_on_land(curVehicle); + continue; + } - sint32 z = map_element_height(curVehicle->x, curVehicle->y); - sint16 waterHeight = (z >> 16) & 0xFFFF; - z = (sint16)(z & 0xFFFF); - sint16 zDiff; - if (waterHeight != 0) { - zDiff = curVehicle->z - waterHeight; - if (zDiff <= 0 && zDiff >= -20) { - vehicle_crash_on_water(curVehicle); - continue; - } - } + sint32 z = map_element_height(curVehicle->x, curVehicle->y); + sint16 waterHeight = (z >> 16) & 0xFFFF; + z = (sint16)(z & 0xFFFF); + sint16 zDiff; + if (waterHeight != 0) { + zDiff = curVehicle->z - waterHeight; + if (zDiff <= 0 && zDiff >= -20) { + vehicle_crash_on_water(curVehicle); + continue; + } + } - zDiff = curVehicle->z - z; - if ((zDiff <= 0 && zDiff >= -20) || curVehicle->z < 16){ - vehicle_crash_on_land(curVehicle); - continue; - } + zDiff = curVehicle->z - z; + if ((zDiff <= 0 && zDiff >= -20) || curVehicle->z < 16){ + vehicle_crash_on_land(curVehicle); + continue; + } - invalidate_sprite_2((rct_sprite*)curVehicle); + invalidate_sprite_2((rct_sprite*)curVehicle); - rct_xyz16 curPosition = { - .x = curVehicle->x, - .y = curVehicle->y, - .z = curVehicle->z - }; + rct_xyz16 curPosition = { + .x = curVehicle->x, + .y = curVehicle->y, + .z = curVehicle->z + }; - curPosition.x += (sint8)(curVehicle->var_B6 >> 8); - curPosition.y += (sint8)(curVehicle->var_C0 >> 8); - curPosition.z += (sint8)(curVehicle->var_4E >> 8); - curVehicle->track_x = (sint16)(curVehicle->var_B6 << 8); - curVehicle->track_y = (sint16)(curVehicle->var_C0 << 8); - curVehicle->track_z = (sint16)(curVehicle->var_4E << 8); + curPosition.x += (sint8)(curVehicle->var_B6 >> 8); + curPosition.y += (sint8)(curVehicle->var_C0 >> 8); + curPosition.z += (sint8)(curVehicle->var_4E >> 8); + curVehicle->track_x = (sint16)(curVehicle->var_B6 << 8); + curVehicle->track_y = (sint16)(curVehicle->var_C0 << 8); + curVehicle->track_z = (sint16)(curVehicle->var_4E << 8); - if (curPosition.x > 0x1FFF || - curPosition.y > 0x1FFF) { - vehicle_crash_on_land(curVehicle); - continue; - } + if (curPosition.x > 0x1FFF || + curPosition.y > 0x1FFF) { + vehicle_crash_on_land(curVehicle); + continue; + } - sprite_move(curPosition.x, curPosition.y, curPosition.z, (rct_sprite*)curVehicle); - invalidate_sprite_2((rct_sprite*)curVehicle); + sprite_move(curPosition.x, curPosition.y, curPosition.z, (rct_sprite*)curVehicle); + invalidate_sprite_2((rct_sprite*)curVehicle); - if (curVehicle->sub_state == 1) { - curVehicle->var_4E += 0xFFEC; - } - } while ((spriteId = curVehicle->next_vehicle_on_train) != SPRITE_INDEX_NULL); + if (curVehicle->sub_state == 1) { + curVehicle->var_4E += 0xFFEC; + } + } while ((spriteId = curVehicle->next_vehicle_on_train) != SPRITE_INDEX_NULL); } /** * @@ -4815,96 +4815,96 @@ static void vehicle_update_crash(rct_vehicle *vehicle){ */ static void vehicle_update_sound(rct_vehicle *vehicle) { - rct_ride *ride; - rct_ride_entry *rideEntry; - // frictionVolume (bl) should be set before hand - uint8 frictionVolume = 255, frictionId = 255; - // bh screamVolume should be set before hand - uint8 screamId, screamVolume = 255; - uint16 soundIdVolume; + rct_ride *ride; + rct_ride_entry *rideEntry; + // frictionVolume (bl) should be set before hand + uint8 frictionVolume = 255, frictionId = 255; + // bh screamVolume should be set before hand + uint8 screamId, screamVolume = 255; + uint16 soundIdVolume; - ride = get_ride(vehicle->ride); - rideEntry = get_ride_entry(vehicle->ride_subtype); + ride = get_ride(vehicle->ride); + rideEntry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; + rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; - sint32 ecx = abs(vehicle->velocity) - 0x10000; - if (ecx >= 0) { - frictionId = vehicleEntry->friction_sound_id; - ecx >>= 15; - frictionVolume = min(208 + (ecx & 0xFF), 255); - } + sint32 ecx = abs(vehicle->velocity) - 0x10000; + if (ecx >= 0) { + frictionId = vehicleEntry->friction_sound_id; + ecx >>= 15; + frictionVolume = min(208 + (ecx & 0xFF), 255); + } - switch (vehicleEntry->sound_range) { - case 3: - screamId = vehicle->scream_sound_id; - if (!(gCurrentTicks & 0x7F)) { - if (vehicle->velocity < 0x40000 || vehicle->scream_sound_id != 255) - goto loc_6D7A97; + switch (vehicleEntry->sound_range) { + case 3: + screamId = vehicle->scream_sound_id; + if (!(gCurrentTicks & 0x7F)) { + if (vehicle->velocity < 0x40000 || vehicle->scream_sound_id != 255) + goto loc_6D7A97; - if ((scenario_rand() & 0xFFFF) <= 0x5555) { - vehicle->scream_sound_id = SOUND_TRAIN_WHISTLE; - screamVolume = 255; - break; - } - } - if (screamId == NO_SCREAM) screamId = 255; - screamVolume = 255; - break; + if ((scenario_rand() & 0xFFFF) <= 0x5555) { + vehicle->scream_sound_id = SOUND_TRAIN_WHISTLE; + screamVolume = 255; + break; + } + } + if (screamId == NO_SCREAM) screamId = 255; + screamVolume = 255; + break; - case 4: - screamId = vehicle->scream_sound_id; - if (!(gCurrentTicks & 0x7F)) { - if (vehicle->velocity < 0x40000 || vehicle->scream_sound_id != 255) - goto loc_6D7A97; + case 4: + screamId = vehicle->scream_sound_id; + if (!(gCurrentTicks & 0x7F)) { + if (vehicle->velocity < 0x40000 || vehicle->scream_sound_id != 255) + goto loc_6D7A97; - if ((scenario_rand() & 0xFFFF) <= 0x5555) { - vehicle->scream_sound_id = SOUND_TRAM; - screamVolume = 255; - break; - } - } - if (screamId == NO_SCREAM) screamId = 255; - screamVolume = 255; - break; + if ((scenario_rand() & 0xFFFF) <= 0x5555) { + vehicle->scream_sound_id = SOUND_TRAM; + screamVolume = 255; + break; + } + } + if (screamId == NO_SCREAM) screamId = 255; + screamVolume = 255; + break; - default: - if ((vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_4)) { - screamId = vehicle_update_scream_sound(vehicle); - if (screamId == NO_SCREAM) - screamId = 255; - if (screamId == 255) - goto loc_6D7A97; - break; - } + default: + if ((vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_4)) { + screamId = vehicle_update_scream_sound(vehicle); + if (screamId == NO_SCREAM) + screamId = 255; + if (screamId == 255) + goto loc_6D7A97; + break; + } - loc_6D7A97: - vehicle->scream_sound_id = 255; - assert(ride->type < countof(RideLiftData)); - // Get lift hill sound - screamId = RideLiftData[ride->type].sound_id; - screamVolume = 243; - if (!(vehicle->var_B8 & 2)) - screamId = 255; - } + loc_6D7A97: + vehicle->scream_sound_id = 255; + assert(ride->type < countof(RideLiftData)); + // Get lift hill sound + screamId = RideLiftData[ride->type].sound_id; + screamVolume = 243; + if (!(vehicle->var_B8 & 2)) + screamId = 255; + } - // Friction sound - soundIdVolume = sub_6D7AC0(vehicle->sound1_id, vehicle->sound1_volume, frictionId, frictionVolume); - vehicle->sound1_id = soundIdVolume & 0xFF; - vehicle->sound1_volume = (soundIdVolume >> 8) & 0xFF; + // Friction sound + soundIdVolume = sub_6D7AC0(vehicle->sound1_id, vehicle->sound1_volume, frictionId, frictionVolume); + vehicle->sound1_id = soundIdVolume & 0xFF; + vehicle->sound1_volume = (soundIdVolume >> 8) & 0xFF; - // Scream sound - soundIdVolume = sub_6D7AC0(vehicle->sound2_id, vehicle->sound2_volume, screamId, screamVolume); - vehicle->sound2_id = soundIdVolume & 0xFF; - vehicle->sound2_volume = (soundIdVolume >> 8) & 0xFF; + // Scream sound + soundIdVolume = sub_6D7AC0(vehicle->sound2_id, vehicle->sound2_volume, screamId, screamVolume); + vehicle->sound2_id = soundIdVolume & 0xFF; + vehicle->sound2_volume = (soundIdVolume >> 8) & 0xFF; - { - sint32 ebx = word_9A3684[vehicle->sprite_direction]; - sint32 eax = ((vehicle->velocity >> 14) * ebx) >> 14; - eax = clamp(-127, eax, 127); + { + sint32 ebx = word_9A3684[vehicle->sprite_direction]; + sint32 eax = ((vehicle->velocity >> 14) * ebx) >> 14; + eax = clamp(-127, eax, 127); - vehicle->var_BF = eax & 0xFF; - } + vehicle->var_BF = eax & 0xFF; + } } /** @@ -4913,78 +4913,78 @@ static void vehicle_update_sound(rct_vehicle *vehicle) */ static sint32 vehicle_update_scream_sound(rct_vehicle *vehicle) { - uint32 r; - uint16 spriteIndex; - rct_ride_entry *rideEntry; - rct_vehicle *vehicle2; + uint32 r; + uint16 spriteIndex; + rct_ride_entry *rideEntry; + rct_vehicle *vehicle2; - rideEntry = get_ride_entry(vehicle->ride_subtype); + rideEntry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; + rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; - sint32 totalNumPeeps = vehicle_get_total_num_peeps(vehicle); - if (totalNumPeeps == 0) - return 255; + sint32 totalNumPeeps = vehicle_get_total_num_peeps(vehicle); + if (totalNumPeeps == 0) + return 255; - if (vehicle->velocity < 0) { - if (vehicle->velocity > -0x2C000) - return 255; + if (vehicle->velocity < 0) { + if (vehicle->velocity > -0x2C000) + return 255; - spriteIndex = vehicle->sprite_index; - do { - vehicle2 = &(get_sprite(spriteIndex)->vehicle); - if (vehicle2->vehicle_sprite_type < 1) - continue; - if (vehicle2->vehicle_sprite_type <= 4) - goto produceScream; - if (vehicle2->vehicle_sprite_type < 9) - continue; - if (vehicle2->vehicle_sprite_type <= 15) - goto produceScream; - } while ((spriteIndex = vehicle2->next_vehicle_on_train) != SPRITE_INDEX_NULL); - return 255; - } + spriteIndex = vehicle->sprite_index; + do { + vehicle2 = &(get_sprite(spriteIndex)->vehicle); + if (vehicle2->vehicle_sprite_type < 1) + continue; + if (vehicle2->vehicle_sprite_type <= 4) + goto produceScream; + if (vehicle2->vehicle_sprite_type < 9) + continue; + if (vehicle2->vehicle_sprite_type <= 15) + goto produceScream; + } while ((spriteIndex = vehicle2->next_vehicle_on_train) != SPRITE_INDEX_NULL); + return 255; + } - if (vehicle->velocity < 0x2C000) - return 255; + if (vehicle->velocity < 0x2C000) + return 255; - spriteIndex = vehicle->sprite_index; - do { - vehicle2 = &(get_sprite(spriteIndex)->vehicle); - if (vehicle2->vehicle_sprite_type < 5) - continue; - if (vehicle2->vehicle_sprite_type <= 8) - goto produceScream; - if (vehicle2->vehicle_sprite_type < 17) - continue; - if (vehicle2->vehicle_sprite_type <= 23) - goto produceScream; - } while ((spriteIndex = vehicle2->next_vehicle_on_train) != SPRITE_INDEX_NULL); - return 255; + spriteIndex = vehicle->sprite_index; + do { + vehicle2 = &(get_sprite(spriteIndex)->vehicle); + if (vehicle2->vehicle_sprite_type < 5) + continue; + if (vehicle2->vehicle_sprite_type <= 8) + goto produceScream; + if (vehicle2->vehicle_sprite_type < 17) + continue; + if (vehicle2->vehicle_sprite_type <= 23) + goto produceScream; + } while ((spriteIndex = vehicle2->next_vehicle_on_train) != SPRITE_INDEX_NULL); + return 255; produceScream: - if (vehicle->scream_sound_id == 255) { - r = scenario_rand(); - if (totalNumPeeps >= (sint32)(r % 16)) { - switch (vehicleEntry->sound_range) { - case 0: - vehicle->scream_sound_id = byte_9A3A14[r % 2]; - break; - case 1: - vehicle->scream_sound_id = byte_9A3A18[r % 7]; - break; - case 2: - vehicle->scream_sound_id = byte_9A3A16[r % 2]; - break; - default: - vehicle->scream_sound_id = NO_SCREAM; - break; - } - } else { - vehicle->scream_sound_id = NO_SCREAM; - } - } - return vehicle->scream_sound_id; + if (vehicle->scream_sound_id == 255) { + r = scenario_rand(); + if (totalNumPeeps >= (sint32)(r % 16)) { + switch (vehicleEntry->sound_range) { + case 0: + vehicle->scream_sound_id = byte_9A3A14[r % 2]; + break; + case 1: + vehicle->scream_sound_id = byte_9A3A18[r % 7]; + break; + case 2: + vehicle->scream_sound_id = byte_9A3A16[r % 2]; + break; + default: + vehicle->scream_sound_id = NO_SCREAM; + break; + } + } else { + vehicle->scream_sound_id = NO_SCREAM; + } + } + return vehicle->scream_sound_id; } /** @@ -4996,579 +4996,579 @@ produceScream: */ void vehicle_get_g_forces(rct_vehicle *vehicle, sint32 *verticalG, sint32 *lateralG) { - sint32 gForceVert = (((sint64)0x280000) * Unk9A37E4[vehicle->vehicle_sprite_type]) >> 32; - gForceVert = (((sint64)gForceVert) * Unk9A39C4[vehicle->bank_rotation]) >> 32; - sint32 lateralFactor = 0, vertFactor = 0; + sint32 gForceVert = (((sint64)0x280000) * Unk9A37E4[vehicle->vehicle_sprite_type]) >> 32; + gForceVert = (((sint64)gForceVert) * Unk9A39C4[vehicle->bank_rotation]) >> 32; + sint32 lateralFactor = 0, vertFactor = 0; - // Note shr has meant some of the below functions cast a known negative number to - // unsigned. Possibly an original bug but will be left implemented. - switch (vehicle->track_type >> 2) { - case TRACK_ELEM_FLAT: - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - case TRACK_ELEM_25_DEG_UP: - case TRACK_ELEM_60_DEG_UP: // - case TRACK_ELEM_25_DEG_DOWN: - case TRACK_ELEM_60_DEG_DOWN: // - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - case TRACK_ELEM_RIGHT_BANK_TO_FLAT:// - case TRACK_ELEM_LEFT_BANK: - case TRACK_ELEM_RIGHT_BANK: - case TRACK_ELEM_TOWER_BASE: - case TRACK_ELEM_TOWER_SECTION: - case TRACK_ELEM_FLAT_COVERED: - case TRACK_ELEM_25_DEG_UP_COVERED: - case TRACK_ELEM_60_DEG_UP_COVERED: - case TRACK_ELEM_25_DEG_DOWN_COVERED: - case TRACK_ELEM_60_DEG_DOWN_COVERED: - case TRACK_ELEM_BRAKES: - case TRACK_ELEM_ROTATION_CONTROL_TOGGLE: - case TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP: - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - case TRACK_ELEM_WATERFALL: - case TRACK_ELEM_RAPIDS: - case TRACK_ELEM_ON_RIDE_PHOTO: - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - case TRACK_ELEM_WHIRLPOOL: - case TRACK_ELEM_REVERSE_FREEFALL_VERTICAL: - case TRACK_ELEM_90_DEG_UP: - case TRACK_ELEM_90_DEG_DOWN: - case TRACK_ELEM_DIAG_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP: - case TRACK_ELEM_DIAG_60_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_DOWN: - case TRACK_ELEM_DIAG_60_DEG_DOWN: - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - case TRACK_ELEM_DIAG_LEFT_BANK: - case TRACK_ELEM_DIAG_RIGHT_BANK: - case TRACK_ELEM_LOG_FLUME_REVERSER: - case TRACK_ELEM_SPINNING_TUNNEL: - case TRACK_ELEM_POWERED_LIFT: - case TRACK_ELEM_MINI_GOLF_HOLE_A: - case TRACK_ELEM_MINI_GOLF_HOLE_B: - case TRACK_ELEM_MINI_GOLF_HOLE_C: - case TRACK_ELEM_MINI_GOLF_HOLE_D: - case TRACK_ELEM_MINI_GOLF_HOLE_E: - case TRACK_ELEM_LEFT_REVERSER: - case TRACK_ELEM_RIGHT_REVERSER: - case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN: - case TRACK_ELEM_BLOCK_BRAKES: - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: - //6d73FF - // Do nothing - break; - case TRACK_ELEM_FLAT_TO_25_DEG_UP:// - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT:// - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - case TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED: - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED: - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: - vertFactor = 103; - //6d7509 - break; - case TRACK_ELEM_25_DEG_UP_TO_FLAT:// - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN:// - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED: - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED: - case TRACK_ELEM_CABLE_LIFT_HILL: - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - vertFactor = -103; - //6d7569 - break; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP:// - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN:// - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED: - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED: - vertFactor = 82; - //6d7545 - break; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP:// - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN:// - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED: - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED: - vertFactor = -82; - //6d7551 - break; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES:// - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: - case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: - case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP: - case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN: - case TRACK_ELEM_LEFT_FLYER_TWIST_UP: - case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: - case TRACK_ELEM_LEFT_HEARTLINE_ROLL: - lateralFactor = 98; - //6d7590 - break; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES:// - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: - case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: - case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP: - case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN: - case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: - case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: - case TRACK_ELEM_RIGHT_HEARTLINE_ROLL: - lateralFactor = -98; - //6d75B7 - break; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: - vertFactor = 200; - lateralFactor = 160; - //6d75E1 - break; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: - vertFactor = 200; - lateralFactor = -160; - //6d75F0 - break; - case TRACK_ELEM_S_BEND_LEFT: - case TRACK_ELEM_S_BEND_LEFT_COVERED: - lateralFactor = (vehicle->track_progress < 48) ? 98 : -98; - //6d75FF - break; - case TRACK_ELEM_S_BEND_RIGHT: - case TRACK_ELEM_S_BEND_RIGHT_COVERED: - lateralFactor = (vehicle->track_progress < 48) ? -98 : 98; - //6d7608 - break; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - vertFactor = (abs(vehicle->track_progress - 155) / 2) + 28; - //6d7690 - break; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: - case TRACK_ELEM_LEFT_CURVED_LIFT_HILL: - lateralFactor = 59; - //6d7704 - break; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: - case TRACK_ELEM_RIGHT_CURVED_LIFT_HILL: - lateralFactor = -59; - //6d7710 - break; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - vertFactor = 100; - lateralFactor = 100; - //6d7782 - break; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - vertFactor = 100; - lateralFactor = -100; - //6d778E - break; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - lateralFactor = 45; - //6d779A - break; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - lateralFactor = -45; - //6d77A3 - break; - case TRACK_ELEM_HALF_LOOP_UP: - case TRACK_ELEM_FLYER_HALF_LOOP_UP: - vertFactor = (((uint16)(-(vehicle->track_progress - 155))) / 2) + 28; - //6d763E - break; - case TRACK_ELEM_HALF_LOOP_DOWN: - case TRACK_ELEM_FLYER_HALF_LOOP_DOWN: - vertFactor = (vehicle->track_progress / 2) + 28; - //6d7656 - break; - case TRACK_ELEM_LEFT_CORKSCREW_UP: - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: - case TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP: - case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN: - vertFactor = 52; - lateralFactor = 70; - //6d76AA - break; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: - case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP: - case TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN: - vertFactor = 52; - lateralFactor = -70; - //6d76B9 - break; - case TRACK_ELEM_FLAT_TO_60_DEG_UP: - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: - vertFactor = 56; - //6d747C - break; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - case TRACK_ELEM_BRAKE_FOR_DROP: - vertFactor = -56; - //6d7488 - break; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - lateralFactor = 88; - //6d7770 - break; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - lateralFactor = -88; - //6d7779 - break; - case TRACK_ELEM_WATER_SPLASH: - vertFactor = -150; - if (vehicle->track_progress < 32) - break; - vertFactor = 150; - if (vehicle->track_progress < 64) - break; - vertFactor = 0; - if (vehicle->track_progress < 96) - break; - vertFactor = 150; - if (vehicle->track_progress < 128) - break; - vertFactor = -150; - //6d7408 - break; - case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: - vertFactor = 160; - //6d74F1 - break; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: - vertFactor = -160; - //6d74FD - break; - case TRACK_ELEM_REVERSE_FREEFALL_SLOPE: - case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL: - vertFactor = 120; - //6d7458 - break; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: - vertFactor = 110; - //6d7515 - break; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: - vertFactor = -110; - //6d7521 - break; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - lateralFactor = 137; - //6d7575 - break; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - lateralFactor = -137; - //6d759C - break; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - vertFactor = 270; - lateralFactor = 200; - //6d75C3 - break; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - vertFactor = 270; - lateralFactor = -200; - //6d75D2 - break; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - vertFactor = 113; - //6d7494 - break; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - vertFactor = -113; - //6d755D - break; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - vertFactor = 95; - //6D752D - break; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - vertFactor = -95; - //6D7539 - break; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: - vertFactor = 60; - //6D7464 - break; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: - vertFactor = -60; - //6d7470 - break; - case TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN: - case TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP: - vertFactor = 170; - lateralFactor = 115; - //6d7581 - break; - case TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN: - case TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP: - vertFactor = 170; - lateralFactor = -115; - //6d75A8 - break; - case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - vertFactor = -(vehicle->track_progress / 2) + 134; - lateralFactor = 90; - //6d771C - break; - case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - vertFactor = -(vehicle->track_progress / 2) + 134; - lateralFactor = -90; - //6D7746 - break; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: - vertFactor = -(vehicle->track_progress / 2) + 134; - lateralFactor = 90; - //6D7731 identical to 6d771c - break; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: - vertFactor = -(vehicle->track_progress / 2) + 134; - lateralFactor = -90; - //6D775B identical to 6d7746 - break; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: - vertFactor = (((uint16)(-(vehicle->track_progress - 311))) / 4) + 46; - //6d7666 - break; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: - vertFactor = (vehicle->track_progress / 4) + 46; - //6d767F - break; - case TRACK_ELEM_HEARTLINE_TRANSFER_UP: - vertFactor = 103; - if (vehicle->track_progress < 32) - break; - vertFactor = -103; - if (vehicle->track_progress < 64) - break; - vertFactor = 0; - if (vehicle->track_progress < 96) - break; - vertFactor = 103; - if (vehicle->track_progress < 128) - break; - vertFactor = -103; - //6d74A0 - break; - case TRACK_ELEM_HEARTLINE_TRANSFER_DOWN: - vertFactor = -103; - if (vehicle->track_progress < 32) - break; - vertFactor = 103; - if (vehicle->track_progress < 64) - break; - vertFactor = 0; - if (vehicle->track_progress < 96) - break; - vertFactor = -103; - if (vehicle->track_progress < 128) - break; - vertFactor = 103; - //6D74CA - break; - case TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: - case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: - case TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP: - vertFactor = (vehicle->track_progress / 4) + 55; - //6d762D - break; - case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP: - case TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP: - case 255: - vertFactor = (((uint16)(-(vehicle->track_progress - 137))) / 4) + 55; - //6D7614 - break; - case TRACK_ELEM_AIR_THRUST_TOP_CAP: - vertFactor = -60; - //6D744C - break; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - vertFactor = 200; - lateralFactor = 100; - //6d76C8 - break; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - vertFactor = 200; - lateralFactor = -100; - //6d76d7 - break; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - vertFactor = 200; - lateralFactor = 160; - //6D76E6 - break; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - vertFactor = 200; - lateralFactor = -160; - //6d76F5 - break; - } + // Note shr has meant some of the below functions cast a known negative number to + // unsigned. Possibly an original bug but will be left implemented. + switch (vehicle->track_type >> 2) { + case TRACK_ELEM_FLAT: + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + case TRACK_ELEM_25_DEG_UP: + case TRACK_ELEM_60_DEG_UP: // + case TRACK_ELEM_25_DEG_DOWN: + case TRACK_ELEM_60_DEG_DOWN: // + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TRACK_ELEM_RIGHT_BANK_TO_FLAT:// + case TRACK_ELEM_LEFT_BANK: + case TRACK_ELEM_RIGHT_BANK: + case TRACK_ELEM_TOWER_BASE: + case TRACK_ELEM_TOWER_SECTION: + case TRACK_ELEM_FLAT_COVERED: + case TRACK_ELEM_25_DEG_UP_COVERED: + case TRACK_ELEM_60_DEG_UP_COVERED: + case TRACK_ELEM_25_DEG_DOWN_COVERED: + case TRACK_ELEM_60_DEG_DOWN_COVERED: + case TRACK_ELEM_BRAKES: + case TRACK_ELEM_ROTATION_CONTROL_TOGGLE: + case TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP: + case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + case TRACK_ELEM_WATERFALL: + case TRACK_ELEM_RAPIDS: + case TRACK_ELEM_ON_RIDE_PHOTO: + case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + case TRACK_ELEM_WHIRLPOOL: + case TRACK_ELEM_REVERSE_FREEFALL_VERTICAL: + case TRACK_ELEM_90_DEG_UP: + case TRACK_ELEM_90_DEG_DOWN: + case TRACK_ELEM_DIAG_FLAT: + case TRACK_ELEM_DIAG_25_DEG_UP: + case TRACK_ELEM_DIAG_60_DEG_UP: + case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TRACK_ELEM_DIAG_LEFT_BANK: + case TRACK_ELEM_DIAG_RIGHT_BANK: + case TRACK_ELEM_LOG_FLUME_REVERSER: + case TRACK_ELEM_SPINNING_TUNNEL: + case TRACK_ELEM_POWERED_LIFT: + case TRACK_ELEM_MINI_GOLF_HOLE_A: + case TRACK_ELEM_MINI_GOLF_HOLE_B: + case TRACK_ELEM_MINI_GOLF_HOLE_C: + case TRACK_ELEM_MINI_GOLF_HOLE_D: + case TRACK_ELEM_MINI_GOLF_HOLE_E: + case TRACK_ELEM_LEFT_REVERSER: + case TRACK_ELEM_RIGHT_REVERSER: + case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN: + case TRACK_ELEM_BLOCK_BRAKES: + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + //6d73FF + // Do nothing + break; + case TRACK_ELEM_FLAT_TO_25_DEG_UP:// + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT:// + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED: + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED: + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + vertFactor = 103; + //6d7509 + break; + case TRACK_ELEM_25_DEG_UP_TO_FLAT:// + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN:// + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED: + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED: + case TRACK_ELEM_CABLE_LIFT_HILL: + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + vertFactor = -103; + //6d7569 + break; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP:// + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN:// + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED: + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED: + vertFactor = 82; + //6d7545 + break; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP:// + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN:// + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED: + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED: + vertFactor = -82; + //6d7551 + break; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES:// + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: + case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: + case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP: + case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN: + case TRACK_ELEM_LEFT_FLYER_TWIST_UP: + case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: + case TRACK_ELEM_LEFT_HEARTLINE_ROLL: + lateralFactor = 98; + //6d7590 + break; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES:// + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: + case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: + case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP: + case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN: + case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: + case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: + case TRACK_ELEM_RIGHT_HEARTLINE_ROLL: + lateralFactor = -98; + //6d75B7 + break; + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: + case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: + vertFactor = 200; + lateralFactor = 160; + //6d75E1 + break; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: + case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: + vertFactor = 200; + lateralFactor = -160; + //6d75F0 + break; + case TRACK_ELEM_S_BEND_LEFT: + case TRACK_ELEM_S_BEND_LEFT_COVERED: + lateralFactor = (vehicle->track_progress < 48) ? 98 : -98; + //6d75FF + break; + case TRACK_ELEM_S_BEND_RIGHT: + case TRACK_ELEM_S_BEND_RIGHT_COVERED: + lateralFactor = (vehicle->track_progress < 48) ? -98 : 98; + //6d7608 + break; + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + vertFactor = (abs(vehicle->track_progress - 155) / 2) + 28; + //6d7690 + break; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: + case TRACK_ELEM_LEFT_CURVED_LIFT_HILL: + lateralFactor = 59; + //6d7704 + break; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: + case TRACK_ELEM_RIGHT_CURVED_LIFT_HILL: + lateralFactor = -59; + //6d7710 + break; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + vertFactor = 100; + lateralFactor = 100; + //6d7782 + break; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + vertFactor = 100; + lateralFactor = -100; + //6d778E + break; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + lateralFactor = 45; + //6d779A + break; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + lateralFactor = -45; + //6d77A3 + break; + case TRACK_ELEM_HALF_LOOP_UP: + case TRACK_ELEM_FLYER_HALF_LOOP_UP: + vertFactor = (((uint16)(-(vehicle->track_progress - 155))) / 2) + 28; + //6d763E + break; + case TRACK_ELEM_HALF_LOOP_DOWN: + case TRACK_ELEM_FLYER_HALF_LOOP_DOWN: + vertFactor = (vehicle->track_progress / 2) + 28; + //6d7656 + break; + case TRACK_ELEM_LEFT_CORKSCREW_UP: + case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + case TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP: + case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN: + vertFactor = 52; + lateralFactor = 70; + //6d76AA + break; + case TRACK_ELEM_RIGHT_CORKSCREW_UP: + case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP: + case TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN: + vertFactor = 52; + lateralFactor = -70; + //6d76B9 + break; + case TRACK_ELEM_FLAT_TO_60_DEG_UP: + case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + vertFactor = 56; + //6d747C + break; + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + case TRACK_ELEM_BRAKE_FOR_DROP: + vertFactor = -56; + //6d7488 + break; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + lateralFactor = 88; + //6d7770 + break; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + lateralFactor = -88; + //6d7779 + break; + case TRACK_ELEM_WATER_SPLASH: + vertFactor = -150; + if (vehicle->track_progress < 32) + break; + vertFactor = 150; + if (vehicle->track_progress < 64) + break; + vertFactor = 0; + if (vehicle->track_progress < 96) + break; + vertFactor = 150; + if (vehicle->track_progress < 128) + break; + vertFactor = -150; + //6d7408 + break; + case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: + vertFactor = 160; + //6d74F1 + break; + case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: + case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: + vertFactor = -160; + //6d74FD + break; + case TRACK_ELEM_REVERSE_FREEFALL_SLOPE: + case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL: + vertFactor = 120; + //6d7458 + break; + case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + vertFactor = 110; + //6d7515 + break; + case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + vertFactor = -110; + //6d7521 + break; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + lateralFactor = 137; + //6d7575 + break; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + lateralFactor = -137; + //6d759C + break; + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + vertFactor = 270; + lateralFactor = 200; + //6d75C3 + break; + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + vertFactor = 270; + lateralFactor = -200; + //6d75D2 + break; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + vertFactor = 113; + //6d7494 + break; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + vertFactor = -113; + //6d755D + break; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + vertFactor = 95; + //6D752D + break; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + vertFactor = -95; + //6D7539 + break; + case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: + vertFactor = 60; + //6D7464 + break; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: + vertFactor = -60; + //6d7470 + break; + case TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN: + case TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP: + vertFactor = 170; + lateralFactor = 115; + //6d7581 + break; + case TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN: + case TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP: + vertFactor = 170; + lateralFactor = -115; + //6d75A8 + break; + case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + vertFactor = -(vehicle->track_progress / 2) + 134; + lateralFactor = 90; + //6d771C + break; + case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + vertFactor = -(vehicle->track_progress / 2) + 134; + lateralFactor = -90; + //6D7746 + break; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: + vertFactor = -(vehicle->track_progress / 2) + 134; + lateralFactor = 90; + //6D7731 identical to 6d771c + break; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: + vertFactor = -(vehicle->track_progress / 2) + 134; + lateralFactor = -90; + //6D775B identical to 6d7746 + break; + case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: + case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: + vertFactor = (((uint16)(-(vehicle->track_progress - 311))) / 4) + 46; + //6d7666 + break; + case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: + case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: + vertFactor = (vehicle->track_progress / 4) + 46; + //6d767F + break; + case TRACK_ELEM_HEARTLINE_TRANSFER_UP: + vertFactor = 103; + if (vehicle->track_progress < 32) + break; + vertFactor = -103; + if (vehicle->track_progress < 64) + break; + vertFactor = 0; + if (vehicle->track_progress < 96) + break; + vertFactor = 103; + if (vehicle->track_progress < 128) + break; + vertFactor = -103; + //6d74A0 + break; + case TRACK_ELEM_HEARTLINE_TRANSFER_DOWN: + vertFactor = -103; + if (vehicle->track_progress < 32) + break; + vertFactor = 103; + if (vehicle->track_progress < 64) + break; + vertFactor = 0; + if (vehicle->track_progress < 96) + break; + vertFactor = -103; + if (vehicle->track_progress < 128) + break; + vertFactor = 103; + //6D74CA + break; + case TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: + case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: + case TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP: + vertFactor = (vehicle->track_progress / 4) + 55; + //6d762D + break; + case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP: + case TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP: + case 255: + vertFactor = (((uint16)(-(vehicle->track_progress - 137))) / 4) + 55; + //6D7614 + break; + case TRACK_ELEM_AIR_THRUST_TOP_CAP: + vertFactor = -60; + //6D744C + break; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + vertFactor = 200; + lateralFactor = 100; + //6d76C8 + break; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + vertFactor = 200; + lateralFactor = -100; + //6d76d7 + break; + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + vertFactor = 200; + lateralFactor = 160; + //6D76E6 + break; + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + vertFactor = 200; + lateralFactor = -160; + //6d76F5 + break; + } - sint32 gForceLateral = 0; + sint32 gForceLateral = 0; - if (vertFactor != 0) { - gForceVert += abs(vehicle->velocity) * 98 / vertFactor; - } + if (vertFactor != 0) { + gForceVert += abs(vehicle->velocity) * 98 / vertFactor; + } - if (lateralFactor != 0) { - gForceLateral += abs(vehicle->velocity) * 98 / lateralFactor; - } + if (lateralFactor != 0) { + gForceLateral += abs(vehicle->velocity) * 98 / lateralFactor; + } - gForceVert *= 10; - gForceLateral *= 10; - gForceVert >>= 16; - gForceLateral >>= 16; + gForceVert *= 10; + gForceLateral *= 10; + gForceVert >>= 16; + gForceLateral >>= 16; - if (verticalG != NULL) *verticalG = (sint16)(gForceVert & 0xFFFF); - if (lateralG != NULL) *lateralG = (sint16)(gForceLateral & 0xFFFF); + if (verticalG != NULL) *verticalG = (sint16)(gForceVert & 0xFFFF); + if (lateralG != NULL) *lateralG = (sint16)(gForceLateral & 0xFFFF); } void vehicle_set_map_toolbar(rct_vehicle *vehicle) { - rct_ride *ride; - sint32 vehicleIndex; + rct_ride *ride; + sint32 vehicleIndex; - ride = get_ride(vehicle->ride); + ride = get_ride(vehicle->ride); - while (vehicle->is_child) { - vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); - } + while (vehicle->is_child) { + vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); + } - for (vehicleIndex = 0; vehicleIndex < 32; vehicleIndex++) - if (ride->vehicles[vehicleIndex] == vehicle->sprite_index) - break; + for (vehicleIndex = 0; vehicleIndex < 32; vehicleIndex++) + if (ride->vehicles[vehicleIndex] == vehicle->sprite_index) + break; - set_map_tooltip_format_arg(0, rct_string_id, STR_RIDE_MAP_TIP); - set_map_tooltip_format_arg(2, rct_string_id, STR_MAP_TOOLTIP_STRINGID_STRINGID); - set_map_tooltip_format_arg(4, rct_string_id, ride->name); - set_map_tooltip_format_arg(6, uint32, ride->name_arguments); - set_map_tooltip_format_arg(10, rct_string_id, RideComponentNames[RideNameConvention[ride->type].vehicle].capitalised); - set_map_tooltip_format_arg(12, uint16, vehicleIndex + 1); + set_map_tooltip_format_arg(0, rct_string_id, STR_RIDE_MAP_TIP); + set_map_tooltip_format_arg(2, rct_string_id, STR_MAP_TOOLTIP_STRINGID_STRINGID); + set_map_tooltip_format_arg(4, rct_string_id, ride->name); + set_map_tooltip_format_arg(6, uint32, ride->name_arguments); + set_map_tooltip_format_arg(10, rct_string_id, RideComponentNames[RideNameConvention[ride->type].vehicle].capitalised); + set_map_tooltip_format_arg(12, uint16, vehicleIndex + 1); - rct_string_id formatSecondary; - sint32 arg1; - ride_get_status(vehicle->ride, &formatSecondary, &arg1); - set_map_tooltip_format_arg(14, rct_string_id, formatSecondary); - // TODO: odd cast - set_map_tooltip_format_arg(16, uint32, (uint16)arg1); + rct_string_id formatSecondary; + sint32 arg1; + ride_get_status(vehicle->ride, &formatSecondary, &arg1); + set_map_tooltip_format_arg(14, rct_string_id, formatSecondary); + // TODO: odd cast + set_map_tooltip_format_arg(16, uint32, (uint16)arg1); } rct_vehicle *vehicle_get_head(rct_vehicle *vehicle) { - rct_vehicle *prevVehicle; + rct_vehicle *prevVehicle; - for (;;) { - prevVehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); - if (prevVehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) - break; + for (;;) { + prevVehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); + if (prevVehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) + break; - vehicle = prevVehicle; - } + vehicle = prevVehicle; + } - return vehicle; + return vehicle; } rct_vehicle *vehicle_get_tail(rct_vehicle *vehicle) { - uint16 spriteIndex; + uint16 spriteIndex; - while ((spriteIndex = vehicle->next_vehicle_on_train) != SPRITE_INDEX_NULL) { - vehicle = GET_VEHICLE(spriteIndex); - } - return vehicle; + while ((spriteIndex = vehicle->next_vehicle_on_train) != SPRITE_INDEX_NULL) { + vehicle = GET_VEHICLE(spriteIndex); + } + return vehicle; } sint32 vehicle_is_used_in_pairs(rct_vehicle *vehicle) { - return vehicle->num_seats & VEHICLE_SEAT_PAIR_FLAG; + return vehicle->num_seats & VEHICLE_SEAT_PAIR_FLAG; } /** @@ -5576,167 +5576,167 @@ sint32 vehicle_is_used_in_pairs(rct_vehicle *vehicle) * rct2: 0x006DA44E */ static sint32 vehicle_update_motion_dodgems(rct_vehicle* vehicle) { - _vehicleMotionTrackFlags = 0; - rct_ride* ride = get_ride(vehicle->ride); + _vehicleMotionTrackFlags = 0; + rct_ride* ride = get_ride(vehicle->ride); - sint32 nextVelocity = vehicle->velocity + vehicle->acceleration; - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN) && - ride->breakdown_reason_pending == BREAKDOWN_SAFETY_CUT_OUT) { - nextVelocity = 0; - } - vehicle->velocity = nextVelocity; + sint32 nextVelocity = vehicle->velocity + vehicle->acceleration; + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN) && + ride->breakdown_reason_pending == BREAKDOWN_SAFETY_CUT_OUT) { + nextVelocity = 0; + } + vehicle->velocity = nextVelocity; - _vehicleVelocityF64E08 = nextVelocity; - _vehicleVelocityF64E0C = (nextVelocity / 1024) * 42; - _vehicleUnkF64E10 = 1; + _vehicleVelocityF64E08 = nextVelocity; + _vehicleVelocityF64E0C = (nextVelocity / 1024) * 42; + _vehicleUnkF64E10 = 1; - vehicle->acceleration = 0; - if (!(ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN)) || - ride->breakdown_reason_pending != BREAKDOWN_SAFETY_CUT_OUT) { - if (gCurrentTicks & 1 && - vehicle->var_34 != 0) { + vehicle->acceleration = 0; + if (!(ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN)) || + ride->breakdown_reason_pending != BREAKDOWN_SAFETY_CUT_OUT) { + if (gCurrentTicks & 1 && + vehicle->var_34 != 0) { - if (vehicle->var_34 > 0) { - vehicle->var_34--; - vehicle->sprite_direction += 2; - } - else { - vehicle->var_34++; - vehicle->sprite_direction -= 2; - } - vehicle->sprite_direction &= 0x1E; - vehicle_invalidate(vehicle); - } - else if ((scenario_rand() & 0xFFFF) <= 2849) { - if (vehicle->var_35 & (1 << 6)) - vehicle->sprite_direction -= 2; - else - vehicle->sprite_direction += 2; - vehicle->sprite_direction &= 0x1E; - vehicle_invalidate(vehicle); - } - } + if (vehicle->var_34 > 0) { + vehicle->var_34--; + vehicle->sprite_direction += 2; + } + else { + vehicle->var_34++; + vehicle->sprite_direction -= 2; + } + vehicle->sprite_direction &= 0x1E; + vehicle_invalidate(vehicle); + } + else if ((scenario_rand() & 0xFFFF) <= 2849) { + if (vehicle->var_35 & (1 << 6)) + vehicle->sprite_direction -= 2; + else + vehicle->sprite_direction += 2; + vehicle->sprite_direction &= 0x1E; + vehicle_invalidate(vehicle); + } + } - uint16 collideSprite = 0xFFFF; + uint16 collideSprite = 0xFFFF; - if (vehicle->var_C4 != 0) { - uint8 oldC4 = vehicle->var_C4 & 0x1E; - vehicle->var_C4 = 0; + if (vehicle->var_C4 != 0) { + uint8 oldC4 = vehicle->var_C4 & 0x1E; + vehicle->var_C4 = 0; - rct_xyz16 location = { - .x = vehicle->x, - .y = vehicle->y, - .z = vehicle->z - }; + rct_xyz16 location = { + .x = vehicle->x, + .y = vehicle->y, + .z = vehicle->z + }; - location.x += Unk9A36C4[oldC4].x; - location.y += Unk9A36C4[oldC4].y; - location.x += Unk9A36C4[oldC4 + 1].x; - location.y += Unk9A36C4[oldC4 + 1].y; + location.x += Unk9A36C4[oldC4].x; + location.y += Unk9A36C4[oldC4].y; + location.x += Unk9A36C4[oldC4 + 1].x; + location.y += Unk9A36C4[oldC4 + 1].y; - if (!vehicle_update_dodgems_collision(vehicle, location.x, location.y, &collideSprite)) { - vehicle_invalidate(vehicle); - sprite_move( - location.x, - location.y, - location.z, - (rct_sprite*)vehicle - ); - vehicle_invalidate(vehicle); - } - } + if (!vehicle_update_dodgems_collision(vehicle, location.x, location.y, &collideSprite)) { + vehicle_invalidate(vehicle); + sprite_move( + location.x, + location.y, + location.z, + (rct_sprite*)vehicle + ); + vehicle_invalidate(vehicle); + } + } - vehicle->remaining_distance += _vehicleVelocityF64E0C; + vehicle->remaining_distance += _vehicleVelocityF64E0C; - if (vehicle->remaining_distance >= 13962) { - vehicle->var_B8 &= ~(1 << 1); - unk_F64E20.x = vehicle->x; - unk_F64E20.y = vehicle->y; - unk_F64E20.z = vehicle->z; + if (vehicle->remaining_distance >= 13962) { + vehicle->var_B8 &= ~(1 << 1); + unk_F64E20.x = vehicle->x; + unk_F64E20.y = vehicle->y; + unk_F64E20.z = vehicle->z; - vehicle_invalidate(vehicle); + vehicle_invalidate(vehicle); - while (1) { - vehicle->var_35++; - uint8 direction = vehicle->sprite_direction; - direction |= vehicle->var_35 & 1; + while (1) { + vehicle->var_35++; + uint8 direction = vehicle->sprite_direction; + direction |= vehicle->var_35 & 1; - rct_xyz16 location = unk_F64E20; - location.x += Unk9A36C4[direction].x; - location.y += Unk9A36C4[direction].y; + rct_xyz16 location = unk_F64E20; + location.x += Unk9A36C4[direction].x; + location.y += Unk9A36C4[direction].y; - if (vehicle_update_dodgems_collision(vehicle, location.x, location.y, &collideSprite)) - break; + if (vehicle_update_dodgems_collision(vehicle, location.x, location.y, &collideSprite)) + break; - vehicle->remaining_distance -= Unk9A36C4[direction].distance; - unk_F64E20.x = location.x; - unk_F64E20.y = location.y; - if (vehicle->remaining_distance < 13962) { - break; - } - _vehicleUnkF64E10++; - } + vehicle->remaining_distance -= Unk9A36C4[direction].distance; + unk_F64E20.x = location.x; + unk_F64E20.y = location.y; + if (vehicle->remaining_distance < 13962) { + break; + } + _vehicleUnkF64E10++; + } - if (vehicle->remaining_distance >= 13962) { - sint32 oldVelocity = vehicle->velocity; - vehicle->remaining_distance = 0; - vehicle->velocity = 0; - uint8 direction = vehicle->sprite_direction | 1; + if (vehicle->remaining_distance >= 13962) { + sint32 oldVelocity = vehicle->velocity; + vehicle->remaining_distance = 0; + vehicle->velocity = 0; + uint8 direction = vehicle->sprite_direction | 1; - if (collideSprite != 0xFFFF) { - vehicle->var_34 = (scenario_rand() & 1) ? 1 : -1; + if (collideSprite != 0xFFFF) { + vehicle->var_34 = (scenario_rand() & 1) ? 1 : -1; - if (oldVelocity >= 131072) { - rct_vehicle* collideVehicle = GET_VEHICLE(collideSprite); - collideVehicle->var_C4 = direction; - vehicle->var_C4 = direction ^ (1 << 4); - } - } - else { - vehicle->var_34 = (scenario_rand() & 1) ? 6 : -6; + if (oldVelocity >= 131072) { + rct_vehicle* collideVehicle = GET_VEHICLE(collideSprite); + collideVehicle->var_C4 = direction; + vehicle->var_C4 = direction ^ (1 << 4); + } + } + else { + vehicle->var_34 = (scenario_rand() & 1) ? 6 : -6; - if (oldVelocity >= 131072) { - vehicle->var_C4 = direction ^ (1 << 4); - } - } - } + if (oldVelocity >= 131072) { + vehicle->var_C4 = direction ^ (1 << 4); + } + } + } - sprite_move( - unk_F64E20.x, - unk_F64E20.y, - unk_F64E20.z, - (rct_sprite*)vehicle - ); - vehicle_invalidate(vehicle); - } + sprite_move( + unk_F64E20.x, + unk_F64E20.y, + unk_F64E20.z, + (rct_sprite*)vehicle + ); + vehicle_invalidate(vehicle); + } - sint32 eax = vehicle->velocity / 2; - sint32 edx = vehicle->velocity >> 8; - edx *= edx; - if (vehicle->velocity < 0) - edx = -edx; - edx >>= 5; - eax += edx; - eax /= vehicle->friction; - rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; + sint32 eax = vehicle->velocity / 2; + sint32 edx = vehicle->velocity >> 8; + edx *= edx; + if (vehicle->velocity < 0) + edx = -edx; + edx >>= 5; + eax += edx; + eax /= vehicle->friction; + rct_ride_entry* rideEntry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3)) { - vehicle->acceleration = -eax; - return _vehicleMotionTrackFlags; - } + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3)) { + vehicle->acceleration = -eax; + return _vehicleMotionTrackFlags; + } - sint32 ebx = (vehicle->speed * vehicle->friction) >> 2; - sint32 _eax = vehicle->speed << 14; - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_3) { - _eax = -_eax; - } - _eax -= vehicle->velocity; - _eax *= vehicle->powered_acceleration * 2; - _eax /= ebx; + sint32 ebx = (vehicle->speed * vehicle->friction) >> 2; + sint32 _eax = vehicle->speed << 14; + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_3) { + _eax = -_eax; + } + _eax -= vehicle->velocity; + _eax *= vehicle->powered_acceleration * 2; + _eax /= ebx; - vehicle->acceleration = _eax - eax; - return _vehicleMotionTrackFlags; + vehicle->acceleration = _eax - eax; + return _vehicleMotionTrackFlags; } @@ -5747,65 +5747,65 @@ static sint32 vehicle_update_motion_dodgems(rct_vehicle* vehicle) { */ bool vehicle_update_dodgems_collision(rct_vehicle *vehicle, sint16 x, sint16 y, uint16 *spriteId) { - uint16 bp = (vehicle->var_44 * 30) >> 9; - uint32 trackType = vehicle->track_type >> 2; + uint16 bp = (vehicle->var_44 * 30) >> 9; + uint32 trackType = vehicle->track_type >> 2; - sint16 rideLeft = vehicle->track_x + DodgemsTrackSize[trackType].left; - sint16 rideRight = vehicle->track_x + DodgemsTrackSize[trackType].right; - sint16 rideTop = vehicle->track_y + DodgemsTrackSize[trackType].top; - sint16 rideBottom = vehicle->track_y + DodgemsTrackSize[trackType].bottom; + sint16 rideLeft = vehicle->track_x + DodgemsTrackSize[trackType].left; + sint16 rideRight = vehicle->track_x + DodgemsTrackSize[trackType].right; + sint16 rideTop = vehicle->track_y + DodgemsTrackSize[trackType].top; + sint16 rideBottom = vehicle->track_y + DodgemsTrackSize[trackType].bottom; - if (x - bp < rideLeft || - y - bp < rideTop || - x + bp > rideRight || - y + bp > rideBottom) { - if (spriteId != NULL) - *spriteId = SPRITE_INDEX_NULL; - return true; - } + if (x - bp < rideLeft || + y - bp < rideTop || + x + bp > rideRight || + y + bp > rideBottom) { + if (spriteId != NULL) + *spriteId = SPRITE_INDEX_NULL; + return true; + } - rct_xy8 location = {.x = (x / 32), .y = (y / 32)}; + rct_xy8 location = {.x = (x / 32), .y = (y / 32)}; - uint8 rideIndex = vehicle->ride; - for (sint32 i = 0; i < countof(Unk9A37C4); i++) { - location.x += Unk9A37C4[i].x; - location.y += Unk9A37C4[i].y; + uint8 rideIndex = vehicle->ride; + for (sint32 i = 0; i < countof(Unk9A37C4); i++) { + location.x += Unk9A37C4[i].x; + location.y += Unk9A37C4[i].y; - uint16 spriteIdx = sprite_get_first_in_quadrant(location.x * 32, location.y * 32); - while (spriteIdx != SPRITE_INDEX_NULL) { - rct_vehicle* vehicle2 = GET_VEHICLE(spriteIdx); - spriteIdx = vehicle2->next_in_quadrant; + uint16 spriteIdx = sprite_get_first_in_quadrant(location.x * 32, location.y * 32); + while (spriteIdx != SPRITE_INDEX_NULL) { + rct_vehicle* vehicle2 = GET_VEHICLE(spriteIdx); + spriteIdx = vehicle2->next_in_quadrant; - if (vehicle2 == vehicle) - continue; + if (vehicle2 == vehicle) + continue; - if (vehicle2->sprite_identifier != SPRITE_IDENTIFIER_VEHICLE) - continue; + if (vehicle2->sprite_identifier != SPRITE_IDENTIFIER_VEHICLE) + continue; - if (vehicle2->ride != rideIndex) - continue; + if (vehicle2->ride != rideIndex) + continue; - sint32 distX = abs(x - vehicle2->x); - if (distX > 32768) - continue; + sint32 distX = abs(x - vehicle2->x); + if (distX > 32768) + continue; - sint32 distY = abs(y - vehicle2->y); - if (distY > 32768) - continue; + sint32 distY = abs(y - vehicle2->y); + if (distY > 32768) + continue; - sint32 ecx = (vehicle->var_44 + vehicle2->var_44) / 2; - ecx *= 30; - ecx >>= 8; - if (max(distX, distY) < ecx) { - if (spriteId != NULL) - *spriteId = vehicle2->sprite_index; - return true; - } - } - } + sint32 ecx = (vehicle->var_44 + vehicle2->var_44) / 2; + ecx *= 30; + ecx >>= 8; + if (max(distX, distY) < ecx) { + if (spriteId != NULL) + *spriteId = vehicle2->sprite_index; + return true; + } + } + } - return false; + return false; } /** @@ -5814,50 +5814,50 @@ bool vehicle_update_dodgems_collision(rct_vehicle *vehicle, sint16 x, sint16 y, */ static void vehicle_update_track_motion_up_stop_check(rct_vehicle *vehicle) { - rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); - sint32 verticalG, lateralG; + rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); + sint32 verticalG, lateralG; - // No up stops (coaster types) - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_1) { - sint32 trackType = vehicle->track_type >> 2; - if (!track_element_is_covered(trackType)) { - vehicle_get_g_forces(vehicle, &verticalG, &lateralG); - lateralG = abs(lateralG); - if (lateralG <= 150) { - if (dword_9A2970[vehicle->vehicle_sprite_type] < 0) { - if (verticalG > -40) { - return; - } - } else if (verticalG > -80) { - return; - } - } + // No up stops (coaster types) + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_1) { + sint32 trackType = vehicle->track_type >> 2; + if (!track_element_is_covered(trackType)) { + vehicle_get_g_forces(vehicle, &verticalG, &lateralG); + lateralG = abs(lateralG); + if (lateralG <= 150) { + if (dword_9A2970[vehicle->vehicle_sprite_type] < 0) { + if (verticalG > -40) { + return; + } + } else if (verticalG > -80) { + return; + } + } - if (vehicle->vehicle_sprite_type != 8) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_DERAILED; - } - } - } else if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_2) { - // No up stops bobsleigh type - sint32 trackType = vehicle->track_type >> 2; - if (!track_element_is_covered(trackType)) { - vehicle_get_g_forces(vehicle, &verticalG, &lateralG); + if (vehicle->vehicle_sprite_type != 8) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_DERAILED; + } + } + } else if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_2) { + // No up stops bobsleigh type + sint32 trackType = vehicle->track_type >> 2; + if (!track_element_is_covered(trackType)) { + vehicle_get_g_forces(vehicle, &verticalG, &lateralG); - if (dword_9A2970[vehicle->vehicle_sprite_type] < 0) { - if (verticalG > -45) { - return; - } - } else { - if (verticalG > -80) { - return; - } - } + if (dword_9A2970[vehicle->vehicle_sprite_type] < 0) { + if (verticalG > -45) { + return; + } + } else { + if (verticalG > -80) { + return; + } + } - if (vehicle->vehicle_sprite_type != 8 && vehicle->vehicle_sprite_type != 55) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_DERAILED; - } - } - } + if (vehicle->vehicle_sprite_type != 8 && vehicle->vehicle_sprite_type != 55) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_DERAILED; + } + } + } } /** @@ -5868,18 +5868,18 @@ static void vehicle_update_track_motion_up_stop_check(rct_vehicle *vehicle) * boosts the train to the speed limit */ static void apply_non_stop_block_brake(rct_vehicle *vehicle, bool block_brake_closed) { - if (vehicle->velocity >= 0) { - // If the vehicle is below the speed limit - if (vehicle->velocity <= 0x20364) { - // Boost it to the fixed block brake speed - vehicle->velocity = 0x20364; - vehicle->acceleration = 0; - } else if(block_brake_closed){ - // Slow it down till the fixed block brake speed - vehicle->velocity -= vehicle->velocity >> 4; - vehicle->acceleration = 0; - } - } + if (vehicle->velocity >= 0) { + // If the vehicle is below the speed limit + if (vehicle->velocity <= 0x20364) { + // Boost it to the fixed block brake speed + vehicle->velocity = 0x20364; + vehicle->acceleration = 0; + } else if(block_brake_closed){ + // Slow it down till the fixed block brake speed + vehicle->velocity -= vehicle->velocity >> 4; + vehicle->acceleration = 0; + } + } } /** @@ -5888,24 +5888,24 @@ static void apply_non_stop_block_brake(rct_vehicle *vehicle, bool block_brake_cl */ static void apply_block_brakes(rct_vehicle *vehicle, bool is_block_brake_closed) { - // If the site is in a "train blocking" state - if (is_block_brake_closed) { - // Slow it down till completely stop the car - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_10; - vehicle->acceleration = 0; - // If the vehicle is slow enough, stop it. If not, slow it down - if (vehicle->velocity <= 0x20000) { - vehicle->velocity = 0; - } else { - vehicle->velocity -= vehicle->velocity >> 3; - } - } else { + // If the site is in a "train blocking" state + if (is_block_brake_closed) { + // Slow it down till completely stop the car + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_10; + vehicle->acceleration = 0; + // If the vehicle is slow enough, stop it. If not, slow it down + if (vehicle->velocity <= 0x20000) { + vehicle->velocity = 0; + } else { + vehicle->velocity -= vehicle->velocity >> 3; + } + } else { #ifdef NEW_BLOCK_BRAKES - apply_non_stop_block_brake(vehicle, false); + apply_non_stop_block_brake(vehicle, false); #else - apply_non_stop_block_brake(vehicle, true); + apply_non_stop_block_brake(vehicle, true); #endif - } + } } @@ -5915,59 +5915,59 @@ static void apply_block_brakes(rct_vehicle *vehicle, bool is_block_brake_closed) */ 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); + 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 (_vehicleBreakdown == 0) { - velocity = 0; - } - vehicle->velocity = velocity; - vehicle->acceleration = 0; - } + // Is chair lift type + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_12) { + sint32 velocity = ride->speed << 16; + if (_vehicleBreakdown == 0) { + velocity = 0; + } + vehicle->velocity = velocity; + vehicle->acceleration = 0; + } - sint32 trackType = vehicle->track_type >> 2; + sint32 trackType = vehicle->track_type >> 2; - rct_map_element *trackElement = map_get_track_element_at_of_type( - vehicle->track_x, - vehicle->track_y, - vehicle->track_z >> 3, - trackType - ); + rct_map_element *trackElement = map_get_track_element_at_of_type( + vehicle->track_x, + vehicle->track_y, + vehicle->track_z >> 3, + trackType + ); - if (trackElement == NULL) { - return; - } + if (trackElement == NULL) { + return; + } - switch (trackType) { - case TRACK_ELEM_BLOCK_BRAKES: - if (ride_is_block_sectioned(ride)) - apply_block_brakes(vehicle, trackElement->flags & MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED); - else - apply_non_stop_block_brake(vehicle, true); + switch (trackType) { + case TRACK_ELEM_BLOCK_BRAKES: + if (ride_is_block_sectioned(ride)) + apply_block_brakes(vehicle, trackElement->flags & MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED); + else + apply_non_stop_block_brake(vehicle, true); - break; - case TRACK_ELEM_END_STATION: - if (trackElement->flags & MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED) - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_10; + break; + case TRACK_ELEM_END_STATION: + if (trackElement->flags & MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED) + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_10; - 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)){ - if(trackType == TRACK_ELEM_CABLE_LIFT_HILL || track_element_is_lift_hill(trackElement)) { - if (trackElement->flags & MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED) { - apply_block_brakes(vehicle, true); - } - } - } - break; - } + 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)){ + if(trackType == TRACK_ELEM_CABLE_LIFT_HILL || track_element_is_lift_hill(trackElement)) { + if (trackElement->flags & MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED) { + apply_block_brakes(vehicle, true); + } + } + } + break; + } } /** @@ -5976,198 +5976,198 @@ static void check_and_apply_block_section_stop_site(rct_vehicle *vehicle) */ static void update_velocity(rct_vehicle *vehicle) { - sint32 nextVelocity = vehicle->acceleration + vehicle->velocity; - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_7) { - nextVelocity = 0; - } - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_ON_BREAK_FOR_DROP) { - vehicle->vertical_drop_countdown--; - if (vehicle->vertical_drop_countdown == -70) { - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_ON_BREAK_FOR_DROP; - } - if (vehicle->vertical_drop_countdown >= 0) { - nextVelocity = 0; - vehicle->acceleration = 0; - } - } - vehicle->velocity = nextVelocity; + sint32 nextVelocity = vehicle->acceleration + vehicle->velocity; + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_7) { + nextVelocity = 0; + } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_ON_BREAK_FOR_DROP) { + vehicle->vertical_drop_countdown--; + if (vehicle->vertical_drop_countdown == -70) { + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_ON_BREAK_FOR_DROP; + } + if (vehicle->vertical_drop_countdown >= 0) { + nextVelocity = 0; + vehicle->acceleration = 0; + } + } + vehicle->velocity = nextVelocity; - _vehicleVelocityF64E08 = nextVelocity; - _vehicleVelocityF64E0C = (nextVelocity >> 10) * 42; + _vehicleVelocityF64E08 = nextVelocity; + _vehicleVelocityF64E0C = (nextVelocity >> 10) * 42; } static void vehicle_update_block_brakes_open_previous_section(rct_vehicle *vehicle, rct_map_element *mapElement) { - sint32 x = vehicle->track_x; - sint32 y = vehicle->track_y; - sint32 z = vehicle->track_z; - track_begin_end trackBeginEnd, slowTrackBeginEnd; - rct_map_element slowMapElement = *mapElement; - bool counter = true; - sint32 slowX = x; - sint32 slowY = y; - do { - if (!track_block_get_previous(x, y, mapElement, &trackBeginEnd)) { - return; - } - if (trackBeginEnd.begin_x == vehicle->track_x && - trackBeginEnd.begin_y == vehicle->track_y && - mapElement == trackBeginEnd.begin_element) { - return; - } + sint32 x = vehicle->track_x; + sint32 y = vehicle->track_y; + sint32 z = vehicle->track_z; + track_begin_end trackBeginEnd, slowTrackBeginEnd; + rct_map_element slowMapElement = *mapElement; + bool counter = true; + sint32 slowX = x; + sint32 slowY = y; + do { + if (!track_block_get_previous(x, y, mapElement, &trackBeginEnd)) { + return; + } + if (trackBeginEnd.begin_x == vehicle->track_x && + trackBeginEnd.begin_y == vehicle->track_y && + mapElement == trackBeginEnd.begin_element) { + return; + } - x = trackBeginEnd.end_x; - y = trackBeginEnd.end_y; - z = trackBeginEnd.begin_z; - mapElement = trackBeginEnd.begin_element; + x = trackBeginEnd.end_x; + y = trackBeginEnd.end_y; + z = trackBeginEnd.begin_z; + mapElement = trackBeginEnd.begin_element; - //#2081: prevent infinite loop - counter = !counter; - if (counter) { - track_block_get_previous(slowX, slowY, &slowMapElement, &slowTrackBeginEnd); - slowX = slowTrackBeginEnd.end_x; - slowY = slowTrackBeginEnd.end_y; - slowMapElement = *(slowTrackBeginEnd.begin_element); - if (slowX == x && - slowY == y && - slowMapElement.base_height == mapElement->base_height && - slowMapElement.type == mapElement->type ) { - return; - } - } - } while (!track_element_is_block_start(trackBeginEnd.begin_element)); + //#2081: prevent infinite loop + counter = !counter; + if (counter) { + track_block_get_previous(slowX, slowY, &slowMapElement, &slowTrackBeginEnd); + slowX = slowTrackBeginEnd.end_x; + slowY = slowTrackBeginEnd.end_y; + slowMapElement = *(slowTrackBeginEnd.begin_element); + if (slowX == x && + slowY == y && + slowMapElement.base_height == mapElement->base_height && + slowMapElement.type == mapElement->type ) { + return; + } + } + } while (!track_element_is_block_start(trackBeginEnd.begin_element)); - // Get the start of the track block instead of the end - x = trackBeginEnd.begin_x; - y = trackBeginEnd.begin_y; - z = trackBeginEnd.begin_z; - mapElement = map_get_track_element_at(x, y, z >> 3); - if (mapElement == NULL) { - return; - } - mapElement->flags &= ~MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED; - map_invalidate_element(x, y, mapElement); + // Get the start of the track block instead of the end + x = trackBeginEnd.begin_x; + y = trackBeginEnd.begin_y; + z = trackBeginEnd.begin_z; + mapElement = map_get_track_element_at(x, y, z >> 3); + if (mapElement == NULL) { + return; + } + mapElement->flags &= ~MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED; + map_invalidate_element(x, y, mapElement); - sint32 trackType = mapElement->properties.track.type; - if (trackType == TRACK_ELEM_BLOCK_BRAKES || trackType == TRACK_ELEM_END_STATION) { - rct_ride *ride = get_ride(vehicle->ride); - if (ride_is_block_sectioned(ride)) { - audio_play_sound_at_location(SOUND_48, x, y, z); - } - } + sint32 trackType = mapElement->properties.track.type; + if (trackType == TRACK_ELEM_BLOCK_BRAKES || trackType == TRACK_ELEM_END_STATION) { + rct_ride *ride = get_ride(vehicle->ride); + if (ride_is_block_sectioned(ride)) { + audio_play_sound_at_location(SOUND_48, x, y, z); + } + } } static sint32 vehicle_get_swing_amount(rct_vehicle *vehicle) { - sint32 trackType = vehicle->track_type >> 2; - switch (trackType) { - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: - case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP: - case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - // loc_6D67E1 - return 14; + sint32 trackType = vehicle->track_type >> 2; + switch (trackType) { + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: + case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP: + case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN: + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + // loc_6D67E1 + return 14; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP: - case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - // loc_6D6804 - return -14; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: + case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP: + case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN: + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + // loc_6D6804 + return -14; - case TRACK_ELEM_S_BEND_LEFT: - case TRACK_ELEM_S_BEND_LEFT_COVERED: - // loc_6D67EF - if (vehicle->track_progress < 48) { - return 14; - } else { - return -15; - } + case TRACK_ELEM_S_BEND_LEFT: + case TRACK_ELEM_S_BEND_LEFT_COVERED: + // loc_6D67EF + if (vehicle->track_progress < 48) { + return 14; + } else { + return -15; + } - case TRACK_ELEM_S_BEND_RIGHT: - case TRACK_ELEM_S_BEND_RIGHT_COVERED: - // loc_6D67CC - if (vehicle->track_progress < 48) { - return -14; - } else { - return 15; - } + case TRACK_ELEM_S_BEND_RIGHT: + case TRACK_ELEM_S_BEND_RIGHT_COVERED: + // loc_6D67CC + if (vehicle->track_progress < 48) { + return -14; + } else { + return 15; + } - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_LEFT_CURVED_LIFT_HILL: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - // loc_6D67BE - return 13; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: + case TRACK_ELEM_LEFT_CURVED_LIFT_HILL: + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + // loc_6D67BE + return 13; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: - case TRACK_ELEM_RIGHT_CURVED_LIFT_HILL: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - // loc_6D67B0 - return -13; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: + case TRACK_ELEM_RIGHT_CURVED_LIFT_HILL: + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + // loc_6D67B0 + return -13; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - // loc_6D67A2 - return 12; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + // loc_6D67A2 + return 12; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - // loc_6D6794 - return -12; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + // loc_6D6794 + return -12; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - // loc_6D67D3 - return 15; + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + // loc_6D67D3 + return 15; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - // loc_6D67F6 - return -15; - } - return 0; + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + // loc_6D67F6 + return -15; + } + return 0; } /** @@ -6176,395 +6176,395 @@ static sint32 vehicle_get_swing_amount(rct_vehicle *vehicle) */ static void vehicle_update_swinging_car(rct_vehicle *vehicle) { - sint32 dword_F64E08 = _vehicleVelocityF64E08; - vehicle->var_4E += (-vehicle->swinging_car_var_0) >> 6; - sint32 swingAmount = vehicle_get_swing_amount(vehicle); - if (swingAmount < 0) { - vehicle->var_4E -= dword_F64E08 >> (-swingAmount); - } - else if (swingAmount > 0){ - vehicle->var_4E += dword_F64E08 >> swingAmount; - } + sint32 dword_F64E08 = _vehicleVelocityF64E08; + vehicle->var_4E += (-vehicle->swinging_car_var_0) >> 6; + sint32 swingAmount = vehicle_get_swing_amount(vehicle); + if (swingAmount < 0) { + vehicle->var_4E -= dword_F64E08 >> (-swingAmount); + } + else if (swingAmount > 0){ + vehicle->var_4E += dword_F64E08 >> swingAmount; + } - rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); - sint16 dx = 3185; - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_5) { - dx = 5006; - } - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_9) { - dx = 1820; - } - sint16 cx = -dx; + rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); + sint16 dx = 3185; + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_5) { + dx = 5006; + } + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_9) { + dx = 1820; + } + sint16 cx = -dx; - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_11) { - dx = 5370; - cx = -5370; + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_11) { + dx = 5370; + cx = -5370; - sint32 trackType = vehicle->track_type >> 2; - switch (trackType) { - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_LEFT_BANK: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - dx = 10831; - cx = -819; - break; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_RIGHT_BANK: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - dx = 819; - cx = -10831; - break; - } + sint32 trackType = vehicle->track_type >> 2; + switch (trackType) { + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_LEFT_BANK: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + dx = 10831; + cx = -819; + break; + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_RIGHT_BANK: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + dx = 819; + cx = -10831; + break; + } - switch (trackType) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - case TRACK_ELEM_BRAKES: - case TRACK_ELEM_BLOCK_BRAKES: - dx = 0; - cx = 0; - break; - } + switch (trackType) { + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + case TRACK_ELEM_BRAKES: + case TRACK_ELEM_BLOCK_BRAKES: + dx = 0; + cx = 0; + break; + } - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_0) { - dx = 0; - cx = 0; - } - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_0) { + dx = 0; + cx = 0; + } + } - vehicle->swinging_car_var_0 += vehicle->var_4E; - vehicle->var_4E -= vehicle->var_4E >> 5; - sint16 ax = vehicle->swinging_car_var_0; - if (ax > dx) { - ax = dx; - vehicle->var_4E = 0; - } - if (ax < cx) { - ax = cx; - vehicle->var_4E = 0; - } + vehicle->swinging_car_var_0 += vehicle->var_4E; + vehicle->var_4E -= vehicle->var_4E >> 5; + sint16 ax = vehicle->swinging_car_var_0; + if (ax > dx) { + ax = dx; + vehicle->var_4E = 0; + } + if (ax < cx) { + ax = cx; + vehicle->var_4E = 0; + } - vehicle->swinging_car_var_0 = ax; - uint8 bl = 11; - if (ax >= -10012) { - bl = 12; - if (ax <= 10012) { - bl = 9; - if (ax >= -8191) { - bl = 10; - if (ax <= 8191) { - bl = 7; - if (ax >= -6371) { - bl = 8; - if (ax <= 6371) { - bl = 5; - if (ax >= -4550) { - bl = 6; - if (ax <= 4550) { - bl = 3; - if (ax >= -2730) { - bl = 4; - if (ax <= 2730) { - bl = 1; - if (ax >= -910) { - bl = 2; - if (ax <= 910) { - bl = 0; - } - } - } - } - } - } - } - } - } - } - } - } - if (bl != vehicle->var_4A) { - vehicle->var_4A = bl; - vehicle_invalidate(vehicle); - } + vehicle->swinging_car_var_0 = ax; + uint8 bl = 11; + if (ax >= -10012) { + bl = 12; + if (ax <= 10012) { + bl = 9; + if (ax >= -8191) { + bl = 10; + if (ax <= 8191) { + bl = 7; + if (ax >= -6371) { + bl = 8; + if (ax <= 6371) { + bl = 5; + if (ax >= -4550) { + bl = 6; + if (ax <= 4550) { + bl = 3; + if (ax >= -2730) { + bl = 4; + if (ax <= 2730) { + bl = 1; + if (ax >= -910) { + bl = 2; + if (ax <= 910) { + bl = 0; + } + } + } + } + } + } + } + } + } + } + } + } + if (bl != vehicle->var_4A) { + vehicle->var_4A = bl; + vehicle_invalidate(vehicle); + } } #pragma region off_9A2E84 enum { - loc_6D673C, - loc_6D66F0, - loc_6D672B, - loc_6D6711, - loc_6D66D6, - loc_6D66C3, - loc_6D66B0, - loc_6D669A, - loc_6D6684, - loc_6D665A, - loc_6D6708, - loc_6D6703, - loc_6D66DD, - loc_6D6718 + loc_6D673C, + loc_6D66F0, + loc_6D672B, + loc_6D6711, + loc_6D66D6, + loc_6D66C3, + loc_6D66B0, + loc_6D669A, + loc_6D6684, + loc_6D665A, + loc_6D6708, + loc_6D6703, + loc_6D66DD, + loc_6D6718 }; static const uint8 off_9A2E84[256] = { - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D66F0, - loc_6D672B, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D66F0, - loc_6D672B, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D66F0, - loc_6D672B, - loc_6D66F0, - loc_6D672B, - loc_6D6711, - loc_6D66D6, - loc_6D673C, - loc_6D673C, - loc_6D66C3, - loc_6D66B0, - loc_6D66C3, - loc_6D66B0, - loc_6D66C3, - loc_6D66B0, - loc_6D66C3, - loc_6D66B0, - loc_6D669A, - loc_6D6684, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D66F0, - loc_6D672B, - loc_6D6711, - loc_6D66D6, - loc_6D66C3, - loc_6D66B0, - loc_6D66C3, - loc_6D66B0, - loc_6D66C3, - loc_6D66B0, - loc_6D66F0, - loc_6D672B, - loc_6D66F0, - loc_6D672B, - loc_6D669A, - loc_6D6684, - loc_6D669A, - loc_6D6684, - loc_6D673C, - loc_6D665A, - loc_6D673C, - loc_6D66F0, - loc_6D672B, - loc_6D66F0, - loc_6D672B, - loc_6D66F0, - loc_6D672B, - loc_6D66F0, - loc_6D672B, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D6708, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D6703, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D66DD, - loc_6D6718, - loc_6D66DD, - loc_6D6718, - loc_6D66DD, - loc_6D6718, - loc_6D66DD, - loc_6D6718, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D66C3, - loc_6D66B0, - loc_6D66C3, - loc_6D66B0, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D66C3, - loc_6D66B0, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D66C3, - loc_6D66B0, - loc_6D66C3, - loc_6D66B0, - loc_6D66F0, - loc_6D672B, - loc_6D66F0, - loc_6D672B, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C, - loc_6D673C + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D66F0, + loc_6D672B, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D66F0, + loc_6D672B, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D66F0, + loc_6D672B, + loc_6D66F0, + loc_6D672B, + loc_6D6711, + loc_6D66D6, + loc_6D673C, + loc_6D673C, + loc_6D66C3, + loc_6D66B0, + loc_6D66C3, + loc_6D66B0, + loc_6D66C3, + loc_6D66B0, + loc_6D66C3, + loc_6D66B0, + loc_6D669A, + loc_6D6684, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D66F0, + loc_6D672B, + loc_6D6711, + loc_6D66D6, + loc_6D66C3, + loc_6D66B0, + loc_6D66C3, + loc_6D66B0, + loc_6D66C3, + loc_6D66B0, + loc_6D66F0, + loc_6D672B, + loc_6D66F0, + loc_6D672B, + loc_6D669A, + loc_6D6684, + loc_6D669A, + loc_6D6684, + loc_6D673C, + loc_6D665A, + loc_6D673C, + loc_6D66F0, + loc_6D672B, + loc_6D66F0, + loc_6D672B, + loc_6D66F0, + loc_6D672B, + loc_6D66F0, + loc_6D672B, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D6708, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D6703, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D66DD, + loc_6D6718, + loc_6D66DD, + loc_6D6718, + loc_6D66DD, + loc_6D6718, + loc_6D66DD, + loc_6D6718, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D66C3, + loc_6D66B0, + loc_6D66C3, + loc_6D66B0, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D66C3, + loc_6D66B0, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D66C3, + loc_6D66B0, + loc_6D66C3, + loc_6D66B0, + loc_6D66F0, + loc_6D672B, + loc_6D66F0, + loc_6D672B, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C, + loc_6D673C }; #pragma endregion @@ -6575,84 +6575,84 @@ static const uint8 off_9A2E84[256] = { */ static void vehicle_update_spinning_car(rct_vehicle *vehicle) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_13) { - vehicle->var_B6 = 0; - return; - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_13) { + vehicle->var_B6 = 0; + return; + } - rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); - sint32 spinningInertia = vehicleEntry->spinning_inertia; - sint32 trackType = vehicle->track_type >> 2; - sint32 dword_F64E08 = _vehicleVelocityF64E08; - sint32 unk; - switch (off_9A2E84[trackType]) { - case loc_6D665A: - spinningInertia += 6; - unk = dword_F64E08 >> spinningInertia; - if (vehicle->sprite_index & 1) { - vehicle->var_B6 -= unk; - } else { - vehicle->var_B6 += unk; - } - break; - case loc_6D6684: - case loc_6D6703: - spinningInertia += 5; - vehicle->var_B6 -= dword_F64E08 >> spinningInertia; - break; - case loc_6D669A: - spinningInertia += 5; - vehicle->var_B6 += dword_F64E08 >> spinningInertia; - break; - case loc_6D66B0: - spinningInertia += 7; - vehicle->var_B6 -= dword_F64E08 >> spinningInertia; - break; - case loc_6D66C3: - spinningInertia += 7; - vehicle->var_B6 += dword_F64E08 >> spinningInertia; - break; - case loc_6D66D6: - if (vehicle->track_progress < 48) { - spinningInertia += 8; - vehicle->var_B6 += dword_F64E08 >> spinningInertia; - break; - } - case loc_6D66DD: - spinningInertia += 9; - vehicle->var_B6 += dword_F64E08 >> spinningInertia; - break; - case loc_6D66F0: - spinningInertia += 8; - vehicle->var_B6 += dword_F64E08 >> spinningInertia; - break; - case loc_6D6708: - if (vehicle->track_progress > 22) { - spinningInertia += 5; - vehicle->var_B6 += dword_F64E08 >> spinningInertia; - } - break; - case loc_6D6711: - if (vehicle->track_progress < 48) { - spinningInertia += 8; - vehicle->var_B6 += dword_F64E08 >> spinningInertia; - break; - } - case loc_6D6718: - spinningInertia += 9; - vehicle->var_B6 -= dword_F64E08 >> spinningInertia; - break; - case loc_6D672B: - spinningInertia += 8; - vehicle->var_B6 += dword_F64E08 >> spinningInertia; - break; - } + rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); + sint32 spinningInertia = vehicleEntry->spinning_inertia; + sint32 trackType = vehicle->track_type >> 2; + sint32 dword_F64E08 = _vehicleVelocityF64E08; + sint32 unk; + switch (off_9A2E84[trackType]) { + case loc_6D665A: + spinningInertia += 6; + unk = dword_F64E08 >> spinningInertia; + if (vehicle->sprite_index & 1) { + vehicle->var_B6 -= unk; + } else { + vehicle->var_B6 += unk; + } + break; + case loc_6D6684: + case loc_6D6703: + spinningInertia += 5; + vehicle->var_B6 -= dword_F64E08 >> spinningInertia; + break; + case loc_6D669A: + spinningInertia += 5; + vehicle->var_B6 += dword_F64E08 >> spinningInertia; + break; + case loc_6D66B0: + spinningInertia += 7; + vehicle->var_B6 -= dword_F64E08 >> spinningInertia; + break; + case loc_6D66C3: + spinningInertia += 7; + vehicle->var_B6 += dword_F64E08 >> spinningInertia; + break; + case loc_6D66D6: + if (vehicle->track_progress < 48) { + spinningInertia += 8; + vehicle->var_B6 += dword_F64E08 >> spinningInertia; + break; + } + case loc_6D66DD: + spinningInertia += 9; + vehicle->var_B6 += dword_F64E08 >> spinningInertia; + break; + case loc_6D66F0: + spinningInertia += 8; + vehicle->var_B6 += dword_F64E08 >> spinningInertia; + break; + case loc_6D6708: + if (vehicle->track_progress > 22) { + spinningInertia += 5; + vehicle->var_B6 += dword_F64E08 >> spinningInertia; + } + break; + case loc_6D6711: + if (vehicle->track_progress < 48) { + spinningInertia += 8; + vehicle->var_B6 += dword_F64E08 >> spinningInertia; + break; + } + case loc_6D6718: + spinningInertia += 9; + vehicle->var_B6 -= dword_F64E08 >> spinningInertia; + break; + case loc_6D672B: + spinningInertia += 8; + vehicle->var_B6 += dword_F64E08 >> spinningInertia; + break; + } - unk = clamp(-0x600, vehicle->var_B6, 0x600); - vehicle->var_B6 = unk; - vehicle->var_BA += unk >> 8; - vehicle->var_B6 -= unk >> vehicleEntry->spinning_friction; - vehicle_invalidate(vehicle); + unk = clamp(-0x600, vehicle->var_B6, 0x600); + vehicle->var_B6 = unk; + vehicle->var_BA += unk >> 8; + vehicle->var_B6 -= unk >> vehicleEntry->spinning_friction; + vehicle_invalidate(vehicle); } /** @@ -6661,21 +6661,21 @@ static void vehicle_update_spinning_car(rct_vehicle *vehicle) */ static void steam_particle_create(sint16 x, sint16 y, sint16 z) { - rct_map_element *mapElement = map_get_surface_element_at(x >> 5, y >> 5); - if (mapElement != NULL && z > mapElement->base_height * 8) { - rct_steam_particle *steam = (rct_steam_particle*)create_sprite(2); - if (steam == NULL) - return; + rct_map_element *mapElement = map_get_surface_element_at(x >> 5, y >> 5); + if (mapElement != NULL && z > mapElement->base_height * 8) { + rct_steam_particle *steam = (rct_steam_particle*)create_sprite(2); + if (steam == NULL) + return; - steam->sprite_width = 20; - steam->sprite_height_negative = 18; - steam->sprite_height_positive = 16; - steam->sprite_identifier = SPRITE_IDENTIFIER_MISC; - steam->misc_identifier = SPRITE_MISC_STEAM_PARTICLE; - steam->frame = 256; - steam->var_24 = 0; - sprite_move(x, y, z, (rct_sprite*)steam); - } + steam->sprite_width = 20; + steam->sprite_height_negative = 18; + steam->sprite_height_positive = 16; + steam->sprite_identifier = SPRITE_IDENTIFIER_MISC; + steam->misc_identifier = SPRITE_MISC_STEAM_PARTICLE; + steam->frame = 256; + steam->var_24 = 0; + sprite_move(x, y, z, (rct_sprite*)steam); + } } /** @@ -6684,126 +6684,126 @@ static void steam_particle_create(sint16 x, sint16 y, sint16 z) */ static void sub_6D63D4(rct_vehicle *vehicle) { - uint8 al, ah; - uint32 eax; + uint8 al, ah; + uint32 eax; - uint32 *var_C8 = (uint32*)&vehicle->var_C8; - rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); - switch (vehicleEntry->var_11) { - case 1: // loc_6D652B - *var_C8 += _vehicleVelocityF64E08; - al = (*var_C8 >> 20) & 3; - if (vehicle->var_C5 != al) { - ah = al; - al = vehicle->var_C5; - vehicle->var_C5 = ah; - al &= 0x02; - ah &= 0x02; - if (al != ah) { - rct_ride *ride = get_ride(vehicle->ride); - if (ride->entrance_style == RIDE_ENTRANCE_STYLE_PLAIN || - (vehicle->status != VEHICLE_STATUS_MOVING_TO_END_OF_STATION && - vehicle->status != VEHICLE_STATUS_ARRIVING) - ) { - sint32 index = vehicle->sprite_direction >> 1; - if (vehicle->vehicle_sprite_type == 2) { - index += 16; - } - if (vehicle->vehicle_sprite_type == 6) { - index += 32; - } - steam_particle_create( - vehicle->x + SteamParticleOffsets[index].x, - vehicle->y + SteamParticleOffsets[index].y, - vehicle->z + SteamParticleOffsets[index].z - ); - } - } - vehicle_invalidate(vehicle); - } - break; - case 2: // loc_6D6424 - *var_C8 += _vehicleVelocityF64E08; - al = (*var_C8 >> 18) & 2; - if (vehicle->var_C5 != al) { - vehicle->var_C5 = al; - vehicle_invalidate(vehicle); - } - break; - case 3: // loc_6D6482 - *var_C8 += _vehicleVelocityF64E08; - eax = ((*var_C8 >> 13) & 0xFF) * 6; - ah = (eax >> 8) & 0xFF; - if (vehicle->var_C5 != ah) { - vehicle->var_C5 = ah; - vehicle_invalidate(vehicle); - } - break; - case 4: // loc_6D64F7 - *var_C8 += _vehicleVelocityF64E08; - eax = ((*var_C8 >> 13) & 0xFF) * 7; - ah = (eax >> 8) & 0xFF; - if (vehicle->var_C5 != ah) { - vehicle->var_C5 = ah; - vehicle_invalidate(vehicle); - } - break; - case 5: // loc_6D6453 - *var_C8 += _vehicleVelocityF64E08; - al = (*var_C8 >> 19) & 1; - if (vehicle->var_C5 != al) { - vehicle->var_C5 = al; - vehicle_invalidate(vehicle); - } - break; - case 6: // loc_6D65C3 - if (vehicle->var_C8 <= 0xCCCC) { - vehicle->var_C8 += 0x3333; - } else { - vehicle->var_C8 += 0x3333; - vehicle->var_C5 += 1; - vehicle->var_C5 &= 7; - vehicle_invalidate(vehicle); - } - break; - case 7: // loc_6D63F5 - *var_C8 += _vehicleVelocityF64E08; - al = (*var_C8 >> 18) & 3; - if (vehicle->var_C5 != al) { - vehicle->var_C5 = al; - vehicle_invalidate(vehicle); - } - break; - case 8: // loc_6D64B6 - if (vehicle->num_peeps != 0) { - *var_C8 += _vehicleVelocityF64E08; - eax = ((*var_C8 >> 13) & 0xFF) << 2; - ah = (eax >> 8) & 0xFF; - if (vehicle->var_C5 != ah) { - vehicle->var_C5 = ah; - vehicle_invalidate(vehicle); - } - } - break; - case 9: // loc_6D65E1 - if (vehicle->seat_rotation != vehicle->target_seat_rotation) { - if (vehicle->var_C8 <= 0xCCCC) { - vehicle->var_C8 += 0x3333; - } else { - vehicle->var_C8 += 0x3333; + uint32 *var_C8 = (uint32*)&vehicle->var_C8; + rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); + switch (vehicleEntry->var_11) { + case 1: // loc_6D652B + *var_C8 += _vehicleVelocityF64E08; + al = (*var_C8 >> 20) & 3; + if (vehicle->var_C5 != al) { + ah = al; + al = vehicle->var_C5; + vehicle->var_C5 = ah; + al &= 0x02; + ah &= 0x02; + if (al != ah) { + rct_ride *ride = get_ride(vehicle->ride); + if (ride->entrance_style == RIDE_ENTRANCE_STYLE_PLAIN || + (vehicle->status != VEHICLE_STATUS_MOVING_TO_END_OF_STATION && + vehicle->status != VEHICLE_STATUS_ARRIVING) + ) { + sint32 index = vehicle->sprite_direction >> 1; + if (vehicle->vehicle_sprite_type == 2) { + index += 16; + } + if (vehicle->vehicle_sprite_type == 6) { + index += 32; + } + steam_particle_create( + vehicle->x + SteamParticleOffsets[index].x, + vehicle->y + SteamParticleOffsets[index].y, + vehicle->z + SteamParticleOffsets[index].z + ); + } + } + vehicle_invalidate(vehicle); + } + break; + case 2: // loc_6D6424 + *var_C8 += _vehicleVelocityF64E08; + al = (*var_C8 >> 18) & 2; + if (vehicle->var_C5 != al) { + vehicle->var_C5 = al; + vehicle_invalidate(vehicle); + } + break; + case 3: // loc_6D6482 + *var_C8 += _vehicleVelocityF64E08; + eax = ((*var_C8 >> 13) & 0xFF) * 6; + ah = (eax >> 8) & 0xFF; + if (vehicle->var_C5 != ah) { + vehicle->var_C5 = ah; + vehicle_invalidate(vehicle); + } + break; + case 4: // loc_6D64F7 + *var_C8 += _vehicleVelocityF64E08; + eax = ((*var_C8 >> 13) & 0xFF) * 7; + ah = (eax >> 8) & 0xFF; + if (vehicle->var_C5 != ah) { + vehicle->var_C5 = ah; + vehicle_invalidate(vehicle); + } + break; + case 5: // loc_6D6453 + *var_C8 += _vehicleVelocityF64E08; + al = (*var_C8 >> 19) & 1; + if (vehicle->var_C5 != al) { + vehicle->var_C5 = al; + vehicle_invalidate(vehicle); + } + break; + case 6: // loc_6D65C3 + if (vehicle->var_C8 <= 0xCCCC) { + vehicle->var_C8 += 0x3333; + } else { + vehicle->var_C8 += 0x3333; + vehicle->var_C5 += 1; + vehicle->var_C5 &= 7; + vehicle_invalidate(vehicle); + } + break; + case 7: // loc_6D63F5 + *var_C8 += _vehicleVelocityF64E08; + al = (*var_C8 >> 18) & 3; + if (vehicle->var_C5 != al) { + vehicle->var_C5 = al; + vehicle_invalidate(vehicle); + } + break; + case 8: // loc_6D64B6 + if (vehicle->num_peeps != 0) { + *var_C8 += _vehicleVelocityF64E08; + eax = ((*var_C8 >> 13) & 0xFF) << 2; + ah = (eax >> 8) & 0xFF; + if (vehicle->var_C5 != ah) { + vehicle->var_C5 = ah; + vehicle_invalidate(vehicle); + } + } + break; + case 9: // loc_6D65E1 + if (vehicle->seat_rotation != vehicle->target_seat_rotation) { + if (vehicle->var_C8 <= 0xCCCC) { + vehicle->var_C8 += 0x3333; + } else { + vehicle->var_C8 += 0x3333; - if (vehicle->seat_rotation >= vehicle->target_seat_rotation) - vehicle->seat_rotation--; + if (vehicle->seat_rotation >= vehicle->target_seat_rotation) + vehicle->seat_rotation--; - else - vehicle->seat_rotation++; + else + vehicle->seat_rotation++; - vehicle->var_C5 = (vehicle->seat_rotation - 4) & 7; - vehicle_invalidate(vehicle); - } - } - break; - } + vehicle->var_C5 = (vehicle->seat_rotation - 4) & 7; + vehicle_invalidate(vehicle); + } + } + break; + } } /** @@ -6812,14 +6812,14 @@ static void sub_6D63D4(rct_vehicle *vehicle) */ static void vehicle_play_scenery_door_open_sound(rct_vehicle *vehicle, rct_map_element *mapElement) { - rct_scenery_entry *wallEntry = get_wall_entry(mapElement->properties.wall.type); - sint32 doorSoundType = (wallEntry->wall.flags2 >> 1) & 3; - if (doorSoundType != 0) { - sint32 soundId = DoorOpenSoundIds[doorSoundType - 1]; - if (soundId != 255) { - audio_play_sound_at_location(soundId, vehicle->x, vehicle->track_y, vehicle->track_z); - } - } + rct_scenery_entry *wallEntry = get_wall_entry(mapElement->properties.wall.type); + sint32 doorSoundType = (wallEntry->wall.flags2 >> 1) & 3; + if (doorSoundType != 0) { + sint32 soundId = DoorOpenSoundIds[doorSoundType - 1]; + if (soundId != 255) { + audio_play_sound_at_location(soundId, vehicle->x, vehicle->track_y, vehicle->track_z); + } + } } /** @@ -6828,14 +6828,14 @@ static void vehicle_play_scenery_door_open_sound(rct_vehicle *vehicle, rct_map_e */ static void vehicle_play_scenery_door_close_sound(rct_vehicle *vehicle, rct_map_element *mapElement) { - rct_scenery_entry *wallEntry = get_wall_entry(mapElement->properties.wall.type); - sint32 doorSoundType = (wallEntry->wall.flags2 >> 1) & 3; - if (doorSoundType != 0) { - sint32 soundId = DoorCloseSoundIds[doorSoundType - 1]; - if (soundId != 255) { - audio_play_sound_at_location(soundId, vehicle->x, vehicle->track_y, vehicle->track_z); - } - } + rct_scenery_entry *wallEntry = get_wall_entry(mapElement->properties.wall.type); + sint32 doorSoundType = (wallEntry->wall.flags2 >> 1) & 3; + if (doorSoundType != 0) { + sint32 soundId = DoorCloseSoundIds[doorSoundType - 1]; + if (soundId != 255) { + audio_play_sound_at_location(soundId, vehicle->x, vehicle->track_y, vehicle->track_z); + } + } } /** @@ -6844,32 +6844,32 @@ static void vehicle_play_scenery_door_close_sound(rct_vehicle *vehicle, rct_map_ */ static void vehicle_update_scenery_door(rct_vehicle *vehicle) { - sint32 trackType = vehicle->track_type >> 2; - const rct_preview_track *trackBlock = TrackBlocks[trackType]; - while ((trackBlock + 1)->index != 255) { - trackBlock++; - } - const rct_track_coordinates *trackCoordinates = &TrackCoordinates[trackType]; - sint32 x = floor2(vehicle->x, 32); - sint32 y = floor2(vehicle->y, 32); - sint32 z = (vehicle->track_z - trackBlock->z + trackCoordinates->z_end) >> 3; - sint32 direction = (vehicle->track_direction + trackCoordinates->rotation_end) & 3; + sint32 trackType = vehicle->track_type >> 2; + const rct_preview_track *trackBlock = TrackBlocks[trackType]; + while ((trackBlock + 1)->index != 255) { + trackBlock++; + } + const rct_track_coordinates *trackCoordinates = &TrackCoordinates[trackType]; + sint32 x = floor2(vehicle->x, 32); + sint32 y = floor2(vehicle->y, 32); + sint32 z = (vehicle->track_z - trackBlock->z + trackCoordinates->z_end) >> 3; + sint32 direction = (vehicle->track_direction + trackCoordinates->rotation_end) & 3; - rct_map_element *mapElement = map_get_wall_element_at(x, y, z, direction); - if (mapElement == NULL) { - return; - } + rct_map_element *mapElement = map_get_wall_element_at(x, y, z, direction); + if (mapElement == NULL) { + return; + } - if (vehicle->next_vehicle_on_train != SPRITE_INDEX_NULL) { - mapElement->properties.wall.animation &= ~(WALL_ANIMATION_FLAG_DIRECTION_BACKWARD); + if (vehicle->next_vehicle_on_train != SPRITE_INDEX_NULL) { + mapElement->properties.wall.animation &= ~(WALL_ANIMATION_FLAG_DIRECTION_BACKWARD); wall_element_set_animation_frame(mapElement, 1); - map_animation_create(MAP_ANIMATION_TYPE_WALL_DOOR, x, y, z); - vehicle_play_scenery_door_open_sound(vehicle, mapElement); - } else { - mapElement->properties.wall.animation &= ~(WALL_ANIMATION_FLAG_DIRECTION_BACKWARD); + map_animation_create(MAP_ANIMATION_TYPE_WALL_DOOR, x, y, z); + vehicle_play_scenery_door_open_sound(vehicle, mapElement); + } else { + mapElement->properties.wall.animation &= ~(WALL_ANIMATION_FLAG_DIRECTION_BACKWARD); wall_element_set_animation_frame(mapElement, 6); - vehicle_play_scenery_door_close_sound(vehicle, mapElement); - } + vehicle_play_scenery_door_close_sound(vehicle, mapElement); + } } /** @@ -6878,33 +6878,33 @@ static void vehicle_update_scenery_door(rct_vehicle *vehicle) */ static bool loc_6DB38B(rct_vehicle *vehicle, rct_map_element *mapElement) { - // Get bank - sint32 bankStart = track_get_actual_bank_3(vehicle, mapElement); + // Get bank + sint32 bankStart = track_get_actual_bank_3(vehicle, mapElement); - // Get vangle - sint32 trackType = mapElement->properties.track.type; - sint32 vangleStart = TrackDefinitions[trackType].vangle_start; + // Get vangle + sint32 trackType = mapElement->properties.track.type; + sint32 vangleStart = TrackDefinitions[trackType].vangle_start; - if (vangleStart != _vehicleVAngleEndF64E36 || - bankStart != _vehicleBankEndF64E37 - ) { - return false; - } + if (vangleStart != _vehicleVAngleEndF64E36 || + bankStart != _vehicleBankEndF64E37 + ) { + return false; + } - return true; + return true; } static void loc_6DB481(rct_vehicle *vehicle) { - uint16 probability = 0x8000; - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_6) { - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_6; - } else { - probability = 0x0A3D; - } - if ((scenario_rand() & 0xFFFF) <= probability) { - vehicle->var_CD += 2; - } + uint16 probability = 0x8000; + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_6) { + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_6; + } else { + probability = 0x0A3D; + } + if ((scenario_rand() & 0xFFFF) <= probability) { + vehicle->var_CD += 2; + } } /** @@ -6913,14 +6913,14 @@ static void loc_6DB481(rct_vehicle *vehicle) */ static void vehicle_trigger_on_ride_photo(rct_vehicle *vehicle, rct_map_element *mapElement) { - mapElement->properties.track.sequence &= 0x0F; - mapElement->properties.track.sequence |= 0x30; - map_animation_create( - MAP_ANIMATION_TYPE_TRACK_ONRIDEPHOTO, - vehicle->track_x, - vehicle->track_y, - mapElement->base_height - ); + mapElement->properties.track.sequence &= 0x0F; + mapElement->properties.track.sequence |= 0x30; + map_animation_create( + MAP_ANIMATION_TYPE_TRACK_ONRIDEPHOTO, + vehicle->track_x, + vehicle->track_y, + mapElement->base_height + ); } /** @@ -6929,44 +6929,44 @@ static void vehicle_trigger_on_ride_photo(rct_vehicle *vehicle, rct_map_element */ static void vehicle_update_handle_scenery_door(rct_vehicle *vehicle) { - sint32 trackType = vehicle->track_type >> 2; - const rct_preview_track *trackBlock = TrackBlocks[trackType]; - const rct_track_coordinates *trackCoordinates = &TrackCoordinates[trackType]; - sint32 x = vehicle->track_x; - sint32 y = vehicle->track_y; - sint32 z = (vehicle->track_z - trackBlock->z + trackCoordinates->z_begin) >> 3; - sint32 direction = (vehicle->track_direction + trackCoordinates->rotation_begin) & 3; - direction ^= 2; + sint32 trackType = vehicle->track_type >> 2; + const rct_preview_track *trackBlock = TrackBlocks[trackType]; + const rct_track_coordinates *trackCoordinates = &TrackCoordinates[trackType]; + sint32 x = vehicle->track_x; + sint32 y = vehicle->track_y; + sint32 z = (vehicle->track_z - trackBlock->z + trackCoordinates->z_begin) >> 3; + sint32 direction = (vehicle->track_direction + trackCoordinates->rotation_begin) & 3; + direction ^= 2; - rct_map_element *mapElement = map_get_wall_element_at(x, y, z, direction); - if (mapElement == NULL) { - return; - } + rct_map_element *mapElement = map_get_wall_element_at(x, y, z, direction); + if (mapElement == NULL) { + return; + } - if (vehicle->next_vehicle_on_train != SPRITE_INDEX_NULL) { - mapElement->properties.wall.animation |= WALL_ANIMATION_FLAG_DIRECTION_BACKWARD; - wall_element_set_animation_frame(mapElement, 1); - map_animation_create(MAP_ANIMATION_TYPE_WALL_DOOR, x, y, z); - vehicle_play_scenery_door_open_sound(vehicle, mapElement); - } else { - mapElement->properties.wall.animation &= ~(WALL_ANIMATION_FLAG_DIRECTION_BACKWARD); - wall_element_set_animation_frame(mapElement, 6); - vehicle_play_scenery_door_close_sound(vehicle, mapElement); - } + if (vehicle->next_vehicle_on_train != SPRITE_INDEX_NULL) { + mapElement->properties.wall.animation |= WALL_ANIMATION_FLAG_DIRECTION_BACKWARD; + wall_element_set_animation_frame(mapElement, 1); + map_animation_create(MAP_ANIMATION_TYPE_WALL_DOOR, x, y, z); + vehicle_play_scenery_door_open_sound(vehicle, mapElement); + } else { + mapElement->properties.wall.animation &= ~(WALL_ANIMATION_FLAG_DIRECTION_BACKWARD); + wall_element_set_animation_frame(mapElement, 6); + vehicle_play_scenery_door_close_sound(vehicle, mapElement); + } } static void vehicle_update_play_water_splash_sound() { - if (_vehicleVelocityF64E08 <= 0x20364) { - return; - } + if (_vehicleVelocityF64E08 <= 0x20364) { + return; + } - audio_play_sound_at_location( - SOUND_WATER_SPLASH, - unk_F64E20.x, - unk_F64E20.y, - unk_F64E20.z - ); + audio_play_sound_at_location( + SOUND_WATER_SPLASH, + unk_F64E20.x, + unk_F64E20.y, + unk_F64E20.z + ); } /** @@ -6975,37 +6975,37 @@ static void vehicle_update_play_water_splash_sound() */ static void vehicle_update_handle_water_splash(rct_vehicle *vehicle) { - rct_ride_entry *rideEntry = get_ride_entry(vehicle->ride_subtype); - sint32 trackType = vehicle->track_type >> 2; + rct_ride_entry *rideEntry = get_ride_entry(vehicle->ride_subtype); + sint32 trackType = vehicle->track_type >> 2; - if (!(rideEntry->flags & RIDE_ENTRY_FLAG_PLAY_SPLASH_SOUND)) { - if (rideEntry->flags & RIDE_ENTRY_FLAG_PLAY_SPLASH_SOUND_SLIDE) { - if (!vehicle->is_child) { - if (track_element_is_covered(trackType)) { - rct_vehicle *nextVehicle = GET_VEHICLE(vehicle->next_vehicle_on_ride); - rct_vehicle *nextNextVehicle = GET_VEHICLE(nextVehicle->next_vehicle_on_ride); - if (!track_element_is_covered(nextNextVehicle->track_type >> 2)) { - if (vehicle->track_progress == 4) { - vehicle_update_play_water_splash_sound(); - } - } - } - } - } - } else { - if (trackType == TRACK_ELEM_25_DEG_DOWN_TO_FLAT) { - if (vehicle->track_progress == 12) { - vehicle_update_play_water_splash_sound(); - } - } - } - if (!vehicle->is_child) { - if (trackType == TRACK_ELEM_WATER_SPLASH) { - if (vehicle->track_progress == 48) { - vehicle_update_play_water_splash_sound(); - } - } - } + if (!(rideEntry->flags & RIDE_ENTRY_FLAG_PLAY_SPLASH_SOUND)) { + if (rideEntry->flags & RIDE_ENTRY_FLAG_PLAY_SPLASH_SOUND_SLIDE) { + if (!vehicle->is_child) { + if (track_element_is_covered(trackType)) { + rct_vehicle *nextVehicle = GET_VEHICLE(vehicle->next_vehicle_on_ride); + rct_vehicle *nextNextVehicle = GET_VEHICLE(nextVehicle->next_vehicle_on_ride); + if (!track_element_is_covered(nextNextVehicle->track_type >> 2)) { + if (vehicle->track_progress == 4) { + vehicle_update_play_water_splash_sound(); + } + } + } + } + } + } else { + if (trackType == TRACK_ELEM_25_DEG_DOWN_TO_FLAT) { + if (vehicle->track_progress == 12) { + vehicle_update_play_water_splash_sound(); + } + } + } + if (!vehicle->is_child) { + if (trackType == TRACK_ELEM_WATER_SPLASH) { + if (vehicle->track_progress == 48) { + vehicle_update_play_water_splash_sound(); + } + } + } } /** @@ -7014,15 +7014,15 @@ static void vehicle_update_handle_water_splash(rct_vehicle *vehicle) */ static void vehicle_update_reverser_car_bogies(rct_vehicle *vehicle) { - const rct_vehicle_info *moveInfo = vehicle_get_move_info( - vehicle->var_CD, - vehicle->track_type, - vehicle->track_progress - ); - sint32 x = vehicle->track_x + moveInfo->x; - sint32 y = vehicle->track_y + moveInfo->y; - sint32 z = vehicle->z; - sprite_move(x, y, z, (rct_sprite*)vehicle); + const rct_vehicle_info *moveInfo = vehicle_get_move_info( + vehicle->var_CD, + vehicle->track_type, + vehicle->track_progress + ); + sint32 x = vehicle->track_x + moveInfo->x; + sint32 y = vehicle->track_y + moveInfo->y; + sint32 z = vehicle->z; + sprite_move(x, y, z, (rct_sprite*)vehicle); } extern const rct_xy16 DuckMoveOffset[4]; @@ -7037,163 +7037,163 @@ extern const rct_xy16 DuckMoveOffset[4]; * @param otherVehicleIndex (bp) */ static bool vehicle_update_motion_collision_detection( - rct_vehicle *vehicle, sint16 x, sint16 y, sint16 z, uint16* otherVehicleIndex + rct_vehicle *vehicle, sint16 x, sint16 y, sint16 z, uint16* otherVehicleIndex ) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_1) return false; + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_1) return false; - rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); + rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_6)){ - vehicle->var_C4 = 0; + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_6)){ + vehicle->var_C4 = 0; - // If hacking boat hire rides you can end up here - if (otherVehicleIndex == NULL) return false; + // If hacking boat hire rides you can end up here + if (otherVehicleIndex == NULL) return false; - rct_vehicle* collideVehicle = GET_VEHICLE(*otherVehicleIndex); + rct_vehicle* collideVehicle = GET_VEHICLE(*otherVehicleIndex); - if (vehicle == collideVehicle) return false; + if (vehicle == collideVehicle) return false; - sint32 x_diff = abs(x - collideVehicle->x); - if (x_diff > 0x7FFF) return false; + sint32 x_diff = abs(x - collideVehicle->x); + if (x_diff > 0x7FFF) return false; - sint32 y_diff = abs(y - collideVehicle->y); - if (y_diff > 0x7FFF) return false; + sint32 y_diff = abs(y - collideVehicle->y); + if (y_diff > 0x7FFF) return false; - if (x_diff + y_diff > 0xFFFF) return false; + if (x_diff + y_diff > 0xFFFF) return false; - sint32 z_diff = abs(z - collideVehicle->z); - if (x_diff + y_diff + z_diff > 0xFFFF) return false; + sint32 z_diff = abs(z - collideVehicle->z); + if (x_diff + y_diff + z_diff > 0xFFFF) return false; - uint16 ecx = min(vehicle->var_44 + collideVehicle->var_44, 560); - ecx = ((ecx >> 1) * 30) >> 8; + uint16 ecx = min(vehicle->var_44 + collideVehicle->var_44, 560); + ecx = ((ecx >> 1) * 30) >> 8; - if (x_diff + y_diff + z_diff >= ecx) return false; + if (x_diff + y_diff + z_diff >= ecx) return false; - uint8 direction = (vehicle->sprite_direction - collideVehicle->sprite_direction + 7) & 0x1F; - if (direction >= 0xF) return false; + uint8 direction = (vehicle->sprite_direction - collideVehicle->sprite_direction + 7) & 0x1F; + if (direction >= 0xF) return false; - return true; - } + return true; + } - rct_xy8 location = {.x = (x / 32), .y = (y / 32)}; + rct_xy8 location = {.x = (x / 32), .y = (y / 32)}; - bool mayCollide = false; - uint16 collideId = SPRITE_INDEX_NULL; - rct_vehicle* collideVehicle = NULL; - for (sint32 i = 0; i < countof(Unk9A37C4); i++) { - location.x += Unk9A37C4[i].x; - location.y += Unk9A37C4[i].y; + bool mayCollide = false; + uint16 collideId = SPRITE_INDEX_NULL; + rct_vehicle* collideVehicle = NULL; + for (sint32 i = 0; i < countof(Unk9A37C4); i++) { + location.x += Unk9A37C4[i].x; + location.y += Unk9A37C4[i].y; - collideId = sprite_get_first_in_quadrant(location.x * 32, location.y * 32); - for(; collideId != SPRITE_INDEX_NULL; collideId = collideVehicle->next_in_quadrant){ - collideVehicle = GET_VEHICLE(collideId); - if (collideVehicle == vehicle) continue; + collideId = sprite_get_first_in_quadrant(location.x * 32, location.y * 32); + for(; collideId != SPRITE_INDEX_NULL; collideId = collideVehicle->next_in_quadrant){ + collideVehicle = GET_VEHICLE(collideId); + if (collideVehicle == vehicle) continue; - if (collideVehicle->sprite_identifier != SPRITE_IDENTIFIER_VEHICLE) continue; + if (collideVehicle->sprite_identifier != SPRITE_IDENTIFIER_VEHICLE) continue; - sint32 z_diff = abs(collideVehicle->z - z); + sint32 z_diff = abs(collideVehicle->z - z); - if (z_diff > 16) continue; + if (z_diff > 16) continue; - if (collideVehicle->ride_subtype == RIDE_TYPE_NULL) continue; + if (collideVehicle->ride_subtype == RIDE_TYPE_NULL) continue; - rct_ride_entry_vehicle* collideType = vehicle_get_vehicle_entry(collideVehicle); + rct_ride_entry_vehicle* collideType = vehicle_get_vehicle_entry(collideVehicle); - if (!(collideType->flags_b & VEHICLE_ENTRY_FLAG_B_6)) continue; + if (!(collideType->flags_b & VEHICLE_ENTRY_FLAG_B_6)) continue; - uint32 x_diff = abs(collideVehicle->x - x); - if (x_diff > 0x7FFF) continue; + uint32 x_diff = abs(collideVehicle->x - x); + if (x_diff > 0x7FFF) continue; - uint32 y_diff = abs(collideVehicle->y - y); - if (y_diff > 0x7FFF) continue; + uint32 y_diff = abs(collideVehicle->y - y); + if (y_diff > 0x7FFF) continue; - if (x_diff + y_diff > 0xFFFF) continue; + if (x_diff + y_diff > 0xFFFF) continue; - uint8 cl = min(vehicle->var_CD, collideVehicle->var_CD); - uint8 ch = max(vehicle->var_CD, collideVehicle->var_CD); - if (cl != ch){ - if (cl == 5 && ch == 6) continue; - } + uint8 cl = min(vehicle->var_CD, collideVehicle->var_CD); + uint8 ch = max(vehicle->var_CD, collideVehicle->var_CD); + if (cl != ch){ + if (cl == 5 && ch == 6) continue; + } - uint32 ecx = vehicle->var_44 + collideVehicle->var_44; - ecx = ((ecx >> 1) * 30) >> 8; + uint32 ecx = vehicle->var_44 + collideVehicle->var_44; + ecx = ((ecx >> 1) * 30) >> 8; - if (x_diff + y_diff >= ecx) continue; + if (x_diff + y_diff >= ecx) continue; - if (!(collideType->flags_b & VEHICLE_ENTRY_FLAG_B_14)){ - mayCollide = true; - break; - } + if (!(collideType->flags_b & VEHICLE_ENTRY_FLAG_B_14)){ + mayCollide = true; + break; + } - uint8 direction = (vehicle->sprite_direction - collideVehicle->sprite_direction - 6) & 0x1F; + uint8 direction = (vehicle->sprite_direction - collideVehicle->sprite_direction - 6) & 0x1F; - if (direction < 0x14) continue; + if (direction < 0x14) continue; - uint32 offsetSpriteDirection = (vehicle->sprite_direction + 4) & 31; - uint32 offsetDirection = offsetSpriteDirection >> 3; - uint32 next_x_diff = abs(x + AvoidCollisionMoveOffset[offsetDirection].x - collideVehicle->x); - uint32 next_y_diff = abs(y + AvoidCollisionMoveOffset[offsetDirection].y - collideVehicle->y); + uint32 offsetSpriteDirection = (vehicle->sprite_direction + 4) & 31; + uint32 offsetDirection = offsetSpriteDirection >> 3; + uint32 next_x_diff = abs(x + AvoidCollisionMoveOffset[offsetDirection].x - collideVehicle->x); + uint32 next_y_diff = abs(y + AvoidCollisionMoveOffset[offsetDirection].y - collideVehicle->y); - if (next_x_diff + next_y_diff < x_diff + y_diff){ - mayCollide = true; - break; - } + if (next_x_diff + next_y_diff < x_diff + y_diff){ + mayCollide = true; + break; + } - } - if (mayCollide == true) { - break; - } - } + } + if (mayCollide == true) { + break; + } + } - if (mayCollide == false) { - vehicle->var_C4 = 0; - return false; - } + if (mayCollide == false) { + vehicle->var_C4 = 0; + return false; + } - vehicle->var_C4++; - if (vehicle->var_C4 < 200) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_6; - if (otherVehicleIndex != NULL) - *otherVehicleIndex = collideId; - return true; - } + vehicle->var_C4++; + if (vehicle->var_C4 < 200) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_6; + if (otherVehicleIndex != NULL) + *otherVehicleIndex = collideId; + return true; + } - // TODO Is it possible for collideVehicle to be NULL? + // TODO Is it possible for collideVehicle to be NULL? - if (vehicle->status == VEHICLE_STATUS_MOVING_TO_END_OF_STATION){ - if (vehicle->sprite_direction == 0) { - if (vehicle->x <= collideVehicle->x) { - return false; - } - } - else if (vehicle->sprite_direction == 8) { - if (vehicle->y >= collideVehicle->y) { - return false; - } - } - else if (vehicle->sprite_direction == 16) { - if (vehicle->x >= collideVehicle->x) { - return false; - } - } - else if (vehicle->sprite_direction == 24) { - if (vehicle->y <= collideVehicle->y) { - return false; - } - } - } + if (vehicle->status == VEHICLE_STATUS_MOVING_TO_END_OF_STATION){ + if (vehicle->sprite_direction == 0) { + if (vehicle->x <= collideVehicle->x) { + return false; + } + } + else if (vehicle->sprite_direction == 8) { + if (vehicle->y >= collideVehicle->y) { + return false; + } + } + else if (vehicle->sprite_direction == 16) { + if (vehicle->x >= collideVehicle->x) { + return false; + } + } + else if (vehicle->sprite_direction == 24) { + if (vehicle->y <= collideVehicle->y) { + return false; + } + } + } - if (collideVehicle->status == VEHICLE_STATUS_TRAVELLING_BOAT && - vehicle->status != VEHICLE_STATUS_ARRIVING && - vehicle->status != VEHICLE_STATUS_TRAVELLING - ) { - return false; - } + if (collideVehicle->status == VEHICLE_STATUS_TRAVELLING_BOAT && + vehicle->status != VEHICLE_STATUS_ARRIVING && + vehicle->status != VEHICLE_STATUS_TRAVELLING + ) { + return false; + } - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_6; - if (otherVehicleIndex != NULL) - *otherVehicleIndex = collideId; - return true; + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_6; + if (otherVehicleIndex != NULL) + *otherVehicleIndex = collideId; + return true; } /** @@ -7202,17 +7202,17 @@ static bool vehicle_update_motion_collision_detection( */ static void vehicle_reverse_reverser_car(rct_vehicle *vehicle) { - rct_vehicle *previousVehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); - rct_vehicle *nextVehicle = GET_VEHICLE(vehicle->next_vehicle_on_ride); + rct_vehicle *previousVehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); + rct_vehicle *nextVehicle = GET_VEHICLE(vehicle->next_vehicle_on_ride); - vehicle->track_progress = 168; - vehicle->vehicle_type ^= 1; + vehicle->track_progress = 168; + vehicle->vehicle_type ^= 1; - previousVehicle->track_progress = 86; - nextVehicle->track_progress = 158; + previousVehicle->track_progress = 86; + nextVehicle->track_progress = 158; - vehicle_update_reverser_car_bogies(nextVehicle); - vehicle_update_reverser_car_bogies(previousVehicle); + vehicle_update_reverser_car_bogies(nextVehicle); + vehicle_update_reverser_car_bogies(previousVehicle); } /** @@ -7221,83 +7221,83 @@ static void vehicle_reverse_reverser_car(rct_vehicle *vehicle) */ static void sub_6DBF3E(rct_vehicle *vehicle) { - rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); + rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); - vehicle->acceleration = (uint32)((sint32)vehicle->acceleration / _vehicleUnkF64E10); - if (vehicle->var_CD == 2) { - return; - } + vehicle->acceleration = (uint32)((sint32)vehicle->acceleration / _vehicleUnkF64E10); + if (vehicle->var_CD == 2) { + return; + } - sint32 trackType = vehicle->track_type >> 2; - if (!(TrackSequenceProperties[trackType][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) { - return; - } + sint32 trackType = vehicle->track_type >> 2; + if (!(TrackSequenceProperties[trackType][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) { + return; + } - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_3; + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_3; - rct_map_element *mapElement = NULL; - if (map_is_location_valid(vehicle->track_x, vehicle->track_y)) { - mapElement = map_get_track_element_at_of_type_seq( - vehicle->track_x, - vehicle->track_y, - vehicle->track_z >> 3, - trackType, - 0 - ); - } + rct_map_element *mapElement = NULL; + if (map_is_location_valid(vehicle->track_x, vehicle->track_y)) { + mapElement = map_get_track_element_at_of_type_seq( + vehicle->track_x, + vehicle->track_y, + vehicle->track_z >> 3, + trackType, + 0 + ); + } - if (mapElement == NULL) { - return; - } + if (mapElement == NULL) { + return; + } - if (_vehicleStationIndex == 0xFF) { - _vehicleStationIndex = (mapElement->properties.track.sequence >> 4) & 7; - } + if (_vehicleStationIndex == 0xFF) { + _vehicleStationIndex = (mapElement->properties.track.sequence >> 4) & 7; + } - if (trackType == TRACK_ELEM_TOWER_BASE && - vehicle == gCurrentVehicle - ) { - if (vehicle->track_progress > 3 && !(vehicle->update_flags & VEHICLE_UPDATE_FLAG_3)) { - rct_xy_element input, output; - sint32 outputZ, outputDirection; + if (trackType == TRACK_ELEM_TOWER_BASE && + vehicle == gCurrentVehicle + ) { + if (vehicle->track_progress > 3 && !(vehicle->update_flags & VEHICLE_UPDATE_FLAG_3)) { + rct_xy_element input, output; + sint32 outputZ, outputDirection; - input.x = vehicle->track_x; - input.y = vehicle->track_y; - input.element = mapElement; - if (!track_block_get_next(&input, &output, &outputZ, &outputDirection)) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_12; - } - } + input.x = vehicle->track_x; + input.y = vehicle->track_y; + input.element = mapElement; + if (!track_block_get_next(&input, &output, &outputZ, &outputDirection)) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_12; + } + } - if (vehicle->track_progress <= 3) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION; - } - } + if (vehicle->track_progress <= 3) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION; + } + } - if (trackType != TRACK_ELEM_END_STATION || - vehicle != gCurrentVehicle - ) { - return; - } + if (trackType != TRACK_ELEM_END_STATION || + vehicle != gCurrentVehicle + ) { + return; + } - uint16 ax = vehicle->track_progress; - if (_vehicleVelocityF64E08 < 0) { - if (ax <= 22) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION; - } - } else { - uint16 cx = 17; - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_12) { - cx = 6; - } - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14) { - cx = vehicle->var_CD == 6 ? 18 : 20; - } + uint16 ax = vehicle->track_progress; + if (_vehicleVelocityF64E08 < 0) { + if (ax <= 22) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION; + } + } else { + uint16 cx = 17; + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_12) { + cx = 6; + } + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14) { + cx = vehicle->var_CD == 6 ? 18 : 20; + } - if (ax > cx) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION; - } - } + if (ax > cx) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION; + } + } } /** @@ -7305,174 +7305,174 @@ static void sub_6DBF3E(rct_vehicle *vehicle) * rct2: 0x006DB08C */ static bool vehicle_update_track_motion_forwards_get_new_track(rct_vehicle *vehicle, uint16 trackType, rct_ride* ride, rct_ride_entry* rideEntry) { - registers regs = { 0 }; + registers regs = { 0 }; - _vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_end; - _vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_end; - rct_map_element *mapElement = map_get_track_element_at_of_type_seq( - vehicle->track_x, - vehicle->track_y, - vehicle->track_z >> 3, - trackType, - 0 - ); + _vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_end; + _vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_end; + rct_map_element *mapElement = map_get_track_element_at_of_type_seq( + vehicle->track_x, + vehicle->track_y, + vehicle->track_z >> 3, + trackType, + 0 + ); - if (mapElement == NULL) { - return false; - } + if (mapElement == NULL) { + return false; + } - if (trackType == TRACK_ELEM_CABLE_LIFT_HILL && vehicle == gCurrentVehicle) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_11; - } + if (trackType == TRACK_ELEM_CABLE_LIFT_HILL && vehicle == gCurrentVehicle) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_11; + } - if (track_element_is_block_start(mapElement)) { - if (vehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) { - mapElement->flags |= MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED; - if (trackType == TRACK_ELEM_BLOCK_BRAKES || trackType == TRACK_ELEM_END_STATION) { - if (!(rideEntry->vehicles[0].flags_b & VEHICLE_ENTRY_FLAG_B_3)) { - audio_play_sound_at_location(SOUND_49, vehicle->track_x, vehicle->track_y, vehicle->track_z); - } - } - map_invalidate_element(vehicle->track_x, vehicle->track_z, mapElement); - vehicle_update_block_brakes_open_previous_section(vehicle, mapElement); - } - } + if (track_element_is_block_start(mapElement)) { + if (vehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) { + mapElement->flags |= MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED; + if (trackType == TRACK_ELEM_BLOCK_BRAKES || trackType == TRACK_ELEM_END_STATION) { + if (!(rideEntry->vehicles[0].flags_b & VEHICLE_ENTRY_FLAG_B_3)) { + audio_play_sound_at_location(SOUND_49, vehicle->track_x, vehicle->track_y, vehicle->track_z); + } + } + map_invalidate_element(vehicle->track_x, vehicle->track_z, mapElement); + vehicle_update_block_brakes_open_previous_section(vehicle, mapElement); + } + } - // TODO check if getting the vehicle entry again is necessary - rct_ride_entry_vehicle* vehicleEntry = vehicle_get_vehicle_entry(vehicle); + // TODO check if getting the vehicle entry again is necessary + rct_ride_entry_vehicle* vehicleEntry = vehicle_get_vehicle_entry(vehicle); - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_8) { - vehicle_update_scenery_door(vehicle); - } + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_8) { + vehicle_update_scenery_door(vehicle); + } - switch (vehicle->var_CD) { - default: - goto loc_6DB358; - case 2: - case 3: - vehicle->var_CD = 2; - goto loc_6DB32A; - case 4: - vehicle->var_CD = 1; - goto loc_6DB358; - case 7: - vehicle->var_CD = 6; - goto loc_6DB358; - case 8: - vehicle->var_CD = 5; - goto loc_6DB358; - } + switch (vehicle->var_CD) { + default: + goto loc_6DB358; + case 2: + case 3: + vehicle->var_CD = 2; + goto loc_6DB32A; + case 4: + vehicle->var_CD = 1; + goto loc_6DB358; + case 7: + vehicle->var_CD = 6; + goto loc_6DB358; + case 8: + vehicle->var_CD = 5; + goto loc_6DB358; + } loc_6DB32A: - { - track_begin_end trackBeginEnd; - if (!track_block_get_previous(vehicle->track_x, vehicle->track_y, mapElement, &trackBeginEnd)) { - return false; - } - regs.eax = trackBeginEnd.begin_x; - regs.ecx = trackBeginEnd.begin_y; - regs.edx = trackBeginEnd.begin_z; - regs.bl = trackBeginEnd.begin_direction; - mapElement = trackBeginEnd.begin_element; - } - goto loc_6DB41D; + { + track_begin_end trackBeginEnd; + if (!track_block_get_previous(vehicle->track_x, vehicle->track_y, mapElement, &trackBeginEnd)) { + return false; + } + regs.eax = trackBeginEnd.begin_x; + regs.ecx = trackBeginEnd.begin_y; + regs.edx = trackBeginEnd.begin_z; + regs.bl = trackBeginEnd.begin_direction; + mapElement = trackBeginEnd.begin_element; + } + goto loc_6DB41D; loc_6DB358: - { - rct_xy_element xyElement; - sint32 z, direction; - xyElement.x = vehicle->track_x; - xyElement.y = vehicle->track_y; - xyElement.element = mapElement; - if (!track_block_get_next(&xyElement, &xyElement, &z, &direction)) { - return false; - } - mapElement = xyElement.element; - regs.eax = xyElement.x; - regs.ecx = xyElement.y; - regs.edx = z; - regs.bl = direction; - } - if (mapElement->properties.track.type == 211 || - mapElement->properties.track.type == 212 - ) { - if (!vehicle->is_child && vehicle->velocity <= 0x30000) { - vehicle->velocity = 0; - } - } + { + rct_xy_element xyElement; + sint32 z, direction; + xyElement.x = vehicle->track_x; + xyElement.y = vehicle->track_y; + xyElement.element = mapElement; + if (!track_block_get_next(&xyElement, &xyElement, &z, &direction)) { + return false; + } + mapElement = xyElement.element; + regs.eax = xyElement.x; + regs.ecx = xyElement.y; + regs.edx = z; + regs.bl = direction; + } + if (mapElement->properties.track.type == 211 || + mapElement->properties.track.type == 212 + ) { + if (!vehicle->is_child && vehicle->velocity <= 0x30000) { + vehicle->velocity = 0; + } + } - if (!loc_6DB38B(vehicle, mapElement)) { - return false; - } + if (!loc_6DB38B(vehicle, mapElement)) { + return false; + } - // Update VEHICLE_UPDATE_FLAG_11 flag - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_11; - sint32 rideType = get_ride(mapElement->properties.track.ride_index)->type; - if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { - if (mapElement->properties.track.colour & 4) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11; - } - } + // Update VEHICLE_UPDATE_FLAG_11 flag + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_11; + sint32 rideType = get_ride(mapElement->properties.track.ride_index)->type; + if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { + if (mapElement->properties.track.colour & 4) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11; + } + } loc_6DB41D: - vehicle->track_x = regs.ax; - vehicle->track_y = regs.cx; - vehicle->track_z = regs.dx; + vehicle->track_x = regs.ax; + vehicle->track_y = regs.cx; + vehicle->track_z = regs.dx; - // TODO check if getting the vehicle entry again is necessary - vehicleEntry = vehicle_get_vehicle_entry(vehicle); + // TODO check if getting the vehicle entry again is necessary + vehicleEntry = vehicle_get_vehicle_entry(vehicle); - if ((vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14) && vehicle->var_CD < 7) { - trackType = mapElement->properties.track.type; - if (trackType == TRACK_ELEM_FLAT) { - loc_6DB481(vehicle); - } - else if (ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) { - if (track_element_is_station(mapElement)) { - loc_6DB481(vehicle); - } - } - } + if ((vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14) && vehicle->var_CD < 7) { + trackType = mapElement->properties.track.type; + if (trackType == TRACK_ELEM_FLAT) { + loc_6DB481(vehicle); + } + else if (ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) { + if (track_element_is_station(mapElement)) { + loc_6DB481(vehicle); + } + } + } - if (vehicle->var_CD != 0 && vehicle->var_CD < 5) { - rct_xy8 curLocation = { - .x = regs.ax >> 5, - .y = regs.cx >> 5 - }; + if (vehicle->var_CD != 0 && vehicle->var_CD < 5) { + rct_xy8 curLocation = { + .x = regs.ax >> 5, + .y = regs.cx >> 5 + }; - regs.dx >>= 3; - if (curLocation.xy == ride->chairlift_bullwheel_location[1].xy && regs.dl == ride->chairlift_bullwheel_z[1]) { - vehicle->var_CD = 3; - } - else if (curLocation.xy == ride->chairlift_bullwheel_location[0].xy && regs.dl == ride->chairlift_bullwheel_z[0]) { - vehicle->var_CD = 4; - } - } + regs.dx >>= 3; + if (curLocation.xy == ride->chairlift_bullwheel_location[1].xy && regs.dl == ride->chairlift_bullwheel_z[1]) { + vehicle->var_CD = 3; + } + else if (curLocation.xy == ride->chairlift_bullwheel_location[0].xy && regs.dl == ride->chairlift_bullwheel_z[0]) { + vehicle->var_CD = 4; + } + } - // loc_6DB500 - // Update VEHICLE_UPDATE_FLAG_0 - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_0; - if (track_element_is_lift_hill(mapElement)) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_0; - } + // loc_6DB500 + // Update VEHICLE_UPDATE_FLAG_0 + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_0; + if (track_element_is_lift_hill(mapElement)) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_0; + } - trackType = mapElement->properties.track.type; - if (trackType != TRACK_ELEM_BRAKES) { - vehicle->target_seat_rotation = mapElement->properties.track.colour >> 4; - } - vehicle->track_direction = regs.bl & 3; - vehicle->track_type |= trackType << 2; - vehicle->brake_speed = (mapElement->properties.track.sequence >> 4) << 1; - if (trackType == TRACK_ELEM_ON_RIDE_PHOTO) { - vehicle_trigger_on_ride_photo(vehicle, mapElement); - } - if (trackType == TRACK_ELEM_ROTATION_CONTROL_TOGGLE) { - vehicle->update_flags ^= VEHICLE_UPDATE_FLAG_13; - } - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_8) { - vehicle_update_handle_scenery_door(vehicle); - } - return true; + trackType = mapElement->properties.track.type; + if (trackType != TRACK_ELEM_BRAKES) { + vehicle->target_seat_rotation = mapElement->properties.track.colour >> 4; + } + vehicle->track_direction = regs.bl & 3; + vehicle->track_type |= trackType << 2; + vehicle->brake_speed = (mapElement->properties.track.sequence >> 4) << 1; + if (trackType == TRACK_ELEM_ON_RIDE_PHOTO) { + vehicle_trigger_on_ride_photo(vehicle, mapElement); + } + if (trackType == TRACK_ELEM_ROTATION_CONTROL_TOGGLE) { + vehicle->update_flags ^= VEHICLE_UPDATE_FLAG_13; + } + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_8) { + vehicle_update_handle_scenery_door(vehicle); + } + return true; } /** @@ -7480,218 +7480,218 @@ loc_6DB41D: * rct2: 0x006DAEB9 */ static bool vehicle_update_track_motion_forwards(rct_vehicle *vehicle, rct_ride_entry_vehicle* vehicleEntry, rct_ride* ride, rct_ride_entry* rideEntry) { - registers regs = { 0 }; + registers regs = { 0 }; loc_6DAEB9: - regs.edi = vehicle->track_type; - regs.cx = vehicle->track_type >> 2; - sint32 trackType = vehicle->track_type >> 2; - if (trackType == TRACK_ELEM_HEARTLINE_TRANSFER_UP || trackType == TRACK_ELEM_HEARTLINE_TRANSFER_DOWN) { - if (vehicle->track_progress == 80) { - vehicle->vehicle_type ^= 1; - vehicleEntry = vehicle_get_vehicle_entry(vehicle); - } - if (_vehicleVelocityF64E08 >= 0x40000) { - vehicle->acceleration = -_vehicleVelocityF64E08 * 8; - } - else if (_vehicleVelocityF64E08 < 0x20000) { - vehicle->acceleration = 0x50000; - } - } - else if (trackType == TRACK_ELEM_BRAKES) { - if (!( - ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN && - ride->breakdown_reason_pending == BREAKDOWN_BRAKES_FAILURE && - ride->mechanic_status == RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES - )) { - regs.eax = vehicle->brake_speed << 16; - if (regs.eax < _vehicleVelocityF64E08) { - vehicle->acceleration = -_vehicleVelocityF64E08 * 16; - } - else if (!(gCurrentTicks & 0x0F)) { - if (_vehicleF64E2C == 0) { - _vehicleF64E2C++; - audio_play_sound_at_location(SOUND_51, vehicle->x, vehicle->y, vehicle->z); - } - } - } - } - else if (trackType == TRACK_ELEM_BOOSTER && ride->type != RIDE_TYPE_WILD_MOUSE) { - if (ride->type == RIDE_TYPE_GIGA_COASTER) { - regs.eax = (vehicle->brake_speed << 17); - } else if (ride-> type == RIDE_TYPE_JUNIOR_ROLLER_COASTER) { - regs.eax = (vehicle->brake_speed << 15); - } else { - regs.eax = (vehicle->brake_speed << 16); - } + regs.edi = vehicle->track_type; + regs.cx = vehicle->track_type >> 2; + sint32 trackType = vehicle->track_type >> 2; + if (trackType == TRACK_ELEM_HEARTLINE_TRANSFER_UP || trackType == TRACK_ELEM_HEARTLINE_TRANSFER_DOWN) { + if (vehicle->track_progress == 80) { + vehicle->vehicle_type ^= 1; + vehicleEntry = vehicle_get_vehicle_entry(vehicle); + } + if (_vehicleVelocityF64E08 >= 0x40000) { + vehicle->acceleration = -_vehicleVelocityF64E08 * 8; + } + else if (_vehicleVelocityF64E08 < 0x20000) { + vehicle->acceleration = 0x50000; + } + } + else if (trackType == TRACK_ELEM_BRAKES) { + if (!( + ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN && + ride->breakdown_reason_pending == BREAKDOWN_BRAKES_FAILURE && + ride->mechanic_status == RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES + )) { + regs.eax = vehicle->brake_speed << 16; + if (regs.eax < _vehicleVelocityF64E08) { + vehicle->acceleration = -_vehicleVelocityF64E08 * 16; + } + else if (!(gCurrentTicks & 0x0F)) { + if (_vehicleF64E2C == 0) { + _vehicleF64E2C++; + audio_play_sound_at_location(SOUND_51, vehicle->x, vehicle->y, vehicle->z); + } + } + } + } + else if (trackType == TRACK_ELEM_BOOSTER && ride->type != RIDE_TYPE_WILD_MOUSE) { + if (ride->type == RIDE_TYPE_GIGA_COASTER) { + regs.eax = (vehicle->brake_speed << 17); + } else if (ride-> type == RIDE_TYPE_JUNIOR_ROLLER_COASTER) { + regs.eax = (vehicle->brake_speed << 15); + } else { + regs.eax = (vehicle->brake_speed << 16); + } - if (regs.eax > _vehicleVelocityF64E08) { - vehicle->acceleration = RideProperties[ride->type].booster_acceleration << 16; //_vehicleVelocityF64E08 * 1.2; - } - } + if (regs.eax > _vehicleVelocityF64E08) { + vehicle->acceleration = RideProperties[ride->type].booster_acceleration << 16; //_vehicleVelocityF64E08 * 1.2; + } + } - if ((trackType == TRACK_ELEM_FLAT && ride->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER) || - (trackType == TRACK_ELEM_POWERED_LIFT) - ) { - vehicle->acceleration = RideProperties[ride->type].powered_lift_acceleration << 16; - } - if (trackType == TRACK_ELEM_BRAKE_FOR_DROP) { - if (!vehicle->is_child) { - if (!(vehicle->update_flags & VEHICLE_UPDATE_FLAG_ON_BREAK_FOR_DROP)) { - if (vehicle->track_progress >= 8) { - vehicle->acceleration = -_vehicleVelocityF64E08 * 16; - if (vehicle->track_progress >= 24) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_ON_BREAK_FOR_DROP; - vehicle->vertical_drop_countdown = 90; - } - } - } - } - } - if (trackType == TRACK_ELEM_LOG_FLUME_REVERSER) { - if (vehicle->track_progress != 16 || vehicle->velocity < 0x40000) { - if (vehicle->track_progress == 32) { - vehicle->vehicle_type = vehicleEntry->var_58; - vehicleEntry = vehicle_get_vehicle_entry(vehicle); - } - } - else { - vehicle->track_progress += 17; - } - } + if ((trackType == TRACK_ELEM_FLAT && ride->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER) || + (trackType == TRACK_ELEM_POWERED_LIFT) + ) { + vehicle->acceleration = RideProperties[ride->type].powered_lift_acceleration << 16; + } + if (trackType == TRACK_ELEM_BRAKE_FOR_DROP) { + if (!vehicle->is_child) { + if (!(vehicle->update_flags & VEHICLE_UPDATE_FLAG_ON_BREAK_FOR_DROP)) { + if (vehicle->track_progress >= 8) { + vehicle->acceleration = -_vehicleVelocityF64E08 * 16; + if (vehicle->track_progress >= 24) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_ON_BREAK_FOR_DROP; + vehicle->vertical_drop_countdown = 90; + } + } + } + } + } + if (trackType == TRACK_ELEM_LOG_FLUME_REVERSER) { + if (vehicle->track_progress != 16 || vehicle->velocity < 0x40000) { + if (vehicle->track_progress == 32) { + vehicle->vehicle_type = vehicleEntry->var_58; + vehicleEntry = vehicle_get_vehicle_entry(vehicle); + } + } + else { + vehicle->track_progress += 17; + } + } - regs.ax = vehicle->track_progress + 1; + regs.ax = vehicle->track_progress + 1; - const rct_vehicle_info *moveInfo = vehicle_get_move_info( - vehicle->var_CD, - vehicle->track_type, - 0 - ); + const rct_vehicle_info *moveInfo = vehicle_get_move_info( + vehicle->var_CD, + vehicle->track_type, + 0 + ); - // Track Total Progress is in the two bytes before the move info list - uint16 trackTotalProgress = vehicle_get_move_info_size(vehicle->var_CD, vehicle->track_type); - if (regs.ax >= trackTotalProgress) { - if (!vehicle_update_track_motion_forwards_get_new_track(vehicle, trackType, ride, rideEntry)) { - goto loc_6DB94A; - } - regs.ax = 0; - } + // Track Total Progress is in the two bytes before the move info list + uint16 trackTotalProgress = vehicle_get_move_info_size(vehicle->var_CD, vehicle->track_type); + if (regs.ax >= trackTotalProgress) { + if (!vehicle_update_track_motion_forwards_get_new_track(vehicle, trackType, ride, rideEntry)) { + goto loc_6DB94A; + } + regs.ax = 0; + } - vehicle->track_progress = regs.ax; - vehicle_update_handle_water_splash(vehicle); + vehicle->track_progress = regs.ax; + vehicle_update_handle_water_splash(vehicle); - // loc_6DB706 - moveInfo = vehicle_get_move_info( - vehicle->var_CD, - vehicle->track_type, - vehicle->track_progress - ); - sint16 x = vehicle->track_x + moveInfo->x; - sint16 y = vehicle->track_y + moveInfo->y; - sint16 z = vehicle->track_z + moveInfo->z + RideData5[ride->type].z_offset; + // loc_6DB706 + moveInfo = vehicle_get_move_info( + vehicle->var_CD, + vehicle->track_type, + vehicle->track_progress + ); + sint16 x = vehicle->track_x + moveInfo->x; + sint16 y = vehicle->track_y + moveInfo->y; + sint16 z = vehicle->track_z + moveInfo->z + RideData5[ride->type].z_offset; - trackType = vehicle->track_type >> 2; - regs.ebx = 0; - if (x != unk_F64E20.x) { regs.ebx |= 1; } - if (y != unk_F64E20.y) { regs.ebx |= 2; } - if (z != unk_F64E20.z) { regs.ebx |= 4; } - if (vehicle->var_CD == 15 && - (trackType == TRACK_ELEM_LEFT_REVERSER || - trackType == TRACK_ELEM_RIGHT_REVERSER) && - vehicle->track_progress >= 30 && - vehicle->track_progress <= 66 - ) { - regs.ebx |= 8; - } + trackType = vehicle->track_type >> 2; + regs.ebx = 0; + if (x != unk_F64E20.x) { regs.ebx |= 1; } + if (y != unk_F64E20.y) { regs.ebx |= 2; } + if (z != unk_F64E20.z) { regs.ebx |= 4; } + if (vehicle->var_CD == 15 && + (trackType == TRACK_ELEM_LEFT_REVERSER || + trackType == TRACK_ELEM_RIGHT_REVERSER) && + vehicle->track_progress >= 30 && + vehicle->track_progress <= 66 + ) { + regs.ebx |= 8; + } - if (vehicle->var_CD == 16 && - (trackType == TRACK_ELEM_LEFT_REVERSER || - trackType == TRACK_ELEM_RIGHT_REVERSER) && - vehicle->track_progress == 96 - ) { - vehicle_reverse_reverser_car(vehicle); + if (vehicle->var_CD == 16 && + (trackType == TRACK_ELEM_LEFT_REVERSER || + trackType == TRACK_ELEM_RIGHT_REVERSER) && + vehicle->track_progress == 96 + ) { + vehicle_reverse_reverser_car(vehicle); - const rct_vehicle_info *moveInfo2 = vehicle_get_move_info( - vehicle->var_CD, - vehicle->track_type, - vehicle->track_progress - ); - x = vehicle->x + moveInfo2->x; - y = vehicle->y + moveInfo2->y; - } + const rct_vehicle_info *moveInfo2 = vehicle_get_move_info( + vehicle->var_CD, + vehicle->track_type, + vehicle->track_progress + ); + x = vehicle->x + moveInfo2->x; + y = vehicle->y + moveInfo2->y; + } - // loc_6DB8A5 - regs.ebx = dword_9A2930[regs.ebx]; - vehicle->remaining_distance -= regs.ebx; - unk_F64E20.x = x; - unk_F64E20.y = y; - unk_F64E20.z = z; - vehicle->sprite_direction = moveInfo->direction; - vehicle->bank_rotation = moveInfo->bank_rotation; - vehicle->vehicle_sprite_type = moveInfo->vehicle_sprite_type; + // loc_6DB8A5 + regs.ebx = dword_9A2930[regs.ebx]; + vehicle->remaining_distance -= regs.ebx; + unk_F64E20.x = x; + unk_F64E20.y = y; + unk_F64E20.z = z; + vehicle->sprite_direction = moveInfo->direction; + vehicle->bank_rotation = moveInfo->bank_rotation; + vehicle->vehicle_sprite_type = moveInfo->vehicle_sprite_type; - regs.ebx = moveInfo->vehicle_sprite_type; + regs.ebx = moveInfo->vehicle_sprite_type; - if ((vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_9) && moveInfo->vehicle_sprite_type != 0) { - vehicle->var_4A = 0; - vehicle->swinging_car_var_0 = 0; - vehicle->var_4E = 0; - } + if ((vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_9) && moveInfo->vehicle_sprite_type != 0) { + vehicle->var_4A = 0; + vehicle->swinging_car_var_0 = 0; + vehicle->var_4E = 0; + } - // vehicle == frontVehicle - if (vehicle == _vehicleFrontVehicle) { - if (_vehicleVelocityF64E08 >= 0) { - regs.bp = vehicle->prev_vehicle_on_ride; - if (vehicle_update_motion_collision_detection(vehicle, x, y, z, (uint16 *)®s.bp)) { - goto loc_6DB967; - } - } - } + // vehicle == frontVehicle + if (vehicle == _vehicleFrontVehicle) { + if (_vehicleVelocityF64E08 >= 0) { + regs.bp = vehicle->prev_vehicle_on_ride; + if (vehicle_update_motion_collision_detection(vehicle, x, y, z, (uint16 *)®s.bp)) { + goto loc_6DB967; + } + } + } - // loc_6DB928 - if (vehicle->remaining_distance < 0x368A) { - return true; - } + // loc_6DB928 + if (vehicle->remaining_distance < 0x368A) { + return true; + } - regs.ebx = dword_9A2970[regs.ebx]; - vehicle->acceleration += regs.ebx; - _vehicleUnkF64E10++; - goto loc_6DAEB9; + regs.ebx = dword_9A2970[regs.ebx]; + vehicle->acceleration += regs.ebx; + _vehicleUnkF64E10++; + goto loc_6DAEB9; loc_6DB94A: - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_5; - regs.eax = vehicle->remaining_distance + 1; - _vehicleVelocityF64E0C -= regs.eax; - vehicle->remaining_distance = 0xFFFFFFFF; - regs.ebx = vehicle->vehicle_sprite_type; - return false; + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_5; + regs.eax = vehicle->remaining_distance + 1; + _vehicleVelocityF64E0C -= regs.eax; + vehicle->remaining_distance = 0xFFFFFFFF; + regs.ebx = vehicle->vehicle_sprite_type; + return false; loc_6DB967: - regs.eax = vehicle->remaining_distance + 1; - _vehicleVelocityF64E0C -= regs.eax; - vehicle->remaining_distance -= regs.eax; + regs.eax = vehicle->remaining_distance + 1; + _vehicleVelocityF64E0C -= regs.eax; + vehicle->remaining_distance -= regs.eax; - // Might need to be bp rather than vehicle, but hopefully not - rct_vehicle *head = vehicle_get_head(GET_VEHICLE(regs.bp)); + // Might need to be bp rather than vehicle, but hopefully not + rct_vehicle *head = vehicle_get_head(GET_VEHICLE(regs.bp)); - regs.eax = abs(vehicle->velocity - head->velocity); - if (!(rideEntry->flags & RIDE_ENTRY_FLAG_18)) { - if (regs.eax > 0xE0000) { - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_6)) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_COLLISION; - } - } - } + regs.eax = abs(vehicle->velocity - head->velocity); + if (!(rideEntry->flags & RIDE_ENTRY_FLAG_18)) { + if (regs.eax > 0xE0000) { + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_6)) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_COLLISION; + } + } + } - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14) { - vehicle->velocity -= vehicle->velocity >> 2; - } - else { - sint32 newHeadVelocity = vehicle->velocity >> 1; - vehicle->velocity = head->velocity >> 1; - head->velocity = newHeadVelocity; - } - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_1; - return false; + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14) { + vehicle->velocity -= vehicle->velocity >> 2; + } + else { + sint32 newHeadVelocity = vehicle->velocity >> 1; + vehicle->velocity = head->velocity >> 1; + head->velocity = newHeadVelocity; + } + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_1; + return false; } /** @@ -7699,153 +7699,153 @@ loc_6DB967: * rct2: 0x006DBAA6 */ static bool vehicle_update_track_motion_backwards_get_new_track(rct_vehicle *vehicle, uint16 trackType, rct_ride* ride, rct_ride_entry* rideEntry, uint16* progress) { - _vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_start; - _vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_start; - rct_map_element* mapElement = map_get_track_element_at_of_type_seq( - vehicle->track_x, - vehicle->track_y, - vehicle->track_z >> 3, - trackType, - 0 - ); + _vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_start; + _vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_start; + rct_map_element* mapElement = map_get_track_element_at_of_type_seq( + vehicle->track_x, + vehicle->track_y, + vehicle->track_z >> 3, + trackType, + 0 + ); - bool nextTileBackwards = true; - sint32 direction; + bool nextTileBackwards = true; + sint32 direction; //loc_6DBB08:; - sint16 x = vehicle->track_x; - sint16 y = vehicle->track_y; - sint16 z = 0; + sint16 x = vehicle->track_x; + sint16 y = vehicle->track_y; + sint16 z = 0; - switch (vehicle->var_CD) { - case 3: - vehicle->var_CD = 1; - break; - case 7: - vehicle->var_CD = 5; - break; - case 8: - vehicle->var_CD = 6; - break; - case 2: - case 4: - vehicle->var_CD = 2; - nextTileBackwards = false; - break; - } + switch (vehicle->var_CD) { + case 3: + vehicle->var_CD = 1; + break; + case 7: + vehicle->var_CD = 5; + break; + case 8: + vehicle->var_CD = 6; + break; + case 2: + case 4: + vehicle->var_CD = 2; + nextTileBackwards = false; + break; + } - if (nextTileBackwards == true) { - //loc_6DBB7E:; - track_begin_end trackBeginEnd; - if (!track_block_get_previous(x, y, mapElement, &trackBeginEnd)) { - return false; - } - mapElement = trackBeginEnd.begin_element; + if (nextTileBackwards == true) { + //loc_6DBB7E:; + track_begin_end trackBeginEnd; + if (!track_block_get_previous(x, y, mapElement, &trackBeginEnd)) { + return false; + } + mapElement = trackBeginEnd.begin_element; - trackType = mapElement->properties.track.type; - if (trackType == TRACK_ELEM_LEFT_REVERSER || - trackType == TRACK_ELEM_RIGHT_REVERSER) { - return false; - } + trackType = mapElement->properties.track.type; + if (trackType == TRACK_ELEM_LEFT_REVERSER || + trackType == TRACK_ELEM_RIGHT_REVERSER) { + return false; + } - sint32 trackColour = ((vehicle->update_flags >> 9) ^ mapElement->properties.track.colour) & 4; - sint32 bank = TrackDefinitions[trackType].bank_end; - bank = track_get_actual_bank_2(ride->type, trackColour, bank); - sint32 vAngle = TrackDefinitions[trackType].vangle_end; - if (_vehicleVAngleEndF64E36 != vAngle || - _vehicleBankEndF64E37 != bank - ) { - return false; - } + sint32 trackColour = ((vehicle->update_flags >> 9) ^ mapElement->properties.track.colour) & 4; + sint32 bank = TrackDefinitions[trackType].bank_end; + bank = track_get_actual_bank_2(ride->type, trackColour, bank); + sint32 vAngle = TrackDefinitions[trackType].vangle_end; + if (_vehicleVAngleEndF64E36 != vAngle || + _vehicleBankEndF64E37 != bank + ) { + return false; + } - // Update VEHICLE_UPDATE_FLAG_11 - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_11; - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { - if (mapElement->properties.track.colour & 4) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11; - } - } + // Update VEHICLE_UPDATE_FLAG_11 + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_11; + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { + if (mapElement->properties.track.colour & 4) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11; + } + } - x = trackBeginEnd.begin_x; - y = trackBeginEnd.begin_y; - z = trackBeginEnd.begin_z; - direction = trackBeginEnd.begin_direction; - } - else { - //loc_6DBB4F:; - rct_xy_element input; - rct_xy_element output; - sint32 outputZ; + x = trackBeginEnd.begin_x; + y = trackBeginEnd.begin_y; + z = trackBeginEnd.begin_z; + direction = trackBeginEnd.begin_direction; + } + else { + //loc_6DBB4F:; + rct_xy_element input; + rct_xy_element output; + sint32 outputZ; - input.x = x; - input.y = y; - input.element = mapElement; - if (!track_block_get_next(&input, &output, &outputZ, &direction)) { - return false; - } - mapElement = output.element; - x = output.x; - y = output.y; - z = outputZ; - } + input.x = x; + input.y = y; + input.element = mapElement; + if (!track_block_get_next(&input, &output, &outputZ, &direction)) { + return false; + } + mapElement = output.element; + x = output.x; + y = output.y; + z = outputZ; + } //loc_6DBC3B: - vehicle->track_x = x; - vehicle->track_y = y; - vehicle->track_z = z; + vehicle->track_x = x; + vehicle->track_y = y; + vehicle->track_z = z; - if (vehicle->var_CD != 0 && - vehicle->var_CD < 5 - ) { - uint16 xy = (x >> 5) | ((y >> 5) << 8); - if (ride->chairlift_bullwheel_location[1].xy == xy && - ride->chairlift_bullwheel_z[1] == (z >> 3) - ) { - vehicle->var_CD = 3; - } - else if ( - ride->chairlift_bullwheel_location[0].xy == xy && - ride->chairlift_bullwheel_z[1] == (z >> 3) - ) { - vehicle->var_CD = 4; - } - } + if (vehicle->var_CD != 0 && + vehicle->var_CD < 5 + ) { + uint16 xy = (x >> 5) | ((y >> 5) << 8); + if (ride->chairlift_bullwheel_location[1].xy == xy && + ride->chairlift_bullwheel_z[1] == (z >> 3) + ) { + vehicle->var_CD = 3; + } + else if ( + ride->chairlift_bullwheel_location[0].xy == xy && + ride->chairlift_bullwheel_z[1] == (z >> 3) + ) { + vehicle->var_CD = 4; + } + } - if (track_element_is_lift_hill(mapElement)) { - if (_vehicleVelocityF64E08 < 0) { - if (vehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) { - trackType = mapElement->properties.track.type; - if (!(TrackFlags[trackType] & TRACK_ELEM_FLAG_DOWN)) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_9; - } - } - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_0; - } - } - else { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_0) { - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_0; - if (vehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) { - if (_vehicleVelocityF64E08 < 0) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_8; - } - } - } - } + if (track_element_is_lift_hill(mapElement)) { + if (_vehicleVelocityF64E08 < 0) { + if (vehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) { + trackType = mapElement->properties.track.type; + if (!(TrackFlags[trackType] & TRACK_ELEM_FLAG_DOWN)) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_9; + } + } + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_0; + } + } + else { + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_0) { + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_0; + if (vehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) { + if (_vehicleVelocityF64E08 < 0) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_8; + } + } + } + } - trackType = mapElement->properties.track.type; - if (trackType != TRACK_ELEM_BRAKES) { - vehicle->target_seat_rotation = mapElement->properties.track.colour >> 4; - } - direction &= 3; - vehicle->track_type = trackType << 2; - vehicle->track_direction |= direction; - vehicle->brake_speed = (mapElement->properties.track.sequence >> 4) << 1; + trackType = mapElement->properties.track.type; + if (trackType != TRACK_ELEM_BRAKES) { + vehicle->target_seat_rotation = mapElement->properties.track.colour >> 4; + } + direction &= 3; + vehicle->track_type = trackType << 2; + vehicle->track_direction |= direction; + vehicle->brake_speed = (mapElement->properties.track.sequence >> 4) << 1; - // There are two bytes before the move info list - uint16 trackTotalProgress = vehicle_get_move_info_size(vehicle->var_CD, vehicle->track_type); - *progress = trackTotalProgress - 1; - return true; + // There are two bytes before the move info list + uint16 trackTotalProgress = vehicle_get_move_info_size(vehicle->var_CD, vehicle->track_type); + *progress = trackTotalProgress - 1; + return true; } /** @@ -7853,136 +7853,136 @@ static bool vehicle_update_track_motion_backwards_get_new_track(rct_vehicle *veh * rct2: 0x006DBA33 */ static bool vehicle_update_track_motion_backwards(rct_vehicle *vehicle, rct_ride_entry_vehicle* vehicleEntry, rct_ride* ride, rct_ride_entry* rideEntry) { - registers regs = { 0 }; + registers regs = { 0 }; loc_6DBA33:; - uint16 trackType = vehicle->track_type >> 2; - if (trackType == TRACK_ELEM_FLAT && ride->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER) { - sint32 unkVelocity = _vehicleVelocityF64E08; - if (unkVelocity < -524288) { - unkVelocity = abs(unkVelocity); - vehicle->acceleration = unkVelocity * 2; - } - } + uint16 trackType = vehicle->track_type >> 2; + if (trackType == TRACK_ELEM_FLAT && ride->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER) { + sint32 unkVelocity = _vehicleVelocityF64E08; + if (unkVelocity < -524288) { + unkVelocity = abs(unkVelocity); + vehicle->acceleration = unkVelocity * 2; + } + } - if (trackType == TRACK_ELEM_BRAKES) { - regs.eax = -(vehicle->brake_speed << 16); - if (regs.eax > _vehicleVelocityF64E08) { - regs.eax = _vehicleVelocityF64E08 * -16; - vehicle->acceleration = regs.eax; - } - } + if (trackType == TRACK_ELEM_BRAKES) { + regs.eax = -(vehicle->brake_speed << 16); + if (regs.eax > _vehicleVelocityF64E08) { + regs.eax = _vehicleVelocityF64E08 * -16; + vehicle->acceleration = regs.eax; + } + } - // Boosters share their ID with the Spinning Control track. - if (trackType == TRACK_ELEM_BOOSTER && ride->type != RIDE_TYPE_WILD_MOUSE) { - if (ride->type == RIDE_TYPE_GIGA_COASTER) { - regs.eax = (vehicle->brake_speed << 17); - } else if (ride-> type == RIDE_TYPE_JUNIOR_ROLLER_COASTER) { - regs.eax = (vehicle->brake_speed << 15); - } else { - regs.eax = (vehicle->brake_speed << 16); - } + // Boosters share their ID with the Spinning Control track. + if (trackType == TRACK_ELEM_BOOSTER && ride->type != RIDE_TYPE_WILD_MOUSE) { + if (ride->type == RIDE_TYPE_GIGA_COASTER) { + regs.eax = (vehicle->brake_speed << 17); + } else if (ride-> type == RIDE_TYPE_JUNIOR_ROLLER_COASTER) { + regs.eax = (vehicle->brake_speed << 15); + } else { + regs.eax = (vehicle->brake_speed << 16); + } - if (regs.eax < _vehicleVelocityF64E08) { - regs.eax = RideProperties[ride->type].booster_acceleration << 16; - vehicle->acceleration = regs.eax; - } - } + if (regs.eax < _vehicleVelocityF64E08) { + regs.eax = RideProperties[ride->type].booster_acceleration << 16; + vehicle->acceleration = regs.eax; + } + } - regs.ax = vehicle->track_progress - 1; - if (regs.ax == -1) { - if (!vehicle_update_track_motion_backwards_get_new_track(vehicle, trackType, ride, rideEntry, (uint16 *)®s.ax)) { - goto loc_6DBE5E; - } - } + regs.ax = vehicle->track_progress - 1; + if (regs.ax == -1) { + if (!vehicle_update_track_motion_backwards_get_new_track(vehicle, trackType, ride, rideEntry, (uint16 *)®s.ax)) { + goto loc_6DBE5E; + } + } - // loc_6DBD42 - vehicle->track_progress = regs.ax; - const rct_vehicle_info* moveInfo = vehicle_get_move_info( - vehicle->var_CD, - vehicle->track_type, - vehicle->track_progress - ); + // loc_6DBD42 + vehicle->track_progress = regs.ax; + const rct_vehicle_info* moveInfo = vehicle_get_move_info( + vehicle->var_CD, + vehicle->track_type, + vehicle->track_progress + ); - sint16 x = vehicle->track_x + moveInfo->x; - sint16 y = vehicle->track_y + moveInfo->y; - sint16 z = vehicle->track_z + moveInfo->z + RideData5[ride->type].z_offset; + sint16 x = vehicle->track_x + moveInfo->x; + sint16 y = vehicle->track_y + moveInfo->y; + sint16 z = vehicle->track_z + moveInfo->z + RideData5[ride->type].z_offset; - regs.ebx = 0; - if (x != unk_F64E20.x) { regs.ebx |= 1; } - if (y != unk_F64E20.y) { regs.ebx |= 2; } - if (z != unk_F64E20.z) { regs.ebx |= 4; } - vehicle->remaining_distance += dword_9A2930[regs.ebx]; + regs.ebx = 0; + if (x != unk_F64E20.x) { regs.ebx |= 1; } + if (y != unk_F64E20.y) { regs.ebx |= 2; } + if (z != unk_F64E20.z) { regs.ebx |= 4; } + vehicle->remaining_distance += dword_9A2930[regs.ebx]; - unk_F64E20.x = x; - unk_F64E20.y = y; - unk_F64E20.z = z; - vehicle->sprite_direction = moveInfo->direction; - vehicle->bank_rotation = moveInfo->bank_rotation; - regs.ebx = moveInfo->vehicle_sprite_type; - vehicle->vehicle_sprite_type = regs.bl; + unk_F64E20.x = x; + unk_F64E20.y = y; + unk_F64E20.z = z; + vehicle->sprite_direction = moveInfo->direction; + vehicle->bank_rotation = moveInfo->bank_rotation; + regs.ebx = moveInfo->vehicle_sprite_type; + vehicle->vehicle_sprite_type = regs.bl; - if ((vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_9) && regs.bl != 0) { - vehicle->var_4A = 0; - vehicle->swinging_car_var_0 = 0; - vehicle->var_4E = 0; - } + if ((vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_9) && regs.bl != 0) { + vehicle->var_4A = 0; + vehicle->swinging_car_var_0 = 0; + vehicle->var_4E = 0; + } - if (vehicle == _vehicleFrontVehicle) { - if (_vehicleVelocityF64E08 < 0) { - regs.bp = vehicle->next_vehicle_on_ride; - if (vehicle_update_motion_collision_detection(vehicle, x, y, z, (uint16*)®s.bp)) { - goto loc_6DBE7F; - } - } - } + if (vehicle == _vehicleFrontVehicle) { + if (_vehicleVelocityF64E08 < 0) { + regs.bp = vehicle->next_vehicle_on_ride; + if (vehicle_update_motion_collision_detection(vehicle, x, y, z, (uint16*)®s.bp)) { + goto loc_6DBE7F; + } + } + } - // loc_6DBE3F - if ((sint32)vehicle->remaining_distance >= 0) { - return true; - } - regs.ebx = dword_9A2970[regs.ebx]; - vehicle->acceleration += regs.ebx; - _vehicleUnkF64E10++; - goto loc_6DBA33; + // loc_6DBE3F + if ((sint32)vehicle->remaining_distance >= 0) { + return true; + } + regs.ebx = dword_9A2970[regs.ebx]; + vehicle->acceleration += regs.ebx; + _vehicleUnkF64E10++; + goto loc_6DBA33; loc_6DBE5E: - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_5; - regs.eax = vehicle->remaining_distance - 0x368A; - _vehicleVelocityF64E0C -= regs.eax; - vehicle->remaining_distance -= regs.eax; - regs.ebx = vehicle->vehicle_sprite_type; - return false; + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_5; + regs.eax = vehicle->remaining_distance - 0x368A; + _vehicleVelocityF64E0C -= regs.eax; + vehicle->remaining_distance -= regs.eax; + regs.ebx = vehicle->vehicle_sprite_type; + return false; loc_6DBE7F: - regs.eax = vehicle->remaining_distance - 0x368A; - _vehicleVelocityF64E0C -= regs.eax; - vehicle->remaining_distance -= regs.eax; + regs.eax = vehicle->remaining_distance - 0x368A; + _vehicleVelocityF64E0C -= regs.eax; + vehicle->remaining_distance -= regs.eax; - rct_vehicle *v3 = GET_VEHICLE(regs.bp); - rct_vehicle *v4 = gCurrentVehicle; - regs.eax = abs(v4->velocity - v3->velocity); + rct_vehicle *v3 = GET_VEHICLE(regs.bp); + rct_vehicle *v4 = gCurrentVehicle; + regs.eax = abs(v4->velocity - v3->velocity); - if (!(rideEntry->flags & RIDE_ENTRY_FLAG_18)) { - if (regs.eax > 0xE0000) { - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_6)) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_COLLISION; - } - } - } + if (!(rideEntry->flags & RIDE_ENTRY_FLAG_18)) { + if (regs.eax > 0xE0000) { + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_6)) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_COLLISION; + } + } + } - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14) { - vehicle->velocity -= vehicle->velocity >> 2; - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_2; - } - else { - sint32 v3Velocity = v3->velocity; - v3->velocity = v4->velocity >> 1; - v4->velocity = v3Velocity >> 1; - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_2; - } + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_14) { + vehicle->velocity -= vehicle->velocity >> 2; + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_2; + } + else { + sint32 v3Velocity = v3->velocity; + v3->velocity = v4->velocity >> 1; + v4->velocity = v3Velocity >> 1; + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_2; + } - return false; + return false; } extern const uint8 mini_golf_peep_animation_lengths[]; @@ -7993,635 +7993,635 @@ extern const uint8 mini_golf_peep_animation_lengths[]; * */ static sint32 vehicle_update_track_motion_mini_golf(rct_vehicle *vehicle, sint32* outStation) { - registers regs = { 0 }; + registers regs = { 0 }; - rct_ride *ride = get_ride(vehicle->ride); - rct_ride_entry *rideEntry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); + rct_ride *ride = get_ride(vehicle->ride); + rct_ride_entry *rideEntry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); - rct_map_element *mapElement = NULL; + rct_map_element *mapElement = NULL; - gCurrentVehicle = vehicle; - _vehicleMotionTrackFlags = 0; - vehicle->velocity += vehicle->acceleration; - _vehicleVelocityF64E08 = vehicle->velocity; - _vehicleVelocityF64E0C = (vehicle->velocity >> 10) * 42; - if (_vehicleVelocityF64E08 < 0) { - vehicle = vehicle_get_tail(vehicle); - } - _vehicleFrontVehicle = vehicle; + gCurrentVehicle = vehicle; + _vehicleMotionTrackFlags = 0; + vehicle->velocity += vehicle->acceleration; + _vehicleVelocityF64E08 = vehicle->velocity; + _vehicleVelocityF64E0C = (vehicle->velocity >> 10) * 42; + if (_vehicleVelocityF64E08 < 0) { + vehicle = vehicle_get_tail(vehicle); + } + _vehicleFrontVehicle = vehicle; loc_6DC40E: - regs.ebx = vehicle->vehicle_sprite_type; - _vehicleUnkF64E10 = 1; - vehicle->acceleration = dword_9A2970[vehicle->vehicle_sprite_type]; - vehicle->remaining_distance = _vehicleVelocityF64E0C + vehicle->remaining_distance; - if ((sint32)vehicle->remaining_distance < 0) { - goto loc_6DCA7A; - } - if ((sint32)vehicle->remaining_distance < 0x368A) { - goto loc_6DCE02; - } - vehicle->var_B8 &= ~(1 << 1); - unk_F64E20.x = vehicle->x; - unk_F64E20.y = vehicle->y; - unk_F64E20.z = vehicle->z; - vehicle_invalidate(vehicle); + regs.ebx = vehicle->vehicle_sprite_type; + _vehicleUnkF64E10 = 1; + vehicle->acceleration = dword_9A2970[vehicle->vehicle_sprite_type]; + vehicle->remaining_distance = _vehicleVelocityF64E0C + vehicle->remaining_distance; + if ((sint32)vehicle->remaining_distance < 0) { + goto loc_6DCA7A; + } + if ((sint32)vehicle->remaining_distance < 0x368A) { + goto loc_6DCE02; + } + vehicle->var_B8 &= ~(1 << 1); + unk_F64E20.x = vehicle->x; + unk_F64E20.y = vehicle->y; + unk_F64E20.z = vehicle->z; + vehicle_invalidate(vehicle); loc_6DC462: - if (vehicle->var_D3 == 0) { - goto loc_6DC476; - } - vehicle->var_D3--; - goto loc_6DC985; + if (vehicle->var_D3 == 0) { + goto loc_6DC476; + } + vehicle->var_D3--; + goto loc_6DC985; loc_6DC476: - if (vehicle->mini_golf_flags & (1 << 2)) { - uint8 nextFrame = vehicle->var_C5 + 1; - if (nextFrame < mini_golf_peep_animation_lengths[vehicle->mini_golf_current_animation]) { - vehicle->var_C5 = nextFrame; - goto loc_6DC985; - } - vehicle->mini_golf_flags &= ~(1 << 2); - } + if (vehicle->mini_golf_flags & (1 << 2)) { + uint8 nextFrame = vehicle->var_C5 + 1; + if (nextFrame < mini_golf_peep_animation_lengths[vehicle->mini_golf_current_animation]) { + vehicle->var_C5 = nextFrame; + goto loc_6DC985; + } + vehicle->mini_golf_flags &= ~(1 << 2); + } - if (vehicle->mini_golf_flags & (1 << 0)) { - regs.di = vehicle->is_child ? vehicle->prev_vehicle_on_ride : vehicle->next_vehicle_on_ride; - rct_vehicle *vEDI = GET_VEHICLE(regs.di); - if (!(vEDI->mini_golf_flags & (1 << 0)) || (vEDI->mini_golf_flags & (1 << 2))) { - goto loc_6DC985; - } - if (vEDI->var_D3 != 0) { - goto loc_6DC985; - } - vEDI->mini_golf_flags &= ~(1 << 0); - vehicle->mini_golf_flags &= ~(1 << 0); - } + if (vehicle->mini_golf_flags & (1 << 0)) { + regs.di = vehicle->is_child ? vehicle->prev_vehicle_on_ride : vehicle->next_vehicle_on_ride; + rct_vehicle *vEDI = GET_VEHICLE(regs.di); + if (!(vEDI->mini_golf_flags & (1 << 0)) || (vEDI->mini_golf_flags & (1 << 2))) { + goto loc_6DC985; + } + if (vEDI->var_D3 != 0) { + goto loc_6DC985; + } + vEDI->mini_golf_flags &= ~(1 << 0); + vehicle->mini_golf_flags &= ~(1 << 0); + } - if (vehicle->mini_golf_flags & (1 << 1)) { - regs.di = vehicle->is_child ? vehicle->prev_vehicle_on_ride : vehicle->next_vehicle_on_ride; - rct_vehicle *vEDI = GET_VEHICLE(regs.di); - if (!(vEDI->mini_golf_flags & (1 << 1)) || (vEDI->mini_golf_flags & (1 << 2))) { - goto loc_6DC985; - } - if (vEDI->var_D3 != 0) { - goto loc_6DC985; - } - vEDI->mini_golf_flags &= ~(1 << 1); - vehicle->mini_golf_flags &= ~(1 << 1); - } + if (vehicle->mini_golf_flags & (1 << 1)) { + regs.di = vehicle->is_child ? vehicle->prev_vehicle_on_ride : vehicle->next_vehicle_on_ride; + rct_vehicle *vEDI = GET_VEHICLE(regs.di); + if (!(vEDI->mini_golf_flags & (1 << 1)) || (vEDI->mini_golf_flags & (1 << 2))) { + goto loc_6DC985; + } + if (vEDI->var_D3 != 0) { + goto loc_6DC985; + } + vEDI->mini_golf_flags &= ~(1 << 1); + vehicle->mini_golf_flags &= ~(1 << 1); + } - if (vehicle->mini_golf_flags & (1 << 3)) { - rct_vehicle *vEDI = vehicle; + if (vehicle->mini_golf_flags & (1 << 3)) { + rct_vehicle *vEDI = vehicle; - for (;;) { - vEDI = GET_VEHICLE(vEDI->prev_vehicle_on_ride); - if (vEDI == vehicle) { - break; - } - if (!vEDI->is_child) continue; - if (!(vEDI->mini_golf_flags & (1 << 4))) continue; - if (vEDI->track_x != vehicle->track_x) continue; - if (vEDI->track_y != vehicle->track_y) continue; - if (vEDI->track_z != vehicle->track_z) continue; - goto loc_6DC985; - } + for (;;) { + vEDI = GET_VEHICLE(vEDI->prev_vehicle_on_ride); + if (vEDI == vehicle) { + break; + } + if (!vEDI->is_child) continue; + if (!(vEDI->mini_golf_flags & (1 << 4))) continue; + if (vEDI->track_x != vehicle->track_x) continue; + if (vEDI->track_y != vehicle->track_y) continue; + if (vEDI->track_z != vehicle->track_z) continue; + goto loc_6DC985; + } - vehicle->mini_golf_flags |= (1 << 4); - vehicle->mini_golf_flags &= ~(1 << 3); - } + vehicle->mini_golf_flags |= (1 << 4); + vehicle->mini_golf_flags &= ~(1 << 3); + } - // loc_6DC5B8 - const rct_vehicle_info* moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, 0); + // loc_6DC5B8 + const rct_vehicle_info* moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, 0); - // There are two bytes before the move info list - { - uint16 unk16_v34 = vehicle->track_progress + 1; - uint16 unk16 = vehicle_get_move_info_size(vehicle->var_CD, vehicle->track_type); - if (unk16_v34 < unk16) { - regs.ax = unk16_v34; - goto loc_6DC743; - } - } + // There are two bytes before the move info list + { + uint16 unk16_v34 = vehicle->track_progress + 1; + uint16 unk16 = vehicle_get_move_info_size(vehicle->var_CD, vehicle->track_type); + if (unk16_v34 < unk16) { + regs.ax = unk16_v34; + goto loc_6DC743; + } + } - uint16 trackType = vehicle->track_type >> 2; - _vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_end; - _vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_end; - mapElement = map_get_track_element_at_of_type_seq( - vehicle->track_x, vehicle->track_y, vehicle->track_z >> 3, - trackType, 0 - ); - sint16 x, y, z; - sint32 direction; - { - rct_xy_element input, output; - sint32 outZ, outDirection; - input.x = vehicle->track_x; - input.y = vehicle->track_y; - input.element = mapElement; - if (!track_block_get_next(&input, &output, &outZ, &outDirection)) { - goto loc_6DC9BC; - } - mapElement = output.element; - x = output.x; - y = output.y; - z = outZ; - direction = outDirection; - } + uint16 trackType = vehicle->track_type >> 2; + _vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_end; + _vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_end; + mapElement = map_get_track_element_at_of_type_seq( + vehicle->track_x, vehicle->track_y, vehicle->track_z >> 3, + trackType, 0 + ); + sint16 x, y, z; + sint32 direction; + { + rct_xy_element input, output; + sint32 outZ, outDirection; + input.x = vehicle->track_x; + input.y = vehicle->track_y; + input.element = mapElement; + if (!track_block_get_next(&input, &output, &outZ, &outDirection)) { + goto loc_6DC9BC; + } + mapElement = output.element; + x = output.x; + y = output.y; + z = outZ; + direction = outDirection; + } - if (!loc_6DB38B(vehicle, mapElement)) { - goto loc_6DC9BC; - } + if (!loc_6DB38B(vehicle, mapElement)) { + goto loc_6DC9BC; + } - sint32 rideType = get_ride(mapElement->properties.track.ride_index)->type; - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_11; - if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { - if (mapElement->properties.track.colour & (1 << 2)) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11; - } - } + sint32 rideType = get_ride(mapElement->properties.track.ride_index)->type; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_11; + if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { + if (mapElement->properties.track.colour & (1 << 2)) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11; + } + } - vehicle->track_x = x; - vehicle->track_y = y; - vehicle->track_z = z; + vehicle->track_x = x; + vehicle->track_y = y; + vehicle->track_z = z; - if (vehicle->is_child) { - rct_vehicle *prevVehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); - regs.al = prevVehicle->var_CD; - if (regs.al != 9) { - regs.al--; - } - vehicle->var_CD = regs.al; - } + if (vehicle->is_child) { + rct_vehicle *prevVehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); + regs.al = prevVehicle->var_CD; + if (regs.al != 9) { + regs.al--; + } + vehicle->var_CD = regs.al; + } - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_0; - vehicle->track_type = (mapElement->properties.track.type << 2) | (direction & 3); - vehicle->var_CF = (mapElement->properties.track.sequence >> 4) << 1; - regs.ax = 0; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_0; + vehicle->track_type = (mapElement->properties.track.type << 2) | (direction & 3); + vehicle->var_CF = (mapElement->properties.track.sequence >> 4) << 1; + regs.ax = 0; loc_6DC743: - vehicle->track_progress = regs.ax; - if (vehicle->is_child) { - vehicle->var_C5++; - if (vehicle->var_C5 >= 6) { - vehicle->var_C5 = 0; - } - } + vehicle->track_progress = regs.ax; + if (vehicle->is_child) { + vehicle->var_C5++; + if (vehicle->var_C5 >= 6) { + vehicle->var_C5 = 0; + } + } - for (;;) { - moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, vehicle->track_progress); - if (moveInfo->x != MAP_LOCATION_NULL) { - break; - } - switch (moveInfo->y) { - case 0: // loc_6DC7B4 - if (vehicle->is_child) { - vehicle->mini_golf_flags |= (1 << 3); - } - else { - uint16 rand16 = scenario_rand() & 0xFFFF; - regs.bl = 14; - if (rand16 <= 0xA000) { - regs.bl = 12; - if (rand16 <= 0x900) { - regs.bl = 10; - } - } - vehicle->var_CD = regs.bl; - } - vehicle->track_progress++; - break; - case 1: // loc_6DC7ED - vehicle->var_D3 = (uint8)moveInfo->z; - vehicle->track_progress++; - break; - case 2: // loc_6DC800 - vehicle->mini_golf_flags |= (1 << 0); - vehicle->track_progress++; - break; - case 3: // loc_6DC810 - vehicle->mini_golf_flags |= (1 << 1); - vehicle->track_progress++; - break; - case 4: // loc_6DC820 - z = moveInfo->z; - // When the ride is closed occasionally the peep is removed - // but the vehicle is still on the track. This will prevent - // it from crashing in that situation. - if (vehicle->peep[0] != SPRITE_INDEX_NULL) { - if (z == 2) { - rct_peep *peep = GET_PEEP(vehicle->peep[0]); - if (peep->id & 7) { - z = 7; - } - } - if (z == 6) { - rct_peep *peep = GET_PEEP(vehicle->peep[0]); - if (peep->id & 7) { - z = 8; - } - } - } - vehicle->mini_golf_current_animation = (uint8)z; - vehicle->var_C5 = 0; - vehicle->track_progress++; - break; - case 5: // loc_6DC87A - vehicle->mini_golf_flags |= (1 << 2); - vehicle->track_progress++; - break; - case 6: // loc_6DC88A - vehicle->mini_golf_flags &= ~(1 << 4); - vehicle->mini_golf_flags |= (1 << 5); - vehicle->track_progress++; - break; - default: - log_error("Invalid move info..."); - assert(false); - break; - } - } + for (;;) { + moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, vehicle->track_progress); + if (moveInfo->x != MAP_LOCATION_NULL) { + break; + } + switch (moveInfo->y) { + case 0: // loc_6DC7B4 + if (vehicle->is_child) { + vehicle->mini_golf_flags |= (1 << 3); + } + else { + uint16 rand16 = scenario_rand() & 0xFFFF; + regs.bl = 14; + if (rand16 <= 0xA000) { + regs.bl = 12; + if (rand16 <= 0x900) { + regs.bl = 10; + } + } + vehicle->var_CD = regs.bl; + } + vehicle->track_progress++; + break; + case 1: // loc_6DC7ED + vehicle->var_D3 = (uint8)moveInfo->z; + vehicle->track_progress++; + break; + case 2: // loc_6DC800 + vehicle->mini_golf_flags |= (1 << 0); + vehicle->track_progress++; + break; + case 3: // loc_6DC810 + vehicle->mini_golf_flags |= (1 << 1); + vehicle->track_progress++; + break; + case 4: // loc_6DC820 + z = moveInfo->z; + // When the ride is closed occasionally the peep is removed + // but the vehicle is still on the track. This will prevent + // it from crashing in that situation. + if (vehicle->peep[0] != SPRITE_INDEX_NULL) { + if (z == 2) { + rct_peep *peep = GET_PEEP(vehicle->peep[0]); + if (peep->id & 7) { + z = 7; + } + } + if (z == 6) { + rct_peep *peep = GET_PEEP(vehicle->peep[0]); + if (peep->id & 7) { + z = 8; + } + } + } + vehicle->mini_golf_current_animation = (uint8)z; + vehicle->var_C5 = 0; + vehicle->track_progress++; + break; + case 5: // loc_6DC87A + vehicle->mini_golf_flags |= (1 << 2); + vehicle->track_progress++; + break; + case 6: // loc_6DC88A + vehicle->mini_golf_flags &= ~(1 << 4); + vehicle->mini_golf_flags |= (1 << 5); + vehicle->track_progress++; + break; + default: + log_error("Invalid move info..."); + assert(false); + break; + } + } - // loc_6DC8A1 - x = vehicle->track_x + moveInfo->x; - y = vehicle->track_y + moveInfo->y; - z = vehicle->track_z + moveInfo->z + RideData5[ride->type].z_offset; + // loc_6DC8A1 + x = vehicle->track_x + moveInfo->x; + y = vehicle->track_y + moveInfo->y; + z = vehicle->track_z + moveInfo->z + RideData5[ride->type].z_offset; - // Investigate redundant code - regs.ebx = 0; - if (regs.ax != unk_F64E20.x) { - regs.ebx |= 1; - } - if (regs.cx == unk_F64E20.y) { - regs.ebx |= 2; - } - if (regs.dx == unk_F64E20.z) { - regs.ebx |= 4; - } - regs.ebx = 0x368A; - vehicle->remaining_distance -= regs.ebx; - if ((sint32)vehicle->remaining_distance < 0) { - vehicle->remaining_distance = 0; - } + // Investigate redundant code + regs.ebx = 0; + if (regs.ax != unk_F64E20.x) { + regs.ebx |= 1; + } + if (regs.cx == unk_F64E20.y) { + regs.ebx |= 2; + } + if (regs.dx == unk_F64E20.z) { + regs.ebx |= 4; + } + regs.ebx = 0x368A; + vehicle->remaining_distance -= regs.ebx; + if ((sint32)vehicle->remaining_distance < 0) { + vehicle->remaining_distance = 0; + } - unk_F64E20.x = x; - unk_F64E20.y = y; - unk_F64E20.z = z; - vehicle->sprite_direction = moveInfo->direction; - vehicle->bank_rotation = moveInfo->bank_rotation; - vehicle->vehicle_sprite_type = moveInfo->vehicle_sprite_type; + unk_F64E20.x = x; + unk_F64E20.y = y; + unk_F64E20.z = z; + vehicle->sprite_direction = moveInfo->direction; + vehicle->bank_rotation = moveInfo->bank_rotation; + vehicle->vehicle_sprite_type = moveInfo->vehicle_sprite_type; - if (rideEntry->vehicles[0].flags_b & VEHICLE_ENTRY_FLAG_B_9) { - if (vehicle->vehicle_sprite_type != 0) { - vehicle->var_4A = 0; - vehicle->swinging_car_var_0 = 0; - vehicle->var_4E = 0; - } - } + if (rideEntry->vehicles[0].flags_b & VEHICLE_ENTRY_FLAG_B_9) { + if (vehicle->vehicle_sprite_type != 0) { + vehicle->var_4A = 0; + vehicle->swinging_car_var_0 = 0; + vehicle->var_4E = 0; + } + } - if (vehicle == _vehicleFrontVehicle) { - if (_vehicleVelocityF64E08 >= 0) { - regs.bp = vehicle->prev_vehicle_on_ride; - vehicle_update_motion_collision_detection(vehicle, x, y, z, (uint16*)®s.bp); - } - } - goto loc_6DC99A; + if (vehicle == _vehicleFrontVehicle) { + if (_vehicleVelocityF64E08 >= 0) { + regs.bp = vehicle->prev_vehicle_on_ride; + vehicle_update_motion_collision_detection(vehicle, x, y, z, (uint16*)®s.bp); + } + } + goto loc_6DC99A; loc_6DC985: - regs.ebx = 0; - vehicle->remaining_distance -= 0x368A; - if ((sint32)vehicle->remaining_distance < 0) { - vehicle->remaining_distance = 0; - } + regs.ebx = 0; + vehicle->remaining_distance -= 0x368A; + if ((sint32)vehicle->remaining_distance < 0) { + vehicle->remaining_distance = 0; + } loc_6DC99A: - if ((sint32)vehicle->remaining_distance < 0x368A) { - goto loc_6DCDE4; - } - vehicle->acceleration = dword_9A2970[vehicle->vehicle_sprite_type]; - _vehicleUnkF64E10++; - goto loc_6DC462; + if ((sint32)vehicle->remaining_distance < 0x368A) { + goto loc_6DCDE4; + } + vehicle->acceleration = dword_9A2970[vehicle->vehicle_sprite_type]; + _vehicleUnkF64E10++; + goto loc_6DC462; loc_6DC9BC: - _vehicleMotionTrackFlags |= 0x20; - regs.eax = vehicle->remaining_distance + 1; - _vehicleVelocityF64E0C -= regs.eax; - vehicle->remaining_distance -= regs.eax; - regs.ebx = vehicle->vehicle_sprite_type; - goto loc_6DCD2B; + _vehicleMotionTrackFlags |= 0x20; + regs.eax = vehicle->remaining_distance + 1; + _vehicleVelocityF64E0C -= regs.eax; + vehicle->remaining_distance -= regs.eax; + regs.ebx = vehicle->vehicle_sprite_type; + goto loc_6DCD2B; - ///////////////////////////////////////// - // Dead code: 0x006DC9D9 to 0x006DCA79 // - ///////////////////////////////////////// + ///////////////////////////////////////// + // Dead code: 0x006DC9D9 to 0x006DCA79 // + ///////////////////////////////////////// loc_6DCA7A: - vehicle->var_B8 &= ~(1 << 1); - unk_F64E20.x = vehicle->x; - unk_F64E20.y = vehicle->y; - unk_F64E20.z = vehicle->z; - vehicle_invalidate(vehicle); + vehicle->var_B8 &= ~(1 << 1); + unk_F64E20.x = vehicle->x; + unk_F64E20.y = vehicle->y; + unk_F64E20.z = vehicle->z; + vehicle_invalidate(vehicle); loc_6DCA9A: - regs.ax = vehicle->track_progress - 1; - if ((uint16)regs.ax != 0xFFFF) { - goto loc_6DCC2C; - } + regs.ax = vehicle->track_progress - 1; + if ((uint16)regs.ax != 0xFFFF) { + goto loc_6DCC2C; + } - trackType = vehicle->track_type >> 2; - _vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_end; - _vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_end; - mapElement = map_get_track_element_at_of_type_seq( - vehicle->track_x, vehicle->track_y, vehicle->track_z >> 3, - trackType, 0 - ); - { - track_begin_end trackBeginEnd; - if (!track_block_get_previous(vehicle->track_x, vehicle->track_y, mapElement, &trackBeginEnd)) { - goto loc_6DC9BC; - } - x = trackBeginEnd.begin_x; - y = trackBeginEnd.begin_y; - z = trackBeginEnd.begin_z; - direction = trackBeginEnd.begin_direction; - mapElement = trackBeginEnd.begin_element; - } + trackType = vehicle->track_type >> 2; + _vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_end; + _vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_end; + mapElement = map_get_track_element_at_of_type_seq( + vehicle->track_x, vehicle->track_y, vehicle->track_z >> 3, + trackType, 0 + ); + { + track_begin_end trackBeginEnd; + if (!track_block_get_previous(vehicle->track_x, vehicle->track_y, mapElement, &trackBeginEnd)) { + goto loc_6DC9BC; + } + x = trackBeginEnd.begin_x; + y = trackBeginEnd.begin_y; + z = trackBeginEnd.begin_z; + direction = trackBeginEnd.begin_direction; + mapElement = trackBeginEnd.begin_element; + } - if (!loc_6DB38B(vehicle, mapElement)) { - goto loc_6DCD4A; - } + if (!loc_6DB38B(vehicle, mapElement)) { + goto loc_6DCD4A; + } - rideType = get_ride(mapElement->properties.track.ride_index)->type; - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_11; - if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { - if (mapElement->properties.track.colour & (1 << 2)) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11; - } - } + rideType = get_ride(mapElement->properties.track.ride_index)->type; + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_11; + if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) { + if (mapElement->properties.track.colour & (1 << 2)) { + vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11; + } + } - vehicle->track_x = x; - vehicle->track_y = y; - vehicle->track_z = z; + vehicle->track_x = x; + vehicle->track_y = y; + vehicle->track_z = z; - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_0) { - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_0; - if (vehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) { - if (_vehicleVelocityF64E08 < 0) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_8; - } - } - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_0) { + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_0; + if (vehicle->next_vehicle_on_train == SPRITE_INDEX_NULL) { + if (_vehicleVelocityF64E08 < 0) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_8; + } + } + } - vehicle->track_type = (mapElement->properties.track.type << 2) | (direction & 3); - vehicle->var_CF = (mapElement->properties.track.colour >> 4) << 1; + vehicle->track_type = (mapElement->properties.track.type << 2) | (direction & 3); + vehicle->var_CF = (mapElement->properties.track.colour >> 4) << 1; - // There are two bytes before the move info list - regs.ax = vehicle_get_move_info_size(vehicle->var_CD, vehicle->track_type); + // There are two bytes before the move info list + regs.ax = vehicle_get_move_info_size(vehicle->var_CD, vehicle->track_type); loc_6DCC2C: - vehicle->track_progress = regs.ax; + vehicle->track_progress = regs.ax; - moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, vehicle->track_progress); - x = vehicle->track_x + moveInfo->x; - y = vehicle->track_y + moveInfo->y; - z = vehicle->track_z + moveInfo->z + RideData5[ride->type].z_offset; + moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, vehicle->track_progress); + x = vehicle->track_x + moveInfo->x; + y = vehicle->track_y + moveInfo->y; + z = vehicle->track_z + moveInfo->z + RideData5[ride->type].z_offset; - // Investigate redundant code - regs.ebx = 0; - if (regs.ax != unk_F64E20.x) { - regs.ebx |= 1; - } - if (regs.cx == unk_F64E20.y) { - regs.ebx |= 2; - } - if (regs.dx == unk_F64E20.z) { - regs.ebx |= 4; - } - regs.ebx = 0x368A; - vehicle->remaining_distance -= regs.ebx; - if ((sint32)vehicle->remaining_distance < 0) { - vehicle->remaining_distance = 0; - } + // Investigate redundant code + regs.ebx = 0; + if (regs.ax != unk_F64E20.x) { + regs.ebx |= 1; + } + if (regs.cx == unk_F64E20.y) { + regs.ebx |= 2; + } + if (regs.dx == unk_F64E20.z) { + regs.ebx |= 4; + } + regs.ebx = 0x368A; + vehicle->remaining_distance -= regs.ebx; + if ((sint32)vehicle->remaining_distance < 0) { + vehicle->remaining_distance = 0; + } - unk_F64E20.x = x; - unk_F64E20.y = y; - unk_F64E20.z = z; - vehicle->sprite_direction = moveInfo->direction; - vehicle->bank_rotation = moveInfo->bank_rotation; - vehicle->vehicle_sprite_type = moveInfo->vehicle_sprite_type; + unk_F64E20.x = x; + unk_F64E20.y = y; + unk_F64E20.z = z; + vehicle->sprite_direction = moveInfo->direction; + vehicle->bank_rotation = moveInfo->bank_rotation; + vehicle->vehicle_sprite_type = moveInfo->vehicle_sprite_type; - if (rideEntry->vehicles[0].flags_b & VEHICLE_ENTRY_FLAG_B_9) { - if (vehicle->vehicle_sprite_type != 0) { - vehicle->var_4A = 0; - vehicle->swinging_car_var_0 = 0; - vehicle->var_4E = 0; - } - } + if (rideEntry->vehicles[0].flags_b & VEHICLE_ENTRY_FLAG_B_9) { + if (vehicle->vehicle_sprite_type != 0) { + vehicle->var_4A = 0; + vehicle->swinging_car_var_0 = 0; + vehicle->var_4E = 0; + } + } - if (vehicle == _vehicleFrontVehicle) { - if (_vehicleVelocityF64E08 >= 0) { - regs.bp = vehicle->var_44; - if (vehicle_update_motion_collision_detection(vehicle, x, y, z, (uint16*)®s.bp)) { - goto loc_6DCD6B; - } - } - } + if (vehicle == _vehicleFrontVehicle) { + if (_vehicleVelocityF64E08 >= 0) { + regs.bp = vehicle->var_44; + if (vehicle_update_motion_collision_detection(vehicle, x, y, z, (uint16*)®s.bp)) { + goto loc_6DCD6B; + } + } + } loc_6DCD2B: - if (vehicle->remaining_distance >= 0) { - goto loc_6DCDE4; - } - vehicle->acceleration += dword_9A2970[vehicle->vehicle_sprite_type]; - _vehicleUnkF64E10++; - goto loc_6DCA9A; + if (vehicle->remaining_distance >= 0) { + goto loc_6DCDE4; + } + vehicle->acceleration += dword_9A2970[vehicle->vehicle_sprite_type]; + _vehicleUnkF64E10++; + goto loc_6DCA9A; loc_6DCD4A: - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_5; - regs.eax = vehicle->remaining_distance - 0x368A; - _vehicleVelocityF64E0C -= regs.eax; - vehicle->remaining_distance -= regs.eax; - regs.ebx = vehicle->vehicle_sprite_type; - goto loc_6DC99A; + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_5; + regs.eax = vehicle->remaining_distance - 0x368A; + _vehicleVelocityF64E0C -= regs.eax; + vehicle->remaining_distance -= regs.eax; + regs.ebx = vehicle->vehicle_sprite_type; + goto loc_6DC99A; loc_6DCD6B: - regs.eax = vehicle->remaining_distance - 0x368A; - _vehicleVelocityF64E0C -= regs.eax; - vehicle->remaining_distance -= regs.eax; - rct_vehicle *vEBP = GET_VEHICLE(regs.bp); - rct_vehicle *vEDI = gCurrentVehicle; - regs.eax = abs(vEDI->velocity - vEBP->velocity); - if (regs.eax > 0xE0000) { - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_6)) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_COLLISION; - } - } - vEDI->velocity = vEBP->velocity >> 1; - vEBP->velocity = vEDI->velocity >> 1; - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_2; - goto loc_6DC99A; + regs.eax = vehicle->remaining_distance - 0x368A; + _vehicleVelocityF64E0C -= regs.eax; + vehicle->remaining_distance -= regs.eax; + rct_vehicle *vEBP = GET_VEHICLE(regs.bp); + rct_vehicle *vEDI = gCurrentVehicle; + regs.eax = abs(vEDI->velocity - vEBP->velocity); + if (regs.eax > 0xE0000) { + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_6)) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_COLLISION; + } + } + vEDI->velocity = vEBP->velocity >> 1; + vEBP->velocity = vEDI->velocity >> 1; + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_2; + goto loc_6DC99A; loc_6DCDE4: - sprite_move(unk_F64E20.x, unk_F64E20.y, unk_F64E20.z, (rct_sprite*)vehicle); - vehicle_invalidate(vehicle); + sprite_move(unk_F64E20.x, unk_F64E20.y, unk_F64E20.z, (rct_sprite*)vehicle); + vehicle_invalidate(vehicle); loc_6DCE02: - vehicle->acceleration /= _vehicleUnkF64E10; - if (vehicle->var_CD == 2) { - goto loc_6DCEB2; - } - trackType = vehicle->track_type >> 2; - if (!(TrackSequenceProperties[trackType][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) { - goto loc_6DCEB2; - } - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_3; - if (trackType != TRACK_ELEM_END_STATION) { - goto loc_6DCEB2; - } - if (vehicle != gCurrentVehicle) { - goto loc_6DCEB2; - } - regs.ax = vehicle->track_progress; - if (_vehicleVelocityF64E08 < 0) { - goto loc_6DCE62; - } - regs.cx = 8; - if (regs.ax > regs.cx) { - goto loc_6DCE68; - } - goto loc_6DCEB2; + vehicle->acceleration /= _vehicleUnkF64E10; + if (vehicle->var_CD == 2) { + goto loc_6DCEB2; + } + trackType = vehicle->track_type >> 2; + if (!(TrackSequenceProperties[trackType][0] & TRACK_SEQUENCE_FLAG_ORIGIN)) { + goto loc_6DCEB2; + } + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_3; + if (trackType != TRACK_ELEM_END_STATION) { + goto loc_6DCEB2; + } + if (vehicle != gCurrentVehicle) { + goto loc_6DCEB2; + } + regs.ax = vehicle->track_progress; + if (_vehicleVelocityF64E08 < 0) { + goto loc_6DCE62; + } + regs.cx = 8; + if (regs.ax > regs.cx) { + goto loc_6DCE68; + } + goto loc_6DCEB2; loc_6DCE62: - if (regs.ax > 11) { - goto loc_6DCEB2; - } + if (regs.ax > 11) { + goto loc_6DCEB2; + } loc_6DCE68: - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION; - regs.al = vehicle->track_x >> 5; - regs.ah = vehicle->track_y >> 5; - regs.dl = vehicle->track_z >> 3; - for (sint32 i = 0; i < 4; i++) { - if ((uint16)regs.ax != ride->station_starts[i]) { - continue; - } - if ((uint16)regs.dl != ride->station_heights[i]) { - continue; - } - _vehicleStationIndex = i; - } + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION; + regs.al = vehicle->track_x >> 5; + regs.ah = vehicle->track_y >> 5; + regs.dl = vehicle->track_z >> 3; + for (sint32 i = 0; i < 4; i++) { + if ((uint16)regs.ax != ride->station_starts[i]) { + continue; + } + if ((uint16)regs.dl != ride->station_heights[i]) { + continue; + } + _vehicleStationIndex = i; + } loc_6DCEB2: - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_0) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_ON_LIFT_HILL; - } - if (_vehicleVelocityF64E08 >= 0) { - regs.si = vehicle->next_vehicle_on_train; - if ((uint16)regs.si == SPRITE_INDEX_NULL) { - goto loc_6DCEFF; - } - vehicle = GET_VEHICLE((uint16)regs.si); - goto loc_6DC40E; - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_0) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_ON_LIFT_HILL; + } + if (_vehicleVelocityF64E08 >= 0) { + regs.si = vehicle->next_vehicle_on_train; + if ((uint16)regs.si == SPRITE_INDEX_NULL) { + goto loc_6DCEFF; + } + vehicle = GET_VEHICLE((uint16)regs.si); + goto loc_6DC40E; + } - if (vehicle == gCurrentVehicle) { - goto loc_6DCEFF; - } - vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); - goto loc_6DC40E; + if (vehicle == gCurrentVehicle) { + goto loc_6DCEFF; + } + vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); + goto loc_6DC40E; loc_6DCEFF: - vehicle = gCurrentVehicle; - regs.eax = 0; - regs.ebp = 0; - regs.dx = 0; - regs.ebx = 0; + vehicle = gCurrentVehicle; + regs.eax = 0; + regs.ebp = 0; + regs.dx = 0; + regs.ebx = 0; - for (;;) { - regs.ebx++; - regs.dx |= vehicle->update_flags; - regs.bp += vehicle->friction; - regs.eax += vehicle->acceleration; - regs.si = vehicle->next_vehicle_on_train; - if ((uint16)regs.si == SPRITE_INDEX_NULL) { - break; - } - vehicle = GET_VEHICLE((uint16)regs.si); - } + for (;;) { + regs.ebx++; + regs.dx |= vehicle->update_flags; + regs.bp += vehicle->friction; + regs.eax += vehicle->acceleration; + regs.si = vehicle->next_vehicle_on_train; + if ((uint16)regs.si == SPRITE_INDEX_NULL) { + break; + } + vehicle = GET_VEHICLE((uint16)regs.si); + } - vehicle = gCurrentVehicle; - regs.eax /= regs.ebx; - regs.ecx = (regs.eax * 21) >> 9; - regs.eax = vehicle->velocity >> 12; - regs.ecx -= regs.eax; - regs.ebx = vehicle->velocity; - regs.edx = vehicle->velocity >> 8; - regs.edx *= regs.edx; - if (regs.ebx < 0) { - regs.edx = -regs.edx; - } - regs.edx >>= 4; - regs.eax = regs.edx / regs.ebp; - regs.ecx -= regs.eax; + vehicle = gCurrentVehicle; + regs.eax /= regs.ebx; + regs.ecx = (regs.eax * 21) >> 9; + regs.eax = vehicle->velocity >> 12; + regs.ecx -= regs.eax; + regs.ebx = vehicle->velocity; + regs.edx = vehicle->velocity >> 8; + regs.edx *= regs.edx; + if (regs.ebx < 0) { + regs.edx = -regs.edx; + } + regs.edx >>= 4; + regs.eax = regs.edx / regs.ebp; + regs.ecx -= regs.eax; - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3)) { - goto loc_6DD069; - } - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_0) { - regs.eax = vehicle->speed * 0x4000; - if (regs.eax < vehicle->velocity) { - goto loc_6DD069; - } - } - regs.eax = vehicle->speed; - regs.bx = vehicle->track_type >> 2; - regs.ebx = regs.eax; - regs.eax <<= 14; - regs.ebx *= regs.ebp; - regs.ebx >>= 2; - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_3) { - regs.eax = -regs.eax; - } - regs.eax -= vehicle->velocity; - regs.edx = vehicle->powered_acceleration; - regs.edx <<= 1; - regs.eax *= regs.edx; - regs.eax = regs.eax / regs.ebx; + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3)) { + goto loc_6DD069; + } + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_0) { + regs.eax = vehicle->speed * 0x4000; + if (regs.eax < vehicle->velocity) { + goto loc_6DD069; + } + } + regs.eax = vehicle->speed; + regs.bx = vehicle->track_type >> 2; + regs.ebx = regs.eax; + regs.eax <<= 14; + regs.ebx *= regs.ebp; + regs.ebx >>= 2; + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_3) { + regs.eax = -regs.eax; + } + regs.eax -= vehicle->velocity; + regs.edx = vehicle->powered_acceleration; + regs.edx <<= 1; + regs.eax *= regs.edx; + regs.eax = regs.eax / regs.ebx; - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_13)) { - goto loc_6DD054; - } + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_13)) { + goto loc_6DD054; + } - if (regs.eax < 0) { - regs.eax >>= 4; - } + if (regs.eax < 0) { + regs.eax >>= 4; + } - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SPINNING) { - vehicle->var_B6 = clamp(-0x200, (sint16)vehicle->var_B6, 0x200); - } + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SPINNING) { + vehicle->var_B6 = clamp(-0x200, (sint16)vehicle->var_B6, 0x200); + } - if (vehicle->vehicle_sprite_type != 0) { - regs.eax = max(0, regs.eax); - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SPINNING) { - if (vehicle->vehicle_sprite_type == 2) { - vehicle->var_B6 = 0; - } - } - } - else { - loc_6DD054: - regs.ebx = abs(vehicle->velocity); - if (regs.ebx > 0x10000) { - regs.ecx = 0; - } - } - regs.ecx += regs.eax; + if (vehicle->vehicle_sprite_type != 0) { + regs.eax = max(0, regs.eax); + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SPINNING) { + if (vehicle->vehicle_sprite_type == 2) { + vehicle->var_B6 = 0; + } + } + } + else { + loc_6DD054: + regs.ebx = abs(vehicle->velocity); + if (regs.ebx > 0x10000) { + regs.ecx = 0; + } + } + regs.ecx += regs.eax; loc_6DD069: - vehicle->acceleration = regs.ecx; - regs.eax = _vehicleMotionTrackFlags; - regs.ebx = _vehicleStationIndex; + vehicle->acceleration = regs.ecx; + regs.eax = _vehicleMotionTrackFlags; + regs.ebx = _vehicleStationIndex; - if (outStation != NULL) *outStation = regs.ebx; - return regs.eax; + if (outStation != NULL) *outStation = regs.ebx; + return regs.eax; } /** @@ -8630,335 +8630,335 @@ loc_6DD069: */ sint32 vehicle_update_track_motion(rct_vehicle *vehicle, sint32 *outStation) { - registers regs = { 0 }; + registers regs = { 0 }; - rct_ride *ride = get_ride(vehicle->ride); - rct_ride_entry *rideEntry = get_ride_entry(vehicle->ride_subtype); - rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); + rct_ride *ride = get_ride(vehicle->ride); + rct_ride_entry *rideEntry = get_ride_entry(vehicle->ride_subtype); + rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle); - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF) { - return vehicle_update_track_motion_mini_golf(vehicle, outStation); - } + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_MINI_GOLF) { + return vehicle_update_track_motion_mini_golf(vehicle, outStation); + } - _vehicleF64E2C = 0; - gCurrentVehicle = vehicle; - _vehicleMotionTrackFlags = 0; - _vehicleStationIndex = 0xFF; + _vehicleF64E2C = 0; + gCurrentVehicle = vehicle; + _vehicleMotionTrackFlags = 0; + _vehicleStationIndex = 0xFF; - vehicle_update_track_motion_up_stop_check(vehicle); - check_and_apply_block_section_stop_site(vehicle); - update_velocity(vehicle); + vehicle_update_track_motion_up_stop_check(vehicle); + check_and_apply_block_section_stop_site(vehicle); + update_velocity(vehicle); - if (_vehicleVelocityF64E08 < 0) { - vehicle = vehicle_get_tail(vehicle); - } - // This will be the front vehicle even when traveling - // backwards. - _vehicleFrontVehicle = vehicle; + if (_vehicleVelocityF64E08 < 0) { + vehicle = vehicle_get_tail(vehicle); + } + // This will be the front vehicle even when traveling + // backwards. + _vehicleFrontVehicle = vehicle; - uint16 spriteId = vehicle->sprite_index; - while (spriteId != SPRITE_INDEX_NULL) { - rct_vehicle* car = GET_VEHICLE(spriteId); - vehicleEntry = vehicle_get_vehicle_entry(car); + uint16 spriteId = vehicle->sprite_index; + while (spriteId != SPRITE_INDEX_NULL) { + rct_vehicle* car = GET_VEHICLE(spriteId); + vehicleEntry = vehicle_get_vehicle_entry(car); - // Swinging cars - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SWINGING) { - vehicle_update_swinging_car(car); - } - // Spinning cars - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SPINNING) { - vehicle_update_spinning_car(car); - } - // Rider sprites?? animation?? - if ((vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_7) || (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_8)) { - sub_6D63D4(car); - } - car->acceleration = dword_9A2970[car->vehicle_sprite_type]; - _vehicleUnkF64E10 = 1; + // Swinging cars + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SWINGING) { + vehicle_update_swinging_car(car); + } + // Spinning cars + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SPINNING) { + vehicle_update_spinning_car(car); + } + // Rider sprites?? animation?? + if ((vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_7) || (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_8)) { + sub_6D63D4(car); + } + car->acceleration = dword_9A2970[car->vehicle_sprite_type]; + _vehicleUnkF64E10 = 1; - regs.eax = _vehicleVelocityF64E0C + car->remaining_distance; - car->remaining_distance = regs.eax; + regs.eax = _vehicleVelocityF64E0C + car->remaining_distance; + car->remaining_distance = regs.eax; - car->var_B8 &= ~(1 << 1); - unk_F64E20.x = car->x; - unk_F64E20.y = car->y; - unk_F64E20.z = car->z; - invalidate_sprite_2((rct_sprite*)car); + car->var_B8 &= ~(1 << 1); + unk_F64E20.x = car->x; + unk_F64E20.y = car->y; + unk_F64E20.z = car->z; + invalidate_sprite_2((rct_sprite*)car); - while (true) { - if (car->remaining_distance < 0) { - // Backward loop - if (vehicle_update_track_motion_backwards(car, vehicleEntry, ride, rideEntry)) { - break; - } - else { - if (car->remaining_distance < 0x368A) { - break; - } - regs.ebx = dword_9A2970[car->vehicle_sprite_type]; - car->acceleration += regs.ebx; - _vehicleUnkF64E10++; - continue; - } - } - if (car->remaining_distance < 0x368A) { - // Location found - goto loc_6DBF3E; - } - if (vehicle_update_track_motion_forwards(car, vehicleEntry, ride, rideEntry)) { - break; - } - else { - if (car->remaining_distance >= 0) { - break; - } - regs.ebx = dword_9A2970[car->vehicle_sprite_type]; - car->acceleration = regs.ebx; - _vehicleUnkF64E10++; - continue; - } - } - // loc_6DBF20 - sprite_move(unk_F64E20.x, unk_F64E20.y, unk_F64E20.z, (rct_sprite*)car); - invalidate_sprite_2((rct_sprite*)car); + while (true) { + if (car->remaining_distance < 0) { + // Backward loop + if (vehicle_update_track_motion_backwards(car, vehicleEntry, ride, rideEntry)) { + break; + } + else { + if (car->remaining_distance < 0x368A) { + break; + } + regs.ebx = dword_9A2970[car->vehicle_sprite_type]; + car->acceleration += regs.ebx; + _vehicleUnkF64E10++; + continue; + } + } + if (car->remaining_distance < 0x368A) { + // Location found + goto loc_6DBF3E; + } + if (vehicle_update_track_motion_forwards(car, vehicleEntry, ride, rideEntry)) { + break; + } + else { + if (car->remaining_distance >= 0) { + break; + } + regs.ebx = dword_9A2970[car->vehicle_sprite_type]; + car->acceleration = regs.ebx; + _vehicleUnkF64E10++; + continue; + } + } + // loc_6DBF20 + sprite_move(unk_F64E20.x, unk_F64E20.y, unk_F64E20.z, (rct_sprite*)car); + invalidate_sprite_2((rct_sprite*)car); - loc_6DBF3E: - sub_6DBF3E(car); + loc_6DBF3E: + sub_6DBF3E(car); - // loc_6DC0F7 - if (car->update_flags & VEHICLE_UPDATE_FLAG_0) { - _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_ON_LIFT_HILL; - } - if (_vehicleVelocityF64E08 >= 0) { - spriteId = car->next_vehicle_on_train; - } - else { - if (car == gCurrentVehicle) { - break; - } - spriteId = car->prev_vehicle_on_ride; - } - } - // loc_6DC144 - vehicle = gCurrentVehicle; + // loc_6DC0F7 + if (car->update_flags & VEHICLE_UPDATE_FLAG_0) { + _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_ON_LIFT_HILL; + } + if (_vehicleVelocityF64E08 >= 0) { + spriteId = car->next_vehicle_on_train; + } + else { + if (car == gCurrentVehicle) { + break; + } + spriteId = car->prev_vehicle_on_ride; + } + } + // loc_6DC144 + vehicle = gCurrentVehicle; - vehicleEntry = vehicle_get_vehicle_entry(vehicle); - //eax - sint32 totalAcceleration = 0; - //ebp - sint32 totalFriction = 0; - //Not used - regs.dx = 0; - //ebx - sint32 numVehicles = 0; + vehicleEntry = vehicle_get_vehicle_entry(vehicle); + //eax + sint32 totalAcceleration = 0; + //ebp + sint32 totalFriction = 0; + //Not used + regs.dx = 0; + //ebx + sint32 numVehicles = 0; - for (;;) { - numVehicles++; - // Not used? - regs.dx |= vehicle->update_flags; - totalFriction += vehicle->friction; - totalAcceleration += vehicle->acceleration; + for (;;) { + numVehicles++; + // Not used? + regs.dx |= vehicle->update_flags; + totalFriction += vehicle->friction; + totalAcceleration += vehicle->acceleration; - uint16 spriteIndex = vehicle->next_vehicle_on_train; - if (spriteIndex == SPRITE_INDEX_NULL) { - break; - } - vehicle = GET_VEHICLE(spriteIndex); - } + uint16 spriteIndex = vehicle->next_vehicle_on_train; + if (spriteIndex == SPRITE_INDEX_NULL) { + break; + } + vehicle = GET_VEHICLE(spriteIndex); + } - vehicle = gCurrentVehicle; - regs.eax = (totalAcceleration / numVehicles) * 21; - if (regs.eax < 0) { - regs.eax += 511; - } - regs.eax >>= 9; - regs.ecx = regs.eax; - regs.eax = vehicle->velocity; - if (regs.eax < 0) { - regs.eax = -regs.eax; - regs.eax >>= 12; - regs.eax = -regs.eax; - } else { - regs.eax >>= 12; - } + vehicle = gCurrentVehicle; + regs.eax = (totalAcceleration / numVehicles) * 21; + if (regs.eax < 0) { + regs.eax += 511; + } + regs.eax >>= 9; + regs.ecx = regs.eax; + regs.eax = vehicle->velocity; + if (regs.eax < 0) { + regs.eax = -regs.eax; + regs.eax >>= 12; + regs.eax = -regs.eax; + } else { + regs.eax >>= 12; + } - regs.ecx -= regs.eax; - regs.edx = vehicle->velocity; - regs.ebx = regs.edx; - regs.edx >>= 8; - regs.edx *= regs.edx; - if (regs.ebx < 0) { - regs.edx = -regs.edx; - } - regs.edx >>= 4; - regs.eax = regs.edx; - // OpenRCT2: vehicles from different track types can have 0 friction. - if (totalFriction != 0) { - regs.eax = regs.eax / totalFriction; - } - regs.ecx -= regs.eax; + regs.ecx -= regs.eax; + regs.edx = vehicle->velocity; + regs.ebx = regs.edx; + regs.edx >>= 8; + regs.edx *= regs.edx; + if (regs.ebx < 0) { + regs.edx = -regs.edx; + } + regs.edx >>= 4; + regs.eax = regs.edx; + // OpenRCT2: vehicles from different track types can have 0 friction. + if (totalFriction != 0) { + regs.eax = regs.eax / totalFriction; + } + regs.ecx -= regs.eax; - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3)) { - goto loc_6DC2FA; - } - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_0) { - regs.eax = vehicle->speed * 0x4000; - if (regs.eax < vehicle->velocity) { - goto loc_6DC2FA; - } - } - regs.eax = vehicle->speed; - uint16 trackType = vehicle->track_direction >> 2; - if (trackType == TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE) { - goto loc_6DC22F; - } - if (trackType != TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE) { - goto loc_6DC23A; - } - if (vehicle->var_CD == 6) { - goto loc_6DC238; - } + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_3)) { + goto loc_6DC2FA; + } + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_0) { + regs.eax = vehicle->speed * 0x4000; + if (regs.eax < vehicle->velocity) { + goto loc_6DC2FA; + } + } + regs.eax = vehicle->speed; + uint16 trackType = vehicle->track_direction >> 2; + if (trackType == TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE) { + goto loc_6DC22F; + } + if (trackType != TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE) { + goto loc_6DC23A; + } + if (vehicle->var_CD == 6) { + goto loc_6DC238; + } loc_6DC226: - regs.ebx = regs.eax >> 2; - regs.eax -= regs.ebx; - goto loc_6DC23A; + regs.ebx = regs.eax >> 2; + regs.eax -= regs.ebx; + goto loc_6DC23A; loc_6DC22F: - if (vehicle->var_CD != 5) { - goto loc_6DC226; - } + if (vehicle->var_CD != 5) { + goto loc_6DC226; + } loc_6DC238: - regs.eax >>= 1; + regs.eax >>= 1; loc_6DC23A: - regs.ebx = regs.eax; - regs.eax <<= 14; - regs.ebx *= totalFriction; - regs.ebx >>= 2; - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_3) { - regs.eax = -regs.eax; - } - regs.eax -= vehicle->velocity; - regs.edx = vehicle->powered_acceleration; - regs.edx <<= 1; - regs.eax *= regs.edx; - if (regs.ebx != 0) { - regs.eax /= regs.ebx; - } + regs.ebx = regs.eax; + regs.eax <<= 14; + regs.ebx *= totalFriction; + regs.ebx >>= 2; + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_3) { + regs.eax = -regs.eax; + } + regs.eax -= vehicle->velocity; + regs.edx = vehicle->powered_acceleration; + regs.edx <<= 1; + regs.eax *= regs.edx; + if (regs.ebx != 0) { + regs.eax /= regs.ebx; + } - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_15) { - regs.eax *= 4; - } + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_15) { + regs.eax *= 4; + } - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_13)) { - goto loc_6DC2E3; - } + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_13)) { + goto loc_6DC2E3; + } - if (regs.eax < 0) { - regs.eax >>= 4; - } + if (regs.eax < 0) { + regs.eax >>= 4; + } - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SPINNING) { - regs.bx = vehicle->var_B6; - if (regs.bx > 512) { - regs.bx = 512; - } - if (regs.bx < -512) { - regs.bx = -512; - } - vehicle->var_B6 = regs.bx; - } + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SPINNING) { + regs.bx = vehicle->var_B6; + if (regs.bx > 512) { + regs.bx = 512; + } + if (regs.bx < -512) { + regs.bx = -512; + } + vehicle->var_B6 = regs.bx; + } - if (vehicle->vehicle_sprite_type != 0) { - if (regs.eax < 0) { - regs.eax = 0; - } + if (vehicle->vehicle_sprite_type != 0) { + if (regs.eax < 0) { + regs.eax = 0; + } - if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SPINNING)) { - if (vehicle->vehicle_sprite_type == 2) { - vehicle->var_B6 = 0; - } - } - goto loc_6DC2F6; - } + if (!(vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_SPINNING)) { + if (vehicle->vehicle_sprite_type == 2) { + vehicle->var_B6 = 0; + } + } + goto loc_6DC2F6; + } loc_6DC2E3: - regs.ebx = vehicle->velocity; - if (regs.ebx < 0) { - regs.ebx = -regs.ebx; - } - if (regs.ebx <= 0x10000) { - regs.ecx = 0; - } + regs.ebx = vehicle->velocity; + if (regs.ebx < 0) { + regs.ebx = -regs.ebx; + } + if (regs.ebx <= 0x10000) { + regs.ecx = 0; + } loc_6DC2F6: - regs.ecx += regs.eax; - goto loc_6DC316; + regs.ecx += regs.eax; + goto loc_6DC316; loc_6DC2FA: - if (regs.ecx <= 0) { - if (regs.ecx >= -500) { - if (vehicle->velocity <= 0x8000) { - regs.ecx += 400; - } - } - } + if (regs.ecx <= 0) { + if (regs.ecx >= -500) { + if (vehicle->velocity <= 0x8000) { + regs.ecx += 400; + } + } + } loc_6DC316: - regs.bx = vehicle->track_type >> 2; - if (regs.bx == TRACK_ELEM_WATER_SPLASH) { - if (vehicle->track_progress >= 48 && - vehicle->track_progress <= 128 - ) { - regs.eax = vehicle->velocity >> 6; - regs.ecx -= regs.eax; - } - } + regs.bx = vehicle->track_type >> 2; + if (regs.bx == TRACK_ELEM_WATER_SPLASH) { + if (vehicle->track_progress >= 48 && + vehicle->track_progress <= 128 + ) { + regs.eax = vehicle->velocity >> 6; + regs.ecx -= regs.eax; + } + } - if (rideEntry->flags & RIDE_ENTRY_FLAG_PLAY_SPLASH_SOUND_SLIDE) { - if (!vehicle->is_child) { - regs.bx = vehicle->track_type >> 2; - if (track_element_is_covered(regs.bx)) { - if (vehicle->velocity > 0x20000) { - regs.eax = vehicle->velocity >> 6; - regs.ecx -= regs.eax; - } - } - } - } + if (rideEntry->flags & RIDE_ENTRY_FLAG_PLAY_SPLASH_SOUND_SLIDE) { + if (!vehicle->is_child) { + regs.bx = vehicle->track_type >> 2; + if (track_element_is_covered(regs.bx)) { + if (vehicle->velocity > 0x20000) { + regs.eax = vehicle->velocity >> 6; + regs.ecx -= regs.eax; + } + } + } + } - vehicle->acceleration = regs.ecx; + vehicle->acceleration = regs.ecx; - regs.eax = _vehicleMotionTrackFlags; - regs.ebx = _vehicleStationIndex; + regs.eax = _vehicleMotionTrackFlags; + regs.ebx = _vehicleStationIndex; - // hook_setreturnregisters(®s); - if (outStation != NULL) *outStation = regs.ebx; - return regs.eax; + // hook_setreturnregisters(®s); + if (outStation != NULL) *outStation = regs.ebx; + return regs.eax; } rct_ride_entry_vehicle *vehicle_get_vehicle_entry(rct_vehicle *vehicle) { - rct_ride_entry *rideEntry = get_ride_entry(vehicle->ride_subtype); - return &rideEntry->vehicles[vehicle->vehicle_type]; + rct_ride_entry *rideEntry = get_ride_entry(vehicle->ride_subtype); + return &rideEntry->vehicles[vehicle->vehicle_type]; } sint32 vehicle_get_total_num_peeps(rct_vehicle *vehicle) { - uint16 spriteIndex; - sint32 numPeeps = 0; - for (;;) { - numPeeps += vehicle->num_peeps; - spriteIndex = vehicle->next_vehicle_on_train; - if (spriteIndex == SPRITE_INDEX_NULL) - break; + uint16 spriteIndex; + sint32 numPeeps = 0; + for (;;) { + numPeeps += vehicle->num_peeps; + spriteIndex = vehicle->next_vehicle_on_train; + if (spriteIndex == SPRITE_INDEX_NULL) + break; - vehicle = &(get_sprite(spriteIndex)->vehicle); - } + vehicle = &(get_sprite(spriteIndex)->vehicle); + } - return numPeeps; + return numPeeps; } /** @@ -8967,21 +8967,21 @@ sint32 vehicle_get_total_num_peeps(rct_vehicle *vehicle) */ void vehicle_invalidate_window(rct_vehicle *vehicle) { - sint32 viewVehicleIndex; - rct_ride *ride; - rct_window *w; + sint32 viewVehicleIndex; + rct_ride *ride; + rct_window *w; - w = window_find_by_number(WC_RIDE, vehicle->ride); - if (w == NULL) - return; + w = window_find_by_number(WC_RIDE, vehicle->ride); + if (w == NULL) + return; - ride = get_ride(vehicle->ride); - viewVehicleIndex = w->ride.view - 1; - if (viewVehicleIndex < 0 || viewVehicleIndex >= ride->num_vehicles) - return; + ride = get_ride(vehicle->ride); + viewVehicleIndex = w->ride.view - 1; + if (viewVehicleIndex < 0 || viewVehicleIndex >= ride->num_vehicles) + return; - if (vehicle->sprite_index != ride->vehicles[viewVehicleIndex]) - return; + if (vehicle->sprite_index != ride->vehicles[viewVehicleIndex]) + return; - window_invalidate(w); + window_invalidate(w); } diff --git a/src/openrct2/ride/vehicle.h b/src/openrct2/ride/vehicle.h index f3846e3281..88eca50e34 100644 --- a/src/openrct2/ride/vehicle.h +++ b/src/openrct2/ride/vehicle.h @@ -23,8 +23,8 @@ #pragma pack(push, 1) /* size: 0x2 */ typedef struct rct_vehicle_colour { - uint8 body_colour; - uint8 trim_colour; + uint8 body_colour; + uint8 trim_colour; } rct_vehicle_colour; assert_struct_size(rct_vehicle_colour, 2); @@ -33,338 +33,338 @@ assert_struct_size(rct_vehicle_colour, 2); * size: 0x65 */ typedef struct rct_ride_entry_vehicle { - uint16 rotation_frame_mask; // 0x00 , 0x1A - uint8 var_02; // 0x02 , 0x1C - uint8 var_03; // 0x03 , 0x1D - uint32 spacing; // 0x04 , 0x1E - uint16 car_friction; // 0x08 , 0x22 - sint8 tab_height; // 0x0A , 0x24 - uint8 num_seats; // 0x0B , 0x25 - uint16 sprite_flags; // 0x0C , 0x26 - uint8 sprite_width; // 0x0E , 0x28 - uint8 sprite_height_negative; // 0x0F , 0x29 - uint8 sprite_height_positive; // 0x10 , 0x2A - uint8 var_11; // 0x11 , 0x2B - uint16 flags_a; // 0x12 , 0x2C - uint16 flags_b; // 0x14 , 0x2E - uint16 var_16; // 0x16 , 0x30 - uint32 base_image_id; // 0x18 , 0x32 - uint32 var_1C; // 0x1C , 0x36 - uint32 var_20; // 0x20 , 0x3A - uint32 var_24; // 0x24 , 0x3E - uint32 var_28; // 0x28 , 0x42 - uint32 var_2C; // 0x2C , 0x46 - uint32 var_30; // 0x30 , 0x4A - uint32 var_34; // 0x34 , 0x4E - uint32 var_38; // 0x38 , 0x52 - uint32 var_3C; // 0x3C , 0x56 - uint32 var_40; // 0x40 , 0x5A - uint32 var_44; // 0x44 , 0x5E - uint32 var_48; // 0x48 , 0x62 - uint32 var_4C; // 0x4C , 0x66 - uint32 no_vehicle_images; // 0x50 , 0x6A - uint8 no_seating_rows; // 0x54 , 0x6E - uint8 spinning_inertia; // 0x55 , 0x6F - uint8 spinning_friction; // 0x56 , 0x70 - uint8 friction_sound_id; // 0x57 , 0x71 - uint8 var_58; // 0x58 , 0x72 - uint8 sound_range; // 0x59 , 0x73 - uint8 var_5A; // 0x5A , 0x74 - uint8 powered_acceleration; // 0x5B , 0x75 - uint8 powered_max_speed; // 0x5C , 0x76 - uint8 car_visual; // 0x5D , 0x77 - uint8 effect_visual; - uint8 draw_order; - uint8 special_frames; // 0x60 , 0x7A - sint8* peep_loading_positions; // 0x61 , 0x7B + uint16 rotation_frame_mask; // 0x00 , 0x1A + uint8 var_02; // 0x02 , 0x1C + uint8 var_03; // 0x03 , 0x1D + uint32 spacing; // 0x04 , 0x1E + uint16 car_friction; // 0x08 , 0x22 + sint8 tab_height; // 0x0A , 0x24 + uint8 num_seats; // 0x0B , 0x25 + uint16 sprite_flags; // 0x0C , 0x26 + uint8 sprite_width; // 0x0E , 0x28 + uint8 sprite_height_negative; // 0x0F , 0x29 + uint8 sprite_height_positive; // 0x10 , 0x2A + uint8 var_11; // 0x11 , 0x2B + uint16 flags_a; // 0x12 , 0x2C + uint16 flags_b; // 0x14 , 0x2E + uint16 var_16; // 0x16 , 0x30 + uint32 base_image_id; // 0x18 , 0x32 + uint32 var_1C; // 0x1C , 0x36 + uint32 var_20; // 0x20 , 0x3A + uint32 var_24; // 0x24 , 0x3E + uint32 var_28; // 0x28 , 0x42 + uint32 var_2C; // 0x2C , 0x46 + uint32 var_30; // 0x30 , 0x4A + uint32 var_34; // 0x34 , 0x4E + uint32 var_38; // 0x38 , 0x52 + uint32 var_3C; // 0x3C , 0x56 + uint32 var_40; // 0x40 , 0x5A + uint32 var_44; // 0x44 , 0x5E + uint32 var_48; // 0x48 , 0x62 + uint32 var_4C; // 0x4C , 0x66 + uint32 no_vehicle_images; // 0x50 , 0x6A + uint8 no_seating_rows; // 0x54 , 0x6E + uint8 spinning_inertia; // 0x55 , 0x6F + uint8 spinning_friction; // 0x56 , 0x70 + uint8 friction_sound_id; // 0x57 , 0x71 + uint8 var_58; // 0x58 , 0x72 + uint8 sound_range; // 0x59 , 0x73 + uint8 var_5A; // 0x5A , 0x74 + uint8 powered_acceleration; // 0x5B , 0x75 + uint8 powered_max_speed; // 0x5C , 0x76 + uint8 car_visual; // 0x5D , 0x77 + uint8 effect_visual; + uint8 draw_order; + uint8 special_frames; // 0x60 , 0x7A + sint8* peep_loading_positions; // 0x61 , 0x7B } rct_ride_entry_vehicle; #ifdef PLATFORM_32BIT assert_struct_size(rct_ride_entry_vehicle, 0x65); #endif typedef struct rct_vehicle { - uint8 sprite_identifier; // 0x00 - uint8 is_child; // 0x01 - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - // Height from center of sprite to bottom - uint8 sprite_height_negative; // 0x09 - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - // Width from center of sprite to edge - uint8 sprite_width; // 0x14 - // Height from center of sprite to top - uint8 sprite_height_positive; // 0x15 - sint16 sprite_left; // 0x16 - sint16 sprite_top; // 0x18 - sint16 sprite_right; // 0x1A - sint16 sprite_bottom; // 0x1C - uint8 sprite_direction; // 0x1E - uint8 vehicle_sprite_type; // 0x1F - uint8 bank_rotation; // 0x20 - uint8 pad_21[3]; - sint32 remaining_distance; // 0x24 - sint32 velocity; // 0x28 - sint32 acceleration; // 0x2C - uint8 ride; // 0x30 - uint8 vehicle_type; // 0x31 - rct_vehicle_colour colours; // 0x32 - union { - uint16 track_progress; // 0x34 - struct { - sint8 var_34; - uint8 var_35; - }; - }; - union { - sint16 track_direction; // 0x36 (0000 0000 0000 0011) - sint16 track_type; // 0x36 (0000 0011 1111 1100) - rct_xy8 boat_location; // 0x36 - }; - uint16 track_x; // 0x38 - uint16 track_y; // 0x3A - uint16 track_z; // 0x3C - uint16 next_vehicle_on_train; // 0x3E + uint8 sprite_identifier; // 0x00 + uint8 is_child; // 0x01 + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + // Height from center of sprite to bottom + uint8 sprite_height_negative; // 0x09 + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + // Width from center of sprite to edge + uint8 sprite_width; // 0x14 + // Height from center of sprite to top + uint8 sprite_height_positive; // 0x15 + sint16 sprite_left; // 0x16 + sint16 sprite_top; // 0x18 + sint16 sprite_right; // 0x1A + sint16 sprite_bottom; // 0x1C + uint8 sprite_direction; // 0x1E + uint8 vehicle_sprite_type; // 0x1F + uint8 bank_rotation; // 0x20 + uint8 pad_21[3]; + sint32 remaining_distance; // 0x24 + sint32 velocity; // 0x28 + sint32 acceleration; // 0x2C + uint8 ride; // 0x30 + uint8 vehicle_type; // 0x31 + rct_vehicle_colour colours; // 0x32 + union { + uint16 track_progress; // 0x34 + struct { + sint8 var_34; + uint8 var_35; + }; + }; + union { + sint16 track_direction; // 0x36 (0000 0000 0000 0011) + sint16 track_type; // 0x36 (0000 0011 1111 1100) + rct_xy8 boat_location; // 0x36 + }; + uint16 track_x; // 0x38 + uint16 track_y; // 0x3A + uint16 track_z; // 0x3C + uint16 next_vehicle_on_train; // 0x3E - // The previous vehicle on the same train or the last vehicle on the previous or only train. - uint16 prev_vehicle_on_ride; // 0x40 + // The previous vehicle on the same train or the last vehicle on the previous or only train. + uint16 prev_vehicle_on_ride; // 0x40 - // The next vehicle on the same train or the first vehicle on the next or only train - uint16 next_vehicle_on_ride; // 0x42 + // The next vehicle on the same train or the first vehicle on the next or only train + uint16 next_vehicle_on_ride; // 0x42 - uint16 var_44; - uint16 friction; // 0x46 - uint16 update_flags; // 0x48 - uint8 var_4A; - uint8 current_station; // 0x4B - union { - sint16 swinging_car_var_0; // 0x4C - sint16 current_time; // 0x4C - struct { - sint8 ferris_wheel_var_0; // 0x4C - sint8 ferris_wheel_var_1; // 0x4D - }; - }; - sint16 var_4E; - uint8 status; // 0x50 - uint8 sub_state; // 0x51 - uint16 peep[32]; // 0x52 - uint8 peep_tshirt_colours[32]; // 0x92 - uint8 num_seats; // 0xB2 - uint8 num_peeps; // 0xB3 - uint8 next_free_seat; // 0xB4 - uint8 restraints_position; // 0xB5 0 == Close, 255 == Open - sint16 var_B6; - uint16 var_B8; - uint8 var_BA; - uint8 sound1_id; // 0xBB - uint8 sound1_volume; // 0xBC - uint8 sound2_id; // 0xBD - uint8 sound2_volume; // 0xBE - sint8 var_BF; - union { - uint16 var_C0; - uint16 time_waiting; // 0xC0 - uint16 cable_lift_target; // 0xC0 - }; - uint8 speed; // 0xC2 - uint8 powered_acceleration; // 0xC3 - uint8 var_C4; - uint8 var_C5; - uint8 pad_C6[0x2]; - uint16 var_C8; - uint16 var_CA; - uint8 scream_sound_id; // 0xCC - uint8 var_CD; - union { - uint8 var_CE; - uint8 num_laps; // 0xCE - }; - union { - uint8 var_CF; - uint8 brake_speed; // 0xCF - }; - uint16 lost_time_out; // 0xD0 - sint8 vertical_drop_countdown; // 0xD1 - uint8 var_D3; - uint8 mini_golf_current_animation; - uint8 mini_golf_flags; // 0xD5 - uint8 ride_subtype; // 0xD6 - uint8 colours_extended; // 0xD7 - uint8 seat_rotation; // 0xD8 - uint8 target_seat_rotation; // 0xD9 + uint16 var_44; + uint16 friction; // 0x46 + uint16 update_flags; // 0x48 + uint8 var_4A; + uint8 current_station; // 0x4B + union { + sint16 swinging_car_var_0; // 0x4C + sint16 current_time; // 0x4C + struct { + sint8 ferris_wheel_var_0; // 0x4C + sint8 ferris_wheel_var_1; // 0x4D + }; + }; + sint16 var_4E; + uint8 status; // 0x50 + uint8 sub_state; // 0x51 + uint16 peep[32]; // 0x52 + uint8 peep_tshirt_colours[32]; // 0x92 + uint8 num_seats; // 0xB2 + uint8 num_peeps; // 0xB3 + uint8 next_free_seat; // 0xB4 + uint8 restraints_position; // 0xB5 0 == Close, 255 == Open + sint16 var_B6; + uint16 var_B8; + uint8 var_BA; + uint8 sound1_id; // 0xBB + uint8 sound1_volume; // 0xBC + uint8 sound2_id; // 0xBD + uint8 sound2_volume; // 0xBE + sint8 var_BF; + union { + uint16 var_C0; + uint16 time_waiting; // 0xC0 + uint16 cable_lift_target; // 0xC0 + }; + uint8 speed; // 0xC2 + uint8 powered_acceleration; // 0xC3 + uint8 var_C4; + uint8 var_C5; + uint8 pad_C6[0x2]; + uint16 var_C8; + uint16 var_CA; + uint8 scream_sound_id; // 0xCC + uint8 var_CD; + union { + uint8 var_CE; + uint8 num_laps; // 0xCE + }; + union { + uint8 var_CF; + uint8 brake_speed; // 0xCF + }; + uint16 lost_time_out; // 0xD0 + sint8 vertical_drop_countdown; // 0xD1 + uint8 var_D3; + uint8 mini_golf_current_animation; + uint8 mini_golf_flags; // 0xD5 + uint8 ride_subtype; // 0xD6 + uint8 colours_extended; // 0xD7 + uint8 seat_rotation; // 0xD8 + uint8 target_seat_rotation; // 0xD9 } rct_vehicle; assert_struct_size(rct_vehicle, 0xDA); #pragma pack(pop) typedef struct train_ref { - rct_vehicle *head; - rct_vehicle *tail; + rct_vehicle *head; + rct_vehicle *tail; } train_ref; // Size: 0x09 typedef struct rct_vehicle_info { - sint16 x; // 0x00 - sint16 y; // 0x02 - sint16 z; // 0x04 - uint8 direction; // 0x06 - uint8 vehicle_sprite_type; // 0x07 - uint8 bank_rotation; // 0x08 + sint16 x; // 0x00 + sint16 y; // 0x02 + sint16 z; // 0x04 + uint8 direction; // 0x06 + uint8 vehicle_sprite_type; // 0x07 + uint8 bank_rotation; // 0x08 } rct_vehicle_info; enum { - VEHICLE_ENTRY_FLAG_A_0 = 1 << 0, - VEHICLE_ENTRY_FLAG_A_1 = 1 << 1, - VEHICLE_ENTRY_FLAG_A_2 = 1 << 2, - VEHICLE_ENTRY_FLAG_A_MINI_GOLF = 1 << 3, - VEHICLE_ENTRY_FLAG_A_4 = 1 << 4, - VEHICLE_ENTRY_FLAG_A_5 = 1 << 5, - VEHICLE_ENTRY_FLAG_A_6 = 1 << 6, - VEHICLE_ENTRY_FLAG_A_7 = 1 << 7, - VEHICLE_ENTRY_FLAG_A_8 = 1 << 8, - VEHICLE_ENTRY_FLAG_A_9 = 1 << 9, - VEHICLE_ENTRY_FLAG_A_10 = 1 << 10, - VEHICLE_ENTRY_FLAG_A_11 = 1 << 11, - VEHICLE_ENTRY_FLAG_A_12 = 1 << 12, - VEHICLE_ENTRY_FLAG_A_13 = 1 << 13, - VEHICLE_ENTRY_FLAG_A_14 = 1 << 14, - VEHICLE_ENTRY_FLAG_A_15 = 1 << 15, + VEHICLE_ENTRY_FLAG_A_0 = 1 << 0, + VEHICLE_ENTRY_FLAG_A_1 = 1 << 1, + VEHICLE_ENTRY_FLAG_A_2 = 1 << 2, + VEHICLE_ENTRY_FLAG_A_MINI_GOLF = 1 << 3, + VEHICLE_ENTRY_FLAG_A_4 = 1 << 4, + VEHICLE_ENTRY_FLAG_A_5 = 1 << 5, + VEHICLE_ENTRY_FLAG_A_6 = 1 << 6, + VEHICLE_ENTRY_FLAG_A_7 = 1 << 7, + VEHICLE_ENTRY_FLAG_A_8 = 1 << 8, + VEHICLE_ENTRY_FLAG_A_9 = 1 << 9, + VEHICLE_ENTRY_FLAG_A_10 = 1 << 10, + VEHICLE_ENTRY_FLAG_A_11 = 1 << 11, + VEHICLE_ENTRY_FLAG_A_12 = 1 << 12, + VEHICLE_ENTRY_FLAG_A_13 = 1 << 13, + VEHICLE_ENTRY_FLAG_A_14 = 1 << 14, + VEHICLE_ENTRY_FLAG_A_15 = 1 << 15, }; enum { - VEHICLE_ENTRY_FLAG_B_0 = 1 << 0, - VEHICLE_ENTRY_FLAG_B_SWINGING = 1 << 1, - VEHICLE_ENTRY_FLAG_B_SPINNING = 1 << 2, - VEHICLE_ENTRY_FLAG_B_3 = 1 << 3, - VEHICLE_ENTRY_FLAG_B_4 = 1 << 4, - VEHICLE_ENTRY_FLAG_B_5 = 1 << 5, - VEHICLE_ENTRY_FLAG_B_6 = 1 << 6, - VEHICLE_ENTRY_FLAG_B_7 = 1 << 7, - VEHICLE_ENTRY_FLAG_B_8 = 1 << 8, - VEHICLE_ENTRY_FLAG_B_9 = 1 << 9, - VEHICLE_ENTRY_FLAG_B_10 = 1 << 10, - VEHICLE_ENTRY_FLAG_B_11 = 1 << 11, - VEHICLE_ENTRY_FLAG_B_12 = 1 << 12, - VEHICLE_ENTRY_FLAG_B_13 = 1 << 13, - VEHICLE_ENTRY_FLAG_B_14 = 1 << 14, - VEHICLE_ENTRY_FLAG_B_15 = 1 << 15, + VEHICLE_ENTRY_FLAG_B_0 = 1 << 0, + VEHICLE_ENTRY_FLAG_B_SWINGING = 1 << 1, + VEHICLE_ENTRY_FLAG_B_SPINNING = 1 << 2, + VEHICLE_ENTRY_FLAG_B_3 = 1 << 3, + VEHICLE_ENTRY_FLAG_B_4 = 1 << 4, + VEHICLE_ENTRY_FLAG_B_5 = 1 << 5, + VEHICLE_ENTRY_FLAG_B_6 = 1 << 6, + VEHICLE_ENTRY_FLAG_B_7 = 1 << 7, + VEHICLE_ENTRY_FLAG_B_8 = 1 << 8, + VEHICLE_ENTRY_FLAG_B_9 = 1 << 9, + VEHICLE_ENTRY_FLAG_B_10 = 1 << 10, + VEHICLE_ENTRY_FLAG_B_11 = 1 << 11, + VEHICLE_ENTRY_FLAG_B_12 = 1 << 12, + VEHICLE_ENTRY_FLAG_B_13 = 1 << 13, + VEHICLE_ENTRY_FLAG_B_14 = 1 << 14, + VEHICLE_ENTRY_FLAG_B_15 = 1 << 15, }; enum { - VEHICLE_STATUS_MOVING_TO_END_OF_STATION, - VEHICLE_STATUS_WAITING_FOR_PASSENGERS, - VEHICLE_STATUS_WAITING_TO_DEPART, - VEHICLE_STATUS_DEPARTING, - VEHICLE_STATUS_TRAVELLING, - VEHICLE_STATUS_ARRIVING, - VEHICLE_STATUS_UNLOADING_PASSENGERS, - VEHICLE_STATUS_TRAVELLING_BOAT, - VEHICLE_STATUS_CRASHING, - VEHICLE_STATUS_CRASHED, - VEHICLE_STATUS_TRAVELLING_DODGEMS, - VEHICLE_STATUS_SWINGING, - VEHICLE_STATUS_ROTATING, - VEHICLE_STATUS_FERRIS_WHEEL_ROTATING, - VEHICLE_STATUS_SIMULATOR_OPERATING, - VEHICLE_STATUS_SHOWING_FILM, - VEHICLE_STATUS_SPACE_RINGS_OPERATING, - VEHICLE_STATUS_TOP_SPIN_OPERATING, - VEHICLE_STATUS_HAUNTED_HOUSE_OPERATING, - VEHICLE_STATUS_DOING_CIRCUS_SHOW, - VEHICLE_STATUS_CROOKED_HOUSE_OPERATING, - VEHICLE_STATUS_WAITING_FOR_CABLE_LIFT, - VEHICLE_STATUS_TRAVELLING_CABLE_LIFT, - VEHICLE_STATUS_STOPPING, - VEHICLE_STATUS_WAITING_FOR_PASSENGERS_17, - VEHICLE_STATUS_WAITING_TO_START, - VEHICLE_STATUS_STARTING, - VEHICLE_STATUS_OPERATING_1A, - VEHICLE_STATUS_STOPPING_1B, - VEHICLE_STATUS_UNLOADING_PASSENGERS_1C, - VEHICLE_STATUS_STOPPED_BY_BLOCK_BRAKES + VEHICLE_STATUS_MOVING_TO_END_OF_STATION, + VEHICLE_STATUS_WAITING_FOR_PASSENGERS, + VEHICLE_STATUS_WAITING_TO_DEPART, + VEHICLE_STATUS_DEPARTING, + VEHICLE_STATUS_TRAVELLING, + VEHICLE_STATUS_ARRIVING, + VEHICLE_STATUS_UNLOADING_PASSENGERS, + VEHICLE_STATUS_TRAVELLING_BOAT, + VEHICLE_STATUS_CRASHING, + VEHICLE_STATUS_CRASHED, + VEHICLE_STATUS_TRAVELLING_DODGEMS, + VEHICLE_STATUS_SWINGING, + VEHICLE_STATUS_ROTATING, + VEHICLE_STATUS_FERRIS_WHEEL_ROTATING, + VEHICLE_STATUS_SIMULATOR_OPERATING, + VEHICLE_STATUS_SHOWING_FILM, + VEHICLE_STATUS_SPACE_RINGS_OPERATING, + VEHICLE_STATUS_TOP_SPIN_OPERATING, + VEHICLE_STATUS_HAUNTED_HOUSE_OPERATING, + VEHICLE_STATUS_DOING_CIRCUS_SHOW, + VEHICLE_STATUS_CROOKED_HOUSE_OPERATING, + VEHICLE_STATUS_WAITING_FOR_CABLE_LIFT, + VEHICLE_STATUS_TRAVELLING_CABLE_LIFT, + VEHICLE_STATUS_STOPPING, + VEHICLE_STATUS_WAITING_FOR_PASSENGERS_17, + VEHICLE_STATUS_WAITING_TO_START, + VEHICLE_STATUS_STARTING, + VEHICLE_STATUS_OPERATING_1A, + VEHICLE_STATUS_STOPPING_1B, + VEHICLE_STATUS_UNLOADING_PASSENGERS_1C, + VEHICLE_STATUS_STOPPED_BY_BLOCK_BRAKES }; 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_ON_BREAK_FOR_DROP = (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) + 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_ON_BREAK_FOR_DROP = (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) }; enum { - VEHICLE_SPRITE_FLAG_FLAT = (1 << 0), - VEHICLE_SPRITE_FLAG_GENTLE_SLOPES = (1 << 1), - VEHICLE_SPRITE_FLAG_STEEP_SLOPES = (1 << 2), - VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES = (1 << 3), - VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES = (1 << 4), - VEHICLE_SPRITE_FLAG_FLAT_BANKED = (1 << 5), - VEHICLE_SPRITE_FLAG_INLINE_TWISTS = (1 << 6), - VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS = (1 << 7), - VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS = (1 << 8), - VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS = (1 << 9), - VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS = (1 << 10), - VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS = (1 << 11), - VEHICLE_SPRITE_FLAG_CORKSCREWS = (1 << 12), - VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION = (1 << 13), - VEHICLE_SPRITE_FLAG_14 = (1 << 14), - VEHICLE_SPRITE_FLAG_15 = (1 << 15), + VEHICLE_SPRITE_FLAG_FLAT = (1 << 0), + VEHICLE_SPRITE_FLAG_GENTLE_SLOPES = (1 << 1), + VEHICLE_SPRITE_FLAG_STEEP_SLOPES = (1 << 2), + VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES = (1 << 3), + VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES = (1 << 4), + VEHICLE_SPRITE_FLAG_FLAT_BANKED = (1 << 5), + VEHICLE_SPRITE_FLAG_INLINE_TWISTS = (1 << 6), + VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS = (1 << 7), + VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS = (1 << 8), + VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS = (1 << 9), + VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS = (1 << 10), + VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS = (1 << 11), + VEHICLE_SPRITE_FLAG_CORKSCREWS = (1 << 12), + VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION = (1 << 13), + VEHICLE_SPRITE_FLAG_14 = (1 << 14), + VEHICLE_SPRITE_FLAG_15 = (1 << 15), }; enum { - VEHICLE_VISUAL_DEFAULT, - VEHICLE_VISUAL_FLAT_RIDE_OR_CAR_RIDE, - VEHICLE_VISUAL_LAUNCHED_FREEFALL, - VEHICLE_VISUAL_OBSERVATION_TOWER, - VEHICLE_VISUAL_RIVER_RAPIDS, - VEHICLE_VISUAL_MINI_GOLF_PLAYER, - VEHICLE_VISUAL_MINI_GOLF_BALL, - VEHICLE_VISUAL_REVERSER, - VEHICLE_VISUAL_SPLASH_BOATS_OR_WATER_COASTER, - VEHICLE_VISUAL_ROTO_DROP, - VEHICLE_VISUAL_SPLASH1_EFFECT, - VEHICLE_VISUAL_SPLASH2_EFFECT, - VEHICLE_VISUAL_SPLASH3_EFFECT, - VEHICLE_VISUAL_SPLASH4_EFFECT, - VEHICLE_VISUAL_SPLASH5_EFFECT, - VEHICLE_VISUAL_VIRGINIA_REEL, - VEHICLE_VISUAL_SUBMARINE + VEHICLE_VISUAL_DEFAULT, + VEHICLE_VISUAL_FLAT_RIDE_OR_CAR_RIDE, + VEHICLE_VISUAL_LAUNCHED_FREEFALL, + VEHICLE_VISUAL_OBSERVATION_TOWER, + VEHICLE_VISUAL_RIVER_RAPIDS, + VEHICLE_VISUAL_MINI_GOLF_PLAYER, + VEHICLE_VISUAL_MINI_GOLF_BALL, + VEHICLE_VISUAL_REVERSER, + VEHICLE_VISUAL_SPLASH_BOATS_OR_WATER_COASTER, + VEHICLE_VISUAL_ROTO_DROP, + VEHICLE_VISUAL_SPLASH1_EFFECT, + VEHICLE_VISUAL_SPLASH2_EFFECT, + VEHICLE_VISUAL_SPLASH3_EFFECT, + VEHICLE_VISUAL_SPLASH4_EFFECT, + VEHICLE_VISUAL_SPLASH5_EFFECT, + VEHICLE_VISUAL_VIRGINIA_REEL, + VEHICLE_VISUAL_SUBMARINE }; enum { - VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION = 1 << 0, - VEHICLE_UPDATE_MOTION_TRACK_FLAG_1 = 1 << 1, - VEHICLE_UPDATE_MOTION_TRACK_FLAG_2 = 1 << 2, - VEHICLE_UPDATE_MOTION_TRACK_FLAG_3 = 1 << 3, - VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_ON_LIFT_HILL = 1 << 4, - VEHICLE_UPDATE_MOTION_TRACK_FLAG_5 = 1 << 5, - VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_DERAILED = 1 << 6, - VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_COLLISION = 1 << 7, - VEHICLE_UPDATE_MOTION_TRACK_FLAG_8 = 1 << 8, - VEHICLE_UPDATE_MOTION_TRACK_FLAG_9 = 1 << 9, - VEHICLE_UPDATE_MOTION_TRACK_FLAG_10 = 1 << 10, - VEHICLE_UPDATE_MOTION_TRACK_FLAG_11 = 1 << 11, - VEHICLE_UPDATE_MOTION_TRACK_FLAG_12 = 1 << 12, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION = 1 << 0, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_1 = 1 << 1, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_2 = 1 << 2, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_3 = 1 << 3, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_ON_LIFT_HILL = 1 << 4, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_5 = 1 << 5, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_DERAILED = 1 << 6, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_COLLISION = 1 << 7, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_8 = 1 << 8, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_9 = 1 << 9, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_10 = 1 << 10, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_11 = 1 << 11, + VEHICLE_UPDATE_MOTION_TRACK_FLAG_12 = 1 << 12, }; -#define VEHICLE_SEAT_PAIR_FLAG 0x80 -#define VEHICLE_SEAT_NUM_MASK 0x7F +#define VEHICLE_SEAT_PAIR_FLAG 0x80 +#define VEHICLE_SEAT_NUM_MASK 0x7F void vehicle_update_all(); sint32 sub_6BC2F3(rct_vehicle* vehicle); diff --git a/src/openrct2/ride/vehicle_data.c b/src/openrct2/ride/vehicle_data.c index eb851fa23b..7ae3b8e6bc 100644 --- a/src/openrct2/ride/vehicle_data.c +++ b/src/openrct2/ride/vehicle_data.c @@ -18,903 +18,903 @@ /** rct2: 0x0099F100 */ static const uint8 Rotation1TimeToSpriteMap_0[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, - 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, - 15, 15, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, - 19, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, - 23, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, - 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, - 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, - 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, - 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, - 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, - 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, - 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, - 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, - 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, - 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, - 85, 85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, - 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 96, - 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, - 102, 102, 102, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 107, 107, - 107, 108, 108, 108, 109, 109, 109, 110, 110, 110, 111, 111, 111, 112, 112, 112, 113, - 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, 118, 118, 118, - 119, 119, 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 123, 123, 123, 124, 124, - 124, 125, 125, 125, 126, 126, 126, 127, 127, 127, 128, 128, 128, 129, 129, 129, 130, - 130, 130, 131, 131, 131, 132, 132, 132, 133, 133, 133, 134, 134, 134, 135, 135, 135, - 136, 136, 136, 137, 137, 137, 138, 138, 138, 139, 139, 139, 140, 140, 140, 141, 141, - 141, 142, 142, 142, 143, 143, 143, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, - 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 150, 151, 151, 151, 152, 152, 152, - 153, 153, 153, 154, 154, 154, 155, 155, 155, 156, 156, 156, 157, 157, 157, 158, 158, - 158, 159, 159, 159, 160, 160, 160, 161, 161, 161, 162, 162, 162, 163, 163, 163, 164, - 164, 164, 165, 165, 165, 166, 166, 166, 167, 167, 167, 168, 168, 168, 169, 169, 169, - 170, 170, 170, 171, 171, 171, 172, 172, 172, 173, 173, 173, 174, 174, 174, 175, 175, - 175, 176, 176, 176, 177, 177, 177, 178, 178, 178, 179, 179, 179, 180, 180, 180, 181, - 181, 181, 182, 182, 182, 183, 183, 183, 184, 184, 184, 185, 185, 185, 186, 186, 186, - 187, 187, 187, 188, 188, 188, 189, 189, 189, 190, 190, 190, 191, 191, 191, 192, 192, - 192, 193, 193, 193, 194, 194, 194, 195, 195, 195, 196, 196, 196, 197, 197, 197, 198, - 198, 198, 199, 199, 199, 200, 200, 200, 201, 201, 201, 202, 202, 202, 203, 203, 203, - 204, 204, 204, 205, 205, 205, 206, 206, 206, 207, 207, 207, 208, 208, 208, 209, 209, - 209, 210, 210, 210, 211, 211, 211, 212, 212, 212, 213, 213, 213, 214, 214, 214, 215, - 215, 215, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, + 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, + 15, 15, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, + 19, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, + 23, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, + 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, + 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, + 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, + 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, + 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, + 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, + 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, + 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, + 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, + 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, + 85, 85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, + 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 96, + 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, + 102, 102, 102, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 107, 107, + 107, 108, 108, 108, 109, 109, 109, 110, 110, 110, 111, 111, 111, 112, 112, 112, 113, + 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, 118, 118, 118, + 119, 119, 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 123, 123, 123, 124, 124, + 124, 125, 125, 125, 126, 126, 126, 127, 127, 127, 128, 128, 128, 129, 129, 129, 130, + 130, 130, 131, 131, 131, 132, 132, 132, 133, 133, 133, 134, 134, 134, 135, 135, 135, + 136, 136, 136, 137, 137, 137, 138, 138, 138, 139, 139, 139, 140, 140, 140, 141, 141, + 141, 142, 142, 142, 143, 143, 143, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, + 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 150, 151, 151, 151, 152, 152, 152, + 153, 153, 153, 154, 154, 154, 155, 155, 155, 156, 156, 156, 157, 157, 157, 158, 158, + 158, 159, 159, 159, 160, 160, 160, 161, 161, 161, 162, 162, 162, 163, 163, 163, 164, + 164, 164, 165, 165, 165, 166, 166, 166, 167, 167, 167, 168, 168, 168, 169, 169, 169, + 170, 170, 170, 171, 171, 171, 172, 172, 172, 173, 173, 173, 174, 174, 174, 175, 175, + 175, 176, 176, 176, 177, 177, 177, 178, 178, 178, 179, 179, 179, 180, 180, 180, 181, + 181, 181, 182, 182, 182, 183, 183, 183, 184, 184, 184, 185, 185, 185, 186, 186, 186, + 187, 187, 187, 188, 188, 188, 189, 189, 189, 190, 190, 190, 191, 191, 191, 192, 192, + 192, 193, 193, 193, 194, 194, 194, 195, 195, 195, 196, 196, 196, 197, 197, 197, 198, + 198, 198, 199, 199, 199, 200, 200, 200, 201, 201, 201, 202, 202, 202, 203, 203, 203, + 204, 204, 204, 205, 205, 205, 206, 206, 206, 207, 207, 207, 208, 208, 208, 209, 209, + 209, 210, 210, 210, 211, 211, 211, 212, 212, 212, 213, 213, 213, 214, 214, 214, 215, + 215, 215, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; /** rct2: 0x0099F422 */ static const uint8 Rotation1TimeToSpriteMap_1[] = { - 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, - 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, - 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, - 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, - 22, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, - 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, - 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, - 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, - 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, - 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, - 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, - 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, - 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, - 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, - 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, - 85, 85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, - 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 96, - 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, - 102, 102, 102, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 107, 107, - 107, 108, 108, 108, 109, 109, 109, 110, 110, 110, 111, 111, 111, 112, 112, 112, 113, - 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, 118, 118, 118, - 119, 119, 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 123, 123, 123, 124, 124, - 124, 125, 125, 125, 126, 126, 126, 127, 127, 127, 128, 128, 128, 129, 129, 129, 130, - 130, 130, 131, 131, 131, 132, 132, 132, 133, 133, 133, 134, 134, 134, 135, 135, 135, - 136, 136, 136, 137, 137, 137, 138, 138, 138, 139, 139, 139, 140, 140, 140, 141, 141, - 141, 142, 142, 142, 143, 143, 143, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, - 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 150, 151, 151, 151, 152, 152, 152, - 153, 153, 153, 154, 154, 154, 155, 155, 155, 156, 156, 156, 157, 157, 157, 158, 158, - 158, 159, 159, 159, 160, 160, 160, 161, 161, 161, 162, 162, 162, 163, 163, 163, 164, - 164, 164, 165, 165, 165, 166, 166, 166, 167, 167, 167, 168, 168, 168, 169, 169, 169, - 170, 170, 170, 171, 171, 171, 172, 172, 172, 173, 173, 173, 174, 174, 174, 175, 175, - 175, 176, 176, 176, 177, 177, 177, 178, 178, 178, 179, 179, 179, 180, 180, 180, 181, - 181, 181, 182, 182, 182, 183, 183, 183, 184, 184, 184, 185, 185, 185, 186, 186, 186, - 187, 187, 187, 188, 188, 188, 189, 189, 189, 190, 190, 190, 191, 191, 191, 192, 192, - 192, 193, 193, 193, 194, 194, 194, 195, 195, 195, 196, 196, 196, 197, 197, 197, 198, - 198, 198, 199, 199, 199, 200, 200, 200, 201, 201, 201, 202, 202, 202, 203, 203, 203, - 204, 204, 204, 205, 205, 205, 206, 206, 206, 207, 207, 207, 208, 208, 208, 209, 209, - 209, 210, 210, 210, 211, 211, 211, 212, 212, 212, 213, 213, 213, 214, 214, 214, 215, - 215, 215, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, + 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, + 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, + 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, + 22, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, + 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, + 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, + 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, + 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, + 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, + 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, + 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, + 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, + 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, + 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, + 85, 85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, + 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 96, + 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, + 102, 102, 102, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 107, 107, + 107, 108, 108, 108, 109, 109, 109, 110, 110, 110, 111, 111, 111, 112, 112, 112, 113, + 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, 118, 118, 118, + 119, 119, 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 123, 123, 123, 124, 124, + 124, 125, 125, 125, 126, 126, 126, 127, 127, 127, 128, 128, 128, 129, 129, 129, 130, + 130, 130, 131, 131, 131, 132, 132, 132, 133, 133, 133, 134, 134, 134, 135, 135, 135, + 136, 136, 136, 137, 137, 137, 138, 138, 138, 139, 139, 139, 140, 140, 140, 141, 141, + 141, 142, 142, 142, 143, 143, 143, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, + 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 150, 151, 151, 151, 152, 152, 152, + 153, 153, 153, 154, 154, 154, 155, 155, 155, 156, 156, 156, 157, 157, 157, 158, 158, + 158, 159, 159, 159, 160, 160, 160, 161, 161, 161, 162, 162, 162, 163, 163, 163, 164, + 164, 164, 165, 165, 165, 166, 166, 166, 167, 167, 167, 168, 168, 168, 169, 169, 169, + 170, 170, 170, 171, 171, 171, 172, 172, 172, 173, 173, 173, 174, 174, 174, 175, 175, + 175, 176, 176, 176, 177, 177, 177, 178, 178, 178, 179, 179, 179, 180, 180, 180, 181, + 181, 181, 182, 182, 182, 183, 183, 183, 184, 184, 184, 185, 185, 185, 186, 186, 186, + 187, 187, 187, 188, 188, 188, 189, 189, 189, 190, 190, 190, 191, 191, 191, 192, 192, + 192, 193, 193, 193, 194, 194, 194, 195, 195, 195, 196, 196, 196, 197, 197, 197, 198, + 198, 198, 199, 199, 199, 200, 200, 200, 201, 201, 201, 202, 202, 202, 203, 203, 203, + 204, 204, 204, 205, 205, 205, 206, 206, 206, 207, 207, 207, 208, 208, 208, 209, 209, + 209, 210, 210, 210, 211, 211, 211, 212, 212, 212, 213, 213, 213, 214, 214, 214, 215, + 215, 215, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; /** rct2: 0x0099F6AB */ static const uint8 Rotation1TimeToSpriteMap_2[] = { - 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, - 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, - 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, - 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, - 22, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, - 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, - 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, - 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, - 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, - 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, - 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, - 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, - 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, - 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, - 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, - 85, 85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, - 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 96, - 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, - 102, 102, 102, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 107, 107, - 107, 108, 108, 108, 109, 109, 109, 110, 110, 110, 111, 111, 111, 112, 112, 112, 113, - 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, 118, 118, 118, - 119, 119, 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 123, 123, 123, 124, 124, - 124, 125, 125, 125, 126, 126, 126, 127, 127, 127, 128, 128, 128, 129, 129, 129, 130, - 130, 130, 131, 131, 131, 132, 132, 132, 133, 133, 133, 134, 134, 134, 135, 135, 135, - 136, 136, 136, 137, 137, 137, 138, 138, 138, 139, 139, 139, 140, 140, 140, 141, 141, - 141, 142, 142, 142, 143, 143, 143, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, - 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 150, 151, 151, 151, 152, 152, 152, - 153, 153, 153, 154, 154, 154, 155, 155, 155, 156, 156, 156, 157, 157, 157, 158, 158, - 158, 159, 159, 159, 160, 160, 160, 161, 161, 161, 162, 162, 162, 163, 163, 163, 164, - 164, 164, 165, 165, 165, 166, 166, 166, 167, 167, 167, 168, 168, 168, 169, 169, 169, - 170, 170, 170, 171, 171, 171, 172, 172, 172, 173, 173, 173, 174, 174, 174, 175, 175, - 175, 176, 176, 176, 177, 177, 177, 178, 178, 178, 179, 179, 179, 180, 180, 180, 181, - 181, 181, 182, 182, 182, 183, 183, 183, 184, 184, 184, 185, 185, 185, 186, 186, 186, - 187, 187, 187, 188, 188, 188, 189, 189, 189, 190, 190, 190, 191, 191, 191, 191, 191, - 191, 191, 192, 192, 192, 192, 193, 193, 193, 193, 194, 194, 194, 194, 195, 195, 195, - 195, 195, 196, 196, 196, 196, 196, 197, 197, 197, 197, 197, 198, 198, 198, 198, 198, - 199, 199, 199, 199, 199, 199, 200, 200, 200, 200, 200, 200, 201, 201, 201, 201, 201, - 201, 201, 202, 202, 202, 202, 202, 202, 202, 203, 203, 203, 203, 203, 203, 203, 203, - 204, 204, 204, 204, 204, 204, 204, 204, 204, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, - 209, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 214, - 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, - 214, 214, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, + 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, + 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, + 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, + 22, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, + 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, + 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, + 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, + 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, + 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, + 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, + 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, + 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, + 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, + 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, + 85, 85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, + 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 96, + 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, + 102, 102, 102, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 107, 107, + 107, 108, 108, 108, 109, 109, 109, 110, 110, 110, 111, 111, 111, 112, 112, 112, 113, + 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, 118, 118, 118, + 119, 119, 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 123, 123, 123, 124, 124, + 124, 125, 125, 125, 126, 126, 126, 127, 127, 127, 128, 128, 128, 129, 129, 129, 130, + 130, 130, 131, 131, 131, 132, 132, 132, 133, 133, 133, 134, 134, 134, 135, 135, 135, + 136, 136, 136, 137, 137, 137, 138, 138, 138, 139, 139, 139, 140, 140, 140, 141, 141, + 141, 142, 142, 142, 143, 143, 143, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, + 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 150, 151, 151, 151, 152, 152, 152, + 153, 153, 153, 154, 154, 154, 155, 155, 155, 156, 156, 156, 157, 157, 157, 158, 158, + 158, 159, 159, 159, 160, 160, 160, 161, 161, 161, 162, 162, 162, 163, 163, 163, 164, + 164, 164, 165, 165, 165, 166, 166, 166, 167, 167, 167, 168, 168, 168, 169, 169, 169, + 170, 170, 170, 171, 171, 171, 172, 172, 172, 173, 173, 173, 174, 174, 174, 175, 175, + 175, 176, 176, 176, 177, 177, 177, 178, 178, 178, 179, 179, 179, 180, 180, 180, 181, + 181, 181, 182, 182, 182, 183, 183, 183, 184, 184, 184, 185, 185, 185, 186, 186, 186, + 187, 187, 187, 188, 188, 188, 189, 189, 189, 190, 190, 190, 191, 191, 191, 191, 191, + 191, 191, 192, 192, 192, 192, 193, 193, 193, 193, 194, 194, 194, 194, 195, 195, 195, + 195, 195, 196, 196, 196, 196, 196, 197, 197, 197, 197, 197, 198, 198, 198, 198, 198, + 199, 199, 199, 199, 199, 199, 200, 200, 200, 200, 200, 200, 201, 201, 201, 201, 201, + 201, 201, 202, 202, 202, 202, 202, 202, 202, 203, 203, 203, 203, 203, 203, 203, 203, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 214, + 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, + 214, 214, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; /** rct2: 0x0099F0F4 */ const uint8 * Rotation1TimeToSpriteMaps[] = { - Rotation1TimeToSpriteMap_0, - Rotation1TimeToSpriteMap_1, - Rotation1TimeToSpriteMap_2, + Rotation1TimeToSpriteMap_0, + Rotation1TimeToSpriteMap_1, + Rotation1TimeToSpriteMap_2, }; /** rct2: 0x009A2434 */ static const uint8 Rotation2TimeToSpriteMap_0[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, - 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, - 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, - 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 3, - 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, - 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, - 5, 5, 5, 5, 6, 6, 6, 6, 6, 3, 3, 3, 3, 4, 4, 4, 4, - 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, - 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 7, 7, - 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, - 8, 9, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, - 10, 10, 10, 11, 11, 11, 12, 12, 12, 10, 10, 10, 11, 11, 11, 12, 12, - 12, 10, 10, 10, 11, 11, 11, 12, 12, 12, 10, 10, 10, 11, 11, 11, 12, - 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 13, 13, 13, 14, 14, 14, - 15, 15, 15, 13, 13, 13, 14, 14, 14, 15, 15, 15, 13, 13, 13, 14, 14, - 14, 15, 15, 15, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, - 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, - 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, - 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, - 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, - 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, - 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, - 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, - 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, - 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, - 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 19, 19, 20, - 20, 21, 21, 19, 19, 20, 20, 21, 21, 19, 19, 20, 20, 21, 21, 22, 22, - 23, 23, 24, 24, 22, 22, 23, 23, 24, 24, 22, 22, 23, 23, 24, 24, 25, - 25, 26, 26, 27, 27, 25, 25, 26, 26, 27, 27, 25, 25, 26, 26, 27, 27, - 28, 28, 29, 29, 30, 30, 28, 28, 29, 29, 30, 30, 28, 28, 29, 29, 30, - 30, 31, 31, 32, 32, 33, 33, 31, 31, 32, 32, 33, 33, 31, 31, 32, 32, - 33, 33, 34, 34, 35, 35, 36, 36, 34, 34, 35, 35, 36, 36, 34, 34, 35, - 35, 36, 36, 37, 37, 38, 38, 39, 39, 37, 37, 38, 38, 39, 39, 37, 37, - 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 40, 40, 41, 41, 42, 42, 40, - 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 43, 43, 44, 44, 45, 45, - 43, 43, 44, 44, 45, 45, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, + 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, + 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, + 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 3, + 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, + 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, + 5, 5, 5, 5, 6, 6, 6, 6, 6, 3, 3, 3, 3, 4, 4, 4, 4, + 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, + 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 7, 7, + 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, + 8, 9, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, + 10, 10, 10, 11, 11, 11, 12, 12, 12, 10, 10, 10, 11, 11, 11, 12, 12, + 12, 10, 10, 10, 11, 11, 11, 12, 12, 12, 10, 10, 10, 11, 11, 11, 12, + 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 13, 13, 13, 14, 14, 14, + 15, 15, 15, 13, 13, 13, 14, 14, 14, 15, 15, 15, 13, 13, 13, 14, 14, + 14, 15, 15, 15, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, + 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, + 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, + 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, + 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, + 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, + 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, + 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, + 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, + 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, + 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 19, 19, 20, + 20, 21, 21, 19, 19, 20, 20, 21, 21, 19, 19, 20, 20, 21, 21, 22, 22, + 23, 23, 24, 24, 22, 22, 23, 23, 24, 24, 22, 22, 23, 23, 24, 24, 25, + 25, 26, 26, 27, 27, 25, 25, 26, 26, 27, 27, 25, 25, 26, 26, 27, 27, + 28, 28, 29, 29, 30, 30, 28, 28, 29, 29, 30, 30, 28, 28, 29, 29, 30, + 30, 31, 31, 32, 32, 33, 33, 31, 31, 32, 32, 33, 33, 31, 31, 32, 32, + 33, 33, 34, 34, 35, 35, 36, 36, 34, 34, 35, 35, 36, 36, 34, 34, 35, + 35, 36, 36, 37, 37, 38, 38, 39, 39, 37, 37, 38, 38, 39, 39, 37, 37, + 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 40, 40, 41, 41, 42, 42, 40, + 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 43, 43, 44, 44, 45, 45, + 43, 43, 44, 44, 45, 45, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; /** rct2: 0x009A26A6 */ static const uint8 Rotation2TimeToSpriteMap_1[] = { - 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, - 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, - 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, - 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, - 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, - 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, + 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, + 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, + 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, + 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, 46, + 46, 47, 47, 48, 48, 46, 46, 47, 47, 48, 48, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; /** rct2: 0x009A270E */ static const uint8 Rotation2TimeToSpriteMap_2[] = { - 43, 43, 44, 44, 45, 45, 43, 43, 44, 44, 45, 45, 43, 43, 44, 44, 45, - 45, 40, 40, 41, 41, 42, 42, 40, 40, 41, 41, 42, 42, 40, 40, 41, 41, - 42, 42, 37, 37, 38, 38, 39, 39, 37, 37, 38, 38, 39, 39, 37, 37, 38, - 38, 39, 39, 34, 34, 35, 35, 36, 36, 34, 34, 35, 35, 36, 36, 34, 34, - 35, 35, 36, 36, 31, 31, 32, 32, 33, 33, 31, 31, 32, 32, 33, 33, 31, - 31, 32, 32, 33, 33, 28, 28, 29, 29, 30, 30, 28, 28, 29, 29, 30, 30, - 28, 28, 29, 29, 30, 30, 25, 25, 26, 26, 27, 27, 25, 25, 26, 26, 27, - 27, 25, 25, 26, 26, 27, 27, 22, 22, 23, 23, 24, 24, 22, 22, 23, 23, - 24, 24, 22, 22, 23, 23, 24, 24, 19, 19, 20, 20, 21, 21, 19, 19, 20, - 20, 21, 21, 19, 19, 20, 20, 21, 21, 16, 16, 17, 17, 18, 18, 16, 16, - 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, - 16, 17, 17, 18, 18, 13, 13, 13, 14, 14, 14, 15, 15, 15, 13, 13, 13, - 14, 14, 14, 15, 15, 15, 13, 13, 13, 14, 14, 14, 15, 15, 15, 13, 13, - 13, 14, 14, 14, 15, 15, 15, 10, 10, 10, 11, 11, 11, 12, 12, 12, 10, - 10, 10, 11, 11, 11, 12, 12, 12, 10, 10, 10, 11, 11, 11, 12, 12, 12, - 10, 10, 10, 11, 11, 11, 12, 12, 12, 7, 7, 7, 7, 8, 8, 8, 8, - 9, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 7, - 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 7, 7, 7, 7, 8, 8, - 8, 8, 9, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, - 9, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, - 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, - 6, 6, 6, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, - 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, - 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, - 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, - 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, - 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + 43, 43, 44, 44, 45, 45, 43, 43, 44, 44, 45, 45, 43, 43, 44, 44, 45, + 45, 40, 40, 41, 41, 42, 42, 40, 40, 41, 41, 42, 42, 40, 40, 41, 41, + 42, 42, 37, 37, 38, 38, 39, 39, 37, 37, 38, 38, 39, 39, 37, 37, 38, + 38, 39, 39, 34, 34, 35, 35, 36, 36, 34, 34, 35, 35, 36, 36, 34, 34, + 35, 35, 36, 36, 31, 31, 32, 32, 33, 33, 31, 31, 32, 32, 33, 33, 31, + 31, 32, 32, 33, 33, 28, 28, 29, 29, 30, 30, 28, 28, 29, 29, 30, 30, + 28, 28, 29, 29, 30, 30, 25, 25, 26, 26, 27, 27, 25, 25, 26, 26, 27, + 27, 25, 25, 26, 26, 27, 27, 22, 22, 23, 23, 24, 24, 22, 22, 23, 23, + 24, 24, 22, 22, 23, 23, 24, 24, 19, 19, 20, 20, 21, 21, 19, 19, 20, + 20, 21, 21, 19, 19, 20, 20, 21, 21, 16, 16, 17, 17, 18, 18, 16, 16, + 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, 16, 17, 17, 18, 18, 16, + 16, 17, 17, 18, 18, 13, 13, 13, 14, 14, 14, 15, 15, 15, 13, 13, 13, + 14, 14, 14, 15, 15, 15, 13, 13, 13, 14, 14, 14, 15, 15, 15, 13, 13, + 13, 14, 14, 14, 15, 15, 15, 10, 10, 10, 11, 11, 11, 12, 12, 12, 10, + 10, 10, 11, 11, 11, 12, 12, 12, 10, 10, 10, 11, 11, 11, 12, 12, 12, + 10, 10, 10, 11, 11, 11, 12, 12, 12, 7, 7, 7, 7, 8, 8, 8, 8, + 9, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 7, + 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 7, 7, 7, 7, 8, 8, + 8, 8, 9, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, + 9, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, + 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, + 6, 6, 6, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, + 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, + 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, + 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, + 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, + 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; /** rct2: 0x009A2428 */ const uint8 * Rotation2TimeToSpriteMaps[] = { - Rotation2TimeToSpriteMap_0, - Rotation2TimeToSpriteMap_1, - Rotation2TimeToSpriteMap_2, + Rotation2TimeToSpriteMap_0, + Rotation2TimeToSpriteMap_1, + Rotation2TimeToSpriteMap_2, }; /** rct2: 0x0099EB28 */ static const uint8 Rotation3TimeToSpriteMap_0[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, - 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, - 15, 15, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, - 19, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, - 23, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, - 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, - 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, - 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, - 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, - 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, - 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, - 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, - 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, - 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, - 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, - 85, 85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, - 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 96, - 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, - 102, 102, 102, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 107, 107, - 107, 108, 108, 108, 109, 109, 109, 110, 110, 110, 111, 111, 111, 112, 112, 112, 113, - 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, 118, 118, 118, - 119, 119, 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 123, 123, 123, 124, 124, - 124, 125, 125, 125, 126, 126, 126, 127, 127, 127, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, + 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, + 15, 15, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, + 19, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, + 23, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, + 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, + 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, + 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, + 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, + 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, + 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, + 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, + 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, + 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, + 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, + 85, 85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, + 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 96, + 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, + 102, 102, 102, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 107, 107, + 107, 108, 108, 108, 109, 109, 109, 110, 110, 110, 111, 111, 111, 112, 112, 112, 113, + 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, 118, 118, 118, + 119, 119, 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 123, 123, 123, 124, 124, + 124, 125, 125, 125, 126, 126, 126, 127, 127, 127, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; /** rct2: 0x0099ED49 */ static const uint8 Rotation3TimeToSpriteMap_1[] = { - 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, - 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, - 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, - 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, - 22, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, - 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, - 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, - 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, - 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, - 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, - 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, - 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, - 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, - 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, - 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, - 85, 85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, - 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 96, - 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, - 102, 102, 102, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 107, 107, - 107, 108, 108, 108, 109, 109, 109, 110, 110, 110, 111, 111, 111, 112, 112, 112, 113, - 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, 118, 118, 118, - 119, 119, 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 123, 123, 123, 124, 124, - 124, 125, 125, 125, 126, 126, 126, 127, 127, 127, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, + 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, + 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, + 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, + 22, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, + 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, + 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, + 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, + 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, + 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, + 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, + 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, + 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, + 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, + 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, + 85, 85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, + 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 96, + 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, + 102, 102, 102, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 107, 107, + 107, 108, 108, 108, 109, 109, 109, 110, 110, 110, 111, 111, 111, 112, 112, 112, 113, + 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, 118, 118, 118, + 119, 119, 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 123, 123, 123, 124, 124, + 124, 125, 125, 125, 126, 126, 126, 127, 127, 127, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; /** rct2: 0x0099EED1 */ static const uint8 Rotation3TimeToSpriteMap_2[] = { - 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, - 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, - 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, - 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, - 22, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, - 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, - 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, - 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, - 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, - 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, - 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, - 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, - 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, - 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, - 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, - 85, 85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, - 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 96, - 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, - 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 105, 105, 105, - 105, 106, 106, 106, 106, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 109, 109, - 109, 109, 109, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 112, 112, 112, - 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, - 115, 115, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, + 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, + 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, + 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, + 22, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, + 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, + 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, + 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, + 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, + 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, + 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, + 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, + 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, + 73, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, + 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, + 85, 85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, + 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 96, + 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, + 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 105, 105, 105, + 105, 106, 106, 106, 106, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 109, 109, + 109, 109, 109, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 112, 112, 112, + 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, + 115, 115, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 120, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; /** rct2: 0x0099EB1C */ const uint8 * Rotation3TimeToSpriteMaps[] = { - Rotation3TimeToSpriteMap_0, - Rotation3TimeToSpriteMap_1, - Rotation3TimeToSpriteMap_2, + Rotation3TimeToSpriteMap_0, + Rotation3TimeToSpriteMap_1, + Rotation3TimeToSpriteMap_2, }; /** rct2: 0x009A12EC */ static const top_spin_time_to_sprite_map TopSpinTimeToSpriteMap_0[] = { - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, - { 1, 0 }, { 1, 0 }, { 1, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, - { 2, 0 }, { 2, 0 }, { 2, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, - { 3, 0 }, { 3, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, - { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 6, 0 }, { 6, 0 }, - { 6, 0 }, { 6, 0 }, { 6, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, - { 7, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 9, 0 }, - { 9, 0 }, { 9, 0 }, { 9, 0 }, { 9, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, - { 10, 0 }, { 10, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, - { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 13, 0 }, { 13, 0 }, - { 13, 0 }, { 13, 0 }, { 13, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, - { 14, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 16, 0 }, - { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, - { 17, 0 }, { 17, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, - { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 20, 0 }, { 20, 0 }, - { 20, 0 }, { 20, 0 }, { 20, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, - { 21, 0 }, { 21, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, - { 22, 0 }, { 22, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, - { 23, 0 }, { 23, 0 }, { 23, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, - { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 23, 1 }, - { 23, 1 }, { 23, 1 }, { 23, 1 }, { 23, 1 }, { 23, 1 }, { 23, 1 }, { 23, 1 }, - { 22, 2 }, { 22, 2 }, { 22, 2 }, { 22, 2 }, { 22, 2 }, { 22, 2 }, { 22, 2 }, - { 21, 3 }, { 21, 3 }, { 21, 3 }, { 21, 3 }, { 21, 3 }, { 21, 3 }, { 20, 4 }, - { 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 19, 5 }, { 19, 5 }, { 19, 5 }, - { 19, 5 }, { 19, 5 }, { 18, 6 }, { 18, 6 }, { 18, 6 }, { 18, 6 }, { 18, 6 }, - { 17, 7 }, { 17, 7 }, { 17, 7 }, { 17, 7 }, { 17, 7 }, { 16, 8 }, { 16, 8 }, - { 16, 8 }, { 16, 8 }, { 16, 8 }, { 15, 9 }, { 15, 9 }, { 15, 9 }, { 15, 9 }, - { 15, 9 }, { 14, 10 }, { 14, 10 }, { 14, 10 }, { 14, 10 }, { 14, 10 }, { 13, 11 }, - { 13, 11 }, { 13, 11 }, { 13, 11 }, { 13, 11 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, - { 12, 12 }, { 12, 12 }, { 11, 13 }, { 11, 13 }, { 11, 13 }, { 11, 13 }, { 11, 13 }, - { 10, 14 }, { 10, 14 }, { 10, 14 }, { 10, 14 }, { 10, 14 }, { 9, 15 }, { 9, 15 }, - { 9, 15 }, { 9, 15 }, { 9, 15 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, - { 8, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 6, 0 }, - { 6, 0 }, { 6, 0 }, { 6, 0 }, { 6, 0 }, { 5, 15 }, { 5, 15 }, { 5, 15 }, - { 5, 15 }, { 5, 15 }, { 4, 14 }, { 4, 14 }, { 4, 14 }, { 4, 14 }, { 4, 14 }, - { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 2, 12 }, { 2, 12 }, - { 2, 12 }, { 2, 12 }, { 2, 12 }, { 1, 12 }, { 1, 12 }, { 1, 12 }, { 1, 12 }, - { 1, 12 }, { 0, 13 }, { 0, 13 }, { 0, 13 }, { 0, 13 }, { 0, 13 }, { 47, 14 }, - { 47, 14 }, { 47, 14 }, { 47, 14 }, { 47, 14 }, { 46, 15 }, { 46, 15 }, { 46, 15 }, - { 46, 15 }, { 46, 15 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, - { 44, 1 }, { 44, 1 }, { 44, 1 }, { 44, 1 }, { 44, 1 }, { 43, 2 }, { 43, 2 }, - { 43, 2 }, { 43, 2 }, { 43, 2 }, { 42, 3 }, { 42, 3 }, { 42, 3 }, { 42, 3 }, - { 42, 3 }, { 41, 4 }, { 41, 4 }, { 41, 4 }, { 41, 4 }, { 41, 4 }, { 40, 5 }, - { 40, 5 }, { 40, 5 }, { 40, 5 }, { 40, 5 }, { 39, 6 }, { 39, 6 }, { 39, 6 }, - { 39, 6 }, { 39, 6 }, { 38, 7 }, { 38, 7 }, { 38, 7 }, { 38, 7 }, { 38, 7 }, - { 37, 8 }, { 37, 8 }, { 37, 8 }, { 37, 8 }, { 37, 8 }, { 36, 9 }, { 36, 9 }, - { 36, 9 }, { 36, 9 }, { 36, 9 }, { 35, 10 }, { 35, 10 }, { 35, 10 }, { 35, 10 }, - { 35, 10 }, { 34, 11 }, { 34, 11 }, { 34, 11 }, { 34, 11 }, { 34, 11 }, { 33, 12 }, - { 33, 12 }, { 33, 12 }, { 33, 12 }, { 33, 12 }, { 32, 13 }, { 32, 13 }, { 32, 13 }, - { 32, 13 }, { 32, 13 }, { 31, 14 }, { 31, 14 }, { 31, 14 }, { 31, 14 }, { 31, 14 }, - { 30, 15 }, { 30, 15 }, { 30, 15 }, { 30, 15 }, { 30, 15 }, { 29, 0 }, { 29, 0 }, - { 29, 0 }, { 29, 0 }, { 29, 0 }, { 28, 1 }, { 28, 1 }, { 28, 1 }, { 28, 1 }, - { 28, 1 }, { 27, 2 }, { 27, 2 }, { 27, 2 }, { 27, 2 }, { 27, 2 }, { 26, 3 }, - { 26, 3 }, { 26, 3 }, { 26, 3 }, { 26, 3 }, { 25, 3 }, { 25, 3 }, { 25, 3 }, - { 25, 3 }, { 25, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, - { 23, 2 }, { 23, 2 }, { 23, 2 }, { 23, 2 }, { 23, 2 }, { 22, 1 }, { 22, 1 }, - { 22, 1 }, { 22, 1 }, { 22, 1 }, { 22, 1 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, - { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 20, 0 }, { 20, 0 }, { 20, 0 }, - { 20, 0 }, { 20, 0 }, { 20, 0 }, { 20, 0 }, { 20, 0 }, { 20, 0 }, { 21, 0 }, - { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 22, 0 }, - { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 23, 0 }, { 23, 0 }, - { 23, 0 }, { 23, 0 }, { 23, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, - { 24, 0 }, { 25, 0 }, { 25, 0 }, { 25, 0 }, { 25, 0 }, { 25, 0 }, { 26, 0 }, - { 26, 0 }, { 26, 0 }, { 26, 0 }, { 26, 0 }, { 27, 0 }, { 27, 0 }, { 27, 0 }, - { 27, 0 }, { 27, 0 }, { 28, 0 }, { 28, 0 }, { 28, 0 }, { 28, 0 }, { 28, 0 }, - { 29, 0 }, { 29, 0 }, { 29, 0 }, { 29, 0 }, { 29, 0 }, { 30, 0 }, { 30, 0 }, - { 30, 0 }, { 30, 0 }, { 30, 0 }, { 31, 0 }, { 31, 0 }, { 31, 0 }, { 31, 0 }, - { 31, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 33, 0 }, - { 33, 0 }, { 33, 0 }, { 33, 0 }, { 33, 0 }, { 34, 0 }, { 34, 0 }, { 34, 0 }, - { 34, 0 }, { 34, 0 }, { 35, 0 }, { 35, 0 }, { 35, 0 }, { 35, 0 }, { 35, 0 }, - { 36, 0 }, { 36, 0 }, { 36, 0 }, { 36, 0 }, { 36, 0 }, { 37, 0 }, { 37, 0 }, - { 37, 0 }, { 37, 0 }, { 37, 0 }, { 38, 0 }, { 38, 0 }, { 38, 0 }, { 38, 0 }, - { 38, 0 }, { 39, 0 }, { 39, 0 }, { 39, 0 }, { 39, 0 }, { 39, 0 }, { 40, 0 }, - { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, - { 41, 0 }, { 41, 0 }, { 42, 0 }, { 42, 0 }, { 42, 0 }, { 42, 0 }, { 42, 0 }, - { 43, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, { 44, 0 }, { 44, 0 }, - { 44, 0 }, { 44, 0 }, { 44, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, - { 45, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 47, 0 }, - { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, - { 0xFF }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, + { 1, 0 }, { 1, 0 }, { 1, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, + { 2, 0 }, { 2, 0 }, { 2, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, + { 3, 0 }, { 3, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, + { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 6, 0 }, { 6, 0 }, + { 6, 0 }, { 6, 0 }, { 6, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, + { 7, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 9, 0 }, + { 9, 0 }, { 9, 0 }, { 9, 0 }, { 9, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, + { 10, 0 }, { 10, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, + { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 13, 0 }, { 13, 0 }, + { 13, 0 }, { 13, 0 }, { 13, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, + { 14, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 16, 0 }, + { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, + { 17, 0 }, { 17, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, + { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 20, 0 }, { 20, 0 }, + { 20, 0 }, { 20, 0 }, { 20, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, + { 21, 0 }, { 21, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, + { 22, 0 }, { 22, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, + { 23, 0 }, { 23, 0 }, { 23, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, + { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 23, 1 }, + { 23, 1 }, { 23, 1 }, { 23, 1 }, { 23, 1 }, { 23, 1 }, { 23, 1 }, { 23, 1 }, + { 22, 2 }, { 22, 2 }, { 22, 2 }, { 22, 2 }, { 22, 2 }, { 22, 2 }, { 22, 2 }, + { 21, 3 }, { 21, 3 }, { 21, 3 }, { 21, 3 }, { 21, 3 }, { 21, 3 }, { 20, 4 }, + { 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 19, 5 }, { 19, 5 }, { 19, 5 }, + { 19, 5 }, { 19, 5 }, { 18, 6 }, { 18, 6 }, { 18, 6 }, { 18, 6 }, { 18, 6 }, + { 17, 7 }, { 17, 7 }, { 17, 7 }, { 17, 7 }, { 17, 7 }, { 16, 8 }, { 16, 8 }, + { 16, 8 }, { 16, 8 }, { 16, 8 }, { 15, 9 }, { 15, 9 }, { 15, 9 }, { 15, 9 }, + { 15, 9 }, { 14, 10 }, { 14, 10 }, { 14, 10 }, { 14, 10 }, { 14, 10 }, { 13, 11 }, + { 13, 11 }, { 13, 11 }, { 13, 11 }, { 13, 11 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, + { 12, 12 }, { 12, 12 }, { 11, 13 }, { 11, 13 }, { 11, 13 }, { 11, 13 }, { 11, 13 }, + { 10, 14 }, { 10, 14 }, { 10, 14 }, { 10, 14 }, { 10, 14 }, { 9, 15 }, { 9, 15 }, + { 9, 15 }, { 9, 15 }, { 9, 15 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, + { 8, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 6, 0 }, + { 6, 0 }, { 6, 0 }, { 6, 0 }, { 6, 0 }, { 5, 15 }, { 5, 15 }, { 5, 15 }, + { 5, 15 }, { 5, 15 }, { 4, 14 }, { 4, 14 }, { 4, 14 }, { 4, 14 }, { 4, 14 }, + { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 2, 12 }, { 2, 12 }, + { 2, 12 }, { 2, 12 }, { 2, 12 }, { 1, 12 }, { 1, 12 }, { 1, 12 }, { 1, 12 }, + { 1, 12 }, { 0, 13 }, { 0, 13 }, { 0, 13 }, { 0, 13 }, { 0, 13 }, { 47, 14 }, + { 47, 14 }, { 47, 14 }, { 47, 14 }, { 47, 14 }, { 46, 15 }, { 46, 15 }, { 46, 15 }, + { 46, 15 }, { 46, 15 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, + { 44, 1 }, { 44, 1 }, { 44, 1 }, { 44, 1 }, { 44, 1 }, { 43, 2 }, { 43, 2 }, + { 43, 2 }, { 43, 2 }, { 43, 2 }, { 42, 3 }, { 42, 3 }, { 42, 3 }, { 42, 3 }, + { 42, 3 }, { 41, 4 }, { 41, 4 }, { 41, 4 }, { 41, 4 }, { 41, 4 }, { 40, 5 }, + { 40, 5 }, { 40, 5 }, { 40, 5 }, { 40, 5 }, { 39, 6 }, { 39, 6 }, { 39, 6 }, + { 39, 6 }, { 39, 6 }, { 38, 7 }, { 38, 7 }, { 38, 7 }, { 38, 7 }, { 38, 7 }, + { 37, 8 }, { 37, 8 }, { 37, 8 }, { 37, 8 }, { 37, 8 }, { 36, 9 }, { 36, 9 }, + { 36, 9 }, { 36, 9 }, { 36, 9 }, { 35, 10 }, { 35, 10 }, { 35, 10 }, { 35, 10 }, + { 35, 10 }, { 34, 11 }, { 34, 11 }, { 34, 11 }, { 34, 11 }, { 34, 11 }, { 33, 12 }, + { 33, 12 }, { 33, 12 }, { 33, 12 }, { 33, 12 }, { 32, 13 }, { 32, 13 }, { 32, 13 }, + { 32, 13 }, { 32, 13 }, { 31, 14 }, { 31, 14 }, { 31, 14 }, { 31, 14 }, { 31, 14 }, + { 30, 15 }, { 30, 15 }, { 30, 15 }, { 30, 15 }, { 30, 15 }, { 29, 0 }, { 29, 0 }, + { 29, 0 }, { 29, 0 }, { 29, 0 }, { 28, 1 }, { 28, 1 }, { 28, 1 }, { 28, 1 }, + { 28, 1 }, { 27, 2 }, { 27, 2 }, { 27, 2 }, { 27, 2 }, { 27, 2 }, { 26, 3 }, + { 26, 3 }, { 26, 3 }, { 26, 3 }, { 26, 3 }, { 25, 3 }, { 25, 3 }, { 25, 3 }, + { 25, 3 }, { 25, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, + { 23, 2 }, { 23, 2 }, { 23, 2 }, { 23, 2 }, { 23, 2 }, { 22, 1 }, { 22, 1 }, + { 22, 1 }, { 22, 1 }, { 22, 1 }, { 22, 1 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, + { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 20, 0 }, { 20, 0 }, { 20, 0 }, + { 20, 0 }, { 20, 0 }, { 20, 0 }, { 20, 0 }, { 20, 0 }, { 20, 0 }, { 21, 0 }, + { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 22, 0 }, + { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 23, 0 }, { 23, 0 }, + { 23, 0 }, { 23, 0 }, { 23, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, + { 24, 0 }, { 25, 0 }, { 25, 0 }, { 25, 0 }, { 25, 0 }, { 25, 0 }, { 26, 0 }, + { 26, 0 }, { 26, 0 }, { 26, 0 }, { 26, 0 }, { 27, 0 }, { 27, 0 }, { 27, 0 }, + { 27, 0 }, { 27, 0 }, { 28, 0 }, { 28, 0 }, { 28, 0 }, { 28, 0 }, { 28, 0 }, + { 29, 0 }, { 29, 0 }, { 29, 0 }, { 29, 0 }, { 29, 0 }, { 30, 0 }, { 30, 0 }, + { 30, 0 }, { 30, 0 }, { 30, 0 }, { 31, 0 }, { 31, 0 }, { 31, 0 }, { 31, 0 }, + { 31, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 33, 0 }, + { 33, 0 }, { 33, 0 }, { 33, 0 }, { 33, 0 }, { 34, 0 }, { 34, 0 }, { 34, 0 }, + { 34, 0 }, { 34, 0 }, { 35, 0 }, { 35, 0 }, { 35, 0 }, { 35, 0 }, { 35, 0 }, + { 36, 0 }, { 36, 0 }, { 36, 0 }, { 36, 0 }, { 36, 0 }, { 37, 0 }, { 37, 0 }, + { 37, 0 }, { 37, 0 }, { 37, 0 }, { 38, 0 }, { 38, 0 }, { 38, 0 }, { 38, 0 }, + { 38, 0 }, { 39, 0 }, { 39, 0 }, { 39, 0 }, { 39, 0 }, { 39, 0 }, { 40, 0 }, + { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, + { 41, 0 }, { 41, 0 }, { 42, 0 }, { 42, 0 }, { 42, 0 }, { 42, 0 }, { 42, 0 }, + { 43, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, { 44, 0 }, { 44, 0 }, + { 44, 0 }, { 44, 0 }, { 44, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, + { 45, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 47, 0 }, + { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, + { 0xFF }, }; /** rct2: 0x009A1751 */ static const top_spin_time_to_sprite_map TopSpinTimeToSpriteMap_1[] = { - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, - { 1, 0 }, { 1, 0 }, { 1, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, - { 2, 0 }, { 2, 0 }, { 2, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, - { 3, 0 }, { 3, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, - { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 6, 0 }, { 6, 0 }, - { 6, 0 }, { 6, 0 }, { 6, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, - { 7, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 9, 0 }, - { 9, 0 }, { 9, 0 }, { 9, 0 }, { 9, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, - { 10, 0 }, { 10, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, - { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 13, 0 }, { 13, 0 }, - { 13, 0 }, { 13, 0 }, { 13, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, - { 14, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 16, 0 }, - { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, - { 17, 0 }, { 17, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, - { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 20, 0 }, { 20, 0 }, - { 20, 0 }, { 20, 0 }, { 20, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, - { 21, 0 }, { 21, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, - { 22, 0 }, { 22, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, - { 23, 0 }, { 23, 0 }, { 23, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, - { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 1 }, - { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 2 }, - { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 3 }, { 24, 3 }, - { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 4 }, { 24, 4 }, { 24, 4 }, { 24, 4 }, - { 24, 4 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 6 }, - { 24, 6 }, { 24, 6 }, { 24, 6 }, { 24, 6 }, { 24, 7 }, { 24, 7 }, { 24, 7 }, - { 24, 7 }, { 24, 7 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, - { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 10 }, { 24, 10 }, - { 24, 10 }, { 24, 10 }, { 24, 10 }, { 24, 11 }, { 24, 11 }, { 24, 11 }, { 24, 11 }, - { 24, 11 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 13 }, - { 24, 13 }, { 24, 13 }, { 24, 13 }, { 24, 13 }, { 24, 14 }, { 24, 14 }, { 24, 14 }, - { 24, 14 }, { 24, 14 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, - { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 1 }, { 24, 1 }, - { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, - { 24, 2 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 23, 4 }, - { 23, 4 }, { 23, 4 }, { 23, 4 }, { 23, 4 }, { 22, 4 }, { 22, 4 }, { 22, 4 }, - { 22, 4 }, { 22, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, - { 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 19, 4 }, { 19, 4 }, - { 19, 4 }, { 19, 4 }, { 19, 4 }, { 18, 4 }, { 18, 4 }, { 18, 4 }, { 18, 4 }, - { 18, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 16, 4 }, - { 16, 4 }, { 16, 4 }, { 16, 4 }, { 16, 4 }, { 15, 4 }, { 15, 4 }, { 15, 4 }, - { 15, 4 }, { 15, 4 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, - { 13, 6 }, { 13, 6 }, { 13, 6 }, { 13, 6 }, { 13, 6 }, { 12, 7 }, { 12, 7 }, - { 12, 7 }, { 12, 7 }, { 12, 7 }, { 12, 8 }, { 12, 8 }, { 12, 8 }, { 12, 8 }, - { 12, 8 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 10 }, - { 12, 10 }, { 12, 10 }, { 12, 10 }, { 12, 10 }, { 12, 11 }, { 12, 11 }, { 12, 11 }, - { 12, 11 }, { 12, 11 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, - { 13, 12 }, { 13, 12 }, { 13, 12 }, { 13, 12 }, { 13, 12 }, { 14, 12 }, { 14, 12 }, - { 14, 12 }, { 14, 12 }, { 14, 12 }, { 15, 12 }, { 15, 12 }, { 15, 12 }, { 15, 12 }, - { 15, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 17, 12 }, - { 17, 12 }, { 17, 12 }, { 17, 12 }, { 17, 12 }, { 18, 12 }, { 18, 12 }, { 18, 12 }, - { 18, 12 }, { 18, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, - { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 21, 13 }, { 21, 13 }, - { 21, 13 }, { 21, 13 }, { 21, 13 }, { 22, 14 }, { 22, 14 }, { 22, 14 }, { 22, 14 }, - { 22, 14 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 24, 0 }, - { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 25, 1 }, { 25, 1 }, { 25, 1 }, - { 25, 1 }, { 25, 1 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, - { 27, 3 }, { 27, 3 }, { 27, 3 }, { 27, 3 }, { 27, 3 }, { 28, 4 }, { 28, 4 }, - { 28, 4 }, { 28, 4 }, { 28, 4 }, { 29, 5 }, { 29, 5 }, { 29, 5 }, { 29, 5 }, - { 29, 5 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 31, 7 }, - { 31, 7 }, { 31, 7 }, { 31, 7 }, { 31, 7 }, { 32, 8 }, { 32, 8 }, { 32, 8 }, - { 32, 8 }, { 32, 8 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, - { 34, 10 }, { 34, 10 }, { 34, 10 }, { 34, 10 }, { 34, 10 }, { 35, 11 }, { 35, 11 }, - { 35, 11 }, { 35, 11 }, { 35, 11 }, { 36, 12 }, { 36, 12 }, { 36, 12 }, { 36, 12 }, - { 36, 12 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 38, 14 }, - { 38, 14 }, { 38, 14 }, { 38, 14 }, { 38, 14 }, { 39, 15 }, { 39, 15 }, { 39, 15 }, - { 39, 15 }, { 39, 15 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, - { 41, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, { 42, 0 }, { 42, 0 }, - { 42, 0 }, { 42, 0 }, { 42, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, - { 43, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 45, 0 }, - { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, - { 46, 0 }, { 46, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 1, 15 }, { 1, 15 }, - { 1, 15 }, { 1, 15 }, { 1, 15 }, { 2, 14 }, { 2, 14 }, { 2, 14 }, { 2, 14 }, - { 2, 14 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 4, 12 }, - { 4, 12 }, { 4, 12 }, { 4, 12 }, { 4, 12 }, { 5, 11 }, { 5, 11 }, { 5, 11 }, - { 5, 11 }, { 5, 11 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, - { 7, 9 }, { 7, 9 }, { 7, 9 }, { 7, 9 }, { 7, 9 }, { 8, 8 }, { 8, 8 }, - { 8, 8 }, { 8, 8 }, { 8, 8 }, { 9, 7 }, { 9, 7 }, { 9, 7 }, { 9, 7 }, - { 9, 7 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 11, 5 }, - { 11, 5 }, { 11, 5 }, { 11, 5 }, { 11, 5 }, { 12, 4 }, { 12, 4 }, { 12, 4 }, - { 12, 4 }, { 12, 4 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, - { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 15, 1 }, { 15, 1 }, - { 15, 1 }, { 15, 1 }, { 15, 1 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, - { 16, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, - { 17, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, - { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, - { 17, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, - { 16, 0 }, { 16, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, - { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 13, 0 }, { 13, 0 }, - { 13, 0 }, { 13, 0 }, { 13, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, - { 12, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 10, 0 }, - { 10, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, { 9, 0 }, { 9, 0 }, { 9, 0 }, - { 9, 0 }, { 9, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, - { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 6, 0 }, { 6, 0 }, - { 6, 0 }, { 6, 0 }, { 6, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, - { 5, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 3, 0 }, - { 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, - { 2, 0 }, { 2, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0xFF }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, + { 1, 0 }, { 1, 0 }, { 1, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, + { 2, 0 }, { 2, 0 }, { 2, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, + { 3, 0 }, { 3, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, + { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 6, 0 }, { 6, 0 }, + { 6, 0 }, { 6, 0 }, { 6, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, + { 7, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 9, 0 }, + { 9, 0 }, { 9, 0 }, { 9, 0 }, { 9, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, + { 10, 0 }, { 10, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, + { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 13, 0 }, { 13, 0 }, + { 13, 0 }, { 13, 0 }, { 13, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, + { 14, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 16, 0 }, + { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, + { 17, 0 }, { 17, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, + { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 20, 0 }, { 20, 0 }, + { 20, 0 }, { 20, 0 }, { 20, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, + { 21, 0 }, { 21, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, + { 22, 0 }, { 22, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, + { 23, 0 }, { 23, 0 }, { 23, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, + { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 1 }, + { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 2 }, + { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 3 }, { 24, 3 }, + { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 4 }, { 24, 4 }, { 24, 4 }, { 24, 4 }, + { 24, 4 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 6 }, + { 24, 6 }, { 24, 6 }, { 24, 6 }, { 24, 6 }, { 24, 7 }, { 24, 7 }, { 24, 7 }, + { 24, 7 }, { 24, 7 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, + { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 10 }, { 24, 10 }, + { 24, 10 }, { 24, 10 }, { 24, 10 }, { 24, 11 }, { 24, 11 }, { 24, 11 }, { 24, 11 }, + { 24, 11 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 13 }, + { 24, 13 }, { 24, 13 }, { 24, 13 }, { 24, 13 }, { 24, 14 }, { 24, 14 }, { 24, 14 }, + { 24, 14 }, { 24, 14 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, + { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 1 }, { 24, 1 }, + { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, + { 24, 2 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 23, 4 }, + { 23, 4 }, { 23, 4 }, { 23, 4 }, { 23, 4 }, { 22, 4 }, { 22, 4 }, { 22, 4 }, + { 22, 4 }, { 22, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, + { 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 19, 4 }, { 19, 4 }, + { 19, 4 }, { 19, 4 }, { 19, 4 }, { 18, 4 }, { 18, 4 }, { 18, 4 }, { 18, 4 }, + { 18, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 16, 4 }, + { 16, 4 }, { 16, 4 }, { 16, 4 }, { 16, 4 }, { 15, 4 }, { 15, 4 }, { 15, 4 }, + { 15, 4 }, { 15, 4 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, + { 13, 6 }, { 13, 6 }, { 13, 6 }, { 13, 6 }, { 13, 6 }, { 12, 7 }, { 12, 7 }, + { 12, 7 }, { 12, 7 }, { 12, 7 }, { 12, 8 }, { 12, 8 }, { 12, 8 }, { 12, 8 }, + { 12, 8 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 10 }, + { 12, 10 }, { 12, 10 }, { 12, 10 }, { 12, 10 }, { 12, 11 }, { 12, 11 }, { 12, 11 }, + { 12, 11 }, { 12, 11 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, + { 13, 12 }, { 13, 12 }, { 13, 12 }, { 13, 12 }, { 13, 12 }, { 14, 12 }, { 14, 12 }, + { 14, 12 }, { 14, 12 }, { 14, 12 }, { 15, 12 }, { 15, 12 }, { 15, 12 }, { 15, 12 }, + { 15, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 17, 12 }, + { 17, 12 }, { 17, 12 }, { 17, 12 }, { 17, 12 }, { 18, 12 }, { 18, 12 }, { 18, 12 }, + { 18, 12 }, { 18, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, + { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 21, 13 }, { 21, 13 }, + { 21, 13 }, { 21, 13 }, { 21, 13 }, { 22, 14 }, { 22, 14 }, { 22, 14 }, { 22, 14 }, + { 22, 14 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 24, 0 }, + { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 25, 1 }, { 25, 1 }, { 25, 1 }, + { 25, 1 }, { 25, 1 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, + { 27, 3 }, { 27, 3 }, { 27, 3 }, { 27, 3 }, { 27, 3 }, { 28, 4 }, { 28, 4 }, + { 28, 4 }, { 28, 4 }, { 28, 4 }, { 29, 5 }, { 29, 5 }, { 29, 5 }, { 29, 5 }, + { 29, 5 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 31, 7 }, + { 31, 7 }, { 31, 7 }, { 31, 7 }, { 31, 7 }, { 32, 8 }, { 32, 8 }, { 32, 8 }, + { 32, 8 }, { 32, 8 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, + { 34, 10 }, { 34, 10 }, { 34, 10 }, { 34, 10 }, { 34, 10 }, { 35, 11 }, { 35, 11 }, + { 35, 11 }, { 35, 11 }, { 35, 11 }, { 36, 12 }, { 36, 12 }, { 36, 12 }, { 36, 12 }, + { 36, 12 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 38, 14 }, + { 38, 14 }, { 38, 14 }, { 38, 14 }, { 38, 14 }, { 39, 15 }, { 39, 15 }, { 39, 15 }, + { 39, 15 }, { 39, 15 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, + { 41, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, { 42, 0 }, { 42, 0 }, + { 42, 0 }, { 42, 0 }, { 42, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, + { 43, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 45, 0 }, + { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, + { 46, 0 }, { 46, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 1, 15 }, { 1, 15 }, + { 1, 15 }, { 1, 15 }, { 1, 15 }, { 2, 14 }, { 2, 14 }, { 2, 14 }, { 2, 14 }, + { 2, 14 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 4, 12 }, + { 4, 12 }, { 4, 12 }, { 4, 12 }, { 4, 12 }, { 5, 11 }, { 5, 11 }, { 5, 11 }, + { 5, 11 }, { 5, 11 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, + { 7, 9 }, { 7, 9 }, { 7, 9 }, { 7, 9 }, { 7, 9 }, { 8, 8 }, { 8, 8 }, + { 8, 8 }, { 8, 8 }, { 8, 8 }, { 9, 7 }, { 9, 7 }, { 9, 7 }, { 9, 7 }, + { 9, 7 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 11, 5 }, + { 11, 5 }, { 11, 5 }, { 11, 5 }, { 11, 5 }, { 12, 4 }, { 12, 4 }, { 12, 4 }, + { 12, 4 }, { 12, 4 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, + { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 15, 1 }, { 15, 1 }, + { 15, 1 }, { 15, 1 }, { 15, 1 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, + { 16, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, + { 17, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, + { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, + { 17, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, + { 16, 0 }, { 16, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, + { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 13, 0 }, { 13, 0 }, + { 13, 0 }, { 13, 0 }, { 13, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, + { 12, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 10, 0 }, + { 10, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, { 9, 0 }, { 9, 0 }, { 9, 0 }, + { 9, 0 }, { 9, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, + { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 6, 0 }, { 6, 0 }, + { 6, 0 }, { 6, 0 }, { 6, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, + { 5, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 3, 0 }, + { 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, + { 2, 0 }, { 2, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0xFF }, }; /** rct2: 0x009A1CC6 */ static const top_spin_time_to_sprite_map TopSpinTimeToSpriteMap_2[] = { - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, - { 1, 0 }, { 1, 0 }, { 1, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, - { 2, 0 }, { 2, 0 }, { 2, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, - { 3, 0 }, { 3, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, - { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 6, 0 }, { 6, 0 }, - { 6, 0 }, { 6, 0 }, { 6, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, - { 7, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 9, 0 }, - { 9, 0 }, { 9, 0 }, { 9, 0 }, { 9, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, - { 10, 0 }, { 10, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, - { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 13, 0 }, { 13, 0 }, - { 13, 0 }, { 13, 0 }, { 13, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, - { 14, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 16, 0 }, - { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, - { 17, 0 }, { 17, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, - { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 20, 0 }, { 20, 0 }, - { 20, 0 }, { 20, 0 }, { 20, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, - { 21, 0 }, { 21, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, - { 22, 0 }, { 22, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, - { 23, 0 }, { 23, 0 }, { 23, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, - { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 1 }, - { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 2 }, - { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 3 }, { 24, 3 }, - { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 4 }, { 24, 4 }, { 24, 4 }, { 24, 4 }, - { 24, 4 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 6 }, - { 24, 6 }, { 24, 6 }, { 24, 6 }, { 24, 6 }, { 24, 7 }, { 24, 7 }, { 24, 7 }, - { 24, 7 }, { 24, 7 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, - { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 10 }, { 24, 10 }, - { 24, 10 }, { 24, 10 }, { 24, 10 }, { 24, 11 }, { 24, 11 }, { 24, 11 }, { 24, 11 }, - { 24, 11 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 13 }, - { 24, 13 }, { 24, 13 }, { 24, 13 }, { 24, 13 }, { 24, 14 }, { 24, 14 }, { 24, 14 }, - { 24, 14 }, { 24, 14 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, - { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 1 }, { 24, 1 }, - { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, - { 24, 2 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 23, 4 }, - { 23, 4 }, { 23, 4 }, { 23, 4 }, { 23, 4 }, { 22, 4 }, { 22, 4 }, { 22, 4 }, - { 22, 4 }, { 22, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, - { 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 19, 4 }, { 19, 4 }, - { 19, 4 }, { 19, 4 }, { 19, 4 }, { 18, 4 }, { 18, 4 }, { 18, 4 }, { 18, 4 }, - { 18, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 16, 4 }, - { 16, 4 }, { 16, 4 }, { 16, 4 }, { 16, 4 }, { 15, 4 }, { 15, 4 }, { 15, 4 }, - { 15, 4 }, { 15, 4 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, - { 13, 6 }, { 13, 6 }, { 13, 6 }, { 13, 6 }, { 13, 6 }, { 12, 7 }, { 12, 7 }, - { 12, 7 }, { 12, 7 }, { 12, 7 }, { 12, 8 }, { 12, 8 }, { 12, 8 }, { 12, 8 }, - { 12, 8 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 10 }, - { 12, 10 }, { 12, 10 }, { 12, 10 }, { 12, 10 }, { 12, 11 }, { 12, 11 }, { 12, 11 }, - { 12, 11 }, { 12, 11 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, - { 13, 12 }, { 13, 12 }, { 13, 12 }, { 13, 12 }, { 13, 12 }, { 14, 12 }, { 14, 12 }, - { 14, 12 }, { 14, 12 }, { 14, 12 }, { 15, 12 }, { 15, 12 }, { 15, 12 }, { 15, 12 }, - { 15, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 17, 12 }, - { 17, 12 }, { 17, 12 }, { 17, 12 }, { 17, 12 }, { 18, 12 }, { 18, 12 }, { 18, 12 }, - { 18, 12 }, { 18, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, - { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 21, 13 }, { 21, 13 }, - { 21, 13 }, { 21, 13 }, { 21, 13 }, { 22, 14 }, { 22, 14 }, { 22, 14 }, { 22, 14 }, - { 22, 14 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 24, 0 }, - { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 25, 1 }, { 25, 1 }, { 25, 1 }, - { 25, 1 }, { 25, 1 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, - { 27, 3 }, { 27, 3 }, { 27, 3 }, { 27, 3 }, { 27, 3 }, { 28, 4 }, { 28, 4 }, - { 28, 4 }, { 28, 4 }, { 28, 4 }, { 29, 5 }, { 29, 5 }, { 29, 5 }, { 29, 5 }, - { 29, 5 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 31, 7 }, - { 31, 7 }, { 31, 7 }, { 31, 7 }, { 31, 7 }, { 32, 8 }, { 32, 8 }, { 32, 8 }, - { 32, 8 }, { 32, 8 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, - { 34, 10 }, { 34, 10 }, { 34, 10 }, { 34, 10 }, { 34, 10 }, { 35, 11 }, { 35, 11 }, - { 35, 11 }, { 35, 11 }, { 35, 11 }, { 36, 12 }, { 36, 12 }, { 36, 12 }, { 36, 12 }, - { 36, 12 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 38, 14 }, - { 38, 14 }, { 38, 14 }, { 38, 14 }, { 38, 14 }, { 39, 15 }, { 39, 15 }, { 39, 15 }, - { 39, 15 }, { 39, 15 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, - { 41, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, { 42, 0 }, { 42, 0 }, - { 42, 0 }, { 42, 0 }, { 42, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, - { 43, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 45, 0 }, - { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, - { 46, 0 }, { 46, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 1, 15 }, { 1, 15 }, - { 1, 15 }, { 1, 15 }, { 1, 15 }, { 2, 14 }, { 2, 14 }, { 2, 14 }, { 2, 14 }, - { 2, 14 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 4, 12 }, - { 4, 12 }, { 4, 12 }, { 4, 12 }, { 4, 12 }, { 5, 11 }, { 5, 11 }, { 5, 11 }, - { 5, 11 }, { 5, 11 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, - { 7, 9 }, { 7, 9 }, { 7, 9 }, { 7, 9 }, { 7, 9 }, { 8, 8 }, { 8, 8 }, - { 8, 8 }, { 8, 8 }, { 8, 8 }, { 9, 7 }, { 9, 7 }, { 9, 7 }, { 9, 7 }, - { 9, 7 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 11, 5 }, - { 11, 5 }, { 11, 5 }, { 11, 5 }, { 11, 5 }, { 12, 4 }, { 12, 4 }, { 12, 4 }, - { 12, 4 }, { 12, 4 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, - { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 15, 1 }, { 15, 1 }, - { 15, 1 }, { 15, 1 }, { 15, 1 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, - { 16, 0 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 18, 14 }, - { 18, 14 }, { 18, 14 }, { 18, 14 }, { 18, 14 }, { 19, 13 }, { 19, 13 }, { 19, 13 }, - { 19, 13 }, { 19, 13 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, - { 21, 11 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, { 22, 10 }, { 22, 10 }, - { 22, 10 }, { 22, 10 }, { 22, 10 }, { 23, 9 }, { 23, 9 }, { 23, 9 }, { 23, 9 }, - { 23, 9 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 25, 7 }, - { 25, 7 }, { 25, 7 }, { 25, 7 }, { 25, 7 }, { 26, 6 }, { 26, 6 }, { 26, 6 }, - { 26, 6 }, { 26, 6 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, - { 28, 4 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, { 29, 3 }, { 29, 3 }, - { 29, 3 }, { 29, 3 }, { 29, 3 }, { 30, 2 }, { 30, 2 }, { 30, 2 }, { 30, 2 }, - { 30, 2 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 32, 0 }, - { 32, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 33, 15 }, { 33, 15 }, { 33, 15 }, - { 33, 15 }, { 33, 15 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, - { 35, 13 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, { 36, 12 }, { 36, 12 }, - { 36, 12 }, { 36, 12 }, { 36, 12 }, { 37, 11 }, { 37, 11 }, { 37, 11 }, { 37, 11 }, - { 37, 11 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 39, 9 }, - { 39, 9 }, { 39, 9 }, { 39, 9 }, { 39, 9 }, { 40, 8 }, { 40, 8 }, { 40, 8 }, - { 40, 8 }, { 40, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, - { 41, 8 }, { 41, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, - { 42, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, { 41, 8 }, { 41, 8 }, - { 41, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, { 40, 8 }, { 40, 8 }, - { 40, 8 }, { 40, 8 }, { 40, 8 }, { 39, 9 }, { 39, 9 }, { 39, 9 }, { 39, 9 }, - { 39, 9 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 37, 11 }, - { 37, 11 }, { 37, 11 }, { 37, 11 }, { 37, 11 }, { 36, 12 }, { 36, 12 }, { 36, 12 }, - { 36, 12 }, { 36, 12 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, - { 34, 14 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, { 33, 15 }, { 33, 15 }, - { 33, 15 }, { 33, 15 }, { 33, 15 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, - { 32, 0 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 30, 2 }, - { 30, 2 }, { 30, 2 }, { 30, 2 }, { 30, 2 }, { 29, 3 }, { 29, 3 }, { 29, 3 }, - { 29, 3 }, { 29, 3 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, - { 27, 5 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, { 26, 6 }, { 26, 6 }, - { 26, 6 }, { 26, 6 }, { 26, 6 }, { 25, 7 }, { 25, 7 }, { 25, 7 }, { 25, 7 }, - { 25, 7 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 23, 9 }, - { 23, 9 }, { 23, 9 }, { 23, 9 }, { 23, 9 }, { 22, 10 }, { 22, 10 }, { 22, 10 }, - { 22, 10 }, { 22, 10 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, - { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 19, 13 }, { 19, 13 }, - { 19, 13 }, { 19, 13 }, { 19, 13 }, { 18, 14 }, { 18, 14 }, { 18, 14 }, { 18, 14 }, - { 18, 14 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 16, 0 }, - { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 15, 1 }, { 15, 1 }, { 15, 1 }, - { 15, 1 }, { 15, 1 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, - { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 12, 2 }, { 12, 2 }, - { 12, 2 }, { 12, 2 }, { 12, 2 }, { 11, 1 }, { 11, 1 }, { 11, 1 }, { 11, 1 }, - { 11, 1 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, { 9, 15 }, - { 9, 15 }, { 9, 15 }, { 9, 15 }, { 9, 15 }, { 8, 14 }, { 8, 14 }, { 8, 14 }, - { 8, 14 }, { 8, 14 }, { 7, 13 }, { 7, 13 }, { 7, 13 }, { 7, 13 }, { 7, 13 }, - { 6, 14 }, { 6, 14 }, { 6, 14 }, { 6, 14 }, { 6, 14 }, { 5, 15 }, { 5, 15 }, - { 5, 15 }, { 5, 15 }, { 5, 15 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, - { 4, 0 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 2, 2 }, - { 2, 2 }, { 2, 2 }, { 2, 2 }, { 2, 2 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, - { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0xFF }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, + { 1, 0 }, { 1, 0 }, { 1, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, + { 2, 0 }, { 2, 0 }, { 2, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, + { 3, 0 }, { 3, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, + { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 6, 0 }, { 6, 0 }, + { 6, 0 }, { 6, 0 }, { 6, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, + { 7, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 9, 0 }, + { 9, 0 }, { 9, 0 }, { 9, 0 }, { 9, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, + { 10, 0 }, { 10, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, + { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 13, 0 }, { 13, 0 }, + { 13, 0 }, { 13, 0 }, { 13, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, + { 14, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 16, 0 }, + { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, + { 17, 0 }, { 17, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, + { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 20, 0 }, { 20, 0 }, + { 20, 0 }, { 20, 0 }, { 20, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, + { 21, 0 }, { 21, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, + { 22, 0 }, { 22, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, + { 23, 0 }, { 23, 0 }, { 23, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, + { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 1 }, + { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 2 }, + { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 3 }, { 24, 3 }, + { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 4 }, { 24, 4 }, { 24, 4 }, { 24, 4 }, + { 24, 4 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 6 }, + { 24, 6 }, { 24, 6 }, { 24, 6 }, { 24, 6 }, { 24, 7 }, { 24, 7 }, { 24, 7 }, + { 24, 7 }, { 24, 7 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, + { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 10 }, { 24, 10 }, + { 24, 10 }, { 24, 10 }, { 24, 10 }, { 24, 11 }, { 24, 11 }, { 24, 11 }, { 24, 11 }, + { 24, 11 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 13 }, + { 24, 13 }, { 24, 13 }, { 24, 13 }, { 24, 13 }, { 24, 14 }, { 24, 14 }, { 24, 14 }, + { 24, 14 }, { 24, 14 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, + { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 1 }, { 24, 1 }, + { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, + { 24, 2 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 23, 4 }, + { 23, 4 }, { 23, 4 }, { 23, 4 }, { 23, 4 }, { 22, 4 }, { 22, 4 }, { 22, 4 }, + { 22, 4 }, { 22, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, + { 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 19, 4 }, { 19, 4 }, + { 19, 4 }, { 19, 4 }, { 19, 4 }, { 18, 4 }, { 18, 4 }, { 18, 4 }, { 18, 4 }, + { 18, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 16, 4 }, + { 16, 4 }, { 16, 4 }, { 16, 4 }, { 16, 4 }, { 15, 4 }, { 15, 4 }, { 15, 4 }, + { 15, 4 }, { 15, 4 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, + { 13, 6 }, { 13, 6 }, { 13, 6 }, { 13, 6 }, { 13, 6 }, { 12, 7 }, { 12, 7 }, + { 12, 7 }, { 12, 7 }, { 12, 7 }, { 12, 8 }, { 12, 8 }, { 12, 8 }, { 12, 8 }, + { 12, 8 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 10 }, + { 12, 10 }, { 12, 10 }, { 12, 10 }, { 12, 10 }, { 12, 11 }, { 12, 11 }, { 12, 11 }, + { 12, 11 }, { 12, 11 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, + { 13, 12 }, { 13, 12 }, { 13, 12 }, { 13, 12 }, { 13, 12 }, { 14, 12 }, { 14, 12 }, + { 14, 12 }, { 14, 12 }, { 14, 12 }, { 15, 12 }, { 15, 12 }, { 15, 12 }, { 15, 12 }, + { 15, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 17, 12 }, + { 17, 12 }, { 17, 12 }, { 17, 12 }, { 17, 12 }, { 18, 12 }, { 18, 12 }, { 18, 12 }, + { 18, 12 }, { 18, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, + { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 21, 13 }, { 21, 13 }, + { 21, 13 }, { 21, 13 }, { 21, 13 }, { 22, 14 }, { 22, 14 }, { 22, 14 }, { 22, 14 }, + { 22, 14 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 24, 0 }, + { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 25, 1 }, { 25, 1 }, { 25, 1 }, + { 25, 1 }, { 25, 1 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, + { 27, 3 }, { 27, 3 }, { 27, 3 }, { 27, 3 }, { 27, 3 }, { 28, 4 }, { 28, 4 }, + { 28, 4 }, { 28, 4 }, { 28, 4 }, { 29, 5 }, { 29, 5 }, { 29, 5 }, { 29, 5 }, + { 29, 5 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 31, 7 }, + { 31, 7 }, { 31, 7 }, { 31, 7 }, { 31, 7 }, { 32, 8 }, { 32, 8 }, { 32, 8 }, + { 32, 8 }, { 32, 8 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, + { 34, 10 }, { 34, 10 }, { 34, 10 }, { 34, 10 }, { 34, 10 }, { 35, 11 }, { 35, 11 }, + { 35, 11 }, { 35, 11 }, { 35, 11 }, { 36, 12 }, { 36, 12 }, { 36, 12 }, { 36, 12 }, + { 36, 12 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 38, 14 }, + { 38, 14 }, { 38, 14 }, { 38, 14 }, { 38, 14 }, { 39, 15 }, { 39, 15 }, { 39, 15 }, + { 39, 15 }, { 39, 15 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, + { 41, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, { 42, 0 }, { 42, 0 }, + { 42, 0 }, { 42, 0 }, { 42, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, + { 43, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 45, 0 }, + { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, + { 46, 0 }, { 46, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 1, 15 }, { 1, 15 }, + { 1, 15 }, { 1, 15 }, { 1, 15 }, { 2, 14 }, { 2, 14 }, { 2, 14 }, { 2, 14 }, + { 2, 14 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 4, 12 }, + { 4, 12 }, { 4, 12 }, { 4, 12 }, { 4, 12 }, { 5, 11 }, { 5, 11 }, { 5, 11 }, + { 5, 11 }, { 5, 11 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, + { 7, 9 }, { 7, 9 }, { 7, 9 }, { 7, 9 }, { 7, 9 }, { 8, 8 }, { 8, 8 }, + { 8, 8 }, { 8, 8 }, { 8, 8 }, { 9, 7 }, { 9, 7 }, { 9, 7 }, { 9, 7 }, + { 9, 7 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 11, 5 }, + { 11, 5 }, { 11, 5 }, { 11, 5 }, { 11, 5 }, { 12, 4 }, { 12, 4 }, { 12, 4 }, + { 12, 4 }, { 12, 4 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, + { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 15, 1 }, { 15, 1 }, + { 15, 1 }, { 15, 1 }, { 15, 1 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, + { 16, 0 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 18, 14 }, + { 18, 14 }, { 18, 14 }, { 18, 14 }, { 18, 14 }, { 19, 13 }, { 19, 13 }, { 19, 13 }, + { 19, 13 }, { 19, 13 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, + { 21, 11 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, { 22, 10 }, { 22, 10 }, + { 22, 10 }, { 22, 10 }, { 22, 10 }, { 23, 9 }, { 23, 9 }, { 23, 9 }, { 23, 9 }, + { 23, 9 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 25, 7 }, + { 25, 7 }, { 25, 7 }, { 25, 7 }, { 25, 7 }, { 26, 6 }, { 26, 6 }, { 26, 6 }, + { 26, 6 }, { 26, 6 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, + { 28, 4 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, { 29, 3 }, { 29, 3 }, + { 29, 3 }, { 29, 3 }, { 29, 3 }, { 30, 2 }, { 30, 2 }, { 30, 2 }, { 30, 2 }, + { 30, 2 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 32, 0 }, + { 32, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 33, 15 }, { 33, 15 }, { 33, 15 }, + { 33, 15 }, { 33, 15 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, + { 35, 13 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, { 36, 12 }, { 36, 12 }, + { 36, 12 }, { 36, 12 }, { 36, 12 }, { 37, 11 }, { 37, 11 }, { 37, 11 }, { 37, 11 }, + { 37, 11 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 39, 9 }, + { 39, 9 }, { 39, 9 }, { 39, 9 }, { 39, 9 }, { 40, 8 }, { 40, 8 }, { 40, 8 }, + { 40, 8 }, { 40, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, + { 41, 8 }, { 41, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, + { 42, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, { 41, 8 }, { 41, 8 }, + { 41, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, { 40, 8 }, { 40, 8 }, + { 40, 8 }, { 40, 8 }, { 40, 8 }, { 39, 9 }, { 39, 9 }, { 39, 9 }, { 39, 9 }, + { 39, 9 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 37, 11 }, + { 37, 11 }, { 37, 11 }, { 37, 11 }, { 37, 11 }, { 36, 12 }, { 36, 12 }, { 36, 12 }, + { 36, 12 }, { 36, 12 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, + { 34, 14 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, { 33, 15 }, { 33, 15 }, + { 33, 15 }, { 33, 15 }, { 33, 15 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, + { 32, 0 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 30, 2 }, + { 30, 2 }, { 30, 2 }, { 30, 2 }, { 30, 2 }, { 29, 3 }, { 29, 3 }, { 29, 3 }, + { 29, 3 }, { 29, 3 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, + { 27, 5 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, { 26, 6 }, { 26, 6 }, + { 26, 6 }, { 26, 6 }, { 26, 6 }, { 25, 7 }, { 25, 7 }, { 25, 7 }, { 25, 7 }, + { 25, 7 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 23, 9 }, + { 23, 9 }, { 23, 9 }, { 23, 9 }, { 23, 9 }, { 22, 10 }, { 22, 10 }, { 22, 10 }, + { 22, 10 }, { 22, 10 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, + { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 19, 13 }, { 19, 13 }, + { 19, 13 }, { 19, 13 }, { 19, 13 }, { 18, 14 }, { 18, 14 }, { 18, 14 }, { 18, 14 }, + { 18, 14 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 16, 0 }, + { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 15, 1 }, { 15, 1 }, { 15, 1 }, + { 15, 1 }, { 15, 1 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, + { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 12, 2 }, { 12, 2 }, + { 12, 2 }, { 12, 2 }, { 12, 2 }, { 11, 1 }, { 11, 1 }, { 11, 1 }, { 11, 1 }, + { 11, 1 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, { 9, 15 }, + { 9, 15 }, { 9, 15 }, { 9, 15 }, { 9, 15 }, { 8, 14 }, { 8, 14 }, { 8, 14 }, + { 8, 14 }, { 8, 14 }, { 7, 13 }, { 7, 13 }, { 7, 13 }, { 7, 13 }, { 7, 13 }, + { 6, 14 }, { 6, 14 }, { 6, 14 }, { 6, 14 }, { 6, 14 }, { 5, 15 }, { 5, 15 }, + { 5, 15 }, { 5, 15 }, { 5, 15 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, + { 4, 0 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 2, 2 }, + { 2, 2 }, { 2, 2 }, { 2, 2 }, { 2, 2 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, + { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0xFF }, }; /** rct2: 0x009A12E0 */ const top_spin_time_to_sprite_map * TopSpinTimeToSpriteMaps[] = { - TopSpinTimeToSpriteMap_0, - TopSpinTimeToSpriteMap_1, - TopSpinTimeToSpriteMap_2, + TopSpinTimeToSpriteMap_0, + TopSpinTimeToSpriteMap_1, + TopSpinTimeToSpriteMap_2, }; /** rct2: 0x009A0434 */ const uint8 MotionSimulatorTimeToSpriteMap[] = { - 0, 0, 0, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, - 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, - 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 15, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, - 10, 10, 10, 10, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25, 24, 24, 24, - 24, 23, 23, 23, 23, 10, 10, 10, 10, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 30, 30, 30, 30, 29, 29, 29, 29, - 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, - 13, 13, 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 17, 17, 17, 18, 18, 18, 19, 19, 19, - 20, 20, 20, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 10, 10, 10, - 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 11, 11, 11, 10, 10, 10, 9, 9, 8, 8, 7, 7, 6, 6, 7, 7, 8, 8, 9, 9, 29, - 29, 30, 30, 31, 31, 30, 30, 29, 29, 10, 10, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, - 22, 22, 21, 21, 20, 20, 19, 19, 18, 18, 17, 17, 10, 10, 11, 11, 12, 12, 12, 12, 12, - 12, 12, 11, 11, 10, 10, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, - 26, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 27, 27, 27, 26, 26, 26, - 26, 25, 25, 25, 25, 24, 24, 24, 24, 23, 23, 23, 23, 10, 10, 10, 10, 29, 29, 29, 29, - 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 29, 29, 29, 29, - 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, - 16, 16, 16, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, 13, 12, 12, 12, 11, 11, 11, - 10, 10, 10, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 10, 10, 10, - 9, 9, 8, 8, 7, 7, 6, 6, 7, 7, 8, 8, 9, 9, 17, 17, 18, 18, 19, 19, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 18, 18, 17, 17, 10, 10, 23, 23, - 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, - 27, 26, 26, 25, 25, 24, 24, 23, 23, 10, 10, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, - 22, 22, 22, 21, 21, 20, 20, 19, 19, 18, 18, 17, 17, 10, 10, 11, 11, 12, 12, 13, 13, - 14, 14, 15, 15, 16, 16, 16, 15, 15, 14, 14, 13, 13, 12, 12, 11, 11, 10, 10, 29, 29, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 10, 10, - 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23, - 10, 10, 29, 29, 30, 30, 30, 30, 30, 30, 30, 29, 29, 10, 10, 23, 23, 24, 24, 24, 24, - 24, 24, 24, 23, 23, 10, 10, 29, 29, 30, 30, 30, 30, 30, 30, 30, 29, 29, 10, 10, 23, - 23, 24, 24, 24, 24, 24, 24, 24, 23, 23, 10, 10, 17, 17, 17, 17, 18, 18, 18, 18, 19, - 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 20, 20, 20, 20, 19, 19, 19, 19, - 18, 18, 18, 18, 17, 17, 17, 17, 10, 10, 10, 10, 17, 17, 18, 18, 19, 19, 20, 20, 21, - 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 20, - 20, 19, 19, 18, 18, 17, 17, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 14, 14, 13, 13, - 12, 12, 11, 11, 10, 10, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, - 26, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 27, 27, 27, 27, 26, 26, 26, 26, 25, 25, 25, 25, 24, 24, 24, 24, 23, 23, - 23, 23, 10, 10, 10, 10, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, 32, 32, 32, - 32, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 33, 33, 33, 33, 32, 32, 32, 32, 31, 31, 31, 31, 30, 30, 30, 30, 29, 29, - 29, 29, 10, 10, 10, 10, 9, 9, 8, 8, 7, 7, 6, 6, 7, 7, 8, 8, 9, 9, 9, - 9, 8, 8, 7, 7, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, - 7, 7, 8, 8, 9, 9, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, - 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 19, 19, - 19, 19, 19, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 10, 10, 10, 10, 10, 23, 23, 24, - 24, 25, 25, 26, 26, 27, 27, 28, 28, 27, 27, 26, 26, 25, 25, 24, 24, 23, 23, 10, 10, - 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33, 32, 32, 31, - 31, 30, 30, 29, 29, 10, 10, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, - 19, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 19, - 19, 19, 19, 19, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 10, 10, 10, 10, 10, 11, 11, - 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 15, 15, 14, 14, 13, 13, 12, 12, 11, 11, 10, 10, 9, 9, 8, 8, 7, - 7, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 7, 7, 8, 8, - 9, 9, 23, 23, 24, 24, 25, 25, 24, 24, 23, 23, 10, 10, 29, 29, 30, 30, 31, 31, 30, - 30, 29, 29, 10, 10, 23, 23, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 24, 24, 23, 23, 10, 10, 29, 29, 30, 30, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 29, 29, 10, 10, 23, 23, 24, 24, - 24, 24, 24, 24, 24, 23, 23, 10, 10, 29, 29, 30, 30, 30, 30, 30, 30, 30, 29, 29, 10, - 10, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, - 23, 10, 10, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33, 32, 32, 31, 31, 30, 30, 29, 29, 10, 10, - 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, - 18, 18, 18, 17, 17, 17, 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, - 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15, 15, 15, 14, 14, 14, 14, - 14, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 9, 9, 9, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4, - 4, 0, 0, 0, - 0xFF, + 0, 0, 0, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, + 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, + 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 15, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, + 10, 10, 10, 10, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25, 24, 24, 24, + 24, 23, 23, 23, 23, 10, 10, 10, 10, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 30, 30, 30, 30, 29, 29, 29, 29, + 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, + 13, 13, 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 17, 17, 17, 18, 18, 18, 19, 19, 19, + 20, 20, 20, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 10, 10, 10, + 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 11, 11, 11, 10, 10, 10, 9, 9, 8, 8, 7, 7, 6, 6, 7, 7, 8, 8, 9, 9, 29, + 29, 30, 30, 31, 31, 30, 30, 29, 29, 10, 10, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, + 22, 22, 21, 21, 20, 20, 19, 19, 18, 18, 17, 17, 10, 10, 11, 11, 12, 12, 12, 12, 12, + 12, 12, 11, 11, 10, 10, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, + 26, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 27, 27, 27, 26, 26, 26, + 26, 25, 25, 25, 25, 24, 24, 24, 24, 23, 23, 23, 23, 10, 10, 10, 10, 29, 29, 29, 29, + 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 29, 29, 29, 29, + 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, + 16, 16, 16, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, 13, 12, 12, 12, 11, 11, 11, + 10, 10, 10, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 10, 10, 10, + 9, 9, 8, 8, 7, 7, 6, 6, 7, 7, 8, 8, 9, 9, 17, 17, 18, 18, 19, 19, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 18, 18, 17, 17, 10, 10, 23, 23, + 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, + 27, 26, 26, 25, 25, 24, 24, 23, 23, 10, 10, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, + 22, 22, 22, 21, 21, 20, 20, 19, 19, 18, 18, 17, 17, 10, 10, 11, 11, 12, 12, 13, 13, + 14, 14, 15, 15, 16, 16, 16, 15, 15, 14, 14, 13, 13, 12, 12, 11, 11, 10, 10, 29, 29, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 10, 10, + 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23, + 10, 10, 29, 29, 30, 30, 30, 30, 30, 30, 30, 29, 29, 10, 10, 23, 23, 24, 24, 24, 24, + 24, 24, 24, 23, 23, 10, 10, 29, 29, 30, 30, 30, 30, 30, 30, 30, 29, 29, 10, 10, 23, + 23, 24, 24, 24, 24, 24, 24, 24, 23, 23, 10, 10, 17, 17, 17, 17, 18, 18, 18, 18, 19, + 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 20, 20, 20, 20, 19, 19, 19, 19, + 18, 18, 18, 18, 17, 17, 17, 17, 10, 10, 10, 10, 17, 17, 18, 18, 19, 19, 20, 20, 21, + 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 20, + 20, 19, 19, 18, 18, 17, 17, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 14, 14, 13, 13, + 12, 12, 11, 11, 10, 10, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, + 26, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 27, 27, 27, 27, 26, 26, 26, 26, 25, 25, 25, 25, 24, 24, 24, 24, 23, 23, + 23, 23, 10, 10, 10, 10, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, 32, 32, 32, + 32, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 33, 33, 33, 33, 32, 32, 32, 32, 31, 31, 31, 31, 30, 30, 30, 30, 29, 29, + 29, 29, 10, 10, 10, 10, 9, 9, 8, 8, 7, 7, 6, 6, 7, 7, 8, 8, 9, 9, 9, + 9, 8, 8, 7, 7, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, + 7, 7, 8, 8, 9, 9, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, + 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 19, 19, + 19, 19, 19, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 10, 10, 10, 10, 10, 23, 23, 24, + 24, 25, 25, 26, 26, 27, 27, 28, 28, 27, 27, 26, 26, 25, 25, 24, 24, 23, 23, 10, 10, + 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33, 32, 32, 31, + 31, 30, 30, 29, 29, 10, 10, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, + 19, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 19, + 19, 19, 19, 19, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 10, 10, 10, 10, 10, 11, 11, + 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 15, 15, 14, 14, 13, 13, 12, 12, 11, 11, 10, 10, 9, 9, 8, 8, 7, + 7, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 7, 7, 8, 8, + 9, 9, 23, 23, 24, 24, 25, 25, 24, 24, 23, 23, 10, 10, 29, 29, 30, 30, 31, 31, 30, + 30, 29, 29, 10, 10, 23, 23, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 24, 24, 23, 23, 10, 10, 29, 29, 30, 30, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 29, 29, 10, 10, 23, 23, 24, 24, + 24, 24, 24, 24, 24, 23, 23, 10, 10, 29, 29, 30, 30, 30, 30, 30, 30, 30, 29, 29, 10, + 10, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, + 23, 10, 10, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33, 32, 32, 31, 31, 30, 30, 29, 29, 10, 10, + 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, + 18, 18, 18, 17, 17, 17, 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, + 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15, 15, 15, 14, 14, 14, 14, + 14, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 9, 9, 9, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4, + 4, 0, 0, 0, + 0xFF, }; const sint32 MotionSimulatorTimeToSpriteMapCount = countof(MotionSimulatorTimeToSpriteMap); /** rct2: 0x009A2930 */ const sint32 dword_9A2930[] = { - 0, // 0000 - 8716, // 0001 - 8716, // 0010 - 12327, // 0011 - 6554, // 0100 - 10905, // 0101 - 10905, // 0110 - 13961, // 0111 - 0, // 1000 - 21790, // 1001 - 21790, // 1010 - 30817, // 1011 - 16385, // 1100 - 27262, // 1101 - 27262, // 1110 - 34902, // 1111 + 0, // 0000 + 8716, // 0001 + 8716, // 0010 + 12327, // 0011 + 6554, // 0100 + 10905, // 0101 + 10905, // 0110 + 13961, // 0111 + 0, // 1000 + 21790, // 1001 + 21790, // 1010 + 30817, // 1011 + 16385, // 1100 + 27262, // 1101 + 27262, // 1110 + 34902, // 1111 }; /** rct2: 0x009A2970 */ const sint32 dword_9A2970[] = { - 0, // 0 - -124548, // 1 - -243318, // 2 - -416016, // 3 - -546342, // 4 - 124548, // 5 - 243318, // 6 - 416016, // 7 - 546342, // 8 - -617604, // 9 - -642000, // 10 - -620172, // 11 - -555972, // 12 - -453894, // 13 - -321000, // 14 - -166278, // 15 - 0, // 16 - 617604, // 17 - 642000, // 18 - 620172, // 19 - 555972, // 20 - 453894, // 21 - 321000, // 22 - 166278, // 23 - -321000, // 24 - -555972, // 25 - -642000, // 26 - -555972, // 27 - -321000, // 28 - 321000, // 29 - 555972, // 30 - 642000, // 31 - 555972, // 32 - 321000, // 33 - -321000, // 34 - -555972, // 35 - -642000, // 36 - -555972, // 37 - -321000, // 38 - 321000, // 39 - 555972, // 40 - 642000, // 41 - 555972, // 42 - 321000, // 43 - -33384, // 44 - -55854, // 45 - 33384, // 46 - 55854, // 47 - -66768, // 48 - 66768, // 49 - -90522, // 50 - -179760, // 51 - -484068, // 52 - 90522, // 53 - 179760, // 54 - 484068, // 55 - 243318, // 56 - 416016, // 57 - 546342, // 58 - -110424, // 59 + 0, // 0 + -124548, // 1 + -243318, // 2 + -416016, // 3 + -546342, // 4 + 124548, // 5 + 243318, // 6 + 416016, // 7 + 546342, // 8 + -617604, // 9 + -642000, // 10 + -620172, // 11 + -555972, // 12 + -453894, // 13 + -321000, // 14 + -166278, // 15 + 0, // 16 + 617604, // 17 + 642000, // 18 + 620172, // 19 + 555972, // 20 + 453894, // 21 + 321000, // 22 + 166278, // 23 + -321000, // 24 + -555972, // 25 + -642000, // 26 + -555972, // 27 + -321000, // 28 + 321000, // 29 + 555972, // 30 + 642000, // 31 + 555972, // 32 + 321000, // 33 + -321000, // 34 + -555972, // 35 + -642000, // 36 + -555972, // 37 + -321000, // 38 + 321000, // 39 + 555972, // 40 + 642000, // 41 + 555972, // 42 + 321000, // 43 + -33384, // 44 + -55854, // 45 + 33384, // 46 + 55854, // 47 + -66768, // 48 + 66768, // 49 + -90522, // 50 + -179760, // 51 + -484068, // 52 + 90522, // 53 + 179760, // 54 + 484068, // 55 + 243318, // 56 + 416016, // 57 + 546342, // 58 + -110424, // 59 }; /** rct2: 0x009A3684 */ const sint32 word_9A3684[] = { - -0x4000, // 0 - -0x3000, // 1 - -0x2000, // 2 - -0x1000, // 3 - 0, // 4 - 0x1000, // 5 - 0x2000, // 6 - 0x3000, // 7 - 0x4000, // 8 - 0x4800, // 9 - 0x4800, // 10 - 0x4800, // 11 - 0x4800, // 12 - 0x4800, // 13 - 0x4800, // 14 - 0x4800, // 15 - 0x4000, // 16 - 0x3000, // 17 - 0x2000, // 18 - 0x1000, // 19 - 0, // 20 - -0x1000, // 21 - -0x2000, // 22 - -0x3000, // 23 - -0x4000, // 24 - -0x4800, // 25 - -0x4800, // 26 - -0x4800, // 27 - -0x4800, // 28 - -0x4800, // 29 - -0x4800, // 30 - -0x4800, // 31 + -0x4000, // 0 + -0x3000, // 1 + -0x2000, // 2 + -0x1000, // 3 + 0, // 4 + 0x1000, // 5 + 0x2000, // 6 + 0x3000, // 7 + 0x4000, // 8 + 0x4800, // 9 + 0x4800, // 10 + 0x4800, // 11 + 0x4800, // 12 + 0x4800, // 13 + 0x4800, // 14 + 0x4800, // 15 + 0x4000, // 16 + 0x3000, // 17 + 0x2000, // 18 + 0x1000, // 19 + 0, // 20 + -0x1000, // 21 + -0x2000, // 22 + -0x3000, // 23 + -0x4000, // 24 + -0x4800, // 25 + -0x4800, // 26 + -0x4800, // 27 + -0x4800, // 28 + -0x4800, // 29 + -0x4800, // 30 + -0x4800, // 31 }; diff --git a/src/openrct2/ride/vehicle_data.h b/src/openrct2/ride/vehicle_data.h index 486d2f4c29..9782803dff 100644 --- a/src/openrct2/ride/vehicle_data.h +++ b/src/openrct2/ride/vehicle_data.h @@ -24,8 +24,8 @@ extern const uint8 * Rotation2TimeToSpriteMaps[]; extern const uint8 * Rotation3TimeToSpriteMaps[]; typedef struct top_spin_time_to_sprite_map { - uint8 arm_rotation; - uint8 bank_rotation; + uint8 arm_rotation; + uint8 bank_rotation; } top_spin_time_to_sprite_map; extern const top_spin_time_to_sprite_map * TopSpinTimeToSpriteMaps[]; diff --git a/src/openrct2/ride/vehicle_paint.c b/src/openrct2/ride/vehicle_paint.c index 252bc88333..6ac96aeecc 100644 --- a/src/openrct2/ride/vehicle_paint.c +++ b/src/openrct2/ride/vehicle_paint.c @@ -26,2179 +26,2179 @@ // 0x0098E52C: const vehicle_boundbox VehicleBoundboxes[16][224] = { - { // 0x0099123C: - { -5, -2, -22, 10, 4, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, - { -2, -5, -22, 4, 10, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, - { -5, -2, -22, 10, 4, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, - { -2, -5, -22, 4, 10, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, - { -5, -2, -22, 10, 4, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, - { -2, -5, -22, 4, 10, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, - { -5, -2, -22, 10, 4, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, - { -2, -5, -22, 4, 10, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, - { -10, -6, -22, 16, 12, 14 }, { -8, -8, -22, 16, 16, 14 }, { -6, -11, -27, 3, 16, 19 }, { -8, -8, -22, 16, 16, 14 }, - { -11, -6, -27, 16, 5, 19 }, { -8, -8, -22, 16, 16, 14 }, { -6, -10, -22, 12, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, - { -10, -6, -22, 16, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, - { -3, -10, -33, 3, 16, 27 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, - { -13, -6, -33, 16, 5, 24 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, - { -6, -10, -22, 12, 16, 14 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, - { -10, -6, -33, 20, 12, 24 }, { -2, -3, -33, 3, 10, 29 }, { -13, -6, -33, 20, 5, 24 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, -43, 5, 12, 34 }, { -10, -6, -43, 5, 12, 34 }, { -10, -6, -43, 5, 12, 34 }, { -10, -6, -43, 5, 12, 34 }, - { -2, 4, -33, 3, 10, 29 }, { -2, 4, -33, 3, 10, 29 }, { -2, 4, -33, 3, 10, 29 }, { -2, 4, -33, 3, 10, 29 }, - { -13, -6, -33, 20, 5, 24 }, { -13, -6, -33, 20, 5, 24 }, { -13, -6, -33, 20, 5, 24 }, { -13, -6, -33, 20, 5, 24 }, - { -6, -15, -22, 12, 10, 14 }, { -6, -15, -22, 12, 10, 14 }, { -6, -15, -22, 12, 10, 14 }, { -6, -15, -22, 12, 10, 14 }, - { -10, -6, -33, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -33, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -22, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -22, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -38, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -28, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -8, -8, -22, 16, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, - { -8, -8, -22, 16, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, - { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, - { -6, -8, 11, 12, 16, 4 }, { -6, -8, -22, 12, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, { -8, -6, -22, 16, 12, 14 }, - { -8, -6, -22, 16, 12, 14 }, { -8, -6, -22, 16, 12, 14 }, { -8, -8, -22, 16, 16, 14 }, { -6, -8, -22, 12, 16, 14 }, - { -6, -8, -22, 12, 16, 14 }, { -6, -8, -22, 12, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, { -8, -6, -22, 16, 12, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, - { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - },{ // 0x0099027C: - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, - { -10, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -11, -33, 3, 16, 19 }, { -8, -8, -28, 16, 16, 14 }, - { -11, -6, -33, 16, 5, 19 }, { -8, -8, -28, 16, 16, 14 }, { -6, -10, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -10, -6, -28, 16, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -3, -10, -39, 3, 16, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -10, -6, -39, 16, 3, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -6, -10, -28, 12, 16, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -2, -3, -39, 3, 10, 29 }, { -3, -2, -39, 10, 3, 29 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, - { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, - { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, - { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, - { -10, -6, -39, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -39, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -28, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -28, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -44, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -34, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, - { -6, -8, 11, 12, 16, 4 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - },{ // 0x009907BC: - { -8, -6, -23, 16, 12, 14 }, { -8, -6, -23, 16, 12, 14 }, { -8, -8, -23, 16, 16, 14 }, { -6, -8, -23, 12, 16, 14 }, - { -6, -8, -23, 12, 16, 14 }, { -6, -8, -23, 12, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -6, -23, 16, 12, 14 }, - { -8, -6, -23, 16, 12, 14 }, { -8, -6, -23, 16, 12, 14 }, { -8, -8, -23, 16, 16, 14 }, { -6, -8, -23, 12, 16, 14 }, - { -6, -8, -23, 12, 16, 14 }, { -6, -8, -23, 12, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -6, -23, 16, 12, 14 }, - { -6, -6, -23, 12, 12, 14 }, { -9, -6, -23, 18, 12, 14 }, { -8, -8, -23, 16, 16, 14 }, { -6, -9, -23, 12, 18, 14 }, - { -6, -6, -23, 12, 12, 14 }, { -6, -9, -23, 12, 18, 14 }, { -8, -8, -23, 16, 16, 14 }, { -9, -6, -23, 18, 12, 14 }, - { -6, -6, -23, 12, 12, 14 }, { -9, -6, -23, 18, 12, 14 }, { -8, -8, -23, 16, 16, 14 }, { -6, -9, -23, 12, 18, 14 }, - { -6, -6, -23, 12, 12, 14 }, { -6, -9, -23, 12, 18, 14 }, { -8, -8, -23, 16, 16, 14 }, { -9, -6, -23, 18, 12, 14 }, - { -10, -6, -23, 16, 12, 14 }, { -8, -8, -23, 16, 16, 14 }, { -6, -11, -28, 3, 16, 19 }, { -8, -8, -23, 16, 16, 14 }, - { -11, -6, -28, 16, 5, 19 }, { -8, -8, -23, 16, 16, 14 }, { -6, -10, -23, 12, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, - { -10, -6, -23, 16, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, - { -3, -10, -34, 3, 16, 27 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, - { -13, -6, -34, 16, 5, 24 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, - { -6, -10, -23, 12, 16, 14 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, - { -10, -6, -34, 20, 12, 24 }, { -2, -3, -34, 3, 10, 29 }, { -13, -6, -34, 20, 5, 24 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -44, 5, 12, 34 }, { -10, -6, -44, 5, 12, 34 }, { -10, -6, -44, 5, 12, 34 }, { -10, -6, -44, 5, 12, 34 }, - { -2, 4, -34, 3, 10, 29 }, { -2, 4, -34, 3, 10, 29 }, { -2, 4, -34, 3, 10, 29 }, { -2, 4, -34, 3, 10, 29 }, - { -13, -6, -34, 20, 5, 24 }, { -13, -6, -34, 20, 5, 24 }, { -13, -6, -34, 20, 5, 24 }, { -13, -6, -34, 20, 5, 24 }, - { -6, -15, -23, 12, 10, 14 }, { -6, -15, -23, 12, 10, 14 }, { -6, -15, -23, 12, 10, 14 }, { -6, -15, -23, 12, 10, 14 }, - { -10, -6, -34, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -34, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -23, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -23, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -39, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -29, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -8, -8, -23, 16, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, - { -8, -8, -23, 16, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, - { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, - { -6, -8, 11, 12, 16, 4 }, { -6, -8, -23, 12, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -6, -23, 16, 12, 14 }, - { -8, -6, -23, 16, 12, 14 }, { -8, -6, -23, 16, 12, 14 }, { -8, -8, -23, 16, 16, 14 }, { -6, -8, -23, 12, 16, 14 }, - { -6, -8, -23, 12, 16, 14 }, { -6, -8, -23, 12, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -6, -23, 16, 12, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - },{ // 0x009921FC: - { -19, -6, -28, 38, 12, 14 }, { -11, -6, -28, 22, 12, 14 }, { -11, -11, -28, 22, 22, 14 }, { -6, -11, -28, 12, 22, 14 }, - { -6, -19, -28, 12, 38, 14 }, { -6, -11, -28, 12, 22, 14 }, { -11, -11, -28, 22, 22, 14 }, { -11, -6, -28, 22, 12, 14 }, - { -19, -6, -28, 38, 12, 14 }, { -11, -6, -28, 22, 12, 14 }, { -11, -11, -28, 22, 22, 14 }, { -6, -11, -28, 12, 22, 14 }, - { -6, -19, -28, 12, 38, 14 }, { -6, -11, -28, 12, 22, 14 }, { -11, -11, -28, 22, 22, 14 }, { -11, -6, -28, 22, 12, 14 }, - { -15, -6, -28, 18, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, - { -6, -6, -28, 12, 28, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, - { -6, -6, -28, 28, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, - { -6, -15, -28, 12, 18, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, - { -10, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -11, -33, 3, 16, 19 }, { -8, -8, -28, 16, 16, 14 }, - { -11, -6, -33, 16, 5, 19 }, { -8, -8, -28, 16, 16, 14 }, { -6, -10, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -10, -6, -28, 16, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -3, -10, -39, 3, 16, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -13, -6, -39, 16, 5, 24 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -6, -10, -28, 12, 16, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -10, -6, -39, 20, 12, 24 }, { -2, -3, -39, 3, 10, 29 }, { -13, -6, -39, 20, 5, 24 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, - { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, - { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, - { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, - { -10, -6, -39, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -39, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -28, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -28, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -44, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -34, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, - { -6, -8, 11, 12, 16, 4 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - },{ // 0x00991CBC: - { -24, -6, -28, 32, 12, 14 }, { -11, -6, -28, 22, 12, 14 }, { -11, -11, -28, 22, 22, 14 }, { -6, -11, -28, 12, 22, 14 }, - { -6, -11, -28, 12, 32, 14 }, { -6, -11, -28, 12, 22, 14 }, { -11, -11, -28, 22, 22, 14 }, { -11, -6, -28, 22, 12, 14 }, - { -11, -6, -28, 32, 12, 14 }, { -11, -6, -28, 22, 12, 14 }, { -11, -11, -28, 22, 22, 14 }, { -6, -11, -28, 12, 22, 14 }, - { -6, -24, -28, 12, 32, 14 }, { -6, -11, -28, 12, 22, 14 }, { -11, -11, -28, 22, 22, 14 }, { -11, -6, -28, 22, 12, 14 }, - { -15, -6, -28, 18, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, - { -6, -6, -28, 12, 28, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, - { -6, -6, -28, 28, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, - { -6, -15, -28, 12, 18, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, - { -10, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -11, -33, 3, 16, 19 }, { -8, -8, -28, 16, 16, 14 }, - { -11, -6, -33, 16, 5, 19 }, { -8, -8, -28, 16, 16, 14 }, { -6, -10, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -10, -6, -28, 16, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -3, -10, -39, 3, 16, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -13, -6, -39, 16, 5, 24 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -6, -10, -28, 12, 16, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -10, -6, -39, 20, 12, 24 }, { -2, -3, -39, 3, 10, 29 }, { -13, -6, -39, 20, 5, 24 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, - { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, - { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, - { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, - { -10, -6, -39, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -39, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -28, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -28, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -44, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -34, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, - { -6, -8, 11, 12, 16, 4 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - },{ // 0x0098F52C - { -14, -6, 1, 28, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, - { -6, -14, 1, 12, 28, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, - { -14, -6, 1, 28, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, - { -6, -14, 1, 12, 28, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, - { -13, -6, 1, 26, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -13, 3, 12, 26, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -13, -6, 3, 26, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -13, 1, 12, 26, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -14, -6, 1, 28, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 28, 14 }, { -8, -8, 1, 16, 16, 14 }, - { -18, -6, 1, 28, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 28, 14 }, { 0, 0, 1, 8, 8, 14 }, - { -3, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, - { -6, -8, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, - { -8, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, - { -6, -3, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, - { 0, -6, 5, 3, 12, 5 }, { -6, -13, 5, 3, 12, 5 }, { -13, -6, 5, 12, 5, 5 }, { -6, 0, 5, 12, 3, 5 }, - { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { -6, -12, -8, 12, 10, 15 }, - { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, - { -12, -6, -8, 10, 12, 15 }, { -12, -6, -8, 10, 12, 15 }, { -12, -6, -8, 10, 12, 15 }, { -6, 0, -8, 12, 10, 15 }, - { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, - { -3, -6, -4, 6, 12, 5 }, { -6, -13, -4, 3, 20, 5 }, { -13, -6, -4, 6, 5, 5 }, { -6, -3, -4, 12, 20, 5 }, - { -3, -6, 1, 6, 12, 6 }, { -6, -13, -10, 3, 6, 6 }, { -13, -6, -10, 6, 5, 6 }, { -6, -3, 1, 12, 6, 6 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, - { -8, -8, 1, 16, 16, 14 }, { -32, -32, 24, 4, 4, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, - { -14, -6, 1, 28, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, - { -6, -14, 1, 12, 28, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, - { -14, -6, 1, 28, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, - { -6, -14, 1, 12, 28, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - },{ // 0x0098EFEC: - { -10, -6, 1, 20, 12, 14 }, { -9, -6, 1, 18, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -9, 1, 12, 18, 14 }, - { -6, -10, 1, 12, 20, 14 }, { -6, -9, 1, 12, 18, 14 }, { -8, -8, 1, 16, 16, 14 }, { -9, -6, 1, 18, 12, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -9, -6, 1, 18, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -9, 1, 12, 18, 14 }, - { -6, -10, 1, 12, 20, 14 }, { -6, -9, 1, 12, 18, 14 }, { -8, -8, 1, 16, 16, 14 }, { -9, -6, 1, 18, 12, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -8, -6, 1, 16, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -8, 1, 12, 16, 14 }, - { -6, -10, 2, 12, 20, 14 }, { -6, -8, 1, 12, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -6, 1, 16, 12, 14 }, - { -10, -6, 2, 20, 12, 14 }, { -8, -6, 1, 16, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -8, 1, 12, 16, 14 }, - { -6, -10, 1, 12, 20, 14 }, { -6, -8, 1, 12, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -6, 1, 16, 12, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -10, 1, 12, 20, 14 }, { -8, -8, 1, 16, 16, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -10, 1, 12, 20, 14 }, { 0, 0, 1, 8, 8, 14 }, - { -3, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, - { -6, -8, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, - { -8, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, - { -6, -3, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, - { 0, -6, 5, 3, 12, 5 }, { -6, -13, 5, 3, 12, 5 }, { -13, -6, 5, 12, 5, 5 }, { -6, 0, 5, 12, 3, 5 }, - { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { -6, -12, -8, 12, 10, 15 }, - { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, - { -12, -6, -8, 10, 12, 15 }, { -12, -6, -8, 10, 12, 15 }, { -12, -6, -8, 10, 12, 15 }, { -6, 0, -8, 12, 10, 15 }, - { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, - { -3, -6, -4, 6, 12, 5 }, { -6, -13, -4, 3, 20, 5 }, { -13, -6, -4, 6, 5, 5 }, { -6, -3, -4, 12, 20, 5 }, - { -3, -6, 1, 6, 12, 6 }, { -6, -13, -10, 3, 6, 6 }, { -13, -6, -10, 6, 5, 6 }, { -6, -3, 1, 12, 6, 6 }, - { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, - { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, - { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, - { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, - { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, - { -8, -8, 1, 16, 16, 14 }, { -32, -32, 24, 4, 4, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -9, -6, 1, 18, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -9, 1, 12, 18, 14 }, - { -6, -10, 1, 12, 20, 14 }, { -6, -9, 1, 12, 18, 14 }, { -8, -8, 1, 16, 16, 14 }, { -9, -6, 1, 18, 12, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -9, -6, 1, 18, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -9, 1, 12, 18, 14 }, - { -6, -10, 1, 12, 20, 14 }, { -6, -9, 1, 12, 18, 14 }, { -8, -8, 1, 16, 16, 14 }, { -9, -6, 1, 18, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - },{ // 0x0098EAAC: - { -8, -6, 1, 16, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, { -6, -6, 1, 12, 12, 14 }, { -6, -7, 1, 12, 14, 14 }, - { -6, -8, 1, 12, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, { -6, -6, 1, 12, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, - { -8, -6, 1, 16, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, { -6, -6, 1, 12, 12, 14 }, { -6, -7, 1, 12, 14, 14 }, - { -6, -8, 1, 12, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, { -6, -6, 1, 12, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, - { -8, -6, 1, 16, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, - { -6, -8, 2, 12, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, { -8, -8, 1, 16, 16, 14 }, { -7, -6, 1, 14, 12, 14 }, - { -8, -6, 2, 16, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, - { -6, -8, 1, 12, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, { -8, -8, 1, 16, 16, 14 }, { -7, -6, 1, 14, 12, 14 }, - { -8, -6, 1, 16, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -8, 1, 12, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, - { -8, -6, 1, 16, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -8, 1, 12, 16, 14 }, { 0, 0, 1, 8, 8, 14 }, - { -3, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, - { -6, -8, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, - { -8, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, - { -6, -3, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, - { 0, -6, 5, 3, 12, 5 }, { -6, -13, 5, 3, 12, 5 }, { -13, -6, 5, 12, 5, 5 }, { -6, 0, 5, 12, 3, 5 }, - { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { -6, -12, -8, 6, 6, 15 }, - { -12, -12, -8, 6, 6, 15 }, { -12, -12, -8, 6, 6, 15 }, { -12, -12, -8, 6, 6, 15 }, { -12, -12, -8, 6, 6, 15 }, - { -12, -12, -8, 6, 6, 15 }, { -12, -6, -8, 6, 6, 15 }, { -12, -6, -8, 10, 12, 15 }, { -6, 0, -8, 12, 10, 15 }, - { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, - { -3, -6, -4, 6, 12, 5 }, { -6, -13, -4, 3, 20, 5 }, { -13, -6, -4, 6, 5, 5 }, { -6, -3, -4, 12, 20, 5 }, - { -3, -6, 1, 6, 12, 6 }, { -6, -13, -10, 3, 6, 6 }, { -13, -6, -10, 6, 5, 6 }, { -6, -3, 1, 12, 6, 6 }, - { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, - { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, - { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, - { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, - { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, - { -8, -8, 1, 16, 16, 14 }, { -32, -32, 24, 4, 4, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, - { -8, -6, 1, 16, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, { -6, -6, 1, 12, 12, 14 }, { -6, -7, 1, 12, 14, 14 }, - { -6, -8, 1, 12, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, { -6, -6, 1, 12, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, - { -8, -6, 1, 16, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, { -6, -6, 1, 12, 12, 14 }, { -6, -7, 1, 12, 14, 14 }, - { -6, -8, 1, 12, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, { -6, -6, 1, 12, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - },{ // 0x0098E56C: - { -3, -6, 1, 6, 12, 14 }, { -3, -5, 1, 6, 10, 14 }, { -5, -5, 1, 10, 10, 14 }, { -5, -3, 1, 10, 6, 14 }, - { -6, -3, 1, 12, 6, 14 }, { -5, -3, 1, 10, 6, 14 }, { -5, -5, 1, 10, 10, 14 }, { -3, -5, 1, 6, 10, 14 }, - { -3, -6, 1, 6, 12, 14 }, { -3, -5, 1, 6, 10, 14 }, { -5, -5, 1, 10, 10, 14 }, { -5, -3, 1, 10, 6, 14 }, - { -6, -3, 1, 12, 6, 14 }, { -5, -3, 1, 10, 6, 14 }, { -5, -5, 1, 10, 10, 14 }, { -3, -5, 1, 6, 10, 14 }, - { -3, -6, 1, 6, 12, 14 }, { -3, -6, 1, 6, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -3, 1, 12, 6, 14 }, - { -6, -3, 2, 12, 6, 14 }, { -6, -3, 1, 12, 6, 14 }, { -8, -8, 1, 16, 16, 14 }, { -3, -6, 1, 6, 12, 14 }, - { -3, -6, 2, 6, 12, 14 }, { -3, -6, 1, 6, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -3, 1, 12, 6, 14 }, - { -6, -3, 1, 12, 6, 14 }, { -6, -3, 1, 12, 6, 14 }, { -8, -8, 1, 16, 16, 14 }, { -3, -6, 1, 6, 12, 14 }, - { -3, -6, 1, 6, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -3, 1, 12, 6, 7 }, { -8, -8, 1, 16, 16, 7 }, - { -3, -6, 1, 6, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -3, 1, 12, 6, 7 }, { 0, 0, 1, 8, 8, 7 }, - { -3, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, - { -6, -3, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, - { -3, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, - { -6, -3, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, - { 0, -6, 5, 3, 12, 5 }, { -6, -13, 5, 3, 12, 5 }, { -13, -6, 5, 12, 5, 5 }, { -6, 0, 5, 12, 3, 5 }, - { 0, -6, -4, 10, 12, 7 }, { 0, -6, -4, 10, 12, 7 }, { 0, -6, -4, 10, 12, 7 }, { -6, -12, -4, 12, 10, 7 }, - { -6, -12, -4, 12, 10, 7 }, { -6, -12, -4, 12, 10, 7 }, { -6, -12, -4, 12, 10, 7 }, { -6, -12, -4, 12, 10, 7 }, - { -12, -6, -4, 10, 12, 7 }, { -12, -6, -4, 10, 12, 7 }, { -12, -6, -4, 10, 12, 7 }, { -6, 0, -4, 12, 10, 7 }, - { -6, 0, -4, 12, 10, 7 }, { -6, 0, -4, 12, 10, 7 }, { -6, 0, -4, 12, 10, 7 }, { -6, 0, -4, 12, 10, 7 }, - { -3, -6, -4, 6, 12, 5 }, { -6, -13, -4, 3, 20, 5 }, { -13, -6, -4, 6, 5, 5 }, { -6, -3, -4, 12, 20, 5 }, - { -3, -6, 1, 6, 12, 6 }, { -6, -13, -10, 3, 6, 6 }, { -13, -6, -10, 6, 5, 6 }, { -6, -3, 1, 12, 6, 6 }, - { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, - { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, - { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, - { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, - { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, - { -8, -8, 1, 16, 16, 14 }, { -32, -32, 24, 4, 4, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, - { -3, -6, 1, 6, 12, 14 }, { -3, -5, 1, 6, 10, 14 }, { -5, -5, 1, 10, 10, 14 }, { -5, -3, 1, 10, 6, 14 }, - { -6, -3, 1, 12, 6, 14 }, { -5, -3, 1, 10, 6, 14 }, { -5, -5, 1, 10, 10, 14 }, { -3, -5, 1, 6, 10, 14 }, - { -3, -6, 1, 6, 12, 14 }, { -3, -5, 1, 6, 10, 14 }, { -5, -5, 1, 10, 10, 14 }, { -5, -3, 1, 10, 6, 14 }, - { -6, -3, 1, 12, 6, 14 }, { -5, -3, 1, 10, 6, 14 }, { -5, -5, 1, 10, 10, 14 }, { -3, -5, 1, 6, 10, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - },{ // 0x00990CFC: - { -12, -6, 1, 24, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -12, 1, 12, 24, 14 }, { -6, -11, 1, 12, 22, 14 }, { -10, -10, 1, 20, 20, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -12, -6, 1, 24, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -12, 1, 12, 24, 14 }, { -6, -11, 1, 12, 22, 14 }, { -10, -10, 1, 20, 20, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -11, -6, 1, 22, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -11, 3, 12, 22, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -11, -6, 3, 22, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -11, 1, 12, 22, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -12, -6, 1, 24, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -12, 1, 12, 24, 14 }, { -8, -8, 1, 16, 16, 14 }, - { -18, -6, 1, 24, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 24, 14 }, { 0, 0, 1, 8, 8, 14 }, - { -12, -6, 5, 24, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -12, 5, 12, 24, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -18, -6, 5, 24, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -14, 5, 12, 24, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { 0, -6, -10, 14, 12, 24 }, { -6, -17, -10, 3, 14, 24 }, { -17, -6, -10, 14, 5, 24 }, { -6, 0, -10, 12, 14, 24 }, - { 0, -6, -7, 10, 12, 14 }, { 0, -6, -7, 10, 12, 14 }, { 0, -6, -7, 10, 12, 14 }, { 0, -6, -7, 10, 12, 14 }, - { -6, -12, -7, 12, 10, 14 }, { -6, -12, -7, 12, 10, 14 }, { -6, -12, -7, 12, 10, 14 }, { -6, -12, -7, 12, 10, 14 }, - { -12, -6, -7, 10, 12, 14 }, { -12, -6, -7, 10, 12, 14 }, { -12, -6, -7, 10, 12, 14 }, { -12, -6, -7, 10, 12, 14 }, - { -6, 0, -7, 12, 10, 14 }, { -6, 0, -7, 12, 10, 14 }, { -6, 0, -7, 12, 10, 14 }, { -6, 0, -7, 12, 10, 14 }, - { -14, -6, -10, 28, 12, 24 }, { -6, -17, -10, 3, 28, 24 }, { -17, -6, -10, 28, 5, 24 }, { -6, -14, -10, 12, 28, 24 }, - { -14, -6, 1, 28, 12, 14 }, { -6, -17, -10, 3, 28, 24 }, { -17, -6, -10, 28, 5, 24 }, { -6, -14, 1, 12, 28, 14 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, - { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, - { -12, -6, 1, 24, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -12, 1, 12, 24, 14 }, { -6, -11, 1, 12, 22, 14 }, { -10, -10, 1, 20, 20, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -12, -6, 1, 24, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -12, 1, 12, 24, 14 }, { -6, -11, 1, 12, 22, 14 }, { -10, -10, 1, 20, 20, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - },{ // 0x0098FA6C: - { -18, -6, 1, 36, 12, 11 }, { -17, -6, 1, 34, 12, 11 }, { -15, -15, 1, 30, 30, 11 }, { -6, -17, 1, 12, 34, 11 }, - { -6, -18, 1, 12, 36, 11 }, { -6, -17, 1, 12, 34, 11 }, { -15, -15, 1, 30, 30, 11 }, { -17, -6, 1, 34, 12, 11 }, - { -18, -6, 1, 36, 12, 11 }, { -17, -6, 1, 34, 12, 11 }, { -15, -15, 1, 30, 30, 11 }, { -6, -17, 1, 12, 34, 11 }, - { -6, -18, 1, 12, 36, 11 }, { -6, -17, 1, 12, 34, 11 }, { -15, -15, 1, 30, 30, 11 }, { -17, -6, 1, 34, 12, 11 }, - { -14, -6, 1, 28, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -14, 3, 12, 28, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -14, -6, 3, 28, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -14, 1, 12, 28, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -14, -6, 1, 28, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 28, 14 }, { -8, -8, 1, 16, 16, 14 }, - { -14, -6, 1, 28, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 28, 14 }, { 0, 0, 1, 8, 8, 14 }, - { -3, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, - { -6, -8, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, - { -8, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, - { -6, -3, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, - { 0, -6, 5, 3, 12, 5 }, { -6, -13, 5, 3, 12, 5 }, { -13, -6, 5, 12, 5, 5 }, { -6, 0, 5, 12, 3, 5 }, - { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { -6, -12, -8, 12, 10, 15 }, - { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, - { -12, -6, -8, 10, 12, 15 }, { -12, -6, -8, 10, 12, 15 }, { -12, -6, -8, 10, 12, 15 }, { -6, 0, -8, 12, 10, 15 }, - { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, - { -3, -6, -4, 6, 12, 5 }, { -6, -13, -4, 3, 20, 5 }, { -13, -6, -4, 6, 5, 5 }, { -6, -3, -4, 12, 20, 5 }, - { -3, -6, 1, 6, 12, 6 }, { -6, -13, -10, 3, 6, 6 }, { -13, -6, -10, 6, 5, 6 }, { -6, -3, 1, 12, 6, 6 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, - { -8, -8, 1, 16, 16, 14 }, { -32, -32, 24, 4, 4, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, - { -14, -6, 1, 28, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, - { -6, -14, 1, 12, 28, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, - { -14, -6, 1, 28, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, - { -6, -14, 1, 12, 28, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, - { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - },{ // 0x0099177C: - { -16, -6, 1, 32, 12, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, - { -6, -16, 1, 12, 32, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, - { -16, -6, 1, 32, 12, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, - { -6, -16, 1, 12, 32, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, - { -13, -6, 1, 26, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -13, 3, 12, 26, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -13, -6, 3, 26, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -13, 1, 12, 26, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -14, -6, 1, 28, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 28, 14 }, { -8, -8, 1, 16, 16, 14 }, - { -18, -6, 1, 28, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 28, 14 }, { 0, 0, 1, 8, 8, 14 }, - { -14, -6, 5, 28, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -14, 5, 12, 28, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -18, -6, 5, 28, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -14, 5, 12, 28, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -14, -6, -10, 28, 12, 24 }, { -6, -17, -10, 3, 28, 24 }, { -17, -6, -10, 28, 5, 24 }, { -6, -14, -10, 12, 28, 24 }, - { 0, -6, -7, 10, 12, 14 }, { 0, -6, -7, 10, 12, 14 }, { 0, -6, -7, 10, 12, 14 }, { 0, -6, -7, 10, 12, 14 }, - { -6, -12, -7, 12, 10, 14 }, { -6, -12, -7, 12, 10, 14 }, { -6, -12, -7, 12, 10, 14 }, { -6, -12, -7, 12, 10, 14 }, - { -12, -6, -7, 10, 12, 14 }, { -12, -6, -7, 10, 12, 14 }, { -12, -6, -7, 10, 12, 14 }, { -12, -6, -7, 10, 12, 14 }, - { -6, 0, -7, 12, 10, 14 }, { -6, 0, -7, 12, 10, 14 }, { -6, 0, -7, 12, 10, 14 }, { -6, 0, -7, 12, 10, 14 }, - { -14, -6, -10, 28, 12, 24 }, { -6, -17, -10, 3, 28, 24 }, { -17, -6, -10, 28, 5, 24 }, { -6, -14, -10, 12, 28, 24 }, - { -14, -6, 1, 28, 12, 14 }, { -6, -17, -10, 3, 28, 24 }, { -17, -6, -10, 28, 5, 24 }, { -6, -14, 1, 12, 28, 14 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, - { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, - { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, - { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, - { -16, -6, 1, 32, 12, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, - { -6, -16, 1, 12, 32, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, - { -16, -6, 1, 32, 12, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, - { -6, -16, 1, 12, 32, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, - { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, - { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, - { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, - { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, - { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, - },{ // 0x009900FC: - { -16, -6, 1, 32, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, - { -6, -16, 1, 12, 32, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, - { -16, -6, 1, 32, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, - { -6, -16, 1, 12, 32, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, - { -14, -6, 5, 28, 12, 9 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -14, 5, 12, 28, 9 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -14, -6, 5, 28, 12, 9 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -14, 5, 12, 28, 9 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, - { -10, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -11, -33, 3, 16, 19 }, { -8, -8, -28, 16, 16, 14 }, - { -11, -6, -33, 16, 5, 19 }, { -8, -8, -28, 16, 16, 14 }, { -6, -10, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -10, -6, -28, 16, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -3, -10, -39, 3, 16, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -10, -6, -39, 16, 3, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -6, -10, -28, 12, 16, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -2, -3, -39, 3, 10, 29 }, { -3, -2, -39, 10, 3, 29 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, - { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, - { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, - { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, - { -10, -6, -39, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -39, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -28, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -28, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -44, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -34, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, - { -6, -8, 11, 12, 16, 4 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - },{ // 0x009901BC: - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, - { -10, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -11, -33, 3, 16, 19 }, { -8, -8, -28, 16, 16, 14 }, - { -11, -6, -33, 16, 5, 19 }, { -8, -8, -28, 16, 16, 14 }, { -6, -10, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -10, -6, -28, 16, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -3, -10, -39, 3, 16, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -10, -6, -39, 16, 3, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -6, -10, -28, 12, 16, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -2, -3, -39, 3, 10, 29 }, { -3, -2, -39, 10, 3, 29 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, - { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, - { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, - { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, - { -10, -6, -39, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -39, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -28, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -28, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -44, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -34, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, - { -6, -8, 11, 12, 16, 4 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, - },{ // 0x0098FFAC: - { -3, -6, -1, 6, 12, 1 }, { -3, -5, -1, 6, 10, 1 }, { -5, -5, -1, 10, 10, 1 }, { -5, -3, -1, 10, 6, 1 }, - { -6, -3, -1, 12, 6, 1 }, { -5, -3, -1, 10, 6, 1 }, { -5, -5, -1, 10, 10, 1 }, { -3, -5, -1, 6, 10, 1 }, - { -3, -6, -1, 6, 12, 1 }, { -3, -5, -1, 6, 10, 1 }, { -5, -5, -1, 10, 10, 1 }, { -5, -3, -1, 10, 6, 1 }, - { -6, -3, -1, 12, 6, 1 }, { -5, -3, -1, 10, 6, 1 }, { -5, -5, -1, 10, 10, 1 }, { -3, -5, -1, 6, 10, 1 }, - { -3, -6, -8, 6, 12, 1 }, { -3, -6, -1, 6, 12, 1 }, { -8, -8, -1, 16, 16, 1 }, { -6, -3, -1, 12, 6, 1 }, - { -6, -3, 0, 12, 6, 1 }, { -6, -3, -1, 12, 6, 1 }, { -8, -8, -1, 16, 16, 1 }, { -3, -6, -1, 6, 12, 1 }, - { -3, -6, 0, 6, 12, 1 }, { -3, -6, -1, 6, 12, 1 }, { -8, -8, -1, 16, 16, 1 }, { -6, -3, -1, 12, 6, 1 }, - { -6, -3, -8, 12, 6, 1 }, { -6, -3, -1, 12, 6, 1 }, { -8, -8, -1, 16, 16, 1 }, { -3, -6, -1, 6, 12, 1 }, - { -3, -6, -10, 6, 12, 1 }, { -8, -8, -2, 16, 16, 1 }, { -6, -3, -2, 12, 6, 1 }, { -8, -8, -2, 16, 16, 1 }, - { -3, -6, -2, 6, 12, 1 }, { -8, -8, -2, 16, 16, 1 }, { -6, -3, -10, 12, 6, 1 }, { 0, 0, -2, 8, 8, 1 }, - { -3, -6, -12, 6, 12, 1 }, { -8, -6, -6, 16, 12, 1 }, { -8, -8, -6, 16, 16, 1 }, { -6, -8, -6, 12, 16, 1 }, - { -6, -3, -2, 12, 6, 1 }, { -6, -8, -6, 12, 16, 1 }, { -8, -8, -6, 16, 16, 1 }, { -8, -6, -6, 16, 12, 1 }, - { -3, -6, -2, 6, 12, 1 }, { -8, -6, -6, 16, 12, 1 }, { -8, -8, -6, 16, 16, 1 }, { -6, -8, -6, 12, 16, 1 }, - { -6, -3, -12, 12, 6, 1 }, { -6, -8, -6, 12, 16, 1 }, { -8, -8, -6, 16, 16, 1 }, { -8, -6, -6, 16, 12, 1 }, - { -16, -6, 1, 32, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, - { -6, -16, 1, 12, 32, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, - { -16, -6, 1, 32, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, - { -6, -16, 1, 12, 32, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, - { -14, -6, 5, 28, 12, 9 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -14, 5, 12, 28, 9 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -14, -6, 5, 28, 12, 9 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, - { -6, -14, 5, 12, 28, 9 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, - { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, - { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, - { -10, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -11, -33, 3, 16, 19 }, { -8, -8, -28, 16, 16, 14 }, - { -11, -6, -33, 16, 5, 19 }, { -8, -8, -28, 16, 16, 14 }, { -6, -10, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - { -10, -6, -28, 16, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -3, -10, -39, 3, 16, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -10, -6, -39, 16, 3, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -6, -10, -28, 12, 16, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, - { -10, -6, -28, 20, 12, 14 }, { -2, -3, -39, 3, 10, 29 }, { -3, -2, -39, 10, 3, 29 }, { -6, -10, -28, 12, 20, 14 }, - { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, - { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, - { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, - { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, - { -10, -6, -39, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -39, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -28, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -28, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, - { -10, -6, -44, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -34, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, - { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, - },{ // 0x0099273C: - { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, - { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, - { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, - { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, - } + { // 0x0099123C: + { -5, -2, -22, 10, 4, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, + { -2, -5, -22, 4, 10, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, + { -5, -2, -22, 10, 4, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, + { -2, -5, -22, 4, 10, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, + { -5, -2, -22, 10, 4, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, + { -2, -5, -22, 4, 10, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, + { -5, -2, -22, 10, 4, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, + { -2, -5, -22, 4, 10, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, { -3, -3, -22, 6, 6, 14 }, + { -10, -6, -22, 16, 12, 14 }, { -8, -8, -22, 16, 16, 14 }, { -6, -11, -27, 3, 16, 19 }, { -8, -8, -22, 16, 16, 14 }, + { -11, -6, -27, 16, 5, 19 }, { -8, -8, -22, 16, 16, 14 }, { -6, -10, -22, 12, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, + { -10, -6, -22, 16, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, + { -3, -10, -33, 3, 16, 27 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, + { -13, -6, -33, 16, 5, 24 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, + { -6, -10, -22, 12, 16, 14 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, { -6, -6, -22, 12, 12, 14 }, + { -10, -6, -33, 20, 12, 24 }, { -2, -3, -33, 3, 10, 29 }, { -13, -6, -33, 20, 5, 24 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, -43, 5, 12, 34 }, { -10, -6, -43, 5, 12, 34 }, { -10, -6, -43, 5, 12, 34 }, { -10, -6, -43, 5, 12, 34 }, + { -2, 4, -33, 3, 10, 29 }, { -2, 4, -33, 3, 10, 29 }, { -2, 4, -33, 3, 10, 29 }, { -2, 4, -33, 3, 10, 29 }, + { -13, -6, -33, 20, 5, 24 }, { -13, -6, -33, 20, 5, 24 }, { -13, -6, -33, 20, 5, 24 }, { -13, -6, -33, 20, 5, 24 }, + { -6, -15, -22, 12, 10, 14 }, { -6, -15, -22, 12, 10, 14 }, { -6, -15, -22, 12, 10, 14 }, { -6, -15, -22, 12, 10, 14 }, + { -10, -6, -33, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -33, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -22, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -22, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -38, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -28, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -8, -8, -22, 16, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, + { -8, -8, -22, 16, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, + { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, + { -6, -8, 11, 12, 16, 4 }, { -6, -8, -22, 12, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, { -8, -6, -22, 16, 12, 14 }, + { -8, -6, -22, 16, 12, 14 }, { -8, -6, -22, 16, 12, 14 }, { -8, -8, -22, 16, 16, 14 }, { -6, -8, -22, 12, 16, 14 }, + { -6, -8, -22, 12, 16, 14 }, { -6, -8, -22, 12, 16, 14 }, { -8, -8, -22, 16, 16, 14 }, { -8, -6, -22, 16, 12, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, + { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -22, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, -22, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -22, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + },{ // 0x0099027C: + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, + { -10, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -11, -33, 3, 16, 19 }, { -8, -8, -28, 16, 16, 14 }, + { -11, -6, -33, 16, 5, 19 }, { -8, -8, -28, 16, 16, 14 }, { -6, -10, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -10, -6, -28, 16, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -3, -10, -39, 3, 16, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -10, -6, -39, 16, 3, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -6, -10, -28, 12, 16, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -2, -3, -39, 3, 10, 29 }, { -3, -2, -39, 10, 3, 29 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, + { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, + { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, + { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, + { -10, -6, -39, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -39, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -28, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -28, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -44, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -34, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, + { -6, -8, 11, 12, 16, 4 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + },{ // 0x009907BC: + { -8, -6, -23, 16, 12, 14 }, { -8, -6, -23, 16, 12, 14 }, { -8, -8, -23, 16, 16, 14 }, { -6, -8, -23, 12, 16, 14 }, + { -6, -8, -23, 12, 16, 14 }, { -6, -8, -23, 12, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -6, -23, 16, 12, 14 }, + { -8, -6, -23, 16, 12, 14 }, { -8, -6, -23, 16, 12, 14 }, { -8, -8, -23, 16, 16, 14 }, { -6, -8, -23, 12, 16, 14 }, + { -6, -8, -23, 12, 16, 14 }, { -6, -8, -23, 12, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -6, -23, 16, 12, 14 }, + { -6, -6, -23, 12, 12, 14 }, { -9, -6, -23, 18, 12, 14 }, { -8, -8, -23, 16, 16, 14 }, { -6, -9, -23, 12, 18, 14 }, + { -6, -6, -23, 12, 12, 14 }, { -6, -9, -23, 12, 18, 14 }, { -8, -8, -23, 16, 16, 14 }, { -9, -6, -23, 18, 12, 14 }, + { -6, -6, -23, 12, 12, 14 }, { -9, -6, -23, 18, 12, 14 }, { -8, -8, -23, 16, 16, 14 }, { -6, -9, -23, 12, 18, 14 }, + { -6, -6, -23, 12, 12, 14 }, { -6, -9, -23, 12, 18, 14 }, { -8, -8, -23, 16, 16, 14 }, { -9, -6, -23, 18, 12, 14 }, + { -10, -6, -23, 16, 12, 14 }, { -8, -8, -23, 16, 16, 14 }, { -6, -11, -28, 3, 16, 19 }, { -8, -8, -23, 16, 16, 14 }, + { -11, -6, -28, 16, 5, 19 }, { -8, -8, -23, 16, 16, 14 }, { -6, -10, -23, 12, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, + { -10, -6, -23, 16, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, + { -3, -10, -34, 3, 16, 27 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, + { -13, -6, -34, 16, 5, 24 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, + { -6, -10, -23, 12, 16, 14 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, { -6, -6, -23, 12, 12, 14 }, + { -10, -6, -34, 20, 12, 24 }, { -2, -3, -34, 3, 10, 29 }, { -13, -6, -34, 20, 5, 24 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -44, 5, 12, 34 }, { -10, -6, -44, 5, 12, 34 }, { -10, -6, -44, 5, 12, 34 }, { -10, -6, -44, 5, 12, 34 }, + { -2, 4, -34, 3, 10, 29 }, { -2, 4, -34, 3, 10, 29 }, { -2, 4, -34, 3, 10, 29 }, { -2, 4, -34, 3, 10, 29 }, + { -13, -6, -34, 20, 5, 24 }, { -13, -6, -34, 20, 5, 24 }, { -13, -6, -34, 20, 5, 24 }, { -13, -6, -34, 20, 5, 24 }, + { -6, -15, -23, 12, 10, 14 }, { -6, -15, -23, 12, 10, 14 }, { -6, -15, -23, 12, 10, 14 }, { -6, -15, -23, 12, 10, 14 }, + { -10, -6, -34, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -34, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -23, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -23, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -39, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -29, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -8, -8, -23, 16, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, + { -8, -8, -23, 16, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, + { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, + { -6, -8, 11, 12, 16, 4 }, { -6, -8, -23, 12, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -6, -23, 16, 12, 14 }, + { -8, -6, -23, 16, 12, 14 }, { -8, -6, -23, 16, 12, 14 }, { -8, -8, -23, 16, 16, 14 }, { -6, -8, -23, 12, 16, 14 }, + { -6, -8, -23, 12, 16, 14 }, { -6, -8, -23, 12, 16, 14 }, { -8, -8, -23, 16, 16, 14 }, { -8, -6, -23, 16, 12, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + },{ // 0x009921FC: + { -19, -6, -28, 38, 12, 14 }, { -11, -6, -28, 22, 12, 14 }, { -11, -11, -28, 22, 22, 14 }, { -6, -11, -28, 12, 22, 14 }, + { -6, -19, -28, 12, 38, 14 }, { -6, -11, -28, 12, 22, 14 }, { -11, -11, -28, 22, 22, 14 }, { -11, -6, -28, 22, 12, 14 }, + { -19, -6, -28, 38, 12, 14 }, { -11, -6, -28, 22, 12, 14 }, { -11, -11, -28, 22, 22, 14 }, { -6, -11, -28, 12, 22, 14 }, + { -6, -19, -28, 12, 38, 14 }, { -6, -11, -28, 12, 22, 14 }, { -11, -11, -28, 22, 22, 14 }, { -11, -6, -28, 22, 12, 14 }, + { -15, -6, -28, 18, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, + { -6, -6, -28, 12, 28, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, + { -6, -6, -28, 28, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, + { -6, -15, -28, 12, 18, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, + { -10, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -11, -33, 3, 16, 19 }, { -8, -8, -28, 16, 16, 14 }, + { -11, -6, -33, 16, 5, 19 }, { -8, -8, -28, 16, 16, 14 }, { -6, -10, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -10, -6, -28, 16, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -3, -10, -39, 3, 16, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -13, -6, -39, 16, 5, 24 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -6, -10, -28, 12, 16, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -10, -6, -39, 20, 12, 24 }, { -2, -3, -39, 3, 10, 29 }, { -13, -6, -39, 20, 5, 24 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, + { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, + { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, + { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, + { -10, -6, -39, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -39, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -28, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -28, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -44, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -34, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, + { -6, -8, 11, 12, 16, 4 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + },{ // 0x00991CBC: + { -24, -6, -28, 32, 12, 14 }, { -11, -6, -28, 22, 12, 14 }, { -11, -11, -28, 22, 22, 14 }, { -6, -11, -28, 12, 22, 14 }, + { -6, -11, -28, 12, 32, 14 }, { -6, -11, -28, 12, 22, 14 }, { -11, -11, -28, 22, 22, 14 }, { -11, -6, -28, 22, 12, 14 }, + { -11, -6, -28, 32, 12, 14 }, { -11, -6, -28, 22, 12, 14 }, { -11, -11, -28, 22, 22, 14 }, { -6, -11, -28, 12, 22, 14 }, + { -6, -24, -28, 12, 32, 14 }, { -6, -11, -28, 12, 22, 14 }, { -11, -11, -28, 22, 22, 14 }, { -11, -6, -28, 22, 12, 14 }, + { -15, -6, -28, 18, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, + { -6, -6, -28, 12, 28, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, + { -6, -6, -28, 28, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, + { -6, -15, -28, 12, 18, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, + { -10, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -11, -33, 3, 16, 19 }, { -8, -8, -28, 16, 16, 14 }, + { -11, -6, -33, 16, 5, 19 }, { -8, -8, -28, 16, 16, 14 }, { -6, -10, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -10, -6, -28, 16, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -3, -10, -39, 3, 16, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -13, -6, -39, 16, 5, 24 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -6, -10, -28, 12, 16, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -10, -6, -39, 20, 12, 24 }, { -2, -3, -39, 3, 10, 29 }, { -13, -6, -39, 20, 5, 24 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, + { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, + { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, + { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, + { -10, -6, -39, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -39, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -28, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -28, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -44, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -34, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, + { -6, -8, 11, 12, 16, 4 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + },{ // 0x0098F52C + { -14, -6, 1, 28, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, + { -6, -14, 1, 12, 28, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, + { -14, -6, 1, 28, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, + { -6, -14, 1, 12, 28, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, + { -13, -6, 1, 26, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -13, 3, 12, 26, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -13, -6, 3, 26, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -13, 1, 12, 26, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -14, -6, 1, 28, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 28, 14 }, { -8, -8, 1, 16, 16, 14 }, + { -18, -6, 1, 28, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 28, 14 }, { 0, 0, 1, 8, 8, 14 }, + { -3, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, + { -6, -8, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, + { -8, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, + { -6, -3, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, + { 0, -6, 5, 3, 12, 5 }, { -6, -13, 5, 3, 12, 5 }, { -13, -6, 5, 12, 5, 5 }, { -6, 0, 5, 12, 3, 5 }, + { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { -6, -12, -8, 12, 10, 15 }, + { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, + { -12, -6, -8, 10, 12, 15 }, { -12, -6, -8, 10, 12, 15 }, { -12, -6, -8, 10, 12, 15 }, { -6, 0, -8, 12, 10, 15 }, + { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, + { -3, -6, -4, 6, 12, 5 }, { -6, -13, -4, 3, 20, 5 }, { -13, -6, -4, 6, 5, 5 }, { -6, -3, -4, 12, 20, 5 }, + { -3, -6, 1, 6, 12, 6 }, { -6, -13, -10, 3, 6, 6 }, { -13, -6, -10, 6, 5, 6 }, { -6, -3, 1, 12, 6, 6 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, + { -8, -8, 1, 16, 16, 14 }, { -32, -32, 24, 4, 4, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, + { -14, -6, 1, 28, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, + { -6, -14, 1, 12, 28, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, + { -14, -6, 1, 28, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, + { -6, -14, 1, 12, 28, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + },{ // 0x0098EFEC: + { -10, -6, 1, 20, 12, 14 }, { -9, -6, 1, 18, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -9, 1, 12, 18, 14 }, + { -6, -10, 1, 12, 20, 14 }, { -6, -9, 1, 12, 18, 14 }, { -8, -8, 1, 16, 16, 14 }, { -9, -6, 1, 18, 12, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -9, -6, 1, 18, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -9, 1, 12, 18, 14 }, + { -6, -10, 1, 12, 20, 14 }, { -6, -9, 1, 12, 18, 14 }, { -8, -8, 1, 16, 16, 14 }, { -9, -6, 1, 18, 12, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -8, -6, 1, 16, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -8, 1, 12, 16, 14 }, + { -6, -10, 2, 12, 20, 14 }, { -6, -8, 1, 12, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -6, 1, 16, 12, 14 }, + { -10, -6, 2, 20, 12, 14 }, { -8, -6, 1, 16, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -8, 1, 12, 16, 14 }, + { -6, -10, 1, 12, 20, 14 }, { -6, -8, 1, 12, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -6, 1, 16, 12, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -10, 1, 12, 20, 14 }, { -8, -8, 1, 16, 16, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -10, 1, 12, 20, 14 }, { 0, 0, 1, 8, 8, 14 }, + { -3, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, + { -6, -8, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, + { -8, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, + { -6, -3, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, + { 0, -6, 5, 3, 12, 5 }, { -6, -13, 5, 3, 12, 5 }, { -13, -6, 5, 12, 5, 5 }, { -6, 0, 5, 12, 3, 5 }, + { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { -6, -12, -8, 12, 10, 15 }, + { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, + { -12, -6, -8, 10, 12, 15 }, { -12, -6, -8, 10, 12, 15 }, { -12, -6, -8, 10, 12, 15 }, { -6, 0, -8, 12, 10, 15 }, + { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, + { -3, -6, -4, 6, 12, 5 }, { -6, -13, -4, 3, 20, 5 }, { -13, -6, -4, 6, 5, 5 }, { -6, -3, -4, 12, 20, 5 }, + { -3, -6, 1, 6, 12, 6 }, { -6, -13, -10, 3, 6, 6 }, { -13, -6, -10, 6, 5, 6 }, { -6, -3, 1, 12, 6, 6 }, + { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, + { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, + { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, + { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, + { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, + { -8, -8, 1, 16, 16, 14 }, { -32, -32, 24, 4, 4, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -9, -6, 1, 18, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -9, 1, 12, 18, 14 }, + { -6, -10, 1, 12, 20, 14 }, { -6, -9, 1, 12, 18, 14 }, { -8, -8, 1, 16, 16, 14 }, { -9, -6, 1, 18, 12, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -9, -6, 1, 18, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -9, 1, 12, 18, 14 }, + { -6, -10, 1, 12, 20, 14 }, { -6, -9, 1, 12, 18, 14 }, { -8, -8, 1, 16, 16, 14 }, { -9, -6, 1, 18, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + },{ // 0x0098EAAC: + { -8, -6, 1, 16, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, { -6, -6, 1, 12, 12, 14 }, { -6, -7, 1, 12, 14, 14 }, + { -6, -8, 1, 12, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, { -6, -6, 1, 12, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, + { -8, -6, 1, 16, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, { -6, -6, 1, 12, 12, 14 }, { -6, -7, 1, 12, 14, 14 }, + { -6, -8, 1, 12, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, { -6, -6, 1, 12, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, + { -8, -6, 1, 16, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, + { -6, -8, 2, 12, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, { -8, -8, 1, 16, 16, 14 }, { -7, -6, 1, 14, 12, 14 }, + { -8, -6, 2, 16, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, + { -6, -8, 1, 12, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, { -8, -8, 1, 16, 16, 14 }, { -7, -6, 1, 14, 12, 14 }, + { -8, -6, 1, 16, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -8, 1, 12, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, + { -8, -6, 1, 16, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -8, 1, 12, 16, 14 }, { 0, 0, 1, 8, 8, 14 }, + { -3, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, + { -6, -8, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, + { -8, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, + { -6, -3, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, + { 0, -6, 5, 3, 12, 5 }, { -6, -13, 5, 3, 12, 5 }, { -13, -6, 5, 12, 5, 5 }, { -6, 0, 5, 12, 3, 5 }, + { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { -6, -12, -8, 6, 6, 15 }, + { -12, -12, -8, 6, 6, 15 }, { -12, -12, -8, 6, 6, 15 }, { -12, -12, -8, 6, 6, 15 }, { -12, -12, -8, 6, 6, 15 }, + { -12, -12, -8, 6, 6, 15 }, { -12, -6, -8, 6, 6, 15 }, { -12, -6, -8, 10, 12, 15 }, { -6, 0, -8, 12, 10, 15 }, + { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, + { -3, -6, -4, 6, 12, 5 }, { -6, -13, -4, 3, 20, 5 }, { -13, -6, -4, 6, 5, 5 }, { -6, -3, -4, 12, 20, 5 }, + { -3, -6, 1, 6, 12, 6 }, { -6, -13, -10, 3, 6, 6 }, { -13, -6, -10, 6, 5, 6 }, { -6, -3, 1, 12, 6, 6 }, + { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, + { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, + { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, + { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, { -10, -6, -15, 20, 12, 7 }, { -6, -10, -15, 12, 20, 7 }, + { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, + { -8, -8, 1, 16, 16, 14 }, { -32, -32, 24, 4, 4, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, + { -8, -6, 1, 16, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, { -6, -6, 1, 12, 12, 14 }, { -6, -7, 1, 12, 14, 14 }, + { -6, -8, 1, 12, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, { -6, -6, 1, 12, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, + { -8, -6, 1, 16, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, { -6, -6, 1, 12, 12, 14 }, { -6, -7, 1, 12, 14, 14 }, + { -6, -8, 1, 12, 16, 14 }, { -6, -7, 1, 12, 14, 14 }, { -6, -6, 1, 12, 12, 14 }, { -7, -6, 1, 14, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + },{ // 0x0098E56C: + { -3, -6, 1, 6, 12, 14 }, { -3, -5, 1, 6, 10, 14 }, { -5, -5, 1, 10, 10, 14 }, { -5, -3, 1, 10, 6, 14 }, + { -6, -3, 1, 12, 6, 14 }, { -5, -3, 1, 10, 6, 14 }, { -5, -5, 1, 10, 10, 14 }, { -3, -5, 1, 6, 10, 14 }, + { -3, -6, 1, 6, 12, 14 }, { -3, -5, 1, 6, 10, 14 }, { -5, -5, 1, 10, 10, 14 }, { -5, -3, 1, 10, 6, 14 }, + { -6, -3, 1, 12, 6, 14 }, { -5, -3, 1, 10, 6, 14 }, { -5, -5, 1, 10, 10, 14 }, { -3, -5, 1, 6, 10, 14 }, + { -3, -6, 1, 6, 12, 14 }, { -3, -6, 1, 6, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -3, 1, 12, 6, 14 }, + { -6, -3, 2, 12, 6, 14 }, { -6, -3, 1, 12, 6, 14 }, { -8, -8, 1, 16, 16, 14 }, { -3, -6, 1, 6, 12, 14 }, + { -3, -6, 2, 6, 12, 14 }, { -3, -6, 1, 6, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -3, 1, 12, 6, 14 }, + { -6, -3, 1, 12, 6, 14 }, { -6, -3, 1, 12, 6, 14 }, { -8, -8, 1, 16, 16, 14 }, { -3, -6, 1, 6, 12, 14 }, + { -3, -6, 1, 6, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -3, 1, 12, 6, 7 }, { -8, -8, 1, 16, 16, 7 }, + { -3, -6, 1, 6, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -3, 1, 12, 6, 7 }, { 0, 0, 1, 8, 8, 7 }, + { -3, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, + { -6, -3, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, + { -3, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, + { -6, -3, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, + { 0, -6, 5, 3, 12, 5 }, { -6, -13, 5, 3, 12, 5 }, { -13, -6, 5, 12, 5, 5 }, { -6, 0, 5, 12, 3, 5 }, + { 0, -6, -4, 10, 12, 7 }, { 0, -6, -4, 10, 12, 7 }, { 0, -6, -4, 10, 12, 7 }, { -6, -12, -4, 12, 10, 7 }, + { -6, -12, -4, 12, 10, 7 }, { -6, -12, -4, 12, 10, 7 }, { -6, -12, -4, 12, 10, 7 }, { -6, -12, -4, 12, 10, 7 }, + { -12, -6, -4, 10, 12, 7 }, { -12, -6, -4, 10, 12, 7 }, { -12, -6, -4, 10, 12, 7 }, { -6, 0, -4, 12, 10, 7 }, + { -6, 0, -4, 12, 10, 7 }, { -6, 0, -4, 12, 10, 7 }, { -6, 0, -4, 12, 10, 7 }, { -6, 0, -4, 12, 10, 7 }, + { -3, -6, -4, 6, 12, 5 }, { -6, -13, -4, 3, 20, 5 }, { -13, -6, -4, 6, 5, 5 }, { -6, -3, -4, 12, 20, 5 }, + { -3, -6, 1, 6, 12, 6 }, { -6, -13, -10, 3, 6, 6 }, { -13, -6, -10, 6, 5, 6 }, { -6, -3, 1, 12, 6, 6 }, + { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, + { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, + { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, + { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, { -3, -6, -15, 6, 12, 6 }, { -6, -3, -15, 12, 6, 6 }, + { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, + { -8, -8, 1, 16, 16, 14 }, { -32, -32, 24, 4, 4, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, + { -3, -6, 1, 6, 12, 14 }, { -3, -5, 1, 6, 10, 14 }, { -5, -5, 1, 10, 10, 14 }, { -5, -3, 1, 10, 6, 14 }, + { -6, -3, 1, 12, 6, 14 }, { -5, -3, 1, 10, 6, 14 }, { -5, -5, 1, 10, 10, 14 }, { -3, -5, 1, 6, 10, 14 }, + { -3, -6, 1, 6, 12, 14 }, { -3, -5, 1, 6, 10, 14 }, { -5, -5, 1, 10, 10, 14 }, { -5, -3, 1, 10, 6, 14 }, + { -6, -3, 1, 12, 6, 14 }, { -5, -3, 1, 10, 6, 14 }, { -5, -5, 1, 10, 10, 14 }, { -3, -5, 1, 6, 10, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + },{ // 0x00990CFC: + { -12, -6, 1, 24, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -12, 1, 12, 24, 14 }, { -6, -11, 1, 12, 22, 14 }, { -10, -10, 1, 20, 20, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -12, -6, 1, 24, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -12, 1, 12, 24, 14 }, { -6, -11, 1, 12, 22, 14 }, { -10, -10, 1, 20, 20, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -11, -6, 1, 22, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -11, 3, 12, 22, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -11, -6, 3, 22, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -11, 1, 12, 22, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -12, -6, 1, 24, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -12, 1, 12, 24, 14 }, { -8, -8, 1, 16, 16, 14 }, + { -18, -6, 1, 24, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 24, 14 }, { 0, 0, 1, 8, 8, 14 }, + { -12, -6, 5, 24, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -12, 5, 12, 24, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -18, -6, 5, 24, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -14, 5, 12, 24, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { 0, -6, -10, 14, 12, 24 }, { -6, -17, -10, 3, 14, 24 }, { -17, -6, -10, 14, 5, 24 }, { -6, 0, -10, 12, 14, 24 }, + { 0, -6, -7, 10, 12, 14 }, { 0, -6, -7, 10, 12, 14 }, { 0, -6, -7, 10, 12, 14 }, { 0, -6, -7, 10, 12, 14 }, + { -6, -12, -7, 12, 10, 14 }, { -6, -12, -7, 12, 10, 14 }, { -6, -12, -7, 12, 10, 14 }, { -6, -12, -7, 12, 10, 14 }, + { -12, -6, -7, 10, 12, 14 }, { -12, -6, -7, 10, 12, 14 }, { -12, -6, -7, 10, 12, 14 }, { -12, -6, -7, 10, 12, 14 }, + { -6, 0, -7, 12, 10, 14 }, { -6, 0, -7, 12, 10, 14 }, { -6, 0, -7, 12, 10, 14 }, { -6, 0, -7, 12, 10, 14 }, + { -14, -6, -10, 28, 12, 24 }, { -6, -17, -10, 3, 28, 24 }, { -17, -6, -10, 28, 5, 24 }, { -6, -14, -10, 12, 28, 24 }, + { -14, -6, 1, 28, 12, 14 }, { -6, -17, -10, 3, 28, 24 }, { -17, -6, -10, 28, 5, 24 }, { -6, -14, 1, 12, 28, 14 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, + { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, + { -12, -6, 1, 24, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -12, 1, 12, 24, 14 }, { -6, -11, 1, 12, 22, 14 }, { -10, -10, 1, 20, 20, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -12, -6, 1, 24, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -12, 1, 12, 24, 14 }, { -6, -11, 1, 12, 22, 14 }, { -10, -10, 1, 20, 20, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + },{ // 0x0098FA6C: + { -18, -6, 1, 36, 12, 11 }, { -17, -6, 1, 34, 12, 11 }, { -15, -15, 1, 30, 30, 11 }, { -6, -17, 1, 12, 34, 11 }, + { -6, -18, 1, 12, 36, 11 }, { -6, -17, 1, 12, 34, 11 }, { -15, -15, 1, 30, 30, 11 }, { -17, -6, 1, 34, 12, 11 }, + { -18, -6, 1, 36, 12, 11 }, { -17, -6, 1, 34, 12, 11 }, { -15, -15, 1, 30, 30, 11 }, { -6, -17, 1, 12, 34, 11 }, + { -6, -18, 1, 12, 36, 11 }, { -6, -17, 1, 12, 34, 11 }, { -15, -15, 1, 30, 30, 11 }, { -17, -6, 1, 34, 12, 11 }, + { -14, -6, 1, 28, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -14, 3, 12, 28, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -14, -6, 3, 28, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -14, 1, 12, 28, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -14, -6, 1, 28, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 28, 14 }, { -8, -8, 1, 16, 16, 14 }, + { -14, -6, 1, 28, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 28, 14 }, { 0, 0, 1, 8, 8, 14 }, + { -3, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, + { -6, -8, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, + { -8, -6, 5, 6, 12, 7 }, { -8, -6, 1, 16, 12, 7 }, { -8, -8, 1, 16, 16, 7 }, { -6, -8, 1, 12, 16, 7 }, + { -6, -3, 5, 12, 6, 7 }, { -6, -8, 1, 12, 16, 7 }, { -8, -8, 1, 16, 16, 7 }, { -8, -6, 1, 16, 12, 7 }, + { 0, -6, 5, 3, 12, 5 }, { -6, -13, 5, 3, 12, 5 }, { -13, -6, 5, 12, 5, 5 }, { -6, 0, 5, 12, 3, 5 }, + { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { 0, -6, -8, 10, 12, 15 }, { -6, -12, -8, 12, 10, 15 }, + { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, { -6, -12, -8, 12, 10, 15 }, + { -12, -6, -8, 10, 12, 15 }, { -12, -6, -8, 10, 12, 15 }, { -12, -6, -8, 10, 12, 15 }, { -6, 0, -8, 12, 10, 15 }, + { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, { -6, 0, -8, 12, 10, 15 }, + { -3, -6, -4, 6, 12, 5 }, { -6, -13, -4, 3, 20, 5 }, { -13, -6, -4, 6, 5, 5 }, { -6, -3, -4, 12, 20, 5 }, + { -3, -6, 1, 6, 12, 6 }, { -6, -13, -10, 3, 6, 6 }, { -13, -6, -10, 6, 5, 6 }, { -6, -3, 1, 12, 6, 6 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, + { -8, -8, 1, 16, 16, 14 }, { -32, -32, 24, 4, 4, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, + { -14, -6, 1, 28, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, + { -6, -14, 1, 12, 28, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, + { -14, -6, 1, 28, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, + { -6, -14, 1, 12, 28, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, 10, 12, 12, 14 }, { -6, -6, 10, 12, 12, 14 }, + { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, { -6, -6, -12, 12, 12, 2 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + },{ // 0x0099177C: + { -16, -6, 1, 32, 12, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, + { -6, -16, 1, 12, 32, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, + { -16, -6, 1, 32, 12, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, + { -6, -16, 1, 12, 32, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, + { -13, -6, 1, 26, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -13, 3, 12, 26, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -13, -6, 3, 26, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -13, 1, 12, 26, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -14, -6, 1, 28, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 28, 14 }, { -8, -8, 1, 16, 16, 14 }, + { -18, -6, 1, 28, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -14, 1, 12, 28, 14 }, { 0, 0, 1, 8, 8, 14 }, + { -14, -6, 5, 28, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -14, 5, 12, 28, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -18, -6, 5, 28, 12, 14 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -14, 5, 12, 28, 14 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -14, -6, -10, 28, 12, 24 }, { -6, -17, -10, 3, 28, 24 }, { -17, -6, -10, 28, 5, 24 }, { -6, -14, -10, 12, 28, 24 }, + { 0, -6, -7, 10, 12, 14 }, { 0, -6, -7, 10, 12, 14 }, { 0, -6, -7, 10, 12, 14 }, { 0, -6, -7, 10, 12, 14 }, + { -6, -12, -7, 12, 10, 14 }, { -6, -12, -7, 12, 10, 14 }, { -6, -12, -7, 12, 10, 14 }, { -6, -12, -7, 12, 10, 14 }, + { -12, -6, -7, 10, 12, 14 }, { -12, -6, -7, 10, 12, 14 }, { -12, -6, -7, 10, 12, 14 }, { -12, -6, -7, 10, 12, 14 }, + { -6, 0, -7, 12, 10, 14 }, { -6, 0, -7, 12, 10, 14 }, { -6, 0, -7, 12, 10, 14 }, { -6, 0, -7, 12, 10, 14 }, + { -14, -6, -10, 28, 12, 24 }, { -6, -17, -10, 3, 28, 24 }, { -17, -6, -10, 28, 5, 24 }, { -6, -14, -10, 12, 28, 24 }, + { -14, -6, 1, 28, 12, 14 }, { -6, -17, -10, 3, 28, 24 }, { -17, -6, -10, 28, 5, 24 }, { -6, -14, 1, 12, 28, 14 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, { -14, -6, -15, 28, 12, 7 }, { -6, -14, -15, 12, 28, 7 }, + { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, + { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, { -10, -10, 1, 20, 20, 14 }, + { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { -8, -8, 1, 16, 16, 14 }, { 8, 8, 1, 8, 8, 14 }, + { -16, -6, 1, 32, 12, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, + { -6, -16, 1, 12, 32, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, + { -16, -6, 1, 32, 12, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, + { -6, -16, 1, 12, 32, 8 }, { -5, -5, 1, 10, 10, 8 }, { -4, -4, 1, 8, 8, 8 }, { -5, -5, 1, 10, 10, 8 }, + { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, + { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, + { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, + { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, + { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, { -16, -6, 1, 32, 12, 8 }, { -6, -16, 1, 12, 32, 8 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, 1, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, 1, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + { -10, -6, -23, 20, 12, 14 }, { -6, -10, 1, 12, 20, 14 }, { -10, -6, -23, 20, 12, 14 }, { -6, -10, -23, 12, 20, 14 }, + },{ // 0x009900FC: + { -16, -6, 1, 32, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, + { -6, -16, 1, 12, 32, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, + { -16, -6, 1, 32, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, + { -6, -16, 1, 12, 32, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, + { -14, -6, 5, 28, 12, 9 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -14, 5, 12, 28, 9 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -14, -6, 5, 28, 12, 9 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -14, 5, 12, 28, 9 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, + { -10, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -11, -33, 3, 16, 19 }, { -8, -8, -28, 16, 16, 14 }, + { -11, -6, -33, 16, 5, 19 }, { -8, -8, -28, 16, 16, 14 }, { -6, -10, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -10, -6, -28, 16, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -3, -10, -39, 3, 16, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -10, -6, -39, 16, 3, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -6, -10, -28, 12, 16, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -2, -3, -39, 3, 10, 29 }, { -3, -2, -39, 10, 3, 29 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, + { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, + { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, + { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, + { -10, -6, -39, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -39, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -28, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -28, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -44, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -34, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, + { -6, -8, 11, 12, 16, 4 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + },{ // 0x009901BC: + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, + { -10, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -11, -33, 3, 16, 19 }, { -8, -8, -28, 16, 16, 14 }, + { -11, -6, -33, 16, 5, 19 }, { -8, -8, -28, 16, 16, 14 }, { -6, -10, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -10, -6, -28, 16, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -3, -10, -39, 3, 16, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -10, -6, -39, 16, 3, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -6, -10, -28, 12, 16, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -2, -3, -39, 3, 10, 29 }, { -3, -2, -39, 10, 3, 29 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, + { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, + { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, + { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, + { -10, -6, -39, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -39, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -28, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -28, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -44, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -34, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -8, -6, 11, 16, 12, 4 }, { -8, -6, 11, 16, 12, 4 }, { -8, -8, 11, 16, 16, 4 }, { -6, -8, 11, 12, 16, 4 }, + { -6, -8, 11, 12, 16, 4 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, 11, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -6, -10, 11, 12, 20, 14 }, { -10, -6, -28, 20, 12, 14 }, { -6, -10, -28, 12, 20, 14 }, + },{ // 0x0098FFAC: + { -3, -6, -1, 6, 12, 1 }, { -3, -5, -1, 6, 10, 1 }, { -5, -5, -1, 10, 10, 1 }, { -5, -3, -1, 10, 6, 1 }, + { -6, -3, -1, 12, 6, 1 }, { -5, -3, -1, 10, 6, 1 }, { -5, -5, -1, 10, 10, 1 }, { -3, -5, -1, 6, 10, 1 }, + { -3, -6, -1, 6, 12, 1 }, { -3, -5, -1, 6, 10, 1 }, { -5, -5, -1, 10, 10, 1 }, { -5, -3, -1, 10, 6, 1 }, + { -6, -3, -1, 12, 6, 1 }, { -5, -3, -1, 10, 6, 1 }, { -5, -5, -1, 10, 10, 1 }, { -3, -5, -1, 6, 10, 1 }, + { -3, -6, -8, 6, 12, 1 }, { -3, -6, -1, 6, 12, 1 }, { -8, -8, -1, 16, 16, 1 }, { -6, -3, -1, 12, 6, 1 }, + { -6, -3, 0, 12, 6, 1 }, { -6, -3, -1, 12, 6, 1 }, { -8, -8, -1, 16, 16, 1 }, { -3, -6, -1, 6, 12, 1 }, + { -3, -6, 0, 6, 12, 1 }, { -3, -6, -1, 6, 12, 1 }, { -8, -8, -1, 16, 16, 1 }, { -6, -3, -1, 12, 6, 1 }, + { -6, -3, -8, 12, 6, 1 }, { -6, -3, -1, 12, 6, 1 }, { -8, -8, -1, 16, 16, 1 }, { -3, -6, -1, 6, 12, 1 }, + { -3, -6, -10, 6, 12, 1 }, { -8, -8, -2, 16, 16, 1 }, { -6, -3, -2, 12, 6, 1 }, { -8, -8, -2, 16, 16, 1 }, + { -3, -6, -2, 6, 12, 1 }, { -8, -8, -2, 16, 16, 1 }, { -6, -3, -10, 12, 6, 1 }, { 0, 0, -2, 8, 8, 1 }, + { -3, -6, -12, 6, 12, 1 }, { -8, -6, -6, 16, 12, 1 }, { -8, -8, -6, 16, 16, 1 }, { -6, -8, -6, 12, 16, 1 }, + { -6, -3, -2, 12, 6, 1 }, { -6, -8, -6, 12, 16, 1 }, { -8, -8, -6, 16, 16, 1 }, { -8, -6, -6, 16, 12, 1 }, + { -3, -6, -2, 6, 12, 1 }, { -8, -6, -6, 16, 12, 1 }, { -8, -8, -6, 16, 16, 1 }, { -6, -8, -6, 12, 16, 1 }, + { -6, -3, -12, 12, 6, 1 }, { -6, -8, -6, 12, 16, 1 }, { -8, -8, -6, 16, 16, 1 }, { -8, -6, -6, 16, 12, 1 }, + { -16, -6, 1, 32, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, + { -6, -16, 1, 12, 32, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, + { -16, -6, 1, 32, 12, 14 }, { -12, -6, 1, 24, 12, 14 }, { -10, -10, 1, 20, 20, 14 }, { -6, -12, 1, 12, 24, 14 }, + { -6, -16, 1, 12, 32, 14 }, { -6, -12, 1, 12, 24, 14 }, { -10, -10, 1, 20, 20, 14 }, { -12, -6, 1, 24, 12, 14 }, + { -14, -6, 5, 28, 12, 9 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -14, 5, 12, 28, 9 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -14, -6, 5, 28, 12, 9 }, { -11, -6, 1, 22, 12, 14 }, { -8, -8, 1, 16, 16, 14 }, { -6, -11, 1, 12, 22, 14 }, + { -6, -14, 5, 12, 28, 9 }, { -6, -11, 1, 12, 22, 14 }, { -8, -8, 1, 16, 16, 14 }, { -11, -6, 1, 22, 12, 14 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, { -6, -6, -4, 12, 12, 1 }, + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -8, -6, -28, 16, 12, 14 }, { -8, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, + { -6, -8, -28, 12, 16, 14 }, { -6, -8, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -6, -28, 16, 12, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -9, -6, -28, 18, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -9, -28, 12, 18, 14 }, + { -6, -6, -28, 12, 12, 14 }, { -6, -9, -28, 12, 18, 14 }, { -8, -8, -28, 16, 16, 14 }, { -9, -6, -28, 18, 12, 14 }, + { -10, -6, -28, 16, 12, 14 }, { -8, -8, -28, 16, 16, 14 }, { -6, -11, -33, 3, 16, 19 }, { -8, -8, -28, 16, 16, 14 }, + { -11, -6, -33, 16, 5, 19 }, { -8, -8, -28, 16, 16, 14 }, { -6, -10, -28, 12, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + { -10, -6, -28, 16, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -3, -10, -39, 3, 16, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -10, -6, -39, 16, 3, 27 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -6, -10, -28, 12, 16, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, { -6, -6, -28, 12, 12, 14 }, + { -10, -6, -28, 20, 12, 14 }, { -2, -3, -39, 3, 10, 29 }, { -3, -2, -39, 10, 3, 29 }, { -6, -10, -28, 12, 20, 14 }, + { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, { -10, -6, -49, 5, 12, 34 }, + { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, { -2, 4, -39, 3, 10, 29 }, + { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, { -13, -6, -39, 20, 5, 24 }, + { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, { -6, -15, -28, 12, 10, 14 }, + { -10, -6, -39, 4, 12, 24 }, { -2, 4, -10, 3, 10, 24 }, { -3, -6, -39, 10, 5, 24 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -28, 3, 12, 14 }, { -6, 0, -10, 3, 10, 24 }, { -3, -6, -28, 10, 5, 14 }, { -6, -15, -10, 12, 10, 14 }, + { -10, -6, -44, 20, 12, 7 }, { -6, 0, -5, 12, 10, 7 }, { 0, -6, -34, 10, 12, 7 }, { -6, -15, -5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, 0, 5, 12, 10, 7 }, { 0, -6, 5, 10, 12, 7 }, { -6, -10, 5, 12, 10, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, { -10, -6, 5, 20, 12, 7 }, { -6, -10, 5, 12, 20, 7 }, + { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, { -8, -8, -28, 16, 16, 14 }, + },{ // 0x0099273C: + { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, + { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, + { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, + { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, { -6, -6, 0, 12, 12, 31 }, + } }; // 6D5214 static void vehicle_sprite_paint(rct_vehicle *vehicle, sint32 ebx, sint32 ecx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - sint32 baseImage_id = ebx; - vehicle_boundbox bb = VehicleBoundboxes[vehicleEntry->draw_order][ecx]; - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_14) { - baseImage_id += (vehicle->var_BA / 8) & 31; - } - if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_A_7) { - baseImage_id += vehicle->var_C5; - } - uint32 rotation = get_current_rotation(); - sint32 image_id = baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0x80000000; - paint_struct* ps = sub_98197C(image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z, rotation); - if (ps != NULL) { - ps->tertiary_colour = vehicle->colours_extended; - } - rct_drawpixelinfo* dpi = unk_140E9A8; - if (dpi->zoom_level < 2 && vehicle->num_peeps > 0 && vehicleEntry->no_seating_rows > 0) { - baseImage_id += vehicleEntry->no_vehicle_images; - for (sint32 i = 0; i < 8; i++){ - if (vehicle->num_peeps > (i * 2) && vehicleEntry->no_seating_rows > i) { - image_id = baseImage_id | (vehicle->peep_tshirt_colours[i * 2] << 19) | (vehicle->peep_tshirt_colours[(i * 2) + 1] << 24) | 0xA0000000; - if (i == 0 && vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_A_8) { - image_id += (vehicleEntry->no_vehicle_images * vehicle->var_C5); - } - sub_98199C(image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z, rotation); - baseImage_id += vehicleEntry->no_vehicle_images; - } - } - } - vehicle_visual_splash_effect(z, vehicle, vehicleEntry); + sint32 baseImage_id = ebx; + vehicle_boundbox bb = VehicleBoundboxes[vehicleEntry->draw_order][ecx]; + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_14) { + baseImage_id += (vehicle->var_BA / 8) & 31; + } + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_A_7) { + baseImage_id += vehicle->var_C5; + } + uint32 rotation = get_current_rotation(); + sint32 image_id = baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0x80000000; + paint_struct* ps = sub_98197C(image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z, rotation); + if (ps != NULL) { + ps->tertiary_colour = vehicle->colours_extended; + } + rct_drawpixelinfo* dpi = unk_140E9A8; + if (dpi->zoom_level < 2 && vehicle->num_peeps > 0 && vehicleEntry->no_seating_rows > 0) { + baseImage_id += vehicleEntry->no_vehicle_images; + for (sint32 i = 0; i < 8; i++){ + if (vehicle->num_peeps > (i * 2) && vehicleEntry->no_seating_rows > i) { + image_id = baseImage_id | (vehicle->peep_tshirt_colours[i * 2] << 19) | (vehicle->peep_tshirt_colours[(i * 2) + 1] << 24) | 0xA0000000; + if (i == 0 && vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_A_8) { + image_id += (vehicleEntry->no_vehicle_images * vehicle->var_C5); + } + sub_98199C(image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z, rotation); + baseImage_id += vehicleEntry->no_vehicle_images; + } + } + } + vehicle_visual_splash_effect(z, vehicle, vehicleEntry); } // 6D520E static void vehicle_sprite_paint_6D520E(rct_vehicle *vehicle, sint32 ebx, sint32 ecx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - vehicle_sprite_paint(vehicle, ebx + vehicle->var_4A, ecx, z, vehicleEntry); + vehicle_sprite_paint(vehicle, ebx + vehicle->var_4A, ecx, z, vehicleEntry); } // 6D51EB static void vehicle_sprite_paint_6D51EB(rct_vehicle *vehicle, sint32 ebx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - sint32 ecx = ebx / 2; - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_11) { - ebx = ebx / 2; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_15) { - ebx = ebx / 8; - } - ebx = (ebx * vehicleEntry->var_16) + vehicle->var_4A + vehicleEntry->base_image_id; - vehicle_sprite_paint(vehicle, ebx, ecx, z, vehicleEntry); + sint32 ecx = ebx / 2; + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_11) { + ebx = ebx / 2; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_15) { + ebx = ebx / 8; + } + ebx = (ebx * vehicleEntry->var_16) + vehicle->var_4A + vehicleEntry->base_image_id; + vehicle_sprite_paint(vehicle, ebx, ecx, z, vehicleEntry); } // 6D51DE static void vehicle_sprite_paint_6D51DE(rct_vehicle *vehicle, sint32 ebx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->restraints_position < 64) { - vehicle_sprite_paint_6D51EB(vehicle, ebx, z, vehicleEntry); - return; - } - if (!(vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION)) { - vehicle_sprite_paint_6D51EB(vehicle, ebx, z, vehicleEntry); - return; - } - if (ebx & 7) { - vehicle_sprite_paint_6D51EB(vehicle, ebx, z, vehicleEntry); - return; - } - sint32 ecx = ebx / 2; - ebx = ebx / 8; - ebx += ((vehicle->restraints_position - 64) / 64) * 4; - ebx *= vehicleEntry->var_16; - ebx += vehicleEntry->var_1C; - vehicle_sprite_paint(vehicle, ebx, ecx, z, vehicleEntry); + if (vehicle->restraints_position < 64) { + vehicle_sprite_paint_6D51EB(vehicle, ebx, z, vehicleEntry); + return; + } + if (!(vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION)) { + vehicle_sprite_paint_6D51EB(vehicle, ebx, z, vehicleEntry); + return; + } + if (ebx & 7) { + vehicle_sprite_paint_6D51EB(vehicle, ebx, z, vehicleEntry); + return; + } + sint32 ecx = ebx / 2; + ebx = ebx / 8; + ebx += ((vehicle->restraints_position - 64) / 64) * 4; + ebx *= vehicleEntry->var_16; + ebx += vehicleEntry->var_1C; + vehicle_sprite_paint(vehicle, ebx, ecx, z, vehicleEntry); } // 6D51DE static void vehicle_sprite_0_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); } // 6D4EE7 static void vehicle_sprite_0_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { - sint32 ecx = imageDirection / 2; - sint32 ebx = ((imageDirection / 4) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { + sint32 ecx = imageDirection / 2; + sint32 ebx = ((imageDirection / 4) * vehicleEntry->var_16) + vehicleEntry->var_30; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4F34 static void vehicle_sprite_0_2(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { - sint32 ecx = (imageDirection / 2) + 108; - sint32 ebx = ((imageDirection + 16) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { + sint32 ecx = (imageDirection / 2) + 108; + sint32 ebx = ((imageDirection + 16) * vehicleEntry->var_16) + vehicleEntry->var_30; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4F0C static void vehicle_sprite_0_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { - sint32 ecx = imageDirection / 2; - sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { + sint32 ecx = imageDirection / 2; + sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->var_16) + vehicleEntry->var_30; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4F5C static void vehicle_sprite_0_4(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { - sint32 ecx = ((imageDirection / 2) ^ 8) + 108; - sint32 ebx = ((imageDirection + 48) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { + sint32 ecx = ((imageDirection / 2) ^ 8) + 108; + sint32 ebx = ((imageDirection + 48) * vehicleEntry->var_16) + vehicleEntry->var_30; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4F84 static void vehicle_sprite_0_5(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { - sint32 ecx = (imageDirection / 8) + 124; - sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { + sint32 ecx = (imageDirection / 8) + 124; + sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_34; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4FE4 static void vehicle_sprite_0_6(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { - sint32 ecx = (imageDirection / 8) + 128; - sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { + sint32 ecx = (imageDirection / 8) + 128; + sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_34; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); + } } // 6D5055 static void vehicle_sprite_0_7(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { - sint32 ecx = (imageDirection / 8) + 132; - sint32 ebx = (((imageDirection / 8) + 16) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { + sint32 ecx = (imageDirection / 8) + 132; + sint32 ebx = (((imageDirection / 8) + 16) * vehicleEntry->var_16) + vehicleEntry->var_34; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); + } } // 6D50C6 static void vehicle_sprite_0_8(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { - sint32 ecx = (imageDirection / 8) + 136; - sint32 ebx = (((imageDirection / 8) + 24) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { + sint32 ecx = (imageDirection / 8) + 136; + sint32 ebx = (((imageDirection / 8) + 24) * vehicleEntry->var_16) + vehicleEntry->var_34; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); + } } // 6D5137 static void vehicle_sprite_0_9(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { - sint32 ecx = (imageDirection / 8) + 140; - sint32 ebx = (((imageDirection / 8) + 32) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { + sint32 ecx = (imageDirection / 8) + 140; + sint32 ebx = (((imageDirection / 8) + 32) * vehicleEntry->var_16) + vehicleEntry->var_34; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4FB1 static void vehicle_sprite_0_10(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 124; - sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 124; + sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_34; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); + } } // 6D501B static void vehicle_sprite_0_11(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 128; - sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 128; + sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_34; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); + } } // 6D508C static void vehicle_sprite_0_12(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 132; - sint32 ebx = (((imageDirection / 8) + 20) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 132; + sint32 ebx = (((imageDirection / 8) + 20) * vehicleEntry->var_16) + vehicleEntry->var_34; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); + } } // 6D50FD static void vehicle_sprite_0_13(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 136; - sint32 ebx = (((imageDirection / 8) + 28) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 136; + sint32 ebx = (((imageDirection / 8) + 28) * vehicleEntry->var_16) + vehicleEntry->var_34; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); + } } // 6D516E static void vehicle_sprite_0_14(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 140; - sint32 ebx = (((imageDirection / 8) + 36) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 140; + sint32 ebx = (((imageDirection / 8) + 36) * vehicleEntry->var_16) + vehicleEntry->var_34; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4EE4 static void vehicle_sprite_0_16(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - vehicleEntry--; - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { - sint32 ecx = imageDirection / 2; - sint32 ebx = ((imageDirection / 4) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); - } + vehicleEntry--; + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { + sint32 ecx = imageDirection / 2; + sint32 ebx = ((imageDirection / 4) * vehicleEntry->var_16) + vehicleEntry->var_30; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4F31 static void vehicle_sprite_0_17(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - vehicleEntry--; - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { - sint32 ecx = (imageDirection / 2) + 108; - sint32 ebx = ((imageDirection + 16) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); - } + vehicleEntry--; + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { + sint32 ecx = (imageDirection / 2) + 108; + sint32 ebx = ((imageDirection + 16) * vehicleEntry->var_16) + vehicleEntry->var_30; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4F09 static void vehicle_sprite_0_18(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - vehicleEntry--; - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { - sint32 ecx = imageDirection / 2; - sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); - } + vehicleEntry--; + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { + sint32 ecx = imageDirection / 2; + sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->var_16) + vehicleEntry->var_30; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4F59 static void vehicle_sprite_0_19(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - vehicleEntry--; - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { - sint32 ecx = ((imageDirection / 2) ^ 8) + 108; - sint32 ebx = ((imageDirection + 48) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); - } + vehicleEntry--; + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { + sint32 ecx = ((imageDirection / 2) ^ 8) + 108; + sint32 ebx = ((imageDirection + 48) * vehicleEntry->var_16) + vehicleEntry->var_30; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + } } // 6D51D7 static void vehicle_sprite_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - // 0x009A3DE4: - switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_0_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_0_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_0_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_0_5(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_0_6(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_0_7(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_0_8(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_0_9(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_0_10(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_0_11(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_0_12(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_0_13(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_0_14(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_0_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_0_16(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_0_17(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_0_18(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_0_19(vehicle, imageDirection, z, vehicleEntry); break; - } + // 0x009A3DE4: + switch (vehicle->bank_rotation) { + case 0: vehicle_sprite_0_0(vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_0_1(vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_0_3(vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_0_5(vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_0_6(vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_0_7(vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_0_8(vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_0_9(vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_0_10(vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_0_11(vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_0_12(vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_0_13(vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_0_14(vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_0_0(vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_0_16(vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_0_17(vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_0_18(vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_0_19(vehicle, imageDirection, z, vehicleEntry); break; + } } // 6D4614 static void vehicle_sprite_1_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { - sint32 ecx = imageDirection / 2; - sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_20; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { + sint32 ecx = imageDirection / 2; + sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_20; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4662 static void vehicle_sprite_1_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS) { - sint32 ecx = imageDirection / 2; - sint32 ebx = (imageDirection * vehicleEntry->var_16) + vehicleEntry->var_38; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS) { + sint32 ecx = imageDirection / 2; + sint32 ebx = (imageDirection * vehicleEntry->var_16) + vehicleEntry->var_38; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D46DB static void vehicle_sprite_1_2(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS) { - sint32 ecx = imageDirection / 2; - sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_48; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_1_1(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS) { + sint32 ecx = imageDirection / 2; + sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_48; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_1_1(vehicle, imageDirection, z, vehicleEntry); + } } // 6D467D static void vehicle_sprite_1_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS) { - sint32 ecx = imageDirection / 2; - sint32 ebx = ((imageDirection + 32) * vehicleEntry->var_16) + vehicleEntry->var_38; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS) { + sint32 ecx = imageDirection / 2; + sint32 ebx = ((imageDirection + 32) * vehicleEntry->var_16) + vehicleEntry->var_38; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D46FD static void vehicle_sprite_1_4(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS) { - sint32 ecx = imageDirection / 2; - sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_48; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_1_3(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS) { + sint32 ecx = imageDirection / 2; + sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_48; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_1_3(vehicle, imageDirection, z, vehicleEntry); + } } // 6D460D static void vehicle_sprite_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - // 0x009A3C04: - switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_1_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_1_2(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_1_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_1_4(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_1_1(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_1_2(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_1_3(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_1_4(vehicle, imageDirection, z, vehicleEntry); break; - } + // 0x009A3C04: + switch (vehicle->bank_rotation) { + case 0: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_1_1(vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_1_2(vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_1_3(vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_1_4(vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_1_1(vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_1_2(vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_1_3(vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_1_4(vehicle, imageDirection, z, vehicleEntry); break; + } } // 6D4791 static void vehicle_sprite_2_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_14) { - sint32 ecx = (imageDirection / 2) + 16; - sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_20; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - sint32 ecx = (imageDirection / 2) + 16; - sint32 ebx = ((imageDirection + 8) * vehicleEntry->var_16) + vehicleEntry->var_20; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } - } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_14) { + sint32 ecx = (imageDirection / 2) + 16; + sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_20; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + sint32 ecx = (imageDirection / 2) + 16; + sint32 ebx = ((imageDirection + 8) * vehicleEntry->var_16) + vehicleEntry->var_20; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } + } else { + vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4833 static void vehicle_sprite_2_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS) { - sint32 ecx = (imageDirection / 2) + 16; - sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_40; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS) { + sint32 ecx = (imageDirection / 2) + 16; + sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_40; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D48D6 static void vehicle_sprite_2_2(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS) { - sint32 ecx = imageDirection / 2; - if (vehicleEntry->draw_order < 5) { - ecx += 108; - sint32 ebx = (imageDirection * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - ecx += 16; - sint32 ebx = (imageDirection * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } - } else { - vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS) { + sint32 ecx = imageDirection / 2; + if (vehicleEntry->draw_order < 5) { + ecx += 108; + sint32 ebx = (imageDirection * vehicleEntry->var_16) + vehicleEntry->var_44; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + ecx += 16; + sint32 ebx = (imageDirection * vehicleEntry->var_16) + vehicleEntry->var_44; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } + } else { + vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4858 static void vehicle_sprite_2_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS) { - sint32 ecx = (imageDirection / 2) + 16; - sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_40; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS) { + sint32 ecx = (imageDirection / 2) + 16; + sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_40; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4910 static void vehicle_sprite_2_4(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS) { - sint32 ecx = imageDirection / 2; - if (vehicleEntry->draw_order < 5) { - ecx = (ecx ^ 8) + 108; - sint32 ebx = ((imageDirection + 32) * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - ecx += 16; - sint32 ebx = ((imageDirection + 32) * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } - } else { - vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS) { + sint32 ecx = imageDirection / 2; + if (vehicleEntry->draw_order < 5) { + ecx = (ecx ^ 8) + 108; + sint32 ebx = ((imageDirection + 32) * vehicleEntry->var_16) + vehicleEntry->var_44; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + ecx += 16; + sint32 ebx = ((imageDirection + 32) * vehicleEntry->var_16) + vehicleEntry->var_44; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } + } else { + vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D476C static void vehicle_sprite_2(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - // 0x009A3CA4: - switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_2_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_2_2(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_2_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_2_4(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_2_1(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_2_2(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_2_3(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_2_4(vehicle, imageDirection, z, vehicleEntry); break; - } + // 0x009A3CA4: + switch (vehicle->bank_rotation) { + case 0: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_2_1(vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_2_2(vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_2_3(vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_2_4(vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_2_1(vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_2_2(vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_2_3(vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_2_4(vehicle, imageDirection, z, vehicleEntry); break; + } } // 6D49DC static void vehicle_sprite_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (!(vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES)) { - vehicle_sprite_2(vehicle, imageDirection, z, vehicleEntry); - } else { - sint32 ecx = (imageDirection / 4) + 32; - sint32 ebx = ((imageDirection / 4) * vehicleEntry->var_16) + vehicleEntry->var_24; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } + if (!(vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES)) { + vehicle_sprite_2(vehicle, imageDirection, z, vehicleEntry); + } else { + sint32 ecx = (imageDirection / 4) + 32; + sint32 ebx = ((imageDirection / 4) * vehicleEntry->var_16) + vehicleEntry->var_24; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } } // 6D4A31 static void vehicle_sprite_4(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (!(vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES)) { - vehicle_sprite_2(vehicle, imageDirection, z, vehicleEntry); - } else { - sint32 ecx = (imageDirection / 2) + 40; - sint32 ebx = ((imageDirection + 16) * vehicleEntry->var_16) + vehicleEntry->var_24; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } + if (!(vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES)) { + vehicle_sprite_2(vehicle, imageDirection, z, vehicleEntry); + } else { + sint32 ecx = (imageDirection / 2) + 40; + sint32 ebx = ((imageDirection + 16) * vehicleEntry->var_16) + vehicleEntry->var_24; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } } // 6D463D static void vehicle_sprite_5_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { - sint32 ecx = imageDirection / 2; - sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_20; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { + sint32 ecx = imageDirection / 2; + sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_20; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D469B static void vehicle_sprite_5_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS) { - sint32 ecx = imageDirection / 2; - sint32 ebx = ((imageDirection + 64) * vehicleEntry->var_16) + vehicleEntry->var_38; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS) { + sint32 ecx = imageDirection / 2; + sint32 ebx = ((imageDirection + 64) * vehicleEntry->var_16) + vehicleEntry->var_38; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4722 static void vehicle_sprite_5_2(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS) { - sint32 ecx = imageDirection / 2; - sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_48; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_5_1(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS) { + sint32 ecx = imageDirection / 2; + sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_48; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_5_1(vehicle, imageDirection, z, vehicleEntry); + } } // 6D46B9 static void vehicle_sprite_5_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS) { - sint32 ecx = imageDirection / 2; - sint32 ebx = ((imageDirection + 96) * vehicleEntry->var_16) + vehicleEntry->var_38; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS) { + sint32 ecx = imageDirection / 2; + sint32 ebx = ((imageDirection + 96) * vehicleEntry->var_16) + vehicleEntry->var_38; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4747 static void vehicle_sprite_5_4(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS) { - sint32 ecx = imageDirection / 2; - sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_48; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_5_3(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS) { + sint32 ecx = imageDirection / 2; + sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_48; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_5_3(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4636 static void vehicle_sprite_5(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - // 0x009A3C54: - switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_5_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_5_2(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_5_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_5_4(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_5_1(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_5_2(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_5_3(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_5_4(vehicle, imageDirection, z, vehicleEntry); break; - } + // 0x009A3C54: + switch (vehicle->bank_rotation) { + case 0: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_5_1(vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_5_2(vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_5_3(vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_5_4(vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_5_1(vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_5_2(vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_5_3(vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_5_4(vehicle, imageDirection, z, vehicleEntry); break; + } } // 6D47E4 static void vehicle_sprite_6_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_14) { - sint32 ecx = ((imageDirection / 2) ^ 8) + 16; - sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_20; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - sint32 ecx = ((imageDirection / 2) ^ 8) + 16; - sint32 ebx = ((imageDirection + 40) * vehicleEntry->var_16) + vehicleEntry->var_20; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } - } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_14) { + sint32 ecx = ((imageDirection / 2) ^ 8) + 16; + sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_20; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + sint32 ecx = ((imageDirection / 2) ^ 8) + 16; + sint32 ebx = ((imageDirection + 40) * vehicleEntry->var_16) + vehicleEntry->var_20; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } + } else { + vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4880 static void vehicle_sprite_6_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS) { - sint32 ecx = ((imageDirection / 2) ^ 8) + 16; - sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_40; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS) { + sint32 ecx = ((imageDirection / 2) ^ 8) + 16; + sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_40; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4953 static void vehicle_sprite_6_2(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS) { - sint32 ecx = imageDirection / 2; - if (vehicleEntry->draw_order < 5) { - ecx += 108; - sint32 ebx = ((imageDirection + 64) * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - ecx = (ecx ^ 8) + 16; - sint32 ebx = ((imageDirection + 64) * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } - } else { - vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS) { + sint32 ecx = imageDirection / 2; + if (vehicleEntry->draw_order < 5) { + ecx += 108; + sint32 ebx = ((imageDirection + 64) * vehicleEntry->var_16) + vehicleEntry->var_44; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + ecx = (ecx ^ 8) + 16; + sint32 ebx = ((imageDirection + 64) * vehicleEntry->var_16) + vehicleEntry->var_44; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } + } else { + vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D48AB static void vehicle_sprite_6_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS) { - sint32 ecx = ((imageDirection / 2) ^ 8) + 16; - sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_40; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS) { + sint32 ecx = ((imageDirection / 2) ^ 8) + 16; + sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_40; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4996 static void vehicle_sprite_6_4(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS) { - sint32 ecx = imageDirection / 2; - if (vehicleEntry->draw_order < 5) { - ecx = (ecx ^ 8) + 108; - sint32 ebx = ((imageDirection + 96) * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - ecx = (ecx ^ 8) + 16; - sint32 ebx = ((imageDirection + 96) * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } - } else { - vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS) { + sint32 ecx = imageDirection / 2; + if (vehicleEntry->draw_order < 5) { + ecx = (ecx ^ 8) + 108; + sint32 ebx = ((imageDirection + 96) * vehicleEntry->var_16) + vehicleEntry->var_44; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + ecx = (ecx ^ 8) + 16; + sint32 ebx = ((imageDirection + 96) * vehicleEntry->var_16) + vehicleEntry->var_44; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } + } else { + vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D47DD static void vehicle_sprite_6(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - // 0x009A3CF4: - switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_6_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_6_2(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_6_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_6_4(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_6_1(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_6_2(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_6_3(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_6_4(vehicle, imageDirection, z, vehicleEntry); break; - } + // 0x009A3CF4: + switch (vehicle->bank_rotation) { + case 0: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_6_1(vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_6_2(vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_6_3(vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_6_4(vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_6_1(vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_6_2(vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_6_3(vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_6_4(vehicle, imageDirection, z, vehicleEntry); break; + } } // 6D4A05 static void vehicle_sprite_7(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES) { - sint32 ecx = ((imageDirection / 4) ^ 4) + 32; - sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->var_16) + vehicleEntry->var_24; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES) { + sint32 ecx = ((imageDirection / 4) ^ 4) + 32; + sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->var_16) + vehicleEntry->var_24; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4A59 static void vehicle_sprite_8(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES) { - sint32 ecx = ((imageDirection / 2) ^ 8) + 40; - sint32 ebx = ((imageDirection + 48) * vehicleEntry->var_16) + vehicleEntry->var_24; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES) { + sint32 ecx = ((imageDirection / 2) ^ 8) + 40; + sint32 ebx = ((imageDirection + 48) * vehicleEntry->var_16) + vehicleEntry->var_24; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4A81 static void vehicle_sprite_9(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = (imageDirection / 8) + 56; - sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = (imageDirection / 8) + 56; + sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4AE8 static void vehicle_sprite_10(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = (imageDirection / 2) + 60; - sint32 ebx = ((imageDirection + 8) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = (imageDirection / 2) + 60; + sint32 ebx = ((imageDirection + 8) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4B57 static void vehicle_sprite_11(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = (imageDirection / 8) + 76; - sint32 ebx = (((imageDirection / 8) + 72) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = (imageDirection / 8) + 76; + sint32 ebx = (((imageDirection / 8) + 72) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4BB7 static void vehicle_sprite_12(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = (imageDirection / 8) + 80; - sint32 ebx = (((imageDirection / 8) + 80) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = (imageDirection / 8) + 80; + sint32 ebx = (((imageDirection / 8) + 80) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4C17 static void vehicle_sprite_13(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = (imageDirection / 8) + 84; - sint32 ebx = (((imageDirection / 8) + 88) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = (imageDirection / 8) + 84; + sint32 ebx = (((imageDirection / 8) + 88) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4C77 static void vehicle_sprite_14(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = (imageDirection / 8) + 88; - sint32 ebx = (((imageDirection / 8) + 96) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = (imageDirection / 8) + 88; + sint32 ebx = (((imageDirection / 8) + 96) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4CD7 static void vehicle_sprite_15(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = (imageDirection / 8) + 92; - sint32 ebx = (((imageDirection / 8) + 104) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = (imageDirection / 8) + 92; + sint32 ebx = (((imageDirection / 8) + 104) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4D37 static void vehicle_sprite_16(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = (imageDirection / 8) + 96; - sint32 ebx = (((imageDirection / 8) + 112) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = (imageDirection / 8) + 96; + sint32 ebx = (((imageDirection / 8) + 112) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4AA3 static void vehicle_sprite_17(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - if( (vehicle->track_type >> 2) != TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN && - (vehicle->track_type >> 2) != TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN) { - vehicleEntry--; - } - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 56; - sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + if( (vehicle->track_type >> 2) != TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN && + (vehicle->track_type >> 2) != TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN) { + vehicleEntry--; + } + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 56; + sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4B0D static void vehicle_sprite_18(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - if( (vehicle->track_type >> 2) != TRACK_ELEM_90_DEG_DOWN && - (vehicle->track_type >> 2) != TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN && - (vehicle->track_type >> 2) != TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN) { - vehicleEntry--; - } - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = ((imageDirection / 2) ^ 8) + 60; - sint32 ebx = ((imageDirection + 40) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + if( (vehicle->track_type >> 2) != TRACK_ELEM_90_DEG_DOWN && + (vehicle->track_type >> 2) != TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN && + (vehicle->track_type >> 2) != TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN) { + vehicleEntry--; + } + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = ((imageDirection / 2) ^ 8) + 60; + sint32 ebx = ((imageDirection + 40) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4B80 static void vehicle_sprite_19(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 76; - sint32 ebx = (((imageDirection / 8) + 76) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 76; + sint32 ebx = (((imageDirection / 8) + 76) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4BE0 static void vehicle_sprite_20(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 80; - sint32 ebx = (((imageDirection / 8) + 84) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 80; + sint32 ebx = (((imageDirection / 8) + 84) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4C40 static void vehicle_sprite_21(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 84; - sint32 ebx = (((imageDirection / 8) + 92) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 84; + sint32 ebx = (((imageDirection / 8) + 92) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4CA0 static void vehicle_sprite_22(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 88; - sint32 ebx = (((imageDirection / 8) + 100) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 88; + sint32 ebx = (((imageDirection / 8) + 100) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4D00 static void vehicle_sprite_23(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 92; - sint32 ebx = (((imageDirection / 8) + 108) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 92; + sint32 ebx = (((imageDirection / 8) + 108) * vehicleEntry->var_16) + vehicleEntry->var_28; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + } } // 6D51A5 static void vehicle_sprite_24(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry--; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_CORKSCREWS) { - sint32 eax = ((vehicle->vehicle_sprite_type - 24) * 4); - sint32 ecx = (imageDirection / 8) + eax + 144; - sint32 ebx = (((imageDirection / 8) + eax) * vehicleEntry->var_16) + vehicleEntry->var_4C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry--; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_CORKSCREWS) { + sint32 eax = ((vehicle->vehicle_sprite_type - 24) * 4); + sint32 ecx = (imageDirection / 8) + eax + 144; + sint32 ebx = (((imageDirection / 8) + eax) * vehicleEntry->var_16) + vehicleEntry->var_4C; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4D67 static void vehicle_sprite_50_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { - sint32 ecx = imageDirection / 2; - sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_2C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { + sint32 ecx = imageDirection / 2; + sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_2C; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4DB5 static void vehicle_sprite_50_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS) { - sint32 ecx = imageDirection / 2; - sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_3C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS) { + sint32 ecx = imageDirection / 2; + sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_3C; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4DD3 static void vehicle_sprite_50_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS) { - sint32 ecx = imageDirection / 2; - sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_3C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS) { + sint32 ecx = imageDirection / 2; + sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_3C; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4D60 static void vehicle_sprite_50(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - // 0x009A3D44: - switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_50_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_50_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_50_1(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_50_3(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - } + // 0x009A3D44: + switch (vehicle->bank_rotation) { + case 0: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_50_1(vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_50_3(vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_50_1(vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_50_3(vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + } } // 6D4E3A static void vehicle_sprite_51(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { - sint32 ecx = (imageDirection / 8) + 100; - sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_2C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { + sint32 ecx = (imageDirection / 8) + 100; + sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_2C; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4E8F static void vehicle_sprite_52(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { - sint32 ecx = (imageDirection / 8) + 104; - sint32 ebx = (((imageDirection / 8) + 16) * vehicleEntry->var_16) + vehicleEntry->var_2C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { + sint32 ecx = (imageDirection / 8) + 104; + sint32 ebx = (((imageDirection / 8) + 16) * vehicleEntry->var_16) + vehicleEntry->var_2C; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4D90 static void vehicle_sprite_53_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { - sint32 ecx = imageDirection / 2; - sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_2C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { + sint32 ecx = imageDirection / 2; + sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_2C; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4DF4 static void vehicle_sprite_53_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS) { - sint32 ecx = imageDirection / 2; - sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_3C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS) { + sint32 ecx = imageDirection / 2; + sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_3C; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4E15 static void vehicle_sprite_53_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS) { - sint32 ecx = imageDirection / 2; - sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_3C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS) { + sint32 ecx = imageDirection / 2; + sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_3C; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4D89 static void vehicle_sprite_53(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - // 0x009A3D94: - switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_53_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_53_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_53_1(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_53_3(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - } + // 0x009A3D94: + switch (vehicle->bank_rotation) { + case 0: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_53_1(vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_53_3(vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_53_1(vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_53_3(vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + } } // 6D4E63 static void vehicle_sprite_54(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 100; - sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_2C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 100; + sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_2C; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4EB8 static void vehicle_sprite_55(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { - sint32 ecx = ((imageDirection / 8) ^ 2) + 104; - sint32 ebx = (((imageDirection / 8) + 20) * vehicleEntry->var_16) + vehicleEntry->var_2C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { + sint32 ecx = ((imageDirection / 8) ^ 2) + 104; + sint32 ebx = (((imageDirection / 8) + 20) * vehicleEntry->var_16) + vehicleEntry->var_2C; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + } } // 6D47DA static void vehicle_sprite_56(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - vehicleEntry--; - vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); + vehicleEntry--; + vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); } // 6D4A02 static void vehicle_sprite_57(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - vehicleEntry--; - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES) { - sint32 ecx = ((imageDirection / 4) ^ 4) + 32; - sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->var_16) + vehicleEntry->var_24; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); - } + vehicleEntry--; + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES) { + sint32 ecx = ((imageDirection / 4) ^ 4) + 32; + sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->var_16) + vehicleEntry->var_24; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4A56 static void vehicle_sprite_58(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - vehicleEntry--; - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES) { - sint32 ecx = ((imageDirection / 2) ^ 8) + 40; - sint32 ebx = ((imageDirection + 48) * vehicleEntry->var_16) + vehicleEntry->var_24; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); - } + vehicleEntry--; + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES) { + sint32 ecx = ((imageDirection / 2) ^ 8) + 40; + sint32 ebx = ((imageDirection + 48) * vehicleEntry->var_16) + vehicleEntry->var_24; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); + } } // 6D4773 static void vehicle_sprite_59(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_14) { - sint32 ecx = (imageDirection / 2) + 16; - sint32 ebx = (imageDirection * vehicleEntry->var_16) + vehicleEntry->var_4C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); - } else { - vehicle_sprite_2(vehicle, imageDirection, z, vehicleEntry); - } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_14) { + sint32 ecx = (imageDirection / 2) + 16; + sint32 ebx = (imageDirection * vehicleEntry->var_16) + vehicleEntry->var_4C; + vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + } else { + vehicle_sprite_2(vehicle, imageDirection, z, vehicleEntry); + } } // 0x009A3B14: typedef void (*vehicle_sprite_func)(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry); vehicle_sprite_func vehicle_sprite_funcs[] = { - vehicle_sprite_0, - vehicle_sprite_1, - vehicle_sprite_2, - vehicle_sprite_3, - vehicle_sprite_4, - vehicle_sprite_5, - vehicle_sprite_6, - vehicle_sprite_7, - vehicle_sprite_8, - vehicle_sprite_9, - vehicle_sprite_10, - vehicle_sprite_11, - vehicle_sprite_12, - vehicle_sprite_13, - vehicle_sprite_14, - vehicle_sprite_15, - vehicle_sprite_16, - vehicle_sprite_17, - vehicle_sprite_18, - vehicle_sprite_19, - vehicle_sprite_20, - vehicle_sprite_21, - vehicle_sprite_22, - vehicle_sprite_23, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_24, - vehicle_sprite_0, - vehicle_sprite_0, - vehicle_sprite_0, - vehicle_sprite_0, - vehicle_sprite_0, - vehicle_sprite_0, - vehicle_sprite_50, - vehicle_sprite_51, - vehicle_sprite_52, - vehicle_sprite_53, - vehicle_sprite_54, - vehicle_sprite_55, - vehicle_sprite_56, - vehicle_sprite_57, - vehicle_sprite_58, - vehicle_sprite_59, + vehicle_sprite_0, + vehicle_sprite_1, + vehicle_sprite_2, + vehicle_sprite_3, + vehicle_sprite_4, + vehicle_sprite_5, + vehicle_sprite_6, + vehicle_sprite_7, + vehicle_sprite_8, + vehicle_sprite_9, + vehicle_sprite_10, + vehicle_sprite_11, + vehicle_sprite_12, + vehicle_sprite_13, + vehicle_sprite_14, + vehicle_sprite_15, + vehicle_sprite_16, + vehicle_sprite_17, + vehicle_sprite_18, + vehicle_sprite_19, + vehicle_sprite_20, + vehicle_sprite_21, + vehicle_sprite_22, + vehicle_sprite_23, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_24, + vehicle_sprite_0, + vehicle_sprite_0, + vehicle_sprite_0, + vehicle_sprite_0, + vehicle_sprite_0, + vehicle_sprite_0, + vehicle_sprite_50, + vehicle_sprite_51, + vehicle_sprite_52, + vehicle_sprite_53, + vehicle_sprite_54, + vehicle_sprite_55, + vehicle_sprite_56, + vehicle_sprite_57, + vehicle_sprite_58, + vehicle_sprite_59, }; /** @@ -2207,20 +2207,20 @@ vehicle_sprite_func vehicle_sprite_funcs[] = { */ static void vehicle_visual_splash1_effect(sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - if ((vehicle->track_type >> 2) != TRACK_ELEM_WATER_SPLASH) { - return; - } - if (vehicle->track_progress < 48) { - return; - } - if (vehicle->track_progress >= 112) { - return; - } - if (vehicle_get_head(vehicle)->velocity <= 0x50000) { - return; - } - sint32 image_id = 29014 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7); - sub_98199C(image_id, 0, 0, 0, 0, 0, z, 0, 0, z, get_current_rotation()); + if ((vehicle->track_type >> 2) != TRACK_ELEM_WATER_SPLASH) { + return; + } + if (vehicle->track_progress < 48) { + return; + } + if (vehicle->track_progress >= 112) { + return; + } + if (vehicle_get_head(vehicle)->velocity <= 0x50000) { + return; + } + sint32 image_id = 29014 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7); + sub_98199C(image_id, 0, 0, 0, 0, 0, z, 0, 0, z, get_current_rotation()); } /** @@ -2229,17 +2229,17 @@ static void vehicle_visual_splash1_effect(sint32 z, rct_vehicle *vehicle, const */ static void vehicle_visual_splash2_effect(sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->sprite_direction & 7) { - return; - } - if (vehicle->vehicle_sprite_type != 0) { - return; - } - if (vehicle->velocity <= 0x50000) { - return; - } - sint32 image_id = 29046 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7); - sub_98199C(image_id, 0, 0, 0, 0, 0, z, 0, 0, z, get_current_rotation()); + if (vehicle->sprite_direction & 7) { + return; + } + if (vehicle->vehicle_sprite_type != 0) { + return; + } + if (vehicle->velocity <= 0x50000) { + return; + } + sint32 image_id = 29046 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7); + sub_98199C(image_id, 0, 0, 0, 0, 0, z, 0, 0, z, get_current_rotation()); } /** @@ -2248,17 +2248,17 @@ static void vehicle_visual_splash2_effect(sint32 z, rct_vehicle *vehicle, const */ static void vehicle_visual_splash3_effect(sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->sprite_direction & 7) { - return; - } - if (vehicle->vehicle_sprite_type != 0) { - return; - } - if (vehicle->velocity <= 0x50000) { - return; - } - sint32 image_id = 29014 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7); - sub_98199C(image_id, 0, 0, 0, 0, 0, z, 0, 0, z, get_current_rotation()); + if (vehicle->sprite_direction & 7) { + return; + } + if (vehicle->vehicle_sprite_type != 0) { + return; + } + if (vehicle->velocity <= 0x50000) { + return; + } + sint32 image_id = 29014 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7); + sub_98199C(image_id, 0, 0, 0, 0, 0, z, 0, 0, z, get_current_rotation()); } /** @@ -2267,18 +2267,18 @@ static void vehicle_visual_splash3_effect(sint32 z, rct_vehicle *vehicle, const */ static void vehicle_visual_splash4_effect(sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - rct_vehicle *vehicle2 = GET_VEHICLE(vehicle->prev_vehicle_on_ride); - if (vehicle2->velocity <= 0x50000) { - return; - } - if (vehicle->sprite_direction & 7) { - return; - } - if (vehicle->vehicle_sprite_type != 0) { - return; - } - sint32 image_id = 29078 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7); - sub_98199C(image_id, 0, 0, 1, 1, 0, z, 0, 0, z, get_current_rotation()); + rct_vehicle *vehicle2 = GET_VEHICLE(vehicle->prev_vehicle_on_ride); + if (vehicle2->velocity <= 0x50000) { + return; + } + if (vehicle->sprite_direction & 7) { + return; + } + if (vehicle->vehicle_sprite_type != 0) { + return; + } + sint32 image_id = 29078 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7); + sub_98199C(image_id, 0, 0, 1, 1, 0, z, 0, 0, z, get_current_rotation()); } /** @@ -2287,34 +2287,34 @@ static void vehicle_visual_splash4_effect(sint32 z, rct_vehicle *vehicle, const */ static void vehicle_visual_splash5_effect(sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - rct_vehicle *vehicle2 = GET_VEHICLE(vehicle->prev_vehicle_on_ride); - if (vehicle2->velocity <= 0x50000) { - return; - } - if (vehicle->sprite_direction & 7) { - return; - } - if (vehicle->vehicle_sprite_type != 0) { - return; - } - if (!track_element_is_covered(vehicle->track_type >> 2)) { - return; - } - sint32 image_id = 29078 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7); - sub_98199C(image_id, 0, 0, 1, 1, 0, z, 0, 0, z, get_current_rotation()); + rct_vehicle *vehicle2 = GET_VEHICLE(vehicle->prev_vehicle_on_ride); + if (vehicle2->velocity <= 0x50000) { + return; + } + if (vehicle->sprite_direction & 7) { + return; + } + if (vehicle->vehicle_sprite_type != 0) { + return; + } + if (!track_element_is_covered(vehicle->track_type >> 2)) { + return; + } + sint32 image_id = 29078 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7); + sub_98199C(image_id, 0, 0, 1, 1, 0, z, 0, 0, z, get_current_rotation()); } void vehicle_visual_splash_effect(sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - switch (vehicleEntry->effect_visual) { - case 1: /* nullsub */ break; - case VEHICLE_VISUAL_SPLASH1_EFFECT: vehicle_visual_splash1_effect(z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_SPLASH2_EFFECT: vehicle_visual_splash2_effect(z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_SPLASH3_EFFECT: vehicle_visual_splash3_effect(z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_SPLASH4_EFFECT: vehicle_visual_splash4_effect(z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_SPLASH5_EFFECT: vehicle_visual_splash5_effect(z, vehicle, vehicleEntry); break; - default: assert(false); break; - } + switch (vehicleEntry->effect_visual) { + case 1: /* nullsub */ break; + case VEHICLE_VISUAL_SPLASH1_EFFECT: vehicle_visual_splash1_effect(z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_SPLASH2_EFFECT: vehicle_visual_splash2_effect(z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_SPLASH3_EFFECT: vehicle_visual_splash3_effect(z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_SPLASH4_EFFECT: vehicle_visual_splash4_effect(z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_SPLASH5_EFFECT: vehicle_visual_splash5_effect(z, vehicle, vehicleEntry); break; + default: assert(false); break; + } } /** @@ -2323,10 +2323,10 @@ void vehicle_visual_splash_effect(sint32 z, rct_vehicle *vehicle, const rct_ride */ void vehicle_visual_default(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - assert(vehicle->vehicle_sprite_type < countof(vehicle_sprite_funcs)); - if (vehicle->vehicle_sprite_type < countof(vehicle_sprite_funcs)) { - vehicle_sprite_funcs[vehicle->vehicle_sprite_type](vehicle, imageDirection, z, vehicleEntry); - } + assert(vehicle->vehicle_sprite_type < countof(vehicle_sprite_funcs)); + if (vehicle->vehicle_sprite_type < countof(vehicle_sprite_funcs)) { + vehicle_sprite_funcs[vehicle->vehicle_sprite_type](vehicle, imageDirection, z, vehicleEntry); + } } /** @@ -2335,42 +2335,42 @@ void vehicle_visual_default(sint32 x, sint32 imageDirection, sint32 y, sint32 z, */ void vehicle_paint(rct_vehicle *vehicle, sint32 imageDirection) { - rct_ride_entry *rideEntry = 0; - const rct_ride_entry_vehicle *vehicleEntry; + rct_ride_entry *rideEntry = 0; + const rct_ride_entry_vehicle *vehicleEntry; - sint32 x = vehicle->x; - sint32 y = vehicle->y; - sint32 z = vehicle->z; + sint32 x = vehicle->x; + sint32 y = vehicle->y; + sint32 z = vehicle->z; - if (vehicle->flags & SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE) { - uint32 ebx = 22965 + vehicle->var_C5; - sub_98197C(ebx, 0, 0, 1, 1, 0, z, 0, 0, z + 2, get_current_rotation()); - return; - } + if (vehicle->flags & SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE) { + uint32 ebx = 22965 + vehicle->var_C5; + sub_98197C(ebx, 0, 0, 1, 1, 0, z, 0, 0, z + 2, get_current_rotation()); + return; + } - if (vehicle->ride_subtype == 0xFF) { - vehicleEntry = &CableLiftVehicle; - } else { - rideEntry = get_ride_entry(vehicle->ride_subtype); - vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; + if (vehicle->ride_subtype == 0xFF) { + vehicleEntry = &CableLiftVehicle; + } else { + rideEntry = get_ride_entry(vehicle->ride_subtype); + vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; - if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { - vehicleEntry++; - z += 16; - } - } + if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_11) { + vehicleEntry++; + z += 16; + } + } - switch (vehicleEntry->car_visual) { - case VEHICLE_VISUAL_DEFAULT: vehicle_visual_default(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_LAUNCHED_FREEFALL: vehicle_visual_launched_freefall(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_OBSERVATION_TOWER: vehicle_visual_observation_tower(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_RIVER_RAPIDS: vehicle_visual_river_rapids(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_MINI_GOLF_PLAYER: vehicle_visual_mini_golf_player(x, imageDirection, y, z, vehicle); break; - case VEHICLE_VISUAL_MINI_GOLF_BALL: vehicle_visual_mini_golf_ball(x, imageDirection, y, z, vehicle); break; - case VEHICLE_VISUAL_REVERSER: vehicle_visual_reverser(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_SPLASH_BOATS_OR_WATER_COASTER: vehicle_visual_splash_boats_or_water_coaster(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_ROTO_DROP: vehicle_visual_roto_drop(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_VIRGINIA_REEL: vehicle_visual_virginia_reel(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_SUBMARINE: vehicle_visual_submarine(x, imageDirection, y, z, vehicle, vehicleEntry); break; - } + switch (vehicleEntry->car_visual) { + case VEHICLE_VISUAL_DEFAULT: vehicle_visual_default(x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_LAUNCHED_FREEFALL: vehicle_visual_launched_freefall(x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_OBSERVATION_TOWER: vehicle_visual_observation_tower(x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_RIVER_RAPIDS: vehicle_visual_river_rapids(x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_MINI_GOLF_PLAYER: vehicle_visual_mini_golf_player(x, imageDirection, y, z, vehicle); break; + case VEHICLE_VISUAL_MINI_GOLF_BALL: vehicle_visual_mini_golf_ball(x, imageDirection, y, z, vehicle); break; + case VEHICLE_VISUAL_REVERSER: vehicle_visual_reverser(x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_SPLASH_BOATS_OR_WATER_COASTER: vehicle_visual_splash_boats_or_water_coaster(x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_ROTO_DROP: vehicle_visual_roto_drop(x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_VIRGINIA_REEL: vehicle_visual_virginia_reel(x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_SUBMARINE: vehicle_visual_submarine(x, imageDirection, y, z, vehicle, vehicleEntry); break; + } } diff --git a/src/openrct2/ride/vehicle_paint.h b/src/openrct2/ride/vehicle_paint.h index 05d7352239..92545a1fbd 100644 --- a/src/openrct2/ride/vehicle_paint.h +++ b/src/openrct2/ride/vehicle_paint.h @@ -20,12 +20,12 @@ #include "vehicle.h" typedef struct vehicle_boundbox { - sint8 offset_x; - sint8 offset_y; - sint8 offset_z; - uint8 length_x; - uint8 length_y; - uint8 length_z; + sint8 offset_x; + sint8 offset_y; + sint8 offset_z; + uint8 length_x; + uint8 length_y; + uint8 length_z; } vehicle_boundbox; extern const vehicle_boundbox VehicleBoundboxes[16][224]; diff --git a/src/openrct2/ride/water/boat_ride.c b/src/openrct2/ride/water/boat_ride.c index 491b02a056..5668d53f81 100644 --- a/src/openrct2/ride/water/boat_ride.c +++ b/src/openrct2/ride/water/boat_ride.c @@ -22,105 +22,105 @@ enum { - SPR_BOAT_RIDE_FLAT_BACK_SW_NE = 28523, - SPR_BOAT_RIDE_FLAT_FRONT_SW_NE = 28524, - SPR_BOAT_RIDE_FLAT_BACK_NW_SE = 28525, - SPR_BOAT_RIDE_FLAT_FRONT_NW_SE = 28526, - SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_SW_NW = 28527, - SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_SW_NW = 28528, - SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_NW_NE = 28529, - SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_NW_NE = 28530, - SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_NE_SE = 28531, - SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_NE_SE = 28532, - SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_SE_SW = 28533, - SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_SE_SW = 28534, + SPR_BOAT_RIDE_FLAT_BACK_SW_NE = 28523, + SPR_BOAT_RIDE_FLAT_FRONT_SW_NE = 28524, + SPR_BOAT_RIDE_FLAT_BACK_NW_SE = 28525, + SPR_BOAT_RIDE_FLAT_FRONT_NW_SE = 28526, + SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_SW_NW = 28527, + SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_SW_NW = 28528, + SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_NW_NE = 28529, + SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_NW_NE = 28530, + SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_NE_SE = 28531, + SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_NE_SE = 28532, + SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_SE_SW = 28533, + SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_SE_SW = 28534, }; /** rct2: 0x008B0E40 */ static void paint_boat_ride_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - if (direction & 1) { - imageId = SPR_BOAT_RIDE_FLAT_BACK_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 3, height, 4, 0, height, get_current_rotation()); + if (direction & 1) { + imageId = SPR_BOAT_RIDE_FLAT_BACK_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 3, height, 4, 0, height, get_current_rotation()); - imageId = SPR_BOAT_RIDE_FLAT_FRONT_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 3, height, 28, 0, height, get_current_rotation()); - } else { - imageId = SPR_BOAT_RIDE_FLAT_BACK_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 4, height, get_current_rotation()); + imageId = SPR_BOAT_RIDE_FLAT_FRONT_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 3, height, 28, 0, height, get_current_rotation()); + } else { + imageId = SPR_BOAT_RIDE_FLAT_BACK_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 4, height, get_current_rotation()); - imageId = SPR_BOAT_RIDE_FLAT_FRONT_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 28, height, get_current_rotation()); - } + imageId = SPR_BOAT_RIDE_FLAT_FRONT_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 28, height, get_current_rotation()); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 16, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 16, 0x20); } /** rct2: 0x008B0E50 */ static void paint_boat_ride_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - rct_ride * ride = get_ride(rideIndex); - const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_ride * ride = get_ride(rideIndex); + const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; - if (direction & 1) { - paint_util_push_tunnel_right(height, TUNNEL_6); - track_paint_util_draw_pier(ride, entranceStyle, position, direction, height, mapElement, get_current_rotation()); - } else { - paint_util_push_tunnel_left(height, TUNNEL_6); - track_paint_util_draw_pier(ride, entranceStyle, position, direction, height, mapElement, get_current_rotation()); - } + if (direction & 1) { + paint_util_push_tunnel_right(height, TUNNEL_6); + track_paint_util_draw_pier(ride, entranceStyle, position, direction, height, mapElement, get_current_rotation()); + } else { + paint_util_push_tunnel_left(height, TUNNEL_6); + track_paint_util_draw_pier(ride, entranceStyle, position, direction, height, mapElement, get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x008B0E80 */ static void paint_boat_ride_track_left_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; - switch (direction) { - case 0: - imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_SW_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 32, 0, height, 0, 0, height, get_current_rotation()); + uint32 imageId; + switch (direction) { + case 0: + imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_SW_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 32, 0, height, 0, 0, height, get_current_rotation()); - imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_SW_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2, get_current_rotation()); - break; - case 1: - imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_NW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 32, 0, height, 0, 0, height, get_current_rotation()); + imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_SW_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2, get_current_rotation()); + break; + case 1: + imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_NW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 32, 0, height, 0, 0, height, get_current_rotation()); - imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_NW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2, get_current_rotation()); - break; - case 2: - imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_NE_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 32, 0, height, 0, 0, height, get_current_rotation()); + imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_NW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2, get_current_rotation()); + break; + case 2: + imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_NE_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 32, 0, height, 0, 0, height, get_current_rotation()); - imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_NE_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2, get_current_rotation()); - break; - case 3: - imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_SE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2, get_current_rotation()); + imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_NE_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2, get_current_rotation()); + break; + case 3: + imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_FRONT_SE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2, get_current_rotation()); - imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_SE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 32, 0, height, 0, 0, height, get_current_rotation()); - break; - } + imageId = SPR_BOAT_RIDE_FLAT_QUARTER_TURN_1_TILE_BACK_SE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 32, 0, height, 0, 0, height, get_current_rotation()); + break; + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C8, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 16, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_C8, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 16, 0x20); } /** rct2: 0x008B0E90 */ static void paint_boat_ride_track_right_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_boat_ride_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + paint_boat_ride_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } /** @@ -128,20 +128,20 @@ static void paint_boat_ride_track_right_quarter_turn_1_tile(uint8 rideIndex, uin */ TRACK_PAINT_FUNCTION get_track_paint_function_boat_ride(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return paint_boat_ride_track_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_boat_ride_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_boat_ride_station; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_boat_ride_station; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return paint_boat_ride_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return paint_boat_ride_track_right_quarter_turn_1_tile; - } + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return paint_boat_ride_track_left_quarter_turn_1_tile; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return paint_boat_ride_track_right_quarter_turn_1_tile; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/water/dingy_slide.c b/src/openrct2/ride/water/dingy_slide.c index 7698b90517..bac712b1c6 100644 --- a/src/openrct2/ride/water/dingy_slide.c +++ b/src/openrct2/ride/water/dingy_slide.c @@ -22,1584 +22,1584 @@ #include "../track_paint.h" enum { - SPR_DINGHY_SLIDE_FLAT_SW_NE = 19720, - SPR_DINGHY_SLIDE_FLAT_NW_SE = 19721, - SPR_DINGHY_SLIDE_FLAT_FRONT_SW_NE = 19722, - SPR_DINGHY_SLIDE_FLAT_FRONT_NW_SE = 19723, - SPR_DINGHY_SLIDE_FLAT_CHAIN_SW_NE = 19724, - SPR_DINGHY_SLIDE_FLAT_CHAIN_NW_SE = 19725, - SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_SW_NE = 19726, - SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_NW_SE = 19727, - SPR_DINGHY_SLIDE_FLAT_CHAIN_NE_SW = 19728, - SPR_DINGHY_SLIDE_FLAT_CHAIN_SE_NW = 19729, - SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_NE_SW = 19730, - SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_SE_NW = 19731, - SPR_DINGHY_SLIDE_STATION_SW_NE = 19732, - SPR_DINGHY_SLIDE_STATION_NW_SE = 19733, + SPR_DINGHY_SLIDE_FLAT_SW_NE = 19720, + SPR_DINGHY_SLIDE_FLAT_NW_SE = 19721, + SPR_DINGHY_SLIDE_FLAT_FRONT_SW_NE = 19722, + SPR_DINGHY_SLIDE_FLAT_FRONT_NW_SE = 19723, + SPR_DINGHY_SLIDE_FLAT_CHAIN_SW_NE = 19724, + SPR_DINGHY_SLIDE_FLAT_CHAIN_NW_SE = 19725, + SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_SW_NE = 19726, + SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_NW_SE = 19727, + SPR_DINGHY_SLIDE_FLAT_CHAIN_NE_SW = 19728, + SPR_DINGHY_SLIDE_FLAT_CHAIN_SE_NW = 19729, + SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_NE_SW = 19730, + SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_SE_NW = 19731, + SPR_DINGHY_SLIDE_STATION_SW_NE = 19732, + SPR_DINGHY_SLIDE_STATION_NW_SE = 19733, - SPR_DINGHY_SLIDE_FLAT_COVERED_SW_NE = 19736, - SPR_DINGHY_SLIDE_FLAT_COVERED_NW_SE = 19737, - SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_SW_NE = 19738, - SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_NW_SE = 19739, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_SW_NE = 19740, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_NW_SE = 19741, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_NE_SW = 19742, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_SE_NW = 19743, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_SW_NE = 19744, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_NW_SE = 19745, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_NE_SW = 19746, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_SE_NW = 19747, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_SW_NE = 19748, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_NW_SE = 19749, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_NE_SW = 19750, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_SE_NW = 19751, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_SW_NE = 19752, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_NW_SE = 19753, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_NE_SW = 19754, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_SE_NW = 19755, - SPR_DINGHY_SLIDE_25_DEG_SW_NE = 19756, - SPR_DINGHY_SLIDE_25_DEG_NW_SE = 19757, - SPR_DINGHY_SLIDE_25_DEG_NE_SW = 19758, - SPR_DINGHY_SLIDE_25_DEG_SE_NW = 19759, - SPR_DINGHY_SLIDE_25_DEG_FRONT_SW_NE = 19760, - SPR_DINGHY_SLIDE_25_DEG_FRONT_NW_SE = 19761, - SPR_DINGHY_SLIDE_25_DEG_FRONT_NE_SW = 19762, - SPR_DINGHY_SLIDE_25_DEG_FRONT_SE_NW = 19763, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_SW_NE = 19764, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_NW_SE = 19765, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_NE_SW = 19766, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_SE_NW = 19767, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_SW_NE = 19768, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_NW_SE = 19769, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_NE_SW = 19770, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_SE_NW = 19771, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_SW_NE = 19772, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_NW_SE = 19773, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_NE_SW = 19774, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_SE_NW = 19775, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_SW_NE = 19776, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_NW_SE = 19777, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_NE_SW = 19778, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_SE_NW = 19779, - SPR_DINGHY_SLIDE_60_DEG_SW_NE = 19780, - SPR_DINGHY_SLIDE_60_DEG_NW_SE = 19781, - SPR_DINGHY_SLIDE_60_DEG_NE_SW = 19782, - SPR_DINGHY_SLIDE_60_DEG_SE_NW = 19783, - SPR_DINGHY_SLIDE_60_DEG_FRONT_SW_NE = 19784, - SPR_DINGHY_SLIDE_60_DEG_FRONT_NW_SE = 19785, - SPR_DINGHY_SLIDE_60_DEG_FRONT_NE_SW = 19786, - SPR_DINGHY_SLIDE_60_DEG_FRONT_SE_NW = 19787, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_SW_NE = 19788, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_NW_SE = 19789, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_NE_SW = 19790, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_SE_NW = 19791, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_SW_NE = 19792, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_NW_SE = 19793, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_NE_SW = 19794, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_SE_NW = 19795, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_SW_NE = 19796, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_NW_SE = 19797, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_NE_SW = 19798, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_SE_NW = 19799, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_SW_NE = 19800, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_NW_SE = 19801, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_NE_SW = 19802, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_SE_NW = 19803, - SPR_DINGHY_SLIDE_25_DEG_CHAIN_SW_NE = 19804, - SPR_DINGHY_SLIDE_25_DEG_CHAIN_NW_SE = 19805, - SPR_DINGHY_SLIDE_25_DEG_CHAIN_NE_SW = 19806, - SPR_DINGHY_SLIDE_25_DEG_CHAIN_SE_NW = 19807, - SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_SW_NE = 19808, - SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_NW_SE = 19809, - SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_NE_SW = 19810, - SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_SE_NW = 19811, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_SW_NE = 19812, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_NW_SE = 19813, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_NE_SW = 19814, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_SE_NW = 19815, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_SW_NE = 19816, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_NW_SE = 19817, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_NE_SW = 19818, - SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_SE_NW = 19819, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_SW_NE = 19820, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_NW_SE = 19821, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_NE_SW = 19822, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_SE_NW = 19823, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_SW_NE = 19824, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_NW_SE = 19825, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_NE_SW = 19826, - SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_SE_NW = 19827, - SPR_DINGHY_SLIDE_25_DEG_COVERED_SW_NE = 19828, - SPR_DINGHY_SLIDE_25_DEG_COVERED_NW_SE = 19829, - SPR_DINGHY_SLIDE_25_DEG_COVERED_NE_SW = 19830, - SPR_DINGHY_SLIDE_25_DEG_COVERED_SE_NW = 19831, - SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_SW_NE = 19832, - SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_NW_SE = 19833, - SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_NE_SW = 19834, - SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_SE_NW = 19835, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_SW_NE = 19836, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_NW_SE = 19837, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_NE_SW = 19838, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_SE_NW = 19839, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_SW_NE = 19840, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_NW_SE = 19841, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_NE_SW = 19842, - SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_SE_NW = 19843, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_SW_NE = 19844, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_NW_SE = 19845, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_NE_SW = 19846, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_SE_NW = 19847, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_SW_NE = 19848, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_NW_SE = 19849, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_NE_SW = 19850, - SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_SE_NW = 19851, - SPR_DINGHY_SLIDE_60_DEG_COVERED_SW_NE = 19852, - SPR_DINGHY_SLIDE_60_DEG_COVERED_NW_SE = 19853, - SPR_DINGHY_SLIDE_60_DEG_COVERED_NE_SW = 19854, - SPR_DINGHY_SLIDE_60_DEG_COVERED_SE_NW = 19855, - SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_SW_NE = 19856, - SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_NW_SE = 19857, - SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_NE_SW = 19858, - SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_SE_NW = 19859, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_SW_SE_PART_0 = 19860, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_SW_SE_PART_1 = 19861, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_SW_SE_PART_2 = 19862, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_NW_SW_PART_0 = 19863, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_NW_SW_PART_1 = 19864, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_NW_SW_PART_2 = 19865, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_NE_NW_PART_0 = 19866, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_NE_NW_PART_1 = 19867, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_NE_NW_PART_2 = 19868, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_SE_NE_PART_0 = 19869, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_SE_NE_PART_1 = 19870, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_SE_NE_PART_2 = 19871, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SW_SE_PART_0 = 19872, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SW_SE_PART_1 = 19873, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SW_SE_PART_2 = 19874, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NW_SW_PART_0 = 19875, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NW_SW_PART_1 = 19876, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NW_SW_PART_2 = 19877, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NE_NW_PART_0 = 19878, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NE_NW_PART_1 = 19879, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NE_NW_PART_2 = 19880, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SE_NE_PART_0 = 19881, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SE_NE_PART_1 = 19882, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SE_NE_PART_2 = 19883, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SW_SE_PART_0 = 19884, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SW_SE_PART_1 = 19885, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SW_SE_PART_2 = 19886, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NW_SW_PART_0 = 19887, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NW_SW_PART_1 = 19888, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NW_SW_PART_2 = 19889, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NE_NW_PART_0 = 19890, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NE_NW_PART_1 = 19891, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NE_NW_PART_2 = 19892, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SE_NE_PART_0 = 19893, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SE_NE_PART_1 = 19894, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SE_NE_PART_2 = 19895, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SW_SE_PART_0 = 19896, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SW_SE_PART_1 = 19897, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SW_SE_PART_2 = 19898, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NW_SW_PART_0 = 19899, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NW_SW_PART_1 = 19900, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NW_SW_PART_2 = 19901, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NE_NW_PART_0 = 19902, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NE_NW_PART_1 = 19903, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NE_NW_PART_2 = 19904, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SE_NE_PART_0 = 19905, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SE_NE_PART_1 = 19906, - SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SE_NE_PART_2 = 19907, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_0 = 19908, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_1 = 19909, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_2 = 19910, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_3 = 19911, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_4 = 19912, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_0 = 19913, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_1 = 19914, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_2 = 19915, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_3 = 19916, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_4 = 19917, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_0 = 19918, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_1 = 19919, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_2 = 19920, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_3 = 19921, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_4 = 19922, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_0 = 19923, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_1 = 19924, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_2 = 19925, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_3 = 19926, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_4 = 19927, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_0 = 19928, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_1 = 19929, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_2 = 19930, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_3 = 19931, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_4 = 19932, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_0 = 19933, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_1 = 19934, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_2 = 19935, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_3 = 19936, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_4 = 19937, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_0 = 19938, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_1 = 19939, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_2 = 19940, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_3 = 19941, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_4 = 19942, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_0 = 19943, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_1 = 19944, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_2 = 19945, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_3 = 19946, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_4 = 19947, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_0 = 19948, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_1 = 19949, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_2 = 19950, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_3 = 19951, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_4 = 19952, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_0 = 19953, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_1 = 19954, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_2 = 19955, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_3 = 19956, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_4 = 19957, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_0 = 19958, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_1 = 19959, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_2 = 19960, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_3 = 19961, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_4 = 19962, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_0 = 19963, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_1 = 19964, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_2 = 19965, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_3 = 19966, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_4 = 19967, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_0 = 19968, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_1 = 19969, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_2 = 19970, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_3 = 19971, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_4 = 19972, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_0 = 19973, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_1 = 19974, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_2 = 19975, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_3 = 19976, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_4 = 19977, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_0 = 19978, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_1 = 19979, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_2 = 19980, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_3 = 19981, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_4 = 19982, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_0 = 19983, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_1 = 19984, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_2 = 19985, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_3 = 19986, - SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_4 = 19987, - SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_3 = 19988, - SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_2 = 19989, - SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_1 = 19990, - SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_0 = 19991, - SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_0 = 19992, - SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_1 = 19993, - SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_2 = 19994, - SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_3 = 19995, - SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_3 = 19996, - SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_2 = 19997, - SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_1 = 19998, - SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_0 = 19999, - SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_0 = 20000, - SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_1 = 20001, - SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_2 = 20002, - SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_3 = 20003, - SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_0 = 20004, - SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_1 = 20005, - SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_2 = 20006, - SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_3 = 20007, - SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_0 = 20008, - SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_1 = 20009, - SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_2 = 20010, - SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_3 = 20011, - SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_0 = 20012, - SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_1 = 20013, - SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_2 = 20014, - SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_3 = 20015, - SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_0 = 20016, - SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_1 = 20017, - SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_2 = 20018, - SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_3 = 20019, - SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_3 = 20020, - SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_2 = 20021, - SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_1 = 20022, - SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_0 = 20023, - SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_0 = 20024, - SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_1 = 20025, - SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_2 = 20026, - SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_3 = 20027, - SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_3 = 20028, - SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_2 = 20029, - SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_1 = 20030, - SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_0 = 20031, - SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_0 = 20032, - SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_1 = 20033, - SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_2 = 20034, - SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_3 = 20035, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_0 = 20036, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_1 = 20037, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_2 = 20038, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_3 = 20039, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_0 = 20040, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_1 = 20041, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_2 = 20042, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_3 = 20043, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_0 = 20044, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_1 = 20045, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_2 = 20046, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_3 = 20047, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_0 = 20048, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_1 = 20049, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_2 = 20050, - SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_3 = 20051, + SPR_DINGHY_SLIDE_FLAT_COVERED_SW_NE = 19736, + SPR_DINGHY_SLIDE_FLAT_COVERED_NW_SE = 19737, + SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_SW_NE = 19738, + SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_NW_SE = 19739, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_SW_NE = 19740, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_NW_SE = 19741, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_NE_SW = 19742, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_SE_NW = 19743, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_SW_NE = 19744, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_NW_SE = 19745, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_NE_SW = 19746, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_SE_NW = 19747, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_SW_NE = 19748, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_NW_SE = 19749, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_NE_SW = 19750, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_SE_NW = 19751, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_SW_NE = 19752, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_NW_SE = 19753, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_NE_SW = 19754, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_SE_NW = 19755, + SPR_DINGHY_SLIDE_25_DEG_SW_NE = 19756, + SPR_DINGHY_SLIDE_25_DEG_NW_SE = 19757, + SPR_DINGHY_SLIDE_25_DEG_NE_SW = 19758, + SPR_DINGHY_SLIDE_25_DEG_SE_NW = 19759, + SPR_DINGHY_SLIDE_25_DEG_FRONT_SW_NE = 19760, + SPR_DINGHY_SLIDE_25_DEG_FRONT_NW_SE = 19761, + SPR_DINGHY_SLIDE_25_DEG_FRONT_NE_SW = 19762, + SPR_DINGHY_SLIDE_25_DEG_FRONT_SE_NW = 19763, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_SW_NE = 19764, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_NW_SE = 19765, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_NE_SW = 19766, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_SE_NW = 19767, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_SW_NE = 19768, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_NW_SE = 19769, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_NE_SW = 19770, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_SE_NW = 19771, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_SW_NE = 19772, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_NW_SE = 19773, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_NE_SW = 19774, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_SE_NW = 19775, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_SW_NE = 19776, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_NW_SE = 19777, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_NE_SW = 19778, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_SE_NW = 19779, + SPR_DINGHY_SLIDE_60_DEG_SW_NE = 19780, + SPR_DINGHY_SLIDE_60_DEG_NW_SE = 19781, + SPR_DINGHY_SLIDE_60_DEG_NE_SW = 19782, + SPR_DINGHY_SLIDE_60_DEG_SE_NW = 19783, + SPR_DINGHY_SLIDE_60_DEG_FRONT_SW_NE = 19784, + SPR_DINGHY_SLIDE_60_DEG_FRONT_NW_SE = 19785, + SPR_DINGHY_SLIDE_60_DEG_FRONT_NE_SW = 19786, + SPR_DINGHY_SLIDE_60_DEG_FRONT_SE_NW = 19787, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_SW_NE = 19788, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_NW_SE = 19789, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_NE_SW = 19790, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_SE_NW = 19791, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_SW_NE = 19792, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_NW_SE = 19793, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_NE_SW = 19794, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_SE_NW = 19795, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_SW_NE = 19796, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_NW_SE = 19797, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_NE_SW = 19798, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_SE_NW = 19799, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_SW_NE = 19800, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_NW_SE = 19801, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_NE_SW = 19802, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_SE_NW = 19803, + SPR_DINGHY_SLIDE_25_DEG_CHAIN_SW_NE = 19804, + SPR_DINGHY_SLIDE_25_DEG_CHAIN_NW_SE = 19805, + SPR_DINGHY_SLIDE_25_DEG_CHAIN_NE_SW = 19806, + SPR_DINGHY_SLIDE_25_DEG_CHAIN_SE_NW = 19807, + SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_SW_NE = 19808, + SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_NW_SE = 19809, + SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_NE_SW = 19810, + SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_SE_NW = 19811, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_SW_NE = 19812, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_NW_SE = 19813, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_NE_SW = 19814, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_SE_NW = 19815, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_SW_NE = 19816, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_NW_SE = 19817, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_NE_SW = 19818, + SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_SE_NW = 19819, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_SW_NE = 19820, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_NW_SE = 19821, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_NE_SW = 19822, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_SE_NW = 19823, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_SW_NE = 19824, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_NW_SE = 19825, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_NE_SW = 19826, + SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_SE_NW = 19827, + SPR_DINGHY_SLIDE_25_DEG_COVERED_SW_NE = 19828, + SPR_DINGHY_SLIDE_25_DEG_COVERED_NW_SE = 19829, + SPR_DINGHY_SLIDE_25_DEG_COVERED_NE_SW = 19830, + SPR_DINGHY_SLIDE_25_DEG_COVERED_SE_NW = 19831, + SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_SW_NE = 19832, + SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_NW_SE = 19833, + SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_NE_SW = 19834, + SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_SE_NW = 19835, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_SW_NE = 19836, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_NW_SE = 19837, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_NE_SW = 19838, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_SE_NW = 19839, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_SW_NE = 19840, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_NW_SE = 19841, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_NE_SW = 19842, + SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_SE_NW = 19843, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_SW_NE = 19844, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_NW_SE = 19845, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_NE_SW = 19846, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_SE_NW = 19847, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_SW_NE = 19848, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_NW_SE = 19849, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_NE_SW = 19850, + SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_SE_NW = 19851, + SPR_DINGHY_SLIDE_60_DEG_COVERED_SW_NE = 19852, + SPR_DINGHY_SLIDE_60_DEG_COVERED_NW_SE = 19853, + SPR_DINGHY_SLIDE_60_DEG_COVERED_NE_SW = 19854, + SPR_DINGHY_SLIDE_60_DEG_COVERED_SE_NW = 19855, + SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_SW_NE = 19856, + SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_NW_SE = 19857, + SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_NE_SW = 19858, + SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_SE_NW = 19859, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_SW_SE_PART_0 = 19860, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_SW_SE_PART_1 = 19861, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_SW_SE_PART_2 = 19862, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_NW_SW_PART_0 = 19863, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_NW_SW_PART_1 = 19864, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_NW_SW_PART_2 = 19865, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_NE_NW_PART_0 = 19866, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_NE_NW_PART_1 = 19867, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_NE_NW_PART_2 = 19868, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_SE_NE_PART_0 = 19869, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_SE_NE_PART_1 = 19870, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_SE_NE_PART_2 = 19871, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SW_SE_PART_0 = 19872, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SW_SE_PART_1 = 19873, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SW_SE_PART_2 = 19874, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NW_SW_PART_0 = 19875, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NW_SW_PART_1 = 19876, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NW_SW_PART_2 = 19877, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NE_NW_PART_0 = 19878, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NE_NW_PART_1 = 19879, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NE_NW_PART_2 = 19880, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SE_NE_PART_0 = 19881, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SE_NE_PART_1 = 19882, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SE_NE_PART_2 = 19883, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SW_SE_PART_0 = 19884, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SW_SE_PART_1 = 19885, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SW_SE_PART_2 = 19886, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NW_SW_PART_0 = 19887, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NW_SW_PART_1 = 19888, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NW_SW_PART_2 = 19889, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NE_NW_PART_0 = 19890, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NE_NW_PART_1 = 19891, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NE_NW_PART_2 = 19892, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SE_NE_PART_0 = 19893, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SE_NE_PART_1 = 19894, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SE_NE_PART_2 = 19895, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SW_SE_PART_0 = 19896, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SW_SE_PART_1 = 19897, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SW_SE_PART_2 = 19898, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NW_SW_PART_0 = 19899, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NW_SW_PART_1 = 19900, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NW_SW_PART_2 = 19901, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NE_NW_PART_0 = 19902, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NE_NW_PART_1 = 19903, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NE_NW_PART_2 = 19904, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SE_NE_PART_0 = 19905, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SE_NE_PART_1 = 19906, + SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SE_NE_PART_2 = 19907, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_0 = 19908, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_1 = 19909, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_2 = 19910, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_3 = 19911, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_4 = 19912, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_0 = 19913, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_1 = 19914, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_2 = 19915, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_3 = 19916, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_4 = 19917, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_0 = 19918, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_1 = 19919, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_2 = 19920, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_3 = 19921, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_4 = 19922, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_0 = 19923, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_1 = 19924, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_2 = 19925, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_3 = 19926, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_4 = 19927, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_0 = 19928, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_1 = 19929, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_2 = 19930, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_3 = 19931, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_4 = 19932, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_0 = 19933, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_1 = 19934, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_2 = 19935, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_3 = 19936, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_4 = 19937, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_0 = 19938, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_1 = 19939, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_2 = 19940, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_3 = 19941, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_4 = 19942, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_0 = 19943, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_1 = 19944, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_2 = 19945, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_3 = 19946, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_4 = 19947, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_0 = 19948, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_1 = 19949, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_2 = 19950, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_3 = 19951, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_4 = 19952, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_0 = 19953, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_1 = 19954, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_2 = 19955, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_3 = 19956, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_4 = 19957, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_0 = 19958, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_1 = 19959, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_2 = 19960, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_3 = 19961, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_4 = 19962, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_0 = 19963, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_1 = 19964, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_2 = 19965, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_3 = 19966, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_4 = 19967, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_0 = 19968, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_1 = 19969, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_2 = 19970, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_3 = 19971, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_4 = 19972, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_0 = 19973, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_1 = 19974, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_2 = 19975, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_3 = 19976, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_4 = 19977, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_0 = 19978, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_1 = 19979, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_2 = 19980, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_3 = 19981, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_4 = 19982, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_0 = 19983, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_1 = 19984, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_2 = 19985, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_3 = 19986, + SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_4 = 19987, + SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_3 = 19988, + SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_2 = 19989, + SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_1 = 19990, + SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_0 = 19991, + SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_0 = 19992, + SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_1 = 19993, + SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_2 = 19994, + SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_3 = 19995, + SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_3 = 19996, + SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_2 = 19997, + SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_1 = 19998, + SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_0 = 19999, + SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_0 = 20000, + SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_1 = 20001, + SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_2 = 20002, + SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_3 = 20003, + SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_0 = 20004, + SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_1 = 20005, + SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_2 = 20006, + SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_3 = 20007, + SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_0 = 20008, + SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_1 = 20009, + SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_2 = 20010, + SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_3 = 20011, + SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_0 = 20012, + SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_1 = 20013, + SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_2 = 20014, + SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_3 = 20015, + SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_0 = 20016, + SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_1 = 20017, + SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_2 = 20018, + SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_3 = 20019, + SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_3 = 20020, + SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_2 = 20021, + SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_1 = 20022, + SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_0 = 20023, + SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_0 = 20024, + SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_1 = 20025, + SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_2 = 20026, + SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_3 = 20027, + SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_3 = 20028, + SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_2 = 20029, + SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_1 = 20030, + SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_0 = 20031, + SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_0 = 20032, + SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_1 = 20033, + SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_2 = 20034, + SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_3 = 20035, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_0 = 20036, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_1 = 20037, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_2 = 20038, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_3 = 20039, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_0 = 20040, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_1 = 20041, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_2 = 20042, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_3 = 20043, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_0 = 20044, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_1 = 20045, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_2 = 20046, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_3 = 20047, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_0 = 20048, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_1 = 20049, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_2 = 20050, + SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_3 = 20051, }; static void dinghy_slide_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4][2] = { - { - { SPR_DINGHY_SLIDE_FLAT_SW_NE, SPR_DINGHY_SLIDE_FLAT_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_FLAT_NW_SE, SPR_DINGHY_SLIDE_FLAT_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_FLAT_SW_NE, SPR_DINGHY_SLIDE_FLAT_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_FLAT_NW_SE, SPR_DINGHY_SLIDE_FLAT_FRONT_NW_SE }, - }, - { - { SPR_DINGHY_SLIDE_FLAT_CHAIN_SW_NE, SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_FLAT_CHAIN_NW_SE, SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_FLAT_CHAIN_NE_SW, SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_FLAT_CHAIN_SE_NW, SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_SE_NW }, - }, - }; + static const uint32 imageIds[2][4][2] = { + { + { SPR_DINGHY_SLIDE_FLAT_SW_NE, SPR_DINGHY_SLIDE_FLAT_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_FLAT_NW_SE, SPR_DINGHY_SLIDE_FLAT_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_FLAT_SW_NE, SPR_DINGHY_SLIDE_FLAT_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_FLAT_NW_SE, SPR_DINGHY_SLIDE_FLAT_FRONT_NW_SE }, + }, + { + { SPR_DINGHY_SLIDE_FLAT_CHAIN_SW_NE, SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_FLAT_CHAIN_NW_SE, SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_FLAT_CHAIN_NE_SW, SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_FLAT_CHAIN_SE_NW, SPR_DINGHY_SLIDE_FLAT_CHAIN_FRONT_SE_NW }, + }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); + imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void dinghy_slide_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_DINGHY_SLIDE_STATION_SW_NE, SPR_STATION_BASE_B_SW_NE }, - { SPR_DINGHY_SLIDE_STATION_NW_SE, SPR_STATION_BASE_B_NW_SE }, - { SPR_DINGHY_SLIDE_STATION_SW_NE, SPR_STATION_BASE_B_SW_NE }, - { SPR_DINGHY_SLIDE_STATION_NW_SE, SPR_STATION_BASE_B_NW_SE }, - }; + static const uint32 imageIds[4][2] = { + { SPR_DINGHY_SLIDE_STATION_SW_NE, SPR_STATION_BASE_B_SW_NE }, + { SPR_DINGHY_SLIDE_STATION_NW_SE, SPR_STATION_BASE_B_NW_SE }, + { SPR_DINGHY_SLIDE_STATION_SW_NE, SPR_STATION_BASE_B_SW_NE }, + { SPR_DINGHY_SLIDE_STATION_NW_SE, SPR_STATION_BASE_B_NW_SE }, + }; - sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); - sub_98196C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); + sub_98197C_rotated(direction, imageIds[direction][0] | gTrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height + 3); + sub_98196C_rotated(direction, imageIds[direction][1] | gTrackColours[SCHEME_MISC], 0, 0, 32, 32, 1, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5 + (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5 + (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); - track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); + track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void dinghy_slide_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4][2] = { - { - { SPR_DINGHY_SLIDE_25_DEG_SW_NE, SPR_DINGHY_SLIDE_25_DEG_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_25_DEG_NW_SE, SPR_DINGHY_SLIDE_25_DEG_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_25_DEG_NE_SW, SPR_DINGHY_SLIDE_25_DEG_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_25_DEG_SE_NW, SPR_DINGHY_SLIDE_25_DEG_FRONT_SE_NW }, - }, - { - { SPR_DINGHY_SLIDE_25_DEG_CHAIN_SW_NE, SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_25_DEG_CHAIN_NW_SE, SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_25_DEG_CHAIN_NE_SW, SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_25_DEG_CHAIN_SE_NW, SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_SE_NW }, - }, - }; + static const uint32 imageIds[2][4][2] = { + { + { SPR_DINGHY_SLIDE_25_DEG_SW_NE, SPR_DINGHY_SLIDE_25_DEG_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_25_DEG_NW_SE, SPR_DINGHY_SLIDE_25_DEG_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_25_DEG_NE_SW, SPR_DINGHY_SLIDE_25_DEG_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_25_DEG_SE_NW, SPR_DINGHY_SLIDE_25_DEG_FRONT_SE_NW }, + }, + { + { SPR_DINGHY_SLIDE_25_DEG_CHAIN_SW_NE, SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_25_DEG_CHAIN_NW_SE, SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_25_DEG_CHAIN_NE_SW, SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_25_DEG_CHAIN_SE_NW, SPR_DINGHY_SLIDE_25_DEG_CHAIN_FRONT_SE_NW }, + }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 50, height, 0, 27, height); + imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 50, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } static void dinghy_slide_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_DINGHY_SLIDE_60_DEG_SW_NE, SPR_DINGHY_SLIDE_60_DEG_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_60_DEG_NW_SE, SPR_DINGHY_SLIDE_60_DEG_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_60_DEG_NE_SW, SPR_DINGHY_SLIDE_60_DEG_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_60_DEG_SE_NW, SPR_DINGHY_SLIDE_60_DEG_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_DINGHY_SLIDE_60_DEG_SW_NE, SPR_DINGHY_SLIDE_60_DEG_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_60_DEG_NW_SE, SPR_DINGHY_SLIDE_60_DEG_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_60_DEG_NE_SW, SPR_DINGHY_SLIDE_60_DEG_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_60_DEG_SE_NW, SPR_DINGHY_SLIDE_60_DEG_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 98, height, 0, 27, height); + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 98, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } static void dinghy_slide_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4][2] = { - { - { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_SW_NE, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_NW_SE, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_NE_SW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_SE_NW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_SE_NW }, - }, - { - { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_SW_NE, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_NW_SE, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_NE_SW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_SE_NW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_SE_NW }, - }, - }; + static const uint32 imageIds[2][4][2] = { + { + { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_SW_NE, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_NW_SE, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_NE_SW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_SE_NW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_FRONT_SE_NW }, + }, + { + { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_SW_NE, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_NW_SE, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_NE_SW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_SE_NW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_CHAIN_FRONT_SE_NW }, + }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 42, height, 0, 27, height); + imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 42, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } static void dinghy_slide_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_SW_NE, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_NW_SE, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_NE_SW, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_SW_NE, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_NW_SE, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_NE_SW, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 66, height, 0, 27, height); + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 66, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } static void dinghy_slide_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_SW_NE, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_NW_SE, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_NE_SW, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_SE_NW, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_SW_NE, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_NW_SE, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_NE_SW, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_SE_NW, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 66, height, 0, 27, height); + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 66, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } static void dinghy_slide_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[2][4][2] = { - { - { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_SW_NE, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_NW_SE, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_NE_SW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_SE_NW }, - }, - { - { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_SW_NE, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_NW_SE, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_NE_SW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_SE_NW }, - }, - }; + static const uint32 imageIds[2][4][2] = { + { + { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_SW_NE, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_NW_SE, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_NE_SW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_FRONT_SE_NW }, + }, + { + { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_SW_NE, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_NW_SE, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_NE_SW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_CHAIN_FRONT_SE_NW }, + }, + }; - uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; - uint32 imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint8 isChained = track_element_is_lift_hill(mapElement) ? 1 : 0; + uint32 imageId = imageIds[isChained][direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 34, height, 0, 27, height); + imageId = imageIds[isChained][direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } static void dinghy_slide_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - dinghy_slide_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + dinghy_slide_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void dinghy_slide_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - dinghy_slide_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + dinghy_slide_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void dinghy_slide_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - dinghy_slide_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + dinghy_slide_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void dinghy_slide_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - dinghy_slide_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + dinghy_slide_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void dinghy_slide_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - dinghy_slide_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + dinghy_slide_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void dinghy_slide_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const sprite_bb imageIds[4][5] = { - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_0, { 0, 2, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_1, { 0, 16, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_3, { 16, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_4, { 2, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_0, { 2, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_1, { 16, 0, 0 }, { 16, 0, 0 }, { 16, 34, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_2, { 0, 16, 0 }, { 0, 16, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_4, { 0, 2, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_0, { 0, 2, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_2, { 16, 16, 0 }, { 16, 16, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_4, { 2, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_0, { 2, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_2, { 16, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_3, { 0, 16, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_4, { 0, 2, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - } - }; - static const sprite_bb frontImageIds[4][5] = { - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_0, { 0, 2, 0 }, { 0, 6, 27 }, { 32, 30, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_1, { 0, 16, 0 }, { 0, 16, 27 }, { 32, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_2, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_3, { 16, 0, 0 }, { 16, 0, 27 }, { 16, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_4, { 2, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_0, { 2, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_1, { 16, 0, 0 }, { 16, 0, 27 }, { 16, 34, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_2, { 0, 16, 0 }, { 0, 16, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_3, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_4, { 0, 2, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_0, { 0, 2, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_2, { 16, 16, 0 }, { 16, 16, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_4, { 2, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_0, { 2, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_2, { 16, 0, 0 }, { 16, 0, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_3, { 0, 16, 0 }, { 0, 16, 27 }, { 32, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_4, { 0, 2, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - } - }; + static const sprite_bb imageIds[4][5] = { + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_0, { 0, 2, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_1, { 0, 16, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_3, { 16, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SW_SE_PART_4, { 2, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_0, { 2, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_1, { 16, 0, 0 }, { 16, 0, 0 }, { 16, 34, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_2, { 0, 16, 0 }, { 0, 16, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NW_SW_PART_4, { 0, 2, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_0, { 0, 2, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_2, { 16, 16, 0 }, { 16, 16, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_NE_NW_PART_4, { 2, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_0, { 2, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_2, { 16, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_3, { 0, 16, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_SE_NE_PART_4, { 0, 2, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + } + }; + static const sprite_bb frontImageIds[4][5] = { + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_0, { 0, 2, 0 }, { 0, 6, 27 }, { 32, 30, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_1, { 0, 16, 0 }, { 0, 16, 27 }, { 32, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_2, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_3, { 16, 0, 0 }, { 16, 0, 27 }, { 16, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SW_SE_PART_4, { 2, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_0, { 2, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_1, { 16, 0, 0 }, { 16, 0, 27 }, { 16, 34, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_2, { 0, 16, 0 }, { 0, 16, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_3, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NW_SW_PART_4, { 0, 2, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_0, { 0, 2, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_2, { 16, 16, 0 }, { 16, 16, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_NE_NW_PART_4, { 2, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_0, { 2, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_2, { 16, 0, 0 }, { 16, 0, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_3, { 0, 16, 0 }, { 0, 16, 27 }, { 32, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_FRONT_SE_NE_PART_4, { 0, 2, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + } + }; - track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); - track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], frontImageIds); + track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); + track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], frontImageIds); - switch (trackSequence) { - case 0: - case 6: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + case 6: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } - if (direction == 0 && trackSequence == 6) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } - if (direction == 1 && trackSequence == 6) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } + if (direction == 0 && trackSequence == 6) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } + if (direction == 1 && trackSequence == 6) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void dinghy_slide_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - dinghy_slide_track_right_quarter_turn_5(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + dinghy_slide_track_right_quarter_turn_5(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } static void dinghy_slide_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - dinghy_slide_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + dinghy_slide_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void dinghy_slide_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4][2] = - { - { { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_0 }, - { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_3 } }, - { { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_0 }, - { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_3 } }, - { { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_3 }, - { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_0 } }, - { { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_3 }, - { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_0 } }, - }; + static const uint32 imageIds[4][4][2] = + { + { { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_0 }, + { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_3 } }, + { { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_0 }, + { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_3 } }, + { { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_3 }, + { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_SW_SE_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_NW_NE_SEQ_0 } }, + { { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_3 }, + { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_NW_SW_NW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_NW_SW_NW_SEQ_0 } }, + }; - uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; - sint16 bboy; + uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; + sint16 bboy; - switch (trackSequence) { - case 0: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 1: - bboy = (direction == 0 || direction == 1) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - if (direction == 0 || direction == 1) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5 + (direction & 1), (direction & 1), height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 2: - bboy = (direction == 2 || direction == 3) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - if (direction == 2 || direction == 3) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5 + (direction & 1), (direction & 1), height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 1: + bboy = (direction == 0 || direction == 1) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + if (direction == 0 || direction == 1) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5 + (direction & 1), (direction & 1), height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 2: + bboy = (direction == 2 || direction == 3) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + if (direction == 2 || direction == 3) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5 + (direction & 1), (direction & 1), height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - if (trackSequence == 0) { - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - } else if (trackSequence == 3) { - if (direction == 1 || direction == 2) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - } + if (trackSequence == 0) { + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + } else if (trackSequence == 3) { + if (direction == 1 || direction == 2) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void dinghy_slide_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4][2] = - { - { { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_0 }, - { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_3 } }, - { { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_0 }, - { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_3 } }, - { { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_3 }, - { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_0 } }, - { { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_3 }, - { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_0 } }, - }; + static const uint32 imageIds[4][4][2] = + { + { { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_0 }, + { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_3 } }, + { { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_0 }, + { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_3 } }, + { { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_3 }, + { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_SW_NW_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_NE_SE_NE_SEQ_0 } }, + { { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_3 }, + { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_SE_SW_SE_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_FRONT_SE_SW_SE_SEQ_0 } }, + }; - uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; - sint16 bboy; + uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; + sint16 bboy; - switch (trackSequence) { - case 0: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 1: - bboy = (direction == 2 || direction == 3) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - if (direction == 0 || direction == 1) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 2: - bboy = (direction == 0 || direction == 1) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - if (direction == 2 || direction == 3) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 3: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 1: + bboy = (direction == 2 || direction == 3) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + if (direction == 0 || direction == 1) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 2: + bboy = (direction == 0 || direction == 1) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + if (direction == 2 || direction == 3) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 3: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - if (trackSequence == 0) { - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - } else if (trackSequence == 3) { - if (direction == 1 || direction == 2) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - } + if (trackSequence == 0) { + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + } else if (trackSequence == 3) { + if (direction == 1 || direction == 2) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void dinghy_slide_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const sprite_bb imageIds[4][3] = { - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_SW_SE_PART_1, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_SW_SE_PART_2, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_NW_SW_PART_2, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_NE_NW_PART_2, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_SE_NE_PART_1, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_SE_NE_PART_2, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - } - }; - static const sprite_bb frontImageIds[4][3] = { - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SW_SE_PART_1, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SW_SE_PART_2, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NW_SW_PART_2, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NE_NW_PART_2, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SE_NE_PART_1, { 0, 0, 0 }, { 0, 16, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SE_NE_PART_2, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - } - }; + static const sprite_bb imageIds[4][3] = { + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_SW_SE_PART_1, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_SW_SE_PART_2, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_NW_SW_PART_2, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_NE_NW_PART_2, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_SE_NE_PART_1, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_SE_NE_PART_2, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + } + }; + static const sprite_bb frontImageIds[4][3] = { + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SW_SE_PART_1, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SW_SE_PART_2, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NW_SW_PART_2, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_NE_NW_PART_2, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SE_NE_PART_1, { 0, 0, 0 }, { 0, 16, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_FRONT_SE_NE_PART_2, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + } + }; - track_paint_util_right_quarter_turn_3_tiles_paint_3(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); - track_paint_util_right_quarter_turn_3_tiles_paint_3(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], frontImageIds); - track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); + track_paint_util_right_quarter_turn_3_tiles_paint_3(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); + track_paint_util_right_quarter_turn_3_tiles_paint_3(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], frontImageIds); + track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); - switch (trackSequence) { - case 0: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; - case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; + case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void dinghy_slide_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - dinghy_slide_track_right_quarter_turn_3(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + dinghy_slide_track_right_quarter_turn_3(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } static void dinghy_slide_track_flat_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_DINGHY_SLIDE_FLAT_COVERED_SW_NE, SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_FLAT_COVERED_NW_SE, SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_FLAT_COVERED_SW_NE, SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_FLAT_COVERED_NW_SE, SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_NW_SE }, - }; + static const uint32 imageIds[4][2] = { + { SPR_DINGHY_SLIDE_FLAT_COVERED_SW_NE, SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_FLAT_COVERED_NW_SE, SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_FLAT_COVERED_SW_NE, SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_FLAT_COVERED_NW_SE, SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_NW_SE }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void dinghy_slide_track_25_deg_up_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_DINGHY_SLIDE_25_DEG_COVERED_SW_NE, SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_25_DEG_COVERED_NW_SE, SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_25_DEG_COVERED_NE_SW, SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_25_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_DINGHY_SLIDE_25_DEG_COVERED_SW_NE, SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_25_DEG_COVERED_NW_SE, SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_25_DEG_COVERED_NE_SW, SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_25_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 50, height, 0, 27, height); + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 50, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } static void dinghy_slide_track_60_deg_up_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_DINGHY_SLIDE_60_DEG_COVERED_SW_NE, SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_60_DEG_COVERED_NW_SE, SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_60_DEG_COVERED_NE_SW, SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_60_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_DINGHY_SLIDE_60_DEG_COVERED_SW_NE, SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_60_DEG_COVERED_NW_SE, SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_60_DEG_COVERED_NE_SW, SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_60_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 98, height, 0, 27, height); + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 98, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 32, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_2); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } static void dinghy_slide_track_flat_to_25_deg_up_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_SW_NE, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_NW_SE, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_NE_SW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_SW_NE, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_NW_SE, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_NE_SW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 42, height, 0, 27, height); + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 42, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } static void dinghy_slide_track_25_deg_up_to_60_deg_up_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_SW_NE, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_NW_SE, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_NE_SW, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_SW_NE, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_NW_SE, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_NE_SW, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 66, height, 0, 27, height); + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 66, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 12, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } static void dinghy_slide_track_60_deg_up_to_25_deg_up_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_SW_NE, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_NW_SE, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_NE_SW, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_SW_NE, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_NW_SE, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_NE_SW, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 66, height, 0, 27, height); + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 66, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_2); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } static void dinghy_slide_track_25_deg_up_to_flat_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = { - { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_SW_NE, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_SW_NE }, - { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_NW_SE, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_NW_SE }, - { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_NE_SW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_NE_SW }, - { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = { + { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_SW_NE, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_SW_NE }, + { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_NW_SE, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_NW_SE }, + { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_NE_SW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_NE_SW }, + { SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 34, height, 0, 27, height); + imageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } static void dinghy_slide_track_25_deg_down_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - dinghy_slide_track_25_deg_up_covered(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + dinghy_slide_track_25_deg_up_covered(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void dinghy_slide_track_60_deg_down_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - dinghy_slide_track_60_deg_up_covered(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + dinghy_slide_track_60_deg_up_covered(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void dinghy_slide_track_flat_to_25_deg_down_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - dinghy_slide_track_25_deg_up_to_flat_covered(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + dinghy_slide_track_25_deg_up_to_flat_covered(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void dinghy_slide_track_25_deg_down_to_60_deg_down_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - dinghy_slide_track_60_deg_up_to_25_deg_up_covered(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + dinghy_slide_track_60_deg_up_to_25_deg_up_covered(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void dinghy_slide_track_25_deg_down_to_flat_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - dinghy_slide_track_flat_to_25_deg_up_covered(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + dinghy_slide_track_flat_to_25_deg_up_covered(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void dinghy_slide_track_right_quarter_turn_5_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const sprite_bb imageIds[4][5] = { - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_1, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_3, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_4, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 34, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_2, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_4, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_2, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_4, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_2, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_3, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_4, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - } - }; - static const sprite_bb frontImageIds[4][5] = { - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 30, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_1, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_2, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_3, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_4, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 34, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_2, { 0, 0, 0 }, { 0, 16, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_3, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_4, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_2, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_4, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_2, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_3, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_4, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - } - }; + static const sprite_bb imageIds[4][5] = { + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_1, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_3, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SW_SE_PART_4, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 34, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_2, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NW_SW_PART_4, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_2, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_NE_NW_PART_4, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_2, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_3, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_SE_NE_PART_4, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + } + }; + static const sprite_bb frontImageIds[4][5] = { + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 30, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_1, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_2, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_3, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SW_SE_PART_4, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 34, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_2, { 0, 0, 0 }, { 0, 16, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_3, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NW_SW_PART_4, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_2, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_NE_NW_PART_4, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_2, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_3, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_5_COVERED_FRONT_SE_NE_PART_4, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + } + }; - track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); - track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], frontImageIds); + track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); + track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], frontImageIds); - switch (trackSequence) { - case 0: - case 6: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + case 6: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 && trackSequence == 0) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } - if (direction == 0 && trackSequence == 6) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } - if (direction == 1 && trackSequence == 6) { - paint_util_push_tunnel_left(height, TUNNEL_0); - } - if (direction == 3 && trackSequence == 0) { - paint_util_push_tunnel_right(height, TUNNEL_0); - } + if (direction == 0 && trackSequence == 0) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } + if (direction == 0 && trackSequence == 6) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } + if (direction == 1 && trackSequence == 6) { + paint_util_push_tunnel_left(height, TUNNEL_0); + } + if (direction == 3 && trackSequence == 0) { + paint_util_push_tunnel_right(height, TUNNEL_0); + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8, direction), 0xFFFF, 0); break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void dinghy_slide_track_left_quarter_turn_5_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; - dinghy_slide_track_right_quarter_turn_5_covered(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; + dinghy_slide_track_right_quarter_turn_5_covered(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } static void dinghy_slide_track_s_bend_left_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4][2] = - { - { { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_0 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_3 } }, - { { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_0 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_3 } }, - { { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_3 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_0 } }, - { { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_3 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_0 } }, - }; + static const uint32 imageIds[4][4][2] = + { + { { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_0 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_3 } }, + { { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_0 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_3 } }, + { { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_3 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_SE_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_NW_NE_SEQ_0 } }, + { { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_3 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_NW_SW_NW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NW_SW_NW_SEQ_0 } }, + }; - uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; - sint16 bboy; + uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; + sint16 bboy; - switch (trackSequence) { - case 0: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 1: - bboy = (direction == 0 || direction == 1) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - if (direction == 0 || direction == 1) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5 + (direction & 1), (direction & 1), height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 2: - bboy = (direction == 2 || direction == 3) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - if (direction == 2 || direction == 3) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5 + (direction & 1), (direction & 1), height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 1: + bboy = (direction == 0 || direction == 1) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + if (direction == 0 || direction == 1) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5 + (direction & 1), (direction & 1), height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 2: + bboy = (direction == 2 || direction == 3) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + if (direction == 2 || direction == 3) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 5 + (direction & 1), (direction & 1), height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - if (trackSequence == 0) { - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - } else if (trackSequence == 3) { - if (direction == 1 || direction == 2) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - } + if (trackSequence == 0) { + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + } else if (trackSequence == 3) { + if (direction == 1 || direction == 2) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void dinghy_slide_track_s_bend_right_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4][2] = - { - { { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_0 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_3 } }, - { { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_0 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_3 } }, - { { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_3 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_0 } }, - { { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_3 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_2 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_1 }, - { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_0 } }, - }; + static const uint32 imageIds[4][4][2] = + { + { { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_0 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_3 } }, + { { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_0 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_3 } }, + { { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_3 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SW_NW_SW_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_NE_SE_NE_SEQ_0 } }, + { { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_3, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_3 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_2, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_2 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_1, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_1 }, + { SPR_DINGHY_SLIDE_S_BEND_COVERED_SE_SW_SE_SEQ_0, SPR_DINGHY_SLIDE_S_BEND_COVERED_FRONT_SE_SW_SE_SEQ_0 } }, + }; - uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; - sint16 bboy; + uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; + sint16 bboy; - switch (trackSequence) { - case 0: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 1: - bboy = (direction == 2 || direction == 3) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - if (direction == 0 || direction == 1) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 2: - bboy = (direction == 0 || direction == 1) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - if (direction == 2 || direction == 3) { - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 3: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 1: + bboy = (direction == 2 || direction == 3) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + if (direction == 0 || direction == 1) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 2: + bboy = (direction == 0 || direction == 1) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + if (direction == 2 || direction == 3) { + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 3: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - if (trackSequence == 0) { - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - } else if (trackSequence == 3) { - if (direction == 1 || direction == 2) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - } + if (trackSequence == 0) { + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + } else if (trackSequence == 3) { + if (direction == 1 || direction == 2) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void dinghy_slide_track_right_quarter_turn_3_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const sprite_bb imageIds[4][3] = { - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SW_SE_PART_1, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SW_SE_PART_2, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NW_SW_PART_2, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NE_NW_PART_2, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SE_NE_PART_1, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 2 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SE_NE_PART_2, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, - } - }; - static const sprite_bb frontImageIds[4][3] = { - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SW_SE_PART_1, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SW_SE_PART_2, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NW_SW_PART_2, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NE_NW_PART_2, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - }, - { - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SE_NE_PART_1, { 0, 0, 0 }, { 0, 16, 27 }, { 16, 16, 0 } }, - { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SE_NE_PART_2, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, - } - }; + static const sprite_bb imageIds[4][3] = { + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SW_SE_PART_1, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SW_SE_PART_2, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NW_SW_PART_2, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_NE_NW_PART_2, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 0 }, { 20, 32, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SE_NE_PART_1, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 2 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_SE_NE_PART_2, { 0, 0, 0 }, { 0, 6, 0 }, { 32, 20, 2 } }, + } + }; + static const sprite_bb frontImageIds[4][3] = { + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SW_SE_PART_0, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SW_SE_PART_1, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SW_SE_PART_2, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NW_SW_PART_0, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NW_SW_PART_1, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NW_SW_PART_2, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NE_NW_PART_0, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_NE_NW_PART_2, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + }, + { + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SE_NE_PART_0, { 0, 0, 0 }, { 6, 0, 27 }, { 20, 32, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SE_NE_PART_1, { 0, 0, 0 }, { 0, 16, 27 }, { 16, 16, 0 } }, + { SPR_DINGHY_SLIDE_QUARTER_TURN_3_COVERED_FRONT_SE_NE_PART_2, { 0, 0, 0 }, { 0, 6, 27 }, { 32, 20, 0 } }, + } + }; - track_paint_util_right_quarter_turn_3_tiles_paint_3(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); - track_paint_util_right_quarter_turn_3_tiles_paint_3(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], frontImageIds); - track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); + track_paint_util_right_quarter_turn_3_tiles_paint_3(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], imageIds); + track_paint_util_right_quarter_turn_3_tiles_paint_3(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], frontImageIds); + track_paint_util_right_quarter_turn_3_tiles_tunnel(height, direction, trackSequence, TUNNEL_0); - switch (trackSequence) { - case 0: - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) { + case 0: + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_TUBES, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + break; + } - sint32 blockedSegments = 0; - switch (trackSequence) { - case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; - case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; - case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; - } - paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); + sint32 blockedSegments = 0; + switch (trackSequence) { + case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC; break; + case 2: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0; break; + case 3: blockedSegments = SEGMENT_D4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_B8; break; + } + paint_util_set_segment_support_height(paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void dinghy_slide_track_left_quarter_turn_3_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; - dinghy_slide_track_right_quarter_turn_3_covered(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; + dinghy_slide_track_right_quarter_turn_3_covered(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } static void dinghy_slide_track_60_deg_down_to_25_deg_down_covered(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - dinghy_slide_track_25_deg_up_to_60_deg_up_covered(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + dinghy_slide_track_25_deg_up_to_60_deg_up_covered(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } TRACK_PAINT_FUNCTION get_track_paint_function_dinghy_slide(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return dinghy_slide_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return dinghy_slide_track_station; - case TRACK_ELEM_25_DEG_UP: - return dinghy_slide_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return dinghy_slide_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return dinghy_slide_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return dinghy_slide_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return dinghy_slide_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return dinghy_slide_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return dinghy_slide_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return dinghy_slide_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return dinghy_slide_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return dinghy_slide_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return dinghy_slide_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return dinghy_slide_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return dinghy_slide_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return dinghy_slide_track_right_quarter_turn_5; - case TRACK_ELEM_S_BEND_LEFT: - return dinghy_slide_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return dinghy_slide_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return dinghy_slide_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return dinghy_slide_track_right_quarter_turn_3; - case TRACK_ELEM_FLAT_COVERED: - return dinghy_slide_track_flat_covered; - case TRACK_ELEM_25_DEG_UP_COVERED: - return dinghy_slide_track_25_deg_up_covered; - case TRACK_ELEM_60_DEG_UP_COVERED: - return dinghy_slide_track_60_deg_up_covered; - case TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED: - return dinghy_slide_track_flat_to_25_deg_up_covered; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED: - return dinghy_slide_track_25_deg_up_to_60_deg_up_covered; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED: - return dinghy_slide_track_60_deg_up_to_25_deg_up_covered; - case TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED: - return dinghy_slide_track_25_deg_up_to_flat_covered; - case TRACK_ELEM_25_DEG_DOWN_COVERED: - return dinghy_slide_track_25_deg_down_covered; - case TRACK_ELEM_60_DEG_DOWN_COVERED: - return dinghy_slide_track_60_deg_down_covered; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED: - return dinghy_slide_track_flat_to_25_deg_down_covered; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED: - return dinghy_slide_track_25_deg_down_to_60_deg_down_covered; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED: - return dinghy_slide_track_60_deg_down_to_25_deg_down_covered; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED: - return dinghy_slide_track_25_deg_down_to_flat_covered; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: - return dinghy_slide_track_left_quarter_turn_5_covered; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: - return dinghy_slide_track_right_quarter_turn_5_covered; - case TRACK_ELEM_S_BEND_LEFT_COVERED: - return dinghy_slide_track_s_bend_left_covered; - case TRACK_ELEM_S_BEND_RIGHT_COVERED: - return dinghy_slide_track_s_bend_right_covered; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: - return dinghy_slide_track_left_quarter_turn_3_covered; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: - return dinghy_slide_track_right_quarter_turn_3_covered; - } + switch (trackType) { + case TRACK_ELEM_FLAT: + return dinghy_slide_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return dinghy_slide_track_station; + case TRACK_ELEM_25_DEG_UP: + return dinghy_slide_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return dinghy_slide_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return dinghy_slide_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return dinghy_slide_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return dinghy_slide_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return dinghy_slide_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return dinghy_slide_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return dinghy_slide_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return dinghy_slide_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return dinghy_slide_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return dinghy_slide_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return dinghy_slide_track_25_deg_down_to_flat; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return dinghy_slide_track_left_quarter_turn_5; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return dinghy_slide_track_right_quarter_turn_5; + case TRACK_ELEM_S_BEND_LEFT: + return dinghy_slide_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return dinghy_slide_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return dinghy_slide_track_left_quarter_turn_3; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return dinghy_slide_track_right_quarter_turn_3; + case TRACK_ELEM_FLAT_COVERED: + return dinghy_slide_track_flat_covered; + case TRACK_ELEM_25_DEG_UP_COVERED: + return dinghy_slide_track_25_deg_up_covered; + case TRACK_ELEM_60_DEG_UP_COVERED: + return dinghy_slide_track_60_deg_up_covered; + case TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED: + return dinghy_slide_track_flat_to_25_deg_up_covered; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED: + return dinghy_slide_track_25_deg_up_to_60_deg_up_covered; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED: + return dinghy_slide_track_60_deg_up_to_25_deg_up_covered; + case TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED: + return dinghy_slide_track_25_deg_up_to_flat_covered; + case TRACK_ELEM_25_DEG_DOWN_COVERED: + return dinghy_slide_track_25_deg_down_covered; + case TRACK_ELEM_60_DEG_DOWN_COVERED: + return dinghy_slide_track_60_deg_down_covered; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED: + return dinghy_slide_track_flat_to_25_deg_down_covered; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED: + return dinghy_slide_track_25_deg_down_to_60_deg_down_covered; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED: + return dinghy_slide_track_60_deg_down_to_25_deg_down_covered; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED: + return dinghy_slide_track_25_deg_down_to_flat_covered; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: + return dinghy_slide_track_left_quarter_turn_5_covered; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: + return dinghy_slide_track_right_quarter_turn_5_covered; + case TRACK_ELEM_S_BEND_LEFT_COVERED: + return dinghy_slide_track_s_bend_left_covered; + case TRACK_ELEM_S_BEND_RIGHT_COVERED: + return dinghy_slide_track_s_bend_right_covered; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: + return dinghy_slide_track_left_quarter_turn_3_covered; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: + return dinghy_slide_track_right_quarter_turn_3_covered; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/water/log_flume.c b/src/openrct2/ride/water/log_flume.c index 83c6ff2544..ad2c9f7954 100644 --- a/src/openrct2/ride/water/log_flume.c +++ b/src/openrct2/ride/water/log_flume.c @@ -22,694 +22,694 @@ #include "../track_paint.h" enum { - SPR_LOG_FLUME_FLAT_SW_NE = 20996, - SPR_LOG_FLUME_FLAT_NW_SE = 20997, - SPR_LOG_FLUME_FLAT_NE_SW = 20998, - SPR_LOG_FLUME_FLAT_SE_NW = 20999, - SPR_LOG_FLUME_FLAT_FRONT_SW_NE = 21000, - SPR_LOG_FLUME_FLAT_FRONT_NW_SE = 21001, - SPR_LOG_FLUME_FLAT_FRONT_NE_SW = 21002, - SPR_LOG_FLUME_FLAT_FRONT_SE_NW = 21003, - SPR_LOG_FLUME_REVERSER_SW_NE = 21004, - SPR_LOG_FLUME_REVERSER_NW_SE = 21005, - SPR_LOG_FLUME_REVERSER_NE_SW = 21006, - SPR_LOG_FLUME_REVERSER_SE_NW = 21007, - SPR_LOG_FLUME_REVERSER_FRONT_SW_NE = 21008, - SPR_LOG_FLUME_REVERSER_FRONT_NW_SE = 21009, - SPR_LOG_FLUME_REVERSER_FRONT_NE_SW = 21010, - SPR_LOG_FLUME_REVERSER_FRONT_SE_NW = 21011, - SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_SW_NE = 21012, - SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_NW_SE = 21013, - SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_NE_SW = 21014, - SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_SE_NW = 21015, - SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SW_NE = 21016, - SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NW_SE = 21017, - SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NE_SW = 21018, - SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SE_NW = 21019, - SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_SW_NE = 21020, - SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_NW_SE = 21021, - SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_NE_SW = 21022, - SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_SE_NW = 21023, - SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SW_NE = 21024, - SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NW_SE = 21025, - SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NE_SW = 21026, - SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SE_NW = 21027, - SPR_LOG_FLUME_25_DEG_UP_SW_NE = 21028, - SPR_LOG_FLUME_25_DEG_UP_NW_SE = 21029, - SPR_LOG_FLUME_25_DEG_UP_NE_SW = 21030, - SPR_LOG_FLUME_25_DEG_UP_SE_NW = 21031, - SPR_LOG_FLUME_25_DEG_UP_FRONT_SW_NE = 21032, - SPR_LOG_FLUME_25_DEG_UP_FRONT_NW_SE = 21033, - SPR_LOG_FLUME_25_DEG_UP_FRONT_NE_SW = 21034, - SPR_LOG_FLUME_25_DEG_UP_FRONT_SE_NW = 21035, - SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_NE_SW = 21036, - SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_SE_NW = 21037, - SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_SW_NE = 21038, - SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_NW_SE = 21039, - SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_NE_SW = 21040, - SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_SE_NW = 21041, - SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_SW_NE = 21042, - SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_NW_SE = 21043, - SPR_LOG_FLUME_25_DEG_DOWN_NE_SW = 21044, - SPR_LOG_FLUME_25_DEG_DOWN_SE_NW = 21045, - SPR_LOG_FLUME_25_DEG_DOWN_SW_NE = 21046, - SPR_LOG_FLUME_25_DEG_DOWN_NW_SE = 21047, - SPR_LOG_FLUME_3_TURN_NE_SE_SEQ_0 = 21048, - SPR_LOG_FLUME_3_TURN_NE_SE_SEQ_2 = 21049, - SPR_LOG_FLUME_3_TURN_NE_SE_SEQ_3 = 21050, - SPR_LOG_FLUME_3_TURN_SE_SW_SEQ_0 = 21051, - SPR_LOG_FLUME_3_TURN_SE_SW_SEQ_2 = 21052, - SPR_LOG_FLUME_3_TURN_SE_SW_SEQ_3 = 21053, - SPR_LOG_FLUME_3_TURN_SW_NW_SEQ_0 = 21054, - SPR_LOG_FLUME_3_TURN_SW_NW_SEQ_2 = 21055, - SPR_LOG_FLUME_3_TURN_SW_NW_SEQ_3 = 21056, - SPR_LOG_FLUME_3_TURN_NW_NE_SEQ_0 = 21057, - SPR_LOG_FLUME_3_TURN_NW_NE_SEQ_2 = 21058, - SPR_LOG_FLUME_3_TURN_NW_NE_SEQ_3 = 21059, - SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_0 = 21060, - SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_2 = 21061, - SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_3 = 21062, - SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_0 = 21063, - SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_2 = 21064, - SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_3 = 21065, - SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_0 = 21066, - SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_2 = 21067, - SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_3 = 21068, - SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_0 = 21069, - SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_2 = 21070, - SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_3 = 21071, - SPR_LOG_FLUME_3_TURN_NW_SW_SEQ_0 = 21072, - SPR_LOG_FLUME_3_TURN_NW_SW_SEQ_2 = 21073, - SPR_LOG_FLUME_3_TURN_NW_SW_SEQ_3 = 21074, - SPR_LOG_FLUME_3_TURN_NE_NW_SEQ_0 = 21075, - SPR_LOG_FLUME_3_TURN_NE_NW_SEQ_2 = 21076, - SPR_LOG_FLUME_3_TURN_NE_NW_SEQ_3 = 21077, - SPR_LOG_FLUME_3_TURN_SE_NE_SEQ_0 = 21078, - SPR_LOG_FLUME_3_TURN_SE_NE_SEQ_2 = 21079, - SPR_LOG_FLUME_3_TURN_SE_NE_SEQ_3 = 21080, - SPR_LOG_FLUME_3_TURN_SW_SE_SEQ_0 = 21081, - SPR_LOG_FLUME_3_TURN_SW_SE_SEQ_2 = 21082, - SPR_LOG_FLUME_3_TURN_SW_SE_SEQ_3 = 21083, - SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_3 = 21084, - SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_2 = 21085, - SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_1 = 21086, - SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_0 = 21087, - SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_0 = 21088, - SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_1 = 21089, - SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_2 = 21090, - SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_3 = 21091, - SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_3 = 21092, - SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_2 = 21093, - SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_1 = 21094, - SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_0 = 21095, - SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_0 = 21096, - SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_1 = 21097, - SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_2 = 21098, - SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_3 = 21099, - SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_0 = 21100, - SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_1 = 21101, - SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_2 = 21102, - SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_3 = 21103, - SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_0 = 21104, - SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_1 = 21105, - SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_2 = 21106, - SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_3 = 21107, - SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_0 = 21108, - SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_1 = 21109, - SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_2 = 21110, - SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_3 = 21111, - SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_0 = 21112, - SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_1 = 21113, - SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_2 = 21114, - SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_3 = 21115, - SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_0 = 21116, - SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_1 = 21117, - SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_2 = 21118, - SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_3 = 21119, - SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_3 = 21120, - SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_2 = 21121, - SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_1 = 21122, - SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_0 = 21123, - SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_0 = 21124, - SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_1 = 21125, - SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_2 = 21126, - SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_3 = 21127, - SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_3 = 21128, - SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_2 = 21129, - SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_1 = 21130, - SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_0 = 21131, + SPR_LOG_FLUME_FLAT_SW_NE = 20996, + SPR_LOG_FLUME_FLAT_NW_SE = 20997, + SPR_LOG_FLUME_FLAT_NE_SW = 20998, + SPR_LOG_FLUME_FLAT_SE_NW = 20999, + SPR_LOG_FLUME_FLAT_FRONT_SW_NE = 21000, + SPR_LOG_FLUME_FLAT_FRONT_NW_SE = 21001, + SPR_LOG_FLUME_FLAT_FRONT_NE_SW = 21002, + SPR_LOG_FLUME_FLAT_FRONT_SE_NW = 21003, + SPR_LOG_FLUME_REVERSER_SW_NE = 21004, + SPR_LOG_FLUME_REVERSER_NW_SE = 21005, + SPR_LOG_FLUME_REVERSER_NE_SW = 21006, + SPR_LOG_FLUME_REVERSER_SE_NW = 21007, + SPR_LOG_FLUME_REVERSER_FRONT_SW_NE = 21008, + SPR_LOG_FLUME_REVERSER_FRONT_NW_SE = 21009, + SPR_LOG_FLUME_REVERSER_FRONT_NE_SW = 21010, + SPR_LOG_FLUME_REVERSER_FRONT_SE_NW = 21011, + SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_SW_NE = 21012, + SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_NW_SE = 21013, + SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_NE_SW = 21014, + SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_SE_NW = 21015, + SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SW_NE = 21016, + SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NW_SE = 21017, + SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NE_SW = 21018, + SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SE_NW = 21019, + SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_SW_NE = 21020, + SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_NW_SE = 21021, + SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_NE_SW = 21022, + SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_SE_NW = 21023, + SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SW_NE = 21024, + SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NW_SE = 21025, + SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NE_SW = 21026, + SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SE_NW = 21027, + SPR_LOG_FLUME_25_DEG_UP_SW_NE = 21028, + SPR_LOG_FLUME_25_DEG_UP_NW_SE = 21029, + SPR_LOG_FLUME_25_DEG_UP_NE_SW = 21030, + SPR_LOG_FLUME_25_DEG_UP_SE_NW = 21031, + SPR_LOG_FLUME_25_DEG_UP_FRONT_SW_NE = 21032, + SPR_LOG_FLUME_25_DEG_UP_FRONT_NW_SE = 21033, + SPR_LOG_FLUME_25_DEG_UP_FRONT_NE_SW = 21034, + SPR_LOG_FLUME_25_DEG_UP_FRONT_SE_NW = 21035, + SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_NE_SW = 21036, + SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_SE_NW = 21037, + SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_SW_NE = 21038, + SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_NW_SE = 21039, + SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_NE_SW = 21040, + SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_SE_NW = 21041, + SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_SW_NE = 21042, + SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_NW_SE = 21043, + SPR_LOG_FLUME_25_DEG_DOWN_NE_SW = 21044, + SPR_LOG_FLUME_25_DEG_DOWN_SE_NW = 21045, + SPR_LOG_FLUME_25_DEG_DOWN_SW_NE = 21046, + SPR_LOG_FLUME_25_DEG_DOWN_NW_SE = 21047, + SPR_LOG_FLUME_3_TURN_NE_SE_SEQ_0 = 21048, + SPR_LOG_FLUME_3_TURN_NE_SE_SEQ_2 = 21049, + SPR_LOG_FLUME_3_TURN_NE_SE_SEQ_3 = 21050, + SPR_LOG_FLUME_3_TURN_SE_SW_SEQ_0 = 21051, + SPR_LOG_FLUME_3_TURN_SE_SW_SEQ_2 = 21052, + SPR_LOG_FLUME_3_TURN_SE_SW_SEQ_3 = 21053, + SPR_LOG_FLUME_3_TURN_SW_NW_SEQ_0 = 21054, + SPR_LOG_FLUME_3_TURN_SW_NW_SEQ_2 = 21055, + SPR_LOG_FLUME_3_TURN_SW_NW_SEQ_3 = 21056, + SPR_LOG_FLUME_3_TURN_NW_NE_SEQ_0 = 21057, + SPR_LOG_FLUME_3_TURN_NW_NE_SEQ_2 = 21058, + SPR_LOG_FLUME_3_TURN_NW_NE_SEQ_3 = 21059, + SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_0 = 21060, + SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_2 = 21061, + SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_3 = 21062, + SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_0 = 21063, + SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_2 = 21064, + SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_3 = 21065, + SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_0 = 21066, + SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_2 = 21067, + SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_3 = 21068, + SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_0 = 21069, + SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_2 = 21070, + SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_3 = 21071, + SPR_LOG_FLUME_3_TURN_NW_SW_SEQ_0 = 21072, + SPR_LOG_FLUME_3_TURN_NW_SW_SEQ_2 = 21073, + SPR_LOG_FLUME_3_TURN_NW_SW_SEQ_3 = 21074, + SPR_LOG_FLUME_3_TURN_NE_NW_SEQ_0 = 21075, + SPR_LOG_FLUME_3_TURN_NE_NW_SEQ_2 = 21076, + SPR_LOG_FLUME_3_TURN_NE_NW_SEQ_3 = 21077, + SPR_LOG_FLUME_3_TURN_SE_NE_SEQ_0 = 21078, + SPR_LOG_FLUME_3_TURN_SE_NE_SEQ_2 = 21079, + SPR_LOG_FLUME_3_TURN_SE_NE_SEQ_3 = 21080, + SPR_LOG_FLUME_3_TURN_SW_SE_SEQ_0 = 21081, + SPR_LOG_FLUME_3_TURN_SW_SE_SEQ_2 = 21082, + SPR_LOG_FLUME_3_TURN_SW_SE_SEQ_3 = 21083, + SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_3 = 21084, + SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_2 = 21085, + SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_1 = 21086, + SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_0 = 21087, + SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_0 = 21088, + SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_1 = 21089, + SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_2 = 21090, + SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_3 = 21091, + SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_3 = 21092, + SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_2 = 21093, + SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_1 = 21094, + SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_0 = 21095, + SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_0 = 21096, + SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_1 = 21097, + SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_2 = 21098, + SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_3 = 21099, + SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_0 = 21100, + SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_1 = 21101, + SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_2 = 21102, + SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_3 = 21103, + SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_0 = 21104, + SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_1 = 21105, + SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_2 = 21106, + SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_3 = 21107, + SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_0 = 21108, + SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_1 = 21109, + SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_2 = 21110, + SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_3 = 21111, + SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_0 = 21112, + SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_1 = 21113, + SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_2 = 21114, + SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_3 = 21115, + SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_0 = 21116, + SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_1 = 21117, + SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_2 = 21118, + SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_3 = 21119, + SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_3 = 21120, + SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_2 = 21121, + SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_1 = 21122, + SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_0 = 21123, + SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_0 = 21124, + SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_1 = 21125, + SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_2 = 21126, + SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_3 = 21127, + SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_3 = 21128, + SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_2 = 21129, + SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_1 = 21130, + SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_0 = 21131, }; static const uint32 LogFlumeTrackFlatImageIds[4][2] = { - { SPR_LOG_FLUME_FLAT_SW_NE, SPR_LOG_FLUME_FLAT_FRONT_SW_NE }, - { SPR_LOG_FLUME_FLAT_NW_SE, SPR_LOG_FLUME_FLAT_FRONT_NW_SE }, - { SPR_LOG_FLUME_FLAT_NE_SW, SPR_LOG_FLUME_FLAT_FRONT_NE_SW }, - { SPR_LOG_FLUME_FLAT_SE_NW, SPR_LOG_FLUME_FLAT_FRONT_SE_NW }, + { SPR_LOG_FLUME_FLAT_SW_NE, SPR_LOG_FLUME_FLAT_FRONT_SW_NE }, + { SPR_LOG_FLUME_FLAT_NW_SE, SPR_LOG_FLUME_FLAT_FRONT_NW_SE }, + { SPR_LOG_FLUME_FLAT_NE_SW, SPR_LOG_FLUME_FLAT_FRONT_NE_SW }, + { SPR_LOG_FLUME_FLAT_SE_NW, SPR_LOG_FLUME_FLAT_FRONT_SE_NW }, }; static void paint_log_flume_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = LogFlumeTrackFlatImageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = LogFlumeTrackFlatImageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = LogFlumeTrackFlatImageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = LogFlumeTrackFlatImageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 26, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 26, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void paint_log_flume_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = LogFlumeTrackFlatImageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height + 3); + uint32 imageId = LogFlumeTrackFlatImageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height + 3); - if (direction & 1) { - imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; - } else { - imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; - } - sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); + if (direction & 1) { + imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; + } else { + imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; + } + sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); - if (direction & 1) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (direction & 1) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - track_paint_util_draw_station_3(rideIndex, trackSequence, direction, height + 2, height, mapElement); - // Covers shouldn't be offset by +2 + track_paint_util_draw_station_3(rideIndex, trackSequence, direction, height + 2, height, mapElement); + // Covers shouldn't be offset by +2 - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void paint_log_flume_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = - { - { SPR_LOG_FLUME_25_DEG_UP_SW_NE, SPR_LOG_FLUME_25_DEG_UP_FRONT_SW_NE }, - { SPR_LOG_FLUME_25_DEG_UP_NW_SE, SPR_LOG_FLUME_25_DEG_UP_FRONT_NW_SE }, - { SPR_LOG_FLUME_25_DEG_UP_NE_SW, SPR_LOG_FLUME_25_DEG_UP_FRONT_NE_SW }, - { SPR_LOG_FLUME_25_DEG_UP_SE_NW, SPR_LOG_FLUME_25_DEG_UP_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = + { + { SPR_LOG_FLUME_25_DEG_UP_SW_NE, SPR_LOG_FLUME_25_DEG_UP_FRONT_SW_NE }, + { SPR_LOG_FLUME_25_DEG_UP_NW_SE, SPR_LOG_FLUME_25_DEG_UP_FRONT_NW_SE }, + { SPR_LOG_FLUME_25_DEG_UP_NE_SW, SPR_LOG_FLUME_25_DEG_UP_FRONT_NE_SW }, + { SPR_LOG_FLUME_25_DEG_UP_SE_NW, SPR_LOG_FLUME_25_DEG_UP_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 50, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 50, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } static void paint_log_flume_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = - { - { SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_SW_NE, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SW_NE }, - { SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_NW_SE, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NW_SE }, - { SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_NE_SW, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NE_SW }, - { SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_SE_NW, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = + { + { SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_SW_NE, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SW_NE }, + { SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_NW_SE, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NW_SE }, + { SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_NE_SW, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NE_SW }, + { SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_SE_NW, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 42, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 42, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } static void paint_log_flume_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = - { - { SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_SW_NE, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SW_NE }, - { SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_NW_SE, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NW_SE }, - { SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_NE_SW, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NE_SW }, - { SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_SE_NW, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = + { + { SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_SW_NE, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SW_NE }, + { SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_NW_SE, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NW_SE }, + { SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_NE_SW, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NE_SW }, + { SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_SE_NW, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 34, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } static void paint_log_flume_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = - { - { SPR_LOG_FLUME_25_DEG_DOWN_SW_NE, SPR_LOG_FLUME_25_DEG_UP_FRONT_NE_SW }, - { SPR_LOG_FLUME_25_DEG_DOWN_NW_SE, SPR_LOG_FLUME_25_DEG_UP_FRONT_SE_NW }, - { SPR_LOG_FLUME_25_DEG_DOWN_NE_SW, SPR_LOG_FLUME_25_DEG_UP_FRONT_SW_NE }, - { SPR_LOG_FLUME_25_DEG_DOWN_SE_NW, SPR_LOG_FLUME_25_DEG_UP_FRONT_NW_SE }, - }; + static const uint32 imageIds[4][2] = + { + { SPR_LOG_FLUME_25_DEG_DOWN_SW_NE, SPR_LOG_FLUME_25_DEG_UP_FRONT_NE_SW }, + { SPR_LOG_FLUME_25_DEG_DOWN_NW_SE, SPR_LOG_FLUME_25_DEG_UP_FRONT_SE_NW }, + { SPR_LOG_FLUME_25_DEG_DOWN_NE_SW, SPR_LOG_FLUME_25_DEG_UP_FRONT_SW_NE }, + { SPR_LOG_FLUME_25_DEG_DOWN_SE_NW, SPR_LOG_FLUME_25_DEG_UP_FRONT_NW_SE }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 50, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 50, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); - } else { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_2); + } else { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } static void paint_log_flume_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = - { - { SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_SW_NE, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NE_SW }, - { SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_NW_SE, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SE_NW }, - { SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_NE_SW, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SW_NE }, - { SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_SE_NW, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NW_SE }, - }; + static const uint32 imageIds[4][2] = + { + { SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_SW_NE, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NE_SW }, + { SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_NW_SE, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SE_NW }, + { SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_NE_SW, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SW_NE }, + { SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_SE_NW, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NW_SE }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 34, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 34, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); - } else { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_12); + } else { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } static void paint_log_flume_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = - { - { SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_SW_NE, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NE_SW }, - { SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_NW_SE, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SE_NW }, - { SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_NE_SW, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SW_NE }, - { SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_SE_NW, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NW_SE }, - }; + static const uint32 imageIds[4][2] = + { + { SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_SW_NE, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NE_SW }, + { SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_NW_SE, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SE_NW }, + { SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_NE_SW, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SW_NE }, + { SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_SE_NW, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NW_SE }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 42, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 42, height, 0, 27, height); - if (track_paint_util_should_paint_supports(gPaintMapPosition)) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(gPaintMapPosition)) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); + } - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_2); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } static void paint_log_flume_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4][2] = - { - { { SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_0 }, - { SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_1 }, - { SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_2 }, - { SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_3 } }, - { { SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_0 }, - { SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_1 }, - { SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_2 }, - { SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_3 } }, - { { SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_2 }, - { SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_1 }, - { SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_0 } }, - { { SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_2 }, - { SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_1 }, - { SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_0 } }, - }; + static const uint32 imageIds[4][4][2] = + { + { { SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_0 }, + { SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_1 }, + { SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_2 }, + { SPR_LOG_FLUME_3_TURN_NE_NW_NE_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_3 } }, + { { SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_0 }, + { SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_1 }, + { SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_2 }, + { SPR_LOG_FLUME_3_TURN_NW_SW_NW_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_3 } }, + { { SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_2 }, + { SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_1 }, + { SPR_LOG_FLUME_3_TURN_SW_SE_SW_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_NE_NW_NE_SEQ_0 } }, + { { SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_2 }, + { SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_1 }, + { SPR_LOG_FLUME_3_TURN_SE_NE_SE_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_NW_SW_NW_SEQ_0 } }, + }; - uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; - sint16 bboy; + uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; + sint16 bboy; - switch (trackSequence) { - case 0: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 1: - bboy = (direction == 0 || direction == 1) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - if (direction == 0 || direction == 1) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5 + (direction & 1), (direction & 1), height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 2: - bboy = (direction == 2 || direction == 3) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - if (direction == 2 || direction == 3) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5 + (direction & 1), (direction & 1), height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 1: + bboy = (direction == 0 || direction == 1) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + if (direction == 0 || direction == 1) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5 + (direction & 1), (direction & 1), height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 2: + bboy = (direction == 2 || direction == 3) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + if (direction == 2 || direction == 3) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5 + (direction & 1), (direction & 1), height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - if (trackSequence == 0) { - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - } else if (trackSequence == 3) { - if (direction == 1 || direction == 2) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - } + if (trackSequence == 0) { + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + } else if (trackSequence == 3) { + if (direction == 1 || direction == 2) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void paint_log_flume_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4][2] = - { - { { SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_0 }, - { SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_1 }, - { SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_2 }, - { SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_3 } }, - { { SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_0 }, - { SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_1 }, - { SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_2 }, - { SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_3 } }, - { { SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_2 }, - { SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_1 }, - { SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_0 } }, - { { SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_2 }, - { SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_1 }, - { SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_0 } }, - }; + static const uint32 imageIds[4][4][2] = + { + { { SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_0 }, + { SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_1 }, + { SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_2 }, + { SPR_LOG_FLUME_3_TURN_NE_SE_NE_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_3 } }, + { { SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_0 }, + { SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_1 }, + { SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_2 }, + { SPR_LOG_FLUME_3_TURN_SE_SW_SE_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_3 } }, + { { SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_2 }, + { SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_1 }, + { SPR_LOG_FLUME_3_TURN_SW_NW_SW_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_NE_SE_NE_SEQ_0 } }, + { { SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_1, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_2 }, + { SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_1 }, + { SPR_LOG_FLUME_3_TURN_NW_NE_NW_SEQ_3, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SE_SEQ_0 } }, + }; - uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; - sint16 bboy; + uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; + sint16 bboy; - switch (trackSequence) { - case 0: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 1: - bboy = (direction == 2 || direction == 3) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - if (direction == 0 || direction == 1) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 2: - bboy = (direction == 0 || direction == 1) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - if (direction == 2 || direction == 3) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); - } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 3: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 1: + bboy = (direction == 2 || direction == 3) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + if (direction == 0 || direction == 1) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 2: + bboy = (direction == 0 || direction == 1) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + if (direction == 2 || direction == 3) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS]); + } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 3: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + } - if (trackSequence == 0) { - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - } else if (trackSequence == 3) { - if (direction == 1 || direction == 2) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - } + if (trackSequence == 0) { + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + } else if (trackSequence == 3) { + if (direction == 1 || direction == 2) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void paint_log_flume_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = - { - { SPR_LOG_FLUME_3_TURN_NW_SW_SEQ_0, SPR_LOG_FLUME_3_TURN_NW_SW_SEQ_2, SPR_LOG_FLUME_3_TURN_NW_SW_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_NE_NW_SEQ_0, SPR_LOG_FLUME_3_TURN_NE_NW_SEQ_2, SPR_LOG_FLUME_3_TURN_NE_NW_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_SE_NE_SEQ_0, SPR_LOG_FLUME_3_TURN_SE_NE_SEQ_2, SPR_LOG_FLUME_3_TURN_SE_NE_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_SW_SE_SEQ_0, SPR_LOG_FLUME_3_TURN_SW_SE_SEQ_2, SPR_LOG_FLUME_3_TURN_SW_SE_SEQ_3 }, - }; + static const uint32 imageIds[4][3] = + { + { SPR_LOG_FLUME_3_TURN_NW_SW_SEQ_0, SPR_LOG_FLUME_3_TURN_NW_SW_SEQ_2, SPR_LOG_FLUME_3_TURN_NW_SW_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_NE_NW_SEQ_0, SPR_LOG_FLUME_3_TURN_NE_NW_SEQ_2, SPR_LOG_FLUME_3_TURN_NE_NW_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_SE_NE_SEQ_0, SPR_LOG_FLUME_3_TURN_SE_NE_SEQ_2, SPR_LOG_FLUME_3_TURN_SE_NE_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_SW_SE_SEQ_0, SPR_LOG_FLUME_3_TURN_SW_SE_SEQ_2, SPR_LOG_FLUME_3_TURN_SW_SE_SEQ_3 }, + }; - static const uint32 imageIdsFront[4][3] = - { - { SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_3 }, - }; + static const uint32 imageIdsFront[4][3] = + { + { SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_3 }, + }; - track_paint_util_left_quarter_turn_3_tiles_paint(2, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], imageIds, get_current_rotation()); - track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(0, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], imageIdsFront, get_current_rotation(), 27); + track_paint_util_left_quarter_turn_3_tiles_paint(2, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], imageIds, get_current_rotation()); + track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(0, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], imageIdsFront, get_current_rotation(), 27); - if (trackSequence != 1 && trackSequence != 2) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence != 1 && trackSequence != 2) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - switch (trackSequence) { - case 0: - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - break; - case 3: - if (direction == 2 || direction == 3) { - paint_util_push_tunnel_rotated(direction ^ 1, height, TUNNEL_0); - } - break; - } + switch (trackSequence) { + case 0: + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + break; + case 3: + if (direction == 2 || direction == 3) { + paint_util_push_tunnel_rotated(direction ^ 1, height, TUNNEL_0); + } + break; + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void paint_log_flume_track_right_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][3] = - { - { SPR_LOG_FLUME_3_TURN_NW_NE_SEQ_0, SPR_LOG_FLUME_3_TURN_NW_NE_SEQ_2, SPR_LOG_FLUME_3_TURN_NW_NE_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_NE_SE_SEQ_0, SPR_LOG_FLUME_3_TURN_NE_SE_SEQ_2, SPR_LOG_FLUME_3_TURN_NE_SE_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_SE_SW_SEQ_0, SPR_LOG_FLUME_3_TURN_SE_SW_SEQ_2, SPR_LOG_FLUME_3_TURN_SE_SW_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_SW_NW_SEQ_0, SPR_LOG_FLUME_3_TURN_SW_NW_SEQ_2, SPR_LOG_FLUME_3_TURN_SW_NW_SEQ_3 } - }; + static const uint32 imageIds[4][3] = + { + { SPR_LOG_FLUME_3_TURN_NW_NE_SEQ_0, SPR_LOG_FLUME_3_TURN_NW_NE_SEQ_2, SPR_LOG_FLUME_3_TURN_NW_NE_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_NE_SE_SEQ_0, SPR_LOG_FLUME_3_TURN_NE_SE_SEQ_2, SPR_LOG_FLUME_3_TURN_NE_SE_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_SE_SW_SEQ_0, SPR_LOG_FLUME_3_TURN_SE_SW_SEQ_2, SPR_LOG_FLUME_3_TURN_SE_SW_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_SW_NW_SEQ_0, SPR_LOG_FLUME_3_TURN_SW_NW_SEQ_2, SPR_LOG_FLUME_3_TURN_SW_NW_SEQ_3 } + }; - static const uint32 imageIdsFront[4][3] = - { - { SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_3 }, - { SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_3 }, - }; + static const uint32 imageIdsFront[4][3] = + { + { SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_NW_NE_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SW_SE_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SE_SW_SEQ_3 }, + { SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_0, SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_2, SPR_LOG_FLUME_3_TURN_FRONT_SW_NW_SEQ_3 }, + }; - track_paint_util_right_quarter_turn_3_tiles_paint_2(2, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], imageIds, get_current_rotation()); - track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(0, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], imageIdsFront, get_current_rotation(), 27); + track_paint_util_right_quarter_turn_3_tiles_paint_2(2, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], imageIds, get_current_rotation()); + track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(0, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], imageIdsFront, get_current_rotation(), 27); - if (trackSequence != 1 && trackSequence != 2) { - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (trackSequence != 1 && trackSequence != 2) { + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + } - switch (trackSequence) { - case 0: - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - } - break; - case 3: - if (direction == 0 || direction == 1) { - paint_util_push_tunnel_rotated(direction ^ 1, height, TUNNEL_0); - } - break; - } + switch (trackSequence) { + case 0: + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + } + break; + case 3: + if (direction == 0 || direction == 1) { + paint_util_push_tunnel_rotated(direction ^ 1, height, TUNNEL_0); + } + break; + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } static void paint_log_flume_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId = SPR_STATION_BASE_D | 0x20000000; - sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); + uint32 imageId = SPR_STATION_BASE_D | 0x20000000; + sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); - if (direction & 1) { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } else { - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 6, height, gTrackColours[SCHEME_SUPPORTS]); - metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); - } + if (direction & 1) { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 6, 6, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK_ALT, 7, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } else { + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 5, 6, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_FORK, 8, 6, height, gTrackColours[SCHEME_SUPPORTS]); + } - imageId = LogFlumeTrackFlatImageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 0, height, 0, 6, height + 3); + imageId = LogFlumeTrackFlatImageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 0, height, 0, 6, height + 3); - imageId = LogFlumeTrackFlatImageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 21, height, 0, 27, height + 5); + imageId = LogFlumeTrackFlatImageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 1, 21, height, 0, 27, height + 5); - track_paint_util_onride_photo_paint(direction, height + 3, mapElement); + track_paint_util_onride_photo_paint(direction, height + 3, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } static void paint_log_flume_track_reverser(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][2] = - { - { SPR_LOG_FLUME_REVERSER_SW_NE, SPR_LOG_FLUME_REVERSER_FRONT_SW_NE }, - { SPR_LOG_FLUME_REVERSER_NW_SE, SPR_LOG_FLUME_REVERSER_FRONT_NW_SE }, - { SPR_LOG_FLUME_REVERSER_NE_SW, SPR_LOG_FLUME_REVERSER_FRONT_NE_SW }, - { SPR_LOG_FLUME_REVERSER_SE_NW, SPR_LOG_FLUME_REVERSER_FRONT_SE_NW }, - }; + static const uint32 imageIds[4][2] = + { + { SPR_LOG_FLUME_REVERSER_SW_NE, SPR_LOG_FLUME_REVERSER_FRONT_SW_NE }, + { SPR_LOG_FLUME_REVERSER_NW_SE, SPR_LOG_FLUME_REVERSER_FRONT_NW_SE }, + { SPR_LOG_FLUME_REVERSER_NE_SW, SPR_LOG_FLUME_REVERSER_FRONT_NE_SW }, + { SPR_LOG_FLUME_REVERSER_SE_NW, SPR_LOG_FLUME_REVERSER_FRONT_SE_NW }, + }; - uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 26, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 26, height, 0, 27, height); - metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); + metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_0); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_log_flume(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return paint_log_flume_track_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_log_flume_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_log_flume_track_station; - case TRACK_ELEM_25_DEG_UP: - return paint_log_flume_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return paint_log_flume_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return paint_log_flume_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return paint_log_flume_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return paint_log_flume_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return paint_log_flume_track_25_deg_down_to_flat; - case TRACK_ELEM_S_BEND_LEFT: - return paint_log_flume_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return paint_log_flume_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return paint_log_flume_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return paint_log_flume_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_ON_RIDE_PHOTO: - return paint_log_flume_track_on_ride_photo; - case TRACK_ELEM_LOG_FLUME_REVERSER: - return paint_log_flume_track_reverser; - } + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_log_flume_track_station; + case TRACK_ELEM_25_DEG_UP: + return paint_log_flume_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_log_flume_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_log_flume_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return paint_log_flume_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_log_flume_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_log_flume_track_25_deg_down_to_flat; + case TRACK_ELEM_S_BEND_LEFT: + return paint_log_flume_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return paint_log_flume_track_s_bend_right; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return paint_log_flume_track_left_quarter_turn_3_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return paint_log_flume_track_right_quarter_turn_3_tiles; + case TRACK_ELEM_ON_RIDE_PHOTO: + return paint_log_flume_track_on_ride_photo; + case TRACK_ELEM_LOG_FLUME_REVERSER: + return paint_log_flume_track_reverser; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/water/river_rapids.c b/src/openrct2/ride/water/river_rapids.c index f051cf38b2..bc648da7b4 100644 --- a/src/openrct2/ride/water/river_rapids.c +++ b/src/openrct2/ride/water/river_rapids.c @@ -28,160 +28,160 @@ #ifndef NO_VEHICLES // 0x0099279E: static const vehicle_boundbox _riverRapidsBoundbox[] = { - { -13, -13, 1, 26, 26, 13 }, - { -13, -13, 1, 26, 26, 13 }, - { -13, -13, 1, 26, 26, 13 }, - { -13, -13, 1, 26, 26, 13 }, - { -13, -13, 1, 26, 26, 13 }, - { -13, -13, 1, 26, 26, 13 }, - { -13, -13, 1, 26, 26, 13 }, - { -13, -13, 1, 26, 26, 13 }, - { -13, -13, 1, 26, 26, 13 } + { -13, -13, 1, 26, 26, 13 }, + { -13, -13, 1, 26, 26, 13 }, + { -13, -13, 1, 26, 26, 13 }, + { -13, -13, 1, 26, 26, 13 }, + { -13, -13, 1, 26, 26, 13 }, + { -13, -13, 1, 26, 26, 13 }, + { -13, -13, 1, 26, 26, 13 }, + { -13, -13, 1, 26, 26, 13 }, + { -13, -13, 1, 26, 26, 13 } }; #endif enum { - SPR_RIVER_RAPIDS_FLAT_SW_NE = 21132, - SPR_RIVER_RAPIDS_FLAT_NW_SE = 21133, - SPR_RIVER_RAPIDS_FLAT_NE_SW = 21134, - SPR_RIVER_RAPIDS_FLAT_SE_NW = 21135, - SPR_RIVER_RAPIDS_FLAT_FRONT_SW_NE = 21136, - SPR_RIVER_RAPIDS_FLAT_FRONT_NW_SE = 21137, - SPR_RIVER_RAPIDS_FLAT_FRONT_NE_SW = 21138, - SPR_RIVER_RAPIDS_FLAT_FRONT_SE_NW = 21139, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_SW_NE = 21140, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_NW_SE = 21141, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_NE_SW = 21142, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_SE_NW = 21143, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_SW_NE = 21144, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_NW_SE = 21145, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_NE_SW = 21146, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_SE_NW = 21147, - SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_SW_NE = 21148, - SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_NW_SE = 21149, - SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_NE_SW = 21150, - SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_SE_NW = 21151, - SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_SW_NE = 21152, - SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_NW_SE = 21153, - SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_NE_SW = 21154, - SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_SE_NW = 21155, - SPR_RIVER_RAPIDS_25_DEG_UP_SW_NE = 21156, - SPR_RIVER_RAPIDS_25_DEG_UP_NW_SE = 21157, - SPR_RIVER_RAPIDS_25_DEG_UP_NE_SW = 21158, - SPR_RIVER_RAPIDS_25_DEG_UP_SE_NW = 21159, - SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_SW_NE = 21160, - SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_NW_SE = 21161, - SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_NE_SW = 21162, - SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_SE_NW = 21163, - SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_SW_NE = 21164, - SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_NW_SE = 21165, - SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_NE_SW = 21166, - SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_SE_NW = 21167, - SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_SW_NE = 21168, - SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_NW_SE = 21169, - SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_NE_SW = 21170, - SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_SE_NW = 21171, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_SW_NE = 21172, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_NW_SE = 21173, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_NE_SW = 21174, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_SE_NW = 21175, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_SW_NE = 21176, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_NW_SE = 21177, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_NE_SW = 21178, - SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_SE_NW = 21179, - SPR_RIVER_RAPIDS_25_DEG_DOWN_SW_NE = 21180, - SPR_RIVER_RAPIDS_25_DEG_DOWN_NW_SE = 21181, - SPR_RIVER_RAPIDS_25_DEG_DOWN_NE_SW = 21182, - SPR_RIVER_RAPIDS_25_DEG_DOWN_SE_NW = 21183, - SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_SW_NE = 21184, - SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_NW_SE = 21185, - SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_NE_SW = 21186, - SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_SE_NW = 21187, - SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SW_SE = 21188, - SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SE_NE = 21189, - SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NE_NW = 21190, - SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NW_SW = 21191, - SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SE_SW = 21192, - SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SW_NW = 21193, - SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NW_NE = 21194, - SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NE_SE = 21195, - SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SW_SE = 21196, - SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SE_NE = 21197, - SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_LEFT_NW_NE = 21198, - SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_NW_SW = 21199, - SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SE_SW = 21200, - SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SW_NW = 21201, - SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_RIGHT_NW_NE = 21202, - SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_NE_SE = 21203, - SPR_RIVER_RAPIDS_WATERFALL_SW_NE = 21204, - SPR_RIVER_RAPIDS_WATERFALL_NW_SE = 21205, - SPR_RIVER_RAPIDS_WATERFALL_NE_SW = 21206, - SPR_RIVER_RAPIDS_WATERFALL_SE_NW = 21207, - SPR_RIVER_RAPIDS_WATERFALL_FRONT_SW_NE = 21208, - SPR_RIVER_RAPIDS_WATERFALL_FRONT_NW_SE = 21209, - SPR_RIVER_RAPIDS_WATERFALL_FRONT_NE_SW = 21210, - SPR_RIVER_RAPIDS_WATERFALL_FRONT_SE_NW = 21211, - SPR_RIVER_RAPIDS_WATERFALL_BASE_NW_FRAME_0 = 21212, + SPR_RIVER_RAPIDS_FLAT_SW_NE = 21132, + SPR_RIVER_RAPIDS_FLAT_NW_SE = 21133, + SPR_RIVER_RAPIDS_FLAT_NE_SW = 21134, + SPR_RIVER_RAPIDS_FLAT_SE_NW = 21135, + SPR_RIVER_RAPIDS_FLAT_FRONT_SW_NE = 21136, + SPR_RIVER_RAPIDS_FLAT_FRONT_NW_SE = 21137, + SPR_RIVER_RAPIDS_FLAT_FRONT_NE_SW = 21138, + SPR_RIVER_RAPIDS_FLAT_FRONT_SE_NW = 21139, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_SW_NE = 21140, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_NW_SE = 21141, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_NE_SW = 21142, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_SE_NW = 21143, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_SW_NE = 21144, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_NW_SE = 21145, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_NE_SW = 21146, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_SE_NW = 21147, + SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_SW_NE = 21148, + SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_NW_SE = 21149, + SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_NE_SW = 21150, + SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_SE_NW = 21151, + SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_SW_NE = 21152, + SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_NW_SE = 21153, + SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_NE_SW = 21154, + SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_SE_NW = 21155, + SPR_RIVER_RAPIDS_25_DEG_UP_SW_NE = 21156, + SPR_RIVER_RAPIDS_25_DEG_UP_NW_SE = 21157, + SPR_RIVER_RAPIDS_25_DEG_UP_NE_SW = 21158, + SPR_RIVER_RAPIDS_25_DEG_UP_SE_NW = 21159, + SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_SW_NE = 21160, + SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_NW_SE = 21161, + SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_NE_SW = 21162, + SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_SE_NW = 21163, + SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_SW_NE = 21164, + SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_NW_SE = 21165, + SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_NE_SW = 21166, + SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_SE_NW = 21167, + SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_SW_NE = 21168, + SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_NW_SE = 21169, + SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_NE_SW = 21170, + SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_SE_NW = 21171, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_SW_NE = 21172, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_NW_SE = 21173, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_NE_SW = 21174, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_SE_NW = 21175, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_SW_NE = 21176, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_NW_SE = 21177, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_NE_SW = 21178, + SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_SE_NW = 21179, + SPR_RIVER_RAPIDS_25_DEG_DOWN_SW_NE = 21180, + SPR_RIVER_RAPIDS_25_DEG_DOWN_NW_SE = 21181, + SPR_RIVER_RAPIDS_25_DEG_DOWN_NE_SW = 21182, + SPR_RIVER_RAPIDS_25_DEG_DOWN_SE_NW = 21183, + SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_SW_NE = 21184, + SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_NW_SE = 21185, + SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_NE_SW = 21186, + SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_SE_NW = 21187, + SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SW_SE = 21188, + SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SE_NE = 21189, + SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NE_NW = 21190, + SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NW_SW = 21191, + SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SE_SW = 21192, + SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SW_NW = 21193, + SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NW_NE = 21194, + SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NE_SE = 21195, + SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SW_SE = 21196, + SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SE_NE = 21197, + SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_LEFT_NW_NE = 21198, + SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_NW_SW = 21199, + SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SE_SW = 21200, + SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SW_NW = 21201, + SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_RIGHT_NW_NE = 21202, + SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_NE_SE = 21203, + SPR_RIVER_RAPIDS_WATERFALL_SW_NE = 21204, + SPR_RIVER_RAPIDS_WATERFALL_NW_SE = 21205, + SPR_RIVER_RAPIDS_WATERFALL_NE_SW = 21206, + SPR_RIVER_RAPIDS_WATERFALL_SE_NW = 21207, + SPR_RIVER_RAPIDS_WATERFALL_FRONT_SW_NE = 21208, + SPR_RIVER_RAPIDS_WATERFALL_FRONT_NW_SE = 21209, + SPR_RIVER_RAPIDS_WATERFALL_FRONT_NE_SW = 21210, + SPR_RIVER_RAPIDS_WATERFALL_FRONT_SE_NW = 21211, + SPR_RIVER_RAPIDS_WATERFALL_BASE_NW_FRAME_0 = 21212, - SPR_RIVER_RAPIDS_WATERFALL_BASE_NE_FRAME_0 = 21220, + SPR_RIVER_RAPIDS_WATERFALL_BASE_NE_FRAME_0 = 21220, - SPR_RIVER_RAPIDS_WATERFALL_SIDE_SE_FRAME_0 = 21228, + SPR_RIVER_RAPIDS_WATERFALL_SIDE_SE_FRAME_0 = 21228, - SPR_RIVER_RAPIDS_WATERFALL_SIDE_SW_FRAME_0 = 21236, + SPR_RIVER_RAPIDS_WATERFALL_SIDE_SW_FRAME_0 = 21236, - SPR_RIVER_RAPIDS_WATERFALL_TOP_NW_FRAME_0 = 21244, + SPR_RIVER_RAPIDS_WATERFALL_TOP_NW_FRAME_0 = 21244, - SPR_RIVER_RAPIDS_WATERFALL_TOP_NE_FRAME_0 = 21252, + SPR_RIVER_RAPIDS_WATERFALL_TOP_NE_FRAME_0 = 21252, - SPR_RIVER_RAPIDS_RAPIDS_SW_NE_FRAME_0 = 21260, + SPR_RIVER_RAPIDS_RAPIDS_SW_NE_FRAME_0 = 21260, - SPR_RIVER_RAPIDS_RAPIDS_FRONT_SW_NE = 21268, - SPR_RIVER_RAPIDS_RAPIDS_NW_SE_FRAME_0 = 21269, + SPR_RIVER_RAPIDS_RAPIDS_FRONT_SW_NE = 21268, + SPR_RIVER_RAPIDS_RAPIDS_NW_SE_FRAME_0 = 21269, - SPR_RIVER_RAPIDS_RAPIDS_FRONT_NW_SE = 21277, - SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 = 21278, + SPR_RIVER_RAPIDS_RAPIDS_FRONT_NW_SE = 21277, + SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 = 21278, }; static const uint32 river_rapids_track_pieces_25_deg_up[][2] = { - {SPR_RIVER_RAPIDS_25_DEG_UP_SW_NE, SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_SW_NE}, - {SPR_RIVER_RAPIDS_25_DEG_UP_NW_SE, SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_NW_SE}, - {SPR_RIVER_RAPIDS_25_DEG_UP_NE_SW, SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_NE_SW}, - {SPR_RIVER_RAPIDS_25_DEG_UP_SE_NW, SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_SE_NW}, + {SPR_RIVER_RAPIDS_25_DEG_UP_SW_NE, SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_SW_NE}, + {SPR_RIVER_RAPIDS_25_DEG_UP_NW_SE, SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_NW_SE}, + {SPR_RIVER_RAPIDS_25_DEG_UP_NE_SW, SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_NE_SW}, + {SPR_RIVER_RAPIDS_25_DEG_UP_SE_NW, SPR_RIVER_RAPIDS_25_DEG_UP_FRONT_SE_NW}, }; static const uint32 river_rapids_track_pieces_flat_to_25_deg_up[][2] = { - {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_SW_NE, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_SW_NE}, - {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_NW_SE, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_NW_SE}, - {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_NE_SW, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_NE_SW}, - {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_SE_NW, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_SE_NW}, + {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_SW_NE, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_SW_NE}, + {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_NW_SE, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_NW_SE}, + {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_NE_SW, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_NE_SW}, + {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_SE_NW, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_UP_FRONT_SE_NW}, }; static const uint32 river_rapids_track_pieces_25_deg_up_to_flat[][2] = { - {SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_SW_NE, SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_SW_NE}, - {SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_NW_SE, SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_NW_SE}, - {SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_NE_SW, SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_NE_SW}, - {SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_SE_NW, SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_SE_NW}, + {SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_SW_NE, SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_SW_NE}, + {SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_NW_SE, SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_NW_SE}, + {SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_NE_SW, SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_NE_SW}, + {SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_SE_NW, SPR_RIVER_RAPIDS_25_DEG_UP_TO_FLAT_FRONT_SE_NW}, }; static const uint32 river_rapids_track_pieces_25_deg_down[][2] = { - {SPR_RIVER_RAPIDS_25_DEG_DOWN_SW_NE, SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_SW_NE}, - {SPR_RIVER_RAPIDS_25_DEG_DOWN_NW_SE, SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_NW_SE}, - {SPR_RIVER_RAPIDS_25_DEG_DOWN_NE_SW, SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_NE_SW}, - {SPR_RIVER_RAPIDS_25_DEG_DOWN_SE_NW, SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_SE_NW}, + {SPR_RIVER_RAPIDS_25_DEG_DOWN_SW_NE, SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_SW_NE}, + {SPR_RIVER_RAPIDS_25_DEG_DOWN_NW_SE, SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_NW_SE}, + {SPR_RIVER_RAPIDS_25_DEG_DOWN_NE_SW, SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_NE_SW}, + {SPR_RIVER_RAPIDS_25_DEG_DOWN_SE_NW, SPR_RIVER_RAPIDS_25_DEG_DOWN_FRONT_SE_NW}, }; static const uint32 river_rapids_track_pieces_flat_to_25_deg_down[][2] = { - {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_SW_NE, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_SW_NE}, - {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_NW_SE, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_NW_SE}, - {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_NE_SW, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_NE_SW}, - {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_SE_NW, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_SE_NW}, + {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_SW_NE, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_SW_NE}, + {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_NW_SE, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_NW_SE}, + {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_NE_SW, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_NE_SW}, + {SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_SE_NW, SPR_RIVER_RAPIDS_FLAT_TO_25_DEG_DOWN_FRONT_SE_NW}, }; static const uint32 river_rapids_track_pieces_25_deg_down_to_flat[][2] = { - {SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_SW_NE, SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_SW_NE}, - {SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_NW_SE, SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_NW_SE}, - {SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_NE_SW, SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_NE_SW}, - {SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_SE_NW, SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_SE_NW}, + {SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_SW_NE, SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_SW_NE}, + {SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_NW_SE, SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_NW_SE}, + {SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_NE_SW, SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_NE_SW}, + {SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_SE_NW, SPR_RIVER_RAPIDS_25_DEG_DOWN_TO_FLAT_FRONT_SE_NW}, }; #ifndef NO_VEHICLES @@ -191,551 +191,551 @@ static const uint32 river_rapids_track_pieces_25_deg_down_to_flat[][2] = { */ void vehicle_visual_river_rapids(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - sint32 image_id; - sint32 baseImage_id = imageDirection; - uint32 rotation = get_current_rotation(); - sint32 ecx = ((vehicle->var_BA / 8) + (rotation * 8)) & 31; - sint32 j = 0; - if (vehicle->vehicle_sprite_type == 0) { - baseImage_id = ecx & 7; - } else { - if (vehicle->vehicle_sprite_type == 1 || vehicle->vehicle_sprite_type == 5) { - if (vehicle->vehicle_sprite_type == 5){ - baseImage_id = imageDirection ^ 16; - } - baseImage_id &= 24; - j = (baseImage_id / 8) + 1; - baseImage_id += (ecx & 7); - baseImage_id += 8; - } else - if (vehicle->vehicle_sprite_type == 2 || vehicle->vehicle_sprite_type == 6) { - if (vehicle->vehicle_sprite_type == 6){ - baseImage_id = imageDirection ^ 16; - } - baseImage_id &= 24; - j = (baseImage_id / 8) + 5; - baseImage_id += (ecx & 7); - baseImage_id += 40; - } else { - baseImage_id = ecx & 7; - } - } - baseImage_id += vehicleEntry->base_image_id; + sint32 image_id; + sint32 baseImage_id = imageDirection; + uint32 rotation = get_current_rotation(); + sint32 ecx = ((vehicle->var_BA / 8) + (rotation * 8)) & 31; + sint32 j = 0; + if (vehicle->vehicle_sprite_type == 0) { + baseImage_id = ecx & 7; + } else { + if (vehicle->vehicle_sprite_type == 1 || vehicle->vehicle_sprite_type == 5) { + if (vehicle->vehicle_sprite_type == 5){ + baseImage_id = imageDirection ^ 16; + } + baseImage_id &= 24; + j = (baseImage_id / 8) + 1; + baseImage_id += (ecx & 7); + baseImage_id += 8; + } else + if (vehicle->vehicle_sprite_type == 2 || vehicle->vehicle_sprite_type == 6) { + if (vehicle->vehicle_sprite_type == 6){ + baseImage_id = imageDirection ^ 16; + } + baseImage_id &= 24; + j = (baseImage_id / 8) + 5; + baseImage_id += (ecx & 7); + baseImage_id += 40; + } else { + baseImage_id = ecx & 7; + } + } + baseImage_id += vehicleEntry->base_image_id; - const vehicle_boundbox *bb = &_riverRapidsBoundbox[j]; - image_id = baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0xA0000000; - sub_98197C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); + const vehicle_boundbox *bb = &_riverRapidsBoundbox[j]; + image_id = baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0xA0000000; + sub_98197C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); - if (unk_140E9A8->zoom_level < 2 && vehicle->num_peeps > 0) { - // Draw peeps: (this particular vehicle doesn't sort them back to front like others so the back ones sometimes clip, but thats how the original does it...) - sint32 peeps = ((ecx / 8) + 0) & 3; - image_id = (baseImage_id + ((peeps + 1) * 72)) | (vehicle->peep_tshirt_colours[0] << 19) | (vehicle->peep_tshirt_colours[1] << 24) | 0xA0000000; - sub_98199C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); - if (vehicle->num_peeps > 2) { - peeps = ((ecx / 8) + 2) & 3; - image_id = (baseImage_id + ((peeps + 1) * 72)) | (vehicle->peep_tshirt_colours[2] << 19) | (vehicle->peep_tshirt_colours[3] << 24) | 0xA0000000; - sub_98199C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); - } - if (vehicle->num_peeps > 4) { - peeps = ((ecx / 8) + 1) & 3; - image_id = (baseImage_id + ((peeps + 1) * 72)) | (vehicle->peep_tshirt_colours[4] << 19) | (vehicle->peep_tshirt_colours[5] << 24) | 0xA0000000; - sub_98199C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); - } - if (vehicle->num_peeps > 6) { - peeps = ((ecx / 8) + 3) & 3; - image_id = (baseImage_id + ((peeps + 1) * 72)) | (vehicle->peep_tshirt_colours[6] << 19) | (vehicle->peep_tshirt_colours[7] << 24) | 0xA0000000; - sub_98199C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); - } - } + if (unk_140E9A8->zoom_level < 2 && vehicle->num_peeps > 0) { + // Draw peeps: (this particular vehicle doesn't sort them back to front like others so the back ones sometimes clip, but thats how the original does it...) + sint32 peeps = ((ecx / 8) + 0) & 3; + image_id = (baseImage_id + ((peeps + 1) * 72)) | (vehicle->peep_tshirt_colours[0] << 19) | (vehicle->peep_tshirt_colours[1] << 24) | 0xA0000000; + sub_98199C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); + if (vehicle->num_peeps > 2) { + peeps = ((ecx / 8) + 2) & 3; + image_id = (baseImage_id + ((peeps + 1) * 72)) | (vehicle->peep_tshirt_colours[2] << 19) | (vehicle->peep_tshirt_colours[3] << 24) | 0xA0000000; + sub_98199C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); + } + if (vehicle->num_peeps > 4) { + peeps = ((ecx / 8) + 1) & 3; + image_id = (baseImage_id + ((peeps + 1) * 72)) | (vehicle->peep_tshirt_colours[4] << 19) | (vehicle->peep_tshirt_colours[5] << 24) | 0xA0000000; + sub_98199C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); + } + if (vehicle->num_peeps > 6) { + peeps = ((ecx / 8) + 3) & 3; + image_id = (baseImage_id + ((peeps + 1) * 72)) | (vehicle->peep_tshirt_colours[6] << 19) | (vehicle->peep_tshirt_colours[7] << 24) | 0xA0000000; + sub_98199C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); + } + } - vehicle_visual_splash_effect(z, vehicle, vehicleEntry); + vehicle_visual_splash_effect(z, vehicle, vehicleEntry); } #endif /** rct2: 0x00757650 */ static void paint_river_rapids_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - if (direction & 1) { - imageId = (direction == 1 ? SPR_RIVER_RAPIDS_FLAT_NW_SE : SPR_RIVER_RAPIDS_FLAT_SE_NW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); + if (direction & 1) { + imageId = (direction == 1 ? SPR_RIVER_RAPIDS_FLAT_NW_SE : SPR_RIVER_RAPIDS_FLAT_SE_NW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); - imageId = (direction == 1 ? SPR_RIVER_RAPIDS_FLAT_FRONT_NW_SE : SPR_RIVER_RAPIDS_FLAT_FRONT_SE_NW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 3, height, 27, 0, height + 17, get_current_rotation()); - } else { - imageId = (direction == 0 ? SPR_RIVER_RAPIDS_FLAT_SW_NE : SPR_RIVER_RAPIDS_FLAT_NE_SW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); + imageId = (direction == 1 ? SPR_RIVER_RAPIDS_FLAT_FRONT_NW_SE : SPR_RIVER_RAPIDS_FLAT_FRONT_SE_NW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 3, height, 27, 0, height + 17, get_current_rotation()); + } else { + imageId = (direction == 0 ? SPR_RIVER_RAPIDS_FLAT_SW_NE : SPR_RIVER_RAPIDS_FLAT_NE_SW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); - imageId = (direction == 0 ? SPR_RIVER_RAPIDS_FLAT_FRONT_SW_NE : SPR_RIVER_RAPIDS_FLAT_FRONT_NE_SW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 27, height + 17, get_current_rotation()); - } + imageId = (direction == 0 ? SPR_RIVER_RAPIDS_FLAT_FRONT_SW_NE : SPR_RIVER_RAPIDS_FLAT_FRONT_NE_SW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 27, height + 17, get_current_rotation()); + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction & 1) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } else { - paint_util_push_tunnel_left(height, TUNNEL_6); - } + if (direction & 1) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } else { + paint_util_push_tunnel_left(height, TUNNEL_6); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x007576C0 */ static void paint_river_rapids_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - paint_river_rapids_track_flat(rideIndex, trackSequence, direction, height, mapElement); - track_paint_util_draw_station_platform(ride, direction, height, 12, mapElement); - paint_util_set_general_support_height(height + 32, 0x20); + paint_river_rapids_track_flat(rideIndex, trackSequence, direction, height, mapElement); + track_paint_util_draw_station_platform(ride, direction, height, 12, mapElement); + paint_util_set_general_support_height(height + 32, 0x20); } static void paint_river_rapids_track_25_deg(uint8 direction, sint32 height, const uint32 sprites[4][2]) { - uint32 imageId; - paint_struct * ps; + uint32 imageId; + paint_struct * ps; - switch (direction) { - case 0: - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 24, 4, height, 0, 4, height, get_current_rotation()); + switch (direction) { + case 0: + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 24, 4, height, 0, 4, height, get_current_rotation()); - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 34, height, 0, 27, height + 16, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 34, height, 0, 27, height + 16, get_current_rotation()); - wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height - 8, TUNNEL_7); - break; + wooden_a_supports_paint_setup(0, 9, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height - 8, TUNNEL_7); + break; - case 1: - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - ps = sub_98197C(imageId, 0, 0, 24, 32, 4, height, 4, 0, height, get_current_rotation()); - gWoodenSupportsPrependTo = ps; + case 1: + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + ps = sub_98197C(imageId, 0, 0, 24, 32, 4, height, 4, 0, height, get_current_rotation()); + gWoodenSupportsPrependTo = ps; - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 34, height, 27, 0, height + 16, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 34, height, 27, 0, height + 16, get_current_rotation()); - wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height + 8, TUNNEL_8); - break; + wooden_a_supports_paint_setup(1, 10, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height + 8, TUNNEL_8); + break; - case 2: - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - ps = sub_98197C(imageId, 0, 0, 32, 24, 4, height, 0, 4, height, get_current_rotation()); - gWoodenSupportsPrependTo = ps; + case 2: + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + ps = sub_98197C(imageId, 0, 0, 32, 24, 4, height, 0, 4, height, get_current_rotation()); + gWoodenSupportsPrependTo = ps; - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 34, height, 0, 27, height + 16, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 34, height, 0, 27, height + 16, get_current_rotation()); - wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height + 8, TUNNEL_8); - break; + wooden_a_supports_paint_setup(0, 11, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height + 8, TUNNEL_8); + break; - case 3: - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 24, 32, 4, height, 4, 0, height, get_current_rotation()); + case 3: + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 24, 32, 4, height, 4, 0, height, get_current_rotation()); - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 34, height, 27, 0, height + 16, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 34, height, 27, 0, height + 16, get_current_rotation()); - wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height - 8, TUNNEL_7); - break; - } + wooden_a_supports_paint_setup(1, 12, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height - 8, TUNNEL_7); + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } static void paint_river_rapids_track_25_deg_to_flat_a(uint8 direction, sint32 height, const uint32 sprites[4][2]) { - uint32 imageId; - paint_struct * ps; + uint32 imageId; + paint_struct * ps; - switch (direction) { - case 0: - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 24, 4, height, 0, 4, height, get_current_rotation()); + switch (direction) { + case 0: + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 24, 4, height, 0, 4, height, get_current_rotation()); - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 18, height, 0, 27, height + 16, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 18, height, 0, 27, height + 16, get_current_rotation()); - wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height - 8, TUNNEL_6); - break; + wooden_a_supports_paint_setup(0, 5, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height - 8, TUNNEL_6); + break; - case 1: - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - ps = sub_98197C(imageId, 0, 0, 24, 32, 4, height, 4, 0, height, get_current_rotation()); - gWoodenSupportsPrependTo = ps; + case 1: + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + ps = sub_98197C(imageId, 0, 0, 24, 32, 4, height, 4, 0, height, get_current_rotation()); + gWoodenSupportsPrependTo = ps; - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 18, height, 27, 0, height + 16, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 18, height, 27, 0, height + 16, get_current_rotation()); - wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height + 8, TUNNEL_14); - break; + wooden_a_supports_paint_setup(1, 6, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height + 8, TUNNEL_14); + break; - case 2: - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - ps = sub_98197C(imageId, 0, 0, 32, 24, 4, height, 0, 4, height, get_current_rotation()); - gWoodenSupportsPrependTo = ps; + case 2: + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + ps = sub_98197C(imageId, 0, 0, 32, 24, 4, height, 0, 4, height, get_current_rotation()); + gWoodenSupportsPrependTo = ps; - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 18, height, 0, 27, height + 16, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 18, height, 0, 27, height + 16, get_current_rotation()); - wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height + 8, TUNNEL_14); - break; + wooden_a_supports_paint_setup(0, 7, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height + 8, TUNNEL_14); + break; - case 3: - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 24, 32, 4, height, 4, 0, height, get_current_rotation()); + case 3: + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 24, 32, 4, height, 4, 0, height, get_current_rotation()); - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 18, height, 27, 0, height + 16, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 18, height, 27, 0, height + 16, get_current_rotation()); - wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height - 8, TUNNEL_6); - break; - } + wooden_a_supports_paint_setup(1, 8, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height - 8, TUNNEL_6); + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } static void paint_river_rapids_track_25_deg_to_flat_b(uint8 direction, sint32 height, const uint32 sprites[4][2]) { - uint32 imageId; - paint_struct * ps; + uint32 imageId; + paint_struct * ps; - switch (direction) { - case 0: - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); + switch (direction) { + case 0: + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 26, height, 0, 27, height + 16, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 26, height, 0, 27, height + 16, get_current_rotation()); - wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height, TUNNEL_6); - break; + wooden_a_supports_paint_setup(0, 1, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height, TUNNEL_6); + break; - case 1: - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - ps = sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); - gWoodenSupportsPrependTo = ps; + case 1: + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + ps = sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); + gWoodenSupportsPrependTo = ps; - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 26, height, 27, 0, height + 16, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 26, height, 27, 0, height + 16, get_current_rotation()); - wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height, TUNNEL_8); - break; + wooden_a_supports_paint_setup(1, 2, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height, TUNNEL_8); + break; - case 2: - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - ps = sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); - gWoodenSupportsPrependTo = ps; + case 2: + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + ps = sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); + gWoodenSupportsPrependTo = ps; - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 26, height, 0, 27, height + 16, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 26, height, 0, 27, height + 16, get_current_rotation()); - wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_left(height, TUNNEL_8); - break; + wooden_a_supports_paint_setup(0, 3, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_left(height, TUNNEL_8); + break; - case 3: - imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); + case 3: + imageId = sprites[direction][0] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); - imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 26, height, 27, 0, height + 16, get_current_rotation()); + imageId = sprites[direction][1] | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 26, height, 27, 0, height + 16, get_current_rotation()); - wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - } + wooden_a_supports_paint_setup(1, 4, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x00757660 */ static void paint_river_rapids_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_river_rapids_track_25_deg(direction, height, river_rapids_track_pieces_25_deg_up); + paint_river_rapids_track_25_deg(direction, height, river_rapids_track_pieces_25_deg_up); } /** rct2: 0x00757670 */ static void paint_river_rapids_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_river_rapids_track_25_deg_to_flat_b(direction, height, river_rapids_track_pieces_flat_to_25_deg_up); + paint_river_rapids_track_25_deg_to_flat_b(direction, height, river_rapids_track_pieces_flat_to_25_deg_up); } /** rct2: 0x00757680 */ static void paint_river_rapids_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_river_rapids_track_25_deg_to_flat_a(direction, height, river_rapids_track_pieces_25_deg_up_to_flat); + paint_river_rapids_track_25_deg_to_flat_a(direction, height, river_rapids_track_pieces_25_deg_up_to_flat); } /** rct2: 0x00757690 */ static void paint_river_rapids_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_river_rapids_track_25_deg((direction + 2) % 4, height, river_rapids_track_pieces_25_deg_down); + paint_river_rapids_track_25_deg((direction + 2) % 4, height, river_rapids_track_pieces_25_deg_down); } /** rct2: 0x007576A0 */ static void paint_river_rapids_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_river_rapids_track_25_deg_to_flat_a((direction + 2) % 4, height, river_rapids_track_pieces_flat_to_25_deg_down); + paint_river_rapids_track_25_deg_to_flat_a((direction + 2) % 4, height, river_rapids_track_pieces_flat_to_25_deg_down); } /** rct2: 0x007576B0 */ static void paint_river_rapids_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_river_rapids_track_25_deg_to_flat_b((direction + 2) % 4, height, river_rapids_track_pieces_25_deg_down_to_flat); + paint_river_rapids_track_25_deg_to_flat_b((direction + 2) % 4, height, river_rapids_track_pieces_25_deg_down_to_flat); } /** rct2: 0x007576F0 */ static void paint_river_rapids_track_left_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; - switch (direction) { - case 0: - imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SW_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 28, 26, 11, height, 4, 2, height, get_current_rotation()); + uint32 imageId; + switch (direction) { + case 0: + imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SW_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 28, 26, 11, height, 4, 2, height, get_current_rotation()); - imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SW_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 1, 7, height, 28, 27, height + 13, get_current_rotation()); + imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SW_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 1, 7, height, 28, 27, height + 13, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - break; + paint_util_push_tunnel_left(height, TUNNEL_6); + break; - case 1: - imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 28, 28, 11, height, 0, 0, height, get_current_rotation()); + case 1: + imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 28, 28, 11, height, 0, 0, height, get_current_rotation()); - imageId = SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_LEFT_NW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 30, 7, height, 27, 1, height + 13, get_current_rotation()); + imageId = SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_LEFT_NW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 30, 7, height, 27, 1, height + 13, get_current_rotation()); - imageId = SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_RIGHT_NW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 30, 1, 7, height, 1, 27, height + 13, get_current_rotation()); - break; + imageId = SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_RIGHT_NW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 30, 1, 7, height, 1, 27, height + 13, get_current_rotation()); + break; - case 2: - imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NE_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 26, 28, 11, height, 2, 4, height, get_current_rotation()); + case 2: + imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NE_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 26, 28, 11, height, 2, 4, height, get_current_rotation()); - imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_NE_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 2, 7, height, 27, 28, height + 13, get_current_rotation()); + imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_NE_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 2, 7, height, 27, 28, height + 13, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_6); - break; + paint_util_push_tunnel_right(height, TUNNEL_6); + break; - case 3: - imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 28, 28, 11, height, 4, 4, height, get_current_rotation()); + case 3: + imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 28, 28, 11, height, 4, 4, height, get_current_rotation()); - imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 1, 7, height, 28, 28, height + 13, get_current_rotation()); + imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 1, 7, height, 28, 28, height + 13, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - } + paint_util_push_tunnel_left(height, TUNNEL_6); + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00757700 */ static void paint_river_rapids_track_right_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - switch (direction) { - case 0: - imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 28, 28, 11, height, 4, 4, height, get_current_rotation()); + switch (direction) { + case 0: + imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 28, 28, 11, height, 4, 4, height, get_current_rotation()); - imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 1, 7, height, 28, 28, height + 13, get_current_rotation()); + imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 1, 7, height, 28, 28, height + 13, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - paint_util_push_tunnel_right(height, TUNNEL_6); - break; + paint_util_push_tunnel_left(height, TUNNEL_6); + paint_util_push_tunnel_right(height, TUNNEL_6); + break; - case 1: - imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SE_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 28, 26, 11, height, 4, 2, height, get_current_rotation()); + case 1: + imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SE_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 28, 26, 11, height, 4, 2, height, get_current_rotation()); - imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SE_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 2, 1, 7, height, 28, 27, height + 13, get_current_rotation()); + imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SE_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 2, 1, 7, height, 28, 27, height + 13, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - break; + paint_util_push_tunnel_left(height, TUNNEL_6); + break; - case 2: - imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NE_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 28, 28, 11, height, 0, 0, height, get_current_rotation()); + case 2: + imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NE_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 28, 28, 11, height, 0, 0, height, get_current_rotation()); - imageId = SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_LEFT_NW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 30, 7, height, 27, 1, height + 13, get_current_rotation()); + imageId = SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_LEFT_NW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 30, 7, height, 27, 1, height + 13, get_current_rotation()); - imageId = SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_RIGHT_NW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 30, 1, 7, height, 1, 27, height + 13, get_current_rotation()); - break; + imageId = SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_RIGHT_NW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 30, 1, 7, height, 1, 27, height + 13, get_current_rotation()); + break; - case 3: - imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NW_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 26, 28, 11, height, 2, 4, height, get_current_rotation()); + case 3: + imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NW_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 26, 28, 11, height, 2, 4, height, get_current_rotation()); - imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_NW_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 28, 7, height, 27, 2, height + 13, get_current_rotation()); + imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_NW_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 28, 7, height, 27, 2, height + 13, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_6); - break; - } + paint_util_push_tunnel_right(height, TUNNEL_6); + break; + } - wooden_a_supports_paint_setup(1 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + wooden_a_supports_paint_setup(1 - (direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00757710 */ static void paint_river_rapids_track_waterfall(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - uint16 frameNum = (gScenarioTicks / 2) & 7; + uint16 frameNum = (gScenarioTicks / 2) & 7; - if (direction & 1) { - imageId = (direction == 1 ? SPR_RIVER_RAPIDS_WATERFALL_NW_SE : SPR_RIVER_RAPIDS_WATERFALL_SE_NW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); + if (direction & 1) { + imageId = (direction == 1 ? SPR_RIVER_RAPIDS_WATERFALL_NW_SE : SPR_RIVER_RAPIDS_WATERFALL_SE_NW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); - imageId = (SPR_RIVER_RAPIDS_WATERFALL_BASE_NE_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); + imageId = (SPR_RIVER_RAPIDS_WATERFALL_BASE_NE_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); - imageId = (SPR_RIVER_RAPIDS_WATERFALL_TOP_NE_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 27, height, 4, 0, height + 17, get_current_rotation()); + imageId = (SPR_RIVER_RAPIDS_WATERFALL_TOP_NE_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 27, height, 4, 0, height + 17, get_current_rotation()); - imageId = (direction == 1 ? SPR_RIVER_RAPIDS_WATERFALL_FRONT_NW_SE : SPR_RIVER_RAPIDS_WATERFALL_FRONT_SE_NW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 27, height, 27, 0, height + 17, get_current_rotation()); + imageId = (direction == 1 ? SPR_RIVER_RAPIDS_WATERFALL_FRONT_NW_SE : SPR_RIVER_RAPIDS_WATERFALL_FRONT_SE_NW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 27, height, 27, 0, height + 17, get_current_rotation()); - imageId = (SPR_RIVER_RAPIDS_WATERFALL_SIDE_SW_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 1, 32, 27, height, 27, 0, height + 17, get_current_rotation()); - } else { - imageId = (direction == 0 ? SPR_RIVER_RAPIDS_WATERFALL_SW_NE : SPR_RIVER_RAPIDS_WATERFALL_NE_SW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); + imageId = (SPR_RIVER_RAPIDS_WATERFALL_SIDE_SW_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 1, 32, 27, height, 27, 0, height + 17, get_current_rotation()); + } else { + imageId = (direction == 0 ? SPR_RIVER_RAPIDS_WATERFALL_SW_NE : SPR_RIVER_RAPIDS_WATERFALL_NE_SW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); - imageId = (SPR_RIVER_RAPIDS_WATERFALL_BASE_NW_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); + imageId = (SPR_RIVER_RAPIDS_WATERFALL_BASE_NW_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); - imageId = (SPR_RIVER_RAPIDS_WATERFALL_TOP_NW_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 27, height, 0, 4, height + 17, get_current_rotation()); + imageId = (SPR_RIVER_RAPIDS_WATERFALL_TOP_NW_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 27, height, 0, 4, height + 17, get_current_rotation()); - imageId = (direction == 0 ? SPR_RIVER_RAPIDS_WATERFALL_FRONT_SW_NE : SPR_RIVER_RAPIDS_WATERFALL_FRONT_NE_SW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 27, height, 0, 27, height + 17, get_current_rotation()); + imageId = (direction == 0 ? SPR_RIVER_RAPIDS_WATERFALL_FRONT_SW_NE : SPR_RIVER_RAPIDS_WATERFALL_FRONT_NE_SW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 27, height, 0, 27, height + 17, get_current_rotation()); - imageId = (SPR_RIVER_RAPIDS_WATERFALL_SIDE_SE_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 32, 1, 27, height, 0, 27, height + 17, get_current_rotation()); - } + imageId = (SPR_RIVER_RAPIDS_WATERFALL_SIDE_SE_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 32, 1, 27, height, 0, 27, height + 17, get_current_rotation()); + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction & 1) { - paint_util_push_tunnel_right(height, TUNNEL_9); - } else { - paint_util_push_tunnel_left(height, TUNNEL_9); - } + if (direction & 1) { + paint_util_push_tunnel_right(height, TUNNEL_9); + } else { + paint_util_push_tunnel_left(height, TUNNEL_9); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x00757720 */ static void paint_river_rapids_track_rapids(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - uint16 frameNum = (gScenarioTicks / 2) & 7; + uint16 frameNum = (gScenarioTicks / 2) & 7; - if (direction & 1) { - imageId = (SPR_RIVER_RAPIDS_RAPIDS_NW_SE_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); + if (direction & 1) { + imageId = (SPR_RIVER_RAPIDS_RAPIDS_NW_SE_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); - imageId = SPR_RIVER_RAPIDS_RAPIDS_FRONT_NW_SE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 11, height, 27, 0, height + 17, get_current_rotation()); - } else { - imageId = (SPR_RIVER_RAPIDS_RAPIDS_SW_NE_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); + imageId = SPR_RIVER_RAPIDS_RAPIDS_FRONT_NW_SE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 11, height, 27, 0, height + 17, get_current_rotation()); + } else { + imageId = (SPR_RIVER_RAPIDS_RAPIDS_SW_NE_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); - imageId = SPR_RIVER_RAPIDS_RAPIDS_FRONT_SW_NE | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 11, height, 0, 27, height + 17, get_current_rotation()); - } + imageId = SPR_RIVER_RAPIDS_RAPIDS_FRONT_SW_NE | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 11, height, 0, 27, height + 17, get_current_rotation()); + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction & 1) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } else { - paint_util_push_tunnel_left(height, TUNNEL_6); - } + if (direction & 1) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } else { + paint_util_push_tunnel_left(height, TUNNEL_6); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x00757740 */ static void paint_river_rapids_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - paint_river_rapids_track_flat(rideIndex, trackSequence, direction, height, mapElement); - track_paint_util_onride_photo_paint(direction, height + 13, mapElement); - paint_util_set_general_support_height(height + 48, 0x20); + paint_river_rapids_track_flat(rideIndex, trackSequence, direction, height, mapElement); + track_paint_util_onride_photo_paint(direction, height + 13, mapElement); + paint_util_set_general_support_height(height + 48, 0x20); } /** rct2: 0x */ static void paint_river_rapids_track_whirlpool(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - uint8 frameNum = (gScenarioTicks / 4) % 16; + uint8 frameNum = (gScenarioTicks / 4) % 16; - if (direction & 1) { - imageId = (direction == 1 ? SPR_RIVER_RAPIDS_FLAT_NW_SE : SPR_RIVER_RAPIDS_FLAT_SE_NW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); + if (direction & 1) { + imageId = (direction == 1 ? SPR_RIVER_RAPIDS_FLAT_NW_SE : SPR_RIVER_RAPIDS_FLAT_SE_NW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); - imageId = (SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); + imageId = (SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation()); - imageId = (direction == 1 ? SPR_RIVER_RAPIDS_FLAT_FRONT_NW_SE : SPR_RIVER_RAPIDS_FLAT_FRONT_SE_NW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 3, height, 27, 0, height + 17, get_current_rotation()); - } else { - imageId = (direction == 0 ? SPR_RIVER_RAPIDS_FLAT_SW_NE : SPR_RIVER_RAPIDS_FLAT_NE_SW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); + imageId = (direction == 1 ? SPR_RIVER_RAPIDS_FLAT_FRONT_NW_SE : SPR_RIVER_RAPIDS_FLAT_FRONT_SE_NW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 3, height, 27, 0, height + 17, get_current_rotation()); + } else { + imageId = (direction == 0 ? SPR_RIVER_RAPIDS_FLAT_SW_NE : SPR_RIVER_RAPIDS_FLAT_NE_SW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); - imageId = (SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; - sub_98199C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); + imageId = (SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK]; + sub_98199C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation()); - imageId = (direction == 0 ? SPR_RIVER_RAPIDS_FLAT_FRONT_SW_NE : SPR_RIVER_RAPIDS_FLAT_FRONT_NE_SW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 27, height + 17, get_current_rotation()); - } + imageId = (direction == 0 ? SPR_RIVER_RAPIDS_FLAT_FRONT_SW_NE : SPR_RIVER_RAPIDS_FLAT_FRONT_NE_SW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 27, height + 17, get_current_rotation()); + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction & 1) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } else { - paint_util_push_tunnel_left(height, TUNNEL_6); - } + if (direction & 1) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } else { + paint_util_push_tunnel_left(height, TUNNEL_6); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** @@ -743,46 +743,46 @@ static void paint_river_rapids_track_whirlpool(uint8 rideIndex, uint8 trackSeque **/ TRACK_PAINT_FUNCTION get_track_paint_function_river_rapids(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return paint_river_rapids_track_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_river_rapids_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_river_rapids_station; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_river_rapids_station; - case TRACK_ELEM_25_DEG_UP: - return paint_river_rapids_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return paint_river_rapids_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return paint_river_rapids_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_UP: + return paint_river_rapids_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_river_rapids_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_river_rapids_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return paint_river_rapids_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return paint_river_rapids_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return paint_river_rapids_track_25_deg_down_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return paint_river_rapids_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_river_rapids_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_river_rapids_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return paint_river_rapids_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return paint_river_rapids_track_right_quarter_turn_1_tile; + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return paint_river_rapids_track_left_quarter_turn_1_tile; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return paint_river_rapids_track_right_quarter_turn_1_tile; - case TRACK_ELEM_WATERFALL: - return paint_river_rapids_track_waterfall; + case TRACK_ELEM_WATERFALL: + return paint_river_rapids_track_waterfall; - case TRACK_ELEM_RAPIDS: - return paint_river_rapids_track_rapids; + case TRACK_ELEM_RAPIDS: + return paint_river_rapids_track_rapids; - case TRACK_ELEM_ON_RIDE_PHOTO: - return paint_river_rapids_track_on_ride_photo; + case TRACK_ELEM_ON_RIDE_PHOTO: + return paint_river_rapids_track_on_ride_photo; - case TRACK_ELEM_WHIRLPOOL: - return paint_river_rapids_track_whirlpool; - } + case TRACK_ELEM_WHIRLPOOL: + return paint_river_rapids_track_whirlpool; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/water/splash_boats.c b/src/openrct2/ride/water/splash_boats.c index 5f0bbb74b8..5565bf287f 100644 --- a/src/openrct2/ride/water/splash_boats.c +++ b/src/openrct2/ride/water/splash_boats.c @@ -24,1012 +24,1012 @@ #include "../vehicle_paint.h" enum { - SPR_SPLASH_BOATS_FLAT_TOP_SW_NE = 20820, - SPR_SPLASH_BOATS_FLAT_TOP_NW_SE = 20821, - SPR_SPLASH_BOATS_FLAT_TOP_NE_SW = 20822, - SPR_SPLASH_BOATS_FLAT_TOP_SE_NW = 20823, + SPR_SPLASH_BOATS_FLAT_TOP_SW_NE = 20820, + SPR_SPLASH_BOATS_FLAT_TOP_NW_SE = 20821, + SPR_SPLASH_BOATS_FLAT_TOP_NE_SW = 20822, + SPR_SPLASH_BOATS_FLAT_TOP_SE_NW = 20823, - SPR_SPLASH_BOATS_FLAT_SIDE_SW_NE = 20824, - SPR_SPLASH_BOATS_FLAT_SIDE_NW_SE = 20825, - SPR_SPLASH_BOATS_FLAT_SIDE_NE_SW = 20826, - SPR_SPLASH_BOATS_FLAT_SIDE_SE_NW = 20827, + SPR_SPLASH_BOATS_FLAT_SIDE_SW_NE = 20824, + SPR_SPLASH_BOATS_FLAT_SIDE_NW_SE = 20825, + SPR_SPLASH_BOATS_FLAT_SIDE_NE_SW = 20826, + SPR_SPLASH_BOATS_FLAT_SIDE_SE_NW = 20827, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_SW_NE = 20828, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_NW_SE = 20829, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_NE_SW = 20830, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_SE_NW = 20831, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_SW_NE = 20832, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_NW_SE = 20833, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_NE_SW = 20834, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_SE_NW = 20835, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_SW_NE = 20836, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_NW_SE = 20837, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_NE_SW = 20838, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_SE_NW = 20839, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_SW_NE = 20840, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_NW_SE = 20841, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_NE_SW = 20842, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_SE_NW = 20843, - SPR_SPLASH_BOATS_25_DEG_UP_SW_NE = 20844, - SPR_SPLASH_BOATS_25_DEG_UP_NW_SE = 20845, - SPR_SPLASH_BOATS_25_DEG_UP_NE_SW = 20846, - SPR_SPLASH_BOATS_25_DEG_UP_SE_NW = 20847, - SPR_SPLASH_BOATS_25_DEG_UP_FRONT_SW_NE = 20848, - SPR_SPLASH_BOATS_25_DEG_UP_FRONT_NW_SE = 20849, - SPR_SPLASH_BOATS_25_DEG_UP_FRONT_NE_SW = 20850, - SPR_SPLASH_BOATS_25_DEG_UP_FRONT_SE_NW = 20851, - SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_NE_SW = 20852, - SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_SE_NW = 20853, - SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_SW_NE = 20854, - SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_NW_SE = 20855, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_NE_SW = 20856, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_SE_NW = 20857, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_SW_NE = 20858, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_NW_SE = 20859, - SPR_SPLASH_BOATS_25_DEG_DOWN_NE_SW = 20860, - SPR_SPLASH_BOATS_25_DEG_DOWN_SE_NW = 20861, - SPR_SPLASH_BOATS_25_DEG_DOWN_SW_NE = 20862, - SPR_SPLASH_BOATS_25_DEG_DOWN_NW_SE = 20863, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_SW_NE = 20864, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_NW_SE = 20865, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_NE_SW = 20866, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_SE_NW = 20867, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_SW_NE = 20868, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_NW_SE = 20869, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_NE_SW = 20870, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_SE_NW = 20871, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_SW_NE = 20872, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_NW_SE = 20873, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_NE_SW = 20874, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_SE_NW = 20875, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_SW_NE = 20876, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_NW_SE = 20877, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_NE_SW = 20878, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_SE_NW = 20879, - SPR_SPLASH_BOATS_60_DEG_UP_SW_NE = 20880, - SPR_SPLASH_BOATS_60_DEG_UP_NW_SE = 20881, - SPR_SPLASH_BOATS_60_DEG_UP_NE_SW = 20882, - SPR_SPLASH_BOATS_60_DEG_UP_SE_NW = 20883, - SPR_SPLASH_BOATS_60_DEG_UP_FRONT_SW_NE = 20884, - SPR_SPLASH_BOATS_60_DEG_UP_FRONT_NW_SE = 20885, - SPR_SPLASH_BOATS_60_DEG_UP_FRONT_NE_SW = 20886, - SPR_SPLASH_BOATS_60_DEG_UP_FRONT_SE_NW = 20887, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_SW_NE = 20828, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_NW_SE = 20829, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_NE_SW = 20830, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_SE_NW = 20831, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_SW_NE = 20832, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_NW_SE = 20833, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_NE_SW = 20834, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_SE_NW = 20835, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_SW_NE = 20836, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_NW_SE = 20837, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_NE_SW = 20838, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_SE_NW = 20839, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_SW_NE = 20840, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_NW_SE = 20841, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_NE_SW = 20842, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_SE_NW = 20843, + SPR_SPLASH_BOATS_25_DEG_UP_SW_NE = 20844, + SPR_SPLASH_BOATS_25_DEG_UP_NW_SE = 20845, + SPR_SPLASH_BOATS_25_DEG_UP_NE_SW = 20846, + SPR_SPLASH_BOATS_25_DEG_UP_SE_NW = 20847, + SPR_SPLASH_BOATS_25_DEG_UP_FRONT_SW_NE = 20848, + SPR_SPLASH_BOATS_25_DEG_UP_FRONT_NW_SE = 20849, + SPR_SPLASH_BOATS_25_DEG_UP_FRONT_NE_SW = 20850, + SPR_SPLASH_BOATS_25_DEG_UP_FRONT_SE_NW = 20851, + SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_NE_SW = 20852, + SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_SE_NW = 20853, + SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_SW_NE = 20854, + SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_NW_SE = 20855, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_NE_SW = 20856, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_SE_NW = 20857, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_SW_NE = 20858, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_NW_SE = 20859, + SPR_SPLASH_BOATS_25_DEG_DOWN_NE_SW = 20860, + SPR_SPLASH_BOATS_25_DEG_DOWN_SE_NW = 20861, + SPR_SPLASH_BOATS_25_DEG_DOWN_SW_NE = 20862, + SPR_SPLASH_BOATS_25_DEG_DOWN_NW_SE = 20863, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_SW_NE = 20864, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_NW_SE = 20865, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_NE_SW = 20866, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_SE_NW = 20867, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_SW_NE = 20868, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_NW_SE = 20869, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_NE_SW = 20870, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_SE_NW = 20871, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_SW_NE = 20872, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_NW_SE = 20873, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_NE_SW = 20874, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_SE_NW = 20875, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_SW_NE = 20876, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_NW_SE = 20877, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_NE_SW = 20878, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_SE_NW = 20879, + SPR_SPLASH_BOATS_60_DEG_UP_SW_NE = 20880, + SPR_SPLASH_BOATS_60_DEG_UP_NW_SE = 20881, + SPR_SPLASH_BOATS_60_DEG_UP_NE_SW = 20882, + SPR_SPLASH_BOATS_60_DEG_UP_SE_NW = 20883, + SPR_SPLASH_BOATS_60_DEG_UP_FRONT_SW_NE = 20884, + SPR_SPLASH_BOATS_60_DEG_UP_FRONT_NW_SE = 20885, + SPR_SPLASH_BOATS_60_DEG_UP_FRONT_NE_SW = 20886, + SPR_SPLASH_BOATS_60_DEG_UP_FRONT_SE_NW = 20887, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_0 = 20888, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_2 = 20889, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_3 = 20890, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_5 = 20891, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_6 = 20892, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_0 = 20893, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_2 = 20894, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_3 = 20895, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_5 = 20896, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_6 = 20897, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_0 = 20898, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_2 = 20899, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_3 = 20900, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_5 = 20901, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_6 = 20902, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_0 = 20903, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_2 = 20904, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_3 = 20905, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_5 = 20906, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_6 = 20907, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_0 = 20888, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_2 = 20889, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_3 = 20890, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_5 = 20891, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_6 = 20892, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_0 = 20893, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_2 = 20894, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_3 = 20895, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_5 = 20896, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_6 = 20897, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_0 = 20898, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_2 = 20899, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_3 = 20900, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_5 = 20901, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_6 = 20902, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_0 = 20903, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_2 = 20904, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_3 = 20905, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_5 = 20906, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_6 = 20907, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_0 = 20908, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_2 = 20909, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_3 = 20910, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_5 = 20911, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_6 = 20912, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_0 = 20913, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_2 = 20914, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_3 = 20915, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_5 = 20916, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_6 = 20917, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_0 = 20918, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_2 = 20919, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_3 = 20920, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_5 = 20921, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_6 = 20922, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_0 = 20923, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_2 = 20924, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_3 = 20925, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_5 = 20926, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_6 = 20927, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_0 = 20908, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_2 = 20909, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_3 = 20910, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_5 = 20911, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_6 = 20912, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_0 = 20913, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_2 = 20914, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_3 = 20915, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_5 = 20916, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_6 = 20917, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_0 = 20918, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_2 = 20919, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_3 = 20920, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_5 = 20921, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_6 = 20922, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_0 = 20923, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_2 = 20924, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_3 = 20925, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_5 = 20926, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_6 = 20927, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_6 = 20908, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_5 = 20909, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_3 = 20910, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_2 = 20911, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_0 = 20912, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_6 = 20913, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_5 = 20914, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_3 = 20915, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_2 = 20916, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_0 = 20917, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_6 = 20918, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_5 = 20919, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_3 = 20920, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_2 = 20921, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_0 = 20922, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_6 = 20923, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_5 = 20924, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_3 = 20925, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_2 = 20926, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_0 = 20927, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_6 = 20908, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_5 = 20909, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_3 = 20910, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_2 = 20911, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_0 = 20912, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_6 = 20913, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_5 = 20914, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_3 = 20915, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_2 = 20916, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_0 = 20917, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_6 = 20918, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_5 = 20919, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_3 = 20920, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_2 = 20921, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_0 = 20922, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_6 = 20923, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_5 = 20924, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_3 = 20925, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_2 = 20926, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_0 = 20927, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_6 = 20928, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_5 = 20929, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_3 = 20930, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_2 = 20931, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_0 = 20932, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_6 = 20933, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_5 = 20934, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_3 = 20935, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_2 = 20936, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_0 = 20937, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_6 = 20938, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_5 = 20939, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_3 = 20940, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_2 = 20941, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_0 = 20942, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_6 = 20943, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_5 = 20944, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_3 = 20945, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_2 = 20946, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_0 = 20947, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_6 = 20928, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_5 = 20929, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_3 = 20930, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_2 = 20931, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_0 = 20932, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_6 = 20933, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_5 = 20934, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_3 = 20935, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_2 = 20936, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_0 = 20937, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_6 = 20938, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_5 = 20939, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_3 = 20940, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_2 = 20941, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_0 = 20942, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_6 = 20943, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_5 = 20944, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_3 = 20945, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_2 = 20946, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_0 = 20947, - SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_0 = 20948, - SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_1 = 20949, - SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_2 = 20950, - SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_3 = 20951, - SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_0 = 20952, - SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_1 = 20953, - SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_2 = 20954, - SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_3 = 20955, - SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_0 = 20956, - SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_1 = 20957, - SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_2 = 20958, - SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_3 = 20959, - SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_0 = 20960, - SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_1 = 20961, - SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_2 = 20962, - SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_3 = 20963, - SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_0 = 20964, - SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_1 = 20965, - SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_2 = 20966, - SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_3 = 20967, - SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_0 = 20968, - SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_1 = 20969, - SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_2 = 20970, - SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_3 = 20971, - SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_0 = 20972, - SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_1 = 20973, - SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_2 = 20974, - SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_3 = 20975, - SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_0 = 20976, - SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_1 = 20977, - SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_2 = 20978, - SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_3 = 20979, - SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_3 = 20980, - SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_2 = 20981, - SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_1 = 20982, - SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_0 = 20983, - SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_3 = 20984, - SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_2 = 20985, - SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_1 = 20986, - SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_0 = 20987, - SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_3 = 20988, - SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_2 = 20989, - SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_1 = 20990, - SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_0 = 20991, - SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_3 = 20992, - SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_2 = 20993, - SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_1 = 20994, - SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_0 = 20995, + SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_0 = 20948, + SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_1 = 20949, + SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_2 = 20950, + SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_3 = 20951, + SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_0 = 20952, + SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_1 = 20953, + SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_2 = 20954, + SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_3 = 20955, + SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_0 = 20956, + SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_1 = 20957, + SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_2 = 20958, + SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_3 = 20959, + SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_0 = 20960, + SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_1 = 20961, + SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_2 = 20962, + SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_3 = 20963, + SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_0 = 20964, + SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_1 = 20965, + SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_2 = 20966, + SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_3 = 20967, + SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_0 = 20968, + SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_1 = 20969, + SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_2 = 20970, + SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_3 = 20971, + SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_0 = 20972, + SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_1 = 20973, + SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_2 = 20974, + SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_3 = 20975, + SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_0 = 20976, + SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_1 = 20977, + SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_2 = 20978, + SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_3 = 20979, + SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_3 = 20980, + SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_2 = 20981, + SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_1 = 20982, + SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_0 = 20983, + SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_3 = 20984, + SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_2 = 20985, + SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_1 = 20986, + SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_0 = 20987, + SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_3 = 20988, + SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_2 = 20989, + SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_1 = 20990, + SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_0 = 20991, + SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_3 = 20992, + SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_2 = 20993, + SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_1 = 20994, + SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_0 = 20995, }; uint32 SplashBoats25DegUpImageId[4] = { - SPR_SPLASH_BOATS_25_DEG_UP_SW_NE, - SPR_SPLASH_BOATS_25_DEG_UP_NW_SE, - SPR_SPLASH_BOATS_25_DEG_UP_NE_SW, - SPR_SPLASH_BOATS_25_DEG_UP_SE_NW, + SPR_SPLASH_BOATS_25_DEG_UP_SW_NE, + SPR_SPLASH_BOATS_25_DEG_UP_NW_SE, + SPR_SPLASH_BOATS_25_DEG_UP_NE_SW, + SPR_SPLASH_BOATS_25_DEG_UP_SE_NW, }; uint32 SplashBoats25DegUpFrontImageId[4] = { - SPR_SPLASH_BOATS_25_DEG_UP_FRONT_SW_NE, - SPR_SPLASH_BOATS_25_DEG_UP_FRONT_NW_SE, - SPR_SPLASH_BOATS_25_DEG_UP_FRONT_NE_SW, - SPR_SPLASH_BOATS_25_DEG_UP_FRONT_SE_NW, + SPR_SPLASH_BOATS_25_DEG_UP_FRONT_SW_NE, + SPR_SPLASH_BOATS_25_DEG_UP_FRONT_NW_SE, + SPR_SPLASH_BOATS_25_DEG_UP_FRONT_NE_SW, + SPR_SPLASH_BOATS_25_DEG_UP_FRONT_SE_NW, }; uint32 SplashBoats60DegUpImageId[4] = { - SPR_SPLASH_BOATS_60_DEG_UP_SW_NE, - SPR_SPLASH_BOATS_60_DEG_UP_NW_SE, - SPR_SPLASH_BOATS_60_DEG_UP_NE_SW, - SPR_SPLASH_BOATS_60_DEG_UP_SE_NW, + SPR_SPLASH_BOATS_60_DEG_UP_SW_NE, + SPR_SPLASH_BOATS_60_DEG_UP_NW_SE, + SPR_SPLASH_BOATS_60_DEG_UP_NE_SW, + SPR_SPLASH_BOATS_60_DEG_UP_SE_NW, }; uint32 SplashBoats60DegUpFrontImageId[4] = { - SPR_SPLASH_BOATS_60_DEG_UP_FRONT_SW_NE, - SPR_SPLASH_BOATS_60_DEG_UP_FRONT_NW_SE, - SPR_SPLASH_BOATS_60_DEG_UP_FRONT_NE_SW, - SPR_SPLASH_BOATS_60_DEG_UP_FRONT_SE_NW, + SPR_SPLASH_BOATS_60_DEG_UP_FRONT_SW_NE, + SPR_SPLASH_BOATS_60_DEG_UP_FRONT_NW_SE, + SPR_SPLASH_BOATS_60_DEG_UP_FRONT_NE_SW, + SPR_SPLASH_BOATS_60_DEG_UP_FRONT_SE_NW, }; uint32 SplashBoatsFlatTo25DegUpImageId[4] = { - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_SW_NE, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_NW_SE, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_NE_SW, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_SE_NW, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_SW_NE, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_NW_SE, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_NE_SW, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_SE_NW, }; uint32 SplashBoatsFlatTo25DegUpFrontImageId[4] = { - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_SW_NE, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_NW_SE, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_NE_SW, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_SE_NW, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_SW_NE, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_NW_SE, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_NE_SW, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_SE_NW, }; uint32 SplashBoats25DegUpToFlatImageId[4] = { - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_SW_NE, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_NW_SE, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_NE_SW, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_SE_NW, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_SW_NE, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_NW_SE, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_NE_SW, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_SE_NW, }; uint32 SplashBoats25DegUpToFlatFrontImageId[4] = { - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_SW_NE, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_NW_SE, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_NE_SW, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_SE_NW, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_SW_NE, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_NW_SE, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_NE_SW, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_SE_NW, }; uint32 SplashBoats25DegUpTo60DegUpImageId[4] = { - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_SW_NE, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_NW_SE, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_NE_SW, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_SE_NW, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_SW_NE, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_NW_SE, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_NE_SW, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_SE_NW, }; uint32 SplashBoats25DegUpTo60DegUpFrontImageId[4] = { - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_SW_NE, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_NW_SE, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_NE_SW, - SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_SE_NW, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_SW_NE, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_NW_SE, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_NE_SW, + SPR_SPLASH_BOATS_25_DEG_UP_TO_60_DEG_UP_FRONT_SE_NW, }; uint32 SplashBoats60DegUpTo25DegUpImageId[4] = { - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_SW_NE, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_NW_SE, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_NE_SW, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_SE_NW, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_SW_NE, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_NW_SE, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_NE_SW, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_SE_NW, }; uint32 SplashBoats60DegUpTo25DegUpFrontImageId[4] = { - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_SW_NE, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_NW_SE, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_NE_SW, - SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_SE_NW, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_SW_NE, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_NW_SE, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_NE_SW, + SPR_SPLASH_BOATS_60_DEG_UP_TO_25_DEG_UP_FRONT_SE_NW, }; uint32 SplashBoats25DegDownImageId[4] = { - SPR_SPLASH_BOATS_25_DEG_DOWN_SW_NE, - SPR_SPLASH_BOATS_25_DEG_DOWN_NW_SE, - SPR_SPLASH_BOATS_25_DEG_DOWN_NE_SW, - SPR_SPLASH_BOATS_25_DEG_DOWN_SE_NW, + SPR_SPLASH_BOATS_25_DEG_DOWN_SW_NE, + SPR_SPLASH_BOATS_25_DEG_DOWN_NW_SE, + SPR_SPLASH_BOATS_25_DEG_DOWN_NE_SW, + SPR_SPLASH_BOATS_25_DEG_DOWN_SE_NW, }; uint32 SplashBoats25DegDownFrontImageId[4] = { - SPR_SPLASH_BOATS_25_DEG_UP_FRONT_NE_SW, - SPR_SPLASH_BOATS_25_DEG_UP_FRONT_SE_NW, - SPR_SPLASH_BOATS_25_DEG_UP_FRONT_SW_NE, - SPR_SPLASH_BOATS_25_DEG_UP_FRONT_NW_SE, + SPR_SPLASH_BOATS_25_DEG_UP_FRONT_NE_SW, + SPR_SPLASH_BOATS_25_DEG_UP_FRONT_SE_NW, + SPR_SPLASH_BOATS_25_DEG_UP_FRONT_SW_NE, + SPR_SPLASH_BOATS_25_DEG_UP_FRONT_NW_SE, }; uint32 SplashBoatsFlatTo25DegDownImageId[4] = { - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_SW_NE, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_NW_SE, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_NE_SW, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_SE_NW, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_SW_NE, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_NW_SE, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_NE_SW, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_DOWN_SE_NW, }; uint32 SplashBoatsFlatTo25DegDownFrontImageId[4] = { - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_NE_SW, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_SE_NW, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_SW_NE, - SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_NW_SE, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_NE_SW, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_SE_NW, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_SW_NE, + SPR_SPLASH_BOATS_25_DEG_UP_TO_FLAT_FRONT_NW_SE, }; uint32 SplashBoats25DegDownToFlatImageId[4] = { - SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_SW_NE, - SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_NW_SE, - SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_NE_SW, - SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_SE_NW, + SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_SW_NE, + SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_NW_SE, + SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_NE_SW, + SPR_SPLASH_BOATS_25_DEG_DOWN_TO_FLAT_SE_NW, }; uint32 SplashBoats25DegDownToFlatFrontImageId[4] = { - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_NE_SW, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_SE_NW, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_SW_NE, - SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_NW_SE, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_NE_SW, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_SE_NW, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_SW_NE, + SPR_SPLASH_BOATS_FLAT_TO_25_DEG_UP_FRONT_NW_SE, }; static const sprite_bb RiverRaftsLeftQuarterTurn5_Top[4][5] = { - { - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_0, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 27, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_3, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_5, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 34, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_6, { 0, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 }, - }, - { - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_0, { 0, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_3, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_6, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 27, 2 }, - }, - { - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_0, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 32, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_2, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_3, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_6, { 0, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 }, - }, - { - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_0, { 0, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_2, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_5, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_6, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 32, 2 }, - } + { + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_0, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 27, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_3, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_5, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 34, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SW_NW_SEQ_6, { 0, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 }, + }, + { + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_0, { 0, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_3, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NW_NE_SEQ_6, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 27, 2 }, + }, + { + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_0, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 32, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_2, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_3, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_NE_SE_SEQ_6, { 0, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 }, + }, + { + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_0, { 0, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_2, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_5, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_TOP_SE_SW_SEQ_6, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 32, 2 }, + } }; static const sprite_bb RiverRaftsLeftQuarterTurn5_Side[4][5] = { - { - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_0, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 27, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_3, { 0, 0, 0 }, { 0, 16, 27 }, { 16, 16, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_5, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 34, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_6, { 0, 0, 0 }, { 2, 0, 27 }, { 32, 32, 0 }, - }, - { - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_0, { 0, 0, 0 }, { 2, 0, 27 }, { 27, 32, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_2, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_3, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_5, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_6, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 27, 0 }, - }, - { - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_0, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 32, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_2, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_3, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 16, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_5, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_6, { 0, 0, 0 }, { 2, 0, 27 }, { 27, 32, 0 }, - }, - { - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_0, { 0, 0, 0 }, { 2, 0, 27 }, { 32, 32, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_2, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 32, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_5, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 }, - SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_6, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 32, 0 }, - } + { + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_0, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 27, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_3, { 0, 0, 0 }, { 0, 16, 27 }, { 16, 16, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_5, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 34, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SW_NW_SEQ_6, { 0, 0, 0 }, { 2, 0, 27 }, { 32, 32, 0 }, + }, + { + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_0, { 0, 0, 0 }, { 2, 0, 27 }, { 27, 32, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_2, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_3, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_5, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NW_NE_SEQ_6, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 27, 0 }, + }, + { + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_0, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 32, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_2, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_3, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 16, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_5, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_NE_SE_SEQ_6, { 0, 0, 0 }, { 2, 0, 27 }, { 27, 32, 0 }, + }, + { + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_0, { 0, 0, 0 }, { 2, 0, 27 }, { 32, 32, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_2, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 32, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_5, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 }, + SPR_SPLASH_BOATS_TURN_LEFT_5_SIDE_SE_SW_SEQ_6, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 32, 0 }, + } }; static const sprite_bb RiverRaftsRightQuarterTurn5_Top[4][5] = { - { - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_0, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 32, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_2, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_5, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_6, { 0, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 }, - }, - { - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_0, { 0, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_2, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 34, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_3, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_6, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 27, 2 }, - }, - { - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_0, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 27, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_3, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_6, { 0, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 }, - }, - { - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_0, { 0, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_3, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_5, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_6, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 32, 2 }, - } + { + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_0, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 32, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_2, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_3, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_5, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 32, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SW_SE_SEQ_6, { 0, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 }, + }, + { + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_0, { 0, 0, 0 }, { 2, 0, 0 }, { 32, 32, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_2, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 34, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_3, { 0, 0, 0 }, { 0, 16, 0 }, { 16, 16, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NW_SW_SEQ_6, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 27, 2 }, + }, + { + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_0, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 27, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 32, 16, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_3, { 0, 0, 0 }, { 16, 16, 0 }, { 16, 16, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_5, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_NE_NW_SEQ_6, { 0, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 }, + }, + { + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_0, { 0, 0, 0 }, { 2, 0, 0 }, { 27, 32, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_2, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 32, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_3, { 0, 0, 0 }, { 16, 0, 0 }, { 16, 16, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_5, { 0, 0, 0 }, { 0, 16, 0 }, { 32, 16, 2 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_TOP_SE_NE_SEQ_6, { 0, 0, 0 }, { 0, 2, 0 }, { 32, 32, 2 }, + } }; static const sprite_bb RiverRaftsRightQuarterTurn5_Side[4][5] = { - { - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_0, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 32, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_2, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_5, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 32, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_6, { 0, 0, 0 }, { 2, 0, 27 }, { 32, 32, 0 }, - }, - { - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_0, { 0, 0, 0 }, { 2, 0, 27 }, { 32, 32, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_2, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 34, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_3, { 0, 0, 0 }, { 0, 16, 27 }, { 16, 16, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_5, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_6, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 27, 0 }, - }, - { - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_0, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 27, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_3, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_5, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_6, { 0, 0, 0 }, { 2, 0, 27 }, { 27, 32, 0 }, - }, - { - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_0, { 0, 0, 0 }, { 2, 0, 27 }, { 27, 32, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_2, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_3, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 16, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_5, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 }, - SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_6, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 32, 0 }, - } + { + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_0, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 32, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_2, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_3, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 16, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_5, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 32, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SW_SE_SEQ_6, { 0, 0, 0 }, { 2, 0, 27 }, { 32, 32, 0 }, + }, + { + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_0, { 0, 0, 0 }, { 2, 0, 27 }, { 32, 32, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_2, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 34, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_3, { 0, 0, 0 }, { 0, 16, 27 }, { 16, 16, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_5, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NW_SW_SEQ_6, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 27, 0 }, + }, + { + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_0, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 27, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_2, { 0, 0, 0 }, { 0, 0, 27 }, { 32, 16, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_3, { 0, 0, 0 }, { 16, 16, 27 }, { 16, 16, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_5, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_NE_NW_SEQ_6, { 0, 0, 0 }, { 2, 0, 27 }, { 27, 32, 0 }, + }, + { + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_0, { 0, 0, 0 }, { 2, 0, 27 }, { 27, 32, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_2, { 0, 0, 0 }, { 0, 0, 27 }, { 16, 32, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_3, { 0, 0, 0 }, { 16, 0, 27 }, { 16, 16, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_5, { 0, 0, 0 }, { 0, 16, 27 }, { 32, 16, 0 }, + SPR_SPLASH_BOATS_TURN_RIGHT_5_SIDE_SE_NE_SEQ_6, { 0, 0, 0 }, { 0, 2, 27 }, { 32, 32, 0 }, + } }; static void paint_splash_boats_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - uint32 imageId = SplashBoats25DegUpImageId[direction] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = SplashBoats25DegUpFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = SplashBoats25DegUpImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = SplashBoats25DegUpFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 50, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup((direction & 1), 9 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 9 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } static void paint_splash_boats_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - uint32 imageId = SplashBoats60DegUpImageId[direction] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = SplashBoats60DegUpFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = SplashBoats60DegUpImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = SplashBoats60DegUpFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 98, height, 0, 27, height); + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup((direction & 1), 21 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 21 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 104, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 104, 0x20); } static void paint_splash_boats_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - uint32 imageId = SplashBoatsFlatTo25DegUpImageId[direction] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = SplashBoatsFlatTo25DegUpFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = SplashBoatsFlatTo25DegUpImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = SplashBoatsFlatTo25DegUpFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 42, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup((direction & 1), 1 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 1 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } static void paint_splash_boats_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - uint32 imageId = SplashBoats25DegUpToFlatImageId[direction] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = SplashBoats25DegUpToFlatFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = SplashBoats25DegUpToFlatImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = SplashBoats25DegUpToFlatFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 34, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup((direction & 1), 5 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 5 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } else { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } else { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } static void paint_splash_boats_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - uint32 imageId = SplashBoats25DegUpTo60DegUpImageId[direction] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = SplashBoats25DegUpTo60DegUpFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = SplashBoats25DegUpTo60DegUpImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = SplashBoats25DegUpTo60DegUpFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 66, height, 0, 27, height); + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup((direction & 1), 13 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 13 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } static void paint_splash_boats_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - uint32 imageId = SplashBoats60DegUpTo25DegUpImageId[direction] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = SplashBoats60DegUpTo25DegUpFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = SplashBoats60DegUpTo25DegUpImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = SplashBoats60DegUpTo25DegUpFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; - gWoodenSupportsPrependTo = sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 66, height, 0, 27, height); + gWoodenSupportsPrependTo = sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup((direction & 1), 17 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 17 + direction, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 72, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 72, 0x20); } static void paint_splash_boats_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - uint32 imageId = SplashBoats25DegDownImageId[direction] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = SplashBoats25DegDownFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = SplashBoats25DegDownImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = SplashBoats25DegDownFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 50, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 50, height, 0, 27, height); - static const uint8 specialSupport[] = { 11, 12, 9, 10 }; - wooden_a_supports_paint_setup((direction & 1), specialSupport[direction], height, gTrackColours[SCHEME_SUPPORTS], NULL); + static const uint8 specialSupport[] = { 11, 12, 9, 10 }; + wooden_a_supports_paint_setup((direction & 1), specialSupport[direction], height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); - } else { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 56, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); + } else { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 56, 0x20); } static void paint_splash_boats_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - paint_splash_boats_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + paint_splash_boats_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void paint_splash_boats_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - uint32 imageId = SplashBoatsFlatTo25DegDownImageId[direction] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = SplashBoatsFlatTo25DegDownFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = SplashBoatsFlatTo25DegDownImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = SplashBoatsFlatTo25DegDownFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 34, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 34, height, 0, 27, height); - static const uint8 specialSupport[] = { 7, 8, 5, 6 }; - wooden_a_supports_paint_setup((direction & 1), specialSupport[direction], height, gTrackColours[SCHEME_SUPPORTS], NULL); + static const uint8 specialSupport[] = { 7, 8, 5, 6 }; + wooden_a_supports_paint_setup((direction & 1), specialSupport[direction], height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); - } else { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 40, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); + } else { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 40, 0x20); } static void paint_splash_boats_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - paint_splash_boats_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + paint_splash_boats_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void paint_splash_boats_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - paint_splash_boats_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + paint_splash_boats_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void paint_splash_boats_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element *mapElement) { - uint32 imageId = SplashBoats25DegDownToFlatImageId[direction] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = SplashBoats25DegDownToFlatFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 imageId = SplashBoats25DegDownToFlatImageId[direction] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = SplashBoats25DegDownToFlatFrontImageId[direction] | gTrackColours[SCHEME_TRACK]; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 42, height, 0, 27, height); + sub_98197C_rotated(direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 1, 42, height, 0, 27, height); - static const uint8 specialSupport[] = { 3, 4, 1, 2 }; - wooden_a_supports_paint_setup((direction & 1), specialSupport[direction], height, gTrackColours[SCHEME_SUPPORTS], NULL); + static const uint8 specialSupport[] = { 3, 4, 1, 2 }; + wooden_a_supports_paint_setup((direction & 1), specialSupport[direction], height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); - } else { - paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); - } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 48, 0x20); + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); + } else { + paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); + } + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 48, 0x20); } /** Start of elements originally from River Rafts */ /** rct2: 0x0089B170 */ static void paint_splash_boats_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - uint32 imageId; + uint32 imageId; - if (direction & 1) { - imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_TOP_NW_SE : SPR_SPLASH_BOATS_FLAT_TOP_SE_NW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 2, height, 6, 0, height, get_current_rotation()); + if (direction & 1) { + imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_TOP_NW_SE : SPR_SPLASH_BOATS_FLAT_TOP_SE_NW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 2, height, 6, 0, height, get_current_rotation()); - imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_SIDE_NW_SE : SPR_SPLASH_BOATS_FLAT_SIDE_SE_NW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation()); - } else { - imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_TOP_SW_NE : SPR_SPLASH_BOATS_FLAT_TOP_NE_SW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 2, height, 0, 6, height, get_current_rotation()); + imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_SIDE_NW_SE : SPR_SPLASH_BOATS_FLAT_SIDE_SE_NW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation()); + } else { + imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_TOP_SW_NE : SPR_SPLASH_BOATS_FLAT_TOP_NE_SW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 2, height, 0, 6, height, get_current_rotation()); - imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_SIDE_SW_NE : SPR_SPLASH_BOATS_FLAT_SIDE_NE_SW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation()); - } + imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_SIDE_SW_NE : SPR_SPLASH_BOATS_FLAT_SIDE_NE_SW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation()); + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - if (direction & 1) { - paint_util_push_tunnel_right(height, TUNNEL_6); - } else { - paint_util_push_tunnel_left(height, TUNNEL_6); - } + if (direction & 1) { + paint_util_push_tunnel_right(height, TUNNEL_6); + } else { + paint_util_push_tunnel_left(height, TUNNEL_6); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0089B1A0 */ static void paint_splash_boats_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - if (direction & 1) { - uint32 imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_TOP_NW_SE : SPR_SPLASH_BOATS_FLAT_TOP_SE_NW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height + 3, get_current_rotation()); + if (direction & 1) { + uint32 imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_TOP_NW_SE : SPR_SPLASH_BOATS_FLAT_TOP_SE_NW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 1, height, 6, 0, height + 3, get_current_rotation()); - imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; - sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); - } else { - uint32 imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_TOP_SW_NE : SPR_SPLASH_BOATS_FLAT_TOP_NE_SW) | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height + 3, get_current_rotation()); + imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC]; + sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); + } else { + uint32 imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_TOP_SW_NE : SPR_SPLASH_BOATS_FLAT_TOP_NE_SW) | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 1, height, 0, 6, height + 3, get_current_rotation()); - imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; - sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); - } + imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC]; + sub_98196C(imageId, 0, 0, 32, 32, 1, height, get_current_rotation()); + } - wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - track_paint_util_draw_station_platform(ride, direction, height, 7, mapElement); + track_paint_util_draw_station_platform(ride, direction, height, 7, mapElement); - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0089B1D0 */ static void paint_splash_boats_track_left_quarter_turn_5_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], RiverRaftsLeftQuarterTurn5_Top); - track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], RiverRaftsLeftQuarterTurn5_Side); + track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], RiverRaftsLeftQuarterTurn5_Top); + track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], RiverRaftsLeftQuarterTurn5_Side); - if (trackSequence != 1 && trackSequence != 4) { - static const uint8 supportTypes[][7] = { - { 0, 0xFF, 5, 3, 0xFF, 5, 1 }, - { 1, 0xFF, 2, 4, 0xFF, 2, 0 }, - { 0, 0xFF, 3, 5, 0xFF, 3, 1 }, - { 1, 0xFF, 4, 2, 0xFF, 4, 0 }, - }; - uint8 supportType = supportTypes[direction][trackSequence]; - wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - } + if (trackSequence != 1 && trackSequence != 4) { + static const uint8 supportTypes[][7] = { + { 0, 0xFF, 5, 3, 0xFF, 5, 1 }, + { 1, 0xFF, 2, 4, 0xFF, 2, 0 }, + { 0, 0xFF, 3, 5, 0xFF, 3, 1 }, + { 1, 0xFF, 4, 2, 0xFF, 4, 0 }, + }; + uint8 supportType = supportTypes[direction][trackSequence]; + wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; - case 1: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4 | SEGMENT_B8 | SEGMENT_D0, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_CC | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_B4 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); break; - case 4: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_B8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; + case 1: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4 | SEGMENT_B8 | SEGMENT_D0, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_CC | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_B4 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); break; + case 4: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_B8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; + } - switch (trackSequence) { - case 0: - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - break; - case 6: - if (direction == 2 || direction == 3) { - paint_util_push_tunnel_rotated(direction ^ 1, height, TUNNEL_6); - } - break; - } + switch (trackSequence) { + case 0: + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + break; + case 6: + if (direction == 2 || direction == 3) { + paint_util_push_tunnel_rotated(direction ^ 1, height, TUNNEL_6); + } + break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0089B1D0 */ static void paint_splash_boats_track_right_quarter_turn_5_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], RiverRaftsRightQuarterTurn5_Top); - track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], RiverRaftsRightQuarterTurn5_Side); + track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], RiverRaftsRightQuarterTurn5_Top); + track_paint_util_right_quarter_turn_5_tiles_paint_2(height, direction, get_current_rotation(), trackSequence, gTrackColours[SCHEME_TRACK], RiverRaftsRightQuarterTurn5_Side); - if (trackSequence != 1 && trackSequence != 4) { - static const uint8 supportTypes[][7] = { - { 0, 0xFF, 4, 2, 0xFF, 4, 1 }, - { 1, 0xFF, 5, 3, 0xFF, 5, 0 }, - { 0, 0xFF, 2, 4, 0xFF, 2, 1 }, - { 1, 0xFF, 3, 5, 0xFF, 3, 0 }, - }; - uint8 supportType = supportTypes[direction][trackSequence]; - wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - } + if (trackSequence != 1 && trackSequence != 4) { + static const uint8 supportTypes[][7] = { + { 0, 0xFF, 4, 2, 0xFF, 4, 1 }, + { 1, 0xFF, 5, 3, 0xFF, 5, 0 }, + { 0, 0xFF, 2, 4, 0xFF, 2, 1 }, + { 1, 0xFF, 3, 5, 0xFF, 3, 0 }, + }; + uint8 supportType = supportTypes[direction][trackSequence]; + wooden_a_supports_paint_setup(supportType, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + } - switch (trackSequence) { - case 0: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; - case 1: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); break; - case 4: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; - case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; - case 6: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; - } + switch (trackSequence) { + case 0: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; + case 1: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 3: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_C4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); break; + case 4: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); break; + case 5: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C8, direction), 0xFFFF, 0); break; + case 6: paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); break; + } - switch (trackSequence) { - case 0: - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - break; - case 6: - if (direction == 0 || direction == 1) { - paint_util_push_tunnel_rotated(direction ^ 1, height, TUNNEL_6); - } - break; - } + switch (trackSequence) { + case 0: + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + break; + case 6: + if (direction == 0 || direction == 1) { + paint_util_push_tunnel_rotated(direction ^ 1, height, TUNNEL_6); + } + break; + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0089B180 */ static void paint_splash_boats_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4][2] = - { - { { SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_0 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_1 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_2 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_3 } }, - { { SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_0 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_1 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_2 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_3 } }, - { { SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_3 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_2 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_1 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_0 } }, - { { SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_3 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_2 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_1 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_0 } }, - }; + static const uint32 imageIds[4][4][2] = + { + { { SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_0 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_1 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_2 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_NE_NW_NE_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_3 } }, + { { SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_0 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_1 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_2 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_NW_SW_NW_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_3 } }, + { { SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_3 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_2 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_1 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_SW_SE_SW_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_NW_NE_SEQ_0 } }, + { { SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_3 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_2 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_1 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_SE_NE_SE_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_NW_SW_NW_SEQ_0 } }, + }; - uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; - sint16 bboy; + uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; + sint16 bboy; - switch (trackSequence) { - case 0: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - break; - case 1: - bboy = (direction == 0 || direction == 1) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + switch (trackSequence) { + case 0: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + break; + case 1: + bboy = (direction == 0 || direction == 1) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - static const sint32 supportTypes1[] = { 5, 2, 3, 4 }; - wooden_a_supports_paint_setup(supportTypes1[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + static const sint32 supportTypes1[] = { 5, 2, 3, 4 }; + wooden_a_supports_paint_setup(supportTypes1[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 2: - bboy = (direction == 2 || direction == 3) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 2: + bboy = (direction == 2 || direction == 3) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - static const sint32 supportTypes2[] = { 3, 4, 5, 2 }; - wooden_a_supports_paint_setup(supportTypes2[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + static const sint32 supportTypes2[] = { 3, 4, 5, 2 }; + wooden_a_supports_paint_setup(supportTypes2[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 3: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 3: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + break; + } - if (trackSequence == 0) { - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - } else if (trackSequence == 3) { - if (direction == 1 || direction == 2) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - } + if (trackSequence == 0) { + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + } else if (trackSequence == 3) { + if (direction == 1 || direction == 2) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } /** rct2: 0x0089B190 */ static void paint_splash_boats_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - static const uint32 imageIds[4][4][2] = - { - { { SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_0 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_1 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_2 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_3 } }, - { { SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_0 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_1 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_2 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_3 } }, - { { SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_3 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_2 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_1 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_0 } }, - { { SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_3 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_2 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_1 }, - { SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_0 } }, - }; + static const uint32 imageIds[4][4][2] = + { + { { SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_0 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_1 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_2 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_NE_SE_NE_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_3 } }, + { { SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_0 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_1 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_2 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_SE_SW_SE_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_3 } }, + { { SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_3 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_2 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_1 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_SW_NW_SW_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_NE_SE_NE_SEQ_0 } }, + { { SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_0, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_3 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_1, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_2 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_2, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_1 }, + { SPR_SPLASH_BOATS_S_BEND_TOP_NW_NE_NW_SEQ_3, SPR_SPLASH_BOATS_S_BEND_SIDE_SE_SW_SE_SEQ_0 } }, + }; - uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; - uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; - sint16 bboy; + uint32 imageId = imageIds[direction][trackSequence][0] | gTrackColours[SCHEME_TRACK]; + uint32 frontImageId = imageIds[direction][trackSequence][1] | gTrackColours[SCHEME_TRACK]; + sint16 bboy; - switch (trackSequence) { - case 0: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - break; - case 1: - bboy = (direction == 2 || direction == 3) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + switch (trackSequence) { + case 0: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + break; + case 1: + bboy = (direction == 2 || direction == 3) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - static const sint32 supportTypes1[] = { 4, 5, 2, 3 }; - wooden_a_supports_paint_setup(supportTypes1[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + static const sint32 supportTypes1[] = { 4, 5, 2, 3 }; + wooden_a_supports_paint_setup(supportTypes1[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - break; - case 2: - bboy = (direction == 0 || direction == 1) ? 0 : 6; - sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + break; + case 2: + bboy = (direction == 0 || direction == 1) ? 0 : 6; + sub_98197C_rotated(direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - static const sint32 supportTypes2[] = { 2, 3, 4, 5 }; - wooden_a_supports_paint_setup(supportTypes2[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + static const sint32 supportTypes2[] = { 2, 3, 4, 5 }; + wooden_a_supports_paint_setup(supportTypes2[direction], 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - break; - case 3: - sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); - sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - break; - } + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + break; + case 3: + sub_98197C_rotated(direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + sub_98197C_rotated(direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); + wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + break; + } - if (trackSequence == 0) { - if (direction == 0 || direction == 3) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - } else if (trackSequence == 3) { - if (direction == 1 || direction == 2) { - paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); - } - } + if (trackSequence == 0) { + if (direction == 0 || direction == 3) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + } else if (trackSequence == 3) { + if (direction == 1 || direction == 2) { + paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); + } + } - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_general_support_height(height + 32, 0x20); } TRACK_PAINT_FUNCTION get_track_paint_function_splash_boats(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_25_DEG_UP: - return paint_splash_boats_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: - return paint_splash_boats_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return paint_splash_boats_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return paint_splash_boats_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return paint_splash_boats_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return paint_splash_boats_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return paint_splash_boats_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: - return paint_splash_boats_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return paint_splash_boats_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return paint_splash_boats_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return paint_splash_boats_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return paint_splash_boats_track_25_deg_down_to_flat; + switch (trackType) { + case TRACK_ELEM_25_DEG_UP: + return paint_splash_boats_track_25_deg_up; + case TRACK_ELEM_60_DEG_UP: + return paint_splash_boats_track_60_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_splash_boats_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return paint_splash_boats_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return paint_splash_boats_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_splash_boats_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return paint_splash_boats_track_25_deg_down; + case TRACK_ELEM_60_DEG_DOWN: + return paint_splash_boats_track_60_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_splash_boats_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return paint_splash_boats_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return paint_splash_boats_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_splash_boats_track_25_deg_down_to_flat; - // Originally taken from River Rafts - case TRACK_ELEM_FLAT: - return paint_splash_boats_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return paint_splash_boats_station; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - return paint_splash_boats_track_left_quarter_turn_5_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - return paint_splash_boats_track_right_quarter_turn_5_tiles; - case TRACK_ELEM_S_BEND_LEFT: - return paint_splash_boats_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: - return paint_splash_boats_track_s_bend_right; - } + // Originally taken from River Rafts + case TRACK_ELEM_FLAT: + return paint_splash_boats_track_flat; + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_splash_boats_station; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + return paint_splash_boats_track_left_quarter_turn_5_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + return paint_splash_boats_track_right_quarter_turn_5_tiles; + case TRACK_ELEM_S_BEND_LEFT: + return paint_splash_boats_track_s_bend_left; + case TRACK_ELEM_S_BEND_RIGHT: + return paint_splash_boats_track_s_bend_right; + } - return NULL; + return NULL; } #ifndef NO_VEHICLES @@ -1039,15 +1039,15 @@ TRACK_PAINT_FUNCTION get_track_paint_function_splash_boats(sint32 trackType, sin */ void vehicle_visual_splash_boats_or_water_coaster(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - if (vehicle->is_child) { - vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); - } else { - vehicle = GET_VEHICLE(vehicle->next_vehicle_on_ride); - } - g_currently_drawn_item = vehicle; - imageDirection = ((get_current_rotation() * 8) + vehicle->sprite_direction) & 0x1F; - gUnk9DE568 = vehicle->x; - gUnk9DE56C = vehicle->y; - vehicle_paint(vehicle, imageDirection); + if (vehicle->is_child) { + vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); + } else { + vehicle = GET_VEHICLE(vehicle->next_vehicle_on_ride); + } + g_currently_drawn_item = vehicle; + imageDirection = ((get_current_rotation() * 8) + vehicle->sprite_direction) & 0x1F; + gUnk9DE568 = vehicle->x; + gUnk9DE56C = vehicle->y; + vehicle_paint(vehicle, imageDirection); } #endif diff --git a/src/openrct2/ride/water/submarine_ride.c b/src/openrct2/ride/water/submarine_ride.c index 9bd6696d8f..afcd6c4ab1 100644 --- a/src/openrct2/ride/water/submarine_ride.c +++ b/src/openrct2/ride/water/submarine_ride.c @@ -29,136 +29,136 @@ */ void vehicle_visual_submarine(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { - sint32 baseImage_id = imageDirection; - sint32 image_id; - if (vehicle->restraints_position >= 64) { - if ((vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION) && !(imageDirection & 3)) { - baseImage_id /= 8; - baseImage_id += ((vehicle->restraints_position - 64) / 64) * 4; - baseImage_id *= vehicleEntry->var_16; - baseImage_id += vehicleEntry->var_1C; - } - } else { - if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_11) { - baseImage_id /= 2; - } - if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_15) { - baseImage_id /= 8; - } - baseImage_id *= vehicleEntry->var_16; - baseImage_id += vehicleEntry->base_image_id; - baseImage_id += vehicle->var_4A; - } + sint32 baseImage_id = imageDirection; + sint32 image_id; + if (vehicle->restraints_position >= 64) { + if ((vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION) && !(imageDirection & 3)) { + baseImage_id /= 8; + baseImage_id += ((vehicle->restraints_position - 64) / 64) * 4; + baseImage_id *= vehicleEntry->var_16; + baseImage_id += vehicleEntry->var_1C; + } + } else { + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_11) { + baseImage_id /= 2; + } + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_15) { + baseImage_id /= 8; + } + baseImage_id *= vehicleEntry->var_16; + baseImage_id += vehicleEntry->base_image_id; + baseImage_id += vehicle->var_4A; + } - vehicle_boundbox bb = VehicleBoundboxes[vehicleEntry->draw_order][imageDirection / 2]; + vehicle_boundbox bb = VehicleBoundboxes[vehicleEntry->draw_order][imageDirection / 2]; - image_id = baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0x80000000; - paint_struct* ps = sub_98197C(image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z, get_current_rotation()); - if (ps != NULL) { - ps->tertiary_colour = vehicle->colours_extended; - } + image_id = baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0x80000000; + paint_struct* ps = sub_98197C(image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z, get_current_rotation()); + if (ps != NULL) { + ps->tertiary_colour = vehicle->colours_extended; + } - image_id = (baseImage_id + 1) | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0x80000000; - ps = sub_98197C(image_id, 0, 0, bb.length_x, bb.length_y, 2, z, bb.offset_x, bb.offset_y, bb.offset_z + z - 10, get_current_rotation()); - if (ps != NULL) { - ps->tertiary_colour = vehicle->colours_extended; - } + image_id = (baseImage_id + 1) | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | 0x80000000; + ps = sub_98197C(image_id, 0, 0, bb.length_x, bb.length_y, 2, z, bb.offset_x, bb.offset_y, bb.offset_z + z - 10, get_current_rotation()); + if (ps != NULL) { + ps->tertiary_colour = vehicle->colours_extended; + } - assert(vehicleEntry->effect_visual == 1); + assert(vehicleEntry->effect_visual == 1); } #endif static void submarine_ride_paint_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - rct_ride * ride = get_ride(rideIndex); - const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; - sint32 heightLower = height - 16; - uint32 imageId; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + rct_ride * ride = get_ride(rideIndex); + const rct_ride_entrance_definition * entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; + sint32 heightLower = height - 16; + uint32 imageId; - if (direction & 1) { - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower, get_current_rotation()); + if (direction & 1) { + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower, get_current_rotation()); - paint_util_push_tunnel_right(height, TUNNEL_6); - track_paint_util_draw_pier(ride, entranceStyle, position, direction, height, mapElement, get_current_rotation()); - } else { - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower, get_current_rotation()); + paint_util_push_tunnel_right(height, TUNNEL_6); + track_paint_util_draw_pier(ride, entranceStyle, position, direction, height, mapElement, get_current_rotation()); + } else { + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower, get_current_rotation()); - paint_util_push_tunnel_left(height, TUNNEL_6); - track_paint_util_draw_pier(ride, entranceStyle, position, direction, height, mapElement, get_current_rotation()); - } + paint_util_push_tunnel_left(height, TUNNEL_6); + track_paint_util_draw_pier(ride, entranceStyle, position, direction, height, mapElement, get_current_rotation()); + } - paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); - paint_util_set_general_support_height(height + 32, 0x20); + paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(height + 32, 0x20); } static void submarine_ride_paint_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; - sint32 heightLower = height - 16; - uint32 imageId; + rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y}; + sint32 heightLower = height - 16; + uint32 imageId; - if (direction & 1) { - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower, get_current_rotation()); - paint_util_push_tunnel_right(heightLower, TUNNEL_0); - } else { - imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | gTrackColours[SCHEME_TRACK]; - sub_98197C(imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower, get_current_rotation()); - paint_util_push_tunnel_left(heightLower, TUNNEL_0); - } + if (direction & 1) { + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower, get_current_rotation()); + paint_util_push_tunnel_right(heightLower, TUNNEL_0); + } else { + imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | gTrackColours[SCHEME_TRACK]; + sub_98197C(imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower, get_current_rotation()); + paint_util_push_tunnel_left(heightLower, TUNNEL_0); + } - if (track_paint_util_should_paint_supports(position)) { - metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 4, -1, heightLower, gTrackColours[SCHEME_SUPPORTS]); - } + if (track_paint_util_should_paint_supports(position)) { + metal_a_supports_paint_setup((direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 4, -1, heightLower, gTrackColours[SCHEME_SUPPORTS]); + } - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 16, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 16, 0x20); } static void submarine_ride_paint_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_left_quarter_turn_3_tiles_paint(3, height - 16, direction, trackSequence, gTrackColours[SCHEME_TRACK], trackSpritesSubmarineRideMiniHelicoptersQuarterTurn3Tiles, get_current_rotation()); - track_paint_util_left_quarter_turn_3_tiles_tunnel(height - 16, TUNNEL_0, direction, trackSequence); + track_paint_util_left_quarter_turn_3_tiles_paint(3, height - 16, direction, trackSequence, gTrackColours[SCHEME_TRACK], trackSpritesSubmarineRideMiniHelicoptersQuarterTurn3Tiles, get_current_rotation()); + track_paint_util_left_quarter_turn_3_tiles_tunnel(height - 16, TUNNEL_0, direction, trackSequence); - switch (trackSequence) { - case 0: - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -1, height - 16, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction), 0xFFFF, 0); - break; - case 2: - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8, direction), 0xFFFF, 0); - break; - case 3: - metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -1, height - 16, gTrackColours[SCHEME_SUPPORTS]); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0, direction), 0xFFFF, 0); - break; - } + switch (trackSequence) { + case 0: + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -1, height - 16, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction), 0xFFFF, 0); + break; + case 2: + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8, direction), 0xFFFF, 0); + break; + case 3: + metal_a_supports_paint_setup(METAL_SUPPORTS_STICK, 4, -1, height - 16, gTrackColours[SCHEME_SUPPORTS]); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0, direction), 0xFFFF, 0); + break; + } - paint_util_set_general_support_height(height + 16, 0x20); + paint_util_set_general_support_height(height + 16, 0x20); } static const uint8 submarine_ride_right_quarter_turn_3_tiles_to_left_turn_map[] = {3, 1, 2, 0}; static void submarine_ride_paint_track_right_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = submarine_ride_right_quarter_turn_3_tiles_to_left_turn_map[trackSequence]; - submarine_ride_paint_track_left_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + trackSequence = submarine_ride_right_quarter_turn_3_tiles_to_left_turn_map[trackSequence]; + submarine_ride_paint_track_left_quarter_turn_3_tiles(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } static void submarine_ride_paint_track_left_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - track_paint_util_left_quarter_turn_1_tile_paint(1, height - 16, 0, direction, gTrackColours[SCHEME_TRACK], trackSpritesSubmarineRideMiniHelicoptersQuarterTurn1Tile, get_current_rotation()); - track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height - 16, 0, TUNNEL_0, 0, TUNNEL_0); + track_paint_util_left_quarter_turn_1_tile_paint(1, height - 16, 0, direction, gTrackColours[SCHEME_TRACK], trackSpritesSubmarineRideMiniHelicoptersQuarterTurn1Tile, get_current_rotation()); + track_paint_util_left_quarter_turn_1_tile_tunnel(direction, height - 16, 0, TUNNEL_0, 0, TUNNEL_0); - paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); - paint_util_set_general_support_height(height + 16, 0x20); + paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(height + 16, 0x20); } static void submarine_ride_paint_track_right_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - submarine_ride_paint_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); + submarine_ride_paint_track_left_quarter_turn_1_tile(rideIndex, trackSequence, (direction + 3) % 4, height, mapElement); } /** @@ -166,25 +166,25 @@ static void submarine_ride_paint_track_right_quarter_turn_1_tile(uint8 rideIndex */ TRACK_PAINT_FUNCTION get_track_paint_function_submarine_ride(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - case TRACK_ELEM_END_STATION: - return submarine_ride_paint_track_station; + switch (trackType) { + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + case TRACK_ELEM_END_STATION: + return submarine_ride_paint_track_station; - case TRACK_ELEM_FLAT: - return submarine_ride_paint_track_flat; + case TRACK_ELEM_FLAT: + return submarine_ride_paint_track_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - return submarine_ride_paint_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - return submarine_ride_paint_track_right_quarter_turn_3_tiles; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + return submarine_ride_paint_track_left_quarter_turn_3_tiles; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + return submarine_ride_paint_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - return submarine_ride_paint_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - return submarine_ride_paint_track_right_quarter_turn_1_tile; - } + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return submarine_ride_paint_track_left_quarter_turn_1_tile; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return submarine_ride_paint_track_right_quarter_turn_1_tile; + } - return NULL; + return NULL; } diff --git a/src/openrct2/ride/water/water_coaster.c b/src/openrct2/ride/water/water_coaster.c index fd4cd6c708..a05aa0c4d2 100644 --- a/src/openrct2/ride/water/water_coaster.c +++ b/src/openrct2/ride/water/water_coaster.c @@ -21,103 +21,103 @@ static void water_rc_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - water_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + water_rc_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void water_rc_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - water_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + water_rc_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void water_rc_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - water_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); + water_rc_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); } static void water_rc_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element* mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_flat_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_25_deg_up_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_flat_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_flat_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - bool isChained = track_element_is_lift_hill(mapElement); - junior_rc_paint_track_diag_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); + bool isChained = track_element_is_lift_hill(mapElement); + junior_rc_paint_track_diag_25_deg_down_to_flat(rideIndex, trackSequence, direction, height, mapElement, isChained ? JUNIOR_RC_CHAIN_CHAIN_LIFT : JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_station(rideIndex, trackSequence, direction, height, mapElement, RIDE_TYPE_WATER_COASTER); + junior_rc_paint_station(rideIndex, trackSequence, direction, height, mapElement, RIDE_TYPE_WATER_COASTER); } static void water_rc_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) @@ -132,241 +132,241 @@ static void water_rc_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 tra static void water_rc_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - water_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); + water_rc_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) % 4, height, mapElement); } // 5 tile turns static void water_rc_track_left_quarter_turn_5_tiles_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_left_quarter_turn_5_tiles_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_left_quarter_turn_5_tiles_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_right_quarter_turn_5_tiles_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_right_quarter_turn_5_tiles_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_right_quarter_turn_5_tiles_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } static const uint8 water_rc_left_quarter_turn_5_tiles_to_right_turn_map[] = {6, 4, 5, 3, 1, 2, 0}; static void water_rc_track_left_quarter_turn_5_tiles_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - water_rc_track_right_quarter_turn_5_tiles_25_deg_up(rideIndex, water_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence], (direction + 1) % 4, height, mapElement);} + water_rc_track_right_quarter_turn_5_tiles_25_deg_up(rideIndex, water_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence], (direction + 1) % 4, height, mapElement);} static void water_rc_track_right_quarter_turn_5_tiles_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - water_rc_track_left_quarter_turn_5_tiles_25_deg_up(rideIndex, water_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence], (direction + 3) % 4, height, mapElement); + water_rc_track_left_quarter_turn_5_tiles_25_deg_up(rideIndex, water_rc_left_quarter_turn_5_tiles_to_right_turn_map[trackSequence], (direction + 3) % 4, height, mapElement); } // 3 tile turns static void water_rc_track_right_quarter_turn_3_tiles_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_right_quarter_turn_3_tiles_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } static const uint8 water_rc_left_quarter_turn_3_tiles_to_right_turn_map[] = {3, 1, 2, 0}; static void water_rc_track_left_quarter_turn_3_tiles_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = water_rc_left_quarter_turn_3_tiles_to_right_turn_map[trackSequence]; - water_rc_track_right_quarter_turn_3_tiles_25_deg_down(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = water_rc_left_quarter_turn_3_tiles_to_right_turn_map[trackSequence]; + water_rc_track_right_quarter_turn_3_tiles_25_deg_down(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } static void water_rc_track_left_quarter_turn_3_tiles_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - trackSequence = water_rc_left_quarter_turn_3_tiles_to_right_turn_map[trackSequence]; - water_rc_track_right_quarter_turn_3_tiles_25_deg_up(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); + trackSequence = water_rc_left_quarter_turn_3_tiles_to_right_turn_map[trackSequence]; + water_rc_track_right_quarter_turn_3_tiles_25_deg_up(rideIndex, trackSequence, (direction + 1) % 4, height, mapElement); } static void water_rc_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_diag_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_diag_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_diag_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_diag_25_deg_up_to_60_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_diag_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_diag_60_deg_up_to_25_deg_up(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_diag_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_diag_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_diag_25_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_diag_25_deg_down_to_60_deg_down(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } static void water_rc_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement) { - junior_rc_paint_track_diag_60_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); + junior_rc_paint_track_diag_60_deg_down_to_25_deg_down(rideIndex, trackSequence, direction, height, mapElement, JUNIOR_RC_CHAIN_NONE); } TRACK_PAINT_FUNCTION get_track_paint_function_water_rc(sint32 trackType, sint32 direction) { - switch (trackType) { - case TRACK_ELEM_FLAT: - return water_rc_track_flat; - case TRACK_ELEM_25_DEG_UP: - return water_rc_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - return water_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - return water_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: - return water_rc_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - return water_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - return water_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT: - return water_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: - return water_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - return water_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - return water_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: - return water_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - return water_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - return water_rc_track_diag_25_deg_down_to_flat; + switch (trackType) { + case TRACK_ELEM_FLAT: + return water_rc_track_flat; + case TRACK_ELEM_25_DEG_UP: + return water_rc_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return water_rc_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return water_rc_track_25_deg_up_to_flat; + case TRACK_ELEM_25_DEG_DOWN: + return water_rc_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return water_rc_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return water_rc_track_25_deg_down_to_flat; + case TRACK_ELEM_DIAG_FLAT: + return water_rc_track_diag_flat; + case TRACK_ELEM_DIAG_25_DEG_UP: + return water_rc_track_diag_25_deg_up; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + return water_rc_track_diag_flat_to_25_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + return water_rc_track_diag_25_deg_up_to_flat; + case TRACK_ELEM_DIAG_25_DEG_DOWN: + return water_rc_track_diag_25_deg_down; + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + return water_rc_track_diag_flat_to_25_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + return water_rc_track_diag_25_deg_down_to_flat; - // Use Junior RC without lift hill - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - return water_rc_track_station; - case TRACK_ELEM_60_DEG_UP: - return water_rc_track_60_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - return water_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - return water_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_60_DEG_DOWN: - return water_rc_track_60_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - return water_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - return water_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - return water_rc_track_left_quarter_turn_5_tiles_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - return water_rc_track_right_quarter_turn_5_tiles_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return water_rc_track_left_quarter_turn_5_tiles_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - return water_rc_track_right_quarter_turn_5_tiles_25_deg_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - return water_rc_track_left_quarter_turn_3_tiles_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - return water_rc_track_right_quarter_turn_3_tiles_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return water_rc_track_left_quarter_turn_3_tiles_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - return water_rc_track_right_quarter_turn_3_tiles_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_UP: - return water_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - return water_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - return water_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_DOWN: - return water_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - return water_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - return water_rc_track_diag_60_deg_down_to_25_deg_down; + // Use Junior RC without lift hill + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return water_rc_track_station; + case TRACK_ELEM_60_DEG_UP: + return water_rc_track_60_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + return water_rc_track_25_deg_up_to_60_deg_up; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + return water_rc_track_60_deg_up_to_25_deg_up; + case TRACK_ELEM_60_DEG_DOWN: + return water_rc_track_60_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + return water_rc_track_25_deg_down_to_60_deg_down; + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + return water_rc_track_60_deg_down_to_25_deg_down; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + return water_rc_track_left_quarter_turn_5_tiles_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + return water_rc_track_right_quarter_turn_5_tiles_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return water_rc_track_left_quarter_turn_5_tiles_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + return water_rc_track_right_quarter_turn_5_tiles_25_deg_down; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + return water_rc_track_left_quarter_turn_3_tiles_25_deg_up; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + return water_rc_track_right_quarter_turn_3_tiles_25_deg_up; + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return water_rc_track_left_quarter_turn_3_tiles_25_deg_down; + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + return water_rc_track_right_quarter_turn_3_tiles_25_deg_down; + case TRACK_ELEM_DIAG_60_DEG_UP: + return water_rc_track_diag_60_deg_up; + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + return water_rc_track_diag_25_deg_up_to_60_deg_up; + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + return water_rc_track_diag_60_deg_up_to_25_deg_up; + case TRACK_ELEM_DIAG_60_DEG_DOWN: + return water_rc_track_diag_60_deg_down; + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + return water_rc_track_diag_25_deg_down_to_60_deg_down; + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + return water_rc_track_diag_60_deg_down_to_25_deg_down; - ////////////////////////////////////////////////////// - // Use Junior RC - ////////////////////////////////////////////////////// - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK: - case TRACK_ELEM_RIGHT_BANK: - case TRACK_ELEM_S_BEND_LEFT: - case TRACK_ELEM_S_BEND_RIGHT: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_FLAT_TO_60_DEG_UP: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_BRAKES: - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK: - case TRACK_ELEM_DIAG_RIGHT_BANK: - case TRACK_ELEM_BLOCK_BRAKES: - return get_track_paint_function_junior_rc(trackType, direction); + ////////////////////////////////////////////////////// + // Use Junior RC + ////////////////////////////////////////////////////// + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TRACK_ELEM_LEFT_BANK: + case TRACK_ELEM_RIGHT_BANK: + case TRACK_ELEM_S_BEND_LEFT: + case TRACK_ELEM_S_BEND_RIGHT: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TRACK_ELEM_FLAT_TO_60_DEG_UP: + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TRACK_ELEM_BRAKES: + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TRACK_ELEM_DIAG_LEFT_BANK: + case TRACK_ELEM_DIAG_RIGHT_BANK: + case TRACK_ELEM_BLOCK_BRAKES: + return get_track_paint_function_junior_rc(trackType, direction); - ////////////////////////////////////////////////////// - // Use River Rafts - ////////////////////////////////////////////////////// - case TRACK_ELEM_FLAT_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_FLAT, direction); - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES, direction); - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES, direction); - } - return NULL; + ////////////////////////////////////////////////////// + // Use River Rafts + ////////////////////////////////////////////////////// + case TRACK_ELEM_FLAT_COVERED: + return get_track_paint_function_splash_boats(TRACK_ELEM_FLAT, direction); + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: + return get_track_paint_function_splash_boats(TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES, direction); + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: + return get_track_paint_function_splash_boats(TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES, direction); + } + return NULL; } diff --git a/src/openrct2/scenario/scenario.c b/src/openrct2/scenario/scenario.c index 64f75fdb52..be2f7d3039 100644 --- a/src/openrct2/scenario/scenario.c +++ b/src/openrct2/scenario/scenario.c @@ -47,14 +47,14 @@ #include "ScenarioSources.h" const rct_string_id ScenarioCategoryStringIds[SCENARIO_CATEGORY_COUNT] = { - STR_BEGINNER_PARKS, - STR_CHALLENGING_PARKS, - STR_EXPERT_PARKS, - STR_REAL_PARKS, - STR_OTHER_PARKS, + STR_BEGINNER_PARKS, + STR_CHALLENGING_PARKS, + STR_EXPERT_PARKS, + STR_REAL_PARKS, + STR_OTHER_PARKS, - STR_DLC_PARKS, - STR_BUILD_YOUR_OWN_PARKS, + STR_DLC_PARKS, + STR_BUILD_YOUR_OWN_PARKS, }; static char _scenarioPath[MAX_PATH]; @@ -90,205 +90,205 @@ static void scenario_objective_check(); sint32 scenario_load_and_play_from_path(const char *path) { - window_close_construction_windows(); + window_close_construction_windows(); - uint32 extension = get_file_extension_type(path); - if (extension == FILE_EXTENSION_SC6) { - if (!scenario_load(path)) - return 0; - } - else if (extension == FILE_EXTENSION_SC4) { - if (!rct1_load_scenario(path)) - return 0; - } - else { - return 0; - } + uint32 extension = get_file_extension_type(path); + if (extension == FILE_EXTENSION_SC6) { + if (!scenario_load(path)) + return 0; + } + else if (extension == FILE_EXTENSION_SC4) { + if (!rct1_load_scenario(path)) + return 0; + } + else { + return 0; + } - reset_sprite_spatial_index(); - reset_all_sprite_quadrant_placements(); + reset_sprite_spatial_index(); + reset_all_sprite_quadrant_placements(); - size_t len = strnlen(path, MAX_PATH) + 1; - safe_strcpy(_scenarioPath, path, len); - if (len - 1 == MAX_PATH) - { - _scenarioPath[MAX_PATH - 1] = '\0'; - log_warning("truncated string %s", _scenarioPath); - } - _scenarioFileName = path_get_filename(_scenarioPath); + size_t len = strnlen(path, MAX_PATH) + 1; + safe_strcpy(_scenarioPath, path, len); + if (len - 1 == MAX_PATH) + { + _scenarioPath[MAX_PATH - 1] = '\0'; + log_warning("truncated string %s", _scenarioPath); + } + _scenarioFileName = path_get_filename(_scenarioPath); - gFirstTimeSave = 1; + gFirstTimeSave = 1; - log_verbose("starting scenario, %s", path); - scenario_begin(); - if (network_get_mode() == NETWORK_MODE_SERVER) { - network_send_map(); - } - if (network_get_mode() == NETWORK_MODE_CLIENT) { - network_close(); - } + log_verbose("starting scenario, %s", path); + scenario_begin(); + if (network_get_mode() == NETWORK_MODE_SERVER) { + network_send_map(); + } + if (network_get_mode() == NETWORK_MODE_CLIENT) { + network_close(); + } - return 1; + return 1; } void scenario_begin() { - rct_window *mainWindow; + rct_window *mainWindow; - audio_stop_title_music(); + audio_stop_title_music(); - gScreenFlags = SCREEN_FLAGS_PLAYING; - audio_stop_all_music_and_sounds(); - viewport_init_all(); - game_create_windows(); - mainWindow = window_get_main(); + gScreenFlags = SCREEN_FLAGS_PLAYING; + audio_stop_all_music_and_sounds(); + viewport_init_all(); + game_create_windows(); + mainWindow = window_get_main(); - mainWindow->viewport_target_sprite = -1; - mainWindow->saved_view_x = gSavedViewX; - mainWindow->saved_view_y = gSavedViewY; + mainWindow->viewport_target_sprite = -1; + mainWindow->saved_view_x = gSavedViewX; + mainWindow->saved_view_y = gSavedViewY; - uint8 zoomDifference = gSavedViewZoom - mainWindow->viewport->zoom; - mainWindow->viewport->zoom = gSavedViewZoom; - gCurrentRotation = gSavedViewRotation; - if (zoomDifference != 0) { - if (zoomDifference < 0) { - zoomDifference = -zoomDifference; - mainWindow->viewport->view_width >>= zoomDifference; - mainWindow->viewport->view_height >>= zoomDifference; - } else { - mainWindow->viewport->view_width <<= zoomDifference; - mainWindow->viewport->view_height <<= zoomDifference; - } - } - mainWindow->saved_view_x -= mainWindow->viewport->view_width >> 1; - mainWindow->saved_view_y -= mainWindow->viewport->view_height >> 1; - window_invalidate(mainWindow); + uint8 zoomDifference = gSavedViewZoom - mainWindow->viewport->zoom; + mainWindow->viewport->zoom = gSavedViewZoom; + gCurrentRotation = gSavedViewRotation; + if (zoomDifference != 0) { + if (zoomDifference < 0) { + zoomDifference = -zoomDifference; + mainWindow->viewport->view_width >>= zoomDifference; + mainWindow->viewport->view_height >>= zoomDifference; + } else { + mainWindow->viewport->view_width <<= zoomDifference; + mainWindow->viewport->view_height <<= zoomDifference; + } + } + mainWindow->saved_view_x -= mainWindow->viewport->view_width >> 1; + mainWindow->saved_view_y -= mainWindow->viewport->view_height >> 1; + window_invalidate(mainWindow); - reset_all_sprite_quadrant_placements(); - window_new_ride_init_vars(); + reset_all_sprite_quadrant_placements(); + window_new_ride_init_vars(); - // Set the scenario pseudo-random seeds - gScenarioSrand0 ^= platform_get_ticks(); - gScenarioSrand1 ^= platform_get_ticks(); + // Set the scenario pseudo-random seeds + gScenarioSrand0 ^= platform_get_ticks(); + gScenarioSrand1 ^= platform_get_ticks(); - gWindowUpdateTicks = 0; - gParkFlags &= ~PARK_FLAGS_NO_MONEY; - if (gParkFlags & PARK_FLAGS_NO_MONEY_SCENARIO) - gParkFlags |= PARK_FLAGS_NO_MONEY; - research_reset_current_item(); - scenery_set_default_placement_configuration(); - news_item_init_queue(); - if (gScenarioObjectiveType != OBJECTIVE_NONE) - window_park_objective_open(); + gWindowUpdateTicks = 0; + gParkFlags &= ~PARK_FLAGS_NO_MONEY; + if (gParkFlags & PARK_FLAGS_NO_MONEY_SCENARIO) + gParkFlags |= PARK_FLAGS_NO_MONEY; + research_reset_current_item(); + scenery_set_default_placement_configuration(); + news_item_init_queue(); + if (gScenarioObjectiveType != OBJECTIVE_NONE) + window_park_objective_open(); - gParkRating = calculate_park_rating(); - gParkValue = calculate_park_value(); - gCompanyValue = calculate_company_value(); - gHistoricalProfit = gInitialCash - gBankLoan; - gCashEncrypted = ENCRYPT_MONEY(gInitialCash); + gParkRating = calculate_park_rating(); + gParkValue = calculate_park_value(); + gCompanyValue = calculate_company_value(); + gHistoricalProfit = gInitialCash - gBankLoan; + gCashEncrypted = ENCRYPT_MONEY(gInitialCash); - safe_strcpy(gScenarioDetails, gS6Info.details, 256); - safe_strcpy(gScenarioName, gS6Info.name, 64); + safe_strcpy(gScenarioDetails, gS6Info.details, 256); + safe_strcpy(gScenarioName, gS6Info.name, 64); - { - utf8 normalisedName[64]; - scenario_normalise_name(normalisedName, sizeof(normalisedName), gS6Info.name); + { + utf8 normalisedName[64]; + scenario_normalise_name(normalisedName, sizeof(normalisedName), gS6Info.name); - rct_string_id localisedStringIds[3]; - if (language_get_localised_scenario_strings(normalisedName, localisedStringIds)) { - if (localisedStringIds[0] != STR_NONE) { - safe_strcpy(gScenarioName, language_get_string(localisedStringIds[0]), 32); - } - if (localisedStringIds[1] != STR_NONE) { - park_set_name(language_get_string(localisedStringIds[1])); - } - if (localisedStringIds[2] != STR_NONE) { - safe_strcpy(gScenarioDetails, language_get_string(localisedStringIds[2]), 256); - } - } else { - rct_stex_entry* stex = g_stexEntries[0]; - if ((intptr_t)stex != -1) { - char *buffer = gCommonStringFormatBuffer; + rct_string_id localisedStringIds[3]; + if (language_get_localised_scenario_strings(normalisedName, localisedStringIds)) { + if (localisedStringIds[0] != STR_NONE) { + safe_strcpy(gScenarioName, language_get_string(localisedStringIds[0]), 32); + } + if (localisedStringIds[1] != STR_NONE) { + park_set_name(language_get_string(localisedStringIds[1])); + } + if (localisedStringIds[2] != STR_NONE) { + safe_strcpy(gScenarioDetails, language_get_string(localisedStringIds[2]), 256); + } + } else { + rct_stex_entry* stex = g_stexEntries[0]; + if ((intptr_t)stex != -1) { + char *buffer = gCommonStringFormatBuffer; - // Set localised park name - format_string(buffer, 256, stex->park_name, 0); - park_set_name(buffer); + // Set localised park name + format_string(buffer, 256, stex->park_name, 0); + park_set_name(buffer); - // Set localised scenario name - format_string(buffer, 256, stex->scenario_name, 0); - safe_strcpy(gScenarioName, buffer, 64); + // Set localised scenario name + format_string(buffer, 256, stex->scenario_name, 0); + safe_strcpy(gScenarioName, buffer, 64); - // Set localised scenario details - format_string(buffer, 256, stex->details, 0); - safe_strcpy(gScenarioDetails, buffer, 256); - } - } - } + // Set localised scenario details + format_string(buffer, 256, stex->details, 0); + safe_strcpy(gScenarioDetails, buffer, 256); + } + } + } - // Set the last saved game path - char parkName[128]; - format_string(parkName, 128, gParkName, &gParkNameArgs); + // Set the last saved game path + char parkName[128]; + format_string(parkName, 128, gParkName, &gParkNameArgs); - platform_get_user_directory(gScenarioSavePath, "save", sizeof(gScenarioSavePath)); - safe_strcat_path(gScenarioSavePath, parkName, sizeof(gScenarioSavePath)); - path_append_extension(gScenarioSavePath, ".sv6", sizeof(gScenarioSavePath)); + platform_get_user_directory(gScenarioSavePath, "save", sizeof(gScenarioSavePath)); + safe_strcat_path(gScenarioSavePath, parkName, sizeof(gScenarioSavePath)); + path_append_extension(gScenarioSavePath, ".sv6", sizeof(gScenarioSavePath)); - safe_strcpy(gRCT2AddressSavedGamesPath2, gRCT2AddressSavedGamesPath, MAX_PATH); - safe_strcat_path(gRCT2AddressSavedGamesPath2, gScenarioSavePath, MAX_PATH); - path_append_extension(gRCT2AddressSavedGamesPath2, ".SV6", MAX_PATH); + safe_strcpy(gRCT2AddressSavedGamesPath2, gRCT2AddressSavedGamesPath, MAX_PATH); + safe_strcat_path(gRCT2AddressSavedGamesPath2, gScenarioSavePath, MAX_PATH); + path_append_extension(gRCT2AddressSavedGamesPath2, ".SV6", MAX_PATH); - gCurrentExpenditure = 0; - gCurrentProfit = 0; - gWeeklyProfitAverageDividend = 0; - gWeeklyProfitAverageDivisor = 0; - gScenarioCompletedCompanyValue = MONEY32_UNDEFINED; - gTotalAdmissions = 0; - gTotalIncomeFromAdmissions = 0; - safe_strcpy(gScenarioCompletedBy, "?", sizeof(gScenarioCompletedBy)); - park_reset_history(); - finance_reset_history(); - award_reset(); - reset_all_ride_build_dates(); - date_reset(); - duck_remove_all(); - park_calculate_size(); - map_count_remaining_land_rights(); - staff_reset_stats(); - gLastEntranceStyle = RIDE_ENTRANCE_STYLE_PLAIN; - memset(gMarketingCampaignDaysLeft, 0, 20); - gParkRatingCasualtyPenalty = 0; + gCurrentExpenditure = 0; + gCurrentProfit = 0; + gWeeklyProfitAverageDividend = 0; + gWeeklyProfitAverageDivisor = 0; + gScenarioCompletedCompanyValue = MONEY32_UNDEFINED; + gTotalAdmissions = 0; + gTotalIncomeFromAdmissions = 0; + safe_strcpy(gScenarioCompletedBy, "?", sizeof(gScenarioCompletedBy)); + park_reset_history(); + finance_reset_history(); + award_reset(); + reset_all_ride_build_dates(); + date_reset(); + duck_remove_all(); + park_calculate_size(); + map_count_remaining_land_rights(); + staff_reset_stats(); + gLastEntranceStyle = RIDE_ENTRANCE_STYLE_PLAIN; + memset(gMarketingCampaignDaysLeft, 0, 20); + gParkRatingCasualtyPenalty = 0; - // Open park with free entry when there is no money - if (gParkFlags & PARK_FLAGS_NO_MONEY) { - gParkFlags |= PARK_FLAGS_PARK_OPEN; - gParkEntranceFee = 0; - } + // Open park with free entry when there is no money + if (gParkFlags & PARK_FLAGS_NO_MONEY) { + gParkFlags |= PARK_FLAGS_PARK_OPEN; + gParkEntranceFee = 0; + } - gParkFlags |= PARK_FLAGS_SPRITES_INITIALISED; + gParkFlags |= PARK_FLAGS_SPRITES_INITIALISED; - load_palette(); - gfx_invalidate_screen(); - window_tile_inspector_clear_clipboard(); - gScreenAge = 0; - gGameSpeed = 1; + load_palette(); + gfx_invalidate_screen(); + window_tile_inspector_clear_clipboard(); + gScreenAge = 0; + gGameSpeed = 1; } static void scenario_end() { - rct_window* w; - window_close_by_class(WC_DROPDOWN); + rct_window* w; + window_close_by_class(WC_DROPDOWN); - for (w = g_window_list; w < gWindowNextSlot; w++){ - if (!(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT))) - window_close(w); - } - window_park_objective_open(); + for (w = g_window_list; w < gWindowNextSlot; w++){ + if (!(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT))) + window_close(w); + } + window_park_objective_open(); } void scenario_set_filename(const char *value) { - substitute_path(_scenarioPath, sizeof(_scenarioPath), gRCT2AddressScenariosPath, value); - _scenarioFileName = path_get_filename(_scenarioPath); + substitute_path(_scenarioPath, sizeof(_scenarioPath), gRCT2AddressScenariosPath, value); + _scenarioFileName = path_get_filename(_scenarioPath); } /** @@ -297,8 +297,8 @@ void scenario_set_filename(const char *value) */ void scenario_failure() { - gScenarioCompletedCompanyValue = 0x80000001; - scenario_end(); + gScenarioCompletedCompanyValue = 0x80000001; + scenario_end(); } /** @@ -307,18 +307,18 @@ void scenario_failure() */ void scenario_success() { - const money32 companyValue = gCompanyValue; + const money32 companyValue = gCompanyValue; - gScenarioCompletedCompanyValue = companyValue; - peep_applause(); + gScenarioCompletedCompanyValue = companyValue; + peep_applause(); - if (scenario_repository_try_record_highscore(_scenarioFileName, companyValue, NULL)) - { - // Allow name entry - gParkFlags |= PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT; - gScenarioCompanyValueRecord = companyValue; - } - scenario_end(); + if (scenario_repository_try_record_highscore(_scenarioFileName, companyValue, NULL)) + { + // Allow name entry + gParkFlags |= PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT; + gScenarioCompanyValueRecord = companyValue; + } + scenario_end(); } /** @@ -327,11 +327,11 @@ void scenario_success() */ void scenario_success_submit_name(const char *name) { - if (scenario_repository_try_record_highscore(_scenarioFileName, gScenarioCompanyValueRecord, name)) - { - safe_strcpy(gScenarioCompletedBy, name, 32); - } - gParkFlags &= ~PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT; + if (scenario_repository_try_record_highscore(_scenarioFileName, gScenarioCompanyValueRecord, name)) + { + safe_strcpy(gScenarioCompletedBy, name, 32); + } + gParkFlags &= ~PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT; } /** @@ -340,138 +340,138 @@ void scenario_success_submit_name(const char *name) */ static void scenario_entrance_fee_too_high_check() { - uint16 x = 0, y = 0; - money16 totalRideValue = gTotalRideValue; - money16 max_fee = totalRideValue + (totalRideValue / 2); + uint16 x = 0, y = 0; + money16 totalRideValue = gTotalRideValue; + money16 max_fee = totalRideValue + (totalRideValue / 2); - if ((gParkFlags & PARK_FLAGS_PARK_OPEN) && park_get_entrance_fee() > max_fee) { - for (sint32 i = 0; i < MAX_PARK_ENTRANCES && gParkEntrances[i].x != SPRITE_LOCATION_NULL; i++) { - x = gParkEntrances[i].x + 16; - y = gParkEntrances[i].y + 16; - } + if ((gParkFlags & PARK_FLAGS_PARK_OPEN) && park_get_entrance_fee() > max_fee) { + for (sint32 i = 0; i < MAX_PARK_ENTRANCES && gParkEntrances[i].x != SPRITE_LOCATION_NULL; i++) { + x = gParkEntrances[i].x + 16; + y = gParkEntrances[i].y + 16; + } - uint32 packed_xy = (y << 16) | x; - if (gConfigNotifications.park_warnings) { - news_item_add_to_queue(NEWS_ITEM_BLANK, STR_ENTRANCE_FEE_TOO_HI, packed_xy); - } - } + uint32 packed_xy = (y << 16) | x; + if (gConfigNotifications.park_warnings) { + news_item_add_to_queue(NEWS_ITEM_BLANK, STR_ENTRANCE_FEE_TOO_HI, packed_xy); + } + } } void scenario_autosave_check() { - if (gLastAutoSaveUpdate == AUTOSAVE_PAUSE) return; + if (gLastAutoSaveUpdate == AUTOSAVE_PAUSE) return; - // Milliseconds since last save - uint32 timeSinceSave = platform_get_ticks() - gLastAutoSaveUpdate; + // Milliseconds since last save + uint32 timeSinceSave = platform_get_ticks() - gLastAutoSaveUpdate; - bool shouldSave = false; - switch (gConfigGeneral.autosave_frequency) { - case AUTOSAVE_EVERY_MINUTE: - shouldSave = timeSinceSave >= 1 * 60 * 1000; - break; - case AUTOSAVE_EVERY_5MINUTES: - shouldSave = timeSinceSave >= 5 * 60 * 1000; - break; - case AUTOSAVE_EVERY_15MINUTES: - shouldSave = timeSinceSave >= 15 * 60 * 1000; - break; - case AUTOSAVE_EVERY_30MINUTES: - shouldSave = timeSinceSave >= 30 * 60 * 1000; - break; - case AUTOSAVE_EVERY_HOUR: - shouldSave = timeSinceSave >= 60 * 60 * 1000; - break; - } + bool shouldSave = false; + switch (gConfigGeneral.autosave_frequency) { + case AUTOSAVE_EVERY_MINUTE: + shouldSave = timeSinceSave >= 1 * 60 * 1000; + break; + case AUTOSAVE_EVERY_5MINUTES: + shouldSave = timeSinceSave >= 5 * 60 * 1000; + break; + case AUTOSAVE_EVERY_15MINUTES: + shouldSave = timeSinceSave >= 15 * 60 * 1000; + break; + case AUTOSAVE_EVERY_30MINUTES: + shouldSave = timeSinceSave >= 30 * 60 * 1000; + break; + case AUTOSAVE_EVERY_HOUR: + shouldSave = timeSinceSave >= 60 * 60 * 1000; + break; + } - if (shouldSave) { - gLastAutoSaveUpdate = AUTOSAVE_PAUSE; - game_autosave(); - } + if (shouldSave) { + gLastAutoSaveUpdate = AUTOSAVE_PAUSE; + game_autosave(); + } } static void scenario_day_update() { - finance_update_daily_profit(); - peep_update_days_in_queue(); - switch (gScenarioObjectiveType) { - case OBJECTIVE_10_ROLLERCOASTERS: - case OBJECTIVE_GUESTS_AND_RATING: - case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: - case OBJECTIVE_FINISH_5_ROLLERCOASTERS: - case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: - scenario_objective_check(); - break; - } + finance_update_daily_profit(); + peep_update_days_in_queue(); + switch (gScenarioObjectiveType) { + case OBJECTIVE_10_ROLLERCOASTERS: + case OBJECTIVE_GUESTS_AND_RATING: + case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: + case OBJECTIVE_FINISH_5_ROLLERCOASTERS: + case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: + scenario_objective_check(); + break; + } - // Lower the casualty penalty - uint16 casualtyPenaltyModifier = (gParkFlags & PARK_FLAGS_NO_MONEY) ? 40 : 7; - gParkRatingCasualtyPenalty = max(0, gParkRatingCasualtyPenalty - casualtyPenaltyModifier); + // Lower the casualty penalty + uint16 casualtyPenaltyModifier = (gParkFlags & PARK_FLAGS_NO_MONEY) ? 40 : 7; + gParkRatingCasualtyPenalty = max(0, gParkRatingCasualtyPenalty - casualtyPenaltyModifier); - gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_DATE; + gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_DATE; } static void scenario_week_update() { - sint32 month = gDateMonthsElapsed & 7; + sint32 month = gDateMonthsElapsed & 7; - finance_pay_wages(); - finance_pay_research(); - finance_pay_interest(); - marketing_update(); - peep_problem_warnings_update(); - ride_check_all_reachable(); - ride_update_favourited_stat(); + finance_pay_wages(); + finance_pay_research(); + finance_pay_interest(); + marketing_update(); + peep_problem_warnings_update(); + ride_check_all_reachable(); + ride_update_favourited_stat(); - rct_water_type* water_type = (rct_water_type*)object_entry_groups[OBJECT_TYPE_WATER].chunks[0]; + rct_water_type* water_type = (rct_water_type*)object_entry_groups[OBJECT_TYPE_WATER].chunks[0]; - if (month <= MONTH_APRIL && (intptr_t)water_type != -1 && water_type->flags & WATER_FLAGS_ALLOW_DUCKS) { - // 100 attempts at finding some water to create a few ducks at - for (sint32 i = 0; i < 100; i++) { - if (scenario_create_ducks()) - break; - } - } - park_update_histories(); - park_calculate_size(); + if (month <= MONTH_APRIL && (intptr_t)water_type != -1 && water_type->flags & WATER_FLAGS_ALLOW_DUCKS) { + // 100 attempts at finding some water to create a few ducks at + for (sint32 i = 0; i < 100; i++) { + if (scenario_create_ducks()) + break; + } + } + park_update_histories(); + park_calculate_size(); } static void scenario_fortnight_update() { - finance_pay_ride_upkeep(); + finance_pay_ride_upkeep(); } static void scenario_month_update() { - finance_shift_expenditure_table(); - scenario_objective_check(); - scenario_entrance_fee_too_high_check(); - award_update_all(); + finance_shift_expenditure_table(); + scenario_objective_check(); + scenario_entrance_fee_too_high_check(); + award_update_all(); } static void scenario_update_daynight_cycle() { - float currentDayNightCycle = gDayNightCycle; - gDayNightCycle = 0; + float currentDayNightCycle = gDayNightCycle; + gDayNightCycle = 0; - if (gScreenFlags == SCREEN_FLAGS_PLAYING && gConfigGeneral.day_night_cycle) { - float monthFraction = gDateMonthTicks / (float)0x10000; - if (monthFraction < (1 / 8.0f)) { - gDayNightCycle = 0.0f; - } else if (monthFraction < (3 / 8.0f)) { - gDayNightCycle = (monthFraction - (1 / 8.0f)) / (2 / 8.0f); - } else if (monthFraction < (5 / 8.0f)) { - gDayNightCycle = 1.0f; - } else if (monthFraction < (7 / 8.0f)) { - gDayNightCycle = 1.0f - ((monthFraction - (5 / 8.0f)) / (2 / 8.0f)); - } else { - gDayNightCycle = 0.0f; - } - } + if (gScreenFlags == SCREEN_FLAGS_PLAYING && gConfigGeneral.day_night_cycle) { + float monthFraction = gDateMonthTicks / (float)0x10000; + if (monthFraction < (1 / 8.0f)) { + gDayNightCycle = 0.0f; + } else if (monthFraction < (3 / 8.0f)) { + gDayNightCycle = (monthFraction - (1 / 8.0f)) / (2 / 8.0f); + } else if (monthFraction < (5 / 8.0f)) { + gDayNightCycle = 1.0f; + } else if (monthFraction < (7 / 8.0f)) { + gDayNightCycle = 1.0f - ((monthFraction - (5 / 8.0f)) / (2 / 8.0f)); + } else { + gDayNightCycle = 0.0f; + } + } - // Only update palette if day / night cycle has changed - if (gDayNightCycle != currentDayNightCycle) { - platform_update_palette(gGamePalette, 10, 236); - } + // Only update palette if day / night cycle has changed + if (gDayNightCycle != currentDayNightCycle) { + platform_update_palette(gGamePalette, 10, 236); + } } /** @@ -480,30 +480,30 @@ static void scenario_update_daynight_cycle() */ void scenario_update() { - if (!(gScreenFlags & ~SCREEN_FLAGS_PLAYING)) { - uint32 currentMonthTick = gDateMonthTicks; - uint32 nextMonthTick = currentMonthTick + 4; - uint8 currentMonth = gDateMonthsElapsed & 7; - uint8 currentDaysInMonth = (uint8)days_in_month[currentMonth]; + if (!(gScreenFlags & ~SCREEN_FLAGS_PLAYING)) { + uint32 currentMonthTick = gDateMonthTicks; + uint32 nextMonthTick = currentMonthTick + 4; + uint8 currentMonth = gDateMonthsElapsed & 7; + uint8 currentDaysInMonth = (uint8)days_in_month[currentMonth]; - if ((currentDaysInMonth * nextMonthTick) >> 16 != (currentDaysInMonth * currentMonthTick) >> 16) { - scenario_day_update(); - } - if (nextMonthTick % 0x4000 == 0) { - scenario_week_update(); - } - if (nextMonthTick % 0x8000 == 0) { - scenario_fortnight_update(); - } + if ((currentDaysInMonth * nextMonthTick) >> 16 != (currentDaysInMonth * currentMonthTick) >> 16) { + scenario_day_update(); + } + if (nextMonthTick % 0x4000 == 0) { + scenario_week_update(); + } + if (nextMonthTick % 0x8000 == 0) { + scenario_fortnight_update(); + } - gDateMonthTicks = (uint16)nextMonthTick; - if (nextMonthTick >= 0x10000) { - gDateMonthsElapsed++; - scenario_month_update(); - } - } + gDateMonthTicks = (uint16)nextMonthTick; + if (nextMonthTick >= 0x10000) { + gDateMonthsElapsed++; + scenario_month_update(); + } + } - scenario_update_daynight_cycle(); + scenario_update_daynight_cycle(); } /** @@ -512,53 +512,53 @@ void scenario_update() */ static sint32 scenario_create_ducks() { - sint32 i, j, r, c, x, y, waterZ, centreWaterZ, x2, y2; + sint32 i, j, r, c, x, y, waterZ, centreWaterZ, x2, y2; - r = scenario_rand(); - x = ((r >> 16) & 0xFFFF) & 0x7F; - y = (r & 0xFFFF) & 0x7F; - x = (x + 64) * 32; - y = (y + 64) * 32; + r = scenario_rand(); + x = ((r >> 16) & 0xFFFF) & 0x7F; + y = (r & 0xFFFF) & 0x7F; + x = (x + 64) * 32; + y = (y + 64) * 32; - if (!map_is_location_in_park(x, y)) - return 0; + if (!map_is_location_in_park(x, y)) + return 0; - centreWaterZ = (map_element_height(x, y) >> 16) & 0xFFFF; - if (centreWaterZ == 0) - return 0; + centreWaterZ = (map_element_height(x, y) >> 16) & 0xFFFF; + if (centreWaterZ == 0) + return 0; - // Check 7x7 area around centre tile - x2 = x - (32 * 3); - y2 = y - (32 * 3); - c = 0; - for (i = 0; i < 7; i++) { - for (j = 0; j < 7; j++) { - waterZ = (map_element_height(x2, y2) >> 16) & 0xFFFF; - if (waterZ == centreWaterZ) - c++; + // Check 7x7 area around centre tile + x2 = x - (32 * 3); + y2 = y - (32 * 3); + c = 0; + for (i = 0; i < 7; i++) { + for (j = 0; j < 7; j++) { + waterZ = (map_element_height(x2, y2) >> 16) & 0xFFFF; + if (waterZ == centreWaterZ) + c++; - x2 += 32; - } - x2 -= 224; - y2 += 32; - } + x2 += 32; + } + x2 -= 224; + y2 += 32; + } - // Must be at least 25 water tiles of the same height in 7x7 area - if (c < 25) - return 0; + // Must be at least 25 water tiles of the same height in 7x7 area + if (c < 25) + return 0; - // Set x, y to the centre of the tile - x += 16; - y += 16; - c = (scenario_rand() & 3) + 2; - for (i = 0; i < c; i++) { - r = scenario_rand(); - x2 = (r >> 16) & 0x7F; - y2 = (r & 0xFFFF) & 0x7F; - create_duck(x + x2 - 64, y + y2 - 64); - } + // Set x, y to the centre of the tile + x += 16; + y += 16; + c = (scenario_rand() & 3) + 2; + for (i = 0; i < c; i++) { + r = scenario_rand(); + x2 = (r >> 16) & 0x7F; + y2 = (r & 0xFFFF) & 0x7F; + create_duck(x + x2 - 64, y + y2 - 64); + } - return 1; + return 1; } /** @@ -570,27 +570,27 @@ static sint32 scenario_create_ducks() uint32 scenario_rand() { #ifdef DEBUG_DESYNC - if (!gInUpdateCode) { - log_warning("scenario_rand called from outside game update"); - assert(false); - } + if (!gInUpdateCode) { + log_warning("scenario_rand called from outside game update"); + assert(false); + } #endif - uint32 originalSrand0 = gScenarioSrand0; - gScenarioSrand0 += ror32(gScenarioSrand1 ^ 0x1234567F, 7); - return gScenarioSrand1 = ror32(originalSrand0, 3); + uint32 originalSrand0 = gScenarioSrand0; + gScenarioSrand0 += ror32(gScenarioSrand1 ^ 0x1234567F, 7); + return gScenarioSrand1 = ror32(originalSrand0, 3); } uint32 scenario_rand_max(uint32 max) { - if (max < 2) return 0; - if ((max & (max - 1)) == 0) - return scenario_rand() & (max - 1); - uint32 rand, cap = ~((uint32)0) - (~((uint32)0) % max) - 1; - do { - rand = scenario_rand(); - } while (rand > cap); - return rand % max; + if (max < 2) return 0; + if ((max & (max - 1)) == 0) + return scenario_rand() & (max - 1); + uint32 rand, cap = ~((uint32)0) - (~((uint32)0) % max) - 1; + do { + rand = scenario_rand(); + } while (rand > cap); + return rand % max; } /** @@ -599,29 +599,29 @@ uint32 scenario_rand_max(uint32 max) */ static void scenario_prepare_rides_for_save() { - sint32 isFiveCoasterObjective = gScenarioObjectiveType == OBJECTIVE_FINISH_5_ROLLERCOASTERS; + sint32 isFiveCoasterObjective = gScenarioObjectiveType == OBJECTIVE_FINISH_5_ROLLERCOASTERS; - // Set all existing track to be indestructible - map_element_iterator it; - map_element_iterator_begin(&it); - do { - if (map_element_get_type(it.element) == MAP_ELEMENT_TYPE_TRACK) { - if (isFiveCoasterObjective) - it.element->flags |= 0x40; - else - it.element->flags &= ~0x40; - } - } while (map_element_iterator_next(&it)); + // Set all existing track to be indestructible + map_element_iterator it; + map_element_iterator_begin(&it); + do { + if (map_element_get_type(it.element) == MAP_ELEMENT_TYPE_TRACK) { + if (isFiveCoasterObjective) + it.element->flags |= 0x40; + else + it.element->flags &= ~0x40; + } + } while (map_element_iterator_next(&it)); - // Set all existing rides to have indestructible track - sint32 i; - rct_ride *ride; - FOR_ALL_RIDES(i, ride) { - if (isFiveCoasterObjective) - ride->lifecycle_flags |= RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK; - else - ride->lifecycle_flags &= ~RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK; - } + // Set all existing rides to have indestructible track + sint32 i; + rct_ride *ride; + FOR_ALL_RIDES(i, ride) { + if (isFiveCoasterObjective) + ride->lifecycle_flags |= RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK; + else + ride->lifecycle_flags &= ~RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK; + } } /** @@ -630,34 +630,34 @@ static void scenario_prepare_rides_for_save() */ sint32 scenario_prepare_for_save() { - gS6Info.entry.flags = 255; + gS6Info.entry.flags = 255; - rct_stex_entry* stex = g_stexEntries[0]; - if ((intptr_t)stex != -1) { - char buffer[256]; - format_string(buffer, 256, stex->scenario_name, NULL); - safe_strcpy(gS6Info.name, buffer, sizeof(gS6Info.name)); + rct_stex_entry* stex = g_stexEntries[0]; + if ((intptr_t)stex != -1) { + char buffer[256]; + format_string(buffer, 256, stex->scenario_name, NULL); + safe_strcpy(gS6Info.name, buffer, sizeof(gS6Info.name)); - memcpy(&gS6Info.entry, &object_entry_groups[OBJECT_TYPE_SCENARIO_TEXT].entries[0], sizeof(rct_object_entry)); - } + memcpy(&gS6Info.entry, &object_entry_groups[OBJECT_TYPE_SCENARIO_TEXT].entries[0], sizeof(rct_object_entry)); + } - if (gS6Info.name[0] == 0) - format_string(gS6Info.name, 64, gParkName, &gParkNameArgs); + if (gS6Info.name[0] == 0) + format_string(gS6Info.name, 64, gParkName, &gParkNameArgs); - gS6Info.objective_type = gScenarioObjectiveType; - gS6Info.objective_arg_1 = gScenarioObjectiveYear; - gS6Info.objective_arg_2 = gScenarioObjectiveCurrency; - gS6Info.objective_arg_3 = gScenarioObjectiveNumGuests; + gS6Info.objective_type = gScenarioObjectiveType; + gS6Info.objective_arg_1 = gScenarioObjectiveYear; + gS6Info.objective_arg_2 = gScenarioObjectiveCurrency; + gS6Info.objective_arg_3 = gScenarioObjectiveNumGuests; - scenario_prepare_rides_for_save(); + scenario_prepare_rides_for_save(); - if (gScenarioObjectiveType == OBJECTIVE_GUESTS_AND_RATING) - gParkFlags |= PARK_FLAGS_PARK_OPEN; + if (gScenarioObjectiveType == OBJECTIVE_GUESTS_AND_RATING) + gParkFlags |= PARK_FLAGS_PARK_OPEN; - // Fix #2385: saved scenarios did not initialise temperatures to selected climate - climate_reset(gClimate); + // Fix #2385: saved scenarios did not initialise temperatures to selected climate + climate_reset(gClimate); - return 1; + return 1; } /** @@ -666,45 +666,45 @@ sint32 scenario_prepare_for_save() */ static sint32 scenario_write_available_objects(FILE *file) { - const sint32 totalEntries = OBJECT_ENTRY_COUNT; - const sint32 bufferLength = totalEntries * sizeof(rct_object_entry); + const sint32 totalEntries = OBJECT_ENTRY_COUNT; + const sint32 bufferLength = totalEntries * sizeof(rct_object_entry); - // Initialise buffers - uint8 *buffer = malloc(bufferLength); - if (buffer == NULL) { - log_error("out of memory"); - return 0; - } - uint8 *dstBuffer = malloc(bufferLength + sizeof(sawyercoding_chunk_header)); - if (dstBuffer == NULL) { - free(buffer); - log_error("out of memory"); - return 0; - } + // Initialise buffers + uint8 *buffer = malloc(bufferLength); + if (buffer == NULL) { + log_error("out of memory"); + return 0; + } + uint8 *dstBuffer = malloc(bufferLength + sizeof(sawyercoding_chunk_header)); + if (dstBuffer == NULL) { + free(buffer); + log_error("out of memory"); + return 0; + } - // Write entries - rct_object_entry *dstEntry = (rct_object_entry*)buffer; - for (sint32 i = 0; i < OBJECT_ENTRY_COUNT; i++) { - void *entryData = get_loaded_object_chunk(i); - if (entryData == (void*)-1) { - memset(dstEntry, 0xFF, sizeof(rct_object_entry)); - } else { - *dstEntry = *get_loaded_object_entry(i); - } - dstEntry++; - } + // Write entries + rct_object_entry *dstEntry = (rct_object_entry*)buffer; + for (sint32 i = 0; i < OBJECT_ENTRY_COUNT; i++) { + void *entryData = get_loaded_object_chunk(i); + if (entryData == (void*)-1) { + memset(dstEntry, 0xFF, sizeof(rct_object_entry)); + } else { + *dstEntry = *get_loaded_object_entry(i); + } + dstEntry++; + } - // Write chunk - sawyercoding_chunk_header chunkHeader; - chunkHeader.encoding = CHUNK_ENCODING_ROTATE; - chunkHeader.length = bufferLength; - size_t encodedLength = sawyercoding_write_chunk_buffer(dstBuffer, buffer, chunkHeader); - fwrite(dstBuffer, encodedLength, 1, file); + // Write chunk + sawyercoding_chunk_header chunkHeader; + chunkHeader.encoding = CHUNK_ENCODING_ROTATE; + chunkHeader.length = bufferLength; + size_t encodedLength = sawyercoding_write_chunk_buffer(dstBuffer, buffer, chunkHeader); + fwrite(dstBuffer, encodedLength, 1, file); - // Free buffers - free(dstBuffer); - free(buffer); - return 1; + // Free buffers + free(dstBuffer); + free(buffer); + return 1; } /** @@ -712,81 +712,81 @@ static sint32 scenario_write_available_objects(FILE *file) */ void scenario_fix_ghosts(rct_s6_data *s6) { - // Remove all ghost elements - rct_map_element *destinationElement = s6->map_elements; + // Remove all ghost elements + rct_map_element *destinationElement = s6->map_elements; - for (sint32 y = 0; y < 256; y++) { - for (sint32 x = 0; x < 256; x++) { - rct_map_element *originalElement = map_get_first_element_at(x, y); - do { - if (originalElement->flags & MAP_ELEMENT_FLAG_GHOST) { - sint32 bannerIndex = map_element_get_banner_index(originalElement); - if (bannerIndex != -1) { - rct_banner *banner = &s6->banners[bannerIndex]; - if (banner->type != BANNER_NULL) { - banner->type = BANNER_NULL; - if (is_user_string_id(banner->string_idx)) - s6->custom_strings[(banner->string_idx % MAX_USER_STRINGS) * USER_STRING_MAX_LENGTH] = 0; - } - } - } else { - *destinationElement++ = *originalElement; - } - } while (!map_element_is_last_for_tile(originalElement++)); + for (sint32 y = 0; y < 256; y++) { + for (sint32 x = 0; x < 256; x++) { + rct_map_element *originalElement = map_get_first_element_at(x, y); + do { + if (originalElement->flags & MAP_ELEMENT_FLAG_GHOST) { + sint32 bannerIndex = map_element_get_banner_index(originalElement); + if (bannerIndex != -1) { + rct_banner *banner = &s6->banners[bannerIndex]; + if (banner->type != BANNER_NULL) { + banner->type = BANNER_NULL; + if (is_user_string_id(banner->string_idx)) + s6->custom_strings[(banner->string_idx % MAX_USER_STRINGS) * USER_STRING_MAX_LENGTH] = 0; + } + } + } else { + *destinationElement++ = *originalElement; + } + } while (!map_element_is_last_for_tile(originalElement++)); - // Set last element flag in case the original last element was never added - (destinationElement - 1)->flags |= MAP_ELEMENT_FLAG_LAST_TILE; - } - } + // Set last element flag in case the original last element was never added + (destinationElement - 1)->flags |= MAP_ELEMENT_FLAG_LAST_TILE; + } + } } void scenario_remove_trackless_rides(rct_s6_data *s6) { - bool rideHasTrack[MAX_RIDES]; - ride_all_has_any_track_elements(rideHasTrack); - for (sint32 i = 0; i < MAX_RIDES; i++) { - rct_ride *ride = &s6->rides[i]; + bool rideHasTrack[MAX_RIDES]; + ride_all_has_any_track_elements(rideHasTrack); + for (sint32 i = 0; i < MAX_RIDES; i++) { + rct_ride *ride = &s6->rides[i]; - if (rideHasTrack[i] || ride->type == RIDE_TYPE_NULL) { - continue; - } + if (rideHasTrack[i] || ride->type == RIDE_TYPE_NULL) { + continue; + } - ride->type = RIDE_TYPE_NULL; - if (is_user_string_id(ride->name)) { - s6->custom_strings[(ride->name % MAX_USER_STRINGS) * USER_STRING_MAX_LENGTH] = 0; - } - } + ride->type = RIDE_TYPE_NULL; + if (is_user_string_id(ride->name)) { + s6->custom_strings[(ride->name % MAX_USER_STRINGS) * USER_STRING_MAX_LENGTH] = 0; + } + } } static void scenario_objective_check_guests_by() { - uint8 objectiveYear = gScenarioObjectiveYear; - sint16 parkRating = gParkRating; - sint16 guestsInPark = gNumGuestsInPark; - sint16 objectiveGuests = gScenarioObjectiveNumGuests; - sint16 currentMonthYear = gDateMonthsElapsed; + uint8 objectiveYear = gScenarioObjectiveYear; + sint16 parkRating = gParkRating; + sint16 guestsInPark = gNumGuestsInPark; + sint16 objectiveGuests = gScenarioObjectiveNumGuests; + sint16 currentMonthYear = gDateMonthsElapsed; - if (currentMonthYear == 8 * objectiveYear){ - if (parkRating >= 600 && guestsInPark >= objectiveGuests) - scenario_success(); - else - scenario_failure(); - } + if (currentMonthYear == 8 * objectiveYear){ + if (parkRating >= 600 && guestsInPark >= objectiveGuests) + scenario_success(); + else + scenario_failure(); + } } static void scenario_objective_check_park_value_by() { - uint8 objectiveYear = gScenarioObjectiveYear; - sint16 currentMonthYear = gDateMonthsElapsed; - money32 objectiveParkValue = gScenarioObjectiveCurrency; - money32 parkValue = gParkValue; + uint8 objectiveYear = gScenarioObjectiveYear; + sint16 currentMonthYear = gDateMonthsElapsed; + money32 objectiveParkValue = gScenarioObjectiveCurrency; + money32 parkValue = gParkValue; - if (currentMonthYear == 8 * objectiveYear) { - if (parkValue >= objectiveParkValue) - scenario_success(); - else - scenario_failure(); - } + if (currentMonthYear == 8 * objectiveYear) { + if (parkValue >= objectiveParkValue) + scenario_success(); + else + scenario_failure(); + } } /** @@ -796,30 +796,30 @@ static void scenario_objective_check_park_value_by() **/ static void scenario_objective_check_10_rollercoasters() { - sint32 i, rcs = 0; - uint8 type_already_counted[256]; - rct_ride* ride; + sint32 i, rcs = 0; + uint8 type_already_counted[256]; + rct_ride* ride; - memset(type_already_counted, 0, 256); + memset(type_already_counted, 0, 256); - FOR_ALL_RIDES(i, ride) { - uint8 subtype_id = ride->subtype; - rct_ride_entry *rideType = get_ride_entry(subtype_id); - if (rideType == NULL) { - continue; - } + FOR_ALL_RIDES(i, ride) { + uint8 subtype_id = ride->subtype; + rct_ride_entry *rideType = get_ride_entry(subtype_id); + if (rideType == NULL) { + continue; + } - if (rideType != NULL && - (rideType->category[0] == RIDE_GROUP_ROLLERCOASTER || rideType->category[1] == RIDE_GROUP_ROLLERCOASTER) && - ride->status == RIDE_STATUS_OPEN && - ride->excitement >= RIDE_RATING(6,00) && type_already_counted[subtype_id] == 0){ - type_already_counted[subtype_id]++; - rcs++; - } - } + if (rideType != NULL && + (rideType->category[0] == RIDE_GROUP_ROLLERCOASTER || rideType->category[1] == RIDE_GROUP_ROLLERCOASTER) && + ride->status == RIDE_STATUS_OPEN && + ride->excitement >= RIDE_RATING(6,00) && type_already_counted[subtype_id] == 0){ + type_already_counted[subtype_id]++; + rcs++; + } + } - if (rcs >= 10) - scenario_success(); + if (rcs >= 10) + scenario_success(); } /** @@ -828,46 +828,46 @@ static void scenario_objective_check_10_rollercoasters() */ static void scenario_objective_check_guests_and_rating() { - if (gParkRating < 700 && gDateMonthsElapsed >= 1) { - gScenarioParkRatingWarningDays++; - if (gScenarioParkRatingWarningDays == 1) { - if (gConfigNotifications.park_rating_warnings) { - news_item_add_to_queue(NEWS_ITEM_GRAPH, STR_PARK_RATING_WARNING_4_WEEKS_REMAINING, 0); - } - } else if (gScenarioParkRatingWarningDays == 8) { - if (gConfigNotifications.park_rating_warnings) { - news_item_add_to_queue(NEWS_ITEM_GRAPH, STR_PARK_RATING_WARNING_3_WEEKS_REMAINING, 0); - } - } else if (gScenarioParkRatingWarningDays == 15) { - if (gConfigNotifications.park_rating_warnings) { - news_item_add_to_queue(NEWS_ITEM_GRAPH, STR_PARK_RATING_WARNING_2_WEEKS_REMAINING, 0); - } - } else if (gScenarioParkRatingWarningDays == 22) { - if (gConfigNotifications.park_rating_warnings) { - news_item_add_to_queue(NEWS_ITEM_GRAPH, STR_PARK_RATING_WARNING_1_WEEK_REMAINING, 0); - } - } else if (gScenarioParkRatingWarningDays == 29) { - news_item_add_to_queue(NEWS_ITEM_GRAPH, STR_PARK_HAS_BEEN_CLOSED_DOWN, 0); - gParkFlags &= ~PARK_FLAGS_PARK_OPEN; - scenario_failure(); - gGuestInitialHappiness = 50; - } - } else if (gScenarioCompletedCompanyValue != 0x80000001) { - gScenarioParkRatingWarningDays = 0; - } + if (gParkRating < 700 && gDateMonthsElapsed >= 1) { + gScenarioParkRatingWarningDays++; + if (gScenarioParkRatingWarningDays == 1) { + if (gConfigNotifications.park_rating_warnings) { + news_item_add_to_queue(NEWS_ITEM_GRAPH, STR_PARK_RATING_WARNING_4_WEEKS_REMAINING, 0); + } + } else if (gScenarioParkRatingWarningDays == 8) { + if (gConfigNotifications.park_rating_warnings) { + news_item_add_to_queue(NEWS_ITEM_GRAPH, STR_PARK_RATING_WARNING_3_WEEKS_REMAINING, 0); + } + } else if (gScenarioParkRatingWarningDays == 15) { + if (gConfigNotifications.park_rating_warnings) { + news_item_add_to_queue(NEWS_ITEM_GRAPH, STR_PARK_RATING_WARNING_2_WEEKS_REMAINING, 0); + } + } else if (gScenarioParkRatingWarningDays == 22) { + if (gConfigNotifications.park_rating_warnings) { + news_item_add_to_queue(NEWS_ITEM_GRAPH, STR_PARK_RATING_WARNING_1_WEEK_REMAINING, 0); + } + } else if (gScenarioParkRatingWarningDays == 29) { + news_item_add_to_queue(NEWS_ITEM_GRAPH, STR_PARK_HAS_BEEN_CLOSED_DOWN, 0); + gParkFlags &= ~PARK_FLAGS_PARK_OPEN; + scenario_failure(); + gGuestInitialHappiness = 50; + } + } else if (gScenarioCompletedCompanyValue != 0x80000001) { + gScenarioParkRatingWarningDays = 0; + } - if (gParkRating >= 700) - if (gNumGuestsInPark >= gScenarioObjectiveNumGuests) - scenario_success(); + if (gParkRating >= 700) + if (gNumGuestsInPark >= gScenarioObjectiveNumGuests) + scenario_success(); } static void scenario_objective_check_monthly_ride_income() { - money32 *expenditureLastMonth = &gExpenditureTable[1 * RCT_EXPENDITURE_TYPE_COUNT]; - money32 lastMonthRideIncome = expenditureLastMonth[RCT_EXPENDITURE_TYPE_PARK_RIDE_TICKETS]; - if (lastMonthRideIncome >= gScenarioObjectiveCurrency) { - scenario_success(); - } + money32 *expenditureLastMonth = &gExpenditureTable[1 * RCT_EXPENDITURE_TYPE_COUNT]; + money32 lastMonthRideIncome = expenditureLastMonth[RCT_EXPENDITURE_TYPE_PARK_RIDE_TICKETS]; + if (lastMonthRideIncome >= gScenarioObjectiveCurrency) { + scenario_success(); + } } /** @@ -877,74 +877,74 @@ static void scenario_objective_check_monthly_ride_income() */ static void scenario_objective_check_10_rollercoasters_length() { - sint32 i, rcs = 0; - uint8 type_already_counted[256]; - sint16 objective_length = gScenarioObjectiveNumGuests; - rct_ride* ride; + sint32 i, rcs = 0; + uint8 type_already_counted[256]; + sint16 objective_length = gScenarioObjectiveNumGuests; + rct_ride* ride; - memset(type_already_counted, 0, 256); + memset(type_already_counted, 0, 256); - FOR_ALL_RIDES(i, ride) { - uint8 subtype_id = ride->subtype; - rct_ride_entry *rideType = get_ride_entry(subtype_id); - if (rideType == NULL) { - continue; - } - if ((rideType->category[0] == RIDE_GROUP_ROLLERCOASTER || rideType->category[1] == RIDE_GROUP_ROLLERCOASTER) && - ride->status == RIDE_STATUS_OPEN && - ride->excitement >= RIDE_RATING(7,00) && type_already_counted[subtype_id] == 0){ + FOR_ALL_RIDES(i, ride) { + uint8 subtype_id = ride->subtype; + rct_ride_entry *rideType = get_ride_entry(subtype_id); + if (rideType == NULL) { + continue; + } + if ((rideType->category[0] == RIDE_GROUP_ROLLERCOASTER || rideType->category[1] == RIDE_GROUP_ROLLERCOASTER) && + ride->status == RIDE_STATUS_OPEN && + ride->excitement >= RIDE_RATING(7,00) && type_already_counted[subtype_id] == 0){ - if ((ride_get_total_length(ride) >> 16) > objective_length) { - type_already_counted[subtype_id]++; - rcs++; - } - } - } + if ((ride_get_total_length(ride) >> 16) > objective_length) { + type_already_counted[subtype_id]++; + rcs++; + } + } + } - if (rcs >= 10) - scenario_success(); + if (rcs >= 10) + scenario_success(); } static void scenario_objective_check_finish_5_rollercoasters() { - money32 objectiveRideExcitement = gScenarioObjectiveCurrency; + money32 objectiveRideExcitement = gScenarioObjectiveCurrency; - // ORIGINAL BUG?: - // This does not check if the rides are even rollercoasters nevermind the right rollercoasters to be finished. - // It also did not exclude null rides. - sint32 i; - rct_ride* ride; - sint32 rcs = 0; - FOR_ALL_RIDES(i, ride) - if (ride->status != RIDE_STATUS_CLOSED && ride->excitement >= objectiveRideExcitement) - rcs++; + // ORIGINAL BUG?: + // This does not check if the rides are even rollercoasters nevermind the right rollercoasters to be finished. + // It also did not exclude null rides. + sint32 i; + rct_ride* ride; + sint32 rcs = 0; + FOR_ALL_RIDES(i, ride) + if (ride->status != RIDE_STATUS_CLOSED && ride->excitement >= objectiveRideExcitement) + rcs++; - if (rcs >= 5) - scenario_success(); + if (rcs >= 5) + scenario_success(); } static void scenario_objective_check_replay_loan_and_park_value() { - money32 objectiveParkValue = gScenarioObjectiveCurrency; - money32 parkValue = gParkValue; - money32 currentLoan = gBankLoan; + money32 objectiveParkValue = gScenarioObjectiveCurrency; + money32 parkValue = gParkValue; + money32 currentLoan = gBankLoan; - if (currentLoan <= 0 && parkValue >= objectiveParkValue) - scenario_success(); + if (currentLoan <= 0 && parkValue >= objectiveParkValue) + scenario_success(); } static void scenario_objective_check_monthly_food_income() { - money32 *expenditureLastMonth = &gExpenditureTable[1 * RCT_EXPENDITURE_TYPE_COUNT]; - sint32 lastMonthProfit = - expenditureLastMonth[RCT_EXPENDITURE_TYPE_SHOP_SHOP_SALES] + - expenditureLastMonth[RCT_EXPENDITURE_TYPE_SHOP_STOCK] + - expenditureLastMonth[RCT_EXPENDITURE_TYPE_FOODDRINK_SALES] + - expenditureLastMonth[RCT_EXPENDITURE_TYPE_FOODDRINK_STOCK]; + money32 *expenditureLastMonth = &gExpenditureTable[1 * RCT_EXPENDITURE_TYPE_COUNT]; + sint32 lastMonthProfit = + expenditureLastMonth[RCT_EXPENDITURE_TYPE_SHOP_SHOP_SALES] + + expenditureLastMonth[RCT_EXPENDITURE_TYPE_SHOP_STOCK] + + expenditureLastMonth[RCT_EXPENDITURE_TYPE_FOODDRINK_SALES] + + expenditureLastMonth[RCT_EXPENDITURE_TYPE_FOODDRINK_STOCK]; - if (lastMonthProfit >= gScenarioObjectiveCurrency) { - scenario_success(); - } + if (lastMonthProfit >= gScenarioObjectiveCurrency) { + scenario_success(); + } } /** @@ -953,37 +953,37 @@ static void scenario_objective_check_monthly_food_income() */ static void scenario_objective_check() { - if (gScenarioCompletedCompanyValue != MONEY32_UNDEFINED) { - return; - } + if (gScenarioCompletedCompanyValue != MONEY32_UNDEFINED) { + return; + } - switch (gScenarioObjectiveType) { - case OBJECTIVE_GUESTS_BY: - scenario_objective_check_guests_by(); - break; - case OBJECTIVE_PARK_VALUE_BY: - scenario_objective_check_park_value_by(); - break; - case OBJECTIVE_10_ROLLERCOASTERS: - scenario_objective_check_10_rollercoasters(); - break; - case OBJECTIVE_GUESTS_AND_RATING: - scenario_objective_check_guests_and_rating(); - break; - case OBJECTIVE_MONTHLY_RIDE_INCOME: - scenario_objective_check_monthly_ride_income(); - break; - case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: - scenario_objective_check_10_rollercoasters_length(); - break; - case OBJECTIVE_FINISH_5_ROLLERCOASTERS: - scenario_objective_check_finish_5_rollercoasters(); - break; - case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: - scenario_objective_check_replay_loan_and_park_value(); - break; - case OBJECTIVE_MONTHLY_FOOD_INCOME: - scenario_objective_check_monthly_food_income(); - break; - } + switch (gScenarioObjectiveType) { + case OBJECTIVE_GUESTS_BY: + scenario_objective_check_guests_by(); + break; + case OBJECTIVE_PARK_VALUE_BY: + scenario_objective_check_park_value_by(); + break; + case OBJECTIVE_10_ROLLERCOASTERS: + scenario_objective_check_10_rollercoasters(); + break; + case OBJECTIVE_GUESTS_AND_RATING: + scenario_objective_check_guests_and_rating(); + break; + case OBJECTIVE_MONTHLY_RIDE_INCOME: + scenario_objective_check_monthly_ride_income(); + break; + case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: + scenario_objective_check_10_rollercoasters_length(); + break; + case OBJECTIVE_FINISH_5_ROLLERCOASTERS: + scenario_objective_check_finish_5_rollercoasters(); + break; + case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: + scenario_objective_check_replay_loan_and_park_value(); + break; + case OBJECTIVE_MONTHLY_FOOD_INCOME: + scenario_objective_check_monthly_food_income(); + break; + } } diff --git a/src/openrct2/scenario/scenario.h b/src/openrct2/scenario/scenario.h index 9c983cf1b4..34adf9d49a 100644 --- a/src/openrct2/scenario/scenario.h +++ b/src/openrct2/scenario/scenario.h @@ -37,12 +37,12 @@ * size: 0x20 */ typedef struct rct_s6_header { - uint8 type; // 0x00 - uint8 classic_flag; // 0x01 - uint16 num_packed_objects; // 0x02 - uint32 version; // 0x04 - uint32 magic_number; // 0x08 - uint8 pad_0C[0x14]; + uint8 type; // 0x00 + uint8 classic_flag; // 0x01 + uint16 num_packed_objects; // 0x02 + uint32 version; // 0x04 + uint32 magic_number; // 0x08 + uint8 pad_0C[0x14]; } rct_s6_header; assert_struct_size(rct_s6_header, 0x20); @@ -51,35 +51,35 @@ assert_struct_size(rct_s6_header, 0x20); * size: 0x198 */ typedef struct rct_s6_info { - uint8 editor_step; - uint8 category; // 0x01 - uint8 objective_type; // 0x02 - uint8 objective_arg_1; // 0x03 - sint32 objective_arg_2; // 0x04 - sint16 objective_arg_3; // 0x08 - uint8 pad_00A[0x3E]; - char name[64]; // 0x48 - char details[256]; // 0x88 - rct_object_entry entry; // 0x188 + uint8 editor_step; + uint8 category; // 0x01 + uint8 objective_type; // 0x02 + uint8 objective_arg_1; // 0x03 + sint32 objective_arg_2; // 0x04 + sint16 objective_arg_3; // 0x08 + uint8 pad_00A[0x3E]; + char name[64]; // 0x48 + char details[256]; // 0x88 + rct_object_entry entry; // 0x188 } rct_s6_info; assert_struct_size(rct_s6_info, 0x198); typedef enum scenario_source { - SCENARIO_SOURCE_RCT1, - SCENARIO_SOURCE_RCT1_AA, - SCENARIO_SOURCE_RCT1_LL, - SCENARIO_SOURCE_RCT2, - SCENARIO_SOURCE_RCT2_WW, - SCENARIO_SOURCE_RCT2_TT, - SCENARIO_SOURCE_REAL, - SCENARIO_SOURCE_OTHER + SCENARIO_SOURCE_RCT1, + SCENARIO_SOURCE_RCT1_AA, + SCENARIO_SOURCE_RCT1_LL, + SCENARIO_SOURCE_RCT2, + SCENARIO_SOURCE_RCT2_WW, + SCENARIO_SOURCE_RCT2_TT, + SCENARIO_SOURCE_REAL, + SCENARIO_SOURCE_OTHER } scenario_source; typedef struct rct_stex_entry { - rct_string_id scenario_name; // 0x00 - rct_string_id park_name; // 0x02 - rct_string_id details; // 0x04 - uint8 var_06; + rct_string_id scenario_name; // 0x00 + rct_string_id park_name; // 0x02 + rct_string_id details; // 0x04 + uint8 var_06; } rct_stex_entry; assert_struct_size(rct_stex_entry, 7); @@ -87,273 +87,273 @@ assert_struct_size(rct_stex_entry, 7); // This will be useful for backwards compatibility typedef struct rct_s6_data { - // SC6[0] - rct_s6_header header; + // SC6[0] + rct_s6_header header; - // SC6[1] - rct_s6_info info; + // SC6[1] + rct_s6_info info; - // SC6[2] - // packed objects + // SC6[2] + // packed objects - // SC6[3] - rct_object_entry objects[721]; + // SC6[3] + rct_object_entry objects[721]; - // SC6[4] - uint16 elapsed_months; - uint16 current_day; - uint32 scenario_ticks; - uint32 scenario_srand_0; - uint32 scenario_srand_1; + // SC6[4] + uint16 elapsed_months; + uint16 current_day; + uint32 scenario_ticks; + uint32 scenario_srand_0; + uint32 scenario_srand_1; - // SC6[5] - rct_map_element map_elements[0x30000]; + // SC6[5] + rct_map_element map_elements[0x30000]; - // SC6[6] - uint32 next_free_map_element_pointer_index; - rct_sprite sprites[10000]; - uint16 sprite_lists_head[6]; - uint16 sprite_lists_count[6]; - rct_string_id park_name; - uint8 pad_013573D6[2]; - uint32 park_name_args; - money32 initial_cash; - money32 current_loan; - uint32 park_flags; - money16 park_entrance_fee; - uint16 rct1_park_entrance_x; - uint16 rct1_park_entrance_y; - uint8 pad_013573EE[2]; - uint8 rct1_park_entrance_z; - uint8 pad_013573F1; - rct2_peep_spawn peep_spawns[2]; - uint8 guest_count_change_modifier; - uint8 current_research_level; - uint8 pad_01357400[4]; - uint32 researched_ride_types[8]; - uint32 researched_ride_entries[8]; - uint32 researched_track_types_a[128]; - uint32 researched_track_types_b[128]; + // SC6[6] + uint32 next_free_map_element_pointer_index; + rct_sprite sprites[10000]; + uint16 sprite_lists_head[6]; + uint16 sprite_lists_count[6]; + rct_string_id park_name; + uint8 pad_013573D6[2]; + uint32 park_name_args; + money32 initial_cash; + money32 current_loan; + uint32 park_flags; + money16 park_entrance_fee; + uint16 rct1_park_entrance_x; + uint16 rct1_park_entrance_y; + uint8 pad_013573EE[2]; + uint8 rct1_park_entrance_z; + uint8 pad_013573F1; + rct2_peep_spawn peep_spawns[2]; + uint8 guest_count_change_modifier; + uint8 current_research_level; + uint8 pad_01357400[4]; + uint32 researched_ride_types[8]; + uint32 researched_ride_entries[8]; + uint32 researched_track_types_a[128]; + uint32 researched_track_types_b[128]; - // SC6[7] - uint16 guests_in_park; - uint16 guests_heading_for_park; + // SC6[7] + uint16 guests_in_park; + uint16 guests_heading_for_park; - // Ignored in scenario - money32 expenditure_table[224]; + // Ignored in scenario + money32 expenditure_table[224]; - // SC6[8] - uint16 last_guests_in_park; - uint8 pad_01357BCA[3]; - uint8 handyman_colour; - uint8 mechanic_colour; - uint8 security_colour; + // SC6[8] + uint16 last_guests_in_park; + uint8 pad_01357BCA[3]; + uint8 handyman_colour; + uint8 mechanic_colour; + uint8 security_colour; - // Ignored in scenario - uint32 researched_scenery_items[56]; + // Ignored in scenario + uint32 researched_scenery_items[56]; - // SC6[9] - uint16 park_rating; + // SC6[9] + uint16 park_rating; - // Ignored in scenario - uint8 park_rating_history[32]; - uint8 guests_in_park_history[32]; + // Ignored in scenario + uint8 park_rating_history[32]; + uint8 guests_in_park_history[32]; - // SC6[10] - uint8 active_research_types; - uint8 research_progress_stage; - uint32 last_researched_item_subject; - uint8 pad_01357CF8[1000]; - uint32 next_research_item; - uint16 research_progress; - uint8 next_research_category; - uint8 next_research_expected_day; - uint8 next_research_expected_month; - uint8 guest_initial_happiness; - uint16 park_size; - uint16 guest_generation_probability; - uint16 total_ride_value; - money32 maximum_loan; - money16 guest_initial_cash; - uint8 guest_initial_hunger; - uint8 guest_initial_thirst; - uint8 objective_type; - uint8 objective_year; - uint8 pad_013580FA[2]; - money32 objective_currency; - uint16 objective_guests; - uint8 campaign_weeks_left[20]; - uint8 campaign_ride_index[22]; + // SC6[10] + uint8 active_research_types; + uint8 research_progress_stage; + uint32 last_researched_item_subject; + uint8 pad_01357CF8[1000]; + uint32 next_research_item; + uint16 research_progress; + uint8 next_research_category; + uint8 next_research_expected_day; + uint8 next_research_expected_month; + uint8 guest_initial_happiness; + uint16 park_size; + uint16 guest_generation_probability; + uint16 total_ride_value; + money32 maximum_loan; + money16 guest_initial_cash; + uint8 guest_initial_hunger; + uint8 guest_initial_thirst; + uint8 objective_type; + uint8 objective_year; + uint8 pad_013580FA[2]; + money32 objective_currency; + uint16 objective_guests; + uint8 campaign_weeks_left[20]; + uint8 campaign_ride_index[22]; - // Ignored in scenario - money32 balance_history[128]; + // Ignored in scenario + money32 balance_history[128]; - // SC6[11] - money32 current_expenditure; - money32 current_profit; - uint32 weekly_profit_average_dividend; - uint16 weekly_profit_average_divisor; - uint8 pad_0135833A[2]; + // SC6[11] + money32 current_expenditure; + money32 current_profit; + uint32 weekly_profit_average_dividend; + uint16 weekly_profit_average_divisor; + uint8 pad_0135833A[2]; - // Ignored in scenario - money32 weekly_profit_history[128]; + // Ignored in scenario + money32 weekly_profit_history[128]; - // SC6[12] - money32 park_value; + // SC6[12] + money32 park_value; - // Ignored in scenario - money32 park_value_history[128]; + // Ignored in scenario + money32 park_value_history[128]; - // SC6[13] - money32 completed_company_value; - uint32 total_admissions; - money32 income_from_admissions; - money32 company_value; - uint8 peep_warning_throttle[16]; - rct12_award awards[RCT12_MAX_AWARDS]; - money16 land_price; - money16 construction_rights_price; - uint16 word_01358774; - uint8 pad_01358776[2]; - uint32 cd_key; - uint8 pad_0135877C[64]; - uint32 game_version_number; - money32 completed_company_value_record; - uint32 loan_hash; - uint16 ride_count; - uint8 pad_013587CA[6]; - money32 historical_profit; - uint8 pad_013587D4[4]; - char scenario_completed_name[32]; - money32 cash; - uint8 pad_013587FC[50]; - uint16 park_rating_casualty_penalty; - uint16 map_size_units; - uint16 map_size_minus_2; - uint16 map_size; - uint16 map_max_xy; - uint32 same_price_throughout; - uint16 suggested_max_guests; - uint16 park_rating_warning_days; - uint8 last_entrance_style; - uint8 rct1_water_colour; - uint8 pad_01358842[2]; - rct_research_item research_items[MAX_RESEARCH_ITEMS]; - uint16 map_base_z; - char scenario_name[64]; - char scenario_description[256]; - uint8 current_interest_rate; - uint8 pad_0135934B; - uint32 same_price_throughout_extended; - uint16 park_entrance_x[4]; - uint16 park_entrance_y[4]; - uint16 park_entrance_z[4]; - uint8 park_entrance_direction[4]; - char scenario_filename[256]; - uint8 saved_expansion_pack_names[3256]; - rct_banner banners[250]; - char custom_strings[0x8000]; - uint32 game_ticks_1; - rct_ride rides[255]; - uint16 saved_age; - uint16 saved_view_x; - uint16 saved_view_y; - uint8 saved_view_zoom; - uint8 saved_view_rotation; - rct_map_animation map_animations[2000]; - uint16 num_map_animations; - uint8 pad_0138B582[2]; - rct_ride_rating_calc_data ride_ratings_calc_data; - uint8 pad_0138B5D0[60]; - rct_ride_measurement ride_measurements[8]; - uint32 next_guest_index; - uint16 grass_and_scenery_tilepos; - uint32 patrol_areas[204 * 128]; - uint8 staff_modes[204]; - uint8 pad_13CA73E; - uint8 pad_13CA73F; - uint8 byte_13CA740; - uint8 pad_13CA741; - uint8 byte_13CA742[4]; // unused - uint8 climate; - uint8 pad_013CA747; - uint16 climate_update_timer; - uint8 current_weather; - uint8 next_weather; - uint8 temperature; - uint8 next_temperature; - uint8 current_weather_effect; - uint8 next_weather_effect; - uint8 current_weather_gloom; - uint8 next_weather_gloom; - uint8 current_rain_level; - uint8 next_rain_level; - rct12_news_item news_items[RCT12_MAX_NEWS_ITEMS]; - uint8 pad_13CE730[64]; - uint32 rct1_scenario_flags; - uint16 wide_path_tile_loop_x; - uint16 wide_path_tile_loop_y; - uint8 pad_13CE778[434]; + // SC6[13] + money32 completed_company_value; + uint32 total_admissions; + money32 income_from_admissions; + money32 company_value; + uint8 peep_warning_throttle[16]; + rct12_award awards[RCT12_MAX_AWARDS]; + money16 land_price; + money16 construction_rights_price; + uint16 word_01358774; + uint8 pad_01358776[2]; + uint32 cd_key; + uint8 pad_0135877C[64]; + uint32 game_version_number; + money32 completed_company_value_record; + uint32 loan_hash; + uint16 ride_count; + uint8 pad_013587CA[6]; + money32 historical_profit; + uint8 pad_013587D4[4]; + char scenario_completed_name[32]; + money32 cash; + uint8 pad_013587FC[50]; + uint16 park_rating_casualty_penalty; + uint16 map_size_units; + uint16 map_size_minus_2; + uint16 map_size; + uint16 map_max_xy; + uint32 same_price_throughout; + uint16 suggested_max_guests; + uint16 park_rating_warning_days; + uint8 last_entrance_style; + uint8 rct1_water_colour; + uint8 pad_01358842[2]; + rct_research_item research_items[MAX_RESEARCH_ITEMS]; + uint16 map_base_z; + char scenario_name[64]; + char scenario_description[256]; + uint8 current_interest_rate; + uint8 pad_0135934B; + uint32 same_price_throughout_extended; + uint16 park_entrance_x[4]; + uint16 park_entrance_y[4]; + uint16 park_entrance_z[4]; + uint8 park_entrance_direction[4]; + char scenario_filename[256]; + uint8 saved_expansion_pack_names[3256]; + rct_banner banners[250]; + char custom_strings[0x8000]; + uint32 game_ticks_1; + rct_ride rides[255]; + uint16 saved_age; + uint16 saved_view_x; + uint16 saved_view_y; + uint8 saved_view_zoom; + uint8 saved_view_rotation; + rct_map_animation map_animations[2000]; + uint16 num_map_animations; + uint8 pad_0138B582[2]; + rct_ride_rating_calc_data ride_ratings_calc_data; + uint8 pad_0138B5D0[60]; + rct_ride_measurement ride_measurements[8]; + uint32 next_guest_index; + uint16 grass_and_scenery_tilepos; + uint32 patrol_areas[204 * 128]; + uint8 staff_modes[204]; + uint8 pad_13CA73E; + uint8 pad_13CA73F; + uint8 byte_13CA740; + uint8 pad_13CA741; + uint8 byte_13CA742[4]; // unused + uint8 climate; + uint8 pad_013CA747; + uint16 climate_update_timer; + uint8 current_weather; + uint8 next_weather; + uint8 temperature; + uint8 next_temperature; + uint8 current_weather_effect; + uint8 next_weather_effect; + uint8 current_weather_gloom; + uint8 next_weather_gloom; + uint8 current_rain_level; + uint8 next_rain_level; + rct12_news_item news_items[RCT12_MAX_NEWS_ITEMS]; + uint8 pad_13CE730[64]; + uint32 rct1_scenario_flags; + uint16 wide_path_tile_loop_x; + uint16 wide_path_tile_loop_y; + uint8 pad_13CE778[434]; } rct_s6_data; assert_struct_size(rct_s6_data, 0x46b44a); #pragma pack(pop) enum { - SCENARIO_FLAGS_VISIBLE = (1 << 0), - SCENARIO_FLAGS_COMPLETED = (1 << 1), - SCENARIO_FLAGS_SIXFLAGS = (1 << 2) + SCENARIO_FLAGS_VISIBLE = (1 << 0), + SCENARIO_FLAGS_COMPLETED = (1 << 1), + SCENARIO_FLAGS_SIXFLAGS = (1 << 2) }; enum { - S6_TYPE_SAVEDGAME, - S6_TYPE_SCENARIO + S6_TYPE_SAVEDGAME, + S6_TYPE_SCENARIO }; #define S6_RCT2_VERSION 120001 #define S6_MAGIC_NUMBER 0x00031144 enum { - // RCT2 categories (keep order) - SCENARIO_CATEGORY_BEGINNER, - SCENARIO_CATEGORY_CHALLENGING, - SCENARIO_CATEGORY_EXPERT, - SCENARIO_CATEGORY_REAL, - SCENARIO_CATEGORY_OTHER, + // RCT2 categories (keep order) + SCENARIO_CATEGORY_BEGINNER, + SCENARIO_CATEGORY_CHALLENGING, + SCENARIO_CATEGORY_EXPERT, + SCENARIO_CATEGORY_REAL, + SCENARIO_CATEGORY_OTHER, - // OpenRCT2 categories - SCENARIO_CATEGORY_DLC, - SCENARIO_CATEGORY_BUILD_YOUR_OWN, + // OpenRCT2 categories + SCENARIO_CATEGORY_DLC, + SCENARIO_CATEGORY_BUILD_YOUR_OWN, - SCENARIO_CATEGORY_COUNT + SCENARIO_CATEGORY_COUNT }; enum { - OBJECTIVE_NONE, - OBJECTIVE_GUESTS_BY, - OBJECTIVE_PARK_VALUE_BY, - OBJECTIVE_HAVE_FUN, - OBJECTIVE_BUILD_THE_BEST, - OBJECTIVE_10_ROLLERCOASTERS, - OBJECTIVE_GUESTS_AND_RATING, - OBJECTIVE_MONTHLY_RIDE_INCOME, - OBJECTIVE_10_ROLLERCOASTERS_LENGTH, - OBJECTIVE_FINISH_5_ROLLERCOASTERS, - OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE, - OBJECTIVE_MONTHLY_FOOD_INCOME + OBJECTIVE_NONE, + OBJECTIVE_GUESTS_BY, + OBJECTIVE_PARK_VALUE_BY, + OBJECTIVE_HAVE_FUN, + OBJECTIVE_BUILD_THE_BEST, + OBJECTIVE_10_ROLLERCOASTERS, + OBJECTIVE_GUESTS_AND_RATING, + OBJECTIVE_MONTHLY_RIDE_INCOME, + OBJECTIVE_10_ROLLERCOASTERS_LENGTH, + OBJECTIVE_FINISH_5_ROLLERCOASTERS, + OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE, + OBJECTIVE_MONTHLY_FOOD_INCOME }; enum { - SCENARIO_SELECT_MODE_DIFFICULTY, - SCENARIO_SELECT_MODE_ORIGIN, + SCENARIO_SELECT_MODE_DIFFICULTY, + SCENARIO_SELECT_MODE_ORIGIN, }; enum { - AUTOSAVE_EVERY_MINUTE, - AUTOSAVE_EVERY_5MINUTES, - AUTOSAVE_EVERY_15MINUTES, - AUTOSAVE_EVERY_30MINUTES, - AUTOSAVE_EVERY_HOUR, - AUTOSAVE_NEVER + AUTOSAVE_EVERY_MINUTE, + AUTOSAVE_EVERY_5MINUTES, + AUTOSAVE_EVERY_15MINUTES, + AUTOSAVE_EVERY_30MINUTES, + AUTOSAVE_EVERY_HOUR, + AUTOSAVE_NEVER }; #define AUTOSAVE_PAUSE 0 @@ -363,7 +363,7 @@ extern const rct_string_id ScenarioCategoryStringIds[SCENARIO_CATEGORY_COUNT]; #if defined(NO_RCT2) extern uint32 gScenarioTicks; #else -#define gScenarioTicks RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) +#define gScenarioTicks RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) #endif extern uint32 gScenarioSrand0; extern uint32 gScenarioSrand1; diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index 02814db587..fbbba24c54 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -18,786 +18,786 @@ #define _SPRITES_H_ enum { - SPR_NONE = -1, - SPR_TEMP = 0, - - SPR_SCROLLING_TEXT_START = 1542, - SPR_SCROLLING_TEXT_DEFAULT = 1574, - - SPR_EDGE_ROCK_BASE = 1579, - SPR_EDGE_WOOD_RED_BASE = 1747, - SPR_EDGE_WOOD_BLACK_BASE = 1663, - SPR_EDGE_ICE_BASE = 1831, - - SPR_TERRAIN_SELECTION_SQUARE_SIMPLE = 2624, // Used for showing peep spawn - SPR_TERRAIN_SELECTION_SQUARE = 2625, // Used to show land owned by park - SPR_TERRAIN_SELECTION_DOTTED = 2644, // Used to show construction rights owned by park - - SPR_PALETTE_1_START = 3100, - SPR_PALETTE_1_END = 3110, - - PEEP_SPAWN_ARROW_0 = 3111, - PEEP_SPAWN_ARROW_1 = 3112, - PEEP_SPAWN_ARROW_2 = 3113, - PEEP_SPAWN_ARROW_3 = 3114, - - // This is the start of every character there are - // 224 characters per font (first 32 are control codes hence why it doesn't go to 255) - // 4 fonts - // = 896 sprites - SPR_CHAR_START = 3861, - SPR_CHAR_END = 4757, - - SPR_TEXT_PALETTE = 4914, - SPR_PALETTE_2_START = 4915, - SPR_PALETTE_2_END = 5047, - - SPR_RESIZE = 5058, - SPR_PALETTE_BTN = 5059, - SPR_PALETTE_BTN_PRESSED = 5060, - SPR_SHOP_ITEM_BALLOON = 5061, - SPR_SHOP_ITEM_TOY = 5062, - SPR_SHOP_ITEM_MAP = 5063, - SPR_SHOP_ITEM_PHOTO = 5064, - SPR_SHOP_ITEM_UMBRELLA = 5065, - SPR_SHOP_ITEM_DRINK = 5066, - SPR_SHOP_ITEM_BURGER = 5067, - SPR_SHOP_ITEM_CHIPS = 5068, - SPR_SHOP_ITEM_ICE_CREAM = 5069, - SPR_SHOP_ITEM_CANDYFLOSS = 5070, - SPR_SHOP_ITEM_EMPTY_CAN = 5071, - SPR_SHOP_ITEM_RUBBISH = 5072, - SPR_SHOP_ITEM_EMPTY_BURGER_BOX = 5073, - SPR_SHOP_ITEM_PIZZA = 5074, - SPR_SHOP_ITEM_VOUCHER = 5075, - SPR_SHOP_ITEM_POPCORN = 5076, - SPR_SHOP_ITEM_HOT_DOG = 5077, - SPR_SHOP_ITEM_TENTACLE = 5078, - SPR_SHOP_ITEM_HAT = 5079, - SPR_SHOP_ITEM_CANDY_APPLE = 5080, - SPR_SHOP_ITEM_TSHIRT = 5081, - SPR_SHOP_ITEM_DONUT = 5082, - SPR_SHOP_ITEM_COFFEE = 5083, - SPR_SHOP_ITEM_EMPTY_CUP = 5084, - SPR_SHOP_ITEM_CHICKEN = 5085, - SPR_SHOP_ITEM_LEMONADE = 5086, - SPR_SHOP_ITEM_EMPTY_BOX = 5087, - SPR_SHOP_ITEM_EMPTY_BOTTLE = 5088, - SPR_SHOP_ITEM_PHOTO2 = 5089, - SPR_SHOP_ITEM_PHOTO3 = 5090, - SPR_SHOP_ITEM_PHOTO4 = 5091, - SPR_SHOP_ITEM_PRETZEL = 5092, - SPR_SHOP_ITEM_CHOCOLATE = 5093, - SPR_SHOP_ITEM_ICED_TEA = 5094, - SPR_SHOP_ITEM_FUNNEL_CAKE = 5095, - SPR_SHOP_ITEM_SUNGLASSES = 5096, - SPR_SHOP_ITEM_BEEF_NOODLES = 5097, - SPR_SHOP_ITEM_FRIED_RICE_NOODLES = 5098, - SPR_SHOP_ITEM_WONTON_SOUP = 5099, - SPR_SHOP_ITEM_MEATBALL_SOUP = 5100, - SPR_SHOP_ITEM_FRUIT_JUICE = 5101, - SPR_SHOP_ITEM_SOYBEAN_MILK = 5102, - SPR_SHOP_ITEM_SU_JONGKWA = 5103, - SPR_SHOP_ITEM_SUB_SANDWICH = 5104, - SPR_SHOP_ITEM_COOKIE = 5105, - SPR_SHOP_ITEM_EMPTY_BOWL_RED = 5106, - SPR_SHOP_ITEM_EMPTY_DRINK_CARTON = 5107, - SPR_SHOP_ITEM_EMPTY_JUICE_CUP = 5108, - SPR_SHOP_ITEM_ROAST_SAUSAGE = 5109, - SPR_SHOP_ITEM_EMPTY_BOWL_BLUE = 5110, - SPR_STAFF_ORDERS_SWEEPING = 5111, - SPR_STAFF_ORDERS_WATER_FLOWERS = 5112, - SPR_STAFF_ORDERS_EMPTY_BINS = 5113, - SPR_STAFF_ORDERS_MOWING = 5114, - SPR_STAFF_ORDERS_INSPECT_RIDES = 5115, - SPR_STAFF_ORDERS_FIX_RIDES = 5116, - SPR_STAFF_PATROL_PATH = 5117, - SPR_STAFF_COSTUME_PANDA = 5118, - SPR_STAFF_COSTUME_TIGER = 5119, - SPR_STAFF_COSTUME_ELEPHANT = 5120, - SPR_STAFF_COSTUME_ROMAN = 5121, - SPR_STAFF_COSTUME_GORILLA = 5122, - SPR_STAFF_COSTUME_SNOWMAN = 5123, - SPR_STAFF_COSTUME_KNIGHT = 5124, - SPR_STAFF_COSTUME_ASTRONAUT = 5125, - SPR_STAFF_COSTUME_BANDIT = 5126, - SPR_STAFF_COSTUME_SHERIFF = 5127, - SPR_STAFF_COSTUME_PIRATE = 5128, - - SPR_RIDE_CONSTRUCTION_STRAIGHT = 5137, - SPR_RIDE_CONSTRUCTION_LEFT_CURVE = 5138, - SPR_RIDE_CONSTRUCTION_RIGHT_CURVE = 5139, - SPR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL = 5140, - SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL = 5141, - SPR_RIDE_CONSTRUCTION_LEFT_CURVE_LARGE = 5142, - SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_LARGE = 5143, - SPR_RIDE_CONSTRUCTION_SLOPE_DOWN_STEEP = 5144, - SPR_RIDE_CONSTRUCTION_SLOPE_DOWN = 5145, - SPR_RIDE_CONSTRUCTION_SLOPE_LEVEL = 5146, - SPR_RIDE_CONSTRUCTION_SLOPE_UP = 5147, - SPR_RIDE_CONSTRUCTION_SLOPE_UP_STEEP = 5148, - SPR_RIDE_CONSTRUCTION_VERTICAL_RISE = 5149, - SPR_RIDE_CONSTRUCTION_VERTICAL_DROP = 5150, - SPR_RIDE_CONSTRUCTION_HELIX_DOWN = 5151, - SPR_RIDE_CONSTRUCTION_HELIX_UP = 5152, - SPR_RIDE_CONSTRUCTION_LEFT_BANK = 5153, - SPR_RIDE_CONSTRUCTION_NO_BANK = 5154, - SPR_RIDE_CONSTRUCTION_RIGHT_BANK = 5155, - SPR_RIDE_CONSTRUCTION_U_SHAPED_TRACK = 5156, - SPR_RIDE_CONSTRUCTION_O_SHAPED_TRACK = 5157, - SPR_RIDE_CONSTRUCTION_RC_TRACK = 5158, - SPR_RIDE_CONSTRUCTION_WATER_CHANNEL = 5159, - SPR_PREVIOUS = 5160, - SPR_NEXT = 5161, - SPR_DEMOLISH_CURRENT_SECTION = 5162, - SPR_CHAIN_LIFT = 5163, - SPR_CONSTRUCTION = 5164, - SPR_DEMOLISH = 5165, - SPR_HEARING_VIEWPORT = 5166, - SPR_LOCATE = 5167, - SPR_RENAME = 5168, - SPR_ROTATE_ARROW = 5169, - SPR_MIRROR_ARROW = 5170, - SPR_SCENERY = 5171, - SPR_SCENERY_CLUSTER = 5172, - SPR_PAINTBRUSH = 5173, - SPR_PICKUP_BTN = 5174, - SPR_PATROL_BTN = 5175, - SPR_BUY_LAND_RIGHTS = 5176, - SPR_BUY_CONSTRUCTION_RIGHTS = 5177, - SPR_NO_ENTRY = 5178, - SPR_CLOSED = 5179, - SPR_OPEN = 5180, - SPR_TESTING = 5181, - SPR_TOGGLE_OPEN_CLOSE = 5182, - SPR_FLOPPY = 5183, - SPR_SHOW_GUESTS_THOUGHTS_ABOUT_THIS_RIDE_ATTRACTION = 5184, - SPR_SHOW_GUESTS_QUEUING_FOR_THIS_RIDE_ATTRACTION = 5185, - SPR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION = 5186, - SPR_RIDE = 5187, - SPR_TRACK_PEEP = 5188, - SPR_NEW_RIDE = 5189, - SPR_FINANCE = 5190, - SPR_NEW_SCENERY = 5191, - SPR_MAP = 5192, - SPR_GUESTS = 5193, - SPR_AWARD = 5194, - SPR_GRAPH = 5195, - SPR_MECHANIC = 5196, - SPR_PARK_ENTRANCE = 5197, - SPR_TAB = 5198, // 0x144e - SPR_TAB_ACTIVE = 5199, - SPR_TAB_PARK_ENTRANCE = 5200, - SPR_TAB_GEARS_0 = 5201, - SPR_TAB_GEARS_1 = SPR_TAB_GEARS_0 + 1, - SPR_TAB_GEARS_2 = SPR_TAB_GEARS_0 + 2, - SPR_TAB_GEARS_3 = SPR_TAB_GEARS_0 + 3, - SPR_TAB_WRENCH_0 = 5205, - SPR_TAB_WRENCH_1 = SPR_TAB_WRENCH_0 + 1, - SPR_TAB_WRENCH_2 = SPR_TAB_WRENCH_0 + 2, - SPR_TAB_WRENCH_3 = SPR_TAB_WRENCH_0 + 3, - SPR_TAB_WRENCH_4 = SPR_TAB_WRENCH_0 + 4, - SPR_TAB_WRENCH_5 = SPR_TAB_WRENCH_0 + 5, - SPR_TAB_WRENCH_6 = SPR_TAB_WRENCH_0 + 6, - SPR_TAB_WRENCH_7 = SPR_TAB_WRENCH_0 + 7, - SPR_TAB_WRENCH_8 = SPR_TAB_WRENCH_0 + 8, - SPR_TAB_WRENCH_9 = SPR_TAB_WRENCH_0 + 9, - SPR_TAB_WRENCH_10 = SPR_TAB_WRENCH_0 + 10, - SPR_TAB_WRENCH_11 = SPR_TAB_WRENCH_0 + 11, - SPR_TAB_WRENCH_12 = SPR_TAB_WRENCH_0 + 12, - SPR_TAB_WRENCH_13 = SPR_TAB_WRENCH_0 + 13, - SPR_TAB_WRENCH_14 = SPR_TAB_WRENCH_0 + 14, - SPR_TAB_WRENCH_15 = SPR_TAB_WRENCH_0 + 15, - SPR_TAB_PAINT_0 = 5221, - SPR_TAB_PAINT_1 = SPR_TAB_PAINT_0 + 1, - SPR_TAB_PAINT_2 = SPR_TAB_PAINT_0 + 2, - SPR_TAB_PAINT_3 = SPR_TAB_PAINT_0 + 3, - SPR_TAB_PAINT_4 = SPR_TAB_PAINT_0 + 4, - SPR_TAB_PAINT_5 = SPR_TAB_PAINT_0 + 5, - SPR_TAB_PAINT_6 = SPR_TAB_PAINT_0 + 6, - SPR_TAB_PAINT_7 = SPR_TAB_PAINT_0 + 7, - SPR_TAB_TIMER_0 = 5229, - SPR_TAB_TIMER_1 = SPR_TAB_TIMER_0 + 1, - SPR_TAB_TIMER_2 = SPR_TAB_TIMER_0 + 2, - SPR_TAB_TIMER_3 = SPR_TAB_TIMER_0 + 3, - SPR_TAB_TIMER_4 = SPR_TAB_TIMER_0 + 4, - SPR_TAB_TIMER_5 = SPR_TAB_TIMER_0 + 5, - SPR_TAB_TIMER_6 = SPR_TAB_TIMER_0 + 6, - SPR_TAB_TIMER_7 = SPR_TAB_TIMER_0 + 7, - SPR_TAB_GRAPH_A_0 = 5237, - SPR_TAB_GRAPH_A_1 = SPR_TAB_GRAPH_A_0 + 1, - SPR_TAB_GRAPH_A_2 = SPR_TAB_GRAPH_A_0 + 2, - SPR_TAB_GRAPH_A_3 = SPR_TAB_GRAPH_A_0 + 3, - SPR_TAB_GRAPH_A_4 = SPR_TAB_GRAPH_A_0 + 4, - SPR_TAB_GRAPH_A_5 = SPR_TAB_GRAPH_A_0 + 5, - SPR_TAB_GRAPH_A_6 = SPR_TAB_GRAPH_A_0 + 6, - SPR_TAB_GRAPH_A_7 = SPR_TAB_GRAPH_A_0 + 7, - SPR_TAB_GRAPH_0 = 5245, - SPR_TAB_GRAPH_1 = SPR_TAB_GRAPH_0 + 1, - SPR_TAB_GRAPH_2 = SPR_TAB_GRAPH_0 + 2, - SPR_TAB_GRAPH_3 = SPR_TAB_GRAPH_0 + 3, - SPR_TAB_GRAPH_4 = SPR_TAB_GRAPH_0 + 4, - SPR_TAB_GRAPH_5 = SPR_TAB_GRAPH_0 + 5, - SPR_TAB_GRAPH_6 = SPR_TAB_GRAPH_0 + 6, - SPR_TAB_GRAPH_7 = SPR_TAB_GRAPH_0 + 7, - SPR_TAB_ADMISSION_0 = 5253, - SPR_TAB_ADMISSION_1 = SPR_TAB_ADMISSION_0 + 1, - SPR_TAB_ADMISSION_2 = SPR_TAB_ADMISSION_0 + 2, - SPR_TAB_ADMISSION_3 = SPR_TAB_ADMISSION_0 + 3, - SPR_TAB_ADMISSION_4 = SPR_TAB_ADMISSION_0 + 4, - SPR_TAB_ADMISSION_5 = SPR_TAB_ADMISSION_0 + 5, - SPR_TAB_ADMISSION_6 = SPR_TAB_ADMISSION_0 + 6, - SPR_TAB_ADMISSION_7 = SPR_TAB_ADMISSION_0 + 7, - SPR_TAB_FINANCES_SUMMARY_0 = 5261, - SPR_TAB_FINANCES_SUMMARY_1 = SPR_TAB_FINANCES_SUMMARY_0 + 1, - SPR_TAB_FINANCES_SUMMARY_2 = SPR_TAB_FINANCES_SUMMARY_0 + 2, - SPR_TAB_FINANCES_SUMMARY_3 = SPR_TAB_FINANCES_SUMMARY_0 + 3, - SPR_TAB_FINANCES_SUMMARY_4 = SPR_TAB_FINANCES_SUMMARY_0 + 4, - SPR_TAB_FINANCES_SUMMARY_5 = SPR_TAB_FINANCES_SUMMARY_0 + 5, - SPR_TAB_FINANCES_SUMMARY_6 = SPR_TAB_FINANCES_SUMMARY_0 + 6, - SPR_TAB_FINANCES_SUMMARY_7 = SPR_TAB_FINANCES_SUMMARY_0 + 7, - SPR_TAB_THOUGHTS_0 = 5269, - SPR_TAB_THOUGHTS_1 = SPR_TAB_THOUGHTS_0 + 1, - SPR_TAB_THOUGHTS_2 = SPR_TAB_THOUGHTS_0 + 2, - SPR_TAB_THOUGHTS_3 = SPR_TAB_THOUGHTS_0 + 3, - SPR_TAB_THOUGHTS_4 = SPR_TAB_THOUGHTS_0 + 4, - SPR_TAB_THOUGHTS_5 = SPR_TAB_THOUGHTS_0 + 5, - SPR_TAB_THOUGHTS_6 = SPR_TAB_THOUGHTS_0 + 6, - SPR_TAB_THOUGHTS_7 = SPR_TAB_THOUGHTS_0 + 7, - SPR_TAB_STATS_0 = 5277, - SPR_TAB_STATS_1 = SPR_TAB_STATS_0 + 1, - SPR_TAB_STATS_2 = SPR_TAB_STATS_0 + 2, - SPR_TAB_STATS_3 = SPR_TAB_STATS_0 + 3, - SPR_TAB_STATS_4 = SPR_TAB_STATS_0 + 4, - SPR_TAB_STATS_5 = SPR_TAB_STATS_0 + 5, - SPR_TAB_STATS_6 = SPR_TAB_STATS_0 + 6, - SPR_PEEP_LARGE_FACE_VERY_VERY_UNHAPPY = 5284, - SPR_PEEP_LARGE_FACE_VERY_UNHAPPY = 5285, - SPR_PEEP_LARGE_FACE_UNHAPPY = 5286, - SPR_PEEP_LARGE_FACE_NORMAL = 5287, - SPR_PEEP_LARGE_FACE_HAPPY = 5288, - SPR_PEEP_LARGE_FACE_VERY_HAPPY = 5289, - SPR_PEEP_LARGE_FACE_VERY_VERY_HAPPY = 5290, - SPR_PEEP_LARGE_FACE_TIRED = 5291, - SPR_PEEP_LARGE_FACE_VERY_TIRED = 5292, - SPR_PEEP_LARGE_FACE_SICK = 5293, - SPR_PEEP_LARGE_FACE_VERY_SICK_0 = 5294, - SPR_PEEP_LARGE_FACE_VERY_SICK_1 = SPR_PEEP_LARGE_FACE_VERY_SICK_0 + 1, - SPR_PEEP_LARGE_FACE_VERY_SICK_2 = SPR_PEEP_LARGE_FACE_VERY_SICK_0 + 2, - SPR_PEEP_LARGE_FACE_VERY_SICK_3 = SPR_PEEP_LARGE_FACE_VERY_SICK_0 + 3, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 = 5298, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_1 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 1, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_2 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 2, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_3 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 3, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_4 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 4, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_5 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 5, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_6 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 6, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_7 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 7, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_8 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 8, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_9 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 9, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_10 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 10, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_11 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 11, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_12 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 12, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_13 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 13, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_14 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 14, - SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_15 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 15, - SPR_PEEP_LARGE_FACE_ANGRY_0 = 5314, - SPR_PEEP_LARGE_FACE_ANGRY_1 = SPR_PEEP_LARGE_FACE_ANGRY_0 + 1, - SPR_PEEP_LARGE_FACE_ANGRY_2 = SPR_PEEP_LARGE_FACE_ANGRY_0 + 2, - SPR_PEEP_LARGE_FACE_ANGRY_3 = SPR_PEEP_LARGE_FACE_ANGRY_0 + 3, - // 5318 seems to be part of SPR_TAB_STAFF_OPTIONS - SPR_TAB_STAFF_OPTIONS_0 = 5319, - SPR_TAB_STAFF_OPTIONS_1 = SPR_TAB_STAFF_OPTIONS_0 + 1, - SPR_TAB_STAFF_OPTIONS_2 = SPR_TAB_STAFF_OPTIONS_0 + 2, - SPR_TAB_STAFF_OPTIONS_3 = SPR_TAB_STAFF_OPTIONS_0 + 3, - SPR_TAB_STAFF_OPTIONS_4 = SPR_TAB_STAFF_OPTIONS_0 + 4, - SPR_TAB_STAFF_OPTIONS_5 = SPR_TAB_STAFF_OPTIONS_0 + 5, - SPR_TAB_STAFF_OPTIONS_6 = SPR_TAB_STAFF_OPTIONS_0 + 6, - SPR_TAB_GUEST_INVENTORY = 5326, - SPR_TAB_FINANCES_RESEARCH_0 = 5327, - - - SPR_TAB_MUSIC_0 = 5335, - - SPR_TAB_SHOPS_AND_STALLS_0 = 5351, - SPR_TAB_SHOPS_AND_STALLS_1 = SPR_TAB_SHOPS_AND_STALLS_0 + 1, - SPR_TAB_SHOPS_AND_STALLS_2 = SPR_TAB_SHOPS_AND_STALLS_0 + 2, - SPR_TAB_SHOPS_AND_STALLS_3 = SPR_TAB_SHOPS_AND_STALLS_0 + 3, - SPR_TAB_SHOPS_AND_STALLS_4 = SPR_TAB_SHOPS_AND_STALLS_0 + 4, - SPR_TAB_SHOPS_AND_STALLS_5 = SPR_TAB_SHOPS_AND_STALLS_0 + 5, - SPR_TAB_SHOPS_AND_STALLS_6 = SPR_TAB_SHOPS_AND_STALLS_0 + 6, - SPR_TAB_SHOPS_AND_STALLS_7 = SPR_TAB_SHOPS_AND_STALLS_0 + 7, - SPR_TAB_SHOPS_AND_STALLS_8 = SPR_TAB_SHOPS_AND_STALLS_0 + 8, - SPR_TAB_SHOPS_AND_STALLS_9 = SPR_TAB_SHOPS_AND_STALLS_0 + 9, - SPR_TAB_SHOPS_AND_STALLS_10 = SPR_TAB_SHOPS_AND_STALLS_0 + 10, - SPR_TAB_SHOPS_AND_STALLS_11 = SPR_TAB_SHOPS_AND_STALLS_0 + 11, - SPR_TAB_SHOPS_AND_STALLS_12 = SPR_TAB_SHOPS_AND_STALLS_0 + 12, - SPR_TAB_SHOPS_AND_STALLS_13 = SPR_TAB_SHOPS_AND_STALLS_0 + 13, - SPR_TAB_SHOPS_AND_STALLS_14 = SPR_TAB_SHOPS_AND_STALLS_0 + 14, - SPR_TAB_SHOPS_AND_STALLS_15 = SPR_TAB_SHOPS_AND_STALLS_0 + 15, - - SPR_TAB_KIOSKS_AND_FACILITIES_0 = 5367, - SPR_TAB_KIOSKS_AND_FACILITIES_1 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 1, - SPR_TAB_KIOSKS_AND_FACILITIES_2 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 2, - SPR_TAB_KIOSKS_AND_FACILITIES_3 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 3, - SPR_TAB_KIOSKS_AND_FACILITIES_4 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 4, - SPR_TAB_KIOSKS_AND_FACILITIES_5 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 5, - SPR_TAB_KIOSKS_AND_FACILITIES_6 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 6, - SPR_TAB_KIOSKS_AND_FACILITIES_7 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 7, - - SPR_TAB_FINANCES_FINANCIAL_GRAPH_0 = 5375, - - SPR_TAB_FINANCES_PROFIT_GRAPH_0 = 5391, - - SPR_TAB_FINANCES_VALUE_GRAPH_0 = 5407, - - SPR_TAB_FINANCES_MARKETING_0 = 5423, - - SPR_TAB_RIDE_0 = 5442, - SPR_TAB_RIDE_1 = SPR_TAB_RIDE_0 + 1, - SPR_TAB_RIDE_2 = SPR_TAB_RIDE_0 + 2, - SPR_TAB_RIDE_3 = SPR_TAB_RIDE_0 + 3, - SPR_TAB_RIDE_4 = SPR_TAB_RIDE_0 + 4, - SPR_TAB_RIDE_5 = SPR_TAB_RIDE_0 + 5, - SPR_TAB_RIDE_6 = SPR_TAB_RIDE_0 + 6, - SPR_TAB_RIDE_7 = SPR_TAB_RIDE_0 + 7, - SPR_TAB_RIDE_8 = SPR_TAB_RIDE_0 + 8, - SPR_TAB_RIDE_9 = SPR_TAB_RIDE_0 + 9, - SPR_TAB_RIDE_10 = SPR_TAB_RIDE_0 + 10, - SPR_TAB_RIDE_11 = SPR_TAB_RIDE_0 + 11, - SPR_TAB_RIDE_12 = SPR_TAB_RIDE_0 + 12, - SPR_TAB_RIDE_13 = SPR_TAB_RIDE_0 + 13, - SPR_TAB_RIDE_14 = SPR_TAB_RIDE_0 + 14, - SPR_TAB_RIDE_15 = SPR_TAB_RIDE_0 + 15, - SPR_TAB_RIDE_16 = SPR_TAB_RIDE_0 + 16, // Same as SPR_TAB_RIDE_0 - SPR_TAB_SCENERY_TREES = 5459, - SPR_TAB_SCENERY_URBAN = 5460, - SPR_TAB_SCENERY_WALLS = 5461, - SPR_TAB_SCENERY_SIGNAGE = 5462, - SPR_TAB_SCENERY_PATHS = 5463, - SPR_TAB_SCENERY_PATH_ITEMS = 5464, - SPR_TAB_SCENERY_STATUES = 5465, - SPR_TAB_PARK = 5466, - SPR_TAB_WATER = 5467, - SPR_TAB_STATS = 5468, - SPR_AWARD_MOST_UNTIDY = 5469, - SPR_AWARD_MOST_TIDY = SPR_AWARD_MOST_UNTIDY + 1, - SPR_AWARD_BEST_ROLLERCOASTERS = SPR_AWARD_MOST_UNTIDY + 2, - SPR_AWARD_BEST_VALUE = SPR_AWARD_MOST_UNTIDY + 3, - SPR_AWARD_MOST_BEAUTIFUL = SPR_AWARD_MOST_UNTIDY + 4, - SPR_AWARD_WORST_VALUE = SPR_AWARD_MOST_UNTIDY + 5, - SPR_AWARD_SAFEST = SPR_AWARD_MOST_UNTIDY + 6, - SPR_AWARD_BEST_STAFF = SPR_AWARD_MOST_UNTIDY + 7, - SPR_AWARD_BEST_FOOD = SPR_AWARD_MOST_UNTIDY + 8, - SPR_AWARD_WORST_FOOD = SPR_AWARD_MOST_UNTIDY + 9, - SPR_AWARD_BEST_RESTROOMS = SPR_AWARD_MOST_UNTIDY + 10, - SPR_AWARD_MOST_DISAPPOINTING = SPR_AWARD_MOST_UNTIDY + 11, - SPR_AWARD_BEST_WATER_RIDES = SPR_AWARD_MOST_UNTIDY + 12, - SPR_AWARD_BEST_CUSTOM_DESIGNED_RIDES = SPR_AWARD_MOST_UNTIDY + 13, - SPR_AWARD_MOST_DAZZLING_RIDE_COLOURS = SPR_AWARD_MOST_UNTIDY + 14, - SPR_AWARD_MOST_CONFUSING_LAYOUT = SPR_AWARD_MOST_UNTIDY + 15, - SPR_AWARD_BEST_GENTLE_RIDES = SPR_AWARD_MOST_UNTIDY + 16, - SPR_PEEP_SMALL_FACE_VERY_VERY_UNHAPPY = 5486, - SPR_PEEP_SMALL_FACE_VERY_UNHAPPY = 5487, - SPR_PEEP_SMALL_FACE_UNHAPPY = 5488, - SPR_PEEP_SMALL_FACE_NORMAL = 5489, - SPR_PEEP_SMALL_FACE_HAPPY = 5490, - SPR_PEEP_SMALL_FACE_VERY_HAPPY = 5491, - SPR_PEEP_SMALL_FACE_VERY_VERY_HAPPY = 5492, - SPR_PEEP_SMALL_FACE_TIRED = 5493, - SPR_PEEP_SMALL_FACE_VERY_TIRED = 5494, - SPR_PEEP_SMALL_FACE_SICK = 5495, - SPR_PEEP_SMALL_FACE_VERY_SICK = 5496, - SPR_PEEP_SMALL_FACE_VERY_VERY_SICK = 5497, - SPR_PEEP_SMALL_FACE_ANGRY = 5498, - SPR_LAND_TOOL_DECREASE = 5499, - SPR_LAND_TOOL_DECREASE_PRESSED = 5500, - SPR_LAND_TOOL_INCREASE = 5501, - SPR_LAND_TOOL_INCREASE_PRESSED = 5502, - SPR_LAND_TOOL_SIZE_0 = 5503, - SPR_LAND_TOOL_SIZE_1 = SPR_LAND_TOOL_SIZE_0 + 1, - SPR_LAND_TOOL_SIZE_2 = SPR_LAND_TOOL_SIZE_0 + 2, - SPR_LAND_TOOL_SIZE_3 = SPR_LAND_TOOL_SIZE_0 + 3, - SPR_LAND_TOOL_SIZE_4 = SPR_LAND_TOOL_SIZE_0 + 4, - SPR_LAND_TOOL_SIZE_5 = SPR_LAND_TOOL_SIZE_0 + 5, - SPR_LAND_TOOL_SIZE_6 = SPR_LAND_TOOL_SIZE_0 + 6, - SPR_LAND_TOOL_SIZE_7 = SPR_LAND_TOOL_SIZE_0 + 7, - SPR_TAB_OBJECTIVE_0 = 5511, - SPR_TAB_OBJECTIVE_1 = SPR_TAB_OBJECTIVE_0 + 1, - SPR_TAB_OBJECTIVE_2 = SPR_TAB_OBJECTIVE_0 + 2, - SPR_TAB_OBJECTIVE_3 = SPR_TAB_OBJECTIVE_0 + 3, - SPR_TAB_OBJECTIVE_4 = SPR_TAB_OBJECTIVE_0 + 4, - SPR_TAB_OBJECTIVE_5 = SPR_TAB_OBJECTIVE_0 + 5, - SPR_TAB_OBJECTIVE_6 = SPR_TAB_OBJECTIVE_0 + 6, - SPR_TAB_OBJECTIVE_7 = SPR_TAB_OBJECTIVE_0 + 7, - SPR_TAB_OBJECTIVE_8 = SPR_TAB_OBJECTIVE_0 + 8, - SPR_TAB_OBJECTIVE_9 = SPR_TAB_OBJECTIVE_0 + 9, - SPR_TAB_OBJECTIVE_10 = SPR_TAB_OBJECTIVE_0 + 10, - SPR_TAB_OBJECTIVE_11 = SPR_TAB_OBJECTIVE_0 + 11, - SPR_TAB_OBJECTIVE_12 = SPR_TAB_OBJECTIVE_0 + 12, - SPR_TAB_OBJECTIVE_13 = SPR_TAB_OBJECTIVE_0 + 13, - SPR_TAB_OBJECTIVE_14 = SPR_TAB_OBJECTIVE_0 + 14, - SPR_TAB_OBJECTIVE_15 = SPR_TAB_OBJECTIVE_0 + 15, - SPR_TAB_AWARDS = 5527, - SPR_TAB_QUESTION = 5528, - - SPR_TAB_RIDES_SHOP_0 = 5530, - - SPR_TAB_RIDES_TRANSPORT_0 = 5537, - - SPR_TAB_RIDES_GENTLE_0 = 5542, - - SPR_TAB_RIDES_ROLLER_COASTERS_0 = 5546, - - SPR_TAB_RIDES_WATER_0 = 5551, - - SPR_TAB_RIDES_THRILL_0 = 5557, - - SPR_TAB_LARGE = 5564, - SPR_TAB_LARGE_SELECTED = 5565, - SPR_TAB_EXTRA_LARGE = 5566, - SPR_TAB_EXTRA_LARGE_SELECTED = 5567, - SPR_TAB_GUESTS_0 = 5568, - SPR_TAB_GUESTS_1 = SPR_TAB_GUESTS_0 + 1, - SPR_TAB_GUESTS_2 = SPR_TAB_GUESTS_0 + 2, - SPR_TAB_GUESTS_3 = SPR_TAB_GUESTS_0 + 3, - SPR_TAB_GUESTS_4 = SPR_TAB_GUESTS_0 + 4, - SPR_TAB_GUESTS_5 = SPR_TAB_GUESTS_0 + 5, - SPR_TAB_GUESTS_6 = SPR_TAB_GUESTS_0 + 6, - SPR_TAB_GUESTS_7 = SPR_TAB_GUESTS_0 + 7, - SPR_MAZE_CONSTRUCTION_BUILD = 5576, - SPR_MAZE_CONSTRUCTION_MOVE = 5577, - SPR_MAZE_CONSTRUCTION_FILL_IN = 5578, - SPR_FLOOR_TEXTURE_GRASS = 5579, - SPR_FLOOR_TEXTURE_SAND = SPR_FLOOR_TEXTURE_GRASS + 1, - SPR_FLOOR_TEXTURE_DIRT = SPR_FLOOR_TEXTURE_GRASS + 2, - SPR_FLOOR_TEXTURE_ROCK = SPR_FLOOR_TEXTURE_GRASS + 3, - SPR_FLOOR_TEXTURE_MARTIAN = SPR_FLOOR_TEXTURE_GRASS + 4, - SPR_FLOOR_TEXTURE_CHECKERBOARD = SPR_FLOOR_TEXTURE_GRASS + 5, - SPR_FLOOR_TEXTURE_GRASS_CLUMPS = SPR_FLOOR_TEXTURE_GRASS + 6, - SPR_FLOOR_TEXTURE_ICE = SPR_FLOOR_TEXTURE_GRASS + 7, - SPR_FLOOR_TEXTURE_GRID_RED = SPR_FLOOR_TEXTURE_GRASS + 8, - SPR_FLOOR_TEXTURE_GRID_YELLOW = SPR_FLOOR_TEXTURE_GRASS + 9, - SPR_FLOOR_TEXTURE_GRID_BLUE = SPR_FLOOR_TEXTURE_GRASS + 10, - SPR_FLOOR_TEXTURE_GRID_GREEN = SPR_FLOOR_TEXTURE_GRASS + 11, - SPR_FLOOR_TEXTURE_SAND_DARK = SPR_FLOOR_TEXTURE_GRASS + 12, - SPR_FLOOR_TEXTURE_SAND_LIGHT = SPR_FLOOR_TEXTURE_GRASS + 13, - SPR_WALL_TEXTURE_ROCK = 5593, - SPR_WALL_TEXTURE_WOOD_RED = SPR_WALL_TEXTURE_ROCK + 1, - SPR_WALL_TEXTURE_WOOD_BLACK = SPR_WALL_TEXTURE_ROCK + 2, - SPR_WALL_TEXTURE_ICE = SPR_WALL_TEXTURE_ROCK + 3, - SPR_TOOLBAR_PAUSE = 5597, - - SPR_TOOLBAR_FILE = 5599, - - SPR_TOOLBAR_ZOOM_OUT = 5601, - - SPR_TOOLBAR_ZOOM_OUT_DISABLED = 5603, - SPR_TOOLBAR_ZOOM_IN = 5604, - - SPR_TOOLBAR_ZOOM_IN_DISABLED = 5606, - SPR_TOOLBAR_ROTATE = 5607, - - SPR_TOOLBAR_LAND = 5609, - - SPR_TOOLBAR_MAP = 5611, - - SPR_TOOLBAR_GUESTS = 5613, - - SPR_TOOLBAR_SCENERY = 5615, - - SPR_TOOLBAR_WATER = 5617, - - SPR_TOOLBAR_RIDES = 5619, - - SPR_TOOLBAR_VIEW = 5621, - - SPR_TOOLBAR_FOOTPATH = 5623, - - SPR_TAB_TOOLBAR = 5625, - - SPR_TOOLBAR_STAFF = 5627, - - SPR_TOOLBAR_PARK = 5629, - - SPR_TOOLBAR_CONSTRUCT_RIDE = 5631, - - SPR_TOOLBAR_CLEAR_SCENERY = 5633, - - SPR_CONSTRUCTION_DIRECTION_NE = 5635, - SPR_CONSTRUCTION_DIRECTION_SE = 5636, - SPR_CONSTRUCTION_DIRECTION_SW = 5637, - SPR_CONSTRUCTION_DIRECTION_NW = 5638, - SPR_CONSTRUCTION_FOOTPATH_LAND = 5639, - SPR_CONSTRUCTION_FOOTPATH_BRIDGE = 5640, - - SPR_6410 = 6410, - - SPR_RIDE_DESIGN_PREVIEW_SPIRAL_ROLLER_COASTER_TRACK = 14222, - SPR_RIDE_DESIGN_PREVIEW_SPIRAL_ROLLER_COASTER_SUPPORTS = 14223, - SPR_RIDE_DESIGN_PREVIEW_STAND_UP_ROLLER_COASTER_TRACK = 14224, - SPR_RIDE_DESIGN_PREVIEW_STAND_UP_ROLLER_COASTER_SUPPORTS = 14225, - SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_SWINGING_COASTER_TRACK = 14226, - SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_SWINGING_COASTER_SUPPORTS = 14227, - SPR_RIDE_DESIGN_PREVIEW_INVERTED_ROLLER_COASTER_TRACK = 14228, - SPR_RIDE_DESIGN_PREVIEW_INVERTED_ROLLER_COASTER_SUPPORTS = 14229, - SPR_RIDE_DESIGN_PREVIEW_JUNIOR_ROLLER_COASTER_TRACK = 14230, - SPR_RIDE_DESIGN_PREVIEW_JUNIOR_ROLLER_COASTER_SUPPORTS = 14231, - SPR_RIDE_DESIGN_PREVIEW_MINIATURE_RAILWAY_TRACK = 14232, - SPR_RIDE_DESIGN_PREVIEW_MINIATURE_RAILWAY_SUPPORTS = 14233, - SPR_RIDE_DESIGN_PREVIEW_MONORAIL_TRACK = 14234, - SPR_RIDE_DESIGN_PREVIEW_MONORAIL_SUPPORTS = 14235, - SPR_RIDE_DESIGN_PREVIEW_MINI_SUSPENDED_COASTER_TRACK = 14236, - SPR_RIDE_DESIGN_PREVIEW_MINI_SUSPENDED_COASTER_SUPPORTS = 14237, - SPR_RIDE_DESIGN_PREVIEW_BOAT_RIDE_TRACK = 14238, - SPR_RIDE_DESIGN_PREVIEW_BOAT_RIDE_SUPPORTS = 14239, - SPR_RIDE_DESIGN_PREVIEW_WOODEN_WILD_MOUSE_TRACK = 14240, - SPR_RIDE_DESIGN_PREVIEW_WOODEN_WILD_MOUSE_SUPPORTS = 14241, - SPR_RIDE_DESIGN_PREVIEW_STEEPLECHASE_TRACK = 14242, - SPR_RIDE_DESIGN_PREVIEW_STEEPLECHASE_SUPPORTS = 14243, - SPR_RIDE_DESIGN_PREVIEW_CAR_RIDE_TRACK = 14244, - SPR_RIDE_DESIGN_PREVIEW_CAR_RIDE_SUPPORTS = 14245, - SPR_RIDE_DESIGN_PREVIEW_LAUNCHED_FREEFALL_TRACK = 14246, - SPR_RIDE_DESIGN_PREVIEW_LAUNCHED_FREEFALL_SUPPORTS = 14247, - SPR_RIDE_DESIGN_PREVIEW_BOBSLEIGH_COASTER_TRACK = 14248, - SPR_RIDE_DESIGN_PREVIEW_BOBSLEIGH_COASTER_SUPPORTS = 14249, - SPR_RIDE_DESIGN_PREVIEW_OBSERVATION_TOWER_TRACK = 14250, - SPR_RIDE_DESIGN_PREVIEW_OBSERVATION_TOWER_SUPPORTS = 14251, - SPR_RIDE_DESIGN_PREVIEW_LOOPING_ROLLER_COASTER_TRACK = 14252, - SPR_RIDE_DESIGN_PREVIEW_LOOPING_ROLLER_COASTER_SUPPORTS = 14253, - SPR_RIDE_DESIGN_PREVIEW_DINGHY_SLIDE_TRACK = 14254, - SPR_RIDE_DESIGN_PREVIEW_DINGHY_SLIDE_SUPPORTS = 14255, - SPR_RIDE_DESIGN_PREVIEW_MINE_TRAIN_COASTER_TRACK = 14256, - SPR_RIDE_DESIGN_PREVIEW_MINE_TRAIN_COASTER_SUPPORTS = 14257, - SPR_RIDE_DESIGN_PREVIEW_CHAIRLIFT_TRACK = 14258, - SPR_RIDE_DESIGN_PREVIEW_CHAIRLIFT_SUPPORTS = 14259, - SPR_RIDE_DESIGN_PREVIEW_CORKSCREW_ROLLER_COASTER_TRACK = 14260, - SPR_RIDE_DESIGN_PREVIEW_CORKSCREW_ROLLER_COASTER_SUPPORTS = 14261, - - SPR_RIDE_DESIGN_PREVIEW_SPIRAL_SLIDE_TRACK = 14264, - - SPR_RIDE_DESIGN_PREVIEW_GO_KARTS_TRACK = 14266, - SPR_RIDE_DESIGN_PREVIEW_GO_KARTS_SUPPORTS = 14267, - SPR_RIDE_DESIGN_PREVIEW_LOG_FLUME_TRACK = 14268, - SPR_RIDE_DESIGN_PREVIEW_LOG_FLUME_SUPPORTS = 14269, - SPR_RIDE_DESIGN_PREVIEW_RIVER_RAPIDS_TRACK = 14270, - SPR_RIDE_DESIGN_PREVIEW_RIVER_RAPIDS_SUPPORTS = 14271, - SPR_RIDE_DESIGN_PREVIEW_DODGEMS_TRACK = 14272, - SPR_RIDE_DESIGN_PREVIEW_DODGEMS_SUPPORTS = 14273, - SPR_RIDE_DESIGN_PREVIEW_PIRATE_SHIP_TRACK = 14274, - SPR_RIDE_DESIGN_PREVIEW_PIRATE_SHIP_SUPPORTS = 14275, - SPR_RIDE_DESIGN_PREVIEW_SWINGING_INVERTER_SHIP_TRACK = 14276, - SPR_RIDE_DESIGN_PREVIEW_SWINGING_INVERTER_SHIP_SUPPORTS = 14277, - - SPR_RIDE_DESIGN_PREVIEW_FERRIS_WHEEL_TRACK = 14296, - - SPR_RIDE_DESIGN_PREVIEW_TOP_SPIN_TRACK = 14302, - - SPR_RIDE_DESIGN_PREVIEW_REVERSE_FREEFALL_COASTER_TRACK = 14306, - SPR_RIDE_DESIGN_PREVIEW_REVERSE_FREEFALL_COASTER_SUPPORTS = 14307, - SPR_RIDE_DESIGN_PREVIEW_LIFT_TRACK = 14308, - - SPR_RIDE_DESIGN_PREVIEW_VERTICAL_DROP_ROLLER_COASTER_TRACK = 14310, - SPR_RIDE_DESIGN_PREVIEW_VERTICAL_DROP_ROLLER_COASTER_SUPPORTS = 14311, - - SPR_RIDE_DESIGN_PREVIEW_GHOST_TRAIN_TRACK = 14322, - SPR_RIDE_DESIGN_PREVIEW_GHOST_TRAIN_SUPPORTS = 14323, - SPR_RIDE_DESIGN_PREVIEW_TWISTER_ROLLER_COASTER_TRACK = 14324, - SPR_RIDE_DESIGN_PREVIEW_TWISTER_ROLLER_COASTER_SUPPORTS = 14325, - SPR_RIDE_DESIGN_PREVIEW_WOODEN_ROLLER_COASTER_TRACK = 14326, - SPR_RIDE_DESIGN_PREVIEW_WOODEN_ROLLER_COASTER_SUPPORTS = 14327, - SPR_RIDE_DESIGN_PREVIEW_SIDE_FRICTION_ROLLER_COASTER_TRACK = 14328, - SPR_RIDE_DESIGN_PREVIEW_SIDE_FRICTION_ROLLER_COASTER_SUPPORTS = 14329, - SPR_RIDE_DESIGN_PREVIEW_WILD_MOUSE_TRACK = 14330, - SPR_RIDE_DESIGN_PREVIEW_WILD_MOUSE_SUPPORTS = 14331, - SPR_RIDE_DESIGN_PREVIEW_MULTI_DIMENSION_ROLLER_COASTER_TRACK = 14332, - SPR_RIDE_DESIGN_PREVIEW_MULTI_DIMENSION_ROLLER_COASTER_SUPPORTS = 14333, - - SPR_RIDE_DESIGN_PREVIEW_FLYING_ROLLER_COASTER_TRACK = 14336, - SPR_RIDE_DESIGN_PREVIEW_FLYING_ROLLER_COASTER_SUPPORTS = 14337, - - SPR_RIDE_DESIGN_PREVIEW_VIRGINIA_REEL_TRACK = 14340, - SPR_RIDE_DESIGN_PREVIEW_VIRGINIA_REEL_SUPPORTS = 14341, - SPR_RIDE_DESIGN_PREVIEW_SPLASH_BOATS_TRACK = 14342, - SPR_RIDE_DESIGN_PREVIEW_SPLASH_BOATS_SUPPORTS = 14343, - SPR_RIDE_DESIGN_PREVIEW_MINI_HELICOPTERS_TRACK = 14344, - SPR_RIDE_DESIGN_PREVIEW_MINI_HELICOPTERS_SUPPORTS = 14345, - SPR_RIDE_DESIGN_PREVIEW_LAY_DOWN_ROLLER_COASTER_TRACK = 14346, - SPR_RIDE_DESIGN_PREVIEW_LAY_DOWN_ROLLER_COASTER_SUPPORTS = 14347, - SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_MONORAIL_TRACK = 14348, - SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_MONORAIL_SUPPORTS = 14349, - - SPR_RIDE_DESIGN_PREVIEW_REVERSER_ROLLER_COASTER_TRACK = 14352, - SPR_RIDE_DESIGN_PREVIEW_REVERSER_ROLLER_COASTER_SUPPORTS = 14353, - SPR_RIDE_DESIGN_PREVIEW_HEARTLINE_TWISTER_COASTER_TRACK = 14354, - SPR_RIDE_DESIGN_PREVIEW_HEARTLINE_TWISTER_COASTER_SUPPORTS = 14355, - SPR_RIDE_DESIGN_PREVIEW_MINI_GOLF_TRACK = 14356, - SPR_RIDE_DESIGN_PREVIEW_MINI_GOLF_SUPPORTS = 14357, - SPR_RIDE_DESIGN_PREVIEW_GIGA_COASTER_TRACK = 14358, - SPR_RIDE_DESIGN_PREVIEW_GIGA_COASTER_SUPPORTS = 14359, - SPR_RIDE_DESIGN_PREVIEW_ROTO_DROP_TRACK = 14360, - SPR_RIDE_DESIGN_PREVIEW_ROTO_DROP_SUPPORTS = 14361, - SPR_RIDE_DESIGN_PREVIEW_FLYING_SAUCERS_TRACK = 14362, - - SPR_RIDE_DESIGN_PREVIEW_MONORAIL_CYCLES_TRACK = 14366, - SPR_RIDE_DESIGN_PREVIEW_MONORAIL_CYCLES_SUPPORTS = 14367, - SPR_RIDE_DESIGN_PREVIEW_COMPACT_INVERTED_COASTER_TRACK = 14368, - SPR_RIDE_DESIGN_PREVIEW_COMPACT_INVERTED_COASTER_SUPPORTS = 14369, - SPR_RIDE_DESIGN_PREVIEW_WATER_COASTER_TRACK = 14370, - SPR_RIDE_DESIGN_PREVIEW_WATER_COASTER_SUPPORTS = 14371, - SPR_RIDE_DESIGN_PREVIEW_AIR_POWERED_VERTICAL_COASTER_TRACK = 14372, - SPR_RIDE_DESIGN_PREVIEW_AIR_POWERED_VERTICAL_COASTER_SUPPORTS = 14373, - SPR_RIDE_DESIGN_PREVIEW_INVERTED_HAIRPIN_COASTER_TRACK = 14374, - SPR_RIDE_DESIGN_PREVIEW_INVERTED_HAIRPIN_COASTER_SUPPORTS = 14375, - SPR_RIDE_DESIGN_PREVIEW_MAGIC_CARPET_TRACK = 14376, - SPR_RIDE_DESIGN_PREVIEW_MAGIC_CARPET_SUPPORTS = 14377, - SPR_RIDE_DESIGN_PREVIEW_SUBMARINE_RIDE_TRACK = 14378, - SPR_RIDE_DESIGN_PREVIEW_SUBMARINE_RIDE_SUPPORTS = 14379, - SPR_RIDE_DESIGN_PREVIEW_RIVER_RAFTS_TRACK = 14380, - SPR_RIDE_DESIGN_PREVIEW_RIVER_RAFTS_SUPPORTS = 14381, - - SPR_RIDE_DESIGN_PREVIEW_INVERTED_IMPULSE_COASTER_TRACK = 14394, - SPR_RIDE_DESIGN_PREVIEW_INVERTED_IMPULSE_COASTER_SUPPORTS = 14395, - SPR_RIDE_DESIGN_PREVIEW_MINI_ROLLER_COASTER_TRACK = 14396, - SPR_RIDE_DESIGN_PREVIEW_MINI_ROLLER_COASTER_SUPPORTS = 14397, - SPR_RIDE_DESIGN_PREVIEW_MINE_RIDE_TRACK = 14398, - SPR_RIDE_DESIGN_PREVIEW_MINE_RIDE_SUPPORTS = 14399, - - SPR_RIDE_DESIGN_PREVIEW_LIM_LAUNCHED_ROLLER_COASTER_TRACK = 14402, - SPR_RIDE_DESIGN_PREVIEW_LIM_LAUNCHED_ROLLER_COASTER_SUPPORTS = 14403, - - SPR_RIDE_DESIGN_PREVIEW_MAZE_BRICK_WALLS = 21990, - SPR_RIDE_DESIGN_PREVIEW_MAZE_HEDGES = 21991, - SPR_RIDE_DESIGN_PREVIEW_MAZE_ICE_BLOCKS = 21992, - SPR_RIDE_DESIGN_PREVIEW_MAZE_WOODEN_FENCES = 21993, - - SPR_LAND_OWNERSHIP_AVAILABLE = 22955, - SPR_LAND_CONSTRUCTION_RIGHTS_AVAILABLE = 22956, - - SPR_DUCK = 23133, - - SPR_NEXT_WEATHER = 23189, - SPR_WEATHER_SUN = 23190, - SPR_WEATHER_SUN_CLOUD = 23191, - SPR_WEATHER_CLOUD = 23192, - SPR_WEATHER_LIGHT_RAIN = 23193, - SPR_WEATHER_HEAVY_RAIN = 23194, - SPR_WEATHER_STORM = 23195, - SPR_WEATHER_UNKNOWN = 23196, - SPR_RATING_LOW = 23197, - SPR_RATING_HIGH = 23198, - SPR_MENU_CHECKMARK = 23199, - SPR_FADE_1 = 23200, - SPR_FADE_2 = 23201, - SPR_FADE_3 = 23202, - SPR_FADE_4 = 23203, - SPR_FADE_5 = 23204, - SPR_FADE_6 = 23205, - SPR_FADE_7 = 23206, - SPR_MENU_NEW_GAME = 23207, - SPR_MENU_LOAD_GAME = 23208, - SPR_MENU_TUTORIAL = 23209, - SPR_MENU_EXIT = 23210, - SPR_MENU_TOOLBOX = 23211, - SPR_MENU_LOGO = 23212, - SPR_CREDITS_LOGO_SMALL = 23213, - SPR_CREDITS_CHRIS_SAWYER_SMALL = 23214, - SPR_INTRO_CHRIS_SAWYER_00 = 23215, - SPR_INTRO_CHRIS_SAWYER_10 = SPR_INTRO_CHRIS_SAWYER_00 + 1, - SPR_INTRO_LOGO_00 = 23218, - SPR_INTRO_LOGO_10 = SPR_INTRO_LOGO_00 + 1, - SPR_INTRO_LOGO_20 = SPR_INTRO_LOGO_00 + 2, - SPR_INTRO_LOGO_01 = SPR_INTRO_LOGO_00 + 3, - SPR_INTRO_LOGO_11 = SPR_INTRO_LOGO_00 + 4, - SPR_INTRO_LOGO_21 = SPR_INTRO_LOGO_00 + 5, - - SPR_INTRO_INFOGRAMES_00 = 23226, - SPR_INTRO_INFOGRAMES_10 = SPR_INTRO_INFOGRAMES_00 + 1, - SPR_INTRO_INFOGRAMES_01 = SPR_INTRO_INFOGRAMES_00 + 2, - SPR_INTRO_INFOGRAMES_11 = SPR_INTRO_INFOGRAMES_00 + 3, - SPR_CREDITS_INFOGRAMES = 23230, - - SPR_NEW_RIDE_MASK = 29013, - - SPR_G2_BEGIN = 324288, - SPR_G2_LOGO = SPR_G2_BEGIN + 0, - SPR_G2_TITLE = SPR_G2_BEGIN + 1, - SPR_G2_FASTFORWARD = SPR_G2_BEGIN + 2, - SPR_G2_SPEED_ARROW = SPR_G2_BEGIN + 3, - SPR_G2_HYPER_ARROW = SPR_G2_BEGIN + 4, - SPR_G2_TAB_TWITCH = SPR_G2_BEGIN + 5, - SPR_G2_TAB_LAND = SPR_G2_BEGIN + 6, - - SPR_G2_PLACEHOLDER = SPR_G2_BEGIN + 7, - - SPR_G2_ZOOM_IN = SPR_G2_BEGIN + 8, - SPR_G2_ZOOM_IN_DISABLED = SPR_G2_BEGIN + 9, - SPR_G2_ZOOM_OUT = SPR_G2_BEGIN + 10, - SPR_G2_ZOOM_OUT_DISABLED = SPR_G2_BEGIN + 11, - - SPR_G2_TAB_TREE = SPR_G2_BEGIN + 12, - SPR_G2_TAB_PENCIL = SPR_G2_BEGIN + 13, - SPR_G2_BUTTON_LARGE_SCENERY = SPR_G2_BEGIN + 14, - SPR_G2_BUTTON_TREES = SPR_G2_BEGIN + 15, - SPR_G2_BUTTON_FOOTPATH = SPR_G2_BEGIN + 16, - - SPR_G2_RCT1_CLOSE_BUTTON_0 = SPR_G2_BEGIN + 17, - SPR_G2_RCT1_CLOSE_BUTTON_1 = SPR_G2_BEGIN + 18, - SPR_G2_RCT1_CLOSE_BUTTON_2 = SPR_G2_BEGIN + 19, - SPR_G2_RCT1_CLOSE_BUTTON_3 = SPR_G2_BEGIN + 20, - SPR_G2_RCT1_TEST_BUTTON_0 = SPR_G2_BEGIN + 21, - SPR_G2_RCT1_TEST_BUTTON_1 = SPR_G2_BEGIN + 22, - SPR_G2_RCT1_TEST_BUTTON_2 = SPR_G2_BEGIN + 23, - SPR_G2_RCT1_TEST_BUTTON_3 = SPR_G2_BEGIN + 24, - SPR_G2_RCT1_OPEN_BUTTON_0 = SPR_G2_BEGIN + 25, - SPR_G2_RCT1_OPEN_BUTTON_1 = SPR_G2_BEGIN + 26, - SPR_G2_RCT1_OPEN_BUTTON_2 = SPR_G2_BEGIN + 27, - SPR_G2_RCT1_OPEN_BUTTON_3 = SPR_G2_BEGIN + 28, - - SPR_G2_TITLE_RESTART = SPR_G2_BEGIN + 29, - SPR_G2_TITLE_STOP = SPR_G2_BEGIN + 30, - SPR_G2_TITLE_PLAY = SPR_G2_BEGIN + 31, - SPR_G2_TITLE_SKIP = SPR_G2_BEGIN + 32, - - SPR_G2_SANDBOX = SPR_G2_BEGIN + 33, - - SPR_G2_TAB_NEWS = SPR_G2_BEGIN + 58, - SPR_G2_LOCKED = SPR_G2_BEGIN + 59, - SPR_G2_MENU_MULTIPLAYER = SPR_G2_BEGIN + 60, - - SPR_G2_SORT = SPR_G2_BEGIN + 77, - SPR_G2_COPY = SPR_G2_BEGIN + 78, - SPR_G2_PASTE = SPR_G2_BEGIN + 79, - SPR_G2_TAB_DISABLED = SPR_G2_BEGIN + 80, - - SPR_G2_GIGA_RC_BOOSTER_NE_SW = SPR_G2_BEGIN + 81, - SPR_G2_GIGA_RC_BOOSTER_NW_SE = SPR_G2_BEGIN + 82, - SPR_G2_BM_BOOSTER_NE_SW = SPR_G2_BEGIN + 83, - SPR_G2_BM_BOOSTER_NW_SE = SPR_G2_BEGIN + 84, - - SPR_G2_TOOLBAR_MUTE = SPR_G2_BEGIN + 87, - SPR_G2_TOOLBAR_MUTE_PRESSED = SPR_G2_BEGIN + 88, - SPR_G2_TOOLBAR_UNMUTE = SPR_G2_BEGIN + 89, - SPR_G2_TOOLBAR_UNMUTE_PRESSED = SPR_G2_BEGIN + 90, - - SPR_G2_MINI_RC_BOOSTER_NE_SW = SPR_G2_BEGIN + 91, - SPR_G2_MINI_RC_BOOSTER_NW_SE = SPR_G2_BEGIN + 92, - - // 0x60000, chosen because it's a round hex number - // of the last possible range of image ID values that is large enough to fit all csg1 sprites. - SPR_CSG_BEGIN = 393216, - - SPR_CSG_EDGE_BRICK_BASE = SPR_CSG_BEGIN + 40506, - SPR_CSG_EDGE_IRON_BASE = SPR_CSG_BEGIN + 40590, - SPR_CSG_EDGE_RED_BASE = SPR_CSG_BEGIN + 40926, - SPR_CSG_EDGE_YELLOW_BASE = SPR_CSG_BEGIN + 41030, - SPR_CSG_EDGE_GREY_BASE = SPR_CSG_BEGIN + 41134, - SPR_CSG_EDGE_PURPLE_BASE = SPR_CSG_BEGIN + 41238, - SPR_CSG_EDGE_GREEN_BASE = SPR_CSG_BEGIN + 41342, - SPR_CSG_EDGE_STONE_BROWN_BASE = SPR_CSG_BEGIN + 41446, - SPR_CSG_EDGE_STONE_GREY_BASE = SPR_CSG_BEGIN + 41550, - SPR_CSG_EDGE_SKYSCRAPER_A_BASE = SPR_CSG_BEGIN + 41654, - SPR_CSG_EDGE_SKYSCRAPER_B_BASE = SPR_CSG_BEGIN + 41758, + SPR_NONE = -1, + SPR_TEMP = 0, + + SPR_SCROLLING_TEXT_START = 1542, + SPR_SCROLLING_TEXT_DEFAULT = 1574, + + SPR_EDGE_ROCK_BASE = 1579, + SPR_EDGE_WOOD_RED_BASE = 1747, + SPR_EDGE_WOOD_BLACK_BASE = 1663, + SPR_EDGE_ICE_BASE = 1831, + + SPR_TERRAIN_SELECTION_SQUARE_SIMPLE = 2624, // Used for showing peep spawn + SPR_TERRAIN_SELECTION_SQUARE = 2625, // Used to show land owned by park + SPR_TERRAIN_SELECTION_DOTTED = 2644, // Used to show construction rights owned by park + + SPR_PALETTE_1_START = 3100, + SPR_PALETTE_1_END = 3110, + + PEEP_SPAWN_ARROW_0 = 3111, + PEEP_SPAWN_ARROW_1 = 3112, + PEEP_SPAWN_ARROW_2 = 3113, + PEEP_SPAWN_ARROW_3 = 3114, + + // This is the start of every character there are + // 224 characters per font (first 32 are control codes hence why it doesn't go to 255) + // 4 fonts + // = 896 sprites + SPR_CHAR_START = 3861, + SPR_CHAR_END = 4757, + + SPR_TEXT_PALETTE = 4914, + SPR_PALETTE_2_START = 4915, + SPR_PALETTE_2_END = 5047, + + SPR_RESIZE = 5058, + SPR_PALETTE_BTN = 5059, + SPR_PALETTE_BTN_PRESSED = 5060, + SPR_SHOP_ITEM_BALLOON = 5061, + SPR_SHOP_ITEM_TOY = 5062, + SPR_SHOP_ITEM_MAP = 5063, + SPR_SHOP_ITEM_PHOTO = 5064, + SPR_SHOP_ITEM_UMBRELLA = 5065, + SPR_SHOP_ITEM_DRINK = 5066, + SPR_SHOP_ITEM_BURGER = 5067, + SPR_SHOP_ITEM_CHIPS = 5068, + SPR_SHOP_ITEM_ICE_CREAM = 5069, + SPR_SHOP_ITEM_CANDYFLOSS = 5070, + SPR_SHOP_ITEM_EMPTY_CAN = 5071, + SPR_SHOP_ITEM_RUBBISH = 5072, + SPR_SHOP_ITEM_EMPTY_BURGER_BOX = 5073, + SPR_SHOP_ITEM_PIZZA = 5074, + SPR_SHOP_ITEM_VOUCHER = 5075, + SPR_SHOP_ITEM_POPCORN = 5076, + SPR_SHOP_ITEM_HOT_DOG = 5077, + SPR_SHOP_ITEM_TENTACLE = 5078, + SPR_SHOP_ITEM_HAT = 5079, + SPR_SHOP_ITEM_CANDY_APPLE = 5080, + SPR_SHOP_ITEM_TSHIRT = 5081, + SPR_SHOP_ITEM_DONUT = 5082, + SPR_SHOP_ITEM_COFFEE = 5083, + SPR_SHOP_ITEM_EMPTY_CUP = 5084, + SPR_SHOP_ITEM_CHICKEN = 5085, + SPR_SHOP_ITEM_LEMONADE = 5086, + SPR_SHOP_ITEM_EMPTY_BOX = 5087, + SPR_SHOP_ITEM_EMPTY_BOTTLE = 5088, + SPR_SHOP_ITEM_PHOTO2 = 5089, + SPR_SHOP_ITEM_PHOTO3 = 5090, + SPR_SHOP_ITEM_PHOTO4 = 5091, + SPR_SHOP_ITEM_PRETZEL = 5092, + SPR_SHOP_ITEM_CHOCOLATE = 5093, + SPR_SHOP_ITEM_ICED_TEA = 5094, + SPR_SHOP_ITEM_FUNNEL_CAKE = 5095, + SPR_SHOP_ITEM_SUNGLASSES = 5096, + SPR_SHOP_ITEM_BEEF_NOODLES = 5097, + SPR_SHOP_ITEM_FRIED_RICE_NOODLES = 5098, + SPR_SHOP_ITEM_WONTON_SOUP = 5099, + SPR_SHOP_ITEM_MEATBALL_SOUP = 5100, + SPR_SHOP_ITEM_FRUIT_JUICE = 5101, + SPR_SHOP_ITEM_SOYBEAN_MILK = 5102, + SPR_SHOP_ITEM_SU_JONGKWA = 5103, + SPR_SHOP_ITEM_SUB_SANDWICH = 5104, + SPR_SHOP_ITEM_COOKIE = 5105, + SPR_SHOP_ITEM_EMPTY_BOWL_RED = 5106, + SPR_SHOP_ITEM_EMPTY_DRINK_CARTON = 5107, + SPR_SHOP_ITEM_EMPTY_JUICE_CUP = 5108, + SPR_SHOP_ITEM_ROAST_SAUSAGE = 5109, + SPR_SHOP_ITEM_EMPTY_BOWL_BLUE = 5110, + SPR_STAFF_ORDERS_SWEEPING = 5111, + SPR_STAFF_ORDERS_WATER_FLOWERS = 5112, + SPR_STAFF_ORDERS_EMPTY_BINS = 5113, + SPR_STAFF_ORDERS_MOWING = 5114, + SPR_STAFF_ORDERS_INSPECT_RIDES = 5115, + SPR_STAFF_ORDERS_FIX_RIDES = 5116, + SPR_STAFF_PATROL_PATH = 5117, + SPR_STAFF_COSTUME_PANDA = 5118, + SPR_STAFF_COSTUME_TIGER = 5119, + SPR_STAFF_COSTUME_ELEPHANT = 5120, + SPR_STAFF_COSTUME_ROMAN = 5121, + SPR_STAFF_COSTUME_GORILLA = 5122, + SPR_STAFF_COSTUME_SNOWMAN = 5123, + SPR_STAFF_COSTUME_KNIGHT = 5124, + SPR_STAFF_COSTUME_ASTRONAUT = 5125, + SPR_STAFF_COSTUME_BANDIT = 5126, + SPR_STAFF_COSTUME_SHERIFF = 5127, + SPR_STAFF_COSTUME_PIRATE = 5128, + + SPR_RIDE_CONSTRUCTION_STRAIGHT = 5137, + SPR_RIDE_CONSTRUCTION_LEFT_CURVE = 5138, + SPR_RIDE_CONSTRUCTION_RIGHT_CURVE = 5139, + SPR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL = 5140, + SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL = 5141, + SPR_RIDE_CONSTRUCTION_LEFT_CURVE_LARGE = 5142, + SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_LARGE = 5143, + SPR_RIDE_CONSTRUCTION_SLOPE_DOWN_STEEP = 5144, + SPR_RIDE_CONSTRUCTION_SLOPE_DOWN = 5145, + SPR_RIDE_CONSTRUCTION_SLOPE_LEVEL = 5146, + SPR_RIDE_CONSTRUCTION_SLOPE_UP = 5147, + SPR_RIDE_CONSTRUCTION_SLOPE_UP_STEEP = 5148, + SPR_RIDE_CONSTRUCTION_VERTICAL_RISE = 5149, + SPR_RIDE_CONSTRUCTION_VERTICAL_DROP = 5150, + SPR_RIDE_CONSTRUCTION_HELIX_DOWN = 5151, + SPR_RIDE_CONSTRUCTION_HELIX_UP = 5152, + SPR_RIDE_CONSTRUCTION_LEFT_BANK = 5153, + SPR_RIDE_CONSTRUCTION_NO_BANK = 5154, + SPR_RIDE_CONSTRUCTION_RIGHT_BANK = 5155, + SPR_RIDE_CONSTRUCTION_U_SHAPED_TRACK = 5156, + SPR_RIDE_CONSTRUCTION_O_SHAPED_TRACK = 5157, + SPR_RIDE_CONSTRUCTION_RC_TRACK = 5158, + SPR_RIDE_CONSTRUCTION_WATER_CHANNEL = 5159, + SPR_PREVIOUS = 5160, + SPR_NEXT = 5161, + SPR_DEMOLISH_CURRENT_SECTION = 5162, + SPR_CHAIN_LIFT = 5163, + SPR_CONSTRUCTION = 5164, + SPR_DEMOLISH = 5165, + SPR_HEARING_VIEWPORT = 5166, + SPR_LOCATE = 5167, + SPR_RENAME = 5168, + SPR_ROTATE_ARROW = 5169, + SPR_MIRROR_ARROW = 5170, + SPR_SCENERY = 5171, + SPR_SCENERY_CLUSTER = 5172, + SPR_PAINTBRUSH = 5173, + SPR_PICKUP_BTN = 5174, + SPR_PATROL_BTN = 5175, + SPR_BUY_LAND_RIGHTS = 5176, + SPR_BUY_CONSTRUCTION_RIGHTS = 5177, + SPR_NO_ENTRY = 5178, + SPR_CLOSED = 5179, + SPR_OPEN = 5180, + SPR_TESTING = 5181, + SPR_TOGGLE_OPEN_CLOSE = 5182, + SPR_FLOPPY = 5183, + SPR_SHOW_GUESTS_THOUGHTS_ABOUT_THIS_RIDE_ATTRACTION = 5184, + SPR_SHOW_GUESTS_QUEUING_FOR_THIS_RIDE_ATTRACTION = 5185, + SPR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION = 5186, + SPR_RIDE = 5187, + SPR_TRACK_PEEP = 5188, + SPR_NEW_RIDE = 5189, + SPR_FINANCE = 5190, + SPR_NEW_SCENERY = 5191, + SPR_MAP = 5192, + SPR_GUESTS = 5193, + SPR_AWARD = 5194, + SPR_GRAPH = 5195, + SPR_MECHANIC = 5196, + SPR_PARK_ENTRANCE = 5197, + SPR_TAB = 5198, // 0x144e + SPR_TAB_ACTIVE = 5199, + SPR_TAB_PARK_ENTRANCE = 5200, + SPR_TAB_GEARS_0 = 5201, + SPR_TAB_GEARS_1 = SPR_TAB_GEARS_0 + 1, + SPR_TAB_GEARS_2 = SPR_TAB_GEARS_0 + 2, + SPR_TAB_GEARS_3 = SPR_TAB_GEARS_0 + 3, + SPR_TAB_WRENCH_0 = 5205, + SPR_TAB_WRENCH_1 = SPR_TAB_WRENCH_0 + 1, + SPR_TAB_WRENCH_2 = SPR_TAB_WRENCH_0 + 2, + SPR_TAB_WRENCH_3 = SPR_TAB_WRENCH_0 + 3, + SPR_TAB_WRENCH_4 = SPR_TAB_WRENCH_0 + 4, + SPR_TAB_WRENCH_5 = SPR_TAB_WRENCH_0 + 5, + SPR_TAB_WRENCH_6 = SPR_TAB_WRENCH_0 + 6, + SPR_TAB_WRENCH_7 = SPR_TAB_WRENCH_0 + 7, + SPR_TAB_WRENCH_8 = SPR_TAB_WRENCH_0 + 8, + SPR_TAB_WRENCH_9 = SPR_TAB_WRENCH_0 + 9, + SPR_TAB_WRENCH_10 = SPR_TAB_WRENCH_0 + 10, + SPR_TAB_WRENCH_11 = SPR_TAB_WRENCH_0 + 11, + SPR_TAB_WRENCH_12 = SPR_TAB_WRENCH_0 + 12, + SPR_TAB_WRENCH_13 = SPR_TAB_WRENCH_0 + 13, + SPR_TAB_WRENCH_14 = SPR_TAB_WRENCH_0 + 14, + SPR_TAB_WRENCH_15 = SPR_TAB_WRENCH_0 + 15, + SPR_TAB_PAINT_0 = 5221, + SPR_TAB_PAINT_1 = SPR_TAB_PAINT_0 + 1, + SPR_TAB_PAINT_2 = SPR_TAB_PAINT_0 + 2, + SPR_TAB_PAINT_3 = SPR_TAB_PAINT_0 + 3, + SPR_TAB_PAINT_4 = SPR_TAB_PAINT_0 + 4, + SPR_TAB_PAINT_5 = SPR_TAB_PAINT_0 + 5, + SPR_TAB_PAINT_6 = SPR_TAB_PAINT_0 + 6, + SPR_TAB_PAINT_7 = SPR_TAB_PAINT_0 + 7, + SPR_TAB_TIMER_0 = 5229, + SPR_TAB_TIMER_1 = SPR_TAB_TIMER_0 + 1, + SPR_TAB_TIMER_2 = SPR_TAB_TIMER_0 + 2, + SPR_TAB_TIMER_3 = SPR_TAB_TIMER_0 + 3, + SPR_TAB_TIMER_4 = SPR_TAB_TIMER_0 + 4, + SPR_TAB_TIMER_5 = SPR_TAB_TIMER_0 + 5, + SPR_TAB_TIMER_6 = SPR_TAB_TIMER_0 + 6, + SPR_TAB_TIMER_7 = SPR_TAB_TIMER_0 + 7, + SPR_TAB_GRAPH_A_0 = 5237, + SPR_TAB_GRAPH_A_1 = SPR_TAB_GRAPH_A_0 + 1, + SPR_TAB_GRAPH_A_2 = SPR_TAB_GRAPH_A_0 + 2, + SPR_TAB_GRAPH_A_3 = SPR_TAB_GRAPH_A_0 + 3, + SPR_TAB_GRAPH_A_4 = SPR_TAB_GRAPH_A_0 + 4, + SPR_TAB_GRAPH_A_5 = SPR_TAB_GRAPH_A_0 + 5, + SPR_TAB_GRAPH_A_6 = SPR_TAB_GRAPH_A_0 + 6, + SPR_TAB_GRAPH_A_7 = SPR_TAB_GRAPH_A_0 + 7, + SPR_TAB_GRAPH_0 = 5245, + SPR_TAB_GRAPH_1 = SPR_TAB_GRAPH_0 + 1, + SPR_TAB_GRAPH_2 = SPR_TAB_GRAPH_0 + 2, + SPR_TAB_GRAPH_3 = SPR_TAB_GRAPH_0 + 3, + SPR_TAB_GRAPH_4 = SPR_TAB_GRAPH_0 + 4, + SPR_TAB_GRAPH_5 = SPR_TAB_GRAPH_0 + 5, + SPR_TAB_GRAPH_6 = SPR_TAB_GRAPH_0 + 6, + SPR_TAB_GRAPH_7 = SPR_TAB_GRAPH_0 + 7, + SPR_TAB_ADMISSION_0 = 5253, + SPR_TAB_ADMISSION_1 = SPR_TAB_ADMISSION_0 + 1, + SPR_TAB_ADMISSION_2 = SPR_TAB_ADMISSION_0 + 2, + SPR_TAB_ADMISSION_3 = SPR_TAB_ADMISSION_0 + 3, + SPR_TAB_ADMISSION_4 = SPR_TAB_ADMISSION_0 + 4, + SPR_TAB_ADMISSION_5 = SPR_TAB_ADMISSION_0 + 5, + SPR_TAB_ADMISSION_6 = SPR_TAB_ADMISSION_0 + 6, + SPR_TAB_ADMISSION_7 = SPR_TAB_ADMISSION_0 + 7, + SPR_TAB_FINANCES_SUMMARY_0 = 5261, + SPR_TAB_FINANCES_SUMMARY_1 = SPR_TAB_FINANCES_SUMMARY_0 + 1, + SPR_TAB_FINANCES_SUMMARY_2 = SPR_TAB_FINANCES_SUMMARY_0 + 2, + SPR_TAB_FINANCES_SUMMARY_3 = SPR_TAB_FINANCES_SUMMARY_0 + 3, + SPR_TAB_FINANCES_SUMMARY_4 = SPR_TAB_FINANCES_SUMMARY_0 + 4, + SPR_TAB_FINANCES_SUMMARY_5 = SPR_TAB_FINANCES_SUMMARY_0 + 5, + SPR_TAB_FINANCES_SUMMARY_6 = SPR_TAB_FINANCES_SUMMARY_0 + 6, + SPR_TAB_FINANCES_SUMMARY_7 = SPR_TAB_FINANCES_SUMMARY_0 + 7, + SPR_TAB_THOUGHTS_0 = 5269, + SPR_TAB_THOUGHTS_1 = SPR_TAB_THOUGHTS_0 + 1, + SPR_TAB_THOUGHTS_2 = SPR_TAB_THOUGHTS_0 + 2, + SPR_TAB_THOUGHTS_3 = SPR_TAB_THOUGHTS_0 + 3, + SPR_TAB_THOUGHTS_4 = SPR_TAB_THOUGHTS_0 + 4, + SPR_TAB_THOUGHTS_5 = SPR_TAB_THOUGHTS_0 + 5, + SPR_TAB_THOUGHTS_6 = SPR_TAB_THOUGHTS_0 + 6, + SPR_TAB_THOUGHTS_7 = SPR_TAB_THOUGHTS_0 + 7, + SPR_TAB_STATS_0 = 5277, + SPR_TAB_STATS_1 = SPR_TAB_STATS_0 + 1, + SPR_TAB_STATS_2 = SPR_TAB_STATS_0 + 2, + SPR_TAB_STATS_3 = SPR_TAB_STATS_0 + 3, + SPR_TAB_STATS_4 = SPR_TAB_STATS_0 + 4, + SPR_TAB_STATS_5 = SPR_TAB_STATS_0 + 5, + SPR_TAB_STATS_6 = SPR_TAB_STATS_0 + 6, + SPR_PEEP_LARGE_FACE_VERY_VERY_UNHAPPY = 5284, + SPR_PEEP_LARGE_FACE_VERY_UNHAPPY = 5285, + SPR_PEEP_LARGE_FACE_UNHAPPY = 5286, + SPR_PEEP_LARGE_FACE_NORMAL = 5287, + SPR_PEEP_LARGE_FACE_HAPPY = 5288, + SPR_PEEP_LARGE_FACE_VERY_HAPPY = 5289, + SPR_PEEP_LARGE_FACE_VERY_VERY_HAPPY = 5290, + SPR_PEEP_LARGE_FACE_TIRED = 5291, + SPR_PEEP_LARGE_FACE_VERY_TIRED = 5292, + SPR_PEEP_LARGE_FACE_SICK = 5293, + SPR_PEEP_LARGE_FACE_VERY_SICK_0 = 5294, + SPR_PEEP_LARGE_FACE_VERY_SICK_1 = SPR_PEEP_LARGE_FACE_VERY_SICK_0 + 1, + SPR_PEEP_LARGE_FACE_VERY_SICK_2 = SPR_PEEP_LARGE_FACE_VERY_SICK_0 + 2, + SPR_PEEP_LARGE_FACE_VERY_SICK_3 = SPR_PEEP_LARGE_FACE_VERY_SICK_0 + 3, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 = 5298, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_1 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 1, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_2 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 2, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_3 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 3, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_4 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 4, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_5 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 5, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_6 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 6, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_7 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 7, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_8 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 8, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_9 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 9, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_10 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 10, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_11 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 11, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_12 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 12, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_13 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 13, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_14 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 14, + SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_15 = SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0 + 15, + SPR_PEEP_LARGE_FACE_ANGRY_0 = 5314, + SPR_PEEP_LARGE_FACE_ANGRY_1 = SPR_PEEP_LARGE_FACE_ANGRY_0 + 1, + SPR_PEEP_LARGE_FACE_ANGRY_2 = SPR_PEEP_LARGE_FACE_ANGRY_0 + 2, + SPR_PEEP_LARGE_FACE_ANGRY_3 = SPR_PEEP_LARGE_FACE_ANGRY_0 + 3, + // 5318 seems to be part of SPR_TAB_STAFF_OPTIONS + SPR_TAB_STAFF_OPTIONS_0 = 5319, + SPR_TAB_STAFF_OPTIONS_1 = SPR_TAB_STAFF_OPTIONS_0 + 1, + SPR_TAB_STAFF_OPTIONS_2 = SPR_TAB_STAFF_OPTIONS_0 + 2, + SPR_TAB_STAFF_OPTIONS_3 = SPR_TAB_STAFF_OPTIONS_0 + 3, + SPR_TAB_STAFF_OPTIONS_4 = SPR_TAB_STAFF_OPTIONS_0 + 4, + SPR_TAB_STAFF_OPTIONS_5 = SPR_TAB_STAFF_OPTIONS_0 + 5, + SPR_TAB_STAFF_OPTIONS_6 = SPR_TAB_STAFF_OPTIONS_0 + 6, + SPR_TAB_GUEST_INVENTORY = 5326, + SPR_TAB_FINANCES_RESEARCH_0 = 5327, + + + SPR_TAB_MUSIC_0 = 5335, + + SPR_TAB_SHOPS_AND_STALLS_0 = 5351, + SPR_TAB_SHOPS_AND_STALLS_1 = SPR_TAB_SHOPS_AND_STALLS_0 + 1, + SPR_TAB_SHOPS_AND_STALLS_2 = SPR_TAB_SHOPS_AND_STALLS_0 + 2, + SPR_TAB_SHOPS_AND_STALLS_3 = SPR_TAB_SHOPS_AND_STALLS_0 + 3, + SPR_TAB_SHOPS_AND_STALLS_4 = SPR_TAB_SHOPS_AND_STALLS_0 + 4, + SPR_TAB_SHOPS_AND_STALLS_5 = SPR_TAB_SHOPS_AND_STALLS_0 + 5, + SPR_TAB_SHOPS_AND_STALLS_6 = SPR_TAB_SHOPS_AND_STALLS_0 + 6, + SPR_TAB_SHOPS_AND_STALLS_7 = SPR_TAB_SHOPS_AND_STALLS_0 + 7, + SPR_TAB_SHOPS_AND_STALLS_8 = SPR_TAB_SHOPS_AND_STALLS_0 + 8, + SPR_TAB_SHOPS_AND_STALLS_9 = SPR_TAB_SHOPS_AND_STALLS_0 + 9, + SPR_TAB_SHOPS_AND_STALLS_10 = SPR_TAB_SHOPS_AND_STALLS_0 + 10, + SPR_TAB_SHOPS_AND_STALLS_11 = SPR_TAB_SHOPS_AND_STALLS_0 + 11, + SPR_TAB_SHOPS_AND_STALLS_12 = SPR_TAB_SHOPS_AND_STALLS_0 + 12, + SPR_TAB_SHOPS_AND_STALLS_13 = SPR_TAB_SHOPS_AND_STALLS_0 + 13, + SPR_TAB_SHOPS_AND_STALLS_14 = SPR_TAB_SHOPS_AND_STALLS_0 + 14, + SPR_TAB_SHOPS_AND_STALLS_15 = SPR_TAB_SHOPS_AND_STALLS_0 + 15, + + SPR_TAB_KIOSKS_AND_FACILITIES_0 = 5367, + SPR_TAB_KIOSKS_AND_FACILITIES_1 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 1, + SPR_TAB_KIOSKS_AND_FACILITIES_2 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 2, + SPR_TAB_KIOSKS_AND_FACILITIES_3 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 3, + SPR_TAB_KIOSKS_AND_FACILITIES_4 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 4, + SPR_TAB_KIOSKS_AND_FACILITIES_5 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 5, + SPR_TAB_KIOSKS_AND_FACILITIES_6 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 6, + SPR_TAB_KIOSKS_AND_FACILITIES_7 = SPR_TAB_KIOSKS_AND_FACILITIES_0 + 7, + + SPR_TAB_FINANCES_FINANCIAL_GRAPH_0 = 5375, + + SPR_TAB_FINANCES_PROFIT_GRAPH_0 = 5391, + + SPR_TAB_FINANCES_VALUE_GRAPH_0 = 5407, + + SPR_TAB_FINANCES_MARKETING_0 = 5423, + + SPR_TAB_RIDE_0 = 5442, + SPR_TAB_RIDE_1 = SPR_TAB_RIDE_0 + 1, + SPR_TAB_RIDE_2 = SPR_TAB_RIDE_0 + 2, + SPR_TAB_RIDE_3 = SPR_TAB_RIDE_0 + 3, + SPR_TAB_RIDE_4 = SPR_TAB_RIDE_0 + 4, + SPR_TAB_RIDE_5 = SPR_TAB_RIDE_0 + 5, + SPR_TAB_RIDE_6 = SPR_TAB_RIDE_0 + 6, + SPR_TAB_RIDE_7 = SPR_TAB_RIDE_0 + 7, + SPR_TAB_RIDE_8 = SPR_TAB_RIDE_0 + 8, + SPR_TAB_RIDE_9 = SPR_TAB_RIDE_0 + 9, + SPR_TAB_RIDE_10 = SPR_TAB_RIDE_0 + 10, + SPR_TAB_RIDE_11 = SPR_TAB_RIDE_0 + 11, + SPR_TAB_RIDE_12 = SPR_TAB_RIDE_0 + 12, + SPR_TAB_RIDE_13 = SPR_TAB_RIDE_0 + 13, + SPR_TAB_RIDE_14 = SPR_TAB_RIDE_0 + 14, + SPR_TAB_RIDE_15 = SPR_TAB_RIDE_0 + 15, + SPR_TAB_RIDE_16 = SPR_TAB_RIDE_0 + 16, // Same as SPR_TAB_RIDE_0 + SPR_TAB_SCENERY_TREES = 5459, + SPR_TAB_SCENERY_URBAN = 5460, + SPR_TAB_SCENERY_WALLS = 5461, + SPR_TAB_SCENERY_SIGNAGE = 5462, + SPR_TAB_SCENERY_PATHS = 5463, + SPR_TAB_SCENERY_PATH_ITEMS = 5464, + SPR_TAB_SCENERY_STATUES = 5465, + SPR_TAB_PARK = 5466, + SPR_TAB_WATER = 5467, + SPR_TAB_STATS = 5468, + SPR_AWARD_MOST_UNTIDY = 5469, + SPR_AWARD_MOST_TIDY = SPR_AWARD_MOST_UNTIDY + 1, + SPR_AWARD_BEST_ROLLERCOASTERS = SPR_AWARD_MOST_UNTIDY + 2, + SPR_AWARD_BEST_VALUE = SPR_AWARD_MOST_UNTIDY + 3, + SPR_AWARD_MOST_BEAUTIFUL = SPR_AWARD_MOST_UNTIDY + 4, + SPR_AWARD_WORST_VALUE = SPR_AWARD_MOST_UNTIDY + 5, + SPR_AWARD_SAFEST = SPR_AWARD_MOST_UNTIDY + 6, + SPR_AWARD_BEST_STAFF = SPR_AWARD_MOST_UNTIDY + 7, + SPR_AWARD_BEST_FOOD = SPR_AWARD_MOST_UNTIDY + 8, + SPR_AWARD_WORST_FOOD = SPR_AWARD_MOST_UNTIDY + 9, + SPR_AWARD_BEST_RESTROOMS = SPR_AWARD_MOST_UNTIDY + 10, + SPR_AWARD_MOST_DISAPPOINTING = SPR_AWARD_MOST_UNTIDY + 11, + SPR_AWARD_BEST_WATER_RIDES = SPR_AWARD_MOST_UNTIDY + 12, + SPR_AWARD_BEST_CUSTOM_DESIGNED_RIDES = SPR_AWARD_MOST_UNTIDY + 13, + SPR_AWARD_MOST_DAZZLING_RIDE_COLOURS = SPR_AWARD_MOST_UNTIDY + 14, + SPR_AWARD_MOST_CONFUSING_LAYOUT = SPR_AWARD_MOST_UNTIDY + 15, + SPR_AWARD_BEST_GENTLE_RIDES = SPR_AWARD_MOST_UNTIDY + 16, + SPR_PEEP_SMALL_FACE_VERY_VERY_UNHAPPY = 5486, + SPR_PEEP_SMALL_FACE_VERY_UNHAPPY = 5487, + SPR_PEEP_SMALL_FACE_UNHAPPY = 5488, + SPR_PEEP_SMALL_FACE_NORMAL = 5489, + SPR_PEEP_SMALL_FACE_HAPPY = 5490, + SPR_PEEP_SMALL_FACE_VERY_HAPPY = 5491, + SPR_PEEP_SMALL_FACE_VERY_VERY_HAPPY = 5492, + SPR_PEEP_SMALL_FACE_TIRED = 5493, + SPR_PEEP_SMALL_FACE_VERY_TIRED = 5494, + SPR_PEEP_SMALL_FACE_SICK = 5495, + SPR_PEEP_SMALL_FACE_VERY_SICK = 5496, + SPR_PEEP_SMALL_FACE_VERY_VERY_SICK = 5497, + SPR_PEEP_SMALL_FACE_ANGRY = 5498, + SPR_LAND_TOOL_DECREASE = 5499, + SPR_LAND_TOOL_DECREASE_PRESSED = 5500, + SPR_LAND_TOOL_INCREASE = 5501, + SPR_LAND_TOOL_INCREASE_PRESSED = 5502, + SPR_LAND_TOOL_SIZE_0 = 5503, + SPR_LAND_TOOL_SIZE_1 = SPR_LAND_TOOL_SIZE_0 + 1, + SPR_LAND_TOOL_SIZE_2 = SPR_LAND_TOOL_SIZE_0 + 2, + SPR_LAND_TOOL_SIZE_3 = SPR_LAND_TOOL_SIZE_0 + 3, + SPR_LAND_TOOL_SIZE_4 = SPR_LAND_TOOL_SIZE_0 + 4, + SPR_LAND_TOOL_SIZE_5 = SPR_LAND_TOOL_SIZE_0 + 5, + SPR_LAND_TOOL_SIZE_6 = SPR_LAND_TOOL_SIZE_0 + 6, + SPR_LAND_TOOL_SIZE_7 = SPR_LAND_TOOL_SIZE_0 + 7, + SPR_TAB_OBJECTIVE_0 = 5511, + SPR_TAB_OBJECTIVE_1 = SPR_TAB_OBJECTIVE_0 + 1, + SPR_TAB_OBJECTIVE_2 = SPR_TAB_OBJECTIVE_0 + 2, + SPR_TAB_OBJECTIVE_3 = SPR_TAB_OBJECTIVE_0 + 3, + SPR_TAB_OBJECTIVE_4 = SPR_TAB_OBJECTIVE_0 + 4, + SPR_TAB_OBJECTIVE_5 = SPR_TAB_OBJECTIVE_0 + 5, + SPR_TAB_OBJECTIVE_6 = SPR_TAB_OBJECTIVE_0 + 6, + SPR_TAB_OBJECTIVE_7 = SPR_TAB_OBJECTIVE_0 + 7, + SPR_TAB_OBJECTIVE_8 = SPR_TAB_OBJECTIVE_0 + 8, + SPR_TAB_OBJECTIVE_9 = SPR_TAB_OBJECTIVE_0 + 9, + SPR_TAB_OBJECTIVE_10 = SPR_TAB_OBJECTIVE_0 + 10, + SPR_TAB_OBJECTIVE_11 = SPR_TAB_OBJECTIVE_0 + 11, + SPR_TAB_OBJECTIVE_12 = SPR_TAB_OBJECTIVE_0 + 12, + SPR_TAB_OBJECTIVE_13 = SPR_TAB_OBJECTIVE_0 + 13, + SPR_TAB_OBJECTIVE_14 = SPR_TAB_OBJECTIVE_0 + 14, + SPR_TAB_OBJECTIVE_15 = SPR_TAB_OBJECTIVE_0 + 15, + SPR_TAB_AWARDS = 5527, + SPR_TAB_QUESTION = 5528, + + SPR_TAB_RIDES_SHOP_0 = 5530, + + SPR_TAB_RIDES_TRANSPORT_0 = 5537, + + SPR_TAB_RIDES_GENTLE_0 = 5542, + + SPR_TAB_RIDES_ROLLER_COASTERS_0 = 5546, + + SPR_TAB_RIDES_WATER_0 = 5551, + + SPR_TAB_RIDES_THRILL_0 = 5557, + + SPR_TAB_LARGE = 5564, + SPR_TAB_LARGE_SELECTED = 5565, + SPR_TAB_EXTRA_LARGE = 5566, + SPR_TAB_EXTRA_LARGE_SELECTED = 5567, + SPR_TAB_GUESTS_0 = 5568, + SPR_TAB_GUESTS_1 = SPR_TAB_GUESTS_0 + 1, + SPR_TAB_GUESTS_2 = SPR_TAB_GUESTS_0 + 2, + SPR_TAB_GUESTS_3 = SPR_TAB_GUESTS_0 + 3, + SPR_TAB_GUESTS_4 = SPR_TAB_GUESTS_0 + 4, + SPR_TAB_GUESTS_5 = SPR_TAB_GUESTS_0 + 5, + SPR_TAB_GUESTS_6 = SPR_TAB_GUESTS_0 + 6, + SPR_TAB_GUESTS_7 = SPR_TAB_GUESTS_0 + 7, + SPR_MAZE_CONSTRUCTION_BUILD = 5576, + SPR_MAZE_CONSTRUCTION_MOVE = 5577, + SPR_MAZE_CONSTRUCTION_FILL_IN = 5578, + SPR_FLOOR_TEXTURE_GRASS = 5579, + SPR_FLOOR_TEXTURE_SAND = SPR_FLOOR_TEXTURE_GRASS + 1, + SPR_FLOOR_TEXTURE_DIRT = SPR_FLOOR_TEXTURE_GRASS + 2, + SPR_FLOOR_TEXTURE_ROCK = SPR_FLOOR_TEXTURE_GRASS + 3, + SPR_FLOOR_TEXTURE_MARTIAN = SPR_FLOOR_TEXTURE_GRASS + 4, + SPR_FLOOR_TEXTURE_CHECKERBOARD = SPR_FLOOR_TEXTURE_GRASS + 5, + SPR_FLOOR_TEXTURE_GRASS_CLUMPS = SPR_FLOOR_TEXTURE_GRASS + 6, + SPR_FLOOR_TEXTURE_ICE = SPR_FLOOR_TEXTURE_GRASS + 7, + SPR_FLOOR_TEXTURE_GRID_RED = SPR_FLOOR_TEXTURE_GRASS + 8, + SPR_FLOOR_TEXTURE_GRID_YELLOW = SPR_FLOOR_TEXTURE_GRASS + 9, + SPR_FLOOR_TEXTURE_GRID_BLUE = SPR_FLOOR_TEXTURE_GRASS + 10, + SPR_FLOOR_TEXTURE_GRID_GREEN = SPR_FLOOR_TEXTURE_GRASS + 11, + SPR_FLOOR_TEXTURE_SAND_DARK = SPR_FLOOR_TEXTURE_GRASS + 12, + SPR_FLOOR_TEXTURE_SAND_LIGHT = SPR_FLOOR_TEXTURE_GRASS + 13, + SPR_WALL_TEXTURE_ROCK = 5593, + SPR_WALL_TEXTURE_WOOD_RED = SPR_WALL_TEXTURE_ROCK + 1, + SPR_WALL_TEXTURE_WOOD_BLACK = SPR_WALL_TEXTURE_ROCK + 2, + SPR_WALL_TEXTURE_ICE = SPR_WALL_TEXTURE_ROCK + 3, + SPR_TOOLBAR_PAUSE = 5597, + + SPR_TOOLBAR_FILE = 5599, + + SPR_TOOLBAR_ZOOM_OUT = 5601, + + SPR_TOOLBAR_ZOOM_OUT_DISABLED = 5603, + SPR_TOOLBAR_ZOOM_IN = 5604, + + SPR_TOOLBAR_ZOOM_IN_DISABLED = 5606, + SPR_TOOLBAR_ROTATE = 5607, + + SPR_TOOLBAR_LAND = 5609, + + SPR_TOOLBAR_MAP = 5611, + + SPR_TOOLBAR_GUESTS = 5613, + + SPR_TOOLBAR_SCENERY = 5615, + + SPR_TOOLBAR_WATER = 5617, + + SPR_TOOLBAR_RIDES = 5619, + + SPR_TOOLBAR_VIEW = 5621, + + SPR_TOOLBAR_FOOTPATH = 5623, + + SPR_TAB_TOOLBAR = 5625, + + SPR_TOOLBAR_STAFF = 5627, + + SPR_TOOLBAR_PARK = 5629, + + SPR_TOOLBAR_CONSTRUCT_RIDE = 5631, + + SPR_TOOLBAR_CLEAR_SCENERY = 5633, + + SPR_CONSTRUCTION_DIRECTION_NE = 5635, + SPR_CONSTRUCTION_DIRECTION_SE = 5636, + SPR_CONSTRUCTION_DIRECTION_SW = 5637, + SPR_CONSTRUCTION_DIRECTION_NW = 5638, + SPR_CONSTRUCTION_FOOTPATH_LAND = 5639, + SPR_CONSTRUCTION_FOOTPATH_BRIDGE = 5640, + + SPR_6410 = 6410, + + SPR_RIDE_DESIGN_PREVIEW_SPIRAL_ROLLER_COASTER_TRACK = 14222, + SPR_RIDE_DESIGN_PREVIEW_SPIRAL_ROLLER_COASTER_SUPPORTS = 14223, + SPR_RIDE_DESIGN_PREVIEW_STAND_UP_ROLLER_COASTER_TRACK = 14224, + SPR_RIDE_DESIGN_PREVIEW_STAND_UP_ROLLER_COASTER_SUPPORTS = 14225, + SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_SWINGING_COASTER_TRACK = 14226, + SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_SWINGING_COASTER_SUPPORTS = 14227, + SPR_RIDE_DESIGN_PREVIEW_INVERTED_ROLLER_COASTER_TRACK = 14228, + SPR_RIDE_DESIGN_PREVIEW_INVERTED_ROLLER_COASTER_SUPPORTS = 14229, + SPR_RIDE_DESIGN_PREVIEW_JUNIOR_ROLLER_COASTER_TRACK = 14230, + SPR_RIDE_DESIGN_PREVIEW_JUNIOR_ROLLER_COASTER_SUPPORTS = 14231, + SPR_RIDE_DESIGN_PREVIEW_MINIATURE_RAILWAY_TRACK = 14232, + SPR_RIDE_DESIGN_PREVIEW_MINIATURE_RAILWAY_SUPPORTS = 14233, + SPR_RIDE_DESIGN_PREVIEW_MONORAIL_TRACK = 14234, + SPR_RIDE_DESIGN_PREVIEW_MONORAIL_SUPPORTS = 14235, + SPR_RIDE_DESIGN_PREVIEW_MINI_SUSPENDED_COASTER_TRACK = 14236, + SPR_RIDE_DESIGN_PREVIEW_MINI_SUSPENDED_COASTER_SUPPORTS = 14237, + SPR_RIDE_DESIGN_PREVIEW_BOAT_RIDE_TRACK = 14238, + SPR_RIDE_DESIGN_PREVIEW_BOAT_RIDE_SUPPORTS = 14239, + SPR_RIDE_DESIGN_PREVIEW_WOODEN_WILD_MOUSE_TRACK = 14240, + SPR_RIDE_DESIGN_PREVIEW_WOODEN_WILD_MOUSE_SUPPORTS = 14241, + SPR_RIDE_DESIGN_PREVIEW_STEEPLECHASE_TRACK = 14242, + SPR_RIDE_DESIGN_PREVIEW_STEEPLECHASE_SUPPORTS = 14243, + SPR_RIDE_DESIGN_PREVIEW_CAR_RIDE_TRACK = 14244, + SPR_RIDE_DESIGN_PREVIEW_CAR_RIDE_SUPPORTS = 14245, + SPR_RIDE_DESIGN_PREVIEW_LAUNCHED_FREEFALL_TRACK = 14246, + SPR_RIDE_DESIGN_PREVIEW_LAUNCHED_FREEFALL_SUPPORTS = 14247, + SPR_RIDE_DESIGN_PREVIEW_BOBSLEIGH_COASTER_TRACK = 14248, + SPR_RIDE_DESIGN_PREVIEW_BOBSLEIGH_COASTER_SUPPORTS = 14249, + SPR_RIDE_DESIGN_PREVIEW_OBSERVATION_TOWER_TRACK = 14250, + SPR_RIDE_DESIGN_PREVIEW_OBSERVATION_TOWER_SUPPORTS = 14251, + SPR_RIDE_DESIGN_PREVIEW_LOOPING_ROLLER_COASTER_TRACK = 14252, + SPR_RIDE_DESIGN_PREVIEW_LOOPING_ROLLER_COASTER_SUPPORTS = 14253, + SPR_RIDE_DESIGN_PREVIEW_DINGHY_SLIDE_TRACK = 14254, + SPR_RIDE_DESIGN_PREVIEW_DINGHY_SLIDE_SUPPORTS = 14255, + SPR_RIDE_DESIGN_PREVIEW_MINE_TRAIN_COASTER_TRACK = 14256, + SPR_RIDE_DESIGN_PREVIEW_MINE_TRAIN_COASTER_SUPPORTS = 14257, + SPR_RIDE_DESIGN_PREVIEW_CHAIRLIFT_TRACK = 14258, + SPR_RIDE_DESIGN_PREVIEW_CHAIRLIFT_SUPPORTS = 14259, + SPR_RIDE_DESIGN_PREVIEW_CORKSCREW_ROLLER_COASTER_TRACK = 14260, + SPR_RIDE_DESIGN_PREVIEW_CORKSCREW_ROLLER_COASTER_SUPPORTS = 14261, + + SPR_RIDE_DESIGN_PREVIEW_SPIRAL_SLIDE_TRACK = 14264, + + SPR_RIDE_DESIGN_PREVIEW_GO_KARTS_TRACK = 14266, + SPR_RIDE_DESIGN_PREVIEW_GO_KARTS_SUPPORTS = 14267, + SPR_RIDE_DESIGN_PREVIEW_LOG_FLUME_TRACK = 14268, + SPR_RIDE_DESIGN_PREVIEW_LOG_FLUME_SUPPORTS = 14269, + SPR_RIDE_DESIGN_PREVIEW_RIVER_RAPIDS_TRACK = 14270, + SPR_RIDE_DESIGN_PREVIEW_RIVER_RAPIDS_SUPPORTS = 14271, + SPR_RIDE_DESIGN_PREVIEW_DODGEMS_TRACK = 14272, + SPR_RIDE_DESIGN_PREVIEW_DODGEMS_SUPPORTS = 14273, + SPR_RIDE_DESIGN_PREVIEW_PIRATE_SHIP_TRACK = 14274, + SPR_RIDE_DESIGN_PREVIEW_PIRATE_SHIP_SUPPORTS = 14275, + SPR_RIDE_DESIGN_PREVIEW_SWINGING_INVERTER_SHIP_TRACK = 14276, + SPR_RIDE_DESIGN_PREVIEW_SWINGING_INVERTER_SHIP_SUPPORTS = 14277, + + SPR_RIDE_DESIGN_PREVIEW_FERRIS_WHEEL_TRACK = 14296, + + SPR_RIDE_DESIGN_PREVIEW_TOP_SPIN_TRACK = 14302, + + SPR_RIDE_DESIGN_PREVIEW_REVERSE_FREEFALL_COASTER_TRACK = 14306, + SPR_RIDE_DESIGN_PREVIEW_REVERSE_FREEFALL_COASTER_SUPPORTS = 14307, + SPR_RIDE_DESIGN_PREVIEW_LIFT_TRACK = 14308, + + SPR_RIDE_DESIGN_PREVIEW_VERTICAL_DROP_ROLLER_COASTER_TRACK = 14310, + SPR_RIDE_DESIGN_PREVIEW_VERTICAL_DROP_ROLLER_COASTER_SUPPORTS = 14311, + + SPR_RIDE_DESIGN_PREVIEW_GHOST_TRAIN_TRACK = 14322, + SPR_RIDE_DESIGN_PREVIEW_GHOST_TRAIN_SUPPORTS = 14323, + SPR_RIDE_DESIGN_PREVIEW_TWISTER_ROLLER_COASTER_TRACK = 14324, + SPR_RIDE_DESIGN_PREVIEW_TWISTER_ROLLER_COASTER_SUPPORTS = 14325, + SPR_RIDE_DESIGN_PREVIEW_WOODEN_ROLLER_COASTER_TRACK = 14326, + SPR_RIDE_DESIGN_PREVIEW_WOODEN_ROLLER_COASTER_SUPPORTS = 14327, + SPR_RIDE_DESIGN_PREVIEW_SIDE_FRICTION_ROLLER_COASTER_TRACK = 14328, + SPR_RIDE_DESIGN_PREVIEW_SIDE_FRICTION_ROLLER_COASTER_SUPPORTS = 14329, + SPR_RIDE_DESIGN_PREVIEW_WILD_MOUSE_TRACK = 14330, + SPR_RIDE_DESIGN_PREVIEW_WILD_MOUSE_SUPPORTS = 14331, + SPR_RIDE_DESIGN_PREVIEW_MULTI_DIMENSION_ROLLER_COASTER_TRACK = 14332, + SPR_RIDE_DESIGN_PREVIEW_MULTI_DIMENSION_ROLLER_COASTER_SUPPORTS = 14333, + + SPR_RIDE_DESIGN_PREVIEW_FLYING_ROLLER_COASTER_TRACK = 14336, + SPR_RIDE_DESIGN_PREVIEW_FLYING_ROLLER_COASTER_SUPPORTS = 14337, + + SPR_RIDE_DESIGN_PREVIEW_VIRGINIA_REEL_TRACK = 14340, + SPR_RIDE_DESIGN_PREVIEW_VIRGINIA_REEL_SUPPORTS = 14341, + SPR_RIDE_DESIGN_PREVIEW_SPLASH_BOATS_TRACK = 14342, + SPR_RIDE_DESIGN_PREVIEW_SPLASH_BOATS_SUPPORTS = 14343, + SPR_RIDE_DESIGN_PREVIEW_MINI_HELICOPTERS_TRACK = 14344, + SPR_RIDE_DESIGN_PREVIEW_MINI_HELICOPTERS_SUPPORTS = 14345, + SPR_RIDE_DESIGN_PREVIEW_LAY_DOWN_ROLLER_COASTER_TRACK = 14346, + SPR_RIDE_DESIGN_PREVIEW_LAY_DOWN_ROLLER_COASTER_SUPPORTS = 14347, + SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_MONORAIL_TRACK = 14348, + SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_MONORAIL_SUPPORTS = 14349, + + SPR_RIDE_DESIGN_PREVIEW_REVERSER_ROLLER_COASTER_TRACK = 14352, + SPR_RIDE_DESIGN_PREVIEW_REVERSER_ROLLER_COASTER_SUPPORTS = 14353, + SPR_RIDE_DESIGN_PREVIEW_HEARTLINE_TWISTER_COASTER_TRACK = 14354, + SPR_RIDE_DESIGN_PREVIEW_HEARTLINE_TWISTER_COASTER_SUPPORTS = 14355, + SPR_RIDE_DESIGN_PREVIEW_MINI_GOLF_TRACK = 14356, + SPR_RIDE_DESIGN_PREVIEW_MINI_GOLF_SUPPORTS = 14357, + SPR_RIDE_DESIGN_PREVIEW_GIGA_COASTER_TRACK = 14358, + SPR_RIDE_DESIGN_PREVIEW_GIGA_COASTER_SUPPORTS = 14359, + SPR_RIDE_DESIGN_PREVIEW_ROTO_DROP_TRACK = 14360, + SPR_RIDE_DESIGN_PREVIEW_ROTO_DROP_SUPPORTS = 14361, + SPR_RIDE_DESIGN_PREVIEW_FLYING_SAUCERS_TRACK = 14362, + + SPR_RIDE_DESIGN_PREVIEW_MONORAIL_CYCLES_TRACK = 14366, + SPR_RIDE_DESIGN_PREVIEW_MONORAIL_CYCLES_SUPPORTS = 14367, + SPR_RIDE_DESIGN_PREVIEW_COMPACT_INVERTED_COASTER_TRACK = 14368, + SPR_RIDE_DESIGN_PREVIEW_COMPACT_INVERTED_COASTER_SUPPORTS = 14369, + SPR_RIDE_DESIGN_PREVIEW_WATER_COASTER_TRACK = 14370, + SPR_RIDE_DESIGN_PREVIEW_WATER_COASTER_SUPPORTS = 14371, + SPR_RIDE_DESIGN_PREVIEW_AIR_POWERED_VERTICAL_COASTER_TRACK = 14372, + SPR_RIDE_DESIGN_PREVIEW_AIR_POWERED_VERTICAL_COASTER_SUPPORTS = 14373, + SPR_RIDE_DESIGN_PREVIEW_INVERTED_HAIRPIN_COASTER_TRACK = 14374, + SPR_RIDE_DESIGN_PREVIEW_INVERTED_HAIRPIN_COASTER_SUPPORTS = 14375, + SPR_RIDE_DESIGN_PREVIEW_MAGIC_CARPET_TRACK = 14376, + SPR_RIDE_DESIGN_PREVIEW_MAGIC_CARPET_SUPPORTS = 14377, + SPR_RIDE_DESIGN_PREVIEW_SUBMARINE_RIDE_TRACK = 14378, + SPR_RIDE_DESIGN_PREVIEW_SUBMARINE_RIDE_SUPPORTS = 14379, + SPR_RIDE_DESIGN_PREVIEW_RIVER_RAFTS_TRACK = 14380, + SPR_RIDE_DESIGN_PREVIEW_RIVER_RAFTS_SUPPORTS = 14381, + + SPR_RIDE_DESIGN_PREVIEW_INVERTED_IMPULSE_COASTER_TRACK = 14394, + SPR_RIDE_DESIGN_PREVIEW_INVERTED_IMPULSE_COASTER_SUPPORTS = 14395, + SPR_RIDE_DESIGN_PREVIEW_MINI_ROLLER_COASTER_TRACK = 14396, + SPR_RIDE_DESIGN_PREVIEW_MINI_ROLLER_COASTER_SUPPORTS = 14397, + SPR_RIDE_DESIGN_PREVIEW_MINE_RIDE_TRACK = 14398, + SPR_RIDE_DESIGN_PREVIEW_MINE_RIDE_SUPPORTS = 14399, + + SPR_RIDE_DESIGN_PREVIEW_LIM_LAUNCHED_ROLLER_COASTER_TRACK = 14402, + SPR_RIDE_DESIGN_PREVIEW_LIM_LAUNCHED_ROLLER_COASTER_SUPPORTS = 14403, + + SPR_RIDE_DESIGN_PREVIEW_MAZE_BRICK_WALLS = 21990, + SPR_RIDE_DESIGN_PREVIEW_MAZE_HEDGES = 21991, + SPR_RIDE_DESIGN_PREVIEW_MAZE_ICE_BLOCKS = 21992, + SPR_RIDE_DESIGN_PREVIEW_MAZE_WOODEN_FENCES = 21993, + + SPR_LAND_OWNERSHIP_AVAILABLE = 22955, + SPR_LAND_CONSTRUCTION_RIGHTS_AVAILABLE = 22956, + + SPR_DUCK = 23133, + + SPR_NEXT_WEATHER = 23189, + SPR_WEATHER_SUN = 23190, + SPR_WEATHER_SUN_CLOUD = 23191, + SPR_WEATHER_CLOUD = 23192, + SPR_WEATHER_LIGHT_RAIN = 23193, + SPR_WEATHER_HEAVY_RAIN = 23194, + SPR_WEATHER_STORM = 23195, + SPR_WEATHER_UNKNOWN = 23196, + SPR_RATING_LOW = 23197, + SPR_RATING_HIGH = 23198, + SPR_MENU_CHECKMARK = 23199, + SPR_FADE_1 = 23200, + SPR_FADE_2 = 23201, + SPR_FADE_3 = 23202, + SPR_FADE_4 = 23203, + SPR_FADE_5 = 23204, + SPR_FADE_6 = 23205, + SPR_FADE_7 = 23206, + SPR_MENU_NEW_GAME = 23207, + SPR_MENU_LOAD_GAME = 23208, + SPR_MENU_TUTORIAL = 23209, + SPR_MENU_EXIT = 23210, + SPR_MENU_TOOLBOX = 23211, + SPR_MENU_LOGO = 23212, + SPR_CREDITS_LOGO_SMALL = 23213, + SPR_CREDITS_CHRIS_SAWYER_SMALL = 23214, + SPR_INTRO_CHRIS_SAWYER_00 = 23215, + SPR_INTRO_CHRIS_SAWYER_10 = SPR_INTRO_CHRIS_SAWYER_00 + 1, + SPR_INTRO_LOGO_00 = 23218, + SPR_INTRO_LOGO_10 = SPR_INTRO_LOGO_00 + 1, + SPR_INTRO_LOGO_20 = SPR_INTRO_LOGO_00 + 2, + SPR_INTRO_LOGO_01 = SPR_INTRO_LOGO_00 + 3, + SPR_INTRO_LOGO_11 = SPR_INTRO_LOGO_00 + 4, + SPR_INTRO_LOGO_21 = SPR_INTRO_LOGO_00 + 5, + + SPR_INTRO_INFOGRAMES_00 = 23226, + SPR_INTRO_INFOGRAMES_10 = SPR_INTRO_INFOGRAMES_00 + 1, + SPR_INTRO_INFOGRAMES_01 = SPR_INTRO_INFOGRAMES_00 + 2, + SPR_INTRO_INFOGRAMES_11 = SPR_INTRO_INFOGRAMES_00 + 3, + SPR_CREDITS_INFOGRAMES = 23230, + + SPR_NEW_RIDE_MASK = 29013, + + SPR_G2_BEGIN = 324288, + SPR_G2_LOGO = SPR_G2_BEGIN + 0, + SPR_G2_TITLE = SPR_G2_BEGIN + 1, + SPR_G2_FASTFORWARD = SPR_G2_BEGIN + 2, + SPR_G2_SPEED_ARROW = SPR_G2_BEGIN + 3, + SPR_G2_HYPER_ARROW = SPR_G2_BEGIN + 4, + SPR_G2_TAB_TWITCH = SPR_G2_BEGIN + 5, + SPR_G2_TAB_LAND = SPR_G2_BEGIN + 6, + + SPR_G2_PLACEHOLDER = SPR_G2_BEGIN + 7, + + SPR_G2_ZOOM_IN = SPR_G2_BEGIN + 8, + SPR_G2_ZOOM_IN_DISABLED = SPR_G2_BEGIN + 9, + SPR_G2_ZOOM_OUT = SPR_G2_BEGIN + 10, + SPR_G2_ZOOM_OUT_DISABLED = SPR_G2_BEGIN + 11, + + SPR_G2_TAB_TREE = SPR_G2_BEGIN + 12, + SPR_G2_TAB_PENCIL = SPR_G2_BEGIN + 13, + SPR_G2_BUTTON_LARGE_SCENERY = SPR_G2_BEGIN + 14, + SPR_G2_BUTTON_TREES = SPR_G2_BEGIN + 15, + SPR_G2_BUTTON_FOOTPATH = SPR_G2_BEGIN + 16, + + SPR_G2_RCT1_CLOSE_BUTTON_0 = SPR_G2_BEGIN + 17, + SPR_G2_RCT1_CLOSE_BUTTON_1 = SPR_G2_BEGIN + 18, + SPR_G2_RCT1_CLOSE_BUTTON_2 = SPR_G2_BEGIN + 19, + SPR_G2_RCT1_CLOSE_BUTTON_3 = SPR_G2_BEGIN + 20, + SPR_G2_RCT1_TEST_BUTTON_0 = SPR_G2_BEGIN + 21, + SPR_G2_RCT1_TEST_BUTTON_1 = SPR_G2_BEGIN + 22, + SPR_G2_RCT1_TEST_BUTTON_2 = SPR_G2_BEGIN + 23, + SPR_G2_RCT1_TEST_BUTTON_3 = SPR_G2_BEGIN + 24, + SPR_G2_RCT1_OPEN_BUTTON_0 = SPR_G2_BEGIN + 25, + SPR_G2_RCT1_OPEN_BUTTON_1 = SPR_G2_BEGIN + 26, + SPR_G2_RCT1_OPEN_BUTTON_2 = SPR_G2_BEGIN + 27, + SPR_G2_RCT1_OPEN_BUTTON_3 = SPR_G2_BEGIN + 28, + + SPR_G2_TITLE_RESTART = SPR_G2_BEGIN + 29, + SPR_G2_TITLE_STOP = SPR_G2_BEGIN + 30, + SPR_G2_TITLE_PLAY = SPR_G2_BEGIN + 31, + SPR_G2_TITLE_SKIP = SPR_G2_BEGIN + 32, + + SPR_G2_SANDBOX = SPR_G2_BEGIN + 33, + + SPR_G2_TAB_NEWS = SPR_G2_BEGIN + 58, + SPR_G2_LOCKED = SPR_G2_BEGIN + 59, + SPR_G2_MENU_MULTIPLAYER = SPR_G2_BEGIN + 60, + + SPR_G2_SORT = SPR_G2_BEGIN + 77, + SPR_G2_COPY = SPR_G2_BEGIN + 78, + SPR_G2_PASTE = SPR_G2_BEGIN + 79, + SPR_G2_TAB_DISABLED = SPR_G2_BEGIN + 80, + + SPR_G2_GIGA_RC_BOOSTER_NE_SW = SPR_G2_BEGIN + 81, + SPR_G2_GIGA_RC_BOOSTER_NW_SE = SPR_G2_BEGIN + 82, + SPR_G2_BM_BOOSTER_NE_SW = SPR_G2_BEGIN + 83, + SPR_G2_BM_BOOSTER_NW_SE = SPR_G2_BEGIN + 84, + + SPR_G2_TOOLBAR_MUTE = SPR_G2_BEGIN + 87, + SPR_G2_TOOLBAR_MUTE_PRESSED = SPR_G2_BEGIN + 88, + SPR_G2_TOOLBAR_UNMUTE = SPR_G2_BEGIN + 89, + SPR_G2_TOOLBAR_UNMUTE_PRESSED = SPR_G2_BEGIN + 90, + + SPR_G2_MINI_RC_BOOSTER_NE_SW = SPR_G2_BEGIN + 91, + SPR_G2_MINI_RC_BOOSTER_NW_SE = SPR_G2_BEGIN + 92, + + // 0x60000, chosen because it's a round hex number + // of the last possible range of image ID values that is large enough to fit all csg1 sprites. + SPR_CSG_BEGIN = 393216, + + SPR_CSG_EDGE_BRICK_BASE = SPR_CSG_BEGIN + 40506, + SPR_CSG_EDGE_IRON_BASE = SPR_CSG_BEGIN + 40590, + SPR_CSG_EDGE_RED_BASE = SPR_CSG_BEGIN + 40926, + SPR_CSG_EDGE_YELLOW_BASE = SPR_CSG_BEGIN + 41030, + SPR_CSG_EDGE_GREY_BASE = SPR_CSG_BEGIN + 41134, + SPR_CSG_EDGE_PURPLE_BASE = SPR_CSG_BEGIN + 41238, + SPR_CSG_EDGE_GREEN_BASE = SPR_CSG_BEGIN + 41342, + SPR_CSG_EDGE_STONE_BROWN_BASE = SPR_CSG_BEGIN + 41446, + SPR_CSG_EDGE_STONE_GREY_BASE = SPR_CSG_BEGIN + 41550, + SPR_CSG_EDGE_SKYSCRAPER_A_BASE = SPR_CSG_BEGIN + 41654, + SPR_CSG_EDGE_SKYSCRAPER_B_BASE = SPR_CSG_BEGIN + 41758, }; #endif diff --git a/src/openrct2/util/sawyercoding.c b/src/openrct2/util/sawyercoding.c index 6cebb40428..f7e68ba375 100644 --- a/src/openrct2/util/sawyercoding.c +++ b/src/openrct2/util/sawyercoding.c @@ -32,33 +32,33 @@ bool gUseRLE = true; uint32 sawyercoding_calculate_checksum(const uint8* buffer, size_t length) { - size_t i; - uint32 checksum = 0; - for (i = 0; i < length; i++) - checksum += buffer[i]; + size_t i; + uint32 checksum = 0; + for (i = 0; i < length; i++) + checksum += buffer[i]; - return checksum; + return checksum; } size_t sawyercoding_read_chunk_buffer(uint8 *dst_buffer, const uint8 *src_buffer, sawyercoding_chunk_header chunkHeader, size_t dst_buffer_size) { - switch (chunkHeader.encoding) { - case CHUNK_ENCODING_NONE: - assert(chunkHeader.length <= dst_buffer_size); - memcpy(dst_buffer, src_buffer, chunkHeader.length); - break; - case CHUNK_ENCODING_RLE: - chunkHeader.length = (uint32)decode_chunk_rle_with_size(src_buffer, dst_buffer, chunkHeader.length, dst_buffer_size); - break; - case CHUNK_ENCODING_RLECOMPRESSED: - chunkHeader.length = (uint32)decode_chunk_rle_with_size(src_buffer, dst_buffer, chunkHeader.length, dst_buffer_size); - chunkHeader.length = (uint32)decode_chunk_repeat(dst_buffer, chunkHeader.length); - break; - case CHUNK_ENCODING_ROTATE: - memcpy(dst_buffer, src_buffer, chunkHeader.length); - decode_chunk_rotate(dst_buffer, chunkHeader.length); - break; - } - return chunkHeader.length; + switch (chunkHeader.encoding) { + case CHUNK_ENCODING_NONE: + assert(chunkHeader.length <= dst_buffer_size); + memcpy(dst_buffer, src_buffer, chunkHeader.length); + break; + case CHUNK_ENCODING_RLE: + chunkHeader.length = (uint32)decode_chunk_rle_with_size(src_buffer, dst_buffer, chunkHeader.length, dst_buffer_size); + break; + case CHUNK_ENCODING_RLECOMPRESSED: + chunkHeader.length = (uint32)decode_chunk_rle_with_size(src_buffer, dst_buffer, chunkHeader.length, dst_buffer_size); + chunkHeader.length = (uint32)decode_chunk_repeat(dst_buffer, chunkHeader.length); + break; + case CHUNK_ENCODING_ROTATE: + memcpy(dst_buffer, src_buffer, chunkHeader.length); + decode_chunk_rotate(dst_buffer, chunkHeader.length); + break; + } + return chunkHeader.length; } /** @@ -67,138 +67,138 @@ size_t sawyercoding_read_chunk_buffer(uint8 *dst_buffer, const uint8 *src_buffer * */ size_t sawyercoding_write_chunk_buffer(uint8 *dst_file, const uint8* buffer, sawyercoding_chunk_header chunkHeader) { - uint8 *encode_buffer, *encode_buffer2; + uint8 *encode_buffer, *encode_buffer2; - if (gUseRLE == false) { - if (chunkHeader.encoding == CHUNK_ENCODING_RLE || chunkHeader.encoding == CHUNK_ENCODING_RLECOMPRESSED) { - chunkHeader.encoding = CHUNK_ENCODING_NONE; - } - } - switch (chunkHeader.encoding){ - case CHUNK_ENCODING_NONE: - memcpy(dst_file, &chunkHeader, sizeof(sawyercoding_chunk_header)); - dst_file += sizeof(sawyercoding_chunk_header); - memcpy(dst_file, buffer, chunkHeader.length); - //fwrite(&chunkHeader, sizeof(sawyercoding_chunk_header), 1, file); - //fwrite(buffer, 1, chunkHeader.length, file); - break; - case CHUNK_ENCODING_RLE: - encode_buffer = malloc(0x600000); - chunkHeader.length = (uint32)encode_chunk_rle(buffer, encode_buffer, chunkHeader.length); - memcpy(dst_file, &chunkHeader, sizeof(sawyercoding_chunk_header)); - dst_file += sizeof(sawyercoding_chunk_header); - memcpy(dst_file, encode_buffer, chunkHeader.length); + if (gUseRLE == false) { + if (chunkHeader.encoding == CHUNK_ENCODING_RLE || chunkHeader.encoding == CHUNK_ENCODING_RLECOMPRESSED) { + chunkHeader.encoding = CHUNK_ENCODING_NONE; + } + } + switch (chunkHeader.encoding){ + case CHUNK_ENCODING_NONE: + memcpy(dst_file, &chunkHeader, sizeof(sawyercoding_chunk_header)); + dst_file += sizeof(sawyercoding_chunk_header); + memcpy(dst_file, buffer, chunkHeader.length); + //fwrite(&chunkHeader, sizeof(sawyercoding_chunk_header), 1, file); + //fwrite(buffer, 1, chunkHeader.length, file); + break; + case CHUNK_ENCODING_RLE: + encode_buffer = malloc(0x600000); + chunkHeader.length = (uint32)encode_chunk_rle(buffer, encode_buffer, chunkHeader.length); + memcpy(dst_file, &chunkHeader, sizeof(sawyercoding_chunk_header)); + dst_file += sizeof(sawyercoding_chunk_header); + memcpy(dst_file, encode_buffer, chunkHeader.length); - free(encode_buffer); - break; - case CHUNK_ENCODING_RLECOMPRESSED: - encode_buffer = malloc(chunkHeader.length * 2); - encode_buffer2 = malloc(0x600000); - chunkHeader.length = (uint32)encode_chunk_repeat(buffer, encode_buffer, chunkHeader.length); - chunkHeader.length = (uint32)encode_chunk_rle(encode_buffer, encode_buffer2, chunkHeader.length); - memcpy(dst_file, &chunkHeader, sizeof(sawyercoding_chunk_header)); - dst_file += sizeof(sawyercoding_chunk_header); - memcpy(dst_file, encode_buffer2, chunkHeader.length); + free(encode_buffer); + break; + case CHUNK_ENCODING_RLECOMPRESSED: + encode_buffer = malloc(chunkHeader.length * 2); + encode_buffer2 = malloc(0x600000); + chunkHeader.length = (uint32)encode_chunk_repeat(buffer, encode_buffer, chunkHeader.length); + chunkHeader.length = (uint32)encode_chunk_rle(encode_buffer, encode_buffer2, chunkHeader.length); + memcpy(dst_file, &chunkHeader, sizeof(sawyercoding_chunk_header)); + dst_file += sizeof(sawyercoding_chunk_header); + memcpy(dst_file, encode_buffer2, chunkHeader.length); - free(encode_buffer2); - free(encode_buffer); - break; - case CHUNK_ENCODING_ROTATE: - encode_buffer = malloc(chunkHeader.length); - memcpy(encode_buffer, buffer, chunkHeader.length); - encode_chunk_rotate(encode_buffer, chunkHeader.length); - memcpy(dst_file, &chunkHeader, sizeof(sawyercoding_chunk_header)); - dst_file += sizeof(sawyercoding_chunk_header); - memcpy(dst_file, encode_buffer, chunkHeader.length); + free(encode_buffer2); + free(encode_buffer); + break; + case CHUNK_ENCODING_ROTATE: + encode_buffer = malloc(chunkHeader.length); + memcpy(encode_buffer, buffer, chunkHeader.length); + encode_chunk_rotate(encode_buffer, chunkHeader.length); + memcpy(dst_file, &chunkHeader, sizeof(sawyercoding_chunk_header)); + dst_file += sizeof(sawyercoding_chunk_header); + memcpy(dst_file, encode_buffer, chunkHeader.length); - free(encode_buffer); - break; - } + free(encode_buffer); + break; + } - return chunkHeader.length + sizeof(sawyercoding_chunk_header); + return chunkHeader.length + sizeof(sawyercoding_chunk_header); } size_t sawyercoding_decode_sv4(const uint8 *src, uint8 *dst, size_t length, size_t bufferLength) { - // (0 to length - 4): RLE chunk - // (length - 4 to length): checksum - return decode_chunk_rle_with_size(src, dst, length - 4, bufferLength); + // (0 to length - 4): RLE chunk + // (length - 4 to length): checksum + return decode_chunk_rle_with_size(src, dst, length - 4, bufferLength); } size_t sawyercoding_decode_sc4(const uint8 *src, uint8 *dst, size_t length, size_t bufferLength) { - // Uncompress - size_t decodedLength = decode_chunk_rle_with_size(src, dst, length - 4, bufferLength); + // Uncompress + size_t decodedLength = decode_chunk_rle_with_size(src, dst, length - 4, bufferLength); - // Decode - for (size_t i = 0x60018; i <= min(decodedLength - 1, 0x1F8353); i++) - dst[i] = dst[i] ^ 0x9C; + // Decode + for (size_t i = 0x60018; i <= min(decodedLength - 1, 0x1F8353); i++) + dst[i] = dst[i] ^ 0x9C; - for (size_t i = 0x60018; i <= min(decodedLength - 1, 0x1F8350); i += 4) { - dst[i + 1] = ror8(dst[i + 1], 3); + for (size_t i = 0x60018; i <= min(decodedLength - 1, 0x1F8350); i += 4) { + dst[i + 1] = ror8(dst[i + 1], 3); - uint32 *code = (uint32*)&dst[i]; - *code = rol32(*code, 9); - } + uint32 *code = (uint32*)&dst[i]; + *code = rol32(*code, 9); + } - return decodedLength; + return decodedLength; } size_t sawyercoding_encode_sv4(const uint8 *src, uint8 *dst, size_t length) { - size_t encodedLength; - uint32 checksum; + size_t encodedLength; + uint32 checksum; - // Encode - encodedLength = encode_chunk_rle(src, dst, length); + // Encode + encodedLength = encode_chunk_rle(src, dst, length); - // Append checksum - checksum = sawyercoding_calculate_checksum(dst, encodedLength); - *((uint32*)&dst[encodedLength]) = checksum; + // Append checksum + checksum = sawyercoding_calculate_checksum(dst, encodedLength); + *((uint32*)&dst[encodedLength]) = checksum; - return encodedLength + 4; + return encodedLength + 4; } size_t sawyercoding_decode_td6(const uint8 *src, uint8 *dst, size_t length) { - return decode_chunk_rle(src, dst, length - 4); + return decode_chunk_rle(src, dst, length - 4); } size_t sawyercoding_encode_td6(const uint8* src, uint8* dst, size_t length){ - size_t output_length = encode_chunk_rle(src, dst, length); + size_t output_length = encode_chunk_rle(src, dst, length); - uint32 checksum = 0; - for (size_t i = 0; i < output_length; i++){ - uint8 new_byte = ((checksum & 0xFF) + dst[i]) & 0xFF; - checksum = (checksum & 0xFFFFFF00) + new_byte; - checksum = rol32(checksum, 3); - } - checksum -= 0x1D4C1; + uint32 checksum = 0; + for (size_t i = 0; i < output_length; i++){ + uint8 new_byte = ((checksum & 0xFF) + dst[i]) & 0xFF; + checksum = (checksum & 0xFFFFFF00) + new_byte; + checksum = rol32(checksum, 3); + } + checksum -= 0x1D4C1; - *((uint32*)&dst[output_length]) = checksum; - output_length += 4; - return output_length; + *((uint32*)&dst[output_length]) = checksum; + output_length += 4; + return output_length; } /* Based off of rct2: 0x006770C1 */ sint32 sawyercoding_validate_track_checksum(const uint8* src, size_t length){ - uint32 file_checksum = *((uint32*)&src[length - 4]); + uint32 file_checksum = *((uint32*)&src[length - 4]); - uint32 checksum = 0; - for (size_t i = 0; i < length - 4; i++){ - uint8 new_byte = ((checksum & 0xFF) + src[i]) & 0xFF; - checksum = (checksum & 0xFFFFFF00) + new_byte; - checksum = rol32(checksum, 3); - } + uint32 checksum = 0; + for (size_t i = 0; i < length - 4; i++){ + uint8 new_byte = ((checksum & 0xFF) + src[i]) & 0xFF; + checksum = (checksum & 0xFFFFFF00) + new_byte; + checksum = rol32(checksum, 3); + } - if (checksum - 0x1D4C1 == file_checksum) - return 1; // .TD6 - else if (checksum - 0x1A67C == file_checksum) - return 1; // .TD4 - else if (checksum - 0x1A650 == file_checksum) - return 1; // .TD4 - else - return 0; + if (checksum - 0x1D4C1 == file_checksum) + return 1; // .TD6 + else if (checksum - 0x1A67C == file_checksum) + return 1; // .TD4 + else if (checksum - 0x1A650 == file_checksum) + return 1; // .TD4 + else + return 0; } #pragma region Decoding @@ -209,27 +209,27 @@ sint32 sawyercoding_validate_track_checksum(const uint8* src, size_t length){ */ static size_t decode_chunk_rle(const uint8* src_buffer, uint8* dst_buffer, size_t length) { - size_t count; - uint8 *dst, rleCodeByte; + size_t count; + uint8 *dst, rleCodeByte; - dst = dst_buffer; + dst = dst_buffer; - for (size_t i = 0; i < length; i++) { - rleCodeByte = src_buffer[i]; - if (rleCodeByte & 128) { - i++; - count = 257 - rleCodeByte; - memset(dst, src_buffer[i], count); - dst = (uint8*)((uintptr_t)dst + count); - } else { - memcpy(dst, src_buffer + i + 1, rleCodeByte + 1); - dst = (uint8*)((uintptr_t)dst + rleCodeByte + 1); - i += rleCodeByte + 1; - } - } + for (size_t i = 0; i < length; i++) { + rleCodeByte = src_buffer[i]; + if (rleCodeByte & 128) { + i++; + count = 257 - rleCodeByte; + memset(dst, src_buffer[i], count); + dst = (uint8*)((uintptr_t)dst + count); + } else { + memcpy(dst, src_buffer + i + 1, rleCodeByte + 1); + dst = (uint8*)((uintptr_t)dst + rleCodeByte + 1); + i += rleCodeByte + 1; + } + } - // Return final size - return dst - dst_buffer; + // Return final size + return dst - dst_buffer; } /** @@ -238,29 +238,29 @@ static size_t decode_chunk_rle(const uint8* src_buffer, uint8* dst_buffer, size_ */ static size_t decode_chunk_rle_with_size(const uint8* src_buffer, uint8* dst_buffer, size_t length, size_t dstSize) { - size_t count; - uint8 *dst, rleCodeByte; + size_t count; + uint8 *dst, rleCodeByte; - dst = dst_buffer; + dst = dst_buffer; - for (size_t i = 0; i < length; i++) { - rleCodeByte = src_buffer[i]; - if (rleCodeByte & 128) { - i++; - count = 257 - rleCodeByte; - assert(dst + count <= dst_buffer + dstSize); - memset(dst, src_buffer[i], count); - dst = (uint8*)((uintptr_t)dst + count); - } else { - assert(dst + rleCodeByte + 1 <= dst_buffer + dstSize); - memcpy(dst, src_buffer + i + 1, rleCodeByte + 1); - dst = (uint8*)((uintptr_t)dst + rleCodeByte + 1); - i += rleCodeByte + 1; - } - } + for (size_t i = 0; i < length; i++) { + rleCodeByte = src_buffer[i]; + if (rleCodeByte & 128) { + i++; + count = 257 - rleCodeByte; + assert(dst + count <= dst_buffer + dstSize); + memset(dst, src_buffer[i], count); + dst = (uint8*)((uintptr_t)dst + count); + } else { + assert(dst + rleCodeByte + 1 <= dst_buffer + dstSize); + memcpy(dst, src_buffer + i + 1, rleCodeByte + 1); + dst = (uint8*)((uintptr_t)dst + rleCodeByte + 1); + i += rleCodeByte + 1; + } + } - // Return final size - return dst - dst_buffer; + // Return final size + return dst - dst_buffer; } /** @@ -269,30 +269,30 @@ static size_t decode_chunk_rle_with_size(const uint8* src_buffer, uint8* dst_buf */ static size_t decode_chunk_repeat(uint8 *buffer, size_t length) { - size_t i, count; - uint8 *src, *dst, *copyOffset; + size_t i, count; + uint8 *src, *dst, *copyOffset; - // Backup buffer - src = malloc(length); - memcpy(src, buffer, length); - dst = buffer; + // Backup buffer + src = malloc(length); + memcpy(src, buffer, length); + dst = buffer; - for (i = 0; i < length; i++) { - if (src[i] == 0xFF) { - *dst++ = src[++i]; - } else { - count = (src[i] & 7) + 1; - copyOffset = dst + (sint32)(src[i] >> 3) - 32; - memcpy(dst, copyOffset, count); - dst = (uint8*)((uintptr_t)dst + count); - } - } + for (i = 0; i < length; i++) { + if (src[i] == 0xFF) { + *dst++ = src[++i]; + } else { + count = (src[i] & 7) + 1; + copyOffset = dst + (sint32)(src[i] >> 3) - 32; + memcpy(dst, copyOffset, count); + dst = (uint8*)((uintptr_t)dst + count); + } + } - // Free backup buffer - free(src); + // Free backup buffer + free(src); - // Return final size - return dst - buffer; + // Return final size + return dst - buffer; } /** @@ -301,12 +301,12 @@ static size_t decode_chunk_repeat(uint8 *buffer, size_t length) */ static void decode_chunk_rotate(uint8 *buffer, size_t length) { - size_t i; - uint8 code = 1; - for (i = 0; i < length; i++) { - buffer[i] = ror8(buffer[i], code); - code = (code + 2) % 8; - } + size_t i; + uint8 code = 1; + for (i = 0; i < length; i++) { + buffer[i] = ror8(buffer[i], code); + code = (code + 2) % 8; + } } #pragma endregion @@ -319,146 +319,146 @@ static void decode_chunk_rotate(uint8 *buffer, size_t length) */ static size_t encode_chunk_rle(const uint8 *src_buffer, uint8 *dst_buffer, size_t length) { - const uint8* src = src_buffer; - uint8* dst = dst_buffer; - const uint8* end_src = src + length; - uint8 count = 0; - const uint8* src_norm_start = src; + const uint8* src = src_buffer; + uint8* dst = dst_buffer; + const uint8* end_src = src + length; + uint8 count = 0; + const uint8* src_norm_start = src; - while (src < end_src - 1){ + while (src < end_src - 1){ - if ((count && *src == src[1]) || count > 125){ - *dst++ = count - 1; - memcpy(dst, src_norm_start, count); - dst += count; - src_norm_start += count; - count = 0; - } - if (*src == src[1]){ - for (; (count < 125) && ((src + count) < end_src); count++){ - if (*src != src[count]) break; - } - *dst++ = 257 - count; - *dst++ = *src; - src += count; - src_norm_start = src; - count = 0; - } - else{ - count++; - src++; - } - } - if (src == end_src - 1)count++; - if (count){ - *dst++ = count - 1; - memcpy(dst, src_norm_start, count); - dst += count; - src_norm_start += count; - count = 0; - } - return dst - dst_buffer; + if ((count && *src == src[1]) || count > 125){ + *dst++ = count - 1; + memcpy(dst, src_norm_start, count); + dst += count; + src_norm_start += count; + count = 0; + } + if (*src == src[1]){ + for (; (count < 125) && ((src + count) < end_src); count++){ + if (*src != src[count]) break; + } + *dst++ = 257 - count; + *dst++ = *src; + src += count; + src_norm_start = src; + count = 0; + } + else{ + count++; + src++; + } + } + if (src == end_src - 1)count++; + if (count){ + *dst++ = count - 1; + memcpy(dst, src_norm_start, count); + dst += count; + src_norm_start += count; + count = 0; + } + return dst - dst_buffer; } static size_t encode_chunk_repeat(const uint8 *src_buffer, uint8 *dst_buffer, size_t length) { - if (length == 0) - return 0; + if (length == 0) + return 0; - size_t outLength = 0; + size_t outLength = 0; - // Need to emit at least one byte, otherwise there is nothing to repeat - *dst_buffer++ = 255; - *dst_buffer++ = src_buffer[0]; - outLength += 2; + // Need to emit at least one byte, otherwise there is nothing to repeat + *dst_buffer++ = 255; + *dst_buffer++ = src_buffer[0]; + outLength += 2; - // Iterate through remainder of the source buffer - for (size_t i = 1; i < length; ) { - size_t searchIndex = (i < 32) ? 0 : (i - 32); - size_t searchEnd = i - 1; + // Iterate through remainder of the source buffer + for (size_t i = 1; i < length; ) { + size_t searchIndex = (i < 32) ? 0 : (i - 32); + size_t searchEnd = i - 1; - size_t bestRepeatIndex = 0; - size_t bestRepeatCount = 0; - for (size_t repeatIndex = searchIndex; repeatIndex <= searchEnd; repeatIndex++) { - size_t repeatCount = 0; - size_t maxRepeatCount = min(min(7, searchEnd - repeatIndex), length - i - 1); - // maxRepeatCount should not exceed length - assert(repeatIndex + maxRepeatCount < length); - assert(i + maxRepeatCount < length); - for (size_t j = 0; j <= maxRepeatCount; j++) { - if (src_buffer[repeatIndex + j] == src_buffer[i + j]) { - repeatCount++; - } else { - break; - } - } - if (repeatCount > bestRepeatCount) { - bestRepeatIndex = repeatIndex; - bestRepeatCount = repeatCount; + size_t bestRepeatIndex = 0; + size_t bestRepeatCount = 0; + for (size_t repeatIndex = searchIndex; repeatIndex <= searchEnd; repeatIndex++) { + size_t repeatCount = 0; + size_t maxRepeatCount = min(min(7, searchEnd - repeatIndex), length - i - 1); + // maxRepeatCount should not exceed length + assert(repeatIndex + maxRepeatCount < length); + assert(i + maxRepeatCount < length); + for (size_t j = 0; j <= maxRepeatCount; j++) { + if (src_buffer[repeatIndex + j] == src_buffer[i + j]) { + repeatCount++; + } else { + break; + } + } + if (repeatCount > bestRepeatCount) { + bestRepeatIndex = repeatIndex; + bestRepeatCount = repeatCount; - // Maximum repeat count is 8 - if (repeatCount == 8) - break; - } - } + // Maximum repeat count is 8 + if (repeatCount == 8) + break; + } + } - if (bestRepeatCount == 0) { - *dst_buffer++ = 255; - *dst_buffer++ = src_buffer[i]; - outLength += 2; - i++; - } else { - *dst_buffer++ = (uint8)((bestRepeatCount - 1) | ((32 - (i - bestRepeatIndex)) << 3)); - outLength++; - i += bestRepeatCount; - } - } + if (bestRepeatCount == 0) { + *dst_buffer++ = 255; + *dst_buffer++ = src_buffer[i]; + outLength += 2; + i++; + } else { + *dst_buffer++ = (uint8)((bestRepeatCount - 1) | ((32 - (i - bestRepeatIndex)) << 3)); + outLength++; + i += bestRepeatCount; + } + } - return outLength; + return outLength; } static void encode_chunk_rotate(uint8 *buffer, size_t length) { - size_t i; - uint8 code = 1; - for (i = 0; i < length; i++) { - buffer[i] = rol8(buffer[i], code); - code = (code + 2) % 8; - } + size_t i; + uint8 code = 1; + for (i = 0; i < length; i++) { + buffer[i] = rol8(buffer[i], code); + code = (code + 2) % 8; + } } #pragma endregion sint32 sawyercoding_detect_file_type(const uint8 *src, size_t length) { - size_t i; + size_t i; - // Currently can't detect TD4, as the checksum is the same as SC4 (need alternative method) + // Currently can't detect TD4, as the checksum is the same as SC4 (need alternative method) - uint32 checksum = *((uint32*)&src[length - 4]); - uint32 actualChecksum = 0; - for (i = 0; i < length - 4; i++) { - actualChecksum = (actualChecksum & 0xFFFFFF00) | (((actualChecksum & 0xFF) + (uint8)src[i]) & 0xFF); - actualChecksum = rol32(actualChecksum, 3); - } + uint32 checksum = *((uint32*)&src[length - 4]); + uint32 actualChecksum = 0; + for (i = 0; i < length - 4; i++) { + actualChecksum = (actualChecksum & 0xFFFFFF00) | (((actualChecksum & 0xFF) + (uint8)src[i]) & 0xFF); + actualChecksum = rol32(actualChecksum, 3); + } - return sawyercoding_detect_rct1_version(checksum - actualChecksum); + return sawyercoding_detect_rct1_version(checksum - actualChecksum); } sint32 sawyercoding_detect_rct1_version(sint32 gameVersion) { - sint32 fileType = (gameVersion) > 0 ? FILE_TYPE_SV4 : FILE_TYPE_SC4; - gameVersion = abs(gameVersion); + sint32 fileType = (gameVersion) > 0 ? FILE_TYPE_SV4 : FILE_TYPE_SC4; + gameVersion = abs(gameVersion); - if (gameVersion >= 108000 && gameVersion < 110000) - return (FILE_VERSION_RCT1 | fileType); - else if (gameVersion >= 110000 && gameVersion < 120000) - return (FILE_VERSION_RCT1_AA | fileType); - else if (gameVersion >= 120000 && gameVersion < 130000) - return (FILE_VERSION_RCT1_LL | fileType); - // RCTOA Acres sets this, and possibly some other user-created scenarios as well - else if (gameVersion == 0) - return (FILE_VERSION_RCT1_LL | fileType); + if (gameVersion >= 108000 && gameVersion < 110000) + return (FILE_VERSION_RCT1 | fileType); + else if (gameVersion >= 110000 && gameVersion < 120000) + return (FILE_VERSION_RCT1_AA | fileType); + else if (gameVersion >= 120000 && gameVersion < 130000) + return (FILE_VERSION_RCT1_LL | fileType); + // RCTOA Acres sets this, and possibly some other user-created scenarios as well + else if (gameVersion == 0) + return (FILE_VERSION_RCT1_LL | fileType); - return -1; + return -1; } diff --git a/src/openrct2/util/sawyercoding.h b/src/openrct2/util/sawyercoding.h index e0a5b0db24..68a637e13d 100644 --- a/src/openrct2/util/sawyercoding.h +++ b/src/openrct2/util/sawyercoding.h @@ -21,8 +21,8 @@ #pragma pack(push, 1) typedef struct sawyercoding_chunk_header { - uint8 encoding; - uint32 length; + uint8 encoding; + uint32 length; } sawyercoding_chunk_header; assert_struct_size(sawyercoding_chunk_header, 5); #pragma pack(pop) @@ -30,22 +30,22 @@ assert_struct_size(sawyercoding_chunk_header, 5); extern bool gUseRLE; enum { - CHUNK_ENCODING_NONE, - CHUNK_ENCODING_RLE, - CHUNK_ENCODING_RLECOMPRESSED, - CHUNK_ENCODING_ROTATE + CHUNK_ENCODING_NONE, + CHUNK_ENCODING_RLE, + CHUNK_ENCODING_RLECOMPRESSED, + CHUNK_ENCODING_ROTATE }; enum { - FILE_VERSION_MASK = (3 << 0), - FILE_VERSION_RCT1 = (0 << 0), - FILE_VERSION_RCT1_AA = (1 << 0), - FILE_VERSION_RCT1_LL = (2 << 0), + FILE_VERSION_MASK = (3 << 0), + FILE_VERSION_RCT1 = (0 << 0), + FILE_VERSION_RCT1_AA = (1 << 0), + FILE_VERSION_RCT1_LL = (2 << 0), - FILE_TYPE_MASK = (3 << 2), - FILE_TYPE_TD4 = (0 << 2), - FILE_TYPE_SV4 = (1 << 2), - FILE_TYPE_SC4 = (2 << 2) + FILE_TYPE_MASK = (3 << 2), + FILE_TYPE_TD4 = (0 << 2), + FILE_TYPE_SV4 = (1 << 2), + FILE_TYPE_SC4 = (2 << 2) }; uint32 sawyercoding_calculate_checksum(const uint8* buffer, size_t length); diff --git a/src/openrct2/util/util.c b/src/openrct2/util/util.c index 756778c503..d22d4b9245 100644 --- a/src/openrct2/util/util.c +++ b/src/openrct2/util/util.c @@ -23,235 +23,235 @@ sint32 squaredmetres_to_squaredfeet(sint32 squaredMetres) { - // 1 metre squared = 10.7639104 feet squared - // RCT2 approximates as 11 - return squaredMetres * 11; + // 1 metre squared = 10.7639104 feet squared + // RCT2 approximates as 11 + return squaredMetres * 11; } sint32 metres_to_feet(sint32 metres) { - // 1 metre = 3.2808399 feet - // RCT2 approximates as 3.28125 - return (metres * 840) / 256; + // 1 metre = 3.2808399 feet + // RCT2 approximates as 3.28125 + return (metres * 840) / 256; } sint32 mph_to_kmph(sint32 mph) { - // 1 mph = 1.60934 kmph - // RCT2 approximates as 1.609375 - return (mph * 1648) >> 10; + // 1 mph = 1.60934 kmph + // RCT2 approximates as 1.609375 + return (mph * 1648) >> 10; } sint32 mph_to_dmps(sint32 mph) { - // 1 mph = 4.4704 decimeters/s - return (mph * 73243) >> 14; + // 1 mph = 4.4704 decimeters/s + return (mph * 73243) >> 14; } bool filename_valid_characters(const utf8 *filename) { - for (sint32 i = 0; filename[i] != '\0'; i++) { - if (filename[i] == '\\' || filename[i] == '/' || filename[i] == ':' || filename[i] == '?' || - filename[i] == '*' || filename[i] == '<' || filename[i] == '>' || filename[i] == '|') - return false; - } - return true; + for (sint32 i = 0; filename[i] != '\0'; i++) { + if (filename[i] == '\\' || filename[i] == '/' || filename[i] == ':' || filename[i] == '?' || + filename[i] == '*' || filename[i] == '<' || filename[i] == '>' || filename[i] == '|') + return false; + } + return true; } utf8 *path_get_directory(const utf8 *path) { - // Find the last slash or backslash in the path - char *filename = strrchr(path, *PATH_SEPARATOR); + // Find the last slash or backslash in the path + char *filename = strrchr(path, *PATH_SEPARATOR); - // If the path is invalid (e.g. just a file name), return NULL - if (filename == NULL) - return NULL; + // If the path is invalid (e.g. just a file name), return NULL + if (filename == NULL) + return NULL; - char *directory = _strdup(path); - safe_strtrunc(directory, strlen(path) - strlen(filename) + 2); + char *directory = _strdup(path); + safe_strtrunc(directory, strlen(path) - strlen(filename) + 2); - return directory; + return directory; } const char *path_get_filename(const utf8 *path) { - // Find last slash or backslash in the path - char *filename = strrchr(path, *PATH_SEPARATOR); + // Find last slash or backslash in the path + char *filename = strrchr(path, *PATH_SEPARATOR); - // Checks if the path is valid (e.g. not just a file name) - if (filename == NULL) - { - // Return the input string to keep things working - return path; - } + // Checks if the path is valid (e.g. not just a file name) + if (filename == NULL) + { + // Return the input string to keep things working + return path; + } - // Increase pointer by one, to get rid of the slashes - filename++; + // Increase pointer by one, to get rid of the slashes + filename++; - return filename; + return filename; } // Returns the extension (dot inclusive) from the given path, or the end of the // string when no extension was found. const char *path_get_extension(const utf8 *path) { - // Get the filename from the path - const char *filename = path_get_filename(path); + // Get the filename from the path + const char *filename = path_get_filename(path); - // Try to find the most-right dot in the filename - char *extension = strrchr(filename, '.'); + // Try to find the most-right dot in the filename + char *extension = strrchr(filename, '.'); - // When no dot was found, return a pointer to the null-terminator - if (extension == NULL) - extension = strrchr(filename, '\0'); + // When no dot was found, return a pointer to the null-terminator + if (extension == NULL) + extension = strrchr(filename, '\0'); - return extension; + return extension; } void path_set_extension(utf8 *path, const utf8 *newExtension, size_t size) { - // Remove existing extension (check first if there is one) - if (path_get_extension(path) < strrchr(path, '\0')) - path_remove_extension(path); - // Append new extension - path_append_extension(path, newExtension, size); + // Remove existing extension (check first if there is one) + if (path_get_extension(path) < strrchr(path, '\0')) + path_remove_extension(path); + // Append new extension + path_append_extension(path, newExtension, size); } void path_append_extension(utf8 *path, const utf8 *newExtension, size_t size) { - // Append a dot to the filename if the new extension doesn't start with it - if (newExtension[0] != '.') - safe_strcat(path, ".", size); + // Append a dot to the filename if the new extension doesn't start with it + if (newExtension[0] != '.') + safe_strcat(path, ".", size); - // Append the extension to the path - safe_strcat(path, newExtension, size); + // Append the extension to the path + safe_strcat(path, newExtension, size); } void path_remove_extension(utf8 *path) { - // Find last dot in filename, and replace it with a null-terminator - char *lastDot = strrchr(path_get_filename(path), '.'); - if (lastDot != NULL) - *lastDot = '\0'; - else - log_warning("No extension found. (path = %s)", path); + // Find last dot in filename, and replace it with a null-terminator + char *lastDot = strrchr(path_get_filename(path), '.'); + if (lastDot != NULL) + *lastDot = '\0'; + else + log_warning("No extension found. (path = %s)", path); } void path_end_with_separator(utf8 *path, size_t size) { - size_t length = strnlen(path, size); - if (length >= size - 1) return; + size_t length = strnlen(path, size); + if (length >= size - 1) return; - if ((length == 0) || (path[length - 1] != *PATH_SEPARATOR)) - safe_strcat(path, PATH_SEPARATOR, size); + if ((length == 0) || (path[length - 1] != *PATH_SEPARATOR)) + safe_strcat(path, PATH_SEPARATOR, size); } sint32 bitscanforward(sint32 source) { - #if defined(_MSC_VER) && (_MSC_VER >= 1400) // Visual Studio 2005 - DWORD i; - uint8 success = _BitScanForward(&i, (uint32)source); - return success != 0 ? i : -1; - #elif defined(__GNUC__) - sint32 success = __builtin_ffs(source); - return success - 1; - #else - #pragma message "Falling back to iterative bitscan forward, consider using intrinsics" - // This is a low-hanging optimisation boost, check if your compiler offers - // any intrinsic. - // cf. https://github.com/OpenRCT2/OpenRCT2/pull/2093 - for (sint32 i = 0; i < 32; i++) - if (source & (1u << i)) - return i; + #if defined(_MSC_VER) && (_MSC_VER >= 1400) // Visual Studio 2005 + DWORD i; + uint8 success = _BitScanForward(&i, (uint32)source); + return success != 0 ? i : -1; + #elif defined(__GNUC__) + sint32 success = __builtin_ffs(source); + return success - 1; + #else + #pragma message "Falling back to iterative bitscan forward, consider using intrinsics" + // This is a low-hanging optimisation boost, check if your compiler offers + // any intrinsic. + // cf. https://github.com/OpenRCT2/OpenRCT2/pull/2093 + for (sint32 i = 0; i < 32; i++) + if (source & (1u << i)) + return i; - return -1; - #endif + return -1; + #endif } #if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) - #include - #define OpenRCT2_POPCNT_GNUC + #include + #define OpenRCT2_POPCNT_GNUC #elif defined(_MSC_VER) && (_MSC_VER >= 1500) && (defined(_M_X64) || defined(_M_IX86)) // VS2008 - #include - #define OpenRCT2_POPCNT_MSVC + #include + #define OpenRCT2_POPCNT_MSVC #endif static bool bitcount_popcnt_available() { - // POPCNT support is declared as the 23rd bit of ECX with CPUID(EAX = 1). - #if defined(OpenRCT2_POPCNT_GNUC) - // we could use __builtin_cpu_supports, but it requires runtime support from - // the compiler's library, which clang doesn't have yet. - uint32 eax, ebx, ecx = 0, edx; // avoid "maybe uninitialized" - __get_cpuid(1, &eax, &ebx, &ecx, &edx); - return (ecx & (1 << 23)); - #elif defined(OpenRCT2_POPCNT_MSVC) - sint32 regs[4]; - __cpuid(regs, 1); - return (regs[2] & (1 << 23)); - #else - return false; - #endif + // POPCNT support is declared as the 23rd bit of ECX with CPUID(EAX = 1). + #if defined(OpenRCT2_POPCNT_GNUC) + // we could use __builtin_cpu_supports, but it requires runtime support from + // the compiler's library, which clang doesn't have yet. + uint32 eax, ebx, ecx = 0, edx; // avoid "maybe uninitialized" + __get_cpuid(1, &eax, &ebx, &ecx, &edx); + return (ecx & (1 << 23)); + #elif defined(OpenRCT2_POPCNT_MSVC) + sint32 regs[4]; + __cpuid(regs, 1); + return (regs[2] & (1 << 23)); + #else + return false; + #endif } static sint32 bitcount_popcnt(uint32 source) { - #if defined(OpenRCT2_POPCNT_GNUC) - // use asm directly in order to actually emit the instruction : using - // __builtin_popcount results in an extra call to a library function. - sint32 rv; - asm volatile ("popcnt %1,%0" : "=r"(rv) : "rm"(source) : "cc"); - return rv; - #elif defined(OpenRCT2_POPCNT_MSVC) - return _mm_popcnt_u32(source); - #else - openrct2_assert(false, "bitcount_popcnt() called, without support compiled in"); - return INT_MAX; - #endif + #if defined(OpenRCT2_POPCNT_GNUC) + // use asm directly in order to actually emit the instruction : using + // __builtin_popcount results in an extra call to a library function. + sint32 rv; + asm volatile ("popcnt %1,%0" : "=r"(rv) : "rm"(source) : "cc"); + return rv; + #elif defined(OpenRCT2_POPCNT_MSVC) + return _mm_popcnt_u32(source); + #else + openrct2_assert(false, "bitcount_popcnt() called, without support compiled in"); + return INT_MAX; + #endif } static sint32 bitcount_lut(uint32 source) { - // https://graphics.stanford.edu/~seander/bithacks.html - static const uint8 BitsSetTable256[256] = - { - #define B2(n) n, n+1, n+1, n+2 - #define B4(n) B2(n), B2(n+1), B2(n+1), B2(n+2) - #define B6(n) B4(n), B4(n+1), B4(n+1), B4(n+2) - B6(0), B6(1), B6(1), B6(2) - }; - return BitsSetTable256[source & 0xff] + - BitsSetTable256[(source >> 8) & 0xff] + - BitsSetTable256[(source >> 16) & 0xff] + - BitsSetTable256[source >> 24]; + // https://graphics.stanford.edu/~seander/bithacks.html + static const uint8 BitsSetTable256[256] = + { + #define B2(n) n, n+1, n+1, n+2 + #define B4(n) B2(n), B2(n+1), B2(n+1), B2(n+2) + #define B6(n) B4(n), B4(n+1), B4(n+1), B4(n+2) + B6(0), B6(1), B6(1), B6(2) + }; + return BitsSetTable256[source & 0xff] + + BitsSetTable256[(source >> 8) & 0xff] + + BitsSetTable256[(source >> 16) & 0xff] + + BitsSetTable256[source >> 24]; } static sint32(*bitcount_fn)(uint32); void bitcount_init() { - bitcount_fn = bitcount_popcnt_available() ? bitcount_popcnt : bitcount_lut; + bitcount_fn = bitcount_popcnt_available() ? bitcount_popcnt : bitcount_lut; } sint32 bitcount(uint32 source) { - return bitcount_fn(source); + return bitcount_fn(source); } bool strequals(const char *a, const char *b, sint32 length, bool caseInsensitive) { - return caseInsensitive ? - _strnicmp(a, b, length) == 0 : - strncmp(a, b, length) == 0; + return caseInsensitive ? + _strnicmp(a, b, length) == 0 : + strncmp(a, b, length) == 0; } /* case insensitive compare */ sint32 strcicmp(char const *a, char const *b) { - for (;; a++, b++) { - sint32 d = tolower(*a) - tolower(*b); - if (d != 0 || !*a) - return d; - } + for (;; a++, b++) { + sint32 d = tolower(*a) - tolower(*b); + if (d != 0 || !*a) + return d; + } } /* Case insensitive logical compare */ @@ -262,156 +262,156 @@ sint32 strcicmp(char const *a, char const *b) // - John v2.0 // - John v2.1 sint32 strlogicalcmp(char const *a, char const *b) { - for (;; a++, b++) { - sint32 result = tolower(*a) - tolower(*b); - bool both_numeric = *a >= '0' && *a <= '9' && *b >= '0' && *b <= '9'; - if (result != 0 || !*a || both_numeric) { // difference found || end of string - if (both_numeric) { // a and b both start with a number - // Get the numbers in the string at current positions - sint32 na = 0 , nb = 0; - for (; *a >= '0' && *a <= '9'; a++) { na *= 10; na += *a - '0'; } - for (; *b >= '0' && *b <= '9'; b++) { nb *= 10; nb += *b - '0'; } - // In case the numbers are the same - if (na == nb) - continue; - return na - nb; - } - else { - return result; - } - } - } + for (;; a++, b++) { + sint32 result = tolower(*a) - tolower(*b); + bool both_numeric = *a >= '0' && *a <= '9' && *b >= '0' && *b <= '9'; + if (result != 0 || !*a || both_numeric) { // difference found || end of string + if (both_numeric) { // a and b both start with a number + // Get the numbers in the string at current positions + sint32 na = 0 , nb = 0; + for (; *a >= '0' && *a <= '9'; a++) { na *= 10; na += *a - '0'; } + for (; *b >= '0' && *b <= '9'; b++) { nb *= 10; nb += *b - '0'; } + // In case the numbers are the same + if (na == nb) + continue; + return na - nb; + } + else { + return result; + } + } + } } utf8 * safe_strtrunc(utf8 * text, size_t size) { - assert(text != NULL); + assert(text != NULL); - if (size == 0) return text; + if (size == 0) return text; - const char *sourceLimit = text + size - 1; - char *ch = text; - char *last = text; - uint32 codepoint; - while ((codepoint = utf8_get_next(ch, (const utf8 **)&ch)) != 0) { - if (ch <= sourceLimit) { - last = ch; - } else { - break; - } - } - *last = 0; + const char *sourceLimit = text + size - 1; + char *ch = text; + char *last = text; + uint32 codepoint; + while ((codepoint = utf8_get_next(ch, (const utf8 **)&ch)) != 0) { + if (ch <= sourceLimit) { + last = ch; + } else { + break; + } + } + *last = 0; - return text; + return text; } char *safe_strcpy(char * destination, const char * source, size_t size) { - assert(destination != NULL); - assert(source != NULL); + assert(destination != NULL); + assert(source != NULL); - if (size == 0) return destination; + if (size == 0) return destination; - char * result = destination; + char * result = destination; - bool truncated = false; - const char *sourceLimit = source + size - 1; - const char *ch = source; - uint32 codepoint; - while ((codepoint = utf8_get_next(ch, &ch)) != 0) { - if (ch <= sourceLimit) { - destination = utf8_write_codepoint(destination, codepoint); - } else { - truncated = true; - } - } - *destination = 0; + bool truncated = false; + const char *sourceLimit = source + size - 1; + const char *ch = source; + uint32 codepoint; + while ((codepoint = utf8_get_next(ch, &ch)) != 0) { + if (ch <= sourceLimit) { + destination = utf8_write_codepoint(destination, codepoint); + } else { + truncated = true; + } + } + *destination = 0; - if (truncated) { - log_warning("Truncating string \"%s\" to %d bytes.", result, size); - } - return result; + if (truncated) { + log_warning("Truncating string \"%s\" to %d bytes.", result, size); + } + return result; } char *safe_strcat(char *destination, const char *source, size_t size) { - assert(destination != NULL); - assert(source != NULL); + assert(destination != NULL); + assert(source != NULL); - if (size == 0) { - return destination; - } + if (size == 0) { + return destination; + } - char *result = destination; + char *result = destination; - size_t i; - for (i = 0; i < size; i++) { - if (*destination == '\0') { - break; - } else { - destination++; - } - } + size_t i; + for (i = 0; i < size; i++) { + if (*destination == '\0') { + break; + } else { + destination++; + } + } - bool terminated = false; - for (; i < size; i++) { - if (*source != '\0') { - *destination++ = *source++; - } else { - *destination = *source; - terminated = true; - break; - } - } + bool terminated = false; + for (; i < size; i++) { + if (*source != '\0') { + *destination++ = *source++; + } else { + *destination = *source; + terminated = true; + break; + } + } - if (!terminated) { - result[size - 1] = '\0'; - log_warning("Truncating string \"%s\" to %d bytes.", result, size); - } + if (!terminated) { + result[size - 1] = '\0'; + log_warning("Truncating string \"%s\" to %d bytes.", result, size); + } - return result; + return result; } char *safe_strcat_path(char *destination, const char *source, size_t size) { - path_end_with_separator(destination, size); - return safe_strcat(destination, source, size); + path_end_with_separator(destination, size); + return safe_strcat(destination, source, size); } char *safe_strtrimleft(char *destination, const char *source, size_t size) { - while (*source == ' ') { - source++; - } - return safe_strcpy(destination, source, size); + while (*source == ' ') { + source++; + } + return safe_strcpy(destination, source, size); } bool utf8_is_bom(const char *str) { - return str[0] == (char)(uint8)0xEF && str[1] == (char)(uint8)0xBB && str[2] == (char)(uint8)0xBF; + return str[0] == (char)(uint8)0xEF && str[1] == (char)(uint8)0xBB && str[2] == (char)(uint8)0xBF; } bool str_is_null_or_empty(const char *str) { - return str == NULL || str[0] == 0; + return str == NULL || str[0] == 0; } uint32 srand0, srand1, srand2, srand3; void util_srand(sint32 source) { - srand0 = source; - srand1 = srand0 ^ (source >> 24); - srand2 = srand1 ^ (source >> 16); - srand3 = srand2 ^ (source >> 8); + srand0 = source; + srand1 = srand0 ^ (source >> 24); + srand2 = srand1 ^ (source >> 16); + srand3 = srand2 ^ (source >> 8); } uint32 util_rand() { - uint32 temp = srand0 ^ (srand0 << 11); - srand0 = srand1; - srand1 = srand2; - srand2 = srand3; - srand3 = srand3 ^ (srand3 >> 19) ^ temp ^ (temp >> 8); - return srand3; + uint32 temp = srand0 ^ (srand0 << 11); + srand0 = srand1; + srand1 = srand2; + srand2 = srand3; + srand3 = srand3 ^ (srand3 >> 19) ^ temp ^ (temp >> 8); + return srand3; } #define CHUNK 128*1024 @@ -427,37 +427,37 @@ uint32 util_rand() { */ uint8 *util_zlib_inflate(uint8 *data, size_t data_in_size, size_t *data_out_size) { - sint32 ret = Z_OK; - uLongf out_size = (uLong)*data_out_size; - if (out_size == 0) - { - // Try to guesstimate the size needed for output data by applying the - // same ratio it would take to compress data_in_size. - out_size = (uLong)data_in_size * (uLong)data_in_size / compressBound((uLong)data_in_size); - out_size = min(MAX_ZLIB_REALLOC, out_size); - } - uLongf buffer_size = out_size; - uint8 *buffer = malloc(buffer_size); - do { - if (ret == Z_BUF_ERROR) - { - buffer_size *= 2; - out_size = buffer_size; - buffer = realloc(buffer, buffer_size); - } else if (ret == Z_STREAM_ERROR) { - log_error("Your build is shipped with broken zlib. Please use the official build."); - free(buffer); - return NULL; - } else if (ret < 0) { - log_error("Error uncompressing data."); - free(buffer); - return NULL; - } - ret = uncompress(buffer, &out_size, data, (uLong)data_in_size); - } while (ret != Z_OK); - buffer = realloc(buffer, out_size); - *data_out_size = out_size; - return buffer; + sint32 ret = Z_OK; + uLongf out_size = (uLong)*data_out_size; + if (out_size == 0) + { + // Try to guesstimate the size needed for output data by applying the + // same ratio it would take to compress data_in_size. + out_size = (uLong)data_in_size * (uLong)data_in_size / compressBound((uLong)data_in_size); + out_size = min(MAX_ZLIB_REALLOC, out_size); + } + uLongf buffer_size = out_size; + uint8 *buffer = malloc(buffer_size); + do { + if (ret == Z_BUF_ERROR) + { + buffer_size *= 2; + out_size = buffer_size; + buffer = realloc(buffer, buffer_size); + } else if (ret == Z_STREAM_ERROR) { + log_error("Your build is shipped with broken zlib. Please use the official build."); + free(buffer); + return NULL; + } else if (ret < 0) { + log_error("Error uncompressing data."); + free(buffer); + return NULL; + } + ret = uncompress(buffer, &out_size, data, (uLong)data_in_size); + } while (ret != Z_OK); + buffer = realloc(buffer, out_size); + *data_out_size = out_size; + return buffer; } /** @@ -470,26 +470,26 @@ uint8 *util_zlib_inflate(uint8 *data, size_t data_in_size, size_t *data_out_size */ uint8 *util_zlib_deflate(const uint8 *data, size_t data_in_size, size_t *data_out_size) { - sint32 ret = Z_OK; - uLongf out_size = (uLongf)*data_out_size; - uLong buffer_size = compressBound((uLong)data_in_size); - uint8 *buffer = malloc(buffer_size); - do { - if (ret == Z_BUF_ERROR) - { - buffer_size *= 2; - out_size = buffer_size; - buffer = realloc(buffer, buffer_size); - } else if (ret == Z_STREAM_ERROR) { - log_error("Your build is shipped with broken zlib. Please use the official build."); - free(buffer); - return NULL; - } - ret = compress(buffer, &out_size, data, (uLong)data_in_size); - } while (ret != Z_OK); - *data_out_size = out_size; - buffer = realloc(buffer, *data_out_size); - return buffer; + sint32 ret = Z_OK; + uLongf out_size = (uLongf)*data_out_size; + uLong buffer_size = compressBound((uLong)data_in_size); + uint8 *buffer = malloc(buffer_size); + do { + if (ret == Z_BUF_ERROR) + { + buffer_size *= 2; + out_size = buffer_size; + buffer = realloc(buffer, buffer_size); + } else if (ret == Z_STREAM_ERROR) { + log_error("Your build is shipped with broken zlib. Please use the official build."); + free(buffer); + return NULL; + } + ret = compress(buffer, &out_size, data, (uLong)data_in_size); + } while (ret != Z_OK); + *data_out_size = out_size; + buffer = realloc(buffer, *data_out_size); + return buffer; } // Type-independent code left as macro to reduce duplicate code. @@ -506,28 +506,28 @@ uint8 *util_zlib_deflate(const uint8 *data, size_t data_in_size, size_t *data_ou sint8 add_clamp_sint8(sint8 value, sint8 value_to_add) { - add_clamp_body(value, value_to_add, INT8_MIN, INT8_MAX); - return value; + add_clamp_body(value, value_to_add, INT8_MIN, INT8_MAX); + return value; } sint16 add_clamp_sint16(sint16 value, sint16 value_to_add) { - add_clamp_body(value, value_to_add, INT16_MIN, INT16_MAX); - return value; + add_clamp_body(value, value_to_add, INT16_MIN, INT16_MAX); + return value; } sint32 add_clamp_sint32(sint32 value, sint32 value_to_add) { - add_clamp_body(value, value_to_add, INT32_MIN, INT32_MAX); - return value; + add_clamp_body(value, value_to_add, INT32_MIN, INT32_MAX); + return value; } money32 add_clamp_money32(money32 value, money32 value_to_add) { - // This function is intended only for clarity, as money32 - // is technically the same as sint32 - assert_struct_size(money32, sizeof(sint32)); - return add_clamp_sint32(value, value_to_add); + // This function is intended only for clarity, as money32 + // is technically the same as sint32 + assert_struct_size(money32, sizeof(sint32)); + return add_clamp_sint32(value, value_to_add); } #undef add_clamp_body diff --git a/src/openrct2/windows/about.c b/src/openrct2/windows/about.c index 7e099f431c..6a2abb412b 100644 --- a/src/openrct2/windows/about.c +++ b/src/openrct2/windows/about.c @@ -20,54 +20,54 @@ #include "../interface/window.h" enum WINDOW_ABOUT_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_MUSIC_CREDITS, - WIDX_PUBLISHER_CREDITS + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_MUSIC_CREDITS, + WIDX_PUBLISHER_CREDITS }; rct_widget window_about_widgets[] = { - { WWT_FRAME, 0, 0, 399, 0, 329, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 398, 1, 14, STR_ROLLERCOASTER_TYCOON_2, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 387, 397, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_DROPDOWN_BUTTON, 1, 100, 299, 230, 241, STR_MUSIC_ACKNOWLEDGEMENTS_ELLIPSIS, STR_NONE }, // music credits button - { WWT_DROPDOWN_BUTTON, 1, 157, 356, 307, 318, STR_INFOGRAMES_INTERACTIVE_CREDITS, STR_NONE }, // infogrames credits button - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 399, 0, 329, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 398, 1, 14, STR_ROLLERCOASTER_TYCOON_2, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 387, 397, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_DROPDOWN_BUTTON, 1, 100, 299, 230, 241, STR_MUSIC_ACKNOWLEDGEMENTS_ELLIPSIS, STR_NONE }, // music credits button + { WWT_DROPDOWN_BUTTON, 1, 157, 356, 307, 318, STR_INFOGRAMES_INTERACTIVE_CREDITS, STR_NONE }, // infogrames credits button + { WIDGETS_END }, }; static void window_about_mouseup(rct_window *w, rct_widgetindex widgetIndex); static void window_about_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_about_events = { - NULL, - window_about_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_about_paint, - NULL + NULL, + window_about_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_about_paint, + NULL }; /** @@ -76,27 +76,27 @@ static rct_window_event_list window_about_events = { */ void window_about_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_ABOUT); - if (window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_ABOUT); + if (window != NULL) + return; - window = window_create_centred( - 400, - 330, - &window_about_events, - WC_ABOUT, - 0 - ); - window->widgets = window_about_widgets; - window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_MUSIC_CREDITS) | (1 << WIDX_PUBLISHER_CREDITS); + window = window_create_centred( + 400, + 330, + &window_about_events, + WC_ABOUT, + 0 + ); + window->widgets = window_about_widgets; + window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_MUSIC_CREDITS) | (1 << WIDX_PUBLISHER_CREDITS); - window_init_scroll_widgets(window); - window->colours[0] = COLOUR_LIGHT_BLUE; - window->colours[1] = COLOUR_LIGHT_BLUE; - window->colours[2] = COLOUR_LIGHT_BLUE; + window_init_scroll_widgets(window); + window->colours[0] = COLOUR_LIGHT_BLUE; + window->colours[1] = COLOUR_LIGHT_BLUE; + window->colours[2] = COLOUR_LIGHT_BLUE; } /** @@ -105,17 +105,17 @@ void window_about_open() */ static void window_about_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_MUSIC_CREDITS: - window_music_credits_open(); - break; - case WIDX_PUBLISHER_CREDITS: - window_publisher_credits_open(); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_MUSIC_CREDITS: + window_music_credits_open(); + break; + case WIDX_PUBLISHER_CREDITS: + window_publisher_credits_open(); + break; + } } /** @@ -124,52 +124,52 @@ static void window_about_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ static void window_about_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y; + sint32 x, y; - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - x = w->x + 200; - y = w->y + 17; + x = w->x + 200; + y = w->y + 17; - // Version - gfx_draw_string_centred(dpi, STR_VERSION_X, x, y, COLOUR_BLACK, NULL); + // Version + gfx_draw_string_centred(dpi, STR_VERSION_X, x, y, COLOUR_BLACK, NULL); - // Credits - y += 10; - gfx_draw_string_centred(dpi, STR_COPYRIGHT_CS, x, y, COLOUR_BLACK, NULL); - y += 79; - gfx_draw_string_centred(dpi, STR_DESIGNED_AND_PROGRAMMED_BY_CS, x, y, COLOUR_BLACK, NULL); - y += 10; - gfx_draw_string_centred(dpi, STR_GRAPHICS_BY_SF, x, y, COLOUR_BLACK, NULL); - y += 10; - gfx_draw_string_centred(dpi, STR_SOUND_AND_MUSIC_BY_AB, x, y, COLOUR_BLACK, NULL); - y += 10; - gfx_draw_string_centred(dpi, STR_ADDITIONAL_SOUNDS_RECORDED_BY_DE, x, y, COLOUR_BLACK, NULL); - y += 13; - gfx_draw_string_centred(dpi, STR_REPRESENTATION_BY_JL, x, y, COLOUR_BLACK, NULL); - y += 25; - gfx_draw_string_centred(dpi, STR_THANKS_TO, x, y, COLOUR_BLACK, NULL); - y += 10; - gfx_draw_string_centred(dpi, STR_THANKS_TO_PEOPLE, x, y, COLOUR_BLACK, NULL); - y += 10; - gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_1, x, y, COLOUR_BLACK, NULL); - y += 10; - gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_2, x, y, COLOUR_BLACK, NULL); - y += 10; - gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_3, x, y, COLOUR_BLACK, NULL); - y += 10; - gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_4, x, y, COLOUR_BLACK, NULL); - y += 10; - gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_5, x, y, COLOUR_BLACK, NULL); - y += 10; - gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_6, x, y, COLOUR_BLACK, NULL); - y += 10; - gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_7, x, y, COLOUR_BLACK, NULL); + // Credits + y += 10; + gfx_draw_string_centred(dpi, STR_COPYRIGHT_CS, x, y, COLOUR_BLACK, NULL); + y += 79; + gfx_draw_string_centred(dpi, STR_DESIGNED_AND_PROGRAMMED_BY_CS, x, y, COLOUR_BLACK, NULL); + y += 10; + gfx_draw_string_centred(dpi, STR_GRAPHICS_BY_SF, x, y, COLOUR_BLACK, NULL); + y += 10; + gfx_draw_string_centred(dpi, STR_SOUND_AND_MUSIC_BY_AB, x, y, COLOUR_BLACK, NULL); + y += 10; + gfx_draw_string_centred(dpi, STR_ADDITIONAL_SOUNDS_RECORDED_BY_DE, x, y, COLOUR_BLACK, NULL); + y += 13; + gfx_draw_string_centred(dpi, STR_REPRESENTATION_BY_JL, x, y, COLOUR_BLACK, NULL); + y += 25; + gfx_draw_string_centred(dpi, STR_THANKS_TO, x, y, COLOUR_BLACK, NULL); + y += 10; + gfx_draw_string_centred(dpi, STR_THANKS_TO_PEOPLE, x, y, COLOUR_BLACK, NULL); + y += 10; + gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_1, x, y, COLOUR_BLACK, NULL); + y += 10; + gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_2, x, y, COLOUR_BLACK, NULL); + y += 10; + gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_3, x, y, COLOUR_BLACK, NULL); + y += 10; + gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_4, x, y, COLOUR_BLACK, NULL); + y += 10; + gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_5, x, y, COLOUR_BLACK, NULL); + y += 10; + gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_6, x, y, COLOUR_BLACK, NULL); + y += 10; + gfx_draw_string_centred(dpi, STR_CREDIT_SPARE_7, x, y, COLOUR_BLACK, NULL); - // Images - gfx_draw_sprite(dpi, SPR_CREDITS_CHRIS_SAWYER_SMALL, w->x + 92, w->y + 40, 0); - gfx_draw_sprite(dpi, SPR_CREDITS_INFOGRAMES, w->x + 50, w->y + 247, 0); + // Images + gfx_draw_sprite(dpi, SPR_CREDITS_CHRIS_SAWYER_SMALL, w->x + 92, w->y + 40, 0); + gfx_draw_sprite(dpi, SPR_CREDITS_INFOGRAMES, w->x + 50, w->y + 247, 0); - // Licence - gfx_draw_string_left(dpi, STR_LICENSED_TO_INFOGRAMES_INTERACTIVE_INC, NULL, COLOUR_BLACK, w->x + 157, w->y + 257); + // Licence + gfx_draw_string_left(dpi, STR_LICENSED_TO_INFOGRAMES_INTERACTIVE_INC, NULL, COLOUR_BLACK, w->x + 157, w->y + 257); } diff --git a/src/openrct2/windows/banner.c b/src/openrct2/windows/banner.c index 59b4907bb3..b7309f6ab7 100644 --- a/src/openrct2/windows/banner.c +++ b/src/openrct2/windows/banner.c @@ -32,47 +32,47 @@ #define WH 96 enum WINDOW_BANNER_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_VIEWPORT, - WIDX_BANNER_TEXT, - WIDX_BANNER_NO_ENTRY, - WIDX_BANNER_DEMOLISH, - WIDX_MAIN_COLOUR, - WIDX_TEXT_COLOUR_DROPDOWN, - WIDX_TEXT_COLOUR_DROPDOWN_BUTTON + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_VIEWPORT, + WIDX_BANNER_TEXT, + WIDX_BANNER_NO_ENTRY, + WIDX_BANNER_DEMOLISH, + WIDX_MAIN_COLOUR, + WIDX_TEXT_COLOUR_DROPDOWN, + WIDX_TEXT_COLOUR_DROPDOWN_BUTTON }; static const rct_string_id BannerColouredTextFormats[] = { - STR_TEXT_COLOR_BLACK, - STR_TEXT_COLOR_GREY, - STR_TEXT_COLOR_WHITE, - STR_TEXT_COLOR_RED, - STR_TEXT_COLOR_GREEN, - STR_TEXT_COLOR_YELLOW, - STR_TEXT_COLOR_TOPAZ, - STR_TEXT_COLOR_CELADON, - STR_TEXT_COLOR_BABYBLUE, - STR_TEXT_COLOR_PALELAVENDER, - STR_TEXT_COLOR_PALEGOLD, - STR_TEXT_COLOR_LIGHTPINK, - STR_TEXT_COLOR_PEARLAQUA, - STR_TEXT_COLOR_PALESILVER, + STR_TEXT_COLOR_BLACK, + STR_TEXT_COLOR_GREY, + STR_TEXT_COLOR_WHITE, + STR_TEXT_COLOR_RED, + STR_TEXT_COLOR_GREEN, + STR_TEXT_COLOR_YELLOW, + STR_TEXT_COLOR_TOPAZ, + STR_TEXT_COLOR_CELADON, + STR_TEXT_COLOR_BABYBLUE, + STR_TEXT_COLOR_PALELAVENDER, + STR_TEXT_COLOR_PALEGOLD, + STR_TEXT_COLOR_LIGHTPINK, + STR_TEXT_COLOR_PEARLAQUA, + STR_TEXT_COLOR_PALESILVER, }; rct_widget window_banner_widgets[] = { - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE}, // panel / background - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_BANNER_WINDOW_TITLE, STR_WINDOW_TITLE_TIP}, // title bar - { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, // close x button - { WWT_VIEWPORT, 1, 3, WW - 26,17, WH - 20, 0x0FFFFFFFE, STR_NONE}, // tab content panel - { WWT_FLATBTN, 1, WW - 25, WW - 2, 19, 42, SPR_RENAME, STR_CHANGE_BANNER_TEXT_TIP}, // change banner button - { WWT_FLATBTN, 1, WW - 25, WW - 2, 43, 66, SPR_NO_ENTRY, STR_SET_AS_NO_ENTRY_BANNER_TIP}, // no entry button - { WWT_FLATBTN, 1, WW - 25, WW - 2, 67, 90, SPR_DEMOLISH, STR_DEMOLISH_BANNER_TIP}, // demolish button - { WWT_COLOURBTN, 1, 5, 16, WH - 16,WH - 5, 0xFFFFFFFF, STR_SELECT_MAIN_SIGN_COLOUR_TIP}, // high money - { WWT_DROPDOWN, 1, 43, 81, WH - 16,WH - 5, 0xFFFFFFFF, STR_NONE}, // high money - { WWT_DROPDOWN_BUTTON, 1, 70, 80, WH - 15,WH - 6, STR_DROPDOWN_GLYPH, STR_SELECT_TEXT_COLOUR_TIP}, // high money - { WIDGETS_END }, + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE}, // panel / background + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_BANNER_WINDOW_TITLE, STR_WINDOW_TITLE_TIP}, // title bar + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, // close x button + { WWT_VIEWPORT, 1, 3, WW - 26,17, WH - 20, 0x0FFFFFFFE, STR_NONE}, // tab content panel + { WWT_FLATBTN, 1, WW - 25, WW - 2, 19, 42, SPR_RENAME, STR_CHANGE_BANNER_TEXT_TIP}, // change banner button + { WWT_FLATBTN, 1, WW - 25, WW - 2, 43, 66, SPR_NO_ENTRY, STR_SET_AS_NO_ENTRY_BANNER_TIP}, // no entry button + { WWT_FLATBTN, 1, WW - 25, WW - 2, 67, 90, SPR_DEMOLISH, STR_DEMOLISH_BANNER_TIP}, // demolish button + { WWT_COLOURBTN, 1, 5, 16, WH - 16,WH - 5, 0xFFFFFFFF, STR_SELECT_MAIN_SIGN_COLOUR_TIP}, // high money + { WWT_DROPDOWN, 1, 43, 81, WH - 16,WH - 5, 0xFFFFFFFF, STR_NONE}, // high money + { WWT_DROPDOWN_BUTTON, 1, 70, 80, WH - 15,WH - 6, STR_DROPDOWN_GLYPH, STR_SELECT_TEXT_COLOUR_TIP}, // high money + { WIDGETS_END }, }; static void window_banner_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -84,34 +84,34 @@ static void window_banner_invalidate(rct_window *w); static void window_banner_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_banner_events = { - NULL, - window_banner_mouseup, - NULL, - window_banner_mousedown, - window_banner_dropdown, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_banner_textinput, - window_banner_unknown_14, - NULL, - NULL, - NULL, - NULL, - window_banner_invalidate, - window_banner_paint, - NULL + NULL, + window_banner_mouseup, + NULL, + window_banner_mousedown, + window_banner_dropdown, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_banner_textinput, + window_banner_unknown_14, + NULL, + NULL, + NULL, + NULL, + window_banner_invalidate, + window_banner_paint, + NULL }; /** @@ -120,68 +120,68 @@ static rct_window_event_list window_banner_events = { */ void window_banner_open(rct_windownumber number) { - rct_window* w; - rct_widget *viewportWidget; + rct_window* w; + rct_widget *viewportWidget; - // Check if window is already open - w = window_bring_to_front_by_number(WC_BANNER, number); - if (w != NULL) - return; + // Check if window is already open + w = window_bring_to_front_by_number(WC_BANNER, number); + if (w != NULL) + return; - w = window_create_auto_pos(WW, WH, &window_banner_events, WC_BANNER, WF_NO_SCROLLING); - w->widgets = window_banner_widgets; - w->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_BANNER_TEXT) | - (1 << WIDX_BANNER_NO_ENTRY) | - (1 << WIDX_BANNER_DEMOLISH) | - (1 << WIDX_MAIN_COLOUR) | - (1 << WIDX_TEXT_COLOUR_DROPDOWN) | - (1 << WIDX_TEXT_COLOUR_DROPDOWN_BUTTON); + w = window_create_auto_pos(WW, WH, &window_banner_events, WC_BANNER, WF_NO_SCROLLING); + w->widgets = window_banner_widgets; + w->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_BANNER_TEXT) | + (1 << WIDX_BANNER_NO_ENTRY) | + (1 << WIDX_BANNER_DEMOLISH) | + (1 << WIDX_MAIN_COLOUR) | + (1 << WIDX_TEXT_COLOUR_DROPDOWN) | + (1 << WIDX_TEXT_COLOUR_DROPDOWN_BUTTON); - w->number = number; - window_init_scroll_widgets(w); + w->number = number; + window_init_scroll_widgets(w); - sint32 view_x = gBanners[w->number].x << 5; - sint32 view_y = gBanners[w->number].y << 5; + sint32 view_x = gBanners[w->number].x << 5; + sint32 view_y = gBanners[w->number].y << 5; - rct_map_element* map_element = map_get_first_element_at(view_x / 32, view_y / 32); - while(1) { - if ( - (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_BANNER) && - (map_element->properties.banner.index == w->number) - ) { - break; - } + rct_map_element* map_element = map_get_first_element_at(view_x / 32, view_y / 32); + while(1) { + if ( + (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_BANNER) && + (map_element->properties.banner.index == w->number) + ) { + break; + } - map_element++; - } + map_element++; + } - sint32 view_z = map_element->base_height<<3; - w->frame_no = view_z; + sint32 view_z = map_element->base_height<<3; + w->frame_no = view_z; - view_x += 16; - view_y += 16; + view_x += 16; + view_y += 16; - // Create viewport - viewportWidget = &window_banner_widgets[WIDX_VIEWPORT]; - viewport_create( - w, - w->x + viewportWidget->left + 1, - w->y + viewportWidget->top + 1, - (viewportWidget->right - viewportWidget->left) - 2, - (viewportWidget->bottom - viewportWidget->top) - 2, - 0, - view_x, - view_y, - view_z, - 0, - -1 - ); + // Create viewport + viewportWidget = &window_banner_widgets[WIDX_VIEWPORT]; + viewport_create( + w, + w->x + viewportWidget->left + 1, + w->y + viewportWidget->top + 1, + (viewportWidget->right - viewportWidget->left) - 2, + (viewportWidget->bottom - viewportWidget->top) - 2, + 0, + view_x, + view_y, + view_z, + 0, + -1 + ); - w->viewport->flags = gConfigGeneral.always_show_gridlines ? VIEWPORT_FLAG_GRIDLINES : 0; - window_invalidate(w); + w->viewport->flags = gConfigGeneral.always_show_gridlines ? VIEWPORT_FLAG_GRIDLINES : 0; + window_invalidate(w); } /** @@ -190,33 +190,33 @@ void window_banner_open(rct_windownumber number) */ static void window_banner_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - rct_banner* banner = &gBanners[w->number]; - sint32 x = banner->x << 5; - sint32 y = banner->y << 5; + rct_banner* banner = &gBanners[w->number]; + sint32 x = banner->x << 5; + sint32 y = banner->y << 5; - rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); + rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); - while (1){ - if ((map_element_get_type(map_element) == MAP_ELEMENT_TYPE_BANNER) && - (map_element->properties.banner.index == w->number)) break; - map_element++; - } + while (1){ + if ((map_element_get_type(map_element) == MAP_ELEMENT_TYPE_BANNER) && + (map_element->properties.banner.index == w->number)) break; + map_element++; + } - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_BANNER_DEMOLISH: - game_do_command(x, 1, y, map_element->base_height | (map_element->properties.banner.position << 8), GAME_COMMAND_REMOVE_BANNER, 0, 0); - break; - case WIDX_BANNER_TEXT: - window_text_input_open(w, WIDX_BANNER_TEXT, STR_BANNER_TEXT, STR_ENTER_BANNER_TEXT, gBanners[w->number].string_idx, 0, 32); - break; - case WIDX_BANNER_NO_ENTRY: - textinput_cancel(); - game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, banner->colour, GAME_COMMAND_SET_BANNER_STYLE, banner->text_colour, banner->flags ^ BANNER_FLAG_NO_ENTRY); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_BANNER_DEMOLISH: + game_do_command(x, 1, y, map_element->base_height | (map_element->properties.banner.position << 8), GAME_COMMAND_REMOVE_BANNER, 0, 0); + break; + case WIDX_BANNER_TEXT: + window_text_input_open(w, WIDX_BANNER_TEXT, STR_BANNER_TEXT, STR_ENTER_BANNER_TEXT, gBanners[w->number].string_idx, 0, 32); + break; + case WIDX_BANNER_NO_ENTRY: + textinput_cancel(); + game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, banner->colour, GAME_COMMAND_SET_BANNER_STYLE, banner->text_colour, banner->flags ^ BANNER_FLAG_NO_ENTRY); + break; + } } /** @@ -225,35 +225,35 @@ static void window_banner_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ static void window_banner_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - rct_banner* banner = &gBanners[w->number]; + rct_banner* banner = &gBanners[w->number]; - switch (widgetIndex) { - case WIDX_MAIN_COLOUR: - window_dropdown_show_colour(w, widget, TRANSLUCENT(w->colours[1]), banner->colour); - break; - case WIDX_TEXT_COLOUR_DROPDOWN_BUTTON: + switch (widgetIndex) { + case WIDX_MAIN_COLOUR: + window_dropdown_show_colour(w, widget, TRANSLUCENT(w->colours[1]), banner->colour); + break; + case WIDX_TEXT_COLOUR_DROPDOWN_BUTTON: - for( sint32 i = 0; i < 13; ++i){ - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = BannerColouredTextFormats[i + 1]; - } + for( sint32 i = 0; i < 13; ++i){ + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = BannerColouredTextFormats[i + 1]; + } - // Switch to the dropdown box widget. - widget--; + // Switch to the dropdown box widget. + widget--; - window_dropdown_show_text_custom_width( - widget->left + w->x, - widget->top + w->y, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 13, - widget->right - widget->left - 3); + window_dropdown_show_text_custom_width( + widget->left + w->x, + widget->top + w->y, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 13, + widget->right - widget->left - 3); - dropdown_set_checked(banner->text_colour - 1, true); - break; - } + dropdown_set_checked(banner->text_colour - 1, true); + break; + } } /** @@ -262,22 +262,22 @@ static void window_banner_mousedown(rct_widgetindex widgetIndex, rct_window*w, r */ static void window_banner_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - rct_banner* banner = &gBanners[w->number]; + rct_banner* banner = &gBanners[w->number]; - switch(widgetIndex){ - case WIDX_MAIN_COLOUR: - if (dropdownIndex == -1) - break; + switch(widgetIndex){ + case WIDX_MAIN_COLOUR: + if (dropdownIndex == -1) + break; - game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, dropdownIndex, GAME_COMMAND_SET_BANNER_STYLE, banner->text_colour, banner->flags); - break; - case WIDX_TEXT_COLOUR_DROPDOWN_BUTTON: - if (dropdownIndex == -1) - break; + game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, dropdownIndex, GAME_COMMAND_SET_BANNER_STYLE, banner->text_colour, banner->flags); + break; + case WIDX_TEXT_COLOUR_DROPDOWN_BUTTON: + if (dropdownIndex == -1) + break; - game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, banner->colour, GAME_COMMAND_SET_BANNER_STYLE, dropdownIndex + 1, banner->flags); - break; - } + game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, banner->colour, GAME_COMMAND_SET_BANNER_STYLE, dropdownIndex + 1, banner->flags); + break; + } } /** @@ -286,11 +286,11 @@ static void window_banner_dropdown(rct_window *w, rct_widgetindex widgetIndex, s */ static void window_banner_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (widgetIndex == WIDX_BANNER_TEXT && text != NULL) { - game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 0)), GAME_COMMAND_SET_BANNER_NAME, *((sint32*)(text + 8)), *((sint32*)(text + 4))); - game_do_command(2, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 12)), GAME_COMMAND_SET_BANNER_NAME, *((sint32*)(text + 20)), *((sint32*)(text + 16))); - game_do_command(0, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 24)), GAME_COMMAND_SET_BANNER_NAME, *((sint32*)(text + 32)), *((sint32*)(text + 28))); - } + if (widgetIndex == WIDX_BANNER_TEXT && text != NULL) { + game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 0)), GAME_COMMAND_SET_BANNER_NAME, *((sint32*)(text + 8)), *((sint32*)(text + 4))); + game_do_command(2, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 12)), GAME_COMMAND_SET_BANNER_NAME, *((sint32*)(text + 20)), *((sint32*)(text + 16))); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 24)), GAME_COMMAND_SET_BANNER_NAME, *((sint32*)(text + 32)), *((sint32*)(text + 28))); + } } /** @@ -299,44 +299,44 @@ static void window_banner_textinput(rct_window *w, rct_widgetindex widgetIndex, */ static void window_banner_invalidate(rct_window *w) { - rct_banner* banner = &gBanners[w->number]; - rct_widget* colour_btn = &window_banner_widgets[WIDX_MAIN_COLOUR]; - colour_btn->type = WWT_EMPTY; + rct_banner* banner = &gBanners[w->number]; + rct_widget* colour_btn = &window_banner_widgets[WIDX_MAIN_COLOUR]; + colour_btn->type = WWT_EMPTY; - // Scenery item not sure why we use this instead of banner? - rct_scenery_entry* sceneryEntry = get_banner_entry(banner->type); + // Scenery item not sure why we use this instead of banner? + rct_scenery_entry* sceneryEntry = get_banner_entry(banner->type); - if (sceneryEntry->banner.flags & 1) colour_btn->type = WWT_COLOURBTN; + if (sceneryEntry->banner.flags & 1) colour_btn->type = WWT_COLOURBTN; - w->pressed_widgets &= ~(1ULL<disabled_widgets &= ~( - (1ULL<pressed_widgets &= ~(1ULL<disabled_widgets &= ~( + (1ULL<flags & BANNER_FLAG_NO_ENTRY){ - w->pressed_widgets |= (1ULL<disabled_widgets |= - (1ULL<flags & BANNER_FLAG_NO_ENTRY){ + w->pressed_widgets |= (1ULL<disabled_widgets |= + (1ULL<image = (banner->colour << 19) | 0x60000000 | SPR_PALETTE_BTN; + colour_btn->image = (banner->colour << 19) | 0x60000000 | SPR_PALETTE_BTN; - rct_widget* drop_down_widget = &window_banner_widgets[WIDX_TEXT_COLOUR_DROPDOWN]; - drop_down_widget->text = BannerColouredTextFormats[banner->text_colour]; + rct_widget* drop_down_widget = &window_banner_widgets[WIDX_TEXT_COLOUR_DROPDOWN]; + drop_down_widget->text = BannerColouredTextFormats[banner->text_colour]; } /* rct2: 0x006BA4C5 */ static void window_banner_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - // Draw viewport - if (w->viewport != NULL) { - window_draw_viewport(dpi, w); - } + // Draw viewport + if (w->viewport != NULL) { + window_draw_viewport(dpi, w); + } } /** @@ -345,34 +345,34 @@ static void window_banner_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_banner_unknown_14(rct_window *w) { - rct_viewport* view = w->viewport; - w->viewport = 0; + rct_viewport* view = w->viewport; + w->viewport = 0; - view->width = 0; - viewport_update_pointers(); + view->width = 0; + viewport_update_pointers(); - rct_banner* banner = &gBanners[w->number]; + rct_banner* banner = &gBanners[w->number]; - sint32 view_x = (banner->x << 5) + 16; - sint32 view_y = (banner->y << 5) + 16; - sint32 view_z = w->frame_no; + sint32 view_x = (banner->x << 5) + 16; + sint32 view_y = (banner->y << 5) + 16; + sint32 view_z = w->frame_no; - // Create viewport - rct_widget* viewportWidget = &window_banner_widgets[WIDX_VIEWPORT]; - viewport_create( - w, - w->x + viewportWidget->left + 1, - w->y + viewportWidget->top + 1, - (viewportWidget->right - viewportWidget->left) - 1, - (viewportWidget->bottom - viewportWidget->top) - 1, - 0, - view_x, - view_y, - view_z, - 0, - -1 - ); + // Create viewport + rct_widget* viewportWidget = &window_banner_widgets[WIDX_VIEWPORT]; + viewport_create( + w, + w->x + viewportWidget->left + 1, + w->y + viewportWidget->top + 1, + (viewportWidget->right - viewportWidget->left) - 1, + (viewportWidget->bottom - viewportWidget->top) - 1, + 0, + view_x, + view_y, + view_z, + 0, + -1 + ); - w->viewport->flags = gConfigGeneral.always_show_gridlines ? VIEWPORT_FLAG_GRIDLINES : 0; - window_invalidate(w); + w->viewport->flags = gConfigGeneral.always_show_gridlines ? VIEWPORT_FLAG_GRIDLINES : 0; + window_invalidate(w); } diff --git a/src/openrct2/windows/changelog.c b/src/openrct2/windows/changelog.c index 3fb35d934b..8978fbe9c6 100644 --- a/src/openrct2/windows/changelog.c +++ b/src/openrct2/windows/changelog.c @@ -29,11 +29,11 @@ #include "../world/scenery.h" enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_CONTENT_PANEL, - WIDX_SCROLL + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_CONTENT_PANEL, + WIDX_SCROLL }; #define WW 500 @@ -42,12 +42,12 @@ enum { #define MIN_WH 200 rct_widget window_changelog_widgets[] = { - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_CHANGELOG_TITLE, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_RESIZE, 1, 0, WW - 1, 14, WH - 1, 0xFFFFFFFF, STR_NONE }, // content panel - { WWT_SCROLL, 1, 3, WW - 3, 16, WH - 15, SCROLL_BOTH, STR_NONE }, // scroll area - { WIDGETS_END }, + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_CHANGELOG_TITLE, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_RESIZE, 1, 0, WW - 1, 14, WH - 1, 0xFFFFFFFF, STR_NONE }, // content panel + { WWT_SCROLL, 1, 3, WW - 3, 16, WH - 15, SCROLL_BOTH, STR_NONE }, // scroll area + { WIDGETS_END }, }; static void window_changelog_close(rct_window *w); @@ -59,34 +59,34 @@ static void window_changelog_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_changelog_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_changelog_events = { - window_changelog_close, - window_changelog_mouseup, - window_changelog_resize, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_changelog_scrollgetsize, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_changelog_invalidate, - window_changelog_paint, - window_changelog_scrollpaint + window_changelog_close, + window_changelog_mouseup, + window_changelog_resize, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_changelog_scrollgetsize, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_changelog_invalidate, + window_changelog_paint, + window_changelog_scrollpaint }; static bool window_changelog_read_file(); @@ -100,178 +100,178 @@ static sint32 _changelogLongestLineWidth = 0; rct_window *window_changelog_open() { - rct_window* window; + rct_window* window; - window = window_bring_to_front_by_class(WC_CHANGELOG); - if (window != NULL) - return window; + window = window_bring_to_front_by_class(WC_CHANGELOG); + if (window != NULL) + return window; - if (!window_changelog_read_file()) - return NULL; + if (!window_changelog_read_file()) + return NULL; - sint32 screenWidth = context_get_width(); - sint32 screenHeight = context_get_height(); + sint32 screenWidth = context_get_width(); + sint32 screenHeight = context_get_height(); - window = window_create_centred( - screenWidth * 4 / 5, - screenHeight * 4 / 5, - &window_changelog_events, - WC_CHANGELOG, - WF_RESIZABLE - ); - window->widgets = window_changelog_widgets; - window->enabled_widgets = (1 << WIDX_CLOSE); + window = window_create_centred( + screenWidth * 4 / 5, + screenHeight * 4 / 5, + &window_changelog_events, + WC_CHANGELOG, + WF_RESIZABLE + ); + window->widgets = window_changelog_widgets; + window->enabled_widgets = (1 << WIDX_CLOSE); - window_init_scroll_widgets(window); - window->min_width = MIN_WW; - window->min_height = MIN_WH; - window->max_width = MIN_WW; - window->max_height = MIN_WH; - return window; + window_init_scroll_widgets(window); + window->min_width = MIN_WW; + window->min_height = MIN_WH; + window->max_width = MIN_WW; + window->max_height = MIN_WH; + return window; } static void window_changelog_close(rct_window *w) { - window_changelog_dispose_file(); + window_changelog_dispose_file(); } static void window_changelog_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + } } static void window_changelog_resize(rct_window *w) { - sint32 screenWidth = context_get_width(); - sint32 screenHeight = context_get_height(); + sint32 screenWidth = context_get_width(); + sint32 screenHeight = context_get_height(); - w->max_width = (screenWidth * 4) / 5; - w->max_height = (screenHeight * 4) / 5; + w->max_width = (screenWidth * 4) / 5; + w->max_height = (screenHeight * 4) / 5; - w->min_width = MIN_WW; - w->min_height = MIN_WH; - if (w->width < w->min_width) { - window_invalidate(w); - w->width = w->min_width; - } - if (w->height < w->min_height) { - window_invalidate(w); - w->height = w->min_height; - } + w->min_width = MIN_WW; + w->min_height = MIN_WH; + if (w->width < w->min_width) { + window_invalidate(w); + w->width = w->min_width; + } + if (w->height < w->min_height) { + window_invalidate(w); + w->height = w->min_height; + } } static void window_changelog_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - *width = _changelogLongestLineWidth + 4; - *height = _changelogNumLines * 11; + *width = _changelogLongestLineWidth + 4; + *height = _changelogNumLines * 11; } static void window_changelog_invalidate(rct_window *w) { - window_changelog_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_changelog_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_changelog_widgets[WIDX_TITLE].right = w->width - 2; - window_changelog_widgets[WIDX_CLOSE].left = w->width - 13; - window_changelog_widgets[WIDX_CLOSE].right = w->width - 3; - window_changelog_widgets[WIDX_CONTENT_PANEL].right = w->width - 1; - window_changelog_widgets[WIDX_CONTENT_PANEL].bottom = w->height - 1; - window_changelog_widgets[WIDX_SCROLL].right = w->width - 3; - window_changelog_widgets[WIDX_SCROLL].bottom = w->height - 15; + window_changelog_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_changelog_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_changelog_widgets[WIDX_TITLE].right = w->width - 2; + window_changelog_widgets[WIDX_CLOSE].left = w->width - 13; + window_changelog_widgets[WIDX_CLOSE].right = w->width - 3; + window_changelog_widgets[WIDX_CONTENT_PANEL].right = w->width - 1; + window_changelog_widgets[WIDX_CONTENT_PANEL].bottom = w->height - 1; + window_changelog_widgets[WIDX_SCROLL].right = w->width - 3; + window_changelog_widgets[WIDX_SCROLL].bottom = w->height - 15; } static void window_changelog_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); } static void window_changelog_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - gCurrentFontFlags = 0; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gCurrentFontFlags = 0; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - sint32 x = 3; - sint32 y = 3; - for (sint32 i = 0; i < _changelogNumLines; i++) { - gfx_draw_string(dpi, _changelogLines[i], w->colours[0], x, y); - y += 11; - } + sint32 x = 3; + sint32 y = 3; + for (sint32 i = 0; i < _changelogNumLines; i++) { + gfx_draw_string(dpi, _changelogLines[i], w->colours[0], x, y); + y += 11; + } } static bool window_changelog_read_file() { - window_changelog_dispose_file(); - utf8 path[MAX_PATH]; - safe_strcpy(path, gExePath, MAX_PATH); - safe_strcat_path(path, "changelog.txt", MAX_PATH); - if (!readentirefile(path, (void**)&_changelogText, &_changelogTextSize)) { - log_error("Unable to read changelog.txt"); - return false; - } - void* new_memory = realloc(_changelogText, _changelogTextSize + 1); - if (new_memory == NULL) { - log_error("Failed to reallocate memory for changelog text"); - return false; - } - _changelogText = (char*)new_memory; - _changelogText[_changelogTextSize++] = 0; + window_changelog_dispose_file(); + utf8 path[MAX_PATH]; + safe_strcpy(path, gExePath, MAX_PATH); + safe_strcat_path(path, "changelog.txt", MAX_PATH); + if (!readentirefile(path, (void**)&_changelogText, &_changelogTextSize)) { + log_error("Unable to read changelog.txt"); + return false; + } + void* new_memory = realloc(_changelogText, _changelogTextSize + 1); + if (new_memory == NULL) { + log_error("Failed to reallocate memory for changelog text"); + return false; + } + _changelogText = (char*)new_memory; + _changelogText[_changelogTextSize++] = 0; - char *start = _changelogText; - if (_changelogTextSize >= 3 && utf8_is_bom(_changelogText)) - start += 3; + char *start = _changelogText; + if (_changelogTextSize >= 3 && utf8_is_bom(_changelogText)) + start += 3; - sint32 changelogLinesCapacity = 8; - _changelogLines = malloc(changelogLinesCapacity * sizeof(char*)); - _changelogLines[0] = start; - _changelogNumLines = 1; + sint32 changelogLinesCapacity = 8; + _changelogLines = malloc(changelogLinesCapacity * sizeof(char*)); + _changelogLines[0] = start; + _changelogNumLines = 1; - char *ch = start; - while (*ch != 0) { - uint8 c = *ch; - if (c == '\n') { - *ch++ = 0; - _changelogNumLines++; - if (_changelogNumLines > changelogLinesCapacity) { - changelogLinesCapacity *= 2; - new_memory = realloc(_changelogLines, changelogLinesCapacity * sizeof(char*)); - if (new_memory == NULL) { - log_error("Failed to reallocate memory for change log lines"); - return false; - } - _changelogLines = (char**)new_memory; - } - _changelogLines[_changelogNumLines - 1] = ch; - } else if (c < 32 || c > 122) { - // A character that won't be drawn or change state. - *ch++ = FORMAT_OUTLINE_OFF; - } else { - ch++; - } - } + char *ch = start; + while (*ch != 0) { + uint8 c = *ch; + if (c == '\n') { + *ch++ = 0; + _changelogNumLines++; + if (_changelogNumLines > changelogLinesCapacity) { + changelogLinesCapacity *= 2; + new_memory = realloc(_changelogLines, changelogLinesCapacity * sizeof(char*)); + if (new_memory == NULL) { + log_error("Failed to reallocate memory for change log lines"); + return false; + } + _changelogLines = (char**)new_memory; + } + _changelogLines[_changelogNumLines - 1] = ch; + } else if (c < 32 || c > 122) { + // A character that won't be drawn or change state. + *ch++ = FORMAT_OUTLINE_OFF; + } else { + ch++; + } + } - new_memory = realloc(_changelogLines, _changelogNumLines * sizeof(char*)); - if (new_memory == NULL) { - log_error("Failed to reallocate memory for change log lines"); - return false; - } - _changelogLines = (char**)new_memory; + new_memory = realloc(_changelogLines, _changelogNumLines * sizeof(char*)); + if (new_memory == NULL) { + log_error("Failed to reallocate memory for change log lines"); + return false; + } + _changelogLines = (char**)new_memory; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - _changelogLongestLineWidth = 0; - for (sint32 i = 0; i < _changelogNumLines; i++) { - sint32 width = gfx_get_string_width(_changelogLines[i]); - _changelogLongestLineWidth = max(width, _changelogLongestLineWidth); - } - return true; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + _changelogLongestLineWidth = 0; + for (sint32 i = 0; i < _changelogNumLines; i++) { + sint32 width = gfx_get_string_width(_changelogLines[i]); + _changelogLongestLineWidth = max(width, _changelogLongestLineWidth); + } + return true; } static void window_changelog_dispose_file() { - SafeFree(_changelogText); - SafeFree(_changelogLines); - _changelogTextSize = 0; - _changelogNumLines = 0; + SafeFree(_changelogText); + SafeFree(_changelogLines); + _changelogTextSize = 0; + _changelogNumLines = 0; } diff --git a/src/openrct2/windows/cheats.c b/src/openrct2/windows/cheats.c index a0d23552b1..1773647fed 100644 --- a/src/openrct2/windows/cheats.c +++ b/src/openrct2/windows/cheats.c @@ -41,256 +41,256 @@ static utf8 _moneySpinnerText[MONEY_DIGITS]; static money32 _moneySpinnerValue = MONEY_DEFAULT; enum { - WINDOW_CHEATS_PAGE_MONEY, - WINDOW_CHEATS_PAGE_GUESTS, - WINDOW_CHEATS_PAGE_MISC, - WINDOW_CHEATS_PAGE_RIDES, + WINDOW_CHEATS_PAGE_MONEY, + WINDOW_CHEATS_PAGE_GUESTS, + WINDOW_CHEATS_PAGE_MISC, + WINDOW_CHEATS_PAGE_RIDES, }; static const rct_string_id WeatherTypes[] = { - STR_SUNNY, - STR_PARTIALLY_CLOUDY, - STR_CLOUDY, - STR_RAIN, - STR_HEAVY_RAIN, - STR_THUNDERSTORM, + STR_SUNNY, + STR_PARTIALLY_CLOUDY, + STR_CLOUDY, + STR_RAIN, + STR_HEAVY_RAIN, + STR_THUNDERSTORM, }; enum WINDOW_CHEATS_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_TAB_2, - WIDX_TAB_3, - WIDX_TAB_4, - WIDX_TAB_CONTENT, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_TAB_2, + WIDX_TAB_3, + WIDX_TAB_4, + WIDX_TAB_CONTENT, - WIDX_NO_MONEY = WIDX_TAB_CONTENT, - WIDX_ADD_SET_MONEY_GROUP, - WIDX_MONEY_SPINNER, - WIDX_MONEY_SPINNER_INCREMENT, - WIDX_MONEY_SPINNER_DECREMENT, - WIDX_ADD_MONEY, - WIDX_SET_MONEY, - WIDX_CLEAR_LOAN, + WIDX_NO_MONEY = WIDX_TAB_CONTENT, + WIDX_ADD_SET_MONEY_GROUP, + WIDX_MONEY_SPINNER, + WIDX_MONEY_SPINNER_INCREMENT, + WIDX_MONEY_SPINNER_DECREMENT, + WIDX_ADD_MONEY, + WIDX_SET_MONEY, + WIDX_CLEAR_LOAN, - WIDX_GUEST_PARAMETERS_GROUP = WIDX_TAB_CONTENT, - WIDX_GUEST_HAPPINESS_MAX, - WIDX_GUEST_HAPPINESS_MIN, - WIDX_GUEST_ENERGY_MAX, - WIDX_GUEST_ENERGY_MIN, - WIDX_GUEST_HUNGER_MAX, - WIDX_GUEST_HUNGER_MIN, - WIDX_GUEST_THIRST_MAX, - WIDX_GUEST_THIRST_MIN, - WIDX_GUEST_NAUSEA_MAX, - WIDX_GUEST_NAUSEA_MIN, - WIDX_GUEST_NAUSEA_TOLERANCE_MAX, - WIDX_GUEST_NAUSEA_TOLERANCE_MIN, - WIDX_GUEST_BATHROOM_MAX, - WIDX_GUEST_BATHROOM_MIN, - WIDX_GUEST_RIDE_INTENSITY_MORE_THAN_1, - WIDX_GUEST_RIDE_INTENSITY_LESS_THAN_15, - WIDX_GUEST_IGNORE_RIDE_INTENSITY, - WIDX_DISABLE_VANDALISM, - WIDX_DISABLE_LITTERING, - WIDX_GIVE_ALL_GUESTS_GROUP, - WIDX_GIVE_GUESTS_MONEY, - WIDX_GIVE_GUESTS_PARK_MAPS, - WIDX_GIVE_GUESTS_BALLOONS, - WIDX_GIVE_GUESTS_UMBRELLAS, - WIDX_TRAM_GUESTS, - WIDX_REMOVE_ALL_GUESTS, - WIDX_EXPLODE_GUESTS, + WIDX_GUEST_PARAMETERS_GROUP = WIDX_TAB_CONTENT, + WIDX_GUEST_HAPPINESS_MAX, + WIDX_GUEST_HAPPINESS_MIN, + WIDX_GUEST_ENERGY_MAX, + WIDX_GUEST_ENERGY_MIN, + WIDX_GUEST_HUNGER_MAX, + WIDX_GUEST_HUNGER_MIN, + WIDX_GUEST_THIRST_MAX, + WIDX_GUEST_THIRST_MIN, + WIDX_GUEST_NAUSEA_MAX, + WIDX_GUEST_NAUSEA_MIN, + WIDX_GUEST_NAUSEA_TOLERANCE_MAX, + WIDX_GUEST_NAUSEA_TOLERANCE_MIN, + WIDX_GUEST_BATHROOM_MAX, + WIDX_GUEST_BATHROOM_MIN, + WIDX_GUEST_RIDE_INTENSITY_MORE_THAN_1, + WIDX_GUEST_RIDE_INTENSITY_LESS_THAN_15, + WIDX_GUEST_IGNORE_RIDE_INTENSITY, + WIDX_DISABLE_VANDALISM, + WIDX_DISABLE_LITTERING, + WIDX_GIVE_ALL_GUESTS_GROUP, + WIDX_GIVE_GUESTS_MONEY, + WIDX_GIVE_GUESTS_PARK_MAPS, + WIDX_GIVE_GUESTS_BALLOONS, + WIDX_GIVE_GUESTS_UMBRELLAS, + WIDX_TRAM_GUESTS, + WIDX_REMOVE_ALL_GUESTS, + WIDX_EXPLODE_GUESTS, - WIDX_GENERAL_GROUP = WIDX_TAB_CONTENT, - WIDX_OPEN_CLOSE_PARK, - WIDX_PARK_PARAMETERS, - WIDX_SANDBOX_MODE, - WIDX_RESET_DATE, - WIDX_OWN_ALL_LAND, - WIDX_UNLOCK_ALL_PRICES, - WIDX_FORCE_PARK_RATING, - WIDX_PARK_RATING_SPINNER, - WIDX_INCREASE_PARK_RATING, - WIDX_DECREASE_PARK_RATING, - WIDX_WIN_SCENARIO, - WIDX_HAVE_FUN, - WIDX_NEVERENDING_MARKETING, - WIDX_CLIMATE_GROUP, - WIDX_FREEZE_CLIMATE, - WIDX_WEATHER, - WIDX_WEATHER_DROPDOWN_BUTTON, - WIDX_STAFF_GROUP, - WIDX_CLEAR_GRASS, - WIDX_MOWED_GRASS, - WIDX_WATER_PLANTS, - WIDX_FIX_VANDALISM, - WIDX_REMOVE_LITTER, - WIDX_DISABLE_PLANT_AGING, - WIDX_FAST_STAFF, - WIDX_NORMAL_STAFF, + WIDX_GENERAL_GROUP = WIDX_TAB_CONTENT, + WIDX_OPEN_CLOSE_PARK, + WIDX_PARK_PARAMETERS, + WIDX_SANDBOX_MODE, + WIDX_RESET_DATE, + WIDX_OWN_ALL_LAND, + WIDX_UNLOCK_ALL_PRICES, + WIDX_FORCE_PARK_RATING, + WIDX_PARK_RATING_SPINNER, + WIDX_INCREASE_PARK_RATING, + WIDX_DECREASE_PARK_RATING, + WIDX_WIN_SCENARIO, + WIDX_HAVE_FUN, + WIDX_NEVERENDING_MARKETING, + WIDX_CLIMATE_GROUP, + WIDX_FREEZE_CLIMATE, + WIDX_WEATHER, + WIDX_WEATHER_DROPDOWN_BUTTON, + WIDX_STAFF_GROUP, + WIDX_CLEAR_GRASS, + WIDX_MOWED_GRASS, + WIDX_WATER_PLANTS, + WIDX_FIX_VANDALISM, + WIDX_REMOVE_LITTER, + WIDX_DISABLE_PLANT_AGING, + WIDX_FAST_STAFF, + WIDX_NORMAL_STAFF, - WIDX_RENEW_RIDES = WIDX_TAB_CONTENT, - WIDX_MAKE_DESTRUCTIBLE, - WIDX_FIX_ALL, - WIDX_FAST_LIFT_HILL, - WIDX_DISABLE_BRAKES_FAILURE, - WIDX_DISABLE_ALL_BREAKDOWNS, - WIDX_BUILD_IN_PAUSE_MODE, - WIDX_RESET_CRASH_STATUS, - WIDX_10_MINUTE_INSPECTIONS, - WIDX_SHOW_ALL_OPERATING_MODES, - WIDX_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES, - WIDX_DISABLE_TRAIN_LENGTH_LIMITS, - WIDX_ENABLE_CHAIN_LIFT_ON_ALL_TRACK, - WIDX_ENABLE_ARBITRARY_RIDE_TYPE_CHANGES, + WIDX_RENEW_RIDES = WIDX_TAB_CONTENT, + WIDX_MAKE_DESTRUCTIBLE, + WIDX_FIX_ALL, + WIDX_FAST_LIFT_HILL, + WIDX_DISABLE_BRAKES_FAILURE, + WIDX_DISABLE_ALL_BREAKDOWNS, + WIDX_BUILD_IN_PAUSE_MODE, + WIDX_RESET_CRASH_STATUS, + WIDX_10_MINUTE_INSPECTIONS, + WIDX_SHOW_ALL_OPERATING_MODES, + WIDX_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES, + WIDX_DISABLE_TRAIN_LENGTH_LIMITS, + WIDX_ENABLE_CHAIN_LIFT_ON_ALL_TRACK, + WIDX_ENABLE_ARBITRARY_RIDE_TYPE_CHANGES, }; #pragma region MEASUREMENTS -#define WW 249 -#define WH 300 -#define TAB_HEIGHT 43 -#define XSPA 5 // X spacing -#define YSPA 5 // Y spacing -#define XOS 6 + XSPA // X offset from left -#define YOS TAB_HEIGHT + YSPA // Y offset from top (includes tabs height) -#define BTNW 110 // button width -#define BTNH 16 // button height -#define OPTW 220 // Option (checkbox) width (two columns) -#define OPTH 10 // Option (checkbox) height (two columns) -#define GROUP_SPACE 6 +#define WW 249 +#define WH 300 +#define TAB_HEIGHT 43 +#define XSPA 5 // X spacing +#define YSPA 5 // Y spacing +#define XOS 6 + XSPA // X offset from left +#define YOS TAB_HEIGHT + YSPA // Y offset from top (includes tabs height) +#define BTNW 110 // button width +#define BTNH 16 // button height +#define OPTW 220 // Option (checkbox) width (two columns) +#define OPTH 10 // Option (checkbox) height (two columns) +#define GROUP_SPACE 6 -#define YPL(ROW) ((sint16)(YOS + ((BTNH + YSPA) * ROW))) -#define HPL(ROW) ((sint16)(YPL(ROW) + BTNH)) -#define OHPL(ROW) ((sint16)(YPL(ROW) + OPTH)) -#define XPL(COL) ((sint16)(XOS + ((BTNW + XSPA) * COL))) -#define WPL(COL) ((sint16)(XPL(COL) + BTNW)) -#define OWPL ((sint16)(XPL(0) + OPTW)) +#define YPL(ROW) ((sint16)(YOS + ((BTNH + YSPA) * ROW))) +#define HPL(ROW) ((sint16)(YPL(ROW) + BTNH)) +#define OHPL(ROW) ((sint16)(YPL(ROW) + OPTH)) +#define XPL(COL) ((sint16)(XOS + ((BTNW + XSPA) * COL))) +#define WPL(COL) ((sint16)(XPL(COL) + BTNW)) +#define OWPL ((sint16)(XPL(0) + OPTW)) -#define MIN_BTN_LEFT ((sint16)(XPL(1))) -#define MIN_BTN_RIGHT ((sint16)(WPL(1) - (BTNW / 2))) -#define MAX_BTN_LEFT ((sint16)(XPL(1.5))) -#define MAX_BTN_RIGHT ((sint16)(WPL(1))) +#define MIN_BTN_LEFT ((sint16)(XPL(1))) +#define MIN_BTN_RIGHT ((sint16)(WPL(1) - (BTNW / 2))) +#define MAX_BTN_LEFT ((sint16)(XPL(1.5))) +#define MAX_BTN_RIGHT ((sint16)(WPL(1))) -#define TXTO 3 // Text horizontal offset from button left (for button text) +#define TXTO 3 // Text horizontal offset from button left (for button text) #pragma endregion #define MAIN_CHEATS_WIDGETS \ - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \ - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_CHEAT_TITLE, STR_WINDOW_TITLE_TIP }, /* title bar */ \ - { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \ - { WWT_IMGBTN, 1, 0, WW - 1, 43, WH - 1, 0xFFFFFFFF, STR_NONE }, /* tab content panel */ \ - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCIAL_CHEATS_TIP }, /* tab 1 */ \ - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_GUEST_CHEATS_TIP }, /* tab 2 */ \ - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_CHEATS_TIP }, /* tab 3 */ \ - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_RIDE_CHEATS_TIP } /* tab 4 */ + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \ + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_CHEAT_TITLE, STR_WINDOW_TITLE_TIP }, /* title bar */ \ + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \ + { WWT_IMGBTN, 1, 0, WW - 1, 43, WH - 1, 0xFFFFFFFF, STR_NONE }, /* tab content panel */ \ + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCIAL_CHEATS_TIP }, /* tab 1 */ \ + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_GUEST_CHEATS_TIP }, /* tab 2 */ \ + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_CHEATS_TIP }, /* tab 3 */ \ + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_RIDE_CHEATS_TIP } /* tab 4 */ static rct_widget window_cheats_money_widgets[] = { - MAIN_CHEATS_WIDGETS, - { WWT_CHECKBOX, 1, XPL(0), WPL(0), YPL(0), HPL(0), STR_MAKE_PARK_NO_MONEY, STR_NONE }, // No money - { WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(1), HPL(3.5), STR_ADD_SET_MONEY, STR_NONE }, // add / set money group frame - { WWT_SPINNER, 1, XPL(0), WPL(1) - 10, YPL(2) + 2, HPL(2) - 3, STR_NONE, STR_NONE }, // money value - { WWT_DROPDOWN_BUTTON, 1, WPL(1) - 10, WPL(1), YPL(2) + 3, YPL(2) + 7, STR_NUMERIC_UP, STR_NONE }, // increase money - { WWT_DROPDOWN_BUTTON, 1, WPL(1) - 10, WPL(1), YPL(2) + 8, YPL(2) + 12, STR_NUMERIC_DOWN, STR_NONE }, // decrease money - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(3), HPL(3), STR_ADD_MONEY, STR_NONE }, // add money - { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(3), HPL(3), STR_SET_MONEY, STR_NONE }, // set money - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(5), HPL(5), STR_CHEAT_CLEAR_LOAN, STR_NONE }, // Clear loan - { WIDGETS_END }, + MAIN_CHEATS_WIDGETS, + { WWT_CHECKBOX, 1, XPL(0), WPL(0), YPL(0), HPL(0), STR_MAKE_PARK_NO_MONEY, STR_NONE }, // No money + { WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(1), HPL(3.5), STR_ADD_SET_MONEY, STR_NONE }, // add / set money group frame + { WWT_SPINNER, 1, XPL(0), WPL(1) - 10, YPL(2) + 2, HPL(2) - 3, STR_NONE, STR_NONE }, // money value + { WWT_DROPDOWN_BUTTON, 1, WPL(1) - 10, WPL(1), YPL(2) + 3, YPL(2) + 7, STR_NUMERIC_UP, STR_NONE }, // increase money + { WWT_DROPDOWN_BUTTON, 1, WPL(1) - 10, WPL(1), YPL(2) + 8, YPL(2) + 12, STR_NUMERIC_DOWN, STR_NONE }, // decrease money + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(3), HPL(3), STR_ADD_MONEY, STR_NONE }, // add money + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(3), HPL(3), STR_SET_MONEY, STR_NONE }, // set money + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(5), HPL(5), STR_CHEAT_CLEAR_LOAN, STR_NONE }, // Clear loan + { WIDGETS_END }, }; static rct_widget window_cheats_guests_widgets[] = { - MAIN_CHEATS_WIDGETS, - { WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(0), HPL(12.5), STR_CHEAT_SET_GUESTS_PARAMETERS, STR_NONE }, // Guests parameters group frame - { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(1), HPL(1), STR_MAX, STR_NONE }, // happiness max - { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(1), HPL(1), STR_MIN, STR_NONE }, // happiness min - { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(2), HPL(2), STR_MAX, STR_NONE }, // energy max - { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(2), HPL(2), STR_MIN, STR_NONE }, // energy min - { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(3), HPL(3), STR_MAX, STR_NONE }, // hunger max - { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(3), HPL(3), STR_MIN, STR_NONE }, // hunger min - { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(4), HPL(4), STR_MAX, STR_NONE }, // thirst max - { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(4), HPL(4), STR_MIN, STR_NONE }, // thirst min - { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(5), HPL(5), STR_MAX, STR_NONE }, // nausea max - { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(5), HPL(5), STR_MIN, STR_NONE }, // nausea min - { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(6), HPL(6), STR_MAX, STR_NONE }, // nausea tolerance max - { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(6), HPL(6), STR_MIN, STR_NONE }, // nausea tolerance min - { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(7), HPL(7), STR_MAX, STR_NONE }, // bathroom max - { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(7), HPL(7), STR_MIN, STR_NONE }, // bathroom min - { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(9), HPL(9), STR_CHEAT_MORE_THAN_1, STR_NONE }, // ride intensity > 1 - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(9), HPL(9), STR_CHEAT_LESS_THAN_15, STR_NONE }, // ride intensity < 15 - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(10), OHPL(10), STR_CHEAT_IGNORE_INTENSITY, STR_CHEAT_IGNORE_INTENSITY_TIP }, // guests ignore intensity - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(11), OHPL(11), STR_CHEAT_DISABLE_VANDALISM, STR_CHEAT_DISABLE_VANDALISM_TIP }, // disable vandalism - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(12), OHPL(12), STR_CHEAT_DISABLE_LITTERING, STR_CHEAT_DISABLE_LITTERING_TIP }, // disable littering - { WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(14), HPL(16.5), STR_CHEAT_GIVE_ALL_GUESTS, STR_NONE }, // Guests parameters group frame - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(15), HPL(15), STR_CHEAT_CURRENCY_FORMAT, STR_NONE }, // give guests money - { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(15), HPL(15), STR_SHOP_ITEM_PLURAL_PARK_MAP, STR_NONE }, // give guests park maps - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(16), HPL(16), STR_SHOP_ITEM_PLURAL_BALLOON, STR_NONE }, // give guests balloons - { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(16), HPL(16), STR_SHOP_ITEM_PLURAL_UMBRELLA, STR_NONE }, // give guests umbrellas - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(18), HPL(18), STR_CHEAT_LARGE_TRAM_GUESTS, STR_CHEAT_LARGE_TRAM_GUESTS_TIP }, // large tram - { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(18), HPL(18), STR_CHEAT_REMOVE_ALL_GUESTS, STR_CHEAT_REMOVE_ALL_GUESTS_TIP }, // remove all guests - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(19), HPL(19), STR_CHEAT_EXPLODE, STR_CHEAT_EXPLODE_TIP }, // explode guests - { WIDGETS_END }, + MAIN_CHEATS_WIDGETS, + { WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(0), HPL(12.5), STR_CHEAT_SET_GUESTS_PARAMETERS, STR_NONE }, // Guests parameters group frame + { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(1), HPL(1), STR_MAX, STR_NONE }, // happiness max + { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(1), HPL(1), STR_MIN, STR_NONE }, // happiness min + { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(2), HPL(2), STR_MAX, STR_NONE }, // energy max + { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(2), HPL(2), STR_MIN, STR_NONE }, // energy min + { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(3), HPL(3), STR_MAX, STR_NONE }, // hunger max + { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(3), HPL(3), STR_MIN, STR_NONE }, // hunger min + { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(4), HPL(4), STR_MAX, STR_NONE }, // thirst max + { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(4), HPL(4), STR_MIN, STR_NONE }, // thirst min + { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(5), HPL(5), STR_MAX, STR_NONE }, // nausea max + { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(5), HPL(5), STR_MIN, STR_NONE }, // nausea min + { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(6), HPL(6), STR_MAX, STR_NONE }, // nausea tolerance max + { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(6), HPL(6), STR_MIN, STR_NONE }, // nausea tolerance min + { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(7), HPL(7), STR_MAX, STR_NONE }, // bathroom max + { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(7), HPL(7), STR_MIN, STR_NONE }, // bathroom min + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(9), HPL(9), STR_CHEAT_MORE_THAN_1, STR_NONE }, // ride intensity > 1 + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(9), HPL(9), STR_CHEAT_LESS_THAN_15, STR_NONE }, // ride intensity < 15 + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(10), OHPL(10), STR_CHEAT_IGNORE_INTENSITY, STR_CHEAT_IGNORE_INTENSITY_TIP }, // guests ignore intensity + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(11), OHPL(11), STR_CHEAT_DISABLE_VANDALISM, STR_CHEAT_DISABLE_VANDALISM_TIP }, // disable vandalism + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(12), OHPL(12), STR_CHEAT_DISABLE_LITTERING, STR_CHEAT_DISABLE_LITTERING_TIP }, // disable littering + { WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(14), HPL(16.5), STR_CHEAT_GIVE_ALL_GUESTS, STR_NONE }, // Guests parameters group frame + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(15), HPL(15), STR_CHEAT_CURRENCY_FORMAT, STR_NONE }, // give guests money + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(15), HPL(15), STR_SHOP_ITEM_PLURAL_PARK_MAP, STR_NONE }, // give guests park maps + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(16), HPL(16), STR_SHOP_ITEM_PLURAL_BALLOON, STR_NONE }, // give guests balloons + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(16), HPL(16), STR_SHOP_ITEM_PLURAL_UMBRELLA, STR_NONE }, // give guests umbrellas + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(18), HPL(18), STR_CHEAT_LARGE_TRAM_GUESTS, STR_CHEAT_LARGE_TRAM_GUESTS_TIP }, // large tram + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(18), HPL(18), STR_CHEAT_REMOVE_ALL_GUESTS, STR_CHEAT_REMOVE_ALL_GUESTS_TIP }, // remove all guests + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(19), HPL(19), STR_CHEAT_EXPLODE, STR_CHEAT_EXPLODE_TIP }, // explode guests + { WIDGETS_END }, }; //Strings for following moved to window_cheats_paint() static rct_widget window_cheats_misc_widgets[] = { - MAIN_CHEATS_WIDGETS, - { WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(0), HPL(7.25), STR_CHEAT_GENERAL_GROUP, STR_NONE }, // General group - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(1), HPL(1), STR_CHEAT_OPEN_PARK, STR_CHEAT_OPEN_PARK_TIP }, // open / close park - { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(1), HPL(1), STR_CHEAT_PARK_PARAMETERS, STR_CHEAT_PARK_PARAMETERS_TIP }, // Park parameters - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(2), HPL(2), STR_CHEAT_SANDBOX_MODE, STR_CHEAT_SANDBOX_MODE_TIP }, // Sandbox mode (edit land ownership in-game) - { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(2), HPL(2), STR_CHEAT_RESET_DATE, STR_NONE }, // Reset date - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(3), HPL(3), STR_CHEAT_OWN_ALL_LAND, STR_NONE }, // Own all land - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(4), OHPL(4), STR_CHEAT_UNLOCK_PRICES, STR_CHEAT_UNLOCK_PRICES_TIP }, // Unlock all prices - { WWT_CHECKBOX, 1, XPL(0), WPL(0), YPL(5), HPL(5), STR_FORCE_PARK_RATING, STR_NONE }, // Force park rating - { WWT_SPINNER, 1, XPL(1), WPL(1) - 10, YPL(5) + 2, HPL(5) - 3, STR_NONE, STR_NONE }, // park rating - { WWT_DROPDOWN_BUTTON, 1, WPL(1) - 10, WPL(1), YPL(5) + 3, YPL(5) + 7, STR_NUMERIC_UP, STR_NONE }, // increase rating - { WWT_DROPDOWN_BUTTON, 1, WPL(1) - 10, WPL(1), YPL(5) + 8, YPL(5) + 12, STR_NUMERIC_DOWN, STR_NONE }, // decrease rating - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(6), HPL(6), STR_CHEAT_WIN_SCENARIO, STR_NONE }, // Win scenario - { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(6), HPL(6), STR_CHEAT_HAVE_FUN, STR_NONE }, // Have fun! - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(7), HPL(7), STR_CHEAT_NEVERENDING_MARKETING, STR_CHEAT_NEVERENDING_MARKETING_TIP }, // never ending marketing campaigns - { WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(8.25), HPL(10.5), STR_CHEAT_CLIMATE_GROUP, STR_NONE }, // Climate group - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(9), HPL(9), STR_CHEAT_FREEZE_CLIMATE, STR_CHEAT_FREEZE_CLIMATE_TIP }, // Freeze climate - { WWT_DROPDOWN, 1, XPL(1), WPL(1), YPL(10) + 2, YPL(10) + 13, STR_NONE, STR_FORCE_WEATHER_TOOLTIP }, // Force weather - { WWT_DROPDOWN_BUTTON, 1, WPL(1) - 11, WPL(1) - 1, YPL(10) + 3, YPL(10) + 12, STR_DROPDOWN_GLYPH, STR_FORCE_WEATHER_TOOLTIP }, // Force weather - { WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(12), HPL(17.5), STR_CHEAT_STAFF_GROUP, STR_NONE }, // Staff group - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(13), HPL(13), STR_CHEAT_CLEAR_GRASS, STR_NONE }, // Clear grass - { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(13), HPL(13), STR_CHEAT_MOWED_GRASS, STR_NONE }, // Mowed grass - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(14), HPL(14), STR_CHEAT_WATER_PLANTS, STR_NONE }, // Water plants - { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(14), HPL(14), STR_CHEAT_FIX_VANDALISM, STR_NONE }, // Fix vandalism - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(15), HPL(15), STR_CHEAT_REMOVE_LITTER, STR_NONE }, // Remove litter - { WWT_CHECKBOX, 1, XPL(0), WPL(0), YPL(16), HPL(16), STR_CHEAT_DISABLE_PLANT_AGING, STR_CHEAT_DISABLE_PLANT_AGING_TIP }, // Disable plant ageing - { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(17), HPL(17), STR_FAST, STR_NONE }, // Fast staff - { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(17), HPL(17), STR_NORMAL, STR_NONE }, // Normal staff - { WIDGETS_END }, + MAIN_CHEATS_WIDGETS, + { WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(0), HPL(7.25), STR_CHEAT_GENERAL_GROUP, STR_NONE }, // General group + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(1), HPL(1), STR_CHEAT_OPEN_PARK, STR_CHEAT_OPEN_PARK_TIP }, // open / close park + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(1), HPL(1), STR_CHEAT_PARK_PARAMETERS, STR_CHEAT_PARK_PARAMETERS_TIP }, // Park parameters + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(2), HPL(2), STR_CHEAT_SANDBOX_MODE, STR_CHEAT_SANDBOX_MODE_TIP }, // Sandbox mode (edit land ownership in-game) + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(2), HPL(2), STR_CHEAT_RESET_DATE, STR_NONE }, // Reset date + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(3), HPL(3), STR_CHEAT_OWN_ALL_LAND, STR_NONE }, // Own all land + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(4), OHPL(4), STR_CHEAT_UNLOCK_PRICES, STR_CHEAT_UNLOCK_PRICES_TIP }, // Unlock all prices + { WWT_CHECKBOX, 1, XPL(0), WPL(0), YPL(5), HPL(5), STR_FORCE_PARK_RATING, STR_NONE }, // Force park rating + { WWT_SPINNER, 1, XPL(1), WPL(1) - 10, YPL(5) + 2, HPL(5) - 3, STR_NONE, STR_NONE }, // park rating + { WWT_DROPDOWN_BUTTON, 1, WPL(1) - 10, WPL(1), YPL(5) + 3, YPL(5) + 7, STR_NUMERIC_UP, STR_NONE }, // increase rating + { WWT_DROPDOWN_BUTTON, 1, WPL(1) - 10, WPL(1), YPL(5) + 8, YPL(5) + 12, STR_NUMERIC_DOWN, STR_NONE }, // decrease rating + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(6), HPL(6), STR_CHEAT_WIN_SCENARIO, STR_NONE }, // Win scenario + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(6), HPL(6), STR_CHEAT_HAVE_FUN, STR_NONE }, // Have fun! + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(7), HPL(7), STR_CHEAT_NEVERENDING_MARKETING, STR_CHEAT_NEVERENDING_MARKETING_TIP }, // never ending marketing campaigns + { WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(8.25), HPL(10.5), STR_CHEAT_CLIMATE_GROUP, STR_NONE }, // Climate group + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(9), HPL(9), STR_CHEAT_FREEZE_CLIMATE, STR_CHEAT_FREEZE_CLIMATE_TIP }, // Freeze climate + { WWT_DROPDOWN, 1, XPL(1), WPL(1), YPL(10) + 2, YPL(10) + 13, STR_NONE, STR_FORCE_WEATHER_TOOLTIP }, // Force weather + { WWT_DROPDOWN_BUTTON, 1, WPL(1) - 11, WPL(1) - 1, YPL(10) + 3, YPL(10) + 12, STR_DROPDOWN_GLYPH, STR_FORCE_WEATHER_TOOLTIP }, // Force weather + { WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(12), HPL(17.5), STR_CHEAT_STAFF_GROUP, STR_NONE }, // Staff group + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(13), HPL(13), STR_CHEAT_CLEAR_GRASS, STR_NONE }, // Clear grass + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(13), HPL(13), STR_CHEAT_MOWED_GRASS, STR_NONE }, // Mowed grass + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(14), HPL(14), STR_CHEAT_WATER_PLANTS, STR_NONE }, // Water plants + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(14), HPL(14), STR_CHEAT_FIX_VANDALISM, STR_NONE }, // Fix vandalism + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(15), HPL(15), STR_CHEAT_REMOVE_LITTER, STR_NONE }, // Remove litter + { WWT_CHECKBOX, 1, XPL(0), WPL(0), YPL(16), HPL(16), STR_CHEAT_DISABLE_PLANT_AGING, STR_CHEAT_DISABLE_PLANT_AGING_TIP }, // Disable plant ageing + { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(17), HPL(17), STR_FAST, STR_NONE }, // Fast staff + { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(17), HPL(17), STR_NORMAL, STR_NONE }, // Normal staff + { WIDGETS_END }, }; static rct_widget window_cheats_rides_widgets[] = { - MAIN_CHEATS_WIDGETS, - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(0), HPL(0), STR_CHEAT_RENEW_RIDES, STR_CHEAT_RENEW_RIDES_TIP }, // Renew rides - { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(1), HPL(1), STR_CHEAT_MAKE_DESTRUCTABLE, STR_CHEAT_MAKE_DESTRUCTABLE_TIP }, // All destructible - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(1), HPL(1), STR_CHEAT_FIX_ALL_RIDES, STR_CHEAT_FIX_ALL_RIDES_TIP }, // Fix all rides - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(11), OHPL(11), STR_CHEAT_UNLOCK_OPERATING_LIMITS, STR_CHEAT_UNLOCK_OPERATING_LIMITS_TIP },// 410 km/h lift hill etc. - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(9), OHPL(9), STR_CHEAT_DISABLE_BRAKES_FAILURE, STR_CHEAT_DISABLE_BRAKES_FAILURE_TIP }, // Disable brakes failure - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(10), OHPL(10), STR_CHEAT_DISABLE_BREAKDOWNS, STR_CHEAT_DISABLE_BREAKDOWNS_TIP }, // Disable all breakdowns - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(8), OHPL(8), STR_CHEAT_BUILD_IN_PAUSE_MODE, STR_CHEAT_BUILD_IN_PAUSE_MODE_TIP }, // Build in pause mode - { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(2), HPL(2), STR_CHEAT_RESET_CRASH_STATUS, STR_CHEAT_RESET_CRASH_STATUS_TIP }, // Reset crash status - { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(2), HPL(2), STR_CHEAT_10_MINUTE_INSPECTIONS, STR_CHEAT_10_MINUTE_INSPECTIONS_TIP }, // 10 minute inspections - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(7), OHPL(7), STR_CHEAT_SHOW_ALL_OPERATING_MODES, STR_NONE }, // Show all operating modes - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(6), OHPL(6), STR_CHEAT_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES, STR_NONE }, // Show vehicles from other track types - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(12), OHPL(12), STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT, STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT_TIP }, // Disable train length limits - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(13), OHPL(13), STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK, STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK_TIP }, // Enable chain lift on all track - { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(14), OHPL(14), STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES, STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES_TIP }, // Allow arbitrary ride type changes - { WIDGETS_END }, + MAIN_CHEATS_WIDGETS, + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(0), HPL(0), STR_CHEAT_RENEW_RIDES, STR_CHEAT_RENEW_RIDES_TIP }, // Renew rides + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(1), HPL(1), STR_CHEAT_MAKE_DESTRUCTABLE, STR_CHEAT_MAKE_DESTRUCTABLE_TIP }, // All destructible + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(1), HPL(1), STR_CHEAT_FIX_ALL_RIDES, STR_CHEAT_FIX_ALL_RIDES_TIP }, // Fix all rides + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(11), OHPL(11), STR_CHEAT_UNLOCK_OPERATING_LIMITS, STR_CHEAT_UNLOCK_OPERATING_LIMITS_TIP },// 410 km/h lift hill etc. + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(9), OHPL(9), STR_CHEAT_DISABLE_BRAKES_FAILURE, STR_CHEAT_DISABLE_BRAKES_FAILURE_TIP }, // Disable brakes failure + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(10), OHPL(10), STR_CHEAT_DISABLE_BREAKDOWNS, STR_CHEAT_DISABLE_BREAKDOWNS_TIP }, // Disable all breakdowns + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(8), OHPL(8), STR_CHEAT_BUILD_IN_PAUSE_MODE, STR_CHEAT_BUILD_IN_PAUSE_MODE_TIP }, // Build in pause mode + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(2), HPL(2), STR_CHEAT_RESET_CRASH_STATUS, STR_CHEAT_RESET_CRASH_STATUS_TIP }, // Reset crash status + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(2), HPL(2), STR_CHEAT_10_MINUTE_INSPECTIONS, STR_CHEAT_10_MINUTE_INSPECTIONS_TIP }, // 10 minute inspections + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(7), OHPL(7), STR_CHEAT_SHOW_ALL_OPERATING_MODES, STR_NONE }, // Show all operating modes + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(6), OHPL(6), STR_CHEAT_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES, STR_NONE }, // Show vehicles from other track types + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(12), OHPL(12), STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT, STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT_TIP }, // Disable train length limits + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(13), OHPL(13), STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK, STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK_TIP }, // Enable chain lift on all track + { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(14), OHPL(14), STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES, STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES_TIP }, // Allow arbitrary ride type changes + { WIDGETS_END }, }; static rct_widget *window_cheats_page_widgets[] = { - window_cheats_money_widgets, - window_cheats_guests_widgets, - window_cheats_misc_widgets, - window_cheats_rides_widgets, + window_cheats_money_widgets, + window_cheats_guests_widgets, + window_cheats_misc_widgets, + window_cheats_rides_widgets, }; static void window_cheats_money_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -307,706 +307,706 @@ static void window_cheats_set_page(rct_window *w, sint32 page); static void window_cheats_text_input(rct_window *w, rct_widgetindex widgetIndex, char *text); static rct_window_event_list window_cheats_money_events = { - NULL, - window_cheats_money_mouseup, - NULL, - window_cheats_money_mousedown, - NULL, - NULL, - window_cheats_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_cheats_text_input, - NULL, - NULL, - NULL, - NULL, - NULL, - window_cheats_invalidate, - window_cheats_paint, - NULL + NULL, + window_cheats_money_mouseup, + NULL, + window_cheats_money_mousedown, + NULL, + NULL, + window_cheats_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_cheats_text_input, + NULL, + NULL, + NULL, + NULL, + NULL, + window_cheats_invalidate, + window_cheats_paint, + NULL }; static rct_window_event_list window_cheats_guests_events = { - NULL, - window_cheats_guests_mouseup, - NULL, - NULL, - NULL, - NULL, - window_cheats_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_cheats_invalidate, - window_cheats_paint, - NULL + NULL, + window_cheats_guests_mouseup, + NULL, + NULL, + NULL, + NULL, + window_cheats_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_cheats_invalidate, + window_cheats_paint, + NULL }; static rct_window_event_list window_cheats_misc_events = { - NULL, - window_cheats_misc_mouseup, - NULL, - window_cheats_misc_mousedown, - window_cheats_misc_dropdown, - NULL, - window_cheats_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_cheats_invalidate, - window_cheats_paint, - NULL + NULL, + window_cheats_misc_mouseup, + NULL, + window_cheats_misc_mousedown, + window_cheats_misc_dropdown, + NULL, + window_cheats_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_cheats_invalidate, + window_cheats_paint, + NULL }; static rct_window_event_list window_cheats_rides_events = { - NULL, - window_cheats_rides_mouseup, - NULL, - NULL, - NULL, - NULL, - window_cheats_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_cheats_invalidate, - window_cheats_paint, - NULL + NULL, + window_cheats_rides_mouseup, + NULL, + NULL, + NULL, + NULL, + window_cheats_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_cheats_invalidate, + window_cheats_paint, + NULL }; static rct_window_event_list *window_cheats_page_events[] = { - &window_cheats_money_events, - &window_cheats_guests_events, - &window_cheats_misc_events, - &window_cheats_rides_events, + &window_cheats_money_events, + &window_cheats_guests_events, + &window_cheats_misc_events, + &window_cheats_rides_events, }; #define MAIN_CHEAT_ENABLED_WIDGETS (1ULL << WIDX_CLOSE) | (1ULL << WIDX_TAB_1) | (1ULL << WIDX_TAB_2) | (1ULL << WIDX_TAB_3) | (1ULL << WIDX_TAB_4) static uint64 window_cheats_page_enabled_widgets[] = { - MAIN_CHEAT_ENABLED_WIDGETS | (1ULL << WIDX_NO_MONEY) | (1ULL << WIDX_ADD_SET_MONEY_GROUP) | (1ULL << WIDX_MONEY_SPINNER) | (1ULL << WIDX_MONEY_SPINNER_INCREMENT) | - (1ULL << WIDX_MONEY_SPINNER_DECREMENT) | (1ULL << WIDX_ADD_MONEY) | (1ULL << WIDX_SET_MONEY) | (1ULL << WIDX_CLEAR_LOAN), - MAIN_CHEAT_ENABLED_WIDGETS | (1ULL << WIDX_GUEST_PARAMETERS_GROUP) | - (1ULL << WIDX_GUEST_HAPPINESS_MAX) | (1ULL << WIDX_GUEST_HAPPINESS_MIN) | (1ULL << WIDX_GUEST_ENERGY_MAX) | (1ULL << WIDX_GUEST_ENERGY_MIN) | - (1ULL << WIDX_GUEST_HUNGER_MAX) | (1ULL << WIDX_GUEST_HUNGER_MIN) | (1ULL << WIDX_GUEST_THIRST_MAX) | (1ULL << WIDX_GUEST_THIRST_MIN) | - (1ULL << WIDX_GUEST_NAUSEA_MAX) | (1ULL << WIDX_GUEST_NAUSEA_MIN) | (1ULL << WIDX_GUEST_NAUSEA_TOLERANCE_MAX) | (1ULL << WIDX_GUEST_NAUSEA_TOLERANCE_MIN) | - (1ULL << WIDX_GUEST_BATHROOM_MAX) | (1ULL << WIDX_GUEST_BATHROOM_MIN) | (1ULL << WIDX_GUEST_RIDE_INTENSITY_MORE_THAN_1) | (1ULL << WIDX_GUEST_RIDE_INTENSITY_LESS_THAN_15) | - (1ULL << WIDX_GUEST_IGNORE_RIDE_INTENSITY) | (1ULL << WIDX_GIVE_ALL_GUESTS_GROUP) | (1ULL << WIDX_GIVE_GUESTS_MONEY) | (1ULL << WIDX_GIVE_GUESTS_PARK_MAPS) | - (1ULL << WIDX_GIVE_GUESTS_BALLOONS) | (1ULL << WIDX_GIVE_GUESTS_UMBRELLAS) | (1ULL << WIDX_TRAM_GUESTS) | (1ULL << WIDX_REMOVE_ALL_GUESTS) | (1ULL << WIDX_EXPLODE_GUESTS) | - (1ULL << WIDX_DISABLE_VANDALISM) | (1ULL << WIDX_DISABLE_LITTERING), - MAIN_CHEAT_ENABLED_WIDGETS | (1ULL << WIDX_FREEZE_CLIMATE) | - (1ULL << WIDX_OPEN_CLOSE_PARK) | (1ULL << WIDX_WEATHER) | (1ULL << WIDX_WEATHER_DROPDOWN_BUTTON) | (1ULL << WIDX_CLEAR_GRASS) | (1ULL << WIDX_MOWED_GRASS) | - (1ULL << WIDX_WATER_PLANTS) | (1ULL << WIDX_DISABLE_PLANT_AGING) | (1ULL << WIDX_FIX_VANDALISM) | (1ULL << WIDX_REMOVE_LITTER) | (1ULL << WIDX_WIN_SCENARIO) | (1ULL << WIDX_HAVE_FUN) | (1ULL << WIDX_OWN_ALL_LAND) | - (1ULL << WIDX_NEVERENDING_MARKETING) | (1ULL << WIDX_UNLOCK_ALL_PRICES) | (1ULL << WIDX_SANDBOX_MODE) | (1ULL << WIDX_RESET_DATE) | (1ULL << WIDX_FAST_STAFF) | (1ULL << WIDX_NORMAL_STAFF) | - (1ULL << WIDX_PARK_PARAMETERS) | (1ULL << WIDX_FORCE_PARK_RATING) | (1ULL << WIDX_INCREASE_PARK_RATING) | (1ULL << WIDX_DECREASE_PARK_RATING), - MAIN_CHEAT_ENABLED_WIDGETS | (1ULL << WIDX_RENEW_RIDES) | - (1ULL << WIDX_MAKE_DESTRUCTIBLE) | (1ULL << WIDX_FIX_ALL) | (1ULL << WIDX_FAST_LIFT_HILL) | (1ULL << WIDX_DISABLE_BRAKES_FAILURE) | - (1ULL << WIDX_DISABLE_ALL_BREAKDOWNS) | (1ULL << WIDX_BUILD_IN_PAUSE_MODE) | (1ULL << WIDX_RESET_CRASH_STATUS) | (1ULL << WIDX_10_MINUTE_INSPECTIONS) | - (1ULL << WIDX_SHOW_ALL_OPERATING_MODES) | (1ULL << WIDX_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES) | (1ULL << WIDX_DISABLE_TRAIN_LENGTH_LIMITS) | - (1ULL << WIDX_ENABLE_CHAIN_LIFT_ON_ALL_TRACK) | (1ULL << WIDX_ENABLE_ARBITRARY_RIDE_TYPE_CHANGES) + MAIN_CHEAT_ENABLED_WIDGETS | (1ULL << WIDX_NO_MONEY) | (1ULL << WIDX_ADD_SET_MONEY_GROUP) | (1ULL << WIDX_MONEY_SPINNER) | (1ULL << WIDX_MONEY_SPINNER_INCREMENT) | + (1ULL << WIDX_MONEY_SPINNER_DECREMENT) | (1ULL << WIDX_ADD_MONEY) | (1ULL << WIDX_SET_MONEY) | (1ULL << WIDX_CLEAR_LOAN), + MAIN_CHEAT_ENABLED_WIDGETS | (1ULL << WIDX_GUEST_PARAMETERS_GROUP) | + (1ULL << WIDX_GUEST_HAPPINESS_MAX) | (1ULL << WIDX_GUEST_HAPPINESS_MIN) | (1ULL << WIDX_GUEST_ENERGY_MAX) | (1ULL << WIDX_GUEST_ENERGY_MIN) | + (1ULL << WIDX_GUEST_HUNGER_MAX) | (1ULL << WIDX_GUEST_HUNGER_MIN) | (1ULL << WIDX_GUEST_THIRST_MAX) | (1ULL << WIDX_GUEST_THIRST_MIN) | + (1ULL << WIDX_GUEST_NAUSEA_MAX) | (1ULL << WIDX_GUEST_NAUSEA_MIN) | (1ULL << WIDX_GUEST_NAUSEA_TOLERANCE_MAX) | (1ULL << WIDX_GUEST_NAUSEA_TOLERANCE_MIN) | + (1ULL << WIDX_GUEST_BATHROOM_MAX) | (1ULL << WIDX_GUEST_BATHROOM_MIN) | (1ULL << WIDX_GUEST_RIDE_INTENSITY_MORE_THAN_1) | (1ULL << WIDX_GUEST_RIDE_INTENSITY_LESS_THAN_15) | + (1ULL << WIDX_GUEST_IGNORE_RIDE_INTENSITY) | (1ULL << WIDX_GIVE_ALL_GUESTS_GROUP) | (1ULL << WIDX_GIVE_GUESTS_MONEY) | (1ULL << WIDX_GIVE_GUESTS_PARK_MAPS) | + (1ULL << WIDX_GIVE_GUESTS_BALLOONS) | (1ULL << WIDX_GIVE_GUESTS_UMBRELLAS) | (1ULL << WIDX_TRAM_GUESTS) | (1ULL << WIDX_REMOVE_ALL_GUESTS) | (1ULL << WIDX_EXPLODE_GUESTS) | + (1ULL << WIDX_DISABLE_VANDALISM) | (1ULL << WIDX_DISABLE_LITTERING), + MAIN_CHEAT_ENABLED_WIDGETS | (1ULL << WIDX_FREEZE_CLIMATE) | + (1ULL << WIDX_OPEN_CLOSE_PARK) | (1ULL << WIDX_WEATHER) | (1ULL << WIDX_WEATHER_DROPDOWN_BUTTON) | (1ULL << WIDX_CLEAR_GRASS) | (1ULL << WIDX_MOWED_GRASS) | + (1ULL << WIDX_WATER_PLANTS) | (1ULL << WIDX_DISABLE_PLANT_AGING) | (1ULL << WIDX_FIX_VANDALISM) | (1ULL << WIDX_REMOVE_LITTER) | (1ULL << WIDX_WIN_SCENARIO) | (1ULL << WIDX_HAVE_FUN) | (1ULL << WIDX_OWN_ALL_LAND) | + (1ULL << WIDX_NEVERENDING_MARKETING) | (1ULL << WIDX_UNLOCK_ALL_PRICES) | (1ULL << WIDX_SANDBOX_MODE) | (1ULL << WIDX_RESET_DATE) | (1ULL << WIDX_FAST_STAFF) | (1ULL << WIDX_NORMAL_STAFF) | + (1ULL << WIDX_PARK_PARAMETERS) | (1ULL << WIDX_FORCE_PARK_RATING) | (1ULL << WIDX_INCREASE_PARK_RATING) | (1ULL << WIDX_DECREASE_PARK_RATING), + MAIN_CHEAT_ENABLED_WIDGETS | (1ULL << WIDX_RENEW_RIDES) | + (1ULL << WIDX_MAKE_DESTRUCTIBLE) | (1ULL << WIDX_FIX_ALL) | (1ULL << WIDX_FAST_LIFT_HILL) | (1ULL << WIDX_DISABLE_BRAKES_FAILURE) | + (1ULL << WIDX_DISABLE_ALL_BREAKDOWNS) | (1ULL << WIDX_BUILD_IN_PAUSE_MODE) | (1ULL << WIDX_RESET_CRASH_STATUS) | (1ULL << WIDX_10_MINUTE_INSPECTIONS) | + (1ULL << WIDX_SHOW_ALL_OPERATING_MODES) | (1ULL << WIDX_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES) | (1ULL << WIDX_DISABLE_TRAIN_LENGTH_LIMITS) | + (1ULL << WIDX_ENABLE_CHAIN_LIFT_ON_ALL_TRACK) | (1ULL << WIDX_ENABLE_ARBITRARY_RIDE_TYPE_CHANGES) }; static uint64 window_cheats_page_hold_down_widgets[] = { - (1ULL << WIDX_MONEY_SPINNER_INCREMENT) | (1ULL << WIDX_MONEY_SPINNER_DECREMENT) | (1ULL << WIDX_ADD_MONEY), - 0, - (1ULL << WIDX_INCREASE_PARK_RATING) | (1ULL << WIDX_DECREASE_PARK_RATING), - 0 + (1ULL << WIDX_MONEY_SPINNER_INCREMENT) | (1ULL << WIDX_MONEY_SPINNER_DECREMENT) | (1ULL << WIDX_ADD_MONEY), + 0, + (1ULL << WIDX_INCREASE_PARK_RATING) | (1ULL << WIDX_DECREASE_PARK_RATING), + 0 }; static rct_string_id window_cheats_page_titles[] = { - STR_CHEAT_TITLE_FINANCIAL, - STR_CHEAT_TITLE_GUEST, - STR_CHEAT_TITLE_PARK, - STR_CHEAT_TITLE_RIDE, + STR_CHEAT_TITLE_FINANCIAL, + STR_CHEAT_TITLE_GUEST, + STR_CHEAT_TITLE_PARK, + STR_CHEAT_TITLE_RIDE, }; static void window_cheats_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w); void window_cheats_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_CHEATS); - if (window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_CHEATS); + if (window != NULL) + return; - window = window_create(32, 32, WW, WH, &window_cheats_money_events, WC_CHEATS, 0); - window->widgets = window_cheats_money_widgets; - window->enabled_widgets = window_cheats_page_enabled_widgets[0]; - window->hold_down_widgets = window_cheats_page_hold_down_widgets[0]; - window_init_scroll_widgets(window); - window_cheats_set_page(window, WINDOW_CHEATS_PAGE_MONEY); - park_rating_spinner_value = get_forced_park_rating() >= 0 ? get_forced_park_rating() : 999; + window = window_create(32, 32, WW, WH, &window_cheats_money_events, WC_CHEATS, 0); + window->widgets = window_cheats_money_widgets; + window->enabled_widgets = window_cheats_page_enabled_widgets[0]; + window->hold_down_widgets = window_cheats_page_hold_down_widgets[0]; + window_init_scroll_widgets(window); + window_cheats_set_page(window, WINDOW_CHEATS_PAGE_MONEY); + park_rating_spinner_value = get_forced_park_rating() >= 0 ? get_forced_park_rating() : 999; } static void window_cheats_money_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget* widget) { - switch (widgetIndex) { - case WIDX_MONEY_SPINNER_INCREMENT: - _moneySpinnerValue = add_clamp_money32(MONEY_INCREMENT_DIV * (_moneySpinnerValue / MONEY_INCREMENT_DIV), MONEY_INCREMENT_DIV); - widget_invalidate_by_class(WC_CHEATS, WIDX_MONEY_SPINNER); - break; - case WIDX_MONEY_SPINNER_DECREMENT: - _moneySpinnerValue = add_clamp_money32(MONEY_INCREMENT_DIV * (_moneySpinnerValue / MONEY_INCREMENT_DIV), -MONEY_INCREMENT_DIV); - widget_invalidate_by_class(WC_CHEATS, WIDX_MONEY_SPINNER); - break; - case WIDX_ADD_MONEY: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_ADDMONEY, _moneySpinnerValue, GAME_COMMAND_CHEAT, 0, 0); - break; - } + switch (widgetIndex) { + case WIDX_MONEY_SPINNER_INCREMENT: + _moneySpinnerValue = add_clamp_money32(MONEY_INCREMENT_DIV * (_moneySpinnerValue / MONEY_INCREMENT_DIV), MONEY_INCREMENT_DIV); + widget_invalidate_by_class(WC_CHEATS, WIDX_MONEY_SPINNER); + break; + case WIDX_MONEY_SPINNER_DECREMENT: + _moneySpinnerValue = add_clamp_money32(MONEY_INCREMENT_DIV * (_moneySpinnerValue / MONEY_INCREMENT_DIV), -MONEY_INCREMENT_DIV); + widget_invalidate_by_class(WC_CHEATS, WIDX_MONEY_SPINNER); + break; + case WIDX_ADD_MONEY: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_ADDMONEY, _moneySpinnerValue, GAME_COMMAND_CHEAT, 0, 0); + break; + } } static void window_cheats_misc_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget* widget) { - switch (widgetIndex) { - case WIDX_INCREASE_PARK_RATING: - park_rating_spinner_value = min(999, 10 * (park_rating_spinner_value / 10 + 1)); - widget_invalidate_by_class(WC_CHEATS, WIDX_PARK_RATING_SPINNER); - if (get_forced_park_rating() >= 0) - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETFORCEDPARKRATING, park_rating_spinner_value, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_DECREASE_PARK_RATING: - park_rating_spinner_value = max(0, 10 * (park_rating_spinner_value / 10 - 1)); - widget_invalidate_by_class(WC_CHEATS, WIDX_PARK_RATING_SPINNER); - if (get_forced_park_rating() >= 0) - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETFORCEDPARKRATING, park_rating_spinner_value, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_WEATHER_DROPDOWN_BUTTON:{ - rct_widget *dropdownWidget; - int i, currentWeather; + switch (widgetIndex) { + case WIDX_INCREASE_PARK_RATING: + park_rating_spinner_value = min(999, 10 * (park_rating_spinner_value / 10 + 1)); + widget_invalidate_by_class(WC_CHEATS, WIDX_PARK_RATING_SPINNER); + if (get_forced_park_rating() >= 0) + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETFORCEDPARKRATING, park_rating_spinner_value, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_DECREASE_PARK_RATING: + park_rating_spinner_value = max(0, 10 * (park_rating_spinner_value / 10 - 1)); + widget_invalidate_by_class(WC_CHEATS, WIDX_PARK_RATING_SPINNER); + if (get_forced_park_rating() >= 0) + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETFORCEDPARKRATING, park_rating_spinner_value, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_WEATHER_DROPDOWN_BUTTON:{ + rct_widget *dropdownWidget; + int i, currentWeather; - dropdownWidget = widget - 1; + dropdownWidget = widget - 1; - for (i = 0; i < 6; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = WeatherTypes[i]; - } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 6, - dropdownWidget->right - dropdownWidget->left - 3 - ); + for (i = 0; i < 6; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = WeatherTypes[i]; + } + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 6, + dropdownWidget->right - dropdownWidget->left - 3 + ); - currentWeather = gClimateCurrentWeather; - dropdown_set_checked(currentWeather, true); - } - break; - } + currentWeather = gClimateCurrentWeather; + dropdown_set_checked(currentWeather, true); + } + break; + } } static void window_cheats_misc_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex != WIDX_WEATHER_DROPDOWN_BUTTON || dropdownIndex == -1) - return; + if (widgetIndex != WIDX_WEATHER_DROPDOWN_BUTTON || dropdownIndex == -1) + return; - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_FORCEWEATHER, dropdownIndex, GAME_COMMAND_CHEAT, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_FORCEWEATHER, dropdownIndex, GAME_COMMAND_CHEAT, 0, 0); } static void window_cheats_money_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - window_cheats_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_NO_MONEY: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_NOMONEY, gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : 1, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_MONEY_SPINNER: - money_to_string(_moneySpinnerValue, _moneySpinnerText, MONEY_DIGITS); - window_text_input_raw_open(w, WIDX_MONEY_SPINNER, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, _moneySpinnerText, MONEY_DIGITS); - break; - case WIDX_SET_MONEY: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETMONEY, _moneySpinnerValue, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_CLEAR_LOAN: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_CLEARLOAN, CHEATS_MONEY_INCREMENT, GAME_COMMAND_CHEAT, 0, 0); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + window_cheats_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_NO_MONEY: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_NOMONEY, gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : 1, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_MONEY_SPINNER: + money_to_string(_moneySpinnerValue, _moneySpinnerText, MONEY_DIGITS); + window_text_input_raw_open(w, WIDX_MONEY_SPINNER, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, _moneySpinnerText, MONEY_DIGITS); + break; + case WIDX_SET_MONEY: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETMONEY, _moneySpinnerValue, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_CLEAR_LOAN: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_CLEARLOAN, CHEATS_MONEY_INCREMENT, GAME_COMMAND_CHEAT, 0, 0); + break; + } } static void window_cheats_guests_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - window_cheats_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_GUEST_HAPPINESS_MAX: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_HAPPINESS, GAME_COMMAND_CHEAT, 255, 0); - break; - case WIDX_GUEST_HAPPINESS_MIN: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_HAPPINESS, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_GUEST_ENERGY_MAX: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_ENERGY, GAME_COMMAND_CHEAT, 127, 0); - break; - case WIDX_GUEST_ENERGY_MIN: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_ENERGY, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_GUEST_HUNGER_MAX: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_HUNGER, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_GUEST_HUNGER_MIN: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_HUNGER, GAME_COMMAND_CHEAT, 255, 0); - break; - case WIDX_GUEST_THIRST_MAX: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_THIRST, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_GUEST_THIRST_MIN: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_THIRST, GAME_COMMAND_CHEAT, 255, 0); - break; - case WIDX_GUEST_NAUSEA_MAX: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_NAUSEA, GAME_COMMAND_CHEAT, 255, 0); - break; - case WIDX_GUEST_NAUSEA_MIN: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_NAUSEA, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_GUEST_NAUSEA_TOLERANCE_MAX: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_NAUSEA_TOLERANCE, GAME_COMMAND_CHEAT, PEEP_NAUSEA_TOLERANCE_HIGH, 0); - break; - case WIDX_GUEST_NAUSEA_TOLERANCE_MIN: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_NAUSEA_TOLERANCE, GAME_COMMAND_CHEAT, PEEP_NAUSEA_TOLERANCE_NONE, 0); - break; - case WIDX_GUEST_BATHROOM_MAX: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_BATHROOM, GAME_COMMAND_CHEAT, 255, 0); - break; - case WIDX_GUEST_BATHROOM_MIN: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_BATHROOM, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_GUEST_RIDE_INTENSITY_MORE_THAN_1: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY, GAME_COMMAND_CHEAT, 1, 0); - break; - case WIDX_GUEST_RIDE_INTENSITY_LESS_THAN_15: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_TRAM_GUESTS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_GENERATEGUESTS, CHEATS_TRAM_INCREMENT, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_REMOVE_ALL_GUESTS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_REMOVEALLGUESTS, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_EXPLODE_GUESTS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_EXPLODEGUESTS, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_GIVE_GUESTS_MONEY: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_GIVEALLGUESTS, OBJECT_MONEY, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_GIVE_GUESTS_PARK_MAPS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_GIVEALLGUESTS, OBJECT_PARK_MAP, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_GIVE_GUESTS_BALLOONS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_GIVEALLGUESTS, OBJECT_BALLOON, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_GIVE_GUESTS_UMBRELLAS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_GIVEALLGUESTS, OBJECT_UMBRELLA, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_GUEST_IGNORE_RIDE_INTENSITY: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_IGNORERIDEINTENSITY, !gCheatsIgnoreRideIntensity, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_DISABLE_VANDALISM: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLEVANDALISM, !gCheatsDisableVandalism, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_DISABLE_LITTERING: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLELITTERING, !gCheatsDisableLittering, GAME_COMMAND_CHEAT, 0, 0); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + window_cheats_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_GUEST_HAPPINESS_MAX: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_HAPPINESS, GAME_COMMAND_CHEAT, 255, 0); + break; + case WIDX_GUEST_HAPPINESS_MIN: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_HAPPINESS, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_GUEST_ENERGY_MAX: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_ENERGY, GAME_COMMAND_CHEAT, 127, 0); + break; + case WIDX_GUEST_ENERGY_MIN: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_ENERGY, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_GUEST_HUNGER_MAX: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_HUNGER, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_GUEST_HUNGER_MIN: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_HUNGER, GAME_COMMAND_CHEAT, 255, 0); + break; + case WIDX_GUEST_THIRST_MAX: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_THIRST, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_GUEST_THIRST_MIN: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_THIRST, GAME_COMMAND_CHEAT, 255, 0); + break; + case WIDX_GUEST_NAUSEA_MAX: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_NAUSEA, GAME_COMMAND_CHEAT, 255, 0); + break; + case WIDX_GUEST_NAUSEA_MIN: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_NAUSEA, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_GUEST_NAUSEA_TOLERANCE_MAX: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_NAUSEA_TOLERANCE, GAME_COMMAND_CHEAT, PEEP_NAUSEA_TOLERANCE_HIGH, 0); + break; + case WIDX_GUEST_NAUSEA_TOLERANCE_MIN: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_NAUSEA_TOLERANCE, GAME_COMMAND_CHEAT, PEEP_NAUSEA_TOLERANCE_NONE, 0); + break; + case WIDX_GUEST_BATHROOM_MAX: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_BATHROOM, GAME_COMMAND_CHEAT, 255, 0); + break; + case WIDX_GUEST_BATHROOM_MIN: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_BATHROOM, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_GUEST_RIDE_INTENSITY_MORE_THAN_1: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY, GAME_COMMAND_CHEAT, 1, 0); + break; + case WIDX_GUEST_RIDE_INTENSITY_LESS_THAN_15: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGUESTPARAMETER, GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_TRAM_GUESTS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_GENERATEGUESTS, CHEATS_TRAM_INCREMENT, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_REMOVE_ALL_GUESTS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_REMOVEALLGUESTS, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_EXPLODE_GUESTS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_EXPLODEGUESTS, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_GIVE_GUESTS_MONEY: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_GIVEALLGUESTS, OBJECT_MONEY, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_GIVE_GUESTS_PARK_MAPS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_GIVEALLGUESTS, OBJECT_PARK_MAP, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_GIVE_GUESTS_BALLOONS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_GIVEALLGUESTS, OBJECT_BALLOON, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_GIVE_GUESTS_UMBRELLAS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_GIVEALLGUESTS, OBJECT_UMBRELLA, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_GUEST_IGNORE_RIDE_INTENSITY: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_IGNORERIDEINTENSITY, !gCheatsIgnoreRideIntensity, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_DISABLE_VANDALISM: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLEVANDALISM, !gCheatsDisableVandalism, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_DISABLE_LITTERING: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLELITTERING, !gCheatsDisableLittering, GAME_COMMAND_CHEAT, 0, 0); + break; + } } static void window_cheats_misc_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - window_cheats_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_FREEZE_CLIMATE: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_FREEZECLIMATE, !gCheatsFreezeClimate, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_OPEN_CLOSE_PARK: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_OPENCLOSEPARK, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_CLEAR_GRASS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGRASSLENGTH, GRASS_LENGTH_CLEAR_0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_MOWED_GRASS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGRASSLENGTH, GRASS_LENGTH_MOWED, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_WATER_PLANTS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_WATERPLANTS, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_FIX_VANDALISM: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_FIXVANDALISM, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_REMOVE_LITTER: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_REMOVELITTER, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_DISABLE_PLANT_AGING: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLEPLANTAGING, !gCheatsDisablePlantAging, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_WIN_SCENARIO: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_WINSCENARIO, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_HAVE_FUN: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_HAVEFUN, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_OWN_ALL_LAND: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_OWNALLLAND, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_NEVERENDING_MARKETING: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_NEVERENDINGMARKETING, !gCheatsNeverendingMarketing, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_UNLOCK_ALL_PRICES: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_UNLOCKALLPRICES, !gCheatsUnlockAllPrices, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_SANDBOX_MODE: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SANDBOXMODE, !gCheatsSandboxMode, GAME_COMMAND_CHEAT, 0, 0); - // To prevent tools from staying active after disabling cheat - // tool_cancel(); - break; - case WIDX_RESET_DATE: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_RESETDATE, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_FAST_STAFF: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETSTAFFSPEED, CHEATS_STAFF_FAST_SPEED, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_NORMAL_STAFF: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETSTAFFSPEED, CHEATS_STAFF_NORMAL_SPEED, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_PARK_PARAMETERS: - window_editor_scenario_options_open(); - break; - case WIDX_FORCE_PARK_RATING: - if (get_forced_park_rating() >= 0){ - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETFORCEDPARKRATING, -1, GAME_COMMAND_CHEAT, 0, 0); - } else { - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETFORCEDPARKRATING, park_rating_spinner_value, GAME_COMMAND_CHEAT, 0, 0); - } - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + window_cheats_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_FREEZE_CLIMATE: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_FREEZECLIMATE, !gCheatsFreezeClimate, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_OPEN_CLOSE_PARK: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_OPENCLOSEPARK, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_CLEAR_GRASS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGRASSLENGTH, GRASS_LENGTH_CLEAR_0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_MOWED_GRASS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETGRASSLENGTH, GRASS_LENGTH_MOWED, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_WATER_PLANTS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_WATERPLANTS, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_FIX_VANDALISM: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_FIXVANDALISM, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_REMOVE_LITTER: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_REMOVELITTER, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_DISABLE_PLANT_AGING: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLEPLANTAGING, !gCheatsDisablePlantAging, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_WIN_SCENARIO: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_WINSCENARIO, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_HAVE_FUN: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_HAVEFUN, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_OWN_ALL_LAND: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_OWNALLLAND, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_NEVERENDING_MARKETING: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_NEVERENDINGMARKETING, !gCheatsNeverendingMarketing, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_UNLOCK_ALL_PRICES: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_UNLOCKALLPRICES, !gCheatsUnlockAllPrices, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_SANDBOX_MODE: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SANDBOXMODE, !gCheatsSandboxMode, GAME_COMMAND_CHEAT, 0, 0); + // To prevent tools from staying active after disabling cheat + // tool_cancel(); + break; + case WIDX_RESET_DATE: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_RESETDATE, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_FAST_STAFF: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETSTAFFSPEED, CHEATS_STAFF_FAST_SPEED, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_NORMAL_STAFF: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETSTAFFSPEED, CHEATS_STAFF_NORMAL_SPEED, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_PARK_PARAMETERS: + window_editor_scenario_options_open(); + break; + case WIDX_FORCE_PARK_RATING: + if (get_forced_park_rating() >= 0){ + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETFORCEDPARKRATING, -1, GAME_COMMAND_CHEAT, 0, 0); + } else { + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETFORCEDPARKRATING, park_rating_spinner_value, GAME_COMMAND_CHEAT, 0, 0); + } + break; + } } static void window_cheats_rides_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - window_cheats_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_RENEW_RIDES: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_RENEWRIDES, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_MAKE_DESTRUCTIBLE: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_MAKEDESTRUCTIBLE, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_FIX_ALL: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_FIXRIDES, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_FAST_LIFT_HILL: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_FASTLIFTHILL, !gCheatsFastLiftHill, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_DISABLE_BRAKES_FAILURE: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLEBRAKESFAILURE, !gCheatsDisableBrakesFailure, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_DISABLE_ALL_BREAKDOWNS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLEALLBREAKDOWNS, !gCheatsDisableAllBreakdowns, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_BUILD_IN_PAUSE_MODE: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_BUILDINPAUSEMODE, !gCheatsBuildInPauseMode, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_RESET_CRASH_STATUS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_RESETCRASHSTATUS, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_10_MINUTE_INSPECTIONS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_10MINUTEINSPECTIONS, 0, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_SHOW_ALL_OPERATING_MODES: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SHOWALLOPERATINGMODES, !gCheatsShowAllOperatingModes, GAME_COMMAND_CHEAT, 0, 0); - if (gCheatsShowAllOperatingModes) { - window_error_open(STR_WARNING_IN_CAPS, STR_THIS_FEATURE_IS_CURRENTLY_UNSTABLE); - } - break; - case WIDX_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SHOWVEHICLESFROMOTHERTRACKTYPES, !gCheatsShowVehiclesFromOtherTrackTypes, GAME_COMMAND_CHEAT, 0, 0); - if (gCheatsShowVehiclesFromOtherTrackTypes) { - window_error_open(STR_WARNING_IN_CAPS, STR_THIS_FEATURE_IS_CURRENTLY_UNSTABLE); - } - break; - case WIDX_DISABLE_TRAIN_LENGTH_LIMITS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLETRAINLENGTHLIMIT, !gCheatsDisableTrainLengthLimit, GAME_COMMAND_CHEAT, 0, 0); - if (gCheatsDisableTrainLengthLimit) { - window_error_open(STR_WARNING_IN_CAPS, STR_THIS_FEATURE_IS_CURRENTLY_UNSTABLE); - } - break; - case WIDX_ENABLE_CHAIN_LIFT_ON_ALL_TRACK: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_ENABLECHAINLIFTONALLTRACK, !gCheatsEnableChainLiftOnAllTrack, GAME_COMMAND_CHEAT, 0, 0); - break; - case WIDX_ENABLE_ARBITRARY_RIDE_TYPE_CHANGES: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES, !gCheatsAllowArbitraryRideTypeChanges, GAME_COMMAND_CHEAT, 0, 0); - if (gCheatsAllowArbitraryRideTypeChanges) { - window_error_open(STR_WARNING_IN_CAPS, STR_THIS_FEATURE_IS_CURRENTLY_UNSTABLE); - } - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + window_cheats_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_RENEW_RIDES: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_RENEWRIDES, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_MAKE_DESTRUCTIBLE: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_MAKEDESTRUCTIBLE, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_FIX_ALL: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_FIXRIDES, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_FAST_LIFT_HILL: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_FASTLIFTHILL, !gCheatsFastLiftHill, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_DISABLE_BRAKES_FAILURE: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLEBRAKESFAILURE, !gCheatsDisableBrakesFailure, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_DISABLE_ALL_BREAKDOWNS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLEALLBREAKDOWNS, !gCheatsDisableAllBreakdowns, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_BUILD_IN_PAUSE_MODE: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_BUILDINPAUSEMODE, !gCheatsBuildInPauseMode, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_RESET_CRASH_STATUS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_RESETCRASHSTATUS, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_10_MINUTE_INSPECTIONS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_10MINUTEINSPECTIONS, 0, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_SHOW_ALL_OPERATING_MODES: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SHOWALLOPERATINGMODES, !gCheatsShowAllOperatingModes, GAME_COMMAND_CHEAT, 0, 0); + if (gCheatsShowAllOperatingModes) { + window_error_open(STR_WARNING_IN_CAPS, STR_THIS_FEATURE_IS_CURRENTLY_UNSTABLE); + } + break; + case WIDX_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SHOWVEHICLESFROMOTHERTRACKTYPES, !gCheatsShowVehiclesFromOtherTrackTypes, GAME_COMMAND_CHEAT, 0, 0); + if (gCheatsShowVehiclesFromOtherTrackTypes) { + window_error_open(STR_WARNING_IN_CAPS, STR_THIS_FEATURE_IS_CURRENTLY_UNSTABLE); + } + break; + case WIDX_DISABLE_TRAIN_LENGTH_LIMITS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLETRAINLENGTHLIMIT, !gCheatsDisableTrainLengthLimit, GAME_COMMAND_CHEAT, 0, 0); + if (gCheatsDisableTrainLengthLimit) { + window_error_open(STR_WARNING_IN_CAPS, STR_THIS_FEATURE_IS_CURRENTLY_UNSTABLE); + } + break; + case WIDX_ENABLE_CHAIN_LIFT_ON_ALL_TRACK: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_ENABLECHAINLIFTONALLTRACK, !gCheatsEnableChainLiftOnAllTrack, GAME_COMMAND_CHEAT, 0, 0); + break; + case WIDX_ENABLE_ARBITRARY_RIDE_TYPE_CHANGES: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES, !gCheatsAllowArbitraryRideTypeChanges, GAME_COMMAND_CHEAT, 0, 0); + if (gCheatsAllowArbitraryRideTypeChanges) { + window_error_open(STR_WARNING_IN_CAPS, STR_THIS_FEATURE_IS_CURRENTLY_UNSTABLE); + } + break; + } } static void window_cheats_text_input(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (text == NULL) - return; + if (text == NULL) + return; - if (w->page == WINDOW_CHEATS_PAGE_MONEY && widgetIndex == WIDX_MONEY_SPINNER) { - money32 val = string_to_money(text); - if (val != MONEY32_UNDEFINED) { - _moneySpinnerValue = val; - } - window_invalidate(w); - } + if (w->page == WINDOW_CHEATS_PAGE_MONEY && widgetIndex == WIDX_MONEY_SPINNER) { + money32 val = string_to_money(text); + if (val != MONEY32_UNDEFINED) { + _moneySpinnerValue = val; + } + window_invalidate(w); + } } static void window_cheats_update(rct_window *w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB_1 + w->page); + w->frame_no++; + widget_invalidate(w, WIDX_TAB_1 + w->page); } static void window_cheats_invalidate(rct_window *w) { - sint32 i; + sint32 i; - rct_widget *widgets = window_cheats_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + rct_widget *widgets = window_cheats_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - w->pressed_widgets = 0; - w->disabled_widgets = 0; + w->pressed_widgets = 0; + w->disabled_widgets = 0; - // Set correct active tab - for (i = 0; i < 7; i++) - w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); - w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); + // Set correct active tab + for (i = 0; i < 7; i++) + w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); + w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); - // Set title - w->widgets[WIDX_TITLE].text = window_cheats_page_titles[w->page]; + // Set title + w->widgets[WIDX_TITLE].text = window_cheats_page_titles[w->page]; - switch (w->page) { - case WINDOW_CHEATS_PAGE_MONEY:{ - widget_set_checkbox_value(w, WIDX_NO_MONEY, gParkFlags & PARK_FLAGS_NO_MONEY); + switch (w->page) { + case WINDOW_CHEATS_PAGE_MONEY:{ + widget_set_checkbox_value(w, WIDX_NO_MONEY, gParkFlags & PARK_FLAGS_NO_MONEY); - uint64 money_widgets = (1 << WIDX_ADD_SET_MONEY_GROUP) | (1 << WIDX_MONEY_SPINNER) | (1 << WIDX_MONEY_SPINNER_INCREMENT) | - (1 << WIDX_MONEY_SPINNER_DECREMENT) | (1 << WIDX_ADD_MONEY) | (1 << WIDX_SET_MONEY) | (1 << WIDX_CLEAR_LOAN); - if (gParkFlags & PARK_FLAGS_NO_MONEY) { - w->disabled_widgets |= money_widgets; - } - else { - w->disabled_widgets &= ~money_widgets; - } - }break; - case WINDOW_CHEATS_PAGE_GUESTS: - set_format_arg(0, sint32, 10000); - widget_set_checkbox_value(w, WIDX_GUEST_IGNORE_RIDE_INTENSITY, gCheatsIgnoreRideIntensity); - widget_set_checkbox_value(w, WIDX_DISABLE_VANDALISM, gCheatsDisableVandalism); - widget_set_checkbox_value(w, WIDX_DISABLE_LITTERING, gCheatsDisableLittering); - break; - case WINDOW_CHEATS_PAGE_MISC: - w->widgets[WIDX_OPEN_CLOSE_PARK].text = (gParkFlags & PARK_FLAGS_PARK_OPEN) ? STR_CHEAT_CLOSE_PARK : STR_CHEAT_OPEN_PARK; - widget_set_checkbox_value(w, WIDX_UNLOCK_ALL_PRICES, gCheatsUnlockAllPrices); - widget_set_checkbox_value(w, WIDX_FORCE_PARK_RATING, get_forced_park_rating() >= 0); - w->widgets[WIDX_SANDBOX_MODE].text = gCheatsSandboxMode ? STR_CHEAT_SANDBOX_MODE_DISABLE : STR_CHEAT_SANDBOX_MODE; - w->widgets[WIDX_FREEZE_CLIMATE].text = gCheatsFreezeClimate ? STR_CHEAT_UNFREEZE_CLIMATE : STR_CHEAT_FREEZE_CLIMATE; - widget_set_checkbox_value(w, WIDX_NEVERENDING_MARKETING, gCheatsNeverendingMarketing); - widget_set_checkbox_value(w, WIDX_DISABLE_PLANT_AGING, gCheatsDisablePlantAging); - break; - case WINDOW_CHEATS_PAGE_RIDES: - set_format_arg(0, uint16, 255); - widget_set_checkbox_value(w, WIDX_FAST_LIFT_HILL, gCheatsFastLiftHill); - widget_set_checkbox_value(w, WIDX_DISABLE_BRAKES_FAILURE, gCheatsDisableBrakesFailure); - widget_set_checkbox_value(w, WIDX_DISABLE_ALL_BREAKDOWNS, gCheatsDisableAllBreakdowns); - widget_set_checkbox_value(w, WIDX_BUILD_IN_PAUSE_MODE, gCheatsBuildInPauseMode); - widget_set_checkbox_value(w, WIDX_SHOW_ALL_OPERATING_MODES, gCheatsShowAllOperatingModes); - widget_set_checkbox_value(w, WIDX_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES, gCheatsShowVehiclesFromOtherTrackTypes); - widget_set_checkbox_value(w, WIDX_DISABLE_TRAIN_LENGTH_LIMITS, gCheatsDisableTrainLengthLimit); - widget_set_checkbox_value(w, WIDX_ENABLE_CHAIN_LIFT_ON_ALL_TRACK, gCheatsEnableChainLiftOnAllTrack); - widget_set_checkbox_value(w, WIDX_ENABLE_ARBITRARY_RIDE_TYPE_CHANGES, gCheatsAllowArbitraryRideTypeChanges); - break; - } + uint64 money_widgets = (1 << WIDX_ADD_SET_MONEY_GROUP) | (1 << WIDX_MONEY_SPINNER) | (1 << WIDX_MONEY_SPINNER_INCREMENT) | + (1 << WIDX_MONEY_SPINNER_DECREMENT) | (1 << WIDX_ADD_MONEY) | (1 << WIDX_SET_MONEY) | (1 << WIDX_CLEAR_LOAN); + if (gParkFlags & PARK_FLAGS_NO_MONEY) { + w->disabled_widgets |= money_widgets; + } + else { + w->disabled_widgets &= ~money_widgets; + } + }break; + case WINDOW_CHEATS_PAGE_GUESTS: + set_format_arg(0, sint32, 10000); + widget_set_checkbox_value(w, WIDX_GUEST_IGNORE_RIDE_INTENSITY, gCheatsIgnoreRideIntensity); + widget_set_checkbox_value(w, WIDX_DISABLE_VANDALISM, gCheatsDisableVandalism); + widget_set_checkbox_value(w, WIDX_DISABLE_LITTERING, gCheatsDisableLittering); + break; + case WINDOW_CHEATS_PAGE_MISC: + w->widgets[WIDX_OPEN_CLOSE_PARK].text = (gParkFlags & PARK_FLAGS_PARK_OPEN) ? STR_CHEAT_CLOSE_PARK : STR_CHEAT_OPEN_PARK; + widget_set_checkbox_value(w, WIDX_UNLOCK_ALL_PRICES, gCheatsUnlockAllPrices); + widget_set_checkbox_value(w, WIDX_FORCE_PARK_RATING, get_forced_park_rating() >= 0); + w->widgets[WIDX_SANDBOX_MODE].text = gCheatsSandboxMode ? STR_CHEAT_SANDBOX_MODE_DISABLE : STR_CHEAT_SANDBOX_MODE; + w->widgets[WIDX_FREEZE_CLIMATE].text = gCheatsFreezeClimate ? STR_CHEAT_UNFREEZE_CLIMATE : STR_CHEAT_FREEZE_CLIMATE; + widget_set_checkbox_value(w, WIDX_NEVERENDING_MARKETING, gCheatsNeverendingMarketing); + widget_set_checkbox_value(w, WIDX_DISABLE_PLANT_AGING, gCheatsDisablePlantAging); + break; + case WINDOW_CHEATS_PAGE_RIDES: + set_format_arg(0, uint16, 255); + widget_set_checkbox_value(w, WIDX_FAST_LIFT_HILL, gCheatsFastLiftHill); + widget_set_checkbox_value(w, WIDX_DISABLE_BRAKES_FAILURE, gCheatsDisableBrakesFailure); + widget_set_checkbox_value(w, WIDX_DISABLE_ALL_BREAKDOWNS, gCheatsDisableAllBreakdowns); + widget_set_checkbox_value(w, WIDX_BUILD_IN_PAUSE_MODE, gCheatsBuildInPauseMode); + widget_set_checkbox_value(w, WIDX_SHOW_ALL_OPERATING_MODES, gCheatsShowAllOperatingModes); + widget_set_checkbox_value(w, WIDX_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES, gCheatsShowVehiclesFromOtherTrackTypes); + widget_set_checkbox_value(w, WIDX_DISABLE_TRAIN_LENGTH_LIMITS, gCheatsDisableTrainLengthLimit); + widget_set_checkbox_value(w, WIDX_ENABLE_CHAIN_LIFT_ON_ALL_TRACK, gCheatsEnableChainLiftOnAllTrack); + widget_set_checkbox_value(w, WIDX_ENABLE_ARBITRARY_RIDE_TYPE_CHANGES, gCheatsAllowArbitraryRideTypeChanges); + break; + } - // Current weather - window_cheats_misc_widgets[WIDX_WEATHER].text = WeatherTypes[gClimateCurrentWeather]; + // Current weather + window_cheats_misc_widgets[WIDX_WEATHER].text = WeatherTypes[gClimateCurrentWeather]; } static void window_cheats_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_cheats_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_cheats_draw_tab_images(dpi, w); - if (w->page == WINDOW_CHEATS_PAGE_MONEY){ - uint8 colour = w->colours[1]; - set_format_arg(0, money32, _moneySpinnerValue); - if (widget_is_disabled(w, WIDX_MONEY_SPINNER)) { - colour |= COLOUR_FLAG_INSET; - } - gfx_draw_string_left(dpi, STR_BOTTOM_TOOLBAR_CASH, gCommonFormatArgs, colour, w->x + XPL(0) + TXTO, w->y + YPL(2) + TXTO); - } - else if(w->page == WINDOW_CHEATS_PAGE_MISC){ - gfx_draw_string_left(dpi, STR_CHEAT_STAFF_SPEED, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(17) + TXTO); - gfx_draw_string_left(dpi, STR_FORCE_WEATHER, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(10) + TXTO); - gfx_draw_string_right(dpi, STR_FORMAT_INTEGER, &park_rating_spinner_value, w->colours[1], w->x + WPL(1) - 10 - TXTO, w->y + YPL(5) + TXTO); - } - else if (w->page == WINDOW_CHEATS_PAGE_GUESTS){ - gfx_draw_string_left(dpi, STR_CHEAT_GUEST_HAPPINESS, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(1) + TXTO); - gfx_draw_string_left(dpi, STR_CHEAT_GUEST_ENERGY, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(2) + TXTO); - gfx_draw_string_left(dpi, STR_CHEAT_GUEST_HUNGER, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(3) + TXTO); - gfx_draw_string_left(dpi, STR_CHEAT_GUEST_THIRST, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(4) + TXTO); - gfx_draw_string_left(dpi, STR_CHEAT_GUEST_NAUSEA, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(5) + TXTO); - gfx_draw_string_left(dpi, STR_CHEAT_GUEST_NAUSEA_TOLERANCE, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(6) + TXTO); - gfx_draw_string_left(dpi, STR_CHEAT_GUEST_BATHROOM, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(7) + TXTO); - gfx_draw_string_left(dpi, STR_CHEAT_GUEST_PREFERRED_INTENSITY,NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(8) + TXTO); - } + if (w->page == WINDOW_CHEATS_PAGE_MONEY){ + uint8 colour = w->colours[1]; + set_format_arg(0, money32, _moneySpinnerValue); + if (widget_is_disabled(w, WIDX_MONEY_SPINNER)) { + colour |= COLOUR_FLAG_INSET; + } + gfx_draw_string_left(dpi, STR_BOTTOM_TOOLBAR_CASH, gCommonFormatArgs, colour, w->x + XPL(0) + TXTO, w->y + YPL(2) + TXTO); + } + else if(w->page == WINDOW_CHEATS_PAGE_MISC){ + gfx_draw_string_left(dpi, STR_CHEAT_STAFF_SPEED, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(17) + TXTO); + gfx_draw_string_left(dpi, STR_FORCE_WEATHER, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(10) + TXTO); + gfx_draw_string_right(dpi, STR_FORMAT_INTEGER, &park_rating_spinner_value, w->colours[1], w->x + WPL(1) - 10 - TXTO, w->y + YPL(5) + TXTO); + } + else if (w->page == WINDOW_CHEATS_PAGE_GUESTS){ + gfx_draw_string_left(dpi, STR_CHEAT_GUEST_HAPPINESS, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(1) + TXTO); + gfx_draw_string_left(dpi, STR_CHEAT_GUEST_ENERGY, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(2) + TXTO); + gfx_draw_string_left(dpi, STR_CHEAT_GUEST_HUNGER, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(3) + TXTO); + gfx_draw_string_left(dpi, STR_CHEAT_GUEST_THIRST, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(4) + TXTO); + gfx_draw_string_left(dpi, STR_CHEAT_GUEST_NAUSEA, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(5) + TXTO); + gfx_draw_string_left(dpi, STR_CHEAT_GUEST_NAUSEA_TOLERANCE, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(6) + TXTO); + gfx_draw_string_left(dpi, STR_CHEAT_GUEST_BATHROOM, NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(7) + TXTO); + gfx_draw_string_left(dpi, STR_CHEAT_GUEST_PREFERRED_INTENSITY,NULL, COLOUR_BLACK, w->x + XPL(0) + TXTO, w->y + YPL(8) + TXTO); + } } static void window_cheats_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) { - sint32 sprite_idx; + sint32 sprite_idx; - // Money tab - if (!(w->disabled_widgets & (1 << WIDX_TAB_1))) { - sprite_idx = SPR_TAB_FINANCES_SUMMARY_0; - if (w->page == WINDOW_CHEATS_PAGE_MONEY) - sprite_idx += (w->frame_no / 2) % 8; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_1].left, w->y + w->widgets[WIDX_TAB_1].top, 0); - } + // Money tab + if (!(w->disabled_widgets & (1 << WIDX_TAB_1))) { + sprite_idx = SPR_TAB_FINANCES_SUMMARY_0; + if (w->page == WINDOW_CHEATS_PAGE_MONEY) + sprite_idx += (w->frame_no / 2) % 8; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_1].left, w->y + w->widgets[WIDX_TAB_1].top, 0); + } - // Guests tab - if (!(w->disabled_widgets & (1 << WIDX_TAB_2))) { - sprite_idx = SPR_TAB_GUESTS_0; - if (w->page == WINDOW_CHEATS_PAGE_GUESTS) - sprite_idx += (w->frame_no / 3) % 8; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_2].left, w->y + w->widgets[WIDX_TAB_2].top, 0); - } + // Guests tab + if (!(w->disabled_widgets & (1 << WIDX_TAB_2))) { + sprite_idx = SPR_TAB_GUESTS_0; + if (w->page == WINDOW_CHEATS_PAGE_GUESTS) + sprite_idx += (w->frame_no / 3) % 8; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_2].left, w->y + w->widgets[WIDX_TAB_2].top, 0); + } - // Misc tab - if (!(w->disabled_widgets & (1 << WIDX_TAB_3))) { - sprite_idx = SPR_TAB_PARK; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_3].left, w->y + w->widgets[WIDX_TAB_3].top, 0); - } + // Misc tab + if (!(w->disabled_widgets & (1 << WIDX_TAB_3))) { + sprite_idx = SPR_TAB_PARK; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_3].left, w->y + w->widgets[WIDX_TAB_3].top, 0); + } - // Rides tab - if (!(w->disabled_widgets & (1 << WIDX_TAB_4))) { - sprite_idx = SPR_TAB_RIDE_0; - if (w->page == WINDOW_CHEATS_PAGE_RIDES) - sprite_idx += (w->frame_no / 4) % 16; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_4].left, w->y + w->widgets[WIDX_TAB_4].top, 0); - } + // Rides tab + if (!(w->disabled_widgets & (1 << WIDX_TAB_4))) { + sprite_idx = SPR_TAB_RIDE_0; + if (w->page == WINDOW_CHEATS_PAGE_RIDES) + sprite_idx += (w->frame_no / 4) % 16; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_4].left, w->y + w->widgets[WIDX_TAB_4].top, 0); + } } static void window_cheats_set_page(rct_window *w, sint32 page) { - w->page = page; - w->frame_no = 0; + w->page = page; + w->frame_no = 0; - w->enabled_widgets = window_cheats_page_enabled_widgets[page]; - w->hold_down_widgets = window_cheats_page_hold_down_widgets[page]; - w->pressed_widgets = 0; + w->enabled_widgets = window_cheats_page_enabled_widgets[page]; + w->hold_down_widgets = window_cheats_page_hold_down_widgets[page]; + w->pressed_widgets = 0; - w->event_handlers = window_cheats_page_events[page]; - w->widgets = window_cheats_page_widgets[page]; + w->event_handlers = window_cheats_page_events[page]; + w->widgets = window_cheats_page_widgets[page]; - sint32 maxY = 0; - rct_widget *widget = &w->widgets[WIDX_TAB_CONTENT]; - while (widget->type != WWT_LAST) { - maxY = max(maxY, widget->bottom); - widget++; - } - maxY += 6; + sint32 maxY = 0; + rct_widget *widget = &w->widgets[WIDX_TAB_CONTENT]; + while (widget->type != WWT_LAST) { + maxY = max(maxY, widget->bottom); + widget++; + } + maxY += 6; - window_invalidate(w); - w->height = maxY; - w->widgets[WIDX_BACKGROUND].bottom = maxY - 1; - w->widgets[WIDX_PAGE_BACKGROUND].bottom = maxY - 1; - window_invalidate(w); + window_invalidate(w); + w->height = maxY; + w->widgets[WIDX_BACKGROUND].bottom = maxY - 1; + w->widgets[WIDX_PAGE_BACKGROUND].bottom = maxY - 1; + window_invalidate(w); } diff --git a/src/openrct2/windows/clear_scenery.c b/src/openrct2/windows/clear_scenery.c index 587fd89df2..2ab01d6c17 100644 --- a/src/openrct2/windows/clear_scenery.c +++ b/src/openrct2/windows/clear_scenery.c @@ -28,30 +28,30 @@ #define MAXIMUM_TOOL_SIZE 64 enum WINDOW_CLEAR_SCENERY_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PREVIEW, - WIDX_DECREMENT, - WIDX_INCREMENT, - WIDX_SMALL_SCENERY, - WIDX_LARGE_SCENERY, - WIDX_FOOTPATH + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PREVIEW, + WIDX_DECREMENT, + WIDX_INCREMENT, + WIDX_SMALL_SCENERY, + WIDX_LARGE_SCENERY, + WIDX_FOOTPATH }; validate_global_widx(WC_CLEAR_SCENERY, WIDX_PREVIEW); rct_widget window_clear_scenery_widgets[] = { - { WWT_FRAME, 0, 0, 97, 0, 93, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 96, 1, 14, STR_CLEAR_SCENERY, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 85, 95, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_IMGBTN, 0, 27, 70, 17, 48, SPR_LAND_TOOL_SIZE_0, STR_NONE }, // preview box - { WWT_TRNBTN, 1, 28, 43, 18, 33, 0x20000000 | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP }, // decrement size - { WWT_TRNBTN, 1, 54, 69, 32, 47, 0x20000000 | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP }, // increment size - { WWT_FLATBTN, 1, 7, 30, 53, 76, 0x20000000 | SPR_G2_BUTTON_TREES, STR_CLEAR_SCENERY_REMOVE_SMALL_SCENERY_TIP }, // small scenery - { WWT_FLATBTN, 1, 37, 60, 53, 76, 0x20000000 | SPR_G2_BUTTON_LARGE_SCENERY, STR_CLEAR_SCENERY_REMOVE_LARGE_SCENERY_TIP }, // large scenery - { WWT_FLATBTN, 1, 67, 90, 53, 76, 0x20000000 | SPR_G2_BUTTON_FOOTPATH, STR_CLEAR_SCENERY_REMOVE_FOOTPATHS_TIP }, // footpaths - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 97, 0, 93, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 96, 1, 14, STR_CLEAR_SCENERY, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 85, 95, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_IMGBTN, 0, 27, 70, 17, 48, SPR_LAND_TOOL_SIZE_0, STR_NONE }, // preview box + { WWT_TRNBTN, 1, 28, 43, 18, 33, 0x20000000 | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP }, // decrement size + { WWT_TRNBTN, 1, 54, 69, 32, 47, 0x20000000 | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP }, // increment size + { WWT_FLATBTN, 1, 7, 30, 53, 76, 0x20000000 | SPR_G2_BUTTON_TREES, STR_CLEAR_SCENERY_REMOVE_SMALL_SCENERY_TIP }, // small scenery + { WWT_FLATBTN, 1, 37, 60, 53, 76, 0x20000000 | SPR_G2_BUTTON_LARGE_SCENERY, STR_CLEAR_SCENERY_REMOVE_LARGE_SCENERY_TIP }, // large scenery + { WWT_FLATBTN, 1, 67, 90, 53, 76, 0x20000000 | SPR_G2_BUTTON_FOOTPATH, STR_CLEAR_SCENERY_REMOVE_FOOTPATHS_TIP }, // footpaths + { WIDGETS_END }, }; static void window_clear_scenery_close(rct_window *w); @@ -63,34 +63,34 @@ static void window_clear_scenery_textinput(rct_window *w, rct_widgetindex widget static void window_clear_scenery_inputsize(rct_window *w); static rct_window_event_list window_clear_scenery_events = { - window_clear_scenery_close, - window_clear_scenery_mouseup, - NULL, - NULL, - NULL, - NULL, - window_clear_scenery_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_clear_scenery_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_clear_scenery_invalidate, - window_clear_scenery_paint, - NULL + window_clear_scenery_close, + window_clear_scenery_mouseup, + NULL, + NULL, + NULL, + NULL, + window_clear_scenery_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_clear_scenery_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_clear_scenery_invalidate, + window_clear_scenery_paint, + NULL }; /** @@ -99,24 +99,24 @@ static rct_window_event_list window_clear_scenery_events = { */ void window_clear_scenery_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - if (window_find_by_class(WC_CLEAR_SCENERY) != NULL) - return; + // Check if window is already open + if (window_find_by_class(WC_CLEAR_SCENERY) != NULL) + return; - window = window_create(context_get_width() - 98, 29, 98, 94, &window_clear_scenery_events, WC_CLEAR_SCENERY, 0); - window->widgets = window_clear_scenery_widgets; - window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_INCREMENT) | (1 << WIDX_DECREMENT) | (1 << WIDX_PREVIEW) | - (1 << WIDX_SMALL_SCENERY) | (1 << WIDX_LARGE_SCENERY) | (1 << WIDX_FOOTPATH); - window_init_scroll_widgets(window); - window_push_others_below(window); + window = window_create(context_get_width() - 98, 29, 98, 94, &window_clear_scenery_events, WC_CLEAR_SCENERY, 0); + window->widgets = window_clear_scenery_widgets; + window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_INCREMENT) | (1 << WIDX_DECREMENT) | (1 << WIDX_PREVIEW) | + (1 << WIDX_SMALL_SCENERY) | (1 << WIDX_LARGE_SCENERY) | (1 << WIDX_FOOTPATH); + window_init_scroll_widgets(window); + window_push_others_below(window); - gClearSceneryCost = MONEY32_UNDEFINED; + gClearSceneryCost = MONEY32_UNDEFINED; - gClearSmallScenery = true; - gClearLargeScenery = false; - gClearFootpath = false; + gClearSmallScenery = true; + gClearLargeScenery = false; + gClearFootpath = false; } /** @@ -125,9 +125,9 @@ void window_clear_scenery_open() */ static void window_clear_scenery_close(rct_window *w) { - // If the tool wasn't changed, turn tool off - if (clear_scenery_tool_is_active()) - tool_cancel(); + // If the tool wasn't changed, turn tool off + if (clear_scenery_tool_is_active()) + tool_cancel(); } /** @@ -136,64 +136,64 @@ static void window_clear_scenery_close(rct_window *w) */ static void window_clear_scenery_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_DECREMENT: - // Decrement land tool size, if it stays within the limit - gLandToolSize = max(MINIMUM_TOOL_SIZE, gLandToolSize - 1); + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_DECREMENT: + // Decrement land tool size, if it stays within the limit + gLandToolSize = max(MINIMUM_TOOL_SIZE, gLandToolSize - 1); - // Invalidate the window - window_invalidate(w); - break; - case WIDX_INCREMENT: - // Increment land tool size, if it stays within the limit - gLandToolSize = min(MAXIMUM_TOOL_SIZE, gLandToolSize + 1); + // Invalidate the window + window_invalidate(w); + break; + case WIDX_INCREMENT: + // Increment land tool size, if it stays within the limit + gLandToolSize = min(MAXIMUM_TOOL_SIZE, gLandToolSize + 1); - // Invalidate the window - window_invalidate(w); - break; - case WIDX_PREVIEW: - window_clear_scenery_inputsize(w); - break; - case WIDX_SMALL_SCENERY: - gClearSmallScenery ^= 1; - window_invalidate(w); - break; - case WIDX_LARGE_SCENERY: - gClearLargeScenery ^= 1; - window_invalidate(w); - break; - case WIDX_FOOTPATH: - gClearFootpath ^= 1; - window_invalidate(w); - break; - } + // Invalidate the window + window_invalidate(w); + break; + case WIDX_PREVIEW: + window_clear_scenery_inputsize(w); + break; + case WIDX_SMALL_SCENERY: + gClearSmallScenery ^= 1; + window_invalidate(w); + break; + case WIDX_LARGE_SCENERY: + gClearLargeScenery ^= 1; + window_invalidate(w); + break; + case WIDX_FOOTPATH: + gClearFootpath ^= 1; + window_invalidate(w); + break; + } } static void window_clear_scenery_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - sint32 size; - char* end; + sint32 size; + char* end; - if (widgetIndex != WIDX_PREVIEW || text == NULL) - return; + if (widgetIndex != WIDX_PREVIEW || text == NULL) + return; - size = strtol(text, &end, 10); - if (*end == '\0') { - size=max(MINIMUM_TOOL_SIZE,size); - size=min(MAXIMUM_TOOL_SIZE,size); - gLandToolSize = size; - window_invalidate(w); - } + size = strtol(text, &end, 10); + if (*end == '\0') { + size=max(MINIMUM_TOOL_SIZE,size); + size=min(MAXIMUM_TOOL_SIZE,size); + gLandToolSize = size; + window_invalidate(w); + } } static void window_clear_scenery_inputsize(rct_window *w) { - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; - window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); + TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; + TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; + window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); } /** @@ -202,9 +202,9 @@ static void window_clear_scenery_inputsize(rct_window *w) */ static void window_clear_scenery_update(rct_window *w) { - // Close window if another tool is open - if (!clear_scenery_tool_is_active()) - window_close(w); + // Close window if another tool is open + if (!clear_scenery_tool_is_active()) + window_close(w); } /** @@ -213,15 +213,15 @@ static void window_clear_scenery_update(rct_window *w) */ static void window_clear_scenery_invalidate(rct_window *w) { - // Set the preview image button to be pressed down - w->pressed_widgets = (1 << WIDX_PREVIEW) | - (gClearSmallScenery ? (1 << WIDX_SMALL_SCENERY) : 0) | - (gClearLargeScenery ? (1 << WIDX_LARGE_SCENERY) : 0) | - (gClearFootpath ? (1 << WIDX_FOOTPATH) : 0); + // Set the preview image button to be pressed down + w->pressed_widgets = (1 << WIDX_PREVIEW) | + (gClearSmallScenery ? (1 << WIDX_SMALL_SCENERY) : 0) | + (gClearLargeScenery ? (1 << WIDX_LARGE_SCENERY) : 0) | + (gClearFootpath ? (1 << WIDX_FOOTPATH) : 0); - // Update the preview image (for tool sizes up to 7) - window_clear_scenery_widgets[WIDX_PREVIEW].image = gLandToolSize <= 7 ? - SPR_LAND_TOOL_SIZE_0 + gLandToolSize : 0xFFFFFFFF; + // Update the preview image (for tool sizes up to 7) + window_clear_scenery_widgets[WIDX_PREVIEW].image = gLandToolSize <= 7 ? + SPR_LAND_TOOL_SIZE_0 + gLandToolSize : 0xFFFFFFFF; } /** @@ -230,23 +230,23 @@ static void window_clear_scenery_invalidate(rct_window *w) */ static void window_clear_scenery_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y; + sint32 x, y; - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - // Draw number for tool sizes bigger than 7 - x = w->x + (window_clear_scenery_widgets[WIDX_PREVIEW].left + window_clear_scenery_widgets[WIDX_PREVIEW].right) / 2; - y = w->y + (window_clear_scenery_widgets[WIDX_PREVIEW].top + window_clear_scenery_widgets[WIDX_PREVIEW].bottom) / 2; - if (gLandToolSize > 7) { - gfx_draw_string_centred(dpi, STR_LAND_TOOL_SIZE_VALUE, x, y - 2, COLOUR_BLACK, &gLandToolSize); - } + // Draw number for tool sizes bigger than 7 + x = w->x + (window_clear_scenery_widgets[WIDX_PREVIEW].left + window_clear_scenery_widgets[WIDX_PREVIEW].right) / 2; + y = w->y + (window_clear_scenery_widgets[WIDX_PREVIEW].top + window_clear_scenery_widgets[WIDX_PREVIEW].bottom) / 2; + if (gLandToolSize > 7) { + gfx_draw_string_centred(dpi, STR_LAND_TOOL_SIZE_VALUE, x, y - 2, COLOUR_BLACK, &gLandToolSize); + } - // Draw cost amount - x = (window_clear_scenery_widgets[WIDX_PREVIEW].left + window_clear_scenery_widgets[WIDX_PREVIEW].right) / 2 + w->x; - y = window_clear_scenery_widgets[WIDX_PREVIEW].bottom + w->y + 5 + 27; - if (gClearSceneryCost != MONEY32_UNDEFINED && - gClearSceneryCost != 0 - ) { - gfx_draw_string_centred(dpi, STR_COST_AMOUNT, x, y, COLOUR_BLACK, &gClearSceneryCost); - } + // Draw cost amount + x = (window_clear_scenery_widgets[WIDX_PREVIEW].left + window_clear_scenery_widgets[WIDX_PREVIEW].right) / 2 + w->x; + y = window_clear_scenery_widgets[WIDX_PREVIEW].bottom + w->y + 5 + 27; + if (gClearSceneryCost != MONEY32_UNDEFINED && + gClearSceneryCost != 0 + ) { + gfx_draw_string_centred(dpi, STR_COST_AMOUNT, x, y, COLOUR_BLACK, &gClearSceneryCost); + } } diff --git a/src/openrct2/windows/custom_currency.c b/src/openrct2/windows/custom_currency.c index daf5206d9d..1e5d7b83e3 100644 --- a/src/openrct2/windows/custom_currency.c +++ b/src/openrct2/windows/custom_currency.c @@ -26,28 +26,28 @@ #include "dropdown.h" enum WINDOW_CUSTOM_CURRENCY_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_RATE, - WIDX_RATE_UP, - WIDX_RATE_DOWN, - WIDX_SYMBOL_TEXT, - WIDX_AFFIX_DROPDOWN, - WIDX_AFFIX_DROPDOWN_BUTTON, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_RATE, + WIDX_RATE_UP, + WIDX_RATE_DOWN, + WIDX_SYMBOL_TEXT, + WIDX_AFFIX_DROPDOWN, + WIDX_AFFIX_DROPDOWN_BUTTON, }; rct_widget window_custom_currency_widgets[] = { - { WWT_FRAME, 0, 0, 399, 0, 99, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 398, 1, 14, STR_CUSTOM_CURRENCY_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 387, 397, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_SPINNER, 1, 100, 200, 30, 40, STR_CHEAT_CURRENCY_FORMAT, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 189, 199, 31, 35, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 189, 199, 36, 40, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 120, 200, 50, 60, 0, STR_NONE }, - { WWT_DROPDOWN, 1, 220, 350, 50, 60, STR_STRINGID, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 339, 349, 51, 59, STR_DROPDOWN_GLYPH, STR_NONE }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 399, 0, 99, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 398, 1, 14, STR_CUSTOM_CURRENCY_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 387, 397, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_SPINNER, 1, 100, 200, 30, 40, STR_CHEAT_CURRENCY_FORMAT, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 189, 199, 31, 35, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 189, 199, 36, 40, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 120, 200, 50, 60, 0, STR_NONE }, + { WWT_DROPDOWN, 1, 220, 350, 50, 60, STR_STRINGID, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 339, 349, 51, 59, STR_DROPDOWN_GLYPH, STR_NONE }, + { WIDGETS_END }, }; @@ -59,261 +59,261 @@ static void custom_currency_window_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list _windowCustomCurrencyEvents = { - NULL, - custom_currency_window_mouseup, - NULL, - custom_currency_window_mousedown, - custom_currency_window_dropdown, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - custom_currency_window_text_input, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - custom_currency_window_paint, - NULL + NULL, + custom_currency_window_mouseup, + NULL, + custom_currency_window_mousedown, + custom_currency_window_dropdown, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + custom_currency_window_text_input, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + custom_currency_window_paint, + NULL }; void custom_currency_window_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_CUSTOM_CURRENCY_CONFIG); - if(window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_CUSTOM_CURRENCY_CONFIG); + if(window != NULL) + return; - window = window_create_centred( - 400, - 100, - &_windowCustomCurrencyEvents, - WC_CUSTOM_CURRENCY_CONFIG, - 0 - ); - window->widgets = window_custom_currency_widgets; - window->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_RATE) | - (1 << WIDX_RATE_UP) | - (1 << WIDX_RATE_DOWN) | - (1 << WIDX_SYMBOL_TEXT) | - (1 << WIDX_AFFIX_DROPDOWN) | - (1 << WIDX_AFFIX_DROPDOWN_BUTTON); + window = window_create_centred( + 400, + 100, + &_windowCustomCurrencyEvents, + WC_CUSTOM_CURRENCY_CONFIG, + 0 + ); + window->widgets = window_custom_currency_widgets; + window->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_RATE) | + (1 << WIDX_RATE_UP) | + (1 << WIDX_RATE_DOWN) | + (1 << WIDX_SYMBOL_TEXT) | + (1 << WIDX_AFFIX_DROPDOWN) | + (1 << WIDX_AFFIX_DROPDOWN_BUTTON); - window->hold_down_widgets = (1 << WIDX_RATE_UP) | (1 << WIDX_RATE_DOWN); - window_init_scroll_widgets(window); - window->colours[0] = COLOUR_LIGHT_BROWN; - window->colours[1] = COLOUR_LIGHT_BROWN; - window->colours[2] = COLOUR_LIGHT_BROWN; + window->hold_down_widgets = (1 << WIDX_RATE_UP) | (1 << WIDX_RATE_DOWN); + window_init_scroll_widgets(window); + window->colours[0] = COLOUR_LIGHT_BROWN; + window->colours[1] = COLOUR_LIGHT_BROWN; + window->colours[2] = COLOUR_LIGHT_BROWN; } static void custom_currency_window_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - widget = &w->widgets[widgetIndex - 1]; + widget = &w->widgets[widgetIndex - 1]; - switch(widgetIndex) { + switch(widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; + case WIDX_CLOSE: + window_close(w); + break; - case WIDX_RATE_UP: - CurrencyDescriptors[CURRENCY_CUSTOM].rate += 1; - gConfigGeneral.custom_currency_rate = CurrencyDescriptors[CURRENCY_CUSTOM].rate; - config_save_default(); - window_invalidate_all(); - break; + case WIDX_RATE_UP: + CurrencyDescriptors[CURRENCY_CUSTOM].rate += 1; + gConfigGeneral.custom_currency_rate = CurrencyDescriptors[CURRENCY_CUSTOM].rate; + config_save_default(); + window_invalidate_all(); + break; - case WIDX_RATE_DOWN: - if(CurrencyDescriptors[CURRENCY_CUSTOM].rate > 1) { - CurrencyDescriptors[CURRENCY_CUSTOM].rate -= 1; - gConfigGeneral.custom_currency_rate = CurrencyDescriptors[CURRENCY_CUSTOM].rate; - config_save_default(); - window_invalidate_all(); - } - break; + case WIDX_RATE_DOWN: + if(CurrencyDescriptors[CURRENCY_CUSTOM].rate > 1) { + CurrencyDescriptors[CURRENCY_CUSTOM].rate -= 1; + gConfigGeneral.custom_currency_rate = CurrencyDescriptors[CURRENCY_CUSTOM].rate; + config_save_default(); + window_invalidate_all(); + } + break; - case WIDX_AFFIX_DROPDOWN_BUTTON: - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_PREFIX; + case WIDX_AFFIX_DROPDOWN_BUTTON: + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_PREFIX; - gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[1] = STR_SUFFIX; + gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[1] = STR_SUFFIX; - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 2, - widget->right - widget->left - 3 - ); + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 2, + widget->right - widget->left - 3 + ); - if(CurrencyDescriptors[CURRENCY_CUSTOM].affix_unicode == CURRENCY_PREFIX) { - dropdown_set_checked(0, true); - } else { - dropdown_set_checked(1, true); - } + if(CurrencyDescriptors[CURRENCY_CUSTOM].affix_unicode == CURRENCY_PREFIX) { + dropdown_set_checked(0, true); + } else { + dropdown_set_checked(1, true); + } - break; + break; - case WIDX_SYMBOL_TEXT: - window_text_input_raw_open( - w, - WIDX_SYMBOL_TEXT, - STR_CUSTOM_CURRENCY_SYMBOL_INPUT_TITLE, - STR_CUSTOM_CURRENCY_SYMBOL_INPUT_DESC, - CurrencyDescriptors[CURRENCY_CUSTOM].symbol_unicode, - CURRENCY_SYMBOL_MAX_SIZE - ); - break; + case WIDX_SYMBOL_TEXT: + window_text_input_raw_open( + w, + WIDX_SYMBOL_TEXT, + STR_CUSTOM_CURRENCY_SYMBOL_INPUT_TITLE, + STR_CUSTOM_CURRENCY_SYMBOL_INPUT_DESC, + CurrencyDescriptors[CURRENCY_CUSTOM].symbol_unicode, + CURRENCY_SYMBOL_MAX_SIZE + ); + break; - } + } } static void custom_currency_window_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch(widgetIndex) { - case WIDX_RATE: - window_text_input_open( - w, - WIDX_RATE, - STR_RATE_INPUT_TITLE, - STR_RATE_INPUT_DESC, - STR_FORMAT_INTEGER, - (uint32)CurrencyDescriptors[CURRENCY_CUSTOM].rate, - CURRENCY_RATE_MAX_NUM_DIGITS - ); - break; - } + switch(widgetIndex) { + case WIDX_RATE: + window_text_input_open( + w, + WIDX_RATE, + STR_RATE_INPUT_TITLE, + STR_RATE_INPUT_DESC, + STR_FORMAT_INTEGER, + (uint32)CurrencyDescriptors[CURRENCY_CUSTOM].rate, + CURRENCY_RATE_MAX_NUM_DIGITS + ); + break; + } } static void custom_currency_window_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if(dropdownIndex == -1) - return; + if(dropdownIndex == -1) + return; - if(widgetIndex == WIDX_AFFIX_DROPDOWN_BUTTON) { + if(widgetIndex == WIDX_AFFIX_DROPDOWN_BUTTON) { - if(dropdownIndex == 0) { - CurrencyDescriptors[CURRENCY_CUSTOM].affix_ascii = CURRENCY_PREFIX; - CurrencyDescriptors[CURRENCY_CUSTOM].affix_unicode = CURRENCY_PREFIX; - } else if(dropdownIndex == 1) { - CurrencyDescriptors[CURRENCY_CUSTOM].affix_ascii = CURRENCY_SUFFIX; - CurrencyDescriptors[CURRENCY_CUSTOM].affix_unicode = CURRENCY_SUFFIX; - } + if(dropdownIndex == 0) { + CurrencyDescriptors[CURRENCY_CUSTOM].affix_ascii = CURRENCY_PREFIX; + CurrencyDescriptors[CURRENCY_CUSTOM].affix_unicode = CURRENCY_PREFIX; + } else if(dropdownIndex == 1) { + CurrencyDescriptors[CURRENCY_CUSTOM].affix_ascii = CURRENCY_SUFFIX; + CurrencyDescriptors[CURRENCY_CUSTOM].affix_unicode = CURRENCY_SUFFIX; + } - gConfigGeneral.custom_currency_affix = CurrencyDescriptors[CURRENCY_CUSTOM].affix_unicode; - config_save_default(); + gConfigGeneral.custom_currency_affix = CurrencyDescriptors[CURRENCY_CUSTOM].affix_unicode; + config_save_default(); - window_invalidate_all(); + window_invalidate_all(); - } + } } static void custom_currency_window_text_input(struct rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (text == NULL) - return; - sint32 rate; - char* end; - switch(widgetIndex){ - case WIDX_SYMBOL_TEXT: - safe_strcpy( - CurrencyDescriptors[CURRENCY_CUSTOM].symbol_unicode, - text, - CURRENCY_SYMBOL_MAX_SIZE - ); + if (text == NULL) + return; + sint32 rate; + char* end; + switch(widgetIndex){ + case WIDX_SYMBOL_TEXT: + safe_strcpy( + CurrencyDescriptors[CURRENCY_CUSTOM].symbol_unicode, + text, + CURRENCY_SYMBOL_MAX_SIZE + ); - safe_strcpy( - gConfigGeneral.custom_currency_symbol, - CurrencyDescriptors[CURRENCY_CUSTOM].symbol_unicode, - CURRENCY_SYMBOL_MAX_SIZE - ); + safe_strcpy( + gConfigGeneral.custom_currency_symbol, + CurrencyDescriptors[CURRENCY_CUSTOM].symbol_unicode, + CURRENCY_SYMBOL_MAX_SIZE + ); - config_save_default(); - window_invalidate_all(); - break; + config_save_default(); + window_invalidate_all(); + break; - case WIDX_RATE: - rate = strtol(text, &end, 10); - if (*end == '\0') { - CurrencyDescriptors[CURRENCY_CUSTOM].rate = rate; - gConfigGeneral.custom_currency_rate = CurrencyDescriptors[CURRENCY_CUSTOM].rate; - config_save_default(); - window_invalidate_all(); - } - break; - } + case WIDX_RATE: + rate = strtol(text, &end, 10); + if (*end == '\0') { + CurrencyDescriptors[CURRENCY_CUSTOM].rate = rate; + gConfigGeneral.custom_currency_rate = CurrencyDescriptors[CURRENCY_CUSTOM].rate; + config_save_default(); + window_invalidate_all(); + } + break; + } } static void custom_currency_window_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y; + sint32 x, y; - set_format_arg(0, sint32, 100); + set_format_arg(0, sint32, 100); - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - x = w->x + 10; - y = w->y + 30; + x = w->x + 10; + y = w->y + 30; - gfx_draw_string_left(dpi, STR_RATE, NULL, w->colours[1], x, y); + gfx_draw_string_left(dpi, STR_RATE, NULL, w->colours[1], x, y); - sint32 baseExchange = CurrencyDescriptors[CURRENCY_POUNDS].rate; - set_format_arg(0, sint32, baseExchange); - gfx_draw_string_left(dpi, STR_CUSTOM_CURRENCY_EQUIVALENCY, gCommonFormatArgs, w->colours[1], x + 200, y); + sint32 baseExchange = CurrencyDescriptors[CURRENCY_POUNDS].rate; + set_format_arg(0, sint32, baseExchange); + gfx_draw_string_left(dpi, STR_CUSTOM_CURRENCY_EQUIVALENCY, gCommonFormatArgs, w->colours[1], x + 200, y); - y += 20; + y += 20; - gfx_draw_string_left(dpi, STR_CURRENCY_SYMBOL_TEXT, NULL, w->colours[1], x, y); + gfx_draw_string_left(dpi, STR_CURRENCY_SYMBOL_TEXT, NULL, w->colours[1], x, y); - gfx_draw_string( - dpi, - CurrencyDescriptors[CURRENCY_CUSTOM].symbol_unicode, - w->colours[1], - w->x + window_custom_currency_widgets[WIDX_SYMBOL_TEXT].left + 1, - w->y + window_custom_currency_widgets[WIDX_SYMBOL_TEXT].top); + gfx_draw_string( + dpi, + CurrencyDescriptors[CURRENCY_CUSTOM].symbol_unicode, + w->colours[1], + w->x + window_custom_currency_widgets[WIDX_SYMBOL_TEXT].left + 1, + w->y + window_custom_currency_widgets[WIDX_SYMBOL_TEXT].top); - if(CurrencyDescriptors[CURRENCY_CUSTOM].affix_unicode == CURRENCY_PREFIX) { - gfx_draw_string_left( - dpi, - STR_PREFIX, - w, - w->colours[1], - w->x + window_custom_currency_widgets[WIDX_AFFIX_DROPDOWN].left + 1, - w->y + window_custom_currency_widgets[WIDX_AFFIX_DROPDOWN].top - ); - } else { - gfx_draw_string_left( - dpi, - STR_SUFFIX, - w, - w->colours[1], - w->x + window_custom_currency_widgets[WIDX_AFFIX_DROPDOWN].left + 1, - w->y + window_custom_currency_widgets[WIDX_AFFIX_DROPDOWN].top - ); - } + if(CurrencyDescriptors[CURRENCY_CUSTOM].affix_unicode == CURRENCY_PREFIX) { + gfx_draw_string_left( + dpi, + STR_PREFIX, + w, + w->colours[1], + w->x + window_custom_currency_widgets[WIDX_AFFIX_DROPDOWN].left + 1, + w->y + window_custom_currency_widgets[WIDX_AFFIX_DROPDOWN].top + ); + } else { + gfx_draw_string_left( + dpi, + STR_SUFFIX, + w, + w->colours[1], + w->x + window_custom_currency_widgets[WIDX_AFFIX_DROPDOWN].left + 1, + w->y + window_custom_currency_widgets[WIDX_AFFIX_DROPDOWN].top + ); + } } diff --git a/src/openrct2/windows/debug_paint.c b/src/openrct2/windows/debug_paint.c index 694b31d221..d40557f10b 100644 --- a/src/openrct2/windows/debug_paint.c +++ b/src/openrct2/windows/debug_paint.c @@ -28,21 +28,21 @@ enum WINDOW_DEBUG_PAINT_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TOGGLE_OLD_DRAWING, - WIDX_TOGGLE_SHOW_SEGMENT_HEIGHTS, - WIDX_TOGGLE_SHOW_BOUND_BOXES, + WIDX_BACKGROUND, + WIDX_TOGGLE_OLD_DRAWING, + WIDX_TOGGLE_SHOW_SEGMENT_HEIGHTS, + WIDX_TOGGLE_SHOW_BOUND_BOXES, }; -#define WINDOW_WIDTH (200) -#define WINDOW_HEIGHT (8 + 15 + 15 + 11 + 8) +#define WINDOW_WIDTH (200) +#define WINDOW_HEIGHT (8 + 15 + 15 + 11 + 8) static rct_widget window_debug_paint_widgets[] = { - { WWT_FRAME, 0, 0, WINDOW_WIDTH - 1, 0, WINDOW_HEIGHT - 1, 0xFFFFFFFF, STR_NONE}, - { WWT_CHECKBOX, 1, 8, WINDOW_WIDTH - 8, 8, 8 + 11, STR_DEBUG_PAINT_USE_OLD_DRAWING, STR_NONE}, - { WWT_CHECKBOX, 1, 8, WINDOW_WIDTH - 8, 8 + 15, 8 + 15 + 11, STR_DEBUG_PAINT_SHOW_SEGMENT_HEIGHTS, STR_NONE}, - { WWT_CHECKBOX, 1, 8, WINDOW_WIDTH - 8, 8 + 15 + 15, 8 + 15 + 15 + 11, STR_DEBUG_PAINT_SHOW_BOUND_BOXES, STR_NONE}, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, WINDOW_WIDTH - 1, 0, WINDOW_HEIGHT - 1, 0xFFFFFFFF, STR_NONE}, + { WWT_CHECKBOX, 1, 8, WINDOW_WIDTH - 8, 8, 8 + 11, STR_DEBUG_PAINT_USE_OLD_DRAWING, STR_NONE}, + { WWT_CHECKBOX, 1, 8, WINDOW_WIDTH - 8, 8 + 15, 8 + 15 + 11, STR_DEBUG_PAINT_SHOW_SEGMENT_HEIGHTS, STR_NONE}, + { WWT_CHECKBOX, 1, 8, WINDOW_WIDTH - 8, 8 + 15 + 15, 8 + 15 + 15 + 11, STR_DEBUG_PAINT_SHOW_BOUND_BOXES, STR_NONE}, + { WIDGETS_END }, }; static void window_debug_paint_mouseup(rct_window * w, rct_widgetindex widgetIndex); @@ -50,89 +50,89 @@ static void window_debug_paint_invalidate(rct_window * w); static void window_debug_paint_paint(rct_window * w, rct_drawpixelinfo * dpi); static rct_window_event_list window_debug_paint_events = { - NULL, - window_debug_paint_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_debug_paint_invalidate, - window_debug_paint_paint, - NULL + NULL, + window_debug_paint_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_debug_paint_invalidate, + window_debug_paint_paint, + NULL }; void window_debug_paint_open() { - // Check if window is already open - if (window_find_by_class(WC_DEBUG_PAINT) != NULL) - return; + // Check if window is already open + if (window_find_by_class(WC_DEBUG_PAINT) != NULL) + return; - rct_window * window = window_create( - 16, - context_get_height() - 16 - 33 - WINDOW_HEIGHT, - WINDOW_WIDTH, - WINDOW_HEIGHT, - &window_debug_paint_events, - WC_DEBUG_PAINT, - WF_STICK_TO_FRONT | WF_TRANSPARENT - ); + rct_window * window = window_create( + 16, + context_get_height() - 16 - 33 - WINDOW_HEIGHT, + WINDOW_WIDTH, + WINDOW_HEIGHT, + &window_debug_paint_events, + WC_DEBUG_PAINT, + WF_STICK_TO_FRONT | WF_TRANSPARENT + ); - window->widgets = window_debug_paint_widgets; - window->enabled_widgets = (1 << WIDX_TOGGLE_OLD_DRAWING) | (1 << WIDX_TOGGLE_SHOW_BOUND_BOXES) | (1 << WIDX_TOGGLE_SHOW_SEGMENT_HEIGHTS); - window_init_scroll_widgets(window); - window_push_others_below(window); + window->widgets = window_debug_paint_widgets; + window->enabled_widgets = (1 << WIDX_TOGGLE_OLD_DRAWING) | (1 << WIDX_TOGGLE_SHOW_BOUND_BOXES) | (1 << WIDX_TOGGLE_SHOW_SEGMENT_HEIGHTS); + window_init_scroll_widgets(window); + window_push_others_below(window); - window->colours[0] = TRANSLUCENT(COLOUR_BLACK); - window->colours[1] = COLOUR_GREY; + window->colours[0] = TRANSLUCENT(COLOUR_BLACK); + window->colours[1] = COLOUR_GREY; } static void window_debug_paint_mouseup(rct_window * w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_TOGGLE_OLD_DRAWING: - gUseOriginalRidePaint = !gUseOriginalRidePaint; - gfx_invalidate_screen(); - break; + switch (widgetIndex) { + case WIDX_TOGGLE_OLD_DRAWING: + gUseOriginalRidePaint = !gUseOriginalRidePaint; + gfx_invalidate_screen(); + break; - case WIDX_TOGGLE_SHOW_SEGMENT_HEIGHTS: - gShowSupportSegmentHeights = !gShowSupportSegmentHeights; - gfx_invalidate_screen(); - break; + case WIDX_TOGGLE_SHOW_SEGMENT_HEIGHTS: + gShowSupportSegmentHeights = !gShowSupportSegmentHeights; + gfx_invalidate_screen(); + break; - case WIDX_TOGGLE_SHOW_BOUND_BOXES: - gPaintBoundingBoxes = !gPaintBoundingBoxes; - gfx_invalidate_screen(); - break; - } + case WIDX_TOGGLE_SHOW_BOUND_BOXES: + gPaintBoundingBoxes = !gPaintBoundingBoxes; + gfx_invalidate_screen(); + break; + } } static void window_debug_paint_invalidate(rct_window * w) { - widget_set_checkbox_value(w, WIDX_TOGGLE_OLD_DRAWING, gUseOriginalRidePaint); - widget_set_checkbox_value(w, WIDX_TOGGLE_SHOW_SEGMENT_HEIGHTS, gShowSupportSegmentHeights); - widget_set_checkbox_value(w, WIDX_TOGGLE_SHOW_BOUND_BOXES, gPaintBoundingBoxes); + widget_set_checkbox_value(w, WIDX_TOGGLE_OLD_DRAWING, gUseOriginalRidePaint); + widget_set_checkbox_value(w, WIDX_TOGGLE_SHOW_SEGMENT_HEIGHTS, gShowSupportSegmentHeights); + widget_set_checkbox_value(w, WIDX_TOGGLE_SHOW_BOUND_BOXES, gPaintBoundingBoxes); } static void window_debug_paint_paint(rct_window * w, rct_drawpixelinfo * dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); } diff --git a/src/openrct2/windows/demolish_ride_prompt.c b/src/openrct2/windows/demolish_ride_prompt.c index 67a2c53e95..c01054be26 100644 --- a/src/openrct2/windows/demolish_ride_prompt.c +++ b/src/openrct2/windows/demolish_ride_prompt.c @@ -27,21 +27,21 @@ #define WH 100 enum WINDOW_RIDE_DEMOLISH_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_DEMOLISH, - WIDX_CANCEL + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_DEMOLISH, + WIDX_CANCEL }; // 0x009AEBA0 static rct_widget window_ride_demolish_widgets[] = { - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_DEMOLISH_RIDE, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_DROPDOWN_BUTTON, 0, 10, 94, WH - 20, WH - 9, STR_DEMOLISH, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 0, WW - 95, WW - 11, WH - 20, WH - 9, STR_SAVE_PROMPT_CANCEL, STR_NONE }, - { WIDGETS_END } + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_DEMOLISH_RIDE, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_DROPDOWN_BUTTON, 0, 10, 94, WH - 20, WH - 9, STR_DEMOLISH, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 0, WW - 95, WW - 11, WH - 20, WH - 9, STR_SAVE_PROMPT_CANCEL, STR_NONE }, + { WIDGETS_END } }; static void window_ride_demolish_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -49,50 +49,50 @@ static void window_ride_demolish_paint(rct_window *w, rct_drawpixelinfo *dpi); //0x0098E2E4 static rct_window_event_list window_ride_demolish_events = { - NULL, - window_ride_demolish_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_demolish_paint, - NULL + NULL, + window_ride_demolish_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_demolish_paint, + NULL }; /** Based off of rct2: 0x006B486A */ void window_ride_demolish_prompt_open(sint32 rideIndex) { - rct_window *w; + rct_window *w; - w = window_bring_to_front_by_number(WC_DEMOLISH_RIDE_PROMPT, rideIndex); - if (w != NULL) - return; + w = window_bring_to_front_by_number(WC_DEMOLISH_RIDE_PROMPT, rideIndex); + if (w != NULL) + return; - w = window_create_centred(WW, WH, &window_ride_demolish_events, WC_DEMOLISH_RIDE_PROMPT, WF_TRANSPARENT); - w->widgets = window_ride_demolish_widgets; - w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_CANCEL) | (1 << WIDX_DEMOLISH); - window_init_scroll_widgets(w); - w->number = rideIndex; + w = window_create_centred(WW, WH, &window_ride_demolish_events, WC_DEMOLISH_RIDE_PROMPT, WF_TRANSPARENT); + w->widgets = window_ride_demolish_widgets; + w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_CANCEL) | (1 << WIDX_DEMOLISH); + window_init_scroll_widgets(w); + w->number = rideIndex; } @@ -102,16 +102,16 @@ void window_ride_demolish_prompt_open(sint32 rideIndex) */ static void window_ride_demolish_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_DEMOLISH: - gGameCommandErrorTitle = STR_CANT_DEMOLISH_RIDE; - game_do_command(0, 1, 0, w->number, GAME_COMMAND_DEMOLISH_RIDE, 0, 1); // Set ebp to 1 to be used to log demolish from window prompt - break; - case WIDX_CANCEL: - case WIDX_CLOSE: - window_close(w); - break; - } + switch (widgetIndex) { + case WIDX_DEMOLISH: + gGameCommandErrorTitle = STR_CANT_DEMOLISH_RIDE; + game_do_command(0, 1, 0, w->number, GAME_COMMAND_DEMOLISH_RIDE, 0, 1); // Set ebp to 1 to be used to log demolish from window prompt + break; + case WIDX_CANCEL: + case WIDX_CLOSE: + window_close(w); + break; + } } /** @@ -120,15 +120,15 @@ static void window_ride_demolish_mouseup(rct_window *w, rct_widgetindex widgetIn */ static void window_ride_demolish_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - rct_ride* ride = get_ride(w->number); + rct_ride* ride = get_ride(w->number); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); - sint32 x = w->x + WW / 2; - sint32 y = w->y + (WH / 2) - 3; + sint32 x = w->x + WW / 2; + sint32 y = w->y + (WH / 2) - 3; - gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x, y, WW - 4, STR_DEMOLISH_RIDE_ID, COLOUR_BLACK); + gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x, y, WW - 4, STR_DEMOLISH_RIDE_ID, COLOUR_BLACK); } diff --git a/src/openrct2/windows/dropdown.c b/src/openrct2/windows/dropdown.c index 3bde1b7108..5883ed1788 100644 --- a/src/openrct2/windows/dropdown.c +++ b/src/openrct2/windows/dropdown.c @@ -25,19 +25,19 @@ #include "dropdown.h" sint32 gAppropriateImageDropdownItemsPerRow[] = { - 1, 1, 1, 1, 2, 2, 3, 3, 4, - 3, 5, 4, 4, 5, 5, 5, 4, 5, - 6, 5, 5, 7, 4, 5, 6, 5, 6, - 6, 6, 6, 6, 8, 8, 0 + 1, 1, 1, 1, 2, 2, 3, 3, 4, + 3, 5, 4, 4, 5, 5, 5, 4, 5, + 6, 5, 5, 7, 4, 5, 6, 5, 6, + 6, 6, 6, 6, 8, 8, 0 }; enum { - WIDX_BACKGROUND, + WIDX_BACKGROUND, }; static rct_widget window_dropdown_widgets[] = { - { WWT_IMGBTN, 0, 0, 0, 0, 0, SPR_NONE, STR_NONE }, - { WIDGETS_END }, + { WWT_IMGBTN, 0, 0, 0, 0, 0, SPR_NONE, STR_NONE }, + { WIDGETS_END }, }; sint32 _dropdown_num_columns; @@ -57,63 +57,63 @@ sint32 gDropdownDefaultIndex; bool dropdown_is_checked(sint32 index) { - return gDropdownItemsChecked & (1ULL << index); + return gDropdownItemsChecked & (1ULL << index); } bool dropdown_is_disabled(sint32 index) { - return gDropdownItemsDisabled & (1ULL << index); + return gDropdownItemsDisabled & (1ULL << index); } void dropdown_set_checked(sint32 index, bool value) { - if (value) { - gDropdownItemsChecked |= 1ULL << index; - } else { - gDropdownItemsChecked &= ~(1ULL << index); - } + if (value) { + gDropdownItemsChecked |= 1ULL << index; + } else { + gDropdownItemsChecked &= ~(1ULL << index); + } } void dropdown_set_disabled(sint32 index, bool value) { - if (value) { - gDropdownItemsDisabled |= 1ULL << index; - } else { - gDropdownItemsDisabled &= ~(1ULL << index); - } + if (value) { + gDropdownItemsDisabled |= 1ULL << index; + } else { + gDropdownItemsDisabled &= ~(1ULL << index); + } } static void window_dropdown_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_dropdown_events = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_dropdown_paint, - NULL + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_dropdown_paint, + NULL }; /** @@ -129,19 +129,19 @@ static rct_window_event_list window_dropdown_events = { */ void window_dropdown_show_text(sint32 x, sint32 y, sint32 extray, uint8 colour, uint8 flags, size_t num_items) { - sint32 string_width, max_string_width; - char buffer[256]; + sint32 string_width, max_string_width; + char buffer[256]; - // Calculate the longest string width - max_string_width = 0; - for (size_t i = 0; i < num_items; i++) { - format_string(buffer, 256, gDropdownItemsFormat[i], (void*)(&gDropdownItemsArgs[i])); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - string_width = gfx_get_string_width(buffer); - max_string_width = max(string_width, max_string_width); - } + // Calculate the longest string width + max_string_width = 0; + for (size_t i = 0; i < num_items; i++) { + format_string(buffer, 256, gDropdownItemsFormat[i], (void*)(&gDropdownItemsArgs[i])); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + string_width = gfx_get_string_width(buffer); + max_string_width = max(string_width, max_string_width); + } - window_dropdown_show_text_custom_width(x, y, extray, colour, 0, flags, num_items, max_string_width + 3); + window_dropdown_show_text_custom_width(x, y, extray, colour, 0, flags, num_items, max_string_width + 3); } /** @@ -158,56 +158,56 @@ void window_dropdown_show_text(sint32 x, sint32 y, sint32 extray, uint8 colour, */ void window_dropdown_show_text_custom_width(sint32 x, sint32 y, sint32 extray, uint8 colour, uint8 custom_height, uint8 flags, size_t num_items, sint32 width) { - rct_window* w; + rct_window* w; - input_set_flag(INPUT_FLAG_DROPDOWN_STAY_OPEN | INPUT_FLAG_DROPDOWN_MOUSE_UP, false); - if (flags & DROPDOWN_FLAG_STAY_OPEN) - input_set_flag(INPUT_FLAG_DROPDOWN_STAY_OPEN, true); + input_set_flag(INPUT_FLAG_DROPDOWN_STAY_OPEN | INPUT_FLAG_DROPDOWN_MOUSE_UP, false); + if (flags & DROPDOWN_FLAG_STAY_OPEN) + input_set_flag(INPUT_FLAG_DROPDOWN_STAY_OPEN, true); - window_dropdown_close(); - _dropdown_num_columns = 1; - _dropdown_item_width = width; - _dropdown_item_height = 10; - if (flags & DROPDOWN_FLAG_CUSTOM_HEIGHT) - _dropdown_item_height = custom_height; + window_dropdown_close(); + _dropdown_num_columns = 1; + _dropdown_item_width = width; + _dropdown_item_height = 10; + if (flags & DROPDOWN_FLAG_CUSTOM_HEIGHT) + _dropdown_item_height = custom_height; - // Set the widgets - gDropdownNumItems = (sint32)num_items; - _dropdown_num_rows = (sint32)num_items; + // Set the widgets + gDropdownNumItems = (sint32)num_items; + _dropdown_num_rows = (sint32)num_items; - width = _dropdown_item_width * _dropdown_num_columns + 3; - sint32 height = _dropdown_item_height * _dropdown_num_rows + 3; - sint32 screenWidth = context_get_width(); - sint32 screenHeight = context_get_height(); - if (x + width > screenWidth) - x = max(0, screenWidth - width); - if (y + height > screenHeight) - y = max(0, screenHeight - height); + width = _dropdown_item_width * _dropdown_num_columns + 3; + sint32 height = _dropdown_item_height * _dropdown_num_rows + 3; + sint32 screenWidth = context_get_width(); + sint32 screenHeight = context_get_height(); + if (x + width > screenWidth) + x = max(0, screenWidth - width); + if (y + height > screenHeight) + y = max(0, screenHeight - height); - window_dropdown_widgets[WIDX_BACKGROUND].bottom = (sint16)(_dropdown_item_height * num_items + 3); - window_dropdown_widgets[WIDX_BACKGROUND].right = (sint16)(_dropdown_item_width + 3); + window_dropdown_widgets[WIDX_BACKGROUND].bottom = (sint16)(_dropdown_item_height * num_items + 3); + window_dropdown_widgets[WIDX_BACKGROUND].right = (sint16)(_dropdown_item_width + 3); - // Create the window - w = window_create( - x, y + extray, - window_dropdown_widgets[WIDX_BACKGROUND].right + 1, - window_dropdown_widgets[WIDX_BACKGROUND].bottom + 1, - &window_dropdown_events, - WC_DROPDOWN, - WF_STICK_TO_FRONT - ); - w->widgets = window_dropdown_widgets; - if (colour & COLOUR_FLAG_TRANSLUCENT) - w->flags |= WF_TRANSPARENT; - w->colours[0] = colour; + // Create the window + w = window_create( + x, y + extray, + window_dropdown_widgets[WIDX_BACKGROUND].right + 1, + window_dropdown_widgets[WIDX_BACKGROUND].bottom + 1, + &window_dropdown_events, + WC_DROPDOWN, + WF_STICK_TO_FRONT + ); + w->widgets = window_dropdown_widgets; + if (colour & COLOUR_FLAG_TRANSLUCENT) + w->flags |= WF_TRANSPARENT; + w->colours[0] = colour; - // Input state - gDropdownHighlightedIndex = -1; - gDropdownItemsDisabled = 0; - gDropdownItemsChecked = 0; - gDropdownIsColour = false; - gDropdownDefaultIndex = -1; - input_set_state(INPUT_STATE_DROPDOWN_ACTIVE); + // Input state + gDropdownHighlightedIndex = -1; + gDropdownItemsDisabled = 0; + gDropdownItemsChecked = 0; + gDropdownIsColour = false; + gDropdownDefaultIndex = -1; + input_set_state(INPUT_STATE_DROPDOWN_ACTIVE); } /** @@ -226,143 +226,143 @@ void window_dropdown_show_text_custom_width(sint32 x, sint32 y, sint32 extray, u */ void window_dropdown_show_image(sint32 x, sint32 y, sint32 extray, uint8 colour, uint8 flags, sint32 numItems, sint32 itemWidth, sint32 itemHeight, sint32 numColumns) { - sint32 width, height; - rct_window* w; + sint32 width, height; + rct_window* w; - input_set_flag(INPUT_FLAG_DROPDOWN_STAY_OPEN | INPUT_FLAG_DROPDOWN_MOUSE_UP, false); - if (flags & DROPDOWN_FLAG_STAY_OPEN) - input_set_flag(INPUT_FLAG_DROPDOWN_STAY_OPEN, true); + input_set_flag(INPUT_FLAG_DROPDOWN_STAY_OPEN | INPUT_FLAG_DROPDOWN_MOUSE_UP, false); + if (flags & DROPDOWN_FLAG_STAY_OPEN) + input_set_flag(INPUT_FLAG_DROPDOWN_STAY_OPEN, true); - // Close existing dropdown - window_dropdown_close(); + // Close existing dropdown + window_dropdown_close(); - // Set and calculate num items, rows and columns - _dropdown_item_width = itemWidth; - _dropdown_item_height = itemHeight; - gDropdownNumItems = numItems; - _dropdown_num_columns = numColumns; - _dropdown_num_rows = gDropdownNumItems / _dropdown_num_columns; - if (gDropdownNumItems % _dropdown_num_columns != 0) - _dropdown_num_rows++; + // Set and calculate num items, rows and columns + _dropdown_item_width = itemWidth; + _dropdown_item_height = itemHeight; + gDropdownNumItems = numItems; + _dropdown_num_columns = numColumns; + _dropdown_num_rows = gDropdownNumItems / _dropdown_num_columns; + if (gDropdownNumItems % _dropdown_num_columns != 0) + _dropdown_num_rows++; - // Calculate position and size - width = _dropdown_item_width * _dropdown_num_columns + 3; - height = _dropdown_item_height * _dropdown_num_rows + 3; + // Calculate position and size + width = _dropdown_item_width * _dropdown_num_columns + 3; + height = _dropdown_item_height * _dropdown_num_rows + 3; - sint32 screenWidth = context_get_width(); - sint32 screenHeight = context_get_height(); - if (x + width > screenWidth) - x = max(0, screenWidth - width); - if (y + height > screenHeight) - y = max(0, screenHeight - height); - window_dropdown_widgets[WIDX_BACKGROUND].right = width; - window_dropdown_widgets[WIDX_BACKGROUND].bottom = height; + sint32 screenWidth = context_get_width(); + sint32 screenHeight = context_get_height(); + if (x + width > screenWidth) + x = max(0, screenWidth - width); + if (y + height > screenHeight) + y = max(0, screenHeight - height); + window_dropdown_widgets[WIDX_BACKGROUND].right = width; + window_dropdown_widgets[WIDX_BACKGROUND].bottom = height; - // Create the window - w = window_create( - x, y + extray, - window_dropdown_widgets[WIDX_BACKGROUND].right + 1, - window_dropdown_widgets[WIDX_BACKGROUND].bottom + 1, - &window_dropdown_events, - WC_DROPDOWN, - WF_STICK_TO_FRONT - ); - w->widgets = window_dropdown_widgets; - if (colour & COLOUR_FLAG_TRANSLUCENT) - w->flags |= WF_TRANSPARENT; - w->colours[0] = colour; + // Create the window + w = window_create( + x, y + extray, + window_dropdown_widgets[WIDX_BACKGROUND].right + 1, + window_dropdown_widgets[WIDX_BACKGROUND].bottom + 1, + &window_dropdown_events, + WC_DROPDOWN, + WF_STICK_TO_FRONT + ); + w->widgets = window_dropdown_widgets; + if (colour & COLOUR_FLAG_TRANSLUCENT) + w->flags |= WF_TRANSPARENT; + w->colours[0] = colour; - // Input state - gDropdownHighlightedIndex = -1; - gDropdownItemsDisabled = 0; - gDropdownItemsChecked = 0; - gDropdownIsColour = false; - gDropdownDefaultIndex = -1; - input_set_state(INPUT_STATE_DROPDOWN_ACTIVE); + // Input state + gDropdownHighlightedIndex = -1; + gDropdownItemsDisabled = 0; + gDropdownItemsChecked = 0; + gDropdownIsColour = false; + gDropdownDefaultIndex = -1; + input_set_state(INPUT_STATE_DROPDOWN_ACTIVE); } void window_dropdown_close() { - window_close_by_class(WC_DROPDOWN); + window_close_by_class(WC_DROPDOWN); } static void window_dropdown_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 cell_x, cell_y, l, t, r, b, item, image, colour; + sint32 cell_x, cell_y, l, t, r, b, item, image, colour; - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - sint32 highlightedIndex = gDropdownHighlightedIndex; - for (sint32 i = 0; i < gDropdownNumItems; i++) { - cell_x = i % _dropdown_num_columns; - cell_y = i / _dropdown_num_columns; + sint32 highlightedIndex = gDropdownHighlightedIndex; + for (sint32 i = 0; i < gDropdownNumItems; i++) { + cell_x = i % _dropdown_num_columns; + cell_y = i / _dropdown_num_columns; - if (gDropdownItemsFormat[i] == DROPDOWN_SEPARATOR) { - l = w->x + 2 + (cell_x * _dropdown_item_width); - t = w->y + 2 + (cell_y * _dropdown_item_height); - r = l + _dropdown_item_width - 1; - t += (_dropdown_item_height / 2); - b = t; + if (gDropdownItemsFormat[i] == DROPDOWN_SEPARATOR) { + l = w->x + 2 + (cell_x * _dropdown_item_width); + t = w->y + 2 + (cell_y * _dropdown_item_height); + r = l + _dropdown_item_width - 1; + t += (_dropdown_item_height / 2); + b = t; - if (w->colours[0] & COLOUR_FLAG_TRANSLUCENT) { - translucent_window_palette palette = TranslucentWindowPalettes[BASE_COLOUR(w->colours[0])]; - gfx_filter_rect(dpi, l, t, r, b, palette.highlight); - gfx_filter_rect(dpi, l, t + 1, r, b + 1, palette.shadow); - } else { - gfx_fill_rect(dpi, l, t, r, b, ColourMapA[w->colours[0]].mid_dark); - gfx_fill_rect(dpi, l, t + 1, r, b + 1, ColourMapA[w->colours[0]].lightest); - } - } else { - // - if (i == highlightedIndex) { - l = w->x + 2 + (cell_x * _dropdown_item_width); - t = w->y + 2 + (cell_y * _dropdown_item_height); - r = l + _dropdown_item_width - 1; - b = t + _dropdown_item_height - 1; - gfx_filter_rect(dpi, l, t, r, b, PALETTE_DARKEN_3); - } + if (w->colours[0] & COLOUR_FLAG_TRANSLUCENT) { + translucent_window_palette palette = TranslucentWindowPalettes[BASE_COLOUR(w->colours[0])]; + gfx_filter_rect(dpi, l, t, r, b, palette.highlight); + gfx_filter_rect(dpi, l, t + 1, r, b + 1, palette.shadow); + } else { + gfx_fill_rect(dpi, l, t, r, b, ColourMapA[w->colours[0]].mid_dark); + gfx_fill_rect(dpi, l, t + 1, r, b + 1, ColourMapA[w->colours[0]].lightest); + } + } else { + // + if (i == highlightedIndex) { + l = w->x + 2 + (cell_x * _dropdown_item_width); + t = w->y + 2 + (cell_y * _dropdown_item_height); + r = l + _dropdown_item_width - 1; + b = t + _dropdown_item_height - 1; + gfx_filter_rect(dpi, l, t, r, b, PALETTE_DARKEN_3); + } - item = gDropdownItemsFormat[i]; - if (item == (uint16)-1 || item == (uint16)-2) { - // Image item - image = (uint32)gDropdownItemsArgs[i]; - if (item == (uint16)-2 && highlightedIndex == i) - image++; + item = gDropdownItemsFormat[i]; + if (item == (uint16)-1 || item == (uint16)-2) { + // Image item + image = (uint32)gDropdownItemsArgs[i]; + if (item == (uint16)-2 && highlightedIndex == i) + image++; - gfx_draw_sprite( - dpi, - image, - w->x + 2 + (cell_x * _dropdown_item_width), - w->y + 2 + (cell_y * _dropdown_item_height), 0 - ); - } else { - // Text item - if (i < 64) { - if (dropdown_is_checked(i)) { - item++; - } - } + gfx_draw_sprite( + dpi, + image, + w->x + 2 + (cell_x * _dropdown_item_width), + w->y + 2 + (cell_y * _dropdown_item_height), 0 + ); + } else { + // Text item + if (i < 64) { + if (dropdown_is_checked(i)) { + item++; + } + } - // Calculate colour - colour = NOT_TRANSLUCENT(w->colours[0]); - if (i == highlightedIndex) - colour = COLOUR_WHITE; - if (dropdown_is_disabled(i)) - if (i < 64) - colour = NOT_TRANSLUCENT(w->colours[0]) | COLOUR_FLAG_INSET; + // Calculate colour + colour = NOT_TRANSLUCENT(w->colours[0]); + if (i == highlightedIndex) + colour = COLOUR_WHITE; + if (dropdown_is_disabled(i)) + if (i < 64) + colour = NOT_TRANSLUCENT(w->colours[0]) | COLOUR_FLAG_INSET; - // Draw item string - gfx_draw_string_left_clipped( - dpi, - item, - (void*)(&gDropdownItemsArgs[i]), colour, - w->x + 2 + (cell_x * _dropdown_item_width), - w->y + 1 + (cell_y * _dropdown_item_height), - w->width - 5 - ); - } - } - } + // Draw item string + gfx_draw_string_left_clipped( + dpi, + item, + (void*)(&gDropdownItemsArgs[i]), colour, + w->x + 2 + (cell_x * _dropdown_item_width), + w->y + 1 + (cell_y * _dropdown_item_height), + w->width - 5 + ); + } + } + } } /** @@ -371,29 +371,29 @@ static void window_dropdown_paint(rct_window *w, rct_drawpixelinfo *dpi) */ sint32 dropdown_index_from_point(sint32 x, sint32 y, rct_window *w) { - sint32 top = y - w->y - 2; - if (top < 0) return -1; + sint32 top = y - w->y - 2; + if (top < 0) return -1; - sint32 left = x - w->x; - if (left >= w->width) return -1; - left -= 2; - if (left < 0) return -1; + sint32 left = x - w->x; + if (left >= w->width) return -1; + left -= 2; + if (left < 0) return -1; - sint32 column_no = left / _dropdown_item_width; - if (column_no >= _dropdown_num_columns) return -1; + sint32 column_no = left / _dropdown_item_width; + if (column_no >= _dropdown_num_columns) return -1; - sint32 row_no = top / _dropdown_item_height; - if (row_no >= _dropdown_num_rows) return -1; + sint32 row_no = top / _dropdown_item_height; + if (row_no >= _dropdown_num_rows) return -1; - sint32 dropdown_index = row_no * _dropdown_num_columns + column_no; - if (dropdown_index >= gDropdownNumItems) return -1; + sint32 dropdown_index = row_no * _dropdown_num_columns + column_no; + if (dropdown_index >= gDropdownNumItems) return -1; - return dropdown_index; + return dropdown_index; } void window_dropdown_show_colour(rct_window *w, rct_widget *widget, uint8 dropdownColour, uint8 selectedColour) { - window_dropdown_show_colour_available(w, widget, dropdownColour, selectedColour, 0xFFFFFFFF); + window_dropdown_show_colour_available(w, widget, dropdownColour, selectedColour, 0xFFFFFFFF); } /** @@ -406,42 +406,42 @@ void window_dropdown_show_colour(rct_window *w, rct_widget *widget, uint8 dropdo * ebp: unknown */ void window_dropdown_show_colour_available(rct_window *w, rct_widget *widget, uint8 dropdownColour, uint8 selectedColour, - uint32 availableColours) + uint32 availableColours) { - sint32 i, numItems; + sint32 i, numItems; - // Count number of available colours - numItems = 0; - for (i = 0; i < 32; i++) - if (availableColours & (1 << i)) - numItems++; + // Count number of available colours + numItems = 0; + for (i = 0; i < 32; i++) + if (availableColours & (1 << i)) + numItems++; - sint32 defaultIndex = -1; - // Set items - for (i = 0; i < 32; i++) { - if (availableColours & (1 << i)) { - if (selectedColour == i) - defaultIndex = i; + sint32 defaultIndex = -1; + // Set items + for (i = 0; i < 32; i++) { + if (availableColours & (1 << i)) { + if (selectedColour == i) + defaultIndex = i; - gDropdownItemsFormat[i] = 0xFFFE; - gDropdownItemsArgs[i] = ((uint64)i << 32) | (0x20000000 | (i << 19) | SPR_PALETTE_BTN); - } - } + gDropdownItemsFormat[i] = 0xFFFE; + gDropdownItemsArgs[i] = ((uint64)i << 32) | (0x20000000 | (i << 19) | SPR_PALETTE_BTN); + } + } - // Show dropdown - window_dropdown_show_image( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - dropdownColour, - DROPDOWN_FLAG_STAY_OPEN, - numItems, - 12, - 12, - gAppropriateImageDropdownItemsPerRow[numItems] - ); + // Show dropdown + window_dropdown_show_image( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + dropdownColour, + DROPDOWN_FLAG_STAY_OPEN, + numItems, + 12, + 12, + gAppropriateImageDropdownItemsPerRow[numItems] + ); - gDropdownIsColour = true; - gDropdownLastColourHover = -1; - gDropdownDefaultIndex = defaultIndex; + gDropdownIsColour = true; + gDropdownLastColourHover = -1; + gDropdownDefaultIndex = defaultIndex; } diff --git a/src/openrct2/windows/dropdown.h b/src/openrct2/windows/dropdown.h index 7cf1e6b325..353b11d3e9 100644 --- a/src/openrct2/windows/dropdown.h +++ b/src/openrct2/windows/dropdown.h @@ -24,8 +24,8 @@ enum { - DROPDOWN_FLAG_CUSTOM_HEIGHT = (1 << 6), - DROPDOWN_FLAG_STAY_OPEN = (1 << 7) + DROPDOWN_FLAG_CUSTOM_HEIGHT = (1 << 6), + DROPDOWN_FLAG_STAY_OPEN = (1 << 7) }; extern sint32 gAppropriateImageDropdownItemsPerRow[]; diff --git a/src/openrct2/windows/editor_bottom_toolbar.c b/src/openrct2/windows/editor_bottom_toolbar.c index 3ebf5d25ab..53b5a7d012 100644 --- a/src/openrct2/windows/editor_bottom_toolbar.c +++ b/src/openrct2/windows/editor_bottom_toolbar.c @@ -36,18 +36,18 @@ #include "error.h" enum { - WIDX_PREVIOUS_IMAGE, // 1 - WIDX_PREVIOUS_STEP_BUTTON, // 2 - WIDX_NEXT_IMAGE, // 4 - WIDX_NEXT_STEP_BUTTON, // 8 + WIDX_PREVIOUS_IMAGE, // 1 + WIDX_PREVIOUS_STEP_BUTTON, // 2 + WIDX_NEXT_IMAGE, // 4 + WIDX_NEXT_STEP_BUTTON, // 8 }; static rct_widget window_editor_bottom_toolbar_widgets[] = { - { WWT_IMGBTN, 0, 0, 199, 0, 33, 0xFFFFFFFF, 0xFFFF }, // 1 0x9A9958 - { WWT_FLATBTN, 0, 2, 197, 2, 31, 0xFFFFFFFF, 0xFFFF }, // 2 0x9A9968 - { WWT_IMGBTN, 0, 440, 639, 0, 33, 0xFFFFFFFF, 0xFFFF }, // 4 0x9A9978 - { WWT_FLATBTN, 0, 442, 637, 2, 31, 0xFFFFFFFF, 0xFFFF }, // 8 0x9A9988 - { WIDGETS_END }, + { WWT_IMGBTN, 0, 0, 199, 0, 33, 0xFFFFFFFF, 0xFFFF }, // 1 0x9A9958 + { WWT_FLATBTN, 0, 2, 197, 2, 31, 0xFFFFFFFF, 0xFFFF }, // 2 0x9A9968 + { WWT_IMGBTN, 0, 440, 639, 0, 33, 0xFFFFFFFF, 0xFFFF }, // 4 0x9A9978 + { WWT_FLATBTN, 0, 442, 637, 2, 31, 0xFFFFFFFF, 0xFFFF }, // 8 0x9A9988 + { WIDGETS_END }, }; static void window_editor_bottom_toolbar_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -66,67 +66,67 @@ static void window_editor_bottom_toolbar_jump_forward_to_objective_selection(); static void window_editor_bottom_toolbar_jump_forward_to_save_scenario(); static rct_window_event_list window_editor_bottom_toolbar_events = { - NULL, - window_editor_bottom_toolbar_mouseup, // 0x0066f5ae, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_editor_bottom_toolbar_invalidate, // 0x0066f1c9, - window_editor_bottom_toolbar_paint, // 0x0066f25c, - NULL + NULL, + window_editor_bottom_toolbar_mouseup, // 0x0066f5ae, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_editor_bottom_toolbar_invalidate, // 0x0066f1c9, + window_editor_bottom_toolbar_paint, // 0x0066f25c, + NULL }; static EMPTY_ARGS_VOID_POINTER *previous_button_mouseup_events[] = { - NULL, - window_editor_bottom_toolbar_jump_back_to_object_selection, - window_editor_bottom_toolbar_jump_back_to_landscape_editor, - window_editor_bottom_toolbar_jump_back_to_invention_list_set_up, - window_editor_bottom_toolbar_jump_back_to_options_selection, - NULL, - window_editor_bottom_toolbar_jump_back_to_object_selection, - NULL + NULL, + window_editor_bottom_toolbar_jump_back_to_object_selection, + window_editor_bottom_toolbar_jump_back_to_landscape_editor, + window_editor_bottom_toolbar_jump_back_to_invention_list_set_up, + window_editor_bottom_toolbar_jump_back_to_options_selection, + NULL, + window_editor_bottom_toolbar_jump_back_to_object_selection, + NULL }; static EMPTY_ARGS_VOID_POINTER *next_button_mouseup_events[] = { - window_editor_bottom_toolbar_jump_forward_from_object_selection, - window_editor_bottom_toolbar_jump_forward_to_invention_list_set_up, - window_editor_bottom_toolbar_jump_forward_to_options_selection, - window_editor_bottom_toolbar_jump_forward_to_objective_selection, - window_editor_bottom_toolbar_jump_forward_to_save_scenario, - NULL, - NULL, - NULL + window_editor_bottom_toolbar_jump_forward_from_object_selection, + window_editor_bottom_toolbar_jump_forward_to_invention_list_set_up, + window_editor_bottom_toolbar_jump_forward_to_options_selection, + window_editor_bottom_toolbar_jump_forward_to_objective_selection, + window_editor_bottom_toolbar_jump_forward_to_save_scenario, + NULL, + NULL, + NULL }; static const rct_string_id EditorStepNames[] = { - STR_EDITOR_STEP_OBJECT_SELECTION, - STR_EDITOR_STEP_LANDSCAPE_EDITOR, - STR_EDITOR_STEP_INVENTIONS_LIST_SET_UP, - STR_EDITOR_STEP_OPTIONS_SELECTION, - STR_EDITOR_STEP_OBJECTIVE_SELECTION, - STR_EDITOR_STEP_SAVE_SCENARIO, - STR_EDITOR_STEP_ROLLERCOASTER_DESIGNER, - STR_EDITOR_STEP_TRACK_DESIGNS_MANAGER, + STR_EDITOR_STEP_OBJECT_SELECTION, + STR_EDITOR_STEP_LANDSCAPE_EDITOR, + STR_EDITOR_STEP_INVENTIONS_LIST_SET_UP, + STR_EDITOR_STEP_OPTIONS_SELECTION, + STR_EDITOR_STEP_OBJECTIVE_SELECTION, + STR_EDITOR_STEP_SAVE_SCENARIO, + STR_EDITOR_STEP_ROLLERCOASTER_DESIGNER, + STR_EDITOR_STEP_TRACK_DESIGNS_MANAGER, }; /** @@ -135,20 +135,20 @@ static const rct_string_id EditorStepNames[] = { */ void window_editor_bottom_toolbar_open() { - rct_window * window = window_create(0, context_get_height() - 32, - context_get_width(), 32, - &window_editor_bottom_toolbar_events, - WC_BOTTOM_TOOLBAR, WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_NO_BACKGROUND); - window->widgets = window_editor_bottom_toolbar_widgets; + rct_window * window = window_create(0, context_get_height() - 32, + context_get_width(), 32, + &window_editor_bottom_toolbar_events, + WC_BOTTOM_TOOLBAR, WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_NO_BACKGROUND); + window->widgets = window_editor_bottom_toolbar_widgets; - window->enabled_widgets |= - (1 << WIDX_PREVIOUS_STEP_BUTTON) | - (1 << WIDX_NEXT_STEP_BUTTON) | - (1 << WIDX_PREVIOUS_IMAGE) | - (1 << WIDX_NEXT_IMAGE); + window->enabled_widgets |= + (1 << WIDX_PREVIOUS_STEP_BUTTON) | + (1 << WIDX_NEXT_STEP_BUTTON) | + (1 << WIDX_PREVIOUS_IMAGE) | + (1 << WIDX_NEXT_IMAGE); - window_init_scroll_widgets(window); - reset_researched_scenery_items(); + window_init_scroll_widgets(window); + reset_researched_scenery_items(); } /** @@ -156,9 +156,9 @@ void window_editor_bottom_toolbar_open() * rct2: 0x0066F619 */ void window_editor_bottom_toolbar_jump_back_to_object_selection() { - window_close_all(); - gS6Info.editor_step = EDITOR_STEP_OBJECT_SELECTION; - gfx_invalidate_screen(); + window_close_all(); + gS6Info.editor_step = EDITOR_STEP_OBJECT_SELECTION; + gfx_invalidate_screen(); } /** @@ -166,12 +166,12 @@ void window_editor_bottom_toolbar_jump_back_to_object_selection() { * rct2: 0x0066F62C */ void window_editor_bottom_toolbar_jump_back_to_landscape_editor() { - window_close_all(); - reset_researched_scenery_items(); - scenery_set_default_placement_configuration(); - gS6Info.editor_step = EDITOR_STEP_LANDSCAPE_EDITOR; - window_map_open(); - gfx_invalidate_screen(); + window_close_all(); + reset_researched_scenery_items(); + scenery_set_default_placement_configuration(); + gS6Info.editor_step = EDITOR_STEP_LANDSCAPE_EDITOR; + window_map_open(); + gfx_invalidate_screen(); } /** @@ -179,10 +179,10 @@ void window_editor_bottom_toolbar_jump_back_to_landscape_editor() { * rct2: 0x0066F64E */ static void window_editor_bottom_toolbar_jump_back_to_invention_list_set_up() { - window_close_all(); - window_editor_inventions_list_open(); - gS6Info.editor_step = EDITOR_STEP_INVENTIONS_LIST_SET_UP; - gfx_invalidate_screen(); + window_close_all(); + window_editor_inventions_list_open(); + gS6Info.editor_step = EDITOR_STEP_INVENTIONS_LIST_SET_UP; + gfx_invalidate_screen(); } /** @@ -190,10 +190,10 @@ static void window_editor_bottom_toolbar_jump_back_to_invention_list_set_up() { * rct2: 0x0066F666 */ static void window_editor_bottom_toolbar_jump_back_to_scenario_options() { - window_close_all(); - window_editor_scenario_options_open(); - gS6Info.editor_step = EDITOR_STEP_OPTIONS_SELECTION; - gfx_invalidate_screen(); + window_close_all(); + window_editor_scenario_options_open(); + gS6Info.editor_step = EDITOR_STEP_OPTIONS_SELECTION; + gfx_invalidate_screen(); } /** @@ -201,10 +201,10 @@ static void window_editor_bottom_toolbar_jump_back_to_scenario_options() { * rct2: 0x0066F64E */ void window_editor_bottom_toolbar_jump_back_to_options_selection() { - window_close_all(); - window_editor_scenario_options_open(); - gS6Info.editor_step = EDITOR_STEP_OPTIONS_SELECTION; - gfx_invalidate_screen(); + window_close_all(); + window_editor_scenario_options_open(); + gS6Info.editor_step = EDITOR_STEP_OPTIONS_SELECTION; + gfx_invalidate_screen(); } /** @@ -213,21 +213,21 @@ void window_editor_bottom_toolbar_jump_back_to_options_selection() { */ static bool window_editor_bottom_toolbar_check_object_selection() { - rct_window *w; + rct_window *w; - sint32 missingObjectType = editor_check_object_selection(); - if (missingObjectType < 0) { - window_close_by_class(WC_EDITOR_OBJECT_SELECTION); - return true; - } + sint32 missingObjectType = editor_check_object_selection(); + if (missingObjectType < 0) { + window_close_by_class(WC_EDITOR_OBJECT_SELECTION); + return true; + } - window_error_open(STR_INVALID_SELECTION_OF_OBJECTS, gGameCommandErrorText); - w = window_find_by_class(WC_EDITOR_OBJECT_SELECTION); - if (w != NULL) { - // Click tab with missing object - window_event_mouse_up_call(w, WC_EDITOR_OBJECT_SELECTION__WIDX_TAB_1 + missingObjectType); - } - return false; + window_error_open(STR_INVALID_SELECTION_OF_OBJECTS, gGameCommandErrorText); + w = window_find_by_class(WC_EDITOR_OBJECT_SELECTION); + if (w != NULL) { + // Click tab with missing object + window_event_mouse_up_call(w, WC_EDITOR_OBJECT_SELECTION__WIDX_TAB_1 + missingObjectType); + } + return false; } /** @@ -236,21 +236,21 @@ static bool window_editor_bottom_toolbar_check_object_selection() */ void window_editor_bottom_toolbar_jump_forward_from_object_selection() { - if (!window_editor_bottom_toolbar_check_object_selection()) - return; + if (!window_editor_bottom_toolbar_check_object_selection()) + return; - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { - reset_researched_ride_types_and_entries(); - window_new_ride_open(); - gS6Info.editor_step = EDITOR_STEP_ROLLERCOASTER_DESIGNER; - gfx_invalidate_screen(); - } else { - reset_researched_scenery_items(); - scenery_set_default_placement_configuration(); - gS6Info.editor_step = EDITOR_STEP_LANDSCAPE_EDITOR; - window_map_open(); - gfx_invalidate_screen(); - } + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { + reset_researched_ride_types_and_entries(); + window_new_ride_open(); + gS6Info.editor_step = EDITOR_STEP_ROLLERCOASTER_DESIGNER; + gfx_invalidate_screen(); + } else { + reset_researched_scenery_items(); + scenery_set_default_placement_configuration(); + gS6Info.editor_step = EDITOR_STEP_LANDSCAPE_EDITOR; + window_map_open(); + gfx_invalidate_screen(); + } } /** @@ -258,15 +258,15 @@ void window_editor_bottom_toolbar_jump_forward_from_object_selection() * rct2: 0x0066F758 */ void window_editor_bottom_toolbar_jump_forward_to_invention_list_set_up() { - if (editor_check_park()) { - window_close_all(); - window_editor_inventions_list_open(); - gS6Info.editor_step = EDITOR_STEP_INVENTIONS_LIST_SET_UP; - } else { - window_error_open(STR_CANT_ADVANCE_TO_NEXT_EDITOR_STAGE, gGameCommandErrorText); - } + if (editor_check_park()) { + window_close_all(); + window_editor_inventions_list_open(); + gS6Info.editor_step = EDITOR_STEP_INVENTIONS_LIST_SET_UP; + } else { + window_error_open(STR_CANT_ADVANCE_TO_NEXT_EDITOR_STAGE, gGameCommandErrorText); + } - gfx_invalidate_screen(); + gfx_invalidate_screen(); } /** @@ -274,10 +274,10 @@ void window_editor_bottom_toolbar_jump_forward_to_invention_list_set_up() { * rct2: 0x0066f790 */ void window_editor_bottom_toolbar_jump_forward_to_options_selection() { - window_close_all(); - window_editor_scenario_options_open(); - gS6Info.editor_step = EDITOR_STEP_OPTIONS_SELECTION; - gfx_invalidate_screen(); + window_close_all(); + window_editor_scenario_options_open(); + gS6Info.editor_step = EDITOR_STEP_OPTIONS_SELECTION; + gfx_invalidate_screen(); } /** @@ -285,10 +285,10 @@ void window_editor_bottom_toolbar_jump_forward_to_options_selection() { * rct2: 0x0066f7a8 */ void window_editor_bottom_toolbar_jump_forward_to_objective_selection() { - window_close_all(); - window_editor_objective_options_open(); - gS6Info.editor_step = EDITOR_STEP_OBJECTIVE_SELECTION; - gfx_invalidate_screen(); + window_close_all(); + window_editor_objective_options_open(); + gS6Info.editor_step = EDITOR_STEP_OBJECTIVE_SELECTION; + gfx_invalidate_screen(); } /** @@ -297,14 +297,14 @@ void window_editor_bottom_toolbar_jump_forward_to_objective_selection() { */ void window_editor_bottom_toolbar_jump_forward_to_save_scenario() { - if (!scenario_prepare_for_save()) { - window_error_open(STR_UNABLE_TO_SAVE_SCENARIO_FILE, gGameCommandErrorText); - gfx_invalidate_screen(); - return; - } + if (!scenario_prepare_for_save()) { + window_error_open(STR_UNABLE_TO_SAVE_SCENARIO_FILE, gGameCommandErrorText); + gfx_invalidate_screen(); + return; + } - window_close_all(); - window_loadsave_open(LOADSAVETYPE_SAVE | LOADSAVETYPE_SCENARIO, gS6Info.name); + window_close_all(); + window_loadsave_open(LOADSAVETYPE_SAVE | LOADSAVETYPE_SCENARIO, gS6Info.name); } /** @@ -313,25 +313,25 @@ void window_editor_bottom_toolbar_jump_forward_to_save_scenario() */ static void window_editor_bottom_toolbar_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_PREVIOUS_STEP_BUTTON) { - if ((gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) || - (gSpriteListCount[SPRITE_LIST_NULL] == MAX_SPRITES && !(gParkFlags & PARK_FLAGS_SPRITES_INITIALISED)) - ) { - previous_button_mouseup_events[gS6Info.editor_step](); - } - } else if (widgetIndex == WIDX_NEXT_STEP_BUTTON) { - next_button_mouseup_events[gS6Info.editor_step](); - } + if (widgetIndex == WIDX_PREVIOUS_STEP_BUTTON) { + if ((gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) || + (gSpriteListCount[SPRITE_LIST_NULL] == MAX_SPRITES && !(gParkFlags & PARK_FLAGS_SPRITES_INITIALISED)) + ) { + previous_button_mouseup_events[gS6Info.editor_step](); + } + } else if (widgetIndex == WIDX_NEXT_STEP_BUTTON) { + next_button_mouseup_events[gS6Info.editor_step](); + } } static void hide_previous_step_button() { - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_STEP_BUTTON].type = WWT_EMPTY; - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].type = WWT_EMPTY; + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_STEP_BUTTON].type = WWT_EMPTY; + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].type = WWT_EMPTY; } static void hide_next_step_button() { - window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].type = WWT_EMPTY; - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].type = WWT_EMPTY; + window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].type = WWT_EMPTY; + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].type = WWT_EMPTY; } /** @@ -340,33 +340,33 @@ static void hide_next_step_button() { */ void window_editor_bottom_toolbar_invalidate(rct_window *w) { - colour_scheme_update_by_class(w, (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WC_EDITOR_SCENARIO_BOTTOM_TOOLBAR : WC_EDITOR_TRACK_BOTTOM_TOOLBAR); + colour_scheme_update_by_class(w, (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WC_EDITOR_SCENARIO_BOTTOM_TOOLBAR : WC_EDITOR_TRACK_BOTTOM_TOOLBAR); - uint16 screenWidth = context_get_width(); - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].left = screenWidth - 200; - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].right = screenWidth - 1; - window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].left = screenWidth - 198; - window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].right = screenWidth - 3; + uint16 screenWidth = context_get_width(); + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].left = screenWidth - 200; + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].right = screenWidth - 1; + window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].left = screenWidth - 198; + window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].right = screenWidth - 3; - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_STEP_BUTTON].type = WWT_FLATBTN; - window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].type = WWT_FLATBTN; - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].type = WWT_IMGBTN; - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].type = WWT_IMGBTN; + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_STEP_BUTTON].type = WWT_FLATBTN; + window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].type = WWT_FLATBTN; + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].type = WWT_IMGBTN; + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].type = WWT_IMGBTN; - if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - hide_previous_step_button(); - hide_next_step_button(); - } else { - if (gS6Info.editor_step == EDITOR_STEP_OBJECT_SELECTION) { - hide_previous_step_button(); - } else if (gS6Info.editor_step == EDITOR_STEP_ROLLERCOASTER_DESIGNER) { - hide_next_step_button(); - } else if (!(gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER)) { - if (gSpriteListCount[SPRITE_LIST_NULL] != MAX_SPRITES || gParkFlags & PARK_FLAGS_SPRITES_INITIALISED) { - hide_previous_step_button(); - } - } - } + if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { + hide_previous_step_button(); + hide_next_step_button(); + } else { + if (gS6Info.editor_step == EDITOR_STEP_OBJECT_SELECTION) { + hide_previous_step_button(); + } else if (gS6Info.editor_step == EDITOR_STEP_ROLLERCOASTER_DESIGNER) { + hide_next_step_button(); + } else if (!(gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER)) { + if (gSpriteListCount[SPRITE_LIST_NULL] != MAX_SPRITES || gParkFlags & PARK_FLAGS_SPRITES_INITIALISED) { + hide_previous_step_button(); + } + } + } } /** @@ -375,121 +375,121 @@ void window_editor_bottom_toolbar_invalidate(rct_window *w) */ void window_editor_bottom_toolbar_paint(rct_window *w, rct_drawpixelinfo *dpi) { - bool drawPreviousButton = false; - bool drawNextButton = false; + bool drawPreviousButton = false; + bool drawNextButton = false; - if (gS6Info.editor_step == EDITOR_STEP_OBJECT_SELECTION) { - drawNextButton = true; - } - else if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { - drawPreviousButton = true; - } - else if (gSpriteListCount[SPRITE_LIST_NULL] != MAX_SPRITES) { - drawNextButton = true; - } - else if (gParkFlags & PARK_FLAGS_SPRITES_INITIALISED) { - drawNextButton = true; - } - else { - drawPreviousButton = true; - } + if (gS6Info.editor_step == EDITOR_STEP_OBJECT_SELECTION) { + drawNextButton = true; + } + else if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { + drawPreviousButton = true; + } + else if (gSpriteListCount[SPRITE_LIST_NULL] != MAX_SPRITES) { + drawNextButton = true; + } + else if (gParkFlags & PARK_FLAGS_SPRITES_INITIALISED) { + drawNextButton = true; + } + else { + drawPreviousButton = true; + } - if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { - if (drawPreviousButton) { - gfx_filter_rect(dpi, - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].left + w->x, - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].top + w->y, - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].right + w->x, - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].bottom + w->y, PALETTE_51); - } + if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { + if (drawPreviousButton) { + gfx_filter_rect(dpi, + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].left + w->x, + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].top + w->y, + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].right + w->x, + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].bottom + w->y, PALETTE_51); + } - if ((drawPreviousButton || drawNextButton) && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) { - gfx_filter_rect(dpi, - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].left + w->x, - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].top + w->y, - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].right + w->x, - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].bottom + w->y, PALETTE_51); - } - } + if ((drawPreviousButton || drawNextButton) && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) { + gfx_filter_rect(dpi, + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].left + w->x, + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].top + w->y, + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].right + w->x, + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].bottom + w->y, PALETTE_51); + } + } - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { + if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { - if (drawPreviousButton) { - gfx_fill_rect_inset(dpi, - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].left + 1 + w->x, - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].top + 1 + w->y, - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].right - 1 + w->x, - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].bottom - 1 + w->y, - w->colours[1], INSET_RECT_F_30); - } + if (drawPreviousButton) { + gfx_fill_rect_inset(dpi, + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].left + 1 + w->x, + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].top + 1 + w->y, + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].right - 1 + w->x, + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].bottom - 1 + w->y, + w->colours[1], INSET_RECT_F_30); + } - if ((drawPreviousButton || drawNextButton) && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) { - gfx_fill_rect_inset(dpi, - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].left + 1 + w->x, - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].top + 1 + w->y, - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].right - 1 + w->x, - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].bottom - 1 + w->y, - w->colours[1], INSET_RECT_F_30); - } + if ((drawPreviousButton || drawNextButton) && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) { + gfx_fill_rect_inset(dpi, + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].left + 1 + w->x, + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].top + 1 + w->y, + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].right - 1 + w->x, + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].bottom - 1 + w->y, + w->colours[1], INSET_RECT_F_30); + } - sint16 stateX = - (window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].right + - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].left) / 2 + w->x; - sint16 stateY = w->height - 0x0C + w->y; - gfx_draw_string_centred(dpi, EditorStepNames[gS6Info.editor_step], - stateX, stateY, NOT_TRANSLUCENT(w->colours[2]) | COLOUR_FLAG_OUTLINE, 0); + sint16 stateX = + (window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].right + + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].left) / 2 + w->x; + sint16 stateY = w->height - 0x0C + w->y; + gfx_draw_string_centred(dpi, EditorStepNames[gS6Info.editor_step], + stateX, stateY, NOT_TRANSLUCENT(w->colours[2]) | COLOUR_FLAG_OUTLINE, 0); - if (drawPreviousButton) { - gfx_draw_sprite(dpi, SPR_PREVIOUS, - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].left + 6 + w->x, - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].top + 6 + w->y, 0); + if (drawPreviousButton) { + gfx_draw_sprite(dpi, SPR_PREVIOUS, + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].left + 6 + w->x, + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].top + 6 + w->y, 0); - sint32 textColour = NOT_TRANSLUCENT(w->colours[1]); - if (gHoverWidget.window_classification == WC_BOTTOM_TOOLBAR && - gHoverWidget.widget_index == WIDX_PREVIOUS_STEP_BUTTON - ) { - textColour = COLOUR_WHITE; - } + sint32 textColour = NOT_TRANSLUCENT(w->colours[1]); + if (gHoverWidget.window_classification == WC_BOTTOM_TOOLBAR && + gHoverWidget.widget_index == WIDX_PREVIOUS_STEP_BUTTON + ) { + textColour = COLOUR_WHITE; + } - sint16 textX = (window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].left + 30 + - window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].right) / 2 + w->x; - sint16 textY = window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].top + 6 + w->y; + sint16 textX = (window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].left + 30 + + window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].right) / 2 + w->x; + sint16 textY = window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].top + 6 + w->y; - rct_string_id stringId = EditorStepNames[gS6Info.editor_step - 1]; - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) - stringId = STR_EDITOR_STEP_OBJECT_SELECTION; + rct_string_id stringId = EditorStepNames[gS6Info.editor_step - 1]; + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) + stringId = STR_EDITOR_STEP_OBJECT_SELECTION; - gfx_draw_string_centred(dpi, STR_BACK_TO_PREVIOUS_STEP, textX, textY, textColour, NULL); - gfx_draw_string_centred(dpi, stringId, textX, textY + 10, textColour, NULL); - } + gfx_draw_string_centred(dpi, STR_BACK_TO_PREVIOUS_STEP, textX, textY, textColour, NULL); + gfx_draw_string_centred(dpi, stringId, textX, textY + 10, textColour, NULL); + } - if ((drawPreviousButton || drawNextButton) && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) { - gfx_draw_sprite(dpi, SPR_NEXT, - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].right - 29 + w->x, - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].top + 6 + w->y, 0); + if ((drawPreviousButton || drawNextButton) && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) { + gfx_draw_sprite(dpi, SPR_NEXT, + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].right - 29 + w->x, + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].top + 6 + w->y, 0); - sint32 textColour = NOT_TRANSLUCENT(w->colours[1]); + sint32 textColour = NOT_TRANSLUCENT(w->colours[1]); - if (gHoverWidget.window_classification == WC_BOTTOM_TOOLBAR && - gHoverWidget.widget_index == WIDX_NEXT_STEP_BUTTON - ) { - textColour = COLOUR_WHITE; - } + if (gHoverWidget.window_classification == WC_BOTTOM_TOOLBAR && + gHoverWidget.widget_index == WIDX_NEXT_STEP_BUTTON + ) { + textColour = COLOUR_WHITE; + } - sint16 textX = (window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].left + - window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].right - 30) / 2 + w->x; - sint16 textY = window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].top + 6 + w->y; + sint16 textX = (window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].left + + window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].right - 30) / 2 + w->x; + sint16 textY = window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].top + 6 + w->y; - rct_string_id stringId = EditorStepNames[gS6Info.editor_step + 1]; - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) - stringId = STR_EDITOR_STEP_ROLLERCOASTER_DESIGNER; + rct_string_id stringId = EditorStepNames[gS6Info.editor_step + 1]; + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) + stringId = STR_EDITOR_STEP_ROLLERCOASTER_DESIGNER; - gfx_draw_string_centred(dpi, STR_FORWARD_TO_NEXT_STEP, textX, textY, textColour, NULL); - gfx_draw_string_centred(dpi, stringId, textX, textY + 10, textColour, NULL); + gfx_draw_string_centred(dpi, STR_FORWARD_TO_NEXT_STEP, textX, textY, textColour, NULL); + gfx_draw_string_centred(dpi, stringId, textX, textY + 10, textColour, NULL); - } - } + } + } } diff --git a/src/openrct2/windows/editor_inventions_list.c b/src/openrct2/windows/editor_inventions_list.c index 3688c5b1d4..2465ed490a 100644 --- a/src/openrct2/windows/editor_inventions_list.c +++ b/src/openrct2/windows/editor_inventions_list.c @@ -32,37 +32,37 @@ #pragma region Widgets enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_PRE_RESEARCHED_SCROLL, - WIDX_RESEARCH_ORDER_SCROLL, - WIDX_PREVIEW, - WIDX_RANDOM_SHUFFLE, - WIDX_MOVE_ITEMS_TO_BOTTOM, - WIDX_MOVE_ITEMS_TO_TOP + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_PRE_RESEARCHED_SCROLL, + WIDX_RESEARCH_ORDER_SCROLL, + WIDX_PREVIEW, + WIDX_RANDOM_SHUFFLE, + WIDX_MOVE_ITEMS_TO_BOTTOM, + WIDX_MOVE_ITEMS_TO_TOP }; static rct_widget window_editor_inventions_list_widgets[] = { - { WWT_FRAME, 0, 0, 599, 0, 399, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, 598, 1, 14, STR_INVENTION_LIST, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 587, 597, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 599, 43, 399, STR_NONE, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, - { WWT_SCROLL, 1, 4, 371, 56, 175, SCROLL_VERTICAL, STR_NONE }, - { WWT_SCROLL, 1, 4, 371, 189, 396, SCROLL_VERTICAL, STR_NONE }, - { WWT_FLATBTN, 1, 431, 544, 106, 219, 0xFFFFFFFF, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 375, 594, 385, 396, STR_RANDOM_SHUFFLE, STR_RANDOM_SHUFFLE_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 375, 594, 372, 383, STR_MOVE_ALL_BOTTOM, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 375, 594, 359, 370, STR_MOVE_ALL_TOP, STR_NONE }, - { WIDGETS_END } + { WWT_FRAME, 0, 0, 599, 0, 399, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, 598, 1, 14, STR_INVENTION_LIST, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 587, 597, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 599, 43, 399, STR_NONE, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, + { WWT_SCROLL, 1, 4, 371, 56, 175, SCROLL_VERTICAL, STR_NONE }, + { WWT_SCROLL, 1, 4, 371, 189, 396, SCROLL_VERTICAL, STR_NONE }, + { WWT_FLATBTN, 1, 431, 544, 106, 219, 0xFFFFFFFF, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 375, 594, 385, 396, STR_RANDOM_SHUFFLE, STR_RANDOM_SHUFFLE_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 375, 594, 372, 383, STR_MOVE_ALL_BOTTOM, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 375, 594, 359, 370, STR_MOVE_ALL_TOP, STR_NONE }, + { WIDGETS_END } }; static rct_widget window_editor_inventions_list_drag_widgets[] = { - { WWT_IMGBTN, 0, 0, 149, 0, 13, STR_NONE, STR_NONE }, - { WIDGETS_END } + { WWT_IMGBTN, 0, 0, 149, 0, 13, STR_NONE, STR_NONE }, + { WIDGETS_END } }; #pragma endregion @@ -87,66 +87,66 @@ static void window_editor_inventions_list_drag_paint(rct_window *w, rct_drawpixe // 0x0098177C static rct_window_event_list window_editor_inventions_list_events = { - window_editor_inventions_list_close, - window_editor_inventions_list_mouseup, - NULL, - NULL, - NULL, - NULL, - window_editor_inventions_list_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_editor_inventions_list_scrollgetheight, - window_editor_inventions_list_scrollmousedown, - NULL, - window_editor_inventions_list_scrollmouseover, - NULL, - NULL, - NULL, - window_editor_inventions_list_tooltip, - window_editor_inventions_list_cursor, - NULL, - window_editor_inventions_list_invalidate, - window_editor_inventions_list_paint, - window_editor_inventions_list_scrollpaint + window_editor_inventions_list_close, + window_editor_inventions_list_mouseup, + NULL, + NULL, + NULL, + NULL, + window_editor_inventions_list_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_editor_inventions_list_scrollgetheight, + window_editor_inventions_list_scrollmousedown, + NULL, + window_editor_inventions_list_scrollmouseover, + NULL, + NULL, + NULL, + window_editor_inventions_list_tooltip, + window_editor_inventions_list_cursor, + NULL, + window_editor_inventions_list_invalidate, + window_editor_inventions_list_paint, + window_editor_inventions_list_scrollpaint }; // 0x009817EC static rct_window_event_list window_editor_inventions_list_drag_events = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_editor_inventions_list_drag_cursor, - window_editor_inventions_list_drag_moved, - NULL, - window_editor_inventions_list_drag_paint, - NULL + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_editor_inventions_list_drag_cursor, + window_editor_inventions_list_drag_moved, + NULL, + window_editor_inventions_list_drag_paint, + NULL }; #pragma endregion @@ -154,13 +154,13 @@ static rct_window_event_list window_editor_inventions_list_drag_events = { rct_research_item *_editorInventionsListDraggedItem; static const rct_string_id EditorInventionsResearchCategories[] = { - STR_RESEARCH_NEW_TRANSPORT_RIDES, - STR_RESEARCH_NEW_GENTLE_RIDES, - STR_RESEARCH_NEW_ROLLER_COASTERS, - STR_RESEARCH_NEW_THRILL_RIDES, - STR_RESEARCH_NEW_WATER_RIDES, - STR_RESEARCH_NEW_SHOPS_AND_STALLS, - STR_RESEARCH_NEW_SCENERY_AND_THEMING, + STR_RESEARCH_NEW_TRANSPORT_RIDES, + STR_RESEARCH_NEW_GENTLE_RIDES, + STR_RESEARCH_NEW_ROLLER_COASTERS, + STR_RESEARCH_NEW_THRILL_RIDES, + STR_RESEARCH_NEW_WATER_RIDES, + STR_RESEARCH_NEW_SHOPS_AND_STALLS, + STR_RESEARCH_NEW_SCENERY_AND_THEMING, }; static void window_editor_inventions_list_drag_open(rct_research_item *researchItem); @@ -168,7 +168,7 @@ static void move_research_item(rct_research_item *beforeItem); static sint32 research_item_is_always_researched(rct_research_item *researchItem) { - return (researchItem->entryIndex & (RESEARCH_ENTRY_FLAG_RIDE_ALWAYS_RESEARCHED | RESEARCH_ENTRY_FLAG_SCENERY_SET_ALWAYS_RESEARCHED)) != 0; + return (researchItem->entryIndex & (RESEARCH_ENTRY_FLAG_RIDE_ALWAYS_RESEARCHED | RESEARCH_ENTRY_FLAG_SCENERY_SET_ALWAYS_RESEARCHED)) != 0; } /** @@ -177,86 +177,86 @@ static sint32 research_item_is_always_researched(rct_research_item *researchItem * Sets rides that are in use to be always researched */ static void research_rides_setup(){ - // Reset all objects to not required - for (uint8 object_type = OBJECT_TYPE_RIDE; object_type < 11; object_type++){ - uint8* in_use = gEditorSelectedObjects[object_type]; - for (uint8 num_objects = object_entry_group_counts[object_type]; num_objects != 0; num_objects--){ - *in_use++ = 0; - } - } + // Reset all objects to not required + for (uint8 object_type = OBJECT_TYPE_RIDE; object_type < 11; object_type++){ + uint8* in_use = gEditorSelectedObjects[object_type]; + for (uint8 num_objects = object_entry_group_counts[object_type]; num_objects != 0; num_objects--){ + *in_use++ = 0; + } + } - // Set research required for rides in use - for (uint16 rideIndex = 0; rideIndex < 255; rideIndex++){ - rct_ride* ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_NULL)continue; - gEditorSelectedObjects[OBJECT_TYPE_RIDE][ride->subtype] |= 1; - } + // Set research required for rides in use + for (uint16 rideIndex = 0; rideIndex < 255; rideIndex++){ + rct_ride* ride = get_ride(rideIndex); + if (ride->type == RIDE_TYPE_NULL)continue; + gEditorSelectedObjects[OBJECT_TYPE_RIDE][ride->subtype] |= 1; + } - for (rct_research_item* research = gResearchItems; research->entryIndex != RESEARCHED_ITEMS_END; research++){ - if (research->entryIndex & RESEARCH_ENTRY_FLAG_RIDE_ALWAYS_RESEARCHED) - continue; + for (rct_research_item* research = gResearchItems; research->entryIndex != RESEARCHED_ITEMS_END; research++){ + if (research->entryIndex & RESEARCH_ENTRY_FLAG_RIDE_ALWAYS_RESEARCHED) + continue; - // If not a ride - if ((research->entryIndex & 0xFFFFFF) < 0x10000) - continue; + // If not a ride + if ((research->entryIndex & 0xFFFFFF) < 0x10000) + continue; - uint8 ride_base_type = (research->entryIndex >> 8) & 0xFF; + uint8 ride_base_type = (research->entryIndex >> 8) & 0xFF; - uint8 object_index = research->entryIndex & 0xFF; - rct_ride_entry* ride_entry = get_ride_entry(object_index); + uint8 object_index = research->entryIndex & 0xFF; + rct_ride_entry* ride_entry = get_ride_entry(object_index); - bool master_found = false; - if (!(ride_entry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE)){ + bool master_found = false; + if (!(ride_entry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE)){ - for (uint8 rideType = 0; rideType < object_entry_group_counts[OBJECT_TYPE_RIDE]; rideType++){ - rct_ride_entry* master_ride = get_ride_entry(rideType); - if (master_ride == NULL || (intptr_t)master_ride == -1) - continue; + for (uint8 rideType = 0; rideType < object_entry_group_counts[OBJECT_TYPE_RIDE]; rideType++){ + rct_ride_entry* master_ride = get_ride_entry(rideType); + if (master_ride == NULL || (intptr_t)master_ride == -1) + continue; - if (master_ride->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE) - continue; + if (master_ride->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE) + continue; - // If master ride not in use - if (!(gEditorSelectedObjects[OBJECT_TYPE_RIDE][rideType] & (1 << 0))) - continue; + // If master ride not in use + if (!(gEditorSelectedObjects[OBJECT_TYPE_RIDE][rideType] & (1 << 0))) + continue; - for (uint8 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { - if (master_ride->ride_type[j] == ride_base_type) { - master_found = true; - break; - } - } + for (uint8 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { + if (master_ride->ride_type[j] == ride_base_type) { + master_found = true; + break; + } + } - if (master_found) { - break; - } - } - } + if (master_found) { + break; + } + } + } - if (!master_found){ - // If not in use - if (!(gEditorSelectedObjects[OBJECT_TYPE_RIDE][object_index] & (1 << 0))) { - continue; - } + if (!master_found){ + // If not in use + if (!(gEditorSelectedObjects[OBJECT_TYPE_RIDE][object_index] & (1 << 0))) { + continue; + } - bool foundBaseType = false; - for (uint8 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { - if (ride_entry->ride_type[j] == ride_base_type) { - foundBaseType = true; - } - } + bool foundBaseType = false; + for (uint8 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { + if (ride_entry->ride_type[j] == ride_base_type) { + foundBaseType = true; + } + } - if (!foundBaseType) { - continue; - } - } + if (!foundBaseType) { + continue; + } + } - research->entryIndex |= RESEARCH_ENTRY_FLAG_RIDE_ALWAYS_RESEARCHED; - _editorInventionsListDraggedItem = research; - move_research_item(gResearchItems); - _editorInventionsListDraggedItem = NULL; - research--; - } + research->entryIndex |= RESEARCH_ENTRY_FLAG_RIDE_ALWAYS_RESEARCHED; + _editorInventionsListDraggedItem = research; + move_research_item(gResearchItems); + _editorInventionsListDraggedItem = NULL; + research--; + } } extern rct_object_entry RequiredSelectedObjects[7]; @@ -268,28 +268,28 @@ extern rct_object_entry RequiredSelectedObjects[7]; */ static void research_scenery_sets_setup(){ - for (sint32 i = 0; i < countof(RequiredSelectedObjects); i++) { - rct_object_entry * object = &RequiredSelectedObjects[i]; + for (sint32 i = 0; i < countof(RequiredSelectedObjects); i++) { + rct_object_entry * object = &RequiredSelectedObjects[i]; - uint8 entry_type, entry_index; - if (!find_object_in_entry_group(object, &entry_type, &entry_index)) - continue; + uint8 entry_type, entry_index; + if (!find_object_in_entry_group(object, &entry_type, &entry_index)) + continue; - if (entry_type != OBJECT_TYPE_SCENERY_SETS) - continue; + if (entry_type != OBJECT_TYPE_SCENERY_SETS) + continue; - rct_research_item* research = gResearchItems; - for (; research->entryIndex != RESEARCHED_ITEMS_END; research++){ + rct_research_item* research = gResearchItems; + for (; research->entryIndex != RESEARCHED_ITEMS_END; research++){ - if ((research->entryIndex & 0xFFFFFF) != entry_index) - continue; + if ((research->entryIndex & 0xFFFFFF) != entry_index) + continue; - research->entryIndex |= RESEARCH_ENTRY_FLAG_SCENERY_SET_ALWAYS_RESEARCHED; - _editorInventionsListDraggedItem = research; - move_research_item(gResearchItems); - _editorInventionsListDraggedItem = NULL; - } - } + research->entryIndex |= RESEARCH_ENTRY_FLAG_SCENERY_SET_ALWAYS_RESEARCHED; + _editorInventionsListDraggedItem = research; + move_research_item(gResearchItems); + _editorInventionsListDraggedItem = NULL; + } + } } /** @@ -298,8 +298,8 @@ static void research_scenery_sets_setup(){ */ static void research_always_researched_setup() { - research_rides_setup(); - research_scenery_sets_setup(); + research_rides_setup(); + research_scenery_sets_setup(); } /** @@ -309,15 +309,15 @@ static void research_always_researched_setup() */ static void research_remove_flags() { - for (rct_research_item* research = gResearchItems; - research->entryIndex != RESEARCHED_ITEMS_END_2; - research++){ + for (rct_research_item* research = gResearchItems; + research->entryIndex != RESEARCHED_ITEMS_END_2; + research++){ - // Clear the always researched flags. - if (research->entryIndex > RESEARCHED_ITEMS_SEPARATOR){ - research->entryIndex &= 0x00FFFFFF; - } - } + // Clear the always researched flags. + if (research->entryIndex > RESEARCHED_ITEMS_SEPARATOR){ + research->entryIndex &= 0x00FFFFFF; + } + } } /** @@ -326,22 +326,22 @@ static void research_remove_flags() */ static rct_string_id research_item_get_name(uint32 researchItem) { - if (researchItem < 0x10000) { - rct_scenery_set_entry *sceneryEntry = get_scenery_group_entry(researchItem & 0xFF); - if (sceneryEntry == NULL || sceneryEntry == (rct_scenery_set_entry*)-1) - return 0; + if (researchItem < 0x10000) { + rct_scenery_set_entry *sceneryEntry = get_scenery_group_entry(researchItem & 0xFF); + if (sceneryEntry == NULL || sceneryEntry == (rct_scenery_set_entry*)-1) + return 0; - return sceneryEntry->name; - } + return sceneryEntry->name; + } - rct_ride_entry *rideEntry = get_ride_entry(researchItem & 0xFF); - if (rideEntry == NULL || rideEntry == (rct_ride_entry*)-1) - return 0; + rct_ride_entry *rideEntry = get_ride_entry(researchItem & 0xFF); + if (rideEntry == NULL || rideEntry == (rct_ride_entry*)-1) + return 0; - if (rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) - return rideEntry->name; + if (rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) + return rideEntry->name; - return ((researchItem >> 8) & 0xFF) + 2; + return ((researchItem >> 8) & 0xFF) + 2; } /** @@ -350,71 +350,71 @@ static rct_string_id research_item_get_name(uint32 researchItem) */ static void research_items_shuffle() { - rct_research_item *researchItem, *researchOrderBase, researchItemTemp; - sint32 i, numNonResearchedItems; + rct_research_item *researchItem, *researchOrderBase, researchItemTemp; + sint32 i, numNonResearchedItems; - // Skip pre-researched items - for (researchItem = gResearchItems; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) {} - researchItem++; - researchOrderBase = researchItem; + // Skip pre-researched items + for (researchItem = gResearchItems; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) {} + researchItem++; + researchOrderBase = researchItem; - // Count non pre-researched items - numNonResearchedItems = 0; - for (; researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++) - numNonResearchedItems++; + // Count non pre-researched items + numNonResearchedItems = 0; + for (; researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++) + numNonResearchedItems++; - // Shuffle list - for (i = 0; i < numNonResearchedItems; i++) { - sint32 ri = util_rand() % numNonResearchedItems; - if (ri == i) - continue; + // Shuffle list + for (i = 0; i < numNonResearchedItems; i++) { + sint32 ri = util_rand() % numNonResearchedItems; + if (ri == i) + continue; - researchItemTemp = researchOrderBase[i]; - researchOrderBase[i] = researchOrderBase[ri]; - researchOrderBase[ri] = researchItemTemp; - } + researchItemTemp = researchOrderBase[i]; + researchOrderBase[i] = researchOrderBase[ri]; + researchOrderBase[ri] = researchItemTemp; + } } static void research_items_make_all_unresearched() { - rct_research_item *researchItem, *nextResearchItem, researchItemTemp; + rct_research_item *researchItem, *nextResearchItem, researchItemTemp; - sint32 sorted; - do { - sorted = 1; - for (researchItem = gResearchItems; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) { - if (research_item_is_always_researched(researchItem)) - continue; + sint32 sorted; + do { + sorted = 1; + for (researchItem = gResearchItems; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) { + if (research_item_is_always_researched(researchItem)) + continue; - nextResearchItem = researchItem + 1; - if (nextResearchItem->entryIndex == RESEARCHED_ITEMS_SEPARATOR || research_item_is_always_researched(nextResearchItem)) { - // Bubble up always researched item or separator - researchItemTemp = *researchItem; - *researchItem = *nextResearchItem; - *nextResearchItem = researchItemTemp; - sorted = 0; + nextResearchItem = researchItem + 1; + if (nextResearchItem->entryIndex == RESEARCHED_ITEMS_SEPARATOR || research_item_is_always_researched(nextResearchItem)) { + // Bubble up always researched item or separator + researchItemTemp = *researchItem; + *researchItem = *nextResearchItem; + *nextResearchItem = researchItemTemp; + sorted = 0; - if (researchItem->entryIndex == RESEARCHED_ITEMS_SEPARATOR) - break; - } - } - } while (!sorted); + if (researchItem->entryIndex == RESEARCHED_ITEMS_SEPARATOR) + break; + } + } + } while (!sorted); } static void research_items_make_all_researched() { - rct_research_item *researchItem, researchItemTemp; + rct_research_item *researchItem, researchItemTemp; - // Find separator - for (researchItem = gResearchItems; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) { } + // Find separator + for (researchItem = gResearchItems; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) { } - // Move separator below all items - for (; (researchItem + 1)->entryIndex != RESEARCHED_ITEMS_END; researchItem++) { - // Swap separator with research item - researchItemTemp = *researchItem; - *researchItem = *(researchItem + 1); - *(researchItem + 1) = researchItemTemp; - } + // Move separator below all items + for (; (researchItem + 1)->entryIndex != RESEARCHED_ITEMS_END; researchItem++) { + // Swap separator with research item + researchItemTemp = *researchItem; + *researchItem = *(researchItem + 1); + *(researchItem + 1) = researchItemTemp; + } } /** @@ -423,39 +423,39 @@ static void research_items_make_all_researched() */ static void move_research_item(rct_research_item *beforeItem) { - rct_window *w; - rct_research_item *researchItem, draggedItem; + rct_window *w; + rct_research_item *researchItem, draggedItem; - if (_editorInventionsListDraggedItem + 1 == beforeItem) - return; + if (_editorInventionsListDraggedItem + 1 == beforeItem) + return; - // Back up the dragged item - draggedItem = *_editorInventionsListDraggedItem; + // Back up the dragged item + draggedItem = *_editorInventionsListDraggedItem; - // Remove dragged item from list - researchItem = _editorInventionsListDraggedItem; - do { - *researchItem = *(researchItem + 1); - researchItem++; - } while (researchItem->entryIndex != RESEARCHED_ITEMS_END_2); - // At end of this researchItem points to the end of the list + // Remove dragged item from list + researchItem = _editorInventionsListDraggedItem; + do { + *researchItem = *(researchItem + 1); + researchItem++; + } while (researchItem->entryIndex != RESEARCHED_ITEMS_END_2); + // At end of this researchItem points to the end of the list - if (beforeItem > _editorInventionsListDraggedItem) - beforeItem--; + if (beforeItem > _editorInventionsListDraggedItem) + beforeItem--; - // Add dragged item to list - do { - *researchItem = *(researchItem - 1); - researchItem--; - } while (researchItem != beforeItem); + // Add dragged item to list + do { + *researchItem = *(researchItem - 1); + researchItem--; + } while (researchItem != beforeItem); - *researchItem = draggedItem; + *researchItem = draggedItem; - w = window_find_by_class(WC_EDITOR_INVENTION_LIST); - if (w != NULL) { - w->research_item = NULL; - window_invalidate(w); - } + w = window_find_by_class(WC_EDITOR_INVENTION_LIST); + if (w != NULL) { + w->research_item = NULL; + window_invalidate(w); + } } /** @@ -464,23 +464,23 @@ static void move_research_item(rct_research_item *beforeItem) */ static rct_research_item *window_editor_inventions_list_get_item_from_scroll_y(sint32 scrollIndex, sint32 y) { - rct_research_item *researchItem; + rct_research_item *researchItem; - researchItem = gResearchItems; + researchItem = gResearchItems; - if (scrollIndex != 0) { - // Skip pre-researched items - for (; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) { } - researchItem++; - } + if (scrollIndex != 0) { + // Skip pre-researched items + for (; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) { } + researchItem++; + } - for (; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR && researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++) { - y -= 10; - if (y < 0) - return researchItem; - } + for (; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR && researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++) { + y -= 10; + if (y < 0) + return researchItem; + } - return NULL; + return NULL; } /** @@ -489,45 +489,45 @@ static rct_research_item *window_editor_inventions_list_get_item_from_scroll_y(s */ static rct_research_item *window_editor_inventions_list_get_item_from_scroll_y_include_seps(sint32 scrollIndex, sint32 y) { - rct_research_item *researchItem; + rct_research_item *researchItem; - researchItem = gResearchItems; + researchItem = gResearchItems; - if (scrollIndex != 0) { - // Skip pre-researched items - for (; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) { } - researchItem++; - } + if (scrollIndex != 0) { + // Skip pre-researched items + for (; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) { } + researchItem++; + } - for (; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR && researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++) { - y -= 10; - if (y < 0) - return researchItem; - } + for (; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR && researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++) { + y -= 10; + if (y < 0) + return researchItem; + } - return researchItem; + return researchItem; } static rct_research_item *get_research_item_at(sint32 x, sint32 y) { - rct_window *w = window_find_by_class(WC_EDITOR_INVENTION_LIST); - if (w != NULL && w->x <= x && w->y < y && w->x + w->width > x && w->y + w->height > y) { - rct_widgetindex widgetIndex = window_find_widget_from_point(w, x, y); - rct_widget *widget = &w->widgets[widgetIndex]; - if (widgetIndex == WIDX_PRE_RESEARCHED_SCROLL || widgetIndex == WIDX_RESEARCH_ORDER_SCROLL) { - gPressedWidget.widget_index = widgetIndex; - sint32 outX, outY, outScrollArea, outScrollId; - widget_scroll_get_part(w, widget, x, y, &outX, &outY, &outScrollArea, &outScrollId); - if (outScrollArea == SCROLL_PART_VIEW) { - outScrollId = outScrollId == 0 ? 0 : 1; + rct_window *w = window_find_by_class(WC_EDITOR_INVENTION_LIST); + if (w != NULL && w->x <= x && w->y < y && w->x + w->width > x && w->y + w->height > y) { + rct_widgetindex widgetIndex = window_find_widget_from_point(w, x, y); + rct_widget *widget = &w->widgets[widgetIndex]; + if (widgetIndex == WIDX_PRE_RESEARCHED_SCROLL || widgetIndex == WIDX_RESEARCH_ORDER_SCROLL) { + gPressedWidget.widget_index = widgetIndex; + sint32 outX, outY, outScrollArea, outScrollId; + widget_scroll_get_part(w, widget, x, y, &outX, &outY, &outScrollArea, &outScrollId); + if (outScrollArea == SCROLL_PART_VIEW) { + outScrollId = outScrollId == 0 ? 0 : 1; - sint32 scrollY = y - (w->y + widget->top) + w->scrolls[outScrollId].v_top + 5; - return window_editor_inventions_list_get_item_from_scroll_y_include_seps(outScrollId, scrollY); - } - } - } + sint32 scrollY = y - (w->y + widget->top) + w->scrolls[outScrollId].v_top + 5; + return window_editor_inventions_list_get_item_from_scroll_y_include_seps(outScrollId, scrollY); + } + } + } - return NULL; + return NULL; } /** @@ -536,33 +536,33 @@ static rct_research_item *get_research_item_at(sint32 x, sint32 y) */ void window_editor_inventions_list_open() { - rct_window *w; + rct_window *w; - w = window_bring_to_front_by_class(WC_EDITOR_INVENTION_LIST); - if (w != NULL) - return; + w = window_bring_to_front_by_class(WC_EDITOR_INVENTION_LIST); + if (w != NULL) + return; - research_always_researched_setup(); + research_always_researched_setup(); - w = window_create_centred( - 600, - 400, - &window_editor_inventions_list_events, - WC_EDITOR_INVENTION_LIST, - WF_NO_SCROLLING - ); - w->widgets = window_editor_inventions_list_widgets; - w->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_RANDOM_SHUFFLE) | - (1 << WIDX_MOVE_ITEMS_TO_BOTTOM) | - (1 << WIDX_MOVE_ITEMS_TO_TOP); - window_init_scroll_widgets(w); - w->var_4AE = 0; - w->selected_tab = 0; - w->research_item = NULL; - _editorInventionsListDraggedItem = NULL; + w = window_create_centred( + 600, + 400, + &window_editor_inventions_list_events, + WC_EDITOR_INVENTION_LIST, + WF_NO_SCROLLING + ); + w->widgets = window_editor_inventions_list_widgets; + w->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_RANDOM_SHUFFLE) | + (1 << WIDX_MOVE_ITEMS_TO_BOTTOM) | + (1 << WIDX_MOVE_ITEMS_TO_TOP); + window_init_scroll_widgets(w); + w->var_4AE = 0; + w->selected_tab = 0; + w->research_item = NULL; + _editorInventionsListDraggedItem = NULL; } /** @@ -571,14 +571,14 @@ void window_editor_inventions_list_open() */ static void window_editor_inventions_list_close(rct_window *w) { - research_remove_flags(); + research_remove_flags(); - // When used in-game (as a cheat) - if (!(gScreenFlags & SCREEN_FLAGS_EDITOR)) { - gSilentResearch = true; - research_reset_current_item(); - gSilentResearch = false; - } + // When used in-game (as a cheat) + if (!(gScreenFlags & SCREEN_FLAGS_EDITOR)) { + gSilentResearch = true; + research_reset_current_item(); + gSilentResearch = false; + } } /** @@ -587,25 +587,25 @@ static void window_editor_inventions_list_close(rct_window *w) */ static void window_editor_inventions_list_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_RANDOM_SHUFFLE: - research_items_shuffle(); - window_invalidate(w); - break; - case WIDX_MOVE_ITEMS_TO_TOP: - research_items_make_all_researched(); - window_init_scroll_widgets(w); - window_invalidate(w); - break; - case WIDX_MOVE_ITEMS_TO_BOTTOM: - research_items_make_all_unresearched(); - window_init_scroll_widgets(w); - window_invalidate(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_RANDOM_SHUFFLE: + research_items_shuffle(); + window_invalidate(w); + break; + case WIDX_MOVE_ITEMS_TO_TOP: + research_items_make_all_researched(); + window_init_scroll_widgets(w); + window_invalidate(w); + break; + case WIDX_MOVE_ITEMS_TO_BOTTOM: + research_items_make_all_unresearched(); + window_init_scroll_widgets(w); + window_invalidate(w); + break; + } } /** @@ -614,18 +614,18 @@ static void window_editor_inventions_list_mouseup(rct_window *w, rct_widgetindex */ static void window_editor_inventions_list_update(rct_window *w) { - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_1); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_1); - if (_editorInventionsListDraggedItem == NULL) - return; + if (_editorInventionsListDraggedItem == NULL) + return; - if (window_find_by_class(WC_EDITOR_INVENTION_LIST_DRAG) != NULL) - return; + if (window_find_by_class(WC_EDITOR_INVENTION_LIST_DRAG) != NULL) + return; - _editorInventionsListDraggedItem = NULL; - window_invalidate(w); + _editorInventionsListDraggedItem = NULL; + window_invalidate(w); } /** @@ -634,22 +634,22 @@ static void window_editor_inventions_list_update(rct_window *w) */ static void window_editor_inventions_list_scrollgetheight(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - rct_research_item *researchItem; + rct_research_item *researchItem; - *height = 0; + *height = 0; - // Count / skip pre-researched items - for (researchItem = gResearchItems; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) - *height += 10; + // Count / skip pre-researched items + for (researchItem = gResearchItems; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) + *height += 10; - if (scrollIndex == 1) { - researchItem++; + if (scrollIndex == 1) { + researchItem++; - // Count non pre-researched items - *height = 0; - for (; researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++) - *height += 10; - } + // Count non pre-researched items + *height = 0; + for (; researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++) + *height += 10; + } } /** @@ -658,17 +658,17 @@ static void window_editor_inventions_list_scrollgetheight(rct_window *w, sint32 */ static void window_editor_inventions_list_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - rct_research_item *researchItem; + rct_research_item *researchItem; - researchItem = window_editor_inventions_list_get_item_from_scroll_y(scrollIndex, y); - if (researchItem == NULL) - return; + researchItem = window_editor_inventions_list_get_item_from_scroll_y(scrollIndex, y); + if (researchItem == NULL) + return; - if (researchItem->entryIndex < (uint32)RESEARCHED_ITEMS_END_2 && research_item_is_always_researched(researchItem)) - return; + if (researchItem->entryIndex < (uint32)RESEARCHED_ITEMS_END_2 && research_item_is_always_researched(researchItem)) + return; - window_invalidate(w); - window_editor_inventions_list_drag_open(researchItem); + window_invalidate(w); + window_editor_inventions_list_drag_open(researchItem); } /** @@ -677,13 +677,13 @@ static void window_editor_inventions_list_scrollmousedown(rct_window *w, sint32 */ static void window_editor_inventions_list_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - rct_research_item *researchItem; + rct_research_item *researchItem; - researchItem = window_editor_inventions_list_get_item_from_scroll_y(scrollIndex, y); - if (researchItem != w->research_item) { - w->research_item = researchItem; - window_invalidate(w); - } + researchItem = window_editor_inventions_list_get_item_from_scroll_y(scrollIndex, y); + if (researchItem != w->research_item) { + w->research_item = researchItem; + window_invalidate(w); + } } /** @@ -692,7 +692,7 @@ static void window_editor_inventions_list_scrollmouseover(rct_window *w, sint32 */ static void window_editor_inventions_list_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_LIST); + set_format_arg(0, rct_string_id, STR_LIST); } /** @@ -701,29 +701,29 @@ static void window_editor_inventions_list_tooltip(rct_window* w, rct_widgetindex */ static void window_editor_inventions_list_cursor(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y, sint32 *cursorId) { - rct_research_item *researchItem; - sint32 scrollIndex; + rct_research_item *researchItem; + sint32 scrollIndex; - switch (widgetIndex) { - case WIDX_PRE_RESEARCHED_SCROLL: - scrollIndex = 0; - break; - case WIDX_RESEARCH_ORDER_SCROLL: - scrollIndex = 1; - break; - default: - return; - } + switch (widgetIndex) { + case WIDX_PRE_RESEARCHED_SCROLL: + scrollIndex = 0; + break; + case WIDX_RESEARCH_ORDER_SCROLL: + scrollIndex = 1; + break; + default: + return; + } - researchItem = window_editor_inventions_list_get_item_from_scroll_y(scrollIndex, y); - if (researchItem == NULL) - return; + researchItem = window_editor_inventions_list_get_item_from_scroll_y(scrollIndex, y); + if (researchItem == NULL) + return; - if (researchItem->entryIndex < (uint32)RESEARCHED_ITEMS_END_2 && research_item_is_always_researched(researchItem)) { - return; - } + if (researchItem->entryIndex < (uint32)RESEARCHED_ITEMS_END_2 && research_item_is_always_researched(researchItem)) { + return; + } - *cursorId = CURSOR_HAND_OPEN; + *cursorId = CURSOR_HAND_OPEN; } /** @@ -732,11 +732,11 @@ static void window_editor_inventions_list_cursor(rct_window *w, rct_widgetindex */ static void window_editor_inventions_list_invalidate(rct_window *w) { - w->pressed_widgets |= 1 << WIDX_PREVIEW; - w->pressed_widgets |= 1 << WIDX_TAB_1; + w->pressed_widgets |= 1 << WIDX_PREVIEW; + w->pressed_widgets |= 1 << WIDX_TAB_1; - w->widgets[WIDX_CLOSE].type = - gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR ? WWT_EMPTY : WWT_CLOSEBOX; + w->widgets[WIDX_CLOSE].type = + gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR ? WWT_EMPTY : WWT_CLOSEBOX; } /** @@ -745,86 +745,86 @@ static void window_editor_inventions_list_invalidate(rct_window *w) */ static void window_editor_inventions_list_paint(rct_window *w, rct_drawpixelinfo *dpi) { - rct_widget *widget; - rct_research_item *researchItem; - rct_string_id stringId; - sint32 x, y, width; + rct_widget *widget; + rct_research_item *researchItem; + rct_string_id stringId; + sint32 x, y, width; - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - // Tab image - x = w->x + w->widgets[WIDX_TAB_1].left; - y = w->y + w->widgets[WIDX_TAB_1].top; - gfx_draw_sprite(dpi, SPR_TAB_FINANCES_RESEARCH_0 + (w->frame_no / 2) % 8, x, y, 0); + // Tab image + x = w->x + w->widgets[WIDX_TAB_1].left; + y = w->y + w->widgets[WIDX_TAB_1].top; + gfx_draw_sprite(dpi, SPR_TAB_FINANCES_RESEARCH_0 + (w->frame_no / 2) % 8, x, y, 0); - // Pre-researched items label - x = w->x + w->widgets[WIDX_PRE_RESEARCHED_SCROLL].left; - y = w->y + w->widgets[WIDX_PRE_RESEARCHED_SCROLL].top - 11; - gfx_draw_string_left(dpi, STR_INVENTION_PREINVENTED_ITEMS, NULL, COLOUR_BLACK, x, y - 1); + // Pre-researched items label + x = w->x + w->widgets[WIDX_PRE_RESEARCHED_SCROLL].left; + y = w->y + w->widgets[WIDX_PRE_RESEARCHED_SCROLL].top - 11; + gfx_draw_string_left(dpi, STR_INVENTION_PREINVENTED_ITEMS, NULL, COLOUR_BLACK, x, y - 1); - // Research order label - x = w->x + w->widgets[WIDX_RESEARCH_ORDER_SCROLL].left; - y = w->y + w->widgets[WIDX_RESEARCH_ORDER_SCROLL].top - 11; - gfx_draw_string_left(dpi, STR_INVENTION_TO_BE_INVENTED_ITEMS, NULL, COLOUR_BLACK, x, y - 1); + // Research order label + x = w->x + w->widgets[WIDX_RESEARCH_ORDER_SCROLL].left; + y = w->y + w->widgets[WIDX_RESEARCH_ORDER_SCROLL].top - 11; + gfx_draw_string_left(dpi, STR_INVENTION_TO_BE_INVENTED_ITEMS, NULL, COLOUR_BLACK, x, y - 1); - // Preview background - widget = &w->widgets[WIDX_PREVIEW]; - gfx_fill_rect( - dpi, - w->x + widget->left + 1, - w->y + widget->top + 1, - w->x + widget->right - 1, - w->y + widget->bottom - 1, - ColourMapA[w->colours[1]].darkest - ); + // Preview background + widget = &w->widgets[WIDX_PREVIEW]; + gfx_fill_rect( + dpi, + w->x + widget->left + 1, + w->y + widget->top + 1, + w->x + widget->right - 1, + w->y + widget->bottom - 1, + ColourMapA[w->colours[1]].darkest + ); - researchItem = _editorInventionsListDraggedItem; - if (researchItem == NULL) - researchItem = w->research_item; - // If the research item is null or a list separator. - if (researchItem == NULL || researchItem->entryIndex < 0) - return; + researchItem = _editorInventionsListDraggedItem; + if (researchItem == NULL) + researchItem = w->research_item; + // If the research item is null or a list separator. + if (researchItem == NULL || researchItem->entryIndex < 0) + return; - // Preview image - sint32 objectEntryType = 7; - sint32 eax = researchItem->entryIndex & 0xFFFFFF; - if (eax >= 0x10000) - objectEntryType = 0; + // Preview image + sint32 objectEntryType = 7; + sint32 eax = researchItem->entryIndex & 0xFFFFFF; + if (eax >= 0x10000) + objectEntryType = 0; - void *chunk = object_entry_groups[objectEntryType].chunks[researchItem->entryIndex & 0xFF]; + void *chunk = object_entry_groups[objectEntryType].chunks[researchItem->entryIndex & 0xFF]; - if (chunk == NULL || chunk == (void*)-1) - return; + if (chunk == NULL || chunk == (void*)-1) + return; - rct_object_entry * entry = &object_entry_groups[objectEntryType].entries[researchItem->entryIndex & 0xFF].entry; + rct_object_entry * entry = &object_entry_groups[objectEntryType].entries[researchItem->entryIndex & 0xFF].entry; - // Draw preview - widget = &w->widgets[WIDX_PREVIEW]; + // Draw preview + widget = &w->widgets[WIDX_PREVIEW]; - void * object = object_manager_get_loaded_object(entry); - if (object != NULL) { - rct_drawpixelinfo clipDPI; - x = w->x + widget->left + 1; - y = w->y + widget->top + 1; - width = widget->right - widget->left - 1; - sint32 height = widget->bottom - widget->top - 1; - if (clip_drawpixelinfo(&clipDPI, dpi, x, y, width, height)) { - object_draw_preview(object, &clipDPI, width, height); - } - } + void * object = object_manager_get_loaded_object(entry); + if (object != NULL) { + rct_drawpixelinfo clipDPI; + x = w->x + widget->left + 1; + y = w->y + widget->top + 1; + width = widget->right - widget->left - 1; + sint32 height = widget->bottom - widget->top - 1; + if (clip_drawpixelinfo(&clipDPI, dpi, x, y, width, height)) { + object_draw_preview(object, &clipDPI, width, height); + } + } - // Item name - x = w->x + ((widget->left + widget->right) / 2) + 1; - y = w->y + widget->bottom + 3; - width = w->width - w->widgets[WIDX_RESEARCH_ORDER_SCROLL].right - 6; - stringId = research_item_get_name(eax); - gfx_draw_string_centred_clipped(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, x, y, width); - y += 15; + // Item name + x = w->x + ((widget->left + widget->right) / 2) + 1; + y = w->y + widget->bottom + 3; + width = w->width - w->widgets[WIDX_RESEARCH_ORDER_SCROLL].right - 6; + stringId = research_item_get_name(eax); + gfx_draw_string_centred_clipped(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, x, y, width); + y += 15; - // Item category - x = w->x + w->widgets[WIDX_RESEARCH_ORDER_SCROLL].right + 4; - stringId = EditorInventionsResearchCategories[researchItem->category]; - gfx_draw_string_left(dpi, STR_INVENTION_RESEARCH_GROUP, &stringId, COLOUR_BLACK, x, y); + // Item category + x = w->x + w->widgets[WIDX_RESEARCH_ORDER_SCROLL].right + 4; + stringId = EditorInventionsResearchCategories[researchItem->category]; + gfx_draw_string_left(dpi, STR_INVENTION_RESEARCH_GROUP, &stringId, COLOUR_BLACK, x, y); } /** @@ -833,82 +833,82 @@ static void window_editor_inventions_list_paint(rct_window *w, rct_drawpixelinfo */ static void window_editor_inventions_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - rct_research_item *researchItem; - sint32 left, top, bottom, itemY, disableItemMovement; - sint32 researchItemEndMarker; - rct_string_id stringId; - utf8 buffer[256], *ptr; + rct_research_item *researchItem; + sint32 left, top, bottom, itemY, disableItemMovement; + sint32 researchItemEndMarker; + rct_string_id stringId; + utf8 buffer[256], *ptr; - // Draw background - uint8 paletteIndex = ColourMapA[w->colours[1]].mid_light; - gfx_clear(dpi, paletteIndex); + // Draw background + uint8 paletteIndex = ColourMapA[w->colours[1]].mid_light; + gfx_clear(dpi, paletteIndex); - researchItem = gResearchItems; + researchItem = gResearchItems; - if (scrollIndex == 1) { - // Skip pre-researched items - for (; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) { } - researchItem++; - researchItemEndMarker = RESEARCHED_ITEMS_END; - } else { - researchItemEndMarker = RESEARCHED_ITEMS_SEPARATOR; - } + if (scrollIndex == 1) { + // Skip pre-researched items + for (; researchItem->entryIndex != RESEARCHED_ITEMS_SEPARATOR; researchItem++) { } + researchItem++; + researchItemEndMarker = RESEARCHED_ITEMS_END; + } else { + researchItemEndMarker = RESEARCHED_ITEMS_SEPARATOR; + } - // Since this is now a do while need to counteract the +10 - itemY = -10; - do{ - itemY += 10; - if (itemY + 10 < dpi->y || itemY >= dpi->y + dpi->height) - continue; + // Since this is now a do while need to counteract the +10 + itemY = -10; + do{ + itemY += 10; + if (itemY + 10 < dpi->y || itemY >= dpi->y + dpi->height) + continue; - uint8 colour = COLOUR_BRIGHT_GREEN | COLOUR_FLAG_TRANSLUCENT; - if (w->research_item == researchItem) { - if (_editorInventionsListDraggedItem == NULL) { - // Highlight - top = itemY; - bottom = itemY + 9; - } else { - // Drop horizontal rule - top = itemY - 1; - bottom = itemY; - } - gfx_filter_rect(dpi, 0, top, w->width, bottom, PALETTE_DARKEN_1); + uint8 colour = COLOUR_BRIGHT_GREEN | COLOUR_FLAG_TRANSLUCENT; + if (w->research_item == researchItem) { + if (_editorInventionsListDraggedItem == NULL) { + // Highlight + top = itemY; + bottom = itemY + 9; + } else { + // Drop horizontal rule + top = itemY - 1; + bottom = itemY; + } + gfx_filter_rect(dpi, 0, top, w->width, bottom, PALETTE_DARKEN_1); - if (_editorInventionsListDraggedItem == NULL) - colour = COLOUR_BRIGHT_GREEN; - } + if (_editorInventionsListDraggedItem == NULL) + colour = COLOUR_BRIGHT_GREEN; + } - if (researchItem->entryIndex == RESEARCHED_ITEMS_SEPARATOR || researchItem->entryIndex == RESEARCHED_ITEMS_END) - continue; + if (researchItem->entryIndex == RESEARCHED_ITEMS_SEPARATOR || researchItem->entryIndex == RESEARCHED_ITEMS_END) + continue; - if (researchItem == _editorInventionsListDraggedItem) - continue; + if (researchItem == _editorInventionsListDraggedItem) + continue; - disableItemMovement = research_item_is_always_researched(researchItem); - stringId = research_item_get_name(researchItem->entryIndex & 0xFFFFFF); + disableItemMovement = research_item_is_always_researched(researchItem); + stringId = research_item_get_name(researchItem->entryIndex & 0xFFFFFF); - ptr = buffer; - if (!disableItemMovement) { - ptr = utf8_write_codepoint(ptr, colour); - } + ptr = buffer; + if (!disableItemMovement) { + ptr = utf8_write_codepoint(ptr, colour); + } - format_string(ptr, 256, stringId, NULL); + format_string(ptr, 256, stringId, NULL); - if (disableItemMovement) { - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM_DARK; - if (colour == COLOUR_BRIGHT_GREEN && _editorInventionsListDraggedItem == NULL) { - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM_EXTRA_DARK; - } - colour = COLOUR_FLAG_INSET | w->colours[1]; - } else { - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - colour = COLOUR_BLACK; - } + if (disableItemMovement) { + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM_DARK; + if (colour == COLOUR_BRIGHT_GREEN && _editorInventionsListDraggedItem == NULL) { + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM_EXTRA_DARK; + } + colour = COLOUR_FLAG_INSET | w->colours[1]; + } else { + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + colour = COLOUR_BLACK; + } - left = 1; - top = itemY - 1; - gfx_draw_string(dpi, buffer, colour, left, top); - }while(researchItem++->entryIndex != researchItemEndMarker); + left = 1; + top = itemY - 1; + gfx_draw_string(dpi, buffer, colour, left, top); + }while(researchItem++->entryIndex != researchItemEndMarker); } #pragma region Drag item @@ -919,31 +919,31 @@ static void window_editor_inventions_list_scrollpaint(rct_window *w, rct_drawpix */ static void window_editor_inventions_list_drag_open(rct_research_item *researchItem) { - char buffer[256]; - sint32 stringWidth; - rct_string_id stringId; - rct_window *w; + char buffer[256]; + sint32 stringWidth; + rct_string_id stringId; + rct_window *w; - window_close_by_class(WC_EDITOR_INVENTION_LIST_DRAG); - _editorInventionsListDraggedItem = researchItem; + window_close_by_class(WC_EDITOR_INVENTION_LIST_DRAG); + _editorInventionsListDraggedItem = researchItem; - stringId = research_item_get_name(researchItem->entryIndex & 0xFFFFFF); - format_string(buffer, 256, stringId, NULL); - stringWidth = gfx_get_string_width(buffer); - window_editor_inventions_list_drag_widgets[0].right = stringWidth; + stringId = research_item_get_name(researchItem->entryIndex & 0xFFFFFF); + format_string(buffer, 256, stringId, NULL); + stringWidth = gfx_get_string_width(buffer); + window_editor_inventions_list_drag_widgets[0].right = stringWidth; - w = window_create( - gTooltipCursorX - (stringWidth / 2), - gTooltipCursorY - 7, - stringWidth, - 14, - &window_editor_inventions_list_drag_events, - WC_EDITOR_INVENTION_LIST_DRAG, - WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_NO_SNAPPING - ); - w->widgets = window_editor_inventions_list_drag_widgets; - w->colours[1] = COLOUR_WHITE; - input_window_position_begin(w, 0, gTooltipCursorX, gTooltipCursorY); + w = window_create( + gTooltipCursorX - (stringWidth / 2), + gTooltipCursorY - 7, + stringWidth, + 14, + &window_editor_inventions_list_drag_events, + WC_EDITOR_INVENTION_LIST_DRAG, + WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_NO_SNAPPING + ); + w->widgets = window_editor_inventions_list_drag_widgets; + w->colours[1] = COLOUR_WHITE; + input_window_position_begin(w, 0, gTooltipCursorX, gTooltipCursorY); } /** @@ -952,16 +952,16 @@ static void window_editor_inventions_list_drag_open(rct_research_item *researchI */ static void window_editor_inventions_list_drag_cursor(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y, sint32 *cursorId) { - rct_window *inventionListWindow = window_find_by_class(WC_EDITOR_INVENTION_LIST); - if (inventionListWindow != NULL) { - rct_research_item *researchItem = get_research_item_at(x, y); - if (researchItem != inventionListWindow->research_item) { - inventionListWindow = (rct_window *)researchItem; - window_invalidate(inventionListWindow); - } - } + rct_window *inventionListWindow = window_find_by_class(WC_EDITOR_INVENTION_LIST); + if (inventionListWindow != NULL) { + rct_research_item *researchItem = get_research_item_at(x, y); + if (researchItem != inventionListWindow->research_item) { + inventionListWindow = (rct_window *)researchItem; + window_invalidate(inventionListWindow); + } + } - *cursorId = CURSOR_HAND_CLOSED; + *cursorId = CURSOR_HAND_CLOSED; } /** @@ -970,15 +970,15 @@ static void window_editor_inventions_list_drag_cursor(rct_window *w, rct_widgeti */ static void window_editor_inventions_list_drag_moved(rct_window* w, sint32 x, sint32 y) { - rct_research_item *researchItem; + rct_research_item *researchItem; - researchItem = get_research_item_at(x, y); - if (researchItem != NULL) - move_research_item(researchItem); + researchItem = get_research_item_at(x, y); + if (researchItem != NULL) + move_research_item(researchItem); - window_close(w); - _editorInventionsListDraggedItem = NULL; - window_invalidate_by_class(WC_EDITOR_INVENTION_LIST); + window_close(w); + _editorInventionsListDraggedItem = NULL; + window_invalidate_by_class(WC_EDITOR_INVENTION_LIST); } /** @@ -987,13 +987,13 @@ static void window_editor_inventions_list_drag_moved(rct_window* w, sint32 x, si */ static void window_editor_inventions_list_drag_paint(rct_window *w, rct_drawpixelinfo *dpi) { - rct_string_id stringId; - sint32 x, y; + rct_string_id stringId; + sint32 x, y; - x = w->x; - y = w->y + 2; - stringId = research_item_get_name(_editorInventionsListDraggedItem->entryIndex & 0xFFFFFF); - gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK | COLOUR_FLAG_OUTLINE, x, y); + x = w->x; + y = w->y + 2; + stringId = research_item_get_name(_editorInventionsListDraggedItem->entryIndex & 0xFFFFFF); + gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK | COLOUR_FLAG_OUTLINE, x, y); } #pragma endregion diff --git a/src/openrct2/windows/editor_main.c b/src/openrct2/windows/editor_main.c index 8187214304..a6884b0720 100644 --- a/src/openrct2/windows/editor_main.c +++ b/src/openrct2/windows/editor_main.c @@ -24,39 +24,39 @@ static void window_editor_main_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_editor_main_events = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_editor_main_paint,// 0x0066FC97, // window_editor_main_paint, - NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_editor_main_paint,// 0x0066FC97, // window_editor_main_paint, + NULL, }; static rct_widget window_editor_main_widgets[] = { - { WWT_VIEWPORT, 0, 0, 0xFFFF, 0, 0xFFFF, 0xFFFFFFFE, 0xFFFF }, - { WIDGETS_END }, + { WWT_VIEWPORT, 0, 0, 0xFFFF, 0, 0xFFFF, 0xFFFFFFFE, 0xFFFF }, + { WIDGETS_END }, }; @@ -66,25 +66,25 @@ static rct_widget window_editor_main_widgets[] = { */ rct_window * window_editor_main_open() { - window_editor_main_widgets[0].right = context_get_width(); - window_editor_main_widgets[0].bottom = context_get_height(); - rct_window *window = window_create(0, 0, window_editor_main_widgets[0].right, window_editor_main_widgets[0].bottom, - &window_editor_main_events, WC_MAIN_WINDOW, WF_STICK_TO_BACK); - window->widgets = window_editor_main_widgets; + window_editor_main_widgets[0].right = context_get_width(); + window_editor_main_widgets[0].bottom = context_get_height(); + rct_window *window = window_create(0, 0, window_editor_main_widgets[0].right, window_editor_main_widgets[0].bottom, + &window_editor_main_events, WC_MAIN_WINDOW, WF_STICK_TO_BACK); + window->widgets = window_editor_main_widgets; - viewport_create(window, window->x, window->y, window->width, window->height, 0, 0x0FFF, 0x0FFF, 0, 0x1, -1); - window->viewport->flags |= 0x0400; + viewport_create(window, window->x, window->y, window->width, window->height, 0, 0x0FFF, 0x0FFF, 0, 0x1, -1); + window->viewport->flags |= 0x0400; - gCurrentRotation = 0; - gShowGridLinesRefCount = 0; - gShowLandRightsRefCount = 0; - gShowConstuctionRightsRefCount = 0; - gFootpathSelectedType = 0; + gCurrentRotation = 0; + gShowGridLinesRefCount = 0; + gShowLandRightsRefCount = 0; + gShowConstuctionRightsRefCount = 0; + gFootpathSelectedType = 0; - window_top_toolbar_open(); - window_editor_bottom_toolbar_open(); + window_top_toolbar_open(); + window_editor_bottom_toolbar_open(); - return window_get_main(); + return window_get_main(); } /** @@ -94,5 +94,5 @@ rct_window * window_editor_main_open() */ static void window_editor_main_paint(rct_window *w, rct_drawpixelinfo *dpi) { - viewport_render(dpi, w->viewport, dpi->x, dpi->y, dpi->x + dpi->width, dpi->y + dpi->height); + viewport_render(dpi, w->viewport, dpi->x, dpi->y, dpi->x + dpi->width, dpi->y + dpi->height); } diff --git a/src/openrct2/windows/editor_object_selection.c b/src/openrct2/windows/editor_object_selection.c index 48342040a3..0747530c32 100644 --- a/src/openrct2/windows/editor_object_selection.c +++ b/src/openrct2/windows/editor_object_selection.c @@ -44,23 +44,23 @@ #include "../sprites.h" enum { - FILTER_RCT2 = (1 << 0), - FILTER_WW = (1 << 1), - FILTER_TT = (1 << 2), - FILTER_CUSTOM = (1 << 3), + FILTER_RCT2 = (1 << 0), + FILTER_WW = (1 << 1), + FILTER_TT = (1 << 2), + FILTER_CUSTOM = (1 << 3), - FILTER_RIDE_TRANSPORT = (1 << 5), - FILTER_RIDE_GENTLE = (1 << 6), - FILTER_RIDE_COASTER = (1 << 7), - FILTER_RIDE_THRILL = (1 << 8), - FILTER_RIDE_WATER = (1 << 9), - FILTER_RIDE_STALL = (1 << 10), + FILTER_RIDE_TRANSPORT = (1 << 5), + FILTER_RIDE_GENTLE = (1 << 6), + FILTER_RIDE_COASTER = (1 << 7), + FILTER_RIDE_THRILL = (1 << 8), + FILTER_RIDE_WATER = (1 << 9), + FILTER_RIDE_STALL = (1 << 10), - FILTER_SELECTED = (1 << 12), - FILTER_NONSELECTED = (1 << 13), + FILTER_SELECTED = (1 << 12), + FILTER_NONSELECTED = (1 << 13), - FILTER_RIDES = FILTER_RIDE_TRANSPORT | FILTER_RIDE_GENTLE | FILTER_RIDE_COASTER | FILTER_RIDE_THRILL | FILTER_RIDE_WATER | FILTER_RIDE_STALL, - FILTER_ALL = FILTER_RIDES | FILTER_RCT2 | FILTER_WW | FILTER_TT | FILTER_CUSTOM | FILTER_SELECTED | FILTER_NONSELECTED, + FILTER_RIDES = FILTER_RIDE_TRANSPORT | FILTER_RIDE_GENTLE | FILTER_RIDE_COASTER | FILTER_RIDE_THRILL | FILTER_RIDE_WATER | FILTER_RIDE_STALL, + FILTER_ALL = FILTER_RIDES | FILTER_RCT2 | FILTER_WW | FILTER_TT | FILTER_CUSTOM | FILTER_SELECTED | FILTER_NONSELECTED, } FILTER_FLAGS; uint32 _filter_flags; @@ -78,107 +78,107 @@ char _filter_string[41]; #define _FILTER_NONSELECTED (_filter_flags & FILTER_NONSELECTED) enum { - WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS, - WINDOW_OBJECT_SELECTION_PAGE_SMALL_SCENERY, - WINDOW_OBJECT_SELECTION_PAGE_LARGE_SCENERY, - WINDOW_OBJECT_SELECTION_PAGE_WALLS_FENCES, - WINDOW_OBJECT_SELECTION_PAGE_PATH_SIGNS, - WINDOW_OBJECT_SELECTION_PAGE_FOOTPATHS, - WINDOW_OBJECT_SELECTION_PAGE_PATH_EXTRAS, - WINDOW_OBJECT_SELECTION_PAGE_SCENERY_GROUPS, - WINDOW_OBJECT_SELECTION_PAGE_PARK_ENTRANCE, - WINDOW_OBJECT_SELECTION_PAGE_WATER, - WINDOW_OBJECT_SELECTION_PAGE_SCENARIO_DESCRIPTION, - WINDOW_OBJECT_SELECTION_PAGE_COUNT + WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS, + WINDOW_OBJECT_SELECTION_PAGE_SMALL_SCENERY, + WINDOW_OBJECT_SELECTION_PAGE_LARGE_SCENERY, + WINDOW_OBJECT_SELECTION_PAGE_WALLS_FENCES, + WINDOW_OBJECT_SELECTION_PAGE_PATH_SIGNS, + WINDOW_OBJECT_SELECTION_PAGE_FOOTPATHS, + WINDOW_OBJECT_SELECTION_PAGE_PATH_EXTRAS, + WINDOW_OBJECT_SELECTION_PAGE_SCENERY_GROUPS, + WINDOW_OBJECT_SELECTION_PAGE_PARK_ENTRANCE, + WINDOW_OBJECT_SELECTION_PAGE_WATER, + WINDOW_OBJECT_SELECTION_PAGE_SCENARIO_DESCRIPTION, + WINDOW_OBJECT_SELECTION_PAGE_COUNT }; static const rct_string_id ObjectSelectionPageNames[WINDOW_OBJECT_SELECTION_PAGE_COUNT] = { - STR_OBJECT_SELECTION_RIDE_VEHICLES_ATTRACTIONS, - STR_OBJECT_SELECTION_SMALL_SCENERY, - STR_OBJECT_SELECTION_LARGE_SCENERY, - STR_OBJECT_SELECTION_WALLS_FENCES, - STR_OBJECT_SELECTION_PATH_SIGNS, - STR_OBJECT_SELECTION_FOOTPATHS, - STR_OBJECT_SELECTION_PATH_EXTRAS, - STR_OBJECT_SELECTION_SCENERY_GROUPS, - STR_OBJECT_SELECTION_PARK_ENTRANCE, - STR_OBJECT_SELECTION_WATER, - STR_OBJECT_SELECTION_SCENARIO_DESCRIPTION, + STR_OBJECT_SELECTION_RIDE_VEHICLES_ATTRACTIONS, + STR_OBJECT_SELECTION_SMALL_SCENERY, + STR_OBJECT_SELECTION_LARGE_SCENERY, + STR_OBJECT_SELECTION_WALLS_FENCES, + STR_OBJECT_SELECTION_PATH_SIGNS, + STR_OBJECT_SELECTION_FOOTPATHS, + STR_OBJECT_SELECTION_PATH_EXTRAS, + STR_OBJECT_SELECTION_SCENERY_GROUPS, + STR_OBJECT_SELECTION_PARK_ENTRANCE, + STR_OBJECT_SELECTION_WATER, + STR_OBJECT_SELECTION_SCENARIO_DESCRIPTION, }; #pragma region Widgets enum WINDOW_STAFF_LIST_WIDGET_IDX { - WIDX_BACKGROUND, // 0, 1 - WIDX_TITLE, // 1, 2 - WIDX_CLOSE, // 2, 4 - WIDX_TAB_CONTENT_PANEL, // 3, 8 - WIDX_TAB_1, // 4, 10 - WIDX_TAB_2, // 5, 20 - WIDX_TAB_3, // 6, 40 - WIDX_TAB_4, // 7, 80 - WIDX_TAB_5, // 8, 100 - WIDX_TAB_6, // 9, 200 - WIDX_TAB_7, // 10, 400 - WIDX_TAB_8, // 11, 800 - WIDX_TAB_9, // 12, 1000 - WIDX_TAB_10, // 13, 2000 - WIDX_TAB_11, // 14, 4000 - WIDX_ADVANCED, // 15, 8000 - WIDX_LIST, // 16, 10000 - WIDX_PREVIEW, // 17, 20000 - WIDX_INSTALL_TRACK, // 18, 40000 - WIDX_FILTER_DROPDOWN, // 19, 80000 - WIDX_FILTER_STRING_BUTTON, // 20, 100000 - WIDX_FILTER_CLEAR_BUTTON, // 21, 200000 - WIDX_FILTER_RIDE_TAB_FRAME, - WIDX_FILTER_RIDE_TAB_ALL, - WIDX_FILTER_RIDE_TAB_TRANSPORT, - WIDX_FILTER_RIDE_TAB_GENTLE, - WIDX_FILTER_RIDE_TAB_COASTER, - WIDX_FILTER_RIDE_TAB_THRILL, - WIDX_FILTER_RIDE_TAB_WATER, - WIDX_FILTER_RIDE_TAB_STALL, - WIDX_LIST_SORT_TYPE, - WIDX_LIST_SORT_RIDE, + WIDX_BACKGROUND, // 0, 1 + WIDX_TITLE, // 1, 2 + WIDX_CLOSE, // 2, 4 + WIDX_TAB_CONTENT_PANEL, // 3, 8 + WIDX_TAB_1, // 4, 10 + WIDX_TAB_2, // 5, 20 + WIDX_TAB_3, // 6, 40 + WIDX_TAB_4, // 7, 80 + WIDX_TAB_5, // 8, 100 + WIDX_TAB_6, // 9, 200 + WIDX_TAB_7, // 10, 400 + WIDX_TAB_8, // 11, 800 + WIDX_TAB_9, // 12, 1000 + WIDX_TAB_10, // 13, 2000 + WIDX_TAB_11, // 14, 4000 + WIDX_ADVANCED, // 15, 8000 + WIDX_LIST, // 16, 10000 + WIDX_PREVIEW, // 17, 20000 + WIDX_INSTALL_TRACK, // 18, 40000 + WIDX_FILTER_DROPDOWN, // 19, 80000 + WIDX_FILTER_STRING_BUTTON, // 20, 100000 + WIDX_FILTER_CLEAR_BUTTON, // 21, 200000 + WIDX_FILTER_RIDE_TAB_FRAME, + WIDX_FILTER_RIDE_TAB_ALL, + WIDX_FILTER_RIDE_TAB_TRANSPORT, + WIDX_FILTER_RIDE_TAB_GENTLE, + WIDX_FILTER_RIDE_TAB_COASTER, + WIDX_FILTER_RIDE_TAB_THRILL, + WIDX_FILTER_RIDE_TAB_WATER, + WIDX_FILTER_RIDE_TAB_STALL, + WIDX_LIST_SORT_TYPE, + WIDX_LIST_SORT_RIDE, }; validate_global_widx(WC_EDITOR_OBJECT_SELECTION, WIDX_TAB_1); static rct_widget window_editor_object_selection_widgets[] = { - { WWT_FRAME, 0, 0, 599, 0, 399, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 598, 1, 14, STR_OBJECT_SELECTION, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 587, 597, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 599, 43, 399, 0xFFFFFFFF, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, - { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, - { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, - { WWT_TAB, 1, 189, 219, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, - { WWT_TAB, 1, 220, 250, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, - { WWT_TAB, 1, 251, 281, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, - { WWT_TAB, 1, 282, 312, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, - { WWT_TAB, 1, 313, 343, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, - { WWT_DROPDOWN_BUTTON, 0, 470, 591, 23, 34, STR_OBJECT_SELECTION_ADVANCED, STR_OBJECT_SELECTION_ADVANCED_TIP }, - { WWT_SCROLL, 1, 4, 291, 60, 386, SCROLL_VERTICAL, STR_NONE }, - { WWT_FLATBTN, 1, 391, 504, 46, 159, 0xFFFFFFFF, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 0, 470, 591, 23, 34, STR_INSTALL_NEW_TRACK_DESIGN, STR_INSTALL_NEW_TRACK_DESIGN_TIP }, - { WWT_DROPDOWN_BUTTON, 0, 350, 463, 23, 34, STR_OBJECT_FILTER, STR_OBJECT_FILTER_TIP }, - { WWT_TEXT_BOX, 1, 4, 214, 46, 57, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 218, 287, 46, 57, STR_OBJECT_SEARCH_CLEAR, STR_NONE }, - { WWT_IMGBTN, 1, 3, 287, 73, 76, 0xFFFFFFFF, STR_NONE }, - { WWT_TAB, 1, 3, 33, 47, 73, 0x20000000 | SPR_TAB, STR_OBJECT_FILTER_ALL_RIDES_TIP }, - { WWT_TAB, 1, 34, 64, 47, 73, 0x20000000 | SPR_TAB, STR_TRANSPORT_RIDES_TIP }, - { WWT_TAB, 1, 65, 95, 47, 73, 0x20000000 | SPR_TAB, STR_GENTLE_RIDES_TIP }, - { WWT_TAB, 1, 96, 126, 47, 73, 0x20000000 | SPR_TAB, STR_ROLLER_COASTERS_TIP }, - { WWT_TAB, 1, 127, 157, 47, 73, 0x20000000 | SPR_TAB, STR_THRILL_RIDES_TIP }, - { WWT_TAB, 1, 158, 188, 47, 73, 0x20000000 | SPR_TAB, STR_WATER_RIDES_TIP }, - { WWT_TAB, 1, 189, 219, 47, 73, 0x20000000 | SPR_TAB, STR_SHOPS_STALLS_TIP }, - { WWT_13, 1, 4, 204, 80, 93, STR_NONE, STR_NONE }, - { WWT_13, 1, 205, 291, 80, 93, STR_NONE, STR_NONE }, - { WIDGETS_END } + { WWT_FRAME, 0, 0, 599, 0, 399, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 598, 1, 14, STR_OBJECT_SELECTION, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 587, 597, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 599, 43, 399, 0xFFFFFFFF, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, + { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, + { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, + { WWT_TAB, 1, 189, 219, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, + { WWT_TAB, 1, 220, 250, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, + { WWT_TAB, 1, 251, 281, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, + { WWT_TAB, 1, 282, 312, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, + { WWT_TAB, 1, 313, 343, 17, 43, 0x20000000 | SPR_TAB, STR_STRING_DEFINED_TOOLTIP }, + { WWT_DROPDOWN_BUTTON, 0, 470, 591, 23, 34, STR_OBJECT_SELECTION_ADVANCED, STR_OBJECT_SELECTION_ADVANCED_TIP }, + { WWT_SCROLL, 1, 4, 291, 60, 386, SCROLL_VERTICAL, STR_NONE }, + { WWT_FLATBTN, 1, 391, 504, 46, 159, 0xFFFFFFFF, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 0, 470, 591, 23, 34, STR_INSTALL_NEW_TRACK_DESIGN, STR_INSTALL_NEW_TRACK_DESIGN_TIP }, + { WWT_DROPDOWN_BUTTON, 0, 350, 463, 23, 34, STR_OBJECT_FILTER, STR_OBJECT_FILTER_TIP }, + { WWT_TEXT_BOX, 1, 4, 214, 46, 57, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 218, 287, 46, 57, STR_OBJECT_SEARCH_CLEAR, STR_NONE }, + { WWT_IMGBTN, 1, 3, 287, 73, 76, 0xFFFFFFFF, STR_NONE }, + { WWT_TAB, 1, 3, 33, 47, 73, 0x20000000 | SPR_TAB, STR_OBJECT_FILTER_ALL_RIDES_TIP }, + { WWT_TAB, 1, 34, 64, 47, 73, 0x20000000 | SPR_TAB, STR_TRANSPORT_RIDES_TIP }, + { WWT_TAB, 1, 65, 95, 47, 73, 0x20000000 | SPR_TAB, STR_GENTLE_RIDES_TIP }, + { WWT_TAB, 1, 96, 126, 47, 73, 0x20000000 | SPR_TAB, STR_ROLLER_COASTERS_TIP }, + { WWT_TAB, 1, 127, 157, 47, 73, 0x20000000 | SPR_TAB, STR_THRILL_RIDES_TIP }, + { WWT_TAB, 1, 158, 188, 47, 73, 0x20000000 | SPR_TAB, STR_WATER_RIDES_TIP }, + { WWT_TAB, 1, 189, 219, 47, 73, 0x20000000 | SPR_TAB, STR_SHOPS_STALLS_TIP }, + { WWT_13, 1, 4, 204, 80, 93, STR_NONE, STR_NONE }, + { WWT_13, 1, 205, 291, 80, 93, STR_NONE, STR_NONE }, + { WIDGETS_END } }; #pragma endregion @@ -201,34 +201,34 @@ static void window_editor_object_selection_scrollpaint(rct_window *w, rct_drawpi static void window_editor_object_selection_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text); static rct_window_event_list window_editor_object_selection_events = { - window_editor_object_selection_close, - window_editor_object_selection_mouseup, - window_editor_object_selection_resize, - window_editor_object_selection_mousedown, - window_editor_object_selection_dropdown, - NULL, - window_editor_object_selection_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_editor_object_selection_scrollgetsize, - window_editor_object_selection_scroll_mousedown, - NULL, - window_editor_object_selection_scroll_mouseover, - window_editor_object_selection_textinput, - NULL, - NULL, - window_editor_object_selection_tooltip, - NULL, - NULL, - window_editor_object_selection_invalidate, - window_editor_object_selection_paint, - window_editor_object_selection_scrollpaint + window_editor_object_selection_close, + window_editor_object_selection_mouseup, + window_editor_object_selection_resize, + window_editor_object_selection_mousedown, + window_editor_object_selection_dropdown, + NULL, + window_editor_object_selection_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_editor_object_selection_scrollgetsize, + window_editor_object_selection_scroll_mousedown, + NULL, + window_editor_object_selection_scroll_mouseover, + window_editor_object_selection_textinput, + NULL, + NULL, + window_editor_object_selection_tooltip, + NULL, + NULL, + window_editor_object_selection_invalidate, + window_editor_object_selection_paint, + window_editor_object_selection_scrollpaint }; #pragma endregion @@ -255,68 +255,68 @@ static sint32 sub_6AB211(); /** rct2: 0x0098DA74 */ rct_object_entry RequiredSelectedObjects[] = { - // Objects that are always required - { 0x00000087, { "SCGTREES" }, 0 }, // Scenery: Trees - { 0x00000087, { "SCGSHRUB" }, 0 }, // Scenery: Shrubs and Ornaments - { 0x00000087, { "SCGGARDN" }, 0 }, // Scenery: Gardens - { 0x00000087, { "SCGFENCE" }, 0 }, // Scenery: Fences and Walls - { 0x00000087, { "SCGWALLS" }, 0 }, // Scenery: Walls and Roofs - { 0x00000087, { "SCGPATHX" }, 0 }, // Scenery: Signs and Items for Footpaths - { 0x00000085, { "TARMAC " }, 0 }, // Footpath: Tarmac + // Objects that are always required + { 0x00000087, { "SCGTREES" }, 0 }, // Scenery: Trees + { 0x00000087, { "SCGSHRUB" }, 0 }, // Scenery: Shrubs and Ornaments + { 0x00000087, { "SCGGARDN" }, 0 }, // Scenery: Gardens + { 0x00000087, { "SCGFENCE" }, 0 }, // Scenery: Fences and Walls + { 0x00000087, { "SCGWALLS" }, 0 }, // Scenery: Walls and Roofs + { 0x00000087, { "SCGPATHX" }, 0 }, // Scenery: Signs and Items for Footpaths + { 0x00000085, { "TARMAC " }, 0 }, // Footpath: Tarmac }; static rct_object_entry DefaultSelectedObjects[] = { - // An initial default selection - { 0x00000080, { "TWIST1 " }, 0 }, // Ride: Twist - { 0x00000080, { "PTCT1 " }, 0 }, // Ride: Wooden Roller Coaster (Wooden Roller Coaster Trains) - { 0x00000080, { "ZLDB " }, 0 }, // Ride: Junior Roller Coaster (Ladybird Trains) - { 0x00000080, { "LFB1 " }, 0 }, // Ride: Log Flume - { 0x00000080, { "VCR " }, 0 }, // Ride: Vintage Cars - { 0x00000080, { "MGR1 " }, 0 }, // Ride: Merry-Go-Round - { 0x00000080, { "TLT1 " }, 0 }, // Ride: Restroom - { 0x00000080, { "ATM1 " }, 0 }, // Ride: Cash Machine - { 0x00000080, { "FAID1 " }, 0 }, // Ride: First Aid Room - { 0x00000080, { "INFOK " }, 0 }, // Ride: Information Kiosk - { 0x00000080, { "DRNKS " }, 0 }, // Ride: Drinks Stall - { 0x00000080, { "CNDYF " }, 0 }, // Ride: Candyfloss Stall - { 0x00000080, { "BURGB " }, 0 }, // Ride: Burger Bar - { 0x00000080, { "BALLN " }, 0 }, // Ride: Balloon Stall - { 0x00000080, { "ARRT1 " }, 0 }, // Ride: Corkscrew Roller Coaster - { 0x00000080, { "RBOAT " }, 0 }, // Ride: Rowing Boats - { 0x00000088, { "PKENT1 " }, 0 }, // Park Entrance: Traditional Park Entrance - { 0x00000089, { "WTRCYAN " }, 0 }, // Water: Natural Water - { 0x00000085, { "TARMACB " }, 0 }, // Footpath: Brown Tarmac Footpath - { 0x00000085, { "PATHSPCE" }, 0 }, // Footpath: Space Style Footpath - { 0x00000085, { "PATHDIRT" }, 0 }, // Footpath: Dirt Footpath - { 0x00000085, { "PATHCRZY" }, 0 }, // Footpath: Crazy Paving Footpath - { 0x00000085, { "PATHASH " }, 0 }, // Footpath: Ash Footpath + // An initial default selection + { 0x00000080, { "TWIST1 " }, 0 }, // Ride: Twist + { 0x00000080, { "PTCT1 " }, 0 }, // Ride: Wooden Roller Coaster (Wooden Roller Coaster Trains) + { 0x00000080, { "ZLDB " }, 0 }, // Ride: Junior Roller Coaster (Ladybird Trains) + { 0x00000080, { "LFB1 " }, 0 }, // Ride: Log Flume + { 0x00000080, { "VCR " }, 0 }, // Ride: Vintage Cars + { 0x00000080, { "MGR1 " }, 0 }, // Ride: Merry-Go-Round + { 0x00000080, { "TLT1 " }, 0 }, // Ride: Restroom + { 0x00000080, { "ATM1 " }, 0 }, // Ride: Cash Machine + { 0x00000080, { "FAID1 " }, 0 }, // Ride: First Aid Room + { 0x00000080, { "INFOK " }, 0 }, // Ride: Information Kiosk + { 0x00000080, { "DRNKS " }, 0 }, // Ride: Drinks Stall + { 0x00000080, { "CNDYF " }, 0 }, // Ride: Candyfloss Stall + { 0x00000080, { "BURGB " }, 0 }, // Ride: Burger Bar + { 0x00000080, { "BALLN " }, 0 }, // Ride: Balloon Stall + { 0x00000080, { "ARRT1 " }, 0 }, // Ride: Corkscrew Roller Coaster + { 0x00000080, { "RBOAT " }, 0 }, // Ride: Rowing Boats + { 0x00000088, { "PKENT1 " }, 0 }, // Park Entrance: Traditional Park Entrance + { 0x00000089, { "WTRCYAN " }, 0 }, // Water: Natural Water + { 0x00000085, { "TARMACB " }, 0 }, // Footpath: Brown Tarmac Footpath + { 0x00000085, { "PATHSPCE" }, 0 }, // Footpath: Space Style Footpath + { 0x00000085, { "PATHDIRT" }, 0 }, // Footpath: Dirt Footpath + { 0x00000085, { "PATHCRZY" }, 0 }, // Footpath: Crazy Paving Footpath + { 0x00000085, { "PATHASH " }, 0 }, // Footpath: Ash Footpath - // The following are for all random map generation features to work out the box - { 0x00000087, { "SCGJUNGL" }, 0 }, // Jungle Theming - { 0x00000087, { "SCGSNOW " }, 0 }, // Snow and Ice Theming - { 0x00000087, { "SCGWATER" }, 0 } // Water Feature Theming + // The following are for all random map generation features to work out the box + { 0x00000087, { "SCGJUNGL" }, 0 }, // Jungle Theming + { 0x00000087, { "SCGSNOW " }, 0 }, // Snow and Ice Theming + { 0x00000087, { "SCGWATER" }, 0 } // Water Feature Theming }; enum { - RIDE_SORT_TYPE, - RIDE_SORT_RIDE + RIDE_SORT_TYPE, + RIDE_SORT_RIDE }; enum { - DDIX_FILTER_RCT2, - DDIX_FILTER_WW, - DDIX_FILTER_TT, - DDIX_FILTER_CUSTOM, - DDIX_FILTER_SEPERATOR, - DDIX_FILTER_SELECTED, - DDIX_FILTER_NONSELECTED, + DDIX_FILTER_RCT2, + DDIX_FILTER_WW, + DDIX_FILTER_TT, + DDIX_FILTER_CUSTOM, + DDIX_FILTER_SEPERATOR, + DDIX_FILTER_SELECTED, + DDIX_FILTER_NONSELECTED, }; typedef struct list_item { - const ObjectRepositoryItem * repositoryItem; - rct_object_entry *entry; - rct_object_filters *filter; - uint8 *flags; + const ObjectRepositoryItem * repositoryItem; + rct_object_entry *entry; + rct_object_filters *filter; + uint8 *flags; } list_item; static rct_string_id get_ride_type_string_id(const ObjectRepositoryItem * item); @@ -335,102 +335,102 @@ static bool _maxObjectsWasHit; static void visible_list_dispose() { - SafeFree(_listItems); - _numListItems = 0; + SafeFree(_listItems); + _numListItems = 0; } static sint32 visible_list_sort_ride_name(const void *rawA, const void *rawB) { - list_item *a = (list_item*)rawA; - list_item *b = (list_item*)rawB; + list_item *a = (list_item*)rawA; + list_item *b = (list_item*)rawB; - const char *nameA = a->repositoryItem->Name; - const char *nameB = b->repositoryItem->Name; - return strcmp(nameA, nameB); + const char *nameA = a->repositoryItem->Name; + const char *nameB = b->repositoryItem->Name; + return strcmp(nameA, nameB); } static sint32 visible_list_sort_ride_type(const void *rawA, const void *rawB) { - list_item *a = (list_item*)rawA; - list_item *b = (list_item*)rawB; + list_item *a = (list_item*)rawA; + list_item *b = (list_item*)rawB; - const char *rideTypeA = language_get_string(get_ride_type_string_id(a->repositoryItem)); - const char *rideTypeB = language_get_string(get_ride_type_string_id(b->repositoryItem)); - sint32 result = strcmp(rideTypeA, rideTypeB); - if (result != 0) - return result; + const char *rideTypeA = language_get_string(get_ride_type_string_id(a->repositoryItem)); + const char *rideTypeB = language_get_string(get_ride_type_string_id(b->repositoryItem)); + sint32 result = strcmp(rideTypeA, rideTypeB); + if (result != 0) + return result; - return visible_list_sort_ride_name(rawA, rawB); + return visible_list_sort_ride_name(rawA, rawB); } static void visible_list_refresh(rct_window *w) { - sint32 numObjects = (sint32)object_repository_get_items_count(); + sint32 numObjects = (sint32)object_repository_get_items_count(); - visible_list_dispose(); - w->selected_list_item = -1; - _listItems = malloc(numObjects * sizeof(list_item)); - _numListItems = 0; + visible_list_dispose(); + w->selected_list_item = -1; + _listItems = malloc(numObjects * sizeof(list_item)); + _numListItems = 0; - list_item *currentListItem = &_listItems[0]; - const ObjectRepositoryItem *items = object_repository_get_items(); - for (sint32 i = 0; i < numObjects; i++) { - uint8 selectionFlags = _objectSelectionFlags[i]; - const ObjectRepositoryItem * item = &items[i]; - uint8 objectType = item->ObjectEntry.flags & 0x0F; - if (objectType == w->selected_tab && !(selectionFlags & OBJECT_SELECTION_FLAG_6) && - filter_source(item) && - filter_string(item) && - filter_chunks(item) && - filter_selected(selectionFlags) - ) { - rct_object_filters * filter = calloc(1, sizeof(rct_object_filters)); - currentListItem->repositoryItem = item; - currentListItem->entry = (rct_object_entry *)&item->ObjectEntry; - currentListItem->filter = filter; - currentListItem->flags = &_objectSelectionFlags[i]; - currentListItem++; - _numListItems++; - } - } + list_item *currentListItem = &_listItems[0]; + const ObjectRepositoryItem *items = object_repository_get_items(); + for (sint32 i = 0; i < numObjects; i++) { + uint8 selectionFlags = _objectSelectionFlags[i]; + const ObjectRepositoryItem * item = &items[i]; + uint8 objectType = item->ObjectEntry.flags & 0x0F; + if (objectType == w->selected_tab && !(selectionFlags & OBJECT_SELECTION_FLAG_6) && + filter_source(item) && + filter_string(item) && + filter_chunks(item) && + filter_selected(selectionFlags) + ) { + rct_object_filters * filter = calloc(1, sizeof(rct_object_filters)); + currentListItem->repositoryItem = item; + currentListItem->entry = (rct_object_entry *)&item->ObjectEntry; + currentListItem->filter = filter; + currentListItem->flags = &_objectSelectionFlags[i]; + currentListItem++; + _numListItems++; + } + } - if (_numListItems == 0) - { - visible_list_dispose(); - window_invalidate(w); - return; - } + if (_numListItems == 0) + { + visible_list_dispose(); + window_invalidate(w); + return; + } - _listItems = realloc(_listItems, _numListItems * sizeof(list_item)); - if (_listItems == NULL) { - _numListItems = 0; - log_error("Unable to reallocate list items"); - } else { - sortFunc_t sortFunc = NULL; - switch (_listSortType) { - case RIDE_SORT_TYPE: - sortFunc = visible_list_sort_ride_type; - break; - case RIDE_SORT_RIDE: - sortFunc = visible_list_sort_ride_name; - break; - default: - log_warning("Wrong sort type %d, leaving list as-is.", _listSortType); - window_invalidate(w); - return; - } - qsort(_listItems, _numListItems, sizeof(list_item), sortFunc); + _listItems = realloc(_listItems, _numListItems * sizeof(list_item)); + if (_listItems == NULL) { + _numListItems = 0; + log_error("Unable to reallocate list items"); + } else { + sortFunc_t sortFunc = NULL; + switch (_listSortType) { + case RIDE_SORT_TYPE: + sortFunc = visible_list_sort_ride_type; + break; + case RIDE_SORT_RIDE: + sortFunc = visible_list_sort_ride_name; + break; + default: + log_warning("Wrong sort type %d, leaving list as-is.", _listSortType); + window_invalidate(w); + return; + } + qsort(_listItems, _numListItems, sizeof(list_item), sortFunc); - if (_listSortDescending) { - for (sint32 i = 0; i < _numListItems / 2; i++) { - sint32 ri = _numListItems - i - 1; - list_item temp = _listItems[i]; - _listItems[i] = _listItems[ri]; - _listItems[ri] = temp; - } - } - } - window_invalidate(w); + if (_listSortDescending) { + for (sint32 i = 0; i < _numListItems / 2; i++) { + sint32 ri = _numListItems - i - 1; + list_item temp = _listItems[i]; + _listItems[i] = _listItems[ri]; + _listItems[ri] = temp; + } + } + } + window_invalidate(w); } /** @@ -439,53 +439,53 @@ static void visible_list_refresh(rct_window *w) */ void window_editor_object_selection_open() { - rct_window* window; + rct_window* window; - window = window_bring_to_front_by_class(WC_EDITOR_OBJECT_SELECTION); - if (window != NULL) - return; + window = window_bring_to_front_by_class(WC_EDITOR_OBJECT_SELECTION); + if (window != NULL) + return; - if (!sub_6AB211()) - return; - reset_selected_object_count_and_size(); + if (!sub_6AB211()) + return; + reset_selected_object_count_and_size(); - window = window_create_centred( - 600, - 400, - &window_editor_object_selection_events, - WC_EDITOR_OBJECT_SELECTION, - WF_10 | WF_RESIZABLE - ); - window_editor_object_selection_widgets[WIDX_FILTER_STRING_BUTTON].string = _filter_string; - window->widgets = window_editor_object_selection_widgets; + window = window_create_centred( + 600, + 400, + &window_editor_object_selection_events, + WC_EDITOR_OBJECT_SELECTION, + WF_10 | WF_RESIZABLE + ); + window_editor_object_selection_widgets[WIDX_FILTER_STRING_BUTTON].string = _filter_string; + window->widgets = window_editor_object_selection_widgets; - window->enabled_widgets = - (1 << WIDX_ADVANCED) | - (1 << WIDX_INSTALL_TRACK) | - (1 << WIDX_FILTER_DROPDOWN) | - (1 << WIDX_FILTER_STRING_BUTTON) | - (1 << WIDX_FILTER_CLEAR_BUTTON) | - (1 << WIDX_CLOSE) | - (1 << WIDX_LIST_SORT_TYPE) | - (((uint32)1) << WIDX_LIST_SORT_RIDE); + window->enabled_widgets = + (1 << WIDX_ADVANCED) | + (1 << WIDX_INSTALL_TRACK) | + (1 << WIDX_FILTER_DROPDOWN) | + (1 << WIDX_FILTER_STRING_BUTTON) | + (1 << WIDX_FILTER_CLEAR_BUTTON) | + (1 << WIDX_CLOSE) | + (1 << WIDX_LIST_SORT_TYPE) | + (((uint32)1) << WIDX_LIST_SORT_RIDE); - _filter_flags = gConfigInterface.object_selection_filter_flags; - memset(_filter_string, 0, sizeof(_filter_string)); + _filter_flags = gConfigInterface.object_selection_filter_flags; + memset(_filter_string, 0, sizeof(_filter_string)); - for (sint32 i = WIDX_TAB_1; i <= WIDX_TAB_11; i++) - window->enabled_widgets |= (1LL << i); - window_init_scroll_widgets(window); + for (sint32 i = WIDX_TAB_1; i <= WIDX_TAB_11; i++) + window->enabled_widgets |= (1LL << i); + window_init_scroll_widgets(window); - window->var_4AE = 0; - window->selected_tab = 0; - window->selected_list_item = -1; - window->object_entry = (rct_object_entry *)-1; - window->min_width = 600; - window->min_height = 400; - window->max_width = 1200; - window->max_height = 1000; + window->var_4AE = 0; + window->selected_tab = 0; + window->selected_list_item = -1; + window->object_entry = (rct_object_entry *)-1; + window->min_width = 600; + window->min_height = 400; + window->max_width = 1200; + window->max_height = 1000; - visible_list_refresh(window); + visible_list_refresh(window); } /** @@ -494,24 +494,24 @@ void window_editor_object_selection_open() */ static void setup_track_manager_objects() { - sint32 numObjects = (sint32)object_repository_get_items_count(); - const ObjectRepositoryItem * items = object_repository_get_items(); - for (sint32 i = 0; i < numObjects; i++) { - uint8 * selectionFlags = &_objectSelectionFlags[i]; - const ObjectRepositoryItem * item = &items[i]; - uint8 object_type = item->ObjectEntry.flags & 0xF; - if (object_type == OBJECT_TYPE_RIDE) { - *selectionFlags |= OBJECT_SELECTION_FLAG_6; + sint32 numObjects = (sint32)object_repository_get_items_count(); + const ObjectRepositoryItem * items = object_repository_get_items(); + for (sint32 i = 0; i < numObjects; i++) { + uint8 * selectionFlags = &_objectSelectionFlags[i]; + const ObjectRepositoryItem * item = &items[i]; + uint8 object_type = item->ObjectEntry.flags & 0xF; + if (object_type == OBJECT_TYPE_RIDE) { + *selectionFlags |= OBJECT_SELECTION_FLAG_6; - for (uint8 j = 0; j < 3; j++) { - uint8 rideType = item->RideType[j]; - if (rideType != 0xFF && ride_type_has_flag(rideType, RIDE_TYPE_FLAG_HAS_TRACK)) { - *selectionFlags &= ~OBJECT_SELECTION_FLAG_6; - break; - } - } - } - } + for (uint8 j = 0; j < 3; j++) { + uint8 rideType = item->RideType[j]; + if (rideType != 0xFF && ride_type_has_flag(rideType, RIDE_TYPE_FLAG_HAS_TRACK)) { + *selectionFlags &= ~OBJECT_SELECTION_FLAG_6; + break; + } + } + } + } } /** @@ -520,26 +520,26 @@ static void setup_track_manager_objects() */ static void setup_track_designer_objects() { - sint32 numObjects = (sint32)object_repository_get_items_count(); - const ObjectRepositoryItem * items = object_repository_get_items(); - for (sint32 i = 0; i < numObjects; i++) { - uint8 * selectionFlags = &_objectSelectionFlags[i]; - const ObjectRepositoryItem * item = &items[i]; - uint8 objectType = item->ObjectEntry.flags & 0xF; - if (objectType == OBJECT_TYPE_RIDE){ - *selectionFlags |= OBJECT_SELECTION_FLAG_6; + sint32 numObjects = (sint32)object_repository_get_items_count(); + const ObjectRepositoryItem * items = object_repository_get_items(); + for (sint32 i = 0; i < numObjects; i++) { + uint8 * selectionFlags = &_objectSelectionFlags[i]; + const ObjectRepositoryItem * item = &items[i]; + uint8 objectType = item->ObjectEntry.flags & 0xF; + if (objectType == OBJECT_TYPE_RIDE){ + *selectionFlags |= OBJECT_SELECTION_FLAG_6; - for (uint8 j = 0; j < 3; j++) { - uint8 rideType = item->RideType[j]; - if (rideType != 0xFF) { - if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER) { - *selectionFlags &= ~OBJECT_SELECTION_FLAG_6; - break; - } - } - } - } - } + for (uint8 j = 0; j < 3; j++) { + uint8 rideType = item->RideType[j]; + if (rideType != 0xFF) { + if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER) { + *selectionFlags &= ~OBJECT_SELECTION_FLAG_6; + break; + } + } + } + } + } } /** @@ -548,103 +548,103 @@ static void setup_track_designer_objects() */ static void setup_in_use_selection_flags() { - for (uint8 object_type = 0; object_type < 11; object_type++){ - for (uint16 i = 0; i < object_entry_group_counts[object_type]; i++){ - gEditorSelectedObjects[object_type][i] = 0; - } - } + for (uint8 object_type = 0; object_type < 11; object_type++){ + for (uint16 i = 0; i < object_entry_group_counts[object_type]; i++){ + gEditorSelectedObjects[object_type][i] = 0; + } + } - for (uint8 object_type = 0; object_type < 11; object_type++){ - for (uint16 i = 0; i < object_entry_group_counts[object_type]; i++){ - if (object_entry_groups[object_type].chunks[i] != (uint8*)-1) { - gEditorSelectedObjects[object_type][i] |= (1 << 1); - } - } - } + for (uint8 object_type = 0; object_type < 11; object_type++){ + for (uint16 i = 0; i < object_entry_group_counts[object_type]; i++){ + if (object_entry_groups[object_type].chunks[i] != (uint8*)-1) { + gEditorSelectedObjects[object_type][i] |= (1 << 1); + } + } + } - map_element_iterator iter; - map_element_iterator_begin(&iter); - do { - uint16 type; - rct_banner* banner; + map_element_iterator iter; + map_element_iterator_begin(&iter); + do { + uint16 type; + rct_banner* banner; - switch (map_element_get_type(iter.element)) { - default: - case MAP_ELEMENT_TYPE_SURFACE: - case MAP_ELEMENT_TYPE_TRACK: - break; - case MAP_ELEMENT_TYPE_PATH: - type = iter.element->properties.path.type; - type >>= 4; - assert(type < object_entry_group_counts[OBJECT_TYPE_PATHS]); - gEditorSelectedObjects[OBJECT_TYPE_PATHS][type] |= (1 << 0); + switch (map_element_get_type(iter.element)) { + default: + case MAP_ELEMENT_TYPE_SURFACE: + case MAP_ELEMENT_TYPE_TRACK: + break; + case MAP_ELEMENT_TYPE_PATH: + type = iter.element->properties.path.type; + type >>= 4; + assert(type < object_entry_group_counts[OBJECT_TYPE_PATHS]); + gEditorSelectedObjects[OBJECT_TYPE_PATHS][type] |= (1 << 0); - if (footpath_element_has_path_scenery(iter.element)) { - uint8 path_additions = footpath_element_get_path_scenery_index(iter.element); - gEditorSelectedObjects[OBJECT_TYPE_PATH_BITS][path_additions] |= 1; - } - break; - case MAP_ELEMENT_TYPE_SCENERY: - type = iter.element->properties.scenery.type; - assert(type < object_entry_group_counts[OBJECT_TYPE_SMALL_SCENERY]); - gEditorSelectedObjects[OBJECT_TYPE_SMALL_SCENERY][type] |= (1 << 0); - break; - case MAP_ELEMENT_TYPE_ENTRANCE: - if (iter.element->properties.entrance.type != ENTRANCE_TYPE_PARK_ENTRANCE) - break; + if (footpath_element_has_path_scenery(iter.element)) { + uint8 path_additions = footpath_element_get_path_scenery_index(iter.element); + gEditorSelectedObjects[OBJECT_TYPE_PATH_BITS][path_additions] |= 1; + } + break; + case MAP_ELEMENT_TYPE_SCENERY: + type = iter.element->properties.scenery.type; + assert(type < object_entry_group_counts[OBJECT_TYPE_SMALL_SCENERY]); + gEditorSelectedObjects[OBJECT_TYPE_SMALL_SCENERY][type] |= (1 << 0); + break; + case MAP_ELEMENT_TYPE_ENTRANCE: + if (iter.element->properties.entrance.type != ENTRANCE_TYPE_PARK_ENTRANCE) + break; - gEditorSelectedObjects[OBJECT_TYPE_PARK_ENTRANCE][0] |= (1 << 0); + gEditorSelectedObjects[OBJECT_TYPE_PARK_ENTRANCE][0] |= (1 << 0); - type = iter.element->properties.entrance.path_type; - assert(type < object_entry_group_counts[OBJECT_TYPE_PATHS]); - gEditorSelectedObjects[OBJECT_TYPE_PATHS][type] |= (1 << 0); - break; - case MAP_ELEMENT_TYPE_WALL: - type = iter.element->properties.wall.type; - assert(type < object_entry_group_counts[OBJECT_TYPE_WALLS]); - gEditorSelectedObjects[OBJECT_TYPE_WALLS][type] |= (1 << 0); - break; - case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - type = iter.element->properties.scenerymultiple.type & 0x3FF; - assert(type < object_entry_group_counts[OBJECT_TYPE_LARGE_SCENERY]); - gEditorSelectedObjects[OBJECT_TYPE_LARGE_SCENERY][type] |= (1 << 0); - break; - case MAP_ELEMENT_TYPE_BANNER: - banner = &gBanners[iter.element->properties.banner.index]; - type = banner->type; - assert(type < object_entry_group_counts[OBJECT_TYPE_BANNERS]); - gEditorSelectedObjects[OBJECT_TYPE_BANNERS][type] |= (1 << 0); - break; - } - } while (map_element_iterator_next(&iter)); + type = iter.element->properties.entrance.path_type; + assert(type < object_entry_group_counts[OBJECT_TYPE_PATHS]); + gEditorSelectedObjects[OBJECT_TYPE_PATHS][type] |= (1 << 0); + break; + case MAP_ELEMENT_TYPE_WALL: + type = iter.element->properties.wall.type; + assert(type < object_entry_group_counts[OBJECT_TYPE_WALLS]); + gEditorSelectedObjects[OBJECT_TYPE_WALLS][type] |= (1 << 0); + break; + case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: + type = iter.element->properties.scenerymultiple.type & 0x3FF; + assert(type < object_entry_group_counts[OBJECT_TYPE_LARGE_SCENERY]); + gEditorSelectedObjects[OBJECT_TYPE_LARGE_SCENERY][type] |= (1 << 0); + break; + case MAP_ELEMENT_TYPE_BANNER: + banner = &gBanners[iter.element->properties.banner.index]; + type = banner->type; + assert(type < object_entry_group_counts[OBJECT_TYPE_BANNERS]); + gEditorSelectedObjects[OBJECT_TYPE_BANNERS][type] |= (1 << 0); + break; + } + } while (map_element_iterator_next(&iter)); - for (uint8 ride_index = 0; ride_index < 0xFF; ride_index++) { - rct_ride* ride = get_ride(ride_index); - if (ride->type != RIDE_TYPE_NULL) { - uint8 type = ride->subtype; - gEditorSelectedObjects[OBJECT_TYPE_RIDE][type] |= (1 << 0); - } - } + for (uint8 ride_index = 0; ride_index < 0xFF; ride_index++) { + rct_ride* ride = get_ride(ride_index); + if (ride->type != RIDE_TYPE_NULL) { + uint8 type = ride->subtype; + gEditorSelectedObjects[OBJECT_TYPE_RIDE][type] |= (1 << 0); + } + } - sint32 numObjects = (sint32)object_repository_get_items_count(); - const ObjectRepositoryItem * items = object_repository_get_items(); - for (sint32 i = 0; i < numObjects; i++) { - uint8 *selectionFlags = &_objectSelectionFlags[i]; - const ObjectRepositoryItem * item = &items[i]; - *selectionFlags &= ~OBJECT_SELECTION_FLAG_IN_USE; + sint32 numObjects = (sint32)object_repository_get_items_count(); + const ObjectRepositoryItem * items = object_repository_get_items(); + for (sint32 i = 0; i < numObjects; i++) { + uint8 *selectionFlags = &_objectSelectionFlags[i]; + const ObjectRepositoryItem * item = &items[i]; + *selectionFlags &= ~OBJECT_SELECTION_FLAG_IN_USE; - uint8 entryType, entryIndex; - if (find_object_in_entry_group(&item->ObjectEntry, &entryType, &entryIndex)) { - if (gEditorSelectedObjects[entryType][entryIndex] & (1 << 0)) { - *selectionFlags |= - OBJECT_SELECTION_FLAG_IN_USE | - OBJECT_SELECTION_FLAG_SELECTED; - } - if (gEditorSelectedObjects[entryType][entryIndex] & (1 << 1)) { - *selectionFlags |= OBJECT_SELECTION_FLAG_SELECTED; - } - } - } + uint8 entryType, entryIndex; + if (find_object_in_entry_group(&item->ObjectEntry, &entryType, &entryIndex)) { + if (gEditorSelectedObjects[entryType][entryIndex] & (1 << 0)) { + *selectionFlags |= + OBJECT_SELECTION_FLAG_IN_USE | + OBJECT_SELECTION_FLAG_SELECTED; + } + if (gEditorSelectedObjects[entryType][entryIndex] & (1 << 1)) { + *selectionFlags |= OBJECT_SELECTION_FLAG_SELECTED; + } + } + } } /** @@ -653,46 +653,46 @@ static void setup_in_use_selection_flags() */ static sint32 sub_6AB211() { - sint32 numObjects = (sint32)object_repository_get_items_count(); - _objectSelectionFlags = (uint8*)calloc(numObjects, sizeof(uint8)); - if (_objectSelectionFlags == NULL){ - log_error("Failed to allocate memory for object flag list."); - return 0; - } + sint32 numObjects = (sint32)object_repository_get_items_count(); + _objectSelectionFlags = (uint8*)calloc(numObjects, sizeof(uint8)); + if (_objectSelectionFlags == NULL){ + log_error("Failed to allocate memory for object flag list."); + return 0; + } - for (uint8 objectType = 0; objectType < 11; objectType++) { - _numSelectedObjectsForType[objectType] = 0; - _numAvailableObjectsForType[objectType] = 0; - } + for (uint8 objectType = 0; objectType < 11; objectType++) { + _numSelectedObjectsForType[objectType] = 0; + _numAvailableObjectsForType[objectType] = 0; + } - const ObjectRepositoryItem * items = object_repository_get_items(); - for (sint32 i = 0; i < numObjects; i++) { - uint8 objectType = items[i].ObjectEntry.flags & 0xF; - _numAvailableObjectsForType[objectType]++; - } + const ObjectRepositoryItem * items = object_repository_get_items(); + for (sint32 i = 0; i < numObjects; i++) { + uint8 objectType = items[i].ObjectEntry.flags & 0xF; + _numAvailableObjectsForType[objectType]++; + } - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { - setup_track_designer_objects(); - } + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { + setup_track_designer_objects(); + } - if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - setup_track_manager_objects(); - } + if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { + setup_track_manager_objects(); + } - setup_in_use_selection_flags(); - reset_selected_object_count_and_size(); + setup_in_use_selection_flags(); + reset_selected_object_count_and_size(); - if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { - window_editor_object_selection_select_required_objects(); + if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))) { + window_editor_object_selection_select_required_objects(); - // To prevent it breaking in scenario mode. - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - window_editor_object_selection_select_default_objects(); - } - } + // To prevent it breaking in scenario mode. + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { + window_editor_object_selection_select_default_objects(); + } + } - reset_selected_object_count_and_size(); - return 1; + reset_selected_object_count_and_size(); + return 1; } /** @@ -701,7 +701,7 @@ static sint32 sub_6AB211() */ static void editor_object_flags_free() { - SafeFree(_objectSelectionFlags); + SafeFree(_objectSelectionFlags); } /** @@ -709,20 +709,20 @@ static void editor_object_flags_free() * rct2: 0x00685791 */ static void remove_selected_objects_from_research(const rct_object_entry* installedObject){ - uint8 entry_type, entry_index; - if (!find_object_in_entry_group(installedObject, &entry_type, &entry_index)) - return; + uint8 entry_type, entry_index; + if (!find_object_in_entry_group(installedObject, &entry_type, &entry_index)) + return; - if (entry_type == OBJECT_TYPE_RIDE){ - rct_ride_entry* rideEntry = (rct_ride_entry*)object_entry_groups[entry_type].chunks[entry_index]; + if (entry_type == OBJECT_TYPE_RIDE){ + rct_ride_entry* rideEntry = (rct_ride_entry*)object_entry_groups[entry_type].chunks[entry_index]; - for (uint8 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { - research_remove(entry_index | rideEntry->ride_type[j] << 8 | 0x10000); - } - } - else if (entry_type == OBJECT_TYPE_SCENERY_SETS){ - research_remove(entry_index); - } + for (uint8 j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { + research_remove(entry_index | rideEntry->ride_type[j] << 8 | 0x10000); + } + } + else if (entry_type == OBJECT_TYPE_SCENERY_SETS){ + research_remove(entry_index); + } } /** @@ -731,23 +731,23 @@ static void remove_selected_objects_from_research(const rct_object_entry* instal */ static void unload_unselected_objects() { - sint32 numItems = (sint32)object_repository_get_items_count(); - const ObjectRepositoryItem * items = object_repository_get_items(); + sint32 numItems = (sint32)object_repository_get_items_count(); + const ObjectRepositoryItem * items = object_repository_get_items(); - size_t numObjectsToUnload = 0; - rct_object_entry * objectsToUnload = (rct_object_entry *)malloc(numItems * sizeof(rct_object_entry)); + size_t numObjectsToUnload = 0; + rct_object_entry * objectsToUnload = (rct_object_entry *)malloc(numItems * sizeof(rct_object_entry)); - for (sint32 i = 0; i < numItems; i++) { - if (!(_objectSelectionFlags[i] & OBJECT_SELECTION_FLAG_SELECTED)) { - const rct_object_entry * entry = &items[i].ObjectEntry; + for (sint32 i = 0; i < numItems; i++) { + if (!(_objectSelectionFlags[i] & OBJECT_SELECTION_FLAG_SELECTED)) { + const rct_object_entry * entry = &items[i].ObjectEntry; - remove_selected_objects_from_research(entry); - objectsToUnload[numObjectsToUnload++] = *entry; - } - } + remove_selected_objects_from_research(entry); + objectsToUnload[numObjectsToUnload++] = *entry; + } + } - object_manager_unload_objects(objectsToUnload, numObjectsToUnload); - free(objectsToUnload); + object_manager_unload_objects(objectsToUnload, numObjectsToUnload); + free(objectsToUnload); } /** @@ -756,30 +756,30 @@ static void unload_unselected_objects() */ static void window_editor_object_selection_close(rct_window *w) { - //if (!(gScreenFlags & SCREEN_FLAGS_EDITOR)) - // return; + //if (!(gScreenFlags & SCREEN_FLAGS_EDITOR)) + // return; - unload_unselected_objects(); - editor_load_selected_objects(); - editor_object_flags_free(); + unload_unselected_objects(); + editor_load_selected_objects(); + editor_object_flags_free(); - object_delete(_loadedObject); - _loadedObject = NULL; + object_delete(_loadedObject); + _loadedObject = NULL; - if (gScreenFlags & SCREEN_FLAGS_EDITOR) { - research_populate_list_random(); - } - else { - // Used for in-game object selection cheat - // This resets the ride selection list and resets research to 0 on current item - gSilentResearch = true; - research_reset_current_item(); - gSilentResearch = false; - } - research_remove_non_separate_vehicle_types(); - window_new_ride_init_vars(); + if (gScreenFlags & SCREEN_FLAGS_EDITOR) { + research_populate_list_random(); + } + else { + // Used for in-game object selection cheat + // This resets the ride selection list and resets research to 0 on current item + gSilentResearch = true; + research_reset_current_item(); + gSilentResearch = false; + } + research_remove_non_separate_vehicle_types(); + window_new_ride_init_vars(); - visible_list_dispose(); + visible_list_dispose(); } /** @@ -788,190 +788,190 @@ static void window_editor_object_selection_close(rct_window *w) */ static void window_editor_object_selection_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - if (gScreenFlags & SCREEN_FLAGS_EDITOR) { - game_do_command(0, 1, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 1, 0); - } - else { - // Used for in-game object selection cheat - window_close(w); - } - break; + switch (widgetIndex) { + case WIDX_CLOSE: + if (gScreenFlags & SCREEN_FLAGS_EDITOR) { + game_do_command(0, 1, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 1, 0); + } + else { + // Used for in-game object selection cheat + window_close(w); + } + break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - case WIDX_TAB_8: - case WIDX_TAB_9: - case WIDX_TAB_10: - case WIDX_TAB_11: - window_editor_object_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_FILTER_RIDE_TAB_ALL: - _filter_flags |= FILTER_RIDES; - gConfigInterface.object_selection_filter_flags = _filter_flags; - config_save_default(); + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + case WIDX_TAB_8: + case WIDX_TAB_9: + case WIDX_TAB_10: + case WIDX_TAB_11: + window_editor_object_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_FILTER_RIDE_TAB_ALL: + _filter_flags |= FILTER_RIDES; + gConfigInterface.object_selection_filter_flags = _filter_flags; + config_save_default(); - filter_update_counts(); - visible_list_refresh(w); + filter_update_counts(); + visible_list_refresh(w); - w->selected_list_item = -1; - w->object_entry = (rct_object_entry *)-1; - w->scrolls[0].v_top = 0; - window_invalidate(w); - break; - case WIDX_FILTER_RIDE_TAB_TRANSPORT: - case WIDX_FILTER_RIDE_TAB_GENTLE: - case WIDX_FILTER_RIDE_TAB_COASTER: - case WIDX_FILTER_RIDE_TAB_THRILL: - case WIDX_FILTER_RIDE_TAB_WATER: - case WIDX_FILTER_RIDE_TAB_STALL: - _filter_flags &= ~FILTER_RIDES; - _filter_flags |= (1 << (widgetIndex - WIDX_FILTER_RIDE_TAB_TRANSPORT + 5)); - gConfigInterface.object_selection_filter_flags = _filter_flags; - config_save_default(); + w->selected_list_item = -1; + w->object_entry = (rct_object_entry *)-1; + w->scrolls[0].v_top = 0; + window_invalidate(w); + break; + case WIDX_FILTER_RIDE_TAB_TRANSPORT: + case WIDX_FILTER_RIDE_TAB_GENTLE: + case WIDX_FILTER_RIDE_TAB_COASTER: + case WIDX_FILTER_RIDE_TAB_THRILL: + case WIDX_FILTER_RIDE_TAB_WATER: + case WIDX_FILTER_RIDE_TAB_STALL: + _filter_flags &= ~FILTER_RIDES; + _filter_flags |= (1 << (widgetIndex - WIDX_FILTER_RIDE_TAB_TRANSPORT + 5)); + gConfigInterface.object_selection_filter_flags = _filter_flags; + config_save_default(); - filter_update_counts(); - visible_list_refresh(w); + filter_update_counts(); + visible_list_refresh(w); - w->selected_list_item = -1; - w->object_entry = (rct_object_entry *)-1; - w->scrolls[0].v_top = 0; - w->frame_no = 0; - window_invalidate(w); - break; + w->selected_list_item = -1; + w->object_entry = (rct_object_entry *)-1; + w->scrolls[0].v_top = 0; + w->frame_no = 0; + window_invalidate(w); + break; - case WIDX_ADVANCED: - w->list_information_type ^= 1; - window_invalidate(w); - break; + case WIDX_ADVANCED: + w->list_information_type ^= 1; + window_invalidate(w); + break; - case WIDX_INSTALL_TRACK: - if (w->selected_list_item != -1) { - w->selected_list_item = -1; - } - window_invalidate(w); + case WIDX_INSTALL_TRACK: + if (w->selected_list_item != -1) { + w->selected_list_item = -1; + } + window_invalidate(w); - window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_TRACK, NULL); - break; - case WIDX_FILTER_STRING_BUTTON: - //window_text_input_open(w, widgetIndex, STR_OBJECT_SEARCH, STR_OBJECT_SEARCH_DESC, STR_STRING, (uint32)_filter_string, 40); - window_start_textbox(w, widgetIndex, STR_STRING, _filter_string, 40); - break; - case WIDX_FILTER_CLEAR_BUTTON: - memset(_filter_string, 0, sizeof(_filter_string)); - filter_update_counts(); - w->scrolls->v_top = 0; - visible_list_refresh(w); - window_invalidate(w); - break; - case WIDX_LIST_SORT_TYPE: - if (_listSortType == RIDE_SORT_TYPE) { - _listSortDescending = !_listSortDescending; - } else { - _listSortType = RIDE_SORT_TYPE; - _listSortDescending = false; - } - visible_list_refresh(w); - break; - case WIDX_LIST_SORT_RIDE: - if (_listSortType == RIDE_SORT_RIDE) { - _listSortDescending = !_listSortDescending; - } else { - _listSortType = RIDE_SORT_RIDE; - _listSortDescending = false; - } - visible_list_refresh(w); - break; - } + window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_TRACK, NULL); + break; + case WIDX_FILTER_STRING_BUTTON: + //window_text_input_open(w, widgetIndex, STR_OBJECT_SEARCH, STR_OBJECT_SEARCH_DESC, STR_STRING, (uint32)_filter_string, 40); + window_start_textbox(w, widgetIndex, STR_STRING, _filter_string, 40); + break; + case WIDX_FILTER_CLEAR_BUTTON: + memset(_filter_string, 0, sizeof(_filter_string)); + filter_update_counts(); + w->scrolls->v_top = 0; + visible_list_refresh(w); + window_invalidate(w); + break; + case WIDX_LIST_SORT_TYPE: + if (_listSortType == RIDE_SORT_TYPE) { + _listSortDescending = !_listSortDescending; + } else { + _listSortType = RIDE_SORT_TYPE; + _listSortDescending = false; + } + visible_list_refresh(w); + break; + case WIDX_LIST_SORT_RIDE: + if (_listSortType == RIDE_SORT_RIDE) { + _listSortDescending = !_listSortDescending; + } else { + _listSortType = RIDE_SORT_RIDE; + _listSortDescending = false; + } + visible_list_refresh(w); + break; + } } static void window_editor_object_selection_resize(rct_window *w) { - window_set_resize(w, 600, 400, 1200, 1000); + window_set_resize(w, 600, 400, 1200, 1000); } void window_editor_object_selection_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - sint32 num_items; + sint32 num_items; - //widget = &w->widgets[widgetIndex - 1]; + //widget = &w->widgets[widgetIndex - 1]; - switch (widgetIndex) { - case WIDX_FILTER_DROPDOWN: + switch (widgetIndex) { + case WIDX_FILTER_DROPDOWN: - num_items = 4; - gDropdownItemsFormat[DDIX_FILTER_RCT2] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[DDIX_FILTER_WW] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[DDIX_FILTER_TT] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[DDIX_FILTER_CUSTOM] = STR_TOGGLE_OPTION; - gDropdownItemsArgs[DDIX_FILTER_RCT2] = STR_ROLLERCOASTER_TYCOON_2_DROPDOWN; - gDropdownItemsArgs[DDIX_FILTER_WW] = STR_OBJECT_FILTER_WW; - gDropdownItemsArgs[DDIX_FILTER_TT] = STR_OBJECT_FILTER_TT; - gDropdownItemsArgs[DDIX_FILTER_CUSTOM] = STR_OBJECT_FILTER_CUSTOM; - // Track manager cannot select multiple, so only show selection filters if not in track manager - if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { - num_items = 7; - gDropdownItemsFormat[DDIX_FILTER_SEPERATOR] = 0; - gDropdownItemsFormat[DDIX_FILTER_SELECTED] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[DDIX_FILTER_NONSELECTED] = STR_TOGGLE_OPTION; - gDropdownItemsArgs[DDIX_FILTER_SEPERATOR] = STR_NONE; - gDropdownItemsArgs[DDIX_FILTER_SELECTED] = STR_SELECTED_ONLY; - gDropdownItemsArgs[DDIX_FILTER_NONSELECTED] = STR_NON_SELECTED_ONLY; - } + num_items = 4; + gDropdownItemsFormat[DDIX_FILTER_RCT2] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[DDIX_FILTER_WW] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[DDIX_FILTER_TT] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[DDIX_FILTER_CUSTOM] = STR_TOGGLE_OPTION; + gDropdownItemsArgs[DDIX_FILTER_RCT2] = STR_ROLLERCOASTER_TYCOON_2_DROPDOWN; + gDropdownItemsArgs[DDIX_FILTER_WW] = STR_OBJECT_FILTER_WW; + gDropdownItemsArgs[DDIX_FILTER_TT] = STR_OBJECT_FILTER_TT; + gDropdownItemsArgs[DDIX_FILTER_CUSTOM] = STR_OBJECT_FILTER_CUSTOM; + // Track manager cannot select multiple, so only show selection filters if not in track manager + if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { + num_items = 7; + gDropdownItemsFormat[DDIX_FILTER_SEPERATOR] = 0; + gDropdownItemsFormat[DDIX_FILTER_SELECTED] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[DDIX_FILTER_NONSELECTED] = STR_TOGGLE_OPTION; + gDropdownItemsArgs[DDIX_FILTER_SEPERATOR] = STR_NONE; + gDropdownItemsArgs[DDIX_FILTER_SELECTED] = STR_SELECTED_ONLY; + gDropdownItemsArgs[DDIX_FILTER_NONSELECTED] = STR_NON_SELECTED_ONLY; + } - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[widget->colour], - DROPDOWN_FLAG_STAY_OPEN, - num_items - ); + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[widget->colour], + DROPDOWN_FLAG_STAY_OPEN, + num_items + ); - gDropdownItemsChecked = _filter_flags & 0xF; - if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { - dropdown_set_checked(DDIX_FILTER_SELECTED, _FILTER_SELECTED); - dropdown_set_checked(DDIX_FILTER_NONSELECTED, _FILTER_NONSELECTED); - } - break; + gDropdownItemsChecked = _filter_flags & 0xF; + if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { + dropdown_set_checked(DDIX_FILTER_SELECTED, _FILTER_SELECTED); + dropdown_set_checked(DDIX_FILTER_NONSELECTED, _FILTER_NONSELECTED); + } + break; - } + } } static void window_editor_object_selection_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (dropdownIndex == -1) - return; + if (dropdownIndex == -1) + return; - switch (widgetIndex) { - case WIDX_FILTER_DROPDOWN: - if (dropdownIndex == DDIX_FILTER_SELECTED) { - _filter_flags ^= FILTER_SELECTED; - _filter_flags &= ~FILTER_NONSELECTED; - } - else if (dropdownIndex == DDIX_FILTER_NONSELECTED) { - _filter_flags ^= FILTER_NONSELECTED; - _filter_flags &= ~FILTER_SELECTED; - } - else { - _filter_flags ^= (1 << dropdownIndex); - } - gConfigInterface.object_selection_filter_flags = _filter_flags; - config_save_default(); + switch (widgetIndex) { + case WIDX_FILTER_DROPDOWN: + if (dropdownIndex == DDIX_FILTER_SELECTED) { + _filter_flags ^= FILTER_SELECTED; + _filter_flags &= ~FILTER_NONSELECTED; + } + else if (dropdownIndex == DDIX_FILTER_NONSELECTED) { + _filter_flags ^= FILTER_NONSELECTED; + _filter_flags &= ~FILTER_SELECTED; + } + else { + _filter_flags ^= (1 << dropdownIndex); + } + gConfigInterface.object_selection_filter_flags = _filter_flags; + config_save_default(); - filter_update_counts(); - w->scrolls->v_top = 0; + filter_update_counts(); + w->scrolls->v_top = 0; - visible_list_refresh(w); - window_invalidate(w); - break; - } + visible_list_refresh(w); + window_invalidate(w); + break; + } } /** @@ -980,7 +980,7 @@ static void window_editor_object_selection_dropdown(rct_window *w, rct_widgetind */ static void window_editor_object_selection_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - *height = _numListItems * 12; + *height = _numListItems * 12; } /** @@ -989,62 +989,62 @@ static void window_editor_object_selection_scrollgetsize(rct_window *w, sint32 s */ static void window_editor_object_selection_scroll_mousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - // Used for in-game object selection cheat to prevent crashing the game - // when windows attempt to draw objects that don't exist any more - window_close_all_except_class(WC_EDITOR_OBJECT_SELECTION); + // Used for in-game object selection cheat to prevent crashing the game + // when windows attempt to draw objects that don't exist any more + window_close_all_except_class(WC_EDITOR_OBJECT_SELECTION); - sint32 selected_object = get_object_from_object_selection((w->selected_tab & 0xFF), y); - if (selected_object == -1) - return; + sint32 selected_object = get_object_from_object_selection((w->selected_tab & 0xFF), y); + if (selected_object == -1) + return; - list_item * listItem = &_listItems[selected_object]; - uint8 object_selection_flags = *listItem->flags; - if (object_selection_flags & OBJECT_SELECTION_FLAG_6) - return; + list_item * listItem = &_listItems[selected_object]; + uint8 object_selection_flags = *listItem->flags; + if (object_selection_flags & OBJECT_SELECTION_FLAG_6) + return; - window_invalidate(w); + window_invalidate(w); - const CursorState * state = context_get_cursor_state(); - audio_play_sound(SOUND_CLICK_1, 0, state->x); + const CursorState * state = context_get_cursor_state(); + audio_play_sound(SOUND_CLICK_1, 0, state->x); - if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - if (!window_editor_object_selection_select_object(0, 1, listItem->entry)) - return; + if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { + if (!window_editor_object_selection_select_object(0, 1, listItem->entry)) + return; - // Close any other open windows such as options/colour schemes to prevent a crash. - window_close_all(); - //window_close(w); + // Close any other open windows such as options/colour schemes to prevent a crash. + window_close_all(); + //window_close(w); - // This function calls window_track_list_open - window_editor_object_selection_manage_tracks(); - return; - } + // This function calls window_track_list_open + window_editor_object_selection_manage_tracks(); + return; + } - sint32 ebx = 6; - // If already selected - if (!(object_selection_flags & OBJECT_SELECTION_FLAG_SELECTED)) - ebx = 7; + sint32 ebx = 6; + // If already selected + if (!(object_selection_flags & OBJECT_SELECTION_FLAG_SELECTED)) + ebx = 7; - _maxObjectsWasHit = false; - if (!window_editor_object_selection_select_object(0, ebx, listItem->entry)) { - rct_string_id error_title = (ebx & 1) ? - STR_UNABLE_TO_SELECT_THIS_OBJECT : - STR_UNABLE_TO_DE_SELECT_THIS_OBJECT; + _maxObjectsWasHit = false; + if (!window_editor_object_selection_select_object(0, ebx, listItem->entry)) { + rct_string_id error_title = (ebx & 1) ? + STR_UNABLE_TO_SELECT_THIS_OBJECT : + STR_UNABLE_TO_DE_SELECT_THIS_OBJECT; - window_error_open(error_title, gGameCommandErrorText); - return; - } + window_error_open(error_title, gGameCommandErrorText); + return; + } - if (_FILTER_SELECTED || _FILTER_NONSELECTED) { - filter_update_counts(); - visible_list_refresh(w); - window_invalidate(w); - } + if (_FILTER_SELECTED || _FILTER_NONSELECTED) { + filter_update_counts(); + visible_list_refresh(w); + window_invalidate(w); + } - if (_maxObjectsWasHit) { - window_error_open(STR_WARNING_TOO_MANY_OBJECTS_SELECTED, STR_NOT_ALL_OBJECTS_IN_THIS_SCENERY_GROUP_COULD_BE_SELECTED); - } + if (_maxObjectsWasHit) { + window_error_open(STR_WARNING_TOO_MANY_OBJECTS_SELECTED, STR_NOT_ALL_OBJECTS_IN_THIS_SCENERY_GROUP_COULD_BE_SELECTED); + } } /** @@ -1053,30 +1053,30 @@ static void window_editor_object_selection_scroll_mousedown(rct_window *w, sint3 */ static void window_editor_object_selection_scroll_mouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 selectedObject = get_object_from_object_selection(w->selected_tab & 0xFF, y); - if (selectedObject != -1) { - list_item * listItem = &_listItems[selectedObject]; - uint8 objectSelectionFlags = *listItem->flags; - if (objectSelectionFlags & OBJECT_SELECTION_FLAG_6) { - selectedObject = -1; - } - } - if (selectedObject != w->selected_list_item) { - w->selected_list_item = selectedObject; + sint32 selectedObject = get_object_from_object_selection(w->selected_tab & 0xFF, y); + if (selectedObject != -1) { + list_item * listItem = &_listItems[selectedObject]; + uint8 objectSelectionFlags = *listItem->flags; + if (objectSelectionFlags & OBJECT_SELECTION_FLAG_6) { + selectedObject = -1; + } + } + if (selectedObject != w->selected_list_item) { + w->selected_list_item = selectedObject; - object_delete(_loadedObject); - _loadedObject = NULL; + object_delete(_loadedObject); + _loadedObject = NULL; - list_item * listItem = &_listItems[selectedObject]; - if (selectedObject == -1) { - w->object_entry = NULL; - } else { - w->object_entry = listItem->entry; - _loadedObject = object_repository_load_object(listItem->entry); - } + list_item * listItem = &_listItems[selectedObject]; + if (selectedObject == -1) { + w->object_entry = NULL; + } else { + w->object_entry = listItem->entry; + _loadedObject = object_repository_load_object(listItem->entry); + } - window_invalidate(w); - } + window_invalidate(w); + } } /** @@ -1085,24 +1085,24 @@ static void window_editor_object_selection_scroll_mouseover(rct_window *w, sint3 */ static void window_editor_object_selection_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - switch (widgetIndex) { - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - case WIDX_TAB_8: - case WIDX_TAB_9: - case WIDX_TAB_10: - case WIDX_TAB_11: - set_format_arg(0, rct_string_id, ObjectSelectionPageNames[(widgetIndex - WIDX_TAB_1)]); - break; - default: - set_format_arg(0, rct_string_id, STR_LIST); - break; - } + switch (widgetIndex) { + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + case WIDX_TAB_8: + case WIDX_TAB_9: + case WIDX_TAB_10: + case WIDX_TAB_11: + set_format_arg(0, rct_string_id, ObjectSelectionPageNames[(widgetIndex - WIDX_TAB_1)]); + break; + default: + set_format_arg(0, rct_string_id, STR_LIST); + break; + } } /** @@ -1111,123 +1111,123 @@ static void window_editor_object_selection_tooltip(rct_window* w, rct_widgetinde */ static void window_editor_object_selection_invalidate(rct_window *w) { - // Resize widgets - w->widgets[WIDX_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_TITLE].right = w->width - 2; - w->widgets[WIDX_CLOSE].left = w->width - 13; - w->widgets[WIDX_CLOSE].right = w->width - 3; - w->widgets[WIDX_TAB_CONTENT_PANEL].right = w->width - 1; - w->widgets[WIDX_TAB_CONTENT_PANEL].bottom = w->height - 1; - w->widgets[WIDX_ADVANCED].left = w->width - 130; - w->widgets[WIDX_ADVANCED].right = w->width - 9; - w->widgets[WIDX_LIST].right = w->width - 309; - w->widgets[WIDX_LIST].bottom = w->height - 14; - w->widgets[WIDX_PREVIEW].left = w->width - 209; - w->widgets[WIDX_PREVIEW].right = w->width - 96; - w->widgets[WIDX_INSTALL_TRACK].left = w->width - 130; - w->widgets[WIDX_INSTALL_TRACK].right = w->width - 9; - w->widgets[WIDX_FILTER_DROPDOWN].left = w->width - 250; - w->widgets[WIDX_FILTER_DROPDOWN].right = w->width - 137; + // Resize widgets + w->widgets[WIDX_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_TITLE].right = w->width - 2; + w->widgets[WIDX_CLOSE].left = w->width - 13; + w->widgets[WIDX_CLOSE].right = w->width - 3; + w->widgets[WIDX_TAB_CONTENT_PANEL].right = w->width - 1; + w->widgets[WIDX_TAB_CONTENT_PANEL].bottom = w->height - 1; + w->widgets[WIDX_ADVANCED].left = w->width - 130; + w->widgets[WIDX_ADVANCED].right = w->width - 9; + w->widgets[WIDX_LIST].right = w->width - 309; + w->widgets[WIDX_LIST].bottom = w->height - 14; + w->widgets[WIDX_PREVIEW].left = w->width - 209; + w->widgets[WIDX_PREVIEW].right = w->width - 96; + w->widgets[WIDX_INSTALL_TRACK].left = w->width - 130; + w->widgets[WIDX_INSTALL_TRACK].right = w->width - 9; + w->widgets[WIDX_FILTER_DROPDOWN].left = w->width - 250; + w->widgets[WIDX_FILTER_DROPDOWN].right = w->width - 137; - // Set pressed widgets - w->pressed_widgets |= 1 << WIDX_PREVIEW; - window_editor_object_selection_set_pressed_tab(w); - if (w->list_information_type & 1) - w->pressed_widgets |= (1 << WIDX_ADVANCED); - else - w->pressed_widgets &= ~(1 << WIDX_ADVANCED); + // Set pressed widgets + w->pressed_widgets |= 1 << WIDX_PREVIEW; + window_editor_object_selection_set_pressed_tab(w); + if (w->list_information_type & 1) + w->pressed_widgets |= (1 << WIDX_ADVANCED); + else + w->pressed_widgets &= ~(1 << WIDX_ADVANCED); - // Set window title and buttons - set_format_arg(0, rct_string_id, ObjectSelectionPageNames[w->selected_tab]); - if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - w->widgets[WIDX_TITLE].text = STR_TRACK_DESIGNS_MANAGER_SELECT_RIDE_TYPE; - w->widgets[WIDX_INSTALL_TRACK].type = WWT_DROPDOWN_BUTTON; - } else if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { - w->widgets[WIDX_TITLE].text = STR_ROLLER_COASTER_DESIGNER_SELECT_RIDE_TYPES_VEHICLES; - w->widgets[WIDX_INSTALL_TRACK].type = WWT_EMPTY; - } else { - w->widgets[WIDX_TITLE].text = STR_OBJECT_SELECTION; - w->widgets[WIDX_INSTALL_TRACK].type = WWT_EMPTY; - } + // Set window title and buttons + set_format_arg(0, rct_string_id, ObjectSelectionPageNames[w->selected_tab]); + if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { + w->widgets[WIDX_TITLE].text = STR_TRACK_DESIGNS_MANAGER_SELECT_RIDE_TYPE; + w->widgets[WIDX_INSTALL_TRACK].type = WWT_DROPDOWN_BUTTON; + } else if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { + w->widgets[WIDX_TITLE].text = STR_ROLLER_COASTER_DESIGNER_SELECT_RIDE_TYPES_VEHICLES; + w->widgets[WIDX_INSTALL_TRACK].type = WWT_EMPTY; + } else { + w->widgets[WIDX_TITLE].text = STR_OBJECT_SELECTION; + w->widgets[WIDX_INSTALL_TRACK].type = WWT_EMPTY; + } - // Align tabs, hide advanced ones - sint32 x = 3; - for (sint32 i = 0; i < WINDOW_OBJECT_SELECTION_PAGE_COUNT; i++) { - rct_widget *widget = &w->widgets[WIDX_TAB_1 + i]; + // Align tabs, hide advanced ones + sint32 x = 3; + for (sint32 i = 0; i < WINDOW_OBJECT_SELECTION_PAGE_COUNT; i++) { + rct_widget *widget = &w->widgets[WIDX_TAB_1 + i]; - if (!(w->list_information_type & 1) && ((1 << i) & 0x5E)) { - widget->type = WWT_EMPTY; - } else { - widget->type = WWT_TAB; - widget->left = x; - widget->right = x + 30; - x += 31; - } - } + if (!(w->list_information_type & 1) && ((1 << i) & 0x5E)) { + widget->type = WWT_EMPTY; + } else { + widget->type = WWT_TAB; + widget->left = x; + widget->right = x + 30; + x += 31; + } + } - if (gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TRACK_DESIGNER)) { - w->widgets[WIDX_ADVANCED].type = WWT_EMPTY; - for (sint32 i = 1; i < WINDOW_OBJECT_SELECTION_PAGE_COUNT; i++) - w->widgets[WIDX_TAB_1 + i].type = WWT_EMPTY; - x = 150; - } else { - w->widgets[WIDX_ADVANCED].type = WWT_DROPDOWN_BUTTON; - x = 300; - } + if (gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TRACK_DESIGNER)) { + w->widgets[WIDX_ADVANCED].type = WWT_EMPTY; + for (sint32 i = 1; i < WINDOW_OBJECT_SELECTION_PAGE_COUNT; i++) + w->widgets[WIDX_TAB_1 + i].type = WWT_EMPTY; + x = 150; + } else { + w->widgets[WIDX_ADVANCED].type = WWT_DROPDOWN_BUTTON; + x = 300; + } - w->widgets[WIDX_FILTER_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_LIST].right = w->width - (600 - 587) - x; - w->widgets[WIDX_PREVIEW].left = w->width - (600 - 537) - (x / 2); - w->widgets[WIDX_PREVIEW].right = w->widgets[WIDX_PREVIEW].left + 113; - w->widgets[WIDX_FILTER_RIDE_TAB_FRAME].right = w->widgets[WIDX_LIST].right; + w->widgets[WIDX_FILTER_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_LIST].right = w->width - (600 - 587) - x; + w->widgets[WIDX_PREVIEW].left = w->width - (600 - 537) - (x / 2); + w->widgets[WIDX_PREVIEW].right = w->widgets[WIDX_PREVIEW].left + 113; + w->widgets[WIDX_FILTER_RIDE_TAB_FRAME].right = w->widgets[WIDX_LIST].right; - bool ridePage = (w->selected_tab == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS); - w->widgets[WIDX_LIST].top = (ridePage ? 118 : 60); - w->widgets[WIDX_FILTER_STRING_BUTTON].right = w->widgets[WIDX_LIST].right - 77; - w->widgets[WIDX_FILTER_STRING_BUTTON].top = (ridePage ? 80 : 46); - w->widgets[WIDX_FILTER_STRING_BUTTON].bottom = (ridePage ? 91 : 57); - w->widgets[WIDX_FILTER_CLEAR_BUTTON].left = w->widgets[WIDX_LIST].right - 73; - w->widgets[WIDX_FILTER_CLEAR_BUTTON].right = w->widgets[WIDX_LIST].right; - w->widgets[WIDX_FILTER_CLEAR_BUTTON].top = (ridePage ? 80 : 46); - w->widgets[WIDX_FILTER_CLEAR_BUTTON].bottom = (ridePage ? 91 : 57); + bool ridePage = (w->selected_tab == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS); + w->widgets[WIDX_LIST].top = (ridePage ? 118 : 60); + w->widgets[WIDX_FILTER_STRING_BUTTON].right = w->widgets[WIDX_LIST].right - 77; + w->widgets[WIDX_FILTER_STRING_BUTTON].top = (ridePage ? 80 : 46); + w->widgets[WIDX_FILTER_STRING_BUTTON].bottom = (ridePage ? 91 : 57); + w->widgets[WIDX_FILTER_CLEAR_BUTTON].left = w->widgets[WIDX_LIST].right - 73; + w->widgets[WIDX_FILTER_CLEAR_BUTTON].right = w->widgets[WIDX_LIST].right; + w->widgets[WIDX_FILTER_CLEAR_BUTTON].top = (ridePage ? 80 : 46); + w->widgets[WIDX_FILTER_CLEAR_BUTTON].bottom = (ridePage ? 91 : 57); - if (ridePage) { - w->enabled_widgets |= (1 << WIDX_FILTER_RIDE_TAB_ALL) | (1 << WIDX_FILTER_RIDE_TAB_TRANSPORT) | - (1 << WIDX_FILTER_RIDE_TAB_GENTLE) | (1 << WIDX_FILTER_RIDE_TAB_COASTER) | (1 << WIDX_FILTER_RIDE_TAB_THRILL) | - (1 << WIDX_FILTER_RIDE_TAB_WATER) | (1 << WIDX_FILTER_RIDE_TAB_STALL); - for (sint32 i = 0; i < 7; i++) - w->pressed_widgets &= ~(1 << (WIDX_FILTER_RIDE_TAB_ALL + i)); - if ((_filter_flags & FILTER_RIDES) == FILTER_RIDES) - w->pressed_widgets |= (1 << WIDX_FILTER_RIDE_TAB_ALL); - else { - for (sint32 i = 0; i < 6; i++) { - if (_filter_flags & (1 << (5 + i))) - w->pressed_widgets |= (uint64)(1 << (WIDX_FILTER_RIDE_TAB_TRANSPORT + i)); - } - } - w->widgets[WIDX_FILTER_RIDE_TAB_FRAME].type = WWT_IMGBTN; - for (sint32 i = WIDX_FILTER_RIDE_TAB_ALL; i <= WIDX_FILTER_RIDE_TAB_STALL; i++) - w->widgets[i].type = WWT_TAB; + if (ridePage) { + w->enabled_widgets |= (1 << WIDX_FILTER_RIDE_TAB_ALL) | (1 << WIDX_FILTER_RIDE_TAB_TRANSPORT) | + (1 << WIDX_FILTER_RIDE_TAB_GENTLE) | (1 << WIDX_FILTER_RIDE_TAB_COASTER) | (1 << WIDX_FILTER_RIDE_TAB_THRILL) | + (1 << WIDX_FILTER_RIDE_TAB_WATER) | (1 << WIDX_FILTER_RIDE_TAB_STALL); + for (sint32 i = 0; i < 7; i++) + w->pressed_widgets &= ~(1 << (WIDX_FILTER_RIDE_TAB_ALL + i)); + if ((_filter_flags & FILTER_RIDES) == FILTER_RIDES) + w->pressed_widgets |= (1 << WIDX_FILTER_RIDE_TAB_ALL); + else { + for (sint32 i = 0; i < 6; i++) { + if (_filter_flags & (1 << (5 + i))) + w->pressed_widgets |= (uint64)(1 << (WIDX_FILTER_RIDE_TAB_TRANSPORT + i)); + } + } + w->widgets[WIDX_FILTER_RIDE_TAB_FRAME].type = WWT_IMGBTN; + for (sint32 i = WIDX_FILTER_RIDE_TAB_ALL; i <= WIDX_FILTER_RIDE_TAB_STALL; i++) + w->widgets[i].type = WWT_TAB; - w->widgets[WIDX_LIST_SORT_TYPE].type = WWT_13; - w->widgets[WIDX_LIST_SORT_TYPE].top = w->widgets[WIDX_FILTER_STRING_BUTTON].bottom + 3; - w->widgets[WIDX_LIST_SORT_TYPE].bottom = w->widgets[WIDX_LIST_SORT_TYPE].top + 13; - w->widgets[WIDX_LIST_SORT_RIDE].type = WWT_13; - w->widgets[WIDX_LIST_SORT_RIDE].top = w->widgets[WIDX_LIST_SORT_TYPE].top; - w->widgets[WIDX_LIST_SORT_RIDE].bottom = w->widgets[WIDX_LIST_SORT_TYPE].bottom; - w->widgets[WIDX_LIST_SORT_RIDE].right = w->widgets[WIDX_LIST].right; - w->widgets[WIDX_LIST].top = w->widgets[WIDX_LIST_SORT_TYPE].bottom + 2; - } else { - w->enabled_widgets &= ~((1 << WIDX_FILTER_RIDE_TAB_ALL) | (1 << WIDX_FILTER_RIDE_TAB_TRANSPORT) | - (1 << WIDX_FILTER_RIDE_TAB_GENTLE) | (1 << WIDX_FILTER_RIDE_TAB_COASTER) | (1 << WIDX_FILTER_RIDE_TAB_THRILL) | - (1 << WIDX_FILTER_RIDE_TAB_WATER) | (1 << WIDX_FILTER_RIDE_TAB_STALL)); - for (sint32 i = WIDX_FILTER_RIDE_TAB_FRAME; i <= WIDX_FILTER_RIDE_TAB_STALL; i++) - w->widgets[i].type = WWT_EMPTY; + w->widgets[WIDX_LIST_SORT_TYPE].type = WWT_13; + w->widgets[WIDX_LIST_SORT_TYPE].top = w->widgets[WIDX_FILTER_STRING_BUTTON].bottom + 3; + w->widgets[WIDX_LIST_SORT_TYPE].bottom = w->widgets[WIDX_LIST_SORT_TYPE].top + 13; + w->widgets[WIDX_LIST_SORT_RIDE].type = WWT_13; + w->widgets[WIDX_LIST_SORT_RIDE].top = w->widgets[WIDX_LIST_SORT_TYPE].top; + w->widgets[WIDX_LIST_SORT_RIDE].bottom = w->widgets[WIDX_LIST_SORT_TYPE].bottom; + w->widgets[WIDX_LIST_SORT_RIDE].right = w->widgets[WIDX_LIST].right; + w->widgets[WIDX_LIST].top = w->widgets[WIDX_LIST_SORT_TYPE].bottom + 2; + } else { + w->enabled_widgets &= ~((1 << WIDX_FILTER_RIDE_TAB_ALL) | (1 << WIDX_FILTER_RIDE_TAB_TRANSPORT) | + (1 << WIDX_FILTER_RIDE_TAB_GENTLE) | (1 << WIDX_FILTER_RIDE_TAB_COASTER) | (1 << WIDX_FILTER_RIDE_TAB_THRILL) | + (1 << WIDX_FILTER_RIDE_TAB_WATER) | (1 << WIDX_FILTER_RIDE_TAB_STALL)); + for (sint32 i = WIDX_FILTER_RIDE_TAB_FRAME; i <= WIDX_FILTER_RIDE_TAB_STALL; i++) + w->widgets[i].type = WWT_EMPTY; - w->widgets[WIDX_LIST_SORT_TYPE].type = WWT_EMPTY; - w->widgets[WIDX_LIST_SORT_RIDE].type = WWT_EMPTY; - } + w->widgets[WIDX_LIST_SORT_TYPE].type = WWT_EMPTY; + w->widgets[WIDX_LIST_SORT_RIDE].type = WWT_EMPTY; + } } /** @@ -1236,171 +1236,171 @@ static void window_editor_object_selection_invalidate(rct_window *w) */ static void window_editor_object_selection_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 i, x, y, width, type; - rct_widget *widget; - rct_object_entry *highlightedEntry; - rct_string_id stringId; - uint8 source; + sint32 i, x, y, width, type; + rct_widget *widget; + rct_object_entry *highlightedEntry; + rct_string_id stringId; + uint8 source; - /*if (w->selected_tab == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS) { - gfx_fill_rect_inset(dpi, - w->x + w->widgets[WIDX_FILTER_RIDE_TAB_ALL].left - 1, - w->y + w->widgets[WIDX_FILTER_RIDE_TAB_ALL].bottom, - w->x + w->widgets[WIDX_FILTER_RIDE_TAB_STALL].right + 1, - w->y + w->widgets[WIDX_FILTER_RIDE_TAB_ALL].bottom + 2, - w->colours[1], - 0x10 - ); - }*/ + /*if (w->selected_tab == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS) { + gfx_fill_rect_inset(dpi, + w->x + w->widgets[WIDX_FILTER_RIDE_TAB_ALL].left - 1, + w->y + w->widgets[WIDX_FILTER_RIDE_TAB_ALL].bottom, + w->x + w->widgets[WIDX_FILTER_RIDE_TAB_STALL].right + 1, + w->y + w->widgets[WIDX_FILTER_RIDE_TAB_ALL].bottom + 2, + w->colours[1], + 0x10 + ); + }*/ - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - // Draw tabs - for (i = 0; i < WINDOW_OBJECT_SELECTION_PAGE_COUNT; i++) { - widget = &w->widgets[WIDX_TAB_1 + i]; - if (widget->type == WWT_EMPTY) - continue; + // Draw tabs + for (i = 0; i < WINDOW_OBJECT_SELECTION_PAGE_COUNT; i++) { + widget = &w->widgets[WIDX_TAB_1 + i]; + if (widget->type == WWT_EMPTY) + continue; - x = w->x + widget->left; - y = w->y + widget->top; - gfx_draw_sprite(dpi, SPR_TAB_RIDE_16 + i, x, y, 0); - } + x = w->x + widget->left; + y = w->y + widget->top; + gfx_draw_sprite(dpi, SPR_TAB_RIDE_16 + i, x, y, 0); + } - const sint32 ride_tabs[] = { SPR_TAB_RIDE_16, 0x20000000 | SPR_TAB_RIDES_TRANSPORT_0, SPR_TAB_RIDES_GENTLE_0, 0x20000000 | SPR_TAB_RIDES_ROLLER_COASTERS_0, SPR_TAB_RIDES_THRILL_0, SPR_TAB_RIDES_WATER_0, SPR_TAB_RIDES_SHOP_0, SPR_TAB_FINANCES_RESEARCH_0 }; - const sint32 ThrillRidesTabAnimationSequence[] = { - 5, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0 - }; + const sint32 ride_tabs[] = { SPR_TAB_RIDE_16, 0x20000000 | SPR_TAB_RIDES_TRANSPORT_0, SPR_TAB_RIDES_GENTLE_0, 0x20000000 | SPR_TAB_RIDES_ROLLER_COASTERS_0, SPR_TAB_RIDES_THRILL_0, SPR_TAB_RIDES_WATER_0, SPR_TAB_RIDES_SHOP_0, SPR_TAB_FINANCES_RESEARCH_0 }; + const sint32 ThrillRidesTabAnimationSequence[] = { + 5, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0 + }; - // Draw ride tabs - if (w->selected_tab == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS) { - for (i = 0; i < 7; i++) { - widget = &w->widgets[WIDX_FILTER_RIDE_TAB_ALL + i]; - if (widget->type == WWT_EMPTY) - continue; + // Draw ride tabs + if (w->selected_tab == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS) { + for (i = 0; i < 7; i++) { + widget = &w->widgets[WIDX_FILTER_RIDE_TAB_ALL + i]; + if (widget->type == WWT_EMPTY) + continue; - sint32 spriteIndex = ride_tabs[i]; - sint32 frame = 0; - if (i != 0 && w->pressed_widgets & (1ULL << (WIDX_FILTER_RIDE_TAB_ALL + i))) { - frame = w->frame_no / window_editor_object_selection_animation_divisor[i - 1]; - } - spriteIndex += (i == 4 ? ThrillRidesTabAnimationSequence[frame] : frame); + sint32 spriteIndex = ride_tabs[i]; + sint32 frame = 0; + if (i != 0 && w->pressed_widgets & (1ULL << (WIDX_FILTER_RIDE_TAB_ALL + i))) { + frame = w->frame_no / window_editor_object_selection_animation_divisor[i - 1]; + } + spriteIndex += (i == 4 ? ThrillRidesTabAnimationSequence[frame] : frame); - x = w->x + widget->left; - y = w->y + widget->top; - gfx_draw_sprite(dpi, spriteIndex | (w->colours[1] << 19), x, y, 0); - } + x = w->x + widget->left; + y = w->y + widget->top; + gfx_draw_sprite(dpi, spriteIndex | (w->colours[1] << 19), x, y, 0); + } - } + } - // Preview background - widget = &w->widgets[WIDX_PREVIEW]; - gfx_fill_rect( - dpi, - w->x + widget->left + 1, - w->y + widget->top + 1, - w->x + widget->right - 1, - w->y + widget->bottom - 1, - ColourMapA[w->colours[1]].darkest - ); + // Preview background + widget = &w->widgets[WIDX_PREVIEW]; + gfx_fill_rect( + dpi, + w->x + widget->left + 1, + w->y + widget->top + 1, + w->x + widget->right - 1, + w->y + widget->bottom - 1, + ColourMapA[w->colours[1]].darkest + ); - // Draw number of selected items - if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { - x = w->x + 3; - y = w->y + w->height - 13; + // Draw number of selected items + if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { + x = w->x + 3; + y = w->y + w->height - 13; - sint32 numSelected = _numSelectedObjectsForType[w->selected_tab]; - sint32 totalSelectable = object_entry_group_counts[w->selected_tab]; - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) - totalSelectable = 4; + sint32 numSelected = _numSelectedObjectsForType[w->selected_tab]; + sint32 totalSelectable = object_entry_group_counts[w->selected_tab]; + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) + totalSelectable = 4; - set_format_arg(0, uint16, numSelected); - set_format_arg(2, uint16, totalSelectable); - gfx_draw_string_left(dpi, STR_OBJECT_SELECTION_SELECTION_SIZE, gCommonFormatArgs, COLOUR_BLACK, x, y); - } + set_format_arg(0, uint16, numSelected); + set_format_arg(2, uint16, totalSelectable); + gfx_draw_string_left(dpi, STR_OBJECT_SELECTION_SELECTION_SIZE, gCommonFormatArgs, COLOUR_BLACK, x, y); + } - // Draw sort button text - widget = &w->widgets[WIDX_LIST_SORT_TYPE]; - if (widget->type != WWT_EMPTY) { - stringId = _listSortType == RIDE_SORT_TYPE ? (_listSortDescending ? STR_DOWN : STR_UP) : STR_NONE; - gfx_draw_string_left_clipped(dpi, STR_OBJECTS_SORT_TYPE, &stringId, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); - } - widget = &w->widgets[WIDX_LIST_SORT_RIDE]; - if (widget->type != WWT_EMPTY) { - stringId = _listSortType == RIDE_SORT_RIDE ? (_listSortDescending ? STR_DOWN : STR_UP) : STR_NONE; - gfx_draw_string_left_clipped(dpi, STR_OBJECTS_SORT_RIDE, &stringId, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); - } + // Draw sort button text + widget = &w->widgets[WIDX_LIST_SORT_TYPE]; + if (widget->type != WWT_EMPTY) { + stringId = _listSortType == RIDE_SORT_TYPE ? (_listSortDescending ? STR_DOWN : STR_UP) : STR_NONE; + gfx_draw_string_left_clipped(dpi, STR_OBJECTS_SORT_TYPE, &stringId, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); + } + widget = &w->widgets[WIDX_LIST_SORT_RIDE]; + if (widget->type != WWT_EMPTY) { + stringId = _listSortType == RIDE_SORT_RIDE ? (_listSortDescending ? STR_DOWN : STR_UP) : STR_NONE; + gfx_draw_string_left_clipped(dpi, STR_OBJECTS_SORT_RIDE, &stringId, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); + } - if (w->selected_list_item == -1 || _loadedObject == NULL) - return; + if (w->selected_list_item == -1 || _loadedObject == NULL) + return; - list_item *listItem = &_listItems[w->selected_list_item]; + list_item *listItem = &_listItems[w->selected_list_item]; - highlightedEntry = w->object_entry; - type = highlightedEntry->flags & 0x0F; + highlightedEntry = w->object_entry; + type = highlightedEntry->flags & 0x0F; - // Draw preview - widget = &w->widgets[WIDX_PREVIEW]; - { - rct_drawpixelinfo clipDPI; - x = w->x + widget->left + 1; - y = w->y + widget->top + 1; - width = widget->right - widget->left - 1; - sint32 height = widget->bottom - widget->top - 1; - if (clip_drawpixelinfo(&clipDPI, dpi, x, y, width, height)) { - object_draw_preview(_loadedObject, &clipDPI, width, height); - } - } + // Draw preview + widget = &w->widgets[WIDX_PREVIEW]; + { + rct_drawpixelinfo clipDPI; + x = w->x + widget->left + 1; + y = w->y + widget->top + 1; + width = widget->right - widget->left - 1; + sint32 height = widget->bottom - widget->top - 1; + if (clip_drawpixelinfo(&clipDPI, dpi, x, y, width, height)) { + object_draw_preview(_loadedObject, &clipDPI, width, height); + } + } - // Draw name of object - x = w->x + (widget->left + widget->right) / 2 + 1; - y = w->y + widget->bottom + 3; - width = w->width - w->widgets[WIDX_LIST].right - 6; - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, const char *, listItem->repositoryItem->Name); - gfx_draw_string_centred_clipped(dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, x, y, width); + // Draw name of object + x = w->x + (widget->left + widget->right) / 2 + 1; + y = w->y + widget->bottom + 3; + width = w->width - w->widgets[WIDX_LIST].right - 6; + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, const char *, listItem->repositoryItem->Name); + gfx_draw_string_centred_clipped(dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, x, y, width); - // Draw description of object - const char *description = object_get_description(_loadedObject); - if (description != NULL) { - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, const char *, description); + // Draw description of object + const char *description = object_get_description(_loadedObject); + if (description != NULL) { + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, const char *, description); - x = w->x + w->widgets[WIDX_LIST].right + 4; - y += 15; - width = w->x + w->width - x - 4; - if (type == OBJECT_TYPE_SCENARIO_TEXT) { - gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, width, STR_OBJECT_SELECTION_DESCRIPTION_SCENARIO_TEXT, COLOUR_BLACK); - } else { - gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y + 5, width, STR_WINDOW_COLOUR_2_STRINGID, COLOUR_BLACK); - } - } + x = w->x + w->widgets[WIDX_LIST].right + 4; + y += 15; + width = w->x + w->width - x - 4; + if (type == OBJECT_TYPE_SCENARIO_TEXT) { + gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, width, STR_OBJECT_SELECTION_DESCRIPTION_SCENARIO_TEXT, COLOUR_BLACK); + } else { + gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y + 5, width, STR_WINDOW_COLOUR_2_STRINGID, COLOUR_BLACK); + } + } - // Draw object source - source = (highlightedEntry->flags & 0xF0) >> 4; - switch (source) { - case 8: stringId = STR_ROLLERCOASTER_TYCOON_2_DROPDOWN; break; - case 1: stringId = STR_OBJECT_FILTER_WW; break; - case 2: stringId = STR_OBJECT_FILTER_TT; break; - default: stringId = STR_OBJECT_FILTER_CUSTOM; break; - } - gfx_draw_string_right(dpi, stringId, NULL, COLOUR_WHITE, w->x + w->width - 5, w->y + w->height - 3 - 12 - 14); + // Draw object source + source = (highlightedEntry->flags & 0xF0) >> 4; + switch (source) { + case 8: stringId = STR_ROLLERCOASTER_TYCOON_2_DROPDOWN; break; + case 1: stringId = STR_OBJECT_FILTER_WW; break; + case 2: stringId = STR_OBJECT_FILTER_TT; break; + default: stringId = STR_OBJECT_FILTER_CUSTOM; break; + } + gfx_draw_string_right(dpi, stringId, NULL, COLOUR_WHITE, w->x + w->width - 5, w->y + w->height - 3 - 12 - 14); - // - if (w->selected_tab == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS) { - y = w->y + w->height - 3 - 12 - 14 - 14; - stringId = get_ride_type_string_id(listItem->repositoryItem); - gfx_draw_string_right(dpi, stringId, NULL, COLOUR_WHITE, w->x + w->width - 5, y); - y -= 11; - } + // + if (w->selected_tab == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS) { + y = w->y + w->height - 3 - 12 - 14 - 14; + stringId = get_ride_type_string_id(listItem->repositoryItem); + gfx_draw_string_right(dpi, stringId, NULL, COLOUR_WHITE, w->x + w->width - 5, y); + y -= 11; + } - //stringId = highlightedEntry->checksum - // gfx_draw_string_right(dpi, stringId, NULL, 2, w->x + w->width - 5, w->y + w->height - 3 - 12 - 14); + //stringId = highlightedEntry->checksum + // gfx_draw_string_right(dpi, stringId, NULL, 2, w->x + w->width - 5, w->y + w->height - 3 - 12 - 14); - // Draw object dat name - const char *path = path_get_filename(listItem->repositoryItem->Path); - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, const char *, path); - gfx_draw_string_right(dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, w->x + w->width - 5, w->y + w->height - 3 - 12); + // Draw object dat name + const char *path = path_get_filename(listItem->repositoryItem->Path); + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, const char *, path); + gfx_draw_string_right(dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, w->x + w->width - 5, w->y + w->height - 3 - 12); } /** @@ -1409,104 +1409,104 @@ static void window_editor_object_selection_paint(rct_window *w, rct_drawpixelinf */ static void window_editor_object_selection_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - sint32 x, y, i, colour, colour2; + sint32 x, y, i, colour, colour2; - bool ridePage = (w->selected_tab == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS); + bool ridePage = (w->selected_tab == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS); - uint8 paletteIndex = ColourMapA[w->colours[1]].mid_light; - gfx_clear(dpi, paletteIndex); + uint8 paletteIndex = ColourMapA[w->colours[1]].mid_light; + gfx_clear(dpi, paletteIndex); - y = 0; - for (i = 0; i < _numListItems; i++) { - list_item *listItem = &_listItems[i]; + y = 0; + for (i = 0; i < _numListItems; i++) { + list_item *listItem = &_listItems[i]; - if (y + 12 >= dpi->y && y <= dpi->y + dpi->height) { - // Draw checkbox - if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) && !(*listItem->flags & 0x20)) - gfx_fill_rect_inset(dpi, 2, y, 11, y + 10, w->colours[1], INSET_RECT_F_E0); + if (y + 12 >= dpi->y && y <= dpi->y + dpi->height) { + // Draw checkbox + if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) && !(*listItem->flags & 0x20)) + gfx_fill_rect_inset(dpi, 2, y, 11, y + 10, w->colours[1], INSET_RECT_F_E0); - // Highlight background - colour = COLOUR_BRIGHT_GREEN | COLOUR_FLAG_TRANSLUCENT; - if (listItem->entry == w->object_entry && !(*listItem->flags & OBJECT_SELECTION_FLAG_6)) { - gfx_filter_rect(dpi, 0, y, w->width, y + 11, PALETTE_DARKEN_1); - colour = COLOUR_BRIGHT_GREEN; - } + // Highlight background + colour = COLOUR_BRIGHT_GREEN | COLOUR_FLAG_TRANSLUCENT; + if (listItem->entry == w->object_entry && !(*listItem->flags & OBJECT_SELECTION_FLAG_6)) { + gfx_filter_rect(dpi, 0, y, w->width, y + 11, PALETTE_DARKEN_1); + colour = COLOUR_BRIGHT_GREEN; + } - // Draw checkmark - if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) && (*listItem->flags & OBJECT_SELECTION_FLAG_SELECTED)) { - x = 2; - gCurrentFontSpriteBase = colour == COLOUR_BRIGHT_GREEN ? FONT_SPRITE_BASE_MEDIUM_EXTRA_DARK : FONT_SPRITE_BASE_MEDIUM_DARK; - colour2 = NOT_TRANSLUCENT(w->colours[1]); - if (*listItem->flags & (OBJECT_SELECTION_FLAG_IN_USE | OBJECT_SELECTION_FLAG_ALWAYS_REQUIRED)) - colour2 |= COLOUR_FLAG_INSET; + // Draw checkmark + if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) && (*listItem->flags & OBJECT_SELECTION_FLAG_SELECTED)) { + x = 2; + gCurrentFontSpriteBase = colour == COLOUR_BRIGHT_GREEN ? FONT_SPRITE_BASE_MEDIUM_EXTRA_DARK : FONT_SPRITE_BASE_MEDIUM_DARK; + colour2 = NOT_TRANSLUCENT(w->colours[1]); + if (*listItem->flags & (OBJECT_SELECTION_FLAG_IN_USE | OBJECT_SELECTION_FLAG_ALWAYS_REQUIRED)) + colour2 |= COLOUR_FLAG_INSET; - gfx_draw_string(dpi, (char*)CheckBoxMarkString, colour2, x, y); - } + gfx_draw_string(dpi, (char*)CheckBoxMarkString, colour2, x, y); + } - x = gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER ? 0 : 15; + x = gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER ? 0 : 15; - char *bufferWithColour = gCommonStringFormatBuffer; - char *buffer = utf8_write_codepoint(bufferWithColour, colour); - if (*listItem->flags & OBJECT_SELECTION_FLAG_6) { - colour = w->colours[1] & 0x7F; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM_DARK; - } - else { - colour = COLOUR_BLACK; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - } + char *bufferWithColour = gCommonStringFormatBuffer; + char *buffer = utf8_write_codepoint(bufferWithColour, colour); + if (*listItem->flags & OBJECT_SELECTION_FLAG_6) { + colour = w->colours[1] & 0x7F; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM_DARK; + } + else { + colour = COLOUR_BLACK; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + } - if (ridePage) { - // Draw ride type - rct_string_id rideTypeStringId = get_ride_type_string_id(listItem->repositoryItem); - safe_strcpy(buffer, language_get_string(rideTypeStringId), 256 - (buffer - bufferWithColour)); - gfx_draw_string(dpi, bufferWithColour, colour, x, y); - x = w->widgets[WIDX_LIST_SORT_RIDE].left - w->widgets[WIDX_LIST].left; - } + if (ridePage) { + // Draw ride type + rct_string_id rideTypeStringId = get_ride_type_string_id(listItem->repositoryItem); + safe_strcpy(buffer, language_get_string(rideTypeStringId), 256 - (buffer - bufferWithColour)); + gfx_draw_string(dpi, bufferWithColour, colour, x, y); + x = w->widgets[WIDX_LIST_SORT_RIDE].left - w->widgets[WIDX_LIST].left; + } - // Draw text - safe_strcpy(buffer, listItem->repositoryItem->Name, 256 - (buffer - bufferWithColour)); - if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - while (*buffer != 0 && *buffer != 9) - buffer++; + // Draw text + safe_strcpy(buffer, listItem->repositoryItem->Name, 256 - (buffer - bufferWithColour)); + if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { + while (*buffer != 0 && *buffer != 9) + buffer++; - *buffer = 0; - } - gfx_draw_string(dpi, bufferWithColour, colour, x, y); - } - y += 12; - } + *buffer = 0; + } + gfx_draw_string(dpi, bufferWithColour, colour, x, y); + } + y += 12; + } } static void window_editor_object_set_page(rct_window *w, sint32 page) { - if (w->selected_tab == page) - return; + if (w->selected_tab == page) + return; - w->selected_tab = page; - w->selected_list_item = -1; - w->object_entry = (rct_object_entry *)-1; - w->scrolls[0].v_top = 0; - w->frame_no = 0; + w->selected_tab = page; + w->selected_list_item = -1; + w->object_entry = (rct_object_entry *)-1; + w->scrolls[0].v_top = 0; + w->frame_no = 0; - if (page == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS) { - _listSortType = RIDE_SORT_TYPE; - _listSortDescending = false; - } else { - _listSortType = RIDE_SORT_RIDE; - _listSortDescending = false; - } + if (page == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS) { + _listSortType = RIDE_SORT_TYPE; + _listSortDescending = false; + } else { + _listSortType = RIDE_SORT_RIDE; + _listSortDescending = false; + } - visible_list_refresh(w); - window_invalidate(w); + visible_list_refresh(w); + window_invalidate(w); } static void window_editor_object_selection_set_pressed_tab(rct_window *w) { - sint32 i; - for (i = 0; i < WINDOW_OBJECT_SELECTION_PAGE_COUNT; i++) - w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); - w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->selected_tab); + sint32 i; + for (i = 0; i < WINDOW_OBJECT_SELECTION_PAGE_COUNT; i++) + w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); + w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->selected_tab); } /** @@ -1515,11 +1515,11 @@ static void window_editor_object_selection_set_pressed_tab(rct_window *w) */ static void window_editor_object_selection_select_default_objects() { - if (_numSelectedObjectsForType[0] == 0) { - for (sint32 i = 0; i < countof(DefaultSelectedObjects); i++) { - window_editor_object_selection_select_object(0, 7, &DefaultSelectedObjects[i]); - } - } + if (_numSelectedObjectsForType[0] == 0) { + for (sint32 i = 0; i < countof(DefaultSelectedObjects); i++) { + window_editor_object_selection_select_object(0, 7, &DefaultSelectedObjects[i]); + } + } } /** @@ -1528,10 +1528,10 @@ static void window_editor_object_selection_select_default_objects() */ static void window_editor_object_selection_select_required_objects() { - sint32 i; + sint32 i; - for (i = 0; i < countof(RequiredSelectedObjects); i++) - window_editor_object_selection_select_object(0, 0xF, &RequiredSelectedObjects[i]); + for (i = 0; i < countof(RequiredSelectedObjects); i++) + window_editor_object_selection_select_object(0, 0xF, &RequiredSelectedObjects[i]); } /** @@ -1540,18 +1540,18 @@ static void window_editor_object_selection_select_required_objects() */ void reset_selected_object_count_and_size() { - for (uint8 objectType = 0; objectType < 11; objectType++) { - _numSelectedObjectsForType[objectType] = 0; - } + for (uint8 objectType = 0; objectType < 11; objectType++) { + _numSelectedObjectsForType[objectType] = 0; + } - sint32 numObjects = (sint32)object_repository_get_items_count(); - const ObjectRepositoryItem * items = object_repository_get_items(); - for (sint32 i = 0; i < numObjects; i++) { - uint8 objectType = items[i].ObjectEntry.flags & 0xF; - if (_objectSelectionFlags[i] & OBJECT_SELECTION_FLAG_SELECTED) { - _numSelectedObjectsForType[objectType]++; - } - } + sint32 numObjects = (sint32)object_repository_get_items_count(); + const ObjectRepositoryItem * items = object_repository_get_items(); + for (sint32 i = 0; i < numObjects; i++) { + uint8 objectType = items[i].ObjectEntry.flags & 0xF; + if (_objectSelectionFlags[i] & OBJECT_SELECTION_FLAG_SELECTED) { + _numSelectedObjectsForType[objectType]++; + } + } } /** @@ -1560,10 +1560,10 @@ void reset_selected_object_count_and_size() * object. */ static void set_object_selection_error(uint8 is_master_object, rct_string_id error_msg){ - gGameCommandErrorText = error_msg; - if (!is_master_object){ - reset_selected_object_count_and_size(); - } + gGameCommandErrorText = error_msg; + if (!is_master_object){ + reset_selected_object_count_and_size(); + } } /** @@ -1572,93 +1572,93 @@ static void set_object_selection_error(uint8 is_master_object, rct_string_id err */ static sint32 window_editor_object_selection_select_object(uint8 bh, sint32 flags, const rct_object_entry *entry) { - sint32 numObjects = (sint32)object_repository_get_items_count(); - const ObjectRepositoryItem * item = object_repository_find_object_by_entry(entry); - if (item == NULL) { - set_object_selection_error(bh, STR_OBJECT_SELECTION_ERR_OBJECT_DATA_NOT_FOUND); - return 0; - } + sint32 numObjects = (sint32)object_repository_get_items_count(); + const ObjectRepositoryItem * item = object_repository_find_object_by_entry(entry); + if (item == NULL) { + set_object_selection_error(bh, STR_OBJECT_SELECTION_ERR_OBJECT_DATA_NOT_FOUND); + return 0; + } - // Get repository item index - sint32 index = -1; - const ObjectRepositoryItem * items = object_repository_get_items(); - for (sint32 i = 0; i < numObjects; i++) { - if (&items[i] == item) { - index = i; - } - } + // Get repository item index + sint32 index = -1; + const ObjectRepositoryItem * items = object_repository_get_items(); + for (sint32 i = 0; i < numObjects; i++) { + if (&items[i] == item) { + index = i; + } + } - uint8 * selectionFlags = &_objectSelectionFlags[index]; - if (!(flags & 1)) { - if (!(*selectionFlags & OBJECT_SELECTION_FLAG_SELECTED)) { - return 1; - } - else if (*selectionFlags & OBJECT_SELECTION_FLAG_IN_USE) { - set_object_selection_error(bh, STR_OBJECT_SELECTION_ERR_CURRENTLY_IN_USE); - return 0; - } - else if (*selectionFlags & OBJECT_SELECTION_FLAG_ALWAYS_REQUIRED) { - set_object_selection_error(bh, STR_OBJECT_SELECTION_ERR_ALWAYS_REQUIRED); - return 0; - } + uint8 * selectionFlags = &_objectSelectionFlags[index]; + if (!(flags & 1)) { + if (!(*selectionFlags & OBJECT_SELECTION_FLAG_SELECTED)) { + return 1; + } + else if (*selectionFlags & OBJECT_SELECTION_FLAG_IN_USE) { + set_object_selection_error(bh, STR_OBJECT_SELECTION_ERR_CURRENTLY_IN_USE); + return 0; + } + else if (*selectionFlags & OBJECT_SELECTION_FLAG_ALWAYS_REQUIRED) { + set_object_selection_error(bh, STR_OBJECT_SELECTION_ERR_ALWAYS_REQUIRED); + return 0; + } - uint8 objectType = item->ObjectEntry.flags & 0xF; - if (objectType == OBJECT_TYPE_SCENERY_SETS && (flags & (1 << 2))) { - for (sint32 j = 0; j < item->NumThemeObjects; j++) { - window_editor_object_selection_select_object(++bh, flags, &item->ThemeObjects[j]); - } - } + uint8 objectType = item->ObjectEntry.flags & 0xF; + if (objectType == OBJECT_TYPE_SCENERY_SETS && (flags & (1 << 2))) { + for (sint32 j = 0; j < item->NumThemeObjects; j++) { + window_editor_object_selection_select_object(++bh, flags, &item->ThemeObjects[j]); + } + } - _numSelectedObjectsForType[objectType]--; - *selectionFlags &= ~OBJECT_SELECTION_FLAG_SELECTED; - return 1; - } else { - if (bh == 0) { - if (flags & (1 << 3)) { - *selectionFlags |= OBJECT_SELECTION_FLAG_ALWAYS_REQUIRED; - } - } - if (*selectionFlags & OBJECT_SELECTION_FLAG_SELECTED) { - return 1; - } + _numSelectedObjectsForType[objectType]--; + *selectionFlags &= ~OBJECT_SELECTION_FLAG_SELECTED; + return 1; + } else { + if (bh == 0) { + if (flags & (1 << 3)) { + *selectionFlags |= OBJECT_SELECTION_FLAG_ALWAYS_REQUIRED; + } + } + if (*selectionFlags & OBJECT_SELECTION_FLAG_SELECTED) { + return 1; + } - uint8 objectType = item->ObjectEntry.flags & 0xF; - uint16 maxObjects = object_entry_group_counts[objectType]; - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { - maxObjects = 4; - } + uint8 objectType = item->ObjectEntry.flags & 0xF; + uint16 maxObjects = object_entry_group_counts[objectType]; + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { + maxObjects = 4; + } - if (maxObjects <= _numSelectedObjectsForType[objectType]) { - set_object_selection_error(bh, STR_OBJECT_SELECTION_ERR_TOO_MANY_OF_TYPE_SELECTED); - return 0; - } + if (maxObjects <= _numSelectedObjectsForType[objectType]) { + set_object_selection_error(bh, STR_OBJECT_SELECTION_ERR_TOO_MANY_OF_TYPE_SELECTED); + return 0; + } - if (objectType == OBJECT_TYPE_SCENERY_SETS && (flags & (1 << 2))) { - for (uint16 j = 0; j < item->NumThemeObjects; j++) { - if (!window_editor_object_selection_select_object(++bh, flags, &item->ThemeObjects[j])) { - _maxObjectsWasHit = true; - } - } - } + if (objectType == OBJECT_TYPE_SCENERY_SETS && (flags & (1 << 2))) { + for (uint16 j = 0; j < item->NumThemeObjects; j++) { + if (!window_editor_object_selection_select_object(++bh, flags, &item->ThemeObjects[j])) { + _maxObjectsWasHit = true; + } + } + } - if (bh != 0 && !(flags & (1 << 1))) { - char objectName[64]; - object_create_identifier_name(objectName, 64, &item->ObjectEntry); - set_format_arg(0, const char *, objectName); - set_object_selection_error(bh, STR_OBJECT_SELECTION_ERR_SHOULD_SELECT_X_FIRST); - return 0; - } + if (bh != 0 && !(flags & (1 << 1))) { + char objectName[64]; + object_create_identifier_name(objectName, 64, &item->ObjectEntry); + set_format_arg(0, const char *, objectName); + set_object_selection_error(bh, STR_OBJECT_SELECTION_ERR_SHOULD_SELECT_X_FIRST); + return 0; + } - if (maxObjects <= _numSelectedObjectsForType[objectType]) { - set_object_selection_error(bh, STR_OBJECT_SELECTION_ERR_TOO_MANY_OF_TYPE_SELECTED); - return 0; - } + if (maxObjects <= _numSelectedObjectsForType[objectType]) { + set_object_selection_error(bh, STR_OBJECT_SELECTION_ERR_TOO_MANY_OF_TYPE_SELECTED); + return 0; + } - _numSelectedObjectsForType[objectType]++; + _numSelectedObjectsForType[objectType]++; - *selectionFlags |= OBJECT_SELECTION_FLAG_SELECTED; - return 1; - } + *selectionFlags |= OBJECT_SELECTION_FLAG_SELECTED; + return 1; + } } /** @@ -1671,11 +1671,11 @@ static sint32 window_editor_object_selection_select_object(uint8 bh, sint32 flag */ static sint32 get_object_from_object_selection(uint8 object_type, sint32 y) { - sint32 listItemIndex = y / 12; - if (listItemIndex < 0 || listItemIndex >= _numListItems) - return -1; + sint32 listItemIndex = y / 12; + if (listItemIndex < 0 || listItemIndex >= _numListItems) + return -1; - return listItemIndex; + return listItemIndex; } /** @@ -1684,22 +1684,22 @@ static sint32 get_object_from_object_selection(uint8 object_type, sint32 y) */ static void window_editor_object_selection_manage_tracks() { - reset_researched_ride_types_and_entries(); + reset_researched_ride_types_and_entries(); - gS6Info.editor_step = EDITOR_STEP_TRACK_DESIGNS_MANAGER; + gS6Info.editor_step = EDITOR_STEP_TRACK_DESIGNS_MANAGER; - sint32 entry_index = 0; - for (; ((intptr_t)object_entry_groups[0].chunks[entry_index]) == -1; ++entry_index); + sint32 entry_index = 0; + for (; ((intptr_t)object_entry_groups[0].chunks[entry_index]) == -1; ++entry_index); - rct_ride_entry* ride_entry = get_ride_entry(entry_index); - uint8* ride_type_array = &ride_entry->ride_type[0]; + rct_ride_entry* ride_entry = get_ride_entry(entry_index); + uint8* ride_type_array = &ride_entry->ride_type[0]; - sint32 ride_type; - for (sint32 i = 0; (ride_type = ride_type_array[i]) == 0xFF; i++) { } + sint32 ride_type; + for (sint32 i = 0; (ride_type = ride_type_array[i]) == 0xFF; i++) { } - ride_list_item item = { ride_type, entry_index }; - // track_load_list(item); - window_track_list_open(item); + ride_list_item item = { ride_type, entry_index }; + // track_load_list(item); + window_track_list_open(item); } /** @@ -1708,212 +1708,212 @@ static void window_editor_object_selection_manage_tracks() */ static void editor_load_selected_objects() { - sint32 numItems = (sint32)object_repository_get_items_count(); - const ObjectRepositoryItem * items = object_repository_get_items(); - for (sint32 i = 0; i < numItems; i++) { - if (_objectSelectionFlags[i] & OBJECT_SELECTION_FLAG_SELECTED) { - const ObjectRepositoryItem * item = &items[i]; - const rct_object_entry * entry = &item->ObjectEntry; - void * loadedObject = object_manager_get_loaded_object(entry); - if (loadedObject == NULL) { - loadedObject = object_manager_load_object(entry); - if (loadedObject == NULL) { - log_error("Failed to load entry %.8s", entry->name); - } - else if (!(gScreenFlags & SCREEN_FLAGS_EDITOR)) { - // Defaults selected items to researched (if in-game) - uint8 objectType = entry->flags & 0x0F; - uint8 entryIndex = object_manager_get_loaded_object_entry_index(loadedObject); - if (objectType == OBJECT_TYPE_RIDE) { - rct_ride_entry *rideType = get_ride_entry(entryIndex); - research_insert(1, 0x10000 | (rideType->ride_type[0] << 8) | entryIndex, rideType->category[0]); - } - else if (objectType == OBJECT_TYPE_SCENERY_SETS) { - research_insert(1, entryIndex, RESEARCH_CATEGORY_SCENERYSET); - } - } - } - } - } + sint32 numItems = (sint32)object_repository_get_items_count(); + const ObjectRepositoryItem * items = object_repository_get_items(); + for (sint32 i = 0; i < numItems; i++) { + if (_objectSelectionFlags[i] & OBJECT_SELECTION_FLAG_SELECTED) { + const ObjectRepositoryItem * item = &items[i]; + const rct_object_entry * entry = &item->ObjectEntry; + void * loadedObject = object_manager_get_loaded_object(entry); + if (loadedObject == NULL) { + loadedObject = object_manager_load_object(entry); + if (loadedObject == NULL) { + log_error("Failed to load entry %.8s", entry->name); + } + else if (!(gScreenFlags & SCREEN_FLAGS_EDITOR)) { + // Defaults selected items to researched (if in-game) + uint8 objectType = entry->flags & 0x0F; + uint8 entryIndex = object_manager_get_loaded_object_entry_index(loadedObject); + if (objectType == OBJECT_TYPE_RIDE) { + rct_ride_entry *rideType = get_ride_entry(entryIndex); + research_insert(1, 0x10000 | (rideType->ride_type[0] << 8) | entryIndex, rideType->category[0]); + } + else if (objectType == OBJECT_TYPE_SCENERY_SETS) { + research_insert(1, entryIndex, RESEARCH_CATEGORY_SCENERYSET); + } + } + } + } + } } static void window_editor_object_selection_update(rct_window *w) { - if (gCurrentTextBox.window.classification == w->classification && - gCurrentTextBox.window.number == w->number) { - window_update_textbox_caret(); - widget_invalidate(w, WIDX_FILTER_STRING_BUTTON); - } + if (gCurrentTextBox.window.classification == w->classification && + gCurrentTextBox.window.number == w->number) { + window_update_textbox_caret(); + widget_invalidate(w, WIDX_FILTER_STRING_BUTTON); + } - for (rct_widgetindex i = WIDX_FILTER_RIDE_TAB_TRANSPORT; i <= WIDX_FILTER_RIDE_TAB_STALL; i++) { - if (!(w->pressed_widgets & (1ULL << i))) - continue; + for (rct_widgetindex i = WIDX_FILTER_RIDE_TAB_TRANSPORT; i <= WIDX_FILTER_RIDE_TAB_STALL; i++) { + if (!(w->pressed_widgets & (1ULL << i))) + continue; - w->frame_no++; - if (w->frame_no >= window_editor_object_selection_animation_loops[i - WIDX_FILTER_RIDE_TAB_TRANSPORT]) - w->frame_no = 0; + w->frame_no++; + if (w->frame_no >= window_editor_object_selection_animation_loops[i - WIDX_FILTER_RIDE_TAB_TRANSPORT]) + w->frame_no = 0; - widget_invalidate(w, i); - break; - } + widget_invalidate(w, i); + break; + } } static void window_editor_object_selection_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (widgetIndex != WIDX_FILTER_STRING_BUTTON || text == NULL) - return; + if (widgetIndex != WIDX_FILTER_STRING_BUTTON || text == NULL) + return; - if (strcmp(_filter_string, text) == 0) - return; + if (strcmp(_filter_string, text) == 0) + return; - if (strlen(text) == 0) { - memset(_filter_string, 0, sizeof(_filter_string)); - } - else { - memset(_filter_string, 0, sizeof(_filter_string)); - safe_strcpy(_filter_string, text, sizeof(_filter_string)); - } + if (strlen(text) == 0) { + memset(_filter_string, 0, sizeof(_filter_string)); + } + else { + memset(_filter_string, 0, sizeof(_filter_string)); + safe_strcpy(_filter_string, text, sizeof(_filter_string)); + } - filter_update_counts(); + filter_update_counts(); - w->scrolls->v_top = 0; + w->scrolls->v_top = 0; - visible_list_refresh(w); - window_invalidate(w); + visible_list_refresh(w); + window_invalidate(w); } static bool filter_selected(uint8 objectFlag) { - if (_FILTER_SELECTED == _FILTER_NONSELECTED) { - return true; - } - if (_FILTER_SELECTED && objectFlag & OBJECT_SELECTION_FLAG_SELECTED) { - return true; - } - else if (_FILTER_NONSELECTED && !(objectFlag & OBJECT_SELECTION_FLAG_SELECTED)) { - return true; - } - else { - return false; - } + if (_FILTER_SELECTED == _FILTER_NONSELECTED) { + return true; + } + if (_FILTER_SELECTED && objectFlag & OBJECT_SELECTION_FLAG_SELECTED) { + return true; + } + else if (_FILTER_NONSELECTED && !(objectFlag & OBJECT_SELECTION_FLAG_SELECTED)) { + return true; + } + else { + return false; + } } static bool filter_string(const ObjectRepositoryItem * item) { - // Nothing to search for - if (_filter_string[0] == '\0') - return true; + // Nothing to search for + if (_filter_string[0] == '\0') + return true; - // Object doesn't have a name - utf8 *name = item->Name; - if (name == NULL || name[0] == '\0') - return false; + // Object doesn't have a name + utf8 *name = item->Name; + if (name == NULL || name[0] == '\0') + return false; - // Get ride type - const char *rideTypeName = language_get_string(get_ride_type_string_id(item)); + // Get ride type + const char *rideTypeName = language_get_string(get_ride_type_string_id(item)); - // Get object name (ride/vehicle for rides) and type name (rides only) - char name_lower[MAX_PATH]; - char type_lower[MAX_PATH]; - char filter_lower[sizeof(_filter_string)]; - safe_strcpy(name_lower, name, MAX_PATH); - safe_strcpy(type_lower, rideTypeName, MAX_PATH); - safe_strcpy(filter_lower, _filter_string, sizeof(_filter_string)); + // Get object name (ride/vehicle for rides) and type name (rides only) + char name_lower[MAX_PATH]; + char type_lower[MAX_PATH]; + char filter_lower[sizeof(_filter_string)]; + safe_strcpy(name_lower, name, MAX_PATH); + safe_strcpy(type_lower, rideTypeName, MAX_PATH); + safe_strcpy(filter_lower, _filter_string, sizeof(_filter_string)); - // Make use of lowercase characters only - for (sint32 i = 0; name_lower[i] != '\0'; i++) - name_lower[i] = (char)tolower(name_lower[i]); - for (sint32 i = 0; type_lower[i] != '\0'; i++) - type_lower[i] = (char)tolower(type_lower[i]); - for (sint32 i = 0; filter_lower[i] != '\0'; i++) - filter_lower[i] = (char)tolower(filter_lower[i]); + // Make use of lowercase characters only + for (sint32 i = 0; name_lower[i] != '\0'; i++) + name_lower[i] = (char)tolower(name_lower[i]); + for (sint32 i = 0; type_lower[i] != '\0'; i++) + type_lower[i] = (char)tolower(type_lower[i]); + for (sint32 i = 0; filter_lower[i] != '\0'; i++) + filter_lower[i] = (char)tolower(filter_lower[i]); - return strstr(name_lower, filter_lower) != NULL || (((item->ObjectEntry.flags & 0x0F) == OBJECT_TYPE_RIDE) && strstr(type_lower, filter_lower) != NULL); + return strstr(name_lower, filter_lower) != NULL || (((item->ObjectEntry.flags & 0x0F) == OBJECT_TYPE_RIDE) && strstr(type_lower, filter_lower) != NULL); } static bool filter_source(const ObjectRepositoryItem * item) { - if (_FILTER_ALL) - return true; + if (_FILTER_ALL) + return true; - uint8 source = (item->ObjectEntry.flags & 0xF0) >> 4; - return (_FILTER_RCT2 && source == 8) || (_FILTER_WW && source == 1) || (_FILTER_TT && source == 2) || (_FILTER_CUSTOM && source != 8 && source != 1 && source != 2); + uint8 source = (item->ObjectEntry.flags & 0xF0) >> 4; + return (_FILTER_RCT2 && source == 8) || (_FILTER_WW && source == 1) || (_FILTER_TT && source == 2) || (_FILTER_CUSTOM && source != 8 && source != 1 && source != 2); } static bool filter_chunks(const ObjectRepositoryItem * item) { - switch (item->ObjectEntry.flags & 0x0F) { - case OBJECT_TYPE_RIDE: - if(!gConfigInterface.select_by_track_type) { - if (_filter_flags & (1 << (item->RideCategory[0] + 5))) - return true; - if (_filter_flags & (1 << (item->RideCategory[1] + 5))) - return true; - } - else { - uint8 rideType = 0; - for (sint32 i = 0; i < 3; i++) { - if (item->RideType[i] != 255) { - rideType = item->RideType[i]; - break; - } - } - if (_filter_flags & (1 << (gRideCategories[rideType] + 5))) - return true; - } - return false; - } - return true; + switch (item->ObjectEntry.flags & 0x0F) { + case OBJECT_TYPE_RIDE: + if(!gConfigInterface.select_by_track_type) { + if (_filter_flags & (1 << (item->RideCategory[0] + 5))) + return true; + if (_filter_flags & (1 << (item->RideCategory[1] + 5))) + return true; + } + else { + uint8 rideType = 0; + for (sint32 i = 0; i < 3; i++) { + if (item->RideType[i] != 255) { + rideType = item->RideType[i]; + break; + } + } + if (_filter_flags & (1 << (gRideCategories[rideType] + 5))) + return true; + } + return false; + } + return true; } static void filter_update_counts() { - if (!_FILTER_ALL || strlen(_filter_string) > 0) { - uint8 *selectionFlags = _objectSelectionFlags; - for (sint32 i = 0; i < 11; i++) { - _filter_object_counts[i] = 0; - } + if (!_FILTER_ALL || strlen(_filter_string) > 0) { + uint8 *selectionFlags = _objectSelectionFlags; + for (sint32 i = 0; i < 11; i++) { + _filter_object_counts[i] = 0; + } - size_t numObjects = object_repository_get_items_count(); - const ObjectRepositoryItem * items = object_repository_get_items(); - for (size_t i = 0; i < numObjects; i++) { - const ObjectRepositoryItem * item = &items[i]; - if (filter_source(item) && - filter_string(item) && - filter_chunks(item) && - filter_selected(*selectionFlags) - ) { - uint8 objectType = item->ObjectEntry.flags & 0xF; - _filter_object_counts[objectType]++; - } - selectionFlags++; - } - } + size_t numObjects = object_repository_get_items_count(); + const ObjectRepositoryItem * items = object_repository_get_items(); + for (size_t i = 0; i < numObjects; i++) { + const ObjectRepositoryItem * item = &items[i]; + if (filter_source(item) && + filter_string(item) && + filter_chunks(item) && + filter_selected(*selectionFlags) + ) { + uint8 objectType = item->ObjectEntry.flags & 0xF; + _filter_object_counts[objectType]++; + } + selectionFlags++; + } + } } static rct_string_id get_ride_type_string_id(const ObjectRepositoryItem * item) { - rct_string_id result = STR_NONE; - for (sint32 i = 0; i < 3; i++) { - uint8 rideType = item->RideType[i]; - if (rideType != 255) { - result = RideNaming[rideType].name; - break; - } - } - return result; + rct_string_id result = STR_NONE; + for (sint32 i = 0; i < 3; i++) { + uint8 rideType = item->RideType[i]; + if (rideType != 255) { + result = RideNaming[rideType].name; + break; + } + } + return result; } bool editor_check_object_group_at_least_one_selected(sint32 checkObjectType) { - sint32 numObjects = (sint32)object_repository_get_items_count(); - const ObjectRepositoryItem * items = object_repository_get_items(); + sint32 numObjects = (sint32)object_repository_get_items_count(); + const ObjectRepositoryItem * items = object_repository_get_items(); - for (sint32 i = 0; i < numObjects; i++) { - uint8 objectType = items[i].ObjectEntry.flags & 0x0F; - if (checkObjectType == objectType && (_objectSelectionFlags[i] & OBJECT_SELECTION_FLAG_SELECTED)) { - return true; - } - } - return false; + for (sint32 i = 0; i < numObjects; i++) { + uint8 objectType = items[i].ObjectEntry.flags & 0x0F; + if (checkObjectType == objectType && (_objectSelectionFlags[i] & OBJECT_SELECTION_FLAG_SELECTED)) { + return true; + } + } + return false; } diff --git a/src/openrct2/windows/editor_objective_options.c b/src/openrct2/windows/editor_objective_options.c index 4e45d93ff7..f232677d3d 100644 --- a/src/openrct2/windows/editor_objective_options.c +++ b/src/openrct2/windows/editor_objective_options.c @@ -31,97 +31,97 @@ #pragma region Widgets enum { - WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN, - WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_RIDES, - WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_COUNT + WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN, + WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_RIDES, + WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_COUNT }; static const rct_string_id ClimateNames[] = { - STR_CLIMATE_COOL_AND_WET, - STR_CLIMATE_WARM, - STR_CLIMATE_HOT_AND_DRY, - STR_CLIMATE_COLD, + STR_CLIMATE_COOL_AND_WET, + STR_CLIMATE_WARM, + STR_CLIMATE_HOT_AND_DRY, + STR_CLIMATE_COLD, }; static const rct_string_id ObjectiveDropdownOptionNames[] = { - STR_OBJECTIVE_DROPDOWN_NONE, - STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_AT_A_GIVEN_DATE, - STR_OBJECTIVE_DROPDOWN_PARK_VALUE_AT_A_GIVEN_DATE, - STR_OBJECTIVE_DROPDOWN_HAVE_FUN, - STR_OBJECTIVE_DROPDOWN_BUILD_THE_BEST_RIDE_YOU_CAN, - STR_OBJECTIVE_DROPDOWN_BUILD_10_ROLLER_COASTERS, - STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_IN_PARK, - STR_OBJECTIVE_DROPDOWN_MONTHLY_INCOME_FROM_RIDE_TICKETS, - STR_OBJECTIVE_DROPDOWN_BUILD_10_ROLLER_COASTERS_OF_A_GIVEN_LENGTH, - STR_OBJECTIVE_DROPDOWN_FINISH_BUILDING_5_ROLLER_COASTERS, - STR_OBJECTIVE_DROPDOWN_REPAY_LOAN_AND_ACHIEVE_A_GIVEN_PARK_VALUE, - STR_OBJECTIVE_DROPDOWN_MONTHLY_PROFIT_FROM_FOOD_MERCHANDISE, + STR_OBJECTIVE_DROPDOWN_NONE, + STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_AT_A_GIVEN_DATE, + STR_OBJECTIVE_DROPDOWN_PARK_VALUE_AT_A_GIVEN_DATE, + STR_OBJECTIVE_DROPDOWN_HAVE_FUN, + STR_OBJECTIVE_DROPDOWN_BUILD_THE_BEST_RIDE_YOU_CAN, + STR_OBJECTIVE_DROPDOWN_BUILD_10_ROLLER_COASTERS, + STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_IN_PARK, + STR_OBJECTIVE_DROPDOWN_MONTHLY_INCOME_FROM_RIDE_TICKETS, + STR_OBJECTIVE_DROPDOWN_BUILD_10_ROLLER_COASTERS_OF_A_GIVEN_LENGTH, + STR_OBJECTIVE_DROPDOWN_FINISH_BUILDING_5_ROLLER_COASTERS, + STR_OBJECTIVE_DROPDOWN_REPAY_LOAN_AND_ACHIEVE_A_GIVEN_PARK_VALUE, + STR_OBJECTIVE_DROPDOWN_MONTHLY_PROFIT_FROM_FOOD_MERCHANDISE, }; enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_TAB_2, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_TAB_2, - WIDX_OBJECTIVE = 6, - WIDX_OBJECTIVE_DROPDOWN, - WIDX_OBJECTIVE_ARG_1, - WIDX_OBJECTIVE_ARG_1_INCREASE, - WIDX_OBJECTIVE_ARG_1_DECREASE, - WIDX_OBJECTIVE_ARG_2, - WIDX_OBJECTIVE_ARG_2_INCREASE, - WIDX_OBJECTIVE_ARG_2_DECREASE, - WIDX_CLIMATE, - WIDX_CLIMATE_DROPDOWN, - WIDX_PARK_NAME, - WIDX_SCENARIO_NAME, - WIDX_CATEGORY, - WIDX_CATEGORY_DROPDOWN, - WIDX_DETAILS, + WIDX_OBJECTIVE = 6, + WIDX_OBJECTIVE_DROPDOWN, + WIDX_OBJECTIVE_ARG_1, + WIDX_OBJECTIVE_ARG_1_INCREASE, + WIDX_OBJECTIVE_ARG_1_DECREASE, + WIDX_OBJECTIVE_ARG_2, + WIDX_OBJECTIVE_ARG_2_INCREASE, + WIDX_OBJECTIVE_ARG_2_DECREASE, + WIDX_CLIMATE, + WIDX_CLIMATE_DROPDOWN, + WIDX_PARK_NAME, + WIDX_SCENARIO_NAME, + WIDX_CATEGORY, + WIDX_CATEGORY_DROPDOWN, + WIDX_DETAILS, - WIDX_RIDES = 6 + WIDX_RIDES = 6 }; #define MAIN_OBJECTIVE_OPTIONS_WIDGETS \ - { WWT_FRAME, 0, 0, 449, 0, 228, STR_NONE, STR_NONE }, \ - { WWT_CAPTION, 0, 1, 448, 1, 14, STR_OBJECTIVE_SELECTION, STR_WINDOW_TITLE_TIP }, \ - { WWT_CLOSEBOX, 0, 437, 447, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, \ - { WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE }, \ - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SELECT_OBJECTIVE_AND_PARK_NAME_TIP }, \ - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SELECT_RIDES_TO_BE_PRESERVED_TIP } + { WWT_FRAME, 0, 0, 449, 0, 228, STR_NONE, STR_NONE }, \ + { WWT_CAPTION, 0, 1, 448, 1, 14, STR_OBJECTIVE_SELECTION, STR_WINDOW_TITLE_TIP }, \ + { WWT_CLOSEBOX, 0, 437, 447, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, \ + { WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE }, \ + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SELECT_OBJECTIVE_AND_PARK_NAME_TIP }, \ + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SELECT_RIDES_TO_BE_PRESERVED_TIP } static rct_widget window_editor_objective_options_main_widgets[] = { - MAIN_OBJECTIVE_OPTIONS_WIDGETS, - { WWT_DROPDOWN, 1, 98, 441, 48, 59, STR_NONE, STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 430, 440, 49, 58, STR_DROPDOWN_GLYPH, STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP }, - { WWT_SPINNER, 1, 158, 237, 65, 76, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 226, 236, 66, 70, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 226, 236, 71, 75, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 158, 277, 82, 93, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 266, 276, 83, 87, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 266, 276, 88, 92, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_DROPDOWN, 1, 98, 277, 99, 110, STR_NONE, STR_SELECT_CLIMATE_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 266, 276, 100, 109, STR_DROPDOWN_GLYPH, STR_SELECT_CLIMATE_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 370, 444, 116, 127, STR_CHANGE, STR_CHANGE_NAME_OF_PARK_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 370, 444, 133, 144, STR_CHANGE, STR_CHANGE_NAME_OF_SCENARIO_TIP }, - { WWT_DROPDOWN, 1, 98, 277, 150, 161, STR_NONE, STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN }, - { WWT_DROPDOWN_BUTTON, 1, 266, 276, 151, 160, STR_DROPDOWN_GLYPH, STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN }, - { WWT_DROPDOWN_BUTTON, 1, 370, 444, 167, 178, STR_CHANGE, STR_CHANGE_DETAIL_NOTES_ABOUT_PARK_SCENARIO_TIP }, - { WIDGETS_END } + MAIN_OBJECTIVE_OPTIONS_WIDGETS, + { WWT_DROPDOWN, 1, 98, 441, 48, 59, STR_NONE, STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 430, 440, 49, 58, STR_DROPDOWN_GLYPH, STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP }, + { WWT_SPINNER, 1, 158, 237, 65, 76, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 226, 236, 66, 70, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 226, 236, 71, 75, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 158, 277, 82, 93, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 266, 276, 83, 87, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 266, 276, 88, 92, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_DROPDOWN, 1, 98, 277, 99, 110, STR_NONE, STR_SELECT_CLIMATE_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 266, 276, 100, 109, STR_DROPDOWN_GLYPH, STR_SELECT_CLIMATE_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 370, 444, 116, 127, STR_CHANGE, STR_CHANGE_NAME_OF_PARK_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 370, 444, 133, 144, STR_CHANGE, STR_CHANGE_NAME_OF_SCENARIO_TIP }, + { WWT_DROPDOWN, 1, 98, 277, 150, 161, STR_NONE, STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN }, + { WWT_DROPDOWN_BUTTON, 1, 266, 276, 151, 160, STR_DROPDOWN_GLYPH, STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN }, + { WWT_DROPDOWN_BUTTON, 1, 370, 444, 167, 178, STR_CHANGE, STR_CHANGE_DETAIL_NOTES_ABOUT_PARK_SCENARIO_TIP }, + { WIDGETS_END } }; static rct_widget window_editor_objective_options_rides_widgets[] = { - MAIN_OBJECTIVE_OPTIONS_WIDGETS, - { WWT_SCROLL, 1, 3, 376, 60, 220, SCROLL_VERTICAL, STR_NONE }, - { WIDGETS_END } + MAIN_OBJECTIVE_OPTIONS_WIDGETS, + { WWT_SCROLL, 1, 3, 376, 60, 220, SCROLL_VERTICAL, STR_NONE }, + { WIDGETS_END } }; static rct_widget *window_editor_objective_options_widgets[] = { - window_editor_objective_options_main_widgets, - window_editor_objective_options_rides_widgets + window_editor_objective_options_main_widgets, + window_editor_objective_options_rides_widgets }; #pragma endregion @@ -149,71 +149,71 @@ static void window_editor_objective_options_rides_scrollpaint(rct_window *w, rct // 0x009A9DF4 static rct_window_event_list window_objective_options_main_events = { - NULL, - window_editor_objective_options_main_mouseup, - window_editor_objective_options_main_resize, - window_editor_objective_options_main_mousedown, - window_editor_objective_options_main_dropdown, - NULL, - window_editor_objective_options_main_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_editor_objective_options_main_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_editor_objective_options_main_invalidate, - window_editor_objective_options_main_paint, - NULL + NULL, + window_editor_objective_options_main_mouseup, + window_editor_objective_options_main_resize, + window_editor_objective_options_main_mousedown, + window_editor_objective_options_main_dropdown, + NULL, + window_editor_objective_options_main_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_editor_objective_options_main_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_editor_objective_options_main_invalidate, + window_editor_objective_options_main_paint, + NULL }; // 0x009A9F58 static rct_window_event_list window_objective_options_rides_events = { - NULL, - window_editor_objective_options_rides_mouseup, - window_editor_objective_options_rides_resize, - NULL, - NULL, - NULL, - window_editor_objective_options_rides_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_editor_objective_options_rides_scrollgetheight, - window_editor_objective_options_rides_scrollmousedown, - NULL, - window_editor_objective_options_rides_scrollmouseover, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_editor_objective_options_rides_invalidate, - window_editor_objective_options_rides_paint, - window_editor_objective_options_rides_scrollpaint + NULL, + window_editor_objective_options_rides_mouseup, + window_editor_objective_options_rides_resize, + NULL, + NULL, + NULL, + window_editor_objective_options_rides_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_editor_objective_options_rides_scrollgetheight, + window_editor_objective_options_rides_scrollmousedown, + NULL, + window_editor_objective_options_rides_scrollmouseover, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_editor_objective_options_rides_invalidate, + window_editor_objective_options_rides_paint, + window_editor_objective_options_rides_scrollpaint }; static rct_window_event_list *window_editor_objective_options_page_events[] = { - &window_objective_options_main_events, - &window_objective_options_rides_events + &window_objective_options_main_events, + &window_objective_options_rides_events }; #pragma endregion @@ -221,35 +221,35 @@ static rct_window_event_list *window_editor_objective_options_page_events[] = { #pragma region Enabled widgets static uint64 window_editor_objective_options_page_enabled_widgets[] = { - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_OBJECTIVE) | - (1 << WIDX_OBJECTIVE_DROPDOWN) | - (1 << WIDX_OBJECTIVE_ARG_1_INCREASE) | - (1 << WIDX_OBJECTIVE_ARG_1_DECREASE) | - (1 << WIDX_OBJECTIVE_ARG_2_INCREASE) | - (1 << WIDX_OBJECTIVE_ARG_2_DECREASE) | - (1 << WIDX_CLIMATE) | - (1 << WIDX_CLIMATE_DROPDOWN) | - (1 << WIDX_PARK_NAME) | - (1 << WIDX_SCENARIO_NAME) | - (1 << WIDX_CATEGORY) | - (1 << WIDX_CATEGORY_DROPDOWN) | - (1 << WIDX_DETAILS), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_OBJECTIVE) | + (1 << WIDX_OBJECTIVE_DROPDOWN) | + (1 << WIDX_OBJECTIVE_ARG_1_INCREASE) | + (1 << WIDX_OBJECTIVE_ARG_1_DECREASE) | + (1 << WIDX_OBJECTIVE_ARG_2_INCREASE) | + (1 << WIDX_OBJECTIVE_ARG_2_DECREASE) | + (1 << WIDX_CLIMATE) | + (1 << WIDX_CLIMATE_DROPDOWN) | + (1 << WIDX_PARK_NAME) | + (1 << WIDX_SCENARIO_NAME) | + (1 << WIDX_CATEGORY) | + (1 << WIDX_CATEGORY_DROPDOWN) | + (1 << WIDX_DETAILS), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) }; static uint64 window_editor_objective_options_page_hold_down_widgets[] = { - (1 << WIDX_OBJECTIVE_ARG_1_INCREASE) | - (1 << WIDX_OBJECTIVE_ARG_1_DECREASE) | - (1 << WIDX_OBJECTIVE_ARG_2_INCREASE) | - (1 << WIDX_OBJECTIVE_ARG_2_DECREASE), + (1 << WIDX_OBJECTIVE_ARG_1_INCREASE) | + (1 << WIDX_OBJECTIVE_ARG_1_DECREASE) | + (1 << WIDX_OBJECTIVE_ARG_2_INCREASE) | + (1 << WIDX_OBJECTIVE_ARG_2_DECREASE), - 0 + 0 }; #pragma endregion @@ -262,73 +262,73 @@ static void window_editor_objective_options_update_disabled_widgets(rct_window * */ void window_editor_objective_options_open() { - rct_window *w; + rct_window *w; - w = window_bring_to_front_by_class(WC_EDTIOR_OBJECTIVE_OPTIONS); - if (w != NULL) - return; + w = window_bring_to_front_by_class(WC_EDTIOR_OBJECTIVE_OPTIONS); + if (w != NULL) + return; - w = window_create_centred( - 450, - 228, - &window_objective_options_main_events, - WC_EDTIOR_OBJECTIVE_OPTIONS, - WF_10 - ); - w->widgets = window_editor_objective_options_main_widgets; - w->enabled_widgets = window_editor_objective_options_page_enabled_widgets[WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN]; - w->pressed_widgets = 0; - w->hold_down_widgets = window_editor_objective_options_page_hold_down_widgets[WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN]; - window_init_scroll_widgets(w); - w->var_4AE = 0; - w->selected_tab = WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN; - w->no_list_items = 0; - w->selected_list_item = -1; - window_editor_objective_options_update_disabled_widgets(w); + w = window_create_centred( + 450, + 228, + &window_objective_options_main_events, + WC_EDTIOR_OBJECTIVE_OPTIONS, + WF_10 + ); + w->widgets = window_editor_objective_options_main_widgets; + w->enabled_widgets = window_editor_objective_options_page_enabled_widgets[WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN]; + w->pressed_widgets = 0; + w->hold_down_widgets = window_editor_objective_options_page_hold_down_widgets[WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN]; + window_init_scroll_widgets(w); + w->var_4AE = 0; + w->selected_tab = WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN; + w->no_list_items = 0; + w->selected_list_item = -1; + window_editor_objective_options_update_disabled_widgets(w); } static void window_editor_objective_options_set_pressed_tab(rct_window *w) { - sint32 i; - for (i = 0; i < 2; i++) - w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); - w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); + sint32 i; + for (i = 0; i < 2; i++) + w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); + w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); } static void window_editor_objective_options_anchor_border_widgets(rct_window *w) { - w->widgets[WIDX_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_TITLE].right = w->width - 2; - w->widgets[WIDX_CLOSE].left = w->width - 13; - w->widgets[WIDX_CLOSE].right = w->width - 3; + w->widgets[WIDX_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_TITLE].right = w->width - 2; + w->widgets[WIDX_CLOSE].left = w->width - 13; + w->widgets[WIDX_CLOSE].right = w->width - 3; } static void window_editor_objective_options_draw_tab_images(rct_window *w, rct_drawpixelinfo *dpi) { - rct_widget *widget; - sint32 spriteIndex; + rct_widget *widget; + sint32 spriteIndex; - // Tab 1 - widget = &w->widgets[WIDX_TAB_1]; + // Tab 1 + widget = &w->widgets[WIDX_TAB_1]; - spriteIndex = SPR_TAB_OBJECTIVE_0; - if (w->page == WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN) - spriteIndex += (w->frame_no / 4) % 16; + spriteIndex = SPR_TAB_OBJECTIVE_0; + if (w->page == WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN) + spriteIndex += (w->frame_no / 4) % 16; - gfx_draw_sprite(dpi, spriteIndex, w->x + widget->left, w->y + widget->top, 0); + gfx_draw_sprite(dpi, spriteIndex, w->x + widget->left, w->y + widget->top, 0); - // Tab 2 - if (!(w->disabled_widgets & (1 << WIDX_TAB_2))) { - widget = &w->widgets[WIDX_TAB_2]; - spriteIndex = SPR_TAB_RIDE_0; - if (w->page == WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_RIDES) - spriteIndex += (w->frame_no / 4) % 16; + // Tab 2 + if (!(w->disabled_widgets & (1 << WIDX_TAB_2))) { + widget = &w->widgets[WIDX_TAB_2]; + spriteIndex = SPR_TAB_RIDE_0; + if (w->page == WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_RIDES) + spriteIndex += (w->frame_no / 4) % 16; - gfx_draw_sprite(dpi, spriteIndex, w->x + widget->left, w->y + widget->top, 0); - } + gfx_draw_sprite(dpi, spriteIndex, w->x + widget->left, w->y + widget->top, 0); + } } /** @@ -337,24 +337,24 @@ static void window_editor_objective_options_draw_tab_images(rct_window *w, rct_d */ static void window_editor_objective_options_set_page(rct_window *w, sint32 page) { - if (w->page == page) - return; + if (w->page == page) + return; - w->page = page; - w->frame_no = 0; - w->var_492 = 0; - w->no_list_items = 0; - w->selected_list_item = -1; - w->enabled_widgets = window_editor_objective_options_page_enabled_widgets[page]; - w->hold_down_widgets = window_editor_objective_options_page_hold_down_widgets[page]; - w->event_handlers = window_editor_objective_options_page_events[page]; - w->widgets = window_editor_objective_options_widgets[page]; - window_invalidate(w); - window_editor_objective_options_update_disabled_widgets(w); - window_event_resize_call(w); - window_event_invalidate_call(w); - window_init_scroll_widgets(w); - window_invalidate(w); + w->page = page; + w->frame_no = 0; + w->var_492 = 0; + w->no_list_items = 0; + w->selected_list_item = -1; + w->enabled_widgets = window_editor_objective_options_page_enabled_widgets[page]; + w->hold_down_widgets = window_editor_objective_options_page_hold_down_widgets[page]; + w->event_handlers = window_editor_objective_options_page_events[page]; + w->widgets = window_editor_objective_options_widgets[page]; + window_invalidate(w); + window_editor_objective_options_update_disabled_widgets(w); + window_event_resize_call(w); + window_event_invalidate_call(w); + window_init_scroll_widgets(w); + window_invalidate(w); } /** @@ -363,43 +363,43 @@ static void window_editor_objective_options_set_page(rct_window *w, sint32 page) */ static void window_editor_objective_options_set_objective(rct_window *w, sint32 objective) { - gScenarioObjectiveType = objective; - window_invalidate(w); + gScenarioObjectiveType = objective; + window_invalidate(w); - // Set default objective arguments - switch (objective) { - case OBJECTIVE_NONE: - case OBJECTIVE_HAVE_FUN: - case OBJECTIVE_BUILD_THE_BEST: - case OBJECTIVE_10_ROLLERCOASTERS: - break; - case OBJECTIVE_GUESTS_BY: - gScenarioObjectiveYear = 3; - gScenarioObjectiveNumGuests = 1500; - break; - case OBJECTIVE_PARK_VALUE_BY: - gScenarioObjectiveYear = 3; - gScenarioObjectiveCurrency = MONEY(50000,00); - break; - case OBJECTIVE_GUESTS_AND_RATING: - gScenarioObjectiveNumGuests = 2000; - break; - case OBJECTIVE_MONTHLY_RIDE_INCOME: - gScenarioObjectiveCurrency = MONEY(10000,00); - break; - case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: - gScenarioObjectiveNumGuests = 1200; - break; - case OBJECTIVE_FINISH_5_ROLLERCOASTERS: - gScenarioObjectiveCurrency = FIXED_2DP(6,70); - break; - case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: - gScenarioObjectiveCurrency = MONEY(50000,00); - break; - case OBJECTIVE_MONTHLY_FOOD_INCOME: - gScenarioObjectiveCurrency = MONEY(1000,00); - break; - } + // Set default objective arguments + switch (objective) { + case OBJECTIVE_NONE: + case OBJECTIVE_HAVE_FUN: + case OBJECTIVE_BUILD_THE_BEST: + case OBJECTIVE_10_ROLLERCOASTERS: + break; + case OBJECTIVE_GUESTS_BY: + gScenarioObjectiveYear = 3; + gScenarioObjectiveNumGuests = 1500; + break; + case OBJECTIVE_PARK_VALUE_BY: + gScenarioObjectiveYear = 3; + gScenarioObjectiveCurrency = MONEY(50000,00); + break; + case OBJECTIVE_GUESTS_AND_RATING: + gScenarioObjectiveNumGuests = 2000; + break; + case OBJECTIVE_MONTHLY_RIDE_INCOME: + gScenarioObjectiveCurrency = MONEY(10000,00); + break; + case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: + gScenarioObjectiveNumGuests = 1200; + break; + case OBJECTIVE_FINISH_5_ROLLERCOASTERS: + gScenarioObjectiveCurrency = FIXED_2DP(6,70); + break; + case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: + gScenarioObjectiveCurrency = MONEY(50000,00); + break; + case OBJECTIVE_MONTHLY_FOOD_INCOME: + gScenarioObjectiveCurrency = MONEY(1000,00); + break; + } } /** @@ -408,25 +408,25 @@ static void window_editor_objective_options_set_objective(rct_window *w, sint32 */ static void window_editor_objective_options_main_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - window_editor_objective_options_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_PARK_NAME: - set_format_arg(16, uint32, gParkNameArgs); - window_text_input_open(w, WIDX_PARK_NAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, gParkName, 0, 32); - break; - case WIDX_SCENARIO_NAME: - window_text_input_raw_open(w, WIDX_SCENARIO_NAME, STR_SCENARIO_NAME, STR_ENTER_SCENARIO_NAME, gS6Info.name, 64); - break; - case WIDX_DETAILS: - window_text_input_raw_open(w, WIDX_DETAILS, STR_PARK_SCENARIO_DETAILS, STR_ENTER_SCENARIO_DESCRIPTION, gS6Info.details, 256); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + window_editor_objective_options_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_PARK_NAME: + set_format_arg(16, uint32, gParkNameArgs); + window_text_input_open(w, WIDX_PARK_NAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, gParkName, 0, 32); + break; + case WIDX_SCENARIO_NAME: + window_text_input_raw_open(w, WIDX_SCENARIO_NAME, STR_SCENARIO_NAME, STR_ENTER_SCENARIO_NAME, gS6Info.name, 64); + break; + case WIDX_DETAILS: + window_text_input_raw_open(w, WIDX_DETAILS, STR_PARK_SCENARIO_DETAILS, STR_ENTER_SCENARIO_DESCRIPTION, gS6Info.details, 256); + break; + } } /** @@ -435,250 +435,250 @@ static void window_editor_objective_options_main_mouseup(rct_window *w, rct_widg */ static void window_editor_objective_options_main_resize(rct_window *w) { - window_set_resize(w, 450, 229, 450, 229); + window_set_resize(w, 450, 229, 450, 229); } static void window_editor_objective_options_show_objective_dropdown(rct_window *w) { - sint32 i, numItems, objectiveType; - rct_widget *dropdownWidget; - uint32 parkFlags; + sint32 i, numItems, objectiveType; + rct_widget *dropdownWidget; + uint32 parkFlags; - dropdownWidget = &w->widgets[WIDX_OBJECTIVE]; - parkFlags = gParkFlags; - numItems = 0; + dropdownWidget = &w->widgets[WIDX_OBJECTIVE]; + parkFlags = gParkFlags; + numItems = 0; - if (!(parkFlags & PARK_FLAGS_NO_MONEY_SCENARIO)) { - numItems += 2; - if (parkFlags & PARK_FLAGS_PARK_FREE_ENTRY) - numItems++; - } + if (!(parkFlags & PARK_FLAGS_NO_MONEY_SCENARIO)) { + numItems += 2; + if (parkFlags & PARK_FLAGS_PARK_FREE_ENTRY) + numItems++; + } - numItems += 5; + numItems += 5; - i = 0; - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_HAVE_FUN; - i++; + i = 0; + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_HAVE_FUN; + i++; - if (!(parkFlags & PARK_FLAGS_NO_MONEY_SCENARIO)) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_AT_A_GIVEN_DATE; - i++; - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_MONTHLY_PROFIT_FROM_FOOD_MERCHANDISE; - i++; - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_REPAY_LOAN_AND_ACHIEVE_A_GIVEN_PARK_VALUE; - i++; - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_PARK_VALUE_AT_A_GIVEN_DATE; - i++; - if (parkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_MONTHLY_INCOME_FROM_RIDE_TICKETS; - i++; - } - } + if (!(parkFlags & PARK_FLAGS_NO_MONEY_SCENARIO)) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_AT_A_GIVEN_DATE; + i++; + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_MONTHLY_PROFIT_FROM_FOOD_MERCHANDISE; + i++; + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_REPAY_LOAN_AND_ACHIEVE_A_GIVEN_PARK_VALUE; + i++; + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_PARK_VALUE_AT_A_GIVEN_DATE; + i++; + if (parkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_MONTHLY_INCOME_FROM_RIDE_TICKETS; + i++; + } + } - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_IN_PARK; - i++; + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_IN_PARK; + i++; - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_BUILD_10_ROLLER_COASTERS; - i++; + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_BUILD_10_ROLLER_COASTERS; + i++; - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_BUILD_10_ROLLER_COASTERS_OF_A_GIVEN_LENGTH; - i++; + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_BUILD_10_ROLLER_COASTERS_OF_A_GIVEN_LENGTH; + i++; - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_FINISH_BUILDING_5_ROLLER_COASTERS; - i++; + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = STR_OBJECTIVE_DROPDOWN_FINISH_BUILDING_5_ROLLER_COASTERS; + i++; - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - numItems, - dropdownWidget->right - dropdownWidget->left - 3 - ); + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + numItems, + dropdownWidget->right - dropdownWidget->left - 3 + ); - objectiveType = gScenarioObjectiveType; - for (i = 0; i < numItems; i++) { - if (gDropdownItemsArgs[i] - STR_OBJECTIVE_DROPDOWN_NONE == objectiveType) { - dropdown_set_checked(i, true); - break; - } - } + objectiveType = gScenarioObjectiveType; + for (i = 0; i < numItems; i++) { + if (gDropdownItemsArgs[i] - STR_OBJECTIVE_DROPDOWN_NONE == objectiveType) { + dropdown_set_checked(i, true); + break; + } + } } static void window_editor_objective_options_show_climate_dropdown(rct_window *w) { - sint32 i; - rct_widget *dropdownWidget; + sint32 i; + rct_widget *dropdownWidget; - dropdownWidget = &w->widgets[WIDX_CLIMATE]; + dropdownWidget = &w->widgets[WIDX_CLIMATE]; - for (i = 0; i < 4; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = ClimateNames[i]; - } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 4, - dropdownWidget->right - dropdownWidget->left - 3 - ); - dropdown_set_checked(gClimate, true); + for (i = 0; i < 4; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = ClimateNames[i]; + } + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 4, + dropdownWidget->right - dropdownWidget->left - 3 + ); + dropdown_set_checked(gClimate, true); } static void window_editor_objective_options_show_category_dropdown(rct_window *w) { - sint32 i; - rct_widget *dropdownWidget; + sint32 i; + rct_widget *dropdownWidget; - dropdownWidget = &w->widgets[WIDX_CATEGORY]; + dropdownWidget = &w->widgets[WIDX_CATEGORY]; - for (i = SCENARIO_CATEGORY_BEGINNER; i <= SCENARIO_CATEGORY_OTHER; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = ScenarioCategoryStringIds[i]; - } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 5, - dropdownWidget->right - dropdownWidget->left - 3 - ); - dropdown_set_checked(gS6Info.category, true); + for (i = SCENARIO_CATEGORY_BEGINNER; i <= SCENARIO_CATEGORY_OTHER; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = ScenarioCategoryStringIds[i]; + } + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 5, + dropdownWidget->right - dropdownWidget->left - 3 + ); + dropdown_set_checked(gS6Info.category, true); } static void window_editor_objective_options_arg_1_increase(rct_window *w) { - switch (gScenarioObjectiveType) { - case OBJECTIVE_PARK_VALUE_BY: - case OBJECTIVE_MONTHLY_RIDE_INCOME: - case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: - if (gScenarioObjectiveCurrency >= MONEY(2000000,00)) { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } else { - gScenarioObjectiveCurrency += MONEY(1000,0); - window_invalidate(w); - } - break; - case OBJECTIVE_MONTHLY_FOOD_INCOME: - if (gScenarioObjectiveCurrency >= MONEY(2000000,00)) { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } else { - gScenarioObjectiveCurrency += MONEY(100,0); - window_invalidate(w); - } - break; - case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: - if (gScenarioObjectiveNumGuests >= 5000) { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } else { - gScenarioObjectiveNumGuests += 100; - window_invalidate(w); - } - break; - case OBJECTIVE_FINISH_5_ROLLERCOASTERS: - if (gScenarioObjectiveCurrency >= FIXED_2DP(9,90)) { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } else { - gScenarioObjectiveCurrency += FIXED_2DP(0,10); - window_invalidate(w); - } - break; - default: - if (gScenarioObjectiveNumGuests >= 5000) { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } else { - gScenarioObjectiveNumGuests += 50; - window_invalidate(w); - } - break; - } + switch (gScenarioObjectiveType) { + case OBJECTIVE_PARK_VALUE_BY: + case OBJECTIVE_MONTHLY_RIDE_INCOME: + case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: + if (gScenarioObjectiveCurrency >= MONEY(2000000,00)) { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } else { + gScenarioObjectiveCurrency += MONEY(1000,0); + window_invalidate(w); + } + break; + case OBJECTIVE_MONTHLY_FOOD_INCOME: + if (gScenarioObjectiveCurrency >= MONEY(2000000,00)) { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } else { + gScenarioObjectiveCurrency += MONEY(100,0); + window_invalidate(w); + } + break; + case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: + if (gScenarioObjectiveNumGuests >= 5000) { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } else { + gScenarioObjectiveNumGuests += 100; + window_invalidate(w); + } + break; + case OBJECTIVE_FINISH_5_ROLLERCOASTERS: + if (gScenarioObjectiveCurrency >= FIXED_2DP(9,90)) { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } else { + gScenarioObjectiveCurrency += FIXED_2DP(0,10); + window_invalidate(w); + } + break; + default: + if (gScenarioObjectiveNumGuests >= 5000) { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } else { + gScenarioObjectiveNumGuests += 50; + window_invalidate(w); + } + break; + } } static void window_editor_objective_options_arg_1_decrease(rct_window *w) { - switch (gScenarioObjectiveType) { - case OBJECTIVE_PARK_VALUE_BY: - case OBJECTIVE_MONTHLY_RIDE_INCOME: - case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: - if (gScenarioObjectiveCurrency <= MONEY(1000,00)) { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } else { - gScenarioObjectiveCurrency -= MONEY(1000,0); - window_invalidate(w); - } - break; - case OBJECTIVE_MONTHLY_FOOD_INCOME: - if (gScenarioObjectiveCurrency <= MONEY(1000,00)) { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } else { - gScenarioObjectiveCurrency -= MONEY(100,0); - window_invalidate(w); - } - break; - case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: - if (gScenarioObjectiveNumGuests <= 1000) { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } else { - gScenarioObjectiveNumGuests -= 100; - window_invalidate(w); - } - break; - case OBJECTIVE_FINISH_5_ROLLERCOASTERS: - if (gScenarioObjectiveCurrency <= FIXED_2DP(4,00)) { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } else { - gScenarioObjectiveCurrency -= FIXED_2DP(0,10); - window_invalidate(w); - } - break; - default: - if (gScenarioObjectiveNumGuests <= 250) { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } else { - gScenarioObjectiveNumGuests -= 50; - window_invalidate(w); - } - break; - } + switch (gScenarioObjectiveType) { + case OBJECTIVE_PARK_VALUE_BY: + case OBJECTIVE_MONTHLY_RIDE_INCOME: + case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: + if (gScenarioObjectiveCurrency <= MONEY(1000,00)) { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } else { + gScenarioObjectiveCurrency -= MONEY(1000,0); + window_invalidate(w); + } + break; + case OBJECTIVE_MONTHLY_FOOD_INCOME: + if (gScenarioObjectiveCurrency <= MONEY(1000,00)) { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } else { + gScenarioObjectiveCurrency -= MONEY(100,0); + window_invalidate(w); + } + break; + case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: + if (gScenarioObjectiveNumGuests <= 1000) { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } else { + gScenarioObjectiveNumGuests -= 100; + window_invalidate(w); + } + break; + case OBJECTIVE_FINISH_5_ROLLERCOASTERS: + if (gScenarioObjectiveCurrency <= FIXED_2DP(4,00)) { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } else { + gScenarioObjectiveCurrency -= FIXED_2DP(0,10); + window_invalidate(w); + } + break; + default: + if (gScenarioObjectiveNumGuests <= 250) { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } else { + gScenarioObjectiveNumGuests -= 50; + window_invalidate(w); + } + break; + } } static void window_editor_objective_options_arg_2_increase(rct_window *w) { - if (gScenarioObjectiveYear >= 25) { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } else { - gScenarioObjectiveYear++; - window_invalidate(w); - } + if (gScenarioObjectiveYear >= 25) { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } else { + gScenarioObjectiveYear++; + window_invalidate(w); + } } static void window_editor_objective_options_arg_2_decrease(rct_window *w) { - if (gScenarioObjectiveYear <= 1) { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } else { - gScenarioObjectiveYear--; - window_invalidate(w); - } + if (gScenarioObjectiveYear <= 1) { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } else { + gScenarioObjectiveYear--; + window_invalidate(w); + } } /** @@ -687,29 +687,29 @@ static void window_editor_objective_options_arg_2_decrease(rct_window *w) */ static void window_editor_objective_options_main_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget* widget) { - switch (widgetIndex) { - case WIDX_OBJECTIVE_DROPDOWN: - window_editor_objective_options_show_objective_dropdown(w); - break; - case WIDX_OBJECTIVE_ARG_1_INCREASE: - window_editor_objective_options_arg_1_increase(w); - break; - case WIDX_OBJECTIVE_ARG_1_DECREASE: - window_editor_objective_options_arg_1_decrease(w); - break; - case WIDX_OBJECTIVE_ARG_2_INCREASE: - window_editor_objective_options_arg_2_increase(w); - break; - case WIDX_OBJECTIVE_ARG_2_DECREASE: - window_editor_objective_options_arg_2_decrease(w); - break; - case WIDX_CLIMATE_DROPDOWN: - window_editor_objective_options_show_climate_dropdown(w); - break; - case WIDX_CATEGORY_DROPDOWN: - window_editor_objective_options_show_category_dropdown(w); - break; - } + switch (widgetIndex) { + case WIDX_OBJECTIVE_DROPDOWN: + window_editor_objective_options_show_objective_dropdown(w); + break; + case WIDX_OBJECTIVE_ARG_1_INCREASE: + window_editor_objective_options_arg_1_increase(w); + break; + case WIDX_OBJECTIVE_ARG_1_DECREASE: + window_editor_objective_options_arg_1_decrease(w); + break; + case WIDX_OBJECTIVE_ARG_2_INCREASE: + window_editor_objective_options_arg_2_increase(w); + break; + case WIDX_OBJECTIVE_ARG_2_DECREASE: + window_editor_objective_options_arg_2_decrease(w); + break; + case WIDX_CLIMATE_DROPDOWN: + window_editor_objective_options_show_climate_dropdown(w); + break; + case WIDX_CATEGORY_DROPDOWN: + window_editor_objective_options_show_category_dropdown(w); + break; + } } /** @@ -718,31 +718,31 @@ static void window_editor_objective_options_main_mousedown(rct_widgetindex widge */ static void window_editor_objective_options_main_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - uint8 newObjectiveType; + uint8 newObjectiveType; - if (dropdownIndex == -1) - return; + if (dropdownIndex == -1) + return; - switch (widgetIndex) { - case WIDX_OBJECTIVE_DROPDOWN: - // TODO: Don't rely on string ID order - newObjectiveType = (uint8)(gDropdownItemsArgs[dropdownIndex] - STR_OBJECTIVE_DROPDOWN_NONE); - if (gScenarioObjectiveType != newObjectiveType) - window_editor_objective_options_set_objective(w, newObjectiveType); - break; - case WIDX_CLIMATE_DROPDOWN: - if (gClimate != (uint8)dropdownIndex) { - gClimate = (uint8)dropdownIndex; - window_invalidate(w); - } - break; - case WIDX_CATEGORY_DROPDOWN: - if (gS6Info.category != (uint8)dropdownIndex) { - gS6Info.category = (uint8)dropdownIndex; - window_invalidate(w); - } - break; - } + switch (widgetIndex) { + case WIDX_OBJECTIVE_DROPDOWN: + // TODO: Don't rely on string ID order + newObjectiveType = (uint8)(gDropdownItemsArgs[dropdownIndex] - STR_OBJECTIVE_DROPDOWN_NONE); + if (gScenarioObjectiveType != newObjectiveType) + window_editor_objective_options_set_objective(w, newObjectiveType); + break; + case WIDX_CLIMATE_DROPDOWN: + if (gClimate != (uint8)dropdownIndex) { + gClimate = (uint8)dropdownIndex; + window_invalidate(w); + } + break; + case WIDX_CATEGORY_DROPDOWN: + if (gS6Info.category != (uint8)dropdownIndex) { + gS6Info.category = (uint8)dropdownIndex; + window_invalidate(w); + } + break; + } } /** @@ -751,34 +751,34 @@ static void window_editor_objective_options_main_dropdown(rct_window *w, rct_wid */ static void window_editor_objective_options_main_update(rct_window *w) { - uint32 parkFlags; - uint8 objectiveType; + uint32 parkFlags; + uint8 objectiveType; - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_1); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_1); - parkFlags = gParkFlags; - objectiveType = gScenarioObjectiveType; + parkFlags = gParkFlags; + objectiveType = gScenarioObjectiveType; - // Reset objective if invalid - if (( - (parkFlags & PARK_FLAGS_NO_MONEY_SCENARIO) && + // Reset objective if invalid + if (( + (parkFlags & PARK_FLAGS_NO_MONEY_SCENARIO) && - // The following objectives are the only valid objectives when there is no money - objectiveType != OBJECTIVE_HAVE_FUN && - objectiveType != OBJECTIVE_10_ROLLERCOASTERS && - objectiveType != OBJECTIVE_GUESTS_AND_RATING && - objectiveType != OBJECTIVE_10_ROLLERCOASTERS_LENGTH && - objectiveType != OBJECTIVE_FINISH_5_ROLLERCOASTERS - ) || ( - // The park must be free for the monthly ride income objective - !(parkFlags & PARK_FLAGS_PARK_FREE_ENTRY) && - objectiveType == OBJECTIVE_MONTHLY_RIDE_INCOME - )) { - // Reset objective - window_editor_objective_options_set_objective(w, OBJECTIVE_GUESTS_AND_RATING); - } + // The following objectives are the only valid objectives when there is no money + objectiveType != OBJECTIVE_HAVE_FUN && + objectiveType != OBJECTIVE_10_ROLLERCOASTERS && + objectiveType != OBJECTIVE_GUESTS_AND_RATING && + objectiveType != OBJECTIVE_10_ROLLERCOASTERS_LENGTH && + objectiveType != OBJECTIVE_FINISH_5_ROLLERCOASTERS + ) || ( + // The park must be free for the monthly ride income objective + !(parkFlags & PARK_FLAGS_PARK_FREE_ENTRY) && + objectiveType == OBJECTIVE_MONTHLY_RIDE_INCOME + )) { + // Reset objective + window_editor_objective_options_set_objective(w, OBJECTIVE_GUESTS_AND_RATING); + } } /** @@ -787,35 +787,35 @@ static void window_editor_objective_options_main_update(rct_window *w) */ static void window_editor_objective_options_main_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (text == NULL) - return; + if (text == NULL) + return; - switch (widgetIndex) { - case WIDX_PARK_NAME: - park_set_name(text); + switch (widgetIndex) { + case WIDX_PARK_NAME: + park_set_name(text); - if (gS6Info.name[0] == 0) - format_string(gS6Info.name, 64, gParkName, &gParkNameArgs); - break; - case WIDX_SCENARIO_NAME: - safe_strcpy(gS6Info.name, text, 64); - if (strnlen(gS6Info.name, 64) == 64) - { - gS6Info.name[64 - 1] = '\0'; - log_warning("Truncated S6 name: %s", gS6Info.name); - } - window_invalidate(w); - break; - case WIDX_DETAILS: - safe_strcpy(gS6Info.details, text, 256); - if (strnlen(gS6Info.details, 256) == 256) - { - gS6Info.details[256 - 1] = '\0'; - log_warning("Truncated S6 name: %s", gS6Info.details); - } - window_invalidate(w); - break; - } + if (gS6Info.name[0] == 0) + format_string(gS6Info.name, 64, gParkName, &gParkNameArgs); + break; + case WIDX_SCENARIO_NAME: + safe_strcpy(gS6Info.name, text, 64); + if (strnlen(gS6Info.name, 64) == 64) + { + gS6Info.name[64 - 1] = '\0'; + log_warning("Truncated S6 name: %s", gS6Info.name); + } + window_invalidate(w); + break; + case WIDX_DETAILS: + safe_strcpy(gS6Info.details, text, 256); + if (strnlen(gS6Info.details, 256) == 256) + { + gS6Info.details[256 - 1] = '\0'; + log_warning("Truncated S6 name: %s", gS6Info.details); + } + window_invalidate(w); + break; + } } /** @@ -824,63 +824,63 @@ static void window_editor_objective_options_main_textinput(rct_window *w, rct_wi */ static void window_editor_objective_options_main_invalidate(rct_window *w) { - rct_widget *widgets; - rct_stex_entry *stex; + rct_widget *widgets; + rct_stex_entry *stex; - stex = g_stexEntries[0]; - if (stex == (rct_stex_entry*)-1) - stex = NULL; + stex = g_stexEntries[0]; + if (stex == (rct_stex_entry*)-1) + stex = NULL; - widgets = window_editor_objective_options_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_editor_objective_options_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_editor_objective_options_set_pressed_tab(w); + window_editor_objective_options_set_pressed_tab(w); - if (stex == NULL) - w->disabled_widgets &= ~((1 << WIDX_PARK_NAME) | (1 << WIDX_SCENARIO_NAME)); - else - w->disabled_widgets |= ((1 << WIDX_PARK_NAME) | (1 << WIDX_SCENARIO_NAME)); + if (stex == NULL) + w->disabled_widgets &= ~((1 << WIDX_PARK_NAME) | (1 << WIDX_SCENARIO_NAME)); + else + w->disabled_widgets |= ((1 << WIDX_PARK_NAME) | (1 << WIDX_SCENARIO_NAME)); - switch (gScenarioObjectiveType) { - case OBJECTIVE_GUESTS_BY: - case OBJECTIVE_PARK_VALUE_BY: - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1].type = WWT_SPINNER; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_INCREASE].type = WWT_DROPDOWN_BUTTON; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_DECREASE].type = WWT_DROPDOWN_BUTTON; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2].type = WWT_SPINNER; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_INCREASE].type = WWT_DROPDOWN_BUTTON; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_DECREASE].type = WWT_DROPDOWN_BUTTON; - break; - case OBJECTIVE_GUESTS_AND_RATING: - case OBJECTIVE_MONTHLY_RIDE_INCOME: - case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: - case OBJECTIVE_FINISH_5_ROLLERCOASTERS: - case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: - case OBJECTIVE_MONTHLY_FOOD_INCOME: - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1].type = WWT_SPINNER; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_INCREASE].type = WWT_DROPDOWN_BUTTON; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_DECREASE].type = WWT_DROPDOWN_BUTTON; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2].type = WWT_EMPTY; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_INCREASE].type = WWT_EMPTY; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_DECREASE].type = WWT_EMPTY; - break; - default: - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1].type = WWT_EMPTY; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_INCREASE].type = WWT_EMPTY; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_DECREASE].type = WWT_EMPTY; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2].type = WWT_EMPTY; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_INCREASE].type = WWT_EMPTY; - window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_DECREASE].type = WWT_EMPTY; - break; - } + switch (gScenarioObjectiveType) { + case OBJECTIVE_GUESTS_BY: + case OBJECTIVE_PARK_VALUE_BY: + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1].type = WWT_SPINNER; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_INCREASE].type = WWT_DROPDOWN_BUTTON; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_DECREASE].type = WWT_DROPDOWN_BUTTON; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2].type = WWT_SPINNER; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_INCREASE].type = WWT_DROPDOWN_BUTTON; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_DECREASE].type = WWT_DROPDOWN_BUTTON; + break; + case OBJECTIVE_GUESTS_AND_RATING: + case OBJECTIVE_MONTHLY_RIDE_INCOME: + case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: + case OBJECTIVE_FINISH_5_ROLLERCOASTERS: + case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: + case OBJECTIVE_MONTHLY_FOOD_INCOME: + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1].type = WWT_SPINNER; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_INCREASE].type = WWT_DROPDOWN_BUTTON; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_DECREASE].type = WWT_DROPDOWN_BUTTON; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2].type = WWT_EMPTY; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_INCREASE].type = WWT_EMPTY; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_DECREASE].type = WWT_EMPTY; + break; + default: + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1].type = WWT_EMPTY; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_INCREASE].type = WWT_EMPTY; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_DECREASE].type = WWT_EMPTY; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2].type = WWT_EMPTY; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_INCREASE].type = WWT_EMPTY; + window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_DECREASE].type = WWT_EMPTY; + break; + } - window_editor_objective_options_main_widgets[WIDX_CLOSE].type = - (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX; + window_editor_objective_options_main_widgets[WIDX_CLOSE].type = + (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX; - window_editor_objective_options_anchor_border_widgets(w); + window_editor_objective_options_anchor_border_widgets(w); } /** @@ -889,166 +889,166 @@ static void window_editor_objective_options_main_invalidate(rct_window *w) */ static void window_editor_objective_options_main_paint(rct_window *w, rct_drawpixelinfo *dpi) { - rct_stex_entry *stex; - sint32 x, y, width; - rct_string_id stringId; - uint32 arg; + rct_stex_entry *stex; + sint32 x, y, width; + rct_string_id stringId; + uint32 arg; - window_draw_widgets(w, dpi); - window_editor_objective_options_draw_tab_images(w, dpi); + window_draw_widgets(w, dpi); + window_editor_objective_options_draw_tab_images(w, dpi); - stex = g_stexEntries[0]; - if (stex == (rct_stex_entry*)-1) - stex = NULL; + stex = g_stexEntries[0]; + if (stex == (rct_stex_entry*)-1) + stex = NULL; - // Objective label - x = w->x + 8; - y = w->y + w->widgets[WIDX_OBJECTIVE].top; - gfx_draw_string_left(dpi, STR_OBJECTIVE_WINDOW, NULL, COLOUR_BLACK, x, y); + // Objective label + x = w->x + 8; + y = w->y + w->widgets[WIDX_OBJECTIVE].top; + gfx_draw_string_left(dpi, STR_OBJECTIVE_WINDOW, NULL, COLOUR_BLACK, x, y); - // Objective value - x = w->x + w->widgets[WIDX_OBJECTIVE].left + 1; - y = w->y + w->widgets[WIDX_OBJECTIVE].top; - stringId = ObjectiveDropdownOptionNames[gScenarioObjectiveType]; - gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, x, y); + // Objective value + x = w->x + w->widgets[WIDX_OBJECTIVE].left + 1; + y = w->y + w->widgets[WIDX_OBJECTIVE].top; + stringId = ObjectiveDropdownOptionNames[gScenarioObjectiveType]; + gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, x, y); - if (w->widgets[WIDX_OBJECTIVE_ARG_1].type != WWT_EMPTY) { - // Objective argument 1 label - x = w->x + 28; - y = w->y + w->widgets[WIDX_OBJECTIVE_ARG_1].top; - switch (gScenarioObjectiveType) { - case OBJECTIVE_GUESTS_BY: - case OBJECTIVE_GUESTS_AND_RATING: - stringId = STR_WINDOW_OBJECTIVE_GUEST_COUNT; - break; - case OBJECTIVE_PARK_VALUE_BY: - case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: - stringId = STR_WINDOW_OBJECTIVE_PARK_VALUE; - break; - case OBJECTIVE_MONTHLY_RIDE_INCOME: - stringId = STR_WINDOW_OBJECTIVE_MONTHLY_INCOME; - break; - case OBJECTIVE_MONTHLY_FOOD_INCOME: - stringId = STR_WINDOW_OBJECTIVE_MONTHLY_PROFIT; - break; - case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: - stringId = STR_WINDOW_OBJECTIVE_MINIMUM_LENGTH; - break; - default: - stringId = STR_WINDOW_OBJECTIVE_EXCITEMENT_RATING; - break; - } - gfx_draw_string_left(dpi, stringId, NULL, COLOUR_BLACK, x, y); + if (w->widgets[WIDX_OBJECTIVE_ARG_1].type != WWT_EMPTY) { + // Objective argument 1 label + x = w->x + 28; + y = w->y + w->widgets[WIDX_OBJECTIVE_ARG_1].top; + switch (gScenarioObjectiveType) { + case OBJECTIVE_GUESTS_BY: + case OBJECTIVE_GUESTS_AND_RATING: + stringId = STR_WINDOW_OBJECTIVE_GUEST_COUNT; + break; + case OBJECTIVE_PARK_VALUE_BY: + case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: + stringId = STR_WINDOW_OBJECTIVE_PARK_VALUE; + break; + case OBJECTIVE_MONTHLY_RIDE_INCOME: + stringId = STR_WINDOW_OBJECTIVE_MONTHLY_INCOME; + break; + case OBJECTIVE_MONTHLY_FOOD_INCOME: + stringId = STR_WINDOW_OBJECTIVE_MONTHLY_PROFIT; + break; + case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: + stringId = STR_WINDOW_OBJECTIVE_MINIMUM_LENGTH; + break; + default: + stringId = STR_WINDOW_OBJECTIVE_EXCITEMENT_RATING; + break; + } + gfx_draw_string_left(dpi, stringId, NULL, COLOUR_BLACK, x, y); - // Objective argument 1 value - x = w->x + w->widgets[WIDX_OBJECTIVE_ARG_1].left + 1; - y = w->y + w->widgets[WIDX_OBJECTIVE_ARG_1].top; - switch (gScenarioObjectiveType) { - case OBJECTIVE_GUESTS_BY: - case OBJECTIVE_GUESTS_AND_RATING: - stringId = STR_WINDOW_OBJECTIVE_VALUE_GUEST_COUNT; - arg = gScenarioObjectiveNumGuests; - break; - case OBJECTIVE_PARK_VALUE_BY: - case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: - case OBJECTIVE_MONTHLY_RIDE_INCOME: - case OBJECTIVE_MONTHLY_FOOD_INCOME: - stringId = STR_CURRENCY_FORMAT_LABEL; - arg = gScenarioObjectiveCurrency; - break; - case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: - stringId = STR_WINDOW_OBJECTIVE_VALUE_LENGTH; - arg = gScenarioObjectiveNumGuests; - break; - default: - stringId = STR_WINDOW_OBJECTIVE_VALUE_RATING; - arg = gScenarioObjectiveCurrency; - break; - } - gfx_draw_string_left(dpi, stringId, &arg, COLOUR_BLACK, x, y); - } + // Objective argument 1 value + x = w->x + w->widgets[WIDX_OBJECTIVE_ARG_1].left + 1; + y = w->y + w->widgets[WIDX_OBJECTIVE_ARG_1].top; + switch (gScenarioObjectiveType) { + case OBJECTIVE_GUESTS_BY: + case OBJECTIVE_GUESTS_AND_RATING: + stringId = STR_WINDOW_OBJECTIVE_VALUE_GUEST_COUNT; + arg = gScenarioObjectiveNumGuests; + break; + case OBJECTIVE_PARK_VALUE_BY: + case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: + case OBJECTIVE_MONTHLY_RIDE_INCOME: + case OBJECTIVE_MONTHLY_FOOD_INCOME: + stringId = STR_CURRENCY_FORMAT_LABEL; + arg = gScenarioObjectiveCurrency; + break; + case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: + stringId = STR_WINDOW_OBJECTIVE_VALUE_LENGTH; + arg = gScenarioObjectiveNumGuests; + break; + default: + stringId = STR_WINDOW_OBJECTIVE_VALUE_RATING; + arg = gScenarioObjectiveCurrency; + break; + } + gfx_draw_string_left(dpi, stringId, &arg, COLOUR_BLACK, x, y); + } - if (w->widgets[WIDX_OBJECTIVE_ARG_2].type != WWT_EMPTY) { - // Objective argument 2 label - x = w->x + 28; - y = w->y + w->widgets[WIDX_OBJECTIVE_ARG_2].top; - gfx_draw_string_left(dpi, STR_WINDOW_OBJECTIVE_DATE, NULL, COLOUR_BLACK, x, y); + if (w->widgets[WIDX_OBJECTIVE_ARG_2].type != WWT_EMPTY) { + // Objective argument 2 label + x = w->x + 28; + y = w->y + w->widgets[WIDX_OBJECTIVE_ARG_2].top; + gfx_draw_string_left(dpi, STR_WINDOW_OBJECTIVE_DATE, NULL, COLOUR_BLACK, x, y); - // Objective argument 2 value - x = w->x + w->widgets[WIDX_OBJECTIVE_ARG_2].left + 1; - y = w->y + w->widgets[WIDX_OBJECTIVE_ARG_2].top; - arg = (gScenarioObjectiveYear * MONTH_COUNT) - 1; - gfx_draw_string_left(dpi, STR_WINDOW_OBJECTIVE_VALUE_DATE, &arg, COLOUR_BLACK, x, y); - } + // Objective argument 2 value + x = w->x + w->widgets[WIDX_OBJECTIVE_ARG_2].left + 1; + y = w->y + w->widgets[WIDX_OBJECTIVE_ARG_2].top; + arg = (gScenarioObjectiveYear * MONTH_COUNT) - 1; + gfx_draw_string_left(dpi, STR_WINDOW_OBJECTIVE_VALUE_DATE, &arg, COLOUR_BLACK, x, y); + } - // Climate label - x = w->x + 8; - y = w->y + w->widgets[WIDX_CLIMATE].top; - gfx_draw_string_left(dpi, STR_CLIMATE_LABEL, NULL, COLOUR_BLACK, x, y); + // Climate label + x = w->x + 8; + y = w->y + w->widgets[WIDX_CLIMATE].top; + gfx_draw_string_left(dpi, STR_CLIMATE_LABEL, NULL, COLOUR_BLACK, x, y); - // Climate value - x = w->x + w->widgets[WIDX_CLIMATE].left + 1; - y = w->y + w->widgets[WIDX_CLIMATE].top; - stringId = ClimateNames[gClimate]; - gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, x, y); + // Climate value + x = w->x + w->widgets[WIDX_CLIMATE].left + 1; + y = w->y + w->widgets[WIDX_CLIMATE].top; + stringId = ClimateNames[gClimate]; + gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, x, y); - // Park name - x = w->x + 8; - y = w->y + w->widgets[WIDX_PARK_NAME].top; - width = w->widgets[WIDX_PARK_NAME].left - 16; + // Park name + x = w->x + 8; + y = w->y + w->widgets[WIDX_PARK_NAME].top; + width = w->widgets[WIDX_PARK_NAME].left - 16; - if (stex != NULL) { - set_format_arg(0, rct_string_id, stex->park_name); - } else { - set_format_arg(0, rct_string_id, gParkName); - } - set_format_arg(2, uint32, gParkNameArgs); - gfx_draw_string_left_clipped(dpi, STR_WINDOW_PARK_NAME, gCommonFormatArgs, COLOUR_BLACK, x, y, width); + if (stex != NULL) { + set_format_arg(0, rct_string_id, stex->park_name); + } else { + set_format_arg(0, rct_string_id, gParkName); + } + set_format_arg(2, uint32, gParkNameArgs); + gfx_draw_string_left_clipped(dpi, STR_WINDOW_PARK_NAME, gCommonFormatArgs, COLOUR_BLACK, x, y, width); - // Scenario name - x = w->x + 8; - y = w->y + w->widgets[WIDX_SCENARIO_NAME].top; - width = w->widgets[WIDX_SCENARIO_NAME].left - 16; + // Scenario name + x = w->x + 8; + y = w->y + w->widgets[WIDX_SCENARIO_NAME].top; + width = w->widgets[WIDX_SCENARIO_NAME].left - 16; - if (stex != NULL) { - set_format_arg(0, rct_string_id, stex->scenario_name); - set_format_arg(2, uint32, gParkNameArgs); - } else { - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, const char *, gS6Info.name); - } + if (stex != NULL) { + set_format_arg(0, rct_string_id, stex->scenario_name); + set_format_arg(2, uint32, gParkNameArgs); + } else { + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, const char *, gS6Info.name); + } - gfx_draw_string_left_clipped(dpi, STR_WINDOW_SCENARIO_NAME, gCommonFormatArgs, COLOUR_BLACK, x, y, width); + gfx_draw_string_left_clipped(dpi, STR_WINDOW_SCENARIO_NAME, gCommonFormatArgs, COLOUR_BLACK, x, y, width); - // Scenario details label - x = w->x + 8; - y = w->y + w->widgets[WIDX_DETAILS].top; - gfx_draw_string_left(dpi, STR_WINDOW_PARK_DETAILS, NULL, COLOUR_BLACK, x, y); + // Scenario details label + x = w->x + 8; + y = w->y + w->widgets[WIDX_DETAILS].top; + gfx_draw_string_left(dpi, STR_WINDOW_PARK_DETAILS, NULL, COLOUR_BLACK, x, y); - // Scenario details value - x = w->x + 16; - y = w->y + w->widgets[WIDX_DETAILS].top + 10; - width = w->widgets[WIDX_DETAILS].left - 4; + // Scenario details value + x = w->x + 16; + y = w->y + w->widgets[WIDX_DETAILS].top + 10; + width = w->widgets[WIDX_DETAILS].left - 4; - if (stex != NULL) { - set_format_arg(0, rct_string_id, stex->details); - set_format_arg(2, uint32, gParkNameArgs); - } else { - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, const char *, gS6Info.details); - } - gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, width, STR_BLACK_STRING, COLOUR_BLACK); + if (stex != NULL) { + set_format_arg(0, rct_string_id, stex->details); + set_format_arg(2, uint32, gParkNameArgs); + } else { + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, const char *, gS6Info.details); + } + gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, width, STR_BLACK_STRING, COLOUR_BLACK); - // Scenario category label - x = w->x + 8; - y = w->y + w->widgets[WIDX_CATEGORY].top; - gfx_draw_string_left(dpi, STR_WINDOW_SCENARIO_GROUP, NULL, COLOUR_BLACK, x, y); + // Scenario category label + x = w->x + 8; + y = w->y + w->widgets[WIDX_CATEGORY].top; + gfx_draw_string_left(dpi, STR_WINDOW_SCENARIO_GROUP, NULL, COLOUR_BLACK, x, y); - // Scenario category value - x = w->x + w->widgets[WIDX_CATEGORY].left + 1; - y = w->y + w->widgets[WIDX_CATEGORY].top; - stringId = ScenarioCategoryStringIds[gS6Info.category]; - gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, x, y); + // Scenario category value + x = w->x + w->widgets[WIDX_CATEGORY].left + 1; + y = w->y + w->widgets[WIDX_CATEGORY].top; + stringId = ScenarioCategoryStringIds[gS6Info.category]; + gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, x, y); } /** @@ -1057,15 +1057,15 @@ static void window_editor_objective_options_main_paint(rct_window *w, rct_drawpi */ static void window_editor_objective_options_rides_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - window_editor_objective_options_set_page(w, widgetIndex - WIDX_TAB_1); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + window_editor_objective_options_set_page(w, widgetIndex - WIDX_TAB_1); + break; + } } /** @@ -1074,7 +1074,7 @@ static void window_editor_objective_options_rides_mouseup(rct_window *w, rct_wid */ static void window_editor_objective_options_rides_resize(rct_window *w) { - window_set_resize(w, 380, 224, 380, 224); + window_set_resize(w, 380, 224, 380, 224); } /** @@ -1083,26 +1083,26 @@ static void window_editor_objective_options_rides_resize(rct_window *w) */ static void window_editor_objective_options_rides_update(rct_window *w) { - sint32 i, numItems; - rct_ride *ride; + sint32 i, numItems; + rct_ride *ride; - w->frame_no++; - window_event_invalidate_call(w); - window_event_resize_call(w); - widget_invalidate(w, WIDX_TAB_2); + w->frame_no++; + window_event_invalidate_call(w); + window_event_resize_call(w); + widget_invalidate(w, WIDX_TAB_2); - numItems = 0; - FOR_ALL_RIDES(i, ride) { - if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { - w->list_item_positions[numItems] = i; - numItems++; - } - } + numItems = 0; + FOR_ALL_RIDES(i, ride) { + if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { + w->list_item_positions[numItems] = i; + numItems++; + } + } - if (w->no_list_items != numItems) { - w->no_list_items = numItems; - window_invalidate(w); - } + if (w->no_list_items != numItems) { + w->no_list_items = numItems; + window_invalidate(w); + } } /** @@ -1111,7 +1111,7 @@ static void window_editor_objective_options_rides_update(rct_window *w) */ static void window_editor_objective_options_rides_scrollgetheight(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - *height = w->no_list_items * 12; + *height = w->no_list_items * 12; } /** @@ -1120,16 +1120,16 @@ static void window_editor_objective_options_rides_scrollgetheight(rct_window *w, */ static void window_editor_objective_options_rides_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - rct_ride *ride; - sint32 i; + rct_ride *ride; + sint32 i; - i = y / 12; - if (i < 0 || i >= w->no_list_items) - return; + i = y / 12; + if (i < 0 || i >= w->no_list_items) + return; - ride = get_ride(w->list_item_positions[i]); - ride->lifecycle_flags ^= RIDE_LIFECYCLE_INDESTRUCTIBLE; - window_invalidate(w); + ride = get_ride(w->list_item_positions[i]); + ride->lifecycle_flags ^= RIDE_LIFECYCLE_INDESTRUCTIBLE; + window_invalidate(w); } /** @@ -1138,16 +1138,16 @@ static void window_editor_objective_options_rides_scrollmousedown(rct_window *w, */ static void window_editor_objective_options_rides_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 i; + sint32 i; - i = y / 12; - if (i < 0 || i >= w->no_list_items) - return; + i = y / 12; + if (i < 0 || i >= w->no_list_items) + return; - if (w->selected_list_item != i) { - w->selected_list_item = i; - window_invalidate(w); - } + if (w->selected_list_item != i) { + w->selected_list_item = i; + window_invalidate(w); + } } /** @@ -1156,19 +1156,19 @@ static void window_editor_objective_options_rides_scrollmouseover(rct_window *w, */ static void window_editor_objective_options_rides_invalidate(rct_window *w) { - rct_widget *widgets; + rct_widget *widgets; - widgets = window_editor_objective_options_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_editor_objective_options_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_editor_objective_options_set_pressed_tab(w); + window_editor_objective_options_set_pressed_tab(w); - window_editor_objective_options_main_widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX; + window_editor_objective_options_main_widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX; - window_editor_objective_options_anchor_border_widgets(w); + window_editor_objective_options_anchor_border_widgets(w); } /** @@ -1177,10 +1177,10 @@ static void window_editor_objective_options_rides_invalidate(rct_window *w) */ static void window_editor_objective_options_rides_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_editor_objective_options_draw_tab_images(w, dpi); + window_draw_widgets(w, dpi); + window_editor_objective_options_draw_tab_images(w, dpi); - gfx_draw_string_left(dpi, STR_WINDOW_PRESERVATION_ORDER, NULL, COLOUR_BLACK, w->x + 6, w->y + w->widgets[WIDX_PAGE_BACKGROUND].top + 3); + gfx_draw_string_left(dpi, STR_WINDOW_PRESERVATION_ORDER, NULL, COLOUR_BLACK, w->x + 6, w->y + w->widgets[WIDX_PAGE_BACKGROUND].top + 3); } /** @@ -1189,39 +1189,39 @@ static void window_editor_objective_options_rides_paint(rct_window *w, rct_drawp */ static void window_editor_objective_options_rides_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - rct_string_id stringId; - rct_ride *ride; + rct_string_id stringId; + rct_ride *ride; - sint32 colour = ColourMapA[w->colours[1]].mid_light; - gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, colour); + sint32 colour = ColourMapA[w->colours[1]].mid_light; + gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, colour); - for (sint32 i = 0; i < w->no_list_items; i++) { - sint32 y = i * 12; + for (sint32 i = 0; i < w->no_list_items; i++) { + sint32 y = i * 12; - if (y + 12 < dpi->y || y >= dpi->y + dpi->height) - continue; + if (y + 12 < dpi->y || y >= dpi->y + dpi->height) + continue; - // Checkbox - gfx_fill_rect_inset(dpi, 2, y, 11, y + 10, w->colours[1], INSET_RECT_F_E0); + // Checkbox + gfx_fill_rect_inset(dpi, 2, y, 11, y + 10, w->colours[1], INSET_RECT_F_E0); - // Highlighted - if (i == w->selected_list_item) { - stringId = STR_WINDOW_COLOUR_2_STRINGID; - gfx_filter_rect(dpi, 0, y, w->width, y + 11, PALETTE_DARKEN_1); - } else { - stringId = STR_BLACK_STRING; - } + // Highlighted + if (i == w->selected_list_item) { + stringId = STR_WINDOW_COLOUR_2_STRINGID; + gfx_filter_rect(dpi, 0, y, w->width, y + 11, PALETTE_DARKEN_1); + } else { + stringId = STR_BLACK_STRING; + } - // Checkbox mark - ride = get_ride(w->list_item_positions[i]); - if (ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE) { - gCurrentFontSpriteBase = stringId == STR_WINDOW_COLOUR_2_STRINGID ? FONT_SPRITE_BASE_MEDIUM_EXTRA_DARK : FONT_SPRITE_BASE_MEDIUM_DARK; - gfx_draw_string(dpi, (char*)CheckBoxMarkString, w->colours[1] & 0x7F, 2, y); - } + // Checkbox mark + ride = get_ride(w->list_item_positions[i]); + if (ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE) { + gCurrentFontSpriteBase = stringId == STR_WINDOW_COLOUR_2_STRINGID ? FONT_SPRITE_BASE_MEDIUM_EXTRA_DARK : FONT_SPRITE_BASE_MEDIUM_DARK; + gfx_draw_string(dpi, (char*)CheckBoxMarkString, w->colours[1] & 0x7F, 2, y); + } - // Ride name - gfx_draw_string_left(dpi, stringId, &ride->name, COLOUR_BLACK, 15, y); - } + // Ride name + gfx_draw_string_left(dpi, stringId, &ride->name, COLOUR_BLACK, 15, y); + } } /** @@ -1230,20 +1230,20 @@ static void window_editor_objective_options_rides_scrollpaint(rct_window *w, rct */ static void window_editor_objective_options_update_disabled_widgets(rct_window *w) { - rct_ride *ride; - sint32 i, numRides; + rct_ride *ride; + sint32 i, numRides; - // Check if there are any rides (not shops or facilities) - numRides = 0; - FOR_ALL_RIDES(i, ride) { - if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { - numRides++; - } - } + // Check if there are any rides (not shops or facilities) + numRides = 0; + FOR_ALL_RIDES(i, ride) { + if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { + numRides++; + } + } - if (numRides != 0) { - w->disabled_widgets &= ~(1 << WIDX_TAB_2); - } else { - w->disabled_widgets |= (1 << WIDX_TAB_2); - } + if (numRides != 0) { + w->disabled_widgets &= ~(1 << WIDX_TAB_2); + } else { + w->disabled_widgets |= (1 << WIDX_TAB_2); + } } diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index d927f349f0..72f3f2e1d8 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -28,153 +28,153 @@ #pragma region Widgets enum { - WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_FINANCIAL, - WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_GUESTS, - WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_PARK, - WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_COUNT + WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_FINANCIAL, + WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_GUESTS, + WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_PARK, + WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_COUNT }; enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_TAB_2, - WIDX_TAB_3, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_TAB_2, + WIDX_TAB_3, - WIDX_NO_MONEY = 7, - WIDX_INITIAL_CASH, - WIDX_INITIAL_CASH_INCREASE, - WIDX_INITIAL_CASH_DECREASE, - WIDX_INITIAL_LOAN, - WIDX_INITIAL_LOAN_INCREASE, - WIDX_INITIAL_LOAN_DECREASE, - WIDX_MAXIMUM_LOAN, - WIDX_MAXIMUM_LOAN_INCREASE, - WIDX_MAXIMUM_LOAN_DECREASE, - WIDX_INTEREST_RATE, - WIDX_INTEREST_RATE_INCREASE, - WIDX_INTEREST_RATE_DECREASE, - WIDX_FORBID_MARKETING, + WIDX_NO_MONEY = 7, + WIDX_INITIAL_CASH, + WIDX_INITIAL_CASH_INCREASE, + WIDX_INITIAL_CASH_DECREASE, + WIDX_INITIAL_LOAN, + WIDX_INITIAL_LOAN_INCREASE, + WIDX_INITIAL_LOAN_DECREASE, + WIDX_MAXIMUM_LOAN, + WIDX_MAXIMUM_LOAN_INCREASE, + WIDX_MAXIMUM_LOAN_DECREASE, + WIDX_INTEREST_RATE, + WIDX_INTEREST_RATE_INCREASE, + WIDX_INTEREST_RATE_DECREASE, + WIDX_FORBID_MARKETING, - WIDX_CASH_PER_GUEST = 7, - WIDX_CASH_PER_GUEST_INCREASE, - WIDX_CASH_PER_GUEST_DECREASE, - WIDX_GUEST_INITIAL_HAPPINESS, - WIDX_GUEST_INITIAL_HAPPINESS_INCREASE, - WIDX_GUEST_INITIAL_HAPPINESS_DECREASE, - WIDX_GUEST_INITIAL_HUNGER, - WIDX_GUEST_INITIAL_HUNGER_INCREASE, - WIDX_GUEST_INITIAL_HUNGER_DECREASE, - WIDX_GUEST_INITIAL_THIRST, - WIDX_GUEST_INITIAL_THIRST_INCREASE, - WIDX_GUEST_INITIAL_THIRST_DECREASE, - WIDX_GUEST_PREFER_LESS_INTENSE_RIDES, - WIDX_GUEST_PREFER_MORE_INTENSE_RIDES, + WIDX_CASH_PER_GUEST = 7, + WIDX_CASH_PER_GUEST_INCREASE, + WIDX_CASH_PER_GUEST_DECREASE, + WIDX_GUEST_INITIAL_HAPPINESS, + WIDX_GUEST_INITIAL_HAPPINESS_INCREASE, + WIDX_GUEST_INITIAL_HAPPINESS_DECREASE, + WIDX_GUEST_INITIAL_HUNGER, + WIDX_GUEST_INITIAL_HUNGER_INCREASE, + WIDX_GUEST_INITIAL_HUNGER_DECREASE, + WIDX_GUEST_INITIAL_THIRST, + WIDX_GUEST_INITIAL_THIRST_INCREASE, + WIDX_GUEST_INITIAL_THIRST_DECREASE, + WIDX_GUEST_PREFER_LESS_INTENSE_RIDES, + WIDX_GUEST_PREFER_MORE_INTENSE_RIDES, - WIDX_LAND_COST = 7, - WIDX_LAND_COST_INCREASE, - WIDX_LAND_COST_DECREASE, - WIDX_CONSTRUCTION_RIGHTS_COST, - WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE, - WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE, - WIDX_PAY_FOR_PARK_OR_RIDES, - WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN, - WIDX_ENTRY_PRICE, - WIDX_ENTRY_PRICE_INCREASE, - WIDX_ENTRY_PRICE_DECREASE, - WIDX_FORBID_TREE_REMOVAL, - WIDX_FORBID_LANDSCAPE_CHANGES, - WIDX_FORBID_HIGH_CONSTRUCTION, - WIDX_HARD_PARK_RATING, - WIDX_HARD_GUEST_GENERATION + WIDX_LAND_COST = 7, + WIDX_LAND_COST_INCREASE, + WIDX_LAND_COST_DECREASE, + WIDX_CONSTRUCTION_RIGHTS_COST, + WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE, + WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE, + WIDX_PAY_FOR_PARK_OR_RIDES, + WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN, + WIDX_ENTRY_PRICE, + WIDX_ENTRY_PRICE_INCREASE, + WIDX_ENTRY_PRICE_DECREASE, + WIDX_FORBID_TREE_REMOVAL, + WIDX_FORBID_LANDSCAPE_CHANGES, + WIDX_FORBID_HIGH_CONSTRUCTION, + WIDX_HARD_PARK_RATING, + WIDX_HARD_GUEST_GENERATION }; static rct_widget window_editor_scenario_options_financial_widgets[] = { - { WWT_FRAME, 0, 0, 279, 0, 148, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, 278, 1, 14, STR_SCENARIO_OPTIONS_FINANCIAL, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 267, 277, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP }, - { WWT_TAB, 1, 34, 64, 17, 46, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP }, - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP }, + { WWT_FRAME, 0, 0, 279, 0, 148, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, 278, 1, 14, STR_SCENARIO_OPTIONS_FINANCIAL, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 267, 277, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP }, + { WWT_TAB, 1, 34, 64, 17, 46, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP }, + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP }, - { WWT_CHECKBOX, 1, 8, 271, 48, 59, STR_MAKE_PARK_NO_MONEY, STR_MAKE_PARK_NO_MONEY_TIP }, - { WWT_SPINNER, 1, 168, 267, 65, 76, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 256, 266, 66, 70, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 256, 266, 71, 75, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 168, 267, 82, 93, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 256, 266, 83, 87, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 256, 266, 88, 92, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 168, 267, 99, 110, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 256, 266, 100, 104, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 256, 266, 105, 109, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 168, 237, 116, 127, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 226, 236, 117, 121, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 226, 236, 122, 126, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_CHECKBOX, 1, 8, 271, 133, 144, STR_FORBID_MARKETING, STR_FORBID_MARKETING_TIP }, - { WIDGETS_END } + { WWT_CHECKBOX, 1, 8, 271, 48, 59, STR_MAKE_PARK_NO_MONEY, STR_MAKE_PARK_NO_MONEY_TIP }, + { WWT_SPINNER, 1, 168, 267, 65, 76, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 256, 266, 66, 70, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 256, 266, 71, 75, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 168, 267, 82, 93, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 256, 266, 83, 87, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 256, 266, 88, 92, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 168, 267, 99, 110, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 256, 266, 100, 104, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 256, 266, 105, 109, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 168, 237, 116, 127, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 226, 236, 117, 121, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 226, 236, 122, 126, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_CHECKBOX, 1, 8, 271, 133, 144, STR_FORBID_MARKETING, STR_FORBID_MARKETING_TIP }, + { WIDGETS_END } }; static rct_widget window_editor_scenario_options_guests_widgets[] = { - { WWT_FRAME, 0, 0, 279, 0, 148, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, 278, 1, 14, STR_SCENARIO_OPTIONS_GUESTS, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 267, 277, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP }, - { WWT_TAB, 1, 34, 64, 17, 46, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP }, - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP }, + { WWT_FRAME, 0, 0, 279, 0, 148, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, 278, 1, 14, STR_SCENARIO_OPTIONS_GUESTS, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 267, 277, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP }, + { WWT_TAB, 1, 34, 64, 17, 46, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP }, + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP }, - { WWT_SPINNER, 1, 268, 337, 48, 59, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 326, 336, 49, 53, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 326, 336, 54, 58, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 268, 337, 65, 76, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 326, 336, 66, 70, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 326, 336, 71, 75, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 268, 337, 82, 93, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 326, 336, 83, 87, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 326, 336, 88, 92, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 268, 337, 99, 110, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 326, 336, 100, 104, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 326, 336, 105, 109, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_CHECKBOX, 1, 8, 371, 116, 127, STR_GUESTS_PREFER_LESS_INTENSE_RIDES, STR_GUESTS_PREFER_LESS_INTENSE_RIDES_TIP }, - { WWT_CHECKBOX, 1, 8, 371, 133, 144, STR_GUESTS_PREFER_MORE_INTENSE_RIDES, STR_GUESTS_PREFER_MORE_INTENSE_RIDES_TIP }, - { WIDGETS_END } + { WWT_SPINNER, 1, 268, 337, 48, 59, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 326, 336, 49, 53, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 326, 336, 54, 58, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 268, 337, 65, 76, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 326, 336, 66, 70, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 326, 336, 71, 75, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 268, 337, 82, 93, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 326, 336, 83, 87, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 326, 336, 88, 92, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 268, 337, 99, 110, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 326, 336, 100, 104, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 326, 336, 105, 109, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_CHECKBOX, 1, 8, 371, 116, 127, STR_GUESTS_PREFER_LESS_INTENSE_RIDES, STR_GUESTS_PREFER_LESS_INTENSE_RIDES_TIP }, + { WWT_CHECKBOX, 1, 8, 371, 133, 144, STR_GUESTS_PREFER_MORE_INTENSE_RIDES, STR_GUESTS_PREFER_MORE_INTENSE_RIDES_TIP }, + { WIDGETS_END } }; static rct_widget window_editor_scenario_options_park_widgets[] = { - { WWT_FRAME, 0, 0, 279, 0, 148, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, 278, 1, 14, STR_SCENARIO_OPTIONS_PARK, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 267, 277, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP }, - { WWT_TAB, 1, 34, 64, 17, 46, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP }, - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP }, + { WWT_FRAME, 0, 0, 279, 0, 148, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, 278, 1, 14, STR_SCENARIO_OPTIONS_PARK, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 267, 277, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP }, + { WWT_TAB, 1, 34, 64, 17, 46, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP }, + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP }, - { WWT_SPINNER, 1, 188, 257, 48, 59, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 246, 256, 49, 53, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 246, 256, 54, 58, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 188, 257, 65, 76, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 246, 256, 66, 70, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 246, 256, 71, 75, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_DROPDOWN, 1, 8, 217, 82, 93, STR_NONE, STR_PAY_FOR_PARK_PAY_FOR_RIDES_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 206, 216, 83, 92, STR_DROPDOWN_GLYPH, STR_PAY_FOR_PARK_PAY_FOR_RIDES_TIP }, - { WWT_SPINNER, 1, 328, 397, 82, 93, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 386, 396, 83, 87, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 386, 396, 88, 92, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_CHECKBOX, 1, 8, 391, 99, 110, STR_FORBID_TREE_REMOVAL, STR_FORBID_TREE_REMOVAL_TIP }, - { WWT_CHECKBOX, 1, 8, 391, 116, 127, STR_FORBID_LANDSCAPE_CHANGES, STR_FORBID_LANDSCAPE_CHANGES_TIP }, - { WWT_CHECKBOX, 1, 8, 391, 133, 144, STR_FORBID_HIGH_CONSTRUCTION, STR_FORBID_HIGH_CONSTRUCTION_TIP }, - { WWT_CHECKBOX, 1, 8, 391, 150, 161, STR_HARD_PARK_RATING, STR_HARD_PARK_RATING_TIP }, - { WWT_CHECKBOX, 1, 8, 391, 167, 178, STR_HARD_GUEST_GENERATION, STR_HARD_GUEST_GENERATION_TIP }, - { WIDGETS_END } + { WWT_SPINNER, 1, 188, 257, 48, 59, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 246, 256, 49, 53, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 246, 256, 54, 58, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 188, 257, 65, 76, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 246, 256, 66, 70, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 246, 256, 71, 75, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_DROPDOWN, 1, 8, 217, 82, 93, STR_NONE, STR_PAY_FOR_PARK_PAY_FOR_RIDES_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 206, 216, 83, 92, STR_DROPDOWN_GLYPH, STR_PAY_FOR_PARK_PAY_FOR_RIDES_TIP }, + { WWT_SPINNER, 1, 328, 397, 82, 93, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 386, 396, 83, 87, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 386, 396, 88, 92, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_CHECKBOX, 1, 8, 391, 99, 110, STR_FORBID_TREE_REMOVAL, STR_FORBID_TREE_REMOVAL_TIP }, + { WWT_CHECKBOX, 1, 8, 391, 116, 127, STR_FORBID_LANDSCAPE_CHANGES, STR_FORBID_LANDSCAPE_CHANGES_TIP }, + { WWT_CHECKBOX, 1, 8, 391, 133, 144, STR_FORBID_HIGH_CONSTRUCTION, STR_FORBID_HIGH_CONSTRUCTION_TIP }, + { WWT_CHECKBOX, 1, 8, 391, 150, 161, STR_HARD_PARK_RATING, STR_HARD_PARK_RATING_TIP }, + { WWT_CHECKBOX, 1, 8, 391, 167, 178, STR_HARD_GUEST_GENERATION, STR_HARD_GUEST_GENERATION_TIP }, + { WIDGETS_END } }; static rct_widget *window_editor_scenario_options_widgets[] = { - window_editor_scenario_options_financial_widgets, - window_editor_scenario_options_guests_widgets, - window_editor_scenario_options_park_widgets + window_editor_scenario_options_financial_widgets, + window_editor_scenario_options_guests_widgets, + window_editor_scenario_options_park_widgets }; #pragma endregion @@ -205,104 +205,104 @@ static void window_editor_scenario_options_park_paint(rct_window *w, rct_drawpix // 0x0097EB60 static rct_window_event_list window_scenario_options_financial_events = { - NULL, - window_editor_scenario_options_financial_mouseup, - window_editor_scenario_options_financial_resize, - window_editor_scenario_options_financial_mousedown, - NULL, - NULL, - window_editor_scenario_options_financial_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_editor_scenario_options_financial_invalidate, - window_editor_scenario_options_financial_paint, - NULL + NULL, + window_editor_scenario_options_financial_mouseup, + window_editor_scenario_options_financial_resize, + window_editor_scenario_options_financial_mousedown, + NULL, + NULL, + window_editor_scenario_options_financial_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_editor_scenario_options_financial_invalidate, + window_editor_scenario_options_financial_paint, + NULL }; // 0x0097EBD0 static rct_window_event_list window_scenario_options_guests_events = { - NULL, - window_editor_scenario_options_guests_mouseup, - window_editor_scenario_options_guests_resize, - window_editor_scenario_options_guests_mousedown, - NULL, - NULL, - window_editor_scenario_options_guests_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_editor_scenario_options_guests_invalidate, - window_editor_scenario_options_guests_paint, - NULL + NULL, + window_editor_scenario_options_guests_mouseup, + window_editor_scenario_options_guests_resize, + window_editor_scenario_options_guests_mousedown, + NULL, + NULL, + window_editor_scenario_options_guests_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_editor_scenario_options_guests_invalidate, + window_editor_scenario_options_guests_paint, + NULL }; // 0x0097EC40 static rct_window_event_list window_scenario_options_park_events = { - NULL, - window_editor_scenario_options_park_mouseup, - window_editor_scenario_options_park_resize, - window_editor_scenario_options_park_mousedown, - window_editor_scenario_options_park_dropdown, - NULL, - window_editor_scenario_options_park_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_editor_scenario_options_park_invalidate, - window_editor_scenario_options_park_paint, - NULL + NULL, + window_editor_scenario_options_park_mouseup, + window_editor_scenario_options_park_resize, + window_editor_scenario_options_park_mousedown, + window_editor_scenario_options_park_dropdown, + NULL, + window_editor_scenario_options_park_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_editor_scenario_options_park_invalidate, + window_editor_scenario_options_park_paint, + NULL }; static rct_window_event_list *window_editor_scenario_options_page_events[] = { - &window_scenario_options_financial_events, - &window_scenario_options_guests_events, - &window_scenario_options_park_events + &window_scenario_options_financial_events, + &window_scenario_options_guests_events, + &window_scenario_options_park_events }; #pragma endregion @@ -310,73 +310,73 @@ static rct_window_event_list *window_editor_scenario_options_page_events[] = { #pragma region Enabled widgets #define ALWAYS_ENABLED_WIDGETS \ - (1ULL << WIDX_CLOSE) |\ - (1ULL << WIDX_TAB_1) |\ - (1ULL << WIDX_TAB_2) |\ - (1ULL << WIDX_TAB_3) + (1ULL << WIDX_CLOSE) |\ + (1ULL << WIDX_TAB_1) |\ + (1ULL << WIDX_TAB_2) |\ + (1ULL << WIDX_TAB_3) static uint64 window_editor_scenario_options_page_enabled_widgets[] = { - ALWAYS_ENABLED_WIDGETS | - (1ULL << WIDX_NO_MONEY) | - (1ULL << WIDX_INITIAL_CASH_INCREASE) | - (1ULL << WIDX_INITIAL_CASH_DECREASE) | - (1ULL << WIDX_INITIAL_LOAN_INCREASE) | - (1ULL << WIDX_INITIAL_LOAN_DECREASE) | - (1ULL << WIDX_MAXIMUM_LOAN_INCREASE) | - (1ULL << WIDX_MAXIMUM_LOAN_DECREASE) | - (1ULL << WIDX_INTEREST_RATE_INCREASE) | - (1ULL << WIDX_INTEREST_RATE_DECREASE) | - (1ULL << WIDX_FORBID_MARKETING), - ALWAYS_ENABLED_WIDGETS | - (1ULL << WIDX_CASH_PER_GUEST_INCREASE) | - (1ULL << WIDX_CASH_PER_GUEST_DECREASE) | - (1ULL << WIDX_GUEST_INITIAL_HAPPINESS_INCREASE) | - (1ULL << WIDX_GUEST_INITIAL_HAPPINESS_DECREASE) | - (1ULL << WIDX_GUEST_INITIAL_HUNGER_INCREASE) | - (1ULL << WIDX_GUEST_INITIAL_HUNGER_DECREASE) | - (1ULL << WIDX_GUEST_INITIAL_THIRST_INCREASE) | - (1ULL << WIDX_GUEST_INITIAL_THIRST_DECREASE) | - (1ULL << WIDX_GUEST_PREFER_LESS_INTENSE_RIDES) | - (1ULL << WIDX_GUEST_PREFER_MORE_INTENSE_RIDES), - ALWAYS_ENABLED_WIDGETS | - (1ULL << WIDX_LAND_COST_INCREASE) | - (1ULL << WIDX_LAND_COST_DECREASE) | - (1ULL << WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE) | - (1ULL << WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE) | - (1ULL << WIDX_PAY_FOR_PARK_OR_RIDES) | - (1ULL << WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN) | - (1ULL << WIDX_ENTRY_PRICE_INCREASE) | - (1ULL << WIDX_ENTRY_PRICE_DECREASE) | - (1ULL << WIDX_FORBID_TREE_REMOVAL) | - (1ULL << WIDX_FORBID_LANDSCAPE_CHANGES) | - (1ULL << WIDX_FORBID_HIGH_CONSTRUCTION) | - (1ULL << WIDX_HARD_PARK_RATING) | - (1ULL << WIDX_HARD_GUEST_GENERATION) + ALWAYS_ENABLED_WIDGETS | + (1ULL << WIDX_NO_MONEY) | + (1ULL << WIDX_INITIAL_CASH_INCREASE) | + (1ULL << WIDX_INITIAL_CASH_DECREASE) | + (1ULL << WIDX_INITIAL_LOAN_INCREASE) | + (1ULL << WIDX_INITIAL_LOAN_DECREASE) | + (1ULL << WIDX_MAXIMUM_LOAN_INCREASE) | + (1ULL << WIDX_MAXIMUM_LOAN_DECREASE) | + (1ULL << WIDX_INTEREST_RATE_INCREASE) | + (1ULL << WIDX_INTEREST_RATE_DECREASE) | + (1ULL << WIDX_FORBID_MARKETING), + ALWAYS_ENABLED_WIDGETS | + (1ULL << WIDX_CASH_PER_GUEST_INCREASE) | + (1ULL << WIDX_CASH_PER_GUEST_DECREASE) | + (1ULL << WIDX_GUEST_INITIAL_HAPPINESS_INCREASE) | + (1ULL << WIDX_GUEST_INITIAL_HAPPINESS_DECREASE) | + (1ULL << WIDX_GUEST_INITIAL_HUNGER_INCREASE) | + (1ULL << WIDX_GUEST_INITIAL_HUNGER_DECREASE) | + (1ULL << WIDX_GUEST_INITIAL_THIRST_INCREASE) | + (1ULL << WIDX_GUEST_INITIAL_THIRST_DECREASE) | + (1ULL << WIDX_GUEST_PREFER_LESS_INTENSE_RIDES) | + (1ULL << WIDX_GUEST_PREFER_MORE_INTENSE_RIDES), + ALWAYS_ENABLED_WIDGETS | + (1ULL << WIDX_LAND_COST_INCREASE) | + (1ULL << WIDX_LAND_COST_DECREASE) | + (1ULL << WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE) | + (1ULL << WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE) | + (1ULL << WIDX_PAY_FOR_PARK_OR_RIDES) | + (1ULL << WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN) | + (1ULL << WIDX_ENTRY_PRICE_INCREASE) | + (1ULL << WIDX_ENTRY_PRICE_DECREASE) | + (1ULL << WIDX_FORBID_TREE_REMOVAL) | + (1ULL << WIDX_FORBID_LANDSCAPE_CHANGES) | + (1ULL << WIDX_FORBID_HIGH_CONSTRUCTION) | + (1ULL << WIDX_HARD_PARK_RATING) | + (1ULL << WIDX_HARD_GUEST_GENERATION) }; static uint32 window_editor_scenario_options_page_hold_down_widgets[] = { - (1ULL << WIDX_INITIAL_CASH_INCREASE) | - (1ULL << WIDX_INITIAL_CASH_DECREASE) | - (1ULL << WIDX_INITIAL_LOAN_INCREASE) | - (1ULL << WIDX_INITIAL_LOAN_DECREASE) | - (1ULL << WIDX_MAXIMUM_LOAN_INCREASE) | - (1ULL << WIDX_MAXIMUM_LOAN_DECREASE) | - (1ULL << WIDX_INTEREST_RATE_INCREASE) | - (1ULL << WIDX_INTEREST_RATE_DECREASE), - (1ULL << WIDX_CASH_PER_GUEST_INCREASE) | - (1ULL << WIDX_CASH_PER_GUEST_DECREASE) | - (1ULL << WIDX_GUEST_INITIAL_HAPPINESS_INCREASE) | - (1ULL << WIDX_GUEST_INITIAL_HAPPINESS_DECREASE) | - (1ULL << WIDX_GUEST_INITIAL_HUNGER_INCREASE) | - (1ULL << WIDX_GUEST_INITIAL_HUNGER_DECREASE) | - (1ULL << WIDX_GUEST_INITIAL_THIRST_INCREASE) | - (1ULL << WIDX_GUEST_INITIAL_THIRST_DECREASE), - (1ULL << WIDX_LAND_COST_INCREASE) | - (1ULL << WIDX_LAND_COST_DECREASE) | - (1ULL << WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE) | - (1ULL << WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE) | - (1ULL << WIDX_ENTRY_PRICE_INCREASE) | - (1ULL << WIDX_ENTRY_PRICE_DECREASE) + (1ULL << WIDX_INITIAL_CASH_INCREASE) | + (1ULL << WIDX_INITIAL_CASH_DECREASE) | + (1ULL << WIDX_INITIAL_LOAN_INCREASE) | + (1ULL << WIDX_INITIAL_LOAN_DECREASE) | + (1ULL << WIDX_MAXIMUM_LOAN_INCREASE) | + (1ULL << WIDX_MAXIMUM_LOAN_DECREASE) | + (1ULL << WIDX_INTEREST_RATE_INCREASE) | + (1ULL << WIDX_INTEREST_RATE_DECREASE), + (1ULL << WIDX_CASH_PER_GUEST_INCREASE) | + (1ULL << WIDX_CASH_PER_GUEST_DECREASE) | + (1ULL << WIDX_GUEST_INITIAL_HAPPINESS_INCREASE) | + (1ULL << WIDX_GUEST_INITIAL_HAPPINESS_DECREASE) | + (1ULL << WIDX_GUEST_INITIAL_HUNGER_INCREASE) | + (1ULL << WIDX_GUEST_INITIAL_HUNGER_DECREASE) | + (1ULL << WIDX_GUEST_INITIAL_THIRST_INCREASE) | + (1ULL << WIDX_GUEST_INITIAL_THIRST_DECREASE), + (1ULL << WIDX_LAND_COST_INCREASE) | + (1ULL << WIDX_LAND_COST_DECREASE) | + (1ULL << WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE) | + (1ULL << WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE) | + (1ULL << WIDX_ENTRY_PRICE_INCREASE) | + (1ULL << WIDX_ENTRY_PRICE_DECREASE) }; #pragma endregion @@ -387,44 +387,44 @@ static uint32 window_editor_scenario_options_page_hold_down_widgets[] = { */ void window_editor_scenario_options_open() { - rct_window *w; + rct_window *w; - w = window_bring_to_front_by_class(WC_EDITOR_SCENARIO_OPTIONS); - if (w != NULL) - return; + w = window_bring_to_front_by_class(WC_EDITOR_SCENARIO_OPTIONS); + if (w != NULL) + return; - w = window_create_centred( - 280, - 148, - window_editor_scenario_options_page_events[0], - WC_EDITOR_SCENARIO_OPTIONS, - WF_NO_SCROLLING - ); - w->widgets = window_editor_scenario_options_widgets[0]; - w->enabled_widgets = window_editor_scenario_options_page_enabled_widgets[0]; - w->hold_down_widgets = window_editor_scenario_options_page_hold_down_widgets[0]; - window_init_scroll_widgets(w); - w->var_4AE = 0; - w->page = 0; + w = window_create_centred( + 280, + 148, + window_editor_scenario_options_page_events[0], + WC_EDITOR_SCENARIO_OPTIONS, + WF_NO_SCROLLING + ); + w->widgets = window_editor_scenario_options_widgets[0]; + w->enabled_widgets = window_editor_scenario_options_page_enabled_widgets[0]; + w->hold_down_widgets = window_editor_scenario_options_page_hold_down_widgets[0]; + window_init_scroll_widgets(w); + w->var_4AE = 0; + w->page = 0; } static void window_editor_scenario_options_set_pressed_tab(rct_window *w) { - sint32 i; - for (i = 0; i < WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_COUNT; i++) - w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); - w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); + sint32 i; + for (i = 0; i < WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_COUNT; i++) + w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); + w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); } static void window_editor_scenario_options_anchor_border_widgets(rct_window *w) { - w->widgets[WIDX_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_TITLE].right = w->width - 2; - w->widgets[WIDX_CLOSE].left = w->width - 13; - w->widgets[WIDX_CLOSE].right = w->width - 3; + w->widgets[WIDX_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_TITLE].right = w->width - 2; + w->widgets[WIDX_CLOSE].left = w->width - 13; + w->widgets[WIDX_CLOSE].right = w->width - 3; } /** @@ -433,29 +433,29 @@ static void window_editor_scenario_options_anchor_border_widgets(rct_window *w) */ static void window_editor_scenario_options_draw_tab_images(rct_window *w, rct_drawpixelinfo *dpi) { - rct_widget *widget; - sint32 spriteIndex; + rct_widget *widget; + sint32 spriteIndex; - // Tab 1 - widget = &w->widgets[WIDX_TAB_1]; - spriteIndex = SPR_TAB_FINANCES_SUMMARY_0; - if (w->page == WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_FINANCIAL) - spriteIndex += (w->frame_no / 2) % 8; + // Tab 1 + widget = &w->widgets[WIDX_TAB_1]; + spriteIndex = SPR_TAB_FINANCES_SUMMARY_0; + if (w->page == WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_FINANCIAL) + spriteIndex += (w->frame_no / 2) % 8; - gfx_draw_sprite(dpi, spriteIndex, w->x + widget->left, w->y + widget->top, 0); + gfx_draw_sprite(dpi, spriteIndex, w->x + widget->left, w->y + widget->top, 0); - // Tab 2 - widget = &w->widgets[WIDX_TAB_2]; - spriteIndex = SPR_TAB_GUESTS_0; - if (w->page == WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_GUESTS) - spriteIndex += (w->frame_no / 4) % 8; + // Tab 2 + widget = &w->widgets[WIDX_TAB_2]; + spriteIndex = SPR_TAB_GUESTS_0; + if (w->page == WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_GUESTS) + spriteIndex += (w->frame_no / 4) % 8; - gfx_draw_sprite(dpi, spriteIndex, w->x + widget->left, w->y + widget->top, 0); + gfx_draw_sprite(dpi, spriteIndex, w->x + widget->left, w->y + widget->top, 0); - // Tab 3 - widget = &w->widgets[WIDX_TAB_3]; - spriteIndex = SPR_TAB_PARK; - gfx_draw_sprite(dpi, spriteIndex, w->x + widget->left, w->y + widget->top, 0); + // Tab 3 + widget = &w->widgets[WIDX_TAB_3]; + spriteIndex = SPR_TAB_PARK; + gfx_draw_sprite(dpi, spriteIndex, w->x + widget->left, w->y + widget->top, 0); } /** @@ -464,21 +464,21 @@ static void window_editor_scenario_options_draw_tab_images(rct_window *w, rct_dr */ static void window_editor_scenario_options_set_page(rct_window *w, sint32 page) { - if (w->page == page) - return; + if (w->page == page) + return; - w->page = page; - w->frame_no = 0; - w->var_492 = 0; - w->enabled_widgets = window_editor_scenario_options_page_enabled_widgets[page]; - w->hold_down_widgets = window_editor_scenario_options_page_hold_down_widgets[page]; - w->event_handlers = window_editor_scenario_options_page_events[page]; - w->widgets = window_editor_scenario_options_widgets[page]; - window_invalidate(w); - window_event_resize_call(w); - window_event_invalidate_call(w); - window_init_scroll_widgets(w); - window_invalidate(w); + w->page = page; + w->frame_no = 0; + w->var_492 = 0; + w->enabled_widgets = window_editor_scenario_options_page_enabled_widgets[page]; + w->hold_down_widgets = window_editor_scenario_options_page_hold_down_widgets[page]; + w->event_handlers = window_editor_scenario_options_page_events[page]; + w->widgets = window_editor_scenario_options_widgets[page]; + window_invalidate(w); + window_event_resize_call(w); + window_event_invalidate_call(w); + window_init_scroll_widgets(w); + window_invalidate(w); } #pragma region Financial @@ -489,40 +489,40 @@ static void window_editor_scenario_options_set_page(rct_window *w, sint32 page) */ static void window_editor_scenario_options_financial_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - window_editor_scenario_options_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_NO_MONEY: - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETNOMONEY, - gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : 1, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - window_invalidate(w); - break; - case WIDX_FORBID_MARKETING: - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS, - gParkFlags & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN ? 0 : 1, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - window_invalidate(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + window_editor_scenario_options_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_NO_MONEY: + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETNOMONEY, + gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + window_invalidate(w); + break; + case WIDX_FORBID_MARKETING: + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS, + gParkFlags & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN ? 0 : 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + window_invalidate(w); + break; + } } /** @@ -531,7 +531,7 @@ static void window_editor_scenario_options_financial_mouseup(rct_window *w, rct_ */ static void window_editor_scenario_options_financial_resize(rct_window *w) { - window_set_resize(w, 280, 149, 280, 149); + window_set_resize(w, 280, 149, 280, 149); } /** @@ -540,165 +540,165 @@ static void window_editor_scenario_options_financial_resize(rct_window *w) */ static void window_editor_scenario_options_financial_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - switch (widgetIndex) { - case WIDX_INITIAL_CASH_INCREASE: - if (gInitialCash < MONEY(1000000,00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETINITIALCASH, - gInitialCash + MONEY(500,00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_INCREASE_CASH, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_INITIAL_CASH_DECREASE: - if (gInitialCash > MONEY(0,00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETINITIALCASH, - gInitialCash - MONEY(500,00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_REDUCE_CASH, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_INITIAL_LOAN_INCREASE: - if (gBankLoan < MONEY(5000000,00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETINITIALLOAN, - gBankLoan + MONEY(1000,00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_INCREASE_INIT_LOAN, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_INITIAL_LOAN_DECREASE: - if (gBankLoan > MONEY(0,00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETINITIALLOAN, - gBankLoan - MONEY(1000,00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_REDUCE_INIT_LOAN, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_MAXIMUM_LOAN_INCREASE: - if (gMaxBankLoan < MONEY(5000000,00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE, - gMaxBankLoan + MONEY(1000,00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_INCREASE_MAX_LOAN, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_MAXIMUM_LOAN_DECREASE: - if (gMaxBankLoan > MONEY(0,00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE, - gMaxBankLoan - MONEY(1000,00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_REDUCE_MAX_LOAN, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_INTEREST_RATE_INCREASE: - if (gBankLoanInterestRate < 80) { - if (gBankLoanInterestRate < 0) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, - 0, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, - gBankLoanInterestRate + 1, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } - } else { - window_error_open(STR_CANT_INCREASE_INTEREST_RATE, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_INTEREST_RATE_DECREASE: - if (gBankLoanInterestRate > 0) { - if (gBankLoanInterestRate > 80) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, - 80, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, - gBankLoanInterestRate - 1, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } - } else { - window_error_open(STR_CANT_REDUCE_INTEREST_RATE, STR_NONE); - } - window_invalidate(w); - break; - } + switch (widgetIndex) { + case WIDX_INITIAL_CASH_INCREASE: + if (gInitialCash < MONEY(1000000,00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETINITIALCASH, + gInitialCash + MONEY(500,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_INCREASE_CASH, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_INITIAL_CASH_DECREASE: + if (gInitialCash > MONEY(0,00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETINITIALCASH, + gInitialCash - MONEY(500,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_REDUCE_CASH, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_INITIAL_LOAN_INCREASE: + if (gBankLoan < MONEY(5000000,00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETINITIALLOAN, + gBankLoan + MONEY(1000,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_INCREASE_INIT_LOAN, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_INITIAL_LOAN_DECREASE: + if (gBankLoan > MONEY(0,00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETINITIALLOAN, + gBankLoan - MONEY(1000,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_REDUCE_INIT_LOAN, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_MAXIMUM_LOAN_INCREASE: + if (gMaxBankLoan < MONEY(5000000,00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE, + gMaxBankLoan + MONEY(1000,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_INCREASE_MAX_LOAN, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_MAXIMUM_LOAN_DECREASE: + if (gMaxBankLoan > MONEY(0,00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE, + gMaxBankLoan - MONEY(1000,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_REDUCE_MAX_LOAN, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_INTEREST_RATE_INCREASE: + if (gBankLoanInterestRate < 80) { + if (gBankLoanInterestRate < 0) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, + 0, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, + gBankLoanInterestRate + 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } + } else { + window_error_open(STR_CANT_INCREASE_INTEREST_RATE, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_INTEREST_RATE_DECREASE: + if (gBankLoanInterestRate > 0) { + if (gBankLoanInterestRate > 80) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, + 80, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, + gBankLoanInterestRate - 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } + } else { + window_error_open(STR_CANT_REDUCE_INTEREST_RATE, STR_NONE); + } + window_invalidate(w); + break; + } - if(gScreenFlags == SCREEN_FLAGS_PLAYING) { - window_invalidate_by_class(WC_FINANCES); - window_invalidate_by_class(WC_BOTTOM_TOOLBAR); - } + if(gScreenFlags == SCREEN_FLAGS_PLAYING) { + window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_BOTTOM_TOOLBAR); + } } /** @@ -707,9 +707,9 @@ static void window_editor_scenario_options_financial_mousedown(rct_widgetindex w */ static void window_editor_scenario_options_financial_update(rct_window *w) { - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_1); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_1); } /** @@ -718,44 +718,44 @@ static void window_editor_scenario_options_financial_update(rct_window *w) */ static void window_editor_scenario_options_financial_invalidate(rct_window *w) { - rct_widget *widgets = window_editor_scenario_options_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + rct_widget *widgets = window_editor_scenario_options_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_editor_scenario_options_set_pressed_tab(w); + window_editor_scenario_options_set_pressed_tab(w); - if (((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY_SCENARIO)) || - (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY))) { - w->pressed_widgets |= (1 << WIDX_NO_MONEY); - for (sint32 i = WIDX_INITIAL_CASH; i <= WIDX_FORBID_MARKETING; i++) - w->widgets[i].type = WWT_EMPTY; - } else { - w->pressed_widgets &= ~(1 << WIDX_NO_MONEY); - w->widgets[WIDX_INITIAL_CASH].type = WWT_SPINNER; - w->widgets[WIDX_INITIAL_CASH_INCREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_INITIAL_CASH_DECREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_INITIAL_LOAN].type = WWT_SPINNER; - w->widgets[WIDX_INITIAL_LOAN_INCREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_INITIAL_LOAN_DECREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_MAXIMUM_LOAN].type = WWT_SPINNER; - w->widgets[WIDX_MAXIMUM_LOAN_INCREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_MAXIMUM_LOAN_DECREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_INTEREST_RATE].type = WWT_SPINNER; - w->widgets[WIDX_INTEREST_RATE_INCREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_INTEREST_RATE_DECREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_FORBID_MARKETING].type = WWT_CHECKBOX; - } + if (((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY_SCENARIO)) || + (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY))) { + w->pressed_widgets |= (1 << WIDX_NO_MONEY); + for (sint32 i = WIDX_INITIAL_CASH; i <= WIDX_FORBID_MARKETING; i++) + w->widgets[i].type = WWT_EMPTY; + } else { + w->pressed_widgets &= ~(1 << WIDX_NO_MONEY); + w->widgets[WIDX_INITIAL_CASH].type = WWT_SPINNER; + w->widgets[WIDX_INITIAL_CASH_INCREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_INITIAL_CASH_DECREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_INITIAL_LOAN].type = WWT_SPINNER; + w->widgets[WIDX_INITIAL_LOAN_INCREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_INITIAL_LOAN_DECREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_MAXIMUM_LOAN].type = WWT_SPINNER; + w->widgets[WIDX_MAXIMUM_LOAN_INCREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_MAXIMUM_LOAN_DECREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_INTEREST_RATE].type = WWT_SPINNER; + w->widgets[WIDX_INTEREST_RATE_INCREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_INTEREST_RATE_DECREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_FORBID_MARKETING].type = WWT_CHECKBOX; + } - if (gParkFlags & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN) - w->pressed_widgets |= (1 << WIDX_FORBID_MARKETING); - else - w->pressed_widgets &= ~(1 << WIDX_FORBID_MARKETING); + if (gParkFlags & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN) + w->pressed_widgets |= (1 << WIDX_FORBID_MARKETING); + else + w->pressed_widgets &= ~(1 << WIDX_FORBID_MARKETING); - w->widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX; + w->widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX; - window_editor_scenario_options_anchor_border_widgets(w); + window_editor_scenario_options_anchor_border_widgets(w); } /** @@ -764,52 +764,52 @@ static void window_editor_scenario_options_financial_invalidate(rct_window *w) */ static void window_editor_scenario_options_financial_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y; + sint32 x, y; - window_draw_widgets(w, dpi); - window_editor_scenario_options_draw_tab_images(w, dpi); + window_draw_widgets(w, dpi); + window_editor_scenario_options_draw_tab_images(w, dpi); - if (w->widgets[WIDX_INITIAL_CASH].type != WWT_EMPTY) { - x = w->x + 8; - y = w->y + w->widgets[WIDX_INITIAL_CASH].top; - gfx_draw_string_left(dpi, STR_INIT_CASH_LABEL, NULL, COLOUR_BLACK, x, y); + if (w->widgets[WIDX_INITIAL_CASH].type != WWT_EMPTY) { + x = w->x + 8; + y = w->y + w->widgets[WIDX_INITIAL_CASH].top; + gfx_draw_string_left(dpi, STR_INIT_CASH_LABEL, NULL, COLOUR_BLACK, x, y); - x = w->x + w->widgets[WIDX_INITIAL_CASH].left + 1; - y = w->y + w->widgets[WIDX_INITIAL_CASH].top; - gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &gInitialCash, COLOUR_BLACK, x, y); - } + x = w->x + w->widgets[WIDX_INITIAL_CASH].left + 1; + y = w->y + w->widgets[WIDX_INITIAL_CASH].top; + gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &gInitialCash, COLOUR_BLACK, x, y); + } - if (w->widgets[WIDX_INITIAL_LOAN].type != WWT_EMPTY) { - x = w->x + 8; - y = w->y + w->widgets[WIDX_INITIAL_LOAN].top; - gfx_draw_string_left(dpi, STR_INIT_LOAN_LABEL, NULL, COLOUR_BLACK, x, y); + if (w->widgets[WIDX_INITIAL_LOAN].type != WWT_EMPTY) { + x = w->x + 8; + y = w->y + w->widgets[WIDX_INITIAL_LOAN].top; + gfx_draw_string_left(dpi, STR_INIT_LOAN_LABEL, NULL, COLOUR_BLACK, x, y); - x = w->x + w->widgets[WIDX_INITIAL_LOAN].left + 1; - y = w->y + w->widgets[WIDX_INITIAL_LOAN].top; - gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &gBankLoan, COLOUR_BLACK, x, y); - } + x = w->x + w->widgets[WIDX_INITIAL_LOAN].left + 1; + y = w->y + w->widgets[WIDX_INITIAL_LOAN].top; + gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &gBankLoan, COLOUR_BLACK, x, y); + } - if (w->widgets[WIDX_MAXIMUM_LOAN].type != WWT_EMPTY) { - x = w->x + 8; - y = w->y + w->widgets[WIDX_MAXIMUM_LOAN].top; - gfx_draw_string_left(dpi, STR_MAX_LOAN_LABEL, NULL, COLOUR_BLACK, x, y); + if (w->widgets[WIDX_MAXIMUM_LOAN].type != WWT_EMPTY) { + x = w->x + 8; + y = w->y + w->widgets[WIDX_MAXIMUM_LOAN].top; + gfx_draw_string_left(dpi, STR_MAX_LOAN_LABEL, NULL, COLOUR_BLACK, x, y); - x = w->x + w->widgets[WIDX_MAXIMUM_LOAN].left + 1; - y = w->y + w->widgets[WIDX_MAXIMUM_LOAN].top; - gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &gMaxBankLoan, COLOUR_BLACK, x, y); - } + x = w->x + w->widgets[WIDX_MAXIMUM_LOAN].left + 1; + y = w->y + w->widgets[WIDX_MAXIMUM_LOAN].top; + gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &gMaxBankLoan, COLOUR_BLACK, x, y); + } - if (w->widgets[WIDX_INTEREST_RATE].type != WWT_EMPTY) { - x = w->x + 8; - y = w->y + w->widgets[WIDX_INTEREST_RATE].top; - gfx_draw_string_left(dpi, STR_INTEREST_RATE_LABEL, NULL, COLOUR_BLACK, x, y); + if (w->widgets[WIDX_INTEREST_RATE].type != WWT_EMPTY) { + x = w->x + 8; + y = w->y + w->widgets[WIDX_INTEREST_RATE].top; + gfx_draw_string_left(dpi, STR_INTEREST_RATE_LABEL, NULL, COLOUR_BLACK, x, y); - x = w->x + w->widgets[WIDX_INTEREST_RATE].left + 1; - y = w->y + w->widgets[WIDX_INTEREST_RATE].top; + x = w->x + w->widgets[WIDX_INTEREST_RATE].left + 1; + y = w->y + w->widgets[WIDX_INTEREST_RATE].top; - sint16 interestRate = clamp(INT16_MIN, (sint16)gBankLoanInterestRate, INT16_MAX); - gfx_draw_string_left(dpi, STR_PERCENT_FORMAT_LABEL, &interestRate, COLOUR_BLACK, x, y); - } + sint16 interestRate = clamp(INT16_MIN, (sint16)gBankLoanInterestRate, INT16_MAX); + gfx_draw_string_left(dpi, STR_PERCENT_FORMAT_LABEL, &interestRate, COLOUR_BLACK, x, y); + } } #pragma endregion @@ -822,40 +822,40 @@ static void window_editor_scenario_options_financial_paint(rct_window *w, rct_dr */ static void window_editor_scenario_options_guests_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - window_editor_scenario_options_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_GUEST_PREFER_LESS_INTENSE_RIDES: - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES, - gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES ? 0 : 1, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - window_invalidate(w); - break; - case WIDX_GUEST_PREFER_MORE_INTENSE_RIDES: - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES, - gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES ? 0 : 1, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - window_invalidate(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + window_editor_scenario_options_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_GUEST_PREFER_LESS_INTENSE_RIDES: + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES, + gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES ? 0 : 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + window_invalidate(w); + break; + case WIDX_GUEST_PREFER_MORE_INTENSE_RIDES: + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES, + gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES ? 0 : 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + window_invalidate(w); + break; + } } /** @@ -864,7 +864,7 @@ static void window_editor_scenario_options_guests_mouseup(rct_window *w, rct_wid */ static void window_editor_scenario_options_guests_resize(rct_window *w) { - window_set_resize(w, 380, 149, 380, 149); + window_set_resize(w, 380, 149, 380, 149); } /** @@ -873,136 +873,136 @@ static void window_editor_scenario_options_guests_resize(rct_window *w) */ static void window_editor_scenario_options_guests_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - switch (widgetIndex) { - case WIDX_CASH_PER_GUEST_INCREASE: - if (gGuestInitialCash < MONEY(1000, 00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST, - gGuestInitialCash + MONEY(1, 00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_CASH_PER_GUEST_DECREASE: - if (gGuestInitialCash > MONEY(0, 00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST, - gGuestInitialCash - MONEY(1, 00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_GUEST_INITIAL_HAPPINESS_INCREASE: - if (gGuestInitialHappiness < 250) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS, - gGuestInitialHappiness + 4, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_GUEST_INITIAL_HAPPINESS_DECREASE: - if (gGuestInitialHappiness > 40) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS, - gGuestInitialHappiness - 4, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_GUEST_INITIAL_HUNGER_INCREASE: - if (gGuestInitialHunger > 40) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER, - gGuestInitialHunger - 4, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_GUEST_INITIAL_HUNGER_DECREASE: - if (gGuestInitialHunger < 250) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER, - gGuestInitialHunger + 4, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_GUEST_INITIAL_THIRST_INCREASE: - if (gGuestInitialThirst > 40) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST, - gGuestInitialThirst - 4, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_GUEST_INITIAL_THIRST_DECREASE: - if (gGuestInitialThirst < 250) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST, - gGuestInitialThirst + 4, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - } + switch (widgetIndex) { + case WIDX_CASH_PER_GUEST_INCREASE: + if (gGuestInitialCash < MONEY(1000, 00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST, + gGuestInitialCash + MONEY(1, 00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_CASH_PER_GUEST_DECREASE: + if (gGuestInitialCash > MONEY(0, 00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST, + gGuestInitialCash - MONEY(1, 00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_GUEST_INITIAL_HAPPINESS_INCREASE: + if (gGuestInitialHappiness < 250) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS, + gGuestInitialHappiness + 4, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_GUEST_INITIAL_HAPPINESS_DECREASE: + if (gGuestInitialHappiness > 40) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS, + gGuestInitialHappiness - 4, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_GUEST_INITIAL_HUNGER_INCREASE: + if (gGuestInitialHunger > 40) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER, + gGuestInitialHunger - 4, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_GUEST_INITIAL_HUNGER_DECREASE: + if (gGuestInitialHunger < 250) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER, + gGuestInitialHunger + 4, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_GUEST_INITIAL_THIRST_INCREASE: + if (gGuestInitialThirst > 40) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST, + gGuestInitialThirst - 4, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_GUEST_INITIAL_THIRST_DECREASE: + if (gGuestInitialThirst < 250) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST, + gGuestInitialThirst + 4, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + } } /** @@ -1011,9 +1011,9 @@ static void window_editor_scenario_options_guests_mousedown(rct_widgetindex widg */ static void window_editor_scenario_options_guests_update(rct_window *w) { - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_2); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_2); } /** @@ -1022,42 +1022,42 @@ static void window_editor_scenario_options_guests_update(rct_window *w) */ static void window_editor_scenario_options_guests_invalidate(rct_window *w) { - rct_widget *widgets; + rct_widget *widgets; - widgets = window_editor_scenario_options_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_editor_scenario_options_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_editor_scenario_options_set_pressed_tab(w); + window_editor_scenario_options_set_pressed_tab(w); - if (((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY_SCENARIO)) || - (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY))) { - w->widgets[WIDX_CASH_PER_GUEST].type = WWT_EMPTY; - w->widgets[WIDX_CASH_PER_GUEST_INCREASE].type = WWT_EMPTY; - w->widgets[WIDX_CASH_PER_GUEST_DECREASE].type = WWT_EMPTY; - } else { - w->widgets[WIDX_CASH_PER_GUEST].type = WWT_SPINNER; - w->widgets[WIDX_CASH_PER_GUEST_INCREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_CASH_PER_GUEST_DECREASE].type = WWT_DROPDOWN_BUTTON; - } + if (((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY_SCENARIO)) || + (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY))) { + w->widgets[WIDX_CASH_PER_GUEST].type = WWT_EMPTY; + w->widgets[WIDX_CASH_PER_GUEST_INCREASE].type = WWT_EMPTY; + w->widgets[WIDX_CASH_PER_GUEST_DECREASE].type = WWT_EMPTY; + } else { + w->widgets[WIDX_CASH_PER_GUEST].type = WWT_SPINNER; + w->widgets[WIDX_CASH_PER_GUEST_INCREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_CASH_PER_GUEST_DECREASE].type = WWT_DROPDOWN_BUTTON; + } - // Guests prefer less intense rides checkbox - if (gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES) - w->pressed_widgets |= (1 << WIDX_GUEST_PREFER_LESS_INTENSE_RIDES); - else - w->pressed_widgets &= ~(1 << WIDX_GUEST_PREFER_LESS_INTENSE_RIDES); + // Guests prefer less intense rides checkbox + if (gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES) + w->pressed_widgets |= (1 << WIDX_GUEST_PREFER_LESS_INTENSE_RIDES); + else + w->pressed_widgets &= ~(1 << WIDX_GUEST_PREFER_LESS_INTENSE_RIDES); - // Guests prefer more intense rides checkbox - if (gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES) - w->pressed_widgets |= (1 << WIDX_GUEST_PREFER_MORE_INTENSE_RIDES); - else - w->pressed_widgets &= ~(1 << WIDX_GUEST_PREFER_MORE_INTENSE_RIDES); + // Guests prefer more intense rides checkbox + if (gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES) + w->pressed_widgets |= (1 << WIDX_GUEST_PREFER_MORE_INTENSE_RIDES); + else + w->pressed_widgets &= ~(1 << WIDX_GUEST_PREFER_MORE_INTENSE_RIDES); - w->widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX; + w->widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX; - window_editor_scenario_options_anchor_border_widgets(w); + window_editor_scenario_options_anchor_border_widgets(w); } /** @@ -1066,56 +1066,56 @@ static void window_editor_scenario_options_guests_invalidate(rct_window *w) */ static void window_editor_scenario_options_guests_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y, arg; + sint32 x, y, arg; - window_draw_widgets(w, dpi); - window_editor_scenario_options_draw_tab_images(w, dpi); + window_draw_widgets(w, dpi); + window_editor_scenario_options_draw_tab_images(w, dpi); - if (w->widgets[WIDX_CASH_PER_GUEST].type != WWT_EMPTY) { - // Cash per guest label - x = w->x + 8; - y = w->y + w->widgets[WIDX_CASH_PER_GUEST].top; - gfx_draw_string_left(dpi, STR_CASH_PER_GUEST_LABEL, NULL, COLOUR_BLACK, x, y); + if (w->widgets[WIDX_CASH_PER_GUEST].type != WWT_EMPTY) { + // Cash per guest label + x = w->x + 8; + y = w->y + w->widgets[WIDX_CASH_PER_GUEST].top; + gfx_draw_string_left(dpi, STR_CASH_PER_GUEST_LABEL, NULL, COLOUR_BLACK, x, y); - // Cash per guest value - x = w->x + w->widgets[WIDX_CASH_PER_GUEST].left + 1; - y = w->y + w->widgets[WIDX_CASH_PER_GUEST].top; - arg = gGuestInitialCash; - gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); - } + // Cash per guest value + x = w->x + w->widgets[WIDX_CASH_PER_GUEST].left + 1; + y = w->y + w->widgets[WIDX_CASH_PER_GUEST].top; + arg = gGuestInitialCash; + gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); + } - // Guest initial happiness label - x = w->x + 8; - y = w->y + w->widgets[WIDX_GUEST_INITIAL_HAPPINESS].top; - gfx_draw_string_left(dpi, STR_GUEST_INIT_HAPPINESS, NULL, COLOUR_BLACK, x, y); + // Guest initial happiness label + x = w->x + 8; + y = w->y + w->widgets[WIDX_GUEST_INITIAL_HAPPINESS].top; + gfx_draw_string_left(dpi, STR_GUEST_INIT_HAPPINESS, NULL, COLOUR_BLACK, x, y); - // Guest initial happiness value - x = w->x + w->widgets[WIDX_GUEST_INITIAL_HAPPINESS].left + 1; - y = w->y + w->widgets[WIDX_GUEST_INITIAL_HAPPINESS].top; - arg = (gGuestInitialHappiness * 100) / 255; - gfx_draw_string_left(dpi, STR_PERCENT_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); + // Guest initial happiness value + x = w->x + w->widgets[WIDX_GUEST_INITIAL_HAPPINESS].left + 1; + y = w->y + w->widgets[WIDX_GUEST_INITIAL_HAPPINESS].top; + arg = (gGuestInitialHappiness * 100) / 255; + gfx_draw_string_left(dpi, STR_PERCENT_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); - // Guest initial hunger label - x = w->x + 8; - y = w->y + w->widgets[WIDX_GUEST_INITIAL_HUNGER].top; - gfx_draw_string_left(dpi, STR_GUEST_INIT_HUNGER, NULL, COLOUR_BLACK, x, y); + // Guest initial hunger label + x = w->x + 8; + y = w->y + w->widgets[WIDX_GUEST_INITIAL_HUNGER].top; + gfx_draw_string_left(dpi, STR_GUEST_INIT_HUNGER, NULL, COLOUR_BLACK, x, y); - // Guest initial hunger value - x = w->x + w->widgets[WIDX_GUEST_INITIAL_HUNGER].left + 1; - y = w->y + w->widgets[WIDX_GUEST_INITIAL_HUNGER].top; - arg = ((255 - gGuestInitialHunger) * 100) / 255; - gfx_draw_string_left(dpi, STR_PERCENT_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); + // Guest initial hunger value + x = w->x + w->widgets[WIDX_GUEST_INITIAL_HUNGER].left + 1; + y = w->y + w->widgets[WIDX_GUEST_INITIAL_HUNGER].top; + arg = ((255 - gGuestInitialHunger) * 100) / 255; + gfx_draw_string_left(dpi, STR_PERCENT_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); - // Guest initial thirst label - x = w->x + 8; - y = w->y + w->widgets[WIDX_GUEST_INITIAL_THIRST].top; - gfx_draw_string_left(dpi, STR_GUEST_INIT_THIRST, NULL, COLOUR_BLACK, x, y); + // Guest initial thirst label + x = w->x + 8; + y = w->y + w->widgets[WIDX_GUEST_INITIAL_THIRST].top; + gfx_draw_string_left(dpi, STR_GUEST_INIT_THIRST, NULL, COLOUR_BLACK, x, y); - // Guest initial thirst value - x = w->x + w->widgets[WIDX_GUEST_INITIAL_THIRST].left + 1; - y = w->y + w->widgets[WIDX_GUEST_INITIAL_THIRST].top; - arg = ((255 - gGuestInitialThirst) * 100) / 255; - gfx_draw_string_left(dpi, STR_PERCENT_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); + // Guest initial thirst value + x = w->x + w->widgets[WIDX_GUEST_INITIAL_THIRST].left + 1; + y = w->y + w->widgets[WIDX_GUEST_INITIAL_THIRST].top; + arg = ((255 - gGuestInitialThirst) * 100) / 255; + gfx_draw_string_left(dpi, STR_PERCENT_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); } #pragma endregion @@ -1128,76 +1128,76 @@ static void window_editor_scenario_options_guests_paint(rct_window *w, rct_drawp */ static void window_editor_scenario_options_park_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - window_editor_scenario_options_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_FORBID_TREE_REMOVAL: - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL, - gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL ? 0 : 1, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - window_invalidate(w); - break; - case WIDX_FORBID_LANDSCAPE_CHANGES: - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES, - gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES ? 0 : 1, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - window_invalidate(w); - break; - case WIDX_FORBID_HIGH_CONSTRUCTION: - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION, - gParkFlags & PARK_FLAGS_FORBID_HIGH_CONSTRUCTION ? 0 : 1, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - window_invalidate(w); - break; - case WIDX_HARD_PARK_RATING: - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL, - gParkFlags & PARK_FLAGS_DIFFICULT_PARK_RATING ? 0 : 1, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - window_invalidate(w); - break; - case WIDX_HARD_GUEST_GENERATION: - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL, - gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION ? 0 : 1, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - window_invalidate(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + window_editor_scenario_options_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_FORBID_TREE_REMOVAL: + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL, + gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL ? 0 : 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + window_invalidate(w); + break; + case WIDX_FORBID_LANDSCAPE_CHANGES: + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES, + gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES ? 0 : 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + window_invalidate(w); + break; + case WIDX_FORBID_HIGH_CONSTRUCTION: + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION, + gParkFlags & PARK_FLAGS_FORBID_HIGH_CONSTRUCTION ? 0 : 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + window_invalidate(w); + break; + case WIDX_HARD_PARK_RATING: + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL, + gParkFlags & PARK_FLAGS_DIFFICULT_PARK_RATING ? 0 : 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + window_invalidate(w); + break; + case WIDX_HARD_GUEST_GENERATION: + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL, + gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION ? 0 : 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + window_invalidate(w); + break; + } } /** @@ -1206,7 +1206,7 @@ static void window_editor_scenario_options_park_mouseup(rct_window *w, rct_widge */ static void window_editor_scenario_options_park_resize(rct_window *w) { - window_set_resize(w, 400, 183, 400, 183); + window_set_resize(w, 400, 183, 400, 183); } /** @@ -1215,127 +1215,127 @@ static void window_editor_scenario_options_park_resize(rct_window *w) */ static void window_editor_scenario_options_park_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - rct_widget *dropdownWidget; + rct_widget *dropdownWidget; - switch (widgetIndex) { - case WIDX_LAND_COST_INCREASE: - if (gLandPrice < MONEY(200,00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND, - gLandPrice + MONEY(1,00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_LAND_COST_DECREASE: - if (gLandPrice > MONEY(5,00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND, - gLandPrice - MONEY(1, 00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE: - if (gConstructionRightsPrice < MONEY(200,00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS, - gConstructionRightsPrice + MONEY(1,00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE: - if (gConstructionRightsPrice > MONEY(5,00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS, - gConstructionRightsPrice - MONEY(1,00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_ENTRY_PRICE_INCREASE: - if (gParkEntranceFee < MONEY(100,00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE, - gParkEntranceFee + MONEY(1,00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_ENTRY_PRICE_DECREASE: - if (gParkEntranceFee > MONEY(0,00)) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE, - gParkEntranceFee - MONEY(1,00), - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - } else { - window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); - } - window_invalidate(w); - break; - case WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN: - dropdownWidget = widget - 1; + switch (widgetIndex) { + case WIDX_LAND_COST_INCREASE: + if (gLandPrice < MONEY(200,00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND, + gLandPrice + MONEY(1,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_LAND_COST_DECREASE: + if (gLandPrice > MONEY(5,00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND, + gLandPrice - MONEY(1, 00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE: + if (gConstructionRightsPrice < MONEY(200,00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS, + gConstructionRightsPrice + MONEY(1,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE: + if (gConstructionRightsPrice > MONEY(5,00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS, + gConstructionRightsPrice - MONEY(1,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_ENTRY_PRICE_INCREASE: + if (gParkEntranceFee < MONEY(100,00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE, + gParkEntranceFee + MONEY(1,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_ENTRY_PRICE_DECREASE: + if (gParkEntranceFee > MONEY(0,00)) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE, + gParkEntranceFee - MONEY(1,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + } else { + window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); + } + window_invalidate(w); + break; + case WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN: + dropdownWidget = widget - 1; - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_FREE_PARK_ENTER; - gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[1] = STR_PAY_PARK_ENTER; + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_FREE_PARK_ENTER; + gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[1] = STR_PAY_PARK_ENTER; - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top - 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 2, - dropdownWidget->right - dropdownWidget->left - 3 - ); + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top - 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 2, + dropdownWidget->right - dropdownWidget->left - 3 + ); - dropdown_set_checked((gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY ? 0 : 1), true); - break; - } + dropdown_set_checked((gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY ? 0 : 1), true); + break; + } } /** @@ -1344,18 +1344,18 @@ static void window_editor_scenario_options_park_mousedown(rct_widgetindex widget */ static void window_editor_scenario_options_park_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex == WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN && dropdownIndex != -1) { - game_do_command( - 0, - GAME_COMMAND_FLAG_APPLY, - EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD, - dropdownIndex, - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - 0, - 0 - ); - window_invalidate(w); - } + if (widgetIndex == WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN && dropdownIndex != -1) { + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD, + dropdownIndex, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); + window_invalidate(w); + } } /** @@ -1364,9 +1364,9 @@ static void window_editor_scenario_options_park_dropdown(rct_window *w, rct_widg */ static void window_editor_scenario_options_park_update(rct_window *w) { - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_3); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_3); } /** @@ -1375,65 +1375,65 @@ static void window_editor_scenario_options_park_update(rct_window *w) */ static void window_editor_scenario_options_park_invalidate(rct_window *w) { - uint64 pressedWidgets; + uint64 pressedWidgets; - rct_widget *widgets = window_editor_scenario_options_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + rct_widget *widgets = window_editor_scenario_options_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_editor_scenario_options_set_pressed_tab(w); + window_editor_scenario_options_set_pressed_tab(w); - if (((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY_SCENARIO)) || - (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY))) { - for (sint32 i = WIDX_LAND_COST; i <= WIDX_ENTRY_PRICE_DECREASE; i++) - w->widgets[i].type = WWT_EMPTY; - } else { - w->widgets[WIDX_LAND_COST].type = WWT_SPINNER; - w->widgets[WIDX_LAND_COST_INCREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_LAND_COST_DECREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].type = WWT_SPINNER; - w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].type = WWT_DROPDOWN; - w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + if (((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY_SCENARIO)) || + (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY))) { + for (sint32 i = WIDX_LAND_COST; i <= WIDX_ENTRY_PRICE_DECREASE; i++) + w->widgets[i].type = WWT_EMPTY; + } else { + w->widgets[WIDX_LAND_COST].type = WWT_SPINNER; + w->widgets[WIDX_LAND_COST_INCREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_LAND_COST_DECREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].type = WWT_SPINNER; + w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].type = WWT_DROPDOWN; + w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { - w->widgets[WIDX_ENTRY_PRICE].type = WWT_EMPTY; - w->widgets[WIDX_ENTRY_PRICE_INCREASE].type = WWT_EMPTY; - w->widgets[WIDX_ENTRY_PRICE_DECREASE].type = WWT_EMPTY; - } else { - w->widgets[WIDX_ENTRY_PRICE].type = WWT_SPINNER; - w->widgets[WIDX_ENTRY_PRICE_INCREASE].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_ENTRY_PRICE_DECREASE].type = WWT_DROPDOWN_BUTTON; - } - } + if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { + w->widgets[WIDX_ENTRY_PRICE].type = WWT_EMPTY; + w->widgets[WIDX_ENTRY_PRICE_INCREASE].type = WWT_EMPTY; + w->widgets[WIDX_ENTRY_PRICE_DECREASE].type = WWT_EMPTY; + } else { + w->widgets[WIDX_ENTRY_PRICE].type = WWT_SPINNER; + w->widgets[WIDX_ENTRY_PRICE_INCREASE].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_ENTRY_PRICE_DECREASE].type = WWT_DROPDOWN_BUTTON; + } + } - // Set checkboxes - pressedWidgets = w->pressed_widgets; - pressedWidgets &= ~(1 << WIDX_FORBID_TREE_REMOVAL); - pressedWidgets &= ~(1 << WIDX_FORBID_LANDSCAPE_CHANGES); - pressedWidgets &= ~(1 << WIDX_FORBID_HIGH_CONSTRUCTION); - pressedWidgets &= ~(1 << WIDX_HARD_PARK_RATING); - pressedWidgets &= ~(1 << WIDX_HARD_GUEST_GENERATION); + // Set checkboxes + pressedWidgets = w->pressed_widgets; + pressedWidgets &= ~(1 << WIDX_FORBID_TREE_REMOVAL); + pressedWidgets &= ~(1 << WIDX_FORBID_LANDSCAPE_CHANGES); + pressedWidgets &= ~(1 << WIDX_FORBID_HIGH_CONSTRUCTION); + pressedWidgets &= ~(1 << WIDX_HARD_PARK_RATING); + pressedWidgets &= ~(1 << WIDX_HARD_GUEST_GENERATION); - if (gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL) - pressedWidgets |= (1 << WIDX_FORBID_TREE_REMOVAL); - if (gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES) - pressedWidgets |= (1 << WIDX_FORBID_LANDSCAPE_CHANGES); - if (gParkFlags & PARK_FLAGS_FORBID_HIGH_CONSTRUCTION) - pressedWidgets |= (1 << WIDX_FORBID_HIGH_CONSTRUCTION); - if (gParkFlags & PARK_FLAGS_DIFFICULT_PARK_RATING) - pressedWidgets |= (1 << WIDX_HARD_PARK_RATING); - if (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION) - pressedWidgets |= (1 << WIDX_HARD_GUEST_GENERATION); + if (gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL) + pressedWidgets |= (1 << WIDX_FORBID_TREE_REMOVAL); + if (gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES) + pressedWidgets |= (1 << WIDX_FORBID_LANDSCAPE_CHANGES); + if (gParkFlags & PARK_FLAGS_FORBID_HIGH_CONSTRUCTION) + pressedWidgets |= (1 << WIDX_FORBID_HIGH_CONSTRUCTION); + if (gParkFlags & PARK_FLAGS_DIFFICULT_PARK_RATING) + pressedWidgets |= (1 << WIDX_HARD_PARK_RATING); + if (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION) + pressedWidgets |= (1 << WIDX_HARD_GUEST_GENERATION); - w->pressed_widgets = pressedWidgets; + w->pressed_widgets = pressedWidgets; - w->widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX; + w->widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX; - window_editor_scenario_options_anchor_border_widgets(w); + window_editor_scenario_options_anchor_border_widgets(w); } /** @@ -1442,61 +1442,61 @@ static void window_editor_scenario_options_park_invalidate(rct_window *w) */ static void window_editor_scenario_options_park_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y, arg; - rct_string_id stringId; + sint32 x, y, arg; + rct_string_id stringId; - window_draw_widgets(w, dpi); - window_editor_scenario_options_draw_tab_images(w, dpi); + window_draw_widgets(w, dpi); + window_editor_scenario_options_draw_tab_images(w, dpi); - if (w->widgets[WIDX_LAND_COST].type != WWT_EMPTY) { - // Cost to buy land label - x = w->x + 8; - y = w->y + w->widgets[WIDX_LAND_COST].top; - gfx_draw_string_left(dpi, STR_LAND_COST_LABEL, NULL, COLOUR_BLACK, x, y); + if (w->widgets[WIDX_LAND_COST].type != WWT_EMPTY) { + // Cost to buy land label + x = w->x + 8; + y = w->y + w->widgets[WIDX_LAND_COST].top; + gfx_draw_string_left(dpi, STR_LAND_COST_LABEL, NULL, COLOUR_BLACK, x, y); - // Cost to buy land value - x = w->x + w->widgets[WIDX_LAND_COST].left + 1; - y = w->y + w->widgets[WIDX_LAND_COST].top; - arg = gLandPrice; - gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); - } + // Cost to buy land value + x = w->x + w->widgets[WIDX_LAND_COST].left + 1; + y = w->y + w->widgets[WIDX_LAND_COST].top; + arg = gLandPrice; + gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); + } - if (w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].type != WWT_EMPTY) { - // Cost to buy construction rights label - x = w->x + 8; - y = w->y + w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].top; - gfx_draw_string_left(dpi, STR_RIGHTS_COST_LABEL, NULL, COLOUR_BLACK, x, y); + if (w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].type != WWT_EMPTY) { + // Cost to buy construction rights label + x = w->x + 8; + y = w->y + w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].top; + gfx_draw_string_left(dpi, STR_RIGHTS_COST_LABEL, NULL, COLOUR_BLACK, x, y); - // Cost to buy construction rights value - x = w->x + w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].left + 1; - y = w->y + w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].top; - arg = gConstructionRightsPrice; - gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); - } + // Cost to buy construction rights value + x = w->x + w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].left + 1; + y = w->y + w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].top; + arg = gConstructionRightsPrice; + gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); + } - if (w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].type != WWT_EMPTY) { - // Pay for park or rides label - x = w->x + w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].left + 1; - y = w->y + w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].top; - gfx_draw_string_left(dpi, STR_FREE_PARK_ENTER, NULL, COLOUR_BLACK, x, y); + if (w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].type != WWT_EMPTY) { + // Pay for park or rides label + x = w->x + w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].left + 1; + y = w->y + w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].top; + gfx_draw_string_left(dpi, STR_FREE_PARK_ENTER, NULL, COLOUR_BLACK, x, y); - // Pay for park or rides value - stringId = gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY ? STR_FREE_PARK_ENTER : STR_PAY_PARK_ENTER; - gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, x, y); - } + // Pay for park or rides value + stringId = gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY ? STR_FREE_PARK_ENTER : STR_PAY_PARK_ENTER; + gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, x, y); + } - if (w->widgets[WIDX_ENTRY_PRICE].type != WWT_EMPTY) { - // Entry price label - x = w->x + w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].right + 8; - y = w->y + w->widgets[WIDX_ENTRY_PRICE].top; - gfx_draw_string_left(dpi, STR_ENTRY_PRICE_LABEL, NULL, COLOUR_BLACK, x, y); + if (w->widgets[WIDX_ENTRY_PRICE].type != WWT_EMPTY) { + // Entry price label + x = w->x + w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].right + 8; + y = w->y + w->widgets[WIDX_ENTRY_PRICE].top; + gfx_draw_string_left(dpi, STR_ENTRY_PRICE_LABEL, NULL, COLOUR_BLACK, x, y); - // Entry price value - x = w->x + w->widgets[WIDX_ENTRY_PRICE].left + 1; - y = w->y + w->widgets[WIDX_ENTRY_PRICE].top; - arg = gParkEntranceFee; - gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); - } + // Entry price value + x = w->x + w->widgets[WIDX_ENTRY_PRICE].left + 1; + y = w->y + w->widgets[WIDX_ENTRY_PRICE].top; + arg = gParkEntranceFee; + gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y); + } } #pragma endregion diff --git a/src/openrct2/windows/error.c b/src/openrct2/windows/error.c index 7f53091740..ec86880460 100644 --- a/src/openrct2/windows/error.c +++ b/src/openrct2/windows/error.c @@ -26,46 +26,46 @@ bool gDisableErrorWindowSound = false; enum { - WIDX_BACKGROUND + WIDX_BACKGROUND }; static rct_widget window_error_widgets[] = { - { WWT_IMGBTN, 0, 0, 199, 0, 41, 0xFFFFFFFF, STR_NONE }, - { WIDGETS_END } + { WWT_IMGBTN, 0, 0, 199, 0, 41, 0xFFFFFFFF, STR_NONE }, + { WIDGETS_END } }; static void window_error_unknown5(rct_window *w); static void window_error_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_error_events = { - NULL, - NULL, - NULL, - NULL, - NULL, - window_error_unknown5, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_error_paint, - NULL + NULL, + NULL, + NULL, + NULL, + NULL, + window_error_unknown5, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_error_paint, + NULL }; static char _window_error_text[512]; @@ -80,67 +80,67 @@ static uint16 _window_error_num_lines; */ void window_error_open(rct_string_id title, rct_string_id message) { - utf8 *dst; - sint32 numLines, fontHeight, x, y, width, height, maxY; - rct_window *w; + utf8 *dst; + sint32 numLines, fontHeight, x, y, width, height, maxY; + rct_window *w; - window_close_by_class(WC_ERROR); - dst = _window_error_text; + window_close_by_class(WC_ERROR); + dst = _window_error_text; - // Format the title - dst = utf8_write_codepoint(dst, FORMAT_BLACK); - if (title != STR_NONE) { - format_string(dst, 512 - (dst - _window_error_text), title, gCommonFormatArgs); - dst = get_string_end(dst); - } + // Format the title + dst = utf8_write_codepoint(dst, FORMAT_BLACK); + if (title != STR_NONE) { + format_string(dst, 512 - (dst - _window_error_text), title, gCommonFormatArgs); + dst = get_string_end(dst); + } - // Format the message - if (message != STR_NONE) { - dst = utf8_write_codepoint(dst, FORMAT_NEWLINE); - format_string(dst, 512 - (dst - _window_error_text), message, gCommonFormatArgs); - dst = get_string_end(dst); - } + // Format the message + if (message != STR_NONE) { + dst = utf8_write_codepoint(dst, FORMAT_NEWLINE); + format_string(dst, 512 - (dst - _window_error_text), message, gCommonFormatArgs); + dst = get_string_end(dst); + } - log_verbose("show error, %s", _window_error_text + 1); + log_verbose("show error, %s", _window_error_text + 1); - // Check if there is any text to display - if (dst == _window_error_text + 1) - return; + // Check if there is any text to display + if (dst == _window_error_text + 1) + return; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - width = gfx_get_string_width_new_lined(_window_error_text); - width = min(196, width); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + width = gfx_get_string_width_new_lined(_window_error_text); + width = min(196, width); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_wrap_string(_window_error_text, width + 1, &numLines, &fontHeight); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gfx_wrap_string(_window_error_text, width + 1, &numLines, &fontHeight); - _window_error_num_lines = numLines; - width = width + 3; - height = (numLines + 1) * 10 + 4; + _window_error_num_lines = numLines; + width = width + 3; + height = (numLines + 1) * 10 + 4; - window_error_widgets[WIDX_BACKGROUND].right = width; - window_error_widgets[WIDX_BACKGROUND].bottom = height; + window_error_widgets[WIDX_BACKGROUND].right = width; + window_error_widgets[WIDX_BACKGROUND].bottom = height; - sint32 screenWidth = context_get_width(); - sint32 screenHeight = context_get_height(); - const CursorState * state = context_get_cursor_state(); - x = state->x - (width / 2); - x = clamp(0, x, screenWidth); + sint32 screenWidth = context_get_width(); + sint32 screenHeight = context_get_height(); + const CursorState * state = context_get_cursor_state(); + x = state->x - (width / 2); + x = clamp(0, x, screenWidth); - y = state->y + 26; - y = max(22, y); - maxY = screenHeight - height; - if (y > maxY) { - y = y - height - 40; - y = min(y, maxY); - } + y = state->y + 26; + y = max(22, y); + maxY = screenHeight - height; + if (y > maxY) { + y = y - height - 40; + y = min(y, maxY); + } - w = window_create(x, y, width, height, &window_error_events, WC_ERROR, WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_RESIZABLE); - w->widgets = window_error_widgets; - w->error.var_480 = 0; - if (!gDisableErrorWindowSound) { - audio_play_sound(SOUND_ERROR, 0, w->x + (w->width / 2)); - } + w = window_create(x, y, width, height, &window_error_events, WC_ERROR, WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_RESIZABLE); + w->widgets = window_error_widgets; + w->error.var_480 = 0; + if (!gDisableErrorWindowSound) { + audio_play_sound(SOUND_ERROR, 0, w->x + (w->width / 2)); + } } /** @@ -149,9 +149,9 @@ void window_error_open(rct_string_id title, rct_string_id message) */ static void window_error_unknown5(rct_window *w) { - w->error.var_480++; - if (w->error.var_480 >= 8) - window_close(w); + w->error.var_480++; + if (w->error.var_480 >= 8) + window_close(w); } /** @@ -160,27 +160,27 @@ static void window_error_unknown5(rct_window *w) */ static void window_error_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 t, l, r, b; + sint32 t, l, r, b; - l = w->x; - t = w->y; - r = w->x + w->width - 1; - b = w->y + w->height - 1; + l = w->x; + t = w->y; + r = w->x + w->width - 1; + b = w->y + w->height - 1; - gfx_filter_rect(dpi, l + 1, t + 1, r - 1, b - 1, PALETTE_45); - gfx_filter_rect(dpi, l, t, r, b, PALETTE_GLASS_SATURATED_RED); + gfx_filter_rect(dpi, l + 1, t + 1, r - 1, b - 1, PALETTE_45); + gfx_filter_rect(dpi, l, t, r, b, PALETTE_GLASS_SATURATED_RED); - gfx_filter_rect(dpi, l, t + 2, l, b - 2, PALETTE_DARKEN_3); - gfx_filter_rect(dpi, r, t + 2, r, b - 2, PALETTE_DARKEN_3); - gfx_filter_rect(dpi, l + 2, b, r - 2, b, PALETTE_DARKEN_3); - gfx_filter_rect(dpi, l + 2, t, r - 2, t, PALETTE_DARKEN_3); + gfx_filter_rect(dpi, l, t + 2, l, b - 2, PALETTE_DARKEN_3); + gfx_filter_rect(dpi, r, t + 2, r, b - 2, PALETTE_DARKEN_3); + gfx_filter_rect(dpi, l + 2, b, r - 2, b, PALETTE_DARKEN_3); + gfx_filter_rect(dpi, l + 2, t, r - 2, t, PALETTE_DARKEN_3); - gfx_filter_rect(dpi, r + 1, t + 1, r + 1, t + 1, PALETTE_DARKEN_3); - gfx_filter_rect(dpi, r - 1, t + 1, r - 1, t + 1, PALETTE_DARKEN_3); - gfx_filter_rect(dpi, l + 1, b - 1, l + 1, b - 1, PALETTE_DARKEN_3); - gfx_filter_rect(dpi, r - 1, b - 1, r - 1, b - 1, PALETTE_DARKEN_3); + gfx_filter_rect(dpi, r + 1, t + 1, r + 1, t + 1, PALETTE_DARKEN_3); + gfx_filter_rect(dpi, r - 1, t + 1, r - 1, t + 1, PALETTE_DARKEN_3); + gfx_filter_rect(dpi, l + 1, b - 1, l + 1, b - 1, PALETTE_DARKEN_3); + gfx_filter_rect(dpi, r - 1, b - 1, r - 1, b - 1, PALETTE_DARKEN_3); - l = w->x + (w->width + 1) / 2 - 1; - t = w->y + 1; - draw_string_centred_raw(dpi, l, t, _window_error_num_lines, _window_error_text); + l = w->x + (w->width + 1) / 2 - 1; + t = w->y + 1; + draw_string_centred_raw(dpi, l, t, _window_error_num_lines, _window_error_text); } diff --git a/src/openrct2/windows/finances.c b/src/openrct2/windows/finances.c index 7cb22c714e..fd7a53ed89 100644 --- a/src/openrct2/windows/finances.c +++ b/src/openrct2/windows/finances.c @@ -31,166 +31,166 @@ #include "dropdown.h" enum { - WINDOW_FINANCES_PAGE_SUMMARY, - WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH, - WINDOW_FINANCES_PAGE_VALUE_GRAPH, - WINDOW_FINANCES_PAGE_PROFIT_GRAPH, - WINDOW_FINANCES_PAGE_MARKETING, - WINDOW_FINANCES_PAGE_RESEARCH, - WINDOW_FINANCES_PAGE_COUNT + WINDOW_FINANCES_PAGE_SUMMARY, + WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH, + WINDOW_FINANCES_PAGE_VALUE_GRAPH, + WINDOW_FINANCES_PAGE_PROFIT_GRAPH, + WINDOW_FINANCES_PAGE_MARKETING, + WINDOW_FINANCES_PAGE_RESEARCH, + WINDOW_FINANCES_PAGE_COUNT }; enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_TAB_2, - WIDX_TAB_3, - WIDX_TAB_4, - WIDX_TAB_5, - WIDX_TAB_6, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_TAB_2, + WIDX_TAB_3, + WIDX_TAB_4, + WIDX_TAB_5, + WIDX_TAB_6, - WIDX_LOAN = 10, - WIDX_LOAN_INCREASE, - WIDX_LOAN_DECREASE, + WIDX_LOAN = 10, + WIDX_LOAN_INCREASE, + WIDX_LOAN_DECREASE, - WIDX_ACITVE_CAMPAGINS_GROUP = 10, - WIDX_CAMPAGINS_AVAILABLE_GROUP, - WIDX_CAMPAIGN_1, - WIDX_CAMPAIGN_2, - WIDX_CAMPAIGN_3, - WIDX_CAMPAIGN_4, - WIDX_CAMPAIGN_5, - WIDX_CAMPAIGN_6, + WIDX_ACITVE_CAMPAGINS_GROUP = 10, + WIDX_CAMPAGINS_AVAILABLE_GROUP, + WIDX_CAMPAIGN_1, + WIDX_CAMPAIGN_2, + WIDX_CAMPAIGN_3, + WIDX_CAMPAIGN_4, + WIDX_CAMPAIGN_5, + WIDX_CAMPAIGN_6, - WIDX_RESEARCH_FUNDING = 11, - WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON, - WIDX_TRANSPORT_RIDES = 14, - WIDX_GENTLE_RIDES, - WIDX_ROLLER_COASTERS, - WIDX_THRILL_RIDES, - WIDX_WATER_RIDES, - WIDX_SHOPS_AND_STALLS, - WIDX_SCENERY_AND_THEMING, + WIDX_RESEARCH_FUNDING = 11, + WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON, + WIDX_TRANSPORT_RIDES = 14, + WIDX_GENTLE_RIDES, + WIDX_ROLLER_COASTERS, + WIDX_THRILL_RIDES, + WIDX_WATER_RIDES, + WIDX_SHOPS_AND_STALLS, + WIDX_SCENERY_AND_THEMING, }; #pragma region Widgets static rct_widget window_finances_summary_widgets[] = { - { WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 528, 1, 14, STR_FINANCIAL_SUMMARY, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_SUMMARY_TAB_TIP }, - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_CASH_TAB_TIP }, - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP }, - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP }, - { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_MARKETING_TAB_TIP }, - { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, - { WWT_SPINNER, 1, 64, 153, 229, 240, STR_FINANCES_SUMMARY_LOAN_VALUE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 142, 152, 230, 234, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 142, 152, 235, 239, STR_NUMERIC_DOWN, STR_NONE }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 528, 1, 14, STR_FINANCIAL_SUMMARY, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_SUMMARY_TAB_TIP }, + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_CASH_TAB_TIP }, + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP }, + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP }, + { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_MARKETING_TAB_TIP }, + { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, + { WWT_SPINNER, 1, 64, 153, 229, 240, STR_FINANCES_SUMMARY_LOAN_VALUE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 142, 152, 230, 234, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 142, 152, 235, 239, STR_NUMERIC_DOWN, STR_NONE }, + { WIDGETS_END }, }; static rct_widget window_finances_cash_widgets[] = { - { WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 528, 1, 14, STR_FINANCIAL_GRAPH, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_SUMMARY_TAB_TIP }, - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_CASH_TAB_TIP }, - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP }, - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP }, - { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_MARKETING_TAB_TIP }, - { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 528, 1, 14, STR_FINANCIAL_GRAPH, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_SUMMARY_TAB_TIP }, + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_CASH_TAB_TIP }, + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP }, + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP }, + { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_MARKETING_TAB_TIP }, + { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, + { WIDGETS_END }, }; static rct_widget window_finances_park_value_widgets[] = { - { WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 528, 1, 14, STR_PARK_VALUE_GRAPH, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_SUMMARY_TAB_TIP }, - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_CASH_TAB_TIP }, - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP }, - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP }, - { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_MARKETING_TAB_TIP }, - { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 528, 1, 14, STR_PARK_VALUE_GRAPH, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_SUMMARY_TAB_TIP }, + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_CASH_TAB_TIP }, + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP }, + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP }, + { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_MARKETING_TAB_TIP }, + { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, + { WIDGETS_END }, }; static rct_widget window_finances_profit_widgets[] = { - { WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 528, 1, 14, STR_PROFIT_GRAPH, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_SUMMARY_TAB_TIP }, - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_CASH_TAB_TIP }, - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP }, - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP }, - { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_MARKETING_TAB_TIP }, - { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 528, 1, 14, STR_PROFIT_GRAPH, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_SUMMARY_TAB_TIP }, + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_CASH_TAB_TIP }, + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP }, + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP }, + { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_MARKETING_TAB_TIP }, + { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, + { WIDGETS_END }, }; static rct_widget window_finances_marketing_widgets[] = { - { WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 528, 1, 14, STR_MARKETING, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_SUMMARY_TAB_TIP }, - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_CASH_TAB_TIP }, - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP }, - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP }, - { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_MARKETING_TAB_TIP }, - { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, - { WWT_GROUPBOX, 2, 3, 526, 47, 91, STR_MARKETING_CAMPAIGNS_IN_OPERATION, STR_NONE }, - { WWT_GROUPBOX, 2, 3, 526, 47, 252, STR_MARKETING_CAMPAIGNS_AVAILABLE, STR_NONE }, - { WWT_IMGBTN, 1, 8, 521, 0, 11, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN }, - { WWT_IMGBTN, 1, 8, 521, 0, 11, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN }, - { WWT_IMGBTN, 1, 8, 521, 0, 11, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN }, - { WWT_IMGBTN, 1, 8, 521, 0, 11, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN }, - { WWT_IMGBTN, 1, 8, 521, 0, 11, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN }, - { WWT_IMGBTN, 1, 8, 521, 0, 11, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 528, 1, 14, STR_MARKETING, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_SUMMARY_TAB_TIP }, + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_CASH_TAB_TIP }, + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP }, + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP }, + { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_MARKETING_TAB_TIP }, + { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, + { WWT_GROUPBOX, 2, 3, 526, 47, 91, STR_MARKETING_CAMPAIGNS_IN_OPERATION, STR_NONE }, + { WWT_GROUPBOX, 2, 3, 526, 47, 252, STR_MARKETING_CAMPAIGNS_AVAILABLE, STR_NONE }, + { WWT_IMGBTN, 1, 8, 521, 0, 11, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN }, + { WWT_IMGBTN, 1, 8, 521, 0, 11, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN }, + { WWT_IMGBTN, 1, 8, 521, 0, 11, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN }, + { WWT_IMGBTN, 1, 8, 521, 0, 11, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN }, + { WWT_IMGBTN, 1, 8, 521, 0, 11, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN }, + { WWT_IMGBTN, 1, 8, 521, 0, 11, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN }, + { WIDGETS_END }, }; static rct_widget window_finances_research_widgets[] = { - { WWT_FRAME, 0, 0, 319, 0, 206, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 318, 1, 14, STR_RESEARCH_FUNDING, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 307, 317, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 319, 43, 206, 0xFFFFFFFF, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_SUMMARY_TAB_TIP }, - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_CASH_TAB_TIP }, - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP }, - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP }, - { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_MARKETING_TAB_TIP }, - { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, - { WWT_GROUPBOX, 2, 3, 316, 47, 91, STR_RESEARCH_FUNDING_, STR_NONE }, - { WWT_DROPDOWN, 2, 8, 167, 59, 70, 0xFFFFFFFF, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT }, - { WWT_DROPDOWN_BUTTON, 2, 156, 166, 60, 69, STR_DROPDOWN_GLYPH, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT }, - { WWT_GROUPBOX, 2, 3, 316, 96, 202, STR_RESEARCH_PRIORITIES, STR_NONE }, - { WWT_CHECKBOX, 2, 8, 311, 108, 119, STR_RESEARCH_NEW_TRANSPORT_RIDES, STR_RESEARCH_NEW_TRANSPORT_RIDES_TIP }, - { WWT_CHECKBOX, 2, 8, 311, 121, 132, STR_RESEARCH_NEW_GENTLE_RIDES, STR_RESEARCH_NEW_GENTLE_RIDES_TIP }, - { WWT_CHECKBOX, 2, 8, 311, 134, 145, STR_RESEARCH_NEW_ROLLER_COASTERS, STR_RESEARCH_NEW_ROLLER_COASTERS_TIP }, - { WWT_CHECKBOX, 2, 8, 311, 147, 158, STR_RESEARCH_NEW_THRILL_RIDES, STR_RESEARCH_NEW_THRILL_RIDES_TIP }, - { WWT_CHECKBOX, 2, 8, 311, 160, 171, STR_RESEARCH_NEW_WATER_RIDES, STR_RESEARCH_NEW_WATER_RIDES_TIP }, - { WWT_CHECKBOX, 2, 8, 311, 173, 184, STR_RESEARCH_NEW_SHOPS_AND_STALLS, STR_RESEARCH_NEW_SHOPS_AND_STALLS_TIP }, - { WWT_CHECKBOX, 2, 8, 311, 186, 197, STR_RESEARCH_NEW_SCENERY_AND_THEMING, STR_RESEARCH_NEW_SCENERY_AND_THEMING_TIP }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 319, 0, 206, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 318, 1, 14, STR_RESEARCH_FUNDING, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 307, 317, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 319, 43, 206, 0xFFFFFFFF, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_SUMMARY_TAB_TIP }, + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_CASH_TAB_TIP }, + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_PARK_VALUE_TAB_TIP }, + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_WEEKLY_PROFIT_TAB_TIP }, + { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_SHOW_MARKETING_TAB_TIP }, + { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, + { WWT_GROUPBOX, 2, 3, 316, 47, 91, STR_RESEARCH_FUNDING_, STR_NONE }, + { WWT_DROPDOWN, 2, 8, 167, 59, 70, 0xFFFFFFFF, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT }, + { WWT_DROPDOWN_BUTTON, 2, 156, 166, 60, 69, STR_DROPDOWN_GLYPH, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT }, + { WWT_GROUPBOX, 2, 3, 316, 96, 202, STR_RESEARCH_PRIORITIES, STR_NONE }, + { WWT_CHECKBOX, 2, 8, 311, 108, 119, STR_RESEARCH_NEW_TRANSPORT_RIDES, STR_RESEARCH_NEW_TRANSPORT_RIDES_TIP }, + { WWT_CHECKBOX, 2, 8, 311, 121, 132, STR_RESEARCH_NEW_GENTLE_RIDES, STR_RESEARCH_NEW_GENTLE_RIDES_TIP }, + { WWT_CHECKBOX, 2, 8, 311, 134, 145, STR_RESEARCH_NEW_ROLLER_COASTERS, STR_RESEARCH_NEW_ROLLER_COASTERS_TIP }, + { WWT_CHECKBOX, 2, 8, 311, 147, 158, STR_RESEARCH_NEW_THRILL_RIDES, STR_RESEARCH_NEW_THRILL_RIDES_TIP }, + { WWT_CHECKBOX, 2, 8, 311, 160, 171, STR_RESEARCH_NEW_WATER_RIDES, STR_RESEARCH_NEW_WATER_RIDES_TIP }, + { WWT_CHECKBOX, 2, 8, 311, 173, 184, STR_RESEARCH_NEW_SHOPS_AND_STALLS, STR_RESEARCH_NEW_SHOPS_AND_STALLS_TIP }, + { WWT_CHECKBOX, 2, 8, 311, 186, 197, STR_RESEARCH_NEW_SCENERY_AND_THEMING, STR_RESEARCH_NEW_SCENERY_AND_THEMING_TIP }, + { WIDGETS_END }, }; static rct_widget *window_finances_page_widgets[] = { - window_finances_summary_widgets, - window_finances_cash_widgets, - window_finances_park_value_widgets, - window_finances_profit_widgets, - window_finances_marketing_widgets, - window_finances_research_widgets + window_finances_summary_widgets, + window_finances_cash_widgets, + window_finances_park_value_widgets, + window_finances_profit_widgets, + window_finances_marketing_widgets, + window_finances_research_widgets }; #pragma endregion @@ -232,203 +232,203 @@ static void window_finances_research_paint(rct_window *w, rct_drawpixelinfo *dpi // 0x00988EB8 static rct_window_event_list window_finances_summary_events = { - NULL, - window_finances_summary_mouseup, - NULL, - window_finances_summary_mousedown, - NULL, - NULL, - window_finances_summary_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_finances_summary_invalidate, - window_finances_summary_paint, - NULL + NULL, + window_finances_summary_mouseup, + NULL, + window_finances_summary_mousedown, + NULL, + NULL, + window_finances_summary_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_finances_summary_invalidate, + window_finances_summary_paint, + NULL }; // 0x00988F28 static rct_window_event_list window_finances_financial_graph_events = { - NULL, - window_finances_financial_graph_mouseup, - NULL, - NULL, - NULL, - NULL, - window_finances_financial_graph_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_finances_financial_graph_invalidate, - window_finances_financial_graph_paint, - NULL + NULL, + window_finances_financial_graph_mouseup, + NULL, + NULL, + NULL, + NULL, + window_finances_financial_graph_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_finances_financial_graph_invalidate, + window_finances_financial_graph_paint, + NULL }; // 0x00988F98 static rct_window_event_list window_finances_value_graph_events = { - NULL, - window_finances_park_value_graph_mouseup, - NULL, - NULL, - NULL, - NULL, - window_finances_park_value_graph_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_finances_park_value_graph_invalidate, - window_finances_park_value_graph_paint, - NULL + NULL, + window_finances_park_value_graph_mouseup, + NULL, + NULL, + NULL, + NULL, + window_finances_park_value_graph_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_finances_park_value_graph_invalidate, + window_finances_park_value_graph_paint, + NULL }; // 0x00989008 static rct_window_event_list window_finances_profit_graph_events = { - NULL, - window_finances_profit_graph_mouseup, - NULL, - NULL, - NULL, - NULL, - window_finances_profit_graph_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_finances_profit_graph_invalidate, - window_finances_profit_graph_paint, - NULL + NULL, + window_finances_profit_graph_mouseup, + NULL, + NULL, + NULL, + NULL, + window_finances_profit_graph_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_finances_profit_graph_invalidate, + window_finances_profit_graph_paint, + NULL }; // 0x00989078 static rct_window_event_list window_finances_marketing_events = { - NULL, - window_finances_marketing_mouseup, - NULL, - NULL, - NULL, - NULL, - window_finances_marketing_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_finances_marketing_invalidate, - window_finances_marketing_paint, - NULL + NULL, + window_finances_marketing_mouseup, + NULL, + NULL, + NULL, + NULL, + window_finances_marketing_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_finances_marketing_invalidate, + window_finances_marketing_paint, + NULL }; // 0x009890E8 static rct_window_event_list window_finances_research_events = { - NULL, - window_finances_research_mouseup, - NULL, - window_finances_research_mousedown, - window_finances_research_dropdown, - NULL, - window_finances_research_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_finances_research_invalidate, - window_finances_research_paint, - NULL + NULL, + window_finances_research_mouseup, + NULL, + window_finances_research_mousedown, + window_finances_research_dropdown, + NULL, + window_finances_research_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_finances_research_invalidate, + window_finances_research_paint, + NULL }; static rct_window_event_list *window_finances_page_events[] = { - &window_finances_summary_events, - &window_finances_financial_graph_events, - &window_finances_value_graph_events, - &window_finances_profit_graph_events, - &window_finances_marketing_events, - &window_finances_research_events + &window_finances_summary_events, + &window_finances_financial_graph_events, + &window_finances_value_graph_events, + &window_finances_profit_graph_events, + &window_finances_marketing_events, + &window_finances_research_events }; static void window_finances_set_colours(); @@ -438,82 +438,82 @@ static void window_finances_set_colours(); #pragma region Enabled widgets static uint32 window_finances_page_enabled_widgets[] = { - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | - (1 << WIDX_LOAN_INCREASE) | - (1 << WIDX_LOAN_DECREASE), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | + (1 << WIDX_LOAN_INCREASE) | + (1 << WIDX_LOAN_DECREASE), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | - (1 << WIDX_CAMPAIGN_1) | - (1 << WIDX_CAMPAIGN_2) | - (1 << WIDX_CAMPAIGN_3) | - (1 << WIDX_CAMPAIGN_4) | - (1 << WIDX_CAMPAIGN_5) | - (1 << WIDX_CAMPAIGN_6), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | + (1 << WIDX_CAMPAIGN_1) | + (1 << WIDX_CAMPAIGN_2) | + (1 << WIDX_CAMPAIGN_3) | + (1 << WIDX_CAMPAIGN_4) | + (1 << WIDX_CAMPAIGN_5) | + (1 << WIDX_CAMPAIGN_6), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | - (1 << WIDX_RESEARCH_FUNDING) | - (1 << WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON) | - (1 << WIDX_TRANSPORT_RIDES) | - (1 << WIDX_GENTLE_RIDES) | - (1 << WIDX_ROLLER_COASTERS) | - (1 << WIDX_THRILL_RIDES) | - (1 << WIDX_WATER_RIDES) | - (1 << WIDX_SHOPS_AND_STALLS) | - (1 << WIDX_SCENERY_AND_THEMING) + (1 << WIDX_RESEARCH_FUNDING) | + (1 << WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON) | + (1 << WIDX_TRANSPORT_RIDES) | + (1 << WIDX_GENTLE_RIDES) | + (1 << WIDX_ROLLER_COASTERS) | + (1 << WIDX_THRILL_RIDES) | + (1 << WIDX_WATER_RIDES) | + (1 << WIDX_SHOPS_AND_STALLS) | + (1 << WIDX_SCENERY_AND_THEMING) }; static uint32 window_finances_page_hold_down_widgets[] = { - (1 << WIDX_LOAN_INCREASE) | - (1 << WIDX_LOAN_DECREASE), + (1 << WIDX_LOAN_INCREASE) | + (1 << WIDX_LOAN_DECREASE), - 0, - 0, - 0, - 0, - 0 + 0, + 0, + 0, + 0, + 0 }; #pragma endregion @@ -521,20 +521,20 @@ static uint32 window_finances_page_hold_down_widgets[] = { const sint32 window_finances_tab_animation_loops[] = { 16, 32, 32, 32, 38, 16 }; static const rct_string_id window_finances_summary_row_labels[RCT_EXPENDITURE_TYPE_COUNT] = { - STR_FINANCES_SUMMARY_RIDE_CONSTRUCTION, - STR_FINANCES_SUMMARY_RIDE_RUNNING_COSTS, - STR_FINANCES_SUMMARY_LAND_PURCHASE, - STR_FINANCES_SUMMARY_LANDSCAPING, - STR_FINANCES_SUMMARY_PARK_ENTRANCE_TICKETS, - STR_FINANCES_SUMMARY_RIDE_TICKETS, - STR_FINANCES_SUMMARY_SHOP_SALES, - STR_FINANCES_SUMMARY_SHOP_STOCK, - STR_FINANCES_SUMMARY_FOOD_DRINK_SALES, - STR_FINANCES_SUMMARY_FOOD_DRINK_STOCK, - STR_FINANCES_SUMMARY_STAFF_WAGES, - STR_FINANCES_SUMMARY_MARKETING, - STR_FINANCES_SUMMARY_RESEARCH, - STR_FINANCES_SUMMARY_LOAN_INTEREST, + STR_FINANCES_SUMMARY_RIDE_CONSTRUCTION, + STR_FINANCES_SUMMARY_RIDE_RUNNING_COSTS, + STR_FINANCES_SUMMARY_LAND_PURCHASE, + STR_FINANCES_SUMMARY_LANDSCAPING, + STR_FINANCES_SUMMARY_PARK_ENTRANCE_TICKETS, + STR_FINANCES_SUMMARY_RIDE_TICKETS, + STR_FINANCES_SUMMARY_SHOP_SALES, + STR_FINANCES_SUMMARY_SHOP_STOCK, + STR_FINANCES_SUMMARY_FOOD_DRINK_SALES, + STR_FINANCES_SUMMARY_FOOD_DRINK_STOCK, + STR_FINANCES_SUMMARY_STAFF_WAGES, + STR_FINANCES_SUMMARY_MARKETING, + STR_FINANCES_SUMMARY_RESEARCH, + STR_FINANCES_SUMMARY_LOAN_INTEREST, }; static void window_finances_set_page(rct_window *w, sint32 page); @@ -547,30 +547,30 @@ static void window_finances_draw_tab_images(rct_drawpixelinfo *dpi, rct_window * */ void window_finances_open() { - rct_window *w; + rct_window *w; - w = window_bring_to_front_by_class(WC_FINANCES); - if (w == NULL) { - w = window_create_auto_pos(530, 257, window_finances_page_events[0], WC_FINANCES, WF_10); - w->number = 0; - w->frame_no = 0; + w = window_bring_to_front_by_class(WC_FINANCES); + if (w == NULL) { + w = window_create_auto_pos(530, 257, window_finances_page_events[0], WC_FINANCES, WF_10); + w->number = 0; + w->frame_no = 0; - research_update_uncompleted_types(); - } + research_update_uncompleted_types(); + } - w->page = WINDOW_FINANCES_PAGE_SUMMARY; - window_invalidate(w); - w->width = 530; - w->height = 257; - window_invalidate(w); + w->page = WINDOW_FINANCES_PAGE_SUMMARY; + window_invalidate(w); + w->width = 530; + w->height = 257; + window_invalidate(w); - w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_SUMMARY]; - w->enabled_widgets = window_finances_page_enabled_widgets[WINDOW_FINANCES_PAGE_SUMMARY]; - w->hold_down_widgets = window_finances_page_hold_down_widgets[WINDOW_FINANCES_PAGE_SUMMARY]; - w->event_handlers = window_finances_page_events[WINDOW_FINANCES_PAGE_SUMMARY]; - w->pressed_widgets = 0; - w->disabled_widgets = 0; - window_init_scroll_widgets(w); + w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_SUMMARY]; + w->enabled_widgets = window_finances_page_enabled_widgets[WINDOW_FINANCES_PAGE_SUMMARY]; + w->hold_down_widgets = window_finances_page_hold_down_widgets[WINDOW_FINANCES_PAGE_SUMMARY]; + w->event_handlers = window_finances_page_events[WINDOW_FINANCES_PAGE_SUMMARY]; + w->pressed_widgets = 0; + w->disabled_widgets = 0; + window_init_scroll_widgets(w); } /** @@ -579,12 +579,12 @@ void window_finances_open() */ void window_finances_research_open() { - rct_window *w; + rct_window *w; - window_finances_open(); - w = window_find_by_class(WC_FINANCES); - if (w != NULL) - window_finances_set_page(w, WINDOW_FINANCES_PAGE_RESEARCH); + window_finances_open(); + w = window_find_by_class(WC_FINANCES); + if (w != NULL) + window_finances_set_page(w, WINDOW_FINANCES_PAGE_RESEARCH); } #pragma region Summary page @@ -595,10 +595,10 @@ void window_finances_research_open() */ static void window_finances_summary_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_CLOSE) - window_close(w); - else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_6) - window_finances_set_page(w, widgetIndex - WIDX_TAB_1); + if (widgetIndex == WIDX_CLOSE) + window_close(w); + else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_6) + window_finances_set_page(w, widgetIndex - WIDX_TAB_1); } /** @@ -607,22 +607,22 @@ static void window_finances_summary_mouseup(rct_window *w, rct_widgetindex widge */ static void window_finances_summary_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - money32 newLoan; + money32 newLoan; - switch (widgetIndex) { - case WIDX_LOAN_INCREASE: - newLoan = gBankLoan + MONEY(1000, 00); - gGameCommandErrorTitle = STR_CANT_BORROW_ANY_MORE_MONEY; - finance_set_loan(newLoan); - break; - case WIDX_LOAN_DECREASE: - if (gBankLoan > 0) { - newLoan = gBankLoan - MONEY(1000, 00); - gGameCommandErrorTitle = STR_CANT_PAY_BACK_LOAN; - finance_set_loan(newLoan); - } - break; - } + switch (widgetIndex) { + case WIDX_LOAN_INCREASE: + newLoan = gBankLoan + MONEY(1000, 00); + gGameCommandErrorTitle = STR_CANT_BORROW_ANY_MORE_MONEY; + finance_set_loan(newLoan); + break; + case WIDX_LOAN_DECREASE: + if (gBankLoan > 0) { + newLoan = gBankLoan - MONEY(1000, 00); + gGameCommandErrorTitle = STR_CANT_PAY_BACK_LOAN; + finance_set_loan(newLoan); + } + break; + } } /** @@ -631,10 +631,10 @@ static void window_finances_summary_mousedown(rct_widgetindex widgetIndex, rct_w */ static void window_finances_summary_update(rct_window *w) { - // Tab animation - if (++w->frame_no >= window_finances_tab_animation_loops[w->page]) - w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_1); + // Tab animation + if (++w->frame_no >= window_finances_tab_animation_loops[w->page]) + w->frame_no = 0; + widget_invalidate(w, WIDX_TAB_1); } /** @@ -643,13 +643,13 @@ static void window_finances_summary_update(rct_window *w) */ static void window_finances_summary_invalidate(rct_window *w) { - if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_SUMMARY]) { - w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_SUMMARY]; - window_init_scroll_widgets(w); - } + if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_SUMMARY]) { + w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_SUMMARY]; + window_init_scroll_widgets(w); + } - window_finances_set_pressed_tab(w); - set_format_arg(6, money32, gBankLoan); + window_finances_set_pressed_tab(w); + set_format_arg(6, money32, gBankLoan); } /** @@ -658,109 +658,109 @@ static void window_finances_summary_invalidate(rct_window *w) */ static void window_finances_summary_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 i, j, x, y; + sint32 i, j, x, y; - window_draw_widgets(w, dpi); - window_finances_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_finances_draw_tab_images(dpi, w); - x = w->x + 8; - y = w->y + 47; + x = w->x + 8; + y = w->y + 47; - // Expenditure / Income heading - draw_string_left_underline(dpi, STR_FINANCES_SUMMARY_EXPENDITURE_INCOME, NULL, COLOUR_BLACK, x, y - 1); - y += 14; + // Expenditure / Income heading + draw_string_left_underline(dpi, STR_FINANCES_SUMMARY_EXPENDITURE_INCOME, NULL, COLOUR_BLACK, x, y - 1); + y += 14; - // Expenditure / Income row labels - for (i = 0; i < 14; i++) { - // Darken every even row - if (i % 2 == 0) - gfx_fill_rect(dpi, x, y, x + 513 - 2, y + 9, ColourMapA[w->colours[1]].lighter | 0x1000000); + // Expenditure / Income row labels + for (i = 0; i < 14; i++) { + // Darken every even row + if (i % 2 == 0) + gfx_fill_rect(dpi, x, y, x + 513 - 2, y + 9, ColourMapA[w->colours[1]].lighter | 0x1000000); - gfx_draw_string_left(dpi, window_finances_summary_row_labels[i], NULL, COLOUR_BLACK, x, y - 1); - y += 10; - } + gfx_draw_string_left(dpi, window_finances_summary_row_labels[i], NULL, COLOUR_BLACK, x, y - 1); + y += 10; + } - // Expenditure / Income values for each month - x = w->x + 118; - sint16 currentMonthYear = gDateMonthsElapsed; - for (i = 4; i >= 0; i--) { - y = w->y + 47; + // Expenditure / Income values for each month + x = w->x + 118; + sint16 currentMonthYear = gDateMonthsElapsed; + for (i = 4; i >= 0; i--) { + y = w->y + 47; - sint16 monthyear = currentMonthYear - i; - if (monthyear < 0) - continue; + sint16 monthyear = currentMonthYear - i; + if (monthyear < 0) + continue; - // Month heading - set_format_arg(0, rct_string_id, STR_FINANCES_SUMMARY_MONTH_HEADING); - set_format_arg(2, uint16, monthyear); - draw_string_right_underline( - dpi, - monthyear == currentMonthYear ? STR_WINDOW_COLOUR_2_STRINGID : STR_BLACK_STRING, - gCommonFormatArgs, - COLOUR_BLACK, - x + 80, - y - 1 - ); - y += 14; + // Month heading + set_format_arg(0, rct_string_id, STR_FINANCES_SUMMARY_MONTH_HEADING); + set_format_arg(2, uint16, monthyear); + draw_string_right_underline( + dpi, + monthyear == currentMonthYear ? STR_WINDOW_COLOUR_2_STRINGID : STR_BLACK_STRING, + gCommonFormatArgs, + COLOUR_BLACK, + x + 80, + y - 1 + ); + y += 14; - // Month expenditures - money32 profit = 0; - money32 *expenditures = &gExpenditureTable[i * RCT_EXPENDITURE_TYPE_COUNT]; - for (j = 0; j < 14; j++) { - money32 expenditure = expenditures[j]; - if (expenditure != 0) { - profit += expenditure; - gfx_draw_string_right( - dpi, - expenditure >= 0 ? STR_FINANCES_SUMMARY_INCOME_VALUE : STR_FINANCES_SUMMARY_EXPENDITURE_VALUE, - &expenditure, - COLOUR_BLACK, - x + 80, - y - 1 - ); - } - y += 10; - } - y += 4; + // Month expenditures + money32 profit = 0; + money32 *expenditures = &gExpenditureTable[i * RCT_EXPENDITURE_TYPE_COUNT]; + for (j = 0; j < 14; j++) { + money32 expenditure = expenditures[j]; + if (expenditure != 0) { + profit += expenditure; + gfx_draw_string_right( + dpi, + expenditure >= 0 ? STR_FINANCES_SUMMARY_INCOME_VALUE : STR_FINANCES_SUMMARY_EXPENDITURE_VALUE, + &expenditure, + COLOUR_BLACK, + x + 80, + y - 1 + ); + } + y += 10; + } + y += 4; - // Month profit - gfx_draw_string_right( - dpi, - profit >= 0 ? STR_FINANCES_SUMMARY_INCOME_VALUE : STR_FINANCES_SUMMARY_LOSS_VALUE, - &profit, - COLOUR_BLACK, - x + 80, - y - 1 - ); - gfx_fill_rect(dpi, x + 10, y - 2, x + 10 + 70, y - 2, PALETTE_INDEX_10); + // Month profit + gfx_draw_string_right( + dpi, + profit >= 0 ? STR_FINANCES_SUMMARY_INCOME_VALUE : STR_FINANCES_SUMMARY_LOSS_VALUE, + &profit, + COLOUR_BLACK, + x + 80, + y - 1 + ); + gfx_fill_rect(dpi, x + 10, y - 2, x + 10 + 70, y - 2, PALETTE_INDEX_10); - x += 80; - } + x += 80; + } - // Horizontal rule below expenditure / income table - gfx_fill_rect_inset(dpi, w->x + 8, w->y + 223, w->x + 8 + 513, w->y + 223 + 1, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); + // Horizontal rule below expenditure / income table + gfx_fill_rect_inset(dpi, w->x + 8, w->y + 223, w->x + 8 + 513, w->y + 223 + 1, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); - // Loan and interest rate - gfx_draw_string_left(dpi, STR_FINANCES_SUMMARY_LOAN, NULL, COLOUR_BLACK, w->x + 4, w->y + 229); - set_format_arg(0, uint16, gBankLoanInterestRate); - gfx_draw_string_left(dpi, STR_FINANCES_SUMMARY_AT_X_PER_YEAR, gCommonFormatArgs, COLOUR_BLACK, w->x + 156, w->y + 229); + // Loan and interest rate + gfx_draw_string_left(dpi, STR_FINANCES_SUMMARY_LOAN, NULL, COLOUR_BLACK, w->x + 4, w->y + 229); + set_format_arg(0, uint16, gBankLoanInterestRate); + gfx_draw_string_left(dpi, STR_FINANCES_SUMMARY_AT_X_PER_YEAR, gCommonFormatArgs, COLOUR_BLACK, w->x + 156, w->y + 229); - // Current cash - money32 currentCash = DECRYPT_MONEY(gCashEncrypted); - rct_string_id stringId = currentCash >= 0 ? STR_CASH_LABEL : STR_CASH_NEGATIVE_LABEL; - gfx_draw_string_left(dpi, stringId, ¤tCash, COLOUR_BLACK, w->x + 4, w->y + 244); + // Current cash + money32 currentCash = DECRYPT_MONEY(gCashEncrypted); + rct_string_id stringId = currentCash >= 0 ? STR_CASH_LABEL : STR_CASH_NEGATIVE_LABEL; + gfx_draw_string_left(dpi, stringId, ¤tCash, COLOUR_BLACK, w->x + 4, w->y + 244); - // Objective related financial information - if (gScenarioObjectiveType == OBJECTIVE_MONTHLY_FOOD_INCOME) { - money32 lastMonthProfit = finance_get_last_month_shop_profit(); - set_format_arg(0, money32, lastMonthProfit); - gfx_draw_string_left(dpi, STR_LAST_MONTH_PROFIT_FROM_FOOD_DRINK_MERCHANDISE_SALES_LABEL, gCommonFormatArgs, COLOUR_BLACK, w->x + 280, w->y + 229); - } else { - // Park value and company value - gfx_draw_string_left(dpi, STR_PARK_VALUE_LABEL, &gParkValue, COLOUR_BLACK, w->x + 280, w->y + 229); - gfx_draw_string_left(dpi, STR_COMPANY_VALUE_LABEL, &gCompanyValue, COLOUR_BLACK, w->x + 280, w->y + 244); - } + // Objective related financial information + if (gScenarioObjectiveType == OBJECTIVE_MONTHLY_FOOD_INCOME) { + money32 lastMonthProfit = finance_get_last_month_shop_profit(); + set_format_arg(0, money32, lastMonthProfit); + gfx_draw_string_left(dpi, STR_LAST_MONTH_PROFIT_FROM_FOOD_DRINK_MERCHANDISE_SALES_LABEL, gCommonFormatArgs, COLOUR_BLACK, w->x + 280, w->y + 229); + } else { + // Park value and company value + gfx_draw_string_left(dpi, STR_PARK_VALUE_LABEL, &gParkValue, COLOUR_BLACK, w->x + 280, w->y + 229); + gfx_draw_string_left(dpi, STR_COMPANY_VALUE_LABEL, &gCompanyValue, COLOUR_BLACK, w->x + 280, w->y + 244); + } } #pragma endregion @@ -773,10 +773,10 @@ static void window_finances_summary_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_finances_financial_graph_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_CLOSE) - window_close(w); - else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_6) - window_finances_set_page(w, widgetIndex - WIDX_TAB_1); + if (widgetIndex == WIDX_CLOSE) + window_close(w); + else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_6) + window_finances_set_page(w, widgetIndex - WIDX_TAB_1); } /** @@ -785,10 +785,10 @@ static void window_finances_financial_graph_mouseup(rct_window *w, rct_widgetind */ static void window_finances_financial_graph_update(rct_window *w) { - // Tab animation - if (++w->frame_no >= window_finances_tab_animation_loops[w->page]) - w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_2); + // Tab animation + if (++w->frame_no >= window_finances_tab_animation_loops[w->page]) + w->frame_no = 0; + widget_invalidate(w, WIDX_TAB_2); } /** @@ -797,12 +797,12 @@ static void window_finances_financial_graph_update(rct_window *w) */ static void window_finances_financial_graph_invalidate(rct_window *w) { - if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH]) { - w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH]; - window_init_scroll_widgets(w); - } + if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH]) { + w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH]; + window_init_scroll_widgets(w); + } - window_finances_set_pressed_tab(w); + window_finances_set_pressed_tab(w); } /** @@ -811,64 +811,64 @@ static void window_finances_financial_graph_invalidate(rct_window *w) */ static void window_finances_financial_graph_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 i, x, y, graphLeft, graphTop, graphRight, graphBottom; + sint32 i, x, y, graphLeft, graphTop, graphRight, graphBottom; - window_draw_widgets(w, dpi); - window_finances_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_finances_draw_tab_images(dpi, w); - rct_widget *pageWidget = &window_finances_cash_widgets[WIDX_PAGE_BACKGROUND]; - graphLeft = w->x + pageWidget->left + 4; - graphTop = w->y + pageWidget->top + 15; - graphRight = w->x + pageWidget->right - 4; - graphBottom = w->y + pageWidget->bottom - 4; + rct_widget *pageWidget = &window_finances_cash_widgets[WIDX_PAGE_BACKGROUND]; + graphLeft = w->x + pageWidget->left + 4; + graphTop = w->y + pageWidget->top + 15; + graphRight = w->x + pageWidget->right - 4; + graphBottom = w->y + pageWidget->bottom - 4; - // Cash (less loan) - money32 cashLessLoan = - DECRYPT_MONEY(gCashEncrypted) - - gBankLoan; + // Cash (less loan) + money32 cashLessLoan = + DECRYPT_MONEY(gCashEncrypted) - + gBankLoan; - gfx_draw_string_left( - dpi, - cashLessLoan >= 0 ? - STR_FINANCES_FINANCIAL_GRAPH_CASH_LESS_LOAN_POSITIVE : STR_FINANCES_FINANCIAL_GRAPH_CASH_LESS_LOAN_NEGATIVE, - &cashLessLoan, - COLOUR_BLACK, - graphLeft, - graphTop - 11 - ); + gfx_draw_string_left( + dpi, + cashLessLoan >= 0 ? + STR_FINANCES_FINANCIAL_GRAPH_CASH_LESS_LOAN_POSITIVE : STR_FINANCES_FINANCIAL_GRAPH_CASH_LESS_LOAN_NEGATIVE, + &cashLessLoan, + COLOUR_BLACK, + graphLeft, + graphTop - 11 + ); - // Graph - gfx_fill_rect_inset(dpi, graphLeft, graphTop, graphRight, graphBottom, w->colours[1], INSET_RECT_F_30); + // Graph + gfx_fill_rect_inset(dpi, graphLeft, graphTop, graphRight, graphBottom, w->colours[1], INSET_RECT_F_30); - // Calculate the Y axis scale (log2 of highest [+/-]balance) - sint32 yAxisScale = 0; - for (i = 0; i < 64; i++) { - money32 balance = gCashHistory[i]; - if (balance == MONEY32_UNDEFINED) - continue; + // Calculate the Y axis scale (log2 of highest [+/-]balance) + sint32 yAxisScale = 0; + for (i = 0; i < 64; i++) { + money32 balance = gCashHistory[i]; + if (balance == MONEY32_UNDEFINED) + continue; - // Modifier balance then keep halving until less than 127 pixels - balance = abs(balance) >> yAxisScale; - while (balance > 127) { - balance /= 2; - yAxisScale++; - } - } + // Modifier balance then keep halving until less than 127 pixels + balance = abs(balance) >> yAxisScale; + while (balance > 127) { + balance /= 2; + yAxisScale++; + } + } - // Y axis labels - x = graphLeft + 18; - y = graphTop + 14; - money32 axisBase; - for (axisBase = MONEY(12,00); axisBase >= MONEY(-12,00); axisBase -= MONEY(6,00)) { - money32 axisValue = axisBase << yAxisScale; - gfx_draw_string_right(dpi, STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE, &axisValue, COLOUR_BLACK, x + 70, y); - y += 39; - } + // Y axis labels + x = graphLeft + 18; + y = graphTop + 14; + money32 axisBase; + for (axisBase = MONEY(12,00); axisBase >= MONEY(-12,00); axisBase -= MONEY(6,00)) { + money32 axisValue = axisBase << yAxisScale; + gfx_draw_string_right(dpi, STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE, &axisValue, COLOUR_BLACK, x + 70, y); + y += 39; + } - // X axis labels and values - x = graphLeft + 98; - y = graphTop + 17; - graph_draw_money32(dpi, gCashHistory, 64, x, y, yAxisScale, 128); + // X axis labels and values + x = graphLeft + 98; + y = graphTop + 17; + graph_draw_money32(dpi, gCashHistory, 64, x, y, yAxisScale, 128); } #pragma endregion @@ -881,10 +881,10 @@ static void window_finances_financial_graph_paint(rct_window *w, rct_drawpixelin */ static void window_finances_park_value_graph_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_CLOSE) - window_close(w); - else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_6) - window_finances_set_page(w, widgetIndex - WIDX_TAB_1); + if (widgetIndex == WIDX_CLOSE) + window_close(w); + else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_6) + window_finances_set_page(w, widgetIndex - WIDX_TAB_1); } /** @@ -893,10 +893,10 @@ static void window_finances_park_value_graph_mouseup(rct_window *w, rct_widgetin */ static void window_finances_park_value_graph_update(rct_window *w) { - // Tab animation - if (++w->frame_no >= window_finances_tab_animation_loops[w->page]) - w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_2); + // Tab animation + if (++w->frame_no >= window_finances_tab_animation_loops[w->page]) + w->frame_no = 0; + widget_invalidate(w, WIDX_TAB_2); } /** @@ -905,12 +905,12 @@ static void window_finances_park_value_graph_update(rct_window *w) */ static void window_finances_park_value_graph_invalidate(rct_window *w) { - if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_VALUE_GRAPH]) { - w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_VALUE_GRAPH]; - window_init_scroll_widgets(w); - } + if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_VALUE_GRAPH]) { + w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_VALUE_GRAPH]; + window_init_scroll_widgets(w); + } - window_finances_set_pressed_tab(w); + window_finances_set_pressed_tab(w); } /** @@ -919,60 +919,60 @@ static void window_finances_park_value_graph_invalidate(rct_window *w) */ static void window_finances_park_value_graph_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 i, x, y, graphLeft, graphTop, graphRight, graphBottom; + sint32 i, x, y, graphLeft, graphTop, graphRight, graphBottom; - window_draw_widgets(w, dpi); - window_finances_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_finances_draw_tab_images(dpi, w); - rct_widget *pageWidget = &window_finances_cash_widgets[WIDX_PAGE_BACKGROUND]; - graphLeft = w->x + pageWidget->left + 4; - graphTop = w->y + pageWidget->top + 15; - graphRight = w->x + pageWidget->right - 4; - graphBottom = w->y + pageWidget->bottom - 4; + rct_widget *pageWidget = &window_finances_cash_widgets[WIDX_PAGE_BACKGROUND]; + graphLeft = w->x + pageWidget->left + 4; + graphTop = w->y + pageWidget->top + 15; + graphRight = w->x + pageWidget->right - 4; + graphBottom = w->y + pageWidget->bottom - 4; - // Park value - money32 parkValue = gParkValue; - gfx_draw_string_left( - dpi, - STR_FINANCES_PARK_VALUE, - &parkValue, - COLOUR_BLACK, - graphLeft, - graphTop - 11 - ); + // Park value + money32 parkValue = gParkValue; + gfx_draw_string_left( + dpi, + STR_FINANCES_PARK_VALUE, + &parkValue, + COLOUR_BLACK, + graphLeft, + graphTop - 11 + ); - // Graph - gfx_fill_rect_inset(dpi, graphLeft, graphTop, graphRight, graphBottom, w->colours[1], INSET_RECT_F_30); + // Graph + gfx_fill_rect_inset(dpi, graphLeft, graphTop, graphRight, graphBottom, w->colours[1], INSET_RECT_F_30); - // Calculate the Y axis scale (log2 of highest [+/-]balance) - sint32 yAxisScale = 0; - for (i = 0; i < 64; i++) { - money32 balance = gParkValueHistory[i]; - if (balance == MONEY32_UNDEFINED) - continue; + // Calculate the Y axis scale (log2 of highest [+/-]balance) + sint32 yAxisScale = 0; + for (i = 0; i < 64; i++) { + money32 balance = gParkValueHistory[i]; + if (balance == MONEY32_UNDEFINED) + continue; - // Modifier balance then keep halving until less than 255 pixels - balance = abs(balance) >> yAxisScale; - while (balance > 255) { - balance /= 2; - yAxisScale++; - } - } + // Modifier balance then keep halving until less than 255 pixels + balance = abs(balance) >> yAxisScale; + while (balance > 255) { + balance /= 2; + yAxisScale++; + } + } - // Y axis labels - x = graphLeft + 18; - y = graphTop + 14; - money32 axisBase; - for (axisBase = MONEY(24,00); axisBase >= MONEY(0,00); axisBase -= MONEY(6,00)) { - money32 axisValue = axisBase << yAxisScale; - gfx_draw_string_right(dpi, STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE, &axisValue, COLOUR_BLACK, x + 70, y); - y += 39; - } + // Y axis labels + x = graphLeft + 18; + y = graphTop + 14; + money32 axisBase; + for (axisBase = MONEY(24,00); axisBase >= MONEY(0,00); axisBase -= MONEY(6,00)) { + money32 axisValue = axisBase << yAxisScale; + gfx_draw_string_right(dpi, STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE, &axisValue, COLOUR_BLACK, x + 70, y); + y += 39; + } - // X axis labels and values - x = graphLeft + 98; - y = graphTop + 17; - graph_draw_money32(dpi, gParkValueHistory, 64, x, y, yAxisScale, 0); + // X axis labels and values + x = graphLeft + 98; + y = graphTop + 17; + graph_draw_money32(dpi, gParkValueHistory, 64, x, y, yAxisScale, 0); } #pragma endregion @@ -985,10 +985,10 @@ static void window_finances_park_value_graph_paint(rct_window *w, rct_drawpixeli */ static void window_finances_profit_graph_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_CLOSE) - window_close(w); - else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_6) - window_finances_set_page(w, widgetIndex - WIDX_TAB_1); + if (widgetIndex == WIDX_CLOSE) + window_close(w); + else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_6) + window_finances_set_page(w, widgetIndex - WIDX_TAB_1); } /** @@ -997,10 +997,10 @@ static void window_finances_profit_graph_mouseup(rct_window *w, rct_widgetindex */ static void window_finances_profit_graph_update(rct_window *w) { - // Tab animation - if (++w->frame_no >= window_finances_tab_animation_loops[w->page]) - w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_2); + // Tab animation + if (++w->frame_no >= window_finances_tab_animation_loops[w->page]) + w->frame_no = 0; + widget_invalidate(w, WIDX_TAB_2); } /** @@ -1009,12 +1009,12 @@ static void window_finances_profit_graph_update(rct_window *w) */ static void window_finances_profit_graph_invalidate(rct_window *w) { - if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_PROFIT_GRAPH]) { - w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_PROFIT_GRAPH]; - window_init_scroll_widgets(w); - } + if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_PROFIT_GRAPH]) { + w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_PROFIT_GRAPH]; + window_init_scroll_widgets(w); + } - window_finances_set_pressed_tab(w); + window_finances_set_pressed_tab(w); } /** @@ -1023,60 +1023,60 @@ static void window_finances_profit_graph_invalidate(rct_window *w) */ static void window_finances_profit_graph_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 i, x, y, graphLeft, graphTop, graphRight, graphBottom; + sint32 i, x, y, graphLeft, graphTop, graphRight, graphBottom; - window_draw_widgets(w, dpi); - window_finances_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_finances_draw_tab_images(dpi, w); - rct_widget *pageWidget = &window_finances_cash_widgets[WIDX_PAGE_BACKGROUND]; - graphLeft = w->x + pageWidget->left + 4; - graphTop = w->y + pageWidget->top + 15; - graphRight = w->x + pageWidget->right - 4; - graphBottom = w->y + pageWidget->bottom - 4; + rct_widget *pageWidget = &window_finances_cash_widgets[WIDX_PAGE_BACKGROUND]; + graphLeft = w->x + pageWidget->left + 4; + graphTop = w->y + pageWidget->top + 15; + graphRight = w->x + pageWidget->right - 4; + graphBottom = w->y + pageWidget->bottom - 4; - // Weekly profit - money32 weeklyPofit = gCurrentProfit; - gfx_draw_string_left( - dpi, - weeklyPofit >= 0 ? STR_FINANCES_WEEKLY_PROFIT_POSITIVE : STR_FINANCES_WEEKLY_PROFIT_LOSS, - &weeklyPofit, - COLOUR_BLACK, - graphLeft, - graphTop - 11 - ); + // Weekly profit + money32 weeklyPofit = gCurrentProfit; + gfx_draw_string_left( + dpi, + weeklyPofit >= 0 ? STR_FINANCES_WEEKLY_PROFIT_POSITIVE : STR_FINANCES_WEEKLY_PROFIT_LOSS, + &weeklyPofit, + COLOUR_BLACK, + graphLeft, + graphTop - 11 + ); - // Graph - gfx_fill_rect_inset(dpi, graphLeft, graphTop, graphRight, graphBottom, w->colours[1], INSET_RECT_F_30); + // Graph + gfx_fill_rect_inset(dpi, graphLeft, graphTop, graphRight, graphBottom, w->colours[1], INSET_RECT_F_30); - // Calculate the Y axis scale (log2 of highest [+/-]balance) - sint32 yAxisScale = 0; - for (i = 0; i < 64; i++) { - money32 balance = gWeeklyProfitHistory[i]; - if (balance == MONEY32_UNDEFINED) - continue; + // Calculate the Y axis scale (log2 of highest [+/-]balance) + sint32 yAxisScale = 0; + for (i = 0; i < 64; i++) { + money32 balance = gWeeklyProfitHistory[i]; + if (balance == MONEY32_UNDEFINED) + continue; - // Modifier balance then keep halving until less than 127 pixels - balance = abs(balance) >> yAxisScale; - while (balance > 127) { - balance /= 2; - yAxisScale++; - } - } + // Modifier balance then keep halving until less than 127 pixels + balance = abs(balance) >> yAxisScale; + while (balance > 127) { + balance /= 2; + yAxisScale++; + } + } - // Y axis labels - x = graphLeft + 18; - y = graphTop + 14; - money32 axisBase; - for (axisBase = MONEY(12,00); axisBase >= MONEY(-12,00); axisBase -= MONEY(6,00)) { - money32 axisValue = axisBase << yAxisScale; - gfx_draw_string_right(dpi, STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE, &axisValue, COLOUR_BLACK, x + 70, y); - y += 39; - } + // Y axis labels + x = graphLeft + 18; + y = graphTop + 14; + money32 axisBase; + for (axisBase = MONEY(12,00); axisBase >= MONEY(-12,00); axisBase -= MONEY(6,00)) { + money32 axisValue = axisBase << yAxisScale; + gfx_draw_string_right(dpi, STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE, &axisValue, COLOUR_BLACK, x + 70, y); + y += 39; + } - // X axis labels and values - x = graphLeft + 98; - y = graphTop + 17; - graph_draw_money32(dpi, gWeeklyProfitHistory, 64, x, y, yAxisScale, 128); + // X axis labels and values + x = graphLeft + 98; + y = graphTop + 17; + graph_draw_money32(dpi, gWeeklyProfitHistory, 64, x, y, yAxisScale, 128); } #pragma endregion @@ -1089,12 +1089,12 @@ static void window_finances_profit_graph_paint(rct_window *w, rct_drawpixelinfo */ static void window_finances_marketing_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_CLOSE) - window_close(w); - else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_6) - window_finances_set_page(w, widgetIndex - WIDX_TAB_1); - else if (widgetIndex >= WIDX_CAMPAIGN_1 && widgetIndex <= WIDX_CAMPAIGN_6) - window_new_campaign_open(widgetIndex - WIDX_CAMPAIGN_1); + if (widgetIndex == WIDX_CLOSE) + window_close(w); + else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_6) + window_finances_set_page(w, widgetIndex - WIDX_TAB_1); + else if (widgetIndex >= WIDX_CAMPAIGN_1 && widgetIndex <= WIDX_CAMPAIGN_6) + window_new_campaign_open(widgetIndex - WIDX_CAMPAIGN_1); } @@ -1104,10 +1104,10 @@ static void window_finances_marketing_mouseup(rct_window *w, rct_widgetindex wid */ static void window_finances_marketing_update(rct_window *w) { - // Tab animation - if (++w->frame_no >= window_finances_tab_animation_loops[w->page]) - w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_5); + // Tab animation + if (++w->frame_no >= window_finances_tab_animation_loops[w->page]) + w->frame_no = 0; + widget_invalidate(w, WIDX_TAB_5); } /** @@ -1116,44 +1116,44 @@ static void window_finances_marketing_update(rct_window *w) */ static void window_finances_marketing_invalidate(rct_window *w) { - sint32 i; + sint32 i; - if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_MARKETING]) { - w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_MARKETING]; - window_init_scroll_widgets(w); - } + if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_MARKETING]) { + w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_MARKETING]; + window_init_scroll_widgets(w); + } - window_finances_set_pressed_tab(w); + window_finances_set_pressed_tab(w); - // Count number of active campaigns - sint32 numActiveCampaigns = 0; - for (i = 0; i < ADVERTISING_CAMPAIGN_COUNT; i++) - if (gMarketingCampaignDaysLeft[i] != 0) - numActiveCampaigns++; + // Count number of active campaigns + sint32 numActiveCampaigns = 0; + for (i = 0; i < ADVERTISING_CAMPAIGN_COUNT; i++) + if (gMarketingCampaignDaysLeft[i] != 0) + numActiveCampaigns++; - sint32 y = max(1, numActiveCampaigns) * 10 + 92; + sint32 y = max(1, numActiveCampaigns) * 10 + 92; - // Update group box positions - window_finances_marketing_widgets[WIDX_ACITVE_CAMPAGINS_GROUP].bottom = y - 20; - window_finances_marketing_widgets[WIDX_CAMPAGINS_AVAILABLE_GROUP].top = y - 13; + // Update group box positions + window_finances_marketing_widgets[WIDX_ACITVE_CAMPAGINS_GROUP].bottom = y - 20; + window_finances_marketing_widgets[WIDX_CAMPAGINS_AVAILABLE_GROUP].top = y - 13; - // Update new campaign button visibility - for (i = 0; i < ADVERTISING_CAMPAIGN_COUNT; i++) { - rct_widget *campaginButton = &window_finances_marketing_widgets[WIDX_CAMPAIGN_1 + i]; + // Update new campaign button visibility + for (i = 0; i < ADVERTISING_CAMPAIGN_COUNT; i++) { + rct_widget *campaginButton = &window_finances_marketing_widgets[WIDX_CAMPAIGN_1 + i]; - campaginButton->type = WWT_EMPTY; + campaginButton->type = WWT_EMPTY; - if (gMarketingCampaignDaysLeft[i] != 0) - continue; + if (gMarketingCampaignDaysLeft[i] != 0) + continue; - if (!marketing_is_campaign_type_applicable(i)) - continue; + if (!marketing_is_campaign_type_applicable(i)) + continue; - campaginButton->type = WWT_DROPDOWN_BUTTON; - campaginButton->top = y; - campaginButton->bottom = y + 11; - y += 12; - } + campaginButton->type = WWT_DROPDOWN_BUTTON; + campaginButton->top = y; + campaginButton->bottom = y + 11; + y += 12; + } } /** @@ -1162,68 +1162,68 @@ static void window_finances_marketing_invalidate(rct_window *w) */ static void window_finances_marketing_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 i, x, y, weeksRemaining; - rct_ride *ride; + sint32 i, x, y, weeksRemaining; + rct_ride *ride; - window_draw_widgets(w, dpi); - window_finances_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_finances_draw_tab_images(dpi, w); - x = w->x + 8; - y = w->y + 62; + x = w->x + 8; + y = w->y + 62; - sint32 noCampaignsActive = 1; - for (i = 0; i < ADVERTISING_CAMPAIGN_COUNT; i++) { - if (gMarketingCampaignDaysLeft[i] == 0) - continue; + sint32 noCampaignsActive = 1; + for (i = 0; i < ADVERTISING_CAMPAIGN_COUNT; i++) { + if (gMarketingCampaignDaysLeft[i] == 0) + continue; - noCampaignsActive = 0; - set_format_arg(0, rct_string_id, gParkName); - set_format_arg(2, uint32, gParkNameArgs); + noCampaignsActive = 0; + set_format_arg(0, rct_string_id, gParkName); + set_format_arg(2, uint32, gParkNameArgs); - // Set special parameters - switch (i) { - case ADVERTISING_CAMPAIGN_RIDE_FREE: - case ADVERTISING_CAMPAIGN_RIDE: - ride = get_ride(gMarketingCampaignRideIndex[i]); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); - break; - case ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE: - set_format_arg(0, rct_string_id, ShopItemStringIds[gMarketingCampaignRideIndex[i]].plural); - break; - } + // Set special parameters + switch (i) { + case ADVERTISING_CAMPAIGN_RIDE_FREE: + case ADVERTISING_CAMPAIGN_RIDE: + ride = get_ride(gMarketingCampaignRideIndex[i]); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); + break; + case ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE: + set_format_arg(0, rct_string_id, ShopItemStringIds[gMarketingCampaignRideIndex[i]].plural); + break; + } - // Advertisement - gfx_draw_string_left_clipped(dpi, MarketingCampaignNames[i][1], gCommonFormatArgs, COLOUR_BLACK, x + 4, y, 296); + // Advertisement + gfx_draw_string_left_clipped(dpi, MarketingCampaignNames[i][1], gCommonFormatArgs, COLOUR_BLACK, x + 4, y, 296); - // Duration - weeksRemaining = (gMarketingCampaignDaysLeft[i] % 128); - gfx_draw_string_left(dpi, weeksRemaining == 1 ? STR_1_WEEK_REMAINING : STR_X_WEEKS_REMAINING, &weeksRemaining, COLOUR_BLACK, x + 304, y); + // Duration + weeksRemaining = (gMarketingCampaignDaysLeft[i] % 128); + gfx_draw_string_left(dpi, weeksRemaining == 1 ? STR_1_WEEK_REMAINING : STR_X_WEEKS_REMAINING, &weeksRemaining, COLOUR_BLACK, x + 304, y); - y += 10; - } + y += 10; + } - if (noCampaignsActive) { - gfx_draw_string_left(dpi, STR_MARKETING_CAMPAGINS_NONE, NULL, COLOUR_BLACK, x + 4, y); - y += 10; - } - y += 31; + if (noCampaignsActive) { + gfx_draw_string_left(dpi, STR_MARKETING_CAMPAGINS_NONE, NULL, COLOUR_BLACK, x + 4, y); + y += 10; + } + y += 31; - // Draw campaign button text - for (i = 0; i < ADVERTISING_CAMPAIGN_COUNT; i++) { - rct_widget *campaginButton = &window_finances_marketing_widgets[WIDX_CAMPAIGN_1 + i]; + // Draw campaign button text + for (i = 0; i < ADVERTISING_CAMPAIGN_COUNT; i++) { + rct_widget *campaginButton = &window_finances_marketing_widgets[WIDX_CAMPAIGN_1 + i]; - if (campaginButton->type == WWT_EMPTY) - continue; + if (campaginButton->type == WWT_EMPTY) + continue; - money32 pricePerWeek = AdvertisingCampaignPricePerWeek[i]; + money32 pricePerWeek = AdvertisingCampaignPricePerWeek[i]; - // Draw button text - gfx_draw_string_left(dpi, MarketingCampaignNames[i][0], NULL, COLOUR_BLACK, x + 4, y - 1); - gfx_draw_string_left(dpi, STR_MARKETING_PER_WEEK, &pricePerWeek, COLOUR_BLACK, x + 310, y - 1); + // Draw button text + gfx_draw_string_left(dpi, MarketingCampaignNames[i][0], NULL, COLOUR_BLACK, x + 4, y - 1); + gfx_draw_string_left(dpi, STR_MARKETING_PER_WEEK, &pricePerWeek, COLOUR_BLACK, x + 310, y - 1); - y += 12; - } + y += 12; + } } #pragma endregion @@ -1236,32 +1236,32 @@ static void window_finances_marketing_paint(rct_window *w, rct_drawpixelinfo *dp */ static void window_finances_research_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - sint32 activeResearchTypes; + sint32 activeResearchTypes; - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - window_finances_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_TRANSPORT_RIDES: - case WIDX_GENTLE_RIDES: - case WIDX_ROLLER_COASTERS: - case WIDX_THRILL_RIDES: - case WIDX_WATER_RIDES: - case WIDX_SHOPS_AND_STALLS: - case WIDX_SCENERY_AND_THEMING: - activeResearchTypes = gResearchPriorities; - activeResearchTypes ^= 1 << (widgetIndex - WIDX_TRANSPORT_RIDES); - research_set_priority(activeResearchTypes); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + window_finances_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_TRANSPORT_RIDES: + case WIDX_GENTLE_RIDES: + case WIDX_ROLLER_COASTERS: + case WIDX_THRILL_RIDES: + case WIDX_WATER_RIDES: + case WIDX_SHOPS_AND_STALLS: + case WIDX_SCENERY_AND_THEMING: + activeResearchTypes = gResearchPriorities; + activeResearchTypes ^= 1 << (widgetIndex - WIDX_TRANSPORT_RIDES); + research_set_priority(activeResearchTypes); + break; + } } /** @@ -1270,31 +1270,31 @@ static void window_finances_research_mouseup(rct_window *w, rct_widgetindex widg */ static void window_finances_research_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget* widget) { - rct_widget *dropdownWidget; - sint32 i; + rct_widget *dropdownWidget; + sint32 i; - if (widgetIndex != WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON) - return; + if (widgetIndex != WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON) + return; - dropdownWidget = widget - 1; + dropdownWidget = widget - 1; - for (i = 0; i < 4; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = ResearchFundingLevelNames[i]; - } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 4, - dropdownWidget->right - dropdownWidget->left - 3 - ); + for (i = 0; i < 4; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = ResearchFundingLevelNames[i]; + } + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 4, + dropdownWidget->right - dropdownWidget->left - 3 + ); - sint32 currentResearchLevel = gResearchFundingLevel; - dropdown_set_checked(currentResearchLevel, true); + sint32 currentResearchLevel = gResearchFundingLevel; + dropdown_set_checked(currentResearchLevel, true); } /** @@ -1303,10 +1303,10 @@ static void window_finances_research_mousedown(rct_widgetindex widgetIndex, rct_ */ static void window_finances_research_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex != WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON || dropdownIndex == -1) - return; + if (widgetIndex != WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON || dropdownIndex == -1) + return; - research_set_funding(dropdownIndex); + research_set_funding(dropdownIndex); } /** @@ -1315,10 +1315,10 @@ static void window_finances_research_dropdown(rct_window *w, rct_widgetindex wid */ static void window_finances_research_update(rct_window *w) { - // Tab animation - if (++w->frame_no >= window_finances_tab_animation_loops[w->page]) - w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_6); + // Tab animation + if (++w->frame_no >= window_finances_tab_animation_loops[w->page]) + w->frame_no = 0; + widget_invalidate(w, WIDX_TAB_6); } /** @@ -1327,42 +1327,42 @@ static void window_finances_research_update(rct_window *w) */ static void window_finances_research_invalidate(rct_window *w) { - if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_RESEARCH]) { - w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_RESEARCH]; - window_init_scroll_widgets(w); - } + if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_RESEARCH]) { + w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_RESEARCH]; + window_init_scroll_widgets(w); + } - window_finances_set_pressed_tab(w); - if (gResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL) { - window_finances_research_widgets[WIDX_RESEARCH_FUNDING].type = WWT_EMPTY; - window_finances_research_widgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WWT_EMPTY; - } - sint32 currentResearchLevel = gResearchFundingLevel; + window_finances_set_pressed_tab(w); + if (gResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL) { + window_finances_research_widgets[WIDX_RESEARCH_FUNDING].type = WWT_EMPTY; + window_finances_research_widgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WWT_EMPTY; + } + sint32 currentResearchLevel = gResearchFundingLevel; - // Current funding - window_finances_research_widgets[WIDX_RESEARCH_FUNDING].text = ResearchFundingLevelNames[currentResearchLevel]; + // Current funding + window_finances_research_widgets[WIDX_RESEARCH_FUNDING].text = ResearchFundingLevelNames[currentResearchLevel]; - // Checkboxes - uint8 activeResearchTypes = gResearchPriorities; - sint32 uncompletedResearchTypes = gResearchUncompletedCategories; - for (sint32 i = 0; i < 7; i++) { - sint32 mask = 1 << i; - sint32 widgetMask = 1 << (i + WIDX_TRANSPORT_RIDES); + // Checkboxes + uint8 activeResearchTypes = gResearchPriorities; + sint32 uncompletedResearchTypes = gResearchUncompletedCategories; + for (sint32 i = 0; i < 7; i++) { + sint32 mask = 1 << i; + sint32 widgetMask = 1 << (i + WIDX_TRANSPORT_RIDES); - // Set checkbox disabled if research type is complete - if (uncompletedResearchTypes & mask) { - w->disabled_widgets &= ~widgetMask; + // Set checkbox disabled if research type is complete + if (uncompletedResearchTypes & mask) { + w->disabled_widgets &= ~widgetMask; - // Set checkbox ticked if research type is active - if (activeResearchTypes & mask) - w->pressed_widgets |= widgetMask; - else - w->pressed_widgets &= ~widgetMask; - } else { - w->disabled_widgets |= widgetMask; - w->pressed_widgets &= ~widgetMask; - } - } + // Set checkbox ticked if research type is active + if (activeResearchTypes & mask) + w->pressed_widgets |= widgetMask; + else + w->pressed_widgets &= ~widgetMask; + } else { + w->disabled_widgets |= widgetMask; + w->pressed_widgets &= ~widgetMask; + } + } } /** @@ -1371,10 +1371,10 @@ static void window_finances_research_invalidate(rct_window *w) */ static void window_finances_research_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_finances_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_finances_draw_tab_images(dpi, w); - window_research_funding_page_paint(w, dpi, WIDX_RESEARCH_FUNDING); + window_research_funding_page_paint(w, dpi, WIDX_RESEARCH_FUNDING); } #pragma endregion @@ -1387,67 +1387,67 @@ static void window_finances_research_paint(rct_window *w, rct_drawpixelinfo *dpi */ static void window_finances_set_page(rct_window *w, sint32 page) { - w->page = page; - w->frame_no = 0; - if (w->viewport != NULL) { - w->viewport->width = 0; - w->viewport = NULL; - } + w->page = page; + w->frame_no = 0; + if (w->viewport != NULL) { + w->viewport->width = 0; + w->viewport = NULL; + } - w->enabled_widgets = window_finances_page_enabled_widgets[page]; - w->hold_down_widgets = window_finances_page_hold_down_widgets[page]; - w->event_handlers = window_finances_page_events[page]; - w->widgets = window_finances_page_widgets[page]; - w->disabled_widgets = 0; - w->pressed_widgets = 0; + w->enabled_widgets = window_finances_page_enabled_widgets[page]; + w->hold_down_widgets = window_finances_page_hold_down_widgets[page]; + w->event_handlers = window_finances_page_events[page]; + w->widgets = window_finances_page_widgets[page]; + w->disabled_widgets = 0; + w->pressed_widgets = 0; - window_invalidate(w); - if (w->page == WINDOW_FINANCES_PAGE_RESEARCH) { - w->width = 320; - w->height = 207; - } else { - w->width = 530; - w->height = 257; - } - window_event_resize_call(w); - window_event_invalidate_call(w); + window_invalidate(w); + if (w->page == WINDOW_FINANCES_PAGE_RESEARCH) { + w->width = 320; + w->height = 207; + } else { + w->width = 530; + w->height = 257; + } + window_event_resize_call(w); + window_event_invalidate_call(w); - window_init_scroll_widgets(w); - window_invalidate(w); + window_init_scroll_widgets(w); + window_invalidate(w); } static void window_finances_set_pressed_tab(rct_window *w) { - sint32 i; - for (i = 0; i < WINDOW_FINANCES_PAGE_COUNT; i++) - w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); - w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); + sint32 i; + for (i = 0; i < WINDOW_FINANCES_PAGE_COUNT; i++) + w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); + w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); } static void window_finances_draw_tab_image(rct_drawpixelinfo *dpi, rct_window *w, sint32 page, sint32 spriteIndex) { - rct_widgetindex widgetIndex = WIDX_TAB_1 + page; + rct_widgetindex widgetIndex = WIDX_TAB_1 + page; - if (!(w->disabled_widgets & (1LL << widgetIndex))) { - if (w->page == page) { - sint32 frame = w->frame_no / 2; - if (page == WINDOW_FINANCES_PAGE_SUMMARY) - frame %= 8; - spriteIndex += frame; - } + if (!(w->disabled_widgets & (1LL << widgetIndex))) { + if (w->page == page) { + sint32 frame = w->frame_no / 2; + if (page == WINDOW_FINANCES_PAGE_SUMMARY) + frame %= 8; + spriteIndex += frame; + } - gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); - } + gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); + } } static void window_finances_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) { - window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_SUMMARY, SPR_TAB_FINANCES_SUMMARY_0); - window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH, SPR_TAB_FINANCES_FINANCIAL_GRAPH_0); - window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_VALUE_GRAPH, SPR_TAB_FINANCES_VALUE_GRAPH_0); - window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_PROFIT_GRAPH, SPR_TAB_FINANCES_PROFIT_GRAPH_0); - window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_MARKETING, SPR_TAB_FINANCES_MARKETING_0); - window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_RESEARCH, SPR_TAB_FINANCES_RESEARCH_0); + window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_SUMMARY, SPR_TAB_FINANCES_SUMMARY_0); + window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH, SPR_TAB_FINANCES_FINANCIAL_GRAPH_0); + window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_VALUE_GRAPH, SPR_TAB_FINANCES_VALUE_GRAPH_0); + window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_PROFIT_GRAPH, SPR_TAB_FINANCES_PROFIT_GRAPH_0); + window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_MARKETING, SPR_TAB_FINANCES_MARKETING_0); + window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_RESEARCH, SPR_TAB_FINANCES_RESEARCH_0); } #pragma endregion diff --git a/src/openrct2/windows/footpath.c b/src/openrct2/windows/footpath.c index 254b88ebaf..c9029906f7 100644 --- a/src/openrct2/windows/footpath.c +++ b/src/openrct2/windows/footpath.c @@ -27,72 +27,72 @@ #include "dropdown.h" enum { - PATH_CONSTRUCTION_MODE_LAND, - PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL_TOOL, - PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL + PATH_CONSTRUCTION_MODE_LAND, + PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL_TOOL, + PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL }; enum { - SELECTED_PATH_TYPE_NORMAL, - SELECTED_PATH_TYPE_QUEUE + SELECTED_PATH_TYPE_NORMAL, + SELECTED_PATH_TYPE_QUEUE }; enum WINDOW_FOOTPATH_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, - WIDX_TYPE_GROUP, - WIDX_FOOTPATH_TYPE, - WIDX_QUEUELINE_TYPE, + WIDX_TYPE_GROUP, + WIDX_FOOTPATH_TYPE, + WIDX_QUEUELINE_TYPE, - WIDX_DIRECTION_GROUP, - WIDX_DIRECTION_NW, - WIDX_DIRECTION_NE, - WIDX_DIRECTION_SW, - WIDX_DIRECTION_SE, + WIDX_DIRECTION_GROUP, + WIDX_DIRECTION_NW, + WIDX_DIRECTION_NE, + WIDX_DIRECTION_SW, + WIDX_DIRECTION_SE, - WIDX_SLOPE_GROUP, - WIDX_SLOPEDOWN, - WIDX_LEVEL, - WIDX_SLOPEUP, - WIDX_CONSTRUCT, - WIDX_REMOVE, + WIDX_SLOPE_GROUP, + WIDX_SLOPEDOWN, + WIDX_LEVEL, + WIDX_SLOPEUP, + WIDX_CONSTRUCT, + WIDX_REMOVE, - WIDX_MODE_GROUP, - WIDX_CONSTRUCT_ON_LAND, - WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL, + WIDX_MODE_GROUP, + WIDX_CONSTRUCT_ON_LAND, + WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL, }; static rct_widget window_footpath_widgets[] = { - { WWT_FRAME, 0, 0, 105, 0, 380, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 104, 1, 14, STR_FOOTPATHS, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 93, 103, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - // Type group - { WWT_GROUPBOX, 0, 3, 102, 17, 71, STR_TYPE, STR_NONE }, - { WWT_FLATBTN, 1, 6, 52, 30, 65, 0xFFFFFFFF, STR_FOOTPATH_TIP }, - { WWT_FLATBTN, 1, 53, 99, 30, 65, 0xFFFFFFFF, STR_QUEUE_LINE_PATH_TIP }, + { WWT_FRAME, 0, 0, 105, 0, 380, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 104, 1, 14, STR_FOOTPATHS, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 93, 103, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + // Type group + { WWT_GROUPBOX, 0, 3, 102, 17, 71, STR_TYPE, STR_NONE }, + { WWT_FLATBTN, 1, 6, 52, 30, 65, 0xFFFFFFFF, STR_FOOTPATH_TIP }, + { WWT_FLATBTN, 1, 53, 99, 30, 65, 0xFFFFFFFF, STR_QUEUE_LINE_PATH_TIP }, - // Direction group - { WWT_GROUPBOX, 0, 3, 102, 75, 151, STR_DIRECTION, STR_NONE }, - { WWT_FLATBTN, 1, 53, 97, 87, 115, SPR_CONSTRUCTION_DIRECTION_NE, STR_DIRECTION_TIP }, - { WWT_FLATBTN, 1, 53, 97, 116, 144, SPR_CONSTRUCTION_DIRECTION_SE, STR_DIRECTION_TIP }, - { WWT_FLATBTN, 1, 8, 52, 116, 144, SPR_CONSTRUCTION_DIRECTION_SW, STR_DIRECTION_TIP }, - { WWT_FLATBTN, 1, 8, 52, 87, 115, SPR_CONSTRUCTION_DIRECTION_NW, STR_DIRECTION_TIP }, + // Direction group + { WWT_GROUPBOX, 0, 3, 102, 75, 151, STR_DIRECTION, STR_NONE }, + { WWT_FLATBTN, 1, 53, 97, 87, 115, SPR_CONSTRUCTION_DIRECTION_NE, STR_DIRECTION_TIP }, + { WWT_FLATBTN, 1, 53, 97, 116, 144, SPR_CONSTRUCTION_DIRECTION_SE, STR_DIRECTION_TIP }, + { WWT_FLATBTN, 1, 8, 52, 116, 144, SPR_CONSTRUCTION_DIRECTION_SW, STR_DIRECTION_TIP }, + { WWT_FLATBTN, 1, 8, 52, 87, 115, SPR_CONSTRUCTION_DIRECTION_NW, STR_DIRECTION_TIP }, - // Slope group - { WWT_GROUPBOX, 0, 3, 102, 155, 195, STR_SLOPE, STR_NONE }, - { WWT_FLATBTN, 1, 17, 40, 167, 190, SPR_RIDE_CONSTRUCTION_SLOPE_DOWN, STR_SLOPE_DOWN_TIP }, - { WWT_FLATBTN, 1, 41, 64, 167, 190, SPR_RIDE_CONSTRUCTION_SLOPE_LEVEL, STR_LEVEL_TIP }, - { WWT_FLATBTN, 1, 65, 88, 167, 190, SPR_RIDE_CONSTRUCTION_SLOPE_UP, STR_SLOPE_UP_TIP }, - { WWT_FLATBTN, 1, 8, 97, 202, 291, 0xFFFFFFFF, STR_CONSTRUCT_THE_SELECTED_FOOTPATH_SECTION_TIP }, - { WWT_FLATBTN, 1, 30, 75, 295, 318, SPR_DEMOLISH_CURRENT_SECTION, STR_REMOVE_PREVIOUS_FOOTPATH_SECTION_TIP }, + // Slope group + { WWT_GROUPBOX, 0, 3, 102, 155, 195, STR_SLOPE, STR_NONE }, + { WWT_FLATBTN, 1, 17, 40, 167, 190, SPR_RIDE_CONSTRUCTION_SLOPE_DOWN, STR_SLOPE_DOWN_TIP }, + { WWT_FLATBTN, 1, 41, 64, 167, 190, SPR_RIDE_CONSTRUCTION_SLOPE_LEVEL, STR_LEVEL_TIP }, + { WWT_FLATBTN, 1, 65, 88, 167, 190, SPR_RIDE_CONSTRUCTION_SLOPE_UP, STR_SLOPE_UP_TIP }, + { WWT_FLATBTN, 1, 8, 97, 202, 291, 0xFFFFFFFF, STR_CONSTRUCT_THE_SELECTED_FOOTPATH_SECTION_TIP }, + { WWT_FLATBTN, 1, 30, 75, 295, 318, SPR_DEMOLISH_CURRENT_SECTION, STR_REMOVE_PREVIOUS_FOOTPATH_SECTION_TIP }, - // Mode group - { WWT_GROUPBOX, 0, 3, 102, 321, 374, 0xFFFFFFFF, STR_NONE }, - { WWT_FLATBTN, 1, 13, 48, 332, 367, SPR_CONSTRUCTION_FOOTPATH_LAND, STR_CONSTRUCT_FOOTPATH_ON_LAND_TIP }, - { WWT_FLATBTN, 1, 57, 92, 332, 367, SPR_CONSTRUCTION_FOOTPATH_BRIDGE, STR_CONSTRUCT_BRIDGE_OR_TUNNEL_FOOTPATH_TIP }, - { WIDGETS_END }, + // Mode group + { WWT_GROUPBOX, 0, 3, 102, 321, 374, 0xFFFFFFFF, STR_NONE }, + { WWT_FLATBTN, 1, 13, 48, 332, 367, SPR_CONSTRUCTION_FOOTPATH_LAND, STR_CONSTRUCT_FOOTPATH_ON_LAND_TIP }, + { WWT_FLATBTN, 1, 57, 92, 332, 367, SPR_CONSTRUCTION_FOOTPATH_BRIDGE, STR_CONSTRUCT_BRIDGE_OR_TUNNEL_FOOTPATH_TIP }, + { WIDGETS_END }, }; static void window_footpath_close(rct_window *w); @@ -108,34 +108,34 @@ static void window_footpath_invalidate(rct_window *w); static void window_footpath_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_footpath_events = { - window_footpath_close, - window_footpath_mouseup, - NULL, - window_footpath_mousedown, - window_footpath_dropdown, - NULL, - window_footpath_update, - NULL, - NULL, - window_footpath_toolupdate, - window_footpath_tooldown, - window_footpath_tooldrag, - window_footpath_toolup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_footpath_invalidate, - window_footpath_paint, - NULL + window_footpath_close, + window_footpath_mouseup, + NULL, + window_footpath_mousedown, + window_footpath_dropdown, + NULL, + window_footpath_update, + NULL, + NULL, + window_footpath_toolupdate, + window_footpath_tooldown, + window_footpath_tooldrag, + window_footpath_toolup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_footpath_invalidate, + window_footpath_paint, + NULL }; static money32 _window_footpath_cost; @@ -146,51 +146,51 @@ static bool _footpathErrorOccured; enum { - FOOTHPATH_IS_SLOPED = (1 << 2), - IRREGULAR_SLOPE = (1 << 3), + FOOTHPATH_IS_SLOPED = (1 << 2), + IRREGULAR_SLOPE = (1 << 3), }; /** rct2: 0x0098D8B4 */ const uint8 default_path_slope[] = { - 0, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - FOOTHPATH_IS_SLOPED | 2, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - FOOTHPATH_IS_SLOPED | 3, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - FOOTHPATH_IS_SLOPED | 1, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - FOOTHPATH_IS_SLOPED | 0, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, - IRREGULAR_SLOPE, + 0, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + FOOTHPATH_IS_SLOPED | 2, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + FOOTHPATH_IS_SLOPED | 3, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + FOOTHPATH_IS_SLOPED | 1, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + FOOTHPATH_IS_SLOPED | 0, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, + IRREGULAR_SLOPE, }; /** rct2: 0x0098D7E0 */ uint8 footpath_construction_preview_images[][4] = { - {5, 10, 5, 10}, // Flat - {16, 17, 18, 19}, // Upwards - {18, 19, 16, 17}, // Downwards + {5, 10, 5, 10}, // Flat + {16, 17, 18, 19}, // Upwards + {18, 19, 16, 17}, // Downwards }; static void window_footpath_mousedown_direction(sint32 direction); @@ -212,58 +212,58 @@ static void footpath_select_default(); */ void window_footpath_open() { - // Check if window is already open - rct_window *window = window_bring_to_front_by_class(WC_FOOTPATH); - if (window != NULL) - return; + // Check if window is already open + rct_window *window = window_bring_to_front_by_class(WC_FOOTPATH); + if (window != NULL) + return; - window = window_create( - 0, - 29, - 106, - 381, - &window_footpath_events, - WC_FOOTPATH, - 0 - ); - window->widgets = window_footpath_widgets; - window->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_FOOTPATH_TYPE) | - (1 << WIDX_QUEUELINE_TYPE) | - (1 << WIDX_DIRECTION_NW) | - (1 << WIDX_DIRECTION_NE) | - (1 << WIDX_DIRECTION_SW) | - (1 << WIDX_DIRECTION_SE) | - (1 << WIDX_SLOPEDOWN) | - (1 << WIDX_LEVEL) | - (1 << WIDX_SLOPEUP) | - (1 << WIDX_CONSTRUCT) | - (1 << WIDX_REMOVE) | - (1 << WIDX_CONSTRUCT_ON_LAND) | - (1 << WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL); + window = window_create( + 0, + 29, + 106, + 381, + &window_footpath_events, + WC_FOOTPATH, + 0 + ); + window->widgets = window_footpath_widgets; + window->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_FOOTPATH_TYPE) | + (1 << WIDX_QUEUELINE_TYPE) | + (1 << WIDX_DIRECTION_NW) | + (1 << WIDX_DIRECTION_NE) | + (1 << WIDX_DIRECTION_SW) | + (1 << WIDX_DIRECTION_SE) | + (1 << WIDX_SLOPEDOWN) | + (1 << WIDX_LEVEL) | + (1 << WIDX_SLOPEUP) | + (1 << WIDX_CONSTRUCT) | + (1 << WIDX_REMOVE) | + (1 << WIDX_CONSTRUCT_ON_LAND) | + (1 << WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL); - window_init_scroll_widgets(window); - window_push_others_right(window); - show_gridlines(); + window_init_scroll_widgets(window); + window_push_others_right(window); + show_gridlines(); - // If a restricted path was selected when the game is no longer in Sandbox mode, reset it - rct_footpath_entry *pathEntry = get_footpath_entry(gFootpathSelectedId); - if (pathEntry != (rct_footpath_entry*)-1 && (pathEntry->flags & FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR) && !gCheatsSandboxMode) { - pathEntry = (rct_footpath_entry*)-1; - } + // If a restricted path was selected when the game is no longer in Sandbox mode, reset it + rct_footpath_entry *pathEntry = get_footpath_entry(gFootpathSelectedId); + if (pathEntry != (rct_footpath_entry*)-1 && (pathEntry->flags & FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR) && !gCheatsSandboxMode) { + pathEntry = (rct_footpath_entry*)-1; + } - // Select the default path if we don't have one - if (pathEntry == (rct_footpath_entry*)-1) { - footpath_select_default(); - } + // Select the default path if we don't have one + if (pathEntry == (rct_footpath_entry*)-1) { + footpath_select_default(); + } - tool_cancel(); - gFootpathConstructionMode = PATH_CONSTRUCTION_MODE_LAND; - tool_set(window, WIDX_CONSTRUCT_ON_LAND, TOOL_PATH_DOWN); - input_set_flag(INPUT_FLAG_6, true); - _footpathErrorOccured = false; - window_footpath_set_enabled_and_pressed_widgets(); + tool_cancel(); + gFootpathConstructionMode = PATH_CONSTRUCTION_MODE_LAND; + tool_set(window, WIDX_CONSTRUCT_ON_LAND, TOOL_PATH_DOWN); + input_set_flag(INPUT_FLAG_6, true); + _footpathErrorOccured = false; + window_footpath_set_enabled_and_pressed_widgets(); } /** @@ -272,12 +272,12 @@ void window_footpath_open() */ static void window_footpath_close(rct_window *w) { - footpath_provisional_update(); - viewport_set_visibility(0); - map_invalidate_map_selection_tiles(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - window_invalidate_by_class(WC_TOP_TOOLBAR); - hide_gridlines(); + footpath_provisional_update(); + viewport_set_visibility(0); + map_invalidate_map_selection_tiles(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + window_invalidate_by_class(WC_TOP_TOOLBAR); + hide_gridlines(); } /** @@ -286,47 +286,47 @@ static void window_footpath_close(rct_window *w) */ static void window_footpath_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_CONSTRUCT: - window_footpath_construct(); - break; - case WIDX_REMOVE: - window_footpath_remove(); - break; - case WIDX_CONSTRUCT_ON_LAND: - if (gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_LAND) - break; + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_CONSTRUCT: + window_footpath_construct(); + break; + case WIDX_REMOVE: + window_footpath_remove(); + break; + case WIDX_CONSTRUCT_ON_LAND: + if (gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_LAND) + break; - _window_footpath_cost = MONEY32_UNDEFINED; - tool_cancel(); - footpath_provisional_update(); - map_invalidate_map_selection_tiles(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gFootpathConstructionMode = PATH_CONSTRUCTION_MODE_LAND; - tool_set(w, WIDX_CONSTRUCT_ON_LAND, TOOL_PATH_DOWN); - input_set_flag(INPUT_FLAG_6, true); - _footpathErrorOccured = false; - window_footpath_set_enabled_and_pressed_widgets(); - break; - case WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL: - if (gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL_TOOL) - break; + _window_footpath_cost = MONEY32_UNDEFINED; + tool_cancel(); + footpath_provisional_update(); + map_invalidate_map_selection_tiles(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gFootpathConstructionMode = PATH_CONSTRUCTION_MODE_LAND; + tool_set(w, WIDX_CONSTRUCT_ON_LAND, TOOL_PATH_DOWN); + input_set_flag(INPUT_FLAG_6, true); + _footpathErrorOccured = false; + window_footpath_set_enabled_and_pressed_widgets(); + break; + case WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL: + if (gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL_TOOL) + break; - _window_footpath_cost = MONEY32_UNDEFINED; - tool_cancel(); - footpath_provisional_update(); - map_invalidate_map_selection_tiles(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gFootpathConstructionMode = PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL_TOOL; - tool_set(w, WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL, TOOL_CROSSHAIR); - input_set_flag(INPUT_FLAG_6, true); - _footpathErrorOccured = false; - window_footpath_set_enabled_and_pressed_widgets(); - break; - } + _window_footpath_cost = MONEY32_UNDEFINED; + tool_cancel(); + footpath_provisional_update(); + map_invalidate_map_selection_tiles(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gFootpathConstructionMode = PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL_TOOL; + tool_set(w, WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL, TOOL_CROSSHAIR); + input_set_flag(INPUT_FLAG_6, true); + _footpathErrorOccured = false; + window_footpath_set_enabled_and_pressed_widgets(); + break; + } } /** @@ -335,35 +335,35 @@ static void window_footpath_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ static void window_footpath_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - switch (widgetIndex) { - case WIDX_FOOTPATH_TYPE: - window_footpath_show_footpath_types_dialog(w, widget, 0); - break; - case WIDX_QUEUELINE_TYPE: - window_footpath_show_footpath_types_dialog(w, widget, 1); - break; - case WIDX_DIRECTION_NW: - window_footpath_mousedown_direction(0); - break; - case WIDX_DIRECTION_NE: - window_footpath_mousedown_direction(1); - break; - case WIDX_DIRECTION_SW: - window_footpath_mousedown_direction(2); - break; - case WIDX_DIRECTION_SE: - window_footpath_mousedown_direction(3); - break; - case WIDX_SLOPEDOWN: - window_footpath_mousedown_slope(6); - break; - case WIDX_LEVEL: - window_footpath_mousedown_slope(0); - break; - case WIDX_SLOPEUP: - window_footpath_mousedown_slope(2); - break; - } + switch (widgetIndex) { + case WIDX_FOOTPATH_TYPE: + window_footpath_show_footpath_types_dialog(w, widget, 0); + break; + case WIDX_QUEUELINE_TYPE: + window_footpath_show_footpath_types_dialog(w, widget, 1); + break; + case WIDX_DIRECTION_NW: + window_footpath_mousedown_direction(0); + break; + case WIDX_DIRECTION_NE: + window_footpath_mousedown_direction(1); + break; + case WIDX_DIRECTION_SW: + window_footpath_mousedown_direction(2); + break; + case WIDX_DIRECTION_SE: + window_footpath_mousedown_direction(3); + break; + case WIDX_SLOPEDOWN: + window_footpath_mousedown_slope(6); + break; + case WIDX_LEVEL: + window_footpath_mousedown_slope(0); + break; + case WIDX_SLOPEUP: + window_footpath_mousedown_slope(2); + break; + } } /** @@ -372,45 +372,45 @@ static void window_footpath_mousedown(rct_widgetindex widgetIndex, rct_window*w, */ static void window_footpath_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex == WIDX_FOOTPATH_TYPE) - gFootpathSelectedType = SELECTED_PATH_TYPE_NORMAL; - else if (widgetIndex == WIDX_QUEUELINE_TYPE) - gFootpathSelectedType = SELECTED_PATH_TYPE_QUEUE; - else - return; + if (widgetIndex == WIDX_FOOTPATH_TYPE) + gFootpathSelectedType = SELECTED_PATH_TYPE_NORMAL; + else if (widgetIndex == WIDX_QUEUELINE_TYPE) + gFootpathSelectedType = SELECTED_PATH_TYPE_QUEUE; + else + return; - // Get path id - sint32 pathId = dropdownIndex; - if (pathId == -1) { - pathId = gFootpathSelectedId; - } else { - sint32 flags = 4; - if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) - flags = 0; + // Get path id + sint32 pathId = dropdownIndex; + if (pathId == -1) { + pathId = gFootpathSelectedId; + } else { + sint32 flags = 4; + if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) + flags = 0; - sint32 i = 0, j = 0; - for (; i < 16; i++) { - rct_footpath_entry *pathType = get_footpath_entry(i); - if (pathType == (rct_footpath_entry*)-1) - continue; - if (pathType->flags & flags) - continue; - // Skip queue lines of scenario editor-only paths (only applicable when the game is in sandbox mode) - if(widgetIndex == WIDX_QUEUELINE_TYPE && (pathType->flags & FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR)) - continue; + sint32 i = 0, j = 0; + for (; i < 16; i++) { + rct_footpath_entry *pathType = get_footpath_entry(i); + if (pathType == (rct_footpath_entry*)-1) + continue; + if (pathType->flags & flags) + continue; + // Skip queue lines of scenario editor-only paths (only applicable when the game is in sandbox mode) + if(widgetIndex == WIDX_QUEUELINE_TYPE && (pathType->flags & FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR)) + continue; - if (j == pathId) - break; - j++; - } - pathId = i; - } + if (j == pathId) + break; + j++; + } + pathId = i; + } - // Set selected path id - gFootpathSelectedId = pathId; - footpath_provisional_update(); - _window_footpath_cost = MONEY32_UNDEFINED; - window_invalidate(w); + // Set selected path id + gFootpathSelectedId = pathId; + footpath_provisional_update(); + _window_footpath_cost = MONEY32_UNDEFINED; + window_invalidate(w); } /** @@ -419,11 +419,11 @@ static void window_footpath_dropdown(rct_window *w, rct_widgetindex widgetIndex, */ static void window_footpath_toolupdate(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (widgetIndex == WIDX_CONSTRUCT_ON_LAND) { - window_footpath_set_provisional_path_at_point(x, y); - } else if (widgetIndex == WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL) { - window_footpath_set_selection_start_bridge_at_point(x, y); - } + if (widgetIndex == WIDX_CONSTRUCT_ON_LAND) { + window_footpath_set_provisional_path_at_point(x, y); + } else if (widgetIndex == WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL) { + window_footpath_set_selection_start_bridge_at_point(x, y); + } } /** @@ -432,10 +432,10 @@ static void window_footpath_toolupdate(rct_window* w, rct_widgetindex widgetInde */ static void window_footpath_tooldown(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (widgetIndex == WIDX_CONSTRUCT_ON_LAND) - window_footpath_place_path_at_point(x, y); - else if (widgetIndex == WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL) - window_footpath_start_bridge_at_point(x, y); + if (widgetIndex == WIDX_CONSTRUCT_ON_LAND) + window_footpath_place_path_at_point(x, y); + else if (widgetIndex == WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL) + window_footpath_start_bridge_at_point(x, y); } /** @@ -444,9 +444,9 @@ static void window_footpath_tooldown(rct_window* w, rct_widgetindex widgetIndex, */ static void window_footpath_tooldrag(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (widgetIndex == WIDX_CONSTRUCT_ON_LAND) { - window_footpath_place_path_at_point(x, y); - } + if (widgetIndex == WIDX_CONSTRUCT_ON_LAND) { + window_footpath_place_path_at_point(x, y); + } } /** @@ -455,9 +455,9 @@ static void window_footpath_tooldrag(rct_window* w, rct_widgetindex widgetIndex, */ static void window_footpath_toolup(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (widgetIndex == WIDX_CONSTRUCT_ON_LAND) { - _footpathErrorOccured = false; - } + if (widgetIndex == WIDX_CONSTRUCT_ON_LAND) { + _footpathErrorOccured = false; + } } /** @@ -466,39 +466,39 @@ static void window_footpath_toolup(rct_window* w, rct_widgetindex widgetIndex, s */ static void window_footpath_update_provisional_path_for_bridge_mode(rct_window *w) { - sint32 type, x, y, z, slope; + sint32 type, x, y, z, slope; - if (gFootpathConstructionMode != PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL) - return; + if (gFootpathConstructionMode != PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL) + return; - // Recheck area for construction. Set by ride_construction window - if (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_2) { - footpath_provisional_remove(); - gFootpathProvisionalFlags &= ~PROVISIONAL_PATH_FLAG_2; - } + // Recheck area for construction. Set by ride_construction window + if (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_2) { + footpath_provisional_remove(); + gFootpathProvisionalFlags &= ~PROVISIONAL_PATH_FLAG_2; + } - // Update provisional bridge mode path - if (!(gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_1)) { - footpath_get_next_path_info(&type, &x, &y, &z, &slope); - _window_footpath_cost = footpath_provisional_set(type, x, y, z, slope); - widget_invalidate(w, WIDX_CONSTRUCT); - } + // Update provisional bridge mode path + if (!(gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_1)) { + footpath_get_next_path_info(&type, &x, &y, &z, &slope); + _window_footpath_cost = footpath_provisional_set(type, x, y, z, slope); + widget_invalidate(w, WIDX_CONSTRUCT); + } - // Update little directional arrow on provisional bridge mode path - if (--_window_footpath_provisional_path_arrow_timer < 0) { - _window_footpath_provisional_path_arrow_timer = 5; - gFootpathProvisionalFlags ^= PROVISIONAL_PATH_FLAG_SHOW_ARROW; - footpath_get_next_path_info(&type, &x, &y, &z, &slope); - gMapSelectArrowPosition.x = x; - gMapSelectArrowPosition.y = y; - gMapSelectArrowPosition.z = z * 8; - gMapSelectArrowDirection = gFootpathConstructDirection; - if (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_SHOW_ARROW) - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; - else - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - map_invalidate_tile_full(x, y); - } + // Update little directional arrow on provisional bridge mode path + if (--_window_footpath_provisional_path_arrow_timer < 0) { + _window_footpath_provisional_path_arrow_timer = 5; + gFootpathProvisionalFlags ^= PROVISIONAL_PATH_FLAG_SHOW_ARROW; + footpath_get_next_path_info(&type, &x, &y, &z, &slope); + gMapSelectArrowPosition.x = x; + gMapSelectArrowPosition.y = y; + gMapSelectArrowPosition.z = z * 8; + gMapSelectArrowDirection = gFootpathConstructDirection; + if (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_SHOW_ARROW) + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; + else + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + map_invalidate_tile_full(x, y); + } } /** @@ -507,32 +507,32 @@ static void window_footpath_update_provisional_path_for_bridge_mode(rct_window * */ static void window_footpath_update(rct_window *w) { - widget_invalidate(w, WIDX_CONSTRUCT); - window_footpath_update_provisional_path_for_bridge_mode(w); + widget_invalidate(w, WIDX_CONSTRUCT); + window_footpath_update_provisional_path_for_bridge_mode(w); - // #2502: The camera might have changed rotation, so we need to update which directional buttons are pressed - uint8 currentRotation = get_current_rotation(); - if (_lastUpdatedCameraRotation != currentRotation) { - _lastUpdatedCameraRotation = currentRotation; - window_footpath_set_enabled_and_pressed_widgets(); - } + // #2502: The camera might have changed rotation, so we need to update which directional buttons are pressed + uint8 currentRotation = get_current_rotation(); + if (_lastUpdatedCameraRotation != currentRotation) { + _lastUpdatedCameraRotation = currentRotation; + window_footpath_set_enabled_and_pressed_widgets(); + } - // Check tool - if (gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_LAND) { - if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) - window_close(w); - else if (gCurrentToolWidget.window_classification != WC_FOOTPATH) - window_close(w); - else if (gCurrentToolWidget.widget_index != WIDX_CONSTRUCT_ON_LAND) - window_close(w); - } else if (gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL_TOOL) { - if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) - window_close(w); - else if (gCurrentToolWidget.window_classification != WC_FOOTPATH) - window_close(w); - else if (gCurrentToolWidget.widget_index != WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL) - window_close(w); - } + // Check tool + if (gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_LAND) { + if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) + window_close(w); + else if (gCurrentToolWidget.window_classification != WC_FOOTPATH) + window_close(w); + else if (gCurrentToolWidget.widget_index != WIDX_CONSTRUCT_ON_LAND) + window_close(w); + } else if (gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL_TOOL) { + if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) + window_close(w); + else if (gCurrentToolWidget.window_classification != WC_FOOTPATH) + window_close(w); + else if (gCurrentToolWidget.widget_index != WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL) + window_close(w); + } } /** @@ -541,40 +541,40 @@ static void window_footpath_update(rct_window *w) */ static void window_footpath_invalidate(rct_window *w) { - sint32 selectedPath; - rct_footpath_entry *pathType; + sint32 selectedPath; + rct_footpath_entry *pathType; - // Press / unpress footpath and queue type buttons - w->pressed_widgets &= ~(1 << WIDX_FOOTPATH_TYPE); - w->pressed_widgets &= ~(1 << WIDX_QUEUELINE_TYPE); - w->pressed_widgets |= gFootpathSelectedType == SELECTED_PATH_TYPE_NORMAL ? - (1 << WIDX_FOOTPATH_TYPE) : - (1 << WIDX_QUEUELINE_TYPE); + // Press / unpress footpath and queue type buttons + w->pressed_widgets &= ~(1 << WIDX_FOOTPATH_TYPE); + w->pressed_widgets &= ~(1 << WIDX_QUEUELINE_TYPE); + w->pressed_widgets |= gFootpathSelectedType == SELECTED_PATH_TYPE_NORMAL ? + (1 << WIDX_FOOTPATH_TYPE) : + (1 << WIDX_QUEUELINE_TYPE); - // Enable / disable construct button - window_footpath_widgets[WIDX_CONSTRUCT].type = - gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL ? - WWT_IMGBTN : WWT_EMPTY; + // Enable / disable construct button + window_footpath_widgets[WIDX_CONSTRUCT].type = + gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL ? + WWT_IMGBTN : WWT_EMPTY; - // Set footpath and queue type button images - selectedPath = gFootpathSelectedId; - pathType = get_footpath_entry(selectedPath); + // Set footpath and queue type button images + selectedPath = gFootpathSelectedId; + pathType = get_footpath_entry(selectedPath); - // TODO: Should probably add constants for object sprites - sint32 pathImage = 71 + pathType->image; - window_footpath_widgets[WIDX_FOOTPATH_TYPE].image = pathImage; + // TODO: Should probably add constants for object sprites + sint32 pathImage = 71 + pathType->image; + window_footpath_widgets[WIDX_FOOTPATH_TYPE].image = pathImage; - // Disable queue line button when the path is scenario editor-only (and therefore usually shouldn't have one) - if(!(pathType->flags & FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR)) { - window_footpath_widgets[WIDX_QUEUELINE_TYPE].image = pathImage + 1; - window_footpath_widgets[WIDX_QUEUELINE_TYPE].type = WWT_FLATBTN; - } else { - window_footpath_widgets[WIDX_QUEUELINE_TYPE].type = WWT_EMPTY; - } + // Disable queue line button when the path is scenario editor-only (and therefore usually shouldn't have one) + if(!(pathType->flags & FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR)) { + window_footpath_widgets[WIDX_QUEUELINE_TYPE].image = pathImage + 1; + window_footpath_widgets[WIDX_QUEUELINE_TYPE].type = WWT_FLATBTN; + } else { + window_footpath_widgets[WIDX_QUEUELINE_TYPE].type = WWT_EMPTY; + } - // Disable queue line button if in Scenario Editor - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) - window_footpath_widgets[WIDX_QUEUELINE_TYPE].type = WWT_EMPTY; + // Disable queue line button if in Scenario Editor + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) + window_footpath_widgets[WIDX_QUEUELINE_TYPE].type = WWT_EMPTY; } /** @@ -583,41 +583,41 @@ static void window_footpath_invalidate(rct_window *w) */ static void window_footpath_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - if (!(w->disabled_widgets & (1 << WIDX_CONSTRUCT))) { - // Get construction image - uint8 direction = (gFootpathConstructDirection + get_current_rotation()) % 4; - uint8 slope = 0; - if (gFootpathConstructSlope == 2) - slope = 1; - else if (gFootpathConstructSlope == 6) - slope = 2; - sint32 image = footpath_construction_preview_images[slope][direction]; + if (!(w->disabled_widgets & (1 << WIDX_CONSTRUCT))) { + // Get construction image + uint8 direction = (gFootpathConstructDirection + get_current_rotation()) % 4; + uint8 slope = 0; + if (gFootpathConstructSlope == 2) + slope = 1; + else if (gFootpathConstructSlope == 6) + slope = 2; + sint32 image = footpath_construction_preview_images[slope][direction]; - sint32 selectedPath = gFootpathSelectedId; - rct_footpath_entry *pathType = get_footpath_entry(selectedPath); - image += pathType->image; - if (gFootpathSelectedType != SELECTED_PATH_TYPE_NORMAL) - image += 51; + sint32 selectedPath = gFootpathSelectedId; + rct_footpath_entry *pathType = get_footpath_entry(selectedPath); + image += pathType->image; + if (gFootpathSelectedType != SELECTED_PATH_TYPE_NORMAL) + image += 51; - // Draw construction image - sint32 x = w->x + (window_footpath_widgets[WIDX_CONSTRUCT].left + window_footpath_widgets[WIDX_CONSTRUCT].right) / 2; - sint32 y = w->y + window_footpath_widgets[WIDX_CONSTRUCT].bottom - 60; - gfx_draw_sprite(dpi, image, x, y, 0); + // Draw construction image + sint32 x = w->x + (window_footpath_widgets[WIDX_CONSTRUCT].left + window_footpath_widgets[WIDX_CONSTRUCT].right) / 2; + sint32 y = w->y + window_footpath_widgets[WIDX_CONSTRUCT].bottom - 60; + gfx_draw_sprite(dpi, image, x, y, 0); - // Draw build this... label - x = w->x + (window_footpath_widgets[WIDX_CONSTRUCT].left + window_footpath_widgets[WIDX_CONSTRUCT].right) / 2; - y = w->y + window_footpath_widgets[WIDX_CONSTRUCT].bottom - 23; - gfx_draw_string_centred(dpi, STR_BUILD_THIS, x, y, COLOUR_BLACK, NULL); - } + // Draw build this... label + x = w->x + (window_footpath_widgets[WIDX_CONSTRUCT].left + window_footpath_widgets[WIDX_CONSTRUCT].right) / 2; + y = w->y + window_footpath_widgets[WIDX_CONSTRUCT].bottom - 23; + gfx_draw_string_centred(dpi, STR_BUILD_THIS, x, y, COLOUR_BLACK, NULL); + } - // Draw cost - sint32 x = w->x + (window_footpath_widgets[WIDX_CONSTRUCT].left + window_footpath_widgets[WIDX_CONSTRUCT].right) / 2; - sint32 y = w->y + window_footpath_widgets[WIDX_CONSTRUCT].bottom - 12; - if (_window_footpath_cost != MONEY32_UNDEFINED) - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) - gfx_draw_string_centred(dpi, STR_COST_LABEL, x, y, COLOUR_BLACK, &_window_footpath_cost); + // Draw cost + sint32 x = w->x + (window_footpath_widgets[WIDX_CONSTRUCT].left + window_footpath_widgets[WIDX_CONSTRUCT].right) / 2; + sint32 y = w->y + window_footpath_widgets[WIDX_CONSTRUCT].bottom - 12; + if (_window_footpath_cost != MONEY32_UNDEFINED) + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) + gfx_draw_string_centred(dpi, STR_COST_LABEL, x, y, COLOUR_BLACK, &_window_footpath_cost); } /** @@ -626,40 +626,40 @@ static void window_footpath_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_footpath_show_footpath_types_dialog(rct_window *w, rct_widget *widget, sint32 showQueues) { - sint32 i, flags, numPathTypes, image; - rct_footpath_entry *pathType; + sint32 i, flags, numPathTypes, image; + rct_footpath_entry *pathType; - numPathTypes = 0; - flags = FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR; - // If the game is in sandbox mode, also show paths that are normally restricted to the scenario editor, but not their queues (since these usually shouldn't have one) - if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || (gCheatsSandboxMode && !showQueues)) - flags = 0; + numPathTypes = 0; + flags = FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR; + // If the game is in sandbox mode, also show paths that are normally restricted to the scenario editor, but not their queues (since these usually shouldn't have one) + if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || (gCheatsSandboxMode && !showQueues)) + flags = 0; - for (i = 0; i < 16; i++) { - pathType = get_footpath_entry(i); - if (pathType == (rct_footpath_entry*)-1) - continue; - if (pathType->flags & flags) - continue; + for (i = 0; i < 16; i++) { + pathType = get_footpath_entry(i); + if (pathType == (rct_footpath_entry*)-1) + continue; + if (pathType->flags & flags) + continue; - image = pathType->image + 71; - if (showQueues) - image++; + image = pathType->image + 71; + if (showQueues) + image++; - gDropdownItemsFormat[numPathTypes] = -1; - gDropdownItemsArgs[numPathTypes] = image; - numPathTypes++; - } + gDropdownItemsFormat[numPathTypes] = -1; + gDropdownItemsArgs[numPathTypes] = image; + numPathTypes++; + } - window_dropdown_show_image( - w->x + widget->left, w->y + widget->top, widget->bottom - widget->top + 1, - w->colours[1], - 0, - numPathTypes, - 47, - 36, - gAppropriateImageDropdownItemsPerRow[numPathTypes] - ); + window_dropdown_show_image( + w->x + widget->left, w->y + widget->top, widget->bottom - widget->top + 1, + w->colours[1], + 0, + numPathTypes, + 47, + 36, + gAppropriateImageDropdownItemsPerRow[numPathTypes] + ); } /** @@ -668,10 +668,10 @@ static void window_footpath_show_footpath_types_dialog(rct_window *w, rct_widget */ static void window_footpath_mousedown_direction(sint32 direction) { - footpath_provisional_update(); - gFootpathConstructDirection = (direction - get_current_rotation()) & 3; - _window_footpath_cost = MONEY32_UNDEFINED; - window_footpath_set_enabled_and_pressed_widgets(); + footpath_provisional_update(); + gFootpathConstructDirection = (direction - get_current_rotation()) & 3; + _window_footpath_cost = MONEY32_UNDEFINED; + window_footpath_set_enabled_and_pressed_widgets(); } /** @@ -680,10 +680,10 @@ static void window_footpath_mousedown_direction(sint32 direction) */ static void window_footpath_mousedown_slope(sint32 slope) { - footpath_provisional_update(); - gFootpathConstructSlope = slope; - _window_footpath_cost = MONEY32_UNDEFINED; - window_footpath_set_enabled_and_pressed_widgets(); + footpath_provisional_update(); + gFootpathConstructSlope = slope; + _window_footpath_cost = MONEY32_UNDEFINED; + window_footpath_set_enabled_and_pressed_widgets(); } /** @@ -692,49 +692,49 @@ static void window_footpath_mousedown_slope(sint32 slope) */ static void window_footpath_set_provisional_path_at_point(sint32 x, sint32 y) { - map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + map_invalidate_selection_rect(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - sint32 interactionType; - rct_map_element *mapElement; - rct_xy16 mapCoord = { 0 }; - get_map_coordinates_from_pos(x, y, VIEWPORT_INTERACTION_MASK_FOOTPATH & VIEWPORT_INTERACTION_MASK_TERRAIN, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL); - x = mapCoord.x; - y = mapCoord.y; + sint32 interactionType; + rct_map_element *mapElement; + rct_xy16 mapCoord = { 0 }; + get_map_coordinates_from_pos(x, y, VIEWPORT_INTERACTION_MASK_FOOTPATH & VIEWPORT_INTERACTION_MASK_TERRAIN, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL); + x = mapCoord.x; + y = mapCoord.y; - if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) { - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - footpath_provisional_update(); - } else { - // Check for change - if ( - (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_1) && - gFootpathProvisionalPosition.x == x && - gFootpathProvisionalPosition.y == y && - gFootpathProvisionalPosition.z == mapElement->base_height - ) { - return; - } + if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) { + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + footpath_provisional_update(); + } else { + // Check for change + if ( + (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_1) && + gFootpathProvisionalPosition.x == x && + gFootpathProvisionalPosition.y == y && + gFootpathProvisionalPosition.z == mapElement->base_height + ) { + return; + } - // Set map selection - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - gMapSelectType = MAP_SELECT_TYPE_FULL; - gMapSelectPositionA.x = x; - gMapSelectPositionA.y = y; - gMapSelectPositionB.x = x; - gMapSelectPositionB.y = y; + // Set map selection + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectType = MAP_SELECT_TYPE_FULL; + gMapSelectPositionA.x = x; + gMapSelectPositionA.y = y; + gMapSelectPositionB.x = x; + gMapSelectPositionB.y = y; - footpath_provisional_update(); + footpath_provisional_update(); - // Set provisional path - sint32 slope = default_path_slope[mapElement->properties.surface.slope & 0x1F]; - if (interactionType == VIEWPORT_INTERACTION_ITEM_FOOTPATH) - slope = mapElement->properties.surface.slope & 7; - sint32 pathType = (gFootpathSelectedType << 7) + (gFootpathSelectedId & 0xFF); + // Set provisional path + sint32 slope = default_path_slope[mapElement->properties.surface.slope & 0x1F]; + if (interactionType == VIEWPORT_INTERACTION_ITEM_FOOTPATH) + slope = mapElement->properties.surface.slope & 7; + sint32 pathType = (gFootpathSelectedType << 7) + (gFootpathSelectedId & 0xFF); - _window_footpath_cost = footpath_provisional_set(pathType, x, y, mapElement->base_height, slope); - window_invalidate_by_class(WC_FOOTPATH); - } + _window_footpath_cost = footpath_provisional_set(pathType, x, y, mapElement->base_height, slope); + window_invalidate_by_class(WC_FOOTPATH); + } } /** @@ -743,42 +743,42 @@ static void window_footpath_set_provisional_path_at_point(sint32 x, sint32 y) */ static void window_footpath_set_selection_start_bridge_at_point(sint32 screenX, sint32 screenY) { - sint32 x, y, direction; - rct_map_element *mapElement; + sint32 x, y, direction; + rct_map_element *mapElement; - map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + map_invalidate_selection_rect(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - footpath_bridge_get_info_from_pos(screenX, screenY, &x, &y, &direction, &mapElement); - if (x == MAP_LOCATION_NULL) - return; + footpath_bridge_get_info_from_pos(screenX, screenY, &x, &y, &direction, &mapElement); + if (x == MAP_LOCATION_NULL) + return; - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; - gMapSelectType = MAP_SELECT_TYPE_FULL; - gMapSelectPositionA.x = x; - gMapSelectPositionB.x = x; - gMapSelectPositionA.y = y; - gMapSelectPositionB.y = y; + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; + gMapSelectType = MAP_SELECT_TYPE_FULL; + gMapSelectPositionA.x = x; + gMapSelectPositionB.x = x; + gMapSelectPositionA.y = y; + gMapSelectPositionB.y = y; - gMapSelectArrowDirection = direction; - gMapSelectArrowPosition.x = x; - gMapSelectArrowPosition.y = y; + gMapSelectArrowDirection = direction; + gMapSelectArrowPosition.x = x; + gMapSelectArrowPosition.y = y; - sint32 z = mapElement->base_height; + sint32 z = mapElement->base_height; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SURFACE) { - uint8 slope = mapElement->properties.surface.slope; - if (slope & 0xf) - z += 2; // Add 2 for a slope - if (slope & 0x10) - z += 2; // Add another 2 for a steep slope - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SURFACE) { + uint8 slope = mapElement->properties.surface.slope; + if (slope & 0xf) + z += 2; // Add 2 for a slope + if (slope & 0x10) + z += 2; // Add another 2 for a steep slope + } - gMapSelectArrowPosition.z = z << 3; + gMapSelectArrowPosition.z = z << 3; - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); } /** @@ -787,41 +787,41 @@ static void window_footpath_set_selection_start_bridge_at_point(sint32 screenX, */ static void window_footpath_place_path_at_point(sint32 x, sint32 y) { - sint32 interactionType, presentType, selectedType, z, cost; - rct_map_element *mapElement; + sint32 interactionType, presentType, selectedType, z, cost; + rct_map_element *mapElement; - if (_footpathErrorOccured) - return; + if (_footpathErrorOccured) + return; - footpath_provisional_update(); + footpath_provisional_update(); - rct_xy16 mapCoord = { 0 }; - get_map_coordinates_from_pos(x, y, VIEWPORT_INTERACTION_MASK_FOOTPATH & VIEWPORT_INTERACTION_MASK_TERRAIN, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL); - x = mapCoord.x; - y = mapCoord.y; + rct_xy16 mapCoord = { 0 }; + get_map_coordinates_from_pos(x, y, VIEWPORT_INTERACTION_MASK_FOOTPATH & VIEWPORT_INTERACTION_MASK_TERRAIN, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL); + x = mapCoord.x; + y = mapCoord.y; - if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) - return; + if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) + return; - // Set path - presentType = default_path_slope[mapElement->properties.path.type & 0x1F]; - if (interactionType == VIEWPORT_INTERACTION_ITEM_FOOTPATH) - presentType = mapElement->properties.path.type & 7; - z = mapElement->base_height; - selectedType = (gFootpathSelectedType << 7) + (gFootpathSelectedId & 0xFF); + // Set path + presentType = default_path_slope[mapElement->properties.path.type & 0x1F]; + if (interactionType == VIEWPORT_INTERACTION_ITEM_FOOTPATH) + presentType = mapElement->properties.path.type & 7; + z = mapElement->base_height; + selectedType = (gFootpathSelectedType << 7) + (gFootpathSelectedId & 0xFF); - // Try and place path - gGameCommandErrorTitle = STR_CANT_BUILD_FOOTPATH_HERE; - cost = footpath_place(selectedType, x, y, z, presentType, GAME_COMMAND_FLAG_APPLY); + // Try and place path + gGameCommandErrorTitle = STR_CANT_BUILD_FOOTPATH_HERE; + cost = footpath_place(selectedType, x, y, z, presentType, GAME_COMMAND_FLAG_APPLY); - if (cost == MONEY32_UNDEFINED) { - _footpathErrorOccured = true; - } else if (gFootpathPrice != 0) { - // bp = RCT2_ADDRESS_COMMAND_MAP_Z - // dx = RCT2_ADDRESS_COMMAND_MAP_Y - // cx = RCT2_ADDRESS_COMMAND_MAP_X - audio_play_sound_at_location(SOUND_PLACE_ITEM, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); - } + if (cost == MONEY32_UNDEFINED) { + _footpathErrorOccured = true; + } else if (gFootpathPrice != 0) { + // bp = RCT2_ADDRESS_COMMAND_MAP_Z + // dx = RCT2_ADDRESS_COMMAND_MAP_Y + // cx = RCT2_ADDRESS_COMMAND_MAP_X + audio_play_sound_at_location(SOUND_PLACE_ITEM, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); + } } /** @@ -830,46 +830,46 @@ static void window_footpath_place_path_at_point(sint32 x, sint32 y) */ static void window_footpath_start_bridge_at_point(sint32 screenX, sint32 screenY) { - sint32 x, y, z, direction; - rct_map_element *mapElement; + sint32 x, y, z, direction; + rct_map_element *mapElement; - footpath_bridge_get_info_from_pos(screenX, screenY, &x, &y, &direction, &mapElement); - if (x == MAP_LOCATION_NULL) - return; + footpath_bridge_get_info_from_pos(screenX, screenY, &x, &y, &direction, &mapElement); + if (x == MAP_LOCATION_NULL) + return; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SURFACE) { - // If we start the path on a slope, the arrow is slightly raised, so we - // expect the path to be slightly raised as well. - uint8 slope = mapElement->properties.surface.slope; - z = mapElement->base_height; - if (slope & 0x10) { - // Steep diagonal slope - z += 4; - } else if (slope & 0x0f) { - // Normal slope - z += 2; - } - } else { - z = mapElement->base_height; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { - if (mapElement->properties.path.type & 4) { - if (direction == (mapElement->properties.path.type & 3)) - z += 2; - } - } - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SURFACE) { + // If we start the path on a slope, the arrow is slightly raised, so we + // expect the path to be slightly raised as well. + uint8 slope = mapElement->properties.surface.slope; + z = mapElement->base_height; + if (slope & 0x10) { + // Steep diagonal slope + z += 4; + } else if (slope & 0x0f) { + // Normal slope + z += 2; + } + } else { + z = mapElement->base_height; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { + if (mapElement->properties.path.type & 4) { + if (direction == (mapElement->properties.path.type & 3)) + z += 2; + } + } + } - tool_cancel(); - gFootpathConstructFromPosition.x = x; - gFootpathConstructFromPosition.y = y; - gFootpathConstructFromPosition.z = z * 8; - gFootpathConstructDirection = direction; - gFootpathProvisionalFlags = 0; - _window_footpath_provisional_path_arrow_timer = 0; - gFootpathConstructSlope = 0; - gFootpathConstructionMode = PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL; - gFootpathConstructValidDirections = 255; - window_footpath_set_enabled_and_pressed_widgets(); + tool_cancel(); + gFootpathConstructFromPosition.x = x; + gFootpathConstructFromPosition.y = y; + gFootpathConstructFromPosition.z = z * 8; + gFootpathConstructDirection = direction; + gFootpathProvisionalFlags = 0; + _window_footpath_provisional_path_arrow_timer = 0; + gFootpathConstructSlope = 0; + gFootpathConstructionMode = PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL; + gFootpathConstructValidDirections = 255; + window_footpath_set_enabled_and_pressed_widgets(); } /** @@ -878,60 +878,60 @@ static void window_footpath_start_bridge_at_point(sint32 screenX, sint32 screenY */ static void window_footpath_construct() { - _window_footpath_cost = MONEY32_UNDEFINED; - footpath_provisional_update(); + _window_footpath_cost = MONEY32_UNDEFINED; + footpath_provisional_update(); - sint32 type, x, y, z, slope; - footpath_get_next_path_info(&type, &x, &y, &z, &slope); + sint32 type, x, y, z, slope; + footpath_get_next_path_info(&type, &x, &y, &z, &slope); - // Try to place the path at the desired location - gGameCommandErrorTitle = STR_CANT_BUILD_FOOTPATH_HERE; - money32 cost = footpath_place(type, x, y, z, slope, 0); + // Try to place the path at the desired location + gGameCommandErrorTitle = STR_CANT_BUILD_FOOTPATH_HERE; + money32 cost = footpath_place(type, x, y, z, slope, 0); - if (cost != MONEY32_UNDEFINED && !gCheatsDisableClearanceChecks) { - // It is possible, let's remove walls between the old and new piece of path - uint8 direction = gFootpathConstructDirection; - wall_remove_intersecting_walls(x, y, z, z + 4 + ((slope & 0xf) ? 2 : 0), direction ^ 2); - wall_remove_intersecting_walls( - x - TileDirectionDelta[direction].x, - y - TileDirectionDelta[direction].y, - z, z + 4, direction - ); - } + if (cost != MONEY32_UNDEFINED && !gCheatsDisableClearanceChecks) { + // It is possible, let's remove walls between the old and new piece of path + uint8 direction = gFootpathConstructDirection; + wall_remove_intersecting_walls(x, y, z, z + 4 + ((slope & 0xf) ? 2 : 0), direction ^ 2); + wall_remove_intersecting_walls( + x - TileDirectionDelta[direction].x, + y - TileDirectionDelta[direction].y, + z, z + 4, direction + ); + } - // Actually place the path now - gGameCommandErrorTitle = STR_CANT_BUILD_FOOTPATH_HERE; - cost = footpath_place(type, x, y, z, slope, GAME_COMMAND_FLAG_APPLY); + // Actually place the path now + gGameCommandErrorTitle = STR_CANT_BUILD_FOOTPATH_HERE; + cost = footpath_place(type, x, y, z, slope, GAME_COMMAND_FLAG_APPLY); - if (cost != MONEY32_UNDEFINED) { - audio_play_sound_at_location( - SOUND_PLACE_ITEM, - gFootpathConstructFromPosition.x, - gFootpathConstructFromPosition.y, - gFootpathConstructFromPosition.z - ); + if (cost != MONEY32_UNDEFINED) { + audio_play_sound_at_location( + SOUND_PLACE_ITEM, + gFootpathConstructFromPosition.x, + gFootpathConstructFromPosition.y, + gFootpathConstructFromPosition.z + ); - if (gFootpathConstructSlope == 0) { - gFootpathConstructValidDirections = 0xFF; - } else { - gFootpathConstructValidDirections = gFootpathConstructDirection; - } + if (gFootpathConstructSlope == 0) { + gFootpathConstructValidDirections = 0xFF; + } else { + gFootpathConstructValidDirections = gFootpathConstructDirection; + } - if (gFootpathGroundFlags & ELEMENT_IS_UNDERGROUND) - viewport_set_visibility(1); + if (gFootpathGroundFlags & ELEMENT_IS_UNDERGROUND) + viewport_set_visibility(1); - // If we have just built an upwards slope, the next path to construct is - // a bit higher. Note that the z returned by footpath_get_next_path_info - // already is lowered if we are building a downwards slope. - if (gFootpathConstructSlope == 2) - z += 2; + // If we have just built an upwards slope, the next path to construct is + // a bit higher. Note that the z returned by footpath_get_next_path_info + // already is lowered if we are building a downwards slope. + if (gFootpathConstructSlope == 2) + z += 2; - gFootpathConstructFromPosition.x = x; - gFootpathConstructFromPosition.y = y; - gFootpathConstructFromPosition.z = z << 3; - } + gFootpathConstructFromPosition.x = x; + gFootpathConstructFromPosition.y = y; + gFootpathConstructFromPosition.z = z << 3; + } - window_footpath_set_enabled_and_pressed_widgets(); + window_footpath_set_enabled_and_pressed_widgets(); } /** @@ -940,49 +940,49 @@ static void window_footpath_construct() */ static void footpath_remove_map_element(rct_map_element *mapElement) { - sint32 x, y, z; + sint32 x, y, z; - z = mapElement->base_height; - sint32 pathType = mapElement->properties.path.type; - if (pathType & 4) { - pathType &= 3; - pathType ^= 2; - if (pathType == gFootpathConstructDirection) - z += 2; - } + z = mapElement->base_height; + sint32 pathType = mapElement->properties.path.type; + if (pathType & 4) { + pathType &= 3; + pathType ^= 2; + if (pathType == gFootpathConstructDirection) + z += 2; + } - // Find a connected edge - sint32 edge = gFootpathConstructDirection ^ 2; - if (!(mapElement->properties.path.edges & (1 << edge))) { - edge = (edge + 1) & 3; - if (!(mapElement->properties.path.edges & (1 << edge))) { - edge = (edge + 2) & 3; - if (!(mapElement->properties.path.edges & (1 << edge))) { - edge = (edge - 1) & 3; - if (!(mapElement->properties.path.edges & (1 << edge))) - edge ^= 2; - } - } - } + // Find a connected edge + sint32 edge = gFootpathConstructDirection ^ 2; + if (!(mapElement->properties.path.edges & (1 << edge))) { + edge = (edge + 1) & 3; + if (!(mapElement->properties.path.edges & (1 << edge))) { + edge = (edge + 2) & 3; + if (!(mapElement->properties.path.edges & (1 << edge))) { + edge = (edge - 1) & 3; + if (!(mapElement->properties.path.edges & (1 << edge))) + edge ^= 2; + } + } + } - // Remove path - gGameCommandErrorTitle = STR_CANT_REMOVE_FOOTPATH_FROM_HERE; - footpath_remove( - gFootpathConstructFromPosition.x, - gFootpathConstructFromPosition.y, - mapElement->base_height, - 1 - ); + // Remove path + gGameCommandErrorTitle = STR_CANT_REMOVE_FOOTPATH_FROM_HERE; + footpath_remove( + gFootpathConstructFromPosition.x, + gFootpathConstructFromPosition.y, + mapElement->base_height, + 1 + ); - // Move selection - edge ^= 2; - x = gFootpathConstructFromPosition.x - TileDirectionDelta[edge].x; - y = gFootpathConstructFromPosition.y - TileDirectionDelta[edge].y; - gFootpathConstructFromPosition.x = x; - gFootpathConstructFromPosition.y = y; - gFootpathConstructFromPosition.z = z << 3; - gFootpathConstructDirection = edge; - gFootpathConstructValidDirections = 255; + // Move selection + edge ^= 2; + x = gFootpathConstructFromPosition.x - TileDirectionDelta[edge].x; + y = gFootpathConstructFromPosition.y - TileDirectionDelta[edge].y; + gFootpathConstructFromPosition.x = x; + gFootpathConstructFromPosition.y = y; + gFootpathConstructFromPosition.z = z << 3; + gFootpathConstructDirection = edge; + gFootpathConstructValidDirections = 255; } /** @@ -991,37 +991,37 @@ static void footpath_remove_map_element(rct_map_element *mapElement) */ static rct_map_element *footpath_get_map_element_to_remove() { - rct_map_element *mapElement; - sint32 x, y, z, zLow; + rct_map_element *mapElement; + sint32 x, y, z, zLow; - x = gFootpathConstructFromPosition.x / 32; - y = gFootpathConstructFromPosition.y / 32; - if (x >= 256 || y >= 256) - return NULL; + x = gFootpathConstructFromPosition.x / 32; + y = gFootpathConstructFromPosition.y / 32; + if (x >= 256 || y >= 256) + return NULL; - z = (gFootpathConstructFromPosition.z >> 3) & 0xFF; - zLow = z - 2; + z = (gFootpathConstructFromPosition.z >> 3) & 0xFF; + zLow = z - 2; - mapElement = map_get_first_element_at(x, y); - do { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { - if (mapElement->base_height == z) { - if (mapElement->properties.path.type & 4) - if (((mapElement->properties.path.type & 3) ^ 2) != gFootpathConstructDirection) - continue; + mapElement = map_get_first_element_at(x, y); + do { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { + if (mapElement->base_height == z) { + if (mapElement->properties.path.type & 4) + if (((mapElement->properties.path.type & 3) ^ 2) != gFootpathConstructDirection) + continue; - return mapElement; - } else if (mapElement->base_height == zLow) { - if (!(mapElement->properties.path.type & 4)) - if ((mapElement->properties.path.type & 3) == gFootpathConstructDirection) - continue; + return mapElement; + } else if (mapElement->base_height == zLow) { + if (!(mapElement->properties.path.type & 4)) + if ((mapElement->properties.path.type & 3) == gFootpathConstructDirection) + continue; - return mapElement; - } - } - } while (!map_element_is_last_for_tile(mapElement++)); + return mapElement; + } + } + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } /** @@ -1030,16 +1030,16 @@ static rct_map_element *footpath_get_map_element_to_remove() */ static void window_footpath_remove() { - rct_map_element *mapElement; + rct_map_element *mapElement; - _window_footpath_cost = MONEY32_UNDEFINED; - footpath_provisional_update(); + _window_footpath_cost = MONEY32_UNDEFINED; + footpath_provisional_update(); - mapElement = footpath_get_map_element_to_remove(); - if (mapElement != NULL) - footpath_remove_map_element(mapElement); + mapElement = footpath_get_map_element_to_remove(); + if (mapElement != NULL) + footpath_remove_map_element(mapElement); - window_footpath_set_enabled_and_pressed_widgets(); + window_footpath_set_enabled_and_pressed_widgets(); } /** @@ -1048,78 +1048,78 @@ static void window_footpath_remove() */ static void window_footpath_set_enabled_and_pressed_widgets() { - rct_window *w = window_find_by_class(WC_FOOTPATH); - if (w == NULL) - return; + rct_window *w = window_find_by_class(WC_FOOTPATH); + if (w == NULL) + return; - if (gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL) { - map_invalidate_map_selection_tiles(); - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gMapSelectFlags |= MAP_SELECT_FLAG_GREEN; + if (gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL) { + map_invalidate_map_selection_tiles(); + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags |= MAP_SELECT_FLAG_GREEN; - sint32 direction = gFootpathConstructDirection; - gMapSelectionTiles[0].x = gFootpathConstructFromPosition.x + TileDirectionDelta[direction].x; - gMapSelectionTiles[0].y = gFootpathConstructFromPosition.y + TileDirectionDelta[direction].y; - gMapSelectionTiles[1].x = -1; - map_invalidate_map_selection_tiles(); - } + sint32 direction = gFootpathConstructDirection; + gMapSelectionTiles[0].x = gFootpathConstructFromPosition.x + TileDirectionDelta[direction].x; + gMapSelectionTiles[0].y = gFootpathConstructFromPosition.y + TileDirectionDelta[direction].y; + gMapSelectionTiles[1].x = -1; + map_invalidate_map_selection_tiles(); + } - uint64 pressedWidgets = w->pressed_widgets & ~( - (1LL << WIDX_DIRECTION_NW) | - (1LL << WIDX_DIRECTION_NE) | - (1LL << WIDX_DIRECTION_SW) | - (1LL << WIDX_DIRECTION_SE) | - (1LL << WIDX_SLOPEDOWN) | - (1LL << WIDX_LEVEL) | - (1LL << WIDX_SLOPEUP) - ); - uint64 disabledWidgets = 0; - sint32 currentRotation = get_current_rotation(); - if (gFootpathConstructionMode >= PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL) { - // Set pressed directional widget - sint32 direction = (gFootpathConstructDirection + currentRotation) & 3; - pressedWidgets |= (1LL << (WIDX_DIRECTION_NW + direction)); + uint64 pressedWidgets = w->pressed_widgets & ~( + (1LL << WIDX_DIRECTION_NW) | + (1LL << WIDX_DIRECTION_NE) | + (1LL << WIDX_DIRECTION_SW) | + (1LL << WIDX_DIRECTION_SE) | + (1LL << WIDX_SLOPEDOWN) | + (1LL << WIDX_LEVEL) | + (1LL << WIDX_SLOPEUP) + ); + uint64 disabledWidgets = 0; + sint32 currentRotation = get_current_rotation(); + if (gFootpathConstructionMode >= PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL) { + // Set pressed directional widget + sint32 direction = (gFootpathConstructDirection + currentRotation) & 3; + pressedWidgets |= (1LL << (WIDX_DIRECTION_NW + direction)); - // Set pressed slope widget - sint32 slope = gFootpathConstructSlope; - if (slope == 6) - pressedWidgets |= (1 << WIDX_SLOPEDOWN); - else if (slope == 0) - pressedWidgets |= (1 << WIDX_LEVEL); - else - pressedWidgets |= (1 << WIDX_SLOPEUP); + // Set pressed slope widget + sint32 slope = gFootpathConstructSlope; + if (slope == 6) + pressedWidgets |= (1 << WIDX_SLOPEDOWN); + else if (slope == 0) + pressedWidgets |= (1 << WIDX_LEVEL); + else + pressedWidgets |= (1 << WIDX_SLOPEUP); - // Enable / disable directional widgets - direction = gFootpathConstructValidDirections; - if (direction != 255) { - disabledWidgets |= - (1 << WIDX_DIRECTION_NW) | - (1 << WIDX_DIRECTION_NE) | - (1 << WIDX_DIRECTION_SW) | - (1 << WIDX_DIRECTION_SE); + // Enable / disable directional widgets + direction = gFootpathConstructValidDirections; + if (direction != 255) { + disabledWidgets |= + (1 << WIDX_DIRECTION_NW) | + (1 << WIDX_DIRECTION_NE) | + (1 << WIDX_DIRECTION_SW) | + (1 << WIDX_DIRECTION_SE); - direction = (direction + currentRotation) & 3; - disabledWidgets &= ~(1 << (WIDX_DIRECTION_NW + direction)); - } - } else { - // Disable all bridge mode widgets - disabledWidgets |= - (1 << WIDX_DIRECTION_GROUP) | - (1 << WIDX_DIRECTION_NW) | - (1 << WIDX_DIRECTION_NE) | - (1 << WIDX_DIRECTION_SW) | - (1 << WIDX_DIRECTION_SE) | - (1 << WIDX_SLOPE_GROUP) | - (1 << WIDX_SLOPEDOWN) | - (1 << WIDX_LEVEL) | - (1 << WIDX_SLOPEUP) | - (1 << WIDX_CONSTRUCT) | - (1 << WIDX_REMOVE); - } + direction = (direction + currentRotation) & 3; + disabledWidgets &= ~(1 << (WIDX_DIRECTION_NW + direction)); + } + } else { + // Disable all bridge mode widgets + disabledWidgets |= + (1 << WIDX_DIRECTION_GROUP) | + (1 << WIDX_DIRECTION_NW) | + (1 << WIDX_DIRECTION_NE) | + (1 << WIDX_DIRECTION_SW) | + (1 << WIDX_DIRECTION_SE) | + (1 << WIDX_SLOPE_GROUP) | + (1 << WIDX_SLOPEDOWN) | + (1 << WIDX_LEVEL) | + (1 << WIDX_SLOPEUP) | + (1 << WIDX_CONSTRUCT) | + (1 << WIDX_REMOVE); + } - w->pressed_widgets = pressedWidgets; - w->disabled_widgets = disabledWidgets; - window_invalidate(w); + w->pressed_widgets = pressedWidgets; + w->disabled_widgets = disabledWidgets; + window_invalidate(w); } /** @@ -1128,36 +1128,36 @@ static void window_footpath_set_enabled_and_pressed_widgets() */ static void footpath_get_next_path_info(sint32 *type, sint32 *x, sint32 *y, sint32 *z, sint32 *slope) { - sint32 direction; + sint32 direction; - direction = gFootpathConstructDirection; - *x = gFootpathConstructFromPosition.x + TileDirectionDelta[direction].x; - *y = gFootpathConstructFromPosition.y + TileDirectionDelta[direction].y; - *z = gFootpathConstructFromPosition.z / 8; - *type = (gFootpathSelectedType << 7) + (gFootpathSelectedId & 0xFF); - *slope = 0; - if (gFootpathConstructSlope != 0) { - *slope = gFootpathConstructDirection | 4; - if (gFootpathConstructSlope != 2) { - *z -= 2; - *slope ^= 2; - } - } + direction = gFootpathConstructDirection; + *x = gFootpathConstructFromPosition.x + TileDirectionDelta[direction].x; + *y = gFootpathConstructFromPosition.y + TileDirectionDelta[direction].y; + *z = gFootpathConstructFromPosition.z / 8; + *type = (gFootpathSelectedType << 7) + (gFootpathSelectedId & 0xFF); + *slope = 0; + if (gFootpathConstructSlope != 0) { + *slope = gFootpathConstructDirection | 4; + if (gFootpathConstructSlope != 2) { + *z -= 2; + *slope ^= 2; + } + } } static void footpath_select_default() { - // Select first available footpath - gFootpathSelectedId = 0; - for (sint32 i = 0; i < object_entry_group_counts[OBJECT_TYPE_PATHS]; i++) { - rct_footpath_entry *pathEntry = get_footpath_entry(i); - if (pathEntry != (rct_footpath_entry*)-1) { - gFootpathSelectedId = i; + // Select first available footpath + gFootpathSelectedId = 0; + for (sint32 i = 0; i < object_entry_group_counts[OBJECT_TYPE_PATHS]; i++) { + rct_footpath_entry *pathEntry = get_footpath_entry(i); + if (pathEntry != (rct_footpath_entry*)-1) { + gFootpathSelectedId = i; - // Prioritise non-restricted path - if (!(pathEntry->flags & FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR)) { - break; - } - } - } + // Prioritise non-restricted path + if (!(pathEntry->flags & FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR)) { + break; + } + } + } } diff --git a/src/openrct2/windows/game_bottom_toolbar.c b/src/openrct2/windows/game_bottom_toolbar.c index 96fdc80c39..47b89822b0 100644 --- a/src/openrct2/windows/game_bottom_toolbar.c +++ b/src/openrct2/windows/game_bottom_toolbar.c @@ -33,20 +33,20 @@ #include "../world/sprite.h" enum WINDOW_GAME_BOTTOM_TOOLBAR_WIDGET_IDX { - WIDX_LEFT_OUTSET, - WIDX_LEFT_INSET, - WIDX_MONEY, - WIDX_GUESTS, - WIDX_PARK_RATING, + WIDX_LEFT_OUTSET, + WIDX_LEFT_INSET, + WIDX_MONEY, + WIDX_GUESTS, + WIDX_PARK_RATING, - WIDX_MIDDLE_OUTSET, - WIDX_MIDDLE_INSET, - WIDX_NEWS_SUBJECT, - WIDX_NEWS_LOCATE, + WIDX_MIDDLE_OUTSET, + WIDX_MIDDLE_INSET, + WIDX_NEWS_SUBJECT, + WIDX_NEWS_LOCATE, - WIDX_RIGHT_OUTSET, - WIDX_RIGHT_INSET, - WIDX_DATE + WIDX_RIGHT_OUTSET, + WIDX_RIGHT_INSET, + WIDX_DATE }; @@ -55,21 +55,21 @@ enum WINDOW_GAME_BOTTOM_TOOLBAR_WIDGET_IDX { #define WIDTH_MOD 22 rct_widget window_game_bottom_toolbar_widgets[] = { - { WWT_IMGBTN, 0, 0x0000, 0x0077+WIDTH_MOD, 0, 33, 0xFFFFFFFF, STR_NONE }, // Left outset panel - { WWT_IMGBTN, 0, 0x0002, 0x0075+WIDTH_MOD, 2, 31, 0xFFFFFFFF, STR_NONE }, // Left inset panel - { WWT_FLATBTN, 0, 0x0002, 0x0075+WIDTH_MOD, 1, 12, 0xFFFFFFFF, STR_PROFIT_PER_WEEK_AND_PARK_VALUE_TIP }, // Money window - { WWT_FLATBTN, 0, 0x0002, 0x0075+WIDTH_MOD, 11, 22, 0xFFFFFFFF, STR_NONE }, // Guests window - { WWT_FLATBTN, 0, 0x0002, 0x0075+WIDTH_MOD, 21, 31, 0xFFFFFFFF, STR_PARK_RATING_TIP }, // Park rating window + { WWT_IMGBTN, 0, 0x0000, 0x0077+WIDTH_MOD, 0, 33, 0xFFFFFFFF, STR_NONE }, // Left outset panel + { WWT_IMGBTN, 0, 0x0002, 0x0075+WIDTH_MOD, 2, 31, 0xFFFFFFFF, STR_NONE }, // Left inset panel + { WWT_FLATBTN, 0, 0x0002, 0x0075+WIDTH_MOD, 1, 12, 0xFFFFFFFF, STR_PROFIT_PER_WEEK_AND_PARK_VALUE_TIP }, // Money window + { WWT_FLATBTN, 0, 0x0002, 0x0075+WIDTH_MOD, 11, 22, 0xFFFFFFFF, STR_NONE }, // Guests window + { WWT_FLATBTN, 0, 0x0002, 0x0075+WIDTH_MOD, 21, 31, 0xFFFFFFFF, STR_PARK_RATING_TIP }, // Park rating window - { WWT_IMGBTN, 2, 0x0078+WIDTH_MOD, 0x0207-WIDTH_MOD, 0, 33, 0xFFFFFFFF, STR_NONE }, // Middle outset panel - { WWT_25, 2, 0x007A+WIDTH_MOD, 0x0205-WIDTH_MOD, 2, 31, 0xFFFFFFFF, STR_NONE }, // Middle inset panel - { WWT_FLATBTN, 2, 0x007D+WIDTH_MOD, 0x0094+WIDTH_MOD, 5, 28, 0xFFFFFFFF, STR_SHOW_SUBJECT_TIP }, // Associated news item window - { WWT_FLATBTN, 2, 0x01EB-WIDTH_MOD, 0x0202-WIDTH_MOD, 5, 28, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP }, // Scroll to news item target + { WWT_IMGBTN, 2, 0x0078+WIDTH_MOD, 0x0207-WIDTH_MOD, 0, 33, 0xFFFFFFFF, STR_NONE }, // Middle outset panel + { WWT_25, 2, 0x007A+WIDTH_MOD, 0x0205-WIDTH_MOD, 2, 31, 0xFFFFFFFF, STR_NONE }, // Middle inset panel + { WWT_FLATBTN, 2, 0x007D+WIDTH_MOD, 0x0094+WIDTH_MOD, 5, 28, 0xFFFFFFFF, STR_SHOW_SUBJECT_TIP }, // Associated news item window + { WWT_FLATBTN, 2, 0x01EB-WIDTH_MOD, 0x0202-WIDTH_MOD, 5, 28, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP }, // Scroll to news item target - { WWT_IMGBTN, 0, 0x0208-WIDTH_MOD, 0x027F, 0, 33, 0xFFFFFFFF, STR_NONE }, // Right outset panel - { WWT_IMGBTN, 0, 0x020A-WIDTH_MOD, 0x027D, 2, 31, 0xFFFFFFFF, STR_NONE }, // Right inset panel - { WWT_FLATBTN, 0, 0x020A-WIDTH_MOD, 0x027D, 2, 13, 0xFFFFFFFF, STR_NONE }, // Date - { WIDGETS_END }, + { WWT_IMGBTN, 0, 0x0208-WIDTH_MOD, 0x027F, 0, 33, 0xFFFFFFFF, STR_NONE }, // Right outset panel + { WWT_IMGBTN, 0, 0x020A-WIDTH_MOD, 0x027D, 2, 31, 0xFFFFFFFF, STR_NONE }, // Right inset panel + { WWT_FLATBTN, 0, 0x020A-WIDTH_MOD, 0x027D, 2, 13, 0xFFFFFFFF, STR_NONE }, // Date + { WIDGETS_END }, }; static void window_game_bottom_toolbar_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -90,34 +90,34 @@ static void window_game_bottom_toolbar_draw_news_item(rct_drawpixelinfo *dpi, rc * rct2: 0x0097BFDC */ static rct_window_event_list window_game_bottom_toolbar_events = { - NULL, - window_game_bottom_toolbar_mouseup, - NULL, - NULL, - NULL, - window_game_bottom_toolbar_unknown05, - window_game_bottom_toolbar_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_game_bottom_toolbar_tooltip, - window_game_bottom_toolbar_cursor, - NULL, - window_game_bottom_toolbar_invalidate, - window_game_bottom_toolbar_paint, - NULL + NULL, + window_game_bottom_toolbar_mouseup, + NULL, + NULL, + NULL, + window_game_bottom_toolbar_unknown05, + window_game_bottom_toolbar_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_game_bottom_toolbar_tooltip, + window_game_bottom_toolbar_cursor, + NULL, + window_game_bottom_toolbar_invalidate, + window_game_bottom_toolbar_paint, + NULL }; static void window_game_bottom_toolbar_invalidate_dirty_widgets(rct_window *w); @@ -128,34 +128,34 @@ static void window_game_bottom_toolbar_invalidate_dirty_widgets(rct_window *w); */ void window_game_bottom_toolbar_open() { - sint32 screenWidth = context_get_width(); - sint32 screenHeight = context_get_height(); - rct_window * window = window_create( - 0, screenHeight - 32, - screenWidth, 32, - &window_game_bottom_toolbar_events, - WC_BOTTOM_TOOLBAR, - WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_NO_BACKGROUND - ); - window->widgets = window_game_bottom_toolbar_widgets; - window->enabled_widgets |= - (1 << WIDX_LEFT_OUTSET) | - (1 << WIDX_MONEY) | - (1 << WIDX_GUESTS) | - (1 << WIDX_PARK_RATING) | - (1 << WIDX_MIDDLE_OUTSET) | - (1 << WIDX_MIDDLE_INSET) | - (1 << WIDX_NEWS_SUBJECT) | - (1 << WIDX_NEWS_LOCATE) | - (1 << WIDX_RIGHT_OUTSET) | - (1 << WIDX_DATE); + sint32 screenWidth = context_get_width(); + sint32 screenHeight = context_get_height(); + rct_window * window = window_create( + 0, screenHeight - 32, + screenWidth, 32, + &window_game_bottom_toolbar_events, + WC_BOTTOM_TOOLBAR, + WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_NO_BACKGROUND + ); + window->widgets = window_game_bottom_toolbar_widgets; + window->enabled_widgets |= + (1 << WIDX_LEFT_OUTSET) | + (1 << WIDX_MONEY) | + (1 << WIDX_GUESTS) | + (1 << WIDX_PARK_RATING) | + (1 << WIDX_MIDDLE_OUTSET) | + (1 << WIDX_MIDDLE_INSET) | + (1 << WIDX_NEWS_SUBJECT) | + (1 << WIDX_NEWS_LOCATE) | + (1 << WIDX_RIGHT_OUTSET) | + (1 << WIDX_DATE); - window->frame_no = 0; - window_init_scroll_widgets(window); + window->frame_no = 0; + window_init_scroll_widgets(window); - // Reset the middle widget to not show by default. - // If it is required to be shown news_update will reshow it. - window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WWT_EMPTY; + // Reset the middle widget to not show by default. + // If it is required to be shown news_update will reshow it. + window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WWT_EMPTY; } /** @@ -164,73 +164,73 @@ void window_game_bottom_toolbar_open() */ static void window_game_bottom_toolbar_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - NewsItem *newsItem; + NewsItem *newsItem; - switch (widgetIndex) { - case WIDX_LEFT_OUTSET: - case WIDX_MONEY: - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) - window_finances_open(); - break; - case WIDX_GUESTS: - window_park_guests_open(); - break; - case WIDX_PARK_RATING: - window_park_rating_open(); - break; - case WIDX_MIDDLE_INSET: - news_item_close_current(); - break; - case WIDX_NEWS_SUBJECT: - newsItem = news_item_get(0); - news_item_open_subject(newsItem->Type, newsItem->Assoc); - break; - case WIDX_NEWS_LOCATE: - if (news_item_is_queue_empty()) - break; + switch (widgetIndex) { + case WIDX_LEFT_OUTSET: + case WIDX_MONEY: + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) + window_finances_open(); + break; + case WIDX_GUESTS: + window_park_guests_open(); + break; + case WIDX_PARK_RATING: + window_park_rating_open(); + break; + case WIDX_MIDDLE_INSET: + news_item_close_current(); + break; + case WIDX_NEWS_SUBJECT: + newsItem = news_item_get(0); + news_item_open_subject(newsItem->Type, newsItem->Assoc); + break; + case WIDX_NEWS_LOCATE: + if (news_item_is_queue_empty()) + break; - { - newsItem = news_item_get(0); - sint32 x, y, z; - sint32 subject = newsItem->Assoc; + { + newsItem = news_item_get(0); + sint32 x, y, z; + sint32 subject = newsItem->Assoc; - news_item_get_subject_location(newsItem->Type, subject, &x, &y, &z); + news_item_get_subject_location(newsItem->Type, subject, &x, &y, &z); - if (x == SPRITE_LOCATION_NULL) - break; + if (x == SPRITE_LOCATION_NULL) + break; - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) - window_scroll_to_location(mainWindow, x, y, z); - } - break; - case WIDX_RIGHT_OUTSET: - case WIDX_DATE: - window_news_open(); - break; - } + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) + window_scroll_to_location(mainWindow, x, y, z); + } + break; + case WIDX_RIGHT_OUTSET: + case WIDX_DATE: + window_news_open(); + break; + } } static void window_game_bottom_toolbar_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - sint32 month, day; + sint32 month, day; - switch (widgetIndex) { - case WIDX_MONEY: - set_format_arg(0, sint32, gCurrentProfit); - set_format_arg(4, sint32, gParkValue); - break; - case WIDX_PARK_RATING: - set_format_arg(0, sint16, gParkRating); - break; - case WIDX_DATE: - month = gDateMonthsElapsed % 8; - day = ((gDateMonthTicks * days_in_month[month]) >> 16) & 0xFF; + switch (widgetIndex) { + case WIDX_MONEY: + set_format_arg(0, sint32, gCurrentProfit); + set_format_arg(4, sint32, gParkValue); + break; + case WIDX_PARK_RATING: + set_format_arg(0, sint16, gParkRating); + break; + case WIDX_DATE: + month = gDateMonthsElapsed % 8; + day = ((gDateMonthTicks * days_in_month[month]) >> 16) & 0xFF; - set_format_arg(0, rct_string_id, DateDayNames[day]); - set_format_arg(2, rct_string_id, DateGameMonthNames[month]); - break; - } + set_format_arg(0, rct_string_id, DateDayNames[day]); + set_format_arg(2, rct_string_id, DateGameMonthNames[month]); + break; + } } /** @@ -239,79 +239,79 @@ static void window_game_bottom_toolbar_tooltip(rct_window* w, rct_widgetindex wi */ static void window_game_bottom_toolbar_invalidate(rct_window *w) { - sint32 x; - NewsItem *newsItem; + sint32 x; + NewsItem *newsItem; - // Anchor the middle and right panel to the right - x = context_get_width(); - w->width = x; - x--; - window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right = x; - x -= 2; - window_game_bottom_toolbar_widgets[WIDX_RIGHT_INSET].right = x; - x -= (115 + WIDTH_MOD); - window_game_bottom_toolbar_widgets[WIDX_RIGHT_INSET].left = x; - x -= 2; - window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left = x; - x--; - window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].right = x; - x -= 2; - window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].right = x; - x -= 3; - window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].right = x; - x -= 23; - window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].left = x; - window_game_bottom_toolbar_widgets[WIDX_DATE].left = window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left + 2; - window_game_bottom_toolbar_widgets[WIDX_DATE].right = window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right - 2; + // Anchor the middle and right panel to the right + x = context_get_width(); + w->width = x; + x--; + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right = x; + x -= 2; + window_game_bottom_toolbar_widgets[WIDX_RIGHT_INSET].right = x; + x -= (115 + WIDTH_MOD); + window_game_bottom_toolbar_widgets[WIDX_RIGHT_INSET].left = x; + x -= 2; + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left = x; + x--; + window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].right = x; + x -= 2; + window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].right = x; + x -= 3; + window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].right = x; + x -= 23; + window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].left = x; + window_game_bottom_toolbar_widgets[WIDX_DATE].left = window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left + 2; + window_game_bottom_toolbar_widgets[WIDX_DATE].right = window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right - 2; - window_game_bottom_toolbar_widgets[WIDX_LEFT_INSET].type = WWT_EMPTY; - window_game_bottom_toolbar_widgets[WIDX_RIGHT_INSET].type = WWT_EMPTY; + window_game_bottom_toolbar_widgets[WIDX_LEFT_INSET].type = WWT_EMPTY; + window_game_bottom_toolbar_widgets[WIDX_RIGHT_INSET].type = WWT_EMPTY; - if (news_item_is_queue_empty()) { - window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WWT_EMPTY; - window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].type = WWT_EMPTY; - window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WWT_EMPTY; - window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].type = WWT_EMPTY; - } else { - newsItem = news_item_get(0); - window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WWT_IMGBTN; - window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].type = WWT_25; - window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WWT_FLATBTN; - window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].type = WWT_FLATBTN; - w->disabled_widgets &= ~(1 << WIDX_NEWS_SUBJECT); - w->disabled_widgets &= ~(1 << WIDX_NEWS_LOCATE); + if (news_item_is_queue_empty()) { + window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WWT_EMPTY; + window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].type = WWT_EMPTY; + window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WWT_EMPTY; + window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].type = WWT_EMPTY; + } else { + newsItem = news_item_get(0); + window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WWT_IMGBTN; + window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].type = WWT_25; + window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WWT_FLATBTN; + window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].type = WWT_FLATBTN; + w->disabled_widgets &= ~(1 << WIDX_NEWS_SUBJECT); + w->disabled_widgets &= ~(1 << WIDX_NEWS_LOCATE); - // Find out if the news item is no longer valid - sint32 y, z; - sint32 subject = newsItem->Assoc; - news_item_get_subject_location(newsItem->Type, subject, &x, &y, &z); + // Find out if the news item is no longer valid + sint32 y, z; + sint32 subject = newsItem->Assoc; + news_item_get_subject_location(newsItem->Type, subject, &x, &y, &z); - if (x == SPRITE_LOCATION_NULL) - w->disabled_widgets |= (1 << WIDX_NEWS_LOCATE); + if (x == SPRITE_LOCATION_NULL) + w->disabled_widgets |= (1 << WIDX_NEWS_LOCATE); - if (!(news_type_properties[newsItem->Type] & NEWS_TYPE_HAS_SUBJECT)) { - w->disabled_widgets |= (1 << WIDX_NEWS_SUBJECT); - window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WWT_EMPTY; - } + if (!(news_type_properties[newsItem->Type] & NEWS_TYPE_HAS_SUBJECT)) { + w->disabled_widgets |= (1 << WIDX_NEWS_SUBJECT); + window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WWT_EMPTY; + } - if (newsItem->Flags & NEWS_FLAG_HAS_BUTTON) { - w->disabled_widgets |= (1 << WIDX_NEWS_SUBJECT); - w->disabled_widgets |= (1 << WIDX_NEWS_LOCATE); - } - } + if (newsItem->Flags & NEWS_FLAG_HAS_BUTTON) { + w->disabled_widgets |= (1 << WIDX_NEWS_SUBJECT); + w->disabled_widgets |= (1 << WIDX_NEWS_LOCATE); + } + } - // Hide money if there is no money - if (gParkFlags & PARK_FLAGS_NO_MONEY) { - window_game_bottom_toolbar_widgets[WIDX_MONEY].type = WWT_EMPTY; - window_game_bottom_toolbar_widgets[WIDX_GUESTS].top = 1; - window_game_bottom_toolbar_widgets[WIDX_GUESTS].bottom = 17; - window_game_bottom_toolbar_widgets[WIDX_PARK_RATING].top = 17; - } else { - window_game_bottom_toolbar_widgets[WIDX_MONEY].type = WWT_FLATBTN; - window_game_bottom_toolbar_widgets[WIDX_GUESTS].top = 11; - window_game_bottom_toolbar_widgets[WIDX_GUESTS].bottom = 22; - window_game_bottom_toolbar_widgets[WIDX_PARK_RATING].top = 21; - } + // Hide money if there is no money + if (gParkFlags & PARK_FLAGS_NO_MONEY) { + window_game_bottom_toolbar_widgets[WIDX_MONEY].type = WWT_EMPTY; + window_game_bottom_toolbar_widgets[WIDX_GUESTS].top = 1; + window_game_bottom_toolbar_widgets[WIDX_GUESTS].bottom = 17; + window_game_bottom_toolbar_widgets[WIDX_PARK_RATING].top = 17; + } else { + window_game_bottom_toolbar_widgets[WIDX_MONEY].type = WWT_FLATBTN; + window_game_bottom_toolbar_widgets[WIDX_GUESTS].top = 11; + window_game_bottom_toolbar_widgets[WIDX_GUESTS].bottom = 22; + window_game_bottom_toolbar_widgets[WIDX_PARK_RATING].top = 21; + } } /** @@ -320,9 +320,9 @@ static void window_game_bottom_toolbar_invalidate(rct_window *w) */ void window_game_bottom_toolbar_invalidate_news_item() { - if (gScreenFlags == SCREEN_FLAGS_PLAYING) { - widget_invalidate_by_class(WC_BOTTOM_TOOLBAR, WIDX_MIDDLE_OUTSET); - } + if (gScreenFlags == SCREEN_FLAGS_PLAYING) { + widget_invalidate_by_class(WC_BOTTOM_TOOLBAR, WIDX_MIDDLE_OUTSET); + } } /** @@ -331,89 +331,89 @@ void window_game_bottom_toolbar_invalidate_news_item() */ static void window_game_bottom_toolbar_paint(rct_window *w, rct_drawpixelinfo *dpi) { - // Draw panel grey backgrounds - gfx_filter_rect( - dpi, - w->x + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].left, - w->y + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].top, - w->x + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].right, - w->y + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].bottom, - PALETTE_51 - ); - gfx_filter_rect( - dpi, - w->x + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left, - w->y + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].top, - w->x + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right, - w->y + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].bottom, - PALETTE_51 - ); + // Draw panel grey backgrounds + gfx_filter_rect( + dpi, + w->x + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].left, + w->y + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].top, + w->x + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].right, + w->y + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].bottom, + PALETTE_51 + ); + gfx_filter_rect( + dpi, + w->x + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left, + w->y + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].top, + w->x + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right, + w->y + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].bottom, + PALETTE_51 + ); - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - window_game_bottom_toolbar_draw_left_panel(dpi, w); - window_game_bottom_toolbar_draw_right_panel(dpi, w); + window_game_bottom_toolbar_draw_left_panel(dpi, w); + window_game_bottom_toolbar_draw_right_panel(dpi, w); - if (!news_item_is_queue_empty()) - window_game_bottom_toolbar_draw_news_item(dpi, w); + if (!news_item_is_queue_empty()) + window_game_bottom_toolbar_draw_news_item(dpi, w); } static void window_game_bottom_toolbar_draw_left_panel(rct_drawpixelinfo *dpi, rct_window *w) { - sint32 x, y; + sint32 x, y; - // Draw green inset rectangle on panel - gfx_fill_rect_inset( - dpi, - w->x + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].left + 1, - w->y + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].top + 1, - w->x + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].right - 1, - w->y + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].bottom - 1, - w->colours[1], - INSET_RECT_F_30 - ); + // Draw green inset rectangle on panel + gfx_fill_rect_inset( + dpi, + w->x + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].left + 1, + w->y + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].top + 1, + w->x + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].right - 1, + w->y + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].bottom - 1, + w->colours[1], + INSET_RECT_F_30 + ); - x = (window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].left + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].right) / 2 + w->x; - y = window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].top + w->y + 4; + x = (window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].left + window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].right) / 2 + w->x; + y = window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].top + w->y + 4; - // Draw money - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { - money32 cash = DECRYPT_MONEY(gCashEncrypted); - set_format_arg(0, money32, cash); - gfx_draw_string_centred( - dpi, - (cash < 0 ? STR_BOTTOM_TOOLBAR_CASH_NEGATIVE : STR_BOTTOM_TOOLBAR_CASH), - x, y - 3, - (gHoverWidget.window_classification == WC_BOTTOM_TOOLBAR && gHoverWidget.widget_index == WIDX_MONEY ? COLOUR_WHITE : w->colours[0] & 0x7F), - gCommonFormatArgs - ); - y += 7; - } + // Draw money + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { + money32 cash = DECRYPT_MONEY(gCashEncrypted); + set_format_arg(0, money32, cash); + gfx_draw_string_centred( + dpi, + (cash < 0 ? STR_BOTTOM_TOOLBAR_CASH_NEGATIVE : STR_BOTTOM_TOOLBAR_CASH), + x, y - 3, + (gHoverWidget.window_classification == WC_BOTTOM_TOOLBAR && gHoverWidget.widget_index == WIDX_MONEY ? COLOUR_WHITE : w->colours[0] & 0x7F), + gCommonFormatArgs + ); + y += 7; + } - static const rct_string_id guestCountFormats[] = { - STR_BOTTOM_TOOLBAR_NUM_GUESTS_STABLE, - STR_BOTTOM_TOOLBAR_NUM_GUESTS_DECREASE, - STR_BOTTOM_TOOLBAR_NUM_GUESTS_INCREASE, - }; + static const rct_string_id guestCountFormats[] = { + STR_BOTTOM_TOOLBAR_NUM_GUESTS_STABLE, + STR_BOTTOM_TOOLBAR_NUM_GUESTS_DECREASE, + STR_BOTTOM_TOOLBAR_NUM_GUESTS_INCREASE, + }; - // Draw guests - gfx_draw_string_centred( - dpi, - guestCountFormats[gGuestChangeModifier], - x, y, - (gHoverWidget.window_classification == WC_BOTTOM_TOOLBAR && gHoverWidget.widget_index == WIDX_GUESTS ? COLOUR_WHITE : NOT_TRANSLUCENT(w->colours[0])), - &gNumGuestsInPark - ); + // Draw guests + gfx_draw_string_centred( + dpi, + guestCountFormats[gGuestChangeModifier], + x, y, + (gHoverWidget.window_classification == WC_BOTTOM_TOOLBAR && gHoverWidget.widget_index == WIDX_GUESTS ? COLOUR_WHITE : NOT_TRANSLUCENT(w->colours[0])), + &gNumGuestsInPark + ); - // Draw park rating - window_game_bottom_toolbar_draw_park_rating( - dpi, - w, - w->colours[3], - w->x + window_game_bottom_toolbar_widgets[WIDX_PARK_RATING].left + 11, - w->y + window_game_bottom_toolbar_widgets[WIDX_PARK_RATING].top, - max(10, ((gParkRating / 4) * 263) / 256) - ); + // Draw park rating + window_game_bottom_toolbar_draw_park_rating( + dpi, + w, + w->colours[3], + w->x + window_game_bottom_toolbar_widgets[WIDX_PARK_RATING].left + 11, + w->y + window_game_bottom_toolbar_widgets[WIDX_PARK_RATING].top, + max(10, ((gParkRating / 4) * 263) / 256) + ); } /** @@ -422,81 +422,81 @@ static void window_game_bottom_toolbar_draw_left_panel(rct_drawpixelinfo *dpi, r */ static void window_game_bottom_toolbar_draw_park_rating(rct_drawpixelinfo *dpi, rct_window *w, sint32 colour, sint32 x, sint32 y, uint8 factor) { - sint16 bar_width; + sint16 bar_width; - bar_width = (factor * (92 + WIDTH_MOD)) / 255; - gfx_fill_rect_inset(dpi, x + 1, y + 1, x + (92 + WIDTH_MOD), y + 9, w->colours[1], INSET_RECT_F_30); - if (!(colour & 0x80000000) || game_is_paused() || (gCurrentTicks & 8)) { - if (bar_width > 2) - gfx_fill_rect_inset(dpi, x + 2, y + 2, x + bar_width - 1, y + 8, colour & 0x7FFFFFFF, 0); - } + bar_width = (factor * (92 + WIDTH_MOD)) / 255; + gfx_fill_rect_inset(dpi, x + 1, y + 1, x + (92 + WIDTH_MOD), y + 9, w->colours[1], INSET_RECT_F_30); + if (!(colour & 0x80000000) || game_is_paused() || (gCurrentTicks & 8)) { + if (bar_width > 2) + gfx_fill_rect_inset(dpi, x + 2, y + 2, x + bar_width - 1, y + 8, colour & 0x7FFFFFFF, 0); + } - // Draw thumbs on the sides - gfx_draw_sprite(dpi, SPR_RATING_LOW, x - 14, y, 0); - gfx_draw_sprite(dpi, SPR_RATING_HIGH, x + (92 + WIDTH_MOD), y, 0); + // Draw thumbs on the sides + gfx_draw_sprite(dpi, SPR_RATING_LOW, x - 14, y, 0); + gfx_draw_sprite(dpi, SPR_RATING_HIGH, x + (92 + WIDTH_MOD), y, 0); } static void window_game_bottom_toolbar_draw_right_panel(rct_drawpixelinfo *dpi, rct_window *w) { - sint32 x, y, temperature; - rct_string_id format; + sint32 x, y, temperature; + rct_string_id format; - // Draw green inset rectangle on panel - gfx_fill_rect_inset( - dpi, - w->x + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left + 1, - w->y + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].top + 1, - w->x + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right - 1, - w->y + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].bottom - 1, - w->colours[1], - INSET_RECT_F_30 - ); + // Draw green inset rectangle on panel + gfx_fill_rect_inset( + dpi, + w->x + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left + 1, + w->y + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].top + 1, + w->x + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right - 1, + w->y + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].bottom - 1, + w->colours[1], + INSET_RECT_F_30 + ); - x = (window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right) / 2 + w->x; - y = window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].top + w->y + 2; + x = (window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right) / 2 + w->x; + y = window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].top + w->y + 2; - // Date - sint32 year = date_get_year(gDateMonthsElapsed) + 1; - sint32 month = date_get_month(gDateMonthsElapsed & 7); - sint32 day = ((gDateMonthTicks * days_in_month[month]) >> 16) & 0xFF; + // Date + sint32 year = date_get_year(gDateMonthsElapsed) + 1; + sint32 month = date_get_month(gDateMonthsElapsed & 7); + sint32 day = ((gDateMonthTicks * days_in_month[month]) >> 16) & 0xFF; - rct_string_id stringId = DateFormatStringFormatIds[gConfigGeneral.date_format]; - set_format_arg(0, rct_string_id, DateDayNames[day]); - set_format_arg(2, sint16, month); - set_format_arg(4, sint16, year); - gfx_draw_string_centred( - dpi, - stringId, - x, - y, - (gHoverWidget.window_classification == WC_BOTTOM_TOOLBAR && gHoverWidget.widget_index == WIDX_DATE ? COLOUR_WHITE : NOT_TRANSLUCENT(w->colours[0])), - gCommonFormatArgs - ); + rct_string_id stringId = DateFormatStringFormatIds[gConfigGeneral.date_format]; + set_format_arg(0, rct_string_id, DateDayNames[day]); + set_format_arg(2, sint16, month); + set_format_arg(4, sint16, year); + gfx_draw_string_centred( + dpi, + stringId, + x, + y, + (gHoverWidget.window_classification == WC_BOTTOM_TOOLBAR && gHoverWidget.widget_index == WIDX_DATE ? COLOUR_WHITE : NOT_TRANSLUCENT(w->colours[0])), + gCommonFormatArgs + ); - // Temperature - x = w->x + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left + 15; - y += 11; + // Temperature + x = w->x + window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left + 15; + y += 11; - temperature = gClimateCurrentTemperature; - format = STR_CELSIUS_VALUE; - if (gConfigGeneral.temperature_format == TEMPERATURE_FORMAT_F) { - temperature = climate_celsius_to_fahrenheit(temperature); - format = STR_FAHRENHEIT_VALUE; - } - set_format_arg(0, sint16, temperature); - gfx_draw_string_left(dpi, format, gCommonFormatArgs, COLOUR_BLACK, x, y + 6); - x += 30; + temperature = gClimateCurrentTemperature; + format = STR_CELSIUS_VALUE; + if (gConfigGeneral.temperature_format == TEMPERATURE_FORMAT_F) { + temperature = climate_celsius_to_fahrenheit(temperature); + format = STR_FAHRENHEIT_VALUE; + } + set_format_arg(0, sint16, temperature); + gfx_draw_string_left(dpi, format, gCommonFormatArgs, COLOUR_BLACK, x, y + 6); + x += 30; - // Current weather - gfx_draw_sprite(dpi, ClimateWeatherData[gClimateCurrentWeather].SpriteId, x, y, 0); + // Current weather + gfx_draw_sprite(dpi, ClimateWeatherData[gClimateCurrentWeather].SpriteId, x, y, 0); - // Next weather - if (ClimateWeatherData[gClimateCurrentWeather].SpriteId != ClimateWeatherData[gClimateNextWeather].SpriteId) { - if (gClimateUpdateTimer < 960) { - gfx_draw_sprite(dpi, SPR_NEXT_WEATHER, x + 27, y + 5, 0); - gfx_draw_sprite(dpi, ClimateWeatherData[gClimateNextWeather].SpriteId, x + 40, y, 0); - } - } + // Next weather + if (ClimateWeatherData[gClimateCurrentWeather].SpriteId != ClimateWeatherData[gClimateNextWeather].SpriteId) { + if (gClimateUpdateTimer < 960) { + gfx_draw_sprite(dpi, SPR_NEXT_WEATHER, x + 27, y + 5, 0); + gfx_draw_sprite(dpi, ClimateWeatherData[gClimateNextWeather].SpriteId, x + 40, y, 0); + } + } } /** @@ -505,100 +505,100 @@ static void window_game_bottom_toolbar_draw_right_panel(rct_drawpixelinfo *dpi, */ static void window_game_bottom_toolbar_draw_news_item(rct_drawpixelinfo *dpi, rct_window *w) { - sint32 x, y, width; - NewsItem *newsItem; - rct_widget *middleOutsetWidget; + sint32 x, y, width; + NewsItem *newsItem; + rct_widget *middleOutsetWidget; - middleOutsetWidget = &window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET]; - newsItem = news_item_get(0); + middleOutsetWidget = &window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET]; + newsItem = news_item_get(0); - // Current news item - gfx_fill_rect_inset( - dpi, - w->x + middleOutsetWidget->left + 1, - w->y + middleOutsetWidget->top + 1, - w->x + middleOutsetWidget->right - 1, - w->y + middleOutsetWidget->bottom - 1, - w->colours[2], - INSET_RECT_F_30 - ); + // Current news item + gfx_fill_rect_inset( + dpi, + w->x + middleOutsetWidget->left + 1, + w->y + middleOutsetWidget->top + 1, + w->x + middleOutsetWidget->right - 1, + w->y + middleOutsetWidget->bottom - 1, + w->colours[2], + INSET_RECT_F_30 + ); - // Text - utf8 *newsItemText = newsItem->Text; - x = w->x + (middleOutsetWidget->left + middleOutsetWidget->right) / 2; - y = w->y + middleOutsetWidget->top + 11; - width = middleOutsetWidget->right - middleOutsetWidget->left - 62; - gfx_draw_string_centred_wrapped_partial(dpi, x, y, width, COLOUR_BRIGHT_GREEN, STR_BOTTOM_TOOLBAR_NEWS_TEXT, &newsItemText, newsItem->Ticks); + // Text + utf8 *newsItemText = newsItem->Text; + x = w->x + (middleOutsetWidget->left + middleOutsetWidget->right) / 2; + y = w->y + middleOutsetWidget->top + 11; + width = middleOutsetWidget->right - middleOutsetWidget->left - 62; + gfx_draw_string_centred_wrapped_partial(dpi, x, y, width, COLOUR_BRIGHT_GREEN, STR_BOTTOM_TOOLBAR_NEWS_TEXT, &newsItemText, newsItem->Ticks); - x = w->x + window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].left; - y = w->y + window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].top; - switch (newsItem->Type) { - case NEWS_ITEM_RIDE: - gfx_draw_sprite(dpi, SPR_RIDE, x, y, 0); - break; - case NEWS_ITEM_PEEP_ON_RIDE: - case NEWS_ITEM_PEEP: - if (newsItem->Flags & NEWS_FLAG_HAS_BUTTON) - break; + x = w->x + window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].left; + y = w->y + window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].top; + switch (newsItem->Type) { + case NEWS_ITEM_RIDE: + gfx_draw_sprite(dpi, SPR_RIDE, x, y, 0); + break; + case NEWS_ITEM_PEEP_ON_RIDE: + case NEWS_ITEM_PEEP: + if (newsItem->Flags & NEWS_FLAG_HAS_BUTTON) + break; - rct_drawpixelinfo cliped_dpi; - if (!clip_drawpixelinfo(&cliped_dpi, dpi, x + 1, y + 1, 22, 22)) { - break; - } + rct_drawpixelinfo cliped_dpi; + if (!clip_drawpixelinfo(&cliped_dpi, dpi, x + 1, y + 1, 22, 22)) { + break; + } - rct_peep* peep = GET_PEEP(newsItem->Assoc); - sint32 clip_x = 10, clip_y = 19; + rct_peep* peep = GET_PEEP(newsItem->Assoc); + sint32 clip_x = 10, clip_y = 19; - if (peep->type == PEEP_TYPE_STAFF){ - if (peep->staff_type == STAFF_TYPE_ENTERTAINER){ - clip_y += 3; - } - } + if (peep->type == PEEP_TYPE_STAFF){ + if (peep->staff_type == STAFF_TYPE_ENTERTAINER){ + clip_y += 3; + } + } - uint32 image_id_base = g_peep_animation_entries[peep->sprite_type].sprite_animation->base_image; - image_id_base += w->frame_no & 0xFFFFFFFC; - image_id_base++; + uint32 image_id_base = g_peep_animation_entries[peep->sprite_type].sprite_animation->base_image; + image_id_base += w->frame_no & 0xFFFFFFFC; + image_id_base++; - uint32 image_id = image_id_base; - image_id |= 0xA0000000 | (peep->tshirt_colour << 19) | (peep->trousers_colour << 24); + uint32 image_id = image_id_base; + image_id |= 0xA0000000 | (peep->tshirt_colour << 19) | (peep->trousers_colour << 24); - gfx_draw_sprite(&cliped_dpi, image_id, clip_x, clip_y, 0); + gfx_draw_sprite(&cliped_dpi, image_id, clip_x, clip_y, 0); - if (image_id_base >= 0x2A1D && image_id_base < 0x2A3D){ - image_id_base += 32; - image_id_base |= 0x20000000 | (peep->balloon_colour << 19); + if (image_id_base >= 0x2A1D && image_id_base < 0x2A3D){ + image_id_base += 32; + image_id_base |= 0x20000000 | (peep->balloon_colour << 19); - gfx_draw_sprite(&cliped_dpi, image_id_base, clip_x, clip_y, 0); - } - else if (image_id_base >= 0x2BBD && image_id_base < 0x2BDD){ - image_id_base += 32; - image_id_base |= 0x20000000 | (peep->umbrella_colour << 19); + gfx_draw_sprite(&cliped_dpi, image_id_base, clip_x, clip_y, 0); + } + else if (image_id_base >= 0x2BBD && image_id_base < 0x2BDD){ + image_id_base += 32; + image_id_base |= 0x20000000 | (peep->umbrella_colour << 19); - gfx_draw_sprite(&cliped_dpi, image_id_base, clip_x, clip_y, 0); - } - else if (image_id_base >= 0x29DD && image_id_base < 0x29FD){ - image_id_base += 32; - image_id_base |= 0x20000000 | (peep->hat_colour << 19); + gfx_draw_sprite(&cliped_dpi, image_id_base, clip_x, clip_y, 0); + } + else if (image_id_base >= 0x29DD && image_id_base < 0x29FD){ + image_id_base += 32; + image_id_base |= 0x20000000 | (peep->hat_colour << 19); - gfx_draw_sprite(&cliped_dpi, image_id_base, clip_x, clip_y, 0); - } - break; - case NEWS_ITEM_MONEY: - gfx_draw_sprite(dpi, SPR_FINANCE, x, y, 0); - break; - case NEWS_ITEM_RESEARCH: - gfx_draw_sprite(dpi, (newsItem->Assoc < 0x10000 ? SPR_NEW_SCENERY : SPR_NEW_RIDE), x, y, 0); - break; - case NEWS_ITEM_PEEPS: - gfx_draw_sprite(dpi, SPR_GUESTS, x, y, 0); - break; - case NEWS_ITEM_AWARD: - gfx_draw_sprite(dpi, SPR_AWARD, x, y, 0); - break; - case NEWS_ITEM_GRAPH: - gfx_draw_sprite(dpi, SPR_GRAPH, x, y, 0); - break; - } + gfx_draw_sprite(&cliped_dpi, image_id_base, clip_x, clip_y, 0); + } + break; + case NEWS_ITEM_MONEY: + gfx_draw_sprite(dpi, SPR_FINANCE, x, y, 0); + break; + case NEWS_ITEM_RESEARCH: + gfx_draw_sprite(dpi, (newsItem->Assoc < 0x10000 ? SPR_NEW_SCENERY : SPR_NEW_RIDE), x, y, 0); + break; + case NEWS_ITEM_PEEPS: + gfx_draw_sprite(dpi, SPR_GUESTS, x, y, 0); + break; + case NEWS_ITEM_AWARD: + gfx_draw_sprite(dpi, SPR_AWARD, x, y, 0); + break; + case NEWS_ITEM_GRAPH: + gfx_draw_sprite(dpi, SPR_GRAPH, x, y, 0); + break; + } } /** @@ -607,11 +607,11 @@ static void window_game_bottom_toolbar_draw_news_item(rct_drawpixelinfo *dpi, rc */ static void window_game_bottom_toolbar_update(rct_window* w){ - w->frame_no++; - if (w->frame_no >= 24) - w->frame_no = 0; + w->frame_no++; + if (w->frame_no >= 24) + w->frame_no = 0; - window_game_bottom_toolbar_invalidate_dirty_widgets(w); + window_game_bottom_toolbar_invalidate_dirty_widgets(w); } /** @@ -620,14 +620,14 @@ static void window_game_bottom_toolbar_update(rct_window* w){ */ static void window_game_bottom_toolbar_cursor(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y, sint32 *cursorId) { - switch (widgetIndex) { - case WIDX_MONEY: - case WIDX_GUESTS: - case WIDX_PARK_RATING: - case WIDX_DATE: - gTooltipTimeout = 2000; - break; - } + switch (widgetIndex) { + case WIDX_MONEY: + case WIDX_GUESTS: + case WIDX_PARK_RATING: + case WIDX_DATE: + gTooltipTimeout = 2000; + break; + } } /** @@ -636,7 +636,7 @@ static void window_game_bottom_toolbar_cursor(rct_window *w, rct_widgetindex wid */ static void window_game_bottom_toolbar_unknown05(rct_window *w) { - window_game_bottom_toolbar_invalidate_dirty_widgets(w); + window_game_bottom_toolbar_invalidate_dirty_widgets(w); } /** @@ -645,28 +645,28 @@ static void window_game_bottom_toolbar_unknown05(rct_window *w) */ static void window_game_bottom_toolbar_invalidate_dirty_widgets(rct_window *w) { - if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_MONEY){ - gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_MONEY; - widget_invalidate(w, WIDX_LEFT_INSET); - } + if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_MONEY){ + gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_MONEY; + widget_invalidate(w, WIDX_LEFT_INSET); + } - if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_DATE){ - gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_DATE; - widget_invalidate(w, WIDX_RIGHT_INSET); - } + if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_DATE){ + gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_DATE; + widget_invalidate(w, WIDX_RIGHT_INSET); + } - if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_PEEP_COUNT){ - gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_PEEP_COUNT; - widget_invalidate(w, WIDX_LEFT_INSET); - } + if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_PEEP_COUNT){ + gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_PEEP_COUNT; + widget_invalidate(w, WIDX_LEFT_INSET); + } - if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_CLIMATE){ - gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_CLIMATE; - widget_invalidate(w, WIDX_RIGHT_INSET); - } + if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_CLIMATE){ + gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_CLIMATE; + widget_invalidate(w, WIDX_RIGHT_INSET); + } - if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_PARK_RATING){ - gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_PARK_RATING; - widget_invalidate(w, WIDX_LEFT_INSET); - } + if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_PARK_RATING){ + gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_PARK_RATING; + widget_invalidate(w, WIDX_LEFT_INSET); + } } diff --git a/src/openrct2/windows/guest.c b/src/openrct2/windows/guest.c index 0022451f90..72fc5d099d 100644 --- a/src/openrct2/windows/guest.c +++ b/src/openrct2/windows/guest.c @@ -37,139 +37,139 @@ #include "error.h" enum WINDOW_GUEST_PAGE { - WINDOW_GUEST_OVERVIEW, - WINDOW_GUEST_STATS, - WINDOW_GUEST_RIDES, - WINDOW_GUEST_FINANCE, - WINDOW_GUEST_THOUGHTS, - WINDOW_GUEST_INVENTORY + WINDOW_GUEST_OVERVIEW, + WINDOW_GUEST_STATS, + WINDOW_GUEST_RIDES, + WINDOW_GUEST_FINANCE, + WINDOW_GUEST_THOUGHTS, + WINDOW_GUEST_INVENTORY }; enum WINDOW_GUEST_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_TAB_2, - WIDX_TAB_3, - WIDX_TAB_4, - WIDX_TAB_5, - WIDX_TAB_6, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_TAB_2, + WIDX_TAB_3, + WIDX_TAB_4, + WIDX_TAB_5, + WIDX_TAB_6, - WIDX_MARQUEE = 10, - WIDX_VIEWPORT, - WIDX_ACTION_LBL, - WIDX_PICKUP, - WIDX_RENAME, - WIDX_LOCATE, - WIDX_TRACK, + WIDX_MARQUEE = 10, + WIDX_VIEWPORT, + WIDX_ACTION_LBL, + WIDX_PICKUP, + WIDX_RENAME, + WIDX_LOCATE, + WIDX_TRACK, - WIDX_RIDE_SCROLL = 10 + WIDX_RIDE_SCROLL = 10 }; validate_global_widx(WC_PEEP, WIDX_ACTION_LBL); rct_widget window_guest_overview_widgets[] = { - {WWT_FRAME, 0, 0, 191, 0, 156, 0xFFFFFFFF, STR_NONE}, // Panel / Background - {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, // Title - {WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, // Close x button - {WWT_RESIZE, 1, 0, 191, 43, 156, 0xFFFFFFFF, STR_NONE}, // Resize - {WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP}, // Tab 1 - {WWT_TAB, 1, 73, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP}, // Tab 2 - {WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VISITED_RIDES_TIP}, // Tab 3 - {WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_FINANCE_TIP}, // Tab 4 - {WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_THOUGHTS_TIP}, // Tab 5 - {WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_ITEMS_TIP}, // Tab 6 - {WWT_12, 1, 3, 166, 45, 56, 0xFFFFFFFF, STR_NONE}, // Label Thought marquee - {WWT_VIEWPORT, 1, 3, 166, 57, 143, 0xFFFFFFFF, STR_NONE}, // Viewport - {WWT_12, 1, 3, 166, 144, 154, 0xFFFFFFFF, STR_NONE}, // Label Action - {WWT_FLATBTN, 1, 167, 190, 45, 68, SPR_PICKUP_BTN, STR_PICKUP_TIP}, // Pickup Button - {WWT_FLATBTN, 1, 167, 190, 69, 92, SPR_RENAME, STR_NAME_GUEST_TIP}, // Rename Button - {WWT_FLATBTN, 1, 167, 190, 93, 116, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP}, // Locate Button - {WWT_FLATBTN, 1, 167, 190, 117, 140, SPR_TRACK_PEEP, STR_TOGGLE_GUEST_TRACKING_TIP}, // Track Button - { WIDGETS_END }, + {WWT_FRAME, 0, 0, 191, 0, 156, 0xFFFFFFFF, STR_NONE}, // Panel / Background + {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, // Title + {WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, // Close x button + {WWT_RESIZE, 1, 0, 191, 43, 156, 0xFFFFFFFF, STR_NONE}, // Resize + {WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP}, // Tab 1 + {WWT_TAB, 1, 73, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP}, // Tab 2 + {WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VISITED_RIDES_TIP}, // Tab 3 + {WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_FINANCE_TIP}, // Tab 4 + {WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_THOUGHTS_TIP}, // Tab 5 + {WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_ITEMS_TIP}, // Tab 6 + {WWT_12, 1, 3, 166, 45, 56, 0xFFFFFFFF, STR_NONE}, // Label Thought marquee + {WWT_VIEWPORT, 1, 3, 166, 57, 143, 0xFFFFFFFF, STR_NONE}, // Viewport + {WWT_12, 1, 3, 166, 144, 154, 0xFFFFFFFF, STR_NONE}, // Label Action + {WWT_FLATBTN, 1, 167, 190, 45, 68, SPR_PICKUP_BTN, STR_PICKUP_TIP}, // Pickup Button + {WWT_FLATBTN, 1, 167, 190, 69, 92, SPR_RENAME, STR_NAME_GUEST_TIP}, // Rename Button + {WWT_FLATBTN, 1, 167, 190, 93, 116, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP}, // Locate Button + {WWT_FLATBTN, 1, 167, 190, 117, 140, SPR_TRACK_PEEP, STR_TOGGLE_GUEST_TRACKING_TIP}, // Track Button + { WIDGETS_END }, }; rct_widget window_guest_stats_widgets[] = { - {WWT_FRAME, 0, 0, 191, 0, 156, STR_NONE, STR_NONE}, - {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, - {WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, - {WWT_RESIZE, 1, 0, 191, 43, 156, STR_NONE, STR_NONE}, - {WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP}, - {WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP}, - {WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VISITED_RIDES_TIP}, - {WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_FINANCE_TIP}, - {WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_THOUGHTS_TIP}, - {WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_ITEMS_TIP}, - {WIDGETS_END}, + {WWT_FRAME, 0, 0, 191, 0, 156, STR_NONE, STR_NONE}, + {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, + {WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, + {WWT_RESIZE, 1, 0, 191, 43, 156, STR_NONE, STR_NONE}, + {WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP}, + {WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP}, + {WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VISITED_RIDES_TIP}, + {WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_FINANCE_TIP}, + {WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_THOUGHTS_TIP}, + {WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_ITEMS_TIP}, + {WIDGETS_END}, }; rct_widget window_guest_rides_widgets[] = { - {WWT_FRAME, 0, 0, 191, 0, 156, STR_NONE, STR_NONE}, - {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, - {WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, - {WWT_RESIZE, 1, 0, 191, 43, 156, STR_NONE, STR_NONE}, - {WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP}, - {WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP}, - {WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VISITED_RIDES_TIP}, - {WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_FINANCE_TIP}, - {WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_THOUGHTS_TIP}, - {WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_ITEMS_TIP}, - {WWT_SCROLL, 1, 3, 188, 57, 143, SCROLL_VERTICAL, STR_NONE}, - {WIDGETS_END}, + {WWT_FRAME, 0, 0, 191, 0, 156, STR_NONE, STR_NONE}, + {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, + {WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, + {WWT_RESIZE, 1, 0, 191, 43, 156, STR_NONE, STR_NONE}, + {WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP}, + {WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP}, + {WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VISITED_RIDES_TIP}, + {WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_FINANCE_TIP}, + {WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_THOUGHTS_TIP}, + {WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_ITEMS_TIP}, + {WWT_SCROLL, 1, 3, 188, 57, 143, SCROLL_VERTICAL, STR_NONE}, + {WIDGETS_END}, }; rct_widget window_guest_finance_widgets[] = { - {WWT_FRAME, 0, 0, 191, 0, 156, STR_NONE, STR_NONE}, - {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, - {WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, - {WWT_RESIZE, 1, 0, 191, 43, 156, STR_NONE, STR_NONE}, - {WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP}, - {WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP}, - {WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VISITED_RIDES_TIP}, - {WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_FINANCE_TIP}, - {WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_THOUGHTS_TIP}, - {WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_ITEMS_TIP}, - {WIDGETS_END}, + {WWT_FRAME, 0, 0, 191, 0, 156, STR_NONE, STR_NONE}, + {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, + {WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, + {WWT_RESIZE, 1, 0, 191, 43, 156, STR_NONE, STR_NONE}, + {WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP}, + {WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP}, + {WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VISITED_RIDES_TIP}, + {WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_FINANCE_TIP}, + {WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_THOUGHTS_TIP}, + {WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_ITEMS_TIP}, + {WIDGETS_END}, }; rct_widget window_guest_thoughts_widgets[] = { - {WWT_FRAME, 0, 0, 191, 0, 156, STR_NONE, STR_NONE}, - {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, - {WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, - {WWT_RESIZE, 1, 0, 191, 43, 156, STR_NONE, STR_NONE}, - {WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP}, - {WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP}, - {WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VISITED_RIDES_TIP}, - {WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_FINANCE_TIP}, - {WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_THOUGHTS_TIP}, - {WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_ITEMS_TIP}, - {WIDGETS_END}, + {WWT_FRAME, 0, 0, 191, 0, 156, STR_NONE, STR_NONE}, + {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, + {WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, + {WWT_RESIZE, 1, 0, 191, 43, 156, STR_NONE, STR_NONE}, + {WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP}, + {WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP}, + {WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VISITED_RIDES_TIP}, + {WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_FINANCE_TIP}, + {WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_THOUGHTS_TIP}, + {WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_ITEMS_TIP}, + {WIDGETS_END}, }; rct_widget window_guest_inventory_widgets[] = { - {WWT_FRAME, 0, 0, 191, 0, 156, STR_NONE, STR_NONE}, - {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, - {WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, - {WWT_RESIZE, 1, 0, 191, 43, 156, STR_NONE, STR_NONE}, - {WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP}, - {WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP}, - {WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VISITED_RIDES_TIP}, - {WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_FINANCE_TIP}, - {WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_THOUGHTS_TIP}, - {WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_ITEMS_TIP}, - {WIDGETS_END}, + {WWT_FRAME, 0, 0, 191, 0, 156, STR_NONE, STR_NONE}, + {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, + {WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, + {WWT_RESIZE, 1, 0, 191, 43, 156, STR_NONE, STR_NONE}, + {WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP}, + {WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP}, + {WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_VISITED_RIDES_TIP}, + {WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_FINANCE_TIP}, + {WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_THOUGHTS_TIP}, + {WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_GUEST_ITEMS_TIP}, + {WIDGETS_END}, }; // 0x981D0C rct_widget *window_guest_page_widgets[] = { - window_guest_overview_widgets, - window_guest_stats_widgets, - window_guest_rides_widgets, - window_guest_finance_widgets, - window_guest_thoughts_widgets, - window_guest_inventory_widgets + window_guest_overview_widgets, + window_guest_stats_widgets, + window_guest_rides_widgets, + window_guest_finance_widgets, + window_guest_thoughts_widgets, + window_guest_inventory_widgets }; void window_guest_set_page(rct_window* w, sint32 page); @@ -222,257 +222,257 @@ void window_guest_inventory_invalidate(rct_window *w); void window_guest_inventory_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_guest_overview_events = { - window_guest_overview_close, - window_guest_overview_mouse_up, - window_guest_overview_resize, - NULL, - NULL, - NULL, - window_guest_overview_update, - NULL, - NULL, - window_guest_overview_tool_update, - window_guest_overview_tool_down, - NULL, - NULL, - window_guest_overview_tool_abort, - NULL, - NULL, - NULL, - NULL, - NULL, - window_guest_overview_text_input, - window_guest_overview_unknown_14, - NULL, - NULL, - NULL, - NULL, - window_guest_overview_invalidate, - window_guest_overview_paint, - NULL + window_guest_overview_close, + window_guest_overview_mouse_up, + window_guest_overview_resize, + NULL, + NULL, + NULL, + window_guest_overview_update, + NULL, + NULL, + window_guest_overview_tool_update, + window_guest_overview_tool_down, + NULL, + NULL, + window_guest_overview_tool_abort, + NULL, + NULL, + NULL, + NULL, + NULL, + window_guest_overview_text_input, + window_guest_overview_unknown_14, + NULL, + NULL, + NULL, + NULL, + window_guest_overview_invalidate, + window_guest_overview_paint, + NULL }; static rct_window_event_list window_guest_stats_events = { - NULL, - window_guest_mouse_up, - window_guest_stats_resize, - NULL, - NULL, - window_guest_unknown_05, - window_guest_stats_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_guest_stats_invalidate, - window_guest_stats_paint, - NULL + NULL, + window_guest_mouse_up, + window_guest_stats_resize, + NULL, + NULL, + window_guest_unknown_05, + window_guest_stats_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_guest_stats_invalidate, + window_guest_stats_paint, + NULL }; static rct_window_event_list window_guest_rides_events = { - NULL, - window_guest_mouse_up, - window_guest_rides_resize, - NULL, - NULL, - window_guest_unknown_05, - window_guest_rides_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_guest_rides_scroll_get_size, - window_guest_rides_scroll_mouse_down, - NULL, - window_guest_rides_scroll_mouse_over, - NULL, - NULL, - NULL, - window_guest_rides_tooltip, - NULL, - NULL, - window_guest_rides_invalidate, - window_guest_rides_paint, - window_guest_rides_scroll_paint + NULL, + window_guest_mouse_up, + window_guest_rides_resize, + NULL, + NULL, + window_guest_unknown_05, + window_guest_rides_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_guest_rides_scroll_get_size, + window_guest_rides_scroll_mouse_down, + NULL, + window_guest_rides_scroll_mouse_over, + NULL, + NULL, + NULL, + window_guest_rides_tooltip, + NULL, + NULL, + window_guest_rides_invalidate, + window_guest_rides_paint, + window_guest_rides_scroll_paint }; static rct_window_event_list window_guest_finance_events = { - NULL, - window_guest_mouse_up, - window_guest_finance_resize, - NULL, - NULL, - window_guest_unknown_05, - window_guest_finance_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_guest_finance_invalidate, - window_guest_finance_paint, - NULL + NULL, + window_guest_mouse_up, + window_guest_finance_resize, + NULL, + NULL, + window_guest_unknown_05, + window_guest_finance_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_guest_finance_invalidate, + window_guest_finance_paint, + NULL }; static rct_window_event_list window_guest_thoughts_events = { - NULL, - window_guest_mouse_up, - window_guest_thoughts_resize, - NULL, - NULL, - window_guest_unknown_05, - window_guest_thoughts_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_guest_thoughts_invalidate, - window_guest_thoughts_paint, - NULL + NULL, + window_guest_mouse_up, + window_guest_thoughts_resize, + NULL, + NULL, + window_guest_unknown_05, + window_guest_thoughts_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_guest_thoughts_invalidate, + window_guest_thoughts_paint, + NULL }; static rct_window_event_list window_guest_inventory_events = { - NULL, - window_guest_mouse_up, - window_guest_inventory_resize, - NULL, - NULL, - window_guest_unknown_05, - window_guest_inventory_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_guest_inventory_invalidate, - window_guest_inventory_paint, - NULL + NULL, + window_guest_mouse_up, + window_guest_inventory_resize, + NULL, + NULL, + window_guest_unknown_05, + window_guest_inventory_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_guest_inventory_invalidate, + window_guest_inventory_paint, + NULL }; // 0x981D24 static rct_window_event_list *window_guest_page_events[] = { - &window_guest_overview_events, - &window_guest_stats_events, - &window_guest_rides_events, - &window_guest_finance_events, - &window_guest_thoughts_events, - &window_guest_inventory_events + &window_guest_overview_events, + &window_guest_stats_events, + &window_guest_rides_events, + &window_guest_finance_events, + &window_guest_thoughts_events, + &window_guest_inventory_events }; void window_guest_set_colours(); // 0x981D3C uint32 window_guest_page_enabled_widgets[] = { - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | - (1 << WIDX_RENAME)| - (1 << WIDX_PICKUP)| - (1 << WIDX_LOCATE)| - (1 << WIDX_TRACK), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | + (1 << WIDX_RENAME)| + (1 << WIDX_PICKUP)| + (1 << WIDX_LOCATE)| + (1 << WIDX_TRACK), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | - (1 << WIDX_RIDE_SCROLL), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | + (1 << WIDX_RIDE_SCROLL), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) }; /** @@ -482,48 +482,48 @@ uint32 window_guest_page_enabled_widgets[] = { */ void window_guest_open(rct_peep* peep){ - if (peep->type == PEEP_TYPE_STAFF){ - window_staff_open(peep); - return; - } + if (peep->type == PEEP_TYPE_STAFF){ + window_staff_open(peep); + return; + } - rct_window* window; + rct_window* window; - window = window_bring_to_front_by_number(WC_PEEP, peep->sprite_index); - if (window == NULL){ - window = window_create_auto_pos(192, 157, &window_guest_overview_events, WC_PEEP, WF_RESIZABLE); - window->widgets = window_guest_overview_widgets; - window->enabled_widgets = window_guest_page_enabled_widgets[0]; - window->number = peep->sprite_index; - window->page = 0; - window->viewport_focus_coordinates.y = 0; - window->frame_no = 0; - window->list_information_type = 0; - window->picked_peep_frame = 0; - window->highlighted_item = 0; - window_guest_disable_widgets(window); - window->min_width = 192; - window->min_height = 157; - window->max_width = 500; - window->max_height = 450; - window->no_list_items = 0; - window->selected_list_item = -1; + window = window_bring_to_front_by_number(WC_PEEP, peep->sprite_index); + if (window == NULL){ + window = window_create_auto_pos(192, 157, &window_guest_overview_events, WC_PEEP, WF_RESIZABLE); + window->widgets = window_guest_overview_widgets; + window->enabled_widgets = window_guest_page_enabled_widgets[0]; + window->number = peep->sprite_index; + window->page = 0; + window->viewport_focus_coordinates.y = 0; + window->frame_no = 0; + window->list_information_type = 0; + window->picked_peep_frame = 0; + window->highlighted_item = 0; + window_guest_disable_widgets(window); + window->min_width = 192; + window->min_height = 157; + window->max_width = 500; + window->max_height = 450; + window->no_list_items = 0; + window->selected_list_item = -1; - window->viewport_focus_coordinates.y = -1; - } + window->viewport_focus_coordinates.y = -1; + } - window->page = 0; - window_invalidate(window); + window->page = 0; + window_invalidate(window); - window->widgets = window_guest_page_widgets[WINDOW_GUEST_OVERVIEW]; - window->enabled_widgets = window_guest_page_enabled_widgets[WINDOW_GUEST_OVERVIEW]; - window->hold_down_widgets = 0; - window->event_handlers = window_guest_page_events[WINDOW_GUEST_OVERVIEW]; - window->pressed_widgets = 0; + window->widgets = window_guest_page_widgets[WINDOW_GUEST_OVERVIEW]; + window->enabled_widgets = window_guest_page_enabled_widgets[WINDOW_GUEST_OVERVIEW]; + window->hold_down_widgets = 0; + window->event_handlers = window_guest_page_events[WINDOW_GUEST_OVERVIEW]; + window->pressed_widgets = 0; - window_guest_disable_widgets(window); - window_init_scroll_widgets(window); - window_guest_viewport_init(window); + window_guest_disable_widgets(window); + window_init_scroll_widgets(window); + window_guest_viewport_init(window); } /** @@ -532,22 +532,22 @@ void window_guest_open(rct_peep* peep){ * rct2: 0x006987A6 */ void window_guest_disable_widgets(rct_window* w){ - rct_peep* peep = &get_sprite(w->number)->peep; - uint64 disabled_widgets = 0; + rct_peep* peep = &get_sprite(w->number)->peep; + uint64 disabled_widgets = 0; - if (peep_can_be_picked_up(peep)){ - if (w->disabled_widgets & (1 << WIDX_PICKUP)) - window_invalidate(w); - } - else{ - disabled_widgets = (1 << WIDX_PICKUP); - if (!(w->disabled_widgets & (1 << WIDX_PICKUP))) - window_invalidate(w); - } - if (gParkFlags & PARK_FLAGS_NO_MONEY){ - disabled_widgets |= (1 << WIDX_TAB_4); // Disable finance tab if no money - } - w->disabled_widgets = disabled_widgets; + if (peep_can_be_picked_up(peep)){ + if (w->disabled_widgets & (1 << WIDX_PICKUP)) + window_invalidate(w); + } + else{ + disabled_widgets = (1 << WIDX_PICKUP); + if (!(w->disabled_widgets & (1 << WIDX_PICKUP))) + window_invalidate(w); + } + if (gParkFlags & PARK_FLAGS_NO_MONEY){ + disabled_widgets |= (1 << WIDX_TAB_4); // Disable finance tab if no money + } + w->disabled_widgets = disabled_widgets; } /** @@ -556,11 +556,11 @@ void window_guest_disable_widgets(rct_window* w){ */ void window_guest_overview_close(rct_window *w) { - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) { - if (w->classification == gCurrentToolWidget.window_classification && - w->number == gCurrentToolWidget.window_number) - tool_cancel(); - } + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) { + if (w->classification == gCurrentToolWidget.window_classification && + w->number == gCurrentToolWidget.window_number) + tool_cancel(); + } } /** @@ -568,48 +568,48 @@ void window_guest_overview_close(rct_window *w) * rct2: 0x00696FBE */ void window_guest_overview_resize(rct_window *w){ - window_guest_disable_widgets(w); - window_event_invalidate_call(w); + window_guest_disable_widgets(w); + window_event_invalidate_call(w); - widget_invalidate(w, WIDX_MARQUEE); + widget_invalidate(w, WIDX_MARQUEE); - window_set_resize(w, 192, 159, 500, 450); + window_set_resize(w, 192, 159, 500, 450); - rct_viewport* view = w->viewport; + rct_viewport* view = w->viewport; - if (view){ - if ((w->width - 30) == view->width){ - if ((w->height - 72) == view->height){ - window_guest_viewport_init(w); - return; - } - } - uint8 zoom_amount = 1 << view->zoom; - view->width = w->width - 30; - view->height = w->height - 72; - view->view_width = view->width / zoom_amount; - view->view_height = view->height / zoom_amount; - } - window_guest_viewport_init(w); + if (view){ + if ((w->width - 30) == view->width){ + if ((w->height - 72) == view->height){ + window_guest_viewport_init(w); + return; + } + } + uint8 zoom_amount = 1 << view->zoom; + view->width = w->width - 30; + view->height = w->height - 72; + view->view_width = view->width / zoom_amount; + view->view_height = view->height / zoom_amount; + } + window_guest_viewport_init(w); } void game_command_callback_pickup_guest(sint32 eax, sint32 ebx, sint32 ecx, sint32 edx, sint32 esi, sint32 edi, sint32 ebp) { - switch(ecx){ - case 0:{ - sint32 peepnum = eax; - rct_window* w = window_find_by_number(WC_PEEP, peepnum); - if (w) { - tool_set(w, WIDX_PICKUP, TOOL_PICKER); - } - }break; - case 2: - if (ebx == 0) { - tool_cancel(); - gPickupPeepImage = UINT32_MAX; - } - break; - } + switch(ecx){ + case 0:{ + sint32 peepnum = eax; + rct_window* w = window_find_by_number(WC_PEEP, peepnum); + if (w) { + tool_set(w, WIDX_PICKUP, TOOL_PICKER); + } + }break; + case 2: + if (ebx == 0) { + tool_cancel(); + gPickupPeepImage = UINT32_MAX; + } + break; + } } /** @@ -618,38 +618,38 @@ void game_command_callback_pickup_guest(sint32 eax, sint32 ebx, sint32 ecx, sint */ void window_guest_overview_mouse_up(rct_window *w, rct_widgetindex widgetIndex) { - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - switch(widgetIndex){ - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - window_guest_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_PICKUP: - if (!peep_can_be_picked_up(peep)) { - return; - } - w->picked_peep_old_x = peep->x; - game_command_callback = game_command_callback_pickup_guest; - game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_PICKUP_GUEST, 0, 0); - break; - case WIDX_RENAME: - window_text_input_open(w, widgetIndex, STR_GUEST_RENAME_TITLE, STR_GUEST_RENAME_PROMPT, peep->name_string_idx, peep->id, 32); - break; - case WIDX_LOCATE: - window_scroll_to_viewport(w); - break; - case WIDX_TRACK: - get_sprite(w->number)->peep.peep_flags ^= PEEP_FLAGS_TRACKING; - break; - } + switch(widgetIndex){ + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + window_guest_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_PICKUP: + if (!peep_can_be_picked_up(peep)) { + return; + } + w->picked_peep_old_x = peep->x; + game_command_callback = game_command_callback_pickup_guest; + game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_PICKUP_GUEST, 0, 0); + break; + case WIDX_RENAME: + window_text_input_open(w, widgetIndex, STR_GUEST_RENAME_TITLE, STR_GUEST_RENAME_PROMPT, peep->name_string_idx, peep->id, 32); + break; + case WIDX_LOCATE: + window_scroll_to_viewport(w); + break; + case WIDX_TRACK: + get_sprite(w->number)->peep.peep_flags ^= PEEP_FLAGS_TRACKING; + break; + } } /** @@ -657,49 +657,49 @@ void window_guest_overview_mouse_up(rct_window *w, rct_widgetindex widgetIndex) * rct2: 0x696AA0 */ void window_guest_set_page(rct_window* w, sint32 page){ - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) - { - if(w->number == gCurrentToolWidget.window_number && - w->classification == gCurrentToolWidget.window_classification) - tool_cancel(); + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) + { + if(w->number == gCurrentToolWidget.window_number && + w->classification == gCurrentToolWidget.window_classification) + tool_cancel(); - } - sint32 listen = 0; - if ( page == WINDOW_GUEST_OVERVIEW && w->page==WINDOW_GUEST_OVERVIEW && w->viewport){ - if(!(w->viewport->flags & VIEWPORT_FLAG_SOUND_ON)) - listen = 1; - } + } + sint32 listen = 0; + if ( page == WINDOW_GUEST_OVERVIEW && w->page==WINDOW_GUEST_OVERVIEW && w->viewport){ + if(!(w->viewport->flags & VIEWPORT_FLAG_SOUND_ON)) + listen = 1; + } - w->page = page; - w->frame_no = 0; - w->no_list_items = 0; - w->selected_list_item = -1; + w->page = page; + w->frame_no = 0; + w->no_list_items = 0; + w->selected_list_item = -1; - rct_viewport* viewport = w->viewport; - w->viewport = 0; - if (viewport){ - viewport->width = 0; - } + rct_viewport* viewport = w->viewport; + w->viewport = 0; + if (viewport){ + viewport->width = 0; + } - w->enabled_widgets = window_guest_page_enabled_widgets[page]; - w->hold_down_widgets = 0; - w->event_handlers = window_guest_page_events[page]; - w->pressed_widgets = 0; - w->widgets = window_guest_page_widgets[page]; - window_guest_disable_widgets(w); - window_invalidate(w); - window_event_resize_call(w); - window_event_invalidate_call(w); - window_init_scroll_widgets(w); - window_invalidate(w); + w->enabled_widgets = window_guest_page_enabled_widgets[page]; + w->hold_down_widgets = 0; + w->event_handlers = window_guest_page_events[page]; + w->pressed_widgets = 0; + w->widgets = window_guest_page_widgets[page]; + window_guest_disable_widgets(w); + window_invalidate(w); + window_event_resize_call(w); + window_event_invalidate_call(w); + window_init_scroll_widgets(w); + window_invalidate(w); - if (listen && w->viewport) w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; + if (listen && w->viewport) w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; } void window_guest_overview_unknown_14(rct_window *w) { - window_guest_viewport_init(w); + window_guest_viewport_init(w); } /** @@ -707,105 +707,105 @@ void window_guest_overview_unknown_14(rct_window *w) * rct2: 0x0069883C */ void window_guest_viewport_init(rct_window* w){ - if (w->page != WINDOW_GUEST_OVERVIEW) return; + if (w->page != WINDOW_GUEST_OVERVIEW) return; - union{ - sprite_focus sprite; - coordinate_focus coordinate; - } focus = { 0 }; // The focus will be either a sprite or a coordinate. + union{ + sprite_focus sprite; + coordinate_focus coordinate; + } focus = { 0 }; // The focus will be either a sprite or a coordinate. - focus.sprite.sprite_id = w->number; + focus.sprite.sprite_id = w->number; - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - if (peep->state == PEEP_STATE_PICKED){ - focus.sprite.sprite_id = -1; - } - else{ - uint8 final_check = 1; - if (peep->state == PEEP_STATE_ON_RIDE - || peep->state == PEEP_STATE_ENTERING_RIDE - || (peep->state == PEEP_STATE_LEAVING_RIDE && peep->x == SPRITE_LOCATION_NULL)){ + if (peep->state == PEEP_STATE_PICKED){ + focus.sprite.sprite_id = -1; + } + else{ + uint8 final_check = 1; + if (peep->state == PEEP_STATE_ON_RIDE + || peep->state == PEEP_STATE_ENTERING_RIDE + || (peep->state == PEEP_STATE_LEAVING_RIDE && peep->x == SPRITE_LOCATION_NULL)){ - rct_ride *ride = get_ride(peep->current_ride); - if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK){ - rct_vehicle* train = GET_VEHICLE(ride->vehicles[peep->current_train]); - sint32 car = peep->current_car; + rct_ride *ride = get_ride(peep->current_ride); + if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK){ + rct_vehicle* train = GET_VEHICLE(ride->vehicles[peep->current_train]); + sint32 car = peep->current_car; - for (; car != 0; car--){ - train = GET_VEHICLE(train->next_vehicle_on_train); - } + for (; car != 0; car--){ + train = GET_VEHICLE(train->next_vehicle_on_train); + } - focus.sprite.sprite_id = train->sprite_index; - final_check = 0; - } - } - if (peep->x == SPRITE_LOCATION_NULL && final_check){ - rct_ride *ride = get_ride(peep->current_ride); - sint32 x = (ride->overall_view & 0xFF) * 32 + 16; - sint32 y = (ride->overall_view >> 8) * 32 + 16; - sint32 height = map_element_height(x, y); - height += 32; - focus.coordinate.x = x; - focus.coordinate.y = y; - focus.coordinate.z = height; - focus.sprite.type |= VIEWPORT_FOCUS_TYPE_COORDINATE; - } - else{ - focus.sprite.type |= VIEWPORT_FOCUS_TYPE_SPRITE | VIEWPORT_FOCUS_TYPE_COORDINATE; - focus.sprite.pad_486 &= 0xFFFF; - } - focus.coordinate.rotation = get_current_rotation(); - } + focus.sprite.sprite_id = train->sprite_index; + final_check = 0; + } + } + if (peep->x == SPRITE_LOCATION_NULL && final_check){ + rct_ride *ride = get_ride(peep->current_ride); + sint32 x = (ride->overall_view & 0xFF) * 32 + 16; + sint32 y = (ride->overall_view >> 8) * 32 + 16; + sint32 height = map_element_height(x, y); + height += 32; + focus.coordinate.x = x; + focus.coordinate.y = y; + focus.coordinate.z = height; + focus.sprite.type |= VIEWPORT_FOCUS_TYPE_COORDINATE; + } + else{ + focus.sprite.type |= VIEWPORT_FOCUS_TYPE_SPRITE | VIEWPORT_FOCUS_TYPE_COORDINATE; + focus.sprite.pad_486 &= 0xFFFF; + } + focus.coordinate.rotation = get_current_rotation(); + } - uint16 viewport_flags; + uint16 viewport_flags; - if (w->viewport){ - // Check all combos, for now skipping y and rot - if (focus.coordinate.x == w->viewport_focus_coordinates.x && - focus.coordinate.y == w->viewport_focus_coordinates.y && - focus.coordinate.z == w->viewport_focus_coordinates.z && - focus.coordinate.rotation == w->viewport_focus_coordinates.rotation) - return; + if (w->viewport){ + // Check all combos, for now skipping y and rot + if (focus.coordinate.x == w->viewport_focus_coordinates.x && + focus.coordinate.y == w->viewport_focus_coordinates.y && + focus.coordinate.z == w->viewport_focus_coordinates.z && + focus.coordinate.rotation == w->viewport_focus_coordinates.rotation) + return; - viewport_flags = w->viewport->flags; - w->viewport->width = 0; - w->viewport = 0; + viewport_flags = w->viewport->flags; + w->viewport->width = 0; + w->viewport = 0; - viewport_update_pointers(); - } - else{ - viewport_flags = 0; - if (gConfigGeneral.always_show_gridlines) { - viewport_flags |= VIEWPORT_FLAG_GRIDLINES; - } - } + viewport_update_pointers(); + } + else{ + viewport_flags = 0; + if (gConfigGeneral.always_show_gridlines) { + viewport_flags |= VIEWPORT_FLAG_GRIDLINES; + } + } - window_event_invalidate_call(w); + window_event_invalidate_call(w); - w->viewport_focus_coordinates.x = focus.coordinate.x; - w->viewport_focus_coordinates.y = focus.coordinate.y; - w->viewport_focus_coordinates.z = focus.coordinate.z; - w->viewport_focus_coordinates.rotation = focus.coordinate.rotation; + w->viewport_focus_coordinates.x = focus.coordinate.x; + w->viewport_focus_coordinates.y = focus.coordinate.y; + w->viewport_focus_coordinates.z = focus.coordinate.z; + w->viewport_focus_coordinates.rotation = focus.coordinate.rotation; - if (peep->state != PEEP_STATE_PICKED){ - if (!(w->viewport)){ - rct_widget* view_widget = &w->widgets[WIDX_VIEWPORT]; + if (peep->state != PEEP_STATE_PICKED){ + if (!(w->viewport)){ + rct_widget* view_widget = &w->widgets[WIDX_VIEWPORT]; - sint32 x = view_widget->left + 1 + w->x; - sint32 y = view_widget->top + 1 + w->y; - sint32 width = view_widget->right - view_widget->left - 1; - sint32 height = view_widget->bottom - view_widget->top - 1; + sint32 x = view_widget->left + 1 + w->x; + sint32 y = view_widget->top + 1 + w->y; + sint32 width = view_widget->right - view_widget->left - 1; + sint32 height = view_widget->bottom - view_widget->top - 1; - viewport_create(w, x, y, width, height, 0, focus.coordinate.x, focus.coordinate.y, focus.coordinate.z, focus.sprite.type & VIEWPORT_FOCUS_TYPE_MASK, focus.sprite.sprite_id); - w->flags |= WF_NO_SCROLLING; - window_invalidate(w); - } - } + viewport_create(w, x, y, width, height, 0, focus.coordinate.x, focus.coordinate.y, focus.coordinate.z, focus.sprite.type & VIEWPORT_FOCUS_TYPE_MASK, focus.sprite.sprite_id); + w->flags |= WF_NO_SCROLLING; + window_invalidate(w); + } + } - if (w->viewport) - w->viewport->flags = viewport_flags; - window_invalidate(w); + if (w->viewport) + w->viewport->flags = viewport_flags; + window_invalidate(w); } /** @@ -814,62 +814,62 @@ void window_guest_viewport_init(rct_window* w){ * used by window_staff as well */ static void window_guest_overview_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){ - if (w->disabled_widgets & (1<disabled_widgets & (1<widgets[WIDX_TAB_1]; - sint32 width = widget->right - widget->left - 1; - sint32 height = widget->bottom - widget->top - 1; - sint32 x = widget->left + 1 + w->x; - sint32 y = widget->top + 1 + w->y; - if (w->page == WINDOW_GUEST_OVERVIEW) height++; + rct_widget* widget = &w->widgets[WIDX_TAB_1]; + sint32 width = widget->right - widget->left - 1; + sint32 height = widget->bottom - widget->top - 1; + sint32 x = widget->left + 1 + w->x; + sint32 y = widget->top + 1 + w->y; + if (w->page == WINDOW_GUEST_OVERVIEW) height++; - rct_drawpixelinfo clip_dpi; - if (!clip_drawpixelinfo(&clip_dpi, dpi, x, y, width, height)) { - return; - } + rct_drawpixelinfo clip_dpi; + if (!clip_drawpixelinfo(&clip_dpi, dpi, x, y, width, height)) { + return; + } - x = 14; - y = 20; + x = 14; + y = 20; - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - if (peep->type == PEEP_TYPE_STAFF && peep->staff_type == STAFF_TYPE_ENTERTAINER) - y++; + if (peep->type == PEEP_TYPE_STAFF && peep->staff_type == STAFF_TYPE_ENTERTAINER) + y++; - sint32 ebx = g_peep_animation_entries[peep->sprite_type].sprite_animation->base_image + 1; + sint32 ebx = g_peep_animation_entries[peep->sprite_type].sprite_animation->base_image + 1; - sint32 eax = 0; + sint32 eax = 0; - if (w->page == WINDOW_GUEST_OVERVIEW){ - eax = w->var_496; - eax &= 0xFFFC; - } - ebx += eax; + if (w->page == WINDOW_GUEST_OVERVIEW){ + eax = w->var_496; + eax &= 0xFFFC; + } + ebx += eax; - sint32 sprite_id = ebx | (peep->tshirt_colour << 19) | (peep->trousers_colour << 24) | 0xA0000000; - gfx_draw_sprite(&clip_dpi, sprite_id, x, y, 0); + sint32 sprite_id = ebx | (peep->tshirt_colour << 19) | (peep->trousers_colour << 24) | 0xA0000000; + gfx_draw_sprite(&clip_dpi, sprite_id, x, y, 0); - // If holding a balloon - if (ebx >= 0x2A1D && ebx < 0x2A3D){ - ebx += 32; - ebx |= (peep->balloon_colour << 19) | 0x20000000; - gfx_draw_sprite(&clip_dpi, ebx, x, y, 0); - } + // If holding a balloon + if (ebx >= 0x2A1D && ebx < 0x2A3D){ + ebx += 32; + ebx |= (peep->balloon_colour << 19) | 0x20000000; + gfx_draw_sprite(&clip_dpi, ebx, x, y, 0); + } - // If holding umbrella - if (ebx >= 0x2BBD && ebx < 0x2BDD){ - ebx += 32; - ebx |= (peep->umbrella_colour << 19) | 0x20000000; - gfx_draw_sprite(&clip_dpi, ebx, x, y, 0); - } + // If holding umbrella + if (ebx >= 0x2BBD && ebx < 0x2BDD){ + ebx += 32; + ebx |= (peep->umbrella_colour << 19) | 0x20000000; + gfx_draw_sprite(&clip_dpi, ebx, x, y, 0); + } - // If wearing hat - if (ebx >= 0x29DD && ebx < 0x29FD){ - ebx += 32; - ebx |= (peep->hat_colour << 19) | 0x20000000; - gfx_draw_sprite(&clip_dpi, ebx, x, y, 0); - } + // If wearing hat + if (ebx >= 0x29DD && ebx < 0x29FD){ + ebx += 32; + ebx |= (peep->hat_colour << 19) | 0x20000000; + gfx_draw_sprite(&clip_dpi, ebx, x, y, 0); + } } /** @@ -877,31 +877,31 @@ static void window_guest_overview_tab_paint(rct_window* w, rct_drawpixelinfo* dp * rct2: 0x69869b */ static void window_guest_stats_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){ - if (w->disabled_widgets & (1 << WIDX_TAB_2)) - return; + if (w->disabled_widgets & (1 << WIDX_TAB_2)) + return; - rct_widget* widget = &w->widgets[WIDX_TAB_2]; - sint32 x = widget->left + w->x; - sint32 y = widget->top + w->y; + rct_widget* widget = &w->widgets[WIDX_TAB_2]; + sint32 x = widget->left + w->x; + sint32 y = widget->top + w->y; - rct_peep* peep = GET_PEEP(w->number); - sint32 image_id = get_peep_face_sprite_large(peep); - if (w->page == WINDOW_GUEST_STATS){ - // If currently viewing this tab animate tab - // if it is very sick or angry. - switch (image_id){ - case SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0: - image_id += (w->frame_no / 4) & 0xF; - break; - case SPR_PEEP_LARGE_FACE_VERY_SICK_0: - image_id += (w->frame_no / 8) & 0x3; - break; - case SPR_PEEP_LARGE_FACE_ANGRY_0: - image_id += (w->frame_no / 8) & 0x3; - break; - } - } - gfx_draw_sprite(dpi, image_id, x, y, 0); + rct_peep* peep = GET_PEEP(w->number); + sint32 image_id = get_peep_face_sprite_large(peep); + if (w->page == WINDOW_GUEST_STATS){ + // If currently viewing this tab animate tab + // if it is very sick or angry. + switch (image_id){ + case SPR_PEEP_LARGE_FACE_VERY_VERY_SICK_0: + image_id += (w->frame_no / 4) & 0xF; + break; + case SPR_PEEP_LARGE_FACE_VERY_SICK_0: + image_id += (w->frame_no / 8) & 0x3; + break; + case SPR_PEEP_LARGE_FACE_ANGRY_0: + image_id += (w->frame_no / 8) & 0x3; + break; + } + } + gfx_draw_sprite(dpi, image_id, x, y, 0); } /** @@ -909,19 +909,19 @@ static void window_guest_stats_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){ * rct2: 0x69861F */ static void window_guest_rides_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){ - if (w->disabled_widgets & (1 << WIDX_TAB_3)) return; + if (w->disabled_widgets & (1 << WIDX_TAB_3)) return; - rct_widget* widget = &w->widgets[WIDX_TAB_3]; - sint32 x = widget->left + w->x; - sint32 y = widget->top + w->y; + rct_widget* widget = &w->widgets[WIDX_TAB_3]; + sint32 x = widget->left + w->x; + sint32 y = widget->top + w->y; - sint32 image_id = SPR_TAB_RIDE_0; + sint32 image_id = SPR_TAB_RIDE_0; - if ( w->page == WINDOW_GUEST_RIDES ){ - image_id += (w->frame_no / 4) & 0xF; - } + if ( w->page == WINDOW_GUEST_RIDES ){ + image_id += (w->frame_no / 4) & 0xF; + } - gfx_draw_sprite(dpi, image_id, x, y, 0); + gfx_draw_sprite(dpi, image_id, x, y, 0); } /** @@ -929,19 +929,19 @@ static void window_guest_rides_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){ * rct2: 0x698597 */ static void window_guest_finance_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){ - if (w->disabled_widgets & (1 << WIDX_TAB_4)) return; + if (w->disabled_widgets & (1 << WIDX_TAB_4)) return; - rct_widget* widget = &w->widgets[WIDX_TAB_4]; - sint32 x = widget->left + w->x; - sint32 y = widget->top + w->y; + rct_widget* widget = &w->widgets[WIDX_TAB_4]; + sint32 x = widget->left + w->x; + sint32 y = widget->top + w->y; - sint32 image_id = SPR_TAB_FINANCES_SUMMARY_0; + sint32 image_id = SPR_TAB_FINANCES_SUMMARY_0; - if ( w->page == WINDOW_GUEST_FINANCE ){ - image_id += (w->frame_no / 2) & 0x7; - } + if ( w->page == WINDOW_GUEST_FINANCE ){ + image_id += (w->frame_no / 2) & 0x7; + } - gfx_draw_sprite(dpi, image_id, x, y, 0); + gfx_draw_sprite(dpi, image_id, x, y, 0); } /** @@ -949,19 +949,19 @@ static void window_guest_finance_tab_paint(rct_window* w, rct_drawpixelinfo* dpi * rct2: 0x6985D8 */ static void window_guest_thoughts_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){ - if (w->disabled_widgets & (1 << WIDX_TAB_5)) return; + if (w->disabled_widgets & (1 << WIDX_TAB_5)) return; - rct_widget* widget = &w->widgets[WIDX_TAB_5]; - sint32 x = widget->left + w->x; - sint32 y = widget->top + w->y; + rct_widget* widget = &w->widgets[WIDX_TAB_5]; + sint32 x = widget->left + w->x; + sint32 y = widget->top + w->y; - sint32 image_id = SPR_TAB_THOUGHTS_0; + sint32 image_id = SPR_TAB_THOUGHTS_0; - if ( w->page == WINDOW_GUEST_THOUGHTS ){ - image_id += (w->frame_no / 2) & 0x7; - } + if ( w->page == WINDOW_GUEST_THOUGHTS ){ + image_id += (w->frame_no / 2) & 0x7; + } - gfx_draw_sprite(dpi, image_id, x, y, 0); + gfx_draw_sprite(dpi, image_id, x, y, 0); } /** @@ -969,15 +969,15 @@ static void window_guest_thoughts_tab_paint(rct_window* w, rct_drawpixelinfo* dp * rct2: 0x698661 */ static void window_guest_inventory_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){ - if (w->disabled_widgets & (1 << WIDX_TAB_6)) return; + if (w->disabled_widgets & (1 << WIDX_TAB_6)) return; - rct_widget* widget = &w->widgets[WIDX_TAB_6]; - sint32 x = widget->left + w->x; - sint32 y = widget->top + w->y; + rct_widget* widget = &w->widgets[WIDX_TAB_6]; + sint32 x = widget->left + w->x; + sint32 y = widget->top + w->y; - sint32 image_id = SPR_TAB_GUEST_INVENTORY; + sint32 image_id = SPR_TAB_GUEST_INVENTORY; - gfx_draw_sprite(dpi, image_id, x, y, 0); + gfx_draw_sprite(dpi, image_id, x, y, 0); } /** @@ -986,64 +986,64 @@ static void window_guest_inventory_tab_paint(rct_window* w, rct_drawpixelinfo* d */ void window_guest_overview_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_guest_overview_tab_paint(w, dpi); - window_guest_stats_tab_paint(w, dpi); - window_guest_rides_tab_paint(w, dpi); - window_guest_finance_tab_paint(w, dpi); - window_guest_thoughts_tab_paint(w, dpi); - window_guest_inventory_tab_paint(w, dpi); + window_draw_widgets(w, dpi); + window_guest_overview_tab_paint(w, dpi); + window_guest_stats_tab_paint(w, dpi); + window_guest_rides_tab_paint(w, dpi); + window_guest_finance_tab_paint(w, dpi); + window_guest_thoughts_tab_paint(w, dpi); + window_guest_inventory_tab_paint(w, dpi); - // Draw the viewport no sound sprite - if (w->viewport){ - window_draw_viewport(dpi, w); - rct_viewport* viewport = w->viewport; - if (viewport->flags & VIEWPORT_FLAG_SOUND_ON){ - gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->x + 2, w->y + 2, 0); - } - } + // Draw the viewport no sound sprite + if (w->viewport){ + window_draw_viewport(dpi, w); + rct_viewport* viewport = w->viewport; + if (viewport->flags & VIEWPORT_FLAG_SOUND_ON){ + gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->x + 2, w->y + 2, 0); + } + } - // Draw the centered label - uint32 argument1, argument2; - rct_peep* peep = GET_PEEP(w->number); - get_arguments_from_action(peep, &argument1, &argument2); - set_format_arg(0, uint32, argument1); - set_format_arg(4, uint32, argument2); - rct_widget* widget = &w->widgets[WIDX_ACTION_LBL]; - sint32 x = (widget->left + widget->right) / 2 + w->x; - sint32 y = w->y + widget->top - 1; - sint32 width = widget->right - widget->left; - gfx_draw_string_centred_clipped(dpi, STR_BLACK_STRING, gCommonFormatArgs, COLOUR_BLACK, x, y, width); + // Draw the centered label + uint32 argument1, argument2; + rct_peep* peep = GET_PEEP(w->number); + get_arguments_from_action(peep, &argument1, &argument2); + set_format_arg(0, uint32, argument1); + set_format_arg(4, uint32, argument2); + rct_widget* widget = &w->widgets[WIDX_ACTION_LBL]; + sint32 x = (widget->left + widget->right) / 2 + w->x; + sint32 y = w->y + widget->top - 1; + sint32 width = widget->right - widget->left; + gfx_draw_string_centred_clipped(dpi, STR_BLACK_STRING, gCommonFormatArgs, COLOUR_BLACK, x, y, width); - // Draw the marquee thought - widget = &w->widgets[WIDX_MARQUEE]; - width = widget->right - widget->left - 3; - sint32 left = widget->left + 2 + w->x; - sint32 top = widget->top + w->y; - sint32 height = widget->bottom - widget->top; - rct_drawpixelinfo dpi_marquee; - if (!clip_drawpixelinfo(&dpi_marquee, dpi, left, top, width, height)) { - return; - } + // Draw the marquee thought + widget = &w->widgets[WIDX_MARQUEE]; + width = widget->right - widget->left - 3; + sint32 left = widget->left + 2 + w->x; + sint32 top = widget->top + w->y; + sint32 height = widget->bottom - widget->top; + rct_drawpixelinfo dpi_marquee; + if (!clip_drawpixelinfo(&dpi_marquee, dpi, left, top, width, height)) { + return; + } - sint32 i = 0; - for (; i < PEEP_MAX_THOUGHTS; ++i){ - if (peep->thoughts[i].type == PEEP_THOUGHT_TYPE_NONE){ - w->list_information_type = 0; - return; - } - if (peep->thoughts[i].var_2 == 1){ // If a fresh thought - break; - } - } - if (i == PEEP_MAX_THOUGHTS){ - w->list_information_type = 0; - return; - } + sint32 i = 0; + for (; i < PEEP_MAX_THOUGHTS; ++i){ + if (peep->thoughts[i].type == PEEP_THOUGHT_TYPE_NONE){ + w->list_information_type = 0; + return; + } + if (peep->thoughts[i].var_2 == 1){ // If a fresh thought + break; + } + } + if (i == PEEP_MAX_THOUGHTS){ + w->list_information_type = 0; + return; + } - x = widget->right - widget->left - w->list_information_type; - peep_thought_set_format_args(&peep->thoughts[i]); - gfx_draw_string_left(&dpi_marquee, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, x, 0); + x = widget->right - widget->left - w->list_information_type; + peep_thought_set_format_args(&peep->thoughts[i]); + gfx_draw_string_left(&dpi_marquee, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, x, 0); } /** @@ -1052,61 +1052,61 @@ void window_guest_overview_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_guest_overview_invalidate(rct_window *w) { - if (window_guest_page_widgets[w->page] != w->widgets){ - w->widgets = window_guest_page_widgets[w->page]; - window_init_scroll_widgets(w); - } + if (window_guest_page_widgets[w->page] != w->widgets){ + w->widgets = window_guest_page_widgets[w->page]; + window_init_scroll_widgets(w); + } - w->pressed_widgets &= ~( - (1ULL << WIDX_TAB_1) | - (1ULL << WIDX_TAB_2) | - (1ULL << WIDX_TAB_3) | - (1ULL << WIDX_TAB_4) | - (1ULL << WIDX_TAB_5) | - (1ULL << WIDX_TAB_6) - ); - w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); + w->pressed_widgets &= ~( + (1ULL << WIDX_TAB_1) | + (1ULL << WIDX_TAB_2) | + (1ULL << WIDX_TAB_3) | + (1ULL << WIDX_TAB_4) | + (1ULL << WIDX_TAB_5) | + (1ULL << WIDX_TAB_6) + ); + w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); - rct_peep* peep = GET_PEEP(w->number); - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); + rct_peep* peep = GET_PEEP(w->number); + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); - w->pressed_widgets &= ~(1<peep_flags & PEEP_FLAGS_TRACKING){ - w->pressed_widgets |= (1<pressed_widgets &= ~(1<peep_flags & PEEP_FLAGS_TRACKING){ + w->pressed_widgets |= (1<width - 1; - window_guest_overview_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_guest_overview_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_guest_overview_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_guest_overview_widgets[WIDX_PAGE_BACKGROUND].right =w->width - 1; - window_guest_overview_widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + window_guest_overview_widgets[WIDX_PAGE_BACKGROUND].right =w->width - 1; + window_guest_overview_widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - window_guest_overview_widgets[WIDX_TITLE].right = w->width - 2; + window_guest_overview_widgets[WIDX_TITLE].right = w->width - 2; - window_guest_overview_widgets[WIDX_CLOSE].left = w->width - 13; - window_guest_overview_widgets[WIDX_CLOSE].right = w->width - 3; + window_guest_overview_widgets[WIDX_CLOSE].left = w->width - 13; + window_guest_overview_widgets[WIDX_CLOSE].right = w->width - 3; - window_guest_overview_widgets[WIDX_VIEWPORT].right = w->width - 26; - window_guest_overview_widgets[WIDX_VIEWPORT].bottom = w->height - 14; + window_guest_overview_widgets[WIDX_VIEWPORT].right = w->width - 26; + window_guest_overview_widgets[WIDX_VIEWPORT].bottom = w->height - 14; - window_guest_overview_widgets[WIDX_ACTION_LBL].top = w->height - 12; - window_guest_overview_widgets[WIDX_ACTION_LBL].bottom = w->height - 3; - window_guest_overview_widgets[WIDX_ACTION_LBL].right = w->width - 24; + window_guest_overview_widgets[WIDX_ACTION_LBL].top = w->height - 12; + window_guest_overview_widgets[WIDX_ACTION_LBL].bottom = w->height - 3; + window_guest_overview_widgets[WIDX_ACTION_LBL].right = w->width - 24; - window_guest_overview_widgets[WIDX_MARQUEE].right = w->width - 24; + window_guest_overview_widgets[WIDX_MARQUEE].right = w->width - 24; - window_guest_overview_widgets[WIDX_PICKUP].right = w->width - 2; - window_guest_overview_widgets[WIDX_RENAME].right = w->width - 2; - window_guest_overview_widgets[WIDX_LOCATE].right = w->width - 2; - window_guest_overview_widgets[WIDX_TRACK].right = w->width - 2; + window_guest_overview_widgets[WIDX_PICKUP].right = w->width - 2; + window_guest_overview_widgets[WIDX_RENAME].right = w->width - 2; + window_guest_overview_widgets[WIDX_LOCATE].right = w->width - 2; + window_guest_overview_widgets[WIDX_TRACK].right = w->width - 2; - window_guest_overview_widgets[WIDX_PICKUP].left = w->width - 25; - window_guest_overview_widgets[WIDX_RENAME].left = w->width - 25; - window_guest_overview_widgets[WIDX_LOCATE].left = w->width - 25; - window_guest_overview_widgets[WIDX_TRACK].left = w->width - 25; + window_guest_overview_widgets[WIDX_PICKUP].left = w->width - 25; + window_guest_overview_widgets[WIDX_RENAME].left = w->width - 25; + window_guest_overview_widgets[WIDX_LOCATE].left = w->width - 25; + window_guest_overview_widgets[WIDX_TRACK].left = w->width - 25; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6); } /** @@ -1114,49 +1114,49 @@ void window_guest_overview_invalidate(rct_window *w) * rct2: 0x696F45 */ void window_guest_overview_update(rct_window* w){ - sint32 var_496 = w->var_496; - var_496++; - var_496 %= 24; - w->var_496 = var_496; + sint32 var_496 = w->var_496; + var_496++; + var_496 %= 24; + w->var_496 = var_496; - widget_invalidate(w, WIDX_TAB_1); - widget_invalidate(w, WIDX_TAB_2); + widget_invalidate(w, WIDX_TAB_1); + widget_invalidate(w, WIDX_TAB_2); - w->list_information_type += 2; + w->list_information_type += 2; - if ((w->highlighted_item & 0xFFFF) == 0xFFFF) - w->highlighted_item &= 0xFFFF0000; - else - w->highlighted_item++; + if ((w->highlighted_item & 0xFFFF) == 0xFFFF) + w->highlighted_item &= 0xFFFF0000; + else + w->highlighted_item++; - // Disable peep watching thought for multiplayer as it's client specific - if (network_get_mode() == NETWORK_MODE_NONE) { - // Create the "I have the strangest feeling I am being watched thought" - if ((w->highlighted_item & 0xFFFF) >= 3840) { - if (!(w->highlighted_item & 0x3FF)) { - sint32 random = util_rand() & 0xFFFF; - if (random <= 0x2AAA) { - rct_peep* peep = GET_PEEP(w->number); - peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_WATCHED, 0xFF); - } - } - } - } + // Disable peep watching thought for multiplayer as it's client specific + if (network_get_mode() == NETWORK_MODE_NONE) { + // Create the "I have the strangest feeling I am being watched thought" + if ((w->highlighted_item & 0xFFFF) >= 3840) { + if (!(w->highlighted_item & 0x3FF)) { + sint32 random = util_rand() & 0xFFFF; + if (random <= 0x2AAA) { + rct_peep* peep = GET_PEEP(w->number); + peep_insert_new_thought(peep, PEEP_THOUGHT_TYPE_WATCHED, 0xFF); + } + } + } + } } /* rct2: 0x696A6A */ void window_guest_overview_text_input(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (widgetIndex != WIDX_RENAME) - return; + if (widgetIndex != WIDX_RENAME) + return; - if (text == NULL) - return; + if (text == NULL) + return; - gGameCommandErrorTitle = STR_CANT_NAME_GUEST; - game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 0)), GAME_COMMAND_SET_GUEST_NAME, *((sint32*)(text + 8)), *((sint32*)(text + 4))); - game_do_command(2, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 12)), GAME_COMMAND_SET_GUEST_NAME, *((sint32*)(text + 20)), *((sint32*)(text + 16))); - game_do_command(0, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 24)), GAME_COMMAND_SET_GUEST_NAME, *((sint32*)(text + 32)), *((sint32*)(text + 28))); + gGameCommandErrorTitle = STR_CANT_NAME_GUEST; + game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 0)), GAME_COMMAND_SET_GUEST_NAME, *((sint32*)(text + 8)), *((sint32*)(text + 4))); + game_do_command(2, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 12)), GAME_COMMAND_SET_GUEST_NAME, *((sint32*)(text + 20)), *((sint32*)(text + 16))); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 24)), GAME_COMMAND_SET_GUEST_NAME, *((sint32*)(text + 32)), *((sint32*)(text + 28))); } /** @@ -1165,49 +1165,49 @@ void window_guest_overview_text_input(rct_window *w, rct_widgetindex widgetIndex */ void window_guest_overview_tool_update(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (widgetIndex != WIDX_PICKUP) - return; + if (widgetIndex != WIDX_PICKUP) + return; - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - sint32 map_x, map_y; - footpath_get_coordinates_from_pos(x, y + 16, &map_x, &map_y, NULL, NULL); - if (map_x != MAP_LOCATION_NULL) { - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - gMapSelectType = MAP_SELECT_TYPE_FULL; - gMapSelectPositionA.x = map_x; - gMapSelectPositionB.x = map_x; - gMapSelectPositionA.y = map_y; - gMapSelectPositionB.y = map_y; - map_invalidate_selection_rect(); - } + sint32 map_x, map_y; + footpath_get_coordinates_from_pos(x, y + 16, &map_x, &map_y, NULL, NULL); + if (map_x != MAP_LOCATION_NULL) { + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectType = MAP_SELECT_TYPE_FULL; + gMapSelectPositionA.x = map_x; + gMapSelectPositionB.x = map_x; + gMapSelectPositionA.y = map_y; + gMapSelectPositionB.y = map_y; + map_invalidate_selection_rect(); + } - gPickupPeepImage = UINT32_MAX; + gPickupPeepImage = UINT32_MAX; - sint32 interactionType; - get_map_coordinates_from_pos(x, y, VIEWPORT_INTERACTION_MASK_NONE, NULL, NULL, &interactionType, NULL, NULL); - if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) - return; + sint32 interactionType; + get_map_coordinates_from_pos(x, y, VIEWPORT_INTERACTION_MASK_NONE, NULL, NULL, &interactionType, NULL, NULL); + if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) + return; - x--; - y += 16; - gPickupPeepX = x; - gPickupPeepY = y; - w->picked_peep_frame++; - if (w->picked_peep_frame >= 48) { - w->picked_peep_frame = 0; - } + x--; + y += 16; + gPickupPeepX = x; + gPickupPeepY = y; + w->picked_peep_frame++; + if (w->picked_peep_frame >= 48) { + w->picked_peep_frame = 0; + } - rct_peep* peep; - peep = GET_PEEP(w->number); + rct_peep* peep; + peep = GET_PEEP(w->number); - uint32 imageId = g_peep_animation_entries[peep->sprite_type].sprite_animation[PEEP_ACTION_SPRITE_TYPE_UI].base_image; - imageId += w->picked_peep_frame >> 2; + uint32 imageId = g_peep_animation_entries[peep->sprite_type].sprite_animation[PEEP_ACTION_SPRITE_TYPE_UI].base_image; + imageId += w->picked_peep_frame >> 2; - imageId |= (peep->tshirt_colour << 19) | (peep->trousers_colour << 24) | 0xA0000000; - gPickupPeepImage = imageId; + imageId |= (peep->tshirt_colour << 19) | (peep->trousers_colour << 24) | 0xA0000000; + gPickupPeepImage = imageId; } /** @@ -1216,18 +1216,18 @@ void window_guest_overview_tool_update(rct_window* w, rct_widgetindex widgetInde */ void window_guest_overview_tool_down(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (widgetIndex != WIDX_PICKUP) - return; + if (widgetIndex != WIDX_PICKUP) + return; - sint32 dest_x, dest_y; - rct_map_element* mapElement; - footpath_get_coordinates_from_pos(x, y + 16, &dest_x, &dest_y, NULL, &mapElement); + sint32 dest_x, dest_y; + rct_map_element* mapElement; + footpath_get_coordinates_from_pos(x, y + 16, &dest_x, &dest_y, NULL, &mapElement); - if (dest_x == MAP_LOCATION_NULL) - return; + if (dest_x == MAP_LOCATION_NULL) + return; - game_command_callback = game_command_callback_pickup_guest; - game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 2, mapElement->base_height, GAME_COMMAND_PICKUP_GUEST, dest_x, dest_y); + game_command_callback = game_command_callback_pickup_guest; + game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 2, mapElement->base_height, GAME_COMMAND_PICKUP_GUEST, dest_x, dest_y); } /** @@ -1236,10 +1236,10 @@ void window_guest_overview_tool_down(rct_window* w, rct_widgetindex widgetIndex, */ void window_guest_overview_tool_abort(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex != WIDX_PICKUP) - return; + if (widgetIndex != WIDX_PICKUP) + return; - game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 1, 0, GAME_COMMAND_PICKUP_GUEST, w->picked_peep_old_x, 0); + game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 1, 0, GAME_COMMAND_PICKUP_GUEST, w->picked_peep_old_x, 0); } /** @@ -1248,19 +1248,19 @@ void window_guest_overview_tool_abort(rct_window *w, rct_widgetindex widgetIndex */ void window_guest_mouse_up(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex){ - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - window_guest_set_page(w, widgetIndex - WIDX_TAB_1); - break; - } + switch (widgetIndex){ + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + window_guest_set_page(w, widgetIndex - WIDX_TAB_1); + break; + } } /** @@ -1269,7 +1269,7 @@ void window_guest_mouse_up(rct_window *w, rct_widgetindex widgetIndex) */ void window_guest_stats_resize(rct_window *w) { - window_set_resize(w, 192, 162, 192, 162); + window_set_resize(w, 192, 162, 192, 162); } /** @@ -1278,7 +1278,7 @@ void window_guest_stats_resize(rct_window *w) */ void window_guest_unknown_05(rct_window *w) { - widget_invalidate(w, WIDX_TAB_1); + widget_invalidate(w, WIDX_TAB_1); } /** @@ -1287,11 +1287,11 @@ void window_guest_unknown_05(rct_window *w) */ void window_guest_stats_update(rct_window *w) { - w->frame_no++; - rct_peep* peep = GET_PEEP(w->number); - peep->window_invalidate_flags &= ~PEEP_INVALIDATE_PEEP_STATS; + w->frame_no++; + rct_peep* peep = GET_PEEP(w->number); + peep->window_invalidate_flags &= ~PEEP_INVALIDATE_PEEP_STATS; - window_invalidate(w); + window_invalidate(w); } /** @@ -1300,29 +1300,29 @@ void window_guest_stats_update(rct_window *w) */ void window_guest_stats_invalidate(rct_window *w) { - if (w->widgets != window_guest_page_widgets[w->page]) { - w->widgets = window_guest_page_widgets[w->page]; - window_init_scroll_widgets(w); - } + if (w->widgets != window_guest_page_widgets[w->page]) { + w->widgets = window_guest_page_widgets[w->page]; + window_init_scroll_widgets(w); + } - w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); + w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); - rct_peep* peep = GET_PEEP(w->number); - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); + rct_peep* peep = GET_PEEP(w->number); + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); - window_guest_stats_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_guest_stats_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_guest_stats_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_guest_stats_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_guest_stats_widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; - window_guest_stats_widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + window_guest_stats_widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; + window_guest_stats_widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - window_guest_stats_widgets[WIDX_TITLE].right = w->width - 2; + window_guest_stats_widgets[WIDX_TITLE].right = w->width - 2; - window_guest_stats_widgets[WIDX_CLOSE].left = w->width - 13; - window_guest_stats_widgets[WIDX_CLOSE].right = w->width - 3; + window_guest_stats_widgets[WIDX_CLOSE].left = w->width - 13; + window_guest_stats_widgets[WIDX_CLOSE].right = w->width - 3; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6); } /** @@ -1332,21 +1332,21 @@ void window_guest_stats_invalidate(rct_window *w) * ebp: colour, contains flag 0x80000000 for blinking */ static void window_guest_stats_bars_paint(sint32 value, sint32 x, sint32 y, rct_window *w, rct_drawpixelinfo *dpi, sint32 colour){ - value *= 0x76; - value >>= 8; + value *= 0x76; + value >>= 8; - gfx_fill_rect_inset(dpi, x + 0x3A, y + 1, x + 0x3A + 0x79, y + 9, w->colours[1], INSET_RECT_F_30); + gfx_fill_rect_inset(dpi, x + 0x3A, y + 1, x + 0x3A + 0x79, y + 9, w->colours[1], INSET_RECT_F_30); - sint32 blink_flag = colour & (1u << 0x1F); //0x80000000 - colour &= ~(1u << 0x1F); - if (!blink_flag || - game_is_paused() || - (gCurrentTicks & 8) == 0) - { - if (value <= 2) - return; - gfx_fill_rect_inset(dpi, x + 0x3C, y + 2, x + 0x3C + value - 1, y + 8, colour, 0); - } + sint32 blink_flag = colour & (1u << 0x1F); //0x80000000 + colour &= ~(1u << 0x1F); + if (!blink_flag || + game_is_paused() || + (gCurrentTicks & 8) == 0) + { + if (value <= 2) + return; + gfx_fill_rect_inset(dpi, x + 0x3C, y + 2, x + 0x3C + value - 1, y + 8, colour, 0); + } } @@ -1356,159 +1356,159 @@ static void window_guest_stats_bars_paint(sint32 value, sint32 x, sint32 y, rct_ */ void window_guest_stats_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_guest_overview_tab_paint(w, dpi); - window_guest_stats_tab_paint(w, dpi); - window_guest_rides_tab_paint(w, dpi); - window_guest_finance_tab_paint(w, dpi); - window_guest_thoughts_tab_paint(w, dpi); - window_guest_inventory_tab_paint(w, dpi); + window_draw_widgets(w, dpi); + window_guest_overview_tab_paint(w, dpi); + window_guest_stats_tab_paint(w, dpi); + window_guest_rides_tab_paint(w, dpi); + window_guest_finance_tab_paint(w, dpi); + window_guest_thoughts_tab_paint(w, dpi); + window_guest_inventory_tab_paint(w, dpi); - // ebx - rct_peep* peep = GET_PEEP(w->number); + // ebx + rct_peep* peep = GET_PEEP(w->number); - // Not sure why this is not stats widgets - // cx - sint32 x = w->x + window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].left + 4; - // dx - sint32 y = w->y + window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].top + 4; + // Not sure why this is not stats widgets + // cx + sint32 x = w->x + window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].left + 4; + // dx + sint32 y = w->y + window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].top + 4; - // Happiness - gfx_draw_string_left(dpi, STR_GUEST_STAT_HAPPINESS_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); + // Happiness + gfx_draw_string_left(dpi, STR_GUEST_STAT_HAPPINESS_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); - sint32 happiness = peep->happiness; - if (happiness < 10)happiness = 10; - sint32 ebp = COLOUR_BRIGHT_GREEN; - if (happiness < 50){ - ebp |= 0x80000000; - } - window_guest_stats_bars_paint(happiness, x, y, w, dpi, ebp); + sint32 happiness = peep->happiness; + if (happiness < 10)happiness = 10; + sint32 ebp = COLOUR_BRIGHT_GREEN; + if (happiness < 50){ + ebp |= 0x80000000; + } + window_guest_stats_bars_paint(happiness, x, y, w, dpi, ebp); - // Energy - y += 10; - gfx_draw_string_left(dpi, STR_GUEST_STAT_ENERGY_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); + // Energy + y += 10; + gfx_draw_string_left(dpi, STR_GUEST_STAT_ENERGY_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); - sint32 energy = ((peep->energy - 32) * 85) / 32; - ebp = COLOUR_BRIGHT_GREEN; - if (energy < 50){ - ebp |= 0x80000000; - } - if (energy < 10)energy = 10; - window_guest_stats_bars_paint(energy, x, y, w, dpi, ebp); + sint32 energy = ((peep->energy - 32) * 85) / 32; + ebp = COLOUR_BRIGHT_GREEN; + if (energy < 50){ + ebp |= 0x80000000; + } + if (energy < 10)energy = 10; + window_guest_stats_bars_paint(energy, x, y, w, dpi, ebp); - // Hunger - y += 10; - gfx_draw_string_left(dpi, STR_GUEST_STAT_HUNGER_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); + // Hunger + y += 10; + gfx_draw_string_left(dpi, STR_GUEST_STAT_HUNGER_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); - sint32 hunger = peep->hunger; - if (hunger > 190) hunger = 190; + sint32 hunger = peep->hunger; + if (hunger > 190) hunger = 190; - hunger -= 32; - if (hunger < 0) hunger = 0; - hunger *= 51; - hunger /= 32; - hunger = 0xFF & ~hunger; + hunger -= 32; + if (hunger < 0) hunger = 0; + hunger *= 51; + hunger /= 32; + hunger = 0xFF & ~hunger; - ebp = COLOUR_BRIGHT_RED; - if (hunger > 170){ - ebp |= 0x80000000; - } - window_guest_stats_bars_paint(hunger, x, y, w, dpi, ebp); + ebp = COLOUR_BRIGHT_RED; + if (hunger > 170){ + ebp |= 0x80000000; + } + window_guest_stats_bars_paint(hunger, x, y, w, dpi, ebp); - // Thirst - y += 10; - gfx_draw_string_left(dpi, STR_GUEST_STAT_THIRST_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); + // Thirst + y += 10; + gfx_draw_string_left(dpi, STR_GUEST_STAT_THIRST_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); - sint32 thirst = peep->thirst; - if (thirst > 190) thirst = 190; + sint32 thirst = peep->thirst; + if (thirst > 190) thirst = 190; - thirst -= 32; - if (thirst < 0) thirst = 0; - thirst *= 51; - thirst /= 32; - thirst = 0xFF & ~thirst; + thirst -= 32; + if (thirst < 0) thirst = 0; + thirst *= 51; + thirst /= 32; + thirst = 0xFF & ~thirst; - ebp = COLOUR_BRIGHT_RED; - if (thirst > 170){ - ebp |= 0x80000000; - } - window_guest_stats_bars_paint(thirst, x, y, w, dpi, ebp); + ebp = COLOUR_BRIGHT_RED; + if (thirst > 170){ + ebp |= 0x80000000; + } + window_guest_stats_bars_paint(thirst, x, y, w, dpi, ebp); - // Nausea - y += 10; - gfx_draw_string_left(dpi, STR_GUEST_STAT_NAUSEA_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); + // Nausea + y += 10; + gfx_draw_string_left(dpi, STR_GUEST_STAT_NAUSEA_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); - sint32 nausea = peep->nausea - 32; + sint32 nausea = peep->nausea - 32; - if (nausea < 0) nausea = 0; - nausea *= 36; - nausea /= 32; + if (nausea < 0) nausea = 0; + nausea *= 36; + nausea /= 32; - ebp = COLOUR_BRIGHT_RED; - if (nausea > 120){ - ebp |= 0x80000000; - } - window_guest_stats_bars_paint(nausea, x, y, w, dpi, ebp); + ebp = COLOUR_BRIGHT_RED; + if (nausea > 120){ + ebp |= 0x80000000; + } + window_guest_stats_bars_paint(nausea, x, y, w, dpi, ebp); - // Bathroom - y += 10; - gfx_draw_string_left(dpi, STR_GUEST_STAT_TOILET_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); + // Bathroom + y += 10; + gfx_draw_string_left(dpi, STR_GUEST_STAT_TOILET_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); - sint32 bathroom = peep->bathroom - 32; - if (bathroom > 210) bathroom = 210; + sint32 bathroom = peep->bathroom - 32; + if (bathroom > 210) bathroom = 210; - bathroom -= 32; - if (bathroom < 0) bathroom = 0; - bathroom *= 45; - bathroom /= 32; + bathroom -= 32; + if (bathroom < 0) bathroom = 0; + bathroom *= 45; + bathroom /= 32; - ebp = COLOUR_BRIGHT_RED; - if (bathroom > 160){ - ebp |= 0x80000000; - } - window_guest_stats_bars_paint(bathroom, x, y, w, dpi, ebp); + ebp = COLOUR_BRIGHT_RED; + if (bathroom > 160){ + ebp |= 0x80000000; + } + window_guest_stats_bars_paint(bathroom, x, y, w, dpi, ebp); - // Time in park - y += 11; - if (peep->time_in_park != -1){ - sint32 eax = gScenarioTicks; - eax -= peep->time_in_park; - eax >>= 11; - set_format_arg(0, uint16, eax & 0xFFFF); - gfx_draw_string_left(dpi, STR_GUEST_STAT_TIME_IN_PARK, gCommonFormatArgs, COLOUR_BLACK, x, y); - } + // Time in park + y += 11; + if (peep->time_in_park != -1){ + sint32 eax = gScenarioTicks; + eax -= peep->time_in_park; + eax >>= 11; + set_format_arg(0, uint16, eax & 0xFFFF); + gfx_draw_string_left(dpi, STR_GUEST_STAT_TIME_IN_PARK, gCommonFormatArgs, COLOUR_BLACK, x, y); + } - y += 19; - gfx_fill_rect_inset(dpi, x, y - 6, x + 179, y - 5, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); + y += 19; + gfx_fill_rect_inset(dpi, x, y - 6, x + 179, y - 5, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); - // Preferred Ride - gfx_draw_string_left(dpi, STR_GUEST_STAT_PREFERRED_RIDE, NULL, COLOUR_BLACK, x, y); - y += 10; + // Preferred Ride + gfx_draw_string_left(dpi, STR_GUEST_STAT_PREFERRED_RIDE, NULL, COLOUR_BLACK, x, y); + y += 10; - // Intensity - sint32 intensity = peep->intensity / 16; - set_format_arg(0, uint16, intensity); - sint32 string_id = STR_GUEST_STAT_PREFERRED_INTESITY_BELOW; - if (peep->intensity & 0xF){ - set_format_arg(0, uint16, peep->intensity & 0xF); - set_format_arg(2, uint16, intensity); - string_id = STR_GUEST_STAT_PREFERRED_INTESITY_BETWEEN; - if (intensity == 15) string_id = STR_GUEST_STAT_PREFERRED_INTESITY_ABOVE; - } + // Intensity + sint32 intensity = peep->intensity / 16; + set_format_arg(0, uint16, intensity); + sint32 string_id = STR_GUEST_STAT_PREFERRED_INTESITY_BELOW; + if (peep->intensity & 0xF){ + set_format_arg(0, uint16, peep->intensity & 0xF); + set_format_arg(2, uint16, intensity); + string_id = STR_GUEST_STAT_PREFERRED_INTESITY_BETWEEN; + if (intensity == 15) string_id = STR_GUEST_STAT_PREFERRED_INTESITY_ABOVE; + } - gfx_draw_string_left(dpi, string_id, gCommonFormatArgs, COLOUR_BLACK, x + 4, y); + gfx_draw_string_left(dpi, string_id, gCommonFormatArgs, COLOUR_BLACK, x + 4, y); - // Nausea tolerance - static const rct_string_id nauseaTolerances[] = { - STR_PEEP_STAT_NAUSEA_TOLERANCE_NONE, - STR_PEEP_STAT_NAUSEA_TOLERANCE_LOW, - STR_PEEP_STAT_NAUSEA_TOLERANCE_AVERAGE, - STR_PEEP_STAT_NAUSEA_TOLERANCE_HIGH, - }; - y += 10; - sint32 nausea_tolerance = peep->nausea_tolerance & 0x3; - set_format_arg(0, rct_string_id, nauseaTolerances[nausea_tolerance]); - gfx_draw_string_left(dpi, STR_GUEST_STAT_NAUSEA_TOLERANCE, gCommonFormatArgs, COLOUR_BLACK, x, y); + // Nausea tolerance + static const rct_string_id nauseaTolerances[] = { + STR_PEEP_STAT_NAUSEA_TOLERANCE_NONE, + STR_PEEP_STAT_NAUSEA_TOLERANCE_LOW, + STR_PEEP_STAT_NAUSEA_TOLERANCE_AVERAGE, + STR_PEEP_STAT_NAUSEA_TOLERANCE_HIGH, + }; + y += 10; + sint32 nausea_tolerance = peep->nausea_tolerance & 0x3; + set_format_arg(0, rct_string_id, nauseaTolerances[nausea_tolerance]); + gfx_draw_string_left(dpi, STR_GUEST_STAT_NAUSEA_TOLERANCE, gCommonFormatArgs, COLOUR_BLACK, x, y); } /** @@ -1517,7 +1517,7 @@ void window_guest_stats_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_guest_rides_resize(rct_window *w) { - window_set_resize(w, 192, 128, 500, 400); + window_set_resize(w, 192, 128, 500, 400); } /** @@ -1526,35 +1526,35 @@ void window_guest_rides_resize(rct_window *w) */ void window_guest_rides_update(rct_window *w) { - w->frame_no++; + w->frame_no++; - widget_invalidate(w, WIDX_TAB_2); - widget_invalidate(w, WIDX_TAB_3); + widget_invalidate(w, WIDX_TAB_2); + widget_invalidate(w, WIDX_TAB_3); - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - // Every 2048 ticks do a full window_invalidate - sint32 number_of_ticks = gScenarioTicks - peep->time_in_park; - if (!(number_of_ticks & 0x7FF)) window_invalidate(w); + // Every 2048 ticks do a full window_invalidate + sint32 number_of_ticks = gScenarioTicks - peep->time_in_park; + if (!(number_of_ticks & 0x7FF)) window_invalidate(w); - uint8 curr_list_position = 0; - for (uint8 ride_id = 0; ride_id < 255; ++ride_id){ - // Offset to the ride_id bit in peep_rides_been_on - uint8 ride_id_bit = ride_id % 8; - uint8 ride_id_offset = ride_id / 8; - if (peep->rides_been_on[ride_id_offset] & (1 << ride_id_bit)){ - rct_ride* ride = get_ride(ride_id); - if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE){ - w->list_item_positions[curr_list_position] = ride_id; - curr_list_position++; - } - } - } - // If there are new items - if (w->no_list_items != curr_list_position){ - w->no_list_items = curr_list_position; - window_invalidate(w); - } + uint8 curr_list_position = 0; + for (uint8 ride_id = 0; ride_id < 255; ++ride_id){ + // Offset to the ride_id bit in peep_rides_been_on + uint8 ride_id_bit = ride_id % 8; + uint8 ride_id_offset = ride_id / 8; + if (peep->rides_been_on[ride_id_offset] & (1 << ride_id_bit)){ + rct_ride* ride = get_ride(ride_id); + if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE){ + w->list_item_positions[curr_list_position] = ride_id; + curr_list_position++; + } + } + } + // If there are new items + if (w->no_list_items != curr_list_position){ + w->no_list_items = curr_list_position; + window_invalidate(w); + } } /** @@ -1563,7 +1563,7 @@ void window_guest_rides_update(rct_window *w) */ void window_guest_rides_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_LIST); + set_format_arg(0, rct_string_id, STR_LIST); } /** @@ -1572,24 +1572,24 @@ void window_guest_rides_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_ */ void window_guest_rides_scroll_get_size(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - *height = w->no_list_items * 10; + *height = w->no_list_items * 10; - if (w->selected_list_item != -1){ - w->selected_list_item = -1; - window_invalidate(w); - } + if (w->selected_list_item != -1){ + w->selected_list_item = -1; + window_invalidate(w); + } - sint32 visable_height = *height - - window_guest_rides_widgets[WIDX_RIDE_SCROLL].bottom - + window_guest_rides_widgets[WIDX_RIDE_SCROLL].top - + 21; + sint32 visable_height = *height + - window_guest_rides_widgets[WIDX_RIDE_SCROLL].bottom + + window_guest_rides_widgets[WIDX_RIDE_SCROLL].top + + 21; - if (visable_height < 0) visable_height = 0; + if (visable_height < 0) visable_height = 0; - if (visable_height < w->scrolls[0].v_top){ - w->scrolls[0].v_top = visable_height; - window_invalidate(w); - } + if (visable_height < w->scrolls[0].v_top){ + w->scrolls[0].v_top = visable_height; + window_invalidate(w); + } } /** @@ -1598,12 +1598,12 @@ void window_guest_rides_scroll_get_size(rct_window *w, sint32 scrollIndex, sint3 */ void window_guest_rides_scroll_mouse_down(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 index; + sint32 index; - index = y / 10; - if (index >= w->no_list_items) return; + index = y / 10; + if (index >= w->no_list_items) return; - window_ride_main_open(w->list_item_positions[index]); + window_ride_main_open(w->list_item_positions[index]); } /** @@ -1612,15 +1612,15 @@ void window_guest_rides_scroll_mouse_down(rct_window *w, sint32 scrollIndex, sin */ void window_guest_rides_scroll_mouse_over(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 index; + sint32 index; - index = y / 10; - if (index >= w->no_list_items)return; + index = y / 10; + if (index >= w->no_list_items)return; - if (index == w->selected_list_item)return; - w->selected_list_item = index; + if (index == w->selected_list_item)return; + w->selected_list_item = index; - window_invalidate(w); + window_invalidate(w); } /** @@ -1629,32 +1629,32 @@ void window_guest_rides_scroll_mouse_over(rct_window *w, sint32 scrollIndex, sin */ void window_guest_rides_invalidate(rct_window *w) { - if (window_guest_page_widgets[w->page] != w->widgets){ - w->widgets = window_guest_page_widgets[w->page]; - window_init_scroll_widgets(w); - } + if (window_guest_page_widgets[w->page] != w->widgets){ + w->widgets = window_guest_page_widgets[w->page]; + window_init_scroll_widgets(w); + } - w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); + w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); - rct_peep* peep = GET_PEEP(w->number); - set_format_arg(0, uint16, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); + rct_peep* peep = GET_PEEP(w->number); + set_format_arg(0, uint16, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); - window_guest_rides_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_guest_rides_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_guest_rides_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_guest_rides_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; - window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; + window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - window_guest_rides_widgets[WIDX_TITLE].right = w->width - 2; + window_guest_rides_widgets[WIDX_TITLE].right = w->width - 2; - window_guest_rides_widgets[WIDX_CLOSE].left = w->width - 13; - window_guest_rides_widgets[WIDX_CLOSE].right = w->width - 3; + window_guest_rides_widgets[WIDX_CLOSE].left = w->width - 13; + window_guest_rides_widgets[WIDX_CLOSE].right = w->width - 3; - window_guest_rides_widgets[WIDX_RIDE_SCROLL].right = w->width - 4; - window_guest_rides_widgets[WIDX_RIDE_SCROLL].bottom = w->height - 15; + window_guest_rides_widgets[WIDX_RIDE_SCROLL].right = w->width - 4; + window_guest_rides_widgets[WIDX_RIDE_SCROLL].bottom = w->height - 15; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6); } /** @@ -1663,36 +1663,36 @@ void window_guest_rides_invalidate(rct_window *w) */ void window_guest_rides_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_guest_overview_tab_paint(w, dpi); - window_guest_stats_tab_paint(w, dpi); - window_guest_rides_tab_paint(w, dpi); - window_guest_finance_tab_paint(w, dpi); - window_guest_thoughts_tab_paint(w, dpi); - window_guest_inventory_tab_paint(w, dpi); + window_draw_widgets(w, dpi); + window_guest_overview_tab_paint(w, dpi); + window_guest_stats_tab_paint(w, dpi); + window_guest_rides_tab_paint(w, dpi); + window_guest_finance_tab_paint(w, dpi); + window_guest_thoughts_tab_paint(w, dpi); + window_guest_inventory_tab_paint(w, dpi); - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - // cx - sint32 x = w->x + window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].left + 2; - // dx - sint32 y = w->y + window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].top + 2; + // cx + sint32 x = w->x + window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].left + 2; + // dx + sint32 y = w->y + window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].top + 2; - gfx_draw_string_left(dpi, STR_GUEST_LABEL_RIDES_BEEN_ON, NULL, COLOUR_BLACK, x, y); + gfx_draw_string_left(dpi, STR_GUEST_LABEL_RIDES_BEEN_ON, NULL, COLOUR_BLACK, x, y); - y = w->y + window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].bottom - 12; + y = w->y + window_guest_rides_widgets[WIDX_PAGE_BACKGROUND].bottom - 12; - sint32 ride_string_id = STR_PEEP_FAVOURITE_RIDE_NOT_AVAILABLE; - sint32 ride_string_arguments = 0; - if (peep->favourite_ride != 0xFF){ - rct_ride* ride = get_ride(peep->favourite_ride); - ride_string_arguments = ride->name_arguments; - ride_string_id = ride->name; - } - set_format_arg(0, rct_string_id, ride_string_id); - set_format_arg(2, uint32, ride_string_arguments); + sint32 ride_string_id = STR_PEEP_FAVOURITE_RIDE_NOT_AVAILABLE; + sint32 ride_string_arguments = 0; + if (peep->favourite_ride != 0xFF){ + rct_ride* ride = get_ride(peep->favourite_ride); + ride_string_arguments = ride->name_arguments; + ride_string_id = ride->name; + } + set_format_arg(0, rct_string_id, ride_string_id); + set_format_arg(2, uint32, ride_string_arguments); - gfx_draw_string_left_clipped(dpi, STR_FAVOURITE_RIDE, gCommonFormatArgs, COLOUR_BLACK, x, y, w->width - 14); + gfx_draw_string_left_clipped(dpi, STR_FAVOURITE_RIDE, gCommonFormatArgs, COLOUR_BLACK, x, y, w->width - 14); } /** @@ -1701,29 +1701,29 @@ void window_guest_rides_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_guest_rides_scroll_paint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - // ax - sint32 left = dpi->x; - // bx - sint32 right = dpi->x + dpi->width - 1; - // cx - sint32 top = dpi->y; - // dx - sint32 bottom = dpi->y + dpi->height - 1; + // ax + sint32 left = dpi->x; + // bx + sint32 right = dpi->x + dpi->width - 1; + // cx + sint32 top = dpi->y; + // dx + sint32 bottom = dpi->y + dpi->height - 1; - sint32 colour = ColourMapA[w->colours[1]].mid_light; - gfx_fill_rect(dpi, left, top, right, bottom, colour); + sint32 colour = ColourMapA[w->colours[1]].mid_light; + gfx_fill_rect(dpi, left, top, right, bottom, colour); - for (sint32 list_index = 0; list_index < w->no_list_items; list_index++){ - sint32 y = list_index * 10; - sint32 string_format = STR_BLACK_STRING; - if (list_index == w->selected_list_item){ - gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); - string_format = STR_WINDOW_COLOUR_2_STRINGID; - } - rct_ride* ride = get_ride(w->list_item_positions[list_index]); + for (sint32 list_index = 0; list_index < w->no_list_items; list_index++){ + sint32 y = list_index * 10; + sint32 string_format = STR_BLACK_STRING; + if (list_index == w->selected_list_item){ + gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); + string_format = STR_WINDOW_COLOUR_2_STRINGID; + } + rct_ride* ride = get_ride(w->list_item_positions[list_index]); - gfx_draw_string_left(dpi, string_format, (void*)&ride->name, COLOUR_BLACK, 0, y - 1); - } + gfx_draw_string_left(dpi, string_format, (void*)&ride->name, COLOUR_BLACK, 0, y - 1); + } } /** @@ -1732,7 +1732,7 @@ void window_guest_rides_scroll_paint(rct_window *w, rct_drawpixelinfo *dpi, sint */ void window_guest_finance_resize(rct_window *w) { - window_set_resize(w, 210, 134, 210, 134); + window_set_resize(w, 210, 134, 210, 134); } /** @@ -1741,10 +1741,10 @@ void window_guest_finance_resize(rct_window *w) */ void window_guest_finance_update(rct_window *w) { - w->frame_no++; + w->frame_no++; - widget_invalidate(w, WIDX_TAB_2); - widget_invalidate(w, WIDX_TAB_4); + widget_invalidate(w, WIDX_TAB_2); + widget_invalidate(w, WIDX_TAB_4); } /** @@ -1753,30 +1753,30 @@ void window_guest_finance_update(rct_window *w) */ void window_guest_finance_invalidate(rct_window *w) { - if (window_guest_page_widgets[w->page] != w->widgets){ - w->widgets = window_guest_page_widgets[w->page]; - window_init_scroll_widgets(w); - } + if (window_guest_page_widgets[w->page] != w->widgets){ + w->widgets = window_guest_page_widgets[w->page]; + window_init_scroll_widgets(w); + } - w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); + w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); - window_guest_finance_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_guest_finance_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_guest_finance_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_guest_finance_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_guest_finance_widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; - window_guest_finance_widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + window_guest_finance_widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; + window_guest_finance_widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - window_guest_finance_widgets[WIDX_TITLE].right = w->width - 2; + window_guest_finance_widgets[WIDX_TITLE].right = w->width - 2; - window_guest_finance_widgets[WIDX_CLOSE].left = w->width - 13; - window_guest_finance_widgets[WIDX_CLOSE].right = w->width - 3; + window_guest_finance_widgets[WIDX_CLOSE].left = w->width - 13; + window_guest_finance_widgets[WIDX_CLOSE].right = w->width - 3; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6); } /** @@ -1785,80 +1785,80 @@ void window_guest_finance_invalidate(rct_window *w) */ void window_guest_finance_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_guest_overview_tab_paint(w, dpi); - window_guest_stats_tab_paint(w, dpi); - window_guest_rides_tab_paint(w, dpi); - window_guest_finance_tab_paint(w, dpi); - window_guest_thoughts_tab_paint(w, dpi); - window_guest_inventory_tab_paint(w, dpi); + window_draw_widgets(w, dpi); + window_guest_overview_tab_paint(w, dpi); + window_guest_stats_tab_paint(w, dpi); + window_guest_rides_tab_paint(w, dpi); + window_guest_finance_tab_paint(w, dpi); + window_guest_thoughts_tab_paint(w, dpi); + window_guest_inventory_tab_paint(w, dpi); - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - // cx - sint32 x = w->x + window_guest_finance_widgets[WIDX_PAGE_BACKGROUND].left + 4; - // dx - sint32 y = w->y + window_guest_finance_widgets[WIDX_PAGE_BACKGROUND].top + 4; + // cx + sint32 x = w->x + window_guest_finance_widgets[WIDX_PAGE_BACKGROUND].left + 4; + // dx + sint32 y = w->y + window_guest_finance_widgets[WIDX_PAGE_BACKGROUND].top + 4; - // Cash in pocket - set_format_arg(0, money32, peep->cash_in_pocket); - gfx_draw_string_left(dpi, STR_GUEST_STAT_CASH_IN_POCKET, gCommonFormatArgs, COLOUR_BLACK, x, y); + // Cash in pocket + set_format_arg(0, money32, peep->cash_in_pocket); + gfx_draw_string_left(dpi, STR_GUEST_STAT_CASH_IN_POCKET, gCommonFormatArgs, COLOUR_BLACK, x, y); - // Cash spent - y += 10; - set_format_arg(0, money32, peep->cash_spent); - gfx_draw_string_left(dpi, STR_GUEST_STAT_CASH_SPENT, gCommonFormatArgs, COLOUR_BLACK, x, y); + // Cash spent + y += 10; + set_format_arg(0, money32, peep->cash_spent); + gfx_draw_string_left(dpi, STR_GUEST_STAT_CASH_SPENT, gCommonFormatArgs, COLOUR_BLACK, x, y); - y += 20; - gfx_fill_rect_inset(dpi, x, y - 6, x + 179, y - 5, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); + y += 20; + gfx_fill_rect_inset(dpi, x, y - 6, x + 179, y - 5, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); - // Paid to enter - set_format_arg(0, money32, peep->paid_to_enter); - gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_ENTRANCE_FEE, gCommonFormatArgs, COLOUR_BLACK, x, y); + // Paid to enter + set_format_arg(0, money32, peep->paid_to_enter); + gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_ENTRANCE_FEE, gCommonFormatArgs, COLOUR_BLACK, x, y); - // Paid on rides - y += 10; - set_format_arg(0, money32, peep->paid_on_rides); - set_format_arg(4, uint16, peep->no_of_rides); - if (peep->no_of_rides != 1){ - gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_RIDE_PLURAL, gCommonFormatArgs, COLOUR_BLACK, x, y); - } - else{ - gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_RIDE, gCommonFormatArgs, COLOUR_BLACK, x, y); - } + // Paid on rides + y += 10; + set_format_arg(0, money32, peep->paid_on_rides); + set_format_arg(4, uint16, peep->no_of_rides); + if (peep->no_of_rides != 1){ + gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_RIDE_PLURAL, gCommonFormatArgs, COLOUR_BLACK, x, y); + } + else{ + gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_RIDE, gCommonFormatArgs, COLOUR_BLACK, x, y); + } - // Paid on food - y += 10; - set_format_arg(0, money32, peep->paid_on_food); - set_format_arg(4, uint16, peep->no_of_food); - if (peep->no_of_food != 1){ - gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_FOOD_PLURAL, gCommonFormatArgs, COLOUR_BLACK, x, y); - } - else{ - gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_FOOD, gCommonFormatArgs, COLOUR_BLACK, x, y); - } + // Paid on food + y += 10; + set_format_arg(0, money32, peep->paid_on_food); + set_format_arg(4, uint16, peep->no_of_food); + if (peep->no_of_food != 1){ + gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_FOOD_PLURAL, gCommonFormatArgs, COLOUR_BLACK, x, y); + } + else{ + gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_FOOD, gCommonFormatArgs, COLOUR_BLACK, x, y); + } - // Paid on drinks - y += 10; - set_format_arg(0, money32, peep->paid_on_drink); - set_format_arg(4, uint16, peep->no_of_drinks); - if (peep->no_of_drinks != 1){ - gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_DRINK_PLURAL, gCommonFormatArgs, COLOUR_BLACK, x, y); - } - else{ - gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_DRINK, gCommonFormatArgs, COLOUR_BLACK, x, y); - } + // Paid on drinks + y += 10; + set_format_arg(0, money32, peep->paid_on_drink); + set_format_arg(4, uint16, peep->no_of_drinks); + if (peep->no_of_drinks != 1){ + gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_DRINK_PLURAL, gCommonFormatArgs, COLOUR_BLACK, x, y); + } + else{ + gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_DRINK, gCommonFormatArgs, COLOUR_BLACK, x, y); + } - // Paid on souvenirs - y += 10; - set_format_arg(0, money32, peep->paid_on_souvenirs); - set_format_arg(4, uint16, peep->no_of_souvenirs); - if (peep->no_of_souvenirs != 1){ - gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_SOUVENIR_PLURAL, gCommonFormatArgs, COLOUR_BLACK, x, y); - } - else{ - gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_SOUVENIR, gCommonFormatArgs, COLOUR_BLACK, x, y); - } + // Paid on souvenirs + y += 10; + set_format_arg(0, money32, peep->paid_on_souvenirs); + set_format_arg(4, uint16, peep->no_of_souvenirs); + if (peep->no_of_souvenirs != 1){ + gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_SOUVENIR_PLURAL, gCommonFormatArgs, COLOUR_BLACK, x, y); + } + else{ + gfx_draw_string_left(dpi, STR_GUEST_EXPENSES_SOUVENIR, gCommonFormatArgs, COLOUR_BLACK, x, y); + } } /** @@ -1867,13 +1867,13 @@ void window_guest_finance_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_guest_thoughts_resize(rct_window *w) { - rct_peep* peep = GET_PEEP(w->number); - if (peep->window_invalidate_flags & PEEP_INVALIDATE_PEEP_THOUGHTS){ - peep->window_invalidate_flags &= ~PEEP_INVALIDATE_PEEP_THOUGHTS; - window_invalidate(w); - } + rct_peep* peep = GET_PEEP(w->number); + if (peep->window_invalidate_flags & PEEP_INVALIDATE_PEEP_THOUGHTS){ + peep->window_invalidate_flags &= ~PEEP_INVALIDATE_PEEP_THOUGHTS; + window_invalidate(w); + } - window_set_resize(w, 192, 159, 500, 450); + window_set_resize(w, 192, 159, 500, 450); } /** @@ -1882,10 +1882,10 @@ void window_guest_thoughts_resize(rct_window *w) */ void window_guest_thoughts_update(rct_window *w) { - w->frame_no++; + w->frame_no++; - widget_invalidate(w, WIDX_TAB_2); - widget_invalidate(w, WIDX_TAB_5); + widget_invalidate(w, WIDX_TAB_2); + widget_invalidate(w, WIDX_TAB_5); } /** @@ -1894,30 +1894,30 @@ void window_guest_thoughts_update(rct_window *w) */ void window_guest_thoughts_invalidate(rct_window *w) { - if (window_guest_page_widgets[w->page] != w->widgets){ - w->widgets = window_guest_page_widgets[w->page]; - window_init_scroll_widgets(w); - } + if (window_guest_page_widgets[w->page] != w->widgets){ + w->widgets = window_guest_page_widgets[w->page]; + window_init_scroll_widgets(w); + } - w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); + w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); - window_guest_thoughts_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_guest_thoughts_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_guest_thoughts_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_guest_thoughts_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; - window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; + window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - window_guest_thoughts_widgets[WIDX_TITLE].right = w->width - 2; + window_guest_thoughts_widgets[WIDX_TITLE].right = w->width - 2; - window_guest_thoughts_widgets[WIDX_CLOSE].left = w->width - 13; - window_guest_thoughts_widgets[WIDX_CLOSE].right = w->width - 3; + window_guest_thoughts_widgets[WIDX_CLOSE].left = w->width - 13; + window_guest_thoughts_widgets[WIDX_CLOSE].right = w->width - 3; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6); } /** @@ -1926,38 +1926,38 @@ void window_guest_thoughts_invalidate(rct_window *w) */ void window_guest_thoughts_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_guest_overview_tab_paint(w, dpi); - window_guest_stats_tab_paint(w, dpi); - window_guest_rides_tab_paint(w, dpi); - window_guest_finance_tab_paint(w, dpi); - window_guest_thoughts_tab_paint(w, dpi); - window_guest_inventory_tab_paint(w, dpi); + window_draw_widgets(w, dpi); + window_guest_overview_tab_paint(w, dpi); + window_guest_stats_tab_paint(w, dpi); + window_guest_rides_tab_paint(w, dpi); + window_guest_finance_tab_paint(w, dpi); + window_guest_thoughts_tab_paint(w, dpi); + window_guest_inventory_tab_paint(w, dpi); - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - // cx - sint32 x = w->x + window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].left + 4; - // dx - sint32 y = w->y + window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].top + 4; + // cx + sint32 x = w->x + window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].left + 4; + // dx + sint32 y = w->y + window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].top + 4; - gfx_draw_string_left(dpi, STR_GUEST_RECENT_THOUGHTS_LABEL, NULL, COLOUR_BLACK, x, y); + gfx_draw_string_left(dpi, STR_GUEST_RECENT_THOUGHTS_LABEL, NULL, COLOUR_BLACK, x, y); - y += 10; - for (rct_peep_thought* thought = peep->thoughts; thought < &peep->thoughts[PEEP_MAX_THOUGHTS]; ++thought){ - if (thought->type == PEEP_THOUGHT_TYPE_NONE) return; - if (thought->var_2 == 0) continue; + y += 10; + for (rct_peep_thought* thought = peep->thoughts; thought < &peep->thoughts[PEEP_MAX_THOUGHTS]; ++thought){ + if (thought->type == PEEP_THOUGHT_TYPE_NONE) return; + if (thought->var_2 == 0) continue; - sint32 width = window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].right - - window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].left - - 8; + sint32 width = window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].right + - window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].left + - 8; - peep_thought_set_format_args(thought); - y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, width, STR_BLACK_STRING, COLOUR_BLACK); + peep_thought_set_format_args(thought); + y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, width, STR_BLACK_STRING, COLOUR_BLACK); - // If this is the last visible line end drawing. - if (y > w->y + window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].bottom - 32) return; - } + // If this is the last visible line end drawing. + if (y > w->y + window_guest_thoughts_widgets[WIDX_PAGE_BACKGROUND].bottom - 32) return; + } } @@ -1967,13 +1967,13 @@ void window_guest_thoughts_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_guest_inventory_resize(rct_window *w) { - rct_peep* peep = GET_PEEP(w->number); - if (peep->window_invalidate_flags & PEEP_INVALIDATE_PEEP_INVENTORY){ - peep->window_invalidate_flags &= ~PEEP_INVALIDATE_PEEP_INVENTORY; - window_invalidate(w); - } + rct_peep* peep = GET_PEEP(w->number); + if (peep->window_invalidate_flags & PEEP_INVALIDATE_PEEP_INVENTORY){ + peep->window_invalidate_flags &= ~PEEP_INVALIDATE_PEEP_INVENTORY; + window_invalidate(w); + } - window_set_resize(w, 192, 159, 500, 450); + window_set_resize(w, 192, 159, 500, 450); } /** @@ -1982,10 +1982,10 @@ void window_guest_inventory_resize(rct_window *w) */ void window_guest_inventory_update(rct_window *w) { - w->frame_no++; + w->frame_no++; - widget_invalidate(w, WIDX_TAB_2); - widget_invalidate(w, WIDX_TAB_6); + widget_invalidate(w, WIDX_TAB_2); + widget_invalidate(w, WIDX_TAB_6); } /** @@ -1994,103 +1994,103 @@ void window_guest_inventory_update(rct_window *w) */ void window_guest_inventory_invalidate(rct_window *w) { - if (window_guest_page_widgets[w->page] != w->widgets){ - w->widgets = window_guest_page_widgets[w->page]; - window_init_scroll_widgets(w); - } + if (window_guest_page_widgets[w->page] != w->widgets){ + w->widgets = window_guest_page_widgets[w->page]; + window_init_scroll_widgets(w); + } - w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); + w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); - window_guest_inventory_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_guest_inventory_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_guest_inventory_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_guest_inventory_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; - window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; + window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - window_guest_inventory_widgets[WIDX_TITLE].right = w->width - 2; + window_guest_inventory_widgets[WIDX_TITLE].right = w->width - 2; - window_guest_inventory_widgets[WIDX_CLOSE].left = w->width - 13; - window_guest_inventory_widgets[WIDX_CLOSE].right = w->width - 3; + window_guest_inventory_widgets[WIDX_CLOSE].left = w->width - 13; + window_guest_inventory_widgets[WIDX_CLOSE].right = w->width - 3; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6); } static rct_string_id window_guest_inventory_format_item(rct_peep *peep, sint32 item) { - rct_ride *ride; + rct_ride *ride; - // Default arguments - set_format_arg(0, uint32, ShopItemImage[item]); - set_format_arg(4, rct_string_id, ShopItemStringIds[item].display); - set_format_arg(6, rct_string_id, gParkName); - set_format_arg(8, uint32, gParkNameArgs); + // Default arguments + set_format_arg(0, uint32, ShopItemImage[item]); + set_format_arg(4, rct_string_id, ShopItemStringIds[item].display); + set_format_arg(6, rct_string_id, gParkName); + set_format_arg(8, uint32, gParkNameArgs); - // Special overrides - switch (item) { - case SHOP_ITEM_BALLOON: - set_format_arg(0, uint32, 0x20000000 | (peep->balloon_colour << 19) | ShopItemImage[item]); - break; - case SHOP_ITEM_PHOTO: - ride = get_ride(peep->photo1_ride_ref); - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); - break; - case SHOP_ITEM_UMBRELLA: - set_format_arg(0, uint32, 0x20000000 | (peep->umbrella_colour << 19) | ShopItemImage[item]); - break; - case SHOP_ITEM_VOUCHER: - switch (peep->voucher_type) { - case VOUCHER_TYPE_PARK_ENTRY_FREE: - set_format_arg(6, rct_string_id, STR_PEEP_INVENTORY_VOUCHER_PARK_ENTRY_FREE); - set_format_arg(8, rct_string_id, gParkName); - set_format_arg(10, uint32, gParkNameArgs); - break; - case VOUCHER_TYPE_RIDE_FREE: - ride = get_ride(peep->voucher_arguments); - set_format_arg(6, rct_string_id, STR_PEEP_INVENTORY_VOUCHER_RIDE_FREE); - set_format_arg(8, rct_string_id, ride->name); - set_format_arg(10, uint32, ride->name_arguments); - break; - case VOUCHER_TYPE_PARK_ENTRY_HALF_PRICE: - set_format_arg(6, rct_string_id, STR_PEEP_INVENTORY_VOUCHER_PARK_ENTRY_HALF_PRICE); - set_format_arg(8, rct_string_id, gParkName); - set_format_arg(10, uint32, gParkNameArgs); - break; - case VOUCHER_TYPE_FOOD_OR_DRINK_FREE: - set_format_arg(6, rct_string_id, STR_PEEP_INVENTORY_VOUCHER_FOOD_OR_DRINK_FREE); - set_format_arg(8, rct_string_id, ShopItemStringIds[peep->voucher_arguments].singular); - break; - } - break; - case SHOP_ITEM_HAT: - set_format_arg(0, uint32, 0x20000000 | (peep->hat_colour << 19) | ShopItemImage[item]); - break; - case SHOP_ITEM_TSHIRT: - set_format_arg(0, uint32, 0x20000000 | (peep->tshirt_colour << 19) | ShopItemImage[item]); - break; - case SHOP_ITEM_PHOTO2: - ride = get_ride(peep->photo2_ride_ref); - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); - break; - case SHOP_ITEM_PHOTO3: - ride = get_ride(peep->photo3_ride_ref); - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); - break; - case SHOP_ITEM_PHOTO4: - ride = get_ride(peep->photo4_ride_ref); - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); - break; - } + // Special overrides + switch (item) { + case SHOP_ITEM_BALLOON: + set_format_arg(0, uint32, 0x20000000 | (peep->balloon_colour << 19) | ShopItemImage[item]); + break; + case SHOP_ITEM_PHOTO: + ride = get_ride(peep->photo1_ride_ref); + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); + break; + case SHOP_ITEM_UMBRELLA: + set_format_arg(0, uint32, 0x20000000 | (peep->umbrella_colour << 19) | ShopItemImage[item]); + break; + case SHOP_ITEM_VOUCHER: + switch (peep->voucher_type) { + case VOUCHER_TYPE_PARK_ENTRY_FREE: + set_format_arg(6, rct_string_id, STR_PEEP_INVENTORY_VOUCHER_PARK_ENTRY_FREE); + set_format_arg(8, rct_string_id, gParkName); + set_format_arg(10, uint32, gParkNameArgs); + break; + case VOUCHER_TYPE_RIDE_FREE: + ride = get_ride(peep->voucher_arguments); + set_format_arg(6, rct_string_id, STR_PEEP_INVENTORY_VOUCHER_RIDE_FREE); + set_format_arg(8, rct_string_id, ride->name); + set_format_arg(10, uint32, ride->name_arguments); + break; + case VOUCHER_TYPE_PARK_ENTRY_HALF_PRICE: + set_format_arg(6, rct_string_id, STR_PEEP_INVENTORY_VOUCHER_PARK_ENTRY_HALF_PRICE); + set_format_arg(8, rct_string_id, gParkName); + set_format_arg(10, uint32, gParkNameArgs); + break; + case VOUCHER_TYPE_FOOD_OR_DRINK_FREE: + set_format_arg(6, rct_string_id, STR_PEEP_INVENTORY_VOUCHER_FOOD_OR_DRINK_FREE); + set_format_arg(8, rct_string_id, ShopItemStringIds[peep->voucher_arguments].singular); + break; + } + break; + case SHOP_ITEM_HAT: + set_format_arg(0, uint32, 0x20000000 | (peep->hat_colour << 19) | ShopItemImage[item]); + break; + case SHOP_ITEM_TSHIRT: + set_format_arg(0, uint32, 0x20000000 | (peep->tshirt_colour << 19) | ShopItemImage[item]); + break; + case SHOP_ITEM_PHOTO2: + ride = get_ride(peep->photo2_ride_ref); + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); + break; + case SHOP_ITEM_PHOTO3: + ride = get_ride(peep->photo3_ride_ref); + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); + break; + case SHOP_ITEM_PHOTO4: + ride = get_ride(peep->photo4_ride_ref); + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); + break; + } - return STR_GUEST_ITEM_FORMAT; + return STR_GUEST_ITEM_FORMAT; } /** @@ -2099,37 +2099,37 @@ static rct_string_id window_guest_inventory_format_item(rct_peep *peep, sint32 i */ void window_guest_inventory_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_guest_overview_tab_paint(w, dpi); - window_guest_stats_tab_paint(w, dpi); - window_guest_rides_tab_paint(w, dpi); - window_guest_finance_tab_paint(w, dpi); - window_guest_thoughts_tab_paint(w, dpi); - window_guest_inventory_tab_paint(w, dpi); + window_draw_widgets(w, dpi); + window_guest_overview_tab_paint(w, dpi); + window_guest_stats_tab_paint(w, dpi); + window_guest_rides_tab_paint(w, dpi); + window_guest_finance_tab_paint(w, dpi); + window_guest_thoughts_tab_paint(w, dpi); + window_guest_inventory_tab_paint(w, dpi); - rct_peep *peep = GET_PEEP(w->number); + rct_peep *peep = GET_PEEP(w->number); - rct_widget *pageBackgroundWidget = &window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND]; - sint32 x = w->x + pageBackgroundWidget->left + 4; - sint32 y = w->y + pageBackgroundWidget->top + 2; - sint32 itemNameWidth = pageBackgroundWidget->right - pageBackgroundWidget->left - 8; + rct_widget *pageBackgroundWidget = &window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND]; + sint32 x = w->x + pageBackgroundWidget->left + 4; + sint32 y = w->y + pageBackgroundWidget->top + 2; + sint32 itemNameWidth = pageBackgroundWidget->right - pageBackgroundWidget->left - 8; - sint32 maxY = w->y + w->height - 22; - sint32 numItems = 0; + sint32 maxY = w->y + w->height - 22; + sint32 numItems = 0; - gfx_draw_string_left(dpi, STR_CARRYING, NULL, COLOUR_BLACK, x, y); - y += 10; + gfx_draw_string_left(dpi, STR_CARRYING, NULL, COLOUR_BLACK, x, y); + y += 10; - for (sint32 item = 0; item < SHOP_ITEM_COUNT; item++) { - if (y >= maxY) break; - if (!peep_has_item(peep, item)) continue; + for (sint32 item = 0; item < SHOP_ITEM_COUNT; item++) { + if (y >= maxY) break; + if (!peep_has_item(peep, item)) continue; - rct_string_id stringId = window_guest_inventory_format_item(peep, item); - y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, itemNameWidth, stringId, COLOUR_BLACK); - numItems++; - } + rct_string_id stringId = window_guest_inventory_format_item(peep, item); + y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, itemNameWidth, stringId, COLOUR_BLACK); + numItems++; + } - if (numItems == 0) { - gfx_draw_string_left(dpi, STR_NOTHING, NULL, COLOUR_BLACK, x, y); - } + if (numItems == 0) { + gfx_draw_string_left(dpi, STR_NOTHING, NULL, COLOUR_BLACK, x, y); + } } diff --git a/src/openrct2/windows/guest_list.c b/src/openrct2/windows/guest_list.c index 03b1dcf837..e01ffb4e15 100644 --- a/src/openrct2/windows/guest_list.c +++ b/src/openrct2/windows/guest_list.c @@ -26,66 +26,66 @@ #include "dropdown.h" enum { - PAGE_INDIVIDUAL, - PAGE_SUMMARISED + PAGE_INDIVIDUAL, + PAGE_SUMMARISED }; enum WINDOW_GUEST_LIST_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_TAB_CONTENT_PANEL, - WIDX_PAGE_DROPDOWN, - WIDX_PAGE_DROPDOWN_BUTTON, - WIDX_INFO_TYPE_DROPDOWN, - WIDX_INFO_TYPE_DROPDOWN_BUTTON, - WIDX_MAP, - WIDX_TRACKING, - WIDX_TAB_1, - WIDX_TAB_2, - WIDX_GUEST_LIST + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_TAB_CONTENT_PANEL, + WIDX_PAGE_DROPDOWN, + WIDX_PAGE_DROPDOWN_BUTTON, + WIDX_INFO_TYPE_DROPDOWN, + WIDX_INFO_TYPE_DROPDOWN_BUTTON, + WIDX_MAP, + WIDX_TRACKING, + WIDX_TAB_1, + WIDX_TAB_2, + WIDX_GUEST_LIST }; enum { - VIEW_ACTIONS, - VIEW_THOUGHTS, - VIEW_COUNT + VIEW_ACTIONS, + VIEW_THOUGHTS, + VIEW_COUNT }; static const rct_string_id pageNames[] = { - STR_PAGE_1, - STR_PAGE_2, - STR_PAGE_3, - STR_PAGE_4, - STR_PAGE_5, + STR_PAGE_1, + STR_PAGE_2, + STR_PAGE_3, + STR_PAGE_4, + STR_PAGE_5, }; static const rct_string_id filterNames[] = { - STR_GUESTS_FILTER, - STR_GUESTS_FILTER_THINKING, - STR_GUESTS_FILTER_THINKING_ABOUT, + STR_GUESTS_FILTER, + STR_GUESTS_FILTER_THINKING, + STR_GUESTS_FILTER_THINKING_ABOUT, }; static const rct_string_id viewNames[VIEW_COUNT] = { - STR_ACTIONS, - STR_THOUGHTS, + STR_ACTIONS, + STR_THOUGHTS, }; static rct_widget window_guest_list_widgets[] = { - { WWT_FRAME, 0, 0, 349, 0, 329, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 348, 1, 14, STR_GUESTS, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 337, 347, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_RESIZE, 1, 0, 349, 43, 329, 0xFFFFFFFF, STR_NONE }, // tab content panel - { WWT_DROPDOWN, 1, 5, 84, 59, 70, STR_PAGE_1, STR_NONE }, // page dropdown - { WWT_DROPDOWN_BUTTON, 1, 73, 83, 60, 69, STR_DROPDOWN_GLYPH, STR_NONE }, // page dropdown button - { WWT_DROPDOWN, 1, 120, 295, 59, 70, 0xFFFFFFFF, STR_INFORMATION_TYPE_TIP }, // information type dropdown - { WWT_DROPDOWN_BUTTON, 1, 284, 294, 60, 69, STR_DROPDOWN_GLYPH, STR_INFORMATION_TYPE_TIP }, // information type dropdown button - { WWT_FLATBTN, 1, 297, 320, 46, 69, SPR_MAP, STR_SHOW_GUESTS_ON_MAP_TIP }, // map - { WWT_FLATBTN, 1, 321, 344, 46, 69, SPR_TRACK_PEEP, STR_TRACKED_GUESTS_ONLY_TIP }, // tracking - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_INDIVIDUAL_GUESTS_TIP }, // tab 1 - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SUMMARISED_GUESTS_TIP }, // tab 2 - { WWT_SCROLL, 1, 3, 346, 72, 326, SCROLL_BOTH, STR_NONE }, // guest list - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 349, 0, 329, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 348, 1, 14, STR_GUESTS, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 337, 347, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_RESIZE, 1, 0, 349, 43, 329, 0xFFFFFFFF, STR_NONE }, // tab content panel + { WWT_DROPDOWN, 1, 5, 84, 59, 70, STR_PAGE_1, STR_NONE }, // page dropdown + { WWT_DROPDOWN_BUTTON, 1, 73, 83, 60, 69, STR_DROPDOWN_GLYPH, STR_NONE }, // page dropdown button + { WWT_DROPDOWN, 1, 120, 295, 59, 70, 0xFFFFFFFF, STR_INFORMATION_TYPE_TIP }, // information type dropdown + { WWT_DROPDOWN_BUTTON, 1, 284, 294, 60, 69, STR_DROPDOWN_GLYPH, STR_INFORMATION_TYPE_TIP }, // information type dropdown button + { WWT_FLATBTN, 1, 297, 320, 46, 69, SPR_MAP, STR_SHOW_GUESTS_ON_MAP_TIP }, // map + { WWT_FLATBTN, 1, 321, 344, 46, 69, SPR_TRACK_PEEP, STR_TRACKED_GUESTS_ONLY_TIP }, // tracking + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_INDIVIDUAL_GUESTS_TIP }, // tab 1 + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SUMMARISED_GUESTS_TIP }, // tab 2 + { WWT_SCROLL, 1, 3, 346, 72, 326, SCROLL_BOTH, STR_NONE }, // guest list + { WIDGETS_END }, }; static void window_guest_list_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -102,34 +102,34 @@ static void window_guest_list_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_guest_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_guest_list_events = { - NULL, - window_guest_list_mouseup, - window_guest_list_resize, - window_guest_list_mousedown, - window_guest_list_dropdown, - NULL, - window_guest_list_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_guest_list_scrollgetsize, - window_guest_list_scrollmousedown, - NULL, - window_guest_list_scrollmouseover, - NULL, - NULL, - NULL, - window_guest_list_tooltip, - NULL, - NULL, - window_guest_list_invalidate, - window_guest_list_paint, - window_guest_list_scrollpaint + NULL, + window_guest_list_mouseup, + window_guest_list_resize, + window_guest_list_mousedown, + window_guest_list_dropdown, + NULL, + window_guest_list_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_guest_list_scrollgetsize, + window_guest_list_scrollmousedown, + NULL, + window_guest_list_scrollmouseover, + NULL, + NULL, + NULL, + window_guest_list_tooltip, + NULL, + NULL, + window_guest_list_invalidate, + window_guest_list_paint, + window_guest_list_scrollpaint }; static uint32 _window_guest_list_last_find_groups_tick; @@ -140,7 +140,7 @@ static sint32 _window_guest_list_highlighted_index; // 0x00F1EE10 static sint32 _window_guest_list_selected_tab; // 0x00F1EE12 static sint32 _window_guest_list_selected_filter; // 0x00F1EE06 static sint32 _window_guest_list_selected_page; // 0x00F1EE07 -static uint32 _window_guest_list_selected_view; // 0x00F1EE13 +static uint32 _window_guest_list_selected_view; // 0x00F1EE13 static sint32 _window_guest_list_num_pages; // 0x00F1EE08 static sint32 _window_guest_list_num_groups; // 0x00F1AF22 static bool _window_guest_list_tracking_only; @@ -163,9 +163,9 @@ static void get_arguments_from_peep(rct_peep *peep, uint32 *argument_1, uint32* */ void window_guest_list_init_vars_a() { - gNextGuestNumber = 1; - _window_guest_list_last_find_groups_tick = 0xFFFFFFFF; - _window_guest_list_selected_filter = 0xFF; + gNextGuestNumber = 1; + _window_guest_list_last_find_groups_tick = 0xFFFFFFFF; + _window_guest_list_selected_filter = 0xFF; } /** @@ -174,11 +174,11 @@ void window_guest_list_init_vars_a() */ void window_guest_list_init_vars_b() { - _window_guest_list_selected_tab = 0; - _window_guest_list_selected_view = 0; - _window_guest_list_last_find_groups_tick = 0xFFFFFFFF; - _window_guest_list_selected_filter = 0xFF; - _window_guest_list_last_find_groups_wait = 0; + _window_guest_list_selected_tab = 0; + _window_guest_list_selected_view = 0; + _window_guest_list_last_find_groups_tick = 0xFFFFFFFF; + _window_guest_list_selected_filter = 0xFF; + _window_guest_list_last_find_groups_wait = 0; } /** @@ -187,41 +187,41 @@ void window_guest_list_init_vars_b() */ void window_guest_list_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_GUEST_LIST); - if (window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_GUEST_LIST); + if (window != NULL) + return; - window = window_create_auto_pos(350, 330, &window_guest_list_events, WC_GUEST_LIST, WF_10 | WF_RESIZABLE); - window->widgets = window_guest_list_widgets; - window->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_PAGE_DROPDOWN) | - (1 << WIDX_PAGE_DROPDOWN_BUTTON) | - (1 << WIDX_INFO_TYPE_DROPDOWN) | - (1 << WIDX_INFO_TYPE_DROPDOWN_BUTTON) | - (1 << WIDX_MAP) | - (1 << WIDX_TRACKING) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2); + window = window_create_auto_pos(350, 330, &window_guest_list_events, WC_GUEST_LIST, WF_10 | WF_RESIZABLE); + window->widgets = window_guest_list_widgets; + window->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_PAGE_DROPDOWN) | + (1 << WIDX_PAGE_DROPDOWN_BUTTON) | + (1 << WIDX_INFO_TYPE_DROPDOWN) | + (1 << WIDX_INFO_TYPE_DROPDOWN_BUTTON) | + (1 << WIDX_MAP) | + (1 << WIDX_TRACKING) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2); - window_init_scroll_widgets(window); - _window_guest_list_highlighted_index = -1; - window->list_information_type = 0; - _window_guest_list_selected_tab = PAGE_INDIVIDUAL; - _window_guest_list_selected_filter = -1; - _window_guest_list_selected_page = 0; - _window_guest_list_num_pages = 1; - _window_guest_list_tracking_only = false; - window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WWT_EMPTY; - window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WWT_EMPTY; - window->var_492 = 0; - window->min_width = 350; - window->min_height = 330; - window->max_width = 500; - window->max_height = 450; + window_init_scroll_widgets(window); + _window_guest_list_highlighted_index = -1; + window->list_information_type = 0; + _window_guest_list_selected_tab = PAGE_INDIVIDUAL; + _window_guest_list_selected_filter = -1; + _window_guest_list_selected_page = 0; + _window_guest_list_num_pages = 1; + _window_guest_list_tracking_only = false; + window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WWT_EMPTY; + window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WWT_EMPTY; + window->var_492 = 0; + window->min_width = 350; + window->min_height = 330; + window->max_width = 500; + window->max_height = 450; } /** @@ -232,72 +232,72 @@ void window_guest_list_open() */ void window_guest_list_open_with_filter(sint32 type, sint32 index) { - window_guest_list_open(); + window_guest_list_open(); - _window_guest_list_selected_page = 0; - _window_guest_list_num_pages = 1; - _window_guest_list_tracking_only = false; + _window_guest_list_selected_page = 0; + _window_guest_list_num_pages = 1; + _window_guest_list_tracking_only = false; - switch(type) { - case GLFT_GUESTS_ON_RIDE: - { - rct_ride *ride = get_ride(index & 0x000000FF); - _window_guest_list_filter_arguments[0] = STR_ON_RIDE; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IN_RIDE)) { - _window_guest_list_filter_arguments[0] = STR_IN_RIDE; - } - _window_guest_list_filter_arguments[1] = ride->name; - _window_guest_list_filter_arguments[2] = ride->name_arguments_type_name; - _window_guest_list_filter_arguments[3] = ride->name_arguments_number; + switch(type) { + case GLFT_GUESTS_ON_RIDE: + { + rct_ride *ride = get_ride(index & 0x000000FF); + _window_guest_list_filter_arguments[0] = STR_ON_RIDE; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IN_RIDE)) { + _window_guest_list_filter_arguments[0] = STR_IN_RIDE; + } + _window_guest_list_filter_arguments[1] = ride->name; + _window_guest_list_filter_arguments[2] = ride->name_arguments_type_name; + _window_guest_list_filter_arguments[3] = ride->name_arguments_number; - _window_guest_list_selected_filter = 0; - _window_guest_list_highlighted_index = 0xFFFF; - _window_guest_list_selected_tab = 0; - _window_guest_list_selected_view = 0; - break; - } - case GLFT_GUESTS_IN_QUEUE: - { - rct_ride *ride = get_ride(index & 0x000000FF); - _window_guest_list_filter_arguments[0] = STR_QUEUING_FOR; - _window_guest_list_filter_arguments[1] = ride->name; - _window_guest_list_filter_arguments[2] = ride->name_arguments_type_name; - _window_guest_list_filter_arguments[3] = ride->name_arguments_number; + _window_guest_list_selected_filter = 0; + _window_guest_list_highlighted_index = 0xFFFF; + _window_guest_list_selected_tab = 0; + _window_guest_list_selected_view = 0; + break; + } + case GLFT_GUESTS_IN_QUEUE: + { + rct_ride *ride = get_ride(index & 0x000000FF); + _window_guest_list_filter_arguments[0] = STR_QUEUING_FOR; + _window_guest_list_filter_arguments[1] = ride->name; + _window_guest_list_filter_arguments[2] = ride->name_arguments_type_name; + _window_guest_list_filter_arguments[3] = ride->name_arguments_number; - _window_guest_list_selected_filter = 0; - _window_guest_list_highlighted_index = 0xFFFF; - _window_guest_list_selected_tab = 0; - _window_guest_list_selected_view = 0; - break; - } - case GLFT_GUESTS_THINKING_ABOUT_RIDE: - { - rct_ride *ride = get_ride(index & 0x000000FF); - _window_guest_list_filter_arguments[0] = STR_NONE; - _window_guest_list_filter_arguments[1] = ride->name; - _window_guest_list_filter_arguments[2] = ride->name_arguments_type_name; - _window_guest_list_filter_arguments[3] = ride->name_arguments_number; + _window_guest_list_selected_filter = 0; + _window_guest_list_highlighted_index = 0xFFFF; + _window_guest_list_selected_tab = 0; + _window_guest_list_selected_view = 0; + break; + } + case GLFT_GUESTS_THINKING_ABOUT_RIDE: + { + rct_ride *ride = get_ride(index & 0x000000FF); + _window_guest_list_filter_arguments[0] = STR_NONE; + _window_guest_list_filter_arguments[1] = ride->name; + _window_guest_list_filter_arguments[2] = ride->name_arguments_type_name; + _window_guest_list_filter_arguments[3] = ride->name_arguments_number; - _window_guest_list_selected_filter = 1; - _window_guest_list_highlighted_index = 0xFFFF; - _window_guest_list_selected_tab = 0; - _window_guest_list_selected_view = 1; - break; - } - case GLFT_GUESTS_THINKING_X: - { - _window_guest_list_filter_arguments[0] = PeepThoughts[(index & 0x000000FF)]; - _window_guest_list_filter_arguments[1] = 0; - _window_guest_list_filter_arguments[2] = 0; - _window_guest_list_filter_arguments[3] = 0; + _window_guest_list_selected_filter = 1; + _window_guest_list_highlighted_index = 0xFFFF; + _window_guest_list_selected_tab = 0; + _window_guest_list_selected_view = 1; + break; + } + case GLFT_GUESTS_THINKING_X: + { + _window_guest_list_filter_arguments[0] = PeepThoughts[(index & 0x000000FF)]; + _window_guest_list_filter_arguments[1] = 0; + _window_guest_list_filter_arguments[2] = 0; + _window_guest_list_filter_arguments[3] = 0; - _window_guest_list_selected_filter = 1; - _window_guest_list_highlighted_index = 0xFFFF; - _window_guest_list_selected_tab = 0; - _window_guest_list_selected_view = 1; - break; - } - } + _window_guest_list_selected_filter = 1; + _window_guest_list_highlighted_index = 0xFFFF; + _window_guest_list_selected_tab = 0; + _window_guest_list_selected_view = 1; + break; + } + } } /** @@ -306,23 +306,23 @@ void window_guest_list_open_with_filter(sint32 type, sint32 index) */ static void window_guest_list_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_MAP: - window_map_open(); - break; - case WIDX_TRACKING: - _window_guest_list_tracking_only = !_window_guest_list_tracking_only; - if (_window_guest_list_tracking_only) - w->pressed_widgets |= (1 << WIDX_TRACKING); - else - w->pressed_widgets &= ~(1 << WIDX_TRACKING); - window_invalidate(w); - w->scrolls[0].v_top = 0; - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_MAP: + window_map_open(); + break; + case WIDX_TRACKING: + _window_guest_list_tracking_only = !_window_guest_list_tracking_only; + if (_window_guest_list_tracking_only) + w->pressed_widgets |= (1 << WIDX_TRACKING); + else + w->pressed_widgets &= ~(1 << WIDX_TRACKING); + window_invalidate(w); + w->scrolls[0].v_top = 0; + break; + } } /** @@ -331,16 +331,16 @@ static void window_guest_list_mouseup(rct_window *w, rct_widgetindex widgetIndex */ static void window_guest_list_resize(rct_window *w) { - w->min_width = 350; - w->min_height = 330; - if (w->width < w->min_width) { - window_invalidate(w); - w->width = w->min_width; - } - if (w->height < w->min_height) { - window_invalidate(w); - w->height = w->min_height; - } + w->min_width = 350; + w->min_height = 330; + if (w->width < w->min_width) { + window_invalidate(w); + w->width = w->min_width; + } + if (w->height < w->min_height) { + window_invalidate(w); + w->height = w->min_height; + } } /** @@ -349,68 +349,68 @@ static void window_guest_list_resize(rct_window *w) */ static void window_guest_list_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - sint32 i; - switch (widgetIndex) { - case WIDX_TAB_1: - case WIDX_TAB_2: - if (_window_guest_list_selected_filter == -1) - if (_window_guest_list_selected_tab == widgetIndex - WIDX_TAB_1) - break; - _window_guest_list_selected_tab = widgetIndex - WIDX_TAB_1; - _window_guest_list_selected_page = 0; - _window_guest_list_num_pages = 1; - window_guest_list_widgets[WIDX_TRACKING].type = WWT_EMPTY; - if (_window_guest_list_selected_tab == PAGE_INDIVIDUAL) - window_guest_list_widgets[WIDX_TRACKING].type = WWT_FLATBTN; - window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WWT_EMPTY; - window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WWT_EMPTY; - w->list_information_type = 0; - _window_guest_list_selected_filter = -1; - window_invalidate(w); - w->scrolls[0].v_top = 0; - break; - case WIDX_PAGE_DROPDOWN_BUTTON: - widget = &w->widgets[widgetIndex - 1]; + sint32 i; + switch (widgetIndex) { + case WIDX_TAB_1: + case WIDX_TAB_2: + if (_window_guest_list_selected_filter == -1) + if (_window_guest_list_selected_tab == widgetIndex - WIDX_TAB_1) + break; + _window_guest_list_selected_tab = widgetIndex - WIDX_TAB_1; + _window_guest_list_selected_page = 0; + _window_guest_list_num_pages = 1; + window_guest_list_widgets[WIDX_TRACKING].type = WWT_EMPTY; + if (_window_guest_list_selected_tab == PAGE_INDIVIDUAL) + window_guest_list_widgets[WIDX_TRACKING].type = WWT_FLATBTN; + window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WWT_EMPTY; + window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WWT_EMPTY; + w->list_information_type = 0; + _window_guest_list_selected_filter = -1; + window_invalidate(w); + w->scrolls[0].v_top = 0; + break; + case WIDX_PAGE_DROPDOWN_BUTTON: + widget = &w->widgets[widgetIndex - 1]; - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - _window_guest_list_num_pages, - widget->right - widget->left - 3 - ); + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + _window_guest_list_num_pages, + widget->right - widget->left - 3 + ); - for (i = 0; i < _window_guest_list_num_pages; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = pageNames[i]; - } - dropdown_set_checked(_window_guest_list_selected_page, true); - break; - case WIDX_INFO_TYPE_DROPDOWN_BUTTON: - widget = &w->widgets[widgetIndex - 1]; + for (i = 0; i < _window_guest_list_num_pages; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = pageNames[i]; + } + dropdown_set_checked(_window_guest_list_selected_page, true); + break; + case WIDX_INFO_TYPE_DROPDOWN_BUTTON: + widget = &w->widgets[widgetIndex - 1]; - for (i = 0; i < VIEW_COUNT; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = viewNames[i]; - } + for (i = 0; i < VIEW_COUNT; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = viewNames[i]; + } - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 2, - widget->right - widget->left - 3 - ); + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 2, + widget->right - widget->left - 3 + ); - dropdown_set_checked(_window_guest_list_selected_view, true); - break; - } + dropdown_set_checked(_window_guest_list_selected_view, true); + break; + } } /** @@ -419,20 +419,20 @@ static void window_guest_list_mousedown(rct_widgetindex widgetIndex, rct_window* */ static void window_guest_list_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - switch (widgetIndex) { - case WIDX_PAGE_DROPDOWN_BUTTON: - if (dropdownIndex == -1) - break; - _window_guest_list_selected_page = dropdownIndex; - window_invalidate(w); - break; - case WIDX_INFO_TYPE_DROPDOWN_BUTTON: - if (dropdownIndex == -1) - break; - _window_guest_list_selected_view = dropdownIndex; - window_invalidate(w); - break; - } + switch (widgetIndex) { + case WIDX_PAGE_DROPDOWN_BUTTON: + if (dropdownIndex == -1) + break; + _window_guest_list_selected_page = dropdownIndex; + window_invalidate(w); + break; + case WIDX_INFO_TYPE_DROPDOWN_BUTTON: + if (dropdownIndex == -1) + break; + _window_guest_list_selected_view = dropdownIndex; + window_invalidate(w); + break; + } } /** @@ -441,13 +441,13 @@ static void window_guest_list_dropdown(rct_window *w, rct_widgetindex widgetInde */ static void window_guest_list_update(rct_window *w) { - if (_window_guest_list_last_find_groups_wait != 0) { - _window_guest_list_last_find_groups_wait--; - } - w->list_information_type++; - if (w->list_information_type >= (_window_guest_list_selected_tab == PAGE_INDIVIDUAL ? 24 : 32)) - w->list_information_type = 0; - widget_invalidate(w, WIDX_TAB_1 + _window_guest_list_selected_tab); + if (_window_guest_list_last_find_groups_wait != 0) { + _window_guest_list_last_find_groups_wait--; + } + w->list_information_type++; + if (w->list_information_type >= (_window_guest_list_selected_tab == PAGE_INDIVIDUAL ? 24 : 32)) + w->list_information_type = 0; + widget_invalidate(w, WIDX_TAB_1 + _window_guest_list_selected_tab); } /** @@ -456,65 +456,65 @@ static void window_guest_list_update(rct_window *w) */ static void window_guest_list_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - sint32 i, y, numGuests, spriteIndex; - rct_peep *peep; + sint32 i, y, numGuests, spriteIndex; + rct_peep *peep; - switch (_window_guest_list_selected_tab) { - case PAGE_INDIVIDUAL: - // Count the number of guests - numGuests = 0; + switch (_window_guest_list_selected_tab) { + case PAGE_INDIVIDUAL: + // Count the number of guests + numGuests = 0; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0) - continue; - if (_window_guest_list_selected_filter != -1) - if (window_guest_list_is_peep_in_filter(peep)) - continue; - if (_window_guest_list_tracking_only && !(peep->peep_flags & PEEP_FLAGS_TRACKING)) - continue; - numGuests++; - } - w->var_492 = numGuests; - y = numGuests * 10; - _window_guest_list_num_pages = (sint32) ceilf((float)numGuests / 3173); - if (_window_guest_list_num_pages == 0) - _window_guest_list_selected_page = 0; - else if (_window_guest_list_selected_page >= _window_guest_list_num_pages) - _window_guest_list_selected_page = _window_guest_list_num_pages - 1; - break; - case PAGE_SUMMARISED: - // Find the groups - window_guest_list_find_groups(); - w->var_492 = _window_guest_list_num_groups; - y = _window_guest_list_num_groups * 21; - break; - default: - log_error("Improper tab selected: %d, bailing out.", _window_guest_list_selected_tab); - return; - } + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0) + continue; + if (_window_guest_list_selected_filter != -1) + if (window_guest_list_is_peep_in_filter(peep)) + continue; + if (_window_guest_list_tracking_only && !(peep->peep_flags & PEEP_FLAGS_TRACKING)) + continue; + numGuests++; + } + w->var_492 = numGuests; + y = numGuests * 10; + _window_guest_list_num_pages = (sint32) ceilf((float)numGuests / 3173); + if (_window_guest_list_num_pages == 0) + _window_guest_list_selected_page = 0; + else if (_window_guest_list_selected_page >= _window_guest_list_num_pages) + _window_guest_list_selected_page = _window_guest_list_num_pages - 1; + break; + case PAGE_SUMMARISED: + // Find the groups + window_guest_list_find_groups(); + w->var_492 = _window_guest_list_num_groups; + y = _window_guest_list_num_groups * 21; + break; + default: + log_error("Improper tab selected: %d, bailing out.", _window_guest_list_selected_tab); + return; + } - i = _window_guest_list_selected_page; - for (i = _window_guest_list_selected_page - 1; i >= 0; i--) - y -= 0x7BF2; - if (y < 0) - y = 0; - if (y > 0x7BF2) - y = 0x7BF2; - if (_window_guest_list_highlighted_index != -1) { - _window_guest_list_highlighted_index = -1; - window_invalidate(w); - } + i = _window_guest_list_selected_page; + for (i = _window_guest_list_selected_page - 1; i >= 0; i--) + y -= 0x7BF2; + if (y < 0) + y = 0; + if (y > 0x7BF2) + y = 0x7BF2; + if (_window_guest_list_highlighted_index != -1) { + _window_guest_list_highlighted_index = -1; + window_invalidate(w); + } - i = y - window_guest_list_widgets[WIDX_GUEST_LIST].bottom + window_guest_list_widgets[WIDX_GUEST_LIST].top + 21; - if (i < 0) - i = 0; - if (i < w->scrolls[0].v_top) { - w->scrolls[0].v_top = i; - window_invalidate(w); - } + i = y - window_guest_list_widgets[WIDX_GUEST_LIST].bottom + window_guest_list_widgets[WIDX_GUEST_LIST].top + 21; + if (i < 0) + i = 0; + if (i < w->scrolls[0].v_top) { + w->scrolls[0].v_top = i; + window_invalidate(w); + } - *width = 447; - *height = y; + *width = 447; + *height = y; } /** @@ -523,45 +523,45 @@ static void window_guest_list_scrollgetsize(rct_window *w, sint32 scrollIndex, s */ static void window_guest_list_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 i, spriteIndex; - rct_peep *peep; + sint32 i, spriteIndex; + rct_peep *peep; - switch (_window_guest_list_selected_tab) { - case PAGE_INDIVIDUAL: - i = y / 10; - i += _window_guest_list_selected_page * 3173; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0) - continue; - if (_window_guest_list_selected_filter != -1) - if (window_guest_list_is_peep_in_filter(peep)) - continue; - if (_window_guest_list_tracking_only && !(peep->peep_flags & PEEP_FLAGS_TRACKING)) - continue; + switch (_window_guest_list_selected_tab) { + case PAGE_INDIVIDUAL: + i = y / 10; + i += _window_guest_list_selected_page * 3173; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0) + continue; + if (_window_guest_list_selected_filter != -1) + if (window_guest_list_is_peep_in_filter(peep)) + continue; + if (_window_guest_list_tracking_only && !(peep->peep_flags & PEEP_FLAGS_TRACKING)) + continue; - if (i == 0) { - // Open guest window - window_guest_open(peep); + if (i == 0) { + // Open guest window + window_guest_open(peep); - break; - } else { - i--; - } - } - break; - case PAGE_SUMMARISED: - i = y / 21; - if (i < _window_guest_list_num_groups) { - memcpy(_window_guest_list_filter_arguments + 0, &_window_guest_list_groups_argument_1[i], 4); - memcpy(_window_guest_list_filter_arguments + 2, &_window_guest_list_groups_argument_2[i], 4); - _window_guest_list_selected_filter = _window_guest_list_selected_view; - _window_guest_list_selected_tab = PAGE_INDIVIDUAL; - window_guest_list_widgets[WIDX_TRACKING].type = WWT_FLATBTN; - window_invalidate(w); - w->scrolls[0].v_top = 0; - } - break; - } + break; + } else { + i--; + } + } + break; + case PAGE_SUMMARISED: + i = y / 21; + if (i < _window_guest_list_num_groups) { + memcpy(_window_guest_list_filter_arguments + 0, &_window_guest_list_groups_argument_1[i], 4); + memcpy(_window_guest_list_filter_arguments + 2, &_window_guest_list_groups_argument_2[i], 4); + _window_guest_list_selected_filter = _window_guest_list_selected_view; + _window_guest_list_selected_tab = PAGE_INDIVIDUAL; + window_guest_list_widgets[WIDX_TRACKING].type = WWT_FLATBTN; + window_invalidate(w); + w->scrolls[0].v_top = 0; + } + break; + } } /** @@ -570,14 +570,14 @@ static void window_guest_list_scrollmousedown(rct_window *w, sint32 scrollIndex, */ static void window_guest_list_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 i; + sint32 i; - i = y / (_window_guest_list_selected_tab == PAGE_INDIVIDUAL ? 10 : 21); - i += _window_guest_list_selected_page * 3173; - if (i != _window_guest_list_highlighted_index) { - _window_guest_list_highlighted_index = i; - window_invalidate(w); - } + i = y / (_window_guest_list_selected_tab == PAGE_INDIVIDUAL ? 10 : 21); + i += _window_guest_list_selected_page * 3173; + if (i != _window_guest_list_highlighted_index) { + _window_guest_list_highlighted_index = i; + window_invalidate(w); + } } /** @@ -586,7 +586,7 @@ static void window_guest_list_scrollmouseover(rct_window *w, sint32 scrollIndex, */ static void window_guest_list_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_LIST); + set_format_arg(0, rct_string_id, STR_LIST); } /** @@ -595,35 +595,35 @@ static void window_guest_list_tooltip(rct_window* w, rct_widgetindex widgetIndex */ static void window_guest_list_invalidate(rct_window *w) { - w->pressed_widgets &= ~(1 << WIDX_TAB_1); - w->pressed_widgets &= ~(1 << WIDX_TAB_2); - w->pressed_widgets |= (1LL << (_window_guest_list_selected_tab + WIDX_TAB_1)); + w->pressed_widgets &= ~(1 << WIDX_TAB_1); + w->pressed_widgets &= ~(1 << WIDX_TAB_2); + w->pressed_widgets |= (1LL << (_window_guest_list_selected_tab + WIDX_TAB_1)); - window_guest_list_widgets[WIDX_INFO_TYPE_DROPDOWN].text = viewNames[_window_guest_list_selected_view]; - window_guest_list_widgets[WIDX_MAP].type = WWT_EMPTY; - if (_window_guest_list_selected_tab == PAGE_INDIVIDUAL && _window_guest_list_selected_filter != -1) - window_guest_list_widgets[WIDX_MAP].type = WWT_FLATBTN; + window_guest_list_widgets[WIDX_INFO_TYPE_DROPDOWN].text = viewNames[_window_guest_list_selected_view]; + window_guest_list_widgets[WIDX_MAP].type = WWT_EMPTY; + if (_window_guest_list_selected_tab == PAGE_INDIVIDUAL && _window_guest_list_selected_filter != -1) + window_guest_list_widgets[WIDX_MAP].type = WWT_FLATBTN; - window_guest_list_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_guest_list_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_guest_list_widgets[WIDX_TAB_CONTENT_PANEL].right = w->width - 1; - window_guest_list_widgets[WIDX_TAB_CONTENT_PANEL].bottom = w->height - 1; - window_guest_list_widgets[WIDX_TITLE].right = w->width - 2; - window_guest_list_widgets[WIDX_CLOSE].left = w->width - 13; - window_guest_list_widgets[WIDX_CLOSE].right = w->width - 3; - window_guest_list_widgets[WIDX_GUEST_LIST].right = w->width - 4; - window_guest_list_widgets[WIDX_GUEST_LIST].bottom = w->height - 15; - window_guest_list_widgets[WIDX_PAGE_DROPDOWN].text = pageNames[_window_guest_list_selected_page]; - window_guest_list_widgets[WIDX_TRACKING].left = 321 - 350 + w->width; - window_guest_list_widgets[WIDX_TRACKING].right = 344 - 350 + w->width; + window_guest_list_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_guest_list_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_guest_list_widgets[WIDX_TAB_CONTENT_PANEL].right = w->width - 1; + window_guest_list_widgets[WIDX_TAB_CONTENT_PANEL].bottom = w->height - 1; + window_guest_list_widgets[WIDX_TITLE].right = w->width - 2; + window_guest_list_widgets[WIDX_CLOSE].left = w->width - 13; + window_guest_list_widgets[WIDX_CLOSE].right = w->width - 3; + window_guest_list_widgets[WIDX_GUEST_LIST].right = w->width - 4; + window_guest_list_widgets[WIDX_GUEST_LIST].bottom = w->height - 15; + window_guest_list_widgets[WIDX_PAGE_DROPDOWN].text = pageNames[_window_guest_list_selected_page]; + window_guest_list_widgets[WIDX_TRACKING].left = 321 - 350 + w->width; + window_guest_list_widgets[WIDX_TRACKING].right = 344 - 350 + w->width; - if (_window_guest_list_num_pages > 1) { - window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WWT_DROPDOWN; - window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WWT_DROPDOWN_BUTTON; - }else{ - window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WWT_EMPTY; - window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WWT_EMPTY; - } + if (_window_guest_list_num_pages > 1) { + window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WWT_DROPDOWN; + window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WWT_DROPDOWN_BUTTON; + }else{ + window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WWT_EMPTY; + window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WWT_EMPTY; + } } /** @@ -632,56 +632,56 @@ static void window_guest_list_invalidate(rct_window *w) */ static void window_guest_list_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 i, x, y; - rct_string_id format; + sint32 i, x, y; + rct_string_id format; - // Widgets - window_draw_widgets(w, dpi); - // Tab 1 image - i = (_window_guest_list_selected_tab == 0 ? w->list_information_type & 0x0FFFFFFFC : 0); - i += g_peep_animation_entries[PEEP_SPRITE_TYPE_NORMAL].sprite_animation->base_image + 1; - i |= 0xA1600000; - gfx_draw_sprite( - dpi, - i, - (window_guest_list_widgets[WIDX_TAB_1].left + window_guest_list_widgets[WIDX_TAB_1].right) / 2 + w->x, - window_guest_list_widgets[WIDX_TAB_1].bottom - 6 + w->y, 0 - ); + // Widgets + window_draw_widgets(w, dpi); + // Tab 1 image + i = (_window_guest_list_selected_tab == 0 ? w->list_information_type & 0x0FFFFFFFC : 0); + i += g_peep_animation_entries[PEEP_SPRITE_TYPE_NORMAL].sprite_animation->base_image + 1; + i |= 0xA1600000; + gfx_draw_sprite( + dpi, + i, + (window_guest_list_widgets[WIDX_TAB_1].left + window_guest_list_widgets[WIDX_TAB_1].right) / 2 + w->x, + window_guest_list_widgets[WIDX_TAB_1].bottom - 6 + w->y, 0 + ); - // Tab 2 image - i = (_window_guest_list_selected_tab == 1 ? w->list_information_type / 4 : 0); - gfx_draw_sprite( - dpi, - SPR_TAB_GUESTS_0 + i, - window_guest_list_widgets[WIDX_TAB_2].left + w->x, - window_guest_list_widgets[WIDX_TAB_2].top + w->y, 0 - ); + // Tab 2 image + i = (_window_guest_list_selected_tab == 1 ? w->list_information_type / 4 : 0); + gfx_draw_sprite( + dpi, + SPR_TAB_GUESTS_0 + i, + window_guest_list_widgets[WIDX_TAB_2].left + w->x, + window_guest_list_widgets[WIDX_TAB_2].top + w->y, 0 + ); - // Filter description - x = w->x + 6; - y = w->y + window_guest_list_widgets[WIDX_TAB_CONTENT_PANEL].top + 3; - if (_window_guest_list_selected_tab == PAGE_INDIVIDUAL) { - if (_window_guest_list_selected_filter != -1) { - if (_window_guest_list_filter_arguments[0] != 0xFFFF) { - format = filterNames[_window_guest_list_selected_filter]; // Not sure whether the index will ever be 2 - } else { - format = STR_GUESTS_FILTER_THINKING_ABOUT; - } - } else { - format = STR_ALL_GUESTS; - } - } else { - format = STR_ALL_GUESTS_SUMMARISED; - } - gfx_draw_string_left_clipped(dpi, format, _window_guest_list_filter_arguments, COLOUR_BLACK, x, y, 310); + // Filter description + x = w->x + 6; + y = w->y + window_guest_list_widgets[WIDX_TAB_CONTENT_PANEL].top + 3; + if (_window_guest_list_selected_tab == PAGE_INDIVIDUAL) { + if (_window_guest_list_selected_filter != -1) { + if (_window_guest_list_filter_arguments[0] != 0xFFFF) { + format = filterNames[_window_guest_list_selected_filter]; // Not sure whether the index will ever be 2 + } else { + format = STR_GUESTS_FILTER_THINKING_ABOUT; + } + } else { + format = STR_ALL_GUESTS; + } + } else { + format = STR_ALL_GUESTS_SUMMARISED; + } + gfx_draw_string_left_clipped(dpi, format, _window_guest_list_filter_arguments, COLOUR_BLACK, x, y, 310); - // Number of guests (list items) - if (_window_guest_list_selected_tab == PAGE_INDIVIDUAL) { - x = w->x + 4; - y = w->y + window_guest_list_widgets[WIDX_GUEST_LIST].bottom + 2; - set_format_arg(0, sint16, w->var_492); - gfx_draw_string_left(dpi, (w->var_492 == 1 ? STR_FORMAT_NUM_GUESTS_SINGULAR : STR_FORMAT_NUM_GUESTS_PLURAL), gCommonFormatArgs, COLOUR_BLACK, x, y); - } + // Number of guests (list items) + if (_window_guest_list_selected_tab == PAGE_INDIVIDUAL) { + x = w->x + 4; + y = w->y + window_guest_list_widgets[WIDX_GUEST_LIST].bottom + 2; + set_format_arg(0, sint16, w->var_492); + gfx_draw_string_left(dpi, (w->var_492 == 1 ? STR_FORMAT_NUM_GUESTS_SINGULAR : STR_FORMAT_NUM_GUESTS_PLURAL), gCommonFormatArgs, COLOUR_BLACK, x, y); + } } /** @@ -690,130 +690,130 @@ static void window_guest_list_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_guest_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - sint32 spriteIndex, numGuests, i, j, y; - rct_string_id format; - rct_peep *peep; - rct_peep_thought *thought; - uint32 argument_1, argument_2; + sint32 spriteIndex, numGuests, i, j, y; + rct_string_id format; + rct_peep *peep; + rct_peep_thought *thought; + uint32 argument_1, argument_2; - // Background fill - gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); + // Background fill + gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); - switch (_window_guest_list_selected_tab) { - case PAGE_INDIVIDUAL: - i = 0; - y = _window_guest_list_selected_page * -0x7BF2; + switch (_window_guest_list_selected_tab) { + case PAGE_INDIVIDUAL: + i = 0; + y = _window_guest_list_selected_page * -0x7BF2; - // For each guest - FOR_ALL_GUESTS(spriteIndex, peep) { - peep->flags &= ~(SPRITE_FLAGS_PEEP_FLASHING); - if (peep->outside_of_park != 0) - continue; - if (_window_guest_list_selected_filter != -1) { - if (window_guest_list_is_peep_in_filter(peep)) - continue; - gWindowMapFlashingFlags |= (1 << 0); - peep->flags |= SPRITE_FLAGS_PEEP_FLASHING; - } - if (_window_guest_list_tracking_only && !(peep->peep_flags & PEEP_FLAGS_TRACKING)) - continue; + // For each guest + FOR_ALL_GUESTS(spriteIndex, peep) { + peep->flags &= ~(SPRITE_FLAGS_PEEP_FLASHING); + if (peep->outside_of_park != 0) + continue; + if (_window_guest_list_selected_filter != -1) { + if (window_guest_list_is_peep_in_filter(peep)) + continue; + gWindowMapFlashingFlags |= (1 << 0); + peep->flags |= SPRITE_FLAGS_PEEP_FLASHING; + } + if (_window_guest_list_tracking_only && !(peep->peep_flags & PEEP_FLAGS_TRACKING)) + continue; - // - if (y + 11 >= -0x7FFF && y + 11 > dpi->y && y < 0x7FFF) { - // Check if y is beyond the scroll control - if (y > dpi->y + dpi->height) - break; + // + if (y + 11 >= -0x7FFF && y + 11 > dpi->y && y < 0x7FFF) { + // Check if y is beyond the scroll control + if (y > dpi->y + dpi->height) + break; - // Highlight backcolour and text colour (format) - format = STR_BLACK_STRING; - if (i == _window_guest_list_highlighted_index) { - gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); - format = STR_WINDOW_COLOUR_2_STRINGID; - } + // Highlight backcolour and text colour (format) + format = STR_BLACK_STRING; + if (i == _window_guest_list_highlighted_index) { + gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); + format = STR_WINDOW_COLOUR_2_STRINGID; + } - // Guest name - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); - gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 0, y - 1, 113); + // Guest name + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); + gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 0, y - 1, 113); - switch (_window_guest_list_selected_view) { - case VIEW_ACTIONS: - // Guest face - gfx_draw_sprite(dpi, get_peep_face_sprite_small(peep), 118, y, 0); + switch (_window_guest_list_selected_view) { + case VIEW_ACTIONS: + // Guest face + gfx_draw_sprite(dpi, get_peep_face_sprite_small(peep), 118, y, 0); - // Tracking icon - if (peep->peep_flags & PEEP_FLAGS_TRACKING) - gfx_draw_sprite(dpi, STR_ENTER_SELECTION_SIZE, 112, y, 0); + // Tracking icon + if (peep->peep_flags & PEEP_FLAGS_TRACKING) + gfx_draw_sprite(dpi, STR_ENTER_SELECTION_SIZE, 112, y, 0); - // Action + // Action - get_arguments_from_action(peep, &argument_1, &argument_2); + get_arguments_from_action(peep, &argument_1, &argument_2); - set_format_arg(0, uint32, argument_1); - set_format_arg(4, uint32, argument_2); - gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 133, y - 1, 314); - break; - case VIEW_THOUGHTS: - // For each thought - for (j = 0; j < PEEP_MAX_THOUGHTS; j++) { - thought = &peep->thoughts[j]; - if (thought->type == PEEP_THOUGHT_TYPE_NONE) - break; - if (thought->var_2 == 0) - continue; - if (thought->var_2 > 5) - break; + set_format_arg(0, uint32, argument_1); + set_format_arg(4, uint32, argument_2); + gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 133, y - 1, 314); + break; + case VIEW_THOUGHTS: + // For each thought + for (j = 0; j < PEEP_MAX_THOUGHTS; j++) { + thought = &peep->thoughts[j]; + if (thought->type == PEEP_THOUGHT_TYPE_NONE) + break; + if (thought->var_2 == 0) + continue; + if (thought->var_2 > 5) + break; - peep_thought_set_format_args(&peep->thoughts[j]); - gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 118, y - 1, 329); - break; - } - break; - } - } + peep_thought_set_format_args(&peep->thoughts[j]); + gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 118, y - 1, 329); + break; + } + break; + } + } - // Increment list item index and y - i++; - y += 10; - } - break; - case PAGE_SUMMARISED: - y = 0; + // Increment list item index and y + i++; + y += 10; + } + break; + case PAGE_SUMMARISED: + y = 0; - // For each group of guests - for (i = 0; i < _window_guest_list_num_groups; i++) { - // Check if y is beyond the scroll control - if (y + 22 >= dpi->y) { - // Check if y is beyond the scroll control - if (y >= dpi->y + dpi->height) - break; + // For each group of guests + for (i = 0; i < _window_guest_list_num_groups; i++) { + // Check if y is beyond the scroll control + if (y + 22 >= dpi->y) { + // Check if y is beyond the scroll control + if (y >= dpi->y + dpi->height) + break; - // Highlight backcolour and text colour (format) - format = STR_BLACK_STRING; - if (i == _window_guest_list_highlighted_index) { - gfx_filter_rect(dpi, 0, y, 800, y + 20, PALETTE_DARKEN_1); - format = STR_WINDOW_COLOUR_2_STRINGID; - } + // Highlight backcolour and text colour (format) + format = STR_BLACK_STRING; + if (i == _window_guest_list_highlighted_index) { + gfx_filter_rect(dpi, 0, y, 800, y + 20, PALETTE_DARKEN_1); + format = STR_WINDOW_COLOUR_2_STRINGID; + } - // Draw guest faces - numGuests = _window_guest_list_groups_num_guests[i]; - for (j = 0; j < 56 && j < numGuests; j++) - gfx_draw_sprite(dpi, _window_guest_list_groups_guest_faces[i * 56 + j] + SPR_PEEP_SMALL_FACE_VERY_VERY_UNHAPPY, j * 8, y + 9, 0); + // Draw guest faces + numGuests = _window_guest_list_groups_num_guests[i]; + for (j = 0; j < 56 && j < numGuests; j++) + gfx_draw_sprite(dpi, _window_guest_list_groups_guest_faces[i * 56 + j] + SPR_PEEP_SMALL_FACE_VERY_VERY_UNHAPPY, j * 8, y + 9, 0); - // Draw action - set_format_arg(0, uint32, _window_guest_list_groups_argument_1[i]); - set_format_arg(4, uint32, _window_guest_list_groups_argument_2[i]); - set_format_arg(10, uint32, numGuests); - gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 0, y - 1, 414); + // Draw action + set_format_arg(0, uint32, _window_guest_list_groups_argument_1[i]); + set_format_arg(4, uint32, _window_guest_list_groups_argument_2[i]); + set_format_arg(10, uint32, numGuests); + gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 0, y - 1, 414); - // Draw guest count - set_format_arg(8, rct_string_id, STR_GUESTS_COUNT_COMMA_SEP); - gfx_draw_string_right(dpi, format, gCommonFormatArgs + 8, COLOUR_BLACK, 326, y - 1); - } - y += 21; - } - break; - } + // Draw guest count + set_format_arg(8, rct_string_id, STR_GUESTS_COUNT_COMMA_SEP); + gfx_draw_string_right(dpi, format, gCommonFormatArgs + 8, COLOUR_BLACK, 326, y - 1); + } + y += 21; + } + break; + } } @@ -823,24 +823,24 @@ static void window_guest_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, */ static sint32 window_guest_list_is_peep_in_filter(rct_peep* peep) { - char temp; + char temp; - temp = _window_guest_list_selected_view; - _window_guest_list_selected_view = _window_guest_list_selected_filter; - uint32 argument1, argument2; - get_arguments_from_peep(peep, &argument1, &argument2); + temp = _window_guest_list_selected_view; + _window_guest_list_selected_view = _window_guest_list_selected_filter; + uint32 argument1, argument2; + get_arguments_from_peep(peep, &argument1, &argument2); - _window_guest_list_selected_view = temp; + _window_guest_list_selected_view = temp; - if (_window_guest_list_filter_arguments[0] == 0xFFFF && _window_guest_list_selected_filter == 1) - argument1 |= 0xFFFF; + if (_window_guest_list_filter_arguments[0] == 0xFFFF && _window_guest_list_selected_filter == 1) + argument1 |= 0xFFFF; - uint32 check1 = _window_guest_list_filter_arguments[0] | (_window_guest_list_filter_arguments[1] << 16); - uint32 check2 = _window_guest_list_filter_arguments[2] | (_window_guest_list_filter_arguments[3] << 16); - if (argument1 == check1 && argument2 == check2) { - return 0; - } - return 1; + uint32 check1 = _window_guest_list_filter_arguments[0] | (_window_guest_list_filter_arguments[1] << 16); + uint32 check2 = _window_guest_list_filter_arguments[2] | (_window_guest_list_filter_arguments[3] << 16); + if (argument1 == check1 && argument2 == check2) { + return 0; + } + return 1; } /** @@ -852,31 +852,31 @@ static sint32 window_guest_list_is_peep_in_filter(rct_peep* peep) */ static void get_arguments_from_peep(rct_peep *peep, uint32 *argument_1, uint32* argument_2) { - switch (_window_guest_list_selected_view) { - case VIEW_ACTIONS: - get_arguments_from_action(peep, argument_1, argument_2); - break; - case VIEW_THOUGHTS: - { - rct_peep_thought *thought = &peep->thoughts[0]; - if (thought->var_2 <= 5 && thought->type != PEEP_THOUGHT_TYPE_NONE) { - // HACK The out arguments here are used to draw the group text so we just return - // gCommonFormatArgs as two uint32s. - memset(gCommonFormatArgs, 0, sizeof(*argument_1) + sizeof(*argument_2)); - peep_thought_set_format_args(thought); - memcpy(argument_1, gCommonFormatArgs, sizeof(*argument_1)); - memcpy(argument_2, gCommonFormatArgs + sizeof(*argument_1), sizeof(*argument_2)); - } else { - *argument_1 = 0; - *argument_2 = 0; - } - break; - } - default: - *argument_1 = 0; - *argument_2 = 0; - break; - } + switch (_window_guest_list_selected_view) { + case VIEW_ACTIONS: + get_arguments_from_action(peep, argument_1, argument_2); + break; + case VIEW_THOUGHTS: + { + rct_peep_thought *thought = &peep->thoughts[0]; + if (thought->var_2 <= 5 && thought->type != PEEP_THOUGHT_TYPE_NONE) { + // HACK The out arguments here are used to draw the group text so we just return + // gCommonFormatArgs as two uint32s. + memset(gCommonFormatArgs, 0, sizeof(*argument_1) + sizeof(*argument_2)); + peep_thought_set_format_args(thought); + memcpy(argument_1, gCommonFormatArgs, sizeof(*argument_1)); + memcpy(argument_2, gCommonFormatArgs + sizeof(*argument_1), sizeof(*argument_2)); + } else { + *argument_1 = 0; + *argument_2 = 0; + } + break; + } + default: + *argument_1 = 0; + *argument_2 = 0; + break; + } } /** @@ -885,115 +885,115 @@ static void get_arguments_from_peep(rct_peep *peep, uint32 *argument_1, uint32* */ static void window_guest_list_find_groups() { - sint32 spriteIndex, spriteIndex2, groupIndex, faceIndex; - rct_peep *peep, *peep2; + sint32 spriteIndex, spriteIndex2, groupIndex, faceIndex; + rct_peep *peep, *peep2; - uint32 tick256 = floor2(gScenarioTicks, 256); - if (_window_guest_list_selected_view == _window_guest_list_last_find_groups_selected_view) { - if (_window_guest_list_last_find_groups_wait != 0 || - _window_guest_list_last_find_groups_tick == tick256 - ) { - return; - } - } + uint32 tick256 = floor2(gScenarioTicks, 256); + if (_window_guest_list_selected_view == _window_guest_list_last_find_groups_selected_view) { + if (_window_guest_list_last_find_groups_wait != 0 || + _window_guest_list_last_find_groups_tick == tick256 + ) { + return; + } + } - _window_guest_list_last_find_groups_tick = tick256; - _window_guest_list_last_find_groups_selected_view = _window_guest_list_selected_view; - _window_guest_list_last_find_groups_wait = 320; - _window_guest_list_num_groups = 0; + _window_guest_list_last_find_groups_tick = tick256; + _window_guest_list_last_find_groups_selected_view = _window_guest_list_selected_view; + _window_guest_list_last_find_groups_wait = 320; + _window_guest_list_num_groups = 0; - // Set all guests to unassigned - FOR_ALL_GUESTS(spriteIndex, peep) - if (peep->outside_of_park == 0) - peep->flags |= SPRITE_FLAGS_PEEP_VISIBLE; + // Set all guests to unassigned + FOR_ALL_GUESTS(spriteIndex, peep) + if (peep->outside_of_park == 0) + peep->flags |= SPRITE_FLAGS_PEEP_VISIBLE; - // For each guest / group - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0 || !(peep->flags & SPRITE_FLAGS_PEEP_VISIBLE)) - continue; + // For each guest / group + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0 || !(peep->flags & SPRITE_FLAGS_PEEP_VISIBLE)) + continue; - // New group, cap at 240 though - groupIndex = _window_guest_list_num_groups; - if (groupIndex >= 240) - break; + // New group, cap at 240 though + groupIndex = _window_guest_list_num_groups; + if (groupIndex >= 240) + break; - _window_guest_list_num_groups++; - _window_guest_list_groups_num_guests[groupIndex] = 1; - peep->flags &= ~(SPRITE_FLAGS_PEEP_VISIBLE); + _window_guest_list_num_groups++; + _window_guest_list_groups_num_guests[groupIndex] = 1; + peep->flags &= ~(SPRITE_FLAGS_PEEP_VISIBLE); - get_arguments_from_peep( peep, &_window_guest_list_groups_argument_1[groupIndex], &_window_guest_list_groups_argument_2[groupIndex]); - memcpy(_window_guest_list_filter_arguments + 0, &_window_guest_list_groups_argument_1[groupIndex], 4); - memcpy(_window_guest_list_filter_arguments + 2, &_window_guest_list_groups_argument_2[groupIndex], 4); + get_arguments_from_peep( peep, &_window_guest_list_groups_argument_1[groupIndex], &_window_guest_list_groups_argument_2[groupIndex]); + memcpy(_window_guest_list_filter_arguments + 0, &_window_guest_list_groups_argument_1[groupIndex], 4); + memcpy(_window_guest_list_filter_arguments + 2, &_window_guest_list_groups_argument_2[groupIndex], 4); - _window_guest_list_group_index[groupIndex] = groupIndex; - faceIndex = groupIndex * 56; - _window_guest_list_groups_guest_faces[faceIndex++] = get_peep_face_sprite_small(peep) - SPR_PEEP_SMALL_FACE_VERY_VERY_UNHAPPY; + _window_guest_list_group_index[groupIndex] = groupIndex; + faceIndex = groupIndex * 56; + _window_guest_list_groups_guest_faces[faceIndex++] = get_peep_face_sprite_small(peep) - SPR_PEEP_SMALL_FACE_VERY_VERY_UNHAPPY; - // Find more peeps that belong to same group - FOR_ALL_GUESTS(spriteIndex2, peep2) { - if (peep2->outside_of_park != 0 || !(peep2->flags & SPRITE_FLAGS_PEEP_VISIBLE)) - continue; + // Find more peeps that belong to same group + FOR_ALL_GUESTS(spriteIndex2, peep2) { + if (peep2->outside_of_park != 0 || !(peep2->flags & SPRITE_FLAGS_PEEP_VISIBLE)) + continue; - uint32 argument1, argument2; - // Get and check if in same group - get_arguments_from_peep(peep2, &argument1, &argument2); - if (argument1 != _window_guest_list_groups_argument_1[groupIndex] || argument2 != _window_guest_list_groups_argument_2[groupIndex] ) - continue; + uint32 argument1, argument2; + // Get and check if in same group + get_arguments_from_peep(peep2, &argument1, &argument2); + if (argument1 != _window_guest_list_groups_argument_1[groupIndex] || argument2 != _window_guest_list_groups_argument_2[groupIndex] ) + continue; - // Assign guest - _window_guest_list_groups_num_guests[groupIndex]++; - peep2->flags &= ~(SPRITE_FLAGS_PEEP_VISIBLE); + // Assign guest + _window_guest_list_groups_num_guests[groupIndex]++; + peep2->flags &= ~(SPRITE_FLAGS_PEEP_VISIBLE); - // Add face sprite, cap at 56 though - if (_window_guest_list_groups_num_guests[groupIndex] >= 56) - continue; - _window_guest_list_groups_guest_faces[faceIndex++] = get_peep_face_sprite_small(peep2) - SPR_PEEP_SMALL_FACE_VERY_VERY_UNHAPPY; - } + // Add face sprite, cap at 56 though + if (_window_guest_list_groups_num_guests[groupIndex] >= 56) + continue; + _window_guest_list_groups_guest_faces[faceIndex++] = get_peep_face_sprite_small(peep2) - SPR_PEEP_SMALL_FACE_VERY_VERY_UNHAPPY; + } - if (_window_guest_list_filter_arguments[0] == 0) { - _window_guest_list_num_groups--; - continue; - } + if (_window_guest_list_filter_arguments[0] == 0) { + _window_guest_list_num_groups--; + continue; + } - sint32 curr_num_guests = _window_guest_list_groups_num_guests[groupIndex]; - sint32 swap_position = 0; - //This section places the groups in size order. - while (1) { - if (swap_position >= groupIndex) - goto nextPeep; - if (curr_num_guests > _window_guest_list_groups_num_guests[swap_position]) - break; - swap_position++; - } + sint32 curr_num_guests = _window_guest_list_groups_num_guests[groupIndex]; + sint32 swap_position = 0; + //This section places the groups in size order. + while (1) { + if (swap_position >= groupIndex) + goto nextPeep; + if (curr_num_guests > _window_guest_list_groups_num_guests[swap_position]) + break; + swap_position++; + } - sint32 argument_1 = _window_guest_list_groups_argument_1[groupIndex]; - sint32 argument_2 = _window_guest_list_groups_argument_2[groupIndex]; - sint32 bl = _window_guest_list_group_index[groupIndex]; + sint32 argument_1 = _window_guest_list_groups_argument_1[groupIndex]; + sint32 argument_2 = _window_guest_list_groups_argument_2[groupIndex]; + sint32 bl = _window_guest_list_group_index[groupIndex]; - do { - sint32 temp = curr_num_guests; - curr_num_guests = _window_guest_list_groups_num_guests[swap_position]; - _window_guest_list_groups_num_guests[swap_position] = temp; + do { + sint32 temp = curr_num_guests; + curr_num_guests = _window_guest_list_groups_num_guests[swap_position]; + _window_guest_list_groups_num_guests[swap_position] = temp; - temp = argument_1; - argument_1 = _window_guest_list_groups_argument_1[swap_position]; - _window_guest_list_groups_argument_1[swap_position] = temp; + temp = argument_1; + argument_1 = _window_guest_list_groups_argument_1[swap_position]; + _window_guest_list_groups_argument_1[swap_position] = temp; - temp = argument_2; - argument_2 = _window_guest_list_groups_argument_2[swap_position]; - _window_guest_list_groups_argument_2[swap_position] = temp; + temp = argument_2; + argument_2 = _window_guest_list_groups_argument_2[swap_position]; + _window_guest_list_groups_argument_2[swap_position] = temp; - uint8 temp_faces[56]; - memcpy(temp_faces, &(_window_guest_list_groups_guest_faces[groupIndex*56]), 56); - memcpy(&(_window_guest_list_groups_guest_faces[groupIndex * 56]), &(_window_guest_list_groups_guest_faces[swap_position * 56]), 56); - memcpy(&(_window_guest_list_groups_guest_faces[swap_position * 56]), temp_faces, 56); + uint8 temp_faces[56]; + memcpy(temp_faces, &(_window_guest_list_groups_guest_faces[groupIndex*56]), 56); + memcpy(&(_window_guest_list_groups_guest_faces[groupIndex * 56]), &(_window_guest_list_groups_guest_faces[swap_position * 56]), 56); + memcpy(&(_window_guest_list_groups_guest_faces[swap_position * 56]), temp_faces, 56); - temp = _window_guest_list_group_index[swap_position]; - _window_guest_list_group_index[swap_position] = bl; - bl = temp; - } while (++swap_position <= groupIndex); + temp = _window_guest_list_group_index[swap_position]; + _window_guest_list_group_index[swap_position] = bl; + bl = temp; + } while (++swap_position <= groupIndex); - nextPeep: - ; - } + nextPeep: + ; + } } diff --git a/src/openrct2/windows/install_track.c b/src/openrct2/windows/install_track.c index 941851c653..57c84fdb06 100644 --- a/src/openrct2/windows/install_track.c +++ b/src/openrct2/windows/install_track.c @@ -31,26 +31,26 @@ #include "error.h" enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_TRACK_PREVIEW, - WIDX_ROTATE, - WIDX_TOGGLE_SCENERY, - WIDX_INSTALL, - WIDX_CANCEL + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_TRACK_PREVIEW, + WIDX_ROTATE, + WIDX_TOGGLE_SCENERY, + WIDX_INSTALL, + WIDX_CANCEL }; static rct_widget window_install_track_widgets[] = { - { WWT_FRAME, 0, 0, 401, 0, 399, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 400, 1, 14, STR_TRACK_DESIGN_INSTALL_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 389, 399, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_FLATBTN, 0, 15, 386, 18, 236, 0xFFFFFFFF, STR_NONE }, - { WWT_FLATBTN, 0, 376, 399, 374, 397, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP }, - { WWT_FLATBTN, 0, 376, 399, 350, 373, SPR_SCENERY, STR_TOGGLE_SCENERY_TIP }, - { WWT_DROPDOWN_BUTTON, 0, 303, 397, 241, 252, STR_INSTALL_NEW_TRACK_DESIGN_INSTALL, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 0, 303, 397, 256, 267, STR_INSTALL_NEW_TRACK_DESIGN_CANCEL, STR_NONE }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 401, 0, 399, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 400, 1, 14, STR_TRACK_DESIGN_INSTALL_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 389, 399, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_FLATBTN, 0, 15, 386, 18, 236, 0xFFFFFFFF, STR_NONE }, + { WWT_FLATBTN, 0, 376, 399, 374, 397, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP }, + { WWT_FLATBTN, 0, 376, 399, 350, 373, SPR_SCENERY, STR_TOGGLE_SCENERY_TIP }, + { WWT_DROPDOWN_BUTTON, 0, 303, 397, 241, 252, STR_INSTALL_NEW_TRACK_DESIGN_INSTALL, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 0, 303, 397, 256, 267, STR_INSTALL_NEW_TRACK_DESIGN_CANCEL, STR_NONE }, + { WIDGETS_END }, }; static void window_install_track_close(rct_window *w); @@ -60,34 +60,34 @@ static void window_install_track_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_install_track_text_input(rct_window *w, rct_widgetindex widgetIndex, char *text); static rct_window_event_list window_install_track_events = { - window_install_track_close, - window_install_track_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_install_track_text_input, - NULL, - NULL, - NULL, - NULL, - NULL, - window_install_track_invalidate, - window_install_track_paint, - NULL + window_install_track_close, + window_install_track_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_install_track_text_input, + NULL, + NULL, + NULL, + NULL, + NULL, + window_install_track_invalidate, + window_install_track_paint, + NULL }; static rct_track_td6 *_trackDesign; @@ -104,46 +104,46 @@ static void window_install_track_design(rct_window *w); */ void window_install_track_open(const utf8 *path) { - _trackDesign = track_design_open(path); - if (_trackDesign == NULL) { - window_error_open(STR_UNABLE_TO_LOAD_FILE, STR_NONE); - return; - } + _trackDesign = track_design_open(path); + if (_trackDesign == NULL) { + window_error_open(STR_UNABLE_TO_LOAD_FILE, STR_NONE); + return; + } - object_manager_unload_all_objects(); - if (_trackDesign->type == RIDE_TYPE_NULL){ - log_error("Failed to load track (ride type null): %s", path); - return; - } - if (object_manager_load_object(&_trackDesign->vehicle_object) == NULL) { - log_error("Failed to load track (vehicle load fail): %s", path); - return; - } + object_manager_unload_all_objects(); + if (_trackDesign->type == RIDE_TYPE_NULL){ + log_error("Failed to load track (ride type null): %s", path); + return; + } + if (object_manager_load_object(&_trackDesign->vehicle_object) == NULL) { + log_error("Failed to load track (vehicle load fail): %s", path); + return; + } - window_close_by_class(WC_EDITOR_OBJECT_SELECTION); - window_close_construction_windows(); + window_close_by_class(WC_EDITOR_OBJECT_SELECTION); + window_close_construction_windows(); - gTrackDesignSceneryToggle = false; - _currentTrackPieceDirection = 2; + gTrackDesignSceneryToggle = false; + _currentTrackPieceDirection = 2; - sint32 screenWidth = context_get_width(); - sint32 screenHeight = context_get_height(); - sint32 x = screenWidth / 2 - 201; - sint32 y = max(TOP_TOOLBAR_HEIGHT + 1, screenHeight / 2 - 200); + sint32 screenWidth = context_get_width(); + sint32 screenHeight = context_get_height(); + sint32 x = screenWidth / 2 - 201; + sint32 y = max(TOP_TOOLBAR_HEIGHT + 1, screenHeight / 2 - 200); - rct_window *w = window_create(x, y, 402, 400, &window_install_track_events, WC_INSTALL_TRACK, 0); - w->widgets = window_install_track_widgets; - w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_ROTATE) | (1 << WIDX_TOGGLE_SCENERY) | (1 << WIDX_INSTALL) | (1 << WIDX_CANCEL); - window_init_scroll_widgets(w); - w->track_list.var_484 = 0; - window_push_others_right(w); + rct_window *w = window_create(x, y, 402, 400, &window_install_track_events, WC_INSTALL_TRACK, 0); + w->widgets = window_install_track_widgets; + w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_ROTATE) | (1 << WIDX_TOGGLE_SCENERY) | (1 << WIDX_INSTALL) | (1 << WIDX_CANCEL); + window_init_scroll_widgets(w); + w->track_list.var_484 = 0; + window_push_others_right(w); - _trackPath = _strdup(path); - _trackName = track_repository_get_name_from_path(path); - _trackDesignPreviewPixels = calloc(4, TRACK_PREVIEW_IMAGE_SIZE); + _trackPath = _strdup(path); + _trackName = track_repository_get_name_from_path(path); + _trackDesignPreviewPixels = calloc(4, TRACK_PREVIEW_IMAGE_SIZE); - window_install_track_update_preview(); - window_invalidate(w); + window_install_track_update_preview(); + window_invalidate(w); } /** @@ -152,11 +152,11 @@ void window_install_track_open(const utf8 *path) */ static void window_install_track_close(rct_window *w) { - SafeFree(_trackPath); - SafeFree(_trackName); - SafeFree(_trackDesignPreviewPixels); - track_design_dispose(_trackDesign); - _trackDesign = NULL; + SafeFree(_trackPath); + SafeFree(_trackName); + SafeFree(_trackDesignPreviewPixels); + track_design_dispose(_trackDesign); + _trackDesign = NULL; } /** @@ -165,25 +165,25 @@ static void window_install_track_close(rct_window *w) */ static void window_install_track_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - case WIDX_CANCEL: - window_close(w); - break; - case WIDX_ROTATE: - _currentTrackPieceDirection++; - _currentTrackPieceDirection %= 4; - window_invalidate(w); - break; - case WIDX_TOGGLE_SCENERY: - gTrackDesignSceneryToggle = !gTrackDesignSceneryToggle; - window_install_track_update_preview(); - window_invalidate(w); - break; - case WIDX_INSTALL: - window_install_track_design(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + case WIDX_CANCEL: + window_close(w); + break; + case WIDX_ROTATE: + _currentTrackPieceDirection++; + _currentTrackPieceDirection %= 4; + window_invalidate(w); + break; + case WIDX_TOGGLE_SCENERY: + gTrackDesignSceneryToggle = !gTrackDesignSceneryToggle; + window_install_track_update_preview(); + window_invalidate(w); + break; + case WIDX_INSTALL: + window_install_track_design(w); + break; + } } @@ -193,18 +193,18 @@ static void window_install_track_mouseup(rct_window *w, rct_widgetindex widgetIn */ static void window_install_track_invalidate(rct_window *w) { - w->pressed_widgets |= 1 << WIDX_TRACK_PREVIEW; - if (!gTrackDesignSceneryToggle) { - w->pressed_widgets |= (1 << WIDX_TOGGLE_SCENERY); - } else { - w->pressed_widgets &= ~(1 << WIDX_TOGGLE_SCENERY); - } + w->pressed_widgets |= 1 << WIDX_TRACK_PREVIEW; + if (!gTrackDesignSceneryToggle) { + w->pressed_widgets |= (1 << WIDX_TOGGLE_SCENERY); + } else { + w->pressed_widgets &= ~(1 << WIDX_TOGGLE_SCENERY); + } - // if (w->track_list.var_482 != 0xFFFF) { - // w->disabled_widgets &= ~(1 << WIDX_TRACK_PREVIEW); - // } else { - // w->disabled_widgets |= (1 << WIDX_TRACK_PREVIEW); - // } + // if (w->track_list.var_482 != 0xFFFF) { + // w->disabled_widgets &= ~(1 << WIDX_TRACK_PREVIEW); + // } else { + // w->disabled_widgets |= (1 << WIDX_TRACK_PREVIEW); + // } } /** @@ -213,145 +213,145 @@ static void window_install_track_invalidate(rct_window *w) */ static void window_install_track_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - // Track preview - rct_widget *widget = &window_install_track_widgets[WIDX_TRACK_PREVIEW]; - sint32 x = w->x + widget->left + 1; - sint32 y = w->y + widget->top + 1; - sint32 colour = ColourMapA[w->colours[0]].darkest; - gfx_fill_rect(dpi, x, y, x + 369, y + 216, colour); + // Track preview + rct_widget *widget = &window_install_track_widgets[WIDX_TRACK_PREVIEW]; + sint32 x = w->x + widget->left + 1; + sint32 y = w->y + widget->top + 1; + sint32 colour = ColourMapA[w->colours[0]].darkest; + gfx_fill_rect(dpi, x, y, x + 369, y + 216, colour); - rct_g1_element *substituteElement = &g1Elements[SPR_TEMP]; - rct_g1_element tmpElement = *substituteElement; - substituteElement->offset = _trackDesignPreviewPixels + (_currentTrackPieceDirection * TRACK_PREVIEW_IMAGE_SIZE); - substituteElement->width = 370; - substituteElement->height = 217; - substituteElement->x_offset = 0; - substituteElement->y_offset = 0; - substituteElement->flags = G1_FLAG_BMP; - gfx_draw_sprite(dpi, 0, x, y, 0); - *substituteElement = tmpElement; + rct_g1_element *substituteElement = &g1Elements[SPR_TEMP]; + rct_g1_element tmpElement = *substituteElement; + substituteElement->offset = _trackDesignPreviewPixels + (_currentTrackPieceDirection * TRACK_PREVIEW_IMAGE_SIZE); + substituteElement->width = 370; + substituteElement->height = 217; + substituteElement->x_offset = 0; + substituteElement->y_offset = 0; + substituteElement->flags = G1_FLAG_BMP; + gfx_draw_sprite(dpi, 0, x, y, 0); + *substituteElement = tmpElement; - x = w->x + (widget->left + widget->right) / 2; - y = w->y + widget->bottom - 12; + x = w->x + (widget->left + widget->right) / 2; + y = w->y + widget->bottom - 12; - // Warnings - rct_track_td6 *td6 = _trackDesign; - if (td6->track_flags & TRACK_DESIGN_FLAG_SCENERY_UNAVAILABLE) { - if (!gTrackDesignSceneryToggle) { - // Scenery not available - gfx_draw_string_centred_clipped(dpi, STR_DESIGN_INCLUDES_SCENERY_WHICH_IS_UNAVAILABLE, NULL, COLOUR_BLACK, x, y, 368); - y -= 10; - } - } + // Warnings + rct_track_td6 *td6 = _trackDesign; + if (td6->track_flags & TRACK_DESIGN_FLAG_SCENERY_UNAVAILABLE) { + if (!gTrackDesignSceneryToggle) { + // Scenery not available + gfx_draw_string_centred_clipped(dpi, STR_DESIGN_INCLUDES_SCENERY_WHICH_IS_UNAVAILABLE, NULL, COLOUR_BLACK, x, y, 368); + y -= 10; + } + } - // Track design name - gfx_draw_string_centred_clipped(dpi, STR_TRACK_PREVIEW_NAME_FORMAT, &_trackName, COLOUR_BLACK, x, y, 368); + // Track design name + gfx_draw_string_centred_clipped(dpi, STR_TRACK_PREVIEW_NAME_FORMAT, &_trackName, COLOUR_BLACK, x, y, 368); - // Information - x = w->x + widget->left + 1; - y = w->y + widget->bottom + 2; - // 0x006D3CF1 -- 0x006d3d71 missing + // Information + x = w->x + widget->left + 1; + y = w->y + widget->bottom + 2; + // 0x006D3CF1 -- 0x006d3d71 missing - // Stats - fixed32_2dp rating = td6->excitement * 10; - gfx_draw_string_left(dpi, STR_TRACK_LIST_EXCITEMENT_RATING, &rating, COLOUR_BLACK, x, y); - y += 10; + // Stats + fixed32_2dp rating = td6->excitement * 10; + gfx_draw_string_left(dpi, STR_TRACK_LIST_EXCITEMENT_RATING, &rating, COLOUR_BLACK, x, y); + y += 10; - rating = td6->intensity * 10; - gfx_draw_string_left(dpi, STR_TRACK_LIST_INTENSITY_RATING, &rating, COLOUR_BLACK, x, y); - y += 10; + rating = td6->intensity * 10; + gfx_draw_string_left(dpi, STR_TRACK_LIST_INTENSITY_RATING, &rating, COLOUR_BLACK, x, y); + y += 10; - rating = td6->nausea * 10; - gfx_draw_string_left(dpi, STR_TRACK_LIST_NAUSEA_RATING, &rating, COLOUR_BLACK, x, y); - y += 14; + rating = td6->nausea * 10; + gfx_draw_string_left(dpi, STR_TRACK_LIST_NAUSEA_RATING, &rating, COLOUR_BLACK, x, y); + y += 14; - if (td6->type != RIDE_TYPE_MAZE) { - if (td6->type == RIDE_TYPE_MINI_GOLF) { - // Holes - uint16 holes = td6->holes & 0x1F; - gfx_draw_string_left(dpi, STR_HOLES, &holes, COLOUR_BLACK, x, y); - y += 10; - } - else { - // Maximum speed - uint16 speed = ((td6->max_speed << 16) * 9) >> 18; - gfx_draw_string_left(dpi, STR_MAX_SPEED, &speed, COLOUR_BLACK, x, y); - y += 10; + if (td6->type != RIDE_TYPE_MAZE) { + if (td6->type == RIDE_TYPE_MINI_GOLF) { + // Holes + uint16 holes = td6->holes & 0x1F; + gfx_draw_string_left(dpi, STR_HOLES, &holes, COLOUR_BLACK, x, y); + y += 10; + } + else { + // Maximum speed + uint16 speed = ((td6->max_speed << 16) * 9) >> 18; + gfx_draw_string_left(dpi, STR_MAX_SPEED, &speed, COLOUR_BLACK, x, y); + y += 10; - // Average speed - speed = ((td6->average_speed << 16) * 9) >> 18; - gfx_draw_string_left(dpi, STR_AVERAGE_SPEED, &speed, COLOUR_BLACK, x, y); - y += 10; - } + // Average speed + speed = ((td6->average_speed << 16) * 9) >> 18; + gfx_draw_string_left(dpi, STR_AVERAGE_SPEED, &speed, COLOUR_BLACK, x, y); + y += 10; + } - // Ride length - set_format_arg(0, rct_string_id, STR_RIDE_LENGTH_ENTRY); - set_format_arg(2, uint16, td6->ride_length); - gfx_draw_string_left_clipped(dpi, STR_TRACK_LIST_RIDE_LENGTH, gCommonFormatArgs, COLOUR_BLACK, x, y, 214); - y += 10; - } + // Ride length + set_format_arg(0, rct_string_id, STR_RIDE_LENGTH_ENTRY); + set_format_arg(2, uint16, td6->ride_length); + gfx_draw_string_left_clipped(dpi, STR_TRACK_LIST_RIDE_LENGTH, gCommonFormatArgs, COLOUR_BLACK, x, y, 214); + y += 10; + } - if (ride_type_has_flag(td6->type, RIDE_TYPE_FLAG_HAS_G_FORCES)) { - // Maximum positive vertical Gs - sint32 gForces = td6->max_positive_vertical_g * 32; - gfx_draw_string_left(dpi, STR_MAX_POSITIVE_VERTICAL_G, &gForces, COLOUR_BLACK, x, y); - y += 10; + if (ride_type_has_flag(td6->type, RIDE_TYPE_FLAG_HAS_G_FORCES)) { + // Maximum positive vertical Gs + sint32 gForces = td6->max_positive_vertical_g * 32; + gfx_draw_string_left(dpi, STR_MAX_POSITIVE_VERTICAL_G, &gForces, COLOUR_BLACK, x, y); + y += 10; - // Maximum negative vertical Gs - gForces = td6->max_negative_vertical_g * 32; - gfx_draw_string_left(dpi, STR_MAX_NEGATIVE_VERTICAL_G, &gForces, COLOUR_BLACK, x, y); - y += 10; + // Maximum negative vertical Gs + gForces = td6->max_negative_vertical_g * 32; + gfx_draw_string_left(dpi, STR_MAX_NEGATIVE_VERTICAL_G, &gForces, COLOUR_BLACK, x, y); + y += 10; - // Maximum lateral Gs - gForces = td6->max_lateral_g * 32; - gfx_draw_string_left(dpi, STR_MAX_LATERAL_G, &gForces, COLOUR_BLACK, x, y); - y += 10; + // Maximum lateral Gs + gForces = td6->max_lateral_g * 32; + gfx_draw_string_left(dpi, STR_MAX_LATERAL_G, &gForces, COLOUR_BLACK, x, y); + y += 10; - // If .TD6 - if (td6->version_and_colour_scheme / 4 >= 2) { - if (td6->total_air_time != 0) { - // Total air time - sint32 airTime = td6->total_air_time * 25; - gfx_draw_string_left(dpi, STR_TOTAL_AIR_TIME, &airTime, COLOUR_BLACK, x, y); - y += 10; - } - } - } + // If .TD6 + if (td6->version_and_colour_scheme / 4 >= 2) { + if (td6->total_air_time != 0) { + // Total air time + sint32 airTime = td6->total_air_time * 25; + gfx_draw_string_left(dpi, STR_TOTAL_AIR_TIME, &airTime, COLOUR_BLACK, x, y); + y += 10; + } + } + } - if (ride_type_has_flag(td6->type, RIDE_TYPE_FLAG_HAS_DROPS)) { - // Drops - uint16 drops = td6->drops & 0x3F; - gfx_draw_string_left(dpi, STR_DROPS, &drops, COLOUR_BLACK, x, y); - y += 10; + if (ride_type_has_flag(td6->type, RIDE_TYPE_FLAG_HAS_DROPS)) { + // Drops + uint16 drops = td6->drops & 0x3F; + gfx_draw_string_left(dpi, STR_DROPS, &drops, COLOUR_BLACK, x, y); + y += 10; - // Drop height is multiplied by 0.75 - gfx_draw_string_left(dpi, STR_HIGHEST_DROP_HEIGHT, &drops, COLOUR_BLACK, x, y); - y += 10; - } + // Drop height is multiplied by 0.75 + gfx_draw_string_left(dpi, STR_HIGHEST_DROP_HEIGHT, &drops, COLOUR_BLACK, x, y); + y += 10; + } - if (td6->type != RIDE_TYPE_MINI_GOLF) { - uint16 inversions = td6->inversions & 0x1F; - if (inversions != 0) { - // Inversions - gfx_draw_string_left(dpi, STR_INVERSIONS, &inversions, COLOUR_BLACK, x, y); - y += 10; - } - } - y += 4; + if (td6->type != RIDE_TYPE_MINI_GOLF) { + uint16 inversions = td6->inversions & 0x1F; + if (inversions != 0) { + // Inversions + gfx_draw_string_left(dpi, STR_INVERSIONS, &inversions, COLOUR_BLACK, x, y); + y += 10; + } + } + y += 4; - if (td6->space_required_x != 0xFF) { - // Space required - set_format_arg(0, uint16, td6->space_required_x); - set_format_arg(2, uint16, td6->space_required_y); - gfx_draw_string_left(dpi, STR_TRACK_LIST_SPACE_REQUIRED, gCommonFormatArgs, COLOUR_BLACK, x, y); - y += 10; - } + if (td6->space_required_x != 0xFF) { + // Space required + set_format_arg(0, uint16, td6->space_required_x); + set_format_arg(2, uint16, td6->space_required_y); + gfx_draw_string_left(dpi, STR_TRACK_LIST_SPACE_REQUIRED, gCommonFormatArgs, COLOUR_BLACK, x, y); + y += 10; + } - if (td6->cost != 0) { - gfx_draw_string_left(dpi, STR_TRACK_LIST_COST_AROUND, &td6->cost, COLOUR_BLACK, x, y); - } + if (td6->cost != 0) { + gfx_draw_string_left(dpi, STR_TRACK_LIST_COST_AROUND, &td6->cost, COLOUR_BLACK, x, y); + } } /** @@ -360,51 +360,51 @@ static void window_install_track_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_install_track_text_input(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (widgetIndex != WIDX_INSTALL || str_is_null_or_empty(text)) { - return; - } + if (widgetIndex != WIDX_INSTALL || str_is_null_or_empty(text)) { + return; + } - free(_trackName); - _trackName = _strdup(text); + free(_trackName); + _trackName = _strdup(text); - window_event_mouse_up_call(w, WIDX_INSTALL); + window_event_mouse_up_call(w, WIDX_INSTALL); } static void window_install_track_update_preview() { - track_design_draw_preview(_trackDesign, _trackDesignPreviewPixels); + track_design_draw_preview(_trackDesign, _trackDesignPreviewPixels); } static void window_install_track_design(rct_window *w) { - utf8 destPath[MAX_PATH]; + utf8 destPath[MAX_PATH]; - platform_get_user_directory(destPath, "track", sizeof(destPath)); - if (!platform_ensure_directory_exists(destPath)) { - log_error("Unable to create directory '%s'", destPath); - window_error_open(STR_CANT_SAVE_TRACK_DESIGN, STR_NONE); - return; - } + platform_get_user_directory(destPath, "track", sizeof(destPath)); + if (!platform_ensure_directory_exists(destPath)) { + log_error("Unable to create directory '%s'", destPath); + window_error_open(STR_CANT_SAVE_TRACK_DESIGN, STR_NONE); + return; + } - safe_strcat_path(destPath, _trackName, sizeof(destPath)); - path_append_extension(destPath, ".td6", sizeof(destPath)); + safe_strcat_path(destPath, _trackName, sizeof(destPath)); + path_append_extension(destPath, ".td6", sizeof(destPath)); - if (platform_file_exists(destPath)) { - log_info("%s already exists, prompting user for a different track design name", destPath); - window_error_open(STR_UNABLE_TO_INSTALL_THIS_TRACK_DESIGN, STR_NONE); - window_text_input_raw_open( - w, - WIDX_INSTALL, - STR_SELECT_NEW_NAME_FOR_TRACK_DESIGN, - STR_AN_EXISTING_TRACK_DESIGN_ALREADY_HAS_THIS_NAME, - _trackName, - 255 - ); - } else { - if (track_repository_install(_trackPath)) { - window_close(w); - } else { - window_error_open(STR_CANT_SAVE_TRACK_DESIGN, STR_NONE); - } - } + if (platform_file_exists(destPath)) { + log_info("%s already exists, prompting user for a different track design name", destPath); + window_error_open(STR_UNABLE_TO_INSTALL_THIS_TRACK_DESIGN, STR_NONE); + window_text_input_raw_open( + w, + WIDX_INSTALL, + STR_SELECT_NEW_NAME_FOR_TRACK_DESIGN, + STR_AN_EXISTING_TRACK_DESIGN_ALREADY_HAS_THIS_NAME, + _trackName, + 255 + ); + } else { + if (track_repository_install(_trackPath)) { + window_close(w); + } else { + window_error_open(STR_CANT_SAVE_TRACK_DESIGN, STR_NONE); + } + } } diff --git a/src/openrct2/windows/land.c b/src/openrct2/windows/land.c index e4f0837f96..5d864d358e 100644 --- a/src/openrct2/windows/land.c +++ b/src/openrct2/windows/land.c @@ -28,35 +28,35 @@ #define MAXIMUM_TOOL_SIZE 64 enum WINDOW_LAND_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_MOUNTAINMODE, - WIDX_PAINTMODE, - WIDX_PREVIEW, - WIDX_DECREMENT, - WIDX_INCREMENT, - WIDX_FLOOR, - WIDX_WALL, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_MOUNTAINMODE, + WIDX_PAINTMODE, + WIDX_PREVIEW, + WIDX_DECREMENT, + WIDX_INCREMENT, + WIDX_FLOOR, + WIDX_WALL, }; validate_global_widx(WC_LAND, WIDX_PREVIEW); static rct_widget window_land_widgets[] = { - { WWT_FRAME, 0, 0, 97, 0, 159, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 96, 1, 14, STR_LAND, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 85, 95, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_FRAME, 0, 0, 97, 0, 159, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 96, 1, 14, STR_LAND, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 85, 95, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_FLATBTN, 1, 19, 42, 19, 42, SPR_RIDE_CONSTRUCTION_SLOPE_UP, STR_ENABLE_MOUNTAIN_TOOL_TIP }, // mountain mode - { WWT_FLATBTN, 1, 55, 78, 19, 42, SPR_PAINTBRUSH, STR_DISABLE_ELEVATION }, // paint mode + { WWT_FLATBTN, 1, 19, 42, 19, 42, SPR_RIDE_CONSTRUCTION_SLOPE_UP, STR_ENABLE_MOUNTAIN_TOOL_TIP }, // mountain mode + { WWT_FLATBTN, 1, 55, 78, 19, 42, SPR_PAINTBRUSH, STR_DISABLE_ELEVATION }, // paint mode - { WWT_IMGBTN, 0, 27, 70, 48, 79, SPR_LAND_TOOL_SIZE_0, STR_NONE }, // preview box - { WWT_TRNBTN, 1, 28, 43, 49, 64, 0x20000000 | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP }, // decrement size - { WWT_TRNBTN, 1, 54, 69, 63, 78, 0x20000000 | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP }, // increment size + { WWT_IMGBTN, 0, 27, 70, 48, 79, SPR_LAND_TOOL_SIZE_0, STR_NONE }, // preview box + { WWT_TRNBTN, 1, 28, 43, 49, 64, 0x20000000 | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP }, // decrement size + { WWT_TRNBTN, 1, 54, 69, 63, 78, 0x20000000 | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP }, // increment size - { WWT_FLATBTN, 1, 2, 48, 106, 141, 0xFFFFFFFF, STR_CHANGE_BASE_LAND_TIP }, // floor texture - { WWT_FLATBTN, 1, 49, 95, 106, 141, 0xFFFFFFFF, STR_CHANGE_VERTICAL_LAND_TIP }, // wall texture - { WIDGETS_END }, + { WWT_FLATBTN, 1, 2, 48, 106, 141, 0xFFFFFFFF, STR_CHANGE_BASE_LAND_TIP }, // floor texture + { WWT_FLATBTN, 1, 49, 95, 106, 141, 0xFFFFFFFF, STR_CHANGE_VERTICAL_LAND_TIP }, // wall texture + { WIDGETS_END }, }; static void window_land_close(rct_window *w); @@ -70,46 +70,46 @@ static void window_land_textinput(rct_window *w, rct_widgetindex widgetIndex, ch static void window_land_inputsize(rct_window *w); static rct_window_event_list window_land_events = { - window_land_close, - window_land_mouseup, - NULL, - window_land_mousedown, - window_land_dropdown, - NULL, - window_land_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_land_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_land_invalidate, - window_land_paint, - NULL + window_land_close, + window_land_mouseup, + NULL, + window_land_mousedown, + window_land_dropdown, + NULL, + window_land_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_land_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_land_invalidate, + window_land_paint, + NULL }; static char FloorTextureOrder[] = { - TERRAIN_SAND_DARK, TERRAIN_SAND_LIGHT, TERRAIN_DIRT, TERRAIN_GRASS_CLUMPS, TERRAIN_GRASS, - TERRAIN_ROCK, TERRAIN_SAND, TERRAIN_MARTIAN, TERRAIN_CHECKERBOARD, TERRAIN_ICE, - TERRAIN_GRID_RED, TERRAIN_GRID_YELLOW, TERRAIN_GRID_BLUE, TERRAIN_GRID_GREEN + TERRAIN_SAND_DARK, TERRAIN_SAND_LIGHT, TERRAIN_DIRT, TERRAIN_GRASS_CLUMPS, TERRAIN_GRASS, + TERRAIN_ROCK, TERRAIN_SAND, TERRAIN_MARTIAN, TERRAIN_CHECKERBOARD, TERRAIN_ICE, + TERRAIN_GRID_RED, TERRAIN_GRID_YELLOW, TERRAIN_GRID_BLUE, TERRAIN_GRID_GREEN }; static char WallTextureOrder[] = { - TERRAIN_EDGE_ROCK, TERRAIN_EDGE_WOOD_RED, - TERRAIN_EDGE_WOOD_BLACK, TERRAIN_EDGE_ICE, - 0, 0 + TERRAIN_EDGE_ROCK, TERRAIN_EDGE_WOOD_RED, + TERRAIN_EDGE_WOOD_BLACK, TERRAIN_EDGE_ICE, + 0, 0 }; sint32 _selectedFloorTexture; @@ -121,34 +121,34 @@ sint32 _selectedWallTexture; */ void window_land_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - if (window_find_by_class(WC_LAND) != NULL) - return; + // Check if window is already open + if (window_find_by_class(WC_LAND) != NULL) + return; - window = window_create(context_get_width() - 98, 29, 98, 160, &window_land_events, WC_LAND, 0); - window->widgets = window_land_widgets; - window->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_DECREMENT) | - (1 << WIDX_INCREMENT) | - (1 << WIDX_FLOOR) | - (1 << WIDX_WALL) | - (1 << WIDX_MOUNTAINMODE) | - (1 << WIDX_PAINTMODE) | - (1 << WIDX_PREVIEW); - window_init_scroll_widgets(window); - window_push_others_below(window); + window = window_create(context_get_width() - 98, 29, 98, 160, &window_land_events, WC_LAND, 0); + window->widgets = window_land_widgets; + window->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_DECREMENT) | + (1 << WIDX_INCREMENT) | + (1 << WIDX_FLOOR) | + (1 << WIDX_WALL) | + (1 << WIDX_MOUNTAINMODE) | + (1 << WIDX_PAINTMODE) | + (1 << WIDX_PREVIEW); + window_init_scroll_widgets(window); + window_push_others_below(window); - gLandToolTerrainSurface = 255; - gLandToolTerrainEdge = 255; - gLandMountainMode = false; - gLandPaintMode = false; - _selectedFloorTexture = 0; - _selectedWallTexture = 0; - gLandToolRaiseCost = MONEY32_UNDEFINED; - gLandToolLowerCost = MONEY32_UNDEFINED; + gLandToolTerrainSurface = 255; + gLandToolTerrainEdge = 255; + gLandMountainMode = false; + gLandPaintMode = false; + _selectedFloorTexture = 0; + _selectedWallTexture = 0; + gLandToolRaiseCost = MONEY32_UNDEFINED; + gLandToolLowerCost = MONEY32_UNDEFINED; } /** @@ -157,9 +157,9 @@ void window_land_open() */ static void window_land_close(rct_window *w) { - // If the tool wasn't changed, turn tool off - if (land_tool_is_active()) - tool_cancel(); + // If the tool wasn't changed, turn tool off + if (land_tool_is_active()) + tool_cancel(); } /** @@ -168,38 +168,38 @@ static void window_land_close(rct_window *w) */ static void window_land_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_DECREMENT: - // Decrement land tool size - gLandToolSize = max(MINIMUM_TOOL_SIZE, gLandToolSize-1); + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_DECREMENT: + // Decrement land tool size + gLandToolSize = max(MINIMUM_TOOL_SIZE, gLandToolSize-1); - // Invalidate the window - window_invalidate(w); - break; - case WIDX_INCREMENT: - // Increment land tool size - gLandToolSize = min(MAXIMUM_TOOL_SIZE, gLandToolSize+1); + // Invalidate the window + window_invalidate(w); + break; + case WIDX_INCREMENT: + // Increment land tool size + gLandToolSize = min(MAXIMUM_TOOL_SIZE, gLandToolSize+1); - // Invalidate the window - window_invalidate(w); - break; - case WIDX_MOUNTAINMODE: - gLandMountainMode ^= 1; - gLandPaintMode = 0; - window_invalidate(w); - break; - case WIDX_PAINTMODE: - gLandMountainMode = 0; - gLandPaintMode ^= 1; - window_invalidate(w); - break; - case WIDX_PREVIEW: - window_land_inputsize(w); - break; - } + // Invalidate the window + window_invalidate(w); + break; + case WIDX_MOUNTAINMODE: + gLandMountainMode ^= 1; + gLandPaintMode = 0; + window_invalidate(w); + break; + case WIDX_PAINTMODE: + gLandMountainMode = 0; + gLandPaintMode ^= 1; + window_invalidate(w); + break; + case WIDX_PREVIEW: + window_land_inputsize(w); + break; + } } /** @@ -208,49 +208,49 @@ static void window_land_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ static void window_land_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - sint32 i; - sint32 defaultIndex = -1; - switch (widgetIndex) { - case WIDX_FLOOR: - for (i = 0; i < 14; i++) { - gDropdownItemsFormat[i] = -1; - gDropdownItemsArgs[i] = SPR_FLOOR_TEXTURE_GRASS + FloorTextureOrder[i]; - if (FloorTextureOrder[i] == _selectedFloorTexture) - defaultIndex = i; - } - window_dropdown_show_image( - w->x + widget->left, w->y + widget->top, - widget->bottom - widget->top, - w->colours[2], - 0, - 14, - 47, 36, - gAppropriateImageDropdownItemsPerRow[14] - ); - gDropdownDefaultIndex = defaultIndex; - break; - case WIDX_WALL: - for (i = 0; i < 4; i++) { - gDropdownItemsFormat[i] = -1; - gDropdownItemsArgs[i] = SPR_WALL_TEXTURE_ROCK + WallTextureOrder[i]; - if (WallTextureOrder[i] == _selectedWallTexture) - defaultIndex = i; - } - window_dropdown_show_image( - w->x + widget->left, w->y + widget->top, - widget->bottom - widget->top, - w->colours[2], - 0, - 4, - 47, 36, - gAppropriateImageDropdownItemsPerRow[4] - ); - gDropdownDefaultIndex = defaultIndex; - break; - case WIDX_PREVIEW: - window_land_inputsize(w); - break; - } + sint32 i; + sint32 defaultIndex = -1; + switch (widgetIndex) { + case WIDX_FLOOR: + for (i = 0; i < 14; i++) { + gDropdownItemsFormat[i] = -1; + gDropdownItemsArgs[i] = SPR_FLOOR_TEXTURE_GRASS + FloorTextureOrder[i]; + if (FloorTextureOrder[i] == _selectedFloorTexture) + defaultIndex = i; + } + window_dropdown_show_image( + w->x + widget->left, w->y + widget->top, + widget->bottom - widget->top, + w->colours[2], + 0, + 14, + 47, 36, + gAppropriateImageDropdownItemsPerRow[14] + ); + gDropdownDefaultIndex = defaultIndex; + break; + case WIDX_WALL: + for (i = 0; i < 4; i++) { + gDropdownItemsFormat[i] = -1; + gDropdownItemsArgs[i] = SPR_WALL_TEXTURE_ROCK + WallTextureOrder[i]; + if (WallTextureOrder[i] == _selectedWallTexture) + defaultIndex = i; + } + window_dropdown_show_image( + w->x + widget->left, w->y + widget->top, + widget->bottom - widget->top, + w->colours[2], + 0, + 4, + 47, 36, + gAppropriateImageDropdownItemsPerRow[4] + ); + gDropdownDefaultIndex = defaultIndex; + break; + case WIDX_PREVIEW: + window_land_inputsize(w); + break; + } } /** @@ -259,67 +259,67 @@ static void window_land_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct */ static void window_land_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - sint32 type; + sint32 type; - switch (widgetIndex) { - case WIDX_FLOOR: - if (dropdownIndex == -1) - dropdownIndex = gDropdownHighlightedIndex; + switch (widgetIndex) { + case WIDX_FLOOR: + if (dropdownIndex == -1) + dropdownIndex = gDropdownHighlightedIndex; - type = (dropdownIndex == -1) ? - _selectedFloorTexture : - (uint32)gDropdownItemsArgs[dropdownIndex] - SPR_FLOOR_TEXTURE_GRASS; + type = (dropdownIndex == -1) ? + _selectedFloorTexture : + (uint32)gDropdownItemsArgs[dropdownIndex] - SPR_FLOOR_TEXTURE_GRASS; - if (gLandToolTerrainSurface == type) { - gLandToolTerrainSurface = 255; - } else { - gLandToolTerrainSurface = type; - _selectedFloorTexture = type; - } - window_invalidate(w); - break; - case WIDX_WALL: - if (dropdownIndex == -1) - dropdownIndex = gDropdownHighlightedIndex; + if (gLandToolTerrainSurface == type) { + gLandToolTerrainSurface = 255; + } else { + gLandToolTerrainSurface = type; + _selectedFloorTexture = type; + } + window_invalidate(w); + break; + case WIDX_WALL: + if (dropdownIndex == -1) + dropdownIndex = gDropdownHighlightedIndex; - type = (dropdownIndex == -1) ? - _selectedWallTexture : - (uint32)gDropdownItemsArgs[dropdownIndex] - SPR_WALL_TEXTURE_ROCK; + type = (dropdownIndex == -1) ? + _selectedWallTexture : + (uint32)gDropdownItemsArgs[dropdownIndex] - SPR_WALL_TEXTURE_ROCK; - if (gLandToolTerrainEdge == type) { - gLandToolTerrainEdge = 255; - } else { - gLandToolTerrainEdge = type; - _selectedWallTexture = type; - } - window_invalidate(w); - break; - } + if (gLandToolTerrainEdge == type) { + gLandToolTerrainEdge = 255; + } else { + gLandToolTerrainEdge = type; + _selectedWallTexture = type; + } + window_invalidate(w); + break; + } } static void window_land_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - sint32 size; - char* end; + sint32 size; + char* end; - if (widgetIndex != WIDX_PREVIEW || text == NULL) - return; + if (widgetIndex != WIDX_PREVIEW || text == NULL) + return; - size = strtol(text, &end, 10); - if (*end == '\0') { - size = max(MINIMUM_TOOL_SIZE,size); - size = min(MAXIMUM_TOOL_SIZE,size); - gLandToolSize = size; + size = strtol(text, &end, 10); + if (*end == '\0') { + size = max(MINIMUM_TOOL_SIZE,size); + size = min(MAXIMUM_TOOL_SIZE,size); + gLandToolSize = size; - window_invalidate(w); - } + window_invalidate(w); + } } static void window_land_inputsize(rct_window *w) { - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; - window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); + TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; + TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; + window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); } /** @@ -328,8 +328,8 @@ static void window_land_inputsize(rct_window *w) */ static void window_land_update(rct_window *w) { - if (!land_tool_is_active()) - window_close(w); + if (!land_tool_is_active()) + window_close(w); } /** @@ -338,22 +338,22 @@ static void window_land_update(rct_window *w) */ static void window_land_invalidate(rct_window *w) { - w->pressed_widgets = (1 << WIDX_PREVIEW); - if (gLandToolTerrainSurface != 255) - w->pressed_widgets |= (1 << WIDX_FLOOR); - if (gLandToolTerrainEdge != 255) - w->pressed_widgets |= (1 << WIDX_WALL); - if (gLandMountainMode) - w->pressed_widgets |= (1 << WIDX_MOUNTAINMODE); - if (gLandPaintMode) - w->pressed_widgets |= (1 << WIDX_PAINTMODE); + w->pressed_widgets = (1 << WIDX_PREVIEW); + if (gLandToolTerrainSurface != 255) + w->pressed_widgets |= (1 << WIDX_FLOOR); + if (gLandToolTerrainEdge != 255) + w->pressed_widgets |= (1 << WIDX_WALL); + if (gLandMountainMode) + w->pressed_widgets |= (1 << WIDX_MOUNTAINMODE); + if (gLandPaintMode) + w->pressed_widgets |= (1 << WIDX_PAINTMODE); - window_land_widgets[WIDX_FLOOR].image = SPR_FLOOR_TEXTURE_GRASS + _selectedFloorTexture; - window_land_widgets[WIDX_WALL].image = SPR_WALL_TEXTURE_ROCK + _selectedWallTexture; - // Update the preview image (for tool sizes up to 7) - window_land_widgets[WIDX_PREVIEW].image = gLandToolSize <= 7 ? - SPR_LAND_TOOL_SIZE_0 + gLandToolSize : - 0xFFFFFFFF; + window_land_widgets[WIDX_FLOOR].image = SPR_FLOOR_TEXTURE_GRASS + _selectedFloorTexture; + window_land_widgets[WIDX_WALL].image = SPR_WALL_TEXTURE_ROCK + _selectedWallTexture; + // Update the preview image (for tool sizes up to 7) + window_land_widgets[WIDX_PREVIEW].image = gLandToolSize <= 7 ? + SPR_LAND_TOOL_SIZE_0 + gLandToolSize : + 0xFFFFFFFF; } /** @@ -362,46 +362,46 @@ static void window_land_invalidate(rct_window *w) */ static void window_land_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y, numTiles; - money32 price; - rct_widget *previewWidget = &window_land_widgets[WIDX_PREVIEW]; + sint32 x, y, numTiles; + money32 price; + rct_widget *previewWidget = &window_land_widgets[WIDX_PREVIEW]; - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - // Draw number for tool sizes bigger than 7 - if (gLandToolSize > 7) { - x = w->x + (previewWidget->left + previewWidget->right) / 2; - y = w->y + (previewWidget->top + previewWidget->bottom) / 2; - gfx_draw_string_centred(dpi, STR_LAND_TOOL_SIZE_VALUE, x, y - 2, COLOUR_BLACK, &gLandToolSize); - } else if (gLandMountainMode) { - x = w->x + previewWidget->left; - y = w->y + previewWidget->top; - gfx_draw_sprite(dpi, SPR_LAND_TOOL_SIZE_0, x, y, 0); - } + // Draw number for tool sizes bigger than 7 + if (gLandToolSize > 7) { + x = w->x + (previewWidget->left + previewWidget->right) / 2; + y = w->y + (previewWidget->top + previewWidget->bottom) / 2; + gfx_draw_string_centred(dpi, STR_LAND_TOOL_SIZE_VALUE, x, y - 2, COLOUR_BLACK, &gLandToolSize); + } else if (gLandMountainMode) { + x = w->x + previewWidget->left; + y = w->y + previewWidget->top; + gfx_draw_sprite(dpi, SPR_LAND_TOOL_SIZE_0, x, y, 0); + } - x = w->x + (previewWidget->left + previewWidget->right) / 2; - y = w->y + previewWidget->bottom + 5; + x = w->x + (previewWidget->left + previewWidget->right) / 2; + y = w->y + previewWidget->bottom + 5; - // Draw raise cost amount - if (gLandToolRaiseCost != MONEY32_UNDEFINED && gLandToolRaiseCost != 0) - gfx_draw_string_centred(dpi, STR_RAISE_COST_AMOUNT, x, y, COLOUR_BLACK, &gLandToolRaiseCost); - y += 10; + // Draw raise cost amount + if (gLandToolRaiseCost != MONEY32_UNDEFINED && gLandToolRaiseCost != 0) + gfx_draw_string_centred(dpi, STR_RAISE_COST_AMOUNT, x, y, COLOUR_BLACK, &gLandToolRaiseCost); + y += 10; - // Draw lower cost amount - if (gLandToolLowerCost != MONEY32_UNDEFINED && gLandToolLowerCost != 0) - gfx_draw_string_centred(dpi, STR_LOWER_COST_AMOUNT, x, y, COLOUR_BLACK, &gLandToolLowerCost); - y += 50; + // Draw lower cost amount + if (gLandToolLowerCost != MONEY32_UNDEFINED && gLandToolLowerCost != 0) + gfx_draw_string_centred(dpi, STR_LOWER_COST_AMOUNT, x, y, COLOUR_BLACK, &gLandToolLowerCost); + y += 50; - // Draw paint price - numTiles = gLandToolSize * gLandToolSize; - price = 0; - if (gLandToolTerrainSurface != 255) - price += numTiles * TerrainPricing[gLandToolTerrainSurface]; - if (gLandToolTerrainEdge != 255) - price += numTiles * 100; + // Draw paint price + numTiles = gLandToolSize * gLandToolSize; + price = 0; + if (gLandToolTerrainSurface != 255) + price += numTiles * TerrainPricing[gLandToolTerrainSurface]; + if (gLandToolTerrainEdge != 255) + price += numTiles * 100; - if (price != 0 && !(gParkFlags & PARK_FLAGS_NO_MONEY)) { - set_format_arg(0, money32, price); - gfx_draw_string_centred(dpi, STR_COST_AMOUNT, x, y, COLOUR_BLACK, gCommonFormatArgs); - } + if (price != 0 && !(gParkFlags & PARK_FLAGS_NO_MONEY)) { + set_format_arg(0, money32, price); + gfx_draw_string_centred(dpi, STR_COST_AMOUNT, x, y, COLOUR_BLACK, gCommonFormatArgs); + } } diff --git a/src/openrct2/windows/land_rights.c b/src/openrct2/windows/land_rights.c index a8921a6ff2..d3c5e5c91f 100644 --- a/src/openrct2/windows/land_rights.c +++ b/src/openrct2/windows/land_rights.c @@ -29,28 +29,28 @@ #define MAXIMUM_TOOL_SIZE 64 enum WINDOW_WATER_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PREVIEW, - WIDX_DECREMENT, - WIDX_INCREMENT, - WIDX_BUY_LAND_RIGHTS, - WIDX_BUY_CONSTRUCTION_RIGHTS + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PREVIEW, + WIDX_DECREMENT, + WIDX_INCREMENT, + WIDX_BUY_LAND_RIGHTS, + WIDX_BUY_CONSTRUCTION_RIGHTS }; validate_global_widx(WC_LAND_RIGHTS, WIDX_PREVIEW); static rct_widget window_land_rights_widgets[] = { - { WWT_FRAME, 0, 0, 97, 0, 93, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 96, 1, 14, STR_LAND_RIGHTS, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 85, 95, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_IMGBTN, 0, 27, 70, 17, 48, SPR_LAND_TOOL_SIZE_0, STR_NONE }, // preview box - { WWT_TRNBTN, 2, 28, 43, 18, 33, 0x20000000 | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_RIGHTS_TIP }, // decrement size - { WWT_TRNBTN, 2, 54, 69, 32, 47, 0x20000000 | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_RIGHTS_TIP }, // increment size - { WWT_FLATBTN, 2, 22, 45, 53, 76, 0x20000000 | SPR_BUY_LAND_RIGHTS, STR_BUY_LAND_RIGHTS_TIP }, // land rights - { WWT_FLATBTN, 2, 52, 75, 53, 76, 0x20000000 | SPR_BUY_CONSTRUCTION_RIGHTS, STR_BUY_CONSTRUCTION_RIGHTS_TIP }, // construction rights - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 97, 0, 93, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 96, 1, 14, STR_LAND_RIGHTS, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 85, 95, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_IMGBTN, 0, 27, 70, 17, 48, SPR_LAND_TOOL_SIZE_0, STR_NONE }, // preview box + { WWT_TRNBTN, 2, 28, 43, 18, 33, 0x20000000 | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_RIGHTS_TIP }, // decrement size + { WWT_TRNBTN, 2, 54, 69, 32, 47, 0x20000000 | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_RIGHTS_TIP }, // increment size + { WWT_FLATBTN, 2, 22, 45, 53, 76, 0x20000000 | SPR_BUY_LAND_RIGHTS, STR_BUY_LAND_RIGHTS_TIP }, // land rights + { WWT_FLATBTN, 2, 52, 75, 53, 76, 0x20000000 | SPR_BUY_CONSTRUCTION_RIGHTS, STR_BUY_CONSTRUCTION_RIGHTS_TIP }, // construction rights + { WIDGETS_END }, }; static void window_land_rights_close(rct_window *w); @@ -62,197 +62,197 @@ static void window_land_rights_textinput(rct_window *w, rct_widgetindex widgetIn static void window_land_rights_inputsize(rct_window *w); static rct_window_event_list window_land_rights_events = { - window_land_rights_close, - window_land_rights_mouseup, - NULL, - NULL, - NULL, - NULL, - window_land_rights_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_land_rights_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_land_rights_invalidate, - window_land_rights_paint, - NULL + window_land_rights_close, + window_land_rights_mouseup, + NULL, + NULL, + NULL, + NULL, + window_land_rights_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_land_rights_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_land_rights_invalidate, + window_land_rights_paint, + NULL }; void window_land_rights_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - if (window_find_by_class(WC_LAND_RIGHTS) != NULL) - return; + // Check if window is already open + if (window_find_by_class(WC_LAND_RIGHTS) != NULL) + return; - window = window_create(context_get_width() - 98, 29, 98, 94, &window_land_rights_events, WC_LAND_RIGHTS, 0); - window->widgets = window_land_rights_widgets; - window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_DECREMENT) | (1 << WIDX_INCREMENT) | (1 << WIDX_PREVIEW) | - (1 << WIDX_BUY_LAND_RIGHTS) | (1 << WIDX_BUY_CONSTRUCTION_RIGHTS); - window_init_scroll_widgets(window); - window_push_others_below(window); + window = window_create(context_get_width() - 98, 29, 98, 94, &window_land_rights_events, WC_LAND_RIGHTS, 0); + window->widgets = window_land_rights_widgets; + window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_DECREMENT) | (1 << WIDX_INCREMENT) | (1 << WIDX_PREVIEW) | + (1 << WIDX_BUY_LAND_RIGHTS) | (1 << WIDX_BUY_CONSTRUCTION_RIGHTS); + window_init_scroll_widgets(window); + window_push_others_below(window); - LandRightsMode = true; - window->pressed_widgets = (1 << WIDX_BUY_LAND_RIGHTS); + LandRightsMode = true; + window->pressed_widgets = (1 << WIDX_BUY_LAND_RIGHTS); - gWaterToolRaiseCost = MONEY32_UNDEFINED; - gWaterToolLowerCost = MONEY32_UNDEFINED; + gWaterToolRaiseCost = MONEY32_UNDEFINED; + gWaterToolLowerCost = MONEY32_UNDEFINED; - show_land_rights(); - - if (gLandRemainingConstructionSales == 0) { - show_construction_rights(); - } + show_land_rights(); + + if (gLandRemainingConstructionSales == 0) { + show_construction_rights(); + } } static void window_land_rights_close(rct_window *w) { - if (gLandRemainingConstructionSales == 0) { - hide_construction_rights(); - } - - // If the tool wasn't changed, turn tool off - if (land_rights_tool_is_active()) - tool_cancel(); + if (gLandRemainingConstructionSales == 0) { + hide_construction_rights(); + } + + // If the tool wasn't changed, turn tool off + if (land_rights_tool_is_active()) + tool_cancel(); } static void window_land_rights_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_DECREMENT: - // Decrement land rights tool size - gLandToolSize = max(MINIMUM_TOOL_SIZE, gLandToolSize-1); + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_DECREMENT: + // Decrement land rights tool size + gLandToolSize = max(MINIMUM_TOOL_SIZE, gLandToolSize-1); - // Invalidate the window - window_invalidate(w); - break; - case WIDX_INCREMENT: - // Decrement land rights tool size - gLandToolSize = min(MAXIMUM_TOOL_SIZE, gLandToolSize+1); + // Invalidate the window + window_invalidate(w); + break; + case WIDX_INCREMENT: + // Decrement land rights tool size + gLandToolSize = min(MAXIMUM_TOOL_SIZE, gLandToolSize+1); - // Invalidate the window - window_invalidate(w); - break; - case WIDX_PREVIEW: - window_land_rights_inputsize(w); - break; - case WIDX_BUY_LAND_RIGHTS: - if (!LandRightsMode) { - LandRightsMode = true; - hide_construction_rights(); - show_land_rights(); - window_invalidate(w); - } - break; - case WIDX_BUY_CONSTRUCTION_RIGHTS: - if (LandRightsMode) { - LandRightsMode = false; - hide_land_rights(); - show_construction_rights(); - window_invalidate(w); - } - break; - } + // Invalidate the window + window_invalidate(w); + break; + case WIDX_PREVIEW: + window_land_rights_inputsize(w); + break; + case WIDX_BUY_LAND_RIGHTS: + if (!LandRightsMode) { + LandRightsMode = true; + hide_construction_rights(); + show_land_rights(); + window_invalidate(w); + } + break; + case WIDX_BUY_CONSTRUCTION_RIGHTS: + if (LandRightsMode) { + LandRightsMode = false; + hide_land_rights(); + show_construction_rights(); + window_invalidate(w); + } + break; + } } static void window_land_rights_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - sint32 size; - char* end; + sint32 size; + char* end; - if (widgetIndex != WIDX_PREVIEW || text == NULL) - return; + if (widgetIndex != WIDX_PREVIEW || text == NULL) + return; - size = strtol(text, &end, 10); - if (*end == '\0') { - size = max(MINIMUM_TOOL_SIZE,size); - size = min(MAXIMUM_TOOL_SIZE,size); - gLandToolSize = size; - window_invalidate(w); - } + size = strtol(text, &end, 10); + if (*end == '\0') { + size = max(MINIMUM_TOOL_SIZE,size); + size = min(MAXIMUM_TOOL_SIZE,size); + gLandToolSize = size; + window_invalidate(w); + } } static void window_land_rights_inputsize(rct_window *w) { - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; - window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); + TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; + TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; + window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); } static void window_land_rights_update(rct_window *w) { - // Close window if another tool is open - if (!land_rights_tool_is_active()) - window_close(w); + // Close window if another tool is open + if (!land_rights_tool_is_active()) + window_close(w); } static void window_land_rights_invalidate(rct_window *w) { - // Set the preview image button to be pressed down - w->pressed_widgets |= (1 << WIDX_PREVIEW) | (1 << (LandRightsMode ? WIDX_BUY_LAND_RIGHTS : WIDX_BUY_CONSTRUCTION_RIGHTS)); - w->pressed_widgets &= ~(1 << (!LandRightsMode ? WIDX_BUY_LAND_RIGHTS : WIDX_BUY_CONSTRUCTION_RIGHTS)); + // Set the preview image button to be pressed down + w->pressed_widgets |= (1 << WIDX_PREVIEW) | (1 << (LandRightsMode ? WIDX_BUY_LAND_RIGHTS : WIDX_BUY_CONSTRUCTION_RIGHTS)); + w->pressed_widgets &= ~(1 << (!LandRightsMode ? WIDX_BUY_LAND_RIGHTS : WIDX_BUY_CONSTRUCTION_RIGHTS)); - // Update the preview image - // TODO: Don't apply addition to images - window_land_rights_widgets[WIDX_PREVIEW].image = gLandToolSize <= 7 ? - SPR_LAND_TOOL_SIZE_0 + gLandToolSize : - 0xFFFFFFFF; + // Update the preview image + // TODO: Don't apply addition to images + window_land_rights_widgets[WIDX_PREVIEW].image = gLandToolSize <= 7 ? + SPR_LAND_TOOL_SIZE_0 + gLandToolSize : + 0xFFFFFFFF; - // Disable ownership and/or construction buying functions if there are no tiles left for sale - if (gLandRemainingOwnershipSales == 0) { - w->disabled_widgets |= (1 << WIDX_BUY_LAND_RIGHTS); - window_land_rights_widgets[WIDX_BUY_LAND_RIGHTS].tooltip = STR_NO_LAND_RIGHTS_FOR_SALE_TIP; - } else { - w->disabled_widgets &= ~(1 << WIDX_BUY_LAND_RIGHTS); - window_land_rights_widgets[WIDX_BUY_LAND_RIGHTS].tooltip = STR_BUY_LAND_RIGHTS_TIP; - } + // Disable ownership and/or construction buying functions if there are no tiles left for sale + if (gLandRemainingOwnershipSales == 0) { + w->disabled_widgets |= (1 << WIDX_BUY_LAND_RIGHTS); + window_land_rights_widgets[WIDX_BUY_LAND_RIGHTS].tooltip = STR_NO_LAND_RIGHTS_FOR_SALE_TIP; + } else { + w->disabled_widgets &= ~(1 << WIDX_BUY_LAND_RIGHTS); + window_land_rights_widgets[WIDX_BUY_LAND_RIGHTS].tooltip = STR_BUY_LAND_RIGHTS_TIP; + } - if (gLandRemainingConstructionSales == 0) { - w->disabled_widgets |= (1 << WIDX_BUY_CONSTRUCTION_RIGHTS); - window_land_rights_widgets[WIDX_BUY_CONSTRUCTION_RIGHTS].tooltip = STR_NO_CONSTRUCTION_RIGHTS_FOR_SALE_TIP; - } else { - w->disabled_widgets &= ~(1 << WIDX_BUY_CONSTRUCTION_RIGHTS); - window_land_rights_widgets[WIDX_BUY_CONSTRUCTION_RIGHTS].tooltip = STR_BUY_CONSTRUCTION_RIGHTS_TIP; - } + if (gLandRemainingConstructionSales == 0) { + w->disabled_widgets |= (1 << WIDX_BUY_CONSTRUCTION_RIGHTS); + window_land_rights_widgets[WIDX_BUY_CONSTRUCTION_RIGHTS].tooltip = STR_NO_CONSTRUCTION_RIGHTS_FOR_SALE_TIP; + } else { + w->disabled_widgets &= ~(1 << WIDX_BUY_CONSTRUCTION_RIGHTS); + window_land_rights_widgets[WIDX_BUY_CONSTRUCTION_RIGHTS].tooltip = STR_BUY_CONSTRUCTION_RIGHTS_TIP; + } } static void window_land_rights_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y; + sint32 x, y; - x = w->x + (window_land_rights_widgets[WIDX_PREVIEW].left + window_land_rights_widgets[WIDX_PREVIEW].right) / 2; - y = w->y + (window_land_rights_widgets[WIDX_PREVIEW].top + window_land_rights_widgets[WIDX_PREVIEW].bottom) / 2; + x = w->x + (window_land_rights_widgets[WIDX_PREVIEW].left + window_land_rights_widgets[WIDX_PREVIEW].right) / 2; + y = w->y + (window_land_rights_widgets[WIDX_PREVIEW].top + window_land_rights_widgets[WIDX_PREVIEW].bottom) / 2; - window_draw_widgets(w, dpi); - // Draw number for tool sizes bigger than 7 - if (gLandToolSize > 7) { - gfx_draw_string_centred(dpi, STR_LAND_TOOL_SIZE_VALUE, x, y - 2, COLOUR_BLACK, &gLandToolSize); - } + window_draw_widgets(w, dpi); + // Draw number for tool sizes bigger than 7 + if (gLandToolSize > 7) { + gfx_draw_string_centred(dpi, STR_LAND_TOOL_SIZE_VALUE, x, y - 2, COLOUR_BLACK, &gLandToolSize); + } - // Draw cost amount - x = (window_land_rights_widgets[WIDX_PREVIEW].left + window_land_rights_widgets[WIDX_PREVIEW].right) / 2 + w->x; - y = window_land_rights_widgets[WIDX_PREVIEW].bottom + w->y + 32; - if (gLandRightsCost != MONEY32_UNDEFINED && - gLandRightsCost != 0 - ) { - gfx_draw_string_centred(dpi, STR_COST_AMOUNT, x, y, COLOUR_BLACK, &gLandRightsCost); - } + // Draw cost amount + x = (window_land_rights_widgets[WIDX_PREVIEW].left + window_land_rights_widgets[WIDX_PREVIEW].right) / 2 + w->x; + y = window_land_rights_widgets[WIDX_PREVIEW].bottom + w->y + 32; + if (gLandRightsCost != MONEY32_UNDEFINED && + gLandRightsCost != 0 + ) { + gfx_draw_string_centred(dpi, STR_COST_AMOUNT, x, y, COLOUR_BLACK, &gLandRightsCost); + } } diff --git a/src/openrct2/windows/loadsave.c b/src/openrct2/windows/loadsave.c index 6a92c22806..48f6f56cf6 100644 --- a/src/openrct2/windows/loadsave.c +++ b/src/openrct2/windows/loadsave.c @@ -34,33 +34,33 @@ #define WH 400 enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_DEFAULT, - WIDX_UP, - WIDX_NEW_FOLDER, - WIDX_NEW_FILE, - WIDX_SORT_NAME, - WIDX_SORT_DATE, - WIDX_SCROLL, - WIDX_BROWSE, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_DEFAULT, + WIDX_UP, + WIDX_NEW_FOLDER, + WIDX_NEW_FILE, + WIDX_SORT_NAME, + WIDX_SORT_DATE, + WIDX_SCROLL, + WIDX_BROWSE, }; // 0x9DE48C static rct_widget window_loadsave_widgets[] = { - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_NONE, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, //Window close button - { WWT_CLOSEBOX, 0, 4, 84, 36, 47, STR_LOADSAVE_DEFAULT, STR_LOADSAVE_DEFAULT_TIP }, // Go to default directory - { WWT_CLOSEBOX, 0, 85, 165, 36, 47, STR_FILEBROWSER_ACTION_UP, STR_NONE}, // Up - { WWT_CLOSEBOX, 0, 166, 246, 36, 47, STR_FILEBROWSER_ACTION_NEW_FOLDER, STR_NONE }, // New - { WWT_CLOSEBOX, 0, 247, 328, 36, 47, STR_FILEBROWSER_ACTION_NEW_FILE, STR_NONE }, // New - { WWT_CLOSEBOX, 0, 4, (WW - 5) / 2, 50, 61, STR_NONE, STR_NONE }, // Name - { WWT_CLOSEBOX, 0, (WW - 5) / 2 + 1, WW - 5 - 1, 50, 61, STR_NONE, STR_NONE }, // Date - { WWT_SCROLL, 0, 4, WW - 5, 61, WH - 40, SCROLL_VERTICAL, STR_NONE }, // File list - { WWT_CLOSEBOX, 0, 4, 200, WH - 36, WH - 18, STR_FILEBROWSER_USE_SYSTEM_WINDOW, STR_NONE }, // Use native browser - { WIDGETS_END } + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_NONE, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, //Window close button + { WWT_CLOSEBOX, 0, 4, 84, 36, 47, STR_LOADSAVE_DEFAULT, STR_LOADSAVE_DEFAULT_TIP }, // Go to default directory + { WWT_CLOSEBOX, 0, 85, 165, 36, 47, STR_FILEBROWSER_ACTION_UP, STR_NONE}, // Up + { WWT_CLOSEBOX, 0, 166, 246, 36, 47, STR_FILEBROWSER_ACTION_NEW_FOLDER, STR_NONE }, // New + { WWT_CLOSEBOX, 0, 247, 328, 36, 47, STR_FILEBROWSER_ACTION_NEW_FILE, STR_NONE }, // New + { WWT_CLOSEBOX, 0, 4, (WW - 5) / 2, 50, 61, STR_NONE, STR_NONE }, // Name + { WWT_CLOSEBOX, 0, (WW - 5) / 2 + 1, WW - 5 - 1, 50, 61, STR_NONE, STR_NONE }, // Date + { WWT_SCROLL, 0, 4, WW - 5, 61, WH - 40, SCROLL_VERTICAL, STR_NONE }, // File list + { WWT_CLOSEBOX, 0, 4, 200, WH - 36, WH - 18, STR_FILEBROWSER_USE_SYSTEM_WINDOW, STR_NONE }, // Use native browser + { WIDGETS_END } }; #pragma endregion @@ -78,49 +78,49 @@ static void window_loadsave_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_loadsave_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_loadsave_events = { - window_loadsave_close, - window_loadsave_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_loadsave_scrollgetsize, - window_loadsave_scrollmousedown, - NULL, - window_loadsave_scrollmouseover, - window_loadsave_textinput, - NULL, - NULL, - window_loadsave_tooltip, - NULL, - NULL, - NULL, - window_loadsave_paint, - window_loadsave_scrollpaint + window_loadsave_close, + window_loadsave_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_loadsave_scrollgetsize, + window_loadsave_scrollmousedown, + NULL, + window_loadsave_scrollmouseover, + window_loadsave_textinput, + NULL, + NULL, + window_loadsave_tooltip, + NULL, + NULL, + NULL, + window_loadsave_paint, + window_loadsave_scrollpaint }; #pragma endregion enum { - TYPE_DIRECTORY, - TYPE_FILE, + TYPE_DIRECTORY, + TYPE_FILE, }; typedef struct loadsave_list_item { - char name[256]; - char path[MAX_PATH]; - time_t date_modified; - uint8 type; - bool loaded; + char name[256]; + char path[MAX_PATH]; + time_t date_modified; + uint8 type; + bool loaded; } loadsave_list_item; static loadsave_callback _loadSaveCallback; @@ -142,706 +142,706 @@ static rct_window *window_overwrite_prompt_open(const char *name, const char *pa void window_loadsave_set_loadsave_callback(loadsave_callback cb) { - _loadSaveCallback = cb; + _loadSaveCallback = cb; } static sint32 window_loadsave_get_dir(utf8 *last_save, char *path, const char *subdir, size_t pathSize) { - if (last_save && platform_ensure_directory_exists(last_save)) - safe_strcpy(path, last_save, pathSize); - else - platform_get_user_directory(path, subdir, pathSize); + if (last_save && platform_ensure_directory_exists(last_save)) + safe_strcpy(path, last_save, pathSize); + else + platform_get_user_directory(path, subdir, pathSize); - if (!platform_ensure_directory_exists(path)) { - log_error("Unable to create save directory."); - return 0; - } - return 1; + if (!platform_ensure_directory_exists(path)) { + log_error("Unable to create save directory."); + return 0; + } + return 1; } rct_window *window_loadsave_open(sint32 type, char *defaultName) { - _loadSaveCallback = NULL; - _type = type; - _defaultName[0] = '\0'; + _loadSaveCallback = NULL; + _type = type; + _defaultName[0] = '\0'; - if (!str_is_null_or_empty(defaultName)) { - safe_strcpy(_defaultName, defaultName, sizeof(_defaultName)); - } + if (!str_is_null_or_empty(defaultName)) { + safe_strcpy(_defaultName, defaultName, sizeof(_defaultName)); + } - rct_window *w = window_bring_to_front_by_class(WC_LOADSAVE); - if (w == NULL) { - w = window_create_centred(WW, WH, &window_loadsave_events, WC_LOADSAVE, WF_STICK_TO_FRONT); - w->widgets = window_loadsave_widgets; - w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_UP) | (1 << WIDX_NEW_FOLDER) | (1 << WIDX_NEW_FILE) | (1 << WIDX_SORT_NAME) | (1 << WIDX_SORT_DATE) | (1 << WIDX_BROWSE) | (1 << WIDX_DEFAULT); - w->colours[0] = COLOUR_LIGHT_BLUE; - w->colours[1] = COLOUR_LIGHT_BLUE; - w->colours[2] = COLOUR_LIGHT_BLUE; - } + rct_window *w = window_bring_to_front_by_class(WC_LOADSAVE); + if (w == NULL) { + w = window_create_centred(WW, WH, &window_loadsave_events, WC_LOADSAVE, WF_STICK_TO_FRONT); + w->widgets = window_loadsave_widgets; + w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_UP) | (1 << WIDX_NEW_FOLDER) | (1 << WIDX_NEW_FILE) | (1 << WIDX_SORT_NAME) | (1 << WIDX_SORT_DATE) | (1 << WIDX_BROWSE) | (1 << WIDX_DEFAULT); + w->colours[0] = COLOUR_LIGHT_BLUE; + w->colours[1] = COLOUR_LIGHT_BLUE; + w->colours[2] = COLOUR_LIGHT_BLUE; + } - w->no_list_items = 0; - w->selected_list_item = -1; + w->no_list_items = 0; + w->selected_list_item = -1; - bool isSave = (type & 0x01) == LOADSAVETYPE_SAVE; - bool success = false; - char path[MAX_PATH]; + bool isSave = (type & 0x01) == LOADSAVETYPE_SAVE; + bool success = false; + char path[MAX_PATH]; - switch (type & 0x0E) { - case LOADSAVETYPE_GAME: - w->widgets[WIDX_TITLE].text = isSave ? STR_FILE_DIALOG_TITLE_SAVE_GAME : STR_FILE_DIALOG_TITLE_LOAD_GAME; - if (window_loadsave_get_dir(gConfigGeneral.last_save_game_directory, path, "save", sizeof(path))) { - window_loadsave_populate_list(w, isSave, path, isSave ? ".sv6" : ".sv6;.sc6;.sv4;.sc4"); - success = true; - } - break; - case LOADSAVETYPE_LANDSCAPE: - w->widgets[WIDX_TITLE].text = isSave ? STR_FILE_DIALOG_TITLE_SAVE_LANDSCAPE : STR_FILE_DIALOG_TITLE_LOAD_LANDSCAPE; - if (window_loadsave_get_dir(gConfigGeneral.last_save_landscape_directory, path, "landscape", sizeof(path))) { - window_loadsave_populate_list(w, isSave, path, isSave ? ".sc6" : ".sc6;.sv6;.sc4;.sv4"); - success = true; - } - break; - case LOADSAVETYPE_SCENARIO: - w->widgets[WIDX_TITLE].text = STR_FILE_DIALOG_TITLE_SAVE_SCENARIO; - if (window_loadsave_get_dir(gConfigGeneral.last_save_scenario_directory, path, "scenario", sizeof(path))) { - window_loadsave_populate_list(w, isSave, path, ".sc6"); - success = true; - } - break; - case LOADSAVETYPE_TRACK: - w->widgets[WIDX_TITLE].text = isSave ? STR_FILE_DIALOG_TITLE_SAVE_TRACK : STR_FILE_DIALOG_TITLE_INSTALL_NEW_TRACK_DESIGN; - if (window_loadsave_get_dir(gConfigGeneral.last_save_track_directory, path, "track", sizeof(path))) { - window_loadsave_populate_list(w, isSave, path, isSave ? ".td6" : ".td6;.td4"); - success = true; - } - break; - case LOADSAVETYPE_IMAGE: - openrct2_assert(isSave == false, "Cannot save images through loadsave window"); - w->widgets[WIDX_TITLE].text = STR_FILE_DIALOG_TITLE_LOAD_HEIGHTMAP; - if (window_loadsave_get_dir(gConfigGeneral.last_save_track_directory, path, "", sizeof(path))) { - window_loadsave_populate_list(w, false, path, ".bmp;.png"); - success = true; - } - break; - default: - log_error("Unsupported load/save type: %d", type & 0x0F); - } + switch (type & 0x0E) { + case LOADSAVETYPE_GAME: + w->widgets[WIDX_TITLE].text = isSave ? STR_FILE_DIALOG_TITLE_SAVE_GAME : STR_FILE_DIALOG_TITLE_LOAD_GAME; + if (window_loadsave_get_dir(gConfigGeneral.last_save_game_directory, path, "save", sizeof(path))) { + window_loadsave_populate_list(w, isSave, path, isSave ? ".sv6" : ".sv6;.sc6;.sv4;.sc4"); + success = true; + } + break; + case LOADSAVETYPE_LANDSCAPE: + w->widgets[WIDX_TITLE].text = isSave ? STR_FILE_DIALOG_TITLE_SAVE_LANDSCAPE : STR_FILE_DIALOG_TITLE_LOAD_LANDSCAPE; + if (window_loadsave_get_dir(gConfigGeneral.last_save_landscape_directory, path, "landscape", sizeof(path))) { + window_loadsave_populate_list(w, isSave, path, isSave ? ".sc6" : ".sc6;.sv6;.sc4;.sv4"); + success = true; + } + break; + case LOADSAVETYPE_SCENARIO: + w->widgets[WIDX_TITLE].text = STR_FILE_DIALOG_TITLE_SAVE_SCENARIO; + if (window_loadsave_get_dir(gConfigGeneral.last_save_scenario_directory, path, "scenario", sizeof(path))) { + window_loadsave_populate_list(w, isSave, path, ".sc6"); + success = true; + } + break; + case LOADSAVETYPE_TRACK: + w->widgets[WIDX_TITLE].text = isSave ? STR_FILE_DIALOG_TITLE_SAVE_TRACK : STR_FILE_DIALOG_TITLE_INSTALL_NEW_TRACK_DESIGN; + if (window_loadsave_get_dir(gConfigGeneral.last_save_track_directory, path, "track", sizeof(path))) { + window_loadsave_populate_list(w, isSave, path, isSave ? ".td6" : ".td6;.td4"); + success = true; + } + break; + case LOADSAVETYPE_IMAGE: + openrct2_assert(isSave == false, "Cannot save images through loadsave window"); + w->widgets[WIDX_TITLE].text = STR_FILE_DIALOG_TITLE_LOAD_HEIGHTMAP; + if (window_loadsave_get_dir(gConfigGeneral.last_save_track_directory, path, "", sizeof(path))) { + window_loadsave_populate_list(w, false, path, ".bmp;.png"); + success = true; + } + break; + default: + log_error("Unsupported load/save type: %d", type & 0x0F); + } - if (!success) { - window_close(w); - return NULL; - } + if (!success) { + window_close(w); + return NULL; + } - w->no_list_items = _listItemsCount; - window_init_scroll_widgets(w); - return w; + w->no_list_items = _listItemsCount; + window_init_scroll_widgets(w); + return w; } static void window_loadsave_close(rct_window *w) { - if (_listItems != NULL) { - free(_listItems); - _listItems = NULL; - } + if (_listItems != NULL) { + free(_listItems); + _listItems = NULL; + } - window_close_by_class(WC_LOADSAVE_OVERWRITE_PROMPT); + window_close_by_class(WC_LOADSAVE_OVERWRITE_PROMPT); } static bool browse(bool isSave, char *path, size_t pathSize) { - safe_strcpy(path, _directory, pathSize); - if (isSave) - safe_strcat_path(path, _defaultName, pathSize); + safe_strcpy(path, _directory, pathSize); + if (isSave) + safe_strcat_path(path, _defaultName, pathSize); - file_dialog_desc desc = { 0 }; - desc.initial_directory = _directory; - desc.type = isSave ? FD_SAVE : FD_OPEN; - desc.default_filename = isSave ? path : NULL; + file_dialog_desc desc = { 0 }; + desc.initial_directory = _directory; + desc.type = isSave ? FD_SAVE : FD_OPEN; + desc.default_filename = isSave ? path : NULL; - rct_string_id title = STR_NONE; - switch (_type & 0x0E) { - case LOADSAVETYPE_GAME: - title = isSave ? STR_FILE_DIALOG_TITLE_SAVE_GAME : STR_FILE_DIALOG_TITLE_LOAD_GAME; - desc.filters[0].name = language_get_string(STR_OPENRCT2_SAVED_GAME); - desc.filters[0].pattern = isSave ? "*.sv6" : "*.sv6;*.sc6;*.sv4;*.sc4"; - break; - case LOADSAVETYPE_LANDSCAPE: - title = isSave ? STR_FILE_DIALOG_TITLE_SAVE_LANDSCAPE : STR_FILE_DIALOG_TITLE_LOAD_LANDSCAPE; - desc.filters[0].name = language_get_string(STR_OPENRCT2_LANDSCAPE_FILE); - desc.filters[0].pattern = isSave ? "*.sc6" : "*.sc6;*.sv6;*.sc4;*.sv4"; - break; - case LOADSAVETYPE_SCENARIO: - title = STR_FILE_DIALOG_TITLE_SAVE_SCENARIO; - desc.filters[0].name = language_get_string(STR_OPENRCT2_SCENARIO_FILE); - desc.filters[0].pattern = "*.sc6"; - break; - case LOADSAVETYPE_TRACK: - title = isSave ? STR_FILE_DIALOG_TITLE_SAVE_TRACK : STR_FILE_DIALOG_TITLE_INSTALL_NEW_TRACK_DESIGN; - desc.filters[0].name = language_get_string(STR_OPENRCT2_TRACK_DESIGN_FILE); - desc.filters[0].pattern = isSave ? "*.td6" : "*.td6;*.td4"; - break; - case LOADSAVETYPE_IMAGE: - title = STR_FILE_DIALOG_TITLE_LOAD_HEIGHTMAP; - desc.filters[0].name = language_get_string(STR_OPENRCT2_HEIGHTMAP_FILE); - desc.filters[0].pattern = "*.jpg;*.png;*.bmp"; - break; - } + rct_string_id title = STR_NONE; + switch (_type & 0x0E) { + case LOADSAVETYPE_GAME: + title = isSave ? STR_FILE_DIALOG_TITLE_SAVE_GAME : STR_FILE_DIALOG_TITLE_LOAD_GAME; + desc.filters[0].name = language_get_string(STR_OPENRCT2_SAVED_GAME); + desc.filters[0].pattern = isSave ? "*.sv6" : "*.sv6;*.sc6;*.sv4;*.sc4"; + break; + case LOADSAVETYPE_LANDSCAPE: + title = isSave ? STR_FILE_DIALOG_TITLE_SAVE_LANDSCAPE : STR_FILE_DIALOG_TITLE_LOAD_LANDSCAPE; + desc.filters[0].name = language_get_string(STR_OPENRCT2_LANDSCAPE_FILE); + desc.filters[0].pattern = isSave ? "*.sc6" : "*.sc6;*.sv6;*.sc4;*.sv4"; + break; + case LOADSAVETYPE_SCENARIO: + title = STR_FILE_DIALOG_TITLE_SAVE_SCENARIO; + desc.filters[0].name = language_get_string(STR_OPENRCT2_SCENARIO_FILE); + desc.filters[0].pattern = "*.sc6"; + break; + case LOADSAVETYPE_TRACK: + title = isSave ? STR_FILE_DIALOG_TITLE_SAVE_TRACK : STR_FILE_DIALOG_TITLE_INSTALL_NEW_TRACK_DESIGN; + desc.filters[0].name = language_get_string(STR_OPENRCT2_TRACK_DESIGN_FILE); + desc.filters[0].pattern = isSave ? "*.td6" : "*.td6;*.td4"; + break; + case LOADSAVETYPE_IMAGE: + title = STR_FILE_DIALOG_TITLE_LOAD_HEIGHTMAP; + desc.filters[0].name = language_get_string(STR_OPENRCT2_HEIGHTMAP_FILE); + desc.filters[0].pattern = "*.jpg;*.png;*.bmp"; + break; + } - // Add 'all files' filter. If the number of filters is increased, this code will need to be adjusted. - desc.filters[1].name = language_get_string(STR_ALL_FILES); - desc.filters[1].pattern = "*"; + // Add 'all files' filter. If the number of filters is increased, this code will need to be adjusted. + desc.filters[1].name = language_get_string(STR_ALL_FILES); + desc.filters[1].pattern = "*"; - desc.title = language_get_string(title); - return platform_open_common_file_dialog(path, &desc, pathSize); + desc.title = language_get_string(title); + return platform_open_common_file_dialog(path, &desc, pathSize); } static void window_loadsave_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - char path[MAX_PATH]; + char path[MAX_PATH]; - bool isSave = (_type & 0x01) == LOADSAVETYPE_SAVE; - switch (widgetIndex){ - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_UP: - safe_strcpy(path, _parentDirectory, sizeof(path)); - window_loadsave_populate_list(w, isSave, path, _extension); - window_init_scroll_widgets(w); - w->no_list_items = _listItemsCount; - break; - case WIDX_NEW_FILE: - window_text_input_open(w, WIDX_NEW_FILE, STR_NONE, STR_FILEBROWSER_FILE_NAME_PROMPT, STR_STRING, (uintptr_t)&_defaultName, 64); - break; - case WIDX_NEW_FOLDER: - window_text_input_raw_open(w, WIDX_NEW_FOLDER, STR_NONE, STR_FILEBROWSER_FOLDER_NAME_PROMPT, NULL, 64); - break; - case WIDX_BROWSE: - if (browse(isSave, path, sizeof(path))) - window_loadsave_select(w, path); - break; - case WIDX_SORT_NAME: - if (gConfigGeneral.load_save_sort == SORT_NAME_ASCENDING){ - gConfigGeneral.load_save_sort = SORT_NAME_DESCENDING; - } else { - gConfigGeneral.load_save_sort = SORT_NAME_ASCENDING; - } - config_save_default(); - window_loadsave_sort_list(0, _listItemsCount - 1); - window_invalidate(w); - break; - case WIDX_SORT_DATE: - if (gConfigGeneral.load_save_sort == SORT_DATE_DESCENDING){ - gConfigGeneral.load_save_sort = SORT_DATE_ASCENDING; - } else { - gConfigGeneral.load_save_sort = SORT_DATE_DESCENDING; - } - config_save_default(); - window_loadsave_sort_list(0, _listItemsCount - 1); - window_invalidate(w); - break; - case WIDX_DEFAULT: - switch (_type & 0x0E) { - case LOADSAVETYPE_GAME: - platform_get_user_directory(path, "save", sizeof(path)); - break; - case LOADSAVETYPE_LANDSCAPE: - platform_get_user_directory(path, "landscape", sizeof(path)); - break; - case LOADSAVETYPE_SCENARIO: - platform_get_user_directory(path, "scenario", sizeof(path)); - break; - case LOADSAVETYPE_TRACK: - platform_get_user_directory(path, "track", sizeof(path)); - break; - } + bool isSave = (_type & 0x01) == LOADSAVETYPE_SAVE; + switch (widgetIndex){ + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_UP: + safe_strcpy(path, _parentDirectory, sizeof(path)); + window_loadsave_populate_list(w, isSave, path, _extension); + window_init_scroll_widgets(w); + w->no_list_items = _listItemsCount; + break; + case WIDX_NEW_FILE: + window_text_input_open(w, WIDX_NEW_FILE, STR_NONE, STR_FILEBROWSER_FILE_NAME_PROMPT, STR_STRING, (uintptr_t)&_defaultName, 64); + break; + case WIDX_NEW_FOLDER: + window_text_input_raw_open(w, WIDX_NEW_FOLDER, STR_NONE, STR_FILEBROWSER_FOLDER_NAME_PROMPT, NULL, 64); + break; + case WIDX_BROWSE: + if (browse(isSave, path, sizeof(path))) + window_loadsave_select(w, path); + break; + case WIDX_SORT_NAME: + if (gConfigGeneral.load_save_sort == SORT_NAME_ASCENDING){ + gConfigGeneral.load_save_sort = SORT_NAME_DESCENDING; + } else { + gConfigGeneral.load_save_sort = SORT_NAME_ASCENDING; + } + config_save_default(); + window_loadsave_sort_list(0, _listItemsCount - 1); + window_invalidate(w); + break; + case WIDX_SORT_DATE: + if (gConfigGeneral.load_save_sort == SORT_DATE_DESCENDING){ + gConfigGeneral.load_save_sort = SORT_DATE_ASCENDING; + } else { + gConfigGeneral.load_save_sort = SORT_DATE_DESCENDING; + } + config_save_default(); + window_loadsave_sort_list(0, _listItemsCount - 1); + window_invalidate(w); + break; + case WIDX_DEFAULT: + switch (_type & 0x0E) { + case LOADSAVETYPE_GAME: + platform_get_user_directory(path, "save", sizeof(path)); + break; + case LOADSAVETYPE_LANDSCAPE: + platform_get_user_directory(path, "landscape", sizeof(path)); + break; + case LOADSAVETYPE_SCENARIO: + platform_get_user_directory(path, "scenario", sizeof(path)); + break; + case LOADSAVETYPE_TRACK: + platform_get_user_directory(path, "track", sizeof(path)); + break; + } - window_loadsave_populate_list(w, isSave, path, _extension); - window_init_scroll_widgets(w); - w->no_list_items = _listItemsCount; - break; - } + window_loadsave_populate_list(w, isSave, path, _extension); + window_init_scroll_widgets(w); + w->no_list_items = _listItemsCount; + break; + } } static void window_loadsave_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - *height = w->no_list_items * 10; + *height = w->no_list_items * 10; } static void window_loadsave_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 selectedItem; + sint32 selectedItem; - selectedItem = y / 10; - if (selectedItem >= w->no_list_items) - return; - if (_listItems[selectedItem].type == TYPE_DIRECTORY){ - // The selected item is a folder - sint32 includeNewItem; + selectedItem = y / 10; + if (selectedItem >= w->no_list_items) + return; + if (_listItems[selectedItem].type == TYPE_DIRECTORY){ + // The selected item is a folder + sint32 includeNewItem; - w->no_list_items = 0; - w->selected_list_item = -1; - includeNewItem = (_type & 1) == LOADSAVETYPE_SAVE; + w->no_list_items = 0; + w->selected_list_item = -1; + includeNewItem = (_type & 1) == LOADSAVETYPE_SAVE; - char directory[MAX_PATH]; - safe_strcpy(directory, _listItems[selectedItem].path, sizeof(directory)); + char directory[MAX_PATH]; + safe_strcpy(directory, _listItems[selectedItem].path, sizeof(directory)); - window_loadsave_populate_list(w, includeNewItem, directory, _extension); - window_init_scroll_widgets(w); + window_loadsave_populate_list(w, includeNewItem, directory, _extension); + window_init_scroll_widgets(w); - w->no_list_items = _listItemsCount; - } else { - // TYPE_FILE - // Load or overwrite - if ((_type & 0x01) == LOADSAVETYPE_SAVE) - window_overwrite_prompt_open(_listItems[selectedItem].name, _listItems[selectedItem].path); - else - window_loadsave_select(w, _listItems[selectedItem].path); - } + w->no_list_items = _listItemsCount; + } else { + // TYPE_FILE + // Load or overwrite + if ((_type & 0x01) == LOADSAVETYPE_SAVE) + window_overwrite_prompt_open(_listItems[selectedItem].name, _listItems[selectedItem].path); + else + window_loadsave_select(w, _listItems[selectedItem].path); + } } static void window_loadsave_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 selectedItem; + sint32 selectedItem; - selectedItem = y / 10; - if (selectedItem >= w->no_list_items) - return; + selectedItem = y / 10; + if (selectedItem >= w->no_list_items) + return; - w->selected_list_item = selectedItem; + w->selected_list_item = selectedItem; - window_invalidate(w); + window_invalidate(w); } static void window_loadsave_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - char path[MAX_PATH]; - sint32 i, overwrite; + char path[MAX_PATH]; + sint32 i, overwrite; - if (text == NULL || text[0] == 0) - return; + if (text == NULL || text[0] == 0) + return; - switch (widgetIndex) { - case WIDX_NEW_FOLDER: - if (!filename_valid_characters(text)) { - window_error_open(STR_ERROR_INVALID_CHARACTERS, STR_NONE); - return; - } + switch (widgetIndex) { + case WIDX_NEW_FOLDER: + if (!filename_valid_characters(text)) { + window_error_open(STR_ERROR_INVALID_CHARACTERS, STR_NONE); + return; + } - safe_strcpy(path, _directory, sizeof(path)); - safe_strcat_path(path, text, sizeof(path)); + safe_strcpy(path, _directory, sizeof(path)); + safe_strcat_path(path, text, sizeof(path)); - if (!platform_ensure_directory_exists(path)) { - window_error_open(STR_UNABLE_TO_CREATE_FOLDER, STR_NONE); - return; - } - w->no_list_items = 0; - w->selected_list_item = -1; + if (!platform_ensure_directory_exists(path)) { + window_error_open(STR_UNABLE_TO_CREATE_FOLDER, STR_NONE); + return; + } + w->no_list_items = 0; + w->selected_list_item = -1; - window_loadsave_populate_list(w, (_type & 1) == LOADSAVETYPE_SAVE, path, _extension); - window_init_scroll_widgets(w); + window_loadsave_populate_list(w, (_type & 1) == LOADSAVETYPE_SAVE, path, _extension); + window_init_scroll_widgets(w); - w->no_list_items = _listItemsCount; - window_invalidate(w); - break; - case WIDX_NEW_FILE: - safe_strcpy(path, _directory, sizeof(path)); - safe_strcat_path(path, text, sizeof(path)); - path_append_extension(path, _extension, sizeof(path)); + w->no_list_items = _listItemsCount; + window_invalidate(w); + break; + case WIDX_NEW_FILE: + safe_strcpy(path, _directory, sizeof(path)); + safe_strcat_path(path, text, sizeof(path)); + path_append_extension(path, _extension, sizeof(path)); - overwrite = 0; - for (i = 0; i < _listItemsCount; i++) { - if (_stricmp(_listItems[i].path, path) == 0) { - overwrite = 1; - break; - } - } + overwrite = 0; + for (i = 0; i < _listItemsCount; i++) { + if (_stricmp(_listItems[i].path, path) == 0) { + overwrite = 1; + break; + } + } - if (overwrite) - window_overwrite_prompt_open(text, path); - else - window_loadsave_select(w, path); - break; - } + if (overwrite) + window_overwrite_prompt_open(text, path); + else + window_loadsave_select(w, path); + break; + } } static void window_loadsave_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_LIST); + set_format_arg(0, rct_string_id, STR_LIST); } static void window_loadsave_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - if (_shortenedDirectory[0] == '\0') { - shorten_path(_shortenedDirectory, sizeof(_shortenedDirectory), _directory, w->width - 8); - } + if (_shortenedDirectory[0] == '\0') { + shorten_path(_shortenedDirectory, sizeof(_shortenedDirectory), _directory, w->width - 8); + } - utf8 buffer[256]; + utf8 buffer[256]; - // Format text - utf8 *ch = buffer; - ch = utf8_write_codepoint(ch, FORMAT_MEDIUMFONT); - ch = utf8_write_codepoint(ch, FORMAT_BLACK); - safe_strcpy(ch, _shortenedDirectory, sizeof(buffer) - (ch - buffer)); + // Format text + utf8 *ch = buffer; + ch = utf8_write_codepoint(ch, FORMAT_MEDIUMFONT); + ch = utf8_write_codepoint(ch, FORMAT_BLACK); + safe_strcpy(ch, _shortenedDirectory, sizeof(buffer) - (ch - buffer)); - // Draw shadow - gfx_draw_string(dpi, buffer, COLOUR_BLACK, w->x + 4, w->y + 20); - rct_string_id id = STR_NONE; - // Name button text - if (gConfigGeneral.load_save_sort == SORT_NAME_ASCENDING) - id = STR_UP; - else if (gConfigGeneral.load_save_sort == SORT_NAME_DESCENDING) - id = STR_DOWN; - gfx_draw_string_centred_clipped(dpi, STR_NAME, &id, COLOUR_GREY, w->x + 4 + (w->width - 8) / 4, w->y + 50, (w->width - 8) / 2); - // Date button text - if (gConfigGeneral.load_save_sort == SORT_DATE_ASCENDING) - id = STR_UP; - else if (gConfigGeneral.load_save_sort == SORT_DATE_DESCENDING) - id = STR_DOWN; - else - id = STR_NONE; - gfx_draw_string_centred_clipped(dpi, STR_DATE, &id, COLOUR_GREY, w->x + 4 + (w->width - 8) * 3 / 4, w->y + 50, (w->width - 8) / 2); + // Draw shadow + gfx_draw_string(dpi, buffer, COLOUR_BLACK, w->x + 4, w->y + 20); + rct_string_id id = STR_NONE; + // Name button text + if (gConfigGeneral.load_save_sort == SORT_NAME_ASCENDING) + id = STR_UP; + else if (gConfigGeneral.load_save_sort == SORT_NAME_DESCENDING) + id = STR_DOWN; + gfx_draw_string_centred_clipped(dpi, STR_NAME, &id, COLOUR_GREY, w->x + 4 + (w->width - 8) / 4, w->y + 50, (w->width - 8) / 2); + // Date button text + if (gConfigGeneral.load_save_sort == SORT_DATE_ASCENDING) + id = STR_UP; + else if (gConfigGeneral.load_save_sort == SORT_DATE_DESCENDING) + id = STR_DOWN; + else + id = STR_NONE; + gfx_draw_string_centred_clipped(dpi, STR_DATE, &id, COLOUR_GREY, w->x + 4 + (w->width - 8) * 3 / 4, w->y + 50, (w->width - 8) / 2); } static void window_loadsave_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); - const sint32 listWidth = w->widgets[WIDX_SCROLL].right - w->widgets[WIDX_SCROLL].left; + gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); + const sint32 listWidth = w->widgets[WIDX_SCROLL].right - w->widgets[WIDX_SCROLL].left; - for (sint32 i = 0; i < w->no_list_items; i++) { - sint32 y = i * 10; - if (y > dpi->y + dpi->height) - break; + for (sint32 i = 0; i < w->no_list_items; i++) { + sint32 y = i * 10; + if (y > dpi->y + dpi->height) + break; - if (y + 10 < dpi->y) - continue; + if (y + 10 < dpi->y) + continue; - rct_string_id stringId = STR_BLACK_STRING; + rct_string_id stringId = STR_BLACK_STRING; - // If hovering over item, change the color and fill the backdrop. - if (i == w->selected_list_item) { - stringId = STR_WINDOW_COLOUR_2_STRINGID; - gfx_filter_rect(dpi, 0, y, listWidth, y + 9, PALETTE_DARKEN_1); - } - // display a marker next to the currently loaded game file - if (_listItems[i].loaded) { - set_format_arg(0, rct_string_id, STR_RIGHTGUILLEMET); - gfx_draw_string_left(dpi, stringId, gCommonFormatArgs, COLOUR_BLACK, 0, y - 1); - } + // If hovering over item, change the color and fill the backdrop. + if (i == w->selected_list_item) { + stringId = STR_WINDOW_COLOUR_2_STRINGID; + gfx_filter_rect(dpi, 0, y, listWidth, y + 9, PALETTE_DARKEN_1); + } + // display a marker next to the currently loaded game file + if (_listItems[i].loaded) { + set_format_arg(0, rct_string_id, STR_RIGHTGUILLEMET); + gfx_draw_string_left(dpi, stringId, gCommonFormatArgs, COLOUR_BLACK, 0, y - 1); + } - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, char*, _listItems[i].name); - gfx_draw_string_left(dpi, stringId, gCommonFormatArgs, COLOUR_BLACK, 10, y - 1); - } + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, char*, _listItems[i].name); + gfx_draw_string_left(dpi, stringId, gCommonFormatArgs, COLOUR_BLACK, 10, y - 1); + } } static sint32 list_item_sort(const void *a, const void *b) { - const loadsave_list_item *itemA = (loadsave_list_item*)a; - const loadsave_list_item *itemB = (loadsave_list_item*)b; + const loadsave_list_item *itemA = (loadsave_list_item*)a; + const loadsave_list_item *itemB = (loadsave_list_item*)b; - if (itemA->type != itemB->type) - return itemA->type - itemB->type; + if (itemA->type != itemB->type) + return itemA->type - itemB->type; - switch (gConfigGeneral.load_save_sort){ - case SORT_NAME_ASCENDING: - return strcicmp(itemA->name, itemB->name); - case SORT_NAME_DESCENDING: - return -strcicmp(itemA->name, itemB->name); - case SORT_DATE_DESCENDING: - return (sint32) -difftime(itemA->date_modified, itemB->date_modified); - case SORT_DATE_ASCENDING: - return (sint32) difftime(itemA->date_modified, itemB->date_modified); - default: - return strcicmp(itemA->name, itemB->name); - } + switch (gConfigGeneral.load_save_sort){ + case SORT_NAME_ASCENDING: + return strcicmp(itemA->name, itemB->name); + case SORT_NAME_DESCENDING: + return -strcicmp(itemA->name, itemB->name); + case SORT_DATE_DESCENDING: + return (sint32) -difftime(itemA->date_modified, itemB->date_modified); + case SORT_DATE_ASCENDING: + return (sint32) difftime(itemA->date_modified, itemB->date_modified); + default: + return strcicmp(itemA->name, itemB->name); + } } static void window_loadsave_sort_list(sint32 index, sint32 endIndex) { - sint32 count = endIndex - index + 1; - if (count < 0) - return; + sint32 count = endIndex - index + 1; + if (count < 0) + return; - qsort(_listItems + index, count, sizeof(loadsave_list_item), list_item_sort); + qsort(_listItems + index, count, sizeof(loadsave_list_item), list_item_sort); } static void window_loadsave_populate_list(rct_window *w, sint32 includeNewItem, const char *directory, const char *extension) { - safe_strcpy(_directory, directory, sizeof(_directory)); - if (_extension != extension) { - safe_strcpy(_extension, extension, sizeof(_extension)); - } - _shortenedDirectory[0] = '\0'; + safe_strcpy(_directory, directory, sizeof(_directory)); + if (_extension != extension) { + safe_strcpy(_extension, extension, sizeof(_extension)); + } + _shortenedDirectory[0] = '\0'; - if (_listItems != NULL) - free(_listItems); + if (_listItems != NULL) + free(_listItems); - sint32 listItemCapacity = 8; - _listItems = malloc(listItemCapacity * sizeof(loadsave_list_item)); - _listItemsCount = 0; + sint32 listItemCapacity = 8; + _listItems = malloc(listItemCapacity * sizeof(loadsave_list_item)); + _listItemsCount = 0; - // Show "new" buttons when saving - window_loadsave_widgets[WIDX_NEW_FILE].type = includeNewItem ? WWT_CLOSEBOX : WWT_EMPTY; - window_loadsave_widgets[WIDX_NEW_FOLDER].type = includeNewItem ? WWT_CLOSEBOX : WWT_EMPTY; + // Show "new" buttons when saving + window_loadsave_widgets[WIDX_NEW_FILE].type = includeNewItem ? WWT_CLOSEBOX : WWT_EMPTY; + window_loadsave_widgets[WIDX_NEW_FOLDER].type = includeNewItem ? WWT_CLOSEBOX : WWT_EMPTY; - sint32 drives = platform_get_drives(); - if (str_is_null_or_empty(directory) && drives) { - // List Windows drives - w->disabled_widgets |= (1 << WIDX_NEW_FILE) | (1 << WIDX_NEW_FOLDER) | (1 << WIDX_UP); - for (sint32 x = 0; x < 26; x++){ - if (listItemCapacity <= _listItemsCount) { - listItemCapacity *= 2; - void *new_memory = realloc(_listItems, listItemCapacity * sizeof(loadsave_list_item)); - if (new_memory == NULL) { - log_error("Failed to reallocate memory for loadsave list"); - return; - } - _listItems = (loadsave_list_item*)new_memory; - } + sint32 drives = platform_get_drives(); + if (str_is_null_or_empty(directory) && drives) { + // List Windows drives + w->disabled_widgets |= (1 << WIDX_NEW_FILE) | (1 << WIDX_NEW_FOLDER) | (1 << WIDX_UP); + for (sint32 x = 0; x < 26; x++){ + if (listItemCapacity <= _listItemsCount) { + listItemCapacity *= 2; + void *new_memory = realloc(_listItems, listItemCapacity * sizeof(loadsave_list_item)); + if (new_memory == NULL) { + log_error("Failed to reallocate memory for loadsave list"); + return; + } + _listItems = (loadsave_list_item*)new_memory; + } - if (drives & (1 << x)){ - // If the drive exists, list it - loadsave_list_item *listItem = &_listItems[_listItemsCount]; + if (drives & (1 << x)){ + // If the drive exists, list it + loadsave_list_item *listItem = &_listItems[_listItemsCount]; - snprintf(listItem->path, sizeof(listItem->path), "%c:" PATH_SEPARATOR, 'A' + x); - safe_strcpy(listItem->name, listItem->path, sizeof(listItem->name)); - listItem->type = TYPE_DIRECTORY; + snprintf(listItem->path, sizeof(listItem->path), "%c:" PATH_SEPARATOR, 'A' + x); + safe_strcpy(listItem->name, listItem->path, sizeof(listItem->name)); + listItem->type = TYPE_DIRECTORY; - _listItemsCount++; - } - } - } - else { + _listItemsCount++; + } + } + } + else { - // Remove the separator at the end of the path, if present - safe_strcpy(_parentDirectory, directory, sizeof(_parentDirectory)); - if (_parentDirectory[strlen(_parentDirectory) - 1] == *PATH_SEPARATOR) - _parentDirectory[strlen(_parentDirectory) - 1] = '\0'; + // Remove the separator at the end of the path, if present + safe_strcpy(_parentDirectory, directory, sizeof(_parentDirectory)); + if (_parentDirectory[strlen(_parentDirectory) - 1] == *PATH_SEPARATOR) + _parentDirectory[strlen(_parentDirectory) - 1] = '\0'; - // Remove everything past the now last separator - char *ch = strrchr(_parentDirectory, *PATH_SEPARATOR); - if (ch != NULL) { - *(ch + 1) = '\0'; - } else if (drives) { - // If on Windows, clear the entire path to show the drives - _parentDirectory[0] = '\0'; - } else { - // Else, go to the root directory - snprintf(_parentDirectory, MAX_PATH, "%c", *PATH_SEPARATOR); - } + // Remove everything past the now last separator + char *ch = strrchr(_parentDirectory, *PATH_SEPARATOR); + if (ch != NULL) { + *(ch + 1) = '\0'; + } else if (drives) { + // If on Windows, clear the entire path to show the drives + _parentDirectory[0] = '\0'; + } else { + // Else, go to the root directory + snprintf(_parentDirectory, MAX_PATH, "%c", *PATH_SEPARATOR); + } - // Disable the Up button if the current directory is the root directory - if (str_is_null_or_empty(_parentDirectory) && !drives) - w->disabled_widgets |= (1 << WIDX_UP); - else - w->disabled_widgets &= ~(1 << WIDX_UP); + // Disable the Up button if the current directory is the root directory + if (str_is_null_or_empty(_parentDirectory) && !drives) + w->disabled_widgets |= (1 << WIDX_UP); + else + w->disabled_widgets &= ~(1 << WIDX_UP); - // Re-enable the "new" buttons if these were disabled - w->disabled_widgets &= ~(1 << WIDX_NEW_FILE); - w->disabled_widgets &= ~(1 << WIDX_NEW_FOLDER); + // Re-enable the "new" buttons if these were disabled + w->disabled_widgets &= ~(1 << WIDX_NEW_FILE); + w->disabled_widgets &= ~(1 << WIDX_NEW_FOLDER); - // List all directories - char subDir[MAX_PATH]; - sint32 fileEnumHandle = platform_enumerate_directories_begin(directory); - while (platform_enumerate_directories_next(fileEnumHandle, subDir)) { - if (listItemCapacity <= _listItemsCount) { - listItemCapacity *= 2; - _listItems = realloc(_listItems, listItemCapacity * sizeof(loadsave_list_item)); - } + // List all directories + char subDir[MAX_PATH]; + sint32 fileEnumHandle = platform_enumerate_directories_begin(directory); + while (platform_enumerate_directories_next(fileEnumHandle, subDir)) { + if (listItemCapacity <= _listItemsCount) { + listItemCapacity *= 2; + _listItems = realloc(_listItems, listItemCapacity * sizeof(loadsave_list_item)); + } - loadsave_list_item *listItem = &_listItems[_listItemsCount]; - safe_strcpy(listItem->path, directory, sizeof(listItem->path)); - safe_strcat_path(listItem->path, subDir, sizeof(listItem->path)); - safe_strcpy(listItem->name, subDir, sizeof(listItem->name)); - listItem->type = TYPE_DIRECTORY; - listItem->loaded = false; + loadsave_list_item *listItem = &_listItems[_listItemsCount]; + safe_strcpy(listItem->path, directory, sizeof(listItem->path)); + safe_strcat_path(listItem->path, subDir, sizeof(listItem->path)); + safe_strcpy(listItem->name, subDir, sizeof(listItem->name)); + listItem->type = TYPE_DIRECTORY; + listItem->loaded = false; - _listItemsCount++; - } - platform_enumerate_files_end(fileEnumHandle); + _listItemsCount++; + } + platform_enumerate_files_end(fileEnumHandle); - // List all files with the wanted extensions - char filter[MAX_PATH]; - char extCopy[64]; - safe_strcpy(extCopy, extension, sizeof(extCopy)); - char * extToken; - bool showExtension = false; - extToken = strtok(extCopy, ";"); - while (extToken != NULL) { - safe_strcpy(filter, directory, sizeof(filter)); - safe_strcat_path(filter, "*", sizeof(filter)); - path_append_extension(filter, extToken, sizeof(filter)); + // List all files with the wanted extensions + char filter[MAX_PATH]; + char extCopy[64]; + safe_strcpy(extCopy, extension, sizeof(extCopy)); + char * extToken; + bool showExtension = false; + extToken = strtok(extCopy, ";"); + while (extToken != NULL) { + safe_strcpy(filter, directory, sizeof(filter)); + safe_strcat_path(filter, "*", sizeof(filter)); + path_append_extension(filter, extToken, sizeof(filter)); - file_info fileInfo; - fileEnumHandle = platform_enumerate_files_begin(filter); - while (platform_enumerate_files_next(fileEnumHandle, &fileInfo)) { - if (listItemCapacity <= _listItemsCount) { - listItemCapacity *= 2; - _listItems = realloc(_listItems, listItemCapacity * sizeof(loadsave_list_item)); - } + file_info fileInfo; + fileEnumHandle = platform_enumerate_files_begin(filter); + while (platform_enumerate_files_next(fileEnumHandle, &fileInfo)) { + if (listItemCapacity <= _listItemsCount) { + listItemCapacity *= 2; + _listItems = realloc(_listItems, listItemCapacity * sizeof(loadsave_list_item)); + } - loadsave_list_item *listItem = &_listItems[_listItemsCount]; + loadsave_list_item *listItem = &_listItems[_listItemsCount]; - safe_strcpy(listItem->path, directory, sizeof(listItem->path)); - safe_strcat_path(listItem->path, fileInfo.path, sizeof(listItem->path)); - listItem->type = TYPE_FILE; - listItem->date_modified = platform_file_get_modified_time(listItem->path); - // Mark if file is the currently loaded game - listItem->loaded = strcmp(listItem->path, gScenarioSavePath) == 0; + safe_strcpy(listItem->path, directory, sizeof(listItem->path)); + safe_strcat_path(listItem->path, fileInfo.path, sizeof(listItem->path)); + listItem->type = TYPE_FILE; + listItem->date_modified = platform_file_get_modified_time(listItem->path); + // Mark if file is the currently loaded game + listItem->loaded = strcmp(listItem->path, gScenarioSavePath) == 0; - // Remove the extension (but only the first extension token) - safe_strcpy(listItem->name, fileInfo.path, sizeof(listItem->name)); - if (!showExtension) - path_remove_extension(listItem->name); + // Remove the extension (but only the first extension token) + safe_strcpy(listItem->name, fileInfo.path, sizeof(listItem->name)); + if (!showExtension) + path_remove_extension(listItem->name); - _listItemsCount++; - } - platform_enumerate_files_end(fileEnumHandle); + _listItemsCount++; + } + platform_enumerate_files_end(fileEnumHandle); - extToken = strtok(NULL, ";"); - showExtension = true; //Show any extension after the first iteration - } + extToken = strtok(NULL, ";"); + showExtension = true; //Show any extension after the first iteration + } - window_loadsave_sort_list(0, _listItemsCount - 1); - } + window_loadsave_sort_list(0, _listItemsCount - 1); + } } static void window_loadsave_invoke_callback(sint32 result, const utf8 * path) { - if (_loadSaveCallback != NULL) { - _loadSaveCallback(result, path); - } + if (_loadSaveCallback != NULL) { + _loadSaveCallback(result, path); + } } static void save_path(utf8 **config_str, const char *path) { - if (*config_str != NULL) - free(*config_str); - *config_str = path_get_directory(path); - config_save_default(); + if (*config_str != NULL) + free(*config_str); + *config_str = path_get_directory(path); + config_save_default(); } static bool is_valid_path(const char * path) { - char filename[MAX_PATH]; - safe_strcpy(filename, path_get_filename(path), sizeof(filename)); + char filename[MAX_PATH]; + safe_strcpy(filename, path_get_filename(path), sizeof(filename)); - // HACK This is needed because tracks get passed through with td? - // I am sure this will change eventually to use the new FileScanner - // which handles multiple patterns - path_remove_extension(filename); + // HACK This is needed because tracks get passed through with td? + // I am sure this will change eventually to use the new FileScanner + // which handles multiple patterns + path_remove_extension(filename); - return filename_valid_characters(filename); + return filename_valid_characters(filename); } static void window_loadsave_select(rct_window *w, const char *path) { - if (!is_valid_path(path)) { - window_error_open(STR_ERROR_INVALID_CHARACTERS, STR_NONE); - return; - } + if (!is_valid_path(path)) { + window_error_open(STR_ERROR_INVALID_CHARACTERS, STR_NONE); + return; + } - char pathBuffer[MAX_PATH]; - safe_strcpy(pathBuffer, path, sizeof(pathBuffer)); + char pathBuffer[MAX_PATH]; + safe_strcpy(pathBuffer, path, sizeof(pathBuffer)); - switch (_type & 0x0F) { - case (LOADSAVETYPE_LOAD | LOADSAVETYPE_GAME) : - save_path(&gConfigGeneral.last_save_game_directory, pathBuffer); - safe_strcpy(gScenarioSavePath, pathBuffer, MAX_PATH); - window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); - window_close(w); - gfx_invalidate_screen(); - break; - case (LOADSAVETYPE_SAVE | LOADSAVETYPE_GAME) : - save_path(&gConfigGeneral.last_save_game_directory, pathBuffer); - if (scenario_save(pathBuffer, gConfigGeneral.save_plugin_data ? 1 : 0)) { - safe_strcpy(gScenarioSavePath, pathBuffer, MAX_PATH); - gFirstTimeSave = 0; + switch (_type & 0x0F) { + case (LOADSAVETYPE_LOAD | LOADSAVETYPE_GAME) : + save_path(&gConfigGeneral.last_save_game_directory, pathBuffer); + safe_strcpy(gScenarioSavePath, pathBuffer, MAX_PATH); + window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); + window_close(w); + gfx_invalidate_screen(); + break; + case (LOADSAVETYPE_SAVE | LOADSAVETYPE_GAME) : + save_path(&gConfigGeneral.last_save_game_directory, pathBuffer); + if (scenario_save(pathBuffer, gConfigGeneral.save_plugin_data ? 1 : 0)) { + safe_strcpy(gScenarioSavePath, pathBuffer, MAX_PATH); + gFirstTimeSave = 0; - window_close_by_class(WC_LOADSAVE); - gfx_invalidate_screen(); + window_close_by_class(WC_LOADSAVE); + gfx_invalidate_screen(); - window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); - } else { - window_error_open(STR_SAVE_GAME, STR_GAME_SAVE_FAILED); - window_loadsave_invoke_callback(MODAL_RESULT_FAIL, pathBuffer); - } - break; - case (LOADSAVETYPE_LOAD | LOADSAVETYPE_LANDSCAPE) : - save_path(&gConfigGeneral.last_save_landscape_directory, pathBuffer); - if (editor_load_landscape(pathBuffer)) { - gfx_invalidate_screen(); - window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); - } else { - // Not the best message... - window_error_open(STR_LOAD_LANDSCAPE, STR_FAILED_TO_LOAD_FILE_CONTAINS_INVALID_DATA); - window_loadsave_invoke_callback(MODAL_RESULT_FAIL, pathBuffer); - } - break; - case (LOADSAVETYPE_SAVE | LOADSAVETYPE_LANDSCAPE) : - save_path(&gConfigGeneral.last_save_landscape_directory, pathBuffer); - scenario_set_filename(pathBuffer); - if (scenario_save(pathBuffer, gConfigGeneral.save_plugin_data ? 3 : 2)) { - window_close_by_class(WC_LOADSAVE); - gfx_invalidate_screen(); - window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); - } else { - window_error_open(STR_SAVE_LANDSCAPE, STR_LANDSCAPE_SAVE_FAILED); - window_loadsave_invoke_callback(MODAL_RESULT_FAIL, pathBuffer); - } - break; - case (LOADSAVETYPE_SAVE | LOADSAVETYPE_SCENARIO) : - { - save_path(&gConfigGeneral.last_save_scenario_directory, pathBuffer); - sint32 parkFlagsBackup = gParkFlags; - gParkFlags &= ~PARK_FLAGS_SPRITES_INITIALISED; - gS6Info.editor_step = 255; - scenario_set_filename(pathBuffer); - sint32 success = scenario_save(pathBuffer, gConfigGeneral.save_plugin_data ? 3 : 2); - gParkFlags = parkFlagsBackup; + window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); + } else { + window_error_open(STR_SAVE_GAME, STR_GAME_SAVE_FAILED); + window_loadsave_invoke_callback(MODAL_RESULT_FAIL, pathBuffer); + } + break; + case (LOADSAVETYPE_LOAD | LOADSAVETYPE_LANDSCAPE) : + save_path(&gConfigGeneral.last_save_landscape_directory, pathBuffer); + if (editor_load_landscape(pathBuffer)) { + gfx_invalidate_screen(); + window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); + } else { + // Not the best message... + window_error_open(STR_LOAD_LANDSCAPE, STR_FAILED_TO_LOAD_FILE_CONTAINS_INVALID_DATA); + window_loadsave_invoke_callback(MODAL_RESULT_FAIL, pathBuffer); + } + break; + case (LOADSAVETYPE_SAVE | LOADSAVETYPE_LANDSCAPE) : + save_path(&gConfigGeneral.last_save_landscape_directory, pathBuffer); + scenario_set_filename(pathBuffer); + if (scenario_save(pathBuffer, gConfigGeneral.save_plugin_data ? 3 : 2)) { + window_close_by_class(WC_LOADSAVE); + gfx_invalidate_screen(); + window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); + } else { + window_error_open(STR_SAVE_LANDSCAPE, STR_LANDSCAPE_SAVE_FAILED); + window_loadsave_invoke_callback(MODAL_RESULT_FAIL, pathBuffer); + } + break; + case (LOADSAVETYPE_SAVE | LOADSAVETYPE_SCENARIO) : + { + save_path(&gConfigGeneral.last_save_scenario_directory, pathBuffer); + sint32 parkFlagsBackup = gParkFlags; + gParkFlags &= ~PARK_FLAGS_SPRITES_INITIALISED; + gS6Info.editor_step = 255; + scenario_set_filename(pathBuffer); + sint32 success = scenario_save(pathBuffer, gConfigGeneral.save_plugin_data ? 3 : 2); + gParkFlags = parkFlagsBackup; - if (success) { - window_close_by_class(WC_LOADSAVE); - window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); - title_load(); - } else { - window_error_open(STR_FILE_DIALOG_TITLE_SAVE_SCENARIO, STR_SCENARIO_SAVE_FAILED); - gS6Info.editor_step = EDITOR_STEP_OBJECTIVE_SELECTION; - window_loadsave_invoke_callback(MODAL_RESULT_FAIL, pathBuffer); - } - break; - } - case (LOADSAVETYPE_LOAD | LOADSAVETYPE_TRACK) : - save_path(&gConfigGeneral.last_save_track_directory, pathBuffer); - window_install_track_open(pathBuffer); - window_close_by_class(WC_LOADSAVE); - window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); - break; - case (LOADSAVETYPE_SAVE | LOADSAVETYPE_TRACK) : - { - path_set_extension(pathBuffer, "td6", sizeof(pathBuffer)); - sint32 success = track_design_save_to_file(pathBuffer); + if (success) { + window_close_by_class(WC_LOADSAVE); + window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); + title_load(); + } else { + window_error_open(STR_FILE_DIALOG_TITLE_SAVE_SCENARIO, STR_SCENARIO_SAVE_FAILED); + gS6Info.editor_step = EDITOR_STEP_OBJECTIVE_SELECTION; + window_loadsave_invoke_callback(MODAL_RESULT_FAIL, pathBuffer); + } + break; + } + case (LOADSAVETYPE_LOAD | LOADSAVETYPE_TRACK) : + save_path(&gConfigGeneral.last_save_track_directory, pathBuffer); + window_install_track_open(pathBuffer); + window_close_by_class(WC_LOADSAVE); + window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); + break; + case (LOADSAVETYPE_SAVE | LOADSAVETYPE_TRACK) : + { + path_set_extension(pathBuffer, "td6", sizeof(pathBuffer)); + sint32 success = track_design_save_to_file(pathBuffer); - if (success) { - window_close_by_class(WC_LOADSAVE); - window_ride_measurements_design_cancel(); - window_loadsave_invoke_callback(MODAL_RESULT_OK, path); - } else { - window_error_open(STR_FILE_DIALOG_TITLE_SAVE_TRACK, STR_TRACK_SAVE_FAILED); - window_loadsave_invoke_callback(MODAL_RESULT_FAIL, path); - } - break; - } - case (LOADSAVETYPE_LOAD | LOADSAVETYPE_IMAGE) : - window_close_by_class(WC_LOADSAVE); - window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); - break; - } + if (success) { + window_close_by_class(WC_LOADSAVE); + window_ride_measurements_design_cancel(); + window_loadsave_invoke_callback(MODAL_RESULT_OK, path); + } else { + window_error_open(STR_FILE_DIALOG_TITLE_SAVE_TRACK, STR_TRACK_SAVE_FAILED); + window_loadsave_invoke_callback(MODAL_RESULT_FAIL, path); + } + break; + } + case (LOADSAVETYPE_LOAD | LOADSAVETYPE_IMAGE) : + window_close_by_class(WC_LOADSAVE); + window_loadsave_invoke_callback(MODAL_RESULT_OK, pathBuffer); + break; + } } #pragma region Overwrite prompt @@ -850,54 +850,54 @@ static void window_loadsave_select(rct_window *w, const char *path) #define OVERWRITE_WH 100 enum { - WIDX_OVERWRITE_BACKGROUND, - WIDX_OVERWRITE_TITLE, - WIDX_OVERWRITE_CLOSE, - WIDX_OVERWRITE_OVERWRITE, - WIDX_OVERWRITE_CANCEL + WIDX_OVERWRITE_BACKGROUND, + WIDX_OVERWRITE_TITLE, + WIDX_OVERWRITE_CLOSE, + WIDX_OVERWRITE_OVERWRITE, + WIDX_OVERWRITE_CANCEL }; static rct_widget window_overwrite_prompt_widgets[] = { - { WWT_FRAME, 0, 0, OVERWRITE_WW - 1, 0, OVERWRITE_WH - 1, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, OVERWRITE_WW - 2, 1, 14, STR_FILEBROWSER_OVERWRITE_TITLE, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, OVERWRITE_WW - 13, OVERWRITE_WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_DROPDOWN_BUTTON, 0, 10, 94, OVERWRITE_WH - 20, OVERWRITE_WH - 9, STR_FILEBROWSER_OVERWRITE_TITLE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 0, OVERWRITE_WW - 95, OVERWRITE_WW - 11, OVERWRITE_WH - 20, OVERWRITE_WH - 9, STR_SAVE_PROMPT_CANCEL, STR_NONE }, - { WIDGETS_END } + { WWT_FRAME, 0, 0, OVERWRITE_WW - 1, 0, OVERWRITE_WH - 1, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, OVERWRITE_WW - 2, 1, 14, STR_FILEBROWSER_OVERWRITE_TITLE, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, OVERWRITE_WW - 13, OVERWRITE_WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_DROPDOWN_BUTTON, 0, 10, 94, OVERWRITE_WH - 20, OVERWRITE_WH - 9, STR_FILEBROWSER_OVERWRITE_TITLE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 0, OVERWRITE_WW - 95, OVERWRITE_WW - 11, OVERWRITE_WH - 20, OVERWRITE_WH - 9, STR_SAVE_PROMPT_CANCEL, STR_NONE }, + { WIDGETS_END } }; static void window_overwrite_prompt_mouseup(rct_window *w, rct_widgetindex widgetIndex); static void window_overwrite_prompt_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_overwrite_prompt_events = { - NULL, - window_overwrite_prompt_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_overwrite_prompt_paint, - NULL + NULL, + window_overwrite_prompt_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_overwrite_prompt_paint, + NULL }; static char _window_overwrite_prompt_name[256]; @@ -905,53 +905,53 @@ static char _window_overwrite_prompt_path[MAX_PATH]; static rct_window *window_overwrite_prompt_open(const char *name, const char *path) { - rct_window *w; + rct_window *w; - window_close_by_class(WC_LOADSAVE_OVERWRITE_PROMPT); + window_close_by_class(WC_LOADSAVE_OVERWRITE_PROMPT); - w = window_create_centred(OVERWRITE_WW, OVERWRITE_WH, &window_overwrite_prompt_events, WC_LOADSAVE_OVERWRITE_PROMPT, WF_STICK_TO_FRONT); - w->widgets = window_overwrite_prompt_widgets; - w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_OVERWRITE_CANCEL) | (1 << WIDX_OVERWRITE_OVERWRITE); - window_init_scroll_widgets(w); - w->flags |= WF_TRANSPARENT; - w->colours[0] = TRANSLUCENT(COLOUR_BORDEAUX_RED); + w = window_create_centred(OVERWRITE_WW, OVERWRITE_WH, &window_overwrite_prompt_events, WC_LOADSAVE_OVERWRITE_PROMPT, WF_STICK_TO_FRONT); + w->widgets = window_overwrite_prompt_widgets; + w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_OVERWRITE_CANCEL) | (1 << WIDX_OVERWRITE_OVERWRITE); + window_init_scroll_widgets(w); + w->flags |= WF_TRANSPARENT; + w->colours[0] = TRANSLUCENT(COLOUR_BORDEAUX_RED); - safe_strcpy(_window_overwrite_prompt_name, name, sizeof(_window_overwrite_prompt_name)); - safe_strcpy(_window_overwrite_prompt_path, path, sizeof(_window_overwrite_prompt_path)); + safe_strcpy(_window_overwrite_prompt_name, name, sizeof(_window_overwrite_prompt_name)); + safe_strcpy(_window_overwrite_prompt_path, path, sizeof(_window_overwrite_prompt_path)); - return w; + return w; } static void window_overwrite_prompt_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - rct_window *loadsaveWindow; + rct_window *loadsaveWindow; - switch (widgetIndex) { - case WIDX_OVERWRITE_OVERWRITE: - loadsaveWindow = window_find_by_class(WC_LOADSAVE); - if (loadsaveWindow != NULL) - window_loadsave_select(loadsaveWindow, _window_overwrite_prompt_path); - // As the window_loadsave_select function can change the order of the - // windows we can't use window_close(w). - window_close_by_class(WC_LOADSAVE_OVERWRITE_PROMPT); - break; - case WIDX_OVERWRITE_CANCEL: - case WIDX_OVERWRITE_CLOSE: - window_close(w); - break; - } + switch (widgetIndex) { + case WIDX_OVERWRITE_OVERWRITE: + loadsaveWindow = window_find_by_class(WC_LOADSAVE); + if (loadsaveWindow != NULL) + window_loadsave_select(loadsaveWindow, _window_overwrite_prompt_path); + // As the window_loadsave_select function can change the order of the + // windows we can't use window_close(w). + window_close_by_class(WC_LOADSAVE_OVERWRITE_PROMPT); + break; + case WIDX_OVERWRITE_CANCEL: + case WIDX_OVERWRITE_CLOSE: + window_close(w); + break; + } } static void window_overwrite_prompt_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, char *, _window_overwrite_prompt_name); + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, char *, _window_overwrite_prompt_name); - sint32 x = w->x + w->width / 2; - sint32 y = w->y + (w->height / 2) - 3; - gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x, y, w->width - 4, STR_FILEBROWSER_OVERWRITE_PROMPT, COLOUR_BLACK); + sint32 x = w->x + w->width / 2; + sint32 y = w->y + (w->height / 2) - 3; + gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x, y, w->width - 4, STR_FILEBROWSER_OVERWRITE_PROMPT, COLOUR_BLACK); } diff --git a/src/openrct2/windows/main.c b/src/openrct2/windows/main.c index b929c90ed6..989ef831df 100644 --- a/src/openrct2/windows/main.c +++ b/src/openrct2/windows/main.c @@ -22,41 +22,41 @@ #include "../world/footpath.h" rct_widget window_main_widgets[] = { - { WWT_VIEWPORT, 0, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0xFFFFFFFE, 0xFFFF }, - { WIDGETS_END }, + { WWT_VIEWPORT, 0, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0xFFFFFFFE, 0xFFFF }, + { WIDGETS_END }, }; void window_main_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_main_events = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_main_paint, - NULL + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_main_paint, + NULL }; /** @@ -65,24 +65,24 @@ static rct_window_event_list window_main_events = { */ void window_main_open() { - window_main_widgets[0].right = context_get_width(); - window_main_widgets[0].bottom = context_get_height(); - rct_window * window = window_create( - 0, 0, - window_main_widgets[0].right, window_main_widgets[0].bottom, - &window_main_events, - WC_MAIN_WINDOW, - WF_STICK_TO_BACK - ); - window->widgets = window_main_widgets; + window_main_widgets[0].right = context_get_width(); + window_main_widgets[0].bottom = context_get_height(); + rct_window * window = window_create( + 0, 0, + window_main_widgets[0].right, window_main_widgets[0].bottom, + &window_main_events, + WC_MAIN_WINDOW, + WF_STICK_TO_BACK + ); + window->widgets = window_main_widgets; - viewport_create(window, window->x, window->y, window->width, window->height, 0,0x0FFF,0x0FFF, 0, 0x1, -1); - window->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; - gCurrentRotation = 0; - gShowGridLinesRefCount = 0; - gShowLandRightsRefCount = 0; - gShowConstuctionRightsRefCount = 0; - gFootpathSelectedType = 0; + viewport_create(window, window->x, window->y, window->width, window->height, 0,0x0FFF,0x0FFF, 0, 0x1, -1); + window->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; + gCurrentRotation = 0; + gShowGridLinesRefCount = 0; + gShowLandRightsRefCount = 0; + gShowConstuctionRightsRefCount = 0; + gFootpathSelectedType = 0; } @@ -94,5 +94,5 @@ void window_main_open() */ void window_main_paint(rct_window *w, rct_drawpixelinfo *dpi) { - viewport_render(dpi, w->viewport, dpi->x, dpi->y, dpi->x + dpi->width, dpi->y + dpi->height); + viewport_render(dpi, w->viewport, dpi->x, dpi->y, dpi->x + dpi->width, dpi->y + dpi->height); } diff --git a/src/openrct2/windows/map.c b/src/openrct2/windows/map.c index a48d756e66..061df3beb9 100644 --- a/src/openrct2/windows/map.c +++ b/src/openrct2/windows/map.c @@ -39,83 +39,83 @@ #define MAP_WINDOW_MAP_SIZE (MAXIMUM_MAP_SIZE_TECHNICAL * 2) enum { - PAGE_PEEPS, - PAGE_RIDES + PAGE_PEEPS, + PAGE_RIDES }; enum WINDOW_MAP_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_RESIZE = 3, - WIDX_PEOPLE_TAB = 4, - WIDX_RIDES_TAB = 5, - WIDX_MAP = 6, - WIDX_MAP_SIZE_SPINNER = 7, - WIDX_MAP_SIZE_SPINNER_UP = 8, - WIDX_MAP_SIZE_SPINNER_DOWN = 9, - WIDX_SET_LAND_RIGHTS = 10, - WIDX_BUILD_PARK_ENTRANCE = 11, - WIDX_PEOPLE_STARTING_POSITION = 12, - WIDX_LAND_TOOL = 13, - WIDX_LAND_TOOL_SMALLER = 14, - WIDX_LAND_TOOL_LARGER = 15, - WIDX_LAND_OWNED_CHECKBOX = 16, - WIDX_CONSTRUCTION_RIGHTS_OWNED_CHECKBOX = 17, - WIDX_LAND_SALE_CHECKBOX = 18, - WIDX_CONSTRUCTION_RIGHTS_SALE_CHECKBOX = 19, - WIDX_ROTATE_90 = 20, - WIDX_MAP_GENERATOR = 21 + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_RESIZE = 3, + WIDX_PEOPLE_TAB = 4, + WIDX_RIDES_TAB = 5, + WIDX_MAP = 6, + WIDX_MAP_SIZE_SPINNER = 7, + WIDX_MAP_SIZE_SPINNER_UP = 8, + WIDX_MAP_SIZE_SPINNER_DOWN = 9, + WIDX_SET_LAND_RIGHTS = 10, + WIDX_BUILD_PARK_ENTRANCE = 11, + WIDX_PEOPLE_STARTING_POSITION = 12, + WIDX_LAND_TOOL = 13, + WIDX_LAND_TOOL_SMALLER = 14, + WIDX_LAND_TOOL_LARGER = 15, + WIDX_LAND_OWNED_CHECKBOX = 16, + WIDX_CONSTRUCTION_RIGHTS_OWNED_CHECKBOX = 17, + WIDX_LAND_SALE_CHECKBOX = 18, + WIDX_CONSTRUCTION_RIGHTS_SALE_CHECKBOX = 19, + WIDX_ROTATE_90 = 20, + WIDX_MAP_GENERATOR = 21 }; validate_global_widx(WC_MAP, WIDX_LAND_TOOL); validate_global_widx(WC_MAP, WIDX_ROTATE_90); static rct_widget window_map_widgets[] = { - { WWT_FRAME, 0, 0, 244, 0, 258, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, 243, 1, 14, STR_MAP_LABEL, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 232, 242, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 244, 43, 257, STR_NONE, STR_NONE }, - { WWT_COLOURBTN, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_PEOPLE_ON_MAP_TIP }, - { WWT_COLOURBTN, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_RIDES_STALLS_ON_MAP_TIP }, - { WWT_SCROLL, 1, 3, 241, 46, 225, SCROLL_BOTH, STR_NONE }, - { WWT_SPINNER, 1, 104, 198, 229, 240, STR_MAP_SIZE_VALUE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 230, 234, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 235, 239, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_FLATBTN, 1, 4, 27, 1, 24, SPR_BUY_LAND_RIGHTS, STR_SELECT_PARK_OWNED_LAND_TIP }, - { WWT_FLATBTN, 1, 4, 27, 1, 24, SPR_PARK_ENTRANCE, STR_BUILD_PARK_ENTRANCE_TIP }, - { WWT_FLATBTN, 1, 28, 51, 1, 24, SPR_NONE, STR_SET_STARTING_POSITIONS_TIP }, - { WWT_IMGBTN, 1, 4, 47, 17, 48, SPR_LAND_TOOL_SIZE_0, STR_NONE }, - { WWT_TRNBTN, 1, 5, 20, 18, 33, 0x20000000 | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP }, - { WWT_TRNBTN, 1, 31, 46, 32, 47, 0x20000000 | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP }, - { WWT_CHECKBOX, 1, 58, 241, 197, 208, STR_LAND_OWNED, STR_SET_LAND_TO_BE_OWNED_TIP }, - { WWT_CHECKBOX, 1, 58, 241, 197, 208, STR_CONSTRUCTION_RIGHTS_OWNED, STR_SET_CONSTRUCTION_RIGHTS_TO_BE_OWNED_TIP }, - { WWT_CHECKBOX, 1, 58, 241, 197, 208, STR_LAND_SALE, STR_SET_LAND_TO_BE_AVAILABLE_TIP }, - { WWT_CHECKBOX, 1, 58, 231, 197, 208, STR_CONSTRUCTION_RIGHTS_SALE, STR_SET_CONSTRUCTION_RIGHTS_TO_BE_AVAILABLE_TIP }, - { WWT_FLATBTN, 1, 218, 241, 45, 68, SPR_ROTATE_ARROW, STR_ROTATE_OBJECTS_90 }, - { WWT_DROPDOWN_BUTTON, 1, 110, 240, 190, 201, STR_MAPGEN_WINDOW_TITLE, STR_MAP_GENERATOR_TIP}, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 244, 0, 258, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, 243, 1, 14, STR_MAP_LABEL, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 232, 242, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 244, 43, 257, STR_NONE, STR_NONE }, + { WWT_COLOURBTN, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_PEOPLE_ON_MAP_TIP }, + { WWT_COLOURBTN, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_RIDES_STALLS_ON_MAP_TIP }, + { WWT_SCROLL, 1, 3, 241, 46, 225, SCROLL_BOTH, STR_NONE }, + { WWT_SPINNER, 1, 104, 198, 229, 240, STR_MAP_SIZE_VALUE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 230, 234, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 235, 239, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_FLATBTN, 1, 4, 27, 1, 24, SPR_BUY_LAND_RIGHTS, STR_SELECT_PARK_OWNED_LAND_TIP }, + { WWT_FLATBTN, 1, 4, 27, 1, 24, SPR_PARK_ENTRANCE, STR_BUILD_PARK_ENTRANCE_TIP }, + { WWT_FLATBTN, 1, 28, 51, 1, 24, SPR_NONE, STR_SET_STARTING_POSITIONS_TIP }, + { WWT_IMGBTN, 1, 4, 47, 17, 48, SPR_LAND_TOOL_SIZE_0, STR_NONE }, + { WWT_TRNBTN, 1, 5, 20, 18, 33, 0x20000000 | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP }, + { WWT_TRNBTN, 1, 31, 46, 32, 47, 0x20000000 | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP }, + { WWT_CHECKBOX, 1, 58, 241, 197, 208, STR_LAND_OWNED, STR_SET_LAND_TO_BE_OWNED_TIP }, + { WWT_CHECKBOX, 1, 58, 241, 197, 208, STR_CONSTRUCTION_RIGHTS_OWNED, STR_SET_CONSTRUCTION_RIGHTS_TO_BE_OWNED_TIP }, + { WWT_CHECKBOX, 1, 58, 241, 197, 208, STR_LAND_SALE, STR_SET_LAND_TO_BE_AVAILABLE_TIP }, + { WWT_CHECKBOX, 1, 58, 231, 197, 208, STR_CONSTRUCTION_RIGHTS_SALE, STR_SET_CONSTRUCTION_RIGHTS_TO_BE_AVAILABLE_TIP }, + { WWT_FLATBTN, 1, 218, 241, 45, 68, SPR_ROTATE_ARROW, STR_ROTATE_OBJECTS_90 }, + { WWT_DROPDOWN_BUTTON, 1, 110, 240, 190, 201, STR_MAPGEN_WINDOW_TITLE, STR_MAP_GENERATOR_TIP}, + { WIDGETS_END }, }; // used in transforming viewport view coordinates to minimap coordinates // rct2: 0x00981BBC const rct_xy16 MiniMapOffsets[] = { - { 256 - 8, 0 }, - { 512 - 8, 256 }, - { 256 - 8, 512 }, - { 0 - 8, 256 } + { 256 - 8, 0 }, + { 512 - 8, 256 }, + { 256 - 8, 512 }, + { 0 - 8, 256 } }; /** rct2: 0x00981BCC */ static const uint16 RideKeyColours[] = { - MAP_COLOUR(PALETTE_INDEX_61), // COLOUR_KEY_RIDE - MAP_COLOUR(PALETTE_INDEX_42), // COLOUR_KEY_FOOD - MAP_COLOUR(PALETTE_INDEX_20), // COLOUR_KEY_DRINK - MAP_COLOUR(PALETTE_INDEX_209), // COLOUR_KEY_SOUVENIR - MAP_COLOUR(PALETTE_INDEX_136), // COLOUR_KEY_KIOSK - MAP_COLOUR(PALETTE_INDEX_102), // COLOUR_KEY_FIRST_AID - MAP_COLOUR(PALETTE_INDEX_55), // COLOUR_KEY_CASH_MACHINE - MAP_COLOUR(PALETTE_INDEX_161), // COLOUR_KEY_TOILETS + MAP_COLOUR(PALETTE_INDEX_61), // COLOUR_KEY_RIDE + MAP_COLOUR(PALETTE_INDEX_42), // COLOUR_KEY_FOOD + MAP_COLOUR(PALETTE_INDEX_20), // COLOUR_KEY_DRINK + MAP_COLOUR(PALETTE_INDEX_209), // COLOUR_KEY_SOUVENIR + MAP_COLOUR(PALETTE_INDEX_136), // COLOUR_KEY_KIOSK + MAP_COLOUR(PALETTE_INDEX_102), // COLOUR_KEY_FIRST_AID + MAP_COLOUR(PALETTE_INDEX_55), // COLOUR_KEY_CASH_MACHINE + MAP_COLOUR(PALETTE_INDEX_161), // COLOUR_KEY_TOILETS }; static void window_map_close(rct_window *w); @@ -136,34 +136,34 @@ static void window_map_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_map_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_map_events = { - window_map_close, - window_map_mouseup, - window_map_resize, - window_map_mousedown, - NULL, - NULL, - window_map_update, - NULL, - NULL, - window_map_toolupdate, - window_map_tooldown, - window_map_tooldrag, - NULL, - window_map_toolabort, - NULL, - window_map_scrollgetsize, - window_map_scrollmousedown, - window_map_scrollmousedown, - NULL, - window_map_textinput, - NULL, - NULL, - window_map_tooltip, - NULL, - NULL, - window_map_invalidate, - window_map_paint, - window_map_scrollpaint + window_map_close, + window_map_mouseup, + window_map_resize, + window_map_mousedown, + NULL, + NULL, + window_map_update, + NULL, + NULL, + window_map_toolupdate, + window_map_tooldown, + window_map_tooldrag, + NULL, + window_map_toolabort, + NULL, + window_map_scrollgetsize, + window_map_scrollmousedown, + window_map_scrollmousedown, + NULL, + window_map_textinput, + NULL, + NULL, + window_map_tooltip, + NULL, + NULL, + window_map_invalidate, + window_map_paint, + window_map_scrollpaint }; /** rct2: 0x00F1AD61 */ @@ -205,71 +205,71 @@ static void map_window_screen_to_map(sint32 screenX, sint32 screenY, sint32 *map */ void window_map_open() { - rct_window *w; + rct_window *w; - // Check if window is already open - w = window_bring_to_front_by_class(WC_MAP); - if (w != NULL) { - w->selected_tab = 0; - w->list_information_type = 0; - return; - } + // Check if window is already open + w = window_bring_to_front_by_class(WC_MAP); + if (w != NULL) { + w->selected_tab = 0; + w->list_information_type = 0; + return; + } - _mapImageData = malloc(sizeof(*_mapImageData)); - if (_mapImageData == NULL) { - return; - } + _mapImageData = malloc(sizeof(*_mapImageData)); + if (_mapImageData == NULL) { + return; + } - w = window_create_auto_pos(245, 259, &window_map_events, WC_MAP, WF_10); - w->widgets = window_map_widgets; - w->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_PEOPLE_TAB) | - (1 << WIDX_RIDES_TAB) | - (1 << WIDX_MAP_SIZE_SPINNER) | - (1 << WIDX_MAP_SIZE_SPINNER_UP) | - (1 << WIDX_MAP_SIZE_SPINNER_DOWN) | - (1 << WIDX_LAND_TOOL) | - (1 << WIDX_LAND_TOOL_SMALLER) | - (1 << WIDX_LAND_TOOL_LARGER) | - (1 << WIDX_SET_LAND_RIGHTS) | - (1 << WIDX_LAND_OWNED_CHECKBOX) | - (1 << WIDX_CONSTRUCTION_RIGHTS_OWNED_CHECKBOX) | - (1 << WIDX_LAND_SALE_CHECKBOX) | - (1 << WIDX_CONSTRUCTION_RIGHTS_SALE_CHECKBOX) | - (1 << WIDX_BUILD_PARK_ENTRANCE) | - (1 << WIDX_ROTATE_90) | - (1 << WIDX_PEOPLE_STARTING_POSITION) | - (1 << WIDX_MAP_GENERATOR); + w = window_create_auto_pos(245, 259, &window_map_events, WC_MAP, WF_10); + w->widgets = window_map_widgets; + w->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_PEOPLE_TAB) | + (1 << WIDX_RIDES_TAB) | + (1 << WIDX_MAP_SIZE_SPINNER) | + (1 << WIDX_MAP_SIZE_SPINNER_UP) | + (1 << WIDX_MAP_SIZE_SPINNER_DOWN) | + (1 << WIDX_LAND_TOOL) | + (1 << WIDX_LAND_TOOL_SMALLER) | + (1 << WIDX_LAND_TOOL_LARGER) | + (1 << WIDX_SET_LAND_RIGHTS) | + (1 << WIDX_LAND_OWNED_CHECKBOX) | + (1 << WIDX_CONSTRUCTION_RIGHTS_OWNED_CHECKBOX) | + (1 << WIDX_LAND_SALE_CHECKBOX) | + (1 << WIDX_CONSTRUCTION_RIGHTS_SALE_CHECKBOX) | + (1 << WIDX_BUILD_PARK_ENTRANCE) | + (1 << WIDX_ROTATE_90) | + (1 << WIDX_PEOPLE_STARTING_POSITION) | + (1 << WIDX_MAP_GENERATOR); - w->hold_down_widgets = - (1 << WIDX_MAP_SIZE_SPINNER_UP) | - (1 << WIDX_MAP_SIZE_SPINNER_DOWN); + w->hold_down_widgets = + (1 << WIDX_MAP_SIZE_SPINNER_UP) | + (1 << WIDX_MAP_SIZE_SPINNER_DOWN); - window_init_scroll_widgets(w); + window_init_scroll_widgets(w); - w->map.rotation = get_current_rotation(); + w->map.rotation = get_current_rotation(); - window_map_init_map(); - gWindowSceneryRotation = 0; - window_map_center_on_view_point(); + window_map_init_map(); + gWindowSceneryRotation = 0; + window_map_center_on_view_point(); - // Reset land tool size - gLandToolSize = 1; + // Reset land tool size + gLandToolSize = 1; } void window_map_reset() { - rct_window *w; + rct_window *w; - // Check if window is even opened - w = window_bring_to_front_by_class(WC_MAP); - if (w == NULL) { - return; - } + // Check if window is even opened + w = window_bring_to_front_by_class(WC_MAP); + if (w == NULL) { + return; + } - window_map_init_map(); - window_map_center_on_view_point(); + window_map_init_map(); + window_map_center_on_view_point(); } /** @@ -278,12 +278,12 @@ void window_map_reset() */ static void window_map_close(rct_window *w) { - free(_mapImageData); - if ((input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && - gCurrentToolWidget.window_classification == w->classification && - gCurrentToolWidget.window_number == w->number) { - tool_cancel(); - } + free(_mapImageData); + if ((input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && + gCurrentToolWidget.window_classification == w->classification && + gCurrentToolWidget.window_number == w->number) { + tool_cancel(); + } } /** @@ -292,107 +292,107 @@ static void window_map_close(rct_window *w) */ static void window_map_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_SET_LAND_RIGHTS: - window_invalidate(w); - if (tool_set(w, widgetIndex, TOOL_UP_ARROW)) - break; - _activeTool = 2; - // Prevent mountain tool size. - gLandToolSize = max(MINIMUM_TOOL_SIZE, gLandToolSize); - show_gridlines(); - show_land_rights(); - show_construction_rights(); - break; - case WIDX_LAND_OWNED_CHECKBOX: - _activeTool ^= 2; + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_SET_LAND_RIGHTS: + window_invalidate(w); + if (tool_set(w, widgetIndex, TOOL_UP_ARROW)) + break; + _activeTool = 2; + // Prevent mountain tool size. + gLandToolSize = max(MINIMUM_TOOL_SIZE, gLandToolSize); + show_gridlines(); + show_land_rights(); + show_construction_rights(); + break; + case WIDX_LAND_OWNED_CHECKBOX: + _activeTool ^= 2; - if (_activeTool & 2) - _activeTool &= 0xF2; + if (_activeTool & 2) + _activeTool &= 0xF2; - window_invalidate(w); - break; - case WIDX_LAND_SALE_CHECKBOX: - _activeTool ^= 8; + window_invalidate(w); + break; + case WIDX_LAND_SALE_CHECKBOX: + _activeTool ^= 8; - if (_activeTool & 8) - _activeTool &= 0xF8; + if (_activeTool & 8) + _activeTool &= 0xF8; - window_invalidate(w); - break; - case WIDX_CONSTRUCTION_RIGHTS_OWNED_CHECKBOX: - _activeTool ^= 1; + window_invalidate(w); + break; + case WIDX_CONSTRUCTION_RIGHTS_OWNED_CHECKBOX: + _activeTool ^= 1; - if (_activeTool & 1) - _activeTool &= 0xF1; + if (_activeTool & 1) + _activeTool &= 0xF1; - window_invalidate(w); - break; - case WIDX_CONSTRUCTION_RIGHTS_SALE_CHECKBOX: - _activeTool ^= 4; + window_invalidate(w); + break; + case WIDX_CONSTRUCTION_RIGHTS_SALE_CHECKBOX: + _activeTool ^= 4; - if (_activeTool & 4) - _activeTool &= 0xF4; + if (_activeTool & 4) + _activeTool &= 0xF4; - window_invalidate(w); - break; - case WIDX_LAND_TOOL_SMALLER: - // Decrement land ownership tool size - gLandToolSize = max(MINIMUM_TOOL_SIZE, gLandToolSize-1); + window_invalidate(w); + break; + case WIDX_LAND_TOOL_SMALLER: + // Decrement land ownership tool size + gLandToolSize = max(MINIMUM_TOOL_SIZE, gLandToolSize-1); - window_invalidate(w); - break; - case WIDX_LAND_TOOL_LARGER: - // Increment land ownership tool size - gLandToolSize = min(MAXIMUM_TOOL_SIZE, gLandToolSize+1); + window_invalidate(w); + break; + case WIDX_LAND_TOOL_LARGER: + // Increment land ownership tool size + gLandToolSize = min(MAXIMUM_TOOL_SIZE, gLandToolSize+1); - window_invalidate(w); - break; - case WIDX_BUILD_PARK_ENTRANCE: - window_invalidate(w); - if (tool_set(w, widgetIndex, TOOL_UP_ARROW)) - break; + window_invalidate(w); + break; + case WIDX_BUILD_PARK_ENTRANCE: + window_invalidate(w); + if (tool_set(w, widgetIndex, TOOL_UP_ARROW)) + break; - gParkEntranceGhostExists = false; - input_set_flag(INPUT_FLAG_6, true); + gParkEntranceGhostExists = false; + input_set_flag(INPUT_FLAG_6, true); - show_gridlines(); - show_land_rights(); - show_construction_rights(); - break; - case WIDX_ROTATE_90: - gWindowSceneryRotation = (gWindowSceneryRotation + 1) & 3; - break; - case WIDX_PEOPLE_STARTING_POSITION: - if (tool_set(w, widgetIndex, TOOL_UP_ARROW)) - break; + show_gridlines(); + show_land_rights(); + show_construction_rights(); + break; + case WIDX_ROTATE_90: + gWindowSceneryRotation = (gWindowSceneryRotation + 1) & 3; + break; + case WIDX_PEOPLE_STARTING_POSITION: + if (tool_set(w, widgetIndex, TOOL_UP_ARROW)) + break; - show_gridlines(); - show_land_rights(); - show_construction_rights(); - break; - case WIDX_LAND_TOOL: - window_map_inputsize_land(w); - break; - case WIDX_MAP_SIZE_SPINNER: - window_map_inputsize_map(w); - break; - case WIDX_MAP_GENERATOR: - window_mapgen_open(); - break; - default: - if (widgetIndex >= WIDX_PEOPLE_TAB && widgetIndex <= WIDX_RIDES_TAB) { - widgetIndex -= WIDX_PEOPLE_TAB; - if (widgetIndex == w->selected_tab) - break; + show_gridlines(); + show_land_rights(); + show_construction_rights(); + break; + case WIDX_LAND_TOOL: + window_map_inputsize_land(w); + break; + case WIDX_MAP_SIZE_SPINNER: + window_map_inputsize_map(w); + break; + case WIDX_MAP_GENERATOR: + window_mapgen_open(); + break; + default: + if (widgetIndex >= WIDX_PEOPLE_TAB && widgetIndex <= WIDX_RIDES_TAB) { + widgetIndex -= WIDX_PEOPLE_TAB; + if (widgetIndex == w->selected_tab) + break; - w->selected_tab = widgetIndex; - w->list_information_type = 0; - } - } + w->selected_tab = widgetIndex; + w->list_information_type = 0; + } + } } /** @@ -401,11 +401,11 @@ static void window_map_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ static void window_map_resize(rct_window *w) { - w->flags |= WF_RESIZABLE; - w->min_width = 245; - w->max_width = 800; - w->min_height = 259; - w->max_height = 560; + w->flags |= WF_RESIZABLE; + w->min_width = 245; + w->max_width = 800; + w->min_height = 259; + w->max_height = 560; } /** @@ -414,14 +414,14 @@ static void window_map_resize(rct_window *w) */ static void window_map_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - switch (widgetIndex) { - case WIDX_MAP_SIZE_SPINNER_UP: - map_window_increase_map_size(); - break; - case WIDX_MAP_SIZE_SPINNER_DOWN: - map_window_decrease_map_size(); - break; - } + switch (widgetIndex) { + case WIDX_MAP_SIZE_SPINNER_UP: + map_window_increase_map_size(); + break; + case WIDX_MAP_SIZE_SPINNER_DOWN: + map_window_decrease_map_size(); + break; + } } /** @@ -430,31 +430,31 @@ static void window_map_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct */ static void window_map_update(rct_window *w) { - if (get_current_rotation() != w->map.rotation) { - w->map.rotation = get_current_rotation(); - window_map_init_map(); - window_map_center_on_view_point(); - } + if (get_current_rotation() != w->map.rotation) { + w->map.rotation = get_current_rotation(); + window_map_init_map(); + window_map_center_on_view_point(); + } - for (sint32 i = 0; i < 16; i++) - map_window_set_pixels(w); + for (sint32 i = 0; i < 16; i++) + map_window_set_pixels(w); - window_invalidate(w); + window_invalidate(w); - // Update tab animations - w->list_information_type++; - switch (w->selected_tab) { - case PAGE_PEEPS: - if (w->list_information_type >= 32) { - w->list_information_type = 0; - } - break; - case PAGE_RIDES: - if (w->list_information_type >= 64) { - w->list_information_type = 0; - } - break; - } + // Update tab animations + w->list_information_type++; + switch (w->selected_tab) { + case PAGE_PEEPS: + if (w->list_information_type >= 32) { + w->list_information_type = 0; + } + break; + case PAGE_RIDES: + if (w->list_information_type >= 64) { + w->list_information_type = 0; + } + break; + } } /** @@ -463,17 +463,17 @@ static void window_map_update(rct_window *w) */ static void window_map_toolupdate(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex) { - case WIDX_SET_LAND_RIGHTS: - window_map_set_land_rights_tool_update(x, y); - break; - case WIDX_BUILD_PARK_ENTRANCE: - window_map_place_park_entrance_tool_update(x, y); - break; - case WIDX_PEOPLE_STARTING_POSITION: - window_map_set_peep_spawn_tool_update(x, y); - break; - } + switch (widgetIndex) { + case WIDX_SET_LAND_RIGHTS: + window_map_set_land_rights_tool_update(x, y); + break; + case WIDX_BUILD_PARK_ENTRANCE: + window_map_place_park_entrance_tool_update(x, y); + break; + case WIDX_PEOPLE_STARTING_POSITION: + window_map_set_peep_spawn_tool_update(x, y); + break; + } } /** @@ -482,14 +482,14 @@ static void window_map_toolupdate(rct_window* w, rct_widgetindex widgetIndex, si */ static void window_map_tooldown(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex) { - case WIDX_BUILD_PARK_ENTRANCE: - window_map_place_park_entrance_tool_down(x, y); - break; - case WIDX_PEOPLE_STARTING_POSITION: - window_map_set_peep_spawn_tool_down(x, y); - break; - } + switch (widgetIndex) { + case WIDX_BUILD_PARK_ENTRANCE: + window_map_place_park_entrance_tool_down(x, y); + break; + case WIDX_PEOPLE_STARTING_POSITION: + window_map_set_peep_spawn_tool_down(x, y); + break; + } } /** @@ -498,22 +498,22 @@ static void window_map_tooldown(rct_window* w, rct_widgetindex widgetIndex, sint */ static void window_map_tooldrag(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex) { - case WIDX_SET_LAND_RIGHTS: - if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE) { - gGameCommandErrorTitle = 0; - game_do_command( - gMapSelectPositionA.x, - GAME_COMMAND_FLAG_APPLY, - gMapSelectPositionA.y, - _activeTool, - GAME_COMMAND_SET_LAND_OWNERSHIP, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - } - break; - } + switch (widgetIndex) { + case WIDX_SET_LAND_RIGHTS: + if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE) { + gGameCommandErrorTitle = 0; + game_do_command( + gMapSelectPositionA.x, + GAME_COMMAND_FLAG_APPLY, + gMapSelectPositionA.y, + _activeTool, + GAME_COMMAND_SET_LAND_OWNERSHIP, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + } + break; + } } /** @@ -522,27 +522,27 @@ static void window_map_tooldrag(rct_window* w, rct_widgetindex widgetIndex, sint */ static void window_map_toolabort(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_SET_LAND_RIGHTS: - window_invalidate(w); - hide_gridlines(); - hide_land_rights(); - hide_construction_rights(); - break; - case WIDX_BUILD_PARK_ENTRANCE: - park_entrance_remove_ghost(); - window_invalidate(w); - hide_gridlines(); - hide_land_rights(); - hide_construction_rights(); - break; - case WIDX_PEOPLE_STARTING_POSITION: - window_invalidate(w); - hide_gridlines(); - hide_land_rights(); - hide_construction_rights(); - break; - } + switch (widgetIndex) { + case WIDX_SET_LAND_RIGHTS: + window_invalidate(w); + hide_gridlines(); + hide_land_rights(); + hide_construction_rights(); + break; + case WIDX_BUILD_PARK_ENTRANCE: + park_entrance_remove_ghost(); + window_invalidate(w); + hide_gridlines(); + hide_land_rights(); + hide_construction_rights(); + break; + case WIDX_PEOPLE_STARTING_POSITION: + window_invalidate(w); + hide_gridlines(); + hide_land_rights(); + hide_construction_rights(); + break; + } } /** @@ -551,10 +551,10 @@ static void window_map_toolabort(rct_window *w, rct_widgetindex widgetIndex) */ static void window_map_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - window_map_invalidate(w); + window_map_invalidate(w); - *width = 512; - *height = 512; + *width = 512; + *height = 512; } /** @@ -563,113 +563,113 @@ static void window_map_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 * */ static void window_map_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 mapX = 0, mapY = 0, mapZ = 0; - rct_window *mainWindow; + sint32 mapX = 0, mapY = 0, mapZ = 0; + rct_window *mainWindow; - map_window_screen_to_map(x, y, &mapX, &mapY); - mapX = clamp(0, mapX, 8191); - mapY = clamp(0, mapY, 8191); - mapZ = map_element_height(x, y); + map_window_screen_to_map(x, y, &mapX, &mapY); + mapX = clamp(0, mapX, 8191); + mapY = clamp(0, mapY, 8191); + mapZ = map_element_height(x, y); - mainWindow = window_get_main(); - if (mainWindow != NULL) { - window_scroll_to_location(mainWindow, mapX, mapY, mapZ); - } + mainWindow = window_get_main(); + if (mainWindow != NULL) { + window_scroll_to_location(mainWindow, mapX, mapY, mapZ); + } - if (land_tool_is_active()) { - // Set land terrain - sint32 landToolSize = max(1, gLandToolSize); - sint32 size = (landToolSize * 32) - 32; - sint32 radius = (landToolSize * 16) - 16; - mapX = (mapX - radius) & 0xFFE0; - mapY = (mapY - radius) & 0xFFE0; + if (land_tool_is_active()) { + // Set land terrain + sint32 landToolSize = max(1, gLandToolSize); + sint32 size = (landToolSize * 32) - 32; + sint32 radius = (landToolSize * 16) - 16; + mapX = (mapX - radius) & 0xFFE0; + mapY = (mapY - radius) & 0xFFE0; - map_invalidate_selection_rect(); - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - gMapSelectType = MAP_SELECT_TYPE_FULL; - gMapSelectPositionA.x = mapX; - gMapSelectPositionA.y = mapY; - gMapSelectPositionB.x = mapX + size; - gMapSelectPositionB.y = mapY + size; - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectType = MAP_SELECT_TYPE_FULL; + gMapSelectPositionA.x = mapX; + gMapSelectPositionA.y = mapY; + gMapSelectPositionB.x = mapX + size; + gMapSelectPositionB.y = mapY + size; + map_invalidate_selection_rect(); - gGameCommandErrorTitle = STR_CANT_CHANGE_LAND_TYPE; - game_do_command( - gMapSelectPositionA.x, - GAME_COMMAND_FLAG_APPLY, - gMapSelectPositionA.y, - gLandToolTerrainSurface | (gLandToolTerrainEdge << 8), - GAME_COMMAND_CHANGE_SURFACE_STYLE, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - } else if (widget_is_active_tool(w, WIDX_SET_LAND_RIGHTS)) { - // Set land rights - sint32 landToolSize = max(1, gLandToolSize); - sint32 size = (landToolSize * 32) - 32; - sint32 radius = (landToolSize * 16) - 16; - mapX = (mapX - radius) & 0xFFE0; - mapY = (mapY - radius) & 0xFFE0; + gGameCommandErrorTitle = STR_CANT_CHANGE_LAND_TYPE; + game_do_command( + gMapSelectPositionA.x, + GAME_COMMAND_FLAG_APPLY, + gMapSelectPositionA.y, + gLandToolTerrainSurface | (gLandToolTerrainEdge << 8), + GAME_COMMAND_CHANGE_SURFACE_STYLE, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + } else if (widget_is_active_tool(w, WIDX_SET_LAND_RIGHTS)) { + // Set land rights + sint32 landToolSize = max(1, gLandToolSize); + sint32 size = (landToolSize * 32) - 32; + sint32 radius = (landToolSize * 16) - 16; + mapX = (mapX - radius) & 0xFFE0; + mapY = (mapY - radius) & 0xFFE0; - map_invalidate_selection_rect(); - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - gMapSelectType = MAP_SELECT_TYPE_FULL; - gMapSelectPositionA.x = mapX; - gMapSelectPositionA.y = mapY; - gMapSelectPositionB.x = mapX + size; - gMapSelectPositionB.y = mapY + size; - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectType = MAP_SELECT_TYPE_FULL; + gMapSelectPositionA.x = mapX; + gMapSelectPositionA.y = mapY; + gMapSelectPositionB.x = mapX + size; + gMapSelectPositionB.y = mapY + size; + map_invalidate_selection_rect(); - gGameCommandErrorTitle = 0; - game_do_command( - gMapSelectPositionA.x, - GAME_COMMAND_FLAG_APPLY, - gMapSelectPositionA.y, - _activeTool, - GAME_COMMAND_SET_LAND_OWNERSHIP, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - } + gGameCommandErrorTitle = 0; + game_do_command( + gMapSelectPositionA.x, + GAME_COMMAND_FLAG_APPLY, + gMapSelectPositionA.y, + _activeTool, + GAME_COMMAND_SET_LAND_OWNERSHIP, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + } } static void window_map_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - sint32 size; - char* end; + sint32 size; + char* end; - if (text == NULL) - return; + if (text == NULL) + return; - switch (widgetIndex) { - case WIDX_LAND_TOOL: - size = strtol(text, &end, 10); - if (*end == '\0') { - size = clamp(MINIMUM_TOOL_SIZE, size, MAXIMUM_TOOL_SIZE); - gLandToolSize = size; - window_invalidate(w); - } - break; - case WIDX_MAP_SIZE_SPINNER: - size = strtol(text, &end, 10); - if (*end == '\0') { - // The practical size is 2 lower than the technical size - size += 2; - size=clamp(MINIMUM_MAP_SIZE_TECHNICAL, size, MAXIMUM_MAP_SIZE_TECHNICAL); + switch (widgetIndex) { + case WIDX_LAND_TOOL: + size = strtol(text, &end, 10); + if (*end == '\0') { + size = clamp(MINIMUM_TOOL_SIZE, size, MAXIMUM_TOOL_SIZE); + gLandToolSize = size; + window_invalidate(w); + } + break; + case WIDX_MAP_SIZE_SPINNER: + size = strtol(text, &end, 10); + if (*end == '\0') { + // The practical size is 2 lower than the technical size + size += 2; + size=clamp(MINIMUM_MAP_SIZE_TECHNICAL, size, MAXIMUM_MAP_SIZE_TECHNICAL); - sint32 currentSize = gMapSize; - while (size < currentSize) { - map_window_decrease_map_size(); - currentSize--; - } - while (size > currentSize) { - map_window_increase_map_size(); - currentSize++; - } - window_invalidate(w); - } - break; - } + sint32 currentSize = gMapSize; + while (size < currentSize) { + map_window_decrease_map_size(); + currentSize--; + } + while (size > currentSize) { + map_window_increase_map_size(); + currentSize++; + } + window_invalidate(w); + } + break; + } } /** @@ -678,7 +678,7 @@ static void window_map_textinput(rct_window *w, rct_widgetindex widgetIndex, cha */ static void window_map_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_MAP); + set_format_arg(0, rct_string_id, STR_MAP); } /** @@ -687,131 +687,131 @@ static void window_map_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_s */ static void window_map_invalidate(rct_window *w) { - uint64 pressedWidgets; - sint32 i, height; + uint64 pressedWidgets; + sint32 i, height; - // Set the pressed widgets - pressedWidgets = w->pressed_widgets; - pressedWidgets &= (1ULL << WIDX_PEOPLE_TAB); - pressedWidgets &= (1ULL << WIDX_RIDES_TAB); - pressedWidgets &= (1ULL << WIDX_MAP); - pressedWidgets &= (1ULL << WIDX_LAND_OWNED_CHECKBOX); - pressedWidgets &= (1ULL << WIDX_CONSTRUCTION_RIGHTS_OWNED_CHECKBOX); - pressedWidgets &= (1ULL << WIDX_LAND_SALE_CHECKBOX); - pressedWidgets &= (1ULL << WIDX_CONSTRUCTION_RIGHTS_SALE_CHECKBOX); + // Set the pressed widgets + pressedWidgets = w->pressed_widgets; + pressedWidgets &= (1ULL << WIDX_PEOPLE_TAB); + pressedWidgets &= (1ULL << WIDX_RIDES_TAB); + pressedWidgets &= (1ULL << WIDX_MAP); + pressedWidgets &= (1ULL << WIDX_LAND_OWNED_CHECKBOX); + pressedWidgets &= (1ULL << WIDX_CONSTRUCTION_RIGHTS_OWNED_CHECKBOX); + pressedWidgets &= (1ULL << WIDX_LAND_SALE_CHECKBOX); + pressedWidgets &= (1ULL << WIDX_CONSTRUCTION_RIGHTS_SALE_CHECKBOX); - pressedWidgets |= (1ULL << (WIDX_PEOPLE_TAB + w->selected_tab)); - pressedWidgets |= (1ULL << WIDX_LAND_TOOL); + pressedWidgets |= (1ULL << (WIDX_PEOPLE_TAB + w->selected_tab)); + pressedWidgets |= (1ULL << WIDX_LAND_TOOL); - if (_activeTool & (1 << 3)) - pressedWidgets |= (1 << WIDX_LAND_SALE_CHECKBOX); + if (_activeTool & (1 << 3)) + pressedWidgets |= (1 << WIDX_LAND_SALE_CHECKBOX); - if (_activeTool & (1 << 2)) - pressedWidgets |= (1 << WIDX_CONSTRUCTION_RIGHTS_SALE_CHECKBOX); + if (_activeTool & (1 << 2)) + pressedWidgets |= (1 << WIDX_CONSTRUCTION_RIGHTS_SALE_CHECKBOX); - if (_activeTool & (1 << 1)) - pressedWidgets |= (1 << WIDX_LAND_OWNED_CHECKBOX); + if (_activeTool & (1 << 1)) + pressedWidgets |= (1 << WIDX_LAND_OWNED_CHECKBOX); - if (_activeTool & (1 << 0)) - pressedWidgets |= (1 << WIDX_CONSTRUCTION_RIGHTS_OWNED_CHECKBOX); + if (_activeTool & (1 << 0)) + pressedWidgets |= (1 << WIDX_CONSTRUCTION_RIGHTS_OWNED_CHECKBOX); - w->pressed_widgets = pressedWidgets; + w->pressed_widgets = pressedWidgets; - // Resize widgets to window size - w->widgets[WIDX_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_RESIZE].right = w->width - 1; - w->widgets[WIDX_RESIZE].bottom = w->height - 1; - w->widgets[WIDX_TITLE].right = w->width - 2; - w->widgets[WIDX_CLOSE].left = w->width - 2 - 11; - w->widgets[WIDX_CLOSE].right = w->width - 2 - 11 + 10; - w->widgets[WIDX_MAP].right = w->width - 4; + // Resize widgets to window size + w->widgets[WIDX_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_RESIZE].right = w->width - 1; + w->widgets[WIDX_RESIZE].bottom = w->height - 1; + w->widgets[WIDX_TITLE].right = w->width - 2; + w->widgets[WIDX_CLOSE].left = w->width - 2 - 11; + w->widgets[WIDX_CLOSE].right = w->width - 2 - 11 + 10; + w->widgets[WIDX_MAP].right = w->width - 4; - if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) - w->widgets[WIDX_MAP].bottom = w->height - 1 - 72; - else if (w->selected_tab == PAGE_RIDES) - w->widgets[WIDX_MAP].bottom = w->height - 1 - 44; - else - w->widgets[WIDX_MAP].bottom = w->height - 1 - 14; + if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) + w->widgets[WIDX_MAP].bottom = w->height - 1 - 72; + else if (w->selected_tab == PAGE_RIDES) + w->widgets[WIDX_MAP].bottom = w->height - 1 - 44; + else + w->widgets[WIDX_MAP].bottom = w->height - 1 - 14; - w->widgets[WIDX_MAP_SIZE_SPINNER].top = w->height - 15; - w->widgets[WIDX_MAP_SIZE_SPINNER].bottom = w->height - 4; - w->widgets[WIDX_MAP_SIZE_SPINNER_UP].top = w->height - 14; - w->widgets[WIDX_MAP_SIZE_SPINNER_UP].bottom = w->height - 10; - w->widgets[WIDX_MAP_SIZE_SPINNER_DOWN].top = w->height - 9; - w->widgets[WIDX_MAP_SIZE_SPINNER_DOWN].bottom = w->height - 5; + w->widgets[WIDX_MAP_SIZE_SPINNER].top = w->height - 15; + w->widgets[WIDX_MAP_SIZE_SPINNER].bottom = w->height - 4; + w->widgets[WIDX_MAP_SIZE_SPINNER_UP].top = w->height - 14; + w->widgets[WIDX_MAP_SIZE_SPINNER_UP].bottom = w->height - 10; + w->widgets[WIDX_MAP_SIZE_SPINNER_DOWN].top = w->height - 9; + w->widgets[WIDX_MAP_SIZE_SPINNER_DOWN].bottom = w->height - 5; - w->widgets[WIDX_SET_LAND_RIGHTS].top = w->height - 70; - w->widgets[WIDX_SET_LAND_RIGHTS].bottom = w->height - 70 + 23; - w->widgets[WIDX_BUILD_PARK_ENTRANCE].top = w->height - 46; - w->widgets[WIDX_BUILD_PARK_ENTRANCE].bottom = w->height - 46 + 23; - w->widgets[WIDX_ROTATE_90].top = w->height - 46; - w->widgets[WIDX_ROTATE_90].bottom = w->height - 46 + 23; - w->widgets[WIDX_PEOPLE_STARTING_POSITION].top = w->height - 46; - w->widgets[WIDX_PEOPLE_STARTING_POSITION].bottom = w->height - 46 + 23; + w->widgets[WIDX_SET_LAND_RIGHTS].top = w->height - 70; + w->widgets[WIDX_SET_LAND_RIGHTS].bottom = w->height - 70 + 23; + w->widgets[WIDX_BUILD_PARK_ENTRANCE].top = w->height - 46; + w->widgets[WIDX_BUILD_PARK_ENTRANCE].bottom = w->height - 46 + 23; + w->widgets[WIDX_ROTATE_90].top = w->height - 46; + w->widgets[WIDX_ROTATE_90].bottom = w->height - 46 + 23; + w->widgets[WIDX_PEOPLE_STARTING_POSITION].top = w->height - 46; + w->widgets[WIDX_PEOPLE_STARTING_POSITION].bottom = w->height - 46 + 23; - w->widgets[WIDX_LAND_TOOL].top = w->height - 42; - w->widgets[WIDX_LAND_TOOL].bottom = w->height - 42 + 30; - w->widgets[WIDX_LAND_TOOL_SMALLER].top = w->height - 41; - w->widgets[WIDX_LAND_TOOL_SMALLER].bottom = w->height - 41 + 15; - w->widgets[WIDX_LAND_TOOL_LARGER].top = w->height - 27; - w->widgets[WIDX_LAND_TOOL_LARGER].bottom = w->height - 27 + 15; + w->widgets[WIDX_LAND_TOOL].top = w->height - 42; + w->widgets[WIDX_LAND_TOOL].bottom = w->height - 42 + 30; + w->widgets[WIDX_LAND_TOOL_SMALLER].top = w->height - 41; + w->widgets[WIDX_LAND_TOOL_SMALLER].bottom = w->height - 41 + 15; + w->widgets[WIDX_LAND_TOOL_LARGER].top = w->height - 27; + w->widgets[WIDX_LAND_TOOL_LARGER].bottom = w->height - 27 + 15; - w->widgets[WIDX_MAP_GENERATOR].top = w->height - 69; - w->widgets[WIDX_MAP_GENERATOR].bottom = w->height - 69 + 11; + w->widgets[WIDX_MAP_GENERATOR].top = w->height - 69; + w->widgets[WIDX_MAP_GENERATOR].bottom = w->height - 69 + 11; - // Land tool mode (4 checkboxes) - height = w->height - 55; - for (i = 0; i < 4; i++) { - w->widgets[WIDX_LAND_OWNED_CHECKBOX + i].top = height; - height += 11; - w->widgets[WIDX_LAND_OWNED_CHECKBOX + i].bottom = height; - height += 2; - } + // Land tool mode (4 checkboxes) + height = w->height - 55; + for (i = 0; i < 4; i++) { + w->widgets[WIDX_LAND_OWNED_CHECKBOX + i].top = height; + height += 11; + w->widgets[WIDX_LAND_OWNED_CHECKBOX + i].bottom = height; + height += 2; + } - // Disable all scenario editor related widgets - for (i = WIDX_MAP_SIZE_SPINNER; i <= WIDX_MAP_GENERATOR; i++) { - w->widgets[i].type = WWT_EMPTY; - } + // Disable all scenario editor related widgets + for (i = WIDX_MAP_SIZE_SPINNER; i <= WIDX_MAP_GENERATOR; i++) { + w->widgets[i].type = WWT_EMPTY; + } - if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) { - // scenario editor: build park entrance selected, show rotate button - if ( - (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && - gCurrentToolWidget.window_classification == WC_MAP && - gCurrentToolWidget.widget_index == WIDX_BUILD_PARK_ENTRANCE - ) { - w->widgets[WIDX_ROTATE_90].type = WWT_FLATBTN; - } + if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) { + // scenario editor: build park entrance selected, show rotate button + if ( + (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && + gCurrentToolWidget.window_classification == WC_MAP && + gCurrentToolWidget.widget_index == WIDX_BUILD_PARK_ENTRANCE + ) { + w->widgets[WIDX_ROTATE_90].type = WWT_FLATBTN; + } - // Always show set land rights button - w->widgets[WIDX_SET_LAND_RIGHTS].type = WWT_FLATBTN; + // Always show set land rights button + w->widgets[WIDX_SET_LAND_RIGHTS].type = WWT_FLATBTN; - // If any tool is active - if ( - (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && - gCurrentToolWidget.window_classification == WC_MAP - ) { - // if not in set land rights mode: show the default scenario editor buttons - if (gCurrentToolWidget.widget_index != WIDX_SET_LAND_RIGHTS) { - window_map_show_default_scenario_editor_buttons(w); - } else { // if in set land rights mode: show land tool buttons + modes - w->widgets[WIDX_LAND_TOOL].type = WWT_IMGBTN; - w->widgets[WIDX_LAND_TOOL_SMALLER].type = WWT_TRNBTN; - w->widgets[WIDX_LAND_TOOL_LARGER].type = WWT_TRNBTN; + // If any tool is active + if ( + (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && + gCurrentToolWidget.window_classification == WC_MAP + ) { + // if not in set land rights mode: show the default scenario editor buttons + if (gCurrentToolWidget.widget_index != WIDX_SET_LAND_RIGHTS) { + window_map_show_default_scenario_editor_buttons(w); + } else { // if in set land rights mode: show land tool buttons + modes + w->widgets[WIDX_LAND_TOOL].type = WWT_IMGBTN; + w->widgets[WIDX_LAND_TOOL_SMALLER].type = WWT_TRNBTN; + w->widgets[WIDX_LAND_TOOL_LARGER].type = WWT_TRNBTN; - for (i = 0; i < 4; i++) - w->widgets[WIDX_LAND_OWNED_CHECKBOX + i].type = WWT_CHECKBOX; + for (i = 0; i < 4; i++) + w->widgets[WIDX_LAND_OWNED_CHECKBOX + i].type = WWT_CHECKBOX; - w->widgets[WIDX_LAND_TOOL].image = gLandToolSize <= 7 ? - SPR_LAND_TOOL_SIZE_0 + gLandToolSize : - 0xFFFFFFFF; - } - } else { - // if no tool is active: show the default scenario editor buttons - window_map_show_default_scenario_editor_buttons(w); - } - } + w->widgets[WIDX_LAND_TOOL].image = gLandToolSize <= 7 ? + SPR_LAND_TOOL_SIZE_0 + gLandToolSize : + 0xFFFFFFFF; + } + } else { + // if no tool is active: show the default scenario editor buttons + window_map_show_default_scenario_editor_buttons(w); + } + } } /** @@ -820,55 +820,55 @@ static void window_map_invalidate(rct_window *w) */ static void window_map_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_map_draw_tab_images(w, dpi); + window_draw_widgets(w, dpi); + window_map_draw_tab_images(w, dpi); - sint32 x = w->x + (window_map_widgets[WIDX_LAND_TOOL].left + window_map_widgets[WIDX_LAND_TOOL].right) / 2; - sint32 y = w->y + (window_map_widgets[WIDX_LAND_TOOL].top + window_map_widgets[WIDX_LAND_TOOL].bottom) / 2; + sint32 x = w->x + (window_map_widgets[WIDX_LAND_TOOL].left + window_map_widgets[WIDX_LAND_TOOL].right) / 2; + sint32 y = w->y + (window_map_widgets[WIDX_LAND_TOOL].top + window_map_widgets[WIDX_LAND_TOOL].bottom) / 2; - // Draw land tool size - if (widget_is_active_tool(w, WIDX_SET_LAND_RIGHTS) && gLandToolSize > 7) { - gfx_draw_string_centred(dpi, STR_LAND_TOOL_SIZE_VALUE, x, y - 2, COLOUR_BLACK, &gLandToolSize); - } - y = w->y + window_map_widgets[WIDX_LAND_TOOL].bottom + 5; + // Draw land tool size + if (widget_is_active_tool(w, WIDX_SET_LAND_RIGHTS) && gLandToolSize > 7) { + gfx_draw_string_centred(dpi, STR_LAND_TOOL_SIZE_VALUE, x, y - 2, COLOUR_BLACK, &gLandToolSize); + } + y = w->y + window_map_widgets[WIDX_LAND_TOOL].bottom + 5; - // People starting position (scenario editor only) - if (w->widgets[WIDX_PEOPLE_STARTING_POSITION].type != WWT_EMPTY) { - x = w->x + w->widgets[WIDX_PEOPLE_STARTING_POSITION].left + 12; - y = w->y + w->widgets[WIDX_PEOPLE_STARTING_POSITION].top + 18; - gfx_draw_sprite(dpi, 0xA0000000 | (COLOUR_LIGHT_BROWN << 24) | (COLOUR_BRIGHT_RED << 19) | SPR_6410, x, y, 0); - } + // People starting position (scenario editor only) + if (w->widgets[WIDX_PEOPLE_STARTING_POSITION].type != WWT_EMPTY) { + x = w->x + w->widgets[WIDX_PEOPLE_STARTING_POSITION].left + 12; + y = w->y + w->widgets[WIDX_PEOPLE_STARTING_POSITION].top + 18; + gfx_draw_sprite(dpi, 0xA0000000 | (COLOUR_LIGHT_BROWN << 24) | (COLOUR_BRIGHT_RED << 19) | SPR_6410, x, y, 0); + } - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode) { - // Render the map legend - if (w->selected_tab == PAGE_RIDES) { - x = w->x + 4; - y = w->y + w->widgets[WIDX_MAP].bottom + 2; + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode) { + // Render the map legend + if (w->selected_tab == PAGE_RIDES) { + x = w->x + 4; + y = w->y + w->widgets[WIDX_MAP].bottom + 2; - static rct_string_id mapLabels[] = { - STR_MAP_RIDE, - STR_MAP_FOOD_STALL, - STR_MAP_DRINK_STALL, - STR_MAP_SOUVENIR_STALL, - STR_MAP_INFO_KIOSK, - STR_MAP_FIRST_AID, - STR_MAP_CASH_MACHINE, - STR_MAP_TOILET, - }; + static rct_string_id mapLabels[] = { + STR_MAP_RIDE, + STR_MAP_FOOD_STALL, + STR_MAP_DRINK_STALL, + STR_MAP_SOUVENIR_STALL, + STR_MAP_INFO_KIOSK, + STR_MAP_FIRST_AID, + STR_MAP_CASH_MACHINE, + STR_MAP_TOILET, + }; - for (sint32 i = 0; i < 8; i++) { - gfx_fill_rect(dpi, x, y + 2, x + 6, y + 8, RideKeyColours[i]); - gfx_draw_string_left(dpi, mapLabels[i], w, COLOUR_BLACK, x + 10, y); - y += 10; - if (i == 3) { - x += 118; - y -= 40; - } - } - } - } else if (!widget_is_active_tool(w, WIDX_SET_LAND_RIGHTS)) { - gfx_draw_string_left(dpi, STR_MAP_SIZE, NULL, w->colours[1], w->x + 4, w->y + w->widgets[WIDX_MAP_SIZE_SPINNER].top + 1); - } + for (sint32 i = 0; i < 8; i++) { + gfx_fill_rect(dpi, x, y + 2, x + 6, y + 8, RideKeyColours[i]); + gfx_draw_string_left(dpi, mapLabels[i], w, COLOUR_BLACK, x + 10, y); + y += 10; + if (i == 3) { + x += 118; + y -= 40; + } + } + } + } else if (!widget_is_active_tool(w, WIDX_SET_LAND_RIGHTS)) { + gfx_draw_string_left(dpi, STR_MAP_SIZE, NULL, w->colours[1], w->x + 4, w->y + w->widgets[WIDX_MAP_SIZE_SPINNER].top + 1); + } } /** @@ -877,30 +877,30 @@ static void window_map_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_map_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - rct_g1_element *g1_element, pushed_g1_element; + rct_g1_element *g1_element, pushed_g1_element; - gfx_clear(dpi, PALETTE_INDEX_10); + gfx_clear(dpi, PALETTE_INDEX_10); - g1_element = &g1Elements[SPR_TEMP]; - pushed_g1_element = *g1_element; + g1_element = &g1Elements[SPR_TEMP]; + pushed_g1_element = *g1_element; - g1_element->offset = (uint8 *) _mapImageData; - g1_element->width = MAP_WINDOW_MAP_SIZE; - g1_element->height = MAP_WINDOW_MAP_SIZE; - g1_element->x_offset = -8; - g1_element->y_offset = -8; - g1_element->flags = 0; + g1_element->offset = (uint8 *) _mapImageData; + g1_element->width = MAP_WINDOW_MAP_SIZE; + g1_element->height = MAP_WINDOW_MAP_SIZE; + g1_element->x_offset = -8; + g1_element->y_offset = -8; + g1_element->flags = 0; - gfx_draw_sprite(dpi, SPR_TEMP, 0, 0, 0); + gfx_draw_sprite(dpi, SPR_TEMP, 0, 0, 0); - *g1_element = pushed_g1_element; + *g1_element = pushed_g1_element; - if (w->selected_tab == PAGE_PEEPS) - window_map_paint_peep_overlay(dpi); - else - window_map_paint_train_overlay(dpi); + if (w->selected_tab == PAGE_PEEPS) + window_map_paint_peep_overlay(dpi); + else + window_map_paint_train_overlay(dpi); - window_map_paint_hud_rectangle(dpi); + window_map_paint_hud_rectangle(dpi); } /** @@ -909,8 +909,8 @@ static void window_map_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 */ static void window_map_init_map() { - memset(_mapImageData, PALETTE_INDEX_10, sizeof(*_mapImageData)); - _currentLine = 0; + memset(_mapImageData, PALETTE_INDEX_10, sizeof(*_mapImageData)); + _currentLine = 0; } /** @@ -919,51 +919,51 @@ static void window_map_init_map() */ static void window_map_center_on_view_point() { - rct_window *w = window_get_main(); - rct_window *w_map; - sint16 ax, bx, cx, dx; - sint16 bp, di; + rct_window *w = window_get_main(); + rct_window *w_map; + sint16 ax, bx, cx, dx; + sint16 bp, di; - if (w == NULL || w->viewport == NULL) - return; + if (w == NULL || w->viewport == NULL) + return; - w_map = window_find_by_class(WC_MAP); - if (w_map == NULL) - return; + w_map = window_find_by_class(WC_MAP); + if (w_map == NULL) + return; - rct_xy16 offset = MiniMapOffsets[get_current_rotation()]; + rct_xy16 offset = MiniMapOffsets[get_current_rotation()]; - // calculate center view point of viewport and transform it to minimap coordinates + // calculate center view point of viewport and transform it to minimap coordinates - cx = ((w->viewport->view_width >> 1) + w->viewport->view_x) >> 5; - dx = ((w->viewport->view_height >> 1) + w->viewport->view_y) >> 4; - cx += offset.x; - dx += offset.y; + cx = ((w->viewport->view_width >> 1) + w->viewport->view_x) >> 5; + dx = ((w->viewport->view_height >> 1) + w->viewport->view_y) >> 4; + cx += offset.x; + dx += offset.y; - // calculate width and height of minimap + // calculate width and height of minimap - ax = w_map->widgets[WIDX_MAP].right - w_map->widgets[WIDX_MAP].left - 11; - bx = w_map->widgets[WIDX_MAP].bottom - w_map->widgets[WIDX_MAP].top - 11; - bp = ax; - di = bx; + ax = w_map->widgets[WIDX_MAP].right - w_map->widgets[WIDX_MAP].left - 11; + bx = w_map->widgets[WIDX_MAP].bottom - w_map->widgets[WIDX_MAP].top - 11; + bp = ax; + di = bx; - ax >>= 1; - bx >>= 1; - cx = max(cx - ax, 0); - dx = max(dx - bx, 0); + ax >>= 1; + bx >>= 1; + cx = max(cx - ax, 0); + dx = max(dx - bx, 0); - bp = w_map->scrolls[0].h_right - bp; - di = w_map->scrolls[0].v_bottom - di; + bp = w_map->scrolls[0].h_right - bp; + di = w_map->scrolls[0].v_bottom - di; - if (bp < 0 && (bp - cx) < 0) - cx = 0; + if (bp < 0 && (bp - cx) < 0) + cx = 0; - if (di < 0 && (di - dx) < 0) - dx = 0; + if (di < 0 && (di - dx) < 0) + dx = 0; - w_map->scrolls[0].h_left = cx; - w_map->scrolls[0].v_top = dx; - widget_scroll_update_thumbs(w_map, WIDX_MAP); + w_map->scrolls[0].h_left = cx; + w_map->scrolls[0].v_top = dx; + widget_scroll_update_thumbs(w_map, WIDX_MAP); } /** @@ -971,50 +971,50 @@ static void window_map_center_on_view_point() * rct2: 0x0068CD35 (part of 0x0068CA8F) */ static void window_map_show_default_scenario_editor_buttons(rct_window *w) { - w->widgets[WIDX_BUILD_PARK_ENTRANCE].type = WWT_FLATBTN; - w->widgets[WIDX_PEOPLE_STARTING_POSITION].type = WWT_FLATBTN; - w->widgets[WIDX_MAP_SIZE_SPINNER].type = WWT_SPINNER; - w->widgets[WIDX_MAP_SIZE_SPINNER_UP].type = WWT_DROPDOWN_BUTTON; - w->widgets[WIDX_MAP_SIZE_SPINNER_DOWN].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_BUILD_PARK_ENTRANCE].type = WWT_FLATBTN; + w->widgets[WIDX_PEOPLE_STARTING_POSITION].type = WWT_FLATBTN; + w->widgets[WIDX_MAP_SIZE_SPINNER].type = WWT_SPINNER; + w->widgets[WIDX_MAP_SIZE_SPINNER_UP].type = WWT_DROPDOWN_BUTTON; + w->widgets[WIDX_MAP_SIZE_SPINNER_DOWN].type = WWT_DROPDOWN_BUTTON; - // Only show this in the scenario editor, even when in sandbox mode. - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) - w->widgets[WIDX_MAP_GENERATOR].type = WWT_DROPDOWN_BUTTON; + // Only show this in the scenario editor, even when in sandbox mode. + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) + w->widgets[WIDX_MAP_GENERATOR].type = WWT_DROPDOWN_BUTTON; - set_format_arg(2, uint16, gMapSize - 2); + set_format_arg(2, uint16, gMapSize - 2); } static void window_map_inputsize_land(rct_window *w) { - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; - window_text_input_open(w, WIDX_LAND_TOOL, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); + TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; + TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; + window_text_input_open(w, WIDX_LAND_TOOL, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); } static void window_map_inputsize_map(rct_window *w) { - TextInputDescriptionArgs[0] = MINIMUM_MAP_SIZE_PRACTICAL; - TextInputDescriptionArgs[1] = MAXIMUM_MAP_SIZE_PRACTICAL; - window_text_input_open(w, WIDX_MAP_SIZE_SPINNER, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, STR_NONE, STR_NONE, 4); + TextInputDescriptionArgs[0] = MINIMUM_MAP_SIZE_PRACTICAL; + TextInputDescriptionArgs[1] = MAXIMUM_MAP_SIZE_PRACTICAL; + window_text_input_open(w, WIDX_MAP_SIZE_SPINNER, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, STR_NONE, STR_NONE, 4); } static void window_map_draw_tab_images(rct_window *w, rct_drawpixelinfo *dpi) { - uint32 image; + uint32 image; - // Guest tab image (animated) - image = SPR_TAB_GUESTS_0; - if (w->selected_tab == PAGE_PEEPS) - image += w->list_information_type / 4; + // Guest tab image (animated) + image = SPR_TAB_GUESTS_0; + if (w->selected_tab == PAGE_PEEPS) + image += w->list_information_type / 4; - gfx_draw_sprite(dpi, image, w->x + w->widgets[WIDX_PEOPLE_TAB].left, w->y + w->widgets[WIDX_PEOPLE_TAB].top, 0); + gfx_draw_sprite(dpi, image, w->x + w->widgets[WIDX_PEOPLE_TAB].left, w->y + w->widgets[WIDX_PEOPLE_TAB].top, 0); - // Ride/stall tab image (animated) - image = SPR_TAB_RIDE_0; - if (w->selected_tab == PAGE_RIDES) - image += w->list_information_type / 4; + // Ride/stall tab image (animated) + image = SPR_TAB_RIDE_0; + if (w->selected_tab == PAGE_RIDES) + image += w->list_information_type / 4; - gfx_draw_sprite(dpi, image, w->x + w->widgets[WIDX_RIDES_TAB].left, w->y + w->widgets[WIDX_RIDES_TAB].top, 0); + gfx_draw_sprite(dpi, image, w->x + w->widgets[WIDX_RIDES_TAB].left, w->y + w->widgets[WIDX_RIDES_TAB].top, 0); } /** @@ -1023,34 +1023,34 @@ static void window_map_draw_tab_images(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_map_transform_to_map_coords(sint16 *left, sint16 *top) { - sint16 x = *left, y = *top; - sint16 temp; + sint16 x = *left, y = *top; + sint16 temp; - switch (get_current_rotation()) { - case 3: - temp = x; - x = y; - y = temp; - x = 0x1FFF - x; - break; - case 2: - x = 0x1FFF - x; - y = 0x1FFF - y; - break; - case 1: - temp = x; - x = y; - y = temp; - y = 0x1FFF - y; - break; - case 0: - break; - } - x >>= 5; - y >>= 5; + switch (get_current_rotation()) { + case 3: + temp = x; + x = y; + y = temp; + x = 0x1FFF - x; + break; + case 2: + x = 0x1FFF - x; + y = 0x1FFF - y; + break; + case 1: + temp = x; + x = y; + y = temp; + y = 0x1FFF - y; + break; + case 0: + break; + } + x >>= 5; + y >>= 5; - *left = -x + y + 0xF8; - *top = x + y - 8; + *left = -x + y + 0xF8; + *top = x + y - 8; } /** @@ -1059,45 +1059,45 @@ static void window_map_transform_to_map_coords(sint16 *left, sint16 *top) */ static void window_map_paint_peep_overlay(rct_drawpixelinfo *dpi) { - rct_peep *peep; - uint16 spriteIndex; + rct_peep *peep; + uint16 spriteIndex; - sint16 left, right, bottom, top; - sint16 colour; + sint16 left, right, bottom, top; + sint16 colour; - FOR_ALL_PEEPS(spriteIndex, peep) { - left = peep->x; - top = peep->y; + FOR_ALL_PEEPS(spriteIndex, peep) { + left = peep->x; + top = peep->y; - if (left == SPRITE_LOCATION_NULL) - continue; + if (left == SPRITE_LOCATION_NULL) + continue; - window_map_transform_to_map_coords(&left, &top); + window_map_transform_to_map_coords(&left, &top); - right = left; - bottom = top; + right = left; + bottom = top; - colour = PALETTE_INDEX_20; + colour = PALETTE_INDEX_20; - if ((peep->flags & SPRITE_FLAGS_PEEP_FLASHING) != 0) { - if (peep->type == PEEP_TYPE_STAFF) { - if ((gWindowMapFlashingFlags & (1 << 3)) != 0) { - colour = PALETTE_INDEX_138; - left--; - if ((gWindowMapFlashingFlags & (1 << 15)) == 0) - colour = PALETTE_INDEX_10; - } - } else { - if ((gWindowMapFlashingFlags & (1 << 1)) != 0) { - colour = PALETTE_INDEX_172; - left--; - if ((gWindowMapFlashingFlags & (1 << 15)) == 0) - colour = PALETTE_INDEX_21; - } - } - } - gfx_fill_rect(dpi, left, top, right, bottom, colour); - } + if ((peep->flags & SPRITE_FLAGS_PEEP_FLASHING) != 0) { + if (peep->type == PEEP_TYPE_STAFF) { + if ((gWindowMapFlashingFlags & (1 << 3)) != 0) { + colour = PALETTE_INDEX_138; + left--; + if ((gWindowMapFlashingFlags & (1 << 15)) == 0) + colour = PALETTE_INDEX_10; + } + } else { + if ((gWindowMapFlashingFlags & (1 << 1)) != 0) { + colour = PALETTE_INDEX_172; + left--; + if ((gWindowMapFlashingFlags & (1 << 15)) == 0) + colour = PALETTE_INDEX_21; + } + } + } + gfx_fill_rect(dpi, left, top, right, bottom, colour); + } } /** @@ -1106,30 +1106,30 @@ static void window_map_paint_peep_overlay(rct_drawpixelinfo *dpi) */ static void window_map_paint_train_overlay(rct_drawpixelinfo *dpi) { - rct_vehicle *train, *vehicle; - uint16 train_index, vehicle_index; + rct_vehicle *train, *vehicle; + uint16 train_index, vehicle_index; - sint16 left, top, right, bottom; + sint16 left, top, right, bottom; - for (train_index = gSpriteListHead[SPRITE_LIST_TRAIN]; train_index != SPRITE_INDEX_NULL; train_index = train->next) { - train = GET_VEHICLE(train_index); - for (vehicle_index = train_index; vehicle_index != SPRITE_INDEX_NULL; vehicle_index = vehicle->next_vehicle_on_train) { - vehicle = GET_VEHICLE(vehicle_index); + for (train_index = gSpriteListHead[SPRITE_LIST_TRAIN]; train_index != SPRITE_INDEX_NULL; train_index = train->next) { + train = GET_VEHICLE(train_index); + for (vehicle_index = train_index; vehicle_index != SPRITE_INDEX_NULL; vehicle_index = vehicle->next_vehicle_on_train) { + vehicle = GET_VEHICLE(vehicle_index); - left = vehicle->x; - top = vehicle->y; + left = vehicle->x; + top = vehicle->y; - if (left == SPRITE_LOCATION_NULL) - continue; + if (left == SPRITE_LOCATION_NULL) + continue; - window_map_transform_to_map_coords(&left, &top); + window_map_transform_to_map_coords(&left, &top); - right = left; - bottom = top; + right = left; + bottom = top; - gfx_fill_rect(dpi, left, top, right, bottom, PALETTE_INDEX_171); - } - } + gfx_fill_rect(dpi, left, top, right, bottom, PALETTE_INDEX_171); + } + } } /** @@ -1140,35 +1140,35 @@ static void window_map_paint_train_overlay(rct_drawpixelinfo *dpi) */ static void window_map_paint_hud_rectangle(rct_drawpixelinfo *dpi) { - rct_window *main_window = window_get_main(); - if (main_window == NULL) - return; + rct_window *main_window = window_get_main(); + if (main_window == NULL) + return; - rct_viewport *viewport = main_window->viewport; - if (viewport == NULL) - return; + rct_viewport *viewport = main_window->viewport; + if (viewport == NULL) + return; - rct_xy16 offset = MiniMapOffsets[get_current_rotation()]; - sint16 left = (viewport->view_x >> 5) + offset.x; - sint16 right = ((viewport->view_x + viewport->view_width) >> 5) + offset.x; - sint16 top = (viewport->view_y >> 4) + offset.y; - sint16 bottom = ((viewport->view_y + viewport->view_height) >> 4) + offset.y; + rct_xy16 offset = MiniMapOffsets[get_current_rotation()]; + sint16 left = (viewport->view_x >> 5) + offset.x; + sint16 right = ((viewport->view_x + viewport->view_width) >> 5) + offset.x; + sint16 top = (viewport->view_y >> 4) + offset.y; + sint16 bottom = ((viewport->view_y + viewport->view_height) >> 4) + offset.y; - // top horizontal lines - gfx_fill_rect(dpi, left, top, left + 3, top, PALETTE_INDEX_56); - gfx_fill_rect(dpi, right - 3, top, right, top, PALETTE_INDEX_56); + // top horizontal lines + gfx_fill_rect(dpi, left, top, left + 3, top, PALETTE_INDEX_56); + gfx_fill_rect(dpi, right - 3, top, right, top, PALETTE_INDEX_56); - // left vertical lines - gfx_fill_rect(dpi, left, top, left, top + 3, PALETTE_INDEX_56); - gfx_fill_rect(dpi, left, bottom - 3, left, bottom, PALETTE_INDEX_56); + // left vertical lines + gfx_fill_rect(dpi, left, top, left, top + 3, PALETTE_INDEX_56); + gfx_fill_rect(dpi, left, bottom - 3, left, bottom, PALETTE_INDEX_56); - // bottom horizontal lines - gfx_fill_rect(dpi, left, bottom, left + 3, bottom, PALETTE_INDEX_56); - gfx_fill_rect(dpi, right - 3, bottom, right, bottom, PALETTE_INDEX_56); + // bottom horizontal lines + gfx_fill_rect(dpi, left, bottom, left + 3, bottom, PALETTE_INDEX_56); + gfx_fill_rect(dpi, right - 3, bottom, right, bottom, PALETTE_INDEX_56); - // right vertical lines - gfx_fill_rect(dpi, right, top, right, top + 3, PALETTE_INDEX_56); - gfx_fill_rect(dpi, right, bottom - 3, right, bottom, PALETTE_INDEX_56); + // right vertical lines + gfx_fill_rect(dpi, right, top, right, top + 3, PALETTE_INDEX_56); + gfx_fill_rect(dpi, right, bottom - 3, right, bottom, PALETTE_INDEX_56); } /** @@ -1177,31 +1177,31 @@ static void window_map_paint_hud_rectangle(rct_drawpixelinfo *dpi) */ static void window_map_set_land_rights_tool_update(sint32 x, sint32 y) { - sint16 mapX, mapY; - rct_viewport *viewport; + sint16 mapX, mapY; + rct_viewport *viewport; - map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - screen_get_map_xy(x, y, &mapX, &mapY, &viewport); - if (mapX == MAP_LOCATION_NULL) - return; + map_invalidate_selection_rect(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + screen_get_map_xy(x, y, &mapX, &mapY, &viewport); + if (mapX == MAP_LOCATION_NULL) + return; - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - gMapSelectType = MAP_SELECT_TYPE_FULL; + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectType = MAP_SELECT_TYPE_FULL; - sint32 landToolSize = gLandToolSize; - if (landToolSize == 0) - landToolSize = 1; + sint32 landToolSize = gLandToolSize; + if (landToolSize == 0) + landToolSize = 1; - sint32 size = (landToolSize * 32) - 32; - sint32 radius = (landToolSize * 16) - 16; - mapX = (mapX - radius) & 0xFFE0; - mapY = (mapY - radius) & 0xFFE0; - gMapSelectPositionA.x = mapX; - gMapSelectPositionA.y = mapY; - gMapSelectPositionB.x = mapX + size; - gMapSelectPositionB.y = mapY + size; - map_invalidate_selection_rect(); + sint32 size = (landToolSize * 32) - 32; + sint32 radius = (landToolSize * 16) - 16; + mapX = (mapX - radius) & 0xFFE0; + mapY = (mapY - radius) & 0xFFE0; + gMapSelectPositionA.x = mapX; + gMapSelectPositionA.y = mapY; + gMapSelectPositionB.x = mapX + size; + gMapSelectPositionB.y = mapY + size; + map_invalidate_selection_rect(); } /** @@ -1210,24 +1210,24 @@ static void window_map_set_land_rights_tool_update(sint32 x, sint32 y) */ static void place_park_entrance_get_map_position(sint32 x, sint32 y, sint16 *mapX, sint16 *mapY, sint16 *mapZ, sint32 *direction) { - rct_map_element *mapElement; + rct_map_element *mapElement; - sub_68A15E(x, y, mapX, mapY, direction, &mapElement); - if (*mapX == MAP_LOCATION_NULL) - return; + sub_68A15E(x, y, mapX, mapY, direction, &mapElement); + if (*mapX == MAP_LOCATION_NULL) + return; - mapElement = map_get_surface_element_at(*mapX >> 5, *mapY >> 5); - *mapZ = mapElement->properties.surface.terrain & 0x1F; - if (*mapZ == 0) { - *mapZ = mapElement->base_height / 2; - if ((mapElement->properties.surface.slope & 0x0F) != 0) { - (*mapZ)++; - if (mapElement->properties.surface.slope & 0x10) { - (*mapZ)++; - } - } - } - *direction = (gWindowSceneryRotation - get_current_rotation()) & 3; + mapElement = map_get_surface_element_at(*mapX >> 5, *mapY >> 5); + *mapZ = mapElement->properties.surface.terrain & 0x1F; + if (*mapZ == 0) { + *mapZ = mapElement->base_height / 2; + if ((mapElement->properties.surface.slope & 0x0F) != 0) { + (*mapZ)++; + if (mapElement->properties.surface.slope & 0x10) { + (*mapZ)++; + } + } + } + *direction = (gWindowSceneryRotation - get_current_rotation()) & 3; } /** @@ -1236,42 +1236,42 @@ static void place_park_entrance_get_map_position(sint32 x, sint32 y, sint16 *map */ static void window_map_place_park_entrance_tool_update(sint32 x, sint32 y) { - sint16 mapX, mapY, mapZ = 0; - sint32 direction = 0, sideDirection; + sint16 mapX, mapY, mapZ = 0; + sint32 direction = 0, sideDirection; - map_invalidate_selection_rect(); - map_invalidate_map_selection_tiles(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - place_park_entrance_get_map_position(x, y, &mapX, &mapY, &mapZ, &direction); - if (mapX == (sint16)-1) { - park_entrance_remove_ghost(); - return; - } + map_invalidate_selection_rect(); + map_invalidate_map_selection_tiles(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + place_park_entrance_get_map_position(x, y, &mapX, &mapY, &mapZ, &direction); + if (mapX == (sint16)-1) { + park_entrance_remove_ghost(); + return; + } - sideDirection = (direction + 1) & 3; - gMapSelectionTiles[0].x = mapX; - gMapSelectionTiles[0].y = mapY; - gMapSelectionTiles[1].x = mapX + TileDirectionDelta[sideDirection].x; - gMapSelectionTiles[1].y = mapY + TileDirectionDelta[sideDirection].y; - gMapSelectionTiles[2].x = mapX - TileDirectionDelta[sideDirection].x; - gMapSelectionTiles[2].y = mapY - TileDirectionDelta[sideDirection].y; - gMapSelectionTiles[3].x = -1; - gMapSelectionTiles[3].y = -1; + sideDirection = (direction + 1) & 3; + gMapSelectionTiles[0].x = mapX; + gMapSelectionTiles[0].y = mapY; + gMapSelectionTiles[1].x = mapX + TileDirectionDelta[sideDirection].x; + gMapSelectionTiles[1].y = mapY + TileDirectionDelta[sideDirection].y; + gMapSelectionTiles[2].x = mapX - TileDirectionDelta[sideDirection].x; + gMapSelectionTiles[2].y = mapY - TileDirectionDelta[sideDirection].y; + gMapSelectionTiles[3].x = -1; + gMapSelectionTiles[3].y = -1; - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - map_invalidate_map_selection_tiles(); - if ( - gParkEntranceGhostExists && - mapX == gParkEntranceGhostPosition.x && - mapY == gParkEntranceGhostPosition.y && - direction == gParkEntranceGhostDirection - ) { - return; - } + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + map_invalidate_map_selection_tiles(); + if ( + gParkEntranceGhostExists && + mapX == gParkEntranceGhostPosition.x && + mapY == gParkEntranceGhostPosition.y && + direction == gParkEntranceGhostDirection + ) { + return; + } - park_entrance_remove_ghost(); - park_entrance_place_ghost(mapX, mapY, mapZ, direction); + park_entrance_remove_ghost(); + park_entrance_place_ghost(mapX, mapY, mapZ, direction); } /** @@ -1280,36 +1280,36 @@ static void window_map_place_park_entrance_tool_update(sint32 x, sint32 y) */ static void window_map_set_peep_spawn_tool_update(sint32 x, sint32 y) { - sint32 mapX, mapY, mapZ, direction; - rct_map_element *mapElement; + sint32 mapX, mapY, mapZ, direction; + rct_map_element *mapElement; - map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - footpath_bridge_get_info_from_pos(x, y, &mapX, &mapY, &direction, &mapElement); - if ((mapX & 0xFFFF) == 0x8000) - return; + map_invalidate_selection_rect(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + footpath_bridge_get_info_from_pos(x, y, &mapX, &mapY, &direction, &mapElement); + if ((mapX & 0xFFFF) == 0x8000) + return; - mapZ = mapElement->base_height * 8; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SURFACE) { - if ((mapElement->properties.surface.slope & 0x0F) != 0) - mapZ += 16; - if (mapElement->properties.surface.slope & 0x10) - mapZ += 16; - } + mapZ = mapElement->base_height * 8; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SURFACE) { + if ((mapElement->properties.surface.slope & 0x0F) != 0) + mapZ += 16; + if (mapElement->properties.surface.slope & 0x10) + mapZ += 16; + } - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; - gMapSelectType = MAP_SELECT_TYPE_FULL; - gMapSelectPositionA.x = mapX; - gMapSelectPositionA.y = mapY; - gMapSelectPositionB.x = mapX; - gMapSelectPositionB.y = mapY; - gMapSelectArrowDirection = direction ^ 2; - gMapSelectArrowPosition.x = mapX; - gMapSelectArrowPosition.y = mapY; - gMapSelectArrowPosition.z = mapZ; - map_invalidate_selection_rect(); + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; + gMapSelectType = MAP_SELECT_TYPE_FULL; + gMapSelectPositionA.x = mapX; + gMapSelectPositionA.y = mapY; + gMapSelectPositionB.x = mapX; + gMapSelectPositionB.y = mapY; + gMapSelectArrowDirection = direction ^ 2; + gMapSelectArrowPosition.x = mapX; + gMapSelectArrowPosition.y = mapY; + gMapSelectArrowPosition.z = mapZ; + map_invalidate_selection_rect(); } /** @@ -1318,31 +1318,31 @@ static void window_map_set_peep_spawn_tool_update(sint32 x, sint32 y) */ static void window_map_place_park_entrance_tool_down(sint32 x, sint32 y) { - park_entrance_remove_ghost(); + park_entrance_remove_ghost(); - sint16 mapX, mapY, mapZ; - sint32 direction; - place_park_entrance_get_map_position(x, y, &mapX, &mapY, &mapZ, &direction); - if (mapX != MAP_LOCATION_NULL) { - gGameCommandErrorTitle = STR_CANT_BUILD_PARK_ENTRANCE_HERE; - money32 price = game_do_command( - mapX, - GAME_COMMAND_FLAG_APPLY | (direction << 8), - mapY, - mapZ, - GAME_COMMAND_PLACE_PARK_ENTRANCE, - 0, - 0 - ); - if (price != MONEY32_UNDEFINED) { - audio_play_sound_at_location( - SOUND_PLACE_ITEM, - gCommandPosition.x, - gCommandPosition.y, - gCommandPosition.z - ); - } - } + sint16 mapX, mapY, mapZ; + sint32 direction; + place_park_entrance_get_map_position(x, y, &mapX, &mapY, &mapZ, &direction); + if (mapX != MAP_LOCATION_NULL) { + gGameCommandErrorTitle = STR_CANT_BUILD_PARK_ENTRANCE_HERE; + money32 price = game_do_command( + mapX, + GAME_COMMAND_FLAG_APPLY | (direction << 8), + mapY, + mapZ, + GAME_COMMAND_PLACE_PARK_ENTRANCE, + 0, + 0 + ); + if (price != MONEY32_UNDEFINED) { + audio_play_sound_at_location( + SOUND_PLACE_ITEM, + gCommandPosition.x, + gCommandPosition.y, + gCommandPosition.z + ); + } + } } /** @@ -1351,41 +1351,41 @@ static void window_map_place_park_entrance_tool_down(sint32 x, sint32 y) */ static void window_map_set_peep_spawn_tool_down(sint32 x, sint32 y) { - rct_map_element *mapElement, *surfaceMapElement; - sint32 mapX, mapY, mapZ, direction; + rct_map_element *mapElement, *surfaceMapElement; + sint32 mapX, mapY, mapZ, direction; - footpath_get_coordinates_from_pos(x, y, &mapX, &mapY, &direction, &mapElement); - if (mapX == 0x8000) - return; + footpath_get_coordinates_from_pos(x, y, &mapX, &mapY, &direction, &mapElement); + if (mapX == 0x8000) + return; - surfaceMapElement = map_get_surface_element_at(mapX >> 5, mapY >> 5); - if (surfaceMapElement == NULL) { - return; - } - if (surfaceMapElement->properties.surface.ownership & 0xF0) { - return; - } + surfaceMapElement = map_get_surface_element_at(mapX >> 5, mapY >> 5); + if (surfaceMapElement == NULL) { + return; + } + if (surfaceMapElement->properties.surface.ownership & 0xF0) { + return; + } - mapX = mapX + 16 + (word_981D6C[direction].x * 15); - mapY = mapY + 16 + (word_981D6C[direction].y * 15); - mapZ = mapElement->base_height / 2; + mapX = mapX + 16 + (word_981D6C[direction].x * 15); + mapY = mapY + 16 + (word_981D6C[direction].y * 15); + mapZ = mapElement->base_height / 2; - sint32 peepSpawnIndex = -1; - for (sint32 i = 0; i < MAX_PEEP_SPAWNS; i++) { - if (gPeepSpawns[i].x == PEEP_SPAWN_UNDEFINED) { - peepSpawnIndex = i; - break; - } - } - if (peepSpawnIndex == -1) { - peepSpawnIndex = _nextPeepSpawnIndex; - _nextPeepSpawnIndex = (peepSpawnIndex + 1) % (MAX_PEEP_SPAWNS + 1); - } - gPeepSpawns[peepSpawnIndex].x = mapX; - gPeepSpawns[peepSpawnIndex].y = mapY; - gPeepSpawns[peepSpawnIndex].z = mapZ; - gPeepSpawns[peepSpawnIndex].direction = direction; - gfx_invalidate_screen(); + sint32 peepSpawnIndex = -1; + for (sint32 i = 0; i < MAX_PEEP_SPAWNS; i++) { + if (gPeepSpawns[i].x == PEEP_SPAWN_UNDEFINED) { + peepSpawnIndex = i; + break; + } + } + if (peepSpawnIndex == -1) { + peepSpawnIndex = _nextPeepSpawnIndex; + _nextPeepSpawnIndex = (peepSpawnIndex + 1) % (MAX_PEEP_SPAWNS + 1); + } + gPeepSpawns[peepSpawnIndex].x = mapX; + gPeepSpawns[peepSpawnIndex].y = mapY; + gPeepSpawns[peepSpawnIndex].z = mapZ; + gPeepSpawns[peepSpawnIndex].direction = direction; + gfx_invalidate_screen(); } /** @@ -1394,19 +1394,19 @@ static void window_map_set_peep_spawn_tool_down(sint32 x, sint32 y) */ static void map_window_increase_map_size() { - if (gMapSize >= MAXIMUM_MAP_SIZE_TECHNICAL) { - window_error_open(STR_CANT_INCREASE_MAP_SIZE_ANY_FURTHER, STR_NONE); - return; - } + if (gMapSize >= MAXIMUM_MAP_SIZE_TECHNICAL) { + window_error_open(STR_CANT_INCREASE_MAP_SIZE_ANY_FURTHER, STR_NONE); + return; + } - gMapSize++; - gMapSizeUnits = (gMapSize - 1) * 32; - gMapSizeMinus2 = (gMapSize * 32) + MAXIMUM_MAP_SIZE_PRACTICAL; - gMapSizeMaxXY = ((gMapSize - 1) * 32) - 1; - map_extend_boundary_surface(); - window_map_init_map(); - window_map_center_on_view_point(); - gfx_invalidate_screen(); + gMapSize++; + gMapSizeUnits = (gMapSize - 1) * 32; + gMapSizeMinus2 = (gMapSize * 32) + MAXIMUM_MAP_SIZE_PRACTICAL; + gMapSizeMaxXY = ((gMapSize - 1) * 32) - 1; + map_extend_boundary_surface(); + window_map_init_map(); + window_map_center_on_view_point(); + gfx_invalidate_screen(); } /** @@ -1415,327 +1415,327 @@ static void map_window_increase_map_size() */ static void map_window_decrease_map_size() { - if (gMapSize < 16) { - window_error_open(STR_CANT_DECREASE_MAP_SIZE_ANY_FURTHER, STR_NONE); - return; - } + if (gMapSize < 16) { + window_error_open(STR_CANT_DECREASE_MAP_SIZE_ANY_FURTHER, STR_NONE); + return; + } - gMapSize--; - gMapSizeUnits = (gMapSize - 1) * 32; - gMapSizeMinus2 = (gMapSize * 32) + MAXIMUM_MAP_SIZE_PRACTICAL; - gMapSizeMaxXY = ((gMapSize - 1) * 32) - 1; - map_remove_out_of_range_elements(); - window_map_init_map(); - window_map_center_on_view_point(); - gfx_invalidate_screen(); + gMapSize--; + gMapSizeUnits = (gMapSize - 1) * 32; + gMapSizeMinus2 = (gMapSize * 32) + MAXIMUM_MAP_SIZE_PRACTICAL; + gMapSizeMaxXY = ((gMapSize - 1) * 32) - 1; + map_remove_out_of_range_elements(); + window_map_init_map(); + window_map_center_on_view_point(); + gfx_invalidate_screen(); } static const uint16 WaterColour = MAP_COLOUR(PALETTE_INDEX_195); static const uint16 TerrainColour[] = { - MAP_COLOUR(PALETTE_INDEX_73), // TERRAIN_GRASS - MAP_COLOUR(PALETTE_INDEX_40), // TERRAIN_SAND - MAP_COLOUR(PALETTE_INDEX_108), // TERRAIN_DIRT - MAP_COLOUR(PALETTE_INDEX_12), // TERRAIN_ROCK - MAP_COLOUR(PALETTE_INDEX_62), // TERRAIN_MARTIAN - MAP_COLOUR_2(PALETTE_INDEX_10, PALETTE_INDEX_16), // TERRAIN_CHECKERBOARD - MAP_COLOUR_2(PALETTE_INDEX_73, PALETTE_INDEX_108), // TERRAIN_GRASS_CLUMPS - MAP_COLOUR(PALETTE_INDEX_141), // TERRAIN_ICE - MAP_COLOUR_2(PALETTE_INDEX_172, PALETTE_INDEX_10), // TERRAIN_GRID_RED - MAP_COLOUR_2(PALETTE_INDEX_54, PALETTE_INDEX_10), // TERRAIN_GRID_YELLOW - MAP_COLOUR_2(PALETTE_INDEX_162, PALETTE_INDEX_10), // TERRAIN_GRID_BLUE - MAP_COLOUR_2(PALETTE_INDEX_102, PALETTE_INDEX_10), // TERRAIN_GRID_GREEN - MAP_COLOUR(PALETTE_INDEX_111), // TERRAIN_SAND_DARK - MAP_COLOUR(PALETTE_INDEX_222), // TERRAIN_SAND_LIGHT + MAP_COLOUR(PALETTE_INDEX_73), // TERRAIN_GRASS + MAP_COLOUR(PALETTE_INDEX_40), // TERRAIN_SAND + MAP_COLOUR(PALETTE_INDEX_108), // TERRAIN_DIRT + MAP_COLOUR(PALETTE_INDEX_12), // TERRAIN_ROCK + MAP_COLOUR(PALETTE_INDEX_62), // TERRAIN_MARTIAN + MAP_COLOUR_2(PALETTE_INDEX_10, PALETTE_INDEX_16), // TERRAIN_CHECKERBOARD + MAP_COLOUR_2(PALETTE_INDEX_73, PALETTE_INDEX_108), // TERRAIN_GRASS_CLUMPS + MAP_COLOUR(PALETTE_INDEX_141), // TERRAIN_ICE + MAP_COLOUR_2(PALETTE_INDEX_172, PALETTE_INDEX_10), // TERRAIN_GRID_RED + MAP_COLOUR_2(PALETTE_INDEX_54, PALETTE_INDEX_10), // TERRAIN_GRID_YELLOW + MAP_COLOUR_2(PALETTE_INDEX_162, PALETTE_INDEX_10), // TERRAIN_GRID_BLUE + MAP_COLOUR_2(PALETTE_INDEX_102, PALETTE_INDEX_10), // TERRAIN_GRID_GREEN + MAP_COLOUR(PALETTE_INDEX_111), // TERRAIN_SAND_DARK + MAP_COLOUR(PALETTE_INDEX_222), // TERRAIN_SAND_LIGHT }; static const uint16 ElementTypeMaskColour[] = { - 0xFFFF, // MAP_ELEMENT_TYPE_SURFACE - 0x0000, // MAP_ELEMENT_TYPE_PATH - 0x00FF, // MAP_ELEMENT_TYPE_TRACK - 0xFF00, // MAP_ELEMENT_TYPE_SCENERY - 0x0000, // MAP_ELEMENT_TYPE_ENTRANCE - 0xFFFF, // MAP_ELEMENT_TYPE_WALL - 0x0000, // MAP_ELEMENT_TYPE_SCENERY_MULTIPLE - 0xFFFF, // MAP_ELEMENT_TYPE_BANNER - 0x0000, // MAP_ELEMENT_TYPE_CORRUPT + 0xFFFF, // MAP_ELEMENT_TYPE_SURFACE + 0x0000, // MAP_ELEMENT_TYPE_PATH + 0x00FF, // MAP_ELEMENT_TYPE_TRACK + 0xFF00, // MAP_ELEMENT_TYPE_SCENERY + 0x0000, // MAP_ELEMENT_TYPE_ENTRANCE + 0xFFFF, // MAP_ELEMENT_TYPE_WALL + 0x0000, // MAP_ELEMENT_TYPE_SCENERY_MULTIPLE + 0xFFFF, // MAP_ELEMENT_TYPE_BANNER + 0x0000, // MAP_ELEMENT_TYPE_CORRUPT }; static const uint16 ElementTypeAddColour[] = { - MAP_COLOUR(PALETTE_INDEX_0), // MAP_ELEMENT_TYPE_SURFACE - MAP_COLOUR(PALETTE_INDEX_17), // MAP_ELEMENT_TYPE_PATH - MAP_COLOUR_2(PALETTE_INDEX_135, PALETTE_INDEX_0), // MAP_ELEMENT_TYPE_TRACK - MAP_COLOUR_2(PALETTE_INDEX_0, PALETTE_INDEX_99), // MAP_ELEMENT_TYPE_SCENERY - MAP_COLOUR(PALETTE_INDEX_186), // MAP_ELEMENT_TYPE_ENTRANCE - MAP_COLOUR(PALETTE_INDEX_0), // MAP_ELEMENT_TYPE_WALL - MAP_COLOUR(PALETTE_INDEX_99), // MAP_ELEMENT_TYPE_SCENERY_MULTIPLE - MAP_COLOUR(PALETTE_INDEX_0), // MAP_ELEMENT_TYPE_BANNER - MAP_COLOUR(PALETTE_INDEX_68), // MAP_ELEMENT_TYPE_CORRUPT + MAP_COLOUR(PALETTE_INDEX_0), // MAP_ELEMENT_TYPE_SURFACE + MAP_COLOUR(PALETTE_INDEX_17), // MAP_ELEMENT_TYPE_PATH + MAP_COLOUR_2(PALETTE_INDEX_135, PALETTE_INDEX_0), // MAP_ELEMENT_TYPE_TRACK + MAP_COLOUR_2(PALETTE_INDEX_0, PALETTE_INDEX_99), // MAP_ELEMENT_TYPE_SCENERY + MAP_COLOUR(PALETTE_INDEX_186), // MAP_ELEMENT_TYPE_ENTRANCE + MAP_COLOUR(PALETTE_INDEX_0), // MAP_ELEMENT_TYPE_WALL + MAP_COLOUR(PALETTE_INDEX_99), // MAP_ELEMENT_TYPE_SCENERY_MULTIPLE + MAP_COLOUR(PALETTE_INDEX_0), // MAP_ELEMENT_TYPE_BANNER + MAP_COLOUR(PALETTE_INDEX_68), // MAP_ELEMENT_TYPE_CORRUPT }; enum { - COLOUR_KEY_RIDE, - COLOUR_KEY_FOOD, - COLOUR_KEY_DRINK, - COLOUR_KEY_SOUVENIR, - COLOUR_KEY_KIOSK, - COLOUR_KEY_FIRST_AID, - COLOUR_KEY_CASH_MACHINE, - COLOUR_KEY_TOILETS + COLOUR_KEY_RIDE, + COLOUR_KEY_FOOD, + COLOUR_KEY_DRINK, + COLOUR_KEY_SOUVENIR, + COLOUR_KEY_KIOSK, + COLOUR_KEY_FIRST_AID, + COLOUR_KEY_CASH_MACHINE, + COLOUR_KEY_TOILETS }; static const uint8 RideColourKey[] = { - COLOUR_KEY_RIDE, // RIDE_TYPE_SPIRAL_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_STAND_UP_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_INVERTED_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_JUNIOR_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_MINIATURE_RAILWAY - COLOUR_KEY_RIDE, // RIDE_TYPE_MONORAIL - COLOUR_KEY_RIDE, // RIDE_TYPE_MINI_SUSPENDED_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_BOAT_RIDE - COLOUR_KEY_RIDE, // RIDE_TYPE_WOODEN_WILD_MOUSE - COLOUR_KEY_RIDE, // RIDE_TYPE_STEEPLECHASE - COLOUR_KEY_RIDE, // RIDE_TYPE_CAR_RIDE - COLOUR_KEY_RIDE, // RIDE_TYPE_LAUNCHED_FREEFALL - COLOUR_KEY_RIDE, // RIDE_TYPE_BOBSLEIGH_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_OBSERVATION_TOWER - COLOUR_KEY_RIDE, // RIDE_TYPE_LOOPING_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_DINGHY_SLIDE - COLOUR_KEY_RIDE, // RIDE_TYPE_MINE_TRAIN_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_CHAIRLIFT - COLOUR_KEY_RIDE, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_MAZE = 20 - COLOUR_KEY_RIDE, // RIDE_TYPE_SPIRAL_SLIDE - COLOUR_KEY_RIDE, // RIDE_TYPE_GO_KARTS - COLOUR_KEY_RIDE, // RIDE_TYPE_LOG_FLUME - COLOUR_KEY_RIDE, // RIDE_TYPE_RIVER_RAPIDS - COLOUR_KEY_RIDE, // RIDE_TYPE_DODGEMS - COLOUR_KEY_RIDE, // RIDE_TYPE_PIRATE_SHIP - COLOUR_KEY_RIDE, // RIDE_TYPE_SWINGING_INVERTER_SHIP - COLOUR_KEY_FOOD, // RIDE_TYPE_FOOD_STALL - COLOUR_KEY_FOOD, // RIDE_TYPE_1D - COLOUR_KEY_DRINK, // RIDE_TYPE_DRINK_STALL - COLOUR_KEY_DRINK, // RIDE_TYPE_1F - COLOUR_KEY_SOUVENIR, // RIDE_TYPE_SHOP - COLOUR_KEY_RIDE, // RIDE_TYPE_MERRY_GO_ROUND - COLOUR_KEY_SOUVENIR, // RIDE_TYPE_22 - COLOUR_KEY_KIOSK, // RIDE_TYPE_INFORMATION_KIOSK - COLOUR_KEY_TOILETS, // RIDE_TYPE_TOILETS - COLOUR_KEY_RIDE, // RIDE_TYPE_FERRIS_WHEEL - COLOUR_KEY_RIDE, // RIDE_TYPE_MOTION_SIMULATOR - COLOUR_KEY_RIDE, // RIDE_TYPE_3D_CINEMA - COLOUR_KEY_RIDE, // RIDE_TYPE_TOP_SPIN - COLOUR_KEY_RIDE, // RIDE_TYPE_SPACE_RINGS - COLOUR_KEY_RIDE, // RIDE_TYPE_REVERSE_FREEFALL_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_LIFT - COLOUR_KEY_RIDE, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - COLOUR_KEY_CASH_MACHINE, // RIDE_TYPE_CASH_MACHINE - COLOUR_KEY_RIDE, // RIDE_TYPE_TWIST - COLOUR_KEY_RIDE, // RIDE_TYPE_HAUNTED_HOUSE - COLOUR_KEY_FIRST_AID, // RIDE_TYPE_FIRST_AID - COLOUR_KEY_RIDE, // RIDE_TYPE_CIRCUS_SHOW - COLOUR_KEY_RIDE, // RIDE_TYPE_GHOST_TRAIN - COLOUR_KEY_RIDE, // RIDE_TYPE_TWISTER_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_WOODEN_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_WILD_MOUSE - COLOUR_KEY_RIDE, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT - COLOUR_KEY_RIDE, // RIDE_TYPE_FLYING_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT - COLOUR_KEY_RIDE, // RIDE_TYPE_VIRGINIA_REEL - COLOUR_KEY_RIDE, // RIDE_TYPE_SPLASH_BOATS - COLOUR_KEY_RIDE, // RIDE_TYPE_MINI_HELICOPTERS - COLOUR_KEY_RIDE, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_SUSPENDED_MONORAIL - COLOUR_KEY_RIDE, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT - COLOUR_KEY_RIDE, // RIDE_TYPE_REVERSER_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_MINI_GOLF - COLOUR_KEY_RIDE, // RIDE_TYPE_GIGA_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_ROTO_DROP - COLOUR_KEY_RIDE, // RIDE_TYPE_FLYING_SAUCERS - COLOUR_KEY_RIDE, // RIDE_TYPE_CROOKED_HOUSE - COLOUR_KEY_RIDE, // RIDE_TYPE_MONORAIL_CYCLES - COLOUR_KEY_RIDE, // RIDE_TYPE_COMPACT_INVERTED_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_WATER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_MAGIC_CARPET - COLOUR_KEY_RIDE, // RIDE_TYPE_SUBMARINE_RIDE - COLOUR_KEY_RIDE, // RIDE_TYPE_RIVER_RAFTS - COLOUR_KEY_RIDE, // RIDE_TYPE_50 - COLOUR_KEY_RIDE, // RIDE_TYPE_ENTERPRISE - COLOUR_KEY_RIDE, // RIDE_TYPE_52 - COLOUR_KEY_RIDE, // RIDE_TYPE_53 - COLOUR_KEY_RIDE, // RIDE_TYPE_54 - COLOUR_KEY_RIDE, // RIDE_TYPE_55 - COLOUR_KEY_RIDE, // RIDE_TYPE_INVERTED_IMPULSE_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_MINI_ROLLER_COASTER - COLOUR_KEY_RIDE, // RIDE_TYPE_MINE_RIDE - COLOUR_KEY_RIDE, // RIDE_TYPE_59 - COLOUR_KEY_RIDE, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER - COLOUR_KEY_RIDE, // - COLOUR_KEY_RIDE, // - COLOUR_KEY_RIDE, // + COLOUR_KEY_RIDE, // RIDE_TYPE_SPIRAL_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_STAND_UP_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_INVERTED_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_JUNIOR_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_MINIATURE_RAILWAY + COLOUR_KEY_RIDE, // RIDE_TYPE_MONORAIL + COLOUR_KEY_RIDE, // RIDE_TYPE_MINI_SUSPENDED_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_BOAT_RIDE + COLOUR_KEY_RIDE, // RIDE_TYPE_WOODEN_WILD_MOUSE + COLOUR_KEY_RIDE, // RIDE_TYPE_STEEPLECHASE + COLOUR_KEY_RIDE, // RIDE_TYPE_CAR_RIDE + COLOUR_KEY_RIDE, // RIDE_TYPE_LAUNCHED_FREEFALL + COLOUR_KEY_RIDE, // RIDE_TYPE_BOBSLEIGH_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_OBSERVATION_TOWER + COLOUR_KEY_RIDE, // RIDE_TYPE_LOOPING_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_DINGHY_SLIDE + COLOUR_KEY_RIDE, // RIDE_TYPE_MINE_TRAIN_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_CHAIRLIFT + COLOUR_KEY_RIDE, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_MAZE = 20 + COLOUR_KEY_RIDE, // RIDE_TYPE_SPIRAL_SLIDE + COLOUR_KEY_RIDE, // RIDE_TYPE_GO_KARTS + COLOUR_KEY_RIDE, // RIDE_TYPE_LOG_FLUME + COLOUR_KEY_RIDE, // RIDE_TYPE_RIVER_RAPIDS + COLOUR_KEY_RIDE, // RIDE_TYPE_DODGEMS + COLOUR_KEY_RIDE, // RIDE_TYPE_PIRATE_SHIP + COLOUR_KEY_RIDE, // RIDE_TYPE_SWINGING_INVERTER_SHIP + COLOUR_KEY_FOOD, // RIDE_TYPE_FOOD_STALL + COLOUR_KEY_FOOD, // RIDE_TYPE_1D + COLOUR_KEY_DRINK, // RIDE_TYPE_DRINK_STALL + COLOUR_KEY_DRINK, // RIDE_TYPE_1F + COLOUR_KEY_SOUVENIR, // RIDE_TYPE_SHOP + COLOUR_KEY_RIDE, // RIDE_TYPE_MERRY_GO_ROUND + COLOUR_KEY_SOUVENIR, // RIDE_TYPE_22 + COLOUR_KEY_KIOSK, // RIDE_TYPE_INFORMATION_KIOSK + COLOUR_KEY_TOILETS, // RIDE_TYPE_TOILETS + COLOUR_KEY_RIDE, // RIDE_TYPE_FERRIS_WHEEL + COLOUR_KEY_RIDE, // RIDE_TYPE_MOTION_SIMULATOR + COLOUR_KEY_RIDE, // RIDE_TYPE_3D_CINEMA + COLOUR_KEY_RIDE, // RIDE_TYPE_TOP_SPIN + COLOUR_KEY_RIDE, // RIDE_TYPE_SPACE_RINGS + COLOUR_KEY_RIDE, // RIDE_TYPE_REVERSE_FREEFALL_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_LIFT + COLOUR_KEY_RIDE, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER + COLOUR_KEY_CASH_MACHINE, // RIDE_TYPE_CASH_MACHINE + COLOUR_KEY_RIDE, // RIDE_TYPE_TWIST + COLOUR_KEY_RIDE, // RIDE_TYPE_HAUNTED_HOUSE + COLOUR_KEY_FIRST_AID, // RIDE_TYPE_FIRST_AID + COLOUR_KEY_RIDE, // RIDE_TYPE_CIRCUS_SHOW + COLOUR_KEY_RIDE, // RIDE_TYPE_GHOST_TRAIN + COLOUR_KEY_RIDE, // RIDE_TYPE_TWISTER_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_WOODEN_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_WILD_MOUSE + COLOUR_KEY_RIDE, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT + COLOUR_KEY_RIDE, // RIDE_TYPE_FLYING_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT + COLOUR_KEY_RIDE, // RIDE_TYPE_VIRGINIA_REEL + COLOUR_KEY_RIDE, // RIDE_TYPE_SPLASH_BOATS + COLOUR_KEY_RIDE, // RIDE_TYPE_MINI_HELICOPTERS + COLOUR_KEY_RIDE, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_SUSPENDED_MONORAIL + COLOUR_KEY_RIDE, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT + COLOUR_KEY_RIDE, // RIDE_TYPE_REVERSER_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_MINI_GOLF + COLOUR_KEY_RIDE, // RIDE_TYPE_GIGA_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_ROTO_DROP + COLOUR_KEY_RIDE, // RIDE_TYPE_FLYING_SAUCERS + COLOUR_KEY_RIDE, // RIDE_TYPE_CROOKED_HOUSE + COLOUR_KEY_RIDE, // RIDE_TYPE_MONORAIL_CYCLES + COLOUR_KEY_RIDE, // RIDE_TYPE_COMPACT_INVERTED_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_WATER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_MAGIC_CARPET + COLOUR_KEY_RIDE, // RIDE_TYPE_SUBMARINE_RIDE + COLOUR_KEY_RIDE, // RIDE_TYPE_RIVER_RAFTS + COLOUR_KEY_RIDE, // RIDE_TYPE_50 + COLOUR_KEY_RIDE, // RIDE_TYPE_ENTERPRISE + COLOUR_KEY_RIDE, // RIDE_TYPE_52 + COLOUR_KEY_RIDE, // RIDE_TYPE_53 + COLOUR_KEY_RIDE, // RIDE_TYPE_54 + COLOUR_KEY_RIDE, // RIDE_TYPE_55 + COLOUR_KEY_RIDE, // RIDE_TYPE_INVERTED_IMPULSE_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_MINI_ROLLER_COASTER + COLOUR_KEY_RIDE, // RIDE_TYPE_MINE_RIDE + COLOUR_KEY_RIDE, // RIDE_TYPE_59 + COLOUR_KEY_RIDE, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER + COLOUR_KEY_RIDE, // + COLOUR_KEY_RIDE, // + COLOUR_KEY_RIDE, // }; static uint16 map_window_get_pixel_colour_peep(sint32 x, sint32 y) { - rct_map_element *mapElement; - uint16 colour; + rct_map_element *mapElement; + uint16 colour; - mapElement = map_get_surface_element_at(x >> 5, y >> 5); - colour = TerrainColour[map_element_get_terrain(mapElement)]; - if (mapElement->properties.surface.terrain & 0x1F) - colour = WaterColour; + mapElement = map_get_surface_element_at(x >> 5, y >> 5); + colour = TerrainColour[map_element_get_terrain(mapElement)]; + if (mapElement->properties.surface.terrain & 0x1F) + colour = WaterColour; - if (!(mapElement->properties.surface.ownership & OWNERSHIP_OWNED)) - colour = PALETTE_INDEX_10 | (colour & 0xFF00); + if (!(mapElement->properties.surface.ownership & OWNERSHIP_OWNED)) + colour = PALETTE_INDEX_10 | (colour & 0xFF00); - const sint32 maxSupportedMapElementType = (sint32)countof(ElementTypeAddColour); - while (!map_element_is_last_for_tile(mapElement++)) { - sint32 mapElementType = map_element_get_type(mapElement) >> 2; - if (mapElementType >= maxSupportedMapElementType) { - mapElementType = MAP_ELEMENT_TYPE_CORRUPT >> 2; - } - colour &= ElementTypeMaskColour[mapElementType]; - colour |= ElementTypeAddColour[mapElementType]; - } + const sint32 maxSupportedMapElementType = (sint32)countof(ElementTypeAddColour); + while (!map_element_is_last_for_tile(mapElement++)) { + sint32 mapElementType = map_element_get_type(mapElement) >> 2; + if (mapElementType >= maxSupportedMapElementType) { + mapElementType = MAP_ELEMENT_TYPE_CORRUPT >> 2; + } + colour &= ElementTypeMaskColour[mapElementType]; + colour |= ElementTypeAddColour[mapElementType]; + } - return colour; + return colour; } static uint16 map_window_get_pixel_colour_ride(sint32 x, sint32 y) { - rct_map_element *mapElement; - rct_ride *ride; - uint32 colour; + rct_map_element *mapElement; + rct_ride *ride; + uint32 colour; - colour = FALLBACK_COLOUR(PALETTE_INDEX_13); - mapElement = map_get_surface_element_at(x >> 5, y >> 5); - do { - switch (map_element_get_type(mapElement)) { - case MAP_ELEMENT_TYPE_SURFACE: - if (mapElement->properties.surface.terrain & 0x1F) { - colour &= 0xFFFF; - colour |= FALLBACK_COLOUR(PALETTE_INDEX_194); - } - if (!(mapElement->properties.surface.ownership & OWNERSHIP_OWNED)) { - colour &= 0xFF00FFFF; - colour |= PALETTE_INDEX_10 << 16; - } - break; - case MAP_ELEMENT_TYPE_PATH: - colour = MAP_COLOUR(PALETTE_INDEX_14); - break; - case MAP_ELEMENT_TYPE_ENTRANCE: - if (mapElement->properties.entrance.type == ENTRANCE_TYPE_PARK_ENTRANCE) - break; - // fall-through - case MAP_ELEMENT_TYPE_TRACK: - ride = get_ride(mapElement->properties.track.ride_index); - colour = RideKeyColours[RideColourKey[ride->type]]; - break; - } - } while (!map_element_is_last_for_tile(mapElement++)); + colour = FALLBACK_COLOUR(PALETTE_INDEX_13); + mapElement = map_get_surface_element_at(x >> 5, y >> 5); + do { + switch (map_element_get_type(mapElement)) { + case MAP_ELEMENT_TYPE_SURFACE: + if (mapElement->properties.surface.terrain & 0x1F) { + colour &= 0xFFFF; + colour |= FALLBACK_COLOUR(PALETTE_INDEX_194); + } + if (!(mapElement->properties.surface.ownership & OWNERSHIP_OWNED)) { + colour &= 0xFF00FFFF; + colour |= PALETTE_INDEX_10 << 16; + } + break; + case MAP_ELEMENT_TYPE_PATH: + colour = MAP_COLOUR(PALETTE_INDEX_14); + break; + case MAP_ELEMENT_TYPE_ENTRANCE: + if (mapElement->properties.entrance.type == ENTRANCE_TYPE_PARK_ENTRANCE) + break; + // fall-through + case MAP_ELEMENT_TYPE_TRACK: + ride = get_ride(mapElement->properties.track.ride_index); + colour = RideKeyColours[RideColourKey[ride->type]]; + break; + } + } while (!map_element_is_last_for_tile(mapElement++)); - if ((colour & 0xFFFF) == 0) - colour >>= 16; + if ((colour & 0xFFFF) == 0) + colour >>= 16; - return colour & 0xFFFF; + return colour & 0xFFFF; } static void map_window_set_pixels(rct_window *w) { - uint16 colour = 0; - uint8 *destination; - sint32 x = 0, y = 0, dx = 0, dy = 0; + uint16 colour = 0; + uint8 *destination; + sint32 x = 0, y = 0, dx = 0, dy = 0; - sint32 pos = (_currentLine * (MAP_WINDOW_MAP_SIZE - 1)) + MAXIMUM_MAP_SIZE_TECHNICAL - 1; - rct_xy16 destinationPosition = {.y = pos/MAP_WINDOW_MAP_SIZE, .x = pos % MAP_WINDOW_MAP_SIZE}; - destination = &(*_mapImageData)[destinationPosition.y][destinationPosition.x]; - switch (get_current_rotation()) { - case 0: - x = _currentLine * 32; - y = 0; - dx = 0; - dy = 32; - break; - case 1: - x = 8192 - 32; - y = _currentLine * 32; - dx = -32; - dy = 0; - break; - case 2: - x = ((MAXIMUM_MAP_SIZE_TECHNICAL - 1) - _currentLine) * 32; - y = 8192 - 32; - dx = 0; - dy = -32; - break; - case 3: - x = 0; - y = ((MAXIMUM_MAP_SIZE_TECHNICAL - 1) - _currentLine) * 32; - dx = 32; - dy = 0; - break; - } + sint32 pos = (_currentLine * (MAP_WINDOW_MAP_SIZE - 1)) + MAXIMUM_MAP_SIZE_TECHNICAL - 1; + rct_xy16 destinationPosition = {.y = pos/MAP_WINDOW_MAP_SIZE, .x = pos % MAP_WINDOW_MAP_SIZE}; + destination = &(*_mapImageData)[destinationPosition.y][destinationPosition.x]; + switch (get_current_rotation()) { + case 0: + x = _currentLine * 32; + y = 0; + dx = 0; + dy = 32; + break; + case 1: + x = 8192 - 32; + y = _currentLine * 32; + dx = -32; + dy = 0; + break; + case 2: + x = ((MAXIMUM_MAP_SIZE_TECHNICAL - 1) - _currentLine) * 32; + y = 8192 - 32; + dx = 0; + dy = -32; + break; + case 3: + x = 0; + y = ((MAXIMUM_MAP_SIZE_TECHNICAL - 1) - _currentLine) * 32; + dx = 32; + dy = 0; + break; + } - for (sint32 i = 0; i < MAXIMUM_MAP_SIZE_TECHNICAL; i++) { - if ( - x > 0 && - y > 0 && - x < gMapSizeUnits && - y < gMapSizeUnits - ) { - switch (w->selected_tab) { - case PAGE_PEEPS: - colour = map_window_get_pixel_colour_peep(x, y); - break; - case PAGE_RIDES: - colour = map_window_get_pixel_colour_ride(x, y); - break; - } - destination[0] = (colour >> 8) & 0xFF; - destination[1] = colour; - } - x += dx; - y += dy; + for (sint32 i = 0; i < MAXIMUM_MAP_SIZE_TECHNICAL; i++) { + if ( + x > 0 && + y > 0 && + x < gMapSizeUnits && + y < gMapSizeUnits + ) { + switch (w->selected_tab) { + case PAGE_PEEPS: + colour = map_window_get_pixel_colour_peep(x, y); + break; + case PAGE_RIDES: + colour = map_window_get_pixel_colour_ride(x, y); + break; + } + destination[0] = (colour >> 8) & 0xFF; + destination[1] = colour; + } + x += dx; + y += dy; - destinationPosition.x++; - destinationPosition.y++; - destination = &(*_mapImageData)[destinationPosition.y][destinationPosition.x]; - } - _currentLine++; - if (_currentLine >= MAXIMUM_MAP_SIZE_TECHNICAL) - _currentLine = 0; + destinationPosition.x++; + destinationPosition.y++; + destination = &(*_mapImageData)[destinationPosition.y][destinationPosition.x]; + } + _currentLine++; + if (_currentLine >= MAXIMUM_MAP_SIZE_TECHNICAL) + _currentLine = 0; } static void map_window_screen_to_map(sint32 screenX, sint32 screenY, sint32 *mapX, sint32 *mapY) { - sint32 x, y; + sint32 x, y; - screenX = ((screenX + 8) - MAXIMUM_MAP_SIZE_TECHNICAL) / 2; - screenY = ((screenY + 8)) / 2; - x = (screenY - screenX) * 32; - y = (screenX + screenY) * 32; - switch (get_current_rotation()) { - case 0: - *mapX = x; - *mapY = y; - break; - case 1: - *mapX = 8191 - y; - *mapY = x; - break; - case 2: - *mapX = 8191 - x; - *mapY = 8191 - y; - break; - case 3: - *mapX = y; - *mapY = 8191 - x; - break; - } + screenX = ((screenX + 8) - MAXIMUM_MAP_SIZE_TECHNICAL) / 2; + screenY = ((screenY + 8)) / 2; + x = (screenY - screenX) * 32; + y = (screenX + screenY) * 32; + switch (get_current_rotation()) { + case 0: + *mapX = x; + *mapY = y; + break; + case 1: + *mapX = 8191 - y; + *mapY = x; + break; + case 2: + *mapX = 8191 - x; + *mapY = 8191 - y; + break; + case 3: + *mapX = y; + *mapY = 8191 - x; + break; + } } diff --git a/src/openrct2/windows/map_tooltip.c b/src/openrct2/windows/map_tooltip.c index 4007a697b1..85565a3873 100644 --- a/src/openrct2/windows/map_tooltip.c +++ b/src/openrct2/windows/map_tooltip.c @@ -22,42 +22,42 @@ #include "../platform/platform.h" static rct_widget window_map_tooltip_widgets[] = { - { WWT_IMGBTN, 0, 0, 199, 0, 29, 0xFFFFFFFF, STR_NONE }, - { WIDGETS_END } + { WWT_IMGBTN, 0, 0, 199, 0, 29, 0xFFFFFFFF, STR_NONE }, + { WIDGETS_END } }; static void window_map_tooltip_update(rct_window *w); static void window_map_tooltip_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_map_tooltip_events = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_map_tooltip_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_map_tooltip_paint, - NULL + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_map_tooltip_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_map_tooltip_paint, + NULL }; #define MAP_TOOLTIP_ARGS @@ -74,33 +74,33 @@ static void window_map_tooltip_open(); */ void window_map_tooltip_update_visibility() { - sint32 cursorX, cursorY; + sint32 cursorX, cursorY; - const CursorState * state = context_get_cursor_state(); - cursorX = state->x; - cursorY = state->y; + const CursorState * state = context_get_cursor_state(); + cursorX = state->x; + cursorY = state->y; - // Check for cursor movement - _cursorHoldDuration++; - if (abs(cursorX - _lastCursorX) > 5 || abs(cursorY - _lastCursorY) > 5 || (input_test_flag(INPUT_FLAG_5))) - _cursorHoldDuration = 0; + // Check for cursor movement + _cursorHoldDuration++; + if (abs(cursorX - _lastCursorX) > 5 || abs(cursorY - _lastCursorY) > 5 || (input_test_flag(INPUT_FLAG_5))) + _cursorHoldDuration = 0; - _lastCursorX = cursorX; - _lastCursorY = cursorY; + _lastCursorX = cursorX; + _lastCursorY = cursorY; - // Show or hide tooltip - rct_string_id stringId; - memcpy(&stringId, gMapTooltipFormatArgs, sizeof(rct_string_id)); + // Show or hide tooltip + rct_string_id stringId; + memcpy(&stringId, gMapTooltipFormatArgs, sizeof(rct_string_id)); - if (_cursorHoldDuration < 25 || - stringId == STR_NONE || - (input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_COPY_Z | PLACE_OBJECT_MODIFIER_SHIFT_Z)) || - window_find_by_class(WC_ERROR) != NULL - ) { - window_close_by_class(WC_MAP_TOOLTIP); - } else { - window_map_tooltip_open(); - } + if (_cursorHoldDuration < 25 || + stringId == STR_NONE || + (input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_COPY_Z | PLACE_OBJECT_MODIFIER_SHIFT_Z)) || + window_find_by_class(WC_ERROR) != NULL + ) { + window_close_by_class(WC_MAP_TOOLTIP); + } else { + window_map_tooltip_open(); + } } /** @@ -109,28 +109,28 @@ void window_map_tooltip_update_visibility() */ static void window_map_tooltip_open() { - rct_window* w; - sint32 x, y, width, height; + rct_window* w; + sint32 x, y, width, height; - width = 200; - height = 44; - const CursorState * state = context_get_cursor_state(); - x = state->x - (width / 2); - y = state->y + 15; + width = 200; + height = 44; + const CursorState * state = context_get_cursor_state(); + x = state->x - (width / 2); + y = state->y + 15; - w = window_find_by_class(WC_MAP_TOOLTIP); - if (w == NULL) { - w = window_create( - x, y, width, height, &window_map_tooltip_events, WC_MAP_TOOLTIP, WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_NO_BACKGROUND - ); - w->widgets = window_map_tooltip_widgets; - } else { - window_invalidate(w); - w->x = x; - w->y = y; - w->width = width; - w->height = height; - } + w = window_find_by_class(WC_MAP_TOOLTIP); + if (w == NULL) { + w = window_create( + x, y, width, height, &window_map_tooltip_events, WC_MAP_TOOLTIP, WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_NO_BACKGROUND + ); + w->widgets = window_map_tooltip_widgets; + } else { + window_invalidate(w); + w->x = x; + w->y = y; + w->width = width; + w->height = height; + } } /** @@ -139,7 +139,7 @@ static void window_map_tooltip_open() */ static void window_map_tooltip_update(rct_window *w) { - window_invalidate(w); + window_invalidate(w); } /** @@ -148,11 +148,11 @@ static void window_map_tooltip_update(rct_window *w) */ static void window_map_tooltip_paint(rct_window *w, rct_drawpixelinfo *dpi) { - rct_string_id stringId; - memcpy(&stringId, gMapTooltipFormatArgs, sizeof(rct_string_id)); - if (stringId == STR_NONE) { - return; - } + rct_string_id stringId; + memcpy(&stringId, gMapTooltipFormatArgs, sizeof(rct_string_id)); + if (stringId == STR_NONE) { + return; + } - gfx_draw_string_centred_wrapped(dpi, gMapTooltipFormatArgs, w->x + (w->width / 2), w->y + (w->height / 2), w->width, STR_MAP_TOOLTIP_STRINGID, COLOUR_BLACK); + gfx_draw_string_centred_wrapped(dpi, gMapTooltipFormatArgs, w->x + (w->width / 2), w->y + (w->height / 2), w->width, STR_MAP_TOOLTIP_STRINGID, COLOUR_BLACK); } diff --git a/src/openrct2/windows/mapgen.c b/src/openrct2/windows/mapgen.c index 5996ea72d3..0847fea503 100644 --- a/src/openrct2/windows/mapgen.c +++ b/src/openrct2/windows/mapgen.c @@ -27,82 +27,82 @@ #include "../localisation/string_ids.h" enum { - WINDOW_MAPGEN_PAGE_BASE, - WINDOW_MAPGEN_PAGE_RANDOM, - WINDOW_MAPGEN_PAGE_SIMPLEX, - WINDOW_MAPGEN_PAGE_HEIGHTMAP, - WINDOW_MAPGEN_PAGE_COUNT + WINDOW_MAPGEN_PAGE_BASE, + WINDOW_MAPGEN_PAGE_RANDOM, + WINDOW_MAPGEN_PAGE_SIMPLEX, + WINDOW_MAPGEN_PAGE_HEIGHTMAP, + WINDOW_MAPGEN_PAGE_COUNT }; enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_TAB_2, - WIDX_TAB_3, - WIDX_TAB_4, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_TAB_2, + WIDX_TAB_3, + WIDX_TAB_4, - TAB_BEGIN, + TAB_BEGIN, - WIDX_MAP_GENERATE = TAB_BEGIN, - WIDX_MAP_SIZE, - WIDX_MAP_SIZE_UP, - WIDX_MAP_SIZE_DOWN, - WIDX_BASE_HEIGHT, - WIDX_BASE_HEIGHT_UP, - WIDX_BASE_HEIGHT_DOWN, - WIDX_WATER_LEVEL, - WIDX_WATER_LEVEL_UP, - WIDX_WATER_LEVEL_DOWN, - WIDX_FLOOR_TEXTURE, - WIDX_WALL_TEXTURE, + WIDX_MAP_GENERATE = TAB_BEGIN, + WIDX_MAP_SIZE, + WIDX_MAP_SIZE_UP, + WIDX_MAP_SIZE_DOWN, + WIDX_BASE_HEIGHT, + WIDX_BASE_HEIGHT_UP, + WIDX_BASE_HEIGHT_DOWN, + WIDX_WATER_LEVEL, + WIDX_WATER_LEVEL_UP, + WIDX_WATER_LEVEL_DOWN, + WIDX_FLOOR_TEXTURE, + WIDX_WALL_TEXTURE, - WIDX_RANDOM_GENERATE = TAB_BEGIN, - WIDX_RANDOM_TERRAIN, - WIDX_RANDOM_PLACE_TREES, + WIDX_RANDOM_GENERATE = TAB_BEGIN, + WIDX_RANDOM_TERRAIN, + WIDX_RANDOM_PLACE_TREES, - WIDX_SIMPLEX_GENERATE = TAB_BEGIN, - WIDX_SIMPLEX_LABEL, - WIDX_SIMPLEX_LOW, - WIDX_SIMPLEX_LOW_UP, - WIDX_SIMPLEX_LOW_DOWN, - WIDX_SIMPLEX_HIGH, - WIDX_SIMPLEX_HIGH_UP, - WIDX_SIMPLEX_HIGH_DOWN, - WIDX_SIMPLEX_BASE_FREQ, - WIDX_SIMPLEX_BASE_FREQ_UP, - WIDX_SIMPLEX_BASE_FREQ_DOWN, - WIDX_SIMPLEX_OCTAVES, - WIDX_SIMPLEX_OCTAVES_UP, - WIDX_SIMPLEX_OCTAVES_DOWN, - WIDX_SIMPLEX_MAP_SIZE, - WIDX_SIMPLEX_MAP_SIZE_UP, - WIDX_SIMPLEX_MAP_SIZE_DOWN, - WIDX_SIMPLEX_WATER_LEVEL, - WIDX_SIMPLEX_WATER_LEVEL_UP, - WIDX_SIMPLEX_WATER_LEVEL_DOWN, - WIDX_SIMPLEX_FLOOR_TEXTURE, - WIDX_SIMPLEX_WALL_TEXTURE, + WIDX_SIMPLEX_GENERATE = TAB_BEGIN, + WIDX_SIMPLEX_LABEL, + WIDX_SIMPLEX_LOW, + WIDX_SIMPLEX_LOW_UP, + WIDX_SIMPLEX_LOW_DOWN, + WIDX_SIMPLEX_HIGH, + WIDX_SIMPLEX_HIGH_UP, + WIDX_SIMPLEX_HIGH_DOWN, + WIDX_SIMPLEX_BASE_FREQ, + WIDX_SIMPLEX_BASE_FREQ_UP, + WIDX_SIMPLEX_BASE_FREQ_DOWN, + WIDX_SIMPLEX_OCTAVES, + WIDX_SIMPLEX_OCTAVES_UP, + WIDX_SIMPLEX_OCTAVES_DOWN, + WIDX_SIMPLEX_MAP_SIZE, + WIDX_SIMPLEX_MAP_SIZE_UP, + WIDX_SIMPLEX_MAP_SIZE_DOWN, + WIDX_SIMPLEX_WATER_LEVEL, + WIDX_SIMPLEX_WATER_LEVEL_UP, + WIDX_SIMPLEX_WATER_LEVEL_DOWN, + WIDX_SIMPLEX_FLOOR_TEXTURE, + WIDX_SIMPLEX_WALL_TEXTURE, - WIDX_HEIGHTMAP_SELECT = TAB_BEGIN, - WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, - WIDX_HEIGHTMAP_STRENGTH, - WIDX_HEIGHTMAP_STRENGTH_UP, - WIDX_HEIGHTMAP_STRENGTH_DOWN, - WIDX_HEIGHTMAP_NORMALIZE, - WIDX_HEIGHTMAP_SMOOTH_TILES, - WIDX_HEIGHTMAP_LOW, - WIDX_HEIGHTMAP_LOW_UP, - WIDX_HEIGHTMAP_LOW_DOWN, - WIDX_HEIGHTMAP_HIGH, - WIDX_HEIGHTMAP_HIGH_UP, - WIDX_HEIGHTMAP_HIGH_DOWN, - WIDX_HEIGHTMAP_WATER_LEVEL, - WIDX_HEIGHTMAP_WATER_LEVEL_UP, - WIDX_HEIGHTMAP_WATER_LEVEL_DOWN, + WIDX_HEIGHTMAP_SELECT = TAB_BEGIN, + WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, + WIDX_HEIGHTMAP_STRENGTH, + WIDX_HEIGHTMAP_STRENGTH_UP, + WIDX_HEIGHTMAP_STRENGTH_DOWN, + WIDX_HEIGHTMAP_NORMALIZE, + WIDX_HEIGHTMAP_SMOOTH_TILES, + WIDX_HEIGHTMAP_LOW, + WIDX_HEIGHTMAP_LOW_UP, + WIDX_HEIGHTMAP_LOW_DOWN, + WIDX_HEIGHTMAP_HIGH, + WIDX_HEIGHTMAP_HIGH_UP, + WIDX_HEIGHTMAP_HIGH_DOWN, + WIDX_HEIGHTMAP_WATER_LEVEL, + WIDX_HEIGHTMAP_WATER_LEVEL_UP, + WIDX_HEIGHTMAP_WATER_LEVEL_DOWN, }; #pragma region Widgets @@ -111,115 +111,115 @@ enum { #define WH 200 #define SHARED_WIDGETS \ - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, /* WIDX_BACKGROUND */ \ - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_MAPGEN_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, /* WIDX_TITLE */ \ - { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* WIDX_CLOSE */ \ - { WWT_RESIZE, 1, 0, 299, 43, WH - 2, 0xFFFFFFFF, STR_NONE }, /* WIDX_PAGE_BACKGROUND */ \ - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, /* WIDX_TAB_1 */ \ - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, /* WIDX_TAB_2 */ \ - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, /* WIDX_TAB_3 */ \ - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_NONE } /* WIDX_TAB_4 */ + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, /* WIDX_BACKGROUND */ \ + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_MAPGEN_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, /* WIDX_TITLE */ \ + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* WIDX_CLOSE */ \ + { WWT_RESIZE, 1, 0, 299, 43, WH - 2, 0xFFFFFFFF, STR_NONE }, /* WIDX_PAGE_BACKGROUND */ \ + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, /* WIDX_TAB_1 */ \ + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, /* WIDX_TAB_2 */ \ + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, /* WIDX_TAB_3 */ \ + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_NONE } /* WIDX_TAB_4 */ static rct_widget MapWidgets[] = { - SHARED_WIDGETS, + SHARED_WIDGETS, - { WWT_DROPDOWN_BUTTON, 1, WW - 95, WW - 6, WH - 17, WH - 6, STR_MAPGEN_ACTION_GENERATE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, WW - 95, WW - 6, WH - 17, WH - 6, STR_MAPGEN_ACTION_GENERATE, STR_NONE }, - { WWT_SPINNER, 1, 104, 198, 52, 63, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 53, 57, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 58, 62, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 104, 198, 70, 81, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 71, 75, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 76, 80, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 104, 198, 88, 99, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 89, 93, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 94, 98, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_FLATBTN, 1, 104, 150, 106, 141, 0xFFFFFFFF, STR_CHANGE_BASE_LAND_TIP }, - { WWT_FLATBTN, 1, 151, 197, 106, 141, 0xFFFFFFFF, STR_CHANGE_VERTICAL_LAND_TIP }, - { WIDGETS_END }, + { WWT_SPINNER, 1, 104, 198, 52, 63, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 53, 57, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 58, 62, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 104, 198, 70, 81, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 71, 75, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 76, 80, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 104, 198, 88, 99, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 89, 93, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 94, 98, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_FLATBTN, 1, 104, 150, 106, 141, 0xFFFFFFFF, STR_CHANGE_BASE_LAND_TIP }, + { WWT_FLATBTN, 1, 151, 197, 106, 141, 0xFFFFFFFF, STR_CHANGE_VERTICAL_LAND_TIP }, + { WIDGETS_END }, }; static rct_widget RandomWidgets[] = { - SHARED_WIDGETS, + SHARED_WIDGETS, - { WWT_DROPDOWN_BUTTON, 1, WW - 95, WW - 6, WH - 17, WH - 6, STR_MAPGEN_ACTION_GENERATE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, WW - 95, WW - 6, WH - 17, WH - 6, STR_MAPGEN_ACTION_GENERATE, STR_NONE }, - { WWT_CHECKBOX, 1, 4, 198, 52, 63, STR_MAPGEN_OPTION_RANDOM_TERRAIN, STR_NONE }, - { WWT_CHECKBOX, 1, 4, 198, 70, 81, STR_MAPGEN_OPTION_PLACE_TREES, STR_NONE }, - { WIDGETS_END }, + { WWT_CHECKBOX, 1, 4, 198, 52, 63, STR_MAPGEN_OPTION_RANDOM_TERRAIN, STR_NONE }, + { WWT_CHECKBOX, 1, 4, 198, 70, 81, STR_MAPGEN_OPTION_PLACE_TREES, STR_NONE }, + { WIDGETS_END }, }; static rct_widget SimplexWidgets[] = { - SHARED_WIDGETS, + SHARED_WIDGETS, - { WWT_DROPDOWN_BUTTON, 1, WW - 95, WW - 6, WH - 17, WH - 6, STR_MAPGEN_ACTION_GENERATE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, WW - 95, WW - 6, WH - 17, WH - 6, STR_MAPGEN_ACTION_GENERATE, STR_NONE }, - { WWT_12, 1, 4, 198, 52, 63, STR_MAPGEN_SIMPLEX_NOISE, STR_NONE }, + { WWT_12, 1, 4, 198, 52, 63, STR_MAPGEN_SIMPLEX_NOISE, STR_NONE }, - { WWT_SPINNER, 1, 104, 198, 70, 81, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 71, 75, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 76, 80, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 104, 198, 70, 81, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 71, 75, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 76, 80, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 104, 198, 88, 99, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 89, 93, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 94, 98, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 104, 198, 88, 99, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 89, 93, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 94, 98, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 104, 198, 106, 117, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 107, 111, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 112, 116, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 104, 198, 106, 117, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 107, 111, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 112, 116, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 104, 198, 124, 135, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 125, 129, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 130, 134, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 104, 198, 124, 135, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 125, 129, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 130, 134, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 104, 198, 148, 159, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 149, 153, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 154, 158, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 104, 198, 148, 159, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 149, 153, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 154, 158, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 104, 198, 166, 177, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 167, 171, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 172, 176, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 104, 198, 166, 177, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 167, 171, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 172, 176, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_FLATBTN, 1, 225, 271, 68, 103, 0xFFFFFFFF, STR_CHANGE_BASE_LAND_TIP }, - { WWT_FLATBTN, 1, 225, 271, 104, 139, 0xFFFFFFFF, STR_CHANGE_VERTICAL_LAND_TIP }, + { WWT_FLATBTN, 1, 225, 271, 68, 103, 0xFFFFFFFF, STR_CHANGE_BASE_LAND_TIP }, + { WWT_FLATBTN, 1, 225, 271, 104, 139, 0xFFFFFFFF, STR_CHANGE_VERTICAL_LAND_TIP }, - { WIDGETS_END }, + { WIDGETS_END }, }; static rct_widget HeightmapWidgets[] = { - SHARED_WIDGETS, + SHARED_WIDGETS, - { WWT_DROPDOWN_BUTTON, 1, WW - 155, WW - 6, WH - 17, WH - 6, STR_MAPGEN_SELECT_HEIGHTMAP, STR_NONE }, // WIDX_HEIGHTMAP_SELECT + { WWT_DROPDOWN_BUTTON, 1, WW - 155, WW - 6, WH - 17, WH - 6, STR_MAPGEN_SELECT_HEIGHTMAP, STR_NONE }, // WIDX_HEIGHTMAP_SELECT - { WWT_CHECKBOX, 1, 4, 103, 52, 63, STR_MAPGEN_SMOOTH_HEIGHTMAP,STR_NONE }, // WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP - { WWT_SPINNER, 1, 104, 198, 70, 81, STR_NONE, STR_NONE }, // WIDX_HEIGHTMAP_STRENGTH - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 71, 75, STR_NUMERIC_UP, STR_NONE }, // WIDX_HEIGHTMAP_STRENGTH_UP - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 76, 80, STR_NUMERIC_DOWN, STR_NONE }, // WIDX_HEIGHTMAP_STRENGTH_DOWN + { WWT_CHECKBOX, 1, 4, 103, 52, 63, STR_MAPGEN_SMOOTH_HEIGHTMAP,STR_NONE }, // WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP + { WWT_SPINNER, 1, 104, 198, 70, 81, STR_NONE, STR_NONE }, // WIDX_HEIGHTMAP_STRENGTH + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 71, 75, STR_NUMERIC_UP, STR_NONE }, // WIDX_HEIGHTMAP_STRENGTH_UP + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 76, 80, STR_NUMERIC_DOWN, STR_NONE }, // WIDX_HEIGHTMAP_STRENGTH_DOWN - { WWT_CHECKBOX, 1, 4, 103, 88, 99, STR_MAPGEN_NORMALIZE, STR_NONE }, // WIDX_HEIGHTMAP_NORMALIZE + { WWT_CHECKBOX, 1, 4, 103, 88, 99, STR_MAPGEN_NORMALIZE, STR_NONE }, // WIDX_HEIGHTMAP_NORMALIZE - { WWT_CHECKBOX, 1, 4, 103, 106, 117, STR_MAPGEN_SMOOTH_TILE, STR_NONE }, // WIDX_HEIGHTMAP_SMOOTH_TILES + { WWT_CHECKBOX, 1, 4, 103, 106, 117, STR_MAPGEN_SMOOTH_TILE, STR_NONE }, // WIDX_HEIGHTMAP_SMOOTH_TILES - { WWT_SPINNER, 1, 104, 198, 124, 135, STR_NONE, STR_NONE }, // WIDX_HEIGHTMAP_LOW - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 125, 129, STR_NUMERIC_UP, STR_NONE }, // WIDX_HEIGHTMAP_LOW_UP - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 130, 134, STR_NUMERIC_DOWN, STR_NONE }, // WIDX_HEIGHTMAP_LOW_DOWN + { WWT_SPINNER, 1, 104, 198, 124, 135, STR_NONE, STR_NONE }, // WIDX_HEIGHTMAP_LOW + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 125, 129, STR_NUMERIC_UP, STR_NONE }, // WIDX_HEIGHTMAP_LOW_UP + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 130, 134, STR_NUMERIC_DOWN, STR_NONE }, // WIDX_HEIGHTMAP_LOW_DOWN - { WWT_SPINNER, 1, 104, 198, 142, 153, STR_NONE, STR_NONE }, // WIDX_HEIGHTMAP_HIGH - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 143, 147, STR_NUMERIC_UP, STR_NONE }, // WIDX_HEIGHTMAP_HIGH_UP - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 148, 152, STR_NUMERIC_DOWN, STR_NONE }, // WIDX_HEIGHTMAP_HIGH_DOWN + { WWT_SPINNER, 1, 104, 198, 142, 153, STR_NONE, STR_NONE }, // WIDX_HEIGHTMAP_HIGH + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 143, 147, STR_NUMERIC_UP, STR_NONE }, // WIDX_HEIGHTMAP_HIGH_UP + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 148, 152, STR_NUMERIC_DOWN, STR_NONE }, // WIDX_HEIGHTMAP_HIGH_DOWN - { WWT_SPINNER, 1, 104, 198, 160, 171, STR_NONE, STR_NONE }, // WIDX_HEIGHTMAP_WATER_LEVEL - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 161, 165, STR_NUMERIC_UP, STR_NONE }, // WIDX_HEIGHTMAP_WATER_LEVEL_UP - { WWT_DROPDOWN_BUTTON, 1, 187, 197, 166, 170, STR_NUMERIC_DOWN, STR_NONE }, // WIDX_HEIGHTMAP_WATER_LEVEL_DOWN + { WWT_SPINNER, 1, 104, 198, 160, 171, STR_NONE, STR_NONE }, // WIDX_HEIGHTMAP_WATER_LEVEL + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 161, 165, STR_NUMERIC_UP, STR_NONE }, // WIDX_HEIGHTMAP_WATER_LEVEL_UP + { WWT_DROPDOWN_BUTTON, 1, 187, 197, 166, 170, STR_NUMERIC_DOWN, STR_NONE }, // WIDX_HEIGHTMAP_WATER_LEVEL_DOWN - { WIDGETS_END }, + { WIDGETS_END }, }; static rct_widget *PageWidgets[WINDOW_MAPGEN_PAGE_COUNT] = { - MapWidgets, - RandomWidgets, - SimplexWidgets, - HeightmapWidgets + MapWidgets, + RandomWidgets, + SimplexWidgets, + HeightmapWidgets }; #pragma endregion @@ -256,134 +256,134 @@ static void window_mapgen_heightmap_invalidate(rct_window *w); static void window_mapgen_heightmap_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list BaseEvents = { - window_mapgen_shared_close, - window_mapgen_base_mouseup, - NULL, - window_mapgen_base_mousedown, - window_mapgen_base_dropdown, - NULL, - window_mapgen_base_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_mapgen_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_mapgen_base_invalidate, - window_mapgen_base_paint, - NULL + window_mapgen_shared_close, + window_mapgen_base_mouseup, + NULL, + window_mapgen_base_mousedown, + window_mapgen_base_dropdown, + NULL, + window_mapgen_base_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_mapgen_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_mapgen_base_invalidate, + window_mapgen_base_paint, + NULL }; static rct_window_event_list RandomEvents = { - window_mapgen_shared_close, - window_mapgen_random_mouseup, - NULL, - window_mapgen_random_mousedown, - NULL, - NULL, - window_mapgen_random_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_mapgen_random_invalidate, - window_mapgen_random_paint, - NULL + window_mapgen_shared_close, + window_mapgen_random_mouseup, + NULL, + window_mapgen_random_mousedown, + NULL, + NULL, + window_mapgen_random_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_mapgen_random_invalidate, + window_mapgen_random_paint, + NULL }; static rct_window_event_list SimplexEvents = { - window_mapgen_shared_close, - window_mapgen_simplex_mouseup, - NULL, - window_mapgen_simplex_mousedown, - window_mapgen_simplex_dropdown, - NULL, - window_mapgen_simplex_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_mapgen_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_mapgen_simplex_invalidate, - window_mapgen_simplex_paint, - NULL + window_mapgen_shared_close, + window_mapgen_simplex_mouseup, + NULL, + window_mapgen_simplex_mousedown, + window_mapgen_simplex_dropdown, + NULL, + window_mapgen_simplex_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_mapgen_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_mapgen_simplex_invalidate, + window_mapgen_simplex_paint, + NULL }; static rct_window_event_list HeightmapEvents = { - window_mapgen_shared_close, - window_mapgen_heightmap_mouseup, - NULL, - window_mapgen_heightmap_mousedown, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_mapgen_heightmap_invalidate, - window_mapgen_heightmap_paint, - NULL + window_mapgen_shared_close, + window_mapgen_heightmap_mouseup, + NULL, + window_mapgen_heightmap_mousedown, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_mapgen_heightmap_invalidate, + window_mapgen_heightmap_paint, + NULL }; static rct_window_event_list *PageEvents[] = { - &BaseEvents, - &RandomEvents, - &SimplexEvents, - &HeightmapEvents + &BaseEvents, + &RandomEvents, + &SimplexEvents, + &HeightmapEvents }; #pragma endregion @@ -391,143 +391,143 @@ static rct_window_event_list *PageEvents[] = { #pragma region Enabled widgets static uint64 PageEnabledWidgets[WINDOW_MAPGEN_PAGE_COUNT] = { - (1ULL << WIDX_CLOSE) | - (1ULL << WIDX_TAB_1) | - (1ULL << WIDX_TAB_2) | - (1ULL << WIDX_TAB_3) | - (1ULL << WIDX_TAB_4) | - (1ULL << WIDX_MAP_GENERATE) | - (1ULL << WIDX_MAP_SIZE) | - (1ULL << WIDX_MAP_SIZE_UP) | - (1ULL << WIDX_MAP_SIZE_DOWN) | - (1ULL << WIDX_BASE_HEIGHT) | - (1ULL << WIDX_BASE_HEIGHT_UP) | - (1ULL << WIDX_BASE_HEIGHT_DOWN) | - (1ULL << WIDX_WATER_LEVEL) | - (1ULL << WIDX_WATER_LEVEL_UP) | - (1ULL << WIDX_WATER_LEVEL_DOWN) | - (1ULL << WIDX_FLOOR_TEXTURE) | - (1ULL << WIDX_WALL_TEXTURE), + (1ULL << WIDX_CLOSE) | + (1ULL << WIDX_TAB_1) | + (1ULL << WIDX_TAB_2) | + (1ULL << WIDX_TAB_3) | + (1ULL << WIDX_TAB_4) | + (1ULL << WIDX_MAP_GENERATE) | + (1ULL << WIDX_MAP_SIZE) | + (1ULL << WIDX_MAP_SIZE_UP) | + (1ULL << WIDX_MAP_SIZE_DOWN) | + (1ULL << WIDX_BASE_HEIGHT) | + (1ULL << WIDX_BASE_HEIGHT_UP) | + (1ULL << WIDX_BASE_HEIGHT_DOWN) | + (1ULL << WIDX_WATER_LEVEL) | + (1ULL << WIDX_WATER_LEVEL_UP) | + (1ULL << WIDX_WATER_LEVEL_DOWN) | + (1ULL << WIDX_FLOOR_TEXTURE) | + (1ULL << WIDX_WALL_TEXTURE), - (1ULL << WIDX_CLOSE) | - (1ULL << WIDX_TAB_1) | - (1ULL << WIDX_TAB_2) | - (1ULL << WIDX_TAB_3) | - (1ULL << WIDX_TAB_4) | - (1ULL << WIDX_RANDOM_GENERATE) | - (1ULL << WIDX_RANDOM_TERRAIN) | - (1ULL << WIDX_RANDOM_PLACE_TREES), + (1ULL << WIDX_CLOSE) | + (1ULL << WIDX_TAB_1) | + (1ULL << WIDX_TAB_2) | + (1ULL << WIDX_TAB_3) | + (1ULL << WIDX_TAB_4) | + (1ULL << WIDX_RANDOM_GENERATE) | + (1ULL << WIDX_RANDOM_TERRAIN) | + (1ULL << WIDX_RANDOM_PLACE_TREES), - (1ULL << WIDX_CLOSE) | - (1ULL << WIDX_TAB_1) | - (1ULL << WIDX_TAB_2) | - (1ULL << WIDX_TAB_3) | - (1ULL << WIDX_TAB_4) | - (1ULL << WIDX_SIMPLEX_GENERATE) | - (1ULL << WIDX_SIMPLEX_LABEL) | - (1ULL << WIDX_SIMPLEX_LOW) | - (1ULL << WIDX_SIMPLEX_LOW_UP) | - (1ULL << WIDX_SIMPLEX_LOW_DOWN) | - (1ULL << WIDX_SIMPLEX_HIGH) | - (1ULL << WIDX_SIMPLEX_HIGH_UP) | - (1ULL << WIDX_SIMPLEX_HIGH_DOWN) | - (1ULL << WIDX_SIMPLEX_BASE_FREQ) | - (1ULL << WIDX_SIMPLEX_BASE_FREQ_UP) | - (1ULL << WIDX_SIMPLEX_BASE_FREQ_DOWN) | - (1ULL << WIDX_SIMPLEX_OCTAVES) | - (1ULL << WIDX_SIMPLEX_OCTAVES_UP) | - (1ULL << WIDX_SIMPLEX_OCTAVES_DOWN) | - (1ULL << WIDX_SIMPLEX_MAP_SIZE) | - (1ULL << WIDX_SIMPLEX_MAP_SIZE_UP) | - (1ULL << WIDX_SIMPLEX_MAP_SIZE_DOWN) | - (1ULL << WIDX_SIMPLEX_WATER_LEVEL) | - (1ULL << WIDX_SIMPLEX_WATER_LEVEL_UP) | - (1ULL << WIDX_SIMPLEX_WATER_LEVEL_DOWN) | - (1ULL << WIDX_SIMPLEX_FLOOR_TEXTURE) | - (1ULL << WIDX_SIMPLEX_WALL_TEXTURE), + (1ULL << WIDX_CLOSE) | + (1ULL << WIDX_TAB_1) | + (1ULL << WIDX_TAB_2) | + (1ULL << WIDX_TAB_3) | + (1ULL << WIDX_TAB_4) | + (1ULL << WIDX_SIMPLEX_GENERATE) | + (1ULL << WIDX_SIMPLEX_LABEL) | + (1ULL << WIDX_SIMPLEX_LOW) | + (1ULL << WIDX_SIMPLEX_LOW_UP) | + (1ULL << WIDX_SIMPLEX_LOW_DOWN) | + (1ULL << WIDX_SIMPLEX_HIGH) | + (1ULL << WIDX_SIMPLEX_HIGH_UP) | + (1ULL << WIDX_SIMPLEX_HIGH_DOWN) | + (1ULL << WIDX_SIMPLEX_BASE_FREQ) | + (1ULL << WIDX_SIMPLEX_BASE_FREQ_UP) | + (1ULL << WIDX_SIMPLEX_BASE_FREQ_DOWN) | + (1ULL << WIDX_SIMPLEX_OCTAVES) | + (1ULL << WIDX_SIMPLEX_OCTAVES_UP) | + (1ULL << WIDX_SIMPLEX_OCTAVES_DOWN) | + (1ULL << WIDX_SIMPLEX_MAP_SIZE) | + (1ULL << WIDX_SIMPLEX_MAP_SIZE_UP) | + (1ULL << WIDX_SIMPLEX_MAP_SIZE_DOWN) | + (1ULL << WIDX_SIMPLEX_WATER_LEVEL) | + (1ULL << WIDX_SIMPLEX_WATER_LEVEL_UP) | + (1ULL << WIDX_SIMPLEX_WATER_LEVEL_DOWN) | + (1ULL << WIDX_SIMPLEX_FLOOR_TEXTURE) | + (1ULL << WIDX_SIMPLEX_WALL_TEXTURE), - (1ULL << WIDX_CLOSE) | - (1ULL << WIDX_TAB_1) | - (1ULL << WIDX_TAB_2) | - (1ULL << WIDX_TAB_3) | - (1ULL << WIDX_TAB_4) | - (1ULL << WIDX_HEIGHTMAP_SELECT) + (1ULL << WIDX_CLOSE) | + (1ULL << WIDX_TAB_1) | + (1ULL << WIDX_TAB_2) | + (1ULL << WIDX_TAB_3) | + (1ULL << WIDX_TAB_4) | + (1ULL << WIDX_HEIGHTMAP_SELECT) }; static uint64 PageDisabledWidgets[WINDOW_MAPGEN_PAGE_COUNT] = { - 0, + 0, - 0, + 0, - 0, + 0, - (1ULL << WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP) | - (1ULL << WIDX_HEIGHTMAP_STRENGTH) | - (1ULL << WIDX_HEIGHTMAP_STRENGTH_UP) | - (1ULL << WIDX_HEIGHTMAP_STRENGTH_DOWN) | - (1ULL << WIDX_HEIGHTMAP_NORMALIZE) | - (1ULL << WIDX_HEIGHTMAP_SMOOTH_TILES) | - (1ULL << WIDX_HEIGHTMAP_HIGH) | - (1ULL << WIDX_HEIGHTMAP_HIGH_UP) | - (1ULL << WIDX_HEIGHTMAP_HIGH_DOWN) | - (1ULL << WIDX_HEIGHTMAP_LOW) | - (1ULL << WIDX_HEIGHTMAP_LOW_UP) | - (1ULL << WIDX_HEIGHTMAP_LOW_DOWN) | - (1ULL << WIDX_HEIGHTMAP_WATER_LEVEL) | - (1ULL << WIDX_HEIGHTMAP_WATER_LEVEL_UP) | - (1ULL << WIDX_HEIGHTMAP_WATER_LEVEL_DOWN) + (1ULL << WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP) | + (1ULL << WIDX_HEIGHTMAP_STRENGTH) | + (1ULL << WIDX_HEIGHTMAP_STRENGTH_UP) | + (1ULL << WIDX_HEIGHTMAP_STRENGTH_DOWN) | + (1ULL << WIDX_HEIGHTMAP_NORMALIZE) | + (1ULL << WIDX_HEIGHTMAP_SMOOTH_TILES) | + (1ULL << WIDX_HEIGHTMAP_HIGH) | + (1ULL << WIDX_HEIGHTMAP_HIGH_UP) | + (1ULL << WIDX_HEIGHTMAP_HIGH_DOWN) | + (1ULL << WIDX_HEIGHTMAP_LOW) | + (1ULL << WIDX_HEIGHTMAP_LOW_UP) | + (1ULL << WIDX_HEIGHTMAP_LOW_DOWN) | + (1ULL << WIDX_HEIGHTMAP_WATER_LEVEL) | + (1ULL << WIDX_HEIGHTMAP_WATER_LEVEL_UP) | + (1ULL << WIDX_HEIGHTMAP_WATER_LEVEL_DOWN) }; static uint64 HoldDownWidgets[WINDOW_MAPGEN_PAGE_COUNT] = { - (1ULL << WIDX_MAP_SIZE_UP) | - (1ULL << WIDX_MAP_SIZE_DOWN) | - (1ULL << WIDX_BASE_HEIGHT_UP) | - (1ULL << WIDX_BASE_HEIGHT_DOWN) | - (1ULL << WIDX_WATER_LEVEL_UP) | - (1ULL << WIDX_WATER_LEVEL_DOWN), + (1ULL << WIDX_MAP_SIZE_UP) | + (1ULL << WIDX_MAP_SIZE_DOWN) | + (1ULL << WIDX_BASE_HEIGHT_UP) | + (1ULL << WIDX_BASE_HEIGHT_DOWN) | + (1ULL << WIDX_WATER_LEVEL_UP) | + (1ULL << WIDX_WATER_LEVEL_DOWN), - 0, + 0, - (1ULL << WIDX_SIMPLEX_LOW_UP) | - (1ULL << WIDX_SIMPLEX_LOW_DOWN) | - (1ULL << WIDX_SIMPLEX_HIGH_UP) | - (1ULL << WIDX_SIMPLEX_HIGH_DOWN) | - (1ULL << WIDX_SIMPLEX_BASE_FREQ_UP) | - (1ULL << WIDX_SIMPLEX_BASE_FREQ_DOWN) | - (1ULL << WIDX_SIMPLEX_OCTAVES_UP) | - (1ULL << WIDX_SIMPLEX_OCTAVES_DOWN) | - (1ULL << WIDX_SIMPLEX_MAP_SIZE_UP) | - (1ULL << WIDX_SIMPLEX_MAP_SIZE_DOWN) | - (1ULL << WIDX_SIMPLEX_WATER_LEVEL_UP) | - (1ULL << WIDX_SIMPLEX_WATER_LEVEL_DOWN), + (1ULL << WIDX_SIMPLEX_LOW_UP) | + (1ULL << WIDX_SIMPLEX_LOW_DOWN) | + (1ULL << WIDX_SIMPLEX_HIGH_UP) | + (1ULL << WIDX_SIMPLEX_HIGH_DOWN) | + (1ULL << WIDX_SIMPLEX_BASE_FREQ_UP) | + (1ULL << WIDX_SIMPLEX_BASE_FREQ_DOWN) | + (1ULL << WIDX_SIMPLEX_OCTAVES_UP) | + (1ULL << WIDX_SIMPLEX_OCTAVES_DOWN) | + (1ULL << WIDX_SIMPLEX_MAP_SIZE_UP) | + (1ULL << WIDX_SIMPLEX_MAP_SIZE_DOWN) | + (1ULL << WIDX_SIMPLEX_WATER_LEVEL_UP) | + (1ULL << WIDX_SIMPLEX_WATER_LEVEL_DOWN), - (1ULL << WIDX_HEIGHTMAP_STRENGTH_UP) | - (1ULL << WIDX_HEIGHTMAP_STRENGTH_DOWN) | - (1ULL << WIDX_HEIGHTMAP_LOW_UP) | - (1ULL << WIDX_HEIGHTMAP_LOW_DOWN) | - (1ULL << WIDX_HEIGHTMAP_HIGH_UP) | - (1ULL << WIDX_HEIGHTMAP_HIGH_DOWN) | - (1ULL << WIDX_HEIGHTMAP_WATER_LEVEL_UP) | - (1ULL << WIDX_HEIGHTMAP_WATER_LEVEL_DOWN) + (1ULL << WIDX_HEIGHTMAP_STRENGTH_UP) | + (1ULL << WIDX_HEIGHTMAP_STRENGTH_DOWN) | + (1ULL << WIDX_HEIGHTMAP_LOW_UP) | + (1ULL << WIDX_HEIGHTMAP_LOW_DOWN) | + (1ULL << WIDX_HEIGHTMAP_HIGH_UP) | + (1ULL << WIDX_HEIGHTMAP_HIGH_DOWN) | + (1ULL << WIDX_HEIGHTMAP_WATER_LEVEL_UP) | + (1ULL << WIDX_HEIGHTMAP_WATER_LEVEL_DOWN) }; static uint64 PressedWidgets[WINDOW_MAPGEN_PAGE_COUNT] = { - 0, - 0, - 0, - (1ULL << WIDX_HEIGHTMAP_SMOOTH_TILES) + 0, + 0, + 0, + (1ULL << WIDX_HEIGHTMAP_SMOOTH_TILES) }; #pragma endregion static const sint32 TabAnimationDivisor[WINDOW_MAPGEN_PAGE_COUNT] = { - 1, 1, 1, 1 + 1, 1, 1, 1 }; static const sint32 TabAnimationFrames[WINDOW_MAPGEN_PAGE_COUNT] = { - 1, 1, 1, 1 + 1, 1, 1, 1 }; static const sint32 TabAnimationLoops[WINDOW_MAPGEN_PAGE_COUNT] = { - 16, 16, 16, 0 + 16, 16, 16, 0 }; #define BASESIZE_MIN 0 @@ -542,15 +542,15 @@ static void window_mapgen_anchor_border_widgets(rct_window *w); static void window_mapgen_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w); static char FloorTextureOrder[] = { - TERRAIN_SAND_DARK, TERRAIN_SAND_LIGHT, TERRAIN_DIRT, TERRAIN_GRASS_CLUMPS, TERRAIN_GRASS, - TERRAIN_ROCK, TERRAIN_SAND, TERRAIN_MARTIAN, TERRAIN_CHECKERBOARD, TERRAIN_ICE, - TERRAIN_GRID_RED, TERRAIN_GRID_YELLOW, TERRAIN_GRID_BLUE, TERRAIN_GRID_GREEN + TERRAIN_SAND_DARK, TERRAIN_SAND_LIGHT, TERRAIN_DIRT, TERRAIN_GRASS_CLUMPS, TERRAIN_GRASS, + TERRAIN_ROCK, TERRAIN_SAND, TERRAIN_MARTIAN, TERRAIN_CHECKERBOARD, TERRAIN_ICE, + TERRAIN_GRID_RED, TERRAIN_GRID_YELLOW, TERRAIN_GRID_BLUE, TERRAIN_GRID_GREEN }; static char WallTextureOrder[] = { - TERRAIN_EDGE_ROCK, TERRAIN_EDGE_WOOD_RED, - TERRAIN_EDGE_WOOD_BLACK, TERRAIN_EDGE_ICE, - 0, 0 + TERRAIN_EDGE_ROCK, TERRAIN_EDGE_WOOD_RED, + TERRAIN_EDGE_WOOD_BLACK, TERRAIN_EDGE_ICE, + 0, 0 }; static sint32 _mapSize = 150; @@ -576,280 +576,280 @@ static sint32 _heightmapHigh = 70; rct_window *window_mapgen_open() { - rct_window *w = window_bring_to_front_by_class(WC_MAPGEN); - if (w != NULL) { - return w; - } + rct_window *w = window_bring_to_front_by_class(WC_MAPGEN); + if (w != NULL) { + return w; + } - w = window_create_centred( - WW, - WH, - PageEvents[WINDOW_MAPGEN_PAGE_BASE], - WC_MAPGEN, - WF_10 - ); - w->number = 0; - w->frame_no = 0; + w = window_create_centred( + WW, + WH, + PageEvents[WINDOW_MAPGEN_PAGE_BASE], + WC_MAPGEN, + WF_10 + ); + w->number = 0; + w->frame_no = 0; - w->page = WINDOW_MAPGEN_PAGE_BASE; - window_invalidate(w); - w->widgets = PageWidgets[WINDOW_MAPGEN_PAGE_BASE]; - w->enabled_widgets = PageEnabledWidgets[WINDOW_MAPGEN_PAGE_BASE]; - w->hold_down_widgets = HoldDownWidgets[WINDOW_MAPGEN_PAGE_BASE]; - w->event_handlers = PageEvents[WINDOW_MAPGEN_PAGE_BASE]; - w->pressed_widgets = PressedWidgets[WINDOW_MAPGEN_PAGE_BASE]; - w->disabled_widgets = PageDisabledWidgets[WINDOW_MAPGEN_PAGE_BASE]; - window_init_scroll_widgets(w); + w->page = WINDOW_MAPGEN_PAGE_BASE; + window_invalidate(w); + w->widgets = PageWidgets[WINDOW_MAPGEN_PAGE_BASE]; + w->enabled_widgets = PageEnabledWidgets[WINDOW_MAPGEN_PAGE_BASE]; + w->hold_down_widgets = HoldDownWidgets[WINDOW_MAPGEN_PAGE_BASE]; + w->event_handlers = PageEvents[WINDOW_MAPGEN_PAGE_BASE]; + w->pressed_widgets = PressedWidgets[WINDOW_MAPGEN_PAGE_BASE]; + w->disabled_widgets = PageDisabledWidgets[WINDOW_MAPGEN_PAGE_BASE]; + window_init_scroll_widgets(w); - _heightmapLoaded = false; + _heightmapLoaded = false; - return w; + return w; } static void window_mapgen_shared_close(rct_window *w) { - mapgen_unload_heightmap(); + mapgen_unload_heightmap(); } static void window_mapgen_shared_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) - { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - window_mapgen_set_page(w, widgetIndex - WIDX_TAB_1); - break; - } + switch (widgetIndex) + { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + window_mapgen_set_page(w, widgetIndex - WIDX_TAB_1); + break; + } } #pragma region Base page static void window_mapgen_base_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - window_mapgen_shared_mouseup(w, widgetIndex); + window_mapgen_shared_mouseup(w, widgetIndex); - mapgen_settings mapgenSettings; + mapgen_settings mapgenSettings; - switch (widgetIndex) { - case WIDX_MAP_GENERATE: - mapgenSettings.mapSize = _mapSize; - mapgenSettings.height = _baseHeight + 2; - mapgenSettings.water_level = _waterLevel + 2; - mapgenSettings.floor = _floorTexture; - mapgenSettings.wall = _wallTexture; + switch (widgetIndex) { + case WIDX_MAP_GENERATE: + mapgenSettings.mapSize = _mapSize; + mapgenSettings.height = _baseHeight + 2; + mapgenSettings.water_level = _waterLevel + 2; + mapgenSettings.floor = _floorTexture; + mapgenSettings.wall = _wallTexture; - mapgen_generate_blank(&mapgenSettings); - gfx_invalidate_screen(); - break; - case WIDX_MAP_SIZE: - TextInputDescriptionArgs[0] = MINIMUM_MAP_SIZE_PRACTICAL; - TextInputDescriptionArgs[1] = MAXIMUM_MAP_SIZE_PRACTICAL; - // Practical map size is 2 lower than the technical map size - window_text_input_open(w, WIDX_MAP_SIZE, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, STR_FORMAT_INTEGER, _mapSize - 2, 4); - break; - case WIDX_BASE_HEIGHT: - TextInputDescriptionArgs[0] = (BASESIZE_MIN - 12) / 2; - TextInputDescriptionArgs[1] = (BASESIZE_MAX - 12) / 2; - window_text_input_open(w, WIDX_BASE_HEIGHT, STR_BASE_HEIGHT, STR_ENTER_BASE_HEIGHT, STR_FORMAT_INTEGER, (_baseHeight - 12) / 2, 3); - break; - case WIDX_WATER_LEVEL: - TextInputDescriptionArgs[0] = (WATERLEVEL_MIN - 12) / 2; - TextInputDescriptionArgs[1] = (WATERLEVEL_MAX - 12) / 2; - window_text_input_open(w, WIDX_WATER_LEVEL, STR_WATER_LEVEL, STR_ENTER_WATER_LEVEL, STR_FORMAT_INTEGER, (_waterLevel - 12) / 2, 3); - break; - } + mapgen_generate_blank(&mapgenSettings); + gfx_invalidate_screen(); + break; + case WIDX_MAP_SIZE: + TextInputDescriptionArgs[0] = MINIMUM_MAP_SIZE_PRACTICAL; + TextInputDescriptionArgs[1] = MAXIMUM_MAP_SIZE_PRACTICAL; + // Practical map size is 2 lower than the technical map size + window_text_input_open(w, WIDX_MAP_SIZE, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, STR_FORMAT_INTEGER, _mapSize - 2, 4); + break; + case WIDX_BASE_HEIGHT: + TextInputDescriptionArgs[0] = (BASESIZE_MIN - 12) / 2; + TextInputDescriptionArgs[1] = (BASESIZE_MAX - 12) / 2; + window_text_input_open(w, WIDX_BASE_HEIGHT, STR_BASE_HEIGHT, STR_ENTER_BASE_HEIGHT, STR_FORMAT_INTEGER, (_baseHeight - 12) / 2, 3); + break; + case WIDX_WATER_LEVEL: + TextInputDescriptionArgs[0] = (WATERLEVEL_MIN - 12) / 2; + TextInputDescriptionArgs[1] = (WATERLEVEL_MAX - 12) / 2; + window_text_input_open(w, WIDX_WATER_LEVEL, STR_WATER_LEVEL, STR_ENTER_WATER_LEVEL, STR_FORMAT_INTEGER, (_waterLevel - 12) / 2, 3); + break; + } } static void window_mapgen_base_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget* widget) { - sint32 i; - sint32 defaultIndex = -1; - switch (widgetIndex) { - case WIDX_MAP_SIZE_UP: - _mapSize = min(_mapSize + 1, MAXIMUM_MAP_SIZE_TECHNICAL); - window_invalidate(w); - break; - case WIDX_MAP_SIZE_DOWN: - _mapSize = max(_mapSize - 1, MINIMUM_MAP_SIZE_TECHNICAL); - window_invalidate(w); - break; - case WIDX_BASE_HEIGHT_UP: - _baseHeight = min(_baseHeight + 2, BASESIZE_MAX); - window_invalidate(w); - break; - case WIDX_BASE_HEIGHT_DOWN: - _baseHeight = max(_baseHeight - 2, BASESIZE_MIN); - window_invalidate(w); - break; - case WIDX_WATER_LEVEL_UP: - _waterLevel = min(_waterLevel + 2, WATERLEVEL_MAX); - window_invalidate(w); - break; - case WIDX_WATER_LEVEL_DOWN: - _waterLevel = max(_waterLevel - 2, WATERLEVEL_MIN); - window_invalidate(w); - break; - case WIDX_FLOOR_TEXTURE: - for (i = 0; i < 14; i++) { - gDropdownItemsFormat[i] = -1; - gDropdownItemsArgs[i] = SPR_FLOOR_TEXTURE_GRASS + FloorTextureOrder[i]; - if (FloorTextureOrder[i] == _floorTexture) - defaultIndex = i; - } - window_dropdown_show_image( - w->x + widget->left, w->y + widget->top, - widget->bottom - widget->top, - w->colours[2], - 0, - 14, - 47, 36, - gAppropriateImageDropdownItemsPerRow[14] - ); - gDropdownDefaultIndex = defaultIndex; - break; - case WIDX_WALL_TEXTURE: - for (i = 0; i < 4; i++) { - gDropdownItemsFormat[i] = -1; - gDropdownItemsArgs[i] = SPR_WALL_TEXTURE_ROCK + WallTextureOrder[i]; - if (WallTextureOrder[i] == _wallTexture) - defaultIndex = i; - } - window_dropdown_show_image( - w->x + widget->left, w->y + widget->top, - widget->bottom - widget->top, - w->colours[2], - 0, - 4, - 47, 36, - gAppropriateImageDropdownItemsPerRow[4] - ); - gDropdownDefaultIndex = defaultIndex; - break; - } + sint32 i; + sint32 defaultIndex = -1; + switch (widgetIndex) { + case WIDX_MAP_SIZE_UP: + _mapSize = min(_mapSize + 1, MAXIMUM_MAP_SIZE_TECHNICAL); + window_invalidate(w); + break; + case WIDX_MAP_SIZE_DOWN: + _mapSize = max(_mapSize - 1, MINIMUM_MAP_SIZE_TECHNICAL); + window_invalidate(w); + break; + case WIDX_BASE_HEIGHT_UP: + _baseHeight = min(_baseHeight + 2, BASESIZE_MAX); + window_invalidate(w); + break; + case WIDX_BASE_HEIGHT_DOWN: + _baseHeight = max(_baseHeight - 2, BASESIZE_MIN); + window_invalidate(w); + break; + case WIDX_WATER_LEVEL_UP: + _waterLevel = min(_waterLevel + 2, WATERLEVEL_MAX); + window_invalidate(w); + break; + case WIDX_WATER_LEVEL_DOWN: + _waterLevel = max(_waterLevel - 2, WATERLEVEL_MIN); + window_invalidate(w); + break; + case WIDX_FLOOR_TEXTURE: + for (i = 0; i < 14; i++) { + gDropdownItemsFormat[i] = -1; + gDropdownItemsArgs[i] = SPR_FLOOR_TEXTURE_GRASS + FloorTextureOrder[i]; + if (FloorTextureOrder[i] == _floorTexture) + defaultIndex = i; + } + window_dropdown_show_image( + w->x + widget->left, w->y + widget->top, + widget->bottom - widget->top, + w->colours[2], + 0, + 14, + 47, 36, + gAppropriateImageDropdownItemsPerRow[14] + ); + gDropdownDefaultIndex = defaultIndex; + break; + case WIDX_WALL_TEXTURE: + for (i = 0; i < 4; i++) { + gDropdownItemsFormat[i] = -1; + gDropdownItemsArgs[i] = SPR_WALL_TEXTURE_ROCK + WallTextureOrder[i]; + if (WallTextureOrder[i] == _wallTexture) + defaultIndex = i; + } + window_dropdown_show_image( + w->x + widget->left, w->y + widget->top, + widget->bottom - widget->top, + w->colours[2], + 0, + 4, + 47, 36, + gAppropriateImageDropdownItemsPerRow[4] + ); + gDropdownDefaultIndex = defaultIndex; + break; + } } static void window_mapgen_base_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - sint32 type; + sint32 type; - switch (widgetIndex) { - case WIDX_FLOOR_TEXTURE: - if (dropdownIndex == -1) - dropdownIndex = gDropdownHighlightedIndex; + switch (widgetIndex) { + case WIDX_FLOOR_TEXTURE: + if (dropdownIndex == -1) + dropdownIndex = gDropdownHighlightedIndex; - type = (dropdownIndex == -1) ? - _floorTexture : - (uint32)gDropdownItemsArgs[dropdownIndex] - SPR_FLOOR_TEXTURE_GRASS; + type = (dropdownIndex == -1) ? + _floorTexture : + (uint32)gDropdownItemsArgs[dropdownIndex] - SPR_FLOOR_TEXTURE_GRASS; - if (gLandToolTerrainSurface == type) { - gLandToolTerrainSurface = 255; - } else { - gLandToolTerrainSurface = type; - _floorTexture = type; - } - window_invalidate(w); - break; - case WIDX_WALL_TEXTURE: - if (dropdownIndex == -1) - dropdownIndex = gDropdownHighlightedIndex; + if (gLandToolTerrainSurface == type) { + gLandToolTerrainSurface = 255; + } else { + gLandToolTerrainSurface = type; + _floorTexture = type; + } + window_invalidate(w); + break; + case WIDX_WALL_TEXTURE: + if (dropdownIndex == -1) + dropdownIndex = gDropdownHighlightedIndex; - type = (dropdownIndex == -1) ? - _wallTexture : - (uint32)gDropdownItemsArgs[dropdownIndex] - SPR_WALL_TEXTURE_ROCK; + type = (dropdownIndex == -1) ? + _wallTexture : + (uint32)gDropdownItemsArgs[dropdownIndex] - SPR_WALL_TEXTURE_ROCK; - if (gLandToolTerrainEdge == type) { - gLandToolTerrainEdge = 255; - } else { - gLandToolTerrainEdge = type; - _wallTexture = type; - } - window_invalidate(w); - break; - } + if (gLandToolTerrainEdge == type) { + gLandToolTerrainEdge = 255; + } else { + gLandToolTerrainEdge = type; + _wallTexture = type; + } + window_invalidate(w); + break; + } } static void window_mapgen_base_update(rct_window *w) { - // Tab animation - if (++w->frame_no >= TabAnimationLoops[w->page]) - w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_1); + // Tab animation + if (++w->frame_no >= TabAnimationLoops[w->page]) + w->frame_no = 0; + widget_invalidate(w, WIDX_TAB_1); } static void window_mapgen_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - sint32 value; - char* end; + sint32 value; + char* end; - if (text == NULL) - return; + if (text == NULL) + return; - value = strtol(text, &end, 10); + value = strtol(text, &end, 10); - if (*end != '\0') { - return; - } + if (*end != '\0') { + return; + } - switch (widgetIndex) { - case WIDX_MAP_SIZE: - case WIDX_SIMPLEX_MAP_SIZE: - // The practical size is 2 lower than the technical size - value += 2; - _mapSize = clamp(MINIMUM_MAP_SIZE_TECHNICAL, value, MAXIMUM_MAP_SIZE_TECHNICAL); - break; - case WIDX_BASE_HEIGHT: - _baseHeight = clamp(BASESIZE_MIN, (value * 2) + 12, BASESIZE_MAX); - break; - case WIDX_WATER_LEVEL: - _waterLevel = clamp(WATERLEVEL_MIN, (value * 2) + 12, WATERLEVEL_MAX); - break; - } + switch (widgetIndex) { + case WIDX_MAP_SIZE: + case WIDX_SIMPLEX_MAP_SIZE: + // The practical size is 2 lower than the technical size + value += 2; + _mapSize = clamp(MINIMUM_MAP_SIZE_TECHNICAL, value, MAXIMUM_MAP_SIZE_TECHNICAL); + break; + case WIDX_BASE_HEIGHT: + _baseHeight = clamp(BASESIZE_MIN, (value * 2) + 12, BASESIZE_MAX); + break; + case WIDX_WATER_LEVEL: + _waterLevel = clamp(WATERLEVEL_MIN, (value * 2) + 12, WATERLEVEL_MAX); + break; + } - window_invalidate(w); + window_invalidate(w); } static void window_mapgen_base_invalidate(rct_window *w) { - if (w->widgets != PageWidgets[WINDOW_MAPGEN_PAGE_BASE]) { - w->widgets = PageWidgets[WINDOW_MAPGEN_PAGE_BASE]; - window_init_scroll_widgets(w); - } + if (w->widgets != PageWidgets[WINDOW_MAPGEN_PAGE_BASE]) { + w->widgets = PageWidgets[WINDOW_MAPGEN_PAGE_BASE]; + window_init_scroll_widgets(w); + } - w->widgets[WIDX_FLOOR_TEXTURE].image = SPR_FLOOR_TEXTURE_GRASS + _floorTexture; - w->widgets[WIDX_WALL_TEXTURE].image = SPR_WALL_TEXTURE_ROCK + _wallTexture; + w->widgets[WIDX_FLOOR_TEXTURE].image = SPR_FLOOR_TEXTURE_GRASS + _floorTexture; + w->widgets[WIDX_WALL_TEXTURE].image = SPR_WALL_TEXTURE_ROCK + _wallTexture; - window_mapgen_set_pressed_tab(w); + window_mapgen_set_pressed_tab(w); } static void window_mapgen_base_paint(rct_window *w, rct_drawpixelinfo *dpi) { - uint16 arg; + uint16 arg; - window_draw_widgets(w, dpi); - window_mapgen_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_mapgen_draw_tab_images(dpi, w); - const uint8 textColour = w->colours[1]; + const uint8 textColour = w->colours[1]; - gfx_draw_string_left(dpi, STR_MAP_SIZE, NULL, textColour, w->x + 4, w->y + w->widgets[WIDX_MAP_SIZE].top + 1); - gfx_draw_string_left(dpi, STR_BASE_HEIGHT_LABEL, NULL, textColour, w->x + 4, w->y + w->widgets[WIDX_BASE_HEIGHT].top + 1); - gfx_draw_string_left(dpi, STR_WATER_LEVEL_LABEL, NULL, textColour, w->x + 4, w->y + w->widgets[WIDX_WATER_LEVEL].top + 1); - gfx_draw_string_left(dpi, STR_TERRAIN_LABEL, NULL, textColour, w->x + 4, w->y + w->widgets[WIDX_FLOOR_TEXTURE].top + 1); + gfx_draw_string_left(dpi, STR_MAP_SIZE, NULL, textColour, w->x + 4, w->y + w->widgets[WIDX_MAP_SIZE].top + 1); + gfx_draw_string_left(dpi, STR_BASE_HEIGHT_LABEL, NULL, textColour, w->x + 4, w->y + w->widgets[WIDX_BASE_HEIGHT].top + 1); + gfx_draw_string_left(dpi, STR_WATER_LEVEL_LABEL, NULL, textColour, w->x + 4, w->y + w->widgets[WIDX_WATER_LEVEL].top + 1); + gfx_draw_string_left(dpi, STR_TERRAIN_LABEL, NULL, textColour, w->x + 4, w->y + w->widgets[WIDX_FLOOR_TEXTURE].top + 1); - // The practical map size is 2 lower than the technical map size - uint16 mapSizeArgs[2] = { _mapSize - 2, _mapSize -2 }; - gfx_draw_string_left(dpi, STR_RESOLUTION_X_BY_Y, mapSizeArgs, w->colours[1], w->x + w->widgets[WIDX_MAP_SIZE].left + 1, w->y + w->widgets[WIDX_MAP_SIZE].top + 1); + // The practical map size is 2 lower than the technical map size + uint16 mapSizeArgs[2] = { _mapSize - 2, _mapSize -2 }; + gfx_draw_string_left(dpi, STR_RESOLUTION_X_BY_Y, mapSizeArgs, w->colours[1], w->x + w->widgets[WIDX_MAP_SIZE].left + 1, w->y + w->widgets[WIDX_MAP_SIZE].top + 1); - arg = (_baseHeight - 12) / 2; - gfx_draw_string_left(dpi, STR_COMMA16, &arg, w->colours[1], w->x + w->widgets[WIDX_BASE_HEIGHT].left + 1, w->y + w->widgets[WIDX_BASE_HEIGHT].top + 1); + arg = (_baseHeight - 12) / 2; + gfx_draw_string_left(dpi, STR_COMMA16, &arg, w->colours[1], w->x + w->widgets[WIDX_BASE_HEIGHT].left + 1, w->y + w->widgets[WIDX_BASE_HEIGHT].top + 1); - arg = (_waterLevel - 12) / 2; - gfx_draw_string_left(dpi, STR_COMMA16, &arg, w->colours[1], w->x + w->widgets[WIDX_WATER_LEVEL].left + 1, w->y + w->widgets[WIDX_WATER_LEVEL].top + 1); + arg = (_waterLevel - 12) / 2; + gfx_draw_string_left(dpi, STR_COMMA16, &arg, w->colours[1], w->x + w->widgets[WIDX_WATER_LEVEL].left + 1, w->y + w->widgets[WIDX_WATER_LEVEL].top + 1); } #pragma endregion @@ -858,34 +858,34 @@ static void window_mapgen_base_paint(rct_window *w, rct_drawpixelinfo *dpi) static void window_mapgen_random_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - window_mapgen_shared_mouseup(w, widgetIndex); + window_mapgen_shared_mouseup(w, widgetIndex); - mapgen_settings mapgenSettings; + mapgen_settings mapgenSettings; - switch (widgetIndex) { - case WIDX_RANDOM_GENERATE: - mapgenSettings.mapSize = _mapSize; - mapgenSettings.height = _baseHeight + 2; - mapgenSettings.water_level = _waterLevel + 2; - mapgenSettings.floor = _randomTerrrain ? -1 : _floorTexture; - mapgenSettings.wall = _randomTerrrain ? -1 : _wallTexture; - mapgenSettings.trees = _placeTrees; + switch (widgetIndex) { + case WIDX_RANDOM_GENERATE: + mapgenSettings.mapSize = _mapSize; + mapgenSettings.height = _baseHeight + 2; + mapgenSettings.water_level = _waterLevel + 2; + mapgenSettings.floor = _randomTerrrain ? -1 : _floorTexture; + mapgenSettings.wall = _randomTerrrain ? -1 : _wallTexture; + mapgenSettings.trees = _placeTrees; - mapgenSettings.simplex_low = util_rand() % 4; - mapgenSettings.simplex_high = 12 + (util_rand() % (32 - 12)); - mapgenSettings.simplex_base_freq = 1.75f; - mapgenSettings.simplex_octaves = 6; + mapgenSettings.simplex_low = util_rand() % 4; + mapgenSettings.simplex_high = 12 + (util_rand() % (32 - 12)); + mapgenSettings.simplex_base_freq = 1.75f; + mapgenSettings.simplex_octaves = 6; - mapgen_generate(&mapgenSettings); - gfx_invalidate_screen(); - break; - case WIDX_RANDOM_TERRAIN: - _randomTerrrain ^= 1; - break; - case WIDX_RANDOM_PLACE_TREES: - _placeTrees ^= 1; - break; - } + mapgen_generate(&mapgenSettings); + gfx_invalidate_screen(); + break; + case WIDX_RANDOM_TERRAIN: + _randomTerrrain ^= 1; + break; + case WIDX_RANDOM_PLACE_TREES: + _placeTrees ^= 1; + break; + } } static void window_mapgen_random_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget* widget) @@ -895,32 +895,32 @@ static void window_mapgen_random_mousedown(rct_widgetindex widgetIndex, rct_wind static void window_mapgen_random_update(rct_window *w) { - // Tab animation - if (++w->frame_no >= TabAnimationLoops[w->page]) - w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_2); + // Tab animation + if (++w->frame_no >= TabAnimationLoops[w->page]) + w->frame_no = 0; + widget_invalidate(w, WIDX_TAB_2); } static void window_mapgen_random_invalidate(rct_window *w) { - if (w->widgets != PageWidgets[WINDOW_MAPGEN_PAGE_RANDOM]) { - w->widgets = PageWidgets[WINDOW_MAPGEN_PAGE_RANDOM]; - window_init_scroll_widgets(w); - } + if (w->widgets != PageWidgets[WINDOW_MAPGEN_PAGE_RANDOM]) { + w->widgets = PageWidgets[WINDOW_MAPGEN_PAGE_RANDOM]; + window_init_scroll_widgets(w); + } - w->pressed_widgets = 0; - if (_randomTerrrain) - w->pressed_widgets |= 1 << WIDX_RANDOM_TERRAIN; - if (_placeTrees) - w->pressed_widgets |= 1 << WIDX_RANDOM_PLACE_TREES; + w->pressed_widgets = 0; + if (_randomTerrrain) + w->pressed_widgets |= 1 << WIDX_RANDOM_TERRAIN; + if (_placeTrees) + w->pressed_widgets |= 1 << WIDX_RANDOM_PLACE_TREES; - window_mapgen_set_pressed_tab(w); + window_mapgen_set_pressed_tab(w); } static void window_mapgen_random_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_mapgen_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_mapgen_draw_tab_images(dpi, w); } #pragma endregion @@ -929,219 +929,219 @@ static void window_mapgen_random_paint(rct_window *w, rct_drawpixelinfo *dpi) static void window_mapgen_simplex_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - window_mapgen_shared_mouseup(w, widgetIndex); + window_mapgen_shared_mouseup(w, widgetIndex); - mapgen_settings mapgenSettings; + mapgen_settings mapgenSettings; - switch (widgetIndex) { - case WIDX_SIMPLEX_MAP_SIZE: - TextInputDescriptionArgs[0] = MINIMUM_MAP_SIZE_PRACTICAL; - TextInputDescriptionArgs[1] = MAXIMUM_MAP_SIZE_PRACTICAL; - // Practical map size is 2 lower than the technical map size - window_text_input_open(w, WIDX_SIMPLEX_MAP_SIZE, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, STR_FORMAT_INTEGER, _mapSize - 2, 4); - break; - case WIDX_SIMPLEX_GENERATE: - mapgenSettings.mapSize = _mapSize; + switch (widgetIndex) { + case WIDX_SIMPLEX_MAP_SIZE: + TextInputDescriptionArgs[0] = MINIMUM_MAP_SIZE_PRACTICAL; + TextInputDescriptionArgs[1] = MAXIMUM_MAP_SIZE_PRACTICAL; + // Practical map size is 2 lower than the technical map size + window_text_input_open(w, WIDX_SIMPLEX_MAP_SIZE, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, STR_FORMAT_INTEGER, _mapSize - 2, 4); + break; + case WIDX_SIMPLEX_GENERATE: + mapgenSettings.mapSize = _mapSize; - mapgenSettings.height = _baseHeight; - mapgenSettings.water_level = _waterLevel + 2; - mapgenSettings.floor = _floorTexture; - mapgenSettings.wall = _wallTexture; - mapgenSettings.trees = 0; + mapgenSettings.height = _baseHeight; + mapgenSettings.water_level = _waterLevel + 2; + mapgenSettings.floor = _floorTexture; + mapgenSettings.wall = _wallTexture; + mapgenSettings.trees = 0; - mapgenSettings.simplex_low = _simplex_low; - mapgenSettings.simplex_high = _simplex_high; - mapgenSettings.simplex_base_freq = ((float)_simplex_base_freq) / 100.00f; - mapgenSettings.simplex_octaves = _simplex_octaves; + mapgenSettings.simplex_low = _simplex_low; + mapgenSettings.simplex_high = _simplex_high; + mapgenSettings.simplex_base_freq = ((float)_simplex_base_freq) / 100.00f; + mapgenSettings.simplex_octaves = _simplex_octaves; - mapgen_generate(&mapgenSettings); - gfx_invalidate_screen(); - break; - } + mapgen_generate(&mapgenSettings); + gfx_invalidate_screen(); + break; + } } static void window_mapgen_simplex_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget* widget) { - sint32 i; - sint32 defaultIndex = -1; - switch (widgetIndex) { - case WIDX_SIMPLEX_LOW_UP: - _simplex_low = min(_simplex_low + 1, 24); - window_invalidate(w); - break; - case WIDX_SIMPLEX_LOW_DOWN: - _simplex_low = max(_simplex_low - 1, 0); - window_invalidate(w); - break; - case WIDX_SIMPLEX_HIGH_UP: - _simplex_high = min(_simplex_high + 1, 36); - window_invalidate(w); - break; - case WIDX_SIMPLEX_HIGH_DOWN: - _simplex_high = max(_simplex_high - 1, 0); - window_invalidate(w); - break; - case WIDX_SIMPLEX_BASE_FREQ_UP: - _simplex_base_freq = min(_simplex_base_freq + 5, 1000); - window_invalidate(w); - break; - case WIDX_SIMPLEX_BASE_FREQ_DOWN: - _simplex_base_freq = max(_simplex_base_freq - 5, 0); - window_invalidate(w); - break; - case WIDX_SIMPLEX_OCTAVES_UP: - _simplex_octaves = min(_simplex_octaves + 1, 10); - window_invalidate(w); - break; - case WIDX_SIMPLEX_OCTAVES_DOWN: - _simplex_octaves = max(_simplex_octaves - 1, 1); - window_invalidate(w); - break; - case WIDX_SIMPLEX_MAP_SIZE_UP: - _mapSize = min(_mapSize + 1, MAXIMUM_MAP_SIZE_TECHNICAL); - window_invalidate(w); - break; - case WIDX_SIMPLEX_MAP_SIZE_DOWN: - _mapSize = max(_mapSize - 1, MINIMUM_MAP_SIZE_TECHNICAL); - window_invalidate(w); - break; - case WIDX_SIMPLEX_WATER_LEVEL_UP: - _waterLevel = min(_waterLevel + 2, 54); - window_invalidate(w); - break; - case WIDX_SIMPLEX_WATER_LEVEL_DOWN: - _waterLevel = max(_waterLevel - 2, 0); - window_invalidate(w); - break; - case WIDX_SIMPLEX_FLOOR_TEXTURE: - for (i = 0; i < 14; i++) { - gDropdownItemsFormat[i] = -1; - gDropdownItemsArgs[i] = SPR_FLOOR_TEXTURE_GRASS + FloorTextureOrder[i]; - if (FloorTextureOrder[i] == _floorTexture) - defaultIndex = i; - } - window_dropdown_show_image( - w->x + widget->left, w->y + widget->top, - widget->bottom - widget->top, - w->colours[2], - 0, - 14, - 47, 36, - gAppropriateImageDropdownItemsPerRow[14] - ); - gDropdownDefaultIndex = defaultIndex; - break; - case WIDX_SIMPLEX_WALL_TEXTURE: - for (i = 0; i < 4; i++) { - gDropdownItemsFormat[i] = -1; - gDropdownItemsArgs[i] = SPR_WALL_TEXTURE_ROCK + WallTextureOrder[i]; - if (WallTextureOrder[i] == _wallTexture) - defaultIndex = i; - } - window_dropdown_show_image( - w->x + widget->left, w->y + widget->top, - widget->bottom - widget->top, - w->colours[2], - 0, - 4, - 47, 36, - gAppropriateImageDropdownItemsPerRow[4] - ); - gDropdownDefaultIndex = defaultIndex; - break; - } + sint32 i; + sint32 defaultIndex = -1; + switch (widgetIndex) { + case WIDX_SIMPLEX_LOW_UP: + _simplex_low = min(_simplex_low + 1, 24); + window_invalidate(w); + break; + case WIDX_SIMPLEX_LOW_DOWN: + _simplex_low = max(_simplex_low - 1, 0); + window_invalidate(w); + break; + case WIDX_SIMPLEX_HIGH_UP: + _simplex_high = min(_simplex_high + 1, 36); + window_invalidate(w); + break; + case WIDX_SIMPLEX_HIGH_DOWN: + _simplex_high = max(_simplex_high - 1, 0); + window_invalidate(w); + break; + case WIDX_SIMPLEX_BASE_FREQ_UP: + _simplex_base_freq = min(_simplex_base_freq + 5, 1000); + window_invalidate(w); + break; + case WIDX_SIMPLEX_BASE_FREQ_DOWN: + _simplex_base_freq = max(_simplex_base_freq - 5, 0); + window_invalidate(w); + break; + case WIDX_SIMPLEX_OCTAVES_UP: + _simplex_octaves = min(_simplex_octaves + 1, 10); + window_invalidate(w); + break; + case WIDX_SIMPLEX_OCTAVES_DOWN: + _simplex_octaves = max(_simplex_octaves - 1, 1); + window_invalidate(w); + break; + case WIDX_SIMPLEX_MAP_SIZE_UP: + _mapSize = min(_mapSize + 1, MAXIMUM_MAP_SIZE_TECHNICAL); + window_invalidate(w); + break; + case WIDX_SIMPLEX_MAP_SIZE_DOWN: + _mapSize = max(_mapSize - 1, MINIMUM_MAP_SIZE_TECHNICAL); + window_invalidate(w); + break; + case WIDX_SIMPLEX_WATER_LEVEL_UP: + _waterLevel = min(_waterLevel + 2, 54); + window_invalidate(w); + break; + case WIDX_SIMPLEX_WATER_LEVEL_DOWN: + _waterLevel = max(_waterLevel - 2, 0); + window_invalidate(w); + break; + case WIDX_SIMPLEX_FLOOR_TEXTURE: + for (i = 0; i < 14; i++) { + gDropdownItemsFormat[i] = -1; + gDropdownItemsArgs[i] = SPR_FLOOR_TEXTURE_GRASS + FloorTextureOrder[i]; + if (FloorTextureOrder[i] == _floorTexture) + defaultIndex = i; + } + window_dropdown_show_image( + w->x + widget->left, w->y + widget->top, + widget->bottom - widget->top, + w->colours[2], + 0, + 14, + 47, 36, + gAppropriateImageDropdownItemsPerRow[14] + ); + gDropdownDefaultIndex = defaultIndex; + break; + case WIDX_SIMPLEX_WALL_TEXTURE: + for (i = 0; i < 4; i++) { + gDropdownItemsFormat[i] = -1; + gDropdownItemsArgs[i] = SPR_WALL_TEXTURE_ROCK + WallTextureOrder[i]; + if (WallTextureOrder[i] == _wallTexture) + defaultIndex = i; + } + window_dropdown_show_image( + w->x + widget->left, w->y + widget->top, + widget->bottom - widget->top, + w->colours[2], + 0, + 4, + 47, 36, + gAppropriateImageDropdownItemsPerRow[4] + ); + gDropdownDefaultIndex = defaultIndex; + break; + } } static void window_mapgen_simplex_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - sint32 type; + sint32 type; - switch (widgetIndex) { - case WIDX_SIMPLEX_FLOOR_TEXTURE: - if (dropdownIndex == -1) - dropdownIndex = gDropdownHighlightedIndex; + switch (widgetIndex) { + case WIDX_SIMPLEX_FLOOR_TEXTURE: + if (dropdownIndex == -1) + dropdownIndex = gDropdownHighlightedIndex; - type = (dropdownIndex == -1) ? - _floorTexture : - (uint32)gDropdownItemsArgs[dropdownIndex] - SPR_FLOOR_TEXTURE_GRASS; + type = (dropdownIndex == -1) ? + _floorTexture : + (uint32)gDropdownItemsArgs[dropdownIndex] - SPR_FLOOR_TEXTURE_GRASS; - if (gLandToolTerrainSurface == type) { - gLandToolTerrainSurface = 255; - } - else { - gLandToolTerrainSurface = type; - _floorTexture = type; - } - window_invalidate(w); - break; - case WIDX_SIMPLEX_WALL_TEXTURE: - if (dropdownIndex == -1) - dropdownIndex = gDropdownHighlightedIndex; + if (gLandToolTerrainSurface == type) { + gLandToolTerrainSurface = 255; + } + else { + gLandToolTerrainSurface = type; + _floorTexture = type; + } + window_invalidate(w); + break; + case WIDX_SIMPLEX_WALL_TEXTURE: + if (dropdownIndex == -1) + dropdownIndex = gDropdownHighlightedIndex; - type = (dropdownIndex == -1) ? - _wallTexture : - (uint32)gDropdownItemsArgs[dropdownIndex] - SPR_WALL_TEXTURE_ROCK; + type = (dropdownIndex == -1) ? + _wallTexture : + (uint32)gDropdownItemsArgs[dropdownIndex] - SPR_WALL_TEXTURE_ROCK; - if (gLandToolTerrainEdge == type) { - gLandToolTerrainEdge = 255; - } - else { - gLandToolTerrainEdge = type; - _wallTexture = type; - } - window_invalidate(w); - break; - } + if (gLandToolTerrainEdge == type) { + gLandToolTerrainEdge = 255; + } + else { + gLandToolTerrainEdge = type; + _wallTexture = type; + } + window_invalidate(w); + break; + } } static void window_mapgen_simplex_update(rct_window *w) { - // Tab animation - if (++w->frame_no >= TabAnimationLoops[w->page]) - w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_3); + // Tab animation + if (++w->frame_no >= TabAnimationLoops[w->page]) + w->frame_no = 0; + widget_invalidate(w, WIDX_TAB_3); } static void window_mapgen_simplex_invalidate(rct_window *w) { - if (w->widgets != PageWidgets[WINDOW_MAPGEN_PAGE_SIMPLEX]) { - w->widgets = PageWidgets[WINDOW_MAPGEN_PAGE_SIMPLEX]; - window_init_scroll_widgets(w); - } + if (w->widgets != PageWidgets[WINDOW_MAPGEN_PAGE_SIMPLEX]) { + w->widgets = PageWidgets[WINDOW_MAPGEN_PAGE_SIMPLEX]; + window_init_scroll_widgets(w); + } - w->widgets[WIDX_SIMPLEX_FLOOR_TEXTURE].image = SPR_FLOOR_TEXTURE_GRASS + _floorTexture; - w->widgets[WIDX_SIMPLEX_WALL_TEXTURE].image = SPR_WALL_TEXTURE_ROCK + _wallTexture; + w->widgets[WIDX_SIMPLEX_FLOOR_TEXTURE].image = SPR_FLOOR_TEXTURE_GRASS + _floorTexture; + w->widgets[WIDX_SIMPLEX_WALL_TEXTURE].image = SPR_WALL_TEXTURE_ROCK + _wallTexture; - window_mapgen_set_pressed_tab(w); + window_mapgen_set_pressed_tab(w); } static void window_mapgen_simplex_paint(rct_window *w, rct_drawpixelinfo *dpi) { - uint16 arg; + uint16 arg; - window_draw_widgets(w, dpi); - window_mapgen_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_mapgen_draw_tab_images(dpi, w); - const uint8 textColour = w->colours[1]; + const uint8 textColour = w->colours[1]; - gfx_draw_string_left(dpi, STR_MAPGEN_SIMPLEX_NOISE_LOW_, NULL, textColour, w->x + 5, w->y + w->widgets[WIDX_SIMPLEX_LOW].top + 1); - gfx_draw_string_left(dpi, STR_MAPGEN_SIMPLEX_NOISE_HIGH, NULL, textColour, w->x + 5, w->y + w->widgets[WIDX_SIMPLEX_HIGH].top + 1); - gfx_draw_string_left(dpi, STR_MAPGEN_SIMPLEX_NOISE_BASE_FREQUENCY, NULL, textColour, w->x + 5, w->y + w->widgets[WIDX_SIMPLEX_BASE_FREQ].top + 1); - gfx_draw_string_left(dpi, STR_MAPGEN_SIMPLEX_NOISE_OCTAVES, NULL, textColour, w->x + 5, w->y + w->widgets[WIDX_SIMPLEX_OCTAVES].top + 1); - gfx_draw_string_left(dpi, STR_MAP_SIZE, NULL, textColour, w->x + 5, w->y + w->widgets[WIDX_SIMPLEX_MAP_SIZE].top + 1); - gfx_draw_string_left(dpi, STR_WATER_LEVEL_LABEL, NULL, textColour, w->x + 5, w->y + w->widgets[WIDX_SIMPLEX_WATER_LEVEL].top + 1); + gfx_draw_string_left(dpi, STR_MAPGEN_SIMPLEX_NOISE_LOW_, NULL, textColour, w->x + 5, w->y + w->widgets[WIDX_SIMPLEX_LOW].top + 1); + gfx_draw_string_left(dpi, STR_MAPGEN_SIMPLEX_NOISE_HIGH, NULL, textColour, w->x + 5, w->y + w->widgets[WIDX_SIMPLEX_HIGH].top + 1); + gfx_draw_string_left(dpi, STR_MAPGEN_SIMPLEX_NOISE_BASE_FREQUENCY, NULL, textColour, w->x + 5, w->y + w->widgets[WIDX_SIMPLEX_BASE_FREQ].top + 1); + gfx_draw_string_left(dpi, STR_MAPGEN_SIMPLEX_NOISE_OCTAVES, NULL, textColour, w->x + 5, w->y + w->widgets[WIDX_SIMPLEX_OCTAVES].top + 1); + gfx_draw_string_left(dpi, STR_MAP_SIZE, NULL, textColour, w->x + 5, w->y + w->widgets[WIDX_SIMPLEX_MAP_SIZE].top + 1); + gfx_draw_string_left(dpi, STR_WATER_LEVEL_LABEL, NULL, textColour, w->x + 5, w->y + w->widgets[WIDX_SIMPLEX_WATER_LEVEL].top + 1); - gfx_draw_string_left(dpi, STR_COMMA16, &_simplex_low, textColour, w->x + w->widgets[WIDX_SIMPLEX_LOW].left + 1, w->y + w->widgets[WIDX_SIMPLEX_LOW].top + 1); - gfx_draw_string_left(dpi, STR_COMMA16, &_simplex_high, textColour, w->x + w->widgets[WIDX_SIMPLEX_HIGH].left + 1, w->y + w->widgets[WIDX_SIMPLEX_HIGH].top + 1); - gfx_draw_string_left(dpi, STR_WINDOW_OBJECTIVE_VALUE_RATING, &_simplex_base_freq, textColour, w->x + w->widgets[WIDX_SIMPLEX_BASE_FREQ].left + 1, w->y + w->widgets[WIDX_SIMPLEX_BASE_FREQ].top + 1); - gfx_draw_string_left(dpi, STR_COMMA16, &_simplex_octaves, textColour, w->x + w->widgets[WIDX_SIMPLEX_OCTAVES].left + 1, w->y + w->widgets[WIDX_SIMPLEX_OCTAVES].top + 1); + gfx_draw_string_left(dpi, STR_COMMA16, &_simplex_low, textColour, w->x + w->widgets[WIDX_SIMPLEX_LOW].left + 1, w->y + w->widgets[WIDX_SIMPLEX_LOW].top + 1); + gfx_draw_string_left(dpi, STR_COMMA16, &_simplex_high, textColour, w->x + w->widgets[WIDX_SIMPLEX_HIGH].left + 1, w->y + w->widgets[WIDX_SIMPLEX_HIGH].top + 1); + gfx_draw_string_left(dpi, STR_WINDOW_OBJECTIVE_VALUE_RATING, &_simplex_base_freq, textColour, w->x + w->widgets[WIDX_SIMPLEX_BASE_FREQ].left + 1, w->y + w->widgets[WIDX_SIMPLEX_BASE_FREQ].top + 1); + gfx_draw_string_left(dpi, STR_COMMA16, &_simplex_octaves, textColour, w->x + w->widgets[WIDX_SIMPLEX_OCTAVES].left + 1, w->y + w->widgets[WIDX_SIMPLEX_OCTAVES].top + 1); - // The practical map size is 2 lower than the technical map size - uint16 mapSizeArgs[2] = { _mapSize - 2, _mapSize - 2 }; - gfx_draw_string_left(dpi, STR_RESOLUTION_X_BY_Y, mapSizeArgs, textColour, w->x + w->widgets[WIDX_SIMPLEX_MAP_SIZE].left + 1, w->y + w->widgets[WIDX_SIMPLEX_MAP_SIZE].top + 1); + // The practical map size is 2 lower than the technical map size + uint16 mapSizeArgs[2] = { _mapSize - 2, _mapSize - 2 }; + gfx_draw_string_left(dpi, STR_RESOLUTION_X_BY_Y, mapSizeArgs, textColour, w->x + w->widgets[WIDX_SIMPLEX_MAP_SIZE].left + 1, w->y + w->widgets[WIDX_SIMPLEX_MAP_SIZE].top + 1); - arg = (_waterLevel - 12) / 2; - gfx_draw_string_left(dpi, STR_COMMA16, &arg, textColour, w->x + w->widgets[WIDX_SIMPLEX_WATER_LEVEL].left + 1, w->y + w->widgets[WIDX_SIMPLEX_WATER_LEVEL].top + 1); + arg = (_waterLevel - 12) / 2; + gfx_draw_string_left(dpi, STR_COMMA16, &arg, textColour, w->x + w->widgets[WIDX_SIMPLEX_WATER_LEVEL].left + 1, w->y + w->widgets[WIDX_SIMPLEX_WATER_LEVEL].top + 1); } #pragma endregion @@ -1150,163 +1150,163 @@ static void window_mapgen_simplex_paint(rct_window *w, rct_drawpixelinfo *dpi) static void window_mapgen_heightmap_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget* widget) { - switch (widgetIndex) - { - case WIDX_HEIGHTMAP_STRENGTH_UP: - _heightmapSmoothStrength = min(_heightmapSmoothStrength + 1, MAX_SMOOTH_ITERATIONS); - widget_invalidate(w, WIDX_HEIGHTMAP_STRENGTH); - break; - case WIDX_HEIGHTMAP_STRENGTH_DOWN: - _heightmapSmoothStrength = max(_heightmapSmoothStrength - 1, 1); - widget_invalidate(w, WIDX_HEIGHTMAP_STRENGTH); - break; - case WIDX_HEIGHTMAP_LOW_UP: - _heightmapLow = min(_heightmapLow + 1, 142 - 1); - _heightmapHigh = max(_heightmapHigh, _heightmapLow + 1); - widget_invalidate(w, WIDX_HEIGHTMAP_LOW); - break; - case WIDX_HEIGHTMAP_LOW_DOWN: - _heightmapLow = max(_heightmapLow - 1, 2); - widget_invalidate(w, WIDX_HEIGHTMAP_LOW); - break; - case WIDX_HEIGHTMAP_HIGH_UP: - _heightmapHigh = min(_heightmapHigh + 1, 142); - widget_invalidate(w, WIDX_HEIGHTMAP_HIGH); - break; - case WIDX_HEIGHTMAP_HIGH_DOWN: - _heightmapHigh = max(_heightmapHigh - 1, 2 + 1); - _heightmapLow = min(_heightmapLow, _heightmapHigh - 1); - widget_invalidate(w, WIDX_HEIGHTMAP_HIGH); - break; - case WIDX_HEIGHTMAP_WATER_LEVEL_UP: - _waterLevel = min(_waterLevel + 2, 54); - widget_invalidate(w, WIDX_HEIGHTMAP_WATER_LEVEL); - break; - case WIDX_HEIGHTMAP_WATER_LEVEL_DOWN: - _waterLevel = max(_waterLevel - 2, 0); - widget_invalidate(w, WIDX_HEIGHTMAP_WATER_LEVEL); - break; - } + switch (widgetIndex) + { + case WIDX_HEIGHTMAP_STRENGTH_UP: + _heightmapSmoothStrength = min(_heightmapSmoothStrength + 1, MAX_SMOOTH_ITERATIONS); + widget_invalidate(w, WIDX_HEIGHTMAP_STRENGTH); + break; + case WIDX_HEIGHTMAP_STRENGTH_DOWN: + _heightmapSmoothStrength = max(_heightmapSmoothStrength - 1, 1); + widget_invalidate(w, WIDX_HEIGHTMAP_STRENGTH); + break; + case WIDX_HEIGHTMAP_LOW_UP: + _heightmapLow = min(_heightmapLow + 1, 142 - 1); + _heightmapHigh = max(_heightmapHigh, _heightmapLow + 1); + widget_invalidate(w, WIDX_HEIGHTMAP_LOW); + break; + case WIDX_HEIGHTMAP_LOW_DOWN: + _heightmapLow = max(_heightmapLow - 1, 2); + widget_invalidate(w, WIDX_HEIGHTMAP_LOW); + break; + case WIDX_HEIGHTMAP_HIGH_UP: + _heightmapHigh = min(_heightmapHigh + 1, 142); + widget_invalidate(w, WIDX_HEIGHTMAP_HIGH); + break; + case WIDX_HEIGHTMAP_HIGH_DOWN: + _heightmapHigh = max(_heightmapHigh - 1, 2 + 1); + _heightmapLow = min(_heightmapLow, _heightmapHigh - 1); + widget_invalidate(w, WIDX_HEIGHTMAP_HIGH); + break; + case WIDX_HEIGHTMAP_WATER_LEVEL_UP: + _waterLevel = min(_waterLevel + 2, 54); + widget_invalidate(w, WIDX_HEIGHTMAP_WATER_LEVEL); + break; + case WIDX_HEIGHTMAP_WATER_LEVEL_DOWN: + _waterLevel = max(_waterLevel - 2, 0); + widget_invalidate(w, WIDX_HEIGHTMAP_WATER_LEVEL); + break; + } } static void window_mapgen_heightmap_generate_map() { - mapgen_settings mapgenSettings; - mapgenSettings.water_level = _waterLevel; - mapgenSettings.smooth = _heightmapSmoothTiles; - mapgenSettings.smooth_height_map = _heightmapSmoothMap; - mapgenSettings.smooth_strength = _heightmapSmoothStrength; - mapgenSettings.normalize_height = _heightmapNormalize; - mapgenSettings.simplex_low = _heightmapLow; - mapgenSettings.simplex_high = _heightmapHigh; - mapgen_generate_from_heightmap(&mapgenSettings); - gfx_invalidate_screen(); + mapgen_settings mapgenSettings; + mapgenSettings.water_level = _waterLevel; + mapgenSettings.smooth = _heightmapSmoothTiles; + mapgenSettings.smooth_height_map = _heightmapSmoothMap; + mapgenSettings.smooth_strength = _heightmapSmoothStrength; + mapgenSettings.normalize_height = _heightmapNormalize; + mapgenSettings.simplex_low = _heightmapLow; + mapgenSettings.simplex_high = _heightmapHigh; + mapgen_generate_from_heightmap(&mapgenSettings); + gfx_invalidate_screen(); } static void window_mapgen_heightmap_loadsave_callback(sint32 result, const utf8 *path) { - if (result == MODAL_RESULT_OK) { - if (!mapgen_load_heightmap(path)) { - // TODO: Display error popup - return; - } + if (result == MODAL_RESULT_OK) { + if (!mapgen_load_heightmap(path)) { + // TODO: Display error popup + return; + } - // The window needs to be open while using the map - rct_window *const w = window_mapgen_open(); - _heightmapLoaded = true; - window_mapgen_set_page(w, WINDOW_MAPGEN_PAGE_HEIGHTMAP); + // The window needs to be open while using the map + rct_window *const w = window_mapgen_open(); + _heightmapLoaded = true; + window_mapgen_set_page(w, WINDOW_MAPGEN_PAGE_HEIGHTMAP); - window_mapgen_heightmap_generate_map(); - } + window_mapgen_heightmap_generate_map(); + } } static void window_mapgen_heightmap_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - window_mapgen_shared_mouseup(w, widgetIndex); + window_mapgen_shared_mouseup(w, widgetIndex); - switch (widgetIndex) - { - case WIDX_CLOSE: - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - return; // Only widgets that change a setting need to regenerate the map + switch (widgetIndex) + { + case WIDX_CLOSE: + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + return; // Only widgets that change a setting need to regenerate the map - // Page widgets - case WIDX_HEIGHTMAP_SELECT: - window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_IMAGE, NULL); - window_loadsave_set_loadsave_callback(window_mapgen_heightmap_loadsave_callback); - return; - case WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP: - _heightmapSmoothMap = !_heightmapSmoothMap; - widget_set_checkbox_value(w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, _heightmapSmoothMap); - widget_set_enabled(w, WIDX_HEIGHTMAP_STRENGTH, _heightmapSmoothMap); - widget_set_enabled(w, WIDX_HEIGHTMAP_STRENGTH_UP, _heightmapSmoothMap); - widget_set_enabled(w, WIDX_HEIGHTMAP_STRENGTH_DOWN, _heightmapSmoothMap); - widget_invalidate(w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP); - widget_invalidate(w, WIDX_HEIGHTMAP_STRENGTH); - break; - case WIDX_HEIGHTMAP_NORMALIZE: - _heightmapNormalize = !_heightmapNormalize; - widget_set_checkbox_value(w, WIDX_HEIGHTMAP_NORMALIZE, _heightmapNormalize); - widget_invalidate(w, WIDX_HEIGHTMAP_NORMALIZE); - break; - case WIDX_HEIGHTMAP_SMOOTH_TILES: - _heightmapSmoothTiles = !_heightmapSmoothTiles; - widget_set_checkbox_value(w, WIDX_HEIGHTMAP_SMOOTH_TILES, _heightmapSmoothTiles); - widget_invalidate(w, WIDX_HEIGHTMAP_SMOOTH_TILES); - break; - } + // Page widgets + case WIDX_HEIGHTMAP_SELECT: + window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_IMAGE, NULL); + window_loadsave_set_loadsave_callback(window_mapgen_heightmap_loadsave_callback); + return; + case WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP: + _heightmapSmoothMap = !_heightmapSmoothMap; + widget_set_checkbox_value(w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, _heightmapSmoothMap); + widget_set_enabled(w, WIDX_HEIGHTMAP_STRENGTH, _heightmapSmoothMap); + widget_set_enabled(w, WIDX_HEIGHTMAP_STRENGTH_UP, _heightmapSmoothMap); + widget_set_enabled(w, WIDX_HEIGHTMAP_STRENGTH_DOWN, _heightmapSmoothMap); + widget_invalidate(w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP); + widget_invalidate(w, WIDX_HEIGHTMAP_STRENGTH); + break; + case WIDX_HEIGHTMAP_NORMALIZE: + _heightmapNormalize = !_heightmapNormalize; + widget_set_checkbox_value(w, WIDX_HEIGHTMAP_NORMALIZE, _heightmapNormalize); + widget_invalidate(w, WIDX_HEIGHTMAP_NORMALIZE); + break; + case WIDX_HEIGHTMAP_SMOOTH_TILES: + _heightmapSmoothTiles = !_heightmapSmoothTiles; + widget_set_checkbox_value(w, WIDX_HEIGHTMAP_SMOOTH_TILES, _heightmapSmoothTiles); + widget_invalidate(w, WIDX_HEIGHTMAP_SMOOTH_TILES); + break; + } - // Always regenerate the map after one of the page widgets has been changed - window_mapgen_heightmap_generate_map(); + // Always regenerate the map after one of the page widgets has been changed + window_mapgen_heightmap_generate_map(); } static void window_mapgen_heightmap_invalidate(rct_window *w) { - if (w->widgets != PageWidgets[WINDOW_MAPGEN_PAGE_HEIGHTMAP]) - { - w->widgets = PageWidgets[WINDOW_MAPGEN_PAGE_HEIGHTMAP]; - window_init_scroll_widgets(w); - } + if (w->widgets != PageWidgets[WINDOW_MAPGEN_PAGE_HEIGHTMAP]) + { + w->widgets = PageWidgets[WINDOW_MAPGEN_PAGE_HEIGHTMAP]; + window_init_scroll_widgets(w); + } - widget_set_checkbox_value(w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, _heightmapSmoothMap); - widget_set_checkbox_value(w, WIDX_HEIGHTMAP_NORMALIZE, _heightmapNormalize); - widget_set_checkbox_value(w, WIDX_HEIGHTMAP_SMOOTH_TILES, _heightmapSmoothTiles); + widget_set_checkbox_value(w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, _heightmapSmoothMap); + widget_set_checkbox_value(w, WIDX_HEIGHTMAP_NORMALIZE, _heightmapNormalize); + widget_set_checkbox_value(w, WIDX_HEIGHTMAP_SMOOTH_TILES, _heightmapSmoothTiles); - window_mapgen_set_pressed_tab(w); + window_mapgen_set_pressed_tab(w); } static void window_mapgen_heightmap_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_mapgen_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_mapgen_draw_tab_images(dpi, w); - const uint8 enabledColour = w->colours[1]; - const uint8 disabledColour = enabledColour | COLOUR_FLAG_INSET; + const uint8 enabledColour = w->colours[1]; + const uint8 disabledColour = enabledColour | COLOUR_FLAG_INSET; - // Smooth strength label and value - const uint8 strengthColour = _heightmapSmoothMap ? enabledColour : disabledColour; - sint16 strength = _heightmapSmoothStrength; - gfx_draw_string_left(dpi, STR_MAPGEN_SMOOTH_STRENGTH, NULL, strengthColour, w->x + 5, w->y + w->widgets[WIDX_HEIGHTMAP_STRENGTH].top + 1); - gfx_draw_string_left(dpi, STR_COMMA16, &strength, strengthColour, w->x + w->widgets[WIDX_HEIGHTMAP_STRENGTH].left + 1, w->y + w->widgets[WIDX_HEIGHTMAP_STRENGTH].top + 1); + // Smooth strength label and value + const uint8 strengthColour = _heightmapSmoothMap ? enabledColour : disabledColour; + sint16 strength = _heightmapSmoothStrength; + gfx_draw_string_left(dpi, STR_MAPGEN_SMOOTH_STRENGTH, NULL, strengthColour, w->x + 5, w->y + w->widgets[WIDX_HEIGHTMAP_STRENGTH].top + 1); + gfx_draw_string_left(dpi, STR_COMMA16, &strength, strengthColour, w->x + w->widgets[WIDX_HEIGHTMAP_STRENGTH].left + 1, w->y + w->widgets[WIDX_HEIGHTMAP_STRENGTH].top + 1); - // Low label and value - const uint8 labelColour = _heightmapLoaded ? enabledColour : disabledColour; - sint16 low = _heightmapLow; - gfx_draw_string_left(dpi, STR_MAPGEN_SIMPLEX_NOISE_LOW_, NULL, labelColour, w->x + 5, w->y + w->widgets[WIDX_HEIGHTMAP_LOW].top + 1); - gfx_draw_string_left(dpi, STR_COMMA16, &low, labelColour, w->x + w->widgets[WIDX_HEIGHTMAP_LOW].left + 1, w->y + w->widgets[WIDX_HEIGHTMAP_LOW].top + 1); + // Low label and value + const uint8 labelColour = _heightmapLoaded ? enabledColour : disabledColour; + sint16 low = _heightmapLow; + gfx_draw_string_left(dpi, STR_MAPGEN_SIMPLEX_NOISE_LOW_, NULL, labelColour, w->x + 5, w->y + w->widgets[WIDX_HEIGHTMAP_LOW].top + 1); + gfx_draw_string_left(dpi, STR_COMMA16, &low, labelColour, w->x + w->widgets[WIDX_HEIGHTMAP_LOW].left + 1, w->y + w->widgets[WIDX_HEIGHTMAP_LOW].top + 1); - // High label and value - sint16 high = _heightmapHigh; - gfx_draw_string_left(dpi, STR_MAPGEN_SIMPLEX_NOISE_HIGH, NULL, labelColour, w->x + 5, w->y + w->widgets[WIDX_HEIGHTMAP_HIGH].top + 1); - gfx_draw_string_left(dpi, STR_COMMA16, &high, labelColour, w->x + w->widgets[WIDX_HEIGHTMAP_HIGH].left + 1, w->y + w->widgets[WIDX_HEIGHTMAP_HIGH].top + 1); + // High label and value + sint16 high = _heightmapHigh; + gfx_draw_string_left(dpi, STR_MAPGEN_SIMPLEX_NOISE_HIGH, NULL, labelColour, w->x + 5, w->y + w->widgets[WIDX_HEIGHTMAP_HIGH].top + 1); + gfx_draw_string_left(dpi, STR_COMMA16, &high, labelColour, w->x + w->widgets[WIDX_HEIGHTMAP_HIGH].left + 1, w->y + w->widgets[WIDX_HEIGHTMAP_HIGH].top + 1); - // Water level label and value - sint16 waterLevel = _waterLevel; - gfx_draw_string_left(dpi, STR_WATER_LEVEL_LABEL, NULL, labelColour, w->x + 5, w->y + w->widgets[WIDX_HEIGHTMAP_WATER_LEVEL].top + 1); - gfx_draw_string_left(dpi, STR_COMMA16, &waterLevel, labelColour, w->x + w->widgets[WIDX_HEIGHTMAP_WATER_LEVEL].left + 1, w->y + w->widgets[WIDX_HEIGHTMAP_WATER_LEVEL].top + 1); + // Water level label and value + sint16 waterLevel = _waterLevel; + gfx_draw_string_left(dpi, STR_WATER_LEVEL_LABEL, NULL, labelColour, w->x + 5, w->y + w->widgets[WIDX_HEIGHTMAP_WATER_LEVEL].top + 1); + gfx_draw_string_left(dpi, STR_COMMA16, &waterLevel, labelColour, w->x + w->widgets[WIDX_HEIGHTMAP_WATER_LEVEL].left + 1, w->y + w->widgets[WIDX_HEIGHTMAP_WATER_LEVEL].top + 1); } #pragma endregion @@ -1315,72 +1315,72 @@ static void window_mapgen_heightmap_paint(rct_window *w, rct_drawpixelinfo *dpi) static void window_mapgen_set_page(rct_window *w, sint32 page) { - w->page = page; - w->frame_no = 0; - if (w->viewport != NULL) { - w->viewport->width = 0; - w->viewport = NULL; - } + w->page = page; + w->frame_no = 0; + if (w->viewport != NULL) { + w->viewport->width = 0; + w->viewport = NULL; + } - w->enabled_widgets = PageEnabledWidgets[page]; - w->hold_down_widgets = HoldDownWidgets[page]; - w->event_handlers = PageEvents[page]; - w->widgets = PageWidgets[page]; - w->disabled_widgets = PageDisabledWidgets[page]; - w->pressed_widgets = PressedWidgets[page]; + w->enabled_widgets = PageEnabledWidgets[page]; + w->hold_down_widgets = HoldDownWidgets[page]; + w->event_handlers = PageEvents[page]; + w->widgets = PageWidgets[page]; + w->disabled_widgets = PageDisabledWidgets[page]; + w->pressed_widgets = PressedWidgets[page]; - // Enable heightmap widgets if one is loaded - if (page == WINDOW_MAPGEN_PAGE_HEIGHTMAP && _heightmapLoaded) - { - widget_set_enabled(w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, true); - widget_set_enabled(w, WIDX_HEIGHTMAP_STRENGTH, _heightmapSmoothMap); - widget_set_enabled(w, WIDX_HEIGHTMAP_STRENGTH_UP, _heightmapSmoothMap); - widget_set_enabled(w, WIDX_HEIGHTMAP_STRENGTH_DOWN, _heightmapSmoothMap); - widget_set_enabled(w, WIDX_HEIGHTMAP_NORMALIZE, true); - widget_set_enabled(w, WIDX_HEIGHTMAP_SMOOTH_TILES, true); - widget_set_enabled(w, WIDX_HEIGHTMAP_HIGH, true); - widget_set_enabled(w, WIDX_HEIGHTMAP_HIGH_UP, true); - widget_set_enabled(w, WIDX_HEIGHTMAP_HIGH_DOWN, true); - widget_set_enabled(w, WIDX_HEIGHTMAP_LOW, true); - widget_set_enabled(w, WIDX_HEIGHTMAP_LOW_UP, true); - widget_set_enabled(w, WIDX_HEIGHTMAP_LOW_DOWN, true); - widget_set_enabled(w, WIDX_HEIGHTMAP_WATER_LEVEL, true); - widget_set_enabled(w, WIDX_HEIGHTMAP_WATER_LEVEL_UP, true); - widget_set_enabled(w, WIDX_HEIGHTMAP_WATER_LEVEL_DOWN, true); - } + // Enable heightmap widgets if one is loaded + if (page == WINDOW_MAPGEN_PAGE_HEIGHTMAP && _heightmapLoaded) + { + widget_set_enabled(w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, true); + widget_set_enabled(w, WIDX_HEIGHTMAP_STRENGTH, _heightmapSmoothMap); + widget_set_enabled(w, WIDX_HEIGHTMAP_STRENGTH_UP, _heightmapSmoothMap); + widget_set_enabled(w, WIDX_HEIGHTMAP_STRENGTH_DOWN, _heightmapSmoothMap); + widget_set_enabled(w, WIDX_HEIGHTMAP_NORMALIZE, true); + widget_set_enabled(w, WIDX_HEIGHTMAP_SMOOTH_TILES, true); + widget_set_enabled(w, WIDX_HEIGHTMAP_HIGH, true); + widget_set_enabled(w, WIDX_HEIGHTMAP_HIGH_UP, true); + widget_set_enabled(w, WIDX_HEIGHTMAP_HIGH_DOWN, true); + widget_set_enabled(w, WIDX_HEIGHTMAP_LOW, true); + widget_set_enabled(w, WIDX_HEIGHTMAP_LOW_UP, true); + widget_set_enabled(w, WIDX_HEIGHTMAP_LOW_DOWN, true); + widget_set_enabled(w, WIDX_HEIGHTMAP_WATER_LEVEL, true); + widget_set_enabled(w, WIDX_HEIGHTMAP_WATER_LEVEL_UP, true); + widget_set_enabled(w, WIDX_HEIGHTMAP_WATER_LEVEL_DOWN, true); + } - window_init_scroll_widgets(w); - window_invalidate(w); + window_init_scroll_widgets(w); + window_invalidate(w); } static void window_mapgen_set_pressed_tab(rct_window *w) { - sint32 i; - for (i = 0; i < WINDOW_MAPGEN_PAGE_COUNT; i++) - w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); - w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); + sint32 i; + for (i = 0; i < WINDOW_MAPGEN_PAGE_COUNT; i++) + w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); + w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); } static void window_mapgen_draw_tab_image(rct_drawpixelinfo *dpi, rct_window *w, sint32 page, sint32 spriteIndex) { - rct_widgetindex widgetIndex = WIDX_TAB_1 + page; + rct_widgetindex widgetIndex = WIDX_TAB_1 + page; - if (!(w->disabled_widgets & (1LL << widgetIndex))) { - if (w->page == page) { - sint32 frame = w->frame_no / TabAnimationDivisor[w->page]; - spriteIndex += (frame % TabAnimationFrames[w->page]); - } + if (!(w->disabled_widgets & (1LL << widgetIndex))) { + if (w->page == page) { + sint32 frame = w->frame_no / TabAnimationDivisor[w->page]; + spriteIndex += (frame % TabAnimationFrames[w->page]); + } - gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); - } + gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); + } } static void window_mapgen_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) { - window_mapgen_draw_tab_image(dpi, w, WINDOW_MAPGEN_PAGE_BASE, SPR_G2_TAB_LAND); - window_mapgen_draw_tab_image(dpi, w, WINDOW_MAPGEN_PAGE_RANDOM, SPR_G2_TAB_TREE); - window_mapgen_draw_tab_image(dpi, w, WINDOW_MAPGEN_PAGE_SIMPLEX, SPR_G2_TAB_PENCIL); - window_mapgen_draw_tab_image(dpi, w, WINDOW_MAPGEN_PAGE_HEIGHTMAP, SPR_TAB_GRAPH_0); + window_mapgen_draw_tab_image(dpi, w, WINDOW_MAPGEN_PAGE_BASE, SPR_G2_TAB_LAND); + window_mapgen_draw_tab_image(dpi, w, WINDOW_MAPGEN_PAGE_RANDOM, SPR_G2_TAB_TREE); + window_mapgen_draw_tab_image(dpi, w, WINDOW_MAPGEN_PAGE_SIMPLEX, SPR_G2_TAB_PENCIL); + window_mapgen_draw_tab_image(dpi, w, WINDOW_MAPGEN_PAGE_HEIGHTMAP, SPR_TAB_GRAPH_0); } #pragma endregion diff --git a/src/openrct2/windows/maze_construction.c b/src/openrct2/windows/maze_construction.c index 6b5eff43dd..1a24a07b5d 100644 --- a/src/openrct2/windows/maze_construction.c +++ b/src/openrct2/windows/maze_construction.c @@ -29,57 +29,57 @@ #pragma region Widgets enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_MAZE_MODE_GROUPBOX, - WIDX_MAZE_BUILD_MODE = 6, - WIDX_MAZE_MOVE_MODE, - WIDX_MAZE_FILL_MODE, - WIDX_MAZE_DIRECTION_GROUPBOX = 23, - WIDX_MAZE_DIRECTION_NW, - WIDX_MAZE_DIRECTION_NE, - WIDX_MAZE_DIRECTION_SW, - WIDX_MAZE_DIRECTION_SE, - WIDX_MAZE_ENTRANCE = 29, - WIDX_MAZE_EXIT, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_MAZE_MODE_GROUPBOX, + WIDX_MAZE_BUILD_MODE = 6, + WIDX_MAZE_MOVE_MODE, + WIDX_MAZE_FILL_MODE, + WIDX_MAZE_DIRECTION_GROUPBOX = 23, + WIDX_MAZE_DIRECTION_NW, + WIDX_MAZE_DIRECTION_NE, + WIDX_MAZE_DIRECTION_SW, + WIDX_MAZE_DIRECTION_SE, + WIDX_MAZE_ENTRANCE = 29, + WIDX_MAZE_EXIT, }; static rct_widget window_maze_construction_widgets[] = { - { WWT_FRAME, 0, 0, 165, 0, 199, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 164, 1, 14, STR_RIDE_CONSTRUCTION_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 153, 163, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_GROUPBOX, 0, 3, 162, 17, 71, STR_RIDE_CONSTRUCTION_MODE, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_FLATBTN, 1, 35, 66, 29, 60, SPR_MAZE_CONSTRUCTION_BUILD, STR_RIDE_CONSTRUCTION_BUILD_MODE }, - { WWT_FLATBTN, 1, 67, 98, 29, 60, SPR_MAZE_CONSTRUCTION_MOVE, STR_RIDE_CONSTRUCTION_MOVE_MODE }, - { WWT_FLATBTN, 1, 99, 130, 29, 60, SPR_MAZE_CONSTRUCTION_FILL_IN, STR_RIDE_CONSTRUCTION_FILL_IN_MODE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_GROUPBOX, 0, 3, 162, 80, 166, STR_RIDE_CONSTRUCTION_BUILD, STR_NONE }, - { WWT_FLATBTN, 1, 83, 127, 96, 124, SPR_CONSTRUCTION_DIRECTION_NE, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP }, - { WWT_FLATBTN, 1, 83, 127, 125, 153, SPR_CONSTRUCTION_DIRECTION_SE, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP }, - { WWT_FLATBTN, 1, 38, 82, 125, 153, SPR_CONSTRUCTION_DIRECTION_SW, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP }, - { WWT_FLATBTN, 1, 38, 82, 96, 124, SPR_CONSTRUCTION_DIRECTION_NW, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP }, - { WWT_GROUPBOX, 0, 3, 162, 168, 195, 0xFFFFFFFF, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 9, 78, 178, 189, STR_RIDE_CONSTRUCTION_ENTRANCE, STR_RIDE_CONSTRUCTION_ENTRANCE_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 87, 156, 178, 189, STR_RIDE_CONSTRUCTION_EXIT, STR_RIDE_CONSTRUCTION_EXIT_TIP }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WIDGETS_END } + { WWT_FRAME, 0, 0, 165, 0, 199, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 164, 1, 14, STR_RIDE_CONSTRUCTION_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 153, 163, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_GROUPBOX, 0, 3, 162, 17, 71, STR_RIDE_CONSTRUCTION_MODE, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_FLATBTN, 1, 35, 66, 29, 60, SPR_MAZE_CONSTRUCTION_BUILD, STR_RIDE_CONSTRUCTION_BUILD_MODE }, + { WWT_FLATBTN, 1, 67, 98, 29, 60, SPR_MAZE_CONSTRUCTION_MOVE, STR_RIDE_CONSTRUCTION_MOVE_MODE }, + { WWT_FLATBTN, 1, 99, 130, 29, 60, SPR_MAZE_CONSTRUCTION_FILL_IN, STR_RIDE_CONSTRUCTION_FILL_IN_MODE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_GROUPBOX, 0, 3, 162, 80, 166, STR_RIDE_CONSTRUCTION_BUILD, STR_NONE }, + { WWT_FLATBTN, 1, 83, 127, 96, 124, SPR_CONSTRUCTION_DIRECTION_NE, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP }, + { WWT_FLATBTN, 1, 83, 127, 125, 153, SPR_CONSTRUCTION_DIRECTION_SE, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP }, + { WWT_FLATBTN, 1, 38, 82, 125, 153, SPR_CONSTRUCTION_DIRECTION_SW, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP }, + { WWT_FLATBTN, 1, 38, 82, 96, 124, SPR_CONSTRUCTION_DIRECTION_NW, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP }, + { WWT_GROUPBOX, 0, 3, 162, 168, 195, 0xFFFFFFFF, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 9, 78, 178, 189, STR_RIDE_CONSTRUCTION_ENTRANCE, STR_RIDE_CONSTRUCTION_ENTRANCE_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 87, 156, 178, 189, STR_RIDE_CONSTRUCTION_EXIT, STR_RIDE_CONSTRUCTION_EXIT_TIP }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WIDGETS_END } }; #pragma endregion @@ -98,34 +98,34 @@ static void window_maze_construction_paint(rct_window *w, rct_drawpixelinfo *dpi // 0x993F6C static rct_window_event_list window_maze_construction_events = { - window_maze_construction_close, - window_maze_construction_mouseup, - window_maze_construction_resize, - window_maze_construction_mousedown, - NULL, - NULL, - window_maze_construction_update, - NULL, - NULL, - window_maze_construction_toolupdate, - window_maze_construction_tooldown, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_maze_construction_invalidate, - window_maze_construction_paint, - NULL + window_maze_construction_close, + window_maze_construction_mouseup, + window_maze_construction_resize, + window_maze_construction_mousedown, + NULL, + NULL, + window_maze_construction_update, + NULL, + NULL, + window_maze_construction_toolupdate, + window_maze_construction_tooldown, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_maze_construction_invalidate, + window_maze_construction_paint, + NULL }; #pragma endregion @@ -138,26 +138,26 @@ static void window_maze_construction_construct(sint32 direction); */ rct_window *window_maze_construction_open() { - rct_window *w = window_create(0, 29, 166, 200, &window_maze_construction_events, WC_RIDE_CONSTRUCTION, WF_NO_AUTO_CLOSE); - w->widgets = window_maze_construction_widgets; - w->enabled_widgets = (1ULL << WIDX_CLOSE) | - (1ULL << WIDX_MAZE_BUILD_MODE) | - (1ULL << WIDX_MAZE_MOVE_MODE) | - (1ULL << WIDX_MAZE_FILL_MODE) | - (1ULL << WIDX_MAZE_DIRECTION_NW) | - (1ULL << WIDX_MAZE_DIRECTION_NE) | - (1ULL << WIDX_MAZE_DIRECTION_SW) | - (1ULL << WIDX_MAZE_DIRECTION_SE) | - (1ULL << WIDX_MAZE_ENTRANCE) | - (1ULL << WIDX_MAZE_EXIT); + rct_window *w = window_create(0, 29, 166, 200, &window_maze_construction_events, WC_RIDE_CONSTRUCTION, WF_NO_AUTO_CLOSE); + w->widgets = window_maze_construction_widgets; + w->enabled_widgets = (1ULL << WIDX_CLOSE) | + (1ULL << WIDX_MAZE_BUILD_MODE) | + (1ULL << WIDX_MAZE_MOVE_MODE) | + (1ULL << WIDX_MAZE_FILL_MODE) | + (1ULL << WIDX_MAZE_DIRECTION_NW) | + (1ULL << WIDX_MAZE_DIRECTION_NE) | + (1ULL << WIDX_MAZE_DIRECTION_SW) | + (1ULL << WIDX_MAZE_DIRECTION_SE) | + (1ULL << WIDX_MAZE_ENTRANCE) | + (1ULL << WIDX_MAZE_EXIT); - window_init_scroll_widgets(w); + window_init_scroll_widgets(w); - w->number = _currentRideIndex; + w->number = _currentRideIndex; - window_push_others_right(w); - show_gridlines(); - return w; + window_push_others_right(w); + show_gridlines(); + return w; } /** @@ -166,47 +166,47 @@ rct_window *window_maze_construction_open() */ static void window_maze_construction_close(rct_window *w) { - ride_construction_invalidate_current_track(); - viewport_set_visibility(0); + ride_construction_invalidate_current_track(); + viewport_set_visibility(0); - map_invalidate_map_selection_tiles(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + map_invalidate_map_selection_tiles(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - // In order to cancel the yellow arrow correctly the - // selection tool should be cancelled. - tool_cancel(); + // In order to cancel the yellow arrow correctly the + // selection tool should be cancelled. + tool_cancel(); - hide_gridlines(); + hide_gridlines(); - uint8 rideIndex = _currentRideIndex; - rct_ride* ride = get_ride(rideIndex); - if (ride->overall_view == 0xFFFF) { - sint32 savedPausedState = gGamePaused; - gGamePaused = 0; - game_do_command(0, GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED, 0, rideIndex, GAME_COMMAND_DEMOLISH_RIDE, 0, 0); - gGamePaused = savedPausedState; - } else { - window_ride_main_open(rideIndex); - } + uint8 rideIndex = _currentRideIndex; + rct_ride* ride = get_ride(rideIndex); + if (ride->overall_view == 0xFFFF) { + sint32 savedPausedState = gGamePaused; + gGamePaused = 0; + game_do_command(0, GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED, 0, rideIndex, GAME_COMMAND_DEMOLISH_RIDE, 0, 0); + gGamePaused = savedPausedState; + } else { + window_ride_main_open(rideIndex); + } } static void window_maze_construction_entrance_mouseup(rct_window *w, rct_widgetindex widgetIndex){ - if (tool_set(w, widgetIndex, TOOL_CROSSHAIR)) - return; + if (tool_set(w, widgetIndex, TOOL_CROSSHAIR)) + return; - gRideEntranceExitPlaceType = widgetIndex == WIDX_MAZE_ENTRANCE ? ENTRANCE_TYPE_RIDE_ENTRANCE : ENTRANCE_TYPE_RIDE_EXIT; - gRideEntranceExitPlaceRideIndex = (uint8)w->number; - gRideEntranceExitPlaceStationIndex = 0; - input_set_flag(INPUT_FLAG_6, true); + gRideEntranceExitPlaceType = widgetIndex == WIDX_MAZE_ENTRANCE ? ENTRANCE_TYPE_RIDE_ENTRANCE : ENTRANCE_TYPE_RIDE_EXIT; + gRideEntranceExitPlaceRideIndex = (uint8)w->number; + gRideEntranceExitPlaceStationIndex = 0; + input_set_flag(INPUT_FLAG_6, true); - ride_construction_invalidate_current_track(); + ride_construction_invalidate_current_track(); - // ??? - uint8 old_state = _rideConstructionState; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT; - if (old_state != RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT) - _rideConstructionState = old_state; - window_maze_construction_update_pressed_widgets(); + // ??? + uint8 old_state = _rideConstructionState; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT; + if (old_state != RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT) + _rideConstructionState = old_state; + window_maze_construction_update_pressed_widgets(); } /** @@ -215,23 +215,23 @@ static void window_maze_construction_entrance_mouseup(rct_window *w, rct_widgeti */ static void window_maze_construction_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex){ - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_MAZE_ENTRANCE: - case WIDX_MAZE_EXIT: - window_maze_construction_entrance_mouseup(w, widgetIndex); - break; - case WIDX_MAZE_DIRECTION_NW: - case WIDX_MAZE_DIRECTION_NE: - case WIDX_MAZE_DIRECTION_SE: - case WIDX_MAZE_DIRECTION_SW: - window_maze_construction_construct( - ((widgetIndex - WIDX_MAZE_DIRECTION_NW) - get_current_rotation()) & 3 - ); - break; - } + switch (widgetIndex){ + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_MAZE_ENTRANCE: + case WIDX_MAZE_EXIT: + window_maze_construction_entrance_mouseup(w, widgetIndex); + break; + case WIDX_MAZE_DIRECTION_NW: + case WIDX_MAZE_DIRECTION_NE: + case WIDX_MAZE_DIRECTION_SE: + case WIDX_MAZE_DIRECTION_SW: + window_maze_construction_construct( + ((widgetIndex - WIDX_MAZE_DIRECTION_NW) - get_current_rotation()) & 3 + ); + break; + } } /** @@ -240,30 +240,30 @@ static void window_maze_construction_mouseup(rct_window *w, rct_widgetindex widg */ static void window_maze_construction_resize(rct_window *w) { - uint64 disabledWidgets = 0; - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_PLACE) { - disabledWidgets |= ( - (1ULL << WIDX_MAZE_BUILD_MODE) | - (1ULL << WIDX_MAZE_MOVE_MODE) | - (1ULL << WIDX_MAZE_FILL_MODE) | - (1ULL << WIDX_MAZE_DIRECTION_NW) | - (1ULL << WIDX_MAZE_DIRECTION_NE) | - (1ULL << WIDX_MAZE_DIRECTION_SW) | - (1ULL << WIDX_MAZE_DIRECTION_SE) - ); - } + uint64 disabledWidgets = 0; + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_PLACE) { + disabledWidgets |= ( + (1ULL << WIDX_MAZE_BUILD_MODE) | + (1ULL << WIDX_MAZE_MOVE_MODE) | + (1ULL << WIDX_MAZE_FILL_MODE) | + (1ULL << WIDX_MAZE_DIRECTION_NW) | + (1ULL << WIDX_MAZE_DIRECTION_NE) | + (1ULL << WIDX_MAZE_DIRECTION_SW) | + (1ULL << WIDX_MAZE_DIRECTION_SE) + ); + } - // Set and invalidate the changed widgets - uint64 currentDisabledWidgets = w->disabled_widgets; - if (currentDisabledWidgets == disabledWidgets) - return; + // Set and invalidate the changed widgets + uint64 currentDisabledWidgets = w->disabled_widgets; + if (currentDisabledWidgets == disabledWidgets) + return; - for (rct_widgetindex i = 0; i < 64; i++) { - if ((disabledWidgets & (1ULL << i)) != (currentDisabledWidgets & (1ULL << i))) { - widget_invalidate(w, i); - } - } - w->disabled_widgets = disabledWidgets; + for (rct_widgetindex i = 0; i < 64; i++) { + if ((disabledWidgets & (1ULL << i)) != (currentDisabledWidgets & (1ULL << i))) { + widget_invalidate(w, i); + } + } + w->disabled_widgets = disabledWidgets; } /** @@ -272,20 +272,20 @@ static void window_maze_construction_resize(rct_window *w) */ static void window_maze_construction_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - switch (widgetIndex) { - case WIDX_MAZE_BUILD_MODE: - _rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_BUILD; - window_maze_construction_update_pressed_widgets(); - break; - case WIDX_MAZE_MOVE_MODE: - _rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_MOVE; - window_maze_construction_update_pressed_widgets(); - break; - case WIDX_MAZE_FILL_MODE: - _rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_FILL; - window_maze_construction_update_pressed_widgets(); - break; - } + switch (widgetIndex) { + case WIDX_MAZE_BUILD_MODE: + _rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_BUILD; + window_maze_construction_update_pressed_widgets(); + break; + case WIDX_MAZE_MOVE_MODE: + _rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_MOVE; + window_maze_construction_update_pressed_widgets(); + break; + case WIDX_MAZE_FILL_MODE: + _rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_FILL; + window_maze_construction_update_pressed_widgets(); + break; + } } /** @@ -294,40 +294,40 @@ static void window_maze_construction_mousedown(rct_widgetindex widgetIndex, rct_ */ static void window_maze_construction_update(rct_window *w) { - rct_ride *ride = get_ride(_currentRideIndex); - if (ride == NULL || ride->status != RIDE_STATUS_CLOSED) { - window_close(w); - return; - } + rct_ride *ride = get_ride(_currentRideIndex); + if (ride == NULL || ride->status != RIDE_STATUS_CLOSED) { + window_close(w); + return; + } - switch (_rideConstructionState) { - case RIDE_CONSTRUCTION_STATE_PLACE: - if (!widget_is_active_tool(w, WIDX_MAZE_DIRECTION_GROUPBOX)) { - window_close(w); - return; - } - break; - case RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT: - if (!widget_is_active_tool(w, WIDX_MAZE_ENTRANCE) && !widget_is_active_tool(w, WIDX_MAZE_EXIT)) { - _rideConstructionState = gRideEntranceExitPlacePreviousRideConstructionState; - window_maze_construction_update_pressed_widgets(); - } - break; - } + switch (_rideConstructionState) { + case RIDE_CONSTRUCTION_STATE_PLACE: + if (!widget_is_active_tool(w, WIDX_MAZE_DIRECTION_GROUPBOX)) { + window_close(w); + return; + } + break; + case RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT: + if (!widget_is_active_tool(w, WIDX_MAZE_ENTRANCE) && !widget_is_active_tool(w, WIDX_MAZE_EXIT)) { + _rideConstructionState = gRideEntranceExitPlacePreviousRideConstructionState; + window_maze_construction_update_pressed_widgets(); + } + break; + } - switch (_rideConstructionState) { - case RIDE_CONSTRUCTION_STATE_FRONT: - case RIDE_CONSTRUCTION_STATE_BACK: - case RIDE_CONSTRUCTION_STATE_SELECTED: - if ( - (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && - gCurrentToolWidget.window_classification == WC_RIDE_CONSTRUCTION - ) { - tool_cancel(); - } - break; - } - sub_6C94D8(); + switch (_rideConstructionState) { + case RIDE_CONSTRUCTION_STATE_FRONT: + case RIDE_CONSTRUCTION_STATE_BACK: + case RIDE_CONSTRUCTION_STATE_SELECTED: + if ( + (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && + gCurrentToolWidget.window_classification == WC_RIDE_CONSTRUCTION + ) { + tool_cancel(); + } + break; + } + sub_6C94D8(); } /** @@ -336,15 +336,15 @@ static void window_maze_construction_update(rct_window *w) */ static void window_maze_construction_toolupdate(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex){ - case WIDX_MAZE_DIRECTION_GROUPBOX: - ride_construction_toolupdate_construct(x, y); - break; - case WIDX_MAZE_ENTRANCE: - case WIDX_MAZE_EXIT: - ride_construction_toolupdate_entrance_exit(x, y); - break; - } + switch (widgetIndex){ + case WIDX_MAZE_DIRECTION_GROUPBOX: + ride_construction_toolupdate_construct(x, y); + break; + case WIDX_MAZE_ENTRANCE: + case WIDX_MAZE_EXIT: + ride_construction_toolupdate_entrance_exit(x, y); + break; + } } /** @@ -352,56 +352,56 @@ static void window_maze_construction_toolupdate(rct_window* w, rct_widgetindex w * rct2: 0x006C825F */ static void window_maze_construction_entrance_tooldown(sint32 x, sint32 y, rct_window* w){ - ride_construction_invalidate_current_track(); + ride_construction_invalidate_current_track(); - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - sint32 direction = 0; - ride_get_entrance_or_exit_position_from_screen_position(x, y, &x, &y, &direction); + sint32 direction = 0; + ride_get_entrance_or_exit_position_from_screen_position(x, y, &x, &y, &direction); - if (gRideEntranceExitPlaceDirection == 0xFF) - return; + if (gRideEntranceExitPlaceDirection == 0xFF) + return; - uint8 rideIndex = gRideEntranceExitPlaceRideIndex; - uint8 entranceExitType = gRideEntranceExitPlaceType; - if (entranceExitType == ENTRANCE_TYPE_RIDE_ENTRANCE) { - gGameCommandErrorTitle = STR_CANT_BUILD_MOVE_ENTRANCE_FOR_THIS_RIDE_ATTRACTION; - } else { - gGameCommandErrorTitle = STR_CANT_BUILD_MOVE_EXIT_FOR_THIS_RIDE_ATTRACTION; - } + uint8 rideIndex = gRideEntranceExitPlaceRideIndex; + uint8 entranceExitType = gRideEntranceExitPlaceType; + if (entranceExitType == ENTRANCE_TYPE_RIDE_ENTRANCE) { + gGameCommandErrorTitle = STR_CANT_BUILD_MOVE_ENTRANCE_FOR_THIS_RIDE_ATTRACTION; + } else { + gGameCommandErrorTitle = STR_CANT_BUILD_MOVE_EXIT_FOR_THIS_RIDE_ATTRACTION; + } - money32 cost = game_do_command( - x, - GAME_COMMAND_FLAG_APPLY | ((direction ^ 2) << 8), - y, - rideIndex | (entranceExitType << 8), - GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, - gRideEntranceExitPlaceStationIndex, - 0); + money32 cost = game_do_command( + x, + GAME_COMMAND_FLAG_APPLY | ((direction ^ 2) << 8), + y, + rideIndex | (entranceExitType << 8), + GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, + gRideEntranceExitPlaceStationIndex, + 0); - if (cost == MONEY32_UNDEFINED) - return; + if (cost == MONEY32_UNDEFINED) + return; - audio_play_sound_at_location( - SOUND_PLACE_ITEM, - gCommandPosition.x, - gCommandPosition.y, - gCommandPosition.z); + audio_play_sound_at_location( + SOUND_PLACE_ITEM, + gCommandPosition.x, + gCommandPosition.y, + gCommandPosition.z); - rct_ride* ride = get_ride(rideIndex); - if (ride_are_all_possible_entrances_and_exits_built(ride)){ - tool_cancel(); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) - window_close(w); - } - else{ - gRideEntranceExitPlaceType = entranceExitType ^ 1; - window_invalidate_by_class(WC_RIDE_CONSTRUCTION); - gCurrentToolWidget.widget_index = entranceExitType ? WIDX_MAZE_ENTRANCE : WIDX_MAZE_EXIT; - } + rct_ride* ride = get_ride(rideIndex); + if (ride_are_all_possible_entrances_and_exits_built(ride)){ + tool_cancel(); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) + window_close(w); + } + else{ + gRideEntranceExitPlaceType = entranceExitType ^ 1; + window_invalidate_by_class(WC_RIDE_CONSTRUCTION); + gCurrentToolWidget.widget_index = entranceExitType ? WIDX_MAZE_ENTRANCE : WIDX_MAZE_EXIT; + } } /** @@ -410,15 +410,15 @@ static void window_maze_construction_entrance_tooldown(sint32 x, sint32 y, rct_w */ static void window_maze_construction_tooldown(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex){ - case WIDX_MAZE_DIRECTION_GROUPBOX: - ride_construction_tooldown_construct(x, y); - break; - case WIDX_MAZE_ENTRANCE: - case WIDX_MAZE_EXIT: - window_maze_construction_entrance_tooldown(x, y, w); - break; - } + switch (widgetIndex){ + case WIDX_MAZE_DIRECTION_GROUPBOX: + ride_construction_tooldown_construct(x, y); + break; + case WIDX_MAZE_ENTRANCE: + case WIDX_MAZE_EXIT: + window_maze_construction_entrance_tooldown(x, y, w); + break; + } } /** @@ -427,11 +427,11 @@ static void window_maze_construction_tooldown(rct_window* w, rct_widgetindex wid */ static void window_maze_construction_invalidate(rct_window *w) { - rct_ride *ride = get_ride(_currentRideIndex); + rct_ride *ride = get_ride(_currentRideIndex); - // Set window title arguments - set_format_arg(4, rct_string_id, ride->name); - set_format_arg(6, uint32, ride->name_arguments); + // Set window title arguments + set_format_arg(4, rct_string_id, ride->name); + set_format_arg(6, uint32, ride->name_arguments); } /** @@ -440,7 +440,7 @@ static void window_maze_construction_invalidate(rct_window *w) */ static void window_maze_construction_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); } /** @@ -449,31 +449,31 @@ static void window_maze_construction_paint(rct_window *w, rct_drawpixelinfo *dpi */ void window_maze_construction_update_pressed_widgets() { - rct_window *w; + rct_window *w; - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL) - return; + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL) + return; - uint64 pressedWidgets = w->pressed_widgets; - pressedWidgets &= ~(1ULL << WIDX_MAZE_BUILD_MODE); - pressedWidgets &= ~(1ULL << WIDX_MAZE_MOVE_MODE); - pressedWidgets &= ~(1ULL << WIDX_MAZE_FILL_MODE); + uint64 pressedWidgets = w->pressed_widgets; + pressedWidgets &= ~(1ULL << WIDX_MAZE_BUILD_MODE); + pressedWidgets &= ~(1ULL << WIDX_MAZE_MOVE_MODE); + pressedWidgets &= ~(1ULL << WIDX_MAZE_FILL_MODE); - switch (_rideConstructionState) { - case RIDE_CONSTRUCTION_STATE_MAZE_BUILD: - pressedWidgets |= (1ULL << WIDX_MAZE_BUILD_MODE); - break; - case RIDE_CONSTRUCTION_STATE_MAZE_MOVE: - pressedWidgets |= (1ULL << WIDX_MAZE_MOVE_MODE); - break; - case RIDE_CONSTRUCTION_STATE_MAZE_FILL: - pressedWidgets |= (1ULL << WIDX_MAZE_FILL_MODE); - break; - } + switch (_rideConstructionState) { + case RIDE_CONSTRUCTION_STATE_MAZE_BUILD: + pressedWidgets |= (1ULL << WIDX_MAZE_BUILD_MODE); + break; + case RIDE_CONSTRUCTION_STATE_MAZE_MOVE: + pressedWidgets |= (1ULL << WIDX_MAZE_MOVE_MODE); + break; + case RIDE_CONSTRUCTION_STATE_MAZE_FILL: + pressedWidgets |= (1ULL << WIDX_MAZE_FILL_MODE); + break; + } - w->pressed_widgets = pressedWidgets; - window_invalidate(w); + w->pressed_widgets = pressedWidgets; + window_invalidate(w); } /** @@ -482,46 +482,46 @@ void window_maze_construction_update_pressed_widgets() */ static void window_maze_construction_construct(sint32 direction) { - sint32 x, y, z, flags, mode; + sint32 x, y, z, flags, mode; - ride_construction_invalidate_current_track(); + ride_construction_invalidate_current_track(); - x = _currentTrackBeginX + (TileDirectionDelta[direction].x / 2); - y = _currentTrackBeginY + (TileDirectionDelta[direction].y / 2); - z = _currentTrackBeginZ; - switch (_rideConstructionState) { - case RIDE_CONSTRUCTION_STATE_MAZE_BUILD: - mode = GC_SET_MAZE_TRACK_BUILD; - flags = GAME_COMMAND_FLAG_APPLY; - break; - case RIDE_CONSTRUCTION_STATE_MAZE_MOVE: - mode = GC_SET_MAZE_TRACK_MOVE; - flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED; - break; - default: - case RIDE_CONSTRUCTION_STATE_MAZE_FILL: - mode = GC_SET_MAZE_TRACK_FILL; - flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED; - break; - } + x = _currentTrackBeginX + (TileDirectionDelta[direction].x / 2); + y = _currentTrackBeginY + (TileDirectionDelta[direction].y / 2); + z = _currentTrackBeginZ; + switch (_rideConstructionState) { + case RIDE_CONSTRUCTION_STATE_MAZE_BUILD: + mode = GC_SET_MAZE_TRACK_BUILD; + flags = GAME_COMMAND_FLAG_APPLY; + break; + case RIDE_CONSTRUCTION_STATE_MAZE_MOVE: + mode = GC_SET_MAZE_TRACK_MOVE; + flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED; + break; + default: + case RIDE_CONSTRUCTION_STATE_MAZE_FILL: + mode = GC_SET_MAZE_TRACK_FILL; + flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED; + break; + } - gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; - money32 cost = game_do_command( - x, - flags | (direction << 8), - y, - _currentRideIndex | (mode << 8), - GAME_COMMAND_SET_MAZE_TRACK, - z, - 0 - ); - if (cost == MONEY32_UNDEFINED) { - return; - } + gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; + money32 cost = game_do_command( + x, + flags | (direction << 8), + y, + _currentRideIndex | (mode << 8), + GAME_COMMAND_SET_MAZE_TRACK, + z, + 0 + ); + if (cost == MONEY32_UNDEFINED) { + return; + } - _currentTrackBeginX = x; - _currentTrackBeginY = y; - if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_MAZE_MOVE) { - audio_play_sound_at_location(SOUND_PLACE_ITEM, x, y, z); - } + _currentTrackBeginX = x; + _currentTrackBeginY = y; + if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_MAZE_MOVE) { + audio_play_sound_at_location(SOUND_PLACE_ITEM, x, y, z); + } } diff --git a/src/openrct2/windows/multiplayer.c b/src/openrct2/windows/multiplayer.c index cb5858ea5b..2c2c9139ec 100644 --- a/src/openrct2/windows/multiplayer.c +++ b/src/openrct2/windows/multiplayer.c @@ -24,92 +24,92 @@ #include "dropdown.h" enum { - WINDOW_MULTIPLAYER_PAGE_INFORMATION, - WINDOW_MULTIPLAYER_PAGE_PLAYERS, - WINDOW_MULTIPLAYER_PAGE_GROUPS, - WINDOW_MULTIPLAYER_PAGE_OPTIONS + WINDOW_MULTIPLAYER_PAGE_INFORMATION, + WINDOW_MULTIPLAYER_PAGE_PLAYERS, + WINDOW_MULTIPLAYER_PAGE_GROUPS, + WINDOW_MULTIPLAYER_PAGE_OPTIONS }; enum WINDOW_MULTIPLAYER_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_CONTENT_PANEL, - WIDX_TAB1, - WIDX_TAB2, - WIDX_TAB3, - WIDX_TAB4, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_CONTENT_PANEL, + WIDX_TAB1, + WIDX_TAB2, + WIDX_TAB3, + WIDX_TAB4, - WIDX_LIST = 8, + WIDX_LIST = 8, - WIDX_DEFAULT_GROUP = 8, - WIDX_DEFAULT_GROUP_DROPDOWN, - WIDX_ADD_GROUP, - WIDX_REMOVE_GROUP, - WIDX_RENAME_GROUP, - WIDX_SELECTED_GROUP, - WIDX_SELECTED_GROUP_DROPDOWN, - WIDX_PERMISSIONS_LIST, + WIDX_DEFAULT_GROUP = 8, + WIDX_DEFAULT_GROUP_DROPDOWN, + WIDX_ADD_GROUP, + WIDX_REMOVE_GROUP, + WIDX_RENAME_GROUP, + WIDX_SELECTED_GROUP, + WIDX_SELECTED_GROUP_DROPDOWN, + WIDX_PERMISSIONS_LIST, - WIDX_LOG_CHAT_CHECKBOX = 8, - WIDX_LOG_SERVER_ACTIONS_CHECKBOX, - WIDX_KNOWN_KEYS_ONLY_CHECKBOX, + WIDX_LOG_CHAT_CHECKBOX = 8, + WIDX_LOG_SERVER_ACTIONS_CHECKBOX, + WIDX_KNOWN_KEYS_ONLY_CHECKBOX, }; #define MAIN_MULTIPLAYER_WIDGETS \ - { WWT_FRAME, 0, 0, 339, 0, 239, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \ - { WWT_CAPTION, 0, 1, 338, 1, 14, STR_MULTIPLAYER, STR_WINDOW_TITLE_TIP }, /* title bar */ \ - { WWT_CLOSEBOX, 0, 327, 337, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \ - { WWT_RESIZE, 1, 0, 339, 43, 239, 0xFFFFFFFF, STR_NONE }, /* content panel */ \ - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_SERVER_INFO_TIP }, /* tab */ \ - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_PLAYERS_TIP }, /* tab */ \ - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_GROUPS_TIP }, /* tab */ \ - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_TIP } /* tab */ \ + { WWT_FRAME, 0, 0, 339, 0, 239, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \ + { WWT_CAPTION, 0, 1, 338, 1, 14, STR_MULTIPLAYER, STR_WINDOW_TITLE_TIP }, /* title bar */ \ + { WWT_CLOSEBOX, 0, 327, 337, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \ + { WWT_RESIZE, 1, 0, 339, 43, 239, 0xFFFFFFFF, STR_NONE }, /* content panel */ \ + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_SHOW_SERVER_INFO_TIP }, /* tab */ \ + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_PLAYERS_TIP }, /* tab */ \ + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_GROUPS_TIP }, /* tab */ \ + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_TIP } /* tab */ \ static rct_widget window_multiplayer_information_widgets[] = { - MAIN_MULTIPLAYER_WIDGETS, - { WIDGETS_END } + MAIN_MULTIPLAYER_WIDGETS, + { WIDGETS_END } }; static rct_widget window_multiplayer_players_widgets[] = { - MAIN_MULTIPLAYER_WIDGETS, - { WWT_SCROLL, 1, 3, 336, 60, 236, SCROLL_VERTICAL, STR_NONE }, // list - { WIDGETS_END } + MAIN_MULTIPLAYER_WIDGETS, + { WWT_SCROLL, 1, 3, 336, 60, 236, SCROLL_VERTICAL, STR_NONE }, // list + { WIDGETS_END } }; static rct_widget window_multiplayer_groups_widgets[] = { - MAIN_MULTIPLAYER_WIDGETS, - { WWT_DROPDOWN, 1, 141, 315, 46, 57, 0xFFFFFFFF, STR_NONE }, // default group - { WWT_DROPDOWN_BUTTON, 1, 305, 315, 47, 56, STR_DROPDOWN_GLYPH, STR_NONE }, // - { WWT_DROPDOWN_BUTTON, 1, 11, 102, 65, 76, STR_ADD_GROUP, STR_NONE }, // add group button - { WWT_DROPDOWN_BUTTON, 1, 113, 204, 65, 76, STR_REMOVE_GROUP, STR_NONE }, // remove group button - { WWT_DROPDOWN_BUTTON, 1, 215, 306, 65, 76, STR_RENAME_GROUP, STR_NONE }, // rename group button - { WWT_DROPDOWN, 1, 72, 246, 80, 91, 0xFFFFFFFF, STR_NONE }, // selected group - { WWT_DROPDOWN_BUTTON, 1, 236, 246, 81, 90, STR_DROPDOWN_GLYPH, STR_NONE }, // - { WWT_SCROLL, 1, 3, 316, 94, 300, SCROLL_VERTICAL, STR_NONE }, // permissions list - { WIDGETS_END } + MAIN_MULTIPLAYER_WIDGETS, + { WWT_DROPDOWN, 1, 141, 315, 46, 57, 0xFFFFFFFF, STR_NONE }, // default group + { WWT_DROPDOWN_BUTTON, 1, 305, 315, 47, 56, STR_DROPDOWN_GLYPH, STR_NONE }, // + { WWT_DROPDOWN_BUTTON, 1, 11, 102, 65, 76, STR_ADD_GROUP, STR_NONE }, // add group button + { WWT_DROPDOWN_BUTTON, 1, 113, 204, 65, 76, STR_REMOVE_GROUP, STR_NONE }, // remove group button + { WWT_DROPDOWN_BUTTON, 1, 215, 306, 65, 76, STR_RENAME_GROUP, STR_NONE }, // rename group button + { WWT_DROPDOWN, 1, 72, 246, 80, 91, 0xFFFFFFFF, STR_NONE }, // selected group + { WWT_DROPDOWN_BUTTON, 1, 236, 246, 81, 90, STR_DROPDOWN_GLYPH, STR_NONE }, // + { WWT_SCROLL, 1, 3, 316, 94, 300, SCROLL_VERTICAL, STR_NONE }, // permissions list + { WIDGETS_END } }; static rct_widget window_multiplayer_options_widgets[] = { - MAIN_MULTIPLAYER_WIDGETS, - { WWT_CHECKBOX, 1, 3, 297, 50, 61, STR_LOG_CHAT, STR_LOG_CHAT_TIP }, - { WWT_CHECKBOX, 1, 3, 297, 64, 75, STR_LOG_SERVER_ACTIONS, STR_LOG_SERVER_ACTIONS_TIP }, - { WWT_CHECKBOX, 1, 3, 297, 78, 89, STR_ALLOW_KNOWN_KEYS_ONLY, STR_ALLOW_KNOWN_KEYS_ONLY_TIP }, - { WIDGETS_END } + MAIN_MULTIPLAYER_WIDGETS, + { WWT_CHECKBOX, 1, 3, 297, 50, 61, STR_LOG_CHAT, STR_LOG_CHAT_TIP }, + { WWT_CHECKBOX, 1, 3, 297, 64, 75, STR_LOG_SERVER_ACTIONS, STR_LOG_SERVER_ACTIONS_TIP }, + { WWT_CHECKBOX, 1, 3, 297, 78, 89, STR_ALLOW_KNOWN_KEYS_ONLY, STR_ALLOW_KNOWN_KEYS_ONLY_TIP }, + { WIDGETS_END } }; static rct_widget *window_multiplayer_page_widgets[] = { - window_multiplayer_information_widgets, - window_multiplayer_players_widgets, - window_multiplayer_groups_widgets, - window_multiplayer_options_widgets + window_multiplayer_information_widgets, + window_multiplayer_players_widgets, + window_multiplayer_groups_widgets, + window_multiplayer_options_widgets }; const uint64 window_multiplayer_page_enabled_widgets[] = { - (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_TAB3) | (1 << WIDX_TAB4), - (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_TAB3) | (1 << WIDX_TAB4), - (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_TAB3) | (1 << WIDX_TAB4) | (1 << WIDX_DEFAULT_GROUP) | (1 << WIDX_DEFAULT_GROUP_DROPDOWN) | (1 << WIDX_ADD_GROUP) | (1 << WIDX_REMOVE_GROUP) | (1 << WIDX_RENAME_GROUP) | (1 << WIDX_SELECTED_GROUP) | (1 << WIDX_SELECTED_GROUP_DROPDOWN), - (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_TAB3) | (1 << WIDX_TAB4) | (1 << WIDX_LOG_CHAT_CHECKBOX) | (1 << WIDX_LOG_SERVER_ACTIONS_CHECKBOX) | (1 << WIDX_KNOWN_KEYS_ONLY_CHECKBOX), + (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_TAB3) | (1 << WIDX_TAB4), + (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_TAB3) | (1 << WIDX_TAB4), + (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_TAB3) | (1 << WIDX_TAB4) | (1 << WIDX_DEFAULT_GROUP) | (1 << WIDX_DEFAULT_GROUP_DROPDOWN) | (1 << WIDX_ADD_GROUP) | (1 << WIDX_REMOVE_GROUP) | (1 << WIDX_RENAME_GROUP) | (1 << WIDX_SELECTED_GROUP) | (1 << WIDX_SELECTED_GROUP_DROPDOWN), + (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_TAB3) | (1 << WIDX_TAB4) | (1 << WIDX_LOG_CHAT_CHECKBOX) | (1 << WIDX_LOG_SERVER_ACTIONS_CHECKBOX) | (1 << WIDX_KNOWN_KEYS_ONLY_CHECKBOX), }; static uint8 _selectedGroup = 0; @@ -150,134 +150,134 @@ static void window_multiplayer_options_invalidate(rct_window *w); static void window_multiplayer_options_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_multiplayer_information_events = { - NULL, - window_multiplayer_information_mouseup, - window_multiplayer_information_resize, - NULL, - NULL, - NULL, - window_multiplayer_information_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_multiplayer_information_invalidate, - window_multiplayer_information_paint, - NULL + NULL, + window_multiplayer_information_mouseup, + window_multiplayer_information_resize, + NULL, + NULL, + NULL, + window_multiplayer_information_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_multiplayer_information_invalidate, + window_multiplayer_information_paint, + NULL }; static rct_window_event_list window_multiplayer_players_events = { - NULL, - window_multiplayer_players_mouseup, - window_multiplayer_players_resize, - NULL, - NULL, - NULL, - window_multiplayer_players_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_multiplayer_players_scrollgetsize, - window_multiplayer_players_scrollmousedown, - NULL, - window_multiplayer_players_scrollmouseover, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_multiplayer_players_invalidate, - window_multiplayer_players_paint, - window_multiplayer_players_scrollpaint + NULL, + window_multiplayer_players_mouseup, + window_multiplayer_players_resize, + NULL, + NULL, + NULL, + window_multiplayer_players_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_multiplayer_players_scrollgetsize, + window_multiplayer_players_scrollmousedown, + NULL, + window_multiplayer_players_scrollmouseover, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_multiplayer_players_invalidate, + window_multiplayer_players_paint, + window_multiplayer_players_scrollpaint }; static rct_window_event_list window_multiplayer_groups_events = { - NULL, - window_multiplayer_groups_mouseup, - window_multiplayer_groups_resize, - window_multiplayer_groups_mousedown, - window_multiplayer_groups_dropdown, - NULL, - window_multiplayer_groups_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_multiplayer_groups_scrollgetsize, - window_multiplayer_groups_scrollmousedown, - NULL, - window_multiplayer_groups_scrollmouseover, - window_multiplayer_groups_text_input, - NULL, - NULL, - NULL, - NULL, - NULL, - window_multiplayer_groups_invalidate, - window_multiplayer_groups_paint, - window_multiplayer_groups_scrollpaint + NULL, + window_multiplayer_groups_mouseup, + window_multiplayer_groups_resize, + window_multiplayer_groups_mousedown, + window_multiplayer_groups_dropdown, + NULL, + window_multiplayer_groups_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_multiplayer_groups_scrollgetsize, + window_multiplayer_groups_scrollmousedown, + NULL, + window_multiplayer_groups_scrollmouseover, + window_multiplayer_groups_text_input, + NULL, + NULL, + NULL, + NULL, + NULL, + window_multiplayer_groups_invalidate, + window_multiplayer_groups_paint, + window_multiplayer_groups_scrollpaint }; static rct_window_event_list window_multiplayer_options_events = { - NULL, - window_multiplayer_options_mouseup, - window_multiplayer_options_resize, - NULL, - NULL, - NULL, - window_multiplayer_options_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_multiplayer_options_invalidate, - window_multiplayer_options_paint, - NULL + NULL, + window_multiplayer_options_mouseup, + window_multiplayer_options_resize, + NULL, + NULL, + NULL, + window_multiplayer_options_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_multiplayer_options_invalidate, + window_multiplayer_options_paint, + NULL }; static rct_window_event_list *window_multiplayer_page_events[] = { - &window_multiplayer_information_events, - &window_multiplayer_players_events, - &window_multiplayer_groups_events, - &window_multiplayer_options_events + &window_multiplayer_information_events, + &window_multiplayer_players_events, + &window_multiplayer_groups_events, + &window_multiplayer_options_events }; static const sint32 window_multiplayer_animation_divisor[] = { 4, 4, 2, 2 }; @@ -291,191 +291,191 @@ static rct_xy16 _windowInformationSize; void window_multiplayer_open() { - // Check if window is already open - rct_window *window = window_bring_to_front_by_class(WC_MULTIPLAYER); - if (window == NULL) { - window = window_create_auto_pos(320, 144, &window_multiplayer_players_events, WC_MULTIPLAYER, WF_10 | WF_RESIZABLE); - window_multiplayer_set_page(window, WINDOW_MULTIPLAYER_PAGE_INFORMATION); - } + // Check if window is already open + rct_window *window = window_bring_to_front_by_class(WC_MULTIPLAYER); + if (window == NULL) { + window = window_create_auto_pos(320, 144, &window_multiplayer_players_events, WC_MULTIPLAYER, WF_10 | WF_RESIZABLE); + window_multiplayer_set_page(window, WINDOW_MULTIPLAYER_PAGE_INFORMATION); + } } static void window_multiplayer_set_page(rct_window* w, sint32 page) { - _windowInformationSizeDirty = true; + _windowInformationSizeDirty = true; - w->page = page; - w->frame_no = 0; - w->no_list_items = 0; - w->selected_list_item = -1; + w->page = page; + w->frame_no = 0; + w->no_list_items = 0; + w->selected_list_item = -1; - w->enabled_widgets = window_multiplayer_page_enabled_widgets[page]; - w->hold_down_widgets = 0; - w->event_handlers = window_multiplayer_page_events[page]; - w->pressed_widgets = 0; - w->widgets = window_multiplayer_page_widgets[page]; + w->enabled_widgets = window_multiplayer_page_enabled_widgets[page]; + w->hold_down_widgets = 0; + w->event_handlers = window_multiplayer_page_events[page]; + w->pressed_widgets = 0; + w->widgets = window_multiplayer_page_widgets[page]; - window_event_resize_call(w); - window_event_invalidate_call(w); - window_init_scroll_widgets(w); - window_invalidate(w); + window_event_resize_call(w); + window_event_invalidate_call(w); + window_init_scroll_widgets(w); + window_invalidate(w); } static void window_multiplayer_anchor_border_widgets(rct_window *w) { - w->widgets[WIDX_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_TITLE].right = w->width - 2; - w->widgets[WIDX_CONTENT_PANEL].right = w->width - 1; - w->widgets[WIDX_CONTENT_PANEL].bottom = w->height - 1; - w->widgets[WIDX_CLOSE].left = w->width - 13; - w->widgets[WIDX_CLOSE].right = w->width - 3; + w->widgets[WIDX_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_TITLE].right = w->width - 2; + w->widgets[WIDX_CONTENT_PANEL].right = w->width - 1; + w->widgets[WIDX_CONTENT_PANEL].bottom = w->height - 1; + w->widgets[WIDX_CLOSE].left = w->width - 13; + w->widgets[WIDX_CLOSE].right = w->width - 3; } static void window_multiplayer_set_pressed_tab(rct_window *w) { - for (sint32 i = 0; i < 2; i++) { - w->pressed_widgets &= ~(1 << (WIDX_TAB1 + i)); - } - w->pressed_widgets |= 1LL << (WIDX_TAB1 + w->page); + for (sint32 i = 0; i < 2; i++) { + w->pressed_widgets &= ~(1 << (WIDX_TAB1 + i)); + } + w->pressed_widgets |= 1LL << (WIDX_TAB1 + w->page); } static void window_multiplayer_groups_show_group_dropdown(rct_window *w, rct_widget *widget) { - rct_widget *dropdownWidget; - sint32 numItems, i; + rct_widget *dropdownWidget; + sint32 numItems, i; - dropdownWidget = widget - 1; + dropdownWidget = widget - 1; - numItems = network_get_num_groups(); + numItems = network_get_num_groups(); - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - 0, - numItems, - widget->right - dropdownWidget->left - ); + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + 0, + numItems, + widget->right - dropdownWidget->left + ); - for (i = 0; i < network_get_num_groups(); i++) { - gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; - gDropdownItemsArgs[i] = (uintptr_t)network_get_group_name(i); - } - if (widget == &window_multiplayer_groups_widgets[WIDX_DEFAULT_GROUP_DROPDOWN]) { - dropdown_set_checked(network_get_group_index(network_get_default_group()), true); - } else - if (widget == &window_multiplayer_groups_widgets[WIDX_SELECTED_GROUP_DROPDOWN]) { - dropdown_set_checked(network_get_group_index(_selectedGroup), true); - } + for (i = 0; i < network_get_num_groups(); i++) { + gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; + gDropdownItemsArgs[i] = (uintptr_t)network_get_group_name(i); + } + if (widget == &window_multiplayer_groups_widgets[WIDX_DEFAULT_GROUP_DROPDOWN]) { + dropdown_set_checked(network_get_group_index(network_get_default_group()), true); + } else + if (widget == &window_multiplayer_groups_widgets[WIDX_SELECTED_GROUP_DROPDOWN]) { + dropdown_set_checked(network_get_group_index(_selectedGroup), true); + } } #pragma region Information page static void window_multiplayer_information_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB1: - case WIDX_TAB2: - case WIDX_TAB3: - case WIDX_TAB4: - if (w->page != widgetIndex - WIDX_TAB1) { - window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1); - } - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB1: + case WIDX_TAB2: + case WIDX_TAB3: + case WIDX_TAB4: + if (w->page != widgetIndex - WIDX_TAB1) { + window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1); + } + break; + } } static rct_xy16 window_multiplayer_information_get_size() { - if (!_windowInformationSizeDirty) { - return _windowInformationSize; - } + if (!_windowInformationSizeDirty) { + return _windowInformationSize; + } - sint32 width = 450; - sint32 height = 110; - sint32 numLines, fontSpriteBase; + sint32 width = 450; + sint32 height = 110; + sint32 numLines, fontSpriteBase; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - utf8 * buffer = _strdup(network_get_server_description()); - gfx_wrap_string(buffer, width, &numLines, &fontSpriteBase); - free(buffer); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + utf8 * buffer = _strdup(network_get_server_description()); + gfx_wrap_string(buffer, width, &numLines, &fontSpriteBase); + free(buffer); - sint32 lineHeight = font_get_line_height(fontSpriteBase); - height += (numLines + 1) * lineHeight; + sint32 lineHeight = font_get_line_height(fontSpriteBase); + height += (numLines + 1) * lineHeight; - _windowInformationSizeDirty = false; - _windowInformationSize = (rct_xy16){ width, height }; - return _windowInformationSize; + _windowInformationSizeDirty = false; + _windowInformationSize = (rct_xy16){ width, height }; + return _windowInformationSize; } static void window_multiplayer_information_resize(rct_window *w) { - rct_xy16 size = window_multiplayer_information_get_size(); - window_set_resize(w, size.x, size.y, size.x, size.y); + rct_xy16 size = window_multiplayer_information_get_size(); + window_set_resize(w, size.x, size.y, size.x, size.y); } static void window_multiplayer_information_update(rct_window *w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB1 + w->page); + w->frame_no++; + widget_invalidate(w, WIDX_TAB1 + w->page); } static void window_multiplayer_information_invalidate(rct_window *w) { - window_multiplayer_set_pressed_tab(w); - window_multiplayer_anchor_border_widgets(w); - window_align_tabs(w, WIDX_TAB1, WIDX_TAB4); + window_multiplayer_set_pressed_tab(w); + window_multiplayer_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB1, WIDX_TAB4); } static void window_multiplayer_information_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_multiplayer_draw_tab_images(w, dpi); + window_draw_widgets(w, dpi); + window_multiplayer_draw_tab_images(w, dpi); - rct_drawpixelinfo clippedDPI; - if (clip_drawpixelinfo(&clippedDPI, dpi, w->x, w->y, w->width, w->height)) { - dpi = &clippedDPI; + rct_drawpixelinfo clippedDPI; + if (clip_drawpixelinfo(&clippedDPI, dpi, w->x, w->y, w->width, w->height)) { + dpi = &clippedDPI; - sint32 x = 3; - sint32 y = 50; - sint32 width = w->width - 6; + sint32 x = 3; + sint32 y = 50; + sint32 width = w->width - 6; - const utf8 * name = network_get_server_name(); - { - gfx_draw_string_left_wrapped(dpi, (void*)&name, x, y, width, STR_STRING, w->colours[1]); - y += 11; - } - y += 3; + const utf8 * name = network_get_server_name(); + { + gfx_draw_string_left_wrapped(dpi, (void*)&name, x, y, width, STR_STRING, w->colours[1]); + y += 11; + } + y += 3; - const utf8 * description = network_get_server_description(); - if (!str_is_null_or_empty(description)) { - gfx_draw_string_left_wrapped(dpi, (void*)&description, x, y, width, STR_STRING, w->colours[1]); - y += 11; - } - y += 8; + const utf8 * description = network_get_server_description(); + if (!str_is_null_or_empty(description)) { + gfx_draw_string_left_wrapped(dpi, (void*)&description, x, y, width, STR_STRING, w->colours[1]); + y += 11; + } + y += 8; - const utf8 * providerName = network_get_server_provider_name(); - if (!str_is_null_or_empty(providerName)) { - gfx_draw_string_left(dpi, STR_PROVIDER_NAME, (void*)&providerName, COLOUR_BLACK, x, y); - y += 11; - } + const utf8 * providerName = network_get_server_provider_name(); + if (!str_is_null_or_empty(providerName)) { + gfx_draw_string_left(dpi, STR_PROVIDER_NAME, (void*)&providerName, COLOUR_BLACK, x, y); + y += 11; + } - const utf8 * providerEmail = network_get_server_provider_email(); - if (!str_is_null_or_empty(providerEmail)) { - gfx_draw_string_left(dpi, STR_PROVIDER_EMAIL, (void*)&providerEmail, COLOUR_BLACK, x, y); - y += 11; - } + const utf8 * providerEmail = network_get_server_provider_email(); + if (!str_is_null_or_empty(providerEmail)) { + gfx_draw_string_left(dpi, STR_PROVIDER_EMAIL, (void*)&providerEmail, COLOUR_BLACK, x, y); + y += 11; + } - const utf8 * providerWebsite = network_get_server_provider_website(); - if (!str_is_null_or_empty(providerWebsite)) { - gfx_draw_string_left(dpi, STR_PROVIDER_WEBSITE, (void*)&providerWebsite, COLOUR_BLACK, x, y); - } - } + const utf8 * providerWebsite = network_get_server_provider_website(); + if (!str_is_null_or_empty(providerWebsite)) { + gfx_draw_string_left(dpi, STR_PROVIDER_WEBSITE, (void*)&providerWebsite, COLOUR_BLACK, x, y); + } + } } #pragma endregion @@ -484,178 +484,178 @@ static void window_multiplayer_information_paint(rct_window *w, rct_drawpixelinf static void window_multiplayer_players_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB1: - case WIDX_TAB2: - case WIDX_TAB3: - case WIDX_TAB4: - if (w->page != widgetIndex - WIDX_TAB1) { - window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1); - } - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB1: + case WIDX_TAB2: + case WIDX_TAB3: + case WIDX_TAB4: + if (w->page != widgetIndex - WIDX_TAB1) { + window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1); + } + break; + } } static void window_multiplayer_players_resize(rct_window *w) { - window_set_resize(w, 420, 124, 500, 450); + window_set_resize(w, 420, 124, 500, 450); - w->no_list_items = network_get_num_players(); - w->list_item_positions[0] = 0; + w->no_list_items = network_get_num_players(); + w->list_item_positions[0] = 0; - w->selected_list_item = -1; - window_invalidate(w); + w->selected_list_item = -1; + window_invalidate(w); } static void window_multiplayer_players_update(rct_window *w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB1 + w->page); + w->frame_no++; + widget_invalidate(w, WIDX_TAB1 + w->page); } static void window_multiplayer_players_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - sint32 i; + sint32 i; - if (w->selected_list_item != -1) { - w->selected_list_item = -1; - window_invalidate(w); - } + if (w->selected_list_item != -1) { + w->selected_list_item = -1; + window_invalidate(w); + } - *height = network_get_num_players() * 10; - i = *height - window_multiplayer_players_widgets[WIDX_LIST].bottom + window_multiplayer_players_widgets[WIDX_LIST].top + 21; - if (i < 0) - i = 0; - if (i < w->scrolls[0].v_top) { - w->scrolls[0].v_top = i; - window_invalidate(w); - } + *height = network_get_num_players() * 10; + i = *height - window_multiplayer_players_widgets[WIDX_LIST].bottom + window_multiplayer_players_widgets[WIDX_LIST].top + 21; + if (i < 0) + i = 0; + if (i < w->scrolls[0].v_top) { + w->scrolls[0].v_top = i; + window_invalidate(w); + } } static void window_multiplayer_players_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 index; + sint32 index; - index = y / 10; - if (index >= w->no_list_items) - return; + index = y / 10; + if (index >= w->no_list_items) + return; - w->selected_list_item = index; - window_invalidate(w); + w->selected_list_item = index; + window_invalidate(w); - window_player_open(network_get_player_id(index)); + window_player_open(network_get_player_id(index)); } static void window_multiplayer_players_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 index; + sint32 index; - index = y / 10; - if (index >= w->no_list_items) - return; + index = y / 10; + if (index >= w->no_list_items) + return; - w->selected_list_item = index; - window_invalidate(w); + w->selected_list_item = index; + window_invalidate(w); } static void window_multiplayer_players_invalidate(rct_window *w) { - window_multiplayer_set_pressed_tab(w); - window_multiplayer_anchor_border_widgets(w); - window_multiplayer_players_widgets[WIDX_LIST].right = w->width - 4; - window_multiplayer_players_widgets[WIDX_LIST].bottom = w->height - 0x0F; - window_align_tabs(w, WIDX_TAB1, WIDX_TAB4); + window_multiplayer_set_pressed_tab(w); + window_multiplayer_anchor_border_widgets(w); + window_multiplayer_players_widgets[WIDX_LIST].right = w->width - 4; + window_multiplayer_players_widgets[WIDX_LIST].bottom = w->height - 0x0F; + window_align_tabs(w, WIDX_TAB1, WIDX_TAB4); } static void window_multiplayer_players_paint(rct_window *w, rct_drawpixelinfo *dpi) { - rct_string_id stringId; - sint32 x, y; + rct_string_id stringId; + sint32 x, y; - window_draw_widgets(w, dpi); - window_multiplayer_draw_tab_images(w, dpi); + window_draw_widgets(w, dpi); + window_multiplayer_draw_tab_images(w, dpi); - // Columns - gfx_draw_string_left(dpi, STR_PLAYER, NULL, w->colours[2], w->x + 6, 58 - 12 + w->y + 1); - gfx_draw_string_left(dpi, STR_GROUP, NULL, w->colours[2], w->x + 180, 58 - 12 + w->y + 1); - gfx_draw_string_left(dpi, STR_LAST_ACTION, NULL, w->colours[2], w->x + 263, 58 - 12 + w->y + 1); - gfx_draw_string_left(dpi, STR_PING, NULL, w->colours[2], w->x + 363, 58 - 12 + w->y + 1); + // Columns + gfx_draw_string_left(dpi, STR_PLAYER, NULL, w->colours[2], w->x + 6, 58 - 12 + w->y + 1); + gfx_draw_string_left(dpi, STR_GROUP, NULL, w->colours[2], w->x + 180, 58 - 12 + w->y + 1); + gfx_draw_string_left(dpi, STR_LAST_ACTION, NULL, w->colours[2], w->x + 263, 58 - 12 + w->y + 1); + gfx_draw_string_left(dpi, STR_PING, NULL, w->colours[2], w->x + 363, 58 - 12 + w->y + 1); - // Number of players - stringId = w->no_list_items == 1 ? STR_MULTIPLAYER_PLAYER_COUNT : STR_MULTIPLAYER_PLAYER_COUNT_PLURAL; - x = w->x + 4; - y = w->y + w->widgets[WIDX_LIST].bottom + 2; - gfx_draw_string_left(dpi, stringId, &w->no_list_items, w->colours[2], x, y); + // Number of players + stringId = w->no_list_items == 1 ? STR_MULTIPLAYER_PLAYER_COUNT : STR_MULTIPLAYER_PLAYER_COUNT_PLURAL; + x = w->x + 4; + y = w->y + w->widgets[WIDX_LIST].bottom + 2; + gfx_draw_string_left(dpi, stringId, &w->no_list_items, w->colours[2], x, y); } static void window_multiplayer_players_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - sint32 y; + sint32 y; - y = 0; - for (sint32 i = 0; i < network_get_num_players(); i++) { - if (y > dpi->y + dpi->height) { - break; - } + y = 0; + for (sint32 i = 0; i < network_get_num_players(); i++) { + if (y > dpi->y + dpi->height) { + break; + } - if (y + 11 >= dpi->y) { - char buffer[300]; + if (y + 11 >= dpi->y) { + char buffer[300]; - // Draw player name - char* lineCh = buffer; - sint32 colour = COLOUR_BLACK; - if (i == w->selected_list_item) { - gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); - safe_strcpy(buffer, network_get_player_name(i), sizeof(buffer)); - colour = w->colours[2]; - } else { - if (network_get_player_flags(i) & NETWORK_PLAYER_FLAG_ISSERVER) { - lineCh = utf8_write_codepoint(lineCh, FORMAT_BABYBLUE); - } else { - lineCh = utf8_write_codepoint(lineCh, FORMAT_BLACK); - } - safe_strcpy(lineCh, network_get_player_name(i), sizeof(buffer) - (lineCh - buffer)); - } - gfx_clip_string(buffer, 230); - gfx_draw_string(dpi, buffer, colour, 0, y - 1); + // Draw player name + char* lineCh = buffer; + sint32 colour = COLOUR_BLACK; + if (i == w->selected_list_item) { + gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); + safe_strcpy(buffer, network_get_player_name(i), sizeof(buffer)); + colour = w->colours[2]; + } else { + if (network_get_player_flags(i) & NETWORK_PLAYER_FLAG_ISSERVER) { + lineCh = utf8_write_codepoint(lineCh, FORMAT_BABYBLUE); + } else { + lineCh = utf8_write_codepoint(lineCh, FORMAT_BLACK); + } + safe_strcpy(lineCh, network_get_player_name(i), sizeof(buffer) - (lineCh - buffer)); + } + gfx_clip_string(buffer, 230); + gfx_draw_string(dpi, buffer, colour, 0, y - 1); - // Draw group name - lineCh = buffer; - sint32 group = network_get_group_index(network_get_player_group(i)); - if (group != -1) { - lineCh = utf8_write_codepoint(lineCh, FORMAT_BLACK); - safe_strcpy(lineCh, network_get_group_name(group), sizeof(buffer) - (lineCh - buffer)); - gfx_clip_string(buffer, 80); - gfx_draw_string(dpi, buffer, colour, 173, y - 1); - } + // Draw group name + lineCh = buffer; + sint32 group = network_get_group_index(network_get_player_group(i)); + if (group != -1) { + lineCh = utf8_write_codepoint(lineCh, FORMAT_BLACK); + safe_strcpy(lineCh, network_get_group_name(group), sizeof(buffer) - (lineCh - buffer)); + gfx_clip_string(buffer, 80); + gfx_draw_string(dpi, buffer, colour, 173, y - 1); + } - // Draw last action - sint32 action = network_get_player_last_action(i, 2000); - set_format_arg(0, rct_string_id, STR_ACTION_NA); - if (action != -999) { - set_format_arg(0, rct_string_id, network_get_action_name_string_id(action)); - } - gfx_draw_string_left_clipped(dpi, STR_BLACK_STRING, gCommonFormatArgs, COLOUR_BLACK, 256, y - 1, 100); + // Draw last action + sint32 action = network_get_player_last_action(i, 2000); + set_format_arg(0, rct_string_id, STR_ACTION_NA); + if (action != -999) { + set_format_arg(0, rct_string_id, network_get_action_name_string_id(action)); + } + gfx_draw_string_left_clipped(dpi, STR_BLACK_STRING, gCommonFormatArgs, COLOUR_BLACK, 256, y - 1, 100); - // Draw ping - lineCh = buffer; - sint32 ping = network_get_player_ping(i); - if (ping <= 100) { - lineCh = utf8_write_codepoint(lineCh, FORMAT_GREEN); - } else - if (ping <= 250) { - lineCh = utf8_write_codepoint(lineCh, FORMAT_YELLOW); - } else { - lineCh = utf8_write_codepoint(lineCh, FORMAT_RED); - } - snprintf(lineCh, sizeof(buffer) - (lineCh - buffer), "%d ms", ping); - gfx_draw_string(dpi, buffer, colour, 356, y - 1); - } - y += 10; - } + // Draw ping + lineCh = buffer; + sint32 ping = network_get_player_ping(i); + if (ping <= 100) { + lineCh = utf8_write_codepoint(lineCh, FORMAT_GREEN); + } else + if (ping <= 250) { + lineCh = utf8_write_codepoint(lineCh, FORMAT_YELLOW); + } else { + lineCh = utf8_write_codepoint(lineCh, FORMAT_RED); + } + snprintf(lineCh, sizeof(buffer) - (lineCh - buffer), "%d ms", ping); + gfx_draw_string(dpi, buffer, colour, 356, y - 1); + } + y += 10; + } } #pragma endregion @@ -664,238 +664,238 @@ static void window_multiplayer_players_scrollpaint(rct_window *w, rct_drawpixeli static void window_multiplayer_groups_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB1: - case WIDX_TAB2: - case WIDX_TAB3: - case WIDX_TAB4: - if (w->page != widgetIndex - WIDX_TAB1) { - window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1); - } - break; - case WIDX_ADD_GROUP: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_MODIFY_GROUPS, 0, 0); - break; - case WIDX_REMOVE_GROUP: - game_do_command(1 | (_selectedGroup << 8), GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_MODIFY_GROUPS, 0, 0); - break; - case WIDX_RENAME_GROUP:; - sint32 groupIndex = network_get_group_index(_selectedGroup); - const utf8 *groupName = network_get_group_name(groupIndex); - window_text_input_raw_open(w, widgetIndex, STR_GROUP_NAME, STR_ENTER_NEW_NAME_FOR_THIS_GROUP, (utf8*)groupName, 32); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB1: + case WIDX_TAB2: + case WIDX_TAB3: + case WIDX_TAB4: + if (w->page != widgetIndex - WIDX_TAB1) { + window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1); + } + break; + case WIDX_ADD_GROUP: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_MODIFY_GROUPS, 0, 0); + break; + case WIDX_REMOVE_GROUP: + game_do_command(1 | (_selectedGroup << 8), GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_MODIFY_GROUPS, 0, 0); + break; + case WIDX_RENAME_GROUP:; + sint32 groupIndex = network_get_group_index(_selectedGroup); + const utf8 *groupName = network_get_group_name(groupIndex); + window_text_input_raw_open(w, widgetIndex, STR_GROUP_NAME, STR_ENTER_NEW_NAME_FOR_THIS_GROUP, (utf8*)groupName, 32); + break; + } } static void window_multiplayer_groups_resize(rct_window *w) { - window_set_resize(w, 320, 200, 320, 500); + window_set_resize(w, 320, 200, 320, 500); - w->no_list_items = network_get_num_actions(); - w->list_item_positions[0] = 0; + w->no_list_items = network_get_num_actions(); + w->list_item_positions[0] = 0; - w->selected_list_item = -1; - window_invalidate(w); + w->selected_list_item = -1; + window_invalidate(w); } static void window_multiplayer_groups_mousedown(rct_widgetindex widgetIndex, rct_window* w, rct_widget* widget) { - switch (widgetIndex) { - case WIDX_DEFAULT_GROUP_DROPDOWN: - window_multiplayer_groups_show_group_dropdown(w, widget); - break; - case WIDX_SELECTED_GROUP_DROPDOWN: - window_multiplayer_groups_show_group_dropdown(w, widget); - break; - } + switch (widgetIndex) { + case WIDX_DEFAULT_GROUP_DROPDOWN: + window_multiplayer_groups_show_group_dropdown(w, widget); + break; + case WIDX_SELECTED_GROUP_DROPDOWN: + window_multiplayer_groups_show_group_dropdown(w, widget); + break; + } } static void window_multiplayer_groups_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (dropdownIndex == -1) { - return; - } + if (dropdownIndex == -1) { + return; + } - switch(widgetIndex){ - case WIDX_DEFAULT_GROUP_DROPDOWN: - game_do_command(4 | (network_get_group_id(dropdownIndex) << 8), GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_MODIFY_GROUPS, 0, 0); - break; - case WIDX_SELECTED_GROUP_DROPDOWN: - _selectedGroup = network_get_group_id(dropdownIndex); - break; - } + switch(widgetIndex){ + case WIDX_DEFAULT_GROUP_DROPDOWN: + game_do_command(4 | (network_get_group_id(dropdownIndex) << 8), GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_MODIFY_GROUPS, 0, 0); + break; + case WIDX_SELECTED_GROUP_DROPDOWN: + _selectedGroup = network_get_group_id(dropdownIndex); + break; + } - window_invalidate(w); + window_invalidate(w); } static void window_multiplayer_groups_update(rct_window *w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB1 + w->page); + w->frame_no++; + widget_invalidate(w, WIDX_TAB1 + w->page); } static void window_multiplayer_groups_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - sint32 i; + sint32 i; - if (w->selected_list_item != -1) { - w->selected_list_item = -1; - window_invalidate(w); - } + if (w->selected_list_item != -1) { + w->selected_list_item = -1; + window_invalidate(w); + } - *height = network_get_num_actions() * 10; - i = *height - window_multiplayer_groups_widgets[WIDX_LIST].bottom + window_multiplayer_groups_widgets[WIDX_LIST].top + 21; - if (i < 0) - i = 0; - if (i < w->scrolls[0].v_top) { - w->scrolls[0].v_top = i; - window_invalidate(w); - } + *height = network_get_num_actions() * 10; + i = *height - window_multiplayer_groups_widgets[WIDX_LIST].bottom + window_multiplayer_groups_widgets[WIDX_LIST].top + 21; + if (i < 0) + i = 0; + if (i < w->scrolls[0].v_top) { + w->scrolls[0].v_top = i; + window_invalidate(w); + } } static void window_multiplayer_groups_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 index; + sint32 index; - index = y / 10; - if (index >= w->no_list_items) - return; + index = y / 10; + if (index >= w->no_list_items) + return; - w->selected_list_item = index; - window_invalidate(w); + w->selected_list_item = index; + window_invalidate(w); - game_do_command(2 | (_selectedGroup << 8), GAME_COMMAND_FLAG_APPLY, index, 0, GAME_COMMAND_MODIFY_GROUPS, 0, 0); + game_do_command(2 | (_selectedGroup << 8), GAME_COMMAND_FLAG_APPLY, index, 0, GAME_COMMAND_MODIFY_GROUPS, 0, 0); } static void window_multiplayer_groups_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 index; + sint32 index; - index = y / 10; - if (index >= w->no_list_items) - return; + index = y / 10; + if (index >= w->no_list_items) + return; - w->selected_list_item = index; - window_invalidate(w); + w->selected_list_item = index; + window_invalidate(w); } static void window_multiplayer_groups_text_input(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (widgetIndex != WIDX_RENAME_GROUP) - return; + if (widgetIndex != WIDX_RENAME_GROUP) + return; - if (text == NULL) - return; + if (text == NULL) + return; - game_do_command(3 | (_selectedGroup << 8) | (1 << 16), GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 0)), GAME_COMMAND_MODIFY_GROUPS, *((sint32*)(text + 8)), *((sint32*)(text + 4))); - game_do_command(3 | (_selectedGroup << 8) | (2 << 16), GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 12)), GAME_COMMAND_MODIFY_GROUPS, *((sint32*)(text + 20)), *((sint32*)(text + 16))); - game_do_command(3 | (_selectedGroup << 8) | (0 << 16), GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 24)), GAME_COMMAND_MODIFY_GROUPS, *((sint32*)(text + 32)), *((sint32*)(text + 28))); + game_do_command(3 | (_selectedGroup << 8) | (1 << 16), GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 0)), GAME_COMMAND_MODIFY_GROUPS, *((sint32*)(text + 8)), *((sint32*)(text + 4))); + game_do_command(3 | (_selectedGroup << 8) | (2 << 16), GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 12)), GAME_COMMAND_MODIFY_GROUPS, *((sint32*)(text + 20)), *((sint32*)(text + 16))); + game_do_command(3 | (_selectedGroup << 8) | (0 << 16), GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 24)), GAME_COMMAND_MODIFY_GROUPS, *((sint32*)(text + 32)), *((sint32*)(text + 28))); } static void window_multiplayer_groups_invalidate(rct_window *w) { - window_multiplayer_set_pressed_tab(w); - window_multiplayer_anchor_border_widgets(w); - window_multiplayer_groups_widgets[WIDX_PERMISSIONS_LIST].right = w->width - 4; - window_multiplayer_groups_widgets[WIDX_PERMISSIONS_LIST].bottom = w->height - 0x0F; - window_align_tabs(w, WIDX_TAB1, WIDX_TAB4); + window_multiplayer_set_pressed_tab(w); + window_multiplayer_anchor_border_widgets(w); + window_multiplayer_groups_widgets[WIDX_PERMISSIONS_LIST].right = w->width - 4; + window_multiplayer_groups_widgets[WIDX_PERMISSIONS_LIST].bottom = w->height - 0x0F; + window_align_tabs(w, WIDX_TAB1, WIDX_TAB4); - // select other group if one is removed - while (network_get_group_index(_selectedGroup) == -1 && _selectedGroup > 0) { - _selectedGroup--; - } + // select other group if one is removed + while (network_get_group_index(_selectedGroup) == -1 && _selectedGroup > 0) { + _selectedGroup--; + } } static void window_multiplayer_groups_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_multiplayer_draw_tab_images(w, dpi); + window_draw_widgets(w, dpi); + window_multiplayer_draw_tab_images(w, dpi); - rct_widget* widget = &window_multiplayer_groups_widgets[WIDX_DEFAULT_GROUP]; - sint32 group = network_get_group_index(network_get_default_group()); - if (group != -1) { - char buffer[300]; - char* lineCh; - lineCh = buffer; - lineCh = utf8_write_codepoint(lineCh, FORMAT_WINDOW_COLOUR_2); - safe_strcpy(lineCh, network_get_group_name(group), sizeof(buffer) - (lineCh - buffer)); - set_format_arg(0, const char *, buffer); - gfx_draw_string_centred_clipped( - dpi, - STR_STRING, - gCommonFormatArgs, - COLOUR_BLACK, - w->x + (widget->left + widget->right - 11) / 2, - w->y + widget->top, - widget->right - widget->left - 8 - ); - } + rct_widget* widget = &window_multiplayer_groups_widgets[WIDX_DEFAULT_GROUP]; + sint32 group = network_get_group_index(network_get_default_group()); + if (group != -1) { + char buffer[300]; + char* lineCh; + lineCh = buffer; + lineCh = utf8_write_codepoint(lineCh, FORMAT_WINDOW_COLOUR_2); + safe_strcpy(lineCh, network_get_group_name(group), sizeof(buffer) - (lineCh - buffer)); + set_format_arg(0, const char *, buffer); + gfx_draw_string_centred_clipped( + dpi, + STR_STRING, + gCommonFormatArgs, + COLOUR_BLACK, + w->x + (widget->left + widget->right - 11) / 2, + w->y + widget->top, + widget->right - widget->left - 8 + ); + } - sint32 x = w->x + window_multiplayer_groups_widgets[WIDX_CONTENT_PANEL].left + 4; - sint32 y = w->y + window_multiplayer_groups_widgets[WIDX_CONTENT_PANEL].top + 4; + sint32 x = w->x + window_multiplayer_groups_widgets[WIDX_CONTENT_PANEL].left + 4; + sint32 y = w->y + window_multiplayer_groups_widgets[WIDX_CONTENT_PANEL].top + 4; - gfx_draw_string_left(dpi, STR_DEFAULT_GROUP, NULL, w->colours[2], x, y); + gfx_draw_string_left(dpi, STR_DEFAULT_GROUP, NULL, w->colours[2], x, y); - y += 20; + y += 20; - gfx_fill_rect_inset(dpi, x, y - 6, x + 310, y - 5, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); + gfx_fill_rect_inset(dpi, x, y - 6, x + 310, y - 5, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); - widget = &window_multiplayer_groups_widgets[WIDX_SELECTED_GROUP]; - group = network_get_group_index(_selectedGroup); - if (group != -1) { - char buffer[300]; - char* lineCh; - lineCh = buffer; - lineCh = utf8_write_codepoint(lineCh, FORMAT_WINDOW_COLOUR_2); - safe_strcpy(lineCh, network_get_group_name(group), sizeof(buffer) - (lineCh - buffer)); - set_format_arg(0, const char *, buffer); - gfx_draw_string_centred_clipped( - dpi, - STR_STRING, - gCommonFormatArgs, - COLOUR_BLACK, - w->x + (widget->left + widget->right - 11) / 2, - w->y + widget->top, - widget->right - widget->left - 8 - ); - } + widget = &window_multiplayer_groups_widgets[WIDX_SELECTED_GROUP]; + group = network_get_group_index(_selectedGroup); + if (group != -1) { + char buffer[300]; + char* lineCh; + lineCh = buffer; + lineCh = utf8_write_codepoint(lineCh, FORMAT_WINDOW_COLOUR_2); + safe_strcpy(lineCh, network_get_group_name(group), sizeof(buffer) - (lineCh - buffer)); + set_format_arg(0, const char *, buffer); + gfx_draw_string_centred_clipped( + dpi, + STR_STRING, + gCommonFormatArgs, + COLOUR_BLACK, + w->x + (widget->left + widget->right - 11) / 2, + w->y + widget->top, + widget->right - widget->left - 8 + ); + } } static void window_multiplayer_groups_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - sint32 y = 0; + sint32 y = 0; - gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); + gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); - for (sint32 i = 0; i < network_get_num_actions(); i++) { - if (i == w->selected_list_item) { - gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); - } - if (y > dpi->y + dpi->height) { - break; - } + for (sint32 i = 0; i < network_get_num_actions(); i++) { + if (i == w->selected_list_item) { + gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); + } + if (y > dpi->y + dpi->height) { + break; + } - if (y + 11 >= dpi->y) { - char buffer[300] = {0}; - sint32 groupindex = network_get_group_index(_selectedGroup); - if (groupindex != -1){ - if (network_can_perform_action(groupindex, i)) { - char* lineCh = buffer; - lineCh = utf8_write_codepoint(lineCh, FORMAT_WINDOW_COLOUR_2); - lineCh = utf8_write_codepoint(lineCh, FORMAT_TICK); - gfx_draw_string(dpi, buffer, COLOUR_BLACK, 0, y - 1); - } - } + if (y + 11 >= dpi->y) { + char buffer[300] = {0}; + sint32 groupindex = network_get_group_index(_selectedGroup); + if (groupindex != -1){ + if (network_can_perform_action(groupindex, i)) { + char* lineCh = buffer; + lineCh = utf8_write_codepoint(lineCh, FORMAT_WINDOW_COLOUR_2); + lineCh = utf8_write_codepoint(lineCh, FORMAT_TICK); + gfx_draw_string(dpi, buffer, COLOUR_BLACK, 0, y - 1); + } + } - // Draw action name - set_format_arg(0, uint16, network_get_action_name_string_id(i)); - gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, 10, y - 1); - } - y += 10; - } + // Draw action name + set_format_arg(0, uint16, network_get_action_name_string_id(i)); + gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, 10, y - 1); + } + y += 10; + } } #pragma endregion @@ -904,88 +904,88 @@ static void window_multiplayer_groups_scrollpaint(rct_window *w, rct_drawpixelin static void window_multiplayer_options_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB1: - case WIDX_TAB2: - case WIDX_TAB3: - case WIDX_TAB4: - if (w->page != widgetIndex - WIDX_TAB1) { - window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1); - } - break; - case WIDX_LOG_CHAT_CHECKBOX: - gConfigNetwork.log_chat = !gConfigNetwork.log_chat; - config_save_default(); - break; - case WIDX_LOG_SERVER_ACTIONS_CHECKBOX: - gConfigNetwork.log_server_actions = !gConfigNetwork.log_server_actions; - config_save_default(); - break; - case WIDX_KNOWN_KEYS_ONLY_CHECKBOX: - gConfigNetwork.known_keys_only = !gConfigNetwork.known_keys_only; - config_save_default(); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB1: + case WIDX_TAB2: + case WIDX_TAB3: + case WIDX_TAB4: + if (w->page != widgetIndex - WIDX_TAB1) { + window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1); + } + break; + case WIDX_LOG_CHAT_CHECKBOX: + gConfigNetwork.log_chat = !gConfigNetwork.log_chat; + config_save_default(); + break; + case WIDX_LOG_SERVER_ACTIONS_CHECKBOX: + gConfigNetwork.log_server_actions = !gConfigNetwork.log_server_actions; + config_save_default(); + break; + case WIDX_KNOWN_KEYS_ONLY_CHECKBOX: + gConfigNetwork.known_keys_only = !gConfigNetwork.known_keys_only; + config_save_default(); + break; + } } static void window_multiplayer_options_resize(rct_window *w) { - window_set_resize(w, 300, 100, 300, 100); + window_set_resize(w, 300, 100, 300, 100); } static void window_multiplayer_options_update(rct_window *w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB1 + w->page); + w->frame_no++; + widget_invalidate(w, WIDX_TAB1 + w->page); } static void window_multiplayer_options_invalidate(rct_window *w) { - window_multiplayer_set_pressed_tab(w); - window_multiplayer_anchor_border_widgets(w); - window_align_tabs(w, WIDX_TAB1, WIDX_TAB4); + window_multiplayer_set_pressed_tab(w); + window_multiplayer_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB1, WIDX_TAB4); - if (network_get_mode() == NETWORK_MODE_CLIENT) { - w->widgets[WIDX_KNOWN_KEYS_ONLY_CHECKBOX].type = WWT_EMPTY; - } + if (network_get_mode() == NETWORK_MODE_CLIENT) { + w->widgets[WIDX_KNOWN_KEYS_ONLY_CHECKBOX].type = WWT_EMPTY; + } - widget_set_checkbox_value(w, WIDX_LOG_CHAT_CHECKBOX, gConfigNetwork.log_chat); - widget_set_checkbox_value(w, WIDX_LOG_SERVER_ACTIONS_CHECKBOX, gConfigNetwork.log_server_actions); - widget_set_checkbox_value(w, WIDX_KNOWN_KEYS_ONLY_CHECKBOX, gConfigNetwork.known_keys_only); + widget_set_checkbox_value(w, WIDX_LOG_CHAT_CHECKBOX, gConfigNetwork.log_chat); + widget_set_checkbox_value(w, WIDX_LOG_SERVER_ACTIONS_CHECKBOX, gConfigNetwork.log_server_actions); + widget_set_checkbox_value(w, WIDX_KNOWN_KEYS_ONLY_CHECKBOX, gConfigNetwork.known_keys_only); } static void window_multiplayer_options_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_multiplayer_draw_tab_images(w, dpi); + window_draw_widgets(w, dpi); + window_multiplayer_draw_tab_images(w, dpi); } #pragma endregion static void window_multiplayer_draw_tab_image(rct_window *w, rct_drawpixelinfo *dpi, sint32 page, sint32 spriteIndex) { - rct_widgetindex widgetIndex = WIDX_TAB1 + page; + rct_widgetindex widgetIndex = WIDX_TAB1 + page; - if (!widget_is_disabled(w, widgetIndex)) { - if (w->page == page) { - sint32 numFrames = window_multiplayer_animation_frames[w->page]; - if (numFrames > 1) { - sint32 frame = w->frame_no / window_multiplayer_animation_divisor[w->page]; - spriteIndex += (frame % numFrames); - } - } + if (!widget_is_disabled(w, widgetIndex)) { + if (w->page == page) { + sint32 numFrames = window_multiplayer_animation_frames[w->page]; + if (numFrames > 1) { + sint32 frame = w->frame_no / window_multiplayer_animation_divisor[w->page]; + spriteIndex += (frame % numFrames); + } + } - gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); - } + gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); + } } static void window_multiplayer_draw_tab_images(rct_window *w, rct_drawpixelinfo *dpi) { - window_multiplayer_draw_tab_image(w, dpi, WINDOW_MULTIPLAYER_PAGE_INFORMATION, SPR_TAB_KIOSKS_AND_FACILITIES_0); - window_multiplayer_draw_tab_image(w, dpi, WINDOW_MULTIPLAYER_PAGE_PLAYERS, SPR_TAB_GUESTS_0); - window_multiplayer_draw_tab_image(w, dpi, WINDOW_MULTIPLAYER_PAGE_GROUPS, SPR_TAB_STAFF_OPTIONS_0); - window_multiplayer_draw_tab_image(w, dpi, WINDOW_MULTIPLAYER_PAGE_OPTIONS, SPR_TAB_GEARS_0); + window_multiplayer_draw_tab_image(w, dpi, WINDOW_MULTIPLAYER_PAGE_INFORMATION, SPR_TAB_KIOSKS_AND_FACILITIES_0); + window_multiplayer_draw_tab_image(w, dpi, WINDOW_MULTIPLAYER_PAGE_PLAYERS, SPR_TAB_GUESTS_0); + window_multiplayer_draw_tab_image(w, dpi, WINDOW_MULTIPLAYER_PAGE_GROUPS, SPR_TAB_STAFF_OPTIONS_0); + window_multiplayer_draw_tab_image(w, dpi, WINDOW_MULTIPLAYER_PAGE_OPTIONS, SPR_TAB_GEARS_0); } diff --git a/src/openrct2/windows/music_credits.c b/src/openrct2/windows/music_credits.c index f61da8fedd..3be496b22d 100644 --- a/src/openrct2/windows/music_credits.c +++ b/src/openrct2/windows/music_credits.c @@ -20,65 +20,65 @@ #include "../interface/window.h" enum WINDOW_MUSIC_CREDITS_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE }; rct_widget window_music_credits_widgets[] = { - { WWT_FRAME, 0, 0, 509, 0, 313, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 508, 1, 14, STR_MUSIC_ACKNOWLEDGEMENTS, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 497, 507, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_SCROLL, 0, 4, 505, 18, 309, SCROLL_VERTICAL, STR_NONE }, // scroll - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 509, 0, 313, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 508, 1, 14, STR_MUSIC_ACKNOWLEDGEMENTS, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 497, 507, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_SCROLL, 0, 4, 505, 18, 309, SCROLL_VERTICAL, STR_NONE }, // scroll + { WIDGETS_END }, }; static const rct_string_id music_credits[] = { - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MARCH_CHILDREN_OF_THE_REGIMENT, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_HEYKENS_SERENADE, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_IN_CONTINENTAL_MOOD, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WEDDING_JOURNEY, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TALES_FROM_THE_VIENNA_WOODS, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SLAVONIC_DANCE, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DAS_ALPENHORN, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_THE_BLOND_SAILOR, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_OVERTURE_POET_AND_PEASANT, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WALTZ_MEDLEY, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BELLA_BELLA_BIMBA, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MARCH_CHILDREN_OF_THE_REGIMENT, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_HEYKENS_SERENADE, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_IN_CONTINENTAL_MOOD, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WEDDING_JOURNEY, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TALES_FROM_THE_VIENNA_WOODS, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SLAVONIC_DANCE, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DAS_ALPENHORN, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_THE_BLOND_SAILOR, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_OVERTURE_POET_AND_PEASANT, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WALTZ_MEDLEY, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BELLA_BELLA_BIMBA, }; static const rct_string_id music_credits_rct2[] = { - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_RCT2_TITLE_MUSIC, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DODGEMS_BEAT, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MIS_SUMMERS_HEAT, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_PHARAOS_TOMB, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_CAESARS_MARCH, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DRIFTING_TO_HEAVEN, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_INVADERS, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_ETERNAL_TOYBOX, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_JUNGLE_JUICE, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_NINJAS_NOODLES, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_VOYAGE_TO_ANDROMEDA, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BRIMBLES_BEAT, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_ATLANTIS, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WILD_WEST_KID, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_VAMPIRES_LAIR, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BLOCKUBSTER, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_AIRTIME_ROCK, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SEARCHLIGHT_RAG, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_FLIGHT_OF_FANTASY, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BIG_ROCK, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_HYPOTHERMIA, - STR_MUSIC_ACKNOWLEDGEMENTS_SAMPLES_COURTESY, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_LAST_SLEIGH_RIDE, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_PIPES_OF_GLENCAIRN, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TRAFFIC_JAM, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TOCCATA, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SPACE_ROCK, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MANIC_MECHANIC, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TECHNO_TORTURE, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SWEET_DREAMS, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WHAT_SHALL_WE_DO_WITH_THE_DRUNKEN_SAILOR, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_RCT2_TITLE_MUSIC, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DODGEMS_BEAT, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MIS_SUMMERS_HEAT, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_PHARAOS_TOMB, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_CAESARS_MARCH, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DRIFTING_TO_HEAVEN, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_INVADERS, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_ETERNAL_TOYBOX, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_JUNGLE_JUICE, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_NINJAS_NOODLES, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_VOYAGE_TO_ANDROMEDA, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BRIMBLES_BEAT, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_ATLANTIS, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WILD_WEST_KID, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_VAMPIRES_LAIR, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BLOCKUBSTER, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_AIRTIME_ROCK, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SEARCHLIGHT_RAG, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_FLIGHT_OF_FANTASY, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BIG_ROCK, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_HYPOTHERMIA, + STR_MUSIC_ACKNOWLEDGEMENTS_SAMPLES_COURTESY, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_LAST_SLEIGH_RIDE, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_PIPES_OF_GLENCAIRN, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TRAFFIC_JAM, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TOCCATA, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SPACE_ROCK, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MANIC_MECHANIC, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TECHNO_TORTURE, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SWEET_DREAMS, + STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WHAT_SHALL_WE_DO_WITH_THE_DRUNKEN_SAILOR, }; static void window_music_credits_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -87,34 +87,34 @@ static void window_music_credits_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_music_credits_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_music_credits_events = { - NULL, - window_music_credits_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_music_credits_scrollgetsize, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_music_credits_paint, - window_music_credits_scrollpaint + NULL, + window_music_credits_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_music_credits_scrollgetsize, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_music_credits_paint, + window_music_credits_scrollpaint }; /** @@ -123,28 +123,28 @@ static rct_window_event_list window_music_credits_events = { */ void window_music_credits_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_MUSIC_CREDITS); - if (window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_MUSIC_CREDITS); + if (window != NULL) + return; - window = window_create_centred( - 510, - 314, - &window_music_credits_events, - WC_MUSIC_CREDITS, - 0 - ); + window = window_create_centred( + 510, + 314, + &window_music_credits_events, + WC_MUSIC_CREDITS, + 0 + ); - window->widgets = window_music_credits_widgets; - window->enabled_widgets = 1 << WIDX_CLOSE; + window->widgets = window_music_credits_widgets; + window->enabled_widgets = 1 << WIDX_CLOSE; - window_init_scroll_widgets(window); - window->colours[0] = COLOUR_LIGHT_BLUE; - window->colours[1] = COLOUR_LIGHT_BLUE; - window->colours[2] = COLOUR_LIGHT_BLUE; + window_init_scroll_widgets(window); + window->colours[0] = COLOUR_LIGHT_BLUE; + window->colours[1] = COLOUR_LIGHT_BLUE; + window->colours[2] = COLOUR_LIGHT_BLUE; } @@ -154,11 +154,11 @@ void window_music_credits_open() */ static void window_music_credits_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + } } /** @@ -167,7 +167,7 @@ static void window_music_credits_mouseup(rct_window *w, rct_widgetindex widgetIn */ static void window_music_credits_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - *height = 560; + *height = 560; } /** @@ -176,7 +176,7 @@ static void window_music_credits_scrollgetsize(rct_window *w, sint32 scrollIndex */ static void window_music_credits_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); } /** @@ -185,28 +185,28 @@ static void window_music_credits_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_music_credits_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - sint32 x = 245; + sint32 x = 245; - sint32 y = 2; + sint32 y = 2; - for (sint32 i = 0; i < countof(music_credits); i++) { - gfx_draw_string_centred(dpi, music_credits[i], x, y, COLOUR_BLACK, NULL); - y += 10; - } + for (sint32 i = 0; i < countof(music_credits); i++) { + gfx_draw_string_centred(dpi, music_credits[i], x, y, COLOUR_BLACK, NULL); + y += 10; + } - // Add 4 more space before "Original recordings ...". - y += 4; - gfx_draw_string_centred(dpi, STR_MUSIC_ACKNOWLEDGEMENTS_ORIGINAL_RECORDINGS, x, y, COLOUR_BLACK, NULL); - y += 10; + // Add 4 more space before "Original recordings ...". + y += 4; + gfx_draw_string_centred(dpi, STR_MUSIC_ACKNOWLEDGEMENTS_ORIGINAL_RECORDINGS, x, y, COLOUR_BLACK, NULL); + y += 10; - // Draw the separator - y += 5; - gfx_fill_rect_inset(dpi, 4, y, 484, y+1, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); - y += 11; + // Draw the separator + y += 5; + gfx_fill_rect_inset(dpi, 4, y, 484, y+1, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); + y += 11; - for (sint32 i = 0; i < countof(music_credits_rct2); i++) { - gfx_draw_string_centred(dpi, music_credits_rct2[i], x, y, COLOUR_BLACK, NULL); - y += 10; - } + for (sint32 i = 0; i < countof(music_credits_rct2); i++) { + gfx_draw_string_centred(dpi, music_credits_rct2[i], x, y, COLOUR_BLACK, NULL); + y += 10; + } } diff --git a/src/openrct2/windows/network_status.c b/src/openrct2/windows/network_status.c index b29f6b5289..7063b6a45f 100644 --- a/src/openrct2/windows/network_status.c +++ b/src/openrct2/windows/network_status.c @@ -23,17 +23,17 @@ static char _password[33]; enum WINDOW_NETWORK_STATUS_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PASSWORD + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PASSWORD }; static rct_widget window_network_status_widgets[] = { - { WWT_FRAME, 0, 0, 440, 0, 90, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 438, 1, 14, STR_NONE, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 427, 437, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 440, 0, 90, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 438, 1, 14, STR_NONE, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 427, 437, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WIDGETS_END }, }; static char window_network_status_text[1024]; @@ -46,138 +46,138 @@ static void window_network_status_invalidate(rct_window *w); static void window_network_status_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_network_status_events = { - window_network_status_onclose, - window_network_status_mouseup, - NULL, - NULL, - NULL, - NULL, - window_network_status_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_network_status_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_network_status_invalidate, - window_network_status_paint, - NULL + window_network_status_onclose, + window_network_status_mouseup, + NULL, + NULL, + NULL, + NULL, + window_network_status_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_network_status_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_network_status_invalidate, + window_network_status_paint, + NULL }; static close_callback _onClose = NULL; void window_network_status_open(const char* text, close_callback onClose) { - _onClose = onClose; - safe_strcpy(window_network_status_text, text, sizeof(window_network_status_text)); + _onClose = onClose; + safe_strcpy(window_network_status_text, text, sizeof(window_network_status_text)); - // Check if window is already open - rct_window *window = window_bring_to_front_by_class_with_flags(WC_NETWORK_STATUS, 0); - if (window != NULL) - return; + // Check if window is already open + rct_window *window = window_bring_to_front_by_class_with_flags(WC_NETWORK_STATUS, 0); + if (window != NULL) + return; - window = window_create_centred(420, 90, &window_network_status_events, WC_NETWORK_STATUS, WF_10 | WF_TRANSPARENT); + window = window_create_centred(420, 90, &window_network_status_events, WC_NETWORK_STATUS, WF_10 | WF_TRANSPARENT); - window->widgets = window_network_status_widgets; - window->enabled_widgets = 1 << WIDX_CLOSE; - window_init_scroll_widgets(window); - window->no_list_items = 0; - window->selected_list_item = -1; - window->frame_no = 0; - window->min_width = 320; - window->min_height = 90; - window->max_width = window->min_width; - window->max_height = window->min_height; + window->widgets = window_network_status_widgets; + window->enabled_widgets = 1 << WIDX_CLOSE; + window_init_scroll_widgets(window); + window->no_list_items = 0; + window->selected_list_item = -1; + window->frame_no = 0; + window->min_width = 320; + window->min_height = 90; + window->max_width = window->min_width; + window->max_height = window->min_height; - window->page = 0; - window->list_information_type = 0; + window->page = 0; + window->list_information_type = 0; } void window_network_status_close() { - _onClose = NULL; - window_close_by_class(WC_NETWORK_STATUS); + _onClose = NULL; + window_close_by_class(WC_NETWORK_STATUS); } void window_network_status_open_password() { - rct_window* window; - window = window_bring_to_front_by_class(WC_NETWORK_STATUS); - if (window == NULL) - return; + rct_window* window; + window = window_bring_to_front_by_class(WC_NETWORK_STATUS); + if (window == NULL) + return; - window_text_input_raw_open(window, WIDX_PASSWORD, STR_PASSWORD_REQUIRED, STR_PASSWORD_REQUIRED_DESC, _password, 32); + window_text_input_raw_open(window, WIDX_PASSWORD, STR_PASSWORD_REQUIRED, STR_PASSWORD_REQUIRED_DESC, _password, 32); } static void window_network_status_onclose(rct_window *w) { - if (_onClose != NULL) { - _onClose(); - } + if (_onClose != NULL) { + _onClose(); + } } static void window_network_status_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + } } static void window_network_status_update(rct_window *w) { - widget_invalidate(w, WIDX_BACKGROUND); + widget_invalidate(w, WIDX_BACKGROUND); } static void window_network_status_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - _password[0] = '\0'; - switch (widgetIndex) { - case WIDX_PASSWORD: - if (text != NULL) - safe_strcpy(_password, text, sizeof(_password)); - break; - } - if (text == NULL) { - network_shutdown_client(); - } else { - network_send_password(_password); - } + _password[0] = '\0'; + switch (widgetIndex) { + case WIDX_PASSWORD: + if (text != NULL) + safe_strcpy(_password, text, sizeof(_password)); + break; + } + if (text == NULL) { + network_shutdown_client(); + } else { + network_send_password(_password); + } } static void window_network_status_invalidate(rct_window *w) { - window_network_status_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_network_status_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_network_status_widgets[WIDX_TITLE].right = w->width - 2; - window_network_status_widgets[WIDX_CLOSE].left = w->width - 2 - 0x0B; - window_network_status_widgets[WIDX_CLOSE].right = w->width - 2 - 0x0B + 0x0A; + window_network_status_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_network_status_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_network_status_widgets[WIDX_TITLE].right = w->width - 2; + window_network_status_widgets[WIDX_CLOSE].left = w->width - 2 - 0x0B; + window_network_status_widgets[WIDX_CLOSE].right = w->width - 2 - 0x0B + 0x0A; } static void window_network_status_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - char buffer[sizeof(window_network_status_text) + 10]; - char* lineCh = buffer; - lineCh = utf8_write_codepoint(lineCh, FORMAT_BLACK); - safe_strcpy(lineCh, window_network_status_text, sizeof(buffer) - (lineCh - buffer)); - gfx_clip_string(buffer, w->widgets[WIDX_BACKGROUND].right - 50); - sint32 x = w->x + (w->width / 2); - sint32 y = w->y + (w->height / 2); - x -= gfx_get_string_width(buffer) / 2; - gfx_draw_string(dpi, buffer, COLOUR_BLACK, x, y); + window_draw_widgets(w, dpi); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + char buffer[sizeof(window_network_status_text) + 10]; + char* lineCh = buffer; + lineCh = utf8_write_codepoint(lineCh, FORMAT_BLACK); + safe_strcpy(lineCh, window_network_status_text, sizeof(buffer) - (lineCh - buffer)); + gfx_clip_string(buffer, w->widgets[WIDX_BACKGROUND].right - 50); + sint32 x = w->x + (w->width / 2); + sint32 y = w->y + (w->height / 2); + x -= gfx_get_string_width(buffer) / 2; + gfx_draw_string(dpi, buffer, COLOUR_BLACK, x, y); } diff --git a/src/openrct2/windows/new_campaign.c b/src/openrct2/windows/new_campaign.c index fc3a8875a9..fa6261f261 100644 --- a/src/openrct2/windows/new_campaign.c +++ b/src/openrct2/windows/new_campaign.c @@ -27,32 +27,32 @@ #define SELECTED_RIDE_UNDEFINED ((uint16)0xFFFF) enum WINDOW_NEW_CAMPAIGN_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_RIDE_LABEL, - WIDX_RIDE_DROPDOWN, - WIDX_RIDE_DROPDOWN_BUTTON, - WIDX_WEEKS_LABEL, - WIDX_WEEKS_SPINNER, - WIDX_WEEKS_INCREASE_BUTTON, - WIDX_WEEKS_DECREASE_BUTTON, - WIDX_START_BUTTON + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_RIDE_LABEL, + WIDX_RIDE_DROPDOWN, + WIDX_RIDE_DROPDOWN_BUTTON, + WIDX_WEEKS_LABEL, + WIDX_WEEKS_SPINNER, + WIDX_WEEKS_INCREASE_BUTTON, + WIDX_WEEKS_DECREASE_BUTTON, + WIDX_START_BUTTON }; static rct_widget window_new_campaign_widgets[] = { - { WWT_FRAME, 0, 0, 349, 0, 106, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 348, 1, 14, 0, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 337, 347, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_24, 0, 0, 139, 24, 35, 0, STR_NONE }, // ride label - { WWT_DROPDOWN, 0, 100, 341, 24, 35, 0, STR_NONE }, // ride dropdown - { WWT_DROPDOWN_BUTTON, 0, 330, 340, 25, 34, STR_DROPDOWN_GLYPH, STR_NONE }, // ride dropdown button - { WWT_24, 0, 0, 139, 41, 52, STR_LENGTH_OF_TIME, STR_NONE }, // weeks label - { WWT_SPINNER, 0, 120, 219, 41, 52, 0, STR_NONE }, // weeks - { WWT_DROPDOWN_BUTTON, 0, 208, 218, 42, 46, STR_NUMERIC_UP, STR_NONE }, // weeks + - { WWT_DROPDOWN_BUTTON, 0, 208, 218, 47, 51, STR_NUMERIC_DOWN, STR_NONE }, // weeks - - { WWT_DROPDOWN_BUTTON, 0, 14, 335, 89, 100, STR_MARKETING_START_THIS_MARKETING_CAMPAIGN, STR_NONE }, // start button - { WIDGETS_END } + { WWT_FRAME, 0, 0, 349, 0, 106, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 348, 1, 14, 0, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 337, 347, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_24, 0, 0, 139, 24, 35, 0, STR_NONE }, // ride label + { WWT_DROPDOWN, 0, 100, 341, 24, 35, 0, STR_NONE }, // ride dropdown + { WWT_DROPDOWN_BUTTON, 0, 330, 340, 25, 34, STR_DROPDOWN_GLYPH, STR_NONE }, // ride dropdown button + { WWT_24, 0, 0, 139, 41, 52, STR_LENGTH_OF_TIME, STR_NONE }, // weeks label + { WWT_SPINNER, 0, 120, 219, 41, 52, 0, STR_NONE }, // weeks + { WWT_DROPDOWN_BUTTON, 0, 208, 218, 42, 46, STR_NUMERIC_UP, STR_NONE }, // weeks + + { WWT_DROPDOWN_BUTTON, 0, 208, 218, 47, 51, STR_NUMERIC_DOWN, STR_NONE }, // weeks - + { WWT_DROPDOWN_BUTTON, 0, 14, 335, 89, 100, STR_MARKETING_START_THIS_MARKETING_CAMPAIGN, STR_NONE }, // start button + { WIDGETS_END } }; @@ -63,34 +63,34 @@ static void window_new_campaign_invalidate(rct_window *w); static void window_new_campaign_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_new_campaign_events = { - NULL, - window_new_campaign_mouseup, - NULL, - window_new_campaign_mousedown, - window_new_campaign_dropdown, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_new_campaign_invalidate, - window_new_campaign_paint, - NULL + NULL, + window_new_campaign_mouseup, + NULL, + window_new_campaign_mousedown, + window_new_campaign_dropdown, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_new_campaign_invalidate, + window_new_campaign_paint, + NULL }; uint8 window_new_campaign_rides[MAX_RIDES]; @@ -98,25 +98,25 @@ uint8 window_new_campaign_shop_items[64]; static sint32 ride_value_compare(const void *a, const void *b) { - rct_ride *rideA, *rideB; + rct_ride *rideA, *rideB; - rideA = get_ride(*((uint8*)a)); - rideB = get_ride(*((uint8*)b)); - return rideB->value - rideA->value; + rideA = get_ride(*((uint8*)a)); + rideB = get_ride(*((uint8*)b)); + return rideB->value - rideA->value; } static sint32 ride_name_compare(const void *a, const void *b) { - char rideAName[256], rideBName[256]; - rct_ride *rideA, *rideB; + char rideAName[256], rideBName[256]; + rct_ride *rideA, *rideB; - rideA = get_ride(*((uint8*)a)); - rideB = get_ride(*((uint8*)b)); + rideA = get_ride(*((uint8*)a)); + rideB = get_ride(*((uint8*)b)); - format_string(rideAName, 256, rideA->name, &rideA->name_arguments); - format_string(rideBName, 256, rideB->name, &rideB->name_arguments); + format_string(rideAName, 256, rideA->name, &rideA->name_arguments); + format_string(rideBName, 256, rideB->name, &rideB->name_arguments); - return _strcmpi(rideAName, rideBName); + return _strcmpi(rideAName, rideBName); } /** @@ -125,61 +125,61 @@ static sint32 ride_name_compare(const void *a, const void *b) */ void window_new_campaign_open(sint16 campaignType) { - rct_window *w; - rct_ride *ride; - sint32 i, numApplicableRides; + rct_window *w; + rct_ride *ride; + sint32 i, numApplicableRides; - w = window_bring_to_front_by_class(WC_NEW_CAMPAIGN); - if (w != NULL) { - if (w->campaign.campaign_type == campaignType) - return; + w = window_bring_to_front_by_class(WC_NEW_CAMPAIGN); + if (w != NULL) { + if (w->campaign.campaign_type == campaignType) + return; - window_close(w); - } + window_close(w); + } - w = window_create_auto_pos(350, 107, &window_new_campaign_events, WC_NEW_CAMPAIGN, 0); - w->widgets = window_new_campaign_widgets; - w->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_RIDE_DROPDOWN) | - (1 << WIDX_RIDE_DROPDOWN_BUTTON) | - (1 << WIDX_WEEKS_INCREASE_BUTTON) | - (1 << WIDX_WEEKS_DECREASE_BUTTON) | - (1 << WIDX_START_BUTTON); - w->hold_down_widgets = - (1 << WIDX_WEEKS_INCREASE_BUTTON) | - (1 << WIDX_WEEKS_DECREASE_BUTTON); - window_init_scroll_widgets(w); + w = window_create_auto_pos(350, 107, &window_new_campaign_events, WC_NEW_CAMPAIGN, 0); + w->widgets = window_new_campaign_widgets; + w->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_RIDE_DROPDOWN) | + (1 << WIDX_RIDE_DROPDOWN_BUTTON) | + (1 << WIDX_WEEKS_INCREASE_BUTTON) | + (1 << WIDX_WEEKS_DECREASE_BUTTON) | + (1 << WIDX_START_BUTTON); + w->hold_down_widgets = + (1 << WIDX_WEEKS_INCREASE_BUTTON) | + (1 << WIDX_WEEKS_DECREASE_BUTTON); + window_init_scroll_widgets(w); - window_new_campaign_widgets[WIDX_TITLE].text = MarketingCampaignNames[campaignType][0]; + window_new_campaign_widgets[WIDX_TITLE].text = MarketingCampaignNames[campaignType][0]; - // Campaign type - w->campaign.campaign_type = campaignType; + // Campaign type + w->campaign.campaign_type = campaignType; - // Number of weeks - w->campaign.no_weeks = 2; + // Number of weeks + w->campaign.no_weeks = 2; - // Currently selected ride - w->campaign.ride_id = SELECTED_RIDE_UNDEFINED; + // Currently selected ride + w->campaign.ride_id = SELECTED_RIDE_UNDEFINED; - // Get all applicable rides - numApplicableRides = 0; - window_new_campaign_rides[0] = 255; - FOR_ALL_RIDES(i, ride) { - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_SELLS_FOOD | RIDE_TYPE_FLAG_SELLS_DRINKS | RIDE_TYPE_FLAG_IS_BATHROOM)) - window_new_campaign_rides[numApplicableRides++] = i; - } + // Get all applicable rides + numApplicableRides = 0; + window_new_campaign_rides[0] = 255; + FOR_ALL_RIDES(i, ride) { + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_SELLS_FOOD | RIDE_TYPE_FLAG_SELLS_DRINKS | RIDE_TYPE_FLAG_IS_BATHROOM)) + window_new_campaign_rides[numApplicableRides++] = i; + } - // Take top 40 most reliable rides - if (numApplicableRides > 40) { - qsort(window_new_campaign_rides, numApplicableRides, sizeof(uint8), ride_value_compare); - numApplicableRides = 40; - } + // Take top 40 most reliable rides + if (numApplicableRides > 40) { + qsort(window_new_campaign_rides, numApplicableRides, sizeof(uint8), ride_value_compare); + numApplicableRides = 40; + } - // Sort rides by name - qsort(window_new_campaign_rides, numApplicableRides, sizeof(uint8), ride_name_compare); + // Sort rides by name + qsort(window_new_campaign_rides, numApplicableRides, sizeof(uint8), ride_name_compare); - window_new_campaign_rides[numApplicableRides] = 255; + window_new_campaign_rides[numApplicableRides] = 255; } /** @@ -188,29 +188,29 @@ void window_new_campaign_open(sint16 campaignType) */ static void window_new_campaign_get_shop_items() { - sint32 i, numItems; - rct_ride *ride; + sint32 i, numItems; + rct_ride *ride; - uint64 items = 0; - FOR_ALL_RIDES(i, ride) { - rct_ride_entry *rideType = get_ride_entry(ride->subtype); - if (rideType == NULL) { - continue; - } - uint8 itemType = rideType->shop_item; - if (itemType != 255) - items |= 1LL << itemType; - } + uint64 items = 0; + FOR_ALL_RIDES(i, ride) { + rct_ride_entry *rideType = get_ride_entry(ride->subtype); + if (rideType == NULL) { + continue; + } + uint8 itemType = rideType->shop_item; + if (itemType != 255) + items |= 1LL << itemType; + } - // Remove certain items? - items &= 0x0011FF78036BA3E0; + // Remove certain items? + items &= 0x0011FF78036BA3E0; - // - numItems = 0; - for (i = 0; i < 64; i++) - if (items & (1LL << i)) - window_new_campaign_shop_items[numItems++] = i; - window_new_campaign_shop_items[numItems] = 255; + // + numItems = 0; + for (i = 0; i < 64; i++) + if (items & (1LL << i)) + window_new_campaign_shop_items[numItems++] = i; + window_new_campaign_shop_items[numItems] = 255; } /** @@ -219,14 +219,14 @@ static void window_new_campaign_get_shop_items() */ static void window_new_campaign_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_START_BUTTON: - marketing_start_campaign(w->campaign.campaign_type, w->campaign.ride_id, w->campaign.no_weeks); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_START_BUTTON: + marketing_start_campaign(w->campaign.campaign_type, w->campaign.ride_id, w->campaign.no_weeks); + break; + } } /** @@ -235,70 +235,70 @@ static void window_new_campaign_mouseup(rct_window *w, rct_widgetindex widgetInd */ static void window_new_campaign_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget* widget) { - rct_widget *dropdownWidget; + rct_widget *dropdownWidget; - switch (widgetIndex) { - case WIDX_RIDE_DROPDOWN_BUTTON: - dropdownWidget = widget - 1; + switch (widgetIndex) { + case WIDX_RIDE_DROPDOWN_BUTTON: + dropdownWidget = widget - 1; - if (w->campaign.campaign_type == ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE) { - window_new_campaign_get_shop_items(); - if (window_new_campaign_shop_items[0] != 255) { - sint32 numItems = 0; - for (sint32 i = 0; i < 40; i++) { - if (window_new_campaign_shop_items[i] == 255) - break; + if (w->campaign.campaign_type == ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE) { + window_new_campaign_get_shop_items(); + if (window_new_campaign_shop_items[0] != 255) { + sint32 numItems = 0; + for (sint32 i = 0; i < 40; i++) { + if (window_new_campaign_shop_items[i] == 255) + break; - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = ShopItemStringIds[window_new_campaign_shop_items[i]].plural; - numItems++; - } + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = ShopItemStringIds[window_new_campaign_shop_items[i]].plural; + numItems++; + } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - numItems, - dropdownWidget->right - dropdownWidget->left - 3 - ); - } - } else { - sint32 numItems = 0; - for (sint32 i = 0; i < 40; i++) { - if (window_new_campaign_rides[i] == 255) - break; + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + numItems, + dropdownWidget->right - dropdownWidget->left - 3 + ); + } + } else { + sint32 numItems = 0; + for (sint32 i = 0; i < 40; i++) { + if (window_new_campaign_rides[i] == 255) + break; - rct_ride *ride = get_ride(window_new_campaign_rides[i]); - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = ((uint64)ride->name_arguments << 16ULL) | ride->name; - numItems++; - } + rct_ride *ride = get_ride(window_new_campaign_rides[i]); + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = ((uint64)ride->name_arguments << 16ULL) | ride->name; + numItems++; + } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - numItems, - dropdownWidget->right - dropdownWidget->left - 3 - ); - } - break; - // In RCT2, the maximum was 6 weeks - case WIDX_WEEKS_INCREASE_BUTTON: - w->campaign.no_weeks = min(w->campaign.no_weeks + 1, 12); - window_invalidate(w); - break; - case WIDX_WEEKS_DECREASE_BUTTON: - w->campaign.no_weeks = max(w->campaign.no_weeks - 1, 2); - window_invalidate(w); - break; - } + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + numItems, + dropdownWidget->right - dropdownWidget->left - 3 + ); + } + break; + // In RCT2, the maximum was 6 weeks + case WIDX_WEEKS_INCREASE_BUTTON: + w->campaign.no_weeks = min(w->campaign.no_weeks + 1, 12); + window_invalidate(w); + break; + case WIDX_WEEKS_DECREASE_BUTTON: + w->campaign.no_weeks = max(w->campaign.no_weeks - 1, 2); + window_invalidate(w); + break; + } } /** @@ -307,19 +307,19 @@ static void window_new_campaign_mousedown(rct_widgetindex widgetIndex, rct_windo */ static void window_new_campaign_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex != WIDX_RIDE_DROPDOWN_BUTTON) - return; + if (widgetIndex != WIDX_RIDE_DROPDOWN_BUTTON) + return; - if (dropdownIndex == -1) - return; + if (dropdownIndex == -1) + return; - if (w->campaign.campaign_type == ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE) { - w->campaign.ride_id = window_new_campaign_shop_items[dropdownIndex]; - } else { - w->campaign.ride_id = window_new_campaign_rides[dropdownIndex]; - } + if (w->campaign.campaign_type == ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE) { + w->campaign.ride_id = window_new_campaign_shop_items[dropdownIndex]; + } else { + w->campaign.ride_id = window_new_campaign_rides[dropdownIndex]; + } - window_invalidate(w); + window_invalidate(w); } /** @@ -328,41 +328,41 @@ static void window_new_campaign_dropdown(rct_window *w, rct_widgetindex widgetIn */ static void window_new_campaign_invalidate(rct_window *w) { - window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WWT_EMPTY; - window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WWT_EMPTY; - window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WWT_EMPTY; - window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].text = STR_MARKETING_NOT_SELECTED; - switch (w->campaign.campaign_type) { - case ADVERTISING_CAMPAIGN_RIDE_FREE: - case ADVERTISING_CAMPAIGN_RIDE: - window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WWT_24; - window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WWT_DROPDOWN; - window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WWT_DROPDOWN_BUTTON; - window_new_campaign_widgets[WIDX_RIDE_LABEL].text = STR_MARKETING_RIDE; - if (w->campaign.ride_id != SELECTED_RIDE_UNDEFINED) { - rct_ride *ride = get_ride(w->campaign.ride_id); - window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].text = ride->name; - set_format_arg(0, uint32, ride->name_arguments); - } - break; - case ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE: - window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WWT_24; - window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WWT_DROPDOWN; - window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WWT_DROPDOWN_BUTTON; - window_new_campaign_widgets[WIDX_RIDE_LABEL].text = STR_MARKETING_ITEM; - if (w->campaign.ride_id != SELECTED_RIDE_UNDEFINED) { - window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].text = ShopItemStringIds[w->campaign.ride_id].plural; - } - break; - } + window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WWT_EMPTY; + window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WWT_EMPTY; + window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WWT_EMPTY; + window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].text = STR_MARKETING_NOT_SELECTED; + switch (w->campaign.campaign_type) { + case ADVERTISING_CAMPAIGN_RIDE_FREE: + case ADVERTISING_CAMPAIGN_RIDE: + window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WWT_24; + window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WWT_DROPDOWN; + window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WWT_DROPDOWN_BUTTON; + window_new_campaign_widgets[WIDX_RIDE_LABEL].text = STR_MARKETING_RIDE; + if (w->campaign.ride_id != SELECTED_RIDE_UNDEFINED) { + rct_ride *ride = get_ride(w->campaign.ride_id); + window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].text = ride->name; + set_format_arg(0, uint32, ride->name_arguments); + } + break; + case ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE: + window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WWT_24; + window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WWT_DROPDOWN; + window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WWT_DROPDOWN_BUTTON; + window_new_campaign_widgets[WIDX_RIDE_LABEL].text = STR_MARKETING_ITEM; + if (w->campaign.ride_id != SELECTED_RIDE_UNDEFINED) { + window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].text = ShopItemStringIds[w->campaign.ride_id].plural; + } + break; + } - // Set current number of weeks spinner (moved to paint due to required parameter) - window_new_campaign_widgets[WIDX_WEEKS_SPINNER].text = STR_NONE; + // Set current number of weeks spinner (moved to paint due to required parameter) + window_new_campaign_widgets[WIDX_WEEKS_SPINNER].text = STR_NONE; - // Enable / disable start button based on ride dropdown - w->disabled_widgets &= ~(1 << WIDX_START_BUTTON); - if (window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type == WWT_DROPDOWN && w->campaign.ride_id == SELECTED_RIDE_UNDEFINED) - w->disabled_widgets |= 1 << WIDX_START_BUTTON; + // Enable / disable start button based on ride dropdown + w->disabled_widgets &= ~(1 << WIDX_START_BUTTON); + if (window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type == WWT_DROPDOWN && w->campaign.ride_id == SELECTED_RIDE_UNDEFINED) + w->disabled_widgets |= 1 << WIDX_START_BUTTON; } /** @@ -371,30 +371,30 @@ static void window_new_campaign_invalidate(rct_window *w) */ static void window_new_campaign_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y; + sint32 x, y; - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - // Number of weeks - rct_widget *spinnerWidget = &window_new_campaign_widgets[WIDX_WEEKS_SPINNER]; - gfx_draw_string_left( - dpi, - w->campaign.no_weeks == 1 ? STR_MARKETING_1_WEEK : STR_X_WEEKS, - &w->campaign.no_weeks, - w->colours[0], - w->x + spinnerWidget->left + 1, - w->y + spinnerWidget->top - ); + // Number of weeks + rct_widget *spinnerWidget = &window_new_campaign_widgets[WIDX_WEEKS_SPINNER]; + gfx_draw_string_left( + dpi, + w->campaign.no_weeks == 1 ? STR_MARKETING_1_WEEK : STR_X_WEEKS, + &w->campaign.no_weeks, + w->colours[0], + w->x + spinnerWidget->left + 1, + w->y + spinnerWidget->top + ); - x = w->x + 14; - y = w->y + 60; + x = w->x + 14; + y = w->y + 60; - // Price per week - money32 pricePerWeek = AdvertisingCampaignPricePerWeek[w->campaign.campaign_type]; - gfx_draw_string_left(dpi, STR_MARKETING_COST_PER_WEEK, &pricePerWeek, COLOUR_BLACK, x, y); - y += 13; + // Price per week + money32 pricePerWeek = AdvertisingCampaignPricePerWeek[w->campaign.campaign_type]; + gfx_draw_string_left(dpi, STR_MARKETING_COST_PER_WEEK, &pricePerWeek, COLOUR_BLACK, x, y); + y += 13; - // Total price - money32 totalPrice = AdvertisingCampaignPricePerWeek[w->campaign.campaign_type] * w->campaign.no_weeks; - gfx_draw_string_left(dpi, STR_MARKETING_TOTAL_COST, &totalPrice, COLOUR_BLACK, x, y); + // Total price + money32 totalPrice = AdvertisingCampaignPricePerWeek[w->campaign.campaign_type] * w->campaign.no_weeks; + gfx_draw_string_left(dpi, STR_MARKETING_TOTAL_COST, &totalPrice, COLOUR_BLACK, x, y); } diff --git a/src/openrct2/windows/new_ride.c b/src/openrct2/windows/new_ride.c index 0e998cb970..a89e7c6e45 100644 --- a/src/openrct2/windows/new_ride.c +++ b/src/openrct2/windows/new_ride.c @@ -46,154 +46,154 @@ static ride_list_item _windowNewRideListItems[384]; * type are kept together. */ const char RideTypeViewOrder[] = { - // Transport rides - RIDE_TYPE_MINIATURE_RAILWAY, - RIDE_TYPE_MONORAIL, - RIDE_TYPE_SUSPENDED_MONORAIL, - RIDE_TYPE_CHAIRLIFT, - RIDE_TYPE_LIFT, + // Transport rides + RIDE_TYPE_MINIATURE_RAILWAY, + RIDE_TYPE_MONORAIL, + RIDE_TYPE_SUSPENDED_MONORAIL, + RIDE_TYPE_CHAIRLIFT, + RIDE_TYPE_LIFT, - // Roller Coasters - RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER, - RIDE_TYPE_VIRGINIA_REEL, - RIDE_TYPE_REVERSER_ROLLER_COASTER, - RIDE_TYPE_WOODEN_ROLLER_COASTER, - RIDE_TYPE_WOODEN_WILD_MOUSE, - RIDE_TYPE_WILD_MOUSE, - RIDE_TYPE_INVERTED_HAIRPIN_COASTER, - RIDE_TYPE_JUNIOR_ROLLER_COASTER, - RIDE_TYPE_MINI_ROLLER_COASTER, - RIDE_TYPE_SPIRAL_ROLLER_COASTER, - RIDE_TYPE_MINE_TRAIN_COASTER, - RIDE_TYPE_LOOPING_ROLLER_COASTER, - RIDE_TYPE_STAND_UP_ROLLER_COASTER, - RIDE_TYPE_CORKSCREW_ROLLER_COASTER, - RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER, - RIDE_TYPE_TWISTER_ROLLER_COASTER, - RIDE_TYPE_GIGA_COASTER, - RIDE_TYPE_SUSPENDED_SWINGING_COASTER, - RIDE_TYPE_COMPACT_INVERTED_COASTER, - RIDE_TYPE_INVERTED_ROLLER_COASTER, - RIDE_TYPE_INVERTED_IMPULSE_COASTER, - RIDE_TYPE_MINI_SUSPENDED_COASTER, - RIDE_TYPE_STEEPLECHASE, - RIDE_TYPE_BOBSLEIGH_COASTER, - RIDE_TYPE_MINE_RIDE, - RIDE_TYPE_HEARTLINE_TWISTER_COASTER, - RIDE_TYPE_LAY_DOWN_ROLLER_COASTER, - RIDE_TYPE_FLYING_ROLLER_COASTER, - RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER, - RIDE_TYPE_REVERSE_FREEFALL_COASTER, - RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER, - RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER, + // Roller Coasters + RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER, + RIDE_TYPE_VIRGINIA_REEL, + RIDE_TYPE_REVERSER_ROLLER_COASTER, + RIDE_TYPE_WOODEN_ROLLER_COASTER, + RIDE_TYPE_WOODEN_WILD_MOUSE, + RIDE_TYPE_WILD_MOUSE, + RIDE_TYPE_INVERTED_HAIRPIN_COASTER, + RIDE_TYPE_JUNIOR_ROLLER_COASTER, + RIDE_TYPE_MINI_ROLLER_COASTER, + RIDE_TYPE_SPIRAL_ROLLER_COASTER, + RIDE_TYPE_MINE_TRAIN_COASTER, + RIDE_TYPE_LOOPING_ROLLER_COASTER, + RIDE_TYPE_STAND_UP_ROLLER_COASTER, + RIDE_TYPE_CORKSCREW_ROLLER_COASTER, + RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER, + RIDE_TYPE_TWISTER_ROLLER_COASTER, + RIDE_TYPE_GIGA_COASTER, + RIDE_TYPE_SUSPENDED_SWINGING_COASTER, + RIDE_TYPE_COMPACT_INVERTED_COASTER, + RIDE_TYPE_INVERTED_ROLLER_COASTER, + RIDE_TYPE_INVERTED_IMPULSE_COASTER, + RIDE_TYPE_MINI_SUSPENDED_COASTER, + RIDE_TYPE_STEEPLECHASE, + RIDE_TYPE_BOBSLEIGH_COASTER, + RIDE_TYPE_MINE_RIDE, + RIDE_TYPE_HEARTLINE_TWISTER_COASTER, + RIDE_TYPE_LAY_DOWN_ROLLER_COASTER, + RIDE_TYPE_FLYING_ROLLER_COASTER, + RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER, + RIDE_TYPE_REVERSE_FREEFALL_COASTER, + RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER, + RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER, - // Gentle rides - RIDE_TYPE_MONORAIL_CYCLES, - RIDE_TYPE_CROOKED_HOUSE, - RIDE_TYPE_HAUNTED_HOUSE, - RIDE_TYPE_FERRIS_WHEEL, - RIDE_TYPE_MAZE, - RIDE_TYPE_MERRY_GO_ROUND, - RIDE_TYPE_MINI_GOLF, - RIDE_TYPE_OBSERVATION_TOWER, - RIDE_TYPE_CAR_RIDE, - RIDE_TYPE_MINI_HELICOPTERS, - RIDE_TYPE_SPIRAL_SLIDE, - RIDE_TYPE_DODGEMS, - RIDE_TYPE_SPACE_RINGS, - RIDE_TYPE_CIRCUS_SHOW, - RIDE_TYPE_GHOST_TRAIN, - RIDE_TYPE_FLYING_SAUCERS, + // Gentle rides + RIDE_TYPE_MONORAIL_CYCLES, + RIDE_TYPE_CROOKED_HOUSE, + RIDE_TYPE_HAUNTED_HOUSE, + RIDE_TYPE_FERRIS_WHEEL, + RIDE_TYPE_MAZE, + RIDE_TYPE_MERRY_GO_ROUND, + RIDE_TYPE_MINI_GOLF, + RIDE_TYPE_OBSERVATION_TOWER, + RIDE_TYPE_CAR_RIDE, + RIDE_TYPE_MINI_HELICOPTERS, + RIDE_TYPE_SPIRAL_SLIDE, + RIDE_TYPE_DODGEMS, + RIDE_TYPE_SPACE_RINGS, + RIDE_TYPE_CIRCUS_SHOW, + RIDE_TYPE_GHOST_TRAIN, + RIDE_TYPE_FLYING_SAUCERS, - // Thrill rides - RIDE_TYPE_TWIST, - RIDE_TYPE_MAGIC_CARPET, - RIDE_TYPE_LAUNCHED_FREEFALL, - RIDE_TYPE_PIRATE_SHIP, - RIDE_TYPE_GO_KARTS, - RIDE_TYPE_SWINGING_INVERTER_SHIP, - RIDE_TYPE_MOTION_SIMULATOR, - RIDE_TYPE_3D_CINEMA, - RIDE_TYPE_TOP_SPIN, - RIDE_TYPE_ROTO_DROP, - RIDE_TYPE_ENTERPRISE, + // Thrill rides + RIDE_TYPE_TWIST, + RIDE_TYPE_MAGIC_CARPET, + RIDE_TYPE_LAUNCHED_FREEFALL, + RIDE_TYPE_PIRATE_SHIP, + RIDE_TYPE_GO_KARTS, + RIDE_TYPE_SWINGING_INVERTER_SHIP, + RIDE_TYPE_MOTION_SIMULATOR, + RIDE_TYPE_3D_CINEMA, + RIDE_TYPE_TOP_SPIN, + RIDE_TYPE_ROTO_DROP, + RIDE_TYPE_ENTERPRISE, - // Water rides - RIDE_TYPE_DINGHY_SLIDE, - RIDE_TYPE_LOG_FLUME, - RIDE_TYPE_RIVER_RAPIDS, - RIDE_TYPE_SPLASH_BOATS, - RIDE_TYPE_SUBMARINE_RIDE, - RIDE_TYPE_BOAT_RIDE, - RIDE_TYPE_RIVER_RAFTS, - RIDE_TYPE_WATER_COASTER, + // Water rides + RIDE_TYPE_DINGHY_SLIDE, + RIDE_TYPE_LOG_FLUME, + RIDE_TYPE_RIVER_RAPIDS, + RIDE_TYPE_SPLASH_BOATS, + RIDE_TYPE_SUBMARINE_RIDE, + RIDE_TYPE_BOAT_RIDE, + RIDE_TYPE_RIVER_RAFTS, + RIDE_TYPE_WATER_COASTER, - // Shops / stalls - RIDE_TYPE_FOOD_STALL, - RIDE_TYPE_1D, - RIDE_TYPE_DRINK_STALL, - RIDE_TYPE_1F, - RIDE_TYPE_SHOP, - RIDE_TYPE_22, - RIDE_TYPE_INFORMATION_KIOSK, - RIDE_TYPE_FIRST_AID, - RIDE_TYPE_CASH_MACHINE, - RIDE_TYPE_TOILETS + // Shops / stalls + RIDE_TYPE_FOOD_STALL, + RIDE_TYPE_1D, + RIDE_TYPE_DRINK_STALL, + RIDE_TYPE_1F, + RIDE_TYPE_SHOP, + RIDE_TYPE_22, + RIDE_TYPE_INFORMATION_KIOSK, + RIDE_TYPE_FIRST_AID, + RIDE_TYPE_CASH_MACHINE, + RIDE_TYPE_TOILETS }; #pragma endregion enum { - WINDOW_NEW_RIDE_PAGE_TRANSPORT, - WINDOW_NEW_RIDE_PAGE_GENTLE, - WINDOW_NEW_RIDE_PAGE_ROLLER_COASTER, - WINDOW_NEW_RIDE_PAGE_THRILL, - WINDOW_NEW_RIDE_PAGE_WATER, - WINDOW_NEW_RIDE_PAGE_SHOP, - WINDOW_NEW_RIDE_PAGE_RESEARCH, - WINDOW_NEW_RIDE_PAGE_COUNT + WINDOW_NEW_RIDE_PAGE_TRANSPORT, + WINDOW_NEW_RIDE_PAGE_GENTLE, + WINDOW_NEW_RIDE_PAGE_ROLLER_COASTER, + WINDOW_NEW_RIDE_PAGE_THRILL, + WINDOW_NEW_RIDE_PAGE_WATER, + WINDOW_NEW_RIDE_PAGE_SHOP, + WINDOW_NEW_RIDE_PAGE_RESEARCH, + WINDOW_NEW_RIDE_PAGE_COUNT }; #pragma region Widgets enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_TAB_2, - WIDX_TAB_3, - WIDX_TAB_4, - WIDX_TAB_5, - WIDX_TAB_6, - WIDX_TAB_7, - WIDX_RIDE_LIST, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_TAB_2, + WIDX_TAB_3, + WIDX_TAB_4, + WIDX_TAB_5, + WIDX_TAB_6, + WIDX_TAB_7, + WIDX_RIDE_LIST, - WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP, - WIDX_LAST_DEVELOPMENT_GROUP, - WIDX_LAST_DEVELOPMENT_BUTTON, - WIDX_RESEARCH_FUNDING_BUTTON + WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP, + WIDX_LAST_DEVELOPMENT_GROUP, + WIDX_LAST_DEVELOPMENT_BUTTON, + WIDX_RESEARCH_FUNDING_BUTTON }; static rct_widget window_new_ride_widgets[] = { - { WWT_FRAME, 0, 0, 600, 0, 369, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 599, 1, 14, 0xFFFFFFFF, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 588, 598, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 600, 43, 369, 0xFFFFFFFF, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_TRANSPORT_RIDES_TIP }, - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_GENTLE_RIDES_TIP }, - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_ROLLER_COASTERS_TIP }, - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_THRILL_RIDES_TIP }, - { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_WATER_RIDES_TIP }, - { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOPS_STALLS_TIP }, - { WWT_TAB, 1, 189, 219, 17, 43, 0x20000000 | SPR_TAB, STR_RESEARCH_AND_DEVELOPMENT_TIP }, - { WWT_SCROLL, 1, 3, 597, 46, 317, SCROLL_VERTICAL, STR_NONE }, - { WWT_GROUPBOX, 2, 3, 292, 47, 116, STR_CURRENTLY_IN_DEVELOPMENT, STR_NONE }, - { WWT_GROUPBOX, 2, 3, 292, 124, 188, STR_LAST_DEVELOPMENT, STR_NONE }, - { WWT_FLATBTN, 2, 265, 288, 161, 184, 0xFFFFFFFF, STR_RESEARCH_SHOW_DETAILS_TIP }, - { WWT_FLATBTN, 2, 265, 288, 68, 91, SPR_FINANCE, STR_FINANCES_RESEARCH_TIP }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 600, 0, 369, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 599, 1, 14, 0xFFFFFFFF, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 588, 598, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 600, 43, 369, 0xFFFFFFFF, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_TRANSPORT_RIDES_TIP }, + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_GENTLE_RIDES_TIP }, + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_ROLLER_COASTERS_TIP }, + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_THRILL_RIDES_TIP }, + { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_WATER_RIDES_TIP }, + { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SHOPS_STALLS_TIP }, + { WWT_TAB, 1, 189, 219, 17, 43, 0x20000000 | SPR_TAB, STR_RESEARCH_AND_DEVELOPMENT_TIP }, + { WWT_SCROLL, 1, 3, 597, 46, 317, SCROLL_VERTICAL, STR_NONE }, + { WWT_GROUPBOX, 2, 3, 292, 47, 116, STR_CURRENTLY_IN_DEVELOPMENT, STR_NONE }, + { WWT_GROUPBOX, 2, 3, 292, 124, 188, STR_LAST_DEVELOPMENT, STR_NONE }, + { WWT_FLATBTN, 2, 265, 288, 161, 184, 0xFFFFFFFF, STR_RESEARCH_SHOW_DETAILS_TIP }, + { WWT_FLATBTN, 2, 265, 288, 68, 91, SPR_FINANCE, STR_FINANCES_RESEARCH_TIP }, + { WIDGETS_END }, }; #pragma endregion @@ -213,46 +213,46 @@ static void window_new_ride_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, s // 0x0098E354 static rct_window_event_list window_new_ride_events = { - NULL, - window_new_ride_mouseup, - NULL, - window_new_ride_mousedown, - NULL, - NULL, - window_new_ride_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_new_ride_scrollgetsize, - window_new_ride_scrollmousedown, - NULL, - window_new_ride_scrollmouseover, - NULL, - NULL, - NULL, - window_new_ride_tooltip, - NULL, - NULL, - window_new_ride_invalidate, - window_new_ride_paint, - window_new_ride_scrollpaint + NULL, + window_new_ride_mouseup, + NULL, + window_new_ride_mousedown, + NULL, + NULL, + window_new_ride_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_new_ride_scrollgetsize, + window_new_ride_scrollmousedown, + NULL, + window_new_ride_scrollmouseover, + NULL, + NULL, + NULL, + window_new_ride_tooltip, + NULL, + NULL, + window_new_ride_invalidate, + window_new_ride_paint, + window_new_ride_scrollpaint }; #pragma endregion static const rct_string_id window_new_ride_titles[WINDOW_NEW_RIDE_PAGE_COUNT] = { - STR_NEW_TRANSPORT_RIDES, - STR_NEW_GENTLE_RIDES, - STR_NEW_ROLLER_COASTERS, - STR_NEW_THRILL_RIDES, - STR_NEW_WATER_RIDES, - STR_NEW_SHOPS_STALLS, - STR_RESEARCH_AND_DEVELOPMENT, + STR_NEW_TRANSPORT_RIDES, + STR_NEW_GENTLE_RIDES, + STR_NEW_ROLLER_COASTERS, + STR_NEW_THRILL_RIDES, + STR_NEW_WATER_RIDES, + STR_NEW_SHOPS_STALLS, + STR_RESEARCH_AND_DEVELOPMENT, }; const sint32 window_new_ride_tab_animation_loops[] = { 20, 32, 10, 72, 24, 28, 16 }; @@ -274,108 +274,108 @@ static bool _trackSelectionByType; */ void window_new_ride_init_vars() { - // If we are in the track designer, default to the Roller Coaster tab - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { - _windowNewRideCurrentTab = WINDOW_NEW_RIDE_PAGE_ROLLER_COASTER; - } else { - _windowNewRideCurrentTab = WINDOW_NEW_RIDE_PAGE_TRANSPORT; - } + // If we are in the track designer, default to the Roller Coaster tab + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) { + _windowNewRideCurrentTab = WINDOW_NEW_RIDE_PAGE_ROLLER_COASTER; + } else { + _windowNewRideCurrentTab = WINDOW_NEW_RIDE_PAGE_TRANSPORT; + } - for (sint16 i = 0; i < 6; i++) { - /* - Reset what is highlighted in each tab. - Each 16bit number represents the item in its respective tab. - */ - _windowNewRideHighlightedItem[i] = (ride_list_item){ 255, 255 }; - } + for (sint16 i = 0; i < 6; i++) { + /* + Reset what is highlighted in each tab. + Each 16bit number represents the item in its respective tab. + */ + _windowNewRideHighlightedItem[i] = (ride_list_item){ 255, 255 }; + } } /** - * rct2: 0x006B6F3E + * rct2: 0x006B6F3E * * Note: When the user has selection by track type enabled, the categories are determined by the track type, not those in the rct_ride_entry. */ static void window_new_ride_populate_list() { - uint8 currentCategory = _windowNewRideCurrentTab; - ride_list_item *nextListItem = _windowNewRideListItems; + uint8 currentCategory = _windowNewRideCurrentTab; + ride_list_item *nextListItem = _windowNewRideListItems; - // For each ride type in the view order list - for (sint32 i = 0; i < countof(RideTypeViewOrder); i++) { - uint8 rideType = RideTypeViewOrder[i]; - if (rideType == RIDE_TYPE_NULL) - continue; + // For each ride type in the view order list + for (sint32 i = 0; i < countof(RideTypeViewOrder); i++) { + uint8 rideType = RideTypeViewOrder[i]; + if (rideType == RIDE_TYPE_NULL) + continue; - if(gConfigInterface.select_by_track_type) { - if(gRideCategories[rideType]!=currentCategory) - continue; - } + if(gConfigInterface.select_by_track_type) { + if(gRideCategories[rideType]!=currentCategory) + continue; + } - char preferredVehicleName[9]; - safe_strcpy(preferredVehicleName, " ", sizeof(preferredVehicleName)); + char preferredVehicleName[9]; + safe_strcpy(preferredVehicleName, " ", sizeof(preferredVehicleName)); - if (ride_type_is_invented(rideType)) { - sint32 dh = 0; - uint8 *rideEntryIndexPtr = get_ride_entry_indices_for_ride_type(rideType); + if (ride_type_is_invented(rideType)) { + sint32 dh = 0; + uint8 *rideEntryIndexPtr = get_ride_entry_indices_for_ride_type(rideType); - // For each ride entry for this ride type - while (*rideEntryIndexPtr != 255) { - uint8 rideEntryIndex = *rideEntryIndexPtr++; - char rideEntryName[9]; - memcpy(rideEntryName,object_entry_groups[OBJECT_TYPE_RIDE].entries[rideEntryIndex].name,8); - rideEntryName[8]=0; + // For each ride entry for this ride type + while (*rideEntryIndexPtr != 255) { + uint8 rideEntryIndex = *rideEntryIndexPtr++; + char rideEntryName[9]; + memcpy(rideEntryName,object_entry_groups[OBJECT_TYPE_RIDE].entries[rideEntryIndex].name,8); + rideEntryName[8]=0; - // Skip if vehicle type is not invented yet - if (!ride_entry_is_invented(rideEntryIndex)) - continue; + // Skip if vehicle type is not invented yet + if (!ride_entry_is_invented(rideEntryIndex)) + continue; - // Ride entries - rct_ride_entry *rideEntry = get_ride_entry(rideEntryIndex); + // Ride entries + rct_ride_entry *rideEntry = get_ride_entry(rideEntryIndex); - // Check if ride is in this category - if (!gConfigInterface.select_by_track_type && (currentCategory != rideEntry->category[0] && currentCategory != rideEntry->category[1])) - continue; + // Check if ride is in this category + if (!gConfigInterface.select_by_track_type && (currentCategory != rideEntry->category[0] && currentCategory != rideEntry->category[1])) + continue; - // Skip if the vehicle isn't the preferred vehicle for this generic track type - if (gConfigInterface.select_by_track_type && (!(rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE) || rideTypeShouldLoseSeparateFlag(rideEntry))) { - if (strcmp(preferredVehicleName, " \0") == 0) { - safe_strcpy(preferredVehicleName, rideEntryName, sizeof(preferredVehicleName)); - preferredVehicleName[8] = 0; - } else { - if (vehicle_preference_compare(rideType, preferredVehicleName, rideEntryName) == 1) { - safe_strcpy(preferredVehicleName, rideEntryName, sizeof(preferredVehicleName)); - preferredVehicleName[8] = 0; - } else { - continue; - } - } - } + // Skip if the vehicle isn't the preferred vehicle for this generic track type + if (gConfigInterface.select_by_track_type && (!(rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE) || rideTypeShouldLoseSeparateFlag(rideEntry))) { + if (strcmp(preferredVehicleName, " \0") == 0) { + safe_strcpy(preferredVehicleName, rideEntryName, sizeof(preferredVehicleName)); + preferredVehicleName[8] = 0; + } else { + if (vehicle_preference_compare(rideType, preferredVehicleName, rideEntryName) == 1) { + safe_strcpy(preferredVehicleName, rideEntryName, sizeof(preferredVehicleName)); + preferredVehicleName[8] = 0; + } else { + continue; + } + } + } - if ((rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE) && !rideTypeShouldLoseSeparateFlag(rideEntry)) { - dh &= ~4; - nextListItem->type = rideType; - nextListItem->entry_index = rideEntryIndex; - nextListItem++; - } else if (!(dh & 1)) { - dh |= 5; - nextListItem->type = rideType; - nextListItem->entry_index = rideEntryIndex; - nextListItem++; - } else if (dh & 4) { - if (rideType == rideEntry->ride_type[0]) { - nextListItem--; - nextListItem->type = rideType; - nextListItem->entry_index = rideEntryIndex; - nextListItem++; - } - } - } - } - } + if ((rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE) && !rideTypeShouldLoseSeparateFlag(rideEntry)) { + dh &= ~4; + nextListItem->type = rideType; + nextListItem->entry_index = rideEntryIndex; + nextListItem++; + } else if (!(dh & 1)) { + dh |= 5; + nextListItem->type = rideType; + nextListItem->entry_index = rideEntryIndex; + nextListItem++; + } else if (dh & 4) { + if (rideType == rideEntry->ride_type[0]) { + nextListItem--; + nextListItem->type = rideType; + nextListItem->entry_index = rideEntryIndex; + nextListItem++; + } + } + } + } + } - nextListItem->type = 255; - nextListItem->entry_index = 255; - _trackSelectionByType = gConfigInterface.select_by_track_type; + nextListItem->type = 255; + nextListItem->entry_index = 255; + _trackSelectionByType = gConfigInterface.select_by_track_type; } /** @@ -384,31 +384,31 @@ static void window_new_ride_populate_list() */ static void window_new_ride_scroll_to_focused_ride(rct_window *w) { - sint32 scrollWidth = 0; - sint32 scrollHeight = 0; - window_get_scroll_size(w, 0, &scrollWidth, &scrollHeight); + sint32 scrollWidth = 0; + sint32 scrollHeight = 0; + window_get_scroll_size(w, 0, &scrollWidth, &scrollHeight); - // Find row index of the focused ride type - rct_widget *listWidget = &window_new_ride_widgets[WIDX_RIDE_LIST]; - assert(_windowNewRideCurrentTab < countof(_windowNewRideHighlightedItem)); - sint32 focusRideType = _windowNewRideHighlightedItem[_windowNewRideCurrentTab].ride_type_and_entry; - sint32 count = 0, row = 0; - ride_list_item *listItem = _windowNewRideListItems; - while (listItem->type != 255 || listItem->entry_index != 255) { - if (listItem->type == focusRideType) { - row = count / 5; - break; - } + // Find row index of the focused ride type + rct_widget *listWidget = &window_new_ride_widgets[WIDX_RIDE_LIST]; + assert(_windowNewRideCurrentTab < countof(_windowNewRideHighlightedItem)); + sint32 focusRideType = _windowNewRideHighlightedItem[_windowNewRideCurrentTab].ride_type_and_entry; + sint32 count = 0, row = 0; + ride_list_item *listItem = _windowNewRideListItems; + while (listItem->type != 255 || listItem->entry_index != 255) { + if (listItem->type == focusRideType) { + row = count / 5; + break; + } - count++; - listItem++; - }; + count++; + listItem++; + }; - // Update the Y scroll position - sint32 listWidgetHeight = listWidget->bottom - listWidget->top - 1; - scrollHeight = max(0, scrollHeight - listWidgetHeight); - w->scrolls[0].v_top = min(row * 116, scrollHeight); - widget_scroll_update_thumbs(w, WIDX_RIDE_LIST); + // Update the Y scroll position + sint32 listWidgetHeight = listWidget->bottom - listWidget->top - 1; + scrollHeight = max(0, scrollHeight - listWidgetHeight); + w->scrolls[0].v_top = min(row * 116, scrollHeight); + widget_scroll_update_thumbs(w, WIDX_RIDE_LIST); } /** @@ -417,57 +417,57 @@ static void window_new_ride_scroll_to_focused_ride(rct_window *w) */ rct_window *window_new_ride_open() { - rct_window *w; + rct_window *w; - w = window_bring_to_front_by_class(WC_CONSTRUCT_RIDE); - if (w != NULL) - return w; + w = window_bring_to_front_by_class(WC_CONSTRUCT_RIDE); + if (w != NULL) + return w; - // Not sure what these windows are - window_close_by_class(WC_TRACK_DESIGN_LIST); - window_close_by_class(WC_TRACK_DESIGN_PLACE); + // Not sure what these windows are + window_close_by_class(WC_TRACK_DESIGN_LIST); + window_close_by_class(WC_TRACK_DESIGN_PLACE); - w = window_create_auto_pos(601, 370, &window_new_ride_events, WC_CONSTRUCT_RIDE, WF_10); - w->widgets = window_new_ride_widgets; - w->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | - (1 << WIDX_TAB_7) | - (1 << WIDX_LAST_DEVELOPMENT_BUTTON) | - (1 << WIDX_RESEARCH_FUNDING_BUTTON); - window_new_ride_populate_list(); - window_init_scroll_widgets(w); + w = window_create_auto_pos(601, 370, &window_new_ride_events, WC_CONSTRUCT_RIDE, WF_10); + w->widgets = window_new_ride_widgets; + w->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | + (1 << WIDX_TAB_7) | + (1 << WIDX_LAST_DEVELOPMENT_BUTTON) | + (1 << WIDX_RESEARCH_FUNDING_BUTTON); + window_new_ride_populate_list(); + window_init_scroll_widgets(w); - w->frame_no = 0; - w->new_ride.selected_ride_id = -1; - _lastTrackDesignCountRideType.type = 255; - _lastTrackDesignCountRideType.entry_index = 255; - w->new_ride.highlighted_ride_id = _windowNewRideHighlightedItem[_windowNewRideCurrentTab].ride_type_and_entry; - if (w->new_ride.highlighted_ride_id == -1) - w->new_ride.highlighted_ride_id = _windowNewRideListItems[0].ride_type_and_entry; + w->frame_no = 0; + w->new_ride.selected_ride_id = -1; + _lastTrackDesignCountRideType.type = 255; + _lastTrackDesignCountRideType.entry_index = 255; + w->new_ride.highlighted_ride_id = _windowNewRideHighlightedItem[_windowNewRideCurrentTab].ride_type_and_entry; + if (w->new_ride.highlighted_ride_id == -1) + w->new_ride.highlighted_ride_id = _windowNewRideListItems[0].ride_type_and_entry; - w->width = 1; - window_new_ride_refresh_widget_sizing(w); + w->width = 1; + window_new_ride_refresh_widget_sizing(w); - if (_windowNewRideCurrentTab != WINDOW_NEW_RIDE_PAGE_RESEARCH) { - window_new_ride_scroll_to_focused_ride(w); - } + if (_windowNewRideCurrentTab != WINDOW_NEW_RIDE_PAGE_RESEARCH) { + window_new_ride_scroll_to_focused_ride(w); + } - return w; + return w; } rct_window *window_new_ride_open_research() { - rct_window *w; + rct_window *w; - w = window_new_ride_open(); - window_new_ride_set_page(w, WINDOW_NEW_RIDE_PAGE_RESEARCH); - return w; + w = window_new_ride_open(); + window_new_ride_set_page(w, WINDOW_NEW_RIDE_PAGE_RESEARCH); + return w; } /** @@ -476,50 +476,50 @@ rct_window *window_new_ride_open_research() */ void window_new_ride_focus(ride_list_item rideItem) { - rct_window *w; - rct_ride_entry *rideType; + rct_window *w; + rct_ride_entry *rideType; - w = window_find_by_class(WC_CONSTRUCT_RIDE); - if (w == NULL) - return; + w = window_find_by_class(WC_CONSTRUCT_RIDE); + if (w == NULL) + return; - rideType = get_ride_entry(rideItem.entry_index); + rideType = get_ride_entry(rideItem.entry_index); - if(!gConfigInterface.select_by_track_type) - window_new_ride_set_page(w, rideType->category[0]); - else - window_new_ride_set_page(w, gRideCategories[rideType->ride_type[0]]); + if(!gConfigInterface.select_by_track_type) + window_new_ride_set_page(w, rideType->category[0]); + else + window_new_ride_set_page(w, gRideCategories[rideType->ride_type[0]]); - ride_list_item *listItem = _windowNewRideListItems; - while (listItem->type != RIDE_TYPE_NULL) { - if (listItem->type == rideItem.type && listItem->entry_index == rideItem.entry_index) { - _windowNewRideHighlightedItem[0] = rideItem; - w->new_ride.highlighted_ride_id = rideItem.ride_type_and_entry; - window_new_ride_scroll_to_focused_ride(w); - } - listItem++; - } + ride_list_item *listItem = _windowNewRideListItems; + while (listItem->type != RIDE_TYPE_NULL) { + if (listItem->type == rideItem.type && listItem->entry_index == rideItem.entry_index) { + _windowNewRideHighlightedItem[0] = rideItem; + w->new_ride.highlighted_ride_id = rideItem.ride_type_and_entry; + window_new_ride_scroll_to_focused_ride(w); + } + listItem++; + } } static void window_new_ride_set_page(rct_window *w, sint32 page) { - _windowNewRideCurrentTab = page; - w->frame_no = 0; - w->new_ride.highlighted_ride_id = -1; - w->new_ride.selected_ride_countdown = -1; - window_new_ride_populate_list(); - if (page < WINDOW_NEW_RIDE_PAGE_RESEARCH) { - w->new_ride.highlighted_ride_id = _windowNewRideHighlightedItem[page].ride_type_and_entry; - if (w->new_ride.highlighted_ride_id == -1) - w->new_ride.highlighted_ride_id = _windowNewRideListItems[0].ride_type_and_entry; - } + _windowNewRideCurrentTab = page; + w->frame_no = 0; + w->new_ride.highlighted_ride_id = -1; + w->new_ride.selected_ride_countdown = -1; + window_new_ride_populate_list(); + if (page < WINDOW_NEW_RIDE_PAGE_RESEARCH) { + w->new_ride.highlighted_ride_id = _windowNewRideHighlightedItem[page].ride_type_and_entry; + if (w->new_ride.highlighted_ride_id == -1) + w->new_ride.highlighted_ride_id = _windowNewRideListItems[0].ride_type_and_entry; + } - window_new_ride_refresh_widget_sizing(w); - window_invalidate(w); + window_new_ride_refresh_widget_sizing(w); + window_invalidate(w); - if (page < WINDOW_NEW_RIDE_PAGE_RESEARCH) { - window_new_ride_scroll_to_focused_ride(w); - } + if (page < WINDOW_NEW_RIDE_PAGE_RESEARCH) { + window_new_ride_scroll_to_focused_ride(w); + } } /** @@ -528,90 +528,90 @@ static void window_new_ride_set_page(rct_window *w, sint32 page) */ static void window_new_ride_refresh_widget_sizing(rct_window *w) { - sint32 width, height; + sint32 width, height; - // Show or hide unrelated widgets - if (_windowNewRideCurrentTab != WINDOW_NEW_RIDE_PAGE_RESEARCH) { - window_new_ride_widgets[WIDX_RIDE_LIST].type = WWT_SCROLL; - window_new_ride_widgets[WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP].type = WWT_EMPTY; - window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_GROUP].type = WWT_EMPTY; - window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_EMPTY; - window_new_ride_widgets[WIDX_RESEARCH_FUNDING_BUTTON].type = WWT_EMPTY; + // Show or hide unrelated widgets + if (_windowNewRideCurrentTab != WINDOW_NEW_RIDE_PAGE_RESEARCH) { + window_new_ride_widgets[WIDX_RIDE_LIST].type = WWT_SCROLL; + window_new_ride_widgets[WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP].type = WWT_EMPTY; + window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_GROUP].type = WWT_EMPTY; + window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_EMPTY; + window_new_ride_widgets[WIDX_RESEARCH_FUNDING_BUTTON].type = WWT_EMPTY; - width = 601; - height = 370; - } else { - window_new_ride_widgets[WIDX_RIDE_LIST].type = WWT_EMPTY; - window_new_ride_widgets[WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP].type = WWT_GROUPBOX; - window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_GROUP].type = WWT_GROUPBOX; - window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_FLATBTN; - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) - window_new_ride_widgets[WIDX_RESEARCH_FUNDING_BUTTON].type = WWT_FLATBTN; + width = 601; + height = 370; + } else { + window_new_ride_widgets[WIDX_RIDE_LIST].type = WWT_EMPTY; + window_new_ride_widgets[WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP].type = WWT_GROUPBOX; + window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_GROUP].type = WWT_GROUPBOX; + window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_FLATBTN; + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) + window_new_ride_widgets[WIDX_RESEARCH_FUNDING_BUTTON].type = WWT_FLATBTN; - width = 300; - height = 196; - } + width = 300; + height = 196; + } - // Handle new window size - if (w->width != width || w->height != height) { - window_invalidate(w); + // Handle new window size + if (w->width != width || w->height != height) { + window_invalidate(w); - // Resize widgets to new window size - window_new_ride_widgets[WIDX_BACKGROUND].right = width - 1; - window_new_ride_widgets[WIDX_BACKGROUND].bottom = height - 1; - window_new_ride_widgets[WIDX_PAGE_BACKGROUND].right = width - 1; - window_new_ride_widgets[WIDX_PAGE_BACKGROUND].bottom = height - 1; - window_new_ride_widgets[WIDX_TITLE].right = width - 2; - window_new_ride_widgets[WIDX_CLOSE].left = width - 13; - window_new_ride_widgets[WIDX_CLOSE].right = width - 3; + // Resize widgets to new window size + window_new_ride_widgets[WIDX_BACKGROUND].right = width - 1; + window_new_ride_widgets[WIDX_BACKGROUND].bottom = height - 1; + window_new_ride_widgets[WIDX_PAGE_BACKGROUND].right = width - 1; + window_new_ride_widgets[WIDX_PAGE_BACKGROUND].bottom = height - 1; + window_new_ride_widgets[WIDX_TITLE].right = width - 2; + window_new_ride_widgets[WIDX_CLOSE].left = width - 13; + window_new_ride_widgets[WIDX_CLOSE].right = width - 3; - w->width = width; - w->height = height; - window_invalidate(w); - } + w->width = width; + w->height = height; + window_invalidate(w); + } - window_init_scroll_widgets(w); + window_init_scroll_widgets(w); } static void window_new_ride_set_pressed_tab(rct_window *w) { - sint32 i; - for (i = 0; i < WINDOW_NEW_RIDE_PAGE_COUNT; i++) - w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); - w->pressed_widgets |= 1LL << (WIDX_TAB_1 + _windowNewRideCurrentTab); + sint32 i; + for (i = 0; i < WINDOW_NEW_RIDE_PAGE_COUNT; i++) + w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); + w->pressed_widgets |= 1LL << (WIDX_TAB_1 + _windowNewRideCurrentTab); } const sint32 ThrillRidesTabAnimationSequence[] = { - 5, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0 + 5, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0 }; static void window_new_ride_draw_tab_image(rct_drawpixelinfo *dpi, rct_window *w, sint32 page, sint32 spriteIndex) { - rct_widgetindex widgetIndex = WIDX_TAB_1 + page; + rct_widgetindex widgetIndex = WIDX_TAB_1 + page; - if (w->widgets[widgetIndex].type != WWT_EMPTY && !(w->disabled_widgets & (1LL << widgetIndex))) { - sint32 frame = 0; - if (_windowNewRideCurrentTab == page) - frame = w->frame_no / window_new_ride_tab_animation_divisor[page]; + if (w->widgets[widgetIndex].type != WWT_EMPTY && !(w->disabled_widgets & (1LL << widgetIndex))) { + sint32 frame = 0; + if (_windowNewRideCurrentTab == page) + frame = w->frame_no / window_new_ride_tab_animation_divisor[page]; - spriteIndex += page == WINDOW_NEW_RIDE_PAGE_THRILL ? - ThrillRidesTabAnimationSequence[frame] : frame; + spriteIndex += page == WINDOW_NEW_RIDE_PAGE_THRILL ? + ThrillRidesTabAnimationSequence[frame] : frame; - spriteIndex |= w->colours[1] << 19; + spriteIndex |= w->colours[1] << 19; - gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); - } + gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); + } } static void window_new_ride_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) { - window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_TRANSPORT, 0x20000000 | SPR_TAB_RIDES_TRANSPORT_0); - window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_GENTLE, SPR_TAB_RIDES_GENTLE_0); - window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_ROLLER_COASTER, 0x20000000 | SPR_TAB_RIDES_ROLLER_COASTERS_0); - window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_THRILL, SPR_TAB_RIDES_THRILL_0); - window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_WATER, SPR_TAB_RIDES_WATER_0); - window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_SHOP, SPR_TAB_RIDES_SHOP_0); - window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_RESEARCH, SPR_TAB_FINANCES_RESEARCH_0); + window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_TRANSPORT, 0x20000000 | SPR_TAB_RIDES_TRANSPORT_0); + window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_GENTLE, SPR_TAB_RIDES_GENTLE_0); + window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_ROLLER_COASTER, 0x20000000 | SPR_TAB_RIDES_ROLLER_COASTERS_0); + window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_THRILL, SPR_TAB_RIDES_THRILL_0); + window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_WATER, SPR_TAB_RIDES_WATER_0); + window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_SHOP, SPR_TAB_RIDES_SHOP_0); + window_new_ride_draw_tab_image(dpi, w, WINDOW_NEW_RIDE_PAGE_RESEARCH, SPR_TAB_FINANCES_RESEARCH_0); } /** @@ -620,17 +620,17 @@ static void window_new_ride_draw_tab_images(rct_drawpixelinfo *dpi, rct_window * */ static void window_new_ride_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_LAST_DEVELOPMENT_BUTTON: - news_item_open_subject(NEWS_ITEM_RESEARCH, (sint32)gResearchLastItemSubject); - break; - case WIDX_RESEARCH_FUNDING_BUTTON: - window_finances_research_open(); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_LAST_DEVELOPMENT_BUTTON: + news_item_open_subject(NEWS_ITEM_RESEARCH, (sint32)gResearchLastItemSubject); + break; + case WIDX_RESEARCH_FUNDING_BUTTON: + window_finances_research_open(); + break; + } } /** @@ -639,8 +639,8 @@ static void window_new_ride_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ static void window_new_ride_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) - window_new_ride_set_page(w, widgetIndex - WIDX_TAB_1); + if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) + window_new_ride_set_page(w, widgetIndex - WIDX_TAB_1); } /** @@ -649,19 +649,19 @@ static void window_new_ride_mousedown(rct_widgetindex widgetIndex, rct_window *w */ static void window_new_ride_update(rct_window *w) { - w->frame_no++; - if (w->frame_no >= window_new_ride_tab_animation_loops[_windowNewRideCurrentTab]) - w->frame_no = 0; + w->frame_no++; + if (w->frame_no >= window_new_ride_tab_animation_loops[_windowNewRideCurrentTab]) + w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_1 + _windowNewRideCurrentTab); + widget_invalidate(w, WIDX_TAB_1 + _windowNewRideCurrentTab); - if (w->new_ride.selected_ride_id != -1 && w->new_ride.selected_ride_countdown-- == 0) - window_new_ride_select(w); + if (w->new_ride.selected_ride_id != -1 && w->new_ride.selected_ride_countdown-- == 0) + window_new_ride_select(w); - if (_trackSelectionByType != gConfigInterface.select_by_track_type) { - window_new_ride_populate_list(); - widget_invalidate(w, WIDX_RIDE_LIST); - } + if (_trackSelectionByType != gConfigInterface.select_by_track_type) { + window_new_ride_populate_list(); + widget_invalidate(w, WIDX_RIDE_LIST); + } } /** @@ -670,14 +670,14 @@ static void window_new_ride_update(rct_window *w) */ static void window_new_ride_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - ride_list_item *listItem = _windowNewRideListItems; + ride_list_item *listItem = _windowNewRideListItems; - sint32 count = 0; - while (listItem->type != 255 || listItem->entry_index != 255) { - count++; - listItem++; - } - *height = ((count + 4) / 5) * 116; + sint32 count = 0; + while (listItem->type != 255 || listItem->entry_index != 255) { + count++; + listItem++; + } + *height = ((count + 4) / 5) * 116; } /** @@ -686,18 +686,18 @@ static void window_new_ride_scrollgetsize(rct_window *w, sint32 scrollIndex, sin */ static void window_new_ride_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - ride_list_item item; + ride_list_item item; - item = window_new_ride_scroll_get_ride_list_item_at(w, x, y); - if (item.type == 255 && item.entry_index == 255) - return; + item = window_new_ride_scroll_get_ride_list_item_at(w, x, y); + if (item.type == 255 && item.entry_index == 255) + return; - _windowNewRideHighlightedItem[_windowNewRideCurrentTab] = item; - w->new_ride.selected_ride_id = item.ride_type_and_entry; + _windowNewRideHighlightedItem[_windowNewRideCurrentTab] = item; + w->new_ride.selected_ride_id = item.ride_type_and_entry; - audio_play_sound(SOUND_CLICK_1, 0, w->x + (w->width / 2)); - w->new_ride.selected_ride_countdown = 8; - window_invalidate(w); + audio_play_sound(SOUND_CLICK_1, 0, w->x + (w->width / 2)); + w->new_ride.selected_ride_countdown = 8; + window_invalidate(w); } /** @@ -706,19 +706,19 @@ static void window_new_ride_scrollmousedown(rct_window *w, sint32 scrollIndex, s */ static void window_new_ride_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - ride_list_item item; + ride_list_item item; - if (w->new_ride.selected_ride_id != -1) - return; + if (w->new_ride.selected_ride_id != -1) + return; - item = window_new_ride_scroll_get_ride_list_item_at(w, x, y); + item = window_new_ride_scroll_get_ride_list_item_at(w, x, y); - if (w->new_ride.highlighted_ride_id == item.ride_type_and_entry) - return; + if (w->new_ride.highlighted_ride_id == item.ride_type_and_entry) + return; - w->new_ride.highlighted_ride_id = item.ride_type_and_entry; - _windowNewRideHighlightedItem[_windowNewRideCurrentTab] = item; - window_invalidate(w); + w->new_ride.highlighted_ride_id = item.ride_type_and_entry; + _windowNewRideHighlightedItem[_windowNewRideCurrentTab] = item; + window_invalidate(w); } /** @@ -727,7 +727,7 @@ static void window_new_ride_scrollmouseover(rct_window *w, sint32 scrollIndex, s */ static void window_new_ride_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_LIST); + set_format_arg(0, rct_string_id, STR_LIST); } /** @@ -736,21 +736,21 @@ static void window_new_ride_tooltip(rct_window* w, rct_widgetindex widgetIndex, */ static void window_new_ride_invalidate(rct_window *w) { - window_new_ride_set_pressed_tab(w); + window_new_ride_set_pressed_tab(w); - window_new_ride_widgets[WIDX_TITLE].text = window_new_ride_titles[_windowNewRideCurrentTab]; - window_new_ride_widgets[WIDX_TAB_7].type = WWT_TAB; - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) - window_new_ride_widgets[WIDX_TAB_7].type = WWT_EMPTY; + window_new_ride_widgets[WIDX_TITLE].text = window_new_ride_titles[_windowNewRideCurrentTab]; + window_new_ride_widgets[WIDX_TAB_7].type = WWT_TAB; + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) + window_new_ride_widgets[WIDX_TAB_7].type = WWT_EMPTY; - if (_windowNewRideCurrentTab == WINDOW_NEW_RIDE_PAGE_RESEARCH) { - window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_EMPTY; - uint32 typeId = gResearchLastItemSubject; - if (typeId != 0xFFFFFFFF) { - window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_FLATBTN; - window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].image = typeId >= 0x10000 ? SPR_NEW_RIDE : SPR_NEW_SCENERY; - } - } + if (_windowNewRideCurrentTab == WINDOW_NEW_RIDE_PAGE_RESEARCH) { + window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_EMPTY; + uint32 typeId = gResearchLastItemSubject; + if (typeId != 0xFFFFFFFF) { + window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_FLATBTN; + window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].image = typeId >= 0x10000 ? SPR_NEW_RIDE : SPR_NEW_SCENERY; + } + } } /** @@ -759,16 +759,16 @@ static void window_new_ride_invalidate(rct_window *w) */ static void window_new_ride_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_new_ride_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_new_ride_draw_tab_images(dpi, w); - if (_windowNewRideCurrentTab != WINDOW_NEW_RIDE_PAGE_RESEARCH) { - ride_list_item item = { .ride_type_and_entry = w->new_ride.highlighted_ride_id }; - if (item.type != 255 || item.entry_index != 255) - window_new_ride_paint_ride_information(w, dpi, item, w->x + 3, w->y + w->height - 52, w->width - 6); - } else { - window_research_development_page_paint(w, dpi, WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP); - } + if (_windowNewRideCurrentTab != WINDOW_NEW_RIDE_PAGE_RESEARCH) { + ride_list_item item = { .ride_type_and_entry = w->new_ride.highlighted_ride_id }; + if (item.type != 255 || item.entry_index != 255) + window_new_ride_paint_ride_information(w, dpi, item, w->x + 3, w->y + w->height - 52, w->width - 6); + } else { + window_research_development_page_paint(w, dpi, WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP); + } } /** @@ -777,43 +777,43 @@ static void window_new_ride_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_new_ride_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - if (_windowNewRideCurrentTab == WINDOW_NEW_RIDE_PAGE_RESEARCH) - return; + if (_windowNewRideCurrentTab == WINDOW_NEW_RIDE_PAGE_RESEARCH) + return; - gfx_clear(dpi, ColourMapA[w->colours[1]].mid_light); + gfx_clear(dpi, ColourMapA[w->colours[1]].mid_light); - sint32 x = 1; - sint32 y = 1; - ride_list_item *listItem = _windowNewRideListItems; - while (listItem->type != 255 || listItem->entry_index != 255) { - rct_ride_entry *rideEntry; - // Draw flat button rectangle - sint32 flags = 0; - if (w->new_ride.selected_ride_id == *((sint16*)listItem)) - flags |= INSET_RECT_FLAG_BORDER_INSET; - if (w->new_ride.highlighted_ride_id == *((sint16*)listItem) || flags != 0) - gfx_fill_rect_inset(dpi, x, y, x + 115, y + 115, w->colours[1], INSET_RECT_FLAG_FILL_MID_LIGHT | flags); + sint32 x = 1; + sint32 y = 1; + ride_list_item *listItem = _windowNewRideListItems; + while (listItem->type != 255 || listItem->entry_index != 255) { + rct_ride_entry *rideEntry; + // Draw flat button rectangle + sint32 flags = 0; + if (w->new_ride.selected_ride_id == *((sint16*)listItem)) + flags |= INSET_RECT_FLAG_BORDER_INSET; + if (w->new_ride.highlighted_ride_id == *((sint16*)listItem) || flags != 0) + gfx_fill_rect_inset(dpi, x, y, x + 115, y + 115, w->colours[1], INSET_RECT_FLAG_FILL_MID_LIGHT | flags); - // Draw ride image with feathered border - rideEntry = get_ride_entry(listItem->entry_index); - sint32 image_id = rideEntry->images_offset; - if (listItem->type != rideEntry->ride_type[0]) { - image_id++; - if (listItem->type != rideEntry->ride_type[1]) - image_id++; - } - gfx_draw_sprite_raw_masked(dpi, x + 2, y + 2, SPR_NEW_RIDE_MASK, image_id); + // Draw ride image with feathered border + rideEntry = get_ride_entry(listItem->entry_index); + sint32 image_id = rideEntry->images_offset; + if (listItem->type != rideEntry->ride_type[0]) { + image_id++; + if (listItem->type != rideEntry->ride_type[1]) + image_id++; + } + gfx_draw_sprite_raw_masked(dpi, x + 2, y + 2, SPR_NEW_RIDE_MASK, image_id); - // Next position - x += 116; - if (x >= 116 * 5 + 1) { - x = 1; - y += 116; - } + // Next position + x += 116; + if (x >= 116 * 5 + 1) { + x = 1; + y += 116; + } - // Next item - listItem++; - } + // Next item + listItem++; + } } /** @@ -822,43 +822,43 @@ static void window_new_ride_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, s */ static ride_list_item window_new_ride_scroll_get_ride_list_item_at(rct_window *w, sint32 x, sint32 y) { - ride_list_item result; - result.type = 255; - result.entry_index = 255; + ride_list_item result; + result.type = 255; + result.entry_index = 255; - if (--x < 0 || --y < 0) - return result; + if (--x < 0 || --y < 0) + return result; - sint32 column = x / 116; - sint32 row = y / 116; - if (column >= 5) - return result; + sint32 column = x / 116; + sint32 row = y / 116; + if (column >= 5) + return result; - sint32 index = column + (row * 5); + sint32 index = column + (row * 5); - ride_list_item *listItem = _windowNewRideListItems; - while (listItem->type != 255 || listItem->entry_index != 255) { - if (index-- == 0) - return *listItem; - listItem++; - } + ride_list_item *listItem = _windowNewRideListItems; + while (listItem->type != 255 || listItem->entry_index != 255) { + if (index-- == 0) + return *listItem; + listItem++; + } - return result; + return result; } static sint32 get_num_track_designs(ride_list_item item) { - char entry[9]; - const char *entryPtr = NULL; - if (item.type < 0x80) { - rct_ride_entry *rideEntry = get_ride_entry(item.entry_index); - if ((rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE) && !rideTypeShouldLoseSeparateFlag(rideEntry)) { - get_ride_entry_name(entry, item.entry_index); - entryPtr = entry; - } - } + char entry[9]; + const char *entryPtr = NULL; + if (item.type < 0x80) { + rct_ride_entry *rideEntry = get_ride_entry(item.entry_index); + if ((rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE) && !rideTypeShouldLoseSeparateFlag(rideEntry)) { + get_ride_entry_name(entry, item.entry_index); + entryPtr = entry; + } + } - return (sint32)track_repository_get_count_for_ride(item.type, entryPtr); + return (sint32)track_repository_get_count_for_ride(item.type, entryPtr); } /** @@ -867,65 +867,65 @@ static sint32 get_num_track_designs(ride_list_item item) */ static void window_new_ride_paint_ride_information(rct_window *w, rct_drawpixelinfo *dpi, ride_list_item item, sint32 x, sint32 y, sint32 width) { - rct_ride_entry *rideEntry = get_ride_entry(item.entry_index); + rct_ride_entry *rideEntry = get_ride_entry(item.entry_index); - // Ride name and description - rct_string_id rideName = rideEntry->name; - rct_string_id rideDescription = rideEntry->description; - if (!(rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) || rideTypeShouldLoseSeparateFlag(rideEntry)) { - rideName = RideNaming[item.type].name; - rideDescription = RideNaming[item.type].description; - } + // Ride name and description + rct_string_id rideName = rideEntry->name; + rct_string_id rideDescription = rideEntry->description; + if (!(rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) || rideTypeShouldLoseSeparateFlag(rideEntry)) { + rideName = RideNaming[item.type].name; + rideDescription = RideNaming[item.type].description; + } - set_format_arg(0, rct_string_id, rideName); - set_format_arg(2, rct_string_id, rideDescription); - gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, width, STR_NEW_RIDE_NAME_AND_DESCRIPTION, COLOUR_BLACK); + set_format_arg(0, rct_string_id, rideName); + set_format_arg(2, rct_string_id, rideDescription); + gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, width, STR_NEW_RIDE_NAME_AND_DESCRIPTION, COLOUR_BLACK); - // Number of designs available - if (ride_type_has_flag(item.type, RIDE_TYPE_FLAG_HAS_TRACK)) { - // Track designs are disabled in multiplayer, so don't say there are any designs available when in multiplayer - if (network_get_mode() != NETWORK_MODE_NONE) { - _lastTrackDesignCount = 0; - } - else if (item.type != _lastTrackDesignCountRideType.type || item.entry_index != _lastTrackDesignCountRideType.entry_index) { - _lastTrackDesignCountRideType = item; - _lastTrackDesignCount = get_num_track_designs(item); - } + // Number of designs available + if (ride_type_has_flag(item.type, RIDE_TYPE_FLAG_HAS_TRACK)) { + // Track designs are disabled in multiplayer, so don't say there are any designs available when in multiplayer + if (network_get_mode() != NETWORK_MODE_NONE) { + _lastTrackDesignCount = 0; + } + else if (item.type != _lastTrackDesignCountRideType.type || item.entry_index != _lastTrackDesignCountRideType.entry_index) { + _lastTrackDesignCountRideType = item; + _lastTrackDesignCount = get_num_track_designs(item); + } - rct_string_id stringId; - switch (_lastTrackDesignCount) { - case 0: - stringId = STR_CUSTOM_DESIGNED_LAYOUT; - break; - case 1: - stringId = STR_1_DESIGN_AVAILABLE; - break; - default: - stringId = STR_X_DESIGNS_AVAILABLE; - break; - } - gfx_draw_string_left(dpi, stringId, &_lastTrackDesignCount, COLOUR_BLACK, x, y + 39); - } + rct_string_id stringId; + switch (_lastTrackDesignCount) { + case 0: + stringId = STR_CUSTOM_DESIGNED_LAYOUT; + break; + case 1: + stringId = STR_1_DESIGN_AVAILABLE; + break; + default: + stringId = STR_X_DESIGNS_AVAILABLE; + break; + } + gfx_draw_string_left(dpi, stringId, &_lastTrackDesignCount, COLOUR_BLACK, x, y + 39); + } - // Price - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { - // Get price of ride - sint32 unk2 = RideConstructionDefaultTrackType[item.type]; - money32 price = RideTrackCosts[item.type].track_price; - if (ride_type_has_flag(item.type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - price *= FlatRideTrackPricing[unk2]; - } else { - price *= TrackPricing[unk2]; - } - price = (price >> 17) * 10 * RideData5[item.type].price; + // Price + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { + // Get price of ride + sint32 unk2 = RideConstructionDefaultTrackType[item.type]; + money32 price = RideTrackCosts[item.type].track_price; + if (ride_type_has_flag(item.type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + price *= FlatRideTrackPricing[unk2]; + } else { + price *= TrackPricing[unk2]; + } + price = (price >> 17) * 10 * RideData5[item.type].price; - // - rct_string_id stringId = STR_NEW_RIDE_COST; - if (!ride_type_has_flag(item.type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) - stringId = STR_NEW_RIDE_COST_FROM; + // + rct_string_id stringId = STR_NEW_RIDE_COST; + if (!ride_type_has_flag(item.type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) + stringId = STR_NEW_RIDE_COST_FROM; - gfx_draw_string_right(dpi, stringId, &price, COLOUR_BLACK, x + width, y + 39); - } + gfx_draw_string_right(dpi, stringId, &price, COLOUR_BLACK, x + width, y + 39); + } } /** @@ -934,28 +934,28 @@ static void window_new_ride_paint_ride_information(rct_window *w, rct_drawpixeli */ static void window_new_ride_select(rct_window *w) { - ride_list_item item = { .ride_type_and_entry = w->new_ride.selected_ride_id }; - if (item.type == 255) - return; + ride_list_item item = { .ride_type_and_entry = w->new_ride.selected_ride_id }; + if (item.type == 255) + return; - window_close(w); - window_close_construction_windows(); + window_close(w); + window_close_construction_windows(); - bool allowTrackDesigns = true; + bool allowTrackDesigns = true; #ifndef NETWORK_DISABLE - // TODO: FIX NETWORK TRACKS - // Until tracks work with the network this will disable them - if (network_get_mode() != NETWORK_MODE_NONE) { - allowTrackDesigns = false; - } + // TODO: FIX NETWORK TRACKS + // Until tracks work with the network this will disable them + if (network_get_mode() != NETWORK_MODE_NONE) { + allowTrackDesigns = false; + } #endif - if (allowTrackDesigns && ride_type_has_flag(item.type, RIDE_TYPE_FLAG_HAS_TRACK)) { - if (_lastTrackDesignCount > 0) { - window_track_list_open(item); - return; - } - } + if (allowTrackDesigns && ride_type_has_flag(item.type, RIDE_TYPE_FLAG_HAS_TRACK)) { + if (_lastTrackDesignCount > 0) { + window_track_list_open(item); + return; + } + } - ride_construct_new(item); + ride_construct_new(item); } diff --git a/src/openrct2/windows/news.c b/src/openrct2/windows/news.c index 9373ba5c90..7d56bac7e6 100644 --- a/src/openrct2/windows/news.c +++ b/src/openrct2/windows/news.c @@ -24,20 +24,20 @@ #include "../interface/window.h" enum WINDOW_NEWS_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_SETTINGS, - WIDX_SCROLL + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_SETTINGS, + WIDX_SCROLL }; static rct_widget window_news_widgets[] = { - { WWT_FRAME, 0, 0, 399, 0, 299, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 398, 1, 14, STR_RECENT_MESSAGES, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 387, 397, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_FLATBTN, 0, 372, 395, 18, 41, SPR_TAB_GEARS_0, STR_NONE }, // settings - { WWT_SCROLL, 0, 4, 395, 44, 295, SCROLL_VERTICAL, STR_NONE }, // scroll - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 399, 0, 299, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 398, 1, 14, STR_RECENT_MESSAGES, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 387, 397, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_FLATBTN, 0, 372, 395, 18, 41, SPR_TAB_GEARS_0, STR_NONE }, // settings + { WWT_SCROLL, 0, 4, 395, 44, 295, SCROLL_VERTICAL, STR_NONE }, // scroll + { WIDGETS_END }, }; static void window_news_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -49,34 +49,34 @@ static void window_news_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_news_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_news_events = { - NULL, - window_news_mouseup, - NULL, - NULL, - NULL, - NULL, - window_news_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_news_scrollgetsize, - window_news_scrollmousedown, - NULL, - NULL, - NULL, - NULL, - NULL, - window_news_tooltip, - NULL, - NULL, - NULL, - window_news_paint, - window_news_scrollpaint + NULL, + window_news_mouseup, + NULL, + NULL, + NULL, + NULL, + window_news_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_news_scrollgetsize, + window_news_scrollmousedown, + NULL, + NULL, + NULL, + NULL, + NULL, + window_news_tooltip, + NULL, + NULL, + NULL, + window_news_paint, + window_news_scrollpaint }; /** @@ -85,33 +85,33 @@ static rct_window_event_list window_news_events = { */ void window_news_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_RECENT_NEWS); - if (window == NULL) { - window = window_create_auto_pos( - 400, - 300, - &window_news_events, - WC_RECENT_NEWS, - 0 - ); - window->widgets = window_news_widgets; - window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_SETTINGS); - window_init_scroll_widgets(window); - window->news.var_480 = -1; - } + // Check if window is already open + window = window_bring_to_front_by_class(WC_RECENT_NEWS); + if (window == NULL) { + window = window_create_auto_pos( + 400, + 300, + &window_news_events, + WC_RECENT_NEWS, + 0 + ); + window->widgets = window_news_widgets; + window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_SETTINGS); + window_init_scroll_widgets(window); + window->news.var_480 = -1; + } // sub_66E4BA: - rct_widget *widget; + rct_widget *widget; - sint32 width = 0; - sint32 height = 0; - window_get_scroll_size(window, 0, &width, &height); - widget = &window_news_widgets[WIDX_SCROLL]; - window->scrolls[0].v_top = max(0, height - (widget->bottom - widget->top - 1)); - widget_scroll_update_thumbs(window, WIDX_SCROLL); + sint32 width = 0; + sint32 height = 0; + window_get_scroll_size(window, 0, &width, &height); + widget = &window_news_widgets[WIDX_SCROLL]; + window->scrolls[0].v_top = max(0, height - (widget->bottom - widget->top - 1)); + widget_scroll_update_thumbs(window, WIDX_SCROLL); } @@ -121,14 +121,14 @@ void window_news_open() */ static void window_news_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_SETTINGS: - window_news_options_open(); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_SETTINGS: + window_news_options_open(); + break; + } } /** @@ -137,40 +137,40 @@ static void window_news_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ static void window_news_update(rct_window *w) { - sint32 i, j, x, y, z; + sint32 i, j, x, y, z; - if (w->news.var_480 == -1) - return; - if (--w->news.var_484 != 0) - return; + if (w->news.var_480 == -1) + return; + if (--w->news.var_484 != 0) + return; - window_invalidate(w); - audio_play_sound(SOUND_CLICK_2, 0, w->x + (w->width / 2)); + window_invalidate(w); + audio_play_sound(SOUND_CLICK_2, 0, w->x + (w->width / 2)); - j = w->news.var_480; - w->news.var_480 = -1; - for (i = 11; i < 61; i++) { - if (news_item_is_empty(i)) - return; + j = w->news.var_480; + w->news.var_480 = -1; + for (i = 11; i < 61; i++) { + if (news_item_is_empty(i)) + return; - if (j == 0) { - NewsItem * const newsItem = news_item_get(i); - if (newsItem->Flags & NEWS_FLAG_HAS_BUTTON) - return; - if (w->news.var_482 == 1) { - news_item_open_subject(newsItem->Type, newsItem->Assoc); - return; - } - else if (w->news.var_482 > 1) { - news_item_get_subject_location(newsItem->Type, newsItem->Assoc, &x, &y, &z); - if (x != SPRITE_LOCATION_NULL) - if ((w = window_get_main()) != NULL) - window_scroll_to_location(w, x, y, z); - return; - } - } - j--; - } + if (j == 0) { + NewsItem * const newsItem = news_item_get(i); + if (newsItem->Flags & NEWS_FLAG_HAS_BUTTON) + return; + if (w->news.var_482 == 1) { + news_item_open_subject(newsItem->Type, newsItem->Assoc); + return; + } + else if (w->news.var_482 > 1) { + news_item_get_subject_location(newsItem->Type, newsItem->Assoc, &x, &y, &z); + if (x != SPRITE_LOCATION_NULL) + if ((w = window_get_main()) != NULL) + window_scroll_to_location(w, x, y, z); + return; + } + } + j--; + } } /** @@ -179,15 +179,15 @@ static void window_news_update(rct_window *w) */ static void window_news_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - sint32 i; + sint32 i; - *height = 0; - for (i = 11; i < 61; i++) { - if (news_item_is_empty(i)) - break; + *height = 0; + for (i = 11; i < 61; i++) { + if (news_item_is_empty(i)) + break; - *height += 42; - } + *height += 42; + } } /** @@ -196,49 +196,49 @@ static void window_news_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 */ static void window_news_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 i, buttonIndex; + sint32 i, buttonIndex; - buttonIndex = 0; - for (i = 11; i < 61; i++) { - if (news_item_is_empty(i)) - break; + buttonIndex = 0; + for (i = 11; i < 61; i++) { + if (news_item_is_empty(i)) + break; - if (y < 42) { - NewsItem * const newsItem = news_item_get(i); - if (newsItem->Flags & NEWS_FLAG_HAS_BUTTON) { - buttonIndex = 0; - break; - } else if (y < 14) { - buttonIndex = 0; - break; - } else if (y >= 38) { - buttonIndex = 0; - break; - } else if (x < 328) { - buttonIndex = 0; - break; - } else if (x < 351) { - if (news_type_properties[newsItem->Type] & NEWS_TYPE_HAS_SUBJECT) { - buttonIndex = 1; - break; - } - } else if (x < 376) { - if (news_type_properties[newsItem->Type] & NEWS_TYPE_HAS_LOCATION) { - buttonIndex = 2; - break; - } - } - } - y -= 42; - } + if (y < 42) { + NewsItem * const newsItem = news_item_get(i); + if (newsItem->Flags & NEWS_FLAG_HAS_BUTTON) { + buttonIndex = 0; + break; + } else if (y < 14) { + buttonIndex = 0; + break; + } else if (y >= 38) { + buttonIndex = 0; + break; + } else if (x < 328) { + buttonIndex = 0; + break; + } else if (x < 351) { + if (news_type_properties[newsItem->Type] & NEWS_TYPE_HAS_SUBJECT) { + buttonIndex = 1; + break; + } + } else if (x < 376) { + if (news_type_properties[newsItem->Type] & NEWS_TYPE_HAS_LOCATION) { + buttonIndex = 2; + break; + } + } + } + y -= 42; + } - if (buttonIndex != 0) { - w->news.var_480 = i - 11; - w->news.var_482 = buttonIndex; - w->news.var_484 = 4; - window_invalidate(w); - audio_play_sound(SOUND_CLICK_1, 0, w->x + (w->width / 2)); - } + if (buttonIndex != 0) { + w->news.var_480 = i - 11; + w->news.var_482 = buttonIndex; + w->news.var_484 = 4; + window_invalidate(w); + audio_play_sound(SOUND_CLICK_1, 0, w->x + (w->width / 2)); + } } /** @@ -247,7 +247,7 @@ static void window_news_scrollmousedown(rct_window *w, sint32 scrollIndex, sint3 */ static void window_news_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_LIST); + set_format_arg(0, rct_string_id, STR_LIST); } /** @@ -256,7 +256,7 @@ static void window_news_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_ */ static void window_news_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); } /** @@ -265,112 +265,112 @@ static void window_news_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_news_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - sint32 i, x, y, yy, press; + sint32 i, x, y, yy, press; - y = 0; - for (i = 11; i < 61; i++) { - NewsItem * const newsItem = news_item_get(i); - if (news_item_is_empty(i)) - break; - if (y >= dpi->y + dpi->height) - break; - if (y + 42 < dpi->y) { - y += 42; - continue; - } + y = 0; + for (i = 11; i < 61; i++) { + NewsItem * const newsItem = news_item_get(i); + if (news_item_is_empty(i)) + break; + if (y >= dpi->y + dpi->height) + break; + if (y + 42 < dpi->y) { + y += 42; + continue; + } - // Background - gfx_fill_rect_inset(dpi, -1, y, 383, y + 41, w->colours[1], (INSET_RECT_FLAG_BORDER_INSET | INSET_RECT_FLAG_FILL_GREY)); + // Background + gfx_fill_rect_inset(dpi, -1, y, 383, y + 41, w->colours[1], (INSET_RECT_FLAG_BORDER_INSET | INSET_RECT_FLAG_FILL_GREY)); - // Date text - set_format_arg(0, rct_string_id, DateDayNames[newsItem->Day - 1]); - set_format_arg(2, rct_string_id, DateGameMonthNames[(newsItem->MonthYear % 8)]); - gfx_draw_string_left(dpi, STR_NEWS_DATE_FORMAT, gCommonFormatArgs, COLOUR_WHITE, 4, y); + // Date text + set_format_arg(0, rct_string_id, DateDayNames[newsItem->Day - 1]); + set_format_arg(2, rct_string_id, DateGameMonthNames[(newsItem->MonthYear % 8)]); + gfx_draw_string_left(dpi, STR_NEWS_DATE_FORMAT, gCommonFormatArgs, COLOUR_WHITE, 4, y); - // Item text - utf8 *text = newsItem->Text; - gfx_draw_string_left_wrapped(dpi, &text, 2, y + 10, 325, STR_BOTTOM_TOOLBAR_NEWS_TEXT, COLOUR_BRIGHT_GREEN); + // Item text + utf8 *text = newsItem->Text; + gfx_draw_string_left_wrapped(dpi, &text, 2, y + 10, 325, STR_BOTTOM_TOOLBAR_NEWS_TEXT, COLOUR_BRIGHT_GREEN); - // Subject button - if ((news_type_properties[newsItem->Type] & NEWS_TYPE_HAS_SUBJECT) && !(newsItem->Flags & NEWS_FLAG_HAS_BUTTON)) { - x = 328; - yy = y + 14; + // Subject button + if ((news_type_properties[newsItem->Type] & NEWS_TYPE_HAS_SUBJECT) && !(newsItem->Flags & NEWS_FLAG_HAS_BUTTON)) { + x = 328; + yy = y + 14; - press = 0; - if (w->news.var_480 != -1) { - const uint8 idx = 11 + w->news.var_480; - news_item_is_valid_idx(idx); - if (i == idx && w->news.var_482 == 1) - press = INSET_RECT_FLAG_BORDER_INSET; - } - gfx_fill_rect_inset(dpi, x, yy, x + 23, yy + 23, w->colours[2], press); + press = 0; + if (w->news.var_480 != -1) { + const uint8 idx = 11 + w->news.var_480; + news_item_is_valid_idx(idx); + if (i == idx && w->news.var_482 == 1) + press = INSET_RECT_FLAG_BORDER_INSET; + } + gfx_fill_rect_inset(dpi, x, yy, x + 23, yy + 23, w->colours[2], press); - switch (newsItem->Type) { - case NEWS_ITEM_RIDE: - gfx_draw_sprite(dpi, SPR_RIDE, x, yy, 0); - break; - case NEWS_ITEM_PEEP: - case NEWS_ITEM_PEEP_ON_RIDE: - { - rct_drawpixelinfo cliped_dpi; - if (!clip_drawpixelinfo(&cliped_dpi, dpi, x + 1, yy + 1, 22, 22)) { - break; - } + switch (newsItem->Type) { + case NEWS_ITEM_RIDE: + gfx_draw_sprite(dpi, SPR_RIDE, x, yy, 0); + break; + case NEWS_ITEM_PEEP: + case NEWS_ITEM_PEEP_ON_RIDE: + { + rct_drawpixelinfo cliped_dpi; + if (!clip_drawpixelinfo(&cliped_dpi, dpi, x + 1, yy + 1, 22, 22)) { + break; + } - rct_peep* peep = GET_PEEP(newsItem->Assoc); - sint32 clip_x = 10, clip_y = 19; + rct_peep* peep = GET_PEEP(newsItem->Assoc); + sint32 clip_x = 10, clip_y = 19; - // If normal peep set sprite to normal (no food) - // If staff set sprite to staff sprite - sint32 sprite_type = 0; - if (peep->type == PEEP_TYPE_STAFF){ - sprite_type = peep->sprite_type; - if (peep->staff_type == STAFF_TYPE_ENTERTAINER){ - clip_y += 3; - } - } + // If normal peep set sprite to normal (no food) + // If staff set sprite to staff sprite + sint32 sprite_type = 0; + if (peep->type == PEEP_TYPE_STAFF){ + sprite_type = peep->sprite_type; + if (peep->staff_type == STAFF_TYPE_ENTERTAINER){ + clip_y += 3; + } + } - uint32 image_id = g_peep_animation_entries[sprite_type].sprite_animation->base_image; - image_id += 0xA0000001; - image_id |= (peep->tshirt_colour << 19) | (peep->trousers_colour << 24); + uint32 image_id = g_peep_animation_entries[sprite_type].sprite_animation->base_image; + image_id += 0xA0000001; + image_id |= (peep->tshirt_colour << 19) | (peep->trousers_colour << 24); - gfx_draw_sprite(&cliped_dpi, image_id, clip_x, clip_y, 0); - break; - } - case NEWS_ITEM_MONEY: - gfx_draw_sprite(dpi, SPR_FINANCE, x, yy, 0); - break; - case NEWS_ITEM_RESEARCH: - gfx_draw_sprite(dpi, newsItem->Assoc < 0x10000 ? SPR_NEW_SCENERY : SPR_NEW_RIDE, x, yy, 0); - break; - case NEWS_ITEM_PEEPS: - gfx_draw_sprite(dpi, SPR_GUESTS, x, yy, 0); - break; - case NEWS_ITEM_AWARD: - gfx_draw_sprite(dpi, SPR_AWARD, x, yy, 0); - break; - case NEWS_ITEM_GRAPH: - gfx_draw_sprite(dpi, SPR_GRAPH, x, yy, 0); - break; - } - } + gfx_draw_sprite(&cliped_dpi, image_id, clip_x, clip_y, 0); + break; + } + case NEWS_ITEM_MONEY: + gfx_draw_sprite(dpi, SPR_FINANCE, x, yy, 0); + break; + case NEWS_ITEM_RESEARCH: + gfx_draw_sprite(dpi, newsItem->Assoc < 0x10000 ? SPR_NEW_SCENERY : SPR_NEW_RIDE, x, yy, 0); + break; + case NEWS_ITEM_PEEPS: + gfx_draw_sprite(dpi, SPR_GUESTS, x, yy, 0); + break; + case NEWS_ITEM_AWARD: + gfx_draw_sprite(dpi, SPR_AWARD, x, yy, 0); + break; + case NEWS_ITEM_GRAPH: + gfx_draw_sprite(dpi, SPR_GRAPH, x, yy, 0); + break; + } + } - // Location button - if ((news_type_properties[newsItem->Type] & NEWS_TYPE_HAS_LOCATION) && !(newsItem->Flags & NEWS_FLAG_HAS_BUTTON)) { - x = 352; - yy = y + 14; + // Location button + if ((news_type_properties[newsItem->Type] & NEWS_TYPE_HAS_LOCATION) && !(newsItem->Flags & NEWS_FLAG_HAS_BUTTON)) { + x = 352; + yy = y + 14; - press = 0; - if (w->news.var_480 != -1) { - const uint8 idx = 11 + w->news.var_480; - news_item_is_valid_idx(idx); - if (i == idx && w->news.var_482 == 2) - press = 0x20; - } - gfx_fill_rect_inset(dpi, x, yy, x + 23, yy + 23, w->colours[2], press); - gfx_draw_sprite(dpi, SPR_LOCATE, x, yy, 0); - } + press = 0; + if (w->news.var_480 != -1) { + const uint8 idx = 11 + w->news.var_480; + news_item_is_valid_idx(idx); + if (i == idx && w->news.var_482 == 2) + press = 0x20; + } + gfx_fill_rect_inset(dpi, x, yy, x + 23, yy + 23, w->colours[2], press); + gfx_draw_sprite(dpi, SPR_LOCATE, x, yy, 0); + } - y += 42; - } + y += 42; + } } diff --git a/src/openrct2/windows/news_options.c b/src/openrct2/windows/news_options.c index 67900f6b99..7992483e6f 100644 --- a/src/openrct2/windows/news_options.c +++ b/src/openrct2/windows/news_options.c @@ -21,68 +21,68 @@ #include "../sprites.h" enum { - NOTIFICATION_CATEGORY_PARK, - NOTIFICATION_CATEGORY_RIDE, - NOTIFICATION_CATEGORY_GUEST + NOTIFICATION_CATEGORY_PARK, + NOTIFICATION_CATEGORY_RIDE, + NOTIFICATION_CATEGORY_GUEST }; typedef struct notification_def { - uint8 category; - rct_string_id caption; - size_t config_offset; + uint8 category; + rct_string_id caption; + size_t config_offset; } notification_def; static const notification_def NewsItemOptionDefinitions[] = { - { NOTIFICATION_CATEGORY_PARK, STR_NOTIFICATION_PARK_AWARD, offsetof(NotificationConfiguration, park_award) }, - { NOTIFICATION_CATEGORY_PARK, STR_NOTIFICATION_PARK_MARKETING_CAMPAIGN_FINISHED, offsetof(NotificationConfiguration, park_marketing_campaign_finished) }, - { NOTIFICATION_CATEGORY_PARK, STR_NOTIFICATION_PARK_WARNINGS, offsetof(NotificationConfiguration, park_warnings) }, - { NOTIFICATION_CATEGORY_PARK, STR_NOTIFICATION_PARK_RATING_WARNINGS, offsetof(NotificationConfiguration, park_rating_warnings) }, - { NOTIFICATION_CATEGORY_RIDE, STR_NOTIFICATION_RIDE_BROKEN_DOWN, offsetof(NotificationConfiguration, ride_broken_down) }, - { NOTIFICATION_CATEGORY_RIDE, STR_NOTIFICATION_RIDE_CRASHED, offsetof(NotificationConfiguration, ride_crashed) }, - { NOTIFICATION_CATEGORY_RIDE, STR_NOTIFICATION_RIDE_WARNINGS, offsetof(NotificationConfiguration, ride_warnings) }, - { NOTIFICATION_CATEGORY_RIDE, STR_NOTIFICATION_RIDE_RESEARCHED, offsetof(NotificationConfiguration, ride_researched) }, - { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_WARNINGS, offsetof(NotificationConfiguration, guest_warnings) }, - { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_LOST, offsetof(NotificationConfiguration, guest_lost) }, - { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_LEFT_PARK, offsetof(NotificationConfiguration, guest_left_park) }, - { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_QUEUING_FOR_RIDE, offsetof(NotificationConfiguration, guest_queuing_for_ride) }, - { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_ON_RIDE, offsetof(NotificationConfiguration, guest_on_ride) }, - { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_LEFT_RIDE, offsetof(NotificationConfiguration, guest_left_ride) }, - { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_BOUGHT_ITEM, offsetof(NotificationConfiguration, guest_bought_item) }, - { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_USED_FACILITY, offsetof(NotificationConfiguration, guest_used_facility) }, - { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_DIED, offsetof(NotificationConfiguration, guest_died) }, + { NOTIFICATION_CATEGORY_PARK, STR_NOTIFICATION_PARK_AWARD, offsetof(NotificationConfiguration, park_award) }, + { NOTIFICATION_CATEGORY_PARK, STR_NOTIFICATION_PARK_MARKETING_CAMPAIGN_FINISHED, offsetof(NotificationConfiguration, park_marketing_campaign_finished) }, + { NOTIFICATION_CATEGORY_PARK, STR_NOTIFICATION_PARK_WARNINGS, offsetof(NotificationConfiguration, park_warnings) }, + { NOTIFICATION_CATEGORY_PARK, STR_NOTIFICATION_PARK_RATING_WARNINGS, offsetof(NotificationConfiguration, park_rating_warnings) }, + { NOTIFICATION_CATEGORY_RIDE, STR_NOTIFICATION_RIDE_BROKEN_DOWN, offsetof(NotificationConfiguration, ride_broken_down) }, + { NOTIFICATION_CATEGORY_RIDE, STR_NOTIFICATION_RIDE_CRASHED, offsetof(NotificationConfiguration, ride_crashed) }, + { NOTIFICATION_CATEGORY_RIDE, STR_NOTIFICATION_RIDE_WARNINGS, offsetof(NotificationConfiguration, ride_warnings) }, + { NOTIFICATION_CATEGORY_RIDE, STR_NOTIFICATION_RIDE_RESEARCHED, offsetof(NotificationConfiguration, ride_researched) }, + { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_WARNINGS, offsetof(NotificationConfiguration, guest_warnings) }, + { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_LOST, offsetof(NotificationConfiguration, guest_lost) }, + { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_LEFT_PARK, offsetof(NotificationConfiguration, guest_left_park) }, + { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_QUEUING_FOR_RIDE, offsetof(NotificationConfiguration, guest_queuing_for_ride) }, + { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_ON_RIDE, offsetof(NotificationConfiguration, guest_on_ride) }, + { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_LEFT_RIDE, offsetof(NotificationConfiguration, guest_left_ride) }, + { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_BOUGHT_ITEM, offsetof(NotificationConfiguration, guest_bought_item) }, + { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_USED_FACILITY, offsetof(NotificationConfiguration, guest_used_facility) }, + { NOTIFICATION_CATEGORY_GUEST, STR_NOTIFICATION_GUEST_DIED, offsetof(NotificationConfiguration, guest_died) }, }; enum WINDOW_NEWS_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_TAB_CONTENT_PANEL, - WIDX_TAB_PARK, - WIDX_TAB_RIDE, - WIDX_TAB_GUEST, - WIDX_CHECKBOX_0 + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_TAB_CONTENT_PANEL, + WIDX_TAB_PARK, + WIDX_TAB_RIDE, + WIDX_TAB_GUEST, + WIDX_CHECKBOX_0 }; static rct_widget window_news_options_widgets[] = { - { WWT_FRAME, 0, 0, 399, 0, 299, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 398, 1, 14, STR_NOTIFICATION_SETTINGS, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 387, 397, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_RESIZE, 1, 0, 399, 43, 299, 0xFFFFFFFF, STR_NONE }, // tab content panel - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, // tab 1 - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, // tab 2 - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, // tab 2 + { WWT_FRAME, 0, 0, 399, 0, 299, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 398, 1, 14, STR_NOTIFICATION_SETTINGS, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 387, 397, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_RESIZE, 1, 0, 399, 43, 299, 0xFFFFFFFF, STR_NONE }, // tab content panel + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, // tab 1 + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, // tab 2 + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, // tab 2 - { WWT_CHECKBOX, 2, 3, 349, 46, 59, STR_NONE, STR_NONE }, - { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, - { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, - { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, - { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, - { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, - { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, - { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, - { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, + { WWT_CHECKBOX, 2, 3, 349, 46, 59, STR_NONE, STR_NONE }, + { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, + { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, + { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, + { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, + { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, + { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, + { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, + { WWT_CHECKBOX, 2, 0, 0, 0, 0, STR_NONE, STR_NONE }, - { WIDGETS_END }, + { WIDGETS_END }, }; static void window_news_options_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -91,34 +91,34 @@ static void window_news_options_invalidate(rct_window *w); static void window_news_options_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_news_options_events = { - NULL, - window_news_options_mouseup, - NULL, - NULL, - NULL, - NULL, - window_news_options_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_news_options_invalidate, - window_news_options_paint, - NULL + NULL, + window_news_options_mouseup, + NULL, + NULL, + NULL, + NULL, + window_news_options_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_news_options_invalidate, + window_news_options_paint, + NULL }; static void window_news_options_set_page(rct_window *w, sint32 page); @@ -127,144 +127,144 @@ static bool *get_notification_value_ptr(const notification_def *ndef); void window_news_options_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_NOTIFICATION_OPTIONS); - if (window == NULL) { - window = window_create_centred( - 400, - 300, - &window_news_options_events, - WC_NOTIFICATION_OPTIONS, - 0 - ); - window->widgets = window_news_options_widgets; - window->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_PARK) | - (1 << WIDX_TAB_RIDE) | - (1 << WIDX_TAB_GUEST); - window_init_scroll_widgets(window); - window->colours[0] = COLOUR_GREY; - window->colours[1] = COLOUR_LIGHT_BLUE; - window->colours[2] = COLOUR_LIGHT_BLUE; - } + // Check if window is already open + window = window_bring_to_front_by_class(WC_NOTIFICATION_OPTIONS); + if (window == NULL) { + window = window_create_centred( + 400, + 300, + &window_news_options_events, + WC_NOTIFICATION_OPTIONS, + 0 + ); + window->widgets = window_news_options_widgets; + window->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_PARK) | + (1 << WIDX_TAB_RIDE) | + (1 << WIDX_TAB_GUEST); + window_init_scroll_widgets(window); + window->colours[0] = COLOUR_GREY; + window->colours[1] = COLOUR_LIGHT_BLUE; + window->colours[2] = COLOUR_LIGHT_BLUE; + } } static void window_news_options_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_PARK: - case WIDX_TAB_RIDE: - case WIDX_TAB_GUEST: - window_news_options_set_page(w, widgetIndex - WIDX_TAB_PARK); - break; - default: - { - sint32 checkBoxIndex = widgetIndex - WIDX_CHECKBOX_0; - if (checkBoxIndex >= 0) { - sint32 matchIndex = 0; - for (sint32 i = 0; i < countof(NewsItemOptionDefinitions); i++) { - const notification_def *ndef = &NewsItemOptionDefinitions[i]; - if (ndef->category != w->page) continue; + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_PARK: + case WIDX_TAB_RIDE: + case WIDX_TAB_GUEST: + window_news_options_set_page(w, widgetIndex - WIDX_TAB_PARK); + break; + default: + { + sint32 checkBoxIndex = widgetIndex - WIDX_CHECKBOX_0; + if (checkBoxIndex >= 0) { + sint32 matchIndex = 0; + for (sint32 i = 0; i < countof(NewsItemOptionDefinitions); i++) { + const notification_def *ndef = &NewsItemOptionDefinitions[i]; + if (ndef->category != w->page) continue; - if (matchIndex == checkBoxIndex) { - // Toggle value - bool *configValue = get_notification_value_ptr(ndef); - *configValue = !(*configValue); + if (matchIndex == checkBoxIndex) { + // Toggle value + bool *configValue = get_notification_value_ptr(ndef); + *configValue = !(*configValue); - config_save_default(); + config_save_default(); - widget_invalidate(w, widgetIndex); - break; - } - matchIndex++; - } - } - break; - } - } + widget_invalidate(w, widgetIndex); + break; + } + matchIndex++; + } + } + break; + } + } } static void window_news_options_update(rct_window *w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB_PARK + w->page); + w->frame_no++; + widget_invalidate(w, WIDX_TAB_PARK + w->page); } static void window_news_options_invalidate(rct_window *w) { - // Set pressed tab - w->pressed_widgets &= ~(1ULL << WIDX_TAB_PARK); - w->pressed_widgets &= ~(1ULL << WIDX_TAB_RIDE); - w->pressed_widgets &= ~(1ULL << WIDX_TAB_GUEST); - w->pressed_widgets |= (1ULL << (WIDX_TAB_PARK + w->page)); + // Set pressed tab + w->pressed_widgets &= ~(1ULL << WIDX_TAB_PARK); + w->pressed_widgets &= ~(1ULL << WIDX_TAB_RIDE); + w->pressed_widgets &= ~(1ULL << WIDX_TAB_GUEST); + w->pressed_widgets |= (1ULL << (WIDX_TAB_PARK + w->page)); - // Set checkboxes - rct_widget *baseCheckBox = &w->widgets[WIDX_CHECKBOX_0]; - sint32 y = baseCheckBox->top; + // Set checkboxes + rct_widget *baseCheckBox = &w->widgets[WIDX_CHECKBOX_0]; + sint32 y = baseCheckBox->top; - sint32 checkboxWidgetIndex = WIDX_CHECKBOX_0; - rct_widget *checkboxWidget = &w->widgets[checkboxWidgetIndex]; - for (sint32 i = 0; i < countof(NewsItemOptionDefinitions); i++) { - const notification_def *ndef = &NewsItemOptionDefinitions[i]; - if (ndef->category != w->page) continue; + sint32 checkboxWidgetIndex = WIDX_CHECKBOX_0; + rct_widget *checkboxWidget = &w->widgets[checkboxWidgetIndex]; + for (sint32 i = 0; i < countof(NewsItemOptionDefinitions); i++) { + const notification_def *ndef = &NewsItemOptionDefinitions[i]; + if (ndef->category != w->page) continue; - w->enabled_widgets |= (1ULL << checkboxWidgetIndex); + w->enabled_widgets |= (1ULL << checkboxWidgetIndex); - checkboxWidget->type = WWT_CHECKBOX; - checkboxWidget->left = baseCheckBox->left; - checkboxWidget->right = baseCheckBox->right; - checkboxWidget->top = y; - checkboxWidget->bottom = checkboxWidget->top + 13; - checkboxWidget->text = ndef->caption; + checkboxWidget->type = WWT_CHECKBOX; + checkboxWidget->left = baseCheckBox->left; + checkboxWidget->right = baseCheckBox->right; + checkboxWidget->top = y; + checkboxWidget->bottom = checkboxWidget->top + 13; + checkboxWidget->text = ndef->caption; - const bool *configValue = get_notification_value_ptr(ndef); - widget_set_checkbox_value(w, checkboxWidgetIndex, *configValue); + const bool *configValue = get_notification_value_ptr(ndef); + widget_set_checkbox_value(w, checkboxWidgetIndex, *configValue); - checkboxWidgetIndex++; - checkboxWidget++; - y += 13; - } + checkboxWidgetIndex++; + checkboxWidget++; + y += 13; + } - // Remove unused checkboxes - while (checkboxWidget->type != WWT_LAST) { - w->enabled_widgets &= ~(1ULL << checkboxWidgetIndex); + // Remove unused checkboxes + while (checkboxWidget->type != WWT_LAST) { + w->enabled_widgets &= ~(1ULL << checkboxWidgetIndex); - checkboxWidget->type = WWT_EMPTY; - checkboxWidgetIndex++; - checkboxWidget++; - } + checkboxWidget->type = WWT_EMPTY; + checkboxWidgetIndex++; + checkboxWidget++; + } - // Resize window to fit checkboxes exactly - y += 3; + // Resize window to fit checkboxes exactly + y += 3; - if (w->height != y) { - window_invalidate(w); - w->height = y; - w->widgets[WIDX_BACKGROUND].bottom = y - 1; - w->widgets[WIDX_TAB_CONTENT_PANEL].bottom = y - 1; - window_invalidate(w); - } + if (w->height != y) { + window_invalidate(w); + w->height = y; + w->widgets[WIDX_BACKGROUND].bottom = y - 1; + w->widgets[WIDX_TAB_CONTENT_PANEL].bottom = y - 1; + window_invalidate(w); + } } static void window_news_options_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_news_options_draw_tab_images(w, dpi); + window_draw_widgets(w, dpi); + window_news_options_draw_tab_images(w, dpi); } static void window_news_options_set_page(rct_window *w, sint32 page) { - if (w->page != page) { - w->page = page; - w->frame_no = 0; - window_invalidate(w); - } + if (w->page != page) { + w->page = page; + w->frame_no = 0; + window_invalidate(w); + } } const sint32 window_news_option_tab_animation_divisor[] = { 1, 4, 4 }; @@ -272,30 +272,30 @@ const sint32 window_news_option_tab_animation_frames[] = { 1, 16, 8 }; static void window_news_options_draw_tab_image(rct_window *w, rct_drawpixelinfo *dpi, sint32 page, sint32 spriteIndex) { - rct_widgetindex widgetIndex = WIDX_TAB_PARK + page; + rct_widgetindex widgetIndex = WIDX_TAB_PARK + page; - if (!(w->disabled_widgets & (1LL << widgetIndex))) { - if (w->page == page) { - sint32 numFrames = window_news_option_tab_animation_frames[w->page]; - if (numFrames > 1) { - sint32 frame = w->frame_no / window_news_option_tab_animation_divisor[w->page]; - spriteIndex += (frame % numFrames); - } - } + if (!(w->disabled_widgets & (1LL << widgetIndex))) { + if (w->page == page) { + sint32 numFrames = window_news_option_tab_animation_frames[w->page]; + if (numFrames > 1) { + sint32 frame = w->frame_no / window_news_option_tab_animation_divisor[w->page]; + spriteIndex += (frame % numFrames); + } + } - gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); - } + gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); + } } static void window_news_options_draw_tab_images(rct_window *w, rct_drawpixelinfo *dpi) { - window_news_options_draw_tab_image(w, dpi, NOTIFICATION_CATEGORY_PARK, SPR_TAB_PARK); - window_news_options_draw_tab_image(w, dpi, NOTIFICATION_CATEGORY_RIDE, SPR_TAB_RIDE_0); - window_news_options_draw_tab_image(w, dpi, NOTIFICATION_CATEGORY_GUEST, SPR_TAB_GUESTS_0); + window_news_options_draw_tab_image(w, dpi, NOTIFICATION_CATEGORY_PARK, SPR_TAB_PARK); + window_news_options_draw_tab_image(w, dpi, NOTIFICATION_CATEGORY_RIDE, SPR_TAB_RIDE_0); + window_news_options_draw_tab_image(w, dpi, NOTIFICATION_CATEGORY_GUEST, SPR_TAB_GUESTS_0); } static bool *get_notification_value_ptr(const notification_def *ndef) { - bool *configValue = (bool*)((size_t)&gConfigNotifications + ndef->config_offset); - return configValue; + bool *configValue = (bool*)((size_t)&gConfigNotifications + ndef->config_offset); + return configValue; } diff --git a/src/openrct2/windows/options.c b/src/openrct2/windows/options.c index 451225bd8d..b7cde42d23 100644 --- a/src/openrct2/windows/options.c +++ b/src/openrct2/windows/options.c @@ -47,350 +47,350 @@ #include "error.h" enum WINDOW_OPTIONS_PAGE { - WINDOW_OPTIONS_PAGE_DISPLAY, - WINDOW_OPTIONS_PAGE_RENDERING, - WINDOW_OPTIONS_PAGE_CULTURE, - WINDOW_OPTIONS_PAGE_AUDIO, - WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE, - WINDOW_OPTIONS_PAGE_MISC, - WINDOW_OPTIONS_PAGE_TWITCH, - WINDOW_OPTIONS_PAGE_COUNT + WINDOW_OPTIONS_PAGE_DISPLAY, + WINDOW_OPTIONS_PAGE_RENDERING, + WINDOW_OPTIONS_PAGE_CULTURE, + WINDOW_OPTIONS_PAGE_AUDIO, + WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE, + WINDOW_OPTIONS_PAGE_MISC, + WINDOW_OPTIONS_PAGE_TWITCH, + WINDOW_OPTIONS_PAGE_COUNT }; #pragma region Widgets enum WINDOW_OPTIONS_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_TAB_2, - WIDX_TAB_3, - WIDX_TAB_4, - WIDX_TAB_5, - WIDX_TAB_6, - WIDX_TAB_7, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_TAB_2, + WIDX_TAB_3, + WIDX_TAB_4, + WIDX_TAB_5, + WIDX_TAB_6, + WIDX_TAB_7, - WIDX_PAGE_START, + WIDX_PAGE_START, - // Display - WIDX_HARDWARE_GROUP = WIDX_PAGE_START, - WIDX_FULLSCREEN, - WIDX_FULLSCREEN_DROPDOWN, - WIDX_RESOLUTION, - WIDX_RESOLUTION_DROPDOWN, - WIDX_SCALE, - WIDX_SCALE_UP, - WIDX_SCALE_DOWN, - WIDX_DRAWING_ENGINE, - WIDX_DRAWING_ENGINE_DROPDOWN, - WIDX_SCALE_QUALITY, - WIDX_SCALE_QUALITY_DROPDOWN, - WIDX_SCALE_USE_NN_AT_INTEGER_SCALES_CHECKBOX, - WIDX_STEAM_OVERLAY_PAUSE, - WIDX_UNCAP_FPS_CHECKBOX, - WIDX_SHOW_FPS_CHECKBOX, - WIDX_MINIMIZE_FOCUS_LOSS, + // Display + WIDX_HARDWARE_GROUP = WIDX_PAGE_START, + WIDX_FULLSCREEN, + WIDX_FULLSCREEN_DROPDOWN, + WIDX_RESOLUTION, + WIDX_RESOLUTION_DROPDOWN, + WIDX_SCALE, + WIDX_SCALE_UP, + WIDX_SCALE_DOWN, + WIDX_DRAWING_ENGINE, + WIDX_DRAWING_ENGINE_DROPDOWN, + WIDX_SCALE_QUALITY, + WIDX_SCALE_QUALITY_DROPDOWN, + WIDX_SCALE_USE_NN_AT_INTEGER_SCALES_CHECKBOX, + WIDX_STEAM_OVERLAY_PAUSE, + WIDX_UNCAP_FPS_CHECKBOX, + WIDX_SHOW_FPS_CHECKBOX, + WIDX_MINIMIZE_FOCUS_LOSS, - // Rendering - WIDX_RENDERING_GROUP = WIDX_PAGE_START, - WIDX_TILE_SMOOTHING_CHECKBOX, - WIDX_GRIDLINES_CHECKBOX, - WIDX_CONSTRUCTION_MARKER, - WIDX_CONSTRUCTION_MARKER_DROPDOWN, - WIDX_DAY_NIGHT_CHECKBOX, - WIDX_ENABLE_LIGHT_FX_CHECKBOX, - WIDX_UPPER_CASE_BANNERS_CHECKBOX, - WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX, - WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX, - WIDX_SHOW_GUEST_PURCHASES_CHECKBOX, + // Rendering + WIDX_RENDERING_GROUP = WIDX_PAGE_START, + WIDX_TILE_SMOOTHING_CHECKBOX, + WIDX_GRIDLINES_CHECKBOX, + WIDX_CONSTRUCTION_MARKER, + WIDX_CONSTRUCTION_MARKER_DROPDOWN, + WIDX_DAY_NIGHT_CHECKBOX, + WIDX_ENABLE_LIGHT_FX_CHECKBOX, + WIDX_UPPER_CASE_BANNERS_CHECKBOX, + WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX, + WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX, + WIDX_SHOW_GUEST_PURCHASES_CHECKBOX, - // Culture / Units - WIDX_LANGUAGE = WIDX_PAGE_START, - WIDX_LANGUAGE_DROPDOWN, - WIDX_CURRENCY, - WIDX_CURRENCY_DROPDOWN, - WIDX_DISTANCE, - WIDX_DISTANCE_DROPDOWN, - WIDX_TEMPERATURE, - WIDX_TEMPERATURE_DROPDOWN, - WIDX_HEIGHT_LABELS, - WIDX_HEIGHT_LABELS_DROPDOWN, - WIDX_DATE_FORMAT, - WIDX_DATE_FORMAT_DROPDOWN, + // Culture / Units + WIDX_LANGUAGE = WIDX_PAGE_START, + WIDX_LANGUAGE_DROPDOWN, + WIDX_CURRENCY, + WIDX_CURRENCY_DROPDOWN, + WIDX_DISTANCE, + WIDX_DISTANCE_DROPDOWN, + WIDX_TEMPERATURE, + WIDX_TEMPERATURE_DROPDOWN, + WIDX_HEIGHT_LABELS, + WIDX_HEIGHT_LABELS_DROPDOWN, + WIDX_DATE_FORMAT, + WIDX_DATE_FORMAT_DROPDOWN, - // Audio - WIDX_SOUND = WIDX_PAGE_START, - WIDX_SOUND_DROPDOWN, - WIDX_SOUND_CHECKBOX, - WIDX_MUSIC_CHECKBOX, - WIDX_AUDIO_FOCUS_CHECKBOX, - WIDX_TITLE_MUSIC, - WIDX_TITLE_MUSIC_DROPDOWN, - WIDX_SOUND_VOLUME, - WIDX_MUSIC_VOLUME, + // Audio + WIDX_SOUND = WIDX_PAGE_START, + WIDX_SOUND_DROPDOWN, + WIDX_SOUND_CHECKBOX, + WIDX_MUSIC_CHECKBOX, + WIDX_AUDIO_FOCUS_CHECKBOX, + WIDX_TITLE_MUSIC, + WIDX_TITLE_MUSIC_DROPDOWN, + WIDX_SOUND_VOLUME, + WIDX_MUSIC_VOLUME, - // Controls and interface - WIDX_CONTROLS_GROUP = WIDX_PAGE_START, - WIDX_SCREEN_EDGE_SCROLLING, - WIDX_TRAP_CURSOR, - WIDX_INVERT_DRAG, - WIDX_ZOOM_TO_CURSOR, - WIDX_HOTKEY_DROPDOWN, - WIDX_THEMES_GROUP, - WIDX_THEMES, - WIDX_THEMES_DROPDOWN, - WIDX_THEMES_BUTTON, - WIDX_TOOLBAR_BUTTONS_GROUP, - WIDX_TOOLBAR_SHOW_FINANCES, - WIDX_TOOLBAR_SHOW_RESEARCH, - WIDX_TOOLBAR_SHOW_CHEATS, - WIDX_TOOLBAR_SHOW_NEWS, - WIDX_TOOLBAR_SHOW_MUTE, - WIDX_SELECT_BY_TRACK_TYPE, - WIDX_SCENARIO_GROUPING, - WIDX_SCENARIO_GROUPING_DROPDOWN, - WIDX_SCENARIO_UNLOCKING, + // Controls and interface + WIDX_CONTROLS_GROUP = WIDX_PAGE_START, + WIDX_SCREEN_EDGE_SCROLLING, + WIDX_TRAP_CURSOR, + WIDX_INVERT_DRAG, + WIDX_ZOOM_TO_CURSOR, + WIDX_HOTKEY_DROPDOWN, + WIDX_THEMES_GROUP, + WIDX_THEMES, + WIDX_THEMES_DROPDOWN, + WIDX_THEMES_BUTTON, + WIDX_TOOLBAR_BUTTONS_GROUP, + WIDX_TOOLBAR_SHOW_FINANCES, + WIDX_TOOLBAR_SHOW_RESEARCH, + WIDX_TOOLBAR_SHOW_CHEATS, + WIDX_TOOLBAR_SHOW_NEWS, + WIDX_TOOLBAR_SHOW_MUTE, + WIDX_SELECT_BY_TRACK_TYPE, + WIDX_SCENARIO_GROUPING, + WIDX_SCENARIO_GROUPING_DROPDOWN, + WIDX_SCENARIO_UNLOCKING, - // Misc - WIDX_REAL_NAME_CHECKBOX = WIDX_PAGE_START, - WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, - WIDX_SAVE_PLUGIN_DATA_CHECKBOX, - WIDX_TEST_UNFINISHED_TRACKS, - WIDX_DEBUGGING_TOOLS, - WIDX_STAY_CONNECTED_AFTER_DESYNC, - WIDX_AUTOSAVE, - WIDX_AUTOSAVE_DROPDOWN, - WIDX_TITLE_SEQUENCE, - WIDX_TITLE_SEQUENCE_DROPDOWN, - WIDX_TITLE_SEQUENCE_BUTTON, - WIDX_AUTO_STAFF_PLACEMENT, - WIDX_HANDYMEN_MOW_DEFAULT, - WIDX_AUTO_OPEN_SHOPS, - WIDX_DEFAULT_INSPECTION_INTERVAL, - WIDX_DEFAULT_INSPECTION_INTERVAL_DROPDOWN, - WIDX_WINDOW_LIMIT, - WIDX_WINDOW_LIMIT_UP, - WIDX_WINDOW_LIMIT_DOWN, - WIDX_PATH_TO_RCT1_TEXT, - WIDX_PATH_TO_RCT1_BUTTON, - WIDX_PATH_TO_RCT1_CLEAR, + // Misc + WIDX_REAL_NAME_CHECKBOX = WIDX_PAGE_START, + WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, + WIDX_SAVE_PLUGIN_DATA_CHECKBOX, + WIDX_TEST_UNFINISHED_TRACKS, + WIDX_DEBUGGING_TOOLS, + WIDX_STAY_CONNECTED_AFTER_DESYNC, + WIDX_AUTOSAVE, + WIDX_AUTOSAVE_DROPDOWN, + WIDX_TITLE_SEQUENCE, + WIDX_TITLE_SEQUENCE_DROPDOWN, + WIDX_TITLE_SEQUENCE_BUTTON, + WIDX_AUTO_STAFF_PLACEMENT, + WIDX_HANDYMEN_MOW_DEFAULT, + WIDX_AUTO_OPEN_SHOPS, + WIDX_DEFAULT_INSPECTION_INTERVAL, + WIDX_DEFAULT_INSPECTION_INTERVAL_DROPDOWN, + WIDX_WINDOW_LIMIT, + WIDX_WINDOW_LIMIT_UP, + WIDX_WINDOW_LIMIT_DOWN, + WIDX_PATH_TO_RCT1_TEXT, + WIDX_PATH_TO_RCT1_BUTTON, + WIDX_PATH_TO_RCT1_CLEAR, - // Twitch - WIDX_CHANNEL_BUTTON = WIDX_PAGE_START, - WIDX_FOLLOWER_PEEP_NAMES_CHECKBOX, - WIDX_FOLLOWER_PEEP_TRACKING_CHECKBOX, - WIDX_CHAT_PEEP_NAMES_CHECKBOX, - WIDX_CHAT_PEEP_TRACKING_CHECKBOX, - WIDX_NEWS_CHECKBOX + // Twitch + WIDX_CHANNEL_BUTTON = WIDX_PAGE_START, + WIDX_FOLLOWER_PEEP_NAMES_CHECKBOX, + WIDX_FOLLOWER_PEEP_TRACKING_CHECKBOX, + WIDX_CHAT_PEEP_NAMES_CHECKBOX, + WIDX_CHAT_PEEP_TRACKING_CHECKBOX, + WIDX_NEWS_CHECKBOX }; -#define WW 310 -#define WH 332 +#define WW 310 +#define WH 332 #ifndef DISABLE_TWITCH - #define TWITCH_TAB_SPRITE 0x20000000 | SPR_TAB - #define TWITCH_TAB_COLOUR 1 + #define TWITCH_TAB_SPRITE 0x20000000 | SPR_TAB + #define TWITCH_TAB_COLOUR 1 #else - #define TWITCH_TAB_SPRITE 0x20000000 | SPR_G2_TAB_DISABLED - #define TWITCH_TAB_COLOUR 0 + #define TWITCH_TAB_SPRITE 0x20000000 | SPR_G2_TAB_DISABLED + #define TWITCH_TAB_COLOUR 0 #endif #define MAIN_OPTIONS_WIDGETS \ - { WWT_FRAME, 0, 0, WW-1, 0, WH-1, STR_NONE, STR_NONE }, \ - { WWT_CAPTION, 0, 1, WW-2, 1, 14, STR_OPTIONS_TITLE, STR_WINDOW_TITLE_TIP }, \ - { WWT_CLOSEBOX, 0, WW-13, WW-3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, \ - { WWT_RESIZE, 1, 0, WW-1, 43, WH-1, 0xFFFFFFFF, STR_NONE }, \ - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_DISPLAY_TIP }, \ - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_RENDERING_TIP }, \ - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_CULTURE_TIP }, \ - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_AUDIO_TIP }, \ - { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_CONTROLS_AND_INTERFACE_TIP }, \ - { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_MISCELLANEOUS_TIP }, \ - { WWT_TAB, TWITCH_TAB_COLOUR, 189, 219, 17, 43, TWITCH_TAB_SPRITE, STR_OPTIONS_TWITCH_TIP } + { WWT_FRAME, 0, 0, WW-1, 0, WH-1, STR_NONE, STR_NONE }, \ + { WWT_CAPTION, 0, 1, WW-2, 1, 14, STR_OPTIONS_TITLE, STR_WINDOW_TITLE_TIP }, \ + { WWT_CLOSEBOX, 0, WW-13, WW-3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, \ + { WWT_RESIZE, 1, 0, WW-1, 43, WH-1, 0xFFFFFFFF, STR_NONE }, \ + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_DISPLAY_TIP }, \ + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_RENDERING_TIP }, \ + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_CULTURE_TIP }, \ + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_AUDIO_TIP }, \ + { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_CONTROLS_AND_INTERFACE_TIP }, \ + { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_OPTIONS_MISCELLANEOUS_TIP }, \ + { WWT_TAB, TWITCH_TAB_COLOUR, 189, 219, 17, 43, TWITCH_TAB_SPRITE, STR_OPTIONS_TWITCH_TIP } static rct_widget window_options_display_widgets[] = { - MAIN_OPTIONS_WIDGETS, - { WWT_GROUPBOX, 1, 5, 304, 53, 205, STR_HARDWARE_GROUP, STR_NONE }, // Hardware group + MAIN_OPTIONS_WIDGETS, + { WWT_GROUPBOX, 1, 5, 304, 53, 205, STR_HARDWARE_GROUP, STR_NONE }, // Hardware group - { WWT_DROPDOWN, 1, 155, 299, 68, 79, STR_ARG_12_STRINGID, STR_NONE }, // Fullscreen - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 69, 78, STR_DROPDOWN_GLYPH, STR_FULLSCREEN_MODE_TIP }, + { WWT_DROPDOWN, 1, 155, 299, 68, 79, STR_ARG_12_STRINGID, STR_NONE }, // Fullscreen + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 69, 78, STR_DROPDOWN_GLYPH, STR_FULLSCREEN_MODE_TIP }, - { WWT_DROPDOWN, 1, 155, 299, 83, 94, STR_ARG_16_RESOLUTION_X_BY_Y, STR_NONE }, // Resolution - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 84, 93, STR_DROPDOWN_GLYPH, STR_DISPLAY_RESOLUTION_TIP }, + { WWT_DROPDOWN, 1, 155, 299, 83, 94, STR_ARG_16_RESOLUTION_X_BY_Y, STR_NONE }, // Resolution + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 84, 93, STR_DROPDOWN_GLYPH, STR_DISPLAY_RESOLUTION_TIP }, - { WWT_SPINNER, 1, 155, 299, 98, 109, STR_NONE, STR_WINDOW_SCALE_TIP }, // Scale spinner - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 99, 103, STR_NUMERIC_UP, STR_NONE }, // Scale spinner up - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 104, 108, STR_NUMERIC_DOWN, STR_NONE }, // Scale spinner down + { WWT_SPINNER, 1, 155, 299, 98, 109, STR_NONE, STR_WINDOW_SCALE_TIP }, // Scale spinner + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 99, 103, STR_NUMERIC_UP, STR_NONE }, // Scale spinner up + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 104, 108, STR_NUMERIC_DOWN, STR_NONE }, // Scale spinner down - { WWT_DROPDOWN, 1, 155, 299, 113, 124, STR_NONE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 114, 123, STR_DROPDOWN_GLYPH, STR_DRAWING_ENGINE_TIP }, + { WWT_DROPDOWN, 1, 155, 299, 113, 124, STR_NONE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 114, 123, STR_DROPDOWN_GLYPH, STR_DRAWING_ENGINE_TIP }, - { WWT_DROPDOWN, 1, 155, 299, 128, 139, STR_NONE, STR_NONE }, // Scaling quality hint - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 129, 138, STR_DROPDOWN_GLYPH, STR_SCALE_QUALITY_TIP }, - { WWT_CHECKBOX, 1, 25, 290, 143, 154, STR_USE_NN_AT_INTEGER_SCALE, STR_USE_NN_AT_INTEGER_SCALE_TIP }, // Use nn scaling at integer scales + { WWT_DROPDOWN, 1, 155, 299, 128, 139, STR_NONE, STR_NONE }, // Scaling quality hint + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 129, 138, STR_DROPDOWN_GLYPH, STR_SCALE_QUALITY_TIP }, + { WWT_CHECKBOX, 1, 25, 290, 143, 154, STR_USE_NN_AT_INTEGER_SCALE, STR_USE_NN_AT_INTEGER_SCALE_TIP }, // Use nn scaling at integer scales - { WWT_CHECKBOX, 1, 25, 290, 158, 169, STR_STEAM_OVERLAY_PAUSE, STR_STEAM_OVERLAY_PAUSE_TIP }, // Pause on steam overlay + { WWT_CHECKBOX, 1, 25, 290, 158, 169, STR_STEAM_OVERLAY_PAUSE, STR_STEAM_OVERLAY_PAUSE_TIP }, // Pause on steam overlay - { WWT_CHECKBOX, 1, 10, 290, 174, 185, STR_UNCAP_FPS, STR_UNCAP_FPS_TIP }, // Uncap fps - { WWT_CHECKBOX, 1, 155, 299, 174, 185, STR_SHOW_FPS, STR_SHOW_FPS_TIP }, // Show fps - { WWT_CHECKBOX, 1, 10, 290, 189, 200, STR_MINIMISE_FULLSCREEN_ON_FOCUS_LOSS, STR_MINIMISE_FULLSCREEN_ON_FOCUS_LOSS_TIP }, // Minimise fullscreen focus loss + { WWT_CHECKBOX, 1, 10, 290, 174, 185, STR_UNCAP_FPS, STR_UNCAP_FPS_TIP }, // Uncap fps + { WWT_CHECKBOX, 1, 155, 299, 174, 185, STR_SHOW_FPS, STR_SHOW_FPS_TIP }, // Show fps + { WWT_CHECKBOX, 1, 10, 290, 189, 200, STR_MINIMISE_FULLSCREEN_ON_FOCUS_LOSS, STR_MINIMISE_FULLSCREEN_ON_FOCUS_LOSS_TIP }, // Minimise fullscreen focus loss - { WIDGETS_END }, + { WIDGETS_END }, }; static rct_widget window_options_rendering_widgets[] = { - MAIN_OPTIONS_WIDGETS, + MAIN_OPTIONS_WIDGETS, #define FRAME_RENDERING_START 53 - { WWT_GROUPBOX, 1, 5, 304, FRAME_RENDERING_START + 0, FRAME_RENDERING_START + 151, STR_RENDERING_GROUP, STR_NONE }, // Rendering group - { WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 15, FRAME_RENDERING_START + 26, STR_TILE_SMOOTHING, STR_TILE_SMOOTHING_TIP }, // Landscape smoothing - { WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 30, FRAME_RENDERING_START + 41, STR_GRIDLINES, STR_GRIDLINES_TIP }, // Gridlines - { WWT_DROPDOWN, 1, 155, 299, FRAME_RENDERING_START + 45, FRAME_RENDERING_START + 55, STR_NONE, STR_NONE }, // Construction marker - { WWT_DROPDOWN_BUTTON, 1, 288, 298, FRAME_RENDERING_START + 46, FRAME_RENDERING_START + 54, STR_DROPDOWN_GLYPH, STR_CONSTRUCTION_MARKER_COLOUR_TIP }, - { WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 60, FRAME_RENDERING_START + 71, STR_CYCLE_DAY_NIGHT, STR_CYCLE_DAY_NIGHT_TIP }, // Cycle day-night - { WWT_CHECKBOX, 1, 31, 290, FRAME_RENDERING_START + 75, FRAME_RENDERING_START + 86, STR_ENABLE_LIGHTING_EFFECTS, STR_ENABLE_LIGHTING_EFFECTS_TIP }, // Enable light fx - { WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 90, FRAME_RENDERING_START + 101, STR_UPPERCASE_BANNERS, STR_UPPERCASE_BANNERS_TIP }, // Uppercase banners - { WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 105, FRAME_RENDERING_START + 116, STR_RENDER_WEATHER_EFFECTS, STR_RENDER_WEATHER_EFFECTS_TIP }, // Render weather effects - { WWT_CHECKBOX, 1, 31, 290, FRAME_RENDERING_START + 120, FRAME_RENDERING_START + 131, STR_DISABLE_LIGHTNING_EFFECT, STR_DISABLE_LIGHTNING_EFFECT_TIP }, // Disable lightning effect - { WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 135, FRAME_RENDERING_START + 146, STR_SHOW_GUEST_PURCHASES, STR_SHOW_GUEST_PURCHASES_TIP }, + { WWT_GROUPBOX, 1, 5, 304, FRAME_RENDERING_START + 0, FRAME_RENDERING_START + 151, STR_RENDERING_GROUP, STR_NONE }, // Rendering group + { WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 15, FRAME_RENDERING_START + 26, STR_TILE_SMOOTHING, STR_TILE_SMOOTHING_TIP }, // Landscape smoothing + { WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 30, FRAME_RENDERING_START + 41, STR_GRIDLINES, STR_GRIDLINES_TIP }, // Gridlines + { WWT_DROPDOWN, 1, 155, 299, FRAME_RENDERING_START + 45, FRAME_RENDERING_START + 55, STR_NONE, STR_NONE }, // Construction marker + { WWT_DROPDOWN_BUTTON, 1, 288, 298, FRAME_RENDERING_START + 46, FRAME_RENDERING_START + 54, STR_DROPDOWN_GLYPH, STR_CONSTRUCTION_MARKER_COLOUR_TIP }, + { WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 60, FRAME_RENDERING_START + 71, STR_CYCLE_DAY_NIGHT, STR_CYCLE_DAY_NIGHT_TIP }, // Cycle day-night + { WWT_CHECKBOX, 1, 31, 290, FRAME_RENDERING_START + 75, FRAME_RENDERING_START + 86, STR_ENABLE_LIGHTING_EFFECTS, STR_ENABLE_LIGHTING_EFFECTS_TIP }, // Enable light fx + { WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 90, FRAME_RENDERING_START + 101, STR_UPPERCASE_BANNERS, STR_UPPERCASE_BANNERS_TIP }, // Uppercase banners + { WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 105, FRAME_RENDERING_START + 116, STR_RENDER_WEATHER_EFFECTS, STR_RENDER_WEATHER_EFFECTS_TIP }, // Render weather effects + { WWT_CHECKBOX, 1, 31, 290, FRAME_RENDERING_START + 120, FRAME_RENDERING_START + 131, STR_DISABLE_LIGHTNING_EFFECT, STR_DISABLE_LIGHTNING_EFFECT_TIP }, // Disable lightning effect + { WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 135, FRAME_RENDERING_START + 146, STR_SHOW_GUEST_PURCHASES, STR_SHOW_GUEST_PURCHASES_TIP }, #undef FRAME_RENDERING_START - { WIDGETS_END }, + { WIDGETS_END }, }; static rct_widget window_options_culture_widgets[] = { - MAIN_OPTIONS_WIDGETS, - { WWT_DROPDOWN, 1, 155, 299, 53, 64, STR_NONE, STR_NONE }, // language - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 54, 63, STR_DROPDOWN_GLYPH, STR_LANGUAGE_TIP }, - { WWT_DROPDOWN, 1, 155, 299, 68, 79, STR_ARG_12_STRINGID, STR_NONE }, // Currency - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 69, 78, STR_DROPDOWN_GLYPH, STR_CURRENCY_TIP }, - { WWT_DROPDOWN, 1, 155, 299, 83, 94, STR_ARG_14_STRINGID, STR_NONE }, // Distance and speed - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 84, 93, STR_DROPDOWN_GLYPH, STR_DISTANCE_AND_SPEED_TIP }, - { WWT_DROPDOWN, 1, 155, 299, 98, 110, STR_ARG_20_STRINGID, STR_NONE }, // Temperature - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 99, 108, STR_DROPDOWN_GLYPH, STR_TEMPERATURE_FORMAT_TIP }, - { WWT_DROPDOWN, 1, 155, 299, 113, 124, STR_ARG_6_STRINGID, STR_NONE }, // Height labels - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 114, 123, STR_DROPDOWN_GLYPH, STR_HEIGHT_LABELS_UNITS_TIP }, - { WWT_DROPDOWN, 1, 155, 299, 128, 139, STR_NONE, STR_NONE }, // Date format - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 129, 138, STR_DROPDOWN_GLYPH, STR_DATE_FORMAT_TIP }, - { WIDGETS_END }, + MAIN_OPTIONS_WIDGETS, + { WWT_DROPDOWN, 1, 155, 299, 53, 64, STR_NONE, STR_NONE }, // language + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 54, 63, STR_DROPDOWN_GLYPH, STR_LANGUAGE_TIP }, + { WWT_DROPDOWN, 1, 155, 299, 68, 79, STR_ARG_12_STRINGID, STR_NONE }, // Currency + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 69, 78, STR_DROPDOWN_GLYPH, STR_CURRENCY_TIP }, + { WWT_DROPDOWN, 1, 155, 299, 83, 94, STR_ARG_14_STRINGID, STR_NONE }, // Distance and speed + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 84, 93, STR_DROPDOWN_GLYPH, STR_DISTANCE_AND_SPEED_TIP }, + { WWT_DROPDOWN, 1, 155, 299, 98, 110, STR_ARG_20_STRINGID, STR_NONE }, // Temperature + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 99, 108, STR_DROPDOWN_GLYPH, STR_TEMPERATURE_FORMAT_TIP }, + { WWT_DROPDOWN, 1, 155, 299, 113, 124, STR_ARG_6_STRINGID, STR_NONE }, // Height labels + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 114, 123, STR_DROPDOWN_GLYPH, STR_HEIGHT_LABELS_UNITS_TIP }, + { WWT_DROPDOWN, 1, 155, 299, 128, 139, STR_NONE, STR_NONE }, // Date format + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 129, 138, STR_DROPDOWN_GLYPH, STR_DATE_FORMAT_TIP }, + { WIDGETS_END }, }; static rct_widget window_options_audio_widgets[] = { - MAIN_OPTIONS_WIDGETS, - { WWT_DROPDOWN, 1, 10, 299, 53, 64, STR_NONE, STR_NONE }, // Audio device - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 54, 63, STR_DROPDOWN_GLYPH, STR_AUDIO_DEVICE_TIP }, - { WWT_CHECKBOX, 1, 10, 229, 69, 80, STR_SOUND_EFFECTS, STR_SOUND_EFFECTS_TIP }, // Enable / disable sound effects - { WWT_CHECKBOX, 1, 10, 229, 84, 95, STR_RIDE_MUSIC, STR_RIDE_MUSIC_TIP }, // Enable / disable ride music - { WWT_CHECKBOX, 1, 10, 229, 98, 110, STR_AUDIO_FOCUS, STR_AUDIO_FOCUS_TIP }, // Enable / disable audio disabled on focus lost - { WWT_DROPDOWN, 1, 155, 299, 112, 124, STR_NONE, STR_NONE }, // Title music - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 113, 123, STR_DROPDOWN_GLYPH, STR_TITLE_MUSIC_TIP }, - { WWT_SCROLL, 1, 155, 299, 68, 80, SCROLL_HORIZONTAL, STR_NONE }, // Sound effect volume - { WWT_SCROLL, 1, 155, 299, 83, 95, SCROLL_HORIZONTAL, STR_NONE }, // Music volume - { WIDGETS_END }, + MAIN_OPTIONS_WIDGETS, + { WWT_DROPDOWN, 1, 10, 299, 53, 64, STR_NONE, STR_NONE }, // Audio device + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 54, 63, STR_DROPDOWN_GLYPH, STR_AUDIO_DEVICE_TIP }, + { WWT_CHECKBOX, 1, 10, 229, 69, 80, STR_SOUND_EFFECTS, STR_SOUND_EFFECTS_TIP }, // Enable / disable sound effects + { WWT_CHECKBOX, 1, 10, 229, 84, 95, STR_RIDE_MUSIC, STR_RIDE_MUSIC_TIP }, // Enable / disable ride music + { WWT_CHECKBOX, 1, 10, 229, 98, 110, STR_AUDIO_FOCUS, STR_AUDIO_FOCUS_TIP }, // Enable / disable audio disabled on focus lost + { WWT_DROPDOWN, 1, 155, 299, 112, 124, STR_NONE, STR_NONE }, // Title music + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 113, 123, STR_DROPDOWN_GLYPH, STR_TITLE_MUSIC_TIP }, + { WWT_SCROLL, 1, 155, 299, 68, 80, SCROLL_HORIZONTAL, STR_NONE }, // Sound effect volume + { WWT_SCROLL, 1, 155, 299, 83, 95, SCROLL_HORIZONTAL, STR_NONE }, // Music volume + { WIDGETS_END }, }; static rct_widget window_options_controls_and_interface_widgets[] = { - MAIN_OPTIONS_WIDGETS, - { WWT_GROUPBOX, 1, 5, 304, 53, 144, STR_CONTROLS_GROUP, STR_NONE }, // Controls group - { WWT_CHECKBOX, 2, 10, 299, 68, 79, STR_SCREEN_EDGE_SCROLLING, STR_SCREEN_EDGE_SCROLLING_TIP }, // Edge scrolling - { WWT_CHECKBOX, 2, 10, 299, 83, 94, STR_TRAP_MOUSE, STR_TRAP_MOUSE_TIP }, // Trap mouse - { WWT_CHECKBOX, 2, 10, 299, 98, 109, STR_INVERT_RIGHT_MOUSE_DRAG, STR_INVERT_RIGHT_MOUSE_DRAG_TIP }, // Invert right mouse dragging - { WWT_CHECKBOX, 2, 10, 299, 113, 124, STR_ZOOM_TO_CURSOR, STR_ZOOM_TO_CURSOR_TIP }, // Zoom to cursor - { WWT_DROPDOWN_BUTTON, 1, 26, 185, 128, 139, STR_HOTKEY, STR_HOTKEY_TIP }, // Set hotkeys buttons - { WWT_GROUPBOX, 1, 5, 304, 148, 194, STR_THEMES_GROUP, STR_NONE }, // Toolbar buttons group - { WWT_DROPDOWN, 1, 155, 299, 162, 173, STR_NONE, STR_NONE }, // Themes - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 163, 172, STR_DROPDOWN_GLYPH, STR_CURRENT_THEME_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 10, 145, 178, 189, STR_EDIT_THEMES_BUTTON, STR_EDIT_THEMES_BUTTON_TIP }, // Themes button - { WWT_GROUPBOX, 1, 5, 304, 198, 273, STR_TOOLBAR_BUTTONS_GROUP, STR_NONE }, // Toolbar buttons group - { WWT_CHECKBOX, 2, 10, 145, 229, 240, STR_FINANCES_BUTTON_ON_TOOLBAR, STR_FINANCES_BUTTON_ON_TOOLBAR_TIP }, // Finances - { WWT_CHECKBOX, 2, 10, 145, 244, 255, STR_RESEARCH_BUTTON_ON_TOOLBAR, STR_RESEARCH_BUTTON_ON_TOOLBAR_TIP }, // Research - { WWT_CHECKBOX, 2, 155, 299, 229, 240, STR_CHEATS_BUTTON_ON_TOOLBAR, STR_CHEATS_BUTTON_ON_TOOLBAR_TIP }, // Cheats - { WWT_CHECKBOX, 2, 155, 299, 244, 255, STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR, STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR_TIP }, // Recent messages - { WWT_CHECKBOX, 2, 10, 185, 259, 270, STR_MUTE_BUTTON_ON_TOOLBAR, STR_MUTE_BUTTON_ON_TOOLBAR_TIP }, // Mute - { WWT_CHECKBOX, 2, 10, 299, 279, 285, STR_SELECT_BY_TRACK_TYPE, STR_SELECT_BY_TRACK_TYPE_TIP }, // Select by track type - { WWT_DROPDOWN, 2, 155, 299, 294, 305, STR_NONE, STR_NONE }, // Scenario select mode - { WWT_DROPDOWN_BUTTON, 2, 288, 298, 295, 304, STR_DROPDOWN_GLYPH, STR_SCENARIO_GROUPING_TIP }, - { WWT_CHECKBOX, 2, 18, 299, 309, 320, STR_OPTIONS_SCENARIO_UNLOCKING, STR_SCENARIO_UNLOCKING_TIP }, // Unlocking of scenarios - { WIDGETS_END }, + MAIN_OPTIONS_WIDGETS, + { WWT_GROUPBOX, 1, 5, 304, 53, 144, STR_CONTROLS_GROUP, STR_NONE }, // Controls group + { WWT_CHECKBOX, 2, 10, 299, 68, 79, STR_SCREEN_EDGE_SCROLLING, STR_SCREEN_EDGE_SCROLLING_TIP }, // Edge scrolling + { WWT_CHECKBOX, 2, 10, 299, 83, 94, STR_TRAP_MOUSE, STR_TRAP_MOUSE_TIP }, // Trap mouse + { WWT_CHECKBOX, 2, 10, 299, 98, 109, STR_INVERT_RIGHT_MOUSE_DRAG, STR_INVERT_RIGHT_MOUSE_DRAG_TIP }, // Invert right mouse dragging + { WWT_CHECKBOX, 2, 10, 299, 113, 124, STR_ZOOM_TO_CURSOR, STR_ZOOM_TO_CURSOR_TIP }, // Zoom to cursor + { WWT_DROPDOWN_BUTTON, 1, 26, 185, 128, 139, STR_HOTKEY, STR_HOTKEY_TIP }, // Set hotkeys buttons + { WWT_GROUPBOX, 1, 5, 304, 148, 194, STR_THEMES_GROUP, STR_NONE }, // Toolbar buttons group + { WWT_DROPDOWN, 1, 155, 299, 162, 173, STR_NONE, STR_NONE }, // Themes + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 163, 172, STR_DROPDOWN_GLYPH, STR_CURRENT_THEME_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 10, 145, 178, 189, STR_EDIT_THEMES_BUTTON, STR_EDIT_THEMES_BUTTON_TIP }, // Themes button + { WWT_GROUPBOX, 1, 5, 304, 198, 273, STR_TOOLBAR_BUTTONS_GROUP, STR_NONE }, // Toolbar buttons group + { WWT_CHECKBOX, 2, 10, 145, 229, 240, STR_FINANCES_BUTTON_ON_TOOLBAR, STR_FINANCES_BUTTON_ON_TOOLBAR_TIP }, // Finances + { WWT_CHECKBOX, 2, 10, 145, 244, 255, STR_RESEARCH_BUTTON_ON_TOOLBAR, STR_RESEARCH_BUTTON_ON_TOOLBAR_TIP }, // Research + { WWT_CHECKBOX, 2, 155, 299, 229, 240, STR_CHEATS_BUTTON_ON_TOOLBAR, STR_CHEATS_BUTTON_ON_TOOLBAR_TIP }, // Cheats + { WWT_CHECKBOX, 2, 155, 299, 244, 255, STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR, STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR_TIP }, // Recent messages + { WWT_CHECKBOX, 2, 10, 185, 259, 270, STR_MUTE_BUTTON_ON_TOOLBAR, STR_MUTE_BUTTON_ON_TOOLBAR_TIP }, // Mute + { WWT_CHECKBOX, 2, 10, 299, 279, 285, STR_SELECT_BY_TRACK_TYPE, STR_SELECT_BY_TRACK_TYPE_TIP }, // Select by track type + { WWT_DROPDOWN, 2, 155, 299, 294, 305, STR_NONE, STR_NONE }, // Scenario select mode + { WWT_DROPDOWN_BUTTON, 2, 288, 298, 295, 304, STR_DROPDOWN_GLYPH, STR_SCENARIO_GROUPING_TIP }, + { WWT_CHECKBOX, 2, 18, 299, 309, 320, STR_OPTIONS_SCENARIO_UNLOCKING, STR_SCENARIO_UNLOCKING_TIP }, // Unlocking of scenarios + { WIDGETS_END }, }; static rct_widget window_options_misc_widgets[] = { - MAIN_OPTIONS_WIDGETS, - { WWT_CHECKBOX, 2, 10, 299, 54, 65, STR_REAL_NAME, STR_REAL_NAME_TIP }, // Show 'real' names of guests - { WWT_CHECKBOX, 2, 10, 299, 69, 80, STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM_TIP }, // Allow loading with incorrect checksum - { WWT_CHECKBOX, 2, 10, 299, 84, 95, STR_SAVE_PLUGIN_DATA, STR_SAVE_PLUGIN_DATA_TIP }, // Export plug-in objects with saved games - { WWT_CHECKBOX, 2, 10, 299, 99, 110, STR_TEST_UNFINISHED_TRACKS, STR_TEST_UNFINISHED_TRACKS_TIP }, // Test unfinished tracks - { WWT_CHECKBOX, 2, 10, 299, 114, 125, STR_ENABLE_DEBUGGING_TOOLS, STR_ENABLE_DEBUGGING_TOOLS_TIP }, // Enable debugging tools - { WWT_CHECKBOX, 2, 10, 299, 129, 140, STR_STAY_CONNECTED_AFTER_DESYNC, STR_STAY_CONNECTED_AFTER_DESYNC_TIP }, // Do not disconnect after the client desynchronises with the server - { WWT_DROPDOWN, 1, 155, 299, 144, 155, STR_NONE, STR_NONE }, // Autosave dropdown - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 145, 154, STR_DROPDOWN_GLYPH, STR_AUTOSAVE_FREQUENCY_TIP }, // Autosave dropdown button - { WWT_DROPDOWN, 1, 155, 299, 159, 170, STR_NONE, STR_NONE }, // Title sequence dropdown - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 160, 169, STR_DROPDOWN_GLYPH, STR_TITLE_SEQUENCE_TIP }, // Title sequence dropdown button - { WWT_DROPDOWN_BUTTON, 1, 26, 185, 174, 185, STR_EDIT_TITLE_SEQUENCES_BUTTON, STR_EDIT_TITLE_SEQUENCES_BUTTON_TIP }, // Edit title sequences button - { WWT_CHECKBOX, 2, 10, 299, 189, 200, STR_AUTO_STAFF_PLACEMENT, STR_AUTO_STAFF_PLACEMENT_TIP }, // Auto staff placement - { WWT_CHECKBOX, 2, 10, 299, 204, 215, STR_HANDYMEN_MOW_BY_DEFAULT, STR_HANDYMEN_MOW_BY_DEFAULT_TIP }, // Handymen mow by default - { WWT_CHECKBOX, 2, 10, 299, 219, 230, STR_AUTO_OPEN_SHOPS, STR_AUTO_OPEN_SHOPS_TIP }, // Automatically open shops & stalls - { WWT_DROPDOWN, 1, 155, 299, 234, 245, STR_NONE, STR_NONE }, // Default inspection time dropdown - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 235, 244, STR_DROPDOWN_GLYPH, STR_DEFAULT_INSPECTION_INTERVAL_TIP }, // Default inspection time dropdown button - { WWT_SPINNER, 1, 155, 299, 249, 260, STR_NONE, STR_NONE }, // Window limit - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 250, 254, STR_NUMERIC_UP, STR_NONE }, // Window limit up - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 255, 259, STR_NUMERIC_DOWN, STR_NONE }, // Window limit down - { WWT_12, 1, 10, 142, 264, 275, STR_PATH_TO_RCT1, STR_PATH_TO_RCT1_TIP }, // RCT 1 path text - { WWT_DROPDOWN_BUTTON, 1, 10, 289, 278, 289, STR_NONE, STR_STRING_TOOLTIP }, // RCT 1 path button - { WWT_DROPDOWN_BUTTON, 1, 289, 299, 278, 289, STR_CLOSE_X, STR_PATH_TO_RCT1_CLEAR_TIP }, // RCT 1 path clear button - { WIDGETS_END }, + MAIN_OPTIONS_WIDGETS, + { WWT_CHECKBOX, 2, 10, 299, 54, 65, STR_REAL_NAME, STR_REAL_NAME_TIP }, // Show 'real' names of guests + { WWT_CHECKBOX, 2, 10, 299, 69, 80, STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM_TIP }, // Allow loading with incorrect checksum + { WWT_CHECKBOX, 2, 10, 299, 84, 95, STR_SAVE_PLUGIN_DATA, STR_SAVE_PLUGIN_DATA_TIP }, // Export plug-in objects with saved games + { WWT_CHECKBOX, 2, 10, 299, 99, 110, STR_TEST_UNFINISHED_TRACKS, STR_TEST_UNFINISHED_TRACKS_TIP }, // Test unfinished tracks + { WWT_CHECKBOX, 2, 10, 299, 114, 125, STR_ENABLE_DEBUGGING_TOOLS, STR_ENABLE_DEBUGGING_TOOLS_TIP }, // Enable debugging tools + { WWT_CHECKBOX, 2, 10, 299, 129, 140, STR_STAY_CONNECTED_AFTER_DESYNC, STR_STAY_CONNECTED_AFTER_DESYNC_TIP }, // Do not disconnect after the client desynchronises with the server + { WWT_DROPDOWN, 1, 155, 299, 144, 155, STR_NONE, STR_NONE }, // Autosave dropdown + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 145, 154, STR_DROPDOWN_GLYPH, STR_AUTOSAVE_FREQUENCY_TIP }, // Autosave dropdown button + { WWT_DROPDOWN, 1, 155, 299, 159, 170, STR_NONE, STR_NONE }, // Title sequence dropdown + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 160, 169, STR_DROPDOWN_GLYPH, STR_TITLE_SEQUENCE_TIP }, // Title sequence dropdown button + { WWT_DROPDOWN_BUTTON, 1, 26, 185, 174, 185, STR_EDIT_TITLE_SEQUENCES_BUTTON, STR_EDIT_TITLE_SEQUENCES_BUTTON_TIP }, // Edit title sequences button + { WWT_CHECKBOX, 2, 10, 299, 189, 200, STR_AUTO_STAFF_PLACEMENT, STR_AUTO_STAFF_PLACEMENT_TIP }, // Auto staff placement + { WWT_CHECKBOX, 2, 10, 299, 204, 215, STR_HANDYMEN_MOW_BY_DEFAULT, STR_HANDYMEN_MOW_BY_DEFAULT_TIP }, // Handymen mow by default + { WWT_CHECKBOX, 2, 10, 299, 219, 230, STR_AUTO_OPEN_SHOPS, STR_AUTO_OPEN_SHOPS_TIP }, // Automatically open shops & stalls + { WWT_DROPDOWN, 1, 155, 299, 234, 245, STR_NONE, STR_NONE }, // Default inspection time dropdown + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 235, 244, STR_DROPDOWN_GLYPH, STR_DEFAULT_INSPECTION_INTERVAL_TIP }, // Default inspection time dropdown button + { WWT_SPINNER, 1, 155, 299, 249, 260, STR_NONE, STR_NONE }, // Window limit + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 250, 254, STR_NUMERIC_UP, STR_NONE }, // Window limit up + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 255, 259, STR_NUMERIC_DOWN, STR_NONE }, // Window limit down + { WWT_12, 1, 10, 142, 264, 275, STR_PATH_TO_RCT1, STR_PATH_TO_RCT1_TIP }, // RCT 1 path text + { WWT_DROPDOWN_BUTTON, 1, 10, 289, 278, 289, STR_NONE, STR_STRING_TOOLTIP }, // RCT 1 path button + { WWT_DROPDOWN_BUTTON, 1, 289, 299, 278, 289, STR_CLOSE_X, STR_PATH_TO_RCT1_CLEAR_TIP }, // RCT 1 path clear button + { WIDGETS_END }, }; static rct_widget window_options_twitch_widgets[] = { - MAIN_OPTIONS_WIDGETS, - { WWT_DROPDOWN_BUTTON, 2, 10, 299, 54, 65, STR_TWITCH_NAME, STR_TWITCH_NAME_TIP }, // Twitch channel name - { WWT_CHECKBOX, 2, 10, 299, 69, 80, STR_TWITCH_PEEP_FOLLOWERS, STR_TWITCH_PEEP_FOLLOWERS_TIP }, // Twitch name peeps by follows - { WWT_CHECKBOX, 2, 10, 299, 84, 95, STR_TWITCH_FOLLOWERS_TRACK, STR_TWITCH_FOLLOWERS_TRACK_TIP }, // Twitch information on for follows - { WWT_CHECKBOX, 2, 10, 299, 99, 110, STR_TWITCH_PEEP_CHAT, STR_TWITCH_PEEP_CHAT_TIP }, // Twitch name peeps by chat - { WWT_CHECKBOX, 2, 10, 299, 114, 125, STR_TWITCH_CHAT_TRACK, STR_TWITCH_CHAT_TRACK_TIP }, // Twitch information on for chat - { WWT_CHECKBOX, 2, 10, 299, 129, 140, STR_TWITCH_CHAT_NEWS, STR_TWITCH_CHAT_NEWS_TIP }, // Twitch chat !news as notifications in game - { WIDGETS_END }, + MAIN_OPTIONS_WIDGETS, + { WWT_DROPDOWN_BUTTON, 2, 10, 299, 54, 65, STR_TWITCH_NAME, STR_TWITCH_NAME_TIP }, // Twitch channel name + { WWT_CHECKBOX, 2, 10, 299, 69, 80, STR_TWITCH_PEEP_FOLLOWERS, STR_TWITCH_PEEP_FOLLOWERS_TIP }, // Twitch name peeps by follows + { WWT_CHECKBOX, 2, 10, 299, 84, 95, STR_TWITCH_FOLLOWERS_TRACK, STR_TWITCH_FOLLOWERS_TRACK_TIP }, // Twitch information on for follows + { WWT_CHECKBOX, 2, 10, 299, 99, 110, STR_TWITCH_PEEP_CHAT, STR_TWITCH_PEEP_CHAT_TIP }, // Twitch name peeps by chat + { WWT_CHECKBOX, 2, 10, 299, 114, 125, STR_TWITCH_CHAT_TRACK, STR_TWITCH_CHAT_TRACK_TIP }, // Twitch information on for chat + { WWT_CHECKBOX, 2, 10, 299, 129, 140, STR_TWITCH_CHAT_NEWS, STR_TWITCH_CHAT_NEWS_TIP }, // Twitch chat !news as notifications in game + { WIDGETS_END }, }; rct_widget *window_options_page_widgets[] = { - window_options_display_widgets, - window_options_rendering_widgets, - window_options_culture_widgets, - window_options_audio_widgets, - window_options_controls_and_interface_widgets, - window_options_misc_widgets, - window_options_twitch_widgets + window_options_display_widgets, + window_options_rendering_widgets, + window_options_culture_widgets, + window_options_audio_widgets, + window_options_controls_and_interface_widgets, + window_options_misc_widgets, + window_options_twitch_widgets }; #pragma endregion static const rct_string_id window_options_autosave_names[6] = { - STR_SAVE_EVERY_MINUTE, - STR_SAVE_EVERY_5MINUTES, - STR_SAVE_EVERY_15MINUTES, - STR_SAVE_EVERY_30MINUTES, - STR_SAVE_EVERY_HOUR, - STR_SAVE_NEVER, + STR_SAVE_EVERY_MINUTE, + STR_SAVE_EVERY_5MINUTES, + STR_SAVE_EVERY_15MINUTES, + STR_SAVE_EVERY_30MINUTES, + STR_SAVE_EVERY_HOUR, + STR_SAVE_NEVER, }; static const rct_string_id window_options_title_music_names[] = { - STR_OPTIONS_MUSIC_VALUE_NONE , - STR_ROLLERCOASTER_TYCOON_1_DROPDOWN , - STR_ROLLERCOASTER_TYCOON_2_DROPDOWN , - STR_OPTIONS_MUSIC_VALUE_RANDOM, + STR_OPTIONS_MUSIC_VALUE_NONE , + STR_ROLLERCOASTER_TYCOON_1_DROPDOWN , + STR_ROLLERCOASTER_TYCOON_2_DROPDOWN , + STR_OPTIONS_MUSIC_VALUE_RANDOM, }; static const rct_string_id window_options_scale_quality_names[] = { - STR_SCALING_QUALITY_NN, - STR_SCALING_QUALITY_LINEAR, - STR_SCALING_QUALITY_ANISOTROPIC, + STR_SCALING_QUALITY_NN, + STR_SCALING_QUALITY_LINEAR, + STR_SCALING_QUALITY_ANISOTROPIC, }; static const rct_string_id window_options_fullscreen_mode_names[] = { - STR_OPTIONS_DISPLAY_WINDOWED, - STR_OPTIONS_DISPLAY_FULLSCREEN, - STR_OPTIONS_DISPLAY_FULLSCREEN_BORDERLESS, + STR_OPTIONS_DISPLAY_WINDOWED, + STR_OPTIONS_DISPLAY_FULLSCREEN, + STR_OPTIONS_DISPLAY_FULLSCREEN_BORDERLESS, }; const sint32 window_options_tab_animation_divisor[] = { 4, 4, 8, 2, 2, 2, 1 }; @@ -418,33 +418,33 @@ static void window_options_tooltip(rct_window *w, rct_widgetindex widgetIndex, r static rct_window_event_list window_options_events = { window_options_close, - window_options_mouseup, - NULL, - window_options_mousedown, - window_options_dropdown, - NULL, - window_options_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_options_scrollgetsize, - NULL, - NULL, - NULL, - window_options_text_input, - NULL, - NULL, - window_options_tooltip, - NULL, - NULL, - window_options_invalidate, - window_options_paint, - NULL + window_options_mouseup, + NULL, + window_options_mousedown, + window_options_dropdown, + NULL, + window_options_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_options_scrollgetsize, + NULL, + NULL, + NULL, + window_options_text_input, + NULL, + NULL, + window_options_tooltip, + NULL, + NULL, + window_options_invalidate, + window_options_paint, + NULL }; #pragma endregion @@ -452,120 +452,120 @@ static rct_window_event_list window_options_events = { #pragma region Enabled Widgets #define MAIN_OPTIONS_ENABLED_WIDGETS \ - (1 << WIDX_CLOSE) | \ - (1 << WIDX_TAB_1) | \ - (1 << WIDX_TAB_2) | \ - (1 << WIDX_TAB_3) | \ - (1 << WIDX_TAB_4) | \ - (1 << WIDX_TAB_5) | \ - (1 << WIDX_TAB_6) | \ - (1 << WIDX_TAB_7) + (1 << WIDX_CLOSE) | \ + (1 << WIDX_TAB_1) | \ + (1 << WIDX_TAB_2) | \ + (1 << WIDX_TAB_3) | \ + (1 << WIDX_TAB_4) | \ + (1 << WIDX_TAB_5) | \ + (1 << WIDX_TAB_6) | \ + (1 << WIDX_TAB_7) static uint64 window_options_page_enabled_widgets[] = { - MAIN_OPTIONS_ENABLED_WIDGETS | - (1 << WIDX_RESOLUTION) | - (1 << WIDX_RESOLUTION_DROPDOWN) | - (1 << WIDX_FULLSCREEN) | - (1 << WIDX_FULLSCREEN_DROPDOWN) | - (1 << WIDX_TILE_SMOOTHING_CHECKBOX) | - (1 << WIDX_GRIDLINES_CHECKBOX) | - (1 << WIDX_DRAWING_ENGINE) | - (1 << WIDX_DRAWING_ENGINE_DROPDOWN) | - (1 << WIDX_UNCAP_FPS_CHECKBOX) | - (1 << WIDX_SHOW_FPS_CHECKBOX) | - (1 << WIDX_MINIMIZE_FOCUS_LOSS) | - (1 << WIDX_STEAM_OVERLAY_PAUSE) | - (1 << WIDX_SCALE) | - (1 << WIDX_SCALE_UP) | - (1 << WIDX_SCALE_DOWN) | - (1 << WIDX_SCALE_QUALITY) | - (1 << WIDX_SCALE_QUALITY_DROPDOWN) | - (1 << WIDX_SCALE_USE_NN_AT_INTEGER_SCALES_CHECKBOX), + MAIN_OPTIONS_ENABLED_WIDGETS | + (1 << WIDX_RESOLUTION) | + (1 << WIDX_RESOLUTION_DROPDOWN) | + (1 << WIDX_FULLSCREEN) | + (1 << WIDX_FULLSCREEN_DROPDOWN) | + (1 << WIDX_TILE_SMOOTHING_CHECKBOX) | + (1 << WIDX_GRIDLINES_CHECKBOX) | + (1 << WIDX_DRAWING_ENGINE) | + (1 << WIDX_DRAWING_ENGINE_DROPDOWN) | + (1 << WIDX_UNCAP_FPS_CHECKBOX) | + (1 << WIDX_SHOW_FPS_CHECKBOX) | + (1 << WIDX_MINIMIZE_FOCUS_LOSS) | + (1 << WIDX_STEAM_OVERLAY_PAUSE) | + (1 << WIDX_SCALE) | + (1 << WIDX_SCALE_UP) | + (1 << WIDX_SCALE_DOWN) | + (1 << WIDX_SCALE_QUALITY) | + (1 << WIDX_SCALE_QUALITY_DROPDOWN) | + (1 << WIDX_SCALE_USE_NN_AT_INTEGER_SCALES_CHECKBOX), - MAIN_OPTIONS_ENABLED_WIDGETS | - (1 << WIDX_TILE_SMOOTHING_CHECKBOX) | - (1 << WIDX_GRIDLINES_CHECKBOX) | - (1 << WIDX_CONSTRUCTION_MARKER) | - (1 << WIDX_CONSTRUCTION_MARKER_DROPDOWN) | - (1 << WIDX_DAY_NIGHT_CHECKBOX) | - (1 << WIDX_ENABLE_LIGHT_FX_CHECKBOX) | - (1 << WIDX_UPPER_CASE_BANNERS_CHECKBOX) | - (1 << WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX) | - (1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX) | - (1 << WIDX_SHOW_GUEST_PURCHASES_CHECKBOX), + MAIN_OPTIONS_ENABLED_WIDGETS | + (1 << WIDX_TILE_SMOOTHING_CHECKBOX) | + (1 << WIDX_GRIDLINES_CHECKBOX) | + (1 << WIDX_CONSTRUCTION_MARKER) | + (1 << WIDX_CONSTRUCTION_MARKER_DROPDOWN) | + (1 << WIDX_DAY_NIGHT_CHECKBOX) | + (1 << WIDX_ENABLE_LIGHT_FX_CHECKBOX) | + (1 << WIDX_UPPER_CASE_BANNERS_CHECKBOX) | + (1 << WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX) | + (1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX) | + (1 << WIDX_SHOW_GUEST_PURCHASES_CHECKBOX), - MAIN_OPTIONS_ENABLED_WIDGETS | - (1 << WIDX_LANGUAGE) | - (1 << WIDX_LANGUAGE_DROPDOWN) | - (1 << WIDX_CURRENCY) | - (1 << WIDX_CURRENCY_DROPDOWN) | - (1 << WIDX_DISTANCE) | - (1 << WIDX_DISTANCE_DROPDOWN) | - (1 << WIDX_TEMPERATURE) | - (1 << WIDX_TEMPERATURE_DROPDOWN) | - (1 << WIDX_HEIGHT_LABELS) | - (1 << WIDX_HEIGHT_LABELS_DROPDOWN) | - (1 << WIDX_DATE_FORMAT) | - (1 << WIDX_DATE_FORMAT_DROPDOWN), + MAIN_OPTIONS_ENABLED_WIDGETS | + (1 << WIDX_LANGUAGE) | + (1 << WIDX_LANGUAGE_DROPDOWN) | + (1 << WIDX_CURRENCY) | + (1 << WIDX_CURRENCY_DROPDOWN) | + (1 << WIDX_DISTANCE) | + (1 << WIDX_DISTANCE_DROPDOWN) | + (1 << WIDX_TEMPERATURE) | + (1 << WIDX_TEMPERATURE_DROPDOWN) | + (1 << WIDX_HEIGHT_LABELS) | + (1 << WIDX_HEIGHT_LABELS_DROPDOWN) | + (1 << WIDX_DATE_FORMAT) | + (1 << WIDX_DATE_FORMAT_DROPDOWN), - MAIN_OPTIONS_ENABLED_WIDGETS | - (1 << WIDX_SOUND) | - (1 << WIDX_SOUND_DROPDOWN) | - (1 << WIDX_SOUND_CHECKBOX) | - (1 << WIDX_MUSIC_CHECKBOX) | - (1 << WIDX_AUDIO_FOCUS_CHECKBOX) | - (1 << WIDX_TITLE_MUSIC) | - (1 << WIDX_TITLE_MUSIC_DROPDOWN), + MAIN_OPTIONS_ENABLED_WIDGETS | + (1 << WIDX_SOUND) | + (1 << WIDX_SOUND_DROPDOWN) | + (1 << WIDX_SOUND_CHECKBOX) | + (1 << WIDX_MUSIC_CHECKBOX) | + (1 << WIDX_AUDIO_FOCUS_CHECKBOX) | + (1 << WIDX_TITLE_MUSIC) | + (1 << WIDX_TITLE_MUSIC_DROPDOWN), - MAIN_OPTIONS_ENABLED_WIDGETS | - (1 << WIDX_SCREEN_EDGE_SCROLLING) | - (1 << WIDX_TRAP_CURSOR) | - (1 << WIDX_INVERT_DRAG) | - (1 << WIDX_ZOOM_TO_CURSOR) | - (1 << WIDX_HOTKEY_DROPDOWN) | - (1 << WIDX_TOOLBAR_SHOW_FINANCES) | - (1 << WIDX_TOOLBAR_SHOW_RESEARCH) | - (1 << WIDX_TOOLBAR_SHOW_CHEATS) | - (1 << WIDX_TOOLBAR_SHOW_NEWS) | - (1 << WIDX_THEMES) | - (1 << WIDX_THEMES_DROPDOWN) | - (1 << WIDX_THEMES_BUTTON) | - (1 << WIDX_SELECT_BY_TRACK_TYPE) | - (1 << WIDX_SCENARIO_GROUPING) | - (1 << WIDX_SCENARIO_GROUPING_DROPDOWN) | - (1 << WIDX_SCENARIO_UNLOCKING) | - (1 << WIDX_TOOLBAR_SHOW_MUTE), + MAIN_OPTIONS_ENABLED_WIDGETS | + (1 << WIDX_SCREEN_EDGE_SCROLLING) | + (1 << WIDX_TRAP_CURSOR) | + (1 << WIDX_INVERT_DRAG) | + (1 << WIDX_ZOOM_TO_CURSOR) | + (1 << WIDX_HOTKEY_DROPDOWN) | + (1 << WIDX_TOOLBAR_SHOW_FINANCES) | + (1 << WIDX_TOOLBAR_SHOW_RESEARCH) | + (1 << WIDX_TOOLBAR_SHOW_CHEATS) | + (1 << WIDX_TOOLBAR_SHOW_NEWS) | + (1 << WIDX_THEMES) | + (1 << WIDX_THEMES_DROPDOWN) | + (1 << WIDX_THEMES_BUTTON) | + (1 << WIDX_SELECT_BY_TRACK_TYPE) | + (1 << WIDX_SCENARIO_GROUPING) | + (1 << WIDX_SCENARIO_GROUPING_DROPDOWN) | + (1 << WIDX_SCENARIO_UNLOCKING) | + (1 << WIDX_TOOLBAR_SHOW_MUTE), - MAIN_OPTIONS_ENABLED_WIDGETS | - (1 << WIDX_REAL_NAME_CHECKBOX) | - (1 << WIDX_SAVE_PLUGIN_DATA_CHECKBOX) | - (1 << WIDX_AUTOSAVE) | - (1 << WIDX_AUTOSAVE_DROPDOWN) | - (1 << WIDX_TEST_UNFINISHED_TRACKS) | - (1 << WIDX_AUTO_STAFF_PLACEMENT) | - (1 << WIDX_HANDYMEN_MOW_DEFAULT) | - (1 << WIDX_DEBUGGING_TOOLS) | - (1 << WIDX_TITLE_SEQUENCE) | - (1 << WIDX_TITLE_SEQUENCE_DROPDOWN) | - (1 << WIDX_TITLE_SEQUENCE_BUTTON) | - (1 << WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM) | - (1 << WIDX_STAY_CONNECTED_AFTER_DESYNC) | - (1 << WIDX_AUTO_OPEN_SHOPS) | - (1 << WIDX_DEFAULT_INSPECTION_INTERVAL) | - (1 << WIDX_DEFAULT_INSPECTION_INTERVAL_DROPDOWN) | - (1 << WIDX_WINDOW_LIMIT) | - (1 << WIDX_WINDOW_LIMIT_UP) | - (1 << WIDX_WINDOW_LIMIT_DOWN) | - (1 << WIDX_PATH_TO_RCT1_BUTTON) | - (1ULL << WIDX_PATH_TO_RCT1_CLEAR), + MAIN_OPTIONS_ENABLED_WIDGETS | + (1 << WIDX_REAL_NAME_CHECKBOX) | + (1 << WIDX_SAVE_PLUGIN_DATA_CHECKBOX) | + (1 << WIDX_AUTOSAVE) | + (1 << WIDX_AUTOSAVE_DROPDOWN) | + (1 << WIDX_TEST_UNFINISHED_TRACKS) | + (1 << WIDX_AUTO_STAFF_PLACEMENT) | + (1 << WIDX_HANDYMEN_MOW_DEFAULT) | + (1 << WIDX_DEBUGGING_TOOLS) | + (1 << WIDX_TITLE_SEQUENCE) | + (1 << WIDX_TITLE_SEQUENCE_DROPDOWN) | + (1 << WIDX_TITLE_SEQUENCE_BUTTON) | + (1 << WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM) | + (1 << WIDX_STAY_CONNECTED_AFTER_DESYNC) | + (1 << WIDX_AUTO_OPEN_SHOPS) | + (1 << WIDX_DEFAULT_INSPECTION_INTERVAL) | + (1 << WIDX_DEFAULT_INSPECTION_INTERVAL_DROPDOWN) | + (1 << WIDX_WINDOW_LIMIT) | + (1 << WIDX_WINDOW_LIMIT_UP) | + (1 << WIDX_WINDOW_LIMIT_DOWN) | + (1 << WIDX_PATH_TO_RCT1_BUTTON) | + (1ULL << WIDX_PATH_TO_RCT1_CLEAR), - MAIN_OPTIONS_ENABLED_WIDGETS | - (1 << WIDX_CHANNEL_BUTTON) | - (1 << WIDX_FOLLOWER_PEEP_NAMES_CHECKBOX) | - (1 << WIDX_FOLLOWER_PEEP_TRACKING_CHECKBOX) | - (1 << WIDX_CHAT_PEEP_NAMES_CHECKBOX) | - (1 << WIDX_CHAT_PEEP_TRACKING_CHECKBOX) | - (1 << WIDX_NEWS_CHECKBOX) + MAIN_OPTIONS_ENABLED_WIDGETS | + (1 << WIDX_CHANNEL_BUTTON) | + (1 << WIDX_FOLLOWER_PEEP_NAMES_CHECKBOX) | + (1 << WIDX_FOLLOWER_PEEP_TRACKING_CHECKBOX) | + (1 << WIDX_CHAT_PEEP_NAMES_CHECKBOX) | + (1 << WIDX_CHAT_PEEP_TRACKING_CHECKBOX) | + (1 << WIDX_NEWS_CHECKBOX) }; #pragma endregion @@ -579,19 +579,19 @@ static sint32 _numResolutions = 0; */ void window_options_open() { - rct_window* w; + rct_window* w; - // Check if window is already open - w = window_bring_to_front_by_class(WC_OPTIONS); - if (w != NULL) - return; + // Check if window is already open + w = window_bring_to_front_by_class(WC_OPTIONS); + if (w != NULL) + return; - w = window_create_centred(WW, WH, &window_options_events, WC_OPTIONS, 0); - w->widgets = window_options_display_widgets; - w->enabled_widgets = window_options_page_enabled_widgets[WINDOW_OPTIONS_PAGE_DISPLAY]; - w->page = WINDOW_OPTIONS_PAGE_DISPLAY; - w->frame_no = 0; - window_init_scroll_widgets(w); + w = window_create_centred(WW, WH, &window_options_events, WC_OPTIONS, 0); + w->widgets = window_options_display_widgets; + w->enabled_widgets = window_options_page_enabled_widgets[WINDOW_OPTIONS_PAGE_DISPLAY]; + w->page = WINDOW_OPTIONS_PAGE_DISPLAY; + w->frame_no = 0; + window_init_scroll_widgets(w); } static void window_options_close(rct_window *w) @@ -607,332 +607,332 @@ static void window_options_close(rct_window *w) */ static void window_options_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - window_options_set_page(w, widgetIndex - WIDX_TAB_1); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + window_options_set_page(w, widgetIndex - WIDX_TAB_1); + break; + } - switch (w->page) { - case WINDOW_OPTIONS_PAGE_DISPLAY: - switch (widgetIndex) { - case WIDX_UNCAP_FPS_CHECKBOX: - gConfigGeneral.uncap_fps ^= 1; - drawing_engine_set_fps_uncapped(gConfigGeneral.uncap_fps); - config_save_default(); - window_invalidate(w); - break; - case WIDX_SHOW_FPS_CHECKBOX: - gConfigGeneral.show_fps ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_MINIMIZE_FOCUS_LOSS: - gConfigGeneral.minimize_fullscreen_focus_loss ^= 1; - platform_refresh_video(); - config_save_default(); - window_invalidate(w); - break; - case WIDX_STEAM_OVERLAY_PAUSE: - gConfigGeneral.steam_overlay_pause ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_SCALE_USE_NN_AT_INTEGER_SCALES_CHECKBOX: - gConfigGeneral.use_nn_at_integer_scales ^= 1; - config_save_default(); - gfx_invalidate_screen(); - context_trigger_resize(); - break; - } - break; + switch (w->page) { + case WINDOW_OPTIONS_PAGE_DISPLAY: + switch (widgetIndex) { + case WIDX_UNCAP_FPS_CHECKBOX: + gConfigGeneral.uncap_fps ^= 1; + drawing_engine_set_fps_uncapped(gConfigGeneral.uncap_fps); + config_save_default(); + window_invalidate(w); + break; + case WIDX_SHOW_FPS_CHECKBOX: + gConfigGeneral.show_fps ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_MINIMIZE_FOCUS_LOSS: + gConfigGeneral.minimize_fullscreen_focus_loss ^= 1; + platform_refresh_video(); + config_save_default(); + window_invalidate(w); + break; + case WIDX_STEAM_OVERLAY_PAUSE: + gConfigGeneral.steam_overlay_pause ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_SCALE_USE_NN_AT_INTEGER_SCALES_CHECKBOX: + gConfigGeneral.use_nn_at_integer_scales ^= 1; + config_save_default(); + gfx_invalidate_screen(); + context_trigger_resize(); + break; + } + break; - case WINDOW_OPTIONS_PAGE_RENDERING: - switch (widgetIndex) { - case WIDX_TILE_SMOOTHING_CHECKBOX: - gConfigGeneral.landscape_smoothing ^= 1; - config_save_default(); - gfx_invalidate_screen(); - break; - case WIDX_GRIDLINES_CHECKBOX: - gConfigGeneral.always_show_gridlines ^= 1; - config_save_default(); - gfx_invalidate_screen(); - if ((w = window_get_main()) != NULL) { - if (gConfigGeneral.always_show_gridlines) - w->viewport->flags |= VIEWPORT_FLAG_GRIDLINES; - else - w->viewport->flags &= ~VIEWPORT_FLAG_GRIDLINES; - } - break; - case WIDX_DAY_NIGHT_CHECKBOX: - gConfigGeneral.day_night_cycle ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_ENABLE_LIGHT_FX_CHECKBOX: - gConfigGeneral.enable_light_fx ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_UPPER_CASE_BANNERS_CHECKBOX: - gConfigGeneral.upper_case_banners ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX: - gConfigGeneral.disable_lightning_effect ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX: - gConfigGeneral.render_weather_effects ^= 1; - gConfigGeneral.render_weather_gloom = gConfigGeneral.render_weather_effects; - config_save_default(); - window_invalidate(w); - gfx_invalidate_screen(); - break; - case WIDX_SHOW_GUEST_PURCHASES_CHECKBOX: - gConfigGeneral.show_guest_purchases ^= 1; - config_save_default(); - window_invalidate(w); - break; - } - break; + case WINDOW_OPTIONS_PAGE_RENDERING: + switch (widgetIndex) { + case WIDX_TILE_SMOOTHING_CHECKBOX: + gConfigGeneral.landscape_smoothing ^= 1; + config_save_default(); + gfx_invalidate_screen(); + break; + case WIDX_GRIDLINES_CHECKBOX: + gConfigGeneral.always_show_gridlines ^= 1; + config_save_default(); + gfx_invalidate_screen(); + if ((w = window_get_main()) != NULL) { + if (gConfigGeneral.always_show_gridlines) + w->viewport->flags |= VIEWPORT_FLAG_GRIDLINES; + else + w->viewport->flags &= ~VIEWPORT_FLAG_GRIDLINES; + } + break; + case WIDX_DAY_NIGHT_CHECKBOX: + gConfigGeneral.day_night_cycle ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_ENABLE_LIGHT_FX_CHECKBOX: + gConfigGeneral.enable_light_fx ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_UPPER_CASE_BANNERS_CHECKBOX: + gConfigGeneral.upper_case_banners ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX: + gConfigGeneral.disable_lightning_effect ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX: + gConfigGeneral.render_weather_effects ^= 1; + gConfigGeneral.render_weather_gloom = gConfigGeneral.render_weather_effects; + config_save_default(); + window_invalidate(w); + gfx_invalidate_screen(); + break; + case WIDX_SHOW_GUEST_PURCHASES_CHECKBOX: + gConfigGeneral.show_guest_purchases ^= 1; + config_save_default(); + window_invalidate(w); + break; + } + break; - case WINDOW_OPTIONS_PAGE_CULTURE: - break; + case WINDOW_OPTIONS_PAGE_CULTURE: + break; - case WINDOW_OPTIONS_PAGE_AUDIO: - switch (widgetIndex) { - case WIDX_SOUND_CHECKBOX: - gConfigSound.sound_enabled = !gConfigSound.sound_enabled; - config_save_default(); - window_invalidate(w); - break; - case WIDX_MUSIC_CHECKBOX: - gConfigSound.ride_music_enabled = !gConfigSound.ride_music_enabled; - if (!gConfigSound.ride_music_enabled) { - audio_stop_ride_music(); - } - config_save_default(); - window_invalidate(w); - break; - case WIDX_AUDIO_FOCUS_CHECKBOX: - gConfigSound.audio_focus = !gConfigSound.audio_focus; - config_save_default(); - window_invalidate(w); - break; - } - break; + case WINDOW_OPTIONS_PAGE_AUDIO: + switch (widgetIndex) { + case WIDX_SOUND_CHECKBOX: + gConfigSound.sound_enabled = !gConfigSound.sound_enabled; + config_save_default(); + window_invalidate(w); + break; + case WIDX_MUSIC_CHECKBOX: + gConfigSound.ride_music_enabled = !gConfigSound.ride_music_enabled; + if (!gConfigSound.ride_music_enabled) { + audio_stop_ride_music(); + } + config_save_default(); + window_invalidate(w); + break; + case WIDX_AUDIO_FOCUS_CHECKBOX: + gConfigSound.audio_focus = !gConfigSound.audio_focus; + config_save_default(); + window_invalidate(w); + break; + } + break; - case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE: - switch (widgetIndex) { - case WIDX_HOTKEY_DROPDOWN: - window_shortcut_keys_open(); - break; - case WIDX_SCREEN_EDGE_SCROLLING: - gConfigGeneral.edge_scrolling ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_TRAP_CURSOR: - gConfigGeneral.trap_cursor ^= 1; - config_save_default(); - context_set_cursor_trap(gConfigGeneral.trap_cursor); - window_invalidate(w); - break; - case WIDX_ZOOM_TO_CURSOR: - gConfigGeneral.zoom_to_cursor ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_TOOLBAR_SHOW_FINANCES: - gConfigInterface.toolbar_show_finances ^= 1; - config_save_default(); - window_invalidate(w); - window_invalidate_by_class(WC_TOP_TOOLBAR); - break; - case WIDX_TOOLBAR_SHOW_RESEARCH: - gConfigInterface.toolbar_show_research ^= 1; - config_save_default(); - window_invalidate(w); - window_invalidate_by_class(WC_TOP_TOOLBAR); - break; - case WIDX_TOOLBAR_SHOW_CHEATS: - gConfigInterface.toolbar_show_cheats ^= 1; - config_save_default(); - window_invalidate(w); - window_invalidate_by_class(WC_TOP_TOOLBAR); - break; - case WIDX_TOOLBAR_SHOW_NEWS: - gConfigInterface.toolbar_show_news ^= 1; - config_save_default(); - window_invalidate(w); - window_invalidate_by_class(WC_TOP_TOOLBAR); - break; - case WIDX_TOOLBAR_SHOW_MUTE: - gConfigInterface.toolbar_show_mute ^= 1; - config_save_default(); - window_invalidate(w); - window_invalidate_by_class(WC_TOP_TOOLBAR); - break; - case WIDX_INVERT_DRAG: - gConfigGeneral.invert_viewport_drag ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_THEMES_BUTTON: - window_themes_open(); - window_invalidate(w); - break; - case WIDX_SELECT_BY_TRACK_TYPE: - gConfigInterface.select_by_track_type ^= 1; - config_save_default(); - window_invalidate(w); - window_invalidate_by_class(WC_RIDE); - window_invalidate_by_class(WC_CONSTRUCT_RIDE); - break; - case WIDX_SCENARIO_UNLOCKING: - gConfigGeneral.scenario_unlocking_enabled ^= 1; - config_save_default(); - window_close_by_class(WC_SCENARIO_SELECT); - break; - } - break; + case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE: + switch (widgetIndex) { + case WIDX_HOTKEY_DROPDOWN: + window_shortcut_keys_open(); + break; + case WIDX_SCREEN_EDGE_SCROLLING: + gConfigGeneral.edge_scrolling ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_TRAP_CURSOR: + gConfigGeneral.trap_cursor ^= 1; + config_save_default(); + context_set_cursor_trap(gConfigGeneral.trap_cursor); + window_invalidate(w); + break; + case WIDX_ZOOM_TO_CURSOR: + gConfigGeneral.zoom_to_cursor ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_TOOLBAR_SHOW_FINANCES: + gConfigInterface.toolbar_show_finances ^= 1; + config_save_default(); + window_invalidate(w); + window_invalidate_by_class(WC_TOP_TOOLBAR); + break; + case WIDX_TOOLBAR_SHOW_RESEARCH: + gConfigInterface.toolbar_show_research ^= 1; + config_save_default(); + window_invalidate(w); + window_invalidate_by_class(WC_TOP_TOOLBAR); + break; + case WIDX_TOOLBAR_SHOW_CHEATS: + gConfigInterface.toolbar_show_cheats ^= 1; + config_save_default(); + window_invalidate(w); + window_invalidate_by_class(WC_TOP_TOOLBAR); + break; + case WIDX_TOOLBAR_SHOW_NEWS: + gConfigInterface.toolbar_show_news ^= 1; + config_save_default(); + window_invalidate(w); + window_invalidate_by_class(WC_TOP_TOOLBAR); + break; + case WIDX_TOOLBAR_SHOW_MUTE: + gConfigInterface.toolbar_show_mute ^= 1; + config_save_default(); + window_invalidate(w); + window_invalidate_by_class(WC_TOP_TOOLBAR); + break; + case WIDX_INVERT_DRAG: + gConfigGeneral.invert_viewport_drag ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_THEMES_BUTTON: + window_themes_open(); + window_invalidate(w); + break; + case WIDX_SELECT_BY_TRACK_TYPE: + gConfigInterface.select_by_track_type ^= 1; + config_save_default(); + window_invalidate(w); + window_invalidate_by_class(WC_RIDE); + window_invalidate_by_class(WC_CONSTRUCT_RIDE); + break; + case WIDX_SCENARIO_UNLOCKING: + gConfigGeneral.scenario_unlocking_enabled ^= 1; + config_save_default(); + window_close_by_class(WC_SCENARIO_SELECT); + break; + } + break; - case WINDOW_OPTIONS_PAGE_MISC: - switch (widgetIndex) { - case WIDX_DEBUGGING_TOOLS: - gConfigGeneral.debugging_tools ^= 1; - config_save_default(); - gfx_invalidate_screen(); - break; - case WIDX_TEST_UNFINISHED_TRACKS: - gConfigGeneral.test_unfinished_tracks ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_REAL_NAME_CHECKBOX: - peep_update_names( - !(gParkFlags & PARK_FLAGS_SHOW_REAL_GUEST_NAMES) - ); - break; - case WIDX_SAVE_PLUGIN_DATA_CHECKBOX: - gConfigGeneral.save_plugin_data ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_AUTO_STAFF_PLACEMENT: - gConfigGeneral.auto_staff_placement ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_HANDYMEN_MOW_DEFAULT: - gConfigGeneral.handymen_mow_default = !gConfigGeneral.handymen_mow_default; - config_save_default(); - window_invalidate(w); - break; - case WIDX_TITLE_SEQUENCE_BUTTON: - window_title_editor_open(0); - break; - case WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM: - gConfigGeneral.allow_loading_with_incorrect_checksum = !gConfigGeneral.allow_loading_with_incorrect_checksum; - config_save_default(); - window_invalidate(w); - break; - case WIDX_STAY_CONNECTED_AFTER_DESYNC: - gConfigNetwork.stay_connected = !gConfigNetwork.stay_connected; - config_save_default(); - window_invalidate(w); - break; - case WIDX_AUTO_OPEN_SHOPS: - gConfigGeneral.auto_open_shops = !gConfigGeneral.auto_open_shops; - config_save_default(); - window_invalidate(w); - break; - case WIDX_PATH_TO_RCT1_BUTTON: - { - utf8string rct1path = platform_open_directory_browser(language_get_string(STR_PATH_TO_RCT1_BROWSER)); - if (rct1path) { - // Check if this directory actually contains RCT1 - // The sprite file can be called either csg1.1 or csg1.dat, so check for both names. - utf8 checkpath[MAX_PATH]; - safe_strcpy(checkpath, rct1path, MAX_PATH); - safe_strcat_path(checkpath, "Data", MAX_PATH); - safe_strcat_path(checkpath, "csg1.1", MAX_PATH); + case WINDOW_OPTIONS_PAGE_MISC: + switch (widgetIndex) { + case WIDX_DEBUGGING_TOOLS: + gConfigGeneral.debugging_tools ^= 1; + config_save_default(); + gfx_invalidate_screen(); + break; + case WIDX_TEST_UNFINISHED_TRACKS: + gConfigGeneral.test_unfinished_tracks ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_REAL_NAME_CHECKBOX: + peep_update_names( + !(gParkFlags & PARK_FLAGS_SHOW_REAL_GUEST_NAMES) + ); + break; + case WIDX_SAVE_PLUGIN_DATA_CHECKBOX: + gConfigGeneral.save_plugin_data ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_AUTO_STAFF_PLACEMENT: + gConfigGeneral.auto_staff_placement ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_HANDYMEN_MOW_DEFAULT: + gConfigGeneral.handymen_mow_default = !gConfigGeneral.handymen_mow_default; + config_save_default(); + window_invalidate(w); + break; + case WIDX_TITLE_SEQUENCE_BUTTON: + window_title_editor_open(0); + break; + case WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM: + gConfigGeneral.allow_loading_with_incorrect_checksum = !gConfigGeneral.allow_loading_with_incorrect_checksum; + config_save_default(); + window_invalidate(w); + break; + case WIDX_STAY_CONNECTED_AFTER_DESYNC: + gConfigNetwork.stay_connected = !gConfigNetwork.stay_connected; + config_save_default(); + window_invalidate(w); + break; + case WIDX_AUTO_OPEN_SHOPS: + gConfigGeneral.auto_open_shops = !gConfigGeneral.auto_open_shops; + config_save_default(); + window_invalidate(w); + break; + case WIDX_PATH_TO_RCT1_BUTTON: + { + utf8string rct1path = platform_open_directory_browser(language_get_string(STR_PATH_TO_RCT1_BROWSER)); + if (rct1path) { + // Check if this directory actually contains RCT1 + // The sprite file can be called either csg1.1 or csg1.dat, so check for both names. + utf8 checkpath[MAX_PATH]; + safe_strcpy(checkpath, rct1path, MAX_PATH); + safe_strcat_path(checkpath, "Data", MAX_PATH); + safe_strcat_path(checkpath, "csg1.1", MAX_PATH); - if (!platform_file_exists(checkpath)) { - safe_strcpy(checkpath, rct1path, MAX_PATH); - safe_strcat_path(checkpath, "Data", MAX_PATH); - safe_strcat_path(checkpath, "csg1.dat", MAX_PATH); - } + if (!platform_file_exists(checkpath)) { + safe_strcpy(checkpath, rct1path, MAX_PATH); + safe_strcat_path(checkpath, "Data", MAX_PATH); + safe_strcat_path(checkpath, "csg1.dat", MAX_PATH); + } - if (platform_file_exists(checkpath)) { - SafeFree(gConfigGeneral.rct1_path); - gConfigGeneral.rct1_path = rct1path; - config_save_default(); - window_error_open(STR_RESTART_REQUIRED, STR_NONE); - } else { - SafeFree(rct1path); - window_error_open(STR_PATH_TO_RCT1_WRONG_ERROR, STR_NONE); - } - } - window_invalidate(w); - break; - } - case WIDX_PATH_TO_RCT1_CLEAR: - if (!str_is_null_or_empty(gConfigGeneral.rct1_path)) { - SafeFree(gConfigGeneral.rct1_path); - config_save_default(); - } - window_invalidate(w); - break; - } - break; + if (platform_file_exists(checkpath)) { + SafeFree(gConfigGeneral.rct1_path); + gConfigGeneral.rct1_path = rct1path; + config_save_default(); + window_error_open(STR_RESTART_REQUIRED, STR_NONE); + } else { + SafeFree(rct1path); + window_error_open(STR_PATH_TO_RCT1_WRONG_ERROR, STR_NONE); + } + } + window_invalidate(w); + break; + } + case WIDX_PATH_TO_RCT1_CLEAR: + if (!str_is_null_or_empty(gConfigGeneral.rct1_path)) { + SafeFree(gConfigGeneral.rct1_path); + config_save_default(); + } + window_invalidate(w); + break; + } + break; - case WINDOW_OPTIONS_PAGE_TWITCH: - switch (widgetIndex) { - case WIDX_CHANNEL_BUTTON: - window_text_input_raw_open(w, widgetIndex, STR_TWITCH_NAME, STR_TWITCH_NAME_DESC, gConfigTwitch.channel, 32); - break; - case WIDX_FOLLOWER_PEEP_NAMES_CHECKBOX: - gConfigTwitch.enable_follower_peep_names ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_FOLLOWER_PEEP_TRACKING_CHECKBOX: - gConfigTwitch.enable_follower_peep_tracking ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_CHAT_PEEP_NAMES_CHECKBOX: - gConfigTwitch.enable_chat_peep_names ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_CHAT_PEEP_TRACKING_CHECKBOX: - gConfigTwitch.enable_chat_peep_tracking ^= 1; - config_save_default(); - window_invalidate(w); - break; - case WIDX_NEWS_CHECKBOX: - gConfigTwitch.enable_news ^= 1; - config_save_default(); - window_invalidate(w); - break; - } - break; - } + case WINDOW_OPTIONS_PAGE_TWITCH: + switch (widgetIndex) { + case WIDX_CHANNEL_BUTTON: + window_text_input_raw_open(w, widgetIndex, STR_TWITCH_NAME, STR_TWITCH_NAME_DESC, gConfigTwitch.channel, 32); + break; + case WIDX_FOLLOWER_PEEP_NAMES_CHECKBOX: + gConfigTwitch.enable_follower_peep_names ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_FOLLOWER_PEEP_TRACKING_CHECKBOX: + gConfigTwitch.enable_follower_peep_tracking ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_CHAT_PEEP_NAMES_CHECKBOX: + gConfigTwitch.enable_chat_peep_names ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_CHAT_PEEP_TRACKING_CHECKBOX: + gConfigTwitch.enable_chat_peep_tracking ^= 1; + config_save_default(); + window_invalidate(w); + break; + case WIDX_NEWS_CHECKBOX: + gConfigTwitch.enable_news ^= 1; + config_save_default(); + window_invalidate(w); + break; + } + break; + } } /** @@ -941,327 +941,327 @@ static void window_options_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ static void window_options_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - uint32 num_items; + uint32 num_items; - widget = &w->widgets[widgetIndex - 1]; + widget = &w->widgets[widgetIndex - 1]; - switch (w->page) { - case WINDOW_OPTIONS_PAGE_DISPLAY: - switch (widgetIndex) { - case WIDX_RESOLUTION_DROPDOWN: - { - _numResolutions = context_get_resolutions(&_resolutions); + switch (w->page) { + case WINDOW_OPTIONS_PAGE_DISPLAY: + switch (widgetIndex) { + case WIDX_RESOLUTION_DROPDOWN: + { + _numResolutions = context_get_resolutions(&_resolutions); - sint32 selectedResolution = -1; - for (sint32 i = 0; i < _numResolutions; i++) { + sint32 selectedResolution = -1; + for (sint32 i = 0; i < _numResolutions; i++) { struct Resolution *resolution = &_resolutions[i]; - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - uint16 *args = (uint16*)&gDropdownItemsArgs[i]; - args[0] = STR_RESOLUTION_X_BY_Y; - args[1] = resolution->Width; - args[2] = resolution->Height; + uint16 *args = (uint16*)&gDropdownItemsArgs[i]; + args[0] = STR_RESOLUTION_X_BY_Y; + args[1] = resolution->Width; + args[2] = resolution->Height; - if (resolution->Width == gConfigGeneral.fullscreen_width && resolution->Height == gConfigGeneral.fullscreen_height) - selectedResolution = i; - } + if (resolution->Width == gConfigGeneral.fullscreen_width && resolution->Height == gConfigGeneral.fullscreen_height) + selectedResolution = i; + } - window_options_show_dropdown(w, widget, _numResolutions); + window_options_show_dropdown(w, widget, _numResolutions); - if (selectedResolution != -1 && selectedResolution < 32) { - dropdown_set_checked(selectedResolution, true); - } - } + if (selectedResolution != -1 && selectedResolution < 32) { + dropdown_set_checked(selectedResolution, true); + } + } - break; - case WIDX_FULLSCREEN_DROPDOWN: - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsFormat[2] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_OPTIONS_DISPLAY_WINDOWED; - gDropdownItemsArgs[1] = STR_OPTIONS_DISPLAY_FULLSCREEN; - gDropdownItemsArgs[2] = STR_OPTIONS_DISPLAY_FULLSCREEN_BORDERLESS; + break; + case WIDX_FULLSCREEN_DROPDOWN: + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[2] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_OPTIONS_DISPLAY_WINDOWED; + gDropdownItemsArgs[1] = STR_OPTIONS_DISPLAY_FULLSCREEN; + gDropdownItemsArgs[2] = STR_OPTIONS_DISPLAY_FULLSCREEN_BORDERLESS; - window_options_show_dropdown(w, widget, 3); + window_options_show_dropdown(w, widget, 3); - dropdown_set_checked(gConfigGeneral.fullscreen_mode, true); - break; - case WIDX_DRAWING_ENGINE_DROPDOWN: - { - sint32 numItems = 3; + dropdown_set_checked(gConfigGeneral.fullscreen_mode, true); + break; + case WIDX_DRAWING_ENGINE_DROPDOWN: + { + sint32 numItems = 3; #ifdef DISABLE_OPENGL - numItems = 2; + numItems = 2; #endif - for (sint32 i = 0; i < numItems; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = DrawingEngineStringIds[i]; - } - window_options_show_dropdown(w, widget, numItems); - dropdown_set_checked(gConfigGeneral.drawing_engine, true); - break; - } - case WIDX_SCALE_UP: - gConfigGeneral.window_scale += 0.25f; - config_save_default(); - gfx_invalidate_screen(); - context_trigger_resize(); - break; - case WIDX_SCALE_DOWN: - gConfigGeneral.window_scale -= 0.25f; - gConfigGeneral.window_scale = max(0.5f, gConfigGeneral.window_scale); - config_save_default(); - gfx_invalidate_screen(); - context_trigger_resize(); - break; - case WIDX_SCALE_QUALITY_DROPDOWN: - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsFormat[2] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_SCALING_QUALITY_NN; - gDropdownItemsArgs[1] = STR_SCALING_QUALITY_LINEAR; - gDropdownItemsArgs[2] = STR_SCALING_QUALITY_ANISOTROPIC; + for (sint32 i = 0; i < numItems; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = DrawingEngineStringIds[i]; + } + window_options_show_dropdown(w, widget, numItems); + dropdown_set_checked(gConfigGeneral.drawing_engine, true); + break; + } + case WIDX_SCALE_UP: + gConfigGeneral.window_scale += 0.25f; + config_save_default(); + gfx_invalidate_screen(); + context_trigger_resize(); + break; + case WIDX_SCALE_DOWN: + gConfigGeneral.window_scale -= 0.25f; + gConfigGeneral.window_scale = max(0.5f, gConfigGeneral.window_scale); + config_save_default(); + gfx_invalidate_screen(); + context_trigger_resize(); + break; + case WIDX_SCALE_QUALITY_DROPDOWN: + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[2] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_SCALING_QUALITY_NN; + gDropdownItemsArgs[1] = STR_SCALING_QUALITY_LINEAR; + gDropdownItemsArgs[2] = STR_SCALING_QUALITY_ANISOTROPIC; - window_options_show_dropdown(w, widget, 3); + window_options_show_dropdown(w, widget, 3); - dropdown_set_checked(gConfigGeneral.scale_quality, true); - break; - } - break; + dropdown_set_checked(gConfigGeneral.scale_quality, true); + break; + } + break; - case WINDOW_OPTIONS_PAGE_RENDERING: - switch (widgetIndex) { - case WIDX_CONSTRUCTION_MARKER_DROPDOWN: - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_CONSTRUCTION_MARKER_COLOUR_WHITE; - gDropdownItemsArgs[1] = STR_CONSTRUCTION_MARKER_COLOUR_TRANSLUCENT; + case WINDOW_OPTIONS_PAGE_RENDERING: + switch (widgetIndex) { + case WIDX_CONSTRUCTION_MARKER_DROPDOWN: + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_CONSTRUCTION_MARKER_COLOUR_WHITE; + gDropdownItemsArgs[1] = STR_CONSTRUCTION_MARKER_COLOUR_TRANSLUCENT; - window_options_show_dropdown(w, widget, 2); + window_options_show_dropdown(w, widget, 2); - dropdown_set_checked(gConfigGeneral.construction_marker_colour, true); - break; - } - break; + dropdown_set_checked(gConfigGeneral.construction_marker_colour, true); + break; + } + break; - case WINDOW_OPTIONS_PAGE_CULTURE: - switch (widgetIndex) { - case WIDX_HEIGHT_LABELS_DROPDOWN: - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_UNITS; - gDropdownItemsArgs[1] = STR_REAL_VALUES; + case WINDOW_OPTIONS_PAGE_CULTURE: + switch (widgetIndex) { + case WIDX_HEIGHT_LABELS_DROPDOWN: + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_UNITS; + gDropdownItemsArgs[1] = STR_REAL_VALUES; - window_options_show_dropdown(w, widget, 2); + window_options_show_dropdown(w, widget, 2); - dropdown_set_checked(gConfigGeneral.show_height_as_units ? 0 : 1, true); - break; - case WIDX_CURRENCY_DROPDOWN: - num_items = CURRENCY_END + 1; // All the currencies plus the separator - size_t num_ordinary_currencies = CURRENCY_END - 1; // All the currencies except custom currency + dropdown_set_checked(gConfigGeneral.show_height_as_units ? 0 : 1, true); + break; + case WIDX_CURRENCY_DROPDOWN: + num_items = CURRENCY_END + 1; // All the currencies plus the separator + size_t num_ordinary_currencies = CURRENCY_END - 1; // All the currencies except custom currency - for (size_t i = 0; i < num_ordinary_currencies; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = CurrencyDescriptors[i].stringId; - } + for (size_t i = 0; i < num_ordinary_currencies; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = CurrencyDescriptors[i].stringId; + } - gDropdownItemsFormat[num_ordinary_currencies] = DROPDOWN_SEPARATOR; + gDropdownItemsFormat[num_ordinary_currencies] = DROPDOWN_SEPARATOR; - gDropdownItemsFormat[num_ordinary_currencies + 1] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[num_ordinary_currencies + 1] = CurrencyDescriptors[CURRENCY_CUSTOM].stringId; + gDropdownItemsFormat[num_ordinary_currencies + 1] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[num_ordinary_currencies + 1] = CurrencyDescriptors[CURRENCY_CUSTOM].stringId; - window_options_show_dropdown(w, widget, num_items); + window_options_show_dropdown(w, widget, num_items); - if(gConfigGeneral.currency_format == CURRENCY_CUSTOM){ - dropdown_set_checked(gConfigGeneral.currency_format + 1, true); - } else { - dropdown_set_checked(gConfigGeneral.currency_format, true); - } - break; - case WIDX_DISTANCE_DROPDOWN: - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsFormat[2] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_IMPERIAL; - gDropdownItemsArgs[1] = STR_METRIC; - gDropdownItemsArgs[2] = STR_SI; + if(gConfigGeneral.currency_format == CURRENCY_CUSTOM){ + dropdown_set_checked(gConfigGeneral.currency_format + 1, true); + } else { + dropdown_set_checked(gConfigGeneral.currency_format, true); + } + break; + case WIDX_DISTANCE_DROPDOWN: + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[2] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_IMPERIAL; + gDropdownItemsArgs[1] = STR_METRIC; + gDropdownItemsArgs[2] = STR_SI; - window_options_show_dropdown(w, widget, 3); + window_options_show_dropdown(w, widget, 3); - dropdown_set_checked(gConfigGeneral.measurement_format, true); - break; - case WIDX_TEMPERATURE_DROPDOWN: - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_CELSIUS; - gDropdownItemsArgs[1] = STR_FAHRENHEIT; + dropdown_set_checked(gConfigGeneral.measurement_format, true); + break; + case WIDX_TEMPERATURE_DROPDOWN: + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_CELSIUS; + gDropdownItemsArgs[1] = STR_FAHRENHEIT; - window_options_show_dropdown(w, widget, 2); + window_options_show_dropdown(w, widget, 2); - dropdown_set_checked(gConfigGeneral.temperature_format, true); - break; - case WIDX_LANGUAGE_DROPDOWN: - for (size_t i = 1; i < LANGUAGE_COUNT; i++) { - gDropdownItemsFormat[i - 1] = STR_OPTIONS_DROPDOWN_ITEM; - gDropdownItemsArgs[i - 1] = (uintptr_t)LanguagesDescriptors[i].native_name; - } - window_options_show_dropdown(w, widget, LANGUAGE_COUNT - 1); - dropdown_set_checked(gCurrentLanguage - 1, true); - break; - case WIDX_DATE_FORMAT_DROPDOWN: - for (size_t i = 0; i < 4; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = DateFormatStringIds[i]; - } - window_options_show_dropdown(w, widget, 4); - dropdown_set_checked(gConfigGeneral.date_format, true); - break; - } - break; + dropdown_set_checked(gConfigGeneral.temperature_format, true); + break; + case WIDX_LANGUAGE_DROPDOWN: + for (size_t i = 1; i < LANGUAGE_COUNT; i++) { + gDropdownItemsFormat[i - 1] = STR_OPTIONS_DROPDOWN_ITEM; + gDropdownItemsArgs[i - 1] = (uintptr_t)LanguagesDescriptors[i].native_name; + } + window_options_show_dropdown(w, widget, LANGUAGE_COUNT - 1); + dropdown_set_checked(gCurrentLanguage - 1, true); + break; + case WIDX_DATE_FORMAT_DROPDOWN: + for (size_t i = 0; i < 4; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = DateFormatStringIds[i]; + } + window_options_show_dropdown(w, widget, 4); + dropdown_set_checked(gConfigGeneral.date_format, true); + break; + } + break; - case WINDOW_OPTIONS_PAGE_AUDIO: - switch (widgetIndex) { - case WIDX_SOUND_DROPDOWN: - audio_populate_devices(); + case WINDOW_OPTIONS_PAGE_AUDIO: + switch (widgetIndex) { + case WIDX_SOUND_DROPDOWN: + audio_populate_devices(); - // populate the list with the sound devices - for (size_t i = 0; (sint32)i < gAudioDeviceCount; i++) { - gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; - gDropdownItemsArgs[i] = (uintptr_t)gAudioDevices[i].name; - } + // populate the list with the sound devices + for (size_t i = 0; (sint32)i < gAudioDeviceCount; i++) { + gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; + gDropdownItemsArgs[i] = (uintptr_t)gAudioDevices[i].name; + } - window_options_show_dropdown(w, widget, gAudioDeviceCount); + window_options_show_dropdown(w, widget, gAudioDeviceCount); - dropdown_set_checked(gAudioCurrentDevice, true); - break; - case WIDX_TITLE_MUSIC_DROPDOWN: - num_items = 4; + dropdown_set_checked(gAudioCurrentDevice, true); + break; + case WIDX_TITLE_MUSIC_DROPDOWN: + num_items = 4; - for (size_t i = 0; i < num_items ; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = window_options_title_music_names[i]; - } + for (size_t i = 0; i < num_items ; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = window_options_title_music_names[i]; + } - window_options_show_dropdown(w, widget, num_items); + window_options_show_dropdown(w, widget, num_items); - dropdown_set_checked(gConfigSound.title_music, true); - break; - } - break; + dropdown_set_checked(gConfigSound.title_music, true); + break; + } + break; - case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE: - switch (widgetIndex) { - case WIDX_THEMES_DROPDOWN: - num_items = (uint32)theme_manager_get_num_available_themes(); + case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE: + switch (widgetIndex) { + case WIDX_THEMES_DROPDOWN: + num_items = (uint32)theme_manager_get_num_available_themes(); - for (size_t i = 0; i < num_items; i++) { - gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; - gDropdownItemsArgs[i] = (uintptr_t)theme_manager_get_available_theme_name(i); - } + for (size_t i = 0; i < num_items; i++) { + gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; + gDropdownItemsArgs[i] = (uintptr_t)theme_manager_get_available_theme_name(i); + } - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - num_items, - widget->right - widget->left - 3 - ); + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + num_items, + widget->right - widget->left - 3 + ); - dropdown_set_checked((sint32)theme_manager_get_active_available_theme_index(), true); - widget_invalidate(w, WIDX_THEMES_DROPDOWN); - break; + dropdown_set_checked((sint32)theme_manager_get_active_available_theme_index(), true); + widget_invalidate(w, WIDX_THEMES_DROPDOWN); + break; - case WIDX_SCENARIO_GROUPING_DROPDOWN: - num_items = 2; + case WIDX_SCENARIO_GROUPING_DROPDOWN: + num_items = 2; - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_OPTIONS_SCENARIO_DIFFICULTY; - gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[1] = STR_OPTIONS_SCENARIO_ORIGIN; + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_OPTIONS_SCENARIO_DIFFICULTY; + gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[1] = STR_OPTIONS_SCENARIO_ORIGIN; - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - num_items, - widget->right - widget->left - 3 - ); + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + num_items, + widget->right - widget->left - 3 + ); - dropdown_set_checked(gConfigGeneral.scenario_select_mode, true); - break; - } - break; + dropdown_set_checked(gConfigGeneral.scenario_select_mode, true); + break; + } + break; - case WINDOW_OPTIONS_PAGE_MISC: - switch (widgetIndex) { - case WIDX_AUTOSAVE_DROPDOWN: - for (size_t i = AUTOSAVE_EVERY_MINUTE; i <= AUTOSAVE_NEVER; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = window_options_autosave_names[i]; - } + case WINDOW_OPTIONS_PAGE_MISC: + switch (widgetIndex) { + case WIDX_AUTOSAVE_DROPDOWN: + for (size_t i = AUTOSAVE_EVERY_MINUTE; i <= AUTOSAVE_NEVER; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = window_options_autosave_names[i]; + } - window_options_show_dropdown(w, widget, AUTOSAVE_NEVER + 1); - dropdown_set_checked(gConfigGeneral.autosave_frequency, true); - break; - case WIDX_TITLE_SEQUENCE_DROPDOWN: - num_items = (sint32)title_sequence_manager_get_count(); - for (size_t i = 0; i < num_items; i++) { - gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; - gDropdownItemsArgs[i] = (uintptr_t)title_sequence_manager_get_name(i); - } + window_options_show_dropdown(w, widget, AUTOSAVE_NEVER + 1); + dropdown_set_checked(gConfigGeneral.autosave_frequency, true); + break; + case WIDX_TITLE_SEQUENCE_DROPDOWN: + num_items = (sint32)title_sequence_manager_get_count(); + for (size_t i = 0; i < num_items; i++) { + gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; + gDropdownItemsArgs[i] = (uintptr_t)title_sequence_manager_get_name(i); + } - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - DROPDOWN_FLAG_STAY_OPEN, - num_items - ); + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + DROPDOWN_FLAG_STAY_OPEN, + num_items + ); - dropdown_set_checked(gTitleCurrentSequence, true); - break; - case WIDX_DEFAULT_INSPECTION_INTERVAL_DROPDOWN: - for (size_t i = 0; i < 7; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = RideInspectionIntervalNames[i]; - } + dropdown_set_checked(gTitleCurrentSequence, true); + break; + case WIDX_DEFAULT_INSPECTION_INTERVAL_DROPDOWN: + for (size_t i = 0; i < 7; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = RideInspectionIntervalNames[i]; + } - window_options_show_dropdown(w, widget, 7); - dropdown_set_checked(gConfigGeneral.default_inspection_interval, true); - break; - case WIDX_WINDOW_LIMIT_UP: - { - sint32 i = gConfigGeneral.window_limit; - if (i < WINDOW_LIMIT_MAX) { - window_set_window_limit(++i); - } - window_invalidate(w); - break; - } - case WIDX_WINDOW_LIMIT_DOWN: - { - sint32 i = gConfigGeneral.window_limit; - if (i > WINDOW_LIMIT_MIN) { - window_set_window_limit(--i); - } - window_invalidate(w); - break; - } - } - break; + window_options_show_dropdown(w, widget, 7); + dropdown_set_checked(gConfigGeneral.default_inspection_interval, true); + break; + case WIDX_WINDOW_LIMIT_UP: + { + sint32 i = gConfigGeneral.window_limit; + if (i < WINDOW_LIMIT_MAX) { + window_set_window_limit(++i); + } + window_invalidate(w); + break; + } + case WIDX_WINDOW_LIMIT_DOWN: + { + sint32 i = gConfigGeneral.window_limit; + if (i > WINDOW_LIMIT_MIN) { + window_set_window_limit(--i); + } + window_invalidate(w); + break; + } + } + break; - case WINDOW_OPTIONS_PAGE_TWITCH: - break; - } + case WINDOW_OPTIONS_PAGE_TWITCH: + break; + } } /** @@ -1270,227 +1270,227 @@ static void window_options_mousedown(rct_widgetindex widgetIndex, rct_window*w, */ static void window_options_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (dropdownIndex == -1) - return; + if (dropdownIndex == -1) + return; - switch (w->page) { - case WINDOW_OPTIONS_PAGE_DISPLAY: - switch (widgetIndex) { - case WIDX_RESOLUTION_DROPDOWN: - { - struct Resolution *resolution = &_resolutions[dropdownIndex]; - if (resolution->Width != gConfigGeneral.fullscreen_width || resolution->Height != gConfigGeneral.fullscreen_height) { - gConfigGeneral.fullscreen_width = resolution->Width; - gConfigGeneral.fullscreen_height = resolution->Height; + switch (w->page) { + case WINDOW_OPTIONS_PAGE_DISPLAY: + switch (widgetIndex) { + case WIDX_RESOLUTION_DROPDOWN: + { + struct Resolution *resolution = &_resolutions[dropdownIndex]; + if (resolution->Width != gConfigGeneral.fullscreen_width || resolution->Height != gConfigGeneral.fullscreen_height) { + gConfigGeneral.fullscreen_width = resolution->Width; + gConfigGeneral.fullscreen_height = resolution->Height; - if (gConfigGeneral.fullscreen_mode == SDL_WINDOW_FULLSCREEN) - context_set_fullscreen_mode(SDL_WINDOW_FULLSCREEN); + if (gConfigGeneral.fullscreen_mode == SDL_WINDOW_FULLSCREEN) + context_set_fullscreen_mode(SDL_WINDOW_FULLSCREEN); - config_save_default(); - gfx_invalidate_screen(); - } - } - break; - case WIDX_FULLSCREEN_DROPDOWN: - if (dropdownIndex != gConfigGeneral.fullscreen_mode){ - context_set_fullscreen_mode(dropdownIndex); + config_save_default(); + gfx_invalidate_screen(); + } + } + break; + case WIDX_FULLSCREEN_DROPDOWN: + if (dropdownIndex != gConfigGeneral.fullscreen_mode){ + context_set_fullscreen_mode(dropdownIndex); - gConfigGeneral.fullscreen_mode = (uint8)dropdownIndex; - config_save_default(); - gfx_invalidate_screen(); - } - break; - case WIDX_DRAWING_ENGINE_DROPDOWN: - if (dropdownIndex != gConfigGeneral.drawing_engine) { - sint32 srcEngine = drawing_engine_get_type(); - sint32 dstEngine = dropdownIndex; + gConfigGeneral.fullscreen_mode = (uint8)dropdownIndex; + config_save_default(); + gfx_invalidate_screen(); + } + break; + case WIDX_DRAWING_ENGINE_DROPDOWN: + if (dropdownIndex != gConfigGeneral.drawing_engine) { + sint32 srcEngine = drawing_engine_get_type(); + sint32 dstEngine = dropdownIndex; - gConfigGeneral.drawing_engine = (uint8)dstEngine; - if (drawing_engine_requires_restart(srcEngine, dstEngine)) { - window_error_open(STR_RESTART_REQUIRED, STR_NONE); - } else { - platform_refresh_video(); - } - config_save_default(); - window_invalidate(w); - } - break; - case WIDX_SCALE_QUALITY_DROPDOWN: - if (dropdownIndex != gConfigGeneral.scale_quality) { - gConfigGeneral.scale_quality = (uint8)dropdownIndex; - config_save_default(); - gfx_invalidate_screen(); - context_trigger_resize(); - } - break; - } - break; + gConfigGeneral.drawing_engine = (uint8)dstEngine; + if (drawing_engine_requires_restart(srcEngine, dstEngine)) { + window_error_open(STR_RESTART_REQUIRED, STR_NONE); + } else { + platform_refresh_video(); + } + config_save_default(); + window_invalidate(w); + } + break; + case WIDX_SCALE_QUALITY_DROPDOWN: + if (dropdownIndex != gConfigGeneral.scale_quality) { + gConfigGeneral.scale_quality = (uint8)dropdownIndex; + config_save_default(); + gfx_invalidate_screen(); + context_trigger_resize(); + } + break; + } + break; - case WINDOW_OPTIONS_PAGE_RENDERING: - switch (widgetIndex) { - case WIDX_CONSTRUCTION_MARKER_DROPDOWN: - if (dropdownIndex != gConfigGeneral.construction_marker_colour) { - gConfigGeneral.construction_marker_colour = (uint8)dropdownIndex; - config_save_default(); - gfx_invalidate_screen(); - } - break; - } - break; + case WINDOW_OPTIONS_PAGE_RENDERING: + switch (widgetIndex) { + case WIDX_CONSTRUCTION_MARKER_DROPDOWN: + if (dropdownIndex != gConfigGeneral.construction_marker_colour) { + gConfigGeneral.construction_marker_colour = (uint8)dropdownIndex; + config_save_default(); + gfx_invalidate_screen(); + } + break; + } + break; - case WINDOW_OPTIONS_PAGE_CULTURE: - switch (widgetIndex) { - case WIDX_HEIGHT_LABELS_DROPDOWN: - // reset flag and set it to 1 if height as units is selected - gConfigGeneral.show_height_as_units = 0; + case WINDOW_OPTIONS_PAGE_CULTURE: + switch (widgetIndex) { + case WIDX_HEIGHT_LABELS_DROPDOWN: + // reset flag and set it to 1 if height as units is selected + gConfigGeneral.show_height_as_units = 0; - if (dropdownIndex == 0) { - gConfigGeneral.show_height_as_units = 1; - } - config_save_default(); - window_options_update_height_markers(); - break; - case WIDX_CURRENCY_DROPDOWN: - if(dropdownIndex == CURRENCY_CUSTOM + 1) { // Add 1 because the separator occupies a position - gConfigGeneral.currency_format = (sint8)dropdownIndex - 1; - custom_currency_window_open(); - } else { - gConfigGeneral.currency_format = (sint8)dropdownIndex; - } - config_save_default(); - gfx_invalidate_screen(); - break; - case WIDX_DISTANCE_DROPDOWN: - gConfigGeneral.measurement_format = (sint8)dropdownIndex; - config_save_default(); - window_options_update_height_markers(); - break; - case WIDX_TEMPERATURE_DROPDOWN: - if (dropdownIndex != gConfigGeneral.temperature_format) { - gConfigGeneral.temperature_format = (sint8)dropdownIndex; - config_save_default(); - gfx_invalidate_screen(); - } - break; - case WIDX_LANGUAGE_DROPDOWN: - { - sint32 fallbackLanguage = gCurrentLanguage; - if (dropdownIndex != gCurrentLanguage - 1) { - if (!language_open(dropdownIndex + 1)) - { - // Failed to open language file, try to recover by falling - // back to previously used language - if (language_open(fallbackLanguage)) - { - // It worked, so we can say it with error message in-game - window_error_open(STR_LANGUAGE_LOAD_FAILED, STR_NONE); - } - // report error to console regardless - log_error("Failed to open language file."); - dropdownIndex = fallbackLanguage - 1; - } else { - gConfigGeneral.language = dropdownIndex + 1; - config_save_default(); - gfx_invalidate_screen(); - } - } - } - break; - case WIDX_DATE_FORMAT_DROPDOWN: - if (dropdownIndex != gConfigGeneral.date_format) { - gConfigGeneral.date_format = (uint8)dropdownIndex; - config_save_default(); - gfx_invalidate_screen(); - } - break; - } - break; + if (dropdownIndex == 0) { + gConfigGeneral.show_height_as_units = 1; + } + config_save_default(); + window_options_update_height_markers(); + break; + case WIDX_CURRENCY_DROPDOWN: + if(dropdownIndex == CURRENCY_CUSTOM + 1) { // Add 1 because the separator occupies a position + gConfigGeneral.currency_format = (sint8)dropdownIndex - 1; + custom_currency_window_open(); + } else { + gConfigGeneral.currency_format = (sint8)dropdownIndex; + } + config_save_default(); + gfx_invalidate_screen(); + break; + case WIDX_DISTANCE_DROPDOWN: + gConfigGeneral.measurement_format = (sint8)dropdownIndex; + config_save_default(); + window_options_update_height_markers(); + break; + case WIDX_TEMPERATURE_DROPDOWN: + if (dropdownIndex != gConfigGeneral.temperature_format) { + gConfigGeneral.temperature_format = (sint8)dropdownIndex; + config_save_default(); + gfx_invalidate_screen(); + } + break; + case WIDX_LANGUAGE_DROPDOWN: + { + sint32 fallbackLanguage = gCurrentLanguage; + if (dropdownIndex != gCurrentLanguage - 1) { + if (!language_open(dropdownIndex + 1)) + { + // Failed to open language file, try to recover by falling + // back to previously used language + if (language_open(fallbackLanguage)) + { + // It worked, so we can say it with error message in-game + window_error_open(STR_LANGUAGE_LOAD_FAILED, STR_NONE); + } + // report error to console regardless + log_error("Failed to open language file."); + dropdownIndex = fallbackLanguage - 1; + } else { + gConfigGeneral.language = dropdownIndex + 1; + config_save_default(); + gfx_invalidate_screen(); + } + } + } + break; + case WIDX_DATE_FORMAT_DROPDOWN: + if (dropdownIndex != gConfigGeneral.date_format) { + gConfigGeneral.date_format = (uint8)dropdownIndex; + config_save_default(); + gfx_invalidate_screen(); + } + break; + } + break; - case WINDOW_OPTIONS_PAGE_AUDIO: - switch (widgetIndex) { - case WIDX_SOUND_DROPDOWN: - audio_init_ride_sounds(dropdownIndex); - if (dropdownIndex < gAudioDeviceCount) { - if (dropdownIndex == 0) { - Mixer_Init(NULL); - gConfigSound.device = NULL; - } - else { - char* devicename = gAudioDevices[dropdownIndex].name; - Mixer_Init(devicename); - SafeFree(gConfigSound.device); - gConfigSound.device = strndup(devicename, AUDIO_DEVICE_NAME_SIZE); - } - config_save_default(); - audio_start_title_music(); - } - window_invalidate(w); - break; - case WIDX_TITLE_MUSIC_DROPDOWN: - if ((dropdownIndex == 1 || dropdownIndex == 3) && !platform_file_exists(get_file_path(PATH_ID_CSS50))) { - window_error_open(STR_OPTIONS_MUSIC_ERR_CSS50_NOT_FOUND, STR_OPTIONS_MUSIC_ERR_CSS50_NOT_FOUND_HINT); - } - else { - gConfigSound.title_music = (sint8)dropdownIndex; - config_save_default(); - window_invalidate(w); - } + case WINDOW_OPTIONS_PAGE_AUDIO: + switch (widgetIndex) { + case WIDX_SOUND_DROPDOWN: + audio_init_ride_sounds(dropdownIndex); + if (dropdownIndex < gAudioDeviceCount) { + if (dropdownIndex == 0) { + Mixer_Init(NULL); + gConfigSound.device = NULL; + } + else { + char* devicename = gAudioDevices[dropdownIndex].name; + Mixer_Init(devicename); + SafeFree(gConfigSound.device); + gConfigSound.device = strndup(devicename, AUDIO_DEVICE_NAME_SIZE); + } + config_save_default(); + audio_start_title_music(); + } + window_invalidate(w); + break; + case WIDX_TITLE_MUSIC_DROPDOWN: + if ((dropdownIndex == 1 || dropdownIndex == 3) && !platform_file_exists(get_file_path(PATH_ID_CSS50))) { + window_error_open(STR_OPTIONS_MUSIC_ERR_CSS50_NOT_FOUND, STR_OPTIONS_MUSIC_ERR_CSS50_NOT_FOUND_HINT); + } + else { + gConfigSound.title_music = (sint8)dropdownIndex; + config_save_default(); + window_invalidate(w); + } - audio_stop_title_music(); - if (dropdownIndex != 0) - audio_start_title_music(); - break; - } - break; + audio_stop_title_music(); + if (dropdownIndex != 0) + audio_start_title_music(); + break; + } + break; - case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE: - switch (widgetIndex) { - case WIDX_THEMES_DROPDOWN: - if (dropdownIndex != -1) { - theme_manager_set_active_available_theme(dropdownIndex); - } - config_save_default(); - break; - case WIDX_SCENARIO_GROUPING_DROPDOWN: - if (dropdownIndex != gConfigGeneral.scenario_select_mode) { - gConfigGeneral.scenario_select_mode = dropdownIndex; - config_save_default(); - window_invalidate(w); - window_close_by_class(WC_SCENARIO_SELECT); - } - break; - } - break; + case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE: + switch (widgetIndex) { + case WIDX_THEMES_DROPDOWN: + if (dropdownIndex != -1) { + theme_manager_set_active_available_theme(dropdownIndex); + } + config_save_default(); + break; + case WIDX_SCENARIO_GROUPING_DROPDOWN: + if (dropdownIndex != gConfigGeneral.scenario_select_mode) { + gConfigGeneral.scenario_select_mode = dropdownIndex; + config_save_default(); + window_invalidate(w); + window_close_by_class(WC_SCENARIO_SELECT); + } + break; + } + break; - case WINDOW_OPTIONS_PAGE_MISC: - switch (widgetIndex) { - case WIDX_AUTOSAVE_DROPDOWN: - if (dropdownIndex != gConfigGeneral.autosave_frequency) { - gConfigGeneral.autosave_frequency = (uint8)dropdownIndex; - config_save_default(); - window_invalidate(w); - } - break; - case WIDX_TITLE_SEQUENCE_DROPDOWN: - if (dropdownIndex != gTitleCurrentSequence) { - title_sequence_change_preset(dropdownIndex); - config_save_default(); - window_invalidate(w); - } - break; - case WIDX_DEFAULT_INSPECTION_INTERVAL_DROPDOWN: - if (dropdownIndex != gConfigGeneral.default_inspection_interval) { - gConfigGeneral.default_inspection_interval = (uint8)dropdownIndex; - config_save_default(); - window_invalidate(w); - } - break; - } - break; + case WINDOW_OPTIONS_PAGE_MISC: + switch (widgetIndex) { + case WIDX_AUTOSAVE_DROPDOWN: + if (dropdownIndex != gConfigGeneral.autosave_frequency) { + gConfigGeneral.autosave_frequency = (uint8)dropdownIndex; + config_save_default(); + window_invalidate(w); + } + break; + case WIDX_TITLE_SEQUENCE_DROPDOWN: + if (dropdownIndex != gTitleCurrentSequence) { + title_sequence_change_preset(dropdownIndex); + config_save_default(); + window_invalidate(w); + } + break; + case WIDX_DEFAULT_INSPECTION_INTERVAL_DROPDOWN: + if (dropdownIndex != gConfigGeneral.default_inspection_interval) { + gConfigGeneral.default_inspection_interval = (uint8)dropdownIndex; + config_save_default(); + window_invalidate(w); + } + break; + } + break; - case WINDOW_OPTIONS_PAGE_TWITCH: - break; - } + case WINDOW_OPTIONS_PAGE_TWITCH: + break; + } } /** @@ -1499,304 +1499,304 @@ static void window_options_dropdown(rct_window *w, rct_widgetindex widgetIndex, */ static void window_options_invalidate(rct_window *w) { - rct_widget* widget; + rct_widget* widget; - if (window_options_page_widgets[w->page] != w->widgets) { - w->widgets = window_options_page_widgets[w->page]; - window_init_scroll_widgets(w); - } - window_options_set_pressed_tab(w); + if (window_options_page_widgets[w->page] != w->widgets) { + w->widgets = window_options_page_widgets[w->page]; + window_init_scroll_widgets(w); + } + window_options_set_pressed_tab(w); #ifdef DISABLE_TWITCH - w->disabled_widgets = (1 << WIDX_TAB_7); + w->disabled_widgets = (1 << WIDX_TAB_7); #else - w->disabled_widgets = 0; + w->disabled_widgets = 0; #endif - switch (w->page) { - case WINDOW_OPTIONS_PAGE_DISPLAY: - set_format_arg(16, uint16, (uint16)gConfigGeneral.fullscreen_width); - set_format_arg(18, uint16, (uint16)gConfigGeneral.fullscreen_height); - set_format_arg(12, rct_string_id, window_options_fullscreen_mode_names[gConfigGeneral.fullscreen_mode]); + switch (w->page) { + case WINDOW_OPTIONS_PAGE_DISPLAY: + set_format_arg(16, uint16, (uint16)gConfigGeneral.fullscreen_width); + set_format_arg(18, uint16, (uint16)gConfigGeneral.fullscreen_height); + set_format_arg(12, rct_string_id, window_options_fullscreen_mode_names[gConfigGeneral.fullscreen_mode]); - // disable resolution dropdown on "Fullscreen (desktop)" - if (gConfigGeneral.fullscreen_mode == 2){ - w->disabled_widgets |= (1 << WIDX_RESOLUTION_DROPDOWN); - w->disabled_widgets |= (1 << WIDX_RESOLUTION); - } - else { - w->disabled_widgets &= ~(1 << WIDX_RESOLUTION_DROPDOWN); - w->disabled_widgets &= ~(1 << WIDX_RESOLUTION); - } + // disable resolution dropdown on "Fullscreen (desktop)" + if (gConfigGeneral.fullscreen_mode == 2){ + w->disabled_widgets |= (1 << WIDX_RESOLUTION_DROPDOWN); + w->disabled_widgets |= (1 << WIDX_RESOLUTION); + } + else { + w->disabled_widgets &= ~(1 << WIDX_RESOLUTION_DROPDOWN); + w->disabled_widgets &= ~(1 << WIDX_RESOLUTION); + } - if (gConfigGeneral.drawing_engine == DRAWING_ENGINE_SOFTWARE) { - w->disabled_widgets |= (1 << WIDX_SCALE_QUALITY); - w->disabled_widgets |= (1 << WIDX_SCALE_QUALITY_DROPDOWN); - w->disabled_widgets |= (1 << WIDX_SCALE_USE_NN_AT_INTEGER_SCALES_CHECKBOX); - w->disabled_widgets |= (1 << WIDX_STEAM_OVERLAY_PAUSE); - } else { - w->disabled_widgets &= ~(1 << WIDX_SCALE_QUALITY); - w->disabled_widgets &= ~(1 << WIDX_SCALE_QUALITY_DROPDOWN); - w->disabled_widgets &= ~(1 << WIDX_SCALE_USE_NN_AT_INTEGER_SCALES_CHECKBOX); - w->disabled_widgets &= ~(1 << WIDX_STEAM_OVERLAY_PAUSE); - } + if (gConfigGeneral.drawing_engine == DRAWING_ENGINE_SOFTWARE) { + w->disabled_widgets |= (1 << WIDX_SCALE_QUALITY); + w->disabled_widgets |= (1 << WIDX_SCALE_QUALITY_DROPDOWN); + w->disabled_widgets |= (1 << WIDX_SCALE_USE_NN_AT_INTEGER_SCALES_CHECKBOX); + w->disabled_widgets |= (1 << WIDX_STEAM_OVERLAY_PAUSE); + } else { + w->disabled_widgets &= ~(1 << WIDX_SCALE_QUALITY); + w->disabled_widgets &= ~(1 << WIDX_SCALE_QUALITY_DROPDOWN); + w->disabled_widgets &= ~(1 << WIDX_SCALE_USE_NN_AT_INTEGER_SCALES_CHECKBOX); + w->disabled_widgets &= ~(1 << WIDX_STEAM_OVERLAY_PAUSE); + } - widget_set_checkbox_value(w, WIDX_UNCAP_FPS_CHECKBOX, gConfigGeneral.uncap_fps); - widget_set_checkbox_value(w, WIDX_SHOW_FPS_CHECKBOX, gConfigGeneral.show_fps); - widget_set_checkbox_value(w, WIDX_MINIMIZE_FOCUS_LOSS, gConfigGeneral.minimize_fullscreen_focus_loss); - widget_set_checkbox_value(w, WIDX_STEAM_OVERLAY_PAUSE, gConfigGeneral.steam_overlay_pause); - widget_set_checkbox_value(w, WIDX_SCALE_USE_NN_AT_INTEGER_SCALES_CHECKBOX, gConfigGeneral.use_nn_at_integer_scales); + widget_set_checkbox_value(w, WIDX_UNCAP_FPS_CHECKBOX, gConfigGeneral.uncap_fps); + widget_set_checkbox_value(w, WIDX_SHOW_FPS_CHECKBOX, gConfigGeneral.show_fps); + widget_set_checkbox_value(w, WIDX_MINIMIZE_FOCUS_LOSS, gConfigGeneral.minimize_fullscreen_focus_loss); + widget_set_checkbox_value(w, WIDX_STEAM_OVERLAY_PAUSE, gConfigGeneral.steam_overlay_pause); + widget_set_checkbox_value(w, WIDX_SCALE_USE_NN_AT_INTEGER_SCALES_CHECKBOX, gConfigGeneral.use_nn_at_integer_scales); - window_options_display_widgets[WIDX_SCALE_QUALITY].text = window_options_scale_quality_names[gConfigGeneral.scale_quality]; + window_options_display_widgets[WIDX_SCALE_QUALITY].text = window_options_scale_quality_names[gConfigGeneral.scale_quality]; - window_options_display_widgets[WIDX_RESOLUTION].type = WWT_DROPDOWN; - window_options_display_widgets[WIDX_RESOLUTION_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_display_widgets[WIDX_FULLSCREEN].type = WWT_DROPDOWN; - window_options_display_widgets[WIDX_FULLSCREEN_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_display_widgets[WIDX_DRAWING_ENGINE].type = WWT_DROPDOWN; - window_options_display_widgets[WIDX_DRAWING_ENGINE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_display_widgets[WIDX_UNCAP_FPS_CHECKBOX].type = WWT_CHECKBOX; - window_options_display_widgets[WIDX_SHOW_FPS_CHECKBOX].type = WWT_CHECKBOX; - window_options_display_widgets[WIDX_MINIMIZE_FOCUS_LOSS].type = WWT_CHECKBOX; - window_options_display_widgets[WIDX_STEAM_OVERLAY_PAUSE].type = WWT_CHECKBOX; - break; + window_options_display_widgets[WIDX_RESOLUTION].type = WWT_DROPDOWN; + window_options_display_widgets[WIDX_RESOLUTION_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_display_widgets[WIDX_FULLSCREEN].type = WWT_DROPDOWN; + window_options_display_widgets[WIDX_FULLSCREEN_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_display_widgets[WIDX_DRAWING_ENGINE].type = WWT_DROPDOWN; + window_options_display_widgets[WIDX_DRAWING_ENGINE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_display_widgets[WIDX_UNCAP_FPS_CHECKBOX].type = WWT_CHECKBOX; + window_options_display_widgets[WIDX_SHOW_FPS_CHECKBOX].type = WWT_CHECKBOX; + window_options_display_widgets[WIDX_MINIMIZE_FOCUS_LOSS].type = WWT_CHECKBOX; + window_options_display_widgets[WIDX_STEAM_OVERLAY_PAUSE].type = WWT_CHECKBOX; + break; - case WINDOW_OPTIONS_PAGE_RENDERING: - widget_set_checkbox_value(w, WIDX_TILE_SMOOTHING_CHECKBOX, gConfigGeneral.landscape_smoothing); - widget_set_checkbox_value(w, WIDX_GRIDLINES_CHECKBOX, gConfigGeneral.always_show_gridlines); - widget_set_checkbox_value(w, WIDX_DAY_NIGHT_CHECKBOX, gConfigGeneral.day_night_cycle); - widget_set_checkbox_value(w, WIDX_ENABLE_LIGHT_FX_CHECKBOX, gConfigGeneral.enable_light_fx); - if (gConfigGeneral.day_night_cycle && - gConfigGeneral.drawing_engine == DRAWING_ENGINE_SOFTWARE_WITH_HARDWARE_DISPLAY - ) { - w->disabled_widgets &= ~(1 << WIDX_ENABLE_LIGHT_FX_CHECKBOX); - } else { - w->disabled_widgets |= (1 << WIDX_ENABLE_LIGHT_FX_CHECKBOX); - } + case WINDOW_OPTIONS_PAGE_RENDERING: + widget_set_checkbox_value(w, WIDX_TILE_SMOOTHING_CHECKBOX, gConfigGeneral.landscape_smoothing); + widget_set_checkbox_value(w, WIDX_GRIDLINES_CHECKBOX, gConfigGeneral.always_show_gridlines); + widget_set_checkbox_value(w, WIDX_DAY_NIGHT_CHECKBOX, gConfigGeneral.day_night_cycle); + widget_set_checkbox_value(w, WIDX_ENABLE_LIGHT_FX_CHECKBOX, gConfigGeneral.enable_light_fx); + if (gConfigGeneral.day_night_cycle && + gConfigGeneral.drawing_engine == DRAWING_ENGINE_SOFTWARE_WITH_HARDWARE_DISPLAY + ) { + w->disabled_widgets &= ~(1 << WIDX_ENABLE_LIGHT_FX_CHECKBOX); + } else { + w->disabled_widgets |= (1 << WIDX_ENABLE_LIGHT_FX_CHECKBOX); + } - widget_set_checkbox_value(w, WIDX_UPPER_CASE_BANNERS_CHECKBOX, gConfigGeneral.upper_case_banners); - widget_set_checkbox_value(w, WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX, gConfigGeneral.render_weather_effects || gConfigGeneral.render_weather_gloom); - widget_set_checkbox_value(w, WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX, gConfigGeneral.disable_lightning_effect); - if (!gConfigGeneral.render_weather_effects && !gConfigGeneral.render_weather_gloom) { - widget_set_checkbox_value(w, WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX, true); - w->enabled_widgets &= ~(1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX); - w->disabled_widgets |= (1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX); - } - else { - w->enabled_widgets |= (1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX); - w->disabled_widgets &= ~(1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX); - } - widget_set_checkbox_value(w, WIDX_SHOW_GUEST_PURCHASES_CHECKBOX, gConfigGeneral.show_guest_purchases); - // construction marker: white/translucent - static const rct_string_id construction_marker_colours[] = { - STR_CONSTRUCTION_MARKER_COLOUR_WHITE, - STR_CONSTRUCTION_MARKER_COLOUR_TRANSLUCENT, - }; - window_options_rendering_widgets[WIDX_CONSTRUCTION_MARKER].text = construction_marker_colours[gConfigGeneral.construction_marker_colour]; + widget_set_checkbox_value(w, WIDX_UPPER_CASE_BANNERS_CHECKBOX, gConfigGeneral.upper_case_banners); + widget_set_checkbox_value(w, WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX, gConfigGeneral.render_weather_effects || gConfigGeneral.render_weather_gloom); + widget_set_checkbox_value(w, WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX, gConfigGeneral.disable_lightning_effect); + if (!gConfigGeneral.render_weather_effects && !gConfigGeneral.render_weather_gloom) { + widget_set_checkbox_value(w, WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX, true); + w->enabled_widgets &= ~(1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX); + w->disabled_widgets |= (1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX); + } + else { + w->enabled_widgets |= (1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX); + w->disabled_widgets &= ~(1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX); + } + widget_set_checkbox_value(w, WIDX_SHOW_GUEST_PURCHASES_CHECKBOX, gConfigGeneral.show_guest_purchases); + // construction marker: white/translucent + static const rct_string_id construction_marker_colours[] = { + STR_CONSTRUCTION_MARKER_COLOUR_WHITE, + STR_CONSTRUCTION_MARKER_COLOUR_TRANSLUCENT, + }; + window_options_rendering_widgets[WIDX_CONSTRUCTION_MARKER].text = construction_marker_colours[gConfigGeneral.construction_marker_colour]; - window_options_rendering_widgets[WIDX_TILE_SMOOTHING_CHECKBOX].type = WWT_CHECKBOX; - window_options_rendering_widgets[WIDX_GRIDLINES_CHECKBOX].type = WWT_CHECKBOX; - window_options_rendering_widgets[WIDX_CONSTRUCTION_MARKER].type = WWT_DROPDOWN; - window_options_rendering_widgets[WIDX_CONSTRUCTION_MARKER_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_rendering_widgets[WIDX_DAY_NIGHT_CHECKBOX].type = WWT_CHECKBOX; - window_options_rendering_widgets[WIDX_ENABLE_LIGHT_FX_CHECKBOX].type = WWT_CHECKBOX; - window_options_rendering_widgets[WIDX_UPPER_CASE_BANNERS_CHECKBOX].type = WWT_CHECKBOX; - window_options_rendering_widgets[WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX].type = WWT_CHECKBOX; - window_options_rendering_widgets[WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX].type = WWT_CHECKBOX; - window_options_rendering_widgets[WIDX_SHOW_GUEST_PURCHASES_CHECKBOX].type = WWT_CHECKBOX; - break; + window_options_rendering_widgets[WIDX_TILE_SMOOTHING_CHECKBOX].type = WWT_CHECKBOX; + window_options_rendering_widgets[WIDX_GRIDLINES_CHECKBOX].type = WWT_CHECKBOX; + window_options_rendering_widgets[WIDX_CONSTRUCTION_MARKER].type = WWT_DROPDOWN; + window_options_rendering_widgets[WIDX_CONSTRUCTION_MARKER_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_rendering_widgets[WIDX_DAY_NIGHT_CHECKBOX].type = WWT_CHECKBOX; + window_options_rendering_widgets[WIDX_ENABLE_LIGHT_FX_CHECKBOX].type = WWT_CHECKBOX; + window_options_rendering_widgets[WIDX_UPPER_CASE_BANNERS_CHECKBOX].type = WWT_CHECKBOX; + window_options_rendering_widgets[WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX].type = WWT_CHECKBOX; + window_options_rendering_widgets[WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX].type = WWT_CHECKBOX; + window_options_rendering_widgets[WIDX_SHOW_GUEST_PURCHASES_CHECKBOX].type = WWT_CHECKBOX; + break; - case WINDOW_OPTIONS_PAGE_CULTURE: - // currency: pounds, dollars, etc. (10 total) - set_format_arg(12, rct_string_id, CurrencyDescriptors[gConfigGeneral.currency_format].stringId); + case WINDOW_OPTIONS_PAGE_CULTURE: + // currency: pounds, dollars, etc. (10 total) + set_format_arg(12, rct_string_id, CurrencyDescriptors[gConfigGeneral.currency_format].stringId); - // distance: metric / imperial / si - { - rct_string_id stringId; - switch (gConfigGeneral.measurement_format) { - default: - case MEASUREMENT_FORMAT_IMPERIAL: stringId = STR_IMPERIAL; break; - case MEASUREMENT_FORMAT_METRIC: stringId = STR_METRIC; break; - case MEASUREMENT_FORMAT_SI: stringId = STR_SI; break; - } - set_format_arg(14, rct_string_id, stringId); - } + // distance: metric / imperial / si + { + rct_string_id stringId; + switch (gConfigGeneral.measurement_format) { + default: + case MEASUREMENT_FORMAT_IMPERIAL: stringId = STR_IMPERIAL; break; + case MEASUREMENT_FORMAT_METRIC: stringId = STR_METRIC; break; + case MEASUREMENT_FORMAT_SI: stringId = STR_SI; break; + } + set_format_arg(14, rct_string_id, stringId); + } - // temperature: celsius/fahrenheit - set_format_arg(20, rct_string_id, (gConfigGeneral.temperature_format == TEMPERATURE_FORMAT_F) ? STR_FAHRENHEIT : STR_CELSIUS); + // temperature: celsius/fahrenheit + set_format_arg(20, rct_string_id, (gConfigGeneral.temperature_format == TEMPERATURE_FORMAT_F) ? STR_FAHRENHEIT : STR_CELSIUS); - // height: units/real values - set_format_arg(6, rct_string_id, gConfigGeneral.show_height_as_units ? STR_UNITS : STR_REAL_VALUES); + // height: units/real values + set_format_arg(6, rct_string_id, gConfigGeneral.show_height_as_units ? STR_UNITS : STR_REAL_VALUES); - window_options_culture_widgets[WIDX_LANGUAGE].type = WWT_DROPDOWN; - window_options_culture_widgets[WIDX_LANGUAGE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_culture_widgets[WIDX_CURRENCY].type = WWT_DROPDOWN; - window_options_culture_widgets[WIDX_CURRENCY_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_culture_widgets[WIDX_DISTANCE].type = WWT_DROPDOWN; - window_options_culture_widgets[WIDX_DISTANCE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_culture_widgets[WIDX_TEMPERATURE].type = WWT_DROPDOWN; - window_options_culture_widgets[WIDX_TEMPERATURE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_culture_widgets[WIDX_HEIGHT_LABELS].type = WWT_DROPDOWN; - window_options_culture_widgets[WIDX_HEIGHT_LABELS_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_culture_widgets[WIDX_DATE_FORMAT].type = WWT_DROPDOWN; - window_options_culture_widgets[WIDX_DATE_FORMAT_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - break; + window_options_culture_widgets[WIDX_LANGUAGE].type = WWT_DROPDOWN; + window_options_culture_widgets[WIDX_LANGUAGE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_culture_widgets[WIDX_CURRENCY].type = WWT_DROPDOWN; + window_options_culture_widgets[WIDX_CURRENCY_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_culture_widgets[WIDX_DISTANCE].type = WWT_DROPDOWN; + window_options_culture_widgets[WIDX_DISTANCE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_culture_widgets[WIDX_TEMPERATURE].type = WWT_DROPDOWN; + window_options_culture_widgets[WIDX_TEMPERATURE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_culture_widgets[WIDX_HEIGHT_LABELS].type = WWT_DROPDOWN; + window_options_culture_widgets[WIDX_HEIGHT_LABELS_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_culture_widgets[WIDX_DATE_FORMAT].type = WWT_DROPDOWN; + window_options_culture_widgets[WIDX_DATE_FORMAT_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + break; - case WINDOW_OPTIONS_PAGE_AUDIO: - // music: on/off - set_format_arg(8, rct_string_id, gConfigSound.ride_music_enabled ? STR_OPTIONS_RIDE_MUSIC_ON : STR_OPTIONS_RIDE_MUSIC_OFF); + case WINDOW_OPTIONS_PAGE_AUDIO: + // music: on/off + set_format_arg(8, rct_string_id, gConfigSound.ride_music_enabled ? STR_OPTIONS_RIDE_MUSIC_ON : STR_OPTIONS_RIDE_MUSIC_OFF); - widget_set_checkbox_value(w, WIDX_SOUND_CHECKBOX, gConfigSound.sound_enabled); - widget_set_checkbox_value(w, WIDX_MUSIC_CHECKBOX, gConfigSound.ride_music_enabled); - widget_set_checkbox_value(w, WIDX_AUDIO_FOCUS_CHECKBOX, gConfigSound.audio_focus); + widget_set_checkbox_value(w, WIDX_SOUND_CHECKBOX, gConfigSound.sound_enabled); + widget_set_checkbox_value(w, WIDX_MUSIC_CHECKBOX, gConfigSound.ride_music_enabled); + widget_set_checkbox_value(w, WIDX_AUDIO_FOCUS_CHECKBOX, gConfigSound.audio_focus); - if(w->frame_no == 0){ // initialize only on first frame, otherwise the scrollbars wont be able to be modified - widget = &window_options_audio_widgets[WIDX_SOUND_VOLUME]; - w->scrolls[0].h_left = (sint16)ceil((gConfigSound.sound_volume / 100.0f) * (w->scrolls[0].h_right - ((widget->right - widget->left) - 1))); - widget = &window_options_audio_widgets[WIDX_MUSIC_VOLUME]; - w->scrolls[1].h_left = (sint16)ceil((gConfigSound.ride_music_volume / 100.0f) * (w->scrolls[1].h_right - ((widget->right - widget->left) - 1))); - } + if(w->frame_no == 0){ // initialize only on first frame, otherwise the scrollbars wont be able to be modified + widget = &window_options_audio_widgets[WIDX_SOUND_VOLUME]; + w->scrolls[0].h_left = (sint16)ceil((gConfigSound.sound_volume / 100.0f) * (w->scrolls[0].h_right - ((widget->right - widget->left) - 1))); + widget = &window_options_audio_widgets[WIDX_MUSIC_VOLUME]; + w->scrolls[1].h_left = (sint16)ceil((gConfigSound.ride_music_volume / 100.0f) * (w->scrolls[1].h_right - ((widget->right - widget->left) - 1))); + } - widget_scroll_update_thumbs(w, WIDX_SOUND_VOLUME); - widget_scroll_update_thumbs(w, WIDX_MUSIC_VOLUME); + widget_scroll_update_thumbs(w, WIDX_SOUND_VOLUME); + widget_scroll_update_thumbs(w, WIDX_MUSIC_VOLUME); - window_options_audio_widgets[WIDX_SOUND].type = WWT_DROPDOWN; - window_options_audio_widgets[WIDX_SOUND_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_audio_widgets[WIDX_SOUND_CHECKBOX].type = WWT_CHECKBOX; - window_options_audio_widgets[WIDX_MUSIC_CHECKBOX].type = WWT_CHECKBOX; - window_options_audio_widgets[WIDX_AUDIO_FOCUS_CHECKBOX].type = WWT_CHECKBOX; - window_options_audio_widgets[WIDX_TITLE_MUSIC].type = WWT_DROPDOWN; - window_options_audio_widgets[WIDX_TITLE_MUSIC_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_audio_widgets[WIDX_SOUND_VOLUME].type = WWT_SCROLL; - window_options_audio_widgets[WIDX_MUSIC_VOLUME].type = WWT_SCROLL; - break; + window_options_audio_widgets[WIDX_SOUND].type = WWT_DROPDOWN; + window_options_audio_widgets[WIDX_SOUND_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_audio_widgets[WIDX_SOUND_CHECKBOX].type = WWT_CHECKBOX; + window_options_audio_widgets[WIDX_MUSIC_CHECKBOX].type = WWT_CHECKBOX; + window_options_audio_widgets[WIDX_AUDIO_FOCUS_CHECKBOX].type = WWT_CHECKBOX; + window_options_audio_widgets[WIDX_TITLE_MUSIC].type = WWT_DROPDOWN; + window_options_audio_widgets[WIDX_TITLE_MUSIC_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_audio_widgets[WIDX_SOUND_VOLUME].type = WWT_SCROLL; + window_options_audio_widgets[WIDX_MUSIC_VOLUME].type = WWT_SCROLL; + break; - case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE: - widget_set_checkbox_value(w, WIDX_SCREEN_EDGE_SCROLLING, gConfigGeneral.edge_scrolling); - widget_set_checkbox_value(w, WIDX_TRAP_CURSOR, gConfigGeneral.trap_cursor); - widget_set_checkbox_value(w, WIDX_INVERT_DRAG, gConfigGeneral.invert_viewport_drag); - widget_set_checkbox_value(w, WIDX_ZOOM_TO_CURSOR, gConfigGeneral.zoom_to_cursor); - widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_FINANCES, gConfigInterface.toolbar_show_finances); - widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_RESEARCH, gConfigInterface.toolbar_show_research); - widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_CHEATS, gConfigInterface.toolbar_show_cheats); - widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_NEWS, gConfigInterface.toolbar_show_news); - widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_MUTE, gConfigInterface.toolbar_show_mute); - widget_set_checkbox_value(w, WIDX_SELECT_BY_TRACK_TYPE, gConfigInterface.select_by_track_type); - widget_set_checkbox_value(w, WIDX_SCENARIO_UNLOCKING, gConfigGeneral.scenario_unlocking_enabled); + case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE: + widget_set_checkbox_value(w, WIDX_SCREEN_EDGE_SCROLLING, gConfigGeneral.edge_scrolling); + widget_set_checkbox_value(w, WIDX_TRAP_CURSOR, gConfigGeneral.trap_cursor); + widget_set_checkbox_value(w, WIDX_INVERT_DRAG, gConfigGeneral.invert_viewport_drag); + widget_set_checkbox_value(w, WIDX_ZOOM_TO_CURSOR, gConfigGeneral.zoom_to_cursor); + widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_FINANCES, gConfigInterface.toolbar_show_finances); + widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_RESEARCH, gConfigInterface.toolbar_show_research); + widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_CHEATS, gConfigInterface.toolbar_show_cheats); + widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_NEWS, gConfigInterface.toolbar_show_news); + widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_MUTE, gConfigInterface.toolbar_show_mute); + widget_set_checkbox_value(w, WIDX_SELECT_BY_TRACK_TYPE, gConfigInterface.select_by_track_type); + widget_set_checkbox_value(w, WIDX_SCENARIO_UNLOCKING, gConfigGeneral.scenario_unlocking_enabled); - if (gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_ORIGIN) { - w->disabled_widgets &= ~(1ULL << WIDX_SCENARIO_UNLOCKING); - } else { - w->disabled_widgets |= (1ULL << WIDX_SCENARIO_UNLOCKING); - } + if (gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_ORIGIN) { + w->disabled_widgets &= ~(1ULL << WIDX_SCENARIO_UNLOCKING); + } else { + w->disabled_widgets |= (1ULL << WIDX_SCENARIO_UNLOCKING); + } - window_options_controls_and_interface_widgets[WIDX_THEMES].type = WWT_DROPDOWN; - window_options_controls_and_interface_widgets[WIDX_THEMES_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_controls_and_interface_widgets[WIDX_THEMES_BUTTON].type = WWT_DROPDOWN_BUTTON; - window_options_controls_and_interface_widgets[WIDX_SCREEN_EDGE_SCROLLING].type = WWT_CHECKBOX; - window_options_controls_and_interface_widgets[WIDX_TRAP_CURSOR].type = WWT_CHECKBOX; - window_options_controls_and_interface_widgets[WIDX_HOTKEY_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_FINANCES].type = WWT_CHECKBOX; - window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_RESEARCH].type = WWT_CHECKBOX; - window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_CHEATS].type = WWT_CHECKBOX; - window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_NEWS].type = WWT_CHECKBOX; - window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_MUTE].type = WWT_CHECKBOX; - window_options_controls_and_interface_widgets[WIDX_SELECT_BY_TRACK_TYPE].type = WWT_CHECKBOX; - window_options_controls_and_interface_widgets[WIDX_SCENARIO_GROUPING].type = WWT_DROPDOWN; - window_options_controls_and_interface_widgets[WIDX_SCENARIO_UNLOCKING].type = WWT_CHECKBOX; - break; + window_options_controls_and_interface_widgets[WIDX_THEMES].type = WWT_DROPDOWN; + window_options_controls_and_interface_widgets[WIDX_THEMES_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_controls_and_interface_widgets[WIDX_THEMES_BUTTON].type = WWT_DROPDOWN_BUTTON; + window_options_controls_and_interface_widgets[WIDX_SCREEN_EDGE_SCROLLING].type = WWT_CHECKBOX; + window_options_controls_and_interface_widgets[WIDX_TRAP_CURSOR].type = WWT_CHECKBOX; + window_options_controls_and_interface_widgets[WIDX_HOTKEY_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_FINANCES].type = WWT_CHECKBOX; + window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_RESEARCH].type = WWT_CHECKBOX; + window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_CHEATS].type = WWT_CHECKBOX; + window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_NEWS].type = WWT_CHECKBOX; + window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_MUTE].type = WWT_CHECKBOX; + window_options_controls_and_interface_widgets[WIDX_SELECT_BY_TRACK_TYPE].type = WWT_CHECKBOX; + window_options_controls_and_interface_widgets[WIDX_SCENARIO_GROUPING].type = WWT_DROPDOWN; + window_options_controls_and_interface_widgets[WIDX_SCENARIO_UNLOCKING].type = WWT_CHECKBOX; + break; - case WINDOW_OPTIONS_PAGE_MISC: - // unknown park flag can disable real name checkbox - if (gParkFlags & PARK_FLAGS_LOCK_REAL_NAMES_OPTION) - w->disabled_widgets |= (1ULL << WIDX_REAL_NAME_CHECKBOX); + case WINDOW_OPTIONS_PAGE_MISC: + // unknown park flag can disable real name checkbox + if (gParkFlags & PARK_FLAGS_LOCK_REAL_NAMES_OPTION) + w->disabled_widgets |= (1ULL << WIDX_REAL_NAME_CHECKBOX); - w->hold_down_widgets |= (1 << WIDX_WINDOW_LIMIT_UP) | (1 << WIDX_WINDOW_LIMIT_DOWN); + w->hold_down_widgets |= (1 << WIDX_WINDOW_LIMIT_UP) | (1 << WIDX_WINDOW_LIMIT_DOWN); - // save plugin data checkbox: visible or not - window_options_misc_widgets[WIDX_SAVE_PLUGIN_DATA_CHECKBOX].type = WWT_CHECKBOX; + // save plugin data checkbox: visible or not + window_options_misc_widgets[WIDX_SAVE_PLUGIN_DATA_CHECKBOX].type = WWT_CHECKBOX; - widget_set_checkbox_value(w, WIDX_REAL_NAME_CHECKBOX, gParkFlags & PARK_FLAGS_SHOW_REAL_GUEST_NAMES); - widget_set_checkbox_value(w, WIDX_SAVE_PLUGIN_DATA_CHECKBOX, gConfigGeneral.save_plugin_data); - widget_set_checkbox_value(w, WIDX_TEST_UNFINISHED_TRACKS, gConfigGeneral.test_unfinished_tracks); - widget_set_checkbox_value(w, WIDX_AUTO_STAFF_PLACEMENT, gConfigGeneral.auto_staff_placement); - widget_set_checkbox_value(w, WIDX_HANDYMEN_MOW_DEFAULT, gConfigGeneral.handymen_mow_default); - widget_set_checkbox_value(w, WIDX_DEBUGGING_TOOLS, gConfigGeneral.debugging_tools); - widget_set_checkbox_value(w, WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, gConfigGeneral.allow_loading_with_incorrect_checksum); - widget_set_checkbox_value(w, WIDX_STAY_CONNECTED_AFTER_DESYNC, gConfigNetwork.stay_connected); - widget_set_checkbox_value(w, WIDX_AUTO_OPEN_SHOPS, gConfigGeneral.auto_open_shops); + widget_set_checkbox_value(w, WIDX_REAL_NAME_CHECKBOX, gParkFlags & PARK_FLAGS_SHOW_REAL_GUEST_NAMES); + widget_set_checkbox_value(w, WIDX_SAVE_PLUGIN_DATA_CHECKBOX, gConfigGeneral.save_plugin_data); + widget_set_checkbox_value(w, WIDX_TEST_UNFINISHED_TRACKS, gConfigGeneral.test_unfinished_tracks); + widget_set_checkbox_value(w, WIDX_AUTO_STAFF_PLACEMENT, gConfigGeneral.auto_staff_placement); + widget_set_checkbox_value(w, WIDX_HANDYMEN_MOW_DEFAULT, gConfigGeneral.handymen_mow_default); + widget_set_checkbox_value(w, WIDX_DEBUGGING_TOOLS, gConfigGeneral.debugging_tools); + widget_set_checkbox_value(w, WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, gConfigGeneral.allow_loading_with_incorrect_checksum); + widget_set_checkbox_value(w, WIDX_STAY_CONNECTED_AFTER_DESYNC, gConfigNetwork.stay_connected); + widget_set_checkbox_value(w, WIDX_AUTO_OPEN_SHOPS, gConfigGeneral.auto_open_shops); - window_options_misc_widgets[WIDX_REAL_NAME_CHECKBOX].type = WWT_CHECKBOX; - window_options_misc_widgets[WIDX_SAVE_PLUGIN_DATA_CHECKBOX].type = WWT_CHECKBOX; - window_options_misc_widgets[WIDX_AUTOSAVE].type = WWT_DROPDOWN; - window_options_misc_widgets[WIDX_AUTOSAVE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_misc_widgets[WIDX_TEST_UNFINISHED_TRACKS].type = WWT_CHECKBOX; - window_options_misc_widgets[WIDX_AUTO_STAFF_PLACEMENT].type = WWT_CHECKBOX; - window_options_misc_widgets[WIDX_HANDYMEN_MOW_DEFAULT].type = WWT_CHECKBOX; - window_options_misc_widgets[WIDX_DEBUGGING_TOOLS].type = WWT_CHECKBOX; - window_options_misc_widgets[WIDX_TITLE_SEQUENCE].type = WWT_DROPDOWN; - window_options_misc_widgets[WIDX_TITLE_SEQUENCE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_misc_widgets[WIDX_TITLE_SEQUENCE_BUTTON].type = WWT_DROPDOWN_BUTTON; - window_options_misc_widgets[WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM].type = WWT_CHECKBOX; - window_options_misc_widgets[WIDX_STAY_CONNECTED_AFTER_DESYNC].type = WWT_CHECKBOX; - window_options_misc_widgets[WIDX_AUTO_OPEN_SHOPS].type = WWT_CHECKBOX; - window_options_misc_widgets[WIDX_DEFAULT_INSPECTION_INTERVAL].type = WWT_DROPDOWN; - window_options_misc_widgets[WIDX_DEFAULT_INSPECTION_INTERVAL_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_options_misc_widgets[WIDX_WINDOW_LIMIT].type = WWT_SPINNER; - window_options_misc_widgets[WIDX_WINDOW_LIMIT_UP].type = WWT_DROPDOWN_BUTTON; - window_options_misc_widgets[WIDX_WINDOW_LIMIT_DOWN].type = WWT_DROPDOWN_BUTTON; - window_options_misc_widgets[WIDX_PATH_TO_RCT1_BUTTON].type = WWT_DROPDOWN_BUTTON; - window_options_misc_widgets[WIDX_PATH_TO_RCT1_CLEAR].type = WWT_DROPDOWN_BUTTON; - break; + window_options_misc_widgets[WIDX_REAL_NAME_CHECKBOX].type = WWT_CHECKBOX; + window_options_misc_widgets[WIDX_SAVE_PLUGIN_DATA_CHECKBOX].type = WWT_CHECKBOX; + window_options_misc_widgets[WIDX_AUTOSAVE].type = WWT_DROPDOWN; + window_options_misc_widgets[WIDX_AUTOSAVE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_misc_widgets[WIDX_TEST_UNFINISHED_TRACKS].type = WWT_CHECKBOX; + window_options_misc_widgets[WIDX_AUTO_STAFF_PLACEMENT].type = WWT_CHECKBOX; + window_options_misc_widgets[WIDX_HANDYMEN_MOW_DEFAULT].type = WWT_CHECKBOX; + window_options_misc_widgets[WIDX_DEBUGGING_TOOLS].type = WWT_CHECKBOX; + window_options_misc_widgets[WIDX_TITLE_SEQUENCE].type = WWT_DROPDOWN; + window_options_misc_widgets[WIDX_TITLE_SEQUENCE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_misc_widgets[WIDX_TITLE_SEQUENCE_BUTTON].type = WWT_DROPDOWN_BUTTON; + window_options_misc_widgets[WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM].type = WWT_CHECKBOX; + window_options_misc_widgets[WIDX_STAY_CONNECTED_AFTER_DESYNC].type = WWT_CHECKBOX; + window_options_misc_widgets[WIDX_AUTO_OPEN_SHOPS].type = WWT_CHECKBOX; + window_options_misc_widgets[WIDX_DEFAULT_INSPECTION_INTERVAL].type = WWT_DROPDOWN; + window_options_misc_widgets[WIDX_DEFAULT_INSPECTION_INTERVAL_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_options_misc_widgets[WIDX_WINDOW_LIMIT].type = WWT_SPINNER; + window_options_misc_widgets[WIDX_WINDOW_LIMIT_UP].type = WWT_DROPDOWN_BUTTON; + window_options_misc_widgets[WIDX_WINDOW_LIMIT_DOWN].type = WWT_DROPDOWN_BUTTON; + window_options_misc_widgets[WIDX_PATH_TO_RCT1_BUTTON].type = WWT_DROPDOWN_BUTTON; + window_options_misc_widgets[WIDX_PATH_TO_RCT1_CLEAR].type = WWT_DROPDOWN_BUTTON; + break; - case WINDOW_OPTIONS_PAGE_TWITCH: - widget_set_checkbox_value(w, WIDX_FOLLOWER_PEEP_NAMES_CHECKBOX, gConfigTwitch.enable_follower_peep_names); - widget_set_checkbox_value(w, WIDX_FOLLOWER_PEEP_TRACKING_CHECKBOX, gConfigTwitch.enable_follower_peep_tracking); - widget_set_checkbox_value(w, WIDX_CHAT_PEEP_NAMES_CHECKBOX, gConfigTwitch.enable_chat_peep_names); - widget_set_checkbox_value(w, WIDX_CHAT_PEEP_TRACKING_CHECKBOX, gConfigTwitch.enable_chat_peep_tracking); - widget_set_checkbox_value(w, WIDX_NEWS_CHECKBOX, gConfigTwitch.enable_news); + case WINDOW_OPTIONS_PAGE_TWITCH: + widget_set_checkbox_value(w, WIDX_FOLLOWER_PEEP_NAMES_CHECKBOX, gConfigTwitch.enable_follower_peep_names); + widget_set_checkbox_value(w, WIDX_FOLLOWER_PEEP_TRACKING_CHECKBOX, gConfigTwitch.enable_follower_peep_tracking); + widget_set_checkbox_value(w, WIDX_CHAT_PEEP_NAMES_CHECKBOX, gConfigTwitch.enable_chat_peep_names); + widget_set_checkbox_value(w, WIDX_CHAT_PEEP_TRACKING_CHECKBOX, gConfigTwitch.enable_chat_peep_tracking); + widget_set_checkbox_value(w, WIDX_NEWS_CHECKBOX, gConfigTwitch.enable_news); - window_options_twitch_widgets[WIDX_CHANNEL_BUTTON].type = WWT_DROPDOWN_BUTTON; - window_options_twitch_widgets[WIDX_FOLLOWER_PEEP_NAMES_CHECKBOX].type = WWT_CHECKBOX; - window_options_twitch_widgets[WIDX_FOLLOWER_PEEP_TRACKING_CHECKBOX].type = WWT_CHECKBOX; - window_options_twitch_widgets[WIDX_CHAT_PEEP_NAMES_CHECKBOX].type = WWT_CHECKBOX; - window_options_twitch_widgets[WIDX_CHAT_PEEP_TRACKING_CHECKBOX].type = WWT_CHECKBOX; - window_options_twitch_widgets[WIDX_NEWS_CHECKBOX].type = WWT_CHECKBOX; - break; - } + window_options_twitch_widgets[WIDX_CHANNEL_BUTTON].type = WWT_DROPDOWN_BUTTON; + window_options_twitch_widgets[WIDX_FOLLOWER_PEEP_NAMES_CHECKBOX].type = WWT_CHECKBOX; + window_options_twitch_widgets[WIDX_FOLLOWER_PEEP_TRACKING_CHECKBOX].type = WWT_CHECKBOX; + window_options_twitch_widgets[WIDX_CHAT_PEEP_NAMES_CHECKBOX].type = WWT_CHECKBOX; + window_options_twitch_widgets[WIDX_CHAT_PEEP_TRACKING_CHECKBOX].type = WWT_CHECKBOX; + window_options_twitch_widgets[WIDX_NEWS_CHECKBOX].type = WWT_CHECKBOX; + break; + } - // Automatically adjust window height to fit widgets - sint32 y = 0; - for (widget = &w->widgets[WIDX_PAGE_START]; widget->type != WWT_LAST; widget++) { - y = max(y, widget->bottom); - } - w->height = y + 6; - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + // Automatically adjust window height to fit widgets + sint32 y = 0; + for (widget = &w->widgets[WIDX_PAGE_START]; widget->type != WWT_LAST; widget++) { + y = max(y, widget->bottom); + } + w->height = y + 6; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; } static void window_options_update(rct_window *w) { - // Tab animation - w->frame_no++; - widget_invalidate(w, WIDX_TAB_1 + w->page); + // Tab animation + w->frame_no++; + widget_invalidate(w, WIDX_TAB_1 + w->page); - if (w->page == WINDOW_OPTIONS_PAGE_AUDIO) { - rct_widget *widget = &window_options_audio_widgets[WIDX_SOUND_VOLUME]; - uint8 sound_volume = (uint8)(((float)w->scrolls[0].h_left / (w->scrolls[0].h_right - ((widget->right - widget->left) - 1))) * 100); - widget = &window_options_audio_widgets[WIDX_MUSIC_VOLUME]; - uint8 ride_music_volume = (uint8)(((float)w->scrolls[1].h_left / (w->scrolls[1].h_right - ((widget->right - widget->left) - 1))) * 100); - if (sound_volume != gConfigSound.sound_volume) { - gConfigSound.sound_volume = sound_volume; - config_save_default(); - } - if (ride_music_volume != gConfigSound.ride_music_volume) { - gConfigSound.ride_music_volume = ride_music_volume; - config_save_default(); - } - widget_invalidate(w, WIDX_SOUND_VOLUME); - widget_invalidate(w, WIDX_MUSIC_VOLUME); - } + if (w->page == WINDOW_OPTIONS_PAGE_AUDIO) { + rct_widget *widget = &window_options_audio_widgets[WIDX_SOUND_VOLUME]; + uint8 sound_volume = (uint8)(((float)w->scrolls[0].h_left / (w->scrolls[0].h_right - ((widget->right - widget->left) - 1))) * 100); + widget = &window_options_audio_widgets[WIDX_MUSIC_VOLUME]; + uint8 ride_music_volume = (uint8)(((float)w->scrolls[1].h_left / (w->scrolls[1].h_right - ((widget->right - widget->left) - 1))) * 100); + if (sound_volume != gConfigSound.sound_volume) { + gConfigSound.sound_volume = sound_volume; + config_save_default(); + } + if (ride_music_volume != gConfigSound.ride_music_volume) { + gConfigSound.ride_music_volume = ride_music_volume; + config_save_default(); + } + widget_invalidate(w, WIDX_SOUND_VOLUME); + widget_invalidate(w, WIDX_MUSIC_VOLUME); + } } /** @@ -1805,316 +1805,316 @@ static void window_options_update(rct_window *w) */ static void window_options_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_options_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_options_draw_tab_images(dpi, w); - switch (w->page) { - case WINDOW_OPTIONS_PAGE_DISPLAY: - gfx_draw_string_left(dpi, STR_FULLSCREEN_MODE, w, w->colours[1], w->x + 10, w->y + window_options_display_widgets[WIDX_FULLSCREEN].top + 1); + switch (w->page) { + case WINDOW_OPTIONS_PAGE_DISPLAY: + gfx_draw_string_left(dpi, STR_FULLSCREEN_MODE, w, w->colours[1], w->x + 10, w->y + window_options_display_widgets[WIDX_FULLSCREEN].top + 1); - sint32 colour = w->colours[1]; - // disable resolution dropdown on "Fullscreen (desktop)" - if (gConfigGeneral.fullscreen_mode == 2) { - colour |= COLOUR_FLAG_INSET; - } - gfx_draw_string_left(dpi, STR_DISPLAY_RESOLUTION, w, colour, w->x + 10 + 15, w->y + window_options_display_widgets[WIDX_RESOLUTION].top + 1); - gfx_draw_string_left(dpi, STR_UI_SCALING_DESC, w, w->colours[1], w->x + 10, w->y + window_options_display_widgets[WIDX_SCALE].top + 1); + sint32 colour = w->colours[1]; + // disable resolution dropdown on "Fullscreen (desktop)" + if (gConfigGeneral.fullscreen_mode == 2) { + colour |= COLOUR_FLAG_INSET; + } + gfx_draw_string_left(dpi, STR_DISPLAY_RESOLUTION, w, colour, w->x + 10 + 15, w->y + window_options_display_widgets[WIDX_RESOLUTION].top + 1); + gfx_draw_string_left(dpi, STR_UI_SCALING_DESC, w, w->colours[1], w->x + 10, w->y + window_options_display_widgets[WIDX_SCALE].top + 1); - gfx_draw_string_left(dpi, STR_DRAWING_ENGINE, w, w->colours[1], w->x + 10, w->y + window_options_display_widgets[WIDX_DRAWING_ENGINE].top + 1); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_draw_string_left_clipped( - dpi, - DrawingEngineStringIds[gConfigGeneral.drawing_engine], - NULL, - w->colours[1], - w->x + window_options_culture_widgets[WIDX_DRAWING_ENGINE].left + 1, - w->y + window_options_culture_widgets[WIDX_DRAWING_ENGINE].top, - window_options_culture_widgets[WIDX_DRAWING_ENGINE].right - window_options_culture_widgets[WIDX_DRAWING_ENGINE].left - 11 - ); + gfx_draw_string_left(dpi, STR_DRAWING_ENGINE, w, w->colours[1], w->x + 10, w->y + window_options_display_widgets[WIDX_DRAWING_ENGINE].top + 1); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gfx_draw_string_left_clipped( + dpi, + DrawingEngineStringIds[gConfigGeneral.drawing_engine], + NULL, + w->colours[1], + w->x + window_options_culture_widgets[WIDX_DRAWING_ENGINE].left + 1, + w->y + window_options_culture_widgets[WIDX_DRAWING_ENGINE].top, + window_options_culture_widgets[WIDX_DRAWING_ENGINE].right - window_options_culture_widgets[WIDX_DRAWING_ENGINE].left - 11 + ); - sint32 scale = (sint32)(gConfigGeneral.window_scale * 100); - gfx_draw_string_left(dpi, STR_WINDOW_OBJECTIVE_VALUE_RATING, &scale, w->colours[1], w->x + w->widgets[WIDX_SCALE].left + 1, w->y + w->widgets[WIDX_SCALE].top + 1); + sint32 scale = (sint32)(gConfigGeneral.window_scale * 100); + gfx_draw_string_left(dpi, STR_WINDOW_OBJECTIVE_VALUE_RATING, &scale, w->colours[1], w->x + w->widgets[WIDX_SCALE].left + 1, w->y + w->widgets[WIDX_SCALE].top + 1); - colour = w->colours[1]; - if (gConfigGeneral.drawing_engine == DRAWING_ENGINE_SOFTWARE) { - colour |= 0x40; - } - gfx_draw_string_left(dpi, STR_SCALING_QUALITY, w, colour, w->x + 25, w->y + window_options_display_widgets[WIDX_SCALE_QUALITY].top + 1); - break; - case WINDOW_OPTIONS_PAGE_RENDERING: - gfx_draw_string_left(dpi, STR_CONSTRUCTION_MARKER, w, w->colours[1], w->x + 10, w->y + window_options_rendering_widgets[WIDX_CONSTRUCTION_MARKER].top + 1); - break; - case WINDOW_OPTIONS_PAGE_CULTURE: - gfx_draw_string_left(dpi, STR_OPTIONS_LANGUAGE, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_LANGUAGE].top + 1); + colour = w->colours[1]; + if (gConfigGeneral.drawing_engine == DRAWING_ENGINE_SOFTWARE) { + colour |= 0x40; + } + gfx_draw_string_left(dpi, STR_SCALING_QUALITY, w, colour, w->x + 25, w->y + window_options_display_widgets[WIDX_SCALE_QUALITY].top + 1); + break; + case WINDOW_OPTIONS_PAGE_RENDERING: + gfx_draw_string_left(dpi, STR_CONSTRUCTION_MARKER, w, w->colours[1], w->x + 10, w->y + window_options_rendering_widgets[WIDX_CONSTRUCTION_MARKER].top + 1); + break; + case WINDOW_OPTIONS_PAGE_CULTURE: + gfx_draw_string_left(dpi, STR_OPTIONS_LANGUAGE, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_LANGUAGE].top + 1); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_draw_string( - dpi, - (char*)LanguagesDescriptors[gCurrentLanguage].native_name, - w->colours[1], - w->x + window_options_culture_widgets[WIDX_LANGUAGE].left + 1, - w->y + window_options_culture_widgets[WIDX_LANGUAGE].top - ); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gfx_draw_string( + dpi, + (char*)LanguagesDescriptors[gCurrentLanguage].native_name, + w->colours[1], + w->x + window_options_culture_widgets[WIDX_LANGUAGE].left + 1, + w->y + window_options_culture_widgets[WIDX_LANGUAGE].top + ); - gfx_draw_string_left(dpi, STR_CURRENCY, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_CURRENCY].top + 1); - gfx_draw_string_left(dpi, STR_DISTANCE_AND_SPEED, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_DISTANCE].top + 1); - gfx_draw_string_left(dpi, STR_TEMPERATURE, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_TEMPERATURE].top + 1); - gfx_draw_string_left(dpi, STR_HEIGHT_LABELS, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_HEIGHT_LABELS].top + 1); - gfx_draw_string_left(dpi, STR_DATE_FORMAT, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_DATE_FORMAT].top + 1); - gfx_draw_string_left( - dpi, - DateFormatStringIds[gConfigGeneral.date_format], - NULL, - w->colours[1], - w->x + window_options_culture_widgets[WIDX_DATE_FORMAT].left + 1, - w->y + window_options_culture_widgets[WIDX_DATE_FORMAT].top - ); - break; - case WINDOW_OPTIONS_PAGE_AUDIO: - { - // Sound device - rct_string_id audioDeviceStringId = STR_OPTIONS_SOUND_VALUE_DEFAULT; - const char * audioDeviceName = NULL; - if (gAudioCurrentDevice == -1) { - audioDeviceStringId = STR_SOUND_NONE; - } else { - audioDeviceStringId = STR_STRING; + gfx_draw_string_left(dpi, STR_CURRENCY, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_CURRENCY].top + 1); + gfx_draw_string_left(dpi, STR_DISTANCE_AND_SPEED, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_DISTANCE].top + 1); + gfx_draw_string_left(dpi, STR_TEMPERATURE, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_TEMPERATURE].top + 1); + gfx_draw_string_left(dpi, STR_HEIGHT_LABELS, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_HEIGHT_LABELS].top + 1); + gfx_draw_string_left(dpi, STR_DATE_FORMAT, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_DATE_FORMAT].top + 1); + gfx_draw_string_left( + dpi, + DateFormatStringIds[gConfigGeneral.date_format], + NULL, + w->colours[1], + w->x + window_options_culture_widgets[WIDX_DATE_FORMAT].left + 1, + w->y + window_options_culture_widgets[WIDX_DATE_FORMAT].top + ); + break; + case WINDOW_OPTIONS_PAGE_AUDIO: + { + // Sound device + rct_string_id audioDeviceStringId = STR_OPTIONS_SOUND_VALUE_DEFAULT; + const char * audioDeviceName = NULL; + if (gAudioCurrentDevice == -1) { + audioDeviceStringId = STR_SOUND_NONE; + } else { + audioDeviceStringId = STR_STRING; #ifndef __LINUX__ - if (gAudioCurrentDevice == 0) { - audioDeviceStringId = STR_OPTIONS_SOUND_VALUE_DEFAULT; - } + if (gAudioCurrentDevice == 0) { + audioDeviceStringId = STR_OPTIONS_SOUND_VALUE_DEFAULT; + } #endif // __LINUX__ - if (audioDeviceStringId == STR_STRING) { - audioDeviceName = gAudioDevices[gAudioCurrentDevice].name; - } - } - gfx_draw_string_left_clipped( - dpi, - audioDeviceStringId, - (void*)&audioDeviceName, - w->colours[1], - w->x + window_options_audio_widgets[WIDX_SOUND].left + 1, - w->y + window_options_audio_widgets[WIDX_SOUND].top, - window_options_audio_widgets[WIDX_SOUND_DROPDOWN].left - window_options_audio_widgets[WIDX_SOUND].left - 4 - ); + if (audioDeviceStringId == STR_STRING) { + audioDeviceName = gAudioDevices[gAudioCurrentDevice].name; + } + } + gfx_draw_string_left_clipped( + dpi, + audioDeviceStringId, + (void*)&audioDeviceName, + w->colours[1], + w->x + window_options_audio_widgets[WIDX_SOUND].left + 1, + w->y + window_options_audio_widgets[WIDX_SOUND].top, + window_options_audio_widgets[WIDX_SOUND_DROPDOWN].left - window_options_audio_widgets[WIDX_SOUND].left - 4 + ); - gfx_draw_string_left(dpi, STR_OPTIONS_MUSIC_LABEL, w, w->colours[1], w->x + 10, w->y + window_options_audio_widgets[WIDX_TITLE_MUSIC].top + 1); - gfx_draw_string_left( - dpi, - window_options_title_music_names[gConfigSound.title_music], - NULL, - w->colours[1], - w->x + window_options_audio_widgets[WIDX_TITLE_MUSIC].left + 1, - w->y + window_options_audio_widgets[WIDX_TITLE_MUSIC].top - ); - break; - } - case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE: - gfx_draw_string_left(dpi, STR_SHOW_TOOLBAR_BUTTONS_FOR, w, w->colours[1], w->x + 10, w->y + window_options_controls_and_interface_widgets[WIDX_TOOLBAR_BUTTONS_GROUP].top + 15); + gfx_draw_string_left(dpi, STR_OPTIONS_MUSIC_LABEL, w, w->colours[1], w->x + 10, w->y + window_options_audio_widgets[WIDX_TITLE_MUSIC].top + 1); + gfx_draw_string_left( + dpi, + window_options_title_music_names[gConfigSound.title_music], + NULL, + w->colours[1], + w->x + window_options_audio_widgets[WIDX_TITLE_MUSIC].left + 1, + w->y + window_options_audio_widgets[WIDX_TITLE_MUSIC].top + ); + break; + } + case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE: + gfx_draw_string_left(dpi, STR_SHOW_TOOLBAR_BUTTONS_FOR, w, w->colours[1], w->x + 10, w->y + window_options_controls_and_interface_widgets[WIDX_TOOLBAR_BUTTONS_GROUP].top + 15); - size_t activeAvailableThemeIndex = theme_manager_get_active_available_theme_index(); - const utf8 * activeThemeName = theme_manager_get_available_theme_name(activeAvailableThemeIndex); - set_format_arg(0, uintptr_t, (uintptr_t)activeThemeName); + size_t activeAvailableThemeIndex = theme_manager_get_active_available_theme_index(); + const utf8 * activeThemeName = theme_manager_get_available_theme_name(activeAvailableThemeIndex); + set_format_arg(0, uintptr_t, (uintptr_t)activeThemeName); - gfx_draw_string_left(dpi, STR_THEMES_LABEL_CURRENT_THEME, NULL, w->colours[1], w->x + 10, w->y + window_options_controls_and_interface_widgets[WIDX_THEMES].top + 1); - gfx_draw_string_left_clipped( - dpi, - STR_STRING, - gCommonFormatArgs, - w->colours[1], - w->x + window_options_controls_and_interface_widgets[WIDX_THEMES].left + 1, - w->y + window_options_controls_and_interface_widgets[WIDX_THEMES].top, - window_options_controls_and_interface_widgets[WIDX_THEMES_DROPDOWN].left - window_options_controls_and_interface_widgets[WIDX_THEMES].left - 4 - ); - gfx_draw_string_left(dpi, STR_OPTIONS_SCENARIO_GROUPING, NULL, w->colours[1], w->x + 10, w->y + window_options_controls_and_interface_widgets[WIDX_SCENARIO_GROUPING].top + 1); - gfx_draw_string_left_clipped( - dpi, - gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_DIFFICULTY ? - STR_OPTIONS_SCENARIO_DIFFICULTY : - STR_OPTIONS_SCENARIO_ORIGIN, - NULL, - w->colours[1], - w->x + window_options_controls_and_interface_widgets[WIDX_SCENARIO_GROUPING].left + 1, - w->y + window_options_controls_and_interface_widgets[WIDX_SCENARIO_GROUPING].top, - window_options_controls_and_interface_widgets[WIDX_SCENARIO_GROUPING_DROPDOWN].left - window_options_controls_and_interface_widgets[WIDX_SCENARIO_GROUPING].left - 4 - ); - break; - case WINDOW_OPTIONS_PAGE_MISC: - gfx_draw_string_left(dpi, STR_OPTIONS_AUTOSAVE_FREQUENCY_LABEL, w, w->colours[1], w->x + 10, w->y + window_options_misc_widgets[WIDX_AUTOSAVE].top + 1); - gfx_draw_string_left( - dpi, - window_options_autosave_names[gConfigGeneral.autosave_frequency], - NULL, - w->colours[1], - w->x + window_options_misc_widgets[WIDX_AUTOSAVE].left + 1, - w->y + window_options_misc_widgets[WIDX_AUTOSAVE].top - ); + gfx_draw_string_left(dpi, STR_THEMES_LABEL_CURRENT_THEME, NULL, w->colours[1], w->x + 10, w->y + window_options_controls_and_interface_widgets[WIDX_THEMES].top + 1); + gfx_draw_string_left_clipped( + dpi, + STR_STRING, + gCommonFormatArgs, + w->colours[1], + w->x + window_options_controls_and_interface_widgets[WIDX_THEMES].left + 1, + w->y + window_options_controls_and_interface_widgets[WIDX_THEMES].top, + window_options_controls_and_interface_widgets[WIDX_THEMES_DROPDOWN].left - window_options_controls_and_interface_widgets[WIDX_THEMES].left - 4 + ); + gfx_draw_string_left(dpi, STR_OPTIONS_SCENARIO_GROUPING, NULL, w->colours[1], w->x + 10, w->y + window_options_controls_and_interface_widgets[WIDX_SCENARIO_GROUPING].top + 1); + gfx_draw_string_left_clipped( + dpi, + gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_DIFFICULTY ? + STR_OPTIONS_SCENARIO_DIFFICULTY : + STR_OPTIONS_SCENARIO_ORIGIN, + NULL, + w->colours[1], + w->x + window_options_controls_and_interface_widgets[WIDX_SCENARIO_GROUPING].left + 1, + w->y + window_options_controls_and_interface_widgets[WIDX_SCENARIO_GROUPING].top, + window_options_controls_and_interface_widgets[WIDX_SCENARIO_GROUPING_DROPDOWN].left - window_options_controls_and_interface_widgets[WIDX_SCENARIO_GROUPING].left - 4 + ); + break; + case WINDOW_OPTIONS_PAGE_MISC: + gfx_draw_string_left(dpi, STR_OPTIONS_AUTOSAVE_FREQUENCY_LABEL, w, w->colours[1], w->x + 10, w->y + window_options_misc_widgets[WIDX_AUTOSAVE].top + 1); + gfx_draw_string_left( + dpi, + window_options_autosave_names[gConfigGeneral.autosave_frequency], + NULL, + w->colours[1], + w->x + window_options_misc_widgets[WIDX_AUTOSAVE].left + 1, + w->y + window_options_misc_widgets[WIDX_AUTOSAVE].top + ); - const utf8 * name = title_sequence_manager_get_name(gTitleCurrentSequence); - set_format_arg(0, uintptr_t, (uintptr_t)name); - gfx_draw_string_left(dpi, STR_TITLE_SEQUENCE, w, w->colours[1], w->x + 10, w->y + window_options_misc_widgets[WIDX_TITLE_SEQUENCE].top + 1); - gfx_draw_string_left_clipped( - dpi, - STR_STRING, - gCommonFormatArgs, - w->colours[1], - w->x + window_options_misc_widgets[WIDX_TITLE_SEQUENCE].left + 1, - w->y + window_options_misc_widgets[WIDX_TITLE_SEQUENCE].top, - window_options_misc_widgets[WIDX_TITLE_SEQUENCE_DROPDOWN].left - window_options_misc_widgets[WIDX_TITLE_SEQUENCE].left - 4 - ); + const utf8 * name = title_sequence_manager_get_name(gTitleCurrentSequence); + set_format_arg(0, uintptr_t, (uintptr_t)name); + gfx_draw_string_left(dpi, STR_TITLE_SEQUENCE, w, w->colours[1], w->x + 10, w->y + window_options_misc_widgets[WIDX_TITLE_SEQUENCE].top + 1); + gfx_draw_string_left_clipped( + dpi, + STR_STRING, + gCommonFormatArgs, + w->colours[1], + w->x + window_options_misc_widgets[WIDX_TITLE_SEQUENCE].left + 1, + w->y + window_options_misc_widgets[WIDX_TITLE_SEQUENCE].top, + window_options_misc_widgets[WIDX_TITLE_SEQUENCE_DROPDOWN].left - window_options_misc_widgets[WIDX_TITLE_SEQUENCE].left - 4 + ); - gfx_draw_string_left(dpi, STR_DEFAULT_INSPECTION_INTERVAL, w, w->colours[1], w->x + 10, w->y + window_options_misc_widgets[WIDX_DEFAULT_INSPECTION_INTERVAL].top + 1); - gfx_draw_string_left( - dpi, - RideInspectionIntervalNames[gConfigGeneral.default_inspection_interval], - NULL, - w->colours[1], - w->x + window_options_misc_widgets[WIDX_DEFAULT_INSPECTION_INTERVAL].left + 1, - w->y + window_options_misc_widgets[WIDX_DEFAULT_INSPECTION_INTERVAL].top - ); - gfx_draw_string_left(dpi, STR_WINDOW_LIMIT, w, w->colours[1], w->x + 10, w->y + window_options_misc_widgets[WIDX_WINDOW_LIMIT].top + 1); - set_format_arg(0, sint16, gConfigGeneral.window_limit); - gfx_draw_string_left( - dpi, - STR_COMMA16, - gCommonFormatArgs, - w->colours[1], - w->x + window_options_misc_widgets[WIDX_WINDOW_LIMIT].left + 1, - w->y + window_options_misc_widgets[WIDX_WINDOW_LIMIT].top - ); - #ifdef __APPLE__ - set_format_arg(0, uintptr_t, (uintptr_t)macos_str_decomp_to_precomp(gConfigGeneral.rct1_path)); - #else - set_format_arg(0, uintptr_t, (uintptr_t)gConfigGeneral.rct1_path); - #endif - gfx_draw_string_left_clipped( - dpi, - STR_STRING, - gCommonFormatArgs, - w->colours[1], - w->x + window_options_misc_widgets[WIDX_PATH_TO_RCT1_BUTTON].left + 1, - w->y + window_options_misc_widgets[WIDX_PATH_TO_RCT1_BUTTON].top, - 277 - ); - break; - } + gfx_draw_string_left(dpi, STR_DEFAULT_INSPECTION_INTERVAL, w, w->colours[1], w->x + 10, w->y + window_options_misc_widgets[WIDX_DEFAULT_INSPECTION_INTERVAL].top + 1); + gfx_draw_string_left( + dpi, + RideInspectionIntervalNames[gConfigGeneral.default_inspection_interval], + NULL, + w->colours[1], + w->x + window_options_misc_widgets[WIDX_DEFAULT_INSPECTION_INTERVAL].left + 1, + w->y + window_options_misc_widgets[WIDX_DEFAULT_INSPECTION_INTERVAL].top + ); + gfx_draw_string_left(dpi, STR_WINDOW_LIMIT, w, w->colours[1], w->x + 10, w->y + window_options_misc_widgets[WIDX_WINDOW_LIMIT].top + 1); + set_format_arg(0, sint16, gConfigGeneral.window_limit); + gfx_draw_string_left( + dpi, + STR_COMMA16, + gCommonFormatArgs, + w->colours[1], + w->x + window_options_misc_widgets[WIDX_WINDOW_LIMIT].left + 1, + w->y + window_options_misc_widgets[WIDX_WINDOW_LIMIT].top + ); + #ifdef __APPLE__ + set_format_arg(0, uintptr_t, (uintptr_t)macos_str_decomp_to_precomp(gConfigGeneral.rct1_path)); + #else + set_format_arg(0, uintptr_t, (uintptr_t)gConfigGeneral.rct1_path); + #endif + gfx_draw_string_left_clipped( + dpi, + STR_STRING, + gCommonFormatArgs, + w->colours[1], + w->x + window_options_misc_widgets[WIDX_PATH_TO_RCT1_BUTTON].left + 1, + w->y + window_options_misc_widgets[WIDX_PATH_TO_RCT1_BUTTON].top, + 277 + ); + break; + } } // helper function, all dropdown boxes have similar properties static void window_options_show_dropdown(rct_window *w, rct_widget *widget, sint32 num_items) { - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - num_items, - widget->right - widget->left - 3 - ); + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + num_items, + widget->right - widget->left - 3 + ); } static void window_options_update_height_markers() { - config_save_default(); - gfx_invalidate_screen(); + config_save_default(); + gfx_invalidate_screen(); } static void window_options_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - if (w->page == WINDOW_OPTIONS_PAGE_AUDIO) { - *width = 1000; - } + if (w->page == WINDOW_OPTIONS_PAGE_AUDIO) { + *width = 1000; + } } static void window_options_text_input(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (text == NULL) - return; + if (text == NULL) + return; - if (widgetIndex == WIDX_CHANNEL_BUTTON) { - if (gConfigTwitch.channel != NULL) - free(gConfigTwitch.channel); - gConfigTwitch.channel = _strdup(text); - config_save_default(); - } + if (widgetIndex == WIDX_CHANNEL_BUTTON) { + if (gConfigTwitch.channel != NULL) + free(gConfigTwitch.channel); + gConfigTwitch.channel = _strdup(text); + config_save_default(); + } } static void window_options_tooltip(rct_window *w, rct_widgetindex widgetIndex, rct_string_id *stringid) { - if (widgetIndex == WIDX_PATH_TO_RCT1_BUTTON && w->page == WINDOW_OPTIONS_PAGE_MISC) { - if (str_is_null_or_empty(gConfigGeneral.rct1_path)) { - // No tooltip if the path is empty - *stringid = STR_NONE; - } else { - set_format_arg(0, uintptr_t, (uintptr_t)gConfigGeneral.rct1_path); - } - } + if (widgetIndex == WIDX_PATH_TO_RCT1_BUTTON && w->page == WINDOW_OPTIONS_PAGE_MISC) { + if (str_is_null_or_empty(gConfigGeneral.rct1_path)) { + // No tooltip if the path is empty + *stringid = STR_NONE; + } else { + set_format_arg(0, uintptr_t, (uintptr_t)gConfigGeneral.rct1_path); + } + } } #pragma region Common static void window_options_set_page(rct_window *w, sint32 page) { - w->page = page; - w->frame_no = 0; - w->enabled_widgets = window_options_page_enabled_widgets[page]; - w->pressed_widgets = 0; - w->widgets = window_options_page_widgets[page]; + w->page = page; + w->frame_no = 0; + w->enabled_widgets = window_options_page_enabled_widgets[page]; + w->pressed_widgets = 0; + w->widgets = window_options_page_widgets[page]; - window_invalidate(w); - window_event_resize_call(w); - window_event_invalidate_call(w); - window_init_scroll_widgets(w); - window_invalidate(w); + window_invalidate(w); + window_event_resize_call(w); + window_event_invalidate_call(w); + window_init_scroll_widgets(w); + window_invalidate(w); } static void window_options_set_pressed_tab(rct_window *w) { - sint32 i; - for (i = 0; i < WINDOW_OPTIONS_PAGE_COUNT; i++) - w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); - w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); + sint32 i; + for (i = 0; i < WINDOW_OPTIONS_PAGE_COUNT; i++) + w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); + w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); } static void window_options_draw_tab_image(rct_drawpixelinfo *dpi, rct_window *w, sint32 page, sint32 spriteIndex) { - rct_widgetindex widgetIndex = WIDX_TAB_1 + page; - rct_widget *widget = &w->widgets[widgetIndex]; + rct_widgetindex widgetIndex = WIDX_TAB_1 + page; + rct_widget *widget = &w->widgets[widgetIndex]; - sint16 l = w->x + widget->left; - sint16 t = w->y + widget->top; + sint16 l = w->x + widget->left; + sint16 t = w->y + widget->top; - if (!(w->disabled_widgets & (1LL << widgetIndex))) { - if (w->page == page) { - sint32 frame = w->frame_no / window_options_tab_animation_divisor[w->page]; - spriteIndex += (frame % window_options_tab_animation_frames[w->page]); - } + if (!(w->disabled_widgets & (1LL << widgetIndex))) { + if (w->page == page) { + sint32 frame = w->frame_no / window_options_tab_animation_divisor[w->page]; + spriteIndex += (frame % window_options_tab_animation_frames[w->page]); + } - // Draw normal, enabled sprite. - gfx_draw_sprite(dpi, spriteIndex, l, t, 0); - } else { - // Get the window background colour - uint8 window_colour = NOT_TRANSLUCENT(w->colours[widget->colour]); + // Draw normal, enabled sprite. + gfx_draw_sprite(dpi, spriteIndex, l, t, 0); + } else { + // Get the window background colour + uint8 window_colour = NOT_TRANSLUCENT(w->colours[widget->colour]); - // Draw greyed out (light border bottom right shadow) - gfx_draw_sprite_solid(dpi, spriteIndex, l + 1, t + 1, ColourMapA[window_colour].lighter); + // Draw greyed out (light border bottom right shadow) + gfx_draw_sprite_solid(dpi, spriteIndex, l + 1, t + 1, ColourMapA[window_colour].lighter); - // Draw greyed out (dark) - gfx_draw_sprite_solid(dpi, spriteIndex, l, t, ColourMapA[window_colour].mid_light); - } + // Draw greyed out (dark) + gfx_draw_sprite_solid(dpi, spriteIndex, l, t, ColourMapA[window_colour].mid_light); + } } static void window_options_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) { - window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_DISPLAY, SPR_TAB_RIDE_0); - window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_RENDERING, SPR_TAB_PAINT_0); - window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_CULTURE, SPR_TAB_TIMER_0); - window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_AUDIO, SPR_TAB_MUSIC_0); - window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE, SPR_TAB_GEARS_0); - window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_MISC, SPR_TAB_WRENCH_0); - window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_TWITCH, SPR_G2_TAB_TWITCH); + window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_DISPLAY, SPR_TAB_RIDE_0); + window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_RENDERING, SPR_TAB_PAINT_0); + window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_CULTURE, SPR_TAB_TIMER_0); + window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_AUDIO, SPR_TAB_MUSIC_0); + window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE, SPR_TAB_GEARS_0); + window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_MISC, SPR_TAB_WRENCH_0); + window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_TWITCH, SPR_G2_TAB_TWITCH); } #pragma endregion diff --git a/src/openrct2/windows/park.c b/src/openrct2/windows/park.c index 42a7a655cd..30921f974d 100644 --- a/src/openrct2/windows/park.c +++ b/src/openrct2/windows/park.c @@ -40,118 +40,118 @@ #include "../cheats.h" enum WINDOW_PARK_PAGE { - WINDOW_PARK_PAGE_ENTRANCE, - WINDOW_PARK_PAGE_RATING, - WINDOW_PARK_PAGE_GUESTS, - WINDOW_PARK_PAGE_PRICE, - WINDOW_PARK_PAGE_STATS, - WINDOW_PARK_PAGE_OBJECTIVE, - WINDOW_PARK_PAGE_AWARDS + WINDOW_PARK_PAGE_ENTRANCE, + WINDOW_PARK_PAGE_RATING, + WINDOW_PARK_PAGE_GUESTS, + WINDOW_PARK_PAGE_PRICE, + WINDOW_PARK_PAGE_STATS, + WINDOW_PARK_PAGE_OBJECTIVE, + WINDOW_PARK_PAGE_AWARDS }; enum WINDOW_PARK_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_TAB_2, - WIDX_TAB_3, - WIDX_TAB_4, - WIDX_TAB_5, - WIDX_TAB_6, - WIDX_TAB_7, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_TAB_2, + WIDX_TAB_3, + WIDX_TAB_4, + WIDX_TAB_5, + WIDX_TAB_6, + WIDX_TAB_7, - WIDX_VIEWPORT = 11, - WIDX_STATUS, - WIDX_OPEN_OR_CLOSE, - WIDX_BUY_LAND_RIGHTS, - //WIDX_BUY_CONSTRUCTION_RIGHTS, - WIDX_LOCATE, - WIDX_RENAME, - WIDX_CLOSE_LIGHT, - WIDX_OPEN_LIGHT, + WIDX_VIEWPORT = 11, + WIDX_STATUS, + WIDX_OPEN_OR_CLOSE, + WIDX_BUY_LAND_RIGHTS, + //WIDX_BUY_CONSTRUCTION_RIGHTS, + WIDX_LOCATE, + WIDX_RENAME, + WIDX_CLOSE_LIGHT, + WIDX_OPEN_LIGHT, - WIDX_PRICE_LABEL = 11, - WIDX_PRICE, - WIDX_INCREASE_PRICE, - WIDX_DECREASE_PRICE, + WIDX_PRICE_LABEL = 11, + WIDX_PRICE, + WIDX_INCREASE_PRICE, + WIDX_DECREASE_PRICE, - WIDX_ENTER_NAME = 11 + WIDX_ENTER_NAME = 11 }; #pragma region Widgets #define MAIN_PARK_WIDGETS \ - { WWT_FRAME, 0, 0, 229, 0, 223, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \ - { WWT_CAPTION, 0, 1, 228, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, /* title bar */ \ - { WWT_CLOSEBOX, 0, 217, 227, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \ - { WWT_RESIZE, 1, 0, 229, 43, 173, 0xFFFFFFFF, STR_NONE }, /* tab content panel */ \ - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_ENTRANCE_TAB_TIP }, /* tab 1 */ \ - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_RATING_TAB_TIP }, /* tab 2 */ \ - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_GUESTS_TAB_TIP }, /* tab 3 */ \ - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_PRICE_TAB_TIP }, /* tab 4 */ \ - { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_STATS_TAB_TIP }, /* tab 5 */ \ - { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_OBJECTIVE_TAB_TIP }, /* tab 6 */ \ - { WWT_TAB, 1, 189, 219, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_AWARDS_TAB_TIP } /* tab 7 */ + { WWT_FRAME, 0, 0, 229, 0, 223, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \ + { WWT_CAPTION, 0, 1, 228, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, /* title bar */ \ + { WWT_CLOSEBOX, 0, 217, 227, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \ + { WWT_RESIZE, 1, 0, 229, 43, 173, 0xFFFFFFFF, STR_NONE }, /* tab content panel */ \ + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_ENTRANCE_TAB_TIP }, /* tab 1 */ \ + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_RATING_TAB_TIP }, /* tab 2 */ \ + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_GUESTS_TAB_TIP }, /* tab 3 */ \ + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_PRICE_TAB_TIP }, /* tab 4 */ \ + { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_STATS_TAB_TIP }, /* tab 5 */ \ + { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_OBJECTIVE_TAB_TIP }, /* tab 6 */ \ + { WWT_TAB, 1, 189, 219, 17, 43, 0x20000000 | SPR_TAB, STR_PARK_AWARDS_TAB_TIP } /* tab 7 */ static rct_widget window_park_entrance_widgets[] = { - MAIN_PARK_WIDGETS, - { WWT_VIEWPORT, 1, 3, 204, 46, 160, 0xFFFFFFFF, STR_NONE }, // viewport - { WWT_12, 1, 3, 204, 161, 171, 0xFFFFFFFF, STR_NONE }, // status - { WWT_FLATBTN, 1, 205, 228, 49, 72, 0xFFFFFFFF, STR_OPEN_OR_CLOSE_PARK_TIP }, // open / close - { WWT_FLATBTN, 1, 205, 228, 73, 96, SPR_BUY_LAND_RIGHTS, STR_BUY_LAND_AND_CONSTRUCTION_RIGHTS_TIP }, // buy land rights - //{ WWT_FLATBTN, 1, 205, 228, 97, 120, SPR_BUY_CONSTRUCTION_RIGHTS, STR_BUY_CONSTRUCTION_RIGHTS_TIP }, // buy construction rights - { WWT_FLATBTN, 1, 205, 228, 97, 120, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP }, // locate - { WWT_FLATBTN, 1, 205, 228, 121, 144, SPR_RENAME, STR_NAME_PARK_TIP }, // rename - { WWT_IMGBTN, 1, 210, 223, 51, 65, SPR_G2_RCT1_CLOSE_BUTTON_0, STR_CLOSE_PARK_TIP }, - { WWT_IMGBTN, 1, 210, 223, 66, 79, SPR_G2_RCT1_OPEN_BUTTON_0, STR_OPEN_PARK_TIP }, - { WIDGETS_END }, + MAIN_PARK_WIDGETS, + { WWT_VIEWPORT, 1, 3, 204, 46, 160, 0xFFFFFFFF, STR_NONE }, // viewport + { WWT_12, 1, 3, 204, 161, 171, 0xFFFFFFFF, STR_NONE }, // status + { WWT_FLATBTN, 1, 205, 228, 49, 72, 0xFFFFFFFF, STR_OPEN_OR_CLOSE_PARK_TIP }, // open / close + { WWT_FLATBTN, 1, 205, 228, 73, 96, SPR_BUY_LAND_RIGHTS, STR_BUY_LAND_AND_CONSTRUCTION_RIGHTS_TIP }, // buy land rights + //{ WWT_FLATBTN, 1, 205, 228, 97, 120, SPR_BUY_CONSTRUCTION_RIGHTS, STR_BUY_CONSTRUCTION_RIGHTS_TIP }, // buy construction rights + { WWT_FLATBTN, 1, 205, 228, 97, 120, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP }, // locate + { WWT_FLATBTN, 1, 205, 228, 121, 144, SPR_RENAME, STR_NAME_PARK_TIP }, // rename + { WWT_IMGBTN, 1, 210, 223, 51, 65, SPR_G2_RCT1_CLOSE_BUTTON_0, STR_CLOSE_PARK_TIP }, + { WWT_IMGBTN, 1, 210, 223, 66, 79, SPR_G2_RCT1_OPEN_BUTTON_0, STR_OPEN_PARK_TIP }, + { WIDGETS_END }, }; static rct_widget window_park_rating_widgets[] = { - MAIN_PARK_WIDGETS, - { WIDGETS_END }, + MAIN_PARK_WIDGETS, + { WIDGETS_END }, }; static rct_widget window_park_guests_widgets[] = { - MAIN_PARK_WIDGETS, - { WIDGETS_END }, + MAIN_PARK_WIDGETS, + { WIDGETS_END }, }; static rct_widget window_park_price_widgets[] = { - MAIN_PARK_WIDGETS, - { WWT_24, 1, 7, 146, 50, 61, STR_ADMISSION_PRICE, STR_NONE }, // - { WWT_SPINNER, 1, 147, 222, 50, 61, STR_ARG_6_CURRENCY2DP, STR_NONE }, // price - { WWT_DROPDOWN_BUTTON, 1, 211, 221, 51, 55, STR_NUMERIC_UP, STR_NONE }, // increase price - { WWT_DROPDOWN_BUTTON, 1, 211, 221, 56, 60, STR_NUMERIC_DOWN, STR_NONE }, // decrease price - { WIDGETS_END }, + MAIN_PARK_WIDGETS, + { WWT_24, 1, 7, 146, 50, 61, STR_ADMISSION_PRICE, STR_NONE }, // + { WWT_SPINNER, 1, 147, 222, 50, 61, STR_ARG_6_CURRENCY2DP, STR_NONE }, // price + { WWT_DROPDOWN_BUTTON, 1, 211, 221, 51, 55, STR_NUMERIC_UP, STR_NONE }, // increase price + { WWT_DROPDOWN_BUTTON, 1, 211, 221, 56, 60, STR_NUMERIC_DOWN, STR_NONE }, // decrease price + { WIDGETS_END }, }; static rct_widget window_park_stats_widgets[] = { - MAIN_PARK_WIDGETS, - { WIDGETS_END }, + MAIN_PARK_WIDGETS, + { WIDGETS_END }, }; static rct_widget window_park_objective_widgets[] = { - MAIN_PARK_WIDGETS, - { WWT_DROPDOWN_BUTTON, 1, 7, 222, 209, 220, STR_ENTER_NAME_INTO_SCENARIO_CHART, STR_NONE }, // enter name - { WIDGETS_END }, + MAIN_PARK_WIDGETS, + { WWT_DROPDOWN_BUTTON, 1, 7, 222, 209, 220, STR_ENTER_NAME_INTO_SCENARIO_CHART, STR_NONE }, // enter name + { WIDGETS_END }, }; static rct_widget window_park_awards_widgets[] = { - MAIN_PARK_WIDGETS, - { WIDGETS_END }, + MAIN_PARK_WIDGETS, + { WIDGETS_END }, }; static rct_widget *window_park_page_widgets[] = { - window_park_entrance_widgets, - window_park_rating_widgets, - window_park_guests_widgets, - window_park_price_widgets, - window_park_stats_widgets, - window_park_objective_widgets, - window_park_awards_widgets + window_park_entrance_widgets, + window_park_rating_widgets, + window_park_guests_widgets, + window_park_price_widgets, + window_park_stats_widgets, + window_park_objective_widgets, + window_park_awards_widgets }; #pragma endregion @@ -212,230 +212,230 @@ static void window_park_awards_invalidate(rct_window *w); static void window_park_awards_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_park_entrance_events = { - window_park_entrance_close, - window_park_entrance_mouseup, - window_park_entrance_resize, - window_park_entrance_mousedown, - window_park_entrance_dropdown, - NULL, - window_park_entrance_update, - NULL, - NULL, - window_park_entrance_toolupdate, - window_park_entrance_tooldown, - window_park_entrance_tooldrag, - NULL, - window_park_entrance_toolabort, - NULL, - NULL, - NULL, - NULL, - NULL, - window_park_entrance_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_park_entrance_invalidate, - window_park_entrance_paint, - NULL + window_park_entrance_close, + window_park_entrance_mouseup, + window_park_entrance_resize, + window_park_entrance_mousedown, + window_park_entrance_dropdown, + NULL, + window_park_entrance_update, + NULL, + NULL, + window_park_entrance_toolupdate, + window_park_entrance_tooldown, + window_park_entrance_tooldrag, + NULL, + window_park_entrance_toolabort, + NULL, + NULL, + NULL, + NULL, + NULL, + window_park_entrance_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_park_entrance_invalidate, + window_park_entrance_paint, + NULL }; static rct_window_event_list window_park_rating_events = { - NULL, - window_park_rating_mouseup, - window_park_rating_resize, - NULL, - NULL, - NULL, - window_park_rating_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_park_rating_invalidate, - window_park_rating_paint, - NULL + NULL, + window_park_rating_mouseup, + window_park_rating_resize, + NULL, + NULL, + NULL, + window_park_rating_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_park_rating_invalidate, + window_park_rating_paint, + NULL }; static rct_window_event_list window_park_guests_events = { - NULL, - window_park_guests_mouseup, - window_park_guests_resize, - NULL, - NULL, - NULL, - window_park_guests_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_park_guests_invalidate, - window_park_guests_paint, - NULL + NULL, + window_park_guests_mouseup, + window_park_guests_resize, + NULL, + NULL, + NULL, + window_park_guests_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_park_guests_invalidate, + window_park_guests_paint, + NULL }; static rct_window_event_list window_park_price_events = { - NULL, - window_park_price_mouseup, - window_park_price_resize, - window_park_price_mousedown, - NULL, - NULL, - window_park_price_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_park_price_invalidate, - window_park_price_paint, - NULL + NULL, + window_park_price_mouseup, + window_park_price_resize, + window_park_price_mousedown, + NULL, + NULL, + window_park_price_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_park_price_invalidate, + window_park_price_paint, + NULL }; static rct_window_event_list window_park_stats_events = { - NULL, - window_park_stats_mouseup, - window_park_stats_resize, - NULL, - NULL, - NULL, - window_park_stats_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_park_stats_invalidate, - window_park_stats_paint, - NULL + NULL, + window_park_stats_mouseup, + window_park_stats_resize, + NULL, + NULL, + NULL, + window_park_stats_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_park_stats_invalidate, + window_park_stats_paint, + NULL }; static rct_window_event_list window_park_objective_events = { - NULL, - window_park_objective_mouseup, - window_park_objective_resize, - NULL, - NULL, - NULL, - window_park_objective_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_park_objective_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_park_objective_invalidate, - window_park_objective_paint, - NULL + NULL, + window_park_objective_mouseup, + window_park_objective_resize, + NULL, + NULL, + NULL, + window_park_objective_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_park_objective_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_park_objective_invalidate, + window_park_objective_paint, + NULL }; static rct_window_event_list window_park_awards_events = { - NULL, - window_park_awards_mouseup, - window_park_awards_resize, - NULL, - NULL, - NULL, - window_park_awards_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_park_awards_invalidate, - window_park_awards_paint, - NULL + NULL, + window_park_awards_mouseup, + window_park_awards_resize, + NULL, + NULL, + NULL, + window_park_awards_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_park_awards_invalidate, + window_park_awards_paint, + NULL }; static rct_window_event_list *window_park_page_events[] = { - &window_park_entrance_events, - &window_park_rating_events, - &window_park_guests_events, - &window_park_price_events, - &window_park_stats_events, - &window_park_objective_events, - &window_park_awards_events + &window_park_entrance_events, + &window_park_rating_events, + &window_park_guests_events, + &window_park_price_events, + &window_park_stats_events, + &window_park_objective_events, + &window_park_awards_events }; #pragma endregion @@ -443,118 +443,118 @@ static rct_window_event_list *window_park_page_events[] = { #pragma region Enabled widgets static uint32 window_park_page_enabled_widgets[] = { - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | - (1 << WIDX_TAB_7) | - (1 << WIDX_OPEN_OR_CLOSE) | - (1 << WIDX_BUY_LAND_RIGHTS) | - //(1 << WIDX_BUY_CONSTRUCTION_RIGHTS) | - (1 << WIDX_LOCATE) | - (1 << WIDX_RENAME) | - (1 << WIDX_CLOSE_LIGHT) | - (1 << WIDX_OPEN_LIGHT), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | + (1 << WIDX_TAB_7) | + (1 << WIDX_OPEN_OR_CLOSE) | + (1 << WIDX_BUY_LAND_RIGHTS) | + //(1 << WIDX_BUY_CONSTRUCTION_RIGHTS) | + (1 << WIDX_LOCATE) | + (1 << WIDX_RENAME) | + (1 << WIDX_CLOSE_LIGHT) | + (1 << WIDX_OPEN_LIGHT), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | - (1 << WIDX_TAB_7), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | + (1 << WIDX_TAB_7), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | - (1 << WIDX_TAB_7), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | + (1 << WIDX_TAB_7), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | - (1 << WIDX_TAB_7) | - (1 << WIDX_INCREASE_PRICE) | - (1 << WIDX_DECREASE_PRICE), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | + (1 << WIDX_TAB_7) | + (1 << WIDX_INCREASE_PRICE) | + (1 << WIDX_DECREASE_PRICE), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | - (1 << WIDX_TAB_7), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | + (1 << WIDX_TAB_7), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | - (1 << WIDX_TAB_7) | - (1 << WIDX_ENTER_NAME), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | + (1 << WIDX_TAB_7) | + (1 << WIDX_ENTER_NAME), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_TAB_4) | - (1 << WIDX_TAB_5) | - (1 << WIDX_TAB_6) | - (1 << WIDX_TAB_7) + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_TAB_4) | + (1 << WIDX_TAB_5) | + (1 << WIDX_TAB_6) | + (1 << WIDX_TAB_7) }; static uint32 window_park_page_hold_down_widgets[] = { - 0, - 0, - 0, + 0, + 0, + 0, - (1 << WIDX_INCREASE_PRICE) | - (1 << WIDX_DECREASE_PRICE), + (1 << WIDX_INCREASE_PRICE) | + (1 << WIDX_DECREASE_PRICE), - 0, - 0, - 0 + 0, + 0, + 0 }; #pragma endregion typedef struct window_park_award { - rct_string_id text; - uint32 sprite; + rct_string_id text; + uint32 sprite; } window_park_award; static const window_park_award ParkAwards[] = { - { STR_AWARD_MOST_UNTIDY, SPR_AWARD_MOST_UNTIDY }, - { STR_AWARD_MOST_TIDY, SPR_AWARD_MOST_TIDY }, - { STR_AWARD_BEST_ROLLERCOASTERS, SPR_AWARD_BEST_ROLLERCOASTERS }, - { STR_AWARD_BEST_VALUE, SPR_AWARD_BEST_VALUE }, - { STR_AWARD_MOST_BEAUTIFUL, SPR_AWARD_MOST_BEAUTIFUL }, - { STR_AWARD_WORST_VALUE, SPR_AWARD_WORST_VALUE }, - { STR_AWARD_SAFEST, SPR_AWARD_SAFEST }, - { STR_AWARD_BEST_STAFF, SPR_AWARD_BEST_STAFF }, - { STR_AWARD_BEST_FOOD, SPR_AWARD_BEST_FOOD }, - { STR_AWARD_WORST_FOOD, SPR_AWARD_WORST_FOOD }, - { STR_AWARD_BEST_RESTROOMS, SPR_AWARD_BEST_RESTROOMS }, - { STR_AWARD_MOST_DISAPPOINTING, SPR_AWARD_MOST_DISAPPOINTING }, - { STR_AWARD_BEST_WATER_RIDES, SPR_AWARD_BEST_WATER_RIDES }, - { STR_AWARD_BEST_CUSTOM_DESIGNED_RIDES, SPR_AWARD_BEST_CUSTOM_DESIGNED_RIDES }, - { STR_AWARD_MOST_DAZZLING_RIDE_COLOURS, SPR_AWARD_MOST_DAZZLING_RIDE_COLOURS }, - { STR_AWARD_MOST_CONFUSING_LAYOUT, SPR_AWARD_MOST_CONFUSING_LAYOUT }, - { STR_AWARD_BEST_GENTLE_RIDES, SPR_AWARD_BEST_GENTLE_RIDES }, + { STR_AWARD_MOST_UNTIDY, SPR_AWARD_MOST_UNTIDY }, + { STR_AWARD_MOST_TIDY, SPR_AWARD_MOST_TIDY }, + { STR_AWARD_BEST_ROLLERCOASTERS, SPR_AWARD_BEST_ROLLERCOASTERS }, + { STR_AWARD_BEST_VALUE, SPR_AWARD_BEST_VALUE }, + { STR_AWARD_MOST_BEAUTIFUL, SPR_AWARD_MOST_BEAUTIFUL }, + { STR_AWARD_WORST_VALUE, SPR_AWARD_WORST_VALUE }, + { STR_AWARD_SAFEST, SPR_AWARD_SAFEST }, + { STR_AWARD_BEST_STAFF, SPR_AWARD_BEST_STAFF }, + { STR_AWARD_BEST_FOOD, SPR_AWARD_BEST_FOOD }, + { STR_AWARD_WORST_FOOD, SPR_AWARD_WORST_FOOD }, + { STR_AWARD_BEST_RESTROOMS, SPR_AWARD_BEST_RESTROOMS }, + { STR_AWARD_MOST_DISAPPOINTING, SPR_AWARD_MOST_DISAPPOINTING }, + { STR_AWARD_BEST_WATER_RIDES, SPR_AWARD_BEST_WATER_RIDES }, + { STR_AWARD_BEST_CUSTOM_DESIGNED_RIDES, SPR_AWARD_BEST_CUSTOM_DESIGNED_RIDES }, + { STR_AWARD_MOST_DAZZLING_RIDE_COLOURS, SPR_AWARD_MOST_DAZZLING_RIDE_COLOURS }, + { STR_AWARD_MOST_CONFUSING_LAYOUT, SPR_AWARD_MOST_CONFUSING_LAYOUT }, + { STR_AWARD_BEST_GENTLE_RIDES, SPR_AWARD_BEST_GENTLE_RIDES }, }; static void window_park_init_viewport(rct_window *w); @@ -570,21 +570,21 @@ static void window_park_set_disabled_tabs(rct_window *w); */ static rct_window *window_park_open() { - rct_window* w; + rct_window* w; - w = window_create_auto_pos(230, 174 + 9, &window_park_entrance_events, WC_PARK_INFORMATION, WF_10); - w->widgets = window_park_entrance_widgets; - w->enabled_widgets = window_park_page_enabled_widgets[WINDOW_PARK_PAGE_ENTRANCE]; - w->number = 0; - w->page = WINDOW_PARK_PAGE_ENTRANCE; - w->viewport_focus_coordinates.y = 0; - w->frame_no = 0; - w->list_information_type = -1; - w->var_48C = -1; - w->var_492 = 0; - window_park_set_disabled_tabs(w); + w = window_create_auto_pos(230, 174 + 9, &window_park_entrance_events, WC_PARK_INFORMATION, WF_10); + w->widgets = window_park_entrance_widgets; + w->enabled_widgets = window_park_page_enabled_widgets[WINDOW_PARK_PAGE_ENTRANCE]; + w->number = 0; + w->page = WINDOW_PARK_PAGE_ENTRANCE; + w->viewport_focus_coordinates.y = 0; + w->frame_no = 0; + w->list_information_type = -1; + w->var_48C = -1; + w->var_492 = 0; + window_park_set_disabled_tabs(w); - return w; + return w; } /** @@ -593,14 +593,14 @@ static rct_window *window_park_open() */ static void window_park_set_disabled_tabs(rct_window *w) { - // Disable price tab if money is disabled - w->disabled_widgets = (gParkFlags & PARK_FLAGS_NO_MONEY) ? (1 << WIDX_TAB_4) : 0; + // Disable price tab if money is disabled + w->disabled_widgets = (gParkFlags & PARK_FLAGS_NO_MONEY) ? (1 << WIDX_TAB_4) : 0; } static void window_park_prepare_window_title_text() { - set_format_arg(0, rct_string_id, gParkName); - set_format_arg(2, uint32, gParkNameArgs); + set_format_arg(0, rct_string_id, gParkName); + set_format_arg(2, uint32, gParkNameArgs); } #pragma region Entrance page @@ -611,23 +611,23 @@ static void window_park_prepare_window_title_text() */ void window_park_entrance_open() { - rct_window* window; + rct_window* window; - window = window_bring_to_front_by_class(WC_PARK_INFORMATION); - if (window == NULL) { - window = window_park_open(); - window->viewport_focus_coordinates.y = -1; - window->viewport_focus_coordinates.x = -1; - } + window = window_bring_to_front_by_class(WC_PARK_INFORMATION); + if (window == NULL) { + window = window_park_open(); + window->viewport_focus_coordinates.y = -1; + window->viewport_focus_coordinates.x = -1; + } - window->page = WINDOW_PARK_PAGE_ENTRANCE; - window_invalidate(window); - window->widgets = window_park_entrance_widgets; - window->enabled_widgets = window_park_page_enabled_widgets[WINDOW_PARK_PAGE_ENTRANCE]; - window->event_handlers = &window_park_entrance_events; - window->pressed_widgets = 0; - window_init_scroll_widgets(window); - window_park_init_viewport(window); + window->page = WINDOW_PARK_PAGE_ENTRANCE; + window_invalidate(window); + window->widgets = window_park_entrance_widgets; + window->enabled_widgets = window_park_page_enabled_widgets[WINDOW_PARK_PAGE_ENTRANCE]; + window->event_handlers = &window_park_entrance_events; + window->pressed_widgets = 0; + window_init_scroll_widgets(window); + window_park_init_viewport(window); } /** @@ -636,9 +636,9 @@ void window_park_entrance_open() */ static void window_park_entrance_close(rct_window *w) { - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) - if (w->classification == gCurrentToolWidget.window_classification && w->number == gCurrentToolWidget.window_number) - tool_cancel(); + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) + if (w->classification == gCurrentToolWidget.window_classification && w->number == gCurrentToolWidget.window_number) + tool_cancel(); } /** @@ -647,38 +647,38 @@ static void window_park_entrance_close(rct_window *w) */ static void window_park_entrance_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - window_park_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_BUY_LAND_RIGHTS: - toggle_land_rights_window(w, WIDX_BUY_LAND_RIGHTS); - break; - // case WIDX_BUY_CONSTRUCTION_RIGHTS: - // break; - case WIDX_LOCATE: - window_scroll_to_viewport(w); - break; - case WIDX_RENAME: - set_format_arg(16, uint32, gParkNameArgs); - window_text_input_open(w, WIDX_RENAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, gParkName, 0, 32); - break; - case WIDX_CLOSE_LIGHT: - park_set_open(0); - break; - case WIDX_OPEN_LIGHT: - park_set_open(1); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + window_park_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_BUY_LAND_RIGHTS: + toggle_land_rights_window(w, WIDX_BUY_LAND_RIGHTS); + break; + // case WIDX_BUY_CONSTRUCTION_RIGHTS: + // break; + case WIDX_LOCATE: + window_scroll_to_viewport(w); + break; + case WIDX_RENAME: + set_format_arg(16, uint32, gParkNameArgs); + window_text_input_open(w, WIDX_RENAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, gParkName, 0, 32); + break; + case WIDX_CLOSE_LIGHT: + park_set_open(0); + break; + case WIDX_OPEN_LIGHT: + park_set_open(1); + break; + } } /** @@ -687,9 +687,9 @@ static void window_park_entrance_mouseup(rct_window *w, rct_widgetindex widgetIn */ static void window_park_entrance_resize(rct_window *w) { - w->flags |= WF_RESIZABLE; - window_set_resize(w, 230, 174 + 9, 230 * 3, (274 + 9) * 3); - window_park_init_viewport(w); + w->flags |= WF_RESIZABLE; + window_set_resize(w, 230, 174 + 9, 230 * 3, (274 + 9) * 3); + window_park_init_viewport(w); } /** @@ -698,28 +698,28 @@ static void window_park_entrance_resize(rct_window *w) */ static void window_park_entrance_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - if (widgetIndex == WIDX_OPEN_OR_CLOSE) { - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_CLOSE_PARK; - gDropdownItemsArgs[1] = STR_OPEN_PARK; - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - 2 - ); + if (widgetIndex == WIDX_OPEN_OR_CLOSE) { + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_CLOSE_PARK; + gDropdownItemsArgs[1] = STR_OPEN_PARK; + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + 2 + ); - if (park_is_open()) { - gDropdownDefaultIndex = 0; - dropdown_set_checked(1, true); - } else { - gDropdownDefaultIndex = 1; - dropdown_set_checked(0, true); - } - } + if (park_is_open()) { + gDropdownDefaultIndex = 0; + dropdown_set_checked(1, true); + } else { + gDropdownDefaultIndex = 1; + dropdown_set_checked(0, true); + } + } } /** @@ -728,18 +728,18 @@ static void window_park_entrance_mousedown(rct_widgetindex widgetIndex, rct_wind */ static void window_park_entrance_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex == WIDX_OPEN_OR_CLOSE) { - if (dropdownIndex == -1) - dropdownIndex = gDropdownHighlightedIndex; + if (widgetIndex == WIDX_OPEN_OR_CLOSE) { + if (dropdownIndex == -1) + dropdownIndex = gDropdownHighlightedIndex; - if (dropdownIndex != 0) { - gGameCommandErrorTitle = STR_CANT_CLOSE_PARK; - park_set_open(1); - } else { - gGameCommandErrorTitle = STR_CANT_OPEN_PARK; - park_set_open(0); - } - } + if (dropdownIndex != 0) { + gGameCommandErrorTitle = STR_CANT_CLOSE_PARK; + park_set_open(1); + } else { + gGameCommandErrorTitle = STR_CANT_OPEN_PARK; + park_set_open(0); + } + } } /** @@ -748,87 +748,87 @@ static void window_park_entrance_dropdown(rct_window *w, rct_widgetindex widgetI */ static void window_park_entrance_update(rct_window *w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB_1); + w->frame_no++; + widget_invalidate(w, WIDX_TAB_1); } static void window_park_entrance_tool_update_land_rights(sint16 x, sint16 y) { - map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + map_invalidate_selection_rect(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - rct_xy16 mapTile = { 0 }; - screen_get_map_xy(x, y, &mapTile.x, &mapTile.y, NULL); + rct_xy16 mapTile = { 0 }; + screen_get_map_xy(x, y, &mapTile.x, &mapTile.y, NULL); - if (mapTile.x == MAP_LOCATION_NULL) { - if (gLandRightsCost != MONEY32_UNDEFINED) { - gLandRightsCost = MONEY32_UNDEFINED; - window_invalidate_by_class(WC_CLEAR_SCENERY); - } - return; - } + if (mapTile.x == MAP_LOCATION_NULL) { + if (gLandRightsCost != MONEY32_UNDEFINED) { + gLandRightsCost = MONEY32_UNDEFINED; + window_invalidate_by_class(WC_CLEAR_SCENERY); + } + return; + } - uint8 state_changed = 0; + uint8 state_changed = 0; - if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) { - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - state_changed++; - } + if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) { + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + state_changed++; + } - if (gMapSelectType != MAP_SELECT_TYPE_FULL) { - gMapSelectType = MAP_SELECT_TYPE_FULL; - state_changed++; - } + if (gMapSelectType != MAP_SELECT_TYPE_FULL) { + gMapSelectType = MAP_SELECT_TYPE_FULL; + state_changed++; + } - sint16 tool_size = gLandToolSize; - if (tool_size == 0) - tool_size = 1; + sint16 tool_size = gLandToolSize; + if (tool_size == 0) + tool_size = 1; - sint16 tool_length = (tool_size - 1) * 32; + sint16 tool_length = (tool_size - 1) * 32; - // Move to tool bottom left - mapTile.x -= (tool_size - 1) * 16; - mapTile.y -= (tool_size - 1) * 16; - mapTile.x &= 0xFFE0; - mapTile.y &= 0xFFE0; + // Move to tool bottom left + mapTile.x -= (tool_size - 1) * 16; + mapTile.y -= (tool_size - 1) * 16; + mapTile.x &= 0xFFE0; + mapTile.y &= 0xFFE0; - if (gMapSelectPositionA.x != mapTile.x){ - gMapSelectPositionA.x = mapTile.x; - state_changed++; - } + if (gMapSelectPositionA.x != mapTile.x){ + gMapSelectPositionA.x = mapTile.x; + state_changed++; + } - if (gMapSelectPositionA.y != mapTile.y){ - gMapSelectPositionA.y = mapTile.y; - state_changed++; - } + if (gMapSelectPositionA.y != mapTile.y){ + gMapSelectPositionA.y = mapTile.y; + state_changed++; + } - mapTile.x += tool_length; - mapTile.y += tool_length; + mapTile.x += tool_length; + mapTile.y += tool_length; - if (gMapSelectPositionB.x != mapTile.x){ - gMapSelectPositionB.x = mapTile.x; - state_changed++; - } + if (gMapSelectPositionB.x != mapTile.x){ + gMapSelectPositionB.x = mapTile.x; + state_changed++; + } - if (gMapSelectPositionB.y != mapTile.y){ - gMapSelectPositionB.y = mapTile.y; - state_changed++; - } + if (gMapSelectPositionB.y != mapTile.y){ + gMapSelectPositionB.y = mapTile.y; + state_changed++; + } - map_invalidate_selection_rect(); - if (!state_changed) - return; + map_invalidate_selection_rect(); + if (!state_changed) + return; - gLandRightsCost = game_do_command( - gMapSelectPositionA.x, - 0x4, - gMapSelectPositionA.y, - LandRightsMode ? 0x00E : 0x20F, - GAME_COMMAND_BUY_LAND_RIGHTS, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); + gLandRightsCost = game_do_command( + gMapSelectPositionA.x, + 0x4, + gMapSelectPositionA.y, + LandRightsMode ? 0x00E : 0x20F, + GAME_COMMAND_BUY_LAND_RIGHTS, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); } /** @@ -837,11 +837,11 @@ static void window_park_entrance_tool_update_land_rights(sint16 x, sint16 y) */ static void window_park_entrance_toolupdate(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex){ - case WIDX_BUY_LAND_RIGHTS: - window_park_entrance_tool_update_land_rights(x, y); - break; - } + switch (widgetIndex){ + case WIDX_BUY_LAND_RIGHTS: + window_park_entrance_tool_update_land_rights(x, y); + break; + } } /** @@ -850,38 +850,38 @@ static void window_park_entrance_toolupdate(rct_window* w, rct_widgetindex widge */ static void window_park_entrance_tooldown(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex){ - case WIDX_BUY_LAND_RIGHTS: - if (LandRightsMode) { - if (x != MAP_LOCATION_NULL) { - gGameCommandErrorTitle = STR_CANT_BUY_LAND; - game_do_command( - gMapSelectPositionA.x, - 1, - gMapSelectPositionA.y, - 0x00E, - GAME_COMMAND_BUY_LAND_RIGHTS, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - } - } - else { - if (x != MAP_LOCATION_NULL) { - gGameCommandErrorTitle = STR_CANT_BUY_CONSTRUCTION_RIGHTS_HERE; - game_do_command( - gMapSelectPositionA.x, - 1, - gMapSelectPositionA.y, - 0x20F, - GAME_COMMAND_BUY_LAND_RIGHTS, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - } - } - break; - } + switch (widgetIndex){ + case WIDX_BUY_LAND_RIGHTS: + if (LandRightsMode) { + if (x != MAP_LOCATION_NULL) { + gGameCommandErrorTitle = STR_CANT_BUY_LAND; + game_do_command( + gMapSelectPositionA.x, + 1, + gMapSelectPositionA.y, + 0x00E, + GAME_COMMAND_BUY_LAND_RIGHTS, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + } + } + else { + if (x != MAP_LOCATION_NULL) { + gGameCommandErrorTitle = STR_CANT_BUY_CONSTRUCTION_RIGHTS_HERE; + game_do_command( + gMapSelectPositionA.x, + 1, + gMapSelectPositionA.y, + 0x20F, + GAME_COMMAND_BUY_LAND_RIGHTS, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + } + } + break; + } } /** @@ -890,42 +890,42 @@ static void window_park_entrance_tooldown(rct_window* w, rct_widgetindex widgetI */ static void window_park_entrance_tooldrag(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - rct_window* w2 = window_find_by_number(0xB, 0); + rct_window* w2 = window_find_by_number(0xB, 0); - if (!w2) { - switch (widgetIndex){ - case WIDX_BUY_LAND_RIGHTS: - if (LandRightsMode) { - if (x != MAP_LOCATION_NULL) { - gGameCommandErrorTitle = STR_CANT_BUY_LAND; - game_do_command( - gMapSelectPositionA.x, - 1, - gMapSelectPositionA.y, - 0x00E, - GAME_COMMAND_BUY_LAND_RIGHTS, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - } - } - else { - if (x != MAP_LOCATION_NULL) { - gGameCommandErrorTitle = STR_CANT_BUY_CONSTRUCTION_RIGHTS_HERE; - game_do_command( - gMapSelectPositionA.x, - 1, - gMapSelectPositionA.y, - 0x20F, - GAME_COMMAND_BUY_LAND_RIGHTS, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - } - } - break; - } - } + if (!w2) { + switch (widgetIndex){ + case WIDX_BUY_LAND_RIGHTS: + if (LandRightsMode) { + if (x != MAP_LOCATION_NULL) { + gGameCommandErrorTitle = STR_CANT_BUY_LAND; + game_do_command( + gMapSelectPositionA.x, + 1, + gMapSelectPositionA.y, + 0x00E, + GAME_COMMAND_BUY_LAND_RIGHTS, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + } + } + else { + if (x != MAP_LOCATION_NULL) { + gGameCommandErrorTitle = STR_CANT_BUY_CONSTRUCTION_RIGHTS_HERE; + game_do_command( + gMapSelectPositionA.x, + 1, + gMapSelectPositionA.y, + 0x20F, + GAME_COMMAND_BUY_LAND_RIGHTS, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + } + } + break; + } + } } /** @@ -934,17 +934,17 @@ static void window_park_entrance_tooldrag(rct_window* w, rct_widgetindex widgetI */ static void window_park_entrance_toolabort(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_BUY_LAND_RIGHTS) { - hide_gridlines(); - if (LandRightsMode) - hide_land_rights(); - else - hide_construction_rights(); - } - //else if (widgetIndex == WIDX_BUY_CONSTRUCTION_RIGHTS) { - // hide_gridlines(); - // hide_construction_rights(); - //} + if (widgetIndex == WIDX_BUY_LAND_RIGHTS) { + hide_gridlines(); + if (LandRightsMode) + hide_land_rights(); + else + hide_construction_rights(); + } + //else if (widgetIndex == WIDX_BUY_CONSTRUCTION_RIGHTS) { + // hide_gridlines(); + // hide_construction_rights(); + //} } /** @@ -953,8 +953,8 @@ static void window_park_entrance_toolabort(rct_window *w, rct_widgetindex widget */ static void window_park_entrance_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (widgetIndex == WIDX_RENAME && text != NULL) - park_set_name(text); + if (widgetIndex == WIDX_RENAME && text != NULL) + park_set_name(text); } /** @@ -963,77 +963,77 @@ static void window_park_entrance_textinput(rct_window *w, rct_widgetindex widget */ static void window_park_entrance_invalidate(rct_window *w) { - sint32 i, height; + sint32 i, height; - w->widgets = window_park_page_widgets[w->page]; - window_init_scroll_widgets(w); + w->widgets = window_park_page_widgets[w->page]; + window_init_scroll_widgets(w); - window_park_set_pressed_tab(w); + window_park_set_pressed_tab(w); - // Set open / close park button state - set_format_arg(0, rct_string_id, gParkName); - set_format_arg(2, uint32, gParkNameArgs); - window_park_entrance_widgets[WIDX_OPEN_OR_CLOSE].image = park_is_open() ? SPR_OPEN : SPR_CLOSED; - window_park_entrance_widgets[WIDX_CLOSE_LIGHT].image = SPR_G2_RCT1_CLOSE_BUTTON_0 + !park_is_open() * 2 + widget_is_pressed(w, WIDX_CLOSE_LIGHT); - window_park_entrance_widgets[WIDX_OPEN_LIGHT].image = SPR_G2_RCT1_OPEN_BUTTON_0 + park_is_open() * 2 + widget_is_pressed(w, WIDX_OPEN_LIGHT); + // Set open / close park button state + set_format_arg(0, rct_string_id, gParkName); + set_format_arg(2, uint32, gParkNameArgs); + window_park_entrance_widgets[WIDX_OPEN_OR_CLOSE].image = park_is_open() ? SPR_OPEN : SPR_CLOSED; + window_park_entrance_widgets[WIDX_CLOSE_LIGHT].image = SPR_G2_RCT1_CLOSE_BUTTON_0 + !park_is_open() * 2 + widget_is_pressed(w, WIDX_CLOSE_LIGHT); + window_park_entrance_widgets[WIDX_OPEN_LIGHT].image = SPR_G2_RCT1_OPEN_BUTTON_0 + park_is_open() * 2 + widget_is_pressed(w, WIDX_OPEN_LIGHT); - // Only allow closing of park for guest / rating objective - // Only allow closing of park when there is money - if (gScenarioObjectiveType == OBJECTIVE_GUESTS_AND_RATING || - (gParkFlags & PARK_FLAGS_NO_MONEY)) - w->disabled_widgets |= (1 << WIDX_OPEN_OR_CLOSE) | (1 << WIDX_CLOSE_LIGHT) | (1 << WIDX_OPEN_LIGHT); - else - w->disabled_widgets &= ~((1 << WIDX_OPEN_OR_CLOSE) | (1 << WIDX_CLOSE_LIGHT) | (1 << WIDX_OPEN_LIGHT)); + // Only allow closing of park for guest / rating objective + // Only allow closing of park when there is money + if (gScenarioObjectiveType == OBJECTIVE_GUESTS_AND_RATING || + (gParkFlags & PARK_FLAGS_NO_MONEY)) + w->disabled_widgets |= (1 << WIDX_OPEN_OR_CLOSE) | (1 << WIDX_CLOSE_LIGHT) | (1 << WIDX_OPEN_LIGHT); + else + w->disabled_widgets &= ~((1 << WIDX_OPEN_OR_CLOSE) | (1 << WIDX_CLOSE_LIGHT) | (1 << WIDX_OPEN_LIGHT)); - // Only allow purchase of land when there is money - if (gParkFlags & PARK_FLAGS_NO_MONEY) - window_park_entrance_widgets[WIDX_BUY_LAND_RIGHTS].type = WWT_EMPTY; - else - window_park_entrance_widgets[WIDX_BUY_LAND_RIGHTS].type = WWT_FLATBTN; + // Only allow purchase of land when there is money + if (gParkFlags & PARK_FLAGS_NO_MONEY) + window_park_entrance_widgets[WIDX_BUY_LAND_RIGHTS].type = WWT_EMPTY; + else + window_park_entrance_widgets[WIDX_BUY_LAND_RIGHTS].type = WWT_FLATBTN; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); - window_park_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); + window_park_anchor_border_widgets(w); - // Anchor entrance page specific widgets - window_park_entrance_widgets[WIDX_VIEWPORT].right = w->width - 26; - window_park_entrance_widgets[WIDX_VIEWPORT].bottom = w->height - 14; - window_park_entrance_widgets[WIDX_STATUS].right = w->width - 26; - window_park_entrance_widgets[WIDX_STATUS].top = w->height - 13; - window_park_entrance_widgets[WIDX_STATUS].bottom = w->height - 3; + // Anchor entrance page specific widgets + window_park_entrance_widgets[WIDX_VIEWPORT].right = w->width - 26; + window_park_entrance_widgets[WIDX_VIEWPORT].bottom = w->height - 14; + window_park_entrance_widgets[WIDX_STATUS].right = w->width - 26; + window_park_entrance_widgets[WIDX_STATUS].top = w->height - 13; + window_park_entrance_widgets[WIDX_STATUS].bottom = w->height - 3; - if (theme_get_flags() & UITHEME_FLAG_USE_LIGHTS_PARK) { - window_park_entrance_widgets[WIDX_OPEN_OR_CLOSE].type = WWT_EMPTY; - if (gScenarioObjectiveType == OBJECTIVE_GUESTS_AND_RATING) { - window_park_entrance_widgets[WIDX_CLOSE_LIGHT].type = WWT_FLATBTN; - window_park_entrance_widgets[WIDX_OPEN_LIGHT].type = WWT_FLATBTN; - } - else { - window_park_entrance_widgets[WIDX_CLOSE_LIGHT].type = WWT_IMGBTN; - window_park_entrance_widgets[WIDX_OPEN_LIGHT].type = WWT_IMGBTN; - } - height = window_park_entrance_widgets[WIDX_OPEN_LIGHT].bottom + 5; - } - else { - window_park_entrance_widgets[WIDX_OPEN_OR_CLOSE].type = WWT_FLATBTN; - window_park_entrance_widgets[WIDX_CLOSE_LIGHT].type = WWT_EMPTY; - window_park_entrance_widgets[WIDX_OPEN_LIGHT].type = WWT_EMPTY; - height = 49; - } + if (theme_get_flags() & UITHEME_FLAG_USE_LIGHTS_PARK) { + window_park_entrance_widgets[WIDX_OPEN_OR_CLOSE].type = WWT_EMPTY; + if (gScenarioObjectiveType == OBJECTIVE_GUESTS_AND_RATING) { + window_park_entrance_widgets[WIDX_CLOSE_LIGHT].type = WWT_FLATBTN; + window_park_entrance_widgets[WIDX_OPEN_LIGHT].type = WWT_FLATBTN; + } + else { + window_park_entrance_widgets[WIDX_CLOSE_LIGHT].type = WWT_IMGBTN; + window_park_entrance_widgets[WIDX_OPEN_LIGHT].type = WWT_IMGBTN; + } + height = window_park_entrance_widgets[WIDX_OPEN_LIGHT].bottom + 5; + } + else { + window_park_entrance_widgets[WIDX_OPEN_OR_CLOSE].type = WWT_FLATBTN; + window_park_entrance_widgets[WIDX_CLOSE_LIGHT].type = WWT_EMPTY; + window_park_entrance_widgets[WIDX_OPEN_LIGHT].type = WWT_EMPTY; + height = 49; + } - for (i = WIDX_CLOSE_LIGHT; i <= WIDX_OPEN_LIGHT; i++) { - window_park_entrance_widgets[i].left = w->width - 20; - window_park_entrance_widgets[i].right = w->width - 7; - } - for (i = WIDX_OPEN_OR_CLOSE; i <= WIDX_RENAME; i++) { - if (window_park_entrance_widgets[i].type == WWT_EMPTY) - continue; + for (i = WIDX_CLOSE_LIGHT; i <= WIDX_OPEN_LIGHT; i++) { + window_park_entrance_widgets[i].left = w->width - 20; + window_park_entrance_widgets[i].right = w->width - 7; + } + for (i = WIDX_OPEN_OR_CLOSE; i <= WIDX_RENAME; i++) { + if (window_park_entrance_widgets[i].type == WWT_EMPTY) + continue; - window_park_entrance_widgets[i].left = w->width - 25; - window_park_entrance_widgets[i].right = w->width - 2; - window_park_entrance_widgets[i].top = height; - window_park_entrance_widgets[i].bottom = height + 23; - height += 24; - } + window_park_entrance_widgets[i].left = w->width - 25; + window_park_entrance_widgets[i].right = w->width - 2; + window_park_entrance_widgets[i].top = height; + window_park_entrance_widgets[i].bottom = height + 23; + height += 24; + } } /** @@ -1042,31 +1042,31 @@ static void window_park_entrance_invalidate(rct_window *w) */ static void window_park_entrance_paint(rct_window *w, rct_drawpixelinfo *dpi) { - rct_widget *labelWidget; + rct_widget *labelWidget; - window_draw_widgets(w, dpi); - window_park_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_park_draw_tab_images(dpi, w); - // Draw viewport - if (w->viewport != NULL) { - window_draw_viewport(dpi, w); - if (w->viewport->flags & VIEWPORT_FLAG_SOUND_ON) - gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->x + 2, w->y + 2, 0); - } + // Draw viewport + if (w->viewport != NULL) { + window_draw_viewport(dpi, w); + if (w->viewport->flags & VIEWPORT_FLAG_SOUND_ON) + gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->x + 2, w->y + 2, 0); + } - // Draw park closed / open label - set_format_arg(0, rct_string_id, park_is_open() ? STR_PARK_OPEN : STR_PARK_CLOSED); + // Draw park closed / open label + set_format_arg(0, rct_string_id, park_is_open() ? STR_PARK_OPEN : STR_PARK_CLOSED); - labelWidget = &window_park_entrance_widgets[WIDX_STATUS]; - gfx_draw_string_centred_clipped( - dpi, - STR_BLACK_STRING, - gCommonFormatArgs, - COLOUR_BLACK, - w->x + (labelWidget->left + labelWidget->right) / 2, - w->y + labelWidget->top, - labelWidget->right - labelWidget->left - ); + labelWidget = &window_park_entrance_widgets[WIDX_STATUS]; + gfx_draw_string_centred_clipped( + dpi, + STR_BLACK_STRING, + gCommonFormatArgs, + COLOUR_BLACK, + w->x + (labelWidget->left + labelWidget->right) / 2, + w->y + labelWidget->top, + labelWidget->right - labelWidget->left + ); } /** @@ -1075,88 +1075,88 @@ static void window_park_entrance_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_park_init_viewport(rct_window *w) { - sint32 i, x, y, z, r, xy, zr, viewportFlags; - x = y = z = r = xy = zr = 0; - rct_viewport *viewport; + sint32 i, x, y, z, r, xy, zr, viewportFlags; + x = y = z = r = xy = zr = 0; + rct_viewport *viewport; - if (w->page != WINDOW_PARK_PAGE_ENTRANCE) - return; + if (w->page != WINDOW_PARK_PAGE_ENTRANCE) + return; - for (i = 0; i < MAX_PARK_ENTRANCES; i++) { - if (gParkEntrances[i].x != SPRITE_LOCATION_NULL) { - x = gParkEntrances[i].x + 16; - y = gParkEntrances[i].y + 16; - z = gParkEntrances[i].z + 32; - r = get_current_rotation(); + for (i = 0; i < MAX_PARK_ENTRANCES; i++) { + if (gParkEntrances[i].x != SPRITE_LOCATION_NULL) { + x = gParkEntrances[i].x + 16; + y = gParkEntrances[i].y + 16; + z = gParkEntrances[i].z + 32; + r = get_current_rotation(); - xy = 0x40000000 | (y << 16) | x; - zr = (z << 16) | (r << 8); - break; - } - } + xy = 0x40000000 | (y << 16) | x; + zr = (z << 16) | (r << 8); + break; + } + } - if (w->viewport == NULL) { - viewportFlags = gConfigGeneral.always_show_gridlines ? VIEWPORT_FLAG_GRIDLINES : 0; - } else { - // if (w->var_482 == x && w->var_484 == y && w->var_486 == z && (uint16)w->var_488 >> 8 == r) - // return; + if (w->viewport == NULL) { + viewportFlags = gConfigGeneral.always_show_gridlines ? VIEWPORT_FLAG_GRIDLINES : 0; + } else { + // if (w->var_482 == x && w->var_484 == y && w->var_486 == z && (uint16)w->var_488 >> 8 == r) + // return; - viewport = w->viewport; - w->viewport = NULL; - viewportFlags = viewport->flags; - viewport->width = 0; - viewport_update_pointers(); - } + viewport = w->viewport; + w->viewport = NULL; + viewportFlags = viewport->flags; + viewport->width = 0; + viewport_update_pointers(); + } - // Call invalidate event - window_event_invalidate_call(w); + // Call invalidate event + window_event_invalidate_call(w); - w->viewport_focus_coordinates.x = x; - w->viewport_focus_coordinates.y = y; - w->viewport_focus_sprite.type |= VIEWPORT_FOCUS_TYPE_COORDINATE; - w->viewport_focus_coordinates.z = z; - w->viewport_focus_coordinates.rotation = r; + w->viewport_focus_coordinates.x = x; + w->viewport_focus_coordinates.y = y; + w->viewport_focus_sprite.type |= VIEWPORT_FOCUS_TYPE_COORDINATE; + w->viewport_focus_coordinates.z = z; + w->viewport_focus_coordinates.rotation = r; - if (zr != 0xFFFF) { - // Create viewport - if (w->viewport == NULL) { - rct_widget *viewportWidget = &window_park_entrance_widgets[WIDX_VIEWPORT]; - viewport_create( - w, - w->x + viewportWidget->left + 1, - w->y + viewportWidget->top + 1, - (viewportWidget->right - viewportWidget->left) - 2, - (viewportWidget->bottom - viewportWidget->top) - 2, - 0, - x, - y, - z, - w->viewport_focus_sprite.type & VIEWPORT_FOCUS_TYPE_MASK, - -1 - ); - w->flags |= (1 << 2); - window_invalidate(w); - } - } + if (zr != 0xFFFF) { + // Create viewport + if (w->viewport == NULL) { + rct_widget *viewportWidget = &window_park_entrance_widgets[WIDX_VIEWPORT]; + viewport_create( + w, + w->x + viewportWidget->left + 1, + w->y + viewportWidget->top + 1, + (viewportWidget->right - viewportWidget->left) - 2, + (viewportWidget->bottom - viewportWidget->top) - 2, + 0, + x, + y, + z, + w->viewport_focus_sprite.type & VIEWPORT_FOCUS_TYPE_MASK, + -1 + ); + w->flags |= (1 << 2); + window_invalidate(w); + } + } - if (w->viewport != NULL) - w->viewport->flags = viewportFlags; - window_invalidate(w); + if (w->viewport != NULL) + w->viewport->flags = viewportFlags; + window_invalidate(w); } void toggle_land_rights_window(rct_window *parkWindow, rct_widgetindex widgetIndex) { - if ((input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && gCurrentToolWidget.window_classification == WC_PARK_INFORMATION && - gCurrentToolWidget.widget_index == WIDX_BUY_LAND_RIGHTS) { - tool_cancel(); - } - else { - show_gridlines(); - tool_set(parkWindow, widgetIndex, TOOL_UP_ARROW); - input_set_flag(INPUT_FLAG_6, true); - gLandToolSize = 1; - window_land_rights_open(); - } + if ((input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && gCurrentToolWidget.window_classification == WC_PARK_INFORMATION && + gCurrentToolWidget.widget_index == WIDX_BUY_LAND_RIGHTS) { + tool_cancel(); + } + else { + show_gridlines(); + tool_set(parkWindow, widgetIndex, TOOL_UP_ARROW); + input_set_flag(INPUT_FLAG_6, true); + gLandToolSize = 1; + window_land_rights_open(); + } } #pragma endregion @@ -1169,27 +1169,27 @@ void toggle_land_rights_window(rct_window *parkWindow, rct_widgetindex widgetInd */ void window_park_rating_open() { - rct_window* window; + rct_window* window; - window = window_bring_to_front_by_class(WC_PARK_INFORMATION); - if (window == NULL) { - window = window_park_open(); - window->viewport_focus_coordinates.x = -1; - window->viewport_focus_coordinates.y = -1; - } + window = window_bring_to_front_by_class(WC_PARK_INFORMATION); + if (window == NULL) { + window = window_park_open(); + window->viewport_focus_coordinates.x = -1; + window->viewport_focus_coordinates.y = -1; + } - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) - if (window->classification == gCurrentToolWidget.window_classification && window->number == gCurrentToolWidget.window_number) - tool_cancel(); + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) + if (window->classification == gCurrentToolWidget.window_classification && window->number == gCurrentToolWidget.window_number) + tool_cancel(); - window->viewport = NULL; - window->page = WINDOW_PARK_PAGE_RATING; - window_invalidate(window); - window->widgets = window_park_rating_widgets; - window->enabled_widgets = window_park_page_enabled_widgets[WINDOW_PARK_PAGE_RATING]; - window->hold_down_widgets = window_park_page_hold_down_widgets[WINDOW_PARK_PAGE_RATING]; - window->event_handlers = &window_park_rating_events; - window_init_scroll_widgets(window); + window->viewport = NULL; + window->page = WINDOW_PARK_PAGE_RATING; + window_invalidate(window); + window->widgets = window_park_rating_widgets; + window->enabled_widgets = window_park_page_enabled_widgets[WINDOW_PARK_PAGE_RATING]; + window->hold_down_widgets = window_park_page_hold_down_widgets[WINDOW_PARK_PAGE_RATING]; + window->event_handlers = &window_park_rating_events; + window_init_scroll_widgets(window); } /** @@ -1198,10 +1198,10 @@ void window_park_rating_open() */ static void window_park_rating_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_CLOSE) - window_close(w); - else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) - window_park_set_page(w, widgetIndex - WIDX_TAB_1); + if (widgetIndex == WIDX_CLOSE) + window_close(w); + else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) + window_park_set_page(w, widgetIndex - WIDX_TAB_1); } /** @@ -1210,7 +1210,7 @@ static void window_park_rating_mouseup(rct_window *w, rct_widgetindex widgetInde */ static void window_park_rating_resize(rct_window *w) { - window_set_resize(w, 230, 182, 230, 182); + window_set_resize(w, 230, 182, 230, 182); } /** @@ -1219,8 +1219,8 @@ static void window_park_rating_resize(rct_window *w) */ static void window_park_rating_update(rct_window *w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB_2); + w->frame_no++; + widget_invalidate(w, WIDX_TAB_2); } /** @@ -1229,19 +1229,19 @@ static void window_park_rating_update(rct_window *w) */ static void window_park_rating_invalidate(rct_window *w) { - rct_widget *widgets; + rct_widget *widgets; - widgets = window_park_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_park_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_park_set_pressed_tab(w); - window_park_prepare_window_title_text(); + window_park_set_pressed_tab(w); + window_park_prepare_window_title_text(); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); - window_park_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); + window_park_anchor_border_widgets(w); } /** @@ -1250,27 +1250,27 @@ static void window_park_rating_invalidate(rct_window *w) */ static void window_park_rating_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y; - rct_widget *widget; + sint32 x, y; + rct_widget *widget; - window_draw_widgets(w, dpi); - window_park_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_park_draw_tab_images(dpi, w); - x = w->x; - y = w->y; - widget = &window_park_rating_widgets[WIDX_PAGE_BACKGROUND]; + x = w->x; + y = w->y; + widget = &window_park_rating_widgets[WIDX_PAGE_BACKGROUND]; - // Current value - gfx_draw_string_left(dpi, STR_PARK_RATING_LABEL, &gParkRating, COLOUR_BLACK, x + widget->left + 3, y + widget->top + 2); + // Current value + gfx_draw_string_left(dpi, STR_PARK_RATING_LABEL, &gParkRating, COLOUR_BLACK, x + widget->left + 3, y + widget->top + 2); - // Graph border - gfx_fill_rect_inset(dpi, x + widget->left + 4, y + widget->top + 15, x + widget->right - 4, y + widget->bottom - 4, w->colours[1], INSET_RECT_F_30); + // Graph border + gfx_fill_rect_inset(dpi, x + widget->left + 4, y + widget->top + 15, x + widget->right - 4, y + widget->bottom - 4, w->colours[1], INSET_RECT_F_30); - // Graph - x += widget->left + 22; - y += widget->top + 26; + // Graph + x += widget->left + 22; + y += widget->top + 26; - graph_draw_uint8(dpi, gParkRatingHistory, 32, x, y); + graph_draw_uint8(dpi, gParkRatingHistory, 32, x, y); } #pragma endregion @@ -1283,27 +1283,27 @@ static void window_park_rating_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_park_guests_open() { - rct_window* window; + rct_window* window; - window = window_bring_to_front_by_class(WC_PARK_INFORMATION); - if (window == NULL) { - window = window_park_open(); - window->viewport_focus_coordinates.x = -1; - window->viewport_focus_coordinates.y = -1; - } + window = window_bring_to_front_by_class(WC_PARK_INFORMATION); + if (window == NULL) { + window = window_park_open(); + window->viewport_focus_coordinates.x = -1; + window->viewport_focus_coordinates.y = -1; + } - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) - if (window->classification == gCurrentToolWidget.window_classification && window->number == gCurrentToolWidget.window_number) - tool_cancel(); + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) + if (window->classification == gCurrentToolWidget.window_classification && window->number == gCurrentToolWidget.window_number) + tool_cancel(); - window->viewport = NULL; - window->page = WINDOW_PARK_PAGE_GUESTS; - window_invalidate(window); - window->widgets = window_park_guests_widgets; - window->enabled_widgets = window_park_page_enabled_widgets[WINDOW_PARK_PAGE_GUESTS]; - window->hold_down_widgets = window_park_page_hold_down_widgets[WINDOW_PARK_PAGE_GUESTS]; - window->event_handlers = &window_park_guests_events; - window_init_scroll_widgets(window); + window->viewport = NULL; + window->page = WINDOW_PARK_PAGE_GUESTS; + window_invalidate(window); + window->widgets = window_park_guests_widgets; + window->enabled_widgets = window_park_page_enabled_widgets[WINDOW_PARK_PAGE_GUESTS]; + window->hold_down_widgets = window_park_page_hold_down_widgets[WINDOW_PARK_PAGE_GUESTS]; + window->event_handlers = &window_park_guests_events; + window_init_scroll_widgets(window); } /** @@ -1312,10 +1312,10 @@ void window_park_guests_open() */ static void window_park_guests_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_CLOSE) - window_close(w); - else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) - window_park_set_page(w, widgetIndex - WIDX_TAB_1); + if (widgetIndex == WIDX_CLOSE) + window_close(w); + else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) + window_park_set_page(w, widgetIndex - WIDX_TAB_1); } /** @@ -1324,7 +1324,7 @@ static void window_park_guests_mouseup(rct_window *w, rct_widgetindex widgetInde */ static void window_park_guests_resize(rct_window *w) { - window_set_resize(w, 230, 182, 230, 182); + window_set_resize(w, 230, 182, 230, 182); } /** @@ -1333,9 +1333,9 @@ static void window_park_guests_resize(rct_window *w) */ static void window_park_guests_update(rct_window *w) { - w->frame_no++; - w->var_492 = (w->var_492 + 1) % 24; - widget_invalidate(w, WIDX_TAB_3); + w->frame_no++; + w->var_492 = (w->var_492 + 1) % 24; + widget_invalidate(w, WIDX_TAB_3); } /** @@ -1344,19 +1344,19 @@ static void window_park_guests_update(rct_window *w) */ static void window_park_guests_invalidate(rct_window *w) { - rct_widget *widgets; + rct_widget *widgets; - widgets = window_park_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_park_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_park_set_pressed_tab(w); - window_park_prepare_window_title_text(); + window_park_set_pressed_tab(w); + window_park_prepare_window_title_text(); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); - window_park_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); + window_park_anchor_border_widgets(w); } /** @@ -1365,27 +1365,27 @@ static void window_park_guests_invalidate(rct_window *w) */ static void window_park_guests_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y; - rct_widget *widget; + sint32 x, y; + rct_widget *widget; - window_draw_widgets(w, dpi); - window_park_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_park_draw_tab_images(dpi, w); - x = w->x; - y = w->y; - widget = &window_park_guests_widgets[WIDX_PAGE_BACKGROUND]; + x = w->x; + y = w->y; + widget = &window_park_guests_widgets[WIDX_PAGE_BACKGROUND]; - // Current value - gfx_draw_string_left(dpi, STR_GUESTS_IN_PARK_LABEL, &gNumGuestsInPark, COLOUR_BLACK, x + widget->left + 3, y + widget->top + 2); + // Current value + gfx_draw_string_left(dpi, STR_GUESTS_IN_PARK_LABEL, &gNumGuestsInPark, COLOUR_BLACK, x + widget->left + 3, y + widget->top + 2); - // Graph border - gfx_fill_rect_inset(dpi, x + widget->left + 4, y + widget->top + 15, x + widget->right - 4, y + widget->bottom - 4, w->colours[1], INSET_RECT_F_30); + // Graph border + gfx_fill_rect_inset(dpi, x + widget->left + 4, y + widget->top + 15, x + widget->right - 4, y + widget->bottom - 4, w->colours[1], INSET_RECT_F_30); - // Graph - x += widget->left + 22; - y += widget->top + 26; + // Graph + x += widget->left + 22; + y += widget->top + 26; - graph_draw_uint8(dpi, gGuestsInParkHistory, 32, x, y); + graph_draw_uint8(dpi, gGuestsInParkHistory, 32, x, y); } #pragma endregion @@ -1398,10 +1398,10 @@ static void window_park_guests_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_park_price_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_CLOSE) - window_close(w); - else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) - window_park_set_page(w, widgetIndex - WIDX_TAB_1); + if (widgetIndex == WIDX_CLOSE) + window_close(w); + else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) + window_park_set_page(w, widgetIndex - WIDX_TAB_1); } /** @@ -1410,7 +1410,7 @@ static void window_park_price_mouseup(rct_window *w, rct_widgetindex widgetIndex */ static void window_park_price_resize(rct_window *w) { - window_set_resize(w, 230, 124, 230, 124); + window_set_resize(w, 230, 124, 230, 124); } /** @@ -1419,30 +1419,30 @@ static void window_park_price_resize(rct_window *w) */ static void window_park_price_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - sint32 newFee; + sint32 newFee; - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - window_park_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_INCREASE_PRICE: - newFee = min(MONEY(100,00), gParkEntranceFee + MONEY(1,00)); - park_set_entrance_fee(newFee); - break; - case WIDX_DECREASE_PRICE: - newFee = max(MONEY(0,00), gParkEntranceFee - MONEY(1,00)); - park_set_entrance_fee(newFee); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + window_park_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_INCREASE_PRICE: + newFee = min(MONEY(100,00), gParkEntranceFee + MONEY(1,00)); + park_set_entrance_fee(newFee); + break; + case WIDX_DECREASE_PRICE: + newFee = max(MONEY(0,00), gParkEntranceFee - MONEY(1,00)); + park_set_entrance_fee(newFee); + break; + } } /** @@ -1451,8 +1451,8 @@ static void window_park_price_mousedown(rct_widgetindex widgetIndex, rct_window* */ static void window_park_price_update(rct_window *w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB_4); + w->frame_no++; + widget_invalidate(w, WIDX_TAB_4); } /** @@ -1461,46 +1461,46 @@ static void window_park_price_update(rct_window *w) */ static void window_park_price_invalidate(rct_window *w) { - rct_widget *widgets; + rct_widget *widgets; - widgets = window_park_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_park_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_park_set_pressed_tab(w); - window_park_prepare_window_title_text(); + window_park_set_pressed_tab(w); + window_park_prepare_window_title_text(); - // Show a tooltip if the park is pay per ride. - window_park_price_widgets[WIDX_PRICE_LABEL].tooltip = STR_NONE; - window_park_price_widgets[WIDX_PRICE].tooltip = STR_NONE; + // Show a tooltip if the park is pay per ride. + window_park_price_widgets[WIDX_PRICE_LABEL].tooltip = STR_NONE; + window_park_price_widgets[WIDX_PRICE].tooltip = STR_NONE; - if ((gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) && !gCheatsUnlockAllPrices) - { - window_park_price_widgets[WIDX_PRICE_LABEL].tooltip = STR_ADMISSION_PRICE_PAY_PER_RIDE_TIP; - window_park_price_widgets[WIDX_PRICE].tooltip = STR_ADMISSION_PRICE_PAY_PER_RIDE_TIP; - } + if ((gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) && !gCheatsUnlockAllPrices) + { + window_park_price_widgets[WIDX_PRICE_LABEL].tooltip = STR_ADMISSION_PRICE_PAY_PER_RIDE_TIP; + window_park_price_widgets[WIDX_PRICE].tooltip = STR_ADMISSION_PRICE_PAY_PER_RIDE_TIP; + } - // If the entry price is locked at free, disable the widget, unless the unlock_all_prices cheat is active. - if ((gParkFlags & PARK_FLAGS_NO_MONEY) || - ((gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) && !gCheatsUnlockAllPrices) - ) { - window_park_price_widgets[WIDX_PRICE].type = WWT_12; - window_park_price_widgets[WIDX_INCREASE_PRICE].type = WWT_EMPTY; - window_park_price_widgets[WIDX_DECREASE_PRICE].type = WWT_EMPTY; - } else { - window_park_price_widgets[WIDX_PRICE].type = WWT_SPINNER; - window_park_price_widgets[WIDX_INCREASE_PRICE].type = WWT_DROPDOWN_BUTTON; - window_park_price_widgets[WIDX_DECREASE_PRICE].type = WWT_DROPDOWN_BUTTON; - } + // If the entry price is locked at free, disable the widget, unless the unlock_all_prices cheat is active. + if ((gParkFlags & PARK_FLAGS_NO_MONEY) || + ((gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) && !gCheatsUnlockAllPrices) + ) { + window_park_price_widgets[WIDX_PRICE].type = WWT_12; + window_park_price_widgets[WIDX_INCREASE_PRICE].type = WWT_EMPTY; + window_park_price_widgets[WIDX_DECREASE_PRICE].type = WWT_EMPTY; + } else { + window_park_price_widgets[WIDX_PRICE].type = WWT_SPINNER; + window_park_price_widgets[WIDX_INCREASE_PRICE].type = WWT_DROPDOWN_BUTTON; + window_park_price_widgets[WIDX_DECREASE_PRICE].type = WWT_DROPDOWN_BUTTON; + } - money16 parkEntranceFee = park_get_entrance_fee(); - set_format_arg(6, uint32, parkEntranceFee); - window_park_price_widgets[WIDX_PRICE].text = parkEntranceFee == 0 ? STR_FREE : STR_ARG_6_CURRENCY2DP; + money16 parkEntranceFee = park_get_entrance_fee(); + set_format_arg(6, uint32, parkEntranceFee); + window_park_price_widgets[WIDX_PRICE].text = parkEntranceFee == 0 ? STR_FREE : STR_ARG_6_CURRENCY2DP; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); - window_park_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); + window_park_anchor_border_widgets(w); } /** @@ -1509,15 +1509,15 @@ static void window_park_price_invalidate(rct_window *w) */ static void window_park_price_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y; + sint32 x, y; - window_draw_widgets(w, dpi); - window_park_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_park_draw_tab_images(dpi, w); - x = w->x + window_park_price_widgets[WIDX_PAGE_BACKGROUND].left + 4; - y = w->y + window_park_price_widgets[WIDX_PAGE_BACKGROUND].top + 30; + x = w->x + window_park_price_widgets[WIDX_PAGE_BACKGROUND].left + 4; + y = w->y + window_park_price_widgets[WIDX_PAGE_BACKGROUND].top + 30; - gfx_draw_string_left(dpi, STR_INCOME_FROM_ADMISSIONS, &gTotalIncomeFromAdmissions, COLOUR_BLACK, x, y); + gfx_draw_string_left(dpi, STR_INCOME_FROM_ADMISSIONS, &gTotalIncomeFromAdmissions, COLOUR_BLACK, x, y); } #pragma endregion @@ -1530,10 +1530,10 @@ static void window_park_price_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_park_stats_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_CLOSE) - window_close(w); - else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) - window_park_set_page(w, widgetIndex - WIDX_TAB_1); + if (widgetIndex == WIDX_CLOSE) + window_close(w); + else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) + window_park_set_page(w, widgetIndex - WIDX_TAB_1); } /** @@ -1542,7 +1542,7 @@ static void window_park_stats_mouseup(rct_window *w, rct_widgetindex widgetIndex */ static void window_park_stats_resize(rct_window *w) { - window_set_resize(w, 230, 109, 230, 109); + window_set_resize(w, 230, 109, 230, 109); } /** @@ -1551,24 +1551,24 @@ static void window_park_stats_resize(rct_window *w) */ static void window_park_stats_update(rct_window *w) { - sint32 i; + sint32 i; - w->frame_no++; - widget_invalidate(w, WIDX_TAB_5); + w->frame_no++; + widget_invalidate(w, WIDX_TAB_5); - // Invalidate ride count if changed - i = ride_get_count(); - if (w->list_information_type != i) { - w->list_information_type = i; - widget_invalidate(w, WIDX_PAGE_BACKGROUND); - } + // Invalidate ride count if changed + i = ride_get_count(); + if (w->list_information_type != i) { + w->list_information_type = i; + widget_invalidate(w, WIDX_PAGE_BACKGROUND); + } - // Invalidate number of staff if changed - i = peep_get_staff_count(); - if (w->var_48C != i) { - w->var_48C = i; - widget_invalidate(w, WIDX_PAGE_BACKGROUND); - } + // Invalidate number of staff if changed + i = peep_get_staff_count(); + if (w->var_48C != i) { + w->var_48C = i; + widget_invalidate(w, WIDX_PAGE_BACKGROUND); + } } /** @@ -1577,19 +1577,19 @@ static void window_park_stats_update(rct_window *w) */ static void window_park_stats_invalidate(rct_window *w) { - rct_widget *widgets; + rct_widget *widgets; - widgets = window_park_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_park_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_park_set_pressed_tab(w); - window_park_prepare_window_title_text(); + window_park_set_pressed_tab(w); + window_park_prepare_window_title_text(); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); - window_park_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); + window_park_anchor_border_widgets(w); } /** @@ -1598,43 +1598,43 @@ static void window_park_stats_invalidate(rct_window *w) */ static void window_park_stats_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y, parkSize, stringIndex; + sint32 x, y, parkSize, stringIndex; - window_draw_widgets(w, dpi); - window_park_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_park_draw_tab_images(dpi, w); - x = w->x + window_park_awards_widgets[WIDX_PAGE_BACKGROUND].left + 4; - y = w->y + window_park_awards_widgets[WIDX_PAGE_BACKGROUND].top + 4; + x = w->x + window_park_awards_widgets[WIDX_PAGE_BACKGROUND].left + 4; + y = w->y + window_park_awards_widgets[WIDX_PAGE_BACKGROUND].top + 4; - // Draw park size - parkSize = gParkSize * 10; - stringIndex = STR_PARK_SIZE_METRIC_LABEL; - if (gConfigGeneral.measurement_format == MEASUREMENT_FORMAT_IMPERIAL) { - stringIndex = STR_PARK_SIZE_IMPERIAL_LABEL; - parkSize = squaredmetres_to_squaredfeet(parkSize); - } - set_format_arg(0, uint32, parkSize); - gfx_draw_string_left(dpi, stringIndex, gCommonFormatArgs, COLOUR_BLACK, x, y); - y += 10; + // Draw park size + parkSize = gParkSize * 10; + stringIndex = STR_PARK_SIZE_METRIC_LABEL; + if (gConfigGeneral.measurement_format == MEASUREMENT_FORMAT_IMPERIAL) { + stringIndex = STR_PARK_SIZE_IMPERIAL_LABEL; + parkSize = squaredmetres_to_squaredfeet(parkSize); + } + set_format_arg(0, uint32, parkSize); + gfx_draw_string_left(dpi, stringIndex, gCommonFormatArgs, COLOUR_BLACK, x, y); + y += 10; - // Draw number of rides / attractions - if (w->list_information_type != (uint16)-1) { - set_format_arg(0, uint32, w->list_information_type); - gfx_draw_string_left(dpi, STR_NUMBER_OF_RIDES_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); - } - y += 10; + // Draw number of rides / attractions + if (w->list_information_type != (uint16)-1) { + set_format_arg(0, uint32, w->list_information_type); + gfx_draw_string_left(dpi, STR_NUMBER_OF_RIDES_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); + } + y += 10; - // Draw number of staff - if (w->var_48C != -1) { - set_format_arg(0, uint32, w->var_48C); - gfx_draw_string_left(dpi, STR_STAFF_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); - } - y += 10; + // Draw number of staff + if (w->var_48C != -1) { + set_format_arg(0, uint32, w->var_48C); + gfx_draw_string_left(dpi, STR_STAFF_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); + } + y += 10; - // Draw number of guests in park - gfx_draw_string_left(dpi, STR_GUESTS_IN_PARK_LABEL, &gNumGuestsInPark, COLOUR_BLACK, x, y); - y += 10; - gfx_draw_string_left(dpi, STR_TOTAL_ADMISSIONS, &gTotalAdmissions, COLOUR_BLACK, x, y); + // Draw number of guests in park + gfx_draw_string_left(dpi, STR_GUESTS_IN_PARK_LABEL, &gNumGuestsInPark, COLOUR_BLACK, x, y); + y += 10; + gfx_draw_string_left(dpi, STR_TOTAL_ADMISSIONS, &gTotalAdmissions, COLOUR_BLACK, x, y); } #pragma endregion @@ -1647,30 +1647,30 @@ static void window_park_stats_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_park_objective_open() { - rct_window* window; + rct_window* window; - window = window_bring_to_front_by_class(WC_PARK_INFORMATION); - if (window == NULL) { - window = window_park_open(); - window->viewport_focus_coordinates.x = -1; - window->viewport_focus_coordinates.y = -1; - } + window = window_bring_to_front_by_class(WC_PARK_INFORMATION); + if (window == NULL) { + window = window_park_open(); + window->viewport_focus_coordinates.x = -1; + window->viewport_focus_coordinates.y = -1; + } - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) - if (window->classification == gCurrentToolWidget.window_classification && window->number == gCurrentToolWidget.window_number) - tool_cancel(); + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) + if (window->classification == gCurrentToolWidget.window_classification && window->number == gCurrentToolWidget.window_number) + tool_cancel(); - window->viewport = NULL; - window->page = WINDOW_PARK_PAGE_OBJECTIVE; - window_invalidate(window); - window->widgets = window_park_objective_widgets; - window->enabled_widgets = window_park_page_enabled_widgets[WINDOW_PARK_PAGE_OBJECTIVE]; - window->hold_down_widgets = window_park_page_hold_down_widgets[WINDOW_PARK_PAGE_OBJECTIVE]; - window->event_handlers = &window_park_objective_events; - window_init_scroll_widgets(window); - window->x = context_get_width() / 2 - 115; - window->y = context_get_height() / 2 - 87; - window_invalidate(window); + window->viewport = NULL; + window->page = WINDOW_PARK_PAGE_OBJECTIVE; + window_invalidate(window); + window->widgets = window_park_objective_widgets; + window->enabled_widgets = window_park_page_enabled_widgets[WINDOW_PARK_PAGE_OBJECTIVE]; + window->hold_down_widgets = window_park_page_hold_down_widgets[WINDOW_PARK_PAGE_OBJECTIVE]; + window->event_handlers = &window_park_objective_events; + window_init_scroll_widgets(window); + window->x = context_get_width() / 2 - 115; + window->y = context_get_height() / 2 - 87; + window_invalidate(window); } /** @@ -1679,31 +1679,31 @@ void window_park_objective_open() */ static void window_park_objective_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - window_park_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_ENTER_NAME: - window_text_input_open( - w, - WIDX_ENTER_NAME, - STR_ENTER_NAME, - STR_PLEASE_ENTER_YOUR_NAME_FOR_THE_SCENARIO_CHART, - 0, - 0, - 32 - ); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + window_park_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_ENTER_NAME: + window_text_input_open( + w, + WIDX_ENTER_NAME, + STR_ENTER_NAME, + STR_PLEASE_ENTER_YOUR_NAME_FOR_THE_SCENARIO_CHART, + 0, + 0, + 32 + ); + break; + } } /** @@ -1712,7 +1712,7 @@ static void window_park_objective_mouseup(rct_window *w, rct_widgetindex widgetI */ static void window_park_objective_resize(rct_window *w) { - window_set_resize(w, 230, 224, 230, 224); + window_set_resize(w, 230, 224, 230, 224); } /** @@ -1721,8 +1721,8 @@ static void window_park_objective_resize(rct_window *w) */ static void window_park_objective_update(rct_window *w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB_6); + w->frame_no++; + widget_invalidate(w, WIDX_TAB_6); } /** @@ -1731,10 +1731,10 @@ static void window_park_objective_update(rct_window *w) */ static void window_park_objective_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (widgetIndex == WIDX_ENTER_NAME && text != NULL && text[0] != 0) { - scenario_success_submit_name(text); - window_invalidate(w); - } + if (widgetIndex == WIDX_ENTER_NAME && text != NULL && text[0] != 0) { + scenario_success_submit_name(text); + window_invalidate(w); + } } /** @@ -1743,17 +1743,17 @@ static void window_park_objective_textinput(rct_window *w, rct_widgetindex widge */ static void window_park_objective_invalidate(rct_window *w) { - window_park_set_pressed_tab(w); - window_park_prepare_window_title_text(); + window_park_set_pressed_tab(w); + window_park_prepare_window_title_text(); - // - if (gParkFlags & PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT) - window_park_objective_widgets[WIDX_ENTER_NAME].type = WWT_DROPDOWN_BUTTON; - else - window_park_objective_widgets[WIDX_ENTER_NAME].type = WWT_EMPTY; + // + if (gParkFlags & PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT) + window_park_objective_widgets[WIDX_ENTER_NAME].type = WWT_DROPDOWN_BUTTON; + else + window_park_objective_widgets[WIDX_ENTER_NAME].type = WWT_EMPTY; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); - window_park_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); + window_park_anchor_border_widgets(w); } /** @@ -1762,42 +1762,42 @@ static void window_park_objective_invalidate(rct_window *w) */ static void window_park_objective_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y; + sint32 x, y; - window_draw_widgets(w, dpi); - window_park_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_park_draw_tab_images(dpi, w); - // Scenario description - x = w->x + window_park_objective_widgets[WIDX_PAGE_BACKGROUND].left + 4; - y = w->y + window_park_objective_widgets[WIDX_PAGE_BACKGROUND].top + 7; - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, const char *, gScenarioDetails); - y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, 222, STR_BLACK_STRING, COLOUR_BLACK); - y += 5; + // Scenario description + x = w->x + window_park_objective_widgets[WIDX_PAGE_BACKGROUND].left + 4; + y = w->y + window_park_objective_widgets[WIDX_PAGE_BACKGROUND].top + 7; + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, const char *, gScenarioDetails); + y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, 222, STR_BLACK_STRING, COLOUR_BLACK); + y += 5; - // Your objective: - gfx_draw_string_left(dpi, STR_OBJECTIVE_LABEL, NULL, COLOUR_BLACK, x, y); - y += 10; + // Your objective: + gfx_draw_string_left(dpi, STR_OBJECTIVE_LABEL, NULL, COLOUR_BLACK, x, y); + y += 10; - // Objective - set_format_arg(0, uint16, gScenarioObjectiveNumGuests); - set_format_arg(2, sint16, date_get_total_months(MONTH_OCTOBER, gScenarioObjectiveYear)); - set_format_arg(4, money32, gScenarioObjectiveCurrency); + // Objective + set_format_arg(0, uint16, gScenarioObjectiveNumGuests); + set_format_arg(2, sint16, date_get_total_months(MONTH_OCTOBER, gScenarioObjectiveYear)); + set_format_arg(4, money32, gScenarioObjectiveCurrency); - y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, 221, ObjectiveNames[gScenarioObjectiveType], COLOUR_BLACK); - y += 5; + y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, 221, ObjectiveNames[gScenarioObjectiveType], COLOUR_BLACK); + y += 5; - // Objective outcome - if (gScenarioCompletedCompanyValue != MONEY32_UNDEFINED) { - if (gScenarioCompletedCompanyValue == 0x80000001) { - // Objective failed - gfx_draw_string_left_wrapped(dpi, NULL, x, y, 222, STR_OBJECTIVE_FAILED, COLOUR_BLACK); - } else { - // Objective completed - set_format_arg(0, money32, gScenarioCompletedCompanyValue); - gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, 222, STR_OBJECTIVE_ACHIEVED, COLOUR_BLACK); - } - } + // Objective outcome + if (gScenarioCompletedCompanyValue != MONEY32_UNDEFINED) { + if (gScenarioCompletedCompanyValue == 0x80000001) { + // Objective failed + gfx_draw_string_left_wrapped(dpi, NULL, x, y, 222, STR_OBJECTIVE_FAILED, COLOUR_BLACK); + } else { + // Objective completed + set_format_arg(0, money32, gScenarioCompletedCompanyValue); + gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, 222, STR_OBJECTIVE_ACHIEVED, COLOUR_BLACK); + } + } } #pragma endregion @@ -1810,27 +1810,27 @@ static void window_park_objective_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_park_awards_open() { - rct_window* window; + rct_window* window; - window = window_bring_to_front_by_class(WC_PARK_INFORMATION); - if (window == NULL) { - window = window_park_open(); - window->viewport_focus_coordinates.x = -1; - window->viewport_focus_coordinates.y = -1; - } + window = window_bring_to_front_by_class(WC_PARK_INFORMATION); + if (window == NULL) { + window = window_park_open(); + window->viewport_focus_coordinates.x = -1; + window->viewport_focus_coordinates.y = -1; + } - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) - if (window->classification == gCurrentToolWidget.window_classification && window->number == gCurrentToolWidget.window_number) - tool_cancel(); + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) + if (window->classification == gCurrentToolWidget.window_classification && window->number == gCurrentToolWidget.window_number) + tool_cancel(); - window->viewport = NULL; - window->page = WINDOW_PARK_PAGE_AWARDS; - window_invalidate(window); - window->widgets = window_park_awards_widgets; - window->enabled_widgets = window_park_page_enabled_widgets[WINDOW_PARK_PAGE_AWARDS]; - window->hold_down_widgets = window_park_page_hold_down_widgets[WINDOW_PARK_PAGE_AWARDS]; - window->event_handlers = &window_park_awards_events; - window_init_scroll_widgets(window); + window->viewport = NULL; + window->page = WINDOW_PARK_PAGE_AWARDS; + window_invalidate(window); + window->widgets = window_park_awards_widgets; + window->enabled_widgets = window_park_page_enabled_widgets[WINDOW_PARK_PAGE_AWARDS]; + window->hold_down_widgets = window_park_page_hold_down_widgets[WINDOW_PARK_PAGE_AWARDS]; + window->event_handlers = &window_park_awards_events; + window_init_scroll_widgets(window); } /** @@ -1839,10 +1839,10 @@ void window_park_awards_open() */ static void window_park_awards_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_CLOSE) - window_close(w); - else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) - window_park_set_page(w, widgetIndex - WIDX_TAB_1); + if (widgetIndex == WIDX_CLOSE) + window_close(w); + else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) + window_park_set_page(w, widgetIndex - WIDX_TAB_1); } /** @@ -1851,7 +1851,7 @@ static void window_park_awards_mouseup(rct_window *w, rct_widgetindex widgetInde */ static void window_park_awards_resize(rct_window *w) { - window_set_resize(w, 230, 182, 230, 182); + window_set_resize(w, 230, 182, 230, 182); } /** @@ -1860,8 +1860,8 @@ static void window_park_awards_resize(rct_window *w) */ static void window_park_awards_update(rct_window *w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB_7); + w->frame_no++; + widget_invalidate(w, WIDX_TAB_7); } /** @@ -1870,19 +1870,19 @@ static void window_park_awards_update(rct_window *w) */ static void window_park_awards_invalidate(rct_window *w) { - rct_widget *widgets; + rct_widget *widgets; - widgets = window_park_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_park_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_park_set_pressed_tab(w); - window_park_prepare_window_title_text(); + window_park_set_pressed_tab(w); + window_park_prepare_window_title_text(); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); - window_park_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7); + window_park_anchor_border_widgets(w); } /** @@ -1891,26 +1891,26 @@ static void window_park_awards_invalidate(rct_window *w) */ static void window_park_awards_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_park_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_park_draw_tab_images(dpi, w); - sint32 x = w->x + window_park_awards_widgets[WIDX_PAGE_BACKGROUND].left + 4; - sint32 y = w->y + window_park_awards_widgets[WIDX_PAGE_BACKGROUND].top + 4; - sint32 count = 0; - for (sint32 i = 0; i < MAX_AWARDS; i++) { - Award *award = &gCurrentAwards[i]; - if (award->Time == 0) - continue; + sint32 x = w->x + window_park_awards_widgets[WIDX_PAGE_BACKGROUND].left + 4; + sint32 y = w->y + window_park_awards_widgets[WIDX_PAGE_BACKGROUND].top + 4; + sint32 count = 0; + for (sint32 i = 0; i < MAX_AWARDS; i++) { + Award *award = &gCurrentAwards[i]; + if (award->Time == 0) + continue; - gfx_draw_sprite(dpi, ParkAwards[award->Type].sprite, x, y, 0); - gfx_draw_string_left_wrapped(dpi, NULL, x + 34, y + 6, 180, ParkAwards[award->Type].text, COLOUR_BLACK); + gfx_draw_sprite(dpi, ParkAwards[award->Type].sprite, x, y, 0); + gfx_draw_string_left_wrapped(dpi, NULL, x + 34, y + 6, 180, ParkAwards[award->Type].text, COLOUR_BLACK); - y += 32; - count++; - } + y += 32; + count++; + } - if (count == 0) - gfx_draw_string_left(dpi, STR_NO_RECENT_AWARDS, NULL, COLOUR_BLACK, x + 6, y + 6); + if (count == 0) + gfx_draw_string_left(dpi, STR_NO_RECENT_AWARDS, NULL, COLOUR_BLACK, x + 6, y + 6); } #pragma endregion @@ -1923,123 +1923,123 @@ static void window_park_awards_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_park_set_page(rct_window *w, sint32 page) { - sint32 listen; + sint32 listen; - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) - if (w->classification == gCurrentToolWidget.window_classification && w->number == gCurrentToolWidget.window_number) - tool_cancel(); + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) + if (w->classification == gCurrentToolWidget.window_classification && w->number == gCurrentToolWidget.window_number) + tool_cancel(); - // Set listen only to viewport - listen = 0; - if (page == WINDOW_PARK_PAGE_ENTRANCE && w->page == WINDOW_PARK_PAGE_ENTRANCE && w->viewport != NULL && !(w->viewport->flags & VIEWPORT_FLAG_SOUND_ON)) - listen++; + // Set listen only to viewport + listen = 0; + if (page == WINDOW_PARK_PAGE_ENTRANCE && w->page == WINDOW_PARK_PAGE_ENTRANCE && w->viewport != NULL && !(w->viewport->flags & VIEWPORT_FLAG_SOUND_ON)) + listen++; - w->page = page; - w->frame_no = 0; - w->var_492 = 0; - if (w->viewport != NULL) { - w->viewport->width = 0; - w->viewport = NULL; - } + w->page = page; + w->frame_no = 0; + w->var_492 = 0; + if (w->viewport != NULL) { + w->viewport->width = 0; + w->viewport = NULL; + } - w->enabled_widgets = window_park_page_enabled_widgets[page]; - w->hold_down_widgets = window_park_page_hold_down_widgets[page]; - w->event_handlers = window_park_page_events[page]; - w->widgets = window_park_page_widgets[page]; - window_park_set_disabled_tabs(w); - window_invalidate(w); + w->enabled_widgets = window_park_page_enabled_widgets[page]; + w->hold_down_widgets = window_park_page_hold_down_widgets[page]; + w->event_handlers = window_park_page_events[page]; + w->widgets = window_park_page_widgets[page]; + window_park_set_disabled_tabs(w); + window_invalidate(w); - window_event_resize_call(w); - window_event_invalidate_call(w); - window_event_update_call(w); - if (listen != 0 && w->viewport != NULL) - w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; + window_event_resize_call(w); + window_event_invalidate_call(w); + window_event_update_call(w); + if (listen != 0 && w->viewport != NULL) + w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; } static void window_park_anchor_border_widgets(rct_window *w) { - w->widgets[WIDX_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_TITLE].right = w->width - 2; - w->widgets[WIDX_CLOSE].left = w->width - 13; - w->widgets[WIDX_CLOSE].right = w->width - 3; + w->widgets[WIDX_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_TITLE].right = w->width - 2; + w->widgets[WIDX_CLOSE].left = w->width - 13; + w->widgets[WIDX_CLOSE].right = w->width - 3; } static void window_park_set_pressed_tab(rct_window *w) { - sint32 i; - for (i = 0; i < 7; i++) - w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); - w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); + sint32 i; + for (i = 0; i < 7; i++) + w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); + w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); } static void window_park_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) { - sint32 sprite_idx; + sint32 sprite_idx; - // Entrance tab - if (!(w->disabled_widgets & (1 << WIDX_TAB_1))) - gfx_draw_sprite(dpi, SPR_TAB_PARK_ENTRANCE, w->x + w->widgets[WIDX_TAB_1].left, w->y + w->widgets[WIDX_TAB_1].top, 0); + // Entrance tab + if (!(w->disabled_widgets & (1 << WIDX_TAB_1))) + gfx_draw_sprite(dpi, SPR_TAB_PARK_ENTRANCE, w->x + w->widgets[WIDX_TAB_1].left, w->y + w->widgets[WIDX_TAB_1].top, 0); - // Rating tab - if (!(w->disabled_widgets & (1 << WIDX_TAB_2))) { - sprite_idx = SPR_TAB_GRAPH_0; - if (w->page == WINDOW_PARK_PAGE_RATING) - sprite_idx += (w->frame_no / 8) % 8; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_2].left, w->y + w->widgets[WIDX_TAB_2].top, 0); - gfx_draw_sprite(dpi, SPR_RATING_HIGH, w->x + w->widgets[WIDX_TAB_2].left + 7, w->y + w->widgets[WIDX_TAB_2].top + 1, 0); - gfx_draw_sprite(dpi, SPR_RATING_LOW, w->x + w->widgets[WIDX_TAB_2].left + 16, w->y + w->widgets[WIDX_TAB_2].top + 12, 0); - } + // Rating tab + if (!(w->disabled_widgets & (1 << WIDX_TAB_2))) { + sprite_idx = SPR_TAB_GRAPH_0; + if (w->page == WINDOW_PARK_PAGE_RATING) + sprite_idx += (w->frame_no / 8) % 8; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_2].left, w->y + w->widgets[WIDX_TAB_2].top, 0); + gfx_draw_sprite(dpi, SPR_RATING_HIGH, w->x + w->widgets[WIDX_TAB_2].left + 7, w->y + w->widgets[WIDX_TAB_2].top + 1, 0); + gfx_draw_sprite(dpi, SPR_RATING_LOW, w->x + w->widgets[WIDX_TAB_2].left + 16, w->y + w->widgets[WIDX_TAB_2].top + 12, 0); + } - // Guests tab - if (!(w->disabled_widgets & (1 << WIDX_TAB_3))) { - sprite_idx = SPR_TAB_GRAPH_0; - if (w->page == WINDOW_PARK_PAGE_GUESTS) - sprite_idx += (w->frame_no / 8) % 8; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_3].left, w->y + w->widgets[WIDX_TAB_3].top, 0); + // Guests tab + if (!(w->disabled_widgets & (1 << WIDX_TAB_3))) { + sprite_idx = SPR_TAB_GRAPH_0; + if (w->page == WINDOW_PARK_PAGE_GUESTS) + sprite_idx += (w->frame_no / 8) % 8; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_3].left, w->y + w->widgets[WIDX_TAB_3].top, 0); - sprite_idx = g_peep_animation_entries[PEEP_SPRITE_TYPE_NORMAL].sprite_animation->base_image + 1; - if (w->page == WINDOW_PARK_PAGE_GUESTS) - sprite_idx += w->var_492 & 0xFFFFFFFC; + sprite_idx = g_peep_animation_entries[PEEP_SPRITE_TYPE_NORMAL].sprite_animation->base_image + 1; + if (w->page == WINDOW_PARK_PAGE_GUESTS) + sprite_idx += w->var_492 & 0xFFFFFFFC; - sprite_idx |= 0xA9E00000; - gfx_draw_sprite( - dpi, - sprite_idx, - w->x + (w->widgets[WIDX_TAB_3].left + w->widgets[WIDX_TAB_3].right) / 2, - w->y + w->widgets[WIDX_TAB_3].bottom - 9, 0 - ); - } + sprite_idx |= 0xA9E00000; + gfx_draw_sprite( + dpi, + sprite_idx, + w->x + (w->widgets[WIDX_TAB_3].left + w->widgets[WIDX_TAB_3].right) / 2, + w->y + w->widgets[WIDX_TAB_3].bottom - 9, 0 + ); + } - // Price tab - if (!(w->disabled_widgets & (1 << WIDX_TAB_4))) { - sprite_idx = SPR_TAB_ADMISSION_0; - if (w->page == WINDOW_PARK_PAGE_PRICE) - sprite_idx += (w->frame_no / 2) % 8; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_4].left, w->y + w->widgets[WIDX_TAB_4].top, 0); - } + // Price tab + if (!(w->disabled_widgets & (1 << WIDX_TAB_4))) { + sprite_idx = SPR_TAB_ADMISSION_0; + if (w->page == WINDOW_PARK_PAGE_PRICE) + sprite_idx += (w->frame_no / 2) % 8; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_4].left, w->y + w->widgets[WIDX_TAB_4].top, 0); + } - // Statistics tab - if (!(w->disabled_widgets & (1 << WIDX_TAB_5))) { - sprite_idx = SPR_TAB_STATS_0; - if (w->page == WINDOW_PARK_PAGE_STATS) - sprite_idx += (w->frame_no / 4) % 7; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_5].left, w->y + w->widgets[WIDX_TAB_5].top, 0); - } + // Statistics tab + if (!(w->disabled_widgets & (1 << WIDX_TAB_5))) { + sprite_idx = SPR_TAB_STATS_0; + if (w->page == WINDOW_PARK_PAGE_STATS) + sprite_idx += (w->frame_no / 4) % 7; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_5].left, w->y + w->widgets[WIDX_TAB_5].top, 0); + } - // Objective tab - if (!(w->disabled_widgets & (1 << WIDX_TAB_6))) { - sprite_idx = SPR_TAB_OBJECTIVE_0; - if (w->page == WINDOW_PARK_PAGE_OBJECTIVE) - sprite_idx += (w->frame_no / 4) % 16; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_6].left, w->y + w->widgets[WIDX_TAB_6].top, 0); - } + // Objective tab + if (!(w->disabled_widgets & (1 << WIDX_TAB_6))) { + sprite_idx = SPR_TAB_OBJECTIVE_0; + if (w->page == WINDOW_PARK_PAGE_OBJECTIVE) + sprite_idx += (w->frame_no / 4) % 16; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_6].left, w->y + w->widgets[WIDX_TAB_6].top, 0); + } - // Awards tab - if (!(w->disabled_widgets & (1 << WIDX_TAB_7))) - gfx_draw_sprite(dpi, SPR_TAB_AWARDS, w->x + w->widgets[WIDX_TAB_7].left, w->y + w->widgets[WIDX_TAB_7].top, 0); + // Awards tab + if (!(w->disabled_widgets & (1 << WIDX_TAB_7))) + gfx_draw_sprite(dpi, SPR_TAB_AWARDS, w->x + w->widgets[WIDX_TAB_7].left, w->y + w->widgets[WIDX_TAB_7].top, 0); } #pragma endregion diff --git a/src/openrct2/windows/player.c b/src/openrct2/windows/player.c index 4babd5a98f..780dc0501c 100644 --- a/src/openrct2/windows/player.c +++ b/src/openrct2/windows/player.c @@ -37,53 +37,53 @@ #include "error.h" enum WINDOW_PLAYER_PAGE { - WINDOW_PLAYER_PAGE_OVERVIEW, - WINDOW_PLAYER_PAGE_STATISTICS, + WINDOW_PLAYER_PAGE_OVERVIEW, + WINDOW_PLAYER_PAGE_STATISTICS, }; #pragma region Widgets enum WINDOW_PLAYER_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_TAB_2, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_TAB_2, - WIDX_GROUP = 6, - WIDX_GROUP_DROPDOWN, - WIDX_LOCATE, - WIDX_KICK, - WIDX_VIEWPORT, + WIDX_GROUP = 6, + WIDX_GROUP_DROPDOWN, + WIDX_LOCATE, + WIDX_KICK, + WIDX_VIEWPORT, }; -#define WINDOW_PLAYER_COMMON_WIDGETS \ - { WWT_FRAME, 0, 0, 191, 0, 156, 0xFFFFFFFF, STR_NONE }, /* Panel / Background */ \ - { WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP }, /* Title */ \ - { WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* Close x button */ \ - { WWT_RESIZE, 1, 0, 191, 43, 156, 0xFFFFFFFF, STR_NONE }, /* Resize */ \ - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, /* Tab 1 */ \ - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_NONE } /* Tab 2 */ +#define WINDOW_PLAYER_COMMON_WIDGETS \ + { WWT_FRAME, 0, 0, 191, 0, 156, 0xFFFFFFFF, STR_NONE }, /* Panel / Background */ \ + { WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP }, /* Title */ \ + { WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* Close x button */ \ + { WWT_RESIZE, 1, 0, 191, 43, 156, 0xFFFFFFFF, STR_NONE }, /* Resize */ \ + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_NONE }, /* Tab 1 */ \ + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_NONE } /* Tab 2 */ rct_widget window_player_overview_widgets[] = { - WINDOW_PLAYER_COMMON_WIDGETS, - { WWT_DROPDOWN, 1, 3, 177, 46, 57, 0xFFFFFFFF, STR_NONE }, // Permission group - { WWT_DROPDOWN_BUTTON, 1, 167, 177, 47, 56, STR_DROPDOWN_GLYPH, STR_NONE }, // - { WWT_FLATBTN, 1, 179, 190, 45, 68, SPR_LOCATE, STR_LOCATE_PLAYER_TIP }, // Locate button - { WWT_FLATBTN, 1, 179, 190, 69, 92, SPR_DEMOLISH, STR_KICK_PLAYER_TIP }, // Kick button - { WWT_VIEWPORT, 1, 3, 177, 60, 120, 0xFFFFFFFF, STR_NONE }, // Viewport - { WIDGETS_END }, + WINDOW_PLAYER_COMMON_WIDGETS, + { WWT_DROPDOWN, 1, 3, 177, 46, 57, 0xFFFFFFFF, STR_NONE }, // Permission group + { WWT_DROPDOWN_BUTTON, 1, 167, 177, 47, 56, STR_DROPDOWN_GLYPH, STR_NONE }, // + { WWT_FLATBTN, 1, 179, 190, 45, 68, SPR_LOCATE, STR_LOCATE_PLAYER_TIP }, // Locate button + { WWT_FLATBTN, 1, 179, 190, 69, 92, SPR_DEMOLISH, STR_KICK_PLAYER_TIP }, // Kick button + { WWT_VIEWPORT, 1, 3, 177, 60, 120, 0xFFFFFFFF, STR_NONE }, // Viewport + { WIDGETS_END }, }; rct_widget window_player_statistics_widgets[] = { - WINDOW_PLAYER_COMMON_WIDGETS, - { WIDGETS_END }, + WINDOW_PLAYER_COMMON_WIDGETS, + { WIDGETS_END }, }; rct_widget *window_player_page_widgets[] = { - window_player_overview_widgets, - window_player_statistics_widgets + window_player_overview_widgets, + window_player_statistics_widgets }; #pragma endregion @@ -100,34 +100,34 @@ void window_player_overview_invalidate(rct_window *w); void window_player_overview_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_player_overview_events = { - window_player_overview_close, - window_player_overview_mouse_up, - window_player_overview_resize, - window_player_overview_mouse_down, - window_player_overview_dropdown, - NULL, - window_player_overview_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_player_overview_invalidate, - window_player_overview_paint, - NULL + window_player_overview_close, + window_player_overview_mouse_up, + window_player_overview_resize, + window_player_overview_mouse_down, + window_player_overview_dropdown, + NULL, + window_player_overview_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_player_overview_invalidate, + window_player_overview_paint, + NULL }; void window_player_statistics_close(rct_window *w); @@ -138,39 +138,39 @@ void window_player_statistics_invalidate(rct_window *w); void window_player_statistics_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_player_statistics_events = { - window_player_statistics_close, - window_player_statistics_mouse_up, - window_player_statistics_resize, - NULL, - NULL, - NULL, - window_player_statistics_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_player_statistics_invalidate, - window_player_statistics_paint, - NULL + window_player_statistics_close, + window_player_statistics_mouse_up, + window_player_statistics_resize, + NULL, + NULL, + NULL, + window_player_statistics_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_player_statistics_invalidate, + window_player_statistics_paint, + NULL }; static rct_window_event_list *window_player_page_events[] = { - &window_player_overview_events, - &window_player_statistics_events + &window_player_overview_events, + &window_player_statistics_events }; #pragma endregion @@ -181,86 +181,86 @@ static void window_player_update_viewport(rct_window *w, bool scroll); static void window_player_update_title(rct_window* w); uint32 window_player_page_enabled_widgets[] = { - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_GROUP) | - (1 << WIDX_GROUP_DROPDOWN) | - (1 << WIDX_LOCATE) | - (1 << WIDX_KICK), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_GROUP) | + (1 << WIDX_GROUP_DROPDOWN) | + (1 << WIDX_LOCATE) | + (1 << WIDX_KICK), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) }; void window_player_open(uint8 id) { - rct_window* window; + rct_window* window; - window = window_bring_to_front_by_number(WC_PLAYER, id); - if (window == NULL) { - window = window_create_auto_pos(240, 170, &window_player_overview_events, WC_PLAYER, WF_RESIZABLE); - window->number = id; - window->page = 0; - window->viewport_focus_coordinates.y = 0; - window->frame_no = 0; - window->list_information_type = 0; - window->picked_peep_frame = 0; - window->highlighted_item = 0; - window->min_width = 210; - window->min_height = 134; - window->max_width = 500; - window->max_height = 450; - window->no_list_items = 0; - window->selected_list_item = -1; + window = window_bring_to_front_by_number(WC_PLAYER, id); + if (window == NULL) { + window = window_create_auto_pos(240, 170, &window_player_overview_events, WC_PLAYER, WF_RESIZABLE); + window->number = id; + window->page = 0; + window->viewport_focus_coordinates.y = 0; + window->frame_no = 0; + window->list_information_type = 0; + window->picked_peep_frame = 0; + window->highlighted_item = 0; + window->min_width = 210; + window->min_height = 134; + window->max_width = 500; + window->max_height = 450; + window->no_list_items = 0; + window->selected_list_item = -1; - window->viewport_focus_coordinates.y = -1; - } + window->viewport_focus_coordinates.y = -1; + } - window->page = 0; - window_invalidate(window); + window->page = 0; + window_invalidate(window); - window->widgets = window_player_page_widgets[WINDOW_PLAYER_PAGE_OVERVIEW]; - window->enabled_widgets = window_player_page_enabled_widgets[WINDOW_PLAYER_PAGE_OVERVIEW]; - window->hold_down_widgets = 0; - window->event_handlers = window_player_page_events[WINDOW_PLAYER_PAGE_OVERVIEW]; - window->pressed_widgets = 0; + window->widgets = window_player_page_widgets[WINDOW_PLAYER_PAGE_OVERVIEW]; + window->enabled_widgets = window_player_page_enabled_widgets[WINDOW_PLAYER_PAGE_OVERVIEW]; + window->hold_down_widgets = 0; + window->event_handlers = window_player_page_events[WINDOW_PLAYER_PAGE_OVERVIEW]; + window->pressed_widgets = 0; - window_init_scroll_widgets(window); - window_player_set_page(window, WINDOW_PLAYER_PAGE_OVERVIEW); + window_init_scroll_widgets(window); + window_player_set_page(window, WINDOW_PLAYER_PAGE_OVERVIEW); } static void window_player_overview_show_group_dropdown(rct_window *w, rct_widget *widget) { - rct_widget *dropdownWidget; - sint32 numItems, i; - sint32 player = network_get_player_index((uint8)w->number); - if (player == -1) { - return; - } + rct_widget *dropdownWidget; + sint32 numItems, i; + sint32 player = network_get_player_index((uint8)w->number); + if (player == -1) { + return; + } - dropdownWidget = widget - 1; + dropdownWidget = widget - 1; - numItems = network_get_num_groups(); + numItems = network_get_num_groups(); - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - 0, - numItems, - widget->right - dropdownWidget->left - ); + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + 0, + numItems, + widget->right - dropdownWidget->left + ); - for (i = 0; i < network_get_num_groups(); i++) { - gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; - gDropdownItemsArgs[i] = (uintptr_t)network_get_group_name(i); - } + for (i = 0; i < network_get_num_groups(); i++) { + gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; + gDropdownItemsArgs[i] = (uintptr_t)network_get_group_name(i); + } - dropdown_set_checked(network_get_group_index(network_get_player_group(player)), true); + dropdown_set_checked(network_get_group_index(network_get_player_group(player)), true); } void window_player_overview_close(rct_window *w) @@ -270,382 +270,382 @@ void window_player_overview_close(rct_window *w) void window_player_overview_mouse_up(rct_window *w, rct_widgetindex widgetIndex) { - switch(widgetIndex){ - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - window_player_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_LOCATE:{ - rct_window* mainWindow = window_get_main(); - if (mainWindow != NULL) { - sint32 player = network_get_player_index((uint8)w->number); - if (player == -1) { - return; - } - rct_xyz16 coord = network_get_player_last_action_coord(player); - if (coord.x || coord.y || coord.z) { - window_scroll_to_location(mainWindow, coord.x, coord.y, coord.z); - } - } - }break; - case WIDX_KICK: - game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_KICK_PLAYER, 0, 0); - break; - } + switch(widgetIndex){ + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + window_player_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_LOCATE:{ + rct_window* mainWindow = window_get_main(); + if (mainWindow != NULL) { + sint32 player = network_get_player_index((uint8)w->number); + if (player == -1) { + return; + } + rct_xyz16 coord = network_get_player_last_action_coord(player); + if (coord.x || coord.y || coord.z) { + window_scroll_to_location(mainWindow, coord.x, coord.y, coord.z); + } + } + }break; + case WIDX_KICK: + game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_KICK_PLAYER, 0, 0); + break; + } } void window_player_overview_mouse_down(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - switch(widgetIndex){ - case WIDX_GROUP_DROPDOWN: - window_player_overview_show_group_dropdown(w, widget); - break; - } + switch(widgetIndex){ + case WIDX_GROUP_DROPDOWN: + window_player_overview_show_group_dropdown(w, widget); + break; + } } void window_player_overview_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - sint32 player = network_get_player_index((uint8)w->number); - if (player == -1) { - return; - } - if (dropdownIndex == -1) { - return; - } - sint32 group = network_get_group_id(dropdownIndex); - game_do_command(0, GAME_COMMAND_FLAG_APPLY, w->number, group, GAME_COMMAND_SET_PLAYER_GROUP, 0, 0); - window_invalidate(w); + sint32 player = network_get_player_index((uint8)w->number); + if (player == -1) { + return; + } + if (dropdownIndex == -1) { + return; + } + sint32 group = network_get_group_id(dropdownIndex); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, w->number, group, GAME_COMMAND_SET_PLAYER_GROUP, 0, 0); + window_invalidate(w); } void window_player_overview_resize(rct_window *w) { - window_set_resize(w, 240, 170, 500, 300); + window_set_resize(w, 240, 170, 500, 300); } void window_player_overview_update(rct_window* w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB_1 + w->page); + w->frame_no++; + widget_invalidate(w, WIDX_TAB_1 + w->page); - if (network_get_player_index((uint8)w->number) == -1) { - window_close(w); - return; - } + if (network_get_player_index((uint8)w->number) == -1) { + window_close(w); + return; + } - // Update viewport - bool scroll = true; + // Update viewport + bool scroll = true; - // Use this spare window field for rotation check - if (w->var_4AE != get_current_rotation()) { - w->var_4AE = get_current_rotation(); - scroll = false; - } - window_player_update_viewport(w, scroll); + // Use this spare window field for rotation check + if (w->var_4AE != get_current_rotation()) { + w->var_4AE = get_current_rotation(); + scroll = false; + } + window_player_update_viewport(w, scroll); } void window_player_overview_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_player_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_player_draw_tab_images(dpi, w); - sint32 player = network_get_player_index((uint8)w->number); - if (player == -1) { - return; - } + sint32 player = network_get_player_index((uint8)w->number); + if (player == -1) { + return; + } - // Draw current group - sint32 groupindex = network_get_group_index(network_get_player_group(player)); - if (groupindex != -1) { - rct_widget* widget = &window_player_overview_widgets[WIDX_GROUP]; - char buffer[300]; - char* lineCh; - lineCh = buffer; - lineCh = utf8_write_codepoint(lineCh, FORMAT_WINDOW_COLOUR_2); - safe_strcpy(lineCh, network_get_group_name(groupindex), sizeof(buffer) - (lineCh - buffer)); - set_format_arg(0, const char *, buffer); + // Draw current group + sint32 groupindex = network_get_group_index(network_get_player_group(player)); + if (groupindex != -1) { + rct_widget* widget = &window_player_overview_widgets[WIDX_GROUP]; + char buffer[300]; + char* lineCh; + lineCh = buffer; + lineCh = utf8_write_codepoint(lineCh, FORMAT_WINDOW_COLOUR_2); + safe_strcpy(lineCh, network_get_group_name(groupindex), sizeof(buffer) - (lineCh - buffer)); + set_format_arg(0, const char *, buffer); - gfx_draw_string_centred_clipped( - dpi, - STR_STRING, - gCommonFormatArgs, - COLOUR_BLACK, - w->x + (widget->left + widget->right - 11) / 2, - w->y + widget->top, - widget->right - widget->left - 8 - ); - } + gfx_draw_string_centred_clipped( + dpi, + STR_STRING, + gCommonFormatArgs, + COLOUR_BLACK, + w->x + (widget->left + widget->right - 11) / 2, + w->y + widget->top, + widget->right - widget->left - 8 + ); + } - // Draw ping - sint32 x = w->x + 90; - sint32 y = w->y + 24; + // Draw ping + sint32 x = w->x + 90; + sint32 y = w->y + 24; - set_format_arg(0, rct_string_id, STR_PING); - gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, 0, x, y); - char ping[64]; - snprintf(ping, 64, "%d ms", network_get_player_ping(player)); - gfx_draw_string(dpi, ping, w->colours[2], x + 30, y); + set_format_arg(0, rct_string_id, STR_PING); + gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, 0, x, y); + char ping[64]; + snprintf(ping, 64, "%d ms", network_get_player_ping(player)); + gfx_draw_string(dpi, ping, w->colours[2], x + 30, y); - // Draw last action - x = w->x + (w->width / 2); - y = w->y + w->height - 13; - sint32 width = w->width - 8; - sint32 lastaction = network_get_player_last_action(player, 0); - set_format_arg(0, rct_string_id, STR_ACTION_NA); - if (lastaction != -999) { - set_format_arg(0, rct_string_id, network_get_action_name_string_id(lastaction)); - } - gfx_draw_string_centred_clipped(dpi, STR_LAST_ACTION_RAN, gCommonFormatArgs, COLOUR_BLACK, x, y, width); + // Draw last action + x = w->x + (w->width / 2); + y = w->y + w->height - 13; + sint32 width = w->width - 8; + sint32 lastaction = network_get_player_last_action(player, 0); + set_format_arg(0, rct_string_id, STR_ACTION_NA); + if (lastaction != -999) { + set_format_arg(0, rct_string_id, network_get_action_name_string_id(lastaction)); + } + gfx_draw_string_centred_clipped(dpi, STR_LAST_ACTION_RAN, gCommonFormatArgs, COLOUR_BLACK, x, y, width); - if (w->viewport != NULL && w->var_492 != -1) { - window_draw_viewport(dpi, w); - } + if (w->viewport != NULL && w->var_492 != -1) { + window_draw_viewport(dpi, w); + } } void window_player_overview_invalidate(rct_window *w) { - if (window_player_page_widgets[w->page] != w->widgets) { - w->widgets = window_player_page_widgets[w->page]; - window_init_scroll_widgets(w); - } + if (window_player_page_widgets[w->page] != w->widgets) { + w->widgets = window_player_page_widgets[w->page]; + window_init_scroll_widgets(w); + } - w->pressed_widgets &= ~(WIDX_TAB_1); - w->pressed_widgets &= ~(WIDX_TAB_2); - w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); + w->pressed_widgets &= ~(WIDX_TAB_1); + w->pressed_widgets &= ~(WIDX_TAB_2); + w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); - window_player_update_title(w); + window_player_update_title(w); - w->widgets[WIDX_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_PAGE_BACKGROUND].right =w->width - 1; - w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_TITLE].right = w->width - 2; - w->widgets[WIDX_CLOSE].left = w->width - 13; - w->widgets[WIDX_CLOSE].right = w->width - 3; - w->widgets[WIDX_LOCATE].right = w->width - 2; - w->widgets[WIDX_LOCATE].left = w->width - 25; - w->widgets[WIDX_KICK].right = w->width - 2; - w->widgets[WIDX_KICK].left = w->width - 25; - w->widgets[WIDX_VIEWPORT].right = w->width - 26; - w->widgets[WIDX_VIEWPORT].bottom = w->height - 14; + w->widgets[WIDX_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_PAGE_BACKGROUND].right =w->width - 1; + w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_TITLE].right = w->width - 2; + w->widgets[WIDX_CLOSE].left = w->width - 13; + w->widgets[WIDX_CLOSE].right = w->width - 3; + w->widgets[WIDX_LOCATE].right = w->width - 2; + w->widgets[WIDX_LOCATE].left = w->width - 25; + w->widgets[WIDX_KICK].right = w->width - 2; + w->widgets[WIDX_KICK].left = w->width - 25; + w->widgets[WIDX_VIEWPORT].right = w->width - 26; + w->widgets[WIDX_VIEWPORT].bottom = w->height - 14; - sint32 groupDropdownWidth = w->widgets[WIDX_GROUP].right - w->widgets[WIDX_GROUP].left; - w->widgets[WIDX_GROUP].left = (w->width - groupDropdownWidth) / 2; - w->widgets[WIDX_GROUP].right = w->widgets[WIDX_GROUP].left + groupDropdownWidth; - w->widgets[WIDX_GROUP_DROPDOWN].left = w->widgets[WIDX_GROUP].right - 10; - w->widgets[WIDX_GROUP_DROPDOWN].right = w->widgets[WIDX_GROUP].right; + sint32 groupDropdownWidth = w->widgets[WIDX_GROUP].right - w->widgets[WIDX_GROUP].left; + w->widgets[WIDX_GROUP].left = (w->width - groupDropdownWidth) / 2; + w->widgets[WIDX_GROUP].right = w->widgets[WIDX_GROUP].left + groupDropdownWidth; + w->widgets[WIDX_GROUP_DROPDOWN].left = w->widgets[WIDX_GROUP].right - 10; + w->widgets[WIDX_GROUP_DROPDOWN].right = w->widgets[WIDX_GROUP].right; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_2); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_2); - rct_viewport *viewport = w->viewport; - if (viewport != NULL) { - rct_widget *viewportWidget = &window_player_overview_widgets[WIDX_VIEWPORT]; + rct_viewport *viewport = w->viewport; + if (viewport != NULL) { + rct_widget *viewportWidget = &window_player_overview_widgets[WIDX_VIEWPORT]; - viewport->x = w->x + viewportWidget->left; - viewport->y = w->y + viewportWidget->top; - viewport->width = viewportWidget->right - viewportWidget->left; - viewport->height = viewportWidget->bottom - viewportWidget->top; - viewport->view_width = viewport->width << viewport->zoom; - viewport->view_height = viewport->height << viewport->zoom; - } + viewport->x = w->x + viewportWidget->left; + viewport->y = w->y + viewportWidget->top; + viewport->width = viewportWidget->right - viewportWidget->left; + viewport->height = viewportWidget->bottom - viewportWidget->top; + viewport->view_width = viewport->width << viewport->zoom; + viewport->view_height = viewport->height << viewport->zoom; + } } void window_player_statistics_close(rct_window *w) { - if (w->error.var_480) { - user_string_free(w->error.var_480); - w->error.var_480 = 0; - } + if (w->error.var_480) { + user_string_free(w->error.var_480); + w->error.var_480 = 0; + } } void window_player_statistics_mouse_up(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - window_player_set_page(w, widgetIndex - WIDX_TAB_1); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + window_player_set_page(w, widgetIndex - WIDX_TAB_1); + break; + } } void window_player_statistics_resize(rct_window *w) { - window_set_resize(w, 210, 80, 210, 80); + window_set_resize(w, 210, 80, 210, 80); } void window_player_statistics_update(rct_window* w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB_1 + w->page); + w->frame_no++; + widget_invalidate(w, WIDX_TAB_1 + w->page); - if (network_get_player_index((uint8)w->number) == -1) { - window_close(w); - } + if (network_get_player_index((uint8)w->number) == -1) { + window_close(w); + } } void window_player_statistics_invalidate(rct_window *w) { - if (window_player_page_widgets[w->page] != w->widgets) { - w->widgets = window_player_page_widgets[w->page]; - window_init_scroll_widgets(w); - } + if (window_player_page_widgets[w->page] != w->widgets) { + w->widgets = window_player_page_widgets[w->page]; + window_init_scroll_widgets(w); + } - w->pressed_widgets &= ~(WIDX_TAB_1); - w->pressed_widgets &= ~(WIDX_TAB_2); - w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); + w->pressed_widgets &= ~(WIDX_TAB_1); + w->pressed_widgets &= ~(WIDX_TAB_2); + w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); - window_player_update_title(w); + window_player_update_title(w); - w->widgets[WIDX_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_TITLE].right = w->width - 2; - w->widgets[WIDX_CLOSE].left = w->width - 13; - w->widgets[WIDX_CLOSE].right = w->width - 3; + w->widgets[WIDX_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_TITLE].right = w->width - 2; + w->widgets[WIDX_CLOSE].left = w->width - 13; + w->widgets[WIDX_CLOSE].right = w->width - 3; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_2); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_2); } void window_player_statistics_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_player_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_player_draw_tab_images(dpi, w); - sint32 player = network_get_player_index((uint8)w->number); - if (player == -1) { - return; - } + sint32 player = network_get_player_index((uint8)w->number); + if (player == -1) { + return; + } - sint32 x = w->x + window_player_overview_widgets[WIDX_PAGE_BACKGROUND].left + 4; - sint32 y = w->y + window_player_overview_widgets[WIDX_PAGE_BACKGROUND].top + 4; + sint32 x = w->x + window_player_overview_widgets[WIDX_PAGE_BACKGROUND].left + 4; + sint32 y = w->y + window_player_overview_widgets[WIDX_PAGE_BACKGROUND].top + 4; - set_format_arg(0, uint32, network_get_player_commands_ran(player)); - gfx_draw_string_left(dpi, STR_COMMANDS_RAN, gCommonFormatArgs, COLOUR_BLACK, x, y); + set_format_arg(0, uint32, network_get_player_commands_ran(player)); + gfx_draw_string_left(dpi, STR_COMMANDS_RAN, gCommonFormatArgs, COLOUR_BLACK, x, y); - y += 10; + y += 10; - set_format_arg(0, uint32, network_get_player_money_spent(player)); - gfx_draw_string_left(dpi, STR_MONEY_SPENT, gCommonFormatArgs, COLOUR_BLACK, x, y); + set_format_arg(0, uint32, network_get_player_money_spent(player)); + gfx_draw_string_left(dpi, STR_MONEY_SPENT, gCommonFormatArgs, COLOUR_BLACK, x, y); } static void window_player_set_page(rct_window* w, sint32 page) { - sint32 originalPage = w->page; + sint32 originalPage = w->page; - w->page = page; - w->frame_no = 0; - w->no_list_items = 0; - w->selected_list_item = -1; + w->page = page; + w->frame_no = 0; + w->no_list_items = 0; + w->selected_list_item = -1; - w->enabled_widgets = window_player_page_enabled_widgets[page]; - w->hold_down_widgets = 0; - w->event_handlers = window_player_page_events[page]; - w->pressed_widgets = 0; - w->widgets = window_player_page_widgets[page]; - window_invalidate(w); - window_event_resize_call(w); - window_event_invalidate_call(w); - window_init_scroll_widgets(w); - window_invalidate(w); + w->enabled_widgets = window_player_page_enabled_widgets[page]; + w->hold_down_widgets = 0; + w->event_handlers = window_player_page_events[page]; + w->pressed_widgets = 0; + w->widgets = window_player_page_widgets[page]; + window_invalidate(w); + window_event_resize_call(w); + window_event_invalidate_call(w); + window_init_scroll_widgets(w); + window_invalidate(w); - if (page == WINDOW_PLAYER_PAGE_OVERVIEW) { - if (w->viewport == NULL) { - viewport_create(w, w->x, w->y, w->width, w->height, 0, 128 * 32, 128 * 32, 0, 1, -1); - w->flags |= WF_NO_SCROLLING; - window_event_invalidate_call(w); - window_player_update_viewport(w, false); - } else if (originalPage != page) { - window_event_invalidate_call(w); - window_player_update_viewport(w, false); - } - } else { - if (w->viewport != NULL) { - w->viewport->width = 0; - w->viewport = NULL; - } - } + if (page == WINDOW_PLAYER_PAGE_OVERVIEW) { + if (w->viewport == NULL) { + viewport_create(w, w->x, w->y, w->width, w->height, 0, 128 * 32, 128 * 32, 0, 1, -1); + w->flags |= WF_NO_SCROLLING; + window_event_invalidate_call(w); + window_player_update_viewport(w, false); + } else if (originalPage != page) { + window_event_invalidate_call(w); + window_player_update_viewport(w, false); + } + } else { + if (w->viewport != NULL) { + w->viewport->width = 0; + w->viewport = NULL; + } + } } static void window_player_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) { - rct_widget *widget; - sint32 x, y, imageId; + rct_widget *widget; + sint32 x, y, imageId; - // Tab 1 - if (!widget_is_disabled(w, WIDX_TAB_1)) { - widget = &w->widgets[WIDX_TAB_1]; - x = widget->left + w->x; - y = widget->top + w->y; - imageId = SPR_PEEP_LARGE_FACE_NORMAL; - gfx_draw_sprite(dpi, imageId, x, y, 0); - } + // Tab 1 + if (!widget_is_disabled(w, WIDX_TAB_1)) { + widget = &w->widgets[WIDX_TAB_1]; + x = widget->left + w->x; + y = widget->top + w->y; + imageId = SPR_PEEP_LARGE_FACE_NORMAL; + gfx_draw_sprite(dpi, imageId, x, y, 0); + } - // Tab 2 - if (!widget_is_disabled(w, WIDX_TAB_2)) { - widget = &w->widgets[WIDX_TAB_2]; - x = widget->left + w->x; - y = widget->top + w->y; - imageId = SPR_TAB_FINANCES_SUMMARY_0; + // Tab 2 + if (!widget_is_disabled(w, WIDX_TAB_2)) { + widget = &w->widgets[WIDX_TAB_2]; + x = widget->left + w->x; + y = widget->top + w->y; + imageId = SPR_TAB_FINANCES_SUMMARY_0; - if (w->page == WINDOW_PLAYER_PAGE_STATISTICS) { - imageId += (w->frame_no / 2) & 7; - } + if (w->page == WINDOW_PLAYER_PAGE_STATISTICS) { + imageId += (w->frame_no / 2) & 7; + } - gfx_draw_sprite(dpi, imageId, x, y, 0); - } + gfx_draw_sprite(dpi, imageId, x, y, 0); + } } static void window_player_update_viewport(rct_window *w, bool scroll) { - sint32 playerIndex = network_get_player_index((uint8)w->number); - if (playerIndex == -1) { - return; - } + sint32 playerIndex = network_get_player_index((uint8)w->number); + if (playerIndex == -1) { + return; + } - rct_viewport *viewport = w->viewport; - if (viewport != NULL) { - rct_xyz16 coord = network_get_player_last_action_coord(playerIndex); - if (coord.x != 0 || coord.y != 0 || coord.z != 0) { - sint32 viewX, viewY; - center_2d_coordinates(coord.x, coord.y, coord.z, &viewX, &viewY, viewport); + rct_viewport *viewport = w->viewport; + if (viewport != NULL) { + rct_xyz16 coord = network_get_player_last_action_coord(playerIndex); + if (coord.x != 0 || coord.y != 0 || coord.z != 0) { + sint32 viewX, viewY; + center_2d_coordinates(coord.x, coord.y, coord.z, &viewX, &viewY, viewport); - // Don't scroll if the view was originally undefined - if (w->var_492 == -1) { - scroll = false; - } + // Don't scroll if the view was originally undefined + if (w->var_492 == -1) { + scroll = false; + } - if (!scroll || w->saved_view_x != viewX || w->saved_view_y != viewY) { - w->flags |= WF_SCROLLING_TO_LOCATION; - w->saved_view_x = viewX; - w->saved_view_y = viewY; - if (!scroll) { - w->viewport->view_x = viewX; - w->viewport->view_y = viewY; - } - widget_invalidate(w, WIDX_VIEWPORT); - } + if (!scroll || w->saved_view_x != viewX || w->saved_view_y != viewY) { + w->flags |= WF_SCROLLING_TO_LOCATION; + w->saved_view_x = viewX; + w->saved_view_y = viewY; + if (!scroll) { + w->viewport->view_x = viewX; + w->viewport->view_y = viewY; + } + widget_invalidate(w, WIDX_VIEWPORT); + } - // Draw the viewport - w->var_492 = 0; - } else { - // Don't draw the viewport - w->var_492 = -1; - } - } + // Draw the viewport + w->var_492 = 0; + } else { + // Don't draw the viewport + w->var_492 = -1; + } + } } static void window_player_update_title(rct_window* w) { - sint32 player = network_get_player_index((uint8)w->number); - if (player != -1) { - set_format_arg(0, const char *, network_get_player_name(player)); // set title caption to player name - } else { - set_format_arg(0, const char *, ""); - } + sint32 player = network_get_player_index((uint8)w->number); + if (player != -1) { + set_format_arg(0, const char *, network_get_player_name(player)); // set title caption to player name + } else { + set_format_arg(0, const char *, ""); + } } diff --git a/src/openrct2/windows/publisher_credits.c b/src/openrct2/windows/publisher_credits.c index c21c09d9d3..7f33675d64 100644 --- a/src/openrct2/windows/publisher_credits.c +++ b/src/openrct2/windows/publisher_credits.c @@ -20,17 +20,17 @@ #include "../interface/window.h" enum WINDOW_PUBLISHER_CREDITS_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE }; rct_widget window_publisher_credits_widgets[] = { - {WWT_FRAME, 0, 0, 419, 0, 383, 0xFFFFFFFF, STR_NONE}, // panel / background - {WWT_CAPTION, 0, 1, 418, 1, 14, STR_ROLLERCOASTER_TYCOON_2, STR_WINDOW_TITLE_TIP }, // title bar - {WWT_CLOSEBOX, 0, 407, 417, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - {WWT_SCROLL, 0, 4, 415, 18, 379, SCROLL_VERTICAL, STR_NONE }, // scroll - { WIDGETS_END }, + {WWT_FRAME, 0, 0, 419, 0, 383, 0xFFFFFFFF, STR_NONE}, // panel / background + {WWT_CAPTION, 0, 1, 418, 1, 14, STR_ROLLERCOASTER_TYCOON_2, STR_WINDOW_TITLE_TIP }, // title bar + {WWT_CLOSEBOX, 0, 407, 417, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + {WWT_SCROLL, 0, 4, 415, 18, 379, SCROLL_VERTICAL, STR_NONE }, // scroll + { WIDGETS_END }, }; static void window_publisher_credits_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -39,34 +39,34 @@ static void window_publisher_credits_paint(rct_window *w, rct_drawpixelinfo *dpi static void window_publisher_credits_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_publisher_credits_events = { - NULL, - window_publisher_credits_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_publisher_credits_scrollgetsize, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_publisher_credits_paint, - window_publisher_credits_scrollpaint + NULL, + window_publisher_credits_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_publisher_credits_scrollgetsize, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_publisher_credits_paint, + window_publisher_credits_scrollpaint }; /** @@ -75,28 +75,28 @@ static rct_window_event_list window_publisher_credits_events = { */ void window_publisher_credits_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_PUBLISHER_CREDITS); - if (window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_PUBLISHER_CREDITS); + if (window != NULL) + return; - window = window_create_centred( - 420, - 384, - &window_publisher_credits_events, - WC_PUBLISHER_CREDITS, - 0 - ); + window = window_create_centred( + 420, + 384, + &window_publisher_credits_events, + WC_PUBLISHER_CREDITS, + 0 + ); - window->widgets = window_publisher_credits_widgets; - window->enabled_widgets = 1 << WIDX_CLOSE; + window->widgets = window_publisher_credits_widgets; + window->enabled_widgets = 1 << WIDX_CLOSE; - window_init_scroll_widgets(window); - window->colours[0] = COLOUR_LIGHT_BLUE; - window->colours[1] = COLOUR_LIGHT_BLUE; - window->colours[2] = COLOUR_LIGHT_BLUE; + window_init_scroll_widgets(window); + window->colours[0] = COLOUR_LIGHT_BLUE; + window->colours[1] = COLOUR_LIGHT_BLUE; + window->colours[2] = COLOUR_LIGHT_BLUE; } @@ -106,11 +106,11 @@ void window_publisher_credits_open() */ static void window_publisher_credits_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + } } /** @@ -119,7 +119,7 @@ static void window_publisher_credits_mouseup(rct_window *w, rct_widgetindex widg */ static void window_publisher_credits_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - *height = 820; + *height = 820; } /** @@ -128,32 +128,32 @@ static void window_publisher_credits_scrollgetsize(rct_window *w, sint32 scrollI */ static void window_publisher_credits_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); } sint32 credits_order[] = { - STR_CREDITS_PUBLISHER_LINE_0, - STR_CREDITS_PUBLISHER_LINE_1, - STR_CREDITS_PUBLISHER_LINE_2, - STR_CREDITS_PUBLISHER_LINE_3, - STR_CREDITS_PUBLISHER_LINE_4, - STR_CREDITS_PUBLISHER_LINE_5, - STR_CREDITS_PUBLISHER_LINE_6, - STR_CREDITS_PUBLISHER_LINE_7, - STR_CREDITS_PUBLISHER_LINE_8, - STR_CREDITS_PUBLISHER_LINE_9, - STR_CREDITS_PUBLISHER_LINE_10, - STR_CREDITS_PUBLISHER_LINE_11, - STR_CREDITS_PUBLISHER_LINE_12, - STR_CREDITS_PUBLISHER_LINE_13, - STR_CREDITS_PUBLISHER_LINE_14, - STR_CREDITS_PUBLISHER_LINE_15, - STR_CREDITS_PUBLISHER_LINE_16, - STR_CREDITS_PUBLISHER_LINE_17, - STR_CREDITS_PUBLISHER_LINE_18, - STR_CREDITS_PUBLISHER_LINE_19, - STR_CREDITS_PUBLISHER_LINE_20, - STR_CREDITS_PUBLISHER_LINE_21, + STR_CREDITS_PUBLISHER_LINE_0, + STR_CREDITS_PUBLISHER_LINE_1, + STR_CREDITS_PUBLISHER_LINE_2, + STR_CREDITS_PUBLISHER_LINE_3, + STR_CREDITS_PUBLISHER_LINE_4, + STR_CREDITS_PUBLISHER_LINE_5, + STR_CREDITS_PUBLISHER_LINE_6, + STR_CREDITS_PUBLISHER_LINE_7, + STR_CREDITS_PUBLISHER_LINE_8, + STR_CREDITS_PUBLISHER_LINE_9, + STR_CREDITS_PUBLISHER_LINE_10, + STR_CREDITS_PUBLISHER_LINE_11, + STR_CREDITS_PUBLISHER_LINE_12, + STR_CREDITS_PUBLISHER_LINE_13, + STR_CREDITS_PUBLISHER_LINE_14, + STR_CREDITS_PUBLISHER_LINE_15, + STR_CREDITS_PUBLISHER_LINE_16, + STR_CREDITS_PUBLISHER_LINE_17, + STR_CREDITS_PUBLISHER_LINE_18, + STR_CREDITS_PUBLISHER_LINE_19, + STR_CREDITS_PUBLISHER_LINE_20, + STR_CREDITS_PUBLISHER_LINE_21, }; /** @@ -162,21 +162,21 @@ sint32 credits_order[] = { */ static void window_publisher_credits_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - sint32 x = 200; - sint32 y = 2; + sint32 x = 200; + sint32 y = 2; - gfx_draw_sprite(dpi, SPR_CREDITS_INFOGRAMES, x - 49, y, 0); + gfx_draw_sprite(dpi, SPR_CREDITS_INFOGRAMES, x - 49, y, 0); - y += 86; + y += 86; - draw_string_centred_underline(dpi, STR_CREDITS_PUBLISHER_TILE, NULL, COLOUR_BLACK, x, y); + draw_string_centred_underline(dpi, STR_CREDITS_PUBLISHER_TILE, NULL, COLOUR_BLACK, x, y); - y += 14; + y += 14; - for (sint32 i = 0; i < sizeof(credits_order)/sizeof(sint32); i++) { - gfx_draw_string_centred(dpi, credits_order[i], x, y, COLOUR_BLACK, NULL); - y += 11; - } + for (sint32 i = 0; i < sizeof(credits_order)/sizeof(sint32); i++) { + gfx_draw_string_centred(dpi, credits_order[i], x, y, COLOUR_BLACK, NULL); + y += 11; + } } diff --git a/src/openrct2/windows/research.c b/src/openrct2/windows/research.c index af7922ca8c..4e510afef0 100644 --- a/src/openrct2/windows/research.c +++ b/src/openrct2/windows/research.c @@ -28,75 +28,75 @@ #include "../rct1.h" enum { - WINDOW_RESEARCH_PAGE_DEVELOPMENT, - WINDOW_RESEARCH_PAGE_FUNDING, - WINDOW_RESEARCH_PAGE_COUNT + WINDOW_RESEARCH_PAGE_DEVELOPMENT, + WINDOW_RESEARCH_PAGE_FUNDING, + WINDOW_RESEARCH_PAGE_COUNT }; enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_TAB_2, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_TAB_2, - WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP, - WIDX_LAST_DEVELOPMENT_GROUP, - WIDX_LAST_DEVELOPMENT_BUTTON, + WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP, + WIDX_LAST_DEVELOPMENT_GROUP, + WIDX_LAST_DEVELOPMENT_BUTTON, - WIDX_FUNDING_GROUP = 6, - WIDX_RESEARCH_FUNDING, - WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON, - WIDX_PRIORITIES_GROUP, - WIDX_TRANSPORT_RIDES, - WIDX_GENTLE_RIDES, - WIDX_ROLLER_COASTERS, - WIDX_THRILL_RIDES, - WIDX_WATER_RIDES, - WIDX_SHOPS_AND_STALLS, - WIDX_SCENERY_AND_THEMING, + WIDX_FUNDING_GROUP = 6, + WIDX_RESEARCH_FUNDING, + WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON, + WIDX_PRIORITIES_GROUP, + WIDX_TRANSPORT_RIDES, + WIDX_GENTLE_RIDES, + WIDX_ROLLER_COASTERS, + WIDX_THRILL_RIDES, + WIDX_WATER_RIDES, + WIDX_SHOPS_AND_STALLS, + WIDX_SCENERY_AND_THEMING, }; #pragma region Widgets static rct_widget window_research_development_widgets[] = { - { WWT_FRAME, 0, 0, 299, 0, 195, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 298, 1, 14, STR_RESEARCH_AND_DEVELOPMENT, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 287, 297, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 299, 43, 195, 0xFFFFFFFF, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_RESEARCH_AND_DEVELOPMENT_TIP }, - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, - { WWT_GROUPBOX, 2, 3, 292, 47, 116, STR_CURRENTLY_IN_DEVELOPMENT, STR_NONE }, - { WWT_GROUPBOX, 2, 3, 292, 124, 188, STR_LAST_DEVELOPMENT, STR_NONE }, - { WWT_FLATBTN, 2, 265, 288, 161, 184, 0xFFFFFFFF, STR_RESEARCH_SHOW_DETAILS_TIP }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 299, 0, 195, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 298, 1, 14, STR_RESEARCH_AND_DEVELOPMENT, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 287, 297, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 299, 43, 195, 0xFFFFFFFF, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_RESEARCH_AND_DEVELOPMENT_TIP }, + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, + { WWT_GROUPBOX, 2, 3, 292, 47, 116, STR_CURRENTLY_IN_DEVELOPMENT, STR_NONE }, + { WWT_GROUPBOX, 2, 3, 292, 124, 188, STR_LAST_DEVELOPMENT, STR_NONE }, + { WWT_FLATBTN, 2, 265, 288, 161, 184, 0xFFFFFFFF, STR_RESEARCH_SHOW_DETAILS_TIP }, + { WIDGETS_END }, }; static rct_widget window_research_funding_widgets[] = { - { WWT_FRAME, 0, 0, 319, 0, 206, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 318, 1, 14, STR_RESEARCH_FUNDING, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 307, 317, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_RESIZE, 1, 0, 319, 43, 206, 0xFFFFFFFF, STR_NONE }, - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_RESEARCH_AND_DEVELOPMENT_TIP }, - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, - { WWT_GROUPBOX, 2, 3, 316, 47, 91, STR_RESEARCH_FUNDING_, STR_NONE }, - { WWT_DROPDOWN, 2, 8, 167, 59, 70, 0xFFFFFFFF, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT }, - { WWT_DROPDOWN_BUTTON, 2, 156, 166, 60, 69, STR_DROPDOWN_GLYPH, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT }, - { WWT_GROUPBOX, 2, 3, 316, 96, 202, STR_RESEARCH_PRIORITIES, STR_NONE }, - { WWT_CHECKBOX, 2, 8, 311, 108, 119, STR_RESEARCH_NEW_TRANSPORT_RIDES, STR_RESEARCH_NEW_TRANSPORT_RIDES_TIP }, - { WWT_CHECKBOX, 2, 8, 311, 121, 132, STR_RESEARCH_NEW_GENTLE_RIDES, STR_RESEARCH_NEW_GENTLE_RIDES_TIP }, - { WWT_CHECKBOX, 2, 8, 311, 134, 145, STR_RESEARCH_NEW_ROLLER_COASTERS, STR_RESEARCH_NEW_ROLLER_COASTERS_TIP }, - { WWT_CHECKBOX, 2, 8, 311, 147, 158, STR_RESEARCH_NEW_THRILL_RIDES, STR_RESEARCH_NEW_THRILL_RIDES_TIP }, - { WWT_CHECKBOX, 2, 8, 311, 160, 171, STR_RESEARCH_NEW_WATER_RIDES, STR_RESEARCH_NEW_WATER_RIDES_TIP }, - { WWT_CHECKBOX, 2, 8, 311, 173, 184, STR_RESEARCH_NEW_SHOPS_AND_STALLS, STR_RESEARCH_NEW_SHOPS_AND_STALLS_TIP }, - { WWT_CHECKBOX, 2, 8, 311, 186, 197, STR_RESEARCH_NEW_SCENERY_AND_THEMING, STR_RESEARCH_NEW_SCENERY_AND_THEMING_TIP }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 319, 0, 206, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 318, 1, 14, STR_RESEARCH_FUNDING, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 307, 317, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_RESIZE, 1, 0, 319, 43, 206, 0xFFFFFFFF, STR_NONE }, + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_RESEARCH_AND_DEVELOPMENT_TIP }, + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_FINANCES_RESEARCH_TIP }, + { WWT_GROUPBOX, 2, 3, 316, 47, 91, STR_RESEARCH_FUNDING_, STR_NONE }, + { WWT_DROPDOWN, 2, 8, 167, 59, 70, 0xFFFFFFFF, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT }, + { WWT_DROPDOWN_BUTTON, 2, 156, 166, 60, 69, STR_DROPDOWN_GLYPH, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT }, + { WWT_GROUPBOX, 2, 3, 316, 96, 202, STR_RESEARCH_PRIORITIES, STR_NONE }, + { WWT_CHECKBOX, 2, 8, 311, 108, 119, STR_RESEARCH_NEW_TRANSPORT_RIDES, STR_RESEARCH_NEW_TRANSPORT_RIDES_TIP }, + { WWT_CHECKBOX, 2, 8, 311, 121, 132, STR_RESEARCH_NEW_GENTLE_RIDES, STR_RESEARCH_NEW_GENTLE_RIDES_TIP }, + { WWT_CHECKBOX, 2, 8, 311, 134, 145, STR_RESEARCH_NEW_ROLLER_COASTERS, STR_RESEARCH_NEW_ROLLER_COASTERS_TIP }, + { WWT_CHECKBOX, 2, 8, 311, 147, 158, STR_RESEARCH_NEW_THRILL_RIDES, STR_RESEARCH_NEW_THRILL_RIDES_TIP }, + { WWT_CHECKBOX, 2, 8, 311, 160, 171, STR_RESEARCH_NEW_WATER_RIDES, STR_RESEARCH_NEW_WATER_RIDES_TIP }, + { WWT_CHECKBOX, 2, 8, 311, 173, 184, STR_RESEARCH_NEW_SHOPS_AND_STALLS, STR_RESEARCH_NEW_SHOPS_AND_STALLS_TIP }, + { WWT_CHECKBOX, 2, 8, 311, 186, 197, STR_RESEARCH_NEW_SCENERY_AND_THEMING, STR_RESEARCH_NEW_SCENERY_AND_THEMING_TIP }, + { WIDGETS_END }, }; static rct_widget *window_research_page_widgets[] = { - window_research_development_widgets, - window_research_funding_widgets + window_research_development_widgets, + window_research_funding_widgets }; #pragma endregion @@ -117,71 +117,71 @@ static void window_research_funding_paint(rct_window *w, rct_drawpixelinfo *dpi) // static rct_window_event_list window_research_development_events = { - NULL, - window_research_development_mouseup, - NULL, - NULL, - NULL, - NULL, - window_research_development_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_research_development_invalidate, - window_research_development_paint, - NULL + NULL, + window_research_development_mouseup, + NULL, + NULL, + NULL, + NULL, + window_research_development_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_research_development_invalidate, + window_research_development_paint, + NULL }; // 0x009890E8 static rct_window_event_list window_research_funding_events = { - NULL, - window_research_funding_mouseup, - NULL, - window_research_funding_mousedown, - window_research_funding_dropdown, - NULL, - window_research_funding_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_research_funding_invalidate, - window_research_funding_paint, - NULL + NULL, + window_research_funding_mouseup, + NULL, + window_research_funding_mousedown, + window_research_funding_dropdown, + NULL, + window_research_funding_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_research_funding_invalidate, + window_research_funding_paint, + NULL }; static rct_window_event_list *window_research_page_events[] = { - &window_research_development_events, - &window_research_funding_events + &window_research_development_events, + &window_research_funding_events }; #pragma endregion @@ -189,23 +189,23 @@ static rct_window_event_list *window_research_page_events[] = { #pragma region Enabled widgets static uint32 window_research_page_enabled_widgets[] = { - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_LAST_DEVELOPMENT_BUTTON), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_LAST_DEVELOPMENT_BUTTON), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_RESEARCH_FUNDING) | - (1 << WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON) | - (1 << WIDX_TRANSPORT_RIDES) | - (1 << WIDX_GENTLE_RIDES) | - (1 << WIDX_ROLLER_COASTERS) | - (1 << WIDX_THRILL_RIDES) | - (1 << WIDX_WATER_RIDES) | - (1 << WIDX_SHOPS_AND_STALLS) | - (1 << WIDX_SCENERY_AND_THEMING) + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_RESEARCH_FUNDING) | + (1 << WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON) | + (1 << WIDX_TRANSPORT_RIDES) | + (1 << WIDX_GENTLE_RIDES) | + (1 << WIDX_ROLLER_COASTERS) | + (1 << WIDX_THRILL_RIDES) | + (1 << WIDX_WATER_RIDES) | + (1 << WIDX_SHOPS_AND_STALLS) | + (1 << WIDX_SCENERY_AND_THEMING) }; #pragma endregion @@ -213,20 +213,20 @@ static uint32 window_research_page_enabled_widgets[] = { const sint32 window_research_tab_animation_loops[] = { 16, 16 }; static const rct_string_id ResearchCategoryNames[] = { - STR_RESEARCH_CATEGORY_TRANSPORT, - STR_RESEARCH_CATEGORY_GENTLE, - STR_RESEARCH_CATEGORY_ROLLERCOASTER, - STR_RESEARCH_CATEGORY_THRILL, - STR_RESEARCH_CATEGORY_WATER, - STR_RESEARCH_CATEGORY_SHOP, - STR_RESEARCH_CATEGORY_SCENERYSET, + STR_RESEARCH_CATEGORY_TRANSPORT, + STR_RESEARCH_CATEGORY_GENTLE, + STR_RESEARCH_CATEGORY_ROLLERCOASTER, + STR_RESEARCH_CATEGORY_THRILL, + STR_RESEARCH_CATEGORY_WATER, + STR_RESEARCH_CATEGORY_SHOP, + STR_RESEARCH_CATEGORY_SCENERYSET, }; static const rct_string_id ResearchStageNames[] = { - STR_RESEARCH_STAGE_INITIAL_RESEARCH, - STR_RESEARCH_STAGE_DESIGNING, - STR_RESEARCH_STAGE_COMPLETING_DESIGN, - STR_RESEARCH_STAGE_UNKNOWN, + STR_RESEARCH_STAGE_INITIAL_RESEARCH, + STR_RESEARCH_STAGE_DESIGNING, + STR_RESEARCH_STAGE_COMPLETING_DESIGN, + STR_RESEARCH_STAGE_UNKNOWN, }; static void window_research_set_page(rct_window *w, sint32 page); @@ -235,33 +235,33 @@ static void window_research_draw_tab_images(rct_drawpixelinfo *dpi, rct_window * void window_research_open() { - rct_window *w; + rct_window *w; - w = window_bring_to_front_by_class(WC_RESEARCH); - if (w == NULL) { - w = window_create_auto_pos(530, 257, window_research_page_events[0], WC_RESEARCH, WF_10); - w->widgets = window_research_page_widgets[0]; - w->enabled_widgets = window_research_page_enabled_widgets[0]; - w->number = 0; - w->page = 0; - w->frame_no = 0; - w->disabled_widgets = 0; - research_update_uncompleted_types(); - } + w = window_bring_to_front_by_class(WC_RESEARCH); + if (w == NULL) { + w = window_create_auto_pos(530, 257, window_research_page_events[0], WC_RESEARCH, WF_10); + w->widgets = window_research_page_widgets[0]; + w->enabled_widgets = window_research_page_enabled_widgets[0]; + w->number = 0; + w->page = 0; + w->frame_no = 0; + w->disabled_widgets = 0; + research_update_uncompleted_types(); + } - w->page = 0; - window_invalidate(w); - w->width = 300; - w->height = 196; - window_invalidate(w); + w->page = 0; + window_invalidate(w); + w->width = 300; + w->height = 196; + window_invalidate(w); - w->widgets = window_research_page_widgets[0]; - w->enabled_widgets = window_research_page_enabled_widgets[0]; - w->hold_down_widgets = 0; - w->event_handlers = window_research_page_events[0]; - w->pressed_widgets = 0; - w->disabled_widgets = 0; - window_init_scroll_widgets(w); + w->widgets = window_research_page_widgets[0]; + w->enabled_widgets = window_research_page_enabled_widgets[0]; + w->hold_down_widgets = 0; + w->event_handlers = window_research_page_events[0]; + w->pressed_widgets = 0; + w->disabled_widgets = 0; + window_init_scroll_widgets(w); } #pragma region Development page @@ -272,18 +272,18 @@ void window_research_open() */ static void window_research_development_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - window_research_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_LAST_DEVELOPMENT_BUTTON: - news_item_open_subject(NEWS_ITEM_RESEARCH, (sint32)gResearchLastItemSubject); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + window_research_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_LAST_DEVELOPMENT_BUTTON: + news_item_open_subject(NEWS_ITEM_RESEARCH, (sint32)gResearchLastItemSubject); + break; + } } /** @@ -292,10 +292,10 @@ static void window_research_development_mouseup(rct_window *w, rct_widgetindex w */ static void window_research_development_update(rct_window *w) { - // Tab animation - if (++w->frame_no >= window_research_tab_animation_loops[w->page]) - w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_1); + // Tab animation + if (++w->frame_no >= window_research_tab_animation_loops[w->page]) + w->frame_no = 0; + widget_invalidate(w, WIDX_TAB_1); } /** @@ -304,19 +304,19 @@ static void window_research_development_update(rct_window *w) */ static void window_research_development_invalidate(rct_window *w) { - if (w->widgets != window_research_page_widgets[WINDOW_RESEARCH_PAGE_DEVELOPMENT]) { - w->widgets = window_research_page_widgets[WINDOW_RESEARCH_PAGE_DEVELOPMENT]; - window_init_scroll_widgets(w); - } + if (w->widgets != window_research_page_widgets[WINDOW_RESEARCH_PAGE_DEVELOPMENT]) { + w->widgets = window_research_page_widgets[WINDOW_RESEARCH_PAGE_DEVELOPMENT]; + window_init_scroll_widgets(w); + } - window_research_set_pressed_tab(w); + window_research_set_pressed_tab(w); - window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_EMPTY; - uint32 typeId = gResearchLastItemSubject; - if (typeId != 0xFFFFFFFF) { - window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_FLATBTN; - window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].image = typeId >= 0x10000 ? SPR_NEW_RIDE : SPR_NEW_SCENERY; - } + window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_EMPTY; + uint32 typeId = gResearchLastItemSubject; + if (typeId != 0xFFFFFFFF) { + window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_FLATBTN; + window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].image = typeId >= 0x10000 ? SPR_NEW_RIDE : SPR_NEW_SCENERY; + } } /** @@ -325,98 +325,98 @@ static void window_research_development_invalidate(rct_window *w) */ static void window_research_development_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_research_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_research_draw_tab_images(dpi, w); - window_research_development_page_paint(w, dpi, WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP); + window_research_development_page_paint(w, dpi, WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP); } void window_research_development_page_paint(rct_window *w, rct_drawpixelinfo *dpi, rct_widgetindex baseWidgetIndex) { - baseWidgetIndex = baseWidgetIndex - WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP; + baseWidgetIndex = baseWidgetIndex - WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP; - sint32 x = w->x + 10; - sint32 y = w->y + w->widgets[WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP + baseWidgetIndex].top + 12; - rct_string_id stringId; + sint32 x = w->x + 10; + sint32 y = w->y + w->widgets[WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP + baseWidgetIndex].top + 12; + rct_string_id stringId; - if (gResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL) { - stringId = STR_RESEARCH_UNKNOWN; - gfx_draw_string_left_wrapped(dpi, &stringId, x, y, 296, STR_RESEARCH_TYPE_LABEL, COLOUR_BLACK); - y += 25; + if (gResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL) { + stringId = STR_RESEARCH_UNKNOWN; + gfx_draw_string_left_wrapped(dpi, &stringId, x, y, 296, STR_RESEARCH_TYPE_LABEL, COLOUR_BLACK); + y += 25; - // Progress - stringId = STR_RESEARCH_COMPLETED_AL; - gfx_draw_string_left_wrapped(dpi, &stringId, x, y, 296, STR_RESEARCH_PROGRESS_LABEL, COLOUR_BLACK); - y += 15; + // Progress + stringId = STR_RESEARCH_COMPLETED_AL; + gfx_draw_string_left_wrapped(dpi, &stringId, x, y, 296, STR_RESEARCH_PROGRESS_LABEL, COLOUR_BLACK); + y += 15; - set_format_arg(0, rct_string_id, STR_RESEARCH_STAGE_UNKNOWN); - gfx_draw_string_left(dpi, STR_RESEARCH_EXPECTED_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); - } else { - // Research type - stringId = STR_RESEARCH_UNKNOWN; - if (gResearchProgressStage != RESEARCH_STAGE_INITIAL_RESEARCH) { - stringId = ResearchCategoryNames[gResearchNextCategory]; - if (gResearchProgressStage != RESEARCH_STAGE_DESIGNING) { - uint32 typeId = gResearchNextItem; - if (typeId >= 0x10000) { - rct_ride_entry *rideEntry = get_ride_entry(typeId & 0xFF); - stringId = (rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) ? - rideEntry->name : - ((typeId >> 8) & 0xFF) + 2; - } else { - stringId = get_scenery_group_entry(typeId)->name; - } - } - } - gfx_draw_string_left_wrapped(dpi, &stringId, x, y, 296, STR_RESEARCH_TYPE_LABEL, COLOUR_BLACK); - y += 25; + set_format_arg(0, rct_string_id, STR_RESEARCH_STAGE_UNKNOWN); + gfx_draw_string_left(dpi, STR_RESEARCH_EXPECTED_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); + } else { + // Research type + stringId = STR_RESEARCH_UNKNOWN; + if (gResearchProgressStage != RESEARCH_STAGE_INITIAL_RESEARCH) { + stringId = ResearchCategoryNames[gResearchNextCategory]; + if (gResearchProgressStage != RESEARCH_STAGE_DESIGNING) { + uint32 typeId = gResearchNextItem; + if (typeId >= 0x10000) { + rct_ride_entry *rideEntry = get_ride_entry(typeId & 0xFF); + stringId = (rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) ? + rideEntry->name : + ((typeId >> 8) & 0xFF) + 2; + } else { + stringId = get_scenery_group_entry(typeId)->name; + } + } + } + gfx_draw_string_left_wrapped(dpi, &stringId, x, y, 296, STR_RESEARCH_TYPE_LABEL, COLOUR_BLACK); + y += 25; - // Progress - stringId = ResearchStageNames[gResearchProgressStage]; - gfx_draw_string_left_wrapped(dpi, &stringId, x, y, 296, STR_RESEARCH_PROGRESS_LABEL, COLOUR_BLACK); - y += 15; + // Progress + stringId = ResearchStageNames[gResearchProgressStage]; + gfx_draw_string_left_wrapped(dpi, &stringId, x, y, 296, STR_RESEARCH_PROGRESS_LABEL, COLOUR_BLACK); + y += 15; - // Expected - set_format_arg(0, rct_string_id, STR_RESEARCH_STAGE_UNKNOWN); - if (gResearchProgressStage != 0) { - uint16 expectedDay = gResearchExpectedDay; - if (expectedDay != 255) { - // TODO: Should probably use game date format setting - set_format_arg(0, rct_string_id, STR_RESEARCH_EXPECTED_FORMAT); - set_format_arg(2, rct_string_id, DateDayNames[expectedDay]); - set_format_arg(4, rct_string_id, DateGameMonthNames[gResearchExpectedMonth]); - } - } - gfx_draw_string_left(dpi, STR_RESEARCH_EXPECTED_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); - } + // Expected + set_format_arg(0, rct_string_id, STR_RESEARCH_STAGE_UNKNOWN); + if (gResearchProgressStage != 0) { + uint16 expectedDay = gResearchExpectedDay; + if (expectedDay != 255) { + // TODO: Should probably use game date format setting + set_format_arg(0, rct_string_id, STR_RESEARCH_EXPECTED_FORMAT); + set_format_arg(2, rct_string_id, DateDayNames[expectedDay]); + set_format_arg(4, rct_string_id, DateGameMonthNames[gResearchExpectedMonth]); + } + } + gfx_draw_string_left(dpi, STR_RESEARCH_EXPECTED_LABEL, gCommonFormatArgs, COLOUR_BLACK, x, y); + } - // Last development - x = w->x + 10; - y = w->y + w->widgets[WIDX_LAST_DEVELOPMENT_GROUP + baseWidgetIndex].top + 12; + // Last development + x = w->x + 10; + y = w->y + w->widgets[WIDX_LAST_DEVELOPMENT_GROUP + baseWidgetIndex].top + 12; - uint32 typeId = gResearchLastItemSubject; - rct_string_id lastDevelopmentFormat; - if (typeId != 0xFFFFFFFF) { - if (typeId >= 0x10000) { - rct_ride_entry *rideEntry = get_ride_entry(typeId & 0xFF); - if (rideEntry == NULL) { - return; - } - stringId = (rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) ? - rideEntry->name : - ((typeId >> 8) & 0xFF) + 2; + uint32 typeId = gResearchLastItemSubject; + rct_string_id lastDevelopmentFormat; + if (typeId != 0xFFFFFFFF) { + if (typeId >= 0x10000) { + rct_ride_entry *rideEntry = get_ride_entry(typeId & 0xFF); + if (rideEntry == NULL) { + return; + } + stringId = (rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) ? + rideEntry->name : + ((typeId >> 8) & 0xFF) + 2; - lastDevelopmentFormat = STR_RESEARCH_RIDE_LABEL; - } else { - rct_scenery_set_entry *sse = get_scenery_group_entry(typeId); - if (sse == NULL) { - return; - } - stringId = sse->name; - lastDevelopmentFormat = STR_RESEARCH_SCENERY_LABEL; - } - gfx_draw_string_left_wrapped(dpi, &stringId, x, y, 266, lastDevelopmentFormat, COLOUR_BLACK); - } + lastDevelopmentFormat = STR_RESEARCH_RIDE_LABEL; + } else { + rct_scenery_set_entry *sse = get_scenery_group_entry(typeId); + if (sse == NULL) { + return; + } + stringId = sse->name; + lastDevelopmentFormat = STR_RESEARCH_SCENERY_LABEL; + } + gfx_draw_string_left_wrapped(dpi, &stringId, x, y, 266, lastDevelopmentFormat, COLOUR_BLACK); + } } #pragma endregion @@ -429,28 +429,28 @@ void window_research_development_page_paint(rct_window *w, rct_drawpixelinfo *dp */ static void window_research_funding_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - sint32 activeResearchTypes; + sint32 activeResearchTypes; - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - window_research_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_TRANSPORT_RIDES: - case WIDX_GENTLE_RIDES: - case WIDX_ROLLER_COASTERS: - case WIDX_THRILL_RIDES: - case WIDX_WATER_RIDES: - case WIDX_SHOPS_AND_STALLS: - case WIDX_SCENERY_AND_THEMING: - activeResearchTypes = gResearchPriorities; - activeResearchTypes ^= 1 << (widgetIndex - WIDX_TRANSPORT_RIDES); - research_set_priority(activeResearchTypes); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + window_research_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_TRANSPORT_RIDES: + case WIDX_GENTLE_RIDES: + case WIDX_ROLLER_COASTERS: + case WIDX_THRILL_RIDES: + case WIDX_WATER_RIDES: + case WIDX_SHOPS_AND_STALLS: + case WIDX_SCENERY_AND_THEMING: + activeResearchTypes = gResearchPriorities; + activeResearchTypes ^= 1 << (widgetIndex - WIDX_TRANSPORT_RIDES); + research_set_priority(activeResearchTypes); + break; + } } /** @@ -459,31 +459,31 @@ static void window_research_funding_mouseup(rct_window *w, rct_widgetindex widge */ static void window_research_funding_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget* widget) { - rct_widget *dropdownWidget; - sint32 i; + rct_widget *dropdownWidget; + sint32 i; - if (widgetIndex != WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON) - return; + if (widgetIndex != WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON) + return; - dropdownWidget = widget - 1; + dropdownWidget = widget - 1; - for (i = 0; i < 4; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = ResearchFundingLevelNames[i]; - } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 4, - dropdownWidget->right - dropdownWidget->left - 3 - ); + for (i = 0; i < 4; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = ResearchFundingLevelNames[i]; + } + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 4, + dropdownWidget->right - dropdownWidget->left - 3 + ); - sint32 currentResearchLevel = gResearchFundingLevel; - dropdown_set_checked(currentResearchLevel, true); + sint32 currentResearchLevel = gResearchFundingLevel; + dropdown_set_checked(currentResearchLevel, true); } /** @@ -492,11 +492,11 @@ static void window_research_funding_mousedown(rct_widgetindex widgetIndex, rct_w */ static void window_research_funding_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex != WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON || dropdownIndex == -1) - return; + if (widgetIndex != WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON || dropdownIndex == -1) + return; - research_set_funding(dropdownIndex); - window_invalidate(w); + research_set_funding(dropdownIndex); + window_invalidate(w); } /** @@ -505,10 +505,10 @@ static void window_research_funding_dropdown(rct_window *w, rct_widgetindex widg */ static void window_research_funding_update(rct_window *w) { - // Tab animation - if (++w->frame_no >= window_research_tab_animation_loops[w->page]) - w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_2); + // Tab animation + if (++w->frame_no >= window_research_tab_animation_loops[w->page]) + w->frame_no = 0; + widget_invalidate(w, WIDX_TAB_2); } /** @@ -517,48 +517,48 @@ static void window_research_funding_update(rct_window *w) */ static void window_research_funding_invalidate(rct_window *w) { - if (w->widgets != window_research_page_widgets[WINDOW_RESEARCH_PAGE_FUNDING]) { - w->widgets = window_research_page_widgets[WINDOW_RESEARCH_PAGE_FUNDING]; - window_init_scroll_widgets(w); - } + if (w->widgets != window_research_page_widgets[WINDOW_RESEARCH_PAGE_FUNDING]) { + w->widgets = window_research_page_widgets[WINDOW_RESEARCH_PAGE_FUNDING]; + window_init_scroll_widgets(w); + } - window_research_set_pressed_tab(w); + window_research_set_pressed_tab(w); - if ((gParkFlags & PARK_FLAGS_NO_MONEY) || - (gResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL)) { - //window_research_funding_widgets[WIDX_FUNDING_GROUP].type = WWT_EMPTY; - window_research_funding_widgets[WIDX_RESEARCH_FUNDING].type = WWT_EMPTY; - window_research_funding_widgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WWT_EMPTY; - } else { - window_research_funding_widgets[WIDX_FUNDING_GROUP].type = WWT_GROUPBOX; - window_research_funding_widgets[WIDX_RESEARCH_FUNDING].type = WWT_DROPDOWN; - window_research_funding_widgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WWT_DROPDOWN_BUTTON; + if ((gParkFlags & PARK_FLAGS_NO_MONEY) || + (gResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL)) { + //window_research_funding_widgets[WIDX_FUNDING_GROUP].type = WWT_EMPTY; + window_research_funding_widgets[WIDX_RESEARCH_FUNDING].type = WWT_EMPTY; + window_research_funding_widgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WWT_EMPTY; + } else { + window_research_funding_widgets[WIDX_FUNDING_GROUP].type = WWT_GROUPBOX; + window_research_funding_widgets[WIDX_RESEARCH_FUNDING].type = WWT_DROPDOWN; + window_research_funding_widgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WWT_DROPDOWN_BUTTON; - // Current funding - sint32 currentResearchLevel = gResearchFundingLevel; - window_research_funding_widgets[WIDX_RESEARCH_FUNDING].text = ResearchFundingLevelNames[currentResearchLevel]; - } + // Current funding + sint32 currentResearchLevel = gResearchFundingLevel; + window_research_funding_widgets[WIDX_RESEARCH_FUNDING].text = ResearchFundingLevelNames[currentResearchLevel]; + } - // Checkboxes - uint8 activeResearchTypes = gResearchPriorities; - for (sint32 i = 0; i < 7; i++) { - sint32 mask = 1 << i; - sint32 widgetMask = 1 << (i + WIDX_TRANSPORT_RIDES); + // Checkboxes + uint8 activeResearchTypes = gResearchPriorities; + for (sint32 i = 0; i < 7; i++) { + sint32 mask = 1 << i; + sint32 widgetMask = 1 << (i + WIDX_TRANSPORT_RIDES); - // Set checkbox disabled if research type is complete - if (gResearchUncompletedCategories & mask) { - w->disabled_widgets &= ~widgetMask; + // Set checkbox disabled if research type is complete + if (gResearchUncompletedCategories & mask) { + w->disabled_widgets &= ~widgetMask; - // Set checkbox ticked if research type is active - if (activeResearchTypes & mask) - w->pressed_widgets |= widgetMask; - else - w->pressed_widgets &= ~widgetMask; - } else { - w->disabled_widgets |= widgetMask; - w->pressed_widgets &= ~widgetMask; - } - } + // Set checkbox ticked if research type is active + if (activeResearchTypes & mask) + w->pressed_widgets |= widgetMask; + else + w->pressed_widgets &= ~widgetMask; + } else { + w->disabled_widgets |= widgetMask; + w->pressed_widgets &= ~widgetMask; + } + } } /** @@ -567,20 +567,20 @@ static void window_research_funding_invalidate(rct_window *w) */ static void window_research_funding_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_research_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_research_draw_tab_images(dpi, w); - window_research_funding_page_paint(w, dpi, WIDX_RESEARCH_FUNDING); + window_research_funding_page_paint(w, dpi, WIDX_RESEARCH_FUNDING); } void window_research_funding_page_paint(rct_window *w, rct_drawpixelinfo *dpi, rct_widgetindex baseWidgetIndex) { - if (gParkFlags & PARK_FLAGS_NO_MONEY) - return; + if (gParkFlags & PARK_FLAGS_NO_MONEY) + return; - sint32 currentResearchLevel = gResearchFundingLevel; - money32 currentResearchCostPerWeek = research_cost_table[currentResearchLevel]; - gfx_draw_string_left(dpi, STR_RESEARCH_COST_PER_MONTH, ¤tResearchCostPerWeek, COLOUR_BLACK, w->x + 10, w->y + 77); + sint32 currentResearchLevel = gResearchFundingLevel; + money32 currentResearchCostPerWeek = research_cost_table[currentResearchLevel]; + gfx_draw_string_left(dpi, STR_RESEARCH_COST_PER_MONTH, ¤tResearchCostPerWeek, COLOUR_BLACK, w->x + 10, w->y + 77); } #pragma endregion @@ -593,63 +593,63 @@ void window_research_funding_page_paint(rct_window *w, rct_drawpixelinfo *dpi, r */ static void window_research_set_page(rct_window *w, sint32 page) { - w->page = page; - w->frame_no = 0; - if (w->viewport != NULL) { - w->viewport->width = 0; - w->viewport = NULL; - } + w->page = page; + w->frame_no = 0; + if (w->viewport != NULL) { + w->viewport->width = 0; + w->viewport = NULL; + } - w->enabled_widgets = window_research_page_enabled_widgets[page]; - w->hold_down_widgets = 0; - w->event_handlers = window_research_page_events[page]; - w->widgets = window_research_page_widgets[page]; - w->disabled_widgets = 0; - w->pressed_widgets = 0; + w->enabled_widgets = window_research_page_enabled_widgets[page]; + w->hold_down_widgets = 0; + w->event_handlers = window_research_page_events[page]; + w->widgets = window_research_page_widgets[page]; + w->disabled_widgets = 0; + w->pressed_widgets = 0; - window_invalidate(w); - if (w->page == WINDOW_RESEARCH_PAGE_DEVELOPMENT) { - w->width = 300; - w->height = 196; - } else { - w->width = 320; - w->height = 207; - } - window_event_resize_call(w); - window_event_invalidate_call(w); + window_invalidate(w); + if (w->page == WINDOW_RESEARCH_PAGE_DEVELOPMENT) { + w->width = 300; + w->height = 196; + } else { + w->width = 320; + w->height = 207; + } + window_event_resize_call(w); + window_event_invalidate_call(w); - window_init_scroll_widgets(w); - window_invalidate(w); + window_init_scroll_widgets(w); + window_invalidate(w); } static void window_research_set_pressed_tab(rct_window *w) { - sint32 i; - for (i = 0; i < WINDOW_RESEARCH_PAGE_COUNT; i++) - w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); - w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); + sint32 i; + for (i = 0; i < WINDOW_RESEARCH_PAGE_COUNT; i++) + w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); + w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); } static void window_research_draw_tab_image(rct_drawpixelinfo *dpi, rct_window *w, sint32 page, sint32 spriteIndex) { - rct_widgetindex widgetIndex = WIDX_TAB_1 + page; + rct_widgetindex widgetIndex = WIDX_TAB_1 + page; - if (!(w->disabled_widgets & (1LL << widgetIndex))) { - if (w->page == page) { - sint32 frame = w->frame_no / 2; - if (page == WINDOW_RESEARCH_PAGE_DEVELOPMENT) - frame %= 8; - spriteIndex += frame; - } + if (!(w->disabled_widgets & (1LL << widgetIndex))) { + if (w->page == page) { + sint32 frame = w->frame_no / 2; + if (page == WINDOW_RESEARCH_PAGE_DEVELOPMENT) + frame %= 8; + spriteIndex += frame; + } - gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); - } + gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); + } } static void window_research_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) { - window_research_draw_tab_image(dpi, w, WINDOW_RESEARCH_PAGE_DEVELOPMENT, SPR_TAB_FINANCES_RESEARCH_0); - window_research_draw_tab_image(dpi, w, WINDOW_RESEARCH_PAGE_FUNDING, SPR_TAB_FINANCES_SUMMARY_0); + window_research_draw_tab_image(dpi, w, WINDOW_RESEARCH_PAGE_DEVELOPMENT, SPR_TAB_FINANCES_RESEARCH_0); + window_research_draw_tab_image(dpi, w, WINDOW_RESEARCH_PAGE_FUNDING, SPR_TAB_FINANCES_SUMMARY_0); } #pragma endregion diff --git a/src/openrct2/windows/ride.c b/src/openrct2/windows/ride.c index dc03fbe972..dd66902ecb 100644 --- a/src/openrct2/windows/ride.c +++ b/src/openrct2/windows/ride.c @@ -44,476 +44,476 @@ enum { - WINDOW_RIDE_PAGE_MAIN, - WINDOW_RIDE_PAGE_VEHICLE, - WINDOW_RIDE_PAGE_OPERATING, - WINDOW_RIDE_PAGE_MAINTENANCE, - WINDOW_RIDE_PAGE_COLOUR, - WINDOW_RIDE_PAGE_MUSIC, - WINDOW_RIDE_PAGE_MEASUREMENTS, - WINDOW_RIDE_PAGE_GRAPHS, - WINDOW_RIDE_PAGE_INCOME, - WINDOW_RIDE_PAGE_CUSTOMER, - WINDOW_RIDE_PAGE_COUNT + WINDOW_RIDE_PAGE_MAIN, + WINDOW_RIDE_PAGE_VEHICLE, + WINDOW_RIDE_PAGE_OPERATING, + WINDOW_RIDE_PAGE_MAINTENANCE, + WINDOW_RIDE_PAGE_COLOUR, + WINDOW_RIDE_PAGE_MUSIC, + WINDOW_RIDE_PAGE_MEASUREMENTS, + WINDOW_RIDE_PAGE_GRAPHS, + WINDOW_RIDE_PAGE_INCOME, + WINDOW_RIDE_PAGE_CUSTOMER, + WINDOW_RIDE_PAGE_COUNT }; #pragma region Widgets enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_TAB_1, - WIDX_TAB_2, - WIDX_TAB_3, - WIDX_TAB_4, - WIDX_TAB_5, - WIDX_TAB_6, - WIDX_TAB_7, - WIDX_TAB_8, - WIDX_TAB_9, - WIDX_TAB_10, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_TAB_1, + WIDX_TAB_2, + WIDX_TAB_3, + WIDX_TAB_4, + WIDX_TAB_5, + WIDX_TAB_6, + WIDX_TAB_7, + WIDX_TAB_8, + WIDX_TAB_9, + WIDX_TAB_10, - WIDX_VIEWPORT = 14, - WIDX_VIEW, - WIDX_VIEW_DROPDOWN, - WIDX_STATUS, - WIDX_OPEN, - WIDX_CONSTRUCTION, - WIDX_RENAME, - WIDX_LOCATE, - WIDX_DEMOLISH, - WIDX_CLOSE_LIGHT, - WIDX_TEST_LIGHT, - WIDX_OPEN_LIGHT, - WIDX_RIDE_TYPE, - WIDX_RIDE_TYPE_INCREASE, - WIDX_RIDE_TYPE_DECREASE, - WIDX_RIDE_TYPE_APPLY, + WIDX_VIEWPORT = 14, + WIDX_VIEW, + WIDX_VIEW_DROPDOWN, + WIDX_STATUS, + WIDX_OPEN, + WIDX_CONSTRUCTION, + WIDX_RENAME, + WIDX_LOCATE, + WIDX_DEMOLISH, + WIDX_CLOSE_LIGHT, + WIDX_TEST_LIGHT, + WIDX_OPEN_LIGHT, + WIDX_RIDE_TYPE, + WIDX_RIDE_TYPE_INCREASE, + WIDX_RIDE_TYPE_DECREASE, + WIDX_RIDE_TYPE_APPLY, - WIDX_VEHICLE_TYPE = 14, - WIDX_VEHICLE_TYPE_DROPDOWN, - WIDX_VEHICLE_TRAINS_PREVIEW, - WIDX_VEHICLE_TRAINS, - WIDX_VEHICLE_TRAINS_INCREASE, - WIDX_VEHICLE_TRAINS_DECREASE, - WIDX_VEHICLE_CARS_PER_TRAIN, - WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE, - WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE, + WIDX_VEHICLE_TYPE = 14, + WIDX_VEHICLE_TYPE_DROPDOWN, + WIDX_VEHICLE_TRAINS_PREVIEW, + WIDX_VEHICLE_TRAINS, + WIDX_VEHICLE_TRAINS_INCREASE, + WIDX_VEHICLE_TRAINS_DECREASE, + WIDX_VEHICLE_CARS_PER_TRAIN, + WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE, + WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE, - WIDX_MODE_TWEAK = 14, - WIDX_MODE_TWEAK_INCREASE, - WIDX_MODE_TWEAK_DECREASE, - WIDX_LIFT_HILL_SPEED, - WIDX_LIFT_HILL_SPEED_INCREASE, - WIDX_LIFT_HILL_SPEED_DECREASE, - WIDX_LOAD_CHECKBOX, - WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX, - WIDX_MINIMUM_LENGTH_CHECKBOX, - WIDX_MINIMUM_LENGTH, - WIDX_MINIMUM_LENGTH_INCREASE, - WIDX_MINIMUM_LENGTH_DECREASE, - WIDX_MAXIMUM_LENGTH_CHECKBOX, - WIDX_MAXIMUM_LENGTH, - WIDX_MAXIMUM_LENGTH_INCREASE, - WIDX_MAXIMUM_LENGTH_DECREASE, - WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX, - WIDX_MODE_TWEAK_LABEL, - WIDX_LIFT_HILL_SPEED_LABEL, - WIDX_MODE, - WIDX_MODE_DROPDOWN, - WIDX_LOAD, - WIDX_LOAD_DROPDOWN, - WIDX_OPERATE_NUMBER_OF_CIRCUITS_LABEL, - WIDX_OPERATE_NUMBER_OF_CIRCUITS, - WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE, - WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE, + WIDX_MODE_TWEAK = 14, + WIDX_MODE_TWEAK_INCREASE, + WIDX_MODE_TWEAK_DECREASE, + WIDX_LIFT_HILL_SPEED, + WIDX_LIFT_HILL_SPEED_INCREASE, + WIDX_LIFT_HILL_SPEED_DECREASE, + WIDX_LOAD_CHECKBOX, + WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX, + WIDX_MINIMUM_LENGTH_CHECKBOX, + WIDX_MINIMUM_LENGTH, + WIDX_MINIMUM_LENGTH_INCREASE, + WIDX_MINIMUM_LENGTH_DECREASE, + WIDX_MAXIMUM_LENGTH_CHECKBOX, + WIDX_MAXIMUM_LENGTH, + WIDX_MAXIMUM_LENGTH_INCREASE, + WIDX_MAXIMUM_LENGTH_DECREASE, + WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX, + WIDX_MODE_TWEAK_LABEL, + WIDX_LIFT_HILL_SPEED_LABEL, + WIDX_MODE, + WIDX_MODE_DROPDOWN, + WIDX_LOAD, + WIDX_LOAD_DROPDOWN, + WIDX_OPERATE_NUMBER_OF_CIRCUITS_LABEL, + WIDX_OPERATE_NUMBER_OF_CIRCUITS, + WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE, + WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE, - WIDX_INSPECTION_INTERVAL = 14, - WIDX_INSPECTION_INTERVAL_DROPDOWN, - WIDX_LOCATE_MECHANIC, - WIDX_FORCE_BREAKDOWN, + WIDX_INSPECTION_INTERVAL = 14, + WIDX_INSPECTION_INTERVAL_DROPDOWN, + WIDX_LOCATE_MECHANIC, + WIDX_FORCE_BREAKDOWN, - WIDX_TRACK_PREVIEW = 14, - WIDX_TRACK_COLOUR_SCHEME, - WIDX_TRACK_COLOUR_SCHEME_DROPDOWN, - WIDX_TRACK_MAIN_COLOUR, - WIDX_TRACK_ADDITIONAL_COLOUR, - WIDX_TRACK_SUPPORT_COLOUR, - WIDX_MAZE_STYLE, - WIDX_MAZE_STYLE_DROPDOWN, - WIDX_PAINT_INDIVIDUAL_AREA, - WIDX_ENTRANCE_PREVIEW, - WIDX_ENTRANCE_STYLE, - WIDX_ENTRANCE_STYLE_DROPDOWN, - WIDX_VEHICLE_PREVIEW, - WIDX_VEHICLE_COLOUR_SCHEME, - WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN, - WIDX_VEHICLE_COLOUR_INDEX, - WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN, - WIDX_VEHICLE_MAIN_COLOUR, - WIDX_VEHICLE_ADDITIONAL_COLOUR_1, - WIDX_VEHICLE_ADDITIONAL_COLOUR_2, + WIDX_TRACK_PREVIEW = 14, + WIDX_TRACK_COLOUR_SCHEME, + WIDX_TRACK_COLOUR_SCHEME_DROPDOWN, + WIDX_TRACK_MAIN_COLOUR, + WIDX_TRACK_ADDITIONAL_COLOUR, + WIDX_TRACK_SUPPORT_COLOUR, + WIDX_MAZE_STYLE, + WIDX_MAZE_STYLE_DROPDOWN, + WIDX_PAINT_INDIVIDUAL_AREA, + WIDX_ENTRANCE_PREVIEW, + WIDX_ENTRANCE_STYLE, + WIDX_ENTRANCE_STYLE_DROPDOWN, + WIDX_VEHICLE_PREVIEW, + WIDX_VEHICLE_COLOUR_SCHEME, + WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN, + WIDX_VEHICLE_COLOUR_INDEX, + WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN, + WIDX_VEHICLE_MAIN_COLOUR, + WIDX_VEHICLE_ADDITIONAL_COLOUR_1, + WIDX_VEHICLE_ADDITIONAL_COLOUR_2, - WIDX_PLAY_MUSIC = 14, - WIDX_MUSIC, - WIDX_MUSIC_DROPDOWN, + WIDX_PLAY_MUSIC = 14, + WIDX_MUSIC, + WIDX_MUSIC_DROPDOWN, - WIDX_SAVE_TRACK_DESIGN = 14, - WIDX_SELECT_NEARBY_SCENERY, - WIDX_RESET_SELECTION, - WIDX_SAVE_DESIGN, - WIDX_CANCEL_DESIGN, + WIDX_SAVE_TRACK_DESIGN = 14, + WIDX_SELECT_NEARBY_SCENERY, + WIDX_RESET_SELECTION, + WIDX_SAVE_DESIGN, + WIDX_CANCEL_DESIGN, - WIDX_GRAPH = 14, - WIDX_GRAPH_VELOCITY, - WIDX_GRAPH_ALTITUDE, - WIDX_GRAPH_VERTICAL, - WIDX_GRAPH_LATERAL, + WIDX_GRAPH = 14, + WIDX_GRAPH_VELOCITY, + WIDX_GRAPH_ALTITUDE, + WIDX_GRAPH_VERTICAL, + WIDX_GRAPH_LATERAL, - WIDX_PRIMARY_PRICE_LABEL = 14, - WIDX_PRIMARY_PRICE, - WIDX_PRIMARY_PRICE_INCREASE, - WIDX_PRIMARY_PRICE_DECREASE, - WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK, - WIDX_SECONDARY_PRICE_LABEL, - WIDX_SECONDARY_PRICE, - WIDX_SECONDARY_PRICE_INCREASE, - WIDX_SECONDARY_PRICE_DECREASE, - WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK, + WIDX_PRIMARY_PRICE_LABEL = 14, + WIDX_PRIMARY_PRICE, + WIDX_PRIMARY_PRICE_INCREASE, + WIDX_PRIMARY_PRICE_DECREASE, + WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK, + WIDX_SECONDARY_PRICE_LABEL, + WIDX_SECONDARY_PRICE, + WIDX_SECONDARY_PRICE_INCREASE, + WIDX_SECONDARY_PRICE_DECREASE, + WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK, - WIDX_SHOW_GUESTS_THOUGHTS = 14, - WIDX_SHOW_GUESTS_ON_RIDE, - WIDX_SHOW_GUESTS_QUEUING + WIDX_SHOW_GUESTS_THOUGHTS = 14, + WIDX_SHOW_GUESTS_ON_RIDE, + WIDX_SHOW_GUESTS_QUEUING }; #define RCT1_LIGHT_OFFSET 4 #define MAIN_RIDE_WIDGETS \ - { WWT_FRAME, 0, 0, 315, 0, 206, 0xFFFFFFFF, STR_NONE }, \ - { WWT_CAPTION, 0, 1, 314, 1, 14, STR_RIDE_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, \ - { WWT_CLOSEBOX, 0, 303, 313, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, \ - { WWT_RESIZE, 1, 0, 315, 43, 179, 0xFFFFFFFF, STR_NONE }, \ - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_VIEW_OF_RIDE_ATTRACTION_TIP }, \ - { WWT_TAB, 1, 34, 64, 17, 46, 0x20000000 | SPR_TAB, STR_VEHICLE_DETAILS_AND_OPTIONS_TIP }, \ - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_OPERATING_OPTIONS_TIP }, \ - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_MAINTENANCE_OPTIONS_TIP }, \ - { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_COLOUR_SCHEME_OPTIONS_TIP }, \ - { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SOUND_AND_MUSIC_OPTIONS_TIP }, \ - { WWT_TAB, 1, 189, 219, 17, 43, 0x20000000 | SPR_TAB, STR_MEASUREMENTS_AND_TEST_DATA_TIP }, \ - { WWT_TAB, 1, 220, 250, 17, 43, 0x20000000 | SPR_TAB, STR_GRAPHS_TIP }, \ - { WWT_TAB, 1, 251, 281, 17, 43, 0x20000000 | SPR_TAB, STR_INCOME_AND_COSTS_TIP }, \ - { WWT_TAB, 1, 282, 312, 17, 43, 0x20000000 | SPR_TAB, STR_CUSTOMER_INFORMATION_TIP } + { WWT_FRAME, 0, 0, 315, 0, 206, 0xFFFFFFFF, STR_NONE }, \ + { WWT_CAPTION, 0, 1, 314, 1, 14, STR_RIDE_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, \ + { WWT_CLOSEBOX, 0, 303, 313, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, \ + { WWT_RESIZE, 1, 0, 315, 43, 179, 0xFFFFFFFF, STR_NONE }, \ + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_VIEW_OF_RIDE_ATTRACTION_TIP }, \ + { WWT_TAB, 1, 34, 64, 17, 46, 0x20000000 | SPR_TAB, STR_VEHICLE_DETAILS_AND_OPTIONS_TIP }, \ + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_OPERATING_OPTIONS_TIP }, \ + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_MAINTENANCE_OPTIONS_TIP }, \ + { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_COLOUR_SCHEME_OPTIONS_TIP }, \ + { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_SOUND_AND_MUSIC_OPTIONS_TIP }, \ + { WWT_TAB, 1, 189, 219, 17, 43, 0x20000000 | SPR_TAB, STR_MEASUREMENTS_AND_TEST_DATA_TIP }, \ + { WWT_TAB, 1, 220, 250, 17, 43, 0x20000000 | SPR_TAB, STR_GRAPHS_TIP }, \ + { WWT_TAB, 1, 251, 281, 17, 43, 0x20000000 | SPR_TAB, STR_INCOME_AND_COSTS_TIP }, \ + { WWT_TAB, 1, 282, 312, 17, 43, 0x20000000 | SPR_TAB, STR_CUSTOMER_INFORMATION_TIP } // 0x009ADC34 static rct_widget window_ride_main_widgets[] = { - MAIN_RIDE_WIDGETS, - { WWT_VIEWPORT, 1, 3, 290, 60, 166, 0xFFFFFFFE, STR_NONE }, - { WWT_DROPDOWN, 1, 35, 256, 46, 57, 0xFFFFFFFF, STR_VIEW_SELECTION }, - { WWT_DROPDOWN_BUTTON, 1, 245, 255, 47, 56, STR_DROPDOWN_GLYPH, STR_VIEW_SELECTION }, - { WWT_12, 1, 3, 290, 167, 177, 0xFFFFFFFF, STR_NONE }, - { WWT_FLATBTN, 1, 291, 314, 46, 69, 0xFFFFFFFF, STR_OPEN_CLOSE_OR_TEST_RIDE }, - { WWT_FLATBTN, 1, 291, 314, 70, 93, SPR_CONSTRUCTION, STR_CONSTRUCTION }, - { WWT_FLATBTN, 1, 291, 314, 94, 117, SPR_RENAME, STR_NAME_RIDE_TIP }, - { WWT_FLATBTN, 1, 291, 314, 118, 141, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP }, - { WWT_FLATBTN, 1, 291, 314, 142, 165, SPR_DEMOLISH, STR_DEMOLISH_RIDE_TIP }, - { WWT_IMGBTN, 1, 296, 309, 48, 61, SPR_G2_RCT1_CLOSE_BUTTON_0, STR_CLOSE_RIDE_TIP }, - { WWT_IMGBTN, 1, 296, 309, 62, 75, SPR_G2_RCT1_TEST_BUTTON_0, STR_TEST_RIDE_TIP }, - { WWT_IMGBTN, 1, 296, 309, 76, 89, SPR_G2_RCT1_OPEN_BUTTON_0, STR_OPEN_RIDE_TIP }, + MAIN_RIDE_WIDGETS, + { WWT_VIEWPORT, 1, 3, 290, 60, 166, 0xFFFFFFFE, STR_NONE }, + { WWT_DROPDOWN, 1, 35, 256, 46, 57, 0xFFFFFFFF, STR_VIEW_SELECTION }, + { WWT_DROPDOWN_BUTTON, 1, 245, 255, 47, 56, STR_DROPDOWN_GLYPH, STR_VIEW_SELECTION }, + { WWT_12, 1, 3, 290, 167, 177, 0xFFFFFFFF, STR_NONE }, + { WWT_FLATBTN, 1, 291, 314, 46, 69, 0xFFFFFFFF, STR_OPEN_CLOSE_OR_TEST_RIDE }, + { WWT_FLATBTN, 1, 291, 314, 70, 93, SPR_CONSTRUCTION, STR_CONSTRUCTION }, + { WWT_FLATBTN, 1, 291, 314, 94, 117, SPR_RENAME, STR_NAME_RIDE_TIP }, + { WWT_FLATBTN, 1, 291, 314, 118, 141, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP }, + { WWT_FLATBTN, 1, 291, 314, 142, 165, SPR_DEMOLISH, STR_DEMOLISH_RIDE_TIP }, + { WWT_IMGBTN, 1, 296, 309, 48, 61, SPR_G2_RCT1_CLOSE_BUTTON_0, STR_CLOSE_RIDE_TIP }, + { WWT_IMGBTN, 1, 296, 309, 62, 75, SPR_G2_RCT1_TEST_BUTTON_0, STR_TEST_RIDE_TIP }, + { WWT_IMGBTN, 1, 296, 309, 76, 89, SPR_G2_RCT1_OPEN_BUTTON_0, STR_OPEN_RIDE_TIP }, - // Ride type spinner + apply button - { WWT_SPINNER, 1, 3, 253, 180, 191, STR_ARG_6_STRINGID, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 242, 252, 181, 185, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 242, 252, 186, 190, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_CLOSEBOX, 1, 260, 307, 180, 191, STR_APPLY, STR_NONE }, - { WIDGETS_END }, + // Ride type spinner + apply button + { WWT_SPINNER, 1, 3, 253, 180, 191, STR_ARG_6_STRINGID, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 242, 252, 181, 185, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 242, 252, 186, 190, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_CLOSEBOX, 1, 260, 307, 180, 191, STR_APPLY, STR_NONE }, + { WIDGETS_END }, }; // 0x009ADDA8 static rct_widget window_ride_vehicle_widgets[] = { - MAIN_RIDE_WIDGETS, - { WWT_DROPDOWN, 1, 7, 308, 50, 61, 0xFFFFFFFF, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 51, 60, STR_DROPDOWN_GLYPH, STR_NONE }, - { WWT_SCROLL, 1, 7, 308, 141, 183, 0, STR_NONE }, - { WWT_SPINNER, 1, 7, 151, 190, 201, STR_RIDE_VEHICLE_COUNT, STR_MAX_VEHICLES_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 140, 150, 191, 195, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 140, 150, 196, 200, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 164, 308, 190, 201, STR_1_CAR_PER_TRAIN, STR_MAX_CARS_PER_TRAIN_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 191, 195, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 196, 200, STR_NUMERIC_DOWN, STR_NONE }, - { WIDGETS_END }, + MAIN_RIDE_WIDGETS, + { WWT_DROPDOWN, 1, 7, 308, 50, 61, 0xFFFFFFFF, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 51, 60, STR_DROPDOWN_GLYPH, STR_NONE }, + { WWT_SCROLL, 1, 7, 308, 141, 183, 0, STR_NONE }, + { WWT_SPINNER, 1, 7, 151, 190, 201, STR_RIDE_VEHICLE_COUNT, STR_MAX_VEHICLES_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 140, 150, 191, 195, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 140, 150, 196, 200, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 164, 308, 190, 201, STR_1_CAR_PER_TRAIN, STR_MAX_CARS_PER_TRAIN_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 191, 195, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 196, 200, STR_NUMERIC_DOWN, STR_NONE }, + { WIDGETS_END }, }; // 0x009ADEFC static rct_widget window_ride_operating_widgets[] = { - MAIN_RIDE_WIDGETS, - { WWT_SPINNER, 1, 157, 308, 61, 72, STR_ARG_18_STRINGID, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 62, 66, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 67, 71, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_SPINNER, 1, 157, 308, 75, 86, STR_LIFT_HILL_CHAIN_SPEED_VALUE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 76, 80, STR_NUMERIC_UP, STR_SELECT_LIFT_HILL_CHAIN_SPEED_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 81, 85, STR_NUMERIC_DOWN, STR_SELECT_LIFT_HILL_CHAIN_SPEED_TIP }, - { WWT_CHECKBOX, 1, 7, 86, 109, 120, STR_WAIT_FOR, STR_WAIT_FOR_PASSENGERS_BEFORE_DEPARTING_TIP }, - { WWT_CHECKBOX, 1, 7, 308, 124, 135, 0xFFFFFFFF, STR_NONE }, - { WWT_CHECKBOX, 1, 7, 156, 139, 150, STR_MINIMUM_WAITING_TIME, STR_MINIMUM_LENGTH_BEFORE_DEPARTING_TIP }, - { WWT_SPINNER, 1, 157, 308, 139, 150, STR_ARG_10_STRINGID, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 140, 144, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 145, 149, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_CHECKBOX, 1, 7, 156, 154, 165, STR_MAXIMUM_WAITING_TIME, STR_MAXIMUM_LENGTH_BEFORE_DEPARTING_TIP }, - { WWT_SPINNER, 1, 157, 308, 154, 165, STR_ARG_14_STRINGID, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 155, 159, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 160, 164, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_CHECKBOX, 1, 7, 308, 169, 180, STR_SYNCHRONISE_WITH_ADJACENT_STATIONS, STR_SYNCHRONISE_WITH_ADJACENT_STATIONS_TIP }, - { WWT_24, 1, 7, 149, 61, 72, 0xFFFFFFFF, STR_NONE }, - { WWT_24, 1, 7, 149, 75, 86, STR_LIFT_HILL_CHAIN_SPEED, STR_NONE }, - { WWT_DROPDOWN, 1, 7, 308, 47, 58, 0xFFFFFFFF, STR_SELECT_OPERATING_MODE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 48, 57, STR_DROPDOWN_GLYPH, STR_SELECT_OPERATING_MODE }, - { WWT_DROPDOWN, 1, 87, 308, 109, 120, 0xFFFFFFFF, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 110, 119, STR_DROPDOWN_GLYPH, STR_NONE }, - { WWT_24, 1, 7, 149, 89, 100, STR_NUMBER_OF_CIRCUITS, STR_NUMBER_OF_CIRCUITS_TIP }, - { WWT_SPINNER, 1, 157, 308, 89, 100, STR_NUMBER_OF_CIRCUITS_VALUE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 90, 94, STR_NUMERIC_UP, STR_SELECT_NUMBER_OF_CIRCUITS_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 95, 99, STR_NUMERIC_DOWN, STR_SELECT_NUMBER_OF_CIRCUITS_TIP }, - { WIDGETS_END }, + MAIN_RIDE_WIDGETS, + { WWT_SPINNER, 1, 157, 308, 61, 72, STR_ARG_18_STRINGID, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 62, 66, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 67, 71, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_SPINNER, 1, 157, 308, 75, 86, STR_LIFT_HILL_CHAIN_SPEED_VALUE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 76, 80, STR_NUMERIC_UP, STR_SELECT_LIFT_HILL_CHAIN_SPEED_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 81, 85, STR_NUMERIC_DOWN, STR_SELECT_LIFT_HILL_CHAIN_SPEED_TIP }, + { WWT_CHECKBOX, 1, 7, 86, 109, 120, STR_WAIT_FOR, STR_WAIT_FOR_PASSENGERS_BEFORE_DEPARTING_TIP }, + { WWT_CHECKBOX, 1, 7, 308, 124, 135, 0xFFFFFFFF, STR_NONE }, + { WWT_CHECKBOX, 1, 7, 156, 139, 150, STR_MINIMUM_WAITING_TIME, STR_MINIMUM_LENGTH_BEFORE_DEPARTING_TIP }, + { WWT_SPINNER, 1, 157, 308, 139, 150, STR_ARG_10_STRINGID, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 140, 144, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 145, 149, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_CHECKBOX, 1, 7, 156, 154, 165, STR_MAXIMUM_WAITING_TIME, STR_MAXIMUM_LENGTH_BEFORE_DEPARTING_TIP }, + { WWT_SPINNER, 1, 157, 308, 154, 165, STR_ARG_14_STRINGID, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 155, 159, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 160, 164, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_CHECKBOX, 1, 7, 308, 169, 180, STR_SYNCHRONISE_WITH_ADJACENT_STATIONS, STR_SYNCHRONISE_WITH_ADJACENT_STATIONS_TIP }, + { WWT_24, 1, 7, 149, 61, 72, 0xFFFFFFFF, STR_NONE }, + { WWT_24, 1, 7, 149, 75, 86, STR_LIFT_HILL_CHAIN_SPEED, STR_NONE }, + { WWT_DROPDOWN, 1, 7, 308, 47, 58, 0xFFFFFFFF, STR_SELECT_OPERATING_MODE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 48, 57, STR_DROPDOWN_GLYPH, STR_SELECT_OPERATING_MODE }, + { WWT_DROPDOWN, 1, 87, 308, 109, 120, 0xFFFFFFFF, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 110, 119, STR_DROPDOWN_GLYPH, STR_NONE }, + { WWT_24, 1, 7, 149, 89, 100, STR_NUMBER_OF_CIRCUITS, STR_NUMBER_OF_CIRCUITS_TIP }, + { WWT_SPINNER, 1, 157, 308, 89, 100, STR_NUMBER_OF_CIRCUITS_VALUE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 90, 94, STR_NUMERIC_UP, STR_SELECT_NUMBER_OF_CIRCUITS_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 95, 99, STR_NUMERIC_DOWN, STR_SELECT_NUMBER_OF_CIRCUITS_TIP }, + { WIDGETS_END }, }; // 0x009AE190 static rct_widget window_ride_maintenance_widgets[] = { - MAIN_RIDE_WIDGETS, - { WWT_DROPDOWN, 1, 107, 308, 71, 82, 0, STR_SELECT_HOW_OFTEN_A_MECHANIC_SHOULD_CHECK_THIS_RIDE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 72, 81, STR_DROPDOWN_GLYPH, STR_SELECT_HOW_OFTEN_A_MECHANIC_SHOULD_CHECK_THIS_RIDE }, - { WWT_FLATBTN, 1, 289, 312, 108, 131, 0xFFFFFFFF, STR_LOCATE_NEAREST_AVAILABLE_MECHANIC_TIP }, - { WWT_FLATBTN, 1, 265, 288, 108, 131, SPR_NO_ENTRY, STR_DEBUG_FORCE_BREAKDOWN_TIP }, - { WIDGETS_END }, + MAIN_RIDE_WIDGETS, + { WWT_DROPDOWN, 1, 107, 308, 71, 82, 0, STR_SELECT_HOW_OFTEN_A_MECHANIC_SHOULD_CHECK_THIS_RIDE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 72, 81, STR_DROPDOWN_GLYPH, STR_SELECT_HOW_OFTEN_A_MECHANIC_SHOULD_CHECK_THIS_RIDE }, + { WWT_FLATBTN, 1, 289, 312, 108, 131, 0xFFFFFFFF, STR_LOCATE_NEAREST_AVAILABLE_MECHANIC_TIP }, + { WWT_FLATBTN, 1, 265, 288, 108, 131, SPR_NO_ENTRY, STR_DEBUG_FORCE_BREAKDOWN_TIP }, + { WIDGETS_END }, }; // 0x009AE2A4 static rct_widget window_ride_colour_widgets[] = { - MAIN_RIDE_WIDGETS, - { WWT_SPINNER, 1, 3, 70, 47, 93, 0xFFFFFFFF, STR_NONE }, - { WWT_DROPDOWN, 1, 74, 312, 49, 60, STR_ARG_14_STRINGID, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 301, 311, 50, 59, STR_DROPDOWN_GLYPH, STR_COLOUR_SCHEME_TO_CHANGE_TIP }, - { WWT_COLOURBTN, 1, 79, 90, 74, 85, 0xFFFFFFFF, STR_SELECT_MAIN_COLOUR_TIP }, - { WWT_COLOURBTN, 1, 99, 110, 74, 85, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_1_TIP }, - { WWT_COLOURBTN, 1, 119, 130, 74, 85, 0xFFFFFFFF, STR_SELECT_SUPPORT_STRUCTURE_COLOUR_TIP }, - { WWT_DROPDOWN, 1, 74, 312, 49, 60, 0xFFFFFFFF, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 301, 311, 50, 59, STR_DROPDOWN_GLYPH, STR_NONE }, - { WWT_FLATBTN, 1, 289, 312, 68, 91, SPR_PAINTBRUSH, STR_PAINT_INDIVIDUAL_AREA_TIP }, - { WWT_SPINNER, 1, 245, 312, 101, 147, 0xFFFFFFFF, STR_NONE }, - { WWT_DROPDOWN, 1, 3, 241, 103, 114, 0, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 230, 240, 104, 113, STR_DROPDOWN_GLYPH, STR_SELECT_STYLE_OF_ENTRANCE_EXIT_STATION_TIP }, - { WWT_SCROLL, 1, 3, 70, 157, 203, 0, STR_NONE }, - { WWT_DROPDOWN, 1, 74, 312, 157, 168, STR_ARG_6_STRINGID, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 301, 311, 158, 167, STR_DROPDOWN_GLYPH, STR_SELECT_VEHICLE_COLOUR_SCHEME_TIP }, - { WWT_DROPDOWN, 1, 74, 312, 173, 184, 0xFFFFFFFF, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 301, 311, 174, 183, STR_DROPDOWN_GLYPH, STR_SELECT_VEHICLE_TO_MODIFY_TIP }, - { WWT_COLOURBTN, 1, 79, 90, 190, 201, 0xFFFFFFFF, STR_SELECT_MAIN_COLOUR_TIP }, - { WWT_COLOURBTN, 1, 99, 110, 190, 201, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_1_TIP }, - { WWT_COLOURBTN, 1, 119, 130, 190, 201, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_2_TIP }, - { WIDGETS_END }, + MAIN_RIDE_WIDGETS, + { WWT_SPINNER, 1, 3, 70, 47, 93, 0xFFFFFFFF, STR_NONE }, + { WWT_DROPDOWN, 1, 74, 312, 49, 60, STR_ARG_14_STRINGID, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 301, 311, 50, 59, STR_DROPDOWN_GLYPH, STR_COLOUR_SCHEME_TO_CHANGE_TIP }, + { WWT_COLOURBTN, 1, 79, 90, 74, 85, 0xFFFFFFFF, STR_SELECT_MAIN_COLOUR_TIP }, + { WWT_COLOURBTN, 1, 99, 110, 74, 85, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_1_TIP }, + { WWT_COLOURBTN, 1, 119, 130, 74, 85, 0xFFFFFFFF, STR_SELECT_SUPPORT_STRUCTURE_COLOUR_TIP }, + { WWT_DROPDOWN, 1, 74, 312, 49, 60, 0xFFFFFFFF, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 301, 311, 50, 59, STR_DROPDOWN_GLYPH, STR_NONE }, + { WWT_FLATBTN, 1, 289, 312, 68, 91, SPR_PAINTBRUSH, STR_PAINT_INDIVIDUAL_AREA_TIP }, + { WWT_SPINNER, 1, 245, 312, 101, 147, 0xFFFFFFFF, STR_NONE }, + { WWT_DROPDOWN, 1, 3, 241, 103, 114, 0, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 230, 240, 104, 113, STR_DROPDOWN_GLYPH, STR_SELECT_STYLE_OF_ENTRANCE_EXIT_STATION_TIP }, + { WWT_SCROLL, 1, 3, 70, 157, 203, 0, STR_NONE }, + { WWT_DROPDOWN, 1, 74, 312, 157, 168, STR_ARG_6_STRINGID, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 301, 311, 158, 167, STR_DROPDOWN_GLYPH, STR_SELECT_VEHICLE_COLOUR_SCHEME_TIP }, + { WWT_DROPDOWN, 1, 74, 312, 173, 184, 0xFFFFFFFF, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 301, 311, 174, 183, STR_DROPDOWN_GLYPH, STR_SELECT_VEHICLE_TO_MODIFY_TIP }, + { WWT_COLOURBTN, 1, 79, 90, 190, 201, 0xFFFFFFFF, STR_SELECT_MAIN_COLOUR_TIP }, + { WWT_COLOURBTN, 1, 99, 110, 190, 201, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_1_TIP }, + { WWT_COLOURBTN, 1, 119, 130, 190, 201, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_2_TIP }, + { WIDGETS_END }, }; // 0x009AE4C8 static rct_widget window_ride_music_widgets[] = { - MAIN_RIDE_WIDGETS, - { WWT_CHECKBOX, 1, 7, 308, 47, 58, STR_PLAY_MUSIC, STR_SELECT_MUSIC_TIP }, - { WWT_DROPDOWN, 1, 7, 308, 62, 73, 0, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 63, 72, STR_DROPDOWN_GLYPH, STR_SELECT_MUSIC_STYLE_TIP }, - { WIDGETS_END }, + MAIN_RIDE_WIDGETS, + { WWT_CHECKBOX, 1, 7, 308, 47, 58, STR_PLAY_MUSIC, STR_SELECT_MUSIC_TIP }, + { WWT_DROPDOWN, 1, 7, 308, 62, 73, 0, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 63, 72, STR_DROPDOWN_GLYPH, STR_SELECT_MUSIC_STYLE_TIP }, + { WIDGETS_END }, }; // 0x009AE5DC static rct_widget window_ride_measurements_widgets[] = { - MAIN_RIDE_WIDGETS, - { WWT_FLATBTN, 1, 288, 311, 164, 187, SPR_FLOPPY, STR_SAVE_TRACK_DESIGN }, - { WWT_DROPDOWN_BUTTON, 1, 4, 157, 128, 139, STR_SELECT_NEARBY_SCENERY, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 158, 311, 128, 139, STR_RESET_SELECTION, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 4, 157, 178, 189, STR_DESIGN_SAVE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 158, 311, 178, 189, STR_DESIGN_CANCEL, STR_NONE }, - { WIDGETS_END }, + MAIN_RIDE_WIDGETS, + { WWT_FLATBTN, 1, 288, 311, 164, 187, SPR_FLOPPY, STR_SAVE_TRACK_DESIGN }, + { WWT_DROPDOWN_BUTTON, 1, 4, 157, 128, 139, STR_SELECT_NEARBY_SCENERY, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 158, 311, 128, 139, STR_RESET_SELECTION, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 4, 157, 178, 189, STR_DESIGN_SAVE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 158, 311, 178, 189, STR_DESIGN_CANCEL, STR_NONE }, + { WIDGETS_END }, }; // 0x009AE710 static rct_widget window_ride_graphs_widgets[] = { - MAIN_RIDE_WIDGETS, - { WWT_SCROLL, 1, 3, 308, 46, 157, SCROLL_HORIZONTAL, STR_LOGGING_DATA_FROM_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 3, 75, 163, 176, STR_RIDE_STATS_VELOCITY, STR_SHOW_GRAPH_OF_VELOCITY_AGAINST_TIME_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 76, 148, 163, 176, STR_RIDE_STATS_ALTITUDE, STR_SHOW_GRAPH_OF_ALTITUDE_AGAINST_TIME_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 149, 221, 163, 176, STR_RIDE_STATS_VERT_G, STR_SHOW_GRAPH_OF_VERTICAL_ACCELERATION_AGAINST_TIME_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 222, 294, 163, 176, STR_RIDE_STATS_LAT_G, STR_SHOW_GRAPH_OF_LATERAL_ACCELERATION_AGAINST_TIME_TIP }, - { WIDGETS_END }, + MAIN_RIDE_WIDGETS, + { WWT_SCROLL, 1, 3, 308, 46, 157, SCROLL_HORIZONTAL, STR_LOGGING_DATA_FROM_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 3, 75, 163, 176, STR_RIDE_STATS_VELOCITY, STR_SHOW_GRAPH_OF_VELOCITY_AGAINST_TIME_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 76, 148, 163, 176, STR_RIDE_STATS_ALTITUDE, STR_SHOW_GRAPH_OF_ALTITUDE_AGAINST_TIME_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 149, 221, 163, 176, STR_RIDE_STATS_VERT_G, STR_SHOW_GRAPH_OF_VERTICAL_ACCELERATION_AGAINST_TIME_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 222, 294, 163, 176, STR_RIDE_STATS_LAT_G, STR_SHOW_GRAPH_OF_LATERAL_ACCELERATION_AGAINST_TIME_TIP }, + { WIDGETS_END }, }; // 0x009AE844 static rct_widget window_ride_income_widgets[] = { - MAIN_RIDE_WIDGETS, - { WWT_24, 1, 5, 144, 50, 61, 0xFFFFFFFF, STR_NONE }, - { WWT_SPINNER, 1, 147, 308, 50, 61, STR_ARG_6_CURRENCY2DP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 51, 55, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 56, 60, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_CHECKBOX, 1, 5, 310, 61, 72, STR_SAME_PRICE_THROUGHOUT_PARK, STR_SAME_PRICE_THROUGHOUT_PARK_TIP }, - { WWT_24, 1, 5, 144, 89, 100, 0xFFFFFFFF, STR_NONE }, - { WWT_SPINNER, 1, 147, 308, 89, 100, STR_RIDE_SECONDARY_PRICE_VALUE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 90, 94, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 297, 307, 95, 99, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_CHECKBOX, 1, 5, 310, 100, 111, STR_SAME_PRICE_THROUGHOUT_PARK, STR_SAME_PRICE_THROUGHOUT_PARK_TIP }, - { WIDGETS_END }, + MAIN_RIDE_WIDGETS, + { WWT_24, 1, 5, 144, 50, 61, 0xFFFFFFFF, STR_NONE }, + { WWT_SPINNER, 1, 147, 308, 50, 61, STR_ARG_6_CURRENCY2DP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 51, 55, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 56, 60, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_CHECKBOX, 1, 5, 310, 61, 72, STR_SAME_PRICE_THROUGHOUT_PARK, STR_SAME_PRICE_THROUGHOUT_PARK_TIP }, + { WWT_24, 1, 5, 144, 89, 100, 0xFFFFFFFF, STR_NONE }, + { WWT_SPINNER, 1, 147, 308, 89, 100, STR_RIDE_SECONDARY_PRICE_VALUE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 90, 94, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 297, 307, 95, 99, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_CHECKBOX, 1, 5, 310, 100, 111, STR_SAME_PRICE_THROUGHOUT_PARK, STR_SAME_PRICE_THROUGHOUT_PARK_TIP }, + { WIDGETS_END }, }; // 0x009AE9C8 static rct_widget window_ride_customer_widgets[] = { - MAIN_RIDE_WIDGETS, - { WWT_FLATBTN, 1, 289, 312, 54, 77, SPR_SHOW_GUESTS_THOUGHTS_ABOUT_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_THOUGHTS_ABOUT_THIS_RIDE_ATTRACTION_TIP }, - { WWT_FLATBTN, 1, 289, 312, 78, 101, SPR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION_TIP }, - { WWT_FLATBTN, 1, 289, 312, 102, 125, SPR_SHOW_GUESTS_QUEUING_FOR_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_QUEUING_FOR_THIS_RIDE_ATTRACTION_TIP }, - { WIDGETS_END }, + MAIN_RIDE_WIDGETS, + { WWT_FLATBTN, 1, 289, 312, 54, 77, SPR_SHOW_GUESTS_THOUGHTS_ABOUT_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_THOUGHTS_ABOUT_THIS_RIDE_ATTRACTION_TIP }, + { WWT_FLATBTN, 1, 289, 312, 78, 101, SPR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION_TIP }, + { WWT_FLATBTN, 1, 289, 312, 102, 125, SPR_SHOW_GUESTS_QUEUING_FOR_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_QUEUING_FOR_THIS_RIDE_ATTRACTION_TIP }, + { WIDGETS_END }, }; static rct_widget *window_ride_page_widgets[] = { - window_ride_main_widgets, - window_ride_vehicle_widgets, - window_ride_operating_widgets, - window_ride_maintenance_widgets, - window_ride_colour_widgets, - window_ride_music_widgets, - window_ride_measurements_widgets, - window_ride_graphs_widgets, - window_ride_income_widgets, - window_ride_customer_widgets + window_ride_main_widgets, + window_ride_vehicle_widgets, + window_ride_operating_widgets, + window_ride_maintenance_widgets, + window_ride_colour_widgets, + window_ride_music_widgets, + window_ride_measurements_widgets, + window_ride_graphs_widgets, + window_ride_income_widgets, + window_ride_customer_widgets }; #define MAIN_RIDE_ENABLED_WIDGETS \ - (1ULL << WIDX_CLOSE) | \ - (1ULL << WIDX_TAB_1) | \ - (1ULL << WIDX_TAB_2) | \ - (1ULL << WIDX_TAB_3) | \ - (1ULL << WIDX_TAB_4) | \ - (1ULL << WIDX_TAB_5) | \ - (1ULL << WIDX_TAB_6) | \ - (1ULL << WIDX_TAB_7) | \ - (1ULL << WIDX_TAB_8) | \ - (1ULL << WIDX_TAB_9) | \ - (1ULL << WIDX_TAB_10) + (1ULL << WIDX_CLOSE) | \ + (1ULL << WIDX_TAB_1) | \ + (1ULL << WIDX_TAB_2) | \ + (1ULL << WIDX_TAB_3) | \ + (1ULL << WIDX_TAB_4) | \ + (1ULL << WIDX_TAB_5) | \ + (1ULL << WIDX_TAB_6) | \ + (1ULL << WIDX_TAB_7) | \ + (1ULL << WIDX_TAB_8) | \ + (1ULL << WIDX_TAB_9) | \ + (1ULL << WIDX_TAB_10) const uint64 window_ride_page_enabled_widgets[] = { - MAIN_RIDE_ENABLED_WIDGETS | - (1ULL << WIDX_VIEW) | - (1ULL << WIDX_VIEW_DROPDOWN) | - (1ULL << WIDX_OPEN) | - (1ULL << WIDX_CONSTRUCTION) | - (1ULL << WIDX_RENAME) | - (1ULL << WIDX_LOCATE) | - (1ULL << WIDX_DEMOLISH) | - (1ULL << WIDX_CLOSE_LIGHT) | - (1ULL << WIDX_TEST_LIGHT) | - (1ULL << WIDX_OPEN_LIGHT) | - (1ULL << WIDX_RIDE_TYPE) | - (1ULL << WIDX_RIDE_TYPE_INCREASE) | - (1ULL << WIDX_RIDE_TYPE_DECREASE) | - (1ULL << WIDX_RIDE_TYPE_APPLY), - MAIN_RIDE_ENABLED_WIDGETS | - (1ULL << WIDX_VEHICLE_TYPE) | - (1ULL << WIDX_VEHICLE_TYPE_DROPDOWN) | - (1ULL << WIDX_VEHICLE_TRAINS) | - (1ULL << WIDX_VEHICLE_TRAINS_INCREASE) | - (1ULL << WIDX_VEHICLE_TRAINS_DECREASE) | - (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN) | - (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE) | - (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE), - MAIN_RIDE_ENABLED_WIDGETS | - (1ULL << WIDX_MODE_TWEAK_INCREASE) | - (1ULL << WIDX_MODE_TWEAK_DECREASE) | - (1ULL << WIDX_LIFT_HILL_SPEED_INCREASE) | - (1ULL << WIDX_LIFT_HILL_SPEED_DECREASE) | - (1ULL << WIDX_LOAD_CHECKBOX) | - (1ULL << WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX) | - (1ULL << WIDX_MINIMUM_LENGTH_CHECKBOX) | - (1ULL << WIDX_MINIMUM_LENGTH_INCREASE) | - (1ULL << WIDX_MINIMUM_LENGTH_DECREASE) | - (1ULL << WIDX_MAXIMUM_LENGTH_CHECKBOX) | - (1ULL << WIDX_MAXIMUM_LENGTH_INCREASE) | - (1ULL << WIDX_MAXIMUM_LENGTH_DECREASE) | - (1ULL << WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX) | - (1ULL << WIDX_MODE) | - (1ULL << WIDX_MODE_DROPDOWN) | - (1ULL << WIDX_LOAD) | - (1ULL << WIDX_LOAD_DROPDOWN) | - (1ULL << WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE) | - (1ULL << WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE), - MAIN_RIDE_ENABLED_WIDGETS | - (1ULL << WIDX_INSPECTION_INTERVAL) | - (1ULL << WIDX_INSPECTION_INTERVAL_DROPDOWN) | - (1ULL << WIDX_LOCATE_MECHANIC) | - (1ULL << WIDX_FORCE_BREAKDOWN), - MAIN_RIDE_ENABLED_WIDGETS | - (1ULL << WIDX_TRACK_COLOUR_SCHEME_DROPDOWN) | - (1ULL << WIDX_TRACK_MAIN_COLOUR) | - (1ULL << WIDX_TRACK_ADDITIONAL_COLOUR) | - (1ULL << WIDX_TRACK_SUPPORT_COLOUR) | - (1ULL << WIDX_MAZE_STYLE) | - (1ULL << WIDX_MAZE_STYLE_DROPDOWN) | - (1ULL << WIDX_PAINT_INDIVIDUAL_AREA) | - (1ULL << WIDX_ENTRANCE_STYLE) | - (1ULL << WIDX_ENTRANCE_STYLE_DROPDOWN) | - (1ULL << WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN) | - (1ULL << WIDX_VEHICLE_COLOUR_INDEX) | - (1ULL << WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN) | - (1ULL << WIDX_VEHICLE_MAIN_COLOUR) | - (1ULL << WIDX_VEHICLE_ADDITIONAL_COLOUR_1) | - (1ULL << WIDX_VEHICLE_ADDITIONAL_COLOUR_2), - MAIN_RIDE_ENABLED_WIDGETS | - (1ULL << WIDX_PLAY_MUSIC) | - (1ULL << WIDX_MUSIC) | - (1ULL << WIDX_MUSIC_DROPDOWN), - MAIN_RIDE_ENABLED_WIDGETS | - (1ULL << WIDX_SAVE_TRACK_DESIGN) | - (1ULL << WIDX_SELECT_NEARBY_SCENERY) | - (1ULL << WIDX_RESET_SELECTION) | - (1ULL << WIDX_SAVE_DESIGN) | - (1ULL << WIDX_CANCEL_DESIGN), - MAIN_RIDE_ENABLED_WIDGETS | - (1ULL << WIDX_GRAPH_VELOCITY) | - (1ULL << WIDX_GRAPH_ALTITUDE) | - (1ULL << WIDX_GRAPH_VERTICAL) | - (1ULL << WIDX_GRAPH_LATERAL), - MAIN_RIDE_ENABLED_WIDGETS | - (1ULL << WIDX_PRIMARY_PRICE_INCREASE) | - (1ULL << WIDX_PRIMARY_PRICE_DECREASE) | - (1ULL << WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK) | - (1ULL << WIDX_SECONDARY_PRICE_INCREASE) | - (1ULL << WIDX_SECONDARY_PRICE_DECREASE) | - (1ULL << WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK), - MAIN_RIDE_ENABLED_WIDGETS | - (1ULL << WIDX_SHOW_GUESTS_THOUGHTS) | - (1ULL << WIDX_SHOW_GUESTS_ON_RIDE) | - (1ULL << WIDX_SHOW_GUESTS_QUEUING), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_VIEW) | + (1ULL << WIDX_VIEW_DROPDOWN) | + (1ULL << WIDX_OPEN) | + (1ULL << WIDX_CONSTRUCTION) | + (1ULL << WIDX_RENAME) | + (1ULL << WIDX_LOCATE) | + (1ULL << WIDX_DEMOLISH) | + (1ULL << WIDX_CLOSE_LIGHT) | + (1ULL << WIDX_TEST_LIGHT) | + (1ULL << WIDX_OPEN_LIGHT) | + (1ULL << WIDX_RIDE_TYPE) | + (1ULL << WIDX_RIDE_TYPE_INCREASE) | + (1ULL << WIDX_RIDE_TYPE_DECREASE) | + (1ULL << WIDX_RIDE_TYPE_APPLY), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_VEHICLE_TYPE) | + (1ULL << WIDX_VEHICLE_TYPE_DROPDOWN) | + (1ULL << WIDX_VEHICLE_TRAINS) | + (1ULL << WIDX_VEHICLE_TRAINS_INCREASE) | + (1ULL << WIDX_VEHICLE_TRAINS_DECREASE) | + (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN) | + (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE) | + (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_MODE_TWEAK_INCREASE) | + (1ULL << WIDX_MODE_TWEAK_DECREASE) | + (1ULL << WIDX_LIFT_HILL_SPEED_INCREASE) | + (1ULL << WIDX_LIFT_HILL_SPEED_DECREASE) | + (1ULL << WIDX_LOAD_CHECKBOX) | + (1ULL << WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX) | + (1ULL << WIDX_MINIMUM_LENGTH_CHECKBOX) | + (1ULL << WIDX_MINIMUM_LENGTH_INCREASE) | + (1ULL << WIDX_MINIMUM_LENGTH_DECREASE) | + (1ULL << WIDX_MAXIMUM_LENGTH_CHECKBOX) | + (1ULL << WIDX_MAXIMUM_LENGTH_INCREASE) | + (1ULL << WIDX_MAXIMUM_LENGTH_DECREASE) | + (1ULL << WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX) | + (1ULL << WIDX_MODE) | + (1ULL << WIDX_MODE_DROPDOWN) | + (1ULL << WIDX_LOAD) | + (1ULL << WIDX_LOAD_DROPDOWN) | + (1ULL << WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE) | + (1ULL << WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_INSPECTION_INTERVAL) | + (1ULL << WIDX_INSPECTION_INTERVAL_DROPDOWN) | + (1ULL << WIDX_LOCATE_MECHANIC) | + (1ULL << WIDX_FORCE_BREAKDOWN), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_TRACK_COLOUR_SCHEME_DROPDOWN) | + (1ULL << WIDX_TRACK_MAIN_COLOUR) | + (1ULL << WIDX_TRACK_ADDITIONAL_COLOUR) | + (1ULL << WIDX_TRACK_SUPPORT_COLOUR) | + (1ULL << WIDX_MAZE_STYLE) | + (1ULL << WIDX_MAZE_STYLE_DROPDOWN) | + (1ULL << WIDX_PAINT_INDIVIDUAL_AREA) | + (1ULL << WIDX_ENTRANCE_STYLE) | + (1ULL << WIDX_ENTRANCE_STYLE_DROPDOWN) | + (1ULL << WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN) | + (1ULL << WIDX_VEHICLE_COLOUR_INDEX) | + (1ULL << WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN) | + (1ULL << WIDX_VEHICLE_MAIN_COLOUR) | + (1ULL << WIDX_VEHICLE_ADDITIONAL_COLOUR_1) | + (1ULL << WIDX_VEHICLE_ADDITIONAL_COLOUR_2), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_PLAY_MUSIC) | + (1ULL << WIDX_MUSIC) | + (1ULL << WIDX_MUSIC_DROPDOWN), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_SAVE_TRACK_DESIGN) | + (1ULL << WIDX_SELECT_NEARBY_SCENERY) | + (1ULL << WIDX_RESET_SELECTION) | + (1ULL << WIDX_SAVE_DESIGN) | + (1ULL << WIDX_CANCEL_DESIGN), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_GRAPH_VELOCITY) | + (1ULL << WIDX_GRAPH_ALTITUDE) | + (1ULL << WIDX_GRAPH_VERTICAL) | + (1ULL << WIDX_GRAPH_LATERAL), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_PRIMARY_PRICE_INCREASE) | + (1ULL << WIDX_PRIMARY_PRICE_DECREASE) | + (1ULL << WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK) | + (1ULL << WIDX_SECONDARY_PRICE_INCREASE) | + (1ULL << WIDX_SECONDARY_PRICE_DECREASE) | + (1ULL << WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_SHOW_GUESTS_THOUGHTS) | + (1ULL << WIDX_SHOW_GUESTS_ON_RIDE) | + (1ULL << WIDX_SHOW_GUESTS_QUEUING), }; const uint64 window_ride_page_hold_down_widgets[] = { - 0, - (1ULL << WIDX_VEHICLE_TRAINS_INCREASE) | - (1ULL << WIDX_VEHICLE_TRAINS_DECREASE) | - (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE) | - (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE), - (1ULL << WIDX_MODE_TWEAK_INCREASE) | - (1ULL << WIDX_MODE_TWEAK_DECREASE) | - (1ULL << WIDX_LIFT_HILL_SPEED_INCREASE) | - (1ULL << WIDX_LIFT_HILL_SPEED_DECREASE) | - (1ULL << WIDX_MINIMUM_LENGTH_INCREASE) | - (1ULL << WIDX_MINIMUM_LENGTH_DECREASE) | - (1ULL << WIDX_MAXIMUM_LENGTH_INCREASE) | - (1ULL << WIDX_MAXIMUM_LENGTH_DECREASE), - 0, - 0, - 0, - 0, - 0, - (1ULL << WIDX_PRIMARY_PRICE_INCREASE) | - (1ULL << WIDX_PRIMARY_PRICE_DECREASE) | - (1ULL << WIDX_SECONDARY_PRICE_INCREASE) | - (1ULL << WIDX_SECONDARY_PRICE_DECREASE), - 0 + 0, + (1ULL << WIDX_VEHICLE_TRAINS_INCREASE) | + (1ULL << WIDX_VEHICLE_TRAINS_DECREASE) | + (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE) | + (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE), + (1ULL << WIDX_MODE_TWEAK_INCREASE) | + (1ULL << WIDX_MODE_TWEAK_DECREASE) | + (1ULL << WIDX_LIFT_HILL_SPEED_INCREASE) | + (1ULL << WIDX_LIFT_HILL_SPEED_DECREASE) | + (1ULL << WIDX_MINIMUM_LENGTH_INCREASE) | + (1ULL << WIDX_MINIMUM_LENGTH_DECREASE) | + (1ULL << WIDX_MAXIMUM_LENGTH_INCREASE) | + (1ULL << WIDX_MAXIMUM_LENGTH_DECREASE), + 0, + 0, + 0, + 0, + 0, + (1ULL << WIDX_PRIMARY_PRICE_INCREASE) | + (1ULL << WIDX_PRIMARY_PRICE_DECREASE) | + (1ULL << WIDX_SECONDARY_PRICE_INCREASE) | + (1ULL << WIDX_SECONDARY_PRICE_DECREASE), + 0 }; #pragma endregion @@ -618,335 +618,335 @@ static void window_ride_set_page(rct_window *w, sint32 page); // 0x0098DFD4 static rct_window_event_list window_ride_main_events = { - NULL, - window_ride_main_mouseup, - window_ride_main_resize, - window_ride_main_mousedown, - window_ride_main_dropdown, - NULL, - window_ride_main_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_main_textinput, - window_ride_main_unknown_14, - NULL, - NULL, - NULL, - NULL, - window_ride_main_invalidate, - window_ride_main_paint, - NULL + NULL, + window_ride_main_mouseup, + window_ride_main_resize, + window_ride_main_mousedown, + window_ride_main_dropdown, + NULL, + window_ride_main_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_main_textinput, + window_ride_main_unknown_14, + NULL, + NULL, + NULL, + NULL, + window_ride_main_invalidate, + window_ride_main_paint, + NULL }; // 0x0098E204 static rct_window_event_list window_ride_vehicle_events = { - NULL, - window_ride_vehicle_mouseup, - window_ride_vehicle_resize, - window_ride_vehicle_mousedown, - window_ride_vehicle_dropdown, - NULL, - window_ride_vehicle_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_vehicle_invalidate, - window_ride_vehicle_paint, - window_ride_vehicle_scrollpaint + NULL, + window_ride_vehicle_mouseup, + window_ride_vehicle_resize, + window_ride_vehicle_mousedown, + window_ride_vehicle_dropdown, + NULL, + window_ride_vehicle_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_vehicle_invalidate, + window_ride_vehicle_paint, + window_ride_vehicle_scrollpaint }; // 0x0098E0B4 static rct_window_event_list window_ride_operating_events = { - NULL, - window_ride_operating_mouseup, - window_ride_operating_resize, - window_ride_operating_mousedown, - window_ride_operating_dropdown, - NULL, - window_ride_operating_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_operating_invalidate, - window_ride_operating_paint, - NULL + NULL, + window_ride_operating_mouseup, + window_ride_operating_resize, + window_ride_operating_mousedown, + window_ride_operating_dropdown, + NULL, + window_ride_operating_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_operating_invalidate, + window_ride_operating_paint, + NULL }; // 0x0098E124 static rct_window_event_list window_ride_maintenance_events = { - NULL, - window_ride_maintenance_mouseup, - window_ride_maintenance_resize, - window_ride_maintenance_mousedown, - window_ride_maintenance_dropdown, - NULL, - window_ride_maintenance_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_maintenance_invalidate, - window_ride_maintenance_paint, - NULL + NULL, + window_ride_maintenance_mouseup, + window_ride_maintenance_resize, + window_ride_maintenance_mousedown, + window_ride_maintenance_dropdown, + NULL, + window_ride_maintenance_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_maintenance_invalidate, + window_ride_maintenance_paint, + NULL }; // 0x0098E044 static rct_window_event_list window_ride_colour_events = { - window_ride_colour_close, - window_ride_colour_mouseup, - window_ride_colour_resize, - window_ride_colour_mousedown, - window_ride_colour_dropdown, - NULL, - window_ride_colour_update, - NULL, - NULL, - NULL, - window_ride_colour_tooldown, - window_ride_colour_tooldrag, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_colour_invalidate, - window_ride_colour_paint, - window_ride_colour_scrollpaint + window_ride_colour_close, + window_ride_colour_mouseup, + window_ride_colour_resize, + window_ride_colour_mousedown, + window_ride_colour_dropdown, + NULL, + window_ride_colour_update, + NULL, + NULL, + NULL, + window_ride_colour_tooldown, + window_ride_colour_tooldrag, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_colour_invalidate, + window_ride_colour_paint, + window_ride_colour_scrollpaint }; // 0x0098E194 static rct_window_event_list window_ride_music_events = { - NULL, - window_ride_music_mouseup, - window_ride_music_resize, - window_ride_music_mousedown, - window_ride_music_dropdown, - NULL, - window_ride_music_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_music_invalidate, - window_ride_music_paint, - NULL + NULL, + window_ride_music_mouseup, + window_ride_music_resize, + window_ride_music_mousedown, + window_ride_music_dropdown, + NULL, + window_ride_music_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_music_invalidate, + window_ride_music_paint, + NULL }; // 0x0098DE14 static rct_window_event_list window_ride_measurements_events = { - window_ride_measurements_close, - window_ride_measurements_mouseup, - window_ride_measurements_resize, - window_ride_measurements_mousedown, - window_ride_measurements_dropdown, - NULL, - window_ride_measurements_update, - NULL, - NULL, - NULL, - window_ride_measurements_tooldown, - window_ride_measurements_tooldrag, - NULL, - window_ride_measurements_toolabort, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_measurements_invalidate, - window_ride_measurements_paint, - NULL + window_ride_measurements_close, + window_ride_measurements_mouseup, + window_ride_measurements_resize, + window_ride_measurements_mousedown, + window_ride_measurements_dropdown, + NULL, + window_ride_measurements_update, + NULL, + NULL, + NULL, + window_ride_measurements_tooldown, + window_ride_measurements_tooldrag, + NULL, + window_ride_measurements_toolabort, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_measurements_invalidate, + window_ride_measurements_paint, + NULL }; // 0x0098DF64 static rct_window_event_list window_ride_graphs_events = { - NULL, - window_ride_graphs_mouseup, - window_ride_graphs_resize, - window_ride_graphs_mousedown, - NULL, - NULL, - window_ride_graphs_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_graphs_scrollgetheight, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_graphs_15, - window_ride_graphs_tooltip, - NULL, - NULL, - window_ride_graphs_invalidate, - window_ride_graphs_paint, - window_ride_graphs_scrollpaint + NULL, + window_ride_graphs_mouseup, + window_ride_graphs_resize, + window_ride_graphs_mousedown, + NULL, + NULL, + window_ride_graphs_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_graphs_scrollgetheight, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_graphs_15, + window_ride_graphs_tooltip, + NULL, + NULL, + window_ride_graphs_invalidate, + window_ride_graphs_paint, + window_ride_graphs_scrollpaint }; // 0x0098DEF4 static rct_window_event_list window_ride_income_events = { - NULL, - window_ride_income_mouseup, - window_ride_income_resize, - window_ride_income_mousedown, - NULL, - NULL, - window_ride_income_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_income_invalidate, - window_ride_income_paint, - NULL + NULL, + window_ride_income_mouseup, + window_ride_income_resize, + window_ride_income_mousedown, + NULL, + NULL, + window_ride_income_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_income_invalidate, + window_ride_income_paint, + NULL }; // 0x0098DE84 static rct_window_event_list window_ride_customer_events = { - NULL, - window_ride_customer_mouseup, - window_ride_customer_resize, - NULL, - NULL, - NULL, - window_ride_customer_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_customer_invalidate, - window_ride_customer_paint, - NULL + NULL, + window_ride_customer_mouseup, + window_ride_customer_resize, + NULL, + NULL, + NULL, + window_ride_customer_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_customer_invalidate, + window_ride_customer_paint, + NULL }; static rct_window_event_list *window_ride_page_events[] = { - &window_ride_main_events, - &window_ride_vehicle_events, - &window_ride_operating_events, - &window_ride_maintenance_events, - &window_ride_colour_events, - &window_ride_music_events, - &window_ride_measurements_events, - &window_ride_graphs_events, - &window_ride_income_events, - &window_ride_customer_events + &window_ride_main_events, + &window_ride_vehicle_events, + &window_ride_operating_events, + &window_ride_maintenance_events, + &window_ride_colour_events, + &window_ride_music_events, + &window_ride_measurements_events, + &window_ride_graphs_events, + &window_ride_income_events, + &window_ride_customer_events }; #pragma endregion @@ -961,8 +961,8 @@ static void set_operating_setting(sint32 rideNumber, uint8 setting, uint8 value) // Cached overall view for each ride // (Re)calculated when the ride window is opened typedef struct ride_overall_view_t { - sint16 x, y, z; - uint8 zoom; + sint16 x, y, z; + uint8 zoom; } ride_overall_view; ride_overall_view ride_overall_views[MAX_RIDES] = {0}; @@ -971,265 +971,265 @@ const sint32 window_ride_tab_animation_divisor[] = { 0, 0, 2, 2, 4, 2, 8, 8, 2, const sint32 window_ride_tab_animation_frames[] = { 0, 0, 4, 16, 8, 16, 8, 8, 8, 0 }; static const rct_string_id RatingNames[] = { - STR_RATING_LOW, - STR_RATING_MEDIUM, - STR_RATING_HIGH, - STR_RATING_VERY_HIGH, - STR_RATING_EXTREME, - STR_RATING_ULTRA_EXTREME, + STR_RATING_LOW, + STR_RATING_MEDIUM, + STR_RATING_HIGH, + STR_RATING_VERY_HIGH, + STR_RATING_EXTREME, + STR_RATING_ULTRA_EXTREME, }; static const rct_string_id RideBreakdownReasonNames[] = { - STR_RIDE_BREAKDOWN_SAFETY_CUT_OUT , - STR_RIDE_BREAKDOWN_RESTRAINTS_STUCK_CLOSED, - STR_RIDE_BREAKDOWN_RESTRAINTS_STUCK_OPEN, - STR_RIDE_BREAKDOWN_DOORS_STUCK_CLOSED, - STR_RIDE_BREAKDOWN_DOORS_STUCK_OPEN, - STR_RIDE_BREAKDOWN_VEHICLE_MALFUNCTION, - STR_RIDE_BREAKDOWN_BRAKES_FAILURE, - STR_RIDE_BREAKDOWN_CONTROL_FAILURE + STR_RIDE_BREAKDOWN_SAFETY_CUT_OUT , + STR_RIDE_BREAKDOWN_RESTRAINTS_STUCK_CLOSED, + STR_RIDE_BREAKDOWN_RESTRAINTS_STUCK_OPEN, + STR_RIDE_BREAKDOWN_DOORS_STUCK_CLOSED, + STR_RIDE_BREAKDOWN_DOORS_STUCK_OPEN, + STR_RIDE_BREAKDOWN_VEHICLE_MALFUNCTION, + STR_RIDE_BREAKDOWN_BRAKES_FAILURE, + STR_RIDE_BREAKDOWN_CONTROL_FAILURE }; static const rct_string_id ColourSchemeNames[] = { - STR_MAIN_COLOUR_SCHEME, - STR_ALTERNATIVE_COLOUR_SCHEME_1, - STR_ALTERNATIVE_COLOUR_SCHEME_2, - STR_ALTERNATIVE_COLOUR_SCHEME_3, + STR_MAIN_COLOUR_SCHEME, + STR_ALTERNATIVE_COLOUR_SCHEME_1, + STR_ALTERNATIVE_COLOUR_SCHEME_2, + STR_ALTERNATIVE_COLOUR_SCHEME_3, }; static const rct_string_id VehicleLoadNames[] = { - STR_QUARTER_LOAD, - STR_HALF_LOAD, - STR_THREE_QUARTER_LOAD, - STR_FULL_LOAD, - STR_ANY_LOAD, + STR_QUARTER_LOAD, + STR_HALF_LOAD, + STR_THREE_QUARTER_LOAD, + STR_FULL_LOAD, + STR_ANY_LOAD, }; static const rct_string_id VehicleColourSchemeNames[] = { - STR_ALL_VEHICLES_IN_SAME_COLOURS , - STR_DIFFERENT_COLOURS_PER , - STR_DIFFERENT_COLOURS_PER_VEHICLE , + STR_ALL_VEHICLES_IN_SAME_COLOURS , + STR_DIFFERENT_COLOURS_PER , + STR_DIFFERENT_COLOURS_PER_VEHICLE , }; static const rct_string_id VehicleStatusNames[] = { - STR_MOVING_TO_END_OF, // VEHICLE_STATUS_MOVING_TO_END_OF_STATION - STR_WAITING_FOR_PASSENGERS_AT, // VEHICLE_STATUS_WAITING_FOR_PASSENGERS - STR_WAITING_TO_DEPART, // VEHICLE_STATUS_WAITING_TO_DEPART - STR_DEPARTING, // VEHICLE_STATUS_DEPARTING - STR_TRAVELLING_AT_0, // VEHICLE_STATUS_TRAVELLING - STR_ARRIVING_AT, // VEHICLE_STATUS_ARRIVING - STR_UNLOADING_PASSENGERS_AT, // VEHICLE_STATUS_UNLOADING_PASSENGERS - STR_TRAVELLING_AT_1, // VEHICLE_STATUS_TRAVELLING_BOAT - STR_CRASHING, // VEHICLE_STATUS_CRASHING - STR_CRASHED_0, // VEHICLE_STATUS_CRASHED - STR_TRAVELLING_AT_2, // VEHICLE_STATUS_TRAVELLING_DODGEMS - STR_SWINGING, // VEHICLE_STATUS_SWINGING - STR_ROTATING_0, // VEHICLE_STATUS_ROTATING - STR_ROTATING_1, // VEHICLE_STATUS_FERRIS_WHEEL_ROTATING - STR_OPERATING_0, // VEHICLE_STATUS_SIMULATOR_OPERATING - STR_SHOWING_FILM, // VEHICLE_STATUS_SHOWING_FILM - STR_ROTATING_2, // VEHICLE_STATUS_SPACE_RINGS_OPERATING - STR_OPERATING_1, // VEHICLE_STATUS_TOP_SPIN_OPERATING - STR_OPERATING_2, // VEHICLE_STATUS_HAUNTED_HOUSE_OPERATING - STR_DOING_CIRCUS_SHOW, // VEHICLE_STATUS_DOING_CIRCUS_SHOW - STR_OPERATING_3, // VEHICLE_STATUS_CROOKED_HOUSE_OPERATING - STR_WAITING_FOR_CABLE_LIFT, // VEHICLE_STATUS_WAITING_FOR_CABLE_LIFT - STR_TRAVELLING_AT_3, // VEHICLE_STATUS_TRAVELLING_CABLE_LIFT - STR_STOPPING_0, // VEHICLE_STATUS_STOPPING - STR_WAITING_FOR_PASSENGERS, // VEHICLE_STATUS_WAITING_FOR_PASSENGERS_17 - STR_WAITING_TO_START, // VEHICLE_STATUS_WAITING_TO_START - STR_STARTING, // VEHICLE_STATUS_STARTING - STR_OPERATING, // VEHICLE_STATUS_OPERATING_1A - STR_STOPPING_1, // VEHICLE_STATUS_STOPPING_1B - STR_UNLOADING_PASSENGERS, // VEHICLE_STATUS_UNLOADING_PASSENGERS_1C - STR_STOPPED_BY_BLOCK_BRAKES, // VEHICLE_STATUS_STOPPED_BY_BLOCK_BRAKES + STR_MOVING_TO_END_OF, // VEHICLE_STATUS_MOVING_TO_END_OF_STATION + STR_WAITING_FOR_PASSENGERS_AT, // VEHICLE_STATUS_WAITING_FOR_PASSENGERS + STR_WAITING_TO_DEPART, // VEHICLE_STATUS_WAITING_TO_DEPART + STR_DEPARTING, // VEHICLE_STATUS_DEPARTING + STR_TRAVELLING_AT_0, // VEHICLE_STATUS_TRAVELLING + STR_ARRIVING_AT, // VEHICLE_STATUS_ARRIVING + STR_UNLOADING_PASSENGERS_AT, // VEHICLE_STATUS_UNLOADING_PASSENGERS + STR_TRAVELLING_AT_1, // VEHICLE_STATUS_TRAVELLING_BOAT + STR_CRASHING, // VEHICLE_STATUS_CRASHING + STR_CRASHED_0, // VEHICLE_STATUS_CRASHED + STR_TRAVELLING_AT_2, // VEHICLE_STATUS_TRAVELLING_DODGEMS + STR_SWINGING, // VEHICLE_STATUS_SWINGING + STR_ROTATING_0, // VEHICLE_STATUS_ROTATING + STR_ROTATING_1, // VEHICLE_STATUS_FERRIS_WHEEL_ROTATING + STR_OPERATING_0, // VEHICLE_STATUS_SIMULATOR_OPERATING + STR_SHOWING_FILM, // VEHICLE_STATUS_SHOWING_FILM + STR_ROTATING_2, // VEHICLE_STATUS_SPACE_RINGS_OPERATING + STR_OPERATING_1, // VEHICLE_STATUS_TOP_SPIN_OPERATING + STR_OPERATING_2, // VEHICLE_STATUS_HAUNTED_HOUSE_OPERATING + STR_DOING_CIRCUS_SHOW, // VEHICLE_STATUS_DOING_CIRCUS_SHOW + STR_OPERATING_3, // VEHICLE_STATUS_CROOKED_HOUSE_OPERATING + STR_WAITING_FOR_CABLE_LIFT, // VEHICLE_STATUS_WAITING_FOR_CABLE_LIFT + STR_TRAVELLING_AT_3, // VEHICLE_STATUS_TRAVELLING_CABLE_LIFT + STR_STOPPING_0, // VEHICLE_STATUS_STOPPING + STR_WAITING_FOR_PASSENGERS, // VEHICLE_STATUS_WAITING_FOR_PASSENGERS_17 + STR_WAITING_TO_START, // VEHICLE_STATUS_WAITING_TO_START + STR_STARTING, // VEHICLE_STATUS_STARTING + STR_OPERATING, // VEHICLE_STATUS_OPERATING_1A + STR_STOPPING_1, // VEHICLE_STATUS_STOPPING_1B + STR_UNLOADING_PASSENGERS, // VEHICLE_STATUS_UNLOADING_PASSENGERS_1C + STR_STOPPED_BY_BLOCK_BRAKES, // VEHICLE_STATUS_STOPPED_BY_BLOCK_BRAKES }; static const rct_string_id SingleSessionVehicleStatusNames[] = { - STR_STOPPING_0, // VEHICLE_STATUS_MOVING_TO_END_OF_STATION - STR_WAITING_FOR_PASSENGERS, // VEHICLE_STATUS_WAITING_FOR_PASSENGERS - STR_WAITING_TO_START, // VEHICLE_STATUS_WAITING_TO_DEPART - STR_STARTING, // VEHICLE_STATUS_DEPARTING - STR_OPERATING, // VEHICLE_STATUS_TRAVELLING - STR_STOPPING_1, // VEHICLE_STATUS_ARRIVING - STR_UNLOADING_PASSENGERS, // VEHICLE_STATUS_UNLOADING_PASSENGERS + STR_STOPPING_0, // VEHICLE_STATUS_MOVING_TO_END_OF_STATION + STR_WAITING_FOR_PASSENGERS, // VEHICLE_STATUS_WAITING_FOR_PASSENGERS + STR_WAITING_TO_START, // VEHICLE_STATUS_WAITING_TO_DEPART + STR_STARTING, // VEHICLE_STATUS_DEPARTING + STR_OPERATING, // VEHICLE_STATUS_TRAVELLING + STR_STOPPING_1, // VEHICLE_STATUS_ARRIVING + STR_UNLOADING_PASSENGERS, // VEHICLE_STATUS_UNLOADING_PASSENGERS }; static const rct_string_id MusicStyleNames[] = { - STR_MUSIC_STYLE_DODGEMS_BEAT, - STR_MUSIC_STYLE_FAIRGROUND_ORGAN, - STR_MUSIC_STYLE_ROMAN_FANFARE, - STR_MUSIC_STYLE_ORIENTAL, - STR_MUSIC_STYLE_MARTIAN, - STR_MUSIC_STYLE_JUNGLE_DRUMS, - STR_MUSIC_STYLE_EGYPTIAN, - STR_MUSIC_STYLE_TOYLAND, - STR_MUSIC_STYLE_CIRCUS_SHOW, - STR_MUSIC_STYLE_SPACE, - STR_MUSIC_STYLE_HORROR, - STR_MUSIC_STYLE_TECHNO, - STR_MUSIC_STYLE_GENTLE, - STR_MUSIC_STYLE_SUMMER, - STR_MUSIC_STYLE_WATER, - STR_MUSIC_STYLE_WILD_WEST, - STR_MUSIC_STYLE_JURASSIC, - STR_MUSIC_STYLE_ROCK, - STR_MUSIC_STYLE_RAGTIME, - STR_MUSIC_STYLE_FANTASY, - STR_MUSIC_STYLE_ROCK_STYLE_2, - STR_MUSIC_STYLE_ICE, - STR_MUSIC_STYLE_SNOW, - STR_MUSIC_STYLE_CUSTOM_MUSIC_1, - STR_MUSIC_STYLE_CUSTOM_MUSIC_2, - STR_MUSIC_STYLE_MEDIEVAL, - STR_MUSIC_STYLE_URBAN, - STR_MUSIC_STYLE_ORGAN, - STR_MUSIC_STYLE_MECHANICAL, - STR_MUSIC_STYLE_MODERN, - STR_MUSIC_STYLE_PIRATES, - STR_MUSIC_STYLE_ROCK_STYLE_3, - STR_MUSIC_STYLE_CANDY_STYLE, + STR_MUSIC_STYLE_DODGEMS_BEAT, + STR_MUSIC_STYLE_FAIRGROUND_ORGAN, + STR_MUSIC_STYLE_ROMAN_FANFARE, + STR_MUSIC_STYLE_ORIENTAL, + STR_MUSIC_STYLE_MARTIAN, + STR_MUSIC_STYLE_JUNGLE_DRUMS, + STR_MUSIC_STYLE_EGYPTIAN, + STR_MUSIC_STYLE_TOYLAND, + STR_MUSIC_STYLE_CIRCUS_SHOW, + STR_MUSIC_STYLE_SPACE, + STR_MUSIC_STYLE_HORROR, + STR_MUSIC_STYLE_TECHNO, + STR_MUSIC_STYLE_GENTLE, + STR_MUSIC_STYLE_SUMMER, + STR_MUSIC_STYLE_WATER, + STR_MUSIC_STYLE_WILD_WEST, + STR_MUSIC_STYLE_JURASSIC, + STR_MUSIC_STYLE_ROCK, + STR_MUSIC_STYLE_RAGTIME, + STR_MUSIC_STYLE_FANTASY, + STR_MUSIC_STYLE_ROCK_STYLE_2, + STR_MUSIC_STYLE_ICE, + STR_MUSIC_STYLE_SNOW, + STR_MUSIC_STYLE_CUSTOM_MUSIC_1, + STR_MUSIC_STYLE_CUSTOM_MUSIC_2, + STR_MUSIC_STYLE_MEDIEVAL, + STR_MUSIC_STYLE_URBAN, + STR_MUSIC_STYLE_ORGAN, + STR_MUSIC_STYLE_MECHANICAL, + STR_MUSIC_STYLE_MODERN, + STR_MUSIC_STYLE_PIRATES, + STR_MUSIC_STYLE_ROCK_STYLE_3, + STR_MUSIC_STYLE_CANDY_STYLE, }; typedef struct window_ride_maze_design_option { - rct_string_id text; - uint32 sprite; + rct_string_id text; + uint32 sprite; } window_ride_maze_design_option; static const window_ride_maze_design_option MazeOptions[] = { - { STR_RIDE_DESIGN_MAZE_BRICK_WALLS, SPR_RIDE_DESIGN_PREVIEW_MAZE_BRICK_WALLS }, - { STR_RIDE_DESIGN_MAZE_HEDGES, SPR_RIDE_DESIGN_PREVIEW_MAZE_HEDGES }, - { STR_RIDE_DESIGN_MAZE_ICE_BLOCKS, SPR_RIDE_DESIGN_PREVIEW_MAZE_ICE_BLOCKS }, - { STR_RIDE_DESIGN_MAZE_WOODEN_FENCES, SPR_RIDE_DESIGN_PREVIEW_MAZE_WOODEN_FENCES }, + { STR_RIDE_DESIGN_MAZE_BRICK_WALLS, SPR_RIDE_DESIGN_PREVIEW_MAZE_BRICK_WALLS }, + { STR_RIDE_DESIGN_MAZE_HEDGES, SPR_RIDE_DESIGN_PREVIEW_MAZE_HEDGES }, + { STR_RIDE_DESIGN_MAZE_ICE_BLOCKS, SPR_RIDE_DESIGN_PREVIEW_MAZE_ICE_BLOCKS }, + { STR_RIDE_DESIGN_MAZE_WOODEN_FENCES, SPR_RIDE_DESIGN_PREVIEW_MAZE_WOODEN_FENCES }, }; typedef struct window_ride_colour_preview { - uint32 track; - uint32 supports; + uint32 track; + uint32 supports; } window_ride_colour_preview; static const window_ride_colour_preview TrackColourPreviews[] = { - { SPR_RIDE_DESIGN_PREVIEW_SPIRAL_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_SPIRAL_ROLLER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_STAND_UP_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_STAND_UP_ROLLER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_SWINGING_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_SWINGING_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_INVERTED_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_INVERTED_ROLLER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_JUNIOR_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_JUNIOR_ROLLER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_MINIATURE_RAILWAY_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINIATURE_RAILWAY_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_MONORAIL_TRACK, SPR_RIDE_DESIGN_PREVIEW_MONORAIL_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_MINI_SUSPENDED_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINI_SUSPENDED_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_BOAT_RIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_BOAT_RIDE_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_WOODEN_WILD_MOUSE_TRACK, SPR_RIDE_DESIGN_PREVIEW_WOODEN_WILD_MOUSE_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_STEEPLECHASE_TRACK, SPR_RIDE_DESIGN_PREVIEW_STEEPLECHASE_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_CAR_RIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_CAR_RIDE_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_LAUNCHED_FREEFALL_TRACK, SPR_RIDE_DESIGN_PREVIEW_LAUNCHED_FREEFALL_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_BOBSLEIGH_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_BOBSLEIGH_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_OBSERVATION_TOWER_TRACK, SPR_RIDE_DESIGN_PREVIEW_OBSERVATION_TOWER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_LOOPING_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_LOOPING_ROLLER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_DINGHY_SLIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_DINGHY_SLIDE_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_MINE_TRAIN_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINE_TRAIN_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_CHAIRLIFT_TRACK, SPR_RIDE_DESIGN_PREVIEW_CHAIRLIFT_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_CORKSCREW_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_CORKSCREW_ROLLER_COASTER_SUPPORTS}, - { 0, 0 }, // MAZE - { SPR_RIDE_DESIGN_PREVIEW_SPIRAL_SLIDE_TRACK, 0}, - { SPR_RIDE_DESIGN_PREVIEW_GO_KARTS_TRACK, SPR_RIDE_DESIGN_PREVIEW_GO_KARTS_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_LOG_FLUME_TRACK, SPR_RIDE_DESIGN_PREVIEW_LOG_FLUME_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_RIVER_RAPIDS_TRACK, SPR_RIDE_DESIGN_PREVIEW_RIVER_RAPIDS_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_DODGEMS_TRACK, SPR_RIDE_DESIGN_PREVIEW_DODGEMS_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_PIRATE_SHIP_TRACK, SPR_RIDE_DESIGN_PREVIEW_PIRATE_SHIP_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_SWINGING_INVERTER_SHIP_TRACK, SPR_RIDE_DESIGN_PREVIEW_SWINGING_INVERTER_SHIP_SUPPORTS}, - { 0, 0 }, // FOOD_STALL - { 0, 0 }, // 1D - { 0, 0 }, // DRINK_STALL - { 0, 0 }, // 1F - { 0, 0 }, // SHOP - { 0, 0 }, // MERRY_GO_ROUND - { 0, 0 }, // 22 - { 0, 0 }, // INFORMATION_KIOSK - { 0, 0 }, // TOILETS - { SPR_RIDE_DESIGN_PREVIEW_FERRIS_WHEEL_TRACK, 0}, - { 0, 0 }, // MOTION_SIMULATOR - { 0, 0 }, // 3D_CINEMA - { SPR_RIDE_DESIGN_PREVIEW_TOP_SPIN_TRACK, 0}, - { 0, 0 }, // SPACE_RINGS - { SPR_RIDE_DESIGN_PREVIEW_REVERSE_FREEFALL_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_REVERSE_FREEFALL_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_LIFT_TRACK, 0}, - { SPR_RIDE_DESIGN_PREVIEW_VERTICAL_DROP_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_VERTICAL_DROP_ROLLER_COASTER_SUPPORTS}, - { 0, 0 }, // CASH_MACHINE - { 0, 0 }, // TWIST_TRACK - { 0, 0 }, // HAUNTED_HOUSE - { 0, 0 }, // FIRST_AID - { 0, 0 }, // CIRCUS_SHOW - { SPR_RIDE_DESIGN_PREVIEW_GHOST_TRAIN_TRACK, SPR_RIDE_DESIGN_PREVIEW_GHOST_TRAIN_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_TWISTER_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_TWISTER_ROLLER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_WOODEN_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_WOODEN_ROLLER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_SIDE_FRICTION_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_SIDE_FRICTION_ROLLER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_WILD_MOUSE_TRACK, SPR_RIDE_DESIGN_PREVIEW_WILD_MOUSE_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_MULTI_DIMENSION_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_MULTI_DIMENSION_ROLLER_COASTER_SUPPORTS}, - { 0, 0 }, // 38 - { SPR_RIDE_DESIGN_PREVIEW_FLYING_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_FLYING_ROLLER_COASTER_SUPPORTS}, - { 0, 0 }, // 3A - { SPR_RIDE_DESIGN_PREVIEW_VIRGINIA_REEL_TRACK, SPR_RIDE_DESIGN_PREVIEW_VIRGINIA_REEL_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_SPLASH_BOATS_TRACK, SPR_RIDE_DESIGN_PREVIEW_SPLASH_BOATS_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_MINI_HELICOPTERS_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINI_HELICOPTERS_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_LAY_DOWN_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_LAY_DOWN_ROLLER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_MONORAIL_TRACK, SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_MONORAIL_SUPPORTS}, - { 0, 0 }, // 40 - { SPR_RIDE_DESIGN_PREVIEW_REVERSER_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_REVERSER_ROLLER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_HEARTLINE_TWISTER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_HEARTLINE_TWISTER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_MINI_GOLF_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINI_GOLF_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_GIGA_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_GIGA_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_ROTO_DROP_TRACK, SPR_RIDE_DESIGN_PREVIEW_ROTO_DROP_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_FLYING_SAUCERS_TRACK, 0}, - { 0, 0 }, // CROOKED_HOUSE - { SPR_RIDE_DESIGN_PREVIEW_MONORAIL_CYCLES_TRACK, SPR_RIDE_DESIGN_PREVIEW_MONORAIL_CYCLES_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_COMPACT_INVERTED_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_COMPACT_INVERTED_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_WATER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_WATER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_AIR_POWERED_VERTICAL_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_AIR_POWERED_VERTICAL_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_INVERTED_HAIRPIN_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_INVERTED_HAIRPIN_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_MAGIC_CARPET_TRACK, SPR_RIDE_DESIGN_PREVIEW_MAGIC_CARPET_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_SUBMARINE_RIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_SUBMARINE_RIDE_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_RIVER_RAFTS_TRACK, SPR_RIDE_DESIGN_PREVIEW_RIVER_RAFTS_SUPPORTS}, - { 0, 0 }, // 50 - { 0, 0 }, // ENTERPRISE - { 0, 0 }, // 52 - { 0, 0 }, // 53 - { 0, 0 }, // 54 - { 0, 0 }, // 55 - { SPR_RIDE_DESIGN_PREVIEW_INVERTED_IMPULSE_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_INVERTED_IMPULSE_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_MINI_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINI_ROLLER_COASTER_SUPPORTS}, - { SPR_RIDE_DESIGN_PREVIEW_MINE_RIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINE_RIDE_SUPPORTS}, - { 0, 0 }, // 59 - { SPR_RIDE_DESIGN_PREVIEW_LIM_LAUNCHED_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_LIM_LAUNCHED_ROLLER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_SPIRAL_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_SPIRAL_ROLLER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_STAND_UP_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_STAND_UP_ROLLER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_SWINGING_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_SWINGING_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_INVERTED_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_INVERTED_ROLLER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_JUNIOR_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_JUNIOR_ROLLER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_MINIATURE_RAILWAY_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINIATURE_RAILWAY_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_MONORAIL_TRACK, SPR_RIDE_DESIGN_PREVIEW_MONORAIL_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_MINI_SUSPENDED_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINI_SUSPENDED_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_BOAT_RIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_BOAT_RIDE_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_WOODEN_WILD_MOUSE_TRACK, SPR_RIDE_DESIGN_PREVIEW_WOODEN_WILD_MOUSE_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_STEEPLECHASE_TRACK, SPR_RIDE_DESIGN_PREVIEW_STEEPLECHASE_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_CAR_RIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_CAR_RIDE_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_LAUNCHED_FREEFALL_TRACK, SPR_RIDE_DESIGN_PREVIEW_LAUNCHED_FREEFALL_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_BOBSLEIGH_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_BOBSLEIGH_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_OBSERVATION_TOWER_TRACK, SPR_RIDE_DESIGN_PREVIEW_OBSERVATION_TOWER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_LOOPING_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_LOOPING_ROLLER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_DINGHY_SLIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_DINGHY_SLIDE_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_MINE_TRAIN_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINE_TRAIN_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_CHAIRLIFT_TRACK, SPR_RIDE_DESIGN_PREVIEW_CHAIRLIFT_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_CORKSCREW_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_CORKSCREW_ROLLER_COASTER_SUPPORTS}, + { 0, 0 }, // MAZE + { SPR_RIDE_DESIGN_PREVIEW_SPIRAL_SLIDE_TRACK, 0}, + { SPR_RIDE_DESIGN_PREVIEW_GO_KARTS_TRACK, SPR_RIDE_DESIGN_PREVIEW_GO_KARTS_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_LOG_FLUME_TRACK, SPR_RIDE_DESIGN_PREVIEW_LOG_FLUME_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_RIVER_RAPIDS_TRACK, SPR_RIDE_DESIGN_PREVIEW_RIVER_RAPIDS_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_DODGEMS_TRACK, SPR_RIDE_DESIGN_PREVIEW_DODGEMS_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_PIRATE_SHIP_TRACK, SPR_RIDE_DESIGN_PREVIEW_PIRATE_SHIP_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_SWINGING_INVERTER_SHIP_TRACK, SPR_RIDE_DESIGN_PREVIEW_SWINGING_INVERTER_SHIP_SUPPORTS}, + { 0, 0 }, // FOOD_STALL + { 0, 0 }, // 1D + { 0, 0 }, // DRINK_STALL + { 0, 0 }, // 1F + { 0, 0 }, // SHOP + { 0, 0 }, // MERRY_GO_ROUND + { 0, 0 }, // 22 + { 0, 0 }, // INFORMATION_KIOSK + { 0, 0 }, // TOILETS + { SPR_RIDE_DESIGN_PREVIEW_FERRIS_WHEEL_TRACK, 0}, + { 0, 0 }, // MOTION_SIMULATOR + { 0, 0 }, // 3D_CINEMA + { SPR_RIDE_DESIGN_PREVIEW_TOP_SPIN_TRACK, 0}, + { 0, 0 }, // SPACE_RINGS + { SPR_RIDE_DESIGN_PREVIEW_REVERSE_FREEFALL_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_REVERSE_FREEFALL_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_LIFT_TRACK, 0}, + { SPR_RIDE_DESIGN_PREVIEW_VERTICAL_DROP_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_VERTICAL_DROP_ROLLER_COASTER_SUPPORTS}, + { 0, 0 }, // CASH_MACHINE + { 0, 0 }, // TWIST_TRACK + { 0, 0 }, // HAUNTED_HOUSE + { 0, 0 }, // FIRST_AID + { 0, 0 }, // CIRCUS_SHOW + { SPR_RIDE_DESIGN_PREVIEW_GHOST_TRAIN_TRACK, SPR_RIDE_DESIGN_PREVIEW_GHOST_TRAIN_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_TWISTER_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_TWISTER_ROLLER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_WOODEN_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_WOODEN_ROLLER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_SIDE_FRICTION_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_SIDE_FRICTION_ROLLER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_WILD_MOUSE_TRACK, SPR_RIDE_DESIGN_PREVIEW_WILD_MOUSE_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_MULTI_DIMENSION_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_MULTI_DIMENSION_ROLLER_COASTER_SUPPORTS}, + { 0, 0 }, // 38 + { SPR_RIDE_DESIGN_PREVIEW_FLYING_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_FLYING_ROLLER_COASTER_SUPPORTS}, + { 0, 0 }, // 3A + { SPR_RIDE_DESIGN_PREVIEW_VIRGINIA_REEL_TRACK, SPR_RIDE_DESIGN_PREVIEW_VIRGINIA_REEL_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_SPLASH_BOATS_TRACK, SPR_RIDE_DESIGN_PREVIEW_SPLASH_BOATS_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_MINI_HELICOPTERS_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINI_HELICOPTERS_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_LAY_DOWN_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_LAY_DOWN_ROLLER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_MONORAIL_TRACK, SPR_RIDE_DESIGN_PREVIEW_SUSPENDED_MONORAIL_SUPPORTS}, + { 0, 0 }, // 40 + { SPR_RIDE_DESIGN_PREVIEW_REVERSER_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_REVERSER_ROLLER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_HEARTLINE_TWISTER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_HEARTLINE_TWISTER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_MINI_GOLF_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINI_GOLF_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_GIGA_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_GIGA_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_ROTO_DROP_TRACK, SPR_RIDE_DESIGN_PREVIEW_ROTO_DROP_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_FLYING_SAUCERS_TRACK, 0}, + { 0, 0 }, // CROOKED_HOUSE + { SPR_RIDE_DESIGN_PREVIEW_MONORAIL_CYCLES_TRACK, SPR_RIDE_DESIGN_PREVIEW_MONORAIL_CYCLES_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_COMPACT_INVERTED_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_COMPACT_INVERTED_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_WATER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_WATER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_AIR_POWERED_VERTICAL_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_AIR_POWERED_VERTICAL_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_INVERTED_HAIRPIN_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_INVERTED_HAIRPIN_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_MAGIC_CARPET_TRACK, SPR_RIDE_DESIGN_PREVIEW_MAGIC_CARPET_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_SUBMARINE_RIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_SUBMARINE_RIDE_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_RIVER_RAFTS_TRACK, SPR_RIDE_DESIGN_PREVIEW_RIVER_RAFTS_SUPPORTS}, + { 0, 0 }, // 50 + { 0, 0 }, // ENTERPRISE + { 0, 0 }, // 52 + { 0, 0 }, // 53 + { 0, 0 }, // 54 + { 0, 0 }, // 55 + { SPR_RIDE_DESIGN_PREVIEW_INVERTED_IMPULSE_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_INVERTED_IMPULSE_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_MINI_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINI_ROLLER_COASTER_SUPPORTS}, + { SPR_RIDE_DESIGN_PREVIEW_MINE_RIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINE_RIDE_SUPPORTS}, + { 0, 0 }, // 59 + { SPR_RIDE_DESIGN_PREVIEW_LIM_LAUNCHED_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_LIM_LAUNCHED_ROLLER_COASTER_SUPPORTS}, }; typedef struct rct_window_graphs_y_axis { - uint8 interval; - sint8 unit; - sint8 unit_interval; - rct_string_id label; + uint8 interval; + sint8 unit; + sint8 unit_interval; + rct_string_id label; } rct_window_graphs_y_axis; /** rct2: 0x0098DD98 */ static const rct_window_graphs_y_axis window_graphs_y_axi[] = { - {11, 0, 10, STR_RIDE_STATS_VELOCITY_FORMAT}, // GRAPH_VELOCITY - {10, 0, 15, STR_RIDE_STATS_ALTITUDE_FORMAT}, // GRAPH_ALTITUDE - {13, -3, 1, STR_RIDE_STATS_G_FORCE_FORMAT}, // GRAPH_VERTICAL - {13, -4, 1, STR_RIDE_STATS_G_FORCE_FORMAT}, // GRAPH_LATERAL + {11, 0, 10, STR_RIDE_STATS_VELOCITY_FORMAT}, // GRAPH_VELOCITY + {10, 0, 15, STR_RIDE_STATS_ALTITUDE_FORMAT}, // GRAPH_ALTITUDE + {13, -3, 1, STR_RIDE_STATS_G_FORCE_FORMAT}, // GRAPH_VERTICAL + {13, -4, 1, STR_RIDE_STATS_G_FORCE_FORMAT}, // GRAPH_LATERAL }; static void window_ride_draw_tab_image(rct_drawpixelinfo *dpi, rct_window *w, sint32 page, sint32 spriteIndex) { - rct_widgetindex widgetIndex = WIDX_TAB_1 + page; + rct_widgetindex widgetIndex = WIDX_TAB_1 + page; - if (!(w->disabled_widgets & (1LL << widgetIndex))) { - if (w->page == page) { - sint32 frame = w->frame_no / window_ride_tab_animation_divisor[w->page]; - spriteIndex += (frame % window_ride_tab_animation_frames[w->page]); - } + if (!(w->disabled_widgets & (1LL << widgetIndex))) { + if (w->page == page) { + sint32 frame = w->frame_no / window_ride_tab_animation_divisor[w->page]; + spriteIndex += (frame % window_ride_tab_animation_frames[w->page]); + } - gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); - } + gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); + } } /** @@ -1238,32 +1238,32 @@ static void window_ride_draw_tab_image(rct_drawpixelinfo *dpi, rct_window *w, si */ static void window_ride_draw_tab_main(rct_drawpixelinfo *dpi, rct_window *w) { - rct_widgetindex widgetIndex = WIDX_TAB_1 + WINDOW_RIDE_PAGE_MAIN; + rct_widgetindex widgetIndex = WIDX_TAB_1 + WINDOW_RIDE_PAGE_MAIN; - if (!(w->disabled_widgets & (1LL << widgetIndex))) { - sint32 spriteIndex = 0; - sint32 rideType = get_ride(w->number)->type; + if (!(w->disabled_widgets & (1LL << widgetIndex))) { + sint32 spriteIndex = 0; + sint32 rideType = get_ride(w->number)->type; - switch (gRideClassifications[rideType]) { - case RIDE_CLASS_RIDE: - spriteIndex = SPR_TAB_RIDE_0; - if (w->page == WINDOW_RIDE_PAGE_MAIN) - spriteIndex += (w->frame_no / 4) % 16; - break; - case RIDE_CLASS_SHOP_OR_STALL: - spriteIndex = SPR_TAB_SHOPS_AND_STALLS_0; - if (w->page == WINDOW_RIDE_PAGE_MAIN) - spriteIndex += (w->frame_no / 4) % 16; - break; - case RIDE_CLASS_KIOSK_OR_FACILITY: - spriteIndex = SPR_TAB_KIOSKS_AND_FACILITIES_0; - if (w->page == WINDOW_RIDE_PAGE_MAIN) - spriteIndex += (w->frame_no / 4) % 8; - break; - } + switch (gRideClassifications[rideType]) { + case RIDE_CLASS_RIDE: + spriteIndex = SPR_TAB_RIDE_0; + if (w->page == WINDOW_RIDE_PAGE_MAIN) + spriteIndex += (w->frame_no / 4) % 16; + break; + case RIDE_CLASS_SHOP_OR_STALL: + spriteIndex = SPR_TAB_SHOPS_AND_STALLS_0; + if (w->page == WINDOW_RIDE_PAGE_MAIN) + spriteIndex += (w->frame_no / 4) % 16; + break; + case RIDE_CLASS_KIOSK_OR_FACILITY: + spriteIndex = SPR_TAB_KIOSKS_AND_FACILITIES_0; + if (w->page == WINDOW_RIDE_PAGE_MAIN) + spriteIndex += (w->frame_no / 4) % 8; + break; + } - gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); - } + gfx_draw_sprite(dpi, spriteIndex, w->x + w->widgets[widgetIndex].left, w->y + w->widgets[widgetIndex].top, 0); + } } /** @@ -1272,57 +1272,57 @@ static void window_ride_draw_tab_main(rct_drawpixelinfo *dpi, rct_window *w) */ static void window_ride_draw_tab_vehicle(rct_drawpixelinfo *dpi, rct_window *w) { - rct_widgetindex widgetIndex = WIDX_TAB_1 + WINDOW_RIDE_PAGE_VEHICLE; - rct_widget *widget = &w->widgets[widgetIndex]; + rct_widgetindex widgetIndex = WIDX_TAB_1 + WINDOW_RIDE_PAGE_VEHICLE; + rct_widget *widget = &w->widgets[widgetIndex]; - if (!(w->disabled_widgets & (1LL << widgetIndex))) { - sint32 x = widget->left + 1; - sint32 y = widget->top + 1; - sint32 width = widget->right - x; - sint32 height = widget->bottom - 3 - y; - if (w->page == WINDOW_RIDE_PAGE_VEHICLE) - height += 4; + if (!(w->disabled_widgets & (1LL << widgetIndex))) { + sint32 x = widget->left + 1; + sint32 y = widget->top + 1; + sint32 width = widget->right - x; + sint32 height = widget->bottom - 3 - y; + if (w->page == WINDOW_RIDE_PAGE_VEHICLE) + height += 4; - x += w->x; - y += w->y; + x += w->x; + y += w->y; - rct_drawpixelinfo clipDPI; - if (!clip_drawpixelinfo(&clipDPI, dpi, x, y, width, height)) { - return; - } + rct_drawpixelinfo clipDPI; + if (!clip_drawpixelinfo(&clipDPI, dpi, x, y, width, height)) { + return; + } - x = (widget->right - widget->left) / 2; - y = (widget->bottom - widget->top) - 12; + x = (widget->right - widget->left) / 2; + y = (widget->bottom - widget->top) - 12; - rct_ride *ride = get_ride(w->number); + rct_ride *ride = get_ride(w->number); - rct_ride_entry *rideEntry = get_ride_entry_by_ride(ride); - if (rideEntry->flags & RIDE_ENTRY_FLAG_VEHICLE_TAB_SCALE_HALF) { - clipDPI.zoom_level = 1; - clipDPI.width *= 2; - clipDPI.height *= 2; - x *= 2; - y *= 2; - clipDPI.x *= 2; - clipDPI.y *= 2; - } + rct_ride_entry *rideEntry = get_ride_entry_by_ride(ride); + if (rideEntry->flags & RIDE_ENTRY_FLAG_VEHICLE_TAB_SCALE_HALF) { + clipDPI.zoom_level = 1; + clipDPI.width *= 2; + clipDPI.height *= 2; + x *= 2; + y *= 2; + clipDPI.x *= 2; + clipDPI.y *= 2; + } - const uint8 vehicle = ride_entry_get_vehicle_at_position(ride->subtype, ride->num_cars_per_train, rideEntry->tab_vehicle); - rct_ride_entry_vehicle* rideVehicleEntry = &rideEntry->vehicles[vehicle]; + const uint8 vehicle = ride_entry_get_vehicle_at_position(ride->subtype, ride->num_cars_per_train, rideEntry->tab_vehicle); + rct_ride_entry_vehicle* rideVehicleEntry = &rideEntry->vehicles[vehicle]; - vehicle_colour vehicleColour = ride_get_vehicle_colour(ride, 0); - sint32 spriteIndex = 32; - if (w->page == WINDOW_RIDE_PAGE_VEHICLE) - spriteIndex += w->frame_no; - spriteIndex /= (rideVehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_11) ? 4 : 2; - spriteIndex &= rideVehicleEntry->rotation_frame_mask; - spriteIndex *= rideVehicleEntry->var_16; - spriteIndex += rideVehicleEntry->base_image_id; - spriteIndex |= (vehicleColour.additional_1 << 24) | (vehicleColour.main << 19); - spriteIndex |= 0x80000000; + vehicle_colour vehicleColour = ride_get_vehicle_colour(ride, 0); + sint32 spriteIndex = 32; + if (w->page == WINDOW_RIDE_PAGE_VEHICLE) + spriteIndex += w->frame_no; + spriteIndex /= (rideVehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_11) ? 4 : 2; + spriteIndex &= rideVehicleEntry->rotation_frame_mask; + spriteIndex *= rideVehicleEntry->var_16; + spriteIndex += rideVehicleEntry->base_image_id; + spriteIndex |= (vehicleColour.additional_1 << 24) | (vehicleColour.main << 19); + spriteIndex |= 0x80000000; - gfx_draw_sprite(&clipDPI, spriteIndex, x, y, vehicleColour.additional_2); - } + gfx_draw_sprite(&clipDPI, spriteIndex, x, y, vehicleColour.additional_2); + } } /** @@ -1331,20 +1331,20 @@ static void window_ride_draw_tab_vehicle(rct_drawpixelinfo *dpi, rct_window *w) */ static void window_ride_draw_tab_customer(rct_drawpixelinfo *dpi, rct_window *w) { - rct_widgetindex widgetIndex = WIDX_TAB_1 + WINDOW_RIDE_PAGE_CUSTOMER; + rct_widgetindex widgetIndex = WIDX_TAB_1 + WINDOW_RIDE_PAGE_CUSTOMER; - if (!(w->disabled_widgets & (1LL << widgetIndex))) { - rct_widget *widget = &w->widgets[widgetIndex]; - sint32 spriteIndex = 0; - if (w->page == WINDOW_RIDE_PAGE_CUSTOMER) - spriteIndex = w->var_492 & ~3; + if (!(w->disabled_widgets & (1LL << widgetIndex))) { + rct_widget *widget = &w->widgets[widgetIndex]; + sint32 spriteIndex = 0; + if (w->page == WINDOW_RIDE_PAGE_CUSTOMER) + spriteIndex = w->var_492 & ~3; - spriteIndex += g_peep_animation_entries[PEEP_SPRITE_TYPE_NORMAL].sprite_animation->base_image; - spriteIndex += 1; - spriteIndex |= 0xA9E00000; + spriteIndex += g_peep_animation_entries[PEEP_SPRITE_TYPE_NORMAL].sprite_animation->base_image; + spriteIndex += 1; + spriteIndex |= 0xA9E00000; - gfx_draw_sprite(dpi, spriteIndex, w->x + (widget->left + widget->right) / 2, w->y + widget->bottom - 6, 0); - } + gfx_draw_sprite(dpi, spriteIndex, w->x + (widget->left + widget->right) / 2, w->y + widget->bottom - 6, 0); + } } /** @@ -1353,16 +1353,16 @@ static void window_ride_draw_tab_customer(rct_drawpixelinfo *dpi, rct_window *w) */ static void window_ride_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) { - window_ride_draw_tab_vehicle(dpi, w); - window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_OPERATING, SPR_TAB_GEARS_0); - window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_MAINTENANCE, SPR_TAB_WRENCH_0); - window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_INCOME, SPR_TAB_ADMISSION_0); - window_ride_draw_tab_main(dpi, w); - window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_MEASUREMENTS, SPR_TAB_TIMER_0); - window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_COLOUR, SPR_TAB_PAINT_0); - window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_GRAPHS, SPR_TAB_GRAPH_A_0); - window_ride_draw_tab_customer(dpi, w); - window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_MUSIC, SPR_TAB_MUSIC_0); + window_ride_draw_tab_vehicle(dpi, w); + window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_OPERATING, SPR_TAB_GEARS_0); + window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_MAINTENANCE, SPR_TAB_WRENCH_0); + window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_INCOME, SPR_TAB_ADMISSION_0); + window_ride_draw_tab_main(dpi, w); + window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_MEASUREMENTS, SPR_TAB_TIMER_0); + window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_COLOUR, SPR_TAB_PAINT_0); + window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_GRAPHS, SPR_TAB_GRAPH_A_0); + window_ride_draw_tab_customer(dpi, w); + window_ride_draw_tab_image(dpi, w, WINDOW_RIDE_PAGE_MUSIC, SPR_TAB_MUSIC_0); } /** @@ -1371,102 +1371,102 @@ static void window_ride_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) */ static void window_ride_disable_tabs(rct_window *w) { - uint32 disabled_tabs = 0; - rct_ride *ride = get_ride(w->number & 0xFF); + uint32 disabled_tabs = 0; + rct_ride *ride = get_ride(w->number & 0xFF); - uint8 ride_type = ride->type; // ecx + uint8 ride_type = ride->type; // ecx - if (!ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_HAS_DATA_LOGGING)) - disabled_tabs |= (1 << WIDX_TAB_8); // 0x800 + if (!ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_HAS_DATA_LOGGING)) + disabled_tabs |= (1 << WIDX_TAB_8); // 0x800 - if (ride_type == RIDE_TYPE_MINI_GOLF) - disabled_tabs |= (1 << WIDX_TAB_2 | 1 << WIDX_TAB_3 | 1 << WIDX_TAB_4); // 0xE0 + if (ride_type == RIDE_TYPE_MINI_GOLF) + disabled_tabs |= (1 << WIDX_TAB_2 | 1 << WIDX_TAB_3 | 1 << WIDX_TAB_4); // 0xE0 - if (ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_NO_VEHICLES)) - disabled_tabs |= (1 << WIDX_TAB_2); // 0x20 + if (ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_NO_VEHICLES)) + disabled_tabs |= (1 << WIDX_TAB_2); // 0x20 - if ( - !ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN) && - !ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL) && - !ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS) && - !ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS) && - !(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT) - ) { - disabled_tabs |= (1 << WIDX_TAB_5); // 0x100 - } + if ( + !ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN) && + !ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL) && + !ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS) && + !ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS) && + !(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT) + ) { + disabled_tabs |= (1 << WIDX_TAB_5); // 0x100 + } - if (ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_IS_SHOP)) - disabled_tabs |= (1 << WIDX_TAB_3 | 1 << WIDX_TAB_4 | 1 << WIDX_TAB_7); // 0x4C0 + if (ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_IS_SHOP)) + disabled_tabs |= (1 << WIDX_TAB_3 | 1 << WIDX_TAB_4 | 1 << WIDX_TAB_7); // 0x4C0 - if (!(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_MUSIC)) { - disabled_tabs |= (1 << WIDX_TAB_6); // 0x200 - } + if (!(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_MUSIC)) { + disabled_tabs |= (1 << WIDX_TAB_6); // 0x200 + } - if (ride_type == RIDE_TYPE_CASH_MACHINE || - ride_type == RIDE_TYPE_FIRST_AID || - (gParkFlags & PARK_FLAGS_NO_MONEY) != 0) - disabled_tabs |= (1 << WIDX_TAB_9); // 0x1000 + if (ride_type == RIDE_TYPE_CASH_MACHINE || + ride_type == RIDE_TYPE_FIRST_AID || + (gParkFlags & PARK_FLAGS_NO_MONEY) != 0) + disabled_tabs |= (1 << WIDX_TAB_9); // 0x1000 - if ((gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) != 0) - disabled_tabs |= (1 << WIDX_TAB_4 | 1 << WIDX_TAB_6 | 1 << WIDX_TAB_9 | 1 << WIDX_TAB_10); // 0x3280 + if ((gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) != 0) + disabled_tabs |= (1 << WIDX_TAB_4 | 1 << WIDX_TAB_6 | 1 << WIDX_TAB_9 | 1 << WIDX_TAB_10); // 0x3280 - rct_ride_entry *type = get_ride_entry(ride->subtype); + rct_ride_entry *type = get_ride_entry(ride->subtype); - if (type == NULL) { - disabled_tabs |= 1 << WIDX_TAB_2 | 1 << WIDX_TAB_3 | 1 << WIDX_TAB_4 | 1 << WIDX_TAB_5 | 1 << WIDX_TAB_6 - | 1 << WIDX_TAB_7 | 1 << WIDX_TAB_8 | 1 << WIDX_TAB_9 | 1 << WIDX_TAB_10; - } else if ((type->flags & RIDE_ENTRY_FLAG_DISABLE_COLOUR_TAB) != 0) - disabled_tabs |= (1 << WIDX_TAB_5); // 0x100 + if (type == NULL) { + disabled_tabs |= 1 << WIDX_TAB_2 | 1 << WIDX_TAB_3 | 1 << WIDX_TAB_4 | 1 << WIDX_TAB_5 | 1 << WIDX_TAB_6 + | 1 << WIDX_TAB_7 | 1 << WIDX_TAB_8 | 1 << WIDX_TAB_9 | 1 << WIDX_TAB_10; + } else if ((type->flags & RIDE_ENTRY_FLAG_DISABLE_COLOUR_TAB) != 0) + disabled_tabs |= (1 << WIDX_TAB_5); // 0x100 - w->disabled_widgets = disabled_tabs; + w->disabled_widgets = disabled_tabs; } static void window_ride_update_overall_view(uint8 ride_index) { - // Calculate x, y, z bounds of the entire ride using its track elements - map_element_iterator it; + // Calculate x, y, z bounds of the entire ride using its track elements + map_element_iterator it; - map_element_iterator_begin(&it); + map_element_iterator_begin(&it); - sint32 minx = INT_MAX, miny = INT_MAX, minz = INT_MAX; - sint32 maxx = INT_MIN, maxy = INT_MIN, maxz = INT_MIN; + sint32 minx = INT_MAX, miny = INT_MAX, minz = INT_MAX; + sint32 maxx = INT_MIN, maxy = INT_MIN, maxz = INT_MIN; - while (map_element_iterator_next(&it)) { - if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_TRACK) - continue; + while (map_element_iterator_next(&it)) { + if (map_element_get_type(it.element) != MAP_ELEMENT_TYPE_TRACK) + continue; - if (it.element->properties.track.ride_index != ride_index) - continue; + if (it.element->properties.track.ride_index != ride_index) + continue; - sint32 x = it.x * 32; - sint32 y = it.y * 32; - sint32 z1 = it.element->base_height * 8; - sint32 z2 = it.element->clearance_height * 8; + sint32 x = it.x * 32; + sint32 y = it.y * 32; + sint32 z1 = it.element->base_height * 8; + sint32 z2 = it.element->clearance_height * 8; - minx = min(minx, x); - miny = min(miny, y); - minz = min(minz, z1); + minx = min(minx, x); + miny = min(miny, y); + minz = min(minz, z1); - maxx = max(maxx, x); - maxy = max(maxy, y); - maxz = max(maxz, z2); - } + maxx = max(maxx, x); + maxy = max(maxy, y); + maxz = max(maxz, z2); + } - ride_overall_view *view = &ride_overall_views[ride_index]; - view->x = (minx + maxx) / 2; - view->y = (miny + maxy) / 2; - view->z = (minz + maxz) / 2 + 8; + ride_overall_view *view = &ride_overall_views[ride_index]; + view->x = (minx + maxx) / 2; + view->y = (miny + maxy) / 2; + view->z = (minz + maxz) / 2 + 8; - // Calculate size to determine from how far away to view the ride - sint32 dx = maxx - minx; - sint32 dy = maxy - miny; - sint32 dz = maxz - minz; + // Calculate size to determine from how far away to view the ride + sint32 dx = maxx - minx; + sint32 dy = maxy - miny; + sint32 dz = maxz - minz; - sint32 size = (sint32) sqrt(dx*dx + dy*dy + dz*dz); + sint32 size = (sint32) sqrt(dx*dx + dy*dy + dz*dz); - // Each farther zoom level shows twice as many tiles (log) - // Appropriate zoom is lowered by one to fill the entire view with the ride - double zoom = ceil(log(size / 80)) - 1; - view->zoom = (uint8)clamp(0, zoom, 3); + // Each farther zoom level shows twice as many tiles (log) + // Appropriate zoom is lowered by one to fill the entire view with the ride + double zoom = ceil(log(size / 80)) - 1; + view->zoom = (uint8)clamp(0, zoom, 3); } /** @@ -1475,42 +1475,42 @@ static void window_ride_update_overall_view(uint8 ride_index) { */ static rct_window *window_ride_open(sint32 rideIndex) { - rct_window *w; - rct_ride *ride; - uint8 *rideEntryIndexPtr; - sint32 numSubTypes; + rct_window *w; + rct_ride *ride; + uint8 *rideEntryIndexPtr; + sint32 numSubTypes; - w = window_create_auto_pos(316, 207, window_ride_page_events[0], WC_RIDE, WF_10 | WF_RESIZABLE); - w->widgets = window_ride_page_widgets[WINDOW_RIDE_PAGE_MAIN]; - w->enabled_widgets = window_ride_page_enabled_widgets[WINDOW_RIDE_PAGE_MAIN]; - w->number = rideIndex; + w = window_create_auto_pos(316, 207, window_ride_page_events[0], WC_RIDE, WF_10 | WF_RESIZABLE); + w->widgets = window_ride_page_widgets[WINDOW_RIDE_PAGE_MAIN]; + w->enabled_widgets = window_ride_page_enabled_widgets[WINDOW_RIDE_PAGE_MAIN]; + w->number = rideIndex; - w->page = 0; - w->var_48C = 0; - w->frame_no = 0; - w->list_information_type = 0; - w->var_492 = 0; - w->ride_colour = 0; - window_ride_disable_tabs(w); - w->min_width = 316; - w->min_height = 180; - w->max_width = 500; - w->max_height = 450; + w->page = 0; + w->var_48C = 0; + w->frame_no = 0; + w->list_information_type = 0; + w->var_492 = 0; + w->ride_colour = 0; + window_ride_disable_tabs(w); + w->min_width = 316; + w->min_height = 180; + w->max_width = 500; + w->max_height = 450; - ride = get_ride(rideIndex); - _rideType = ride->type; - numSubTypes = 0; - rideEntryIndexPtr = get_ride_entry_indices_for_ride_type(ride->type); - for (; *rideEntryIndexPtr != 0xFF; rideEntryIndexPtr++) { - if (ride_entry_is_invented(*rideEntryIndexPtr)) { - numSubTypes++; - } - } - w->var_496 = numSubTypes; + ride = get_ride(rideIndex); + _rideType = ride->type; + numSubTypes = 0; + rideEntryIndexPtr = get_ride_entry_indices_for_ride_type(ride->type); + for (; *rideEntryIndexPtr != 0xFF; rideEntryIndexPtr++) { + if (ride_entry_is_invented(*rideEntryIndexPtr)) { + numSubTypes++; + } + } + w->var_496 = numSubTypes; - window_ride_update_overall_view((uint8) rideIndex); + window_ride_update_overall_view((uint8) rideIndex); - return w; + return w; } /** @@ -1519,29 +1519,29 @@ static rct_window *window_ride_open(sint32 rideIndex) */ rct_window *window_ride_main_open(sint32 rideIndex) { - rct_window *w; + rct_window *w; - w = window_bring_to_front_by_number(WC_RIDE, rideIndex); - if (w == NULL) { - w = window_ride_open(rideIndex); - w->ride.var_482 = -1; - } + w = window_bring_to_front_by_number(WC_RIDE, rideIndex); + if (w == NULL) { + w = window_ride_open(rideIndex); + w->ride.var_482 = -1; + } - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) { - if (w->classification == gCurrentToolWidget.window_classification && - w->number == gCurrentToolWidget.window_number - ) { - tool_cancel(); - } - } + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) { + if (w->classification == gCurrentToolWidget.window_classification && + w->number == gCurrentToolWidget.window_number + ) { + tool_cancel(); + } + } - if (w->page != WINDOW_RIDE_PAGE_MAIN) { - window_ride_set_page(w, WINDOW_RIDE_PAGE_MAIN); - } + if (w->page != WINDOW_RIDE_PAGE_MAIN) { + window_ride_set_page(w, WINDOW_RIDE_PAGE_MAIN); + } - w->ride.view = 0; - window_ride_init_viewport(w); - return w; + w->ride.view = 0; + window_ride_init_viewport(w); + return w; } /** @@ -1550,68 +1550,68 @@ rct_window *window_ride_main_open(sint32 rideIndex) */ rct_window *window_ride_open_station(sint32 rideIndex, sint32 stationIndex) { - sint32 i; - rct_ride *ride; - rct_window *w; + sint32 i; + rct_ride *ride; + rct_window *w; - ride = get_ride(rideIndex); + ride = get_ride(rideIndex); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)) - return window_ride_main_open(rideIndex); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)) + return window_ride_main_open(rideIndex); - w = window_bring_to_front_by_number(WC_RIDE, rideIndex); - if (w == NULL) { - w = window_ride_open(rideIndex); - w->ride.var_482 = -1; - } + w = window_bring_to_front_by_number(WC_RIDE, rideIndex); + if (w == NULL) { + w = window_ride_open(rideIndex); + w->ride.var_482 = -1; + } - if ( - input_test_flag(INPUT_FLAG_TOOL_ACTIVE) && - gCurrentToolWidget.window_classification == w->classification && - gCurrentToolWidget.window_number == w->number - ) { - tool_cancel(); - } - _rideType = ride->type; + if ( + input_test_flag(INPUT_FLAG_TOOL_ACTIVE) && + gCurrentToolWidget.window_classification == w->classification && + gCurrentToolWidget.window_number == w->number + ) { + tool_cancel(); + } + _rideType = ride->type; - w->page = WINDOW_RIDE_PAGE_MAIN; - w->width = 316; - w->height = 180; - window_invalidate(w); + w->page = WINDOW_RIDE_PAGE_MAIN; + w->width = 316; + w->height = 180; + window_invalidate(w); - w->widgets = window_ride_page_widgets[w->page]; - w->enabled_widgets = window_ride_page_enabled_widgets[w->page]; - w->hold_down_widgets = window_ride_page_hold_down_widgets[w->page]; - w->event_handlers = window_ride_page_events[w->page]; - w->pressed_widgets = 0; - window_ride_disable_tabs(w); - window_init_scroll_widgets(w); + w->widgets = window_ride_page_widgets[w->page]; + w->enabled_widgets = window_ride_page_enabled_widgets[w->page]; + w->hold_down_widgets = window_ride_page_hold_down_widgets[w->page]; + w->event_handlers = window_ride_page_events[w->page]; + w->pressed_widgets = 0; + window_ride_disable_tabs(w); + window_init_scroll_widgets(w); - // View - for (i = stationIndex; i >= 0; i--) { - if (ride->station_starts[i] == 0xFFFF) - stationIndex--; - } + // View + for (i = stationIndex; i >= 0; i--) { + if (ride->station_starts[i] == 0xFFFF) + stationIndex--; + } - w->ride.view = 1 + ride->num_vehicles + stationIndex; - window_ride_init_viewport(w); + w->ride.view = 1 + ride->num_vehicles + stationIndex; + window_ride_init_viewport(w); - return w; + return w; } rct_window *window_ride_open_track(rct_map_element *mapElement) { - sint32 rideIndex = mapElement->properties.track.ride_index; - if ( - (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE) || - (TrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN) - ) { - // Open ride window in station view - return window_ride_open_station(rideIndex, map_get_station(mapElement)); - } else { - // Open ride window in overview mode. - return window_ride_main_open(rideIndex); - } + sint32 rideIndex = mapElement->properties.track.ride_index; + if ( + (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE) || + (TrackSequenceProperties[mapElement->properties.track.type][0] & TRACK_SEQUENCE_FLAG_ORIGIN) + ) { + // Open ride window in station view + return window_ride_open_station(rideIndex, map_get_station(mapElement)); + } else { + // Open ride window in overview mode. + return window_ride_main_open(rideIndex); + } } /** @@ -1620,82 +1620,82 @@ rct_window *window_ride_open_track(rct_map_element *mapElement) */ rct_window *window_ride_open_vehicle(rct_vehicle *vehicle) { - rct_vehicle *headVehicle = vehicle_get_head(vehicle); - uint16 headVehicleSpriteIndex = headVehicle->sprite_index; - sint32 rideIndex = headVehicle->ride; - rct_ride *ride = get_ride(rideIndex); + rct_vehicle *headVehicle = vehicle_get_head(vehicle); + uint16 headVehicleSpriteIndex = headVehicle->sprite_index; + sint32 rideIndex = headVehicle->ride; + rct_ride *ride = get_ride(rideIndex); - // Get view index - sint32 view = 1; - for (sint32 i = 0; i < 32; i++) { - if (ride->vehicles[i] == headVehicleSpriteIndex) - break; + // Get view index + sint32 view = 1; + for (sint32 i = 0; i < 32; i++) { + if (ride->vehicles[i] == headVehicleSpriteIndex) + break; - view++; - } + view++; + } - rct_window *w = window_find_by_number(WC_RIDE, rideIndex); - if (w != NULL) { - window_invalidate(w); + rct_window *w = window_find_by_number(WC_RIDE, rideIndex); + if (w != NULL) { + window_invalidate(w); - if ( - input_test_flag(INPUT_FLAG_TOOL_ACTIVE) && - gCurrentToolWidget.window_classification == w->classification && - gCurrentToolWidget.window_number == w->number - ) { - tool_cancel(); - } + if ( + input_test_flag(INPUT_FLAG_TOOL_ACTIVE) && + gCurrentToolWidget.window_classification == w->classification && + gCurrentToolWidget.window_number == w->number + ) { + tool_cancel(); + } - sint32 openedPeepWindow = 0; - if (w->ride.view == view) { - sint32 numPeepsLeft = vehicle->num_peeps; - for (sint32 i = 0; i < 32 && numPeepsLeft > 0; i++) { - uint16 peepSpriteIndex = vehicle->peep[i]; - if (peepSpriteIndex == SPRITE_INDEX_NULL) - continue; + sint32 openedPeepWindow = 0; + if (w->ride.view == view) { + sint32 numPeepsLeft = vehicle->num_peeps; + for (sint32 i = 0; i < 32 && numPeepsLeft > 0; i++) { + uint16 peepSpriteIndex = vehicle->peep[i]; + if (peepSpriteIndex == SPRITE_INDEX_NULL) + continue; - numPeepsLeft--; - rct_window *w2 = window_find_by_number(WC_PEEP, peepSpriteIndex); - if (w2 == NULL) { - rct_peep *peep = &(get_sprite(peepSpriteIndex)->peep); - window_guest_open(peep); - openedPeepWindow = 1; + numPeepsLeft--; + rct_window *w2 = window_find_by_number(WC_PEEP, peepSpriteIndex); + if (w2 == NULL) { + rct_peep *peep = &(get_sprite(peepSpriteIndex)->peep); + window_guest_open(peep); + openedPeepWindow = 1; - break; - } - } - } + break; + } + } + } - w = openedPeepWindow ? - window_find_by_number(WC_RIDE, rideIndex) : - window_bring_to_front_by_number(WC_RIDE, rideIndex); - } + w = openedPeepWindow ? + window_find_by_number(WC_RIDE, rideIndex) : + window_bring_to_front_by_number(WC_RIDE, rideIndex); + } - if (w == NULL) { - w = window_ride_open(rideIndex); - w->ride.var_482 = -1; - } + if (w == NULL) { + w = window_ride_open(rideIndex); + w->ride.var_482 = -1; + } - _rideType = ride->type; - w->page = WINDOW_RIDE_PAGE_MAIN; - w->width = 316; - w->height = 180; - window_invalidate(w); + _rideType = ride->type; + w->page = WINDOW_RIDE_PAGE_MAIN; + w->width = 316; + w->height = 180; + window_invalidate(w); - w->widgets = window_ride_page_widgets[w->page]; - w->enabled_widgets = window_ride_page_enabled_widgets[w->page]; - w->hold_down_widgets = window_ride_page_hold_down_widgets[w->page]; - w->event_handlers = window_ride_page_events[w->page]; - w->pressed_widgets = 0; - window_ride_disable_tabs(w); - window_init_scroll_widgets(w); + w->widgets = window_ride_page_widgets[w->page]; + w->enabled_widgets = window_ride_page_enabled_widgets[w->page]; + w->hold_down_widgets = window_ride_page_hold_down_widgets[w->page]; + w->event_handlers = window_ride_page_events[w->page]; + w->pressed_widgets = 0; + window_ride_disable_tabs(w); + window_init_scroll_widgets(w); - w->ride.view = view; - window_ride_init_viewport(w); - window_invalidate(w); + w->ride.view = view; + window_ride_init_viewport(w); + window_invalidate(w); - return w; + return w; } /** @@ -1704,65 +1704,65 @@ rct_window *window_ride_open_vehicle(rct_vehicle *vehicle) */ static void window_ride_set_page(rct_window *w, sint32 page) { - sint32 listen; + sint32 listen; - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) - if (w->classification == gCurrentToolWidget.window_classification && w->number == gCurrentToolWidget.window_number) - tool_cancel(); + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) + if (w->classification == gCurrentToolWidget.window_classification && w->number == gCurrentToolWidget.window_number) + tool_cancel(); - // Set listen only to viewport - listen = 0; - if (page == WINDOW_RIDE_PAGE_MAIN && w->page == WINDOW_RIDE_PAGE_MAIN && w->viewport != NULL && !(w->viewport->flags & VIEWPORT_FLAG_SOUND_ON)) - listen++; + // Set listen only to viewport + listen = 0; + if (page == WINDOW_RIDE_PAGE_MAIN && w->page == WINDOW_RIDE_PAGE_MAIN && w->viewport != NULL && !(w->viewport->flags & VIEWPORT_FLAG_SOUND_ON)) + listen++; - w->page = page; - w->frame_no = 0; - w->var_492 = 0; + w->page = page; + w->frame_no = 0; + w->var_492 = 0; - //There doesn't seem to be any need for this call, and it can sometimes modify the reported number of cars per train, so I've removed it - //if (page == WINDOW_RIDE_PAGE_VEHICLE) { - //ride_update_max_vehicles(w->number); - //} + //There doesn't seem to be any need for this call, and it can sometimes modify the reported number of cars per train, so I've removed it + //if (page == WINDOW_RIDE_PAGE_VEHICLE) { + //ride_update_max_vehicles(w->number); + //} - if (w->viewport != NULL) { - w->viewport->width = 0; - w->viewport = NULL; - } + if (w->viewport != NULL) { + w->viewport->width = 0; + w->viewport = NULL; + } - w->enabled_widgets = window_ride_page_enabled_widgets[page]; - w->hold_down_widgets = window_ride_page_hold_down_widgets[page]; - w->event_handlers = window_ride_page_events[page]; - w->pressed_widgets = 0; - w->widgets = window_ride_page_widgets[page]; - window_ride_disable_tabs(w); - window_invalidate(w); + w->enabled_widgets = window_ride_page_enabled_widgets[page]; + w->hold_down_widgets = window_ride_page_hold_down_widgets[page]; + w->event_handlers = window_ride_page_events[page]; + w->pressed_widgets = 0; + w->widgets = window_ride_page_widgets[page]; + window_ride_disable_tabs(w); + window_invalidate(w); - window_event_resize_call(w); - window_event_invalidate_call(w); - window_init_scroll_widgets(w); - window_invalidate(w); + window_event_resize_call(w); + window_event_invalidate_call(w); + window_init_scroll_widgets(w); + window_invalidate(w); - if (listen != 0 && w->viewport != NULL) - w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; + if (listen != 0 && w->viewport != NULL) + w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; } static void window_ride_set_pressed_tab(rct_window *w) { - sint32 i; - for (i = 0; i < WINDOW_RIDE_PAGE_COUNT; i++) - w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); - w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); + sint32 i; + for (i = 0; i < WINDOW_RIDE_PAGE_COUNT; i++) + w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); + w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); } static void window_ride_anchor_border_widgets(rct_window *w) { - w->widgets[WIDX_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_TITLE].right = w->width - 2; - w->widgets[WIDX_CLOSE].left = w->width - 13; - w->widgets[WIDX_CLOSE].right = w->width - 3; + w->widgets[WIDX_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_TITLE].right = w->width - 2; + w->widgets[WIDX_CLOSE].left = w->width - 13; + w->widgets[WIDX_CLOSE].right = w->width - 3; } #pragma region Main @@ -1773,127 +1773,127 @@ static void window_ride_anchor_border_widgets(rct_window *w) */ static void window_ride_init_viewport(rct_window *w) { - if (w->page != WINDOW_RIDE_PAGE_MAIN) return; + if (w->page != WINDOW_RIDE_PAGE_MAIN) return; - rct_ride* ride = get_ride(w->number); - sint32 eax = w->viewport_focus_coordinates.var_480 - 1; + rct_ride* ride = get_ride(w->number); + sint32 eax = w->viewport_focus_coordinates.var_480 - 1; - union{ - sprite_focus sprite; - coordinate_focus coordinate; - } focus; + union{ + sprite_focus sprite; + coordinate_focus coordinate; + } focus; - focus.coordinate.x = 0; - focus.coordinate.y = 0; - focus.coordinate.z = 0; - focus.sprite.sprite_id = -1; - focus.coordinate.zoom = 0; - focus.coordinate.rotation = get_current_rotation(); - focus.coordinate.width = 0; - focus.coordinate.height = 0; + focus.coordinate.x = 0; + focus.coordinate.y = 0; + focus.coordinate.z = 0; + focus.sprite.sprite_id = -1; + focus.coordinate.zoom = 0; + focus.coordinate.rotation = get_current_rotation(); + focus.coordinate.width = 0; + focus.coordinate.height = 0; - if (eax >= 0 && eax < ride->num_vehicles && ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK){ - focus.sprite.sprite_id = ride->vehicles[eax]; + if (eax >= 0 && eax < ride->num_vehicles && ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK){ + focus.sprite.sprite_id = ride->vehicles[eax]; - rct_ride_entry* ride_entry = get_ride_entry_by_ride(ride); - if (ride_entry && ride_entry->tab_vehicle != 0){ - rct_vehicle* vehicle = GET_VEHICLE(focus.sprite.sprite_id); - focus.sprite.sprite_id = vehicle->next_vehicle_on_train; - } - focus.sprite.type |= 0xC0; - } - else if (eax >= ride->num_vehicles && eax < (ride->num_vehicles + ride->num_stations)){ - sint32 stationIndex = -1; - sint32 count = eax - ride->num_vehicles; - do { - stationIndex++; - if (ride->station_starts[stationIndex] != 0xFFFF) - count--; - } while (count >= 0); + rct_ride_entry* ride_entry = get_ride_entry_by_ride(ride); + if (ride_entry && ride_entry->tab_vehicle != 0){ + rct_vehicle* vehicle = GET_VEHICLE(focus.sprite.sprite_id); + focus.sprite.sprite_id = vehicle->next_vehicle_on_train; + } + focus.sprite.type |= 0xC0; + } + else if (eax >= ride->num_vehicles && eax < (ride->num_vehicles + ride->num_stations)){ + sint32 stationIndex = -1; + sint32 count = eax - ride->num_vehicles; + do { + stationIndex++; + if (ride->station_starts[stationIndex] != 0xFFFF) + count--; + } while (count >= 0); - eax = ride->station_starts[stationIndex]; + eax = ride->station_starts[stationIndex]; - focus.coordinate.x = (eax & 0xFF) << 5; - focus.coordinate.y = (eax & 0xFF00) >> 3; - focus.coordinate.z = ride->station_heights[stationIndex] << 3; - focus.sprite.type |= 0x40; - } - else{ - if (eax > 0){ - w->viewport_focus_coordinates.var_480 = 0; - } + focus.coordinate.x = (eax & 0xFF) << 5; + focus.coordinate.y = (eax & 0xFF00) >> 3; + focus.coordinate.z = ride->station_heights[stationIndex] << 3; + focus.sprite.type |= 0x40; + } + else{ + if (eax > 0){ + w->viewport_focus_coordinates.var_480 = 0; + } - ride_overall_view *view = &ride_overall_views[w->number]; + ride_overall_view *view = &ride_overall_views[w->number]; - focus.coordinate.x = view->x; - focus.coordinate.y = view->y; - focus.coordinate.z = view->z; - focus.coordinate.zoom = view->zoom; + focus.coordinate.x = view->x; + focus.coordinate.y = view->y; + focus.coordinate.z = view->z; + focus.coordinate.zoom = view->zoom; - focus.sprite.type |= 0x40; - } - focus.coordinate.var_480 = w->viewport_focus_coordinates.var_480; + focus.sprite.type |= 0x40; + } + focus.coordinate.var_480 = w->viewport_focus_coordinates.var_480; - uint16 viewport_flags = 0; + uint16 viewport_flags = 0; - if (w->viewport != NULL) { - if (focus.coordinate.x == w->viewport_focus_coordinates.x && - focus.coordinate.y == w->viewport_focus_coordinates.y && - focus.coordinate.z == w->viewport_focus_coordinates.z && - focus.coordinate.rotation == w->viewport_focus_coordinates.rotation && - focus.coordinate.zoom == w->viewport_focus_coordinates.zoom && - focus.coordinate.width == w->width && - focus.coordinate.height == w->height - ) { - return; - } - viewport_flags = w->viewport->flags; - w->viewport->width = 0; - w->viewport = NULL; + if (w->viewport != NULL) { + if (focus.coordinate.x == w->viewport_focus_coordinates.x && + focus.coordinate.y == w->viewport_focus_coordinates.y && + focus.coordinate.z == w->viewport_focus_coordinates.z && + focus.coordinate.rotation == w->viewport_focus_coordinates.rotation && + focus.coordinate.zoom == w->viewport_focus_coordinates.zoom && + focus.coordinate.width == w->width && + focus.coordinate.height == w->height + ) { + return; + } + viewport_flags = w->viewport->flags; + w->viewport->width = 0; + w->viewport = NULL; - viewport_update_pointers(); - } else if (gConfigGeneral.always_show_gridlines) { - viewport_flags |= VIEWPORT_FLAG_GRIDLINES; - } + viewport_update_pointers(); + } else if (gConfigGeneral.always_show_gridlines) { + viewport_flags |= VIEWPORT_FLAG_GRIDLINES; + } - window_event_invalidate_call(w); + window_event_invalidate_call(w); - w->viewport_focus_coordinates.x = focus.coordinate.x; - w->viewport_focus_coordinates.y = focus.coordinate.y; - w->viewport_focus_coordinates.z = focus.coordinate.z; - w->viewport_focus_coordinates.rotation = focus.coordinate.rotation; - w->viewport_focus_coordinates.zoom = focus.coordinate.zoom; - w->viewport_focus_coordinates.width = w->width; - w->viewport_focus_coordinates.height = w->height; + w->viewport_focus_coordinates.x = focus.coordinate.x; + w->viewport_focus_coordinates.y = focus.coordinate.y; + w->viewport_focus_coordinates.z = focus.coordinate.z; + w->viewport_focus_coordinates.rotation = focus.coordinate.rotation; + w->viewport_focus_coordinates.zoom = focus.coordinate.zoom; + w->viewport_focus_coordinates.width = w->width; + w->viewport_focus_coordinates.height = w->height; - //rct2: 0x006aec9c only used here so brought it into the function - if (!w->viewport && ride->overall_view != 0xFFFF){ - rct_widget* view_widget = &w->widgets[WIDX_VIEWPORT]; + //rct2: 0x006aec9c only used here so brought it into the function + if (!w->viewport && ride->overall_view != 0xFFFF){ + rct_widget* view_widget = &w->widgets[WIDX_VIEWPORT]; - sint32 x = view_widget->left + 1 + w->x; - sint32 y = view_widget->top + 1 + w->y; - sint32 width = view_widget->right - view_widget->left - 1; - sint32 height = view_widget->bottom - view_widget->top - 1; - viewport_create( - w, - x, - y, - width, - height, - focus.coordinate.zoom, - focus.coordinate.x, - focus.coordinate.y & VIEWPORT_FOCUS_Y_MASK, - focus.coordinate.z, - focus.sprite.type & VIEWPORT_FOCUS_TYPE_MASK, - focus.sprite.sprite_id); + sint32 x = view_widget->left + 1 + w->x; + sint32 y = view_widget->top + 1 + w->y; + sint32 width = view_widget->right - view_widget->left - 1; + sint32 height = view_widget->bottom - view_widget->top - 1; + viewport_create( + w, + x, + y, + width, + height, + focus.coordinate.zoom, + focus.coordinate.x, + focus.coordinate.y & VIEWPORT_FOCUS_Y_MASK, + focus.coordinate.z, + focus.sprite.type & VIEWPORT_FOCUS_TYPE_MASK, + focus.sprite.sprite_id); - w->flags |= WF_NO_SCROLLING; - window_invalidate(w); - } - if (w->viewport){ - w->viewport->flags = viewport_flags; - window_invalidate(w); - } + w->flags |= WF_NO_SCROLLING; + window_invalidate(w); + } + if (w->viewport){ + w->viewport->flags = viewport_flags; + window_invalidate(w); + } } /** @@ -1902,11 +1902,11 @@ static void window_ride_init_viewport(rct_window *w) */ static void window_ride_rename(rct_window *w) { - rct_ride *ride; + rct_ride *ride; - ride = get_ride(w->number); - set_format_arg(16, uint32, ride->name_arguments); - window_text_input_open(w, WIDX_RENAME, STR_RIDE_ATTRACTION_NAME, STR_ENTER_NEW_NAME_FOR_THIS_RIDE_ATTRACTION, ride->name, ride->name_arguments, 32); + ride = get_ride(w->number); + set_format_arg(16, uint32, ride->name_arguments); + window_text_input_open(w, WIDX_RENAME, STR_RIDE_ATTRACTION_NAME, STR_ENTER_NEW_NAME_FOR_THIS_RIDE_ATTRACTION, ride->name, ride->name_arguments, 32); } /** @@ -1915,69 +1915,69 @@ static void window_ride_rename(rct_window *w) */ static void window_ride_main_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - uint8 rideIndex; - rct_ride *ride; - sint32 status; + uint8 rideIndex; + rct_ride *ride; + sint32 status; - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - case WIDX_TAB_8: - case WIDX_TAB_9: - case WIDX_TAB_10: - window_ride_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_CONSTRUCTION: - rideIndex = (uint8)w->number; - ride_construct(rideIndex); - if (window_find_by_number(WC_RIDE_CONSTRUCTION, rideIndex) != NULL) { - window_close(w); - } - break; - case WIDX_RENAME: - window_ride_rename(w); - break; - case WIDX_LOCATE: - window_scroll_to_viewport(w); - break; - case WIDX_DEMOLISH: - window_ride_demolish_prompt_open(w->number); - break; - case WIDX_CLOSE_LIGHT: - case WIDX_TEST_LIGHT: - case WIDX_OPEN_LIGHT: + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + case WIDX_TAB_8: + case WIDX_TAB_9: + case WIDX_TAB_10: + window_ride_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_CONSTRUCTION: + rideIndex = (uint8)w->number; + ride_construct(rideIndex); + if (window_find_by_number(WC_RIDE_CONSTRUCTION, rideIndex) != NULL) { + window_close(w); + } + break; + case WIDX_RENAME: + window_ride_rename(w); + break; + case WIDX_LOCATE: + window_scroll_to_viewport(w); + break; + case WIDX_DEMOLISH: + window_ride_demolish_prompt_open(w->number); + break; + case WIDX_CLOSE_LIGHT: + case WIDX_TEST_LIGHT: + case WIDX_OPEN_LIGHT: - ride = get_ride(w->number); + ride = get_ride(w->number); - switch (widgetIndex) { - default: - case WIDX_CLOSE_LIGHT: - status = RIDE_STATUS_CLOSED; - gGameCommandErrorTitle = STR_CANT_CLOSE; - break; - case WIDX_TEST_LIGHT: - status = RIDE_STATUS_TESTING; - gGameCommandErrorTitle = STR_CANT_TEST; - break; - case WIDX_OPEN_LIGHT: - status = RIDE_STATUS_OPEN; - gGameCommandErrorTitle = STR_CANT_OPEN; - break; - } + switch (widgetIndex) { + default: + case WIDX_CLOSE_LIGHT: + status = RIDE_STATUS_CLOSED; + gGameCommandErrorTitle = STR_CANT_CLOSE; + break; + case WIDX_TEST_LIGHT: + status = RIDE_STATUS_TESTING; + gGameCommandErrorTitle = STR_CANT_TEST; + break; + case WIDX_OPEN_LIGHT: + status = RIDE_STATUS_OPEN; + gGameCommandErrorTitle = STR_CANT_OPEN; + break; + } - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); - ride_set_status(w->number, status); - break; - } + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); + ride_set_status(w->number, status); + break; + } } /** @@ -1986,13 +1986,13 @@ static void window_ride_main_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ static void window_ride_main_resize(rct_window *w) { - const sint32 offset = gCheatsAllowArbitraryRideTypeChanges ? 15 : 0; - w->flags |= WF_RESIZABLE; - sint32 minHeight = 180 + offset; - if (theme_get_flags() & UITHEME_FLAG_USE_LIGHTS_RIDE) - minHeight = 200 + offset + RCT1_LIGHT_OFFSET - (ride_type_has_flag(get_ride(w->number)->type, RIDE_TYPE_FLAG_NO_TEST_MODE) ? 14 : 0); - window_set_resize(w, 316, minHeight, 500, 450); - window_ride_init_viewport(w); + const sint32 offset = gCheatsAllowArbitraryRideTypeChanges ? 15 : 0; + w->flags |= WF_RESIZABLE; + sint32 minHeight = 180 + offset; + if (theme_get_flags() & UITHEME_FLAG_USE_LIGHTS_RIDE) + minHeight = 200 + offset + RCT1_LIGHT_OFFSET - (ride_type_has_flag(get_ride(w->number)->type, RIDE_TYPE_FLAG_NO_TEST_MODE) ? 14 : 0); + window_set_resize(w, 316, minHeight, 500, 450); + window_ride_init_viewport(w); } /** @@ -2001,58 +2001,58 @@ static void window_ride_main_resize(rct_window *w) */ static void window_ride_show_view_dropdown(rct_window *w, rct_widget *widget) { - rct_widget *dropdownWidget = widget - 1; - rct_ride *ride = get_ride(w->number); + rct_widget *dropdownWidget = widget - 1; + rct_ride *ride = get_ride(w->number); - sint32 numItems = 1; - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)) { - numItems += ride->num_stations; - numItems += ride->num_vehicles; - } + sint32 numItems = 1; + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)) { + numItems += ride->num_stations; + numItems += ride->num_vehicles; + } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - 0, - numItems, - widget->right - dropdownWidget->left - ); + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + 0, + numItems, + widget->right - dropdownWidget->left + ); - // First item - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_OVERALL_VIEW; - sint32 currentItem = 1; + // First item + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_OVERALL_VIEW; + sint32 currentItem = 1; - // Vehicles - sint32 name = RideComponentNames[RideNameConvention[ride->type].vehicle].number; - for (sint32 i = 1; i <= ride->num_vehicles; i++) { - gDropdownItemsFormat[currentItem] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[currentItem] = name | (currentItem << 16); - currentItem++; - } + // Vehicles + sint32 name = RideComponentNames[RideNameConvention[ride->type].vehicle].number; + for (sint32 i = 1; i <= ride->num_vehicles; i++) { + gDropdownItemsFormat[currentItem] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[currentItem] = name | (currentItem << 16); + currentItem++; + } - // Stations - name = RideComponentNames[RideNameConvention[ride->type].station].number; - for (sint32 i = 1; i <= ride->num_stations; i++) { - gDropdownItemsFormat[currentItem] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[currentItem] = name | (i << 16); - currentItem++; - } + // Stations + name = RideComponentNames[RideNameConvention[ride->type].station].number; + for (sint32 i = 1; i <= ride->num_stations; i++) { + gDropdownItemsFormat[currentItem] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[currentItem] = name | (i << 16); + currentItem++; + } - // Set highlighted item - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) { - sint32 j = 2; - for (sint32 i = 0; i < ride->num_vehicles; i++) { - gDropdownItemsDisabled |= j; - j <<= 1; - } - } + // Set highlighted item + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) { + sint32 j = 2; + for (sint32 i = 0; i < ride->num_vehicles; i++) { + gDropdownItemsDisabled |= j; + j <<= 1; + } + } - // Set checked item - dropdown_set_checked(w->ride.view, true); + // Set checked item + dropdown_set_checked(w->ride.view, true); } /** @@ -2061,74 +2061,74 @@ static void window_ride_show_view_dropdown(rct_window *w, rct_widget *widget) */ static void window_ride_show_open_dropdown(rct_window *w, rct_widget *widget) { - rct_ride *ride; - sint32 numItems, highlightedIndex = 0, checkedIndex; + rct_ride *ride; + sint32 numItems, highlightedIndex = 0, checkedIndex; - ride = get_ride(w->number); + ride = get_ride(w->number); - numItems = 0; - gDropdownItemsFormat[numItems] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[numItems] = STR_CLOSE_RIDE; - numItems++; + numItems = 0; + gDropdownItemsFormat[numItems] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[numItems] = STR_CLOSE_RIDE; + numItems++; - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE)) { - gDropdownItemsFormat[numItems] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[numItems] = STR_TEST_RIDE; - numItems++; - } + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE)) { + gDropdownItemsFormat[numItems] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[numItems] = STR_TEST_RIDE; + numItems++; + } - gDropdownItemsFormat[numItems] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[numItems] = STR_OPEN_RIDE; - numItems++; + gDropdownItemsFormat[numItems] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[numItems] = STR_OPEN_RIDE; + numItems++; - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - numItems - ); + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + numItems + ); - checkedIndex = ride->status; - switch (ride->status) { - case RIDE_STATUS_CLOSED: - highlightedIndex = 0; - if ((ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED) || (ride->lifecycle_flags & RIDE_LIFECYCLE_HAS_STALLED_VEHICLE)) - break; + checkedIndex = ride->status; + switch (ride->status) { + case RIDE_STATUS_CLOSED: + highlightedIndex = 0; + if ((ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED) || (ride->lifecycle_flags & RIDE_LIFECYCLE_HAS_STALLED_VEHICLE)) + break; - highlightedIndex = 2; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE)) - break; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED) - break; + highlightedIndex = 2; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE)) + break; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED) + break; - highlightedIndex = 1; - break; - case RIDE_STATUS_TESTING: - highlightedIndex = 2; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED) - break; + highlightedIndex = 1; + break; + case RIDE_STATUS_TESTING: + highlightedIndex = 2; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED) + break; - highlightedIndex = 0; - break; - case RIDE_STATUS_OPEN: - highlightedIndex = 0; - break; - } + highlightedIndex = 0; + break; + case RIDE_STATUS_OPEN: + highlightedIndex = 0; + break; + } - if (checkedIndex != RIDE_STATUS_CLOSED) - checkedIndex = 3 - checkedIndex; + if (checkedIndex != RIDE_STATUS_CLOSED) + checkedIndex = 3 - checkedIndex; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE)) { - if (checkedIndex != 0) - checkedIndex--; - if (highlightedIndex != 0) - highlightedIndex--; - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE)) { + if (checkedIndex != 0) + checkedIndex--; + if (highlightedIndex != 0) + highlightedIndex--; + } - dropdown_set_checked(checkedIndex, true); - gDropdownDefaultIndex = highlightedIndex; + dropdown_set_checked(checkedIndex, true); + gDropdownDefaultIndex = highlightedIndex; } /** @@ -2137,36 +2137,36 @@ static void window_ride_show_open_dropdown(rct_window *w, rct_widget *widget) */ static void window_ride_main_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - switch (widgetIndex) { - case WIDX_VIEW_DROPDOWN: - window_ride_show_view_dropdown(w, widget); - break; - case WIDX_OPEN: - window_ride_show_open_dropdown(w, widget); - break; - case WIDX_RIDE_TYPE_INCREASE: - if (_rideType >= 90) { - _rideType = 90; - } else { - _rideType++; - } - widget_invalidate(w, WIDX_RIDE_TYPE); - break; - case WIDX_RIDE_TYPE_DECREASE: - if (_rideType == 0) { - _rideType = 0; - } else { - _rideType--; - } - widget_invalidate(w, WIDX_RIDE_TYPE); - break; - case WIDX_RIDE_TYPE_APPLY: - if (_rideType <= 90) { - set_operating_setting(w->number, RIDE_SETTING_RIDE_TYPE, _rideType); - } - window_invalidate_all(); - break; - } + switch (widgetIndex) { + case WIDX_VIEW_DROPDOWN: + window_ride_show_view_dropdown(w, widget); + break; + case WIDX_OPEN: + window_ride_show_open_dropdown(w, widget); + break; + case WIDX_RIDE_TYPE_INCREASE: + if (_rideType >= 90) { + _rideType = 90; + } else { + _rideType++; + } + widget_invalidate(w, WIDX_RIDE_TYPE); + break; + case WIDX_RIDE_TYPE_DECREASE: + if (_rideType == 0) { + _rideType = 0; + } else { + _rideType--; + } + widget_invalidate(w, WIDX_RIDE_TYPE); + break; + case WIDX_RIDE_TYPE_APPLY: + if (_rideType <= 90) { + set_operating_setting(w->number, RIDE_SETTING_RIDE_TYPE, _rideType); + } + window_invalidate_all(); + break; + } } /** @@ -2175,54 +2175,54 @@ static void window_ride_main_mousedown(rct_widgetindex widgetIndex, rct_window * */ static void window_ride_main_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - rct_ride *ride; - sint32 status = 0; + rct_ride *ride; + sint32 status = 0; - switch (widgetIndex) { - case WIDX_VIEW_DROPDOWN: - if (dropdownIndex == -1) { - dropdownIndex = w->ride.view; - ride = get_ride(w->number); - dropdownIndex++; - if (dropdownIndex != 0 && dropdownIndex <= ride->num_vehicles && !(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) - dropdownIndex = ride->num_vehicles + 1; + switch (widgetIndex) { + case WIDX_VIEW_DROPDOWN: + if (dropdownIndex == -1) { + dropdownIndex = w->ride.view; + ride = get_ride(w->number); + dropdownIndex++; + if (dropdownIndex != 0 && dropdownIndex <= ride->num_vehicles && !(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) + dropdownIndex = ride->num_vehicles + 1; - if (dropdownIndex >= gDropdownNumItems) - dropdownIndex = 0; - } + if (dropdownIndex >= gDropdownNumItems) + dropdownIndex = 0; + } - w->ride.view = dropdownIndex; - window_ride_init_viewport(w); - window_invalidate(w); - break; - case WIDX_OPEN: - if (dropdownIndex == -1) - dropdownIndex = gDropdownHighlightedIndex; + w->ride.view = dropdownIndex; + window_ride_init_viewport(w); + window_invalidate(w); + break; + case WIDX_OPEN: + if (dropdownIndex == -1) + dropdownIndex = gDropdownHighlightedIndex; - ride = get_ride(w->number); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE) && dropdownIndex != 0) - dropdownIndex++; + ride = get_ride(w->number); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE) && dropdownIndex != 0) + dropdownIndex++; - switch (dropdownIndex) { - case 0: - status = RIDE_STATUS_CLOSED; - gGameCommandErrorTitle = STR_CANT_CLOSE; - break; - case 1: - status = RIDE_STATUS_TESTING; - gGameCommandErrorTitle = STR_CANT_TEST; - break; - case 2: - status = RIDE_STATUS_OPEN; - gGameCommandErrorTitle = STR_CANT_OPEN; - break; - } + switch (dropdownIndex) { + case 0: + status = RIDE_STATUS_CLOSED; + gGameCommandErrorTitle = STR_CANT_CLOSE; + break; + case 1: + status = RIDE_STATUS_TESTING; + gGameCommandErrorTitle = STR_CANT_TEST; + break; + case 2: + status = RIDE_STATUS_OPEN; + gGameCommandErrorTitle = STR_CANT_OPEN; + break; + } - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); - ride_set_status(w->number, status); - break; - } + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); + ride_set_status(w->number, status); + break; + } } /** @@ -2231,37 +2231,37 @@ static void window_ride_main_dropdown(rct_window *w, rct_widgetindex widgetIndex */ static void window_ride_main_update(rct_window *w) { - // Update tab animation - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_1); + // Update tab animation + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_1); - // Update status - rct_ride *ride = get_ride(w->number); - if (!(ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_MAIN)) { - if (w->ride.view == 0) - return; + // Update status + rct_ride *ride = get_ride(w->number); + if (!(ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_MAIN)) { + if (w->ride.view == 0) + return; - if (w->ride.view <= ride->num_vehicles) { - sint32 vehicleIndex = w->ride.view - 1; - uint16 vehicleSpriteIndex = ride->vehicles[vehicleIndex]; - if (vehicleSpriteIndex == SPRITE_INDEX_NULL) - return; + if (w->ride.view <= ride->num_vehicles) { + sint32 vehicleIndex = w->ride.view - 1; + uint16 vehicleSpriteIndex = ride->vehicles[vehicleIndex]; + if (vehicleSpriteIndex == SPRITE_INDEX_NULL) + return; - rct_vehicle *vehicle = &(get_sprite(vehicleSpriteIndex)->vehicle); - if ( - vehicle->status != 4 && - vehicle->status != 22 && - vehicle->status != 10 && - vehicle->status != 7 - ) { - return; - } - } - } + rct_vehicle *vehicle = &(get_sprite(vehicleSpriteIndex)->vehicle); + if ( + vehicle->status != 4 && + vehicle->status != 22 && + vehicle->status != 10 && + vehicle->status != 7 + ) { + return; + } + } + } - ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_MAIN; - widget_invalidate(w, WIDX_STATUS); + ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_MAIN; + widget_invalidate(w, WIDX_STATUS); } /** @@ -2270,10 +2270,10 @@ static void window_ride_main_update(rct_window *w) */ static void window_ride_main_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (widgetIndex != WIDX_RENAME || text == NULL) - return; + if (widgetIndex != WIDX_RENAME || text == NULL) + return; - ride_set_name(w->number, text); + ride_set_name(w->number, text); } /** @@ -2282,7 +2282,7 @@ static void window_ride_main_textinput(rct_window *w, rct_widgetindex widgetInde */ static void window_ride_main_unknown_14(rct_window *w) { - window_ride_init_viewport(w); + window_ride_init_viewport(w); } /** @@ -2291,115 +2291,115 @@ static void window_ride_main_unknown_14(rct_window *w) */ static void window_ride_main_invalidate(rct_window *w) { - rct_widget *widgets; - sint32 i, height; + rct_widget *widgets; + sint32 i, height; - widgets = window_ride_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_ride_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_ride_set_pressed_tab(w); + window_ride_set_pressed_tab(w); - rct_ride *ride = get_ride(w->number); - w->disabled_widgets &= ~((1 << WIDX_DEMOLISH) | (1 << WIDX_CONSTRUCTION)); - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_INDESTRUCTIBLE | RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK)) - w->disabled_widgets |= (1 << WIDX_DEMOLISH); + rct_ride *ride = get_ride(w->number); + w->disabled_widgets &= ~((1 << WIDX_DEMOLISH) | (1 << WIDX_CONSTRUCTION)); + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_INDESTRUCTIBLE | RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK)) + w->disabled_widgets |= (1 << WIDX_DEMOLISH); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); - set_format_arg(6, uint16, RideNaming[_rideType].name); - uint32 spriteIds[] = { - SPR_CLOSED, - SPR_OPEN, - SPR_TESTING, - }; - window_ride_main_widgets[WIDX_OPEN].image = spriteIds[ride->status]; + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); + set_format_arg(6, uint16, RideNaming[_rideType].name); + uint32 spriteIds[] = { + SPR_CLOSED, + SPR_OPEN, + SPR_TESTING, + }; + window_ride_main_widgets[WIDX_OPEN].image = spriteIds[ride->status]; - window_ride_main_widgets[WIDX_CLOSE_LIGHT].image = SPR_G2_RCT1_CLOSE_BUTTON_0 + (ride->status == RIDE_STATUS_CLOSED) * 2 + widget_is_pressed(w, WIDX_CLOSE_LIGHT); - window_ride_main_widgets[WIDX_TEST_LIGHT].image = SPR_G2_RCT1_TEST_BUTTON_0 + (ride->status == RIDE_STATUS_TESTING) * 2 + widget_is_pressed(w, WIDX_TEST_LIGHT); - window_ride_main_widgets[WIDX_OPEN_LIGHT].image = SPR_G2_RCT1_OPEN_BUTTON_0 + (ride->status == RIDE_STATUS_OPEN) * 2 + widget_is_pressed(w, WIDX_OPEN_LIGHT); + window_ride_main_widgets[WIDX_CLOSE_LIGHT].image = SPR_G2_RCT1_CLOSE_BUTTON_0 + (ride->status == RIDE_STATUS_CLOSED) * 2 + widget_is_pressed(w, WIDX_CLOSE_LIGHT); + window_ride_main_widgets[WIDX_TEST_LIGHT].image = SPR_G2_RCT1_TEST_BUTTON_0 + (ride->status == RIDE_STATUS_TESTING) * 2 + widget_is_pressed(w, WIDX_TEST_LIGHT); + window_ride_main_widgets[WIDX_OPEN_LIGHT].image = SPR_G2_RCT1_OPEN_BUTTON_0 + (ride->status == RIDE_STATUS_OPEN) * 2 + widget_is_pressed(w, WIDX_OPEN_LIGHT); - window_ride_anchor_border_widgets(w); + window_ride_anchor_border_widgets(w); - const sint32 offset = gCheatsAllowArbitraryRideTypeChanges ? 15 : 0; - // Anchor main page specific widgets - window_ride_main_widgets[WIDX_VIEWPORT].right = w->width - 26; - window_ride_main_widgets[WIDX_VIEWPORT].bottom = w->height - (14 + offset); - window_ride_main_widgets[WIDX_STATUS].right = w->width - 26; - window_ride_main_widgets[WIDX_STATUS].top = w->height - (13 + offset); - window_ride_main_widgets[WIDX_STATUS].bottom = w->height - (3 + offset); - window_ride_main_widgets[WIDX_VIEW].right = w->width - 60; - window_ride_main_widgets[WIDX_VIEW_DROPDOWN].right = w->width - 61; - window_ride_main_widgets[WIDX_VIEW_DROPDOWN].left = w->width - 71; - window_ride_main_widgets[WIDX_RIDE_TYPE].right = w->width - 87; - window_ride_main_widgets[WIDX_RIDE_TYPE].top = w->height - 17; - window_ride_main_widgets[WIDX_RIDE_TYPE].bottom = w->height - 4; - window_ride_main_widgets[WIDX_RIDE_TYPE_INCREASE].right = w->width - 88; - window_ride_main_widgets[WIDX_RIDE_TYPE_INCREASE].left = w->width - 98; - window_ride_main_widgets[WIDX_RIDE_TYPE_INCREASE].top = w->height - 16; - window_ride_main_widgets[WIDX_RIDE_TYPE_INCREASE].bottom = w->height - 11; - window_ride_main_widgets[WIDX_RIDE_TYPE_DECREASE].right = w->width - 88; - window_ride_main_widgets[WIDX_RIDE_TYPE_DECREASE].left = w->width - 98; - window_ride_main_widgets[WIDX_RIDE_TYPE_DECREASE].top = w->height - 10; - window_ride_main_widgets[WIDX_RIDE_TYPE_DECREASE].bottom = w->height - 5; - window_ride_main_widgets[WIDX_RIDE_TYPE_APPLY].left = w->width - 83; - window_ride_main_widgets[WIDX_RIDE_TYPE_APPLY].right = w->width - 26; - window_ride_main_widgets[WIDX_RIDE_TYPE_APPLY].top = w->height - 17; - window_ride_main_widgets[WIDX_RIDE_TYPE_APPLY].bottom = w->height - 4; + const sint32 offset = gCheatsAllowArbitraryRideTypeChanges ? 15 : 0; + // Anchor main page specific widgets + window_ride_main_widgets[WIDX_VIEWPORT].right = w->width - 26; + window_ride_main_widgets[WIDX_VIEWPORT].bottom = w->height - (14 + offset); + window_ride_main_widgets[WIDX_STATUS].right = w->width - 26; + window_ride_main_widgets[WIDX_STATUS].top = w->height - (13 + offset); + window_ride_main_widgets[WIDX_STATUS].bottom = w->height - (3 + offset); + window_ride_main_widgets[WIDX_VIEW].right = w->width - 60; + window_ride_main_widgets[WIDX_VIEW_DROPDOWN].right = w->width - 61; + window_ride_main_widgets[WIDX_VIEW_DROPDOWN].left = w->width - 71; + window_ride_main_widgets[WIDX_RIDE_TYPE].right = w->width - 87; + window_ride_main_widgets[WIDX_RIDE_TYPE].top = w->height - 17; + window_ride_main_widgets[WIDX_RIDE_TYPE].bottom = w->height - 4; + window_ride_main_widgets[WIDX_RIDE_TYPE_INCREASE].right = w->width - 88; + window_ride_main_widgets[WIDX_RIDE_TYPE_INCREASE].left = w->width - 98; + window_ride_main_widgets[WIDX_RIDE_TYPE_INCREASE].top = w->height - 16; + window_ride_main_widgets[WIDX_RIDE_TYPE_INCREASE].bottom = w->height - 11; + window_ride_main_widgets[WIDX_RIDE_TYPE_DECREASE].right = w->width - 88; + window_ride_main_widgets[WIDX_RIDE_TYPE_DECREASE].left = w->width - 98; + window_ride_main_widgets[WIDX_RIDE_TYPE_DECREASE].top = w->height - 10; + window_ride_main_widgets[WIDX_RIDE_TYPE_DECREASE].bottom = w->height - 5; + window_ride_main_widgets[WIDX_RIDE_TYPE_APPLY].left = w->width - 83; + window_ride_main_widgets[WIDX_RIDE_TYPE_APPLY].right = w->width - 26; + window_ride_main_widgets[WIDX_RIDE_TYPE_APPLY].top = w->height - 17; + window_ride_main_widgets[WIDX_RIDE_TYPE_APPLY].bottom = w->height - 4; - if (!gCheatsAllowArbitraryRideTypeChanges) { - window_ride_main_widgets[WIDX_RIDE_TYPE].type = WWT_EMPTY; - window_ride_main_widgets[WIDX_RIDE_TYPE_INCREASE].type = WWT_EMPTY; - window_ride_main_widgets[WIDX_RIDE_TYPE_DECREASE].type = WWT_EMPTY; - window_ride_main_widgets[WIDX_RIDE_TYPE_APPLY].type = WWT_EMPTY; - } else { - window_ride_main_widgets[WIDX_RIDE_TYPE].type = WWT_SPINNER; - window_ride_main_widgets[WIDX_RIDE_TYPE_INCREASE].type = WWT_DROPDOWN_BUTTON; - window_ride_main_widgets[WIDX_RIDE_TYPE_DECREASE].type = WWT_DROPDOWN_BUTTON; - window_ride_main_widgets[WIDX_RIDE_TYPE_APPLY].type = WWT_CLOSEBOX; - } + if (!gCheatsAllowArbitraryRideTypeChanges) { + window_ride_main_widgets[WIDX_RIDE_TYPE].type = WWT_EMPTY; + window_ride_main_widgets[WIDX_RIDE_TYPE_INCREASE].type = WWT_EMPTY; + window_ride_main_widgets[WIDX_RIDE_TYPE_DECREASE].type = WWT_EMPTY; + window_ride_main_widgets[WIDX_RIDE_TYPE_APPLY].type = WWT_EMPTY; + } else { + window_ride_main_widgets[WIDX_RIDE_TYPE].type = WWT_SPINNER; + window_ride_main_widgets[WIDX_RIDE_TYPE_INCREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_main_widgets[WIDX_RIDE_TYPE_DECREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_main_widgets[WIDX_RIDE_TYPE_APPLY].type = WWT_CLOSEBOX; + } - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); - if (theme_get_flags() & UITHEME_FLAG_USE_LIGHTS_RIDE) { - window_ride_main_widgets[WIDX_OPEN].type = WWT_EMPTY; - window_ride_main_widgets[WIDX_CLOSE_LIGHT].type = WWT_IMGBTN; - window_ride_main_widgets[WIDX_TEST_LIGHT].type = (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE) ? WWT_EMPTY : WWT_IMGBTN); - window_ride_main_widgets[WIDX_OPEN_LIGHT].type = WWT_IMGBTN; + if (theme_get_flags() & UITHEME_FLAG_USE_LIGHTS_RIDE) { + window_ride_main_widgets[WIDX_OPEN].type = WWT_EMPTY; + window_ride_main_widgets[WIDX_CLOSE_LIGHT].type = WWT_IMGBTN; + window_ride_main_widgets[WIDX_TEST_LIGHT].type = (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE) ? WWT_EMPTY : WWT_IMGBTN); + window_ride_main_widgets[WIDX_OPEN_LIGHT].type = WWT_IMGBTN; - height = 62; - if (window_ride_main_widgets[WIDX_TEST_LIGHT].type != WWT_EMPTY) { - window_ride_main_widgets[WIDX_TEST_LIGHT].top = height; - window_ride_main_widgets[WIDX_TEST_LIGHT].bottom = height + 13; - height += 14; - } - window_ride_main_widgets[WIDX_OPEN_LIGHT].top = height; - window_ride_main_widgets[WIDX_OPEN_LIGHT].bottom = height + 13; - height += 14 - 24 + RCT1_LIGHT_OFFSET; + height = 62; + if (window_ride_main_widgets[WIDX_TEST_LIGHT].type != WWT_EMPTY) { + window_ride_main_widgets[WIDX_TEST_LIGHT].top = height; + window_ride_main_widgets[WIDX_TEST_LIGHT].bottom = height + 13; + height += 14; + } + window_ride_main_widgets[WIDX_OPEN_LIGHT].top = height; + window_ride_main_widgets[WIDX_OPEN_LIGHT].bottom = height + 13; + height += 14 - 24 + RCT1_LIGHT_OFFSET; - w->min_height = 200 + RCT1_LIGHT_OFFSET - (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE) ? 14 : 0); - if (w->height < w->min_height) - window_event_resize_call(w); - } - else { - window_ride_main_widgets[WIDX_OPEN].type = WWT_FLATBTN; - window_ride_main_widgets[WIDX_CLOSE_LIGHT].type = WWT_EMPTY; - window_ride_main_widgets[WIDX_TEST_LIGHT].type = WWT_EMPTY; - window_ride_main_widgets[WIDX_OPEN_LIGHT].type = WWT_EMPTY; - height = 46; - } - for (i = WIDX_CLOSE_LIGHT; i <= WIDX_OPEN_LIGHT; i++) { - window_ride_main_widgets[i].left = w->width - 20; - window_ride_main_widgets[i].right = w->width - 7; - } - for (i = WIDX_OPEN; i <= WIDX_DEMOLISH; i++, height += 24) { - window_ride_main_widgets[i].left = w->width - 25; - window_ride_main_widgets[i].right = w->width - 2; - window_ride_main_widgets[i].top = height; - window_ride_main_widgets[i].bottom = height + 23; - } + w->min_height = 200 + RCT1_LIGHT_OFFSET - (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE) ? 14 : 0); + if (w->height < w->min_height) + window_event_resize_call(w); + } + else { + window_ride_main_widgets[WIDX_OPEN].type = WWT_FLATBTN; + window_ride_main_widgets[WIDX_CLOSE_LIGHT].type = WWT_EMPTY; + window_ride_main_widgets[WIDX_TEST_LIGHT].type = WWT_EMPTY; + window_ride_main_widgets[WIDX_OPEN_LIGHT].type = WWT_EMPTY; + height = 46; + } + for (i = WIDX_CLOSE_LIGHT; i <= WIDX_OPEN_LIGHT; i++) { + window_ride_main_widgets[i].left = w->width - 20; + window_ride_main_widgets[i].right = w->width - 7; + } + for (i = WIDX_OPEN; i <= WIDX_DEMOLISH; i++, height += 24) { + window_ride_main_widgets[i].left = w->width - 25; + window_ride_main_widgets[i].right = w->width - 2; + window_ride_main_widgets[i].top = height; + window_ride_main_widgets[i].bottom = height + 23; + } } /** @@ -2408,17 +2408,17 @@ static void window_ride_main_invalidate(rct_window *w) */ static rct_string_id window_ride_get_status_overall_view(rct_window *w, void *arguments) { - sint32 argument; - rct_string_id formatSecondary, stringId; + sint32 argument; + rct_string_id formatSecondary, stringId; - ride_get_status(w->number, &formatSecondary, &argument); - *(uint16*)((uintptr_t)arguments + 0) = formatSecondary; - *(uintptr_t*)((uintptr_t)arguments + 2) = argument; - stringId = STR_RED_OUTLINED_STRING; - if (formatSecondary != STR_BROKEN_DOWN && formatSecondary != STR_CRASHED) - stringId = STR_BLACK_STRING; + ride_get_status(w->number, &formatSecondary, &argument); + *(uint16*)((uintptr_t)arguments + 0) = formatSecondary; + *(uintptr_t*)((uintptr_t)arguments + 2) = argument; + stringId = STR_RED_OUTLINED_STRING; + if (formatSecondary != STR_BROKEN_DOWN && formatSecondary != STR_CRASHED) + stringId = STR_BLACK_STRING; - return stringId; + return stringId; } /** @@ -2427,52 +2427,52 @@ static rct_string_id window_ride_get_status_overall_view(rct_window *w, void *ar */ static rct_string_id window_ride_get_status_vehicle(rct_window *w, void *arguments) { - rct_ride *ride; - rct_vehicle *vehicle; - sint32 vehicleIndex; - uint16 vehicleSpriteIndex; - rct_string_id stringId; + rct_ride *ride; + rct_vehicle *vehicle; + sint32 vehicleIndex; + uint16 vehicleSpriteIndex; + rct_string_id stringId; - ride = get_ride(w->number); + ride = get_ride(w->number); - vehicleIndex = w->ride.view - 1; - vehicleSpriteIndex = ride->vehicles[vehicleIndex]; - if (vehicleSpriteIndex == SPRITE_INDEX_NULL) - return 0; + vehicleIndex = w->ride.view - 1; + vehicleSpriteIndex = ride->vehicles[vehicleIndex]; + if (vehicleSpriteIndex == SPRITE_INDEX_NULL) + return 0; - vehicle = &(get_sprite(vehicleSpriteIndex)->vehicle); - if (vehicle->status != VEHICLE_STATUS_CRASHING && vehicle->status != VEHICLE_STATUS_CRASHED) { - sint32 trackType = vehicle->track_type >> 2; - if (trackType == TRACK_ELEM_BLOCK_BRAKES || - trackType == TRACK_ELEM_CABLE_LIFT_HILL || - trackType == TRACK_ELEM_25_DEG_UP_TO_FLAT || - trackType == TRACK_ELEM_60_DEG_UP_TO_FLAT || - trackType == TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT || - trackType == TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT) { - if (track_piece_is_available_for_ride_type(ride->type, TRACK_BLOCK_BRAKES) && vehicle->velocity == 0) { - *(rct_string_id*)(uintptr_t)arguments = STR_STOPPED_BY_BLOCK_BRAKES; - return STR_BLACK_STRING; - } - } - } + vehicle = &(get_sprite(vehicleSpriteIndex)->vehicle); + if (vehicle->status != VEHICLE_STATUS_CRASHING && vehicle->status != VEHICLE_STATUS_CRASHED) { + sint32 trackType = vehicle->track_type >> 2; + if (trackType == TRACK_ELEM_BLOCK_BRAKES || + trackType == TRACK_ELEM_CABLE_LIFT_HILL || + trackType == TRACK_ELEM_25_DEG_UP_TO_FLAT || + trackType == TRACK_ELEM_60_DEG_UP_TO_FLAT || + trackType == TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT || + trackType == TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT) { + if (track_piece_is_available_for_ride_type(ride->type, TRACK_BLOCK_BRAKES) && vehicle->velocity == 0) { + *(rct_string_id*)(uintptr_t)arguments = STR_STOPPED_BY_BLOCK_BRAKES; + return STR_BLACK_STRING; + } + } + } - stringId = VehicleStatusNames[vehicle->status]; + stringId = VehicleStatusNames[vehicle->status]; - // Get speed in mph - *((uint16*)((uintptr_t)arguments + 2)) = (abs(vehicle->velocity) * 9) >> 18; + // Get speed in mph + *((uint16*)((uintptr_t)arguments + 2)) = (abs(vehicle->velocity) * 9) >> 18; - if (ride->type == RIDE_TYPE_MINI_GOLF) - return 0; + if (ride->type == RIDE_TYPE_MINI_GOLF) + return 0; - if ((RideData4[ride->type].flags & RIDE_TYPE_FLAG4_SINGLE_SESSION) && vehicle->status <= VEHICLE_STATUS_UNLOADING_PASSENGERS) { - stringId = SingleSessionVehicleStatusNames[vehicle->status]; - } + if ((RideData4[ride->type].flags & RIDE_TYPE_FLAG4_SINGLE_SESSION) && vehicle->status <= VEHICLE_STATUS_UNLOADING_PASSENGERS) { + stringId = SingleSessionVehicleStatusNames[vehicle->status]; + } - const ride_component_name stationName = RideComponentNames[RideNameConvention[ride->type].station]; - *(rct_string_id*)((uintptr_t)arguments + 4) = (ride->num_stations > 1) ? stationName.number : stationName.singular; - *((uint16*)((uintptr_t)arguments + 6)) = vehicle->current_station + 1; - *(rct_string_id*)((uintptr_t)arguments + 0) = stringId; - return stringId != STR_CRASHING && stringId != STR_CRASHED_0 ? STR_BLACK_STRING : STR_RED_OUTLINED_STRING; + const ride_component_name stationName = RideComponentNames[RideNameConvention[ride->type].station]; + *(rct_string_id*)((uintptr_t)arguments + 4) = (ride->num_stations > 1) ? stationName.number : stationName.singular; + *((uint16*)((uintptr_t)arguments + 6)) = vehicle->current_station + 1; + *(rct_string_id*)((uintptr_t)arguments + 0) = stringId; + return stringId != STR_CRASHING && stringId != STR_CRASHED_0 ? STR_BLACK_STRING : STR_RED_OUTLINED_STRING; } /** @@ -2481,41 +2481,41 @@ static rct_string_id window_ride_get_status_vehicle(rct_window *w, void *argumen */ static rct_string_id window_ride_get_status_station(rct_window *w, void *arguments) { - rct_ride *ride = get_ride(w->number); - sint32 count = w->ride.view - ride->num_vehicles - 1; - sint32 stationIndex = -1; - rct_string_id stringId = 0; + rct_ride *ride = get_ride(w->number); + sint32 count = w->ride.view - ride->num_vehicles - 1; + sint32 stationIndex = -1; + rct_string_id stringId = 0; - do { - stationIndex++; - if (ride->station_starts[stationIndex] != 0xFFFF) - count--; - } while (count >= 0); + do { + stationIndex++; + if (ride->station_starts[stationIndex] != 0xFFFF) + count--; + } while (count >= 0); - // Entrance / exit - if (ride->status == RIDE_STATUS_CLOSED) { - if (ride->entrances[stationIndex] == 0xFFFF) - stringId = STR_NO_ENTRANCE; - else if (ride->exits[stationIndex] == 0xFFFF) - stringId = STR_NO_EXIT; - } else { - if (ride->entrances[stationIndex] == 0xFFFF) - stringId = STR_EXIT_ONLY; - } + // Entrance / exit + if (ride->status == RIDE_STATUS_CLOSED) { + if (ride->entrances[stationIndex] == 0xFFFF) + stringId = STR_NO_ENTRANCE; + else if (ride->exits[stationIndex] == 0xFFFF) + stringId = STR_NO_EXIT; + } else { + if (ride->entrances[stationIndex] == 0xFFFF) + stringId = STR_EXIT_ONLY; + } - // Queue length - if (stringId == 0) { - sint32 queueLength = ride->queue_length[stationIndex]; - set_format_arg_body(arguments, 2, (uintptr_t)queueLength, sizeof(uint16)); - stringId = STR_QUEUE_EMPTY; - if (queueLength == 1) - stringId = STR_QUEUE_ONE_PERSON; - else if (queueLength > 1) - stringId = STR_QUEUE_PEOPLE; - } + // Queue length + if (stringId == 0) { + sint32 queueLength = ride->queue_length[stationIndex]; + set_format_arg_body(arguments, 2, (uintptr_t)queueLength, sizeof(uint16)); + stringId = STR_QUEUE_EMPTY; + if (queueLength == 1) + stringId = STR_QUEUE_ONE_PERSON; + else if (queueLength > 1) + stringId = STR_QUEUE_PEOPLE; + } - set_format_arg_body(arguments, 0, (uintptr_t)stringId, sizeof(rct_string_id)); - return STR_BLACK_STRING; + set_format_arg_body(arguments, 0, (uintptr_t)stringId, sizeof(rct_string_id)); + return STR_BLACK_STRING; } /** @@ -2524,15 +2524,15 @@ static rct_string_id window_ride_get_status_station(rct_window *w, void *argumen */ static rct_string_id window_ride_get_status(rct_window *w, void *arguments) { - rct_ride *ride = get_ride(w->number); + rct_ride *ride = get_ride(w->number); - if (w->ride.view == 0) - return window_ride_get_status_overall_view(w, arguments); - if (w->ride.view <= ride->num_vehicles) - return window_ride_get_status_vehicle(w, arguments); - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) - return window_ride_get_status_overall_view(w, arguments); - return window_ride_get_status_station(w, arguments); + if (w->ride.view == 0) + return window_ride_get_status_overall_view(w, arguments); + if (w->ride.view <= ride->num_vehicles) + return window_ride_get_status_vehicle(w, arguments); + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) + return window_ride_get_status_overall_view(w, arguments); + return window_ride_get_status_station(w, arguments); } /** @@ -2541,55 +2541,55 @@ static rct_string_id window_ride_get_status(rct_window *w, void *arguments) */ static void window_ride_main_paint(rct_window *w, rct_drawpixelinfo *dpi) { - rct_ride *ride; - rct_widget *widget; - rct_string_id stringId; + rct_ride *ride; + rct_widget *widget; + rct_string_id stringId; - window_draw_widgets(w, dpi); - window_ride_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_ride_draw_tab_images(dpi, w); - // Viewport and ear icon - if (w->viewport != NULL) { - window_draw_viewport(dpi, w); - if (w->viewport->flags & VIEWPORT_FLAG_SOUND_ON) - gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->x + 2, w->y + 2, 0); - } + // Viewport and ear icon + if (w->viewport != NULL) { + window_draw_viewport(dpi, w); + if (w->viewport->flags & VIEWPORT_FLAG_SOUND_ON) + gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->x + 2, w->y + 2, 0); + } - // View dropdown - ride = get_ride(w->number); - stringId = STR_OVERALL_VIEW; - if (w->ride.view != 0) { - stringId = RideComponentNames[RideNameConvention[ride->type].vehicle].number; - if (w->ride.view > ride->num_vehicles) { - set_format_arg(2, uint16, w->ride.view - ride->num_vehicles); - stringId = RideComponentNames[RideNameConvention[ride->type].station].number; - } else { - set_format_arg(2, uint16, w->ride.view); - } - } - set_format_arg(0, uint16, stringId); + // View dropdown + ride = get_ride(w->number); + stringId = STR_OVERALL_VIEW; + if (w->ride.view != 0) { + stringId = RideComponentNames[RideNameConvention[ride->type].vehicle].number; + if (w->ride.view > ride->num_vehicles) { + set_format_arg(2, uint16, w->ride.view - ride->num_vehicles); + stringId = RideComponentNames[RideNameConvention[ride->type].station].number; + } else { + set_format_arg(2, uint16, w->ride.view); + } + } + set_format_arg(0, uint16, stringId); - widget = &window_ride_main_widgets[WIDX_VIEW]; - gfx_draw_string_centred( - dpi, - STR_WINDOW_COLOUR_2_STRINGID, - w->x + (widget->left + widget->right - 11) / 2, - w->y + widget->top, - COLOUR_BLACK, - gCommonFormatArgs - ); + widget = &window_ride_main_widgets[WIDX_VIEW]; + gfx_draw_string_centred( + dpi, + STR_WINDOW_COLOUR_2_STRINGID, + w->x + (widget->left + widget->right - 11) / 2, + w->y + widget->top, + COLOUR_BLACK, + gCommonFormatArgs + ); - // Status - widget = &window_ride_main_widgets[WIDX_STATUS]; - gfx_draw_string_centred_clipped( - dpi, - window_ride_get_status(w, gCommonFormatArgs), - gCommonFormatArgs, - COLOUR_BLACK, - w->x + (widget->left + widget->right) / 2, - w->y + widget->top, - widget->right - widget->left - ); + // Status + widget = &window_ride_main_widgets[WIDX_STATUS]; + gfx_draw_string_centred_clipped( + dpi, + window_ride_get_status(w, gCommonFormatArgs), + gCommonFormatArgs, + COLOUR_BLACK, + w->x + (widget->left + widget->right) / 2, + w->y + widget->top, + widget->right - widget->left + ); } #pragma endregion @@ -2602,23 +2602,23 @@ static void window_ride_main_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_ride_vehicle_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - case WIDX_TAB_8: - case WIDX_TAB_9: - case WIDX_TAB_10: - window_ride_set_page(w, widgetIndex - WIDX_TAB_1); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + case WIDX_TAB_8: + case WIDX_TAB_9: + case WIDX_TAB_10: + window_ride_set_page(w, widgetIndex - WIDX_TAB_1); + break; + } } /** @@ -2627,7 +2627,7 @@ static void window_ride_vehicle_mouseup(rct_window *w, rct_widgetindex widgetInd */ static void window_ride_vehicle_resize(rct_window *w) { - window_set_resize(w, 316, 208, 316, 208); + window_set_resize(w, 316, 208, 316, 208); } /** @@ -2636,93 +2636,93 @@ static void window_ride_vehicle_resize(rct_window *w) */ static void window_ride_vehicle_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - rct_widget *dropdownWidget = widget - 1; - rct_ride *ride; - rct_ride_entry *rideEntry, *currentRideEntry; - sint32 numItems, rideEntryIndex, selectedIndex, rideTypeIterator, rideTypeIteratorMax; - uint8 *rideEntryIndexPtr; - bool selectionShouldBeExpanded; + rct_widget *dropdownWidget = widget - 1; + rct_ride *ride; + rct_ride_entry *rideEntry, *currentRideEntry; + sint32 numItems, rideEntryIndex, selectedIndex, rideTypeIterator, rideTypeIteratorMax; + uint8 *rideEntryIndexPtr; + bool selectionShouldBeExpanded; - ride = get_ride(w->number); - rideEntry = get_ride_entry_by_ride(ride); + ride = get_ride(w->number); + rideEntry = get_ride_entry_by_ride(ride); - if(gCheatsShowVehiclesFromOtherTrackTypes && !(ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) || ride->type==RIDE_TYPE_MAZE || ride->type==RIDE_TYPE_MINI_GOLF)) { - selectionShouldBeExpanded=true; - rideTypeIterator=0; - rideTypeIteratorMax=90; - } - else { - selectionShouldBeExpanded=false; - rideTypeIterator=ride->type; - rideTypeIteratorMax=ride->type; - } + if(gCheatsShowVehiclesFromOtherTrackTypes && !(ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) || ride->type==RIDE_TYPE_MAZE || ride->type==RIDE_TYPE_MINI_GOLF)) { + selectionShouldBeExpanded=true; + rideTypeIterator=0; + rideTypeIteratorMax=90; + } + else { + selectionShouldBeExpanded=false; + rideTypeIterator=ride->type; + rideTypeIteratorMax=ride->type; + } - switch (widgetIndex) { - case WIDX_VEHICLE_TYPE_DROPDOWN: - selectedIndex = -1; - numItems = 0; + switch (widgetIndex) { + case WIDX_VEHICLE_TYPE_DROPDOWN: + selectedIndex = -1; + numItems = 0; - // Dropdowns with more items start acting weird, so cap it to 63. - for (; rideTypeIterator<=rideTypeIteratorMax && numItems<=63; rideTypeIterator++) { + // Dropdowns with more items start acting weird, so cap it to 63. + for (; rideTypeIterator<=rideTypeIteratorMax && numItems<=63; rideTypeIterator++) { - if(selectionShouldBeExpanded && ride_type_has_flag(rideTypeIterator, RIDE_TYPE_FLAG_FLAT_RIDE)) - continue; - if(selectionShouldBeExpanded && (rideTypeIterator==RIDE_TYPE_MAZE || rideTypeIterator==RIDE_TYPE_MINI_GOLF)) - continue; + if(selectionShouldBeExpanded && ride_type_has_flag(rideTypeIterator, RIDE_TYPE_FLAG_FLAT_RIDE)) + continue; + if(selectionShouldBeExpanded && (rideTypeIterator==RIDE_TYPE_MAZE || rideTypeIterator==RIDE_TYPE_MINI_GOLF)) + continue; - rideEntryIndexPtr = get_ride_entry_indices_for_ride_type(rideTypeIterator); + rideEntryIndexPtr = get_ride_entry_indices_for_ride_type(rideTypeIterator); - for (uint8 *currentRideEntryIndex = rideEntryIndexPtr; *currentRideEntryIndex != 0xFF && numItems <= 63; currentRideEntryIndex++) { - rideEntryIndex = *currentRideEntryIndex; - currentRideEntry = get_ride_entry(rideEntryIndex); - // Skip if vehicle has the same track type, but not same subtype, unless subtype switching is enabled - if ((currentRideEntry->flags & (RIDE_ENTRY_FLAG_SEPARATE_RIDE | RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME)) && !(gConfigInterface.select_by_track_type || selectionShouldBeExpanded)) - continue; + for (uint8 *currentRideEntryIndex = rideEntryIndexPtr; *currentRideEntryIndex != 0xFF && numItems <= 63; currentRideEntryIndex++) { + rideEntryIndex = *currentRideEntryIndex; + currentRideEntry = get_ride_entry(rideEntryIndex); + // Skip if vehicle has the same track type, but not same subtype, unless subtype switching is enabled + if ((currentRideEntry->flags & (RIDE_ENTRY_FLAG_SEPARATE_RIDE | RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME)) && !(gConfigInterface.select_by_track_type || selectionShouldBeExpanded)) + continue; - // Skip if vehicle type is not invented yet - if (!ride_entry_is_invented(rideEntryIndex)) - continue; + // Skip if vehicle type is not invented yet + if (!ride_entry_is_invented(rideEntryIndex)) + continue; - if (ride->subtype == rideEntryIndex) - selectedIndex = numItems; + if (ride->subtype == rideEntryIndex) + selectedIndex = numItems; - gDropdownItemsFormat[numItems] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[numItems] = (rideEntryIndex << 16) | currentRideEntry->name; + gDropdownItemsFormat[numItems] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[numItems] = (rideEntryIndex << 16) | currentRideEntry->name; - numItems++; - } - } + numItems++; + } + } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - numItems, - widget->right - dropdownWidget->left - ); + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + numItems, + widget->right - dropdownWidget->left + ); - dropdown_set_checked(selectedIndex, true); - break; - case WIDX_VEHICLE_TRAINS_INCREASE: - if (ride->num_vehicles < 32) - ride_set_num_vehicles(w->number, ride->num_vehicles + 1); - break; - case WIDX_VEHICLE_TRAINS_DECREASE: - if (ride->num_vehicles > 1) - ride_set_num_vehicles(w->number, ride->num_vehicles - 1); - break; - case WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE: - if (ride->num_cars_per_train < 255) - ride_set_num_cars_per_vehicle(w->number, ride->num_cars_per_train + 1); - break; - case WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE: - if (ride->num_cars_per_train > rideEntry->zero_cars + 1) - ride_set_num_cars_per_vehicle(w->number, ride->num_cars_per_train - 1); - break; - } + dropdown_set_checked(selectedIndex, true); + break; + case WIDX_VEHICLE_TRAINS_INCREASE: + if (ride->num_vehicles < 32) + ride_set_num_vehicles(w->number, ride->num_vehicles + 1); + break; + case WIDX_VEHICLE_TRAINS_DECREASE: + if (ride->num_vehicles > 1) + ride_set_num_vehicles(w->number, ride->num_vehicles - 1); + break; + case WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE: + if (ride->num_cars_per_train < 255) + ride_set_num_cars_per_vehicle(w->number, ride->num_cars_per_train + 1); + break; + case WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE: + if (ride->num_cars_per_train > rideEntry->zero_cars + 1) + ride_set_num_cars_per_vehicle(w->number, ride->num_cars_per_train - 1); + break; + } } /** @@ -2731,15 +2731,15 @@ static void window_ride_vehicle_mousedown(rct_widgetindex widgetIndex, rct_windo */ static void window_ride_vehicle_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (dropdownIndex == -1) - return; + if (dropdownIndex == -1) + return; - switch (widgetIndex) { - case WIDX_VEHICLE_TYPE_DROPDOWN: - dropdownIndex = (gDropdownItemsArgs[dropdownIndex] >> 16) & 0xFFFF; - ride_set_ride_entry(w->number, dropdownIndex); - break; - } + switch (widgetIndex) { + case WIDX_VEHICLE_TYPE_DROPDOWN: + dropdownIndex = (gDropdownItemsArgs[dropdownIndex] >> 16) & 0xFFFF; + ride_set_ride_entry(w->number, dropdownIndex); + break; + } } /** @@ -2748,9 +2748,9 @@ static void window_ride_vehicle_dropdown(rct_window *w, rct_widgetindex widgetIn */ static void window_ride_vehicle_update(rct_window *w) { - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_2); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_2); } /** @@ -2759,99 +2759,99 @@ static void window_ride_vehicle_update(rct_window *w) */ static void window_ride_vehicle_invalidate(rct_window *w) { - rct_widget *widgets; - rct_ride *ride; - rct_ride_entry *rideEntry; - rct_string_id stringId; - sint32 carsPerTrain; + rct_widget *widgets; + rct_ride *ride; + rct_ride_entry *rideEntry; + rct_string_id stringId; + sint32 carsPerTrain; - widgets = window_ride_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_ride_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_ride_set_pressed_tab(w); + window_ride_set_pressed_tab(w); - ride = get_ride(w->number); - rideEntry = get_ride_entry_by_ride(ride); + ride = get_ride(w->number); + rideEntry = get_ride_entry_by_ride(ride); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); - // Widget setup - carsPerTrain = ride->num_cars_per_train - rideEntry->zero_cars; + // Widget setup + carsPerTrain = ride->num_cars_per_train - rideEntry->zero_cars; - // Vehicle type - window_ride_vehicle_widgets[WIDX_VEHICLE_TYPE].text = rideEntry->name; - // Always show a dropdown button when changing subtypes is allowed - if ((w->var_496 <= 1 || (rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE)) && !(gConfigInterface.select_by_track_type || gCheatsShowVehiclesFromOtherTrackTypes)) { - window_ride_vehicle_widgets[WIDX_VEHICLE_TYPE].type = WWT_14; - window_ride_vehicle_widgets[WIDX_VEHICLE_TYPE_DROPDOWN].type = WWT_EMPTY; - w->enabled_widgets &= ~(1 << WIDX_VEHICLE_TYPE); - } else { - window_ride_vehicle_widgets[WIDX_VEHICLE_TYPE].type = WWT_DROPDOWN; - window_ride_vehicle_widgets[WIDX_VEHICLE_TYPE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - w->enabled_widgets |= (1 << WIDX_VEHICLE_TYPE); - } + // Vehicle type + window_ride_vehicle_widgets[WIDX_VEHICLE_TYPE].text = rideEntry->name; + // Always show a dropdown button when changing subtypes is allowed + if ((w->var_496 <= 1 || (rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE)) && !(gConfigInterface.select_by_track_type || gCheatsShowVehiclesFromOtherTrackTypes)) { + window_ride_vehicle_widgets[WIDX_VEHICLE_TYPE].type = WWT_14; + window_ride_vehicle_widgets[WIDX_VEHICLE_TYPE_DROPDOWN].type = WWT_EMPTY; + w->enabled_widgets &= ~(1 << WIDX_VEHICLE_TYPE); + } else { + window_ride_vehicle_widgets[WIDX_VEHICLE_TYPE].type = WWT_DROPDOWN; + window_ride_vehicle_widgets[WIDX_VEHICLE_TYPE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + w->enabled_widgets |= (1 << WIDX_VEHICLE_TYPE); + } - // Trains - if (rideEntry->cars_per_flat_ride > 1 || gCheatsDisableTrainLengthLimit) { - window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS].type = WWT_SPINNER; - window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_INCREASE].type = WWT_DROPDOWN_BUTTON; - window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_DECREASE].type = WWT_DROPDOWN_BUTTON; + // Trains + if (rideEntry->cars_per_flat_ride > 1 || gCheatsDisableTrainLengthLimit) { + window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS].type = WWT_SPINNER; + window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_INCREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_DECREASE].type = WWT_DROPDOWN_BUTTON; - } else { - window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS].type = WWT_EMPTY; - window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_INCREASE].type = WWT_EMPTY; - window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_DECREASE].type = WWT_EMPTY; - } + } else { + window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS].type = WWT_EMPTY; + window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_INCREASE].type = WWT_EMPTY; + window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_DECREASE].type = WWT_EMPTY; + } - // Cars per train - if (rideEntry->zero_cars + 1 < rideEntry->max_cars_in_train||gCheatsDisableTrainLengthLimit) { - window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN].type = WWT_SPINNER; - window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE].type = WWT_DROPDOWN_BUTTON; - window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE].type = WWT_DROPDOWN_BUTTON; - } else { - window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN].type = WWT_EMPTY; - window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE].type = WWT_EMPTY; - window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE].type = WWT_EMPTY; + // Cars per train + if (rideEntry->zero_cars + 1 < rideEntry->max_cars_in_train||gCheatsDisableTrainLengthLimit) { + window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN].type = WWT_SPINNER; + window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE].type = WWT_DROPDOWN_BUTTON; + } else { + window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN].type = WWT_EMPTY; + window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE].type = WWT_EMPTY; + window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE].type = WWT_EMPTY; - } + } - set_format_arg(6, uint16, carsPerTrain); - ride_component_type vehicleType = RideNameConvention[ride->type].vehicle; - stringId = RideComponentNames[vehicleType].count; - if (ride->num_vehicles > 1) { - stringId = RideComponentNames[vehicleType].count_plural; - } - set_format_arg(8, rct_string_id, stringId); - set_format_arg(10, uint16, ride->num_vehicles); + set_format_arg(6, uint16, carsPerTrain); + ride_component_type vehicleType = RideNameConvention[ride->type].vehicle; + stringId = RideComponentNames[vehicleType].count; + if (ride->num_vehicles > 1) { + stringId = RideComponentNames[vehicleType].count_plural; + } + set_format_arg(8, rct_string_id, stringId); + set_format_arg(10, uint16, ride->num_vehicles); - stringId = RideComponentNames[vehicleType].count; - if (ride->max_trains > 1) { - stringId = RideComponentNames[vehicleType].count_plural; - } - set_format_arg(12, rct_string_id, stringId); - set_format_arg(14, uint16, ride->max_trains); + stringId = RideComponentNames[vehicleType].count; + if (ride->max_trains > 1) { + stringId = RideComponentNames[vehicleType].count_plural; + } + set_format_arg(12, rct_string_id, stringId); + set_format_arg(14, uint16, ride->max_trains); - set_format_arg(16, uint16, max(1, ride->min_max_cars_per_train & 0xF) - rideEntry->zero_cars); + set_format_arg(16, uint16, max(1, ride->min_max_cars_per_train & 0xF) - rideEntry->zero_cars); - stringId = RideComponentNames[RIDE_COMPONENT_TYPE_CAR].singular; - if ((ride->min_max_cars_per_train & 0xF) - rideEntry->zero_cars > 1) { - stringId = RideComponentNames[RIDE_COMPONENT_TYPE_CAR].plural; - } + stringId = RideComponentNames[RIDE_COMPONENT_TYPE_CAR].singular; + if ((ride->min_max_cars_per_train & 0xF) - rideEntry->zero_cars > 1) { + stringId = RideComponentNames[RIDE_COMPONENT_TYPE_CAR].plural; + } - set_format_arg(18, rct_string_id, stringId); + set_format_arg(18, rct_string_id, stringId); - window_ride_anchor_border_widgets(w); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); + window_ride_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); - if (ride->num_cars_per_train > (rideEntry->zero_cars + 1)) { - window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN].text = STR_X_CARS_PER_TRAIN; - } else { - window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN].text = STR_1_CAR_PER_TRAIN; - } + if (ride->num_cars_per_train > (rideEntry->zero_cars + 1)) { + window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN].text = STR_X_CARS_PER_TRAIN; + } else { + window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN].text = STR_1_CAR_PER_TRAIN; + } } /** @@ -2860,64 +2860,64 @@ static void window_ride_vehicle_invalidate(rct_window *w) */ static void window_ride_vehicle_paint(rct_window *w, rct_drawpixelinfo *dpi) { - rct_ride *ride; - rct_ride_entry *rideEntry; - sint32 x, y; - sint16 factor; + rct_ride *ride; + rct_ride_entry *rideEntry; + sint32 x, y; + sint16 factor; - window_draw_widgets(w, dpi); - window_ride_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_ride_draw_tab_images(dpi, w); - ride = get_ride(w->number); - rideEntry = get_ride_entry_by_ride(ride); + ride = get_ride(w->number); + rideEntry = get_ride_entry_by_ride(ride); - x = w->x + 8; - y = w->y + 64; + x = w->x + 8; + y = w->y + 64; - // Description - y += gfx_draw_string_left_wrapped(dpi, &rideEntry->description, x, y, 300, STR_BLACK_STRING, COLOUR_BLACK); - y += 5; + // Description + y += gfx_draw_string_left_wrapped(dpi, &rideEntry->description, x, y, 300, STR_BLACK_STRING, COLOUR_BLACK); + y += 5; - // Capacity - void * loadedObject = object_manager_get_loaded_object_by_index(ride->subtype); - if (loadedObject != NULL) - { - const utf8 * capacity = object_get_capacity(loadedObject); - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, utf8 *, capacity); - gfx_draw_string_left(dpi, STR_CAPACITY, gCommonFormatArgs, COLOUR_BLACK, x, y); - } - y += 5; + // Capacity + void * loadedObject = object_manager_get_loaded_object_by_index(ride->subtype); + if (loadedObject != NULL) + { + const utf8 * capacity = object_get_capacity(loadedObject); + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, utf8 *, capacity); + gfx_draw_string_left(dpi, STR_CAPACITY, gCommonFormatArgs, COLOUR_BLACK, x, y); + } + y += 5; - if ((!(rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE) || rideTypeShouldLoseSeparateFlag(rideEntry)) && w->var_496 > 1) { - // Excitement Factor - factor = rideEntry->excitement_multipler; - if (factor > 0) { - y += 10; - gfx_draw_string_left(dpi, STR_EXCITEMENT_FACTOR, &factor, COLOUR_BLACK, x, y); - } + if ((!(rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE) || rideTypeShouldLoseSeparateFlag(rideEntry)) && w->var_496 > 1) { + // Excitement Factor + factor = rideEntry->excitement_multipler; + if (factor > 0) { + y += 10; + gfx_draw_string_left(dpi, STR_EXCITEMENT_FACTOR, &factor, COLOUR_BLACK, x, y); + } - // Intensity Factor - factor = rideEntry->intensity_multipler; - if (factor > 0) { - y += 10; - gfx_draw_string_left(dpi, STR_INTENSITY_FACTOR, &factor, COLOUR_BLACK, x, y); - } + // Intensity Factor + factor = rideEntry->intensity_multipler; + if (factor > 0) { + y += 10; + gfx_draw_string_left(dpi, STR_INTENSITY_FACTOR, &factor, COLOUR_BLACK, x, y); + } - // Nausea Factor - factor = rideEntry->nausea_multipler; - if (factor > 0) { - y += 10; - gfx_draw_string_left(dpi, STR_NAUSEA_FACTOR, &factor, COLOUR_BLACK, x, y); - } - } + // Nausea Factor + factor = rideEntry->nausea_multipler; + if (factor > 0) { + y += 10; + gfx_draw_string_left(dpi, STR_NAUSEA_FACTOR, &factor, COLOUR_BLACK, x, y); + } + } } typedef struct rct_vehichle_paintinfo { - sint16 x; - sint16 y; - sint32 sprite_index; - sint32 tertiary_colour; + sint16 x; + sint16 y; + sint32 sprite_index; + sint32 tertiary_colour; } rct_vehichle_paintinfo; rct_vehichle_paintinfo _sprites_to_draw[144]; @@ -2928,78 +2928,78 @@ rct_vehichle_paintinfo _sprites_to_draw[144]; */ static void window_ride_vehicle_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - rct_ride *ride = get_ride(w->number); - rct_ride_entry *rideEntry = get_ride_entry_by_ride(ride); + rct_ride *ride = get_ride(w->number); + rct_ride_entry *rideEntry = get_ride_entry_by_ride(ride); - // Background - gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width, dpi->y + dpi->height, PALETTE_INDEX_12); + // Background + gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width, dpi->y + dpi->height, PALETTE_INDEX_12); - rct_widget *widget = &window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_PREVIEW]; - sint32 startX = max(2, ((widget->right - widget->left) - ((ride->num_vehicles - 1) * 36)) / 2 - 25); - sint32 startY = widget->bottom - widget->top - 4; + rct_widget *widget = &window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_PREVIEW]; + sint32 startX = max(2, ((widget->right - widget->left) - ((ride->num_vehicles - 1) * 36)) / 2 - 25); + sint32 startY = widget->bottom - widget->top - 4; - rct_ride_entry_vehicle* rideVehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, ride->num_cars_per_train, 0)]; - startY += rideVehicleEntry->tab_height; + rct_ride_entry_vehicle* rideVehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, ride->num_cars_per_train, 0)]; + startY += rideVehicleEntry->tab_height; - // For each train - for (sint32 i = 0; i < ride->num_vehicles; i++) { - rct_vehichle_paintinfo *nextSpriteToDraw = _sprites_to_draw; - sint32 x = startX; - sint32 y = startY; + // For each train + for (sint32 i = 0; i < ride->num_vehicles; i++) { + rct_vehichle_paintinfo *nextSpriteToDraw = _sprites_to_draw; + sint32 x = startX; + sint32 y = startY; - // For each car in train - for (sint32 j = 0; j < ride->num_cars_per_train; j++) { - rideVehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, ride->num_cars_per_train, j)]; - x += rideVehicleEntry->spacing / 17432; - y -= (rideVehicleEntry->spacing / 2) / 17432; + // For each car in train + for (sint32 j = 0; j < ride->num_cars_per_train; j++) { + rideVehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, ride->num_cars_per_train, j)]; + x += rideVehicleEntry->spacing / 17432; + y -= (rideVehicleEntry->spacing / 2) / 17432; - // Get colour of vehicle - sint32 vehicleColourIndex = 0; - switch (ride->colour_scheme_type & 3) { - case VEHICLE_COLOUR_SCHEME_SAME: - vehicleColourIndex = 0; - break; - case VEHICLE_COLOUR_SCHEME_PER_TRAIN: - vehicleColourIndex = i; - break; - case VEHICLE_COLOUR_SCHEME_PER_VEHICLE: - vehicleColourIndex = j; - break; - } - vehicle_colour vehicleColour = ride_get_vehicle_colour(ride, vehicleColourIndex); + // Get colour of vehicle + sint32 vehicleColourIndex = 0; + switch (ride->colour_scheme_type & 3) { + case VEHICLE_COLOUR_SCHEME_SAME: + vehicleColourIndex = 0; + break; + case VEHICLE_COLOUR_SCHEME_PER_TRAIN: + vehicleColourIndex = i; + break; + case VEHICLE_COLOUR_SCHEME_PER_VEHICLE: + vehicleColourIndex = j; + break; + } + vehicle_colour vehicleColour = ride_get_vehicle_colour(ride, vehicleColourIndex); - sint32 spriteIndex = 16; - if (rideVehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_11) - spriteIndex /= 2; + sint32 spriteIndex = 16; + if (rideVehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_11) + spriteIndex /= 2; - spriteIndex &= rideVehicleEntry->rotation_frame_mask; - spriteIndex *= rideVehicleEntry->var_16; - spriteIndex += rideVehicleEntry->base_image_id; - spriteIndex |= (vehicleColour.additional_1 << 24) | (vehicleColour.main << 19); - spriteIndex |= 0x80000000; + spriteIndex &= rideVehicleEntry->rotation_frame_mask; + spriteIndex *= rideVehicleEntry->var_16; + spriteIndex += rideVehicleEntry->base_image_id; + spriteIndex |= (vehicleColour.additional_1 << 24) | (vehicleColour.main << 19); + spriteIndex |= 0x80000000; - nextSpriteToDraw->x = x; - nextSpriteToDraw->y = y; - nextSpriteToDraw->sprite_index = spriteIndex; - nextSpriteToDraw->tertiary_colour = vehicleColour.additional_2; - nextSpriteToDraw++; + nextSpriteToDraw->x = x; + nextSpriteToDraw->y = y; + nextSpriteToDraw->sprite_index = spriteIndex; + nextSpriteToDraw->tertiary_colour = vehicleColour.additional_2; + nextSpriteToDraw++; - x += rideVehicleEntry->spacing / 17432; - y -= (rideVehicleEntry->spacing / 2) / 17432; - } + x += rideVehicleEntry->spacing / 17432; + y -= (rideVehicleEntry->spacing / 2) / 17432; + } - if (ride->type == RIDE_TYPE_REVERSER_ROLLER_COASTER) { - rct_vehichle_paintinfo tmp = *(nextSpriteToDraw - 1); - *(nextSpriteToDraw - 1) = *(nextSpriteToDraw - 2); - *(nextSpriteToDraw - 2) = tmp; - } + if (ride->type == RIDE_TYPE_REVERSER_ROLLER_COASTER) { + rct_vehichle_paintinfo tmp = *(nextSpriteToDraw - 1); + *(nextSpriteToDraw - 1) = *(nextSpriteToDraw - 2); + *(nextSpriteToDraw - 2) = tmp; + } - rct_vehichle_paintinfo *current = nextSpriteToDraw; - while (--current >= _sprites_to_draw) - gfx_draw_sprite(dpi, current->sprite_index, current->x, current->y, current->tertiary_colour); + rct_vehichle_paintinfo *current = nextSpriteToDraw; + while (--current >= _sprites_to_draw) + gfx_draw_sprite(dpi, current->sprite_index, current->x, current->y, current->tertiary_colour); - startX += 36; - } + startX += 36; + } } #pragma endregion @@ -3008,33 +3008,33 @@ static void window_ride_vehicle_scrollpaint(rct_window *w, rct_drawpixelinfo *dp static void set_operating_setting(sint32 rideNumber, uint8 setting, uint8 value) { - gGameCommandErrorTitle = STR_CANT_CHANGE_OPERATING_MODE; - game_do_command(0, (value << 8) | 1, 0, (setting << 8) | rideNumber, GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + gGameCommandErrorTitle = STR_CANT_CHANGE_OPERATING_MODE; + game_do_command(0, (value << 8) | 1, 0, (setting << 8) | rideNumber, GAME_COMMAND_SET_RIDE_SETTING, 0, 0); } static void window_ride_mode_tweak_set(rct_window *w, uint8 value) { - rct_ride *ride = get_ride(w->number); + rct_ride *ride = get_ride(w->number); - gGameCommandErrorTitle = STR_CANT_CHANGE_LAUNCH_SPEED; - if (ride->mode == RIDE_MODE_STATION_TO_STATION) - gGameCommandErrorTitle = STR_CANT_CHANGE_SPEED; - if (ride->mode == RIDE_MODE_RACE) - gGameCommandErrorTitle = STR_CANT_CHANGE_NUMBER_OF_LAPS; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)) - gGameCommandErrorTitle = STR_CANT_CHANGE_THIS; - if (ride->mode == RIDE_MODE_BUMPERCAR) - gGameCommandErrorTitle = STR_CANT_CHANGE_TIME_LIMIT; - if (ride->mode == RIDE_MODE_SWING) - gGameCommandErrorTitle = STR_CANT_CHANGE_NUMBER_OF_SWINGS; - if ( - ride->mode == RIDE_MODE_ROTATION || - ride->mode == RIDE_MODE_FORWARD_ROTATION || - ride->mode == RIDE_MODE_BACKWARD_ROTATION - ) - gGameCommandErrorTitle = STR_CANT_CHANGE_NUMBER_OF_ROTATIONS; + gGameCommandErrorTitle = STR_CANT_CHANGE_LAUNCH_SPEED; + if (ride->mode == RIDE_MODE_STATION_TO_STATION) + gGameCommandErrorTitle = STR_CANT_CHANGE_SPEED; + if (ride->mode == RIDE_MODE_RACE) + gGameCommandErrorTitle = STR_CANT_CHANGE_NUMBER_OF_LAPS; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)) + gGameCommandErrorTitle = STR_CANT_CHANGE_THIS; + if (ride->mode == RIDE_MODE_BUMPERCAR) + gGameCommandErrorTitle = STR_CANT_CHANGE_TIME_LIMIT; + if (ride->mode == RIDE_MODE_SWING) + gGameCommandErrorTitle = STR_CANT_CHANGE_NUMBER_OF_SWINGS; + if ( + ride->mode == RIDE_MODE_ROTATION || + ride->mode == RIDE_MODE_FORWARD_ROTATION || + ride->mode == RIDE_MODE_BACKWARD_ROTATION + ) + gGameCommandErrorTitle = STR_CANT_CHANGE_NUMBER_OF_ROTATIONS; - set_operating_setting(w->number, RIDE_SETTING_OPERATION_OPTION, value); + set_operating_setting(w->number, RIDE_SETTING_OPERATION_OPTION, value); } /** @@ -3043,18 +3043,18 @@ static void window_ride_mode_tweak_set(rct_window *w, uint8 value) */ static void window_ride_mode_tweak_increase(rct_window *w) { - rct_ride *ride = get_ride(w->number); + rct_ride *ride = get_ride(w->number); - uint8 maxValue = RideProperties[ride->type].max_value; - uint8 minValue = gCheatsFastLiftHill ? 0 : RideProperties[ride->type].min_value; + uint8 maxValue = RideProperties[ride->type].max_value; + uint8 minValue = gCheatsFastLiftHill ? 0 : RideProperties[ride->type].min_value; - if (gCheatsFastLiftHill) { - maxValue = 255; - } + if (gCheatsFastLiftHill) { + maxValue = 255; + } - uint8 increment = ride->mode == RIDE_MODE_BUMPERCAR ? 10 : 1; + uint8 increment = ride->mode == RIDE_MODE_BUMPERCAR ? 10 : 1; - window_ride_mode_tweak_set(w, clamp(minValue, ride->operation_option + increment, maxValue)); + window_ride_mode_tweak_set(w, clamp(minValue, ride->operation_option + increment, maxValue)); } /** @@ -3063,17 +3063,17 @@ static void window_ride_mode_tweak_increase(rct_window *w) */ static void window_ride_mode_tweak_decrease(rct_window *w) { - rct_ride *ride = get_ride(w->number); + rct_ride *ride = get_ride(w->number); - uint8 maxValue = RideProperties[ride->type].max_value; - uint8 minValue = gCheatsFastLiftHill ? 0 : RideProperties[ride->type].min_value; - if (gCheatsFastLiftHill) { - maxValue = 255; - } + uint8 maxValue = RideProperties[ride->type].max_value; + uint8 minValue = gCheatsFastLiftHill ? 0 : RideProperties[ride->type].min_value; + if (gCheatsFastLiftHill) { + maxValue = 255; + } - uint8 decrement = ride->mode == RIDE_MODE_BUMPERCAR ? 10 : 1; + uint8 decrement = ride->mode == RIDE_MODE_BUMPERCAR ? 10 : 1; - window_ride_mode_tweak_set(w, clamp(minValue, ride->operation_option - decrement, maxValue)); + window_ride_mode_tweak_set(w, clamp(minValue, ride->operation_option - decrement, maxValue)); } /** @@ -3082,58 +3082,58 @@ static void window_ride_mode_tweak_decrease(rct_window *w) */ static void window_ride_mode_dropdown(rct_window *w, rct_widget *widget) { - rct_ride_entry *rideEntry; - rct_widget *dropdownWidget; - rct_ride *ride; - const uint8 *availableModes, *mode; - sint32 i, numAvailableModes; + rct_ride_entry *rideEntry; + rct_widget *dropdownWidget; + rct_ride *ride; + const uint8 *availableModes, *mode; + sint32 i, numAvailableModes; - dropdownWidget = widget - 1; - ride = get_ride(w->number); - rideEntry = get_ride_entry_by_ride(ride); + dropdownWidget = widget - 1; + ride = get_ride(w->number); + rideEntry = get_ride_entry_by_ride(ride); - // Seek to available modes for this ride - availableModes = ride_seek_available_modes(ride); + // Seek to available modes for this ride + availableModes = ride_seek_available_modes(ride); - // Count number of available modes - mode = availableModes; - numAvailableModes = -1; - do { - numAvailableModes++; - } while (*(mode++) != 255); + // Count number of available modes + mode = availableModes; + numAvailableModes = -1; + do { + numAvailableModes++; + } while (*(mode++) != 255); - // Hide the last operating mode if the vehicle is not intended for it. - if (rideEntry->flags & RIDE_ENTRY_DISABLE_LAST_OPERATING_MODE && !gCheatsShowAllOperatingModes) - numAvailableModes--; + // Hide the last operating mode if the vehicle is not intended for it. + if (rideEntry->flags & RIDE_ENTRY_DISABLE_LAST_OPERATING_MODE && !gCheatsShowAllOperatingModes) + numAvailableModes--; - // If the vehicle is not intended for them, hide those two modes (these are usually (or perhaps always) both continuous circuit modes). - if ((rideEntry->flags & RIDE_ENTRY_DISABLE_FIRST_TWO_OPERATING_MODES) && !gCheatsShowAllOperatingModes) { - availableModes += 2; - numAvailableModes -= 2; - } + // If the vehicle is not intended for them, hide those two modes (these are usually (or perhaps always) both continuous circuit modes). + if ((rideEntry->flags & RIDE_ENTRY_DISABLE_FIRST_TWO_OPERATING_MODES) && !gCheatsShowAllOperatingModes) { + availableModes += 2; + numAvailableModes -= 2; + } - // Create dropdown list - for (i = 0; i < numAvailableModes; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = RideModeNames[availableModes[i]]; - } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - numAvailableModes, - widget->right - dropdownWidget->left - ); + // Create dropdown list + for (i = 0; i < numAvailableModes; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = RideModeNames[availableModes[i]]; + } + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + numAvailableModes, + widget->right - dropdownWidget->left + ); - // Set checked item - for (i = 0; i < numAvailableModes; i++) { - if (ride->mode == availableModes[i]) { - dropdown_set_checked(i, true); - } - } + // Set checked item + for (i = 0; i < numAvailableModes; i++) { + if (ride->mode == availableModes[i]) { + dropdown_set_checked(i, true); + } + } } /** @@ -3142,28 +3142,28 @@ static void window_ride_mode_dropdown(rct_window *w, rct_widget *widget) */ static void window_ride_load_dropdown(rct_window *w, rct_widget *widget) { - rct_widget *dropdownWidget; - sint32 i; + rct_widget *dropdownWidget; + sint32 i; - dropdownWidget = widget - 1; - rct_ride *ride = get_ride(w->number); + dropdownWidget = widget - 1; + rct_ride *ride = get_ride(w->number); - for (i = 0; i < 5; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = VehicleLoadNames[i]; - } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 5, - widget->right - dropdownWidget->left - ); + for (i = 0; i < 5; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = VehicleLoadNames[i]; + } + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 5, + widget->right - dropdownWidget->left + ); - dropdown_set_checked(ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD_MASK, true); + dropdown_set_checked(ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD_MASK, true); } /** @@ -3172,42 +3172,42 @@ static void window_ride_load_dropdown(rct_window *w, rct_widget *widget) */ static void window_ride_operating_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - rct_ride *ride; + rct_ride *ride; - ride = get_ride(w->number); + ride = get_ride(w->number); - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - case WIDX_TAB_8: - case WIDX_TAB_9: - case WIDX_TAB_10: - window_ride_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_LOAD_CHECKBOX: - set_operating_setting(w->number, RIDE_SETTING_DEPARTURE, ride->depart_flags ^ RIDE_DEPART_WAIT_FOR_LOAD); - break; - case WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX: - set_operating_setting(w->number, RIDE_SETTING_DEPARTURE, ride->depart_flags ^ RIDE_DEPART_LEAVE_WHEN_ANOTHER_ARRIVES); - break; - case WIDX_MINIMUM_LENGTH_CHECKBOX: - set_operating_setting(w->number, RIDE_SETTING_DEPARTURE, ride->depart_flags ^ RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH); - break; - case WIDX_MAXIMUM_LENGTH_CHECKBOX: - set_operating_setting(w->number, RIDE_SETTING_DEPARTURE, ride->depart_flags ^ RIDE_DEPART_WAIT_FOR_MAXIMUM_LENGTH); - break; - case WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX: - set_operating_setting(w->number, RIDE_SETTING_DEPARTURE, ride->depart_flags ^ RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + case WIDX_TAB_8: + case WIDX_TAB_9: + case WIDX_TAB_10: + window_ride_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_LOAD_CHECKBOX: + set_operating_setting(w->number, RIDE_SETTING_DEPARTURE, ride->depart_flags ^ RIDE_DEPART_WAIT_FOR_LOAD); + break; + case WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX: + set_operating_setting(w->number, RIDE_SETTING_DEPARTURE, ride->depart_flags ^ RIDE_DEPART_LEAVE_WHEN_ANOTHER_ARRIVES); + break; + case WIDX_MINIMUM_LENGTH_CHECKBOX: + set_operating_setting(w->number, RIDE_SETTING_DEPARTURE, ride->depart_flags ^ RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH); + break; + case WIDX_MAXIMUM_LENGTH_CHECKBOX: + set_operating_setting(w->number, RIDE_SETTING_DEPARTURE, ride->depart_flags ^ RIDE_DEPART_WAIT_FOR_MAXIMUM_LENGTH); + break; + case WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX: + set_operating_setting(w->number, RIDE_SETTING_DEPARTURE, ride->depart_flags ^ RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS); + break; + } } /** @@ -3216,7 +3216,7 @@ static void window_ride_operating_mouseup(rct_window *w, rct_widgetindex widgetI */ static void window_ride_operating_resize(rct_window *w) { - window_set_resize(w, 316, 186, 316, 186); + window_set_resize(w, 316, 186, 316, 186); } /** @@ -3225,63 +3225,63 @@ static void window_ride_operating_resize(rct_window *w) */ static void window_ride_operating_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - rct_ride *ride = get_ride(w->number); - uint8 upper_bound, lower_bound; + rct_ride *ride = get_ride(w->number); + uint8 upper_bound, lower_bound; - switch (widgetIndex) { - case WIDX_MODE_TWEAK_INCREASE: - window_ride_mode_tweak_increase(w); - break; - case WIDX_MODE_TWEAK_DECREASE: - window_ride_mode_tweak_decrease(w); - break; - case WIDX_LIFT_HILL_SPEED_INCREASE: - upper_bound = gCheatsFastLiftHill ? 255 : RideLiftData[ride->type].maximum_speed; - lower_bound = gCheatsFastLiftHill ? 0 : RideLiftData[ride->type].minimum_speed; - set_operating_setting(w->number, RIDE_SETTING_LIFT_HILL_SPEED, clamp(lower_bound, ride->lift_hill_speed + 1, upper_bound)); - break; - case WIDX_LIFT_HILL_SPEED_DECREASE: - upper_bound = gCheatsFastLiftHill ? 255 : RideLiftData[ride->type].maximum_speed; - lower_bound = gCheatsFastLiftHill ? 0 : RideLiftData[ride->type].minimum_speed; - set_operating_setting(w->number, RIDE_SETTING_LIFT_HILL_SPEED, clamp(lower_bound, ride->lift_hill_speed - 1, upper_bound)); - break; - case WIDX_MINIMUM_LENGTH_INCREASE: - upper_bound = 250; - lower_bound = 0; - set_operating_setting(w->number, RIDE_SETTING_MIN_WAITING_TIME, clamp(lower_bound, ride->min_waiting_time + 1, upper_bound)); - break; - case WIDX_MINIMUM_LENGTH_DECREASE: - upper_bound = 250; - lower_bound = 0; - set_operating_setting(w->number, RIDE_SETTING_MIN_WAITING_TIME, clamp(lower_bound, ride->min_waiting_time - 1, upper_bound)); - break; - case WIDX_MAXIMUM_LENGTH_INCREASE: - upper_bound = 250; - lower_bound = 0; - set_operating_setting(w->number, RIDE_SETTING_MAX_WAITING_TIME, clamp(lower_bound, ride->max_waiting_time + 1, upper_bound)); - break; - case WIDX_MAXIMUM_LENGTH_DECREASE: - upper_bound = 250; - lower_bound = 0; - set_operating_setting(w->number, RIDE_SETTING_MAX_WAITING_TIME, clamp(lower_bound, ride->max_waiting_time - 1, upper_bound)); - break; - case WIDX_MODE_DROPDOWN: - window_ride_mode_dropdown(w, widget); - break; - case WIDX_LOAD_DROPDOWN: - window_ride_load_dropdown(w, widget); - break; - case WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE: - upper_bound = gCheatsFastLiftHill ? 255 : 20; - lower_bound = 1; - set_operating_setting(w->number, RIDE_SETTING_NUM_CIRCUITS, clamp(lower_bound, ride->num_circuits + 1, upper_bound)); - break; - case WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE: - upper_bound = gCheatsFastLiftHill ? 255 : 20; - lower_bound = 1; - set_operating_setting(w->number, RIDE_SETTING_NUM_CIRCUITS, clamp(lower_bound, ride->num_circuits - 1, upper_bound)); - break; - } + switch (widgetIndex) { + case WIDX_MODE_TWEAK_INCREASE: + window_ride_mode_tweak_increase(w); + break; + case WIDX_MODE_TWEAK_DECREASE: + window_ride_mode_tweak_decrease(w); + break; + case WIDX_LIFT_HILL_SPEED_INCREASE: + upper_bound = gCheatsFastLiftHill ? 255 : RideLiftData[ride->type].maximum_speed; + lower_bound = gCheatsFastLiftHill ? 0 : RideLiftData[ride->type].minimum_speed; + set_operating_setting(w->number, RIDE_SETTING_LIFT_HILL_SPEED, clamp(lower_bound, ride->lift_hill_speed + 1, upper_bound)); + break; + case WIDX_LIFT_HILL_SPEED_DECREASE: + upper_bound = gCheatsFastLiftHill ? 255 : RideLiftData[ride->type].maximum_speed; + lower_bound = gCheatsFastLiftHill ? 0 : RideLiftData[ride->type].minimum_speed; + set_operating_setting(w->number, RIDE_SETTING_LIFT_HILL_SPEED, clamp(lower_bound, ride->lift_hill_speed - 1, upper_bound)); + break; + case WIDX_MINIMUM_LENGTH_INCREASE: + upper_bound = 250; + lower_bound = 0; + set_operating_setting(w->number, RIDE_SETTING_MIN_WAITING_TIME, clamp(lower_bound, ride->min_waiting_time + 1, upper_bound)); + break; + case WIDX_MINIMUM_LENGTH_DECREASE: + upper_bound = 250; + lower_bound = 0; + set_operating_setting(w->number, RIDE_SETTING_MIN_WAITING_TIME, clamp(lower_bound, ride->min_waiting_time - 1, upper_bound)); + break; + case WIDX_MAXIMUM_LENGTH_INCREASE: + upper_bound = 250; + lower_bound = 0; + set_operating_setting(w->number, RIDE_SETTING_MAX_WAITING_TIME, clamp(lower_bound, ride->max_waiting_time + 1, upper_bound)); + break; + case WIDX_MAXIMUM_LENGTH_DECREASE: + upper_bound = 250; + lower_bound = 0; + set_operating_setting(w->number, RIDE_SETTING_MAX_WAITING_TIME, clamp(lower_bound, ride->max_waiting_time - 1, upper_bound)); + break; + case WIDX_MODE_DROPDOWN: + window_ride_mode_dropdown(w, widget); + break; + case WIDX_LOAD_DROPDOWN: + window_ride_load_dropdown(w, widget); + break; + case WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE: + upper_bound = gCheatsFastLiftHill ? 255 : 20; + lower_bound = 1; + set_operating_setting(w->number, RIDE_SETTING_NUM_CIRCUITS, clamp(lower_bound, ride->num_circuits + 1, upper_bound)); + break; + case WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE: + upper_bound = gCheatsFastLiftHill ? 255 : 20; + lower_bound = 1; + set_operating_setting(w->number, RIDE_SETTING_NUM_CIRCUITS, clamp(lower_bound, ride->num_circuits - 1, upper_bound)); + break; + } } /** @@ -3290,25 +3290,25 @@ static void window_ride_operating_mousedown(rct_widgetindex widgetIndex, rct_win */ static void window_ride_operating_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - rct_ride *ride; - const uint8 *availableModes; + rct_ride *ride; + const uint8 *availableModes; - if (dropdownIndex == -1) - return; + if (dropdownIndex == -1) + return; - ride = get_ride(w->number); + ride = get_ride(w->number); - switch (widgetIndex) { - case WIDX_MODE_DROPDOWN: - // Seek to available modes for this ride - availableModes = ride_seek_available_modes(ride); + switch (widgetIndex) { + case WIDX_MODE_DROPDOWN: + // Seek to available modes for this ride + availableModes = ride_seek_available_modes(ride); - set_operating_setting(w->number, RIDE_SETTING_MODE, availableModes[dropdownIndex]); - break; - case WIDX_LOAD_DROPDOWN: - set_operating_setting(w->number, RIDE_SETTING_DEPARTURE, (ride->depart_flags & ~RIDE_DEPART_WAIT_FOR_LOAD_MASK) | dropdownIndex); - break; - } + set_operating_setting(w->number, RIDE_SETTING_MODE, availableModes[dropdownIndex]); + break; + case WIDX_LOAD_DROPDOWN: + set_operating_setting(w->number, RIDE_SETTING_DEPARTURE, (ride->depart_flags & ~RIDE_DEPART_WAIT_FOR_LOAD_MASK) | dropdownIndex); + break; + } } /** @@ -3317,17 +3317,17 @@ static void window_ride_operating_dropdown(rct_window *w, rct_widgetindex widget */ static void window_ride_operating_update(rct_window *w) { - rct_ride *ride; + rct_ride *ride; - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_3); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_3); - ride = get_ride(w->number); - if (ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_OPERATING) { - ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_OPERATING; - window_invalidate(w); - } + ride = get_ride(w->number); + if (ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_OPERATING) { + ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_OPERATING; + window_invalidate(w); + } } /** @@ -3336,214 +3336,214 @@ static void window_ride_operating_update(rct_window *w) */ static void window_ride_operating_invalidate(rct_window *w) { - rct_widget *widgets; - rct_ride *ride; - rct_ride_entry *rideEntry; - rct_string_id format, caption, tooltip; + rct_widget *widgets; + rct_ride *ride; + rct_ride_entry *rideEntry; + rct_string_id format, caption, tooltip; - widgets = window_ride_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_ride_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_ride_set_pressed_tab(w); + window_ride_set_pressed_tab(w); - ride = get_ride(w->number); - rideEntry = get_ride_entry_by_ride(ride); + ride = get_ride(w->number); + rideEntry = get_ride_entry_by_ride(ride); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); - // Widget setup - w->pressed_widgets &= ~( - (1ULL << WIDX_LOAD_CHECKBOX) | - (1ULL << WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX) | - (1ULL << WIDX_MINIMUM_LENGTH_CHECKBOX) | - (1ULL << WIDX_MAXIMUM_LENGTH_CHECKBOX) | - (1ULL << WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX) - ); + // Widget setup + w->pressed_widgets &= ~( + (1ULL << WIDX_LOAD_CHECKBOX) | + (1ULL << WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX) | + (1ULL << WIDX_MINIMUM_LENGTH_CHECKBOX) | + (1ULL << WIDX_MAXIMUM_LENGTH_CHECKBOX) | + (1ULL << WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX) + ); - // Lift hill speed - if ((rideEntry->enabledTrackPiecesA & (1UL << TRACK_LIFT_HILL)) && + // Lift hill speed + if ((rideEntry->enabledTrackPiecesA & (1UL << TRACK_LIFT_HILL)) && track_piece_is_available_for_ride_type(ride->type, TRACK_LIFT_HILL)) { - window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_LABEL].type = WWT_24; - window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED].type = WWT_SPINNER; - window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_INCREASE].type = WWT_DROPDOWN_BUTTON; - window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_DECREASE].type = WWT_DROPDOWN_BUTTON; - set_format_arg(20, uint16, ride->lift_hill_speed); - } else { - window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_LABEL].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_INCREASE].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_DECREASE].type = WWT_EMPTY; - } + window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_LABEL].type = WWT_24; + window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED].type = WWT_SPINNER; + window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_INCREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_DECREASE].type = WWT_DROPDOWN_BUTTON; + set_format_arg(20, uint16, ride->lift_hill_speed); + } else { + window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_LABEL].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_INCREASE].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_DECREASE].type = WWT_EMPTY; + } - // Number of circuits - if (ride_can_have_multiple_circuits(ride)) { - window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_LABEL].type = WWT_24; - window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS].type = WWT_SPINNER; - window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE].type = WWT_DROPDOWN_BUTTON; - window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE].type = WWT_DROPDOWN_BUTTON; - set_format_arg(22, uint16, ride->num_circuits); - } else { - window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_LABEL].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE].type = WWT_EMPTY; - } + // Number of circuits + if (ride_can_have_multiple_circuits(ride)) { + window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_LABEL].type = WWT_24; + window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS].type = WWT_SPINNER; + window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE].type = WWT_DROPDOWN_BUTTON; + set_format_arg(22, uint16, ride->num_circuits); + } else { + window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_LABEL].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE].type = WWT_EMPTY; + } - // Leave if another vehicle arrives at station - if ( - ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION) && - ride->num_vehicles > 1 && - ride->mode != RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED && - ride->mode != RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED - ) { - window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].type = WWT_CHECKBOX; - window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].tooltip = STR_LEAVE_IF_ANOTHER_VEHICLE_ARRIVES_TIP; - window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].text = RideNameConvention[ride->type].vehicle == RIDE_COMPONENT_TYPE_BOAT ? - STR_LEAVE_IF_ANOTHER_BOAT_ARRIVES : - STR_LEAVE_IF_ANOTHER_TRAIN_ARRIVES; - } else { - window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].type = WWT_EMPTY; - } + // Leave if another vehicle arrives at station + if ( + ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION) && + ride->num_vehicles > 1 && + ride->mode != RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED && + ride->mode != RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED + ) { + window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].type = WWT_CHECKBOX; + window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].tooltip = STR_LEAVE_IF_ANOTHER_VEHICLE_ARRIVES_TIP; + window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].text = RideNameConvention[ride->type].vehicle == RIDE_COMPONENT_TYPE_BOAT ? + STR_LEAVE_IF_ANOTHER_BOAT_ARRIVES : + STR_LEAVE_IF_ANOTHER_TRAIN_ARRIVES; + } else { + window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].type = WWT_EMPTY; + } - // Synchronise with adjacent stations - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS)) { - window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].type = WWT_CHECKBOX; - window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].image = STR_SYNCHRONISE_WITH_ADJACENT_STATIONS; - window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].tooltip = STR_SYNCHRONISE_WITH_ADJACENT_STATIONS_TIP; - } else { - window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].type = WWT_EMPTY; - } + // Synchronise with adjacent stations + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS)) { + window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].type = WWT_CHECKBOX; + window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].image = STR_SYNCHRONISE_WITH_ADJACENT_STATIONS; + window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].tooltip = STR_SYNCHRONISE_WITH_ADJACENT_STATIONS_TIP; + } else { + window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].type = WWT_EMPTY; + } - // Mode - window_ride_operating_widgets[WIDX_MODE].text = RideModeNames[ride->mode]; + // Mode + window_ride_operating_widgets[WIDX_MODE].text = RideModeNames[ride->mode]; - // Waiting - window_ride_operating_widgets[WIDX_LOAD].text = VehicleLoadNames[(ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD_MASK)]; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS)) { - window_ride_operating_widgets[WIDX_LOAD_CHECKBOX].type = WWT_CHECKBOX; - window_ride_operating_widgets[WIDX_LOAD].type = WWT_DROPDOWN; - window_ride_operating_widgets[WIDX_LOAD_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + // Waiting + window_ride_operating_widgets[WIDX_LOAD].text = VehicleLoadNames[(ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD_MASK)]; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS)) { + window_ride_operating_widgets[WIDX_LOAD_CHECKBOX].type = WWT_CHECKBOX; + window_ride_operating_widgets[WIDX_LOAD].type = WWT_DROPDOWN; + window_ride_operating_widgets[WIDX_LOAD_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_CHECKBOX].type = WWT_CHECKBOX; - window_ride_operating_widgets[WIDX_MINIMUM_LENGTH].type = WWT_SPINNER; - window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_INCREASE].type = WWT_DROPDOWN_BUTTON; - window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_DECREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_CHECKBOX].type = WWT_CHECKBOX; + window_ride_operating_widgets[WIDX_MINIMUM_LENGTH].type = WWT_SPINNER; + window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_INCREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_DECREASE].type = WWT_DROPDOWN_BUTTON; - window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_CHECKBOX].type = WWT_CHECKBOX; - window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH].type = WWT_SPINNER; - window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_INCREASE].type = WWT_DROPDOWN_BUTTON; - window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_DECREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_CHECKBOX].type = WWT_CHECKBOX; + window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH].type = WWT_SPINNER; + window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_INCREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_DECREASE].type = WWT_DROPDOWN_BUTTON; - set_format_arg(10, rct_string_id, STR_FORMAT_SECONDS); - set_format_arg(12, uint16, ride->min_waiting_time); - set_format_arg(14, rct_string_id, STR_FORMAT_SECONDS); - set_format_arg(16, uint16, ride->max_waiting_time); + set_format_arg(10, rct_string_id, STR_FORMAT_SECONDS); + set_format_arg(12, uint16, ride->min_waiting_time); + set_format_arg(14, rct_string_id, STR_FORMAT_SECONDS); + set_format_arg(16, uint16, ride->max_waiting_time); - if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD) - w->pressed_widgets |= (1 << WIDX_LOAD_CHECKBOX); - } else { - window_ride_operating_widgets[WIDX_LOAD_CHECKBOX].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_LOAD].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_LOAD_DROPDOWN].type = WWT_EMPTY; + if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD) + w->pressed_widgets |= (1 << WIDX_LOAD_CHECKBOX); + } else { + window_ride_operating_widgets[WIDX_LOAD_CHECKBOX].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_LOAD].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_LOAD_DROPDOWN].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_CHECKBOX].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_MINIMUM_LENGTH].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_INCREASE].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_DECREASE].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_CHECKBOX].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_MINIMUM_LENGTH].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_INCREASE].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_DECREASE].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_CHECKBOX].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_INCREASE].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_DECREASE].type = WWT_EMPTY; - } + window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_CHECKBOX].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_INCREASE].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_DECREASE].type = WWT_EMPTY; + } - if (ride->depart_flags & RIDE_DEPART_LEAVE_WHEN_ANOTHER_ARRIVES) - w->pressed_widgets |= (1 << WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX); - if (ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS) - w->pressed_widgets |= (1 << WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX); - if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH) - w->pressed_widgets |= (1 << WIDX_MINIMUM_LENGTH_CHECKBOX); - if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MAXIMUM_LENGTH) - w->pressed_widgets |= (1 << WIDX_MAXIMUM_LENGTH_CHECKBOX); + if (ride->depart_flags & RIDE_DEPART_LEAVE_WHEN_ANOTHER_ARRIVES) + w->pressed_widgets |= (1 << WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX); + if (ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS) + w->pressed_widgets |= (1 << WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX); + if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH) + w->pressed_widgets |= (1 << WIDX_MINIMUM_LENGTH_CHECKBOX); + if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MAXIMUM_LENGTH) + w->pressed_widgets |= (1 << WIDX_MAXIMUM_LENGTH_CHECKBOX); - // Mode specific functionality - set_format_arg(18, uint16, ride->operation_option); - switch (ride->mode) { - case RIDE_MODE_POWERED_LAUNCH_PASSTROUGH: - case RIDE_MODE_POWERED_LAUNCH: - case RIDE_MODE_UPWARD_LAUNCH: - case RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED: - set_format_arg(18, uint16, (ride->launch_speed * 9) / 4); - format = STR_RIDE_MODE_SPEED_VALUE; - caption = STR_LAUNCH_SPEED; - tooltip = STR_LAUNCH_SPEED_TIP; - break; - case RIDE_MODE_STATION_TO_STATION: - set_format_arg(18, uint16, (ride->speed * 9) / 4); - format = STR_RIDE_MODE_SPEED_VALUE; - caption = STR_SPEED; - tooltip = STR_SPEED_TIP; - break; - case RIDE_MODE_RACE: - set_format_arg(18, uint16, ride->num_laps); - format = STR_NUMBER_OF_LAPS_VALUE; - caption = STR_NUMBER_OF_LAPS; - tooltip = STR_NUMBER_OF_LAPS_TIP; - break; - case RIDE_MODE_BUMPERCAR: - format = STR_RIDE_MODE_TIME_LIMIT_VALUE; - caption = STR_TIME_LIMIT; - tooltip = STR_TIME_LIMIT_TIP; - break; - case RIDE_MODE_SWING: - format = STR_RIDE_MODE_NUMBER_OF_SWINGS_VALUE; - caption = STR_NUMBER_OF_SWINGS; - tooltip = STR_NUMBER_OF_SWINGS_TIP; - break; - case RIDE_MODE_ROTATION: - case RIDE_MODE_FORWARD_ROTATION: - case RIDE_MODE_BACKWARD_ROTATION: - format = STR_NUMBER_OF_ROTATIONS_VALUE; - caption = STR_NUMBER_OF_ROTATIONS; - tooltip = STR_NUMBER_OF_ROTATIONS_TIP; - break; - default: - format = STR_MAX_PEOPLE_ON_RIDE_VALUE; - caption = STR_MAX_PEOPLE_ON_RIDE; - tooltip = STR_MAX_PEOPLE_ON_RIDE_TIP; - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)) - format = 0; - break; - } + // Mode specific functionality + set_format_arg(18, uint16, ride->operation_option); + switch (ride->mode) { + case RIDE_MODE_POWERED_LAUNCH_PASSTROUGH: + case RIDE_MODE_POWERED_LAUNCH: + case RIDE_MODE_UPWARD_LAUNCH: + case RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED: + set_format_arg(18, uint16, (ride->launch_speed * 9) / 4); + format = STR_RIDE_MODE_SPEED_VALUE; + caption = STR_LAUNCH_SPEED; + tooltip = STR_LAUNCH_SPEED_TIP; + break; + case RIDE_MODE_STATION_TO_STATION: + set_format_arg(18, uint16, (ride->speed * 9) / 4); + format = STR_RIDE_MODE_SPEED_VALUE; + caption = STR_SPEED; + tooltip = STR_SPEED_TIP; + break; + case RIDE_MODE_RACE: + set_format_arg(18, uint16, ride->num_laps); + format = STR_NUMBER_OF_LAPS_VALUE; + caption = STR_NUMBER_OF_LAPS; + tooltip = STR_NUMBER_OF_LAPS_TIP; + break; + case RIDE_MODE_BUMPERCAR: + format = STR_RIDE_MODE_TIME_LIMIT_VALUE; + caption = STR_TIME_LIMIT; + tooltip = STR_TIME_LIMIT_TIP; + break; + case RIDE_MODE_SWING: + format = STR_RIDE_MODE_NUMBER_OF_SWINGS_VALUE; + caption = STR_NUMBER_OF_SWINGS; + tooltip = STR_NUMBER_OF_SWINGS_TIP; + break; + case RIDE_MODE_ROTATION: + case RIDE_MODE_FORWARD_ROTATION: + case RIDE_MODE_BACKWARD_ROTATION: + format = STR_NUMBER_OF_ROTATIONS_VALUE; + caption = STR_NUMBER_OF_ROTATIONS; + tooltip = STR_NUMBER_OF_ROTATIONS_TIP; + break; + default: + format = STR_MAX_PEOPLE_ON_RIDE_VALUE; + caption = STR_MAX_PEOPLE_ON_RIDE; + tooltip = STR_MAX_PEOPLE_ON_RIDE_TIP; + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES)) + format = 0; + break; + } - if (format != 0) { - if (ride->type == RIDE_TYPE_TWIST) { - uint16 arg; - memcpy(&arg, gCommonFormatArgs + 18, sizeof(uint16)); - set_format_arg(18, uint16, arg * 3); - } + if (format != 0) { + if (ride->type == RIDE_TYPE_TWIST) { + uint16 arg; + memcpy(&arg, gCommonFormatArgs + 18, sizeof(uint16)); + set_format_arg(18, uint16, arg * 3); + } - window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].type = WWT_24; - window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].text = caption; - window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].tooltip = tooltip; - window_ride_operating_widgets[WIDX_MODE_TWEAK].type = WWT_SPINNER; - window_ride_operating_widgets[WIDX_MODE_TWEAK].text = format; - window_ride_operating_widgets[WIDX_MODE_TWEAK_INCREASE].type = WWT_DROPDOWN_BUTTON; - window_ride_operating_widgets[WIDX_MODE_TWEAK_DECREASE].type = WWT_DROPDOWN_BUTTON; - w->pressed_widgets &= ~(1 << WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX); - } else { - window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_MODE_TWEAK].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_MODE_TWEAK_INCREASE].type = WWT_EMPTY; - window_ride_operating_widgets[WIDX_MODE_TWEAK_DECREASE].type = WWT_EMPTY; - } + window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].type = WWT_24; + window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].text = caption; + window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].tooltip = tooltip; + window_ride_operating_widgets[WIDX_MODE_TWEAK].type = WWT_SPINNER; + window_ride_operating_widgets[WIDX_MODE_TWEAK].text = format; + window_ride_operating_widgets[WIDX_MODE_TWEAK_INCREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_operating_widgets[WIDX_MODE_TWEAK_DECREASE].type = WWT_DROPDOWN_BUTTON; + w->pressed_widgets &= ~(1 << WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX); + } else { + window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_MODE_TWEAK].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_MODE_TWEAK_INCREASE].type = WWT_EMPTY; + window_ride_operating_widgets[WIDX_MODE_TWEAK_DECREASE].type = WWT_EMPTY; + } - window_ride_anchor_border_widgets(w); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); + window_ride_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); } /** @@ -3552,31 +3552,31 @@ static void window_ride_operating_invalidate(rct_window *w) */ static void window_ride_operating_paint(rct_window *w, rct_drawpixelinfo *dpi) { - rct_ride *ride; - uint16 blockSections; + rct_ride *ride; + uint16 blockSections; - window_draw_widgets(w, dpi); - window_ride_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_ride_draw_tab_images(dpi, w); - ride = get_ride(w->number); + ride = get_ride(w->number); - // Horizontal rule between mode settings and depart settings - gfx_fill_rect_inset( - dpi, - w->x + window_ride_operating_widgets[WIDX_PAGE_BACKGROUND].left + 4, - w->y + 103, - w->x + window_ride_operating_widgets[WIDX_PAGE_BACKGROUND].right - 5, - w->y + 104, - w->colours[1], - INSET_RECT_FLAG_BORDER_INSET - ); + // Horizontal rule between mode settings and depart settings + gfx_fill_rect_inset( + dpi, + w->x + window_ride_operating_widgets[WIDX_PAGE_BACKGROUND].left + 4, + w->y + 103, + w->x + window_ride_operating_widgets[WIDX_PAGE_BACKGROUND].right - 5, + w->y + 104, + w->colours[1], + INSET_RECT_FLAG_BORDER_INSET + ); - // Number of block sections - if (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED) { - blockSections = ride->num_block_brakes + ride->num_stations; - gfx_draw_string_left(dpi, STR_BLOCK_SECTIONS, &blockSections, COLOUR_BLACK, w->x + 21, - ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED ? w->y + 89 : w->y + 61); - } + // Number of block sections + if (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED) { + blockSections = ride->num_block_brakes + ride->num_stations; + gfx_draw_string_left(dpi, STR_BLOCK_SECTIONS, &blockSections, COLOUR_BLACK, w->x + 21, + ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED ? w->y + 89 : w->y + 61); + } } #pragma endregion @@ -3589,22 +3589,22 @@ static void window_ride_operating_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_ride_locate_mechanic(rct_window *w) { - rct_ride *ride; - rct_peep *mechanic; + rct_ride *ride; + rct_peep *mechanic; - ride = get_ride(w->number); + ride = get_ride(w->number); - // First check if there is a mechanic assigned - mechanic = ride_get_assigned_mechanic(ride); + // First check if there is a mechanic assigned + mechanic = ride_get_assigned_mechanic(ride); - // Otherwise find the closest mechanic - if (mechanic == NULL) - mechanic = ride_find_closest_mechanic(ride, 1); + // Otherwise find the closest mechanic + if (mechanic == NULL) + mechanic = ride_find_closest_mechanic(ride, 1); - if (mechanic == NULL) - window_error_open(STR_UNABLE_TO_LOCATE_MECHANIC, STR_NONE); - else - window_staff_open(mechanic); + if (mechanic == NULL) + window_error_open(STR_UNABLE_TO_LOCATE_MECHANIC, STR_NONE); + else + window_staff_open(mechanic); } /** @@ -3613,17 +3613,17 @@ static void window_ride_locate_mechanic(rct_window *w) */ static void window_ride_maintenance_draw_bar(rct_window *w, rct_drawpixelinfo *dpi, sint32 x, sint32 y, sint32 value, sint32 unk) { - gfx_fill_rect_inset(dpi, x, y, x + 149, y + 8, w->colours[1], INSET_RECT_F_30); - if (unk & (1u << 31)) { - unk &= ~(1u << 31); - if (game_is_not_paused() && (gCurrentTicks & 8)) - return; - } + gfx_fill_rect_inset(dpi, x, y, x + 149, y + 8, w->colours[1], INSET_RECT_F_30); + if (unk & (1u << 31)) { + unk &= ~(1u << 31); + if (game_is_not_paused() && (gCurrentTicks & 8)) + return; + } - value = ((186 * ((value * 2) & 0xFF)) >> 8) & 0xFF; - if (value > 2) { - gfx_fill_rect_inset(dpi, x + 2, y + 1, x + value + 1, y + 7, unk, 0); - } + value = ((186 * ((value * 2) & 0xFF)) >> 8) & 0xFF; + if (value > 2) { + gfx_fill_rect_inset(dpi, x + 2, y + 1, x + value + 1, y + 7, unk, 0); + } } /** @@ -3632,26 +3632,26 @@ static void window_ride_maintenance_draw_bar(rct_window *w, rct_drawpixelinfo *d */ static void window_ride_maintenance_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - case WIDX_TAB_8: - case WIDX_TAB_9: - case WIDX_TAB_10: - window_ride_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_LOCATE_MECHANIC: - window_ride_locate_mechanic(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + case WIDX_TAB_8: + case WIDX_TAB_9: + case WIDX_TAB_10: + window_ride_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_LOCATE_MECHANIC: + window_ride_locate_mechanic(w); + break; + } } /** @@ -3660,7 +3660,7 @@ static void window_ride_maintenance_mouseup(rct_window *w, rct_widgetindex widge */ static void window_ride_maintenance_resize(rct_window *w) { - window_set_resize(w, 316, 135, 316, 135); + window_set_resize(w, 316, 135, 316, 135); } /** @@ -3669,95 +3669,95 @@ static void window_ride_maintenance_resize(rct_window *w) */ static void window_ride_maintenance_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - rct_ride *ride = get_ride(w->number); - rct_ride_entry *ride_type = get_ride_entry(ride->subtype); - if (ride_type == NULL) { - return; - } + rct_ride *ride = get_ride(w->number); + rct_ride_entry *ride_type = get_ride_entry(ride->subtype); + if (ride_type == NULL) { + return; + } - rct_widget *dropdownWidget = widget; - sint32 j, num_items; + rct_widget *dropdownWidget = widget; + sint32 j, num_items; - switch (widgetIndex) { - case WIDX_INSPECTION_INTERVAL_DROPDOWN: - dropdownWidget--; - for (sint32 i = 0; i < 7; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = RideInspectionIntervalNames[i]; - } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 7, - widget->right - dropdownWidget->left - ); + switch (widgetIndex) { + case WIDX_INSPECTION_INTERVAL_DROPDOWN: + dropdownWidget--; + for (sint32 i = 0; i < 7; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = RideInspectionIntervalNames[i]; + } + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 7, + widget->right - dropdownWidget->left + ); - dropdown_set_checked(ride->inspection_interval, true); - break; + dropdown_set_checked(ride->inspection_interval, true); + break; - case WIDX_FORCE_BREAKDOWN: - num_items = 1; - for (j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { - if (ride_type->ride_type[j] != 0xFF) - break; - } - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_DEBUG_FIX_RIDE; - for (sint32 i = 0; i < 8; i++) { - assert(j < countof(ride_type->ride_type)); - if (RideAvailableBreakdowns[ride_type->ride_type[j]] & (uint8)(1 << i)) { - if (i == BREAKDOWN_BRAKES_FAILURE && (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED)) { - if (ride->num_vehicles != 1) - continue; - } - gDropdownItemsFormat[num_items] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[num_items] = RideBreakdownReasonNames[i]; - num_items++; - } - } - if (num_items == 1) { - window_error_open(STR_DEBUG_NO_BREAKDOWNS_AVAILABLE, STR_NONE); - } - else { - window_dropdown_show_text( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - DROPDOWN_FLAG_STAY_OPEN, - num_items - ); + case WIDX_FORCE_BREAKDOWN: + num_items = 1; + for (j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { + if (ride_type->ride_type[j] != 0xFF) + break; + } + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_DEBUG_FIX_RIDE; + for (sint32 i = 0; i < 8; i++) { + assert(j < countof(ride_type->ride_type)); + if (RideAvailableBreakdowns[ride_type->ride_type[j]] & (uint8)(1 << i)) { + if (i == BREAKDOWN_BRAKES_FAILURE && (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED)) { + if (ride->num_vehicles != 1) + continue; + } + gDropdownItemsFormat[num_items] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[num_items] = RideBreakdownReasonNames[i]; + num_items++; + } + } + if (num_items == 1) { + window_error_open(STR_DEBUG_NO_BREAKDOWNS_AVAILABLE, STR_NONE); + } + else { + window_dropdown_show_text( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + DROPDOWN_FLAG_STAY_OPEN, + num_items + ); - num_items = 1; - sint32 breakdownReason = ride->breakdown_reason_pending; - if (breakdownReason != BREAKDOWN_NONE && (ride->lifecycle_flags & RIDE_LIFECYCLE_BREAKDOWN_PENDING)) { - for (sint32 i = 0; i < 8; i++) { - if (RideAvailableBreakdowns[ride_type->ride_type[j]] & (uint8)(1 << i)) { - if (i == BREAKDOWN_BRAKES_FAILURE && (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED)) { - if (ride->num_vehicles != 1) - continue; - } - if (i == breakdownReason) { - dropdown_set_checked(num_items, true); - break; - } - gDropdownItemsFormat[num_items] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[num_items] = RideBreakdownReasonNames[i]; - num_items++; - } - } - } + num_items = 1; + sint32 breakdownReason = ride->breakdown_reason_pending; + if (breakdownReason != BREAKDOWN_NONE && (ride->lifecycle_flags & RIDE_LIFECYCLE_BREAKDOWN_PENDING)) { + for (sint32 i = 0; i < 8; i++) { + if (RideAvailableBreakdowns[ride_type->ride_type[j]] & (uint8)(1 << i)) { + if (i == BREAKDOWN_BRAKES_FAILURE && (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED)) { + if (ride->num_vehicles != 1) + continue; + } + if (i == breakdownReason) { + dropdown_set_checked(num_items, true); + break; + } + gDropdownItemsFormat[num_items] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[num_items] = RideBreakdownReasonNames[i]; + num_items++; + } + } + } - if ((ride->lifecycle_flags & RIDE_LIFECYCLE_BREAKDOWN_PENDING) == 0) { - gDropdownItemsDisabled = (1 << 0); - } - } - break; - } + if ((ride->lifecycle_flags & RIDE_LIFECYCLE_BREAKDOWN_PENDING) == 0) { + gDropdownItemsDisabled = (1 << 0); + } + } + break; + } } @@ -3767,83 +3767,83 @@ static void window_ride_maintenance_mousedown(rct_widgetindex widgetIndex, rct_w */ static void window_ride_maintenance_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (dropdownIndex == -1) - return; + if (dropdownIndex == -1) + return; - rct_vehicle *vehicle; - rct_ride *ride = get_ride(w->number); - rct_ride_entry *ride_type = get_ride_entry(ride->subtype); + rct_vehicle *vehicle; + rct_ride *ride = get_ride(w->number); + rct_ride_entry *ride_type = get_ride_entry(ride->subtype); - switch (widgetIndex) { - case WIDX_INSPECTION_INTERVAL_DROPDOWN: - gGameCommandErrorTitle = STR_CANT_CHANGE_OPERATING_MODE; - game_do_command(0, (dropdownIndex << 8) | 1, 0, (5 << 8) | w->number, GAME_COMMAND_SET_RIDE_SETTING, 0, 0); - break; + switch (widgetIndex) { + case WIDX_INSPECTION_INTERVAL_DROPDOWN: + gGameCommandErrorTitle = STR_CANT_CHANGE_OPERATING_MODE; + game_do_command(0, (dropdownIndex << 8) | 1, 0, (5 << 8) | w->number, GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + break; - case WIDX_FORCE_BREAKDOWN: - if (dropdownIndex == 0) { - switch (ride->breakdown_reason_pending) { - case BREAKDOWN_SAFETY_CUT_OUT: - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) - break; - for (sint32 i = 0; i < ride->num_vehicles; ++i) { - uint16 spriteId = ride->vehicles[i]; - do { - vehicle = GET_VEHICLE(spriteId); - vehicle->update_flags &= ~( - VEHICLE_UPDATE_FLAG_BROKEN_CAR | - VEHICLE_UPDATE_FLAG_7 | - VEHICLE_UPDATE_FLAG_BROKEN_TRAIN - ); - } while ((spriteId = vehicle->next_vehicle_on_train) != 0xFFFF); - } - break; - case BREAKDOWN_RESTRAINTS_STUCK_CLOSED: - case BREAKDOWN_RESTRAINTS_STUCK_OPEN: - case BREAKDOWN_DOORS_STUCK_CLOSED: - case BREAKDOWN_DOORS_STUCK_OPEN: - vehicle = &(get_sprite(ride->vehicles[ride->broken_vehicle])->vehicle); - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_BROKEN_CAR; - break; - case BREAKDOWN_VEHICLE_MALFUNCTION: - vehicle = &(get_sprite(ride->vehicles[ride->broken_vehicle])->vehicle); - vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_BROKEN_TRAIN; - break; - } - ride->lifecycle_flags &= ~(RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN); - window_invalidate_by_number(WC_RIDE, w->number); - break; - } - if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) { - window_error_open(STR_DEBUG_CANT_FORCE_BREAKDOWN, STR_DEBUG_RIDE_ALREADY_BROKEN); - } - else if (ride->status == RIDE_STATUS_CLOSED) { - window_error_open(STR_DEBUG_CANT_FORCE_BREAKDOWN, STR_DEBUG_RIDE_IS_CLOSED); - } - else { - sint32 j; - for (j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { - if (ride_type->ride_type[j] != 0xFF) - break; - } - sint32 i; - sint32 num_items = 1; - for (i = 0; i < 8; i++) { - assert(j < countof(ride_type->ride_type)); - if (RideAvailableBreakdowns[ride_type->ride_type[j]] & (uint8)(1 << i)) { - if (i == BREAKDOWN_BRAKES_FAILURE && (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED)) { - if (ride->num_vehicles != 1) - continue; - } - if (num_items == dropdownIndex) - break; - num_items++; - } - } - ride_prepare_breakdown(w->number, i); - } - break; - } + case WIDX_FORCE_BREAKDOWN: + if (dropdownIndex == 0) { + switch (ride->breakdown_reason_pending) { + case BREAKDOWN_SAFETY_CUT_OUT: + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK)) + break; + for (sint32 i = 0; i < ride->num_vehicles; ++i) { + uint16 spriteId = ride->vehicles[i]; + do { + vehicle = GET_VEHICLE(spriteId); + vehicle->update_flags &= ~( + VEHICLE_UPDATE_FLAG_BROKEN_CAR | + VEHICLE_UPDATE_FLAG_7 | + VEHICLE_UPDATE_FLAG_BROKEN_TRAIN + ); + } while ((spriteId = vehicle->next_vehicle_on_train) != 0xFFFF); + } + break; + case BREAKDOWN_RESTRAINTS_STUCK_CLOSED: + case BREAKDOWN_RESTRAINTS_STUCK_OPEN: + case BREAKDOWN_DOORS_STUCK_CLOSED: + case BREAKDOWN_DOORS_STUCK_OPEN: + vehicle = &(get_sprite(ride->vehicles[ride->broken_vehicle])->vehicle); + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_BROKEN_CAR; + break; + case BREAKDOWN_VEHICLE_MALFUNCTION: + vehicle = &(get_sprite(ride->vehicles[ride->broken_vehicle])->vehicle); + vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_BROKEN_TRAIN; + break; + } + ride->lifecycle_flags &= ~(RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN); + window_invalidate_by_number(WC_RIDE, w->number); + break; + } + if (ride->lifecycle_flags & (RIDE_LIFECYCLE_BREAKDOWN_PENDING | RIDE_LIFECYCLE_BROKEN_DOWN | RIDE_LIFECYCLE_CRASHED)) { + window_error_open(STR_DEBUG_CANT_FORCE_BREAKDOWN, STR_DEBUG_RIDE_ALREADY_BROKEN); + } + else if (ride->status == RIDE_STATUS_CLOSED) { + window_error_open(STR_DEBUG_CANT_FORCE_BREAKDOWN, STR_DEBUG_RIDE_IS_CLOSED); + } + else { + sint32 j; + for (j = 0; j < MAX_RIDE_TYPES_PER_RIDE_ENTRY; j++) { + if (ride_type->ride_type[j] != 0xFF) + break; + } + sint32 i; + sint32 num_items = 1; + for (i = 0; i < 8; i++) { + assert(j < countof(ride_type->ride_type)); + if (RideAvailableBreakdowns[ride_type->ride_type[j]] & (uint8)(1 << i)) { + if (i == BREAKDOWN_BRAKES_FAILURE && (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED || ride->mode == RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED)) { + if (ride->num_vehicles != 1) + continue; + } + if (num_items == dropdownIndex) + break; + num_items++; + } + } + ride_prepare_breakdown(w->number, i); + } + break; + } } @@ -3853,17 +3853,17 @@ static void window_ride_maintenance_dropdown(rct_window *w, rct_widgetindex widg */ static void window_ride_maintenance_update(rct_window *w) { - rct_ride *ride; + rct_ride *ride; - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_4); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_4); - ride = get_ride(w->number); - if (ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_MAINTENANCE) { - ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_MAINTENANCE; - window_invalidate(w); - } + ride = get_ride(w->number); + if (ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_MAINTENANCE) { + ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_MAINTENANCE; + window_invalidate(w); + } } /** @@ -3872,32 +3872,32 @@ static void window_ride_maintenance_update(rct_window *w) */ static void window_ride_maintenance_invalidate(rct_window *w) { - rct_widget *widgets; + rct_widget *widgets; - widgets = window_ride_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_ride_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_ride_set_pressed_tab(w); + window_ride_set_pressed_tab(w); - rct_ride *ride = get_ride(w->number); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); + rct_ride *ride = get_ride(w->number); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); - window_ride_maintenance_widgets[WIDX_INSPECTION_INTERVAL].text = RideInspectionIntervalNames[ride->inspection_interval]; + window_ride_maintenance_widgets[WIDX_INSPECTION_INTERVAL].text = RideInspectionIntervalNames[ride->inspection_interval]; - window_ride_anchor_border_widgets(w); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); + window_ride_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); - if (gConfigGeneral.debugging_tools && network_get_mode() == NETWORK_MODE_NONE) { - window_ride_maintenance_widgets[WIDX_FORCE_BREAKDOWN].type = WWT_FLATBTN; - } - else { - window_ride_maintenance_widgets[WIDX_FORCE_BREAKDOWN].type = WWT_EMPTY; + if (gConfigGeneral.debugging_tools && network_get_mode() == NETWORK_MODE_NONE) { + window_ride_maintenance_widgets[WIDX_FORCE_BREAKDOWN].type = WWT_FLATBTN; + } + else { + window_ride_maintenance_widgets[WIDX_FORCE_BREAKDOWN].type = WWT_EMPTY; - } + } } /** @@ -3906,105 +3906,105 @@ static void window_ride_maintenance_invalidate(rct_window *w) */ static void window_ride_maintenance_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_ride_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_ride_draw_tab_images(dpi, w); - rct_ride *ride = get_ride(w->number); + rct_ride *ride = get_ride(w->number); - // Locate mechanic button image - rct_widget *widget = &window_ride_maintenance_widgets[WIDX_LOCATE_MECHANIC]; - sint32 x = w->x + widget->left; - sint32 y = w->y + widget->top; - gfx_draw_sprite(dpi, (gStaffMechanicColour << 24) | 0xA0000000 | SPR_MECHANIC, x, y, 0); + // Locate mechanic button image + rct_widget *widget = &window_ride_maintenance_widgets[WIDX_LOCATE_MECHANIC]; + sint32 x = w->x + widget->left; + sint32 y = w->y + widget->top; + gfx_draw_sprite(dpi, (gStaffMechanicColour << 24) | 0xA0000000 | SPR_MECHANIC, x, y, 0); - // Inspection label - widget = &window_ride_maintenance_widgets[WIDX_INSPECTION_INTERVAL]; - x = w->x + 4; - y = w->y + widget->top + 1; - gfx_draw_string_left(dpi, STR_INSPECTION, NULL, COLOUR_BLACK, x, y); + // Inspection label + widget = &window_ride_maintenance_widgets[WIDX_INSPECTION_INTERVAL]; + x = w->x + 4; + y = w->y + widget->top + 1; + gfx_draw_string_left(dpi, STR_INSPECTION, NULL, COLOUR_BLACK, x, y); - // Reliability - widget = &window_ride_maintenance_widgets[WIDX_PAGE_BACKGROUND]; - x = w->x + widget->left + 4; - y = w->y + widget->top + 4; + // Reliability + widget = &window_ride_maintenance_widgets[WIDX_PAGE_BACKGROUND]; + x = w->x + widget->left + 4; + y = w->y + widget->top + 4; - uint16 reliability = ride->reliability >> 8; - gfx_draw_string_left(dpi, STR_RELIABILITY_LABEL_1757, &reliability, COLOUR_BLACK, x, y); - window_ride_maintenance_draw_bar(w, dpi, x + 103, y, max(10, reliability), COLOUR_BRIGHT_GREEN); - y += 11; + uint16 reliability = ride->reliability >> 8; + gfx_draw_string_left(dpi, STR_RELIABILITY_LABEL_1757, &reliability, COLOUR_BLACK, x, y); + window_ride_maintenance_draw_bar(w, dpi, x + 103, y, max(10, reliability), COLOUR_BRIGHT_GREEN); + y += 11; - uint16 downTime = ride->downtime; - gfx_draw_string_left(dpi, STR_DOWN_TIME_LABEL_1889, &downTime, COLOUR_BLACK, x, y); - window_ride_maintenance_draw_bar(w, dpi, x + 103, y, downTime, COLOUR_BRIGHT_RED); - y += 26; + uint16 downTime = ride->downtime; + gfx_draw_string_left(dpi, STR_DOWN_TIME_LABEL_1889, &downTime, COLOUR_BLACK, x, y); + window_ride_maintenance_draw_bar(w, dpi, x + 103, y, downTime, COLOUR_BRIGHT_RED); + y += 26; - // Last inspection - uint16 lastInspection = ride->last_inspection; + // Last inspection + uint16 lastInspection = ride->last_inspection; - // Use singular form for 1 minute of time or less - rct_string_id stringId; - if (lastInspection <= 1) - stringId = STR_TIME_SINCE_LAST_INSPECTION_MINUTE; - else if (lastInspection <= 240) - stringId = STR_TIME_SINCE_LAST_INSPECTION_MINUTES; - else - stringId = STR_TIME_SINCE_LAST_INSPECTION_MORE_THAN_4_HOURS; + // Use singular form for 1 minute of time or less + rct_string_id stringId; + if (lastInspection <= 1) + stringId = STR_TIME_SINCE_LAST_INSPECTION_MINUTE; + else if (lastInspection <= 240) + stringId = STR_TIME_SINCE_LAST_INSPECTION_MINUTES; + else + stringId = STR_TIME_SINCE_LAST_INSPECTION_MORE_THAN_4_HOURS; - gfx_draw_string_left(dpi, stringId, &lastInspection, COLOUR_BLACK, x, y); - y += 12; + gfx_draw_string_left(dpi, stringId, &lastInspection, COLOUR_BLACK, x, y); + y += 12; - // Last / current breakdown - if (ride->breakdown_reason == BREAKDOWN_NONE) - return; + // Last / current breakdown + if (ride->breakdown_reason == BREAKDOWN_NONE) + return; - stringId = (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) ? - STR_CURRENT_BREAKDOWN : - STR_LAST_BREAKDOWN; - rct_string_id breakdownMessage = RideBreakdownReasonNames[ride->breakdown_reason]; - gfx_draw_string_left(dpi, stringId, &breakdownMessage, COLOUR_BLACK, x, y); - y += 10; + stringId = (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) ? + STR_CURRENT_BREAKDOWN : + STR_LAST_BREAKDOWN; + rct_string_id breakdownMessage = RideBreakdownReasonNames[ride->breakdown_reason]; + gfx_draw_string_left(dpi, stringId, &breakdownMessage, COLOUR_BLACK, x, y); + y += 10; - // Mechanic status - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { - rct_peep *peep; - uint16 spriteIndex; - - switch (ride->mechanic_status) { - case RIDE_MECHANIC_STATUS_CALLING: - stringId = STR_NO_MECHANICS_ARE_HIRED_MESSAGE; - - FOR_ALL_STAFF(spriteIndex, peep) { - if (peep->staff_type == STAFF_TYPE_MECHANIC) { - stringId = STR_CALLING_MECHANIC; - break; - } - } - break; - case RIDE_MECHANIC_STATUS_HEADING: - stringId = STR_MEHCANIC_IS_HEADING_FOR_THE_RIDE; - break; - case RIDE_MECHANIC_STATUS_FIXING: - case RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES: - stringId = STR_MEHCANIC_IS_FIXING_THE_RIDE; - break; - default: - stringId = 0; - break; - } + // Mechanic status + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) { + rct_peep *peep; + uint16 spriteIndex; - if (stringId != 0) { - if (stringId == STR_CALLING_MECHANIC || stringId == STR_NO_MECHANICS_ARE_HIRED_MESSAGE) { - gfx_draw_string_left_wrapped(dpi, NULL, x + 4, y, 280, stringId, COLOUR_BLACK); - } else { - rct_peep *mechanicSprite = &(get_sprite(ride->mechanic)->peep); - if (peep_is_mechanic(mechanicSprite)) { - set_format_arg(0, rct_string_id, mechanicSprite->name_string_idx); - set_format_arg(2, uint32, mechanicSprite->id); - gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x + 4, y, 280, stringId, COLOUR_BLACK); - } - } - } - } + switch (ride->mechanic_status) { + case RIDE_MECHANIC_STATUS_CALLING: + stringId = STR_NO_MECHANICS_ARE_HIRED_MESSAGE; + + FOR_ALL_STAFF(spriteIndex, peep) { + if (peep->staff_type == STAFF_TYPE_MECHANIC) { + stringId = STR_CALLING_MECHANIC; + break; + } + } + break; + case RIDE_MECHANIC_STATUS_HEADING: + stringId = STR_MEHCANIC_IS_HEADING_FOR_THE_RIDE; + break; + case RIDE_MECHANIC_STATUS_FIXING: + case RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES: + stringId = STR_MEHCANIC_IS_FIXING_THE_RIDE; + break; + default: + stringId = 0; + break; + } + + if (stringId != 0) { + if (stringId == STR_CALLING_MECHANIC || stringId == STR_NO_MECHANICS_ARE_HIRED_MESSAGE) { + gfx_draw_string_left_wrapped(dpi, NULL, x + 4, y, 280, stringId, COLOUR_BLACK); + } else { + rct_peep *mechanicSprite = &(get_sprite(ride->mechanic)->peep); + if (peep_is_mechanic(mechanicSprite)) { + set_format_arg(0, rct_string_id, mechanicSprite->name_string_idx); + set_format_arg(2, uint32, mechanicSprite->id); + gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x + 4, y, 280, stringId, COLOUR_BLACK); + } + } + } + } } #pragma endregion @@ -4012,61 +4012,61 @@ static void window_ride_maintenance_paint(rct_window *w, rct_drawpixelinfo *dpi) #pragma region Colour const uint8 window_ride_entrance_style_list[] = { - RIDE_ENTRANCE_STYLE_PLAIN, - RIDE_ENTRANCE_STYLE_CANVAS_TENT, - RIDE_ENTRANCE_STYLE_WOODEN, - RIDE_ENTRANCE_STYLE_CASTLE_BROWN, - RIDE_ENTRANCE_STYLE_CASTLE_GREY, - RIDE_ENTRANCE_STYLE_LOG_CABIN, - RIDE_ENTRANCE_STYLE_JUNGLE, - RIDE_ENTRANCE_STYLE_CLASSICAL_ROMAN, - RIDE_ENTRANCE_STYLE_ABSTRACT, - RIDE_ENTRANCE_STYLE_SNOW_ICE, - RIDE_ENTRANCE_STYLE_PAGODA, - RIDE_ENTRANCE_STYLE_SPACE, - RIDE_ENTRANCE_STYLE_NONE + RIDE_ENTRANCE_STYLE_PLAIN, + RIDE_ENTRANCE_STYLE_CANVAS_TENT, + RIDE_ENTRANCE_STYLE_WOODEN, + RIDE_ENTRANCE_STYLE_CASTLE_BROWN, + RIDE_ENTRANCE_STYLE_CASTLE_GREY, + RIDE_ENTRANCE_STYLE_LOG_CABIN, + RIDE_ENTRANCE_STYLE_JUNGLE, + RIDE_ENTRANCE_STYLE_CLASSICAL_ROMAN, + RIDE_ENTRANCE_STYLE_ABSTRACT, + RIDE_ENTRANCE_STYLE_SNOW_ICE, + RIDE_ENTRANCE_STYLE_PAGODA, + RIDE_ENTRANCE_STYLE_SPACE, + RIDE_ENTRANCE_STYLE_NONE }; static uint32 window_ride_get_colour_button_image(sint32 colour) { - return 0x60000000 | (colour << 19) | SPR_PALETTE_BTN; + return 0x60000000 | (colour << 19) | SPR_PALETTE_BTN; } static sint32 window_ride_has_track_colour(rct_ride *ride, sint32 trackColour) { - uint16 colourUse = RideEntranceDefinitions[ride->entrance_style].colour_use_flags; + uint16 colourUse = RideEntranceDefinitions[ride->entrance_style].colour_use_flags; - switch (trackColour) { - case 0: return ((colourUse & 1) && !ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) || ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN); - case 1: return ((colourUse & 2) && !ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) || ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL); - case 2: return ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS); - default: return 0; - } + switch (trackColour) { + case 0: return ((colourUse & 1) && !ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) || ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN); + case 1: return ((colourUse & 2) && !ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) || ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL); + case 2: return ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS); + default: return 0; + } } static void window_ride_set_track_colour_scheme(rct_window *w, sint32 x, sint32 y) { - rct_map_element *mapElement; - uint8 newColourScheme; - sint32 interactionType, z, direction; + rct_map_element *mapElement; + uint8 newColourScheme; + sint32 interactionType, z, direction; - newColourScheme = (uint8)w->ride_colour; + newColourScheme = (uint8)w->ride_colour; - rct_xy16 mapCoord = { 0 }; - get_map_coordinates_from_pos(x, y, VIEWPORT_INTERACTION_MASK_RIDE, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL); - x = mapCoord.x; - y = mapCoord.y; + rct_xy16 mapCoord = { 0 }; + get_map_coordinates_from_pos(x, y, VIEWPORT_INTERACTION_MASK_RIDE, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL); + x = mapCoord.x; + y = mapCoord.y; - if (interactionType != VIEWPORT_INTERACTION_ITEM_RIDE) - return; - if (mapElement->properties.track.ride_index != w->number) - return; - if ((mapElement->properties.track.colour & 3) == newColourScheme) - return; + if (interactionType != VIEWPORT_INTERACTION_ITEM_RIDE) + return; + if (mapElement->properties.track.ride_index != w->number) + return; + if ((mapElement->properties.track.colour & 3) == newColourScheme) + return; - z = mapElement->base_height * 8; - direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; - sub_6C683D(&x, &y, &z, direction, mapElement->properties.track.type, newColourScheme, NULL, 4); + z = mapElement->base_height * 8; + direction = mapElement->type & MAP_ELEMENT_DIRECTION_MASK; + sub_6C683D(&x, &y, &z, direction, mapElement->properties.track.type, newColourScheme, NULL, 4); } /** @@ -4075,16 +4075,16 @@ static void window_ride_set_track_colour_scheme(rct_window *w, sint32 x, sint32 */ static void window_ride_colour_close(rct_window *w) { - if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) - return; + if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) + return; - if (gCurrentToolWidget.window_classification != w->classification) - return; + if (gCurrentToolWidget.window_classification != w->classification) + return; - if (gCurrentToolWidget.window_number != w->number) - return; + if (gCurrentToolWidget.window_number != w->number) + return; - tool_cancel(); + tool_cancel(); } /** @@ -4093,26 +4093,26 @@ static void window_ride_colour_close(rct_window *w) */ static void window_ride_colour_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - case WIDX_TAB_8: - case WIDX_TAB_9: - case WIDX_TAB_10: - window_ride_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_PAINT_INDIVIDUAL_AREA: - tool_set(w, WIDX_PAINT_INDIVIDUAL_AREA, TOOL_PAINT_DOWN); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + case WIDX_TAB_8: + case WIDX_TAB_9: + case WIDX_TAB_10: + window_ride_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_PAINT_INDIVIDUAL_AREA: + tool_set(w, WIDX_PAINT_INDIVIDUAL_AREA, TOOL_PAINT_DOWN); + break; + } } /** @@ -4121,7 +4121,7 @@ static void window_ride_colour_mouseup(rct_window *w, rct_widgetindex widgetInde */ static void window_ride_colour_resize(rct_window *w) { - window_set_resize(w, 316, 207, 316, 207); + window_set_resize(w, 316, 207, 316, 207); } /** @@ -4130,148 +4130,148 @@ static void window_ride_colour_resize(rct_window *w) */ static void window_ride_colour_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - rct_ride *ride; - uint16 colourSchemeIndex; - vehicle_colour vehicleColour; - rct_widget *dropdownWidget; - rct_ride_entry *rideEntry; - sint32 i, numItems; - rct_string_id stringId; + rct_ride *ride; + uint16 colourSchemeIndex; + vehicle_colour vehicleColour; + rct_widget *dropdownWidget; + rct_ride_entry *rideEntry; + sint32 i, numItems; + rct_string_id stringId; - ride = get_ride(w->number); - rideEntry = get_ride_entry_by_ride(ride); - colourSchemeIndex = w->ride_colour; - dropdownWidget = widget - 1; + ride = get_ride(w->number); + rideEntry = get_ride_entry_by_ride(ride); + colourSchemeIndex = w->ride_colour; + dropdownWidget = widget - 1; - switch (widgetIndex) { - case WIDX_TRACK_COLOUR_SCHEME_DROPDOWN: - for (i = 0; i < 4; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = ColourSchemeNames[i]; - } + switch (widgetIndex) { + case WIDX_TRACK_COLOUR_SCHEME_DROPDOWN: + for (i = 0; i < 4; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = ColourSchemeNames[i]; + } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 4, - widget->right - dropdownWidget->left - ); + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 4, + widget->right - dropdownWidget->left + ); - dropdown_set_checked(colourSchemeIndex, true); - break; - case WIDX_TRACK_MAIN_COLOUR: - window_dropdown_show_colour(w, widget, w->colours[1], ride->track_colour_main[colourSchemeIndex]); - break; - case WIDX_TRACK_ADDITIONAL_COLOUR: - window_dropdown_show_colour(w, widget, w->colours[1], ride->track_colour_additional[colourSchemeIndex]); - break; - case WIDX_TRACK_SUPPORT_COLOUR: - window_dropdown_show_colour(w, widget, w->colours[1], ride->track_colour_supports[colourSchemeIndex]); - break; - case WIDX_MAZE_STYLE_DROPDOWN: - for (i = 0; i < 4; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = MazeOptions[i].text; - } + dropdown_set_checked(colourSchemeIndex, true); + break; + case WIDX_TRACK_MAIN_COLOUR: + window_dropdown_show_colour(w, widget, w->colours[1], ride->track_colour_main[colourSchemeIndex]); + break; + case WIDX_TRACK_ADDITIONAL_COLOUR: + window_dropdown_show_colour(w, widget, w->colours[1], ride->track_colour_additional[colourSchemeIndex]); + break; + case WIDX_TRACK_SUPPORT_COLOUR: + window_dropdown_show_colour(w, widget, w->colours[1], ride->track_colour_supports[colourSchemeIndex]); + break; + case WIDX_MAZE_STYLE_DROPDOWN: + for (i = 0; i < 4; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = MazeOptions[i].text; + } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 4, - widget->right - dropdownWidget->left - ); + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 4, + widget->right - dropdownWidget->left + ); - dropdown_set_checked(ride->track_colour_supports[colourSchemeIndex], true); - break; - case WIDX_ENTRANCE_STYLE_DROPDOWN: - gDropdownItemsChecked = 0; - for (i = 0; i < countof(window_ride_entrance_style_list); i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = RideEntranceDefinitions[window_ride_entrance_style_list[i]].string_id; + dropdown_set_checked(ride->track_colour_supports[colourSchemeIndex], true); + break; + case WIDX_ENTRANCE_STYLE_DROPDOWN: + gDropdownItemsChecked = 0; + for (i = 0; i < countof(window_ride_entrance_style_list); i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = RideEntranceDefinitions[window_ride_entrance_style_list[i]].string_id; - if (ride->entrance_style == window_ride_entrance_style_list[i]) { - dropdown_set_checked(i, true); - } - } - uint64 checked = gDropdownItemsChecked; + if (ride->entrance_style == window_ride_entrance_style_list[i]) { + dropdown_set_checked(i, true); + } + } + uint64 checked = gDropdownItemsChecked; - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - countof(window_ride_entrance_style_list), - widget->right - dropdownWidget->left - ); + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + countof(window_ride_entrance_style_list), + widget->right - dropdownWidget->left + ); - gDropdownItemsChecked = checked; - break; - case WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN: - for (i = 0; i < 3; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = (RideComponentNames[RideNameConvention[ride->type].vehicle].singular << 16) | VehicleColourSchemeNames[i]; - } + gDropdownItemsChecked = checked; + break; + case WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN: + for (i = 0; i < 3; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = (RideComponentNames[RideNameConvention[ride->type].vehicle].singular << 16) | VehicleColourSchemeNames[i]; + } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - rideEntry->max_cars_in_train > 1 ? 3 : 2, - widget->right - dropdownWidget->left - ); + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + rideEntry->max_cars_in_train > 1 ? 3 : 2, + widget->right - dropdownWidget->left + ); - dropdown_set_checked(ride->colour_scheme_type & 3, true); - break; - case WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN: - numItems = ride->num_vehicles; - if ((ride->colour_scheme_type & 3) != VEHICLE_COLOUR_SCHEME_PER_TRAIN) - numItems = ride->num_cars_per_train; + dropdown_set_checked(ride->colour_scheme_type & 3, true); + break; + case WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN: + numItems = ride->num_vehicles; + if ((ride->colour_scheme_type & 3) != VEHICLE_COLOUR_SCHEME_PER_TRAIN) + numItems = ride->num_cars_per_train; - stringId = (ride->colour_scheme_type & 3) == VEHICLE_COLOUR_SCHEME_PER_TRAIN ? STR_RIDE_COLOUR_TRAIN_OPTION : STR_RIDE_COLOUR_VEHICLE_OPTION; - for (i = 0; i < 32; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = ((sint64)(i + 1) << 32) | ((RideComponentNames[RideNameConvention[ride->type].vehicle].capitalised) << 16) | stringId; - } + stringId = (ride->colour_scheme_type & 3) == VEHICLE_COLOUR_SCHEME_PER_TRAIN ? STR_RIDE_COLOUR_TRAIN_OPTION : STR_RIDE_COLOUR_VEHICLE_OPTION; + for (i = 0; i < 32; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = ((sint64)(i + 1) << 32) | ((RideComponentNames[RideNameConvention[ride->type].vehicle].capitalised) << 16) | stringId; + } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - numItems, - widget->right - dropdownWidget->left - ); + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + numItems, + widget->right - dropdownWidget->left + ); - dropdown_set_checked(w->var_48C, true); - break; - case WIDX_VEHICLE_MAIN_COLOUR: - vehicleColour = ride_get_vehicle_colour(ride, w->var_48C); - window_dropdown_show_colour(w, widget, w->colours[1], vehicleColour.main); - break; - case WIDX_VEHICLE_ADDITIONAL_COLOUR_1: - vehicleColour = ride_get_vehicle_colour(ride, w->var_48C); - window_dropdown_show_colour(w, widget, w->colours[1], vehicleColour.additional_1); - break; - case WIDX_VEHICLE_ADDITIONAL_COLOUR_2: - vehicleColour = ride_get_vehicle_colour(ride, w->var_48C); - window_dropdown_show_colour(w, widget, w->colours[1], vehicleColour.additional_2); - break; - } + dropdown_set_checked(w->var_48C, true); + break; + case WIDX_VEHICLE_MAIN_COLOUR: + vehicleColour = ride_get_vehicle_colour(ride, w->var_48C); + window_dropdown_show_colour(w, widget, w->colours[1], vehicleColour.main); + break; + case WIDX_VEHICLE_ADDITIONAL_COLOUR_1: + vehicleColour = ride_get_vehicle_colour(ride, w->var_48C); + window_dropdown_show_colour(w, widget, w->colours[1], vehicleColour.additional_1); + break; + case WIDX_VEHICLE_ADDITIONAL_COLOUR_2: + vehicleColour = ride_get_vehicle_colour(ride, w->var_48C); + window_dropdown_show_colour(w, widget, w->colours[1], vehicleColour.additional_2); + break; + } } /** @@ -4280,47 +4280,47 @@ static void window_ride_colour_mousedown(rct_widgetindex widgetIndex, rct_window */ static void window_ride_colour_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (dropdownIndex == -1) - return; + if (dropdownIndex == -1) + return; - switch (widgetIndex) { - case WIDX_TRACK_COLOUR_SCHEME_DROPDOWN: - w->ride_colour = (uint16)dropdownIndex; - window_invalidate(w); - break; - case WIDX_TRACK_MAIN_COLOUR: - game_do_command(0, (0 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->ride_colour, 0); - break; - case WIDX_TRACK_ADDITIONAL_COLOUR: - game_do_command(0, (1 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->ride_colour, 0); - break; - case WIDX_TRACK_SUPPORT_COLOUR: - game_do_command(0, (4 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->ride_colour, 0); - break; - case WIDX_MAZE_STYLE_DROPDOWN: - game_do_command(0, (4 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->ride_colour, 0); - break; - case WIDX_ENTRANCE_STYLE_DROPDOWN: - game_do_command(0, (6 << 8) | 1, 0, (window_ride_entrance_style_list[dropdownIndex] << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, 0, 0); - break; - case WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN: - game_do_command(0, (5 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, 0, 0); - w->var_48C = 0; - break; - case WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN: - w->var_48C = dropdownIndex; - window_invalidate(w); - break; - case WIDX_VEHICLE_MAIN_COLOUR: - game_do_command(0, (2 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->var_48C, 0); - break; - case WIDX_VEHICLE_ADDITIONAL_COLOUR_1: - game_do_command(0, (3 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->var_48C, 0); - break; - case WIDX_VEHICLE_ADDITIONAL_COLOUR_2: - game_do_command(0, (7 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->var_48C, 0); - break; - } + switch (widgetIndex) { + case WIDX_TRACK_COLOUR_SCHEME_DROPDOWN: + w->ride_colour = (uint16)dropdownIndex; + window_invalidate(w); + break; + case WIDX_TRACK_MAIN_COLOUR: + game_do_command(0, (0 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->ride_colour, 0); + break; + case WIDX_TRACK_ADDITIONAL_COLOUR: + game_do_command(0, (1 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->ride_colour, 0); + break; + case WIDX_TRACK_SUPPORT_COLOUR: + game_do_command(0, (4 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->ride_colour, 0); + break; + case WIDX_MAZE_STYLE_DROPDOWN: + game_do_command(0, (4 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->ride_colour, 0); + break; + case WIDX_ENTRANCE_STYLE_DROPDOWN: + game_do_command(0, (6 << 8) | 1, 0, (window_ride_entrance_style_list[dropdownIndex] << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, 0, 0); + break; + case WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN: + game_do_command(0, (5 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, 0, 0); + w->var_48C = 0; + break; + case WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN: + w->var_48C = dropdownIndex; + window_invalidate(w); + break; + case WIDX_VEHICLE_MAIN_COLOUR: + game_do_command(0, (2 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->var_48C, 0); + break; + case WIDX_VEHICLE_ADDITIONAL_COLOUR_1: + game_do_command(0, (3 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->var_48C, 0); + break; + case WIDX_VEHICLE_ADDITIONAL_COLOUR_2: + game_do_command(0, (7 << 8) | 1, 0, (dropdownIndex << 8) | w->number, GAME_COMMAND_SET_RIDE_APPEARANCE, w->var_48C, 0); + break; + } } /** @@ -4329,10 +4329,10 @@ static void window_ride_colour_dropdown(rct_window *w, rct_widgetindex widgetInd */ static void window_ride_colour_update(rct_window *w) { - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_5); - widget_invalidate(w, WIDX_VEHICLE_PREVIEW); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_5); + widget_invalidate(w, WIDX_VEHICLE_PREVIEW); } /** @@ -4341,8 +4341,8 @@ static void window_ride_colour_update(rct_window *w) */ static void window_ride_colour_tooldown(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (widgetIndex == WIDX_PAINT_INDIVIDUAL_AREA) - window_ride_set_track_colour_scheme(w, x, y); + if (widgetIndex == WIDX_PAINT_INDIVIDUAL_AREA) + window_ride_set_track_colour_scheme(w, x, y); } /** @@ -4351,8 +4351,8 @@ static void window_ride_colour_tooldown(rct_window *w, rct_widgetindex widgetInd */ static void window_ride_colour_tooldrag(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (widgetIndex == WIDX_PAINT_INDIVIDUAL_AREA) - window_ride_set_track_colour_scheme(w, x, y); + if (widgetIndex == WIDX_PAINT_INDIVIDUAL_AREA) + window_ride_set_track_colour_scheme(w, x, y); } /** @@ -4361,167 +4361,167 @@ static void window_ride_colour_tooldrag(rct_window *w, rct_widgetindex widgetInd */ static void window_ride_colour_invalidate(rct_window *w) { - rct_widget *widgets; - rct_ride_entry *rideEntry; - rct_ride *ride; - track_colour trackColour; - vehicle_colour vehicleColour; + rct_widget *widgets; + rct_ride_entry *rideEntry; + rct_ride *ride; + track_colour trackColour; + vehicle_colour vehicleColour; - widgets = window_ride_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_ride_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_ride_set_pressed_tab(w); + window_ride_set_pressed_tab(w); - ride = get_ride(w->number); - rideEntry = get_ride_entry_by_ride(ride); + ride = get_ride(w->number); + rideEntry = get_ride_entry_by_ride(ride); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); - // Track colours - sint32 colourScheme = w->ride_colour; - trackColour = ride_get_track_colour(ride, colourScheme); + // Track colours + sint32 colourScheme = w->ride_colour; + trackColour = ride_get_track_colour(ride, colourScheme); - // Maze style - if (ride->type == RIDE_TYPE_MAZE) { - window_ride_colour_widgets[WIDX_MAZE_STYLE].type = WWT_DROPDOWN; - window_ride_colour_widgets[WIDX_MAZE_STYLE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_ride_colour_widgets[WIDX_MAZE_STYLE].text = MazeOptions[trackColour.supports].text; - } else { - window_ride_colour_widgets[WIDX_MAZE_STYLE].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_MAZE_STYLE_DROPDOWN].type = WWT_EMPTY; - } + // Maze style + if (ride->type == RIDE_TYPE_MAZE) { + window_ride_colour_widgets[WIDX_MAZE_STYLE].type = WWT_DROPDOWN; + window_ride_colour_widgets[WIDX_MAZE_STYLE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_ride_colour_widgets[WIDX_MAZE_STYLE].text = MazeOptions[trackColour.supports].text; + } else { + window_ride_colour_widgets[WIDX_MAZE_STYLE].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_MAZE_STYLE_DROPDOWN].type = WWT_EMPTY; + } - // Track, multiple colour schemes - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR)) { - window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME].type = WWT_DROPDOWN; - window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_ride_colour_widgets[WIDX_PAINT_INDIVIDUAL_AREA].type = WWT_FLATBTN; - } else { - window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME_DROPDOWN].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_PAINT_INDIVIDUAL_AREA].type = WWT_EMPTY; - } + // Track, multiple colour schemes + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR)) { + window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME].type = WWT_DROPDOWN; + window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_ride_colour_widgets[WIDX_PAINT_INDIVIDUAL_AREA].type = WWT_FLATBTN; + } else { + window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME_DROPDOWN].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_PAINT_INDIVIDUAL_AREA].type = WWT_EMPTY; + } - // Track main colour - if (window_ride_has_track_colour(ride, 0)) { - window_ride_colour_widgets[WIDX_TRACK_MAIN_COLOUR].type = WWT_COLOURBTN; - window_ride_colour_widgets[WIDX_TRACK_MAIN_COLOUR].image = window_ride_get_colour_button_image(trackColour.main); - } else { - window_ride_colour_widgets[WIDX_TRACK_MAIN_COLOUR].type = WWT_EMPTY; - } + // Track main colour + if (window_ride_has_track_colour(ride, 0)) { + window_ride_colour_widgets[WIDX_TRACK_MAIN_COLOUR].type = WWT_COLOURBTN; + window_ride_colour_widgets[WIDX_TRACK_MAIN_COLOUR].image = window_ride_get_colour_button_image(trackColour.main); + } else { + window_ride_colour_widgets[WIDX_TRACK_MAIN_COLOUR].type = WWT_EMPTY; + } - // Track additional colour - if (window_ride_has_track_colour(ride, 1)) { - window_ride_colour_widgets[WIDX_TRACK_ADDITIONAL_COLOUR].type = WWT_COLOURBTN; - window_ride_colour_widgets[WIDX_TRACK_ADDITIONAL_COLOUR].image = window_ride_get_colour_button_image(trackColour.additional); - } else { - window_ride_colour_widgets[WIDX_TRACK_ADDITIONAL_COLOUR].type = WWT_EMPTY; - } + // Track additional colour + if (window_ride_has_track_colour(ride, 1)) { + window_ride_colour_widgets[WIDX_TRACK_ADDITIONAL_COLOUR].type = WWT_COLOURBTN; + window_ride_colour_widgets[WIDX_TRACK_ADDITIONAL_COLOUR].image = window_ride_get_colour_button_image(trackColour.additional); + } else { + window_ride_colour_widgets[WIDX_TRACK_ADDITIONAL_COLOUR].type = WWT_EMPTY; + } - // Track supports colour - if (window_ride_has_track_colour(ride, 2) && ride->type != RIDE_TYPE_MAZE) { - window_ride_colour_widgets[WIDX_TRACK_SUPPORT_COLOUR].type = WWT_COLOURBTN; - window_ride_colour_widgets[WIDX_TRACK_SUPPORT_COLOUR].image = window_ride_get_colour_button_image(trackColour.supports); - } else { - window_ride_colour_widgets[WIDX_TRACK_SUPPORT_COLOUR].type = WWT_EMPTY; - } + // Track supports colour + if (window_ride_has_track_colour(ride, 2) && ride->type != RIDE_TYPE_MAZE) { + window_ride_colour_widgets[WIDX_TRACK_SUPPORT_COLOUR].type = WWT_COLOURBTN; + window_ride_colour_widgets[WIDX_TRACK_SUPPORT_COLOUR].image = window_ride_get_colour_button_image(trackColour.supports); + } else { + window_ride_colour_widgets[WIDX_TRACK_SUPPORT_COLOUR].type = WWT_EMPTY; + } - // Track preview - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS)) - window_ride_colour_widgets[WIDX_TRACK_PREVIEW].type = WWT_SPINNER; - else - window_ride_colour_widgets[WIDX_TRACK_PREVIEW].type = WWT_EMPTY; + // Track preview + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS)) + window_ride_colour_widgets[WIDX_TRACK_PREVIEW].type = WWT_SPINNER; + else + window_ride_colour_widgets[WIDX_TRACK_PREVIEW].type = WWT_EMPTY; - // Entrance style - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT) { - window_ride_colour_widgets[WIDX_ENTRANCE_PREVIEW].type = WWT_SPINNER; - window_ride_colour_widgets[WIDX_ENTRANCE_STYLE].type = WWT_DROPDOWN; - window_ride_colour_widgets[WIDX_ENTRANCE_STYLE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + // Entrance style + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT) { + window_ride_colour_widgets[WIDX_ENTRANCE_PREVIEW].type = WWT_SPINNER; + window_ride_colour_widgets[WIDX_ENTRANCE_STYLE].type = WWT_DROPDOWN; + window_ride_colour_widgets[WIDX_ENTRANCE_STYLE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_ride_colour_widgets[WIDX_ENTRANCE_STYLE].text = RideEntranceDefinitions[ride->entrance_style].string_id; - } else { - window_ride_colour_widgets[WIDX_ENTRANCE_PREVIEW].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_ENTRANCE_STYLE].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_ENTRANCE_STYLE_DROPDOWN].type = WWT_EMPTY; - } + window_ride_colour_widgets[WIDX_ENTRANCE_STYLE].text = RideEntranceDefinitions[ride->entrance_style].string_id; + } else { + window_ride_colour_widgets[WIDX_ENTRANCE_PREVIEW].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_ENTRANCE_STYLE].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_ENTRANCE_STYLE_DROPDOWN].type = WWT_EMPTY; + } - // Vehicle colours - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES) && ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS)) { - sint32 vehicleColourSchemeType = ride->colour_scheme_type & 3; - if (vehicleColourSchemeType == 0) - w->var_48C = 0; + // Vehicle colours + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_VEHICLES) && ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS)) { + sint32 vehicleColourSchemeType = ride->colour_scheme_type & 3; + if (vehicleColourSchemeType == 0) + w->var_48C = 0; - vehicleColour = ride_get_vehicle_colour(ride, w->var_48C); + vehicleColour = ride_get_vehicle_colour(ride, w->var_48C); - window_ride_colour_widgets[WIDX_VEHICLE_PREVIEW].type = WWT_SCROLL; - window_ride_colour_widgets[WIDX_VEHICLE_MAIN_COLOUR].type = WWT_COLOURBTN; - window_ride_colour_widgets[WIDX_VEHICLE_MAIN_COLOUR].image = window_ride_get_colour_button_image(vehicleColour.main); + window_ride_colour_widgets[WIDX_VEHICLE_PREVIEW].type = WWT_SCROLL; + window_ride_colour_widgets[WIDX_VEHICLE_MAIN_COLOUR].type = WWT_COLOURBTN; + window_ride_colour_widgets[WIDX_VEHICLE_MAIN_COLOUR].image = window_ride_get_colour_button_image(vehicleColour.main); - uint32 colourFlags = 0; - for (sint32 i = 0; i < ride->num_cars_per_train; i++) { - uint8 vehicleTypeIndex = ride_entry_get_vehicle_at_position(ride->subtype, ride->num_cars_per_train, i); + uint32 colourFlags = 0; + for (sint32 i = 0; i < ride->num_cars_per_train; i++) { + uint8 vehicleTypeIndex = ride_entry_get_vehicle_at_position(ride->subtype, ride->num_cars_per_train, i); - colourFlags |= rideEntry->vehicles[vehicleTypeIndex].flags_b; - colourFlags = ror32(colourFlags, 16); - colourFlags |= rideEntry->vehicles[vehicleTypeIndex].flags_a; - colourFlags = ror32(colourFlags, 16); - } + colourFlags |= rideEntry->vehicles[vehicleTypeIndex].flags_b; + colourFlags = ror32(colourFlags, 16); + colourFlags |= rideEntry->vehicles[vehicleTypeIndex].flags_a; + colourFlags = ror32(colourFlags, 16); + } - // Additional colours - if (colourFlags & 1) { - window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].type = WWT_COLOURBTN; - window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].image = window_ride_get_colour_button_image(vehicleColour.additional_1); - if (colourFlags & 0x2000000) { - window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WWT_COLOURBTN; - window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].image = window_ride_get_colour_button_image(vehicleColour.additional_2); - } else { - window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WWT_EMPTY; - } - } else { - window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WWT_EMPTY; - } + // Additional colours + if (colourFlags & 1) { + window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].type = WWT_COLOURBTN; + window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].image = window_ride_get_colour_button_image(vehicleColour.additional_1); + if (colourFlags & 0x2000000) { + window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WWT_COLOURBTN; + window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].image = window_ride_get_colour_button_image(vehicleColour.additional_2); + } else { + window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WWT_EMPTY; + } + } else { + window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WWT_EMPTY; + } - // Vehicle colour scheme type - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_16) && (ride->num_cars_per_train | ride->num_vehicles) > 1) { - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME].type = WWT_DROPDOWN; - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - } else { - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN].type = WWT_EMPTY; - } - set_format_arg( 6, rct_string_id, VehicleColourSchemeNames[vehicleColourSchemeType]); - set_format_arg( 8, rct_string_id, RideComponentNames[RideNameConvention[ride->type].vehicle].singular); - set_format_arg(10, rct_string_id, RideComponentNames[RideNameConvention[ride->type].vehicle].capitalised); - set_format_arg(12, uint16, w->var_48C + 1); - // Vehicle index - if (vehicleColourSchemeType != 0) { - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].type = WWT_DROPDOWN; - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].text = vehicleColourSchemeType == 1 ? STR_RIDE_COLOUR_TRAIN_VALUE : STR_RIDE_COLOUR_VEHICLE_VALUE; - } else { - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN].type = WWT_EMPTY; - } - } else { - window_ride_colour_widgets[WIDX_VEHICLE_PREVIEW].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_VEHICLE_MAIN_COLOUR].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].type = WWT_EMPTY; - window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WWT_EMPTY; - } + // Vehicle colour scheme type + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_16) && (ride->num_cars_per_train | ride->num_vehicles) > 1) { + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME].type = WWT_DROPDOWN; + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + } else { + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN].type = WWT_EMPTY; + } + set_format_arg( 6, rct_string_id, VehicleColourSchemeNames[vehicleColourSchemeType]); + set_format_arg( 8, rct_string_id, RideComponentNames[RideNameConvention[ride->type].vehicle].singular); + set_format_arg(10, rct_string_id, RideComponentNames[RideNameConvention[ride->type].vehicle].capitalised); + set_format_arg(12, uint16, w->var_48C + 1); + // Vehicle index + if (vehicleColourSchemeType != 0) { + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].type = WWT_DROPDOWN; + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].text = vehicleColourSchemeType == 1 ? STR_RIDE_COLOUR_TRAIN_VALUE : STR_RIDE_COLOUR_VEHICLE_VALUE; + } else { + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN].type = WWT_EMPTY; + } + } else { + window_ride_colour_widgets[WIDX_VEHICLE_PREVIEW].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_VEHICLE_MAIN_COLOUR].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].type = WWT_EMPTY; + window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WWT_EMPTY; + } - set_format_arg(14, rct_string_id, ColourSchemeNames[colourScheme]); + set_format_arg(14, rct_string_id, ColourSchemeNames[colourScheme]); - window_ride_anchor_border_widgets(w); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); + window_ride_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); } /** @@ -4530,100 +4530,100 @@ static void window_ride_colour_invalidate(rct_window *w) */ static void window_ride_colour_paint(rct_window *w, rct_drawpixelinfo *dpi) { - // TODO: This should use lists and identified sprites - rct_drawpixelinfo clippedDpi; - rct_widget *widget; - rct_ride *ride; - rct_ride_entry *rideEntry; + // TODO: This should use lists and identified sprites + rct_drawpixelinfo clippedDpi; + rct_widget *widget; + rct_ride *ride; + rct_ride_entry *rideEntry; - ride = get_ride(w->number); - rideEntry = get_ride_entry_by_ride(ride); + ride = get_ride(w->number); + rideEntry = get_ride_entry_by_ride(ride); - window_draw_widgets(w, dpi); - window_ride_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_ride_draw_tab_images(dpi, w); - // Track / shop item preview - widget = &window_ride_colour_widgets[WIDX_TRACK_PREVIEW]; - if (widget->type != WWT_EMPTY) - gfx_fill_rect(dpi, w->x + widget->left + 1, w->y + widget->top + 1, w->x + widget->right - 1, w->y + widget->bottom - 1, PALETTE_INDEX_12); + // Track / shop item preview + widget = &window_ride_colour_widgets[WIDX_TRACK_PREVIEW]; + if (widget->type != WWT_EMPTY) + gfx_fill_rect(dpi, w->x + widget->left + 1, w->y + widget->top + 1, w->x + widget->right - 1, w->y + widget->bottom - 1, PALETTE_INDEX_12); - track_colour trackColour = ride_get_track_colour(ride, w->ride_colour); + track_colour trackColour = ride_get_track_colour(ride, w->ride_colour); - // - if (rideEntry->shop_item == 0xFF) { - sint32 x = w->x + widget->left; - sint32 y = w->y + widget->top; + // + if (rideEntry->shop_item == 0xFF) { + sint32 x = w->x + widget->left; + sint32 y = w->y + widget->top; - // Track - if (ride->type == RIDE_TYPE_MAZE) { - sint32 spriteIndex = MazeOptions[trackColour.supports].sprite; - gfx_draw_sprite(dpi, spriteIndex, x, y, 0); - } else { - sint32 spriteIndex = TrackColourPreviews[ride->type].track; - if (spriteIndex != 0) { - spriteIndex |= (trackColour.additional << 24) | (trackColour.main << 19); - spriteIndex |= 0xA0000000; - gfx_draw_sprite(dpi, spriteIndex, x, y, 0); - } + // Track + if (ride->type == RIDE_TYPE_MAZE) { + sint32 spriteIndex = MazeOptions[trackColour.supports].sprite; + gfx_draw_sprite(dpi, spriteIndex, x, y, 0); + } else { + sint32 spriteIndex = TrackColourPreviews[ride->type].track; + if (spriteIndex != 0) { + spriteIndex |= (trackColour.additional << 24) | (trackColour.main << 19); + spriteIndex |= 0xA0000000; + gfx_draw_sprite(dpi, spriteIndex, x, y, 0); + } - // Supports - spriteIndex = TrackColourPreviews[ride->type].supports; - if (spriteIndex != 0) { - spriteIndex |= trackColour.supports << 19; - spriteIndex |= 0x20000000; - gfx_draw_sprite(dpi, spriteIndex, x, y, 0); - } - } - } else { - sint32 x = w->x + (widget->left + widget->right) / 2 - 8; - sint32 y = w->y + (widget->bottom + widget->top) / 2 - 6; + // Supports + spriteIndex = TrackColourPreviews[ride->type].supports; + if (spriteIndex != 0) { + spriteIndex |= trackColour.supports << 19; + spriteIndex |= 0x20000000; + gfx_draw_sprite(dpi, spriteIndex, x, y, 0); + } + } + } else { + sint32 x = w->x + (widget->left + widget->right) / 2 - 8; + sint32 y = w->y + (widget->bottom + widget->top) / 2 - 6; - uint8 shopItem = rideEntry->shop_item_secondary == 255 ? rideEntry->shop_item : rideEntry->shop_item_secondary; - sint32 spriteIndex = ShopItemImage[shopItem]; - spriteIndex |= ride->track_colour_main[0] << 19; - spriteIndex |= 0x20000000; + uint8 shopItem = rideEntry->shop_item_secondary == 255 ? rideEntry->shop_item : rideEntry->shop_item_secondary; + sint32 spriteIndex = ShopItemImage[shopItem]; + spriteIndex |= ride->track_colour_main[0] << 19; + spriteIndex |= 0x20000000; - gfx_draw_sprite(dpi, spriteIndex, x, y, 0); - } + gfx_draw_sprite(dpi, spriteIndex, x, y, 0); + } - // Entrance preview - trackColour = ride_get_track_colour(ride, 0); - widget = &w->widgets[WIDX_ENTRANCE_PREVIEW]; - if (widget->type != WWT_EMPTY) { - if (clip_drawpixelinfo( - &clippedDpi, - dpi, - w->x + widget->left + 1, - w->y + widget->top + 1, - widget->right - widget->left, - widget->bottom - widget->top - )) { - gfx_clear(&clippedDpi, PALETTE_INDEX_12); + // Entrance preview + trackColour = ride_get_track_colour(ride, 0); + widget = &w->widgets[WIDX_ENTRANCE_PREVIEW]; + if (widget->type != WWT_EMPTY) { + if (clip_drawpixelinfo( + &clippedDpi, + dpi, + w->x + widget->left + 1, + w->y + widget->top + 1, + widget->right - widget->left, + widget->bottom - widget->top + )) { + gfx_clear(&clippedDpi, PALETTE_INDEX_12); - if (ride->entrance_style != RIDE_ENTRANCE_STYLE_NONE) { - const rct_ride_entrance_definition *entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; + if (ride->entrance_style != RIDE_ENTRANCE_STYLE_NONE) { + const rct_ride_entrance_definition *entranceStyle = &RideEntranceDefinitions[ride->entrance_style]; - sint32 terniaryColour = 0; - if (entranceStyle->base_image_id & 0x40000000) { - terniaryColour = 0x40000000 | (GlassPaletteIds[trackColour.main] << 19); - } + sint32 terniaryColour = 0; + if (entranceStyle->base_image_id & 0x40000000) { + terniaryColour = 0x40000000 | (GlassPaletteIds[trackColour.main] << 19); + } - sint32 spriteIndex = (trackColour.additional << 24) | (trackColour.main << 19); - spriteIndex |= 0xA0000000; - spriteIndex += RideEntranceDefinitions[ride->entrance_style].sprite_index; + sint32 spriteIndex = (trackColour.additional << 24) | (trackColour.main << 19); + spriteIndex |= 0xA0000000; + spriteIndex += RideEntranceDefinitions[ride->entrance_style].sprite_index; - // Back - gfx_draw_sprite(&clippedDpi, spriteIndex, 34, 20, terniaryColour); + // Back + gfx_draw_sprite(&clippedDpi, spriteIndex, 34, 20, terniaryColour); - // Front - gfx_draw_sprite(&clippedDpi, spriteIndex + 4, 34, 20, terniaryColour); + // Front + gfx_draw_sprite(&clippedDpi, spriteIndex + 4, 34, 20, terniaryColour); - // Glass - if (terniaryColour != 0) - gfx_draw_sprite(&clippedDpi, ((spriteIndex + 20) & 0x7FFFF) + terniaryColour, 34, 20, terniaryColour); - } - } - } + // Glass + if (terniaryColour != 0) + gfx_draw_sprite(&clippedDpi, ((spriteIndex + 20) & 0x7FFFF) + terniaryColour, 34, 20, terniaryColour); + } + } + } } /** @@ -4632,40 +4632,40 @@ static void window_ride_colour_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_ride_colour_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - rct_ride *ride; - rct_ride_entry *rideEntry; - rct_widget *vehiclePreviewWidget; - sint32 trainCarIndex, x, y, spriteIndex; - vehicle_colour vehicleColour; + rct_ride *ride; + rct_ride_entry *rideEntry; + rct_widget *vehiclePreviewWidget; + sint32 trainCarIndex, x, y, spriteIndex; + vehicle_colour vehicleColour; - ride = get_ride(w->number); - rideEntry = get_ride_entry_by_ride(ride); - vehiclePreviewWidget = &window_ride_colour_widgets[WIDX_VEHICLE_PREVIEW]; - vehicleColour = ride_get_vehicle_colour(ride, w->var_48C); + ride = get_ride(w->number); + rideEntry = get_ride_entry_by_ride(ride); + vehiclePreviewWidget = &window_ride_colour_widgets[WIDX_VEHICLE_PREVIEW]; + vehicleColour = ride_get_vehicle_colour(ride, w->var_48C); - // Background colour - gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, PALETTE_INDEX_12); + // Background colour + gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, PALETTE_INDEX_12); - // ? - x = (vehiclePreviewWidget->right - vehiclePreviewWidget->left) / 2; - y = vehiclePreviewWidget->bottom - vehiclePreviewWidget->top - 15; + // ? + x = (vehiclePreviewWidget->right - vehiclePreviewWidget->left) / 2; + y = vehiclePreviewWidget->bottom - vehiclePreviewWidget->top - 15; - // ? - trainCarIndex = (ride->colour_scheme_type & 3) == RIDE_COLOUR_SCHEME_DIFFERENT_PER_CAR ? - w->var_48C : rideEntry->tab_vehicle; + // ? + trainCarIndex = (ride->colour_scheme_type & 3) == RIDE_COLOUR_SCHEME_DIFFERENT_PER_CAR ? + w->var_48C : rideEntry->tab_vehicle; - rct_ride_entry_vehicle* rideVehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, ride->num_cars_per_train, trainCarIndex)]; + rct_ride_entry_vehicle* rideVehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(ride->subtype, ride->num_cars_per_train, trainCarIndex)]; - y += rideVehicleEntry->tab_height; + y += rideVehicleEntry->tab_height; - // Draw the coloured spinning vehicle - spriteIndex = (rideVehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_11) ? w->frame_no / 4 : w->frame_no / 2; - spriteIndex &= rideVehicleEntry->rotation_frame_mask; - spriteIndex *= rideVehicleEntry->var_16; - spriteIndex += rideVehicleEntry->base_image_id; - spriteIndex |= (vehicleColour.additional_1 << 24) | (vehicleColour.main << 19); - spriteIndex |= 0x80000000; - gfx_draw_sprite(dpi, spriteIndex, x, y, vehicleColour.additional_2); + // Draw the coloured spinning vehicle + spriteIndex = (rideVehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_11) ? w->frame_no / 4 : w->frame_no / 2; + spriteIndex &= rideVehicleEntry->rotation_frame_mask; + spriteIndex *= rideVehicleEntry->var_16; + spriteIndex += rideVehicleEntry->base_image_id; + spriteIndex |= (vehicleColour.additional_1 << 24) | (vehicleColour.main << 19); + spriteIndex |= 0x80000000; + gfx_draw_sprite(dpi, spriteIndex, x, y, vehicleColour.additional_2); } #pragma endregion @@ -4673,35 +4673,35 @@ static void window_ride_colour_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi #pragma region Music const uint8 MusicStyleOrder[] = { - MUSIC_STYLE_GENTLE, - MUSIC_STYLE_SUMMER, - MUSIC_STYLE_WATER, - MUSIC_STYLE_RAGTIME, - MUSIC_STYLE_TECHNO, - MUSIC_STYLE_MECHANICAL, - MUSIC_STYLE_MODERN, - MUSIC_STYLE_WILD_WEST, - MUSIC_STYLE_PIRATES, - MUSIC_STYLE_ROCK, - MUSIC_STYLE_ROCK_STYLE_2, - MUSIC_STYLE_ROCK_STYLE_3, - MUSIC_STYLE_FANTASY, - MUSIC_STYLE_HORROR, - MUSIC_STYLE_TOYLAND, - MUSIC_STYLE_CANDY_STYLE, - MUSIC_STYLE_ROMAN_FANFARE, - MUSIC_STYLE_ORIENTAL, - MUSIC_STYLE_MARTIAN, - MUSIC_STYLE_SPACE, - MUSIC_STYLE_JUNGLE_DRUMS, - MUSIC_STYLE_JURASSIC, - MUSIC_STYLE_EGYPTIAN, - MUSIC_STYLE_DODGEMS_BEAT, - MUSIC_STYLE_SNOW, - MUSIC_STYLE_ICE, - MUSIC_STYLE_MEDIEVAL, - MUSIC_STYLE_URBAN, - MUSIC_STYLE_ORGAN + MUSIC_STYLE_GENTLE, + MUSIC_STYLE_SUMMER, + MUSIC_STYLE_WATER, + MUSIC_STYLE_RAGTIME, + MUSIC_STYLE_TECHNO, + MUSIC_STYLE_MECHANICAL, + MUSIC_STYLE_MODERN, + MUSIC_STYLE_WILD_WEST, + MUSIC_STYLE_PIRATES, + MUSIC_STYLE_ROCK, + MUSIC_STYLE_ROCK_STYLE_2, + MUSIC_STYLE_ROCK_STYLE_3, + MUSIC_STYLE_FANTASY, + MUSIC_STYLE_HORROR, + MUSIC_STYLE_TOYLAND, + MUSIC_STYLE_CANDY_STYLE, + MUSIC_STYLE_ROMAN_FANFARE, + MUSIC_STYLE_ORIENTAL, + MUSIC_STYLE_MARTIAN, + MUSIC_STYLE_SPACE, + MUSIC_STYLE_JUNGLE_DRUMS, + MUSIC_STYLE_JURASSIC, + MUSIC_STYLE_EGYPTIAN, + MUSIC_STYLE_DODGEMS_BEAT, + MUSIC_STYLE_SNOW, + MUSIC_STYLE_ICE, + MUSIC_STYLE_MEDIEVAL, + MUSIC_STYLE_URBAN, + MUSIC_STYLE_ORGAN }; static uint8 window_ride_current_music_style_order[42]; @@ -4712,12 +4712,12 @@ static uint8 window_ride_current_music_style_order[42]; */ static void window_ride_toggle_music(rct_window *w) { - rct_ride *ride = get_ride(w->number); + rct_ride *ride = get_ride(w->number); - sint32 activateMusic = (ride->lifecycle_flags & RIDE_LIFECYCLE_MUSIC) ? 0 : 1; + sint32 activateMusic = (ride->lifecycle_flags & RIDE_LIFECYCLE_MUSIC) ? 0 : 1; - gGameCommandErrorTitle = STR_CANT_CHANGE_OPERATING_MODE; - game_do_command(0, (activateMusic << 8) | 1, 0, (6 << 8) | w->number, GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + gGameCommandErrorTitle = STR_CANT_CHANGE_OPERATING_MODE; + game_do_command(0, (activateMusic << 8) | 1, 0, (6 << 8) | w->number, GAME_COMMAND_SET_RIDE_SETTING, 0, 0); } /** @@ -4726,26 +4726,26 @@ static void window_ride_toggle_music(rct_window *w) */ static void window_ride_music_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - case WIDX_TAB_8: - case WIDX_TAB_9: - case WIDX_TAB_10: - window_ride_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_PLAY_MUSIC: - window_ride_toggle_music(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + case WIDX_TAB_8: + case WIDX_TAB_9: + case WIDX_TAB_10: + window_ride_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_PLAY_MUSIC: + window_ride_toggle_music(w); + break; + } } /** @@ -4754,8 +4754,8 @@ static void window_ride_music_mouseup(rct_window *w, rct_widgetindex widgetIndex */ static void window_ride_music_resize(rct_window *w) { - w->flags |= WF_RESIZABLE; - window_set_resize(w, 316, 81, 316, 81); + w->flags |= WF_RESIZABLE; + window_set_resize(w, 316, 81, 316, 81); } /** @@ -4764,49 +4764,49 @@ static void window_ride_music_resize(rct_window *w) */ static void window_ride_music_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - rct_widget *dropdownWidget; - sint32 i; + rct_widget *dropdownWidget; + sint32 i; - if (widgetIndex != WIDX_MUSIC_DROPDOWN) - return; + if (widgetIndex != WIDX_MUSIC_DROPDOWN) + return; - dropdownWidget = widget - 1; - rct_ride *ride = get_ride(w->number); + dropdownWidget = widget - 1; + rct_ride *ride = get_ride(w->number); - sint32 numItems = 0; - if (ride->type == RIDE_TYPE_MERRY_GO_ROUND) { - window_ride_current_music_style_order[numItems++] = MUSIC_STYLE_FAIRGROUND_ORGAN; - } else { - for (i = 0; i < countof(MusicStyleOrder); i++) - window_ride_current_music_style_order[numItems++] = MusicStyleOrder[i]; + sint32 numItems = 0; + if (ride->type == RIDE_TYPE_MERRY_GO_ROUND) { + window_ride_current_music_style_order[numItems++] = MUSIC_STYLE_FAIRGROUND_ORGAN; + } else { + for (i = 0; i < countof(MusicStyleOrder); i++) + window_ride_current_music_style_order[numItems++] = MusicStyleOrder[i]; - if (gRideMusicInfoList[36]->length != 0) - window_ride_current_music_style_order[numItems++] = MUSIC_STYLE_CUSTOM_MUSIC_1; - if (gRideMusicInfoList[37]->length != 0) - window_ride_current_music_style_order[numItems++] = MUSIC_STYLE_CUSTOM_MUSIC_2; - } + if (gRideMusicInfoList[36]->length != 0) + window_ride_current_music_style_order[numItems++] = MUSIC_STYLE_CUSTOM_MUSIC_1; + if (gRideMusicInfoList[37]->length != 0) + window_ride_current_music_style_order[numItems++] = MUSIC_STYLE_CUSTOM_MUSIC_2; + } - for (i = 0; i < numItems; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = MusicStyleNames[window_ride_current_music_style_order[i]]; - } + for (i = 0; i < numItems; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = MusicStyleNames[window_ride_current_music_style_order[i]]; + } - window_dropdown_show_text_custom_width( - w->x + dropdownWidget->left, - w->y + dropdownWidget->top, - dropdownWidget->bottom - dropdownWidget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - numItems, - widget->right - dropdownWidget->left - ); + window_dropdown_show_text_custom_width( + w->x + dropdownWidget->left, + w->y + dropdownWidget->top, + dropdownWidget->bottom - dropdownWidget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + numItems, + widget->right - dropdownWidget->left + ); - for (i = 0; i < numItems; i++) { - if (window_ride_current_music_style_order[i] == ride->music) { - dropdown_set_checked(i, true); - } - } + for (i = 0; i < numItems; i++) { + if (window_ride_current_music_style_order[i] == ride->music) { + dropdown_set_checked(i, true); + } + } } /** @@ -4815,14 +4815,14 @@ static void window_ride_music_mousedown(rct_widgetindex widgetIndex, rct_window */ static void window_ride_music_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - uint8 musicStyle; + uint8 musicStyle; - if (widgetIndex != WIDX_MUSIC_DROPDOWN || dropdownIndex == -1) - return; + if (widgetIndex != WIDX_MUSIC_DROPDOWN || dropdownIndex == -1) + return; - musicStyle = window_ride_current_music_style_order[dropdownIndex]; - gGameCommandErrorTitle = STR_CANT_CHANGE_OPERATING_MODE; - game_do_command(0, (musicStyle << 8) | 1, 0, (7 << 8) | w->number, GAME_COMMAND_SET_RIDE_SETTING, 0, 0); + musicStyle = window_ride_current_music_style_order[dropdownIndex]; + gGameCommandErrorTitle = STR_CANT_CHANGE_OPERATING_MODE; + game_do_command(0, (musicStyle << 8) | 1, 0, (7 << 8) | w->number, GAME_COMMAND_SET_RIDE_SETTING, 0, 0); } /** @@ -4831,9 +4831,9 @@ static void window_ride_music_dropdown(rct_window *w, rct_widgetindex widgetInde */ static void window_ride_music_update(rct_window *w) { - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_6); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_6); } /** @@ -4842,38 +4842,38 @@ static void window_ride_music_update(rct_window *w) */ static void window_ride_music_invalidate(rct_window *w) { - rct_widget *widgets; - sint32 isMusicActivated; + rct_widget *widgets; + sint32 isMusicActivated; - widgets = window_ride_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_ride_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_ride_set_pressed_tab(w); + window_ride_set_pressed_tab(w); - rct_ride *ride = get_ride(w->number); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); + rct_ride *ride = get_ride(w->number); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); - // Set selected music - window_ride_music_widgets[WIDX_MUSIC].text = MusicStyleNames[ride->music]; + // Set selected music + window_ride_music_widgets[WIDX_MUSIC].text = MusicStyleNames[ride->music]; - // Set music activated - isMusicActivated = ride->lifecycle_flags & (RIDE_LIFECYCLE_MUSIC); - if (isMusicActivated) { - w->pressed_widgets |= (1 << WIDX_PLAY_MUSIC); - w->disabled_widgets &= ~(1 << WIDX_MUSIC); - w->disabled_widgets &= ~(1 << WIDX_MUSIC_DROPDOWN); - } else { - w->pressed_widgets &= ~(1 << WIDX_PLAY_MUSIC); - w->disabled_widgets |= (1 << WIDX_MUSIC); - w->disabled_widgets |= (1 << WIDX_MUSIC_DROPDOWN); - } + // Set music activated + isMusicActivated = ride->lifecycle_flags & (RIDE_LIFECYCLE_MUSIC); + if (isMusicActivated) { + w->pressed_widgets |= (1 << WIDX_PLAY_MUSIC); + w->disabled_widgets &= ~(1 << WIDX_MUSIC); + w->disabled_widgets &= ~(1 << WIDX_MUSIC_DROPDOWN); + } else { + w->pressed_widgets &= ~(1 << WIDX_PLAY_MUSIC); + w->disabled_widgets |= (1 << WIDX_MUSIC); + w->disabled_widgets |= (1 << WIDX_MUSIC_DROPDOWN); + } - window_ride_anchor_border_widgets(w); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); + window_ride_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); } /** @@ -4882,8 +4882,8 @@ static void window_ride_music_invalidate(rct_window *w) */ static void window_ride_music_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_ride_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_ride_draw_tab_images(dpi, w); } #pragma endregion @@ -4892,8 +4892,8 @@ static void window_ride_music_paint(rct_window *w, rct_drawpixelinfo *dpi) static rct_string_id get_rating_name(ride_rating rating) { - sint32 index = clamp(0, rating >> 8, countof(RatingNames) - 1); - return RatingNames[index]; + sint32 index = clamp(0, rating >> 8, countof(RatingNames) - 1); + return RatingNames[index]; } /** @@ -4901,18 +4901,18 @@ static rct_string_id get_rating_name(ride_rating rating) * rct2: 0x006D2804 when al == 0*/ static void cancel_scenery_selection(){ - gGamePaused &= ~GAME_PAUSED_SAVING_TRACK; - gTrackDesignSaveMode = false; - audio_unpause_sounds(); + gGamePaused &= ~GAME_PAUSED_SAVING_TRACK; + gTrackDesignSaveMode = false; + audio_unpause_sounds(); - rct_window* main_w = window_get_main(); + rct_window* main_w = window_get_main(); - if (main_w){ - main_w->viewport->flags &= ~(VIEWPORT_FLAG_HIDE_VERTICAL | VIEWPORT_FLAG_HIDE_BASE); - } + if (main_w){ + main_w->viewport->flags &= ~(VIEWPORT_FLAG_HIDE_VERTICAL | VIEWPORT_FLAG_HIDE_BASE); + } - gfx_invalidate_screen(); - tool_cancel(); + gfx_invalidate_screen(); + tool_cancel(); } /** @@ -4921,27 +4921,27 @@ static void cancel_scenery_selection(){ */ static void setup_scenery_selection(rct_window* w) { - if (gTrackDesignSaveMode){ - cancel_scenery_selection(); - } + if (gTrackDesignSaveMode){ + cancel_scenery_selection(); + } - while (tool_set(w, WIDX_BACKGROUND, TOOL_CROSSHAIR)); + while (tool_set(w, WIDX_BACKGROUND, TOOL_CROSSHAIR)); - gTrackDesignSaveRideIndex = (uint8)w->number; + gTrackDesignSaveRideIndex = (uint8)w->number; - track_design_save_init(); - gGamePaused |= GAME_PAUSED_SAVING_TRACK; - gTrackDesignSaveMode = true; + track_design_save_init(); + gGamePaused |= GAME_PAUSED_SAVING_TRACK; + gTrackDesignSaveMode = true; - audio_pause_sounds(); + audio_pause_sounds(); - rct_window* w_main = window_get_main(); + rct_window* w_main = window_get_main(); - if (w_main){ - w_main->viewport->flags |= (VIEWPORT_FLAG_HIDE_VERTICAL | VIEWPORT_FLAG_HIDE_BASE); - } + if (w_main){ + w_main->viewport->flags |= (VIEWPORT_FLAG_HIDE_VERTICAL | VIEWPORT_FLAG_HIDE_BASE); + } - gfx_invalidate_screen(); + gfx_invalidate_screen(); } /** @@ -4950,7 +4950,7 @@ static void setup_scenery_selection(rct_window* w) */ static void window_ride_measurements_design_reset() { - track_design_save_reset_scenery(); + track_design_save_reset_scenery(); } /** @@ -4959,7 +4959,7 @@ static void window_ride_measurements_design_reset() */ static void window_ride_measurements_design_select_nearby_scenery() { - track_design_save_select_nearby_scenery(gTrackDesignSaveRideIndex); + track_design_save_select_nearby_scenery(gTrackDesignSaveRideIndex); } /** @@ -4968,9 +4968,9 @@ static void window_ride_measurements_design_select_nearby_scenery() */ void window_ride_measurements_design_cancel() { - if (gTrackDesignSaveMode) { - cancel_scenery_selection(); - } + if (gTrackDesignSaveMode) { + cancel_scenery_selection(); + } } /** @@ -4979,7 +4979,7 @@ void window_ride_measurements_design_cancel() */ static void window_ride_measurements_design_save(rct_window *w) { - track_design_save((uint8)w->number); + track_design_save((uint8)w->number); } /** @@ -4988,7 +4988,7 @@ static void window_ride_measurements_design_save(rct_window *w) */ static void window_ride_measurements_close(rct_window *w) { - window_ride_measurements_design_cancel(); + window_ride_measurements_design_cancel(); } /** @@ -4997,35 +4997,35 @@ static void window_ride_measurements_close(rct_window *w) */ static void window_ride_measurements_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - case WIDX_TAB_8: - case WIDX_TAB_9: - case WIDX_TAB_10: - window_ride_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_SELECT_NEARBY_SCENERY: - window_ride_measurements_design_select_nearby_scenery(); - break; - case WIDX_RESET_SELECTION: - window_ride_measurements_design_reset(); - break; - case WIDX_SAVE_DESIGN: - window_ride_measurements_design_save(w); - break; - case WIDX_CANCEL_DESIGN: - window_ride_measurements_design_cancel(); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + case WIDX_TAB_8: + case WIDX_TAB_9: + case WIDX_TAB_10: + window_ride_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_SELECT_NEARBY_SCENERY: + window_ride_measurements_design_select_nearby_scenery(); + break; + case WIDX_RESET_SELECTION: + window_ride_measurements_design_reset(); + break; + case WIDX_SAVE_DESIGN: + window_ride_measurements_design_save(w); + break; + case WIDX_CANCEL_DESIGN: + window_ride_measurements_design_cancel(); + break; + } } /** @@ -5034,7 +5034,7 @@ static void window_ride_measurements_mouseup(rct_window *w, rct_widgetindex widg */ static void window_ride_measurements_resize(rct_window *w) { - window_set_resize(w, 316, 202, 316, 202); + window_set_resize(w, 316, 202, 316, 202); } /** @@ -5043,23 +5043,23 @@ static void window_ride_measurements_resize(rct_window *w) */ static void window_ride_measurements_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - if (widgetIndex != WIDX_SAVE_TRACK_DESIGN) - return; + if (widgetIndex != WIDX_SAVE_TRACK_DESIGN) + return; - gDropdownItemsFormat[0] = STR_SAVE_TRACK_DESIGN_ITEM; - gDropdownItemsFormat[1] = STR_SAVE_TRACK_DESIGN_WITH_SCENERY_ITEM; + gDropdownItemsFormat[0] = STR_SAVE_TRACK_DESIGN_ITEM; + gDropdownItemsFormat[1] = STR_SAVE_TRACK_DESIGN_WITH_SCENERY_ITEM; - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - 2 - ); - gDropdownDefaultIndex = 0; - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) - gDropdownItemsDisabled |= 2; + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + 2 + ); + gDropdownDefaultIndex = 0; + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) + gDropdownItemsDisabled |= 2; } /** @@ -5068,16 +5068,16 @@ static void window_ride_measurements_mousedown(rct_widgetindex widgetIndex, rct_ */ static void window_ride_measurements_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex != WIDX_SAVE_TRACK_DESIGN) - return; + if (widgetIndex != WIDX_SAVE_TRACK_DESIGN) + return; - if (dropdownIndex == -1) - dropdownIndex = gDropdownHighlightedIndex; + if (dropdownIndex == -1) + dropdownIndex = gDropdownHighlightedIndex; - if (dropdownIndex == 0) - track_design_save((uint8)w->number); - else - setup_scenery_selection(w); + if (dropdownIndex == 0) + track_design_save((uint8)w->number); + else + setup_scenery_selection(w); } /** @@ -5086,9 +5086,9 @@ static void window_ride_measurements_dropdown(rct_window *w, rct_widgetindex wid */ static void window_ride_measurements_update(rct_window *w) { - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_7); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_7); } /** @@ -5097,46 +5097,46 @@ static void window_ride_measurements_update(rct_window *w) */ static void window_ride_measurements_tooldown(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - rct_map_element *mapElement; - sint16 mapX, mapY; - sint32 interactionType; + rct_map_element *mapElement; + sint16 mapX, mapY; + sint32 interactionType; - _lastSceneryX = x; - _lastSceneryY = y; - _collectTrackDesignScenery = true; // Default to true in case user does not select anything valid + _lastSceneryX = x; + _lastSceneryY = y; + _collectTrackDesignScenery = true; // Default to true in case user does not select anything valid - get_map_coordinates_from_pos(x, y, 0xFCCF, &mapX, &mapY, &interactionType, &mapElement, NULL); - switch (interactionType) { - case VIEWPORT_INTERACTION_ITEM_SCENERY: - case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: - case VIEWPORT_INTERACTION_ITEM_WALL: - case VIEWPORT_INTERACTION_ITEM_FOOTPATH: - _collectTrackDesignScenery = !track_design_save_contains_map_element(mapElement); - track_design_save_select_map_element(interactionType, mapX, mapY, mapElement, _collectTrackDesignScenery); - break; - } + get_map_coordinates_from_pos(x, y, 0xFCCF, &mapX, &mapY, &interactionType, &mapElement, NULL); + switch (interactionType) { + case VIEWPORT_INTERACTION_ITEM_SCENERY: + case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: + case VIEWPORT_INTERACTION_ITEM_WALL: + case VIEWPORT_INTERACTION_ITEM_FOOTPATH: + _collectTrackDesignScenery = !track_design_save_contains_map_element(mapElement); + track_design_save_select_map_element(interactionType, mapX, mapY, mapElement, _collectTrackDesignScenery); + break; + } } static void window_ride_measurements_tooldrag(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (x == _lastSceneryX && y == _lastSceneryY) - return; - _lastSceneryX = x; - _lastSceneryY = y; + if (x == _lastSceneryX && y == _lastSceneryY) + return; + _lastSceneryX = x; + _lastSceneryY = y; - rct_map_element *mapElement; - sint16 mapX, mapY; - sint32 interactionType; + rct_map_element *mapElement; + sint16 mapX, mapY; + sint32 interactionType; - get_map_coordinates_from_pos(x, y, 0xFCCF, &mapX, &mapY, &interactionType, &mapElement, NULL); - switch (interactionType) { - case VIEWPORT_INTERACTION_ITEM_SCENERY: - case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: - case VIEWPORT_INTERACTION_ITEM_WALL: - case VIEWPORT_INTERACTION_ITEM_FOOTPATH: - track_design_save_select_map_element(interactionType, mapX, mapY, mapElement, _collectTrackDesignScenery); - break; - } + get_map_coordinates_from_pos(x, y, 0xFCCF, &mapX, &mapY, &interactionType, &mapElement, NULL); + switch (interactionType) { + case VIEWPORT_INTERACTION_ITEM_SCENERY: + case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: + case VIEWPORT_INTERACTION_ITEM_WALL: + case VIEWPORT_INTERACTION_ITEM_FOOTPATH: + track_design_save_select_map_element(interactionType, mapX, mapY, mapElement, _collectTrackDesignScenery); + break; + } } /** @@ -5145,7 +5145,7 @@ static void window_ride_measurements_tooldrag(rct_window *w, rct_widgetindex wid */ static void window_ride_measurements_toolabort(rct_window *w, rct_widgetindex widgetIndex) { - window_ride_measurements_design_cancel(); + window_ride_measurements_design_cancel(); } /** @@ -5154,47 +5154,47 @@ static void window_ride_measurements_toolabort(rct_window *w, rct_widgetindex wi */ static void window_ride_measurements_invalidate(rct_window *w) { - rct_widget *widgets; + rct_widget *widgets; - widgets = window_ride_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_ride_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_ride_set_pressed_tab(w); + window_ride_set_pressed_tab(w); - rct_ride *ride = get_ride(w->number); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); + rct_ride *ride = get_ride(w->number); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); - window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].tooltip = STR_SAVE_TRACK_DESIGN_NOT_POSSIBLE; - window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].type = WWT_EMPTY; - if (gTrackDesignSaveMode && gTrackDesignSaveRideIndex == w->number) { - window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].type = WWT_DROPDOWN_BUTTON; - window_ride_measurements_widgets[WIDX_RESET_SELECTION].type = WWT_DROPDOWN_BUTTON; - window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type = WWT_DROPDOWN_BUTTON; - window_ride_measurements_widgets[WIDX_CANCEL_DESIGN].type = WWT_DROPDOWN_BUTTON; - } else { - window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].type = WWT_EMPTY; - window_ride_measurements_widgets[WIDX_RESET_SELECTION].type = WWT_EMPTY; - window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type = WWT_EMPTY; - window_ride_measurements_widgets[WIDX_CANCEL_DESIGN].type = WWT_EMPTY; + window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].tooltip = STR_SAVE_TRACK_DESIGN_NOT_POSSIBLE; + window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].type = WWT_EMPTY; + if (gTrackDesignSaveMode && gTrackDesignSaveRideIndex == w->number) { + window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].type = WWT_DROPDOWN_BUTTON; + window_ride_measurements_widgets[WIDX_RESET_SELECTION].type = WWT_DROPDOWN_BUTTON; + window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type = WWT_DROPDOWN_BUTTON; + window_ride_measurements_widgets[WIDX_CANCEL_DESIGN].type = WWT_DROPDOWN_BUTTON; + } else { + window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].type = WWT_EMPTY; + window_ride_measurements_widgets[WIDX_RESET_SELECTION].type = WWT_EMPTY; + window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type = WWT_EMPTY; + window_ride_measurements_widgets[WIDX_CANCEL_DESIGN].type = WWT_EMPTY; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK)) { - window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].type = WWT_FLATBTN; - w->disabled_widgets |= (1 << WIDX_SAVE_TRACK_DESIGN); - if (ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED) { - if (ride->excitement != RIDE_RATING_UNDEFINED) { - w->disabled_widgets &= ~(1 << WIDX_SAVE_TRACK_DESIGN); - window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].tooltip = STR_SAVE_TRACK_DESIGN; - } - } - } - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK)) { + window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].type = WWT_FLATBTN; + w->disabled_widgets |= (1 << WIDX_SAVE_TRACK_DESIGN); + if (ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED) { + if (ride->excitement != RIDE_RATING_UNDEFINED) { + w->disabled_widgets &= ~(1 << WIDX_SAVE_TRACK_DESIGN); + window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].tooltip = STR_SAVE_TRACK_DESIGN; + } + } + } + } - window_ride_anchor_border_widgets(w); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); + window_ride_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); } /** @@ -5203,185 +5203,185 @@ static void window_ride_measurements_invalidate(rct_window *w) */ static void window_ride_measurements_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint16 holes, maxSpeed, averageSpeed, drops, highestDropHeight, inversions, time; - sint32 maxPositiveVerticalGs, maxNegativeVerticalGs, maxLateralGs, totalAirTime, length; + sint16 holes, maxSpeed, averageSpeed, drops, highestDropHeight, inversions, time; + sint32 maxPositiveVerticalGs, maxNegativeVerticalGs, maxLateralGs, totalAirTime, length; - window_draw_widgets(w, dpi); - window_ride_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_ride_draw_tab_images(dpi, w); - if (window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type == WWT_DROPDOWN_BUTTON) { - rct_widget *widget = &window_ride_measurements_widgets[WIDX_PAGE_BACKGROUND]; + if (window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type == WWT_DROPDOWN_BUTTON) { + rct_widget *widget = &window_ride_measurements_widgets[WIDX_PAGE_BACKGROUND]; - sint32 x = w->x + (widget->right - widget->left) / 2; - sint32 y = w->y + widget->top + 40; - gfx_draw_string_centred_wrapped(dpi, NULL, x, y, w->width - 8, STR_CLICK_ITEMS_OF_SCENERY_TO_SELECT, COLOUR_BLACK); + sint32 x = w->x + (widget->right - widget->left) / 2; + sint32 y = w->y + widget->top + 40; + gfx_draw_string_centred_wrapped(dpi, NULL, x, y, w->width - 8, STR_CLICK_ITEMS_OF_SCENERY_TO_SELECT, COLOUR_BLACK); - x = w->x + 4; - y = w->y + window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].bottom + 17; - gfx_fill_rect_inset(dpi, x, y, w->x + 312, y + 1, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); - } else { - rct_ride *ride = get_ride(w->number); - sint32 x = w->x + window_ride_measurements_widgets[WIDX_PAGE_BACKGROUND].left + 4; - sint32 y = w->y + window_ride_measurements_widgets[WIDX_PAGE_BACKGROUND].top + 4; + x = w->x + 4; + y = w->y + window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].bottom + 17; + gfx_fill_rect_inset(dpi, x, y, w->x + 312, y + 1, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); + } else { + rct_ride *ride = get_ride(w->number); + sint32 x = w->x + window_ride_measurements_widgets[WIDX_PAGE_BACKGROUND].left + 4; + sint32 y = w->y + window_ride_measurements_widgets[WIDX_PAGE_BACKGROUND].top + 4; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED) { - // Excitement - rct_string_id ratingName = get_rating_name(ride->excitement); - set_format_arg(0, uint32, ride->excitement); - set_format_arg(4, rct_string_id, ratingName); - rct_string_id stringId = ride->excitement == RIDE_RATING_UNDEFINED ? STR_EXCITEMENT_RATING_NOT_YET_AVAILABLE : STR_EXCITEMENT_RATING; - gfx_draw_string_left(dpi, stringId, gCommonFormatArgs, COLOUR_BLACK, x, y); - y += 10; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED) { + // Excitement + rct_string_id ratingName = get_rating_name(ride->excitement); + set_format_arg(0, uint32, ride->excitement); + set_format_arg(4, rct_string_id, ratingName); + rct_string_id stringId = ride->excitement == RIDE_RATING_UNDEFINED ? STR_EXCITEMENT_RATING_NOT_YET_AVAILABLE : STR_EXCITEMENT_RATING; + gfx_draw_string_left(dpi, stringId, gCommonFormatArgs, COLOUR_BLACK, x, y); + y += 10; - // Intensity - ratingName = get_rating_name(ride->intensity); - set_format_arg(0, uint32, ride->intensity); - set_format_arg(4, rct_string_id, ratingName); + // Intensity + ratingName = get_rating_name(ride->intensity); + set_format_arg(0, uint32, ride->intensity); + set_format_arg(4, rct_string_id, ratingName); - stringId = STR_INTENSITY_RATING; - if (ride->excitement == RIDE_RATING_UNDEFINED) - stringId = STR_INTENSITY_RATING_NOT_YET_AVAILABLE; - else if (ride->intensity >= RIDE_RATING(10,00)) - stringId = STR_INTENSITY_RATING_RED; + stringId = STR_INTENSITY_RATING; + if (ride->excitement == RIDE_RATING_UNDEFINED) + stringId = STR_INTENSITY_RATING_NOT_YET_AVAILABLE; + else if (ride->intensity >= RIDE_RATING(10,00)) + stringId = STR_INTENSITY_RATING_RED; - gfx_draw_string_left(dpi, stringId, gCommonFormatArgs, COLOUR_BLACK, x, y); - y += 10; + gfx_draw_string_left(dpi, stringId, gCommonFormatArgs, COLOUR_BLACK, x, y); + y += 10; - // Nausea - ratingName = get_rating_name(ride->nausea); - set_format_arg(0, uint32, ride->nausea); - set_format_arg(4, rct_string_id, ratingName); - stringId = ride->excitement == RIDE_RATING_UNDEFINED ? STR_NAUSEA_RATING_NOT_YET_AVAILABLE : STR_NAUSEA_RATING; - gfx_draw_string_left(dpi, stringId, gCommonFormatArgs, COLOUR_BLACK, x, y); - y += 20; + // Nausea + ratingName = get_rating_name(ride->nausea); + set_format_arg(0, uint32, ride->nausea); + set_format_arg(4, rct_string_id, ratingName); + stringId = ride->excitement == RIDE_RATING_UNDEFINED ? STR_NAUSEA_RATING_NOT_YET_AVAILABLE : STR_NAUSEA_RATING; + gfx_draw_string_left(dpi, stringId, gCommonFormatArgs, COLOUR_BLACK, x, y); + y += 20; - // Horizontal rule - gfx_fill_rect_inset(dpi, x, y - 6, x + 303, y - 5, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); + // Horizontal rule + gfx_fill_rect_inset(dpi, x, y - 6, x + 303, y - 5, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_NO_RAW_STATS)) { - if (ride->type == RIDE_TYPE_MINI_GOLF) { - // Holes - holes = ride->holes & 0x1F; - gfx_draw_string_left(dpi, STR_HOLES, &holes, COLOUR_BLACK, x, y); - y += 10; - } else { - // Max speed - maxSpeed = (ride->max_speed * 9) >> 18; - gfx_draw_string_left(dpi, STR_MAX_SPEED, &maxSpeed, COLOUR_BLACK, x, y); - y += 10; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_NO_RAW_STATS)) { + if (ride->type == RIDE_TYPE_MINI_GOLF) { + // Holes + holes = ride->holes & 0x1F; + gfx_draw_string_left(dpi, STR_HOLES, &holes, COLOUR_BLACK, x, y); + y += 10; + } else { + // Max speed + maxSpeed = (ride->max_speed * 9) >> 18; + gfx_draw_string_left(dpi, STR_MAX_SPEED, &maxSpeed, COLOUR_BLACK, x, y); + y += 10; - // Average speed - averageSpeed = (ride->average_speed * 9) >> 18; - gfx_draw_string_left(dpi, STR_AVERAGE_SPEED, &averageSpeed, COLOUR_BLACK, x, y); - y += 10; + // Average speed + averageSpeed = (ride->average_speed * 9) >> 18; + gfx_draw_string_left(dpi, STR_AVERAGE_SPEED, &averageSpeed, COLOUR_BLACK, x, y); + y += 10; - // Ride time - sint32 numTimes = 0; - for (sint32 i = 0; i < ride->num_stations; i++) { - time = ride->time[numTimes]; - if (time != 0) { - set_format_arg(0 + (numTimes * 4), uint16, STR_RIDE_TIME_ENTRY_WITH_SEPARATOR); - set_format_arg(2 + (numTimes * 4), uint16, time); - numTimes++; - } - } - if (numTimes == 0) { - set_format_arg(0, rct_string_id, STR_RIDE_TIME_ENTRY); - set_format_arg(2, uint16, 0); - numTimes++; - } else { - //sadly, STR_RIDE_TIME_ENTRY_WITH_SEPARATOR are defined with the separator AFTER an entry - //therefore we set the last entry to use the no-separator format now, post-format - set_format_arg(0 + ((numTimes - 1) * 4), uint16, STR_RIDE_TIME_ENTRY); - } - set_format_arg(0 + (numTimes * 4), uint16, 0); - set_format_arg(2 + (numTimes * 4), uint16, 0); - set_format_arg(4 + (numTimes * 4), uint16, 0); - set_format_arg(6 + (numTimes * 4), uint16, 0); - gfx_draw_string_left_clipped(dpi, STR_RIDE_TIME, gCommonFormatArgs, COLOUR_BLACK, x, y, 308); - y += 10; - } + // Ride time + sint32 numTimes = 0; + for (sint32 i = 0; i < ride->num_stations; i++) { + time = ride->time[numTimes]; + if (time != 0) { + set_format_arg(0 + (numTimes * 4), uint16, STR_RIDE_TIME_ENTRY_WITH_SEPARATOR); + set_format_arg(2 + (numTimes * 4), uint16, time); + numTimes++; + } + } + if (numTimes == 0) { + set_format_arg(0, rct_string_id, STR_RIDE_TIME_ENTRY); + set_format_arg(2, uint16, 0); + numTimes++; + } else { + //sadly, STR_RIDE_TIME_ENTRY_WITH_SEPARATOR are defined with the separator AFTER an entry + //therefore we set the last entry to use the no-separator format now, post-format + set_format_arg(0 + ((numTimes - 1) * 4), uint16, STR_RIDE_TIME_ENTRY); + } + set_format_arg(0 + (numTimes * 4), uint16, 0); + set_format_arg(2 + (numTimes * 4), uint16, 0); + set_format_arg(4 + (numTimes * 4), uint16, 0); + set_format_arg(6 + (numTimes * 4), uint16, 0); + gfx_draw_string_left_clipped(dpi, STR_RIDE_TIME, gCommonFormatArgs, COLOUR_BLACK, x, y, 308); + y += 10; + } - // Ride length - sint32 numLengths = 0; - for (sint32 i = 0; i < ride->num_stations; i++) { - length = ride->length[numLengths]; - if (length != 0) { - length >>= 16; - set_format_arg(0 + (numLengths * 4), uint16, STR_RIDE_LENGTH_ENTRY_WITH_SEPARATOR); - set_format_arg(2 + (numLengths * 4), uint16, (length & 0xFFFF)); - numLengths++; - } - } - if (numLengths == 0) { - set_format_arg(0, rct_string_id, STR_RIDE_LENGTH_ENTRY); - set_format_arg(2, uint16, 0); - numLengths++; - } else { - //sadly, STR_RIDE_LENGTH_ENTRY_WITH_SEPARATOR are defined with the separator AFTER an entry - //therefore we set the last entry to use the no-separator format now, post-format - set_format_arg(0 + ((numLengths - 1) * 4), rct_string_id, STR_RIDE_LENGTH_ENTRY); - } - set_format_arg(0 + (numLengths * 4), uint16, 0); - set_format_arg(2 + (numLengths * 4), uint16, 0); - set_format_arg(4 + (numLengths * 4), uint16, 0); - set_format_arg(6 + (numLengths * 4), uint16, 0); - gfx_draw_string_left_clipped(dpi, STR_RIDE_LENGTH, gCommonFormatArgs, COLOUR_BLACK, x, y, 308); - y += 10; + // Ride length + sint32 numLengths = 0; + for (sint32 i = 0; i < ride->num_stations; i++) { + length = ride->length[numLengths]; + if (length != 0) { + length >>= 16; + set_format_arg(0 + (numLengths * 4), uint16, STR_RIDE_LENGTH_ENTRY_WITH_SEPARATOR); + set_format_arg(2 + (numLengths * 4), uint16, (length & 0xFFFF)); + numLengths++; + } + } + if (numLengths == 0) { + set_format_arg(0, rct_string_id, STR_RIDE_LENGTH_ENTRY); + set_format_arg(2, uint16, 0); + numLengths++; + } else { + //sadly, STR_RIDE_LENGTH_ENTRY_WITH_SEPARATOR are defined with the separator AFTER an entry + //therefore we set the last entry to use the no-separator format now, post-format + set_format_arg(0 + ((numLengths - 1) * 4), rct_string_id, STR_RIDE_LENGTH_ENTRY); + } + set_format_arg(0 + (numLengths * 4), uint16, 0); + set_format_arg(2 + (numLengths * 4), uint16, 0); + set_format_arg(4 + (numLengths * 4), uint16, 0); + set_format_arg(6 + (numLengths * 4), uint16, 0); + gfx_draw_string_left_clipped(dpi, STR_RIDE_LENGTH, gCommonFormatArgs, COLOUR_BLACK, x, y, 308); + y += 10; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_G_FORCES)) { - // Max. positive vertical G's - maxPositiveVerticalGs = ride->max_positive_vertical_g; - stringId = maxPositiveVerticalGs >= FIXED_2DP(5,00) ? - STR_MAX_POSITIVE_VERTICAL_G_RED : STR_MAX_POSITIVE_VERTICAL_G; - gfx_draw_string_left(dpi, stringId, &maxPositiveVerticalGs, COLOUR_BLACK, x, y); - y += 10; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_G_FORCES)) { + // Max. positive vertical G's + maxPositiveVerticalGs = ride->max_positive_vertical_g; + stringId = maxPositiveVerticalGs >= FIXED_2DP(5,00) ? + STR_MAX_POSITIVE_VERTICAL_G_RED : STR_MAX_POSITIVE_VERTICAL_G; + gfx_draw_string_left(dpi, stringId, &maxPositiveVerticalGs, COLOUR_BLACK, x, y); + y += 10; - // Max. negative vertical G's - maxNegativeVerticalGs = ride->max_negative_vertical_g; - stringId = maxNegativeVerticalGs <= -FIXED_2DP(2,00) ? - STR_MAX_NEGATIVE_VERTICAL_G_RED : STR_MAX_NEGATIVE_VERTICAL_G; - gfx_draw_string_left(dpi, stringId, &maxNegativeVerticalGs, COLOUR_BLACK, x, y); - y += 10; + // Max. negative vertical G's + maxNegativeVerticalGs = ride->max_negative_vertical_g; + stringId = maxNegativeVerticalGs <= -FIXED_2DP(2,00) ? + STR_MAX_NEGATIVE_VERTICAL_G_RED : STR_MAX_NEGATIVE_VERTICAL_G; + gfx_draw_string_left(dpi, stringId, &maxNegativeVerticalGs, COLOUR_BLACK, x, y); + y += 10; - // Max lateral G's - maxLateralGs = ride->max_lateral_g; - stringId = maxLateralGs >= FIXED_2DP(2,80) ? - STR_MAX_LATERAL_G_RED : STR_MAX_LATERAL_G; - gfx_draw_string_left(dpi, stringId, &maxLateralGs, COLOUR_BLACK, x, y); - y += 10; + // Max lateral G's + maxLateralGs = ride->max_lateral_g; + stringId = maxLateralGs >= FIXED_2DP(2,80) ? + STR_MAX_LATERAL_G_RED : STR_MAX_LATERAL_G; + gfx_draw_string_left(dpi, stringId, &maxLateralGs, COLOUR_BLACK, x, y); + y += 10; - // Total 'air' time - totalAirTime = ride->total_air_time * 3; - gfx_draw_string_left(dpi, STR_TOTAL_AIR_TIME, &totalAirTime, COLOUR_BLACK, x, y); - y += 10; - } + // Total 'air' time + totalAirTime = ride->total_air_time * 3; + gfx_draw_string_left(dpi, STR_TOTAL_AIR_TIME, &totalAirTime, COLOUR_BLACK, x, y); + y += 10; + } - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_DROPS)) { - // Drops - drops = ride->drops & 0x3F; - gfx_draw_string_left(dpi, STR_DROPS, &drops, COLOUR_BLACK, x, y); - y += 10; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_DROPS)) { + // Drops + drops = ride->drops & 0x3F; + gfx_draw_string_left(dpi, STR_DROPS, &drops, COLOUR_BLACK, x, y); + y += 10; - // Highest drop height - highestDropHeight = (ride->highest_drop_height * 3) / 4; - gfx_draw_string_left(dpi, STR_HIGHEST_DROP_HEIGHT, &highestDropHeight, COLOUR_BLACK, x, y); - y += 10; - } + // Highest drop height + highestDropHeight = (ride->highest_drop_height * 3) / 4; + gfx_draw_string_left(dpi, STR_HIGHEST_DROP_HEIGHT, &highestDropHeight, COLOUR_BLACK, x, y); + y += 10; + } - if (ride->type != RIDE_TYPE_MINI_GOLF) { - // Inversions - inversions = ride->inversions & 0x1F; - if (inversions != 0) { - gfx_draw_string_left(dpi, STR_INVERSIONS, &inversions, COLOUR_BLACK, x, y); - y += 10; - } - } - } - } else { - gfx_draw_string_left(dpi, STR_NO_TEST_RESULTS_YET, NULL, COLOUR_BLACK, x, y); - } - } + if (ride->type != RIDE_TYPE_MINI_GOLF) { + // Inversions + inversions = ride->inversions & 0x1F; + if (inversions != 0) { + gfx_draw_string_left(dpi, STR_INVERSIONS, &inversions, COLOUR_BLACK, x, y); + y += 10; + } + } + } + } else { + gfx_draw_string_left(dpi, STR_NO_TEST_RESULTS_YET, NULL, COLOUR_BLACK, x, y); + } + } } #pragma endregion @@ -5389,10 +5389,10 @@ static void window_ride_measurements_paint(rct_window *w, rct_drawpixelinfo *dpi #pragma region Graphs enum { - GRAPH_VELOCITY, - GRAPH_ALTITUDE, - GRAPH_VERTICAL, - GRAPH_LATERAL + GRAPH_VELOCITY, + GRAPH_ALTITUDE, + GRAPH_VERTICAL, + GRAPH_LATERAL }; /** @@ -5401,13 +5401,13 @@ enum { */ static void window_ride_set_graph(rct_window *w, sint32 type) { - if ((w->list_information_type & 0xFF) == type) { - w->list_information_type ^= 0x8000; - } else { - w->list_information_type &= 0xFF00; - w->list_information_type |= type; - } - window_invalidate(w); + if ((w->list_information_type & 0xFF) == type) { + w->list_information_type ^= 0x8000; + } else { + w->list_information_type &= 0xFF00; + w->list_information_type |= type; + } + window_invalidate(w); } /** @@ -5416,23 +5416,23 @@ static void window_ride_set_graph(rct_window *w, sint32 type) */ static void window_ride_graphs_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - case WIDX_TAB_8: - case WIDX_TAB_9: - case WIDX_TAB_10: - window_ride_set_page(w, widgetIndex - WIDX_TAB_1); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + case WIDX_TAB_8: + case WIDX_TAB_9: + case WIDX_TAB_10: + window_ride_set_page(w, widgetIndex - WIDX_TAB_1); + break; + } } /** @@ -5441,7 +5441,7 @@ static void window_ride_graphs_mouseup(rct_window *w, rct_widgetindex widgetInde */ static void window_ride_graphs_resize(rct_window *w) { - window_set_resize(w, 316, 180, 500, 450); + window_set_resize(w, 316, 180, 500, 450); } /** @@ -5450,20 +5450,20 @@ static void window_ride_graphs_resize(rct_window *w) */ static void window_ride_graphs_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - switch (widgetIndex) { - case WIDX_GRAPH_VELOCITY: - window_ride_set_graph(w, GRAPH_VELOCITY); - break; - case WIDX_GRAPH_ALTITUDE: - window_ride_set_graph(w, GRAPH_ALTITUDE); - break; - case WIDX_GRAPH_VERTICAL: - window_ride_set_graph(w, GRAPH_VERTICAL); - break; - case WIDX_GRAPH_LATERAL: - window_ride_set_graph(w, GRAPH_LATERAL); - break; - } + switch (widgetIndex) { + case WIDX_GRAPH_VELOCITY: + window_ride_set_graph(w, GRAPH_VELOCITY); + break; + case WIDX_GRAPH_ALTITUDE: + window_ride_set_graph(w, GRAPH_ALTITUDE); + break; + case WIDX_GRAPH_VERTICAL: + window_ride_set_graph(w, GRAPH_VERTICAL); + break; + case WIDX_GRAPH_LATERAL: + window_ride_set_graph(w, GRAPH_LATERAL); + break; + } } /** @@ -5472,27 +5472,27 @@ static void window_ride_graphs_mousedown(rct_widgetindex widgetIndex, rct_window */ static void window_ride_graphs_update(rct_window *w) { - rct_widget *widget; - rct_ride_measurement *measurement; - sint32 x; + rct_widget *widget; + rct_ride_measurement *measurement; + sint32 x; - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_8); - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_GRAPH); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_8); + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_GRAPH); - widget = &window_ride_graphs_widgets[WIDX_GRAPH]; - x = w->scrolls[0].h_left; - if (!(w->list_information_type & 0x8000)) { - measurement = ride_get_measurement(w->number, NULL); - x = measurement == NULL ? - 0 : - measurement->current_item - (((widget->right - widget->left) / 4) * 3); - } + widget = &window_ride_graphs_widgets[WIDX_GRAPH]; + x = w->scrolls[0].h_left; + if (!(w->list_information_type & 0x8000)) { + measurement = ride_get_measurement(w->number, NULL); + x = measurement == NULL ? + 0 : + measurement->current_item - (((widget->right - widget->left) / 4) * 3); + } - w->scrolls[0].h_left = clamp(0, x, w->scrolls[0].h_right - ((widget->right - widget->left) - 2)); - widget_scroll_update_thumbs(w, WIDX_GRAPH); + w->scrolls[0].h_left = clamp(0, x, w->scrolls[0].h_right - ((widget->right - widget->left) - 2)); + widget_scroll_update_thumbs(w, WIDX_GRAPH); } /** @@ -5501,17 +5501,17 @@ static void window_ride_graphs_update(rct_window *w) */ static void window_ride_graphs_scrollgetheight(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - rct_ride_measurement *measurement; + rct_ride_measurement *measurement; - window_event_invalidate_call(w); + window_event_invalidate_call(w); - // Set minimum size - *width = window_ride_graphs_widgets[WIDX_GRAPH].right - window_ride_graphs_widgets[WIDX_GRAPH].left - 2; + // Set minimum size + *width = window_ride_graphs_widgets[WIDX_GRAPH].right - window_ride_graphs_widgets[WIDX_GRAPH].left - 2; - // Get measurement size - measurement = ride_get_measurement(w->number, NULL); - if (measurement != NULL) - *width = max(*width, measurement->num_items); + // Get measurement size + measurement = ride_get_measurement(w->number, NULL); + if (measurement != NULL) + *width = max(*width, measurement->num_items); } /** @@ -5520,7 +5520,7 @@ static void window_ride_graphs_scrollgetheight(rct_window *w, sint32 scrollIndex */ static void window_ride_graphs_15(rct_window *w, sint32 scrollIndex, sint32 scrollAreaType) { - w->list_information_type |= 0x8000; + w->list_information_type |= 0x8000; } /** @@ -5529,20 +5529,20 @@ static void window_ride_graphs_15(rct_window *w, sint32 scrollIndex, sint32 scro */ static void window_ride_graphs_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - if (widgetIndex == WIDX_GRAPH) { - set_format_arg(0, rct_string_id, STR_GRAPH); - rct_string_id message; - rct_ride_measurement *measurement = ride_get_measurement(w->number, &message); - if (measurement != NULL && (measurement->flags & RIDE_MEASUREMENT_FLAG_RUNNING)) { - set_format_arg(4, uint16, measurement->vehicle_index + 1); - rct_ride *ride = get_ride(w->number); - set_format_arg(2, rct_string_id, RideComponentNames[RideNameConvention[ride->type].vehicle].count); - } else { - *stringId = message; - } - } else { - *stringId = STR_NONE; - } + if (widgetIndex == WIDX_GRAPH) { + set_format_arg(0, rct_string_id, STR_GRAPH); + rct_string_id message; + rct_ride_measurement *measurement = ride_get_measurement(w->number, &message); + if (measurement != NULL && (measurement->flags & RIDE_MEASUREMENT_FLAG_RUNNING)) { + set_format_arg(4, uint16, measurement->vehicle_index + 1); + rct_ride *ride = get_ride(w->number); + set_format_arg(2, rct_string_id, RideComponentNames[RideNameConvention[ride->type].vehicle].count); + } else { + *stringId = message; + } + } else { + *stringId = STR_NONE; + } } /** @@ -5551,58 +5551,58 @@ static void window_ride_graphs_tooltip(rct_window* w, rct_widgetindex widgetInde */ static void window_ride_graphs_invalidate(rct_window *w) { - rct_widget *widgets; - rct_ride *ride; - sint32 x, y; + rct_widget *widgets; + rct_ride *ride; + sint32 x, y; - widgets = window_ride_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_ride_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_ride_set_pressed_tab(w); + window_ride_set_pressed_tab(w); - ride = get_ride(w->number); + ride = get_ride(w->number); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); - // Set pressed graph button type - w->pressed_widgets &= ~(1 << WIDX_GRAPH_VELOCITY); - w->pressed_widgets &= ~(1 << WIDX_GRAPH_ALTITUDE); - w->pressed_widgets &= ~(1 << WIDX_GRAPH_VERTICAL); - w->pressed_widgets &= ~(1 << WIDX_GRAPH_LATERAL); - w->pressed_widgets |= (1LL << (WIDX_GRAPH_VELOCITY + (w->list_information_type & 0xFF))); + // Set pressed graph button type + w->pressed_widgets &= ~(1 << WIDX_GRAPH_VELOCITY); + w->pressed_widgets &= ~(1 << WIDX_GRAPH_ALTITUDE); + w->pressed_widgets &= ~(1 << WIDX_GRAPH_VERTICAL); + w->pressed_widgets &= ~(1 << WIDX_GRAPH_LATERAL); + w->pressed_widgets |= (1LL << (WIDX_GRAPH_VELOCITY + (w->list_information_type & 0xFF))); - // Hide graph buttons that are not applicable - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_G_FORCES)) { - window_ride_graphs_widgets[WIDX_GRAPH_VERTICAL].type = WWT_DROPDOWN_BUTTON; - window_ride_graphs_widgets[WIDX_GRAPH_LATERAL].type = WWT_DROPDOWN_BUTTON; - } else { - window_ride_graphs_widgets[WIDX_GRAPH_VERTICAL].type = WWT_EMPTY; - window_ride_graphs_widgets[WIDX_GRAPH_LATERAL].type = WWT_EMPTY; - } + // Hide graph buttons that are not applicable + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_G_FORCES)) { + window_ride_graphs_widgets[WIDX_GRAPH_VERTICAL].type = WWT_DROPDOWN_BUTTON; + window_ride_graphs_widgets[WIDX_GRAPH_LATERAL].type = WWT_DROPDOWN_BUTTON; + } else { + window_ride_graphs_widgets[WIDX_GRAPH_VERTICAL].type = WWT_EMPTY; + window_ride_graphs_widgets[WIDX_GRAPH_LATERAL].type = WWT_EMPTY; + } - // Anchor graph widget - x = w->width - 4; - y = w->height - 18; + // Anchor graph widget + x = w->width - 4; + y = w->height - 18; - window_ride_graphs_widgets[WIDX_GRAPH].right = x; - window_ride_graphs_widgets[WIDX_GRAPH].bottom = y; - y += 3; - window_ride_graphs_widgets[WIDX_GRAPH_VELOCITY].top = y; - window_ride_graphs_widgets[WIDX_GRAPH_ALTITUDE].top = y; - window_ride_graphs_widgets[WIDX_GRAPH_VERTICAL].top = y; - window_ride_graphs_widgets[WIDX_GRAPH_LATERAL].top = y; - y += 11; - window_ride_graphs_widgets[WIDX_GRAPH_VELOCITY].bottom = y; - window_ride_graphs_widgets[WIDX_GRAPH_ALTITUDE].bottom = y; - window_ride_graphs_widgets[WIDX_GRAPH_VERTICAL].bottom = y; - window_ride_graphs_widgets[WIDX_GRAPH_LATERAL].bottom = y; + window_ride_graphs_widgets[WIDX_GRAPH].right = x; + window_ride_graphs_widgets[WIDX_GRAPH].bottom = y; + y += 3; + window_ride_graphs_widgets[WIDX_GRAPH_VELOCITY].top = y; + window_ride_graphs_widgets[WIDX_GRAPH_ALTITUDE].top = y; + window_ride_graphs_widgets[WIDX_GRAPH_VERTICAL].top = y; + window_ride_graphs_widgets[WIDX_GRAPH_LATERAL].top = y; + y += 11; + window_ride_graphs_widgets[WIDX_GRAPH_VELOCITY].bottom = y; + window_ride_graphs_widgets[WIDX_GRAPH_ALTITUDE].bottom = y; + window_ride_graphs_widgets[WIDX_GRAPH_VERTICAL].bottom = y; + window_ride_graphs_widgets[WIDX_GRAPH_LATERAL].bottom = y; - window_ride_anchor_border_widgets(w); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); + window_ride_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); } /** @@ -5611,8 +5611,8 @@ static void window_ride_graphs_invalidate(rct_window *w) */ static void window_ride_graphs_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_ride_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_ride_draw_tab_images(dpi, w); } /** @@ -5621,107 +5621,107 @@ static void window_ride_graphs_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_ride_graphs_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - gfx_clear(dpi, ColourMapA[COLOUR_SATURATED_GREEN].darker); + gfx_clear(dpi, ColourMapA[COLOUR_SATURATED_GREEN].darker); - rct_widget *widget = &window_ride_graphs_widgets[WIDX_GRAPH]; - rct_string_id stringId; - rct_ride_measurement *measurement = ride_get_measurement(w->number, &stringId); - if (measurement == NULL) { - // No measurement message - sint32 x = (widget->right - widget->left) / 2; - sint32 y = (widget->bottom - widget->top) / 2 - 5; - sint32 width = widget->right - widget->left - 2; - gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x, y, width, stringId, COLOUR_BLACK); - return; - } + rct_widget *widget = &window_ride_graphs_widgets[WIDX_GRAPH]; + rct_string_id stringId; + rct_ride_measurement *measurement = ride_get_measurement(w->number, &stringId); + if (measurement == NULL) { + // No measurement message + sint32 x = (widget->right - widget->left) / 2; + sint32 y = (widget->bottom - widget->top) / 2 - 5; + sint32 width = widget->right - widget->left - 2; + gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x, y, width, stringId, COLOUR_BLACK); + return; + } - // Vertical grid lines - const uint8 lightColour = ColourMapA[COLOUR_SATURATED_GREEN].mid_light; - const uint8 darkColour = ColourMapA[COLOUR_SATURATED_GREEN].mid_dark; + // Vertical grid lines + const uint8 lightColour = ColourMapA[COLOUR_SATURATED_GREEN].mid_light; + const uint8 darkColour = ColourMapA[COLOUR_SATURATED_GREEN].mid_dark; - sint32 time = 0; - for (sint32 x = 0; x < dpi->x + dpi->width; x += 80) { - if (x + 80 >= dpi->x) { - gfx_fill_rect(dpi, x + 0, dpi->y, x + 0, dpi->y + dpi->height - 1, lightColour); - gfx_fill_rect(dpi, x + 16, dpi->y, x + 16, dpi->y + dpi->height - 1, darkColour); - gfx_fill_rect(dpi, x + 32, dpi->y, x + 32, dpi->y + dpi->height - 1, darkColour); - gfx_fill_rect(dpi, x + 48, dpi->y, x + 48, dpi->y + dpi->height - 1, darkColour); - gfx_fill_rect(dpi, x + 64, dpi->y, x + 64, dpi->y + dpi->height - 1, darkColour); - } - time += 5; - } + sint32 time = 0; + for (sint32 x = 0; x < dpi->x + dpi->width; x += 80) { + if (x + 80 >= dpi->x) { + gfx_fill_rect(dpi, x + 0, dpi->y, x + 0, dpi->y + dpi->height - 1, lightColour); + gfx_fill_rect(dpi, x + 16, dpi->y, x + 16, dpi->y + dpi->height - 1, darkColour); + gfx_fill_rect(dpi, x + 32, dpi->y, x + 32, dpi->y + dpi->height - 1, darkColour); + gfx_fill_rect(dpi, x + 48, dpi->y, x + 48, dpi->y + dpi->height - 1, darkColour); + gfx_fill_rect(dpi, x + 64, dpi->y, x + 64, dpi->y + dpi->height - 1, darkColour); + } + time += 5; + } - // Horizontal grid lines - sint32 listType = w->list_information_type & 0xFF; - sint16 yUnit = window_graphs_y_axi[listType].unit; - rct_string_id stringID = window_graphs_y_axi[listType].label; - sint16 yUnitInterval = window_graphs_y_axi[listType].unit_interval; - sint16 yInterval = window_graphs_y_axi[listType].interval; + // Horizontal grid lines + sint32 listType = w->list_information_type & 0xFF; + sint16 yUnit = window_graphs_y_axi[listType].unit; + rct_string_id stringID = window_graphs_y_axi[listType].label; + sint16 yUnitInterval = window_graphs_y_axi[listType].unit_interval; + sint16 yInterval = window_graphs_y_axi[listType].interval; - // Scale modifier - if (listType == GRAPH_ALTITUDE) { - yUnit -= gMapBaseZ * 3; - } + // Scale modifier + if (listType == GRAPH_ALTITUDE) { + yUnit -= gMapBaseZ * 3; + } - for (sint32 y = widget->bottom - widget->top - 13; y >= 8; y -= yInterval, yUnit += yUnitInterval) { - // Minor / major line - sint32 colour = yUnit == 0 ? lightColour : darkColour; - gfx_fill_rect(dpi, dpi->x, y, dpi->x + dpi->width - 1, y, colour); + for (sint32 y = widget->bottom - widget->top - 13; y >= 8; y -= yInterval, yUnit += yUnitInterval) { + // Minor / major line + sint32 colour = yUnit == 0 ? lightColour : darkColour; + gfx_fill_rect(dpi, dpi->x, y, dpi->x + dpi->width - 1, y, colour); - sint16 scaled_yUnit = yUnit; - // Scale modifier - if (listType == GRAPH_ALTITUDE) - scaled_yUnit /= 2; + sint16 scaled_yUnit = yUnit; + // Scale modifier + if (listType == GRAPH_ALTITUDE) + scaled_yUnit /= 2; - gfx_draw_string_left(dpi, stringID, &scaled_yUnit, COLOUR_BLACK, w->scrolls[0].h_left + 1, y - 4); - } + gfx_draw_string_left(dpi, stringID, &scaled_yUnit, COLOUR_BLACK, w->scrolls[0].h_left + 1, y - 4); + } - // Time marks - time = 0; - for (sint32 x = 0; x < dpi->x + dpi->width; x += 80) { - if (x + 80 >= dpi->x) - gfx_draw_string_left(dpi, STR_RIDE_STATS_TIME, &time, COLOUR_BLACK, x + 2, 1); - time += 5; - } + // Time marks + time = 0; + for (sint32 x = 0; x < dpi->x + dpi->width; x += 80) { + if (x + 80 >= dpi->x) + gfx_draw_string_left(dpi, STR_RIDE_STATS_TIME, &time, COLOUR_BLACK, x + 2, 1); + time += 5; + } - // Plot - sint32 x = dpi->x; - sint32 top, bottom; - for (sint32 width = 0; width < dpi->width; width++, x++) { - if (x < 0 || x >= measurement->num_items - 1) - continue; + // Plot + sint32 x = dpi->x; + sint32 top, bottom; + for (sint32 width = 0; width < dpi->width; width++, x++) { + if (x < 0 || x >= measurement->num_items - 1) + continue; - switch (listType) { - case GRAPH_VELOCITY: - top = measurement->velocity[x] / 2; - bottom = measurement->velocity[x + 1] / 2; - break; - case GRAPH_ALTITUDE: - top = measurement->altitude[x]; - bottom = measurement->altitude[x + 1]; - break; - case GRAPH_VERTICAL: - top = measurement->vertical[x] + 39; - bottom = measurement->vertical[x + 1] + 39; - break; - case GRAPH_LATERAL: - top = measurement->lateral[x] + 52; - bottom = measurement->lateral[x + 1] + 52; - break; - default: - log_error("Wrong graph type %d", listType); - top = bottom = 0; - } + switch (listType) { + case GRAPH_VELOCITY: + top = measurement->velocity[x] / 2; + bottom = measurement->velocity[x + 1] / 2; + break; + case GRAPH_ALTITUDE: + top = measurement->altitude[x]; + bottom = measurement->altitude[x + 1]; + break; + case GRAPH_VERTICAL: + top = measurement->vertical[x] + 39; + bottom = measurement->vertical[x + 1] + 39; + break; + case GRAPH_LATERAL: + top = measurement->lateral[x] + 52; + bottom = measurement->lateral[x + 1] + 52; + break; + default: + log_error("Wrong graph type %d", listType); + top = bottom = 0; + } - top = widget->bottom - widget->top - top - 13; - bottom = widget->bottom - widget->top - bottom - 13; - if (top > bottom) { - sint32 tmp = top; - top = bottom; - bottom = tmp; - } - gfx_fill_rect(dpi, x, top, x, bottom, x > measurement->current_item ? PALETTE_INDEX_17 : PALETTE_INDEX_21); - } + top = widget->bottom - widget->top - top - 13; + bottom = widget->bottom - widget->top - bottom - 13; + if (top > bottom) { + sint32 tmp = top; + top = bottom; + bottom = tmp; + } + gfx_fill_rect(dpi, x, top, x, bottom, x > measurement->current_item ? PALETTE_INDEX_17 : PALETTE_INDEX_21); + } } #pragma endregion @@ -5730,31 +5730,31 @@ static void window_ride_graphs_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi static void update_same_price_throughout_flags(uint32 shop_item) { - uint32 newFlags; + uint32 newFlags; - if (shop_item_is_photo(shop_item)) { - newFlags = gSamePriceThroughoutParkA; - newFlags ^= (1 << SHOP_ITEM_PHOTO); - game_do_command(0, 1, 0, (0x2 << 8), GAME_COMMAND_SET_PARK_OPEN, newFlags, shop_item); + if (shop_item_is_photo(shop_item)) { + newFlags = gSamePriceThroughoutParkA; + newFlags ^= (1 << SHOP_ITEM_PHOTO); + game_do_command(0, 1, 0, (0x2 << 8), GAME_COMMAND_SET_PARK_OPEN, newFlags, shop_item); - newFlags = gSamePriceThroughoutParkB; - newFlags ^= (1 << (SHOP_ITEM_PHOTO2 - 32)) | - (1 << (SHOP_ITEM_PHOTO3 - 32)) | - (1 << (SHOP_ITEM_PHOTO4 - 32)); - game_do_command(0, 1, 0, (0x3 << 8), GAME_COMMAND_SET_PARK_OPEN, newFlags, shop_item); - } - else { - if (shop_item < 32) { - newFlags = gSamePriceThroughoutParkA; - newFlags ^= (1u << shop_item); - game_do_command(0, 1, 0, (0x2 << 8), GAME_COMMAND_SET_PARK_OPEN, newFlags, shop_item); - } - else { - newFlags = gSamePriceThroughoutParkB; - newFlags ^= (1u << (shop_item - 32)); - game_do_command(0, 1, 0, (0x3 << 8), GAME_COMMAND_SET_PARK_OPEN, newFlags, shop_item); - } - } + newFlags = gSamePriceThroughoutParkB; + newFlags ^= (1 << (SHOP_ITEM_PHOTO2 - 32)) | + (1 << (SHOP_ITEM_PHOTO3 - 32)) | + (1 << (SHOP_ITEM_PHOTO4 - 32)); + game_do_command(0, 1, 0, (0x3 << 8), GAME_COMMAND_SET_PARK_OPEN, newFlags, shop_item); + } + else { + if (shop_item < 32) { + newFlags = gSamePriceThroughoutParkA; + newFlags ^= (1u << shop_item); + game_do_command(0, 1, 0, (0x2 << 8), GAME_COMMAND_SET_PARK_OPEN, newFlags, shop_item); + } + else { + newFlags = gSamePriceThroughoutParkB; + newFlags ^= (1u << (shop_item - 32)); + game_do_command(0, 1, 0, (0x3 << 8), GAME_COMMAND_SET_PARK_OPEN, newFlags, shop_item); + } + } } /** @@ -5763,27 +5763,27 @@ static void update_same_price_throughout_flags(uint32 shop_item) */ static void window_ride_income_toggle_primary_price(rct_window *w) { - rct_ride *ride; - rct_ride_entry *ride_type; - uint32 shop_item; - money16 price; + rct_ride *ride; + rct_ride_entry *ride_type; + uint32 shop_item; + money16 price; - ride = get_ride(w->number); - ride_type = get_ride_entry(ride->subtype); + ride = get_ride(w->number); + ride_type = get_ride_entry(ride->subtype); - if (ride->type == RIDE_TYPE_TOILETS) { - shop_item = SHOP_ITEM_ADMISSION; - } - else { - shop_item = ride_type->shop_item; - if (shop_item == 0xFFFF) - return; - } + if (ride->type == RIDE_TYPE_TOILETS) { + shop_item = SHOP_ITEM_ADMISSION; + } + else { + shop_item = ride_type->shop_item; + if (shop_item == 0xFFFF) + return; + } - update_same_price_throughout_flags(shop_item); + update_same_price_throughout_flags(shop_item); - price = ride->price; - game_do_command(0, 1, 0, w->number, GAME_COMMAND_SET_RIDE_PRICE, price, 0); + price = ride->price; + game_do_command(0, 1, 0, w->number, GAME_COMMAND_SET_RIDE_PRICE, price, 0); } /** @@ -5792,22 +5792,22 @@ static void window_ride_income_toggle_primary_price(rct_window *w) */ static void window_ride_income_toggle_secondary_price(rct_window *w) { - rct_ride *ride; - rct_ride_entry *ride_type; - uint32 shop_item; - money16 price; + rct_ride *ride; + rct_ride_entry *ride_type; + uint32 shop_item; + money16 price; - ride = get_ride(w->number); - ride_type = get_ride_entry(ride->subtype); + ride = get_ride(w->number); + ride_type = get_ride_entry(ride->subtype); - shop_item = ride_type->shop_item_secondary; - if (shop_item == 0xFF) - shop_item = RidePhotoItems[ride->type]; + shop_item = ride_type->shop_item_secondary; + if (shop_item == 0xFF) + shop_item = RidePhotoItems[ride->type]; - update_same_price_throughout_flags(shop_item); + update_same_price_throughout_flags(shop_item); - price = ride->price_secondary; - game_do_command(0, 1, 0, (1 << 8) | w->number, GAME_COMMAND_SET_RIDE_PRICE, price, 0); + price = ride->price_secondary; + game_do_command(0, 1, 0, (1 << 8) | w->number, GAME_COMMAND_SET_RIDE_PRICE, price, 0); } /** @@ -5816,23 +5816,23 @@ static void window_ride_income_toggle_secondary_price(rct_window *w) */ static void window_ride_income_increase_primary_price(rct_window *w) { - rct_ride *ride; - rct_ride_entry *ride_type; + rct_ride *ride; + rct_ride_entry *ride_type; - ride = get_ride(w->number); - ride_type = get_ride_entry(ride->subtype); + ride = get_ride(w->number); + ride_type = get_ride_entry(ride->subtype); - if ((gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) == 0) { - if (ride->type != RIDE_TYPE_TOILETS && ride_type->shop_item == 0xFF) { - if (!gCheatsUnlockAllPrices) - return; - } - } - money16 price = ride->price; - if (price < MONEY(20, 00)) - price++; + if ((gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) == 0) { + if (ride->type != RIDE_TYPE_TOILETS && ride_type->shop_item == 0xFF) { + if (!gCheatsUnlockAllPrices) + return; + } + } + money16 price = ride->price; + if (price < MONEY(20, 00)) + price++; - game_do_command(0, 1, 0, w->number, GAME_COMMAND_SET_RIDE_PRICE, price, 0); + game_do_command(0, 1, 0, w->number, GAME_COMMAND_SET_RIDE_PRICE, price, 0); } /** @@ -5841,23 +5841,23 @@ static void window_ride_income_increase_primary_price(rct_window *w) */ static void window_ride_income_decrease_primary_price(rct_window *w) { - rct_ride *ride; - rct_ride_entry *ride_type; + rct_ride *ride; + rct_ride_entry *ride_type; - ride = get_ride(w->number); - ride_type = get_ride_entry(ride->subtype); + ride = get_ride(w->number); + ride_type = get_ride_entry(ride->subtype); - if ((gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) == 0) { - if (ride->type != RIDE_TYPE_TOILETS && ride_type->shop_item == 0xFF) { - if (!gCheatsUnlockAllPrices) - return; - } - } - money16 price = ride->price; - if (price > MONEY(0, 00)) - price--; + if ((gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) == 0) { + if (ride->type != RIDE_TYPE_TOILETS && ride_type->shop_item == 0xFF) { + if (!gCheatsUnlockAllPrices) + return; + } + } + money16 price = ride->price; + if (price > MONEY(0, 00)) + price--; - game_do_command(0, 1, 0, w->number, GAME_COMMAND_SET_RIDE_PRICE, price, 0); + game_do_command(0, 1, 0, w->number, GAME_COMMAND_SET_RIDE_PRICE, price, 0); } /** @@ -5866,15 +5866,15 @@ static void window_ride_income_decrease_primary_price(rct_window *w) */ static void window_ride_income_increase_secondary_price(rct_window *w) { - rct_ride *ride; + rct_ride *ride; - ride = get_ride(w->number); + ride = get_ride(w->number); - money16 price = ride->price_secondary; - if (price < MONEY(20, 00)) - price++; + money16 price = ride->price_secondary; + if (price < MONEY(20, 00)) + price++; - game_do_command(0, 1, 0, (w->number & 0x00FF) | 0x0100, GAME_COMMAND_SET_RIDE_PRICE, price, 0); + game_do_command(0, 1, 0, (w->number & 0x00FF) | 0x0100, GAME_COMMAND_SET_RIDE_PRICE, price, 0); } /** @@ -5883,15 +5883,15 @@ static void window_ride_income_increase_secondary_price(rct_window *w) */ static void window_ride_income_decrease_secondary_price(rct_window *w) { - rct_ride *ride; + rct_ride *ride; - ride = get_ride(w->number); + ride = get_ride(w->number); - money16 price = ride->price_secondary; - if (price > MONEY(0, 00)) - price--; + money16 price = ride->price_secondary; + if (price > MONEY(0, 00)) + price--; - game_do_command(0, 1, 0, (w->number & 0x00FF) | 0x0100, GAME_COMMAND_SET_RIDE_PRICE, price, 0); + game_do_command(0, 1, 0, (w->number & 0x00FF) | 0x0100, GAME_COMMAND_SET_RIDE_PRICE, price, 0); } /** @@ -5900,29 +5900,29 @@ static void window_ride_income_decrease_secondary_price(rct_window *w) */ static void window_ride_income_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - case WIDX_TAB_8: - case WIDX_TAB_9: - case WIDX_TAB_10: - window_ride_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK: - window_ride_income_toggle_primary_price(w); - break; - case WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK: - window_ride_income_toggle_secondary_price(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + case WIDX_TAB_8: + case WIDX_TAB_9: + case WIDX_TAB_10: + window_ride_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK: + window_ride_income_toggle_primary_price(w); + break; + case WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK: + window_ride_income_toggle_secondary_price(w); + break; + } } /** @@ -5931,7 +5931,7 @@ static void window_ride_income_mouseup(rct_window *w, rct_widgetindex widgetInde */ static void window_ride_income_resize(rct_window *w) { - window_set_resize(w, 316, 177, 316, 177); + window_set_resize(w, 316, 177, 316, 177); } /** @@ -5940,20 +5940,20 @@ static void window_ride_income_resize(rct_window *w) */ static void window_ride_income_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - switch (widgetIndex) { - case WIDX_PRIMARY_PRICE_INCREASE: - window_ride_income_increase_primary_price(w); - break; - case WIDX_PRIMARY_PRICE_DECREASE: - window_ride_income_decrease_primary_price(w); - break; - case WIDX_SECONDARY_PRICE_INCREASE: - window_ride_income_increase_secondary_price(w); - break; - case WIDX_SECONDARY_PRICE_DECREASE: - window_ride_income_decrease_secondary_price(w); - break; - } + switch (widgetIndex) { + case WIDX_PRIMARY_PRICE_INCREASE: + window_ride_income_increase_primary_price(w); + break; + case WIDX_PRIMARY_PRICE_DECREASE: + window_ride_income_decrease_primary_price(w); + break; + case WIDX_SECONDARY_PRICE_INCREASE: + window_ride_income_increase_secondary_price(w); + break; + case WIDX_SECONDARY_PRICE_DECREASE: + window_ride_income_decrease_secondary_price(w); + break; + } } /** @@ -5962,17 +5962,17 @@ static void window_ride_income_mousedown(rct_widgetindex widgetIndex, rct_window */ static void window_ride_income_update(rct_window *w) { - rct_ride *ride; + rct_ride *ride; - w->frame_no++; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_9); + w->frame_no++; + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_9); - ride = get_ride(w->number); - if (ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_INCOME) { - ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_INCOME; - window_invalidate(w); - } + ride = get_ride(w->number); + if (ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_INCOME) { + ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_INCOME; + window_invalidate(w); + } } /** @@ -5981,97 +5981,97 @@ static void window_ride_income_update(rct_window *w) */ static void window_ride_income_invalidate(rct_window *w) { - rct_widget *widgets; - rct_ride_entry *rideEntry; - sint32 primaryItem, secondaryItem; + rct_widget *widgets; + rct_ride_entry *rideEntry; + sint32 primaryItem, secondaryItem; - widgets = window_ride_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_ride_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_ride_set_pressed_tab(w); + window_ride_set_pressed_tab(w); - rct_ride *ride = get_ride(w->number); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); + rct_ride *ride = get_ride(w->number); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); - rideEntry = get_ride_entry_by_ride(ride); + rideEntry = get_ride_entry_by_ride(ride); - // Primary item - w->pressed_widgets &= ~(1 << WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK); - w->disabled_widgets &= ~(1 << WIDX_PRIMARY_PRICE); + // Primary item + w->pressed_widgets &= ~(1 << WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK); + w->disabled_widgets &= ~(1 << WIDX_PRIMARY_PRICE); - window_ride_income_widgets[WIDX_PRIMARY_PRICE_LABEL].tooltip = STR_NONE; - window_ride_income_widgets[WIDX_PRIMARY_PRICE].tooltip = STR_NONE; + window_ride_income_widgets[WIDX_PRIMARY_PRICE_LABEL].tooltip = STR_NONE; + window_ride_income_widgets[WIDX_PRIMARY_PRICE].tooltip = STR_NONE; - // If the park doesn't have free entry, lock the admission price, unless the cheat to unlock all prices is activated. - if ((!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) && rideEntry->shop_item == SHOP_ITEM_NONE && ride->type != RIDE_TYPE_TOILETS) - && (!gCheatsUnlockAllPrices)) - { - w->disabled_widgets |= (1 << WIDX_PRIMARY_PRICE); - window_ride_income_widgets[WIDX_PRIMARY_PRICE_LABEL].tooltip = STR_RIDE_INCOME_ADMISSION_PAY_FOR_ENTRY_TIP; - window_ride_income_widgets[WIDX_PRIMARY_PRICE].tooltip = STR_RIDE_INCOME_ADMISSION_PAY_FOR_ENTRY_TIP; - } + // If the park doesn't have free entry, lock the admission price, unless the cheat to unlock all prices is activated. + if ((!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) && rideEntry->shop_item == SHOP_ITEM_NONE && ride->type != RIDE_TYPE_TOILETS) + && (!gCheatsUnlockAllPrices)) + { + w->disabled_widgets |= (1 << WIDX_PRIMARY_PRICE); + window_ride_income_widgets[WIDX_PRIMARY_PRICE_LABEL].tooltip = STR_RIDE_INCOME_ADMISSION_PAY_FOR_ENTRY_TIP; + window_ride_income_widgets[WIDX_PRIMARY_PRICE].tooltip = STR_RIDE_INCOME_ADMISSION_PAY_FOR_ENTRY_TIP; + } - window_ride_income_widgets[WIDX_PRIMARY_PRICE_LABEL].text = STR_RIDE_INCOME_ADMISSION_PRICE; - window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].text = STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO; - window_ride_income_widgets[WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK].type = WWT_EMPTY; + window_ride_income_widgets[WIDX_PRIMARY_PRICE_LABEL].text = STR_RIDE_INCOME_ADMISSION_PRICE; + window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].text = STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO; + window_ride_income_widgets[WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK].type = WWT_EMPTY; - window_ride_income_widgets[WIDX_PRIMARY_PRICE].text = STR_ARG_6_CURRENCY2DP; - money16 ridePrimaryPrice = ride_get_price(ride); - set_format_arg(6, money32, ridePrimaryPrice); - if (ridePrimaryPrice == 0) - window_ride_income_widgets[WIDX_PRIMARY_PRICE].text = STR_FREE; + window_ride_income_widgets[WIDX_PRIMARY_PRICE].text = STR_ARG_6_CURRENCY2DP; + money16 ridePrimaryPrice = ride_get_price(ride); + set_format_arg(6, money32, ridePrimaryPrice); + if (ridePrimaryPrice == 0) + window_ride_income_widgets[WIDX_PRIMARY_PRICE].text = STR_FREE; - primaryItem = SHOP_ITEM_ADMISSION; - if (ride->type == RIDE_TYPE_TOILETS || ((primaryItem = rideEntry->shop_item) != SHOP_ITEM_NONE)) { - window_ride_income_widgets[WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK].type = WWT_CHECKBOX; + primaryItem = SHOP_ITEM_ADMISSION; + if (ride->type == RIDE_TYPE_TOILETS || ((primaryItem = rideEntry->shop_item) != SHOP_ITEM_NONE)) { + window_ride_income_widgets[WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK].type = WWT_CHECKBOX; - if (shop_item_has_common_price(primaryItem)) - w->pressed_widgets |= (1 << WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK); + if (shop_item_has_common_price(primaryItem)) + w->pressed_widgets |= (1 << WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK); - window_ride_income_widgets[WIDX_PRIMARY_PRICE_LABEL].text = ShopItemStringIds[primaryItem].price_label; - } + window_ride_income_widgets[WIDX_PRIMARY_PRICE_LABEL].text = ShopItemStringIds[primaryItem].price_label; + } - // Get secondary item - secondaryItem = RidePhotoItems[ride->type]; - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO)) { - if ((secondaryItem = rideEntry->shop_item_secondary) != SHOP_ITEM_NONE) { - window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].text = ShopItemStringIds[secondaryItem].price_label; - } - } + // Get secondary item + secondaryItem = RidePhotoItems[ride->type]; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO)) { + if ((secondaryItem = rideEntry->shop_item_secondary) != SHOP_ITEM_NONE) { + window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].text = ShopItemStringIds[secondaryItem].price_label; + } + } - if (secondaryItem == SHOP_ITEM_NONE) { - // Hide secondary item widgets - window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].type = WWT_EMPTY; - window_ride_income_widgets[WIDX_SECONDARY_PRICE].type = WWT_EMPTY; - window_ride_income_widgets[WIDX_SECONDARY_PRICE_INCREASE].type = WWT_EMPTY; - window_ride_income_widgets[WIDX_SECONDARY_PRICE_DECREASE].type = WWT_EMPTY; - window_ride_income_widgets[WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK].type = WWT_EMPTY; - } else { - // Set same price throughout park checkbox - w->pressed_widgets &= ~(1 << WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK); - if (shop_item_has_common_price(secondaryItem)) - w->pressed_widgets |= (1 << WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK); + if (secondaryItem == SHOP_ITEM_NONE) { + // Hide secondary item widgets + window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].type = WWT_EMPTY; + window_ride_income_widgets[WIDX_SECONDARY_PRICE].type = WWT_EMPTY; + window_ride_income_widgets[WIDX_SECONDARY_PRICE_INCREASE].type = WWT_EMPTY; + window_ride_income_widgets[WIDX_SECONDARY_PRICE_DECREASE].type = WWT_EMPTY; + window_ride_income_widgets[WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK].type = WWT_EMPTY; + } else { + // Set same price throughout park checkbox + w->pressed_widgets &= ~(1 << WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK); + if (shop_item_has_common_price(secondaryItem)) + w->pressed_widgets |= (1 << WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK); - // Show widgets - window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].type = WWT_24; - window_ride_income_widgets[WIDX_SECONDARY_PRICE].type = WWT_SPINNER; - window_ride_income_widgets[WIDX_SECONDARY_PRICE_INCREASE].type = WWT_DROPDOWN_BUTTON; - window_ride_income_widgets[WIDX_SECONDARY_PRICE_DECREASE].type = WWT_DROPDOWN_BUTTON; - window_ride_income_widgets[WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK].type = WWT_CHECKBOX; + // Show widgets + window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].type = WWT_24; + window_ride_income_widgets[WIDX_SECONDARY_PRICE].type = WWT_SPINNER; + window_ride_income_widgets[WIDX_SECONDARY_PRICE_INCREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_income_widgets[WIDX_SECONDARY_PRICE_DECREASE].type = WWT_DROPDOWN_BUTTON; + window_ride_income_widgets[WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK].type = WWT_CHECKBOX; - // Set secondary item price - window_ride_income_widgets[WIDX_SECONDARY_PRICE].text = STR_RIDE_SECONDARY_PRICE_VALUE; - set_format_arg(10, money32, ride->price_secondary); - if (ride->price_secondary == 0) - window_ride_income_widgets[WIDX_SECONDARY_PRICE].text = STR_FREE; - } + // Set secondary item price + window_ride_income_widgets[WIDX_SECONDARY_PRICE].text = STR_RIDE_SECONDARY_PRICE_VALUE; + set_format_arg(10, money32, ride->price_secondary); + if (ride->price_secondary == 0) + window_ride_income_widgets[WIDX_SECONDARY_PRICE].text = STR_FREE; + } - window_ride_anchor_border_widgets(w); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); + window_ride_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); } /** @@ -6080,77 +6080,77 @@ static void window_ride_income_invalidate(rct_window *w) */ static void window_ride_income_paint(rct_window *w, rct_drawpixelinfo *dpi) { - rct_ride *ride; - rct_ride_entry *rideEntry; - rct_string_id stringId; - money32 profit, costPerHour; - sint32 x, y, primaryItem, secondaryItem; + rct_ride *ride; + rct_ride_entry *rideEntry; + rct_string_id stringId; + money32 profit, costPerHour; + sint32 x, y, primaryItem, secondaryItem; - window_draw_widgets(w, dpi); - window_ride_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_ride_draw_tab_images(dpi, w); - ride = get_ride(w->number); - rideEntry = get_ride_entry_by_ride(ride); + ride = get_ride(w->number); + rideEntry = get_ride_entry_by_ride(ride); - x = w->x + window_ride_income_widgets[WIDX_PAGE_BACKGROUND].left + 4; - y = w->y + window_ride_income_widgets[WIDX_PAGE_BACKGROUND].top + 29; + x = w->x + window_ride_income_widgets[WIDX_PAGE_BACKGROUND].left + 4; + y = w->y + window_ride_income_widgets[WIDX_PAGE_BACKGROUND].top + 29; - // Primary item profit / loss per item sold - primaryItem = rideEntry->shop_item; - if (primaryItem != SHOP_ITEM_NONE) { - profit = ride->price; + // Primary item profit / loss per item sold + primaryItem = rideEntry->shop_item; + if (primaryItem != SHOP_ITEM_NONE) { + profit = ride->price; - stringId = STR_PROFIT_PER_ITEM_SOLD; - profit -= get_shop_item_cost(primaryItem); - if (profit < 0) { - profit *= -1; - stringId = STR_LOSS_PER_ITEM_SOLD; - } + stringId = STR_PROFIT_PER_ITEM_SOLD; + profit -= get_shop_item_cost(primaryItem); + if (profit < 0) { + profit *= -1; + stringId = STR_LOSS_PER_ITEM_SOLD; + } - gfx_draw_string_left(dpi, stringId, &profit, COLOUR_BLACK, x, y); - } - y += 39; + gfx_draw_string_left(dpi, stringId, &profit, COLOUR_BLACK, x, y); + } + y += 39; - // Secondary item profit / loss per item sold - secondaryItem = RidePhotoItems[ride->type]; - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO)) - secondaryItem = rideEntry->shop_item_secondary; + // Secondary item profit / loss per item sold + secondaryItem = RidePhotoItems[ride->type]; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO)) + secondaryItem = rideEntry->shop_item_secondary; - if (secondaryItem != SHOP_ITEM_NONE) { - profit = ride->price_secondary; + if (secondaryItem != SHOP_ITEM_NONE) { + profit = ride->price_secondary; - stringId = STR_PROFIT_PER_ITEM_SOLD; - profit -= get_shop_item_cost(secondaryItem); - if (profit < 0) { - profit *= -1; - stringId = STR_LOSS_PER_ITEM_SOLD; - } + stringId = STR_PROFIT_PER_ITEM_SOLD; + profit -= get_shop_item_cost(secondaryItem); + if (profit < 0) { + profit *= -1; + stringId = STR_LOSS_PER_ITEM_SOLD; + } - gfx_draw_string_left(dpi, stringId, &profit, COLOUR_BLACK, x, y); - } - y += 15; + gfx_draw_string_left(dpi, stringId, &profit, COLOUR_BLACK, x, y); + } + y += 15; - // Income per hour - if (ride->income_per_hour != MONEY32_UNDEFINED) { - gfx_draw_string_left(dpi, STR_INCOME_PER_HOUR, &ride->income_per_hour, COLOUR_BLACK, x, y); - y += 10; - } + // Income per hour + if (ride->income_per_hour != MONEY32_UNDEFINED) { + gfx_draw_string_left(dpi, STR_INCOME_PER_HOUR, &ride->income_per_hour, COLOUR_BLACK, x, y); + y += 10; + } - // Running cost per hour - costPerHour = ride->upkeep_cost * 16; - stringId = ride->upkeep_cost == (money16)(uint16)0xFFFF ? STR_RUNNING_COST_UNKNOWN : STR_RUNNING_COST_PER_HOUR; - gfx_draw_string_left(dpi, stringId, &costPerHour, COLOUR_BLACK, x, y); - y += 10; + // Running cost per hour + costPerHour = ride->upkeep_cost * 16; + stringId = ride->upkeep_cost == (money16)(uint16)0xFFFF ? STR_RUNNING_COST_UNKNOWN : STR_RUNNING_COST_PER_HOUR; + gfx_draw_string_left(dpi, stringId, &costPerHour, COLOUR_BLACK, x, y); + y += 10; - // Profit per hour - if (ride->profit != MONEY32_UNDEFINED) { - gfx_draw_string_left(dpi, STR_PROFIT_PER_HOUR, &ride->profit, COLOUR_BLACK, x, y); - y += 10; - } - y += 5; + // Profit per hour + if (ride->profit != MONEY32_UNDEFINED) { + gfx_draw_string_left(dpi, STR_PROFIT_PER_HOUR, &ride->profit, COLOUR_BLACK, x, y); + y += 10; + } + y += 5; - // Total profit - gfx_draw_string_left(dpi, STR_TOTAL_PROFIT, &ride->total_profit, COLOUR_BLACK, x, y); + // Total profit + gfx_draw_string_left(dpi, STR_TOTAL_PROFIT, &ride->total_profit, COLOUR_BLACK, x, y); } #pragma endregion @@ -6163,32 +6163,32 @@ static void window_ride_income_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_ride_customer_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - case WIDX_TAB_4: - case WIDX_TAB_5: - case WIDX_TAB_6: - case WIDX_TAB_7: - case WIDX_TAB_8: - case WIDX_TAB_9: - case WIDX_TAB_10: - window_ride_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_SHOW_GUESTS_THOUGHTS: - window_guest_list_open_with_filter(GLFT_GUESTS_THINKING_ABOUT_RIDE, w->number); - break; - case WIDX_SHOW_GUESTS_ON_RIDE: - window_guest_list_open_with_filter(GLFT_GUESTS_ON_RIDE, w->number); - break; - case WIDX_SHOW_GUESTS_QUEUING: - window_guest_list_open_with_filter(GLFT_GUESTS_IN_QUEUE, w->number); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + case WIDX_TAB_4: + case WIDX_TAB_5: + case WIDX_TAB_6: + case WIDX_TAB_7: + case WIDX_TAB_8: + case WIDX_TAB_9: + case WIDX_TAB_10: + window_ride_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_SHOW_GUESTS_THOUGHTS: + window_guest_list_open_with_filter(GLFT_GUESTS_THINKING_ABOUT_RIDE, w->number); + break; + case WIDX_SHOW_GUESTS_ON_RIDE: + window_guest_list_open_with_filter(GLFT_GUESTS_ON_RIDE, w->number); + break; + case WIDX_SHOW_GUESTS_QUEUING: + window_guest_list_open_with_filter(GLFT_GUESTS_IN_QUEUE, w->number); + break; + } } /** @@ -6197,8 +6197,8 @@ static void window_ride_customer_mouseup(rct_window *w, rct_widgetindex widgetIn */ static void window_ride_customer_resize(rct_window *w) { - w->flags |= WF_RESIZABLE; - window_set_resize(w, 316, 149, 316, 149); + w->flags |= WF_RESIZABLE; + window_set_resize(w, 316, 149, 316, 149); } /** @@ -6207,20 +6207,20 @@ static void window_ride_customer_resize(rct_window *w) */ static void window_ride_customer_update(rct_window *w) { - rct_ride *ride; + rct_ride *ride; - w->var_492++; - if (w->var_492 >= 24) - w->var_492 = 0; + w->var_492++; + if (w->var_492 >= 24) + w->var_492 = 0; - window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_10); + window_event_invalidate_call(w); + widget_invalidate(w, WIDX_TAB_10); - ride = get_ride(w->number); - if (ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_CUSTOMER) { - ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_CUSTOMER; - window_invalidate(w); - } + ride = get_ride(w->number); + if (ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_CUSTOMER) { + ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_CUSTOMER; + window_invalidate(w); + } } /** @@ -6229,31 +6229,31 @@ static void window_ride_customer_update(rct_window *w) */ static void window_ride_customer_invalidate(rct_window *w) { - rct_widget *widgets; + rct_widget *widgets; - widgets = window_ride_page_widgets[w->page]; - if (w->widgets != widgets) { - w->widgets = widgets; - window_init_scroll_widgets(w); - } + widgets = window_ride_page_widgets[w->page]; + if (w->widgets != widgets) { + w->widgets = widgets; + window_init_scroll_widgets(w); + } - window_ride_set_pressed_tab(w); + window_ride_set_pressed_tab(w); - rct_ride *ride = get_ride(w->number); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); + rct_ride *ride = get_ride(w->number); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); - window_ride_customer_widgets[WIDX_SHOW_GUESTS_THOUGHTS].type = WWT_FLATBTN; - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) { - window_ride_customer_widgets[WIDX_SHOW_GUESTS_ON_RIDE].type = WWT_EMPTY; - window_ride_customer_widgets[WIDX_SHOW_GUESTS_QUEUING].type = WWT_EMPTY; - } else { - window_ride_customer_widgets[WIDX_SHOW_GUESTS_ON_RIDE].type = WWT_FLATBTN; - window_ride_customer_widgets[WIDX_SHOW_GUESTS_QUEUING].type = WWT_FLATBTN; - } + window_ride_customer_widgets[WIDX_SHOW_GUESTS_THOUGHTS].type = WWT_FLATBTN; + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP)) { + window_ride_customer_widgets[WIDX_SHOW_GUESTS_ON_RIDE].type = WWT_EMPTY; + window_ride_customer_widgets[WIDX_SHOW_GUESTS_QUEUING].type = WWT_EMPTY; + } else { + window_ride_customer_widgets[WIDX_SHOW_GUESTS_ON_RIDE].type = WWT_FLATBTN; + window_ride_customer_widgets[WIDX_SHOW_GUESTS_QUEUING].type = WWT_FLATBTN; + } - window_ride_anchor_border_widgets(w); - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); + window_ride_anchor_border_widgets(w); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10); } /** @@ -6262,105 +6262,105 @@ static void window_ride_customer_invalidate(rct_window *w) */ static void window_ride_customer_paint(rct_window *w, rct_drawpixelinfo *dpi) { - rct_ride *ride; - sint32 x, y; - uint8 shopItem; - sint16 popularity, satisfaction, queueTime, age; - sint32 customersPerHour; - rct_string_id stringId; + rct_ride *ride; + sint32 x, y; + uint8 shopItem; + sint16 popularity, satisfaction, queueTime, age; + sint32 customersPerHour; + rct_string_id stringId; - window_draw_widgets(w, dpi); - window_ride_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_ride_draw_tab_images(dpi, w); - ride = get_ride(w->number); - x = w->x + window_ride_customer_widgets[WIDX_PAGE_BACKGROUND].left + 4; - y = w->y + window_ride_customer_widgets[WIDX_PAGE_BACKGROUND].top + 4; + ride = get_ride(w->number); + x = w->x + window_ride_customer_widgets[WIDX_PAGE_BACKGROUND].left + 4; + y = w->y + window_ride_customer_widgets[WIDX_PAGE_BACKGROUND].top + 4; - // Customers currently on ride - if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { - sint16 customersOnRide = ride->num_riders; - gfx_draw_string_left(dpi, STR_CUSTOMERS_ON_RIDE, &customersOnRide, COLOUR_BLACK, x, y); - y += 10; - } + // Customers currently on ride + if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { + sint16 customersOnRide = ride->num_riders; + gfx_draw_string_left(dpi, STR_CUSTOMERS_ON_RIDE, &customersOnRide, COLOUR_BLACK, x, y); + y += 10; + } - // Customers per hour - customersPerHour = ride_customers_per_hour(ride); - gfx_draw_string_left(dpi, STR_CUSTOMERS_PER_HOUR, &customersPerHour, COLOUR_BLACK, x, y); - y += 10; + // Customers per hour + customersPerHour = ride_customers_per_hour(ride); + gfx_draw_string_left(dpi, STR_CUSTOMERS_PER_HOUR, &customersPerHour, COLOUR_BLACK, x, y); + y += 10; - // Popularity - popularity = ride->popularity; - if (popularity == 255) { - stringId = STR_POPULARITY_UNKNOWN; - } else { - stringId = STR_POPULARITY_PERCENT; - popularity *= 4; - } - gfx_draw_string_left(dpi, stringId, &popularity, COLOUR_BLACK, x, y); - y += 10; + // Popularity + popularity = ride->popularity; + if (popularity == 255) { + stringId = STR_POPULARITY_UNKNOWN; + } else { + stringId = STR_POPULARITY_PERCENT; + popularity *= 4; + } + gfx_draw_string_left(dpi, stringId, &popularity, COLOUR_BLACK, x, y); + y += 10; - // Satisfaction - satisfaction = ride->satisfaction; - if (satisfaction == 255) { - stringId = STR_SATISFACTION_UNKNOWN; - } else { - stringId = STR_SATISFACTION_PERCENT; - satisfaction *= 5; - } - gfx_draw_string_left(dpi, stringId, &satisfaction, COLOUR_BLACK, x, y); - y += 10; + // Satisfaction + satisfaction = ride->satisfaction; + if (satisfaction == 255) { + stringId = STR_SATISFACTION_UNKNOWN; + } else { + stringId = STR_SATISFACTION_PERCENT; + satisfaction *= 5; + } + gfx_draw_string_left(dpi, stringId, &satisfaction, COLOUR_BLACK, x, y); + y += 10; - // Queue time - if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { - queueTime = ride_get_max_queue_time(ride); - stringId = queueTime == 1 ? STR_QUEUE_TIME_MINUTE : STR_QUEUE_TIME_MINUTES; - y += gfx_draw_string_left_wrapped(dpi, &queueTime, x, y, 308, stringId, COLOUR_BLACK); - y += 5; - } + // Queue time + if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { + queueTime = ride_get_max_queue_time(ride); + stringId = queueTime == 1 ? STR_QUEUE_TIME_MINUTE : STR_QUEUE_TIME_MINUTES; + y += gfx_draw_string_left_wrapped(dpi, &queueTime, x, y, 308, stringId, COLOUR_BLACK); + y += 5; + } - // Primary shop items sold - shopItem = get_ride_entry_by_ride(ride)->shop_item; - if (shopItem != SHOP_ITEM_NONE) { - set_format_arg(0, rct_string_id, ShopItemStringIds[shopItem].plural); - set_format_arg(2, uint32, ride->no_primary_items_sold); - gfx_draw_string_left(dpi, STR_ITEMS_SOLD, gCommonFormatArgs, COLOUR_BLACK, x, y); - y += 10; - } + // Primary shop items sold + shopItem = get_ride_entry_by_ride(ride)->shop_item; + if (shopItem != SHOP_ITEM_NONE) { + set_format_arg(0, rct_string_id, ShopItemStringIds[shopItem].plural); + set_format_arg(2, uint32, ride->no_primary_items_sold); + gfx_draw_string_left(dpi, STR_ITEMS_SOLD, gCommonFormatArgs, COLOUR_BLACK, x, y); + y += 10; + } - // Secondary shop items sold / on-ride photos sold - shopItem = (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) ? - RidePhotoItems[ride->type] : - get_ride_entry_by_ride(ride)->shop_item_secondary; - if (shopItem != SHOP_ITEM_NONE) { - set_format_arg(0, rct_string_id, ShopItemStringIds[shopItem].plural); - set_format_arg(2, uint32, ride->no_secondary_items_sold); - gfx_draw_string_left(dpi, STR_ITEMS_SOLD, gCommonFormatArgs, COLOUR_BLACK, x, y); - y += 10; - } + // Secondary shop items sold / on-ride photos sold + shopItem = (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) ? + RidePhotoItems[ride->type] : + get_ride_entry_by_ride(ride)->shop_item_secondary; + if (shopItem != SHOP_ITEM_NONE) { + set_format_arg(0, rct_string_id, ShopItemStringIds[shopItem].plural); + set_format_arg(2, uint32, ride->no_secondary_items_sold); + gfx_draw_string_left(dpi, STR_ITEMS_SOLD, gCommonFormatArgs, COLOUR_BLACK, x, y); + y += 10; + } - // Total customers - gfx_draw_string_left(dpi, STR_TOTAL_CUSTOMERS, &ride->total_customers, COLOUR_BLACK, x, y); - y += 10; + // Total customers + gfx_draw_string_left(dpi, STR_TOTAL_CUSTOMERS, &ride->total_customers, COLOUR_BLACK, x, y); + y += 10; - // Guests favourite - if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { - stringId = ride->guests_favourite == 1 ? - STR_FAVOURITE_RIDE_OF_GUEST : - STR_FAVOURITE_RIDE_OF_GUESTS; - gfx_draw_string_left(dpi, stringId, &ride->guests_favourite, COLOUR_BLACK, x, y); - y += 10; - } - y += 2; + // Guests favourite + if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { + stringId = ride->guests_favourite == 1 ? + STR_FAVOURITE_RIDE_OF_GUEST : + STR_FAVOURITE_RIDE_OF_GUESTS; + gfx_draw_string_left(dpi, stringId, &ride->guests_favourite, COLOUR_BLACK, x, y); + y += 10; + } + y += 2; - // Age - //If the ride has a build date that is in the future, show it as built this year. - age = max((gDateMonthsElapsed - ride->build_date) / 8, 0); - stringId = age == 0 ? - STR_BUILT_THIS_YEAR : - age == 1 ? - STR_BUILT_LAST_YEAR : - STR_BUILT_YEARS_AGO; - gfx_draw_string_left(dpi, stringId, &age, COLOUR_BLACK, x, y); + // Age + //If the ride has a build date that is in the future, show it as built this year. + age = max((gDateMonthsElapsed - ride->build_date) / 8, 0); + stringId = age == 0 ? + STR_BUILT_THIS_YEAR : + age == 1 ? + STR_BUILT_LAST_YEAR : + STR_BUILT_YEARS_AGO; + gfx_draw_string_left(dpi, stringId, &age, COLOUR_BLACK, x, y); } #pragma endregion diff --git a/src/openrct2/windows/ride_construction.c b/src/openrct2/windows/ride_construction.c index 7d80c55a5e..fe5e153dfa 100644 --- a/src/openrct2/windows/ride_construction.c +++ b/src/openrct2/windows/ride_construction.c @@ -38,45 +38,45 @@ #pragma region Widgets enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_DIRECTION_GROUPBOX, - WIDX_SLOPE_GROUPBOX, - WIDX_BANKING_GROUPBOX, - WIDX_LEFT_CURVE_VERY_SMALL, - WIDX_LEFT_CURVE_SMALL, - WIDX_LEFT_CURVE, - WIDX_STRAIGHT, - WIDX_RIGHT_CURVE, - WIDX_RIGHT_CURVE_SMALL, - WIDX_RIGHT_CURVE_VERY_SMALL, - WIDX_SPECIAL_TRACK_DROPDOWN, - WIDX_SLOPE_DOWN_STEEP, - WIDX_SLOPE_DOWN, - WIDX_LEVEL, - WIDX_SLOPE_UP, - WIDX_SLOPE_UP_STEEP, - WIDX_CHAIN_LIFT, - WIDX_BANK_LEFT, - WIDX_BANK_STRAIGHT, - WIDX_BANK_RIGHT, - WIDX_CONSTRUCT, - WIDX_DEMOLISH, - WIDX_LEFT_CURVE_LARGE, - WIDX_PREVIOUS_SECTION, - WIDX_NEXT_SECTION, - WIDX_ENTRANCE_EXIT_GROUPBOX, - WIDX_ENTRANCE, - WIDX_EXIT, - WIDX_RIGHT_CURVE_LARGE, - WIDX_ROTATE, - WIDX_U_TRACK, - WIDX_O_TRACK, - WIDX_SEAT_ROTATION_GROUPBOX, - WIDX_SEAT_ROTATION_ANGLE_SPINNER, - WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP, - WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_DIRECTION_GROUPBOX, + WIDX_SLOPE_GROUPBOX, + WIDX_BANKING_GROUPBOX, + WIDX_LEFT_CURVE_VERY_SMALL, + WIDX_LEFT_CURVE_SMALL, + WIDX_LEFT_CURVE, + WIDX_STRAIGHT, + WIDX_RIGHT_CURVE, + WIDX_RIGHT_CURVE_SMALL, + WIDX_RIGHT_CURVE_VERY_SMALL, + WIDX_SPECIAL_TRACK_DROPDOWN, + WIDX_SLOPE_DOWN_STEEP, + WIDX_SLOPE_DOWN, + WIDX_LEVEL, + WIDX_SLOPE_UP, + WIDX_SLOPE_UP_STEEP, + WIDX_CHAIN_LIFT, + WIDX_BANK_LEFT, + WIDX_BANK_STRAIGHT, + WIDX_BANK_RIGHT, + WIDX_CONSTRUCT, + WIDX_DEMOLISH, + WIDX_LEFT_CURVE_LARGE, + WIDX_PREVIOUS_SECTION, + WIDX_NEXT_SECTION, + WIDX_ENTRANCE_EXIT_GROUPBOX, + WIDX_ENTRANCE, + WIDX_EXIT, + WIDX_RIGHT_CURVE_LARGE, + WIDX_ROTATE, + WIDX_U_TRACK, + WIDX_O_TRACK, + WIDX_SEAT_ROTATION_GROUPBOX, + WIDX_SEAT_ROTATION_ANGLE_SPINNER, + WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP, + WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN, }; validate_global_widx(WC_RIDE_CONSTRUCTION, WIDX_CONSTRUCT); @@ -85,46 +85,46 @@ validate_global_widx(WC_RIDE_CONSTRUCTION, WIDX_EXIT); validate_global_widx(WC_RIDE_CONSTRUCTION, WIDX_ROTATE); static rct_widget window_ride_construction_widgets[] = { - { WWT_FRAME, 0, 0, 165, 0, 393, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 164, 1, 14, STR_RIDE_CONSTRUCTION_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 153, 163, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_GROUPBOX, 0, 3, 162, 17, 73, STR_RIDE_CONSTRUCTION_DIRECTION, STR_NONE }, - { WWT_GROUPBOX, 0, 3, 162, 76, 116, STR_RIDE_CONSTRUCTION_SLOPE, STR_NONE }, - { WWT_GROUPBOX, 0, 3, 162, 120, 160, STR_RIDE_CONSTRUCTION_ROLL_BANKING, STR_NONE }, - { WWT_FLATBTN, 1, 6, 27, 29, 52, SPR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL, STR_RIDE_CONSTRUCTION_LEFT_CURVE_VERY_SMALL_TIP }, - { WWT_FLATBTN, 1, 6, 27, 29, 52, SPR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL, STR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL_TIP }, - { WWT_FLATBTN, 1, 28, 49, 29, 52, SPR_RIDE_CONSTRUCTION_LEFT_CURVE, STR_RIDE_CONSTRUCTION_LEFT_CURVE_TIP }, - { WWT_FLATBTN, 1, 72, 93, 29, 52, SPR_RIDE_CONSTRUCTION_STRAIGHT, STR_RIDE_CONSTRUCTION_STRAIGHT_TIP }, - { WWT_FLATBTN, 1, 116, 137, 29, 52, SPR_RIDE_CONSTRUCTION_RIGHT_CURVE, STR_RIDE_CONSTRUCTION_RIGHT_CURVE_TIP }, - { WWT_FLATBTN, 1, 138, 159, 29, 52, SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL, STR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL_TIP }, - { WWT_FLATBTN, 1, 138, 159, 29, 52, SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL, STR_RIDE_CONSTRUCTION_RIGHT_CURVE_VERY_SMALL_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 17, 148, 55, 68, STR_YELLOW_STRING, STR_RIDE_CONSTRUCTION_OTHER_TRACK_CONFIGURATIONS_TIP }, - { WWT_FLATBTN, 1, 23, 46, 88, 111, SPR_RIDE_CONSTRUCTION_SLOPE_DOWN_STEEP, STR_RIDE_CONSTRUCTION_STEEP_SLOPE_DOWN_TIP }, - { WWT_FLATBTN, 1, 47, 70, 88, 111, SPR_RIDE_CONSTRUCTION_SLOPE_DOWN, STR_RIDE_CONSTRUCTION_SLOPE_DOWN_TIP }, - { WWT_FLATBTN, 1, 71, 94, 88, 111, SPR_RIDE_CONSTRUCTION_SLOPE_LEVEL, STR_RIDE_CONSTRUCTION_LEVEL_TIP }, - { WWT_FLATBTN, 1, 95, 118, 88, 111, SPR_RIDE_CONSTRUCTION_SLOPE_UP, STR_RIDE_CONSTRUCTION_SLOPE_UP_TIP }, - { WWT_FLATBTN, 1, 119, 142, 88, 111, SPR_RIDE_CONSTRUCTION_SLOPE_UP_STEEP, STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP }, - { WWT_FLATBTN, 1, 134, 157, 88, 111, SPR_CHAIN_LIFT, STR_RIDE_CONSTRUCTION_CHAIN_LIFT_TIP }, - { WWT_FLATBTN, 1, 47, 70, 132, 155, SPR_RIDE_CONSTRUCTION_LEFT_BANK, STR_RIDE_CONSTRUCTION_ROLL_FOR_LEFT_CURVE_TIP }, - { WWT_FLATBTN, 1, 71, 94, 132, 155, SPR_RIDE_CONSTRUCTION_NO_BANK, STR_RIDE_CONSTRUCTION_NO_ROLL_TIP }, - { WWT_FLATBTN, 1, 95, 118, 132, 155, SPR_RIDE_CONSTRUCTION_RIGHT_BANK, STR_RIDE_CONSTRUCTION_ROLL_FOR_RIGHT_CURVE_TIP }, - { WWT_IMGBTN, 1, 3, 162, 164, 333, 0xFFFFFFFF, STR_RIDE_CONSTRUCTION_CONSTRUCT_SELECTED_SECTION_TIP }, - { WWT_FLATBTN, 1, 60, 105, 338, 361, SPR_DEMOLISH_CURRENT_SECTION, STR_RIDE_CONSTRUCTION_REMOVE_HIGHLIGHTED_SECTION_TIP }, - { WWT_FLATBTN, 1, 50, 71, 29, 52, SPR_RIDE_CONSTRUCTION_LEFT_CURVE_LARGE, STR_RIDE_CONSTRUCTION_LEFT_CURVE_LARGE_TIP }, - { WWT_FLATBTN, 1, 20, 43, 338, 361, SPR_PREVIOUS, STR_RIDE_CONSTRUCTION_MOVE_TO_PREVIOUS_SECTION_TIP }, - { WWT_FLATBTN, 1, 122, 145, 338, 361, SPR_NEXT, STR_RIDE_CONSTRUCTION_MOVE_TO_NEXT_SECTION_TIP }, - { WWT_GROUPBOX, 0, 3, 162, 362, 389, 0xFFFFFFFF, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 9, 78, 372, 383, STR_RIDE_CONSTRUCTION_ENTRANCE, STR_RIDE_CONSTRUCTION_ENTRANCE_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 87, 156, 372, 383, STR_RIDE_CONSTRUCTION_EXIT, STR_RIDE_CONSTRUCTION_EXIT_TIP }, - { WWT_FLATBTN, 1, 94, 115, 29, 52, SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_LARGE, STR_RIDE_CONSTRUCTION_RIGHT_CURVE_LARGE_TIP }, - { WWT_FLATBTN, 1, 72, 95, 338, 361, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP }, - { WWT_FLATBTN, 1, 19, 42, 132, 155, SPR_RIDE_CONSTRUCTION_U_SHAPED_TRACK, STR_RIDE_CONSTRUCTION_U_SHAPED_OPEN_TRACK_TIP }, - { WWT_FLATBTN, 1, 123, 146, 132, 155, SPR_RIDE_CONSTRUCTION_O_SHAPED_TRACK, STR_RIDE_CONSTRUCTION_O_SHAPED_ENCLOSED_TRACK_TIP }, - { WWT_GROUPBOX, 0, 96, 162, 120, 160, STR_RIDE_CONSTRUCTION_SEAT_ROT, STR_NONE }, - { WWT_SPINNER, 1, 101, 158, 138, 149, 0, STR_RIDE_CONSTRUCTION_SELECT_SEAT_ROTATION_ANGLE_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 147, 157, 139, 143, STR_NUMERIC_UP, STR_RIDE_CONSTRUCTION_SELECT_SEAT_ROTATION_ANGLE_TIP }, - { WWT_DROPDOWN_BUTTON, 1, 147, 157, 144, 148, STR_NUMERIC_DOWN, STR_RIDE_CONSTRUCTION_SELECT_SEAT_ROTATION_ANGLE_TIP }, - { WIDGETS_END } + { WWT_FRAME, 0, 0, 165, 0, 393, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 164, 1, 14, STR_RIDE_CONSTRUCTION_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 153, 163, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_GROUPBOX, 0, 3, 162, 17, 73, STR_RIDE_CONSTRUCTION_DIRECTION, STR_NONE }, + { WWT_GROUPBOX, 0, 3, 162, 76, 116, STR_RIDE_CONSTRUCTION_SLOPE, STR_NONE }, + { WWT_GROUPBOX, 0, 3, 162, 120, 160, STR_RIDE_CONSTRUCTION_ROLL_BANKING, STR_NONE }, + { WWT_FLATBTN, 1, 6, 27, 29, 52, SPR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL, STR_RIDE_CONSTRUCTION_LEFT_CURVE_VERY_SMALL_TIP }, + { WWT_FLATBTN, 1, 6, 27, 29, 52, SPR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL, STR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL_TIP }, + { WWT_FLATBTN, 1, 28, 49, 29, 52, SPR_RIDE_CONSTRUCTION_LEFT_CURVE, STR_RIDE_CONSTRUCTION_LEFT_CURVE_TIP }, + { WWT_FLATBTN, 1, 72, 93, 29, 52, SPR_RIDE_CONSTRUCTION_STRAIGHT, STR_RIDE_CONSTRUCTION_STRAIGHT_TIP }, + { WWT_FLATBTN, 1, 116, 137, 29, 52, SPR_RIDE_CONSTRUCTION_RIGHT_CURVE, STR_RIDE_CONSTRUCTION_RIGHT_CURVE_TIP }, + { WWT_FLATBTN, 1, 138, 159, 29, 52, SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL, STR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL_TIP }, + { WWT_FLATBTN, 1, 138, 159, 29, 52, SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL, STR_RIDE_CONSTRUCTION_RIGHT_CURVE_VERY_SMALL_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 17, 148, 55, 68, STR_YELLOW_STRING, STR_RIDE_CONSTRUCTION_OTHER_TRACK_CONFIGURATIONS_TIP }, + { WWT_FLATBTN, 1, 23, 46, 88, 111, SPR_RIDE_CONSTRUCTION_SLOPE_DOWN_STEEP, STR_RIDE_CONSTRUCTION_STEEP_SLOPE_DOWN_TIP }, + { WWT_FLATBTN, 1, 47, 70, 88, 111, SPR_RIDE_CONSTRUCTION_SLOPE_DOWN, STR_RIDE_CONSTRUCTION_SLOPE_DOWN_TIP }, + { WWT_FLATBTN, 1, 71, 94, 88, 111, SPR_RIDE_CONSTRUCTION_SLOPE_LEVEL, STR_RIDE_CONSTRUCTION_LEVEL_TIP }, + { WWT_FLATBTN, 1, 95, 118, 88, 111, SPR_RIDE_CONSTRUCTION_SLOPE_UP, STR_RIDE_CONSTRUCTION_SLOPE_UP_TIP }, + { WWT_FLATBTN, 1, 119, 142, 88, 111, SPR_RIDE_CONSTRUCTION_SLOPE_UP_STEEP, STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP }, + { WWT_FLATBTN, 1, 134, 157, 88, 111, SPR_CHAIN_LIFT, STR_RIDE_CONSTRUCTION_CHAIN_LIFT_TIP }, + { WWT_FLATBTN, 1, 47, 70, 132, 155, SPR_RIDE_CONSTRUCTION_LEFT_BANK, STR_RIDE_CONSTRUCTION_ROLL_FOR_LEFT_CURVE_TIP }, + { WWT_FLATBTN, 1, 71, 94, 132, 155, SPR_RIDE_CONSTRUCTION_NO_BANK, STR_RIDE_CONSTRUCTION_NO_ROLL_TIP }, + { WWT_FLATBTN, 1, 95, 118, 132, 155, SPR_RIDE_CONSTRUCTION_RIGHT_BANK, STR_RIDE_CONSTRUCTION_ROLL_FOR_RIGHT_CURVE_TIP }, + { WWT_IMGBTN, 1, 3, 162, 164, 333, 0xFFFFFFFF, STR_RIDE_CONSTRUCTION_CONSTRUCT_SELECTED_SECTION_TIP }, + { WWT_FLATBTN, 1, 60, 105, 338, 361, SPR_DEMOLISH_CURRENT_SECTION, STR_RIDE_CONSTRUCTION_REMOVE_HIGHLIGHTED_SECTION_TIP }, + { WWT_FLATBTN, 1, 50, 71, 29, 52, SPR_RIDE_CONSTRUCTION_LEFT_CURVE_LARGE, STR_RIDE_CONSTRUCTION_LEFT_CURVE_LARGE_TIP }, + { WWT_FLATBTN, 1, 20, 43, 338, 361, SPR_PREVIOUS, STR_RIDE_CONSTRUCTION_MOVE_TO_PREVIOUS_SECTION_TIP }, + { WWT_FLATBTN, 1, 122, 145, 338, 361, SPR_NEXT, STR_RIDE_CONSTRUCTION_MOVE_TO_NEXT_SECTION_TIP }, + { WWT_GROUPBOX, 0, 3, 162, 362, 389, 0xFFFFFFFF, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 9, 78, 372, 383, STR_RIDE_CONSTRUCTION_ENTRANCE, STR_RIDE_CONSTRUCTION_ENTRANCE_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 87, 156, 372, 383, STR_RIDE_CONSTRUCTION_EXIT, STR_RIDE_CONSTRUCTION_EXIT_TIP }, + { WWT_FLATBTN, 1, 94, 115, 29, 52, SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_LARGE, STR_RIDE_CONSTRUCTION_RIGHT_CURVE_LARGE_TIP }, + { WWT_FLATBTN, 1, 72, 95, 338, 361, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP }, + { WWT_FLATBTN, 1, 19, 42, 132, 155, SPR_RIDE_CONSTRUCTION_U_SHAPED_TRACK, STR_RIDE_CONSTRUCTION_U_SHAPED_OPEN_TRACK_TIP }, + { WWT_FLATBTN, 1, 123, 146, 132, 155, SPR_RIDE_CONSTRUCTION_O_SHAPED_TRACK, STR_RIDE_CONSTRUCTION_O_SHAPED_ENCLOSED_TRACK_TIP }, + { WWT_GROUPBOX, 0, 96, 162, 120, 160, STR_RIDE_CONSTRUCTION_SEAT_ROT, STR_NONE }, + { WWT_SPINNER, 1, 101, 158, 138, 149, 0, STR_RIDE_CONSTRUCTION_SELECT_SEAT_ROTATION_ANGLE_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 147, 157, 139, 143, STR_NUMERIC_UP, STR_RIDE_CONSTRUCTION_SELECT_SEAT_ROTATION_ANGLE_TIP }, + { WWT_DROPDOWN_BUTTON, 1, 147, 157, 144, 148, STR_NUMERIC_DOWN, STR_RIDE_CONSTRUCTION_SELECT_SEAT_ROTATION_ANGLE_TIP }, + { WIDGETS_END } }; #pragma endregion @@ -144,34 +144,34 @@ static void window_ride_construction_paint(rct_window *w, rct_drawpixelinfo *dpi //0x993EEC static rct_window_event_list window_ride_construction_events = { - window_ride_construction_close, - window_ride_construction_mouseup, - window_ride_construction_resize, - window_ride_construction_mousedown, - window_ride_construction_dropdown, - NULL, - window_ride_construction_update, - NULL, - NULL, - window_ride_construction_toolupdate, - window_ride_construction_tooldown, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_construction_invalidate, - window_ride_construction_paint, - NULL + window_ride_construction_close, + window_ride_construction_mouseup, + window_ride_construction_resize, + window_ride_construction_mousedown, + window_ride_construction_dropdown, + NULL, + window_ride_construction_update, + NULL, + NULL, + window_ride_construction_toolupdate, + window_ride_construction_tooldown, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_construction_invalidate, + window_ride_construction_paint, + NULL }; #pragma endregion @@ -180,290 +180,290 @@ static rct_window_event_list window_ride_construction_events = { // rct2: 0x00999492 rct_string_id RideConfigurationStringIds[] = { - 0, // 0 - STR_STATION_PLATFORM, // 1 - 0, // 2 - 0, // 3 - 0, // 4 - 0, // 5 - 0, // 6 - 0, // 7 - 0, // 8 - 0, // 9 - 0, // 10 - 0, // 11 - 0, // 12 - 0, // 13 - 0, // 14 - 0, // 15 - 0, // 16 - 0, // 17 - 0, // 18 - 0, // 19 - 0, // 20 - 0, // 21 - 0, // 22 - 0, // 23 - 0, // 24 - 0, // 25 - 0, // 26 - 0, // 27 - 0, // 28 - 0, // 29 - 0, // 30 - 0, // 31 - 0, // 32 - 0, // 33 - 0, // 34 - 0, // 35 - 0, // 36 - 0, // 37 - STR_S_BEND_LEFT, // 38 - STR_S_BEND_RIGHT, // 39 - STR_VERTICAL_LOOP_LEFT, // 40 - STR_VERTICAL_LOOP_RIGHT, // 41 - 0, // 42 - 0, // 43 - 0, // 44 - 0, // 45 - 0, // 46 - 0, // 47 - 0, // 48 - 0, // 49 - 0, // 50 - 0, // 51 - STR_IN_LINE_TWIST_LEFT, // 52 - STR_IN_LINE_TWIST_RIGHT, // 53 - STR_IN_LINE_TWIST_LEFT, // 54 - STR_IN_LINE_TWIST_RIGHT, // 55 - STR_HALF_LOOP, // 56 - STR_HALF_LOOP, // 57 - STR_HALF_CORKSCREW_LEFT, // 58 - STR_HALF_CORKSCREW_RIGHT, // 59 - STR_HALF_CORKSCREW_LEFT, // 60 - STR_HALF_CORKSCREW_RIGHT, // 61 - 0, // 62 - 0, // 63 - 0, // 64 - 0, // 65 - STR_ENTRY_EXIT_PLATFORM, // 66 - STR_VERTICAL_TOWER, // 67 - 0, // 68 - 0, // 69 - 0, // 70 - 0, // 71 - 0, // 72 - 0, // 73 - 0, // 74 - 0, // 75 - 0, // 76 - 0, // 77 - 0, // 78 - 0, // 79 - 0, // 80 - 0, // 81 - 0, // 82 - STR_S_BEND_LEFT, // 83 - STR_S_BEND_RIGHT, // 84 - 0, // 85 - 0, // 86 - STR_HELIX_UP_SMALL, // 87 - STR_HELIX_UP_SMALL, // 88 - STR_HELIX_DOWN_SMALL, // 89 - STR_HELIX_DOWN_SMALL, // 90 - STR_HELIX_UP_LARGE, // 91 - STR_HELIX_UP_LARGE, // 92 - STR_HELIX_DOWN_LARGE, // 93 - STR_HELIX_DOWN_LARGE, // 94 - 0, // 95 - 0, // 96 - 0, // 97 - 0, // 98 - STR_BRAKES, // 99 - STR_SPINNING_CONTROL_TOGGLE_TRACK, // 100 - 0, // 101 - STR_HELIX_UP_LARGE, // 102 - STR_HELIX_UP_LARGE, // 103 - STR_HELIX_DOWN_LARGE, // 104 - STR_HELIX_DOWN_LARGE, // 105 - STR_HELIX_UP_LEFT, // 106 - STR_HELIX_UP_RIGHT, // 107 - STR_HELIX_DOWN_LEFT, // 108 - STR_HELIX_DOWN_RIGHT, // 109 - STR_BASE_SIZE_2_X_2, // 110 - STR_BASE_SIZE_4_X_4, // 111 - STR_WATERFALLS, // 112 - STR_RAPIDS, // 113 - STR_ON_RIDE_PHOTO_SECTION, // 114 - STR_BASE_SIZE_2_X_4, // 115 - STR_BASE_SIZE_5_X_1, // 116 - STR_WATER_SPLASH, // 117 - 0, // 118 - 0, // 119 - STR_WHIRLPOOL, // 120 - 0, // 121 - 0, // 122 - STR_CABLE_LIFT_HILL, // 123 - STR_SLOPE_UP_TO_VERTICAL, // 124 - STR_VERTICAL_TRACK, // 125 - 0, // 126 - 0, // 127 - 0, // 128 - 0, // 129 - 0, // 130 - 0, // 131 - STR_HOLDING_BRAKE_FOR_DROP, // 132 - 0, // 133 - 0, // 134 - 0, // 135 - 0, // 136 - 0, // 137 - 0, // 138 - 0, // 139 - 0, // 140 - 0, // 141 - 0, // 142 - 0, // 143 - 0, // 144 - 0, // 145 - 0, // 146 - 0, // 147 - 0, // 148 - 0, // 149 - 0, // 150 - 0, // 151 - 0, // 152 - 0, // 153 - 0, // 154 - 0, // 155 - 0, // 156 - 0, // 157 - 0, // 158 - 0, // 159 - 0, // 160 - 0, // 161 - 0, // 162 - 0, // 163 - 0, // 164 - 0, // 165 - 0, // 166 - 0, // 167 - 0, // 168 - 0, // 169 - 0, // 170 - 0, // 171 - STR_REVERSER_TURNTABLE, // 172 - STR_SPINNING_TUNNEL, // 173 - STR_BARREL_ROLL_LEFT, // 174 - STR_BARREL_ROLL_RIGHT, // 175 - STR_BARREL_ROLL_LEFT, // 176 - STR_BARREL_ROLL_RIGHT, // 177 - 0, // 178 - 0, // 179 - 0, // 180 - 0, // 181 - STR_LAUNCHED_LIFT_HILL, // 182 - STR_LARGE_HALF_LOOP_LEFT, // 183 - STR_LARGE_HALF_LOOP_RIGHT, // 184 - STR_LARGE_HALF_LOOP_LEFT, // 185 - STR_LARGE_HALF_LOOP_RIGHT, // 186 - STR_IN_LINE_TWIST_LEFT, // 187 - STR_IN_LINE_TWIST_RIGHT, // 188 - STR_IN_LINE_TWIST_LEFT, // 189 - STR_IN_LINE_TWIST_RIGHT, // 190 - STR_HALF_LOOP, // 191 - STR_HALF_LOOP, // 192 - STR_HALF_CORKSCREW_LEFT, // 193 - STR_HALF_CORKSCREW_RIGHT, // 194 - STR_HALF_CORKSCREW_LEFT, // 195 - STR_HALF_CORKSCREW_RIGHT, // 196 - STR_UPPER_TRANSFER, // 197 - STR_LOWER_TRANSFER, // 198 - STR_HEARTLINE_ROLL_LEFT, // 199 - STR_HEARTLINE_ROLL_RIGHT, // 200 - STR_GOLF_HOLE_A, // 201 - STR_GOLF_HOLE_B, // 202 - STR_GOLF_HOLE_C, // 203 - STR_GOLF_HOLE_D, // 204 - STR_GOLF_HOLE_E, // 205 - STR_QUARTER_LOOP, // 206 - STR_QUARTER_LOOP, // 207 - STR_QUARTER_LOOP, // 208 - STR_CURVED_LIFT_HILL_LEFT, // 209 - STR_CURVED_LIFT_HILL_RIGHT, // 210 - STR_REVERSER_LEFT, // 211 - STR_REVERSER_RIGHT, // 212 - STR_TOP_SECTION, // 213 - STR_VERTICAL_TRACK, // 214 - STR_SLOPE_TO_LEVEL, // 215 - STR_BLOCK_BRAKES, // 216 - 0, // 217 - 0, // 218 - 0, // 219 - 0, // 220 - 0, // 221 - 0, // 222 - 0, // 223 - 0, // 224 - 0, // 225 - 0, // 226 - 0, // 227 - 0, // 228 - 0, // 229 - 0, // 230 - 0, // 231 - 0, // 232 - 0, // 233 - 0, // 234 - 0, // 235 - 0, // 236 - 0, // 237 - 0, // 238 - 0, // 239 - 0, // 240 - 0, // 241 - 0, // 242 - 0, // 243 - 0, // 244 - 0, // 245 - 0, // 246 - 0, // 247 - 0, // 248 - 0, // 249 - 0, // 250 - 0, // 251 - 0, // 252 - STR_QUARTER_LOOP, // 253 - STR_QUARTER_LOOP, // 254 - STR_QUARTER_LOOP // 255 + 0, // 0 + STR_STATION_PLATFORM, // 1 + 0, // 2 + 0, // 3 + 0, // 4 + 0, // 5 + 0, // 6 + 0, // 7 + 0, // 8 + 0, // 9 + 0, // 10 + 0, // 11 + 0, // 12 + 0, // 13 + 0, // 14 + 0, // 15 + 0, // 16 + 0, // 17 + 0, // 18 + 0, // 19 + 0, // 20 + 0, // 21 + 0, // 22 + 0, // 23 + 0, // 24 + 0, // 25 + 0, // 26 + 0, // 27 + 0, // 28 + 0, // 29 + 0, // 30 + 0, // 31 + 0, // 32 + 0, // 33 + 0, // 34 + 0, // 35 + 0, // 36 + 0, // 37 + STR_S_BEND_LEFT, // 38 + STR_S_BEND_RIGHT, // 39 + STR_VERTICAL_LOOP_LEFT, // 40 + STR_VERTICAL_LOOP_RIGHT, // 41 + 0, // 42 + 0, // 43 + 0, // 44 + 0, // 45 + 0, // 46 + 0, // 47 + 0, // 48 + 0, // 49 + 0, // 50 + 0, // 51 + STR_IN_LINE_TWIST_LEFT, // 52 + STR_IN_LINE_TWIST_RIGHT, // 53 + STR_IN_LINE_TWIST_LEFT, // 54 + STR_IN_LINE_TWIST_RIGHT, // 55 + STR_HALF_LOOP, // 56 + STR_HALF_LOOP, // 57 + STR_HALF_CORKSCREW_LEFT, // 58 + STR_HALF_CORKSCREW_RIGHT, // 59 + STR_HALF_CORKSCREW_LEFT, // 60 + STR_HALF_CORKSCREW_RIGHT, // 61 + 0, // 62 + 0, // 63 + 0, // 64 + 0, // 65 + STR_ENTRY_EXIT_PLATFORM, // 66 + STR_VERTICAL_TOWER, // 67 + 0, // 68 + 0, // 69 + 0, // 70 + 0, // 71 + 0, // 72 + 0, // 73 + 0, // 74 + 0, // 75 + 0, // 76 + 0, // 77 + 0, // 78 + 0, // 79 + 0, // 80 + 0, // 81 + 0, // 82 + STR_S_BEND_LEFT, // 83 + STR_S_BEND_RIGHT, // 84 + 0, // 85 + 0, // 86 + STR_HELIX_UP_SMALL, // 87 + STR_HELIX_UP_SMALL, // 88 + STR_HELIX_DOWN_SMALL, // 89 + STR_HELIX_DOWN_SMALL, // 90 + STR_HELIX_UP_LARGE, // 91 + STR_HELIX_UP_LARGE, // 92 + STR_HELIX_DOWN_LARGE, // 93 + STR_HELIX_DOWN_LARGE, // 94 + 0, // 95 + 0, // 96 + 0, // 97 + 0, // 98 + STR_BRAKES, // 99 + STR_SPINNING_CONTROL_TOGGLE_TRACK, // 100 + 0, // 101 + STR_HELIX_UP_LARGE, // 102 + STR_HELIX_UP_LARGE, // 103 + STR_HELIX_DOWN_LARGE, // 104 + STR_HELIX_DOWN_LARGE, // 105 + STR_HELIX_UP_LEFT, // 106 + STR_HELIX_UP_RIGHT, // 107 + STR_HELIX_DOWN_LEFT, // 108 + STR_HELIX_DOWN_RIGHT, // 109 + STR_BASE_SIZE_2_X_2, // 110 + STR_BASE_SIZE_4_X_4, // 111 + STR_WATERFALLS, // 112 + STR_RAPIDS, // 113 + STR_ON_RIDE_PHOTO_SECTION, // 114 + STR_BASE_SIZE_2_X_4, // 115 + STR_BASE_SIZE_5_X_1, // 116 + STR_WATER_SPLASH, // 117 + 0, // 118 + 0, // 119 + STR_WHIRLPOOL, // 120 + 0, // 121 + 0, // 122 + STR_CABLE_LIFT_HILL, // 123 + STR_SLOPE_UP_TO_VERTICAL, // 124 + STR_VERTICAL_TRACK, // 125 + 0, // 126 + 0, // 127 + 0, // 128 + 0, // 129 + 0, // 130 + 0, // 131 + STR_HOLDING_BRAKE_FOR_DROP, // 132 + 0, // 133 + 0, // 134 + 0, // 135 + 0, // 136 + 0, // 137 + 0, // 138 + 0, // 139 + 0, // 140 + 0, // 141 + 0, // 142 + 0, // 143 + 0, // 144 + 0, // 145 + 0, // 146 + 0, // 147 + 0, // 148 + 0, // 149 + 0, // 150 + 0, // 151 + 0, // 152 + 0, // 153 + 0, // 154 + 0, // 155 + 0, // 156 + 0, // 157 + 0, // 158 + 0, // 159 + 0, // 160 + 0, // 161 + 0, // 162 + 0, // 163 + 0, // 164 + 0, // 165 + 0, // 166 + 0, // 167 + 0, // 168 + 0, // 169 + 0, // 170 + 0, // 171 + STR_REVERSER_TURNTABLE, // 172 + STR_SPINNING_TUNNEL, // 173 + STR_BARREL_ROLL_LEFT, // 174 + STR_BARREL_ROLL_RIGHT, // 175 + STR_BARREL_ROLL_LEFT, // 176 + STR_BARREL_ROLL_RIGHT, // 177 + 0, // 178 + 0, // 179 + 0, // 180 + 0, // 181 + STR_LAUNCHED_LIFT_HILL, // 182 + STR_LARGE_HALF_LOOP_LEFT, // 183 + STR_LARGE_HALF_LOOP_RIGHT, // 184 + STR_LARGE_HALF_LOOP_LEFT, // 185 + STR_LARGE_HALF_LOOP_RIGHT, // 186 + STR_IN_LINE_TWIST_LEFT, // 187 + STR_IN_LINE_TWIST_RIGHT, // 188 + STR_IN_LINE_TWIST_LEFT, // 189 + STR_IN_LINE_TWIST_RIGHT, // 190 + STR_HALF_LOOP, // 191 + STR_HALF_LOOP, // 192 + STR_HALF_CORKSCREW_LEFT, // 193 + STR_HALF_CORKSCREW_RIGHT, // 194 + STR_HALF_CORKSCREW_LEFT, // 195 + STR_HALF_CORKSCREW_RIGHT, // 196 + STR_UPPER_TRANSFER, // 197 + STR_LOWER_TRANSFER, // 198 + STR_HEARTLINE_ROLL_LEFT, // 199 + STR_HEARTLINE_ROLL_RIGHT, // 200 + STR_GOLF_HOLE_A, // 201 + STR_GOLF_HOLE_B, // 202 + STR_GOLF_HOLE_C, // 203 + STR_GOLF_HOLE_D, // 204 + STR_GOLF_HOLE_E, // 205 + STR_QUARTER_LOOP, // 206 + STR_QUARTER_LOOP, // 207 + STR_QUARTER_LOOP, // 208 + STR_CURVED_LIFT_HILL_LEFT, // 209 + STR_CURVED_LIFT_HILL_RIGHT, // 210 + STR_REVERSER_LEFT, // 211 + STR_REVERSER_RIGHT, // 212 + STR_TOP_SECTION, // 213 + STR_VERTICAL_TRACK, // 214 + STR_SLOPE_TO_LEVEL, // 215 + STR_BLOCK_BRAKES, // 216 + 0, // 217 + 0, // 218 + 0, // 219 + 0, // 220 + 0, // 221 + 0, // 222 + 0, // 223 + 0, // 224 + 0, // 225 + 0, // 226 + 0, // 227 + 0, // 228 + 0, // 229 + 0, // 230 + 0, // 231 + 0, // 232 + 0, // 233 + 0, // 234 + 0, // 235 + 0, // 236 + 0, // 237 + 0, // 238 + 0, // 239 + 0, // 240 + 0, // 241 + 0, // 242 + 0, // 243 + 0, // 244 + 0, // 245 + 0, // 246 + 0, // 247 + 0, // 248 + 0, // 249 + 0, // 250 + 0, // 251 + 0, // 252 + STR_QUARTER_LOOP, // 253 + STR_QUARTER_LOOP, // 254 + STR_QUARTER_LOOP // 255 }; #pragma endregion #pragma pack(push, 1) union { - uint64 ab; - struct { - uint32 a; - uint32 b; - }; + uint64 ab; + struct { + uint32 a; + uint32 b; + }; } _enabledRidePieces; assert_struct_size(_enabledRidePieces, 8); #pragma pack(pop) -static bool _trackPlaceCtrlState; -static sint32 _trackPlaceCtrlZ; -static bool _trackPlaceShiftState; -static sint32 _trackPlaceShiftStartScreenX; -static sint32 _trackPlaceShiftStartScreenY; -static sint32 _trackPlaceShiftZ; -static sint32 _trackPlaceZ; -static money32 _trackPlaceCost; -static bool _autoOpeningShop; -static uint8 _rideConstructionState2; -static bool _boosterTrackSelected; +static bool _trackPlaceCtrlState; +static sint32 _trackPlaceCtrlZ; +static bool _trackPlaceShiftState; +static sint32 _trackPlaceShiftStartScreenX; +static sint32 _trackPlaceShiftStartScreenY; +static sint32 _trackPlaceShiftZ; +static sint32 _trackPlaceZ; +static money32 _trackPlaceCost; +static bool _autoOpeningShop; +static uint8 _rideConstructionState2; +static bool _boosterTrackSelected; -static uint32 _currentDisabledSpecialTrackPieces; +static uint32 _currentDisabledSpecialTrackPieces; // This variable is updated separately from ride->num_stations because the latter // is unreliable if currently in station construction mode @@ -477,15 +477,15 @@ static void window_ride_construction_entrance_click(rct_window *w); static void window_ride_construction_exit_click(rct_window *w); static void window_ride_construction_draw_track_piece( - rct_window *w, rct_drawpixelinfo *dpi, - sint32 rideIndex, sint32 trackType, sint32 trackRotation, sint32 unknown, - sint32 width, sint32 height + rct_window *w, rct_drawpixelinfo *dpi, + sint32 rideIndex, sint32 trackType, sint32 trackRotation, sint32 unknown, + sint32 width, sint32 height ); static void window_ride_construction_update_enabled_track_pieces(); bool sub_6CA2DF(sint32 *trackType, sint32 *trackDirection, sint32 *rideIndex, sint32 *edxRS16, sint32 *x, sint32 *y, sint32 *z, sint32 *properties); static void sub_6CBCE2( - sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 edx, - sint32 originX, sint32 originY, sint32 originZ + sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 edx, + sint32 originX, sint32 originY, sint32 originZ ); static void window_ride_construction_update_map_selection(); static void window_ride_construction_update_possible_ride_configurations(); @@ -501,42 +501,42 @@ static void ride_construction_tooldown_entrance_exit(sint32 screenX, sint32 scre static uint8 _currentPossibleRideConfigurations[32]; static const rct_string_id RideConstructionSeatAngleRotationStrings[] = { - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_180, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_135, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_90, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_45, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_0, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_45, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_90, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_135, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_180, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_225, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_270, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_315, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_360, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_405, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_450, - STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_495, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_180, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_135, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_90, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_NEG_45, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_0, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_45, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_90, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_135, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_180, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_225, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_270, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_315, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_360, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_405, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_450, + STR_RIDE_CONSTRUCTION_SEAT_ROTATION_ANGLE_495, }; static bool is_track_enabled(sint32 trackFlagIndex) { - return _enabledRidePieces.ab & (1ULL << trackFlagIndex); + return _enabledRidePieces.ab & (1ULL << trackFlagIndex); } static sint32 ride_get_alternative_type(rct_ride *ride) { - return (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE) ? - RideData4[ride->type].alternate_type : - ride->type; + return (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE) ? + RideData4[ride->type].alternate_type : + ride->type; } /* move to ride.c */ static void close_ride_window_for_construction(rct_windownumber number) { - rct_window* w = window_find_by_number(WC_RIDE, number); - if (w != NULL && w->page == 1) - window_close(w); + rct_window* w = window_find_by_number(WC_RIDE, number); + if (w != NULL && w->page == 1) + window_close(w); } /** @@ -545,95 +545,95 @@ static void close_ride_window_for_construction(rct_windownumber number) */ rct_window *window_ride_construction_open() { - sint32 rideIndex = _currentRideIndex; - close_ride_window_for_construction(rideIndex); + sint32 rideIndex = _currentRideIndex; + close_ride_window_for_construction(rideIndex); - rct_window *w; - rct_ride* ride = get_ride(rideIndex); + rct_window *w; + rct_ride* ride = get_ride(rideIndex); - _stationConstructed = ride->num_stations != 0; - _deferClose = false; + _stationConstructed = ride->num_stations != 0; + _deferClose = false; - if (ride->type == RIDE_TYPE_MAZE) - return window_maze_construction_open(); + if (ride->type == RIDE_TYPE_MAZE) + return window_maze_construction_open(); - w = window_create(0, 29, 166, 394, &window_ride_construction_events, WC_RIDE_CONSTRUCTION, WF_NO_AUTO_CLOSE); + w = window_create(0, 29, 166, 394, &window_ride_construction_events, WC_RIDE_CONSTRUCTION, WF_NO_AUTO_CLOSE); - w->widgets = window_ride_construction_widgets; - w->enabled_widgets = (1ULL << WIDX_CLOSE) | - (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_STRAIGHT) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_SMALL) | - (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL) | - (1ULL << WIDX_SPECIAL_TRACK_DROPDOWN) | - (1ULL << WIDX_SLOPE_DOWN_STEEP) | - (1ULL << WIDX_SLOPE_DOWN) | - (1ULL << WIDX_LEVEL) | - (1ULL << WIDX_SLOPE_UP) | - (1ULL << WIDX_SLOPE_UP_STEEP) | - (1ULL << WIDX_CHAIN_LIFT) | - (1ULL << WIDX_BANK_LEFT) | - (1ULL << WIDX_BANK_STRAIGHT) | - (1ULL << WIDX_BANK_RIGHT) | - (1ULL << WIDX_CONSTRUCT) | - (1ULL << WIDX_DEMOLISH) | - (1ULL << WIDX_LEFT_CURVE_LARGE) | - (1ULL << WIDX_PREVIOUS_SECTION) | - (1ULL << WIDX_NEXT_SECTION) | - (1ULL << WIDX_ENTRANCE) | - (1ULL << WIDX_EXIT) | - (1ULL << WIDX_RIGHT_CURVE_LARGE) | - (1ULL << WIDX_ROTATE) | - (1ULL << WIDX_U_TRACK) | - (1ULL << WIDX_O_TRACK) | - (1ULL << WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP) | - (1ULL << WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN); + w->widgets = window_ride_construction_widgets; + w->enabled_widgets = (1ULL << WIDX_CLOSE) | + (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_STRAIGHT) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL) | + (1ULL << WIDX_SPECIAL_TRACK_DROPDOWN) | + (1ULL << WIDX_SLOPE_DOWN_STEEP) | + (1ULL << WIDX_SLOPE_DOWN) | + (1ULL << WIDX_LEVEL) | + (1ULL << WIDX_SLOPE_UP) | + (1ULL << WIDX_SLOPE_UP_STEEP) | + (1ULL << WIDX_CHAIN_LIFT) | + (1ULL << WIDX_BANK_LEFT) | + (1ULL << WIDX_BANK_STRAIGHT) | + (1ULL << WIDX_BANK_RIGHT) | + (1ULL << WIDX_CONSTRUCT) | + (1ULL << WIDX_DEMOLISH) | + (1ULL << WIDX_LEFT_CURVE_LARGE) | + (1ULL << WIDX_PREVIOUS_SECTION) | + (1ULL << WIDX_NEXT_SECTION) | + (1ULL << WIDX_ENTRANCE) | + (1ULL << WIDX_EXIT) | + (1ULL << WIDX_RIGHT_CURVE_LARGE) | + (1ULL << WIDX_ROTATE) | + (1ULL << WIDX_U_TRACK) | + (1ULL << WIDX_O_TRACK) | + (1ULL << WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP) | + (1ULL << WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN); - window_init_scroll_widgets(w); + window_init_scroll_widgets(w); - w->colours[0] = COLOUR_DARK_BROWN; - w->colours[1] = COLOUR_DARK_BROWN; - w->colours[2] = COLOUR_DARK_BROWN; + w->colours[0] = COLOUR_DARK_BROWN; + w->colours[1] = COLOUR_DARK_BROWN; + w->colours[2] = COLOUR_DARK_BROWN; - w->number = rideIndex; + w->number = rideIndex; - window_push_others_right(w); - show_gridlines(); + window_push_others_right(w); + show_gridlines(); - _currentTrackPrice = MONEY32_UNDEFINED; - _currentBrakeSpeed2 = 8; - _currentBrakeSpeed = 18; - _currentSeatRotationAngle = 4; + _currentTrackPrice = MONEY32_UNDEFINED; + _currentBrakeSpeed2 = 8; + _currentBrakeSpeed = 18; + _currentSeatRotationAngle = 4; - if (ride->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER) - _currentBrakeSpeed = 30; + if (ride->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER) + _currentBrakeSpeed = 30; - if (ride->type == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) - _currentBrakeSpeed = 30; + if (ride->type == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) + _currentBrakeSpeed = 30; - _currentTrackCurve = RideConstructionDefaultTrackType[ride->type] | 0x100; - _currentTrackSlopeEnd = 0; - _currentTrackBankEnd = 0; - _currentTrackLiftHill = 0; - _currentTrackAlternative = RIDE_TYPE_NO_ALTERNATIVES; + _currentTrackCurve = RideConstructionDefaultTrackType[ride->type] | 0x100; + _currentTrackSlopeEnd = 0; + _currentTrackBankEnd = 0; + _currentTrackLiftHill = 0; + _currentTrackAlternative = RIDE_TYPE_NO_ALTERNATIVES; - if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED) - _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; + if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED) + _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; - _previousTrackBankEnd = 0; - _previousTrackSlopeEnd = 0; + _previousTrackBankEnd = 0; + _previousTrackSlopeEnd = 0; - _currentTrackPieceDirection = 0; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_PLACE; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - _autoOpeningShop = false; - _trackPlaceCtrlState = false; - _trackPlaceShiftState = false; - return w; + _currentTrackPieceDirection = 0; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_PLACE; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + _autoOpeningShop = false; + _trackPlaceCtrlState = false; + _trackPlaceShiftState = false; + return w; } /** @@ -642,46 +642,46 @@ rct_window *window_ride_construction_open() */ static void window_ride_construction_close(rct_window *w) { - ride_construction_invalidate_current_track(); - viewport_set_visibility(0); + ride_construction_invalidate_current_track(); + viewport_set_visibility(0); - map_invalidate_map_selection_tiles(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + map_invalidate_map_selection_tiles(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - // In order to cancel the yellow arrow correctly the - // selection tool should be cancelled. Don't do a tool cancel if - // another window has already taken control of tool. - if (w->classification == gCurrentToolWidget.window_classification && - w->number == gCurrentToolWidget.window_number) - tool_cancel(); + // In order to cancel the yellow arrow correctly the + // selection tool should be cancelled. Don't do a tool cancel if + // another window has already taken control of tool. + if (w->classification == gCurrentToolWidget.window_classification && + w->number == gCurrentToolWidget.window_number) + tool_cancel(); - hide_gridlines(); + hide_gridlines(); - uint8 rideIndex = _currentRideIndex; - if (ride_try_get_origin_element(rideIndex, NULL)) { - rct_ride *ride = get_ride(rideIndex); - // Auto open shops if required. - if (ride->mode == RIDE_MODE_SHOP_STALL && gConfigGeneral.auto_open_shops) { - // HACK: Until we find a good a way to defer the game command for opening the shop, stop this - // from getting stuck in an infinite loop as opening the ride will try to close this window - if (!_autoOpeningShop) { - _autoOpeningShop = true; - ride_set_status(rideIndex, RIDE_STATUS_OPEN); - _autoOpeningShop = false; - } - } + uint8 rideIndex = _currentRideIndex; + if (ride_try_get_origin_element(rideIndex, NULL)) { + rct_ride *ride = get_ride(rideIndex); + // Auto open shops if required. + if (ride->mode == RIDE_MODE_SHOP_STALL && gConfigGeneral.auto_open_shops) { + // HACK: Until we find a good a way to defer the game command for opening the shop, stop this + // from getting stuck in an infinite loop as opening the ride will try to close this window + if (!_autoOpeningShop) { + _autoOpeningShop = true; + ride_set_status(rideIndex, RIDE_STATUS_OPEN); + _autoOpeningShop = false; + } + } - ride_set_to_default_inspection_interval(rideIndex); + ride_set_to_default_inspection_interval(rideIndex); - window_ride_main_open(rideIndex); - } else { - sint32 eax = gGamePaused; + window_ride_main_open(rideIndex); + } else { + sint32 eax = gGamePaused; - gGamePaused = 0; - game_do_command(0, 9, 0, rideIndex, GAME_COMMAND_DEMOLISH_RIDE, 0, 0); + gGamePaused = 0; + game_do_command(0, 9, 0, rideIndex, GAME_COMMAND_DEMOLISH_RIDE, 0, 0); - gGamePaused = eax; - } + gGamePaused = eax; + } } /** @@ -690,35 +690,35 @@ static void window_ride_construction_close(rct_window *w) */ static void window_ride_construction_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - window_ride_construction_update_enabled_track_pieces(); - switch (widgetIndex){ - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_NEXT_SECTION: - ride_select_next_section(); - break; - case WIDX_PREVIOUS_SECTION: - ride_select_previous_section(); - break; - case WIDX_CONSTRUCT: - window_ride_construction_construct(w); - // Force any footpath construction to recheck the area. - gFootpathProvisionalFlags |= PROVISIONAL_PATH_FLAG_2; - break; - case WIDX_DEMOLISH: - window_ride_construction_mouseup_demolish(w); - break; - case WIDX_ROTATE: - window_ride_construction_rotate(w); - break; - case WIDX_ENTRANCE: - window_ride_construction_entrance_click(w); - break; - case WIDX_EXIT: - window_ride_construction_exit_click(w); - break; - } + window_ride_construction_update_enabled_track_pieces(); + switch (widgetIndex){ + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_NEXT_SECTION: + ride_select_next_section(); + break; + case WIDX_PREVIOUS_SECTION: + ride_select_previous_section(); + break; + case WIDX_CONSTRUCT: + window_ride_construction_construct(w); + // Force any footpath construction to recheck the area. + gFootpathProvisionalFlags |= PROVISIONAL_PATH_FLAG_2; + break; + case WIDX_DEMOLISH: + window_ride_construction_mouseup_demolish(w); + break; + case WIDX_ROTATE: + window_ride_construction_rotate(w); + break; + case WIDX_ENTRANCE: + window_ride_construction_entrance_click(w); + break; + case WIDX_EXIT: + window_ride_construction_exit_click(w); + break; + } } /** @@ -727,575 +727,575 @@ static void window_ride_construction_mouseup(rct_window *w, rct_widgetindex widg */ static void window_ride_construction_resize(rct_window *w) { - window_ride_construction_update_enabled_track_pieces(); - w->enabled_widgets &= ~(1 << WIDX_CONSTRUCT); - if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_PLACE) { - w->enabled_widgets |= (1 << WIDX_CONSTRUCT); - } + window_ride_construction_update_enabled_track_pieces(); + w->enabled_widgets &= ~(1 << WIDX_CONSTRUCT); + if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_PLACE) { + w->enabled_widgets |= (1 << WIDX_CONSTRUCT); + } - rct_ride *ride = get_ride(_currentRideIndex); - sint32 rideType = ride_get_alternative_type(ride); + rct_ride *ride = get_ride(_currentRideIndex); + sint32 rideType = ride_get_alternative_type(ride); - uint64 disabledWidgets = 0; + uint64 disabledWidgets = 0; - if (_currentTrackCurve & 0x100) { - disabledWidgets |= - (1ULL << WIDX_SLOPE_GROUPBOX) | - (1ULL << WIDX_BANKING_GROUPBOX) | - (1ULL << WIDX_SLOPE_DOWN_STEEP) | - (1ULL << WIDX_SLOPE_DOWN) | - (1ULL << WIDX_LEVEL) | - (1ULL << WIDX_SLOPE_UP) | - (1ULL << WIDX_SLOPE_UP_STEEP) | - (1ULL << WIDX_CHAIN_LIFT) | - (1ULL << WIDX_BANK_LEFT) | - (1ULL << WIDX_BANK_STRAIGHT) | - (1ULL << WIDX_BANK_RIGHT); - } + if (_currentTrackCurve & 0x100) { + disabledWidgets |= + (1ULL << WIDX_SLOPE_GROUPBOX) | + (1ULL << WIDX_BANKING_GROUPBOX) | + (1ULL << WIDX_SLOPE_DOWN_STEEP) | + (1ULL << WIDX_SLOPE_DOWN) | + (1ULL << WIDX_LEVEL) | + (1ULL << WIDX_SLOPE_UP) | + (1ULL << WIDX_SLOPE_UP_STEEP) | + (1ULL << WIDX_CHAIN_LIFT) | + (1ULL << WIDX_BANK_LEFT) | + (1ULL << WIDX_BANK_STRAIGHT) | + (1ULL << WIDX_BANK_RIGHT); + } - // Disable large curves if the start or end of the track is sloped. - if (_previousTrackSlopeEnd != TRACK_SLOPE_NONE || _currentTrackSlopeEnd != TRACK_SLOPE_NONE) { - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_LARGE) | - (1ULL << WIDX_RIGHT_CURVE_LARGE); - } - if (is_track_enabled(TRACK_SLOPE_CURVE) && is_track_enabled(TRACK_CURVE_VERY_SMALL)) { - // Disable small curves if the start or end of the track is sloped. - if (_previousTrackSlopeEnd != TRACK_SLOPE_NONE || _currentTrackSlopeEnd != TRACK_SLOPE_NONE) { - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); - } - } - if (!is_track_enabled(TRACK_SLOPE_CURVE)) { - if (is_track_enabled(TRACK_CURVE_VERTICAL)) { - // Disable all curves only on vertical track - if (_previousTrackSlopeEnd != TRACK_SLOPE_UP_90 || _currentTrackSlopeEnd != TRACK_SLOPE_UP_90) { - if (_previousTrackSlopeEnd != TRACK_SLOPE_DOWN_90 || _currentTrackSlopeEnd != TRACK_SLOPE_DOWN_90) { - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_SMALL) | - (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); - } - } - } else { - // Disable all curves on sloped track - if (_previousTrackSlopeEnd != TRACK_SLOPE_NONE || _currentTrackSlopeEnd != TRACK_SLOPE_NONE) { - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_SMALL) | - (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); - } - } - } - if (!is_track_enabled(TRACK_FLAT_ROLL_BANKING)) { - // Disable banking - disabledWidgets |= - (1ULL << WIDX_BANKING_GROUPBOX) | - (1ULL << WIDX_BANK_LEFT) | - (1ULL << WIDX_BANK_STRAIGHT) | - (1ULL << WIDX_BANK_RIGHT); - } - // Disable banking if the start track is steep and the end of the track becomes flat. - if ((_previousTrackSlopeEnd == TRACK_SLOPE_DOWN_60 || _previousTrackSlopeEnd == TRACK_SLOPE_UP_60) && _currentTrackSlopeEnd == TRACK_SLOPE_NONE) { - disabledWidgets |= - (1ULL << WIDX_BANK_LEFT) | - (1ULL << WIDX_BANK_RIGHT); - } - if (!is_track_enabled(TRACK_SLOPE) && !is_track_enabled(TRACK_SLOPE_STEEP)) { - if (rideType != RIDE_TYPE_REVERSE_FREEFALL_COASTER && rideType != RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) { - // Disable all slopes - disabledWidgets |= - (1ULL << WIDX_SLOPE_GROUPBOX) | - (1ULL << WIDX_SLOPE_DOWN_STEEP) | - (1ULL << WIDX_SLOPE_DOWN) | - (1ULL << WIDX_LEVEL) | - (1ULL << WIDX_SLOPE_UP) | - (1ULL << WIDX_SLOPE_UP_STEEP); - } - } - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_0) { - disabledWidgets |= - (1ULL << WIDX_CONSTRUCT) | - (1ULL << WIDX_DEMOLISH) | - (1ULL << WIDX_PREVIOUS_SECTION) | - (1ULL << WIDX_NEXT_SECTION); - } - switch (_currentTrackCurve) { - case TRACK_CURVE_LEFT_VERY_SMALL: - case TRACK_CURVE_LEFT_SMALL: - case TRACK_CURVE_LEFT: - case TRACK_CURVE_LEFT_LARGE: - disabledWidgets |= (1ULL << WIDX_BANK_RIGHT); - if (_previousTrackBankEnd == TRACK_BANK_NONE) { - disabledWidgets |= (1ULL << WIDX_BANK_LEFT); - } else { - disabledWidgets |= (1ULL << WIDX_BANK_STRAIGHT); - } - break; - case TRACK_CURVE_RIGHT_LARGE: - case TRACK_CURVE_RIGHT: - case TRACK_CURVE_RIGHT_SMALL: - case TRACK_CURVE_RIGHT_VERY_SMALL: - disabledWidgets |= (1ULL << WIDX_BANK_LEFT); - if (_previousTrackBankEnd == TRACK_BANK_NONE) { - disabledWidgets |= (1ULL << WIDX_BANK_RIGHT); - } else { - disabledWidgets |= (1ULL << WIDX_BANK_STRAIGHT); - } - break; - } - if (!is_track_enabled(TRACK_SLOPE_ROLL_BANKING)) { - if (_currentTrackBankEnd != TRACK_BANK_NONE) { - disabledWidgets |= - (1ULL << WIDX_SLOPE_DOWN) | - (1ULL << WIDX_SLOPE_UP); - } - } - if (_previousTrackSlopeEnd == _currentTrackSlopeEnd) { - switch (_currentTrackSlopeEnd) { - case TRACK_SLOPE_UP_60: - case TRACK_SLOPE_DOWN_60: - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); - if (!is_track_enabled(TRACK_SLOPE_CURVE_STEEP)) { - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_RIGHT_CURVE_SMALL); - } - break; - case TRACK_SLOPE_UP_90: - case TRACK_SLOPE_DOWN_90: - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); - if (!is_track_enabled(TRACK_CURVE_VERTICAL)) { - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_RIGHT_CURVE_SMALL); - } - break; - } - } else { - // Disable all curves - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_SMALL) | - (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); - } + // Disable large curves if the start or end of the track is sloped. + if (_previousTrackSlopeEnd != TRACK_SLOPE_NONE || _currentTrackSlopeEnd != TRACK_SLOPE_NONE) { + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_LARGE) | + (1ULL << WIDX_RIGHT_CURVE_LARGE); + } + if (is_track_enabled(TRACK_SLOPE_CURVE) && is_track_enabled(TRACK_CURVE_VERY_SMALL)) { + // Disable small curves if the start or end of the track is sloped. + if (_previousTrackSlopeEnd != TRACK_SLOPE_NONE || _currentTrackSlopeEnd != TRACK_SLOPE_NONE) { + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); + } + } + if (!is_track_enabled(TRACK_SLOPE_CURVE)) { + if (is_track_enabled(TRACK_CURVE_VERTICAL)) { + // Disable all curves only on vertical track + if (_previousTrackSlopeEnd != TRACK_SLOPE_UP_90 || _currentTrackSlopeEnd != TRACK_SLOPE_UP_90) { + if (_previousTrackSlopeEnd != TRACK_SLOPE_DOWN_90 || _currentTrackSlopeEnd != TRACK_SLOPE_DOWN_90) { + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); + } + } + } else { + // Disable all curves on sloped track + if (_previousTrackSlopeEnd != TRACK_SLOPE_NONE || _currentTrackSlopeEnd != TRACK_SLOPE_NONE) { + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); + } + } + } + if (!is_track_enabled(TRACK_FLAT_ROLL_BANKING)) { + // Disable banking + disabledWidgets |= + (1ULL << WIDX_BANKING_GROUPBOX) | + (1ULL << WIDX_BANK_LEFT) | + (1ULL << WIDX_BANK_STRAIGHT) | + (1ULL << WIDX_BANK_RIGHT); + } + // Disable banking if the start track is steep and the end of the track becomes flat. + if ((_previousTrackSlopeEnd == TRACK_SLOPE_DOWN_60 || _previousTrackSlopeEnd == TRACK_SLOPE_UP_60) && _currentTrackSlopeEnd == TRACK_SLOPE_NONE) { + disabledWidgets |= + (1ULL << WIDX_BANK_LEFT) | + (1ULL << WIDX_BANK_RIGHT); + } + if (!is_track_enabled(TRACK_SLOPE) && !is_track_enabled(TRACK_SLOPE_STEEP)) { + if (rideType != RIDE_TYPE_REVERSE_FREEFALL_COASTER && rideType != RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) { + // Disable all slopes + disabledWidgets |= + (1ULL << WIDX_SLOPE_GROUPBOX) | + (1ULL << WIDX_SLOPE_DOWN_STEEP) | + (1ULL << WIDX_SLOPE_DOWN) | + (1ULL << WIDX_LEVEL) | + (1ULL << WIDX_SLOPE_UP) | + (1ULL << WIDX_SLOPE_UP_STEEP); + } + } + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_0) { + disabledWidgets |= + (1ULL << WIDX_CONSTRUCT) | + (1ULL << WIDX_DEMOLISH) | + (1ULL << WIDX_PREVIOUS_SECTION) | + (1ULL << WIDX_NEXT_SECTION); + } + switch (_currentTrackCurve) { + case TRACK_CURVE_LEFT_VERY_SMALL: + case TRACK_CURVE_LEFT_SMALL: + case TRACK_CURVE_LEFT: + case TRACK_CURVE_LEFT_LARGE: + disabledWidgets |= (1ULL << WIDX_BANK_RIGHT); + if (_previousTrackBankEnd == TRACK_BANK_NONE) { + disabledWidgets |= (1ULL << WIDX_BANK_LEFT); + } else { + disabledWidgets |= (1ULL << WIDX_BANK_STRAIGHT); + } + break; + case TRACK_CURVE_RIGHT_LARGE: + case TRACK_CURVE_RIGHT: + case TRACK_CURVE_RIGHT_SMALL: + case TRACK_CURVE_RIGHT_VERY_SMALL: + disabledWidgets |= (1ULL << WIDX_BANK_LEFT); + if (_previousTrackBankEnd == TRACK_BANK_NONE) { + disabledWidgets |= (1ULL << WIDX_BANK_RIGHT); + } else { + disabledWidgets |= (1ULL << WIDX_BANK_STRAIGHT); + } + break; + } + if (!is_track_enabled(TRACK_SLOPE_ROLL_BANKING)) { + if (_currentTrackBankEnd != TRACK_BANK_NONE) { + disabledWidgets |= + (1ULL << WIDX_SLOPE_DOWN) | + (1ULL << WIDX_SLOPE_UP); + } + } + if (_previousTrackSlopeEnd == _currentTrackSlopeEnd) { + switch (_currentTrackSlopeEnd) { + case TRACK_SLOPE_UP_60: + case TRACK_SLOPE_DOWN_60: + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); + if (!is_track_enabled(TRACK_SLOPE_CURVE_STEEP)) { + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE_SMALL); + } + break; + case TRACK_SLOPE_UP_90: + case TRACK_SLOPE_DOWN_90: + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); + if (!is_track_enabled(TRACK_CURVE_VERTICAL)) { + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE_SMALL); + } + break; + } + } else { + // Disable all curves + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); + } - switch (_previousTrackSlopeEnd) { - case TRACK_SLOPE_NONE: - if (_currentTrackCurve != TRACK_CURVE_NONE) { - disabledWidgets |= - (1ULL << WIDX_SLOPE_DOWN_STEEP) | - (1ULL << WIDX_SLOPE_UP_STEEP); - } - break; - case TRACK_SLOPE_DOWN_25: - disabledWidgets |= - (1ULL << WIDX_SLOPE_UP) | - (1ULL << WIDX_SLOPE_UP_STEEP); - break; - case TRACK_SLOPE_DOWN_60: - disabledWidgets |= - (1ULL << WIDX_SLOPE_UP) | - (1ULL << WIDX_SLOPE_UP_STEEP); - if (!is_track_enabled(TRACK_SLOPE_LONG) && !is_track_enabled(TRACK_SLOPE_STEEP_LONG)) { - disabledWidgets |= (1ULL << WIDX_LEVEL); - } - break; - case TRACK_SLOPE_UP_25: - disabledWidgets |= - (1ULL << WIDX_SLOPE_DOWN_STEEP) | - (1ULL << WIDX_SLOPE_DOWN); - break; - case TRACK_SLOPE_UP_60: - disabledWidgets |= - (1ULL << WIDX_SLOPE_DOWN_STEEP) | - (1ULL << WIDX_SLOPE_DOWN); - if (!is_track_enabled(TRACK_SLOPE_LONG) && !is_track_enabled(TRACK_SLOPE_STEEP_LONG)) { - disabledWidgets |= (1ULL << WIDX_LEVEL); - } - break; - case TRACK_SLOPE_DOWN_90: - case TRACK_SLOPE_UP_90: - disabledWidgets |= - (1ULL << WIDX_SLOPE_DOWN) | - (1ULL << WIDX_LEVEL) | - (1ULL << WIDX_SLOPE_UP); - break; - } - if (_previousTrackSlopeEnd == TRACK_SLOPE_NONE) { - if (!is_track_enabled(TRACK_SLOPE_LONG) && !is_track_enabled(TRACK_SLOPE_STEEP_LONG)) { - disabledWidgets |= - (1ULL << WIDX_SLOPE_DOWN_STEEP) | - (1ULL << WIDX_SLOPE_UP_STEEP); - } - } - if (is_track_enabled(TRACK_SLOPE_VERTICAL)) { - if (_previousTrackSlopeEnd == TRACK_SLOPE_UP_60 && _currentTrackPieceDirection < 4) { - disabledWidgets &= ~(1ULL << WIDX_SLOPE_DOWN_STEEP); - } - if (_previousTrackSlopeEnd == TRACK_SLOPE_UP_90) { - disabledWidgets &= ~(1ULL << WIDX_SLOPE_DOWN_STEEP); - } - if (_previousTrackSlopeEnd == TRACK_SLOPE_DOWN_60 && _currentTrackPieceDirection < 4) { - disabledWidgets &= ~(1ULL << WIDX_SLOPE_UP_STEEP); - } - } - if (_previousTrackBankEnd == TRACK_BANK_LEFT) { - disabledWidgets |= - (1ULL << WIDX_RIGHT_CURVE_SMALL) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_LARGE) | - (1ULL << WIDX_BANK_RIGHT); - } - if (_previousTrackBankEnd == TRACK_BANK_RIGHT) { - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_LEFT_CURVE_LARGE) | - (1ULL << WIDX_BANK_LEFT); - } - if (_currentTrackBankEnd != _previousTrackBankEnd) { - disabledWidgets |= - (1ULL << WIDX_RIGHT_CURVE_SMALL) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_LARGE) | - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_LEFT_CURVE_LARGE); - } - if (_currentTrackSlopeEnd != TRACK_SLOPE_NONE) { - if (is_track_enabled(TRACK_SLOPE_ROLL_BANKING)) { - if (_previousTrackSlopeEnd == TRACK_SLOPE_NONE) { - if (_currentTrackSlopeEnd != TRACK_SLOPE_UP_25 && _currentTrackSlopeEnd != TRACK_SLOPE_DOWN_25) { - disabledWidgets |= - (1ULL << WIDX_BANK_LEFT) | - (1ULL << WIDX_BANK_RIGHT); - } - } else { - if (_currentTrackSlopeEnd != _previousTrackSlopeEnd) { - disabledWidgets |= - (1ULL << WIDX_BANK_LEFT) | - (1ULL << WIDX_BANK_RIGHT); - } else { - if (_currentTrackSlopeEnd != TRACK_SLOPE_UP_25 && _currentTrackSlopeEnd != TRACK_SLOPE_DOWN_25) { - disabledWidgets |= - (1ULL << WIDX_BANK_LEFT) | - (1ULL << WIDX_BANK_RIGHT); - } - } - } - } else { - disabledWidgets |= - (1ULL << WIDX_BANK_LEFT) | - (1ULL << WIDX_BANK_RIGHT); - } - } - if (_currentTrackBankEnd != TRACK_BANK_NONE || _previousTrackBankEnd != TRACK_BANK_NONE) { - disabledWidgets |= - (1ULL << WIDX_SLOPE_DOWN_STEEP) | - (1ULL << WIDX_SLOPE_UP_STEEP) | - (1ULL << WIDX_CHAIN_LIFT); - } - if (_currentTrackCurve != TRACK_CURVE_NONE) { - if (!is_track_enabled(TRACK_LIFT_HILL_CURVE)) { - disabledWidgets |= (1ULL << WIDX_CHAIN_LIFT); - } - if (_currentTrackSlopeEnd == TRACK_SLOPE_NONE) { - disabledWidgets |= (1ULL << WIDX_CHAIN_LIFT); - } - if (_currentTrackSlopeEnd == TRACK_SLOPE_UP_60) { - disabledWidgets |= (1ULL << WIDX_CHAIN_LIFT); - } - if (_currentTrackSlopeEnd == TRACK_SLOPE_DOWN_60) { - disabledWidgets |= (1ULL << WIDX_CHAIN_LIFT); - } - } - if (_currentTrackSlopeEnd == TRACK_SLOPE_UP_90 || _previousTrackSlopeEnd == TRACK_SLOPE_UP_90) { - disabledWidgets |= (1ULL << WIDX_CHAIN_LIFT); - } - if (!is_track_enabled(TRACK_LIFT_HILL_STEEP)) { - if (_previousTrackSlopeEnd == TRACK_SLOPE_UP_60 || _currentTrackSlopeEnd == TRACK_SLOPE_UP_60) { - disabledWidgets |= (1ULL << WIDX_CHAIN_LIFT); - } - } - if (_previousTrackBankEnd == TRACK_BANK_UPSIDE_DOWN) { - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_LEFT_CURVE_LARGE) | - (1ULL << WIDX_STRAIGHT) | - (1ULL << WIDX_RIGHT_CURVE_SMALL) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_LARGE); - } - if (_currentTrackCurve != TRACK_CURVE_NONE) { - if (_currentTrackSlopeEnd == TRACK_SLOPE_NONE) { - disabledWidgets |= - (1ULL << WIDX_SLOPE_DOWN) | - (1ULL << WIDX_SLOPE_UP); - } - if (_currentTrackSlopeEnd == _previousTrackSlopeEnd) { - if (_currentTrackSlopeEnd == TRACK_SLOPE_UP_25) { - disabledWidgets |= (1ULL << WIDX_SLOPE_UP_STEEP); - if (_currentTrackCurve == TRACK_CURVE_LEFT || _currentTrackCurve == TRACK_CURVE_RIGHT || _rideConstructionState != RIDE_CONSTRUCTION_STATE_BACK || !is_track_enabled(TRACK_SLOPE_CURVE_BANKED)) { - disabledWidgets |= (1ULL << WIDX_LEVEL); - } - } - if (_currentTrackSlopeEnd == TRACK_SLOPE_DOWN_25) { - disabledWidgets |= (1ULL << WIDX_SLOPE_DOWN_STEEP); - if (_currentTrackCurve == TRACK_CURVE_LEFT || _currentTrackCurve == TRACK_CURVE_RIGHT || _rideConstructionState != RIDE_CONSTRUCTION_STATE_FRONT || !is_track_enabled(TRACK_SLOPE_CURVE_BANKED)) { - disabledWidgets |= (1ULL << WIDX_LEVEL); - } - } - } else if (is_track_enabled(TRACK_SLOPE_CURVE_BANKED)) { - disabledWidgets |= - (1ULL << WIDX_SLOPE_DOWN_STEEP) | - (1ULL << WIDX_SLOPE_UP_STEEP); - if (_currentTrackBankEnd == TRACK_BANK_LEFT) { - disabledWidgets |= - (1ULL << WIDX_BANK_STRAIGHT) | - (1ULL << WIDX_BANK_RIGHT); - disabledWidgets &= ~(1ULL << WIDX_BANK_LEFT); - } - if (_currentTrackBankEnd == TRACK_BANK_RIGHT) { - disabledWidgets |= - (1ULL << WIDX_BANK_LEFT) | - (1ULL << WIDX_BANK_STRAIGHT); - disabledWidgets &= ~(1ULL << WIDX_BANK_RIGHT); - } - if (_currentTrackBankEnd == TRACK_BANK_NONE) { - disabledWidgets |= - (1ULL << WIDX_BANK_LEFT) | - (1ULL << WIDX_BANK_RIGHT); - disabledWidgets &= ~(1ULL << WIDX_BANK_STRAIGHT); - } - if (_currentTrackSlopeEnd == TRACK_SLOPE_NONE) { - disabledWidgets |= - (1ULL << WIDX_SLOPE_DOWN) | - (1ULL << WIDX_SLOPE_UP); - disabledWidgets &= ~(1ULL << WIDX_LEVEL); - } - if (_currentTrackSlopeEnd == TRACK_SLOPE_UP_25) { - disabledWidgets |= - (1ULL << WIDX_SLOPE_DOWN) | - (1ULL << WIDX_LEVEL); - disabledWidgets &= ~(1ULL << WIDX_SLOPE_UP); - } - if (_currentTrackSlopeEnd == TRACK_SLOPE_DOWN_25) { - disabledWidgets |= - (1ULL << WIDX_LEVEL) | - (1ULL << WIDX_SLOPE_UP); - disabledWidgets &= ~(1ULL << WIDX_SLOPE_DOWN); - } - if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL) { - disabledWidgets &= ~(1ULL << WIDX_LEFT_CURVE_SMALL); - } - if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL) { - disabledWidgets &= ~(1ULL << WIDX_RIGHT_CURVE_SMALL); - } - } - } - if (_currentTrackCurve != TRACK_CURVE_NONE && _currentTrackSlopeEnd == TRACK_SLOPE_UP_60) { - disabledWidgets |= (1ULL << WIDX_SLOPE_UP); - } - if (_currentTrackCurve != TRACK_CURVE_NONE && _currentTrackSlopeEnd == TRACK_SLOPE_DOWN_60) { - disabledWidgets |= (1ULL << WIDX_SLOPE_DOWN); - } - if ((_currentTrackLiftHill & 1) && !gCheatsEnableChainLiftOnAllTrack) { - if (_currentTrackSlopeEnd != TRACK_SLOPE_NONE && !is_track_enabled(TRACK_LIFT_HILL_CURVE)) { - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_LEFT_CURVE_LARGE) | - (1ULL << WIDX_RIGHT_CURVE_SMALL) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_LARGE); - } - if (!is_track_enabled(TRACK_LIFT_HILL_STEEP)) { - if (w->widgets[WIDX_SLOPE_UP_STEEP].tooltip == STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP) { - disabledWidgets |= (1ULL << WIDX_SLOPE_UP_STEEP); - } - } - } - if (_previousTrackSlopeEnd == TRACK_SLOPE_UP_60 && _currentTrackCurve != TRACK_CURVE_NONE) { - disabledWidgets |= - (1ULL << WIDX_SLOPE_DOWN_STEEP) | - (1ULL << WIDX_LEVEL); - } - if (_previousTrackSlopeEnd == TRACK_SLOPE_DOWN_60 && _currentTrackCurve != TRACK_CURVE_NONE) { - disabledWidgets |= - (1ULL << WIDX_LEVEL) | - (1ULL << WIDX_SLOPE_UP_STEEP); - } - if (_currentTrackSlopeEnd == TRACK_SLOPE_UP_90 || _previousTrackSlopeEnd == TRACK_SLOPE_UP_90) { - if (_currentTrackCurve != TRACK_CURVE_NONE) { - disabledWidgets |= (1ULL << WIDX_SLOPE_UP_STEEP); - } - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_LARGE) | - (1ULL << WIDX_RIGHT_CURVE_LARGE); - if (rideType == RIDE_TYPE_REVERSE_FREEFALL_COASTER || rideType == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) { - disabledWidgets |= - (1ULL << WIDX_STRAIGHT) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE); - } - } else if (_currentTrackSlopeEnd == TRACK_SLOPE_DOWN_90 || _previousTrackSlopeEnd == TRACK_SLOPE_DOWN_90) { - if (_currentTrackCurve != TRACK_CURVE_NONE) { - disabledWidgets |= (1ULL << WIDX_SLOPE_DOWN_STEEP); - } - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_LARGE) | - (1ULL << WIDX_RIGHT_CURVE_LARGE); - if (rideType == RIDE_TYPE_REVERSE_FREEFALL_COASTER || rideType == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) { - disabledWidgets |= - (1ULL << WIDX_STRAIGHT) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE); - } - } - if (is_track_enabled(TRACK_HELIX_LARGE_UNBANKED)) { - if (_currentTrackSlopeEnd == TRACK_SLOPE_NONE && _currentTrackBankEnd == TRACK_SLOPE_NONE) { - if (_currentTrackCurve == TRACK_CURVE_LEFT || _currentTrackCurve == TRACK_CURVE_RIGHT) { - if (_currentTrackSlopeEnd == _previousTrackSlopeEnd) { - disabledWidgets &= ~(1ULL << WIDX_SLOPE_DOWN_STEEP); - disabledWidgets &= ~(1ULL << WIDX_SLOPE_UP_STEEP); - } - } - } - } else if ( - ( - is_track_enabled(TRACK_HELIX_SMALL) || - ( - is_track_enabled(TRACK_HELIX_LARGE) && - _currentTrackCurve != TRACK_CURVE_LEFT_SMALL && - _currentTrackCurve != TRACK_CURVE_RIGHT_SMALL - ) - ) && - ( - _currentTrackCurve == TRACK_CURVE_LEFT || - _currentTrackCurve == TRACK_CURVE_RIGHT || - _currentTrackCurve == TRACK_CURVE_LEFT_SMALL || - _currentTrackCurve == TRACK_CURVE_RIGHT_SMALL - ) && - (_currentTrackSlopeEnd == TRACK_SLOPE_NONE && _currentTrackBankEnd != TRACK_BANK_NONE) - ) { - if (_previousTrackSlopeEnd == _currentTrackSlopeEnd) { - // Enable helix - disabledWidgets &= ~(1ULL << WIDX_SLOPE_DOWN_STEEP); - disabledWidgets &= ~(1ULL << WIDX_SLOPE_UP_STEEP); - } - } - if (is_track_enabled(TRACK_SLOPE_CURVE_BANKED)) { - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { - if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL || _currentTrackCurve == TRACK_CURVE_RIGHT_SMALL) { - if (_currentTrackSlopeEnd == TRACK_SLOPE_NONE && _previousTrackBankEnd != TRACK_BANK_NONE) { - disabledWidgets &= ~(1ULL << WIDX_SLOPE_UP); - } - } - } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { - if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL || _currentTrackCurve == TRACK_CURVE_RIGHT_SMALL) { - if (_currentTrackSlopeEnd == TRACK_SLOPE_NONE && _previousTrackBankEnd != TRACK_BANK_NONE) { - disabledWidgets &= ~(1ULL << WIDX_SLOPE_DOWN); - } - } - } - } - if (_currentTrackPieceDirection >= 4) { - disabledWidgets |= - (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_SMALL) | - (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); - } - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { - disabledWidgets |= (1ULL << WIDX_NEXT_SECTION); - if (sub_6CA2DF(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) { - disabledWidgets |= (1ULL << WIDX_CONSTRUCT); - } - } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { - disabledWidgets |= (1ULL << WIDX_PREVIOUS_SECTION); - if (sub_6CA2DF(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) { - disabledWidgets |= (1ULL << WIDX_CONSTRUCT); - } - } - if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES)) { - disabledWidgets &= ~(1ULL << WIDX_BANKING_GROUPBOX); - } - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT || _rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { - disabledWidgets |= - (1ULL << WIDX_DIRECTION_GROUPBOX) | - (1ULL << WIDX_SLOPE_GROUPBOX) | - (1ULL << WIDX_BANKING_GROUPBOX) | - (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | - (1ULL << WIDX_LEFT_CURVE_SMALL) | - (1ULL << WIDX_LEFT_CURVE) | - (1ULL << WIDX_STRAIGHT) | - (1ULL << WIDX_RIGHT_CURVE) | - (1ULL << WIDX_RIGHT_CURVE_SMALL) | - (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL) | - (1ULL << WIDX_SPECIAL_TRACK_DROPDOWN) | - (1ULL << WIDX_SLOPE_DOWN_STEEP) | - (1ULL << WIDX_SLOPE_DOWN) | - (1ULL << WIDX_LEVEL) | - (1ULL << WIDX_SLOPE_UP) | - (1ULL << WIDX_SLOPE_UP_STEEP) | - (1ULL << WIDX_CHAIN_LIFT) | - (1ULL << WIDX_BANK_LEFT) | - (1ULL << WIDX_BANK_STRAIGHT) | - (1ULL << WIDX_BANK_RIGHT) | - (1ULL << WIDX_LEFT_CURVE_LARGE) | - (1ULL << WIDX_RIGHT_CURVE_LARGE); - } - if (_currentlyShowingBrakeSpeed != 0) { - disabledWidgets &= ~(1ULL << WIDX_BANKING_GROUPBOX); - disabledWidgets &= ~(1ULL << WIDX_BANK_LEFT); - disabledWidgets &= ~(1ULL << WIDX_BANK_STRAIGHT); - disabledWidgets &= ~(1ULL << WIDX_BANK_RIGHT); - } + switch (_previousTrackSlopeEnd) { + case TRACK_SLOPE_NONE: + if (_currentTrackCurve != TRACK_CURVE_NONE) { + disabledWidgets |= + (1ULL << WIDX_SLOPE_DOWN_STEEP) | + (1ULL << WIDX_SLOPE_UP_STEEP); + } + break; + case TRACK_SLOPE_DOWN_25: + disabledWidgets |= + (1ULL << WIDX_SLOPE_UP) | + (1ULL << WIDX_SLOPE_UP_STEEP); + break; + case TRACK_SLOPE_DOWN_60: + disabledWidgets |= + (1ULL << WIDX_SLOPE_UP) | + (1ULL << WIDX_SLOPE_UP_STEEP); + if (!is_track_enabled(TRACK_SLOPE_LONG) && !is_track_enabled(TRACK_SLOPE_STEEP_LONG)) { + disabledWidgets |= (1ULL << WIDX_LEVEL); + } + break; + case TRACK_SLOPE_UP_25: + disabledWidgets |= + (1ULL << WIDX_SLOPE_DOWN_STEEP) | + (1ULL << WIDX_SLOPE_DOWN); + break; + case TRACK_SLOPE_UP_60: + disabledWidgets |= + (1ULL << WIDX_SLOPE_DOWN_STEEP) | + (1ULL << WIDX_SLOPE_DOWN); + if (!is_track_enabled(TRACK_SLOPE_LONG) && !is_track_enabled(TRACK_SLOPE_STEEP_LONG)) { + disabledWidgets |= (1ULL << WIDX_LEVEL); + } + break; + case TRACK_SLOPE_DOWN_90: + case TRACK_SLOPE_UP_90: + disabledWidgets |= + (1ULL << WIDX_SLOPE_DOWN) | + (1ULL << WIDX_LEVEL) | + (1ULL << WIDX_SLOPE_UP); + break; + } + if (_previousTrackSlopeEnd == TRACK_SLOPE_NONE) { + if (!is_track_enabled(TRACK_SLOPE_LONG) && !is_track_enabled(TRACK_SLOPE_STEEP_LONG)) { + disabledWidgets |= + (1ULL << WIDX_SLOPE_DOWN_STEEP) | + (1ULL << WIDX_SLOPE_UP_STEEP); + } + } + if (is_track_enabled(TRACK_SLOPE_VERTICAL)) { + if (_previousTrackSlopeEnd == TRACK_SLOPE_UP_60 && _currentTrackPieceDirection < 4) { + disabledWidgets &= ~(1ULL << WIDX_SLOPE_DOWN_STEEP); + } + if (_previousTrackSlopeEnd == TRACK_SLOPE_UP_90) { + disabledWidgets &= ~(1ULL << WIDX_SLOPE_DOWN_STEEP); + } + if (_previousTrackSlopeEnd == TRACK_SLOPE_DOWN_60 && _currentTrackPieceDirection < 4) { + disabledWidgets &= ~(1ULL << WIDX_SLOPE_UP_STEEP); + } + } + if (_previousTrackBankEnd == TRACK_BANK_LEFT) { + disabledWidgets |= + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_LARGE) | + (1ULL << WIDX_BANK_RIGHT); + } + if (_previousTrackBankEnd == TRACK_BANK_RIGHT) { + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_LEFT_CURVE_LARGE) | + (1ULL << WIDX_BANK_LEFT); + } + if (_currentTrackBankEnd != _previousTrackBankEnd) { + disabledWidgets |= + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_LARGE) | + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_LEFT_CURVE_LARGE); + } + if (_currentTrackSlopeEnd != TRACK_SLOPE_NONE) { + if (is_track_enabled(TRACK_SLOPE_ROLL_BANKING)) { + if (_previousTrackSlopeEnd == TRACK_SLOPE_NONE) { + if (_currentTrackSlopeEnd != TRACK_SLOPE_UP_25 && _currentTrackSlopeEnd != TRACK_SLOPE_DOWN_25) { + disabledWidgets |= + (1ULL << WIDX_BANK_LEFT) | + (1ULL << WIDX_BANK_RIGHT); + } + } else { + if (_currentTrackSlopeEnd != _previousTrackSlopeEnd) { + disabledWidgets |= + (1ULL << WIDX_BANK_LEFT) | + (1ULL << WIDX_BANK_RIGHT); + } else { + if (_currentTrackSlopeEnd != TRACK_SLOPE_UP_25 && _currentTrackSlopeEnd != TRACK_SLOPE_DOWN_25) { + disabledWidgets |= + (1ULL << WIDX_BANK_LEFT) | + (1ULL << WIDX_BANK_RIGHT); + } + } + } + } else { + disabledWidgets |= + (1ULL << WIDX_BANK_LEFT) | + (1ULL << WIDX_BANK_RIGHT); + } + } + if (_currentTrackBankEnd != TRACK_BANK_NONE || _previousTrackBankEnd != TRACK_BANK_NONE) { + disabledWidgets |= + (1ULL << WIDX_SLOPE_DOWN_STEEP) | + (1ULL << WIDX_SLOPE_UP_STEEP) | + (1ULL << WIDX_CHAIN_LIFT); + } + if (_currentTrackCurve != TRACK_CURVE_NONE) { + if (!is_track_enabled(TRACK_LIFT_HILL_CURVE)) { + disabledWidgets |= (1ULL << WIDX_CHAIN_LIFT); + } + if (_currentTrackSlopeEnd == TRACK_SLOPE_NONE) { + disabledWidgets |= (1ULL << WIDX_CHAIN_LIFT); + } + if (_currentTrackSlopeEnd == TRACK_SLOPE_UP_60) { + disabledWidgets |= (1ULL << WIDX_CHAIN_LIFT); + } + if (_currentTrackSlopeEnd == TRACK_SLOPE_DOWN_60) { + disabledWidgets |= (1ULL << WIDX_CHAIN_LIFT); + } + } + if (_currentTrackSlopeEnd == TRACK_SLOPE_UP_90 || _previousTrackSlopeEnd == TRACK_SLOPE_UP_90) { + disabledWidgets |= (1ULL << WIDX_CHAIN_LIFT); + } + if (!is_track_enabled(TRACK_LIFT_HILL_STEEP)) { + if (_previousTrackSlopeEnd == TRACK_SLOPE_UP_60 || _currentTrackSlopeEnd == TRACK_SLOPE_UP_60) { + disabledWidgets |= (1ULL << WIDX_CHAIN_LIFT); + } + } + if (_previousTrackBankEnd == TRACK_BANK_UPSIDE_DOWN) { + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_LEFT_CURVE_LARGE) | + (1ULL << WIDX_STRAIGHT) | + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_LARGE); + } + if (_currentTrackCurve != TRACK_CURVE_NONE) { + if (_currentTrackSlopeEnd == TRACK_SLOPE_NONE) { + disabledWidgets |= + (1ULL << WIDX_SLOPE_DOWN) | + (1ULL << WIDX_SLOPE_UP); + } + if (_currentTrackSlopeEnd == _previousTrackSlopeEnd) { + if (_currentTrackSlopeEnd == TRACK_SLOPE_UP_25) { + disabledWidgets |= (1ULL << WIDX_SLOPE_UP_STEEP); + if (_currentTrackCurve == TRACK_CURVE_LEFT || _currentTrackCurve == TRACK_CURVE_RIGHT || _rideConstructionState != RIDE_CONSTRUCTION_STATE_BACK || !is_track_enabled(TRACK_SLOPE_CURVE_BANKED)) { + disabledWidgets |= (1ULL << WIDX_LEVEL); + } + } + if (_currentTrackSlopeEnd == TRACK_SLOPE_DOWN_25) { + disabledWidgets |= (1ULL << WIDX_SLOPE_DOWN_STEEP); + if (_currentTrackCurve == TRACK_CURVE_LEFT || _currentTrackCurve == TRACK_CURVE_RIGHT || _rideConstructionState != RIDE_CONSTRUCTION_STATE_FRONT || !is_track_enabled(TRACK_SLOPE_CURVE_BANKED)) { + disabledWidgets |= (1ULL << WIDX_LEVEL); + } + } + } else if (is_track_enabled(TRACK_SLOPE_CURVE_BANKED)) { + disabledWidgets |= + (1ULL << WIDX_SLOPE_DOWN_STEEP) | + (1ULL << WIDX_SLOPE_UP_STEEP); + if (_currentTrackBankEnd == TRACK_BANK_LEFT) { + disabledWidgets |= + (1ULL << WIDX_BANK_STRAIGHT) | + (1ULL << WIDX_BANK_RIGHT); + disabledWidgets &= ~(1ULL << WIDX_BANK_LEFT); + } + if (_currentTrackBankEnd == TRACK_BANK_RIGHT) { + disabledWidgets |= + (1ULL << WIDX_BANK_LEFT) | + (1ULL << WIDX_BANK_STRAIGHT); + disabledWidgets &= ~(1ULL << WIDX_BANK_RIGHT); + } + if (_currentTrackBankEnd == TRACK_BANK_NONE) { + disabledWidgets |= + (1ULL << WIDX_BANK_LEFT) | + (1ULL << WIDX_BANK_RIGHT); + disabledWidgets &= ~(1ULL << WIDX_BANK_STRAIGHT); + } + if (_currentTrackSlopeEnd == TRACK_SLOPE_NONE) { + disabledWidgets |= + (1ULL << WIDX_SLOPE_DOWN) | + (1ULL << WIDX_SLOPE_UP); + disabledWidgets &= ~(1ULL << WIDX_LEVEL); + } + if (_currentTrackSlopeEnd == TRACK_SLOPE_UP_25) { + disabledWidgets |= + (1ULL << WIDX_SLOPE_DOWN) | + (1ULL << WIDX_LEVEL); + disabledWidgets &= ~(1ULL << WIDX_SLOPE_UP); + } + if (_currentTrackSlopeEnd == TRACK_SLOPE_DOWN_25) { + disabledWidgets |= + (1ULL << WIDX_LEVEL) | + (1ULL << WIDX_SLOPE_UP); + disabledWidgets &= ~(1ULL << WIDX_SLOPE_DOWN); + } + if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL) { + disabledWidgets &= ~(1ULL << WIDX_LEFT_CURVE_SMALL); + } + if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL) { + disabledWidgets &= ~(1ULL << WIDX_RIGHT_CURVE_SMALL); + } + } + } + if (_currentTrackCurve != TRACK_CURVE_NONE && _currentTrackSlopeEnd == TRACK_SLOPE_UP_60) { + disabledWidgets |= (1ULL << WIDX_SLOPE_UP); + } + if (_currentTrackCurve != TRACK_CURVE_NONE && _currentTrackSlopeEnd == TRACK_SLOPE_DOWN_60) { + disabledWidgets |= (1ULL << WIDX_SLOPE_DOWN); + } + if ((_currentTrackLiftHill & 1) && !gCheatsEnableChainLiftOnAllTrack) { + if (_currentTrackSlopeEnd != TRACK_SLOPE_NONE && !is_track_enabled(TRACK_LIFT_HILL_CURVE)) { + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_LEFT_CURVE_LARGE) | + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_LARGE); + } + if (!is_track_enabled(TRACK_LIFT_HILL_STEEP)) { + if (w->widgets[WIDX_SLOPE_UP_STEEP].tooltip == STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP) { + disabledWidgets |= (1ULL << WIDX_SLOPE_UP_STEEP); + } + } + } + if (_previousTrackSlopeEnd == TRACK_SLOPE_UP_60 && _currentTrackCurve != TRACK_CURVE_NONE) { + disabledWidgets |= + (1ULL << WIDX_SLOPE_DOWN_STEEP) | + (1ULL << WIDX_LEVEL); + } + if (_previousTrackSlopeEnd == TRACK_SLOPE_DOWN_60 && _currentTrackCurve != TRACK_CURVE_NONE) { + disabledWidgets |= + (1ULL << WIDX_LEVEL) | + (1ULL << WIDX_SLOPE_UP_STEEP); + } + if (_currentTrackSlopeEnd == TRACK_SLOPE_UP_90 || _previousTrackSlopeEnd == TRACK_SLOPE_UP_90) { + if (_currentTrackCurve != TRACK_CURVE_NONE) { + disabledWidgets |= (1ULL << WIDX_SLOPE_UP_STEEP); + } + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_LARGE) | + (1ULL << WIDX_RIGHT_CURVE_LARGE); + if (rideType == RIDE_TYPE_REVERSE_FREEFALL_COASTER || rideType == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) { + disabledWidgets |= + (1ULL << WIDX_STRAIGHT) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE); + } + } else if (_currentTrackSlopeEnd == TRACK_SLOPE_DOWN_90 || _previousTrackSlopeEnd == TRACK_SLOPE_DOWN_90) { + if (_currentTrackCurve != TRACK_CURVE_NONE) { + disabledWidgets |= (1ULL << WIDX_SLOPE_DOWN_STEEP); + } + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_LARGE) | + (1ULL << WIDX_RIGHT_CURVE_LARGE); + if (rideType == RIDE_TYPE_REVERSE_FREEFALL_COASTER || rideType == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) { + disabledWidgets |= + (1ULL << WIDX_STRAIGHT) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE); + } + } + if (is_track_enabled(TRACK_HELIX_LARGE_UNBANKED)) { + if (_currentTrackSlopeEnd == TRACK_SLOPE_NONE && _currentTrackBankEnd == TRACK_SLOPE_NONE) { + if (_currentTrackCurve == TRACK_CURVE_LEFT || _currentTrackCurve == TRACK_CURVE_RIGHT) { + if (_currentTrackSlopeEnd == _previousTrackSlopeEnd) { + disabledWidgets &= ~(1ULL << WIDX_SLOPE_DOWN_STEEP); + disabledWidgets &= ~(1ULL << WIDX_SLOPE_UP_STEEP); + } + } + } + } else if ( + ( + is_track_enabled(TRACK_HELIX_SMALL) || + ( + is_track_enabled(TRACK_HELIX_LARGE) && + _currentTrackCurve != TRACK_CURVE_LEFT_SMALL && + _currentTrackCurve != TRACK_CURVE_RIGHT_SMALL + ) + ) && + ( + _currentTrackCurve == TRACK_CURVE_LEFT || + _currentTrackCurve == TRACK_CURVE_RIGHT || + _currentTrackCurve == TRACK_CURVE_LEFT_SMALL || + _currentTrackCurve == TRACK_CURVE_RIGHT_SMALL + ) && + (_currentTrackSlopeEnd == TRACK_SLOPE_NONE && _currentTrackBankEnd != TRACK_BANK_NONE) + ) { + if (_previousTrackSlopeEnd == _currentTrackSlopeEnd) { + // Enable helix + disabledWidgets &= ~(1ULL << WIDX_SLOPE_DOWN_STEEP); + disabledWidgets &= ~(1ULL << WIDX_SLOPE_UP_STEEP); + } + } + if (is_track_enabled(TRACK_SLOPE_CURVE_BANKED)) { + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { + if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL || _currentTrackCurve == TRACK_CURVE_RIGHT_SMALL) { + if (_currentTrackSlopeEnd == TRACK_SLOPE_NONE && _previousTrackBankEnd != TRACK_BANK_NONE) { + disabledWidgets &= ~(1ULL << WIDX_SLOPE_UP); + } + } + } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { + if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL || _currentTrackCurve == TRACK_CURVE_RIGHT_SMALL) { + if (_currentTrackSlopeEnd == TRACK_SLOPE_NONE && _previousTrackBankEnd != TRACK_BANK_NONE) { + disabledWidgets &= ~(1ULL << WIDX_SLOPE_DOWN); + } + } + } + } + if (_currentTrackPieceDirection >= 4) { + disabledWidgets |= + (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL); + } + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { + disabledWidgets |= (1ULL << WIDX_NEXT_SECTION); + if (sub_6CA2DF(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) { + disabledWidgets |= (1ULL << WIDX_CONSTRUCT); + } + } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { + disabledWidgets |= (1ULL << WIDX_PREVIOUS_SECTION); + if (sub_6CA2DF(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) { + disabledWidgets |= (1ULL << WIDX_CONSTRUCT); + } + } + if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES)) { + disabledWidgets &= ~(1ULL << WIDX_BANKING_GROUPBOX); + } + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT || _rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { + disabledWidgets |= + (1ULL << WIDX_DIRECTION_GROUPBOX) | + (1ULL << WIDX_SLOPE_GROUPBOX) | + (1ULL << WIDX_BANKING_GROUPBOX) | + (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_STRAIGHT) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL) | + (1ULL << WIDX_SPECIAL_TRACK_DROPDOWN) | + (1ULL << WIDX_SLOPE_DOWN_STEEP) | + (1ULL << WIDX_SLOPE_DOWN) | + (1ULL << WIDX_LEVEL) | + (1ULL << WIDX_SLOPE_UP) | + (1ULL << WIDX_SLOPE_UP_STEEP) | + (1ULL << WIDX_CHAIN_LIFT) | + (1ULL << WIDX_BANK_LEFT) | + (1ULL << WIDX_BANK_STRAIGHT) | + (1ULL << WIDX_BANK_RIGHT) | + (1ULL << WIDX_LEFT_CURVE_LARGE) | + (1ULL << WIDX_RIGHT_CURVE_LARGE); + } + if (_currentlyShowingBrakeSpeed != 0) { + disabledWidgets &= ~(1ULL << WIDX_BANKING_GROUPBOX); + disabledWidgets &= ~(1ULL << WIDX_BANK_LEFT); + disabledWidgets &= ~(1ULL << WIDX_BANK_STRAIGHT); + disabledWidgets &= ~(1ULL << WIDX_BANK_RIGHT); + } - //If chain lift cheat is enabled then show the chain lift widget no matter what - if(gCheatsEnableChainLiftOnAllTrack) { - disabledWidgets &= ~(1ULL<disabled_widgets; - if (currentDisabledWidgets == disabledWidgets) - return; + // Set and invalidate the changed widgets + uint64 currentDisabledWidgets = w->disabled_widgets; + if (currentDisabledWidgets == disabledWidgets) + return; - for (rct_widgetindex i = 0; i < 64; i++) { - if ((disabledWidgets & (1ULL << i)) != (currentDisabledWidgets & (1ULL << i))) { - widget_invalidate(w, i); - } - } - w->disabled_widgets = disabledWidgets; + for (rct_widgetindex i = 0; i < 64; i++) { + if ((disabledWidgets & (1ULL << i)) != (currentDisabledWidgets & (1ULL << i))) { + widget_invalidate(w, i); + } + } + w->disabled_widgets = disabledWidgets; } /** @@ -1304,322 +1304,322 @@ static void window_ride_construction_resize(rct_window *w) */ static void window_ride_construction_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget *widget) { - rct_ride *ride = get_ride(_currentRideIndex); + rct_ride *ride = get_ride(_currentRideIndex); - window_ride_construction_update_enabled_track_pieces(); - switch (widgetIndex) { - case WIDX_LEFT_CURVE: - ride_construction_invalidate_current_track(); - _currentTrackCurve = TRACK_CURVE_LEFT; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - case WIDX_RIGHT_CURVE: - ride_construction_invalidate_current_track(); - _currentTrackCurve = TRACK_CURVE_RIGHT; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - case WIDX_LEFT_CURVE_SMALL: - ride_construction_invalidate_current_track(); - _currentTrackCurve = TRACK_CURVE_LEFT_SMALL; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - case WIDX_RIGHT_CURVE_SMALL: - ride_construction_invalidate_current_track(); - _currentTrackCurve = TRACK_CURVE_RIGHT_SMALL; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - case WIDX_LEFT_CURVE_VERY_SMALL: - ride_construction_invalidate_current_track(); - _currentTrackCurve = TRACK_CURVE_LEFT_VERY_SMALL; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - case WIDX_RIGHT_CURVE_VERY_SMALL: - ride_construction_invalidate_current_track(); - _currentTrackCurve = TRACK_CURVE_RIGHT_VERY_SMALL; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - case WIDX_LEFT_CURVE_LARGE: - ride_construction_invalidate_current_track(); - _currentTrackCurve = TRACK_CURVE_LEFT_LARGE; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - case WIDX_RIGHT_CURVE_LARGE: - ride_construction_invalidate_current_track(); - _currentTrackCurve = TRACK_CURVE_RIGHT_LARGE; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - case WIDX_STRAIGHT: - ride_construction_invalidate_current_track(); - if (_currentTrackCurve != TRACK_CURVE_NONE) - _currentTrackBankEnd = TRACK_BANK_NONE; - _currentTrackCurve = TRACK_CURVE_NONE; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - case WIDX_SLOPE_DOWN_STEEP: - ride_construction_invalidate_current_track(); - if (is_track_enabled(TRACK_HELIX_SMALL)) { - if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } else if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL && _currentTrackBankEnd == TRACK_BANK_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } else if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL && _currentTrackBankEnd == TRACK_BANK_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } - } - if (is_track_enabled(TRACK_HELIX_LARGE)) { - if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } - } - if (is_track_enabled(TRACK_HELIX_LARGE_UNBANKED)) { - if (_currentTrackBankEnd == TRACK_BANK_NONE) { - if (_currentTrackCurve == TRACK_CURVE_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } else if (_currentTrackCurve == TRACK_CURVE_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } - } - } - if (w->widgets[WIDX_SLOPE_DOWN_STEEP].tooltip == STR_RIDE_CONSTRUCTION_STEEP_SLOPE_DOWN_TIP) { - loc_6C7502(8); - } else { - loc_6C7502(10); - } - break; - case WIDX_SLOPE_DOWN: - ride_construction_invalidate_current_track(); - if (_rideConstructionState == 2 && _currentTrackBankEnd != TRACK_BANK_NONE) { - _currentTrackBankEnd = TRACK_BANK_NONE; - } - loc_6C7502(6); - break; - case WIDX_LEVEL: - ride_construction_invalidate_current_track(); - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT && _previousTrackSlopeEnd == 6) { - if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL) { - _currentTrackBankEnd = TRACK_BANK_LEFT; - } else if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL) { - _currentTrackBankEnd = TRACK_BANK_RIGHT; - } - } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK && _previousTrackSlopeEnd == 2) { - if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL) { - _currentTrackBankEnd = TRACK_BANK_LEFT; - } else if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL) { - _currentTrackBankEnd = TRACK_BANK_RIGHT; - } - } - loc_6C7502(0); - break; - case WIDX_SLOPE_UP: - ride_construction_invalidate_current_track(); - if (_rideConstructionState == 1 && _currentTrackBankEnd != TRACK_BANK_NONE) { - _currentTrackBankEnd = TRACK_BANK_NONE; - } - if (ride->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER || ride->type == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) { - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT && _currentTrackCurve == TRACK_CURVE_NONE) { - _currentTrackCurve = TRACK_ELEM_REVERSE_FREEFALL_SLOPE | 0x100; - window_ride_construction_update_active_elements(); - } - } else { - loc_6C7502(2); - } - break; - case WIDX_SLOPE_UP_STEEP: - ride_construction_invalidate_current_track(); - if (is_track_enabled(TRACK_HELIX_SMALL)) { - if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } else if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL && _currentTrackBankEnd == TRACK_BANK_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } else if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL && _currentTrackBankEnd == TRACK_BANK_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } - } - if (is_track_enabled(TRACK_HELIX_LARGE)) { - if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } - } - if (is_track_enabled(TRACK_HELIX_LARGE_UNBANKED)) { - if (_currentTrackBankEnd == TRACK_BANK_NONE) { - if (_currentTrackCurve == TRACK_CURVE_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } else if (_currentTrackCurve == TRACK_CURVE_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP | 0x100; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - } - } - } - if (w->widgets[WIDX_SLOPE_UP_STEEP].tooltip == STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP) { - loc_6C7502(4); - } else { - loc_6C7502(18); - } - break; - case WIDX_CHAIN_LIFT: - ride_construction_invalidate_current_track(); - _currentTrackLiftHill ^= 1; - if (_currentTrackLiftHill & 1) { - _currentTrackAlternative &= ~RIDE_TYPE_ALTERNATIVE_TRACK_PIECES; - } - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - case WIDX_BANK_LEFT: - ride_construction_invalidate_current_track(); - if (_currentlyShowingBrakeSpeed == 0) { - _currentTrackBankEnd = TRACK_BANK_LEFT; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - } - break; - case WIDX_BANK_STRAIGHT: - ride_construction_invalidate_current_track(); - if (_currentlyShowingBrakeSpeed == 0) { - _currentTrackBankEnd = TRACK_BANK_NONE; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - } else { - uint8 *brakesSpeedPtr = &_currentBrakeSpeed2; - uint8 maxBrakesSpeed = 30; - if (_currentlyShowingBrakeSpeed != 1) { - brakesSpeedPtr = &_currentBrakeSpeed; - maxBrakesSpeed = RideProperties[ride->type].max_brakes_speed; - } - uint8 brakesSpeed = *brakesSpeedPtr + 2; - if (brakesSpeed <= maxBrakesSpeed) { - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { - ride_construction_set_brakes_speed(brakesSpeed); - } else { - *brakesSpeedPtr = brakesSpeed; - window_ride_construction_update_active_elements(); - } - } - } - break; - case WIDX_BANK_RIGHT: - ride_construction_invalidate_current_track(); - if (_currentlyShowingBrakeSpeed == 0) { - _currentTrackBankEnd = TRACK_BANK_RIGHT; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - } else { - uint8 *brakesSpeedPtr = &_currentBrakeSpeed2; - if (_currentlyShowingBrakeSpeed != 1) { - brakesSpeedPtr = &_currentBrakeSpeed; - } - uint8 brakesSpeed = *brakesSpeedPtr - 2; - if (brakesSpeed >= 2) { - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { - ride_construction_set_brakes_speed(brakesSpeed); - } else { - *brakesSpeedPtr = brakesSpeed; - window_ride_construction_update_active_elements(); - } - } - } - break; - case WIDX_SPECIAL_TRACK_DROPDOWN: - window_ride_construction_show_special_track_dropdown(w, widget); - break; - case WIDX_U_TRACK: - ride_construction_invalidate_current_track(); - _currentTrackAlternative &= ~RIDE_TYPE_ALTERNATIVE_TRACK_PIECES; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - case WIDX_O_TRACK: - ride_construction_invalidate_current_track(); - _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_PIECES; - _currentTrackLiftHill &= ~1; - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); - break; - case WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP: - if (_currentSeatRotationAngle < 15) { - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { - ride_selected_track_set_seat_rotation(_currentSeatRotationAngle + 1); - } else { - _currentSeatRotationAngle++; - window_ride_construction_update_active_elements(); - } - } - break; - case WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN: - if (_currentSeatRotationAngle > 0) { - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { - ride_selected_track_set_seat_rotation(_currentSeatRotationAngle - 1); - } else { - _currentSeatRotationAngle--; - window_ride_construction_update_active_elements(); - } - } - break; - } + window_ride_construction_update_enabled_track_pieces(); + switch (widgetIndex) { + case WIDX_LEFT_CURVE: + ride_construction_invalidate_current_track(); + _currentTrackCurve = TRACK_CURVE_LEFT; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + case WIDX_RIGHT_CURVE: + ride_construction_invalidate_current_track(); + _currentTrackCurve = TRACK_CURVE_RIGHT; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + case WIDX_LEFT_CURVE_SMALL: + ride_construction_invalidate_current_track(); + _currentTrackCurve = TRACK_CURVE_LEFT_SMALL; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + case WIDX_RIGHT_CURVE_SMALL: + ride_construction_invalidate_current_track(); + _currentTrackCurve = TRACK_CURVE_RIGHT_SMALL; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + case WIDX_LEFT_CURVE_VERY_SMALL: + ride_construction_invalidate_current_track(); + _currentTrackCurve = TRACK_CURVE_LEFT_VERY_SMALL; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + case WIDX_RIGHT_CURVE_VERY_SMALL: + ride_construction_invalidate_current_track(); + _currentTrackCurve = TRACK_CURVE_RIGHT_VERY_SMALL; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + case WIDX_LEFT_CURVE_LARGE: + ride_construction_invalidate_current_track(); + _currentTrackCurve = TRACK_CURVE_LEFT_LARGE; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + case WIDX_RIGHT_CURVE_LARGE: + ride_construction_invalidate_current_track(); + _currentTrackCurve = TRACK_CURVE_RIGHT_LARGE; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + case WIDX_STRAIGHT: + ride_construction_invalidate_current_track(); + if (_currentTrackCurve != TRACK_CURVE_NONE) + _currentTrackBankEnd = TRACK_BANK_NONE; + _currentTrackCurve = TRACK_CURVE_NONE; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + case WIDX_SLOPE_DOWN_STEEP: + ride_construction_invalidate_current_track(); + if (is_track_enabled(TRACK_HELIX_SMALL)) { + if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT) { + _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT) { + _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } else if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL && _currentTrackBankEnd == TRACK_BANK_LEFT) { + _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } else if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL && _currentTrackBankEnd == TRACK_BANK_RIGHT) { + _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } + } + if (is_track_enabled(TRACK_HELIX_LARGE)) { + if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT) { + _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT) { + _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } + } + if (is_track_enabled(TRACK_HELIX_LARGE_UNBANKED)) { + if (_currentTrackBankEnd == TRACK_BANK_NONE) { + if (_currentTrackCurve == TRACK_CURVE_LEFT) { + _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } else if (_currentTrackCurve == TRACK_CURVE_RIGHT) { + _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } + } + } + if (w->widgets[WIDX_SLOPE_DOWN_STEEP].tooltip == STR_RIDE_CONSTRUCTION_STEEP_SLOPE_DOWN_TIP) { + loc_6C7502(8); + } else { + loc_6C7502(10); + } + break; + case WIDX_SLOPE_DOWN: + ride_construction_invalidate_current_track(); + if (_rideConstructionState == 2 && _currentTrackBankEnd != TRACK_BANK_NONE) { + _currentTrackBankEnd = TRACK_BANK_NONE; + } + loc_6C7502(6); + break; + case WIDX_LEVEL: + ride_construction_invalidate_current_track(); + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT && _previousTrackSlopeEnd == 6) { + if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL) { + _currentTrackBankEnd = TRACK_BANK_LEFT; + } else if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL) { + _currentTrackBankEnd = TRACK_BANK_RIGHT; + } + } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK && _previousTrackSlopeEnd == 2) { + if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL) { + _currentTrackBankEnd = TRACK_BANK_LEFT; + } else if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL) { + _currentTrackBankEnd = TRACK_BANK_RIGHT; + } + } + loc_6C7502(0); + break; + case WIDX_SLOPE_UP: + ride_construction_invalidate_current_track(); + if (_rideConstructionState == 1 && _currentTrackBankEnd != TRACK_BANK_NONE) { + _currentTrackBankEnd = TRACK_BANK_NONE; + } + if (ride->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER || ride->type == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) { + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT && _currentTrackCurve == TRACK_CURVE_NONE) { + _currentTrackCurve = TRACK_ELEM_REVERSE_FREEFALL_SLOPE | 0x100; + window_ride_construction_update_active_elements(); + } + } else { + loc_6C7502(2); + } + break; + case WIDX_SLOPE_UP_STEEP: + ride_construction_invalidate_current_track(); + if (is_track_enabled(TRACK_HELIX_SMALL)) { + if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT) { + _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT) { + _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } else if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL && _currentTrackBankEnd == TRACK_BANK_LEFT) { + _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } else if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL && _currentTrackBankEnd == TRACK_BANK_RIGHT) { + _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } + } + if (is_track_enabled(TRACK_HELIX_LARGE)) { + if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT) { + _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT) { + _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } + } + if (is_track_enabled(TRACK_HELIX_LARGE_UNBANKED)) { + if (_currentTrackBankEnd == TRACK_BANK_NONE) { + if (_currentTrackCurve == TRACK_CURVE_LEFT) { + _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } else if (_currentTrackCurve == TRACK_CURVE_RIGHT) { + _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP | 0x100; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + } + } + } + if (w->widgets[WIDX_SLOPE_UP_STEEP].tooltip == STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP) { + loc_6C7502(4); + } else { + loc_6C7502(18); + } + break; + case WIDX_CHAIN_LIFT: + ride_construction_invalidate_current_track(); + _currentTrackLiftHill ^= 1; + if (_currentTrackLiftHill & 1) { + _currentTrackAlternative &= ~RIDE_TYPE_ALTERNATIVE_TRACK_PIECES; + } + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + case WIDX_BANK_LEFT: + ride_construction_invalidate_current_track(); + if (_currentlyShowingBrakeSpeed == 0) { + _currentTrackBankEnd = TRACK_BANK_LEFT; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + } + break; + case WIDX_BANK_STRAIGHT: + ride_construction_invalidate_current_track(); + if (_currentlyShowingBrakeSpeed == 0) { + _currentTrackBankEnd = TRACK_BANK_NONE; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + } else { + uint8 *brakesSpeedPtr = &_currentBrakeSpeed2; + uint8 maxBrakesSpeed = 30; + if (_currentlyShowingBrakeSpeed != 1) { + brakesSpeedPtr = &_currentBrakeSpeed; + maxBrakesSpeed = RideProperties[ride->type].max_brakes_speed; + } + uint8 brakesSpeed = *brakesSpeedPtr + 2; + if (brakesSpeed <= maxBrakesSpeed) { + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { + ride_construction_set_brakes_speed(brakesSpeed); + } else { + *brakesSpeedPtr = brakesSpeed; + window_ride_construction_update_active_elements(); + } + } + } + break; + case WIDX_BANK_RIGHT: + ride_construction_invalidate_current_track(); + if (_currentlyShowingBrakeSpeed == 0) { + _currentTrackBankEnd = TRACK_BANK_RIGHT; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + } else { + uint8 *brakesSpeedPtr = &_currentBrakeSpeed2; + if (_currentlyShowingBrakeSpeed != 1) { + brakesSpeedPtr = &_currentBrakeSpeed; + } + uint8 brakesSpeed = *brakesSpeedPtr - 2; + if (brakesSpeed >= 2) { + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { + ride_construction_set_brakes_speed(brakesSpeed); + } else { + *brakesSpeedPtr = brakesSpeed; + window_ride_construction_update_active_elements(); + } + } + } + break; + case WIDX_SPECIAL_TRACK_DROPDOWN: + window_ride_construction_show_special_track_dropdown(w, widget); + break; + case WIDX_U_TRACK: + ride_construction_invalidate_current_track(); + _currentTrackAlternative &= ~RIDE_TYPE_ALTERNATIVE_TRACK_PIECES; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + case WIDX_O_TRACK: + ride_construction_invalidate_current_track(); + _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_PIECES; + _currentTrackLiftHill &= ~1; + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); + break; + case WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP: + if (_currentSeatRotationAngle < 15) { + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { + ride_selected_track_set_seat_rotation(_currentSeatRotationAngle + 1); + } else { + _currentSeatRotationAngle++; + window_ride_construction_update_active_elements(); + } + } + break; + case WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN: + if (_currentSeatRotationAngle > 0) { + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { + ride_selected_track_set_seat_rotation(_currentSeatRotationAngle - 1); + } else { + _currentSeatRotationAngle--; + window_ride_construction_update_active_elements(); + } + } + break; + } } /** @@ -1628,28 +1628,28 @@ static void window_ride_construction_mousedown(rct_widgetindex widgetIndex, rct_ */ static void window_ride_construction_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex != WIDX_SPECIAL_TRACK_DROPDOWN) - return; - if (dropdownIndex == -1) - return; + if (widgetIndex != WIDX_SPECIAL_TRACK_DROPDOWN) + return; + if (dropdownIndex == -1) + return; - ride_construction_invalidate_current_track(); - _currentTrackPrice = MONEY32_UNDEFINED; - sint32 trackPiece = _currentPossibleRideConfigurations[dropdownIndex]; - switch (trackPiece) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_S_BEND_LEFT: - case TRACK_ELEM_S_BEND_RIGHT: - _currentTrackSlopeEnd = 0; - break; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - _currentTrackBankEnd = TRACK_BANK_NONE; - _currentTrackLiftHill &= ~1; - break; - } - _currentTrackCurve = trackPiece | 0x100; - window_ride_construction_update_active_elements(); + ride_construction_invalidate_current_track(); + _currentTrackPrice = MONEY32_UNDEFINED; + sint32 trackPiece = _currentPossibleRideConfigurations[dropdownIndex]; + switch (trackPiece) { + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_S_BEND_LEFT: + case TRACK_ELEM_S_BEND_RIGHT: + _currentTrackSlopeEnd = 0; + break; + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + _currentTrackBankEnd = TRACK_BANK_NONE; + _currentTrackLiftHill &= ~1; + break; + } + _currentTrackCurve = trackPiece | 0x100; + window_ride_construction_update_active_elements(); } /** @@ -1658,116 +1658,116 @@ static void window_ride_construction_dropdown(rct_window *w, rct_widgetindex wid */ static void window_ride_construction_construct(rct_window *w) { - sint32 trackType, trackDirection, rideIndex, edxRS16, x, y, z, properties; - track_begin_end trackBeginEnd; + sint32 trackType, trackDirection, rideIndex, edxRS16, x, y, z, properties; + track_begin_end trackBeginEnd; - _currentTrackPrice = MONEY32_UNDEFINED; - _trackPlaceCost = MONEY32_UNDEFINED; - ride_construction_invalidate_current_track(); - if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, &x, &y, &z, &properties)) { - window_ride_construction_update_active_elements(); - return; - } + _currentTrackPrice = MONEY32_UNDEFINED; + _trackPlaceCost = MONEY32_UNDEFINED; + ride_construction_invalidate_current_track(); + if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, &x, &y, &z, &properties)) { + window_ride_construction_update_active_elements(); + return; + } - // If client, then we can't update 'next piece selection' code until server sends back command - if (network_get_mode() == NETWORK_MODE_CLIENT) { - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { - game_command_callback = game_command_callback_ride_construct_placed_back; - } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { - game_command_callback = game_command_callback_ride_construct_placed_front; - } - } + // If client, then we can't update 'next piece selection' code until server sends back command + if (network_get_mode() == NETWORK_MODE_CLIENT) { + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { + game_command_callback = game_command_callback_ride_construct_placed_back; + } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { + game_command_callback = game_command_callback_ride_construct_placed_front; + } + } - gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; - _trackPlaceCost = game_do_command( - x, - (GAME_COMMAND_FLAG_APPLY) | (trackDirection << 8), - y, - rideIndex | (trackType << 8) | (edxRS16 << 16), - GAME_COMMAND_PLACE_TRACK, - z | (properties << 16), - 0 - ); - if (_trackPlaceCost == MONEY32_UNDEFINED) { - if (network_get_mode() == NETWORK_MODE_CLIENT) - game_command_callback = 0; // don't do callback if we can't afford the track piece - window_ride_construction_update_active_elements(); - return; - } + gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; + _trackPlaceCost = game_do_command( + x, + (GAME_COMMAND_FLAG_APPLY) | (trackDirection << 8), + y, + rideIndex | (trackType << 8) | (edxRS16 << 16), + GAME_COMMAND_PLACE_TRACK, + z | (properties << 16), + 0 + ); + if (_trackPlaceCost == MONEY32_UNDEFINED) { + if (network_get_mode() == NETWORK_MODE_CLIENT) + game_command_callback = 0; // don't do callback if we can't afford the track piece + window_ride_construction_update_active_elements(); + return; + } - audio_play_sound_at_location(SOUND_PLACE_ITEM, x, y, z); + audio_play_sound_at_location(SOUND_PLACE_ITEM, x, y, z); - if (gTrackGroundFlags & TRACK_ELEMENT_LOCATION_IS_UNDERGROUND) { - viewport_set_visibility(1); - } + if (gTrackGroundFlags & TRACK_ELEMENT_LOCATION_IS_UNDERGROUND) { + viewport_set_visibility(1); + } - if ( - (_currentTrackCurve >= (TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL | 0x100) && _currentTrackCurve <= (TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE | 0x100)) || - (_currentTrackCurve >= (TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP | 0x100) && _currentTrackCurve <= (TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN | 0x100)) || - (_currentTrackSlopeEnd != TRACK_SLOPE_NONE) - ) { - viewport_set_visibility(2); - } + if ( + (_currentTrackCurve >= (TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL | 0x100) && _currentTrackCurve <= (TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE | 0x100)) || + (_currentTrackCurve >= (TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP | 0x100) && _currentTrackCurve <= (TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN | 0x100)) || + (_currentTrackSlopeEnd != TRACK_SLOPE_NONE) + ) { + viewport_set_visibility(2); + } - // *************** - // NOTE: the rest of this function (minus the network condition) is copied to game_command_callback_ride_construct_placed_front/back - // Please update both ends if there are any changes here - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { - trackDirection = _currentTrackPieceDirection ^ 2; - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - if (!(trackDirection & 4)) { - x += TileDirectionDelta[trackDirection].x; - y += TileDirectionDelta[trackDirection].y; - } + // *************** + // NOTE: the rest of this function (minus the network condition) is copied to game_command_callback_ride_construct_placed_front/back + // Please update both ends if there are any changes here + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { + trackDirection = _currentTrackPieceDirection ^ 2; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + if (!(trackDirection & 4)) { + x += TileDirectionDelta[trackDirection].x; + y += TileDirectionDelta[trackDirection].y; + } - if (track_block_get_previous_from_zero(x, y, z, _currentRideIndex, trackDirection, &trackBeginEnd)) { - _currentTrackBeginX = trackBeginEnd.begin_x; - _currentTrackBeginY = trackBeginEnd.begin_y; - _currentTrackBeginZ = trackBeginEnd.begin_z; - _currentTrackPieceDirection = trackBeginEnd.begin_direction; - _currentTrackPieceType = trackBeginEnd.begin_element->properties.track.type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; - ride_select_previous_section(); - } else { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; - } - } else { - trackDirection = _currentTrackPieceDirection; - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - if (!(trackDirection & 4)) { - x -= TileDirectionDelta[trackDirection].x; - y -= TileDirectionDelta[trackDirection].y; - } + if (track_block_get_previous_from_zero(x, y, z, _currentRideIndex, trackDirection, &trackBeginEnd)) { + _currentTrackBeginX = trackBeginEnd.begin_x; + _currentTrackBeginY = trackBeginEnd.begin_y; + _currentTrackBeginZ = trackBeginEnd.begin_z; + _currentTrackPieceDirection = trackBeginEnd.begin_direction; + _currentTrackPieceType = trackBeginEnd.begin_element->properties.track.type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; + ride_select_previous_section(); + } else { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; + } + } else { + trackDirection = _currentTrackPieceDirection; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + if (!(trackDirection & 4)) { + x -= TileDirectionDelta[trackDirection].x; + y -= TileDirectionDelta[trackDirection].y; + } - rct_xy_element next_track; - if (track_block_get_next_from_zero(x, y, z, _currentRideIndex, trackDirection, &next_track, &z, &trackDirection)) { - _currentTrackBeginX = next_track.x; - _currentTrackBeginY = next_track.y; - _currentTrackBeginZ = z; - _currentTrackPieceDirection = next_track.element->type & MAP_ELEMENT_DIRECTION_MASK; - _currentTrackPieceType = next_track.element->properties.track.type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; - ride_select_next_section(); - } else { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; - } - } + rct_xy_element next_track; + if (track_block_get_next_from_zero(x, y, z, _currentRideIndex, trackDirection, &next_track, &z, &trackDirection)) { + _currentTrackBeginX = next_track.x; + _currentTrackBeginY = next_track.y; + _currentTrackBeginZ = z; + _currentTrackPieceDirection = next_track.element->type & MAP_ELEMENT_DIRECTION_MASK; + _currentTrackPieceType = next_track.element->properties.track.type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; + ride_select_next_section(); + } else { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; + } + } - window_ride_construction_do_station_check(); + window_ride_construction_do_station_check(); - // returning early here makes it so that the construction window doesn't blink - if (network_get_mode() == NETWORK_MODE_CLIENT) - return; + // returning early here makes it so that the construction window doesn't blink + if (network_get_mode() == NETWORK_MODE_CLIENT) + return; - window_ride_construction_update_active_elements(); + window_ride_construction_update_active_elements(); } /** @@ -1776,169 +1776,169 @@ static void window_ride_construction_construct(rct_window *w) */ static void window_ride_construction_mouseup_demolish(rct_window* w) { - sint32 x, y, z, direction, type; - rct_map_element *mapElement; - rct_xy_element inputElement, outputElement; - track_begin_end trackBeginEnd; - //bool gotoStartPlacementMode; + sint32 x, y, z, direction, type; + rct_map_element *mapElement; + rct_xy_element inputElement, outputElement; + track_begin_end trackBeginEnd; + //bool gotoStartPlacementMode; - _currentTrackPrice = MONEY32_UNDEFINED; - ride_construction_invalidate_current_track(); + _currentTrackPrice = MONEY32_UNDEFINED; + ride_construction_invalidate_current_track(); - // Select the track element that is to be deleted - _rideConstructionState2 = RIDE_CONSTRUCTION_STATE_SELECTED; - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { - if (!ride_select_backwards_from_front()) { - window_ride_construction_update_active_elements(); - return; - } - _rideConstructionState2 = RIDE_CONSTRUCTION_STATE_FRONT; - } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { - if (!ride_select_forwards_from_back()) { - window_ride_construction_update_active_elements(); - return; - } - _rideConstructionState2 = RIDE_CONSTRUCTION_STATE_BACK; - } + // Select the track element that is to be deleted + _rideConstructionState2 = RIDE_CONSTRUCTION_STATE_SELECTED; + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { + if (!ride_select_backwards_from_front()) { + window_ride_construction_update_active_elements(); + return; + } + _rideConstructionState2 = RIDE_CONSTRUCTION_STATE_FRONT; + } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { + if (!ride_select_forwards_from_back()) { + window_ride_construction_update_active_elements(); + return; + } + _rideConstructionState2 = RIDE_CONSTRUCTION_STATE_BACK; + } - // Invalidate the selected track element or make sure it's at origin??? - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - direction = _currentTrackPieceDirection; - type = _currentTrackPieceType; - if (sub_6C683D(&x, &y, &z, direction & 3, type, 0, &mapElement, 0)) { - window_ride_construction_update_active_elements(); - return; - } + // Invalidate the selected track element or make sure it's at origin??? + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + direction = _currentTrackPieceDirection; + type = _currentTrackPieceType; + if (sub_6C683D(&x, &y, &z, direction & 3, type, 0, &mapElement, 0)) { + window_ride_construction_update_active_elements(); + return; + } - // Get the previous track element to go to after the selected track element is deleted - inputElement.x = x; - inputElement.y = y; - inputElement.element = mapElement; - if (track_block_get_previous(x, y, mapElement, &trackBeginEnd)) { - x = trackBeginEnd.begin_x; - y = trackBeginEnd.begin_y; - z = trackBeginEnd.begin_z; - direction = trackBeginEnd.begin_direction; - type = trackBeginEnd.begin_element->properties.track.type; - gGotoStartPlacementMode = false; - } - else if (track_block_get_next(&inputElement, &outputElement, &z, &direction)) { - x = outputElement.x; - y = outputElement.y; - direction = outputElement.element->type & MAP_ELEMENT_DIRECTION_MASK; - type = outputElement.element->properties.track.type; - gGotoStartPlacementMode = false; - } else { - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - direction = _currentTrackPieceDirection; - type = _currentTrackPieceType; + // Get the previous track element to go to after the selected track element is deleted + inputElement.x = x; + inputElement.y = y; + inputElement.element = mapElement; + if (track_block_get_previous(x, y, mapElement, &trackBeginEnd)) { + x = trackBeginEnd.begin_x; + y = trackBeginEnd.begin_y; + z = trackBeginEnd.begin_z; + direction = trackBeginEnd.begin_direction; + type = trackBeginEnd.begin_element->properties.track.type; + gGotoStartPlacementMode = false; + } + else if (track_block_get_next(&inputElement, &outputElement, &z, &direction)) { + x = outputElement.x; + y = outputElement.y; + direction = outputElement.element->type & MAP_ELEMENT_DIRECTION_MASK; + type = outputElement.element->properties.track.type; + gGotoStartPlacementMode = false; + } else { + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + direction = _currentTrackPieceDirection; + type = _currentTrackPieceType; - if (sub_6C683D(&x, &y, &z, direction, type, 0, &mapElement, 0)) { - window_ride_construction_update_active_elements(); - return; - } + if (sub_6C683D(&x, &y, &z, direction, type, 0, &mapElement, 0)) { + window_ride_construction_update_active_elements(); + return; + } - const rct_preview_track *trackBlock = get_track_def_from_ride_index(_currentRideIndex, mapElement->properties.track.type); - z = (mapElement->base_height * 8) - trackBlock->z; - gGotoStartPlacementMode = true; - } + const rct_preview_track *trackBlock = get_track_def_from_ride_index(_currentRideIndex, mapElement->properties.track.type); + z = (mapElement->base_height * 8) - trackBlock->z; + gGotoStartPlacementMode = true; + } - money32 cost = ride_remove_track_piece( - _currentTrackBeginX, - _currentTrackBeginY, - _currentTrackBeginZ, - _currentTrackPieceDirection, - _currentTrackPieceType, - GAME_COMMAND_FLAG_APPLY - ); - if (cost == MONEY32_UNDEFINED) { - window_ride_construction_update_active_elements(); - return; - } + money32 cost = ride_remove_track_piece( + _currentTrackBeginX, + _currentTrackBeginY, + _currentTrackBeginZ, + _currentTrackPieceDirection, + _currentTrackPieceType, + GAME_COMMAND_FLAG_APPLY + ); + if (cost == MONEY32_UNDEFINED) { + window_ride_construction_update_active_elements(); + return; + } - _stationConstructed = get_ride(w->number)->num_stations != 0; + _stationConstructed = get_ride(w->number)->num_stations != 0; - if (network_get_mode() == NETWORK_MODE_CLIENT) { - gRideRemoveTrackPieceCallbackX = x; - gRideRemoveTrackPieceCallbackY = y; - gRideRemoveTrackPieceCallbackZ = z; - gRideRemoveTrackPieceCallbackDirection = direction; - gRideRemoveTrackPieceCallbackType = type; - } else { - window_ride_construction_mouseup_demolish_next_piece(x, y, z, direction, type); - } + if (network_get_mode() == NETWORK_MODE_CLIENT) { + gRideRemoveTrackPieceCallbackX = x; + gRideRemoveTrackPieceCallbackY = y; + gRideRemoveTrackPieceCallbackZ = z; + gRideRemoveTrackPieceCallbackDirection = direction; + gRideRemoveTrackPieceCallbackType = type; + } else { + window_ride_construction_mouseup_demolish_next_piece(x, y, z, direction, type); + } } void window_ride_construction_mouseup_demolish_next_piece(sint32 x, sint32 y, sint32 z, sint32 direction, sint32 type) { - if (gGotoStartPlacementMode) { - z &= 0xFFF0; - _currentTrackBeginZ = z; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_FRONT; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - direction = _currentTrackPieceDirection; - sint32 slope = _currentTrackCurve; - sint32 slopeEnd = _previousTrackSlopeEnd; - sint32 b2 = _currentTrackSlopeEnd; - sint32 bankEnd = _previousTrackBankEnd; - sint32 bankStart = _currentTrackBankEnd; - sint32 b5 = _currentTrackAlternative; - sint32 b4 = _currentTrackLiftHill; - ride_construction_set_default_next_piece(); - window_ride_construction_update_active_elements(); - if (!ride_try_get_origin_element(_currentRideIndex, NULL)) { - ride_initialise_construction_window(_currentRideIndex); - _currentTrackPieceDirection = direction; - if (!(slope & 0x100)) { - _currentTrackCurve = slope; - _previousTrackSlopeEnd = slopeEnd; - _currentTrackSlopeEnd = b2; - _previousTrackBankEnd = bankEnd; - _currentTrackBankEnd = bankStart; - _currentTrackAlternative = b5; - _currentTrackLiftHill = b4; - window_ride_construction_update_active_elements(); - } - } - } - else { - if (_rideConstructionState2 == RIDE_CONSTRUCTION_STATE_SELECTED || - _rideConstructionState2 == RIDE_CONSTRUCTION_STATE_FRONT - ) { - if (type == TRACK_ELEM_MIDDLE_STATION || type == TRACK_ELEM_BEGIN_STATION) { - type = TRACK_ELEM_END_STATION; - } - } - if (_rideConstructionState2 == RIDE_CONSTRUCTION_STATE_BACK) { - if (type == TRACK_ELEM_MIDDLE_STATION) { - type = TRACK_ELEM_BEGIN_STATION; - } - } - if (network_get_mode() == NETWORK_MODE_CLIENT) - { - // rideConstructionState needs to be set again to the proper value, this only affects the client - _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; - } - _currentTrackBeginX = x; - _currentTrackBeginY = y; - _currentTrackBeginZ = z; - _currentTrackPieceDirection = direction; - _currentTrackPieceType = type; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - if (_rideConstructionState2 == RIDE_CONSTRUCTION_STATE_FRONT) { - ride_select_next_section(); - } - else if (_rideConstructionState2 == RIDE_CONSTRUCTION_STATE_BACK) { - ride_select_previous_section(); - } - window_ride_construction_update_active_elements(); - } + if (gGotoStartPlacementMode) { + z &= 0xFFF0; + _currentTrackBeginZ = z; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_FRONT; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + direction = _currentTrackPieceDirection; + sint32 slope = _currentTrackCurve; + sint32 slopeEnd = _previousTrackSlopeEnd; + sint32 b2 = _currentTrackSlopeEnd; + sint32 bankEnd = _previousTrackBankEnd; + sint32 bankStart = _currentTrackBankEnd; + sint32 b5 = _currentTrackAlternative; + sint32 b4 = _currentTrackLiftHill; + ride_construction_set_default_next_piece(); + window_ride_construction_update_active_elements(); + if (!ride_try_get_origin_element(_currentRideIndex, NULL)) { + ride_initialise_construction_window(_currentRideIndex); + _currentTrackPieceDirection = direction; + if (!(slope & 0x100)) { + _currentTrackCurve = slope; + _previousTrackSlopeEnd = slopeEnd; + _currentTrackSlopeEnd = b2; + _previousTrackBankEnd = bankEnd; + _currentTrackBankEnd = bankStart; + _currentTrackAlternative = b5; + _currentTrackLiftHill = b4; + window_ride_construction_update_active_elements(); + } + } + } + else { + if (_rideConstructionState2 == RIDE_CONSTRUCTION_STATE_SELECTED || + _rideConstructionState2 == RIDE_CONSTRUCTION_STATE_FRONT + ) { + if (type == TRACK_ELEM_MIDDLE_STATION || type == TRACK_ELEM_BEGIN_STATION) { + type = TRACK_ELEM_END_STATION; + } + } + if (_rideConstructionState2 == RIDE_CONSTRUCTION_STATE_BACK) { + if (type == TRACK_ELEM_MIDDLE_STATION) { + type = TRACK_ELEM_BEGIN_STATION; + } + } + if (network_get_mode() == NETWORK_MODE_CLIENT) + { + // rideConstructionState needs to be set again to the proper value, this only affects the client + _rideConstructionState = RIDE_CONSTRUCTION_STATE_SELECTED; + } + _currentTrackBeginX = x; + _currentTrackBeginY = y; + _currentTrackBeginZ = z; + _currentTrackPieceDirection = direction; + _currentTrackPieceType = type; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + if (_rideConstructionState2 == RIDE_CONSTRUCTION_STATE_FRONT) { + ride_select_next_section(); + } + else if (_rideConstructionState2 == RIDE_CONSTRUCTION_STATE_BACK) { + ride_select_previous_section(); + } + window_ride_construction_update_active_elements(); + } } /** @@ -1947,10 +1947,10 @@ void window_ride_construction_mouseup_demolish_next_piece(sint32 x, sint32 y, si */ static void window_ride_construction_rotate(rct_window *w) { - _currentTrackPieceDirection = (_currentTrackPieceDirection + 1) & 3; - ride_construction_invalidate_current_track(); - _currentTrackPrice = MONEY32_UNDEFINED; - window_ride_construction_update_active_elements(); + _currentTrackPieceDirection = (_currentTrackPieceDirection + 1) & 3; + ride_construction_invalidate_current_track(); + _currentTrackPrice = MONEY32_UNDEFINED; + window_ride_construction_update_active_elements(); } /** @@ -1959,22 +1959,22 @@ static void window_ride_construction_rotate(rct_window *w) */ static void window_ride_construction_entrance_click(rct_window *w) { - if (tool_set(w, WIDX_ENTRANCE, TOOL_CROSSHAIR)) { - if (!ride_try_get_origin_element(_currentRideIndex, NULL)) { - ride_initialise_construction_window(_currentRideIndex); - } - } else { - gRideEntranceExitPlaceType = ENTRANCE_TYPE_RIDE_ENTRANCE; - gRideEntranceExitPlaceRideIndex = w->number & 0xFF; - gRideEntranceExitPlaceStationIndex = 0; - input_set_flag(INPUT_FLAG_6, true); - ride_construction_invalidate_current_track(); - if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT) { - gRideEntranceExitPlacePreviousRideConstructionState = _rideConstructionState; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT; - } - window_ride_construction_update_active_elements(); - } + if (tool_set(w, WIDX_ENTRANCE, TOOL_CROSSHAIR)) { + if (!ride_try_get_origin_element(_currentRideIndex, NULL)) { + ride_initialise_construction_window(_currentRideIndex); + } + } else { + gRideEntranceExitPlaceType = ENTRANCE_TYPE_RIDE_ENTRANCE; + gRideEntranceExitPlaceRideIndex = w->number & 0xFF; + gRideEntranceExitPlaceStationIndex = 0; + input_set_flag(INPUT_FLAG_6, true); + ride_construction_invalidate_current_track(); + if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT) { + gRideEntranceExitPlacePreviousRideConstructionState = _rideConstructionState; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT; + } + window_ride_construction_update_active_elements(); + } } /** @@ -1983,22 +1983,22 @@ static void window_ride_construction_entrance_click(rct_window *w) */ static void window_ride_construction_exit_click(rct_window *w) { - if (tool_set(w, WIDX_EXIT, TOOL_CROSSHAIR)) { - if (!ride_try_get_origin_element(_currentRideIndex, NULL)) { - ride_initialise_construction_window(_currentRideIndex); - } - } else { - gRideEntranceExitPlaceType = ENTRANCE_TYPE_RIDE_EXIT; - gRideEntranceExitPlaceRideIndex = w->number & 0xFF; - gRideEntranceExitPlaceStationIndex = 0; - input_set_flag(INPUT_FLAG_6, true); - ride_construction_invalidate_current_track(); - if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT) { - gRideEntranceExitPlacePreviousRideConstructionState = _rideConstructionState; - _rideConstructionState = RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT; - } - window_ride_construction_update_active_elements(); - } + if (tool_set(w, WIDX_EXIT, TOOL_CROSSHAIR)) { + if (!ride_try_get_origin_element(_currentRideIndex, NULL)) { + ride_initialise_construction_window(_currentRideIndex); + } + } else { + gRideEntranceExitPlaceType = ENTRANCE_TYPE_RIDE_EXIT; + gRideEntranceExitPlaceRideIndex = w->number & 0xFF; + gRideEntranceExitPlaceStationIndex = 0; + input_set_flag(INPUT_FLAG_6, true); + ride_construction_invalidate_current_track(); + if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT) { + gRideEntranceExitPlacePreviousRideConstructionState = _rideConstructionState; + _rideConstructionState = RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT; + } + window_ride_construction_update_active_elements(); + } } /** @@ -2007,52 +2007,52 @@ static void window_ride_construction_exit_click(rct_window *w) */ static void window_ride_construction_update(rct_window *w) { - rct_ride *ride = get_ride(_currentRideIndex); + rct_ride *ride = get_ride(_currentRideIndex); - // Close construction window if ride is not closed, - // editing ride while open will cause many issues until properly handled - if (ride->status != RIDE_STATUS_CLOSED) { - window_close(w); - return; - } + // Close construction window if ride is not closed, + // editing ride while open will cause many issues until properly handled + if (ride->status != RIDE_STATUS_CLOSED) { + window_close(w); + return; + } - switch (_currentTrackCurve) { - case TRACK_ELEM_SPINNING_TUNNEL | 0x100: - case TRACK_ELEM_WHIRLPOOL | 0x100: - case TRACK_ELEM_RAPIDS | 0x100: - case TRACK_ELEM_WATERFALL | 0x100: - widget_invalidate(w, WIDX_CONSTRUCT); - break; - } + switch (_currentTrackCurve) { + case TRACK_ELEM_SPINNING_TUNNEL | 0x100: + case TRACK_ELEM_WHIRLPOOL | 0x100: + case TRACK_ELEM_RAPIDS | 0x100: + case TRACK_ELEM_WATERFALL | 0x100: + widget_invalidate(w, WIDX_CONSTRUCT); + break; + } - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_PLACE) { - if (!widget_is_active_tool(w, WIDX_CONSTRUCT)) { - window_close(w); - return; - } - } + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_PLACE) { + if (!widget_is_active_tool(w, WIDX_CONSTRUCT)) { + window_close(w); + return; + } + } - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT) { - if (!widget_is_active_tool(w, WIDX_ENTRANCE) && !widget_is_active_tool(w, WIDX_EXIT)) { - _rideConstructionState = gRideEntranceExitPlacePreviousRideConstructionState; - window_ride_construction_update_active_elements(); - } - } + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT) { + if (!widget_is_active_tool(w, WIDX_ENTRANCE) && !widget_is_active_tool(w, WIDX_EXIT)) { + _rideConstructionState = gRideEntranceExitPlacePreviousRideConstructionState; + window_ride_construction_update_active_elements(); + } + } - switch (_rideConstructionState) { - case RIDE_CONSTRUCTION_STATE_FRONT: - case RIDE_CONSTRUCTION_STATE_BACK: - case RIDE_CONSTRUCTION_STATE_SELECTED: - if ( - (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && - gCurrentToolWidget.window_classification == WC_RIDE_CONSTRUCTION - ) { - tool_cancel(); - } - break; - } + switch (_rideConstructionState) { + case RIDE_CONSTRUCTION_STATE_FRONT: + case RIDE_CONSTRUCTION_STATE_BACK: + case RIDE_CONSTRUCTION_STATE_SELECTED: + if ( + (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && + gCurrentToolWidget.window_classification == WC_RIDE_CONSTRUCTION + ) { + tool_cancel(); + } + break; + } - sub_6C94D8(); + sub_6C94D8(); } /** @@ -2061,70 +2061,70 @@ static void window_ride_construction_update(rct_window *w) */ static bool ride_get_place_position_from_screen_position(sint32 screenX, sint32 screenY, sint32 *outX, sint32 *outY) { - sint16 mapX, mapY, mapZ; - sint32 interactionType, direction; - rct_map_element *mapElement; - rct_viewport *viewport; + sint16 mapX, mapY, mapZ; + sint32 interactionType, direction; + rct_map_element *mapElement; + rct_viewport *viewport; - if (!_trackPlaceCtrlState) { - if (gInputPlaceObjectModifier & PLACE_OBJECT_MODIFIER_COPY_Z) { - get_map_coordinates_from_pos(screenX, screenY, 0xFCCA, &mapX, &mapY, &interactionType, &mapElement, &viewport); - if (interactionType != 0) { - _trackPlaceCtrlZ = mapElement->base_height * 8; - _trackPlaceCtrlState = true; - } - } - } else { - if (!(gInputPlaceObjectModifier & PLACE_OBJECT_MODIFIER_COPY_Z)) { - _trackPlaceCtrlState = false; - } - } + if (!_trackPlaceCtrlState) { + if (gInputPlaceObjectModifier & PLACE_OBJECT_MODIFIER_COPY_Z) { + get_map_coordinates_from_pos(screenX, screenY, 0xFCCA, &mapX, &mapY, &interactionType, &mapElement, &viewport); + if (interactionType != 0) { + _trackPlaceCtrlZ = mapElement->base_height * 8; + _trackPlaceCtrlState = true; + } + } + } else { + if (!(gInputPlaceObjectModifier & PLACE_OBJECT_MODIFIER_COPY_Z)) { + _trackPlaceCtrlState = false; + } + } - if (!_trackPlaceShiftState) { - if (gInputPlaceObjectModifier & PLACE_OBJECT_MODIFIER_SHIFT_Z) { - _trackPlaceShiftState = true; - _trackPlaceShiftStartScreenX = screenX; - _trackPlaceShiftStartScreenY = screenY; - _trackPlaceShiftZ = 0; - } - } else { - if (gInputPlaceObjectModifier & PLACE_OBJECT_MODIFIER_SHIFT_Z) { - _trackPlaceShiftZ = floor2(_trackPlaceShiftStartScreenY - screenY + 4, 8); - screenX = _trackPlaceShiftStartScreenX; - screenY = _trackPlaceShiftStartScreenY; - } else { - _trackPlaceShiftState = false; - } - } + if (!_trackPlaceShiftState) { + if (gInputPlaceObjectModifier & PLACE_OBJECT_MODIFIER_SHIFT_Z) { + _trackPlaceShiftState = true; + _trackPlaceShiftStartScreenX = screenX; + _trackPlaceShiftStartScreenY = screenY; + _trackPlaceShiftZ = 0; + } + } else { + if (gInputPlaceObjectModifier & PLACE_OBJECT_MODIFIER_SHIFT_Z) { + _trackPlaceShiftZ = floor2(_trackPlaceShiftStartScreenY - screenY + 4, 8); + screenX = _trackPlaceShiftStartScreenX; + screenY = _trackPlaceShiftStartScreenY; + } else { + _trackPlaceShiftState = false; + } + } - if (!_trackPlaceCtrlState) { - sub_68A15E(screenX, screenY, &mapX, &mapY, &direction, &mapElement); - if (mapX == MAP_LOCATION_NULL) - return false; + if (!_trackPlaceCtrlState) { + sub_68A15E(screenX, screenY, &mapX, &mapY, &direction, &mapElement); + if (mapX == MAP_LOCATION_NULL) + return false; - _trackPlaceZ = 0; - if (_trackPlaceShiftState) { - mapElement = map_get_surface_element_at(mapX >> 5, mapY >> 5); - mapZ = floor2(mapElement->base_height * 8, 16); - mapZ += _trackPlaceShiftZ; - mapZ = max(mapZ, 16); - _trackPlaceZ = mapZ; - } - } else { - mapZ = _trackPlaceCtrlZ; - screen_get_map_xy_with_z(screenX, screenY, mapZ, &mapX, &mapY); - if (_trackPlaceShiftState != 0) { - mapZ += _trackPlaceShiftZ; - } - _trackPlaceZ = max(mapZ, 16); - } + _trackPlaceZ = 0; + if (_trackPlaceShiftState) { + mapElement = map_get_surface_element_at(mapX >> 5, mapY >> 5); + mapZ = floor2(mapElement->base_height * 8, 16); + mapZ += _trackPlaceShiftZ; + mapZ = max(mapZ, 16); + _trackPlaceZ = mapZ; + } + } else { + mapZ = _trackPlaceCtrlZ; + screen_get_map_xy_with_z(screenX, screenY, mapZ, &mapX, &mapY); + if (_trackPlaceShiftState != 0) { + mapZ += _trackPlaceShiftZ; + } + _trackPlaceZ = max(mapZ, 16); + } - if (mapX == MAP_LOCATION_NULL) - return false; + if (mapX == MAP_LOCATION_NULL) + return false; - *outX = floor2(mapX, 32); - *outY = floor2(mapY, 32); - return true; + *outX = floor2(mapX, 32); + *outY = floor2(mapY, 32); + return true; } /** @@ -2133,15 +2133,15 @@ static bool ride_get_place_position_from_screen_position(sint32 screenX, sint32 */ static void window_ride_construction_toolupdate(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex) { - case WIDX_CONSTRUCT: - ride_construction_toolupdate_construct(x, y); - break; - case WIDX_ENTRANCE: - case WIDX_EXIT: - ride_construction_toolupdate_entrance_exit(x, y); - break; - } + switch (widgetIndex) { + case WIDX_CONSTRUCT: + ride_construction_toolupdate_construct(x, y); + break; + case WIDX_ENTRANCE: + case WIDX_EXIT: + ride_construction_toolupdate_entrance_exit(x, y); + break; + } } /** @@ -2150,15 +2150,15 @@ static void window_ride_construction_toolupdate(rct_window* w, rct_widgetindex w */ static void window_ride_construction_tooldown(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex) { - case WIDX_CONSTRUCT: - ride_construction_tooldown_construct(x, y); - break; - case WIDX_ENTRANCE: - case WIDX_EXIT: - ride_construction_tooldown_entrance_exit(x, y); - break; - } + switch (widgetIndex) { + case WIDX_CONSTRUCT: + ride_construction_tooldown_construct(x, y); + break; + case WIDX_ENTRANCE: + case WIDX_EXIT: + ride_construction_tooldown_entrance_exit(x, y); + break; + } } /** @@ -2167,45 +2167,45 @@ static void window_ride_construction_tooldown(rct_window* w, rct_widgetindex wid */ static void window_ride_construction_invalidate(rct_window *w) { - rct_ride *ride; - rct_string_id stringId; + rct_ride *ride; + rct_string_id stringId; - ride = get_ride(_currentRideIndex); + ride = get_ride(_currentRideIndex); - stringId = STR_RIDE_CONSTRUCTION_SPECIAL; - if (_currentTrackCurve & 0x100) { - stringId = RideConfigurationStringIds[_currentTrackCurve & 0xFF]; - if (stringId == STR_RAPIDS && ride->type == RIDE_TYPE_CAR_RIDE) - stringId = STR_LOG_BUMPS; - if (stringId == STR_SPINNING_CONTROL_TOGGLE_TRACK && ride->type != RIDE_TYPE_WILD_MOUSE) { - stringId = STR_BOOSTER; - } - } - set_format_arg(0, uint16, stringId); + stringId = STR_RIDE_CONSTRUCTION_SPECIAL; + if (_currentTrackCurve & 0x100) { + stringId = RideConfigurationStringIds[_currentTrackCurve & 0xFF]; + if (stringId == STR_RAPIDS && ride->type == RIDE_TYPE_CAR_RIDE) + stringId = STR_LOG_BUMPS; + if (stringId == STR_SPINNING_CONTROL_TOGGLE_TRACK && ride->type != RIDE_TYPE_WILD_MOUSE) { + stringId = STR_BOOSTER; + } + } + set_format_arg(0, uint16, stringId); - if (_currentlyShowingBrakeSpeed == 1) { - uint16 brakeSpeed2 = ((_currentBrakeSpeed2 * 9) >> 2) & 0xFFFF; - if (_boosterTrackSelected){ - if (ride->type == RIDE_TYPE_GIGA_COASTER) { - brakeSpeed2 *= 2; - } else if (ride->type == RIDE_TYPE_JUNIOR_ROLLER_COASTER) { - brakeSpeed2 /= 2; - } - } - set_format_arg(2, uint16, brakeSpeed2); - } + if (_currentlyShowingBrakeSpeed == 1) { + uint16 brakeSpeed2 = ((_currentBrakeSpeed2 * 9) >> 2) & 0xFFFF; + if (_boosterTrackSelected){ + if (ride->type == RIDE_TYPE_GIGA_COASTER) { + brakeSpeed2 *= 2; + } else if (ride->type == RIDE_TYPE_JUNIOR_ROLLER_COASTER) { + brakeSpeed2 /= 2; + } + } + set_format_arg(2, uint16, brakeSpeed2); + } - window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER].text = RideConstructionSeatAngleRotationStrings[_currentSeatRotationAngle]; + window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER].text = RideConstructionSeatAngleRotationStrings[_currentSeatRotationAngle]; - // TODO: Embed table - if (_currentlyShowingBrakeSpeed == 2) { // never gets set to 2 - uint16 brakeSpeed = ((_currentBrakeSpeed * 9) / 4) & 0xFFFF; - set_format_arg(2, uint16, brakeSpeed); - } + // TODO: Embed table + if (_currentlyShowingBrakeSpeed == 2) { // never gets set to 2 + uint16 brakeSpeed = ((_currentBrakeSpeed * 9) / 4) & 0xFFFF; + set_format_arg(2, uint16, brakeSpeed); + } - // Set window title arguments - set_format_arg(4, rct_string_id, ride->name); - set_format_arg(6, uint32, ride->name_arguments); + // Set window title arguments + set_format_arg(4, rct_string_id, ride->name); + set_format_arg(6, uint32, ride->name_arguments); } /** @@ -2214,122 +2214,122 @@ static void window_ride_construction_invalidate(rct_window *w) */ static void window_ride_construction_paint(rct_window *w, rct_drawpixelinfo *dpi) { - rct_drawpixelinfo clipdpi; - rct_widget *widget; - sint32 x, y, width, height; + rct_drawpixelinfo clipdpi; + rct_widget *widget; + sint32 x, y, width, height; - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - widget = &window_ride_construction_widgets[WIDX_CONSTRUCT]; - if (widget->type == WWT_EMPTY) - return; + widget = &window_ride_construction_widgets[WIDX_CONSTRUCT]; + if (widget->type == WWT_EMPTY) + return; - sint32 trackType, trackDirection, rideIndex, edxRS16; - if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, NULL, NULL, NULL, NULL)) - return; + sint32 trackType, trackDirection, rideIndex, edxRS16; + if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, NULL, NULL, NULL, NULL)) + return; - // Draw track piece - x = w->x + widget->left + 1; - y = w->y + widget->top + 1; - width = widget->right - widget->left - 1; - height = widget->bottom - widget->top - 1; - if (clip_drawpixelinfo(&clipdpi, dpi, x, y, width, height)) { - window_ride_construction_draw_track_piece(w, &clipdpi, rideIndex, trackType, trackDirection, edxRS16, width, height); - } + // Draw track piece + x = w->x + widget->left + 1; + y = w->y + widget->top + 1; + width = widget->right - widget->left - 1; + height = widget->bottom - widget->top - 1; + if (clip_drawpixelinfo(&clipdpi, dpi, x, y, width, height)) { + window_ride_construction_draw_track_piece(w, &clipdpi, rideIndex, trackType, trackDirection, edxRS16, width, height); + } - // Draw cost - x = w->x + (widget->left + widget->right) / 2; - y = w->y + widget->bottom - 23; - if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_PLACE) - gfx_draw_string_centred(dpi, STR_BUILD_THIS, x, y, COLOUR_BLACK, w); + // Draw cost + x = w->x + (widget->left + widget->right) / 2; + y = w->y + widget->bottom - 23; + if (_rideConstructionState != RIDE_CONSTRUCTION_STATE_PLACE) + gfx_draw_string_centred(dpi, STR_BUILD_THIS, x, y, COLOUR_BLACK, w); - y += 11; - if ( - _currentTrackPrice != MONEY32_UNDEFINED && - !(gParkFlags & PARK_FLAGS_NO_MONEY) - ) { - gfx_draw_string_centred(dpi, STR_COST_LABEL, x, y, COLOUR_BLACK, (void*)&_currentTrackPrice); - } + y += 11; + if ( + _currentTrackPrice != MONEY32_UNDEFINED && + !(gParkFlags & PARK_FLAGS_NO_MONEY) + ) { + gfx_draw_string_centred(dpi, STR_COST_LABEL, x, y, COLOUR_BLACK, (void*)&_currentTrackPrice); + } } static void window_ride_construction_draw_track_piece( - rct_window *w, rct_drawpixelinfo *dpi, - sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 unknown, - sint32 width, sint32 height + rct_window *w, rct_drawpixelinfo *dpi, + sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 unknown, + sint32 width, sint32 height ) { - const rct_preview_track *trackBlock; - rct_ride *ride; + const rct_preview_track *trackBlock; + rct_ride *ride; - ride = get_ride(rideIndex); + ride = get_ride(rideIndex); - trackBlock = get_track_def_from_ride(ride, trackType); - while ((trackBlock + 1)->index != 0xFF) - trackBlock++; + trackBlock = get_track_def_from_ride(ride, trackType); + while ((trackBlock + 1)->index != 0xFF) + trackBlock++; - sint16 x = trackBlock->x; - sint16 z = trackBlock->z; - sint16 y = trackBlock->y; - if (trackBlock->var_09 & 2) { - x = 0; - y = 0; - } + sint16 x = trackBlock->x; + sint16 z = trackBlock->z; + sint16 y = trackBlock->y; + if (trackBlock->var_09 & 2) { + x = 0; + y = 0; + } - sint16 tmp; - switch (trackDirection & 3) { - case 1: - tmp = x; - x = y; - y = -tmp; - break; - case 2: - x = -x; - y = -y; - break; - case 3: - tmp = x; - x = -y; - y = tmp; - break; - case 0: - break; - } - //this is actually case 0, but the other cases all jump to it - x = 4112 + (x / 2); - y = 4112 + (y / 2); - z = 1024 + z; + sint16 tmp; + switch (trackDirection & 3) { + case 1: + tmp = x; + x = y; + y = -tmp; + break; + case 2: + x = -x; + y = -y; + break; + case 3: + tmp = x; + x = -y; + y = tmp; + break; + case 0: + break; + } + //this is actually case 0, but the other cases all jump to it + x = 4112 + (x / 2); + y = 4112 + (y / 2); + z = 1024 + z; - sint16 previewZOffset = ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) ? - FlatRideTrackDefinitions[trackType].preview_z_offset : - TrackDefinitions[trackType].preview_z_offset; - z -= previewZOffset; + sint16 previewZOffset = ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) ? + FlatRideTrackDefinitions[trackType].preview_z_offset : + TrackDefinitions[trackType].preview_z_offset; + z -= previewZOffset; - sint32 start_x = x; - switch (get_current_rotation()) { - case 0: - x = y - x; - y = (y + start_x) / 2 - z; - break; - case 1: - x = -x - y; - y = (y - start_x) / 2 - z; - break; - case 2: - x -= y; - y = (-y - start_x) / 2 - z; - break; - case 3: - x += y; - y = (-y + start_x) / 2 - z; - break; - } - dpi->x += x - width / 2; - dpi->y += y - height / 2 - 16; - unk_140E9A8 = dpi; - uint32 d = unknown << 16; - d |= rideIndex; - d |= trackType << 8; + sint32 start_x = x; + switch (get_current_rotation()) { + case 0: + x = y - x; + y = (y + start_x) / 2 - z; + break; + case 1: + x = -x - y; + y = (y - start_x) / 2 - z; + break; + case 2: + x -= y; + y = (-y - start_x) / 2 - z; + break; + case 3: + x += y; + y = (-y + start_x) / 2 - z; + break; + } + dpi->x += x - width / 2; + dpi->y += y - height / 2 - 16; + unk_140E9A8 = dpi; + uint32 d = unknown << 16; + d |= rideIndex; + d |= trackType << 8; - sub_6CBCE2(rideIndex, trackType, trackDirection, d, 4096, 4096, 1024); + sub_6CBCE2(rideIndex, trackType, trackDirection, d, 4096, 4096, 1024); } static rct_map_element _tempTrackMapElement; @@ -2344,125 +2344,125 @@ static rct_map_element *_backupMapElementArrays[5]; * dh: trackType */ static void sub_6CBCE2( - sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 edx, - sint32 originX, sint32 originY, sint32 originZ + sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 edx, + sint32 originX, sint32 originY, sint32 originZ ) { - rct_ride *ride; - const rct_preview_track *trackBlock; - sint32 preserve_current_viewport_flags; - sint32 offsetX, offsetY; + rct_ride *ride; + const rct_preview_track *trackBlock; + sint32 preserve_current_viewport_flags; + sint32 offsetX, offsetY; - preserve_current_viewport_flags = gCurrentViewportFlags; - gCurrentViewportFlags = 0; - trackDirection &= 3; + preserve_current_viewport_flags = gCurrentViewportFlags; + gCurrentViewportFlags = 0; + trackDirection &= 3; - paint_init(unk_140E9A8); + paint_init(unk_140E9A8); - ride = get_ride(rideIndex); + ride = get_ride(rideIndex); - sint16 preserveMapSizeUnits = gMapSizeUnits; - sint16 preserveMapSizeMinus2 = gMapSizeMinus2; - sint16 preserveMapSize = gMapSize; - sint16 preserveMapSizeMaxXY = gMapSizeMaxXY; + sint16 preserveMapSizeUnits = gMapSizeUnits; + sint16 preserveMapSizeMinus2 = gMapSizeMinus2; + sint16 preserveMapSize = gMapSize; + sint16 preserveMapSizeMaxXY = gMapSizeMaxXY; - gMapSizeUnits = 255 * 32; - gMapSizeMinus2 = (255 * 32) + 286; - gMapSize = 256; - gMapSizeMaxXY = (256 * 32) - 1; + gMapSizeUnits = 255 * 32; + gMapSizeMinus2 = (255 * 32) + 286; + gMapSize = 256; + gMapSizeMaxXY = (256 * 32) - 1; - trackBlock = get_track_def_from_ride(ride, trackType); - while (trackBlock->index != 255) { - sint32 bl = trackBlock->var_08; - sint32 bh; - switch (trackDirection) { - default: - case 0: - offsetX = trackBlock->x; - offsetY = trackBlock->y; - break; - case 1: - offsetX = trackBlock->y; - offsetY = -trackBlock->x; - bl = rol8(bl, 1); - bh = bl; - bh = ror8(bh, 4); - bl &= 0xEE; - bh &= 0x11; - bl |= bh; - break; - case 2: - offsetX = -trackBlock->x; - offsetY = -trackBlock->y; - bl = rol8(bl, 2); - bh = bl; - bh = ror8(bh, 4); - bl &= 0xCC; - bh &= 0x33; - bl |= bh; - break; - case 3: - offsetX = -trackBlock->y; - offsetY = trackBlock->x; - bl = rol8(bl, 3); - bh = bl; - bh = ror8(bh, 4); - bl &= 0x88; - bh &= 0x77; - bl |= bh; - break; - } - sint32 x = originX + offsetX; - sint32 y = originY + offsetY; - sint32 baseZ = (originZ + trackBlock->z) >> 3; - sint32 clearanceZ = ((trackBlock->var_07 + RideData5[ride->type].clearance_height) >> 3) + baseZ + 4; + trackBlock = get_track_def_from_ride(ride, trackType); + while (trackBlock->index != 255) { + sint32 bl = trackBlock->var_08; + sint32 bh; + switch (trackDirection) { + default: + case 0: + offsetX = trackBlock->x; + offsetY = trackBlock->y; + break; + case 1: + offsetX = trackBlock->y; + offsetY = -trackBlock->x; + bl = rol8(bl, 1); + bh = bl; + bh = ror8(bh, 4); + bl &= 0xEE; + bh &= 0x11; + bl |= bh; + break; + case 2: + offsetX = -trackBlock->x; + offsetY = -trackBlock->y; + bl = rol8(bl, 2); + bh = bl; + bh = ror8(bh, 4); + bl &= 0xCC; + bh &= 0x33; + bl |= bh; + break; + case 3: + offsetX = -trackBlock->y; + offsetY = trackBlock->x; + bl = rol8(bl, 3); + bh = bl; + bh = ror8(bh, 4); + bl &= 0x88; + bh &= 0x77; + bl |= bh; + break; + } + sint32 x = originX + offsetX; + sint32 y = originY + offsetY; + sint32 baseZ = (originZ + trackBlock->z) >> 3; + sint32 clearanceZ = ((trackBlock->var_07 + RideData5[ride->type].clearance_height) >> 3) + baseZ + 4; - sint32 tileX = x >> 5; - sint32 tileY = y >> 5; + sint32 tileX = x >> 5; + sint32 tileY = y >> 5; - // Replace map elements with temporary ones containing track - _backupMapElementArrays[0] = map_get_first_element_at(tileX + 0, tileY + 0); - _backupMapElementArrays[1] = map_get_first_element_at(tileX + 1, tileY + 0); - _backupMapElementArrays[2] = map_get_first_element_at(tileX - 1, tileY + 0); - _backupMapElementArrays[3] = map_get_first_element_at(tileX + 0, tileY + 1); - _backupMapElementArrays[4] = map_get_first_element_at(tileX + 0, tileY - 1); - map_set_tile_elements(tileX + 0, tileY + 0, &_tempTrackMapElement); - map_set_tile_elements(tileX + 1, tileY + 0, &_tempSideTrackMapElement); - map_set_tile_elements(tileX - 1, tileY + 0, &_tempSideTrackMapElement); - map_set_tile_elements(tileX + 0, tileY + 1, &_tempSideTrackMapElement); - map_set_tile_elements(tileX + 0, tileY - 1, &_tempSideTrackMapElement); + // Replace map elements with temporary ones containing track + _backupMapElementArrays[0] = map_get_first_element_at(tileX + 0, tileY + 0); + _backupMapElementArrays[1] = map_get_first_element_at(tileX + 1, tileY + 0); + _backupMapElementArrays[2] = map_get_first_element_at(tileX - 1, tileY + 0); + _backupMapElementArrays[3] = map_get_first_element_at(tileX + 0, tileY + 1); + _backupMapElementArrays[4] = map_get_first_element_at(tileX + 0, tileY - 1); + map_set_tile_elements(tileX + 0, tileY + 0, &_tempTrackMapElement); + map_set_tile_elements(tileX + 1, tileY + 0, &_tempSideTrackMapElement); + map_set_tile_elements(tileX - 1, tileY + 0, &_tempSideTrackMapElement); + map_set_tile_elements(tileX + 0, tileY + 1, &_tempSideTrackMapElement); + map_set_tile_elements(tileX + 0, tileY - 1, &_tempSideTrackMapElement); - // Set the temporary track element - _tempTrackMapElement.type = trackDirection | MAP_ELEMENT_TYPE_TRACK | ((edx & 0x10000) ? 0x80 : 0); - _tempTrackMapElement.flags = (bl & 0x0F) | MAP_ELEMENT_FLAG_LAST_TILE; - _tempTrackMapElement.base_height = baseZ; - _tempTrackMapElement.clearance_height = clearanceZ; - _tempTrackMapElement.properties.track.type = trackType; - _tempTrackMapElement.properties.track.sequence = trackBlock->index; - _tempTrackMapElement.properties.track.colour = (edx & 0x20000) ? 4 : 0; - _tempTrackMapElement.properties.track.ride_index = rideIndex; + // Set the temporary track element + _tempTrackMapElement.type = trackDirection | MAP_ELEMENT_TYPE_TRACK | ((edx & 0x10000) ? 0x80 : 0); + _tempTrackMapElement.flags = (bl & 0x0F) | MAP_ELEMENT_FLAG_LAST_TILE; + _tempTrackMapElement.base_height = baseZ; + _tempTrackMapElement.clearance_height = clearanceZ; + _tempTrackMapElement.properties.track.type = trackType; + _tempTrackMapElement.properties.track.sequence = trackBlock->index; + _tempTrackMapElement.properties.track.colour = (edx & 0x20000) ? 4 : 0; + _tempTrackMapElement.properties.track.ride_index = rideIndex; - // Draw this map tile - sub_68B2B7(x, y); + // Draw this map tile + sub_68B2B7(x, y); - // Restore map elements - map_set_tile_elements(tileX + 0, tileY + 0, _backupMapElementArrays[0]); - map_set_tile_elements(tileX + 1, tileY + 0, _backupMapElementArrays[1]); - map_set_tile_elements(tileX - 1, tileY + 0, _backupMapElementArrays[2]); - map_set_tile_elements(tileX + 0, tileY + 1, _backupMapElementArrays[3]); - map_set_tile_elements(tileX + 0, tileY - 1, _backupMapElementArrays[4]); + // Restore map elements + map_set_tile_elements(tileX + 0, tileY + 0, _backupMapElementArrays[0]); + map_set_tile_elements(tileX + 1, tileY + 0, _backupMapElementArrays[1]); + map_set_tile_elements(tileX - 1, tileY + 0, _backupMapElementArrays[2]); + map_set_tile_elements(tileX + 0, tileY + 1, _backupMapElementArrays[3]); + map_set_tile_elements(tileX + 0, tileY - 1, _backupMapElementArrays[4]); - trackBlock++; - } + trackBlock++; + } - gMapSizeUnits = preserveMapSizeUnits; - gMapSizeMinus2 = preserveMapSizeMinus2; - gMapSize = preserveMapSize; - gMapSizeMaxXY = preserveMapSizeMaxXY; + gMapSizeUnits = preserveMapSizeUnits; + gMapSizeMinus2 = preserveMapSizeMinus2; + gMapSize = preserveMapSize; + gMapSizeMaxXY = preserveMapSizeMaxXY; - paint_struct ps = paint_arrange_structs(); - paint_draw_structs(unk_140E9A8, &ps, gCurrentViewportFlags); + paint_struct ps = paint_arrange_structs(); + paint_draw_structs(unk_140E9A8, &ps, gCurrentViewportFlags); - gCurrentViewportFlags = preserve_current_viewport_flags; + gCurrentViewportFlags = preserve_current_viewport_flags; } /** @@ -2471,113 +2471,113 @@ static void sub_6CBCE2( */ void window_ride_construction_update_active_elements() { - rct_window *w; - rct_map_element *mapElement; + rct_window *w; + rct_map_element *mapElement; - window_ride_construction_update_enabled_track_pieces(); - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL) - return; + window_ride_construction_update_enabled_track_pieces(); + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL) + return; - window_ride_construction_update_map_selection(); + window_ride_construction_update_map_selection(); - _selectedTrackType = 255; - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { - sint32 x = _currentTrackBeginX; - sint32 y = _currentTrackBeginY; - sint32 z = _currentTrackBeginZ; - if (!sub_6C683D(&x, &y, &z, _currentTrackPieceDirection & 3, _currentTrackPieceType, 0, &mapElement, 0)) { - _selectedTrackType = mapElement->properties.track.type; - if (mapElement->properties.track.type == TRACK_ELEM_BRAKES || mapElement->properties.track.type == TRACK_ELEM_BOOSTER) - _currentBrakeSpeed2 = (mapElement->properties.track.sequence >> 4) << 1; - _currentSeatRotationAngle = mapElement->properties.track.colour >> 4; - } - } + _selectedTrackType = 255; + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_SELECTED) { + sint32 x = _currentTrackBeginX; + sint32 y = _currentTrackBeginY; + sint32 z = _currentTrackBeginZ; + if (!sub_6C683D(&x, &y, &z, _currentTrackPieceDirection & 3, _currentTrackPieceType, 0, &mapElement, 0)) { + _selectedTrackType = mapElement->properties.track.type; + if (mapElement->properties.track.type == TRACK_ELEM_BRAKES || mapElement->properties.track.type == TRACK_ELEM_BOOSTER) + _currentBrakeSpeed2 = (mapElement->properties.track.sequence >> 4) << 1; + _currentSeatRotationAngle = mapElement->properties.track.colour >> 4; + } + } - window_ride_construction_update_possible_ride_configurations(); - window_ride_construction_update_widgets(w); + window_ride_construction_update_possible_ride_configurations(); + window_ride_construction_update_widgets(w); } static bool sub_6CA2DF_get_track_element(uint8 *trackElement) { - window_ride_construction_update_enabled_track_pieces(); + window_ride_construction_update_enabled_track_pieces(); - uint8 startSlope = _previousTrackSlopeEnd; - uint8 endSlope = _currentTrackSlopeEnd; - uint8 startBank = _previousTrackBankEnd; - uint8 endBank = _currentTrackBankEnd; + uint8 startSlope = _previousTrackSlopeEnd; + uint8 endSlope = _currentTrackSlopeEnd; + uint8 startBank = _previousTrackBankEnd; + uint8 endBank = _currentTrackBankEnd; - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { - startSlope = _currentTrackSlopeEnd; - endSlope = _previousTrackSlopeEnd; - startBank = _currentTrackBankEnd; - endBank = _previousTrackBankEnd; - } + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { + startSlope = _currentTrackSlopeEnd; + endSlope = _previousTrackSlopeEnd; + startBank = _currentTrackBankEnd; + endBank = _previousTrackBankEnd; + } - uint16 curve = _currentTrackCurve; - if (curve == 0xFFFF) { - return false; - } + uint16 curve = _currentTrackCurve; + if (curve == 0xFFFF) { + return false; + } - bool startsDiagonal = _currentTrackPieceDirection & (1 << 2); - if (curve == TRACK_CURVE_LEFT_LARGE || curve == TRACK_CURVE_RIGHT_LARGE) { - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { - startsDiagonal = !startsDiagonal; - } - } + bool startsDiagonal = _currentTrackPieceDirection & (1 << 2); + if (curve == TRACK_CURVE_LEFT_LARGE || curve == TRACK_CURVE_RIGHT_LARGE) { + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { + startsDiagonal = !startsDiagonal; + } + } - if (curve <= 8) { - for (sint32 i = 0; i < countof(gTrackDescriptors); i++) { - track_descriptor trackDescriptor = gTrackDescriptors[i]; - if (trackDescriptor.track_curve != curve) continue; - if (trackDescriptor.starts_diagonal != startsDiagonal) continue; - if (trackDescriptor.slope_start != startSlope) continue; - if (trackDescriptor.slope_end != endSlope) continue; - if (trackDescriptor.bank_start != startBank) continue; - if (trackDescriptor.bank_end != endBank) continue; + if (curve <= 8) { + for (sint32 i = 0; i < countof(gTrackDescriptors); i++) { + track_descriptor trackDescriptor = gTrackDescriptors[i]; + if (trackDescriptor.track_curve != curve) continue; + if (trackDescriptor.starts_diagonal != startsDiagonal) continue; + if (trackDescriptor.slope_start != startSlope) continue; + if (trackDescriptor.slope_end != endSlope) continue; + if (trackDescriptor.bank_start != startBank) continue; + if (trackDescriptor.bank_end != endBank) continue; - *trackElement = trackDescriptor.track_element; - return true; - } + *trackElement = trackDescriptor.track_element; + return true; + } - return false; - } + return false; + } - *trackElement = curve & 0xFF; - switch (*trackElement) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_S_BEND_LEFT: - case TRACK_ELEM_S_BEND_RIGHT: - if (startSlope != TRACK_SLOPE_NONE || endSlope != TRACK_SLOPE_NONE) { - return false; - } + *trackElement = curve & 0xFF; + switch (*trackElement) { + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_S_BEND_LEFT: + case TRACK_ELEM_S_BEND_RIGHT: + if (startSlope != TRACK_SLOPE_NONE || endSlope != TRACK_SLOPE_NONE) { + return false; + } - if (startBank != TRACK_BANK_NONE || endBank != TRACK_BANK_NONE) { - return false; - } + if (startBank != TRACK_BANK_NONE || endBank != TRACK_BANK_NONE) { + return false; + } - return true; + return true; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: - if (startBank != TRACK_BANK_NONE || endBank != TRACK_BANK_NONE) { - return false; - } + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + if (startBank != TRACK_BANK_NONE || endBank != TRACK_BANK_NONE) { + return false; + } - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { - if (endSlope != TRACK_SLOPE_DOWN_25) { - return false; - } - } else { - if (startSlope != TRACK_SLOPE_UP_25) { - return false; - } - } + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { + if (endSlope != TRACK_SLOPE_DOWN_25) { + return false; + } + } else { + if (startSlope != TRACK_SLOPE_UP_25) { + return false; + } + } - return true; + return true; - default: - return true; - } + default: + return true; + } } /** @@ -2594,142 +2594,142 @@ static bool sub_6CA2DF_get_track_element(uint8 *trackElement) { * @return (CF) */ bool sub_6CA2DF(sint32 *_trackType, sint32 *_trackDirection, sint32 *_rideIndex, sint32 *_edxRS16, sint32 *_x, sint32 *_y, sint32 *_z, sint32 *_properties) { - uint8 trackType, trackDirection, rideIndex; - uint16 z, x, y, edxRS16, properties; + uint8 trackType, trackDirection, rideIndex; + uint16 z, x, y, edxRS16, properties; - if (!sub_6CA2DF_get_track_element(&trackType)) { - return true; - } + if (!sub_6CA2DF_get_track_element(&trackType)) { + return true; + } - edxRS16 = 0; - rideIndex = _currentRideIndex; - if (_currentTrackLiftHill & 1) { - edxRS16 |= 0x1; - } + edxRS16 = 0; + rideIndex = _currentRideIndex; + if (_currentTrackLiftHill & 1) { + edxRS16 |= 0x1; + } - if (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE) { - edxRS16 |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; - } + if (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE) { + edxRS16 |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; + } - rct_ride *ride = get_ride(rideIndex); + rct_ride *ride = get_ride(rideIndex); - if (_enabledRidePieces.b & (1 << 8)) { - switch (trackType) { - case TRACK_ELEM_FLAT_TO_60_DEG_UP: - trackType = TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE; - break; + if (_enabledRidePieces.b & (1 << 8)) { + switch (trackType) { + case TRACK_ELEM_FLAT_TO_60_DEG_UP: + trackType = TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE; + break; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - trackType = TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE; - break; + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + trackType = TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE; + break; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - trackType = TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122; - break; + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + trackType = TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122; + break; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: - trackType = TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE; - break; + case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + trackType = TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE; + break; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: - return true; - } - } + case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: + case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: + return true; + } + } - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES) && _currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_PIECES) { - if (ride->type != RIDE_TYPE_WATER_COASTER || trackType == TRACK_ELEM_FLAT || trackType == TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES || trackType == TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES) { - sint16 alternativeType = AlternativeTrackTypes[trackType]; - if (alternativeType > -1) { - trackType = (uint8) alternativeType; - } - edxRS16 &= 0xFFFE; // unsets 0x1 - } - } + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES) && _currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_PIECES) { + if (ride->type != RIDE_TYPE_WATER_COASTER || trackType == TRACK_ELEM_FLAT || trackType == TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES || trackType == TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES) { + sint16 alternativeType = AlternativeTrackTypes[trackType]; + if (alternativeType > -1) { + trackType = (uint8) alternativeType; + } + edxRS16 &= 0xFFFE; // unsets 0x1 + } + } - const rct_track_coordinates *trackCoordinates = get_track_coord_from_ride(ride, trackType); + const rct_track_coordinates *trackCoordinates = get_track_coord_from_ride(ride, trackType); - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { - z -= trackCoordinates->z_end; - trackDirection = _currentTrackPieceDirection ^ 0x02; - trackDirection -= trackCoordinates->rotation_end; - trackDirection += trackCoordinates->rotation_begin; - trackDirection &= 0x03; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { + z -= trackCoordinates->z_end; + trackDirection = _currentTrackPieceDirection ^ 0x02; + trackDirection -= trackCoordinates->rotation_end; + trackDirection += trackCoordinates->rotation_begin; + trackDirection &= 0x03; - if (trackCoordinates->rotation_begin & (1 << 2)) { - trackDirection |= 0x04; - } + if (trackCoordinates->rotation_begin & (1 << 2)) { + trackDirection |= 0x04; + } - switch (trackDirection & 0x03) { - case 0: - x -= trackCoordinates->x; - y -= trackCoordinates->y; - break; + switch (trackDirection & 0x03) { + case 0: + x -= trackCoordinates->x; + y -= trackCoordinates->y; + break; - case 1: - x -= trackCoordinates->y; - y += trackCoordinates->x; - break; + case 1: + x -= trackCoordinates->y; + y += trackCoordinates->x; + break; - case 2: - x += trackCoordinates->x; - y += trackCoordinates->y; - break; + case 2: + x += trackCoordinates->x; + y += trackCoordinates->y; + break; - case 3: - x += trackCoordinates->y; - y -= trackCoordinates->x; - break; - } - } else { - z -= trackCoordinates->z_begin; - trackDirection = _currentTrackPieceDirection; - } + case 3: + x += trackCoordinates->y; + y -= trackCoordinates->x; + break; + } + } else { + z -= trackCoordinates->z_begin; + trackDirection = _currentTrackPieceDirection; + } - bool do_loc_6CAF26 = false; - if (!(_enabledRidePieces.a & (1 << 5))) { - if (TrackFlags[trackType] & TRACK_ELEM_FLAG_2000) { - do_loc_6CAF26 = true; - } - } + bool do_loc_6CAF26 = false; + if (!(_enabledRidePieces.a & (1 << 5))) { + if (TrackFlags[trackType] & TRACK_ELEM_FLAG_2000) { + do_loc_6CAF26 = true; + } + } - if (!(TrackFlags[trackType] & TRACK_ELEM_FLAG_1000)) { - do_loc_6CAF26 = true; - } + if (!(TrackFlags[trackType] & TRACK_ELEM_FLAG_1000)) { + do_loc_6CAF26 = true; + } - if (do_loc_6CAF26 && !gCheatsEnableChainLiftOnAllTrack) { - edxRS16 &= 0xFFFE; //unsets 0x1 - _currentTrackLiftHill &= 0xFE; + if (do_loc_6CAF26 && !gCheatsEnableChainLiftOnAllTrack) { + edxRS16 &= 0xFFFE; //unsets 0x1 + _currentTrackLiftHill &= 0xFE; - if (trackType == TRACK_ELEM_LEFT_CURVED_LIFT_HILL || trackType == TRACK_ELEM_RIGHT_CURVED_LIFT_HILL) { - edxRS16 |= 0x1; - } - } + if (trackType == TRACK_ELEM_LEFT_CURVED_LIFT_HILL || trackType == TRACK_ELEM_RIGHT_CURVED_LIFT_HILL) { + edxRS16 |= 0x1; + } + } - if (trackType == TRACK_ELEM_BRAKES || trackType == TRACK_ELEM_BOOSTER) { - properties = _currentBrakeSpeed2; - } else { - properties = _currentSeatRotationAngle << 12; - } + if (trackType == TRACK_ELEM_BRAKES || trackType == TRACK_ELEM_BOOSTER) { + properties = _currentBrakeSpeed2; + } else { + properties = _currentSeatRotationAngle << 12; + } - if (_trackType != NULL) *_trackType = trackType; - if (_trackDirection != NULL) *_trackDirection = trackDirection; - if (_rideIndex != NULL) *_rideIndex = rideIndex; - if (_edxRS16 != NULL) *_edxRS16 = edxRS16; - if (_x != NULL) *_x = x; - if (_y != NULL) *_y = y; - if (_z != NULL) *_z = z; - if (_properties != NULL) *_properties = properties; + if (_trackType != NULL) *_trackType = trackType; + if (_trackDirection != NULL) *_trackDirection = trackDirection; + if (_rideIndex != NULL) *_rideIndex = rideIndex; + if (_edxRS16 != NULL) *_edxRS16 = edxRS16; + if (_x != NULL) *_x = x; + if (_y != NULL) *_y = y; + if (_z != NULL) *_z = z; + if (_properties != NULL) *_properties = properties; - return false; + return false; } /** @@ -2738,14 +2738,14 @@ bool sub_6CA2DF(sint32 *_trackType, sint32 *_trackDirection, sint32 *_rideIndex, */ static void window_ride_construction_update_enabled_track_pieces() { - rct_ride *ride = get_ride(_currentRideIndex); - rct_ride_entry *rideEntry = get_ride_entry_by_ride(ride); + rct_ride *ride = get_ride(_currentRideIndex); + rct_ride_entry *rideEntry = get_ride_entry_by_ride(ride); - if (rideEntry == NULL) - return; + if (rideEntry == NULL) + return; - sint32 rideType = (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE) ? RideData4[ride->type].alternate_type : ride->type; - _enabledRidePieces.ab = rideEntry->enabledTrackPieces & RideTypePossibleTrackConfigurations[rideType]; + sint32 rideType = (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE) ? RideData4[ride->type].alternate_type : ride->type; + _enabledRidePieces.ab = rideEntry->enabledTrackPieces & RideTypePossibleTrackConfigurations[rideType]; } /** @@ -2754,46 +2754,46 @@ static void window_ride_construction_update_enabled_track_pieces() */ money32 place_provisional_track_piece(sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 edxRS16, sint32 x, sint32 y, sint32 z) { - rct_ride *ride; - money32 result; + rct_ride *ride; + money32 result; - ride_construction_remove_ghosts(); - ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_MAZE) { - result = game_do_command(x, 105 | (4 << 8), y, rideIndex | (trackType << 8) | (edxRS16 << 16), GAME_COMMAND_SET_MAZE_TRACK, z, 0); - if (result == MONEY32_UNDEFINED) - return result; + ride_construction_remove_ghosts(); + ride = get_ride(rideIndex); + if (ride->type == RIDE_TYPE_MAZE) { + result = game_do_command(x, 105 | (4 << 8), y, rideIndex | (trackType << 8) | (edxRS16 << 16), GAME_COMMAND_SET_MAZE_TRACK, z, 0); + if (result == MONEY32_UNDEFINED) + return result; - _unkF440C5.x = x; - _unkF440C5.y = y; - _unkF440C5.z = z; - _unkF440C5.direction = trackDirection; - _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_TRACK; - viewport_set_visibility((gTrackGroundFlags & TRACK_ELEMENT_LOCATION_IS_UNDERGROUND) ? 1 : 3); - if (_currentTrackSlopeEnd != 0) - viewport_set_visibility(2); + _unkF440C5.x = x; + _unkF440C5.y = y; + _unkF440C5.z = z; + _unkF440C5.direction = trackDirection; + _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_TRACK; + viewport_set_visibility((gTrackGroundFlags & TRACK_ELEMENT_LOCATION_IS_UNDERGROUND) ? 1 : 3); + if (_currentTrackSlopeEnd != 0) + viewport_set_visibility(2); - return result; - } else { - result = game_do_command(x, 105 | (trackDirection << 8), y, rideIndex | (trackType << 8) | (edxRS16 << 16), GAME_COMMAND_PLACE_TRACK, z, 0); - if (result == MONEY32_UNDEFINED) - return result; + return result; + } else { + result = game_do_command(x, 105 | (trackDirection << 8), y, rideIndex | (trackType << 8) | (edxRS16 << 16), GAME_COMMAND_PLACE_TRACK, z, 0); + if (result == MONEY32_UNDEFINED) + return result; - _unkF440C5.x = x; - _unkF440C5.y = y; - z += ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) ? - FlatTrackCoordinates[trackType].z_begin: - TrackCoordinates[trackType].z_begin; + _unkF440C5.x = x; + _unkF440C5.y = y; + z += ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) ? + FlatTrackCoordinates[trackType].z_begin: + TrackCoordinates[trackType].z_begin; - _unkF440C5.z = z; - _unkF440C5.direction = trackDirection; - _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_TRACK; - viewport_set_visibility((gTrackGroundFlags & TRACK_ELEMENT_LOCATION_IS_UNDERGROUND) ? 1 : 3); - if (_currentTrackSlopeEnd != 0) - viewport_set_visibility(2); + _unkF440C5.z = z; + _unkF440C5.direction = trackDirection; + _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_TRACK; + viewport_set_visibility((gTrackGroundFlags & TRACK_ELEMENT_LOCATION_IS_UNDERGROUND) ? 1 : 3); + if (_currentTrackSlopeEnd != 0) + viewport_set_visibility(2); - return result; - } + return result; + } } /** @@ -2802,97 +2802,97 @@ money32 place_provisional_track_piece(sint32 rideIndex, sint32 trackType, sint32 */ void sub_6C94D8() { - sint32 x, y, z, direction, type, rideIndex, edxRS16; + sint32 x, y, z, direction, type, rideIndex, edxRS16; - // Recheck if area is fine for new track. - // Set by footpath placement - if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_RECHECK) { - ride_construction_invalidate_current_track(); - _currentTrackSelectionFlags &= ~TRACK_SELECTION_FLAG_RECHECK; - } + // Recheck if area is fine for new track. + // Set by footpath placement + if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_RECHECK) { + ride_construction_invalidate_current_track(); + _currentTrackSelectionFlags &= ~TRACK_SELECTION_FLAG_RECHECK; + } - switch (_rideConstructionState) { - case RIDE_CONSTRUCTION_STATE_FRONT: - case RIDE_CONSTRUCTION_STATE_BACK: - if (!(_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_TRACK)) { - if (sub_6CA2DF(&type, &direction, &rideIndex, &edxRS16, &x, &y, &z, NULL)) { - ride_construction_remove_ghosts(); - } else { - _currentTrackPrice = place_provisional_track_piece(rideIndex, type, direction, edxRS16, x, y, z); - window_ride_construction_update_active_elements(); - } - } - _rideConstructionArrowPulseTime--; - if (_rideConstructionArrowPulseTime >= 0) - break; + switch (_rideConstructionState) { + case RIDE_CONSTRUCTION_STATE_FRONT: + case RIDE_CONSTRUCTION_STATE_BACK: + if (!(_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_TRACK)) { + if (sub_6CA2DF(&type, &direction, &rideIndex, &edxRS16, &x, &y, &z, NULL)) { + ride_construction_remove_ghosts(); + } else { + _currentTrackPrice = place_provisional_track_piece(rideIndex, type, direction, edxRS16, x, y, z); + window_ride_construction_update_active_elements(); + } + } + _rideConstructionArrowPulseTime--; + if (_rideConstructionArrowPulseTime >= 0) + break; - _rideConstructionArrowPulseTime = 5; - _currentTrackSelectionFlags ^= TRACK_SELECTION_FLAG_ARROW; - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - direction = _currentTrackPieceDirection; - type = _currentTrackPieceType; - gMapSelectArrowPosition.x = x; - gMapSelectArrowPosition.y = y; - gMapSelectArrowPosition.z = z; - if (direction >= 4) - direction += 4; - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) - direction ^= 2; - gMapSelectArrowDirection = direction; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ARROW) - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; - map_invalidate_tile_full(x, y); - break; - case RIDE_CONSTRUCTION_STATE_SELECTED: - _rideConstructionArrowPulseTime--; - if (_rideConstructionArrowPulseTime >= 0) - break; + _rideConstructionArrowPulseTime = 5; + _currentTrackSelectionFlags ^= TRACK_SELECTION_FLAG_ARROW; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + direction = _currentTrackPieceDirection; + type = _currentTrackPieceType; + gMapSelectArrowPosition.x = x; + gMapSelectArrowPosition.y = y; + gMapSelectArrowPosition.z = z; + if (direction >= 4) + direction += 4; + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) + direction ^= 2; + gMapSelectArrowDirection = direction; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ARROW) + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; + map_invalidate_tile_full(x, y); + break; + case RIDE_CONSTRUCTION_STATE_SELECTED: + _rideConstructionArrowPulseTime--; + if (_rideConstructionArrowPulseTime >= 0) + break; - _rideConstructionArrowPulseTime = 5; - _currentTrackSelectionFlags ^= TRACK_SELECTION_FLAG_ARROW; - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - direction = _currentTrackPieceDirection & 3; - type = _currentTrackPieceType; - if (sub_6C683D(&x, &y, &z, direction, type, 0, NULL, _currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ARROW ? 2 : 1)) { - ride_construction_remove_ghosts(); - _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; - } - break; - case 6: - case 7: - case 8: - _rideConstructionArrowPulseTime--; - if (_rideConstructionArrowPulseTime >= 0) - break; + _rideConstructionArrowPulseTime = 5; + _currentTrackSelectionFlags ^= TRACK_SELECTION_FLAG_ARROW; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + direction = _currentTrackPieceDirection & 3; + type = _currentTrackPieceType; + if (sub_6C683D(&x, &y, &z, direction, type, 0, NULL, _currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ARROW ? 2 : 1)) { + ride_construction_remove_ghosts(); + _rideConstructionState = RIDE_CONSTRUCTION_STATE_0; + } + break; + case 6: + case 7: + case 8: + _rideConstructionArrowPulseTime--; + if (_rideConstructionArrowPulseTime >= 0) + break; - _rideConstructionArrowPulseTime = 5; - _currentTrackSelectionFlags ^= TRACK_SELECTION_FLAG_ARROW; - x = _currentTrackBeginX & 0xFFE0; - y = _currentTrackBeginY & 0xFFE0; - z = _currentTrackBeginZ + 15; - gMapSelectArrowPosition.x = x; - gMapSelectArrowPosition.y = y; - gMapSelectArrowPosition.z = z; - gMapSelectArrowDirection = 4; - if (((_currentTrackBeginX & 0x1F) | (_currentTrackBeginY & 0x1F)) != 0) { - gMapSelectArrowDirection = 6; - if (((_currentTrackBeginX & 0x1F) & (_currentTrackBeginY & 0x1F)) == 0) { - gMapSelectArrowDirection = 5; - if ((_currentTrackBeginY & 0x1F) == 0) - gMapSelectArrowDirection = 7; - } - } - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ARROW) - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; - map_invalidate_tile_full(x, y); - break; - } + _rideConstructionArrowPulseTime = 5; + _currentTrackSelectionFlags ^= TRACK_SELECTION_FLAG_ARROW; + x = _currentTrackBeginX & 0xFFE0; + y = _currentTrackBeginY & 0xFFE0; + z = _currentTrackBeginZ + 15; + gMapSelectArrowPosition.x = x; + gMapSelectArrowPosition.y = y; + gMapSelectArrowPosition.z = z; + gMapSelectArrowDirection = 4; + if (((_currentTrackBeginX & 0x1F) | (_currentTrackBeginY & 0x1F)) != 0) { + gMapSelectArrowDirection = 6; + if (((_currentTrackBeginX & 0x1F) & (_currentTrackBeginY & 0x1F)) == 0) { + gMapSelectArrowDirection = 5; + if ((_currentTrackBeginY & 0x1F) == 0) + gMapSelectArrowDirection = 7; + } + } + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ARROW) + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; + map_invalidate_tile_full(x, y); + break; + } } /** @@ -2901,39 +2901,39 @@ void sub_6C94D8() */ static void window_ride_construction_update_map_selection() { - rct_ride *ride; - sint32 trackType, trackDirection, x, y; + rct_ride *ride; + sint32 trackType, trackDirection, x, y; - map_invalidate_map_selection_tiles(); - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gMapSelectFlags |= MAP_SELECT_FLAG_GREEN; + map_invalidate_map_selection_tiles(); + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags |= MAP_SELECT_FLAG_GREEN; - switch (_rideConstructionState) { - case RIDE_CONSTRUCTION_STATE_0: - trackDirection = _currentTrackPieceDirection; - trackType = 0; - x = _currentTrackBeginX; - y = _currentTrackBeginY; - break; - case RIDE_CONSTRUCTION_STATE_SELECTED: - trackDirection = _currentTrackPieceDirection; - trackType = _currentTrackPieceType; - x = _currentTrackBeginX; - y = _currentTrackBeginY; - break; - default: - if (sub_6CA2DF(&trackType, &trackDirection, NULL, NULL, &x, &y, NULL, NULL)) { - trackDirection = _currentTrackPieceDirection; - trackType = 0; - x = _currentTrackBeginX; - y = _currentTrackBeginY; - } - break; - } + switch (_rideConstructionState) { + case RIDE_CONSTRUCTION_STATE_0: + trackDirection = _currentTrackPieceDirection; + trackType = 0; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + break; + case RIDE_CONSTRUCTION_STATE_SELECTED: + trackDirection = _currentTrackPieceDirection; + trackType = _currentTrackPieceType; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + break; + default: + if (sub_6CA2DF(&trackType, &trackDirection, NULL, NULL, &x, &y, NULL, NULL)) { + trackDirection = _currentTrackPieceDirection; + trackType = 0; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + } + break; + } - ride = get_ride(_currentRideIndex); - window_ride_construction_select_map_tiles(ride, trackType, trackDirection, x, y); - map_invalidate_map_selection_tiles(); + ride = get_ride(_currentRideIndex); + window_ride_construction_select_map_tiles(ride, trackType, trackDirection, x, y); + map_invalidate_map_selection_tiles(); } /** @@ -2942,89 +2942,89 @@ static void window_ride_construction_update_map_selection() */ static void window_ride_construction_update_possible_ride_configurations() { - rct_ride *ride; - sint32 trackType; - sint32 edi; + rct_ride *ride; + sint32 trackType; + sint32 edi; - ride = get_ride(_currentRideIndex); + ride = get_ride(_currentRideIndex); - _currentlyShowingBrakeSpeed = 0; - if (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE) - edi = RideData4[ride->type].alternate_type; - else - edi = ride->type; + _currentlyShowingBrakeSpeed = 0; + if (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE) + edi = RideData4[ride->type].alternate_type; + else + edi = ride->type; - sint32 currentPossibleRideConfigurationIndex = 0; - _numCurrentPossibleSpecialTrackPieces = 0; - for (trackType = 0; trackType < 256; trackType++) { - sint32 edx = ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) ? - FlatRideTrackDefinitions[trackType].type : - TrackDefinitions[trackType].type; + sint32 currentPossibleRideConfigurationIndex = 0; + _numCurrentPossibleSpecialTrackPieces = 0; + for (trackType = 0; trackType < 256; trackType++) { + sint32 edx = ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) ? + FlatRideTrackDefinitions[trackType].type : + TrackDefinitions[trackType].type; - if (edx == 0) - continue; + if (edx == 0) + continue; - if (edx & 0x80) { - edx &= 0x7F; - if (edx != edi) - continue; - } else if (!is_track_enabled(edx)) { - continue; - } + if (edx & 0x80) { + edx &= 0x7F; + if (edx != edi) + continue; + } else if (!is_track_enabled(edx)) { + continue; + } - sint32 slope, bank; - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT || _rideConstructionState == RIDE_CONSTRUCTION_STATE_PLACE) { - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - slope = FlatRideTrackDefinitions[trackType].vangle_start; - bank = FlatRideTrackDefinitions[trackType].bank_start; - } else { - slope = TrackDefinitions[trackType].vangle_start; - bank = TrackDefinitions[trackType].bank_start; - } - } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - slope = FlatRideTrackDefinitions[trackType].vangle_end; - bank = FlatRideTrackDefinitions[trackType].bank_end; - } else { - slope = TrackDefinitions[trackType].vangle_end; - bank = TrackDefinitions[trackType].bank_end; - } - } else { - continue; - } + sint32 slope, bank; + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT || _rideConstructionState == RIDE_CONSTRUCTION_STATE_PLACE) { + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + slope = FlatRideTrackDefinitions[trackType].vangle_start; + bank = FlatRideTrackDefinitions[trackType].bank_start; + } else { + slope = TrackDefinitions[trackType].vangle_start; + bank = TrackDefinitions[trackType].bank_start; + } + } else if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_BACK) { + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + slope = FlatRideTrackDefinitions[trackType].vangle_end; + bank = FlatRideTrackDefinitions[trackType].bank_end; + } else { + slope = TrackDefinitions[trackType].vangle_end; + bank = TrackDefinitions[trackType].bank_end; + } + } else { + continue; + } - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - if ( - TrackDefinitions[trackType].type == TRACK_HELIX_SMALL || - TrackDefinitions[trackType].type == TRACK_HELIX_LARGE - ) { - if (bank != _previousTrackBankEnd) { - if (_previousTrackBankEnd != TRACK_BANK_NONE) - continue; + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + if ( + TrackDefinitions[trackType].type == TRACK_HELIX_SMALL || + TrackDefinitions[trackType].type == TRACK_HELIX_LARGE + ) { + if (bank != _previousTrackBankEnd) { + if (_previousTrackBankEnd != TRACK_BANK_NONE) + continue; - if (bank != TRACK_BANK_LEFT) - continue; - } - } - } + if (bank != TRACK_BANK_LEFT) + continue; + } + } + } - if (bank == TRACK_BANK_UPSIDE_DOWN && bank != _previousTrackBankEnd) - continue; + if (bank == TRACK_BANK_UPSIDE_DOWN && bank != _previousTrackBankEnd) + continue; - _currentPossibleRideConfigurations[currentPossibleRideConfigurationIndex] = trackType; - _currentDisabledSpecialTrackPieces |= (1 << currentPossibleRideConfigurationIndex); - if ( - _currentTrackPieceDirection < 4 && - slope == _previousTrackSlopeEnd && - bank == _previousTrackBankEnd && - (trackType != TRACK_ELEM_TOWER_BASE || ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_29)) - ) { - _currentDisabledSpecialTrackPieces &= ~(1 << currentPossibleRideConfigurationIndex); - _numCurrentPossibleSpecialTrackPieces++; - } - currentPossibleRideConfigurationIndex++; - } - _numCurrentPossibleRideConfigurations = currentPossibleRideConfigurationIndex; + _currentPossibleRideConfigurations[currentPossibleRideConfigurationIndex] = trackType; + _currentDisabledSpecialTrackPieces |= (1 << currentPossibleRideConfigurationIndex); + if ( + _currentTrackPieceDirection < 4 && + slope == _previousTrackSlopeEnd && + bank == _previousTrackBankEnd && + (trackType != TRACK_ELEM_TOWER_BASE || ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_29)) + ) { + _currentDisabledSpecialTrackPieces &= ~(1 << currentPossibleRideConfigurationIndex); + _numCurrentPossibleSpecialTrackPieces++; + } + currentPossibleRideConfigurationIndex++; + } + _numCurrentPossibleRideConfigurations = currentPossibleRideConfigurationIndex; } /** @@ -3033,505 +3033,505 @@ static void window_ride_construction_update_possible_ride_configurations() */ static void window_ride_construction_update_widgets(rct_window *w) { - uint8 rideIndex = _currentRideIndex; - rct_ride *ride = get_ride(rideIndex); - sint32 rideType = ride_get_alternative_type(ride); + uint8 rideIndex = _currentRideIndex; + rct_ride *ride = get_ride(rideIndex); + sint32 rideType = ride_get_alternative_type(ride); - w->hold_down_widgets = 0; - if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_IS_SHOP) || !_stationConstructed) { - window_ride_construction_widgets[WIDX_ENTRANCE_EXIT_GROUPBOX].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_ENTRANCE].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_EXIT].type = WWT_EMPTY; - } else { - window_ride_construction_widgets[WIDX_ENTRANCE_EXIT_GROUPBOX].type = WWT_GROUPBOX; - window_ride_construction_widgets[WIDX_ENTRANCE].type = WWT_DROPDOWN_BUTTON; - window_ride_construction_widgets[WIDX_EXIT].type = WWT_DROPDOWN_BUTTON; - } + w->hold_down_widgets = 0; + if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_IS_SHOP) || !_stationConstructed) { + window_ride_construction_widgets[WIDX_ENTRANCE_EXIT_GROUPBOX].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_ENTRANCE].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_EXIT].type = WWT_EMPTY; + } else { + window_ride_construction_widgets[WIDX_ENTRANCE_EXIT_GROUPBOX].type = WWT_GROUPBOX; + window_ride_construction_widgets[WIDX_ENTRANCE].type = WWT_DROPDOWN_BUTTON; + window_ride_construction_widgets[WIDX_EXIT].type = WWT_DROPDOWN_BUTTON; + } - if (_numCurrentPossibleSpecialTrackPieces == 0) { - window_ride_construction_widgets[WIDX_SPECIAL_TRACK_DROPDOWN].type = WWT_EMPTY; - } else { - window_ride_construction_widgets[WIDX_SPECIAL_TRACK_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - } + if (_numCurrentPossibleSpecialTrackPieces == 0) { + window_ride_construction_widgets[WIDX_SPECIAL_TRACK_DROPDOWN].type = WWT_EMPTY; + } else { + window_ride_construction_widgets[WIDX_SPECIAL_TRACK_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + } - if (is_track_enabled(TRACK_STRAIGHT)) { - window_ride_construction_widgets[WIDX_STRAIGHT].type = WWT_FLATBTN; - } else { - window_ride_construction_widgets[WIDX_STRAIGHT].type = WWT_EMPTY; - } + if (is_track_enabled(TRACK_STRAIGHT)) { + window_ride_construction_widgets[WIDX_STRAIGHT].type = WWT_FLATBTN; + } else { + window_ride_construction_widgets[WIDX_STRAIGHT].type = WWT_EMPTY; + } - if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_HAS_LARGE_CURVES)) { - window_ride_construction_widgets[WIDX_LEFT_CURVE_LARGE].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_LARGE].type = WWT_FLATBTN; - } else { - window_ride_construction_widgets[WIDX_LEFT_CURVE_LARGE].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_LARGE].type = WWT_EMPTY; - } + if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_HAS_LARGE_CURVES)) { + window_ride_construction_widgets[WIDX_LEFT_CURVE_LARGE].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_LARGE].type = WWT_FLATBTN; + } else { + window_ride_construction_widgets[WIDX_LEFT_CURVE_LARGE].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_LARGE].type = WWT_EMPTY; + } - window_ride_construction_widgets[WIDX_LEFT_CURVE].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_RIGHT_CURVE].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_LEFT_CURVE_VERY_SMALL].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].left = 28; - window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].right = 49; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].left = 116; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].right = 137; - window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].image = SPR_RIDE_CONSTRUCTION_LEFT_CURVE; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].image = SPR_RIDE_CONSTRUCTION_RIGHT_CURVE; - if (is_track_enabled(TRACK_CURVE_VERTICAL)) { - window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].left = 6; - window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].right = 27; - window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].image = SPR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].left = 138; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].right = 159; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].image = SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL; - } - if (is_track_enabled(TRACK_CURVE)) { - window_ride_construction_widgets[WIDX_LEFT_CURVE].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_RIGHT_CURVE].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].left = 6; - window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].right = 27; - window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].image = SPR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].left = 138; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].right = 159; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].image = SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL; - } - if (is_track_enabled(TRACK_CURVE_SMALL)) { - window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].type = WWT_FLATBTN; - } - if (is_track_enabled(TRACK_CURVE_VERY_SMALL)) { - window_ride_construction_widgets[WIDX_LEFT_CURVE_VERY_SMALL].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type = WWT_FLATBTN; - } + window_ride_construction_widgets[WIDX_LEFT_CURVE].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_RIGHT_CURVE].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_LEFT_CURVE_VERY_SMALL].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].left = 28; + window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].right = 49; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].left = 116; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].right = 137; + window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].image = SPR_RIDE_CONSTRUCTION_LEFT_CURVE; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].image = SPR_RIDE_CONSTRUCTION_RIGHT_CURVE; + if (is_track_enabled(TRACK_CURVE_VERTICAL)) { + window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].left = 6; + window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].right = 27; + window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].image = SPR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].left = 138; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].right = 159; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].image = SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL; + } + if (is_track_enabled(TRACK_CURVE)) { + window_ride_construction_widgets[WIDX_LEFT_CURVE].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_RIGHT_CURVE].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].left = 6; + window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].right = 27; + window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].image = SPR_RIDE_CONSTRUCTION_LEFT_CURVE_SMALL; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].left = 138; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].right = 159; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].image = SPR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL; + } + if (is_track_enabled(TRACK_CURVE_SMALL)) { + window_ride_construction_widgets[WIDX_LEFT_CURVE_SMALL].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_SMALL].type = WWT_FLATBTN; + } + if (is_track_enabled(TRACK_CURVE_VERY_SMALL)) { + window_ride_construction_widgets[WIDX_LEFT_CURVE_VERY_SMALL].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type = WWT_FLATBTN; + } - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_SLOPE_DOWN].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_LEVEL].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_SLOPE_UP].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image = SPR_RIDE_CONSTRUCTION_SLOPE_DOWN_STEEP; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_STEEP_SLOPE_DOWN_TIP; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image = SPR_RIDE_CONSTRUCTION_SLOPE_UP_STEEP; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].tooltip = STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP; - if (rideType == RIDE_TYPE_REVERSE_FREEFALL_COASTER || rideType == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) { - window_ride_construction_widgets[WIDX_LEVEL].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_SLOPE_UP].type = WWT_FLATBTN; - } - if (is_track_enabled(TRACK_SLOPE) || is_track_enabled(TRACK_SLOPE_STEEP)) { - window_ride_construction_widgets[WIDX_LEVEL].type = WWT_FLATBTN; - } - if (is_track_enabled(TRACK_SLOPE)) { - window_ride_construction_widgets[WIDX_SLOPE_DOWN].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_SLOPE_UP].type = WWT_FLATBTN; - } - if ( - is_track_enabled(TRACK_HELIX_SMALL) && - _currentTrackBankEnd != TRACK_BANK_NONE && - _currentTrackSlopeEnd == TRACK_SLOPE_NONE - ) { - if (_currentTrackCurve >= TRACK_CURVE_LEFT && _currentTrackCurve <= TRACK_CURVE_RIGHT_SMALL) { - // Enable helix - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].type = WWT_FLATBTN; - if (rideType != RIDE_TYPE_SPLASH_BOATS) - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].type = WWT_FLATBTN; - } - } + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_SLOPE_DOWN].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_LEVEL].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_SLOPE_UP].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image = SPR_RIDE_CONSTRUCTION_SLOPE_DOWN_STEEP; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_STEEP_SLOPE_DOWN_TIP; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image = SPR_RIDE_CONSTRUCTION_SLOPE_UP_STEEP; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].tooltip = STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP; + if (rideType == RIDE_TYPE_REVERSE_FREEFALL_COASTER || rideType == RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) { + window_ride_construction_widgets[WIDX_LEVEL].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_SLOPE_UP].type = WWT_FLATBTN; + } + if (is_track_enabled(TRACK_SLOPE) || is_track_enabled(TRACK_SLOPE_STEEP)) { + window_ride_construction_widgets[WIDX_LEVEL].type = WWT_FLATBTN; + } + if (is_track_enabled(TRACK_SLOPE)) { + window_ride_construction_widgets[WIDX_SLOPE_DOWN].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_SLOPE_UP].type = WWT_FLATBTN; + } + if ( + is_track_enabled(TRACK_HELIX_SMALL) && + _currentTrackBankEnd != TRACK_BANK_NONE && + _currentTrackSlopeEnd == TRACK_SLOPE_NONE + ) { + if (_currentTrackCurve >= TRACK_CURVE_LEFT && _currentTrackCurve <= TRACK_CURVE_RIGHT_SMALL) { + // Enable helix + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].type = WWT_FLATBTN; + if (rideType != RIDE_TYPE_SPLASH_BOATS) + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].type = WWT_FLATBTN; + } + } - if (is_track_enabled(TRACK_SLOPE_STEEP)) { - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].type = WWT_FLATBTN; - if (rideType != RIDE_TYPE_SPLASH_BOATS) - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].type = WWT_FLATBTN; - } + if (is_track_enabled(TRACK_SLOPE_STEEP)) { + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].type = WWT_FLATBTN; + if (rideType != RIDE_TYPE_SPLASH_BOATS) + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].type = WWT_FLATBTN; + } - sint32 x; - if ((is_track_enabled(TRACK_LIFT_HILL) && _currentTrackCurve < 256) || (gCheatsEnableChainLiftOnAllTrack && ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK))) { - window_ride_construction_widgets[WIDX_CHAIN_LIFT].type = WWT_FLATBTN; - x = 9; - } else { - window_ride_construction_widgets[WIDX_CHAIN_LIFT].type = WWT_EMPTY; - x = 23; - } + sint32 x; + if ((is_track_enabled(TRACK_LIFT_HILL) && _currentTrackCurve < 256) || (gCheatsEnableChainLiftOnAllTrack && ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK))) { + window_ride_construction_widgets[WIDX_CHAIN_LIFT].type = WWT_FLATBTN; + x = 9; + } else { + window_ride_construction_widgets[WIDX_CHAIN_LIFT].type = WWT_EMPTY; + x = 23; + } - for (sint32 i = WIDX_SLOPE_DOWN_STEEP; i <= WIDX_SLOPE_UP_STEEP; i++) { - window_ride_construction_widgets[i].left = x; - window_ride_construction_widgets[i].right = x + 23; - x += 24; - } + for (sint32 i = WIDX_SLOPE_DOWN_STEEP; i <= WIDX_SLOPE_UP_STEEP; i++) { + window_ride_construction_widgets[i].left = x; + window_ride_construction_widgets[i].right = x + 23; + x += 24; + } - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image = SPR_RIDE_CONSTRUCTION_SLOPE_UP_STEEP; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].tooltip = STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image = SPR_RIDE_CONSTRUCTION_SLOPE_DOWN_STEEP; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_STEEP_SLOPE_DOWN_TIP; - if (is_track_enabled(TRACK_SLOPE_VERTICAL)) { - if (_previousTrackSlopeEnd == TRACK_SLOPE_UP_60 || _previousTrackSlopeEnd == TRACK_SLOPE_UP_90) { - sint32 originalSlopeUpSteepLeft = window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].left; - sint32 originalSlopeUpSteepRight = window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].right; - for (sint32 i = WIDX_SLOPE_UP_STEEP; i > WIDX_SLOPE_DOWN_STEEP; i--) { - window_ride_construction_widgets[i].left = window_ride_construction_widgets[i - 1].left; - window_ride_construction_widgets[i].right = window_ride_construction_widgets[i - 1].right; - } - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].left = originalSlopeUpSteepLeft; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].right = originalSlopeUpSteepRight; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image = SPR_RIDE_CONSTRUCTION_VERTICAL_RISE; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_VERTICAL_RISE_TIP; - } else if (_previousTrackSlopeEnd == TRACK_SLOPE_DOWN_60 || _previousTrackSlopeEnd == TRACK_SLOPE_DOWN_90) { - sint32 originalSlopeDownSteepLeft = window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].left; - sint32 originalSlopeDownSteepRight = window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].right; - for (sint32 i = WIDX_SLOPE_DOWN_STEEP; i < WIDX_SLOPE_UP_STEEP; i++) { - window_ride_construction_widgets[i].left = window_ride_construction_widgets[i + 1].left; - window_ride_construction_widgets[i].right = window_ride_construction_widgets[i + 1].right; - } - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].left = originalSlopeDownSteepLeft; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].right = originalSlopeDownSteepRight; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image = SPR_RIDE_CONSTRUCTION_VERTICAL_DROP; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].tooltip = STR_RIDE_CONSTRUCTION_VERTICAL_DROP_TIP; - } - } + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image = SPR_RIDE_CONSTRUCTION_SLOPE_UP_STEEP; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].tooltip = STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image = SPR_RIDE_CONSTRUCTION_SLOPE_DOWN_STEEP; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_STEEP_SLOPE_DOWN_TIP; + if (is_track_enabled(TRACK_SLOPE_VERTICAL)) { + if (_previousTrackSlopeEnd == TRACK_SLOPE_UP_60 || _previousTrackSlopeEnd == TRACK_SLOPE_UP_90) { + sint32 originalSlopeUpSteepLeft = window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].left; + sint32 originalSlopeUpSteepRight = window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].right; + for (sint32 i = WIDX_SLOPE_UP_STEEP; i > WIDX_SLOPE_DOWN_STEEP; i--) { + window_ride_construction_widgets[i].left = window_ride_construction_widgets[i - 1].left; + window_ride_construction_widgets[i].right = window_ride_construction_widgets[i - 1].right; + } + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].left = originalSlopeUpSteepLeft; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].right = originalSlopeUpSteepRight; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image = SPR_RIDE_CONSTRUCTION_VERTICAL_RISE; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_VERTICAL_RISE_TIP; + } else if (_previousTrackSlopeEnd == TRACK_SLOPE_DOWN_60 || _previousTrackSlopeEnd == TRACK_SLOPE_DOWN_90) { + sint32 originalSlopeDownSteepLeft = window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].left; + sint32 originalSlopeDownSteepRight = window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].right; + for (sint32 i = WIDX_SLOPE_DOWN_STEEP; i < WIDX_SLOPE_UP_STEEP; i++) { + window_ride_construction_widgets[i].left = window_ride_construction_widgets[i + 1].left; + window_ride_construction_widgets[i].right = window_ride_construction_widgets[i + 1].right; + } + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].left = originalSlopeDownSteepLeft; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].right = originalSlopeDownSteepRight; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image = SPR_RIDE_CONSTRUCTION_VERTICAL_DROP; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].tooltip = STR_RIDE_CONSTRUCTION_VERTICAL_DROP_TIP; + } + } - if ( - is_track_enabled(TRACK_HELIX_LARGE_UNBANKED) && - _currentTrackSlopeEnd == TRACK_SLOPE_NONE && - _currentTrackBankEnd == TRACK_BANK_NONE && - (_currentTrackCurve == TRACK_CURVE_LEFT || _currentTrackCurve == TRACK_CURVE_RIGHT) - ) { - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image = SPR_RIDE_CONSTRUCTION_HELIX_DOWN; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_HELIX_DOWN_TIP; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image = SPR_RIDE_CONSTRUCTION_HELIX_UP; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].tooltip = STR_RIDE_CONSTRUCTION_HELIX_UP_TIP; + if ( + is_track_enabled(TRACK_HELIX_LARGE_UNBANKED) && + _currentTrackSlopeEnd == TRACK_SLOPE_NONE && + _currentTrackBankEnd == TRACK_BANK_NONE && + (_currentTrackCurve == TRACK_CURVE_LEFT || _currentTrackCurve == TRACK_CURVE_RIGHT) + ) { + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image = SPR_RIDE_CONSTRUCTION_HELIX_DOWN; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_HELIX_DOWN_TIP; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image = SPR_RIDE_CONSTRUCTION_HELIX_UP; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].tooltip = STR_RIDE_CONSTRUCTION_HELIX_UP_TIP; - sint32 tmp = window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].left; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].left = window_ride_construction_widgets[WIDX_SLOPE_DOWN].left; - window_ride_construction_widgets[WIDX_SLOPE_DOWN].left = tmp; + sint32 tmp = window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].left; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].left = window_ride_construction_widgets[WIDX_SLOPE_DOWN].left; + window_ride_construction_widgets[WIDX_SLOPE_DOWN].left = tmp; - tmp = window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].right; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].right = window_ride_construction_widgets[WIDX_SLOPE_DOWN].right; - window_ride_construction_widgets[WIDX_SLOPE_DOWN].right = tmp; + tmp = window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].right; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].right = window_ride_construction_widgets[WIDX_SLOPE_DOWN].right; + window_ride_construction_widgets[WIDX_SLOPE_DOWN].right = tmp; - tmp = window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].left; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].left = window_ride_construction_widgets[WIDX_SLOPE_UP].left; - window_ride_construction_widgets[WIDX_SLOPE_UP].left = tmp; + tmp = window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].left; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].left = window_ride_construction_widgets[WIDX_SLOPE_UP].left; + window_ride_construction_widgets[WIDX_SLOPE_UP].left = tmp; - tmp = window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].right; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].right = window_ride_construction_widgets[WIDX_SLOPE_UP].right; - window_ride_construction_widgets[WIDX_SLOPE_UP].right = tmp; - } + tmp = window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].right; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].right = window_ride_construction_widgets[WIDX_SLOPE_UP].right; + window_ride_construction_widgets[WIDX_SLOPE_UP].right = tmp; + } - if ( - (is_track_enabled(TRACK_HELIX_LARGE) || is_track_enabled(TRACK_HELIX_SMALL)) && - (_currentTrackCurve >= TRACK_CURVE_LEFT && _currentTrackCurve <= TRACK_CURVE_RIGHT_SMALL) && - _currentTrackSlopeEnd == TRACK_SLOPE_NONE && - _currentTrackBankEnd != TRACK_BANK_NONE - ) { - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image = SPR_RIDE_CONSTRUCTION_HELIX_DOWN; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_HELIX_DOWN_TIP; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image = SPR_RIDE_CONSTRUCTION_HELIX_UP; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].tooltip = STR_RIDE_CONSTRUCTION_HELIX_UP_TIP; + if ( + (is_track_enabled(TRACK_HELIX_LARGE) || is_track_enabled(TRACK_HELIX_SMALL)) && + (_currentTrackCurve >= TRACK_CURVE_LEFT && _currentTrackCurve <= TRACK_CURVE_RIGHT_SMALL) && + _currentTrackSlopeEnd == TRACK_SLOPE_NONE && + _currentTrackBankEnd != TRACK_BANK_NONE + ) { + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image = SPR_RIDE_CONSTRUCTION_HELIX_DOWN; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_HELIX_DOWN_TIP; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image = SPR_RIDE_CONSTRUCTION_HELIX_UP; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].tooltip = STR_RIDE_CONSTRUCTION_HELIX_UP_TIP; - sint32 tmp = window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].left; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].left = window_ride_construction_widgets[WIDX_SLOPE_DOWN].left; - window_ride_construction_widgets[WIDX_SLOPE_DOWN].left = tmp; + sint32 tmp = window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].left; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].left = window_ride_construction_widgets[WIDX_SLOPE_DOWN].left; + window_ride_construction_widgets[WIDX_SLOPE_DOWN].left = tmp; - tmp = window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].right; - window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].right = window_ride_construction_widgets[WIDX_SLOPE_DOWN].right; - window_ride_construction_widgets[WIDX_SLOPE_DOWN].right = tmp; + tmp = window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].right; + window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].right = window_ride_construction_widgets[WIDX_SLOPE_DOWN].right; + window_ride_construction_widgets[WIDX_SLOPE_DOWN].right = tmp; - tmp = window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].left; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].left = window_ride_construction_widgets[WIDX_SLOPE_UP].left; - window_ride_construction_widgets[WIDX_SLOPE_UP].left = tmp; + tmp = window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].left; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].left = window_ride_construction_widgets[WIDX_SLOPE_UP].left; + window_ride_construction_widgets[WIDX_SLOPE_UP].left = tmp; - tmp = window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].right; - window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].right = window_ride_construction_widgets[WIDX_SLOPE_UP].right; - window_ride_construction_widgets[WIDX_SLOPE_UP].right = tmp; - } + tmp = window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].right; + window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].right = window_ride_construction_widgets[WIDX_SLOPE_UP].right; + window_ride_construction_widgets[WIDX_SLOPE_UP].right = tmp; + } - window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].image = STR_RIDE_CONSTRUCTION_ROLL_BANKING; - window_ride_construction_widgets[WIDX_BANK_LEFT].image = SPR_RIDE_CONSTRUCTION_LEFT_BANK; - window_ride_construction_widgets[WIDX_BANK_LEFT].tooltip = STR_RIDE_CONSTRUCTION_ROLL_FOR_LEFT_CURVE_TIP; - window_ride_construction_widgets[WIDX_BANK_LEFT].left = 47; - window_ride_construction_widgets[WIDX_BANK_LEFT].right = 70; - window_ride_construction_widgets[WIDX_BANK_LEFT].top = 132; - window_ride_construction_widgets[WIDX_BANK_LEFT].bottom = 155; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].image = SPR_RIDE_CONSTRUCTION_NO_BANK; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].tooltip = STR_RIDE_CONSTRUCTION_NO_ROLL_TIP; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].left = 71; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].right = 94; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].top = 132; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].bottom = 155; - window_ride_construction_widgets[WIDX_BANK_RIGHT].image = SPR_RIDE_CONSTRUCTION_RIGHT_BANK; - window_ride_construction_widgets[WIDX_BANK_RIGHT].tooltip = STR_RIDE_CONSTRUCTION_ROLL_FOR_RIGHT_CURVE_TIP; - window_ride_construction_widgets[WIDX_BANK_RIGHT].left = 95; - window_ride_construction_widgets[WIDX_BANK_RIGHT].right = 118; - window_ride_construction_widgets[WIDX_BANK_RIGHT].top = 132; - window_ride_construction_widgets[WIDX_BANK_RIGHT].bottom = 155; - window_ride_construction_widgets[WIDX_BANK_LEFT].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_BANK_RIGHT].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_U_TRACK].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_O_TRACK].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].image = STR_RIDE_CONSTRUCTION_ROLL_BANKING; + window_ride_construction_widgets[WIDX_BANK_LEFT].image = SPR_RIDE_CONSTRUCTION_LEFT_BANK; + window_ride_construction_widgets[WIDX_BANK_LEFT].tooltip = STR_RIDE_CONSTRUCTION_ROLL_FOR_LEFT_CURVE_TIP; + window_ride_construction_widgets[WIDX_BANK_LEFT].left = 47; + window_ride_construction_widgets[WIDX_BANK_LEFT].right = 70; + window_ride_construction_widgets[WIDX_BANK_LEFT].top = 132; + window_ride_construction_widgets[WIDX_BANK_LEFT].bottom = 155; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].image = SPR_RIDE_CONSTRUCTION_NO_BANK; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].tooltip = STR_RIDE_CONSTRUCTION_NO_ROLL_TIP; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].left = 71; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].right = 94; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].top = 132; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].bottom = 155; + window_ride_construction_widgets[WIDX_BANK_RIGHT].image = SPR_RIDE_CONSTRUCTION_RIGHT_BANK; + window_ride_construction_widgets[WIDX_BANK_RIGHT].tooltip = STR_RIDE_CONSTRUCTION_ROLL_FOR_RIGHT_CURVE_TIP; + window_ride_construction_widgets[WIDX_BANK_RIGHT].left = 95; + window_ride_construction_widgets[WIDX_BANK_RIGHT].right = 118; + window_ride_construction_widgets[WIDX_BANK_RIGHT].top = 132; + window_ride_construction_widgets[WIDX_BANK_RIGHT].bottom = 155; + window_ride_construction_widgets[WIDX_BANK_LEFT].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_BANK_RIGHT].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_U_TRACK].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_O_TRACK].type = WWT_EMPTY; - bool brakesSelected = _selectedTrackType == TRACK_ELEM_BRAKES || _currentTrackCurve == (0x100 | TRACK_ELEM_BRAKES); - _boosterTrackSelected = ride->type != RIDE_TYPE_WILD_MOUSE && (_selectedTrackType == TRACK_ELEM_BOOSTER || _currentTrackCurve == (0x100 | TRACK_ELEM_BOOSTER)); + bool brakesSelected = _selectedTrackType == TRACK_ELEM_BRAKES || _currentTrackCurve == (0x100 | TRACK_ELEM_BRAKES); + _boosterTrackSelected = ride->type != RIDE_TYPE_WILD_MOUSE && (_selectedTrackType == TRACK_ELEM_BOOSTER || _currentTrackCurve == (0x100 | TRACK_ELEM_BOOSTER)); - if (!brakesSelected && !_boosterTrackSelected) { - if (is_track_enabled(TRACK_FLAT_ROLL_BANKING)) { - window_ride_construction_widgets[WIDX_BANK_LEFT].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_BANK_RIGHT].type = WWT_FLATBTN; - } - if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES)) { - if (rideType == RIDE_TYPE_WATER_COASTER) { - window_ride_construction_widgets[WIDX_U_TRACK].image = SPR_RIDE_CONSTRUCTION_RC_TRACK; - window_ride_construction_widgets[WIDX_O_TRACK].image = SPR_RIDE_CONSTRUCTION_WATER_CHANNEL; - window_ride_construction_widgets[WIDX_U_TRACK].tooltip = STR_RIDE_CONSTRUCTION_STANDARD_RC_TRACK_TIP; - window_ride_construction_widgets[WIDX_O_TRACK].tooltip = STR_RIDE_CONSTRUCTION_WATER_CHANNEL_TIP; - if (_currentTrackCurve < TRACK_CURVE_LEFT_SMALL && _currentTrackSlopeEnd == TRACK_SLOPE_NONE && _currentTrackBankEnd == TRACK_BANK_NONE) { - window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_TRACK_STYLE; - window_ride_construction_widgets[WIDX_U_TRACK].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_O_TRACK].type = WWT_FLATBTN; - } - } else { - window_ride_construction_widgets[WIDX_U_TRACK].image = SPR_RIDE_CONSTRUCTION_U_SHAPED_TRACK; - window_ride_construction_widgets[WIDX_O_TRACK].image = SPR_RIDE_CONSTRUCTION_O_SHAPED_TRACK; - window_ride_construction_widgets[WIDX_U_TRACK].tooltip = STR_RIDE_CONSTRUCTION_U_SHAPED_OPEN_TRACK_TIP; - window_ride_construction_widgets[WIDX_O_TRACK].tooltip = STR_RIDE_CONSTRUCTION_O_SHAPED_ENCLOSED_TRACK_TIP; - window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_TRACK_STYLE; - window_ride_construction_widgets[WIDX_U_TRACK].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_O_TRACK].type = WWT_FLATBTN; - } - } - } else { - if (brakesSelected) - window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_BRAKE_SPEED; - else - window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_BOOSTER_SPEED; + if (!brakesSelected && !_boosterTrackSelected) { + if (is_track_enabled(TRACK_FLAT_ROLL_BANKING)) { + window_ride_construction_widgets[WIDX_BANK_LEFT].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_BANK_RIGHT].type = WWT_FLATBTN; + } + if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES)) { + if (rideType == RIDE_TYPE_WATER_COASTER) { + window_ride_construction_widgets[WIDX_U_TRACK].image = SPR_RIDE_CONSTRUCTION_RC_TRACK; + window_ride_construction_widgets[WIDX_O_TRACK].image = SPR_RIDE_CONSTRUCTION_WATER_CHANNEL; + window_ride_construction_widgets[WIDX_U_TRACK].tooltip = STR_RIDE_CONSTRUCTION_STANDARD_RC_TRACK_TIP; + window_ride_construction_widgets[WIDX_O_TRACK].tooltip = STR_RIDE_CONSTRUCTION_WATER_CHANNEL_TIP; + if (_currentTrackCurve < TRACK_CURVE_LEFT_SMALL && _currentTrackSlopeEnd == TRACK_SLOPE_NONE && _currentTrackBankEnd == TRACK_BANK_NONE) { + window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_TRACK_STYLE; + window_ride_construction_widgets[WIDX_U_TRACK].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_O_TRACK].type = WWT_FLATBTN; + } + } else { + window_ride_construction_widgets[WIDX_U_TRACK].image = SPR_RIDE_CONSTRUCTION_U_SHAPED_TRACK; + window_ride_construction_widgets[WIDX_O_TRACK].image = SPR_RIDE_CONSTRUCTION_O_SHAPED_TRACK; + window_ride_construction_widgets[WIDX_U_TRACK].tooltip = STR_RIDE_CONSTRUCTION_U_SHAPED_OPEN_TRACK_TIP; + window_ride_construction_widgets[WIDX_O_TRACK].tooltip = STR_RIDE_CONSTRUCTION_O_SHAPED_ENCLOSED_TRACK_TIP; + window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_TRACK_STYLE; + window_ride_construction_widgets[WIDX_U_TRACK].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_O_TRACK].type = WWT_FLATBTN; + } + } + } else { + if (brakesSelected) + window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_BRAKE_SPEED; + else + window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_BOOSTER_SPEED; - _currentlyShowingBrakeSpeed = 1; - window_ride_construction_widgets[WIDX_BANK_LEFT].text = STR_RIDE_CONSTRUCTION_BRAKE_SPEED_VELOCITY; - window_ride_construction_widgets[WIDX_BANK_LEFT].tooltip = STR_RIDE_CONSTRUCTION_BRAKE_SPEED_LIMIT_TIP; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].tooltip = STR_RIDE_CONSTRUCTION_BRAKE_SPEED_LIMIT_TIP; - window_ride_construction_widgets[WIDX_BANK_RIGHT].tooltip = STR_RIDE_CONSTRUCTION_BRAKE_SPEED_LIMIT_TIP; - window_ride_construction_widgets[WIDX_BANK_LEFT].type = WWT_SPINNER; - window_ride_construction_widgets[WIDX_BANK_LEFT].left = 12; - window_ride_construction_widgets[WIDX_BANK_LEFT].right = 83; - window_ride_construction_widgets[WIDX_BANK_LEFT].top = 138; - window_ride_construction_widgets[WIDX_BANK_LEFT].bottom = 149; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].type = WWT_DROPDOWN_BUTTON; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].text = STR_NUMERIC_UP; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].left = 72; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].right = 82; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].top = 139; - window_ride_construction_widgets[WIDX_BANK_STRAIGHT].bottom = 143; - window_ride_construction_widgets[WIDX_BANK_RIGHT].type = WWT_DROPDOWN_BUTTON; - window_ride_construction_widgets[WIDX_BANK_RIGHT].text = STR_NUMERIC_DOWN; - window_ride_construction_widgets[WIDX_BANK_RIGHT].left = 72; - window_ride_construction_widgets[WIDX_BANK_RIGHT].right = 82; - window_ride_construction_widgets[WIDX_BANK_RIGHT].top = 144; - window_ride_construction_widgets[WIDX_BANK_RIGHT].bottom = 148; - w->hold_down_widgets |= (1 << WIDX_BANK_STRAIGHT) | (1 << WIDX_BANK_RIGHT); - } + _currentlyShowingBrakeSpeed = 1; + window_ride_construction_widgets[WIDX_BANK_LEFT].text = STR_RIDE_CONSTRUCTION_BRAKE_SPEED_VELOCITY; + window_ride_construction_widgets[WIDX_BANK_LEFT].tooltip = STR_RIDE_CONSTRUCTION_BRAKE_SPEED_LIMIT_TIP; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].tooltip = STR_RIDE_CONSTRUCTION_BRAKE_SPEED_LIMIT_TIP; + window_ride_construction_widgets[WIDX_BANK_RIGHT].tooltip = STR_RIDE_CONSTRUCTION_BRAKE_SPEED_LIMIT_TIP; + window_ride_construction_widgets[WIDX_BANK_LEFT].type = WWT_SPINNER; + window_ride_construction_widgets[WIDX_BANK_LEFT].left = 12; + window_ride_construction_widgets[WIDX_BANK_LEFT].right = 83; + window_ride_construction_widgets[WIDX_BANK_LEFT].top = 138; + window_ride_construction_widgets[WIDX_BANK_LEFT].bottom = 149; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].type = WWT_DROPDOWN_BUTTON; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].text = STR_NUMERIC_UP; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].left = 72; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].right = 82; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].top = 139; + window_ride_construction_widgets[WIDX_BANK_STRAIGHT].bottom = 143; + window_ride_construction_widgets[WIDX_BANK_RIGHT].type = WWT_DROPDOWN_BUTTON; + window_ride_construction_widgets[WIDX_BANK_RIGHT].text = STR_NUMERIC_DOWN; + window_ride_construction_widgets[WIDX_BANK_RIGHT].left = 72; + window_ride_construction_widgets[WIDX_BANK_RIGHT].right = 82; + window_ride_construction_widgets[WIDX_BANK_RIGHT].top = 144; + window_ride_construction_widgets[WIDX_BANK_RIGHT].bottom = 148; + w->hold_down_widgets |= (1 << WIDX_BANK_STRAIGHT) | (1 << WIDX_BANK_RIGHT); + } - window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].right = 162; - window_ride_construction_widgets[WIDX_SEAT_ROTATION_GROUPBOX].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER].type = 0; - window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP].type = 0; - window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN].type = 0; - if ( - (rideType == RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER || rideType == RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT) && - _selectedTrackType != TRACK_ELEM_BRAKES && - _currentTrackCurve != (0x100 | TRACK_ELEM_BRAKES) - ) { - window_ride_construction_widgets[WIDX_SEAT_ROTATION_GROUPBOX].type = WWT_GROUPBOX; - window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER].type = WWT_SPINNER; - window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP].type = WWT_DROPDOWN_BUTTON; - window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN].type = WWT_DROPDOWN_BUTTON; - window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].right = 92; - if (window_ride_construction_widgets[WIDX_BANK_LEFT].type != WWT_SPINNER) { - for (sint32 i = WIDX_BANK_LEFT; i <= WIDX_BANK_RIGHT; i++) { - window_ride_construction_widgets[i].left -= 36; - window_ride_construction_widgets[i].right -= 36; - } - } - } + window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].right = 162; + window_ride_construction_widgets[WIDX_SEAT_ROTATION_GROUPBOX].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER].type = 0; + window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP].type = 0; + window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN].type = 0; + if ( + (rideType == RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER || rideType == RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT) && + _selectedTrackType != TRACK_ELEM_BRAKES && + _currentTrackCurve != (0x100 | TRACK_ELEM_BRAKES) + ) { + window_ride_construction_widgets[WIDX_SEAT_ROTATION_GROUPBOX].type = WWT_GROUPBOX; + window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER].type = WWT_SPINNER; + window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP].type = WWT_DROPDOWN_BUTTON; + window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN].type = WWT_DROPDOWN_BUTTON; + window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].right = 92; + if (window_ride_construction_widgets[WIDX_BANK_LEFT].type != WWT_SPINNER) { + for (sint32 i = WIDX_BANK_LEFT; i <= WIDX_BANK_RIGHT; i++) { + window_ride_construction_widgets[i].left -= 36; + window_ride_construction_widgets[i].right -= 36; + } + } + } - uint64 pressedWidgets = w->pressed_widgets & ( - (1 << WIDX_BACKGROUND) | - (1 << WIDX_TITLE) | - (1 << WIDX_CLOSE) | - (1 << WIDX_DIRECTION_GROUPBOX) | - (1 << WIDX_SLOPE_GROUPBOX) | - (1 << WIDX_BANKING_GROUPBOX) | - (1 << WIDX_CONSTRUCT) | - (1 << WIDX_DEMOLISH) | - (1 << WIDX_PREVIOUS_SECTION) | - (1 << WIDX_NEXT_SECTION) | - (1 << WIDX_ENTRANCE_EXIT_GROUPBOX) | - (1 << WIDX_ENTRANCE) | - (1 << WIDX_EXIT) - ); + uint64 pressedWidgets = w->pressed_widgets & ( + (1 << WIDX_BACKGROUND) | + (1 << WIDX_TITLE) | + (1 << WIDX_CLOSE) | + (1 << WIDX_DIRECTION_GROUPBOX) | + (1 << WIDX_SLOPE_GROUPBOX) | + (1 << WIDX_BANKING_GROUPBOX) | + (1 << WIDX_CONSTRUCT) | + (1 << WIDX_DEMOLISH) | + (1 << WIDX_PREVIOUS_SECTION) | + (1 << WIDX_NEXT_SECTION) | + (1 << WIDX_ENTRANCE_EXIT_GROUPBOX) | + (1 << WIDX_ENTRANCE) | + (1 << WIDX_EXIT) + ); - window_ride_construction_widgets[WIDX_CONSTRUCT].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_DEMOLISH].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_ROTATE].type = WWT_EMPTY; - if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS)) { - window_ride_construction_widgets[WIDX_PREVIOUS_SECTION].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_NEXT_SECTION].type = WWT_EMPTY; - } else { - window_ride_construction_widgets[WIDX_PREVIOUS_SECTION].type = WWT_FLATBTN; - window_ride_construction_widgets[WIDX_NEXT_SECTION].type = WWT_FLATBTN; - } + window_ride_construction_widgets[WIDX_CONSTRUCT].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_DEMOLISH].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_ROTATE].type = WWT_EMPTY; + if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS)) { + window_ride_construction_widgets[WIDX_PREVIOUS_SECTION].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_NEXT_SECTION].type = WWT_EMPTY; + } else { + window_ride_construction_widgets[WIDX_PREVIOUS_SECTION].type = WWT_FLATBTN; + window_ride_construction_widgets[WIDX_NEXT_SECTION].type = WWT_FLATBTN; + } - switch (_rideConstructionState) { - case RIDE_CONSTRUCTION_STATE_FRONT: - window_ride_construction_widgets[WIDX_CONSTRUCT].type = WWT_IMGBTN; - window_ride_construction_widgets[WIDX_NEXT_SECTION].type = WWT_EMPTY; - break; - case RIDE_CONSTRUCTION_STATE_BACK: - window_ride_construction_widgets[WIDX_CONSTRUCT].type = WWT_IMGBTN; - window_ride_construction_widgets[WIDX_PREVIOUS_SECTION].type = WWT_EMPTY; - break; - case RIDE_CONSTRUCTION_STATE_PLACE: - window_ride_construction_widgets[WIDX_CONSTRUCT].type = WWT_IMGBTN; - window_ride_construction_widgets[WIDX_DEMOLISH].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_NEXT_SECTION].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_PREVIOUS_SECTION].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_ROTATE].type = WWT_FLATBTN; - break; - case RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT: - window_ride_construction_widgets[WIDX_DEMOLISH].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_NEXT_SECTION].type = WWT_EMPTY; - window_ride_construction_widgets[WIDX_PREVIOUS_SECTION].type = WWT_EMPTY; - break; - default: - w->pressed_widgets = pressedWidgets; - window_invalidate(w); - return; - } + switch (_rideConstructionState) { + case RIDE_CONSTRUCTION_STATE_FRONT: + window_ride_construction_widgets[WIDX_CONSTRUCT].type = WWT_IMGBTN; + window_ride_construction_widgets[WIDX_NEXT_SECTION].type = WWT_EMPTY; + break; + case RIDE_CONSTRUCTION_STATE_BACK: + window_ride_construction_widgets[WIDX_CONSTRUCT].type = WWT_IMGBTN; + window_ride_construction_widgets[WIDX_PREVIOUS_SECTION].type = WWT_EMPTY; + break; + case RIDE_CONSTRUCTION_STATE_PLACE: + window_ride_construction_widgets[WIDX_CONSTRUCT].type = WWT_IMGBTN; + window_ride_construction_widgets[WIDX_DEMOLISH].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_NEXT_SECTION].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_PREVIOUS_SECTION].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_ROTATE].type = WWT_FLATBTN; + break; + case RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT: + window_ride_construction_widgets[WIDX_DEMOLISH].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_NEXT_SECTION].type = WWT_EMPTY; + window_ride_construction_widgets[WIDX_PREVIOUS_SECTION].type = WWT_EMPTY; + break; + default: + w->pressed_widgets = pressedWidgets; + window_invalidate(w); + return; + } - rct_widgetindex widgetIndex; - switch (_currentTrackCurve) { - case TRACK_CURVE_NONE: - widgetIndex = WIDX_STRAIGHT; - break; - case TRACK_CURVE_LEFT: - widgetIndex = WIDX_LEFT_CURVE; - break; - case TRACK_CURVE_RIGHT: - widgetIndex = WIDX_RIGHT_CURVE; - break; - case TRACK_CURVE_LEFT_SMALL: - widgetIndex = WIDX_LEFT_CURVE_SMALL; - break; - case TRACK_CURVE_RIGHT_SMALL: - widgetIndex = WIDX_RIGHT_CURVE_SMALL; - break; - case TRACK_CURVE_LEFT_VERY_SMALL: - widgetIndex = WIDX_LEFT_CURVE_VERY_SMALL; - break; - case TRACK_CURVE_RIGHT_VERY_SMALL: - widgetIndex = WIDX_RIGHT_CURVE_VERY_SMALL; - break; - case TRACK_CURVE_LEFT_LARGE: - widgetIndex = WIDX_LEFT_CURVE_LARGE; - break; - case TRACK_CURVE_RIGHT_LARGE: - widgetIndex = WIDX_RIGHT_CURVE_LARGE; - break; - default: - widgetIndex = WIDX_SPECIAL_TRACK_DROPDOWN; - break; - } - pressedWidgets |= (1ULL << widgetIndex); + rct_widgetindex widgetIndex; + switch (_currentTrackCurve) { + case TRACK_CURVE_NONE: + widgetIndex = WIDX_STRAIGHT; + break; + case TRACK_CURVE_LEFT: + widgetIndex = WIDX_LEFT_CURVE; + break; + case TRACK_CURVE_RIGHT: + widgetIndex = WIDX_RIGHT_CURVE; + break; + case TRACK_CURVE_LEFT_SMALL: + widgetIndex = WIDX_LEFT_CURVE_SMALL; + break; + case TRACK_CURVE_RIGHT_SMALL: + widgetIndex = WIDX_RIGHT_CURVE_SMALL; + break; + case TRACK_CURVE_LEFT_VERY_SMALL: + widgetIndex = WIDX_LEFT_CURVE_VERY_SMALL; + break; + case TRACK_CURVE_RIGHT_VERY_SMALL: + widgetIndex = WIDX_RIGHT_CURVE_VERY_SMALL; + break; + case TRACK_CURVE_LEFT_LARGE: + widgetIndex = WIDX_LEFT_CURVE_LARGE; + break; + case TRACK_CURVE_RIGHT_LARGE: + widgetIndex = WIDX_RIGHT_CURVE_LARGE; + break; + default: + widgetIndex = WIDX_SPECIAL_TRACK_DROPDOWN; + break; + } + pressedWidgets |= (1ULL << widgetIndex); - switch (_currentTrackSlopeEnd) { - case TRACK_SLOPE_DOWN_60: - case TRACK_SLOPE_UP_90: - widgetIndex = WIDX_SLOPE_DOWN_STEEP; - break; - case TRACK_SLOPE_DOWN_25: - widgetIndex = WIDX_SLOPE_DOWN; - break; - case TRACK_SLOPE_UP_25: - widgetIndex = WIDX_SLOPE_UP; - break; - case TRACK_SLOPE_UP_60: - case TRACK_SLOPE_DOWN_90: - widgetIndex = WIDX_SLOPE_UP_STEEP; - break; - default: - widgetIndex = WIDX_LEVEL; - break; - } - pressedWidgets |= (1ULL << widgetIndex); + switch (_currentTrackSlopeEnd) { + case TRACK_SLOPE_DOWN_60: + case TRACK_SLOPE_UP_90: + widgetIndex = WIDX_SLOPE_DOWN_STEEP; + break; + case TRACK_SLOPE_DOWN_25: + widgetIndex = WIDX_SLOPE_DOWN; + break; + case TRACK_SLOPE_UP_25: + widgetIndex = WIDX_SLOPE_UP; + break; + case TRACK_SLOPE_UP_60: + case TRACK_SLOPE_DOWN_90: + widgetIndex = WIDX_SLOPE_UP_STEEP; + break; + default: + widgetIndex = WIDX_LEVEL; + break; + } + pressedWidgets |= (1ULL << widgetIndex); - if (_currentlyShowingBrakeSpeed == 0) { - if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES)) { - if (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_PIECES) { - w->pressed_widgets |= (1ULL << WIDX_O_TRACK); - } else { - w->pressed_widgets |= (1ULL << WIDX_U_TRACK); - } - } - switch (_currentTrackBankEnd) { - case TRACK_BANK_LEFT: - widgetIndex = WIDX_BANK_LEFT; - break; - case TRACK_BANK_NONE: - widgetIndex = WIDX_BANK_STRAIGHT; - break; - default: - widgetIndex = WIDX_BANK_RIGHT; - break; - } - pressedWidgets |= (1ULL << widgetIndex); - } + if (_currentlyShowingBrakeSpeed == 0) { + if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES)) { + if (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_PIECES) { + w->pressed_widgets |= (1ULL << WIDX_O_TRACK); + } else { + w->pressed_widgets |= (1ULL << WIDX_U_TRACK); + } + } + switch (_currentTrackBankEnd) { + case TRACK_BANK_LEFT: + widgetIndex = WIDX_BANK_LEFT; + break; + case TRACK_BANK_NONE: + widgetIndex = WIDX_BANK_STRAIGHT; + break; + default: + widgetIndex = WIDX_BANK_RIGHT; + break; + } + pressedWidgets |= (1ULL << widgetIndex); + } - if (_currentTrackLiftHill & 1) - pressedWidgets |= (1 << WIDX_CHAIN_LIFT); + if (_currentTrackLiftHill & 1) + pressedWidgets |= (1 << WIDX_CHAIN_LIFT); - w->pressed_widgets = pressedWidgets; - window_invalidate(w); + w->pressed_widgets = pressedWidgets; + window_invalidate(w); } static void window_ride_construction_select_map_tiles(rct_ride *ride, sint32 trackType, sint32 trackDirection, sint32 x, sint32 y) { - const rct_preview_track *trackBlock; - sint32 offsetX, offsetY; + const rct_preview_track *trackBlock; + sint32 offsetX, offsetY; - trackBlock = get_track_def_from_ride(ride, trackType); - trackDirection &= 3; - sint32 selectionTileIndex = 0; - while (trackBlock->index != 255) { - switch (trackDirection) { - default: - case 0: - offsetX = trackBlock->x; - offsetY = trackBlock->y; - break; - case 1: - offsetX = trackBlock->y; - offsetY = -trackBlock->x; - break; - case 2: - offsetX = -trackBlock->x; - offsetY = -trackBlock->y; - break; - case 3: - offsetX = -trackBlock->y; - offsetY = trackBlock->x; - break; - } - gMapSelectionTiles[selectionTileIndex].x = x + offsetX; - gMapSelectionTiles[selectionTileIndex].y = y + offsetY; - selectionTileIndex++; - trackBlock++; - } - gMapSelectionTiles[selectionTileIndex].x = -1; - gMapSelectionTiles[selectionTileIndex].y = -1; + trackBlock = get_track_def_from_ride(ride, trackType); + trackDirection &= 3; + sint32 selectionTileIndex = 0; + while (trackBlock->index != 255) { + switch (trackDirection) { + default: + case 0: + offsetX = trackBlock->x; + offsetY = trackBlock->y; + break; + case 1: + offsetX = trackBlock->y; + offsetY = -trackBlock->x; + break; + case 2: + offsetX = -trackBlock->x; + offsetY = -trackBlock->y; + break; + case 3: + offsetX = -trackBlock->y; + offsetY = trackBlock->x; + break; + } + gMapSelectionTiles[selectionTileIndex].x = x + offsetX; + gMapSelectionTiles[selectionTileIndex].y = y + offsetY; + selectionTileIndex++; + trackBlock++; + } + gMapSelectionTiles[selectionTileIndex].x = -1; + gMapSelectionTiles[selectionTileIndex].y = -1; } /** @@ -3540,40 +3540,40 @@ static void window_ride_construction_select_map_tiles(rct_ride *ride, sint32 tra */ static void window_ride_construction_show_special_track_dropdown(rct_window *w, rct_widget *widget) { - sint32 defaultIndex = -1; - for (sint32 i = 0; i < _numCurrentPossibleRideConfigurations; i++) { - uint8 trackPiece = _currentPossibleRideConfigurations[i]; - rct_string_id trackPieceStringId = RideConfigurationStringIds[trackPiece]; - if (trackPieceStringId == STR_RAPIDS) { - rct_ride *ride = get_ride(_currentRideIndex); - if (ride->type == RIDE_TYPE_CAR_RIDE) - trackPieceStringId = STR_LOG_BUMPS; + sint32 defaultIndex = -1; + for (sint32 i = 0; i < _numCurrentPossibleRideConfigurations; i++) { + uint8 trackPiece = _currentPossibleRideConfigurations[i]; + rct_string_id trackPieceStringId = RideConfigurationStringIds[trackPiece]; + if (trackPieceStringId == STR_RAPIDS) { + rct_ride *ride = get_ride(_currentRideIndex); + if (ride->type == RIDE_TYPE_CAR_RIDE) + trackPieceStringId = STR_LOG_BUMPS; - } - if (trackPieceStringId == STR_SPINNING_CONTROL_TOGGLE_TRACK) { - rct_ride *ride = get_ride(_currentRideIndex); - if (ride->type != RIDE_TYPE_WILD_MOUSE) - trackPieceStringId = STR_BOOSTER; - } - gDropdownItemsFormat[i] = trackPieceStringId; - if ((trackPiece | 0x100) == _currentTrackCurve) { - defaultIndex = i; - } - } + } + if (trackPieceStringId == STR_SPINNING_CONTROL_TOGGLE_TRACK) { + rct_ride *ride = get_ride(_currentRideIndex); + if (ride->type != RIDE_TYPE_WILD_MOUSE) + trackPieceStringId = STR_BOOSTER; + } + gDropdownItemsFormat[i] = trackPieceStringId; + if ((trackPiece | 0x100) == _currentTrackCurve) { + defaultIndex = i; + } + } - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - 0, - _numCurrentPossibleRideConfigurations, - widget->right - widget->left - ); + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + 0, + _numCurrentPossibleRideConfigurations, + widget->right - widget->left + ); - gDropdownItemsDisabled = _currentDisabledSpecialTrackPieces; - gDropdownDefaultIndex = defaultIndex; + gDropdownItemsDisabled = _currentDisabledSpecialTrackPieces; + gDropdownDefaultIndex = defaultIndex; } /** @@ -3582,12 +3582,12 @@ static void window_ride_construction_show_special_track_dropdown(rct_window *w, */ static void ride_selected_track_set_seat_rotation(sint32 seatRotation) { - sint32 x, y, z; - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - sub_6C683D(&x, &y, &z, _currentTrackPieceDirection & 3, _currentTrackPieceType, seatRotation, NULL, (1 << 5)); - window_ride_construction_update_active_elements(); + sint32 x, y, z; + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + sub_6C683D(&x, &y, &z, _currentTrackPieceDirection & 3, _currentTrackPieceType, seatRotation, NULL, (1 << 5)); + window_ride_construction_update_active_elements(); } /** @@ -3596,14 +3596,14 @@ static void ride_selected_track_set_seat_rotation(sint32 seatRotation) */ static void loc_6C7502(sint32 al) { - _currentTrackSlopeEnd = al; - _currentTrackPrice = MONEY32_UNDEFINED; - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { - if (al != 2 && al != 4 && al != 0) { - _currentTrackLiftHill &= ~1; - } - } - window_ride_construction_update_active_elements(); + _currentTrackSlopeEnd = al; + _currentTrackPrice = MONEY32_UNDEFINED; + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) { + if (al != 2 && al != 4 && al != 0) { + _currentTrackLiftHill &= ~1; + } + } + window_ride_construction_update_active_elements(); } /** @@ -3612,24 +3612,24 @@ static void loc_6C7502(sint32 al) */ static void ride_construction_set_brakes_speed(sint32 brakesSpeed) { - rct_map_element *mapElement; - sint32 x, y, z; + rct_map_element *mapElement; + sint32 x, y, z; - x = _currentTrackBeginX; - y = _currentTrackBeginY; - z = _currentTrackBeginZ; - if (!sub_6C683D(&x, &y, &z, _currentTrackPieceDirection & 3, _currentTrackPieceType, 0, &mapElement, 0)) { - game_do_command( - _currentTrackBeginX, - GAME_COMMAND_FLAG_APPLY | ((brakesSpeed) << 8), - _currentTrackBeginY, - mapElement->properties.track.type, - GAME_COMMAND_SET_BRAKES_SPEED, - _currentTrackBeginZ, - 0 - ); - } - window_ride_construction_update_active_elements(); + x = _currentTrackBeginX; + y = _currentTrackBeginY; + z = _currentTrackBeginZ; + if (!sub_6C683D(&x, &y, &z, _currentTrackPieceDirection & 3, _currentTrackPieceType, 0, &mapElement, 0)) { + game_do_command( + _currentTrackBeginX, + GAME_COMMAND_FLAG_APPLY | ((brakesSpeed) << 8), + _currentTrackBeginY, + mapElement->properties.track.type, + GAME_COMMAND_SET_BRAKES_SPEED, + _currentTrackBeginZ, + 0 + ); + } + window_ride_construction_update_active_elements(); } /** @@ -3638,139 +3638,139 @@ static void ride_construction_set_brakes_speed(sint32 brakesSpeed) */ void ride_construction_toolupdate_construct(sint32 screenX, sint32 screenY) { - sint32 x, y, z; - rct_ride *ride; - const rct_preview_track *trackBlock; + sint32 x, y, z; + rct_ride *ride; + const rct_preview_track *trackBlock; - map_invalidate_map_selection_tiles(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - if (!ride_get_place_position_from_screen_position(screenX, screenY, &x, &y)) { - ride_construction_invalidate_current_track(); - map_invalidate_map_selection_tiles(); - return; - } + map_invalidate_map_selection_tiles(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + if (!ride_get_place_position_from_screen_position(screenX, screenY, &x, &y)) { + ride_construction_invalidate_current_track(); + map_invalidate_map_selection_tiles(); + return; + } - z = _trackPlaceZ; - if (z == 0) - z = map_get_highest_z(x >> 5, y >> 5); + z = _trackPlaceZ; + if (z == 0) + z = map_get_highest_z(x >> 5, y >> 5); - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; - gMapSelectFlags &= ~MAP_SELECT_FLAG_GREEN; - gMapSelectArrowDirection = _currentTrackPieceDirection; - gMapSelectArrowPosition.x = x; - gMapSelectArrowPosition.y = y; - gMapSelectArrowPosition.z = z; - gMapSelectionTiles[0].x = x; - gMapSelectionTiles[0].y = y; - gMapSelectionTiles[1].x = -1; - gMapSelectionTiles[1].y = -1; + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; + gMapSelectFlags &= ~MAP_SELECT_FLAG_GREEN; + gMapSelectArrowDirection = _currentTrackPieceDirection; + gMapSelectArrowPosition.x = x; + gMapSelectArrowPosition.y = y; + gMapSelectArrowPosition.z = z; + gMapSelectionTiles[0].x = x; + gMapSelectionTiles[0].y = y; + gMapSelectionTiles[1].x = -1; + gMapSelectionTiles[1].y = -1; - sint32 trackType, trackDirection, rideIndex, edxRS16; - if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, NULL, NULL, NULL, NULL)) { - ride_construction_invalidate_current_track(); - map_invalidate_map_selection_tiles(); - return; - } - _currentTrackPieceType = trackType; - ride = get_ride(_currentRideIndex); + sint32 trackType, trackDirection, rideIndex, edxRS16; + if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, NULL, NULL, NULL, NULL)) { + ride_construction_invalidate_current_track(); + map_invalidate_map_selection_tiles(); + return; + } + _currentTrackPieceType = trackType; + ride = get_ride(_currentRideIndex); - // Re-using this other code, very slight difference from original - // - Original code checks for MSB mask instead of 255 on trackPart->var_00 - // - Original code checks this first as its already set origin tile, probably just a micro optimisation - window_ride_construction_select_map_tiles(ride, trackType, trackDirection, x, y); + // Re-using this other code, very slight difference from original + // - Original code checks for MSB mask instead of 255 on trackPart->var_00 + // - Original code checks this first as its already set origin tile, probably just a micro optimisation + window_ride_construction_select_map_tiles(ride, trackType, trackDirection, x, y); - gMapSelectArrowPosition.z = z; - if (_trackPlaceZ == 0) { - // Raise z above all slopes and water - if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE_CONSTRUCT) { - sint32 highestZ = 0; - rct_xy16 *selectedTile = gMapSelectionTiles; - while (selectedTile->x != -1) { - if (selectedTile->x < (256 * 32) && selectedTile->y < (256 * 32)) { - z = map_get_highest_z(selectedTile->x >> 5, selectedTile->y >> 5); - if (z > highestZ) - highestZ = z; - } - selectedTile++; - } - } - // loc_6CC8BF: - // z = map_get_highest_z(x >> 5, y >> 5); - } - // loc_6CC91B: - trackBlock = get_track_def_from_ride(ride, trackType); - sint32 bx = 0; - do { - bx = min(bx, trackBlock->z); - trackBlock++; - } while (trackBlock->index != 255); - z -= bx; + gMapSelectArrowPosition.z = z; + if (_trackPlaceZ == 0) { + // Raise z above all slopes and water + if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE_CONSTRUCT) { + sint32 highestZ = 0; + rct_xy16 *selectedTile = gMapSelectionTiles; + while (selectedTile->x != -1) { + if (selectedTile->x < (256 * 32) && selectedTile->y < (256 * 32)) { + z = map_get_highest_z(selectedTile->x >> 5, selectedTile->y >> 5); + if (z > highestZ) + highestZ = z; + } + selectedTile++; + } + } + // loc_6CC8BF: + // z = map_get_highest_z(x >> 5, y >> 5); + } + // loc_6CC91B: + trackBlock = get_track_def_from_ride(ride, trackType); + sint32 bx = 0; + do { + bx = min(bx, trackBlock->z); + trackBlock++; + } while (trackBlock->index != 255); + z -= bx; - gMapSelectArrowPosition.z = z; - bx = 41; - _currentTrackBeginX = x; - _currentTrackBeginY = y; - _currentTrackBeginZ = z; - if ( - (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_TRACK) && - x == _previousTrackPieceX && - y == _previousTrackPieceY && - z == _previousTrackPieceZ - ) { - map_invalidate_map_selection_tiles(); - return; - } + gMapSelectArrowPosition.z = z; + bx = 41; + _currentTrackBeginX = x; + _currentTrackBeginY = y; + _currentTrackBeginZ = z; + if ( + (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_TRACK) && + x == _previousTrackPieceX && + y == _previousTrackPieceY && + z == _previousTrackPieceZ + ) { + map_invalidate_map_selection_tiles(); + return; + } - _previousTrackPieceX = x; - _previousTrackPieceY = y; - _previousTrackPieceZ = z; - if (ride->type == RIDE_TYPE_MAZE) { - for (;;) { - sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, &x, &y, &z, NULL); - _currentTrackPrice = place_provisional_track_piece(rideIndex, trackType, trackDirection, edxRS16, x, y, z); - if (_currentTrackPrice != MONEY32_UNDEFINED) - break; + _previousTrackPieceX = x; + _previousTrackPieceY = y; + _previousTrackPieceZ = z; + if (ride->type == RIDE_TYPE_MAZE) { + for (;;) { + sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, &x, &y, &z, NULL); + _currentTrackPrice = place_provisional_track_piece(rideIndex, trackType, trackDirection, edxRS16, x, y, z); + if (_currentTrackPrice != MONEY32_UNDEFINED) + break; - bx--; - if (bx == 0) - break; + bx--; + if (bx == 0) + break; - _currentTrackBeginZ -= 8; - if (_currentTrackBeginZ & 0x8000) - break; + _currentTrackBeginZ -= 8; + if (_currentTrackBeginZ & 0x8000) + break; - if (bx >= 0) - _currentTrackBeginZ += 16; - } + if (bx >= 0) + _currentTrackBeginZ += 16; + } - window_maze_construction_update_pressed_widgets(); - map_invalidate_map_selection_tiles(); - return; - } + window_maze_construction_update_pressed_widgets(); + map_invalidate_map_selection_tiles(); + return; + } - for (;;) { - sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, &x, &y, &z, NULL); - _currentTrackPrice = place_provisional_track_piece(rideIndex, trackType, trackDirection, edxRS16, x, y, z); - if (_currentTrackPrice != MONEY32_UNDEFINED) - break; + for (;;) { + sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, &x, &y, &z, NULL); + _currentTrackPrice = place_provisional_track_piece(rideIndex, trackType, trackDirection, edxRS16, x, y, z); + if (_currentTrackPrice != MONEY32_UNDEFINED) + break; - bx--; - if (bx == 0) - break; + bx--; + if (bx == 0) + break; - _currentTrackBeginZ -= 8; - if (_currentTrackBeginZ & 0x8000) - break; + _currentTrackBeginZ -= 8; + if (_currentTrackBeginZ & 0x8000) + break; - if (bx >= 0) - _currentTrackBeginZ += 16; - } + if (bx >= 0) + _currentTrackBeginZ += 16; + } - window_ride_construction_update_active_elements(); - map_invalidate_map_selection_tiles(); + window_ride_construction_update_active_elements(); + map_invalidate_map_selection_tiles(); } /** @@ -3779,46 +3779,46 @@ void ride_construction_toolupdate_construct(sint32 screenX, sint32 screenY) */ void ride_construction_toolupdate_entrance_exit(sint32 screenX, sint32 screenY) { - sint32 x, y, direction; - uint8 stationNum; + sint32 x, y, direction; + uint8 stationNum; - map_invalidate_selection_rect(); - map_invalidate_map_selection_tiles(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - ride_get_entrance_or_exit_position_from_screen_position(screenX, screenY, &x, &y, &direction); - if (gRideEntranceExitPlaceDirection == 255) { - ride_construction_invalidate_current_track(); - return; - } - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; - gMapSelectType = MAP_SELECT_TYPE_FULL; - gMapSelectPositionA.x = x; - gMapSelectPositionA.y = y; - gMapSelectPositionB.x = x; - gMapSelectPositionB.y = y; - gMapSelectArrowDirection = direction ^ 2; - gMapSelectArrowPosition.x = x; - gMapSelectArrowPosition.y = y; - gMapSelectArrowPosition.z = _unkF44188.z * 8; - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); + map_invalidate_map_selection_tiles(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + ride_get_entrance_or_exit_position_from_screen_position(screenX, screenY, &x, &y, &direction); + if (gRideEntranceExitPlaceDirection == 255) { + ride_construction_invalidate_current_track(); + return; + } + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_ARROW; + gMapSelectType = MAP_SELECT_TYPE_FULL; + gMapSelectPositionA.x = x; + gMapSelectPositionA.y = y; + gMapSelectPositionB.x = x; + gMapSelectPositionB.y = y; + gMapSelectArrowDirection = direction ^ 2; + gMapSelectArrowPosition.x = x; + gMapSelectArrowPosition.y = y; + gMapSelectArrowPosition.z = _unkF44188.z * 8; + map_invalidate_selection_rect(); - direction = gRideEntranceExitPlaceDirection ^ 2; - stationNum = gRideEntranceExitPlaceStationIndex; - if ( - !(_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT) || - x != gRideEntranceExitGhostPosition.x || - y != gRideEntranceExitGhostPosition.y || - direction != gRideEntranceExitGhostPosition.direction || - stationNum != gRideEntranceExitGhostStationIndex - ) { - _currentTrackPrice = ride_entrance_exit_place_ghost( - _currentRideIndex, x, y, direction, gRideEntranceExitPlaceType, stationNum - ); - window_ride_construction_update_active_elements(); - } + direction = gRideEntranceExitPlaceDirection ^ 2; + stationNum = gRideEntranceExitPlaceStationIndex; + if ( + !(_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT) || + x != gRideEntranceExitGhostPosition.x || + y != gRideEntranceExitGhostPosition.y || + direction != gRideEntranceExitGhostPosition.direction || + stationNum != gRideEntranceExitGhostStationIndex + ) { + _currentTrackPrice = ride_entrance_exit_place_ghost( + _currentRideIndex, x, y, direction, gRideEntranceExitPlaceType, stationNum + ); + window_ride_construction_update_active_elements(); + } } /** @@ -3827,199 +3827,199 @@ void ride_construction_toolupdate_entrance_exit(sint32 screenX, sint32 screenY) */ void ride_construction_tooldown_construct(sint32 screenX, sint32 screenY) { - const CursorState * state = context_get_cursor_state(); - sint32 trackType, trackDirection, rideIndex, edxRS16, x, y, z, properties, highestZ; - rct_window *w; + const CursorState * state = context_get_cursor_state(); + sint32 trackType, trackDirection, rideIndex, edxRS16, x, y, z, properties, highestZ; + rct_window *w; - map_invalidate_map_selection_tiles(); - ride_construction_invalidate_current_track(); + map_invalidate_map_selection_tiles(); + ride_construction_invalidate_current_track(); - if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, &x, &y, &z, &properties)) - return; + if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, &x, &y, &z, &properties)) + return; - _currentTrackPieceType = trackType; + _currentTrackPieceType = trackType; - // Raise z above all slopes and water - highestZ = 0; - if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE_CONSTRUCT) { - rct_xy16 *selectedTile = gMapSelectionTiles; - while (selectedTile->x != -1) { - if (selectedTile->x >= (256 * 32) || selectedTile->y >= (256 * 32)) - continue; + // Raise z above all slopes and water + highestZ = 0; + if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE_CONSTRUCT) { + rct_xy16 *selectedTile = gMapSelectionTiles; + while (selectedTile->x != -1) { + if (selectedTile->x >= (256 * 32) || selectedTile->y >= (256 * 32)) + continue; - z = map_get_highest_z(selectedTile->x >> 5, selectedTile->y >> 5); - if (z > highestZ) - highestZ = z; + z = map_get_highest_z(selectedTile->x >> 5, selectedTile->y >> 5); + if (z > highestZ) + highestZ = z; - selectedTile++; - } - } + selectedTile++; + } + } - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - if (!ride_get_place_position_from_screen_position(screenX, screenY, &x, &y)) - return; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + if (!ride_get_place_position_from_screen_position(screenX, screenY, &x, &y)) + return; - z = _trackPlaceZ; - if (z == 0) - z = map_get_highest_z(x >> 5, y >> 5); + z = _trackPlaceZ; + if (z == 0) + z = map_get_highest_z(x >> 5, y >> 5); - tool_cancel(); + tool_cancel(); - rct_ride *ride = get_ride(_currentRideIndex); - if (_trackPlaceZ == 0) { - const rct_preview_track *trackBlock = get_track_def_from_ride(ride, _currentTrackPieceType); - sint32 bx = 0; - do { - bx = min(bx, trackBlock->z); - trackBlock++; - } while (trackBlock->index != 255); - z -= bx; + rct_ride *ride = get_ride(_currentRideIndex); + if (_trackPlaceZ == 0) { + const rct_preview_track *trackBlock = get_track_def_from_ride(ride, _currentTrackPieceType); + sint32 bx = 0; + do { + bx = min(bx, trackBlock->z); + trackBlock++; + } while (trackBlock->index != 255); + z -= bx; - // FIX not sure exactly why it starts trial and error place from a lower Z, but it causes issues with disable clearance - if (!gCheatsDisableClearanceChecks) { - z -= 16; - } - } else { - z = _trackPlaceZ; - } + // FIX not sure exactly why it starts trial and error place from a lower Z, but it causes issues with disable clearance + if (!gCheatsDisableClearanceChecks) { + z -= 16; + } + } else { + z = _trackPlaceZ; + } - if (ride->type == RIDE_TYPE_MAZE) { - for (sint32 zAttempts = 41; zAttempts >= 0; zAttempts--) { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_BUILD; - _currentTrackBeginX = x; - _currentTrackBeginY = y; - _currentTrackBeginZ = z; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - window_maze_construction_update_pressed_widgets(); - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL) - break; + if (ride->type == RIDE_TYPE_MAZE) { + for (sint32 zAttempts = 41; zAttempts >= 0; zAttempts--) { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_BUILD; + _currentTrackBeginX = x; + _currentTrackBeginY = y; + _currentTrackBeginZ = z; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + window_maze_construction_update_pressed_widgets(); + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL) + break; - gDisableErrorWindowSound = true; + gDisableErrorWindowSound = true; - gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; - _trackPlaceCost = game_do_command( - _currentTrackBeginX, - GAME_COMMAND_FLAG_APPLY | (4 << 8), - _currentTrackBeginY, - _currentRideIndex, - GAME_COMMAND_SET_MAZE_TRACK, - _currentTrackBeginZ, - 0); + gGameCommandErrorTitle = STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE; + _trackPlaceCost = game_do_command( + _currentTrackBeginX, + GAME_COMMAND_FLAG_APPLY | (4 << 8), + _currentTrackBeginY, + _currentRideIndex, + GAME_COMMAND_SET_MAZE_TRACK, + _currentTrackBeginZ, + 0); - gDisableErrorWindowSound = false; + gDisableErrorWindowSound = false; - if (_trackPlaceCost == MONEY32_UNDEFINED) { - rct_string_id errorText = gGameCommandErrorText; - z -= 8; - if ( - errorText == STR_NOT_ENOUGH_CASH_REQUIRES || - errorText == STR_CAN_ONLY_BUILD_THIS_UNDERWATER || - errorText == STR_CAN_ONLY_BUILD_THIS_ON_WATER || - errorText == STR_RIDE_CANT_BUILD_THIS_UNDERWATER || - errorText == STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND || - errorText == STR_TOO_HIGH_FOR_SUPPORTS || - zAttempts == 0 || - z < 0 - ) { - audio_play_sound(SOUND_ERROR, 0, state->x); - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != NULL){ - tool_set(w, WIDX_CONSTRUCT, TOOL_CROSSHAIR); - input_set_flag(INPUT_FLAG_6, true); - _trackPlaceCtrlState = false; - _trackPlaceShiftState = false; - } - window_maze_construction_update_pressed_widgets(); - break; - } - else if (zAttempts >= 0) { - z += 16; - } - } - else { - window_close_by_class(WC_ERROR); - audio_play_sound_at_location(SOUND_PLACE_ITEM, _currentTrackBeginX, _currentTrackBeginY, _currentTrackBeginZ); - break; - } - } - return; - } + if (_trackPlaceCost == MONEY32_UNDEFINED) { + rct_string_id errorText = gGameCommandErrorText; + z -= 8; + if ( + errorText == STR_NOT_ENOUGH_CASH_REQUIRES || + errorText == STR_CAN_ONLY_BUILD_THIS_UNDERWATER || + errorText == STR_CAN_ONLY_BUILD_THIS_ON_WATER || + errorText == STR_RIDE_CANT_BUILD_THIS_UNDERWATER || + errorText == STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND || + errorText == STR_TOO_HIGH_FOR_SUPPORTS || + zAttempts == 0 || + z < 0 + ) { + audio_play_sound(SOUND_ERROR, 0, state->x); + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w != NULL){ + tool_set(w, WIDX_CONSTRUCT, TOOL_CROSSHAIR); + input_set_flag(INPUT_FLAG_6, true); + _trackPlaceCtrlState = false; + _trackPlaceShiftState = false; + } + window_maze_construction_update_pressed_widgets(); + break; + } + else if (zAttempts >= 0) { + z += 16; + } + } + else { + window_close_by_class(WC_ERROR); + audio_play_sound_at_location(SOUND_PLACE_ITEM, _currentTrackBeginX, _currentTrackBeginY, _currentTrackBeginZ); + break; + } + } + return; + } - for (sint32 zAttempts = 41; zAttempts >= 0; zAttempts--) { - _rideConstructionState = RIDE_CONSTRUCTION_STATE_FRONT; - _currentTrackBeginX = x; - _currentTrackBeginY = y; - _currentTrackBeginZ = z; - _currentTrackSelectionFlags = 0; - _rideConstructionArrowPulseTime = 0; - window_ride_construction_update_active_elements(); - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL) - break; + for (sint32 zAttempts = 41; zAttempts >= 0; zAttempts--) { + _rideConstructionState = RIDE_CONSTRUCTION_STATE_FRONT; + _currentTrackBeginX = x; + _currentTrackBeginY = y; + _currentTrackBeginZ = z; + _currentTrackSelectionFlags = 0; + _rideConstructionArrowPulseTime = 0; + window_ride_construction_update_active_elements(); + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL) + break; - gDisableErrorWindowSound = true; - window_event_mouse_up_call(w, WIDX_CONSTRUCT); - gDisableErrorWindowSound = false; + gDisableErrorWindowSound = true; + window_event_mouse_up_call(w, WIDX_CONSTRUCT); + gDisableErrorWindowSound = false; - if (_trackPlaceCost == MONEY32_UNDEFINED) { - rct_string_id errorText = gGameCommandErrorText; - z -= 8; - if ( - errorText == STR_NOT_ENOUGH_CASH_REQUIRES || - errorText == STR_CAN_ONLY_BUILD_THIS_UNDERWATER || - errorText == STR_CAN_ONLY_BUILD_THIS_ON_WATER || - errorText == STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND || - errorText == STR_TOO_HIGH_FOR_SUPPORTS || - zAttempts == 0 || - z < 0 - ) { - sint32 saveTrackDirection = _currentTrackPieceDirection; - sint32 saveCurrentTrackCurve = _currentTrackCurve; - sint32 savePreviousTrackSlopeEnd = _previousTrackSlopeEnd; - sint32 saveCurrentTrackSlopeEnd = _currentTrackSlopeEnd; - sint32 savePreviousTrackBankEnd = _previousTrackBankEnd; - sint32 saveCurrentTrackBankEnd = _currentTrackBankEnd; - sint32 saveCurrentTrackAlternative = _currentTrackAlternative; - sint32 saveCurrentTrackLiftHill = _currentTrackLiftHill; + if (_trackPlaceCost == MONEY32_UNDEFINED) { + rct_string_id errorText = gGameCommandErrorText; + z -= 8; + if ( + errorText == STR_NOT_ENOUGH_CASH_REQUIRES || + errorText == STR_CAN_ONLY_BUILD_THIS_UNDERWATER || + errorText == STR_CAN_ONLY_BUILD_THIS_ON_WATER || + errorText == STR_CAN_ONLY_BUILD_THIS_ABOVE_GROUND || + errorText == STR_TOO_HIGH_FOR_SUPPORTS || + zAttempts == 0 || + z < 0 + ) { + sint32 saveTrackDirection = _currentTrackPieceDirection; + sint32 saveCurrentTrackCurve = _currentTrackCurve; + sint32 savePreviousTrackSlopeEnd = _previousTrackSlopeEnd; + sint32 saveCurrentTrackSlopeEnd = _currentTrackSlopeEnd; + sint32 savePreviousTrackBankEnd = _previousTrackBankEnd; + sint32 saveCurrentTrackBankEnd = _currentTrackBankEnd; + sint32 saveCurrentTrackAlternative = _currentTrackAlternative; + sint32 saveCurrentTrackLiftHill = _currentTrackLiftHill; - ride_initialise_construction_window(_currentRideIndex); + ride_initialise_construction_window(_currentRideIndex); - _currentTrackPieceDirection = saveTrackDirection; - _currentTrackCurve = saveCurrentTrackCurve; - _previousTrackSlopeEnd = savePreviousTrackSlopeEnd; - _currentTrackSlopeEnd = saveCurrentTrackSlopeEnd; - _previousTrackBankEnd = savePreviousTrackBankEnd; - _currentTrackBankEnd = saveCurrentTrackBankEnd; - _currentTrackAlternative = saveCurrentTrackAlternative; - _currentTrackLiftHill = saveCurrentTrackLiftHill; + _currentTrackPieceDirection = saveTrackDirection; + _currentTrackCurve = saveCurrentTrackCurve; + _previousTrackSlopeEnd = savePreviousTrackSlopeEnd; + _currentTrackSlopeEnd = saveCurrentTrackSlopeEnd; + _previousTrackBankEnd = savePreviousTrackBankEnd; + _currentTrackBankEnd = saveCurrentTrackBankEnd; + _currentTrackAlternative = saveCurrentTrackAlternative; + _currentTrackLiftHill = saveCurrentTrackLiftHill; - audio_play_sound(SOUND_ERROR, 0, state->x); - break; - } else if (zAttempts >= 0) { - z += 16; - } - } else { - window_close_by_class(WC_ERROR); - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_0) { - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != NULL) { - if (ride_are_all_possible_entrances_and_exits_built(ride)) { - // Clients don't necessarily have any ride built at this point - if (network_get_mode() != NETWORK_MODE_CLIENT) { - window_close(w); - } - } else { - window_event_mouse_up_call(w, WIDX_ENTRANCE); - } - } - } - break; - } - } + audio_play_sound(SOUND_ERROR, 0, state->x); + break; + } else if (zAttempts >= 0) { + z += 16; + } + } else { + window_close_by_class(WC_ERROR); + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_0) { + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w != NULL) { + if (ride_are_all_possible_entrances_and_exits_built(ride)) { + // Clients don't necessarily have any ride built at this point + if (network_get_mode() != NETWORK_MODE_CLIENT) { + window_close(w); + } + } else { + window_event_mouse_up_call(w, WIDX_ENTRANCE); + } + } + } + break; + } + } } /** @@ -4028,556 +4028,556 @@ void ride_construction_tooldown_construct(sint32 screenX, sint32 screenY) */ static void ride_construction_tooldown_entrance_exit(sint32 screenX, sint32 screenY) { - ride_construction_invalidate_current_track(); - map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + ride_construction_invalidate_current_track(); + map_invalidate_selection_rect(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - sint32 mapX, mapY, direction; - ride_get_entrance_or_exit_position_from_screen_position(screenX, screenY, &mapX, &mapY, &direction); - if (gRideEntranceExitPlaceDirection == 255) - return; + sint32 mapX, mapY, direction; + ride_get_entrance_or_exit_position_from_screen_position(screenX, screenY, &mapX, &mapY, &direction); + if (gRideEntranceExitPlaceDirection == 255) + return; - gGameCommandErrorTitle = (gRideEntranceExitPlaceType == ENTRANCE_TYPE_RIDE_ENTRANCE) ? - STR_CANT_BUILD_MOVE_ENTRANCE_FOR_THIS_RIDE_ATTRACTION : - STR_CANT_BUILD_MOVE_EXIT_FOR_THIS_RIDE_ATTRACTION; + gGameCommandErrorTitle = (gRideEntranceExitPlaceType == ENTRANCE_TYPE_RIDE_ENTRANCE) ? + STR_CANT_BUILD_MOVE_ENTRANCE_FOR_THIS_RIDE_ATTRACTION : + STR_CANT_BUILD_MOVE_EXIT_FOR_THIS_RIDE_ATTRACTION; - game_command_callback = game_command_callback_place_ride_entrance_or_exit; - game_do_command( - _unkF44188.x, - (GAME_COMMAND_FLAG_APPLY) | ((gRideEntranceExitPlaceDirection ^ 2) << 8), - _unkF44188.y, - gRideEntranceExitPlaceRideIndex | (gRideEntranceExitPlaceType << 8), - GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, - gRideEntranceExitPlaceStationIndex, - 0 - ); + game_command_callback = game_command_callback_place_ride_entrance_or_exit; + game_do_command( + _unkF44188.x, + (GAME_COMMAND_FLAG_APPLY) | ((gRideEntranceExitPlaceDirection ^ 2) << 8), + _unkF44188.y, + gRideEntranceExitPlaceRideIndex | (gRideEntranceExitPlaceType << 8), + GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, + gRideEntranceExitPlaceStationIndex, + 0 + ); } void game_command_callback_place_ride_entrance_or_exit(sint32 eax, sint32 ebx, sint32 ecx, sint32 edx, sint32 esi, sint32 edi, sint32 ebp) { - audio_play_sound_at_location( - SOUND_PLACE_ITEM, - gCommandPosition.x, - gCommandPosition.y, - gCommandPosition.z - ); + audio_play_sound_at_location( + SOUND_PLACE_ITEM, + gCommandPosition.x, + gCommandPosition.y, + gCommandPosition.z + ); - rct_ride *ride = get_ride(gRideEntranceExitPlaceRideIndex); - if (ride_are_all_possible_entrances_and_exits_built(ride)) { - tool_cancel(); - if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) { - window_close_by_class(WC_RIDE_CONSTRUCTION); - } - } else { - gRideEntranceExitPlaceType ^= 1; - window_invalidate_by_class(77); - gCurrentToolWidget.widget_index = (gRideEntranceExitPlaceType == ENTRANCE_TYPE_RIDE_ENTRANCE) ? - WIDX_ENTRANCE : WIDX_EXIT; - } + rct_ride *ride = get_ride(gRideEntranceExitPlaceRideIndex); + if (ride_are_all_possible_entrances_and_exits_built(ride)) { + tool_cancel(); + if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) { + window_close_by_class(WC_RIDE_CONSTRUCTION); + } + } else { + gRideEntranceExitPlaceType ^= 1; + window_invalidate_by_class(77); + gCurrentToolWidget.widget_index = (gRideEntranceExitPlaceType == ENTRANCE_TYPE_RIDE_ENTRANCE) ? + WIDX_ENTRANCE : WIDX_EXIT; + } } void window_ride_construction_do_station_check() { - rct_ride *ride = get_ride(_currentRideIndex); - if (ride != NULL) { - _stationConstructed = ride->num_stations != 0; - } + rct_ride *ride = get_ride(_currentRideIndex); + if (ride != NULL) { + _stationConstructed = ride->num_stations != 0; + } } void window_ride_construction_do_entrance_exit_check() { - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - rct_ride *ride = get_ride(_currentRideIndex); + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + rct_ride *ride = get_ride(_currentRideIndex); - if (w == NULL || ride == NULL) { - return; - } + if (w == NULL || ride == NULL) { + return; + } - if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_0) { - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != NULL) { - if (!ride_are_all_possible_entrances_and_exits_built(ride)) { - window_event_mouse_up_call(w, WIDX_ENTRANCE); - } else { - _deferClose = true; - } - } - } + if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_0) { + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w != NULL) { + if (!ride_are_all_possible_entrances_and_exits_built(ride)) { + window_event_mouse_up_call(w, WIDX_ENTRANCE); + } else { + _deferClose = true; + } + } + } } void window_ride_construction_keyboard_shortcut_turn_left() { - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || widget_is_disabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WWT_EMPTY) { - return; - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || widget_is_disabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WWT_EMPTY) { + return; + } - switch (_currentTrackCurve) { - case TRACK_CURVE_LEFT_SMALL: - if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); - } - break; - case TRACK_CURVE_LEFT: - if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); - } else { - return; - } - break; - case TRACK_CURVE_LEFT_LARGE: - if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); - } else { - return; - } - break; - case TRACK_CURVE_NONE: - if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); - } else { - return; - } - break; - case TRACK_CURVE_RIGHT_LARGE: - if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_STRAIGHT); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); - } else { - return; - } - break; - case TRACK_CURVE_RIGHT: - if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_STRAIGHT); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); - } else { - return; - } - break; - case TRACK_CURVE_RIGHT_SMALL: - if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_STRAIGHT); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); - } else { - return; - } - break; - case TRACK_CURVE_RIGHT_VERY_SMALL: - if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_STRAIGHT); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); - } else { - return; - } - break; - default: - return; - } + switch (_currentTrackCurve) { + case TRACK_CURVE_LEFT_SMALL: + if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); + } + break; + case TRACK_CURVE_LEFT: + if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); + } else { + return; + } + break; + case TRACK_CURVE_LEFT_LARGE: + if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); + } else { + return; + } + break; + case TRACK_CURVE_NONE: + if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); + } else { + return; + } + break; + case TRACK_CURVE_RIGHT_LARGE: + if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_STRAIGHT); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); + } else { + return; + } + break; + case TRACK_CURVE_RIGHT: + if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_STRAIGHT); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); + } else { + return; + } + break; + case TRACK_CURVE_RIGHT_SMALL: + if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_STRAIGHT); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); + } else { + return; + } + break; + case TRACK_CURVE_RIGHT_VERY_SMALL: + if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_STRAIGHT); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); + } else { + return; + } + break; + default: + return; + } } void window_ride_construction_keyboard_shortcut_turn_right() { - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || widget_is_disabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WWT_EMPTY) { - return; - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || widget_is_disabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WWT_EMPTY) { + return; + } - switch (_currentTrackCurve) { - case TRACK_CURVE_RIGHT_SMALL: - if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); - } - break; - case TRACK_CURVE_RIGHT: - if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); - } else { - return; - } - break; - case TRACK_CURVE_RIGHT_LARGE: - if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); - } else { - return; - } - break; - case TRACK_CURVE_NONE: - if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); - } else { - return; - } - break; - case TRACK_CURVE_LEFT_LARGE: - if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_STRAIGHT); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); - } else { - return; - } - break; - case TRACK_CURVE_LEFT: - if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_STRAIGHT); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); - } else { - return; - } - break; - case TRACK_CURVE_LEFT_SMALL: - if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_STRAIGHT); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); - } else { - return; - } - break; - case TRACK_CURVE_LEFT_VERY_SMALL: - if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE); - } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_STRAIGHT); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); - } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); - } else { - return; - } - break; - default: - return; - } + switch (_currentTrackCurve) { + case TRACK_CURVE_RIGHT_SMALL: + if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); + } + break; + case TRACK_CURVE_RIGHT: + if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); + } else { + return; + } + break; + case TRACK_CURVE_RIGHT_LARGE: + if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); + } else { + return; + } + break; + case TRACK_CURVE_NONE: + if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); + } else { + return; + } + break; + case TRACK_CURVE_LEFT_LARGE: + if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_STRAIGHT); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); + } else { + return; + } + break; + case TRACK_CURVE_LEFT: + if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_STRAIGHT); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); + } else { + return; + } + break; + case TRACK_CURVE_LEFT_SMALL: + if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_STRAIGHT); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); + } else { + return; + } + break; + case TRACK_CURVE_LEFT_VERY_SMALL: + if (!widget_is_disabled(w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE); + } else if (!widget_is_disabled(w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_STRAIGHT); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); + } else if (!widget_is_disabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); + } else { + return; + } + break; + default: + return; + } } void window_ride_construction_keyboard_shortcut_use_track_default() { - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || widget_is_disabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WWT_EMPTY) { - return; - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || widget_is_disabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WWT_EMPTY) { + return; + } - if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_STRAIGHT); - } + if (!widget_is_disabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_STRAIGHT); + } - if (!widget_is_disabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEVEL); - } + if (!widget_is_disabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEVEL); + } - if (!widget_is_disabled(w, WIDX_CHAIN_LIFT) && w->widgets[WIDX_CHAIN_LIFT].type != WWT_EMPTY && _currentTrackLiftHill & 1) { - window_event_mouse_down_call(w, WIDX_CHAIN_LIFT); - } + if (!widget_is_disabled(w, WIDX_CHAIN_LIFT) && w->widgets[WIDX_CHAIN_LIFT].type != WWT_EMPTY && _currentTrackLiftHill & 1) { + window_event_mouse_down_call(w, WIDX_CHAIN_LIFT); + } - if (!widget_is_disabled(w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_BANK_STRAIGHT); - } + if (!widget_is_disabled(w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_BANK_STRAIGHT); + } } void window_ride_construction_keyboard_shortcut_slope_down() { - rct_window * w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || widget_is_disabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WWT_EMPTY) { - return; - } + rct_window * w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || widget_is_disabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WWT_EMPTY) { + return; + } - switch (_currentTrackSlopeEnd) { - case TRACK_SLOPE_DOWN_25: - if (!widget_is_disabled(w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP); - } - break; - case TRACK_SLOPE_NONE: - if (!widget_is_disabled(w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_DOWN); - } else if (!widget_is_disabled(w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP); - } else { - return; - } - break; - case TRACK_SLOPE_UP_25: - if (!widget_is_disabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEVEL); - } else if (!widget_is_disabled(w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_DOWN); - } else if (!widget_is_disabled(w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP); - } else { - return; - } - break; - case TRACK_SLOPE_UP_60: - if (!widget_is_disabled(w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_UP); - } else if (!widget_is_disabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEVEL); - } else if (!widget_is_disabled(w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_DOWN); - } else if (!widget_is_disabled(w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP); - } else { - return; - } - break; - default: - return; - } + switch (_currentTrackSlopeEnd) { + case TRACK_SLOPE_DOWN_25: + if (!widget_is_disabled(w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP); + } + break; + case TRACK_SLOPE_NONE: + if (!widget_is_disabled(w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_DOWN); + } else if (!widget_is_disabled(w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP); + } else { + return; + } + break; + case TRACK_SLOPE_UP_25: + if (!widget_is_disabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEVEL); + } else if (!widget_is_disabled(w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_DOWN); + } else if (!widget_is_disabled(w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP); + } else { + return; + } + break; + case TRACK_SLOPE_UP_60: + if (!widget_is_disabled(w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_UP); + } else if (!widget_is_disabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEVEL); + } else if (!widget_is_disabled(w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_DOWN); + } else if (!widget_is_disabled(w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP); + } else { + return; + } + break; + default: + return; + } } void window_ride_construction_keyboard_shortcut_slope_up() { - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || widget_is_disabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WWT_EMPTY) { - return; - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || widget_is_disabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WWT_EMPTY) { + return; + } - switch (_currentTrackSlopeEnd) { - case TRACK_SLOPE_UP_25: - if (!widget_is_disabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP); - } - break; - case TRACK_SLOPE_NONE: - if (!widget_is_disabled(w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_UP); - } else if (!widget_is_disabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP); - } else { - return; - } - break; - case TRACK_SLOPE_DOWN_25: - if (!widget_is_disabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEVEL); - } else if (!widget_is_disabled(w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_UP); - } else if (!widget_is_disabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP); - } else { - return; - } - break; - case TRACK_SLOPE_DOWN_60: - if (!widget_is_disabled(w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_DOWN); - } else if (!widget_is_disabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_LEVEL); - } else if (!widget_is_disabled(w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_UP); - } else if (!widget_is_disabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP); - } else { - return; - } - break; - default: - return; - } + switch (_currentTrackSlopeEnd) { + case TRACK_SLOPE_UP_25: + if (!widget_is_disabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP); + } + break; + case TRACK_SLOPE_NONE: + if (!widget_is_disabled(w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_UP); + } else if (!widget_is_disabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP); + } else { + return; + } + break; + case TRACK_SLOPE_DOWN_25: + if (!widget_is_disabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEVEL); + } else if (!widget_is_disabled(w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_UP); + } else if (!widget_is_disabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP); + } else { + return; + } + break; + case TRACK_SLOPE_DOWN_60: + if (!widget_is_disabled(w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_DOWN); + } else if (!widget_is_disabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_LEVEL); + } else if (!widget_is_disabled(w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_UP); + } else if (!widget_is_disabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP); + } else { + return; + } + break; + default: + return; + } } void window_ride_construction_keyboard_shortcut_chain_lift_toggle() { - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || widget_is_disabled(w, WIDX_CHAIN_LIFT) || w->widgets[WIDX_CHAIN_LIFT].type == WWT_EMPTY) { - return; - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || widget_is_disabled(w, WIDX_CHAIN_LIFT) || w->widgets[WIDX_CHAIN_LIFT].type == WWT_EMPTY) { + return; + } - window_event_mouse_down_call(w, WIDX_CHAIN_LIFT); + window_event_mouse_down_call(w, WIDX_CHAIN_LIFT); } void window_ride_construction_keyboard_shortcut_bank_left() { - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || widget_is_disabled(w, WIDX_BANK_STRAIGHT) || w->widgets[WIDX_BANK_STRAIGHT].type == WWT_EMPTY) { - return; - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || widget_is_disabled(w, WIDX_BANK_STRAIGHT) || w->widgets[WIDX_BANK_STRAIGHT].type == WWT_EMPTY) { + return; + } - switch (_currentTrackBankEnd) { - case TRACK_BANK_NONE: - if (!widget_is_disabled(w, WIDX_BANK_LEFT) && w->widgets[WIDX_BANK_LEFT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_BANK_LEFT); - } - break; - case TRACK_BANK_RIGHT: - if (!widget_is_disabled(w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_BANK_STRAIGHT); - } else if (!widget_is_disabled(w, WIDX_BANK_LEFT) && w->widgets[WIDX_BANK_LEFT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_BANK_LEFT); - } else { - return; - } - break; - default: - return; - } + switch (_currentTrackBankEnd) { + case TRACK_BANK_NONE: + if (!widget_is_disabled(w, WIDX_BANK_LEFT) && w->widgets[WIDX_BANK_LEFT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_BANK_LEFT); + } + break; + case TRACK_BANK_RIGHT: + if (!widget_is_disabled(w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_BANK_STRAIGHT); + } else if (!widget_is_disabled(w, WIDX_BANK_LEFT) && w->widgets[WIDX_BANK_LEFT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_BANK_LEFT); + } else { + return; + } + break; + default: + return; + } } void window_ride_construction_keyboard_shortcut_bank_right() { - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || widget_is_disabled(w, WIDX_BANK_STRAIGHT) || w->widgets[WIDX_BANK_STRAIGHT].type == WWT_EMPTY) { - return; - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || widget_is_disabled(w, WIDX_BANK_STRAIGHT) || w->widgets[WIDX_BANK_STRAIGHT].type == WWT_EMPTY) { + return; + } - switch (_currentTrackBankEnd) { - case TRACK_BANK_NONE: - if (!widget_is_disabled(w, WIDX_BANK_RIGHT) && w->widgets[WIDX_BANK_RIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_BANK_RIGHT); - } - break; - case TRACK_BANK_LEFT: - if (!widget_is_disabled(w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_BANK_STRAIGHT); - } else if (!widget_is_disabled(w, WIDX_BANK_RIGHT) && w->widgets[WIDX_BANK_RIGHT].type != WWT_EMPTY) { - window_event_mouse_down_call(w, WIDX_BANK_RIGHT); - } else { - return; - } - break; - default: - return; - } + switch (_currentTrackBankEnd) { + case TRACK_BANK_NONE: + if (!widget_is_disabled(w, WIDX_BANK_RIGHT) && w->widgets[WIDX_BANK_RIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_BANK_RIGHT); + } + break; + case TRACK_BANK_LEFT: + if (!widget_is_disabled(w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_BANK_STRAIGHT); + } else if (!widget_is_disabled(w, WIDX_BANK_RIGHT) && w->widgets[WIDX_BANK_RIGHT].type != WWT_EMPTY) { + window_event_mouse_down_call(w, WIDX_BANK_RIGHT); + } else { + return; + } + break; + default: + return; + } } void window_ride_construction_keyboard_shortcut_previous_track() { - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || widget_is_disabled(w, WIDX_PREVIOUS_SECTION) || w->widgets[WIDX_PREVIOUS_SECTION].type == WWT_EMPTY) { - return; - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || widget_is_disabled(w, WIDX_PREVIOUS_SECTION) || w->widgets[WIDX_PREVIOUS_SECTION].type == WWT_EMPTY) { + return; + } - window_event_mouse_up_call(w, WIDX_PREVIOUS_SECTION); + window_event_mouse_up_call(w, WIDX_PREVIOUS_SECTION); } void window_ride_construction_keyboard_shortcut_next_track() { - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || widget_is_disabled(w, WIDX_NEXT_SECTION) || w->widgets[WIDX_NEXT_SECTION].type == WWT_EMPTY) { - return; - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || widget_is_disabled(w, WIDX_NEXT_SECTION) || w->widgets[WIDX_NEXT_SECTION].type == WWT_EMPTY) { + return; + } - window_event_mouse_up_call(w, WIDX_NEXT_SECTION); + window_event_mouse_up_call(w, WIDX_NEXT_SECTION); } void window_ride_construction_keyboard_shortcut_build_current() { - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || widget_is_disabled(w, WIDX_CONSTRUCT) || w->widgets[WIDX_CONSTRUCT].type == WWT_EMPTY) { - return; - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || widget_is_disabled(w, WIDX_CONSTRUCT) || w->widgets[WIDX_CONSTRUCT].type == WWT_EMPTY) { + return; + } - window_event_mouse_up_call(w, WIDX_CONSTRUCT); + window_event_mouse_up_call(w, WIDX_CONSTRUCT); } void window_ride_construction_keyboard_shortcut_demolish_current() { - rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == NULL || widget_is_disabled(w, WIDX_DEMOLISH) || w->widgets[WIDX_DEMOLISH].type == WWT_EMPTY) { - return; - } + rct_window *w = window_find_by_class(WC_RIDE_CONSTRUCTION); + if (w == NULL || widget_is_disabled(w, WIDX_DEMOLISH) || w->widgets[WIDX_DEMOLISH].type == WWT_EMPTY) { + return; + } - window_event_mouse_up_call(w, WIDX_DEMOLISH); + window_event_mouse_up_call(w, WIDX_DEMOLISH); } diff --git a/src/openrct2/windows/ride_list.c b/src/openrct2/windows/ride_list.c index b330f85349..665f7ccbe7 100644 --- a/src/openrct2/windows/ride_list.c +++ b/src/openrct2/windows/ride_list.c @@ -29,47 +29,47 @@ #include "../network/network.h" enum { - PAGE_RIDES, - PAGE_SHOPS_AND_STALLS, - PAGE_KIOSKS_AND_FACILITIES, - PAGE_COUNT + PAGE_RIDES, + PAGE_SHOPS_AND_STALLS, + PAGE_KIOSKS_AND_FACILITIES, + PAGE_COUNT }; enum WINDOW_RIDE_LIST_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_OPEN_CLOSE_ALL, - WIDX_CURRENT_INFORMATION_TYPE, - WIDX_INFORMATION_TYPE_DROPDOWN, - WIDX_SORT, - WIDX_TAB_1, - WIDX_TAB_2, - WIDX_TAB_3, - WIDX_LIST, - WIDX_CLOSE_LIGHT, - WIDX_OPEN_LIGHT, - WIDX_QUICK_DEMOLISH, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_OPEN_CLOSE_ALL, + WIDX_CURRENT_INFORMATION_TYPE, + WIDX_INFORMATION_TYPE_DROPDOWN, + WIDX_SORT, + WIDX_TAB_1, + WIDX_TAB_2, + WIDX_TAB_3, + WIDX_LIST, + WIDX_CLOSE_LIGHT, + WIDX_OPEN_LIGHT, + WIDX_QUICK_DEMOLISH, }; static rct_widget window_ride_list_widgets[] = { - { WWT_FRAME, 0, 0, 339, 0, 239, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 338, 1, 14, 0xFFFFFFFF, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 327, 337, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_RESIZE, 1, 0, 339, 43, 239, 0xFFFFFFFF, STR_NONE }, // tab page background - { WWT_FLATBTN, 1, 315, 338, 60, 83, SPR_TOGGLE_OPEN_CLOSE, STR_OPEN_OR_CLOSE_ALL_RIDES }, // open / close all toggle - { WWT_DROPDOWN, 1, 150, 273, 46, 57, 0xFFFFFFFF, STR_NONE }, // current information type - { WWT_DROPDOWN_BUTTON, 1, 262, 272, 47, 56, STR_DROPDOWN_GLYPH, STR_RIDE_LIST_INFORMATION_TYPE_TIP }, // information type dropdown button - { WWT_DROPDOWN_BUTTON, 1, 280, 333, 46, 57, STR_SORT, STR_RIDE_LIST_SORT_TIP }, // sort button - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_LIST_RIDES_TIP }, // tab 1 - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_LIST_SHOPS_AND_STALLS_TIP }, // tab 2 - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_LIST_KIOSKS_AND_FACILITIES_TIP }, // tab 3 - { WWT_SCROLL, 1, 3, 336, 60, 236, SCROLL_VERTICAL, STR_NONE }, // list - { WWT_IMGBTN, 1, 320, 333, 62, 75, SPR_G2_RCT1_CLOSE_BUTTON_0, STR_NONE }, - { WWT_IMGBTN, 1, 320, 333, 76, 89, SPR_G2_RCT1_OPEN_BUTTON_0, STR_NONE }, - { WWT_FLATBTN, 1, 315, 338, 90, 113, SPR_DEMOLISH, STR_QUICK_DEMOLISH_RIDE }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 339, 0, 239, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 338, 1, 14, 0xFFFFFFFF, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 327, 337, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_RESIZE, 1, 0, 339, 43, 239, 0xFFFFFFFF, STR_NONE }, // tab page background + { WWT_FLATBTN, 1, 315, 338, 60, 83, SPR_TOGGLE_OPEN_CLOSE, STR_OPEN_OR_CLOSE_ALL_RIDES }, // open / close all toggle + { WWT_DROPDOWN, 1, 150, 273, 46, 57, 0xFFFFFFFF, STR_NONE }, // current information type + { WWT_DROPDOWN_BUTTON, 1, 262, 272, 47, 56, STR_DROPDOWN_GLYPH, STR_RIDE_LIST_INFORMATION_TYPE_TIP }, // information type dropdown button + { WWT_DROPDOWN_BUTTON, 1, 280, 333, 46, 57, STR_SORT, STR_RIDE_LIST_SORT_TIP }, // sort button + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_LIST_RIDES_TIP }, // tab 1 + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_LIST_SHOPS_AND_STALLS_TIP }, // tab 2 + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_LIST_KIOSKS_AND_FACILITIES_TIP }, // tab 3 + { WWT_SCROLL, 1, 3, 336, 60, 236, SCROLL_VERTICAL, STR_NONE }, // list + { WWT_IMGBTN, 1, 320, 333, 62, 75, SPR_G2_RCT1_CLOSE_BUTTON_0, STR_NONE }, + { WWT_IMGBTN, 1, 320, 333, 76, 89, SPR_G2_RCT1_OPEN_BUTTON_0, STR_NONE }, + { WWT_FLATBTN, 1, 315, 338, 90, 113, SPR_DEMOLISH, STR_QUICK_DEMOLISH_RIDE }, + { WIDGETS_END }, }; static bool _quickDemolishMode = false; @@ -88,101 +88,101 @@ static void window_ride_list_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_ride_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_ride_list_events = { - NULL, - window_ride_list_mouseup, - window_ride_list_resize, - window_ride_list_mousedown, - window_ride_list_dropdown, - NULL, - window_ride_list_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_ride_list_scrollgetsize, - window_ride_list_scrollmousedown, - NULL, - window_ride_list_scrollmouseover, - NULL, - NULL, - NULL, - window_ride_list_tooltip, - NULL, - NULL, - window_ride_list_invalidate, - window_ride_list_paint, - window_ride_list_scrollpaint + NULL, + window_ride_list_mouseup, + window_ride_list_resize, + window_ride_list_mousedown, + window_ride_list_dropdown, + NULL, + window_ride_list_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_ride_list_scrollgetsize, + window_ride_list_scrollmousedown, + NULL, + window_ride_list_scrollmouseover, + NULL, + NULL, + NULL, + window_ride_list_tooltip, + NULL, + NULL, + window_ride_list_invalidate, + window_ride_list_paint, + window_ride_list_scrollpaint }; enum { - INFORMATION_TYPE_STATUS, - INFORMATION_TYPE_POPULARITY, - INFORMATION_TYPE_SATISFACTION, - INFORMATION_TYPE_PROFIT, - INFORMATION_TYPE_TOTAL_CUSTOMERS, - INFORMATION_TYPE_TOTAL_PROFIT, - INFORMATION_TYPE_CUSTOMERS, - INFORMATION_TYPE_AGE, - INFORMATION_TYPE_INCOME, - INFORMATION_TYPE_RUNNING_COST, - INFORMATION_TYPE_QUEUE_LENGTH, - INFORMATION_TYPE_QUEUE_TIME, - INFORMATION_TYPE_RELIABILITY, - INFORMATION_TYPE_DOWN_TIME, - INFORMATION_TYPE_GUESTS_FAVOURITE, - DROPDOWN_LIST_COUNT + INFORMATION_TYPE_STATUS, + INFORMATION_TYPE_POPULARITY, + INFORMATION_TYPE_SATISFACTION, + INFORMATION_TYPE_PROFIT, + INFORMATION_TYPE_TOTAL_CUSTOMERS, + INFORMATION_TYPE_TOTAL_PROFIT, + INFORMATION_TYPE_CUSTOMERS, + INFORMATION_TYPE_AGE, + INFORMATION_TYPE_INCOME, + INFORMATION_TYPE_RUNNING_COST, + INFORMATION_TYPE_QUEUE_LENGTH, + INFORMATION_TYPE_QUEUE_TIME, + INFORMATION_TYPE_RELIABILITY, + INFORMATION_TYPE_DOWN_TIME, + INFORMATION_TYPE_GUESTS_FAVOURITE, + DROPDOWN_LIST_COUNT }; rct_string_id ride_info_type_string_mapping[DROPDOWN_LIST_COUNT] = { - STR_STATUS, - STR_POPULARITY, - STR_SATISFACTION, - STR_PROFIT, - STR_RIDE_LIST_TOTAL_CUSTOMERS, - STR_RIDE_LIST_TOTAL_PROFIT, - STR_RIDE_LIST_CUSTOMERS_PER_HOUR, - STR_RIDE_LIST_AGE, - STR_RIDE_LIST_INCOME, - STR_RIDE_LIST_RUNNING_COST, - STR_QUEUE_LENGTH, - STR_QUEUE_TIME, - STR_RELIABILITY, - STR_DOWN_TIME, - STR_GUESTS_FAVOURITE + STR_STATUS, + STR_POPULARITY, + STR_SATISFACTION, + STR_PROFIT, + STR_RIDE_LIST_TOTAL_CUSTOMERS, + STR_RIDE_LIST_TOTAL_PROFIT, + STR_RIDE_LIST_CUSTOMERS_PER_HOUR, + STR_RIDE_LIST_AGE, + STR_RIDE_LIST_INCOME, + STR_RIDE_LIST_RUNNING_COST, + STR_QUEUE_LENGTH, + STR_QUEUE_TIME, + STR_RELIABILITY, + STR_DOWN_TIME, + STR_GUESTS_FAVOURITE }; static const rct_string_id ride_list_statusbar_count_strings[PAGE_COUNT] = { - STR_NUMBER_RIDES, - STR_NUMBER_SHOPS_AND_STALLS, - STR_NUMBER_RESTROOMS_AND_INFORMATION_KIOSKS, + STR_NUMBER_RIDES, + STR_NUMBER_SHOPS_AND_STALLS, + STR_NUMBER_RESTROOMS_AND_INFORMATION_KIOSKS, }; bool ride_info_type_money_mapping[DROPDOWN_LIST_COUNT] = { - false, - false, - false, - true, - false, - true, - false, - false, - true, - true, - false, - false, - false, - false, - false + false, + false, + false, + true, + false, + true, + false, + false, + true, + true, + false, + false, + false, + false, + false }; static const rct_string_id page_names[] = { - STR_RIDES, - STR_SHOPS_AND_STALLS, - STR_RESTROOMS_AND_INFORMATION_KIOSKS, + STR_RIDES, + STR_SHOPS_AND_STALLS, + STR_RESTROOMS_AND_INFORMATION_KIOSKS, }; static sint32 _window_ride_list_information_type; @@ -198,40 +198,40 @@ static void window_ride_list_open_all(rct_window *w); */ void window_ride_list_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_RIDE_LIST); - if (window == NULL) { - window = window_create_auto_pos(340, 240, &window_ride_list_events, WC_RIDE_LIST, WF_10 | WF_RESIZABLE); - window->widgets = window_ride_list_widgets; - window->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_OPEN_CLOSE_ALL) | - (1 << WIDX_CURRENT_INFORMATION_TYPE) | - (1 << WIDX_INFORMATION_TYPE_DROPDOWN) | - (1 << WIDX_SORT) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_CLOSE_LIGHT) | - (1 << WIDX_OPEN_LIGHT); - if (network_get_mode() != NETWORK_MODE_CLIENT) { - window->enabled_widgets |= (1 << WIDX_QUICK_DEMOLISH); - } - window_init_scroll_widgets(window); - window->page = PAGE_RIDES; - window->no_list_items = 0; - window->selected_list_item = -1; - window->frame_no = 0; - window->min_width = 340; - window->min_height = 240; - window->max_width = 400; - window->max_height = 700; - } - _window_ride_list_information_type = INFORMATION_TYPE_STATUS; - window->list_information_type = 0; - _quickDemolishMode = false; + // Check if window is already open + window = window_bring_to_front_by_class(WC_RIDE_LIST); + if (window == NULL) { + window = window_create_auto_pos(340, 240, &window_ride_list_events, WC_RIDE_LIST, WF_10 | WF_RESIZABLE); + window->widgets = window_ride_list_widgets; + window->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_OPEN_CLOSE_ALL) | + (1 << WIDX_CURRENT_INFORMATION_TYPE) | + (1 << WIDX_INFORMATION_TYPE_DROPDOWN) | + (1 << WIDX_SORT) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_CLOSE_LIGHT) | + (1 << WIDX_OPEN_LIGHT); + if (network_get_mode() != NETWORK_MODE_CLIENT) { + window->enabled_widgets |= (1 << WIDX_QUICK_DEMOLISH); + } + window_init_scroll_widgets(window); + window->page = PAGE_RIDES; + window->no_list_items = 0; + window->selected_list_item = -1; + window->frame_no = 0; + window->min_width = 340; + window->min_height = 240; + window->max_width = 400; + window->max_height = 700; + } + _window_ride_list_information_type = INFORMATION_TYPE_STATUS; + window->list_information_type = 0; + _quickDemolishMode = false; } /** @@ -240,45 +240,45 @@ void window_ride_list_open() */ static void window_ride_list_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_SORT: - w->list_information_type = _window_ride_list_information_type; - w->no_list_items = 0; - w->selected_list_item = -1; - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - if (w->page != widgetIndex - WIDX_TAB_1) { - w->page = widgetIndex - WIDX_TAB_1; - w->no_list_items = 0; - w->frame_no = 0; - w->selected_list_item = -1; - if (w->page != PAGE_RIDES && _window_ride_list_information_type > INFORMATION_TYPE_RUNNING_COST) { - _window_ride_list_information_type = INFORMATION_TYPE_STATUS; - } - window_invalidate(w); - } - break; - case WIDX_CLOSE_LIGHT: - window_ride_list_close_all(w); - break; - case WIDX_OPEN_LIGHT: - window_ride_list_open_all(w); - break; - case WIDX_QUICK_DEMOLISH: - if (network_get_mode() != NETWORK_MODE_CLIENT) { - _quickDemolishMode = !_quickDemolishMode; - } - else { - _quickDemolishMode = false; - } - window_invalidate(w); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_SORT: + w->list_information_type = _window_ride_list_information_type; + w->no_list_items = 0; + w->selected_list_item = -1; + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + if (w->page != widgetIndex - WIDX_TAB_1) { + w->page = widgetIndex - WIDX_TAB_1; + w->no_list_items = 0; + w->frame_no = 0; + w->selected_list_item = -1; + if (w->page != PAGE_RIDES && _window_ride_list_information_type > INFORMATION_TYPE_RUNNING_COST) { + _window_ride_list_information_type = INFORMATION_TYPE_STATUS; + } + window_invalidate(w); + } + break; + case WIDX_CLOSE_LIGHT: + window_ride_list_close_all(w); + break; + case WIDX_OPEN_LIGHT: + window_ride_list_open_all(w); + break; + case WIDX_QUICK_DEMOLISH: + if (network_get_mode() != NETWORK_MODE_CLIENT) { + _quickDemolishMode = !_quickDemolishMode; + } + else { + _quickDemolishMode = false; + } + window_invalidate(w); + break; + } } /** @@ -287,18 +287,18 @@ static void window_ride_list_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ static void window_ride_list_resize(rct_window *w) { - w->min_width = 340; - w->min_height = 124; - if (w->width < w->min_width) { - window_invalidate(w); - w->width = w->min_width; - } - if (w->height < w->min_height) { - window_invalidate(w); - w->height = w->min_height; - } + w->min_width = 340; + w->min_height = 124; + if (w->width < w->min_width) { + window_invalidate(w); + w->width = w->min_width; + } + if (w->height < w->min_height) { + window_invalidate(w); + w->height = w->min_height; + } - window_ride_list_refresh_list(w); + window_ride_list_refresh_list(w); } /** @@ -307,51 +307,51 @@ static void window_ride_list_resize(rct_window *w) */ static void window_ride_list_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - if (widgetIndex == WIDX_OPEN_CLOSE_ALL) { - gDropdownItemsFormat[0] = STR_CLOSE_ALL; - gDropdownItemsFormat[1] = STR_OPEN_ALL; - window_dropdown_show_text(w->x + widget->left, w->y + widget->top, widget->bottom - widget->top, w->colours[1], 0, 2); - } else if (widgetIndex == WIDX_INFORMATION_TYPE_DROPDOWN) { - widget--; + if (widgetIndex == WIDX_OPEN_CLOSE_ALL) { + gDropdownItemsFormat[0] = STR_CLOSE_ALL; + gDropdownItemsFormat[1] = STR_OPEN_ALL; + window_dropdown_show_text(w->x + widget->left, w->y + widget->top, widget->bottom - widget->top, w->colours[1], 0, 2); + } else if (widgetIndex == WIDX_INFORMATION_TYPE_DROPDOWN) { + widget--; - sint32 lastType; - if (w->page == PAGE_RIDES) - lastType = INFORMATION_TYPE_GUESTS_FAVOURITE; - else - lastType = INFORMATION_TYPE_RUNNING_COST; + sint32 lastType; + if (w->page == PAGE_RIDES) + lastType = INFORMATION_TYPE_GUESTS_FAVOURITE; + else + lastType = INFORMATION_TYPE_RUNNING_COST; - sint32 numItems = 0; - sint32 selectedIndex = -1; - for (sint32 type = INFORMATION_TYPE_STATUS; type <= lastType; type++) { - if ((gParkFlags & PARK_FLAGS_NO_MONEY)) { - if (ride_info_type_money_mapping[type]) { - continue; - } - } + sint32 numItems = 0; + sint32 selectedIndex = -1; + for (sint32 type = INFORMATION_TYPE_STATUS; type <= lastType; type++) { + if ((gParkFlags & PARK_FLAGS_NO_MONEY)) { + if (ride_info_type_money_mapping[type]) { + continue; + } + } - if (type == _window_ride_list_information_type) { - selectedIndex = numItems; - } + if (type == _window_ride_list_information_type) { + selectedIndex = numItems; + } - gDropdownItemsFormat[numItems] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[numItems] = ride_info_type_string_mapping[type]; - numItems++; - } + gDropdownItemsFormat[numItems] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[numItems] = ride_info_type_string_mapping[type]; + numItems++; + } - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - numItems, - widget->right - widget->left - 3 - ); - if (selectedIndex != -1) { - dropdown_set_checked(selectedIndex, true); - } - } + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + numItems, + widget->right - widget->left - 3 + ); + if (selectedIndex != -1) { + dropdown_set_checked(selectedIndex, true); + } + } } /** @@ -360,26 +360,26 @@ static void window_ride_list_mousedown(rct_widgetindex widgetIndex, rct_window*w */ static void window_ride_list_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex == WIDX_OPEN_CLOSE_ALL) { - if (dropdownIndex == 0) - window_ride_list_close_all(w); - else if (dropdownIndex == 1) - window_ride_list_open_all(w); - } else if (widgetIndex == WIDX_INFORMATION_TYPE_DROPDOWN) { - if (dropdownIndex == -1) - return; + if (widgetIndex == WIDX_OPEN_CLOSE_ALL) { + if (dropdownIndex == 0) + window_ride_list_close_all(w); + else if (dropdownIndex == 1) + window_ride_list_open_all(w); + } else if (widgetIndex == WIDX_INFORMATION_TYPE_DROPDOWN) { + if (dropdownIndex == -1) + return; - sint32 informationType = INFORMATION_TYPE_STATUS; - uint32 arg = (uint32)gDropdownItemsArgs[dropdownIndex]; - for (sint32 i = 0; i < countof(ride_info_type_string_mapping); i++) { - if (arg == ride_info_type_string_mapping[i]) { - informationType = i; - } - } + sint32 informationType = INFORMATION_TYPE_STATUS; + uint32 arg = (uint32)gDropdownItemsArgs[dropdownIndex]; + for (sint32 i = 0; i < countof(ride_info_type_string_mapping); i++) { + if (arg == ride_info_type_string_mapping[i]) { + informationType = i; + } + } - _window_ride_list_information_type = informationType; - window_invalidate(w); - } + _window_ride_list_information_type = informationType; + window_invalidate(w); + } } /** @@ -388,10 +388,10 @@ static void window_ride_list_dropdown(rct_window *w, rct_widgetindex widgetIndex */ static void window_ride_list_update(rct_window *w) { - w->frame_no = (w->frame_no + 1) % 64; - widget_invalidate(w, WIDX_TAB_1 + w->page); - if (_window_ride_list_information_type != INFORMATION_TYPE_STATUS) - window_invalidate(w); + w->frame_no = (w->frame_no + 1) % 64; + widget_invalidate(w, WIDX_TAB_1 + w->page); + if (_window_ride_list_information_type != INFORMATION_TYPE_STATUS) + window_invalidate(w); } /** @@ -400,21 +400,21 @@ static void window_ride_list_update(rct_window *w) */ static void window_ride_list_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - sint32 top; + sint32 top; - *height = w->no_list_items * 10; - if (w->selected_list_item != -1) { - w->selected_list_item = -1; - window_invalidate(w); - } + *height = w->no_list_items * 10; + if (w->selected_list_item != -1) { + w->selected_list_item = -1; + window_invalidate(w); + } - top = *height - window_ride_list_widgets[WIDX_LIST].bottom + window_ride_list_widgets[WIDX_LIST].top + 21; - if (top < 0) - top = 0; - if (top < w->scrolls[0].v_top) { - w->scrolls[0].v_top = top; - window_invalidate(w); - } + top = *height - window_ride_list_widgets[WIDX_LIST].bottom + window_ride_list_widgets[WIDX_LIST].top + 21; + if (top < 0) + top = 0; + if (top < w->scrolls[0].v_top) { + w->scrolls[0].v_top = top; + window_invalidate(w); + } } /** @@ -423,21 +423,21 @@ static void window_ride_list_scrollgetsize(rct_window *w, sint32 scrollIndex, si */ static void window_ride_list_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 index; + sint32 index; - index = y / 10; - if (index >= w->no_list_items) - return; + index = y / 10; + if (index >= w->no_list_items) + return; - // Open ride window - uint8 rideIndex = w->list_item_positions[index]; - if (_quickDemolishMode && network_get_mode() != NETWORK_MODE_CLIENT) { - gGameCommandErrorTitle = STR_CANT_DEMOLISH_RIDE; - game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, rideIndex, GAME_COMMAND_DEMOLISH_RIDE, 0, 0); - } - else { - window_ride_main_open(rideIndex); - } + // Open ride window + uint8 rideIndex = w->list_item_positions[index]; + if (_quickDemolishMode && network_get_mode() != NETWORK_MODE_CLIENT) { + gGameCommandErrorTitle = STR_CANT_DEMOLISH_RIDE; + game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, rideIndex, GAME_COMMAND_DEMOLISH_RIDE, 0, 0); + } + else { + window_ride_main_open(rideIndex); + } } /** @@ -446,14 +446,14 @@ static void window_ride_list_scrollmousedown(rct_window *w, sint32 scrollIndex, */ static void window_ride_list_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 index; + sint32 index; - index = y / 10; - if (index >= w->no_list_items) - return; + index = y / 10; + if (index >= w->no_list_items) + return; - w->selected_list_item = index; - window_invalidate(w); + w->selected_list_item = index; + window_invalidate(w); } /** @@ -462,7 +462,7 @@ static void window_ride_list_scrollmouseover(rct_window *w, sint32 scrollIndex, */ static void window_ride_list_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_LIST); + set_format_arg(0, rct_string_id, STR_LIST); } /** @@ -471,71 +471,71 @@ static void window_ride_list_tooltip(rct_window* w, rct_widgetindex widgetIndex, */ static void window_ride_list_invalidate(rct_window *w) { - window_ride_list_widgets[WIDX_CURRENT_INFORMATION_TYPE].text = ride_info_type_string_mapping[_window_ride_list_information_type]; + window_ride_list_widgets[WIDX_CURRENT_INFORMATION_TYPE].text = ride_info_type_string_mapping[_window_ride_list_information_type]; - // Set correct active tab - for (sint32 i = 0; i < 3; i++) - w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); - w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); + // Set correct active tab + for (sint32 i = 0; i < 3; i++) + w->pressed_widgets &= ~(1 << (WIDX_TAB_1 + i)); + w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page); - window_ride_list_widgets[WIDX_TITLE].text = page_names[w->page]; + window_ride_list_widgets[WIDX_TITLE].text = page_names[w->page]; - if (_quickDemolishMode) - w->pressed_widgets |= (1ULL << WIDX_QUICK_DEMOLISH); - else - w->pressed_widgets &= ~(1ULL << WIDX_QUICK_DEMOLISH); + if (_quickDemolishMode) + w->pressed_widgets |= (1ULL << WIDX_QUICK_DEMOLISH); + else + w->pressed_widgets &= ~(1ULL << WIDX_QUICK_DEMOLISH); - w->widgets[WIDX_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_TITLE].right = w->width - 2; - w->widgets[WIDX_CLOSE].left = w->width - 13; - w->widgets[WIDX_CLOSE].right = w->width - 3; - w->widgets[WIDX_LIST].right = w->width - 26; - w->widgets[WIDX_LIST].bottom = w->height - 15; - w->widgets[WIDX_OPEN_CLOSE_ALL].right = w->width - 2; - w->widgets[WIDX_OPEN_CLOSE_ALL].left = w->width - 25; - w->widgets[WIDX_CLOSE_LIGHT].right = w->width - 7; - w->widgets[WIDX_CLOSE_LIGHT].left = w->width - 20; - w->widgets[WIDX_OPEN_LIGHT].right = w->width - 7; - w->widgets[WIDX_OPEN_LIGHT].left = w->width - 20; - w->widgets[WIDX_QUICK_DEMOLISH].right = w->width - 2; - w->widgets[WIDX_QUICK_DEMOLISH].left = w->width - 25; - - if (theme_get_flags() & UITHEME_FLAG_USE_LIGHTS_RIDE) { - w->widgets[WIDX_OPEN_CLOSE_ALL].type = WWT_EMPTY; - w->widgets[WIDX_CLOSE_LIGHT].type = WWT_IMGBTN; - w->widgets[WIDX_OPEN_LIGHT].type = WWT_IMGBTN; + w->widgets[WIDX_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_TITLE].right = w->width - 2; + w->widgets[WIDX_CLOSE].left = w->width - 13; + w->widgets[WIDX_CLOSE].right = w->width - 3; + w->widgets[WIDX_LIST].right = w->width - 26; + w->widgets[WIDX_LIST].bottom = w->height - 15; + w->widgets[WIDX_OPEN_CLOSE_ALL].right = w->width - 2; + w->widgets[WIDX_OPEN_CLOSE_ALL].left = w->width - 25; + w->widgets[WIDX_CLOSE_LIGHT].right = w->width - 7; + w->widgets[WIDX_CLOSE_LIGHT].left = w->width - 20; + w->widgets[WIDX_OPEN_LIGHT].right = w->width - 7; + w->widgets[WIDX_OPEN_LIGHT].left = w->width - 20; + w->widgets[WIDX_QUICK_DEMOLISH].right = w->width - 2; + w->widgets[WIDX_QUICK_DEMOLISH].left = w->width - 25; - sint8 allClosed = -1; - sint8 allOpen = -1; - sint32 i; - rct_ride *ride; - FOR_ALL_RIDES(i, ride) { - if (w->page != gRideClassifications[ride->type]) - continue; - if (ride->status == RIDE_STATUS_OPEN) { - if (allOpen == -1) allOpen = true; - allClosed = false; - } - else { - if (allClosed == -1) allClosed = true; - allOpen = false; - } - } - w->widgets[WIDX_CLOSE_LIGHT].image = SPR_G2_RCT1_CLOSE_BUTTON_0 + (allClosed == 1) * 2 + widget_is_pressed(w, WIDX_CLOSE_LIGHT); - w->widgets[WIDX_OPEN_LIGHT].image = SPR_G2_RCT1_OPEN_BUTTON_0 + (allOpen == 1) * 2 + widget_is_pressed(w, WIDX_OPEN_LIGHT); - w->widgets[WIDX_QUICK_DEMOLISH].top = w->widgets[WIDX_OPEN_LIGHT].bottom + 3; - } - else { - w->widgets[WIDX_OPEN_CLOSE_ALL].type = WWT_FLATBTN; - w->widgets[WIDX_CLOSE_LIGHT].type = WWT_EMPTY; - w->widgets[WIDX_OPEN_LIGHT].type = WWT_EMPTY; - w->widgets[WIDX_QUICK_DEMOLISH].top = w->widgets[WIDX_OPEN_CLOSE_ALL].bottom + 3; - } - w->widgets[WIDX_QUICK_DEMOLISH].bottom = w->widgets[WIDX_QUICK_DEMOLISH].top + 23; - w->widgets[WIDX_QUICK_DEMOLISH].type = network_get_mode() != NETWORK_MODE_CLIENT ? WWT_FLATBTN : WWT_EMPTY; + if (theme_get_flags() & UITHEME_FLAG_USE_LIGHTS_RIDE) { + w->widgets[WIDX_OPEN_CLOSE_ALL].type = WWT_EMPTY; + w->widgets[WIDX_CLOSE_LIGHT].type = WWT_IMGBTN; + w->widgets[WIDX_OPEN_LIGHT].type = WWT_IMGBTN; + + sint8 allClosed = -1; + sint8 allOpen = -1; + sint32 i; + rct_ride *ride; + FOR_ALL_RIDES(i, ride) { + if (w->page != gRideClassifications[ride->type]) + continue; + if (ride->status == RIDE_STATUS_OPEN) { + if (allOpen == -1) allOpen = true; + allClosed = false; + } + else { + if (allClosed == -1) allClosed = true; + allOpen = false; + } + } + w->widgets[WIDX_CLOSE_LIGHT].image = SPR_G2_RCT1_CLOSE_BUTTON_0 + (allClosed == 1) * 2 + widget_is_pressed(w, WIDX_CLOSE_LIGHT); + w->widgets[WIDX_OPEN_LIGHT].image = SPR_G2_RCT1_OPEN_BUTTON_0 + (allOpen == 1) * 2 + widget_is_pressed(w, WIDX_OPEN_LIGHT); + w->widgets[WIDX_QUICK_DEMOLISH].top = w->widgets[WIDX_OPEN_LIGHT].bottom + 3; + } + else { + w->widgets[WIDX_OPEN_CLOSE_ALL].type = WWT_FLATBTN; + w->widgets[WIDX_CLOSE_LIGHT].type = WWT_EMPTY; + w->widgets[WIDX_OPEN_LIGHT].type = WWT_EMPTY; + w->widgets[WIDX_QUICK_DEMOLISH].top = w->widgets[WIDX_OPEN_CLOSE_ALL].bottom + 3; + } + w->widgets[WIDX_QUICK_DEMOLISH].bottom = w->widgets[WIDX_QUICK_DEMOLISH].top + 23; + w->widgets[WIDX_QUICK_DEMOLISH].type = network_get_mode() != NETWORK_MODE_CLIENT ? WWT_FLATBTN : WWT_EMPTY; } /** @@ -544,11 +544,11 @@ static void window_ride_list_invalidate(rct_window *w) */ static void window_ride_list_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_ride_list_draw_tab_images(dpi, w); + window_draw_widgets(w, dpi); + window_ride_list_draw_tab_images(dpi, w); - // Draw number of attractions on bottom - gfx_draw_string_left(dpi, ride_list_statusbar_count_strings[w->page], &w->no_list_items, COLOUR_BLACK, w->x + 4, w->widgets[WIDX_LIST].bottom + w->y + 2); + // Draw number of attractions on bottom + gfx_draw_string_left(dpi, ride_list_statusbar_count_strings[w->page], &w->no_list_items, COLOUR_BLACK, w->x + 4, w->widgets[WIDX_LIST].bottom + w->y + 2); } /** @@ -557,143 +557,143 @@ static void window_ride_list_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_ride_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - sint32 i, y, argument; - rct_string_id format, formatSecondary; - rct_ride *ride; + sint32 i, y, argument; + rct_string_id format, formatSecondary; + rct_ride *ride; - gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width, dpi->y + dpi->height, ColourMapA[w->colours[1]].mid_light); + gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width, dpi->y + dpi->height, ColourMapA[w->colours[1]].mid_light); - y = 0; - for (i = 0; i < w->no_list_items; i++) { - format = (_quickDemolishMode ? STR_RED_STRINGID : STR_BLACK_STRING); + y = 0; + for (i = 0; i < w->no_list_items; i++) { + format = (_quickDemolishMode ? STR_RED_STRINGID : STR_BLACK_STRING); - // Background highlight - if (i == w->selected_list_item) { - gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); - format = (_quickDemolishMode ? STR_LIGHTPINK_STRINGID : STR_WINDOW_COLOUR_2_STRINGID); - } + // Background highlight + if (i == w->selected_list_item) { + gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); + format = (_quickDemolishMode ? STR_LIGHTPINK_STRINGID : STR_WINDOW_COLOUR_2_STRINGID); + } - // Get ride - ride = get_ride(w->list_item_positions[i]); + // Get ride + ride = get_ride(w->list_item_positions[i]); - // Ride name - gfx_draw_string_left_clipped(dpi, format, &ride->name, COLOUR_BLACK, 0, y - 1, 159); + // Ride name + gfx_draw_string_left_clipped(dpi, format, &ride->name, COLOUR_BLACK, 0, y - 1, 159); - // Ride information - formatSecondary = 0; - switch (_window_ride_list_information_type) { - case INFORMATION_TYPE_STATUS: - ride_get_status(w->list_item_positions[i], &formatSecondary, &argument); - set_format_arg(2, sint32, argument); - break; - case INFORMATION_TYPE_POPULARITY: - formatSecondary = STR_POPULARITY_UNKNOWN_LABEL; - if (ride->popularity != 255) { - formatSecondary = STR_POPULARITY_LABEL; - set_format_arg(2, uint16, ride->popularity * 4); - } - break; - case INFORMATION_TYPE_SATISFACTION: - formatSecondary = STR_SATISFACTION_UNKNOWN_LABEL; - if (ride->satisfaction != 255) { - formatSecondary = STR_SATISFACTION_LABEL; - set_format_arg(2, uint16, ride->satisfaction * 5); - } - break; - case INFORMATION_TYPE_PROFIT: - formatSecondary = 0; - if (ride->profit != MONEY32_UNDEFINED) { - formatSecondary = STR_PROFIT_LABEL; - set_format_arg(2, sint32, ride->profit); - } - break; - case INFORMATION_TYPE_TOTAL_CUSTOMERS: - formatSecondary = STR_RIDE_LIST_TOTAL_CUSTOMERS_LABEL; - set_format_arg(2, uint32, ride->total_customers); - break; - case INFORMATION_TYPE_TOTAL_PROFIT: - formatSecondary = 0; - if (ride->total_profit != MONEY32_UNDEFINED) { - formatSecondary = STR_RIDE_LIST_TOTAL_PROFIT_LABEL; - set_format_arg(2, sint32, ride->total_profit); - } - break; - case INFORMATION_TYPE_CUSTOMERS: - formatSecondary = STR_RIDE_LIST_CUSTOMERS_PER_HOUR_LABEL; - set_format_arg(2, uint32, ride_customers_per_hour(ride)); - break; - case INFORMATION_TYPE_AGE:; - sint16 age = date_get_year(gDateMonthsElapsed - ride->build_date); - switch (age) { - case 0: formatSecondary = STR_RIDE_LIST_BUILT_THIS_YEAR_LABEL; break; - case 1: formatSecondary = STR_RIDE_LIST_BUILT_LAST_YEAR_LABEL; break; - default: formatSecondary = STR_RIDE_LIST_BUILT_X_YEARS_AGO_LABEL; break; - } - set_format_arg(2, sint16, age); - break; - case INFORMATION_TYPE_INCOME: - formatSecondary = 0; - if (ride->income_per_hour != MONEY32_UNDEFINED) { - formatSecondary = STR_RIDE_LIST_INCOME_LABEL; - set_format_arg(2, sint32, ride->income_per_hour); - } - break; - case INFORMATION_TYPE_RUNNING_COST: - formatSecondary = STR_RIDE_LIST_RUNNING_COST_UNKNOWN; - if (ride->upkeep_cost != (money16)(uint16)0xFFFF) { - formatSecondary = STR_RIDE_LIST_RUNNING_COST_LABEL; - set_format_arg(2, sint32, ride->upkeep_cost * 16); - } - break; - case INFORMATION_TYPE_QUEUE_LENGTH: - set_format_arg(2, uint16, ride_get_total_queue_length(ride)); - formatSecondary = STR_QUEUE_EMPTY; - { - uint16 arg; - memcpy(&arg, gCommonFormatArgs + 2, sizeof(uint16)); + // Ride information + formatSecondary = 0; + switch (_window_ride_list_information_type) { + case INFORMATION_TYPE_STATUS: + ride_get_status(w->list_item_positions[i], &formatSecondary, &argument); + set_format_arg(2, sint32, argument); + break; + case INFORMATION_TYPE_POPULARITY: + formatSecondary = STR_POPULARITY_UNKNOWN_LABEL; + if (ride->popularity != 255) { + formatSecondary = STR_POPULARITY_LABEL; + set_format_arg(2, uint16, ride->popularity * 4); + } + break; + case INFORMATION_TYPE_SATISFACTION: + formatSecondary = STR_SATISFACTION_UNKNOWN_LABEL; + if (ride->satisfaction != 255) { + formatSecondary = STR_SATISFACTION_LABEL; + set_format_arg(2, uint16, ride->satisfaction * 5); + } + break; + case INFORMATION_TYPE_PROFIT: + formatSecondary = 0; + if (ride->profit != MONEY32_UNDEFINED) { + formatSecondary = STR_PROFIT_LABEL; + set_format_arg(2, sint32, ride->profit); + } + break; + case INFORMATION_TYPE_TOTAL_CUSTOMERS: + formatSecondary = STR_RIDE_LIST_TOTAL_CUSTOMERS_LABEL; + set_format_arg(2, uint32, ride->total_customers); + break; + case INFORMATION_TYPE_TOTAL_PROFIT: + formatSecondary = 0; + if (ride->total_profit != MONEY32_UNDEFINED) { + formatSecondary = STR_RIDE_LIST_TOTAL_PROFIT_LABEL; + set_format_arg(2, sint32, ride->total_profit); + } + break; + case INFORMATION_TYPE_CUSTOMERS: + formatSecondary = STR_RIDE_LIST_CUSTOMERS_PER_HOUR_LABEL; + set_format_arg(2, uint32, ride_customers_per_hour(ride)); + break; + case INFORMATION_TYPE_AGE:; + sint16 age = date_get_year(gDateMonthsElapsed - ride->build_date); + switch (age) { + case 0: formatSecondary = STR_RIDE_LIST_BUILT_THIS_YEAR_LABEL; break; + case 1: formatSecondary = STR_RIDE_LIST_BUILT_LAST_YEAR_LABEL; break; + default: formatSecondary = STR_RIDE_LIST_BUILT_X_YEARS_AGO_LABEL; break; + } + set_format_arg(2, sint16, age); + break; + case INFORMATION_TYPE_INCOME: + formatSecondary = 0; + if (ride->income_per_hour != MONEY32_UNDEFINED) { + formatSecondary = STR_RIDE_LIST_INCOME_LABEL; + set_format_arg(2, sint32, ride->income_per_hour); + } + break; + case INFORMATION_TYPE_RUNNING_COST: + formatSecondary = STR_RIDE_LIST_RUNNING_COST_UNKNOWN; + if (ride->upkeep_cost != (money16)(uint16)0xFFFF) { + formatSecondary = STR_RIDE_LIST_RUNNING_COST_LABEL; + set_format_arg(2, sint32, ride->upkeep_cost * 16); + } + break; + case INFORMATION_TYPE_QUEUE_LENGTH: + set_format_arg(2, uint16, ride_get_total_queue_length(ride)); + formatSecondary = STR_QUEUE_EMPTY; + { + uint16 arg; + memcpy(&arg, gCommonFormatArgs + 2, sizeof(uint16)); - if (arg == 1) - formatSecondary = STR_QUEUE_ONE_PERSON; - else if (arg > 1) - formatSecondary = STR_QUEUE_PEOPLE; - } - break; - case INFORMATION_TYPE_QUEUE_TIME: - set_format_arg(2, uint16, ride_get_max_queue_time(ride)); - formatSecondary = STR_QUEUE_TIME_LABEL; - { - uint16 arg; - memcpy(&arg, gCommonFormatArgs + 2, sizeof(uint16)); + if (arg == 1) + formatSecondary = STR_QUEUE_ONE_PERSON; + else if (arg > 1) + formatSecondary = STR_QUEUE_PEOPLE; + } + break; + case INFORMATION_TYPE_QUEUE_TIME: + set_format_arg(2, uint16, ride_get_max_queue_time(ride)); + formatSecondary = STR_QUEUE_TIME_LABEL; + { + uint16 arg; + memcpy(&arg, gCommonFormatArgs + 2, sizeof(uint16)); - if (arg > 1) - formatSecondary = STR_QUEUE_TIME_PLURAL_LABEL; - } - break; - case INFORMATION_TYPE_RELIABILITY: - set_format_arg(2, uint16, ride->reliability >> 8); - formatSecondary = STR_RELIABILITY_LABEL; - break; - case INFORMATION_TYPE_DOWN_TIME: - set_format_arg(2, uint16, ride->downtime); - formatSecondary = STR_DOWN_TIME_LABEL; - break; - case INFORMATION_TYPE_GUESTS_FAVOURITE: - formatSecondary = 0; - if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { - set_format_arg(2, uint16, ride->guests_favourite); - formatSecondary = ride->guests_favourite == 1 ? STR_GUESTS_FAVOURITE_LABEL : STR_GUESTS_FAVOURITE_PLURAL_LABEL; - } - break; - } + if (arg > 1) + formatSecondary = STR_QUEUE_TIME_PLURAL_LABEL; + } + break; + case INFORMATION_TYPE_RELIABILITY: + set_format_arg(2, uint16, ride->reliability >> 8); + formatSecondary = STR_RELIABILITY_LABEL; + break; + case INFORMATION_TYPE_DOWN_TIME: + set_format_arg(2, uint16, ride->downtime); + formatSecondary = STR_DOWN_TIME_LABEL; + break; + case INFORMATION_TYPE_GUESTS_FAVOURITE: + formatSecondary = 0; + if (gRideClassifications[ride->type] == RIDE_CLASS_RIDE) { + set_format_arg(2, uint16, ride->guests_favourite); + formatSecondary = ride->guests_favourite == 1 ? STR_GUESTS_FAVOURITE_LABEL : STR_GUESTS_FAVOURITE_PLURAL_LABEL; + } + break; + } - // Make test red and bold if broken down or crashed - if (formatSecondary == STR_BROKEN_DOWN || formatSecondary == STR_CRASHED) - format = STR_RED_OUTLINED_STRING; + // Make test red and bold if broken down or crashed + if (formatSecondary == STR_BROKEN_DOWN || formatSecondary == STR_CRASHED) + format = STR_RED_OUTLINED_STRING; - set_format_arg(0, rct_string_id, formatSecondary); - gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 160, y - 1, 157); - y += 10; - } + set_format_arg(0, rct_string_id, formatSecondary); + gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 160, y - 1, 157); + y += 10; + } } /** @@ -702,25 +702,25 @@ static void window_ride_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, */ static void window_ride_list_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) { - sint32 sprite_idx; + sint32 sprite_idx; - // Rides tab - sprite_idx = SPR_TAB_RIDE_0; - if (w->page == PAGE_RIDES) - sprite_idx += w->frame_no / 4; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_1].left, w->y + w->widgets[WIDX_TAB_1].top, 0); + // Rides tab + sprite_idx = SPR_TAB_RIDE_0; + if (w->page == PAGE_RIDES) + sprite_idx += w->frame_no / 4; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_1].left, w->y + w->widgets[WIDX_TAB_1].top, 0); - // Shops and stalls tab - sprite_idx = SPR_TAB_SHOPS_AND_STALLS_0; - if (w->page == PAGE_SHOPS_AND_STALLS) - sprite_idx += w->frame_no / 4; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_2].left, w->y + w->widgets[WIDX_TAB_2].top, 0); + // Shops and stalls tab + sprite_idx = SPR_TAB_SHOPS_AND_STALLS_0; + if (w->page == PAGE_SHOPS_AND_STALLS) + sprite_idx += w->frame_no / 4; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_2].left, w->y + w->widgets[WIDX_TAB_2].top, 0); - // Information kiosks and facilities tab - sprite_idx = SPR_TAB_KIOSKS_AND_FACILITIES_0; - if (w->page == PAGE_KIOSKS_AND_FACILITIES) - sprite_idx += (w->frame_no / 4) % 8; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_3].left, w->y + w->widgets[WIDX_TAB_3].top, 0); + // Information kiosks and facilities tab + sprite_idx = SPR_TAB_KIOSKS_AND_FACILITIES_0; + if (w->page == PAGE_KIOSKS_AND_FACILITIES) + sprite_idx += (w->frame_no / 4) % 8; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_TAB_3].left, w->y + w->widgets[WIDX_TAB_3].top, 0); } @@ -731,217 +731,217 @@ static void window_ride_list_draw_tab_images(rct_drawpixelinfo *dpi, rct_window */ static void window_ride_list_refresh_list(rct_window *w) { - sint32 i, countA, countB; - rct_ride *ride, *otherRide; - char bufferA[128], bufferB[128]; + sint32 i, countA, countB; + rct_ride *ride, *otherRide; + char bufferA[128], bufferB[128]; - countA = countB = 0; - FOR_ALL_RIDES(i, ride) { - if (w->page != gRideClassifications[ride->type]) - continue; + countA = countB = 0; + FOR_ALL_RIDES(i, ride) { + if (w->page != gRideClassifications[ride->type]) + continue; - countA++; - if (ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_LIST) { - ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_LIST; - countB++; - } - } + countA++; + if (ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_LIST) { + ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_LIST; + countB++; + } + } - if (countB != 0) - window_invalidate(w); + if (countB != 0) + window_invalidate(w); - if (countA == w->no_list_items) - return; + if (countA == w->no_list_items) + return; - w->no_list_items = countA; - sint32 list_index = 0; - FOR_ALL_RIDES(i, ride) { - if (w->page != gRideClassifications[ride->type]) - continue; + w->no_list_items = countA; + sint32 list_index = 0; + FOR_ALL_RIDES(i, ride) { + if (w->page != gRideClassifications[ride->type]) + continue; - w->list_item_positions[list_index] = i; - sint32 current_list_position = list_index; - switch (w->list_information_type) { - case INFORMATION_TYPE_STATUS: - format_string_to_upper(bufferA, 128, ride->name, &ride->name_arguments); - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - format_string_to_upper(bufferB, 128, otherRide->name, &otherRide->name_arguments); - if (strcmp(bufferA, bufferB) >= 0) - break; + w->list_item_positions[list_index] = i; + sint32 current_list_position = list_index; + switch (w->list_information_type) { + case INFORMATION_TYPE_STATUS: + format_string_to_upper(bufferA, 128, ride->name, &ride->name_arguments); + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + format_string_to_upper(bufferB, 128, otherRide->name, &otherRide->name_arguments); + if (strcmp(bufferA, bufferB) >= 0) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_POPULARITY: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride->popularity * 4 <= otherRide->popularity * 4) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_POPULARITY: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride->popularity * 4 <= otherRide->popularity * 4) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_SATISFACTION: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride->satisfaction * 5 <= otherRide->satisfaction * 5) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_SATISFACTION: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride->satisfaction * 5 <= otherRide->satisfaction * 5) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_PROFIT: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride->profit <= otherRide->profit) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_PROFIT: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride->profit <= otherRide->profit) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_TOTAL_CUSTOMERS: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride->total_customers <= otherRide->total_customers) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_TOTAL_CUSTOMERS: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride->total_customers <= otherRide->total_customers) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_TOTAL_PROFIT: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride->total_profit <= otherRide->total_profit) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_TOTAL_PROFIT: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride->total_profit <= otherRide->total_profit) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_CUSTOMERS: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride_customers_per_hour(ride) <= ride_customers_per_hour(otherRide)) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_CUSTOMERS: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride_customers_per_hour(ride) <= ride_customers_per_hour(otherRide)) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_AGE: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride->build_date <= otherRide->build_date) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_AGE: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride->build_date <= otherRide->build_date) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_INCOME: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride->income_per_hour <= otherRide->income_per_hour) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_INCOME: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride->income_per_hour <= otherRide->income_per_hour) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_RUNNING_COST: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride->upkeep_cost <= otherRide->upkeep_cost) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_RUNNING_COST: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride->upkeep_cost <= otherRide->upkeep_cost) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_QUEUE_LENGTH: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride_get_total_queue_length(ride) <= ride_get_total_queue_length(otherRide)) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_QUEUE_LENGTH: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride_get_total_queue_length(ride) <= ride_get_total_queue_length(otherRide)) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_QUEUE_TIME: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride_get_max_queue_time(ride) <= ride_get_max_queue_time(otherRide)) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_QUEUE_TIME: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride_get_max_queue_time(ride) <= ride_get_max_queue_time(otherRide)) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_RELIABILITY: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride->reliability >> 8 <= otherRide->reliability >> 8) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_RELIABILITY: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride->reliability >> 8 <= otherRide->reliability >> 8) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_DOWN_TIME: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride->downtime <= otherRide->downtime) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_DOWN_TIME: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride->downtime <= otherRide->downtime) + break; - window_bubble_list_item(w, current_list_position); - } - break; - case INFORMATION_TYPE_GUESTS_FAVOURITE: - while (--current_list_position >= 0) { - otherRide = get_ride(w->list_item_positions[current_list_position]); - if (ride->guests_favourite <= otherRide->guests_favourite) - break; + window_bubble_list_item(w, current_list_position); + } + break; + case INFORMATION_TYPE_GUESTS_FAVOURITE: + while (--current_list_position >= 0) { + otherRide = get_ride(w->list_item_positions[current_list_position]); + if (ride->guests_favourite <= otherRide->guests_favourite) + break; - window_bubble_list_item(w, current_list_position); - } - break; - } + window_bubble_list_item(w, current_list_position); + } + break; + } - list_index++; - } + list_index++; + } - w->selected_list_item = -1; - window_invalidate(w); + w->selected_list_item = -1; + window_invalidate(w); } static void window_ride_list_close_all(rct_window *w) { - sint32 i; - rct_ride *ride; + sint32 i; + rct_ride *ride; - FOR_ALL_RIDES(i, ride) { - if (w->page != gRideClassifications[ride->type]) - continue; - if (ride->status == RIDE_STATUS_CLOSED) - continue; + FOR_ALL_RIDES(i, ride) { + if (w->page != gRideClassifications[ride->type]) + continue; + if (ride->status == RIDE_STATUS_CLOSED) + continue; - gGameCommandErrorTitle = STR_CANT_CLOSE; - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); + gGameCommandErrorTitle = STR_CANT_CLOSE; + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); - ride_set_status(i, RIDE_STATUS_CLOSED); - } + ride_set_status(i, RIDE_STATUS_CLOSED); + } } static void window_ride_list_open_all(rct_window *w) { - sint32 i; - rct_ride *ride; + sint32 i; + rct_ride *ride; - FOR_ALL_RIDES(i, ride) { - if (w->page != gRideClassifications[ride->type]) - continue; - if (ride->status == RIDE_STATUS_OPEN) - continue; + FOR_ALL_RIDES(i, ride) { + if (w->page != gRideClassifications[ride->type]) + continue; + if (ride->status == RIDE_STATUS_OPEN) + continue; - gGameCommandErrorTitle = STR_CANT_OPEN; - set_format_arg(6, rct_string_id, ride->name); - set_format_arg(8, uint32, ride->name_arguments); + gGameCommandErrorTitle = STR_CANT_OPEN; + set_format_arg(6, rct_string_id, ride->name); + set_format_arg(8, uint32, ride->name_arguments); - ride_set_status(i, RIDE_STATUS_OPEN); - } + ride_set_status(i, RIDE_STATUS_OPEN); + } } diff --git a/src/openrct2/windows/save_prompt.c b/src/openrct2/windows/save_prompt.c index 99c7816e84..d8bc0236a7 100644 --- a/src/openrct2/windows/save_prompt.c +++ b/src/openrct2/windows/save_prompt.c @@ -25,47 +25,47 @@ #include "../sprites.h" enum WINDOW_SAVE_PROMPT_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_LABEL, - WIDX_SAVE, - WIDX_DONT_SAVE, - WIDX_CANCEL + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_LABEL, + WIDX_SAVE, + WIDX_DONT_SAVE, + WIDX_CANCEL }; static rct_widget window_save_prompt_widgets[] = { - { WWT_FRAME, 0, 0, 259, 0, 49, STR_NONE, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 258, 1, 14, 0, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 247, 257, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_12, 0, 2, 257, 19, 30, 0, STR_NONE }, // question/label - { WWT_DROPDOWN_BUTTON, 0, 8, 85, 35, 46, STR_SAVE_PROMPT_SAVE, STR_NONE }, // save - { WWT_DROPDOWN_BUTTON, 0, 91, 168, 35, 46, STR_SAVE_PROMPT_DONT_SAVE, STR_NONE }, // don't save - { WWT_DROPDOWN_BUTTON, 0, 174, 251, 35, 46, STR_SAVE_PROMPT_CANCEL, STR_NONE }, // cancel - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 259, 0, 49, STR_NONE, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 258, 1, 14, 0, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 247, 257, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_12, 0, 2, 257, 19, 30, 0, STR_NONE }, // question/label + { WWT_DROPDOWN_BUTTON, 0, 8, 85, 35, 46, STR_SAVE_PROMPT_SAVE, STR_NONE }, // save + { WWT_DROPDOWN_BUTTON, 0, 91, 168, 35, 46, STR_SAVE_PROMPT_DONT_SAVE, STR_NONE }, // don't save + { WWT_DROPDOWN_BUTTON, 0, 174, 251, 35, 46, STR_SAVE_PROMPT_CANCEL, STR_NONE }, // cancel + { WIDGETS_END }, }; enum WINDOW_QUIT_PROMPT_WIDGET_IDX { - WQIDX_BACKGROUND, - WQIDX_TITLE, - WQIDX_CLOSE, - WQIDX_OK, - WQIDX_CANCEL + WQIDX_BACKGROUND, + WQIDX_TITLE, + WQIDX_CLOSE, + WQIDX_OK, + WQIDX_CANCEL }; static rct_widget window_quit_prompt_widgets[] = { - { WWT_FRAME, 0, 0, 176, 0, 33, STR_NONE, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 175, 1, 14, STR_QUIT_GAME_PROMPT_TITLE, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 164, 174, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_DROPDOWN_BUTTON, 0, 8, 85, 19, 30, STR_OK, STR_NONE }, // ok - { WWT_DROPDOWN_BUTTON, 0, 91, 168, 19, 30, STR_CANCEL, STR_NONE }, // cancel - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 176, 0, 33, STR_NONE, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 175, 1, 14, STR_QUIT_GAME_PROMPT_TITLE, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 164, 174, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_DROPDOWN_BUTTON, 0, 8, 85, 19, 30, STR_OK, STR_NONE }, // ok + { WWT_DROPDOWN_BUTTON, 0, 91, 168, 19, 30, STR_CANCEL, STR_NONE }, // cancel + { WIDGETS_END }, }; static const rct_string_id window_save_prompt_labels[][2] = { - { STR_LOAD_GAME_PROMPT_TITLE, STR_SAVE_BEFORE_LOADING }, - { STR_QUIT_GAME_PROMPT_TITLE, STR_SAVE_BEFORE_QUITTING }, - { STR_QUIT_GAME_2_PROMPT_TITLE, STR_SAVE_BEFORE_QUITTING_2 }, + { STR_LOAD_GAME_PROMPT_TITLE, STR_SAVE_BEFORE_LOADING }, + { STR_QUIT_GAME_PROMPT_TITLE, STR_SAVE_BEFORE_QUITTING }, + { STR_QUIT_GAME_2_PROMPT_TITLE, STR_SAVE_BEFORE_QUITTING_2 }, }; @@ -75,34 +75,34 @@ static void window_save_prompt_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_save_prompt_callback(sint32 result, const utf8 * path); static rct_window_event_list window_save_prompt_events = { - window_save_prompt_close, - window_save_prompt_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_save_prompt_paint, - NULL + window_save_prompt_close, + window_save_prompt_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_save_prompt_paint, + NULL }; /** @@ -111,89 +111,89 @@ static rct_window_event_list window_save_prompt_events = { */ void window_save_prompt_open() { - sint32 width, height; - rct_string_id stringId; - rct_window* window; - uint8 prompt_mode; - rct_widget *widgets; - uint64 enabled_widgets; + sint32 width, height; + rct_string_id stringId; + rct_window* window; + uint8 prompt_mode; + rct_widget *widgets; + uint64 enabled_widgets; - prompt_mode = gSavePromptMode; - if (prompt_mode == PM_QUIT) - prompt_mode = PM_SAVE_BEFORE_QUIT; + prompt_mode = gSavePromptMode; + if (prompt_mode == PM_QUIT) + prompt_mode = PM_SAVE_BEFORE_QUIT; - // do not show save prompt if we're in the title demo and click on load game - if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) { - game_load_or_quit_no_save_prompt(); - return; - } + // do not show save prompt if we're in the title demo and click on load game + if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) { + game_load_or_quit_no_save_prompt(); + return; + } - if (!gConfigGeneral.confirmation_prompt) { - /* game_load_or_quit_no_save_prompt() will exec requested task and close this window - * immediately again. - * TODO restructure these functions when we're sure game_load_or_quit_no_save_prompt() - * and game_load_or_quit() are not called by the original binary anymore. - */ + if (!gConfigGeneral.confirmation_prompt) { + /* game_load_or_quit_no_save_prompt() will exec requested task and close this window + * immediately again. + * TODO restructure these functions when we're sure game_load_or_quit_no_save_prompt() + * and game_load_or_quit() are not called by the original binary anymore. + */ - if (gScreenAge < 3840) { - game_load_or_quit_no_save_prompt(); - return; - } - } + if (gScreenAge < 3840) { + game_load_or_quit_no_save_prompt(); + return; + } + } - // Check if window is already open - window = window_bring_to_front_by_class(WC_SAVE_PROMPT); - if (window){ - window_close(window); - } + // Check if window is already open + window = window_bring_to_front_by_class(WC_SAVE_PROMPT); + if (window){ + window_close(window); + } - if (gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { - widgets = window_quit_prompt_widgets; - enabled_widgets = - (1 << WQIDX_CLOSE) | - (1 << WQIDX_OK) | - (1 << WQIDX_CANCEL); - width = 177; - height = 34; - } else { - widgets = window_save_prompt_widgets; - enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_SAVE) | - (1 << WIDX_DONT_SAVE) | - (1 << WIDX_CANCEL); - width = 260; - height = 50; - } + if (gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { + widgets = window_quit_prompt_widgets; + enabled_widgets = + (1 << WQIDX_CLOSE) | + (1 << WQIDX_OK) | + (1 << WQIDX_CANCEL); + width = 177; + height = 34; + } else { + widgets = window_save_prompt_widgets; + enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_SAVE) | + (1 << WIDX_DONT_SAVE) | + (1 << WIDX_CANCEL); + width = 260; + height = 50; + } - if (prompt_mode >= countof(window_save_prompt_labels)) { - log_warning("Invalid save prompt mode %u", prompt_mode); - return; - } - window = window_create_centred( - width, - height, - &window_save_prompt_events, - WC_SAVE_PROMPT, - WF_TRANSPARENT | WF_STICK_TO_FRONT - ); + if (prompt_mode >= countof(window_save_prompt_labels)) { + log_warning("Invalid save prompt mode %u", prompt_mode); + return; + } + window = window_create_centred( + width, + height, + &window_save_prompt_events, + WC_SAVE_PROMPT, + WF_TRANSPARENT | WF_STICK_TO_FRONT + ); - window->widgets = widgets; - window->enabled_widgets = enabled_widgets; - window_init_scroll_widgets(window); + window->widgets = widgets; + window->enabled_widgets = enabled_widgets; + window_init_scroll_widgets(window); - // Pause the game - gGamePaused |= GAME_PAUSED_MODAL; - audio_pause_sounds(); - window_invalidate_by_class(WC_TOP_TOOLBAR); + // Pause the game + gGamePaused |= GAME_PAUSED_MODAL; + audio_pause_sounds(); + window_invalidate_by_class(WC_TOP_TOOLBAR); - stringId = window_save_prompt_labels[prompt_mode][0]; - if (stringId == STR_LOAD_GAME_PROMPT_TITLE && gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) - stringId = STR_LOAD_LANDSCAPE_PROMPT_TITLE; - if (stringId == STR_QUIT_GAME_PROMPT_TITLE && gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) - stringId = STR_QUIT_SCENARIO_EDITOR; - window_save_prompt_widgets[WIDX_TITLE].text = stringId; - window_save_prompt_widgets[WIDX_LABEL].text = window_save_prompt_labels[prompt_mode][1]; + stringId = window_save_prompt_labels[prompt_mode][0]; + if (stringId == STR_LOAD_GAME_PROMPT_TITLE && gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) + stringId = STR_LOAD_LANDSCAPE_PROMPT_TITLE; + if (stringId == STR_QUIT_GAME_PROMPT_TITLE && gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) + stringId = STR_QUIT_SCENARIO_EDITOR; + window_save_prompt_widgets[WIDX_TITLE].text = stringId; + window_save_prompt_widgets[WIDX_LABEL].text = window_save_prompt_labels[prompt_mode][1]; } /** @@ -202,10 +202,10 @@ void window_save_prompt_open() */ static void window_save_prompt_close(rct_window *w) { - // Unpause the game - gGamePaused &= ~GAME_PAUSED_MODAL; - audio_unpause_sounds(); - window_invalidate_by_class(WC_TOP_TOOLBAR); + // Unpause the game + gGamePaused &= ~GAME_PAUSED_MODAL; + audio_unpause_sounds(); + window_invalidate_by_class(WC_TOP_TOOLBAR); } /** @@ -214,47 +214,47 @@ static void window_save_prompt_close(rct_window *w) */ static void window_save_prompt_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (gScreenFlags & (SCREEN_FLAGS_TITLE_DEMO | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { - switch (widgetIndex) { - case WQIDX_OK: - game_load_or_quit_no_save_prompt(); - break; - case WQIDX_CLOSE: - case WQIDX_CANCEL: - window_close(w); - break; - } - return; - } else { - switch (widgetIndex) { - case WIDX_SAVE: - if (gScreenFlags & (SCREEN_FLAGS_EDITOR)) { - window_loadsave_open(LOADSAVETYPE_SAVE | LOADSAVETYPE_LANDSCAPE, gS6Info.name); - } else { - save_game_as(); - } - window_close(w); - window_loadsave_set_loadsave_callback(window_save_prompt_callback); - break; - case WIDX_DONT_SAVE: - game_load_or_quit_no_save_prompt(); - return; - case WIDX_CLOSE: - case WIDX_CANCEL: - window_close(w); - return; - } - } + if (gScreenFlags & (SCREEN_FLAGS_TITLE_DEMO | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { + switch (widgetIndex) { + case WQIDX_OK: + game_load_or_quit_no_save_prompt(); + break; + case WQIDX_CLOSE: + case WQIDX_CANCEL: + window_close(w); + break; + } + return; + } else { + switch (widgetIndex) { + case WIDX_SAVE: + if (gScreenFlags & (SCREEN_FLAGS_EDITOR)) { + window_loadsave_open(LOADSAVETYPE_SAVE | LOADSAVETYPE_LANDSCAPE, gS6Info.name); + } else { + save_game_as(); + } + window_close(w); + window_loadsave_set_loadsave_callback(window_save_prompt_callback); + break; + case WIDX_DONT_SAVE: + game_load_or_quit_no_save_prompt(); + return; + case WIDX_CLOSE: + case WIDX_CANCEL: + window_close(w); + return; + } + } } static void window_save_prompt_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); } static void window_save_prompt_callback(sint32 result, const utf8 * path) { - if (result == MODAL_RESULT_OK) { - game_load_or_quit_no_save_prompt(); - } + if (result == MODAL_RESULT_OK) { + game_load_or_quit_no_save_prompt(); + } } diff --git a/src/openrct2/windows/scenery.c b/src/openrct2/windows/scenery.c index c548cdb229..646f713457 100644 --- a/src/openrct2/windows/scenery.c +++ b/src/openrct2/windows/scenery.c @@ -33,32 +33,32 @@ #include "error.h" #include "../sprites.h" -#define WINDOW_SCENERY_WIDTH 634 -#define WINDOW_SCENERY_HEIGHT 180 -#define SCENERY_BUTTON_WIDTH 66 -#define SCENERY_BUTTON_HEIGHT 80 +#define WINDOW_SCENERY_WIDTH 634 +#define WINDOW_SCENERY_HEIGHT 180 +#define SCENERY_BUTTON_WIDTH 66 +#define SCENERY_BUTTON_HEIGHT 80 enum { - WINDOW_SCENERY_TAB_1, - WINDOW_SCENERY_TAB_2, - WINDOW_SCENERY_TAB_3, - WINDOW_SCENERY_TAB_4, - WINDOW_SCENERY_TAB_5, - WINDOW_SCENERY_TAB_6, - WINDOW_SCENERY_TAB_7, - WINDOW_SCENERY_TAB_8, - WINDOW_SCENERY_TAB_9, - WINDOW_SCENERY_TAB_10, - WINDOW_SCENERY_TAB_11, - WINDOW_SCENERY_TAB_12, - WINDOW_SCENERY_TAB_13, - WINDOW_SCENERY_TAB_14, - WINDOW_SCENERY_TAB_15, - WINDOW_SCENERY_TAB_16, - WINDOW_SCENERY_TAB_17, - WINDOW_SCENERY_TAB_18, - WINDOW_SCENERY_TAB_19, - WINDOW_SCENERY_TAB_20 + WINDOW_SCENERY_TAB_1, + WINDOW_SCENERY_TAB_2, + WINDOW_SCENERY_TAB_3, + WINDOW_SCENERY_TAB_4, + WINDOW_SCENERY_TAB_5, + WINDOW_SCENERY_TAB_6, + WINDOW_SCENERY_TAB_7, + WINDOW_SCENERY_TAB_8, + WINDOW_SCENERY_TAB_9, + WINDOW_SCENERY_TAB_10, + WINDOW_SCENERY_TAB_11, + WINDOW_SCENERY_TAB_12, + WINDOW_SCENERY_TAB_13, + WINDOW_SCENERY_TAB_14, + WINDOW_SCENERY_TAB_15, + WINDOW_SCENERY_TAB_16, + WINDOW_SCENERY_TAB_17, + WINDOW_SCENERY_TAB_18, + WINDOW_SCENERY_TAB_19, + WINDOW_SCENERY_TAB_20 }; static void window_scenery_close(rct_window *w); @@ -77,109 +77,109 @@ static void window_scenery_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_scenery_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_scenery_events = { - window_scenery_close, - window_scenery_mouseup, - window_scenery_resize, - window_scenery_mousedown, - window_scenery_dropdown, - NULL, - window_scenery_update, - window_scenery_event_07, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_scenery_scrollgetsize, - window_scenery_scrollmousedown, - NULL, - window_scenery_scrollmouseover, - NULL, - NULL, - NULL, - window_scenery_tooltip, - NULL, - NULL, - window_scenery_invalidate, - window_scenery_paint, - window_scenery_scrollpaint, + window_scenery_close, + window_scenery_mouseup, + window_scenery_resize, + window_scenery_mousedown, + window_scenery_dropdown, + NULL, + window_scenery_update, + window_scenery_event_07, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_scenery_scrollgetsize, + window_scenery_scrollmousedown, + NULL, + window_scenery_scrollmouseover, + NULL, + NULL, + NULL, + window_scenery_tooltip, + NULL, + NULL, + window_scenery_invalidate, + window_scenery_paint, + window_scenery_scrollpaint, }; enum WINDOW_SCENERY_LIST_WIDGET_IDX { - WIDX_SCENERY_BACKGROUND, // 1 - WIDX_SCENERY_TITLE, // 2 - WIDX_SCENERY_CLOSE, // 4 - WIDX_SCENERY_TAB_CONTENT_PANEL, // 8 - WIDX_SCENERY_TAB_1, // 10 - WIDX_SCENERY_TAB_2, // 20 - WIDX_SCENERY_TAB_3, // 40 - WIDX_SCENERY_TAB_4, // 80 - WIDX_SCENERY_TAB_5, // 100 - WIDX_SCENERY_TAB_6, // 200 - WIDX_SCENERY_TAB_7, // 400 - WIDX_SCENERY_TAB_8, // 800 - WIDX_SCENERY_TAB_9, // 1000 - WIDX_SCENERY_TAB_10, // 2000 - WIDX_SCENERY_TAB_11, // 4000 - WIDX_SCENERY_TAB_12, // 8000 - WIDX_SCENERY_TAB_13, // 10000 - WIDX_SCENERY_TAB_14, // 20000 - WIDX_SCENERY_TAB_15, // 40000 - WIDX_SCENERY_TAB_16, // 80000 - WIDX_SCENERY_TAB_17, // 100000 - WIDX_SCENERY_TAB_18, // 200000 - WIDX_SCENERY_TAB_19, // 400000 - WIDX_SCENERY_TAB_20, // 800000 - WIDX_SCENERY_LIST, // 1000000 - WIDX_SCENERY_ROTATE_OBJECTS_BUTTON, // 2000000 - WIDX_SCENERY_REPAINT_SCENERY_BUTTON, // 4000000 - WIDX_SCENERY_PRIMARY_COLOUR_BUTTON, // 8000000 - WIDX_SCENERY_SECONDARY_COLOUR_BUTTON, // 10000000 - WIDX_SCENERY_TERTIARY_COLOUR_BUTTON, // 20000000 - WIDX_SCENERY_EYEDROPPER_BUTTON, // 40000000 - WIDX_SCENERY_BUILD_CLUSTER_BUTTON, // 80000000 + WIDX_SCENERY_BACKGROUND, // 1 + WIDX_SCENERY_TITLE, // 2 + WIDX_SCENERY_CLOSE, // 4 + WIDX_SCENERY_TAB_CONTENT_PANEL, // 8 + WIDX_SCENERY_TAB_1, // 10 + WIDX_SCENERY_TAB_2, // 20 + WIDX_SCENERY_TAB_3, // 40 + WIDX_SCENERY_TAB_4, // 80 + WIDX_SCENERY_TAB_5, // 100 + WIDX_SCENERY_TAB_6, // 200 + WIDX_SCENERY_TAB_7, // 400 + WIDX_SCENERY_TAB_8, // 800 + WIDX_SCENERY_TAB_9, // 1000 + WIDX_SCENERY_TAB_10, // 2000 + WIDX_SCENERY_TAB_11, // 4000 + WIDX_SCENERY_TAB_12, // 8000 + WIDX_SCENERY_TAB_13, // 10000 + WIDX_SCENERY_TAB_14, // 20000 + WIDX_SCENERY_TAB_15, // 40000 + WIDX_SCENERY_TAB_16, // 80000 + WIDX_SCENERY_TAB_17, // 100000 + WIDX_SCENERY_TAB_18, // 200000 + WIDX_SCENERY_TAB_19, // 400000 + WIDX_SCENERY_TAB_20, // 800000 + WIDX_SCENERY_LIST, // 1000000 + WIDX_SCENERY_ROTATE_OBJECTS_BUTTON, // 2000000 + WIDX_SCENERY_REPAINT_SCENERY_BUTTON, // 4000000 + WIDX_SCENERY_PRIMARY_COLOUR_BUTTON, // 8000000 + WIDX_SCENERY_SECONDARY_COLOUR_BUTTON, // 10000000 + WIDX_SCENERY_TERTIARY_COLOUR_BUTTON, // 20000000 + WIDX_SCENERY_EYEDROPPER_BUTTON, // 40000000 + WIDX_SCENERY_BUILD_CLUSTER_BUTTON, // 80000000 }; validate_global_widx(WC_SCENERY, WIDX_SCENERY_TAB_1); validate_global_widx(WC_SCENERY, WIDX_SCENERY_ROTATE_OBJECTS_BUTTON); static rct_widget window_scenery_widgets[] = { - { WWT_FRAME, 0, 0, 633, 0, 141, 0xFFFFFFFF, STR_NONE }, // 1 0x009DE298 - { WWT_CAPTION, 0, 1, 632, 1, 14, 0xFFFFFFFF, STR_WINDOW_TITLE_TIP }, // 2 0x009DE2A8 - { WWT_CLOSEBOX, 0, 621, 631, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // 4 0x009DE2B8 - { WWT_RESIZE, 1, 0, 633, 43, 141, 0xFFFFFFFF, STR_NONE }, // 8 0x009DE2C8 - { WWT_TAB, 1, 3, 33, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 10 0x009DE2D8 - { WWT_TAB, 1, 34, 64, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 20 0x009DE2E8 - { WWT_TAB, 1, 65, 95, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 40 0x009DE2F8 - { WWT_TAB, 1, 96, 126, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 80 0x009DE308 - { WWT_TAB, 1, 127, 157, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 100 0x009DE318 - { WWT_TAB, 1, 158, 188, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 200 0x009DE328 - { WWT_TAB, 1, 189, 219, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 400 0x009DE338 - { WWT_TAB, 1, 220, 250, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 800 0x009DE348 - { WWT_TAB, 1, 251, 281, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 1000 0x009DE358 - { WWT_TAB, 1, 282, 312, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 2000 0x009DE368 - { WWT_TAB, 1, 313, 343, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 4000 0x009DE378 - { WWT_TAB, 1, 344, 374, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 8000 0x009DE388 - { WWT_TAB, 1, 375, 405, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 10000 0x009DE398 - { WWT_TAB, 1, 406, 436, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 20000 0x009DE3A8 - { WWT_TAB, 1, 437, 467, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 40000 0x009DE3B8 - { WWT_TAB, 1, 468, 498, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 80000 0x009DE3C8 - { WWT_TAB, 1, 468, 498, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 100000 0x009DE3D8 - { WWT_TAB, 1, 468, 498, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 200000 0x009DE3E8 - { WWT_TAB, 1, 468, 498, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 400000 0x009DE3F8 - { WWT_TAB, 1, 468, 498, 17, 43, 0x20000000 | SPR_TAB_QUESTION, STR_STRING_DEFINED_TOOLTIP }, // 800000 0x009DE408 - { WWT_SCROLL, 1, 2, 608, 47, 126, SCROLL_VERTICAL, STR_NONE }, // 1000000 0x009DE418 - { WWT_FLATBTN, 1, 609, 632, 44, 67, SPR_ROTATE_ARROW, STR_ROTATE_OBJECTS_90 }, // 2000000 0x009DE428 - { WWT_FLATBTN, 1, 609, 632, 68, 91, SPR_PAINTBRUSH, STR_SCENERY_PAINTBRUSH_TIP }, // 4000000 0x009DE438 - { WWT_COLOURBTN, 1, 615, 626, 93, 104, 0xFFFFFFFF, STR_SELECT_COLOUR }, // 8000000 0x009DE448 - { WWT_COLOURBTN, 1, 615, 626, 105, 116, 0xFFFFFFFF, STR_SELECT_SECONDARY_COLOUR }, // 10000000 0x009DE458 - { WWT_COLOURBTN, 1, 615, 626, 117, 128, 0xFFFFFFFF, STR_SELECT_TERNARY_COLOUR }, // 20000000 0x009DE468 - { WWT_FLATBTN, 1, 609, 632, 130, 153, SPR_PICKUP_BTN, STR_SCENERY_EYEDROPPER_TIP }, // 40000000 0x009DE478 - { WWT_FLATBTN, 1, 609, 632, 154, 177, SPR_SCENERY_CLUSTER, STR_SCENERY_CLUSTER_TIP }, // 40000000 0x009DE478 - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 633, 0, 141, 0xFFFFFFFF, STR_NONE }, // 1 0x009DE298 + { WWT_CAPTION, 0, 1, 632, 1, 14, 0xFFFFFFFF, STR_WINDOW_TITLE_TIP }, // 2 0x009DE2A8 + { WWT_CLOSEBOX, 0, 621, 631, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // 4 0x009DE2B8 + { WWT_RESIZE, 1, 0, 633, 43, 141, 0xFFFFFFFF, STR_NONE }, // 8 0x009DE2C8 + { WWT_TAB, 1, 3, 33, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 10 0x009DE2D8 + { WWT_TAB, 1, 34, 64, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 20 0x009DE2E8 + { WWT_TAB, 1, 65, 95, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 40 0x009DE2F8 + { WWT_TAB, 1, 96, 126, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 80 0x009DE308 + { WWT_TAB, 1, 127, 157, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 100 0x009DE318 + { WWT_TAB, 1, 158, 188, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 200 0x009DE328 + { WWT_TAB, 1, 189, 219, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 400 0x009DE338 + { WWT_TAB, 1, 220, 250, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 800 0x009DE348 + { WWT_TAB, 1, 251, 281, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 1000 0x009DE358 + { WWT_TAB, 1, 282, 312, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 2000 0x009DE368 + { WWT_TAB, 1, 313, 343, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 4000 0x009DE378 + { WWT_TAB, 1, 344, 374, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 8000 0x009DE388 + { WWT_TAB, 1, 375, 405, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 10000 0x009DE398 + { WWT_TAB, 1, 406, 436, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 20000 0x009DE3A8 + { WWT_TAB, 1, 437, 467, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 40000 0x009DE3B8 + { WWT_TAB, 1, 468, 498, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 80000 0x009DE3C8 + { WWT_TAB, 1, 468, 498, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 100000 0x009DE3D8 + { WWT_TAB, 1, 468, 498, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 200000 0x009DE3E8 + { WWT_TAB, 1, 468, 498, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 400000 0x009DE3F8 + { WWT_TAB, 1, 468, 498, 17, 43, 0x20000000 | SPR_TAB_QUESTION, STR_STRING_DEFINED_TOOLTIP }, // 800000 0x009DE408 + { WWT_SCROLL, 1, 2, 608, 47, 126, SCROLL_VERTICAL, STR_NONE }, // 1000000 0x009DE418 + { WWT_FLATBTN, 1, 609, 632, 44, 67, SPR_ROTATE_ARROW, STR_ROTATE_OBJECTS_90 }, // 2000000 0x009DE428 + { WWT_FLATBTN, 1, 609, 632, 68, 91, SPR_PAINTBRUSH, STR_SCENERY_PAINTBRUSH_TIP }, // 4000000 0x009DE438 + { WWT_COLOURBTN, 1, 615, 626, 93, 104, 0xFFFFFFFF, STR_SELECT_COLOUR }, // 8000000 0x009DE448 + { WWT_COLOURBTN, 1, 615, 626, 105, 116, 0xFFFFFFFF, STR_SELECT_SECONDARY_COLOUR }, // 10000000 0x009DE458 + { WWT_COLOURBTN, 1, 615, 626, 117, 128, 0xFFFFFFFF, STR_SELECT_TERNARY_COLOUR }, // 20000000 0x009DE468 + { WWT_FLATBTN, 1, 609, 632, 130, 153, SPR_PICKUP_BTN, STR_SCENERY_EYEDROPPER_TIP }, // 40000000 0x009DE478 + { WWT_FLATBTN, 1, 609, 632, 154, 177, SPR_SCENERY_CLUSTER, STR_SCENERY_CLUSTER_TIP }, // 40000000 0x009DE478 + { WIDGETS_END }, }; // rct2: 0x00F64F2C @@ -193,40 +193,40 @@ void window_scenery_update_scroll(rct_window *w); */ static void init_scenery_entry(rct_scenery_entry *sceneryEntry, sint32 index, uint8 sceneryTabId) { - if (scenery_is_invented(index)) { - if (sceneryTabId != 0xFF) { - for (sint32 i = 0; i < SCENERY_ENTRIES_BY_TAB; i++) { - if (window_scenery_tab_entries[sceneryTabId][i] == -1) - { - window_scenery_tab_entries[sceneryTabId][i] = index; - window_scenery_tab_entries[sceneryTabId][i + 1] = -1; - return; - } - } - } + if (scenery_is_invented(index)) { + if (sceneryTabId != 0xFF) { + for (sint32 i = 0; i < SCENERY_ENTRIES_BY_TAB; i++) { + if (window_scenery_tab_entries[sceneryTabId][i] == -1) + { + window_scenery_tab_entries[sceneryTabId][i] = index; + window_scenery_tab_entries[sceneryTabId][i + 1] = -1; + return; + } + } + } - for (sint32 i = 0; i < 19; i++) { - sint32 counter = 0; + for (sint32 i = 0; i < 19; i++) { + sint32 counter = 0; - while (window_scenery_tab_entries[i][counter] != -1) - { - if (window_scenery_tab_entries[i][counter] == index) { - return; - } + while (window_scenery_tab_entries[i][counter] != -1) + { + if (window_scenery_tab_entries[i][counter] == index) { + return; + } - counter++; - } - } + counter++; + } + } - for (sint32 i = 0; i < SCENERY_ENTRIES_BY_TAB; i++) { - if (window_scenery_tab_entries[19][i] == -1) - { - window_scenery_tab_entries[19][i] = index; - window_scenery_tab_entries[19][i + 1] = -1; - break; - } - } - } + for (sint32 i = 0; i < SCENERY_ENTRIES_BY_TAB; i++) { + if (window_scenery_tab_entries[19][i] == -1) + { + window_scenery_tab_entries[19][i] = index; + window_scenery_tab_entries[19][i + 1] = -1; + break; + } + } + } } /** @@ -235,146 +235,146 @@ static void init_scenery_entry(rct_scenery_entry *sceneryEntry, sint32 index, ui */ void init_scenery() { - bool enabledScenerySets[20] = { false }; + bool enabledScenerySets[20] = { false }; - for (sint32 scenerySetIndex = 0; scenerySetIndex < 20; scenerySetIndex++) { - window_scenery_tab_entries[scenerySetIndex][0] = -1; - if (scenerySetIndex == 19) - continue; + for (sint32 scenerySetIndex = 0; scenerySetIndex < 20; scenerySetIndex++) { + window_scenery_tab_entries[scenerySetIndex][0] = -1; + if (scenerySetIndex == 19) + continue; - rct_scenery_set_entry* scenerySetEntry = get_scenery_group_entry(scenerySetIndex); - if (scenerySetEntry == (rct_scenery_set_entry *)-1) - continue; + rct_scenery_set_entry* scenerySetEntry = get_scenery_group_entry(scenerySetIndex); + if (scenerySetEntry == (rct_scenery_set_entry *)-1) + continue; - sint32 sceneryTabEntryCount = 0; - for (sint32 i = 0; i < scenerySetEntry->entry_count; i++) { - uint16 sceneryEntryId = scenerySetEntry->scenery_entries[i]; - if (scenery_is_invented(sceneryEntryId)) { - window_scenery_tab_entries[scenerySetIndex][sceneryTabEntryCount] = sceneryEntryId; - window_scenery_tab_entries[scenerySetIndex][++sceneryTabEntryCount] = -1; - } else { - enabledScenerySets[scenerySetIndex] = true; - } - } - } + sint32 sceneryTabEntryCount = 0; + for (sint32 i = 0; i < scenerySetEntry->entry_count; i++) { + uint16 sceneryEntryId = scenerySetEntry->scenery_entries[i]; + if (scenery_is_invented(sceneryEntryId)) { + window_scenery_tab_entries[scenerySetIndex][sceneryTabEntryCount] = sceneryEntryId; + window_scenery_tab_entries[scenerySetIndex][++sceneryTabEntryCount] = -1; + } else { + enabledScenerySets[scenerySetIndex] = true; + } + } + } - // small scenery - for (uint16 sceneryId = 0; sceneryId < 0xFC; sceneryId++) { - if (get_small_scenery_entry(sceneryId) == (rct_scenery_entry *)-1) - continue; + // small scenery + for (uint16 sceneryId = 0; sceneryId < 0xFC; sceneryId++) { + if (get_small_scenery_entry(sceneryId) == (rct_scenery_entry *)-1) + continue; - rct_scenery_entry* sceneryEntry = get_small_scenery_entry(sceneryId); - init_scenery_entry(sceneryEntry, sceneryId, sceneryEntry->small_scenery.scenery_tab_id); - } + rct_scenery_entry* sceneryEntry = get_small_scenery_entry(sceneryId); + init_scenery_entry(sceneryEntry, sceneryId, sceneryEntry->small_scenery.scenery_tab_id); + } - // large scenery - for (sint32 sceneryId = 0x300; sceneryId < 0x380; sceneryId++) { - sint32 largeSceneryIndex = sceneryId - 0x300; + // large scenery + for (sint32 sceneryId = 0x300; sceneryId < 0x380; sceneryId++) { + sint32 largeSceneryIndex = sceneryId - 0x300; - if (get_large_scenery_entry(largeSceneryIndex) == (rct_scenery_entry *)-1) - continue; + if (get_large_scenery_entry(largeSceneryIndex) == (rct_scenery_entry *)-1) + continue; - rct_scenery_entry* sceneryEntry = get_large_scenery_entry(largeSceneryIndex); - init_scenery_entry(sceneryEntry, sceneryId, sceneryEntry->large_scenery.scenery_tab_id); - } + rct_scenery_entry* sceneryEntry = get_large_scenery_entry(largeSceneryIndex); + init_scenery_entry(sceneryEntry, sceneryId, sceneryEntry->large_scenery.scenery_tab_id); + } - // walls - for (sint32 sceneryId = 0x200; sceneryId < 0x280; sceneryId++) { - sint32 wallSceneryIndex = sceneryId - 0x200; + // walls + for (sint32 sceneryId = 0x200; sceneryId < 0x280; sceneryId++) { + sint32 wallSceneryIndex = sceneryId - 0x200; - if (get_wall_entry(wallSceneryIndex) == (rct_scenery_entry *)-1) - continue; + if (get_wall_entry(wallSceneryIndex) == (rct_scenery_entry *)-1) + continue; - rct_scenery_entry* sceneryEntry = get_wall_entry(wallSceneryIndex); - init_scenery_entry(sceneryEntry, sceneryId, sceneryEntry->wall.scenery_tab_id); - } + rct_scenery_entry* sceneryEntry = get_wall_entry(wallSceneryIndex); + init_scenery_entry(sceneryEntry, sceneryId, sceneryEntry->wall.scenery_tab_id); + } - // banners - for (sint32 sceneryId = 0x400; sceneryId < 0x420; sceneryId++) { - sint32 bannerIndex = sceneryId - 0x400; + // banners + for (sint32 sceneryId = 0x400; sceneryId < 0x420; sceneryId++) { + sint32 bannerIndex = sceneryId - 0x400; - if (get_banner_entry(bannerIndex) == (rct_scenery_entry *)-1) - continue; + if (get_banner_entry(bannerIndex) == (rct_scenery_entry *)-1) + continue; - rct_scenery_entry* sceneryEntry = get_banner_entry(bannerIndex); - init_scenery_entry(sceneryEntry, sceneryId, sceneryEntry->banner.scenery_tab_id); - } + rct_scenery_entry* sceneryEntry = get_banner_entry(bannerIndex); + init_scenery_entry(sceneryEntry, sceneryId, sceneryEntry->banner.scenery_tab_id); + } - // path bits - for (sint32 sceneryId = 0x100; sceneryId < 0x10F; sceneryId++) { - sint32 pathBitIndex = sceneryId - 0x100; + // path bits + for (sint32 sceneryId = 0x100; sceneryId < 0x10F; sceneryId++) { + sint32 pathBitIndex = sceneryId - 0x100; - if (get_footpath_item_entry(pathBitIndex) == (rct_scenery_entry *)-1) - continue; + if (get_footpath_item_entry(pathBitIndex) == (rct_scenery_entry *)-1) + continue; - rct_scenery_entry* sceneryEntry = get_footpath_item_entry(pathBitIndex); - init_scenery_entry(sceneryEntry, sceneryId, sceneryEntry->path_bit.scenery_tab_id); - } + rct_scenery_entry* sceneryEntry = get_footpath_item_entry(pathBitIndex); + init_scenery_entry(sceneryEntry, sceneryId, sceneryEntry->path_bit.scenery_tab_id); + } - for (rct_widgetindex widgetIndex = WIDX_SCENERY_TAB_1; widgetIndex < WIDX_SCENERY_LIST; widgetIndex++) - window_scenery_widgets[widgetIndex].type = WWT_EMPTY; + for (rct_widgetindex widgetIndex = WIDX_SCENERY_TAB_1; widgetIndex < WIDX_SCENERY_LIST; widgetIndex++) + window_scenery_widgets[widgetIndex].type = WWT_EMPTY; - uint8 tabIndexes[20]; - uint8 order[20]; - sint32 usedValues = 0; + uint8 tabIndexes[20]; + uint8 order[20]; + sint32 usedValues = 0; - for (sint32 scenerySetId = 0; scenerySetId < 19; scenerySetId++) { - rct_scenery_set_entry* sceneryEntry = get_scenery_group_entry(scenerySetId); - if (sceneryEntry == (rct_scenery_set_entry *)-1) - continue; + for (sint32 scenerySetId = 0; scenerySetId < 19; scenerySetId++) { + rct_scenery_set_entry* sceneryEntry = get_scenery_group_entry(scenerySetId); + if (sceneryEntry == (rct_scenery_set_entry *)-1) + continue; - tabIndexes[usedValues] = scenerySetId; - order[usedValues] = sceneryEntry->var_108; + tabIndexes[usedValues] = scenerySetId; + order[usedValues] = sceneryEntry->var_108; - usedValues++; - } + usedValues++; + } - while (true) { - bool finished = true; - for (sint32 i = 1; i < usedValues; i++) { - if (order[i - 1] > order[i]) { - uint8 tmp = tabIndexes[i - 1]; - tabIndexes[i - 1] = tabIndexes[i]; - tabIndexes[i] = tmp; - tmp = order[i - 1]; - order[i - 1] = order[i]; - order[i] = tmp; - finished = false; - } - } + while (true) { + bool finished = true; + for (sint32 i = 1; i < usedValues; i++) { + if (order[i - 1] > order[i]) { + uint8 tmp = tabIndexes[i - 1]; + tabIndexes[i - 1] = tabIndexes[i]; + tabIndexes[i] = tmp; + tmp = order[i - 1]; + order[i - 1] = order[i]; + order[i] = tmp; + finished = false; + } + } - if (finished) - break; - } + if (finished) + break; + } - tabIndexes[usedValues] = 19; - usedValues++; + tabIndexes[usedValues] = 19; + usedValues++; - uint16 left = 3; - for (sint32 i = 0; i < usedValues; i ++) { - uint32 tabIndex = tabIndexes[i]; - rct_widget* tabWidget = &window_scenery_widgets[tabIndex + WIDX_SCENERY_TAB_1]; + uint16 left = 3; + for (sint32 i = 0; i < usedValues; i ++) { + uint32 tabIndex = tabIndexes[i]; + rct_widget* tabWidget = &window_scenery_widgets[tabIndex + WIDX_SCENERY_TAB_1]; - if (left != 3 || tabIndex != 19) { - if (window_scenery_tab_entries[tabIndex][0] == -1) - continue; + if (left != 3 || tabIndex != 19) { + if (window_scenery_tab_entries[tabIndex][0] == -1) + continue; - if (enabledScenerySets[tabIndex]) - continue; - } + if (enabledScenerySets[tabIndex]) + continue; + } - tabWidget->type = WWT_TAB; - tabWidget->left = left; - tabWidget->right = left + 0x1E; - left += 0x1F; + tabWidget->type = WWT_TAB; + tabWidget->left = left; + tabWidget->right = left + 0x1E; + left += 0x1F; - if (tabIndex >= 19) - continue; + if (tabIndex >= 19) + continue; - tabWidget->image = get_scenery_group_entry(tabIndex)->image | 0x20000000; - } + tabWidget->image = get_scenery_group_entry(tabIndex)->image | 0x20000000; + } - window_invalidate_by_class(WC_SCENERY); + window_invalidate_by_class(WC_SCENERY); } /** @@ -383,29 +383,29 @@ void init_scenery() */ void scenery_set_default_placement_configuration() { - gWindowSceneryRotation = 3; - gWindowSceneryPrimaryColour = COLOUR_BORDEAUX_RED; - gWindowScenerySecondaryColour = COLOUR_YELLOW; - gWindowSceneryTertiaryColour = COLOUR_DARK_BROWN; - init_scenery(); + gWindowSceneryRotation = 3; + gWindowSceneryPrimaryColour = COLOUR_BORDEAUX_RED; + gWindowScenerySecondaryColour = COLOUR_YELLOW; + gWindowSceneryTertiaryColour = COLOUR_DARK_BROWN; + init_scenery(); - for (sint32 i = 0; i < 20; i++) - gWindowSceneryTabSelections[i] = -1; + for (sint32 i = 0; i < 20; i++) + gWindowSceneryTabSelections[i] = -1; - for (sint32 i = 0; i < 20; i++) { - if (window_scenery_tab_entries[i][0] != -1) { - gWindowSceneryActiveTabIndex = i; - return; - } - } + for (sint32 i = 0; i < 20; i++) { + if (window_scenery_tab_entries[i][0] != -1) { + gWindowSceneryActiveTabIndex = i; + return; + } + } - for (sint32 i = 0; i < 16; i++) { - rct_widget *tabWidget = &window_scenery_widgets[WIDX_SCENERY_TAB_1 + i]; - if (tabWidget->type != WWT_EMPTY) { - gWindowSceneryActiveTabIndex = i; - return; - } - } + for (sint32 i = 0; i < 16; i++) { + rct_widget *tabWidget = &window_scenery_widgets[WIDX_SCENERY_TAB_1 + i]; + if (tabWidget->type != WWT_EMPTY) { + gWindowSceneryActiveTabIndex = i; + return; + } + } } /** @@ -414,76 +414,76 @@ void scenery_set_default_placement_configuration() */ void window_scenery_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_SCENERY); - if (window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_SCENERY); + if (window != NULL) + return; - init_scenery(); + init_scenery(); - window = window_create( - context_get_width() - WINDOW_SCENERY_WIDTH, - 0x1D, - WINDOW_SCENERY_WIDTH, - WINDOW_SCENERY_HEIGHT, - &window_scenery_events, - WC_SCENERY, - WF_NO_SCROLLING - ); - window->widgets = window_scenery_widgets; + window = window_create( + context_get_width() - WINDOW_SCENERY_WIDTH, + 0x1D, + WINDOW_SCENERY_WIDTH, + WINDOW_SCENERY_HEIGHT, + &window_scenery_events, + WC_SCENERY, + WF_NO_SCROLLING + ); + window->widgets = window_scenery_widgets; - window->enabled_widgets = - (1 << WIDX_SCENERY_CLOSE) | - (1 << WIDX_SCENERY_ROTATE_OBJECTS_BUTTON) | - (1 << WIDX_SCENERY_TAB_1) | - (1 << WIDX_SCENERY_TAB_2) | - (1 << WIDX_SCENERY_TAB_3) | - (1 << WIDX_SCENERY_TAB_4) | - (1 << WIDX_SCENERY_TAB_5) | - (1 << WIDX_SCENERY_TAB_6) | - (1 << WIDX_SCENERY_TAB_7) | - (1 << WIDX_SCENERY_TAB_8) | - (1 << WIDX_SCENERY_TAB_9) | - (1 << WIDX_SCENERY_TAB_10) | - (1 << WIDX_SCENERY_TAB_11) | - (1 << WIDX_SCENERY_TAB_12) | - (1 << WIDX_SCENERY_TAB_13) | - (1 << WIDX_SCENERY_TAB_14) | - (1 << WIDX_SCENERY_TAB_15) | - (1 << WIDX_SCENERY_TAB_16) | - (1 << WIDX_SCENERY_TAB_17) | - (1 << WIDX_SCENERY_TAB_18) | - (1 << WIDX_SCENERY_TAB_19) | - (1 << WIDX_SCENERY_TAB_20) | - (1 << WIDX_SCENERY_PRIMARY_COLOUR_BUTTON) | - (1 << WIDX_SCENERY_SECONDARY_COLOUR_BUTTON) | - (1 << WIDX_SCENERY_REPAINT_SCENERY_BUTTON) | - (1 << WIDX_SCENERY_TERTIARY_COLOUR_BUTTON) | - (1 << WIDX_SCENERY_EYEDROPPER_BUTTON) | - (1 << WIDX_SCENERY_BUILD_CLUSTER_BUTTON); + window->enabled_widgets = + (1 << WIDX_SCENERY_CLOSE) | + (1 << WIDX_SCENERY_ROTATE_OBJECTS_BUTTON) | + (1 << WIDX_SCENERY_TAB_1) | + (1 << WIDX_SCENERY_TAB_2) | + (1 << WIDX_SCENERY_TAB_3) | + (1 << WIDX_SCENERY_TAB_4) | + (1 << WIDX_SCENERY_TAB_5) | + (1 << WIDX_SCENERY_TAB_6) | + (1 << WIDX_SCENERY_TAB_7) | + (1 << WIDX_SCENERY_TAB_8) | + (1 << WIDX_SCENERY_TAB_9) | + (1 << WIDX_SCENERY_TAB_10) | + (1 << WIDX_SCENERY_TAB_11) | + (1 << WIDX_SCENERY_TAB_12) | + (1 << WIDX_SCENERY_TAB_13) | + (1 << WIDX_SCENERY_TAB_14) | + (1 << WIDX_SCENERY_TAB_15) | + (1 << WIDX_SCENERY_TAB_16) | + (1 << WIDX_SCENERY_TAB_17) | + (1 << WIDX_SCENERY_TAB_18) | + (1 << WIDX_SCENERY_TAB_19) | + (1 << WIDX_SCENERY_TAB_20) | + (1 << WIDX_SCENERY_PRIMARY_COLOUR_BUTTON) | + (1 << WIDX_SCENERY_SECONDARY_COLOUR_BUTTON) | + (1 << WIDX_SCENERY_REPAINT_SCENERY_BUTTON) | + (1 << WIDX_SCENERY_TERTIARY_COLOUR_BUTTON) | + (1 << WIDX_SCENERY_EYEDROPPER_BUTTON) | + (1 << WIDX_SCENERY_BUILD_CLUSTER_BUTTON); - window_init_scroll_widgets(window); - window_scenery_update_scroll(window); - show_gridlines(); - gWindowSceneryRotation = 3; - gSceneryCtrlPressed = false; - gSceneryShiftPressed = false; - window->scenery.selected_scenery_id = -1; - window->scenery.hover_counter = 0; - window_push_others_below(window); - gSceneryGhostType = 0; - gSceneryPlaceCost = MONEY32_UNDEFINED; - gSceneryPlaceRotation = 0; - gWindowSceneryPaintEnabled = 0; // repaint coloured scenery tool state - gWindowSceneryEyedropperEnabled = false; - gWindowSceneryClusterEnabled = 0; // build cluster tool state + window_init_scroll_widgets(window); + window_scenery_update_scroll(window); + show_gridlines(); + gWindowSceneryRotation = 3; + gSceneryCtrlPressed = false; + gSceneryShiftPressed = false; + window->scenery.selected_scenery_id = -1; + window->scenery.hover_counter = 0; + window_push_others_below(window); + gSceneryGhostType = 0; + gSceneryPlaceCost = MONEY32_UNDEFINED; + gSceneryPlaceRotation = 0; + gWindowSceneryPaintEnabled = 0; // repaint coloured scenery tool state + gWindowSceneryEyedropperEnabled = false; + gWindowSceneryClusterEnabled = 0; // build cluster tool state - window->min_width = WINDOW_SCENERY_WIDTH; - window->max_width = WINDOW_SCENERY_WIDTH; - window->min_height = WINDOW_SCENERY_HEIGHT; - window->max_height = WINDOW_SCENERY_HEIGHT; + window->min_width = WINDOW_SCENERY_WIDTH; + window->max_width = WINDOW_SCENERY_WIDTH; + window->min_height = WINDOW_SCENERY_HEIGHT; + window->max_height = WINDOW_SCENERY_HEIGHT; } /** @@ -492,65 +492,65 @@ void window_scenery_open() */ void window_scenery_close(rct_window *w) { - scenery_remove_ghost_tool_placement(); - hide_gridlines(); - viewport_set_visibility(0); + scenery_remove_ghost_tool_placement(); + hide_gridlines(); + viewport_set_visibility(0); - if (scenery_tool_is_active()) - tool_cancel(); + if (scenery_tool_is_active()) + tool_cancel(); } static sint32 count_rows(sint32 items){ - sint32 rows = items / 9; + sint32 rows = items / 9; - return rows; + return rows; } typedef struct scenery_item { - sint32 allRows; - sint32 selected_item; - sint16 sceneryId; + sint32 allRows; + sint32 selected_item; + sint16 sceneryId; } scenery_item; static scenery_item window_scenery_count_rows_with_selected_item(sint32 tabIndex) { - scenery_item sceneryItem = { 0, 0, -1 }; - sint32 totalItems = 0; - sint16 id = 0; - sint16 sceneryId = gWindowSceneryTabSelections[tabIndex]; + scenery_item sceneryItem = { 0, 0, -1 }; + sint32 totalItems = 0; + sint16 id = 0; + sint16 sceneryId = gWindowSceneryTabSelections[tabIndex]; - while ((id = window_scenery_tab_entries[tabIndex][totalItems]) != -1){ - if (id == sceneryId){ - sceneryItem.selected_item = totalItems; - sceneryItem.sceneryId = sceneryId; - } - totalItems++; - } - sceneryItem.allRows = count_rows(totalItems + 8); - return sceneryItem; + while ((id = window_scenery_tab_entries[tabIndex][totalItems]) != -1){ + if (id == sceneryId){ + sceneryItem.selected_item = totalItems; + sceneryItem.sceneryId = sceneryId; + } + totalItems++; + } + sceneryItem.allRows = count_rows(totalItems + 8); + return sceneryItem; } static sint32 window_scenery_count_rows() { - sint32 tabIndex = gWindowSceneryActiveTabIndex; - sint32 totalItems = 0; + sint32 tabIndex = gWindowSceneryActiveTabIndex; + sint32 totalItems = 0; - while (window_scenery_tab_entries[tabIndex][totalItems] != -1){ - totalItems++; - } + while (window_scenery_tab_entries[tabIndex][totalItems] != -1){ + totalItems++; + } - sint32 rows = count_rows(totalItems + 8); - return rows; + sint32 rows = count_rows(totalItems + 8); + return rows; } static sint32 window_scenery_rows_height(sint32 rows) { - return rows * SCENERY_BUTTON_HEIGHT; + return rows * SCENERY_BUTTON_HEIGHT; } static sint32 rows_on_page(sint32 height) { - return height / 90; + return height / 90; } /** @@ -559,43 +559,43 @@ static sint32 rows_on_page(sint32 height) */ static void window_scenery_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_SCENERY_CLOSE: - window_close(w); - break; - case WIDX_SCENERY_ROTATE_OBJECTS_BUTTON: - gWindowSceneryRotation++; - gWindowSceneryRotation = gWindowSceneryRotation % 4; - scenery_remove_ghost_tool_placement(); - window_invalidate(w); - break; - case WIDX_SCENERY_REPAINT_SCENERY_BUTTON: - gWindowSceneryPaintEnabled ^= 1; - gWindowSceneryClusterEnabled = 0; - gWindowSceneryEyedropperEnabled = false; - window_invalidate(w); - break; - case WIDX_SCENERY_EYEDROPPER_BUTTON: - gWindowSceneryPaintEnabled = 0; - gWindowSceneryClusterEnabled = 0; - gWindowSceneryEyedropperEnabled = !gWindowSceneryEyedropperEnabled; - window_invalidate(w); - break; - case WIDX_SCENERY_BUILD_CLUSTER_BUTTON: - gWindowSceneryPaintEnabled = 0; - gWindowSceneryEyedropperEnabled = false; - if (gWindowSceneryClusterEnabled == 1) { - gWindowSceneryClusterEnabled = 0; - } - else if (network_get_mode() != NETWORK_MODE_CLIENT || network_can_perform_command(network_get_current_player_group_index(), -2)) { - gWindowSceneryClusterEnabled ^= 1; - } - else { - window_error_open(STR_CANT_DO_THIS, STR_PERMISSION_DENIED); - } - window_invalidate(w); - break; - } + switch (widgetIndex) { + case WIDX_SCENERY_CLOSE: + window_close(w); + break; + case WIDX_SCENERY_ROTATE_OBJECTS_BUTTON: + gWindowSceneryRotation++; + gWindowSceneryRotation = gWindowSceneryRotation % 4; + scenery_remove_ghost_tool_placement(); + window_invalidate(w); + break; + case WIDX_SCENERY_REPAINT_SCENERY_BUTTON: + gWindowSceneryPaintEnabled ^= 1; + gWindowSceneryClusterEnabled = 0; + gWindowSceneryEyedropperEnabled = false; + window_invalidate(w); + break; + case WIDX_SCENERY_EYEDROPPER_BUTTON: + gWindowSceneryPaintEnabled = 0; + gWindowSceneryClusterEnabled = 0; + gWindowSceneryEyedropperEnabled = !gWindowSceneryEyedropperEnabled; + window_invalidate(w); + break; + case WIDX_SCENERY_BUILD_CLUSTER_BUTTON: + gWindowSceneryPaintEnabled = 0; + gWindowSceneryEyedropperEnabled = false; + if (gWindowSceneryClusterEnabled == 1) { + gWindowSceneryClusterEnabled = 0; + } + else if (network_get_mode() != NETWORK_MODE_CLIENT || network_can_perform_command(network_get_current_player_group_index(), -2)) { + gWindowSceneryClusterEnabled ^= 1; + } + else { + window_error_open(STR_CANT_DO_THIS, STR_PERMISSION_DENIED); + } + window_invalidate(w); + break; + } } /** @@ -604,25 +604,25 @@ static void window_scenery_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ void window_scenery_update_scroll(rct_window *w) { - sint32 tabIndex = gWindowSceneryActiveTabIndex; - sint32 listHeight = w->height - 14 - window_scenery_widgets[WIDX_SCENERY_LIST].top - 1; + sint32 tabIndex = gWindowSceneryActiveTabIndex; + sint32 listHeight = w->height - 14 - window_scenery_widgets[WIDX_SCENERY_LIST].top - 1; - scenery_item sceneryItem = window_scenery_count_rows_with_selected_item(tabIndex); - w->scrolls[0].v_bottom = window_scenery_rows_height(sceneryItem.allRows) + 1; + scenery_item sceneryItem = window_scenery_count_rows_with_selected_item(tabIndex); + w->scrolls[0].v_bottom = window_scenery_rows_height(sceneryItem.allRows) + 1; - sint32 maxTop = max(0, w->scrolls[0].v_bottom - listHeight); - sint32 rowSelected = count_rows(sceneryItem.selected_item); - if (sceneryItem.sceneryId == -1) { - rowSelected = 0; - sint16 sceneryId = window_scenery_tab_entries[tabIndex][0]; - if (sceneryId != -1) - gWindowSceneryTabSelections[tabIndex] = sceneryId; - } + sint32 maxTop = max(0, w->scrolls[0].v_bottom - listHeight); + sint32 rowSelected = count_rows(sceneryItem.selected_item); + if (sceneryItem.sceneryId == -1) { + rowSelected = 0; + sint16 sceneryId = window_scenery_tab_entries[tabIndex][0]; + if (sceneryId != -1) + gWindowSceneryTabSelections[tabIndex] = sceneryId; + } - w->scrolls[0].v_top = window_scenery_rows_height(rowSelected); - w->scrolls[0].v_top = min(maxTop, w->scrolls[0].v_top); + w->scrolls[0].v_top = window_scenery_rows_height(rowSelected); + w->scrolls[0].v_top = min(maxTop, w->scrolls[0].v_top); - widget_scroll_update_thumbs(w, WIDX_SCENERY_LIST); + widget_scroll_update_thumbs(w, WIDX_SCENERY_LIST); } @@ -632,35 +632,35 @@ void window_scenery_update_scroll(rct_window *w) */ static void window_scenery_resize(rct_window *w) { - if (w->width < w->min_width) { - window_invalidate(w); - w->width = w->min_width; - window_invalidate(w); - } + if (w->width < w->min_width) { + window_invalidate(w); + w->width = w->min_width; + window_invalidate(w); + } - if (w->width > w->max_width) { - window_invalidate(w); - w->width = w->max_width; - window_invalidate(w); - } + if (w->width > w->max_width) { + window_invalidate(w); + w->width = w->max_width; + window_invalidate(w); + } - if (w->height < w->min_height) { - window_invalidate(w); - w->height = w->min_height; - window_invalidate(w); - // HACK: For some reason invalidate has not been called - window_event_invalidate_call(w); - window_scenery_update_scroll(w); - } + if (w->height < w->min_height) { + window_invalidate(w); + w->height = w->min_height; + window_invalidate(w); + // HACK: For some reason invalidate has not been called + window_event_invalidate_call(w); + window_scenery_update_scroll(w); + } - if (w->height > w->max_height) { - window_invalidate(w); - w->height = w->max_height; - window_invalidate(w); - // HACK: For some reason invalidate has not been called - window_event_invalidate_call(w); - window_scenery_update_scroll(w); - } + if (w->height > w->max_height) { + window_invalidate(w); + w->height = w->max_height; + window_invalidate(w); + // HACK: For some reason invalidate has not been called + window_event_invalidate_call(w); + window_scenery_update_scroll(w); + } } /** @@ -668,26 +668,26 @@ static void window_scenery_resize(rct_window *w) * rct2: 0x006E1A25 */ static void window_scenery_mousedown(rct_widgetindex widgetIndex, rct_window* w, rct_widget* widget) { - switch (widgetIndex) { - case WIDX_SCENERY_PRIMARY_COLOUR_BUTTON: - window_dropdown_show_colour(w, widget, w->colours[1], gWindowSceneryPrimaryColour); - break; - case WIDX_SCENERY_SECONDARY_COLOUR_BUTTON: - window_dropdown_show_colour(w, widget, w->colours[1], gWindowScenerySecondaryColour); - break; - case WIDX_SCENERY_TERTIARY_COLOUR_BUTTON: - window_dropdown_show_colour(w, widget, w->colours[1], gWindowSceneryTertiaryColour); - break; - } + switch (widgetIndex) { + case WIDX_SCENERY_PRIMARY_COLOUR_BUTTON: + window_dropdown_show_colour(w, widget, w->colours[1], gWindowSceneryPrimaryColour); + break; + case WIDX_SCENERY_SECONDARY_COLOUR_BUTTON: + window_dropdown_show_colour(w, widget, w->colours[1], gWindowScenerySecondaryColour); + break; + case WIDX_SCENERY_TERTIARY_COLOUR_BUTTON: + window_dropdown_show_colour(w, widget, w->colours[1], gWindowSceneryTertiaryColour); + break; + } - if (widgetIndex >= WIDX_SCENERY_TAB_1 && widgetIndex <= WIDX_SCENERY_TAB_20) { - gWindowSceneryActiveTabIndex = widgetIndex - WIDX_SCENERY_TAB_1; - window_invalidate(w); - gSceneryPlaceCost = MONEY32_UNDEFINED; + if (widgetIndex >= WIDX_SCENERY_TAB_1 && widgetIndex <= WIDX_SCENERY_TAB_20) { + gWindowSceneryActiveTabIndex = widgetIndex - WIDX_SCENERY_TAB_1; + window_invalidate(w); + gSceneryPlaceCost = MONEY32_UNDEFINED; - //HACK: for 3210 Ensures that window_scenery_update_scroll gets called one time - w->max_height = 60; - } + //HACK: for 3210 Ensures that window_scenery_update_scroll gets called one time + w->max_height = 60; + } } /** @@ -696,20 +696,20 @@ static void window_scenery_mousedown(rct_widgetindex widgetIndex, rct_window* w, */ static void window_scenery_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (dropdownIndex == -1) - return; + if (dropdownIndex == -1) + return; - if (widgetIndex == WIDX_SCENERY_PRIMARY_COLOUR_BUTTON) { - gWindowSceneryPrimaryColour = (uint8)dropdownIndex; - } - else if (widgetIndex == WIDX_SCENERY_SECONDARY_COLOUR_BUTTON) { - gWindowScenerySecondaryColour = (uint8)dropdownIndex; - } - else if (widgetIndex == WIDX_SCENERY_TERTIARY_COLOUR_BUTTON) { - gWindowSceneryTertiaryColour = (uint8)dropdownIndex; - } + if (widgetIndex == WIDX_SCENERY_PRIMARY_COLOUR_BUTTON) { + gWindowSceneryPrimaryColour = (uint8)dropdownIndex; + } + else if (widgetIndex == WIDX_SCENERY_SECONDARY_COLOUR_BUTTON) { + gWindowScenerySecondaryColour = (uint8)dropdownIndex; + } + else if (widgetIndex == WIDX_SCENERY_TERTIARY_COLOUR_BUTTON) { + gWindowSceneryTertiaryColour = (uint8)dropdownIndex; + } - window_invalidate(w); + window_invalidate(w); } /** @@ -718,9 +718,9 @@ static void window_scenery_dropdown(rct_window *w, rct_widgetindex widgetIndex, */ static void window_scenery_event_07(rct_window *w) { - if (w->scenery.selected_scenery_id != -1) { - w->scenery.selected_scenery_id = -1; - } + if (w->scenery.selected_scenery_id != -1) { + w->scenery.selected_scenery_id = -1; + } } /** @@ -729,75 +729,75 @@ static void window_scenery_event_07(rct_window *w) */ static void window_scenery_update(rct_window *w) { - const CursorState * state = context_get_cursor_state(); - rct_window *other = window_find_from_point(state->x, state->y); - if (other == w) { - sint32 window_x = state->x - w->x + 26; - sint32 window_y = state->y - w->y; + const CursorState * state = context_get_cursor_state(); + rct_window *other = window_find_from_point(state->x, state->y); + if (other == w) { + sint32 window_x = state->x - w->x + 26; + sint32 window_y = state->y - w->y; - if (window_y < 44 || window_x <= w->width) { - rct_widgetindex widgetIndex = window_find_widget_from_point(w, state->x, state->y); - if (widgetIndex >= WIDX_SCENERY_TAB_CONTENT_PANEL) { - w->scenery.hover_counter++; - if (w->scenery.hover_counter < 8) { - if (input_get_state() != INPUT_STATE_SCROLL_LEFT) { - w->min_width = WINDOW_SCENERY_WIDTH; - w->max_width = WINDOW_SCENERY_WIDTH; - w->min_height = WINDOW_SCENERY_HEIGHT; - w->max_height = WINDOW_SCENERY_HEIGHT; - } - } else { - sint32 windowHeight = min(463, w->scrolls[0].v_bottom + 62); - if (context_get_height() < 600) - windowHeight = min(374, windowHeight); - windowHeight = max(WINDOW_SCENERY_HEIGHT, windowHeight); + if (window_y < 44 || window_x <= w->width) { + rct_widgetindex widgetIndex = window_find_widget_from_point(w, state->x, state->y); + if (widgetIndex >= WIDX_SCENERY_TAB_CONTENT_PANEL) { + w->scenery.hover_counter++; + if (w->scenery.hover_counter < 8) { + if (input_get_state() != INPUT_STATE_SCROLL_LEFT) { + w->min_width = WINDOW_SCENERY_WIDTH; + w->max_width = WINDOW_SCENERY_WIDTH; + w->min_height = WINDOW_SCENERY_HEIGHT; + w->max_height = WINDOW_SCENERY_HEIGHT; + } + } else { + sint32 windowHeight = min(463, w->scrolls[0].v_bottom + 62); + if (context_get_height() < 600) + windowHeight = min(374, windowHeight); + windowHeight = max(WINDOW_SCENERY_HEIGHT, windowHeight); - w->min_width = WINDOW_SCENERY_WIDTH; - w->max_width = WINDOW_SCENERY_WIDTH; - w->min_height = windowHeight; - w->max_height = windowHeight; - } - } - } - } else { - w->scenery.hover_counter = 0; - if (input_get_state() != INPUT_STATE_SCROLL_LEFT) { - w->min_width = WINDOW_SCENERY_WIDTH; - w->max_width = WINDOW_SCENERY_WIDTH; - w->min_height = WINDOW_SCENERY_HEIGHT; - w->max_height = WINDOW_SCENERY_HEIGHT; - } - } + w->min_width = WINDOW_SCENERY_WIDTH; + w->max_width = WINDOW_SCENERY_WIDTH; + w->min_height = windowHeight; + w->max_height = windowHeight; + } + } + } + } else { + w->scenery.hover_counter = 0; + if (input_get_state() != INPUT_STATE_SCROLL_LEFT) { + w->min_width = WINDOW_SCENERY_WIDTH; + w->max_width = WINDOW_SCENERY_WIDTH; + w->min_height = WINDOW_SCENERY_HEIGHT; + w->max_height = WINDOW_SCENERY_HEIGHT; + } + } - window_invalidate(w); + window_invalidate(w); - if (!scenery_tool_is_active()){ - window_close(w); - return; - } + if (!scenery_tool_is_active()){ + window_close(w); + return; + } - if (gWindowSceneryEyedropperEnabled) { - gCurrentToolId = TOOL_PICKER; - } else if (gWindowSceneryPaintEnabled == 1) { // the repaint scenery tool is active - gCurrentToolId = TOOL_PAINT_DOWN; - } else { - uint16 tabIndex = gWindowSceneryActiveTabIndex; - sint16 tabSelectedSceneryId = gWindowSceneryTabSelections[tabIndex]; + if (gWindowSceneryEyedropperEnabled) { + gCurrentToolId = TOOL_PICKER; + } else if (gWindowSceneryPaintEnabled == 1) { // the repaint scenery tool is active + gCurrentToolId = TOOL_PAINT_DOWN; + } else { + uint16 tabIndex = gWindowSceneryActiveTabIndex; + sint16 tabSelectedSceneryId = gWindowSceneryTabSelections[tabIndex]; - if (tabSelectedSceneryId != -1) { - if (tabSelectedSceneryId >= 0x400) { // banner - gCurrentToolId = TOOL_ENTRANCE_DOWN; - } else if (tabSelectedSceneryId >= 0x300) { // large scenery - gCurrentToolId = get_large_scenery_entry(tabSelectedSceneryId - 0x300)->large_scenery.tool_id; - } else if (tabSelectedSceneryId >= 0x200) { // wall - gCurrentToolId = get_wall_entry(tabSelectedSceneryId - 0x200)->wall.tool_id; - } else if (tabSelectedSceneryId >= 0x100) { // path bit - gCurrentToolId = get_footpath_item_entry(tabSelectedSceneryId - 0x100)->path_bit.tool_id; - } else { // small scenery - gCurrentToolId = get_small_scenery_entry(tabSelectedSceneryId)->small_scenery.tool_id; - } - } - } + if (tabSelectedSceneryId != -1) { + if (tabSelectedSceneryId >= 0x400) { // banner + gCurrentToolId = TOOL_ENTRANCE_DOWN; + } else if (tabSelectedSceneryId >= 0x300) { // large scenery + gCurrentToolId = get_large_scenery_entry(tabSelectedSceneryId - 0x300)->large_scenery.tool_id; + } else if (tabSelectedSceneryId >= 0x200) { // wall + gCurrentToolId = get_wall_entry(tabSelectedSceneryId - 0x200)->wall.tool_id; + } else if (tabSelectedSceneryId >= 0x100) { // path bit + gCurrentToolId = get_footpath_item_entry(tabSelectedSceneryId - 0x100)->path_bit.tool_id; + } else { // small scenery + gCurrentToolId = get_small_scenery_entry(tabSelectedSceneryId)->small_scenery.tool_id; + } + } + } } /** @@ -806,26 +806,26 @@ static void window_scenery_update(rct_window *w) */ void window_scenery_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - sint32 rows = window_scenery_count_rows(); - *height = window_scenery_rows_height(rows); + sint32 rows = window_scenery_count_rows(); + *height = window_scenery_rows_height(rows); } static sint16 get_scenery_id_by_cursor_pos(sint16 x, sint16 y) { - sint32 tabSceneryIndex = x / SCENERY_BUTTON_WIDTH + (y / SCENERY_BUTTON_HEIGHT) * 9; - uint8 tabIndex = gWindowSceneryActiveTabIndex; + sint32 tabSceneryIndex = x / SCENERY_BUTTON_WIDTH + (y / SCENERY_BUTTON_HEIGHT) * 9; + uint8 tabIndex = gWindowSceneryActiveTabIndex; - sint32 itemCounter = 0; - sint16 sceneryId = 0; - while (itemCounter <= tabSceneryIndex) { - sceneryId = window_scenery_tab_entries[tabIndex][itemCounter]; - if (sceneryId == -1) - return -1; + sint32 itemCounter = 0; + sint16 sceneryId = 0; + while (itemCounter <= tabSceneryIndex) { + sceneryId = window_scenery_tab_entries[tabIndex][itemCounter]; + if (sceneryId == -1) + return -1; - itemCounter++; - } + itemCounter++; + } - return sceneryId; + return sceneryId; } /** @@ -834,19 +834,19 @@ static sint16 get_scenery_id_by_cursor_pos(sint16 x, sint16 y) */ void window_scenery_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint16 sceneryId = get_scenery_id_by_cursor_pos(x, y); - if (sceneryId == -1) - return; + sint16 sceneryId = get_scenery_id_by_cursor_pos(x, y); + if (sceneryId == -1) + return; - uint8 tabIndex = gWindowSceneryActiveTabIndex; - gWindowSceneryTabSelections[tabIndex] = sceneryId; + uint8 tabIndex = gWindowSceneryActiveTabIndex; + gWindowSceneryTabSelections[tabIndex] = sceneryId; - gWindowSceneryPaintEnabled &= 0xFE; - gWindowSceneryEyedropperEnabled = false; - audio_play_sound(4, 0, w->x + (w->width / 2)); - w->scenery.hover_counter = -16; - gSceneryPlaceCost = MONEY32_UNDEFINED; - window_invalidate(w); + gWindowSceneryPaintEnabled &= 0xFE; + gWindowSceneryEyedropperEnabled = false; + audio_play_sound(4, 0, w->x + (w->width / 2)); + w->scenery.hover_counter = -16; + gSceneryPlaceCost = MONEY32_UNDEFINED; + window_invalidate(w); } /** @@ -855,11 +855,11 @@ void window_scenery_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, */ void window_scenery_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint16 sceneryId = get_scenery_id_by_cursor_pos(x, y); - if (sceneryId != -1) { - w->scenery.selected_scenery_id = sceneryId; - window_invalidate(w); - } + sint16 sceneryId = get_scenery_id_by_cursor_pos(x, y); + if (sceneryId != -1) { + w->scenery.selected_scenery_id = sceneryId; + window_invalidate(w); + } } /** @@ -868,35 +868,35 @@ void window_scenery_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, */ void window_scenery_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - switch (widgetIndex) { - case WIDX_SCENERY_LIST: - set_format_arg(0, uint16, STR_LIST); - break; - case WIDX_SCENERY_TAB_1: - case WIDX_SCENERY_TAB_2: - case WIDX_SCENERY_TAB_3: - case WIDX_SCENERY_TAB_4: - case WIDX_SCENERY_TAB_5: - case WIDX_SCENERY_TAB_6: - case WIDX_SCENERY_TAB_7: - case WIDX_SCENERY_TAB_8: - case WIDX_SCENERY_TAB_9: - case WIDX_SCENERY_TAB_10: - case WIDX_SCENERY_TAB_11: - case WIDX_SCENERY_TAB_12: - case WIDX_SCENERY_TAB_13: - case WIDX_SCENERY_TAB_14: - case WIDX_SCENERY_TAB_15: - case WIDX_SCENERY_TAB_16: - case WIDX_SCENERY_TAB_17: - case WIDX_SCENERY_TAB_18: - case WIDX_SCENERY_TAB_19: - set_format_arg(0, rct_string_id, get_scenery_group_entry(widgetIndex - WIDX_SCENERY_TAB_1)->name); - break; - case WIDX_SCENERY_TAB_20: - set_format_arg(0, rct_string_id, STR_MISCELLANEOUS); - break; - } + switch (widgetIndex) { + case WIDX_SCENERY_LIST: + set_format_arg(0, uint16, STR_LIST); + break; + case WIDX_SCENERY_TAB_1: + case WIDX_SCENERY_TAB_2: + case WIDX_SCENERY_TAB_3: + case WIDX_SCENERY_TAB_4: + case WIDX_SCENERY_TAB_5: + case WIDX_SCENERY_TAB_6: + case WIDX_SCENERY_TAB_7: + case WIDX_SCENERY_TAB_8: + case WIDX_SCENERY_TAB_9: + case WIDX_SCENERY_TAB_10: + case WIDX_SCENERY_TAB_11: + case WIDX_SCENERY_TAB_12: + case WIDX_SCENERY_TAB_13: + case WIDX_SCENERY_TAB_14: + case WIDX_SCENERY_TAB_15: + case WIDX_SCENERY_TAB_16: + case WIDX_SCENERY_TAB_17: + case WIDX_SCENERY_TAB_18: + case WIDX_SCENERY_TAB_19: + set_format_arg(0, rct_string_id, get_scenery_group_entry(widgetIndex - WIDX_SCENERY_TAB_1)->name); + break; + case WIDX_SCENERY_TAB_20: + set_format_arg(0, rct_string_id, STR_MISCELLANEOUS); + break; + } } /** @@ -905,129 +905,129 @@ void window_scenery_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_stri */ void window_scenery_invalidate(rct_window *w) { - uint16 tabIndex = gWindowSceneryActiveTabIndex; - uint32 titleStringId = STR_MISCELLANEOUS; - if (tabIndex < 19) - titleStringId = get_scenery_group_entry(tabIndex)->name; + uint16 tabIndex = gWindowSceneryActiveTabIndex; + uint32 titleStringId = STR_MISCELLANEOUS; + if (tabIndex < 19) + titleStringId = get_scenery_group_entry(tabIndex)->name; - window_scenery_widgets[WIDX_SCENERY_TITLE].text = titleStringId; + window_scenery_widgets[WIDX_SCENERY_TITLE].text = titleStringId; - w->pressed_widgets = 0; - w->pressed_widgets |= 1ULL << (tabIndex + WIDX_SCENERY_TAB_1); - if (gWindowSceneryPaintEnabled == 1) - w->pressed_widgets |= (1 << WIDX_SCENERY_REPAINT_SCENERY_BUTTON); - if (gWindowSceneryEyedropperEnabled) - w->pressed_widgets |= (1 << WIDX_SCENERY_EYEDROPPER_BUTTON); - if (gWindowSceneryClusterEnabled == 1) - w->pressed_widgets |= (1 << WIDX_SCENERY_BUILD_CLUSTER_BUTTON); + w->pressed_widgets = 0; + w->pressed_widgets |= 1ULL << (tabIndex + WIDX_SCENERY_TAB_1); + if (gWindowSceneryPaintEnabled == 1) + w->pressed_widgets |= (1 << WIDX_SCENERY_REPAINT_SCENERY_BUTTON); + if (gWindowSceneryEyedropperEnabled) + w->pressed_widgets |= (1 << WIDX_SCENERY_EYEDROPPER_BUTTON); + if (gWindowSceneryClusterEnabled == 1) + w->pressed_widgets |= (1 << WIDX_SCENERY_BUILD_CLUSTER_BUTTON); - window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WWT_EMPTY; - window_scenery_widgets[WIDX_SCENERY_EYEDROPPER_BUTTON].type = WWT_EMPTY; - window_scenery_widgets[WIDX_SCENERY_BUILD_CLUSTER_BUTTON].type = WWT_EMPTY; + window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WWT_EMPTY; + window_scenery_widgets[WIDX_SCENERY_EYEDROPPER_BUTTON].type = WWT_EMPTY; + window_scenery_widgets[WIDX_SCENERY_BUILD_CLUSTER_BUTTON].type = WWT_EMPTY; - if (!(gWindowSceneryPaintEnabled & 1)) { - window_scenery_widgets[WIDX_SCENERY_EYEDROPPER_BUTTON].type = WWT_FLATBTN; - } + if (!(gWindowSceneryPaintEnabled & 1)) { + window_scenery_widgets[WIDX_SCENERY_EYEDROPPER_BUTTON].type = WWT_FLATBTN; + } - sint16 tabSelectedSceneryId = gWindowSceneryTabSelections[tabIndex]; - if (tabSelectedSceneryId != -1) { - if (tabSelectedSceneryId < 0x100) { - if (!(gWindowSceneryPaintEnabled & 1)) { - window_scenery_widgets[WIDX_SCENERY_BUILD_CLUSTER_BUTTON].type = WWT_FLATBTN; - } + sint16 tabSelectedSceneryId = gWindowSceneryTabSelections[tabIndex]; + if (tabSelectedSceneryId != -1) { + if (tabSelectedSceneryId < 0x100) { + if (!(gWindowSceneryPaintEnabled & 1)) { + window_scenery_widgets[WIDX_SCENERY_BUILD_CLUSTER_BUTTON].type = WWT_FLATBTN; + } - rct_scenery_entry* sceneryEntry = get_small_scenery_entry(tabSelectedSceneryId); - if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG4) { - window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WWT_FLATBTN; - } - } - else if (tabSelectedSceneryId >= 0x300) { - window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WWT_FLATBTN; - } - } + rct_scenery_entry* sceneryEntry = get_small_scenery_entry(tabSelectedSceneryId); + if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG4) { + window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WWT_FLATBTN; + } + } + else if (tabSelectedSceneryId >= 0x300) { + window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WWT_FLATBTN; + } + } - window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].image = - (gWindowSceneryPrimaryColour << 19) | 0x60000000 | SPR_PALETTE_BTN; - window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].image = - (gWindowScenerySecondaryColour << 19) | 0x60000000 | SPR_PALETTE_BTN; - window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].image = - (gWindowSceneryTertiaryColour << 19) | 0x60000000 | SPR_PALETTE_BTN; + window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].image = + (gWindowSceneryPrimaryColour << 19) | 0x60000000 | SPR_PALETTE_BTN; + window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].image = + (gWindowScenerySecondaryColour << 19) | 0x60000000 | SPR_PALETTE_BTN; + window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].image = + (gWindowSceneryTertiaryColour << 19) | 0x60000000 | SPR_PALETTE_BTN; - window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_EMPTY; - window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_EMPTY; - window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].type = WWT_EMPTY; + window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_EMPTY; + window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_EMPTY; + window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].type = WWT_EMPTY; - if (gWindowSceneryPaintEnabled & 1) { // repaint coloured scenery tool is on - window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN; - window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_COLOURBTN; - window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].type = WWT_COLOURBTN; - window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WWT_EMPTY; - } else if (tabSelectedSceneryId != -1) { - rct_scenery_entry* sceneryEntry = NULL; + if (gWindowSceneryPaintEnabled & 1) { // repaint coloured scenery tool is on + window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN; + window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_COLOURBTN; + window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].type = WWT_COLOURBTN; + window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WWT_EMPTY; + } else if (tabSelectedSceneryId != -1) { + rct_scenery_entry* sceneryEntry = NULL; - if (tabSelectedSceneryId >= 0x400) { - sceneryEntry = get_banner_entry(tabSelectedSceneryId - 0x400); + if (tabSelectedSceneryId >= 0x400) { + sceneryEntry = get_banner_entry(tabSelectedSceneryId - 0x400); - if (sceneryEntry->banner.flags & 1) - window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN; - } else if (tabSelectedSceneryId >= 0x300) { - sceneryEntry = get_large_scenery_entry(tabSelectedSceneryId - 0x300); + if (sceneryEntry->banner.flags & 1) + window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN; + } else if (tabSelectedSceneryId >= 0x300) { + sceneryEntry = get_large_scenery_entry(tabSelectedSceneryId - 0x300); - if (sceneryEntry->large_scenery.flags & LARGE_SCENERY_FLAG_HAS_PRIMARY_COLOUR) - window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN; - if (sceneryEntry->large_scenery.flags & LARGE_SCENERY_FLAG_HAS_SECONDARY_COLOUR) - window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_COLOURBTN; - } else if (tabSelectedSceneryId >= 0x200) { - sceneryEntry = get_wall_entry(tabSelectedSceneryId - 0x200); - if (sceneryEntry->wall.flags & (WALL_SCENERY_HAS_PRIMARY_COLOUR | WALL_SCENERY_HAS_GLASS)) { - window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN; + if (sceneryEntry->large_scenery.flags & LARGE_SCENERY_FLAG_HAS_PRIMARY_COLOUR) + window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN; + if (sceneryEntry->large_scenery.flags & LARGE_SCENERY_FLAG_HAS_SECONDARY_COLOUR) + window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_COLOURBTN; + } else if (tabSelectedSceneryId >= 0x200) { + sceneryEntry = get_wall_entry(tabSelectedSceneryId - 0x200); + if (sceneryEntry->wall.flags & (WALL_SCENERY_HAS_PRIMARY_COLOUR | WALL_SCENERY_HAS_GLASS)) { + window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN; - if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_SECONDARY_COLOUR) { - window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_COLOURBTN; + if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_SECONDARY_COLOUR) { + window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_COLOURBTN; - if (sceneryEntry->wall.flags2 & WALL_SCENERY_2_NO_SELECT_PRIMARY_COLOUR) - window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_EMPTY; - if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_TERNARY_COLOUR) - window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].type = WWT_COLOURBTN; - } - } - } else if (tabSelectedSceneryId < 0x100) { - sceneryEntry = get_small_scenery_entry(tabSelectedSceneryId); + if (sceneryEntry->wall.flags2 & WALL_SCENERY_2_NO_SELECT_PRIMARY_COLOUR) + window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_EMPTY; + if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_TERNARY_COLOUR) + window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].type = WWT_COLOURBTN; + } + } + } else if (tabSelectedSceneryId < 0x100) { + sceneryEntry = get_small_scenery_entry(tabSelectedSceneryId); - if (sceneryEntry->small_scenery.flags & (SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR | SMALL_SCENERY_FLAG_HAS_GLASS)) { - window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN; + if (sceneryEntry->small_scenery.flags & (SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR | SMALL_SCENERY_FLAG_HAS_GLASS)) { + window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN; - if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR) - window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_COLOURBTN; - } - } - } + if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR) + window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_COLOURBTN; + } + } + } - window_scenery_widgets[WIDX_SCENERY_BACKGROUND].right = w->width - 1; - window_scenery_widgets[WIDX_SCENERY_BACKGROUND].bottom = w->height - 1; - window_scenery_widgets[WIDX_SCENERY_TAB_CONTENT_PANEL].right = w->width - 1; - window_scenery_widgets[WIDX_SCENERY_TAB_CONTENT_PANEL].bottom = w->height - 1; - window_scenery_widgets[WIDX_SCENERY_TITLE].right = w->width - 2; - window_scenery_widgets[WIDX_SCENERY_CLOSE].left = w->width - 13; - window_scenery_widgets[WIDX_SCENERY_CLOSE].right = window_scenery_widgets[WIDX_SCENERY_CLOSE].left + 10; - window_scenery_widgets[WIDX_SCENERY_LIST].right = w->width - 26; - window_scenery_widgets[WIDX_SCENERY_LIST].bottom = w->height - 14; + window_scenery_widgets[WIDX_SCENERY_BACKGROUND].right = w->width - 1; + window_scenery_widgets[WIDX_SCENERY_BACKGROUND].bottom = w->height - 1; + window_scenery_widgets[WIDX_SCENERY_TAB_CONTENT_PANEL].right = w->width - 1; + window_scenery_widgets[WIDX_SCENERY_TAB_CONTENT_PANEL].bottom = w->height - 1; + window_scenery_widgets[WIDX_SCENERY_TITLE].right = w->width - 2; + window_scenery_widgets[WIDX_SCENERY_CLOSE].left = w->width - 13; + window_scenery_widgets[WIDX_SCENERY_CLOSE].right = window_scenery_widgets[WIDX_SCENERY_CLOSE].left + 10; + window_scenery_widgets[WIDX_SCENERY_LIST].right = w->width - 26; + window_scenery_widgets[WIDX_SCENERY_LIST].bottom = w->height - 14; - window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].left = w->width - 25; - window_scenery_widgets[WIDX_SCENERY_REPAINT_SCENERY_BUTTON].left = w->width - 25; - window_scenery_widgets[WIDX_SCENERY_EYEDROPPER_BUTTON].left = w->width - 25; - window_scenery_widgets[WIDX_SCENERY_BUILD_CLUSTER_BUTTON].left = w->width - 25; - window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].right = w->width - 2; - window_scenery_widgets[WIDX_SCENERY_REPAINT_SCENERY_BUTTON].right = w->width - 2; - window_scenery_widgets[WIDX_SCENERY_EYEDROPPER_BUTTON].right = w->width - 2; - window_scenery_widgets[WIDX_SCENERY_BUILD_CLUSTER_BUTTON].right = w->width - 2; + window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].left = w->width - 25; + window_scenery_widgets[WIDX_SCENERY_REPAINT_SCENERY_BUTTON].left = w->width - 25; + window_scenery_widgets[WIDX_SCENERY_EYEDROPPER_BUTTON].left = w->width - 25; + window_scenery_widgets[WIDX_SCENERY_BUILD_CLUSTER_BUTTON].left = w->width - 25; + window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].right = w->width - 2; + window_scenery_widgets[WIDX_SCENERY_REPAINT_SCENERY_BUTTON].right = w->width - 2; + window_scenery_widgets[WIDX_SCENERY_EYEDROPPER_BUTTON].right = w->width - 2; + window_scenery_widgets[WIDX_SCENERY_BUILD_CLUSTER_BUTTON].right = w->width - 2; - window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].left = w->width - 19; - window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].left = w->width - 19; - window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].left = w->width - 19; - window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].right = w->width - 8; - window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].right = w->width - 8; - window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].right = w->width - 8; + window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].left = w->width - 19; + window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].left = w->width - 19; + window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].left = w->width - 19; + window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].right = w->width - 8; + window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].right = w->width - 8; + window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].right = w->width - 8; } /** @@ -1036,65 +1036,65 @@ void window_scenery_invalidate(rct_window *w) */ void window_scenery_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - uint16 tabIndex = gWindowSceneryActiveTabIndex; - uint16 selectedWidgetId = tabIndex + 4; - uint32 imageId = ((w->colours[1] << 19) | window_scenery_widgets[selectedWidgetId].image) + 1ul; + uint16 tabIndex = gWindowSceneryActiveTabIndex; + uint16 selectedWidgetId = tabIndex + 4; + uint32 imageId = ((w->colours[1] << 19) | window_scenery_widgets[selectedWidgetId].image) + 1ul; - gfx_draw_sprite(dpi, imageId, - w->x + window_scenery_widgets[selectedWidgetId].left, - w->y + window_scenery_widgets[selectedWidgetId].top, - selectedWidgetId); + gfx_draw_sprite(dpi, imageId, + w->x + window_scenery_widgets[selectedWidgetId].left, + w->y + window_scenery_widgets[selectedWidgetId].top, + selectedWidgetId); - sint16 selectedSceneryEntryId = w->scenery.selected_scenery_id; - if (selectedSceneryEntryId == -1) { - if (gWindowSceneryPaintEnabled & 1) // repaint coloured scenery tool is on - return; - if (gWindowSceneryEyedropperEnabled) - return; + sint16 selectedSceneryEntryId = w->scenery.selected_scenery_id; + if (selectedSceneryEntryId == -1) { + if (gWindowSceneryPaintEnabled & 1) // repaint coloured scenery tool is on + return; + if (gWindowSceneryEyedropperEnabled) + return; - selectedSceneryEntryId = gWindowSceneryTabSelections[tabIndex]; + selectedSceneryEntryId = gWindowSceneryTabSelections[tabIndex]; - if (selectedSceneryEntryId == -1) - return; - } + if (selectedSceneryEntryId == -1) + return; + } - uint32 price = 0; + uint32 price = 0; - rct_scenery_entry* sceneryEntry = NULL; - if (selectedSceneryEntryId >= 0x400) { - sceneryEntry = get_banner_entry(selectedSceneryEntryId - 0x400); - price = sceneryEntry->banner.price; - } else if (selectedSceneryEntryId >= 0x300) { - sceneryEntry = get_large_scenery_entry(selectedSceneryEntryId - 0x300); - price = sceneryEntry->large_scenery.price * 10; - } else if (selectedSceneryEntryId >= 0x200) { - sceneryEntry = get_wall_entry(selectedSceneryEntryId - 0x200); - price = sceneryEntry->wall.price; - } else if (selectedSceneryEntryId >= 0x100) { - sceneryEntry = get_footpath_item_entry(selectedSceneryEntryId - 0x100); - price = sceneryEntry->path_bit.price; - } else { - sceneryEntry = get_small_scenery_entry(selectedSceneryEntryId); - price = sceneryEntry->small_scenery.price * 10; - } + rct_scenery_entry* sceneryEntry = NULL; + if (selectedSceneryEntryId >= 0x400) { + sceneryEntry = get_banner_entry(selectedSceneryEntryId - 0x400); + price = sceneryEntry->banner.price; + } else if (selectedSceneryEntryId >= 0x300) { + sceneryEntry = get_large_scenery_entry(selectedSceneryEntryId - 0x300); + price = sceneryEntry->large_scenery.price * 10; + } else if (selectedSceneryEntryId >= 0x200) { + sceneryEntry = get_wall_entry(selectedSceneryEntryId - 0x200); + price = sceneryEntry->wall.price; + } else if (selectedSceneryEntryId >= 0x100) { + sceneryEntry = get_footpath_item_entry(selectedSceneryEntryId - 0x100); + price = sceneryEntry->path_bit.price; + } else { + sceneryEntry = get_small_scenery_entry(selectedSceneryEntryId); + price = sceneryEntry->small_scenery.price * 10; + } - if (w->scenery.selected_scenery_id == -1 && gSceneryPlaceCost != MONEY32_UNDEFINED) { - price = gSceneryPlaceCost; - } + if (w->scenery.selected_scenery_id == -1 && gSceneryPlaceCost != MONEY32_UNDEFINED) { + price = gSceneryPlaceCost; + } - set_format_arg(0, uint32, price); + set_format_arg(0, uint32, price); - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { - // -14 - gfx_draw_string_right(dpi, STR_COST_LABEL, gCommonFormatArgs, COLOUR_BLACK, - w->x + w->width - 0x1A, w->y + w->height - 13); - } + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { + // -14 + gfx_draw_string_right(dpi, STR_COST_LABEL, gCommonFormatArgs, COLOUR_BLACK, + w->x + w->width - 0x1A, w->y + w->height - 13); + } - set_format_arg(0, rct_string_id, sceneryEntry->name); - gfx_draw_string_left_clipped(dpi, STR_BLACK_STRING, gCommonFormatArgs, COLOUR_BLACK, - w->x + 3, w->y + w->height - 13, w->width - 19); + set_format_arg(0, rct_string_id, sceneryEntry->name); + gfx_draw_string_left_clipped(dpi, STR_BLACK_STRING, gCommonFormatArgs, COLOUR_BLACK, + w->x + 3, w->y + w->height - 13, w->width - 19); } /** @@ -1103,166 +1103,166 @@ void window_scenery_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_scenery_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - gfx_clear(dpi, ColourMapA[w->colours[1]].mid_light); + gfx_clear(dpi, ColourMapA[w->colours[1]].mid_light); - uint8 tabIndex = gWindowSceneryActiveTabIndex; + uint8 tabIndex = gWindowSceneryActiveTabIndex; - sint32 sceneryTabItemIndex = 0; - sint16 currentSceneryGlobalId = -1; - sint16 left = 0, top = 0; + sint32 sceneryTabItemIndex = 0; + sint16 currentSceneryGlobalId = -1; + sint16 left = 0, top = 0; - while ((currentSceneryGlobalId = window_scenery_tab_entries[tabIndex][sceneryTabItemIndex]) != -1) { - uint16 tabSelectedSceneryId = gWindowSceneryTabSelections[tabIndex]; + while ((currentSceneryGlobalId = window_scenery_tab_entries[tabIndex][sceneryTabItemIndex]) != -1) { + uint16 tabSelectedSceneryId = gWindowSceneryTabSelections[tabIndex]; - if (gWindowSceneryPaintEnabled == 1 || gWindowSceneryEyedropperEnabled) { - if (w->scenery.selected_scenery_id == currentSceneryGlobalId) { - gfx_fill_rect_inset(dpi, left, top, left + SCENERY_BUTTON_WIDTH - 1, - top + SCENERY_BUTTON_HEIGHT - 1, w->colours[1], INSET_RECT_FLAG_FILL_MID_LIGHT); - } - } - else { - if (tabSelectedSceneryId == currentSceneryGlobalId) { - gfx_fill_rect_inset(dpi, left, top, left + SCENERY_BUTTON_WIDTH - 1, - top + SCENERY_BUTTON_HEIGHT - 1, w->colours[1], (INSET_RECT_FLAG_BORDER_INSET | INSET_RECT_FLAG_FILL_MID_LIGHT)); - } - else if (w->scenery.selected_scenery_id == currentSceneryGlobalId) { - gfx_fill_rect_inset(dpi, left, top, left + SCENERY_BUTTON_WIDTH - 1, - top + SCENERY_BUTTON_HEIGHT - 1, w->colours[1], INSET_RECT_FLAG_FILL_MID_LIGHT); - } - } + if (gWindowSceneryPaintEnabled == 1 || gWindowSceneryEyedropperEnabled) { + if (w->scenery.selected_scenery_id == currentSceneryGlobalId) { + gfx_fill_rect_inset(dpi, left, top, left + SCENERY_BUTTON_WIDTH - 1, + top + SCENERY_BUTTON_HEIGHT - 1, w->colours[1], INSET_RECT_FLAG_FILL_MID_LIGHT); + } + } + else { + if (tabSelectedSceneryId == currentSceneryGlobalId) { + gfx_fill_rect_inset(dpi, left, top, left + SCENERY_BUTTON_WIDTH - 1, + top + SCENERY_BUTTON_HEIGHT - 1, w->colours[1], (INSET_RECT_FLAG_BORDER_INSET | INSET_RECT_FLAG_FILL_MID_LIGHT)); + } + else if (w->scenery.selected_scenery_id == currentSceneryGlobalId) { + gfx_fill_rect_inset(dpi, left, top, left + SCENERY_BUTTON_WIDTH - 1, + top + SCENERY_BUTTON_HEIGHT - 1, w->colours[1], INSET_RECT_FLAG_FILL_MID_LIGHT); + } + } - rct_scenery_entry* sceneryEntry; - rct_drawpixelinfo clipdpi; - if (clip_drawpixelinfo(&clipdpi, dpi, left + 1, top + 1, SCENERY_BUTTON_WIDTH - 2, SCENERY_BUTTON_HEIGHT - 2)) { - if (currentSceneryGlobalId >= 0x400) { - sceneryEntry = get_banner_entry(currentSceneryGlobalId - 0x400); - uint32 imageId = sceneryEntry->image + gWindowSceneryRotation * 2; - imageId |= (gWindowSceneryPrimaryColour << 19) | 0x20000000; + rct_scenery_entry* sceneryEntry; + rct_drawpixelinfo clipdpi; + if (clip_drawpixelinfo(&clipdpi, dpi, left + 1, top + 1, SCENERY_BUTTON_WIDTH - 2, SCENERY_BUTTON_HEIGHT - 2)) { + if (currentSceneryGlobalId >= 0x400) { + sceneryEntry = get_banner_entry(currentSceneryGlobalId - 0x400); + uint32 imageId = sceneryEntry->image + gWindowSceneryRotation * 2; + imageId |= (gWindowSceneryPrimaryColour << 19) | 0x20000000; - gfx_draw_sprite(&clipdpi, imageId, 0x21, 0x28, w->colours[1]); - gfx_draw_sprite(&clipdpi, imageId + 1, 0x21, 0x28, w->colours[1]); - } - else if (currentSceneryGlobalId >= 0x300) { - sceneryEntry = get_large_scenery_entry(currentSceneryGlobalId - 0x300); - uint32 imageId = sceneryEntry->image + gWindowSceneryRotation; - imageId |= (gWindowSceneryPrimaryColour << 19) | 0x20000000; - imageId |= (gWindowScenerySecondaryColour << 24) | 0x80000000; + gfx_draw_sprite(&clipdpi, imageId, 0x21, 0x28, w->colours[1]); + gfx_draw_sprite(&clipdpi, imageId + 1, 0x21, 0x28, w->colours[1]); + } + else if (currentSceneryGlobalId >= 0x300) { + sceneryEntry = get_large_scenery_entry(currentSceneryGlobalId - 0x300); + uint32 imageId = sceneryEntry->image + gWindowSceneryRotation; + imageId |= (gWindowSceneryPrimaryColour << 19) | 0x20000000; + imageId |= (gWindowScenerySecondaryColour << 24) | 0x80000000; - gfx_draw_sprite(&clipdpi, imageId, 0x21, 0, w->colours[1]); - } - else if (currentSceneryGlobalId >= 0x200) { - sceneryEntry = get_wall_entry(currentSceneryGlobalId - 0x200); - uint32 imageId = sceneryEntry->image; - uint8 tertiaryColour = w->colours[1]; - uint16 spriteTop = (sceneryEntry->wall.height * 2) + 0x32; + gfx_draw_sprite(&clipdpi, imageId, 0x21, 0, w->colours[1]); + } + else if (currentSceneryGlobalId >= 0x200) { + sceneryEntry = get_wall_entry(currentSceneryGlobalId - 0x200); + uint32 imageId = sceneryEntry->image; + uint8 tertiaryColour = w->colours[1]; + uint16 spriteTop = (sceneryEntry->wall.height * 2) + 0x32; - if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_GLASS) { - imageId |= (gWindowSceneryPrimaryColour << 19) | 0x20000000; + if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_GLASS) { + imageId |= (gWindowSceneryPrimaryColour << 19) | 0x20000000; - if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_SECONDARY_COLOUR) { - imageId |= (gWindowScenerySecondaryColour << 24) | 0x80000000; - } - gfx_draw_sprite(&clipdpi, imageId, 0x2F, spriteTop, tertiaryColour); + if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_SECONDARY_COLOUR) { + imageId |= (gWindowScenerySecondaryColour << 24) | 0x80000000; + } + gfx_draw_sprite(&clipdpi, imageId, 0x2F, spriteTop, tertiaryColour); - imageId = (sceneryEntry->image + 0x40000006) | (GlassPaletteIds[gWindowSceneryPrimaryColour] << 19); - gfx_draw_sprite(&clipdpi, imageId, 0x2F, spriteTop, tertiaryColour); - } - else { - imageId |= (gWindowSceneryPrimaryColour << 19) | 0x20000000; + imageId = (sceneryEntry->image + 0x40000006) | (GlassPaletteIds[gWindowSceneryPrimaryColour] << 19); + gfx_draw_sprite(&clipdpi, imageId, 0x2F, spriteTop, tertiaryColour); + } + else { + imageId |= (gWindowSceneryPrimaryColour << 19) | 0x20000000; - if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_SECONDARY_COLOUR) { - imageId |= (gWindowScenerySecondaryColour << 24) | 0x80000000; + if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_SECONDARY_COLOUR) { + imageId |= (gWindowScenerySecondaryColour << 24) | 0x80000000; - if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_TERNARY_COLOUR) { - imageId &= 0xDFFFFFFF; - tertiaryColour = gWindowSceneryTertiaryColour; - } - } - gfx_draw_sprite(&clipdpi, imageId, 0x2F, spriteTop, tertiaryColour); + if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_TERNARY_COLOUR) { + imageId &= 0xDFFFFFFF; + tertiaryColour = gWindowSceneryTertiaryColour; + } + } + gfx_draw_sprite(&clipdpi, imageId, 0x2F, spriteTop, tertiaryColour); - if (sceneryEntry->wall.flags & WALL_SCENERY_IS_DOOR) { - gfx_draw_sprite(&clipdpi, imageId + 1, 0x2F, spriteTop, tertiaryColour); - } - } - } - else if (currentSceneryGlobalId >= 0x100) { - sceneryEntry = get_footpath_item_entry(currentSceneryGlobalId - 0x100); - uint32 imageId = sceneryEntry->image; + if (sceneryEntry->wall.flags & WALL_SCENERY_IS_DOOR) { + gfx_draw_sprite(&clipdpi, imageId + 1, 0x2F, spriteTop, tertiaryColour); + } + } + } + else if (currentSceneryGlobalId >= 0x100) { + sceneryEntry = get_footpath_item_entry(currentSceneryGlobalId - 0x100); + uint32 imageId = sceneryEntry->image; - gfx_draw_sprite(&clipdpi, imageId, 0x0B, 0x10, w->colours[1]); - } - else { - sceneryEntry = get_small_scenery_entry(currentSceneryGlobalId); - uint32 imageId = sceneryEntry->image + gWindowSceneryRotation; + gfx_draw_sprite(&clipdpi, imageId, 0x0B, 0x10, w->colours[1]); + } + else { + sceneryEntry = get_small_scenery_entry(currentSceneryGlobalId); + uint32 imageId = sceneryEntry->image + gWindowSceneryRotation; - if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR) { - imageId |= (gWindowSceneryPrimaryColour << 19) | 0x20000000; + if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR) { + imageId |= (gWindowSceneryPrimaryColour << 19) | 0x20000000; - if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR) { - imageId |= (gWindowScenerySecondaryColour << 24) | 0x80000000; - } - } + if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR) { + imageId |= (gWindowScenerySecondaryColour << 24) | 0x80000000; + } + } - uint16 spriteTop = (sceneryEntry->small_scenery.height / 4) + 0x2B; + uint16 spriteTop = (sceneryEntry->small_scenery.height / 4) + 0x2B; - if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE && - sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { - spriteTop -= 0x0C; - } + if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE && + sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { + spriteTop -= 0x0C; + } - gfx_draw_sprite(&clipdpi, imageId, 0x20, spriteTop, w->colours[1]); + gfx_draw_sprite(&clipdpi, imageId, 0x20, spriteTop, w->colours[1]); - if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_GLASS) { - imageId = ((sceneryEntry->image + gWindowSceneryRotation) + 0x40000004) + - (GlassPaletteIds[gWindowSceneryPrimaryColour] << 19); + if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_HAS_GLASS) { + imageId = ((sceneryEntry->image + gWindowSceneryRotation) + 0x40000004) + + (GlassPaletteIds[gWindowSceneryPrimaryColour] << 19); - gfx_draw_sprite(&clipdpi, imageId, 0x20, spriteTop, w->colours[1]); - } + gfx_draw_sprite(&clipdpi, imageId, 0x20, spriteTop, w->colours[1]); + } - if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_ANIMATED_FG) { - imageId = (sceneryEntry->image + gWindowSceneryRotation) + 4; - gfx_draw_sprite(&clipdpi, imageId, 0x20, spriteTop, w->colours[1]); - } - } - } + if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_ANIMATED_FG) { + imageId = (sceneryEntry->image + gWindowSceneryRotation) + 4; + gfx_draw_sprite(&clipdpi, imageId, 0x20, spriteTop, w->colours[1]); + } + } + } - left += SCENERY_BUTTON_WIDTH; - if (left >= 594) { - top += SCENERY_BUTTON_HEIGHT; - left = 0; - } - sceneryTabItemIndex++; - } + left += SCENERY_BUTTON_WIDTH; + if (left >= 594) { + top += SCENERY_BUTTON_HEIGHT; + left = 0; + } + sceneryTabItemIndex++; + } } static sint32 window_scenery_find_tab_with_scenery_id(sint32 sceneryId) { - for (sint32 i = 0; i < 20; i++) { - for (sint32 j = 0; j < SCENERY_ENTRIES_BY_TAB; j++) { - sint16 entry = window_scenery_tab_entries[i][j]; - if (entry == -1) break; - if (entry == sceneryId) return i; - } - } - return -1; + for (sint32 i = 0; i < 20; i++) { + for (sint32 j = 0; j < SCENERY_ENTRIES_BY_TAB; j++) { + sint16 entry = window_scenery_tab_entries[i][j]; + if (entry == -1) break; + if (entry == sceneryId) return i; + } + } + return -1; } bool window_scenery_set_selected_item(sint32 sceneryId) { - bool result = false; - rct_window * w = window_bring_to_front_by_class(WC_SCENERY); - if (w != NULL) { - sint32 tabIndex = window_scenery_find_tab_with_scenery_id(sceneryId); - if (tabIndex != -1) { - gWindowSceneryActiveTabIndex = tabIndex; - gWindowSceneryTabSelections[tabIndex] = sceneryId; + bool result = false; + rct_window * w = window_bring_to_front_by_class(WC_SCENERY); + if (w != NULL) { + sint32 tabIndex = window_scenery_find_tab_with_scenery_id(sceneryId); + if (tabIndex != -1) { + gWindowSceneryActiveTabIndex = tabIndex; + gWindowSceneryTabSelections[tabIndex] = sceneryId; - audio_play_sound(SOUND_CLICK_1, 0, context_get_width() / 2); - w->scenery.hover_counter = -16; - gSceneryPlaceCost = MONEY32_UNDEFINED; - window_invalidate(w); - result = true; - } - } - return result; + audio_play_sound(SOUND_CLICK_1, 0, context_get_width() / 2); + w->scenery.hover_counter = -16; + gSceneryPlaceCost = MONEY32_UNDEFINED; + window_invalidate(w); + result = true; + } + } + return result; } diff --git a/src/openrct2/windows/server_list.cpp b/src/openrct2/windows/server_list.cpp index 954ee09cad..425ca9b867 100644 --- a/src/openrct2/windows/server_list.cpp +++ b/src/openrct2/windows/server_list.cpp @@ -21,16 +21,16 @@ extern "C" { - #include "../interface/colour.h" - #include "../interface/widget.h" - #include "../interface/window.h" - #include "../localisation/localisation.h" - #include "../network/http.h" - #include "../sprites.h" - #include "../util/util.h" - #include "../windows/dropdown.h" - #include "../windows/tooltip.h" - #include "error.h" + #include "../interface/colour.h" + #include "../interface/widget.h" + #include "../interface/window.h" + #include "../localisation/localisation.h" + #include "../network/http.h" + #include "../sprites.h" + #include "../util/util.h" + #include "../windows/dropdown.h" + #include "../windows/tooltip.h" + #include "error.h" } #define WWIDTH_MIN 500 @@ -46,31 +46,31 @@ static std::mutex _mutex; static uint32 _numPlayersOnline = 0; enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PLAYER_NAME_INPUT, - WIDX_LIST, - WIDX_FETCH_SERVERS, - WIDX_ADD_SERVER, - WIDX_START_SERVER + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PLAYER_NAME_INPUT, + WIDX_LIST, + WIDX_FETCH_SERVERS, + WIDX_ADD_SERVER, + WIDX_START_SERVER }; enum { - WIDX_LIST_REMOVE, - WIDX_LIST_SPECTATE + WIDX_LIST_REMOVE, + WIDX_LIST_SPECTATE }; static rct_widget window_server_list_widgets[] = { - { WWT_FRAME, 0, 0, 340, 0, 90, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 338, 1, 14, STR_SERVER_LIST, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 327, 337, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_TEXT_BOX, 1, 100, 344, 20, 31, STR_NONE, STR_NONE }, // player name text box - { WWT_SCROLL, 1, 6, 337, 37, 50, STR_NONE, STR_NONE }, // server list - { WWT_DROPDOWN_BUTTON, 1, 6, 106, 53, 64, STR_FETCH_SERVERS, STR_NONE }, // fetch servers button - { WWT_DROPDOWN_BUTTON, 1, 112, 212, 53, 64, STR_ADD_SERVER, STR_NONE }, // add server button - { WWT_DROPDOWN_BUTTON, 1, 218, 318, 53, 64, STR_START_SERVER, STR_NONE }, // start server button - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 340, 0, 90, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 338, 1, 14, STR_SERVER_LIST, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 327, 337, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_TEXT_BOX, 1, 100, 344, 20, 31, STR_NONE, STR_NONE }, // player name text box + { WWT_SCROLL, 1, 6, 337, 37, 50, STR_NONE, STR_NONE }, // server list + { WWT_DROPDOWN_BUTTON, 1, 6, 106, 53, 64, STR_FETCH_SERVERS, STR_NONE }, // fetch servers button + { WWT_DROPDOWN_BUTTON, 1, 112, 212, 53, 64, STR_ADD_SERVER, STR_NONE }, // add server button + { WWT_DROPDOWN_BUTTON, 1, 218, 318, 53, 64, STR_START_SERVER, STR_NONE }, // start server button + { WIDGETS_END }, }; static void window_server_list_close(rct_window *w); @@ -87,39 +87,39 @@ static void window_server_list_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_server_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_server_list_events = { - window_server_list_close, - window_server_list_mouseup, - window_server_list_resize, - NULL, - window_server_list_dropdown, - NULL, - window_server_list_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_server_list_scroll_getsize, - window_server_list_scroll_mousedown, - NULL, - window_server_list_scroll_mouseover, - window_server_list_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_server_list_invalidate, - window_server_list_paint, - window_server_list_scrollpaint + window_server_list_close, + window_server_list_mouseup, + window_server_list_resize, + NULL, + window_server_list_dropdown, + NULL, + window_server_list_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_server_list_scroll_getsize, + window_server_list_scroll_mousedown, + NULL, + window_server_list_scroll_mouseover, + window_server_list_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_server_list_invalidate, + window_server_list_paint, + window_server_list_scrollpaint }; enum { - DDIDX_JOIN, - DDIDX_FAVOURITE + DDIDX_JOIN, + DDIDX_FAVOURITE }; static sint32 _hoverButtonIndex = -1; @@ -141,640 +141,640 @@ static void fetch_servers_callback(http_response_t* response); extern "C" { - void window_server_list_open() - { - rct_window* window; + void window_server_list_open() + { + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_SERVER_LIST); - if (window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_SERVER_LIST); + if (window != NULL) + return; - window = window_create_centred(WWIDTH_MIN, WHEIGHT_MIN, &window_server_list_events, WC_SERVER_LIST, WF_10 | WF_RESIZABLE); + window = window_create_centred(WWIDTH_MIN, WHEIGHT_MIN, &window_server_list_events, WC_SERVER_LIST, WF_10 | WF_RESIZABLE); - window_server_list_widgets[WIDX_PLAYER_NAME_INPUT].string = _playerName; - window->widgets = window_server_list_widgets; - window->enabled_widgets = ( - (1 << WIDX_CLOSE) | - (1 << WIDX_PLAYER_NAME_INPUT) | - (1 << WIDX_FETCH_SERVERS) | - (1 << WIDX_ADD_SERVER) | - (1 << WIDX_START_SERVER) - ); - window_init_scroll_widgets(window); - window->no_list_items = 0; - window->selected_list_item = -1; - window->frame_no = 0; - window->min_width = 320; - window->min_height = 90; - window->max_width = window->min_width; - window->max_height = window->min_height; + window_server_list_widgets[WIDX_PLAYER_NAME_INPUT].string = _playerName; + window->widgets = window_server_list_widgets; + window->enabled_widgets = ( + (1 << WIDX_CLOSE) | + (1 << WIDX_PLAYER_NAME_INPUT) | + (1 << WIDX_FETCH_SERVERS) | + (1 << WIDX_ADD_SERVER) | + (1 << WIDX_START_SERVER) + ); + window_init_scroll_widgets(window); + window->no_list_items = 0; + window->selected_list_item = -1; + window->frame_no = 0; + window->min_width = 320; + window->min_height = 90; + window->max_width = window->min_width; + window->max_height = window->min_height; - window->page = 0; - window->list_information_type = 0; + window->page = 0; + window->list_information_type = 0; - window_set_resize(window, WWIDTH_MIN, WHEIGHT_MIN, WWIDTH_MAX, WHEIGHT_MAX); + window_set_resize(window, WWIDTH_MIN, WHEIGHT_MIN, WWIDTH_MAX, WHEIGHT_MAX); - safe_strcpy(_playerName, gConfigNetwork.player_name, sizeof(_playerName)); + safe_strcpy(_playerName, gConfigNetwork.player_name, sizeof(_playerName)); - server_list_load_server_entries(); - window->no_list_items = _numServerEntries; + server_list_load_server_entries(); + window->no_list_items = _numServerEntries; - fetch_servers(); - } + fetch_servers(); + } } static void window_server_list_close(rct_window *w) { - std::lock_guard guard(_mutex); - dispose_server_entry_list(); + std::lock_guard guard(_mutex); + dispose_server_entry_list(); } static void window_server_list_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_PLAYER_NAME_INPUT: - window_start_textbox(w, widgetIndex, STR_STRING, _playerName, 63); - break; - case WIDX_LIST:{ - sint32 serverIndex = w->selected_list_item; - if (serverIndex >= 0 && serverIndex < _numServerEntries) { - if (strcmp(_serverEntries[serverIndex].version, NETWORK_STREAM_ID) != 0 && strcmp(_serverEntries[serverIndex].version, "") != 0) { - set_format_arg(0, void *, _serverEntries[serverIndex].version); - window_error_open(STR_UNABLE_TO_CONNECT_TO_SERVER, STR_MULTIPLAYER_INCORRECT_SOFTWARE_VERSION); - break; - } - char *serverAddress = _serverEntries[serverIndex].address; - join_server(serverAddress); - } - }break; - case WIDX_FETCH_SERVERS: - fetch_servers(); - break; - case WIDX_ADD_SERVER: - window_text_input_open(w, widgetIndex, STR_ADD_SERVER, STR_ENTER_HOSTNAME_OR_IP_ADDRESS, STR_NONE, 0, 128); - break; - case WIDX_START_SERVER: - window_server_start_open(); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_PLAYER_NAME_INPUT: + window_start_textbox(w, widgetIndex, STR_STRING, _playerName, 63); + break; + case WIDX_LIST:{ + sint32 serverIndex = w->selected_list_item; + if (serverIndex >= 0 && serverIndex < _numServerEntries) { + if (strcmp(_serverEntries[serverIndex].version, NETWORK_STREAM_ID) != 0 && strcmp(_serverEntries[serverIndex].version, "") != 0) { + set_format_arg(0, void *, _serverEntries[serverIndex].version); + window_error_open(STR_UNABLE_TO_CONNECT_TO_SERVER, STR_MULTIPLAYER_INCORRECT_SOFTWARE_VERSION); + break; + } + char *serverAddress = _serverEntries[serverIndex].address; + join_server(serverAddress); + } + }break; + case WIDX_FETCH_SERVERS: + fetch_servers(); + break; + case WIDX_ADD_SERVER: + window_text_input_open(w, widgetIndex, STR_ADD_SERVER, STR_ENTER_HOSTNAME_OR_IP_ADDRESS, STR_NONE, 0, 128); + break; + case WIDX_START_SERVER: + window_server_start_open(); + break; + } } static void window_server_list_resize(rct_window *w) { - window_set_resize(w, WWIDTH_MIN, WHEIGHT_MIN, WWIDTH_MAX, WHEIGHT_MAX); + window_set_resize(w, WWIDTH_MIN, WHEIGHT_MIN, WWIDTH_MAX, WHEIGHT_MAX); } static void window_server_list_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - sint32 serverIndex = w->selected_list_item; - if (serverIndex < 0) return; - if (serverIndex >= _numServerEntries) return; + sint32 serverIndex = w->selected_list_item; + if (serverIndex < 0) return; + if (serverIndex >= _numServerEntries) return; - char *serverAddress = _serverEntries[serverIndex].address; + char *serverAddress = _serverEntries[serverIndex].address; - switch (dropdownIndex) { - case DDIDX_JOIN: - if (strcmp(_serverEntries[serverIndex].version, NETWORK_STREAM_ID) != 0 && strcmp(_serverEntries[serverIndex].version, "") != 0) { - set_format_arg(0, void *, _serverEntries[serverIndex].version); - window_error_open(STR_UNABLE_TO_CONNECT_TO_SERVER, STR_MULTIPLAYER_INCORRECT_SOFTWARE_VERSION); - break; - } - join_server(serverAddress); - break; - case DDIDX_FAVOURITE: - { - std::lock_guard guard(_mutex); - _serverEntries[serverIndex].favourite = !_serverEntries[serverIndex].favourite; - server_list_save_server_entries(); - } - break; - } + switch (dropdownIndex) { + case DDIDX_JOIN: + if (strcmp(_serverEntries[serverIndex].version, NETWORK_STREAM_ID) != 0 && strcmp(_serverEntries[serverIndex].version, "") != 0) { + set_format_arg(0, void *, _serverEntries[serverIndex].version); + window_error_open(STR_UNABLE_TO_CONNECT_TO_SERVER, STR_MULTIPLAYER_INCORRECT_SOFTWARE_VERSION); + break; + } + join_server(serverAddress); + break; + case DDIDX_FAVOURITE: + { + std::lock_guard guard(_mutex); + _serverEntries[serverIndex].favourite = !_serverEntries[serverIndex].favourite; + server_list_save_server_entries(); + } + break; + } } static void window_server_list_update(rct_window *w) { - if (gCurrentTextBox.window.classification == w->classification && gCurrentTextBox.window.number == w->number) { - window_update_textbox_caret(); - widget_invalidate(w, WIDX_PLAYER_NAME_INPUT); - } + if (gCurrentTextBox.window.classification == w->classification && gCurrentTextBox.window.number == w->number) { + window_update_textbox_caret(); + widget_invalidate(w, WIDX_PLAYER_NAME_INPUT); + } } static void window_server_list_scroll_getsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - *width = 0; - *height = w->no_list_items * ITEM_HEIGHT; + *width = 0; + *height = w->no_list_items * ITEM_HEIGHT; } static void window_server_list_scroll_mousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 serverIndex = w->selected_list_item; - if (serverIndex < 0) return; - if (serverIndex >= _numServerEntries) return; + sint32 serverIndex = w->selected_list_item; + if (serverIndex < 0) return; + if (serverIndex >= _numServerEntries) return; - rct_widget *listWidget = &w->widgets[WIDX_LIST]; - sint32 ddx = w->x + listWidget->left + x + 2 - w->scrolls[0].h_left; - sint32 ddy = w->y + listWidget->top + y + 2 - w->scrolls[0].v_top; + rct_widget *listWidget = &w->widgets[WIDX_LIST]; + sint32 ddx = w->x + listWidget->left + x + 2 - w->scrolls[0].h_left; + sint32 ddy = w->y + listWidget->top + y + 2 - w->scrolls[0].v_top; - gDropdownItemsFormat[0] = STR_JOIN_GAME; - if (_serverEntries[serverIndex].favourite) { - gDropdownItemsFormat[1] = STR_REMOVE_FROM_FAVOURITES; - } else { - gDropdownItemsFormat[1] = STR_ADD_TO_FAVOURITES; - } - window_dropdown_show_text(ddx, ddy, 0, COLOUR_GREY, 0, 2); + gDropdownItemsFormat[0] = STR_JOIN_GAME; + if (_serverEntries[serverIndex].favourite) { + gDropdownItemsFormat[1] = STR_REMOVE_FROM_FAVOURITES; + } else { + gDropdownItemsFormat[1] = STR_ADD_TO_FAVOURITES; + } + window_dropdown_show_text(ddx, ddy, 0, COLOUR_GREY, 0, 2); } static void window_server_list_scroll_mouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - // Item - sint32 index = y / ITEM_HEIGHT; - if (index < 0 || index >= w->no_list_items) { - index = -1; - } + // Item + sint32 index = y / ITEM_HEIGHT; + if (index < 0 || index >= w->no_list_items) { + index = -1; + } - sint32 hoverButtonIndex = -1; - if (index != -1) { - sint32 width = w->widgets[WIDX_LIST].right - w->widgets[WIDX_LIST].left; - sint32 sy = index * ITEM_HEIGHT; - for (sint32 i = 0; i < 2; i++) { - sint32 bx, by; + sint32 hoverButtonIndex = -1; + if (index != -1) { + sint32 width = w->widgets[WIDX_LIST].right - w->widgets[WIDX_LIST].left; + sint32 sy = index * ITEM_HEIGHT; + for (sint32 i = 0; i < 2; i++) { + sint32 bx, by; - server_list_get_item_button(i, 0, sy, width, &bx, &by); - if (x >= bx && y >= by && x < bx + 24 && y < by + 24) { - hoverButtonIndex = i; - break; - } - } - } + server_list_get_item_button(i, 0, sy, width, &bx, &by); + if (x >= bx && y >= by && x < bx + 24 && y < by + 24) { + hoverButtonIndex = i; + break; + } + } + } - sint32 width = w->widgets[WIDX_LIST].right - w->widgets[WIDX_LIST].left; - sint32 right = width - 3 - 14 - 10; - if (x < right) - { - w->widgets[WIDX_LIST].tooltip = STR_NONE; - window_tooltip_close(); - } + sint32 width = w->widgets[WIDX_LIST].right - w->widgets[WIDX_LIST].left; + sint32 right = width - 3 - 14 - 10; + if (x < right) + { + w->widgets[WIDX_LIST].tooltip = STR_NONE; + window_tooltip_close(); + } - if (w->selected_list_item != index || _hoverButtonIndex != hoverButtonIndex) { - w->selected_list_item = index; - _hoverButtonIndex = hoverButtonIndex; - window_tooltip_close(); - window_invalidate(w); - } + if (w->selected_list_item != index || _hoverButtonIndex != hoverButtonIndex) { + w->selected_list_item = index; + _hoverButtonIndex = hoverButtonIndex; + window_tooltip_close(); + window_invalidate(w); + } } static void window_server_list_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (text == NULL || text[0] == 0) return; + if (text == NULL || text[0] == 0) return; - switch (widgetIndex) { - case WIDX_PLAYER_NAME_INPUT: - if (strcmp(_playerName, text) == 0) - return; + switch (widgetIndex) { + case WIDX_PLAYER_NAME_INPUT: + if (strcmp(_playerName, text) == 0) + return; - if (strlen(text) == 0) { - memset(_playerName, 0, sizeof(_playerName)); - } else { - memset(_playerName, 0, sizeof(_playerName)); - safe_strcpy(_playerName, text, sizeof(_playerName)); - } + if (strlen(text) == 0) { + memset(_playerName, 0, sizeof(_playerName)); + } else { + memset(_playerName, 0, sizeof(_playerName)); + safe_strcpy(_playerName, text, sizeof(_playerName)); + } - if (strlen(_playerName) > 0) { - SafeFree(gConfigNetwork.player_name); - gConfigNetwork.player_name = _strdup(_playerName); - config_save_default(); - } + if (strlen(_playerName) > 0) { + SafeFree(gConfigNetwork.player_name); + gConfigNetwork.player_name = _strdup(_playerName); + config_save_default(); + } - widget_invalidate(w, WIDX_PLAYER_NAME_INPUT); - break; + widget_invalidate(w, WIDX_PLAYER_NAME_INPUT); + break; - case WIDX_ADD_SERVER: - { - std::lock_guard guard(_mutex); - add_server_entry(text); - sort_servers(); - server_list_save_server_entries(); - } - window_invalidate(w); - break; - } + case WIDX_ADD_SERVER: + { + std::lock_guard guard(_mutex); + add_server_entry(text); + sort_servers(); + server_list_save_server_entries(); + } + window_invalidate(w); + break; + } } static void window_server_list_invalidate(rct_window *w) { - set_format_arg(0, char *, _version); - window_server_list_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_server_list_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_server_list_widgets[WIDX_TITLE].right = w->width - 2; - window_server_list_widgets[WIDX_CLOSE].left = w->width - 2 - 11; - window_server_list_widgets[WIDX_CLOSE].right = w->width - 2 - 11 + 10; + set_format_arg(0, char *, _version); + window_server_list_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_server_list_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_server_list_widgets[WIDX_TITLE].right = w->width - 2; + window_server_list_widgets[WIDX_CLOSE].left = w->width - 2 - 11; + window_server_list_widgets[WIDX_CLOSE].right = w->width - 2 - 11 + 10; - sint32 margin = 6; - sint32 buttonHeight = 11; - sint32 buttonTop = w->height - margin - buttonHeight - 13; - sint32 buttonBottom = buttonTop + buttonHeight; - sint32 listBottom = buttonTop - margin; + sint32 margin = 6; + sint32 buttonHeight = 11; + sint32 buttonTop = w->height - margin - buttonHeight - 13; + sint32 buttonBottom = buttonTop + buttonHeight; + sint32 listBottom = buttonTop - margin; - window_server_list_widgets[WIDX_PLAYER_NAME_INPUT].right = w->width - 6; - window_server_list_widgets[WIDX_LIST].left = 6; - window_server_list_widgets[WIDX_LIST].right = w->width - 6; - window_server_list_widgets[WIDX_LIST].bottom = listBottom; - window_server_list_widgets[WIDX_FETCH_SERVERS].top = buttonTop; - window_server_list_widgets[WIDX_FETCH_SERVERS].bottom = buttonBottom; - window_server_list_widgets[WIDX_ADD_SERVER].top = buttonTop; - window_server_list_widgets[WIDX_ADD_SERVER].bottom = buttonBottom; - window_server_list_widgets[WIDX_START_SERVER].top = buttonTop; - window_server_list_widgets[WIDX_START_SERVER].bottom = buttonBottom; + window_server_list_widgets[WIDX_PLAYER_NAME_INPUT].right = w->width - 6; + window_server_list_widgets[WIDX_LIST].left = 6; + window_server_list_widgets[WIDX_LIST].right = w->width - 6; + window_server_list_widgets[WIDX_LIST].bottom = listBottom; + window_server_list_widgets[WIDX_FETCH_SERVERS].top = buttonTop; + window_server_list_widgets[WIDX_FETCH_SERVERS].bottom = buttonBottom; + window_server_list_widgets[WIDX_ADD_SERVER].top = buttonTop; + window_server_list_widgets[WIDX_ADD_SERVER].bottom = buttonBottom; + window_server_list_widgets[WIDX_START_SERVER].top = buttonTop; + window_server_list_widgets[WIDX_START_SERVER].bottom = buttonBottom; - w->no_list_items = _numServerEntries; + w->no_list_items = _numServerEntries; } static void window_server_list_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - gfx_draw_string_left(dpi, STR_PLAYER_NAME, NULL, COLOUR_WHITE, w->x + 6, w->y + w->widgets[WIDX_PLAYER_NAME_INPUT].top); - const char * version = NETWORK_STREAM_ID; - gfx_draw_string_left(dpi, STR_NETWORK_VERSION, (void*)&version, COLOUR_WHITE, w->x + 324, w->y + w->widgets[WIDX_START_SERVER].top); + gfx_draw_string_left(dpi, STR_PLAYER_NAME, NULL, COLOUR_WHITE, w->x + 6, w->y + w->widgets[WIDX_PLAYER_NAME_INPUT].top); + const char * version = NETWORK_STREAM_ID; + gfx_draw_string_left(dpi, STR_NETWORK_VERSION, (void*)&version, COLOUR_WHITE, w->x + 324, w->y + w->widgets[WIDX_START_SERVER].top); - gfx_draw_string_left(dpi, STR_X_PLAYERS_ONLINE, (void*)&_numPlayersOnline, COLOUR_WHITE, w->x + 8, w->y + w->height - 15); + gfx_draw_string_left(dpi, STR_X_PLAYERS_ONLINE, (void*)&_numPlayersOnline, COLOUR_WHITE, w->x + 8, w->y + w->height - 15); } static void window_server_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - std::lock_guard guard(_mutex); + std::lock_guard guard(_mutex); - uint8 paletteIndex = ColourMapA[w->colours[1]].mid_light; - gfx_clear(dpi, paletteIndex); + uint8 paletteIndex = ColourMapA[w->colours[1]].mid_light; + gfx_clear(dpi, paletteIndex); - sint32 width = w->widgets[WIDX_LIST].right - w->widgets[WIDX_LIST].left; + sint32 width = w->widgets[WIDX_LIST].right - w->widgets[WIDX_LIST].left; - sint32 y = 0; - w->widgets[WIDX_LIST].tooltip = STR_NONE; - for (sint32 i = 0; i < w->no_list_items; i++) { - if (y >= dpi->y + dpi->height) continue; - // if (y + ITEM_HEIGHT < dpi->y) continue; + sint32 y = 0; + w->widgets[WIDX_LIST].tooltip = STR_NONE; + for (sint32 i = 0; i < w->no_list_items; i++) { + if (y >= dpi->y + dpi->height) continue; + // if (y + ITEM_HEIGHT < dpi->y) continue; - server_entry *serverDetails = &_serverEntries[i]; - bool highlighted = i == w->selected_list_item; + server_entry *serverDetails = &_serverEntries[i]; + bool highlighted = i == w->selected_list_item; - // Draw hover highlight - if (highlighted) { - gfx_filter_rect(dpi, 0, y, width, y + ITEM_HEIGHT, PALETTE_DARKEN_1); - _version = serverDetails->version; - w->widgets[WIDX_LIST].tooltip = STR_NETWORK_VERSION_TIP; - } + // Draw hover highlight + if (highlighted) { + gfx_filter_rect(dpi, 0, y, width, y + ITEM_HEIGHT, PALETTE_DARKEN_1); + _version = serverDetails->version; + w->widgets[WIDX_LIST].tooltip = STR_NETWORK_VERSION_TIP; + } - sint32 colour = w->colours[1]; - if (serverDetails->favourite) { - colour = COLOUR_YELLOW; - } + sint32 colour = w->colours[1]; + if (serverDetails->favourite) { + colour = COLOUR_YELLOW; + } - // Draw server information - if (highlighted && !str_is_null_or_empty(serverDetails->description)) { - gfx_draw_string(dpi, serverDetails->description, colour, 3, y + 3); - } else { - gfx_draw_string(dpi, serverDetails->name, colour, 3, y + 3); - } + // Draw server information + if (highlighted && !str_is_null_or_empty(serverDetails->description)) { + gfx_draw_string(dpi, serverDetails->description, colour, 3, y + 3); + } else { + gfx_draw_string(dpi, serverDetails->name, colour, 3, y + 3); + } - sint32 right = width - 3 - 14; + sint32 right = width - 3 - 14; - // Draw compatibility icon - right -= 10; - sint32 compatibilitySpriteId; - if (str_is_null_or_empty(serverDetails->version)) { - // Server not online... - compatibilitySpriteId = SPR_G2_RCT1_CLOSE_BUTTON_0; - } else { - // Server online... check version - bool correctVersion = strcmp(serverDetails->version, NETWORK_STREAM_ID) == 0; - compatibilitySpriteId = correctVersion ? SPR_G2_RCT1_OPEN_BUTTON_2 : SPR_G2_RCT1_CLOSE_BUTTON_2; - } - gfx_draw_sprite(dpi, compatibilitySpriteId, right, y + 1, 0); - right -= 4; + // Draw compatibility icon + right -= 10; + sint32 compatibilitySpriteId; + if (str_is_null_or_empty(serverDetails->version)) { + // Server not online... + compatibilitySpriteId = SPR_G2_RCT1_CLOSE_BUTTON_0; + } else { + // Server online... check version + bool correctVersion = strcmp(serverDetails->version, NETWORK_STREAM_ID) == 0; + compatibilitySpriteId = correctVersion ? SPR_G2_RCT1_OPEN_BUTTON_2 : SPR_G2_RCT1_CLOSE_BUTTON_2; + } + gfx_draw_sprite(dpi, compatibilitySpriteId, right, y + 1, 0); + right -= 4; - // Draw lock icon - right -= 8; - if (serverDetails->requiresPassword) { - gfx_draw_sprite(dpi, SPR_G2_LOCKED, right, y + 4, 0); - } - right -= 6; + // Draw lock icon + right -= 8; + if (serverDetails->requiresPassword) { + gfx_draw_sprite(dpi, SPR_G2_LOCKED, right, y + 4, 0); + } + right -= 6; - // Draw number of players - char players[32]; - players[0] = 0; - if (serverDetails->maxplayers > 0) { - snprintf(players, 32, "%d/%d", serverDetails->players, serverDetails->maxplayers); - } - sint32 numPlayersStringWidth = gfx_get_string_width(players); - gfx_draw_string(dpi, players, w->colours[1], right - numPlayersStringWidth, y + 3); + // Draw number of players + char players[32]; + players[0] = 0; + if (serverDetails->maxplayers > 0) { + snprintf(players, 32, "%d/%d", serverDetails->players, serverDetails->maxplayers); + } + sint32 numPlayersStringWidth = gfx_get_string_width(players); + gfx_draw_string(dpi, players, w->colours[1], right - numPlayersStringWidth, y + 3); - y += ITEM_HEIGHT; - } + y += ITEM_HEIGHT; + } } static void server_list_get_item_button(sint32 buttonIndex, sint32 x, sint32 y, sint32 width, sint32 *outX, sint32 *outY) { - *outX = width - 3 - 36 - (30 * buttonIndex); - *outY = y + 2; + *outX = width - 3 - 36 - (30 * buttonIndex); + *outY = y + 2; } static void server_list_load_server_entries() { - uint32 numEntries; - server_entry * entries; - if (server_list_read(&numEntries, &entries)) { - std::lock_guard guard(_mutex); - dispose_server_entry_list(); - _numServerEntries = numEntries; - _serverEntries = entries; - sort_servers(); - } + uint32 numEntries; + server_entry * entries; + if (server_list_read(&numEntries, &entries)) { + std::lock_guard guard(_mutex); + dispose_server_entry_list(); + _numServerEntries = numEntries; + _serverEntries = entries; + sort_servers(); + } } static void server_list_save_server_entries() { - // Get total number of favourite servers - sint32 count = 0; - for (sint32 i = 0; i < _numServerEntries; i++) { - server_entry *serverInfo = &_serverEntries[i]; - if (serverInfo->favourite) { - count++; - } - } + // Get total number of favourite servers + sint32 count = 0; + for (sint32 i = 0; i < _numServerEntries; i++) { + server_entry *serverInfo = &_serverEntries[i]; + if (serverInfo->favourite) { + count++; + } + } - // Create temporary list of just favourite servers - server_entry * entries = (server_entry *)calloc(count, sizeof(server_entry)); - sint32 eindex = 0; - for (sint32 i = 0; i < _numServerEntries; i++) { - server_entry *serverInfo = &_serverEntries[i]; - if (serverInfo->favourite) { - entries[eindex++] = *serverInfo; - } - } + // Create temporary list of just favourite servers + server_entry * entries = (server_entry *)calloc(count, sizeof(server_entry)); + sint32 eindex = 0; + for (sint32 i = 0; i < _numServerEntries; i++) { + server_entry *serverInfo = &_serverEntries[i]; + if (serverInfo->favourite) { + entries[eindex++] = *serverInfo; + } + } - // Save servers - server_list_write(count, entries); + // Save servers + server_list_write(count, entries); - // Free temporary list - free(entries); + // Free temporary list + free(entries); } static void dispose_server_entry_list() { - if (_serverEntries != NULL) { - for (sint32 i = 0; i < _numServerEntries; i++) { - dispose_server_entry(&_serverEntries[i]); - } - free(_serverEntries); - _serverEntries = NULL; - } - _numServerEntries = 0; + if (_serverEntries != NULL) { + for (sint32 i = 0; i < _numServerEntries; i++) { + dispose_server_entry(&_serverEntries[i]); + } + free(_serverEntries); + _serverEntries = NULL; + } + _numServerEntries = 0; } static void dispose_server_entry(server_entry *serverInfo) { - SafeFree(serverInfo->address); - SafeFree(serverInfo->name); - SafeFree(serverInfo->description); - SafeFree(serverInfo->version); + SafeFree(serverInfo->address); + SafeFree(serverInfo->name); + SafeFree(serverInfo->description); + SafeFree(serverInfo->version); } static server_entry* add_server_entry(char *address) { - for (sint32 i = 0; i < _numServerEntries; i++) { - if (strcmp(_serverEntries[i].address, address) == 0) { - return &_serverEntries[i]; - } - } + for (sint32 i = 0; i < _numServerEntries; i++) { + if (strcmp(_serverEntries[i].address, address) == 0) { + return &_serverEntries[i]; + } + } - _numServerEntries++; - if (_serverEntries == NULL) { - _serverEntries = (server_entry *)malloc(_numServerEntries * sizeof(server_entry)); - } else { - _serverEntries = (server_entry *)realloc(_serverEntries, _numServerEntries * sizeof(server_entry)); - } + _numServerEntries++; + if (_serverEntries == NULL) { + _serverEntries = (server_entry *)malloc(_numServerEntries * sizeof(server_entry)); + } else { + _serverEntries = (server_entry *)realloc(_serverEntries, _numServerEntries * sizeof(server_entry)); + } - sint32 index = _numServerEntries - 1; - server_entry* newserver = &_serverEntries[index]; - newserver->address = _strdup(address); - newserver->name = _strdup(address); - newserver->requiresPassword = false; - newserver->description = _strdup(""); - newserver->version = _strdup(""); - newserver->favourite = false; - newserver->players = 0; - newserver->maxplayers = 0; - return newserver; + sint32 index = _numServerEntries - 1; + server_entry* newserver = &_serverEntries[index]; + newserver->address = _strdup(address); + newserver->name = _strdup(address); + newserver->requiresPassword = false; + newserver->description = _strdup(""); + newserver->version = _strdup(""); + newserver->favourite = false; + newserver->players = 0; + newserver->maxplayers = 0; + return newserver; } static void remove_server_entry(sint32 index) { - if (_numServerEntries > index) { - sint32 serversToMove = _numServerEntries - index - 1; - memmove(&_serverEntries[index], &_serverEntries[index + 1], serversToMove * sizeof(server_entry)); + if (_numServerEntries > index) { + sint32 serversToMove = _numServerEntries - index - 1; + memmove(&_serverEntries[index], &_serverEntries[index + 1], serversToMove * sizeof(server_entry)); - _numServerEntries--; - _serverEntries = (server_entry *)realloc(_serverEntries, _numServerEntries * sizeof(server_entry)); - } + _numServerEntries--; + _serverEntries = (server_entry *)realloc(_serverEntries, _numServerEntries * sizeof(server_entry)); + } } static sint32 server_compare(const void *a, const void *b) { - const server_entry *serverA = (const server_entry*)a; - const server_entry *serverB = (const server_entry*)b; + const server_entry *serverA = (const server_entry*)a; + const server_entry *serverB = (const server_entry*)b; - // Order by favourite - if (serverA->favourite != serverB->favourite) { - if (serverA->favourite) return -1; - else return 1; - } + // Order by favourite + if (serverA->favourite != serverB->favourite) { + if (serverA->favourite) return -1; + else return 1; + } - // Then by version - bool serverACompatible = strcmp(serverA->version, NETWORK_STREAM_ID) == 0; - bool serverBCompatible = strcmp(serverB->version, NETWORK_STREAM_ID) == 0; - if (serverACompatible != serverBCompatible) { - if (serverACompatible) return -1; - else return 1; - } + // Then by version + bool serverACompatible = strcmp(serverA->version, NETWORK_STREAM_ID) == 0; + bool serverBCompatible = strcmp(serverB->version, NETWORK_STREAM_ID) == 0; + if (serverACompatible != serverBCompatible) { + if (serverACompatible) return -1; + else return 1; + } - // Then by password protection - if (serverA->requiresPassword != serverB->requiresPassword) { - if (!serverA->requiresPassword) return -1; - else return 1; - } + // Then by password protection + if (serverA->requiresPassword != serverB->requiresPassword) { + if (!serverA->requiresPassword) return -1; + else return 1; + } - // Then by name - return _strcmpi(serverA->name, serverB->name); + // Then by name + return _strcmpi(serverA->name, serverB->name); } static void sort_servers() { - if (_serverEntries == NULL) { - return; - } - qsort(_serverEntries, _numServerEntries, sizeof(server_entry), server_compare); + if (_serverEntries == NULL) { + return; + } + qsort(_serverEntries, _numServerEntries, sizeof(server_entry), server_compare); } static char *substr(char *start, sint32 length) { - char *result = (char *)malloc(length + 1); - memcpy(result, start, length); - result[length] = 0; - return result; + char *result = (char *)malloc(length + 1); + memcpy(result, start, length); + result[length] = 0; + return result; } static void join_server(char *address) { - sint32 port = gConfigNetwork.default_port; + sint32 port = gConfigNetwork.default_port; - bool addresscopied = false; + bool addresscopied = false; - char *endbracket = strrchr(address, ']'); - char *startbracket = strrchr(address, '['); - char *dot = strchr(address, '.'); + char *endbracket = strrchr(address, ']'); + char *startbracket = strrchr(address, '['); + char *dot = strchr(address, '.'); - char *colon = strrchr(address, ':'); - if (colon != NULL && (endbracket != NULL || dot != NULL)) { - address = substr(address, (sint32)(colon - address)); - sscanf(colon + 1, "%d", &port); - addresscopied = true; - } + char *colon = strrchr(address, ':'); + if (colon != NULL && (endbracket != NULL || dot != NULL)) { + address = substr(address, (sint32)(colon - address)); + sscanf(colon + 1, "%d", &port); + addresscopied = true; + } - if (startbracket && endbracket) { - address = substr(startbracket + 1, (sint32)(endbracket - startbracket - 1)); - addresscopied = true; - } + if (startbracket && endbracket) { + address = substr(startbracket + 1, (sint32)(endbracket - startbracket - 1)); + addresscopied = true; + } - if (!network_begin_client(address, port)) { - window_error_open(STR_UNABLE_TO_CONNECT_TO_SERVER, STR_NONE); - } + if (!network_begin_client(address, port)) { + window_error_open(STR_UNABLE_TO_CONNECT_TO_SERVER, STR_NONE); + } - if (addresscopied) { - free(address); - } + if (addresscopied) { + free(address); + } } static uint32 get_total_player_count() { - uint32 numPlayers = 0; - for (sint32 i = 0; i < _numServerEntries; i++) { - server_entry *serverDetails = &_serverEntries[i]; - numPlayers += serverDetails->players; - } - return numPlayers; + uint32 numPlayers = 0; + for (sint32 i = 0; i < _numServerEntries; i++) { + server_entry *serverDetails = &_serverEntries[i]; + numPlayers += serverDetails->players; + } + return numPlayers; } static void fetch_servers() { #ifndef DISABLE_HTTP - const char *masterServerUrl = OPENRCT2_MASTER_SERVER_URL; - if (!str_is_null_or_empty(gConfigNetwork.master_server_url)) { - masterServerUrl = gConfigNetwork.master_server_url; - } + const char *masterServerUrl = OPENRCT2_MASTER_SERVER_URL; + if (!str_is_null_or_empty(gConfigNetwork.master_server_url)) { + masterServerUrl = gConfigNetwork.master_server_url; + } - { - std::lock_guard guard(_mutex); - for (sint32 i = 0; i < _numServerEntries; i++) { - if (!_serverEntries[i].favourite) { - remove_server_entry(i); - i = 0; - } - } - sort_servers(); - } + { + std::lock_guard guard(_mutex); + for (sint32 i = 0; i < _numServerEntries; i++) { + if (!_serverEntries[i].favourite) { + remove_server_entry(i); + i = 0; + } + } + sort_servers(); + } - http_request_t request = { 0 }; - request.url = masterServerUrl; - request.method = HTTP_METHOD_GET; - request.body = NULL; - request.type = HTTP_DATA_JSON; - http_request_async(&request, fetch_servers_callback); + http_request_t request = { 0 }; + request.url = masterServerUrl; + request.method = HTTP_METHOD_GET; + request.body = NULL; + request.type = HTTP_DATA_JSON; + http_request_async(&request, fetch_servers_callback); #endif } #ifndef DISABLE_HTTP static void fetch_servers_callback(http_response_t* response) { - if (response == NULL) { - log_warning("Unable to connect to master server"); - return; - } + if (response == NULL) { + log_warning("Unable to connect to master server"); + return; + } - json_t *jsonStatus = json_object_get(response->root, "status"); - if (!json_is_number(jsonStatus)) { - http_request_dispose(response); - log_warning("Invalid response from master server"); - return; - } + json_t *jsonStatus = json_object_get(response->root, "status"); + if (!json_is_number(jsonStatus)) { + http_request_dispose(response); + log_warning("Invalid response from master server"); + return; + } - sint32 status = (sint32)json_integer_value(jsonStatus); - if (status != 200) { - http_request_dispose(response); - log_warning("Master server failed to return servers"); - return; - } + sint32 status = (sint32)json_integer_value(jsonStatus); + if (status != 200) { + http_request_dispose(response); + log_warning("Master server failed to return servers"); + return; + } - json_t *jsonServers = json_object_get(response->root, "servers"); - if (!json_is_array(jsonServers)) { - http_request_dispose(response); - log_warning("Invalid response from master server"); - return; - } + json_t *jsonServers = json_object_get(response->root, "servers"); + if (!json_is_array(jsonServers)) { + http_request_dispose(response); + log_warning("Invalid response from master server"); + return; + } - sint32 count = (sint32)json_array_size(jsonServers); - for (sint32 i = 0; i < count; i++) { - json_t *server = json_array_get(jsonServers, i); - if (!json_is_object(server)) { - continue; - } + sint32 count = (sint32)json_array_size(jsonServers); + for (sint32 i = 0; i < count; i++) { + json_t *server = json_array_get(jsonServers, i); + if (!json_is_object(server)) { + continue; + } - json_t *port = json_object_get(server, "port"); - json_t *name = json_object_get(server, "name"); - json_t *description = json_object_get(server, "description"); - json_t *requiresPassword = json_object_get(server, "requiresPassword"); - json_t *version = json_object_get(server, "version"); - json_t *players = json_object_get(server, "players"); - json_t *maxPlayers = json_object_get(server, "maxPlayers"); - json_t *ip = json_object_get(server, "ip"); - json_t *ip4 = json_object_get(ip, "v4"); - json_t *addressIp = json_array_get(ip4, 0); + json_t *port = json_object_get(server, "port"); + json_t *name = json_object_get(server, "name"); + json_t *description = json_object_get(server, "description"); + json_t *requiresPassword = json_object_get(server, "requiresPassword"); + json_t *version = json_object_get(server, "version"); + json_t *players = json_object_get(server, "players"); + json_t *maxPlayers = json_object_get(server, "maxPlayers"); + json_t *ip = json_object_get(server, "ip"); + json_t *ip4 = json_object_get(ip, "v4"); + json_t *addressIp = json_array_get(ip4, 0); - if (name == NULL || version == NULL) - { - log_verbose("Cowardly refusing to add server without name or version specified."); - continue; - } + if (name == NULL || version == NULL) + { + log_verbose("Cowardly refusing to add server without name or version specified."); + continue; + } - char address[256]; - snprintf(address, sizeof(address), "%s:%d", json_string_value(addressIp), (sint32)json_integer_value(port)); + char address[256]; + snprintf(address, sizeof(address), "%s:%d", json_string_value(addressIp), (sint32)json_integer_value(port)); - { - std::lock_guard guard(_mutex); - server_entry* newserver = add_server_entry(address); - SafeFree(newserver->name); - SafeFree(newserver->description); - SafeFree(newserver->version); - newserver->name = _strdup(json_string_value(name)); - newserver->requiresPassword = json_is_true(requiresPassword); - newserver->description = _strdup(description == NULL ? "" : json_string_value(description)); - newserver->version = _strdup(json_string_value(version)); - newserver->players = (uint8)json_integer_value(players); - newserver->maxplayers = (uint8)json_integer_value(maxPlayers); - } - } - http_request_dispose(response); + { + std::lock_guard guard(_mutex); + server_entry* newserver = add_server_entry(address); + SafeFree(newserver->name); + SafeFree(newserver->description); + SafeFree(newserver->version); + newserver->name = _strdup(json_string_value(name)); + newserver->requiresPassword = json_is_true(requiresPassword); + newserver->description = _strdup(description == NULL ? "" : json_string_value(description)); + newserver->version = _strdup(json_string_value(version)); + newserver->players = (uint8)json_integer_value(players); + newserver->maxplayers = (uint8)json_integer_value(maxPlayers); + } + } + http_request_dispose(response); - sort_servers(); - _numPlayersOnline = get_total_player_count(); + sort_servers(); + _numPlayersOnline = get_total_player_count(); - rct_window *window = window_find_by_class(WC_SERVER_LIST); - if (window != NULL) { - window_invalidate(window); - } + rct_window *window = window_find_by_class(WC_SERVER_LIST); + if (window != NULL) { + window_invalidate(window); + } } #endif diff --git a/src/openrct2/windows/server_start.c b/src/openrct2/windows/server_start.c index 05731e14bc..5f17dcc2eb 100644 --- a/src/openrct2/windows/server_start.c +++ b/src/openrct2/windows/server_start.c @@ -33,41 +33,41 @@ static char _greeting[CHAT_INPUT_SIZE]; static char _password[33]; enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PORT_INPUT, - WIDX_NAME_INPUT, - WIDX_DESCRIPTION_INPUT, - WIDX_GREETING_INPUT, - WIDX_PASSWORD_INPUT, - WIDX_MAXPLAYERS, - WIDX_MAXPLAYERS_INCREASE, - WIDX_MAXPLAYERS_DECREASE, - WIDX_ADVERTISE_CHECKBOX, - WIDX_START_SERVER, - WIDX_LOAD_SERVER + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PORT_INPUT, + WIDX_NAME_INPUT, + WIDX_DESCRIPTION_INPUT, + WIDX_GREETING_INPUT, + WIDX_PASSWORD_INPUT, + WIDX_MAXPLAYERS, + WIDX_MAXPLAYERS_INCREASE, + WIDX_MAXPLAYERS_DECREASE, + WIDX_ADVERTISE_CHECKBOX, + WIDX_START_SERVER, + WIDX_LOAD_SERVER }; #define WW 300 #define WH 152 static rct_widget window_server_start_widgets[] = { - { WWT_FRAME, 0, 0, WW-1, 0, WH-1, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, WW-2, 1, 14, STR_START_SERVER, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, WW-13, WW-3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_TEXT_BOX, 1, 120, WW-8, 20, 32, STR_NONE, STR_NONE }, // port text box - { WWT_TEXT_BOX, 1, 120, WW-8, 36, 48, STR_NONE, STR_NONE }, // name text box - { WWT_TEXT_BOX, 1, 120, WW-8, 52, 64, STR_NONE, STR_NONE }, // description text box - { WWT_TEXT_BOX, 1, 120, WW-8, 68, 80, STR_NONE, STR_NONE }, // greeting text box - { WWT_TEXT_BOX, 1, 120, WW-8, 84, 96, STR_NONE, STR_NONE }, // password text box - { WWT_SPINNER, 1, 120, WW-8, 100, 109, STR_SERVER_MAX_PLAYERS_VALUE, STR_NONE }, // max players - { WWT_DROPDOWN_BUTTON, 1, WW-18, WW-8, 100, 104, STR_NUMERIC_UP, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, WW-18, WW-8, 104, 108, STR_NUMERIC_DOWN, STR_NONE }, - { WWT_CHECKBOX, 1, 6, WW-8, 117, 123, STR_ADVERTISE, STR_ADVERTISE_SERVER_TIP }, // advertise checkbox - { WWT_DROPDOWN_BUTTON, 1, 6, 106, WH-6-11, WH-6, STR_NEW_GAME, STR_NONE }, // start server button - { WWT_DROPDOWN_BUTTON, 1, 112, 212, WH-6-11, WH-6, STR_LOAD_GAME, STR_NONE }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, WW-1, 0, WH-1, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, WW-2, 1, 14, STR_START_SERVER, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, WW-13, WW-3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_TEXT_BOX, 1, 120, WW-8, 20, 32, STR_NONE, STR_NONE }, // port text box + { WWT_TEXT_BOX, 1, 120, WW-8, 36, 48, STR_NONE, STR_NONE }, // name text box + { WWT_TEXT_BOX, 1, 120, WW-8, 52, 64, STR_NONE, STR_NONE }, // description text box + { WWT_TEXT_BOX, 1, 120, WW-8, 68, 80, STR_NONE, STR_NONE }, // greeting text box + { WWT_TEXT_BOX, 1, 120, WW-8, 84, 96, STR_NONE, STR_NONE }, // password text box + { WWT_SPINNER, 1, 120, WW-8, 100, 109, STR_SERVER_MAX_PLAYERS_VALUE, STR_NONE }, // max players + { WWT_DROPDOWN_BUTTON, 1, WW-18, WW-8, 100, 104, STR_NUMERIC_UP, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, WW-18, WW-8, 104, 108, STR_NUMERIC_DOWN, STR_NONE }, + { WWT_CHECKBOX, 1, 6, WW-8, 117, 123, STR_ADVERTISE, STR_ADVERTISE_SERVER_TIP }, // advertise checkbox + { WWT_DROPDOWN_BUTTON, 1, 6, 106, WH-6-11, WH-6, STR_NEW_GAME, STR_NONE }, // start server button + { WWT_DROPDOWN_BUTTON, 1, 112, 212, WH-6-11, WH-6, STR_LOAD_GAME, STR_NONE }, + { WIDGETS_END }, }; static void window_server_start_close(rct_window *w); @@ -78,83 +78,83 @@ static void window_server_start_invalidate(rct_window *w); static void window_server_start_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_server_start_events = { - window_server_start_close, - window_server_start_mouseup, - NULL, - NULL, - NULL, - NULL, - window_server_start_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_server_start_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_server_start_invalidate, - window_server_start_paint, - NULL + window_server_start_close, + window_server_start_mouseup, + NULL, + NULL, + NULL, + NULL, + window_server_start_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_server_start_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_server_start_invalidate, + window_server_start_paint, + NULL }; void window_server_start_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_SERVER_START); - if (window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_SERVER_START); + if (window != NULL) + return; - window = window_create_centred(WW, WH, &window_server_start_events, WC_SERVER_START, WF_10); + window = window_create_centred(WW, WH, &window_server_start_events, WC_SERVER_START, WF_10); - window_server_start_widgets[WIDX_PORT_INPUT].string = _port; - window_server_start_widgets[WIDX_NAME_INPUT].string = _name; - window_server_start_widgets[WIDX_DESCRIPTION_INPUT].string = _description; - window_server_start_widgets[WIDX_GREETING_INPUT].string = _greeting; - window_server_start_widgets[WIDX_PASSWORD_INPUT].string = _password; - window->widgets = window_server_start_widgets; - window->enabled_widgets = ( - (1 << WIDX_CLOSE) | - (1 << WIDX_PORT_INPUT) | - (1 << WIDX_NAME_INPUT) | - (1 << WIDX_DESCRIPTION_INPUT) | - (1 << WIDX_GREETING_INPUT) | - (1 << WIDX_PASSWORD_INPUT) | - (1 << WIDX_MAXPLAYERS) | - (1 << WIDX_MAXPLAYERS_INCREASE) | - (1 << WIDX_MAXPLAYERS_DECREASE) | - (1 << WIDX_ADVERTISE_CHECKBOX) | - (1 << WIDX_START_SERVER) | - (1 << WIDX_LOAD_SERVER) - ); - window_init_scroll_widgets(window); - window->no_list_items = 0; - window->selected_list_item = -1; - window->frame_no = 0; - window->min_width = window->width; - window->min_height = window->height; - window->max_width = window->min_width; - window->max_height = window->min_height; + window_server_start_widgets[WIDX_PORT_INPUT].string = _port; + window_server_start_widgets[WIDX_NAME_INPUT].string = _name; + window_server_start_widgets[WIDX_DESCRIPTION_INPUT].string = _description; + window_server_start_widgets[WIDX_GREETING_INPUT].string = _greeting; + window_server_start_widgets[WIDX_PASSWORD_INPUT].string = _password; + window->widgets = window_server_start_widgets; + window->enabled_widgets = ( + (1 << WIDX_CLOSE) | + (1 << WIDX_PORT_INPUT) | + (1 << WIDX_NAME_INPUT) | + (1 << WIDX_DESCRIPTION_INPUT) | + (1 << WIDX_GREETING_INPUT) | + (1 << WIDX_PASSWORD_INPUT) | + (1 << WIDX_MAXPLAYERS) | + (1 << WIDX_MAXPLAYERS_INCREASE) | + (1 << WIDX_MAXPLAYERS_DECREASE) | + (1 << WIDX_ADVERTISE_CHECKBOX) | + (1 << WIDX_START_SERVER) | + (1 << WIDX_LOAD_SERVER) + ); + window_init_scroll_widgets(window); + window->no_list_items = 0; + window->selected_list_item = -1; + window->frame_no = 0; + window->min_width = window->width; + window->min_height = window->height; + window->max_width = window->min_width; + window->max_height = window->min_height; - window->page = 0; - window->list_information_type = 0; + window->page = 0; + window->list_information_type = 0; - snprintf(_port, 7, "%u", gConfigNetwork.default_port); - safe_strcpy(_name, gConfigNetwork.server_name, sizeof(_name)); - safe_strcpy(_description, gConfigNetwork.server_description, sizeof(_description)); - safe_strcpy(_greeting, gConfigNetwork.server_greeting, sizeof(_greeting)); + snprintf(_port, 7, "%u", gConfigNetwork.default_port); + safe_strcpy(_name, gConfigNetwork.server_name, sizeof(_name)); + safe_strcpy(_description, gConfigNetwork.server_description, sizeof(_description)); + safe_strcpy(_greeting, gConfigNetwork.server_greeting, sizeof(_greeting)); } static void window_server_start_close(rct_window *w) @@ -164,183 +164,183 @@ static void window_server_start_close(rct_window *w) static void window_server_start_scenarioselect_callback(const utf8 *path) { - network_set_password(_password); - if (scenario_load_and_play_from_path(path)) { - network_begin_server(gConfigNetwork.default_port, gConfigNetwork.listen_address); - } else { - title_load(); - } + network_set_password(_password); + if (scenario_load_and_play_from_path(path)) { + network_begin_server(gConfigNetwork.default_port, gConfigNetwork.listen_address); + } else { + title_load(); + } } static void window_server_start_loadsave_callback(sint32 result, const utf8 * path) { - if (result == MODAL_RESULT_OK && game_load_save_or_scenario(path)) { - network_begin_server(gConfigNetwork.default_port, gConfigNetwork.listen_address); - } + if (result == MODAL_RESULT_OK && game_load_save_or_scenario(path)) { + network_begin_server(gConfigNetwork.default_port, gConfigNetwork.listen_address); + } } static void window_server_start_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_PORT_INPUT: - window_start_textbox(w, widgetIndex, STR_STRING, _port, 6); - break; - case WIDX_NAME_INPUT: - window_start_textbox(w, widgetIndex, STR_STRING, _name, 64); - break; - case WIDX_DESCRIPTION_INPUT: - window_start_textbox(w, widgetIndex, STR_STRING, _description, MAX_SERVER_DESCRIPTION_LENGTH); - break; - case WIDX_GREETING_INPUT: - window_start_textbox(w, widgetIndex, STR_STRING, _greeting, CHAT_INPUT_SIZE); - break; - case WIDX_PASSWORD_INPUT: - window_start_textbox(w, widgetIndex, STR_STRING, _password, 32); - break; - case WIDX_MAXPLAYERS_INCREASE: - if (gConfigNetwork.maxplayers < 255) { - gConfigNetwork.maxplayers++; - } - config_save_default(); - window_invalidate(w); - break; - case WIDX_MAXPLAYERS_DECREASE: - if (gConfigNetwork.maxplayers > 1) { - gConfigNetwork.maxplayers--; - } - config_save_default(); - window_invalidate(w); - break; - case WIDX_ADVERTISE_CHECKBOX: - gConfigNetwork.advertise = !gConfigNetwork.advertise; - config_save_default(); - window_invalidate(w); - break; - case WIDX_START_SERVER: - window_scenarioselect_open(window_server_start_scenarioselect_callback); - break; - case WIDX_LOAD_SERVER: - network_set_password(_password); - window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_GAME, NULL); - window_loadsave_set_loadsave_callback(window_server_start_loadsave_callback); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_PORT_INPUT: + window_start_textbox(w, widgetIndex, STR_STRING, _port, 6); + break; + case WIDX_NAME_INPUT: + window_start_textbox(w, widgetIndex, STR_STRING, _name, 64); + break; + case WIDX_DESCRIPTION_INPUT: + window_start_textbox(w, widgetIndex, STR_STRING, _description, MAX_SERVER_DESCRIPTION_LENGTH); + break; + case WIDX_GREETING_INPUT: + window_start_textbox(w, widgetIndex, STR_STRING, _greeting, CHAT_INPUT_SIZE); + break; + case WIDX_PASSWORD_INPUT: + window_start_textbox(w, widgetIndex, STR_STRING, _password, 32); + break; + case WIDX_MAXPLAYERS_INCREASE: + if (gConfigNetwork.maxplayers < 255) { + gConfigNetwork.maxplayers++; + } + config_save_default(); + window_invalidate(w); + break; + case WIDX_MAXPLAYERS_DECREASE: + if (gConfigNetwork.maxplayers > 1) { + gConfigNetwork.maxplayers--; + } + config_save_default(); + window_invalidate(w); + break; + case WIDX_ADVERTISE_CHECKBOX: + gConfigNetwork.advertise = !gConfigNetwork.advertise; + config_save_default(); + window_invalidate(w); + break; + case WIDX_START_SERVER: + window_scenarioselect_open(window_server_start_scenarioselect_callback); + break; + case WIDX_LOAD_SERVER: + network_set_password(_password); + window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_GAME, NULL); + window_loadsave_set_loadsave_callback(window_server_start_loadsave_callback); + break; + } } static void window_server_start_update(rct_window *w) { - if (gCurrentTextBox.window.classification == w->classification && gCurrentTextBox.window.number == w->number) { - window_update_textbox_caret(); - widget_invalidate(w, WIDX_NAME_INPUT); - widget_invalidate(w, WIDX_DESCRIPTION_INPUT); - widget_invalidate(w, WIDX_GREETING_INPUT); - widget_invalidate(w, WIDX_PASSWORD_INPUT); - } + if (gCurrentTextBox.window.classification == w->classification && gCurrentTextBox.window.number == w->number) { + window_update_textbox_caret(); + widget_invalidate(w, WIDX_NAME_INPUT); + widget_invalidate(w, WIDX_DESCRIPTION_INPUT); + widget_invalidate(w, WIDX_GREETING_INPUT); + widget_invalidate(w, WIDX_PASSWORD_INPUT); + } } static void window_server_start_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (text == NULL) return; + if (text == NULL) return; - switch (widgetIndex) { - case WIDX_PORT_INPUT: - if (strcmp(_port, text) == 0) - return; + switch (widgetIndex) { + case WIDX_PORT_INPUT: + if (strcmp(_port, text) == 0) + return; - memset(_port, 0, sizeof(_port)); - if (strlen(text) > 0) { - safe_strcpy(_port, text, sizeof(_port)); - } + memset(_port, 0, sizeof(_port)); + if (strlen(text) > 0) { + safe_strcpy(_port, text, sizeof(_port)); + } - gConfigNetwork.default_port = atoi(_port); - config_save_default(); + gConfigNetwork.default_port = atoi(_port); + config_save_default(); - widget_invalidate(w, WIDX_NAME_INPUT); - break; - case WIDX_NAME_INPUT: - if (strcmp(_name, text) == 0) - return; + widget_invalidate(w, WIDX_NAME_INPUT); + break; + case WIDX_NAME_INPUT: + if (strcmp(_name, text) == 0) + return; - memset(_name, 0, sizeof(_name)); - if (strlen(text) > 0) { - safe_strcpy(_name, text, sizeof(_name)); - } + memset(_name, 0, sizeof(_name)); + if (strlen(text) > 0) { + safe_strcpy(_name, text, sizeof(_name)); + } - if (strlen(_name) > 0) { - SafeFree(gConfigNetwork.server_name); - gConfigNetwork.server_name = _strdup(_name); - config_save_default(); - } + if (strlen(_name) > 0) { + SafeFree(gConfigNetwork.server_name); + gConfigNetwork.server_name = _strdup(_name); + config_save_default(); + } - widget_invalidate(w, WIDX_NAME_INPUT); - break; - case WIDX_DESCRIPTION_INPUT: - if (strcmp(_description, text) == 0) - return; + widget_invalidate(w, WIDX_NAME_INPUT); + break; + case WIDX_DESCRIPTION_INPUT: + if (strcmp(_description, text) == 0) + return; - memset(_description, 0, sizeof(_description)); - if (strlen(text) > 0) { - safe_strcpy(_description, text, sizeof(_description)); - } + memset(_description, 0, sizeof(_description)); + if (strlen(text) > 0) { + safe_strcpy(_description, text, sizeof(_description)); + } - if (strlen(_description) > 0) { - SafeFree(gConfigNetwork.server_description); - gConfigNetwork.server_description = _strdup(_description); - config_save_default(); - } + if (strlen(_description) > 0) { + SafeFree(gConfigNetwork.server_description); + gConfigNetwork.server_description = _strdup(_description); + config_save_default(); + } - widget_invalidate(w, WIDX_DESCRIPTION_INPUT); - break; - case WIDX_GREETING_INPUT: - if (strcmp(_greeting, text) == 0) - return; + widget_invalidate(w, WIDX_DESCRIPTION_INPUT); + break; + case WIDX_GREETING_INPUT: + if (strcmp(_greeting, text) == 0) + return; - memset(_greeting, 0, sizeof(_greeting)); - if (strlen(text) > 0) { - safe_strcpy(_greeting, text, sizeof(_greeting)); - } + memset(_greeting, 0, sizeof(_greeting)); + if (strlen(text) > 0) { + safe_strcpy(_greeting, text, sizeof(_greeting)); + } - if (strlen(_greeting) > 0) { - SafeFree(gConfigNetwork.server_greeting); - gConfigNetwork.server_greeting = _strdup(_greeting); - config_save_default(); - } + if (strlen(_greeting) > 0) { + SafeFree(gConfigNetwork.server_greeting); + gConfigNetwork.server_greeting = _strdup(_greeting); + config_save_default(); + } - widget_invalidate(w, WIDX_GREETING_INPUT); - break; - case WIDX_PASSWORD_INPUT: - if (strcmp(_password, text) == 0) - return; + widget_invalidate(w, WIDX_GREETING_INPUT); + break; + case WIDX_PASSWORD_INPUT: + if (strcmp(_password, text) == 0) + return; - memset(_password, 0, sizeof(_password)); - if (strlen(text) > 0) { - safe_strcpy(_password, text, sizeof(_password)); - } + memset(_password, 0, sizeof(_password)); + if (strlen(text) > 0) { + safe_strcpy(_password, text, sizeof(_password)); + } - widget_invalidate(w, WIDX_PASSWORD_INPUT); - break; - } + widget_invalidate(w, WIDX_PASSWORD_INPUT); + break; + } } static void window_server_start_invalidate(rct_window *w) { - colour_scheme_update_by_class(w, WC_SERVER_LIST); + colour_scheme_update_by_class(w, WC_SERVER_LIST); - widget_set_checkbox_value(w, WIDX_ADVERTISE_CHECKBOX, gConfigNetwork.advertise); - set_format_arg(18, uint16, gConfigNetwork.maxplayers); + widget_set_checkbox_value(w, WIDX_ADVERTISE_CHECKBOX, gConfigNetwork.advertise); + set_format_arg(18, uint16, gConfigNetwork.maxplayers); } static void window_server_start_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - gfx_draw_string_left(dpi, STR_PORT, NULL, w->colours[1], w->x + 6, w->y + w->widgets[WIDX_PORT_INPUT].top); - gfx_draw_string_left(dpi, STR_SERVER_NAME, NULL, w->colours[1], w->x + 6, w->y + w->widgets[WIDX_NAME_INPUT].top); - gfx_draw_string_left(dpi, STR_SERVER_DESCRIPTION, NULL, w->colours[1], w->x + 6, w->y + w->widgets[WIDX_DESCRIPTION_INPUT].top); - gfx_draw_string_left(dpi, STR_SERVER_GREETING, NULL, w->colours[1], w->x + 6, w->y + w->widgets[WIDX_GREETING_INPUT].top); - gfx_draw_string_left(dpi, STR_PASSWORD, NULL, w->colours[1], w->x + 6, w->y + w->widgets[WIDX_PASSWORD_INPUT].top); - gfx_draw_string_left(dpi, STR_MAX_PLAYERS, NULL, w->colours[1], w->x + 6, w->y + w->widgets[WIDX_MAXPLAYERS].top); + gfx_draw_string_left(dpi, STR_PORT, NULL, w->colours[1], w->x + 6, w->y + w->widgets[WIDX_PORT_INPUT].top); + gfx_draw_string_left(dpi, STR_SERVER_NAME, NULL, w->colours[1], w->x + 6, w->y + w->widgets[WIDX_NAME_INPUT].top); + gfx_draw_string_left(dpi, STR_SERVER_DESCRIPTION, NULL, w->colours[1], w->x + 6, w->y + w->widgets[WIDX_DESCRIPTION_INPUT].top); + gfx_draw_string_left(dpi, STR_SERVER_GREETING, NULL, w->colours[1], w->x + 6, w->y + w->widgets[WIDX_GREETING_INPUT].top); + gfx_draw_string_left(dpi, STR_PASSWORD, NULL, w->colours[1], w->x + 6, w->y + w->widgets[WIDX_PASSWORD_INPUT].top); + gfx_draw_string_left(dpi, STR_MAX_PLAYERS, NULL, w->colours[1], w->x + 6, w->y + w->widgets[WIDX_MAXPLAYERS].top); } diff --git a/src/openrct2/windows/shortcut_key_change.c b/src/openrct2/windows/shortcut_key_change.c index 7eb9b37aa0..817b421186 100644 --- a/src/openrct2/windows/shortcut_key_change.c +++ b/src/openrct2/windows/shortcut_key_change.c @@ -26,17 +26,17 @@ extern const rct_string_id ShortcutStringIds[]; #define WH 60 enum WINDOW_SHORTCUT_CHANGE_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, }; // 0x9DE4E0 static rct_widget window_shortcut_change_widgets[] = { - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_SHORTCUT_CHANGE_TITLE, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, WW-13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WIDGETS_END } + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_SHORTCUT_CHANGE_TITLE, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, WW-13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WIDGETS_END } }; static void window_shortcut_change_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -44,46 +44,46 @@ static void window_shortcut_change_paint(rct_window *w, rct_drawpixelinfo *dpi); // 0x9A3F7C static rct_window_event_list window_shortcut_change_events = { - NULL, - window_shortcut_change_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_shortcut_change_paint, - NULL + NULL, + window_shortcut_change_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_shortcut_change_paint, + NULL }; void window_shortcut_change_open(sint32 selected_key){ - // Move this to window_shortcut_change_open - window_close_by_class(WC_CHANGE_KEYBOARD_SHORTCUT); - // Save the item we are selecting for new window - gKeyboardShortcutChangeId = selected_key; - rct_window* w = window_create_centred(WW, WH, &window_shortcut_change_events, WC_CHANGE_KEYBOARD_SHORTCUT, 0); + // Move this to window_shortcut_change_open + window_close_by_class(WC_CHANGE_KEYBOARD_SHORTCUT); + // Save the item we are selecting for new window + gKeyboardShortcutChangeId = selected_key; + rct_window* w = window_create_centred(WW, WH, &window_shortcut_change_events, WC_CHANGE_KEYBOARD_SHORTCUT, 0); - w->widgets = window_shortcut_change_widgets; - w->enabled_widgets = (1ULL << WIDX_CLOSE); - window_init_scroll_widgets(w); + w->widgets = window_shortcut_change_widgets; + w->enabled_widgets = (1ULL << WIDX_CLOSE); + window_init_scroll_widgets(w); } /** @@ -92,11 +92,11 @@ void window_shortcut_change_open(sint32 selected_key){ */ static void window_shortcut_change_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex){ - case WIDX_CLOSE: - window_close(w); - break; - } + switch (widgetIndex){ + case WIDX_CLOSE: + window_close(w); + break; + } } /** @@ -105,11 +105,11 @@ static void window_shortcut_change_mouseup(rct_window *w, rct_widgetindex widget */ static void window_shortcut_change_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - sint32 x = w->x + 125; - sint32 y = w->y + 30; + sint32 x = w->x + 125; + sint32 y = w->y + 30; - set_format_arg(0, rct_string_id, ShortcutStringIds[gKeyboardShortcutChangeId]); - gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x, y, 242, STR_SHORTCUT_CHANGE_PROMPT, COLOUR_BLACK); + set_format_arg(0, rct_string_id, ShortcutStringIds[gKeyboardShortcutChangeId]); + gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x, y, 242, STR_SHORTCUT_CHANGE_PROMPT, COLOUR_BLACK); } diff --git a/src/openrct2/windows/shortcut_keys.c b/src/openrct2/windows/shortcut_keys.c index 1a36494ccf..7652e69837 100644 --- a/src/openrct2/windows/shortcut_keys.c +++ b/src/openrct2/windows/shortcut_keys.c @@ -28,21 +28,21 @@ #define WH_SC_MAX 800 enum WINDOW_SHORTCUT_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_SCROLL, - WIDX_RESET + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_SCROLL, + WIDX_RESET }; // 0x9DE48C static rct_widget window_shortcut_widgets[] = { - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_SHORTCUTS_TITLE, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, WW-13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_SCROLL, 0, 4, WW - 5, 18, WH - 18, SCROLL_VERTICAL, STR_SHORTCUT_LIST_TIP }, - { WWT_DROPDOWN_BUTTON, 0, 4, 153, WH-15, WH - 4, STR_SHORTCUT_ACTION_RESET, STR_SHORTCUT_ACTION_RESET_TIP }, - { WIDGETS_END } + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_SHORTCUTS_TITLE, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, WW-13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_SCROLL, 0, 4, WW - 5, 18, WH - 18, SCROLL_VERTICAL, STR_SHORTCUT_LIST_TIP }, + { WWT_DROPDOWN_BUTTON, 0, 4, 153, WH-15, WH - 4, STR_SHORTCUT_ACTION_RESET, STR_SHORTCUT_ACTION_RESET_TIP }, + { WIDGETS_END } }; static void window_shortcut_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -56,99 +56,99 @@ static void window_shortcut_scrollmouseover(rct_window *w, sint32 scrollIndex, s static void window_shortcut_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_shortcut_events = { - NULL, - window_shortcut_mouseup, - window_shortcut_resize, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_shortcut_scrollgetsize, - window_shortcut_scrollmousedown, - NULL, - window_shortcut_scrollmouseover, - NULL, - NULL, - NULL, - window_shortcut_tooltip, - NULL, - NULL, - window_shortcut_invalidate, - window_shortcut_paint, - window_shortcut_scrollpaint + NULL, + window_shortcut_mouseup, + window_shortcut_resize, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_shortcut_scrollgetsize, + window_shortcut_scrollmousedown, + NULL, + window_shortcut_scrollmouseover, + NULL, + NULL, + NULL, + window_shortcut_tooltip, + NULL, + NULL, + window_shortcut_invalidate, + window_shortcut_paint, + window_shortcut_scrollpaint }; const rct_string_id ShortcutStringIds[] = { - STR_SHORTCUT_CLOSE_TOP_MOST_WINDOW, - STR_SHORTCUT_CLOSE_ALL_FLOATING_WINDOWS, - STR_SHORTCUT_CANCEL_CONSTRUCTION_MODE, - STR_SHORTCUT_PAUSE_GAME, - STR_SHORTCUT_ZOOM_VIEW_OUT, - STR_SHORTCUT_ZOOM_VIEW_IN, - STR_SHORTCUT_ROTATE_VIEW_CLOCKWISE, - STR_SHORTCUT_ROTATE_VIEW_ANTICLOCKWISE, - STR_SHORTCUT_ROTATE_CONSTRUCTION_OBJECT, - STR_SHORTCUT_UNDERGROUND_VIEW_TOGGLE, - STR_SHORTCUT_REMOVE_BASE_LAND_TOGGLE, - STR_SHORTCUT_REMOVE_VERTICAL_LAND_TOGGLE, - STR_SHORTCUT_SEE_THROUGH_RIDES_TOGGLE, - STR_SHORTCUT_SEE_THROUGH_SCENERY_TOGGLE, - STR_SHORTCUT_INVISIBLE_SUPPORTS_TOGGLE, - STR_SHORTCUT_INVISIBLE_PEOPLE_TOGGLE, - STR_SHORTCUT_HEIGHT_MARKS_ON_LAND_TOGGLE, - STR_SHORTCUT_HEIGHT_MARKS_ON_RIDE_TRACKS_TOGGLE, - STR_SHORTCUT_HEIGHT_MARKS_ON_PATHS_TOGGLE, - STR_SHORTCUT_ADJUST_LAND, - STR_SHORTCUT_ADJUST_WATER, - STR_SHORTCUT_BUILD_SCENERY, - STR_SHORTCUT_BUILD_PATHS, - STR_SHORTCUT_BUILD_NEW_RIDE, - STR_SHORTCUT_SHOW_FINANCIAL_INFORMATION, - STR_SHORTCUT_SHOW_RESEARCH_INFORMATION, - STR_SHORTCUT_SHOW_RIDES_LIST, - STR_SHORTCUT_SHOW_PARK_INFORMATION, - STR_SHORTCUT_SHOW_GUEST_LIST, - STR_SHORTCUT_SHOW_STAFF_LIST, - STR_SHORTCUT_SHOW_RECENT_MESSAGES, - STR_SHORTCUT_SHOW_MAP, - STR_SHORTCUT_SCREENSHOT, - STR_SHORTCUT_REDUCE_GAME_SPEED, - STR_SHORTCUT_INCREASE_GAME_SPEED, - STR_SHORTCUT_OPEN_CHEATS_WINDOW, - STR_SHORTCUT_TOGGLE_VISIBILITY_OF_TOOLBARS, - STR_SHORTCUT_SCROLL_MAP_UP, - STR_SHORTCUT_SCROLL_MAP_LEFT, - STR_SHORTCUT_SCROLL_MAP_DOWN, - STR_SHORTCUT_SCROLL_MAP_RIGHT, - STR_SEND_MESSAGE, - STR_SHORTCUT_QUICK_SAVE_GAME, - STR_SHORTCUT_SHOW_OPTIONS, - STR_SHORTCUT_MUTE_SOUND, - STR_SHORTCUT_WINDOWED_MODE_TOGGLE, - STR_SHORTCUT_SHOW_MULTIPLAYER, - STR_SHORTCUT_PAINT_ORIGINAL, - STR_SHORTCUT_DEBUG_PAINT_TOGGLE, - STR_SHORTCUT_SEE_THROUGH_PATHS_TOGGLE, - STR_SHORTCUT_RIDE_CONSTRUCTION_TURN_LEFT, - STR_SHORTCUT_RIDE_CONSTRUCTION_TURN_RIGHT, - STR_SHORTCUT_RIDE_CONSTRUCTION_USE_TRACK_DEFAULT, - STR_SHORTCUT_RIDE_CONSTRUCTION_SLOPE_DOWN, - STR_SHORTCUT_RIDE_CONSTRUCTION_SLOPE_UP, - STR_SHORTCUT_RIDE_CONSTRUCTION_CHAIN_LIFT_TOGGLE, - STR_SHORTCUT_RIDE_CONSTRUCTION_BANK_LEFT, - STR_SHORTCUT_RIDE_CONSTRUCTION_BANK_RIGHT, - STR_SHORTCUT_RIDE_CONSTRUCTION_PREVIOUS_TRACK, - STR_SHORTCUT_RIDE_CONSTRUCTION_NEXT_TRACK, - STR_SHORTCUT_RIDE_CONSTRUCTION_BUILD_CURRENT, - STR_SHORTCUT_RIDE_CONSTRUCTION_DEMOLISH_CURRENT, + STR_SHORTCUT_CLOSE_TOP_MOST_WINDOW, + STR_SHORTCUT_CLOSE_ALL_FLOATING_WINDOWS, + STR_SHORTCUT_CANCEL_CONSTRUCTION_MODE, + STR_SHORTCUT_PAUSE_GAME, + STR_SHORTCUT_ZOOM_VIEW_OUT, + STR_SHORTCUT_ZOOM_VIEW_IN, + STR_SHORTCUT_ROTATE_VIEW_CLOCKWISE, + STR_SHORTCUT_ROTATE_VIEW_ANTICLOCKWISE, + STR_SHORTCUT_ROTATE_CONSTRUCTION_OBJECT, + STR_SHORTCUT_UNDERGROUND_VIEW_TOGGLE, + STR_SHORTCUT_REMOVE_BASE_LAND_TOGGLE, + STR_SHORTCUT_REMOVE_VERTICAL_LAND_TOGGLE, + STR_SHORTCUT_SEE_THROUGH_RIDES_TOGGLE, + STR_SHORTCUT_SEE_THROUGH_SCENERY_TOGGLE, + STR_SHORTCUT_INVISIBLE_SUPPORTS_TOGGLE, + STR_SHORTCUT_INVISIBLE_PEOPLE_TOGGLE, + STR_SHORTCUT_HEIGHT_MARKS_ON_LAND_TOGGLE, + STR_SHORTCUT_HEIGHT_MARKS_ON_RIDE_TRACKS_TOGGLE, + STR_SHORTCUT_HEIGHT_MARKS_ON_PATHS_TOGGLE, + STR_SHORTCUT_ADJUST_LAND, + STR_SHORTCUT_ADJUST_WATER, + STR_SHORTCUT_BUILD_SCENERY, + STR_SHORTCUT_BUILD_PATHS, + STR_SHORTCUT_BUILD_NEW_RIDE, + STR_SHORTCUT_SHOW_FINANCIAL_INFORMATION, + STR_SHORTCUT_SHOW_RESEARCH_INFORMATION, + STR_SHORTCUT_SHOW_RIDES_LIST, + STR_SHORTCUT_SHOW_PARK_INFORMATION, + STR_SHORTCUT_SHOW_GUEST_LIST, + STR_SHORTCUT_SHOW_STAFF_LIST, + STR_SHORTCUT_SHOW_RECENT_MESSAGES, + STR_SHORTCUT_SHOW_MAP, + STR_SHORTCUT_SCREENSHOT, + STR_SHORTCUT_REDUCE_GAME_SPEED, + STR_SHORTCUT_INCREASE_GAME_SPEED, + STR_SHORTCUT_OPEN_CHEATS_WINDOW, + STR_SHORTCUT_TOGGLE_VISIBILITY_OF_TOOLBARS, + STR_SHORTCUT_SCROLL_MAP_UP, + STR_SHORTCUT_SCROLL_MAP_LEFT, + STR_SHORTCUT_SCROLL_MAP_DOWN, + STR_SHORTCUT_SCROLL_MAP_RIGHT, + STR_SEND_MESSAGE, + STR_SHORTCUT_QUICK_SAVE_GAME, + STR_SHORTCUT_SHOW_OPTIONS, + STR_SHORTCUT_MUTE_SOUND, + STR_SHORTCUT_WINDOWED_MODE_TOGGLE, + STR_SHORTCUT_SHOW_MULTIPLAYER, + STR_SHORTCUT_PAINT_ORIGINAL, + STR_SHORTCUT_DEBUG_PAINT_TOGGLE, + STR_SHORTCUT_SEE_THROUGH_PATHS_TOGGLE, + STR_SHORTCUT_RIDE_CONSTRUCTION_TURN_LEFT, + STR_SHORTCUT_RIDE_CONSTRUCTION_TURN_RIGHT, + STR_SHORTCUT_RIDE_CONSTRUCTION_USE_TRACK_DEFAULT, + STR_SHORTCUT_RIDE_CONSTRUCTION_SLOPE_DOWN, + STR_SHORTCUT_RIDE_CONSTRUCTION_SLOPE_UP, + STR_SHORTCUT_RIDE_CONSTRUCTION_CHAIN_LIFT_TOGGLE, + STR_SHORTCUT_RIDE_CONSTRUCTION_BANK_LEFT, + STR_SHORTCUT_RIDE_CONSTRUCTION_BANK_RIGHT, + STR_SHORTCUT_RIDE_CONSTRUCTION_PREVIOUS_TRACK, + STR_SHORTCUT_RIDE_CONSTRUCTION_NEXT_TRACK, + STR_SHORTCUT_RIDE_CONSTRUCTION_BUILD_CURRENT, + STR_SHORTCUT_RIDE_CONSTRUCTION_DEMOLISH_CURRENT, }; /** @@ -157,24 +157,24 @@ const rct_string_id ShortcutStringIds[] = { */ void window_shortcut_keys_open() { - rct_window* w; + rct_window* w; - w = window_bring_to_front_by_class(WC_KEYBOARD_SHORTCUT_LIST); + w = window_bring_to_front_by_class(WC_KEYBOARD_SHORTCUT_LIST); - if (w) return; + if (w) return; - w = window_create_auto_pos(WW, WH, &window_shortcut_events, WC_KEYBOARD_SHORTCUT_LIST, WF_RESIZABLE); + w = window_create_auto_pos(WW, WH, &window_shortcut_events, WC_KEYBOARD_SHORTCUT_LIST, WF_RESIZABLE); - w->widgets = window_shortcut_widgets; - w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_RESET); - window_init_scroll_widgets(w); + w->widgets = window_shortcut_widgets; + w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_RESET); + window_init_scroll_widgets(w); - w->no_list_items = SHORTCUT_COUNT; - w->selected_list_item = -1; - w->min_width = WW; - w->min_height = WH; - w->max_width = WW_SC_MAX; - w->max_height = WH_SC_MAX; + w->no_list_items = SHORTCUT_COUNT; + w->selected_list_item = -1; + w->min_width = WW; + w->min_height = WH; + w->max_width = WW_SC_MAX; + w->max_height = WH_SC_MAX; } /** @@ -183,34 +183,34 @@ void window_shortcut_keys_open() */ static void window_shortcut_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex){ - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_RESET: - config_reset_shortcut_keys(); - config_shortcut_keys_save(); - window_invalidate(w); - break; - } + switch (widgetIndex){ + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_RESET: + config_reset_shortcut_keys(); + config_shortcut_keys_save(); + window_invalidate(w); + break; + } } static void window_shortcut_resize(rct_window *w) { - window_set_resize(w, w->min_width, w->min_height, w->max_width, w->max_height); + window_set_resize(w, w->min_width, w->min_height, w->max_width, w->max_height); } static void window_shortcut_invalidate(rct_window *w) { - window_shortcut_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_shortcut_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_shortcut_widgets[WIDX_TITLE].right = w->width - 2; - window_shortcut_widgets[WIDX_CLOSE].right = w->width - 3; - window_shortcut_widgets[WIDX_CLOSE].left = w->width - 13; - window_shortcut_widgets[WIDX_SCROLL].right = w->width - 5; - window_shortcut_widgets[WIDX_SCROLL].bottom = w->height - 18; - window_shortcut_widgets[WIDX_RESET].top = w->height - 15; - window_shortcut_widgets[WIDX_RESET].bottom = w->height - 4; + window_shortcut_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_shortcut_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_shortcut_widgets[WIDX_TITLE].right = w->width - 2; + window_shortcut_widgets[WIDX_CLOSE].right = w->width - 3; + window_shortcut_widgets[WIDX_CLOSE].left = w->width - 13; + window_shortcut_widgets[WIDX_SCROLL].right = w->width - 5; + window_shortcut_widgets[WIDX_SCROLL].bottom = w->height - 18; + window_shortcut_widgets[WIDX_RESET].top = w->height - 15; + window_shortcut_widgets[WIDX_RESET].bottom = w->height - 4; } /** @@ -219,7 +219,7 @@ static void window_shortcut_invalidate(rct_window *w) */ static void window_shortcut_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); } /** @@ -228,7 +228,7 @@ static void window_shortcut_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_shortcut_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_LIST); + set_format_arg(0, rct_string_id, STR_LIST); } /** @@ -237,7 +237,7 @@ static void window_shortcut_tooltip(rct_window* w, rct_widgetindex widgetIndex, */ static void window_shortcut_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - *height = w->no_list_items * 10; + *height = w->no_list_items * 10; } /** @@ -246,11 +246,11 @@ static void window_shortcut_scrollgetsize(rct_window *w, sint32 scrollIndex, sin */ static void window_shortcut_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 selected_item = y / 10; - if (selected_item >= w->no_list_items) - return; + sint32 selected_item = y / 10; + if (selected_item >= w->no_list_items) + return; - window_shortcut_change_open(selected_item); + window_shortcut_change_open(selected_item); } /** @@ -259,13 +259,13 @@ static void window_shortcut_scrollmousedown(rct_window *w, sint32 scrollIndex, s */ static void window_shortcut_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 selected_item = y / 10; - if (selected_item >= w->no_list_items) - return; + sint32 selected_item = y / 10; + if (selected_item >= w->no_list_items) + return; - w->selected_list_item = selected_item; + w->selected_list_item = selected_item; - window_invalidate(w); + window_invalidate(w); } /** @@ -274,27 +274,27 @@ static void window_shortcut_scrollmouseover(rct_window *w, sint32 scrollIndex, s */ static void window_shortcut_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); + gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); - for (sint32 i = 0; i < w->no_list_items; ++i) { - sint32 y = i * 10; - if (y > dpi->y + dpi->height) - break; + for (sint32 i = 0; i < w->no_list_items; ++i) { + sint32 y = i * 10; + if (y > dpi->y + dpi->height) + break; - if (y + 10 < dpi->y)continue; - sint32 format = STR_BLACK_STRING; - if (i == w->selected_list_item) { - format = STR_WINDOW_COLOUR_2_STRINGID; - gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); - } + if (y + 10 < dpi->y)continue; + sint32 format = STR_BLACK_STRING; + if (i == w->selected_list_item) { + format = STR_WINDOW_COLOUR_2_STRINGID; + gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); + } - char templateString[128]; - keyboard_shortcut_format_string(templateString, 128, gShortcutKeys[i]); + char templateString[128]; + keyboard_shortcut_format_string(templateString, 128, gShortcutKeys[i]); - set_format_arg(0, rct_string_id, STR_SHORTCUT_ENTRY_FORMAT); - set_format_arg(2, rct_string_id, ShortcutStringIds[i]); - set_format_arg(4, rct_string_id, STR_STRING); - set_format_arg(6, char *, templateString); - gfx_draw_string_left(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 0, y - 1); - } + set_format_arg(0, rct_string_id, STR_SHORTCUT_ENTRY_FORMAT); + set_format_arg(2, rct_string_id, ShortcutStringIds[i]); + set_format_arg(4, rct_string_id, STR_STRING); + set_format_arg(6, char *, templateString); + gfx_draw_string_left(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 0, y - 1); + } } diff --git a/src/openrct2/windows/sign.c b/src/openrct2/windows/sign.c index 50fb8291ff..69e9a6a21e 100644 --- a/src/openrct2/windows/sign.c +++ b/src/openrct2/windows/sign.c @@ -33,27 +33,27 @@ #define WH 96 enum WINDOW_SIGN_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_VIEWPORT, - WIDX_SIGN_TEXT, - WIDX_SIGN_DEMOLISH, - WIDX_MAIN_COLOUR, - WIDX_TEXT_COLOUR + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_VIEWPORT, + WIDX_SIGN_TEXT, + WIDX_SIGN_DEMOLISH, + WIDX_MAIN_COLOUR, + WIDX_TEXT_COLOUR }; // 0x9AEE00 rct_widget window_sign_widgets[] = { - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_SIGN, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_VIEWPORT, 1, 3, WW - 26, 17, WH - 20, 0xFFFFFFFE, STR_NONE }, // Viewport - { WWT_FLATBTN, 1, WW - 25, WW - 2, 19, 42, SPR_RENAME, STR_CHANGE_SIGN_TEXT_TIP }, // change sign button - { WWT_FLATBTN, 1, WW - 25, WW - 2, 67, 90, SPR_DEMOLISH, STR_DEMOLISH_SIGN_TIP }, // demolish button - { WWT_COLOURBTN, 1, 5, 16, WH - 16, WH - 5, 0xFFFFFFFF, STR_SELECT_MAIN_SIGN_COLOUR_TIP }, // Main colour - { WWT_COLOURBTN, 1, 17, 28, WH - 16, WH - 5, 0xFFFFFFFF, STR_SELECT_TEXT_COLOUR_TIP }, // Text colour - { WIDGETS_END }, + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_SIGN, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_VIEWPORT, 1, 3, WW - 26, 17, WH - 20, 0xFFFFFFFE, STR_NONE }, // Viewport + { WWT_FLATBTN, 1, WW - 25, WW - 2, 19, 42, SPR_RENAME, STR_CHANGE_SIGN_TEXT_TIP }, // change sign button + { WWT_FLATBTN, 1, WW - 25, WW - 2, 67, 90, SPR_DEMOLISH, STR_DEMOLISH_SIGN_TIP }, // demolish button + { WWT_COLOURBTN, 1, 5, 16, WH - 16, WH - 5, 0xFFFFFFFF, STR_SELECT_MAIN_SIGN_COLOUR_TIP }, // Main colour + { WWT_COLOURBTN, 1, 17, 28, WH - 16, WH - 5, 0xFFFFFFFF, STR_SELECT_TEXT_COLOUR_TIP }, // Text colour + { WIDGETS_END }, }; static void window_sign_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -67,34 +67,34 @@ static void window_sign_paint(rct_window *w, rct_drawpixelinfo *dpi); // 0x98E44C static rct_window_event_list window_sign_events = { - NULL, - window_sign_mouseup, - NULL, - window_sign_mousedown, - window_sign_dropdown, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_sign_textinput, - window_sign_unknown_14, - NULL, - NULL, - NULL, - NULL, - window_sign_invalidate, - window_sign_paint, - NULL + NULL, + window_sign_mouseup, + NULL, + window_sign_mousedown, + window_sign_dropdown, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_sign_textinput, + window_sign_unknown_14, + NULL, + NULL, + NULL, + NULL, + window_sign_invalidate, + window_sign_paint, + NULL }; static void window_sign_small_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -103,34 +103,34 @@ static void window_sign_small_invalidate(rct_window *w); // 0x9A410C static rct_window_event_list window_sign_small_events = { - NULL, - window_sign_small_mouseup, - NULL, - window_sign_mousedown, - window_sign_small_dropdown, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_sign_textinput, - window_sign_unknown_14, - NULL, - NULL, - NULL, - NULL, - window_sign_small_invalidate, - window_sign_paint, - NULL + NULL, + window_sign_small_mouseup, + NULL, + window_sign_mousedown, + window_sign_small_dropdown, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_sign_textinput, + window_sign_unknown_14, + NULL, + NULL, + NULL, + NULL, + window_sign_small_invalidate, + window_sign_paint, + NULL }; /** @@ -139,74 +139,74 @@ static rct_window_event_list window_sign_small_events = { */ void window_sign_open(rct_windownumber number) { - rct_window* w; - rct_widget *viewportWidget; + rct_window* w; + rct_widget *viewportWidget; - // Check if window is already open - w = window_bring_to_front_by_number(WC_BANNER, number); - if (w != NULL) - return; + // Check if window is already open + w = window_bring_to_front_by_number(WC_BANNER, number); + if (w != NULL) + return; - w = window_create_auto_pos(WW, WH, &window_sign_events, WC_BANNER, WF_NO_SCROLLING); - w->widgets = window_sign_widgets; - w->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_SIGN_TEXT) | - (1 << WIDX_SIGN_DEMOLISH) | - (1 << WIDX_MAIN_COLOUR) | - (1 << WIDX_TEXT_COLOUR); + w = window_create_auto_pos(WW, WH, &window_sign_events, WC_BANNER, WF_NO_SCROLLING); + w->widgets = window_sign_widgets; + w->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_SIGN_TEXT) | + (1 << WIDX_SIGN_DEMOLISH) | + (1 << WIDX_MAIN_COLOUR) | + (1 << WIDX_TEXT_COLOUR); - w->number = number; - window_init_scroll_widgets(w); + w->number = number; + window_init_scroll_widgets(w); - sint32 view_x = gBanners[w->number].x << 5; - sint32 view_y = gBanners[w->number].y << 5; + sint32 view_x = gBanners[w->number].x << 5; + sint32 view_y = gBanners[w->number].y << 5; - rct_map_element* map_element = map_get_first_element_at(view_x / 32, view_y / 32); + rct_map_element* map_element = map_get_first_element_at(view_x / 32, view_y / 32); - while (1){ - if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { - rct_scenery_entry* scenery_entry = get_large_scenery_entry(map_element->properties.scenerymultiple.type & MAP_ELEMENT_LARGE_TYPE_MASK); - if (scenery_entry->large_scenery.var_11 != 0xFF){ - sint32 id = (map_element->type & 0xC0) | - ((map_element->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | - ((map_element->properties.scenerymultiple.colour[1] & 0xE0) >> 5); - if (id == w->number) - break; - } - } - map_element++; - } + while (1){ + if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { + rct_scenery_entry* scenery_entry = get_large_scenery_entry(map_element->properties.scenerymultiple.type & MAP_ELEMENT_LARGE_TYPE_MASK); + if (scenery_entry->large_scenery.var_11 != 0xFF){ + sint32 id = (map_element->type & 0xC0) | + ((map_element->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | + ((map_element->properties.scenerymultiple.colour[1] & 0xE0) >> 5); + if (id == w->number) + break; + } + } + map_element++; + } - sint32 view_z = map_element->base_height << 3; - w->frame_no = view_z; + sint32 view_z = map_element->base_height << 3; + w->frame_no = view_z; - w->list_information_type = map_element->properties.scenerymultiple.colour[0] & 0x1F; - w->var_492 = map_element->properties.scenerymultiple.colour[1] & 0x1F; - w->var_48C = map_element->properties.scenerymultiple.type; + w->list_information_type = map_element->properties.scenerymultiple.colour[0] & 0x1F; + w->var_492 = map_element->properties.scenerymultiple.colour[1] & 0x1F; + w->var_48C = map_element->properties.scenerymultiple.type; - view_x += 16; - view_y += 16; + view_x += 16; + view_y += 16; - // Create viewport - viewportWidget = &window_sign_widgets[WIDX_VIEWPORT]; - viewport_create( - w, - w->x + viewportWidget->left + 1, - w->y + viewportWidget->top + 1, - (viewportWidget->right - viewportWidget->left) - 1, - (viewportWidget->bottom - viewportWidget->top) - 1, - 0, - view_x, - view_y, - view_z, - 0, - -1 - ); + // Create viewport + viewportWidget = &window_sign_widgets[WIDX_VIEWPORT]; + viewport_create( + w, + w->x + viewportWidget->left + 1, + w->y + viewportWidget->top + 1, + (viewportWidget->right - viewportWidget->left) - 1, + (viewportWidget->bottom - viewportWidget->top) - 1, + 0, + view_x, + view_y, + view_z, + 0, + -1 + ); - w->viewport->flags = gConfigGeneral.always_show_gridlines ? VIEWPORT_FLAG_GRIDLINES : 0; - window_invalidate(w); + w->viewport->flags = gConfigGeneral.always_show_gridlines ? VIEWPORT_FLAG_GRIDLINES : 0; + window_invalidate(w); } /** @@ -215,54 +215,54 @@ void window_sign_open(rct_windownumber number) */ static void window_sign_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - rct_banner* banner = &gBanners[w->number]; - sint32 x = banner->x << 5; - sint32 y = banner->y << 5; + rct_banner* banner = &gBanners[w->number]; + sint32 x = banner->x << 5; + sint32 y = banner->y << 5; - rct_string_id string_id; + rct_string_id string_id; - rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); + rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_SIGN_DEMOLISH: - while (1){ - if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { - rct_scenery_entry* scenery_entry = get_large_scenery_entry(map_element->properties.scenerymultiple.type & MAP_ELEMENT_LARGE_TYPE_MASK); - if (scenery_entry->large_scenery.var_11 != 0xFF){ - sint32 id = (map_element->type & 0xC0) | - ((map_element->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | - ((map_element->properties.scenerymultiple.colour[1] & 0xE0) >> 5); - if (id == w->number) - break; - } - } - map_element++; - } - game_do_command( - x, - 1 | ((map_element->type&0x3) << 8), - y, - map_element->base_height | ((map_element->properties.scenerymultiple.type >> 10) << 8), - GAME_COMMAND_REMOVE_LARGE_SCENERY, - 0, - 0); - break; - case WIDX_SIGN_TEXT: - if (banner->flags & BANNER_FLAG_LINKED_TO_RIDE){ - rct_ride* ride = get_ride(banner->colour); - set_format_arg(16, uint32, ride->name_arguments); - string_id = ride->name; - } - else - { - string_id = gBanners[w->number].string_idx; - } - window_text_input_open(w, WIDX_SIGN_TEXT, STR_SIGN_TEXT_TITLE, STR_SIGN_TEXT_PROMPT, string_id, 0, 32); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_SIGN_DEMOLISH: + while (1){ + if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { + rct_scenery_entry* scenery_entry = get_large_scenery_entry(map_element->properties.scenerymultiple.type & MAP_ELEMENT_LARGE_TYPE_MASK); + if (scenery_entry->large_scenery.var_11 != 0xFF){ + sint32 id = (map_element->type & 0xC0) | + ((map_element->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | + ((map_element->properties.scenerymultiple.colour[1] & 0xE0) >> 5); + if (id == w->number) + break; + } + } + map_element++; + } + game_do_command( + x, + 1 | ((map_element->type&0x3) << 8), + y, + map_element->base_height | ((map_element->properties.scenerymultiple.type >> 10) << 8), + GAME_COMMAND_REMOVE_LARGE_SCENERY, + 0, + 0); + break; + case WIDX_SIGN_TEXT: + if (banner->flags & BANNER_FLAG_LINKED_TO_RIDE){ + rct_ride* ride = get_ride(banner->colour); + set_format_arg(16, uint32, ride->name_arguments); + string_id = ride->name; + } + else + { + string_id = gBanners[w->number].string_idx; + } + window_text_input_open(w, WIDX_SIGN_TEXT, STR_SIGN_TEXT_TITLE, STR_SIGN_TEXT_PROMPT, string_id, 0, 32); + break; + } } /** @@ -271,14 +271,14 @@ static void window_sign_mouseup(rct_window *w, rct_widgetindex widgetIndex) & 0x6E6164 */ static void window_sign_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - switch (widgetIndex) { - case WIDX_MAIN_COLOUR: - window_dropdown_show_colour(w, widget, TRANSLUCENT(w->colours[1]), (uint8)w->list_information_type); - break; - case WIDX_TEXT_COLOUR: - window_dropdown_show_colour(w, widget, TRANSLUCENT(w->colours[1]), (uint8)w->var_492); - break; - } + switch (widgetIndex) { + case WIDX_MAIN_COLOUR: + window_dropdown_show_colour(w, widget, TRANSLUCENT(w->colours[1]), (uint8)w->list_information_type); + break; + case WIDX_TEXT_COLOUR: + window_dropdown_show_colour(w, widget, TRANSLUCENT(w->colours[1]), (uint8)w->var_492); + break; + } } /** @@ -287,22 +287,22 @@ static void window_sign_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct */ static void window_sign_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - switch (widgetIndex){ - case WIDX_MAIN_COLOUR: - if (dropdownIndex == -1) return; - w->list_information_type = dropdownIndex; - game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, dropdownIndex, GAME_COMMAND_SET_SIGN_STYLE, w->var_492, 1); - break; - case WIDX_TEXT_COLOUR: - if (dropdownIndex == -1) return; - w->var_492 = dropdownIndex; - game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, w->list_information_type, GAME_COMMAND_SET_SIGN_STYLE, dropdownIndex, 1); - break; - default: - return; - } + switch (widgetIndex){ + case WIDX_MAIN_COLOUR: + if (dropdownIndex == -1) return; + w->list_information_type = dropdownIndex; + game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, dropdownIndex, GAME_COMMAND_SET_SIGN_STYLE, w->var_492, 1); + break; + case WIDX_TEXT_COLOUR: + if (dropdownIndex == -1) return; + w->var_492 = dropdownIndex; + game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, w->list_information_type, GAME_COMMAND_SET_SIGN_STYLE, dropdownIndex, 1); + break; + default: + return; + } - window_invalidate(w); + window_invalidate(w); } /** @@ -311,11 +311,11 @@ static void window_sign_dropdown(rct_window *w, rct_widgetindex widgetIndex, sin */ static void window_sign_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (widgetIndex == WIDX_SIGN_TEXT && text != NULL) { - game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 0)), GAME_COMMAND_SET_SIGN_NAME, *((sint32*)(text + 8)), *((sint32*)(text + 4))); - game_do_command(2, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 12)), GAME_COMMAND_SET_SIGN_NAME, *((sint32*)(text + 20)), *((sint32*)(text + 16))); - game_do_command(0, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 24)), GAME_COMMAND_SET_SIGN_NAME, *((sint32*)(text + 32)), *((sint32*)(text + 28))); - } + if (widgetIndex == WIDX_SIGN_TEXT && text != NULL) { + game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 0)), GAME_COMMAND_SET_SIGN_NAME, *((sint32*)(text + 8)), *((sint32*)(text + 4))); + game_do_command(2, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 12)), GAME_COMMAND_SET_SIGN_NAME, *((sint32*)(text + 20)), *((sint32*)(text + 16))); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 24)), GAME_COMMAND_SET_SIGN_NAME, *((sint32*)(text + 32)), *((sint32*)(text + 28))); + } } /** @@ -324,23 +324,23 @@ static void window_sign_textinput(rct_window *w, rct_widgetindex widgetIndex, ch */ static void window_sign_invalidate(rct_window *w) { - rct_widget* main_colour_btn = &window_sign_widgets[WIDX_MAIN_COLOUR]; - rct_widget* text_colour_btn = &window_sign_widgets[WIDX_TEXT_COLOUR]; + rct_widget* main_colour_btn = &window_sign_widgets[WIDX_MAIN_COLOUR]; + rct_widget* text_colour_btn = &window_sign_widgets[WIDX_TEXT_COLOUR]; - rct_scenery_entry* scenery_entry = get_large_scenery_entry(w->var_48C); + rct_scenery_entry* scenery_entry = get_large_scenery_entry(w->var_48C); - main_colour_btn->type = WWT_EMPTY; - text_colour_btn->type = WWT_EMPTY; + main_colour_btn->type = WWT_EMPTY; + text_colour_btn->type = WWT_EMPTY; - if (scenery_entry->large_scenery.flags & LARGE_SCENERY_FLAG_HAS_PRIMARY_COLOUR){ - main_colour_btn->type = WWT_COLOURBTN; - } - if (scenery_entry->large_scenery.flags & LARGE_SCENERY_FLAG_HAS_SECONDARY_COLOUR) { - text_colour_btn->type = WWT_COLOURBTN; - } + if (scenery_entry->large_scenery.flags & LARGE_SCENERY_FLAG_HAS_PRIMARY_COLOUR){ + main_colour_btn->type = WWT_COLOURBTN; + } + if (scenery_entry->large_scenery.flags & LARGE_SCENERY_FLAG_HAS_SECONDARY_COLOUR) { + text_colour_btn->type = WWT_COLOURBTN; + } - main_colour_btn->image = (w->list_information_type << 19) | 0x60000000 | SPR_PALETTE_BTN; - text_colour_btn->image = (w->var_492 << 19) | 0x60000000 | SPR_PALETTE_BTN; + main_colour_btn->image = (w->list_information_type << 19) | 0x60000000 | SPR_PALETTE_BTN; + text_colour_btn->image = (w->var_492 << 19) | 0x60000000 | SPR_PALETTE_BTN; } /** @@ -349,12 +349,12 @@ static void window_sign_invalidate(rct_window *w) */ static void window_sign_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - // Draw viewport - if (w->viewport != NULL) { - window_draw_viewport(dpi, w); - } + // Draw viewport + if (w->viewport != NULL) { + window_draw_viewport(dpi, w); + } } /** @@ -363,36 +363,36 @@ static void window_sign_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_sign_unknown_14(rct_window *w) { - rct_viewport* view = w->viewport; - w->viewport = 0; + rct_viewport* view = w->viewport; + w->viewport = 0; - view->width = 0; - viewport_update_pointers(); + view->width = 0; + viewport_update_pointers(); - rct_banner* banner = &gBanners[w->number]; + rct_banner* banner = &gBanners[w->number]; - sint32 view_x = (banner->x << 5) + 16; - sint32 view_y = (banner->y << 5) + 16; - sint32 view_z = w->frame_no; + sint32 view_x = (banner->x << 5) + 16; + sint32 view_y = (banner->y << 5) + 16; + sint32 view_z = w->frame_no; - // Create viewport - rct_widget* viewportWidget = &window_sign_widgets[WIDX_VIEWPORT]; - viewport_create( - w, - w->x + viewportWidget->left + 1, - w->y + viewportWidget->top + 1, - (viewportWidget->right - viewportWidget->left) - 1, - (viewportWidget->bottom - viewportWidget->top) - 1, - 0, - view_x, - view_y, - view_z, - 0, - -1 - ); + // Create viewport + rct_widget* viewportWidget = &window_sign_widgets[WIDX_VIEWPORT]; + viewport_create( + w, + w->x + viewportWidget->left + 1, + w->y + viewportWidget->top + 1, + (viewportWidget->right - viewportWidget->left) - 1, + (viewportWidget->bottom - viewportWidget->top) - 1, + 0, + view_x, + view_y, + view_z, + 0, + -1 + ); - w->viewport->flags = gConfigGeneral.always_show_gridlines ? VIEWPORT_FLAG_GRIDLINES : 0; - window_invalidate(w); + w->viewport->flags = gConfigGeneral.always_show_gridlines ? VIEWPORT_FLAG_GRIDLINES : 0; + window_invalidate(w); } @@ -401,75 +401,75 @@ static void window_sign_unknown_14(rct_window *w) * rct2: 0x6E5F52 */ void window_sign_small_open(rct_windownumber number){ - rct_window* w; - rct_widget *viewportWidget; + rct_window* w; + rct_widget *viewportWidget; - // Check if window is already open - w = window_bring_to_front_by_number(WC_BANNER, number); - if (w != NULL) - return; + // Check if window is already open + w = window_bring_to_front_by_number(WC_BANNER, number); + if (w != NULL) + return; - w = window_create_auto_pos(WW, WH, &window_sign_small_events, WC_BANNER, 0); - w->widgets = window_sign_widgets; - w->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_SIGN_TEXT) | - (1 << WIDX_SIGN_DEMOLISH) | - (1 << WIDX_MAIN_COLOUR) | - (1 << WIDX_TEXT_COLOUR); + w = window_create_auto_pos(WW, WH, &window_sign_small_events, WC_BANNER, 0); + w->widgets = window_sign_widgets; + w->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_SIGN_TEXT) | + (1 << WIDX_SIGN_DEMOLISH) | + (1 << WIDX_MAIN_COLOUR) | + (1 << WIDX_TEXT_COLOUR); - w->number = number; - window_init_scroll_widgets(w); - w->colours[0] = COLOUR_DARK_BROWN; - w->colours[1] = COLOUR_DARK_BROWN; - w->colours[2] = COLOUR_DARK_BROWN; + w->number = number; + window_init_scroll_widgets(w); + w->colours[0] = COLOUR_DARK_BROWN; + w->colours[1] = COLOUR_DARK_BROWN; + w->colours[2] = COLOUR_DARK_BROWN; - sint32 view_x = gBanners[w->number].x << 5; - sint32 view_y = gBanners[w->number].y << 5; + sint32 view_x = gBanners[w->number].x << 5; + sint32 view_y = gBanners[w->number].y << 5; - rct_map_element* map_element = map_get_first_element_at(view_x / 32, view_y / 32); + rct_map_element* map_element = map_get_first_element_at(view_x / 32, view_y / 32); - while (1){ - if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_WALL) { - rct_scenery_entry* scenery_entry = get_wall_entry(map_element->properties.wall.type); - if (scenery_entry->wall.scrolling_mode != 0xFF){ - if (map_element->properties.wall.banner_index == w->number) - break; - } - } - map_element++; - } + while (1){ + if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_WALL) { + rct_scenery_entry* scenery_entry = get_wall_entry(map_element->properties.wall.type); + if (scenery_entry->wall.scrolling_mode != 0xFF){ + if (map_element->properties.wall.banner_index == w->number) + break; + } + } + map_element++; + } - sint32 view_z = map_element->base_height << 3; - w->frame_no = view_z; + sint32 view_z = map_element->base_height << 3; + w->frame_no = view_z; - w->list_information_type = map_element->properties.wall.colour_1 & 0x1F; - w->var_492 = wall_element_get_secondary_colour(map_element); - w->var_48C = map_element->properties.wall.type; + w->list_information_type = map_element->properties.wall.colour_1 & 0x1F; + w->var_492 = wall_element_get_secondary_colour(map_element); + w->var_48C = map_element->properties.wall.type; - view_x += 16; - view_y += 16; + view_x += 16; + view_y += 16; - // Create viewport - viewportWidget = &window_sign_widgets[WIDX_VIEWPORT]; - viewport_create( - w, - w->x + viewportWidget->left + 1, - w->y + viewportWidget->top + 1, - (viewportWidget->right - viewportWidget->left) - 1, - (viewportWidget->bottom - viewportWidget->top) - 1, - 0, - view_x, - view_y, - view_z, - 0, - -1 - ); + // Create viewport + viewportWidget = &window_sign_widgets[WIDX_VIEWPORT]; + viewport_create( + w, + w->x + viewportWidget->left + 1, + w->y + viewportWidget->top + 1, + (viewportWidget->right - viewportWidget->left) - 1, + (viewportWidget->bottom - viewportWidget->top) - 1, + 0, + view_x, + view_y, + view_z, + 0, + -1 + ); - w->viewport->flags = gConfigGeneral.always_show_gridlines ? VIEWPORT_FLAG_GRIDLINES : 0; - w->flags |= WF_NO_SCROLLING; - window_invalidate(w); + w->viewport->flags = gConfigGeneral.always_show_gridlines ? VIEWPORT_FLAG_GRIDLINES : 0; + w->flags |= WF_NO_SCROLLING; + window_invalidate(w); } /** @@ -478,52 +478,52 @@ void window_sign_small_open(rct_windownumber number){ */ static void window_sign_small_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - rct_banner* banner = &gBanners[w->number]; - sint32 x = banner->x << 5; - sint32 y = banner->y << 5; + rct_banner* banner = &gBanners[w->number]; + sint32 x = banner->x << 5; + sint32 y = banner->y << 5; - rct_string_id string_id; + rct_string_id string_id; - rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); + rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_SIGN_DEMOLISH: - while (1){ - if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_WALL) { - rct_scenery_entry* scenery_entry = get_wall_entry(map_element->properties.wall.type); - if (scenery_entry->wall.scrolling_mode != 0xFF){ - if (map_element->properties.wall.banner_index == w->number) - break; - } - } - map_element++; - } - gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; - game_do_command( - x, - 1 | ((map_element->type & 0x3) << 8), - y, - (map_element->base_height << 8) | (map_element->type & 0x3), - GAME_COMMAND_REMOVE_WALL, - 0, - 0); - break; - case WIDX_SIGN_TEXT: - if (banner->flags & BANNER_FLAG_LINKED_TO_RIDE){ - rct_ride* ride = get_ride(banner->colour); - set_format_arg(16, uint32, ride->name_arguments); - string_id = ride->name; - } - else - { - string_id = gBanners[w->number].string_idx; - } - window_text_input_open(w, WIDX_SIGN_TEXT, STR_SIGN_TEXT_TITLE, STR_SIGN_TEXT_PROMPT, string_id, 0, 32); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_SIGN_DEMOLISH: + while (1){ + if (map_element_get_type(map_element) == MAP_ELEMENT_TYPE_WALL) { + rct_scenery_entry* scenery_entry = get_wall_entry(map_element->properties.wall.type); + if (scenery_entry->wall.scrolling_mode != 0xFF){ + if (map_element->properties.wall.banner_index == w->number) + break; + } + } + map_element++; + } + gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; + game_do_command( + x, + 1 | ((map_element->type & 0x3) << 8), + y, + (map_element->base_height << 8) | (map_element->type & 0x3), + GAME_COMMAND_REMOVE_WALL, + 0, + 0); + break; + case WIDX_SIGN_TEXT: + if (banner->flags & BANNER_FLAG_LINKED_TO_RIDE){ + rct_ride* ride = get_ride(banner->colour); + set_format_arg(16, uint32, ride->name_arguments); + string_id = ride->name; + } + else + { + string_id = gBanners[w->number].string_idx; + } + window_text_input_open(w, WIDX_SIGN_TEXT, STR_SIGN_TEXT_TITLE, STR_SIGN_TEXT_PROMPT, string_id, 0, 32); + break; + } } /** @@ -532,22 +532,22 @@ static void window_sign_small_mouseup(rct_window *w, rct_widgetindex widgetIndex */ static void window_sign_small_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - switch (widgetIndex){ - case WIDX_MAIN_COLOUR: - if (dropdownIndex == -1) return; - w->list_information_type = dropdownIndex; - game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, dropdownIndex, GAME_COMMAND_SET_SIGN_STYLE, w->var_492, 0); - break; - case WIDX_TEXT_COLOUR: - if (dropdownIndex == -1) return; - w->var_492 = dropdownIndex; - game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, w->list_information_type, GAME_COMMAND_SET_SIGN_STYLE, dropdownIndex, 0); - break; - default: - return; - } + switch (widgetIndex){ + case WIDX_MAIN_COLOUR: + if (dropdownIndex == -1) return; + w->list_information_type = dropdownIndex; + game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, dropdownIndex, GAME_COMMAND_SET_SIGN_STYLE, w->var_492, 0); + break; + case WIDX_TEXT_COLOUR: + if (dropdownIndex == -1) return; + w->var_492 = dropdownIndex; + game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, w->list_information_type, GAME_COMMAND_SET_SIGN_STYLE, dropdownIndex, 0); + break; + default: + return; + } - window_invalidate(w); + window_invalidate(w); } /** @@ -556,21 +556,21 @@ static void window_sign_small_dropdown(rct_window *w, rct_widgetindex widgetInde */ static void window_sign_small_invalidate(rct_window *w) { - rct_widget* main_colour_btn = &window_sign_widgets[WIDX_MAIN_COLOUR]; - rct_widget* text_colour_btn = &window_sign_widgets[WIDX_TEXT_COLOUR]; + rct_widget* main_colour_btn = &window_sign_widgets[WIDX_MAIN_COLOUR]; + rct_widget* text_colour_btn = &window_sign_widgets[WIDX_TEXT_COLOUR]; - rct_scenery_entry* scenery_entry = get_wall_entry(w->var_48C); + rct_scenery_entry* scenery_entry = get_wall_entry(w->var_48C); - main_colour_btn->type = WWT_EMPTY; - text_colour_btn->type = WWT_EMPTY; + main_colour_btn->type = WWT_EMPTY; + text_colour_btn->type = WWT_EMPTY; - if (scenery_entry->wall.flags & WALL_SCENERY_HAS_PRIMARY_COLOUR) { - main_colour_btn->type = WWT_COLOURBTN; - } - if (scenery_entry->wall.flags & WALL_SCENERY_HAS_SECONDARY_COLOUR) { - text_colour_btn->type = WWT_COLOURBTN; - } + if (scenery_entry->wall.flags & WALL_SCENERY_HAS_PRIMARY_COLOUR) { + main_colour_btn->type = WWT_COLOURBTN; + } + if (scenery_entry->wall.flags & WALL_SCENERY_HAS_SECONDARY_COLOUR) { + text_colour_btn->type = WWT_COLOURBTN; + } - main_colour_btn->image = (w->list_information_type << 19) | 0x60000000 | SPR_PALETTE_BTN; - text_colour_btn->image = (w->var_492 << 19) | 0x60000000 | SPR_PALETTE_BTN; + main_colour_btn->image = (w->list_information_type << 19) | 0x60000000 | SPR_PALETTE_BTN; + text_colour_btn->image = (w->var_492 << 19) | 0x60000000 | SPR_PALETTE_BTN; } diff --git a/src/openrct2/windows/staff.c b/src/openrct2/windows/staff.c index 92202298d9..d8bb201b57 100644 --- a/src/openrct2/windows/staff.c +++ b/src/openrct2/windows/staff.c @@ -35,93 +35,93 @@ #define WH 180 enum WINDOW_STAFF_PAGE { - WINDOW_STAFF_OVERVIEW, - WINDOW_STAFF_OPTIONS, - WINDOW_STAFF_STATISTICS, + WINDOW_STAFF_OVERVIEW, + WINDOW_STAFF_OPTIONS, + WINDOW_STAFF_STATISTICS, }; enum WINDOW_STAFF_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_RESIZE, - WIDX_TAB_1, - WIDX_TAB_2, - WIDX_TAB_3, - WIDX_TAB_4, - WIDX_VIEWPORT, - WIDX_BTM_LABEL, - WIDX_PICKUP, - WIDX_PATROL, - WIDX_RENAME, - WIDX_LOCATE, - WIDX_FIRE, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_RESIZE, + WIDX_TAB_1, + WIDX_TAB_2, + WIDX_TAB_3, + WIDX_TAB_4, + WIDX_VIEWPORT, + WIDX_BTM_LABEL, + WIDX_PICKUP, + WIDX_PATROL, + WIDX_RENAME, + WIDX_LOCATE, + WIDX_FIRE, - WIDX_CHECKBOX_1 = 8, - WIDX_CHECKBOX_2, - WIDX_CHECKBOX_3, - WIDX_CHECKBOX_4, - WIDX_COSTUME_BOX, - WIDX_COSTUME_BTN, + WIDX_CHECKBOX_1 = 8, + WIDX_CHECKBOX_2, + WIDX_CHECKBOX_3, + WIDX_CHECKBOX_4, + WIDX_COSTUME_BOX, + WIDX_COSTUME_BTN, }; validate_global_widx(WC_PEEP, WIDX_PATROL); rct_widget window_staff_overview_widgets[] = { - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // Panel / Background - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, // Title - { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // Close x button - { WWT_RESIZE, 1, 0, WW - 1, 43, WH - 1, 0xFFFFFFFF, STR_NONE }, // Resize - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_OVERVIEW_TIP },// Tab 1 - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_OPTIONS_TIP}, // Tab 2 - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_STATS_TIP}, // Tab 3 - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_NONE}, // Tab 4 - { WWT_VIEWPORT, 1, 3, WW - 26, 47, WH - 14,0xFFFFFFFF, STR_NONE}, // Viewport - { WWT_12, 1, 3, WW - 26, WH - 13, WH - 3, 0xFFFFFFFF, STR_NONE }, // Label at bottom of viewport - { WWT_FLATBTN, 1, WW - 25, WW - 2, 45, 68, SPR_PICKUP_BTN, STR_PICKUP_TIP}, // Pickup Button - { WWT_FLATBTN, 1, WW - 25, WW - 2, 69, 92, SPR_PATROL_BTN, STR_SET_PATROL_TIP}, // Patrol Button - { WWT_FLATBTN, 1, WW - 25, WW - 2, 93, 116, SPR_RENAME, STR_NAME_STAFF_TIP}, // Rename Button - { WWT_FLATBTN, 1, WW - 25, WW - 2, 117, 140, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP},// Locate Button - { WWT_FLATBTN, 1, WW - 25, WW - 2, 141, 164, SPR_DEMOLISH, STR_FIRE_STAFF_TIP}, // Fire Button - { WIDGETS_END }, + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // Panel / Background + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, // Title + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // Close x button + { WWT_RESIZE, 1, 0, WW - 1, 43, WH - 1, 0xFFFFFFFF, STR_NONE }, // Resize + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_OVERVIEW_TIP },// Tab 1 + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_OPTIONS_TIP}, // Tab 2 + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_STATS_TIP}, // Tab 3 + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_NONE}, // Tab 4 + { WWT_VIEWPORT, 1, 3, WW - 26, 47, WH - 14,0xFFFFFFFF, STR_NONE}, // Viewport + { WWT_12, 1, 3, WW - 26, WH - 13, WH - 3, 0xFFFFFFFF, STR_NONE }, // Label at bottom of viewport + { WWT_FLATBTN, 1, WW - 25, WW - 2, 45, 68, SPR_PICKUP_BTN, STR_PICKUP_TIP}, // Pickup Button + { WWT_FLATBTN, 1, WW - 25, WW - 2, 69, 92, SPR_PATROL_BTN, STR_SET_PATROL_TIP}, // Patrol Button + { WWT_FLATBTN, 1, WW - 25, WW - 2, 93, 116, SPR_RENAME, STR_NAME_STAFF_TIP}, // Rename Button + { WWT_FLATBTN, 1, WW - 25, WW - 2, 117, 140, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP},// Locate Button + { WWT_FLATBTN, 1, WW - 25, WW - 2, 141, 164, SPR_DEMOLISH, STR_FIRE_STAFF_TIP}, // Fire Button + { WIDGETS_END }, }; //0x9AF910 rct_widget window_staff_options_widgets[] = { - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // Panel / Background - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, // Title - { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // Close x button - { WWT_RESIZE, 1, 0, WW - 1, 43, WH - 1, 0xFFFFFFFF, STR_NONE }, // Resize - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_OVERVIEW_TIP },// Tab 1 - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_OPTIONS_TIP}, // Tab 2 - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_STATS_TIP}, // Tab 3 - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_NONE}, // Tab 4 - { WWT_CHECKBOX, 1, 5, WW - 6, 50, 61, 0xFFFFFFFF, STR_NONE}, // Checkbox 1 - { WWT_CHECKBOX, 1, 5, WW - 6, 67, 78, 0xFFFFFFFF, STR_NONE }, // Checkbox 2 - { WWT_CHECKBOX, 1, 5, WW - 6, 84, 95, 0xFFFFFFFF, STR_NONE}, // Checkbox 3 - { WWT_CHECKBOX, 1, 5, WW - 6, 101, 112, 0xFFFFFFFF, STR_NONE}, // Checkbox 4 - { WWT_DROPDOWN, 1, 5, WW - 6, 50, 61, 0xFFFFFFFF, STR_NONE}, // Costume Dropdown - { WWT_DROPDOWN_BUTTON, 1, WW - 17, WW - 7, 51, 60, STR_DROPDOWN_GLYPH, STR_SELECT_COSTUME_TIP},// Costume Dropdown Button - { WIDGETS_END }, + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // Panel / Background + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, // Title + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // Close x button + { WWT_RESIZE, 1, 0, WW - 1, 43, WH - 1, 0xFFFFFFFF, STR_NONE }, // Resize + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_OVERVIEW_TIP },// Tab 1 + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_OPTIONS_TIP}, // Tab 2 + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_STATS_TIP}, // Tab 3 + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_NONE}, // Tab 4 + { WWT_CHECKBOX, 1, 5, WW - 6, 50, 61, 0xFFFFFFFF, STR_NONE}, // Checkbox 1 + { WWT_CHECKBOX, 1, 5, WW - 6, 67, 78, 0xFFFFFFFF, STR_NONE }, // Checkbox 2 + { WWT_CHECKBOX, 1, 5, WW - 6, 84, 95, 0xFFFFFFFF, STR_NONE}, // Checkbox 3 + { WWT_CHECKBOX, 1, 5, WW - 6, 101, 112, 0xFFFFFFFF, STR_NONE}, // Checkbox 4 + { WWT_DROPDOWN, 1, 5, WW - 6, 50, 61, 0xFFFFFFFF, STR_NONE}, // Costume Dropdown + { WWT_DROPDOWN_BUTTON, 1, WW - 17, WW - 7, 51, 60, STR_DROPDOWN_GLYPH, STR_SELECT_COSTUME_TIP},// Costume Dropdown Button + { WIDGETS_END }, }; //0x9AF9F4 rct_widget window_staff_stats_widgets[] = { - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // Panel / Background - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, // Title - { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // Close x button - { WWT_RESIZE, 1, 0, WW - 1, 43, WH - 1, 0xFFFFFFFF, STR_NONE }, // Resize - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_OVERVIEW_TIP },// Tab 1 - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_OPTIONS_TIP}, // Tab 2 - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_STATS_TIP}, // Tab 3 - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_NONE}, // Tab 4 - { WIDGETS_END }, + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // Panel / Background + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, // Title + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // Close x button + { WWT_RESIZE, 1, 0, WW - 1, 43, WH - 1, 0xFFFFFFFF, STR_NONE }, // Resize + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_OVERVIEW_TIP },// Tab 1 + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_OPTIONS_TIP}, // Tab 2 + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_STATS_TIP}, // Tab 3 + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_NONE}, // Tab 4 + { WIDGETS_END }, }; rct_widget *window_staff_page_widgets[] = { - window_staff_overview_widgets, - window_staff_options_widgets, - window_staff_stats_widgets + window_staff_overview_widgets, + window_staff_options_widgets, + window_staff_stats_widgets }; void window_staff_set_page(rct_window* w, sint32 page); @@ -163,131 +163,131 @@ void window_staff_set_colours(); // 0x992AEC static rct_window_event_list window_staff_overview_events = { - window_staff_overview_close, - window_staff_overview_mouseup, - window_staff_overview_resize, - window_staff_overview_mousedown, - window_staff_overview_dropdown, - NULL, - window_staff_overview_update, - NULL, - NULL, - window_staff_overview_tool_update, - window_staff_overview_tool_down, - NULL, - NULL, - window_staff_overview_tool_abort, - NULL, - NULL, - NULL, - NULL, - NULL, - window_staff_overview_text_input, - window_staff_overview_unknown_14, - NULL, - NULL, - NULL, - NULL, - window_staff_overview_invalidate, //Invalidate - window_staff_overview_paint, //Paint - NULL + window_staff_overview_close, + window_staff_overview_mouseup, + window_staff_overview_resize, + window_staff_overview_mousedown, + window_staff_overview_dropdown, + NULL, + window_staff_overview_update, + NULL, + NULL, + window_staff_overview_tool_update, + window_staff_overview_tool_down, + NULL, + NULL, + window_staff_overview_tool_abort, + NULL, + NULL, + NULL, + NULL, + NULL, + window_staff_overview_text_input, + window_staff_overview_unknown_14, + NULL, + NULL, + NULL, + NULL, + window_staff_overview_invalidate, //Invalidate + window_staff_overview_paint, //Paint + NULL }; // 0x992B5C static rct_window_event_list window_staff_options_events = { - NULL, - window_staff_options_mouseup, - window_staff_stats_resize, - window_staff_options_mousedown, - window_staff_options_dropdown, - window_staff_unknown_05, - window_staff_options_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_staff_options_invalidate, //Invalidate - window_staff_options_paint, //Paint - NULL + NULL, + window_staff_options_mouseup, + window_staff_stats_resize, + window_staff_options_mousedown, + window_staff_options_dropdown, + window_staff_unknown_05, + window_staff_options_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_staff_options_invalidate, //Invalidate + window_staff_options_paint, //Paint + NULL }; // 0x992BCC static rct_window_event_list window_staff_stats_events = { - NULL, - window_staff_stats_mouseup, - window_staff_stats_resize, - NULL, - NULL, - window_staff_unknown_05, - window_staff_stats_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_staff_stats_invalidate, //Invalidate - window_staff_stats_paint, //Paint - NULL + NULL, + window_staff_stats_mouseup, + window_staff_stats_resize, + NULL, + NULL, + window_staff_unknown_05, + window_staff_stats_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_staff_stats_invalidate, //Invalidate + window_staff_stats_paint, //Paint + NULL }; static rct_window_event_list *window_staff_page_events[] = { - &window_staff_overview_events, - &window_staff_options_events, - &window_staff_stats_events + &window_staff_overview_events, + &window_staff_options_events, + &window_staff_stats_events }; uint32 window_staff_page_enabled_widgets[] = { - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_PICKUP) | - (1 << WIDX_PATROL) | - (1 << WIDX_RENAME) | - (1 << WIDX_LOCATE) | - (1 << WIDX_FIRE), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_PICKUP) | + (1 << WIDX_PATROL) | + (1 << WIDX_RENAME) | + (1 << WIDX_LOCATE) | + (1 << WIDX_FIRE), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) | - (1 << WIDX_CHECKBOX_1) | - (1 << WIDX_CHECKBOX_2) | - (1 << WIDX_CHECKBOX_3) | - (1 << WIDX_CHECKBOX_4) | - (1 << WIDX_COSTUME_BTN), + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) | + (1 << WIDX_CHECKBOX_1) | + (1 << WIDX_CHECKBOX_2) | + (1 << WIDX_CHECKBOX_3) | + (1 << WIDX_CHECKBOX_4) | + (1 << WIDX_COSTUME_BTN), - (1 << WIDX_CLOSE) | - (1 << WIDX_TAB_1) | - (1 << WIDX_TAB_2) | - (1 << WIDX_TAB_3) + (1 << WIDX_CLOSE) | + (1 << WIDX_TAB_1) | + (1 << WIDX_TAB_2) | + (1 << WIDX_TAB_3) }; static uint8 _availableCostumes[ENTERTAINER_COSTUME_COUNT]; @@ -298,38 +298,38 @@ static uint8 _availableCostumes[ENTERTAINER_COSTUME_COUNT]; */ rct_window *window_staff_open(rct_peep* peep) { - rct_window* w = window_bring_to_front_by_number(WC_PEEP, peep->sprite_index); - if (w == NULL) { - w = window_create_auto_pos(WW, WH, &window_staff_overview_events, WC_PEEP, WF_10 | WF_RESIZABLE); + rct_window* w = window_bring_to_front_by_number(WC_PEEP, peep->sprite_index); + if (w == NULL) { + w = window_create_auto_pos(WW, WH, &window_staff_overview_events, WC_PEEP, WF_10 | WF_RESIZABLE); - w->number = peep->sprite_index; - w->page = 0; - w->viewport_focus_coordinates.y = 0; - w->frame_no = 0; - w->highlighted_item = 0; + w->number = peep->sprite_index; + w->page = 0; + w->viewport_focus_coordinates.y = 0; + w->frame_no = 0; + w->highlighted_item = 0; - window_staff_disable_widgets(w); + window_staff_disable_widgets(w); - w->min_width = WW; - w->min_height = WH; - w->max_width = 500; - w->max_height = 450; - } - w->page = 0; - window_invalidate(w); + w->min_width = WW; + w->min_height = WH; + w->max_width = 500; + w->max_height = 450; + } + w->page = 0; + window_invalidate(w); - w->widgets = window_staff_overview_widgets; - w->enabled_widgets = window_staff_page_enabled_widgets[0]; - w->hold_down_widgets = 0; - w->event_handlers = window_staff_page_events[0]; - w->pressed_widgets = 0; - window_staff_disable_widgets(w); - window_init_scroll_widgets(w); - window_staff_viewport_init(w); - if (get_sprite(w->number)->peep.state == PEEP_STATE_PICKED) - window_event_mouse_up_call(w, WIDX_CHECKBOX_3); + w->widgets = window_staff_overview_widgets; + w->enabled_widgets = window_staff_page_enabled_widgets[0]; + w->hold_down_widgets = 0; + w->event_handlers = window_staff_page_events[0]; + w->pressed_widgets = 0; + window_staff_disable_widgets(w); + window_init_scroll_widgets(w); + window_staff_viewport_init(w); + if (get_sprite(w->number)->peep.state == PEEP_STATE_PICKED) + window_event_mouse_up_call(w, WIDX_CHECKBOX_3); - return w; + return w; } /** @@ -338,26 +338,26 @@ rct_window *window_staff_open(rct_peep* peep) */ void window_staff_disable_widgets(rct_window* w) { - rct_peep* peep = &get_sprite(w->number)->peep; - uint64 disabled_widgets = (1 << WIDX_TAB_4); + rct_peep* peep = &get_sprite(w->number)->peep; + uint64 disabled_widgets = (1 << WIDX_TAB_4); - if (peep->staff_type == STAFF_TYPE_SECURITY){ - disabled_widgets |= (1 << WIDX_TAB_2); - } + if (peep->staff_type == STAFF_TYPE_SECURITY){ + disabled_widgets |= (1 << WIDX_TAB_2); + } - if (w->page == WINDOW_STAFF_OVERVIEW){ - if (peep_can_be_picked_up(peep)){ - if (w->disabled_widgets & (1 << WIDX_PICKUP)) - window_invalidate(w); - } - else{ - disabled_widgets |= (1 << WIDX_PICKUP); - if (!(w->disabled_widgets & (1 << WIDX_PICKUP))) - window_invalidate(w); - } - } + if (w->page == WINDOW_STAFF_OVERVIEW){ + if (peep_can_be_picked_up(peep)){ + if (w->disabled_widgets & (1 << WIDX_PICKUP)) + window_invalidate(w); + } + else{ + disabled_widgets |= (1 << WIDX_PICKUP); + if (!(w->disabled_widgets & (1 << WIDX_PICKUP))) + window_invalidate(w); + } + } - w->disabled_widgets = disabled_widgets; + w->disabled_widgets = disabled_widgets; } /** @@ -366,11 +366,11 @@ void window_staff_disable_widgets(rct_window* w) */ void window_staff_overview_close(rct_window *w) { - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) { - if (w->classification == gCurrentToolWidget.window_classification && - w->number == gCurrentToolWidget.window_number) - tool_cancel(); - } + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) { + if (w->classification == gCurrentToolWidget.window_classification && + w->number == gCurrentToolWidget.window_number) + tool_cancel(); + } } /** @@ -379,65 +379,65 @@ void window_staff_overview_close(rct_window *w) */ void window_staff_set_page(rct_window* w, sint32 page) { - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) - { - if(w->number == gCurrentToolWidget.window_number && - w->classification == gCurrentToolWidget.window_classification) - tool_cancel(); + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) + { + if(w->number == gCurrentToolWidget.window_number && + w->classification == gCurrentToolWidget.window_classification) + tool_cancel(); - } + } - sint32 listen = 0; - if (page == WINDOW_STAFF_OVERVIEW && w->page == WINDOW_STAFF_OVERVIEW && w->viewport){ - if (!(w->viewport->flags & VIEWPORT_FLAG_SOUND_ON)) - listen = 1; - } + sint32 listen = 0; + if (page == WINDOW_STAFF_OVERVIEW && w->page == WINDOW_STAFF_OVERVIEW && w->viewport){ + if (!(w->viewport->flags & VIEWPORT_FLAG_SOUND_ON)) + listen = 1; + } - w->page = page; - w->frame_no = 0; + w->page = page; + w->frame_no = 0; - rct_viewport* viewport = w->viewport; - w->viewport = 0; - if (viewport){ - viewport->width = 0; - } + rct_viewport* viewport = w->viewport; + w->viewport = 0; + if (viewport){ + viewport->width = 0; + } - w->enabled_widgets = window_staff_page_enabled_widgets[page]; - w->hold_down_widgets = 0; - w->event_handlers = window_staff_page_events[page]; - w->pressed_widgets = 0; - w->widgets = window_staff_page_widgets[page]; + w->enabled_widgets = window_staff_page_enabled_widgets[page]; + w->hold_down_widgets = 0; + w->event_handlers = window_staff_page_events[page]; + w->pressed_widgets = 0; + w->widgets = window_staff_page_widgets[page]; - window_staff_disable_widgets(w); - window_invalidate(w); + window_staff_disable_widgets(w); + window_invalidate(w); - window_event_resize_call(w); - window_event_invalidate_call(w); + window_event_resize_call(w); + window_event_invalidate_call(w); - window_init_scroll_widgets(w); - window_invalidate(w); + window_init_scroll_widgets(w); + window_invalidate(w); - if (listen && w->viewport) w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; + if (listen && w->viewport) w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; } void game_command_callback_pickup_staff(sint32 eax, sint32 ebx, sint32 ecx, sint32 edx, sint32 esi, sint32 edi, sint32 ebp) { - switch(ecx){ - case 0:{ - sint32 peepnum = eax; - rct_window* w = window_find_by_number(WC_PEEP, peepnum); - if (w) { - tool_set(w, WIDX_PICKUP, TOOL_PICKER); - } - }break; - case 2: - if (ebx == 0) { - tool_cancel(); - gPickupPeepImage = UINT32_MAX; - } - break; - } + switch(ecx){ + case 0:{ + sint32 peepnum = eax; + rct_window* w = window_find_by_number(WC_PEEP, peepnum); + if (w) { + tool_set(w, WIDX_PICKUP, TOOL_PICKER); + } + }break; + case 2: + if (ebx == 0) { + tool_cancel(); + gPickupPeepImage = UINT32_MAX; + } + break; + } } /** @@ -446,38 +446,38 @@ void game_command_callback_pickup_staff(sint32 eax, sint32 ebx, sint32 ecx, sint */ void window_staff_overview_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - window_staff_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_LOCATE: - window_scroll_to_viewport(w); - break; - case WIDX_PICKUP: - { - // this is called in callback when hiring staff, setting nestlevel to 0 so that command is sent separately - sint32 oldNestLevel = gGameCommandNestLevel; - gGameCommandNestLevel = 0; - game_command_callback = game_command_callback_pickup_staff; - w->picked_peep_old_x = peep->x; - game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_PICKUP_STAFF, 0, 0); - gGameCommandNestLevel = oldNestLevel; - } - break; - case WIDX_FIRE: - window_staff_fire_prompt_open(peep); - break; - case WIDX_RENAME: - window_text_input_open(w, widgetIndex, STR_STAFF_TITLE_STAFF_MEMBER_NAME, STR_STAFF_PROMPT_ENTER_NAME, peep->name_string_idx, peep->id, 32); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + window_staff_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_LOCATE: + window_scroll_to_viewport(w); + break; + case WIDX_PICKUP: + { + // this is called in callback when hiring staff, setting nestlevel to 0 so that command is sent separately + sint32 oldNestLevel = gGameCommandNestLevel; + gGameCommandNestLevel = 0; + game_command_callback = game_command_callback_pickup_staff; + w->picked_peep_old_x = peep->x; + game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_PICKUP_STAFF, 0, 0); + gGameCommandNestLevel = oldNestLevel; + } + break; + case WIDX_FIRE: + window_staff_fire_prompt_open(peep); + break; + case WIDX_RENAME: + window_text_input_open(w, widgetIndex, STR_STAFF_TITLE_STAFF_MEMBER_NAME, STR_STAFF_PROMPT_ENTER_NAME, peep->name_string_idx, peep->id, 32); + break; + } } /** @@ -486,49 +486,49 @@ void window_staff_overview_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ void window_staff_overview_resize(rct_window *w) { - window_staff_disable_widgets(w); + window_staff_disable_widgets(w); - w->min_width = WW; - w->max_width = 500; - w->min_height = WH; - w->max_height = 450; + w->min_width = WW; + w->max_width = 500; + w->min_height = WH; + w->max_height = 450; - if (w->width < w->min_width) { - w->width = w->min_width; - window_invalidate(w); - } + if (w->width < w->min_width) { + w->width = w->min_width; + window_invalidate(w); + } - if (w->width > w->max_width) { - window_invalidate(w); - w->width = w->max_width; - } + if (w->width > w->max_width) { + window_invalidate(w); + w->width = w->max_width; + } - if (w->height < w->min_height) { - w->height = w->min_height; - window_invalidate(w); - } + if (w->height < w->min_height) { + w->height = w->min_height; + window_invalidate(w); + } - if (w->height > w->max_height) { - window_invalidate(w); - w->height = w->max_height; - } + if (w->height > w->max_height) { + window_invalidate(w); + w->height = w->max_height; + } - rct_viewport* viewport = w->viewport; + rct_viewport* viewport = w->viewport; - if (viewport) { - sint32 new_width = w->width - 30; - sint32 new_height = w->height - 62; + if (viewport) { + sint32 new_width = w->width - 30; + sint32 new_height = w->height - 62; - // Update the viewport size - if (viewport->width != new_width || viewport->height != new_height) { - viewport->width = new_width; - viewport->height = new_height; - viewport->view_width = new_width << viewport->zoom; - viewport->view_height = new_height << viewport->zoom; - } - } + // Update the viewport size + if (viewport->width != new_width || viewport->height != new_height) { + viewport->width = new_width; + viewport->height = new_height; + viewport->view_width = new_width << viewport->zoom; + viewport->view_height = new_height << viewport->zoom; + } + } - window_staff_viewport_init(w); + window_staff_viewport_init(w); } /** @@ -537,26 +537,26 @@ void window_staff_overview_resize(rct_window *w) */ void window_staff_overview_mousedown(rct_widgetindex widgetIndex, rct_window* w, rct_widget* widget) { - if (widgetIndex != WIDX_PATROL) { - return; - } + if (widgetIndex != WIDX_PATROL) { + return; + } - // Dropdown names - gDropdownItemsFormat[0] = STR_SET_PATROL_AREA; - gDropdownItemsFormat[1] = STR_CLEAR_PATROL_AREA; + // Dropdown names + gDropdownItemsFormat[0] = STR_SET_PATROL_AREA; + gDropdownItemsFormat[1] = STR_CLEAR_PATROL_AREA; - sint32 x = widget->left + w->x; - sint32 y = widget->top + w->y; - sint32 extray = widget->bottom - widget->top + 1; - window_dropdown_show_text(x, y, extray, w->colours[1], 0, 2); - gDropdownDefaultIndex = 0; + sint32 x = widget->left + w->x; + sint32 y = widget->top + w->y; + sint32 extray = widget->bottom - widget->top + 1; + window_dropdown_show_text(x, y, extray, w->colours[1], 0, 2); + gDropdownDefaultIndex = 0; - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - // Disable clear patrol area if no area is set. - if (!(gStaffModes[peep->staff_id] & 2)) { - gDropdownItemsDisabled |= (1ULL << 1); - } + // Disable clear patrol area if no area is set. + if (!(gStaffModes[peep->staff_id] & 2)) { + gDropdownItemsDisabled |= (1ULL << 1); + } } /** @@ -565,29 +565,29 @@ void window_staff_overview_mousedown(rct_widgetindex widgetIndex, rct_window* w, */ void window_staff_overview_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex != WIDX_PATROL) { - return; - } + if (widgetIndex != WIDX_PATROL) { + return; + } - // Clear patrol - if (dropdownIndex == 1) { - rct_peep* peep = GET_PEEP(w->number); - uint32 *addr = (uint32*)((uintptr_t)gStaffPatrolAreas + (peep->staff_id * 512)); - for (sint32 i = 0; i < 128; i++) { - addr[i] = 0; - } - gStaffModes[peep->staff_id] &= ~2; + // Clear patrol + if (dropdownIndex == 1) { + rct_peep* peep = GET_PEEP(w->number); + uint32 *addr = (uint32*)((uintptr_t)gStaffPatrolAreas + (peep->staff_id * 512)); + for (sint32 i = 0; i < 128; i++) { + addr[i] = 0; + } + gStaffModes[peep->staff_id] &= ~2; - gfx_invalidate_screen(); - staff_update_greyed_patrol_areas(); - } - else { - if (!tool_set(w, widgetIndex, TOOL_WALK_DOWN)) { - show_gridlines(); - gStaffDrawPatrolAreas = w->number; - gfx_invalidate_screen(); - } - } + gfx_invalidate_screen(); + staff_update_greyed_patrol_areas(); + } + else { + if (!tool_set(w, widgetIndex, TOOL_WALK_DOWN)) { + show_gridlines(); + gStaffDrawPatrolAreas = w->number; + gfx_invalidate_screen(); + } + } } /** @@ -596,13 +596,13 @@ void window_staff_overview_dropdown(rct_window *w, rct_widgetindex widgetIndex, */ void window_staff_overview_update(rct_window* w) { - sint32 var_496 = w->var_496; - var_496++; - if (var_496 >= 24) { - var_496 = 0; - } - w->var_496 = var_496; - widget_invalidate(w, WIDX_TAB_1); + sint32 var_496 = w->var_496; + var_496++; + if (var_496 >= 24) { + var_496 = 0; + } + w->var_496 = var_496; + widget_invalidate(w, WIDX_TAB_1); } /** @@ -611,12 +611,12 @@ void window_staff_overview_update(rct_window* w) */ static void window_staff_set_order(rct_window* w, sint32 order_id) { - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - sint32 ax = peep->staff_orders ^ (1 << order_id); - sint32 flags = (ax << 8) | 1; + sint32 ax = peep->staff_orders ^ (1 << order_id); + sint32 flags = (ax << 8) | 1; - game_do_command(peep->x, flags, peep->y, w->number, GAME_COMMAND_SET_STAFF_ORDER, 0, 0); + game_do_command(peep->x, flags, peep->y, w->number, GAME_COMMAND_SET_STAFF_ORDER, 0, 0); } /** @@ -625,22 +625,22 @@ static void window_staff_set_order(rct_window* w, sint32 order_id) */ void window_staff_options_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - window_staff_set_page(w, widgetIndex - WIDX_TAB_1); - break; - case WIDX_CHECKBOX_1: - case WIDX_CHECKBOX_2: - case WIDX_CHECKBOX_3: - case WIDX_CHECKBOX_4: - window_staff_set_order(w, widgetIndex - WIDX_CHECKBOX_1); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + window_staff_set_page(w, widgetIndex - WIDX_TAB_1); + break; + case WIDX_CHECKBOX_1: + case WIDX_CHECKBOX_2: + case WIDX_CHECKBOX_3: + case WIDX_CHECKBOX_4: + window_staff_set_order(w, widgetIndex - WIDX_CHECKBOX_1); + break; + } } /** @@ -649,8 +649,8 @@ void window_staff_options_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ void window_staff_options_update(rct_window* w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB_2); + w->frame_no++; + widget_invalidate(w, WIDX_TAB_2); } /** @@ -659,16 +659,16 @@ void window_staff_options_update(rct_window* w) */ void window_staff_stats_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_TAB_1: - case WIDX_TAB_2: - case WIDX_TAB_3: - window_staff_set_page(w, widgetIndex - WIDX_TAB_1); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_TAB_1: + case WIDX_TAB_2: + case WIDX_TAB_3: + window_staff_set_page(w, widgetIndex - WIDX_TAB_1); + break; + } } /** @@ -677,30 +677,30 @@ void window_staff_stats_mouseup(rct_window *w, rct_widgetindex widgetIndex) */ void window_staff_stats_resize(rct_window *w) { - w->min_width = 190; - w->max_width = 190; - w->min_height = 119; - w->max_height = 119; + w->min_width = 190; + w->max_width = 190; + w->min_height = 119; + w->max_height = 119; - if (w->width < w->min_width) { - w->width = w->min_width; - window_invalidate(w); - } + if (w->width < w->min_width) { + w->width = w->min_width; + window_invalidate(w); + } - if (w->width > w->max_width) { - window_invalidate(w); - w->width = w->max_width; - } + if (w->width > w->max_width) { + window_invalidate(w); + w->width = w->max_width; + } - if (w->height < w->min_height) { - w->height = w->min_height; - window_invalidate(w); - } + if (w->height < w->min_height) { + w->height = w->min_height; + window_invalidate(w); + } - if (w->height > w->max_height) { - window_invalidate(w); - w->height = w->max_height; - } + if (w->height > w->max_height) { + window_invalidate(w); + w->height = w->max_height; + } } /** @@ -709,14 +709,14 @@ void window_staff_stats_resize(rct_window *w) */ void window_staff_stats_update(rct_window* w) { - w->frame_no++; - widget_invalidate(w, WIDX_TAB_3); + w->frame_no++; + widget_invalidate(w, WIDX_TAB_3); - rct_peep* peep = GET_PEEP(w->number); - if (peep->window_invalidate_flags & PEEP_INVALIDATE_STAFF_STATS) { - peep->window_invalidate_flags &= ~PEEP_INVALIDATE_STAFF_STATS; - window_invalidate(w); - } + rct_peep* peep = GET_PEEP(w->number); + if (peep->window_invalidate_flags & PEEP_INVALIDATE_STAFF_STATS) { + peep->window_invalidate_flags &= ~PEEP_INVALIDATE_STAFF_STATS; + window_invalidate(w); + } } /** @@ -725,7 +725,7 @@ void window_staff_stats_update(rct_window* w) */ void window_staff_unknown_05(rct_window *w) { - widget_invalidate(w, WIDX_TAB_1); + widget_invalidate(w, WIDX_TAB_1); } /** @@ -734,32 +734,32 @@ void window_staff_unknown_05(rct_window *w) */ void window_staff_stats_invalidate(rct_window *w) { - colour_scheme_update_by_class(w, (rct_windowclass)WC_STAFF); + colour_scheme_update_by_class(w, (rct_windowclass)WC_STAFF); - if (window_staff_page_widgets[w->page] != w->widgets){ - w->widgets = window_staff_page_widgets[w->page]; - window_init_scroll_widgets(w); - } + if (window_staff_page_widgets[w->page] != w->widgets){ + w->widgets = window_staff_page_widgets[w->page]; + window_init_scroll_widgets(w); + } - w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); + w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); - window_staff_stats_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_staff_stats_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_staff_stats_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_staff_stats_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_staff_stats_widgets[WIDX_RESIZE].right = w->width - 1; - window_staff_stats_widgets[WIDX_RESIZE].bottom = w->height - 1; + window_staff_stats_widgets[WIDX_RESIZE].right = w->width - 1; + window_staff_stats_widgets[WIDX_RESIZE].bottom = w->height - 1; - window_staff_stats_widgets[WIDX_TITLE].right = w->width - 2; + window_staff_stats_widgets[WIDX_TITLE].right = w->width - 2; - window_staff_stats_widgets[WIDX_CLOSE].left = w->width - 13; - window_staff_stats_widgets[WIDX_CLOSE].right = w->width - 3; + window_staff_stats_widgets[WIDX_CLOSE].left = w->width - 13; + window_staff_stats_widgets[WIDX_CLOSE].right = w->width - 3; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_3); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_3); } @@ -769,73 +769,73 @@ void window_staff_stats_invalidate(rct_window *w) */ void window_staff_options_invalidate(rct_window *w) { - colour_scheme_update_by_class(w, (rct_windowclass)WC_STAFF); + colour_scheme_update_by_class(w, (rct_windowclass)WC_STAFF); - if (window_staff_page_widgets[w->page] != w->widgets){ - w->widgets = window_staff_page_widgets[w->page]; - window_init_scroll_widgets(w); - } + if (window_staff_page_widgets[w->page] != w->widgets){ + w->widgets = window_staff_page_widgets[w->page]; + window_init_scroll_widgets(w); + } - w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); + w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); - switch (peep->staff_type){ - case STAFF_TYPE_ENTERTAINER: - window_staff_options_widgets[WIDX_CHECKBOX_1].type = WWT_EMPTY; - window_staff_options_widgets[WIDX_CHECKBOX_2].type = WWT_EMPTY; - window_staff_options_widgets[WIDX_CHECKBOX_3].type = WWT_EMPTY; - window_staff_options_widgets[WIDX_CHECKBOX_4].type = WWT_EMPTY; - window_staff_options_widgets[WIDX_COSTUME_BOX].type = WWT_DROPDOWN; - window_staff_options_widgets[WIDX_COSTUME_BTN].type = WWT_DROPDOWN_BUTTON; - window_staff_options_widgets[WIDX_COSTUME_BOX].text = StaffCostumeNames[peep->sprite_type - 4]; - break; - case STAFF_TYPE_HANDYMAN: - window_staff_options_widgets[WIDX_CHECKBOX_1].type = WWT_CHECKBOX; - window_staff_options_widgets[WIDX_CHECKBOX_1].text = STR_STAFF_OPTION_SWEEP_FOOTPATHS; - window_staff_options_widgets[WIDX_CHECKBOX_2].type = WWT_CHECKBOX; - window_staff_options_widgets[WIDX_CHECKBOX_2].text = STR_STAFF_OPTION_WATER_GARDENS; - window_staff_options_widgets[WIDX_CHECKBOX_3].type = WWT_CHECKBOX; - window_staff_options_widgets[WIDX_CHECKBOX_3].text = STR_STAFF_OPTION_EMPTY_LITTER; - window_staff_options_widgets[WIDX_CHECKBOX_4].type = WWT_CHECKBOX; - window_staff_options_widgets[WIDX_CHECKBOX_4].text = STR_STAFF_OPTION_MOW_GRASS; - window_staff_options_widgets[WIDX_COSTUME_BOX].type = WWT_EMPTY; - window_staff_options_widgets[WIDX_COSTUME_BTN].type = WWT_EMPTY; - w->pressed_widgets &= ~((1 << WIDX_CHECKBOX_1) | (1 << WIDX_CHECKBOX_2) | (1 << WIDX_CHECKBOX_3) | (1 << WIDX_CHECKBOX_4)); - w->pressed_widgets |= peep->staff_orders << WIDX_CHECKBOX_1; - break; - case STAFF_TYPE_MECHANIC: - window_staff_options_widgets[WIDX_CHECKBOX_1].type = WWT_CHECKBOX; - window_staff_options_widgets[WIDX_CHECKBOX_1].text = STR_INSPECT_RIDES; - window_staff_options_widgets[WIDX_CHECKBOX_2].type = WWT_CHECKBOX; - window_staff_options_widgets[WIDX_CHECKBOX_2].text = STR_FIX_RIDES; - window_staff_options_widgets[WIDX_CHECKBOX_3].type = WWT_EMPTY; - window_staff_options_widgets[WIDX_CHECKBOX_4].type = WWT_EMPTY; - window_staff_options_widgets[WIDX_COSTUME_BOX].type = WWT_EMPTY; - window_staff_options_widgets[WIDX_COSTUME_BTN].type = WWT_EMPTY; - w->pressed_widgets &= ~((1 << WIDX_CHECKBOX_1) | (1 << WIDX_CHECKBOX_2)); - w->pressed_widgets |= peep->staff_orders << WIDX_CHECKBOX_1; - break; - case STAFF_TYPE_SECURITY: - // Security guards don't have an options screen. - break; - } + switch (peep->staff_type){ + case STAFF_TYPE_ENTERTAINER: + window_staff_options_widgets[WIDX_CHECKBOX_1].type = WWT_EMPTY; + window_staff_options_widgets[WIDX_CHECKBOX_2].type = WWT_EMPTY; + window_staff_options_widgets[WIDX_CHECKBOX_3].type = WWT_EMPTY; + window_staff_options_widgets[WIDX_CHECKBOX_4].type = WWT_EMPTY; + window_staff_options_widgets[WIDX_COSTUME_BOX].type = WWT_DROPDOWN; + window_staff_options_widgets[WIDX_COSTUME_BTN].type = WWT_DROPDOWN_BUTTON; + window_staff_options_widgets[WIDX_COSTUME_BOX].text = StaffCostumeNames[peep->sprite_type - 4]; + break; + case STAFF_TYPE_HANDYMAN: + window_staff_options_widgets[WIDX_CHECKBOX_1].type = WWT_CHECKBOX; + window_staff_options_widgets[WIDX_CHECKBOX_1].text = STR_STAFF_OPTION_SWEEP_FOOTPATHS; + window_staff_options_widgets[WIDX_CHECKBOX_2].type = WWT_CHECKBOX; + window_staff_options_widgets[WIDX_CHECKBOX_2].text = STR_STAFF_OPTION_WATER_GARDENS; + window_staff_options_widgets[WIDX_CHECKBOX_3].type = WWT_CHECKBOX; + window_staff_options_widgets[WIDX_CHECKBOX_3].text = STR_STAFF_OPTION_EMPTY_LITTER; + window_staff_options_widgets[WIDX_CHECKBOX_4].type = WWT_CHECKBOX; + window_staff_options_widgets[WIDX_CHECKBOX_4].text = STR_STAFF_OPTION_MOW_GRASS; + window_staff_options_widgets[WIDX_COSTUME_BOX].type = WWT_EMPTY; + window_staff_options_widgets[WIDX_COSTUME_BTN].type = WWT_EMPTY; + w->pressed_widgets &= ~((1 << WIDX_CHECKBOX_1) | (1 << WIDX_CHECKBOX_2) | (1 << WIDX_CHECKBOX_3) | (1 << WIDX_CHECKBOX_4)); + w->pressed_widgets |= peep->staff_orders << WIDX_CHECKBOX_1; + break; + case STAFF_TYPE_MECHANIC: + window_staff_options_widgets[WIDX_CHECKBOX_1].type = WWT_CHECKBOX; + window_staff_options_widgets[WIDX_CHECKBOX_1].text = STR_INSPECT_RIDES; + window_staff_options_widgets[WIDX_CHECKBOX_2].type = WWT_CHECKBOX; + window_staff_options_widgets[WIDX_CHECKBOX_2].text = STR_FIX_RIDES; + window_staff_options_widgets[WIDX_CHECKBOX_3].type = WWT_EMPTY; + window_staff_options_widgets[WIDX_CHECKBOX_4].type = WWT_EMPTY; + window_staff_options_widgets[WIDX_COSTUME_BOX].type = WWT_EMPTY; + window_staff_options_widgets[WIDX_COSTUME_BTN].type = WWT_EMPTY; + w->pressed_widgets &= ~((1 << WIDX_CHECKBOX_1) | (1 << WIDX_CHECKBOX_2)); + w->pressed_widgets |= peep->staff_orders << WIDX_CHECKBOX_1; + break; + case STAFF_TYPE_SECURITY: + // Security guards don't have an options screen. + break; + } - window_staff_options_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_staff_options_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_staff_options_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_staff_options_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_staff_options_widgets[WIDX_RESIZE].right = w->width - 1; - window_staff_options_widgets[WIDX_RESIZE].bottom = w->height - 1; + window_staff_options_widgets[WIDX_RESIZE].right = w->width - 1; + window_staff_options_widgets[WIDX_RESIZE].bottom = w->height - 1; - window_staff_options_widgets[WIDX_TITLE].right = w->width - 2; + window_staff_options_widgets[WIDX_TITLE].right = w->width - 2; - window_staff_options_widgets[WIDX_CLOSE].left = w->width - 13; - window_staff_options_widgets[WIDX_CLOSE].right = w->width - 3; + window_staff_options_widgets[WIDX_CLOSE].left = w->width - 13; + window_staff_options_widgets[WIDX_CLOSE].right = w->width - 3; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_3); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_3); } /** @@ -844,54 +844,54 @@ void window_staff_options_invalidate(rct_window *w) */ void window_staff_overview_invalidate(rct_window *w) { - colour_scheme_update_by_class(w, (rct_windowclass)WC_STAFF); + colour_scheme_update_by_class(w, (rct_windowclass)WC_STAFF); - if (window_staff_page_widgets[w->page] != w->widgets){ - w->widgets = window_staff_page_widgets[w->page]; - window_init_scroll_widgets(w); - } + if (window_staff_page_widgets[w->page] != w->widgets){ + w->widgets = window_staff_page_widgets[w->page]; + window_init_scroll_widgets(w); + } - w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); + w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); - window_staff_overview_widgets[WIDX_BACKGROUND].right = w->width - 1; - window_staff_overview_widgets[WIDX_BACKGROUND].bottom = w->height - 1; + window_staff_overview_widgets[WIDX_BACKGROUND].right = w->width - 1; + window_staff_overview_widgets[WIDX_BACKGROUND].bottom = w->height - 1; - window_staff_overview_widgets[WIDX_RESIZE].right = w->width - 1; - window_staff_overview_widgets[WIDX_RESIZE].bottom = w->height - 1; + window_staff_overview_widgets[WIDX_RESIZE].right = w->width - 1; + window_staff_overview_widgets[WIDX_RESIZE].bottom = w->height - 1; - window_staff_overview_widgets[WIDX_TITLE].right = w->width - 2; + window_staff_overview_widgets[WIDX_TITLE].right = w->width - 2; - window_staff_overview_widgets[WIDX_VIEWPORT].right = w->width - 26; - window_staff_overview_widgets[WIDX_VIEWPORT].bottom = w->height - 14; + window_staff_overview_widgets[WIDX_VIEWPORT].right = w->width - 26; + window_staff_overview_widgets[WIDX_VIEWPORT].bottom = w->height - 14; - window_staff_overview_widgets[WIDX_BTM_LABEL].right = w->width - 26; - window_staff_overview_widgets[WIDX_BTM_LABEL].top = w->height - 13; - window_staff_overview_widgets[WIDX_BTM_LABEL].bottom = w->height - 3; + window_staff_overview_widgets[WIDX_BTM_LABEL].right = w->width - 26; + window_staff_overview_widgets[WIDX_BTM_LABEL].top = w->height - 13; + window_staff_overview_widgets[WIDX_BTM_LABEL].bottom = w->height - 3; - window_staff_overview_widgets[WIDX_CLOSE].left = w->width - 13; - window_staff_overview_widgets[WIDX_CLOSE].right = w->width - 3; + window_staff_overview_widgets[WIDX_CLOSE].left = w->width - 13; + window_staff_overview_widgets[WIDX_CLOSE].right = w->width - 3; - window_staff_overview_widgets[WIDX_PICKUP].left = w->width - 25; - window_staff_overview_widgets[WIDX_PICKUP].right = w->width - 2; + window_staff_overview_widgets[WIDX_PICKUP].left = w->width - 25; + window_staff_overview_widgets[WIDX_PICKUP].right = w->width - 2; - window_staff_overview_widgets[WIDX_PATROL].left = w->width - 25; - window_staff_overview_widgets[WIDX_PATROL].right = w->width - 2; + window_staff_overview_widgets[WIDX_PATROL].left = w->width - 25; + window_staff_overview_widgets[WIDX_PATROL].right = w->width - 2; - window_staff_overview_widgets[WIDX_RENAME].left = w->width - 25; - window_staff_overview_widgets[WIDX_RENAME].right = w->width - 2; + window_staff_overview_widgets[WIDX_RENAME].left = w->width - 25; + window_staff_overview_widgets[WIDX_RENAME].right = w->width - 2; - window_staff_overview_widgets[WIDX_LOCATE].left = w->width - 25; - window_staff_overview_widgets[WIDX_LOCATE].right = w->width - 2; + window_staff_overview_widgets[WIDX_LOCATE].left = w->width - 25; + window_staff_overview_widgets[WIDX_LOCATE].right = w->width - 2; - window_staff_overview_widgets[WIDX_FIRE].left = w->width - 25; - window_staff_overview_widgets[WIDX_FIRE].right = w->width - 2; + window_staff_overview_widgets[WIDX_FIRE].left = w->width - 25; + window_staff_overview_widgets[WIDX_FIRE].right = w->width - 2; - window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_3); + window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_3); } /** @@ -900,32 +900,32 @@ void window_staff_overview_invalidate(rct_window *w) */ void window_staff_overview_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_staff_overview_tab_paint(w, dpi); - window_staff_options_tab_paint(w, dpi); - window_staff_stats_tab_paint(w, dpi); + window_draw_widgets(w, dpi); + window_staff_overview_tab_paint(w, dpi); + window_staff_options_tab_paint(w, dpi); + window_staff_stats_tab_paint(w, dpi); - // Draw the viewport no sound sprite - if (w->viewport){ - window_draw_viewport(dpi, w); - rct_viewport* viewport = w->viewport; - if (viewport->flags & VIEWPORT_FLAG_SOUND_ON){ - gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->x + 2, w->y + 2, 0); - } - } + // Draw the viewport no sound sprite + if (w->viewport){ + window_draw_viewport(dpi, w); + rct_viewport* viewport = w->viewport; + if (viewport->flags & VIEWPORT_FLAG_SOUND_ON){ + gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->x + 2, w->y + 2, 0); + } + } - // Draw the centered label - uint32 argument1, argument2; - rct_peep* peep = GET_PEEP(w->number); - get_arguments_from_action(peep, &argument1, &argument2); - set_format_arg(0, uint32, argument1); - set_format_arg(4, uint32, argument2); - rct_widget* widget = &w->widgets[WIDX_BTM_LABEL]; - sint32 x = (widget->left + widget->right) / 2 + w->x; - sint32 y = w->y + widget->top; - sint32 width = widget->right - widget->left; - gfx_draw_string_centred_clipped(dpi, STR_BLACK_STRING, gCommonFormatArgs, COLOUR_BLACK, x, y, width); + // Draw the centered label + uint32 argument1, argument2; + rct_peep* peep = GET_PEEP(w->number); + get_arguments_from_action(peep, &argument1, &argument2); + set_format_arg(0, uint32, argument1); + set_format_arg(4, uint32, argument2); + rct_widget* widget = &w->widgets[WIDX_BTM_LABEL]; + sint32 x = (widget->left + widget->right) / 2 + w->x; + sint32 y = w->y + widget->top; + sint32 width = widget->right - widget->left; + gfx_draw_string_centred_clipped(dpi, STR_BLACK_STRING, gCommonFormatArgs, COLOUR_BLACK, x, y, width); } /** @@ -934,19 +934,19 @@ void window_staff_overview_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_staff_options_tab_paint(rct_window* w, rct_drawpixelinfo* dpi) { - if (w->disabled_widgets & (1 << WIDX_TAB_2)) return; + if (w->disabled_widgets & (1 << WIDX_TAB_2)) return; - rct_widget* widget = &w->widgets[WIDX_TAB_2]; - sint32 x = widget->left + w->x; - sint32 y = widget->top + w->y; + rct_widget* widget = &w->widgets[WIDX_TAB_2]; + sint32 x = widget->left + w->x; + sint32 y = widget->top + w->y; - sint32 image_id = SPR_TAB_STAFF_OPTIONS_0; + sint32 image_id = SPR_TAB_STAFF_OPTIONS_0; - if (w->page == WINDOW_STAFF_OPTIONS){ - image_id += (w->frame_no / 2) % 7; - } + if (w->page == WINDOW_STAFF_OPTIONS){ + image_id += (w->frame_no / 2) % 7; + } - gfx_draw_sprite(dpi, image_id, x, y, 0); + gfx_draw_sprite(dpi, image_id, x, y, 0); } /** @@ -955,19 +955,19 @@ void window_staff_options_tab_paint(rct_window* w, rct_drawpixelinfo* dpi) */ void window_staff_stats_tab_paint(rct_window* w, rct_drawpixelinfo* dpi) { - if (w->disabled_widgets & (1 << WIDX_TAB_3)) return; + if (w->disabled_widgets & (1 << WIDX_TAB_3)) return; - rct_widget* widget = &w->widgets[WIDX_TAB_3]; - sint32 x = widget->left + w->x; - sint32 y = widget->top + w->y; + rct_widget* widget = &w->widgets[WIDX_TAB_3]; + sint32 x = widget->left + w->x; + sint32 y = widget->top + w->y; - sint32 image_id = SPR_TAB_STATS_0; + sint32 image_id = SPR_TAB_STATS_0; - if (w->page == WINDOW_STAFF_STATISTICS){ - image_id += (w->frame_no / 4) % 7; - } + if (w->page == WINDOW_STAFF_STATISTICS){ + image_id += (w->frame_no / 4) % 7; + } - gfx_draw_sprite(dpi, image_id, x, y, 0); + gfx_draw_sprite(dpi, image_id, x, y, 0); } /** @@ -975,62 +975,62 @@ void window_staff_stats_tab_paint(rct_window* w, rct_drawpixelinfo* dpi) */ void window_staff_overview_tab_paint(rct_window* w, rct_drawpixelinfo* dpi) { - if (w->disabled_widgets & (1 << WIDX_TAB_1)) - return; + if (w->disabled_widgets & (1 << WIDX_TAB_1)) + return; - rct_widget* widget = &w->widgets[WIDX_TAB_1]; - sint32 width = widget->right - widget->left - 1; - sint32 height = widget->bottom - widget->top - 1; - sint32 x = widget->left + 1 + w->x; - sint32 y = widget->top + 1 + w->y; - if (w->page == WINDOW_STAFF_OVERVIEW) height++; + rct_widget* widget = &w->widgets[WIDX_TAB_1]; + sint32 width = widget->right - widget->left - 1; + sint32 height = widget->bottom - widget->top - 1; + sint32 x = widget->left + 1 + w->x; + sint32 y = widget->top + 1 + w->y; + if (w->page == WINDOW_STAFF_OVERVIEW) height++; - rct_drawpixelinfo clip_dpi; - if (!clip_drawpixelinfo(&clip_dpi, dpi, x, y, width, height)) { - return; - } + rct_drawpixelinfo clip_dpi; + if (!clip_drawpixelinfo(&clip_dpi, dpi, x, y, width, height)) { + return; + } - x = 14; - y = 20; + x = 14; + y = 20; - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - if (peep->type == PEEP_TYPE_STAFF && peep->staff_type == STAFF_TYPE_ENTERTAINER) - y++; + if (peep->type == PEEP_TYPE_STAFF && peep->staff_type == STAFF_TYPE_ENTERTAINER) + y++; - sint32 ebx = g_peep_animation_entries[peep->sprite_type].sprite_animation->base_image + 1; + sint32 ebx = g_peep_animation_entries[peep->sprite_type].sprite_animation->base_image + 1; - sint32 eax = 0; + sint32 eax = 0; - if (w->page == WINDOW_STAFF_OVERVIEW){ - eax = w->highlighted_item >> 16; - eax &= 0xFFFC; - } - ebx += eax; + if (w->page == WINDOW_STAFF_OVERVIEW){ + eax = w->highlighted_item >> 16; + eax &= 0xFFFC; + } + ebx += eax; - sint32 sprite_id = ebx | (peep->tshirt_colour << 19) | (peep->trousers_colour << 24) | 0xA0000000; - gfx_draw_sprite(&clip_dpi, sprite_id, x, y, 0); + sint32 sprite_id = ebx | (peep->tshirt_colour << 19) | (peep->trousers_colour << 24) | 0xA0000000; + gfx_draw_sprite(&clip_dpi, sprite_id, x, y, 0); - // If holding a balloon - if (ebx >= 0x2A1D && ebx < 0x2A3D){ - ebx += 32; - ebx |= (peep->balloon_colour << 19) | 0x20000000; - gfx_draw_sprite(&clip_dpi, ebx, x, y, 0); - } + // If holding a balloon + if (ebx >= 0x2A1D && ebx < 0x2A3D){ + ebx += 32; + ebx |= (peep->balloon_colour << 19) | 0x20000000; + gfx_draw_sprite(&clip_dpi, ebx, x, y, 0); + } - // If holding umbrella - if (ebx >= 0x2BBD && ebx < 0x2BDD){ - ebx += 32; - ebx |= (peep->umbrella_colour << 19) | 0x20000000; - gfx_draw_sprite(&clip_dpi, ebx, x, y, 0); - } + // If holding umbrella + if (ebx >= 0x2BBD && ebx < 0x2BDD){ + ebx += 32; + ebx |= (peep->umbrella_colour << 19) | 0x20000000; + gfx_draw_sprite(&clip_dpi, ebx, x, y, 0); + } - // If wearing hat - if (ebx >= 0x29DD && ebx < 0x29FD){ - ebx += 32; - ebx |= (peep->hat_colour << 19) | 0x20000000; - gfx_draw_sprite(&clip_dpi, ebx, x, y, 0); - } + // If wearing hat + if (ebx >= 0x29DD && ebx < 0x29FD){ + ebx += 32; + ebx |= (peep->hat_colour << 19) | 0x20000000; + gfx_draw_sprite(&clip_dpi, ebx, x, y, 0); + } } /** @@ -1039,10 +1039,10 @@ void window_staff_overview_tab_paint(rct_window* w, rct_drawpixelinfo* dpi) */ void window_staff_options_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_staff_overview_tab_paint(w, dpi); - window_staff_options_tab_paint(w, dpi); - window_staff_stats_tab_paint(w, dpi); + window_draw_widgets(w, dpi); + window_staff_overview_tab_paint(w, dpi); + window_staff_options_tab_paint(w, dpi); + window_staff_stats_tab_paint(w, dpi); } /** @@ -1051,41 +1051,41 @@ void window_staff_options_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_staff_stats_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); - window_staff_overview_tab_paint(w, dpi); - window_staff_options_tab_paint(w, dpi); - window_staff_stats_tab_paint(w, dpi); + window_draw_widgets(w, dpi); + window_staff_overview_tab_paint(w, dpi); + window_staff_options_tab_paint(w, dpi); + window_staff_stats_tab_paint(w, dpi); - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - sint32 x = w->x + window_staff_stats_widgets[WIDX_RESIZE].left + 4; - sint32 y = w->y + window_staff_stats_widgets[WIDX_RESIZE].top + 4; + sint32 x = w->x + window_staff_stats_widgets[WIDX_RESIZE].left + 4; + sint32 y = w->y + window_staff_stats_widgets[WIDX_RESIZE].top + 4; - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { - set_format_arg(0, money32, wage_table[peep->staff_type]); - gfx_draw_string_left(dpi, STR_STAFF_STAT_WAGES, gCommonFormatArgs, COLOUR_BLACK, x, y); - y += 10; - } + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { + set_format_arg(0, money32, wage_table[peep->staff_type]); + gfx_draw_string_left(dpi, STR_STAFF_STAT_WAGES, gCommonFormatArgs, COLOUR_BLACK, x, y); + y += 10; + } - gfx_draw_string_left(dpi, STR_STAFF_STAT_EMPLOYED_FOR, (void*)&peep->time_in_park, COLOUR_BLACK, x, y); - y += 10; + gfx_draw_string_left(dpi, STR_STAFF_STAT_EMPLOYED_FOR, (void*)&peep->time_in_park, COLOUR_BLACK, x, y); + y += 10; - switch (peep->staff_type){ - case STAFF_TYPE_HANDYMAN: - gfx_draw_string_left(dpi, STR_STAFF_STAT_LAWNS_MOWN, (void*)&peep->staff_lawns_mown, COLOUR_BLACK, x, y); - y += 10; - gfx_draw_string_left(dpi, STR_STAFF_STAT_GARDENS_WATERED, (void*)&peep->staff_gardens_watered, COLOUR_BLACK, x, y); - y += 10; - gfx_draw_string_left(dpi, STR_STAFF_STAT_LITTER_SWEPT, (void*)&peep->staff_litter_swept, COLOUR_BLACK, x, y); - y += 10; - gfx_draw_string_left(dpi, STR_STAFF_STAT_BINS_EMPTIED, (void*)&peep->staff_bins_emptied, COLOUR_BLACK, x, y); - break; - case STAFF_TYPE_MECHANIC: - gfx_draw_string_left(dpi, STR_STAFF_STAT_RIDES_INSPECTED, (void*)&peep->staff_rides_inspected, COLOUR_BLACK, x, y); - y += 10; - gfx_draw_string_left(dpi, STR_STAFF_STAT_RIDES_FIXED, (void*)&peep->staff_rides_fixed, COLOUR_BLACK, x, y); - break; - } + switch (peep->staff_type){ + case STAFF_TYPE_HANDYMAN: + gfx_draw_string_left(dpi, STR_STAFF_STAT_LAWNS_MOWN, (void*)&peep->staff_lawns_mown, COLOUR_BLACK, x, y); + y += 10; + gfx_draw_string_left(dpi, STR_STAFF_STAT_GARDENS_WATERED, (void*)&peep->staff_gardens_watered, COLOUR_BLACK, x, y); + y += 10; + gfx_draw_string_left(dpi, STR_STAFF_STAT_LITTER_SWEPT, (void*)&peep->staff_litter_swept, COLOUR_BLACK, x, y); + y += 10; + gfx_draw_string_left(dpi, STR_STAFF_STAT_BINS_EMPTIED, (void*)&peep->staff_bins_emptied, COLOUR_BLACK, x, y); + break; + case STAFF_TYPE_MECHANIC: + gfx_draw_string_left(dpi, STR_STAFF_STAT_RIDES_INSPECTED, (void*)&peep->staff_rides_inspected, COLOUR_BLACK, x, y); + y += 10; + gfx_draw_string_left(dpi, STR_STAFF_STAT_RIDES_FIXED, (void*)&peep->staff_rides_fixed, COLOUR_BLACK, x, y); + break; + } } /** @@ -1094,49 +1094,49 @@ void window_staff_stats_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_staff_overview_tool_update(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (widgetIndex != WIDX_PICKUP) - return; + if (widgetIndex != WIDX_PICKUP) + return; - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - sint32 map_x, map_y; - footpath_get_coordinates_from_pos(x, y + 16, &map_x, &map_y, NULL, NULL); - if (map_x != MAP_LOCATION_NULL) { - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - gMapSelectType = MAP_SELECT_TYPE_FULL; - gMapSelectPositionA.x = map_x; - gMapSelectPositionB.x = map_x; - gMapSelectPositionA.y = map_y; - gMapSelectPositionB.y = map_y; - map_invalidate_selection_rect(); - } + sint32 map_x, map_y; + footpath_get_coordinates_from_pos(x, y + 16, &map_x, &map_y, NULL, NULL); + if (map_x != MAP_LOCATION_NULL) { + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectType = MAP_SELECT_TYPE_FULL; + gMapSelectPositionA.x = map_x; + gMapSelectPositionB.x = map_x; + gMapSelectPositionA.y = map_y; + gMapSelectPositionB.y = map_y; + map_invalidate_selection_rect(); + } - gPickupPeepImage = UINT32_MAX; + gPickupPeepImage = UINT32_MAX; - sint32 interactionType; - get_map_coordinates_from_pos(x, y, VIEWPORT_INTERACTION_MASK_NONE, NULL, NULL, &interactionType, NULL, NULL); - if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) - return; + sint32 interactionType; + get_map_coordinates_from_pos(x, y, VIEWPORT_INTERACTION_MASK_NONE, NULL, NULL, &interactionType, NULL, NULL); + if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) + return; - x--; - y += 16; - gPickupPeepX = x; - gPickupPeepY = y; - w->picked_peep_frame++; - if (w->picked_peep_frame >= 48) { - w->picked_peep_frame = 0; - } + x--; + y += 16; + gPickupPeepX = x; + gPickupPeepY = y; + w->picked_peep_frame++; + if (w->picked_peep_frame >= 48) { + w->picked_peep_frame = 0; + } - rct_peep* peep; - peep = GET_PEEP(w->number); + rct_peep* peep; + peep = GET_PEEP(w->number); - uint32 imageId = g_peep_animation_entries[peep->sprite_type].sprite_animation[PEEP_ACTION_SPRITE_TYPE_UI].base_image; - imageId += w->picked_peep_frame >> 2; + uint32 imageId = g_peep_animation_entries[peep->sprite_type].sprite_animation[PEEP_ACTION_SPRITE_TYPE_UI].base_image; + imageId += w->picked_peep_frame >> 2; - imageId |= (peep->tshirt_colour << 19) | (peep->trousers_colour << 24) | 0xA0000000; - gPickupPeepImage = imageId; + imageId |= (peep->tshirt_colour << 19) | (peep->trousers_colour << 24) | 0xA0000000; + gPickupPeepImage = imageId; } /** @@ -1145,25 +1145,25 @@ void window_staff_overview_tool_update(rct_window* w, rct_widgetindex widgetInde */ void window_staff_overview_tool_down(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (widgetIndex == WIDX_PICKUP) { - sint32 dest_x, dest_y; - rct_map_element* mapElement; - footpath_get_coordinates_from_pos(x, y + 16, &dest_x, &dest_y, NULL, &mapElement); + if (widgetIndex == WIDX_PICKUP) { + sint32 dest_x, dest_y; + rct_map_element* mapElement; + footpath_get_coordinates_from_pos(x, y + 16, &dest_x, &dest_y, NULL, &mapElement); - if (dest_x == MAP_LOCATION_NULL) - return; + if (dest_x == MAP_LOCATION_NULL) + return; - game_command_callback = game_command_callback_pickup_staff; - game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 2, mapElement->base_height, GAME_COMMAND_PICKUP_STAFF, dest_x, dest_y); - } - else if (widgetIndex == WIDX_PATROL){ - sint32 dest_x, dest_y; - footpath_get_coordinates_from_pos(x, y, &dest_x, &dest_y, NULL, NULL); + game_command_callback = game_command_callback_pickup_staff; + game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 2, mapElement->base_height, GAME_COMMAND_PICKUP_STAFF, dest_x, dest_y); + } + else if (widgetIndex == WIDX_PATROL){ + sint32 dest_x, dest_y; + footpath_get_coordinates_from_pos(x, y, &dest_x, &dest_y, NULL, NULL); - if (dest_x == MAP_LOCATION_NULL) return; + if (dest_x == MAP_LOCATION_NULL) return; - game_do_command(dest_x, 1, dest_y, w->number, GAME_COMMAND_SET_STAFF_PATROL, 0, 0); - } + game_do_command(dest_x, 1, dest_y, w->number, GAME_COMMAND_SET_STAFF_PATROL, 0, 0); + } } /** @@ -1172,29 +1172,29 @@ void window_staff_overview_tool_down(rct_window* w, rct_widgetindex widgetIndex, */ void window_staff_overview_tool_abort(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_PICKUP) { - game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 1, 0, GAME_COMMAND_PICKUP_STAFF, w->picked_peep_old_x, 0); - } - else if (widgetIndex == WIDX_PATROL){ - hide_gridlines(); - gStaffDrawPatrolAreas = 0xFFFF; - gfx_invalidate_screen(); - } + if (widgetIndex == WIDX_PICKUP) { + game_do_command(w->number, GAME_COMMAND_FLAG_APPLY, 1, 0, GAME_COMMAND_PICKUP_STAFF, w->picked_peep_old_x, 0); + } + else if (widgetIndex == WIDX_PATROL){ + hide_gridlines(); + gStaffDrawPatrolAreas = 0xFFFF; + gfx_invalidate_screen(); + } } /* rct2: 0x6BDFED */ void window_staff_overview_text_input(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (widgetIndex != WIDX_RENAME) - return; + if (widgetIndex != WIDX_RENAME) + return; - if (text == NULL) - return; + if (text == NULL) + return; - gGameCommandErrorTitle = STR_STAFF_ERROR_CANT_NAME_STAFF_MEMBER; - game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 0)), GAME_COMMAND_SET_STAFF_NAME, *((sint32*)(text + 8)), *((sint32*)(text + 4))); - game_do_command(2, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 12)), GAME_COMMAND_SET_STAFF_NAME, *((sint32*)(text + 20)), *((sint32*)(text + 16))); - game_do_command(0, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 24)), GAME_COMMAND_SET_STAFF_NAME, *((sint32*)(text + 32)), *((sint32*)(text + 28))); + gGameCommandErrorTitle = STR_STAFF_ERROR_CANT_NAME_STAFF_MEMBER; + game_do_command(1, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 0)), GAME_COMMAND_SET_STAFF_NAME, *((sint32*)(text + 8)), *((sint32*)(text + 4))); + game_do_command(2, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 12)), GAME_COMMAND_SET_STAFF_NAME, *((sint32*)(text + 20)), *((sint32*)(text + 16))); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, w->number, *((sint32*)(text + 24)), GAME_COMMAND_SET_STAFF_NAME, *((sint32*)(text + 32)), *((sint32*)(text + 28))); } /** @@ -1203,7 +1203,7 @@ void window_staff_overview_text_input(rct_window *w, rct_widgetindex widgetIndex */ void window_staff_overview_unknown_14(rct_window *w) { - window_staff_viewport_init(w); + window_staff_viewport_init(w); } /** @@ -1211,67 +1211,67 @@ void window_staff_overview_unknown_14(rct_window *w) * rct2: 0x006BEDA3 */ void window_staff_viewport_init(rct_window* w){ - if (w->page != WINDOW_STAFF_OVERVIEW) return; + if (w->page != WINDOW_STAFF_OVERVIEW) return; - sprite_focus focus = { 0 }; + sprite_focus focus = { 0 }; - focus.sprite_id = w->number; + focus.sprite_id = w->number; - rct_peep* peep = GET_PEEP(w->number); + rct_peep* peep = GET_PEEP(w->number); - if (peep->state == PEEP_STATE_PICKED){ - focus.sprite_id = -1; - } - else{ - focus.type |= VIEWPORT_FOCUS_TYPE_SPRITE | VIEWPORT_FOCUS_TYPE_COORDINATE; - focus.rotation = get_current_rotation(); - } + if (peep->state == PEEP_STATE_PICKED){ + focus.sprite_id = -1; + } + else{ + focus.type |= VIEWPORT_FOCUS_TYPE_SPRITE | VIEWPORT_FOCUS_TYPE_COORDINATE; + focus.rotation = get_current_rotation(); + } - uint16 viewport_flags; + uint16 viewport_flags; - if (w->viewport){ - //Check all combos, for now skipping y and rot - if (focus.sprite_id == w->viewport_focus_sprite.sprite_id && - focus.type == w->viewport_focus_sprite.type && - focus.rotation == w->viewport_focus_sprite.rotation) - return; + if (w->viewport){ + //Check all combos, for now skipping y and rot + if (focus.sprite_id == w->viewport_focus_sprite.sprite_id && + focus.type == w->viewport_focus_sprite.type && + focus.rotation == w->viewport_focus_sprite.rotation) + return; - viewport_flags = w->viewport->flags; - w->viewport->width = 0; - w->viewport = 0; + viewport_flags = w->viewport->flags; + w->viewport->width = 0; + w->viewport = 0; - viewport_update_pointers(); - } - else{ - viewport_flags = 0; - if (gConfigGeneral.always_show_gridlines) - viewport_flags |= VIEWPORT_FLAG_GRIDLINES; - } + viewport_update_pointers(); + } + else{ + viewport_flags = 0; + if (gConfigGeneral.always_show_gridlines) + viewport_flags |= VIEWPORT_FLAG_GRIDLINES; + } - window_event_invalidate_call(w); + window_event_invalidate_call(w); - w->viewport_focus_sprite.sprite_id = focus.sprite_id; - w->viewport_focus_sprite.type = focus.type; - w->viewport_focus_sprite.rotation = focus.rotation; + w->viewport_focus_sprite.sprite_id = focus.sprite_id; + w->viewport_focus_sprite.type = focus.type; + w->viewport_focus_sprite.rotation = focus.rotation; - if (peep->state != PEEP_STATE_PICKED){ - if (!(w->viewport)){ - rct_widget* view_widget = &w->widgets[WIDX_VIEWPORT]; + if (peep->state != PEEP_STATE_PICKED){ + if (!(w->viewport)){ + rct_widget* view_widget = &w->widgets[WIDX_VIEWPORT]; - sint32 x = view_widget->left + 1 + w->x; - sint32 y = view_widget->top + 1 + w->y; - sint32 width = view_widget->right - view_widget->left - 1; - sint32 height = view_widget->bottom - view_widget->top - 1; + sint32 x = view_widget->left + 1 + w->x; + sint32 y = view_widget->top + 1 + w->y; + sint32 width = view_widget->right - view_widget->left - 1; + sint32 height = view_widget->bottom - view_widget->top - 1; - viewport_create(w, x, y, width, height, 0, 0, 0, 0, focus.type & VIEWPORT_FOCUS_TYPE_MASK, focus.sprite_id); - w->flags |= WF_NO_SCROLLING; - window_invalidate(w); - } - } + viewport_create(w, x, y, width, height, 0, 0, 0, 0, focus.type & VIEWPORT_FOCUS_TYPE_MASK, focus.sprite_id); + w->flags |= WF_NO_SCROLLING; + window_invalidate(w); + } + } - if (w->viewport) - w->viewport->flags = viewport_flags; - window_invalidate(w); + if (w->viewport) + w->viewport->flags = viewport_flags; + window_invalidate(w); } /** @@ -1280,36 +1280,36 @@ void window_staff_viewport_init(rct_window* w){ */ void window_staff_options_mousedown(rct_widgetindex widgetIndex, rct_window* w, rct_widget* widget) { - if (widgetIndex != WIDX_COSTUME_BTN) { - return; - } + if (widgetIndex != WIDX_COSTUME_BTN) { + return; + } - rct_peep* peep = GET_PEEP(w->number); - sint32 itemsChecked = 0; - //This will be moved below where Items Checked is when all - //of dropdown related functions are finished. This prevents - //the dropdown from not working on first click. - sint32 numCostumes = staff_get_available_entertainer_costume_list(_availableCostumes); - for (sint32 i = 0; i < numCostumes; i++) { - uint8 costume = _availableCostumes[i]; - if (costume == peep->sprite_type) { - itemsChecked = 1 << i; - } - gDropdownItemsArgs[i] = StaffCostumeNames[costume]; - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - } + rct_peep* peep = GET_PEEP(w->number); + sint32 itemsChecked = 0; + //This will be moved below where Items Checked is when all + //of dropdown related functions are finished. This prevents + //the dropdown from not working on first click. + sint32 numCostumes = staff_get_available_entertainer_costume_list(_availableCostumes); + for (sint32 i = 0; i < numCostumes; i++) { + uint8 costume = _availableCostumes[i]; + if (costume == peep->sprite_type) { + itemsChecked = 1 << i; + } + gDropdownItemsArgs[i] = StaffCostumeNames[costume]; + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + } - //Get the dropdown box widget instead of button. - widget--; + //Get the dropdown box widget instead of button. + widget--; - sint32 x = widget->left + w->x; - sint32 y = widget->top + w->y; - sint32 extray = widget->bottom - widget->top + 1; - sint32 width = widget->right - widget->left - 3; - window_dropdown_show_text_custom_width(x, y, extray, w->colours[1], 0, DROPDOWN_FLAG_STAY_OPEN, numCostumes, width); + sint32 x = widget->left + w->x; + sint32 y = widget->top + w->y; + sint32 extray = widget->bottom - widget->top + 1; + sint32 width = widget->right - widget->left - 3; + window_dropdown_show_text_custom_width(x, y, extray, w->colours[1], 0, DROPDOWN_FLAG_STAY_OPEN, numCostumes, width); - // See above note. - gDropdownItemsChecked = itemsChecked; + // See above note. + gDropdownItemsChecked = itemsChecked; } /** @@ -1318,14 +1318,14 @@ void window_staff_options_mousedown(rct_widgetindex widgetIndex, rct_window* w, */ void window_staff_options_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex != WIDX_COSTUME_BTN) { - return; - } + if (widgetIndex != WIDX_COSTUME_BTN) { + return; + } - if (dropdownIndex == -1) - return; + if (dropdownIndex == -1) + return; - rct_peep* peep = GET_PEEP(w->number); - sint32 costume = _availableCostumes[dropdownIndex] | 0x80; - game_do_command(peep->x, (costume << 8) | 1, peep->y, w->number, GAME_COMMAND_SET_STAFF_ORDER, 0, 0); + rct_peep* peep = GET_PEEP(w->number); + sint32 costume = _availableCostumes[dropdownIndex] | 0x80; + game_do_command(peep->x, (costume << 8) | 1, peep->y, w->number, GAME_COMMAND_SET_STAFF_ORDER, 0, 0); } diff --git a/src/openrct2/windows/staff_fire_prompt.c b/src/openrct2/windows/staff_fire_prompt.c index 20a26a3460..7aafa52a52 100644 --- a/src/openrct2/windows/staff_fire_prompt.c +++ b/src/openrct2/windows/staff_fire_prompt.c @@ -27,21 +27,21 @@ #define WH 100 enum WINDOW_STAFF_FIRE_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_YES, - WIDX_CANCEL + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_YES, + WIDX_CANCEL }; // 0x9AFB4C static rct_widget window_staff_fire_widgets[] = { - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_SACK_STAFF, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, WW-13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_DROPDOWN_BUTTON, 0, 10, 94, WH - 20, WH - 9, STR_YES, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 0, WW - 95, WW - 11, WH - 20, WH - 9, STR_SAVE_PROMPT_CANCEL, STR_NONE }, - { WIDGETS_END } + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_SACK_STAFF, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, WW-13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_DROPDOWN_BUTTON, 0, 10, 94, WH - 20, WH - 9, STR_YES, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 0, WW - 95, WW - 11, WH - 20, WH - 9, STR_SAVE_PROMPT_CANCEL, STR_NONE }, + { WIDGETS_END } }; static void window_staff_fire_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -49,50 +49,50 @@ static void window_staff_fire_paint(rct_window *w, rct_drawpixelinfo *dpi); //0x9A3F7C static rct_window_event_list window_staff_fire_events = { - NULL, - window_staff_fire_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_staff_fire_paint, - NULL + NULL, + window_staff_fire_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_staff_fire_paint, + NULL }; /** Based off of rct2: 0x6C0A77 */ void window_staff_fire_prompt_open(rct_peep* peep) { - // Check if the confirm window already exists. - if (window_bring_to_front_by_number(WC_FIRE_PROMPT, peep->sprite_index)) { - return; - } + // Check if the confirm window already exists. + if (window_bring_to_front_by_number(WC_FIRE_PROMPT, peep->sprite_index)) { + return; + } - rct_window* w = window_create_centred(WW, WH, &window_staff_fire_events, WC_FIRE_PROMPT, WF_TRANSPARENT); - w->widgets = window_staff_fire_widgets; - w->enabled_widgets |= (1 << WIDX_CLOSE) | (1 << WIDX_YES) | (1 << WIDX_CANCEL); + rct_window* w = window_create_centred(WW, WH, &window_staff_fire_events, WC_FIRE_PROMPT, WF_TRANSPARENT); + w->widgets = window_staff_fire_widgets; + w->enabled_widgets |= (1 << WIDX_CLOSE) | (1 << WIDX_YES) | (1 << WIDX_CANCEL); - window_init_scroll_widgets(w); + window_init_scroll_widgets(w); - w->number = peep->sprite_index; + w->number = peep->sprite_index; } @@ -102,16 +102,16 @@ void window_staff_fire_prompt_open(rct_peep* peep) */ static void window_staff_fire_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - rct_peep* peep = &get_sprite(w->number)->peep; + rct_peep* peep = &get_sprite(w->number)->peep; - switch (widgetIndex){ - case WIDX_YES: - game_do_command(peep->x, 1, peep->y, w->number, GAME_COMMAND_FIRE_STAFF_MEMBER, 0, 0); - break; - case WIDX_CANCEL: - case WIDX_CLOSE: - window_close(w); - } + switch (widgetIndex){ + case WIDX_YES: + game_do_command(peep->x, 1, peep->y, w->number, GAME_COMMAND_FIRE_STAFF_MEMBER, 0, 0); + break; + case WIDX_CANCEL: + case WIDX_CLOSE: + window_close(w); + } } /** @@ -120,15 +120,15 @@ static void window_staff_fire_mouseup(rct_window *w, rct_widgetindex widgetIndex */ static void window_staff_fire_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - rct_peep* peep = &get_sprite(w->number)->peep; + rct_peep* peep = &get_sprite(w->number)->peep; - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); - sint32 x = w->x + WW / 2; - sint32 y = w->y + (WH / 2) - 3; + sint32 x = w->x + WW / 2; + sint32 y = w->y + (WH / 2) - 3; - gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x, y, WW - 4, STR_FIRE_STAFF_ID, COLOUR_BLACK); + gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x, y, WW - 4, STR_FIRE_STAFF_ID, COLOUR_BLACK); } diff --git a/src/openrct2/windows/staff_list.c b/src/openrct2/windows/staff_list.c index be95687576..c4a52adb72 100644 --- a/src/openrct2/windows/staff_list.c +++ b/src/openrct2/windows/staff_list.c @@ -33,10 +33,10 @@ #include "error.h" enum { - WINDOW_STAFF_LIST_TAB_HANDYMEN, - WINDOW_STAFF_LIST_TAB_MECHANICS, - WINDOW_STAFF_LIST_TAB_SECURITY, - WINDOW_STAFF_LIST_TAB_ENTERTAINERS + WINDOW_STAFF_LIST_TAB_HANDYMEN, + WINDOW_STAFF_LIST_TAB_MECHANICS, + WINDOW_STAFF_LIST_TAB_SECURITY, + WINDOW_STAFF_LIST_TAB_ENTERTAINERS } WINDOW_STAFF_LIST_TAB; bool _quick_fire_mode = false; @@ -58,51 +58,51 @@ static void window_staff_list_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_staff_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_staff_list_events = { - window_staff_list_close, - window_staff_list_mouseup, - window_staff_list_resize, - window_staff_list_mousedown, - window_staff_list_dropdown, - NULL, - window_staff_list_update, - NULL, - NULL, - NULL, - window_staff_list_tooldown, - NULL, - NULL, - window_staff_list_toolabort, - NULL, - window_staff_list_scrollgetsize, - window_staff_list_scrollmousedown, - NULL, - window_staff_list_scrollmouseover, - NULL, - NULL, - NULL, - window_staff_list_tooltip, - NULL, - NULL, - window_staff_list_invalidate, - window_staff_list_paint, - window_staff_list_scrollpaint, + window_staff_list_close, + window_staff_list_mouseup, + window_staff_list_resize, + window_staff_list_mousedown, + window_staff_list_dropdown, + NULL, + window_staff_list_update, + NULL, + NULL, + NULL, + window_staff_list_tooldown, + NULL, + NULL, + window_staff_list_toolabort, + NULL, + window_staff_list_scrollgetsize, + window_staff_list_scrollmousedown, + NULL, + window_staff_list_scrollmouseover, + NULL, + NULL, + NULL, + window_staff_list_tooltip, + NULL, + NULL, + window_staff_list_invalidate, + window_staff_list_paint, + window_staff_list_scrollpaint, }; enum WINDOW_STAFF_LIST_WIDGET_IDX { - WIDX_STAFF_LIST_BACKGROUND, - WIDX_STAFF_LIST_TITLE, - WIDX_STAFF_LIST_CLOSE, - WIDX_STAFF_LIST_TAB_CONTENT_PANEL, - WIDX_STAFF_LIST_HANDYMEN_TAB, - WIDX_STAFF_LIST_MECHANICS_TAB, - WIDX_STAFF_LIST_SECURITY_TAB, - WIDX_STAFF_LIST_ENTERTAINERS_TAB, - WIDX_STAFF_LIST_LIST, - WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER, - WIDX_STAFF_LIST_HIRE_BUTTON, - WIDX_STAFF_LIST_QUICK_FIRE, - WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON, - WIDX_STAFF_LIST_MAP, + WIDX_STAFF_LIST_BACKGROUND, + WIDX_STAFF_LIST_TITLE, + WIDX_STAFF_LIST_CLOSE, + WIDX_STAFF_LIST_TAB_CONTENT_PANEL, + WIDX_STAFF_LIST_HANDYMEN_TAB, + WIDX_STAFF_LIST_MECHANICS_TAB, + WIDX_STAFF_LIST_SECURITY_TAB, + WIDX_STAFF_LIST_ENTERTAINERS_TAB, + WIDX_STAFF_LIST_LIST, + WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER, + WIDX_STAFF_LIST_HIRE_BUTTON, + WIDX_STAFF_LIST_QUICK_FIRE, + WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON, + WIDX_STAFF_LIST_MAP, }; #define WW 320 @@ -111,21 +111,21 @@ enum WINDOW_STAFF_LIST_WIDGET_IDX { #define MAX_WH 450 static rct_widget window_staff_list_widgets[] = { - { WWT_FRAME, 0, 0, 319, 0, 269, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 318, 1, 14, STR_STAFF, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 307, 317, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close button - { WWT_RESIZE, 1, 0, 319, 43, 269, 0xFFFFFFFF, STR_NONE }, // tab content panel - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_HANDYMEN_TAB_TIP }, // handymen tab - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_MECHANICS_TAB_TIP }, // mechanics tab - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_SECURITY_TAB_TIP }, // security guards tab - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_ENTERTAINERS_TAB_TIP }, // entertainers tab - { WWT_SCROLL, 1, 3, 316, 72, 266, SCROLL_BOTH, STR_NONE }, // staff list - { WWT_COLOURBTN, 1, 130, 141, 58, 69, STR_NONE, STR_UNIFORM_COLOUR_TIP }, // uniform colour picker - { WWT_DROPDOWN_BUTTON, 0, WW - 155, WW - 11, 17, 29, STR_NONE, STR_HIRE_STAFF_TIP }, // hire button - { WWT_FLATBTN, 1, WW - 77, WW - 54, 46, 69, SPR_DEMOLISH, STR_QUICK_FIRE_STAFF }, // quick fire staff - { WWT_FLATBTN, 1, WW - 53, WW - 30, 46, 69, SPR_PATROL_BTN, STR_SHOW_PATROL_AREA_TIP }, // show staff patrol area tool - { WWT_FLATBTN, 1, WW - 29, WW - 6, 46, 69, SPR_MAP, STR_SHOW_STAFF_ON_MAP_TIP }, // show staff on map button - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 319, 0, 269, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 318, 1, 14, STR_STAFF, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 307, 317, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close button + { WWT_RESIZE, 1, 0, 319, 43, 269, 0xFFFFFFFF, STR_NONE }, // tab content panel + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_HANDYMEN_TAB_TIP }, // handymen tab + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_MECHANICS_TAB_TIP }, // mechanics tab + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_SECURITY_TAB_TIP }, // security guards tab + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_STAFF_ENTERTAINERS_TAB_TIP }, // entertainers tab + { WWT_SCROLL, 1, 3, 316, 72, 266, SCROLL_BOTH, STR_NONE }, // staff list + { WWT_COLOURBTN, 1, 130, 141, 58, 69, STR_NONE, STR_UNIFORM_COLOUR_TIP }, // uniform colour picker + { WWT_DROPDOWN_BUTTON, 0, WW - 155, WW - 11, 17, 29, STR_NONE, STR_HIRE_STAFF_TIP }, // hire button + { WWT_FLATBTN, 1, WW - 77, WW - 54, 46, 69, SPR_DEMOLISH, STR_QUICK_FIRE_STAFF }, // quick fire staff + { WWT_FLATBTN, 1, WW - 53, WW - 30, 46, 69, SPR_PATROL_BTN, STR_SHOW_PATROL_AREA_TIP }, // show staff patrol area tool + { WWT_FLATBTN, 1, WW - 29, WW - 6, 46, 69, SPR_MAP, STR_SHOW_STAFF_ON_MAP_TIP }, // show staff on map button + { WIDGETS_END }, }; static uint16 _window_staff_list_selected_type_count = 0; @@ -136,16 +136,16 @@ static uint8 window_staff_list_get_random_entertainer_costume(); typedef struct staff_naming_convention { - rct_string_id plural; - rct_string_id singular; - rct_string_id action_hire; + rct_string_id plural; + rct_string_id singular; + rct_string_id action_hire; } staff_naming_convention; static const staff_naming_convention StaffNamingConvention[] = { - { STR_HANDYMAN_PLURAL, STR_HANDYMAN_SINGULAR, STR_HIRE_HANDYMAN }, - { STR_MECHANIC_PLURAL, STR_MECHANIC_SINGULAR, STR_HIRE_MECHANIC }, - { STR_SECURITY_GUARD_PLURAL, STR_SECURITY_GUARD_SINGULAR, STR_HIRE_SECURITY_GUARD }, - { STR_ENTERTAINER_PLURAL, STR_ENTERTAINER_SINGULAR, STR_HIRE_ENTERTAINER }, + { STR_HANDYMAN_PLURAL, STR_HANDYMAN_SINGULAR, STR_HIRE_HANDYMAN }, + { STR_MECHANIC_PLURAL, STR_MECHANIC_SINGULAR, STR_HIRE_MECHANIC }, + { STR_SECURITY_GUARD_PLURAL, STR_SECURITY_GUARD_SINGULAR, STR_HIRE_SECURITY_GUARD }, + { STR_ENTERTAINER_PLURAL, STR_ENTERTAINER_SINGULAR, STR_HIRE_ENTERTAINER }, }; /* @@ -153,7 +153,7 @@ static const staff_naming_convention StaffNamingConvention[] = { **/ void window_staff_list_init_vars() { - _windowStaffListSelectedTab = WINDOW_STAFF_LIST_TAB_HANDYMEN; + _windowStaffListSelectedTab = WINDOW_STAFF_LIST_TAB_HANDYMEN; } /* @@ -161,43 +161,43 @@ void window_staff_list_init_vars() **/ void window_staff_list_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_STAFF_LIST); - if (window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_STAFF_LIST); + if (window != NULL) + return; - window = window_create_auto_pos(WW, WH, &window_staff_list_events, WC_STAFF_LIST, WF_10 | WF_RESIZABLE); - window->widgets = window_staff_list_widgets; - window->enabled_widgets = - (1 << WIDX_STAFF_LIST_CLOSE) | - (1 << WIDX_STAFF_LIST_HANDYMEN_TAB) | - (1 << WIDX_STAFF_LIST_MECHANICS_TAB) | - (1 << WIDX_STAFF_LIST_SECURITY_TAB) | - (1 << WIDX_STAFF_LIST_ENTERTAINERS_TAB) | - (1 << WIDX_STAFF_LIST_HIRE_BUTTON) | - (1 << WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER) | - (1 << WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON) | - (1 << WIDX_STAFF_LIST_MAP) | - (1 << WIDX_STAFF_LIST_QUICK_FIRE); + window = window_create_auto_pos(WW, WH, &window_staff_list_events, WC_STAFF_LIST, WF_10 | WF_RESIZABLE); + window->widgets = window_staff_list_widgets; + window->enabled_widgets = + (1 << WIDX_STAFF_LIST_CLOSE) | + (1 << WIDX_STAFF_LIST_HANDYMEN_TAB) | + (1 << WIDX_STAFF_LIST_MECHANICS_TAB) | + (1 << WIDX_STAFF_LIST_SECURITY_TAB) | + (1 << WIDX_STAFF_LIST_ENTERTAINERS_TAB) | + (1 << WIDX_STAFF_LIST_HIRE_BUTTON) | + (1 << WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER) | + (1 << WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON) | + (1 << WIDX_STAFF_LIST_MAP) | + (1 << WIDX_STAFF_LIST_QUICK_FIRE); - window_init_scroll_widgets(window); - _windowStaffListHighlightedIndex = -1; - window->list_information_type = 0; + window_init_scroll_widgets(window); + _windowStaffListHighlightedIndex = -1; + window->list_information_type = 0; - window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].type = WWT_EMPTY; - window->min_width = WW; - window->min_height = WH; - window->max_width = MAX_WW; - window->max_height = MAX_WH; - _quick_fire_mode = false; + window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].type = WWT_EMPTY; + window->min_width = WW; + window->min_height = WH; + window->max_width = MAX_WW; + window->max_height = MAX_WH; + _quick_fire_mode = false; } static void window_staff_list_cancel_tools(rct_window *w) { - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) - if (w->classification == gCurrentToolWidget.window_classification && w->number == gCurrentToolWidget.window_number) - tool_cancel(); + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) + if (w->classification == gCurrentToolWidget.window_classification && w->number == gCurrentToolWidget.window_number) + tool_cancel(); } /* @@ -205,7 +205,7 @@ static void window_staff_list_cancel_tools(rct_window *w) { **/ void window_staff_list_close(rct_window *w) { - window_staff_list_cancel_tools(w); + window_staff_list_cancel_tools(w); } /** @@ -214,36 +214,36 @@ void window_staff_list_close(rct_window *w) */ static void window_staff_list_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_STAFF_LIST_CLOSE: - window_close(w); - break; - case WIDX_STAFF_LIST_HIRE_BUTTON: - { - sint32 staffType = _windowStaffListSelectedTab; - if (staffType == STAFF_TYPE_ENTERTAINER) - { - uint8 costume = window_staff_list_get_random_entertainer_costume(); - staffType += costume; - } - hire_new_staff_member(staffType); - break; - } - case WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON: - if (!tool_set(w, WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON, TOOL_CROSSHAIR)) { - show_gridlines(); - gStaffDrawPatrolAreas = _windowStaffListSelectedTab | 0x8000; - gfx_invalidate_screen(); - } - break; - case WIDX_STAFF_LIST_MAP: - window_map_open(); - break; - case WIDX_STAFF_LIST_QUICK_FIRE: - _quick_fire_mode ^= 1; - window_invalidate(w); - break; - } + switch (widgetIndex) { + case WIDX_STAFF_LIST_CLOSE: + window_close(w); + break; + case WIDX_STAFF_LIST_HIRE_BUTTON: + { + sint32 staffType = _windowStaffListSelectedTab; + if (staffType == STAFF_TYPE_ENTERTAINER) + { + uint8 costume = window_staff_list_get_random_entertainer_costume(); + staffType += costume; + } + hire_new_staff_member(staffType); + break; + } + case WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON: + if (!tool_set(w, WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON, TOOL_CROSSHAIR)) { + show_gridlines(); + gStaffDrawPatrolAreas = _windowStaffListSelectedTab | 0x8000; + gfx_invalidate_screen(); + } + break; + case WIDX_STAFF_LIST_MAP: + window_map_open(); + break; + case WIDX_STAFF_LIST_QUICK_FIRE: + _quick_fire_mode ^= 1; + window_invalidate(w); + break; + } } /** @@ -252,16 +252,16 @@ static void window_staff_list_mouseup(rct_window *w, rct_widgetindex widgetIndex */ static void window_staff_list_resize(rct_window *w) { - w->min_width = WW; - w->min_height = WH; - if (w->width < w->min_width) { - w->width = w->min_width; - window_invalidate(w); - } - if (w->height < w->min_height) { - w->height = w->min_height; - window_invalidate(w); - } + w->min_width = WW; + w->min_height = WH; + if (w->width < w->min_width) { + w->width = w->min_width; + window_invalidate(w); + } + if (w->height < w->min_height) { + w->height = w->min_height; + window_invalidate(w); + } } @@ -271,25 +271,25 @@ static void window_staff_list_resize(rct_window *w) */ static void window_staff_list_mousedown(rct_widgetindex widgetIndex, rct_window* w, rct_widget* widget) { - sint16 newSelectedTab; + sint16 newSelectedTab; - switch (widgetIndex) { - case WIDX_STAFF_LIST_HANDYMEN_TAB: - case WIDX_STAFF_LIST_MECHANICS_TAB: - case WIDX_STAFF_LIST_SECURITY_TAB: - case WIDX_STAFF_LIST_ENTERTAINERS_TAB: - newSelectedTab = widgetIndex - WIDX_STAFF_LIST_HANDYMEN_TAB;; - if (_windowStaffListSelectedTab == newSelectedTab) - break; - _windowStaffListSelectedTab = (uint8)newSelectedTab; - window_invalidate(w); - w->scrolls[0].v_top = 0; - window_staff_list_cancel_tools(w); - break; - case WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER: - window_dropdown_show_colour(w, widget, w->colours[1], staff_get_colour(_windowStaffListSelectedTab)); - break; - } + switch (widgetIndex) { + case WIDX_STAFF_LIST_HANDYMEN_TAB: + case WIDX_STAFF_LIST_MECHANICS_TAB: + case WIDX_STAFF_LIST_SECURITY_TAB: + case WIDX_STAFF_LIST_ENTERTAINERS_TAB: + newSelectedTab = widgetIndex - WIDX_STAFF_LIST_HANDYMEN_TAB;; + if (_windowStaffListSelectedTab == newSelectedTab) + break; + _windowStaffListSelectedTab = (uint8)newSelectedTab; + window_invalidate(w); + w->scrolls[0].v_top = 0; + window_staff_list_cancel_tools(w); + break; + case WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER: + window_dropdown_show_colour(w, widget, w->colours[1], staff_get_colour(_windowStaffListSelectedTab)); + break; + } } @@ -300,9 +300,9 @@ static void window_staff_list_mousedown(rct_widgetindex widgetIndex, rct_window* */ static void window_staff_list_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex == WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER && dropdownIndex != -1) { - update_staff_colour(_windowStaffListSelectedTab, dropdownIndex); - } + if (widgetIndex == WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER && dropdownIndex != -1) { + update_staff_colour(_windowStaffListSelectedTab, dropdownIndex); + } } /** @@ -311,28 +311,28 @@ static void window_staff_list_dropdown(rct_window *w, rct_widgetindex widgetInde */ void window_staff_list_update(rct_window *w) { - w->list_information_type++; - if (w->list_information_type >= 24) { - w->list_information_type = 0; - } else { - widget_invalidate(w, WIDX_STAFF_LIST_HANDYMEN_TAB + _windowStaffListSelectedTab); + w->list_information_type++; + if (w->list_information_type >= 24) { + w->list_information_type = 0; + } else { + widget_invalidate(w, WIDX_STAFF_LIST_HANDYMEN_TAB + _windowStaffListSelectedTab); - // Enable highlighting of these staff members in map window - if (window_find_by_class(WC_MAP) != NULL) { - sint32 spriteIndex; - rct_peep * peep; - gWindowMapFlashingFlags |= (1 << 2); - FOR_ALL_STAFF(spriteIndex, peep) { - // TODO When possible, do not modify the peep state as it shows up as a - // multiplayer desynchronisation - peep->flags &= ~(SPRITE_FLAGS_PEEP_FLASHING); + // Enable highlighting of these staff members in map window + if (window_find_by_class(WC_MAP) != NULL) { + sint32 spriteIndex; + rct_peep * peep; + gWindowMapFlashingFlags |= (1 << 2); + FOR_ALL_STAFF(spriteIndex, peep) { + // TODO When possible, do not modify the peep state as it shows up as a + // multiplayer desynchronisation + peep->flags &= ~(SPRITE_FLAGS_PEEP_FLASHING); - if (peep->staff_type == _windowStaffListSelectedTab) { - peep->flags |= SPRITE_FLAGS_PEEP_FLASHING; - } - } - } - } + if (peep->staff_type == _windowStaffListSelectedTab) { + peep->flags |= SPRITE_FLAGS_PEEP_FLASHING; + } + } + } + } } /** @@ -341,53 +341,53 @@ void window_staff_list_update(rct_window *w) */ static void window_staff_list_tooldown(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - if (widgetIndex == WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON) { - sint32 selectedPeepType = _windowStaffListSelectedTab; + if (widgetIndex == WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON) { + sint32 selectedPeepType = _windowStaffListSelectedTab; - sint32 direction; - rct_map_element *mapElement; - footpath_get_coordinates_from_pos(x, y, &x, &y, &direction, &mapElement); - if (x == 0x8000) - return; + sint32 direction; + rct_map_element *mapElement; + footpath_get_coordinates_from_pos(x, y, &x, &y, &direction, &mapElement); + if (x == 0x8000) + return; - bool isPatrolAreaSet = staff_is_patrol_area_set(200 + selectedPeepType, x, y); + bool isPatrolAreaSet = staff_is_patrol_area_set(200 + selectedPeepType, x, y); - uint16 spriteIndex; - rct_peep *peep, *closestPeep = NULL; - sint32 closestPeepDistance = INT_MAX; - FOR_ALL_STAFF(spriteIndex, peep) { - if (peep->staff_type != selectedPeepType) - continue; + uint16 spriteIndex; + rct_peep *peep, *closestPeep = NULL; + sint32 closestPeepDistance = INT_MAX; + FOR_ALL_STAFF(spriteIndex, peep) { + if (peep->staff_type != selectedPeepType) + continue; - if (isPatrolAreaSet) { - if (!(gStaffModes[peep->staff_id] & 2)) { - continue; - } - if (!staff_is_location_in_patrol(peep, x, y)) { - continue; - } - } + if (isPatrolAreaSet) { + if (!(gStaffModes[peep->staff_id] & 2)) { + continue; + } + if (!staff_is_location_in_patrol(peep, x, y)) { + continue; + } + } - if (peep->x == MAP_LOCATION_NULL) { - continue; - } + if (peep->x == MAP_LOCATION_NULL) { + continue; + } - sint32 distance = abs(x - peep->x) + abs(y - peep->y); - if (distance < closestPeepDistance) { - closestPeepDistance = distance; - closestPeep = peep; - } - } + sint32 distance = abs(x - peep->x) + abs(y - peep->y); + if (distance < closestPeepDistance) { + closestPeepDistance = distance; + closestPeep = peep; + } + } - if (closestPeep != NULL) { - tool_cancel(); - rct_window *staffWindow = window_staff_open(closestPeep); - window_event_dropdown_call(staffWindow, WC_PEEP__WIDX_PATROL, 0); - } else { - set_format_arg(0, rct_string_id, StaffNamingConvention[selectedPeepType].plural); - window_error_open(STR_NO_THING_IN_PARK_YET, STR_NONE); - } - } + if (closestPeep != NULL) { + tool_cancel(); + rct_window *staffWindow = window_staff_open(closestPeep); + window_event_dropdown_call(staffWindow, WC_PEEP__WIDX_PATROL, 0); + } else { + set_format_arg(0, rct_string_id, StaffNamingConvention[selectedPeepType].plural); + window_error_open(STR_NO_THING_IN_PARK_YET, STR_NONE); + } + } } /** @@ -396,12 +396,12 @@ static void window_staff_list_tooldown(rct_window *w, rct_widgetindex widgetInde */ void window_staff_list_toolabort(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON) { - hide_gridlines(); - tool_cancel(); - gStaffDrawPatrolAreas = 0xFFFF; - gfx_invalidate_screen(); - } + if (widgetIndex == WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON) { + hide_gridlines(); + tool_cancel(); + gStaffDrawPatrolAreas = 0xFFFF; + gfx_invalidate_screen(); + } } /** @@ -410,32 +410,32 @@ void window_staff_list_toolabort(rct_window *w, rct_widgetindex widgetIndex) */ void window_staff_list_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - sint32 i, spriteIndex; - rct_peep *peep; + sint32 i, spriteIndex; + rct_peep *peep; - uint16 staffCount = 0; - FOR_ALL_STAFF(spriteIndex, peep) { - if (peep->staff_type == _windowStaffListSelectedTab) - staffCount++; - } + uint16 staffCount = 0; + FOR_ALL_STAFF(spriteIndex, peep) { + if (peep->staff_type == _windowStaffListSelectedTab) + staffCount++; + } - _window_staff_list_selected_type_count = staffCount; + _window_staff_list_selected_type_count = staffCount; - if (_windowStaffListHighlightedIndex != -1) { - _windowStaffListHighlightedIndex = -1; - window_invalidate(w); - } + if (_windowStaffListHighlightedIndex != -1) { + _windowStaffListHighlightedIndex = -1; + window_invalidate(w); + } - *height = staffCount * 10; - i = *height - window_staff_list_widgets[WIDX_STAFF_LIST_LIST].bottom + window_staff_list_widgets[WIDX_STAFF_LIST_LIST].top + 21; - if (i < 0) - i = 0; - if (i < w->scrolls[0].v_top) { - w->scrolls[0].v_top = i; - window_invalidate(w); - } + *height = staffCount * 10; + i = *height - window_staff_list_widgets[WIDX_STAFF_LIST_LIST].bottom + window_staff_list_widgets[WIDX_STAFF_LIST_LIST].top + 21; + if (i < 0) + i = 0; + if (i < w->scrolls[0].v_top) { + w->scrolls[0].v_top = i; + window_invalidate(w); + } - *width = 420; + *width = 420; } /** @@ -444,24 +444,24 @@ void window_staff_list_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 * */ void window_staff_list_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 i, spriteIndex; - rct_peep *peep; + sint32 i, spriteIndex; + rct_peep *peep; - i = y / 10; - FOR_ALL_STAFF(spriteIndex, peep) { - if (peep->staff_type != _windowStaffListSelectedTab) - continue; + i = y / 10; + FOR_ALL_STAFF(spriteIndex, peep) { + if (peep->staff_type != _windowStaffListSelectedTab) + continue; - if (i == 0) { - if (_quick_fire_mode) - game_do_command(peep->x, 1, peep->y, spriteIndex, GAME_COMMAND_FIRE_STAFF_MEMBER, 0, 0); - else - window_staff_open(peep); - break; - } + if (i == 0) { + if (_quick_fire_mode) + game_do_command(peep->x, 1, peep->y, spriteIndex, GAME_COMMAND_FIRE_STAFF_MEMBER, 0, 0); + else + window_staff_open(peep); + break; + } - i--; - } + i--; + } } /** @@ -470,13 +470,13 @@ void window_staff_list_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 */ void window_staff_list_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 i; + sint32 i; - i = y / 10; - if (i != _windowStaffListHighlightedIndex) { - _windowStaffListHighlightedIndex = i; - window_invalidate(w); - } + i = y / 10; + if (i != _windowStaffListHighlightedIndex) { + _windowStaffListHighlightedIndex = i; + window_invalidate(w); + } } /** @@ -485,7 +485,7 @@ void window_staff_list_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 */ void window_staff_list_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_LIST); + set_format_arg(0, rct_string_id, STR_LIST); } /** @@ -494,46 +494,46 @@ void window_staff_list_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_s */ void window_staff_list_invalidate(rct_window *w) { - sint32 pressed_widgets = w->pressed_widgets & ~( - (1LL << WIDX_STAFF_LIST_HANDYMEN_TAB) | - (1LL << WIDX_STAFF_LIST_MECHANICS_TAB) | - (1LL << WIDX_STAFF_LIST_SECURITY_TAB) | - (1LL << WIDX_STAFF_LIST_ENTERTAINERS_TAB) - ); - uint8 tabIndex = _windowStaffListSelectedTab; - uint8 widgetIndex = tabIndex + WIDX_STAFF_LIST_HANDYMEN_TAB; + sint32 pressed_widgets = w->pressed_widgets & ~( + (1LL << WIDX_STAFF_LIST_HANDYMEN_TAB) | + (1LL << WIDX_STAFF_LIST_MECHANICS_TAB) | + (1LL << WIDX_STAFF_LIST_SECURITY_TAB) | + (1LL << WIDX_STAFF_LIST_ENTERTAINERS_TAB) + ); + uint8 tabIndex = _windowStaffListSelectedTab; + uint8 widgetIndex = tabIndex + WIDX_STAFF_LIST_HANDYMEN_TAB; - w->pressed_widgets = pressed_widgets | (1ULL << widgetIndex); - window_staff_list_widgets[WIDX_STAFF_LIST_HIRE_BUTTON].text = StaffNamingConvention[tabIndex].action_hire; - window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].type = WWT_EMPTY; + w->pressed_widgets = pressed_widgets | (1ULL << widgetIndex); + window_staff_list_widgets[WIDX_STAFF_LIST_HIRE_BUTTON].text = StaffNamingConvention[tabIndex].action_hire; + window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].type = WWT_EMPTY; - if (tabIndex < 3) { - window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].type = WWT_COLOURBTN; - window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].image = - ((uint32)staff_get_colour(tabIndex) << 19) | 0x60000000 | SPR_PALETTE_BTN; - } - if (_quick_fire_mode) - w->pressed_widgets |= (1ULL << WIDX_STAFF_LIST_QUICK_FIRE); - else - w->pressed_widgets &= ~(1ULL << WIDX_STAFF_LIST_QUICK_FIRE); + if (tabIndex < 3) { + window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].type = WWT_COLOURBTN; + window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].image = + ((uint32)staff_get_colour(tabIndex) << 19) | 0x60000000 | SPR_PALETTE_BTN; + } + if (_quick_fire_mode) + w->pressed_widgets |= (1ULL << WIDX_STAFF_LIST_QUICK_FIRE); + else + w->pressed_widgets &= ~(1ULL << WIDX_STAFF_LIST_QUICK_FIRE); - window_staff_list_widgets[WIDX_STAFF_LIST_BACKGROUND].right = w->width - 1; - window_staff_list_widgets[WIDX_STAFF_LIST_BACKGROUND].bottom = w->height - 1; - window_staff_list_widgets[WIDX_STAFF_LIST_TAB_CONTENT_PANEL].right = w->width - 1; - window_staff_list_widgets[WIDX_STAFF_LIST_TAB_CONTENT_PANEL].bottom = w->height - 1; - window_staff_list_widgets[WIDX_STAFF_LIST_TITLE].right = w->width - 2; - window_staff_list_widgets[WIDX_STAFF_LIST_CLOSE].left = w->width - 2 - 11; - window_staff_list_widgets[WIDX_STAFF_LIST_CLOSE].right = w->width - 2 - 11 + 10; - window_staff_list_widgets[WIDX_STAFF_LIST_LIST].right = w->width - 4; - window_staff_list_widgets[WIDX_STAFF_LIST_LIST].bottom = w->height - 15; - window_staff_list_widgets[WIDX_STAFF_LIST_QUICK_FIRE].left = w->width - 77; - window_staff_list_widgets[WIDX_STAFF_LIST_QUICK_FIRE].right = w->width - 54; - window_staff_list_widgets[WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON].left = w->width - 53; - window_staff_list_widgets[WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON].right = w->width - 30; - window_staff_list_widgets[WIDX_STAFF_LIST_MAP].left = w->width - 29; - window_staff_list_widgets[WIDX_STAFF_LIST_MAP].right = w->width - 6; - window_staff_list_widgets[WIDX_STAFF_LIST_HIRE_BUTTON].left = w->width - 155; - window_staff_list_widgets[WIDX_STAFF_LIST_HIRE_BUTTON].right = w->width - 11; + window_staff_list_widgets[WIDX_STAFF_LIST_BACKGROUND].right = w->width - 1; + window_staff_list_widgets[WIDX_STAFF_LIST_BACKGROUND].bottom = w->height - 1; + window_staff_list_widgets[WIDX_STAFF_LIST_TAB_CONTENT_PANEL].right = w->width - 1; + window_staff_list_widgets[WIDX_STAFF_LIST_TAB_CONTENT_PANEL].bottom = w->height - 1; + window_staff_list_widgets[WIDX_STAFF_LIST_TITLE].right = w->width - 2; + window_staff_list_widgets[WIDX_STAFF_LIST_CLOSE].left = w->width - 2 - 11; + window_staff_list_widgets[WIDX_STAFF_LIST_CLOSE].right = w->width - 2 - 11 + 10; + window_staff_list_widgets[WIDX_STAFF_LIST_LIST].right = w->width - 4; + window_staff_list_widgets[WIDX_STAFF_LIST_LIST].bottom = w->height - 15; + window_staff_list_widgets[WIDX_STAFF_LIST_QUICK_FIRE].left = w->width - 77; + window_staff_list_widgets[WIDX_STAFF_LIST_QUICK_FIRE].right = w->width - 54; + window_staff_list_widgets[WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON].left = w->width - 53; + window_staff_list_widgets[WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON].right = w->width - 30; + window_staff_list_widgets[WIDX_STAFF_LIST_MAP].left = w->width - 29; + window_staff_list_widgets[WIDX_STAFF_LIST_MAP].right = w->width - 6; + window_staff_list_widgets[WIDX_STAFF_LIST_HIRE_BUTTON].left = w->width - 155; + window_staff_list_widgets[WIDX_STAFF_LIST_HIRE_BUTTON].right = w->width - 11; } /** @@ -542,106 +542,106 @@ void window_staff_list_invalidate(rct_window *w) */ void window_staff_list_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 i; - uint8 selectedTab; + sint32 i; + uint8 selectedTab; - // Widgets - window_draw_widgets(w, dpi); + // Widgets + window_draw_widgets(w, dpi); - selectedTab = _windowStaffListSelectedTab; + selectedTab = _windowStaffListSelectedTab; - // Handymen tab image - i = (selectedTab == 0 ? (w->list_information_type & ~3) : 0); - i += g_peep_animation_entries[PEEP_SPRITE_TYPE_HANDYMAN].sprite_animation->base_image + 1; - i |= 0x20000000; - i |= gStaffHandymanColour << 19; - gfx_draw_sprite( - dpi, - i, - (window_staff_list_widgets[WIDX_STAFF_LIST_HANDYMEN_TAB].left + window_staff_list_widgets[WIDX_STAFF_LIST_HANDYMEN_TAB].right) / 2 + w->x, - window_staff_list_widgets[WIDX_STAFF_LIST_HANDYMEN_TAB].bottom - 6 + w->y, 0 - ); + // Handymen tab image + i = (selectedTab == 0 ? (w->list_information_type & ~3) : 0); + i += g_peep_animation_entries[PEEP_SPRITE_TYPE_HANDYMAN].sprite_animation->base_image + 1; + i |= 0x20000000; + i |= gStaffHandymanColour << 19; + gfx_draw_sprite( + dpi, + i, + (window_staff_list_widgets[WIDX_STAFF_LIST_HANDYMEN_TAB].left + window_staff_list_widgets[WIDX_STAFF_LIST_HANDYMEN_TAB].right) / 2 + w->x, + window_staff_list_widgets[WIDX_STAFF_LIST_HANDYMEN_TAB].bottom - 6 + w->y, 0 + ); - // Mechanic tab image - i = (selectedTab == 1 ? (w->list_information_type & ~3) : 0); - i += g_peep_animation_entries[PEEP_SPRITE_TYPE_MECHANIC].sprite_animation->base_image + 1; - i |= 0x20000000; - i |= gStaffMechanicColour << 19; - gfx_draw_sprite( - dpi, - i, - (window_staff_list_widgets[WIDX_STAFF_LIST_MECHANICS_TAB].left + window_staff_list_widgets[WIDX_STAFF_LIST_MECHANICS_TAB].right) / 2 + w->x, - window_staff_list_widgets[WIDX_STAFF_LIST_MECHANICS_TAB].bottom - 6 + w->y, 0 - ); + // Mechanic tab image + i = (selectedTab == 1 ? (w->list_information_type & ~3) : 0); + i += g_peep_animation_entries[PEEP_SPRITE_TYPE_MECHANIC].sprite_animation->base_image + 1; + i |= 0x20000000; + i |= gStaffMechanicColour << 19; + gfx_draw_sprite( + dpi, + i, + (window_staff_list_widgets[WIDX_STAFF_LIST_MECHANICS_TAB].left + window_staff_list_widgets[WIDX_STAFF_LIST_MECHANICS_TAB].right) / 2 + w->x, + window_staff_list_widgets[WIDX_STAFF_LIST_MECHANICS_TAB].bottom - 6 + w->y, 0 + ); - // Security tab image - i = (selectedTab == 2 ? (w->list_information_type & ~3) : 0); - i += g_peep_animation_entries[PEEP_SPRITE_TYPE_SECURITY].sprite_animation->base_image + 1; - i |= 0x20000000; - i |= gStaffSecurityColour << 19; - gfx_draw_sprite( - dpi, - i, - (window_staff_list_widgets[WIDX_STAFF_LIST_SECURITY_TAB].left + window_staff_list_widgets[WIDX_STAFF_LIST_SECURITY_TAB].right) / 2 + w->x, - window_staff_list_widgets[WIDX_STAFF_LIST_SECURITY_TAB].bottom - 6 + w->y, 0 - ); + // Security tab image + i = (selectedTab == 2 ? (w->list_information_type & ~3) : 0); + i += g_peep_animation_entries[PEEP_SPRITE_TYPE_SECURITY].sprite_animation->base_image + 1; + i |= 0x20000000; + i |= gStaffSecurityColour << 19; + gfx_draw_sprite( + dpi, + i, + (window_staff_list_widgets[WIDX_STAFF_LIST_SECURITY_TAB].left + window_staff_list_widgets[WIDX_STAFF_LIST_SECURITY_TAB].right) / 2 + w->x, + window_staff_list_widgets[WIDX_STAFF_LIST_SECURITY_TAB].bottom - 6 + w->y, 0 + ); - rct_drawpixelinfo sprite_dpi; - if (clip_drawpixelinfo( - &sprite_dpi, - dpi, - window_staff_list_widgets[WIDX_STAFF_LIST_ENTERTAINERS_TAB].left + w->x + 1, - window_staff_list_widgets[WIDX_STAFF_LIST_ENTERTAINERS_TAB].top + w->y + 1, - window_staff_list_widgets[WIDX_STAFF_LIST_ENTERTAINERS_TAB].right - window_staff_list_widgets[WIDX_STAFF_LIST_ENTERTAINERS_TAB].left - 1, - window_staff_list_widgets[WIDX_STAFF_LIST_ENTERTAINERS_TAB].bottom - window_staff_list_widgets[WIDX_STAFF_LIST_ENTERTAINERS_TAB].top - 1 - )) { - // Entertainers tab image - i = (selectedTab == 3 ? (w->list_information_type & ~3) : 0); - i += g_peep_animation_entries[PEEP_SPRITE_TYPE_ENTERTAINER_ELEPHANT].sprite_animation->base_image + 1; - gfx_draw_sprite(&sprite_dpi, i, 0x0F, 0x17, 0); - } + rct_drawpixelinfo sprite_dpi; + if (clip_drawpixelinfo( + &sprite_dpi, + dpi, + window_staff_list_widgets[WIDX_STAFF_LIST_ENTERTAINERS_TAB].left + w->x + 1, + window_staff_list_widgets[WIDX_STAFF_LIST_ENTERTAINERS_TAB].top + w->y + 1, + window_staff_list_widgets[WIDX_STAFF_LIST_ENTERTAINERS_TAB].right - window_staff_list_widgets[WIDX_STAFF_LIST_ENTERTAINERS_TAB].left - 1, + window_staff_list_widgets[WIDX_STAFF_LIST_ENTERTAINERS_TAB].bottom - window_staff_list_widgets[WIDX_STAFF_LIST_ENTERTAINERS_TAB].top - 1 + )) { + // Entertainers tab image + i = (selectedTab == 3 ? (w->list_information_type & ~3) : 0); + i += g_peep_animation_entries[PEEP_SPRITE_TYPE_ENTERTAINER_ELEPHANT].sprite_animation->base_image + 1; + gfx_draw_sprite(&sprite_dpi, i, 0x0F, 0x17, 0); + } - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { - set_format_arg(0, money32, wage_table[selectedTab]); - gfx_draw_string_left(dpi, STR_COST_PER_MONTH, gCommonFormatArgs, COLOUR_BLACK, w->x + w->width - 155, w->y + 0x20); - } + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { + set_format_arg(0, money32, wage_table[selectedTab]); + gfx_draw_string_left(dpi, STR_COST_PER_MONTH, gCommonFormatArgs, COLOUR_BLACK, w->x + w->width - 155, w->y + 0x20); + } - if (selectedTab < 3) { - gfx_draw_string_left(dpi, STR_UNIFORM_COLOUR, w, COLOUR_BLACK, w->x + 6, window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].top + w->y + 1); - } + if (selectedTab < 3) { + gfx_draw_string_left(dpi, STR_UNIFORM_COLOUR, w, COLOUR_BLACK, w->x + 6, window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].top + w->y + 1); + } - sint32 staffTypeStringId = StaffNamingConvention[selectedTab].plural; - // If the number of staff for a given type is 1, we use the singular forms of the names - if (_window_staff_list_selected_type_count == 1) { - staffTypeStringId = StaffNamingConvention[selectedTab].singular; - } + sint32 staffTypeStringId = StaffNamingConvention[selectedTab].plural; + // If the number of staff for a given type is 1, we use the singular forms of the names + if (_window_staff_list_selected_type_count == 1) { + staffTypeStringId = StaffNamingConvention[selectedTab].singular; + } - set_format_arg(0, uint16, _window_staff_list_selected_type_count); - set_format_arg(2, rct_string_id, staffTypeStringId); + set_format_arg(0, uint16, _window_staff_list_selected_type_count); + set_format_arg(2, rct_string_id, staffTypeStringId); - gfx_draw_string_left(dpi, STR_STAFF_LIST_COUNTER, gCommonFormatArgs, COLOUR_BLACK, w->x + 4, window_staff_list_widgets[WIDX_STAFF_LIST_LIST].bottom + w->y + 2); + gfx_draw_string_left(dpi, STR_STAFF_LIST_COUNTER, gCommonFormatArgs, COLOUR_BLACK, w->x + 4, window_staff_list_widgets[WIDX_STAFF_LIST_LIST].bottom + w->y + 2); } /** rct2: 0x00992A08 */ static const uint32 staffOrderBaseSprites[] = { - SPR_STAFF_ORDERS_SWEEPING, - SPR_STAFF_ORDERS_INSPECT_RIDES, - 0, - 0, + SPR_STAFF_ORDERS_SWEEPING, + SPR_STAFF_ORDERS_INSPECT_RIDES, + 0, + 0, }; static const uint32 staffCostumeSprites[] = { - SPR_STAFF_COSTUME_PANDA, - SPR_STAFF_COSTUME_TIGER, - SPR_STAFF_COSTUME_ELEPHANT, - SPR_STAFF_COSTUME_ROMAN, - SPR_STAFF_COSTUME_GORILLA, - SPR_STAFF_COSTUME_SNOWMAN, - SPR_STAFF_COSTUME_KNIGHT, - SPR_STAFF_COSTUME_ASTRONAUT, - SPR_STAFF_COSTUME_BANDIT, - SPR_STAFF_COSTUME_SHERIFF, - SPR_STAFF_COSTUME_PIRATE, + SPR_STAFF_COSTUME_PANDA, + SPR_STAFF_COSTUME_TIGER, + SPR_STAFF_COSTUME_ELEPHANT, + SPR_STAFF_COSTUME_ROMAN, + SPR_STAFF_COSTUME_GORILLA, + SPR_STAFF_COSTUME_SNOWMAN, + SPR_STAFF_COSTUME_KNIGHT, + SPR_STAFF_COSTUME_ASTRONAUT, + SPR_STAFF_COSTUME_BANDIT, + SPR_STAFF_COSTUME_SHERIFF, + SPR_STAFF_COSTUME_PIRATE, }; /** @@ -650,78 +650,78 @@ static const uint32 staffCostumeSprites[] = { */ void window_staff_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - sint32 spriteIndex, y, i, staffOrderIcon_x, staffOrders, staffOrderSprite; - uint32 argument_1, argument_2; - uint8 selectedTab; - rct_peep *peep; + sint32 spriteIndex, y, i, staffOrderIcon_x, staffOrders, staffOrderSprite; + uint32 argument_1, argument_2; + uint8 selectedTab; + rct_peep *peep; - gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); + gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); - y = 0; - i = 0; - selectedTab = _windowStaffListSelectedTab; - FOR_ALL_STAFF(spriteIndex, peep) { - if (peep->staff_type == selectedTab) { - if (y > dpi->y + dpi->height) { - break; - } + y = 0; + i = 0; + selectedTab = _windowStaffListSelectedTab; + FOR_ALL_STAFF(spriteIndex, peep) { + if (peep->staff_type == selectedTab) { + if (y > dpi->y + dpi->height) { + break; + } - if (y + 11 >= dpi->y) { - sint32 format = (_quick_fire_mode ? STR_RED_STRINGID : STR_BLACK_STRING); + if (y + 11 >= dpi->y) { + sint32 format = (_quick_fire_mode ? STR_RED_STRINGID : STR_BLACK_STRING); - if (i == _windowStaffListHighlightedIndex) { - gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); - format = (_quick_fire_mode ? STR_LIGHTPINK_STRINGID : STR_WINDOW_COLOUR_2_STRINGID); - } + if (i == _windowStaffListHighlightedIndex) { + gfx_filter_rect(dpi, 0, y, 800, y + 9, PALETTE_DARKEN_1); + format = (_quick_fire_mode ? STR_LIGHTPINK_STRINGID : STR_WINDOW_COLOUR_2_STRINGID); + } - set_format_arg(0, rct_string_id, peep->name_string_idx); - set_format_arg(2, uint32, peep->id); - gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 0, y - 1, 107); + set_format_arg(0, rct_string_id, peep->name_string_idx); + set_format_arg(2, uint32, peep->id); + gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 0, y - 1, 107); - get_arguments_from_action(peep, &argument_1, &argument_2); - set_format_arg(0, uint32, argument_1); - set_format_arg(4, uint32, argument_2); - gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 175, y - 1, 305); + get_arguments_from_action(peep, &argument_1, &argument_2); + set_format_arg(0, uint32, argument_1); + set_format_arg(4, uint32, argument_2); + gfx_draw_string_left_clipped(dpi, format, gCommonFormatArgs, COLOUR_BLACK, 175, y - 1, 305); - // True if a patrol path is set for the worker - if (gStaffModes[peep->staff_id] & 2) { - gfx_draw_sprite(dpi, SPR_STAFF_PATROL_PATH, 110, y - 1, 0); - } + // True if a patrol path is set for the worker + if (gStaffModes[peep->staff_id] & 2) { + gfx_draw_sprite(dpi, SPR_STAFF_PATROL_PATH, 110, y - 1, 0); + } - staffOrderIcon_x = 0x7D; - if (peep->staff_type != 3) { - staffOrders = peep->staff_orders; - staffOrderSprite = staffOrderBaseSprites[selectedTab]; + staffOrderIcon_x = 0x7D; + if (peep->staff_type != 3) { + staffOrders = peep->staff_orders; + staffOrderSprite = staffOrderBaseSprites[selectedTab]; - while (staffOrders != 0) { - if (staffOrders & 1) { - gfx_draw_sprite(dpi, staffOrderSprite, staffOrderIcon_x, y - 1, 0); - } - staffOrders = staffOrders >> 1; - staffOrderIcon_x += 9; - // TODO: Remove sprite ID addition - staffOrderSprite++; - } - } else { - gfx_draw_sprite(dpi, staffCostumeSprites[peep->sprite_type - 4], staffOrderIcon_x, y - 1, 0); - } - } + while (staffOrders != 0) { + if (staffOrders & 1) { + gfx_draw_sprite(dpi, staffOrderSprite, staffOrderIcon_x, y - 1, 0); + } + staffOrders = staffOrders >> 1; + staffOrderIcon_x += 9; + // TODO: Remove sprite ID addition + staffOrderSprite++; + } + } else { + gfx_draw_sprite(dpi, staffCostumeSprites[peep->sprite_type - 4], staffOrderIcon_x, y - 1, 0); + } + } - y += 10; - i++; - } - } + y += 10; + i++; + } + } } static uint8 window_staff_list_get_random_entertainer_costume() { - uint8 result = ENTERTAINER_COSTUME_PANDA; - uint8 costumeList[ENTERTAINER_COSTUME_COUNT]; - sint32 numCostumes = staff_get_available_entertainer_costume_list(costumeList); - if (numCostumes > 0) - { - sint32 index = util_rand() % numCostumes; - result = costumeList[index]; - } - return result; + uint8 result = ENTERTAINER_COSTUME_PANDA; + uint8 costumeList[ENTERTAINER_COSTUME_COUNT]; + sint32 numCostumes = staff_get_available_entertainer_costume_list(costumeList); + if (numCostumes > 0) + { + sint32 index = util_rand() % numCostumes; + result = costumeList[index]; + } + return result; } diff --git a/src/openrct2/windows/text_input.c b/src/openrct2/windows/text_input.c index 1bca29583c..758010c78d 100644 --- a/src/openrct2/windows/text_input.c +++ b/src/openrct2/windows/text_input.c @@ -33,21 +33,21 @@ #define WH 90 enum WINDOW_TEXT_INPUT_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_CANCEL, - WIDX_OKAY + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_CANCEL, + WIDX_OKAY }; // 0x9DE4E0 static rct_widget window_text_input_widgets[] = { - { WWT_FRAME, 1, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, - { WWT_CAPTION, 1, 1, WW - 2, 1, 14, STR_OPTIONS, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 1, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_DROPDOWN_BUTTON, 1, WW - 80, WW - 10, WH - 21, WH - 10, STR_CANCEL, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 10, 80, WH - 21, WH - 10, STR_OK, STR_NONE }, - { WIDGETS_END } + { WWT_FRAME, 1, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, + { WWT_CAPTION, 1, 1, WW - 2, 1, 14, STR_OPTIONS, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 1, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_DROPDOWN_BUTTON, 1, WW - 80, WW - 10, WH - 21, WH - 10, STR_CANCEL, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 10, 80, WH - 21, WH - 10, STR_OK, STR_NONE }, + { WIDGETS_END } }; static void window_text_input_close(rct_window *w); @@ -59,34 +59,34 @@ static void draw_ime_composition(rct_drawpixelinfo * dpi, int cursorX, int curso //0x9A3F7C static rct_window_event_list window_text_input_events = { - window_text_input_close, - window_text_input_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - window_text_input_update7, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_text_input_invalidate, - window_text_input_paint, - NULL + window_text_input_close, + window_text_input_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + window_text_input_update7, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_text_input_invalidate, + window_text_input_paint, + NULL }; rct_string_id input_text_description; @@ -98,122 +98,122 @@ sint32 _maxInputLength; void window_text_input_open(rct_window* call_w, rct_widgetindex call_widget, rct_string_id title, rct_string_id description, rct_string_id existing_text, uintptr_t existing_args, sint32 maxLength) { - _maxInputLength = maxLength; + _maxInputLength = maxLength; - window_close_by_class(WC_TEXTINPUT); + window_close_by_class(WC_TEXTINPUT); - // Clear the text input buffer - memset(text_input, 0, maxLength); + // Clear the text input buffer + memset(text_input, 0, maxLength); - // Enter in the text input buffer any existing - // text. - if (existing_text != STR_NONE) - format_string(text_input, maxLength, existing_text, &existing_args); + // Enter in the text input buffer any existing + // text. + if (existing_text != STR_NONE) + format_string(text_input, maxLength, existing_text, &existing_args); - utf8_remove_format_codes(text_input, false); + utf8_remove_format_codes(text_input, false); - // This is the text displayed above the input box - input_text_description = description; + // This is the text displayed above the input box + input_text_description = description; - // Work out the existing size of the window - char wrapped_string[TEXT_INPUT_SIZE]; - safe_strcpy(wrapped_string, text_input, TEXT_INPUT_SIZE); + // Work out the existing size of the window + char wrapped_string[TEXT_INPUT_SIZE]; + safe_strcpy(wrapped_string, text_input, TEXT_INPUT_SIZE); - sint32 no_lines = 0, font_height = 0; + sint32 no_lines = 0, font_height = 0; - // String length needs to add 12 either side of box - // +13 for cursor when max length. - gfx_wrap_string(wrapped_string, WW - (24 + 13), &no_lines, &font_height); + // String length needs to add 12 either side of box + // +13 for cursor when max length. + gfx_wrap_string(wrapped_string, WW - (24 + 13), &no_lines, &font_height); - sint32 height = no_lines * 10 + WH; + sint32 height = no_lines * 10 + WH; - // Window will be in the center of the screen - rct_window* w = window_create_centred( - WW, - height, - &window_text_input_events, - WC_TEXTINPUT, - WF_STICK_TO_FRONT - ); + // Window will be in the center of the screen + rct_window* w = window_create_centred( + WW, + height, + &window_text_input_events, + WC_TEXTINPUT, + WF_STICK_TO_FRONT + ); - w->widgets = window_text_input_widgets; - w->enabled_widgets = (1 << WIDX_CLOSE) | (1<widgets = window_text_input_widgets; + w->enabled_widgets = (1 << WIDX_CLOSE) | (1<classification; - calling_number = call_w->number; - calling_widget = call_widget; + // Save calling window details so that the information + // can be passed back to the correct window & widget + calling_class = call_w->classification; + calling_number = call_w->number; + calling_widget = call_widget; - gTextInput = context_start_text_input(text_input, maxLength); + gTextInput = context_start_text_input(text_input, maxLength); - window_init_scroll_widgets(w); - w->colours[0] = call_w->colours[0]; - w->colours[1] = call_w->colours[1]; - w->colours[2] = call_w->colours[2]; + window_init_scroll_widgets(w); + w->colours[0] = call_w->colours[0]; + w->colours[1] = call_w->colours[1]; + w->colours[2] = call_w->colours[2]; } void window_text_input_raw_open(rct_window* call_w, rct_widgetindex call_widget, rct_string_id title, rct_string_id description, utf8string existing_text, sint32 maxLength) { - _maxInputLength = maxLength; + _maxInputLength = maxLength; - window_close_by_class(WC_TEXTINPUT); + window_close_by_class(WC_TEXTINPUT); - // Clear the text input buffer - memset(text_input, 0, maxLength); + // Clear the text input buffer + memset(text_input, 0, maxLength); - // Enter in the text input buffer any existing - // text. - if (existing_text != NULL) - safe_strcpy(text_input, existing_text, maxLength); + // Enter in the text input buffer any existing + // text. + if (existing_text != NULL) + safe_strcpy(text_input, existing_text, maxLength); - // In order to prevent strings that exceed the maxLength - // from crashing the game. - text_input[maxLength - 1] = '\0'; + // In order to prevent strings that exceed the maxLength + // from crashing the game. + text_input[maxLength - 1] = '\0'; - // This is the text displayed above the input box - input_text_description = description; + // This is the text displayed above the input box + input_text_description = description; - // Work out the existing size of the window - char wrapped_string[TEXT_INPUT_SIZE]; - safe_strcpy(wrapped_string, text_input, TEXT_INPUT_SIZE); + // Work out the existing size of the window + char wrapped_string[TEXT_INPUT_SIZE]; + safe_strcpy(wrapped_string, text_input, TEXT_INPUT_SIZE); - sint32 no_lines = 0, font_height = 0; + sint32 no_lines = 0, font_height = 0; - // String length needs to add 12 either side of box - // +13 for cursor when max length. - gfx_wrap_string(wrapped_string, WW - (24 + 13), &no_lines, &font_height); + // String length needs to add 12 either side of box + // +13 for cursor when max length. + gfx_wrap_string(wrapped_string, WW - (24 + 13), &no_lines, &font_height); - sint32 height = no_lines * 10 + WH; + sint32 height = no_lines * 10 + WH; - // Window will be in the center of the screen - rct_window* w = window_create_centred( - WW, - height, - &window_text_input_events, - WC_TEXTINPUT, - WF_STICK_TO_FRONT - ); + // Window will be in the center of the screen + rct_window* w = window_create_centred( + WW, + height, + &window_text_input_events, + WC_TEXTINPUT, + WF_STICK_TO_FRONT + ); - w->widgets = window_text_input_widgets; - w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_CANCEL) | (1 << WIDX_OKAY); + w->widgets = window_text_input_widgets; + w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_CANCEL) | (1 << WIDX_OKAY); - window_text_input_widgets[WIDX_TITLE].text = title; + window_text_input_widgets[WIDX_TITLE].text = title; - // Save calling window details so that the information - // can be passed back to the correct window & widget - calling_class = call_w->classification; - calling_number = call_w->number; - calling_widget = call_widget; + // Save calling window details so that the information + // can be passed back to the correct window & widget + calling_class = call_w->classification; + calling_number = call_w->number; + calling_widget = call_widget; - gTextInput = context_start_text_input(text_input, maxLength); + gTextInput = context_start_text_input(text_input, maxLength); - window_init_scroll_widgets(w); - w->colours[0] = call_w->colours[0]; - w->colours[1] = call_w->colours[1]; - w->colours[2] = call_w->colours[2]; + window_init_scroll_widgets(w); + w->colours[0] = call_w->colours[0]; + w->colours[1] = call_w->colours[1]; + w->colours[2] = call_w->colours[2]; } /** @@ -221,27 +221,27 @@ void window_text_input_raw_open(rct_window* call_w, rct_widgetindex call_widget, */ static void window_text_input_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - rct_window *calling_w; + rct_window *calling_w; - calling_w = window_find_by_number(calling_class, calling_number); - switch (widgetIndex){ - case WIDX_CANCEL: - case WIDX_CLOSE: - context_stop_text_input(); - // Pass back the text that has been entered. - // ecx when zero means text input failed - if (calling_w != NULL) - window_event_textinput_call(calling_w, calling_widget, NULL); - window_close(w); - break; - case WIDX_OKAY: - context_stop_text_input(); - // Pass back the text that has been entered. - // ecx when none zero means text input success - if (calling_w != NULL) - window_event_textinput_call(calling_w, calling_widget, text_input); - window_close(w); - } + calling_w = window_find_by_number(calling_class, calling_number); + switch (widgetIndex){ + case WIDX_CANCEL: + case WIDX_CLOSE: + context_stop_text_input(); + // Pass back the text that has been entered. + // ecx when zero means text input failed + if (calling_w != NULL) + window_event_textinput_call(calling_w, calling_widget, NULL); + window_close(w); + break; + case WIDX_OKAY: + context_stop_text_input(); + // Pass back the text that has been entered. + // ecx when none zero means text input success + if (calling_w != NULL) + window_event_textinput_call(calling_w, calling_widget, text_input); + window_close(w); + } } /** @@ -249,166 +249,166 @@ static void window_text_input_mouseup(rct_window *w, rct_widgetindex widgetIndex */ static void window_text_input_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - sint32 y = w->y + 25; + sint32 y = w->y + 25; - sint32 no_lines = 0; - sint32 font_height = 0; + sint32 no_lines = 0; + sint32 font_height = 0; - gfx_draw_string_centred(dpi, input_text_description, w->x + WW / 2, y, w->colours[1], &TextInputDescriptionArgs); + gfx_draw_string_centred(dpi, input_text_description, w->x + WW / 2, y, w->colours[1], &TextInputDescriptionArgs); - y += 25; + y += 25; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gCurrentFontFlags = 0; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gCurrentFontFlags = 0; - char wrapped_string[TEXT_INPUT_SIZE]; - safe_strcpy(wrapped_string, text_input, TEXT_INPUT_SIZE); + char wrapped_string[TEXT_INPUT_SIZE]; + safe_strcpy(wrapped_string, text_input, TEXT_INPUT_SIZE); - // String length needs to add 12 either side of box - // +13 for cursor when max length. - gfx_wrap_string(wrapped_string, WW - (24 + 13), &no_lines, &font_height); + // String length needs to add 12 either side of box + // +13 for cursor when max length. + gfx_wrap_string(wrapped_string, WW - (24 + 13), &no_lines, &font_height); - gfx_fill_rect_inset(dpi, w->x + 10, y, w->x + WW - 10, y + 10 * (no_lines + 1) + 3, w->colours[1], INSET_RECT_F_60); + gfx_fill_rect_inset(dpi, w->x + 10, y, w->x + WW - 10, y + 10 * (no_lines + 1) + 3, w->colours[1], INSET_RECT_F_60); - y += 1; + y += 1; - char* wrap_pointer = wrapped_string; - size_t char_count = 0; - uint8 cur_drawn = 0; + char* wrap_pointer = wrapped_string; + size_t char_count = 0; + uint8 cur_drawn = 0; - sint32 cursorX = 0; - sint32 cursorY = 0; - for (sint32 line = 0; line <= no_lines; line++) { - gfx_draw_string(dpi, wrap_pointer, w->colours[1], w->x + 12, y); + sint32 cursorX = 0; + sint32 cursorY = 0; + for (sint32 line = 0; line <= no_lines; line++) { + gfx_draw_string(dpi, wrap_pointer, w->colours[1], w->x + 12, y); - size_t string_length = get_string_size(wrap_pointer) - 1; + size_t string_length = get_string_size(wrap_pointer) - 1; - if (!cur_drawn && (gTextInput->SelectionStart <= char_count + string_length)) { - // Make a copy of the string for measuring the width. - char temp_string[TEXT_INPUT_SIZE] = { 0 }; - memcpy(temp_string, wrap_pointer, gTextInput->SelectionStart - char_count); - cursorX = w->x + 13 + gfx_get_string_width(temp_string); - cursorY = y; + if (!cur_drawn && (gTextInput->SelectionStart <= char_count + string_length)) { + // Make a copy of the string for measuring the width. + char temp_string[TEXT_INPUT_SIZE] = { 0 }; + memcpy(temp_string, wrap_pointer, gTextInput->SelectionStart - char_count); + cursorX = w->x + 13 + gfx_get_string_width(temp_string); + cursorY = y; - sint32 width = 6; - if (gTextInput->SelectionStart < strlen(text_input)){ - // Make a 1 utf8-character wide string for measuring the width - // of the currently selected character. - utf8 tmp[5] = { 0 }; // This is easier than setting temp_string[0..5] - uint32 codepoint = utf8_get_next(text_input + gTextInput->SelectionStart, NULL); - utf8_write_codepoint(tmp, codepoint); - width = max(gfx_get_string_width(tmp) - 2, 4); - } + sint32 width = 6; + if (gTextInput->SelectionStart < strlen(text_input)){ + // Make a 1 utf8-character wide string for measuring the width + // of the currently selected character. + utf8 tmp[5] = { 0 }; // This is easier than setting temp_string[0..5] + uint32 codepoint = utf8_get_next(text_input + gTextInput->SelectionStart, NULL); + utf8_write_codepoint(tmp, codepoint); + width = max(gfx_get_string_width(tmp) - 2, 4); + } - if (w->frame_no > 15){ - uint8 colour = ColourMapA[w->colours[1]].mid_light; - // TODO: palette index addition - gfx_fill_rect(dpi, cursorX, y + 9, cursorX + width, y + 9, colour + 5); - } + if (w->frame_no > 15){ + uint8 colour = ColourMapA[w->colours[1]].mid_light; + // TODO: palette index addition + gfx_fill_rect(dpi, cursorX, y + 9, cursorX + width, y + 9, colour + 5); + } - cur_drawn++; - } + cur_drawn++; + } - wrap_pointer += string_length + 1; + wrap_pointer += string_length + 1; - if (text_input[char_count + string_length] == ' ')char_count++; - char_count += string_length; + if (text_input[char_count + string_length] == ' ')char_count++; + char_count += string_length; - y += 10; - } + y += 10; + } - if (!cur_drawn) { - cursorX = gLastDrawStringX; - cursorY = y - 10; - } + if (!cur_drawn) { + cursorX = gLastDrawStringX; + cursorY = y - 10; + } - // IME composition - if (!str_is_null_or_empty(gTextInput->ImeBuffer)) { - draw_ime_composition(dpi, cursorX, cursorY); - } + // IME composition + if (!str_is_null_or_empty(gTextInput->ImeBuffer)) { + draw_ime_composition(dpi, cursorX, cursorY); + } } void window_text_input_key(rct_window* w, sint32 key) { - char new_char = platform_scancode_to_rct_keycode(0xFF&key); + char new_char = platform_scancode_to_rct_keycode(0xFF&key); - // If the return button is pressed stop text input - if (new_char == '\r'){ - context_stop_text_input(); - window_close(w); - rct_window* calling_w = window_find_by_number(calling_class, calling_number); - // Pass back the text that has been entered. - // ecx when none zero means text input success - if (calling_w) - window_event_textinput_call(calling_w, calling_widget, text_input); - } + // If the return button is pressed stop text input + if (new_char == '\r'){ + context_stop_text_input(); + window_close(w); + rct_window* calling_w = window_find_by_number(calling_class, calling_number); + // Pass back the text that has been entered. + // ecx when none zero means text input success + if (calling_w) + window_event_textinput_call(calling_w, calling_widget, text_input); + } - window_invalidate(w); + window_invalidate(w); } void window_text_input_update7(rct_window *w) { - rct_window* calling_w = window_find_by_number(calling_class, calling_number); - // If the calling window is closed then close the text - // input window. - if (!calling_w){ - window_close(w); - } + rct_window* calling_w = window_find_by_number(calling_class, calling_number); + // If the calling window is closed then close the text + // input window. + if (!calling_w){ + window_close(w); + } - // Used to blink the cursor. - w->frame_no++; - if (w->frame_no > 30) w->frame_no = 0; - window_invalidate(w); + // Used to blink the cursor. + w->frame_no++; + if (w->frame_no > 30) w->frame_no = 0; + window_invalidate(w); } static void window_text_input_close(rct_window *w) { - // Make sure that we take it out of the text input - // mode otherwise problems may occur. - context_stop_text_input(); + // Make sure that we take it out of the text input + // mode otherwise problems may occur. + context_stop_text_input(); } static void window_text_input_invalidate(rct_window *w) { - // Work out the existing size of the window - char wrapped_string[TEXT_INPUT_SIZE]; - safe_strcpy(wrapped_string, text_input, TEXT_INPUT_SIZE); + // Work out the existing size of the window + char wrapped_string[TEXT_INPUT_SIZE]; + safe_strcpy(wrapped_string, text_input, TEXT_INPUT_SIZE); - sint32 no_lines = 0, font_height = 0; + sint32 no_lines = 0, font_height = 0; - // String length needs to add 12 either side of box - // +13 for cursor when max length. - gfx_wrap_string(wrapped_string, WW - (24 + 13), &no_lines, &font_height); + // String length needs to add 12 either side of box + // +13 for cursor when max length. + gfx_wrap_string(wrapped_string, WW - (24 + 13), &no_lines, &font_height); - sint32 height = no_lines * 10 + WH; + sint32 height = no_lines * 10 + WH; - // Change window size if required. - if (height != w->height) { - window_invalidate(w); - window_set_resize(w, WW, height, WW, height); - } + // Change window size if required. + if (height != w->height) { + window_invalidate(w); + window_set_resize(w, WW, height, WW, height); + } - window_text_input_widgets[WIDX_OKAY].top = height - 21; - window_text_input_widgets[WIDX_OKAY].bottom = height - 10; + window_text_input_widgets[WIDX_OKAY].top = height - 21; + window_text_input_widgets[WIDX_OKAY].bottom = height - 10; - window_text_input_widgets[WIDX_CANCEL].top = height - 21; - window_text_input_widgets[WIDX_CANCEL].bottom = height - 10; + window_text_input_widgets[WIDX_CANCEL].top = height - 21; + window_text_input_widgets[WIDX_CANCEL].bottom = height - 10; - window_text_input_widgets[WIDX_BACKGROUND].bottom = height - 1; + window_text_input_widgets[WIDX_BACKGROUND].bottom = height - 1; } static void draw_ime_composition(rct_drawpixelinfo * dpi, int cursorX, int cursorY) { - int compositionWidth = gfx_get_string_width(gTextInput->ImeBuffer); - int x = cursorX - (compositionWidth / 2); - int y = cursorY + 13; - int width = compositionWidth; - int height = 10; + int compositionWidth = gfx_get_string_width(gTextInput->ImeBuffer); + int x = cursorX - (compositionWidth / 2); + int y = cursorY + 13; + int width = compositionWidth; + int height = 10; - gfx_fill_rect(dpi, x - 1, y - 1, x + width + 1, y + height + 1, PALETTE_INDEX_12); - gfx_fill_rect(dpi, x, y, x + width, y + height, PALETTE_INDEX_0); - gfx_draw_string(dpi, (char *)gTextInput->ImeBuffer, COLOUR_DARK_GREEN, x, y); + gfx_fill_rect(dpi, x - 1, y - 1, x + width + 1, y + height + 1, PALETTE_INDEX_12); + gfx_fill_rect(dpi, x, y, x + width, y + height, PALETTE_INDEX_0); + gfx_draw_string(dpi, (char *)gTextInput->ImeBuffer, COLOUR_DARK_GREEN, x, y); } diff --git a/src/openrct2/windows/themes.c b/src/openrct2/windows/themes.c index 15c659d4d6..62ad35bf8f 100644 --- a/src/openrct2/windows/themes.c +++ b/src/openrct2/windows/themes.c @@ -32,16 +32,16 @@ #include "../util/util.h" enum { - WINDOW_THEMES_TAB_SETTINGS, - WINDOW_THEMES_TAB_MAIN_UI, - WINDOW_THEMES_TAB_PARK, - WINDOW_THEMES_TAB_TOOLS, - WINDOW_THEMES_TAB_RIDES_PEEPS, - WINDOW_THEMES_TAB_EDITORS, - WINDOW_THEMES_TAB_MISC, - WINDOW_THEMES_TAB_PROMPTS, - WINDOW_THEMES_TAB_FEATURES, - WINDOW_THEMES_TAB_COUNT + WINDOW_THEMES_TAB_SETTINGS, + WINDOW_THEMES_TAB_MAIN_UI, + WINDOW_THEMES_TAB_PARK, + WINDOW_THEMES_TAB_TOOLS, + WINDOW_THEMES_TAB_RIDES_PEEPS, + WINDOW_THEMES_TAB_EDITORS, + WINDOW_THEMES_TAB_MISC, + WINDOW_THEMES_TAB_PROMPTS, + WINDOW_THEMES_TAB_FEATURES, + WINDOW_THEMES_TAB_COUNT } WINDOW_THEMES_TAB; static void window_themes_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -60,212 +60,212 @@ static void window_themes_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sin static void window_themes_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w); static rct_window_event_list window_themes_events = { - NULL, - window_themes_mouseup, - window_themes_resize, - window_themes_mousedown, - window_themes_dropdown, - NULL, - window_themes_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_themes_scrollgetsize, - window_themes_scrollmousedown, - NULL, - window_themes_scrollmouseover, - window_themes_textinput, - NULL, - NULL, - window_themes_tooltip, - NULL, - NULL, - window_themes_invalidate, - window_themes_paint, - window_themes_scrollpaint, + NULL, + window_themes_mouseup, + window_themes_resize, + window_themes_mousedown, + window_themes_dropdown, + NULL, + window_themes_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_themes_scrollgetsize, + window_themes_scrollmousedown, + NULL, + window_themes_scrollmouseover, + window_themes_textinput, + NULL, + NULL, + window_themes_tooltip, + NULL, + NULL, + window_themes_invalidate, + window_themes_paint, + window_themes_scrollpaint, }; enum WINDOW_STAFF_LIST_WIDGET_IDX { - WIDX_THEMES_BACKGROUND, - WIDX_THEMES_TITLE, - WIDX_THEMES_CLOSE, - WIDX_THEMES_TAB_CONTENT_PANEL, - WIDX_THEMES_SETTINGS_TAB, - WIDX_THEMES_MAIN_UI_TAB, - WIDX_THEMES_PARK_TAB, - WIDX_THEMES_TOOLS_TAB, - WIDX_THEMES_RIDE_PEEPS_TAB, - WIDX_THEMES_EDITORS_TAB, - WIDX_THEMES_MISC_TAB, - WIDX_THEMES_PROMPTS_TAB, - WIDX_THEMES_FEATURES_TAB, - WIDX_THEMES_PRESETS, - WIDX_THEMES_PRESETS_DROPDOWN, - WIDX_THEMES_DUPLICATE_BUTTON, - WIDX_THEMES_DELETE_BUTTON, - WIDX_THEMES_RENAME_BUTTON, - WIDX_THEMES_COLOURBTN_MASK, - WIDX_THEMES_LIST, - WIDX_THEMES_RCT1_RIDE_LIGHTS, - WIDX_THEMES_RCT1_PARK_LIGHTS, - WIDX_THEMES_RCT1_SCENARIO_FONT + WIDX_THEMES_BACKGROUND, + WIDX_THEMES_TITLE, + WIDX_THEMES_CLOSE, + WIDX_THEMES_TAB_CONTENT_PANEL, + WIDX_THEMES_SETTINGS_TAB, + WIDX_THEMES_MAIN_UI_TAB, + WIDX_THEMES_PARK_TAB, + WIDX_THEMES_TOOLS_TAB, + WIDX_THEMES_RIDE_PEEPS_TAB, + WIDX_THEMES_EDITORS_TAB, + WIDX_THEMES_MISC_TAB, + WIDX_THEMES_PROMPTS_TAB, + WIDX_THEMES_FEATURES_TAB, + WIDX_THEMES_PRESETS, + WIDX_THEMES_PRESETS_DROPDOWN, + WIDX_THEMES_DUPLICATE_BUTTON, + WIDX_THEMES_DELETE_BUTTON, + WIDX_THEMES_RENAME_BUTTON, + WIDX_THEMES_COLOURBTN_MASK, + WIDX_THEMES_LIST, + WIDX_THEMES_RCT1_RIDE_LIGHTS, + WIDX_THEMES_RCT1_PARK_LIGHTS, + WIDX_THEMES_RCT1_SCENARIO_FONT }; static rct_widget window_themes_widgets[] = { - { WWT_FRAME, 0, 0, 319, 0, 106, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 318, 1, 14, STR_THEMES_TITLE, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 307, 317, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close button - { WWT_RESIZE, 1, 0, 319, 43, 106, 0xFFFFFFFF, STR_NONE }, // tab content panel - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_SETTINGS_TIP }, // settings tab - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_MAIN_TIP }, // main ui tab - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_PARK_TIP }, // park tab - { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_TOOLS_TIP }, // tools tab - { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_RIDES_AND_GUESTS_TIP }, // rides and peeps tab - { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_EDITORS_TIP }, // editors tab - { WWT_TAB, 1, 189, 219, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_MISC_TIP }, // misc tab - { WWT_TAB, 1, 220, 250, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_PROMPTS_TIP }, // prompts tab - { WWT_TAB, 1, 251, 281, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_FEATURES_TIP }, // features tab - { WWT_DROPDOWN, 1, 125, 299, 60, 71, STR_NONE, STR_NONE }, // Preset colour schemes - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 61, 70, STR_DROPDOWN_GLYPH, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 10, 100, 82, 93, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_THEMES_ACTION_DUPLICATE_TIP }, // Duplicate button - { WWT_DROPDOWN_BUTTON, 1, 110, 200, 82, 93, STR_TRACK_MANAGE_DELETE, STR_THEMES_ACTION_DELETE_TIP }, // Delete button - { WWT_DROPDOWN_BUTTON, 1, 210, 300, 82, 93, STR_TRACK_MANAGE_RENAME, STR_THEMES_ACTION_RENAME_TIP }, // Rename button - { WWT_COLOURBTN, 1, 0, 0, 0, 0, STR_NONE, STR_NONE }, // colour button mask - { WWT_SCROLL, 1, 3, 316, 60, 103, SCROLL_VERTICAL, STR_NONE }, // staff list - { WWT_CHECKBOX, 1, 10, 299, 54, 65, STR_THEMES_OPTION_RCT1_RIDE_CONTROLS, STR_NONE }, // rct1 ride lights - { WWT_CHECKBOX, 1, 10, 299, 69, 80, STR_THEMES_OPTION_RCT1_PARK_CONTROLS, STR_NONE }, // rct1 park lights - { WWT_CHECKBOX, 1, 10, 299, 84, 95, STR_THEMES_OPTION_RCT1_SCENARIO_SELECTION_FONT, STR_NONE }, // rct1 scenario font - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 319, 0, 106, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 318, 1, 14, STR_THEMES_TITLE, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 307, 317, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close button + { WWT_RESIZE, 1, 0, 319, 43, 106, 0xFFFFFFFF, STR_NONE }, // tab content panel + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_SETTINGS_TIP }, // settings tab + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_MAIN_TIP }, // main ui tab + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_PARK_TIP }, // park tab + { WWT_TAB, 1, 96, 126, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_TOOLS_TIP }, // tools tab + { WWT_TAB, 1, 127, 157, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_RIDES_AND_GUESTS_TIP }, // rides and peeps tab + { WWT_TAB, 1, 158, 188, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_EDITORS_TIP }, // editors tab + { WWT_TAB, 1, 189, 219, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_MISC_TIP }, // misc tab + { WWT_TAB, 1, 220, 250, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_PROMPTS_TIP }, // prompts tab + { WWT_TAB, 1, 251, 281, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_FEATURES_TIP }, // features tab + { WWT_DROPDOWN, 1, 125, 299, 60, 71, STR_NONE, STR_NONE }, // Preset colour schemes + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 61, 70, STR_DROPDOWN_GLYPH, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 10, 100, 82, 93, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_THEMES_ACTION_DUPLICATE_TIP }, // Duplicate button + { WWT_DROPDOWN_BUTTON, 1, 110, 200, 82, 93, STR_TRACK_MANAGE_DELETE, STR_THEMES_ACTION_DELETE_TIP }, // Delete button + { WWT_DROPDOWN_BUTTON, 1, 210, 300, 82, 93, STR_TRACK_MANAGE_RENAME, STR_THEMES_ACTION_RENAME_TIP }, // Rename button + { WWT_COLOURBTN, 1, 0, 0, 0, 0, STR_NONE, STR_NONE }, // colour button mask + { WWT_SCROLL, 1, 3, 316, 60, 103, SCROLL_VERTICAL, STR_NONE }, // staff list + { WWT_CHECKBOX, 1, 10, 299, 54, 65, STR_THEMES_OPTION_RCT1_RIDE_CONTROLS, STR_NONE }, // rct1 ride lights + { WWT_CHECKBOX, 1, 10, 299, 69, 80, STR_THEMES_OPTION_RCT1_PARK_CONTROLS, STR_NONE }, // rct1 park lights + { WWT_CHECKBOX, 1, 10, 299, 84, 95, STR_THEMES_OPTION_RCT1_SCENARIO_SELECTION_FONT, STR_NONE }, // rct1 scenario font + { WIDGETS_END }, }; static sint32 window_themes_tab_animation_loops[] = { - 32, - 32, - 1, - 1, - 64, - 32, - 8, - 14, - 38 + 32, + 32, + 1, + 1, + 64, + 32, + 8, + 14, + 38 }; static sint32 window_themes_tab_animation_divisor[] = { - 4, - 4, - 1, - 1, - 4, - 2, - 2, - 2, - 2 + 4, + 4, + 1, + 1, + 4, + 2, + 2, + 2, + 2 }; static sint32 window_themes_tab_sprites[] = { - SPR_TAB_PAINT_0, - SPR_TAB_KIOSKS_AND_FACILITIES_0, - SPR_TAB_PARK_ENTRANCE, - SPR_G2_TAB_LAND, - SPR_TAB_RIDE_0, - SPR_TAB_WRENCH_0, - SPR_TAB_GEARS_0, - SPR_TAB_STAFF_OPTIONS_0, - SPR_TAB_FINANCES_MARKETING_0 + SPR_TAB_PAINT_0, + SPR_TAB_KIOSKS_AND_FACILITIES_0, + SPR_TAB_PARK_ENTRANCE, + SPR_G2_TAB_LAND, + SPR_TAB_RIDE_0, + SPR_TAB_WRENCH_0, + SPR_TAB_GEARS_0, + SPR_TAB_STAFF_OPTIONS_0, + SPR_TAB_FINANCES_MARKETING_0 }; static rct_windowclass window_themes_tab_1_classes[] = { - WC_TOP_TOOLBAR, - WC_BOTTOM_TOOLBAR, - WC_EDITOR_SCENARIO_BOTTOM_TOOLBAR, - WC_EDITOR_TRACK_BOTTOM_TOOLBAR, - WC_TITLE_MENU, - WC_TITLE_EXIT, - WC_TITLE_OPTIONS, - WC_SCENARIO_SELECT + WC_TOP_TOOLBAR, + WC_BOTTOM_TOOLBAR, + WC_EDITOR_SCENARIO_BOTTOM_TOOLBAR, + WC_EDITOR_TRACK_BOTTOM_TOOLBAR, + WC_TITLE_MENU, + WC_TITLE_EXIT, + WC_TITLE_OPTIONS, + WC_SCENARIO_SELECT }; static rct_windowclass window_themes_tab_2_classes[] = { - WC_PARK_INFORMATION, - WC_FINANCES, - WC_NEW_CAMPAIGN, - WC_RESEARCH, - WC_MAP, - WC_VIEWPORT, - WC_RECENT_NEWS + WC_PARK_INFORMATION, + WC_FINANCES, + WC_NEW_CAMPAIGN, + WC_RESEARCH, + WC_MAP, + WC_VIEWPORT, + WC_RECENT_NEWS }; static rct_windowclass window_themes_tab_3_classes[] = { - WC_LAND, - WC_WATER, - WC_CLEAR_SCENERY, - WC_LAND_RIGHTS, - WC_SCENERY, - WC_FOOTPATH, - WC_RIDE_CONSTRUCTION, - WC_TRACK_DESIGN_PLACE, - WC_CONSTRUCT_RIDE, - WC_TRACK_DESIGN_LIST + WC_LAND, + WC_WATER, + WC_CLEAR_SCENERY, + WC_LAND_RIGHTS, + WC_SCENERY, + WC_FOOTPATH, + WC_RIDE_CONSTRUCTION, + WC_TRACK_DESIGN_PLACE, + WC_CONSTRUCT_RIDE, + WC_TRACK_DESIGN_LIST }; static rct_windowclass window_themes_tab_4_classes[] = { - WC_RIDE, - WC_RIDE_LIST, - WC_PEEP, - WC_GUEST_LIST, - WC_STAFF, - WC_STAFF_LIST, - WC_BANNER + WC_RIDE, + WC_RIDE_LIST, + WC_PEEP, + WC_GUEST_LIST, + WC_STAFF, + WC_STAFF_LIST, + WC_BANNER }; static rct_windowclass window_themes_tab_5_classes[] = { - WC_EDITOR_OBJECT_SELECTION, - WC_EDITOR_INVENTION_LIST, - WC_EDITOR_SCENARIO_OPTIONS, - WC_EDTIOR_OBJECTIVE_OPTIONS, - WC_MAPGEN, - WC_MANAGE_TRACK_DESIGN, - WC_INSTALL_TRACK + WC_EDITOR_OBJECT_SELECTION, + WC_EDITOR_INVENTION_LIST, + WC_EDITOR_SCENARIO_OPTIONS, + WC_EDTIOR_OBJECTIVE_OPTIONS, + WC_MAPGEN, + WC_MANAGE_TRACK_DESIGN, + WC_INSTALL_TRACK }; static rct_windowclass window_themes_tab_6_classes[] = { - WC_CHEATS, - WC_TILE_INSPECTOR, - WC_VIEW_CLIPPING, - WC_THEMES, - WC_TITLE_EDITOR, - WC_OPTIONS, - WC_KEYBOARD_SHORTCUT_LIST, - WC_CHANGE_KEYBOARD_SHORTCUT, - WC_LOADSAVE, - WC_CHANGELOG, - WC_SERVER_LIST, - WC_MULTIPLAYER, - WC_PLAYER, - WC_CHAT, + WC_CHEATS, + WC_TILE_INSPECTOR, + WC_VIEW_CLIPPING, + WC_THEMES, + WC_TITLE_EDITOR, + WC_OPTIONS, + WC_KEYBOARD_SHORTCUT_LIST, + WC_CHANGE_KEYBOARD_SHORTCUT, + WC_LOADSAVE, + WC_CHANGELOG, + WC_SERVER_LIST, + WC_MULTIPLAYER, + WC_PLAYER, + WC_CHAT, }; static rct_windowclass window_themes_tab_7_classes[] = { - WC_SAVE_PROMPT, - WC_DEMOLISH_RIDE_PROMPT, - WC_FIRE_PROMPT, - WC_TRACK_DELETE_PROMPT, - WC_LOADSAVE_OVERWRITE_PROMPT, - WC_NETWORK_STATUS, + WC_SAVE_PROMPT, + WC_DEMOLISH_RIDE_PROMPT, + WC_FIRE_PROMPT, + WC_TRACK_DELETE_PROMPT, + WC_LOADSAVE_OVERWRITE_PROMPT, + WC_NETWORK_STATUS, }; static rct_windowclass *window_themes_tab_classes[] = { - NULL, - window_themes_tab_1_classes, - window_themes_tab_2_classes, - window_themes_tab_3_classes, - window_themes_tab_4_classes, - window_themes_tab_5_classes, - window_themes_tab_6_classes, - window_themes_tab_7_classes, + NULL, + window_themes_tab_1_classes, + window_themes_tab_2_classes, + window_themes_tab_3_classes, + window_themes_tab_4_classes, + window_themes_tab_5_classes, + window_themes_tab_6_classes, + window_themes_tab_7_classes, }; static uint8 _selected_tab = 0; @@ -278,521 +278,521 @@ static const uint8 _check_offset_y = 3 + 12 + 2; static void window_themes_init_vars() { - _selected_tab = WINDOW_THEMES_TAB_SETTINGS; + _selected_tab = WINDOW_THEMES_TAB_SETTINGS; } static rct_windowclass get_window_class_tab_index(sint32 index) { - rct_windowclass * classes = window_themes_tab_classes[_selected_tab]; - return classes[index]; + rct_windowclass * classes = window_themes_tab_classes[_selected_tab]; + return classes[index]; } static sint32 get_colour_scheme_tab_count() { - switch (_selected_tab) { - case 1: return sizeof(window_themes_tab_1_classes); - case 2: return sizeof(window_themes_tab_2_classes); - case 3: return sizeof(window_themes_tab_3_classes); - case 4: return sizeof(window_themes_tab_4_classes); - case 5: return sizeof(window_themes_tab_5_classes); - case 6: return sizeof(window_themes_tab_6_classes); - case 7: return sizeof(window_themes_tab_7_classes); - } - return 0; + switch (_selected_tab) { + case 1: return sizeof(window_themes_tab_1_classes); + case 2: return sizeof(window_themes_tab_2_classes); + case 3: return sizeof(window_themes_tab_3_classes); + case 4: return sizeof(window_themes_tab_4_classes); + case 5: return sizeof(window_themes_tab_5_classes); + case 6: return sizeof(window_themes_tab_6_classes); + case 7: return sizeof(window_themes_tab_7_classes); + } + return 0; } static void window_themes_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) { - for (sint32 i = 0; i < WINDOW_THEMES_TAB_COUNT; i++) { - sint32 sprite_idx = window_themes_tab_sprites[i]; - if (_selected_tab == i) - sprite_idx += w->frame_no / window_themes_tab_animation_divisor[_selected_tab]; - gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_THEMES_SETTINGS_TAB + i].left, w->y + w->widgets[WIDX_THEMES_SETTINGS_TAB + i].top, 0); - } + for (sint32 i = 0; i < WINDOW_THEMES_TAB_COUNT; i++) { + sint32 sprite_idx = window_themes_tab_sprites[i]; + if (_selected_tab == i) + sprite_idx += w->frame_no / window_themes_tab_animation_divisor[_selected_tab]; + gfx_draw_sprite(dpi, sprite_idx, w->x + w->widgets[WIDX_THEMES_SETTINGS_TAB + i].left, w->y + w->widgets[WIDX_THEMES_SETTINGS_TAB + i].top, 0); + } } void window_themes_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_THEMES); - if (window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_THEMES); + if (window != NULL) + return; - window = window_create_auto_pos(320, 107, &window_themes_events, WC_THEMES, WF_10 | WF_RESIZABLE); - window->widgets = window_themes_widgets; - window->enabled_widgets = - (1 << WIDX_THEMES_CLOSE) | - (1 << WIDX_THEMES_SETTINGS_TAB) | - (1 << WIDX_THEMES_MAIN_UI_TAB) | - (1 << WIDX_THEMES_PARK_TAB) | - (1 << WIDX_THEMES_TOOLS_TAB) | - (1 << WIDX_THEMES_RIDE_PEEPS_TAB) | - (1 << WIDX_THEMES_EDITORS_TAB) | - (1 << WIDX_THEMES_MISC_TAB) | - (1 << WIDX_THEMES_PROMPTS_TAB) | - (1 << WIDX_THEMES_FEATURES_TAB) | - (1 << WIDX_THEMES_COLOURBTN_MASK) | - (1 << WIDX_THEMES_PRESETS) | - (1 << WIDX_THEMES_PRESETS_DROPDOWN) | - (1 << WIDX_THEMES_DUPLICATE_BUTTON) | - (1 << WIDX_THEMES_DELETE_BUTTON) | - (1 << WIDX_THEMES_RENAME_BUTTON) | - (1 << WIDX_THEMES_RCT1_RIDE_LIGHTS) | - (1 << WIDX_THEMES_RCT1_PARK_LIGHTS) | - (1 << WIDX_THEMES_RCT1_SCENARIO_FONT); + window = window_create_auto_pos(320, 107, &window_themes_events, WC_THEMES, WF_10 | WF_RESIZABLE); + window->widgets = window_themes_widgets; + window->enabled_widgets = + (1 << WIDX_THEMES_CLOSE) | + (1 << WIDX_THEMES_SETTINGS_TAB) | + (1 << WIDX_THEMES_MAIN_UI_TAB) | + (1 << WIDX_THEMES_PARK_TAB) | + (1 << WIDX_THEMES_TOOLS_TAB) | + (1 << WIDX_THEMES_RIDE_PEEPS_TAB) | + (1 << WIDX_THEMES_EDITORS_TAB) | + (1 << WIDX_THEMES_MISC_TAB) | + (1 << WIDX_THEMES_PROMPTS_TAB) | + (1 << WIDX_THEMES_FEATURES_TAB) | + (1 << WIDX_THEMES_COLOURBTN_MASK) | + (1 << WIDX_THEMES_PRESETS) | + (1 << WIDX_THEMES_PRESETS_DROPDOWN) | + (1 << WIDX_THEMES_DUPLICATE_BUTTON) | + (1 << WIDX_THEMES_DELETE_BUTTON) | + (1 << WIDX_THEMES_RENAME_BUTTON) | + (1 << WIDX_THEMES_RCT1_RIDE_LIGHTS) | + (1 << WIDX_THEMES_RCT1_PARK_LIGHTS) | + (1 << WIDX_THEMES_RCT1_SCENARIO_FONT); - window_themes_init_vars(); + window_themes_init_vars(); - window_init_scroll_widgets(window); - window->list_information_type = 0; - _colour_index_1 = -1; - _colour_index_2 = -1; - window->min_width = 320; - window->min_height = 107; - window->max_width = 320; - window->max_height = 107; + window_init_scroll_widgets(window); + window->list_information_type = 0; + _colour_index_1 = -1; + _colour_index_2 = -1; + window->min_width = 320; + window->min_height = 107; + window->max_width = 320; + window->max_height = 107; } static void window_themes_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - size_t activeAvailableThemeIndex; - const utf8 * activeThemeName; + size_t activeAvailableThemeIndex; + const utf8 * activeThemeName; - switch (widgetIndex) { - case WIDX_THEMES_CLOSE: - window_close(w); - break; - case WIDX_THEMES_DUPLICATE_BUTTON:; - activeAvailableThemeIndex = theme_manager_get_active_available_theme_index(); - activeThemeName = theme_manager_get_available_theme_name(activeAvailableThemeIndex); - window_text_input_open(w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_THEMES_PROMPT_ENTER_THEME_NAME, STR_STRING, (uintptr_t)activeThemeName, 64); - break; - case WIDX_THEMES_DELETE_BUTTON: - if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { - window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE); - } else { - theme_delete(); - } - break; - case WIDX_THEMES_RENAME_BUTTON: - if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { - window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE); - } else { - activeAvailableThemeIndex = theme_manager_get_active_available_theme_index(); - activeThemeName = theme_manager_get_available_theme_name(activeAvailableThemeIndex); - window_text_input_open(w, widgetIndex, STR_TRACK_MANAGE_RENAME, STR_THEMES_PROMPT_ENTER_THEME_NAME, STR_STRING, (uintptr_t)activeThemeName, 64); - } - break; - } + switch (widgetIndex) { + case WIDX_THEMES_CLOSE: + window_close(w); + break; + case WIDX_THEMES_DUPLICATE_BUTTON:; + activeAvailableThemeIndex = theme_manager_get_active_available_theme_index(); + activeThemeName = theme_manager_get_available_theme_name(activeAvailableThemeIndex); + window_text_input_open(w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_THEMES_PROMPT_ENTER_THEME_NAME, STR_STRING, (uintptr_t)activeThemeName, 64); + break; + case WIDX_THEMES_DELETE_BUTTON: + if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { + window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE); + } else { + theme_delete(); + } + break; + case WIDX_THEMES_RENAME_BUTTON: + if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { + window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE); + } else { + activeAvailableThemeIndex = theme_manager_get_active_available_theme_index(); + activeThemeName = theme_manager_get_available_theme_name(activeAvailableThemeIndex); + window_text_input_open(w, widgetIndex, STR_TRACK_MANAGE_RENAME, STR_THEMES_PROMPT_ENTER_THEME_NAME, STR_STRING, (uintptr_t)activeThemeName, 64); + } + break; + } } static void window_themes_resize(rct_window *w) { - if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS) { - w->min_width = 320; - w->min_height = 107; - w->max_width = 320; - w->max_height = 107; + if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS) { + w->min_width = 320; + w->min_height = 107; + w->max_width = 320; + w->max_height = 107; - if (w->width < w->min_width) { - w->width = w->min_width; - gfx_invalidate_screen(); - } - if (w->height < w->min_height) { - w->height = w->min_height; - gfx_invalidate_screen(); - } - if (w->width > w->max_width) { - w->width = w->max_width; - gfx_invalidate_screen(); - } - if (w->height > w->max_height) { - w->height = w->max_height; - gfx_invalidate_screen(); - } - } - else if (_selected_tab == WINDOW_THEMES_TAB_FEATURES) { - w->min_width = 320; - w->min_height = 107; - w->max_width = 320; - w->max_height = 107; + if (w->width < w->min_width) { + w->width = w->min_width; + gfx_invalidate_screen(); + } + if (w->height < w->min_height) { + w->height = w->min_height; + gfx_invalidate_screen(); + } + if (w->width > w->max_width) { + w->width = w->max_width; + gfx_invalidate_screen(); + } + if (w->height > w->max_height) { + w->height = w->max_height; + gfx_invalidate_screen(); + } + } + else if (_selected_tab == WINDOW_THEMES_TAB_FEATURES) { + w->min_width = 320; + w->min_height = 107; + w->max_width = 320; + w->max_height = 107; - if (w->width < w->min_width) { - w->width = w->min_width; - gfx_invalidate_screen(); - } - if (w->height < w->min_height) { - w->height = w->min_height; - gfx_invalidate_screen(); - } - if (w->width > w->max_width) { - w->width = w->max_width; - gfx_invalidate_screen(); - } - if (w->height > w->max_height) { - w->height = w->max_height; - gfx_invalidate_screen(); - } - } - else { - w->min_width = 320; - w->min_height = 270; - w->max_width = 320; - w->max_height = 450; + if (w->width < w->min_width) { + w->width = w->min_width; + gfx_invalidate_screen(); + } + if (w->height < w->min_height) { + w->height = w->min_height; + gfx_invalidate_screen(); + } + if (w->width > w->max_width) { + w->width = w->max_width; + gfx_invalidate_screen(); + } + if (w->height > w->max_height) { + w->height = w->max_height; + gfx_invalidate_screen(); + } + } + else { + w->min_width = 320; + w->min_height = 270; + w->max_width = 320; + w->max_height = 450; - if (w->width < w->min_width) { - w->width = w->min_width; - window_invalidate(w); - } - if (w->height < w->min_height) { - w->height = w->min_height; - window_invalidate(w); - } - if (w->width > w->max_width) { - w->width = w->max_width; - window_invalidate(w); - } - if (w->height > w->max_height) { - w->height = w->max_height; - window_invalidate(w); - } - } + if (w->width < w->min_width) { + w->width = w->min_width; + window_invalidate(w); + } + if (w->height < w->min_height) { + w->height = w->min_height; + window_invalidate(w); + } + if (w->width > w->max_width) { + w->width = w->max_width; + window_invalidate(w); + } + if (w->height > w->max_height) { + w->height = w->max_height; + window_invalidate(w); + } + } } static void window_themes_mousedown(rct_widgetindex widgetIndex, rct_window* w, rct_widget* widget) { - sint16 newSelectedTab; - sint32 num_items; + sint16 newSelectedTab; + sint32 num_items; - switch (widgetIndex) { - case WIDX_THEMES_SETTINGS_TAB: - case WIDX_THEMES_MAIN_UI_TAB: - case WIDX_THEMES_PARK_TAB: - case WIDX_THEMES_TOOLS_TAB: - case WIDX_THEMES_RIDE_PEEPS_TAB: - case WIDX_THEMES_EDITORS_TAB: - case WIDX_THEMES_MISC_TAB: - case WIDX_THEMES_PROMPTS_TAB: - case WIDX_THEMES_FEATURES_TAB: - newSelectedTab = widgetIndex - WIDX_THEMES_SETTINGS_TAB; - if (_selected_tab == newSelectedTab) - break; - _selected_tab = (uint8)newSelectedTab; - w->scrolls[0].v_top = 0; - w->frame_no = 0; - window_event_resize_call(w); - window_invalidate(w); - break; - case WIDX_THEMES_PRESETS_DROPDOWN: - theme_manager_load_available_themes(); - num_items = (sint32)theme_manager_get_num_available_themes(); + switch (widgetIndex) { + case WIDX_THEMES_SETTINGS_TAB: + case WIDX_THEMES_MAIN_UI_TAB: + case WIDX_THEMES_PARK_TAB: + case WIDX_THEMES_TOOLS_TAB: + case WIDX_THEMES_RIDE_PEEPS_TAB: + case WIDX_THEMES_EDITORS_TAB: + case WIDX_THEMES_MISC_TAB: + case WIDX_THEMES_PROMPTS_TAB: + case WIDX_THEMES_FEATURES_TAB: + newSelectedTab = widgetIndex - WIDX_THEMES_SETTINGS_TAB; + if (_selected_tab == newSelectedTab) + break; + _selected_tab = (uint8)newSelectedTab; + w->scrolls[0].v_top = 0; + w->frame_no = 0; + window_event_resize_call(w); + window_invalidate(w); + break; + case WIDX_THEMES_PRESETS_DROPDOWN: + theme_manager_load_available_themes(); + num_items = (sint32)theme_manager_get_num_available_themes(); - widget--; - for (sint32 i = 0; i < num_items; i++) { - gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; - gDropdownItemsArgs[i] = (uintptr_t)theme_manager_get_available_theme_name(i); - } + widget--; + for (sint32 i = 0; i < num_items; i++) { + gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; + gDropdownItemsArgs[i] = (uintptr_t)theme_manager_get_available_theme_name(i); + } - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - num_items, - widget->right - widget->left - 3 - ); + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + num_items, + widget->right - widget->left - 3 + ); - dropdown_set_checked((sint32)theme_manager_get_active_available_theme_index(), true); - break; - case WIDX_THEMES_RCT1_RIDE_LIGHTS: - if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { - window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE); - } else { - theme_set_flags(theme_get_flags() ^ UITHEME_FLAG_USE_LIGHTS_RIDE); - theme_save(); - window_invalidate_all(); - } - break; - case WIDX_THEMES_RCT1_PARK_LIGHTS: - if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { - window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE); - } else { - theme_set_flags(theme_get_flags() ^ UITHEME_FLAG_USE_LIGHTS_PARK); - theme_save(); - window_invalidate_all(); - } - break; - case WIDX_THEMES_RCT1_SCENARIO_FONT: - if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { - window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE); - } else { - theme_set_flags(theme_get_flags() ^ UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT); - theme_save(); - window_invalidate_all(); - } - break; - } + dropdown_set_checked((sint32)theme_manager_get_active_available_theme_index(), true); + break; + case WIDX_THEMES_RCT1_RIDE_LIGHTS: + if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { + window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE); + } else { + theme_set_flags(theme_get_flags() ^ UITHEME_FLAG_USE_LIGHTS_RIDE); + theme_save(); + window_invalidate_all(); + } + break; + case WIDX_THEMES_RCT1_PARK_LIGHTS: + if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { + window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE); + } else { + theme_set_flags(theme_get_flags() ^ UITHEME_FLAG_USE_LIGHTS_PARK); + theme_save(); + window_invalidate_all(); + } + break; + case WIDX_THEMES_RCT1_SCENARIO_FONT: + if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { + window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE); + } else { + theme_set_flags(theme_get_flags() ^ UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT); + theme_save(); + window_invalidate_all(); + } + break; + } } static void window_themes_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - switch (widgetIndex) { - case WIDX_THEMES_LIST: - if (dropdownIndex != -1) { - rct_windowclass wc = get_window_class_tab_index(_colour_index_1); - uint8 colour = theme_get_colour(wc, _colour_index_2); - colour = (colour & COLOUR_FLAG_TRANSLUCENT) | dropdownIndex; - theme_set_colour(wc, _colour_index_2, colour); - window_invalidate_all(); - _colour_index_1 = -1; - _colour_index_2 = -1; + switch (widgetIndex) { + case WIDX_THEMES_LIST: + if (dropdownIndex != -1) { + rct_windowclass wc = get_window_class_tab_index(_colour_index_1); + uint8 colour = theme_get_colour(wc, _colour_index_2); + colour = (colour & COLOUR_FLAG_TRANSLUCENT) | dropdownIndex; + theme_set_colour(wc, _colour_index_2, colour); + window_invalidate_all(); + _colour_index_1 = -1; + _colour_index_2 = -1; - // if (gCurrentTheme >= 2) - // themes_save_preset(gCurrentTheme); - } - break; - case WIDX_THEMES_PRESETS_DROPDOWN: - if (dropdownIndex != -1) { - theme_manager_set_active_available_theme(dropdownIndex); - } - break; - } + // if (gCurrentTheme >= 2) + // themes_save_preset(gCurrentTheme); + } + break; + case WIDX_THEMES_PRESETS_DROPDOWN: + if (dropdownIndex != -1) { + theme_manager_set_active_available_theme(dropdownIndex); + } + break; + } } void window_themes_update(rct_window *w) { - w->frame_no++; - if (w->frame_no >= window_themes_tab_animation_loops[_selected_tab]) - w->frame_no = 0; + w->frame_no++; + if (w->frame_no >= window_themes_tab_animation_loops[_selected_tab]) + w->frame_no = 0; - widget_invalidate(w, WIDX_THEMES_SETTINGS_TAB + _selected_tab); + widget_invalidate(w, WIDX_THEMES_SETTINGS_TAB + _selected_tab); } void window_themes_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS || _selected_tab == WINDOW_THEMES_TAB_FEATURES) - return; + if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS || _selected_tab == WINDOW_THEMES_TAB_FEATURES) + return; - sint32 scrollHeight = get_colour_scheme_tab_count() * _row_height; - sint32 i = scrollHeight - window_themes_widgets[WIDX_THEMES_LIST].bottom + window_themes_widgets[WIDX_THEMES_LIST].top + 21; - if (i < 0) - i = 0; - if (i < w->scrolls[0].v_top) { - w->scrolls[0].v_top = i; - window_invalidate(w); - } + sint32 scrollHeight = get_colour_scheme_tab_count() * _row_height; + sint32 i = scrollHeight - window_themes_widgets[WIDX_THEMES_LIST].bottom + window_themes_widgets[WIDX_THEMES_LIST].top + 21; + if (i < 0) + i = 0; + if (i < w->scrolls[0].v_top) { + w->scrolls[0].v_top = i; + window_invalidate(w); + } - *width = 420; - *height = scrollHeight; + *width = 420; + *height = scrollHeight; } void window_themes_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - if (y / _row_height < get_colour_scheme_tab_count()) { - sint32 y2 = y % _row_height; - _colour_index_1 = y / _row_height; - _colour_index_2 = ((x - _button_offset_x) / 12); + if (y / _row_height < get_colour_scheme_tab_count()) { + sint32 y2 = y % _row_height; + _colour_index_1 = y / _row_height; + _colour_index_2 = ((x - _button_offset_x) / 12); - rct_windowclass wc = get_window_class_tab_index(_colour_index_1); - sint32 numColours = theme_desc_get_num_colours(wc); - if (_colour_index_2 < numColours) { - if (x >= _button_offset_x && x < _button_offset_x + 12 * 6 && y2 >= _button_offset_y && y2 < _button_offset_y + 11) { - if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { - window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_THEMES_DESC_CANT_CHANGE_THIS_THEME); - } else { - window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WWT_COLOURBTN; - window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].left = _button_offset_x + _colour_index_2 * 12 + window_themes_widgets[WIDX_THEMES_LIST].left; - window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].top = _colour_index_1 * _row_height + _button_offset_y - w->scrolls[0].v_top + window_themes_widgets[WIDX_THEMES_LIST].top; - window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].right = window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].left + 12; - window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].bottom = window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].top + 12; + rct_windowclass wc = get_window_class_tab_index(_colour_index_1); + sint32 numColours = theme_desc_get_num_colours(wc); + if (_colour_index_2 < numColours) { + if (x >= _button_offset_x && x < _button_offset_x + 12 * 6 && y2 >= _button_offset_y && y2 < _button_offset_y + 11) { + if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { + window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_THEMES_DESC_CANT_CHANGE_THIS_THEME); + } else { + window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WWT_COLOURBTN; + window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].left = _button_offset_x + _colour_index_2 * 12 + window_themes_widgets[WIDX_THEMES_LIST].left; + window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].top = _colour_index_1 * _row_height + _button_offset_y - w->scrolls[0].v_top + window_themes_widgets[WIDX_THEMES_LIST].top; + window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].right = window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].left + 12; + window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].bottom = window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].top + 12; - uint8 colour = theme_get_colour(wc, _colour_index_2); - window_dropdown_show_colour(w, &(window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK]), w->colours[1], colour); - widget_invalidate(w, WIDX_THEMES_LIST); - } - } - else if (x >= _button_offset_x && x < _button_offset_x + 12 * 6 - 1 && y2 >= _check_offset_y && y2 < _check_offset_y + 11) { - if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { - window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_THEMES_DESC_CANT_CHANGE_THIS_THEME); - } else { - uint8 colour = theme_get_colour(wc, _colour_index_2); - if (colour & COLOUR_FLAG_TRANSLUCENT) { - colour &= ~COLOUR_FLAG_TRANSLUCENT; - } else { - colour |= COLOUR_FLAG_TRANSLUCENT; - } - theme_set_colour(wc, _colour_index_2, colour); - window_invalidate_all(); - } - } - } - } + uint8 colour = theme_get_colour(wc, _colour_index_2); + window_dropdown_show_colour(w, &(window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK]), w->colours[1], colour); + widget_invalidate(w, WIDX_THEMES_LIST); + } + } + else if (x >= _button_offset_x && x < _button_offset_x + 12 * 6 - 1 && y2 >= _check_offset_y && y2 < _check_offset_y + 11) { + if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { + window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_THEMES_DESC_CANT_CHANGE_THIS_THEME); + } else { + uint8 colour = theme_get_colour(wc, _colour_index_2); + if (colour & COLOUR_FLAG_TRANSLUCENT) { + colour &= ~COLOUR_FLAG_TRANSLUCENT; + } else { + colour |= COLOUR_FLAG_TRANSLUCENT; + } + theme_set_colour(wc, _colour_index_2, colour); + window_invalidate_all(); + } + } + } + } } void window_themes_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - //if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS) - // return; + //if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS) + // return; } static void window_themes_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (text == NULL || text[0] == 0) - return; + if (text == NULL || text[0] == 0) + return; - switch (widgetIndex) { - case WIDX_THEMES_DUPLICATE_BUTTON: - case WIDX_THEMES_RENAME_BUTTON: - if (filename_valid_characters(text)) { - bool nameTaken = false; - sint32 numAvailableThemes = (sint32)theme_manager_get_num_available_themes(); - for (sint32 i = 0; i < numAvailableThemes; i++) { - const utf8 * themeName = theme_manager_get_available_theme_name(i); - if (strcmp(themeName, text) == 0) { - if (widgetIndex != WIDX_THEMES_RENAME_BUTTON) { - window_error_open(STR_THEMES_ERR_NAME_ALREADY_EXISTS, STR_NONE); - } - nameTaken = true; - break; - } - } - if (!nameTaken) { - if (widgetIndex == WIDX_THEMES_DUPLICATE_BUTTON) { - theme_duplicate(text); - } else { - theme_rename(text); - } - window_invalidate(w); - } - } else { - window_error_open(STR_ERROR_INVALID_CHARACTERS, STR_NONE); - } - break; - } + switch (widgetIndex) { + case WIDX_THEMES_DUPLICATE_BUTTON: + case WIDX_THEMES_RENAME_BUTTON: + if (filename_valid_characters(text)) { + bool nameTaken = false; + sint32 numAvailableThemes = (sint32)theme_manager_get_num_available_themes(); + for (sint32 i = 0; i < numAvailableThemes; i++) { + const utf8 * themeName = theme_manager_get_available_theme_name(i); + if (strcmp(themeName, text) == 0) { + if (widgetIndex != WIDX_THEMES_RENAME_BUTTON) { + window_error_open(STR_THEMES_ERR_NAME_ALREADY_EXISTS, STR_NONE); + } + nameTaken = true; + break; + } + } + if (!nameTaken) { + if (widgetIndex == WIDX_THEMES_DUPLICATE_BUTTON) { + theme_duplicate(text); + } else { + theme_rename(text); + } + window_invalidate(w); + } + } else { + window_error_open(STR_ERROR_INVALID_CHARACTERS, STR_NONE); + } + break; + } } void window_themes_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_LIST); + set_format_arg(0, rct_string_id, STR_LIST); } void window_themes_invalidate(rct_window *w) { - sint32 pressed_widgets = w->pressed_widgets & ~( - (1LL << WIDX_THEMES_SETTINGS_TAB) | - (1LL << WIDX_THEMES_MAIN_UI_TAB) | - (1LL << WIDX_THEMES_PARK_TAB) | - (1LL << WIDX_THEMES_TOOLS_TAB) | - (1LL << WIDX_THEMES_RIDE_PEEPS_TAB) | - (1LL << WIDX_THEMES_EDITORS_TAB) | - (1LL << WIDX_THEMES_MISC_TAB) | - (1LL << WIDX_THEMES_PROMPTS_TAB) | - (1LL << WIDX_THEMES_FEATURES_TAB) - ); - rct_widgetindex widgetIndex = _selected_tab + WIDX_THEMES_SETTINGS_TAB; + sint32 pressed_widgets = w->pressed_widgets & ~( + (1LL << WIDX_THEMES_SETTINGS_TAB) | + (1LL << WIDX_THEMES_MAIN_UI_TAB) | + (1LL << WIDX_THEMES_PARK_TAB) | + (1LL << WIDX_THEMES_TOOLS_TAB) | + (1LL << WIDX_THEMES_RIDE_PEEPS_TAB) | + (1LL << WIDX_THEMES_EDITORS_TAB) | + (1LL << WIDX_THEMES_MISC_TAB) | + (1LL << WIDX_THEMES_PROMPTS_TAB) | + (1LL << WIDX_THEMES_FEATURES_TAB) + ); + rct_widgetindex widgetIndex = _selected_tab + WIDX_THEMES_SETTINGS_TAB; - w->pressed_widgets = pressed_widgets | (1 << widgetIndex); + w->pressed_widgets = pressed_widgets | (1 << widgetIndex); - if (window_find_by_class(WC_DROPDOWN) == NULL) { - _colour_index_1 = -1; - _colour_index_2 = -1; - } + if (window_find_by_class(WC_DROPDOWN) == NULL) { + _colour_index_1 = -1; + _colour_index_2 = -1; + } - window_themes_widgets[WIDX_THEMES_BACKGROUND].right = w->width - 1; - window_themes_widgets[WIDX_THEMES_BACKGROUND].bottom = w->height - 1; - window_themes_widgets[WIDX_THEMES_TAB_CONTENT_PANEL].right = w->width - 1; - window_themes_widgets[WIDX_THEMES_TAB_CONTENT_PANEL].bottom = w->height - 1; - window_themes_widgets[WIDX_THEMES_TITLE].right = w->width - 2; - window_themes_widgets[WIDX_THEMES_CLOSE].left = w->width - 2 - 0x0B; - window_themes_widgets[WIDX_THEMES_CLOSE].right = w->width - 2 - 0x0B + 0x0A; - window_themes_widgets[WIDX_THEMES_LIST].right = w->width - 4; - window_themes_widgets[WIDX_THEMES_LIST].bottom = w->height - 0x0F; + window_themes_widgets[WIDX_THEMES_BACKGROUND].right = w->width - 1; + window_themes_widgets[WIDX_THEMES_BACKGROUND].bottom = w->height - 1; + window_themes_widgets[WIDX_THEMES_TAB_CONTENT_PANEL].right = w->width - 1; + window_themes_widgets[WIDX_THEMES_TAB_CONTENT_PANEL].bottom = w->height - 1; + window_themes_widgets[WIDX_THEMES_TITLE].right = w->width - 2; + window_themes_widgets[WIDX_THEMES_CLOSE].left = w->width - 2 - 0x0B; + window_themes_widgets[WIDX_THEMES_CLOSE].right = w->width - 2 - 0x0B + 0x0A; + window_themes_widgets[WIDX_THEMES_LIST].right = w->width - 4; + window_themes_widgets[WIDX_THEMES_LIST].bottom = w->height - 0x0F; - window_themes_widgets[WIDX_THEMES_LIST].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_PRESETS].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_LIST].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_PRESETS].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WWT_EMPTY; - if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS) { - window_themes_widgets[WIDX_THEMES_LIST].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WWT_DROPDOWN_BUTTON; - window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WWT_DROPDOWN_BUTTON; - window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WWT_DROPDOWN_BUTTON; - window_themes_widgets[WIDX_THEMES_PRESETS].type = WWT_DROPDOWN; - window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - } - else if (_selected_tab == WINDOW_THEMES_TAB_FEATURES) { - window_themes_widgets[WIDX_THEMES_LIST].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WWT_CHECKBOX; - window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WWT_CHECKBOX; - window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WWT_CHECKBOX; - window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_PRESETS].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WWT_EMPTY; + if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS) { + window_themes_widgets[WIDX_THEMES_LIST].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WWT_DROPDOWN_BUTTON; + window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WWT_DROPDOWN_BUTTON; + window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WWT_DROPDOWN_BUTTON; + window_themes_widgets[WIDX_THEMES_PRESETS].type = WWT_DROPDOWN; + window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + } + else if (_selected_tab == WINDOW_THEMES_TAB_FEATURES) { + window_themes_widgets[WIDX_THEMES_LIST].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WWT_CHECKBOX; + window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WWT_CHECKBOX; + window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WWT_CHECKBOX; + window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_PRESETS].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WWT_EMPTY; - widget_set_checkbox_value(w, WIDX_THEMES_RCT1_RIDE_LIGHTS, theme_get_flags() & UITHEME_FLAG_USE_LIGHTS_RIDE); - widget_set_checkbox_value(w, WIDX_THEMES_RCT1_PARK_LIGHTS, theme_get_flags() & UITHEME_FLAG_USE_LIGHTS_PARK); - widget_set_checkbox_value(w, WIDX_THEMES_RCT1_SCENARIO_FONT, theme_get_flags() & UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT); - } - else { - window_themes_widgets[WIDX_THEMES_LIST].type = WWT_SCROLL; - window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_PRESETS].type = WWT_EMPTY; - window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WWT_EMPTY; - } + widget_set_checkbox_value(w, WIDX_THEMES_RCT1_RIDE_LIGHTS, theme_get_flags() & UITHEME_FLAG_USE_LIGHTS_RIDE); + widget_set_checkbox_value(w, WIDX_THEMES_RCT1_PARK_LIGHTS, theme_get_flags() & UITHEME_FLAG_USE_LIGHTS_PARK); + widget_set_checkbox_value(w, WIDX_THEMES_RCT1_SCENARIO_FONT, theme_get_flags() & UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT); + } + else { + window_themes_widgets[WIDX_THEMES_LIST].type = WWT_SCROLL; + window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_PRESETS].type = WWT_EMPTY; + window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WWT_EMPTY; + } } void window_themes_paint(rct_window *w, rct_drawpixelinfo *dpi) { - // Widgets - window_draw_widgets(w, dpi); - window_themes_draw_tab_images(dpi, w); + // Widgets + window_draw_widgets(w, dpi); + window_themes_draw_tab_images(dpi, w); - if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS) { - size_t activeAvailableThemeIndex = theme_manager_get_active_available_theme_index(); - const utf8 * activeThemeName = theme_manager_get_available_theme_name(activeAvailableThemeIndex); - set_format_arg(0, uintptr_t, (uintptr_t)activeThemeName); - gfx_draw_string_left(dpi, STR_THEMES_LABEL_CURRENT_THEME, NULL, w->colours[1], w->x + 10, w->y + window_themes_widgets[WIDX_THEMES_PRESETS].top + 1); - gfx_draw_string_left_clipped( - dpi, - STR_STRING, - gCommonFormatArgs, - w->colours[1], - w->x + window_themes_widgets[WIDX_THEMES_PRESETS].left + 1, - w->y + window_themes_widgets[WIDX_THEMES_PRESETS].top, - w->x + window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].left - window_themes_widgets[WIDX_THEMES_PRESETS].left - 4 - ); - } - else if (_selected_tab == WINDOW_THEMES_TAB_FEATURES) { + if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS) { + size_t activeAvailableThemeIndex = theme_manager_get_active_available_theme_index(); + const utf8 * activeThemeName = theme_manager_get_available_theme_name(activeAvailableThemeIndex); + set_format_arg(0, uintptr_t, (uintptr_t)activeThemeName); + gfx_draw_string_left(dpi, STR_THEMES_LABEL_CURRENT_THEME, NULL, w->colours[1], w->x + 10, w->y + window_themes_widgets[WIDX_THEMES_PRESETS].top + 1); + gfx_draw_string_left_clipped( + dpi, + STR_STRING, + gCommonFormatArgs, + w->colours[1], + w->x + window_themes_widgets[WIDX_THEMES_PRESETS].left + 1, + w->y + window_themes_widgets[WIDX_THEMES_PRESETS].top, + w->x + window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].left - window_themes_widgets[WIDX_THEMES_PRESETS].left - 4 + ); + } + else if (_selected_tab == WINDOW_THEMES_TAB_FEATURES) { - } - else { - gfx_draw_string_left(dpi, STR_THEMES_HEADER_WINDOW, w, w->colours[1], w->x + 6, 58 - 12 + w->y + 1); - gfx_draw_string_left(dpi, STR_THEMES_HEADER_PALETTE, w, w->colours[1], w->x + 220, 58 - 12 + w->y + 1); - } + } + else { + gfx_draw_string_left(dpi, STR_THEMES_HEADER_WINDOW, w, w->colours[1], w->x + 6, 58 - 12 + w->y + 1); + gfx_draw_string_left(dpi, STR_THEMES_HEADER_PALETTE, w, w->colours[1], w->x + 220, 58 - 12 + w->y + 1); + } } /** @@ -801,57 +801,57 @@ void window_themes_paint(rct_window *w, rct_drawpixelinfo *dpi) */ void window_themes_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - sint32 y; + sint32 y; - if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS || _selected_tab == WINDOW_THEMES_TAB_FEATURES) - return; + if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS || _selected_tab == WINDOW_THEMES_TAB_FEATURES) + return; - if ((w->colours[1] & 0x80) == 0) - //gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); - gfx_clear(dpi, ColourMapA[w->colours[1]].mid_light); - y = 0; - for (sint32 i = 0; i < get_colour_scheme_tab_count(); i++) { - if (y > dpi->y + dpi->height) { - break; - } - if (y + _row_height >= dpi->y) { - if (i + 1 < get_colour_scheme_tab_count()) { - sint32 colour = w->colours[1]; - if (colour & COLOUR_FLAG_TRANSLUCENT) { - translucent_window_palette windowPalette = TranslucentWindowPalettes[BASE_COLOUR(colour)]; + if ((w->colours[1] & 0x80) == 0) + //gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); + gfx_clear(dpi, ColourMapA[w->colours[1]].mid_light); + y = 0; + for (sint32 i = 0; i < get_colour_scheme_tab_count(); i++) { + if (y > dpi->y + dpi->height) { + break; + } + if (y + _row_height >= dpi->y) { + if (i + 1 < get_colour_scheme_tab_count()) { + sint32 colour = w->colours[1]; + if (colour & COLOUR_FLAG_TRANSLUCENT) { + translucent_window_palette windowPalette = TranslucentWindowPalettes[BASE_COLOUR(colour)]; - gfx_filter_rect(dpi, 0, y + _row_height - 2, window_themes_widgets[WIDX_THEMES_LIST].right, y + _row_height - 2, windowPalette.highlight); - gfx_filter_rect(dpi, 0, y + _row_height - 1, window_themes_widgets[WIDX_THEMES_LIST].right, y + _row_height - 1, windowPalette.shadow); - } - else { - colour = ColourMapA[w->colours[1]].mid_dark; - gfx_fill_rect(dpi, 0, y + _row_height - 2, window_themes_widgets[WIDX_THEMES_LIST].right, y + _row_height - 2, colour); - colour = ColourMapA[w->colours[1]].lightest; - gfx_fill_rect(dpi, 0, y + _row_height - 1, window_themes_widgets[WIDX_THEMES_LIST].right, y + _row_height - 1, colour); - } - } + gfx_filter_rect(dpi, 0, y + _row_height - 2, window_themes_widgets[WIDX_THEMES_LIST].right, y + _row_height - 2, windowPalette.highlight); + gfx_filter_rect(dpi, 0, y + _row_height - 1, window_themes_widgets[WIDX_THEMES_LIST].right, y + _row_height - 1, windowPalette.shadow); + } + else { + colour = ColourMapA[w->colours[1]].mid_dark; + gfx_fill_rect(dpi, 0, y + _row_height - 2, window_themes_widgets[WIDX_THEMES_LIST].right, y + _row_height - 2, colour); + colour = ColourMapA[w->colours[1]].lightest; + gfx_fill_rect(dpi, 0, y + _row_height - 1, window_themes_widgets[WIDX_THEMES_LIST].right, y + _row_height - 1, colour); + } + } - rct_windowclass wc = get_window_class_tab_index(i); - sint32 numColours = theme_desc_get_num_colours(wc); - for (uint8 j = 0; j < numColours; j++) { - gfx_draw_string_left(dpi, theme_desc_get_name(wc), NULL, w->colours[1], 2, y + 4); + rct_windowclass wc = get_window_class_tab_index(i); + sint32 numColours = theme_desc_get_num_colours(wc); + for (uint8 j = 0; j < numColours; j++) { + gfx_draw_string_left(dpi, theme_desc_get_name(wc), NULL, w->colours[1], 2, y + 4); - uint8 colour = theme_get_colour(wc, j); - uint32 image = ((colour & ~COLOUR_FLAG_TRANSLUCENT) << 19) | 0x60000000 | SPR_PALETTE_BTN; - if (i == _colour_index_1 && j == _colour_index_2) { - image = ((colour & ~COLOUR_FLAG_TRANSLUCENT) << 19) | 0x60000000 | SPR_PALETTE_BTN_PRESSED; - } - gfx_draw_sprite(dpi, image, _button_offset_x + 12 * j, y + _button_offset_y, 0); + uint8 colour = theme_get_colour(wc, j); + uint32 image = ((colour & ~COLOUR_FLAG_TRANSLUCENT) << 19) | 0x60000000 | SPR_PALETTE_BTN; + if (i == _colour_index_1 && j == _colour_index_2) { + image = ((colour & ~COLOUR_FLAG_TRANSLUCENT) << 19) | 0x60000000 | SPR_PALETTE_BTN_PRESSED; + } + gfx_draw_sprite(dpi, image, _button_offset_x + 12 * j, y + _button_offset_y, 0); - gfx_fill_rect_inset(dpi, _button_offset_x + 12 * j, y + _check_offset_y, _button_offset_x + 12 * j + 9, y + _check_offset_y + 10, w->colours[1], INSET_RECT_F_E0); - if (colour & COLOUR_FLAG_TRANSLUCENT) { - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM_DARK; - gfx_draw_string(dpi, (char*)CheckBoxMarkString, w->colours[1] & 0x7F, _button_offset_x + 12 * j, y + _check_offset_y); - } + gfx_fill_rect_inset(dpi, _button_offset_x + 12 * j, y + _check_offset_y, _button_offset_x + 12 * j + 9, y + _check_offset_y + 10, w->colours[1], INSET_RECT_F_E0); + if (colour & COLOUR_FLAG_TRANSLUCENT) { + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM_DARK; + gfx_draw_string(dpi, (char*)CheckBoxMarkString, w->colours[1] & 0x7F, _button_offset_x + 12 * j, y + _check_offset_y); + } - } - } + } + } - y += _row_height; - } + y += _row_height; + } } diff --git a/src/openrct2/windows/tile_inspector.c b/src/openrct2/windows/tile_inspector.c index b771feaf05..4ec6ea2da8 100644 --- a/src/openrct2/windows/tile_inspector.c +++ b/src/openrct2/windows/tile_inspector.c @@ -32,157 +32,157 @@ #include "tile_inspector.h" static const rct_string_id TerrainTypeStringIds[] = { - STR_TILE_INSPECTOR_TERRAIN_GRASS, - STR_TILE_INSPECTOR_TERRAIN_SAND, - STR_TILE_INSPECTOR_TERRAIN_DIRT, - STR_TILE_INSPECTOR_TERRAIN_ROCK, - STR_TILE_INSPECTOR_TERRAIN_MARTIAN, - STR_TILE_INSPECTOR_TERRAIN_CHECKERBOARD, - STR_TILE_INSPECTOR_TERRAIN_GRASS_CLUMPS, - STR_TILE_INSPECTOR_TERRAIN_ICE, - STR_TILE_INSPECTOR_TERRAIN_GRID_RED, - STR_TILE_INSPECTOR_TERRAIN_GRID_YELLOW, - STR_TILE_INSPECTOR_TERRAIN_GRID_BLUE, - STR_TILE_INSPECTOR_TERRAIN_GRID_GREEN, - STR_TILE_INSPECTOR_TERRAIN_SAND_DARK, - STR_TILE_INSPECTOR_TERRAIN_SAND_LIGHT, - STR_TILE_INSPECTOR_TERRAIN_CHECKERBOARD_INVERTED, - STR_TILE_INSPECTOR_TERRAIN_UNDERGROUND_VIEW, + STR_TILE_INSPECTOR_TERRAIN_GRASS, + STR_TILE_INSPECTOR_TERRAIN_SAND, + STR_TILE_INSPECTOR_TERRAIN_DIRT, + STR_TILE_INSPECTOR_TERRAIN_ROCK, + STR_TILE_INSPECTOR_TERRAIN_MARTIAN, + STR_TILE_INSPECTOR_TERRAIN_CHECKERBOARD, + STR_TILE_INSPECTOR_TERRAIN_GRASS_CLUMPS, + STR_TILE_INSPECTOR_TERRAIN_ICE, + STR_TILE_INSPECTOR_TERRAIN_GRID_RED, + STR_TILE_INSPECTOR_TERRAIN_GRID_YELLOW, + STR_TILE_INSPECTOR_TERRAIN_GRID_BLUE, + STR_TILE_INSPECTOR_TERRAIN_GRID_GREEN, + STR_TILE_INSPECTOR_TERRAIN_SAND_DARK, + STR_TILE_INSPECTOR_TERRAIN_SAND_LIGHT, + STR_TILE_INSPECTOR_TERRAIN_CHECKERBOARD_INVERTED, + STR_TILE_INSPECTOR_TERRAIN_UNDERGROUND_VIEW, }; static const rct_string_id TerrainEdgeTypeStringIds[] = { - STR_TILE_INSPECTOR_TERRAIN_EDGE_ROCK, - STR_TILE_INSPECTOR_TERRAIN_EDGE_WOOD_RED, - STR_TILE_INSPECTOR_TERRAIN_EDGE_WOOD_BLACK, - STR_TILE_INSPECTOR_TERRAIN_EDGE_ICE, + STR_TILE_INSPECTOR_TERRAIN_EDGE_ROCK, + STR_TILE_INSPECTOR_TERRAIN_EDGE_WOOD_RED, + STR_TILE_INSPECTOR_TERRAIN_EDGE_WOOD_BLACK, + STR_TILE_INSPECTOR_TERRAIN_EDGE_ICE, }; static const rct_string_id EntranceTypeStringIds[] = { - STR_TILE_INSPECTOR_ENTRANCE_TYPE_RIDE_ENTRANCE, - STR_TILE_INSPECTOR_ENTRANCE_TYPE_RIDE_EXIT, - STR_TILE_INSPECTOR_ENTRANCE_TYPE_PARK_ENTRANC, + STR_TILE_INSPECTOR_ENTRANCE_TYPE_RIDE_ENTRANCE, + STR_TILE_INSPECTOR_ENTRANCE_TYPE_RIDE_EXIT, + STR_TILE_INSPECTOR_ENTRANCE_TYPE_PARK_ENTRANC, }; static const rct_string_id ParkEntrancePartStringIds[] = { - STR_TILE_INSPECTOR_ENTRANCE_MIDDLE, - STR_TILE_INSPECTOR_ENTRANCE_LEFT, - STR_TILE_INSPECTOR_ENTRANCE_RIGHT + STR_TILE_INSPECTOR_ENTRANCE_MIDDLE, + STR_TILE_INSPECTOR_ENTRANCE_LEFT, + STR_TILE_INSPECTOR_ENTRANCE_RIGHT }; static const rct_string_id WallSlopeStringIds[] = { - STR_TILE_INSPECTOR_WALL_FLAT, - STR_TILE_INSPECTOR_WALL_SLOPED_LEFT, - STR_TILE_INSPECTOR_WALL_SLOPED_RIGHT + STR_TILE_INSPECTOR_WALL_FLAT, + STR_TILE_INSPECTOR_WALL_SLOPED_LEFT, + STR_TILE_INSPECTOR_WALL_SLOPED_RIGHT }; enum WINDOW_TILE_INSPECTOR_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_LIST, - WIDX_SPINNER_X, - WIDX_SPINNER_X_INCREASE, - WIDX_SPINNER_X_DECREASE, - WIDX_SPINNER_Y, - WIDX_SPINNER_Y_INCREASE, - WIDX_SPINNER_Y_DECREASE, - WIDX_BUTTON_CORRUPT, - WIDX_BUTTON_REMOVE, - WIDX_BUTTON_MOVE_DOWN, - WIDX_BUTTON_MOVE_UP, - WIDX_BUTTON_ROTATE, - WIDX_BUTTON_SORT, - WIDX_BUTTON_COPY, - WIDX_BUTTON_PASTE, - WIDX_COLUMN_TYPE, - WIDX_COLUMN_BASEHEIGHT, - WIDX_COLUMN_CLEARANCEHEIGHT, - WIDX_COLUMN_GHOSTFLAG, - WIDX_COLUMN_BROKENFLAG, - WIDX_COLUMN_LASTFLAG, - WIDX_GROUPBOX_DETAILS, - WIDX_GROUPBOX_PROPERTIES, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_LIST, + WIDX_SPINNER_X, + WIDX_SPINNER_X_INCREASE, + WIDX_SPINNER_X_DECREASE, + WIDX_SPINNER_Y, + WIDX_SPINNER_Y_INCREASE, + WIDX_SPINNER_Y_DECREASE, + WIDX_BUTTON_CORRUPT, + WIDX_BUTTON_REMOVE, + WIDX_BUTTON_MOVE_DOWN, + WIDX_BUTTON_MOVE_UP, + WIDX_BUTTON_ROTATE, + WIDX_BUTTON_SORT, + WIDX_BUTTON_COPY, + WIDX_BUTTON_PASTE, + WIDX_COLUMN_TYPE, + WIDX_COLUMN_BASEHEIGHT, + WIDX_COLUMN_CLEARANCEHEIGHT, + WIDX_COLUMN_GHOSTFLAG, + WIDX_COLUMN_BROKENFLAG, + WIDX_COLUMN_LASTFLAG, + WIDX_GROUPBOX_DETAILS, + WIDX_GROUPBOX_PROPERTIES, - PAGE_WIDGETS, + PAGE_WIDGETS, - // Surface - WIDX_SURFACE_SPINNER_HEIGHT = PAGE_WIDGETS, - WIDX_SURFACE_SPINNER_HEIGHT_INCREASE, - WIDX_SURFACE_SPINNER_HEIGHT_DECREASE, - WIDX_SURFACE_BUTTON_REMOVE_FENCES, - WIDX_SURFACE_BUTTON_RESTORE_FENCES, - WIDX_SURFACE_CHECK_CORNER_N, - WIDX_SURFACE_CHECK_CORNER_E, - WIDX_SURFACE_CHECK_CORNER_S, - WIDX_SURFACE_CHECK_CORNER_W, - WIDX_SURFACE_CHECK_DIAGONAL, + // Surface + WIDX_SURFACE_SPINNER_HEIGHT = PAGE_WIDGETS, + WIDX_SURFACE_SPINNER_HEIGHT_INCREASE, + WIDX_SURFACE_SPINNER_HEIGHT_DECREASE, + WIDX_SURFACE_BUTTON_REMOVE_FENCES, + WIDX_SURFACE_BUTTON_RESTORE_FENCES, + WIDX_SURFACE_CHECK_CORNER_N, + WIDX_SURFACE_CHECK_CORNER_E, + WIDX_SURFACE_CHECK_CORNER_S, + WIDX_SURFACE_CHECK_CORNER_W, + WIDX_SURFACE_CHECK_DIAGONAL, - // Path - WIDX_PATH_SPINNER_HEIGHT = PAGE_WIDGETS, - WIDX_PATH_SPINNER_HEIGHT_INCREASE, - WIDX_PATH_SPINNER_HEIGHT_DECREASE, - WIDX_PATH_CHECK_SLOPED, - WIDX_PATH_CHECK_EDGE_NE, // Note: This is NOT named after the world orientation, but after the way - WIDX_PATH_CHECK_EDGE_E, // it looks in the window (top corner is north). Their order is important, - WIDX_PATH_CHECK_EDGE_SE, // as this is the same order paths use for their corners / edges. - WIDX_PATH_CHECK_EDGE_S, // N - WIDX_PATH_CHECK_EDGE_SW, // NW-------NE - WIDX_PATH_CHECK_EDGE_W, // W ------------- E - WIDX_PATH_CHECK_EDGE_NW, // SW-------SE - WIDX_PATH_CHECK_EDGE_N, // S + // Path + WIDX_PATH_SPINNER_HEIGHT = PAGE_WIDGETS, + WIDX_PATH_SPINNER_HEIGHT_INCREASE, + WIDX_PATH_SPINNER_HEIGHT_DECREASE, + WIDX_PATH_CHECK_SLOPED, + WIDX_PATH_CHECK_EDGE_NE, // Note: This is NOT named after the world orientation, but after the way + WIDX_PATH_CHECK_EDGE_E, // it looks in the window (top corner is north). Their order is important, + WIDX_PATH_CHECK_EDGE_SE, // as this is the same order paths use for their corners / edges. + WIDX_PATH_CHECK_EDGE_S, // N + WIDX_PATH_CHECK_EDGE_SW, // NW-------NE + WIDX_PATH_CHECK_EDGE_W, // W ------------- E + WIDX_PATH_CHECK_EDGE_NW, // SW-------SE + WIDX_PATH_CHECK_EDGE_N, // S - // Track - WIDX_TRACK_CHECK_APPLY_TO_ALL = PAGE_WIDGETS, - WIDX_TRACK_SPINNER_HEIGHT, - WIDX_TRACK_SPINNER_HEIGHT_INCREASE, - WIDX_TRACK_SPINNER_HEIGHT_DECREASE, - WIDX_TRACK_CHECK_CHAIN_LIFT, + // Track + WIDX_TRACK_CHECK_APPLY_TO_ALL = PAGE_WIDGETS, + WIDX_TRACK_SPINNER_HEIGHT, + WIDX_TRACK_SPINNER_HEIGHT_INCREASE, + WIDX_TRACK_SPINNER_HEIGHT_DECREASE, + WIDX_TRACK_CHECK_CHAIN_LIFT, - // Scenery - WIDX_SCENERY_SPINNER_HEIGHT = PAGE_WIDGETS, - WIDX_SCENERY_SPINNER_HEIGHT_INCREASE, - WIDX_SCENERY_SPINNER_HEIGHT_DECREASE, - WIDX_SCENERY_CHECK_QUARTER_N, - WIDX_SCENERY_CHECK_QUARTER_E, - WIDX_SCENERY_CHECK_QUARTER_S, - WIDX_SCENERY_CHECK_QUARTER_W, - WIDX_SCENERY_CHECK_COLLISION_N, - WIDX_SCENERY_CHECK_COLLISION_E, - WIDX_SCENERY_CHECK_COLLISION_S, - WIDX_SCENERY_CHECK_COLLISION_W, + // Scenery + WIDX_SCENERY_SPINNER_HEIGHT = PAGE_WIDGETS, + WIDX_SCENERY_SPINNER_HEIGHT_INCREASE, + WIDX_SCENERY_SPINNER_HEIGHT_DECREASE, + WIDX_SCENERY_CHECK_QUARTER_N, + WIDX_SCENERY_CHECK_QUARTER_E, + WIDX_SCENERY_CHECK_QUARTER_S, + WIDX_SCENERY_CHECK_QUARTER_W, + WIDX_SCENERY_CHECK_COLLISION_N, + WIDX_SCENERY_CHECK_COLLISION_E, + WIDX_SCENERY_CHECK_COLLISION_S, + WIDX_SCENERY_CHECK_COLLISION_W, - // Entrance - WIDX_ENTRANCE_SPINNER_HEIGHT = PAGE_WIDGETS, - WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE, - WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE, + // Entrance + WIDX_ENTRANCE_SPINNER_HEIGHT = PAGE_WIDGETS, + WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE, + WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE, - // Wall - WIDX_WALL_SPINNER_HEIGHT = PAGE_WIDGETS, - WIDX_WALL_SPINNER_HEIGHT_INCREASE, - WIDX_WALL_SPINNER_HEIGHT_DECREASE, - WIDX_WALL_DROPDOWN_SLOPE, - WIDX_WALL_DROPDOWN_SLOPE_BUTTON, + // Wall + WIDX_WALL_SPINNER_HEIGHT = PAGE_WIDGETS, + WIDX_WALL_SPINNER_HEIGHT_INCREASE, + WIDX_WALL_SPINNER_HEIGHT_DECREASE, + WIDX_WALL_DROPDOWN_SLOPE, + WIDX_WALL_DROPDOWN_SLOPE_BUTTON, - // Large - WIDX_LARGE_SCENERY_SPINNER_HEIGHT = PAGE_WIDGETS, - WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE, - WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE, + // Large + WIDX_LARGE_SCENERY_SPINNER_HEIGHT = PAGE_WIDGETS, + WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE, + WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE, - // Banner - WIDX_BANNER_SPINNER_HEIGHT = PAGE_WIDGETS, - WIDX_BANNER_SPINNER_HEIGHT_INCREASE, - WIDX_BANNER_SPINNER_HEIGHT_DECREASE, - WIDX_BANNER_CHECK_BLOCK_NE, - WIDX_BANNER_CHECK_BLOCK_SE, - WIDX_BANNER_CHECK_BLOCK_SW, - WIDX_BANNER_CHECK_BLOCK_NW, + // Banner + WIDX_BANNER_SPINNER_HEIGHT = PAGE_WIDGETS, + WIDX_BANNER_SPINNER_HEIGHT_INCREASE, + WIDX_BANNER_SPINNER_HEIGHT_DECREASE, + WIDX_BANNER_CHECK_BLOCK_NE, + WIDX_BANNER_CHECK_BLOCK_SE, + WIDX_BANNER_CHECK_BLOCK_SW, + WIDX_BANNER_CHECK_BLOCK_NW, - // Corrupt - WIDX_CORRUPT_SPINNER_HEIGHT = PAGE_WIDGETS, - WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE, - WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE, - WIDX_CORRUPT_BUTTON_CLAMP, + // Corrupt + WIDX_CORRUPT_SPINNER_HEIGHT = PAGE_WIDGETS, + WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE, + WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE, + WIDX_CORRUPT_BUTTON_CLAMP, }; // Window sizes @@ -194,19 +194,19 @@ enum WINDOW_TILE_INSPECTOR_WIDGET_IDX { #define MAX_WH 800 // Button space for top buttons -#define BW (WW - 5) // Button's right side -#define BX (BW - 23) // Button's left side -#define BY 17 // Button's Top -#define BH (BY + 23) // Button's Bottom +#define BW (WW - 5) // Button's right side +#define BX (BW - 23) // Button's left side +#define BY 17 // Button's Top +#define BH (BY + 23) // Button's Bottom #define BS 24 // Column offsets for the table headers -#define COL_X_TYPE 3 // Type -#define COL_X_BH (COL_X_TYPE + 300) // Base height -#define COL_X_CH (COL_X_BH + 20) // Clearance height -#define COL_X_GF (COL_X_CH + 20) // Ghost flag -#define COL_X_BF (COL_X_GF + 12) // Broken flag -#define COL_X_LF (COL_X_BF + 12) // Last for tile flag +#define COL_X_TYPE 3 // Type +#define COL_X_BH (COL_X_TYPE + 300) // Base height +#define COL_X_CH (COL_X_BH + 20) // Clearance height +#define COL_X_GF (COL_X_CH + 20) // Ghost flag +#define COL_X_BF (COL_X_GF + 12) // Broken flag +#define COL_X_LF (COL_X_BF + 12) // Last for tile flag #define PADDING_BOTTOM 15 #define GROUPBOX_PADDING 6 @@ -218,229 +218,229 @@ enum WINDOW_TILE_INSPECTOR_WIDGET_IDX { // Calculates the .left, .right, .top and .bottom for buttons in a group box. // Buttons are used as reference points for all other widgets in the group boxes. -#define GBBL(col) (12 + col * (BUTTONW + HORIZONTAL_GROUPBOX_PADDING)) -#define GBBR(col) (GBBL(col) + BUTTONW) -#define GBBT(GROUPTOP, row) ((GROUPTOP) + 14 + row * (BUTTONH + VERTICAL_GROUPBOX_PADDING)) -#define GBBB(GROUPTOP, row) (GBBT((GROUPTOP), row) + BUTTONH) -#define GBB(GROUPTOP, col, row) GBBL(col), GBBR(col), GBBT((GROUPTOP), row), GBBB((GROUPTOP), row) +#define GBBL(col) (12 + col * (BUTTONW + HORIZONTAL_GROUPBOX_PADDING)) +#define GBBR(col) (GBBL(col) + BUTTONW) +#define GBBT(GROUPTOP, row) ((GROUPTOP) + 14 + row * (BUTTONH + VERTICAL_GROUPBOX_PADDING)) +#define GBBB(GROUPTOP, row) (GBBT((GROUPTOP), row) + BUTTONH) +#define GBB(GROUPTOP, col, row) GBBL(col), GBBR(col), GBBT((GROUPTOP), row), GBBB((GROUPTOP), row) #define GBBF(GROUPTOP, col, row)GBBL(col), WW - 10, GBBT((GROUPTOP), row), GBBB((GROUPTOP), row) // Full width // Spinners and dropdowns use the buttons as a reference -#define GBS(GBT, col, row) GBBL(col), GBBR(col), GBBT(GBT, row) + 3, GBBB(GBT, row) - 3 // Group box spinner / dropdown field -#define GBSI(GBT, col, row) GBBR(col) - 11, GBBR(col) - 1, GBBT(GBT, row) + 4, GBBT(GBT, row) + 8 // Group box spinner increase -#define GBSD(GBT, col, row) GBBR(col) - 11, GBBR(col) - 1, GBBB(GBT, row) - 8, GBBB(GBT, row) - 4 // Group box spinner decrease -#define GBDB(GBT, col, row) GBBR(col) - 11, GBBR(col) - 1, GBBT(GBT, row) + 4, GBBB(GBT, row) - 4 // Group box dropdown button +#define GBS(GBT, col, row) GBBL(col), GBBR(col), GBBT(GBT, row) + 3, GBBB(GBT, row) - 3 // Group box spinner / dropdown field +#define GBSI(GBT, col, row) GBBR(col) - 11, GBBR(col) - 1, GBBT(GBT, row) + 4, GBBT(GBT, row) + 8 // Group box spinner increase +#define GBSD(GBT, col, row) GBBR(col) - 11, GBBR(col) - 1, GBBB(GBT, row) - 8, GBBB(GBT, row) - 4 // Group box spinner decrease +#define GBDB(GBT, col, row) GBBR(col) - 11, GBBR(col) - 1, GBBT(GBT, row) + 4, GBBB(GBT, row) - 4 // Group box dropdown button // Checkbox - given topleft corner #define CHK(x, y) x, x + 13, y + 2, y + 15 #define MAIN_TILE_INSPECTOR_WIDGETS \ - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \ - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_TILE_INSPECTOR_TITLE, STR_WINDOW_TITLE_TIP }, /* title bar */ \ - { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \ - { WWT_SCROLL, 1, 3, WW - 4, 57, WH - PADDING_BOTTOM, 2, STR_NONE }, /* Element list */ \ - { WWT_SPINNER, 1, 20, 61, 23, 34, STR_NONE, STR_NONE }, /* Spinner for X */ \ - { WWT_DROPDOWN_BUTTON, 1, 51, 60, 24, 28, STR_NUMERIC_UP, STR_NONE }, /* increase X */ \ - { WWT_DROPDOWN_BUTTON, 1, 51, 60, 29, 33, STR_NUMERIC_DOWN, STR_NONE }, /* decrease X */ \ - { WWT_SPINNER, 1, 77, 118, 23, 34, STR_NONE, STR_NONE }, /* Spinner for Y */ \ - { WWT_DROPDOWN_BUTTON, 1, 108, 117, 24, 28, STR_NUMERIC_UP, STR_NONE }, /* increase Y */ \ - { WWT_DROPDOWN_BUTTON, 1, 108, 117, 29, 33, STR_NUMERIC_DOWN, STR_NONE }, /* decrease Y */ \ - /* Buttons */ \ - { WWT_FLATBTN, 1, BX, BW, BY, BH, SPR_MAP, STR_INSERT_CORRUPT_TIP }, /* Insert corrupt button */ \ - { WWT_FLATBTN, 1, BX - BS * 1, BW - BS * 1, BY, BH, SPR_DEMOLISH, STR_REMOVE_SELECTED_ELEMENT_TIP }, /* Remove button */ \ - { WWT_CLOSEBOX, 1, BX - BS * 2, BW - BS * 2, BY, BY + 11, STR_UP, STR_MOVE_SELECTED_ELEMENT_UP_TIP }, /* Move down */ \ - { WWT_CLOSEBOX, 1, BX - BS * 2, BW - BS * 2, BH - 11, BH, STR_DOWN, STR_MOVE_SELECTED_ELEMENT_DOWN_TIP }, /* Move up */ \ - { WWT_FLATBTN, 1, BX - BS * 3, BW - BS * 3, BY, BH, SPR_ROTATE_ARROW, STR_ROTATE_SELECTED_ELEMENT_TIP }, /* Rotate button */ \ - { WWT_FLATBTN, 1, BX - BS * 4, BW - BS * 4, BY, BH, SPR_G2_SORT, STR_TILE_INSPECTOR_SORT_TIP }, /* Sort button */ \ - { WWT_FLATBTN, 1, BX - BS * 5, BW - BS * 5, BY, BH, SPR_G2_COPY, STR_TILE_INSPECTOR_COPY_TIP }, /* Copy button */ \ - { WWT_FLATBTN, 1, BX - BS * 6, BW - BS * 6, BY, BH, SPR_G2_PASTE, STR_TILE_INSPECTOR_PASTE_TIP }, /* Paste button */ \ - /* Column headers */ \ - { WWT_13, 1, COL_X_TYPE, COL_X_BH - 1, 42, 42 + 13, STR_NONE, STR_NONE }, /* Type */ \ - { WWT_13, 1, COL_X_BH, COL_X_CH - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_BASE_HEIGHT }, /* Base height */ \ - { WWT_13, 1, COL_X_CH, COL_X_GF - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_CLEARANCE_HEIGHT }, /* Clearance height */ \ - { WWT_13, 1, COL_X_GF, COL_X_BF - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_FLAG_GHOST }, /* Ghost flag */ \ - { WWT_13, 1, COL_X_BF, COL_X_LF - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_FLAG_BROKEN }, /* Broken flag */ \ - { WWT_13, 1, COL_X_LF, WW - 3, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_FLAG_LAST }, /* Last of tile flag */ \ - { WWT_GROUPBOX, 1, 6, WW - 6, -1, -1, STR_NONE, STR_NONE }, /* Details group box */ \ - { WWT_GROUPBOX, 1, 6, WW - 6, -1, -1, STR_TILE_INSPECTOR_GROUPBOX_PROPERTIES, STR_NONE } /* Properties group box */ + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \ + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_TILE_INSPECTOR_TITLE, STR_WINDOW_TITLE_TIP }, /* title bar */ \ + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \ + { WWT_SCROLL, 1, 3, WW - 4, 57, WH - PADDING_BOTTOM, 2, STR_NONE }, /* Element list */ \ + { WWT_SPINNER, 1, 20, 61, 23, 34, STR_NONE, STR_NONE }, /* Spinner for X */ \ + { WWT_DROPDOWN_BUTTON, 1, 51, 60, 24, 28, STR_NUMERIC_UP, STR_NONE }, /* increase X */ \ + { WWT_DROPDOWN_BUTTON, 1, 51, 60, 29, 33, STR_NUMERIC_DOWN, STR_NONE }, /* decrease X */ \ + { WWT_SPINNER, 1, 77, 118, 23, 34, STR_NONE, STR_NONE }, /* Spinner for Y */ \ + { WWT_DROPDOWN_BUTTON, 1, 108, 117, 24, 28, STR_NUMERIC_UP, STR_NONE }, /* increase Y */ \ + { WWT_DROPDOWN_BUTTON, 1, 108, 117, 29, 33, STR_NUMERIC_DOWN, STR_NONE }, /* decrease Y */ \ + /* Buttons */ \ + { WWT_FLATBTN, 1, BX, BW, BY, BH, SPR_MAP, STR_INSERT_CORRUPT_TIP }, /* Insert corrupt button */ \ + { WWT_FLATBTN, 1, BX - BS * 1, BW - BS * 1, BY, BH, SPR_DEMOLISH, STR_REMOVE_SELECTED_ELEMENT_TIP }, /* Remove button */ \ + { WWT_CLOSEBOX, 1, BX - BS * 2, BW - BS * 2, BY, BY + 11, STR_UP, STR_MOVE_SELECTED_ELEMENT_UP_TIP }, /* Move down */ \ + { WWT_CLOSEBOX, 1, BX - BS * 2, BW - BS * 2, BH - 11, BH, STR_DOWN, STR_MOVE_SELECTED_ELEMENT_DOWN_TIP }, /* Move up */ \ + { WWT_FLATBTN, 1, BX - BS * 3, BW - BS * 3, BY, BH, SPR_ROTATE_ARROW, STR_ROTATE_SELECTED_ELEMENT_TIP }, /* Rotate button */ \ + { WWT_FLATBTN, 1, BX - BS * 4, BW - BS * 4, BY, BH, SPR_G2_SORT, STR_TILE_INSPECTOR_SORT_TIP }, /* Sort button */ \ + { WWT_FLATBTN, 1, BX - BS * 5, BW - BS * 5, BY, BH, SPR_G2_COPY, STR_TILE_INSPECTOR_COPY_TIP }, /* Copy button */ \ + { WWT_FLATBTN, 1, BX - BS * 6, BW - BS * 6, BY, BH, SPR_G2_PASTE, STR_TILE_INSPECTOR_PASTE_TIP }, /* Paste button */ \ + /* Column headers */ \ + { WWT_13, 1, COL_X_TYPE, COL_X_BH - 1, 42, 42 + 13, STR_NONE, STR_NONE }, /* Type */ \ + { WWT_13, 1, COL_X_BH, COL_X_CH - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_BASE_HEIGHT }, /* Base height */ \ + { WWT_13, 1, COL_X_CH, COL_X_GF - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_CLEARANCE_HEIGHT }, /* Clearance height */ \ + { WWT_13, 1, COL_X_GF, COL_X_BF - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_FLAG_GHOST }, /* Ghost flag */ \ + { WWT_13, 1, COL_X_BF, COL_X_LF - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_FLAG_BROKEN }, /* Broken flag */ \ + { WWT_13, 1, COL_X_LF, WW - 3, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_FLAG_LAST }, /* Last of tile flag */ \ + { WWT_GROUPBOX, 1, 6, WW - 6, -1, -1, STR_NONE, STR_NONE }, /* Details group box */ \ + { WWT_GROUPBOX, 1, 6, WW - 6, -1, -1, STR_TILE_INSPECTOR_GROUPBOX_PROPERTIES, STR_NONE } /* Properties group box */ static rct_widget DefaultWidgets[] = { - MAIN_TILE_INSPECTOR_WIDGETS, - { WIDGETS_END }, + MAIN_TILE_INSPECTOR_WIDGETS, + { WIDGETS_END }, }; // Group boxes .top and .bottom for a given window height offsets from the bottom -#define SUR_GBPB PADDING_BOTTOM // Surface group box properties bottom -#define SUR_GBPT (SUR_GBPB + 16 + 4 * 21) // Surface group box properties top -#define SUR_GBDB (SUR_GBPT + GROUPBOX_PADDING) // Surface group box details bottom -#define SUR_GBDT (SUR_GBDB + 20 + 4 * 11) // Surface group box details top +#define SUR_GBPB PADDING_BOTTOM // Surface group box properties bottom +#define SUR_GBPT (SUR_GBPB + 16 + 4 * 21) // Surface group box properties top +#define SUR_GBDB (SUR_GBPT + GROUPBOX_PADDING) // Surface group box details bottom +#define SUR_GBDT (SUR_GBDB + 20 + 4 * 11) // Surface group box details top static rct_widget SurfaceWidgets[] = { - MAIN_TILE_INSPECTOR_WIDGETS, - { WWT_SPINNER, 1, GBS(WH - SUR_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_SURFACE_SPINNER_HEIGHT - { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - SUR_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_SURFACE_SPINNER_HEIGHT_INCREASE - { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - SUR_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_SURFACE_SPINNER_HEIGHT_DECREASE - { WWT_CLOSEBOX, 1, GBB(WH - SUR_GBPT, 0, 1), STR_TILE_INSPECTOR_SURFACE_REMOVE_FENCES, STR_NONE }, // WIDX_SURFACE_BUTTON_REMOVE_FENCES - { WWT_CLOSEBOX, 1, GBB(WH - SUR_GBPT, 1, 1), STR_TILE_INSPECTOR_SURFACE_RESTORE_FENCES, STR_NONE }, // WIDX_SURFACE_BUTTON_RESTORE_FENCES - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SUR_GBPT, 2) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_N - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - SUR_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_E - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SUR_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_S - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - SUR_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_W - { WWT_CHECKBOX, 1, GBBF(WH - SUR_GBPT, 0, 4), STR_TILE_INSPECTOR_SURFACE_DIAGONAL, STR_NONE }, // WIDX_SURFACE_CHECK_DIAGONAL - { WIDGETS_END }, + MAIN_TILE_INSPECTOR_WIDGETS, + { WWT_SPINNER, 1, GBS(WH - SUR_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_SURFACE_SPINNER_HEIGHT + { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - SUR_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_SURFACE_SPINNER_HEIGHT_INCREASE + { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - SUR_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_SURFACE_SPINNER_HEIGHT_DECREASE + { WWT_CLOSEBOX, 1, GBB(WH - SUR_GBPT, 0, 1), STR_TILE_INSPECTOR_SURFACE_REMOVE_FENCES, STR_NONE }, // WIDX_SURFACE_BUTTON_REMOVE_FENCES + { WWT_CLOSEBOX, 1, GBB(WH - SUR_GBPT, 1, 1), STR_TILE_INSPECTOR_SURFACE_RESTORE_FENCES, STR_NONE }, // WIDX_SURFACE_BUTTON_RESTORE_FENCES + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SUR_GBPT, 2) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_N + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - SUR_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_E + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SUR_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_S + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - SUR_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_W + { WWT_CHECKBOX, 1, GBBF(WH - SUR_GBPT, 0, 4), STR_TILE_INSPECTOR_SURFACE_DIAGONAL, STR_NONE }, // WIDX_SURFACE_CHECK_DIAGONAL + { WIDGETS_END }, }; -#define PAT_GBPB PADDING_BOTTOM // Path group box properties bottom -#define PAT_GBPT (PAT_GBPB + 16 + 4 * 21) // Path group box properties top -#define PAT_GBDB (PAT_GBPT + GROUPBOX_PADDING) // Path group box info bottom -#define PAT_GBDT (PAT_GBDB + 20 + 2 * 11) // Path group box info top +#define PAT_GBPB PADDING_BOTTOM // Path group box properties bottom +#define PAT_GBPT (PAT_GBPB + 16 + 4 * 21) // Path group box properties top +#define PAT_GBDB (PAT_GBPT + GROUPBOX_PADDING) // Path group box info bottom +#define PAT_GBDT (PAT_GBDB + 20 + 2 * 11) // Path group box info top static rct_widget PathWidgets[] = { - MAIN_TILE_INSPECTOR_WIDGETS, - { WWT_SPINNER, 1, GBS(WH - PAT_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_PATH_SPINNER_HEIGHT - { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - PAT_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_PATH_SPINNER_HEIGHT_INCREASE - { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - PAT_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_PATH_SPINNER_HEIGHT_DECREASE - { WWT_CHECKBOX, 1, GBBF(WH - PAT_GBPT, 0, 1), STR_TILE_INSPECTOR_PATH_SLOPED, STR_NONE }, // WIDX_PATH_CHECK_SLOPED - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - PAT_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_NE - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 4, GBBT(WH - PAT_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_E - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - PAT_GBPT, 2) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_SE - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - PAT_GBPT, 2) + 7 * 4), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_S - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - PAT_GBPT, 2) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_SW - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - PAT_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_W - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - PAT_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_NW - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - PAT_GBPT, 2) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_N - { WIDGETS_END }, + MAIN_TILE_INSPECTOR_WIDGETS, + { WWT_SPINNER, 1, GBS(WH - PAT_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_PATH_SPINNER_HEIGHT + { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - PAT_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_PATH_SPINNER_HEIGHT_INCREASE + { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - PAT_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_PATH_SPINNER_HEIGHT_DECREASE + { WWT_CHECKBOX, 1, GBBF(WH - PAT_GBPT, 0, 1), STR_TILE_INSPECTOR_PATH_SLOPED, STR_NONE }, // WIDX_PATH_CHECK_SLOPED + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - PAT_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_NE + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 4, GBBT(WH - PAT_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_E + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - PAT_GBPT, 2) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_SE + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - PAT_GBPT, 2) + 7 * 4), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_S + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - PAT_GBPT, 2) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_SW + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - PAT_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_W + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - PAT_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_NW + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - PAT_GBPT, 2) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_N + { WIDGETS_END }, }; -#define TRA_GBPB PADDING_BOTTOM // Track group box properties bottom -#define TRA_GBPT (TRA_GBPB + 16 + 3 * 21) // Track group box properties top -#define TRA_GBDB (TRA_GBPT + GROUPBOX_PADDING) // Track group box info bottom -#define TRA_GBDT (TRA_GBDB + 20 + 5 * 11) // Track group box info top +#define TRA_GBPB PADDING_BOTTOM // Track group box properties bottom +#define TRA_GBPT (TRA_GBPB + 16 + 3 * 21) // Track group box properties top +#define TRA_GBDB (TRA_GBPT + GROUPBOX_PADDING) // Track group box info bottom +#define TRA_GBDT (TRA_GBDB + 20 + 5 * 11) // Track group box info top static rct_widget TrackWidgets[] = { - MAIN_TILE_INSPECTOR_WIDGETS, - { WWT_CHECKBOX, 1, GBBF(WH - TRA_GBPT, 0, 0), STR_TILE_INSPECTOR_TRACK_ENTIRE_TRACK_PIECE, STR_NONE }, // WIDX_TRACK_CHECK_APPLY_TO_ALL - { WWT_SPINNER, 1, GBS(WH - TRA_GBPT, 1, 1), STR_NONE, STR_NONE }, // WIDX_TRACK_SPINNER_HEIGHT - { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - TRA_GBPT, 1, 1), STR_NUMERIC_UP, STR_NONE }, // WIDX_TRACK_SPINNER_HEIGHT_INCREASE - { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - TRA_GBPT, 1, 1), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_TRACK_SPINNER_HEIGHT_DECREASE - { WWT_CHECKBOX, 1, GBBF(WH - TRA_GBPT, 0, 2), STR_TILE_INSPECTOR_TRACK_CHAIN_LIFT, STR_NONE }, // WIDX_TRACK_CHECK_CHAIN_LIFT - { WIDGETS_END }, + MAIN_TILE_INSPECTOR_WIDGETS, + { WWT_CHECKBOX, 1, GBBF(WH - TRA_GBPT, 0, 0), STR_TILE_INSPECTOR_TRACK_ENTIRE_TRACK_PIECE, STR_NONE }, // WIDX_TRACK_CHECK_APPLY_TO_ALL + { WWT_SPINNER, 1, GBS(WH - TRA_GBPT, 1, 1), STR_NONE, STR_NONE }, // WIDX_TRACK_SPINNER_HEIGHT + { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - TRA_GBPT, 1, 1), STR_NUMERIC_UP, STR_NONE }, // WIDX_TRACK_SPINNER_HEIGHT_INCREASE + { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - TRA_GBPT, 1, 1), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_TRACK_SPINNER_HEIGHT_DECREASE + { WWT_CHECKBOX, 1, GBBF(WH - TRA_GBPT, 0, 2), STR_TILE_INSPECTOR_TRACK_CHAIN_LIFT, STR_NONE }, // WIDX_TRACK_CHECK_CHAIN_LIFT + { WIDGETS_END }, }; -#define SCE_GBPB PADDING_BOTTOM // Scenery group box properties bottom -#define SCE_GBPT (SCE_GBPB + 16 + 4 * 21) // Scenery group box properties top -#define SCE_GBDB (SCE_GBPT + GROUPBOX_PADDING) // Scenery group box info bottom -#define SCE_GBDT (SCE_GBDB + 20 + 3 * 11) // Scenery group box info top +#define SCE_GBPB PADDING_BOTTOM // Scenery group box properties bottom +#define SCE_GBPT (SCE_GBPB + 16 + 4 * 21) // Scenery group box properties top +#define SCE_GBDB (SCE_GBPT + GROUPBOX_PADDING) // Scenery group box info bottom +#define SCE_GBDT (SCE_GBDB + 20 + 3 * 11) // Scenery group box info top static rct_widget SceneryWidgets[] = { - MAIN_TILE_INSPECTOR_WIDGETS, - { WWT_SPINNER, 1, GBS(WH - SCE_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_SCENERY_SPINNER_HEIGHT - { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - SCE_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_SCENERY_SPINNER_HEIGHT_INCREASE - { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - SCE_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_SCENERY_SPINNER_HEIGHT_DECREASE - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 1) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_N - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - SCE_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_E - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 1) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_S - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - SCE_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_W - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 2) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_N - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - SCE_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_E - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_S - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - SCE_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_W - { WIDGETS_END }, + MAIN_TILE_INSPECTOR_WIDGETS, + { WWT_SPINNER, 1, GBS(WH - SCE_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_SCENERY_SPINNER_HEIGHT + { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - SCE_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_SCENERY_SPINNER_HEIGHT_INCREASE + { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - SCE_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_SCENERY_SPINNER_HEIGHT_DECREASE + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 1) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_N + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - SCE_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_E + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 1) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_S + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - SCE_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_W + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 2) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_N + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - SCE_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_E + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_S + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - SCE_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_W + { WIDGETS_END }, }; -#define ENT_GBPB PADDING_BOTTOM // Entrance group box properties bottom -#define ENT_GBPT (ENT_GBPB + 16 + 1 * 21) // Entrance group box properties top -#define ENT_GBDB (ENT_GBPT + GROUPBOX_PADDING) // Entrance group box info bottom -#define ENT_GBDT (ENT_GBDB + 20 + 3 * 11) // Entrance group box info top +#define ENT_GBPB PADDING_BOTTOM // Entrance group box properties bottom +#define ENT_GBPT (ENT_GBPB + 16 + 1 * 21) // Entrance group box properties top +#define ENT_GBDB (ENT_GBPT + GROUPBOX_PADDING) // Entrance group box info bottom +#define ENT_GBDT (ENT_GBDB + 20 + 3 * 11) // Entrance group box info top static rct_widget EntranceWidgets[] = { - MAIN_TILE_INSPECTOR_WIDGETS, - { WWT_SPINNER, 1, GBS(WH - ENT_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_ENTRANCE_SPINNER_HEIGHT - { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - ENT_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE - { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - ENT_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE - { WIDGETS_END }, + MAIN_TILE_INSPECTOR_WIDGETS, + { WWT_SPINNER, 1, GBS(WH - ENT_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_ENTRANCE_SPINNER_HEIGHT + { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - ENT_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE + { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - ENT_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE + { WIDGETS_END }, }; -#define WALL_GBPB PADDING_BOTTOM // Wall group box properties bottom -#define WALL_GBPT (WALL_GBPB + 16 + 2 * 21) // Wall group box properties top -#define WALL_GBDB (WALL_GBPT + GROUPBOX_PADDING) // Wall group box info bottom -#define WALL_GBDT (WALL_GBDB + 20 + 2 * 11) // Wall group box info top +#define WALL_GBPB PADDING_BOTTOM // Wall group box properties bottom +#define WALL_GBPT (WALL_GBPB + 16 + 2 * 21) // Wall group box properties top +#define WALL_GBDB (WALL_GBPT + GROUPBOX_PADDING) // Wall group box info bottom +#define WALL_GBDT (WALL_GBDB + 20 + 2 * 11) // Wall group box info top static rct_widget WallWidgets[] = { - MAIN_TILE_INSPECTOR_WIDGETS, - { WWT_SPINNER, 1, GBS(WH - WALL_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_WALL_SPINNER_HEIGHT - { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - WALL_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_WALL_SPINNER_HEIGHT_INCREASE - { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - WALL_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_WALL_SPINNER_HEIGHT_DECREASE - { WWT_DROPDOWN, 1, GBS(WH - WALL_GBPT, 1, 1), STR_NONE, STR_NONE }, // WIDX_WALL_DROPDOWN_SLOPE - { WWT_DROPDOWN_BUTTON, 1, GBDB(WH - WALL_GBPT, 1, 1), STR_DROPDOWN_GLYPH, STR_NONE }, // WIDX_WALL_DROPDOWN_SLOPE_BUTTON - { WIDGETS_END }, + MAIN_TILE_INSPECTOR_WIDGETS, + { WWT_SPINNER, 1, GBS(WH - WALL_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_WALL_SPINNER_HEIGHT + { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - WALL_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_WALL_SPINNER_HEIGHT_INCREASE + { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - WALL_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_WALL_SPINNER_HEIGHT_DECREASE + { WWT_DROPDOWN, 1, GBS(WH - WALL_GBPT, 1, 1), STR_NONE, STR_NONE }, // WIDX_WALL_DROPDOWN_SLOPE + { WWT_DROPDOWN_BUTTON, 1, GBDB(WH - WALL_GBPT, 1, 1), STR_DROPDOWN_GLYPH, STR_NONE }, // WIDX_WALL_DROPDOWN_SLOPE_BUTTON + { WIDGETS_END }, }; -#define LAR_GBPB PADDING_BOTTOM // Large scenery group box properties bottom -#define LAR_GBPT (LAR_GBPB + 16 + 1 * 21) // Large scenery group box properties top -#define LAR_GBDB (LAR_GBPT + GROUPBOX_PADDING) // Large scenery group box info bottom -#define LAR_GBDT (LAR_GBDB + 20 + 3 * 11) // Large scenery group box info top +#define LAR_GBPB PADDING_BOTTOM // Large scenery group box properties bottom +#define LAR_GBPT (LAR_GBPB + 16 + 1 * 21) // Large scenery group box properties top +#define LAR_GBDB (LAR_GBPT + GROUPBOX_PADDING) // Large scenery group box info bottom +#define LAR_GBDT (LAR_GBDB + 20 + 3 * 11) // Large scenery group box info top static rct_widget LargeSceneryWidgets[] = { - MAIN_TILE_INSPECTOR_WIDGETS, - { WWT_SPINNER, 1, GBS(WH - LAR_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_LARGE_SCENERY_SPINNER_HEIGHT - { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - LAR_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE - { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - LAR_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE - { WIDGETS_END }, + MAIN_TILE_INSPECTOR_WIDGETS, + { WWT_SPINNER, 1, GBS(WH - LAR_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_LARGE_SCENERY_SPINNER_HEIGHT + { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - LAR_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE + { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - LAR_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE + { WIDGETS_END }, }; -#define BAN_GBPB PADDING_BOTTOM // Banner group box properties bottom -#define BAN_GBPT (BAN_GBPB + 16 + 3 * 21) // Banner group box properties top -#define BAN_GBDB (BAN_GBPT + GROUPBOX_PADDING) // Banner group box info bottom -#define BAN_GBDT (BAN_GBDB + 20 + 1 * 11) // Banner group box info top +#define BAN_GBPB PADDING_BOTTOM // Banner group box properties bottom +#define BAN_GBPT (BAN_GBPB + 16 + 3 * 21) // Banner group box properties top +#define BAN_GBDB (BAN_GBPT + GROUPBOX_PADDING) // Banner group box info bottom +#define BAN_GBDT (BAN_GBDB + 20 + 1 * 11) // Banner group box info top static rct_widget BannerWidgets[] = { - MAIN_TILE_INSPECTOR_WIDGETS, - { WWT_SPINNER, 1, GBS(WH - BAN_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_BANNER_SPINNER_HEIGHT - { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - BAN_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_BANNER_SPINNER_HEIGHT_INCREASE - { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - BAN_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_BANNER_SPINNER_HEIGHT_DECREASE - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - BAN_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_NE - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - BAN_GBPT, 1) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_SE - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - BAN_GBPT, 1) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_SW - { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - BAN_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_NW + MAIN_TILE_INSPECTOR_WIDGETS, + { WWT_SPINNER, 1, GBS(WH - BAN_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_BANNER_SPINNER_HEIGHT + { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - BAN_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_BANNER_SPINNER_HEIGHT_INCREASE + { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - BAN_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_BANNER_SPINNER_HEIGHT_DECREASE + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - BAN_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_NE + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - BAN_GBPT, 1) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_SE + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - BAN_GBPT, 1) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_SW + { WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - BAN_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_NW - { WIDGETS_END }, + { WIDGETS_END }, }; -#define COR_GBPB PADDING_BOTTOM // Corrupt element group box properties bottom -#define COR_GBPT (COR_GBPB + 16 + 2 * 21) // Corrupt element group box properties top -#define COR_GBDB (COR_GBPT + GROUPBOX_PADDING) // Corrupt element group box info bottom -#define COR_GBDT (COR_GBDB + 20 + 0 * 11) // Corrupt element group box info top +#define COR_GBPB PADDING_BOTTOM // Corrupt element group box properties bottom +#define COR_GBPT (COR_GBPB + 16 + 2 * 21) // Corrupt element group box properties top +#define COR_GBDB (COR_GBPT + GROUPBOX_PADDING) // Corrupt element group box info bottom +#define COR_GBDT (COR_GBDB + 20 + 0 * 11) // Corrupt element group box info top static rct_widget CorruptWidgets[] = { - MAIN_TILE_INSPECTOR_WIDGETS, - { WWT_SPINNER, 1, GBS(WH - COR_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_CORRUPT_SPINNER_HEIGHT - { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - COR_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE - { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - COR_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE - { WWT_CLOSEBOX, 1, GBB(WH - SUR_GBPT, 0, 1), STR_TILE_INSPECTOR_CLAMP_TO_NEXT, STR_TILE_INSPECTOR_CLAMP_TO_NEXT_TIP }, // WIDX_CORRUPT_BUTTON_CLAMP - { WIDGETS_END }, + MAIN_TILE_INSPECTOR_WIDGETS, + { WWT_SPINNER, 1, GBS(WH - COR_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_CORRUPT_SPINNER_HEIGHT + { WWT_DROPDOWN_BUTTON, 1, GBSI(WH - COR_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE + { WWT_DROPDOWN_BUTTON, 1, GBSD(WH - COR_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE + { WWT_CLOSEBOX, 1, GBB(WH - SUR_GBPT, 0, 1), STR_TILE_INSPECTOR_CLAMP_TO_NEXT, STR_TILE_INSPECTOR_CLAMP_TO_NEXT_TIP }, // WIDX_CORRUPT_BUTTON_CLAMP + { WIDGETS_END }, }; static rct_widget *PageWidgets[] = { - DefaultWidgets, - SurfaceWidgets, - PathWidgets, - TrackWidgets, - SceneryWidgets, - EntranceWidgets, - WallWidgets, - LargeSceneryWidgets, - BannerWidgets, - CorruptWidgets, + DefaultWidgets, + SurfaceWidgets, + PathWidgets, + TrackWidgets, + SceneryWidgets, + EntranceWidgets, + WallWidgets, + LargeSceneryWidgets, + BannerWidgets, + CorruptWidgets, }; static struct { - // Offsets from the bottom of the window - sint16 details_top_offset, details_bottom_offset; - sint16 properties_top_offset, properties_bottom_offset; - // String to be displayed in the details groupbox - rct_string_id string_id; + // Offsets from the bottom of the window + sint16 details_top_offset, details_bottom_offset; + sint16 properties_top_offset, properties_bottom_offset; + // String to be displayed in the details groupbox + rct_string_id string_id; } PageGroupBoxSettings[] = { - { SUR_GBDT, SUR_GBDB, SUR_GBPT, SUR_GBPB, STR_TILE_INSPECTOR_GROUPBOX_SURFACE_INFO }, - { PAT_GBDT, PAT_GBDB, PAT_GBPT, PAT_GBPB, STR_TILE_INSPECTOR_GROUPBOX_PATH_INFO }, - { TRA_GBDT, TRA_GBDB, TRA_GBPT, TRA_GBPB, STR_TILE_INSPECTOR_GROUPBOX_TRACK_INFO }, - { SCE_GBDT, SCE_GBDB, SCE_GBPT, SCE_GBPB, STR_TILE_INSPECTOR_GROUPBOX_SCENERY_INFO }, - { ENT_GBDT, ENT_GBDB, ENT_GBPT, ENT_GBPB, STR_TILE_INSPECTOR_GROUPBOX_ENTRANCE_INFO }, - { WALL_GBDT, WALL_GBDB, WALL_GBPT, WALL_GBPB, STR_TILE_INSPECTOR_GROUPBOX_WALL_INFO }, - { LAR_GBDT, LAR_GBDB, LAR_GBPT, LAR_GBPB, STR_TILE_INSPECTOR_GROUPBOX_LARGE_SCENERY_INFO }, - { BAN_GBDT, BAN_GBDB, BAN_GBPT, BAN_GBPB, STR_TILE_INSPECTOR_GROUPBOX_BANNER_INFO }, - { COR_GBDT, COR_GBDB, COR_GBPT, COR_GBPB, STR_TILE_INSPECTOR_GROUPBOX_CORRUPT_INFO } + { SUR_GBDT, SUR_GBDB, SUR_GBPT, SUR_GBPB, STR_TILE_INSPECTOR_GROUPBOX_SURFACE_INFO }, + { PAT_GBDT, PAT_GBDB, PAT_GBPT, PAT_GBPB, STR_TILE_INSPECTOR_GROUPBOX_PATH_INFO }, + { TRA_GBDT, TRA_GBDB, TRA_GBPT, TRA_GBPB, STR_TILE_INSPECTOR_GROUPBOX_TRACK_INFO }, + { SCE_GBDT, SCE_GBDB, SCE_GBPT, SCE_GBPB, STR_TILE_INSPECTOR_GROUPBOX_SCENERY_INFO }, + { ENT_GBDT, ENT_GBDB, ENT_GBPT, ENT_GBPB, STR_TILE_INSPECTOR_GROUPBOX_ENTRANCE_INFO }, + { WALL_GBDT, WALL_GBDB, WALL_GBPT, WALL_GBPB, STR_TILE_INSPECTOR_GROUPBOX_WALL_INFO }, + { LAR_GBDT, LAR_GBDB, LAR_GBPT, LAR_GBPB, STR_TILE_INSPECTOR_GROUPBOX_LARGE_SCENERY_INFO }, + { BAN_GBDT, BAN_GBDB, BAN_GBPT, BAN_GBPB, STR_TILE_INSPECTOR_GROUPBOX_BANNER_INFO }, + { COR_GBDT, COR_GBDB, COR_GBPT, COR_GBPB, STR_TILE_INSPECTOR_GROUPBOX_CORRUPT_INFO } }; uint32 windowTileInspectorTileX; @@ -473,1573 +473,1573 @@ static void window_tile_inspector_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_tile_inspector_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list TileInspectorWindowEvents = { - NULL, - window_tile_inspector_mouseup, - window_tile_inspector_resize, - window_tile_inspector_mousedown, - window_tile_inspector_dropdown, - NULL, - window_tile_inspector_update, - NULL, - NULL, - window_tile_inspector_tool_update, - window_tile_inspector_tool_down, - window_tile_inspector_tool_drag, - NULL, - NULL, - NULL, - window_tile_inspector_scrollgetsize, - window_tile_inspector_scrollmousedown, - NULL, - window_tile_inspector_scrollmouseover, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_tile_inspector_invalidate, - window_tile_inspector_paint, - window_tile_inspector_scrollpaint + NULL, + window_tile_inspector_mouseup, + window_tile_inspector_resize, + window_tile_inspector_mousedown, + window_tile_inspector_dropdown, + NULL, + window_tile_inspector_update, + NULL, + NULL, + window_tile_inspector_tool_update, + window_tile_inspector_tool_down, + window_tile_inspector_tool_drag, + NULL, + NULL, + NULL, + window_tile_inspector_scrollgetsize, + window_tile_inspector_scrollmousedown, + NULL, + window_tile_inspector_scrollmouseover, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_tile_inspector_invalidate, + window_tile_inspector_paint, + window_tile_inspector_scrollpaint }; static uint64 PageEnabledWidgets[] = { - (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT), - (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_SURFACE_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_SURFACE_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_SURFACE_BUTTON_REMOVE_FENCES) | (1ULL << WIDX_SURFACE_BUTTON_RESTORE_FENCES) | (1ULL << WIDX_SURFACE_CHECK_CORNER_N) | (1ULL << WIDX_SURFACE_CHECK_CORNER_E) | (1ULL << WIDX_SURFACE_CHECK_CORNER_S) | (1ULL << WIDX_SURFACE_CHECK_CORNER_W) | (1ULL << WIDX_SURFACE_CHECK_DIAGONAL), - (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_PATH_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_PATH_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_PATH_CHECK_SLOPED) | (1ULL << WIDX_PATH_CHECK_EDGE_N) | (1ULL << WIDX_PATH_CHECK_EDGE_NE) | (1ULL << WIDX_PATH_CHECK_EDGE_E) | (1ULL << WIDX_PATH_CHECK_EDGE_SE) | (1ULL << WIDX_PATH_CHECK_EDGE_S) | (1ULL << WIDX_PATH_CHECK_EDGE_SW) | (1ULL << WIDX_PATH_CHECK_EDGE_W) | (1ULL << WIDX_PATH_CHECK_EDGE_NW), - (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_TRACK_CHECK_APPLY_TO_ALL) | (1ULL << WIDX_TRACK_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_TRACK_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_TRACK_CHECK_CHAIN_LIFT), - (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_SCENERY_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_SCENERY_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_SCENERY_CHECK_QUARTER_N) | (1ULL << WIDX_SCENERY_CHECK_QUARTER_E) | (1ULL << WIDX_SCENERY_CHECK_QUARTER_S) | (1ULL << WIDX_SCENERY_CHECK_QUARTER_W) | (1ULL << WIDX_SCENERY_CHECK_COLLISION_N) | (1ULL << WIDX_SCENERY_CHECK_COLLISION_E) | (1ULL << WIDX_SCENERY_CHECK_COLLISION_S) | (1ULL << WIDX_SCENERY_CHECK_COLLISION_W), - (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE), - (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_WALL_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_WALL_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_WALL_DROPDOWN_SLOPE) | (1ULL << WIDX_WALL_DROPDOWN_SLOPE_BUTTON), - (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_LARGE_SCENERY_SPINNER_HEIGHT) | (1ULL << WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE), - (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_BANNER_SPINNER_HEIGHT) | (1ULL << WIDX_BANNER_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_BANNER_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_BANNER_CHECK_BLOCK_NE) | (1ULL << WIDX_BANNER_CHECK_BLOCK_SE) | (1ULL << WIDX_BANNER_CHECK_BLOCK_SW) | (1ULL << WIDX_BANNER_CHECK_BLOCK_NW), - (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_CORRUPT_SPINNER_HEIGHT) | (1ULL << WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_CORRUPT_BUTTON_CLAMP), + (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT), + (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_SURFACE_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_SURFACE_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_SURFACE_BUTTON_REMOVE_FENCES) | (1ULL << WIDX_SURFACE_BUTTON_RESTORE_FENCES) | (1ULL << WIDX_SURFACE_CHECK_CORNER_N) | (1ULL << WIDX_SURFACE_CHECK_CORNER_E) | (1ULL << WIDX_SURFACE_CHECK_CORNER_S) | (1ULL << WIDX_SURFACE_CHECK_CORNER_W) | (1ULL << WIDX_SURFACE_CHECK_DIAGONAL), + (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_PATH_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_PATH_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_PATH_CHECK_SLOPED) | (1ULL << WIDX_PATH_CHECK_EDGE_N) | (1ULL << WIDX_PATH_CHECK_EDGE_NE) | (1ULL << WIDX_PATH_CHECK_EDGE_E) | (1ULL << WIDX_PATH_CHECK_EDGE_SE) | (1ULL << WIDX_PATH_CHECK_EDGE_S) | (1ULL << WIDX_PATH_CHECK_EDGE_SW) | (1ULL << WIDX_PATH_CHECK_EDGE_W) | (1ULL << WIDX_PATH_CHECK_EDGE_NW), + (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_TRACK_CHECK_APPLY_TO_ALL) | (1ULL << WIDX_TRACK_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_TRACK_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_TRACK_CHECK_CHAIN_LIFT), + (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_SCENERY_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_SCENERY_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_SCENERY_CHECK_QUARTER_N) | (1ULL << WIDX_SCENERY_CHECK_QUARTER_E) | (1ULL << WIDX_SCENERY_CHECK_QUARTER_S) | (1ULL << WIDX_SCENERY_CHECK_QUARTER_W) | (1ULL << WIDX_SCENERY_CHECK_COLLISION_N) | (1ULL << WIDX_SCENERY_CHECK_COLLISION_E) | (1ULL << WIDX_SCENERY_CHECK_COLLISION_S) | (1ULL << WIDX_SCENERY_CHECK_COLLISION_W), + (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE), + (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_WALL_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_WALL_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_WALL_DROPDOWN_SLOPE) | (1ULL << WIDX_WALL_DROPDOWN_SLOPE_BUTTON), + (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_LARGE_SCENERY_SPINNER_HEIGHT) | (1ULL << WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE), + (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_BANNER_SPINNER_HEIGHT) | (1ULL << WIDX_BANNER_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_BANNER_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_BANNER_CHECK_BLOCK_NE) | (1ULL << WIDX_BANNER_CHECK_BLOCK_SE) | (1ULL << WIDX_BANNER_CHECK_BLOCK_SW) | (1ULL << WIDX_BANNER_CHECK_BLOCK_NW), + (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_CORRUPT_SPINNER_HEIGHT) | (1ULL << WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_CORRUPT_BUTTON_CLAMP), }; static uint64 PageDisabledWidgets[] = { - (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_MOVE_UP) | (1ULL << WIDX_BUTTON_MOVE_DOWN) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY), - 0, - 0, - 0, - 0, - 0, - 0, - (1ULL << WIDX_BUTTON_ROTATE), - 0, - (1ULL << WIDX_BUTTON_ROTATE), + (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_MOVE_UP) | (1ULL << WIDX_BUTTON_MOVE_DOWN) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY), + 0, + 0, + 0, + 0, + 0, + 0, + (1ULL << WIDX_BUTTON_ROTATE), + 0, + (1ULL << WIDX_BUTTON_ROTATE), }; void window_tile_inspector_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_TILE_INSPECTOR); - if (window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_TILE_INSPECTOR); + if (window != NULL) + return; - window = window_create( - 0, - 29, - WW, - WH, - &TileInspectorWindowEvents, - WC_TILE_INSPECTOR, - WF_RESIZABLE - ); - window_tile_inspector_set_page(window, TILE_INSPECTOR_PAGE_DEFAULT); + window = window_create( + 0, + 29, + WW, + WH, + &TileInspectorWindowEvents, + WC_TILE_INSPECTOR, + WF_RESIZABLE + ); + window_tile_inspector_set_page(window, TILE_INSPECTOR_PAGE_DEFAULT); - window_init_scroll_widgets(window); - window->min_width = MIN_WW; - window->min_height = MIN_WH; - window->max_width = MAX_WW; - window->max_height = MAX_WH; - window->selected_list_item = -1; + window_init_scroll_widgets(window); + window->min_width = MIN_WW; + window->min_height = MIN_WH; + window->max_width = MAX_WW; + window->max_height = MAX_WH; + window->selected_list_item = -1; - windowTileInspectorTileSelected = false; + windowTileInspectorTileSelected = false; - tool_set(window, WIDX_BACKGROUND, TOOL_CROSSHAIR); - window_tile_inspector_auto_set_buttons(window); + tool_set(window, WIDX_BACKGROUND, TOOL_CROSSHAIR); + window_tile_inspector_auto_set_buttons(window); } void window_tile_inspector_clear_clipboard() { - windowTileInspectorElementCopied = false; + windowTileInspectorElementCopied = false; } static rct_map_element* window_tile_inspector_get_selected_element(rct_window *w) { - openrct2_assert(w->selected_list_item >= 0 && w->selected_list_item < windowTileInspectorElementCount, - "Selected list item out of range"); - return map_get_first_element_at(windowTileInspectorTileX, windowTileInspectorTileY) + w->selected_list_item; + openrct2_assert(w->selected_list_item >= 0 && w->selected_list_item < windowTileInspectorElementCount, + "Selected list item out of range"); + return map_get_first_element_at(windowTileInspectorTileX, windowTileInspectorTileY) + w->selected_list_item; } static void window_tile_inspector_select_element_from_list(rct_window *w, sint32 index) { - sint32 page; - if (index < 0 || index >= windowTileInspectorElementCount) { - w->selected_list_item = -1; - page = 0; - } - else { - w->selected_list_item = index; + sint32 page; + if (index < 0 || index >= windowTileInspectorElementCount) { + w->selected_list_item = -1; + page = 0; + } + else { + w->selected_list_item = index; - // Get type of selected map element to select the correct page - rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); - page = (min(map_element_get_type(mapElement), MAP_ELEMENT_TYPE_CORRUPT) >> 2) + 1; - } + // Get type of selected map element to select the correct page + rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); + page = (min(map_element_get_type(mapElement), MAP_ELEMENT_TYPE_CORRUPT) >> 2) + 1; + } - window_tile_inspector_set_page(w, page); + window_tile_inspector_set_page(w, page); - // Enable/disable buttons - window_tile_inspector_auto_set_buttons(w); - window_invalidate(w); + // Enable/disable buttons + window_tile_inspector_auto_set_buttons(w); + window_invalidate(w); } static void window_tile_inspector_load_tile(rct_window* w) { - rct_map_element *element = map_get_first_element_at(windowTileInspectorTileX, windowTileInspectorTileY); - sint32 numItems = 0; - do { - numItems++; - } while (!map_element_is_last_for_tile(element++)); + rct_map_element *element = map_get_first_element_at(windowTileInspectorTileX, windowTileInspectorTileY); + sint32 numItems = 0; + do { + numItems++; + } while (!map_element_is_last_for_tile(element++)); - windowTileInspectorElementCount = numItems; + windowTileInspectorElementCount = numItems; - // Set default page - window_tile_inspector_set_page(w, TILE_INSPECTOR_PAGE_DEFAULT); + // Set default page + window_tile_inspector_set_page(w, TILE_INSPECTOR_PAGE_DEFAULT); - // undo selection and buttons affecting it - w->selected_list_item = -1; - window_tile_inspector_auto_set_buttons(w); + // undo selection and buttons affecting it + w->selected_list_item = -1; + window_tile_inspector_auto_set_buttons(w); - w->scrolls[0].v_top = 0; - window_invalidate(w); + w->scrolls[0].v_top = 0; + window_invalidate(w); } static void window_tile_inspector_insert_corrupt_element(sint32 elementIndex) { - openrct2_assert(elementIndex >= 0 && elementIndex < windowTileInspectorElementCount, - "elementIndex out of range"); - game_do_command( - TILE_INSPECTOR_ANY_INSERT_CORRUPT, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - 0, - 0 - ); + openrct2_assert(elementIndex >= 0 && elementIndex < windowTileInspectorElementCount, + "elementIndex out of range"); + game_do_command( + TILE_INSPECTOR_ANY_INSERT_CORRUPT, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + 0, + 0 + ); } static void window_tile_inspector_remove_element(sint32 elementIndex) { - openrct2_assert(elementIndex >= 0 && elementIndex < windowTileInspectorElementCount, - "elementIndex out of range"); - game_do_command( - TILE_INSPECTOR_ANY_REMOVE, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - 0, - 0 - ); + openrct2_assert(elementIndex >= 0 && elementIndex < windowTileInspectorElementCount, + "elementIndex out of range"); + game_do_command( + TILE_INSPECTOR_ANY_REMOVE, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + 0, + 0 + ); } static void window_tile_inspector_rotate_element(sint32 elementIndex) { - openrct2_assert(elementIndex >= 0 && elementIndex < windowTileInspectorElementCount, - "elementIndex out of range"); - game_do_command( - TILE_INSPECTOR_ANY_ROTATE, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - 0, - 0 - ); + openrct2_assert(elementIndex >= 0 && elementIndex < windowTileInspectorElementCount, + "elementIndex out of range"); + game_do_command( + TILE_INSPECTOR_ANY_ROTATE, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + 0, + 0 + ); } // Swap element with its parent static void window_tile_inspector_swap_elements(sint16 first, sint16 second) { - openrct2_assert(first >= 0 && first < windowTileInspectorElementCount, - "first out of range"); - openrct2_assert(second >= 0 && second < windowTileInspectorElementCount, - "second out of range"); - game_do_command( - TILE_INSPECTOR_ANY_SWAP, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - first, - GAME_COMMAND_MODIFY_TILE, - second, - 0 - ); + openrct2_assert(first >= 0 && first < windowTileInspectorElementCount, + "first out of range"); + openrct2_assert(second >= 0 && second < windowTileInspectorElementCount, + "second out of range"); + game_do_command( + TILE_INSPECTOR_ANY_SWAP, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + first, + GAME_COMMAND_MODIFY_TILE, + second, + 0 + ); } static void window_tile_inspector_sort_elements() { - openrct2_assert(windowTileInspectorTileSelected, "No tile selected"); - game_do_command( - TILE_INSPECTOR_ANY_SORT, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - 0, - GAME_COMMAND_MODIFY_TILE, - 0, - 0 - ); + openrct2_assert(windowTileInspectorTileSelected, "No tile selected"); + game_do_command( + TILE_INSPECTOR_ANY_SORT, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + 0, + GAME_COMMAND_MODIFY_TILE, + 0, + 0 + ); } static void window_tile_inspector_copy_element(rct_window *w) { - // Copy value, in case the element gets moved - tileInspectorCopiedElement = *window_tile_inspector_get_selected_element(w); - windowTileInspectorElementCopied = true; + // Copy value, in case the element gets moved + tileInspectorCopiedElement = *window_tile_inspector_get_selected_element(w); + windowTileInspectorElementCopied = true; } static void window_tile_inspector_paste_element(rct_window *w) { - // Construct the data to send using the surface's properties - sint32 data[2]; - memcpy(&data[0], &tileInspectorCopiedElement, 8); - assert_struct_size(data, sizeof(tileInspectorCopiedElement)); + // Construct the data to send using the surface's properties + sint32 data[2]; + memcpy(&data[0], &tileInspectorCopiedElement, 8); + assert_struct_size(data, sizeof(tileInspectorCopiedElement)); - game_do_command( - TILE_INSPECTOR_ANY_PASTE, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - data[0], - GAME_COMMAND_MODIFY_TILE, - data[1], - 0 - ); + game_do_command( + TILE_INSPECTOR_ANY_PASTE, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + data[0], + GAME_COMMAND_MODIFY_TILE, + data[1], + 0 + ); } static void window_tile_inspector_base_height_offset(sint16 elementIndex, sint8 heightOffset) { - game_do_command( - TILE_INSPECTOR_ANY_BASE_HEIGHT_OFFSET, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - heightOffset, - 0 - ); + game_do_command( + TILE_INSPECTOR_ANY_BASE_HEIGHT_OFFSET, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + heightOffset, + 0 + ); } static void window_tile_inspector_surface_show_park_fences(bool showFences) { - game_do_command( - TILE_INSPECTOR_SURFACE_SHOW_PARK_FENCES, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - showFences, - GAME_COMMAND_MODIFY_TILE, - 0, - 0 - ); + game_do_command( + TILE_INSPECTOR_SURFACE_SHOW_PARK_FENCES, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + showFences, + GAME_COMMAND_MODIFY_TILE, + 0, + 0 + ); } static void window_tile_inspector_surface_toggle_corner(sint32 cornerIndex) { - game_do_command( - TILE_INSPECTOR_SURFACE_TOGGLE_CORNER, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - cornerIndex, - GAME_COMMAND_MODIFY_TILE, - 0, - 0 - ); + game_do_command( + TILE_INSPECTOR_SURFACE_TOGGLE_CORNER, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + cornerIndex, + GAME_COMMAND_MODIFY_TILE, + 0, + 0 + ); } static void window_tile_inspector_surface_toggle_diagonal() { - game_do_command( - TILE_INSPECTOR_SURFACE_TOGGLE_DIAGONAL, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - 0, - GAME_COMMAND_MODIFY_TILE, - 0, - 0 - ); + game_do_command( + TILE_INSPECTOR_SURFACE_TOGGLE_DIAGONAL, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + 0, + GAME_COMMAND_MODIFY_TILE, + 0, + 0 + ); } static void window_tile_inspector_path_set_sloped(sint32 elementIndex, bool sloped) { - game_do_command( - TILE_INSPECTOR_PATH_SET_SLOPE, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - sloped, - 0 - ); + game_do_command( + TILE_INSPECTOR_PATH_SET_SLOPE, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + sloped, + 0 + ); } static void window_tile_inspector_path_toggle_edge(sint32 elementIndex, sint32 cornerIndex) { - openrct2_assert(elementIndex >= 0 && elementIndex < windowTileInspectorElementCount, - "elementIndex out of range"); - openrct2_assert(cornerIndex >= 0 && cornerIndex < 8, "cornerIndex out of range"); - game_do_command( - TILE_INSPECTOR_PATH_TOGGLE_EDGE, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - cornerIndex, - 0 - ); + openrct2_assert(elementIndex >= 0 && elementIndex < windowTileInspectorElementCount, + "elementIndex out of range"); + openrct2_assert(cornerIndex >= 0 && cornerIndex < 8, "cornerIndex out of range"); + game_do_command( + TILE_INSPECTOR_PATH_TOGGLE_EDGE, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + cornerIndex, + 0 + ); } static void window_tile_inspector_wall_set_slope(sint32 elementIndex, sint32 slopeValue) { - // Make sure only the correct bits are set - openrct2_assert((slopeValue & 0xC0) == slopeValue, "slopeValue doesn't match its mask"); + // Make sure only the correct bits are set + openrct2_assert((slopeValue & 0xC0) == slopeValue, "slopeValue doesn't match its mask"); - game_do_command( - TILE_INSPECTOR_WALL_SET_SLOPE, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - slopeValue, - 0 - ); + game_do_command( + TILE_INSPECTOR_WALL_SET_SLOPE, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + slopeValue, + 0 + ); } static void window_tile_inspector_track_block_height_offset(sint32 elementIndex, sint8 heightOffset) { - game_do_command( - TILE_INSPECTOR_TRACK_BASE_HEIGHT_OFFSET, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - heightOffset, - 0 - ); + game_do_command( + TILE_INSPECTOR_TRACK_BASE_HEIGHT_OFFSET, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + heightOffset, + 0 + ); } static void window_tile_inspector_track_block_set_lift(sint32 elementIndex, bool entireTrackBlock, bool chain) { - game_do_command( - TILE_INSPECTOR_TRACK_SET_CHAIN, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - entireTrackBlock, - chain - ); + game_do_command( + TILE_INSPECTOR_TRACK_SET_CHAIN, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + entireTrackBlock, + chain + ); } static void window_tile_inspector_quarter_tile_set(sint32 elementIndex, const sint32 quarterIndex) { - // quarterIndex is widget index relative to WIDX_SCENERY_CHECK_QUARTER_N, so a value from 0-3 - openrct2_assert(quarterIndex >= 0 && quarterIndex < 4, "quarterIndex out of range"); + // quarterIndex is widget index relative to WIDX_SCENERY_CHECK_QUARTER_N, so a value from 0-3 + openrct2_assert(quarterIndex >= 0 && quarterIndex < 4, "quarterIndex out of range"); - game_do_command( - TILE_INSPECTOR_SCENERY_SET_QUARTER_LOCATION, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - (quarterIndex - get_current_rotation()) & 3, - 0 - ); + game_do_command( + TILE_INSPECTOR_SCENERY_SET_QUARTER_LOCATION, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + (quarterIndex - get_current_rotation()) & 3, + 0 + ); } static void window_tile_inspector_toggle_quadrant_collosion(sint32 elementIndex, const sint32 quadrantIndex) { - game_do_command( - TILE_INSPECTOR_SCENERY_SET_QUARTER_COLLISION, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - (quadrantIndex + 2 - get_current_rotation()) & 3, - 0 - ); + game_do_command( + TILE_INSPECTOR_SCENERY_SET_QUARTER_COLLISION, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + (quadrantIndex + 2 - get_current_rotation()) & 3, + 0 + ); } static void window_tile_inspector_banner_toggle_block(sint32 elementIndex, sint32 edgeIndex) { - openrct2_assert(edgeIndex >= 0 && edgeIndex < 4, "edgeIndex out of range"); + openrct2_assert(edgeIndex >= 0 && edgeIndex < 4, "edgeIndex out of range"); - // Make edgeIndex abstract - edgeIndex = (edgeIndex - get_current_rotation()) & 3; + // Make edgeIndex abstract + edgeIndex = (edgeIndex - get_current_rotation()) & 3; - game_do_command( - TILE_INSPECTOR_BANNER_TOGGLE_BLOCKING_EDGE, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - edgeIndex, - 0 - ); + game_do_command( + TILE_INSPECTOR_BANNER_TOGGLE_BLOCKING_EDGE, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + edgeIndex, + 0 + ); } static void window_tile_inspector_clamp_corrupt(sint32 elementIndex) { - game_do_command( - TILE_INSPECTOR_CORRUPT_CLAMP, - GAME_COMMAND_FLAG_APPLY, - windowTileInspectorTileX | (windowTileInspectorTileY << 8), - elementIndex, - GAME_COMMAND_MODIFY_TILE, - 0, - 0 - ); + game_do_command( + TILE_INSPECTOR_CORRUPT_CLAMP, + GAME_COMMAND_FLAG_APPLY, + windowTileInspectorTileX | (windowTileInspectorTileY << 8), + elementIndex, + GAME_COMMAND_MODIFY_TILE, + 0, + 0 + ); } static void window_tile_inspector_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - tool_cancel(); - window_close(w); - break; - case WIDX_SPINNER_X_INCREASE: - windowTileInspectorTileX = min(windowTileInspectorTileX + 1, 255); - window_tile_inspector_load_tile(w); - window_tile_inspector_auto_set_buttons(w); - break; - case WIDX_SPINNER_X_DECREASE: - windowTileInspectorTileX = max(windowTileInspectorTileX - 1, 0); - window_tile_inspector_load_tile(w); - window_tile_inspector_auto_set_buttons(w); - break; - case WIDX_SPINNER_Y_INCREASE: - windowTileInspectorTileY = min(windowTileInspectorTileY + 1, 255); - window_tile_inspector_load_tile(w); - window_tile_inspector_auto_set_buttons(w); - break; - case WIDX_SPINNER_Y_DECREASE: - windowTileInspectorTileY = max(windowTileInspectorTileY - 1, 0); - window_tile_inspector_load_tile(w); - window_tile_inspector_auto_set_buttons(w); - break; - case WIDX_BUTTON_CORRUPT: - window_tile_inspector_insert_corrupt_element(w->selected_list_item); - break; - case WIDX_BUTTON_REMOVE: { - sint32 nextItemToSelect = w->selected_list_item - 1; - window_tile_inspector_remove_element(w->selected_list_item); - window_tile_inspector_select_element_from_list(w, nextItemToSelect); - break; - } - case WIDX_BUTTON_ROTATE: - window_tile_inspector_rotate_element(w->selected_list_item); - break; - case WIDX_BUTTON_SORT: - window_tile_inspector_sort_elements(); - break; - case WIDX_BUTTON_COPY: - window_tile_inspector_copy_element(w); - window_tile_inspector_auto_set_buttons(w); - window_invalidate(w); - break; - case WIDX_BUTTON_PASTE: - window_tile_inspector_paste_element(w); - break; - case WIDX_BUTTON_MOVE_DOWN: - window_tile_inspector_swap_elements(w->selected_list_item, w->selected_list_item + 1); - break; - case WIDX_BUTTON_MOVE_UP: - window_tile_inspector_swap_elements(w->selected_list_item - 1, w->selected_list_item); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + tool_cancel(); + window_close(w); + break; + case WIDX_SPINNER_X_INCREASE: + windowTileInspectorTileX = min(windowTileInspectorTileX + 1, 255); + window_tile_inspector_load_tile(w); + window_tile_inspector_auto_set_buttons(w); + break; + case WIDX_SPINNER_X_DECREASE: + windowTileInspectorTileX = max(windowTileInspectorTileX - 1, 0); + window_tile_inspector_load_tile(w); + window_tile_inspector_auto_set_buttons(w); + break; + case WIDX_SPINNER_Y_INCREASE: + windowTileInspectorTileY = min(windowTileInspectorTileY + 1, 255); + window_tile_inspector_load_tile(w); + window_tile_inspector_auto_set_buttons(w); + break; + case WIDX_SPINNER_Y_DECREASE: + windowTileInspectorTileY = max(windowTileInspectorTileY - 1, 0); + window_tile_inspector_load_tile(w); + window_tile_inspector_auto_set_buttons(w); + break; + case WIDX_BUTTON_CORRUPT: + window_tile_inspector_insert_corrupt_element(w->selected_list_item); + break; + case WIDX_BUTTON_REMOVE: { + sint32 nextItemToSelect = w->selected_list_item - 1; + window_tile_inspector_remove_element(w->selected_list_item); + window_tile_inspector_select_element_from_list(w, nextItemToSelect); + break; + } + case WIDX_BUTTON_ROTATE: + window_tile_inspector_rotate_element(w->selected_list_item); + break; + case WIDX_BUTTON_SORT: + window_tile_inspector_sort_elements(); + break; + case WIDX_BUTTON_COPY: + window_tile_inspector_copy_element(w); + window_tile_inspector_auto_set_buttons(w); + window_invalidate(w); + break; + case WIDX_BUTTON_PASTE: + window_tile_inspector_paste_element(w); + break; + case WIDX_BUTTON_MOVE_DOWN: + window_tile_inspector_swap_elements(w->selected_list_item, w->selected_list_item + 1); + break; + case WIDX_BUTTON_MOVE_UP: + window_tile_inspector_swap_elements(w->selected_list_item - 1, w->selected_list_item); + break; + } - // Only element-specific widgets from now on - if (w->page == TILE_INSPECTOR_PAGE_DEFAULT) { - return; - } + // Only element-specific widgets from now on + if (w->page == TILE_INSPECTOR_PAGE_DEFAULT) { + return; + } - // Get the selected map element - rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); + // Get the selected map element + rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); - // Page widgets - switch (w->page) { - case TILE_INSPECTOR_PAGE_SURFACE: - switch (widgetIndex) { - case WIDX_SURFACE_SPINNER_HEIGHT_INCREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, 1); - break; - case WIDX_SURFACE_SPINNER_HEIGHT_DECREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, -1); - break; - case WIDX_SURFACE_BUTTON_REMOVE_FENCES: - window_tile_inspector_surface_show_park_fences(false); - break; - case WIDX_SURFACE_BUTTON_RESTORE_FENCES: - window_tile_inspector_surface_show_park_fences(true); - break; - case WIDX_SURFACE_CHECK_CORNER_N: - case WIDX_SURFACE_CHECK_CORNER_E: - case WIDX_SURFACE_CHECK_CORNER_S: - case WIDX_SURFACE_CHECK_CORNER_W: - window_tile_inspector_surface_toggle_corner(((widgetIndex - WIDX_SURFACE_CHECK_CORNER_N) + 2 - get_current_rotation()) & 3); - break; - case WIDX_SURFACE_CHECK_DIAGONAL: - window_tile_inspector_surface_toggle_diagonal(); - break; - } // switch widgetindex - break; + // Page widgets + switch (w->page) { + case TILE_INSPECTOR_PAGE_SURFACE: + switch (widgetIndex) { + case WIDX_SURFACE_SPINNER_HEIGHT_INCREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, 1); + break; + case WIDX_SURFACE_SPINNER_HEIGHT_DECREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, -1); + break; + case WIDX_SURFACE_BUTTON_REMOVE_FENCES: + window_tile_inspector_surface_show_park_fences(false); + break; + case WIDX_SURFACE_BUTTON_RESTORE_FENCES: + window_tile_inspector_surface_show_park_fences(true); + break; + case WIDX_SURFACE_CHECK_CORNER_N: + case WIDX_SURFACE_CHECK_CORNER_E: + case WIDX_SURFACE_CHECK_CORNER_S: + case WIDX_SURFACE_CHECK_CORNER_W: + window_tile_inspector_surface_toggle_corner(((widgetIndex - WIDX_SURFACE_CHECK_CORNER_N) + 2 - get_current_rotation()) & 3); + break; + case WIDX_SURFACE_CHECK_DIAGONAL: + window_tile_inspector_surface_toggle_diagonal(); + break; + } // switch widgetindex + break; - case TILE_INSPECTOR_PAGE_PATH: - switch (widgetIndex) { - case WIDX_PATH_SPINNER_HEIGHT_INCREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, 1); - break; - case WIDX_PATH_SPINNER_HEIGHT_DECREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, -1); - break; - case WIDX_PATH_CHECK_SLOPED: - window_tile_inspector_path_set_sloped(w->selected_list_item, !footpath_element_is_sloped(mapElement)); - break; - case WIDX_PATH_CHECK_EDGE_E: - case WIDX_PATH_CHECK_EDGE_S: - case WIDX_PATH_CHECK_EDGE_W: - case WIDX_PATH_CHECK_EDGE_N: - { - // 0 = east/right, 1 = south/bottom, 2 = west/left, 3 = north/top - const sint32 eswn = (widgetIndex - WIDX_PATH_CHECK_EDGE_E) / 2; - // Transform to world orientation - const sint32 index = (4 + eswn - get_current_rotation()) & 3; - window_tile_inspector_path_toggle_edge(w->selected_list_item, index + 4); // The corners are stored in the 4 most significant bits, hence the + 4 - break; - } - case WIDX_PATH_CHECK_EDGE_NE: - case WIDX_PATH_CHECK_EDGE_SE: - case WIDX_PATH_CHECK_EDGE_SW: - case WIDX_PATH_CHECK_EDGE_NW: - { - // 0 = NE, 1 = SE, 2 = SW, 3 = NW - const sint32 neseswnw = (widgetIndex - WIDX_PATH_CHECK_EDGE_NE) / 2; - // Transform to world orientation - const sint32 index = (4 + neseswnw - get_current_rotation()) & 3; - window_tile_inspector_path_toggle_edge(w->selected_list_item, index); - break; - } - } // switch widget index - break; + case TILE_INSPECTOR_PAGE_PATH: + switch (widgetIndex) { + case WIDX_PATH_SPINNER_HEIGHT_INCREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, 1); + break; + case WIDX_PATH_SPINNER_HEIGHT_DECREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, -1); + break; + case WIDX_PATH_CHECK_SLOPED: + window_tile_inspector_path_set_sloped(w->selected_list_item, !footpath_element_is_sloped(mapElement)); + break; + case WIDX_PATH_CHECK_EDGE_E: + case WIDX_PATH_CHECK_EDGE_S: + case WIDX_PATH_CHECK_EDGE_W: + case WIDX_PATH_CHECK_EDGE_N: + { + // 0 = east/right, 1 = south/bottom, 2 = west/left, 3 = north/top + const sint32 eswn = (widgetIndex - WIDX_PATH_CHECK_EDGE_E) / 2; + // Transform to world orientation + const sint32 index = (4 + eswn - get_current_rotation()) & 3; + window_tile_inspector_path_toggle_edge(w->selected_list_item, index + 4); // The corners are stored in the 4 most significant bits, hence the + 4 + break; + } + case WIDX_PATH_CHECK_EDGE_NE: + case WIDX_PATH_CHECK_EDGE_SE: + case WIDX_PATH_CHECK_EDGE_SW: + case WIDX_PATH_CHECK_EDGE_NW: + { + // 0 = NE, 1 = SE, 2 = SW, 3 = NW + const sint32 neseswnw = (widgetIndex - WIDX_PATH_CHECK_EDGE_NE) / 2; + // Transform to world orientation + const sint32 index = (4 + neseswnw - get_current_rotation()) & 3; + window_tile_inspector_path_toggle_edge(w->selected_list_item, index); + break; + } + } // switch widget index + break; - case TILE_INSPECTOR_PAGE_TRACK: - switch (widgetIndex) { - case WIDX_TRACK_CHECK_APPLY_TO_ALL: - windowTileInspectorApplyToAll ^= 1; - widget_invalidate(w, widgetIndex); - break; - case WIDX_TRACK_SPINNER_HEIGHT_INCREASE: - if (widget_is_pressed(w, WIDX_TRACK_CHECK_APPLY_TO_ALL)) { - window_tile_inspector_track_block_height_offset(w->selected_list_item, 1); - } - else { - window_tile_inspector_base_height_offset(w->selected_list_item, 1); - } - break; - case WIDX_TRACK_SPINNER_HEIGHT_DECREASE: - if (widget_is_pressed(w, WIDX_TRACK_CHECK_APPLY_TO_ALL)) { - window_tile_inspector_track_block_height_offset(w->selected_list_item, -1); - } - else { - window_tile_inspector_base_height_offset(w->selected_list_item, -1); - } - break; - case WIDX_TRACK_CHECK_CHAIN_LIFT: - { - bool entireTrackBlock = widget_is_pressed(w, WIDX_TRACK_CHECK_APPLY_TO_ALL); - bool newLift = !track_element_is_lift_hill(mapElement); - window_tile_inspector_track_block_set_lift(w->selected_list_item, entireTrackBlock, newLift); - break; - } - } // switch widget index - break; + case TILE_INSPECTOR_PAGE_TRACK: + switch (widgetIndex) { + case WIDX_TRACK_CHECK_APPLY_TO_ALL: + windowTileInspectorApplyToAll ^= 1; + widget_invalidate(w, widgetIndex); + break; + case WIDX_TRACK_SPINNER_HEIGHT_INCREASE: + if (widget_is_pressed(w, WIDX_TRACK_CHECK_APPLY_TO_ALL)) { + window_tile_inspector_track_block_height_offset(w->selected_list_item, 1); + } + else { + window_tile_inspector_base_height_offset(w->selected_list_item, 1); + } + break; + case WIDX_TRACK_SPINNER_HEIGHT_DECREASE: + if (widget_is_pressed(w, WIDX_TRACK_CHECK_APPLY_TO_ALL)) { + window_tile_inspector_track_block_height_offset(w->selected_list_item, -1); + } + else { + window_tile_inspector_base_height_offset(w->selected_list_item, -1); + } + break; + case WIDX_TRACK_CHECK_CHAIN_LIFT: + { + bool entireTrackBlock = widget_is_pressed(w, WIDX_TRACK_CHECK_APPLY_TO_ALL); + bool newLift = !track_element_is_lift_hill(mapElement); + window_tile_inspector_track_block_set_lift(w->selected_list_item, entireTrackBlock, newLift); + break; + } + } // switch widget index + break; - case TILE_INSPECTOR_PAGE_SCENERY: - switch (widgetIndex) { - case WIDX_SCENERY_SPINNER_HEIGHT_INCREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, 1); - break; - case WIDX_SCENERY_SPINNER_HEIGHT_DECREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, -1); - break; - case WIDX_SCENERY_CHECK_QUARTER_N: - case WIDX_SCENERY_CHECK_QUARTER_E: - case WIDX_SCENERY_CHECK_QUARTER_S: - case WIDX_SCENERY_CHECK_QUARTER_W: - window_tile_inspector_quarter_tile_set(w->selected_list_item, widgetIndex - WIDX_SCENERY_CHECK_QUARTER_N); - break; - case WIDX_SCENERY_CHECK_COLLISION_N: - case WIDX_SCENERY_CHECK_COLLISION_E: - case WIDX_SCENERY_CHECK_COLLISION_S: - case WIDX_SCENERY_CHECK_COLLISION_W: - window_tile_inspector_toggle_quadrant_collosion(w->selected_list_item, widgetIndex - WIDX_SCENERY_CHECK_COLLISION_N); - break; - } // switch widget index - break; + case TILE_INSPECTOR_PAGE_SCENERY: + switch (widgetIndex) { + case WIDX_SCENERY_SPINNER_HEIGHT_INCREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, 1); + break; + case WIDX_SCENERY_SPINNER_HEIGHT_DECREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, -1); + break; + case WIDX_SCENERY_CHECK_QUARTER_N: + case WIDX_SCENERY_CHECK_QUARTER_E: + case WIDX_SCENERY_CHECK_QUARTER_S: + case WIDX_SCENERY_CHECK_QUARTER_W: + window_tile_inspector_quarter_tile_set(w->selected_list_item, widgetIndex - WIDX_SCENERY_CHECK_QUARTER_N); + break; + case WIDX_SCENERY_CHECK_COLLISION_N: + case WIDX_SCENERY_CHECK_COLLISION_E: + case WIDX_SCENERY_CHECK_COLLISION_S: + case WIDX_SCENERY_CHECK_COLLISION_W: + window_tile_inspector_toggle_quadrant_collosion(w->selected_list_item, widgetIndex - WIDX_SCENERY_CHECK_COLLISION_N); + break; + } // switch widget index + break; - case TILE_INSPECTOR_PAGE_ENTRANCE: - switch (widgetIndex) { - case WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, 1); - break; - case WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, -1); - break; - } // switch widget index - break; + case TILE_INSPECTOR_PAGE_ENTRANCE: + switch (widgetIndex) { + case WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, 1); + break; + case WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, -1); + break; + } // switch widget index + break; - case TILE_INSPECTOR_PAGE_WALL: - switch (widgetIndex) { - case WIDX_WALL_SPINNER_HEIGHT_INCREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, 1); - break; - case WIDX_WALL_SPINNER_HEIGHT_DECREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, -1); - break; - } // switch widget index - break; + case TILE_INSPECTOR_PAGE_WALL: + switch (widgetIndex) { + case WIDX_WALL_SPINNER_HEIGHT_INCREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, 1); + break; + case WIDX_WALL_SPINNER_HEIGHT_DECREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, -1); + break; + } // switch widget index + break; - case TILE_INSPECTOR_PAGE_LARGE_SCENERY: - switch (widgetIndex) { - case WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, 1); - break; - case WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, -1); - break; - } // switch widget index - break; + case TILE_INSPECTOR_PAGE_LARGE_SCENERY: + switch (widgetIndex) { + case WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, 1); + break; + case WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, -1); + break; + } // switch widget index + break; - case TILE_INSPECTOR_PAGE_BANNER: - switch (widgetIndex) { - case WIDX_BANNER_SPINNER_HEIGHT_INCREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, 1); - break; - case WIDX_BANNER_SPINNER_HEIGHT_DECREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, -1); - break; - case WIDX_BANNER_CHECK_BLOCK_NE: - case WIDX_BANNER_CHECK_BLOCK_SE: - case WIDX_BANNER_CHECK_BLOCK_SW: - case WIDX_BANNER_CHECK_BLOCK_NW: - window_tile_inspector_banner_toggle_block(w->selected_list_item, widgetIndex - WIDX_BANNER_CHECK_BLOCK_NE); - break; - } // switch widget index - break; + case TILE_INSPECTOR_PAGE_BANNER: + switch (widgetIndex) { + case WIDX_BANNER_SPINNER_HEIGHT_INCREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, 1); + break; + case WIDX_BANNER_SPINNER_HEIGHT_DECREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, -1); + break; + case WIDX_BANNER_CHECK_BLOCK_NE: + case WIDX_BANNER_CHECK_BLOCK_SE: + case WIDX_BANNER_CHECK_BLOCK_SW: + case WIDX_BANNER_CHECK_BLOCK_NW: + window_tile_inspector_banner_toggle_block(w->selected_list_item, widgetIndex - WIDX_BANNER_CHECK_BLOCK_NE); + break; + } // switch widget index + break; - case TILE_INSPECTOR_PAGE_CORRUPT: - switch (widgetIndex) { - case WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, 1); - break; - case WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE: - window_tile_inspector_base_height_offset(w->selected_list_item, -1); - break; - case WIDX_CORRUPT_BUTTON_CLAMP: - window_tile_inspector_clamp_corrupt(w->selected_list_item); - break; - } // switch widget index - break; - } // switch page + case TILE_INSPECTOR_PAGE_CORRUPT: + switch (widgetIndex) { + case WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, 1); + break; + case WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE: + window_tile_inspector_base_height_offset(w->selected_list_item, -1); + break; + case WIDX_CORRUPT_BUTTON_CLAMP: + window_tile_inspector_clamp_corrupt(w->selected_list_item); + break; + } // switch widget index + break; + } // switch page } static void window_tile_inspector_resize(rct_window *w) { - w->min_width = WW; - w->min_height = MIN_WH; - if (w->width < w->min_width) { - window_invalidate(w); - w->width = w->min_width; - } - if (w->height < w->min_height) { - window_invalidate(w); - w->height = w->min_height; - } + w->min_width = WW; + w->min_height = MIN_WH; + if (w->width < w->min_width) { + window_invalidate(w); + w->width = w->min_width; + } + if (w->height < w->min_height) { + window_invalidate(w); + w->height = w->min_height; + } } static void window_tile_inspector_mousedown(rct_widgetindex widgetIndex, rct_window *w, rct_widget* widget) { - switch (w->page) { - case TILE_INSPECTOR_PAGE_WALL: - switch (widgetIndex) { - case WIDX_WALL_DROPDOWN_SLOPE_BUTTON: - // Use dropdown instead of dropdown button - widget--; + switch (w->page) { + case TILE_INSPECTOR_PAGE_WALL: + switch (widgetIndex) { + case WIDX_WALL_DROPDOWN_SLOPE_BUTTON: + // Use dropdown instead of dropdown button + widget--; - // Fill dropdown list - gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsFormat[2] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[0] = STR_TILE_INSPECTOR_WALL_FLAT; - gDropdownItemsArgs[1] = STR_TILE_INSPECTOR_WALL_SLOPED_LEFT; - gDropdownItemsArgs[2] = STR_TILE_INSPECTOR_WALL_SLOPED_RIGHT; - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - 3, - widget->right - widget->left - 3 - ); + // Fill dropdown list + gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsFormat[2] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[0] = STR_TILE_INSPECTOR_WALL_FLAT; + gDropdownItemsArgs[1] = STR_TILE_INSPECTOR_WALL_SLOPED_LEFT; + gDropdownItemsArgs[2] = STR_TILE_INSPECTOR_WALL_SLOPED_RIGHT; + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + 3, + widget->right - widget->left - 3 + ); - // Set current value as checked - rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); - dropdown_set_checked((mapElement->type & 0xC0) >> 6, true); - break; - } - break; - } + // Set current value as checked + rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); + dropdown_set_checked((mapElement->type & 0xC0) >> 6, true); + break; + } + break; + } } static void window_tile_inspector_update(rct_window *w) { - // Check if the mouse is hovering over the list - if (!widget_is_highlighted(w, WIDX_LIST)) { - windowTileInspectorHighlightedIndex = -1; - widget_invalidate(w, WIDX_LIST); - } + // Check if the mouse is hovering over the list + if (!widget_is_highlighted(w, WIDX_LIST)) { + windowTileInspectorHighlightedIndex = -1; + widget_invalidate(w, WIDX_LIST); + } - if (gCurrentToolWidget.window_classification != WC_TILE_INSPECTOR) - window_close(w); + if (gCurrentToolWidget.window_classification != WC_TILE_INSPECTOR) + window_close(w); } static void window_tile_inspector_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (dropdownIndex == -1) { - return; - } + if (dropdownIndex == -1) { + return; + } - // Get selected element - rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); + // Get selected element + rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); - switch (w->page) { - case TILE_INSPECTOR_PAGE_WALL: - openrct2_assert(map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_WALL, "Element is not a wall"); + switch (w->page) { + case TILE_INSPECTOR_PAGE_WALL: + openrct2_assert(map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_WALL, "Element is not a wall"); - switch (widgetIndex) { - case WIDX_WALL_DROPDOWN_SLOPE_BUTTON: - window_tile_inspector_wall_set_slope(w->selected_list_item, dropdownIndex << 6); - break; - } - break; - } + switch (widgetIndex) { + case WIDX_WALL_DROPDOWN_SLOPE_BUTTON: + window_tile_inspector_wall_set_slope(w->selected_list_item, dropdownIndex << 6); + break; + } + break; + } } static void window_tile_inspector_tool_update(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - sint16 mapX = x; - sint16 mapY = y; - sint32 direction; - screen_pos_to_map_pos(&mapX, &mapY, &direction); - if (mapX != MAP_LOCATION_NULL) { - gMapSelectPositionA.x = gMapSelectPositionB.x = mapX; - gMapSelectPositionA.y = gMapSelectPositionB.y = mapY; - } - else if (windowTileInspectorTileSelected){ - gMapSelectPositionA.x = gMapSelectPositionB.x = windowTileInspectorTileX << 5; - gMapSelectPositionA.y = gMapSelectPositionB.y = windowTileInspectorTileY << 5; - } - else { - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - } + sint16 mapX = x; + sint16 mapY = y; + sint32 direction; + screen_pos_to_map_pos(&mapX, &mapY, &direction); + if (mapX != MAP_LOCATION_NULL) { + gMapSelectPositionA.x = gMapSelectPositionB.x = mapX; + gMapSelectPositionA.y = gMapSelectPositionB.y = mapY; + } + else if (windowTileInspectorTileSelected){ + gMapSelectPositionA.x = gMapSelectPositionB.x = windowTileInspectorTileX << 5; + gMapSelectPositionA.y = gMapSelectPositionB.y = windowTileInspectorTileY << 5; + } + else { + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + } - gMapSelectType = MAP_SELECT_TYPE_FULL; - map_invalidate_selection_rect(); + gMapSelectType = MAP_SELECT_TYPE_FULL; + map_invalidate_selection_rect(); } static void window_tile_inspector_update_selected_tile(rct_window *w, sint32 x, sint32 y) { - // Mouse hasn't moved - if (x == windowTileInspectorToolMouseX && y == windowTileInspectorToolMouseY) { - return; - } - windowTileInspectorToolMouseX = x; - windowTileInspectorToolMouseY = y; + // Mouse hasn't moved + if (x == windowTileInspectorToolMouseX && y == windowTileInspectorToolMouseY) { + return; + } + windowTileInspectorToolMouseX = x; + windowTileInspectorToolMouseY = y; - sint16 mapX = x; - sint16 mapY = y; - sint32 direction; - screen_pos_to_map_pos(&mapX, &mapY, &direction); - if (mapX == MAP_LOCATION_NULL) { - return; - } + sint16 mapX = x; + sint16 mapY = y; + sint32 direction; + screen_pos_to_map_pos(&mapX, &mapY, &direction); + if (mapX == MAP_LOCATION_NULL) { + return; + } - // Tile is already selected - if (windowTileInspectorTileSelected && mapX == windowTileInspectorToolMapX && mapY == windowTileInspectorToolMapY) { - return; - } + // Tile is already selected + if (windowTileInspectorTileSelected && mapX == windowTileInspectorToolMapX && mapY == windowTileInspectorToolMapY) { + return; + } - windowTileInspectorTileSelected = true; - windowTileInspectorToolMapX = mapX; - windowTileInspectorToolMapY = mapY; - windowTileInspectorTileX = mapX >> 5; - windowTileInspectorTileY = mapY >> 5; + windowTileInspectorTileSelected = true; + windowTileInspectorToolMapX = mapX; + windowTileInspectorToolMapY = mapY; + windowTileInspectorTileX = mapX >> 5; + windowTileInspectorTileY = mapY >> 5; - window_tile_inspector_load_tile(w); - window_tile_inspector_auto_set_buttons(w); + window_tile_inspector_load_tile(w); + window_tile_inspector_auto_set_buttons(w); } static void window_tile_inspector_tool_down(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - window_tile_inspector_update_selected_tile(w, x, y); + window_tile_inspector_update_selected_tile(w, x, y); } static void window_tile_inspector_tool_drag(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - window_tile_inspector_update_selected_tile(w, x, y); + window_tile_inspector_update_selected_tile(w, x, y); } static void window_tile_inspector_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - *width = WW - 30; - *height = windowTileInspectorElementCount * LIST_ITEM_HEIGHT; + *width = WW - 30; + *height = windowTileInspectorElementCount * LIST_ITEM_HEIGHT; } void window_tile_inspector_set_page(rct_window *w, const tile_inspector_page page) { - w->page = page; - w->widgets = PageWidgets[page]; - w->enabled_widgets = PageEnabledWidgets[page]; - w->disabled_widgets = PageDisabledWidgets[page]; + w->page = page; + w->widgets = PageWidgets[page]; + w->enabled_widgets = PageEnabledWidgets[page]; + w->disabled_widgets = PageDisabledWidgets[page]; } void window_tile_inspector_auto_set_buttons(rct_window *w) { - // X and Y spinners - widget_set_enabled(w, WIDX_SPINNER_X_INCREASE, (windowTileInspectorTileSelected && (windowTileInspectorTileX < 255))); - widget_set_enabled(w, WIDX_SPINNER_X_DECREASE, (windowTileInspectorTileSelected && (windowTileInspectorTileX > 0))); - widget_set_enabled(w, WIDX_SPINNER_Y_INCREASE, (windowTileInspectorTileSelected && (windowTileInspectorTileY < 255))); - widget_set_enabled(w, WIDX_SPINNER_Y_DECREASE, (windowTileInspectorTileSelected && (windowTileInspectorTileY > 0))); + // X and Y spinners + widget_set_enabled(w, WIDX_SPINNER_X_INCREASE, (windowTileInspectorTileSelected && (windowTileInspectorTileX < 255))); + widget_set_enabled(w, WIDX_SPINNER_X_DECREASE, (windowTileInspectorTileSelected && (windowTileInspectorTileX > 0))); + widget_set_enabled(w, WIDX_SPINNER_Y_INCREASE, (windowTileInspectorTileSelected && (windowTileInspectorTileY < 255))); + widget_set_enabled(w, WIDX_SPINNER_Y_DECREASE, (windowTileInspectorTileSelected && (windowTileInspectorTileY > 0))); - // Sort buttons - widget_set_enabled(w, WIDX_BUTTON_SORT, (windowTileInspectorTileSelected && windowTileInspectorElementCount > 1)); + // Sort buttons + widget_set_enabled(w, WIDX_BUTTON_SORT, (windowTileInspectorTileSelected && windowTileInspectorElementCount > 1)); - // Move Up button - widget_set_enabled(w, WIDX_BUTTON_MOVE_UP, (w->selected_list_item > 0)); - widget_invalidate(w, WIDX_BUTTON_MOVE_UP); + // Move Up button + widget_set_enabled(w, WIDX_BUTTON_MOVE_UP, (w->selected_list_item > 0)); + widget_invalidate(w, WIDX_BUTTON_MOVE_UP); - // Move Down button - widget_set_enabled(w, WIDX_BUTTON_MOVE_DOWN, (w->selected_list_item != -1 && w->selected_list_item < windowTileInspectorElementCount - 1)); - widget_invalidate(w, WIDX_BUTTON_MOVE_DOWN); + // Move Down button + widget_set_enabled(w, WIDX_BUTTON_MOVE_DOWN, (w->selected_list_item != -1 && w->selected_list_item < windowTileInspectorElementCount - 1)); + widget_invalidate(w, WIDX_BUTTON_MOVE_DOWN); - // Copy button - widget_set_enabled(w, WIDX_BUTTON_COPY, w->selected_list_item >= 0); - widget_invalidate(w, WIDX_BUTTON_COPY); + // Copy button + widget_set_enabled(w, WIDX_BUTTON_COPY, w->selected_list_item >= 0); + widget_invalidate(w, WIDX_BUTTON_COPY); - // Paste button - widget_set_enabled(w, WIDX_BUTTON_PASTE, windowTileInspectorTileSelected && windowTileInspectorElementCopied); - widget_invalidate(w, WIDX_BUTTON_PASTE); + // Paste button + widget_set_enabled(w, WIDX_BUTTON_PASTE, windowTileInspectorTileSelected && windowTileInspectorElementCopied); + widget_invalidate(w, WIDX_BUTTON_PASTE); - // Page widgets - switch (w->page) { - case TILE_INSPECTOR_PAGE_WALL: { - const rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); - const uint8 wallType = mapElement->properties.wall.type; - const rct_wall_scenery_entry wallEntry = get_wall_entry(wallType)->wall; - const bool canBeSloped = !(wallEntry.flags & WALL_SCENERY_CANT_BUILD_ON_SLOPE); - // Wall slope dropdown - widget_set_enabled(w, WIDX_WALL_DROPDOWN_SLOPE, canBeSloped); - widget_invalidate(w, WIDX_WALL_DROPDOWN_SLOPE); - widget_set_enabled(w, WIDX_WALL_DROPDOWN_SLOPE_BUTTON, canBeSloped); - widget_invalidate(w, WIDX_WALL_DROPDOWN_SLOPE_BUTTON); - break; - } - } // switch page + // Page widgets + switch (w->page) { + case TILE_INSPECTOR_PAGE_WALL: { + const rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); + const uint8 wallType = mapElement->properties.wall.type; + const rct_wall_scenery_entry wallEntry = get_wall_entry(wallType)->wall; + const bool canBeSloped = !(wallEntry.flags & WALL_SCENERY_CANT_BUILD_ON_SLOPE); + // Wall slope dropdown + widget_set_enabled(w, WIDX_WALL_DROPDOWN_SLOPE, canBeSloped); + widget_invalidate(w, WIDX_WALL_DROPDOWN_SLOPE); + widget_set_enabled(w, WIDX_WALL_DROPDOWN_SLOPE_BUTTON, canBeSloped); + widget_invalidate(w, WIDX_WALL_DROPDOWN_SLOPE_BUTTON); + break; + } + } // switch page } static void window_tile_inspector_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - // Because the list items are displayed in reverse order, subtract the calculated index from the amount of elements - const sint16 index = windowTileInspectorElementCount - (y - 1) / LIST_ITEM_HEIGHT - 1; - window_tile_inspector_select_element_from_list(w, index); + // Because the list items are displayed in reverse order, subtract the calculated index from the amount of elements + const sint16 index = windowTileInspectorElementCount - (y - 1) / LIST_ITEM_HEIGHT - 1; + window_tile_inspector_select_element_from_list(w, index); } static void window_tile_inspector_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint16 index = windowTileInspectorElementCount - (y - 1) / LIST_ITEM_HEIGHT - 1; - if (index < 0 || index >= windowTileInspectorElementCount) - windowTileInspectorHighlightedIndex = -1; - else - windowTileInspectorHighlightedIndex = index; + sint16 index = windowTileInspectorElementCount - (y - 1) / LIST_ITEM_HEIGHT - 1; + if (index < 0 || index >= windowTileInspectorElementCount) + windowTileInspectorHighlightedIndex = -1; + else + windowTileInspectorHighlightedIndex = index; - widget_invalidate(w, WIDX_LIST); + widget_invalidate(w, WIDX_LIST); } static void window_tile_inspector_invalidate(rct_window *w) { - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - if (w->page == TILE_INSPECTOR_PAGE_DEFAULT) { - w->widgets[WIDX_GROUPBOX_DETAILS].type = WWT_EMPTY; - w->widgets[WIDX_GROUPBOX_PROPERTIES].type = WWT_EMPTY; - w->widgets[WIDX_LIST].bottom = w->height - PADDING_BOTTOM; - } - else { - w->widgets[WIDX_GROUPBOX_DETAILS].type = WWT_GROUPBOX; - w->widgets[WIDX_GROUPBOX_PROPERTIES].type = WWT_GROUPBOX; - w->widgets[WIDX_GROUPBOX_DETAILS].image = PageGroupBoxSettings[w->page - 1].string_id; - w->widgets[WIDX_GROUPBOX_DETAILS].top = w->height - PageGroupBoxSettings[w->page - 1].details_top_offset; - w->widgets[WIDX_GROUPBOX_DETAILS].bottom = w->height - PageGroupBoxSettings[w->page - 1].details_bottom_offset; - w->widgets[WIDX_GROUPBOX_PROPERTIES].top = w->height - PageGroupBoxSettings[w->page - 1].properties_top_offset; - w->widgets[WIDX_GROUPBOX_PROPERTIES].bottom = w->height - PageGroupBoxSettings[w->page - 1].properties_bottom_offset; - w->widgets[WIDX_LIST].bottom = w->widgets[WIDX_GROUPBOX_DETAILS].top - GROUPBOX_PADDING; - } + if (w->page == TILE_INSPECTOR_PAGE_DEFAULT) { + w->widgets[WIDX_GROUPBOX_DETAILS].type = WWT_EMPTY; + w->widgets[WIDX_GROUPBOX_PROPERTIES].type = WWT_EMPTY; + w->widgets[WIDX_LIST].bottom = w->height - PADDING_BOTTOM; + } + else { + w->widgets[WIDX_GROUPBOX_DETAILS].type = WWT_GROUPBOX; + w->widgets[WIDX_GROUPBOX_PROPERTIES].type = WWT_GROUPBOX; + w->widgets[WIDX_GROUPBOX_DETAILS].image = PageGroupBoxSettings[w->page - 1].string_id; + w->widgets[WIDX_GROUPBOX_DETAILS].top = w->height - PageGroupBoxSettings[w->page - 1].details_top_offset; + w->widgets[WIDX_GROUPBOX_DETAILS].bottom = w->height - PageGroupBoxSettings[w->page - 1].details_bottom_offset; + w->widgets[WIDX_GROUPBOX_PROPERTIES].top = w->height - PageGroupBoxSettings[w->page - 1].properties_top_offset; + w->widgets[WIDX_GROUPBOX_PROPERTIES].bottom = w->height - PageGroupBoxSettings[w->page - 1].properties_bottom_offset; + w->widgets[WIDX_LIST].bottom = w->widgets[WIDX_GROUPBOX_DETAILS].top - GROUPBOX_PADDING; + } - // Only page-specific widgets related to the map element will be - if (w->page == TILE_INSPECTOR_PAGE_DEFAULT) { - return; - } + // Only page-specific widgets related to the map element will be + if (w->page == TILE_INSPECTOR_PAGE_DEFAULT) { + return; + } - // Using a switch, because I don't think giving each page their own callbacks is - // needed here, as only the mouseup and invalidate functions are different. - const sint32 propertiesAnchor = w->widgets[WIDX_GROUPBOX_PROPERTIES].top; - rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); + // Using a switch, because I don't think giving each page their own callbacks is + // needed here, as only the mouseup and invalidate functions are different. + const sint32 propertiesAnchor = w->widgets[WIDX_GROUPBOX_PROPERTIES].top; + rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); - switch (w->page) { - case TILE_INSPECTOR_PAGE_SURFACE: - w->widgets[WIDX_SURFACE_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; - w->widgets[WIDX_SURFACE_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; - w->widgets[WIDX_SURFACE_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; - w->widgets[WIDX_SURFACE_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; - w->widgets[WIDX_SURFACE_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; - w->widgets[WIDX_SURFACE_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; - w->widgets[WIDX_SURFACE_BUTTON_REMOVE_FENCES].top = GBBT(propertiesAnchor, 1); - w->widgets[WIDX_SURFACE_BUTTON_REMOVE_FENCES].bottom = GBBB(propertiesAnchor, 1); - w->widgets[WIDX_SURFACE_BUTTON_RESTORE_FENCES].top = GBBT(propertiesAnchor, 1); - w->widgets[WIDX_SURFACE_BUTTON_RESTORE_FENCES].bottom = GBBB(propertiesAnchor, 1); - w->widgets[WIDX_SURFACE_CHECK_CORNER_N].top = GBBT(propertiesAnchor, 2) + 7 * 0; - w->widgets[WIDX_SURFACE_CHECK_CORNER_N].bottom = w->widgets[WIDX_SURFACE_CHECK_CORNER_N].top + 13; - w->widgets[WIDX_SURFACE_CHECK_CORNER_E].top = GBBT(propertiesAnchor, 2) + 7 * 1; - w->widgets[WIDX_SURFACE_CHECK_CORNER_E].bottom = w->widgets[WIDX_SURFACE_CHECK_CORNER_E].top + 13; - w->widgets[WIDX_SURFACE_CHECK_CORNER_S].top = GBBT(propertiesAnchor, 2) + 7 * 2; - w->widgets[WIDX_SURFACE_CHECK_CORNER_S].bottom = w->widgets[WIDX_SURFACE_CHECK_CORNER_S].top + 13; - w->widgets[WIDX_SURFACE_CHECK_CORNER_W].top = GBBT(propertiesAnchor, 2) + 7 * 1; - w->widgets[WIDX_SURFACE_CHECK_CORNER_W].bottom = w->widgets[WIDX_SURFACE_CHECK_CORNER_W].top + 13; - w->widgets[WIDX_SURFACE_CHECK_DIAGONAL].top = GBBT(propertiesAnchor, 3) + 7 * 1; - w->widgets[WIDX_SURFACE_CHECK_DIAGONAL].bottom = w->widgets[WIDX_SURFACE_CHECK_DIAGONAL].top + 13; - widget_set_checkbox_value(w, WIDX_SURFACE_CHECK_CORNER_N, mapElement->properties.surface.slope & (1 << ((2 - get_current_rotation()) & 3))); - widget_set_checkbox_value(w, WIDX_SURFACE_CHECK_CORNER_E, mapElement->properties.surface.slope & (1 << ((3 - get_current_rotation()) & 3))); - widget_set_checkbox_value(w, WIDX_SURFACE_CHECK_CORNER_S, mapElement->properties.surface.slope & (1 << ((0 - get_current_rotation()) & 3))); - widget_set_checkbox_value(w, WIDX_SURFACE_CHECK_CORNER_W, mapElement->properties.surface.slope & (1 << ((1 - get_current_rotation()) & 3))); - widget_set_checkbox_value(w, WIDX_SURFACE_CHECK_DIAGONAL, mapElement->properties.surface.slope & 0x10); - break; - case TILE_INSPECTOR_PAGE_PATH: - w->widgets[WIDX_PATH_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; - w->widgets[WIDX_PATH_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; - w->widgets[WIDX_PATH_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; - w->widgets[WIDX_PATH_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; - w->widgets[WIDX_PATH_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; - w->widgets[WIDX_PATH_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; - w->widgets[WIDX_PATH_CHECK_SLOPED].top = GBBT(propertiesAnchor, 1) + 2; - w->widgets[WIDX_PATH_CHECK_SLOPED].bottom = GBBT(propertiesAnchor, 1) + 15; - w->widgets[WIDX_PATH_CHECK_EDGE_N].top = GBBT(propertiesAnchor, 2) + 7 * 0; - w->widgets[WIDX_PATH_CHECK_EDGE_N].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_N].top + 13; - w->widgets[WIDX_PATH_CHECK_EDGE_NE].top = GBBT(propertiesAnchor, 2) + 7 * 1; - w->widgets[WIDX_PATH_CHECK_EDGE_NE].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_NE].top + 13; - w->widgets[WIDX_PATH_CHECK_EDGE_E].top = GBBT(propertiesAnchor, 2) + 7 * 2; - w->widgets[WIDX_PATH_CHECK_EDGE_E].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_E].top + 13; - w->widgets[WIDX_PATH_CHECK_EDGE_SE].top = GBBT(propertiesAnchor, 2) + 7 * 3; - w->widgets[WIDX_PATH_CHECK_EDGE_SE].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_SE].top + 13; - w->widgets[WIDX_PATH_CHECK_EDGE_S].top = GBBT(propertiesAnchor, 2) + 7 * 4; - w->widgets[WIDX_PATH_CHECK_EDGE_S].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_S].top + 13; - w->widgets[WIDX_PATH_CHECK_EDGE_SW].top = GBBT(propertiesAnchor, 2) + 7 * 3; - w->widgets[WIDX_PATH_CHECK_EDGE_SW].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_SW].top + 13; - w->widgets[WIDX_PATH_CHECK_EDGE_W].top = GBBT(propertiesAnchor, 2) + 7 * 2; - w->widgets[WIDX_PATH_CHECK_EDGE_W].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_W].top + 13; - w->widgets[WIDX_PATH_CHECK_EDGE_NW].top = GBBT(propertiesAnchor, 2) + 7 * 1; - w->widgets[WIDX_PATH_CHECK_EDGE_NW].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_NW].top + 13; - widget_set_checkbox_value(w, WIDX_PATH_CHECK_SLOPED, footpath_element_is_sloped(mapElement)); - widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_NE, mapElement->properties.path.edges & (1 << ((0 - get_current_rotation()) & 3))); - widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_SE, mapElement->properties.path.edges & (1 << ((1 - get_current_rotation()) & 3))); - widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_SW, mapElement->properties.path.edges & (1 << ((2 - get_current_rotation()) & 3))); - widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_NW, mapElement->properties.path.edges & (1 << ((3 - get_current_rotation()) & 3))); - widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_E, mapElement->properties.path.edges & (1 << (4 + ((0 - get_current_rotation()) & 3)))); - widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_S, mapElement->properties.path.edges & (1 << (4 + ((1 - get_current_rotation()) & 3)))); - widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_W, mapElement->properties.path.edges & (1 << (4 + ((2 - get_current_rotation()) & 3)))); - widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_N, mapElement->properties.path.edges & (1 << (4 + ((3 - get_current_rotation()) & 3)))); - break; - case TILE_INSPECTOR_PAGE_TRACK: - w->widgets[WIDX_TRACK_CHECK_APPLY_TO_ALL].top = GBBT(propertiesAnchor, 0); - w->widgets[WIDX_TRACK_CHECK_APPLY_TO_ALL].bottom = GBBB(propertiesAnchor, 0); - w->widgets[WIDX_TRACK_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 1) + 3; - w->widgets[WIDX_TRACK_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 1) - 3; - w->widgets[WIDX_TRACK_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 1) + 4; - w->widgets[WIDX_TRACK_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 1) + 8; - w->widgets[WIDX_TRACK_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 1) - 8; - w->widgets[WIDX_TRACK_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 1) - 4; - w->widgets[WIDX_TRACK_CHECK_CHAIN_LIFT].top = GBBT(propertiesAnchor, 2); - w->widgets[WIDX_TRACK_CHECK_CHAIN_LIFT].bottom = GBBB(propertiesAnchor, 2); - widget_set_checkbox_value(w, WIDX_TRACK_CHECK_APPLY_TO_ALL, windowTileInspectorApplyToAll); - widget_set_checkbox_value(w, WIDX_TRACK_CHECK_CHAIN_LIFT, track_element_is_lift_hill(mapElement)); - break; - case TILE_INSPECTOR_PAGE_SCENERY: { - // Raise / Lower - w->widgets[WIDX_SCENERY_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; - w->widgets[WIDX_SCENERY_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; - w->widgets[WIDX_SCENERY_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; - w->widgets[WIDX_SCENERY_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; - w->widgets[WIDX_SCENERY_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; - w->widgets[WIDX_SCENERY_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; + switch (w->page) { + case TILE_INSPECTOR_PAGE_SURFACE: + w->widgets[WIDX_SURFACE_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; + w->widgets[WIDX_SURFACE_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; + w->widgets[WIDX_SURFACE_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; + w->widgets[WIDX_SURFACE_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; + w->widgets[WIDX_SURFACE_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; + w->widgets[WIDX_SURFACE_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; + w->widgets[WIDX_SURFACE_BUTTON_REMOVE_FENCES].top = GBBT(propertiesAnchor, 1); + w->widgets[WIDX_SURFACE_BUTTON_REMOVE_FENCES].bottom = GBBB(propertiesAnchor, 1); + w->widgets[WIDX_SURFACE_BUTTON_RESTORE_FENCES].top = GBBT(propertiesAnchor, 1); + w->widgets[WIDX_SURFACE_BUTTON_RESTORE_FENCES].bottom = GBBB(propertiesAnchor, 1); + w->widgets[WIDX_SURFACE_CHECK_CORNER_N].top = GBBT(propertiesAnchor, 2) + 7 * 0; + w->widgets[WIDX_SURFACE_CHECK_CORNER_N].bottom = w->widgets[WIDX_SURFACE_CHECK_CORNER_N].top + 13; + w->widgets[WIDX_SURFACE_CHECK_CORNER_E].top = GBBT(propertiesAnchor, 2) + 7 * 1; + w->widgets[WIDX_SURFACE_CHECK_CORNER_E].bottom = w->widgets[WIDX_SURFACE_CHECK_CORNER_E].top + 13; + w->widgets[WIDX_SURFACE_CHECK_CORNER_S].top = GBBT(propertiesAnchor, 2) + 7 * 2; + w->widgets[WIDX_SURFACE_CHECK_CORNER_S].bottom = w->widgets[WIDX_SURFACE_CHECK_CORNER_S].top + 13; + w->widgets[WIDX_SURFACE_CHECK_CORNER_W].top = GBBT(propertiesAnchor, 2) + 7 * 1; + w->widgets[WIDX_SURFACE_CHECK_CORNER_W].bottom = w->widgets[WIDX_SURFACE_CHECK_CORNER_W].top + 13; + w->widgets[WIDX_SURFACE_CHECK_DIAGONAL].top = GBBT(propertiesAnchor, 3) + 7 * 1; + w->widgets[WIDX_SURFACE_CHECK_DIAGONAL].bottom = w->widgets[WIDX_SURFACE_CHECK_DIAGONAL].top + 13; + widget_set_checkbox_value(w, WIDX_SURFACE_CHECK_CORNER_N, mapElement->properties.surface.slope & (1 << ((2 - get_current_rotation()) & 3))); + widget_set_checkbox_value(w, WIDX_SURFACE_CHECK_CORNER_E, mapElement->properties.surface.slope & (1 << ((3 - get_current_rotation()) & 3))); + widget_set_checkbox_value(w, WIDX_SURFACE_CHECK_CORNER_S, mapElement->properties.surface.slope & (1 << ((0 - get_current_rotation()) & 3))); + widget_set_checkbox_value(w, WIDX_SURFACE_CHECK_CORNER_W, mapElement->properties.surface.slope & (1 << ((1 - get_current_rotation()) & 3))); + widget_set_checkbox_value(w, WIDX_SURFACE_CHECK_DIAGONAL, mapElement->properties.surface.slope & 0x10); + break; + case TILE_INSPECTOR_PAGE_PATH: + w->widgets[WIDX_PATH_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; + w->widgets[WIDX_PATH_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; + w->widgets[WIDX_PATH_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; + w->widgets[WIDX_PATH_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; + w->widgets[WIDX_PATH_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; + w->widgets[WIDX_PATH_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; + w->widgets[WIDX_PATH_CHECK_SLOPED].top = GBBT(propertiesAnchor, 1) + 2; + w->widgets[WIDX_PATH_CHECK_SLOPED].bottom = GBBT(propertiesAnchor, 1) + 15; + w->widgets[WIDX_PATH_CHECK_EDGE_N].top = GBBT(propertiesAnchor, 2) + 7 * 0; + w->widgets[WIDX_PATH_CHECK_EDGE_N].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_N].top + 13; + w->widgets[WIDX_PATH_CHECK_EDGE_NE].top = GBBT(propertiesAnchor, 2) + 7 * 1; + w->widgets[WIDX_PATH_CHECK_EDGE_NE].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_NE].top + 13; + w->widgets[WIDX_PATH_CHECK_EDGE_E].top = GBBT(propertiesAnchor, 2) + 7 * 2; + w->widgets[WIDX_PATH_CHECK_EDGE_E].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_E].top + 13; + w->widgets[WIDX_PATH_CHECK_EDGE_SE].top = GBBT(propertiesAnchor, 2) + 7 * 3; + w->widgets[WIDX_PATH_CHECK_EDGE_SE].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_SE].top + 13; + w->widgets[WIDX_PATH_CHECK_EDGE_S].top = GBBT(propertiesAnchor, 2) + 7 * 4; + w->widgets[WIDX_PATH_CHECK_EDGE_S].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_S].top + 13; + w->widgets[WIDX_PATH_CHECK_EDGE_SW].top = GBBT(propertiesAnchor, 2) + 7 * 3; + w->widgets[WIDX_PATH_CHECK_EDGE_SW].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_SW].top + 13; + w->widgets[WIDX_PATH_CHECK_EDGE_W].top = GBBT(propertiesAnchor, 2) + 7 * 2; + w->widgets[WIDX_PATH_CHECK_EDGE_W].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_W].top + 13; + w->widgets[WIDX_PATH_CHECK_EDGE_NW].top = GBBT(propertiesAnchor, 2) + 7 * 1; + w->widgets[WIDX_PATH_CHECK_EDGE_NW].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_NW].top + 13; + widget_set_checkbox_value(w, WIDX_PATH_CHECK_SLOPED, footpath_element_is_sloped(mapElement)); + widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_NE, mapElement->properties.path.edges & (1 << ((0 - get_current_rotation()) & 3))); + widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_SE, mapElement->properties.path.edges & (1 << ((1 - get_current_rotation()) & 3))); + widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_SW, mapElement->properties.path.edges & (1 << ((2 - get_current_rotation()) & 3))); + widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_NW, mapElement->properties.path.edges & (1 << ((3 - get_current_rotation()) & 3))); + widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_E, mapElement->properties.path.edges & (1 << (4 + ((0 - get_current_rotation()) & 3)))); + widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_S, mapElement->properties.path.edges & (1 << (4 + ((1 - get_current_rotation()) & 3)))); + widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_W, mapElement->properties.path.edges & (1 << (4 + ((2 - get_current_rotation()) & 3)))); + widget_set_checkbox_value(w, WIDX_PATH_CHECK_EDGE_N, mapElement->properties.path.edges & (1 << (4 + ((3 - get_current_rotation()) & 3)))); + break; + case TILE_INSPECTOR_PAGE_TRACK: + w->widgets[WIDX_TRACK_CHECK_APPLY_TO_ALL].top = GBBT(propertiesAnchor, 0); + w->widgets[WIDX_TRACK_CHECK_APPLY_TO_ALL].bottom = GBBB(propertiesAnchor, 0); + w->widgets[WIDX_TRACK_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 1) + 3; + w->widgets[WIDX_TRACK_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 1) - 3; + w->widgets[WIDX_TRACK_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 1) + 4; + w->widgets[WIDX_TRACK_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 1) + 8; + w->widgets[WIDX_TRACK_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 1) - 8; + w->widgets[WIDX_TRACK_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 1) - 4; + w->widgets[WIDX_TRACK_CHECK_CHAIN_LIFT].top = GBBT(propertiesAnchor, 2); + w->widgets[WIDX_TRACK_CHECK_CHAIN_LIFT].bottom = GBBB(propertiesAnchor, 2); + widget_set_checkbox_value(w, WIDX_TRACK_CHECK_APPLY_TO_ALL, windowTileInspectorApplyToAll); + widget_set_checkbox_value(w, WIDX_TRACK_CHECK_CHAIN_LIFT, track_element_is_lift_hill(mapElement)); + break; + case TILE_INSPECTOR_PAGE_SCENERY: { + // Raise / Lower + w->widgets[WIDX_SCENERY_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; + w->widgets[WIDX_SCENERY_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; + w->widgets[WIDX_SCENERY_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; + w->widgets[WIDX_SCENERY_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; + w->widgets[WIDX_SCENERY_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; + w->widgets[WIDX_SCENERY_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; - // Quadrant checkboxes - w->widgets[WIDX_SCENERY_CHECK_QUARTER_N].top = GBBT(propertiesAnchor, 1) - 5 + 7 * 0; - w->widgets[WIDX_SCENERY_CHECK_QUARTER_N].bottom = w->widgets[WIDX_SCENERY_CHECK_QUARTER_N].top + 13; - w->widgets[WIDX_SCENERY_CHECK_QUARTER_E].top = GBBT(propertiesAnchor, 1) - 5 + 7 * 1; - w->widgets[WIDX_SCENERY_CHECK_QUARTER_E].bottom = w->widgets[WIDX_SCENERY_CHECK_QUARTER_E].top + 13; - w->widgets[WIDX_SCENERY_CHECK_QUARTER_S].top = GBBT(propertiesAnchor, 1) - 5 + 7 * 2; - w->widgets[WIDX_SCENERY_CHECK_QUARTER_S].bottom = w->widgets[WIDX_SCENERY_CHECK_QUARTER_S].top + 13; - w->widgets[WIDX_SCENERY_CHECK_QUARTER_W].top = GBBT(propertiesAnchor, 1) - 5 + 7 * 1; - w->widgets[WIDX_SCENERY_CHECK_QUARTER_W].bottom = w->widgets[WIDX_SCENERY_CHECK_QUARTER_W].top + 13; - // This gets the relative rotation, by subtracting the camera's rotation, and wrapping it between 0-3 inclusive - bool N = (mapElement->type & MAP_ELEMENT_QUADRANT_MASK) == ((0 - get_current_rotation()) & 3) << 6; - bool E = (mapElement->type & MAP_ELEMENT_QUADRANT_MASK) == ((1 - get_current_rotation()) & 3) << 6; - bool S = (mapElement->type & MAP_ELEMENT_QUADRANT_MASK) == ((2 - get_current_rotation()) & 3) << 6; - bool W = (mapElement->type & MAP_ELEMENT_QUADRANT_MASK) == ((3 - get_current_rotation()) & 3) << 6; - widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_QUARTER_N, N); - widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_QUARTER_E, E); - widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_QUARTER_S, S); - widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_QUARTER_W, W); + // Quadrant checkboxes + w->widgets[WIDX_SCENERY_CHECK_QUARTER_N].top = GBBT(propertiesAnchor, 1) - 5 + 7 * 0; + w->widgets[WIDX_SCENERY_CHECK_QUARTER_N].bottom = w->widgets[WIDX_SCENERY_CHECK_QUARTER_N].top + 13; + w->widgets[WIDX_SCENERY_CHECK_QUARTER_E].top = GBBT(propertiesAnchor, 1) - 5 + 7 * 1; + w->widgets[WIDX_SCENERY_CHECK_QUARTER_E].bottom = w->widgets[WIDX_SCENERY_CHECK_QUARTER_E].top + 13; + w->widgets[WIDX_SCENERY_CHECK_QUARTER_S].top = GBBT(propertiesAnchor, 1) - 5 + 7 * 2; + w->widgets[WIDX_SCENERY_CHECK_QUARTER_S].bottom = w->widgets[WIDX_SCENERY_CHECK_QUARTER_S].top + 13; + w->widgets[WIDX_SCENERY_CHECK_QUARTER_W].top = GBBT(propertiesAnchor, 1) - 5 + 7 * 1; + w->widgets[WIDX_SCENERY_CHECK_QUARTER_W].bottom = w->widgets[WIDX_SCENERY_CHECK_QUARTER_W].top + 13; + // This gets the relative rotation, by subtracting the camera's rotation, and wrapping it between 0-3 inclusive + bool N = (mapElement->type & MAP_ELEMENT_QUADRANT_MASK) == ((0 - get_current_rotation()) & 3) << 6; + bool E = (mapElement->type & MAP_ELEMENT_QUADRANT_MASK) == ((1 - get_current_rotation()) & 3) << 6; + bool S = (mapElement->type & MAP_ELEMENT_QUADRANT_MASK) == ((2 - get_current_rotation()) & 3) << 6; + bool W = (mapElement->type & MAP_ELEMENT_QUADRANT_MASK) == ((3 - get_current_rotation()) & 3) << 6; + widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_QUARTER_N, N); + widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_QUARTER_E, E); + widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_QUARTER_S, S); + widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_QUARTER_W, W); - // Collision checkboxes - w->widgets[WIDX_SCENERY_CHECK_COLLISION_N].top = GBBT(propertiesAnchor, 2) + 5 + 7 * 0; - w->widgets[WIDX_SCENERY_CHECK_COLLISION_N].bottom = w->widgets[WIDX_SCENERY_CHECK_COLLISION_N].top + 13; - w->widgets[WIDX_SCENERY_CHECK_COLLISION_E].top = GBBT(propertiesAnchor, 2) + 5 + 7 * 1; - w->widgets[WIDX_SCENERY_CHECK_COLLISION_E].bottom = w->widgets[WIDX_SCENERY_CHECK_COLLISION_E].top + 13; - w->widgets[WIDX_SCENERY_CHECK_COLLISION_S].top = GBBT(propertiesAnchor, 2) + 5 + 7 * 2; - w->widgets[WIDX_SCENERY_CHECK_COLLISION_S].bottom = w->widgets[WIDX_SCENERY_CHECK_COLLISION_S].top + 13; - w->widgets[WIDX_SCENERY_CHECK_COLLISION_W].top = GBBT(propertiesAnchor, 2) + 5 + 7 * 1; - w->widgets[WIDX_SCENERY_CHECK_COLLISION_W].bottom = w->widgets[WIDX_SCENERY_CHECK_COLLISION_W].top + 13; - N = mapElement->flags & (1 << ((2 - get_current_rotation()) & 3)); - E = mapElement->flags & (1 << ((3 - get_current_rotation()) & 3)); - S = mapElement->flags & (1 << ((0 - get_current_rotation()) & 3)); - W = mapElement->flags & (1 << ((1 - get_current_rotation()) & 3)); - widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_COLLISION_N, N); - widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_COLLISION_E, E); - widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_COLLISION_S, S); - widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_COLLISION_W, W); - break; - } - case TILE_INSPECTOR_PAGE_ENTRANCE: - w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; - w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; - w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; - w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; - w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; - w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; - break; - case TILE_INSPECTOR_PAGE_WALL: - w->widgets[WIDX_WALL_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; - w->widgets[WIDX_WALL_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; - w->widgets[WIDX_WALL_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; - w->widgets[WIDX_WALL_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; - w->widgets[WIDX_WALL_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; - w->widgets[WIDX_WALL_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; - w->widgets[WIDX_WALL_DROPDOWN_SLOPE].top = GBBT(propertiesAnchor, 1) + 3; - w->widgets[WIDX_WALL_DROPDOWN_SLOPE].bottom = GBBB(propertiesAnchor, 1) - 3; - w->widgets[WIDX_WALL_DROPDOWN_SLOPE].text = WallSlopeStringIds[(mapElement->type & 0xC0) >> 6]; - w->widgets[WIDX_WALL_DROPDOWN_SLOPE_BUTTON].top = GBBT(propertiesAnchor, 1) + 4; - w->widgets[WIDX_WALL_DROPDOWN_SLOPE_BUTTON].bottom = GBBB(propertiesAnchor, 1) - 4; - break; - case TILE_INSPECTOR_PAGE_LARGE_SCENERY: - w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; - w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; - w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; - w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; - w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; - w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; - break; - case TILE_INSPECTOR_PAGE_BANNER: - w->widgets[WIDX_BANNER_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; - w->widgets[WIDX_BANNER_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; - w->widgets[WIDX_BANNER_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; - w->widgets[WIDX_BANNER_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; - w->widgets[WIDX_BANNER_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; - w->widgets[WIDX_BANNER_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; - widget_set_checkbox_value(w, WIDX_BANNER_CHECK_BLOCK_NE, !(mapElement->properties.banner.flags & (1 << ((0 - get_current_rotation()) & 3)))); - widget_set_checkbox_value(w, WIDX_BANNER_CHECK_BLOCK_SE, !(mapElement->properties.banner.flags & (1 << ((1 - get_current_rotation()) & 3)))); - widget_set_checkbox_value(w, WIDX_BANNER_CHECK_BLOCK_SW, !(mapElement->properties.banner.flags & (1 << ((2 - get_current_rotation()) & 3)))); - widget_set_checkbox_value(w, WIDX_BANNER_CHECK_BLOCK_NW, !(mapElement->properties.banner.flags & (1 << ((3 - get_current_rotation()) & 3)))); - break; - case TILE_INSPECTOR_PAGE_CORRUPT: - w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; - w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; - w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; - w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; - w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; - w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; - w->widgets[WIDX_CORRUPT_BUTTON_CLAMP].top = GBBT(propertiesAnchor, 1); - w->widgets[WIDX_CORRUPT_BUTTON_CLAMP].bottom = GBBB(propertiesAnchor, 1); - break; - } + // Collision checkboxes + w->widgets[WIDX_SCENERY_CHECK_COLLISION_N].top = GBBT(propertiesAnchor, 2) + 5 + 7 * 0; + w->widgets[WIDX_SCENERY_CHECK_COLLISION_N].bottom = w->widgets[WIDX_SCENERY_CHECK_COLLISION_N].top + 13; + w->widgets[WIDX_SCENERY_CHECK_COLLISION_E].top = GBBT(propertiesAnchor, 2) + 5 + 7 * 1; + w->widgets[WIDX_SCENERY_CHECK_COLLISION_E].bottom = w->widgets[WIDX_SCENERY_CHECK_COLLISION_E].top + 13; + w->widgets[WIDX_SCENERY_CHECK_COLLISION_S].top = GBBT(propertiesAnchor, 2) + 5 + 7 * 2; + w->widgets[WIDX_SCENERY_CHECK_COLLISION_S].bottom = w->widgets[WIDX_SCENERY_CHECK_COLLISION_S].top + 13; + w->widgets[WIDX_SCENERY_CHECK_COLLISION_W].top = GBBT(propertiesAnchor, 2) + 5 + 7 * 1; + w->widgets[WIDX_SCENERY_CHECK_COLLISION_W].bottom = w->widgets[WIDX_SCENERY_CHECK_COLLISION_W].top + 13; + N = mapElement->flags & (1 << ((2 - get_current_rotation()) & 3)); + E = mapElement->flags & (1 << ((3 - get_current_rotation()) & 3)); + S = mapElement->flags & (1 << ((0 - get_current_rotation()) & 3)); + W = mapElement->flags & (1 << ((1 - get_current_rotation()) & 3)); + widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_COLLISION_N, N); + widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_COLLISION_E, E); + widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_COLLISION_S, S); + widget_set_checkbox_value(w, WIDX_SCENERY_CHECK_COLLISION_W, W); + break; + } + case TILE_INSPECTOR_PAGE_ENTRANCE: + w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; + w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; + w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; + w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; + w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; + w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; + break; + case TILE_INSPECTOR_PAGE_WALL: + w->widgets[WIDX_WALL_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; + w->widgets[WIDX_WALL_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; + w->widgets[WIDX_WALL_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; + w->widgets[WIDX_WALL_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; + w->widgets[WIDX_WALL_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; + w->widgets[WIDX_WALL_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; + w->widgets[WIDX_WALL_DROPDOWN_SLOPE].top = GBBT(propertiesAnchor, 1) + 3; + w->widgets[WIDX_WALL_DROPDOWN_SLOPE].bottom = GBBB(propertiesAnchor, 1) - 3; + w->widgets[WIDX_WALL_DROPDOWN_SLOPE].text = WallSlopeStringIds[(mapElement->type & 0xC0) >> 6]; + w->widgets[WIDX_WALL_DROPDOWN_SLOPE_BUTTON].top = GBBT(propertiesAnchor, 1) + 4; + w->widgets[WIDX_WALL_DROPDOWN_SLOPE_BUTTON].bottom = GBBB(propertiesAnchor, 1) - 4; + break; + case TILE_INSPECTOR_PAGE_LARGE_SCENERY: + w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; + w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; + w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; + w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; + w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; + w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; + break; + case TILE_INSPECTOR_PAGE_BANNER: + w->widgets[WIDX_BANNER_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; + w->widgets[WIDX_BANNER_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; + w->widgets[WIDX_BANNER_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; + w->widgets[WIDX_BANNER_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; + w->widgets[WIDX_BANNER_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; + w->widgets[WIDX_BANNER_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; + widget_set_checkbox_value(w, WIDX_BANNER_CHECK_BLOCK_NE, !(mapElement->properties.banner.flags & (1 << ((0 - get_current_rotation()) & 3)))); + widget_set_checkbox_value(w, WIDX_BANNER_CHECK_BLOCK_SE, !(mapElement->properties.banner.flags & (1 << ((1 - get_current_rotation()) & 3)))); + widget_set_checkbox_value(w, WIDX_BANNER_CHECK_BLOCK_SW, !(mapElement->properties.banner.flags & (1 << ((2 - get_current_rotation()) & 3)))); + widget_set_checkbox_value(w, WIDX_BANNER_CHECK_BLOCK_NW, !(mapElement->properties.banner.flags & (1 << ((3 - get_current_rotation()) & 3)))); + break; + case TILE_INSPECTOR_PAGE_CORRUPT: + w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; + w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3; + w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4; + w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8; + w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8; + w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4; + w->widgets[WIDX_CORRUPT_BUTTON_CLAMP].top = GBBT(propertiesAnchor, 1); + w->widgets[WIDX_CORRUPT_BUTTON_CLAMP].bottom = GBBB(propertiesAnchor, 1); + break; + } } static void window_tile_inspector_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - // Set medium font size - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + // Set medium font size + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - // Draw column headers - rct_widget *widget; - if ((widget = &w->widgets[WIDX_COLUMN_TYPE])->type != WWT_EMPTY) { - gfx_draw_string_left_clipped(dpi, STR_TILE_INSPECTOR_ELEMENT_TYPE, gCommonFormatArgs, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); - } - if ((widget = &w->widgets[WIDX_COLUMN_BASEHEIGHT])->type != WWT_EMPTY) { - gfx_draw_string_left_clipped(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_SHORT, gCommonFormatArgs, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); - } - if ((widget = &w->widgets[WIDX_COLUMN_CLEARANCEHEIGHT])->type != WWT_EMPTY) { - gfx_draw_string_left_clipped(dpi, STR_TILE_INSPECTOR_CLEARANGE_HEIGHT_SHORT, gCommonFormatArgs, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); - } - if ((widget = &w->widgets[WIDX_COLUMN_GHOSTFLAG])->type != WWT_EMPTY) { - gfx_draw_string_left_clipped(dpi, STR_TILE_INSPECTOR_FLAG_GHOST_SHORT, gCommonFormatArgs, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); - } - if ((widget = &w->widgets[WIDX_COLUMN_BROKENFLAG])->type != WWT_EMPTY) { - gfx_draw_string_left_clipped(dpi, STR_TILE_INSPECTOR_FLAG_BROKEN_SHORT, gCommonFormatArgs, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); - } - if ((widget = &w->widgets[WIDX_COLUMN_LASTFLAG])->type != WWT_EMPTY) { - gfx_draw_string_left_clipped(dpi, STR_TILE_INSPECTOR_FLAG_LAST_SHORT, gCommonFormatArgs, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); - } + // Draw column headers + rct_widget *widget; + if ((widget = &w->widgets[WIDX_COLUMN_TYPE])->type != WWT_EMPTY) { + gfx_draw_string_left_clipped(dpi, STR_TILE_INSPECTOR_ELEMENT_TYPE, gCommonFormatArgs, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); + } + if ((widget = &w->widgets[WIDX_COLUMN_BASEHEIGHT])->type != WWT_EMPTY) { + gfx_draw_string_left_clipped(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_SHORT, gCommonFormatArgs, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); + } + if ((widget = &w->widgets[WIDX_COLUMN_CLEARANCEHEIGHT])->type != WWT_EMPTY) { + gfx_draw_string_left_clipped(dpi, STR_TILE_INSPECTOR_CLEARANGE_HEIGHT_SHORT, gCommonFormatArgs, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); + } + if ((widget = &w->widgets[WIDX_COLUMN_GHOSTFLAG])->type != WWT_EMPTY) { + gfx_draw_string_left_clipped(dpi, STR_TILE_INSPECTOR_FLAG_GHOST_SHORT, gCommonFormatArgs, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); + } + if ((widget = &w->widgets[WIDX_COLUMN_BROKENFLAG])->type != WWT_EMPTY) { + gfx_draw_string_left_clipped(dpi, STR_TILE_INSPECTOR_FLAG_BROKEN_SHORT, gCommonFormatArgs, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); + } + if ((widget = &w->widgets[WIDX_COLUMN_LASTFLAG])->type != WWT_EMPTY) { + gfx_draw_string_left_clipped(dpi, STR_TILE_INSPECTOR_FLAG_LAST_SHORT, gCommonFormatArgs, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); + } - // Draw coordinates - gfx_draw_string(dpi, "X:", COLOUR_DARK_GREEN, w->x + 6, w->y + 24); - gfx_draw_string(dpi, "Y:", COLOUR_DARK_GREEN, w->x + 64, w->y + 24); - if (windowTileInspectorTileSelected) { - gfx_draw_string_right(dpi, STR_FORMAT_INTEGER, &windowTileInspectorTileX, COLOUR_DARK_GREEN, w->x + 48, w->y + 24); - gfx_draw_string_right(dpi, STR_FORMAT_INTEGER, &windowTileInspectorTileY, COLOUR_DARK_GREEN, w->x + 105, w->y + 24); - } - else { - gfx_draw_string(dpi, "-", COLOUR_DARK_GREEN, w->x + 48 - 7, w->y + 24); - gfx_draw_string(dpi, "-", COLOUR_DARK_GREEN, w->x + 105 - 7, w->y + 24); - } + // Draw coordinates + gfx_draw_string(dpi, "X:", COLOUR_DARK_GREEN, w->x + 6, w->y + 24); + gfx_draw_string(dpi, "Y:", COLOUR_DARK_GREEN, w->x + 64, w->y + 24); + if (windowTileInspectorTileSelected) { + gfx_draw_string_right(dpi, STR_FORMAT_INTEGER, &windowTileInspectorTileX, COLOUR_DARK_GREEN, w->x + 48, w->y + 24); + gfx_draw_string_right(dpi, STR_FORMAT_INTEGER, &windowTileInspectorTileY, COLOUR_DARK_GREEN, w->x + 105, w->y + 24); + } + else { + gfx_draw_string(dpi, "-", COLOUR_DARK_GREEN, w->x + 48 - 7, w->y + 24); + gfx_draw_string(dpi, "-", COLOUR_DARK_GREEN, w->x + 105 - 7, w->y + 24); + } - if (w->selected_list_item != -1) { - // X and Y of first element in detail box - sint32 x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; - sint32 y = w->y + w->widgets[WIDX_GROUPBOX_DETAILS].top + 14; + if (w->selected_list_item != -1) { + // X and Y of first element in detail box + sint32 x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; + sint32 y = w->y + w->widgets[WIDX_GROUPBOX_DETAILS].top + 14; - // Get map element - rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); + // Get map element + rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w); - switch (w->page) { - case TILE_INSPECTOR_PAGE_SURFACE: { - // Details - // Terrain texture name - rct_string_id terrainNameId = TerrainTypeStringIds[map_element_get_terrain(mapElement)]; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SURFACE_TERAIN, &terrainNameId, COLOUR_DARK_GREEN, x, y); + switch (w->page) { + case TILE_INSPECTOR_PAGE_SURFACE: { + // Details + // Terrain texture name + rct_string_id terrainNameId = TerrainTypeStringIds[map_element_get_terrain(mapElement)]; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SURFACE_TERAIN, &terrainNameId, COLOUR_DARK_GREEN, x, y); - // Edge texture name - sint32 idx = map_element_get_terrain_edge(mapElement); - openrct2_assert(idx < countof(TerrainEdgeTypeStringIds), "Tried accessing invalid entry %d in terrainEdgeTypeStringIds", idx); - rct_string_id terrainEdgeNameId = TerrainEdgeTypeStringIds[map_element_get_terrain_edge(mapElement)]; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SURFACE_EDGE, &terrainEdgeNameId, COLOUR_DARK_GREEN, x, y + 11); + // Edge texture name + sint32 idx = map_element_get_terrain_edge(mapElement); + openrct2_assert(idx < countof(TerrainEdgeTypeStringIds), "Tried accessing invalid entry %d in terrainEdgeTypeStringIds", idx); + rct_string_id terrainEdgeNameId = TerrainEdgeTypeStringIds[map_element_get_terrain_edge(mapElement)]; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SURFACE_EDGE, &terrainEdgeNameId, COLOUR_DARK_GREEN, x, y + 11); - // Land ownership - rct_string_id landOwnership; - if (mapElement->properties.surface.ownership & OWNERSHIP_OWNED) landOwnership = STR_LAND_OWNED; - else if (mapElement->properties.surface.ownership & OWNERSHIP_AVAILABLE) landOwnership = STR_LAND_SALE; - else if (mapElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED) landOwnership = STR_CONSTRUCTION_RIGHTS_OWNED; - else if (mapElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE) landOwnership = STR_CONSTRUCTION_RIGHTS_SALE; - else landOwnership = STR_TILE_INSPECTOR_LAND_NOT_OWNED_AND_NOT_AVAILABLE; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SURFACE_OWNERSHIP, &landOwnership, COLOUR_DARK_GREEN, x, y + 22); + // Land ownership + rct_string_id landOwnership; + if (mapElement->properties.surface.ownership & OWNERSHIP_OWNED) landOwnership = STR_LAND_OWNED; + else if (mapElement->properties.surface.ownership & OWNERSHIP_AVAILABLE) landOwnership = STR_LAND_SALE; + else if (mapElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED) landOwnership = STR_CONSTRUCTION_RIGHTS_OWNED; + else if (mapElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE) landOwnership = STR_CONSTRUCTION_RIGHTS_SALE; + else landOwnership = STR_TILE_INSPECTOR_LAND_NOT_OWNED_AND_NOT_AVAILABLE; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SURFACE_OWNERSHIP, &landOwnership, COLOUR_DARK_GREEN, x, y + 22); - // Water level - sint32 waterLevel = mapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SURFACE_WATER_LEVEL, &waterLevel, COLOUR_DARK_GREEN, x, y + 33); + // Water level + sint32 waterLevel = mapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SURFACE_WATER_LEVEL, &waterLevel, COLOUR_DARK_GREEN, x, y + 33); - // Properties - // Raise / lower label - x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; - y = w->y + w->widgets[WIDX_SURFACE_SPINNER_HEIGHT].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); + // Properties + // Raise / lower label + x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; + y = w->y + w->widgets[WIDX_SURFACE_SPINNER_HEIGHT].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); - // Current base height - x = w->x + w->widgets[WIDX_SURFACE_SPINNER_HEIGHT].left + 3; - sint32 baseHeight = mapElement->base_height; - gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); + // Current base height + x = w->x + w->widgets[WIDX_SURFACE_SPINNER_HEIGHT].left + 3; + sint32 baseHeight = mapElement->base_height; + gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); - // Raised corners - x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; - y = w->y + w->widgets[WIDX_SURFACE_CHECK_CORNER_E].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SURFACE_CORNERS, NULL, COLOUR_DARK_GREEN, x, y); - break; - } + // Raised corners + x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; + y = w->y + w->widgets[WIDX_SURFACE_CHECK_CORNER_E].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SURFACE_CORNERS, NULL, COLOUR_DARK_GREEN, x, y); + break; + } - case TILE_INSPECTOR_PAGE_PATH: { - // Details - // Path name - rct_string_id pathNameId = get_footpath_entry(footpath_element_get_type(mapElement))->string_idx; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_PATH_NAME, &pathNameId, COLOUR_DARK_GREEN, x, y); + case TILE_INSPECTOR_PAGE_PATH: { + // Details + // Path name + rct_string_id pathNameId = get_footpath_entry(footpath_element_get_type(mapElement))->string_idx; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_PATH_NAME, &pathNameId, COLOUR_DARK_GREEN, x, y); - // Path addition - if (footpath_element_has_path_scenery(mapElement)) { - const uint8 pathAdditionType = footpath_element_get_path_scenery_index(mapElement); - rct_string_id additionNameId = get_footpath_item_entry(pathAdditionType)->name; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_PATH_ADDITIONS, &additionNameId, COLOUR_DARK_GREEN, x, y + 11); - } - else - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_PATH_ADDITIONS_NONE, NULL, COLOUR_DARK_GREEN, x, y + 11); + // Path addition + if (footpath_element_has_path_scenery(mapElement)) { + const uint8 pathAdditionType = footpath_element_get_path_scenery_index(mapElement); + rct_string_id additionNameId = get_footpath_item_entry(pathAdditionType)->name; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_PATH_ADDITIONS, &additionNameId, COLOUR_DARK_GREEN, x, y + 11); + } + else + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_PATH_ADDITIONS_NONE, NULL, COLOUR_DARK_GREEN, x, y + 11); - // Properties - // Raise / lower label - x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; - y = w->y + w->widgets[WIDX_PATH_SPINNER_HEIGHT].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); + // Properties + // Raise / lower label + x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; + y = w->y + w->widgets[WIDX_PATH_SPINNER_HEIGHT].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); - // Current base height - x = w->x + w->widgets[WIDX_PATH_SPINNER_HEIGHT].left + 3; - sint32 baseHeight = mapElement->base_height; - gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); + // Current base height + x = w->x + w->widgets[WIDX_PATH_SPINNER_HEIGHT].left + 3; + sint32 baseHeight = mapElement->base_height; + gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); - // Path connections - x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; - y = w->y + w->widgets[WIDX_PATH_CHECK_EDGE_W].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_PATH_CONECTED_EDGES, NULL, COLOUR_DARK_GREEN, x, y); - break; - } + // Path connections + x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; + y = w->y + w->widgets[WIDX_PATH_CHECK_EDGE_W].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_PATH_CONECTED_EDGES, NULL, COLOUR_DARK_GREEN, x, y); + break; + } - case TILE_INSPECTOR_PAGE_TRACK: { - // Details - // Ride - sint16 rideId = mapElement->properties.track.ride_index; - rct_ride *ride = get_ride(rideId); - rct_string_id rideType = RideNaming[ride->type].name; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_RIDE_TYPE, &rideType, COLOUR_DARK_GREEN, x, y); - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_RIDE_ID, &rideId, COLOUR_DARK_GREEN, x, y + 11); - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(0 + sizeof(rct_string_id), uint32, ride->name_arguments); - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_RIDE_NAME, gCommonFormatArgs, COLOUR_DARK_GREEN, x, y + 22); - // Track - sint16 trackType = mapElement->properties.track.type; - sint16 sequenceNumber = mapElement->properties.track.sequence & 0x0F; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_PIECE_ID, &trackType, COLOUR_DARK_GREEN, x, y + 33); - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_SEQUENCE, &sequenceNumber, COLOUR_DARK_GREEN, x, y + 44); + case TILE_INSPECTOR_PAGE_TRACK: { + // Details + // Ride + sint16 rideId = mapElement->properties.track.ride_index; + rct_ride *ride = get_ride(rideId); + rct_string_id rideType = RideNaming[ride->type].name; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_RIDE_TYPE, &rideType, COLOUR_DARK_GREEN, x, y); + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_RIDE_ID, &rideId, COLOUR_DARK_GREEN, x, y + 11); + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(0 + sizeof(rct_string_id), uint32, ride->name_arguments); + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_RIDE_NAME, gCommonFormatArgs, COLOUR_DARK_GREEN, x, y + 22); + // Track + sint16 trackType = mapElement->properties.track.type; + sint16 sequenceNumber = mapElement->properties.track.sequence & 0x0F; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_PIECE_ID, &trackType, COLOUR_DARK_GREEN, x, y + 33); + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_SEQUENCE, &sequenceNumber, COLOUR_DARK_GREEN, x, y + 44); - // Properties - // Raise / lower label - y = w->y + w->widgets[WIDX_TRACK_SPINNER_HEIGHT].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); + // Properties + // Raise / lower label + y = w->y + w->widgets[WIDX_TRACK_SPINNER_HEIGHT].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); - // Current base height - x = w->x + w->widgets[WIDX_TRACK_SPINNER_HEIGHT].left + 3; - sint32 baseHeight = mapElement->base_height; - gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); - break; - } + // Current base height + x = w->x + w->widgets[WIDX_TRACK_SPINNER_HEIGHT].left + 3; + sint32 baseHeight = mapElement->base_height; + gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); + break; + } - case TILE_INSPECTOR_PAGE_SCENERY: { - // Details - // Age - sint16 age = mapElement->properties.scenery.age; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SCENERY_AGE, &age, COLOUR_DARK_GREEN, x, y); + case TILE_INSPECTOR_PAGE_SCENERY: { + // Details + // Age + sint16 age = mapElement->properties.scenery.age; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SCENERY_AGE, &age, COLOUR_DARK_GREEN, x, y); - // Quadrant value - if (!(get_small_scenery_entry(mapElement->properties.scenery.type)->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE)) { - sint16 quadrant = (mapElement->type & MAP_ELEMENT_QUADRANT_MASK) >> 6; - static rct_string_id quadrant_string_idx[] = { - STR_TILE_INSPECTOR_SCENERY_QUADRANT_SW, - STR_TILE_INSPECTOR_SCENERY_QUADRANT_NW, - STR_TILE_INSPECTOR_SCENERY_QUADRANT_NE, - STR_TILE_INSPECTOR_SCENERY_QUADRANT_SE - }; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SCENERY_QUADRANT, &quadrant_string_idx[quadrant], COLOUR_DARK_GREEN, x, y + 11); - } + // Quadrant value + if (!(get_small_scenery_entry(mapElement->properties.scenery.type)->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE)) { + sint16 quadrant = (mapElement->type & MAP_ELEMENT_QUADRANT_MASK) >> 6; + static rct_string_id quadrant_string_idx[] = { + STR_TILE_INSPECTOR_SCENERY_QUADRANT_SW, + STR_TILE_INSPECTOR_SCENERY_QUADRANT_NW, + STR_TILE_INSPECTOR_SCENERY_QUADRANT_NE, + STR_TILE_INSPECTOR_SCENERY_QUADRANT_SE + }; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SCENERY_QUADRANT, &quadrant_string_idx[quadrant], COLOUR_DARK_GREEN, x, y + 11); + } - // Scenery ID - sint16 idx = mapElement->properties.scenery.type; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SCENERY_ENTRY_IDX, &idx, COLOUR_DARK_GREEN, x, y + 22); + // Scenery ID + sint16 idx = mapElement->properties.scenery.type; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SCENERY_ENTRY_IDX, &idx, COLOUR_DARK_GREEN, x, y + 22); - // Properties - // Raise / Lower - y = w->y + w->widgets[WIDX_SCENERY_SPINNER_HEIGHT].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); + // Properties + // Raise / Lower + y = w->y + w->widgets[WIDX_SCENERY_SPINNER_HEIGHT].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); - // Current base height - x = w->x + w->widgets[WIDX_SCENERY_SPINNER_HEIGHT].left + 3; - sint32 baseHeight = mapElement->base_height; - gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); + // Current base height + x = w->x + w->widgets[WIDX_SCENERY_SPINNER_HEIGHT].left + 3; + sint32 baseHeight = mapElement->base_height; + gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); - // Quarter tile - x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; - y = w->y + w->widgets[WIDX_SCENERY_CHECK_QUARTER_E].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SCENERY_QUADRANT_LABEL, NULL, COLOUR_DARK_GREEN, x, y); + // Quarter tile + x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; + y = w->y + w->widgets[WIDX_SCENERY_CHECK_QUARTER_E].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_SCENERY_QUADRANT_LABEL, NULL, COLOUR_DARK_GREEN, x, y); - // Collision - y = w->y + w->widgets[WIDX_SCENERY_CHECK_COLLISION_E].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_COLLISSION, NULL, COLOUR_DARK_GREEN, x, y); - break; - } + // Collision + y = w->y + w->widgets[WIDX_SCENERY_CHECK_COLLISION_E].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_COLLISSION, NULL, COLOUR_DARK_GREEN, x, y); + break; + } - case TILE_INSPECTOR_PAGE_ENTRANCE: { - // Details - // Entrance type - rct_string_id entranceType = EntranceTypeStringIds[mapElement->properties.entrance.type]; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRANCE_TYPE, &entranceType, COLOUR_DARK_GREEN, x, y); + case TILE_INSPECTOR_PAGE_ENTRANCE: { + // Details + // Entrance type + rct_string_id entranceType = EntranceTypeStringIds[mapElement->properties.entrance.type]; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRANCE_TYPE, &entranceType, COLOUR_DARK_GREEN, x, y); - if (mapElement->properties.entrance.type == ENTRANCE_TYPE_PARK_ENTRANCE) { - // Park entrance ID - sint32 middleX = windowTileInspectorTileX << 5; - sint32 middleY = windowTileInspectorTileY << 5; - // TODO: Make this work with Left/Right park entrance parts - sint16 parkEntranceIndex = park_entrance_get_index(middleX, middleY, mapElement->base_height * 8); - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRANCE_ENTRANCE_ID, &parkEntranceIndex, COLOUR_DARK_GREEN, x, y + 11); - } - else { - sint16 rideEntranceIndex = (mapElement->properties.entrance.index & 0x30) >> 4; - if (mapElement->properties.entrance.type == ENTRANCE_TYPE_RIDE_ENTRANCE) { - // Ride entrance ID - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRANCE_ENTRANCE_ID, &rideEntranceIndex, COLOUR_DARK_GREEN, x, y + 11); - } - else { - // Ride exit ID - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRANCE_EXIT_ID, &rideEntranceIndex, COLOUR_DARK_GREEN, x, y + 11); - } - } + if (mapElement->properties.entrance.type == ENTRANCE_TYPE_PARK_ENTRANCE) { + // Park entrance ID + sint32 middleX = windowTileInspectorTileX << 5; + sint32 middleY = windowTileInspectorTileY << 5; + // TODO: Make this work with Left/Right park entrance parts + sint16 parkEntranceIndex = park_entrance_get_index(middleX, middleY, mapElement->base_height * 8); + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRANCE_ENTRANCE_ID, &parkEntranceIndex, COLOUR_DARK_GREEN, x, y + 11); + } + else { + sint16 rideEntranceIndex = (mapElement->properties.entrance.index & 0x30) >> 4; + if (mapElement->properties.entrance.type == ENTRANCE_TYPE_RIDE_ENTRANCE) { + // Ride entrance ID + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRANCE_ENTRANCE_ID, &rideEntranceIndex, COLOUR_DARK_GREEN, x, y + 11); + } + else { + // Ride exit ID + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRANCE_EXIT_ID, &rideEntranceIndex, COLOUR_DARK_GREEN, x, y + 11); + } + } - if (mapElement->properties.entrance.type == ENTRANCE_TYPE_PARK_ENTRANCE) { - // Entrance part - rct_string_id entrancePart = ParkEntrancePartStringIds[mapElement->properties.entrance.index & 0x0F]; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRANCE_PART, &entrancePart, COLOUR_DARK_GREEN, x, y + 22); - } - else { - // Ride ID - sint16 rideId = mapElement->properties.entrance.ride_index; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRANCE_RIDE_ID, &rideId, COLOUR_DARK_GREEN, x, y + 22); - } + if (mapElement->properties.entrance.type == ENTRANCE_TYPE_PARK_ENTRANCE) { + // Entrance part + rct_string_id entrancePart = ParkEntrancePartStringIds[mapElement->properties.entrance.index & 0x0F]; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRANCE_PART, &entrancePart, COLOUR_DARK_GREEN, x, y + 22); + } + else { + // Ride ID + sint16 rideId = mapElement->properties.entrance.ride_index; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRANCE_RIDE_ID, &rideId, COLOUR_DARK_GREEN, x, y + 22); + } - // Properties - // Raise / Lower - y = w->y + w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); + // Properties + // Raise / Lower + y = w->y + w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); - // Current base height - x = w->x + w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT].left + 3; - sint32 baseHeight = mapElement->base_height; - gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); - break; - } + // Current base height + x = w->x + w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT].left + 3; + sint32 baseHeight = mapElement->base_height; + gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); + break; + } - case TILE_INSPECTOR_PAGE_WALL: { - // Details - // Type - sint16 wallType = mapElement->properties.wall.type; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_WALL_TYPE, &wallType, COLOUR_DARK_GREEN, x, y); + case TILE_INSPECTOR_PAGE_WALL: { + // Details + // Type + sint16 wallType = mapElement->properties.wall.type; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_WALL_TYPE, &wallType, COLOUR_DARK_GREEN, x, y); - // Banner info - rct_wall_scenery_entry wallEntry = get_wall_entry(wallType)->wall; - if (wallEntry.flags & WALL_SCENERY_IS_BANNER) { - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_TEXT, &gBanners[mapElement->properties.wall.banner_index].string_idx, COLOUR_DARK_GREEN, x, y + 11); - } - else { - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_NONE, NULL, COLOUR_DARK_GREEN, x, y + 11); - } + // Banner info + rct_wall_scenery_entry wallEntry = get_wall_entry(wallType)->wall; + if (wallEntry.flags & WALL_SCENERY_IS_BANNER) { + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_TEXT, &gBanners[mapElement->properties.wall.banner_index].string_idx, COLOUR_DARK_GREEN, x, y + 11); + } + else { + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_NONE, NULL, COLOUR_DARK_GREEN, x, y + 11); + } - // Properties - // Raise / lower label - y = w->y + w->widgets[WIDX_WALL_SPINNER_HEIGHT].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); + // Properties + // Raise / lower label + y = w->y + w->widgets[WIDX_WALL_SPINNER_HEIGHT].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); - // Current base height - x = w->x + w->widgets[WIDX_WALL_SPINNER_HEIGHT].left + 3; - sint32 baseHeight = mapElement->base_height; - gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); + // Current base height + x = w->x + w->widgets[WIDX_WALL_SPINNER_HEIGHT].left + 3; + sint32 baseHeight = mapElement->base_height; + gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); - // Slope label - x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; - y = w->y + w->widgets[WIDX_WALL_DROPDOWN_SLOPE].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_WALL_SLOPE, NULL, COLOUR_DARK_GREEN, x, y); - break; - } + // Slope label + x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; + y = w->y + w->widgets[WIDX_WALL_DROPDOWN_SLOPE].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_WALL_SLOPE, NULL, COLOUR_DARK_GREEN, x, y); + break; + } - case TILE_INSPECTOR_PAGE_LARGE_SCENERY: - { - // Details - // Type - sint16 largeSceneryType = mapElement->properties.scenerymultiple.type & 0x03FF; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_LARGE_SCENERY_TYPE, &largeSceneryType, COLOUR_DARK_GREEN, x, y); + case TILE_INSPECTOR_PAGE_LARGE_SCENERY: + { + // Details + // Type + sint16 largeSceneryType = mapElement->properties.scenerymultiple.type & 0x03FF; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_LARGE_SCENERY_TYPE, &largeSceneryType, COLOUR_DARK_GREEN, x, y); - // Part ID - sint16 pieceID = (mapElement->properties.scenerymultiple.type & 0xFC00) >> 10; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_LARGE_SCENERY_PIECE_ID, &pieceID, COLOUR_DARK_GREEN, x, y + 11); + // Part ID + sint16 pieceID = (mapElement->properties.scenerymultiple.type & 0xFC00) >> 10; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_LARGE_SCENERY_PIECE_ID, &pieceID, COLOUR_DARK_GREEN, x, y + 11); - // Banner info - rct_scenery_entry *largeSceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & MAP_ELEMENT_LARGE_TYPE_MASK); - if (largeSceneryEntry->large_scenery.var_11 != 0xFF) { - const sint32 bannerIndex = (mapElement->type & 0xC0) | - ((mapElement->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | - ((mapElement->properties.scenerymultiple.colour[1] & 0xE0) >> 5); - //window_sign_open(bannerIndex); - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_TEXT, &gBanners[bannerIndex].string_idx, COLOUR_DARK_GREEN, x, y + 22); - } - else { - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_NONE, NULL, COLOUR_DARK_GREEN, x, y + 22); - } + // Banner info + rct_scenery_entry *largeSceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & MAP_ELEMENT_LARGE_TYPE_MASK); + if (largeSceneryEntry->large_scenery.var_11 != 0xFF) { + const sint32 bannerIndex = (mapElement->type & 0xC0) | + ((mapElement->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | + ((mapElement->properties.scenerymultiple.colour[1] & 0xE0) >> 5); + //window_sign_open(bannerIndex); + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_TEXT, &gBanners[bannerIndex].string_idx, COLOUR_DARK_GREEN, x, y + 22); + } + else { + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_NONE, NULL, COLOUR_DARK_GREEN, x, y + 22); + } - // Properties - // Raise / lower label - y = w->y + w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); + // Properties + // Raise / lower label + y = w->y + w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); - // Current base height - x = w->x + w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT].left + 3; - sint32 baseHeight = mapElement->base_height; - gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); - break; - } + // Current base height + x = w->x + w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT].left + 3; + sint32 baseHeight = mapElement->base_height; + gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); + break; + } - case TILE_INSPECTOR_PAGE_BANNER: - { - // Details - // Banner info - const uint8 bannerIndex = mapElement->properties.banner.index; - if (gBanners[bannerIndex].flags & BANNER_FLAG_NO_ENTRY) { - rct_string_id noEntryStringIdx = STR_NO_ENTRY; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_TEXT, &noEntryStringIdx, COLOUR_DARK_GREEN, x, y); - } - else { - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_TEXT, &gBanners[bannerIndex].string_idx, COLOUR_DARK_GREEN, x, y); - } + case TILE_INSPECTOR_PAGE_BANNER: + { + // Details + // Banner info + const uint8 bannerIndex = mapElement->properties.banner.index; + if (gBanners[bannerIndex].flags & BANNER_FLAG_NO_ENTRY) { + rct_string_id noEntryStringIdx = STR_NO_ENTRY; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_TEXT, &noEntryStringIdx, COLOUR_DARK_GREEN, x, y); + } + else { + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_TEXT, &gBanners[bannerIndex].string_idx, COLOUR_DARK_GREEN, x, y); + } - // Properties - // Raise / lower label - y = w->y + w->widgets[WIDX_BANNER_SPINNER_HEIGHT].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); + // Properties + // Raise / lower label + y = w->y + w->widgets[WIDX_BANNER_SPINNER_HEIGHT].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); - // Current base height - x = w->x + w->widgets[WIDX_BANNER_SPINNER_HEIGHT].left + 3; - sint32 baseHeight = mapElement->base_height; - gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); + // Current base height + x = w->x + w->widgets[WIDX_BANNER_SPINNER_HEIGHT].left + 3; + sint32 baseHeight = mapElement->base_height; + gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); - // Blocked paths - y += 28; - x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BANNER_BLOCKED_PATHS, NULL, COLOUR_DARK_GREEN, x, y); - break; - } + // Blocked paths + y += 28; + x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BANNER_BLOCKED_PATHS, NULL, COLOUR_DARK_GREEN, x, y); + break; + } - case TILE_INSPECTOR_PAGE_CORRUPT: - { - // Properties - // Raise / lower label - y = w->y + w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT].top; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); + case TILE_INSPECTOR_PAGE_CORRUPT: + { + // Properties + // Raise / lower label + y = w->y + w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT].top; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y); - // Current base height - x = w->x + w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT].left + 3; - sint32 baseHeight = mapElement->base_height; - gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); - break; - } - } // switch page - } + // Current base height + x = w->x + w->widgets[WIDX_CORRUPT_SPINNER_HEIGHT].left + 3; + sint32 baseHeight = mapElement->base_height; + gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y); + break; + } + } // switch page + } } static void window_tile_inspector_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - sint32 y = LIST_ITEM_HEIGHT * (windowTileInspectorElementCount - 1); - sint32 i = 0; - char buffer[256]; + sint32 y = LIST_ITEM_HEIGHT * (windowTileInspectorElementCount - 1); + sint32 i = 0; + char buffer[256]; - if (!windowTileInspectorTileSelected) - return; + if (!windowTileInspectorTileSelected) + return; - rct_map_element *mapElement = map_get_first_element_at(windowTileInspectorTileX, windowTileInspectorTileY); + rct_map_element *mapElement = map_get_first_element_at(windowTileInspectorTileX, windowTileInspectorTileY); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - do { - sint32 type = map_element_get_type(mapElement); - char *typeName; - sint32 baseHeight = mapElement->base_height; - sint32 clearanceHeight = mapElement->clearance_height; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + do { + sint32 type = map_element_get_type(mapElement); + char *typeName; + sint32 baseHeight = mapElement->base_height; + sint32 clearanceHeight = mapElement->clearance_height; - // Fill colour for current list element - const sint32 listWidth = w->widgets[WIDX_LIST].right - w->widgets[WIDX_LIST].left; - if (i == w->selected_list_item) // Currently selected element - gfx_fill_rect(dpi, 0, y, listWidth, y + LIST_ITEM_HEIGHT - 1, ColourMapA[w->colours[1]].darker | 0x1000000); - else if (i == windowTileInspectorHighlightedIndex) // Hovering - gfx_fill_rect(dpi, 0, y, listWidth, y + LIST_ITEM_HEIGHT - 1, ColourMapA[w->colours[1]].mid_dark | 0x1000000); - else if ((i & 1) != 0) // odd / even check - gfx_fill_rect(dpi, 0, y, listWidth, y + LIST_ITEM_HEIGHT - 1, ColourMapA[w->colours[1]].lighter | 0x1000000); + // Fill colour for current list element + const sint32 listWidth = w->widgets[WIDX_LIST].right - w->widgets[WIDX_LIST].left; + if (i == w->selected_list_item) // Currently selected element + gfx_fill_rect(dpi, 0, y, listWidth, y + LIST_ITEM_HEIGHT - 1, ColourMapA[w->colours[1]].darker | 0x1000000); + else if (i == windowTileInspectorHighlightedIndex) // Hovering + gfx_fill_rect(dpi, 0, y, listWidth, y + LIST_ITEM_HEIGHT - 1, ColourMapA[w->colours[1]].mid_dark | 0x1000000); + else if ((i & 1) != 0) // odd / even check + gfx_fill_rect(dpi, 0, y, listWidth, y + LIST_ITEM_HEIGHT - 1, ColourMapA[w->colours[1]].lighter | 0x1000000); - switch (type) { - case MAP_ELEMENT_TYPE_SURFACE: - typeName = "Surface"; - break; - case MAP_ELEMENT_TYPE_PATH: - typeName = footpath_element_is_queue(mapElement) ? "Queue" : "Footpath"; - break; - case MAP_ELEMENT_TYPE_TRACK: - typeName = "Track"; - break; - case MAP_ELEMENT_TYPE_SCENERY: - snprintf( - buffer, sizeof(buffer), - "Scenery (%s)", - language_get_string(get_small_scenery_entry(mapElement->properties.scenery.type)->name) - ); - typeName = buffer; - break; - case MAP_ELEMENT_TYPE_ENTRANCE: - typeName = "Entrance"; - break; - case MAP_ELEMENT_TYPE_WALL: - snprintf( - buffer, sizeof(buffer), - "Wall (%s)", - language_get_string(get_wall_entry(mapElement->properties.scenery.type)->name) - ); - typeName = buffer; - break; - case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - typeName = "Scenery multiple"; - break; - case MAP_ELEMENT_TYPE_BANNER: - snprintf( - buffer, sizeof(buffer), - "Banner (%d)", - mapElement->properties.banner.index - ); - typeName = buffer; - break; - case MAP_ELEMENT_TYPE_CORRUPT: - // fall-through - default: - snprintf(buffer, sizeof(buffer), "Unknown (type %d)", type); - typeName = buffer; - } + switch (type) { + case MAP_ELEMENT_TYPE_SURFACE: + typeName = "Surface"; + break; + case MAP_ELEMENT_TYPE_PATH: + typeName = footpath_element_is_queue(mapElement) ? "Queue" : "Footpath"; + break; + case MAP_ELEMENT_TYPE_TRACK: + typeName = "Track"; + break; + case MAP_ELEMENT_TYPE_SCENERY: + snprintf( + buffer, sizeof(buffer), + "Scenery (%s)", + language_get_string(get_small_scenery_entry(mapElement->properties.scenery.type)->name) + ); + typeName = buffer; + break; + case MAP_ELEMENT_TYPE_ENTRANCE: + typeName = "Entrance"; + break; + case MAP_ELEMENT_TYPE_WALL: + snprintf( + buffer, sizeof(buffer), + "Wall (%s)", + language_get_string(get_wall_entry(mapElement->properties.scenery.type)->name) + ); + typeName = buffer; + break; + case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: + typeName = "Scenery multiple"; + break; + case MAP_ELEMENT_TYPE_BANNER: + snprintf( + buffer, sizeof(buffer), + "Banner (%d)", + mapElement->properties.banner.index + ); + typeName = buffer; + break; + case MAP_ELEMENT_TYPE_CORRUPT: + // fall-through + default: + snprintf(buffer, sizeof(buffer), "Unknown (type %d)", type); + typeName = buffer; + } - // Undo relative scroll offset, but keep the 3 pixel padding - sint32 x = -w->widgets[WIDX_LIST].left; - const bool ghost = (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) != 0; - const bool broken = (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) != 0; - const bool last = (mapElement->flags & MAP_ELEMENT_FLAG_LAST_TILE) != 0; - gfx_clip_string(buffer, w->widgets[WIDX_COLUMN_TYPE].right - w->widgets[WIDX_COLUMN_TYPE].left - COL_X_TYPE); - gfx_draw_string(dpi, typeName, COLOUR_DARK_GREEN, x + COL_X_TYPE + 3, y); // 3px padding - gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x + COL_X_BH, y); - gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &clearanceHeight, COLOUR_DARK_GREEN, x + COL_X_CH, y); - if (ghost) gfx_draw_string(dpi, (char*)CheckBoxMarkString, w->colours[1], x + COL_X_GF, y); - if (broken) gfx_draw_string(dpi, (char*)CheckBoxMarkString, w->colours[1], x + COL_X_BF, y); - if (last) gfx_draw_string(dpi, (char*)CheckBoxMarkString, w->colours[1], x + COL_X_LF, y); + // Undo relative scroll offset, but keep the 3 pixel padding + sint32 x = -w->widgets[WIDX_LIST].left; + const bool ghost = (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) != 0; + const bool broken = (mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) != 0; + const bool last = (mapElement->flags & MAP_ELEMENT_FLAG_LAST_TILE) != 0; + gfx_clip_string(buffer, w->widgets[WIDX_COLUMN_TYPE].right - w->widgets[WIDX_COLUMN_TYPE].left - COL_X_TYPE); + gfx_draw_string(dpi, typeName, COLOUR_DARK_GREEN, x + COL_X_TYPE + 3, y); // 3px padding + gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x + COL_X_BH, y); + gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &clearanceHeight, COLOUR_DARK_GREEN, x + COL_X_CH, y); + if (ghost) gfx_draw_string(dpi, (char*)CheckBoxMarkString, w->colours[1], x + COL_X_GF, y); + if (broken) gfx_draw_string(dpi, (char*)CheckBoxMarkString, w->colours[1], x + COL_X_BF, y); + if (last) gfx_draw_string(dpi, (char*)CheckBoxMarkString, w->colours[1], x + COL_X_LF, y); - y -= LIST_ITEM_HEIGHT; - i++; - } while (!map_element_is_last_for_tile(mapElement++)); + y -= LIST_ITEM_HEIGHT; + i++; + } while (!map_element_is_last_for_tile(mapElement++)); } diff --git a/src/openrct2/windows/tile_inspector.h b/src/openrct2/windows/tile_inspector.h index 3d43f0549c..2f3771707c 100644 --- a/src/openrct2/windows/tile_inspector.h +++ b/src/openrct2/windows/tile_inspector.h @@ -21,16 +21,16 @@ typedef enum tile_inspector_page { - TILE_INSPECTOR_PAGE_DEFAULT, - TILE_INSPECTOR_PAGE_SURFACE, - TILE_INSPECTOR_PAGE_PATH, - TILE_INSPECTOR_PAGE_TRACK, - TILE_INSPECTOR_PAGE_SCENERY, - TILE_INSPECTOR_PAGE_ENTRANCE, - TILE_INSPECTOR_PAGE_WALL, - TILE_INSPECTOR_PAGE_LARGE_SCENERY, - TILE_INSPECTOR_PAGE_BANNER, - TILE_INSPECTOR_PAGE_CORRUPT + TILE_INSPECTOR_PAGE_DEFAULT, + TILE_INSPECTOR_PAGE_SURFACE, + TILE_INSPECTOR_PAGE_PATH, + TILE_INSPECTOR_PAGE_TRACK, + TILE_INSPECTOR_PAGE_SCENERY, + TILE_INSPECTOR_PAGE_ENTRANCE, + TILE_INSPECTOR_PAGE_WALL, + TILE_INSPECTOR_PAGE_LARGE_SCENERY, + TILE_INSPECTOR_PAGE_BANNER, + TILE_INSPECTOR_PAGE_CORRUPT } tile_inspector_page; extern uint32 windowTileInspectorTileX; diff --git a/src/openrct2/windows/title_command_editor.c b/src/openrct2/windows/title_command_editor.c index defa39f65a..3f1b9b392b 100644 --- a/src/openrct2/windows/title_command_editor.c +++ b/src/openrct2/windows/title_command_editor.c @@ -30,38 +30,38 @@ #include "dropdown.h" typedef struct TITLE_COMMAND_ORDER { - uint8 command; - rct_string_id nameStringId; - rct_string_id descStringId; + uint8 command; + rct_string_id nameStringId; + rct_string_id descStringId; } TITLE_COMMAND_ORDER; TITLE_COMMAND_ORDER window_title_command_editor_orders[] = { - { TITLE_SCRIPT_LOAD, STR_TITLE_EDITOR_ACTION_LOAD, STR_TITLE_EDITOR_ARGUMENT_SAVEFILE }, - { TITLE_SCRIPT_LOCATION, STR_TITLE_EDITOR_COMMAND_TYPE_LOCATION, STR_TITLE_EDITOR_ARGUMENT_COORDINATES }, - { TITLE_SCRIPT_ROTATE, STR_TITLE_EDITOR_COMMAND_TYPE_ROTATE, STR_TITLE_EDITOR_ARGUMENT_ROTATIONS }, - { TITLE_SCRIPT_ZOOM, STR_TITLE_EDITOR_COMMAND_TYPE_ZOOM, STR_TITLE_EDITOR_ARGUMENT_ZOOM_LEVEL }, - { TITLE_SCRIPT_SPEED, STR_TITLE_EDITOR_COMMAND_TYPE_SPEED, STR_TITLE_EDITOR_ARGUMENT_SPEED }, - { TITLE_SCRIPT_WAIT, STR_TITLE_EDITOR_COMMAND_TYPE_WAIT, STR_TITLE_EDITOR_ARGUMENT_WAIT_SECONDS }, - { TITLE_SCRIPT_RESTART, STR_TITLE_EDITOR_RESTART, STR_NONE }, - { TITLE_SCRIPT_END, STR_TITLE_EDITOR_END, STR_NONE }, + { TITLE_SCRIPT_LOAD, STR_TITLE_EDITOR_ACTION_LOAD, STR_TITLE_EDITOR_ARGUMENT_SAVEFILE }, + { TITLE_SCRIPT_LOCATION, STR_TITLE_EDITOR_COMMAND_TYPE_LOCATION, STR_TITLE_EDITOR_ARGUMENT_COORDINATES }, + { TITLE_SCRIPT_ROTATE, STR_TITLE_EDITOR_COMMAND_TYPE_ROTATE, STR_TITLE_EDITOR_ARGUMENT_ROTATIONS }, + { TITLE_SCRIPT_ZOOM, STR_TITLE_EDITOR_COMMAND_TYPE_ZOOM, STR_TITLE_EDITOR_ARGUMENT_ZOOM_LEVEL }, + { TITLE_SCRIPT_SPEED, STR_TITLE_EDITOR_COMMAND_TYPE_SPEED, STR_TITLE_EDITOR_ARGUMENT_SPEED }, + { TITLE_SCRIPT_WAIT, STR_TITLE_EDITOR_COMMAND_TYPE_WAIT, STR_TITLE_EDITOR_ARGUMENT_WAIT_SECONDS }, + { TITLE_SCRIPT_RESTART, STR_TITLE_EDITOR_RESTART, STR_NONE }, + { TITLE_SCRIPT_END, STR_TITLE_EDITOR_END, STR_NONE }, }; #define NUM_COMMANDS 8 enum WINDOW_WATER_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_COMMAND, - WIDX_COMMAND_DROPDOWN, - WIDX_TEXTBOX_FULL, - WIDX_TEXTBOX_X, - WIDX_TEXTBOX_Y, - WIDX_INPUT, - WIDX_INPUT_DROPDOWN, - WIDX_GET, - WIDX_OKAY, - WIDX_CANCEL + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_COMMAND, + WIDX_COMMAND_DROPDOWN, + WIDX_TEXTBOX_FULL, + WIDX_TEXTBOX_X, + WIDX_TEXTBOX_Y, + WIDX_INPUT, + WIDX_INPUT_DROPDOWN, + WIDX_GET, + WIDX_OKAY, + WIDX_CANCEL }; #define WW 200 @@ -80,25 +80,25 @@ static TitleCommand command = { TITLE_SCRIPT_LOAD, { .SaveIndex = 0 } }; static TitleSequence * _sequence = NULL; static rct_widget window_title_command_editor_widgets[] = { - { WWT_FRAME, 1, 0, WW-1, 0, WH-1, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 1, 1, WW-2, 1, 14, STR_TITLE_COMMAND_EDITOR_TITLE, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 1, WW-13, WW-3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_DROPDOWN, 1, WS, WW-WS-1, BY, BY+11, STR_NONE, STR_NONE }, // Command dropdown - { WWT_DROPDOWN_BUTTON, 1, WW-WS-12, WW-WS-2, BY+1, BY+10, STR_DROPDOWN_GLYPH, STR_NONE }, - { WWT_TEXT_BOX, 1, WS, WW-WS-1, BY2, BY2+11, STR_NONE, STR_NONE }, // full textbox + { WWT_FRAME, 1, 0, WW-1, 0, WH-1, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 1, 1, WW-2, 1, 14, STR_TITLE_COMMAND_EDITOR_TITLE, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 1, WW-13, WW-3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_DROPDOWN, 1, WS, WW-WS-1, BY, BY+11, STR_NONE, STR_NONE }, // Command dropdown + { WWT_DROPDOWN_BUTTON, 1, WW-WS-12, WW-WS-2, BY+1, BY+10, STR_DROPDOWN_GLYPH, STR_NONE }, + { WWT_TEXT_BOX, 1, WS, WW-WS-1, BY2, BY2+11, STR_NONE, STR_NONE }, // full textbox - { WWT_TEXT_BOX, 1, WS, WS+WHA-4, BY2, BY2+11, STR_NONE, STR_NONE }, // x textbox - { WWT_TEXT_BOX, 1, WS+WHA+3, WW-WS-1, BY2, BY2+11, STR_NONE, STR_NONE }, // y textbox + { WWT_TEXT_BOX, 1, WS, WS+WHA-4, BY2, BY2+11, STR_NONE, STR_NONE }, // x textbox + { WWT_TEXT_BOX, 1, WS+WHA+3, WW-WS-1, BY2, BY2+11, STR_NONE, STR_NONE }, // y textbox - { WWT_DROPDOWN, 1, 16, WW-17, BY2, BY2+11, STR_NONE, STR_NONE }, // Save dropdown - { WWT_DROPDOWN_BUTTON, 1, WW-28, WW-18, BY2+1, BY2+10, STR_DROPDOWN_GLYPH, STR_NONE }, + { WWT_DROPDOWN, 1, 16, WW-17, BY2, BY2+11, STR_NONE, STR_NONE }, // Save dropdown + { WWT_DROPDOWN_BUTTON, 1, WW-28, WW-18, BY2+1, BY2+10, STR_DROPDOWN_GLYPH, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, WS+WHA+3, WW-WS-1, BY2-14, BY2-3, STR_TITLE_COMMAND_EDITOR_ACTION_GET_LOCATION, STR_NONE }, // Get location/zoom/etc + { WWT_DROPDOWN_BUTTON, 1, WS+WHA+3, WW-WS-1, BY2-14, BY2-3, STR_TITLE_COMMAND_EDITOR_ACTION_GET_LOCATION, STR_NONE }, // Get location/zoom/etc - { WWT_DROPDOWN_BUTTON, 1, 10, 80, WH-21, WH-10, STR_OK, STR_NONE }, // OKAY - { WWT_DROPDOWN_BUTTON, 1, WW-80, WW-10, WH-21, WH-10, STR_CANCEL, STR_NONE }, // Cancel + { WWT_DROPDOWN_BUTTON, 1, 10, 80, WH-21, WH-10, STR_OK, STR_NONE }, // OKAY + { WWT_DROPDOWN_BUTTON, 1, WW-80, WW-10, WH-21, WH-10, STR_CANCEL, STR_NONE }, // Cancel - { WIDGETS_END }, + { WIDGETS_END }, }; static void window_title_command_editor_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -115,468 +115,468 @@ static rct_xy16 get_location(); static uint8 get_zoom(); static rct_window_event_list window_title_command_editor_events = { - NULL, - window_title_command_editor_mouseup, - NULL, - window_title_command_editor_mousedown, - window_title_command_editor_dropdown, - NULL, - window_title_command_editor_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_title_command_editor_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_title_command_editor_invalidate, - window_title_command_editor_paint, - NULL + NULL, + window_title_command_editor_mouseup, + NULL, + window_title_command_editor_mousedown, + window_title_command_editor_dropdown, + NULL, + window_title_command_editor_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_title_command_editor_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_title_command_editor_invalidate, + window_title_command_editor_paint, + NULL }; static sint32 get_command_info_index(sint32 index) { - for (sint32 i = 0; i < NUM_COMMANDS; i++) { - if (window_title_command_editor_orders[i].command == index) - return i; - } - return 0; + for (sint32 i = 0; i < NUM_COMMANDS; i++) { + if (window_title_command_editor_orders[i].command == index) + return i; + } + return 0; } static TITLE_COMMAND_ORDER get_command_info(sint32 index) { - for (sint32 i = 0; i < NUM_COMMANDS; i++) { - if (window_title_command_editor_orders[i].command == index) - return window_title_command_editor_orders[i]; - } - return window_title_command_editor_orders[0]; + for (sint32 i = 0; i < NUM_COMMANDS; i++) { + if (window_title_command_editor_orders[i].command == index) + return window_title_command_editor_orders[i]; + } + return window_title_command_editor_orders[0]; } static rct_xy16 get_location() { - rct_xy16 mapCoord = { 0 }; - rct_window *w = window_get_main(); - if (w != NULL) { - sint32 interactionType; - rct_map_element *mapElement; + rct_xy16 mapCoord = { 0 }; + rct_window *w = window_get_main(); + if (w != NULL) { + sint32 interactionType; + rct_map_element *mapElement; - get_map_coordinates_from_pos(w->viewport->view_width / 2, w->viewport->view_height / 2, VIEWPORT_INTERACTION_MASK_TERRAIN, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL); - mapCoord.x -= 16; - mapCoord.x /= 32; - mapCoord.y -= 16; - mapCoord.y /= 32; - mapCoord.x++; - mapCoord.y++; - } - return mapCoord; + get_map_coordinates_from_pos(w->viewport->view_width / 2, w->viewport->view_height / 2, VIEWPORT_INTERACTION_MASK_TERRAIN, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL); + mapCoord.x -= 16; + mapCoord.x /= 32; + mapCoord.y -= 16; + mapCoord.y /= 32; + mapCoord.x++; + mapCoord.y++; + } + return mapCoord; } static uint8 get_zoom() { - uint8 zoom = 0; - rct_window *w = window_get_main(); - if (w != NULL) { - zoom = w->viewport->zoom; - } - return zoom; + uint8 zoom = 0; + rct_window *w = window_get_main(); + if (w != NULL) { + zoom = w->viewport->zoom; + } + return zoom; } void window_title_command_editor_open(TitleSequence * sequence, sint32 index, bool insert) { - _sequence = sequence; + _sequence = sequence; - // Check if window is already open - if (window_find_by_class(WC_TITLE_COMMAND_EDITOR) != NULL) - return; + // Check if window is already open + if (window_find_by_class(WC_TITLE_COMMAND_EDITOR) != NULL) + return; - rct_window * window = window_create_centred( - WW, - WH, - &window_title_command_editor_events, - WC_TITLE_COMMAND_EDITOR, - WF_STICK_TO_FRONT - ); - window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].string = textbox1Buffer; - window_title_command_editor_widgets[WIDX_TEXTBOX_X].string = textbox1Buffer; - window_title_command_editor_widgets[WIDX_TEXTBOX_Y].string = textbox2Buffer; - window->widgets = window_title_command_editor_widgets; - window->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_COMMAND) | - (1 << WIDX_COMMAND_DROPDOWN) | - (1 << WIDX_TEXTBOX_FULL) | - (1 << WIDX_TEXTBOX_X) | - (1 << WIDX_TEXTBOX_Y) | - (1 << WIDX_INPUT) | - (1 << WIDX_INPUT_DROPDOWN) | - (1 << WIDX_GET) | - (1 << WIDX_OKAY) | - (1 << WIDX_CANCEL); - window_init_scroll_widgets(window); + rct_window * window = window_create_centred( + WW, + WH, + &window_title_command_editor_events, + WC_TITLE_COMMAND_EDITOR, + WF_STICK_TO_FRONT + ); + window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].string = textbox1Buffer; + window_title_command_editor_widgets[WIDX_TEXTBOX_X].string = textbox1Buffer; + window_title_command_editor_widgets[WIDX_TEXTBOX_Y].string = textbox2Buffer; + window->widgets = window_title_command_editor_widgets; + window->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_COMMAND) | + (1 << WIDX_COMMAND_DROPDOWN) | + (1 << WIDX_TEXTBOX_FULL) | + (1 << WIDX_TEXTBOX_X) | + (1 << WIDX_TEXTBOX_Y) | + (1 << WIDX_INPUT) | + (1 << WIDX_INPUT_DROPDOWN) | + (1 << WIDX_GET) | + (1 << WIDX_OKAY) | + (1 << WIDX_CANCEL); + window_init_scroll_widgets(window); - _window_title_command_editor_index = index; - _window_title_command_editor_insert = insert; - if (!insert) { - command = _sequence->Commands[index]; - } + _window_title_command_editor_index = index; + _window_title_command_editor_insert = insert; + if (!insert) { + command = _sequence->Commands[index]; + } - switch (command.Type) { - case TITLE_SCRIPT_LOAD: - if (command.SaveIndex >= _sequence->NumSaves) - command.SaveIndex = SAVE_INDEX_INVALID; - break; - case TITLE_SCRIPT_LOCATION: - snprintf(textbox1Buffer, BUF_SIZE, "%d", command.X); - snprintf(textbox2Buffer, BUF_SIZE, "%d", command.Y); - break; - case TITLE_SCRIPT_ROTATE: - case TITLE_SCRIPT_ZOOM: - case TITLE_SCRIPT_WAIT: - snprintf(textbox1Buffer, BUF_SIZE, "%d", command.Rotations); - break; - } + switch (command.Type) { + case TITLE_SCRIPT_LOAD: + if (command.SaveIndex >= _sequence->NumSaves) + command.SaveIndex = SAVE_INDEX_INVALID; + break; + case TITLE_SCRIPT_LOCATION: + snprintf(textbox1Buffer, BUF_SIZE, "%d", command.X); + snprintf(textbox2Buffer, BUF_SIZE, "%d", command.Y); + break; + case TITLE_SCRIPT_ROTATE: + case TITLE_SCRIPT_ZOOM: + case TITLE_SCRIPT_WAIT: + snprintf(textbox1Buffer, BUF_SIZE, "%d", command.Rotations); + break; + } } static void window_title_command_editor_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - case WIDX_CANCEL: - window_close(w); - break; - case WIDX_TEXTBOX_FULL: - window_start_textbox(w, widgetIndex, STR_STRING, textbox1Buffer, 4); - break; - case WIDX_TEXTBOX_X: - window_start_textbox(w, widgetIndex, STR_STRING, textbox1Buffer, 4); - break; - case WIDX_TEXTBOX_Y: - window_start_textbox(w, widgetIndex, STR_STRING, textbox2Buffer, 4); - break; - case WIDX_GET: - if (command.Type == TITLE_SCRIPT_LOCATION) { - rct_xy16 mapCoord = get_location(); - command.X = (uint8)mapCoord.x; - command.Y = (uint8)mapCoord.y; - snprintf(textbox1Buffer, BUF_SIZE, "%d", command.X); - snprintf(textbox2Buffer, BUF_SIZE, "%d", command.Y); - } else if (command.Type == TITLE_SCRIPT_ZOOM) { - uint8 zoom = get_zoom(); - command.Zoom = zoom; - snprintf(textbox1Buffer, BUF_SIZE, "%d", command.Zoom); - } - window_invalidate(w); - break; - case WIDX_OKAY: - if (_window_title_command_editor_insert) { - size_t insertIndex = _window_title_command_editor_index; - _sequence->NumCommands++; - _sequence->Commands = realloc(_sequence->Commands, _sequence->NumCommands * sizeof(TitleCommand)); - for (size_t i = _sequence->NumCommands - 1; i > insertIndex; i--) { - _sequence->Commands[i] = _sequence->Commands[i - 1]; - } - _sequence->Commands[insertIndex] = command; - } else { - _sequence->Commands[_window_title_command_editor_index] = command; - TileSequenceSave(_sequence); - } - TileSequenceSave(_sequence); + switch (widgetIndex) { + case WIDX_CLOSE: + case WIDX_CANCEL: + window_close(w); + break; + case WIDX_TEXTBOX_FULL: + window_start_textbox(w, widgetIndex, STR_STRING, textbox1Buffer, 4); + break; + case WIDX_TEXTBOX_X: + window_start_textbox(w, widgetIndex, STR_STRING, textbox1Buffer, 4); + break; + case WIDX_TEXTBOX_Y: + window_start_textbox(w, widgetIndex, STR_STRING, textbox2Buffer, 4); + break; + case WIDX_GET: + if (command.Type == TITLE_SCRIPT_LOCATION) { + rct_xy16 mapCoord = get_location(); + command.X = (uint8)mapCoord.x; + command.Y = (uint8)mapCoord.y; + snprintf(textbox1Buffer, BUF_SIZE, "%d", command.X); + snprintf(textbox2Buffer, BUF_SIZE, "%d", command.Y); + } else if (command.Type == TITLE_SCRIPT_ZOOM) { + uint8 zoom = get_zoom(); + command.Zoom = zoom; + snprintf(textbox1Buffer, BUF_SIZE, "%d", command.Zoom); + } + window_invalidate(w); + break; + case WIDX_OKAY: + if (_window_title_command_editor_insert) { + size_t insertIndex = _window_title_command_editor_index; + _sequence->NumCommands++; + _sequence->Commands = realloc(_sequence->Commands, _sequence->NumCommands * sizeof(TitleCommand)); + for (size_t i = _sequence->NumCommands - 1; i > insertIndex; i--) { + _sequence->Commands[i] = _sequence->Commands[i - 1]; + } + _sequence->Commands[insertIndex] = command; + } else { + _sequence->Commands[_window_title_command_editor_index] = command; + TileSequenceSave(_sequence); + } + TileSequenceSave(_sequence); - rct_window *title_editor_w = window_find_by_class(WC_TITLE_EDITOR); - if (title_editor_w != NULL) { - title_editor_w->selected_list_item = _window_title_command_editor_index; - } - window_close(w); - break; - } + rct_window *title_editor_w = window_find_by_class(WC_TITLE_EDITOR); + if (title_editor_w != NULL) { + title_editor_w->selected_list_item = _window_title_command_editor_index; + } + window_close(w); + break; + } } static void window_title_command_editor_mousedown(rct_widgetindex widgetIndex, rct_window* w, rct_widget* widget) { - widget--; - switch (widgetIndex) { - case WIDX_COMMAND_DROPDOWN: - { - sint32 numItems = NUM_COMMANDS; - for (sint32 i = 0; i < numItems; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = window_title_command_editor_orders[i].nameStringId; - } + widget--; + switch (widgetIndex) { + case WIDX_COMMAND_DROPDOWN: + { + sint32 numItems = NUM_COMMANDS; + for (sint32 i = 0; i < numItems; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = window_title_command_editor_orders[i].nameStringId; + } - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - numItems, - widget->right - widget->left - 3); + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + numItems, + widget->right - widget->left - 3); - dropdown_set_checked(get_command_info_index(command.Type), true); - break; - } - case WIDX_INPUT_DROPDOWN: - if (command.Type == TITLE_SCRIPT_SPEED) { - sint32 numItems = 4; - for (sint32 i = 0; i < numItems; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = SpeedNames[i]; - } + dropdown_set_checked(get_command_info_index(command.Type), true); + break; + } + case WIDX_INPUT_DROPDOWN: + if (command.Type == TITLE_SCRIPT_SPEED) { + sint32 numItems = 4; + for (sint32 i = 0; i < numItems; i++) { + gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[i] = SpeedNames[i]; + } - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - numItems, - widget->right - widget->left - 3); + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + numItems, + widget->right - widget->left - 3); - dropdown_set_checked(command.Speed - 1, true); - } else if (command.Type == TITLE_SCRIPT_LOAD) { - sint32 numItems = (sint32)_sequence->NumSaves; - for (sint32 i = 0; i < numItems; i++) { - gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; - gDropdownItemsArgs[i] = (uintptr_t)_sequence->Saves[i]; - } + dropdown_set_checked(command.Speed - 1, true); + } else if (command.Type == TITLE_SCRIPT_LOAD) { + sint32 numItems = (sint32)_sequence->NumSaves; + for (sint32 i = 0; i < numItems; i++) { + gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; + gDropdownItemsArgs[i] = (uintptr_t)_sequence->Saves[i]; + } - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - numItems, - widget->right - widget->left - 3); + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + numItems, + widget->right - widget->left - 3); - dropdown_set_checked(command.SaveIndex, true); - } - break; - } + dropdown_set_checked(command.SaveIndex, true); + } + break; + } } static void window_title_command_editor_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (dropdownIndex == -1) - return; + if (dropdownIndex == -1) + return; - switch (widgetIndex) { - case WIDX_COMMAND_DROPDOWN: - if (dropdownIndex == get_command_info_index(command.Type)) { - break; - } - command.Type = window_title_command_editor_orders[dropdownIndex].command; - switch (command.Type) { - case TITLE_SCRIPT_LOCATION: - { - rct_xy16 mapCoord = get_location(); - command.X = (uint8)mapCoord.x; - command.Y = (uint8)mapCoord.y; - snprintf(textbox1Buffer, BUF_SIZE, "%d", command.X); - snprintf(textbox2Buffer, BUF_SIZE, "%d", command.Y); - break; - } - case TITLE_SCRIPT_ROTATE: - command.Rotations = 1; - snprintf(textbox1Buffer, BUF_SIZE, "%d", command.Rotations); - break; - case TITLE_SCRIPT_ZOOM: - command.Zoom = 0; - snprintf(textbox1Buffer, BUF_SIZE, "%d", command.Zoom); - break; - case TITLE_SCRIPT_SPEED: - command.Speed = 1; - break; - case TITLE_SCRIPT_WAIT: - command.Seconds = 10; - snprintf(textbox1Buffer, BUF_SIZE, "%d", command.Seconds); - break; - case TITLE_SCRIPT_LOAD: - command.SaveIndex = 0; - if (command.SaveIndex >= _sequence->NumSaves) { - command.SaveIndex = 0xFF; - } - break; - } - window_invalidate(w); - break; - case WIDX_INPUT_DROPDOWN: - switch (command.Type) { - case TITLE_SCRIPT_SPEED: - if (dropdownIndex != command.Speed - 1) { - command.Speed = (uint8)(dropdownIndex + 1); - window_invalidate(w); - } - break; - case TITLE_SCRIPT_LOAD: - if (dropdownIndex != command.SaveIndex) { - command.SaveIndex = (uint8)dropdownIndex; - window_invalidate(w); - } - break; - } - break; - } + switch (widgetIndex) { + case WIDX_COMMAND_DROPDOWN: + if (dropdownIndex == get_command_info_index(command.Type)) { + break; + } + command.Type = window_title_command_editor_orders[dropdownIndex].command; + switch (command.Type) { + case TITLE_SCRIPT_LOCATION: + { + rct_xy16 mapCoord = get_location(); + command.X = (uint8)mapCoord.x; + command.Y = (uint8)mapCoord.y; + snprintf(textbox1Buffer, BUF_SIZE, "%d", command.X); + snprintf(textbox2Buffer, BUF_SIZE, "%d", command.Y); + break; + } + case TITLE_SCRIPT_ROTATE: + command.Rotations = 1; + snprintf(textbox1Buffer, BUF_SIZE, "%d", command.Rotations); + break; + case TITLE_SCRIPT_ZOOM: + command.Zoom = 0; + snprintf(textbox1Buffer, BUF_SIZE, "%d", command.Zoom); + break; + case TITLE_SCRIPT_SPEED: + command.Speed = 1; + break; + case TITLE_SCRIPT_WAIT: + command.Seconds = 10; + snprintf(textbox1Buffer, BUF_SIZE, "%d", command.Seconds); + break; + case TITLE_SCRIPT_LOAD: + command.SaveIndex = 0; + if (command.SaveIndex >= _sequence->NumSaves) { + command.SaveIndex = 0xFF; + } + break; + } + window_invalidate(w); + break; + case WIDX_INPUT_DROPDOWN: + switch (command.Type) { + case TITLE_SCRIPT_SPEED: + if (dropdownIndex != command.Speed - 1) { + command.Speed = (uint8)(dropdownIndex + 1); + window_invalidate(w); + } + break; + case TITLE_SCRIPT_LOAD: + if (dropdownIndex != command.SaveIndex) { + command.SaveIndex = (uint8)dropdownIndex; + window_invalidate(w); + } + break; + } + break; + } } static void window_title_command_editor_textinput(rct_window * w, rct_widgetindex widgetIndex, char * text) { - char * end; - sint32 value = strtol(widgetIndex != WIDX_TEXTBOX_Y ? textbox1Buffer : textbox2Buffer, &end, 10); - if (value < 0) value = 0; - if (value > 255) value = 255; - switch (widgetIndex) { - case WIDX_TEXTBOX_FULL: - if (text == NULL) { - if (*end == '\0') { - if (command.Type == TITLE_SCRIPT_ROTATE || command.Type == TITLE_SCRIPT_ZOOM) { - if (value > 3) value = 3; - } - else if (command.Type == TITLE_SCRIPT_WAIT) { - if (value < 1) value = 1; - } - command.Rotations = (uint8)value; - } - snprintf(textbox1Buffer, BUF_SIZE, "%d", command.Rotations); - window_invalidate(w); - } else { - safe_strcpy(textbox1Buffer, text, sizeof(textbox1Buffer)); - } - break; - case WIDX_TEXTBOX_X: - if (text == NULL) { - if (*end == '\0') { - command.X = (uint8)value; - } - snprintf(textbox1Buffer, BUF_SIZE, "%d", command.X); - window_invalidate(w); - } else { - safe_strcpy(textbox1Buffer, text, sizeof(textbox1Buffer)); - } - break; - case WIDX_TEXTBOX_Y: - if (text == NULL) { - if (*end == '\0') { - command.Y = (uint8)value; - } - snprintf(textbox2Buffer, BUF_SIZE, "%d", command.Y); - window_invalidate(w); - } else { - safe_strcpy(textbox2Buffer, text, sizeof(textbox2Buffer)); - } - break; - } + char * end; + sint32 value = strtol(widgetIndex != WIDX_TEXTBOX_Y ? textbox1Buffer : textbox2Buffer, &end, 10); + if (value < 0) value = 0; + if (value > 255) value = 255; + switch (widgetIndex) { + case WIDX_TEXTBOX_FULL: + if (text == NULL) { + if (*end == '\0') { + if (command.Type == TITLE_SCRIPT_ROTATE || command.Type == TITLE_SCRIPT_ZOOM) { + if (value > 3) value = 3; + } + else if (command.Type == TITLE_SCRIPT_WAIT) { + if (value < 1) value = 1; + } + command.Rotations = (uint8)value; + } + snprintf(textbox1Buffer, BUF_SIZE, "%d", command.Rotations); + window_invalidate(w); + } else { + safe_strcpy(textbox1Buffer, text, sizeof(textbox1Buffer)); + } + break; + case WIDX_TEXTBOX_X: + if (text == NULL) { + if (*end == '\0') { + command.X = (uint8)value; + } + snprintf(textbox1Buffer, BUF_SIZE, "%d", command.X); + window_invalidate(w); + } else { + safe_strcpy(textbox1Buffer, text, sizeof(textbox1Buffer)); + } + break; + case WIDX_TEXTBOX_Y: + if (text == NULL) { + if (*end == '\0') { + command.Y = (uint8)value; + } + snprintf(textbox2Buffer, BUF_SIZE, "%d", command.Y); + window_invalidate(w); + } else { + safe_strcpy(textbox2Buffer, text, sizeof(textbox2Buffer)); + } + break; + } } static void window_title_command_editor_update(rct_window *w) { - if (gCurrentTextBox.window.classification == w->classification && - gCurrentTextBox.window.number == w->number - ) { - window_update_textbox_caret(); - widget_invalidate(w, gCurrentTextBox.widget_index); - } + if (gCurrentTextBox.window.classification == w->classification && + gCurrentTextBox.window.number == w->number + ) { + window_update_textbox_caret(); + widget_invalidate(w, gCurrentTextBox.widget_index); + } } static void window_title_command_editor_invalidate(rct_window *w) { - colour_scheme_update_by_class(w, WC_TITLE_EDITOR); + colour_scheme_update_by_class(w, WC_TITLE_EDITOR); - window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].type = WWT_EMPTY; - window_title_command_editor_widgets[WIDX_TEXTBOX_X].type = WWT_EMPTY; - window_title_command_editor_widgets[WIDX_TEXTBOX_Y].type = WWT_EMPTY; - window_title_command_editor_widgets[WIDX_INPUT].type = WWT_EMPTY; - window_title_command_editor_widgets[WIDX_INPUT_DROPDOWN].type = WWT_EMPTY; - window_title_command_editor_widgets[WIDX_GET].type = WWT_EMPTY; - switch (command.Type) { - case TITLE_SCRIPT_LOAD: - case TITLE_SCRIPT_SPEED: - window_title_command_editor_widgets[WIDX_INPUT].type = WWT_DROPDOWN; - window_title_command_editor_widgets[WIDX_INPUT_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - break; - case TITLE_SCRIPT_LOCATION: - window_title_command_editor_widgets[WIDX_TEXTBOX_X].type = WWT_TEXT_BOX; - window_title_command_editor_widgets[WIDX_TEXTBOX_Y].type = WWT_TEXT_BOX; - window_title_command_editor_widgets[WIDX_GET].type = WWT_DROPDOWN_BUTTON; - break; - case TITLE_SCRIPT_ROTATE: - case TITLE_SCRIPT_WAIT: - window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].type = WWT_TEXT_BOX; - break; - case TITLE_SCRIPT_ZOOM: - window_title_command_editor_widgets[WIDX_GET].type = WWT_DROPDOWN_BUTTON; - window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].type = WWT_TEXT_BOX; - break; - } + window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].type = WWT_EMPTY; + window_title_command_editor_widgets[WIDX_TEXTBOX_X].type = WWT_EMPTY; + window_title_command_editor_widgets[WIDX_TEXTBOX_Y].type = WWT_EMPTY; + window_title_command_editor_widgets[WIDX_INPUT].type = WWT_EMPTY; + window_title_command_editor_widgets[WIDX_INPUT_DROPDOWN].type = WWT_EMPTY; + window_title_command_editor_widgets[WIDX_GET].type = WWT_EMPTY; + switch (command.Type) { + case TITLE_SCRIPT_LOAD: + case TITLE_SCRIPT_SPEED: + window_title_command_editor_widgets[WIDX_INPUT].type = WWT_DROPDOWN; + window_title_command_editor_widgets[WIDX_INPUT_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + break; + case TITLE_SCRIPT_LOCATION: + window_title_command_editor_widgets[WIDX_TEXTBOX_X].type = WWT_TEXT_BOX; + window_title_command_editor_widgets[WIDX_TEXTBOX_Y].type = WWT_TEXT_BOX; + window_title_command_editor_widgets[WIDX_GET].type = WWT_DROPDOWN_BUTTON; + break; + case TITLE_SCRIPT_ROTATE: + case TITLE_SCRIPT_WAIT: + window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].type = WWT_TEXT_BOX; + break; + case TITLE_SCRIPT_ZOOM: + window_title_command_editor_widgets[WIDX_GET].type = WWT_DROPDOWN_BUTTON; + window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].type = WWT_TEXT_BOX; + break; + } - if ((gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) == SCREEN_FLAGS_TITLE_DEMO) { - w->disabled_widgets |= (1 << WIDX_GET); - } else { - w->disabled_widgets &= ~(1 << WIDX_GET); - } + if ((gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) == SCREEN_FLAGS_TITLE_DEMO) { + w->disabled_widgets |= (1 << WIDX_GET); + } else { + w->disabled_widgets &= ~(1 << WIDX_GET); + } } static void window_title_command_editor_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - gfx_draw_string_left(dpi, STR_TITLE_COMMAND_EDITOR_COMMAND_LABEL, NULL, w->colours[1], w->x + WS, w->y + BY - 14); - gfx_draw_string_left(dpi, get_command_info(command.Type).descStringId, NULL, w->colours[1], w->x + WS, w->y + BY2 - 14); + gfx_draw_string_left(dpi, STR_TITLE_COMMAND_EDITOR_COMMAND_LABEL, NULL, w->colours[1], w->x + WS, w->y + BY - 14); + gfx_draw_string_left(dpi, get_command_info(command.Type).descStringId, NULL, w->colours[1], w->x + WS, w->y + BY2 - 14); - gfx_draw_string_left_clipped( - dpi, - get_command_info(command.Type).nameStringId, - NULL, - w->colours[1], - w->x + w->widgets[WIDX_COMMAND].left + 1, - w->y + w->widgets[WIDX_COMMAND].top, - w->widgets[WIDX_COMMAND_DROPDOWN].left - w->widgets[WIDX_COMMAND].left - 4); + gfx_draw_string_left_clipped( + dpi, + get_command_info(command.Type).nameStringId, + NULL, + w->colours[1], + w->x + w->widgets[WIDX_COMMAND].left + 1, + w->y + w->widgets[WIDX_COMMAND].top, + w->widgets[WIDX_COMMAND_DROPDOWN].left - w->widgets[WIDX_COMMAND].left - 4); - if (command.Type == TITLE_SCRIPT_SPEED) { - gfx_draw_string_left_clipped( - dpi, - SpeedNames[command.Speed - 1], - NULL, - w->colours[1], - w->x + w->widgets[WIDX_INPUT].left + 1, - w->y + w->widgets[WIDX_INPUT].top, - w->widgets[WIDX_INPUT_DROPDOWN].left - w->widgets[WIDX_INPUT].left - 4); - } - else if (command.Type == TITLE_SCRIPT_LOAD) { - if (command.SaveIndex == SAVE_INDEX_INVALID) { - gfx_draw_string_left_clipped( - dpi, - STR_TITLE_COMMAND_EDITOR_NO_SAVE_SELECTED, - NULL, - w->colours[1], - w->x + w->widgets[WIDX_INPUT].left + 1, - w->y + w->widgets[WIDX_INPUT].top, - w->widgets[WIDX_INPUT_DROPDOWN].left - w->widgets[WIDX_INPUT].left - 4); - } - else { - set_format_arg(0, uintptr_t, (uintptr_t)_sequence->Saves[command.SaveIndex]); - gfx_draw_string_left_clipped( - dpi, - STR_STRING, - gCommonFormatArgs, - w->colours[1], - w->x + w->widgets[WIDX_INPUT].left + 1, - w->y + w->widgets[WIDX_INPUT].top, - w->widgets[WIDX_INPUT_DROPDOWN].left - w->widgets[WIDX_INPUT].left - 4); - } - } + if (command.Type == TITLE_SCRIPT_SPEED) { + gfx_draw_string_left_clipped( + dpi, + SpeedNames[command.Speed - 1], + NULL, + w->colours[1], + w->x + w->widgets[WIDX_INPUT].left + 1, + w->y + w->widgets[WIDX_INPUT].top, + w->widgets[WIDX_INPUT_DROPDOWN].left - w->widgets[WIDX_INPUT].left - 4); + } + else if (command.Type == TITLE_SCRIPT_LOAD) { + if (command.SaveIndex == SAVE_INDEX_INVALID) { + gfx_draw_string_left_clipped( + dpi, + STR_TITLE_COMMAND_EDITOR_NO_SAVE_SELECTED, + NULL, + w->colours[1], + w->x + w->widgets[WIDX_INPUT].left + 1, + w->y + w->widgets[WIDX_INPUT].top, + w->widgets[WIDX_INPUT_DROPDOWN].left - w->widgets[WIDX_INPUT].left - 4); + } + else { + set_format_arg(0, uintptr_t, (uintptr_t)_sequence->Saves[command.SaveIndex]); + gfx_draw_string_left_clipped( + dpi, + STR_STRING, + gCommonFormatArgs, + w->colours[1], + w->x + w->widgets[WIDX_INPUT].left + 1, + w->y + w->widgets[WIDX_INPUT].top, + w->widgets[WIDX_INPUT_DROPDOWN].left - w->widgets[WIDX_INPUT].left - 4); + } + } } diff --git a/src/openrct2/windows/title_editor.c b/src/openrct2/windows/title_editor.c index 8d4cc9f78a..353a7acc61 100644 --- a/src/openrct2/windows/title_editor.c +++ b/src/openrct2/windows/title_editor.c @@ -38,10 +38,10 @@ #include "error.h" enum WINDOW_TITLE_EDITOR_TAB { - WINDOW_TITLE_EDITOR_TAB_PRESETS, - WINDOW_TITLE_EDITOR_TAB_SAVES, - WINDOW_TITLE_EDITOR_TAB_SCRIPT, - WINDOW_TITLE_EDITOR_TAB_COUNT + WINDOW_TITLE_EDITOR_TAB_PRESETS, + WINDOW_TITLE_EDITOR_TAB_SAVES, + WINDOW_TITLE_EDITOR_TAB_SCRIPT, + WINDOW_TITLE_EDITOR_TAB_COUNT }; static void window_title_editor_close(rct_window *w); @@ -68,74 +68,74 @@ static void window_title_editor_add_park_callback(sint32 result, const utf8 * pa static void window_title_editor_rename_park(size_t index, const utf8 * name); static rct_window_event_list window_title_editor_events = { - window_title_editor_close, - window_title_editor_mouseup, - window_title_editor_resize, - window_title_editor_mousedown, - window_title_editor_dropdown, - NULL, - window_title_editor_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_title_editor_scrollgetsize, - window_title_editor_scrollmousedown, - NULL, - window_title_editor_scrollmouseover, - window_title_editor_textinput, - NULL, - NULL, - window_title_editor_tooltip, - NULL, - NULL, - window_title_editor_invalidate, - window_title_editor_paint, - window_title_editor_scrollpaint, + window_title_editor_close, + window_title_editor_mouseup, + window_title_editor_resize, + window_title_editor_mousedown, + window_title_editor_dropdown, + NULL, + window_title_editor_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_title_editor_scrollgetsize, + window_title_editor_scrollmousedown, + NULL, + window_title_editor_scrollmouseover, + window_title_editor_textinput, + NULL, + NULL, + window_title_editor_tooltip, + NULL, + NULL, + window_title_editor_invalidate, + window_title_editor_paint, + window_title_editor_scrollpaint, }; enum WINDOW_TITLE_EDITOR_WIDGET_IDX { - WIDX_TITLE_EDITOR_BACKGROUND, - WIDX_TITLE_EDITOR_TITLE, - WIDX_TITLE_EDITOR_CLOSE, - WIDX_TITLE_EDITOR_TAB_CONTENT_PANEL, - WIDX_TITLE_EDITOR_PRESETS_TAB, - WIDX_TITLE_EDITOR_SAVES_TAB, - WIDX_TITLE_EDITOR_SCRIPT_TAB, - WIDX_TITLE_EDITOR_LIST, + WIDX_TITLE_EDITOR_BACKGROUND, + WIDX_TITLE_EDITOR_TITLE, + WIDX_TITLE_EDITOR_CLOSE, + WIDX_TITLE_EDITOR_TAB_CONTENT_PANEL, + WIDX_TITLE_EDITOR_PRESETS_TAB, + WIDX_TITLE_EDITOR_SAVES_TAB, + WIDX_TITLE_EDITOR_SCRIPT_TAB, + WIDX_TITLE_EDITOR_LIST, - // Presets Tab - WIDX_TITLE_EDITOR_PRESETS, - WIDX_TITLE_EDITOR_PRESETS_DROPDOWN, - WIDX_TITLE_EDITOR_NEW_BUTTON, - WIDX_TITLE_EDITOR_DUPLICATE_BUTTON, - WIDX_TITLE_EDITOR_DELETE_BUTTON, - WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON, + // Presets Tab + WIDX_TITLE_EDITOR_PRESETS, + WIDX_TITLE_EDITOR_PRESETS_DROPDOWN, + WIDX_TITLE_EDITOR_NEW_BUTTON, + WIDX_TITLE_EDITOR_DUPLICATE_BUTTON, + WIDX_TITLE_EDITOR_DELETE_BUTTON, + WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON, - // Saves Tab - WIDX_TITLE_EDITOR_ADD_SAVE, - WIDX_TITLE_EDITOR_REMOVE_SAVE, - WIDX_TITLE_EDITOR_RENAME_SAVE, - WIDX_TITLE_EDITOR_LOAD_SAVE, + // Saves Tab + WIDX_TITLE_EDITOR_ADD_SAVE, + WIDX_TITLE_EDITOR_REMOVE_SAVE, + WIDX_TITLE_EDITOR_RENAME_SAVE, + WIDX_TITLE_EDITOR_LOAD_SAVE, - // Script Tab - WIDX_TITLE_EDITOR_INSERT, - WIDX_TITLE_EDITOR_EDIT, - WIDX_TITLE_EDITOR_DELETE, - //WIDX_TITLE_EDITOR_RELOAD, - WIDX_TITLE_EDITOR_SKIP_TO, + // Script Tab + WIDX_TITLE_EDITOR_INSERT, + WIDX_TITLE_EDITOR_EDIT, + WIDX_TITLE_EDITOR_DELETE, + //WIDX_TITLE_EDITOR_RELOAD, + WIDX_TITLE_EDITOR_SKIP_TO, - WIDX_TITLE_EDITOR_MOVE_DOWN, - WIDX_TITLE_EDITOR_MOVE_UP, + WIDX_TITLE_EDITOR_MOVE_DOWN, + WIDX_TITLE_EDITOR_MOVE_UP, - WIDX_TITLE_EDITOR_REPLAY, - WIDX_TITLE_EDITOR_STOP, - WIDX_TITLE_EDITOR_PLAY, - WIDX_TITLE_EDITOR_SKIP, + WIDX_TITLE_EDITOR_REPLAY, + WIDX_TITLE_EDITOR_STOP, + WIDX_TITLE_EDITOR_PLAY, + WIDX_TITLE_EDITOR_SKIP, }; // Increase BW if certain languages do not fit @@ -152,45 +152,45 @@ enum WINDOW_TITLE_EDITOR_WIDGET_IDX { #define WH2 127 static rct_widget window_title_editor_widgets[] = { - { WWT_FRAME, 0, 0, WW-1, 0, WH2-1, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, WW-2, 1, 14, STR_TITLE_EDITOR_TITLE, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, WW-13, WW-3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close button - { WWT_RESIZE, 1, 0, WW-1, 43, WH2-1, 0xFFFFFFFF, STR_NONE }, // tab content panel - { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_SETTINGS_TIP }, // presets tab - { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_TITLE_EDITOR_SAVES_TAB_TIP }, // saves tab - { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_TITLE_EDITOR_SCRIPT_TAB_TIP }, // script tab - { WWT_SCROLL, 1, BX+BW+9,WW-4, 48, WH-4, SCROLL_BOTH, STR_NONE }, // command/save list + { WWT_FRAME, 0, 0, WW-1, 0, WH2-1, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, WW-2, 1, 14, STR_TITLE_EDITOR_TITLE, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, WW-13, WW-3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close button + { WWT_RESIZE, 1, 0, WW-1, 43, WH2-1, 0xFFFFFFFF, STR_NONE }, // tab content panel + { WWT_TAB, 1, 3, 33, 17, 43, 0x20000000 | SPR_TAB, STR_THEMES_TAB_SETTINGS_TIP }, // presets tab + { WWT_TAB, 1, 34, 64, 17, 43, 0x20000000 | SPR_TAB, STR_TITLE_EDITOR_SAVES_TAB_TIP }, // saves tab + { WWT_TAB, 1, 65, 95, 17, 43, 0x20000000 | SPR_TAB, STR_TITLE_EDITOR_SCRIPT_TAB_TIP }, // script tab + { WWT_SCROLL, 1, BX+BW+9,WW-4, 48, WH-4, SCROLL_BOTH, STR_NONE }, // command/save list - // Presets Tab - { WWT_DROPDOWN, 1, 125, 299, 60, 71, STR_NONE, STR_NONE }, // Preset title sequences - { WWT_DROPDOWN_BUTTON, 1, 288, 298, 61, 70, STR_DROPDOWN_GLYPH, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 1, 10, 100, 82, 93, STR_TITLE_EDITOR_ACTION_CREATE, STR_TITLE_EDITOR_ACTION_CREATE_SEQUENCE_TIP }, // Create button - { WWT_DROPDOWN_BUTTON, 1, 10, 100, 82+20, 93+20, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_TITLE_EDITOR_ACTION_DUPLICATE_SEQUENCE_TIP }, // Duplicate button - { WWT_DROPDOWN_BUTTON, 1, 110, 200, 82, 93, STR_TRACK_MANAGE_DELETE, STR_TITLE_EDITOR_ACTION_DELETE_SEQUENCE_TIP }, // Delete button - { WWT_DROPDOWN_BUTTON, 1, 210, 300, 82, 93, STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ACTION_RENAME_SEQUENCE_TIP }, // Rename button + // Presets Tab + { WWT_DROPDOWN, 1, 125, 299, 60, 71, STR_NONE, STR_NONE }, // Preset title sequences + { WWT_DROPDOWN_BUTTON, 1, 288, 298, 61, 70, STR_DROPDOWN_GLYPH, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 1, 10, 100, 82, 93, STR_TITLE_EDITOR_ACTION_CREATE, STR_TITLE_EDITOR_ACTION_CREATE_SEQUENCE_TIP }, // Create button + { WWT_DROPDOWN_BUTTON, 1, 10, 100, 82+20, 93+20, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_TITLE_EDITOR_ACTION_DUPLICATE_SEQUENCE_TIP }, // Duplicate button + { WWT_DROPDOWN_BUTTON, 1, 110, 200, 82, 93, STR_TRACK_MANAGE_DELETE, STR_TITLE_EDITOR_ACTION_DELETE_SEQUENCE_TIP }, // Delete button + { WWT_DROPDOWN_BUTTON, 1, 210, 300, 82, 93, STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ACTION_RENAME_SEQUENCE_TIP }, // Rename button - // Saves Tab - { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY, BH, STR_TITLE_EDITOR_ACTION_ADD, STR_TITLE_EDITOR_ACTION_ADD_TIP }, // Add - { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*1), BH+(BS*1), STR_TITLE_EDITOR_ACTION_REMOVE, STR_TITLE_EDITOR_ACTION_REMOVE_TIP }, // Remove - { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*2), BH+(BS*2), STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ACTION_RENAME_TIP }, // Rename - { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*3), BH+(BS*3), STR_TITLE_EDITOR_ACTION_LOAD, STR_TITLE_EDITOR_ACTION_LOAD_TIP }, // Load + // Saves Tab + { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY, BH, STR_TITLE_EDITOR_ACTION_ADD, STR_TITLE_EDITOR_ACTION_ADD_TIP }, // Add + { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*1), BH+(BS*1), STR_TITLE_EDITOR_ACTION_REMOVE, STR_TITLE_EDITOR_ACTION_REMOVE_TIP }, // Remove + { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*2), BH+(BS*2), STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ACTION_RENAME_TIP }, // Rename + { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*3), BH+(BS*3), STR_TITLE_EDITOR_ACTION_LOAD, STR_TITLE_EDITOR_ACTION_LOAD_TIP }, // Load - // Script Tab - { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY, BH, STR_TITLE_EDITOR_ACTION_INSERT, STR_TITLE_EDITOR_ACTION_INSERT_TIP }, // Insert - { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*1), BH+(BS*1), STR_TITLE_EDITOR_ACTION_EDIT, STR_TITLE_EDITOR_ACTION_EDIT_TIP }, // Edit - { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*2), BH+(BS*2), STR_TRACK_MANAGE_DELETE, STR_TITLE_EDITOR_ACTION_DELETE_TIP }, // Delete - //{ WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*3), BH+(BS*3), STR_TITLE_EDITOR_ACTION_RELOAD, STR_TITLE_EDITOR_ACTION_RELOAD_TIP }, // Reload - { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*3), BH+(BS*3), STR_TITLE_EDITOR_ACTION_SKIP_TO, STR_TITLE_EDITOR_ACTION_SKIP_TO_TIP }, // Skip to + // Script Tab + { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY, BH, STR_TITLE_EDITOR_ACTION_INSERT, STR_TITLE_EDITOR_ACTION_INSERT_TIP }, // Insert + { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*1), BH+(BS*1), STR_TITLE_EDITOR_ACTION_EDIT, STR_TITLE_EDITOR_ACTION_EDIT_TIP }, // Edit + { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*2), BH+(BS*2), STR_TRACK_MANAGE_DELETE, STR_TITLE_EDITOR_ACTION_DELETE_TIP }, // Delete + //{ WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*3), BH+(BS*3), STR_TITLE_EDITOR_ACTION_RELOAD, STR_TITLE_EDITOR_ACTION_RELOAD_TIP }, // Reload + { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW-1,BY+(BS*3), BH+(BS*3), STR_TITLE_EDITOR_ACTION_SKIP_TO, STR_TITLE_EDITOR_ACTION_SKIP_TO_TIP }, // Skip to - { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW/2-1,BY+(BS*5),BH+(BS*5), STR_DOWN, STR_TITLE_EDITOR_ACTION_MOVE_DOWN_TIP }, // Move down - { WWT_DROPDOWN_BUTTON, 1, BX+BW/2,BX+BW-1,BY+(BS*5), BH+(BS*5), STR_UP, STR_TITLE_EDITOR_ACTION_MOVE_UP_TIP }, // Move up + { WWT_DROPDOWN_BUTTON, 1, BX, BX+BW/2-1,BY+(BS*5),BH+(BS*5), STR_DOWN, STR_TITLE_EDITOR_ACTION_MOVE_DOWN_TIP }, // Move down + { WWT_DROPDOWN_BUTTON, 1, BX+BW/2,BX+BW-1,BY+(BS*5), BH+(BS*5), STR_UP, STR_TITLE_EDITOR_ACTION_MOVE_UP_TIP }, // Move up - { WWT_IMGBTN, 1, BX, BX+BW/4-1, WH-32, WH-16, SPR_G2_TITLE_RESTART, STR_TITLE_EDITOR_ACTION_REPLAY_TIP }, // Replay - { WWT_IMGBTN, 1, BX+BW/4,BX+BW/2-1, WH-32, WH-16, SPR_G2_TITLE_STOP, STR_TITLE_EDITOR_ACTION_STOP_TIP }, // Stop - { WWT_IMGBTN, 1, BX+BW/2,BX+BW*3/4-1,WH-32, WH-16, SPR_G2_TITLE_PLAY, STR_TITLE_EDITOR_ACTION_PLAY_TIP }, // Play - { WWT_IMGBTN, 1, BX+BW*3/4,BX+BW, WH-32, WH-16, SPR_G2_TITLE_SKIP, STR_TITLE_EDITOR_ACTION_SKIP_TIP }, // Skip + { WWT_IMGBTN, 1, BX, BX+BW/4-1, WH-32, WH-16, SPR_G2_TITLE_RESTART, STR_TITLE_EDITOR_ACTION_REPLAY_TIP }, // Replay + { WWT_IMGBTN, 1, BX+BW/4,BX+BW/2-1, WH-32, WH-16, SPR_G2_TITLE_STOP, STR_TITLE_EDITOR_ACTION_STOP_TIP }, // Stop + { WWT_IMGBTN, 1, BX+BW/2,BX+BW*3/4-1,WH-32, WH-16, SPR_G2_TITLE_PLAY, STR_TITLE_EDITOR_ACTION_PLAY_TIP }, // Play + { WWT_IMGBTN, 1, BX+BW*3/4,BX+BW, WH-32, WH-16, SPR_G2_TITLE_SKIP, STR_TITLE_EDITOR_ACTION_SKIP_TIP }, // Skip - { WIDGETS_END }, + { WIDGETS_END }, }; static size_t _selectedTitleSequence = 0; @@ -204,839 +204,839 @@ static utf8 * _renameSavePath = NULL; static sint16 _window_title_editor_highlighted_index; static sint32 window_title_editor_tab_animation_loops[] = { - 64, - 1, - 28 + 64, + 1, + 28 }; static sint32 window_title_editor_tab_animation_divisor[] = { - 4, - 1, - 4 + 4, + 1, + 4 }; static sint32 window_title_editor_tab_sprites[] = { - SPR_TAB_RIDE_0, - SPR_FLOPPY, - SPR_TAB_STATS_0 + SPR_TAB_RIDE_0, + SPR_FLOPPY, + SPR_TAB_STATS_0 }; void window_title_editor_open(sint32 tab) { - rct_window* window; + rct_window* window; - // Check if window is already open - window = window_bring_to_front_by_class(WC_TITLE_EDITOR); - if (window != NULL) - return; + // Check if window is already open + window = window_bring_to_front_by_class(WC_TITLE_EDITOR); + if (window != NULL) + return; - window = window_create_auto_pos(WW, WH2, &window_title_editor_events, WC_TITLE_EDITOR, WF_10 | WF_RESIZABLE); - window->widgets = window_title_editor_widgets; - window->enabled_widgets = - (1 << WIDX_TITLE_EDITOR_CLOSE) | - (1 << WIDX_TITLE_EDITOR_PRESETS_TAB) | - (1 << WIDX_TITLE_EDITOR_SAVES_TAB) | - (1 << WIDX_TITLE_EDITOR_SCRIPT_TAB) | + window = window_create_auto_pos(WW, WH2, &window_title_editor_events, WC_TITLE_EDITOR, WF_10 | WF_RESIZABLE); + window->widgets = window_title_editor_widgets; + window->enabled_widgets = + (1 << WIDX_TITLE_EDITOR_CLOSE) | + (1 << WIDX_TITLE_EDITOR_PRESETS_TAB) | + (1 << WIDX_TITLE_EDITOR_SAVES_TAB) | + (1 << WIDX_TITLE_EDITOR_SCRIPT_TAB) | - (1 << WIDX_TITLE_EDITOR_PRESETS) | - (1 << WIDX_TITLE_EDITOR_PRESETS_DROPDOWN) | - (1 << WIDX_TITLE_EDITOR_NEW_BUTTON) | - (1 << WIDX_TITLE_EDITOR_DUPLICATE_BUTTON) | - (1 << WIDX_TITLE_EDITOR_DELETE_BUTTON) | - (1 << WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON) | + (1 << WIDX_TITLE_EDITOR_PRESETS) | + (1 << WIDX_TITLE_EDITOR_PRESETS_DROPDOWN) | + (1 << WIDX_TITLE_EDITOR_NEW_BUTTON) | + (1 << WIDX_TITLE_EDITOR_DUPLICATE_BUTTON) | + (1 << WIDX_TITLE_EDITOR_DELETE_BUTTON) | + (1 << WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON) | - (1 << WIDX_TITLE_EDITOR_ADD_SAVE) | - (1 << WIDX_TITLE_EDITOR_REMOVE_SAVE) | - (1 << WIDX_TITLE_EDITOR_RENAME_SAVE) | - (1 << WIDX_TITLE_EDITOR_LOAD_SAVE) | + (1 << WIDX_TITLE_EDITOR_ADD_SAVE) | + (1 << WIDX_TITLE_EDITOR_REMOVE_SAVE) | + (1 << WIDX_TITLE_EDITOR_RENAME_SAVE) | + (1 << WIDX_TITLE_EDITOR_LOAD_SAVE) | - (1 << WIDX_TITLE_EDITOR_INSERT) | - (1 << WIDX_TITLE_EDITOR_EDIT) | - (1 << WIDX_TITLE_EDITOR_DELETE) | - //(1 << WIDX_TITLE_EDITOR_RELOAD) | - (1 << WIDX_TITLE_EDITOR_SKIP_TO) | - (1 << WIDX_TITLE_EDITOR_MOVE_DOWN) | - (1 << WIDX_TITLE_EDITOR_MOVE_UP) | + (1 << WIDX_TITLE_EDITOR_INSERT) | + (1 << WIDX_TITLE_EDITOR_EDIT) | + (1 << WIDX_TITLE_EDITOR_DELETE) | + //(1 << WIDX_TITLE_EDITOR_RELOAD) | + (1 << WIDX_TITLE_EDITOR_SKIP_TO) | + (1 << WIDX_TITLE_EDITOR_MOVE_DOWN) | + (1 << WIDX_TITLE_EDITOR_MOVE_UP) | - (1 << WIDX_TITLE_EDITOR_PLAY) | - (1 << WIDX_TITLE_EDITOR_STOP) | - (1 << WIDX_TITLE_EDITOR_REPLAY) | - (1 << WIDX_TITLE_EDITOR_SKIP); + (1 << WIDX_TITLE_EDITOR_PLAY) | + (1 << WIDX_TITLE_EDITOR_STOP) | + (1 << WIDX_TITLE_EDITOR_REPLAY) | + (1 << WIDX_TITLE_EDITOR_SKIP); - window_init_scroll_widgets(window); - window->list_information_type = 0; + window_init_scroll_widgets(window); + window->list_information_type = 0; - window->selected_tab = tab; - window->selected_list_item = -1; - _window_title_editor_highlighted_index = -1; - window->scrolls[0].v_top = 0; - window->scrolls[0].h_left = 0; + window->selected_tab = tab; + window->selected_list_item = -1; + _window_title_editor_highlighted_index = -1; + window->scrolls[0].v_top = 0; + window->scrolls[0].h_left = 0; - window->min_width = WW; - window->min_height = WH; - window->max_width = 500; - window->max_height = 450; + window->min_width = WW; + window->min_height = WH; + window->max_width = 500; + window->max_height = 450; - if (_selectedTitleSequence >= title_sequence_manager_get_count()) { - _selectedTitleSequence = 0; - } - window_title_editor_load_sequence(_selectedTitleSequence); + if (_selectedTitleSequence >= title_sequence_manager_get_count()) { + _selectedTitleSequence = 0; + } + window_title_editor_load_sequence(_selectedTitleSequence); } static void window_title_editor_close(rct_window *w) { - // Close the related windows - window_close_by_class(WC_TITLE_COMMAND_EDITOR); + // Close the related windows + window_close_by_class(WC_TITLE_COMMAND_EDITOR); - FreeTitleSequence(_editingTitleSequence); - _editingTitleSequence = NULL; - _isSequencePlaying = false; - _sequenceName = NULL; + FreeTitleSequence(_editingTitleSequence); + _editingTitleSequence = NULL; + _isSequencePlaying = false; + _sequenceName = NULL; - free(_renameSavePath); - _renameSavePath = NULL; + free(_renameSavePath); + _renameSavePath = NULL; } static void window_title_editor_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - bool commandEditorOpen = (window_find_by_class(WC_TITLE_COMMAND_EDITOR) != NULL); - switch (widgetIndex) { - case WIDX_TITLE_EDITOR_CLOSE: - window_close(w); - break; + bool commandEditorOpen = (window_find_by_class(WC_TITLE_COMMAND_EDITOR) != NULL); + switch (widgetIndex) { + case WIDX_TITLE_EDITOR_CLOSE: + window_close(w); + break; - ////////////////////////////////////////////////////////////////////////////////////////////////////// - // Presets tab - ////////////////////////////////////////////////////////////////////////////////////////////////////// - case WIDX_TITLE_EDITOR_NEW_BUTTON: - if (!commandEditorOpen) { - // TODO: This should probably be 'NEW' - window_text_input_open(w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, STR_NONE, 0, 64); - } - break; - case WIDX_TITLE_EDITOR_DUPLICATE_BUTTON: - if (!commandEditorOpen && _editingTitleSequence != NULL) { - window_text_input_open(w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, STR_STRING, (uintptr_t)_editingTitleSequence->Name, 64); - } - break; - case WIDX_TITLE_EDITOR_DELETE_BUTTON: - if (window_title_editor_check_can_edit()) { - title_sequence_manager_delete(_selectedTitleSequence); - window_title_editor_load_sequence(0); - } - break; - case WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON: - if (window_title_editor_check_can_edit() && _editingTitleSequence != NULL) { - window_text_input_open(w, widgetIndex, STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, STR_STRING, (uintptr_t)_editingTitleSequence->Name, 64); - } - break; + ////////////////////////////////////////////////////////////////////////////////////////////////////// + // Presets tab + ////////////////////////////////////////////////////////////////////////////////////////////////////// + case WIDX_TITLE_EDITOR_NEW_BUTTON: + if (!commandEditorOpen) { + // TODO: This should probably be 'NEW' + window_text_input_open(w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, STR_NONE, 0, 64); + } + break; + case WIDX_TITLE_EDITOR_DUPLICATE_BUTTON: + if (!commandEditorOpen && _editingTitleSequence != NULL) { + window_text_input_open(w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, STR_STRING, (uintptr_t)_editingTitleSequence->Name, 64); + } + break; + case WIDX_TITLE_EDITOR_DELETE_BUTTON: + if (window_title_editor_check_can_edit()) { + title_sequence_manager_delete(_selectedTitleSequence); + window_title_editor_load_sequence(0); + } + break; + case WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON: + if (window_title_editor_check_can_edit() && _editingTitleSequence != NULL) { + window_text_input_open(w, widgetIndex, STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, STR_STRING, (uintptr_t)_editingTitleSequence->Name, 64); + } + break; - ////////////////////////////////////////////////////////////////////////////////////////////////////// - // Editor tab - ////////////////////////////////////////////////////////////////////////////////////////////////////// - case WIDX_TITLE_EDITOR_ADD_SAVE: - if (!_isSequenceReadOnly && !_isSequencePlaying && !commandEditorOpen) { - window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_GAME, NULL); - window_loadsave_set_loadsave_callback(window_title_editor_add_park_callback); - } - break; - case WIDX_TITLE_EDITOR_REMOVE_SAVE: - if (window_title_editor_check_can_edit()) { - if (w->selected_list_item != -1) { - TitleSequenceRemovePark(_editingTitleSequence, w->selected_list_item); - if (w->selected_list_item >= (sint16)_editingTitleSequence->NumSaves) { - w->selected_list_item--; - } - } - } - break; - case WIDX_TITLE_EDITOR_RENAME_SAVE: - if (window_title_editor_check_can_edit()) { - if (w->selected_list_item != -1) { - window_text_input_open(w, widgetIndex, STR_FILEBROWSER_RENAME_SAVE_TITLE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SAVE, STR_STRING, (uintptr_t)_editingTitleSequence->Saves[w->selected_list_item], 52 - 1); - } - } - break; - case WIDX_TITLE_EDITOR_LOAD_SAVE: - if (w->selected_list_item >= 0 && w->selected_list_item < (sint16)_editingTitleSequence->NumSaves) { - TitleSequenceParkHandle * handle = TitleSequenceGetParkHandle(_editingTitleSequence, w->selected_list_item); - const utf8 * extension = path_get_extension(handle->HintPath); - bool isScenario = park_importer_extension_is_scenario(extension); - park_importer_load_from_stream(handle->Stream, handle->HintPath); - if (isScenario) { - scenario_begin(); - } else { - game_load_init(); - } - TitleSequenceCloseParkHandle(handle); - window_title_editor_open(WINDOW_TITLE_EDITOR_TAB_SAVES); - } - break; + ////////////////////////////////////////////////////////////////////////////////////////////////////// + // Editor tab + ////////////////////////////////////////////////////////////////////////////////////////////////////// + case WIDX_TITLE_EDITOR_ADD_SAVE: + if (!_isSequenceReadOnly && !_isSequencePlaying && !commandEditorOpen) { + window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_GAME, NULL); + window_loadsave_set_loadsave_callback(window_title_editor_add_park_callback); + } + break; + case WIDX_TITLE_EDITOR_REMOVE_SAVE: + if (window_title_editor_check_can_edit()) { + if (w->selected_list_item != -1) { + TitleSequenceRemovePark(_editingTitleSequence, w->selected_list_item); + if (w->selected_list_item >= (sint16)_editingTitleSequence->NumSaves) { + w->selected_list_item--; + } + } + } + break; + case WIDX_TITLE_EDITOR_RENAME_SAVE: + if (window_title_editor_check_can_edit()) { + if (w->selected_list_item != -1) { + window_text_input_open(w, widgetIndex, STR_FILEBROWSER_RENAME_SAVE_TITLE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SAVE, STR_STRING, (uintptr_t)_editingTitleSequence->Saves[w->selected_list_item], 52 - 1); + } + } + break; + case WIDX_TITLE_EDITOR_LOAD_SAVE: + if (w->selected_list_item >= 0 && w->selected_list_item < (sint16)_editingTitleSequence->NumSaves) { + TitleSequenceParkHandle * handle = TitleSequenceGetParkHandle(_editingTitleSequence, w->selected_list_item); + const utf8 * extension = path_get_extension(handle->HintPath); + bool isScenario = park_importer_extension_is_scenario(extension); + park_importer_load_from_stream(handle->Stream, handle->HintPath); + if (isScenario) { + scenario_begin(); + } else { + game_load_init(); + } + TitleSequenceCloseParkHandle(handle); + window_title_editor_open(WINDOW_TITLE_EDITOR_TAB_SAVES); + } + break; - ////////////////////////////////////////////////////////////////////////////////////////////////////// - // Commands tab - ////////////////////////////////////////////////////////////////////////////////////////////////////// - case WIDX_TITLE_EDITOR_INSERT: - if (window_title_editor_check_can_edit()) { - if (w->selected_list_item != -1) { - window_title_command_editor_open(_editingTitleSequence, w->selected_list_item + 1, true); - } else { - window_title_command_editor_open(_editingTitleSequence, (sint32)_editingTitleSequence->NumCommands, true); - } - } - break; - case WIDX_TITLE_EDITOR_EDIT: - if (window_title_editor_check_can_edit()) { - if (w->selected_list_item != -1 && w->selected_list_item < (sint16)_editingTitleSequence->NumCommands) { - window_title_command_editor_open(_editingTitleSequence, w->selected_list_item, false); - } - } - break; - case WIDX_TITLE_EDITOR_DELETE: - if (window_title_editor_check_can_edit()) { - if (w->selected_list_item != -1 && w->selected_list_item < (sint16)_editingTitleSequence->NumCommands) { - for (sint32 i = w->selected_list_item; i < (sint16)_editingTitleSequence->NumCommands - 1; i++) { - _editingTitleSequence->Commands[i] = _editingTitleSequence->Commands[i + 1]; - } - _editingTitleSequence->NumCommands--; - if (w->selected_list_item >= (sint16)_editingTitleSequence->NumCommands) { - w->selected_list_item--; - } - TileSequenceSave(_editingTitleSequence); - } - } - break; - case WIDX_TITLE_EDITOR_SKIP_TO: - { - sint32 position = w->selected_list_item; - if (_isSequencePlaying && position != -1 && position < (sint32)_editingTitleSequence->NumCommands) { - ITitleSequencePlayer * player = window_title_editor_get_player(); - title_sequence_player_seek(player, position); - title_sequence_player_update(player); - } - break; - } - case WIDX_TITLE_EDITOR_MOVE_DOWN: - if (window_title_editor_check_can_edit()) { - if (w->selected_list_item != -1 && w->selected_list_item < (sint16)_editingTitleSequence->NumCommands - 1) { - TitleCommand * a = &_editingTitleSequence->Commands[w->selected_list_item]; - TitleCommand * b = &_editingTitleSequence->Commands[w->selected_list_item + 1]; - TitleCommand tmp = *a; - *a = *b; - *b = tmp; - w->selected_list_item++; - TileSequenceSave(_editingTitleSequence); - } - } - break; - case WIDX_TITLE_EDITOR_MOVE_UP: - if (window_title_editor_check_can_edit()) { - if (w->selected_list_item > 0 && w->selected_list_item < (sint16)_editingTitleSequence->NumCommands) { - TitleCommand * a = &_editingTitleSequence->Commands[w->selected_list_item - 1]; - TitleCommand * b = &_editingTitleSequence->Commands[w->selected_list_item]; - TitleCommand tmp = *b; - *b = *a; - *a = tmp; - w->selected_list_item--; - TileSequenceSave(_editingTitleSequence); - } - } - break; - case WIDX_TITLE_EDITOR_REPLAY: - if (_isSequencePlaying) { - ITitleSequencePlayer * player = window_title_editor_get_player(); - title_sequence_player_reset(player); - title_sequence_player_update(player); - } - break; - case WIDX_TITLE_EDITOR_STOP: - if (_isSequencePlaying) { - gTitleCurrentSequence = 0; - _isSequencePlaying = false; - } - break; - case WIDX_TITLE_EDITOR_PLAY: - if (!_isSequencePlaying && (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) { - gTitleCurrentSequence = (uint16)_selectedTitleSequence; - _isSequencePlaying = true; - } - break; - case WIDX_TITLE_EDITOR_SKIP: - if (_isSequencePlaying) { - ITitleSequencePlayer * player = window_title_editor_get_player(); - sint32 position = title_sequence_player_get_current_position(player) + 1; - if (position >= (sint32)_editingTitleSequence->NumCommands) { - position = 0; - } - title_sequence_player_seek(player, position); - title_sequence_player_update(player); - } - break; - } + ////////////////////////////////////////////////////////////////////////////////////////////////////// + // Commands tab + ////////////////////////////////////////////////////////////////////////////////////////////////////// + case WIDX_TITLE_EDITOR_INSERT: + if (window_title_editor_check_can_edit()) { + if (w->selected_list_item != -1) { + window_title_command_editor_open(_editingTitleSequence, w->selected_list_item + 1, true); + } else { + window_title_command_editor_open(_editingTitleSequence, (sint32)_editingTitleSequence->NumCommands, true); + } + } + break; + case WIDX_TITLE_EDITOR_EDIT: + if (window_title_editor_check_can_edit()) { + if (w->selected_list_item != -1 && w->selected_list_item < (sint16)_editingTitleSequence->NumCommands) { + window_title_command_editor_open(_editingTitleSequence, w->selected_list_item, false); + } + } + break; + case WIDX_TITLE_EDITOR_DELETE: + if (window_title_editor_check_can_edit()) { + if (w->selected_list_item != -1 && w->selected_list_item < (sint16)_editingTitleSequence->NumCommands) { + for (sint32 i = w->selected_list_item; i < (sint16)_editingTitleSequence->NumCommands - 1; i++) { + _editingTitleSequence->Commands[i] = _editingTitleSequence->Commands[i + 1]; + } + _editingTitleSequence->NumCommands--; + if (w->selected_list_item >= (sint16)_editingTitleSequence->NumCommands) { + w->selected_list_item--; + } + TileSequenceSave(_editingTitleSequence); + } + } + break; + case WIDX_TITLE_EDITOR_SKIP_TO: + { + sint32 position = w->selected_list_item; + if (_isSequencePlaying && position != -1 && position < (sint32)_editingTitleSequence->NumCommands) { + ITitleSequencePlayer * player = window_title_editor_get_player(); + title_sequence_player_seek(player, position); + title_sequence_player_update(player); + } + break; + } + case WIDX_TITLE_EDITOR_MOVE_DOWN: + if (window_title_editor_check_can_edit()) { + if (w->selected_list_item != -1 && w->selected_list_item < (sint16)_editingTitleSequence->NumCommands - 1) { + TitleCommand * a = &_editingTitleSequence->Commands[w->selected_list_item]; + TitleCommand * b = &_editingTitleSequence->Commands[w->selected_list_item + 1]; + TitleCommand tmp = *a; + *a = *b; + *b = tmp; + w->selected_list_item++; + TileSequenceSave(_editingTitleSequence); + } + } + break; + case WIDX_TITLE_EDITOR_MOVE_UP: + if (window_title_editor_check_can_edit()) { + if (w->selected_list_item > 0 && w->selected_list_item < (sint16)_editingTitleSequence->NumCommands) { + TitleCommand * a = &_editingTitleSequence->Commands[w->selected_list_item - 1]; + TitleCommand * b = &_editingTitleSequence->Commands[w->selected_list_item]; + TitleCommand tmp = *b; + *b = *a; + *a = tmp; + w->selected_list_item--; + TileSequenceSave(_editingTitleSequence); + } + } + break; + case WIDX_TITLE_EDITOR_REPLAY: + if (_isSequencePlaying) { + ITitleSequencePlayer * player = window_title_editor_get_player(); + title_sequence_player_reset(player); + title_sequence_player_update(player); + } + break; + case WIDX_TITLE_EDITOR_STOP: + if (_isSequencePlaying) { + gTitleCurrentSequence = 0; + _isSequencePlaying = false; + } + break; + case WIDX_TITLE_EDITOR_PLAY: + if (!_isSequencePlaying && (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) { + gTitleCurrentSequence = (uint16)_selectedTitleSequence; + _isSequencePlaying = true; + } + break; + case WIDX_TITLE_EDITOR_SKIP: + if (_isSequencePlaying) { + ITitleSequencePlayer * player = window_title_editor_get_player(); + sint32 position = title_sequence_player_get_current_position(player) + 1; + if (position >= (sint32)_editingTitleSequence->NumCommands) { + position = 0; + } + title_sequence_player_seek(player, position); + title_sequence_player_update(player); + } + break; + } } static void window_title_editor_resize(rct_window *w) { - if (w->selected_tab == WINDOW_TITLE_EDITOR_TAB_PRESETS) { - window_set_resize(w, WW, WH, 500, WH2); - } else { - window_set_resize(w, WW, WH, 500, 580); - } + if (w->selected_tab == WINDOW_TITLE_EDITOR_TAB_PRESETS) { + window_set_resize(w, WW, WH, 500, WH2); + } else { + window_set_resize(w, WW, WH, 500, 580); + } } static void window_title_editor_mousedown(rct_widgetindex widgetIndex, rct_window* w, rct_widget* widget) { - switch (widgetIndex) { - case WIDX_TITLE_EDITOR_PRESETS_TAB: - case WIDX_TITLE_EDITOR_SAVES_TAB: - case WIDX_TITLE_EDITOR_SCRIPT_TAB: - { - sint32 newSelectedTab = widgetIndex - WIDX_TITLE_EDITOR_PRESETS_TAB; - if (w->selected_tab != newSelectedTab) { - w->selected_tab = newSelectedTab; - w->selected_list_item = -1; - _window_title_editor_highlighted_index = -1; - w->scrolls[0].v_top = 0; - w->frame_no = 0; - window_event_resize_call(w); - window_invalidate(w); - } - break; - } - case WIDX_TITLE_EDITOR_PRESETS_DROPDOWN: - if (window_find_by_class(WC_TITLE_COMMAND_EDITOR) != NULL) { - window_error_open(STR_TITLE_EDITOR_ERR_CANT_CHANGE_WHILE_EDITOR_IS_OPEN, STR_NONE); - } else { - sint32 numItems = (sint32)title_sequence_manager_get_count(); - for (sint32 i = 0; i < numItems; i++) { - gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; - gDropdownItemsArgs[i] = (uintptr_t)title_sequence_manager_get_name(i); - } + switch (widgetIndex) { + case WIDX_TITLE_EDITOR_PRESETS_TAB: + case WIDX_TITLE_EDITOR_SAVES_TAB: + case WIDX_TITLE_EDITOR_SCRIPT_TAB: + { + sint32 newSelectedTab = widgetIndex - WIDX_TITLE_EDITOR_PRESETS_TAB; + if (w->selected_tab != newSelectedTab) { + w->selected_tab = newSelectedTab; + w->selected_list_item = -1; + _window_title_editor_highlighted_index = -1; + w->scrolls[0].v_top = 0; + w->frame_no = 0; + window_event_resize_call(w); + window_invalidate(w); + } + break; + } + case WIDX_TITLE_EDITOR_PRESETS_DROPDOWN: + if (window_find_by_class(WC_TITLE_COMMAND_EDITOR) != NULL) { + window_error_open(STR_TITLE_EDITOR_ERR_CANT_CHANGE_WHILE_EDITOR_IS_OPEN, STR_NONE); + } else { + sint32 numItems = (sint32)title_sequence_manager_get_count(); + for (sint32 i = 0; i < numItems; i++) { + gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; + gDropdownItemsArgs[i] = (uintptr_t)title_sequence_manager_get_name(i); + } - widget--; - window_dropdown_show_text_custom_width( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1], - 0, - DROPDOWN_FLAG_STAY_OPEN, - numItems, - widget->right - widget->left - 3); - dropdown_set_checked((sint32)_selectedTitleSequence, true); - } - break; - } + widget--; + window_dropdown_show_text_custom_width( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1], + 0, + DROPDOWN_FLAG_STAY_OPEN, + numItems, + widget->right - widget->left - 3); + dropdown_set_checked((sint32)_selectedTitleSequence, true); + } + break; + } } static void window_title_editor_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (dropdownIndex == -1) - return; + if (dropdownIndex == -1) + return; - if (widgetIndex == WIDX_TITLE_EDITOR_PRESETS_DROPDOWN) { - window_title_editor_load_sequence(dropdownIndex); - window_invalidate(w); - } + if (widgetIndex == WIDX_TITLE_EDITOR_PRESETS_DROPDOWN) { + window_title_editor_load_sequence(dropdownIndex); + window_invalidate(w); + } } static void window_title_editor_update(rct_window *w) { - w->frame_no++; - if (w->frame_no >= window_title_editor_tab_animation_loops[w->selected_tab]) { - w->frame_no = 0; - } + w->frame_no++; + if (w->frame_no >= window_title_editor_tab_animation_loops[w->selected_tab]) { + w->frame_no = 0; + } - if (!widget_is_highlighted(w, WIDX_TITLE_EDITOR_LIST)) { - _window_title_editor_highlighted_index = -1; - widget_invalidate(w, WIDX_TITLE_EDITOR_LIST); - } + if (!widget_is_highlighted(w, WIDX_TITLE_EDITOR_LIST)) { + _window_title_editor_highlighted_index = -1; + widget_invalidate(w, WIDX_TITLE_EDITOR_LIST); + } - widget_invalidate(w, WIDX_TITLE_EDITOR_PRESETS_TAB + w->selected_tab); + widget_invalidate(w, WIDX_TITLE_EDITOR_PRESETS_TAB + w->selected_tab); } static void window_title_editor_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - size_t lineCount = 1; - if (w->selected_tab == WINDOW_TITLE_EDITOR_TAB_SAVES) { - lineCount = _editingTitleSequence->NumSaves; - } else if (w->selected_tab == WINDOW_TITLE_EDITOR_TAB_SCRIPT) { - lineCount = _editingTitleSequence->NumCommands; - } + size_t lineCount = 1; + if (w->selected_tab == WINDOW_TITLE_EDITOR_TAB_SAVES) { + lineCount = _editingTitleSequence->NumSaves; + } else if (w->selected_tab == WINDOW_TITLE_EDITOR_TAB_SCRIPT) { + lineCount = _editingTitleSequence->NumCommands; + } - *height = (sint32)(lineCount * ROW_HEIGHT); - sint32 i = *height - window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].bottom + window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].top + 21; - if (i < 0) { - i = 0; - } - if (i < w->scrolls[0].v_top) { - w->scrolls[0].v_top = i; - window_invalidate(w); - } + *height = (sint32)(lineCount * ROW_HEIGHT); + sint32 i = *height - window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].bottom + window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].top + 21; + if (i < 0) { + i = 0; + } + if (i < w->scrolls[0].v_top) { + w->scrolls[0].v_top = i; + window_invalidate(w); + } - *width = SCROLL_WIDTH; + *width = SCROLL_WIDTH; } static void window_title_editor_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 index = y / ROW_HEIGHT; - w->selected_list_item = -1; - switch (w->selected_tab) { - case WINDOW_TITLE_EDITOR_TAB_SAVES: - if (index < (sint32)_editingTitleSequence->NumSaves) { - w->selected_list_item = index; - widget_invalidate(w, WIDX_TITLE_EDITOR_LIST); - } - break; - case WINDOW_TITLE_EDITOR_TAB_SCRIPT: - if (index < (sint32)_editingTitleSequence->NumCommands) { - w->selected_list_item = index; - widget_invalidate(w, WIDX_TITLE_EDITOR_LIST); - } - break; - } + sint32 index = y / ROW_HEIGHT; + w->selected_list_item = -1; + switch (w->selected_tab) { + case WINDOW_TITLE_EDITOR_TAB_SAVES: + if (index < (sint32)_editingTitleSequence->NumSaves) { + w->selected_list_item = index; + widget_invalidate(w, WIDX_TITLE_EDITOR_LIST); + } + break; + case WINDOW_TITLE_EDITOR_TAB_SCRIPT: + if (index < (sint32)_editingTitleSequence->NumCommands) { + w->selected_list_item = index; + widget_invalidate(w, WIDX_TITLE_EDITOR_LIST); + } + break; + } } static void window_title_editor_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - sint32 index = y / ROW_HEIGHT; - switch (w->selected_tab) { - case WINDOW_TITLE_EDITOR_TAB_SAVES: - if (index < (sint32)_editingTitleSequence->NumSaves) - _window_title_editor_highlighted_index = (sint16)index; - break; - case WINDOW_TITLE_EDITOR_TAB_SCRIPT: - if (index < (sint32)_editingTitleSequence->NumCommands) - _window_title_editor_highlighted_index = (sint16)index; - break; - } - widget_invalidate(w, WIDX_TITLE_EDITOR_LIST); + sint32 index = y / ROW_HEIGHT; + switch (w->selected_tab) { + case WINDOW_TITLE_EDITOR_TAB_SAVES: + if (index < (sint32)_editingTitleSequence->NumSaves) + _window_title_editor_highlighted_index = (sint16)index; + break; + case WINDOW_TITLE_EDITOR_TAB_SCRIPT: + if (index < (sint32)_editingTitleSequence->NumCommands) + _window_title_editor_highlighted_index = (sint16)index; + break; + } + widget_invalidate(w, WIDX_TITLE_EDITOR_LIST); } static void window_title_editor_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (str_is_null_or_empty(text)) { - return; - } + if (str_is_null_or_empty(text)) { + return; + } - switch (widgetIndex) { - case WIDX_TITLE_EDITOR_NEW_BUTTON: - case WIDX_TITLE_EDITOR_DUPLICATE_BUTTON: - case WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON: - if (filename_valid_characters(text)) { - if (title_sequence_manager_get_index_for_name(text) == SIZE_MAX) { - if (widgetIndex == WIDX_TITLE_EDITOR_NEW_BUTTON) { - size_t newIndex = title_sequence_manager_create(text); - window_title_editor_load_sequence(newIndex); - } else if (widgetIndex == WIDX_TITLE_EDITOR_DUPLICATE_BUTTON) { - size_t newIndex = title_sequence_manager_duplicate(_selectedTitleSequence, text); - window_title_editor_load_sequence(newIndex); - } else { - size_t newIndex = title_sequence_manager_rename(_selectedTitleSequence, text); - window_title_editor_load_sequence(newIndex); - } - config_save_default(); - window_invalidate(w); - } else { - window_error_open(STR_ERROR_EXISTING_NAME, STR_NONE); - } - } else { - window_error_open(STR_ERROR_INVALID_CHARACTERS, STR_NONE); - } - break; - case WIDX_TITLE_EDITOR_RENAME_SAVE: - window_title_editor_rename_park(w->selected_list_item, text); - break; - } + switch (widgetIndex) { + case WIDX_TITLE_EDITOR_NEW_BUTTON: + case WIDX_TITLE_EDITOR_DUPLICATE_BUTTON: + case WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON: + if (filename_valid_characters(text)) { + if (title_sequence_manager_get_index_for_name(text) == SIZE_MAX) { + if (widgetIndex == WIDX_TITLE_EDITOR_NEW_BUTTON) { + size_t newIndex = title_sequence_manager_create(text); + window_title_editor_load_sequence(newIndex); + } else if (widgetIndex == WIDX_TITLE_EDITOR_DUPLICATE_BUTTON) { + size_t newIndex = title_sequence_manager_duplicate(_selectedTitleSequence, text); + window_title_editor_load_sequence(newIndex); + } else { + size_t newIndex = title_sequence_manager_rename(_selectedTitleSequence, text); + window_title_editor_load_sequence(newIndex); + } + config_save_default(); + window_invalidate(w); + } else { + window_error_open(STR_ERROR_EXISTING_NAME, STR_NONE); + } + } else { + window_error_open(STR_ERROR_INVALID_CHARACTERS, STR_NONE); + } + break; + case WIDX_TITLE_EDITOR_RENAME_SAVE: + window_title_editor_rename_park(w->selected_list_item, text); + break; + } } static void window_title_editor_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_LIST); + set_format_arg(0, rct_string_id, STR_LIST); } static void window_title_editor_invalidate(rct_window *w) { - sint32 pressed_widgets = w->pressed_widgets & ~( - (1LL << WIDX_TITLE_EDITOR_PRESETS_TAB) | - (1LL << WIDX_TITLE_EDITOR_SAVES_TAB) | - (1LL << WIDX_TITLE_EDITOR_SCRIPT_TAB) - ); - rct_widgetindex widgetIndex = w->selected_tab + WIDX_TITLE_EDITOR_PRESETS_TAB; + sint32 pressed_widgets = w->pressed_widgets & ~( + (1LL << WIDX_TITLE_EDITOR_PRESETS_TAB) | + (1LL << WIDX_TITLE_EDITOR_SAVES_TAB) | + (1LL << WIDX_TITLE_EDITOR_SCRIPT_TAB) + ); + rct_widgetindex widgetIndex = w->selected_tab + WIDX_TITLE_EDITOR_PRESETS_TAB; - w->pressed_widgets = pressed_widgets | (1 << widgetIndex); + w->pressed_widgets = pressed_widgets | (1 << widgetIndex); - window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS_DROPDOWN].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_NEW_BUTTON].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_DUPLICATE_BUTTON].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE_BUTTON].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS_DROPDOWN].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_NEW_BUTTON].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_DUPLICATE_BUTTON].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE_BUTTON].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_ADD_SAVE].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_REMOVE_SAVE].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_SAVE].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_LOAD_SAVE].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_ADD_SAVE].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_REMOVE_SAVE].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_SAVE].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_LOAD_SAVE].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_INSERT].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_EDIT].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE].type = WWT_EMPTY; - //window_title_editor_widgets[WIDX_TITLE_EDITOR_RELOAD].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP_TO].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_UP].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_DOWN].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].type = WWT_EMPTY; - window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_INSERT].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_EDIT].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE].type = WWT_EMPTY; + //window_title_editor_widgets[WIDX_TITLE_EDITOR_RELOAD].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP_TO].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_UP].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_DOWN].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].type = WWT_EMPTY; + window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].type = WWT_EMPTY; - switch (w->selected_tab) { - case WINDOW_TITLE_EDITOR_TAB_PRESETS: - window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].type = WWT_DROPDOWN; - window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS_DROPDOWN].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_NEW_BUTTON].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_DUPLICATE_BUTTON].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE_BUTTON].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON].type = WWT_DROPDOWN_BUTTON; - break; - case WINDOW_TITLE_EDITOR_TAB_SAVES: - window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].type = WWT_SCROLL; - window_title_editor_widgets[WIDX_TITLE_EDITOR_ADD_SAVE].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_REMOVE_SAVE].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_SAVE].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_LOAD_SAVE].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].type = WWT_IMGBTN; - window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].type = WWT_IMGBTN; - window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].type = WWT_IMGBTN; - window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].type = WWT_IMGBTN; - break; - case WINDOW_TITLE_EDITOR_TAB_SCRIPT: - window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].type = WWT_SCROLL; - window_title_editor_widgets[WIDX_TITLE_EDITOR_INSERT].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_EDIT].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE].type = WWT_DROPDOWN_BUTTON; - //window_title_editor_widgets[WIDX_TITLE_EDITOR_RELOAD].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP_TO].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_UP].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_DOWN].type = WWT_DROPDOWN_BUTTON; - window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].type = WWT_IMGBTN; - window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].type = WWT_IMGBTN; - window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].type = WWT_IMGBTN; - window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].type = WWT_IMGBTN; - break; - } + switch (w->selected_tab) { + case WINDOW_TITLE_EDITOR_TAB_PRESETS: + window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].type = WWT_DROPDOWN; + window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS_DROPDOWN].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_NEW_BUTTON].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_DUPLICATE_BUTTON].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE_BUTTON].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON].type = WWT_DROPDOWN_BUTTON; + break; + case WINDOW_TITLE_EDITOR_TAB_SAVES: + window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].type = WWT_SCROLL; + window_title_editor_widgets[WIDX_TITLE_EDITOR_ADD_SAVE].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_REMOVE_SAVE].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_SAVE].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_LOAD_SAVE].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].type = WWT_IMGBTN; + window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].type = WWT_IMGBTN; + window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].type = WWT_IMGBTN; + window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].type = WWT_IMGBTN; + break; + case WINDOW_TITLE_EDITOR_TAB_SCRIPT: + window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].type = WWT_SCROLL; + window_title_editor_widgets[WIDX_TITLE_EDITOR_INSERT].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_EDIT].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE].type = WWT_DROPDOWN_BUTTON; + //window_title_editor_widgets[WIDX_TITLE_EDITOR_RELOAD].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP_TO].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_UP].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_DOWN].type = WWT_DROPDOWN_BUTTON; + window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].type = WWT_IMGBTN; + window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].type = WWT_IMGBTN; + window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].type = WWT_IMGBTN; + window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].type = WWT_IMGBTN; + break; + } - window_title_editor_widgets[WIDX_TITLE_EDITOR_BACKGROUND].right = w->width - 1; - window_title_editor_widgets[WIDX_TITLE_EDITOR_BACKGROUND].bottom = w->height - 1; - window_title_editor_widgets[WIDX_TITLE_EDITOR_TAB_CONTENT_PANEL].right = w->width - 1; - window_title_editor_widgets[WIDX_TITLE_EDITOR_TAB_CONTENT_PANEL].bottom = w->height - 1; - window_title_editor_widgets[WIDX_TITLE_EDITOR_TITLE].right = w->width - 2; - window_title_editor_widgets[WIDX_TITLE_EDITOR_CLOSE].left = w->width - 2 - 0x0B; - window_title_editor_widgets[WIDX_TITLE_EDITOR_CLOSE].right = w->width - 2 - 0x0B + 0x0A; - window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].right = w->width - 4; - window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].bottom = w->height - 16; + window_title_editor_widgets[WIDX_TITLE_EDITOR_BACKGROUND].right = w->width - 1; + window_title_editor_widgets[WIDX_TITLE_EDITOR_BACKGROUND].bottom = w->height - 1; + window_title_editor_widgets[WIDX_TITLE_EDITOR_TAB_CONTENT_PANEL].right = w->width - 1; + window_title_editor_widgets[WIDX_TITLE_EDITOR_TAB_CONTENT_PANEL].bottom = w->height - 1; + window_title_editor_widgets[WIDX_TITLE_EDITOR_TITLE].right = w->width - 2; + window_title_editor_widgets[WIDX_TITLE_EDITOR_CLOSE].left = w->width - 2 - 0x0B; + window_title_editor_widgets[WIDX_TITLE_EDITOR_CLOSE].right = w->width - 2 - 0x0B + 0x0A; + window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].right = w->width - 4; + window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].bottom = w->height - 16; - window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].top = w->height - 32; - window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].bottom = w->height - 16; - window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].top = w->height - 32; - window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].bottom = w->height - 16; - window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].top = w->height - 32; - window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].bottom = w->height - 16; - window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].top = w->height - 32; - window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].bottom = w->height - 16; + window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].top = w->height - 32; + window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].bottom = w->height - 16; + window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].top = w->height - 32; + window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].bottom = w->height - 16; + window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].top = w->height - 32; + window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].bottom = w->height - 16; + window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].top = w->height - 32; + window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].bottom = w->height - 16; - if (!(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) { - w->disabled_widgets |= (1 << WIDX_TITLE_EDITOR_PLAY); - } else { - w->disabled_widgets &= ~(1 << WIDX_TITLE_EDITOR_PLAY); - } - if (!_isSequencePlaying) { - w->disabled_widgets |= (1 << WIDX_TITLE_EDITOR_REPLAY) | (1 << WIDX_TITLE_EDITOR_STOP) | (1 << WIDX_TITLE_EDITOR_SKIP) | (1 << WIDX_TITLE_EDITOR_SKIP_TO); - } else { - w->disabled_widgets &= ~((1 << WIDX_TITLE_EDITOR_REPLAY) | (1 << WIDX_TITLE_EDITOR_STOP) | (1 << WIDX_TITLE_EDITOR_SKIP) | (1 << WIDX_TITLE_EDITOR_SKIP_TO)); - } + if (!(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) { + w->disabled_widgets |= (1 << WIDX_TITLE_EDITOR_PLAY); + } else { + w->disabled_widgets &= ~(1 << WIDX_TITLE_EDITOR_PLAY); + } + if (!_isSequencePlaying) { + w->disabled_widgets |= (1 << WIDX_TITLE_EDITOR_REPLAY) | (1 << WIDX_TITLE_EDITOR_STOP) | (1 << WIDX_TITLE_EDITOR_SKIP) | (1 << WIDX_TITLE_EDITOR_SKIP_TO); + } else { + w->disabled_widgets &= ~((1 << WIDX_TITLE_EDITOR_REPLAY) | (1 << WIDX_TITLE_EDITOR_STOP) | (1 << WIDX_TITLE_EDITOR_SKIP) | (1 << WIDX_TITLE_EDITOR_SKIP_TO)); + } } static void window_title_editor_paint(rct_window *w, rct_drawpixelinfo *dpi) { - // Widgets - window_draw_widgets(w, dpi); - window_title_editor_draw_tab_images(dpi, w); + // Widgets + window_draw_widgets(w, dpi); + window_title_editor_draw_tab_images(dpi, w); - // Draw strings - switch (w->selected_tab) { - case WINDOW_TITLE_EDITOR_TAB_PRESETS: - set_format_arg(0, uintptr_t, _sequenceName); - gfx_draw_string_left(dpi, STR_TITLE_SEQUENCE, NULL, w->colours[1], w->x + 10, w->y + window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].top + 1); - gfx_draw_string_left_clipped( - dpi, - STR_STRING, - gCommonFormatArgs, - w->colours[1], - w->x + window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].left + 1, - w->y + window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].top, - w->x + window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS_DROPDOWN].left - window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].left - 4); - break; - case WINDOW_TITLE_EDITOR_TAB_SAVES: - break; - case WINDOW_TITLE_EDITOR_TAB_SCRIPT: - break; - } + // Draw strings + switch (w->selected_tab) { + case WINDOW_TITLE_EDITOR_TAB_PRESETS: + set_format_arg(0, uintptr_t, _sequenceName); + gfx_draw_string_left(dpi, STR_TITLE_SEQUENCE, NULL, w->colours[1], w->x + 10, w->y + window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].top + 1); + gfx_draw_string_left_clipped( + dpi, + STR_STRING, + gCommonFormatArgs, + w->colours[1], + w->x + window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].left + 1, + w->y + window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].top, + w->x + window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS_DROPDOWN].left - window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].left - 4); + break; + case WINDOW_TITLE_EDITOR_TAB_SAVES: + break; + case WINDOW_TITLE_EDITOR_TAB_SCRIPT: + break; + } } static void window_title_editor_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); - switch (w->selected_tab) { - case WINDOW_TITLE_EDITOR_TAB_SAVES: - window_title_editor_scrollpaint_saves(w, dpi); - break; - case WINDOW_TITLE_EDITOR_TAB_SCRIPT: - window_title_editor_scrollpaint_commands(w, dpi); - break; - } + gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light); + switch (w->selected_tab) { + case WINDOW_TITLE_EDITOR_TAB_SAVES: + window_title_editor_scrollpaint_saves(w, dpi); + break; + case WINDOW_TITLE_EDITOR_TAB_SCRIPT: + window_title_editor_scrollpaint_commands(w, dpi); + break; + } } static void window_title_editor_scrollpaint_saves(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 currentSaveIndex = -1; - // ITitleSequencePlayer * player = window_title_editor_get_player(); - // sint32 position = title_sequence_player_get_current_position(player); - // const TitleCommand * command = &_editingTitleSequence->Commands[position]; + sint32 currentSaveIndex = -1; + // ITitleSequencePlayer * player = window_title_editor_get_player(); + // sint32 position = title_sequence_player_get_current_position(player); + // const TitleCommand * command = &_editingTitleSequence->Commands[position]; - sint32 x = 0; - sint32 y = 0; - if (_editingTitleSequence == NULL) { - return; - } - for (sint32 i = 0; i < (sint32)_editingTitleSequence->NumSaves; i++, y += ROW_HEIGHT) { - bool selected = false; - bool hover = false; - if (i == w->selected_list_item) { - selected = true; - gfx_fill_rect(dpi, x, y, x + SCROLL_WIDTH + 100, y + ROW_HEIGHT - 1, ColourMapA[w->colours[1]].dark); - } else if (i == _window_title_editor_highlighted_index || i == currentSaveIndex) { - hover = true; - gfx_fill_rect(dpi, x, y, x + SCROLL_WIDTH + 100, y + ROW_HEIGHT - 1, ColourMapA[w->colours[1]].mid_dark); - } else if (i & 1) { - gfx_fill_rect(dpi, x, y, x + SCROLL_WIDTH + 100, y + ROW_HEIGHT - 1, ColourMapA[w->colours[1]].lighter | 0x1000000); - } + sint32 x = 0; + sint32 y = 0; + if (_editingTitleSequence == NULL) { + return; + } + for (sint32 i = 0; i < (sint32)_editingTitleSequence->NumSaves; i++, y += ROW_HEIGHT) { + bool selected = false; + bool hover = false; + if (i == w->selected_list_item) { + selected = true; + gfx_fill_rect(dpi, x, y, x + SCROLL_WIDTH + 100, y + ROW_HEIGHT - 1, ColourMapA[w->colours[1]].dark); + } else if (i == _window_title_editor_highlighted_index || i == currentSaveIndex) { + hover = true; + gfx_fill_rect(dpi, x, y, x + SCROLL_WIDTH + 100, y + ROW_HEIGHT - 1, ColourMapA[w->colours[1]].mid_dark); + } else if (i & 1) { + gfx_fill_rect(dpi, x, y, x + SCROLL_WIDTH + 100, y + ROW_HEIGHT - 1, ColourMapA[w->colours[1]].lighter | 0x1000000); + } - char buffer[256]; - set_format_arg(0, uintptr_t, _editingTitleSequence->Saves[i]); - if (selected || hover) { - format_string(buffer, 256, STR_STRING, gCommonFormatArgs); - } else { - format_string(buffer + 1, 255, STR_STRING, gCommonFormatArgs); - buffer[0] = (utf8)(uint8)FORMAT_BLACK; - } - set_format_arg(0, uintptr_t, &buffer); - gfx_draw_string_left(dpi, STR_STRING, gCommonFormatArgs, w->colours[1], x + 5, y); - } + char buffer[256]; + set_format_arg(0, uintptr_t, _editingTitleSequence->Saves[i]); + if (selected || hover) { + format_string(buffer, 256, STR_STRING, gCommonFormatArgs); + } else { + format_string(buffer + 1, 255, STR_STRING, gCommonFormatArgs); + buffer[0] = (utf8)(uint8)FORMAT_BLACK; + } + set_format_arg(0, uintptr_t, &buffer); + gfx_draw_string_left(dpi, STR_STRING, gCommonFormatArgs, w->colours[1], x + 5, y); + } } static void window_title_editor_scrollpaint_commands(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 position = -1; - if (_isSequencePlaying) { - ITitleSequencePlayer * player = window_title_editor_get_player(); - position = title_sequence_player_get_current_position(player); - } + sint32 position = -1; + if (_isSequencePlaying) { + ITitleSequencePlayer * player = window_title_editor_get_player(); + position = title_sequence_player_get_current_position(player); + } - sint32 x = 0; - sint32 y = 0; - for (sint32 i = 0; i < (sint32)_editingTitleSequence->NumCommands; i++, y += ROW_HEIGHT) { - TitleCommand * command = &_editingTitleSequence->Commands[i]; - bool selected = false; - bool hover = false; - bool error = false; - if (i == w->selected_list_item) { - selected = true; - gfx_fill_rect(dpi, x, y, x + SCROLL_WIDTH + 100, y + ROW_HEIGHT - 1, ColourMapA[w->colours[1]].dark); - } else if (i == (sint32)_window_title_editor_highlighted_index || i == position) { - hover = true; - gfx_fill_rect(dpi, x, y, x + SCROLL_WIDTH + 100, y + ROW_HEIGHT - 1, ColourMapA[w->colours[1]].mid_dark); - } else if (i & 1) { - gfx_fill_rect(dpi, x, y, x + SCROLL_WIDTH + 100, y + ROW_HEIGHT - 1, ColourMapA[w->colours[1]].lighter | 0x1000000); - } + sint32 x = 0; + sint32 y = 0; + for (sint32 i = 0; i < (sint32)_editingTitleSequence->NumCommands; i++, y += ROW_HEIGHT) { + TitleCommand * command = &_editingTitleSequence->Commands[i]; + bool selected = false; + bool hover = false; + bool error = false; + if (i == w->selected_list_item) { + selected = true; + gfx_fill_rect(dpi, x, y, x + SCROLL_WIDTH + 100, y + ROW_HEIGHT - 1, ColourMapA[w->colours[1]].dark); + } else if (i == (sint32)_window_title_editor_highlighted_index || i == position) { + hover = true; + gfx_fill_rect(dpi, x, y, x + SCROLL_WIDTH + 100, y + ROW_HEIGHT - 1, ColourMapA[w->colours[1]].mid_dark); + } else if (i & 1) { + gfx_fill_rect(dpi, x, y, x + SCROLL_WIDTH + 100, y + ROW_HEIGHT - 1, ColourMapA[w->colours[1]].lighter | 0x1000000); + } - rct_string_id commandName = STR_NONE; - switch (command->Type) { - case TITLE_SCRIPT_LOAD: - commandName = STR_TITLE_EDITOR_COMMAND_LOAD_FILE; - if (command->SaveIndex == SAVE_INDEX_INVALID) { - commandName = STR_TITLE_EDITOR_COMMAND_LOAD_NO_SAVE; - error = true; - } - set_format_arg(0, uintptr_t, _editingTitleSequence->Saves[command->SaveIndex]); - break; - case TITLE_SCRIPT_LOADMM: - commandName = STR_TITLE_EDITOR_COMMAND_LOAD_SFMM; - break; - case TITLE_SCRIPT_LOCATION: - commandName = STR_TITLE_EDITOR_COMMAND_LOCATION; - set_format_arg(0, uint16, command->X); - set_format_arg(2, uint16, command->Y); - break; - case TITLE_SCRIPT_ROTATE: - commandName = STR_TITLE_EDITOR_COMMAND_ROTATE; - set_format_arg(0, uint16, command->Rotations); - break; - case TITLE_SCRIPT_ZOOM: - commandName = STR_TITLE_EDITOR_COMMAND_ZOOM; - set_format_arg(0, uint16, command->Zoom); - break; - case TITLE_SCRIPT_SPEED: - commandName = STR_TITLE_EDITOR_COMMAND_SPEED; - set_format_arg(0, rct_string_id, SpeedNames[command->Speed - 1]); - break; - case TITLE_SCRIPT_WAIT: - commandName = STR_TITLE_EDITOR_COMMAND_WAIT; - set_format_arg(0, uint16, command->Seconds); - break; - case TITLE_SCRIPT_RESTART: - commandName = STR_TITLE_EDITOR_RESTART; - // TODO: Why the format arg? - set_format_arg(0, uint16, command->Zoom); - break; - case TITLE_SCRIPT_END: - commandName = STR_TITLE_EDITOR_END; - break; - case TITLE_SCRIPT_LOADRCT1: - commandName = STR_TITLE_EDITOR_COMMAND_LOAD_FILE; - const char * name = ""; - source_desc desc; - if (scenario_get_source_desc_by_id(command->SaveIndex, &desc)) { - name = desc.title; - } - set_format_arg(0, uintptr_t, name); - break; - default: - log_warning("Unknown command %d", command->Type); - } + rct_string_id commandName = STR_NONE; + switch (command->Type) { + case TITLE_SCRIPT_LOAD: + commandName = STR_TITLE_EDITOR_COMMAND_LOAD_FILE; + if (command->SaveIndex == SAVE_INDEX_INVALID) { + commandName = STR_TITLE_EDITOR_COMMAND_LOAD_NO_SAVE; + error = true; + } + set_format_arg(0, uintptr_t, _editingTitleSequence->Saves[command->SaveIndex]); + break; + case TITLE_SCRIPT_LOADMM: + commandName = STR_TITLE_EDITOR_COMMAND_LOAD_SFMM; + break; + case TITLE_SCRIPT_LOCATION: + commandName = STR_TITLE_EDITOR_COMMAND_LOCATION; + set_format_arg(0, uint16, command->X); + set_format_arg(2, uint16, command->Y); + break; + case TITLE_SCRIPT_ROTATE: + commandName = STR_TITLE_EDITOR_COMMAND_ROTATE; + set_format_arg(0, uint16, command->Rotations); + break; + case TITLE_SCRIPT_ZOOM: + commandName = STR_TITLE_EDITOR_COMMAND_ZOOM; + set_format_arg(0, uint16, command->Zoom); + break; + case TITLE_SCRIPT_SPEED: + commandName = STR_TITLE_EDITOR_COMMAND_SPEED; + set_format_arg(0, rct_string_id, SpeedNames[command->Speed - 1]); + break; + case TITLE_SCRIPT_WAIT: + commandName = STR_TITLE_EDITOR_COMMAND_WAIT; + set_format_arg(0, uint16, command->Seconds); + break; + case TITLE_SCRIPT_RESTART: + commandName = STR_TITLE_EDITOR_RESTART; + // TODO: Why the format arg? + set_format_arg(0, uint16, command->Zoom); + break; + case TITLE_SCRIPT_END: + commandName = STR_TITLE_EDITOR_END; + break; + case TITLE_SCRIPT_LOADRCT1: + commandName = STR_TITLE_EDITOR_COMMAND_LOAD_FILE; + const char * name = ""; + source_desc desc; + if (scenario_get_source_desc_by_id(command->SaveIndex, &desc)) { + name = desc.title; + } + set_format_arg(0, uintptr_t, name); + break; + default: + log_warning("Unknown command %d", command->Type); + } - char buffer[256]; - if ((selected || hover) && !error) { - format_string(buffer, 256, commandName, gCommonFormatArgs); - } else { - format_string(buffer + 1, 255, commandName, gCommonFormatArgs); - buffer[0] = (utf8)(error ? ((selected || hover) ? FORMAT_LIGHTPINK : FORMAT_RED) : FORMAT_BLACK); - } - set_format_arg(0, uintptr_t, &buffer); - gfx_draw_string_left(dpi, STR_STRING, gCommonFormatArgs, w->colours[1], x + 5, y); - } + char buffer[256]; + if ((selected || hover) && !error) { + format_string(buffer, 256, commandName, gCommonFormatArgs); + } else { + format_string(buffer + 1, 255, commandName, gCommonFormatArgs); + buffer[0] = (utf8)(error ? ((selected || hover) ? FORMAT_LIGHTPINK : FORMAT_RED) : FORMAT_BLACK); + } + set_format_arg(0, uintptr_t, &buffer); + gfx_draw_string_left(dpi, STR_STRING, gCommonFormatArgs, w->colours[1], x + 5, y); + } } static void window_title_editor_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w) { - for (sint32 i = 0; i < WINDOW_TITLE_EDITOR_TAB_COUNT; i++) { - sint32 x = 0; - sint32 y = 0; - sint32 spriteId = window_title_editor_tab_sprites[i]; - if (w->selected_tab == i) { - spriteId += w->frame_no / window_title_editor_tab_animation_divisor[w->selected_tab]; - } - if (i == 1) { - x = 4; - y = 1; - } - gfx_draw_sprite(dpi, spriteId, w->x + w->widgets[WIDX_TITLE_EDITOR_PRESETS_TAB + i].left + x, w->y + w->widgets[WIDX_TITLE_EDITOR_PRESETS_TAB + i].top + y, 0); - } + for (sint32 i = 0; i < WINDOW_TITLE_EDITOR_TAB_COUNT; i++) { + sint32 x = 0; + sint32 y = 0; + sint32 spriteId = window_title_editor_tab_sprites[i]; + if (w->selected_tab == i) { + spriteId += w->frame_no / window_title_editor_tab_animation_divisor[w->selected_tab]; + } + if (i == 1) { + x = 4; + y = 1; + } + gfx_draw_sprite(dpi, spriteId, w->x + w->widgets[WIDX_TITLE_EDITOR_PRESETS_TAB + i].left + x, w->y + w->widgets[WIDX_TITLE_EDITOR_PRESETS_TAB + i].top + y, 0); + } } static void window_title_editor_load_sequence(size_t index) { - if (index >= title_sequence_manager_get_count()) { - return; - } + if (index >= title_sequence_manager_get_count()) { + return; + } - const char * path = title_sequence_manager_get_path(index); - TitleSequence * titleSequence = LoadTitleSequence(path); - if (titleSequence == NULL) { - window_error_open(STR_FAILED_TO_LOAD_FILE_CONTAINS_INVALID_DATA, STR_NONE); - return; - } + const char * path = title_sequence_manager_get_path(index); + TitleSequence * titleSequence = LoadTitleSequence(path); + if (titleSequence == NULL) { + window_error_open(STR_FAILED_TO_LOAD_FILE_CONTAINS_INVALID_DATA, STR_NONE); + return; + } - _selectedTitleSequence = index; - uint16 predefinedIndex = title_sequence_manager_get_predefined_index(index); - _isSequenceReadOnly = (predefinedIndex != UINT16_MAX); - _sequenceName = title_sequence_manager_get_name(index); - FreeTitleSequence(_editingTitleSequence); - _editingTitleSequence = titleSequence; + _selectedTitleSequence = index; + uint16 predefinedIndex = title_sequence_manager_get_predefined_index(index); + _isSequenceReadOnly = (predefinedIndex != UINT16_MAX); + _sequenceName = title_sequence_manager_get_name(index); + FreeTitleSequence(_editingTitleSequence); + _editingTitleSequence = titleSequence; - window_close_by_class(WC_TITLE_COMMAND_EDITOR); + window_close_by_class(WC_TITLE_COMMAND_EDITOR); } static ITitleSequencePlayer * window_title_editor_get_player() { - return (ITitleSequencePlayer *)title_get_sequence_player(); + return (ITitleSequencePlayer *)title_get_sequence_player(); } static bool window_title_editor_check_can_edit() { - bool commandEditorOpen = (window_find_by_class(WC_TITLE_COMMAND_EDITOR) != NULL); - if (_isSequenceReadOnly) { - window_error_open(STR_ERROR_CANT_CHANGE_TITLE_SEQUENCE, STR_NONE); - } else if (_isSequencePlaying) { - window_error_open(STR_TITLE_EDITOR_ERR_CANT_EDIT_WHILE_PLAYING, STR_TITLE_EDITOR_PRESS_STOP_TO_CONTINUE_EDITING); - } else if (commandEditorOpen) { - window_error_open(STR_TITLE_EDITOR_ERR_CANT_CHANGE_WHILE_EDITOR_IS_OPEN, STR_NONE); - } else { - return true; - } - return false; + bool commandEditorOpen = (window_find_by_class(WC_TITLE_COMMAND_EDITOR) != NULL); + if (_isSequenceReadOnly) { + window_error_open(STR_ERROR_CANT_CHANGE_TITLE_SEQUENCE, STR_NONE); + } else if (_isSequencePlaying) { + window_error_open(STR_TITLE_EDITOR_ERR_CANT_EDIT_WHILE_PLAYING, STR_TITLE_EDITOR_PRESS_STOP_TO_CONTINUE_EDITING); + } else if (commandEditorOpen) { + window_error_open(STR_TITLE_EDITOR_ERR_CANT_CHANGE_WHILE_EDITOR_IS_OPEN, STR_NONE); + } else { + return true; + } + return false; } static bool save_filename_exists(const utf8 * filename) { - TitleSequence * seq = _editingTitleSequence; - for (size_t i = 0; i < seq->NumSaves; i++) { - const utf8 * savePath = seq->Saves[i]; - if (_stricmp(savePath, filename) == 0) { - return true; - } - } - return false; + TitleSequence * seq = _editingTitleSequence; + for (size_t i = 0; i < seq->NumSaves; i++) { + const utf8 * savePath = seq->Saves[i]; + if (_stricmp(savePath, filename) == 0) { + return true; + } + } + return false; } static void window_title_editor_add_park_callback(sint32 result, const utf8 * path) { - uint32 extension = get_file_extension_type(path); - if (extension != FILE_EXTENSION_SV4 && extension != FILE_EXTENSION_SV6) { - return; - } + uint32 extension = get_file_extension_type(path); + if (extension != FILE_EXTENSION_SV4 && extension != FILE_EXTENSION_SV6) { + return; + } - const utf8 * filename = path_get_filename(path); - if (save_filename_exists(filename)) { - free(_renameSavePath); - _renameSavePath = _strdup(filename); - // set_format_arg(0, intptr_t, (intptr_t)&_renameSavePath); - rct_window * w = window_find_by_class(WC_TITLE_EDITOR); - window_text_input_open(w, WIDX_TITLE_EDITOR_RENAME_SAVE, STR_FILEBROWSER_RENAME_SAVE_TITLE, STR_ERROR_EXISTING_NAME, STR_STRING, (uintptr_t)_renameSavePath, 52 - 1); - return; - } + const utf8 * filename = path_get_filename(path); + if (save_filename_exists(filename)) { + free(_renameSavePath); + _renameSavePath = _strdup(filename); + // set_format_arg(0, intptr_t, (intptr_t)&_renameSavePath); + rct_window * w = window_find_by_class(WC_TITLE_EDITOR); + window_text_input_open(w, WIDX_TITLE_EDITOR_RENAME_SAVE, STR_FILEBROWSER_RENAME_SAVE_TITLE, STR_ERROR_EXISTING_NAME, STR_STRING, (uintptr_t)_renameSavePath, 52 - 1); + return; + } - TileSequenceAddPark(_editingTitleSequence, path, filename); + TileSequenceAddPark(_editingTitleSequence, path, filename); } static void window_title_editor_rename_park(size_t index, const utf8 * name) { - if (!filename_valid_characters(name)) { - window_error_open(STR_ERROR_INVALID_CHARACTERS, STR_NONE); - return; - } + if (!filename_valid_characters(name)) { + window_error_open(STR_ERROR_INVALID_CHARACTERS, STR_NONE); + return; + } - for (size_t i = 0; i < _editingTitleSequence->NumSaves; i++) { - if (i != index) { - const utf8 * savePath = _editingTitleSequence->Saves[i]; - if (_strcmpi(savePath, name) == 0) { - window_error_open(STR_ERROR_EXISTING_NAME, STR_NONE); - return; - } - } - } + for (size_t i = 0; i < _editingTitleSequence->NumSaves; i++) { + if (i != index) { + const utf8 * savePath = _editingTitleSequence->Saves[i]; + if (_strcmpi(savePath, name) == 0) { + window_error_open(STR_ERROR_EXISTING_NAME, STR_NONE); + return; + } + } + } - if (TileSequenceRenamePark(_editingTitleSequence, index, name)) { - TileSequenceSave(_editingTitleSequence); - } + if (TileSequenceRenamePark(_editingTitleSequence, index, name)) { + TileSequenceSave(_editingTitleSequence); + } } diff --git a/src/openrct2/windows/title_exit.c b/src/openrct2/windows/title_exit.c index 0e69e95fe9..db931eee0c 100644 --- a/src/openrct2/windows/title_exit.c +++ b/src/openrct2/windows/title_exit.c @@ -25,46 +25,46 @@ #include "../rct2.h" enum WINDOW_TITLE_EXIT_WIDGET_IDX { - WIDX_EXIT, + WIDX_EXIT, }; static rct_widget window_title_exit_widgets[] = { - { WWT_IMGBTN, 2, 0, 39, 0, 63, SPR_MENU_EXIT, STR_EXIT }, - { WIDGETS_END }, + { WWT_IMGBTN, 2, 0, 39, 0, 63, SPR_MENU_EXIT, STR_EXIT }, + { WIDGETS_END }, }; static void window_title_exit_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_title_exit_mouseup(rct_window *w, rct_widgetindex widgetIndex); static rct_window_event_list window_title_exit_events = { - NULL, - window_title_exit_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_title_exit_paint, - NULL + NULL, + window_title_exit_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_title_exit_paint, + NULL }; /** @@ -73,18 +73,18 @@ static rct_window_event_list window_title_exit_events = { */ void window_title_exit_open() { - rct_window* window; + rct_window* window; - window = window_create( - context_get_width() - 40, context_get_height() - 64, - 40, 64, - &window_title_exit_events, - WC_TITLE_EXIT, - WF_STICK_TO_BACK | WF_TRANSPARENT - ); - window->widgets = window_title_exit_widgets; - window->enabled_widgets |= (1ULL << WIDX_EXIT); - window_init_scroll_widgets(window); + window = window_create( + context_get_width() - 40, context_get_height() - 64, + 40, 64, + &window_title_exit_events, + WC_TITLE_EXIT, + WF_STICK_TO_BACK | WF_TRANSPARENT + ); + window->widgets = window_title_exit_widgets; + window->enabled_widgets |= (1ULL << WIDX_EXIT); + window_init_scroll_widgets(window); } /** @@ -93,15 +93,15 @@ void window_title_exit_open() */ static void window_title_exit_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (gIntroState != INTRO_STATE_NONE) - return; + if (gIntroState != INTRO_STATE_NONE) + return; - switch (widgetIndex) { - case WIDX_EXIT: - rct2_quit(); - //game_do_command(0, 1, 0, 0, 5, 3, 0); - break; - }; + switch (widgetIndex) { + case WIDX_EXIT: + rct2_quit(); + //game_do_command(0, 1, 0, 0, 5, 3, 0); + break; + }; } /** @@ -110,5 +110,5 @@ static void window_title_exit_mouseup(rct_window *w, rct_widgetindex widgetIndex */ static void window_title_exit_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); } diff --git a/src/openrct2/windows/title_logo.c b/src/openrct2/windows/title_logo.c index f6b10247c6..a48a6e1e4b 100644 --- a/src/openrct2/windows/title_logo.c +++ b/src/openrct2/windows/title_logo.c @@ -20,40 +20,40 @@ #include "../interface/window.h" static rct_widget window_title_logo_widgets[] = { - { WIDGETS_END }, + { WIDGETS_END }, }; static void window_title_logo_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_title_logo_events = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_title_logo_paint, - NULL + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_title_logo_paint, + NULL }; /** @@ -62,12 +62,12 @@ static rct_window_event_list window_title_logo_events = { */ void window_title_logo_open() { - rct_window *window = window_create(0, 0, 200, 106, &window_title_logo_events, WC_TITLE_LOGO, WF_STICK_TO_BACK | WF_TRANSPARENT); - window->widgets = window_title_logo_widgets; - window_init_scroll_widgets(window); - window->colours[0] = TRANSLUCENT(COLOUR_GREY); - window->colours[1] = TRANSLUCENT(COLOUR_GREY); - window->colours[2] = TRANSLUCENT(COLOUR_GREY); + rct_window *window = window_create(0, 0, 200, 106, &window_title_logo_events, WC_TITLE_LOGO, WF_STICK_TO_BACK | WF_TRANSPARENT); + window->widgets = window_title_logo_widgets; + window_init_scroll_widgets(window); + window->colours[0] = TRANSLUCENT(COLOUR_GREY); + window->colours[1] = TRANSLUCENT(COLOUR_GREY); + window->colours[2] = TRANSLUCENT(COLOUR_GREY); } /** @@ -76,8 +76,8 @@ void window_title_logo_open() */ static void window_title_logo_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x = 2; - sint32 y = 2; - gfx_draw_sprite(dpi, SPR_G2_LOGO, w->x + x, w->y + y, 0); - gfx_draw_sprite(dpi, SPR_G2_TITLE, w->x + x + 104, w->y + y + 18, 0); + sint32 x = 2; + sint32 y = 2; + gfx_draw_sprite(dpi, SPR_G2_LOGO, w->x + x, w->y + y, 0); + gfx_draw_sprite(dpi, SPR_G2_TITLE, w->x + x + 104, w->y + y + 18, 0); } diff --git a/src/openrct2/windows/title_menu.c b/src/openrct2/windows/title_menu.c index bf7f716c63..2b74ec9dac 100644 --- a/src/openrct2/windows/title_menu.c +++ b/src/openrct2/windows/title_menu.c @@ -27,20 +27,20 @@ #include "dropdown.h" enum { - WIDX_START_NEW_GAME, - WIDX_CONTINUE_SAVED_GAME, - WIDX_MULTIPLAYER, - WIDX_SHOW_TUTORIAL, - WIDX_GAME_TOOLS + WIDX_START_NEW_GAME, + WIDX_CONTINUE_SAVED_GAME, + WIDX_MULTIPLAYER, + WIDX_SHOW_TUTORIAL, + WIDX_GAME_TOOLS }; static rct_widget window_title_menu_widgets[] = { - { WWT_IMGBTN, 2, 0, 0, 0, 81, SPR_MENU_NEW_GAME, STR_START_NEW_GAME_TIP }, - { WWT_IMGBTN, 2, 0, 0, 0, 81, SPR_MENU_LOAD_GAME, STR_CONTINUE_SAVED_GAME_TIP }, - { WWT_IMGBTN, 2, 0, 0, 0, 81, SPR_G2_MENU_MULTIPLAYER, STR_SHOW_MULTIPLAYER_TIP }, - { WWT_IMGBTN, 2, 0, 0, 0, 81, SPR_MENU_TUTORIAL, STR_SHOW_TUTORIAL_TIP }, - { WWT_IMGBTN, 2, 0, 0, 0, 81, SPR_MENU_TOOLBOX, STR_GAME_TOOLS_TIP }, - { WIDGETS_END }, + { WWT_IMGBTN, 2, 0, 0, 0, 81, SPR_MENU_NEW_GAME, STR_START_NEW_GAME_TIP }, + { WWT_IMGBTN, 2, 0, 0, 0, 81, SPR_MENU_LOAD_GAME, STR_CONTINUE_SAVED_GAME_TIP }, + { WWT_IMGBTN, 2, 0, 0, 0, 81, SPR_G2_MENU_MULTIPLAYER, STR_SHOW_MULTIPLAYER_TIP }, + { WWT_IMGBTN, 2, 0, 0, 0, 81, SPR_MENU_TUTORIAL, STR_SHOW_TUTORIAL_TIP }, + { WWT_IMGBTN, 2, 0, 0, 0, 81, SPR_MENU_TOOLBOX, STR_GAME_TOOLS_TIP }, + { WIDGETS_END }, }; static void window_title_menu_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -50,34 +50,34 @@ static void window_title_menu_cursor(rct_window *w, rct_widgetindex widgetIndex, static void window_title_menu_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_title_menu_events = { - NULL, - window_title_menu_mouseup, - NULL, - window_title_menu_mousedown, - window_title_menu_dropdown, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_title_menu_cursor, - NULL, - NULL, - window_title_menu_paint, - NULL + NULL, + window_title_menu_mouseup, + NULL, + window_title_menu_mousedown, + window_title_menu_dropdown, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_title_menu_cursor, + NULL, + NULL, + window_title_menu_paint, + NULL }; /** @@ -86,139 +86,139 @@ static rct_window_event_list window_title_menu_events = { */ void window_title_menu_open() { - rct_window* window; + rct_window* window; - window = window_create( - 0, context_get_height() - 142, - 0, 100, - &window_title_menu_events, - WC_TITLE_MENU, - WF_STICK_TO_BACK | WF_TRANSPARENT | WF_NO_BACKGROUND - ); - window->widgets = window_title_menu_widgets; - window->enabled_widgets = ( - (1 << WIDX_START_NEW_GAME) | - (1 << WIDX_CONTINUE_SAVED_GAME) | + window = window_create( + 0, context_get_height() - 142, + 0, 100, + &window_title_menu_events, + WC_TITLE_MENU, + WF_STICK_TO_BACK | WF_TRANSPARENT | WF_NO_BACKGROUND + ); + window->widgets = window_title_menu_widgets; + window->enabled_widgets = ( + (1 << WIDX_START_NEW_GAME) | + (1 << WIDX_CONTINUE_SAVED_GAME) | #ifndef DISABLE_NETWORK - (1 << WIDX_MULTIPLAYER) | + (1 << WIDX_MULTIPLAYER) | #endif - // Disable tutorial - // (1 << WIDX_SHOW_TUTORIAL) | - (1 << WIDX_GAME_TOOLS) - ); + // Disable tutorial + // (1 << WIDX_SHOW_TUTORIAL) | + (1 << WIDX_GAME_TOOLS) + ); - rct_widgetindex i = 0; - sint32 x = 0; - for (rct_widget *widget = window->widgets; widget->type != WWT_LAST; widget++) { - if (widget_is_enabled(window, i)) { - widget->left = x; - widget->right = x + 81; + rct_widgetindex i = 0; + sint32 x = 0; + for (rct_widget *widget = window->widgets; widget->type != WWT_LAST; widget++) { + if (widget_is_enabled(window, i)) { + widget->left = x; + widget->right = x + 81; - x += 82; - } else { - widget->type = WWT_EMPTY; - } - i++; - } - window->width = x; - window->x = (context_get_width() - window->width) / 2; + x += 82; + } else { + widget->type = WWT_EMPTY; + } + i++; + } + window->width = x; + window->x = (context_get_width() - window->width) / 2; - window_init_scroll_widgets(window); + window_init_scroll_widgets(window); } static void window_title_menu_scenarioselect_callback(const utf8 *path) { - if (!scenario_load_and_play_from_path(path)) { - title_load(); - } + if (!scenario_load_and_play_from_path(path)) { + title_load(); + } } static void window_title_menu_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - rct_window *windowToOpen = NULL; + rct_window *windowToOpen = NULL; - switch (widgetIndex) { - case WIDX_START_NEW_GAME: - windowToOpen = window_find_by_class(WC_SCENARIO_SELECT); - if (windowToOpen != NULL) { - window_bring_to_front(windowToOpen); - } - else { - window_close_by_class(WC_LOADSAVE); - window_close_by_class(WC_SERVER_LIST); - window_scenarioselect_open(window_title_menu_scenarioselect_callback); - } - break; - case WIDX_CONTINUE_SAVED_GAME: - windowToOpen = window_find_by_class(WC_LOADSAVE); - if (windowToOpen != NULL) { - window_bring_to_front(windowToOpen); - } - else { - window_close_by_class(WC_SCENARIO_SELECT); - window_close_by_class(WC_SERVER_LIST); - game_do_command(0, 1, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 0, 0); - } - break; - case WIDX_MULTIPLAYER: - windowToOpen = window_find_by_class(WC_SERVER_LIST); - if (windowToOpen != NULL) { - window_bring_to_front(windowToOpen); - } - else { - window_close_by_class(WC_SCENARIO_SELECT); - window_close_by_class(WC_LOADSAVE); - window_server_list_open(); - } - break; - } + switch (widgetIndex) { + case WIDX_START_NEW_GAME: + windowToOpen = window_find_by_class(WC_SCENARIO_SELECT); + if (windowToOpen != NULL) { + window_bring_to_front(windowToOpen); + } + else { + window_close_by_class(WC_LOADSAVE); + window_close_by_class(WC_SERVER_LIST); + window_scenarioselect_open(window_title_menu_scenarioselect_callback); + } + break; + case WIDX_CONTINUE_SAVED_GAME: + windowToOpen = window_find_by_class(WC_LOADSAVE); + if (windowToOpen != NULL) { + window_bring_to_front(windowToOpen); + } + else { + window_close_by_class(WC_SCENARIO_SELECT); + window_close_by_class(WC_SERVER_LIST); + game_do_command(0, 1, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 0, 0); + } + break; + case WIDX_MULTIPLAYER: + windowToOpen = window_find_by_class(WC_SERVER_LIST); + if (windowToOpen != NULL) { + window_bring_to_front(windowToOpen); + } + else { + window_close_by_class(WC_SCENARIO_SELECT); + window_close_by_class(WC_LOADSAVE); + window_server_list_open(); + } + break; + } } static void window_title_menu_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - if (widgetIndex == WIDX_GAME_TOOLS) { - gDropdownItemsFormat[0] = STR_SCENARIO_EDITOR; - gDropdownItemsFormat[1] = STR_CONVERT_SAVED_GAME_TO_SCENARIO; - gDropdownItemsFormat[2] = STR_ROLLER_COASTER_DESIGNER; - gDropdownItemsFormat[3] = STR_TRACK_DESIGNS_MANAGER; - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - TRANSLUCENT(w->colours[0]), - DROPDOWN_FLAG_STAY_OPEN, - 4 - ); - } + if (widgetIndex == WIDX_GAME_TOOLS) { + gDropdownItemsFormat[0] = STR_SCENARIO_EDITOR; + gDropdownItemsFormat[1] = STR_CONVERT_SAVED_GAME_TO_SCENARIO; + gDropdownItemsFormat[2] = STR_ROLLER_COASTER_DESIGNER; + gDropdownItemsFormat[3] = STR_TRACK_DESIGNS_MANAGER; + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + TRANSLUCENT(w->colours[0]), + DROPDOWN_FLAG_STAY_OPEN, + 4 + ); + } } static void window_title_menu_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - if (widgetIndex == WIDX_GAME_TOOLS) { - switch (dropdownIndex) { - case 0: - editor_load(); - break; - case 1: - editor_convert_save_to_scenario(); - break; - case 2: - trackdesigner_load(); - break; - case 3: - trackmanager_load(); - break; - } - } + if (widgetIndex == WIDX_GAME_TOOLS) { + switch (dropdownIndex) { + case 0: + editor_load(); + break; + case 1: + editor_convert_save_to_scenario(); + break; + case 2: + trackdesigner_load(); + break; + case 3: + trackmanager_load(); + break; + } + } } static void window_title_menu_cursor(rct_window *w, rct_widgetindex widgetIndex, sint32 x, sint32 y, sint32 *cursorId) { - gTooltipTimeout = 2000; + gTooltipTimeout = 2000; } static void window_title_menu_paint(rct_window *w, rct_drawpixelinfo *dpi) { - gfx_filter_rect(dpi, w->x, w->y, w->x + w->width - 1, w->y + 82 - 1, PALETTE_51); - window_draw_widgets(w, dpi); + gfx_filter_rect(dpi, w->x, w->y, w->x + w->width - 1, w->y + 82 - 1, PALETTE_51); + window_draw_widgets(w, dpi); } diff --git a/src/openrct2/windows/title_options.c b/src/openrct2/windows/title_options.c index 740280563f..eb896bd25c 100644 --- a/src/openrct2/windows/title_options.c +++ b/src/openrct2/windows/title_options.c @@ -24,46 +24,46 @@ #include "../rct2.h" enum WINDOW_TITLE_OPTIONS_WIDGET_IDX { - WIDX_OPTIONS, + WIDX_OPTIONS, }; static rct_widget window_title_options_widgets[] = { - { WWT_DROPDOWN_BUTTON, 2, 0, 79, 0, 11, STR_OPTIONS, STR_OPTIONS_TIP }, - { WIDGETS_END }, + { WWT_DROPDOWN_BUTTON, 2, 0, 79, 0, 11, STR_OPTIONS, STR_OPTIONS_TIP }, + { WIDGETS_END }, }; static void window_title_options_mouseup(rct_window *w, rct_widgetindex widgetIndex); static void window_title_options_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_title_options_events = { - NULL, - window_title_options_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_title_options_paint, - NULL + NULL, + window_title_options_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_title_options_paint, + NULL }; /** @@ -71,31 +71,31 @@ static rct_window_event_list window_title_options_events = { */ void window_title_options_open() { - rct_window * window = window_create( - context_get_width() - 80, 0, - 80, 12, - &window_title_options_events, - WC_TITLE_OPTIONS, - WF_STICK_TO_BACK | WF_TRANSPARENT - ); - window->widgets = window_title_options_widgets; - window->enabled_widgets |= (1ULL << WIDX_OPTIONS); - window_init_scroll_widgets(window); + rct_window * window = window_create( + context_get_width() - 80, 0, + 80, 12, + &window_title_options_events, + WC_TITLE_OPTIONS, + WF_STICK_TO_BACK | WF_TRANSPARENT + ); + window->widgets = window_title_options_widgets; + window->enabled_widgets |= (1ULL << WIDX_OPTIONS); + window_init_scroll_widgets(window); } static void window_title_options_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (gIntroState != INTRO_STATE_NONE) - return; + if (gIntroState != INTRO_STATE_NONE) + return; - switch (widgetIndex) { - case WIDX_OPTIONS: - window_options_open(); - break; - } + switch (widgetIndex) { + case WIDX_OPTIONS: + window_options_open(); + break; + } } static void window_title_options_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); } diff --git a/src/openrct2/windows/title_scenarioselect.c b/src/openrct2/windows/title_scenarioselect.c index a4905ccfd1..5e2bba84c8 100644 --- a/src/openrct2/windows/title_scenarioselect.c +++ b/src/openrct2/windows/title_scenarioselect.c @@ -29,68 +29,68 @@ #define INITIAL_NUM_UNLOCKED_SCENARIOS 5 enum { - LIST_ITEM_TYPE_HEADING, - LIST_ITEM_TYPE_SCENARIO, - LIST_ITEM_TYPE_END, + LIST_ITEM_TYPE_HEADING, + LIST_ITEM_TYPE_SCENARIO, + LIST_ITEM_TYPE_END, }; typedef struct sc_list_item { - uint8 type; - union { - struct { - rct_string_id string_id; - } heading; - struct { - const scenario_index_entry *scenario; - bool is_locked; - } scenario; - }; + uint8 type; + union { + struct { + rct_string_id string_id; + } heading; + struct { + const scenario_index_entry *scenario; + bool is_locked; + } scenario; + }; } sc_list_item; static sc_list_item *_listItems = NULL; enum { - WIDX_BACKGROUND, - WIDX_TITLEBAR, - WIDX_CLOSE, - WIDX_TABCONTENT, - WIDX_TAB1, - WIDX_TAB2, - WIDX_TAB3, - WIDX_TAB4, - WIDX_TAB5, - WIDX_TAB6, - WIDX_TAB7, - WIDX_TAB8, - WIDX_SCENARIOLIST + WIDX_BACKGROUND, + WIDX_TITLEBAR, + WIDX_CLOSE, + WIDX_TABCONTENT, + WIDX_TAB1, + WIDX_TAB2, + WIDX_TAB3, + WIDX_TAB4, + WIDX_TAB5, + WIDX_TAB6, + WIDX_TAB7, + WIDX_TAB8, + WIDX_SCENARIOLIST }; static rct_widget window_scenarioselect_widgets[] = { - { WWT_FRAME, 0, 0, 733, 0, 333, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 732, 1, 14, STR_SELECT_SCENARIO, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 721, 731, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_IMGBTN, 1, 0, 733, 50, 333, 0xFFFFFFFF, STR_NONE }, // tab content panel - { WWT_TAB, 1, 3, 93, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 1 - { WWT_TAB, 1, 94, 184, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 2 - { WWT_TAB, 1, 185, 275, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 3 - { WWT_TAB, 1, 276, 366, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 4 - { WWT_TAB, 1, 367, 457, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 5 - { WWT_TAB, 1, 458, 593, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 6 - { WWT_TAB, 1, 594, 684, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 7 - { WWT_TAB, 1, 685, 775, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 8 - { WWT_SCROLL, 1, 3, 555, 54, 329, SCROLL_VERTICAL, STR_NONE }, // level list - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 733, 0, 333, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 732, 1, 14, STR_SELECT_SCENARIO, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 721, 731, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_IMGBTN, 1, 0, 733, 50, 333, 0xFFFFFFFF, STR_NONE }, // tab content panel + { WWT_TAB, 1, 3, 93, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 1 + { WWT_TAB, 1, 94, 184, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 2 + { WWT_TAB, 1, 185, 275, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 3 + { WWT_TAB, 1, 276, 366, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 4 + { WWT_TAB, 1, 367, 457, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 5 + { WWT_TAB, 1, 458, 593, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 6 + { WWT_TAB, 1, 594, 684, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 7 + { WWT_TAB, 1, 685, 775, 17, 50, 0x20000000 | SPR_TAB_LARGE, STR_NONE }, // tab 8 + { WWT_SCROLL, 1, 3, 555, 54, 329, SCROLL_VERTICAL, STR_NONE }, // level list + { WIDGETS_END }, }; static const rct_string_id ScenarioOriginStringIds[] = { - STR_SCENARIO_CATEGORY_RCT1, - STR_SCENARIO_CATEGORY_RCT1_AA, - STR_SCENARIO_CATEGORY_RCT1_LL, - STR_SCENARIO_CATEGORY_RCT2, - STR_SCENARIO_CATEGORY_RCT2_WW, - STR_SCENARIO_CATEGORY_RCT2_TT, - STR_SCENARIO_CATEGORY_REAL_PARKS, - STR_SCENARIO_CATEGORY_OTHER_PARKS, + STR_SCENARIO_CATEGORY_RCT1, + STR_SCENARIO_CATEGORY_RCT1_AA, + STR_SCENARIO_CATEGORY_RCT1_LL, + STR_SCENARIO_CATEGORY_RCT2, + STR_SCENARIO_CATEGORY_RCT2_WW, + STR_SCENARIO_CATEGORY_RCT2_TT, + STR_SCENARIO_CATEGORY_REAL_PARKS, + STR_SCENARIO_CATEGORY_OTHER_PARKS, }; static void window_scenarioselect_init_tabs(rct_window *w); @@ -106,34 +106,34 @@ static void window_scenarioselect_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_scenarioselect_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_scenarioselect_events = { - window_scenarioselect_close, - window_scenarioselect_mouseup, - NULL, - window_scenarioselect_mousedown, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_scenarioselect_scrollgetsize, - window_scenarioselect_scrollmousedown, - NULL, - window_scenarioselect_scrollmouseover, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_scenarioselect_invalidate, - window_scenarioselect_paint, - window_scenarioselect_scrollpaint + window_scenarioselect_close, + window_scenarioselect_mouseup, + NULL, + window_scenarioselect_mousedown, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_scenarioselect_scrollgetsize, + window_scenarioselect_scrollmousedown, + NULL, + window_scenarioselect_scrollmouseover, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_scenarioselect_invalidate, + window_scenarioselect_paint, + window_scenarioselect_scrollpaint }; static void draw_category_heading(rct_window *w, rct_drawpixelinfo *dpi, sint32 left, sint32 right, sint32 y, rct_string_id stringId); @@ -150,43 +150,43 @@ static bool _showLockedInformation = false; */ void window_scenarioselect_open(scenarioselect_callback callback) { - rct_window* window; - sint32 windowWidth; - sint32 windowHeight = 334; + rct_window* window; + sint32 windowWidth; + sint32 windowHeight = 334; - _callback = callback; + _callback = callback; - if (window_bring_to_front_by_class(WC_SCENARIO_SELECT) != NULL) - return; + if (window_bring_to_front_by_class(WC_SCENARIO_SELECT) != NULL) + return; - // Load scenario list - scenario_repository_scan(); + // Load scenario list + scenario_repository_scan(); - // Shrink the window if we're showing scenarios by difficulty level. - if (gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_DIFFICULTY) { - windowWidth = 610; - } else { - windowWidth = 733; - } + // Shrink the window if we're showing scenarios by difficulty level. + if (gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_DIFFICULTY) { + windowWidth = 610; + } else { + windowWidth = 733; + } - window = window_create_centred( - windowWidth, - windowHeight, - &window_scenarioselect_events, - WC_SCENARIO_SELECT, - WF_10 - ); - window->widgets = window_scenarioselect_widgets; - window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) - | (1 << WIDX_TAB3) | (1 << WIDX_TAB4) | (1 << WIDX_TAB5) - | (1 << WIDX_TAB6) | (1 << WIDX_TAB7) | (1 << WIDX_TAB8); + window = window_create_centred( + windowWidth, + windowHeight, + &window_scenarioselect_events, + WC_SCENARIO_SELECT, + WF_10 + ); + window->widgets = window_scenarioselect_widgets; + window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) + | (1 << WIDX_TAB3) | (1 << WIDX_TAB4) | (1 << WIDX_TAB5) + | (1 << WIDX_TAB6) | (1 << WIDX_TAB7) | (1 << WIDX_TAB8); - window_scenarioselect_init_tabs(window); - initialise_list_items(window); + window_scenarioselect_init_tabs(window); + initialise_list_items(window); - window_init_scroll_widgets(window); - window->viewport_focus_coordinates.var_480 = -1; - window->highlighted_scenario = NULL; + window_init_scroll_widgets(window); + window->viewport_focus_coordinates.var_480 = -1; + window->highlighted_scenario = NULL; } /** @@ -195,81 +195,81 @@ void window_scenarioselect_open(scenarioselect_callback callback) */ static void window_scenarioselect_init_tabs(rct_window *w) { - sint32 showPages = 0; - size_t numScenarios = scenario_repository_get_count(); - for (size_t i = 0; i < numScenarios; i++) { - const scenario_index_entry *scenario = scenario_repository_get_by_index(i); - if (gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_ORIGIN) { - showPages |= 1 << scenario->source_game; - } else { - sint32 category = scenario->category; - if (category > SCENARIO_CATEGORY_OTHER) { - category = SCENARIO_CATEGORY_OTHER; - } - showPages |= 1 << category; - } - } + sint32 showPages = 0; + size_t numScenarios = scenario_repository_get_count(); + for (size_t i = 0; i < numScenarios; i++) { + const scenario_index_entry *scenario = scenario_repository_get_by_index(i); + if (gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_ORIGIN) { + showPages |= 1 << scenario->source_game; + } else { + sint32 category = scenario->category; + if (category > SCENARIO_CATEGORY_OTHER) { + category = SCENARIO_CATEGORY_OTHER; + } + showPages |= 1 << category; + } + } - sint32 firstPage = bitscanforward(showPages); - if (firstPage != -1) { - w->selected_tab = firstPage; - } + sint32 firstPage = bitscanforward(showPages); + if (firstPage != -1) { + w->selected_tab = firstPage; + } - sint32 x = 3; - for (sint32 i = 0; i < 8; i++) { - rct_widget* widget = &w->widgets[i + WIDX_TAB1]; - if (!(showPages & (1 << i))) { - widget->type = WWT_EMPTY; - continue; - } + sint32 x = 3; + for (sint32 i = 0; i < 8; i++) { + rct_widget* widget = &w->widgets[i + WIDX_TAB1]; + if (!(showPages & (1 << i))) { + widget->type = WWT_EMPTY; + continue; + } - widget->type = WWT_TAB; - widget->left = x; - widget->right = x + 90; - x += 91; - } + widget->type = WWT_TAB; + widget->left = x; + widget->right = x + 90; + x += 91; + } } static void window_scenarioselect_close(rct_window *w) { - SafeFree(_listItems); + SafeFree(_listItems); } static void window_scenarioselect_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - if (widgetIndex == WIDX_CLOSE) { - window_close(w); - } + if (widgetIndex == WIDX_CLOSE) { + window_close(w); + } } static void window_scenarioselect_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - if (widgetIndex >= WIDX_TAB1 && widgetIndex <= WIDX_TAB8) { - w->selected_tab = widgetIndex - 4; - w->highlighted_scenario = NULL; - initialise_list_items(w); - window_invalidate(w); - window_event_resize_call(w); - window_event_invalidate_call(w); - window_init_scroll_widgets(w); - window_invalidate(w); - } + if (widgetIndex >= WIDX_TAB1 && widgetIndex <= WIDX_TAB8) { + w->selected_tab = widgetIndex - 4; + w->highlighted_scenario = NULL; + initialise_list_items(w); + window_invalidate(w); + window_event_resize_call(w); + window_event_invalidate_call(w); + window_init_scroll_widgets(w); + window_invalidate(w); + } } static void window_scenarioselect_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - sint32 y = 0; - for (sc_list_item *listItem = _listItems; listItem->type != LIST_ITEM_TYPE_END; listItem++) { - switch (listItem->type) { - case LIST_ITEM_TYPE_HEADING: - y += 18; - break; - case LIST_ITEM_TYPE_SCENARIO: - y += 24; - break; - } - } - *height = y; + sint32 y = 0; + for (sc_list_item *listItem = _listItems; listItem->type != LIST_ITEM_TYPE_END; listItem++) { + switch (listItem->type) { + case LIST_ITEM_TYPE_HEADING: + y += 18; + break; + case LIST_ITEM_TYPE_SCENARIO: + y += 24; + break; + } + } + *height = y; } /** @@ -278,23 +278,23 @@ static void window_scenarioselect_scrollgetsize(rct_window *w, sint32 scrollInde */ static void window_scenarioselect_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - for (sc_list_item *listItem = _listItems; listItem->type != LIST_ITEM_TYPE_END; listItem++) { - switch (listItem->type) { - case LIST_ITEM_TYPE_HEADING: - y -= 18; - break; - case LIST_ITEM_TYPE_SCENARIO: - y -= 24; - if (y < 0 && !listItem->scenario.is_locked) { - audio_play_sound(SOUND_CLICK_1, 0, w->x + (w->width / 2)); - _callback(listItem->scenario.scenario->path); - } - break; - } - if (y < 0) { - break; - } - } + for (sc_list_item *listItem = _listItems; listItem->type != LIST_ITEM_TYPE_END; listItem++) { + switch (listItem->type) { + case LIST_ITEM_TYPE_HEADING: + y -= 18; + break; + case LIST_ITEM_TYPE_SCENARIO: + y -= 24; + if (y < 0 && !listItem->scenario.is_locked) { + audio_play_sound(SOUND_CLICK_1, 0, w->x + (w->width / 2)); + _callback(listItem->scenario.scenario->path); + } + break; + } + if (y < 0) { + break; + } + } } /** @@ -303,395 +303,395 @@ static void window_scenarioselect_scrollmousedown(rct_window *w, sint32 scrollIn */ static void window_scenarioselect_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - bool originalShowLockedInformation = _showLockedInformation; - _showLockedInformation = false; - const scenario_index_entry *selected = NULL; - for (sc_list_item *listItem = _listItems; listItem->type != LIST_ITEM_TYPE_END; listItem++) { - switch (listItem->type) { - case LIST_ITEM_TYPE_HEADING: - y -= 18; - break; - case LIST_ITEM_TYPE_SCENARIO: - y -= 24; - if (y < 0) { - if (listItem->scenario.is_locked) { - _showLockedInformation = true; - } else { - selected = listItem->scenario.scenario; - } - } - break; - } - if (y < 0) { - break; - } - } + bool originalShowLockedInformation = _showLockedInformation; + _showLockedInformation = false; + const scenario_index_entry *selected = NULL; + for (sc_list_item *listItem = _listItems; listItem->type != LIST_ITEM_TYPE_END; listItem++) { + switch (listItem->type) { + case LIST_ITEM_TYPE_HEADING: + y -= 18; + break; + case LIST_ITEM_TYPE_SCENARIO: + y -= 24; + if (y < 0) { + if (listItem->scenario.is_locked) { + _showLockedInformation = true; + } else { + selected = listItem->scenario.scenario; + } + } + break; + } + if (y < 0) { + break; + } + } - if (w->highlighted_scenario != selected) { - w->highlighted_scenario = selected; - window_invalidate(w); - } else if (_showLockedInformation != originalShowLockedInformation) { - window_invalidate(w); - } + if (w->highlighted_scenario != selected) { + w->highlighted_scenario = selected; + window_invalidate(w); + } else if (_showLockedInformation != originalShowLockedInformation) { + window_invalidate(w); + } } static void window_scenarioselect_invalidate(rct_window *w) { - w->pressed_widgets &= ~( (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) - | (1 << WIDX_TAB3) | (1 << WIDX_TAB4) | (1 << WIDX_TAB5) - | (1 << WIDX_TAB6) | (1 << WIDX_TAB7) | (1 << WIDX_TAB8) ); + w->pressed_widgets &= ~( (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) + | (1 << WIDX_TAB3) | (1 << WIDX_TAB4) | (1 << WIDX_TAB5) + | (1 << WIDX_TAB6) | (1 << WIDX_TAB7) | (1 << WIDX_TAB8) ); - w->pressed_widgets |= 1LL << (w->selected_tab + WIDX_TAB1); + w->pressed_widgets |= 1LL << (w->selected_tab + WIDX_TAB1); - sint32 windowWidth = w->width; - window_scenarioselect_widgets[WIDX_BACKGROUND].right = windowWidth - 1; - window_scenarioselect_widgets[WIDX_TITLEBAR].right = windowWidth - 2; - window_scenarioselect_widgets[WIDX_CLOSE].left = windowWidth - 13; - window_scenarioselect_widgets[WIDX_CLOSE].right = windowWidth - 3; - window_scenarioselect_widgets[WIDX_TABCONTENT].right = windowWidth - 1; - window_scenarioselect_widgets[WIDX_SCENARIOLIST].right = windowWidth - 179; + sint32 windowWidth = w->width; + window_scenarioselect_widgets[WIDX_BACKGROUND].right = windowWidth - 1; + window_scenarioselect_widgets[WIDX_TITLEBAR].right = windowWidth - 2; + window_scenarioselect_widgets[WIDX_CLOSE].left = windowWidth - 13; + window_scenarioselect_widgets[WIDX_CLOSE].right = windowWidth - 3; + window_scenarioselect_widgets[WIDX_TABCONTENT].right = windowWidth - 1; + window_scenarioselect_widgets[WIDX_SCENARIOLIST].right = windowWidth - 179; - sint32 windowHeight = w->height; - window_scenarioselect_widgets[WIDX_BACKGROUND].bottom = windowHeight - 1; - window_scenarioselect_widgets[WIDX_TABCONTENT].bottom = windowHeight - 1; + sint32 windowHeight = w->height; + window_scenarioselect_widgets[WIDX_BACKGROUND].bottom = windowHeight - 1; + window_scenarioselect_widgets[WIDX_TABCONTENT].bottom = windowHeight - 1; - const sint32 bottomMargin = gConfigGeneral.debugging_tools ? 17 : 5; - window_scenarioselect_widgets[WIDX_SCENARIOLIST].bottom = windowHeight - bottomMargin; + const sint32 bottomMargin = gConfigGeneral.debugging_tools ? 17 : 5; + window_scenarioselect_widgets[WIDX_SCENARIOLIST].bottom = windowHeight - bottomMargin; } static void window_scenarioselect_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 format; - const scenario_index_entry *scenario; + sint32 format; + const scenario_index_entry *scenario; - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - format = (theme_get_flags() & UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT) ? STR_SMALL_WINDOW_COLOUR_2_STRINGID : STR_WINDOW_COLOUR_2_STRINGID; + format = (theme_get_flags() & UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT) ? STR_SMALL_WINDOW_COLOUR_2_STRINGID : STR_WINDOW_COLOUR_2_STRINGID; - // Text for each tab - for (sint32 i = 0; i < 8; i++) { - rct_widget *widget = &window_scenarioselect_widgets[WIDX_TAB1 + i]; - if (widget->type == WWT_EMPTY) - continue; + // Text for each tab + for (sint32 i = 0; i < 8; i++) { + rct_widget *widget = &window_scenarioselect_widgets[WIDX_TAB1 + i]; + if (widget->type == WWT_EMPTY) + continue; - sint32 x = (widget->left + widget->right) / 2 + w->x; - sint32 y = (widget->top + widget->bottom) / 2 + w->y - 3; + sint32 x = (widget->left + widget->right) / 2 + w->x; + sint32 y = (widget->top + widget->bottom) / 2 + w->y - 3; - if (gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_ORIGIN) { - set_format_arg(0, rct_string_id, ScenarioOriginStringIds[i]); - } else { // old-style - set_format_arg(0, rct_string_id, ScenarioCategoryStringIds[i]); - } - gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x, y, 87, format, COLOUR_AQUAMARINE); - } + if (gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_ORIGIN) { + set_format_arg(0, rct_string_id, ScenarioOriginStringIds[i]); + } else { // old-style + set_format_arg(0, rct_string_id, ScenarioCategoryStringIds[i]); + } + gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x, y, 87, format, COLOUR_AQUAMARINE); + } - // Return if no scenario highlighted - scenario = w->highlighted_scenario; - if (scenario == NULL) { - if (_showLockedInformation) { - // Show locked information - sint32 x = w->x + window_scenarioselect_widgets[WIDX_SCENARIOLIST].right + 4; - sint32 y = w->y + window_scenarioselect_widgets[WIDX_TABCONTENT].top + 5; - gfx_draw_string_centred_clipped(dpi, STR_SCENARIO_LOCKED, NULL, COLOUR_BLACK, x + 85, y, 170); - y += 15; - y += gfx_draw_string_left_wrapped(dpi, NULL, x, y, 170, STR_SCENARIO_LOCKED_DESC, COLOUR_BLACK) + 5; - } - return; - } + // Return if no scenario highlighted + scenario = w->highlighted_scenario; + if (scenario == NULL) { + if (_showLockedInformation) { + // Show locked information + sint32 x = w->x + window_scenarioselect_widgets[WIDX_SCENARIOLIST].right + 4; + sint32 y = w->y + window_scenarioselect_widgets[WIDX_TABCONTENT].top + 5; + gfx_draw_string_centred_clipped(dpi, STR_SCENARIO_LOCKED, NULL, COLOUR_BLACK, x + 85, y, 170); + y += 15; + y += gfx_draw_string_left_wrapped(dpi, NULL, x, y, 170, STR_SCENARIO_LOCKED_DESC, COLOUR_BLACK) + 5; + } + return; + } - // Scenario path - if (gConfigGeneral.debugging_tools) { - utf8 path[MAX_PATH]; + // Scenario path + if (gConfigGeneral.debugging_tools) { + utf8 path[MAX_PATH]; - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - shorten_path(path, sizeof(path), scenario->path, w->width - 6); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + shorten_path(path, sizeof(path), scenario->path, w->width - 6); - const utf8 *pathPtr = path; - gfx_draw_string_left(dpi, STR_STRING, (void*)&pathPtr, w->colours[1], w->x + 3, w->y + w->height - 3 - 11); - } + const utf8 *pathPtr = path; + gfx_draw_string_left(dpi, STR_STRING, (void*)&pathPtr, w->colours[1], w->x + 3, w->y + w->height - 3 - 11); + } - // Scenario name - sint32 x = w->x + window_scenarioselect_widgets[WIDX_SCENARIOLIST].right + 4; - sint32 y = w->y + window_scenarioselect_widgets[WIDX_TABCONTENT].top + 5; - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, const char *, scenario->name); - gfx_draw_string_centred_clipped(dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, x + 85, y, 170); - y += 15; + // Scenario name + sint32 x = w->x + window_scenarioselect_widgets[WIDX_SCENARIOLIST].right + 4; + sint32 y = w->y + window_scenarioselect_widgets[WIDX_TABCONTENT].top + 5; + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, const char *, scenario->name); + gfx_draw_string_centred_clipped(dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, x + 85, y, 170); + y += 15; - // Scenario details - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, const char *, scenario->details); - y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, 170, STR_BLACK_STRING, COLOUR_BLACK) + 5; + // Scenario details + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, const char *, scenario->details); + y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, 170, STR_BLACK_STRING, COLOUR_BLACK) + 5; - // Scenario objective - set_format_arg(0, rct_string_id, ObjectiveNames[scenario->objective_type]); - set_format_arg(2, sint16, scenario->objective_arg_3); - set_format_arg(4, sint16, date_get_total_months(MONTH_OCTOBER, scenario->objective_arg_1)); - set_format_arg(6, sint32, scenario->objective_arg_2); - y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, 170, STR_OBJECTIVE, COLOUR_BLACK) + 5; + // Scenario objective + set_format_arg(0, rct_string_id, ObjectiveNames[scenario->objective_type]); + set_format_arg(2, sint16, scenario->objective_arg_3); + set_format_arg(4, sint16, date_get_total_months(MONTH_OCTOBER, scenario->objective_arg_1)); + set_format_arg(6, sint32, scenario->objective_arg_2); + y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, 170, STR_OBJECTIVE, COLOUR_BLACK) + 5; - // Scenario score - if (scenario->highscore != NULL) { - // TODO: Should probably be translatable - const utf8 *completedByName = "???"; - if (!str_is_null_or_empty(scenario->highscore->name)) { - completedByName = scenario->highscore->name; - } - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, const char *, completedByName); - set_format_arg(2 + sizeof(const char *), money32, scenario->highscore->company_value); - y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, 170, STR_COMPLETED_BY_WITH_COMPANY_VALUE, COLOUR_BLACK); - } + // Scenario score + if (scenario->highscore != NULL) { + // TODO: Should probably be translatable + const utf8 *completedByName = "???"; + if (!str_is_null_or_empty(scenario->highscore->name)) { + completedByName = scenario->highscore->name; + } + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, const char *, completedByName); + set_format_arg(2 + sizeof(const char *), money32, scenario->highscore->company_value); + y += gfx_draw_string_left_wrapped(dpi, gCommonFormatArgs, x, y, 170, STR_COMPLETED_BY_WITH_COMPANY_VALUE, COLOUR_BLACK); + } } static void window_scenarioselect_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - sint32 colour; + sint32 colour; - uint8 paletteIndex = ColourMapA[w->colours[1]].mid_light; - gfx_clear(dpi, paletteIndex); + uint8 paletteIndex = ColourMapA[w->colours[1]].mid_light; + gfx_clear(dpi, paletteIndex); - rct_string_id highlighted_format = (theme_get_flags() & UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT) ? STR_WHITE_STRING : STR_WINDOW_COLOUR_2_STRINGID; - rct_string_id unhighlighted_format = (theme_get_flags() & UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT) ? STR_WHITE_STRING : STR_BLACK_STRING; + rct_string_id highlighted_format = (theme_get_flags() & UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT) ? STR_WHITE_STRING : STR_WINDOW_COLOUR_2_STRINGID; + rct_string_id unhighlighted_format = (theme_get_flags() & UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT) ? STR_WHITE_STRING : STR_BLACK_STRING; - bool wide = gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_ORIGIN; + bool wide = gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_ORIGIN; - rct_widget *listWidget = &w->widgets[WIDX_SCENARIOLIST]; - sint32 listWidth = listWidget->right - listWidget->left - 12; + rct_widget *listWidget = &w->widgets[WIDX_SCENARIOLIST]; + sint32 listWidth = listWidget->right - listWidget->left - 12; - sint32 y = 0; - for (sc_list_item *listItem = _listItems; listItem->type != LIST_ITEM_TYPE_END; listItem++) { - if (y > dpi->y + dpi->height) { - continue; - } + sint32 y = 0; + for (sc_list_item *listItem = _listItems; listItem->type != LIST_ITEM_TYPE_END; listItem++) { + if (y > dpi->y + dpi->height) { + continue; + } - switch (listItem->type) { - case LIST_ITEM_TYPE_HEADING:; - const sint32 horizontalRuleMargin = 4; - draw_category_heading(w, dpi, horizontalRuleMargin, listWidth - horizontalRuleMargin, y + 2, listItem->heading.string_id); - y += 18; - break; - case LIST_ITEM_TYPE_SCENARIO:; - // Draw hover highlight - const scenario_index_entry *scenario = listItem->scenario.scenario; - bool isHighlighted = w->highlighted_scenario == scenario; - if (isHighlighted) { - gfx_filter_rect(dpi, 0, y, w->width, y + 23, PALETTE_DARKEN_1); - } + switch (listItem->type) { + case LIST_ITEM_TYPE_HEADING:; + const sint32 horizontalRuleMargin = 4; + draw_category_heading(w, dpi, horizontalRuleMargin, listWidth - horizontalRuleMargin, y + 2, listItem->heading.string_id); + y += 18; + break; + case LIST_ITEM_TYPE_SCENARIO:; + // Draw hover highlight + const scenario_index_entry *scenario = listItem->scenario.scenario; + bool isHighlighted = w->highlighted_scenario == scenario; + if (isHighlighted) { + gfx_filter_rect(dpi, 0, y, w->width, y + 23, PALETTE_DARKEN_1); + } - bool isCompleted = scenario->highscore != NULL; - bool isDisabled = listItem->scenario.is_locked; + bool isCompleted = scenario->highscore != NULL; + bool isDisabled = listItem->scenario.is_locked; - // Draw scenario name - char buffer[64]; - safe_strcpy(buffer, scenario->name, sizeof(buffer)); - rct_string_id format = isDisabled ? STR_STRINGID : (isHighlighted ? highlighted_format : unhighlighted_format); - set_format_arg(0, rct_string_id, STR_STRING); - set_format_arg(2, char *, buffer); - colour = isDisabled ? w->colours[1] | COLOUR_FLAG_INSET : COLOUR_BLACK; - if (isDisabled) { - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM_DARK; - } - gfx_draw_string_centred(dpi, format, wide ? 270 : 210, y + 1, colour, gCommonFormatArgs); + // Draw scenario name + char buffer[64]; + safe_strcpy(buffer, scenario->name, sizeof(buffer)); + rct_string_id format = isDisabled ? STR_STRINGID : (isHighlighted ? highlighted_format : unhighlighted_format); + set_format_arg(0, rct_string_id, STR_STRING); + set_format_arg(2, char *, buffer); + colour = isDisabled ? w->colours[1] | COLOUR_FLAG_INSET : COLOUR_BLACK; + if (isDisabled) { + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM_DARK; + } + gfx_draw_string_centred(dpi, format, wide ? 270 : 210, y + 1, colour, gCommonFormatArgs); - // Check if scenario is completed - if (isCompleted) { - // Draw completion tick - gfx_draw_sprite(dpi, SPR_MENU_CHECKMARK, wide ? 500 : 395, y + 1, 0); + // Check if scenario is completed + if (isCompleted) { + // Draw completion tick + gfx_draw_sprite(dpi, SPR_MENU_CHECKMARK, wide ? 500 : 395, y + 1, 0); - // Draw completion score - const utf8 *completedByName = "???"; - if (!str_is_null_or_empty(scenario->highscore->name)) { - completedByName = scenario->highscore->name; - } - safe_strcpy(buffer, completedByName, 64); - set_format_arg(0, rct_string_id, STR_COMPLETED_BY); - set_format_arg(2, rct_string_id, STR_STRING); - set_format_arg(4, char *, buffer); - gfx_draw_string_centred(dpi, format, wide ? 270 : 210, y + 11, COLOUR_BLACK, gCommonFormatArgs); - } + // Draw completion score + const utf8 *completedByName = "???"; + if (!str_is_null_or_empty(scenario->highscore->name)) { + completedByName = scenario->highscore->name; + } + safe_strcpy(buffer, completedByName, 64); + set_format_arg(0, rct_string_id, STR_COMPLETED_BY); + set_format_arg(2, rct_string_id, STR_STRING); + set_format_arg(4, char *, buffer); + gfx_draw_string_centred(dpi, format, wide ? 270 : 210, y + 11, COLOUR_BLACK, gCommonFormatArgs); + } - y += 24; - break; - } - } + y += 24; + break; + } + } } static void draw_category_heading(rct_window *w, rct_drawpixelinfo *dpi, sint32 left, sint32 right, sint32 y, rct_string_id stringId) { - uint8 baseColour = w->colours[1]; - uint8 lightColour = ColourMapA[baseColour].lighter; - uint8 darkColour = ColourMapA[baseColour].mid_dark; + uint8 baseColour = w->colours[1]; + uint8 lightColour = ColourMapA[baseColour].lighter; + uint8 darkColour = ColourMapA[baseColour].mid_dark; - // Draw string - sint32 centreX = (left + right) / 2; - gfx_draw_string_centred(dpi, stringId, centreX, y, baseColour, NULL); + // Draw string + sint32 centreX = (left + right) / 2; + gfx_draw_string_centred(dpi, stringId, centreX, y, baseColour, NULL); - // Get string dimensions - utf8 *buffer = gCommonStringFormatBuffer; - format_string(buffer, 256, stringId, NULL); - sint32 categoryStringHalfWidth = (gfx_get_string_width(buffer) / 2) + 4; - sint32 strLeft = centreX - categoryStringHalfWidth; - sint32 strRight = centreX + categoryStringHalfWidth; + // Get string dimensions + utf8 *buffer = gCommonStringFormatBuffer; + format_string(buffer, 256, stringId, NULL); + sint32 categoryStringHalfWidth = (gfx_get_string_width(buffer) / 2) + 4; + sint32 strLeft = centreX - categoryStringHalfWidth; + sint32 strRight = centreX + categoryStringHalfWidth; - // Draw light horizontal rule - sint32 lineY = y + 4; - gfx_draw_line(dpi, left, lineY, strLeft, lineY, lightColour); - gfx_draw_line(dpi, strRight, lineY, right, lineY, lightColour); + // Draw light horizontal rule + sint32 lineY = y + 4; + gfx_draw_line(dpi, left, lineY, strLeft, lineY, lightColour); + gfx_draw_line(dpi, strRight, lineY, right, lineY, lightColour); - // Draw dark horizontal rule - lineY++; - gfx_draw_line(dpi, left, lineY, strLeft, lineY, darkColour); - gfx_draw_line(dpi, strRight, lineY, right, lineY, darkColour); + // Draw dark horizontal rule + lineY++; + gfx_draw_line(dpi, left, lineY, strLeft, lineY, darkColour); + gfx_draw_line(dpi, strRight, lineY, right, lineY, darkColour); } static void initialise_list_items(rct_window *w) { - SafeFree(_listItems); + SafeFree(_listItems); - size_t numScenarios = scenario_repository_get_count(); - size_t capacity = numScenarios + 16; - size_t length = 0; - _listItems = malloc(capacity * sizeof(sc_list_item)); + size_t numScenarios = scenario_repository_get_count(); + size_t capacity = numScenarios + 16; + size_t length = 0; + _listItems = malloc(capacity * sizeof(sc_list_item)); - // Mega park unlock - const uint32 rct1RequiredCompletedScenarios = (1 << SC_MEGA_PARK) - 1; - uint32 rct1CompletedScenarios = 0; - size_t megaParkListItemIndex = SIZE_MAX; + // Mega park unlock + const uint32 rct1RequiredCompletedScenarios = (1 << SC_MEGA_PARK) - 1; + uint32 rct1CompletedScenarios = 0; + size_t megaParkListItemIndex = SIZE_MAX; - sint32 numUnlocks = INITIAL_NUM_UNLOCKED_SCENARIOS; - uint8 currentHeading = UINT8_MAX; - for (size_t i = 0; i < numScenarios; i++) { - const scenario_index_entry *scenario = scenario_repository_get_by_index(i); - if (!is_scenario_visible(w, scenario)) { - continue; - } + sint32 numUnlocks = INITIAL_NUM_UNLOCKED_SCENARIOS; + uint8 currentHeading = UINT8_MAX; + for (size_t i = 0; i < numScenarios; i++) { + const scenario_index_entry *scenario = scenario_repository_get_by_index(i); + if (!is_scenario_visible(w, scenario)) { + continue; + } - sc_list_item *listItem; + sc_list_item *listItem; - // Category heading - rct_string_id headingStringId = STR_NONE; - if (gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_ORIGIN) { - if (w->selected_tab != SCENARIO_SOURCE_REAL && currentHeading != scenario->category) { - currentHeading = scenario->category; - headingStringId = ScenarioCategoryStringIds[currentHeading]; - } - } else { - if (w->selected_tab <= SCENARIO_CATEGORY_EXPERT) { - if (currentHeading != scenario->source_game) { - currentHeading = scenario->source_game; - headingStringId = ScenarioOriginStringIds[currentHeading]; - } - } else if (w->selected_tab == SCENARIO_CATEGORY_OTHER) { - sint32 category = scenario->category; - if (category <= SCENARIO_CATEGORY_REAL) { - category = SCENARIO_CATEGORY_OTHER; - } - if (currentHeading != category) { - currentHeading = category; - headingStringId = ScenarioCategoryStringIds[category]; - } - } - } + // Category heading + rct_string_id headingStringId = STR_NONE; + if (gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_ORIGIN) { + if (w->selected_tab != SCENARIO_SOURCE_REAL && currentHeading != scenario->category) { + currentHeading = scenario->category; + headingStringId = ScenarioCategoryStringIds[currentHeading]; + } + } else { + if (w->selected_tab <= SCENARIO_CATEGORY_EXPERT) { + if (currentHeading != scenario->source_game) { + currentHeading = scenario->source_game; + headingStringId = ScenarioOriginStringIds[currentHeading]; + } + } else if (w->selected_tab == SCENARIO_CATEGORY_OTHER) { + sint32 category = scenario->category; + if (category <= SCENARIO_CATEGORY_REAL) { + category = SCENARIO_CATEGORY_OTHER; + } + if (currentHeading != category) { + currentHeading = category; + headingStringId = ScenarioCategoryStringIds[category]; + } + } + } - if (headingStringId != STR_NONE) { - // Ensure list capacity - if (length == capacity) { - capacity += 32; - _listItems = realloc(_listItems, capacity * sizeof(sc_list_item)); - } - listItem = &_listItems[length++]; + if (headingStringId != STR_NONE) { + // Ensure list capacity + if (length == capacity) { + capacity += 32; + _listItems = realloc(_listItems, capacity * sizeof(sc_list_item)); + } + listItem = &_listItems[length++]; - listItem->type = LIST_ITEM_TYPE_HEADING; - listItem->heading.string_id = headingStringId; - } + listItem->type = LIST_ITEM_TYPE_HEADING; + listItem->heading.string_id = headingStringId; + } - // Ensure list capacity - if (length == capacity) { - capacity += 32; - _listItems = realloc(_listItems, capacity * sizeof(sc_list_item)); - } - listItem = &_listItems[length++]; + // Ensure list capacity + if (length == capacity) { + capacity += 32; + _listItems = realloc(_listItems, capacity * sizeof(sc_list_item)); + } + listItem = &_listItems[length++]; - // Scenario - listItem->type = LIST_ITEM_TYPE_SCENARIO; - listItem->scenario.scenario = scenario; - if (is_locking_enabled(w)) { - listItem->scenario.is_locked = numUnlocks <= 0; - if (scenario->highscore == NULL) { - numUnlocks--; - } else { - // Mark RCT1 scenario as completed - if (scenario->sc_id < SC_MEGA_PARK) { - rct1CompletedScenarios |= 1 << scenario->sc_id; - } - } + // Scenario + listItem->type = LIST_ITEM_TYPE_SCENARIO; + listItem->scenario.scenario = scenario; + if (is_locking_enabled(w)) { + listItem->scenario.is_locked = numUnlocks <= 0; + if (scenario->highscore == NULL) { + numUnlocks--; + } else { + // Mark RCT1 scenario as completed + if (scenario->sc_id < SC_MEGA_PARK) { + rct1CompletedScenarios |= 1 << scenario->sc_id; + } + } - // If scenario is Mega Park, keep a reference to it - if (scenario->sc_id == SC_MEGA_PARK) { - megaParkListItemIndex = length - 1; - } - } else { - listItem->scenario.is_locked = false; - } - } + // If scenario is Mega Park, keep a reference to it + if (scenario->sc_id == SC_MEGA_PARK) { + megaParkListItemIndex = length - 1; + } + } else { + listItem->scenario.is_locked = false; + } + } - length++; - _listItems = realloc(_listItems, length * sizeof(sc_list_item)); - _listItems[length - 1].type = LIST_ITEM_TYPE_END; + length++; + _listItems = realloc(_listItems, length * sizeof(sc_list_item)); + _listItems[length - 1].type = LIST_ITEM_TYPE_END; - // Mega park handling - if (megaParkListItemIndex != SIZE_MAX) { - bool megaParkLocked = (rct1CompletedScenarios & rct1RequiredCompletedScenarios) != rct1RequiredCompletedScenarios; - _listItems[megaParkListItemIndex].scenario.is_locked = megaParkLocked; - if (megaParkLocked && gConfigGeneral.scenario_hide_mega_park) { - // Remove mega park - size_t remainingItems = length - megaParkListItemIndex - 1; - memmove(&_listItems[megaParkListItemIndex], &_listItems[megaParkListItemIndex + 1], remainingItems); + // Mega park handling + if (megaParkListItemIndex != SIZE_MAX) { + bool megaParkLocked = (rct1CompletedScenarios & rct1RequiredCompletedScenarios) != rct1RequiredCompletedScenarios; + _listItems[megaParkListItemIndex].scenario.is_locked = megaParkLocked; + if (megaParkLocked && gConfigGeneral.scenario_hide_mega_park) { + // Remove mega park + size_t remainingItems = length - megaParkListItemIndex - 1; + memmove(&_listItems[megaParkListItemIndex], &_listItems[megaParkListItemIndex + 1], remainingItems); - // Remove empty headings - sint32 i = 0; - for (sc_list_item *listItem = _listItems; listItem->type != LIST_ITEM_TYPE_END; listItem++) { - if (listItem->type == LIST_ITEM_TYPE_HEADING && (listItem + 1)->type != LIST_ITEM_TYPE_SCENARIO) { - remainingItems = length - i - 1; - memmove(&_listItems[i], &_listItems[i + 1], remainingItems); - listItem--; - } else { - i++; - } - } - } - } + // Remove empty headings + sint32 i = 0; + for (sc_list_item *listItem = _listItems; listItem->type != LIST_ITEM_TYPE_END; listItem++) { + if (listItem->type == LIST_ITEM_TYPE_HEADING && (listItem + 1)->type != LIST_ITEM_TYPE_SCENARIO) { + remainingItems = length - i - 1; + memmove(&_listItems[i], &_listItems[i + 1], remainingItems); + listItem--; + } else { + i++; + } + } + } + } } static bool is_scenario_visible(rct_window *w, const scenario_index_entry *scenario) { - if (gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_ORIGIN) { - if (scenario->source_game != w->selected_tab) { - return false; - } - } else { - sint32 category = scenario->category; - if (category > SCENARIO_CATEGORY_OTHER) { - category = SCENARIO_CATEGORY_OTHER; - } - if (category != w->selected_tab) { - return false; - } - } - return true; + if (gConfigGeneral.scenario_select_mode == SCENARIO_SELECT_MODE_ORIGIN) { + if (scenario->source_game != w->selected_tab) { + return false; + } + } else { + sint32 category = scenario->category; + if (category > SCENARIO_CATEGORY_OTHER) { + category = SCENARIO_CATEGORY_OTHER; + } + if (category != w->selected_tab) { + return false; + } + } + return true; } static bool is_locking_enabled(rct_window *w) { - if (gConfigGeneral.scenario_select_mode != SCENARIO_SELECT_MODE_ORIGIN) { - return false; - } - if (!gConfigGeneral.scenario_unlocking_enabled) { - return false; - } - if (w->selected_tab >= 6) { - return false; - } - return true; + if (gConfigGeneral.scenario_select_mode != SCENARIO_SELECT_MODE_ORIGIN) { + return false; + } + if (!gConfigGeneral.scenario_unlocking_enabled) { + return false; + } + if (w->selected_tab >= 6) { + return false; + } + return true; } diff --git a/src/openrct2/windows/tooltip.c b/src/openrct2/windows/tooltip.c index 6f3b10ff52..fbff3c253d 100644 --- a/src/openrct2/windows/tooltip.c +++ b/src/openrct2/windows/tooltip.c @@ -24,46 +24,46 @@ #include "tooltip.h" enum { - WIDX_BACKGROUND + WIDX_BACKGROUND }; static rct_widget window_tooltip_widgets[] = { - { WWT_IMGBTN, 0, 0, 199, 0, 31, 0xFFFFFFFF, STR_NONE }, - { WIDGETS_END }, + { WWT_IMGBTN, 0, 0, 199, 0, 31, 0xFFFFFFFF, STR_NONE }, + { WIDGETS_END }, }; static void window_tooltip_update(rct_window *w); static void window_tooltip_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_tooltip_events = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_tooltip_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_tooltip_paint, - NULL + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_tooltip_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_tooltip_paint, + NULL }; static utf8 _tooltipText[sizeof(gCommonStringFormatBuffer)]; @@ -71,73 +71,73 @@ static sint16 _tooltipNumLines; void window_tooltip_reset(sint32 x, sint32 y) { - gTooltipCursorX = x; - gTooltipCursorY = y; - gTooltipTimeout = 0; - gTooltipWidget.window_classification = 255; - input_set_state(INPUT_STATE_NORMAL); - input_set_flag(INPUT_FLAG_4, false); + gTooltipCursorX = x; + gTooltipCursorY = y; + gTooltipTimeout = 0; + gTooltipWidget.window_classification = 255; + input_set_state(INPUT_STATE_NORMAL); + input_set_flag(INPUT_FLAG_4, false); } void window_tooltip_show(rct_string_id id, sint32 x, sint32 y) { - rct_window *w; - sint32 width, height; + rct_window *w; + sint32 width, height; - w = window_find_by_class(WC_ERROR); - if (w != NULL) - return; + w = window_find_by_class(WC_ERROR); + if (w != NULL) + return; - char* buffer = gCommonStringFormatBuffer; + char* buffer = gCommonStringFormatBuffer; - format_string(buffer, 256, id, gCommonFormatArgs); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + format_string(buffer, 256, id, gCommonFormatArgs); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - sint32 tooltip_text_width; - tooltip_text_width = gfx_get_string_width_new_lined(buffer); - buffer = gCommonStringFormatBuffer; - tooltip_text_width = min(tooltip_text_width, 196); + sint32 tooltip_text_width; + tooltip_text_width = gfx_get_string_width_new_lined(buffer); + buffer = gCommonStringFormatBuffer; + tooltip_text_width = min(tooltip_text_width, 196); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - sint32 numLines, fontSpriteBase; - tooltip_text_width = gfx_wrap_string(buffer, tooltip_text_width + 1, &numLines, &fontSpriteBase); + sint32 numLines, fontSpriteBase; + tooltip_text_width = gfx_wrap_string(buffer, tooltip_text_width + 1, &numLines, &fontSpriteBase); - _tooltipNumLines = numLines; - width = tooltip_text_width + 3; - height = ((numLines + 1) * font_get_line_height(gCurrentFontSpriteBase)) + 4; - window_tooltip_widgets[WIDX_BACKGROUND].right = width; - window_tooltip_widgets[WIDX_BACKGROUND].bottom = height; + _tooltipNumLines = numLines; + width = tooltip_text_width + 3; + height = ((numLines + 1) * font_get_line_height(gCurrentFontSpriteBase)) + 4; + window_tooltip_widgets[WIDX_BACKGROUND].right = width; + window_tooltip_widgets[WIDX_BACKGROUND].bottom = height; - memcpy(_tooltipText, buffer, sizeof(_tooltipText)); + memcpy(_tooltipText, buffer, sizeof(_tooltipText)); - sint32 screenWidth = context_get_width(); - sint32 screenHeight = context_get_height(); - x = clamp(0, x - (width / 2), screenWidth - width); + sint32 screenWidth = context_get_width(); + sint32 screenHeight = context_get_height(); + x = clamp(0, x - (width / 2), screenWidth - width); - // TODO The cursor size will be relative to the window DPI. - // The amount to offset the y should be adjusted. + // TODO The cursor size will be relative to the window DPI. + // The amount to offset the y should be adjusted. - sint32 max_y = screenHeight - height; - y += 26; // Normally, we'd display the tooltip 26 lower - if (y > max_y) - // If y is too large, the tooltip could be forced below the cursor if we'd just clamped y, - // so we'll subtract a bit more - y -= height + 40; - y = clamp(22, y, max_y); + sint32 max_y = screenHeight - height; + y += 26; // Normally, we'd display the tooltip 26 lower + if (y > max_y) + // If y is too large, the tooltip could be forced below the cursor if we'd just clamped y, + // so we'll subtract a bit more + y -= height + 40; + y = clamp(22, y, max_y); - w = window_create( - x, - y, - width, - height, - &window_tooltip_events, - WC_TOOLTIP, - WF_TRANSPARENT | WF_STICK_TO_FRONT - ); - w->widgets = window_tooltip_widgets; + w = window_create( + x, + y, + width, + height, + &window_tooltip_events, + WC_TOOLTIP, + WF_TRANSPARENT | WF_STICK_TO_FRONT + ); + w->widgets = window_tooltip_widgets; - reset_tooltip_not_shown(); + reset_tooltip_not_shown(); } /** @@ -146,24 +146,24 @@ void window_tooltip_show(rct_string_id id, sint32 x, sint32 y) */ void window_tooltip_open(rct_window *widgetWindow, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - rct_widget *widget; + rct_widget *widget; - if (widgetWindow == NULL || widgetIndex == -1) - return; + if (widgetWindow == NULL || widgetIndex == -1) + return; - widget = &widgetWindow->widgets[widgetIndex]; - window_event_invalidate_call(widgetWindow); - if (widget->tooltip == 0xFFFF) - return; + widget = &widgetWindow->widgets[widgetIndex]; + window_event_invalidate_call(widgetWindow); + if (widget->tooltip == 0xFFFF) + return; - gTooltipWidget.window_classification = widgetWindow->classification; - gTooltipWidget.window_number = widgetWindow->number; - gTooltipWidget.widget_index = widgetIndex; + gTooltipWidget.window_classification = widgetWindow->classification; + gTooltipWidget.window_number = widgetWindow->number; + gTooltipWidget.widget_index = widgetIndex; - if (window_event_tooltip_call(widgetWindow, widgetIndex) == STR_NONE) - return; + if (window_event_tooltip_call(widgetWindow, widgetIndex) == STR_NONE) + return; - window_tooltip_show(widget->tooltip, x, y); + window_tooltip_show(widget->tooltip, x, y); } /** @@ -172,9 +172,9 @@ void window_tooltip_open(rct_window *widgetWindow, rct_widgetindex widgetIndex, */ void window_tooltip_close() { - window_close_by_class(WC_TOOLTIP); - gTooltipTimeout = 0; - gTooltipWidget.window_classification = 255; + window_close_by_class(WC_TOOLTIP); + gTooltipTimeout = 0; + gTooltipWidget.window_classification = 255; } /** @@ -183,7 +183,7 @@ void window_tooltip_close() */ static void window_tooltip_update(rct_window *w) { - reset_tooltip_not_shown(); + reset_tooltip_not_shown(); } /** @@ -192,29 +192,29 @@ static void window_tooltip_update(rct_window *w) */ static void window_tooltip_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 left = w->x; - sint32 top = w->y; - sint32 right = w->x + w->width - 1; - sint32 bottom = w->y + w->height - 1; + sint32 left = w->x; + sint32 top = w->y; + sint32 right = w->x + w->width - 1; + sint32 bottom = w->y + w->height - 1; - // Background - gfx_filter_rect(dpi, left + 1, top + 1, right - 1, bottom - 1, PALETTE_45); - gfx_filter_rect(dpi, left + 1, top + 1, right - 1, bottom - 1, PALETTE_GLASS_LIGHT_ORANGE); + // Background + gfx_filter_rect(dpi, left + 1, top + 1, right - 1, bottom - 1, PALETTE_45); + gfx_filter_rect(dpi, left + 1, top + 1, right - 1, bottom - 1, PALETTE_GLASS_LIGHT_ORANGE); - // Sides - gfx_filter_rect(dpi, left + 0, top + 2, left + 0, bottom - 2, PALETTE_DARKEN_3); - gfx_filter_rect(dpi, right + 0, top + 2, right + 0, bottom - 2, PALETTE_DARKEN_3); - gfx_filter_rect(dpi, left + 2, bottom + 0, right - 2, bottom + 0, PALETTE_DARKEN_3); - gfx_filter_rect(dpi, left + 2, top + 0, right - 2, top + 0, PALETTE_DARKEN_3); + // Sides + gfx_filter_rect(dpi, left + 0, top + 2, left + 0, bottom - 2, PALETTE_DARKEN_3); + gfx_filter_rect(dpi, right + 0, top + 2, right + 0, bottom - 2, PALETTE_DARKEN_3); + gfx_filter_rect(dpi, left + 2, bottom + 0, right - 2, bottom + 0, PALETTE_DARKEN_3); + gfx_filter_rect(dpi, left + 2, top + 0, right - 2, top + 0, PALETTE_DARKEN_3); - // Corners - gfx_filter_pixel(dpi, left + 1, top + 1, PALETTE_DARKEN_3); - gfx_filter_pixel(dpi, right - 1, top + 1, PALETTE_DARKEN_3); - gfx_filter_pixel(dpi, left + 1, bottom - 1, PALETTE_DARKEN_3); - gfx_filter_pixel(dpi, right - 1, bottom - 1, PALETTE_DARKEN_3); + // Corners + gfx_filter_pixel(dpi, left + 1, top + 1, PALETTE_DARKEN_3); + gfx_filter_pixel(dpi, right - 1, top + 1, PALETTE_DARKEN_3); + gfx_filter_pixel(dpi, left + 1, bottom - 1, PALETTE_DARKEN_3); + gfx_filter_pixel(dpi, right - 1, bottom - 1, PALETTE_DARKEN_3); - // Text - left = w->x + ((w->width + 1) / 2) - 1; - top = w->y + 1; - draw_string_centred_raw(dpi, left, top, _tooltipNumLines, _tooltipText); + // Text + left = w->x + ((w->width + 1) / 2) - 1; + top = w->y + 1; + draw_string_centred_raw(dpi, left, top, _tooltipNumLines, _tooltipText); } diff --git a/src/openrct2/windows/top_toolbar.c b/src/openrct2/windows/top_toolbar.c index fd577a2455..53b16550ef 100644 --- a/src/openrct2/windows/top_toolbar.c +++ b/src/openrct2/windows/top_toolbar.c @@ -40,35 +40,35 @@ #include "dropdown.h" enum { - WIDX_PAUSE, - WIDX_FILE_MENU, - WIDX_MUTE, - WIDX_ZOOM_OUT, - WIDX_ZOOM_IN, - WIDX_ROTATE, - WIDX_VIEW_MENU, - WIDX_MAP, + WIDX_PAUSE, + WIDX_FILE_MENU, + WIDX_MUTE, + WIDX_ZOOM_OUT, + WIDX_ZOOM_IN, + WIDX_ROTATE, + WIDX_VIEW_MENU, + WIDX_MAP, - WIDX_LAND, - WIDX_WATER, - WIDX_SCENERY, - WIDX_PATH, - WIDX_CONSTRUCT_RIDE, - WIDX_RIDES, - WIDX_PARK, - WIDX_STAFF, - WIDX_GUESTS, - WIDX_CLEAR_SCENERY, + WIDX_LAND, + WIDX_WATER, + WIDX_SCENERY, + WIDX_PATH, + WIDX_CONSTRUCT_RIDE, + WIDX_RIDES, + WIDX_PARK, + WIDX_STAFF, + WIDX_GUESTS, + WIDX_CLEAR_SCENERY, - WIDX_FASTFORWARD, - WIDX_CHEATS, - WIDX_DEBUG, - WIDX_FINANCES, - WIDX_RESEARCH, - WIDX_NEWS, - WIDX_NETWORK, + WIDX_FASTFORWARD, + WIDX_CHEATS, + WIDX_DEBUG, + WIDX_FINANCES, + WIDX_RESEARCH, + WIDX_NEWS, + WIDX_NETWORK, - WIDX_SEPARATOR, + WIDX_SEPARATOR, }; validate_global_widx(WC_TOP_TOOLBAR, WIDX_PAUSE); @@ -78,145 +78,145 @@ validate_global_widx(WC_TOP_TOOLBAR, WIDX_SCENERY); validate_global_widx(WC_TOP_TOOLBAR, WIDX_PATH); typedef enum { - DDIDX_NEW_GAME = 0, - DDIDX_LOAD_GAME = 1, - DDIDX_SAVE_GAME = 2, - DDIDX_SAVE_GAME_AS = 3, - // separator - DDIDX_ABOUT = 5, - DDIDX_OPTIONS = 6, - DDIDX_SCREENSHOT = 7, - DDIDX_GIANT_SCREENSHOT = 8, - // separator - DDIDX_QUIT_TO_MENU = 10, - DDIDX_EXIT_OPENRCT2 = 11, - // separator - DDIDX_ENABLE_TWITCH = 13 + DDIDX_NEW_GAME = 0, + DDIDX_LOAD_GAME = 1, + DDIDX_SAVE_GAME = 2, + DDIDX_SAVE_GAME_AS = 3, + // separator + DDIDX_ABOUT = 5, + DDIDX_OPTIONS = 6, + DDIDX_SCREENSHOT = 7, + DDIDX_GIANT_SCREENSHOT = 8, + // separator + DDIDX_QUIT_TO_MENU = 10, + DDIDX_EXIT_OPENRCT2 = 11, + // separator + DDIDX_ENABLE_TWITCH = 13 } FILE_MENU_DDIDX; typedef enum { - DDIDX_UNDERGROUND_INSIDE = 0, - DDIDX_HIDE_BASE = 1, - DDIDX_HIDE_VERTICAL = 2, - DDIDX_SEETHROUGH_RIDES = 4, - DDIDX_SEETHROUGH_SCENARY = 5, - DDIDX_SEETHROUGH_PATHS = 6, - DDIDX_INVISIBLE_SUPPORTS = 7, - DDIDX_INVISIBLE_PEEPS = 8, - DDIDX_LAND_HEIGHTS = 10, - DDIDX_TRACK_HEIGHTS = 11, - DDIDX_PATH_HEIGHTS = 12, - // 13 is a separator - DDIDX_VIEW_CLIPPING = 14, + DDIDX_UNDERGROUND_INSIDE = 0, + DDIDX_HIDE_BASE = 1, + DDIDX_HIDE_VERTICAL = 2, + DDIDX_SEETHROUGH_RIDES = 4, + DDIDX_SEETHROUGH_SCENARY = 5, + DDIDX_SEETHROUGH_PATHS = 6, + DDIDX_INVISIBLE_SUPPORTS = 7, + DDIDX_INVISIBLE_PEEPS = 8, + DDIDX_LAND_HEIGHTS = 10, + DDIDX_TRACK_HEIGHTS = 11, + DDIDX_PATH_HEIGHTS = 12, + // 13 is a separator + DDIDX_VIEW_CLIPPING = 14, - TOP_TOOLBAR_VIEW_MENU_COUNT + TOP_TOOLBAR_VIEW_MENU_COUNT } TOP_TOOLBAR_VIEW_MENU_DDIDX; typedef enum { - DDIDX_CONSOLE = 0, - DDIDX_TILE_INSPECTOR = 1, - DDIDX_OBJECT_SELECTION = 2, - DDIDX_INVENTIONS_LIST = 3, - DDIDX_SCENARIO_OPTIONS = 4, - DDIDX_DEBUG_PAINT = 5, + DDIDX_CONSOLE = 0, + DDIDX_TILE_INSPECTOR = 1, + DDIDX_OBJECT_SELECTION = 2, + DDIDX_INVENTIONS_LIST = 3, + DDIDX_SCENARIO_OPTIONS = 4, + DDIDX_DEBUG_PAINT = 5, - TOP_TOOLBAR_DEBUG_COUNT + TOP_TOOLBAR_DEBUG_COUNT } TOP_TOOLBAR_DEBUG_DDIDX; typedef enum { - DDIDX_MULTIPLAYER = 0 + DDIDX_MULTIPLAYER = 0 } TOP_TOOLBAR_NETWORK_DDIDX; enum { - DDIDX_CHEATS, - DDIDX_ENABLE_SANDBOX_MODE = 2, - DDIDX_DISABLE_CLEARANCE_CHECKS, - DDIDX_DISABLE_SUPPORT_LIMITS + DDIDX_CHEATS, + DDIDX_ENABLE_SANDBOX_MODE = 2, + DDIDX_DISABLE_CLEARANCE_CHECKS, + DDIDX_DISABLE_SUPPORT_LIMITS }; enum { - DDIDX_SHOW_MAP, - DDIDX_OPEN_VIEWPORT, + DDIDX_SHOW_MAP, + DDIDX_OPEN_VIEWPORT, }; enum { - DDIDX_ROTATE_CLOCKWISE, - DDIDX_ROTATE_ANTI_CLOCKWISE, + DDIDX_ROTATE_CLOCKWISE, + DDIDX_ROTATE_ANTI_CLOCKWISE, }; #pragma region Toolbar_widget_ordering // from left to right static const sint32 left_aligned_widgets_order[] = { - WIDX_PAUSE, - WIDX_FASTFORWARD, - WIDX_FILE_MENU, - WIDX_MUTE, - WIDX_NETWORK, - WIDX_CHEATS, - WIDX_DEBUG, + WIDX_PAUSE, + WIDX_FASTFORWARD, + WIDX_FILE_MENU, + WIDX_MUTE, + WIDX_NETWORK, + WIDX_CHEATS, + WIDX_DEBUG, - WIDX_SEPARATOR, + WIDX_SEPARATOR, + + WIDX_ZOOM_OUT, + WIDX_ZOOM_IN, + WIDX_ROTATE, + WIDX_VIEW_MENU, + WIDX_MAP, - WIDX_ZOOM_OUT, - WIDX_ZOOM_IN, - WIDX_ROTATE, - WIDX_VIEW_MENU, - WIDX_MAP, - }; // from right to left static const sint32 right_aligned_widgets_order[] = { - WIDX_NEWS, - WIDX_GUESTS, - WIDX_STAFF, - WIDX_PARK, - WIDX_RIDES, - WIDX_RESEARCH, - WIDX_FINANCES, + WIDX_NEWS, + WIDX_GUESTS, + WIDX_STAFF, + WIDX_PARK, + WIDX_RIDES, + WIDX_RESEARCH, + WIDX_FINANCES, - WIDX_SEPARATOR, + WIDX_SEPARATOR, - WIDX_CONSTRUCT_RIDE, - WIDX_PATH, - WIDX_SCENERY, - WIDX_WATER, - WIDX_LAND, - WIDX_CLEAR_SCENERY + WIDX_CONSTRUCT_RIDE, + WIDX_PATH, + WIDX_SCENERY, + WIDX_WATER, + WIDX_LAND, + WIDX_CLEAR_SCENERY }; #pragma endregion static rct_widget window_top_toolbar_widgets[] = { - { WWT_TRNBTN, 0, 0x0000, 0x001D, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_PAUSE, STR_PAUSE_GAME_TIP }, // Pause - { WWT_TRNBTN, 0, 0x001E + 30, 0x003B + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_FILE, STR_DISC_AND_GAME_OPTIONS_TIP }, // File menu - { WWT_TRNBTN, 0, 0x00DC + 30, 0x00F9 + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_G2_TOOLBAR_MUTE, STR_TOOLBAR_MUTE_TIP }, // Mute - { WWT_TRNBTN, 1, 0x0046 + 30, 0x0063 + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_ZOOM_OUT, STR_ZOOM_OUT_TIP }, // Zoom out - { WWT_TRNBTN, 1, 0x0064 + 30, 0x0081 + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_ZOOM_IN, STR_ZOOM_IN_TIP }, // Zoom in - { WWT_TRNBTN, 1, 0x0082 + 30, 0x009F + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_ROTATE, STR_ROTATE_TIP }, // Rotate camera - { WWT_TRNBTN, 1, 0x00A0 + 30, 0x00BD + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_VIEW, STR_VIEW_OPTIONS_TIP }, // Transparency menu - { WWT_TRNBTN, 1, 0x00BE + 30, 0x00DB + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_MAP, STR_SHOW_MAP_TIP }, // Map - { WWT_TRNBTN, 2, 0x010B, 0x0128, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_LAND, STR_ADJUST_LAND_TIP }, // Land - { WWT_TRNBTN, 2, 0x0129, 0x0146, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_WATER, STR_ADJUST_WATER_TIP }, // Water - { WWT_TRNBTN, 2, 0x0147, 0x0164, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_SCENERY, STR_PLACE_SCENERY_TIP }, // Scenery - { WWT_TRNBTN, 2, 0x0165, 0x0182, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_FOOTPATH, STR_BUILD_FOOTPATH_TIP }, // Path - { WWT_TRNBTN, 2, 0x0183, 0x01A0, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_CONSTRUCT_RIDE, STR_BUILD_RIDE_TIP }, // Construct ride - { WWT_TRNBTN, 3, 0x01EA, 0x0207, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_RIDES, STR_RIDES_IN_PARK_TIP }, // Rides - { WWT_TRNBTN, 3, 0x0208, 0x0225, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_PARK, STR_PARK_INFORMATION_TIP }, // Park - { WWT_TRNBTN, 3, 0x0226, 0x0243, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_STAFF_TIP }, // Staff - { WWT_TRNBTN, 3, 0x0230, 0x024D, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_GUESTS, STR_GUESTS_TIP }, // Guests - { WWT_TRNBTN, 2, 0x0230, 0x024D, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_CLEAR_SCENERY, STR_CLEAR_SCENERY_TIP }, // Clear scenery - { WWT_TRNBTN, 0, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_GAME_SPEED_TIP }, // Fast forward - { WWT_TRNBTN, 0, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_CHEATS_TIP }, // Cheats - { WWT_TRNBTN, 0, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_DEBUG_TIP }, // Debug - { WWT_TRNBTN, 3, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_SCENARIO_OPTIONS_FINANCIAL_TIP },// Finances - { WWT_TRNBTN, 3, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_FINANCES_RESEARCH_TIP }, // Research - { WWT_TRNBTN, 3, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_SHOW_RECENT_MESSAGES_TIP }, // News - { WWT_TRNBTN, 0, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_SHOW_MULTIPLAYER_STATUS_TIP }, // Network + { WWT_TRNBTN, 0, 0x0000, 0x001D, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_PAUSE, STR_PAUSE_GAME_TIP }, // Pause + { WWT_TRNBTN, 0, 0x001E + 30, 0x003B + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_FILE, STR_DISC_AND_GAME_OPTIONS_TIP }, // File menu + { WWT_TRNBTN, 0, 0x00DC + 30, 0x00F9 + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_G2_TOOLBAR_MUTE, STR_TOOLBAR_MUTE_TIP }, // Mute + { WWT_TRNBTN, 1, 0x0046 + 30, 0x0063 + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_ZOOM_OUT, STR_ZOOM_OUT_TIP }, // Zoom out + { WWT_TRNBTN, 1, 0x0064 + 30, 0x0081 + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_ZOOM_IN, STR_ZOOM_IN_TIP }, // Zoom in + { WWT_TRNBTN, 1, 0x0082 + 30, 0x009F + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_ROTATE, STR_ROTATE_TIP }, // Rotate camera + { WWT_TRNBTN, 1, 0x00A0 + 30, 0x00BD + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_VIEW, STR_VIEW_OPTIONS_TIP }, // Transparency menu + { WWT_TRNBTN, 1, 0x00BE + 30, 0x00DB + 30, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_MAP, STR_SHOW_MAP_TIP }, // Map + { WWT_TRNBTN, 2, 0x010B, 0x0128, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_LAND, STR_ADJUST_LAND_TIP }, // Land + { WWT_TRNBTN, 2, 0x0129, 0x0146, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_WATER, STR_ADJUST_WATER_TIP }, // Water + { WWT_TRNBTN, 2, 0x0147, 0x0164, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_SCENERY, STR_PLACE_SCENERY_TIP }, // Scenery + { WWT_TRNBTN, 2, 0x0165, 0x0182, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_FOOTPATH, STR_BUILD_FOOTPATH_TIP }, // Path + { WWT_TRNBTN, 2, 0x0183, 0x01A0, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_CONSTRUCT_RIDE, STR_BUILD_RIDE_TIP }, // Construct ride + { WWT_TRNBTN, 3, 0x01EA, 0x0207, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_RIDES, STR_RIDES_IN_PARK_TIP }, // Rides + { WWT_TRNBTN, 3, 0x0208, 0x0225, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_PARK, STR_PARK_INFORMATION_TIP }, // Park + { WWT_TRNBTN, 3, 0x0226, 0x0243, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_STAFF_TIP }, // Staff + { WWT_TRNBTN, 3, 0x0230, 0x024D, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_GUESTS, STR_GUESTS_TIP }, // Guests + { WWT_TRNBTN, 2, 0x0230, 0x024D, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TOOLBAR_CLEAR_SCENERY, STR_CLEAR_SCENERY_TIP }, // Clear scenery + { WWT_TRNBTN, 0, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_GAME_SPEED_TIP }, // Fast forward + { WWT_TRNBTN, 0, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_CHEATS_TIP }, // Cheats + { WWT_TRNBTN, 0, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_DEBUG_TIP }, // Debug + { WWT_TRNBTN, 3, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_SCENARIO_OPTIONS_FINANCIAL_TIP },// Finances + { WWT_TRNBTN, 3, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_FINANCES_RESEARCH_TIP }, // Research + { WWT_TRNBTN, 3, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_SHOW_RECENT_MESSAGES_TIP }, // News + { WWT_TRNBTN, 0, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, 0x20000000 | SPR_TAB_TOOLBAR, STR_SHOW_MULTIPLAYER_STATUS_TIP }, // Network - { WWT_EMPTY, 0, 0, 10-1, 0, 0, 0xFFFFFFFF, STR_NONE }, // Artificial widget separator - { WIDGETS_END }, + { WWT_EMPTY, 0, 0, 10-1, 0, 0, 0xFFFFFFFF, STR_NONE }, // Artificial widget separator + { WIDGETS_END }, }; static void window_top_toolbar_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -231,34 +231,34 @@ static void window_top_toolbar_invalidate(rct_window *w); static void window_top_toolbar_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_top_toolbar_events = { - NULL, - window_top_toolbar_mouseup, - NULL, - window_top_toolbar_mousedown, - window_top_toolbar_dropdown, - NULL, - NULL, - NULL, - NULL, // check if editor versions are significantly different... - window_top_toolbar_tool_update, // editor: 0x0066fB0E - window_top_toolbar_tool_down, // editor: 0x0066fB5C - window_top_toolbar_tool_drag, // editor: 0x0066fB37 - window_top_toolbar_tool_up, // editor: 0x0066fC44 (Exactly the same) - window_top_toolbar_tool_abort, // editor: 0x0066fA74 (Exactly the same) - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_top_toolbar_invalidate, - window_top_toolbar_paint, - NULL + NULL, + window_top_toolbar_mouseup, + NULL, + window_top_toolbar_mousedown, + window_top_toolbar_dropdown, + NULL, + NULL, + NULL, + NULL, // check if editor versions are significantly different... + window_top_toolbar_tool_update, // editor: 0x0066fB0E + window_top_toolbar_tool_down, // editor: 0x0066fB5C + window_top_toolbar_tool_drag, // editor: 0x0066fB37 + window_top_toolbar_tool_up, // editor: 0x0066fC44 (Exactly the same) + window_top_toolbar_tool_abort, // editor: 0x0066fA74 (Exactly the same) + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_top_toolbar_invalidate, + window_top_toolbar_paint, + NULL }; void top_toolbar_init_view_menu(rct_window *window, rct_widget *widget); @@ -280,10 +280,10 @@ void toggle_water_window(rct_window *topToolbar, rct_widgetindex widgetIndex); money32 selection_lower_land(uint8 flags); money32 selection_raise_land(uint8 flags); -static bool _menuDropdownIncludesTwitch; -static uint8 _unkF64F0E; -static sint16 _unkF64F0A; -static uint16 _unkF64F15; +static bool _menuDropdownIncludesTwitch; +static uint8 _unkF64F0E; +static sint16 _unkF64F0A; +static uint16 _unkF64F15; /** * Creates the main game top toolbar window. @@ -291,16 +291,16 @@ static uint16 _unkF64F15; */ void window_top_toolbar_open() { - rct_window * window = window_create( - 0, 0, - context_get_width(), TOP_TOOLBAR_HEIGHT + 1, - &window_top_toolbar_events, - WC_TOP_TOOLBAR, - WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_NO_BACKGROUND - ); - window->widgets = window_top_toolbar_widgets; + rct_window * window = window_create( + 0, 0, + context_get_width(), TOP_TOOLBAR_HEIGHT + 1, + &window_top_toolbar_events, + WC_TOP_TOOLBAR, + WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_NO_BACKGROUND + ); + window->widgets = window_top_toolbar_widgets; - window_init_scroll_widgets(window); + window_init_scroll_widgets(window); } /** @@ -309,68 +309,68 @@ void window_top_toolbar_open() */ static void window_top_toolbar_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - rct_window *mainWindow; + rct_window *mainWindow; - switch (widgetIndex) { - case WIDX_PAUSE: - if (network_get_mode() != NETWORK_MODE_CLIENT) { - game_do_command(0, 1, 0, 0, GAME_COMMAND_TOGGLE_PAUSE, 0, 0); - } - break; - case WIDX_ZOOM_OUT: - if ((mainWindow = window_get_main()) != NULL) - window_zoom_out(mainWindow, false); - break; - case WIDX_ZOOM_IN: - if ((mainWindow = window_get_main()) != NULL) - window_zoom_in(mainWindow, false); - break; - case WIDX_CLEAR_SCENERY: - toggle_clear_scenery_window(w, WIDX_CLEAR_SCENERY); - break; - case WIDX_LAND: - toggle_land_window(w, WIDX_LAND); - break; - case WIDX_WATER: - toggle_water_window(w, WIDX_WATER); - break; - case WIDX_SCENERY: - if (!tool_set(w, WIDX_SCENERY, TOOL_ARROW)) { - input_set_flag(INPUT_FLAG_6, true); - window_scenery_open(); - } - break; - case WIDX_PATH: - toggle_footpath_window(); - break; - case WIDX_CONSTRUCT_RIDE: - window_new_ride_open(); - break; - case WIDX_RIDES: - window_ride_list_open(); - break; - case WIDX_PARK: - window_park_entrance_open(); - break; - case WIDX_STAFF: - window_staff_list_open(); - break; - case WIDX_GUESTS: - window_guest_list_open(); - break; - case WIDX_FINANCES: - window_finances_open(); - break; - case WIDX_RESEARCH: - window_research_open(); - break; - case WIDX_NEWS: - window_news_open(); - break; - case WIDX_MUTE: - audio_toggle_all_sounds(); - break; - } + switch (widgetIndex) { + case WIDX_PAUSE: + if (network_get_mode() != NETWORK_MODE_CLIENT) { + game_do_command(0, 1, 0, 0, GAME_COMMAND_TOGGLE_PAUSE, 0, 0); + } + break; + case WIDX_ZOOM_OUT: + if ((mainWindow = window_get_main()) != NULL) + window_zoom_out(mainWindow, false); + break; + case WIDX_ZOOM_IN: + if ((mainWindow = window_get_main()) != NULL) + window_zoom_in(mainWindow, false); + break; + case WIDX_CLEAR_SCENERY: + toggle_clear_scenery_window(w, WIDX_CLEAR_SCENERY); + break; + case WIDX_LAND: + toggle_land_window(w, WIDX_LAND); + break; + case WIDX_WATER: + toggle_water_window(w, WIDX_WATER); + break; + case WIDX_SCENERY: + if (!tool_set(w, WIDX_SCENERY, TOOL_ARROW)) { + input_set_flag(INPUT_FLAG_6, true); + window_scenery_open(); + } + break; + case WIDX_PATH: + toggle_footpath_window(); + break; + case WIDX_CONSTRUCT_RIDE: + window_new_ride_open(); + break; + case WIDX_RIDES: + window_ride_list_open(); + break; + case WIDX_PARK: + window_park_entrance_open(); + break; + case WIDX_STAFF: + window_staff_list_open(); + break; + case WIDX_GUESTS: + window_guest_list_open(); + break; + case WIDX_FINANCES: + window_finances_open(); + break; + case WIDX_RESEARCH: + window_research_open(); + break; + case WIDX_NEWS: + window_news_open(); + break; + case WIDX_MUTE: + audio_toggle_all_sounds(); + break; + } } /** @@ -379,148 +379,148 @@ static void window_top_toolbar_mouseup(rct_window *w, rct_widgetindex widgetInde */ static void window_top_toolbar_mousedown(rct_widgetindex widgetIndex, rct_window*w, rct_widget* widget) { - sint32 numItems; + sint32 numItems; - switch (widgetIndex) { - case WIDX_FILE_MENU: - _menuDropdownIncludesTwitch = false; - if (gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { - gDropdownItemsFormat[0] = STR_ABOUT; - gDropdownItemsFormat[1] = STR_OPTIONS; - gDropdownItemsFormat[2] = STR_SCREENSHOT; - gDropdownItemsFormat[3] = STR_GIANT_SCREENSHOT; - gDropdownItemsFormat[4] = STR_EMPTY; - gDropdownItemsFormat[5] = STR_QUIT_TRACK_DESIGNS_MANAGER; - gDropdownItemsFormat[6] = STR_EXIT_OPENRCT2; + switch (widgetIndex) { + case WIDX_FILE_MENU: + _menuDropdownIncludesTwitch = false; + if (gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { + gDropdownItemsFormat[0] = STR_ABOUT; + gDropdownItemsFormat[1] = STR_OPTIONS; + gDropdownItemsFormat[2] = STR_SCREENSHOT; + gDropdownItemsFormat[3] = STR_GIANT_SCREENSHOT; + gDropdownItemsFormat[4] = STR_EMPTY; + gDropdownItemsFormat[5] = STR_QUIT_TRACK_DESIGNS_MANAGER; + gDropdownItemsFormat[6] = STR_EXIT_OPENRCT2; - if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) - gDropdownItemsFormat[5] = STR_QUIT_ROLLERCOASTER_DESIGNER; + if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) + gDropdownItemsFormat[5] = STR_QUIT_ROLLERCOASTER_DESIGNER; - numItems = 7; - } else if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - gDropdownItemsFormat[0] = STR_LOAD_LANDSCAPE; - gDropdownItemsFormat[1] = STR_SAVE_LANDSCAPE; - gDropdownItemsFormat[2] = STR_EMPTY; - gDropdownItemsFormat[3] = STR_ABOUT; - gDropdownItemsFormat[4] = STR_OPTIONS; - gDropdownItemsFormat[5] = STR_SCREENSHOT; - gDropdownItemsFormat[6] = STR_GIANT_SCREENSHOT; - gDropdownItemsFormat[7] = STR_EMPTY; - gDropdownItemsFormat[8] = STR_QUIT_SCENARIO_EDITOR; - gDropdownItemsFormat[9] = STR_EXIT_OPENRCT2; - numItems = 10; - } else { - gDropdownItemsFormat[0] = STR_NEW_GAME; - gDropdownItemsFormat[1] = STR_LOAD_GAME; - gDropdownItemsFormat[2] = STR_SAVE_GAME; - gDropdownItemsFormat[3] = STR_SAVE_GAME_AS; - gDropdownItemsFormat[4] = STR_EMPTY; - gDropdownItemsFormat[5] = STR_ABOUT; - gDropdownItemsFormat[6] = STR_OPTIONS; - gDropdownItemsFormat[7] = STR_SCREENSHOT; - gDropdownItemsFormat[8] = STR_GIANT_SCREENSHOT; - gDropdownItemsFormat[9] = STR_EMPTY; - gDropdownItemsFormat[10] = STR_QUIT_TO_MENU; - gDropdownItemsFormat[11] = STR_EXIT_OPENRCT2; - numItems = 12; + numItems = 7; + } else if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { + gDropdownItemsFormat[0] = STR_LOAD_LANDSCAPE; + gDropdownItemsFormat[1] = STR_SAVE_LANDSCAPE; + gDropdownItemsFormat[2] = STR_EMPTY; + gDropdownItemsFormat[3] = STR_ABOUT; + gDropdownItemsFormat[4] = STR_OPTIONS; + gDropdownItemsFormat[5] = STR_SCREENSHOT; + gDropdownItemsFormat[6] = STR_GIANT_SCREENSHOT; + gDropdownItemsFormat[7] = STR_EMPTY; + gDropdownItemsFormat[8] = STR_QUIT_SCENARIO_EDITOR; + gDropdownItemsFormat[9] = STR_EXIT_OPENRCT2; + numItems = 10; + } else { + gDropdownItemsFormat[0] = STR_NEW_GAME; + gDropdownItemsFormat[1] = STR_LOAD_GAME; + gDropdownItemsFormat[2] = STR_SAVE_GAME; + gDropdownItemsFormat[3] = STR_SAVE_GAME_AS; + gDropdownItemsFormat[4] = STR_EMPTY; + gDropdownItemsFormat[5] = STR_ABOUT; + gDropdownItemsFormat[6] = STR_OPTIONS; + gDropdownItemsFormat[7] = STR_SCREENSHOT; + gDropdownItemsFormat[8] = STR_GIANT_SCREENSHOT; + gDropdownItemsFormat[9] = STR_EMPTY; + gDropdownItemsFormat[10] = STR_QUIT_TO_MENU; + gDropdownItemsFormat[11] = STR_EXIT_OPENRCT2; + numItems = 12; - #ifndef DISABLE_TWITCH - if (gConfigTwitch.channel != NULL && gConfigTwitch.channel[0] != 0) { - _menuDropdownIncludesTwitch = true; - gDropdownItemsFormat[12] = STR_EMPTY; - gDropdownItemsFormat[DDIDX_ENABLE_TWITCH] = STR_TOGGLE_OPTION; - gDropdownItemsArgs[DDIDX_ENABLE_TWITCH] = STR_TWITCH_ENABLE; - numItems = 14; - } - #endif - } - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[0] | 0x80, - DROPDOWN_FLAG_STAY_OPEN, - numItems - ); + #ifndef DISABLE_TWITCH + if (gConfigTwitch.channel != NULL && gConfigTwitch.channel[0] != 0) { + _menuDropdownIncludesTwitch = true; + gDropdownItemsFormat[12] = STR_EMPTY; + gDropdownItemsFormat[DDIDX_ENABLE_TWITCH] = STR_TOGGLE_OPTION; + gDropdownItemsArgs[DDIDX_ENABLE_TWITCH] = STR_TWITCH_ENABLE; + numItems = 14; + } + #endif + } + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[0] | 0x80, + DROPDOWN_FLAG_STAY_OPEN, + numItems + ); #ifndef DISABLE_TWITCH - if (_menuDropdownIncludesTwitch && gTwitchEnable) { - dropdown_set_checked(DDIDX_ENABLE_TWITCH, true); - } + if (_menuDropdownIncludesTwitch && gTwitchEnable) { + dropdown_set_checked(DDIDX_ENABLE_TWITCH, true); + } #endif - break; - case WIDX_CHEATS: - gDropdownItemsFormat[0] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[1] = STR_EMPTY; - gDropdownItemsFormat[2] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[3] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[4] = STR_TOGGLE_OPTION; - gDropdownItemsArgs[0] = STR_CHEAT_TITLE; - gDropdownItemsArgs[2] = STR_ENABLE_SANDBOX_MODE; - gDropdownItemsArgs[3] = STR_DISABLE_CLEARANCE_CHECKS; - gDropdownItemsArgs[4] = STR_DISABLE_SUPPORT_LIMITS; - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[0] | 0x80, - 0, - 5 - ); - if (gCheatsSandboxMode) { - dropdown_set_checked(DDIDX_ENABLE_SANDBOX_MODE, true); - } - if (gCheatsDisableClearanceChecks) { - dropdown_set_checked(DDIDX_DISABLE_CLEARANCE_CHECKS, true); - } - if (gCheatsDisableSupportLimits) { - dropdown_set_checked(DDIDX_DISABLE_SUPPORT_LIMITS, true); - } - gDropdownDefaultIndex = DDIDX_CHEATS; - break; - case WIDX_VIEW_MENU: - top_toolbar_init_view_menu(w, widget); - break; - case WIDX_MAP: - gDropdownItemsFormat[0] = STR_SHORTCUT_SHOW_MAP; - gDropdownItemsFormat[1] = STR_EXTRA_VIEWPORT; - numItems = 2; + break; + case WIDX_CHEATS: + gDropdownItemsFormat[0] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[1] = STR_EMPTY; + gDropdownItemsFormat[2] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[3] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[4] = STR_TOGGLE_OPTION; + gDropdownItemsArgs[0] = STR_CHEAT_TITLE; + gDropdownItemsArgs[2] = STR_ENABLE_SANDBOX_MODE; + gDropdownItemsArgs[3] = STR_DISABLE_CLEARANCE_CHECKS; + gDropdownItemsArgs[4] = STR_DISABLE_SUPPORT_LIMITS; + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[0] | 0x80, + 0, + 5 + ); + if (gCheatsSandboxMode) { + dropdown_set_checked(DDIDX_ENABLE_SANDBOX_MODE, true); + } + if (gCheatsDisableClearanceChecks) { + dropdown_set_checked(DDIDX_DISABLE_CLEARANCE_CHECKS, true); + } + if (gCheatsDisableSupportLimits) { + dropdown_set_checked(DDIDX_DISABLE_SUPPORT_LIMITS, true); + } + gDropdownDefaultIndex = DDIDX_CHEATS; + break; + case WIDX_VIEW_MENU: + top_toolbar_init_view_menu(w, widget); + break; + case WIDX_MAP: + gDropdownItemsFormat[0] = STR_SHORTCUT_SHOW_MAP; + gDropdownItemsFormat[1] = STR_EXTRA_VIEWPORT; + numItems = 2; - if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) { - gDropdownItemsFormat[2] = STR_MAPGEN_WINDOW_TITLE; - numItems++; - } + if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR) { + gDropdownItemsFormat[2] = STR_MAPGEN_WINDOW_TITLE; + numItems++; + } - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1] | 0x80, - 0, - numItems - ); - gDropdownDefaultIndex = DDIDX_SHOW_MAP; - break; - case WIDX_FASTFORWARD: - top_toolbar_init_fastforward_menu(w, widget); - break; - case WIDX_ROTATE: - top_toolbar_init_rotate_menu(w, widget); - break; - case WIDX_DEBUG: - top_toolbar_init_debug_menu(w, widget); - break; - case WIDX_NETWORK: - top_toolbar_init_network_menu(w, widget); - break; - } + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1] | 0x80, + 0, + numItems + ); + gDropdownDefaultIndex = DDIDX_SHOW_MAP; + break; + case WIDX_FASTFORWARD: + top_toolbar_init_fastforward_menu(w, widget); + break; + case WIDX_ROTATE: + top_toolbar_init_rotate_menu(w, widget); + break; + case WIDX_DEBUG: + top_toolbar_init_debug_menu(w, widget); + break; + case WIDX_NETWORK: + top_toolbar_init_network_menu(w, widget); + break; + } } static void window_top_toolbar_scenarioselect_callback(const utf8 *path) { - if (!scenario_load_and_play_from_path(path)) { - title_load(); - } + if (!scenario_load_and_play_from_path(path)) { + title_load(); + } } /** @@ -529,113 +529,113 @@ static void window_top_toolbar_scenarioselect_callback(const utf8 *path) */ static void window_top_toolbar_dropdown(rct_window *w, rct_widgetindex widgetIndex, sint32 dropdownIndex) { - switch (widgetIndex) { - case WIDX_FILE_MENU: + switch (widgetIndex) { + case WIDX_FILE_MENU: - // New game is only available in the normal game. Skip one position to avoid incorrect mappings in the menus of the other modes. - if (gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR)) - dropdownIndex += 1; + // New game is only available in the normal game. Skip one position to avoid incorrect mappings in the menus of the other modes. + if (gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR)) + dropdownIndex += 1; - // Quicksave is only available in the normal game. Skip one position to avoid incorrect mappings in the menus of the other modes. - if (gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR) && dropdownIndex > DDIDX_LOAD_GAME) - dropdownIndex += 1; + // Quicksave is only available in the normal game. Skip one position to avoid incorrect mappings in the menus of the other modes. + if (gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR) && dropdownIndex > DDIDX_LOAD_GAME) + dropdownIndex += 1; - // Track designer and track designs manager start with About, not Load/save - if (gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) - dropdownIndex += DDIDX_ABOUT; + // Track designer and track designs manager start with About, not Load/save + if (gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) + dropdownIndex += DDIDX_ABOUT; - switch (dropdownIndex) { - case DDIDX_NEW_GAME: - window_scenarioselect_open(window_top_toolbar_scenarioselect_callback); - break; - case DDIDX_LOAD_GAME: - game_do_command(0, 1, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 0, 0); - break; - case DDIDX_SAVE_GAME: - tool_cancel(); - save_game(); - break; - case DDIDX_SAVE_GAME_AS: - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - window_loadsave_open(LOADSAVETYPE_SAVE | LOADSAVETYPE_LANDSCAPE, gS6Info.name); - } - else { - tool_cancel(); - save_game_as(); - } - break; - case DDIDX_ABOUT: - window_about_open(); - break; - case DDIDX_OPTIONS: - window_options_open(); - break; - case DDIDX_SCREENSHOT: - gScreenshotCountdown = 10; - break; - case DDIDX_GIANT_SCREENSHOT: - screenshot_giant(); - break; - case DDIDX_QUIT_TO_MENU: - window_close_by_class(WC_MANAGE_TRACK_DESIGN); - window_close_by_class(WC_TRACK_DELETE_PROMPT); - game_do_command(0, 1, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 1, 0); - break; - case DDIDX_EXIT_OPENRCT2: - rct2_quit(); - break; + switch (dropdownIndex) { + case DDIDX_NEW_GAME: + window_scenarioselect_open(window_top_toolbar_scenarioselect_callback); + break; + case DDIDX_LOAD_GAME: + game_do_command(0, 1, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 0, 0); + break; + case DDIDX_SAVE_GAME: + tool_cancel(); + save_game(); + break; + case DDIDX_SAVE_GAME_AS: + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { + window_loadsave_open(LOADSAVETYPE_SAVE | LOADSAVETYPE_LANDSCAPE, gS6Info.name); + } + else { + tool_cancel(); + save_game_as(); + } + break; + case DDIDX_ABOUT: + window_about_open(); + break; + case DDIDX_OPTIONS: + window_options_open(); + break; + case DDIDX_SCREENSHOT: + gScreenshotCountdown = 10; + break; + case DDIDX_GIANT_SCREENSHOT: + screenshot_giant(); + break; + case DDIDX_QUIT_TO_MENU: + window_close_by_class(WC_MANAGE_TRACK_DESIGN); + window_close_by_class(WC_TRACK_DELETE_PROMPT); + game_do_command(0, 1, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 1, 0); + break; + case DDIDX_EXIT_OPENRCT2: + rct2_quit(); + break; #ifndef DISABLE_TWITCH - case DDIDX_ENABLE_TWITCH: - gTwitchEnable = !gTwitchEnable; - break; + case DDIDX_ENABLE_TWITCH: + gTwitchEnable = !gTwitchEnable; + break; #endif - } - break; - case WIDX_CHEATS: - switch (dropdownIndex) { - case DDIDX_CHEATS: - window_cheats_open(); - break; - case DDIDX_ENABLE_SANDBOX_MODE: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SANDBOXMODE, !gCheatsSandboxMode, GAME_COMMAND_CHEAT, 0, 0); - break; - case DDIDX_DISABLE_CLEARANCE_CHECKS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLECLEARANCECHECKS, !gCheatsDisableClearanceChecks, GAME_COMMAND_CHEAT, 0, 0); - break; - case DDIDX_DISABLE_SUPPORT_LIMITS: - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLESUPPORTLIMITS, !gCheatsDisableSupportLimits, GAME_COMMAND_CHEAT, 0, 0); - break; - } - break; - case WIDX_VIEW_MENU: - top_toolbar_view_menu_dropdown(dropdownIndex); - break; - case WIDX_MAP: - switch (dropdownIndex) { - case 0: - window_map_open(); - break; - case 1: - window_viewport_open(); - break; - case 2: - window_mapgen_open(); - break; - } - break; - case WIDX_FASTFORWARD: - top_toolbar_fastforward_menu_dropdown(dropdownIndex); - break; - case WIDX_ROTATE: - top_toolbar_rotate_menu_dropdown(dropdownIndex); - break; - case WIDX_DEBUG: - top_toolbar_debug_menu_dropdown(dropdownIndex); - break; - case WIDX_NETWORK: - top_toolbar_network_menu_dropdown(dropdownIndex); - break; - } + } + break; + case WIDX_CHEATS: + switch (dropdownIndex) { + case DDIDX_CHEATS: + window_cheats_open(); + break; + case DDIDX_ENABLE_SANDBOX_MODE: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SANDBOXMODE, !gCheatsSandboxMode, GAME_COMMAND_CHEAT, 0, 0); + break; + case DDIDX_DISABLE_CLEARANCE_CHECKS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLECLEARANCECHECKS, !gCheatsDisableClearanceChecks, GAME_COMMAND_CHEAT, 0, 0); + break; + case DDIDX_DISABLE_SUPPORT_LIMITS: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLESUPPORTLIMITS, !gCheatsDisableSupportLimits, GAME_COMMAND_CHEAT, 0, 0); + break; + } + break; + case WIDX_VIEW_MENU: + top_toolbar_view_menu_dropdown(dropdownIndex); + break; + case WIDX_MAP: + switch (dropdownIndex) { + case 0: + window_map_open(); + break; + case 1: + window_viewport_open(); + break; + case 2: + window_mapgen_open(); + break; + } + break; + case WIDX_FASTFORWARD: + top_toolbar_fastforward_menu_dropdown(dropdownIndex); + break; + case WIDX_ROTATE: + top_toolbar_rotate_menu_dropdown(dropdownIndex); + break; + case WIDX_DEBUG: + top_toolbar_debug_menu_dropdown(dropdownIndex); + break; + case WIDX_NETWORK: + top_toolbar_network_menu_dropdown(dropdownIndex); + break; + } } /** @@ -644,168 +644,168 @@ static void window_top_toolbar_dropdown(rct_window *w, rct_widgetindex widgetInd */ static void window_top_toolbar_invalidate(rct_window *w) { - sint32 x, enabledWidgets, widgetIndex, widgetWidth, firstAlignment; - rct_widget *widget; + sint32 x, enabledWidgets, widgetIndex, widgetWidth, firstAlignment; + rct_widget *widget; - // Enable / disable buttons - window_top_toolbar_widgets[WIDX_PAUSE].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_FILE_MENU].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_ZOOM_OUT].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_ZOOM_IN].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_ROTATE].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_VIEW_MENU].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_MAP].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_MUTE].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_LAND].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_WATER].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_SCENERY].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_PATH].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_CONSTRUCT_RIDE].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_RIDES].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_PARK].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_STAFF].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_GUESTS].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_CLEAR_SCENERY].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_FINANCES].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_RESEARCH].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_FASTFORWARD].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_CHEATS].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_DEBUG].type = gConfigGeneral.debugging_tools ? WWT_TRNBTN : WWT_EMPTY; - window_top_toolbar_widgets[WIDX_NEWS].type = WWT_TRNBTN; - window_top_toolbar_widgets[WIDX_NETWORK].type = WWT_TRNBTN; + // Enable / disable buttons + window_top_toolbar_widgets[WIDX_PAUSE].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_FILE_MENU].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_ZOOM_OUT].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_ZOOM_IN].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_ROTATE].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_VIEW_MENU].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_MAP].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_MUTE].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_LAND].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_WATER].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_SCENERY].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_PATH].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_CONSTRUCT_RIDE].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_RIDES].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_PARK].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_STAFF].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_GUESTS].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_CLEAR_SCENERY].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_FINANCES].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_RESEARCH].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_FASTFORWARD].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_CHEATS].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_DEBUG].type = gConfigGeneral.debugging_tools ? WWT_TRNBTN : WWT_EMPTY; + window_top_toolbar_widgets[WIDX_NEWS].type = WWT_TRNBTN; + window_top_toolbar_widgets[WIDX_NETWORK].type = WWT_TRNBTN; - if (gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { - window_top_toolbar_widgets[WIDX_PAUSE].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_RIDES].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_PARK].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_STAFF].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_GUESTS].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_FINANCES].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_RESEARCH].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_CHEATS].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_NEWS].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_NETWORK].type = WWT_EMPTY; + if (gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { + window_top_toolbar_widgets[WIDX_PAUSE].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_RIDES].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_PARK].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_STAFF].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_GUESTS].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_FINANCES].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_RESEARCH].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_CHEATS].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_NEWS].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_NETWORK].type = WWT_EMPTY; - if (gS6Info.editor_step != EDITOR_STEP_LANDSCAPE_EDITOR) { - window_top_toolbar_widgets[WIDX_MAP].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_LAND].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_WATER].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_SCENERY].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_PATH].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_CLEAR_SCENERY].type = WWT_EMPTY; - } + if (gS6Info.editor_step != EDITOR_STEP_LANDSCAPE_EDITOR) { + window_top_toolbar_widgets[WIDX_MAP].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_LAND].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_WATER].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_SCENERY].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_PATH].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_CLEAR_SCENERY].type = WWT_EMPTY; + } - if (gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) { - window_top_toolbar_widgets[WIDX_CONSTRUCT_RIDE].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_FASTFORWARD].type = WWT_EMPTY; - } + if (gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) { + window_top_toolbar_widgets[WIDX_CONSTRUCT_RIDE].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_FASTFORWARD].type = WWT_EMPTY; + } - if (gS6Info.editor_step != EDITOR_STEP_LANDSCAPE_EDITOR && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) { - window_top_toolbar_widgets[WIDX_ZOOM_OUT].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_ZOOM_IN].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_ROTATE].type = WWT_EMPTY; - window_top_toolbar_widgets[WIDX_VIEW_MENU].type = WWT_EMPTY; - } - } else { - if ((gParkFlags & PARK_FLAGS_NO_MONEY) || !gConfigInterface.toolbar_show_finances) - window_top_toolbar_widgets[WIDX_FINANCES].type = WWT_EMPTY; + if (gS6Info.editor_step != EDITOR_STEP_LANDSCAPE_EDITOR && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER) { + window_top_toolbar_widgets[WIDX_ZOOM_OUT].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_ZOOM_IN].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_ROTATE].type = WWT_EMPTY; + window_top_toolbar_widgets[WIDX_VIEW_MENU].type = WWT_EMPTY; + } + } else { + if ((gParkFlags & PARK_FLAGS_NO_MONEY) || !gConfigInterface.toolbar_show_finances) + window_top_toolbar_widgets[WIDX_FINANCES].type = WWT_EMPTY; - if (!gConfigInterface.toolbar_show_research) - window_top_toolbar_widgets[WIDX_RESEARCH].type = WWT_EMPTY; + if (!gConfigInterface.toolbar_show_research) + window_top_toolbar_widgets[WIDX_RESEARCH].type = WWT_EMPTY; - if (!gConfigInterface.toolbar_show_cheats) - window_top_toolbar_widgets[WIDX_CHEATS].type = WWT_EMPTY; + if (!gConfigInterface.toolbar_show_cheats) + window_top_toolbar_widgets[WIDX_CHEATS].type = WWT_EMPTY; - if (!gConfigInterface.toolbar_show_news) - window_top_toolbar_widgets[WIDX_NEWS].type = WWT_EMPTY; + if (!gConfigInterface.toolbar_show_news) + window_top_toolbar_widgets[WIDX_NEWS].type = WWT_EMPTY; - if (!gConfigInterface.toolbar_show_mute) - window_top_toolbar_widgets[WIDX_MUTE].type = WWT_EMPTY; + if (!gConfigInterface.toolbar_show_mute) + window_top_toolbar_widgets[WIDX_MUTE].type = WWT_EMPTY; - switch (network_get_mode()) { - case NETWORK_MODE_NONE: - window_top_toolbar_widgets[WIDX_NETWORK].type = WWT_EMPTY; - break; - case NETWORK_MODE_CLIENT: - window_top_toolbar_widgets[WIDX_PAUSE].type = WWT_EMPTY; - // Fall-through - case NETWORK_MODE_SERVER: - window_top_toolbar_widgets[WIDX_FASTFORWARD].type = WWT_EMPTY; - break; - } - } + switch (network_get_mode()) { + case NETWORK_MODE_NONE: + window_top_toolbar_widgets[WIDX_NETWORK].type = WWT_EMPTY; + break; + case NETWORK_MODE_CLIENT: + window_top_toolbar_widgets[WIDX_PAUSE].type = WWT_EMPTY; + // Fall-through + case NETWORK_MODE_SERVER: + window_top_toolbar_widgets[WIDX_FASTFORWARD].type = WWT_EMPTY; + break; + } + } - enabledWidgets = 0; - for (int i = WIDX_PAUSE; i <= WIDX_NETWORK; i++) - if (window_top_toolbar_widgets[i].type != WWT_EMPTY) - enabledWidgets |= (1 << i); - w->enabled_widgets = enabledWidgets; + enabledWidgets = 0; + for (int i = WIDX_PAUSE; i <= WIDX_NETWORK; i++) + if (window_top_toolbar_widgets[i].type != WWT_EMPTY) + enabledWidgets |= (1 << i); + w->enabled_widgets = enabledWidgets; - // Align left hand side toolbar buttons - firstAlignment = 1; - x = 0; - for (sint32 i = 0; i < countof(left_aligned_widgets_order); ++i) { - widgetIndex = left_aligned_widgets_order[i]; - widget = &window_top_toolbar_widgets[widgetIndex]; - if (widget->type == WWT_EMPTY && widgetIndex != WIDX_SEPARATOR) - continue; + // Align left hand side toolbar buttons + firstAlignment = 1; + x = 0; + for (sint32 i = 0; i < countof(left_aligned_widgets_order); ++i) { + widgetIndex = left_aligned_widgets_order[i]; + widget = &window_top_toolbar_widgets[widgetIndex]; + if (widget->type == WWT_EMPTY && widgetIndex != WIDX_SEPARATOR) + continue; - if (firstAlignment && widgetIndex == WIDX_SEPARATOR) - continue; + if (firstAlignment && widgetIndex == WIDX_SEPARATOR) + continue; - widgetWidth = widget->right - widget->left; - widget->left = x; - x += widgetWidth; - widget->right = x; - x += 1; - firstAlignment = 0; - } + widgetWidth = widget->right - widget->left; + widget->left = x; + x += widgetWidth; + widget->right = x; + x += 1; + firstAlignment = 0; + } - // Align right hand side toolbar buttons - sint32 screenWidth = context_get_width(); - firstAlignment = 1; - x = max(640, screenWidth); - for (sint32 i = 0; i < countof(right_aligned_widgets_order); ++i) { - widgetIndex = right_aligned_widgets_order[i]; - widget = &window_top_toolbar_widgets[widgetIndex]; - if (widget->type == WWT_EMPTY && widgetIndex != WIDX_SEPARATOR) - continue; + // Align right hand side toolbar buttons + sint32 screenWidth = context_get_width(); + firstAlignment = 1; + x = max(640, screenWidth); + for (sint32 i = 0; i < countof(right_aligned_widgets_order); ++i) { + widgetIndex = right_aligned_widgets_order[i]; + widget = &window_top_toolbar_widgets[widgetIndex]; + if (widget->type == WWT_EMPTY && widgetIndex != WIDX_SEPARATOR) + continue; - if (firstAlignment && widgetIndex == WIDX_SEPARATOR) - continue; + if (firstAlignment && widgetIndex == WIDX_SEPARATOR) + continue; - widgetWidth = widget->right - widget->left; - x -= 1; - widget->right = x; - x -= widgetWidth; - widget->left = x; - firstAlignment = 0; - } + widgetWidth = widget->right - widget->left; + x -= 1; + widget->right = x; + x -= widgetWidth; + widget->left = x; + firstAlignment = 0; + } - // Footpath button pressed down - if (window_find_by_class(WC_FOOTPATH) == NULL) - w->pressed_widgets &= ~(1 << WIDX_PATH); - else - w->pressed_widgets |= (1 << WIDX_PATH); + // Footpath button pressed down + if (window_find_by_class(WC_FOOTPATH) == NULL) + w->pressed_widgets &= ~(1 << WIDX_PATH); + else + w->pressed_widgets |= (1 << WIDX_PATH); - if (gGamePaused & GAME_PAUSED_NORMAL) - w->pressed_widgets |= (1 << WIDX_PAUSE); - else - w->pressed_widgets &= ~(1 << WIDX_PAUSE); + if (gGamePaused & GAME_PAUSED_NORMAL) + w->pressed_widgets |= (1 << WIDX_PAUSE); + else + w->pressed_widgets &= ~(1 << WIDX_PAUSE); - if (!gGameSoundsOff) - window_top_toolbar_widgets[WIDX_MUTE].image = 0x20000000 | SPR_G2_TOOLBAR_MUTE; - else - window_top_toolbar_widgets[WIDX_MUTE].image = 0x20000000 | SPR_G2_TOOLBAR_UNMUTE; + if (!gGameSoundsOff) + window_top_toolbar_widgets[WIDX_MUTE].image = 0x20000000 | SPR_G2_TOOLBAR_MUTE; + else + window_top_toolbar_widgets[WIDX_MUTE].image = 0x20000000 | SPR_G2_TOOLBAR_UNMUTE; - // Zoomed out/in disable. Not sure where this code is in the original. - if (window_get_main()->viewport->zoom == 0){ - w->disabled_widgets |= (1 << WIDX_ZOOM_IN); - } else if (window_get_main()->viewport->zoom == 3){ - w->disabled_widgets |= (1 << WIDX_ZOOM_OUT); - } else { - w->disabled_widgets &= ~((1 << WIDX_ZOOM_IN) | (1 << WIDX_ZOOM_OUT)); - } + // Zoomed out/in disable. Not sure where this code is in the original. + if (window_get_main()->viewport->zoom == 0){ + w->disabled_widgets |= (1 << WIDX_ZOOM_IN); + } else if (window_get_main()->viewport->zoom == 3){ + w->disabled_widgets |= (1 << WIDX_ZOOM_OUT); + } else { + w->disabled_widgets &= ~((1 << WIDX_ZOOM_IN) | (1 << WIDX_ZOOM_OUT)); + } } /** @@ -814,98 +814,98 @@ static void window_top_toolbar_invalidate(rct_window *w) */ static void window_top_toolbar_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y, imgId; + sint32 x, y, imgId; - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - // Draw staff button image (setting masks to the staff colours) - if (window_top_toolbar_widgets[WIDX_STAFF].type != WWT_EMPTY) { - x = w->x + window_top_toolbar_widgets[WIDX_STAFF].left; - y = w->y + window_top_toolbar_widgets[WIDX_STAFF].top; - imgId = SPR_TOOLBAR_STAFF; - if (widget_is_pressed(w, WIDX_STAFF)) - imgId++; - imgId |= (gStaffHandymanColour << 19) | 0xA0000000 | (gStaffMechanicColour << 24); - gfx_draw_sprite(dpi, imgId, x, y, 0); - } + // Draw staff button image (setting masks to the staff colours) + if (window_top_toolbar_widgets[WIDX_STAFF].type != WWT_EMPTY) { + x = w->x + window_top_toolbar_widgets[WIDX_STAFF].left; + y = w->y + window_top_toolbar_widgets[WIDX_STAFF].top; + imgId = SPR_TOOLBAR_STAFF; + if (widget_is_pressed(w, WIDX_STAFF)) + imgId++; + imgId |= (gStaffHandymanColour << 19) | 0xA0000000 | (gStaffMechanicColour << 24); + gfx_draw_sprite(dpi, imgId, x, y, 0); + } - // Draw fast forward button - if (window_top_toolbar_widgets[WIDX_FASTFORWARD].type != WWT_EMPTY) { - x = w->x + window_top_toolbar_widgets[WIDX_FASTFORWARD].left + 0; - y = w->y + window_top_toolbar_widgets[WIDX_FASTFORWARD].top + 0; - if (widget_is_pressed(w, WIDX_FASTFORWARD)) - y++; - imgId = SPR_G2_FASTFORWARD; - gfx_draw_sprite(dpi, imgId, x + 6, y + 3, 0); + // Draw fast forward button + if (window_top_toolbar_widgets[WIDX_FASTFORWARD].type != WWT_EMPTY) { + x = w->x + window_top_toolbar_widgets[WIDX_FASTFORWARD].left + 0; + y = w->y + window_top_toolbar_widgets[WIDX_FASTFORWARD].top + 0; + if (widget_is_pressed(w, WIDX_FASTFORWARD)) + y++; + imgId = SPR_G2_FASTFORWARD; + gfx_draw_sprite(dpi, imgId, x + 6, y + 3, 0); - for (sint32 i = 0; i < gGameSpeed && gGameSpeed <= 4; i++) { - gfx_draw_sprite(dpi, SPR_G2_SPEED_ARROW, x + 5 + i * 5, y + 15, 0); - } - for (sint32 i = 0; i < 3 && i < gGameSpeed - 4 && gGameSpeed >= 5; i++) { - gfx_draw_sprite(dpi, SPR_G2_HYPER_ARROW, x + 5 + i * 6, y + 15, 0); - } - } + for (sint32 i = 0; i < gGameSpeed && gGameSpeed <= 4; i++) { + gfx_draw_sprite(dpi, SPR_G2_SPEED_ARROW, x + 5 + i * 5, y + 15, 0); + } + for (sint32 i = 0; i < 3 && i < gGameSpeed - 4 && gGameSpeed >= 5; i++) { + gfx_draw_sprite(dpi, SPR_G2_HYPER_ARROW, x + 5 + i * 6, y + 15, 0); + } + } - // Draw cheats button - if (window_top_toolbar_widgets[WIDX_CHEATS].type != WWT_EMPTY) { - x = w->x + window_top_toolbar_widgets[WIDX_CHEATS].left - 1; - y = w->y + window_top_toolbar_widgets[WIDX_CHEATS].top - 1; - if (widget_is_pressed(w, WIDX_CHEATS)) - y++; - imgId = SPR_G2_SANDBOX; - gfx_draw_sprite(dpi, imgId, x, y, 3); - } + // Draw cheats button + if (window_top_toolbar_widgets[WIDX_CHEATS].type != WWT_EMPTY) { + x = w->x + window_top_toolbar_widgets[WIDX_CHEATS].left - 1; + y = w->y + window_top_toolbar_widgets[WIDX_CHEATS].top - 1; + if (widget_is_pressed(w, WIDX_CHEATS)) + y++; + imgId = SPR_G2_SANDBOX; + gfx_draw_sprite(dpi, imgId, x, y, 3); + } - // Draw debug button - if (window_top_toolbar_widgets[WIDX_DEBUG].type != WWT_EMPTY) { - x = w->x + window_top_toolbar_widgets[WIDX_DEBUG].left; - y = w->y + window_top_toolbar_widgets[WIDX_DEBUG].top - 1; - if (widget_is_pressed(w, WIDX_DEBUG)) - y++; - imgId = SPR_TAB_GEARS_0; - gfx_draw_sprite(dpi, imgId, x, y, 3); - } + // Draw debug button + if (window_top_toolbar_widgets[WIDX_DEBUG].type != WWT_EMPTY) { + x = w->x + window_top_toolbar_widgets[WIDX_DEBUG].left; + y = w->y + window_top_toolbar_widgets[WIDX_DEBUG].top - 1; + if (widget_is_pressed(w, WIDX_DEBUG)) + y++; + imgId = SPR_TAB_GEARS_0; + gfx_draw_sprite(dpi, imgId, x, y, 3); + } - // Draw research button - if (window_top_toolbar_widgets[WIDX_RESEARCH].type != WWT_EMPTY) { - x = w->x + window_top_toolbar_widgets[WIDX_RESEARCH].left - 1; - y = w->y + window_top_toolbar_widgets[WIDX_RESEARCH].top; - if (widget_is_pressed(w, WIDX_RESEARCH)) - y++; - imgId = SPR_TAB_FINANCES_RESEARCH_0; - gfx_draw_sprite(dpi, imgId, x, y, 0); - } + // Draw research button + if (window_top_toolbar_widgets[WIDX_RESEARCH].type != WWT_EMPTY) { + x = w->x + window_top_toolbar_widgets[WIDX_RESEARCH].left - 1; + y = w->y + window_top_toolbar_widgets[WIDX_RESEARCH].top; + if (widget_is_pressed(w, WIDX_RESEARCH)) + y++; + imgId = SPR_TAB_FINANCES_RESEARCH_0; + gfx_draw_sprite(dpi, imgId, x, y, 0); + } - // Draw finances button - if (window_top_toolbar_widgets[WIDX_FINANCES].type != WWT_EMPTY) { - x = w->x + window_top_toolbar_widgets[WIDX_FINANCES].left + 3; - y = w->y + window_top_toolbar_widgets[WIDX_FINANCES].top + 1; - if (widget_is_pressed(w, WIDX_FINANCES)) - y++; - imgId = SPR_FINANCE; - gfx_draw_sprite(dpi, imgId, x, y, 0); - } + // Draw finances button + if (window_top_toolbar_widgets[WIDX_FINANCES].type != WWT_EMPTY) { + x = w->x + window_top_toolbar_widgets[WIDX_FINANCES].left + 3; + y = w->y + window_top_toolbar_widgets[WIDX_FINANCES].top + 1; + if (widget_is_pressed(w, WIDX_FINANCES)) + y++; + imgId = SPR_FINANCE; + gfx_draw_sprite(dpi, imgId, x, y, 0); + } - // Draw news button - if (window_top_toolbar_widgets[WIDX_NEWS].type != WWT_EMPTY) { - x = w->x + window_top_toolbar_widgets[WIDX_NEWS].left + 3; - y = w->y + window_top_toolbar_widgets[WIDX_NEWS].top + 0; - if (widget_is_pressed(w, WIDX_NEWS)) - y++; - imgId = SPR_G2_TAB_NEWS; - gfx_draw_sprite(dpi, imgId, x, y, 0); - } + // Draw news button + if (window_top_toolbar_widgets[WIDX_NEWS].type != WWT_EMPTY) { + x = w->x + window_top_toolbar_widgets[WIDX_NEWS].left + 3; + y = w->y + window_top_toolbar_widgets[WIDX_NEWS].top + 0; + if (widget_is_pressed(w, WIDX_NEWS)) + y++; + imgId = SPR_G2_TAB_NEWS; + gfx_draw_sprite(dpi, imgId, x, y, 0); + } - // Draw network button - if (window_top_toolbar_widgets[WIDX_NETWORK].type != WWT_EMPTY) { - x = w->x + window_top_toolbar_widgets[WIDX_NETWORK].left + 3; - y = w->y + window_top_toolbar_widgets[WIDX_NETWORK].top + 0; - if (widget_is_pressed(w, WIDX_NETWORK)) - y++; - imgId = SPR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION; - gfx_draw_sprite(dpi, imgId, x, y, 0); - } + // Draw network button + if (window_top_toolbar_widgets[WIDX_NETWORK].type != WWT_EMPTY) { + x = w->x + window_top_toolbar_widgets[WIDX_NETWORK].left + 3; + y = w->y + window_top_toolbar_widgets[WIDX_NETWORK].top + 0; + if (widget_is_pressed(w, WIDX_NETWORK)) + y++; + imgId = SPR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION; + gfx_draw_sprite(dpi, imgId, x, y, 0); + } } /** @@ -913,198 +913,198 @@ static void window_top_toolbar_paint(rct_window *w, rct_drawpixelinfo *dpi) * rct2: 0x006E3158 */ static void repaint_scenery_tool_down(sint16 x, sint16 y, rct_widgetindex widgetIndex){ - // ax, cx, bl - sint16 grid_x, grid_y; - sint32 type; - // edx - rct_map_element* map_element; - uint16 flags = - VIEWPORT_INTERACTION_MASK_SCENERY & - VIEWPORT_INTERACTION_MASK_WALL & - VIEWPORT_INTERACTION_MASK_LARGE_SCENERY & - VIEWPORT_INTERACTION_MASK_BANNER; - // This is -2 as banner is 12 but flags are offset different + // ax, cx, bl + sint16 grid_x, grid_y; + sint32 type; + // edx + rct_map_element* map_element; + uint16 flags = + VIEWPORT_INTERACTION_MASK_SCENERY & + VIEWPORT_INTERACTION_MASK_WALL & + VIEWPORT_INTERACTION_MASK_LARGE_SCENERY & + VIEWPORT_INTERACTION_MASK_BANNER; + // This is -2 as banner is 12 but flags are offset different - // not used - rct_viewport* viewport; - get_map_coordinates_from_pos(x, y, flags, &grid_x, &grid_y, &type, &map_element, &viewport); + // not used + rct_viewport* viewport; + get_map_coordinates_from_pos(x, y, flags, &grid_x, &grid_y, &type, &map_element, &viewport); - switch (type){ - case VIEWPORT_INTERACTION_ITEM_SCENERY: - { - rct_scenery_entry* scenery_entry = get_small_scenery_entry(map_element->properties.scenery.type); + switch (type){ + case VIEWPORT_INTERACTION_ITEM_SCENERY: + { + rct_scenery_entry* scenery_entry = get_small_scenery_entry(map_element->properties.scenery.type); - // If can't repaint - if (!(scenery_entry->small_scenery.flags & - (SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR | - SMALL_SCENERY_FLAG_HAS_GLASS))) - return; + // If can't repaint + if (!(scenery_entry->small_scenery.flags & + (SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR | + SMALL_SCENERY_FLAG_HAS_GLASS))) + return; - gGameCommandErrorTitle = STR_CANT_REPAINT_THIS; - game_do_command( - grid_x, - 1 | (map_element->type << 8), - grid_y, - map_element->base_height | (map_element->properties.scenery.type << 8), - GAME_COMMAND_SET_SCENERY_COLOUR, - 0, - gWindowSceneryPrimaryColour | (gWindowScenerySecondaryColour << 8)); - break; - } - case VIEWPORT_INTERACTION_ITEM_WALL: - { - rct_scenery_entry* scenery_entry = get_wall_entry(map_element->properties.wall.type); + gGameCommandErrorTitle = STR_CANT_REPAINT_THIS; + game_do_command( + grid_x, + 1 | (map_element->type << 8), + grid_y, + map_element->base_height | (map_element->properties.scenery.type << 8), + GAME_COMMAND_SET_SCENERY_COLOUR, + 0, + gWindowSceneryPrimaryColour | (gWindowScenerySecondaryColour << 8)); + break; + } + case VIEWPORT_INTERACTION_ITEM_WALL: + { + rct_scenery_entry* scenery_entry = get_wall_entry(map_element->properties.wall.type); - // If can't repaint - if (!(scenery_entry->wall.flags & - (WALL_SCENERY_HAS_PRIMARY_COLOUR | - WALL_SCENERY_HAS_GLASS))) - return; + // If can't repaint + if (!(scenery_entry->wall.flags & + (WALL_SCENERY_HAS_PRIMARY_COLOUR | + WALL_SCENERY_HAS_GLASS))) + return; - gGameCommandErrorTitle = STR_CANT_REPAINT_THIS; - game_do_command( - grid_x, - 1 | (gWindowSceneryPrimaryColour << 8), - grid_y, - (map_element->type & MAP_ELEMENT_DIRECTION_MASK) | (map_element->base_height << 8), - GAME_COMMAND_SET_WALL_COLOUR, - 0, - gWindowScenerySecondaryColour | (gWindowSceneryTertiaryColour << 8)); - break; - } - case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: - { - rct_scenery_entry* scenery_entry = get_large_scenery_entry(map_element->properties.scenerymultiple.type & MAP_ELEMENT_LARGE_TYPE_MASK); + gGameCommandErrorTitle = STR_CANT_REPAINT_THIS; + game_do_command( + grid_x, + 1 | (gWindowSceneryPrimaryColour << 8), + grid_y, + (map_element->type & MAP_ELEMENT_DIRECTION_MASK) | (map_element->base_height << 8), + GAME_COMMAND_SET_WALL_COLOUR, + 0, + gWindowScenerySecondaryColour | (gWindowSceneryTertiaryColour << 8)); + break; + } + case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: + { + rct_scenery_entry* scenery_entry = get_large_scenery_entry(map_element->properties.scenerymultiple.type & MAP_ELEMENT_LARGE_TYPE_MASK); - // If can't repaint - if (!(scenery_entry->large_scenery.flags & - LARGE_SCENERY_FLAG_HAS_PRIMARY_COLOUR)) - return; + // If can't repaint + if (!(scenery_entry->large_scenery.flags & + LARGE_SCENERY_FLAG_HAS_PRIMARY_COLOUR)) + return; - gGameCommandErrorTitle = STR_CANT_REPAINT_THIS; - game_do_command( - grid_x, - 1 | ((map_element->type & MAP_ELEMENT_DIRECTION_MASK) << 8), - grid_y, - map_element->base_height | ((map_element->properties.scenerymultiple.type >> 10) << 8), - GAME_COMMAND_SET_LARGE_SCENERY_COLOUR, - 0, - gWindowSceneryPrimaryColour | (gWindowScenerySecondaryColour << 8)); - break; - } - case VIEWPORT_INTERACTION_ITEM_BANNER: - { - rct_banner* banner = &gBanners[map_element->properties.banner.index]; - rct_scenery_entry* scenery_entry = get_banner_entry(banner->type); + gGameCommandErrorTitle = STR_CANT_REPAINT_THIS; + game_do_command( + grid_x, + 1 | ((map_element->type & MAP_ELEMENT_DIRECTION_MASK) << 8), + grid_y, + map_element->base_height | ((map_element->properties.scenerymultiple.type >> 10) << 8), + GAME_COMMAND_SET_LARGE_SCENERY_COLOUR, + 0, + gWindowSceneryPrimaryColour | (gWindowScenerySecondaryColour << 8)); + break; + } + case VIEWPORT_INTERACTION_ITEM_BANNER: + { + rct_banner* banner = &gBanners[map_element->properties.banner.index]; + rct_scenery_entry* scenery_entry = get_banner_entry(banner->type); - // If can't repaint - if (!(scenery_entry->banner.flags & - (1 << 0))) - return; + // If can't repaint + if (!(scenery_entry->banner.flags & + (1 << 0))) + return; - gGameCommandErrorTitle = STR_CANT_REPAINT_THIS; - game_do_command( - grid_x, - 1, - grid_y, - map_element->base_height | ((map_element->properties.banner.position & 0x3) << 8), - GAME_COMMAND_SET_BANNER_COLOUR, - 0, - gWindowSceneryPrimaryColour | (gWindowScenerySecondaryColour << 8)); - break; - } - default: - return; - } + gGameCommandErrorTitle = STR_CANT_REPAINT_THIS; + game_do_command( + grid_x, + 1, + grid_y, + map_element->base_height | ((map_element->properties.banner.position & 0x3) << 8), + GAME_COMMAND_SET_BANNER_COLOUR, + 0, + gWindowSceneryPrimaryColour | (gWindowScenerySecondaryColour << 8)); + break; + } + default: + return; + } } static void scenery_eyedropper_tool_down(sint16 x, sint16 y, rct_widgetindex widgetIndex) { - uint16 flags = - VIEWPORT_INTERACTION_MASK_SCENERY & - VIEWPORT_INTERACTION_MASK_WALL & - VIEWPORT_INTERACTION_MASK_LARGE_SCENERY & - VIEWPORT_INTERACTION_MASK_BANNER & - VIEWPORT_INTERACTION_MASK_FOOTPATH_ITEM; + uint16 flags = + VIEWPORT_INTERACTION_MASK_SCENERY & + VIEWPORT_INTERACTION_MASK_WALL & + VIEWPORT_INTERACTION_MASK_LARGE_SCENERY & + VIEWPORT_INTERACTION_MASK_BANNER & + VIEWPORT_INTERACTION_MASK_FOOTPATH_ITEM; - sint16 gridX, gridY; - sint32 type; - rct_map_element* mapElement; - rct_viewport * viewport; - get_map_coordinates_from_pos(x, y, flags, &gridX, &gridY, &type, &mapElement, &viewport); + sint16 gridX, gridY; + sint32 type; + rct_map_element* mapElement; + rct_viewport * viewport; + get_map_coordinates_from_pos(x, y, flags, &gridX, &gridY, &type, &mapElement, &viewport); - switch (type) { - case VIEWPORT_INTERACTION_ITEM_SCENERY: - { - sint32 entryIndex = mapElement->properties.scenery.type; - rct_scenery_entry * sceneryEntry = get_small_scenery_entry(entryIndex); - if (sceneryEntry != NULL && sceneryEntry != (rct_scenery_entry *)-1) { - sint32 sceneryId = get_scenery_id_from_entry_index(OBJECT_TYPE_SMALL_SCENERY, entryIndex); - if (sceneryId != -1 && window_scenery_set_selected_item(sceneryId)) { - gWindowSceneryRotation = (get_current_rotation() + map_element_get_direction(mapElement)) & 3; - gWindowSceneryPrimaryColour = mapElement->properties.scenery.colour_1 & 0x1F; - gWindowScenerySecondaryColour = mapElement->properties.scenery.colour_2 & 0x1F; - gWindowSceneryEyedropperEnabled = false; - } - } - break; - } - case VIEWPORT_INTERACTION_ITEM_WALL: - { - sint32 entryIndex = mapElement->properties.wall.type; - rct_scenery_entry * sceneryEntry = get_wall_entry(entryIndex); - if (sceneryEntry != NULL && sceneryEntry != (rct_scenery_entry *)-1) { - sint32 sceneryId = get_scenery_id_from_entry_index(OBJECT_TYPE_WALLS, entryIndex); - if (sceneryId != -1 && window_scenery_set_selected_item(sceneryId)) { - gWindowSceneryPrimaryColour = mapElement->properties.wall.colour_1 & 0x1F; - gWindowScenerySecondaryColour = wall_element_get_secondary_colour(mapElement); - gWindowSceneryTertiaryColour = mapElement->properties.wall.colour_3 & 0x1F; - gWindowSceneryEyedropperEnabled = false; - } - } - break; - } - case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: - { - sint32 entryIndex = mapElement->properties.scenerymultiple.type & MAP_ELEMENT_LARGE_TYPE_MASK; - rct_scenery_entry * sceneryEntry = get_large_scenery_entry(entryIndex); - if (sceneryEntry != NULL && sceneryEntry != (rct_scenery_entry *)-1) { - sint32 sceneryId = get_scenery_id_from_entry_index(OBJECT_TYPE_LARGE_SCENERY, entryIndex); - if (sceneryId != -1 && window_scenery_set_selected_item(sceneryId)) { - gWindowSceneryRotation = (get_current_rotation() + map_element_get_direction(mapElement)) & 3; - gWindowSceneryPrimaryColour = mapElement->properties.scenerymultiple.colour[0] & 0x1F; - gWindowScenerySecondaryColour = mapElement->properties.scenerymultiple.colour[1] & 0x1F; - gWindowSceneryEyedropperEnabled = false; - } - } - break; - } - case VIEWPORT_INTERACTION_ITEM_BANNER: - { - sint32 bannerIndex = mapElement->properties.banner.index; - rct_banner *banner = &gBanners[bannerIndex]; - rct_scenery_entry * sceneryEntry = get_banner_entry(banner->type); - if (sceneryEntry != NULL && sceneryEntry != (rct_scenery_entry *)-1) { - sint32 sceneryId = get_scenery_id_from_entry_index(OBJECT_TYPE_BANNERS, banner->type); - if (sceneryId != -1 && window_scenery_set_selected_item(sceneryId)) { - gWindowSceneryEyedropperEnabled = false; - } - } - break; - } - case VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM: - { - sint32 entryIndex = footpath_element_get_path_scenery_index(mapElement); - rct_scenery_entry * sceneryEntry = get_footpath_item_entry(entryIndex); - if (sceneryEntry != NULL && sceneryEntry != (rct_scenery_entry *)-1) { - sint32 sceneryId = get_scenery_id_from_entry_index(OBJECT_TYPE_PATH_BITS, entryIndex); - if (sceneryId != -1 && window_scenery_set_selected_item(sceneryId)) { - gWindowSceneryEyedropperEnabled = false; - } - } - break; - } - } + switch (type) { + case VIEWPORT_INTERACTION_ITEM_SCENERY: + { + sint32 entryIndex = mapElement->properties.scenery.type; + rct_scenery_entry * sceneryEntry = get_small_scenery_entry(entryIndex); + if (sceneryEntry != NULL && sceneryEntry != (rct_scenery_entry *)-1) { + sint32 sceneryId = get_scenery_id_from_entry_index(OBJECT_TYPE_SMALL_SCENERY, entryIndex); + if (sceneryId != -1 && window_scenery_set_selected_item(sceneryId)) { + gWindowSceneryRotation = (get_current_rotation() + map_element_get_direction(mapElement)) & 3; + gWindowSceneryPrimaryColour = mapElement->properties.scenery.colour_1 & 0x1F; + gWindowScenerySecondaryColour = mapElement->properties.scenery.colour_2 & 0x1F; + gWindowSceneryEyedropperEnabled = false; + } + } + break; + } + case VIEWPORT_INTERACTION_ITEM_WALL: + { + sint32 entryIndex = mapElement->properties.wall.type; + rct_scenery_entry * sceneryEntry = get_wall_entry(entryIndex); + if (sceneryEntry != NULL && sceneryEntry != (rct_scenery_entry *)-1) { + sint32 sceneryId = get_scenery_id_from_entry_index(OBJECT_TYPE_WALLS, entryIndex); + if (sceneryId != -1 && window_scenery_set_selected_item(sceneryId)) { + gWindowSceneryPrimaryColour = mapElement->properties.wall.colour_1 & 0x1F; + gWindowScenerySecondaryColour = wall_element_get_secondary_colour(mapElement); + gWindowSceneryTertiaryColour = mapElement->properties.wall.colour_3 & 0x1F; + gWindowSceneryEyedropperEnabled = false; + } + } + break; + } + case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: + { + sint32 entryIndex = mapElement->properties.scenerymultiple.type & MAP_ELEMENT_LARGE_TYPE_MASK; + rct_scenery_entry * sceneryEntry = get_large_scenery_entry(entryIndex); + if (sceneryEntry != NULL && sceneryEntry != (rct_scenery_entry *)-1) { + sint32 sceneryId = get_scenery_id_from_entry_index(OBJECT_TYPE_LARGE_SCENERY, entryIndex); + if (sceneryId != -1 && window_scenery_set_selected_item(sceneryId)) { + gWindowSceneryRotation = (get_current_rotation() + map_element_get_direction(mapElement)) & 3; + gWindowSceneryPrimaryColour = mapElement->properties.scenerymultiple.colour[0] & 0x1F; + gWindowScenerySecondaryColour = mapElement->properties.scenerymultiple.colour[1] & 0x1F; + gWindowSceneryEyedropperEnabled = false; + } + } + break; + } + case VIEWPORT_INTERACTION_ITEM_BANNER: + { + sint32 bannerIndex = mapElement->properties.banner.index; + rct_banner *banner = &gBanners[bannerIndex]; + rct_scenery_entry * sceneryEntry = get_banner_entry(banner->type); + if (sceneryEntry != NULL && sceneryEntry != (rct_scenery_entry *)-1) { + sint32 sceneryId = get_scenery_id_from_entry_index(OBJECT_TYPE_BANNERS, banner->type); + if (sceneryId != -1 && window_scenery_set_selected_item(sceneryId)) { + gWindowSceneryEyedropperEnabled = false; + } + } + break; + } + case VIEWPORT_INTERACTION_ITEM_FOOTPATH_ITEM: + { + sint32 entryIndex = footpath_element_get_path_scenery_index(mapElement); + rct_scenery_entry * sceneryEntry = get_footpath_item_entry(entryIndex); + if (sceneryEntry != NULL && sceneryEntry != (rct_scenery_entry *)-1) { + sint32 sceneryId = get_scenery_id_from_entry_index(OBJECT_TYPE_PATH_BITS, entryIndex); + if (sceneryId != -1 && window_scenery_set_selected_item(sceneryId)) { + gWindowSceneryEyedropperEnabled = false; + } + } + break; + } + } } /** @@ -1118,428 +1118,428 @@ static void scenery_eyedropper_tool_down(sint16 x, sint16 y, rct_widgetindex wid * edi : parameter_3 */ static void sub_6E1F34(sint16 x, sint16 y, uint16 selected_scenery, sint16* grid_x, sint16* grid_y, uint32* parameter_1, uint32* parameter_2, uint32* parameter_3){ - rct_window* w = window_find_by_class(WC_SCENERY); - - if (w == NULL) - { - *grid_x = 0x8000; - return; - } - - uint8 scenery_type = selected_scenery >> 8; - // Not sure what this type is yet. - uint8 type = 0; - - if (scenery_type == 0){ - rct_scenery_entry* scenery_entry = get_small_scenery_entry(selected_scenery); - - if (scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG18){ - type = 1; - } - } - else if (scenery_type == 2 || scenery_type == 3){ - type = 1; - } - - if (type == 0 && !gCheatsDisableSupportLimits) { - gSceneryCtrlPressed = false; - gSceneryShiftPressed = false; - } else { - if (!gSceneryCtrlPressed) { - if (input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_COPY_Z)) { - // CTRL pressed - rct_map_element* map_element; - uint16 flags = - VIEWPORT_INTERACTION_MASK_TERRAIN & - VIEWPORT_INTERACTION_MASK_RIDE & - VIEWPORT_INTERACTION_MASK_SCENERY & - VIEWPORT_INTERACTION_MASK_FOOTPATH & - VIEWPORT_INTERACTION_MASK_WALL & - VIEWPORT_INTERACTION_MASK_LARGE_SCENERY; - sint32 interaction_type; - get_map_coordinates_from_pos(x, y, flags, NULL, NULL, &interaction_type, &map_element, NULL); - - if (interaction_type != VIEWPORT_INTERACTION_ITEM_NONE){ - gSceneryCtrlPressed = true; - gSceneryCtrlPressZ = map_element->base_height * 8; - } - } - } else { - if (!(input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_COPY_Z))) { - // CTRL not pressed - gSceneryCtrlPressed = false; - } - } - - if (!gSceneryShiftPressed) { - if (input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_SHIFT_Z)) { - // SHIFT pressed - gSceneryShiftPressed = true; - gSceneryShiftPressX = x; - gSceneryShiftPressY = y; - gSceneryShiftPressZOffset = 0; - } - } - else{ - if (input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_SHIFT_Z)) { - // SHIFT pressed - gSceneryShiftPressZOffset = (gSceneryShiftPressY - y + 4) & 0xFFF8; - - x = gSceneryShiftPressX; - y = gSceneryShiftPressY; - } else { - // SHIFT not pressed - gSceneryShiftPressed = false; - } - } - } - - switch (scenery_type){ - case 0: - { - // Small scenery - rct_scenery_entry* scenery = get_small_scenery_entry(selected_scenery); - if (!(scenery->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE)){ - uint8 cl = 0; - - // If CTRL not pressed - if (!gSceneryCtrlPressed) { - screen_get_map_xy_quadrant(x, y, grid_x, grid_y, &cl); - - if (*grid_x == MAP_LOCATION_NULL) - return; - - gSceneryPlaceZ = 0; - - // If SHIFT pressed - if (gSceneryShiftPressed) { - - rct_map_element* map_element = map_get_surface_element_at(*grid_x / 32, *grid_y / 32); - - if (map_element == NULL){ - *grid_x = 0x8000; - return; - } - - sint16 z = (map_element->base_height * 8) & 0xFFF0; - z += gSceneryShiftPressZOffset; - - if (z < 16){ - z = 16; - } - - gSceneryPlaceZ = z; - } - } - else{ - sint16 z = gSceneryCtrlPressZ; - - screen_get_map_xy_quadrant_with_z(x, y, z, grid_x, grid_y, &cl); - - // If SHIFT pressed - if (gSceneryShiftPressed) { - z += gSceneryShiftPressZOffset; - } - - if (z < 16){ - z = 16; - } - - gSceneryPlaceZ = z; - } - - if (*grid_x == MAP_LOCATION_NULL) - return; - - uint8 rotation = gWindowSceneryRotation; - - if (!(scenery->small_scenery.flags & SMALL_SCENERY_FLAG4)){ - rotation = util_rand() & 0xFF; - } - - rotation -= get_current_rotation(); - rotation &= 0x3; - - // Also places it in lower but think thats for clobbering - *parameter_1 = (selected_scenery & 0xFF) << 8; - *parameter_2 = (cl ^ (1 << 1)) | (gWindowSceneryPrimaryColour << 8); - *parameter_3 = rotation | (gWindowScenerySecondaryColour << 16); - return; - } - - // If CTRL not pressed - if (!gSceneryCtrlPressed) { - uint16 flags = - VIEWPORT_INTERACTION_MASK_TERRAIN & - VIEWPORT_INTERACTION_MASK_WATER; - sint32 interaction_type = 0; - rct_map_element* map_element; - - get_map_coordinates_from_pos(x, y, flags, grid_x, grid_y, &interaction_type, &map_element, NULL); - - if (interaction_type == VIEWPORT_INTERACTION_ITEM_NONE) - { - *grid_x = 0x8000; - return; - } - - gSceneryPlaceZ = 0; - uint16 water_height = map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; - if (water_height != 0){ - gSceneryPlaceZ = water_height * 16; - } - - // If SHIFT pressed - if (gSceneryShiftPressed) { - map_element = map_get_surface_element_at(*grid_x / 32, *grid_y / 32); - - if (map_element == NULL){ - *grid_x = 0x8000; - return; - } - - sint16 z = (map_element->base_height * 8) & 0xFFF0; - z += gSceneryShiftPressZOffset; - - if (z < 16){ - z = 16; - } - - gSceneryPlaceZ = z; - } - } - else{ - sint16 z = gSceneryCtrlPressZ; - screen_get_map_xy_with_z(x, y, z, grid_x, grid_y); - - // If SHIFT pressed - if (gSceneryShiftPressed) { - z += gSceneryShiftPressZOffset; - } - - if (z < 16){ - z = 16; - } - - gSceneryPlaceZ = z; - } - - if (*grid_x == MAP_LOCATION_NULL) - return; - - *grid_x &= 0xFFE0; - *grid_y &= 0xFFE0; - uint8 rotation = gWindowSceneryRotation; - - if (!(scenery->small_scenery.flags & SMALL_SCENERY_FLAG4)){ - rotation = util_rand() & 0xFF; - } - - rotation -= get_current_rotation(); - rotation &= 0x3; - - // Also places it in lower but think thats for clobbering - *parameter_1 = (selected_scenery & 0xFF) << 8; - *parameter_2 = 0 | (gWindowSceneryPrimaryColour << 8); - *parameter_3 = rotation | (gWindowScenerySecondaryColour << 16); - break; - } - case 1: - { - // Path bits - - uint16 flags = - VIEWPORT_INTERACTION_MASK_FOOTPATH & - VIEWPORT_INTERACTION_MASK_FOOTPATH_ITEM; - sint32 interaction_type = 0; - rct_map_element* map_element; - - get_map_coordinates_from_pos(x, y, flags, grid_x, grid_y, &interaction_type, &map_element, NULL); - - if (interaction_type == VIEWPORT_INTERACTION_ITEM_NONE) - { - *grid_x = 0x8000; - return; - } - - *parameter_1 = 0 | ((map_element->properties.path.type & 0x7) << 8); - *parameter_2 = map_element->base_height | ((map_element->properties.path.type >> 4) << 8); - if (map_element->type & 1){ - *parameter_2 |= 0x8000; - } - *parameter_3 = (selected_scenery & 0xFF) + 1; - break; - } - case 2: - { - // Walls - uint8 cl; - // If CTRL not pressed - if (!gSceneryCtrlPressed) { - screen_get_map_xy_side(x, y, grid_x, grid_y, &cl); - - if (*grid_x == MAP_LOCATION_NULL) - return; - - gSceneryPlaceZ = 0; - - // If SHIFT pressed - if (gSceneryShiftPressed) { - rct_map_element* map_element = map_get_surface_element_at(*grid_x / 32, *grid_y / 32); - - if (map_element == NULL){ - *grid_x = 0x8000; - return; - } - - sint16 z = (map_element->base_height * 8) & 0xFFF0; - z += gSceneryShiftPressZOffset; - - if (z < 16){ - z = 16; - } - - gSceneryPlaceZ = z; - } - } - else{ - sint16 z = gSceneryCtrlPressZ; - screen_get_map_xy_side_with_z(x, y, z, grid_x, grid_y, &cl); - - // If SHIFT pressed - if (gSceneryShiftPressed) { - z += gSceneryShiftPressZOffset; - } - - if (z < 16){ - z = 16; - } - - gSceneryPlaceZ = z; - } - - if (*grid_x == MAP_LOCATION_NULL) - return; - - _unkF64F15 = gWindowScenerySecondaryColour | (gWindowSceneryTertiaryColour << 8); - // Also places it in lower but think thats for clobbering - *parameter_1 = (selected_scenery & 0xFF) << 8; - *parameter_2 = cl | (gWindowSceneryPrimaryColour << 8); - *parameter_3 = 0; - break; - } - case 3: - { - // Large scenery - - // If CTRL not pressed - if (!gSceneryCtrlPressed) { - sub_68A15E(x, y, grid_x, grid_y, NULL, NULL); - - if (*grid_x == MAP_LOCATION_NULL) - return; - - gSceneryPlaceZ = 0; - - // If SHIFT pressed - if (gSceneryShiftPressed) { - rct_map_element* map_element = map_get_surface_element_at(*grid_x / 32, *grid_y / 32); - - if (map_element == NULL){ - *grid_x = 0x8000; - return; - } - - sint16 z = (map_element->base_height * 8) & 0xFFF0; - z += gSceneryShiftPressZOffset; - - if (z < 16){ - z = 16; - } - - gSceneryPlaceZ = z; - } - } - else{ - sint16 z = gSceneryCtrlPressZ; - screen_get_map_xy_with_z(x, y, z, grid_x, grid_y); - - // If SHIFT pressed - if (gSceneryShiftPressed) { - z += gSceneryShiftPressZOffset; - } - - if (z < 16){ - z = 16; - } - - gSceneryPlaceZ = z; - } - - if (*grid_x == MAP_LOCATION_NULL) - return; - - *grid_x &= 0xFFE0; - *grid_y &= 0xFFE0; - - uint8 rotation = gWindowSceneryRotation; - rotation -= get_current_rotation(); - rotation &= 0x3; - - *parameter_1 = (rotation << 8); - *parameter_2 = gWindowSceneryPrimaryColour | (gWindowScenerySecondaryColour << 8); - *parameter_3 = selected_scenery & 0xFF; - break; - } - case 4: - { - // Banner - - uint16 flags = - VIEWPORT_INTERACTION_MASK_FOOTPATH & - VIEWPORT_INTERACTION_MASK_FOOTPATH_ITEM; - sint32 interaction_type = 0; - rct_map_element* map_element; - - get_map_coordinates_from_pos(x, y, flags, grid_x, grid_y, &interaction_type, &map_element, NULL); - - if (interaction_type == VIEWPORT_INTERACTION_ITEM_NONE) - { - *grid_x = 0x8000; - return; - } - - uint8 rotation = gWindowSceneryRotation; - rotation -= get_current_rotation(); - rotation &= 0x3; - - sint16 z = map_element->base_height; - - if (map_element->properties.path.type & (1 << 2)){ - if (rotation != ((map_element->properties.path.type & 3) ^ 2)){ - z += 2; - } - } - - z /= 2; - - // Also places it in lower but think thats for clobbering - *parameter_1 = (selected_scenery & 0xFF) << 8; - *parameter_2 = z | (rotation << 8); - *parameter_3 = gWindowSceneryPrimaryColour; - break; - } - } + rct_window* w = window_find_by_class(WC_SCENERY); + + if (w == NULL) + { + *grid_x = 0x8000; + return; + } + + uint8 scenery_type = selected_scenery >> 8; + // Not sure what this type is yet. + uint8 type = 0; + + if (scenery_type == 0){ + rct_scenery_entry* scenery_entry = get_small_scenery_entry(selected_scenery); + + if (scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG18){ + type = 1; + } + } + else if (scenery_type == 2 || scenery_type == 3){ + type = 1; + } + + if (type == 0 && !gCheatsDisableSupportLimits) { + gSceneryCtrlPressed = false; + gSceneryShiftPressed = false; + } else { + if (!gSceneryCtrlPressed) { + if (input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_COPY_Z)) { + // CTRL pressed + rct_map_element* map_element; + uint16 flags = + VIEWPORT_INTERACTION_MASK_TERRAIN & + VIEWPORT_INTERACTION_MASK_RIDE & + VIEWPORT_INTERACTION_MASK_SCENERY & + VIEWPORT_INTERACTION_MASK_FOOTPATH & + VIEWPORT_INTERACTION_MASK_WALL & + VIEWPORT_INTERACTION_MASK_LARGE_SCENERY; + sint32 interaction_type; + get_map_coordinates_from_pos(x, y, flags, NULL, NULL, &interaction_type, &map_element, NULL); + + if (interaction_type != VIEWPORT_INTERACTION_ITEM_NONE){ + gSceneryCtrlPressed = true; + gSceneryCtrlPressZ = map_element->base_height * 8; + } + } + } else { + if (!(input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_COPY_Z))) { + // CTRL not pressed + gSceneryCtrlPressed = false; + } + } + + if (!gSceneryShiftPressed) { + if (input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_SHIFT_Z)) { + // SHIFT pressed + gSceneryShiftPressed = true; + gSceneryShiftPressX = x; + gSceneryShiftPressY = y; + gSceneryShiftPressZOffset = 0; + } + } + else{ + if (input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_SHIFT_Z)) { + // SHIFT pressed + gSceneryShiftPressZOffset = (gSceneryShiftPressY - y + 4) & 0xFFF8; + + x = gSceneryShiftPressX; + y = gSceneryShiftPressY; + } else { + // SHIFT not pressed + gSceneryShiftPressed = false; + } + } + } + + switch (scenery_type){ + case 0: + { + // Small scenery + rct_scenery_entry* scenery = get_small_scenery_entry(selected_scenery); + if (!(scenery->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE)){ + uint8 cl = 0; + + // If CTRL not pressed + if (!gSceneryCtrlPressed) { + screen_get_map_xy_quadrant(x, y, grid_x, grid_y, &cl); + + if (*grid_x == MAP_LOCATION_NULL) + return; + + gSceneryPlaceZ = 0; + + // If SHIFT pressed + if (gSceneryShiftPressed) { + + rct_map_element* map_element = map_get_surface_element_at(*grid_x / 32, *grid_y / 32); + + if (map_element == NULL){ + *grid_x = 0x8000; + return; + } + + sint16 z = (map_element->base_height * 8) & 0xFFF0; + z += gSceneryShiftPressZOffset; + + if (z < 16){ + z = 16; + } + + gSceneryPlaceZ = z; + } + } + else{ + sint16 z = gSceneryCtrlPressZ; + + screen_get_map_xy_quadrant_with_z(x, y, z, grid_x, grid_y, &cl); + + // If SHIFT pressed + if (gSceneryShiftPressed) { + z += gSceneryShiftPressZOffset; + } + + if (z < 16){ + z = 16; + } + + gSceneryPlaceZ = z; + } + + if (*grid_x == MAP_LOCATION_NULL) + return; + + uint8 rotation = gWindowSceneryRotation; + + if (!(scenery->small_scenery.flags & SMALL_SCENERY_FLAG4)){ + rotation = util_rand() & 0xFF; + } + + rotation -= get_current_rotation(); + rotation &= 0x3; + + // Also places it in lower but think thats for clobbering + *parameter_1 = (selected_scenery & 0xFF) << 8; + *parameter_2 = (cl ^ (1 << 1)) | (gWindowSceneryPrimaryColour << 8); + *parameter_3 = rotation | (gWindowScenerySecondaryColour << 16); + return; + } + + // If CTRL not pressed + if (!gSceneryCtrlPressed) { + uint16 flags = + VIEWPORT_INTERACTION_MASK_TERRAIN & + VIEWPORT_INTERACTION_MASK_WATER; + sint32 interaction_type = 0; + rct_map_element* map_element; + + get_map_coordinates_from_pos(x, y, flags, grid_x, grid_y, &interaction_type, &map_element, NULL); + + if (interaction_type == VIEWPORT_INTERACTION_ITEM_NONE) + { + *grid_x = 0x8000; + return; + } + + gSceneryPlaceZ = 0; + uint16 water_height = map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; + if (water_height != 0){ + gSceneryPlaceZ = water_height * 16; + } + + // If SHIFT pressed + if (gSceneryShiftPressed) { + map_element = map_get_surface_element_at(*grid_x / 32, *grid_y / 32); + + if (map_element == NULL){ + *grid_x = 0x8000; + return; + } + + sint16 z = (map_element->base_height * 8) & 0xFFF0; + z += gSceneryShiftPressZOffset; + + if (z < 16){ + z = 16; + } + + gSceneryPlaceZ = z; + } + } + else{ + sint16 z = gSceneryCtrlPressZ; + screen_get_map_xy_with_z(x, y, z, grid_x, grid_y); + + // If SHIFT pressed + if (gSceneryShiftPressed) { + z += gSceneryShiftPressZOffset; + } + + if (z < 16){ + z = 16; + } + + gSceneryPlaceZ = z; + } + + if (*grid_x == MAP_LOCATION_NULL) + return; + + *grid_x &= 0xFFE0; + *grid_y &= 0xFFE0; + uint8 rotation = gWindowSceneryRotation; + + if (!(scenery->small_scenery.flags & SMALL_SCENERY_FLAG4)){ + rotation = util_rand() & 0xFF; + } + + rotation -= get_current_rotation(); + rotation &= 0x3; + + // Also places it in lower but think thats for clobbering + *parameter_1 = (selected_scenery & 0xFF) << 8; + *parameter_2 = 0 | (gWindowSceneryPrimaryColour << 8); + *parameter_3 = rotation | (gWindowScenerySecondaryColour << 16); + break; + } + case 1: + { + // Path bits + + uint16 flags = + VIEWPORT_INTERACTION_MASK_FOOTPATH & + VIEWPORT_INTERACTION_MASK_FOOTPATH_ITEM; + sint32 interaction_type = 0; + rct_map_element* map_element; + + get_map_coordinates_from_pos(x, y, flags, grid_x, grid_y, &interaction_type, &map_element, NULL); + + if (interaction_type == VIEWPORT_INTERACTION_ITEM_NONE) + { + *grid_x = 0x8000; + return; + } + + *parameter_1 = 0 | ((map_element->properties.path.type & 0x7) << 8); + *parameter_2 = map_element->base_height | ((map_element->properties.path.type >> 4) << 8); + if (map_element->type & 1){ + *parameter_2 |= 0x8000; + } + *parameter_3 = (selected_scenery & 0xFF) + 1; + break; + } + case 2: + { + // Walls + uint8 cl; + // If CTRL not pressed + if (!gSceneryCtrlPressed) { + screen_get_map_xy_side(x, y, grid_x, grid_y, &cl); + + if (*grid_x == MAP_LOCATION_NULL) + return; + + gSceneryPlaceZ = 0; + + // If SHIFT pressed + if (gSceneryShiftPressed) { + rct_map_element* map_element = map_get_surface_element_at(*grid_x / 32, *grid_y / 32); + + if (map_element == NULL){ + *grid_x = 0x8000; + return; + } + + sint16 z = (map_element->base_height * 8) & 0xFFF0; + z += gSceneryShiftPressZOffset; + + if (z < 16){ + z = 16; + } + + gSceneryPlaceZ = z; + } + } + else{ + sint16 z = gSceneryCtrlPressZ; + screen_get_map_xy_side_with_z(x, y, z, grid_x, grid_y, &cl); + + // If SHIFT pressed + if (gSceneryShiftPressed) { + z += gSceneryShiftPressZOffset; + } + + if (z < 16){ + z = 16; + } + + gSceneryPlaceZ = z; + } + + if (*grid_x == MAP_LOCATION_NULL) + return; + + _unkF64F15 = gWindowScenerySecondaryColour | (gWindowSceneryTertiaryColour << 8); + // Also places it in lower but think thats for clobbering + *parameter_1 = (selected_scenery & 0xFF) << 8; + *parameter_2 = cl | (gWindowSceneryPrimaryColour << 8); + *parameter_3 = 0; + break; + } + case 3: + { + // Large scenery + + // If CTRL not pressed + if (!gSceneryCtrlPressed) { + sub_68A15E(x, y, grid_x, grid_y, NULL, NULL); + + if (*grid_x == MAP_LOCATION_NULL) + return; + + gSceneryPlaceZ = 0; + + // If SHIFT pressed + if (gSceneryShiftPressed) { + rct_map_element* map_element = map_get_surface_element_at(*grid_x / 32, *grid_y / 32); + + if (map_element == NULL){ + *grid_x = 0x8000; + return; + } + + sint16 z = (map_element->base_height * 8) & 0xFFF0; + z += gSceneryShiftPressZOffset; + + if (z < 16){ + z = 16; + } + + gSceneryPlaceZ = z; + } + } + else{ + sint16 z = gSceneryCtrlPressZ; + screen_get_map_xy_with_z(x, y, z, grid_x, grid_y); + + // If SHIFT pressed + if (gSceneryShiftPressed) { + z += gSceneryShiftPressZOffset; + } + + if (z < 16){ + z = 16; + } + + gSceneryPlaceZ = z; + } + + if (*grid_x == MAP_LOCATION_NULL) + return; + + *grid_x &= 0xFFE0; + *grid_y &= 0xFFE0; + + uint8 rotation = gWindowSceneryRotation; + rotation -= get_current_rotation(); + rotation &= 0x3; + + *parameter_1 = (rotation << 8); + *parameter_2 = gWindowSceneryPrimaryColour | (gWindowScenerySecondaryColour << 8); + *parameter_3 = selected_scenery & 0xFF; + break; + } + case 4: + { + // Banner + + uint16 flags = + VIEWPORT_INTERACTION_MASK_FOOTPATH & + VIEWPORT_INTERACTION_MASK_FOOTPATH_ITEM; + sint32 interaction_type = 0; + rct_map_element* map_element; + + get_map_coordinates_from_pos(x, y, flags, grid_x, grid_y, &interaction_type, &map_element, NULL); + + if (interaction_type == VIEWPORT_INTERACTION_ITEM_NONE) + { + *grid_x = 0x8000; + return; + } + + uint8 rotation = gWindowSceneryRotation; + rotation -= get_current_rotation(); + rotation &= 0x3; + + sint16 z = map_element->base_height; + + if (map_element->properties.path.type & (1 << 2)){ + if (rotation != ((map_element->properties.path.type & 3) ^ 2)){ + z += 2; + } + } + + z /= 2; + + // Also places it in lower but think thats for clobbering + *parameter_1 = (selected_scenery & 0xFF) << 8; + *parameter_2 = z | (rotation << 8); + *parameter_3 = gWindowSceneryPrimaryColour; + break; + } + } } void game_command_callback_place_banner(sint32 eax, sint32 ebx, sint32 ecx, sint32 edx, sint32 esi, sint32 edi, sint32 ebp) { - if (ebx != MONEY32_UNDEFINED) { - sint32 bannerId = edi; + if (ebx != MONEY32_UNDEFINED) { + sint32 bannerId = edi; - audio_play_sound_at_location(SOUND_PLACE_ITEM, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); - window_banner_open(bannerId); - } + audio_play_sound_at_location(SOUND_PLACE_ITEM, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); + window_banner_open(bannerId); + } } /** * @@ -1547,211 +1547,211 @@ void game_command_callback_place_banner(sint32 eax, sint32 ebx, sint32 ecx, sint */ static void window_top_toolbar_scenery_tool_down(sint16 x, sint16 y, rct_window *w, rct_widgetindex widgetIndex) { - scenery_remove_ghost_tool_placement(); - if (gWindowSceneryPaintEnabled & 1) { - repaint_scenery_tool_down(x, y, widgetIndex); - return; - } else if (gWindowSceneryEyedropperEnabled) { - scenery_eyedropper_tool_down(x, y, widgetIndex); - return; - } + scenery_remove_ghost_tool_placement(); + if (gWindowSceneryPaintEnabled & 1) { + repaint_scenery_tool_down(x, y, widgetIndex); + return; + } else if (gWindowSceneryEyedropperEnabled) { + scenery_eyedropper_tool_down(x, y, widgetIndex); + return; + } - sint32 selectedTab = gWindowSceneryTabSelections[gWindowSceneryActiveTabIndex]; - uint8 sceneryType = (selectedTab & 0xFF00) >> 8; + sint32 selectedTab = gWindowSceneryTabSelections[gWindowSceneryActiveTabIndex]; + uint8 sceneryType = (selectedTab & 0xFF00) >> 8; - if (selectedTab == -1) return; + if (selectedTab == -1) return; - sint16 gridX, gridY; - uint32 parameter_1, parameter_2, parameter_3; + sint16 gridX, gridY; + uint32 parameter_1, parameter_2, parameter_3; - sub_6E1F34(x, y, selectedTab, &gridX, &gridY, ¶meter_1, ¶meter_2, ¶meter_3); + sub_6E1F34(x, y, selectedTab, &gridX, &gridY, ¶meter_1, ¶meter_2, ¶meter_3); - if (gridX == MAP_LOCATION_NULL) return; + if (gridX == MAP_LOCATION_NULL) return; - switch (sceneryType){ - case SCENERY_TYPE_SMALL: - { - sint32 quantity = 1; - bool isCluster = gWindowSceneryClusterEnabled && (network_get_mode() != NETWORK_MODE_CLIENT || network_can_perform_command(network_get_current_player_group_index(), -2)); - if (isCluster) { - quantity = 35; - } - sint32 successfulPlacements = 0; - for (sint32 q = 0; q < quantity; q++) { - sint32 zCoordinate = gSceneryPlaceZ; - rct_scenery_entry* scenery = get_small_scenery_entry((parameter_1 >> 8) & 0xFF); + switch (sceneryType){ + case SCENERY_TYPE_SMALL: + { + sint32 quantity = 1; + bool isCluster = gWindowSceneryClusterEnabled && (network_get_mode() != NETWORK_MODE_CLIENT || network_can_perform_command(network_get_current_player_group_index(), -2)); + if (isCluster) { + quantity = 35; + } + sint32 successfulPlacements = 0; + for (sint32 q = 0; q < quantity; q++) { + sint32 zCoordinate = gSceneryPlaceZ; + rct_scenery_entry* scenery = get_small_scenery_entry((parameter_1 >> 8) & 0xFF); - sint16 cur_grid_x = gridX; - sint16 cur_grid_y = gridY; + sint16 cur_grid_x = gridX; + sint16 cur_grid_y = gridY; - if (isCluster){ - if (!(scenery->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE)){ - parameter_2 &= 0xFF00; - parameter_2 |= util_rand() & 3; - } + if (isCluster){ + if (!(scenery->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE)){ + parameter_2 &= 0xFF00; + parameter_2 |= util_rand() & 3; + } - cur_grid_x += ((util_rand() % 16) - 8) * 32; - cur_grid_y += ((util_rand() % 16) - 8) * 32; + cur_grid_x += ((util_rand() % 16) - 8) * 32; + cur_grid_y += ((util_rand() % 16) - 8) * 32; - if (!(scenery->small_scenery.flags & SMALL_SCENERY_FLAG4)){ - gSceneryPlaceRotation = (gSceneryPlaceRotation + 1) & 3; - } - } + if (!(scenery->small_scenery.flags & SMALL_SCENERY_FLAG4)){ + gSceneryPlaceRotation = (gSceneryPlaceRotation + 1) & 3; + } + } - uint8 zAttemptRange = 1; - if ( - gSceneryPlaceZ != 0 && - gSceneryShiftPressed - ) { - zAttemptRange = 20; - } + uint8 zAttemptRange = 1; + if ( + gSceneryPlaceZ != 0 && + gSceneryShiftPressed + ) { + zAttemptRange = 20; + } - bool success = false; - for (; zAttemptRange != 0; zAttemptRange--){ - sint32 flags = GAME_COMMAND_FLAG_APPLY | (parameter_1 & 0xFF00); + bool success = false; + for (; zAttemptRange != 0; zAttemptRange--){ + sint32 flags = GAME_COMMAND_FLAG_APPLY | (parameter_1 & 0xFF00); - gDisableErrorWindowSound = true; - gGameCommandErrorTitle = STR_CANT_POSITION_THIS_HERE; - sint32 cost = game_do_command( - cur_grid_x, - flags, - cur_grid_y, - parameter_2, - GAME_COMMAND_PLACE_SCENERY, - gSceneryPlaceRotation | (parameter_3 & 0xFFFF0000), - gSceneryPlaceZ - ); - gDisableErrorWindowSound = false; + gDisableErrorWindowSound = true; + gGameCommandErrorTitle = STR_CANT_POSITION_THIS_HERE; + sint32 cost = game_do_command( + cur_grid_x, + flags, + cur_grid_y, + parameter_2, + GAME_COMMAND_PLACE_SCENERY, + gSceneryPlaceRotation | (parameter_3 & 0xFFFF0000), + gSceneryPlaceZ + ); + gDisableErrorWindowSound = false; - if (cost != MONEY32_UNDEFINED){ - window_close_by_class(WC_ERROR); - audio_play_sound_at_location(SOUND_PLACE_ITEM, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); - success = true; - break; - } + if (cost != MONEY32_UNDEFINED){ + window_close_by_class(WC_ERROR); + audio_play_sound_at_location(SOUND_PLACE_ITEM, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); + success = true; + break; + } - if ( - gGameCommandErrorText == STR_NOT_ENOUGH_CASH_REQUIRES || - gGameCommandErrorText == STR_CAN_ONLY_BUILD_THIS_ON_WATER - ) { - break; - } + if ( + gGameCommandErrorText == STR_NOT_ENOUGH_CASH_REQUIRES || + gGameCommandErrorText == STR_CAN_ONLY_BUILD_THIS_ON_WATER + ) { + break; + } - gSceneryPlaceZ += 8; - } + gSceneryPlaceZ += 8; + } - if (success) { - successfulPlacements++; - } else { - if (gGameCommandErrorText == STR_NOT_ENOUGH_CASH_REQUIRES) { - break; - } - } - gSceneryPlaceZ = zCoordinate; - } + if (success) { + successfulPlacements++; + } else { + if (gGameCommandErrorText == STR_NOT_ENOUGH_CASH_REQUIRES) { + break; + } + } + gSceneryPlaceZ = zCoordinate; + } - if (successfulPlacements > 0) { - window_close_by_class(WC_ERROR); - } else { - audio_play_sound_at_location(SOUND_ERROR, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); - } - break; - } - case SCENERY_TYPE_PATH_ITEM: - { - sint32 flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_7 | (parameter_1 & 0xFF00); + if (successfulPlacements > 0) { + window_close_by_class(WC_ERROR); + } else { + audio_play_sound_at_location(SOUND_ERROR, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); + } + break; + } + case SCENERY_TYPE_PATH_ITEM: + { + sint32 flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_7 | (parameter_1 & 0xFF00); - gGameCommandErrorTitle = STR_CANT_POSITION_THIS_HERE; - sint32 cost = game_do_command(gridX, flags, gridY, parameter_2, GAME_COMMAND_PLACE_PATH, parameter_3, 0); - if (cost != MONEY32_UNDEFINED) { - audio_play_sound_at_location(SOUND_PLACE_ITEM, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); - } - break; - } - case SCENERY_TYPE_WALL: - { - uint8 zAttemptRange = 1; - if ( - gSceneryPlaceZ != 0 && - gSceneryShiftPressed - ) { - zAttemptRange = 20; - } + gGameCommandErrorTitle = STR_CANT_POSITION_THIS_HERE; + sint32 cost = game_do_command(gridX, flags, gridY, parameter_2, GAME_COMMAND_PLACE_PATH, parameter_3, 0); + if (cost != MONEY32_UNDEFINED) { + audio_play_sound_at_location(SOUND_PLACE_ITEM, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); + } + break; + } + case SCENERY_TYPE_WALL: + { + uint8 zAttemptRange = 1; + if ( + gSceneryPlaceZ != 0 && + gSceneryShiftPressed + ) { + zAttemptRange = 20; + } - for (; zAttemptRange != 0; zAttemptRange--) { - sint32 flags = (parameter_1 & 0xFF00) | GAME_COMMAND_FLAG_APPLY; + for (; zAttemptRange != 0; zAttemptRange--) { + sint32 flags = (parameter_1 & 0xFF00) | GAME_COMMAND_FLAG_APPLY; - gDisableErrorWindowSound = true; - gGameCommandErrorTitle = STR_CANT_BUILD_PARK_ENTRANCE_HERE; - sint32 cost = game_do_command(gridX, flags, gridY, parameter_2, GAME_COMMAND_PLACE_WALL, gSceneryPlaceZ, _unkF64F15); - gDisableErrorWindowSound = false; + gDisableErrorWindowSound = true; + gGameCommandErrorTitle = STR_CANT_BUILD_PARK_ENTRANCE_HERE; + sint32 cost = game_do_command(gridX, flags, gridY, parameter_2, GAME_COMMAND_PLACE_WALL, gSceneryPlaceZ, _unkF64F15); + gDisableErrorWindowSound = false; - if (cost != MONEY32_UNDEFINED){ - window_close_by_class(WC_ERROR); - audio_play_sound_at_location(SOUND_PLACE_ITEM, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); - return; - } + if (cost != MONEY32_UNDEFINED){ + window_close_by_class(WC_ERROR); + audio_play_sound_at_location(SOUND_PLACE_ITEM, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); + return; + } - if ( - gGameCommandErrorText == STR_NOT_ENOUGH_CASH_REQUIRES || - gGameCommandErrorText == STR_CAN_ONLY_BUILD_THIS_ON_WATER - ) { - break; - } + if ( + gGameCommandErrorText == STR_NOT_ENOUGH_CASH_REQUIRES || + gGameCommandErrorText == STR_CAN_ONLY_BUILD_THIS_ON_WATER + ) { + break; + } - gSceneryPlaceZ += 8; - } + gSceneryPlaceZ += 8; + } - audio_play_sound_at_location(SOUND_ERROR, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); - break; - } - case SCENERY_TYPE_LARGE: - { - uint8 zAttemptRange = 1; - if ( - gSceneryPlaceZ != 0 && - gSceneryShiftPressed - ) { - zAttemptRange = 20; - } + audio_play_sound_at_location(SOUND_ERROR, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); + break; + } + case SCENERY_TYPE_LARGE: + { + uint8 zAttemptRange = 1; + if ( + gSceneryPlaceZ != 0 && + gSceneryShiftPressed + ) { + zAttemptRange = 20; + } - for (; zAttemptRange != 0; zAttemptRange--) { - sint32 flags = (parameter_1 & 0xFF00) | GAME_COMMAND_FLAG_APPLY; + for (; zAttemptRange != 0; zAttemptRange--) { + sint32 flags = (parameter_1 & 0xFF00) | GAME_COMMAND_FLAG_APPLY; - gDisableErrorWindowSound = true; - gGameCommandErrorTitle = STR_CANT_POSITION_THIS_HERE; - sint32 cost = game_do_command(gridX, flags, gridY, parameter_2, GAME_COMMAND_PLACE_LARGE_SCENERY, parameter_3, gSceneryPlaceZ); - gDisableErrorWindowSound = false; + gDisableErrorWindowSound = true; + gGameCommandErrorTitle = STR_CANT_POSITION_THIS_HERE; + sint32 cost = game_do_command(gridX, flags, gridY, parameter_2, GAME_COMMAND_PLACE_LARGE_SCENERY, parameter_3, gSceneryPlaceZ); + gDisableErrorWindowSound = false; - if (cost != MONEY32_UNDEFINED){ - window_close_by_class(WC_ERROR); - audio_play_sound_at_location(SOUND_PLACE_ITEM, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); - return; - } + if (cost != MONEY32_UNDEFINED){ + window_close_by_class(WC_ERROR); + audio_play_sound_at_location(SOUND_PLACE_ITEM, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); + return; + } - if ( - gGameCommandErrorText == STR_NOT_ENOUGH_CASH_REQUIRES || - gGameCommandErrorText == STR_CAN_ONLY_BUILD_THIS_ON_WATER - ) { - break; - } + if ( + gGameCommandErrorText == STR_NOT_ENOUGH_CASH_REQUIRES || + gGameCommandErrorText == STR_CAN_ONLY_BUILD_THIS_ON_WATER + ) { + break; + } - gSceneryPlaceZ += 8; - } + gSceneryPlaceZ += 8; + } - audio_play_sound_at_location(SOUND_ERROR, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); - break; - } - case SCENERY_TYPE_BANNER: - { - sint32 flags = (parameter_1 & 0xFF00) | GAME_COMMAND_FLAG_APPLY; + audio_play_sound_at_location(SOUND_ERROR, gCommandPosition.x, gCommandPosition.y, gCommandPosition.z); + break; + } + case SCENERY_TYPE_BANNER: + { + sint32 flags = (parameter_1 & 0xFF00) | GAME_COMMAND_FLAG_APPLY; - gGameCommandErrorTitle = STR_CANT_POSITION_THIS_HERE; - game_command_callback = game_command_callback_place_banner; - game_do_command(gridX, flags, gridY, parameter_2, GAME_COMMAND_PLACE_BANNER, parameter_3, gWindowSceneryPrimaryColour); - break; - } - } + gGameCommandErrorTitle = STR_CANT_POSITION_THIS_HERE; + game_command_callback = game_command_callback_place_banner; + game_do_command(gridX, flags, gridY, parameter_2, GAME_COMMAND_PLACE_BANNER, parameter_3, gWindowSceneryPrimaryColour); + break; + } + } } /** @@ -1759,150 +1759,150 @@ static void window_top_toolbar_scenery_tool_down(sint16 x, sint16 y, rct_window * rct2: 0x0068E213 */ static void top_toolbar_tool_update_scenery_clear(sint16 x, sint16 y){ - map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + map_invalidate_selection_rect(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - rct_xy16 mapTile = { 0 }; - screen_get_map_xy(x, y, &mapTile.x, &mapTile.y, NULL); + rct_xy16 mapTile = { 0 }; + screen_get_map_xy(x, y, &mapTile.x, &mapTile.y, NULL); - if (mapTile.x == MAP_LOCATION_NULL) { - if (gClearSceneryCost != MONEY32_UNDEFINED) { - gClearSceneryCost = MONEY32_UNDEFINED; - window_invalidate_by_class(WC_CLEAR_SCENERY); - } - return; - } + if (mapTile.x == MAP_LOCATION_NULL) { + if (gClearSceneryCost != MONEY32_UNDEFINED) { + gClearSceneryCost = MONEY32_UNDEFINED; + window_invalidate_by_class(WC_CLEAR_SCENERY); + } + return; + } - uint8 state_changed = 0; + uint8 state_changed = 0; - if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) { - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - state_changed++; - } + if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) { + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + state_changed++; + } - if (gMapSelectType != MAP_SELECT_TYPE_FULL) { - gMapSelectType = MAP_SELECT_TYPE_FULL; - state_changed++; - } + if (gMapSelectType != MAP_SELECT_TYPE_FULL) { + gMapSelectType = MAP_SELECT_TYPE_FULL; + state_changed++; + } - sint16 tool_size = gLandToolSize; - if (tool_size == 0) - tool_size = 1; + sint16 tool_size = gLandToolSize; + if (tool_size == 0) + tool_size = 1; - sint16 tool_length = (tool_size - 1) * 32; + sint16 tool_length = (tool_size - 1) * 32; - // Move to tool bottom left - mapTile.x -= (tool_size - 1) * 16; - mapTile.y -= (tool_size - 1) * 16; - mapTile.x &= 0xFFE0; - mapTile.y &= 0xFFE0; + // Move to tool bottom left + mapTile.x -= (tool_size - 1) * 16; + mapTile.y -= (tool_size - 1) * 16; + mapTile.x &= 0xFFE0; + mapTile.y &= 0xFFE0; - if (gMapSelectPositionA.x != mapTile.x){ - gMapSelectPositionA.x = mapTile.x; - state_changed++; - } + if (gMapSelectPositionA.x != mapTile.x){ + gMapSelectPositionA.x = mapTile.x; + state_changed++; + } - if (gMapSelectPositionA.y != mapTile.y){ - gMapSelectPositionA.y = mapTile.y; - state_changed++; - } + if (gMapSelectPositionA.y != mapTile.y){ + gMapSelectPositionA.y = mapTile.y; + state_changed++; + } - mapTile.x += tool_length; - mapTile.y += tool_length; + mapTile.x += tool_length; + mapTile.y += tool_length; - if (gMapSelectPositionB.x != mapTile.x){ - gMapSelectPositionB.x = mapTile.x; - state_changed++; - } + if (gMapSelectPositionB.x != mapTile.x){ + gMapSelectPositionB.x = mapTile.x; + state_changed++; + } - if (gMapSelectPositionB.y != mapTile.y){ - gMapSelectPositionB.y = mapTile.y; - state_changed++; - } + if (gMapSelectPositionB.y != mapTile.y){ + gMapSelectPositionB.y = mapTile.y; + state_changed++; + } - map_invalidate_selection_rect(); - if (!state_changed) - return; + map_invalidate_selection_rect(); + if (!state_changed) + return; - sint32 eax = gMapSelectPositionA.x; - sint32 ecx = gMapSelectPositionA.y; - sint32 edi = gMapSelectPositionB.x; - sint32 ebp = gMapSelectPositionB.y; - sint32 clear = (gClearSmallScenery << 0) | (gClearLargeScenery << 1) | (gClearFootpath << 2); - money32 cost = game_do_command(eax, 0, ecx, clear, GAME_COMMAND_CLEAR_SCENERY, edi, ebp); + sint32 eax = gMapSelectPositionA.x; + sint32 ecx = gMapSelectPositionA.y; + sint32 edi = gMapSelectPositionB.x; + sint32 ebp = gMapSelectPositionB.y; + sint32 clear = (gClearSmallScenery << 0) | (gClearLargeScenery << 1) | (gClearFootpath << 2); + money32 cost = game_do_command(eax, 0, ecx, clear, GAME_COMMAND_CLEAR_SCENERY, edi, ebp); - if (gClearSceneryCost != cost) { - gClearSceneryCost = cost; - window_invalidate_by_class(WC_CLEAR_SCENERY); - return; - } + if (gClearSceneryCost != cost) { + gClearSceneryCost = cost; + window_invalidate_by_class(WC_CLEAR_SCENERY); + return; + } } static void top_toolbar_tool_update_land_paint(sint16 x, sint16 y){ - map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + map_invalidate_selection_rect(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - rct_xy16 mapTile = { 0 }; - screen_get_map_xy(x, y, &mapTile.x, &mapTile.y, NULL); + rct_xy16 mapTile = { 0 }; + screen_get_map_xy(x, y, &mapTile.x, &mapTile.y, NULL); - if (mapTile.x == MAP_LOCATION_NULL) { - if (gClearSceneryCost != MONEY32_UNDEFINED) { - gClearSceneryCost = MONEY32_UNDEFINED; - window_invalidate_by_class(WC_CLEAR_SCENERY); - } - return; - } + if (mapTile.x == MAP_LOCATION_NULL) { + if (gClearSceneryCost != MONEY32_UNDEFINED) { + gClearSceneryCost = MONEY32_UNDEFINED; + window_invalidate_by_class(WC_CLEAR_SCENERY); + } + return; + } - uint8 state_changed = 0; + uint8 state_changed = 0; - if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) { - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - state_changed++; - } + if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) { + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + state_changed++; + } - if (gMapSelectType != MAP_SELECT_TYPE_FULL) { - gMapSelectType = MAP_SELECT_TYPE_FULL; - state_changed++; - } + if (gMapSelectType != MAP_SELECT_TYPE_FULL) { + gMapSelectType = MAP_SELECT_TYPE_FULL; + state_changed++; + } - sint16 tool_size = gLandToolSize; - if (tool_size == 0) - tool_size = 1; + sint16 tool_size = gLandToolSize; + if (tool_size == 0) + tool_size = 1; - sint16 tool_length = (tool_size - 1) * 32; + sint16 tool_length = (tool_size - 1) * 32; - // Move to tool bottom left - mapTile.x -= (tool_size - 1) * 16; - mapTile.y -= (tool_size - 1) * 16; - mapTile.x &= 0xFFE0; - mapTile.y &= 0xFFE0; + // Move to tool bottom left + mapTile.x -= (tool_size - 1) * 16; + mapTile.y -= (tool_size - 1) * 16; + mapTile.x &= 0xFFE0; + mapTile.y &= 0xFFE0; - if (gMapSelectPositionA.x != mapTile.x){ - gMapSelectPositionA.x = mapTile.x; - state_changed++; - } + if (gMapSelectPositionA.x != mapTile.x){ + gMapSelectPositionA.x = mapTile.x; + state_changed++; + } - if (gMapSelectPositionA.y != mapTile.y){ - gMapSelectPositionA.y = mapTile.y; - state_changed++; - } + if (gMapSelectPositionA.y != mapTile.y){ + gMapSelectPositionA.y = mapTile.y; + state_changed++; + } - mapTile.x += tool_length; - mapTile.y += tool_length; + mapTile.x += tool_length; + mapTile.y += tool_length; - if (gMapSelectPositionB.x != mapTile.x){ - gMapSelectPositionB.x = mapTile.x; - state_changed++; - } + if (gMapSelectPositionB.x != mapTile.x){ + gMapSelectPositionB.x = mapTile.x; + state_changed++; + } - if (gMapSelectPositionB.y != mapTile.y){ - gMapSelectPositionB.y = mapTile.y; - state_changed++; - } + if (gMapSelectPositionB.y != mapTile.y){ + gMapSelectPositionB.y = mapTile.y; + state_changed++; + } - map_invalidate_selection_rect(); - if (!state_changed) - return; + map_invalidate_selection_rect(); + if (!state_changed) + return; } /** @@ -1910,169 +1910,169 @@ static void top_toolbar_tool_update_land_paint(sint16 x, sint16 y){ * rct2: 0x00664280 */ static void top_toolbar_tool_update_land(sint16 x, sint16 y){ - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); - if (gCurrentToolId == TOOL_UP_DOWN_ARROW){ - if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) - return; + if (gCurrentToolId == TOOL_UP_DOWN_ARROW){ + if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) + return; - money32 lower_cost = selection_lower_land(0); - money32 raise_cost = selection_raise_land(0); + money32 lower_cost = selection_lower_land(0); + money32 raise_cost = selection_raise_land(0); - if (gLandToolRaiseCost != raise_cost || - gLandToolLowerCost != lower_cost){ - gLandToolRaiseCost = raise_cost; - gLandToolLowerCost = lower_cost; - window_invalidate_by_class(WC_LAND); - } - return; - } + if (gLandToolRaiseCost != raise_cost || + gLandToolLowerCost != lower_cost){ + gLandToolRaiseCost = raise_cost; + gLandToolLowerCost = lower_cost; + window_invalidate_by_class(WC_LAND); + } + return; + } - sint16 tool_size = gLandToolSize; - rct_xy16 mapTile = { .x = x, .y = y }; + sint16 tool_size = gLandToolSize; + rct_xy16 mapTile = { .x = x, .y = y }; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - if (tool_size == 1){ - sint32 direction; - screen_pos_to_map_pos(&mapTile.x, &mapTile.y, &direction); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + if (tool_size == 1){ + sint32 direction; + screen_pos_to_map_pos(&mapTile.x, &mapTile.y, &direction); - if (mapTile.x == MAP_LOCATION_NULL) { - money32 lower_cost = MONEY32_UNDEFINED; - money32 raise_cost = MONEY32_UNDEFINED; + if (mapTile.x == MAP_LOCATION_NULL) { + money32 lower_cost = MONEY32_UNDEFINED; + money32 raise_cost = MONEY32_UNDEFINED; - if (gLandToolRaiseCost != raise_cost || - gLandToolLowerCost != lower_cost){ - gLandToolRaiseCost = raise_cost; - gLandToolLowerCost = lower_cost; - window_invalidate_by_class(WC_LAND); - } - return; - } + if (gLandToolRaiseCost != raise_cost || + gLandToolLowerCost != lower_cost){ + gLandToolRaiseCost = raise_cost; + gLandToolLowerCost = lower_cost; + window_invalidate_by_class(WC_LAND); + } + return; + } - uint8 state_changed = 0; + uint8 state_changed = 0; - if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) { - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - state_changed++; - } + if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) { + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + state_changed++; + } - if (gMapSelectType != direction) { - gMapSelectType = direction; - state_changed++; - } + if (gMapSelectType != direction) { + gMapSelectType = direction; + state_changed++; + } - if (gMapSelectPositionA.x != mapTile.x){ - gMapSelectPositionA.x = mapTile.x; - state_changed++; - } + if (gMapSelectPositionA.x != mapTile.x){ + gMapSelectPositionA.x = mapTile.x; + state_changed++; + } - if (gMapSelectPositionA.y != mapTile.y){ - gMapSelectPositionA.y = mapTile.y; - state_changed++; - } + if (gMapSelectPositionA.y != mapTile.y){ + gMapSelectPositionA.y = mapTile.y; + state_changed++; + } - if (gMapSelectPositionB.x != mapTile.x){ - gMapSelectPositionB.x = mapTile.x; - state_changed++; - } + if (gMapSelectPositionB.x != mapTile.x){ + gMapSelectPositionB.x = mapTile.x; + state_changed++; + } - if (gMapSelectPositionB.y != mapTile.y){ - gMapSelectPositionB.y = mapTile.y; - state_changed++; - } + if (gMapSelectPositionB.y != mapTile.y){ + gMapSelectPositionB.y = mapTile.y; + state_changed++; + } - map_invalidate_selection_rect(); - if (!state_changed) - return; + map_invalidate_selection_rect(); + if (!state_changed) + return; - money32 lower_cost = selection_lower_land(0); - money32 raise_cost = selection_raise_land(0); + money32 lower_cost = selection_lower_land(0); + money32 raise_cost = selection_raise_land(0); - if (gLandToolRaiseCost != raise_cost || - gLandToolLowerCost != lower_cost){ - gLandToolRaiseCost = raise_cost; - gLandToolLowerCost = lower_cost; - window_invalidate_by_class(WC_LAND); - } - return; - } + if (gLandToolRaiseCost != raise_cost || + gLandToolLowerCost != lower_cost){ + gLandToolRaiseCost = raise_cost; + gLandToolLowerCost = lower_cost; + window_invalidate_by_class(WC_LAND); + } + return; + } - screen_get_map_xy(x, y, &mapTile.x, &mapTile.y, NULL); + screen_get_map_xy(x, y, &mapTile.x, &mapTile.y, NULL); - if (mapTile.x == MAP_LOCATION_NULL) { - money32 lower_cost = MONEY32_UNDEFINED; - money32 raise_cost = MONEY32_UNDEFINED; + if (mapTile.x == MAP_LOCATION_NULL) { + money32 lower_cost = MONEY32_UNDEFINED; + money32 raise_cost = MONEY32_UNDEFINED; - if (gLandToolRaiseCost != raise_cost || - gLandToolLowerCost != lower_cost){ - gLandToolRaiseCost = raise_cost; - gLandToolLowerCost = lower_cost; - window_invalidate_by_class(WC_LAND); - } - return; - } + if (gLandToolRaiseCost != raise_cost || + gLandToolLowerCost != lower_cost){ + gLandToolRaiseCost = raise_cost; + gLandToolLowerCost = lower_cost; + window_invalidate_by_class(WC_LAND); + } + return; + } - uint8 state_changed = 0; + uint8 state_changed = 0; - if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) { - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - state_changed++; - } + if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) { + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + state_changed++; + } - if (gMapSelectType != MAP_SELECT_TYPE_FULL) { - gMapSelectType = MAP_SELECT_TYPE_FULL; - state_changed++; - } + if (gMapSelectType != MAP_SELECT_TYPE_FULL) { + gMapSelectType = MAP_SELECT_TYPE_FULL; + state_changed++; + } - if (tool_size == 0) - tool_size = 1; + if (tool_size == 0) + tool_size = 1; - sint16 tool_length = (tool_size - 1) * 32; + sint16 tool_length = (tool_size - 1) * 32; - // Move to tool bottom left - mapTile.x -= (tool_size - 1) * 16; - mapTile.y -= (tool_size - 1) * 16; - mapTile.x &= 0xFFE0; - mapTile.y &= 0xFFE0; + // Move to tool bottom left + mapTile.x -= (tool_size - 1) * 16; + mapTile.y -= (tool_size - 1) * 16; + mapTile.x &= 0xFFE0; + mapTile.y &= 0xFFE0; - if (gMapSelectPositionA.x != mapTile.x){ - gMapSelectPositionA.x = mapTile.x; - state_changed++; - } + if (gMapSelectPositionA.x != mapTile.x){ + gMapSelectPositionA.x = mapTile.x; + state_changed++; + } - if (gMapSelectPositionA.y != mapTile.y){ - gMapSelectPositionA.y = mapTile.y; - state_changed++; - } + if (gMapSelectPositionA.y != mapTile.y){ + gMapSelectPositionA.y = mapTile.y; + state_changed++; + } - mapTile.x += tool_length; - mapTile.y += tool_length; + mapTile.x += tool_length; + mapTile.y += tool_length; - if (gMapSelectPositionB.x != mapTile.x){ - gMapSelectPositionB.x = mapTile.x; - state_changed++; - } + if (gMapSelectPositionB.x != mapTile.x){ + gMapSelectPositionB.x = mapTile.x; + state_changed++; + } - if (gMapSelectPositionB.y != mapTile.y){ - gMapSelectPositionB.y = mapTile.y; - state_changed++; - } + if (gMapSelectPositionB.y != mapTile.y){ + gMapSelectPositionB.y = mapTile.y; + state_changed++; + } - map_invalidate_selection_rect(); - if (!state_changed) - return; + map_invalidate_selection_rect(); + if (!state_changed) + return; - money32 lower_cost = selection_lower_land(0); - money32 raise_cost = selection_raise_land(0); + money32 lower_cost = selection_lower_land(0); + money32 raise_cost = selection_raise_land(0); - if (gLandToolRaiseCost != raise_cost || - gLandToolLowerCost != lower_cost){ - gLandToolRaiseCost = raise_cost; - gLandToolLowerCost = lower_cost; - window_invalidate_by_class(WC_LAND); - } + if (gLandToolRaiseCost != raise_cost || + gLandToolLowerCost != lower_cost){ + gLandToolRaiseCost = raise_cost; + gLandToolLowerCost = lower_cost; + window_invalidate_by_class(WC_LAND); + } } /** @@ -2080,130 +2080,130 @@ static void top_toolbar_tool_update_land(sint16 x, sint16 y){ * rct2: 0x006E6BDC */ static void top_toolbar_tool_update_water(sint16 x, sint16 y){ - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); - if (gCurrentToolId == TOOL_UP_DOWN_ARROW){ - if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) - return; + if (gCurrentToolId == TOOL_UP_DOWN_ARROW){ + if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) + return; - money32 lower_cost = lower_water( - gMapSelectPositionA.x, - gMapSelectPositionA.y, - gMapSelectPositionB.x, - gMapSelectPositionB.y, - 0); + money32 lower_cost = lower_water( + gMapSelectPositionA.x, + gMapSelectPositionA.y, + gMapSelectPositionB.x, + gMapSelectPositionB.y, + 0); - money32 raise_cost = raise_water( - gMapSelectPositionA.x, - gMapSelectPositionA.y, - gMapSelectPositionB.x, - gMapSelectPositionB.y, - 0); + money32 raise_cost = raise_water( + gMapSelectPositionA.x, + gMapSelectPositionA.y, + gMapSelectPositionB.x, + gMapSelectPositionB.y, + 0); - if (gWaterToolRaiseCost != raise_cost || gWaterToolLowerCost != lower_cost) { - gWaterToolRaiseCost = raise_cost; - gWaterToolLowerCost = lower_cost; - window_invalidate_by_class(WC_WATER); - } - return; - } + if (gWaterToolRaiseCost != raise_cost || gWaterToolLowerCost != lower_cost) { + gWaterToolRaiseCost = raise_cost; + gWaterToolLowerCost = lower_cost; + window_invalidate_by_class(WC_WATER); + } + return; + } - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - rct_xy16 mapTile = { 0 }; - sint32 interaction_type = 0; - get_map_coordinates_from_pos( - x, - y, - VIEWPORT_INTERACTION_MASK_TERRAIN & VIEWPORT_INTERACTION_MASK_WATER, - &mapTile.x, - &mapTile.y, - &interaction_type, - NULL, - NULL); + rct_xy16 mapTile = { 0 }; + sint32 interaction_type = 0; + get_map_coordinates_from_pos( + x, + y, + VIEWPORT_INTERACTION_MASK_TERRAIN & VIEWPORT_INTERACTION_MASK_WATER, + &mapTile.x, + &mapTile.y, + &interaction_type, + NULL, + NULL); - if (interaction_type == VIEWPORT_INTERACTION_ITEM_NONE){ - if (gWaterToolRaiseCost != MONEY32_UNDEFINED || gWaterToolLowerCost != MONEY32_UNDEFINED) { - gWaterToolRaiseCost = MONEY32_UNDEFINED; - gWaterToolLowerCost = MONEY32_UNDEFINED; - window_invalidate_by_class(WC_WATER); - } - return; - } + if (interaction_type == VIEWPORT_INTERACTION_ITEM_NONE){ + if (gWaterToolRaiseCost != MONEY32_UNDEFINED || gWaterToolLowerCost != MONEY32_UNDEFINED) { + gWaterToolRaiseCost = MONEY32_UNDEFINED; + gWaterToolLowerCost = MONEY32_UNDEFINED; + window_invalidate_by_class(WC_WATER); + } + return; + } - mapTile.x += 16; - mapTile.y += 16; + mapTile.x += 16; + mapTile.y += 16; - uint8 state_changed = 0; + uint8 state_changed = 0; - if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) { - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - state_changed++; - } + if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) { + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + state_changed++; + } - if (gMapSelectType != MAP_SELECT_TYPE_FULL_WATER) { - gMapSelectType = MAP_SELECT_TYPE_FULL_WATER; - state_changed++; - } + if (gMapSelectType != MAP_SELECT_TYPE_FULL_WATER) { + gMapSelectType = MAP_SELECT_TYPE_FULL_WATER; + state_changed++; + } - sint16 tool_size = gLandToolSize; - if (tool_size == 0) - tool_size = 1; + sint16 tool_size = gLandToolSize; + if (tool_size == 0) + tool_size = 1; - sint16 tool_length = (tool_size - 1) * 32; + sint16 tool_length = (tool_size - 1) * 32; - // Move to tool bottom left - mapTile.x -= (tool_size - 1) * 16; - mapTile.y -= (tool_size - 1) * 16; - mapTile.x &= 0xFFE0; - mapTile.y &= 0xFFE0; + // Move to tool bottom left + mapTile.x -= (tool_size - 1) * 16; + mapTile.y -= (tool_size - 1) * 16; + mapTile.x &= 0xFFE0; + mapTile.y &= 0xFFE0; - if (gMapSelectPositionA.x != mapTile.x){ - gMapSelectPositionA.x = mapTile.x; - state_changed++; - } + if (gMapSelectPositionA.x != mapTile.x){ + gMapSelectPositionA.x = mapTile.x; + state_changed++; + } - if (gMapSelectPositionA.y != mapTile.y){ - gMapSelectPositionA.y = mapTile.y; - state_changed++; - } + if (gMapSelectPositionA.y != mapTile.y){ + gMapSelectPositionA.y = mapTile.y; + state_changed++; + } - mapTile.x += tool_length; - mapTile.y += tool_length; + mapTile.x += tool_length; + mapTile.y += tool_length; - if (gMapSelectPositionB.x != mapTile.x){ - gMapSelectPositionB.x = mapTile.x; - state_changed++; - } + if (gMapSelectPositionB.x != mapTile.x){ + gMapSelectPositionB.x = mapTile.x; + state_changed++; + } - if (gMapSelectPositionB.y != mapTile.y){ - gMapSelectPositionB.y = mapTile.y; - state_changed++; - } + if (gMapSelectPositionB.y != mapTile.y){ + gMapSelectPositionB.y = mapTile.y; + state_changed++; + } - map_invalidate_selection_rect(); - if (!state_changed) - return; + map_invalidate_selection_rect(); + if (!state_changed) + return; - money32 lower_cost = lower_water( - gMapSelectPositionA.x, - gMapSelectPositionA.y, - gMapSelectPositionB.x, - gMapSelectPositionB.y, - 0); + money32 lower_cost = lower_water( + gMapSelectPositionA.x, + gMapSelectPositionA.y, + gMapSelectPositionB.x, + gMapSelectPositionB.y, + 0); - money32 raise_cost = raise_water( - gMapSelectPositionA.x, - gMapSelectPositionA.y, - gMapSelectPositionB.x, - gMapSelectPositionB.y, - 0); + money32 raise_cost = raise_water( + gMapSelectPositionA.x, + gMapSelectPositionA.y, + gMapSelectPositionB.x, + gMapSelectPositionB.y, + 0); - if (gWaterToolRaiseCost != raise_cost || gWaterToolLowerCost != lower_cost) { - gWaterToolRaiseCost = raise_cost; - gWaterToolLowerCost = lower_cost; - window_invalidate_by_class(WC_WATER); - } + if (gWaterToolRaiseCost != raise_cost || gWaterToolLowerCost != lower_cost) { + gWaterToolRaiseCost = raise_cost; + gWaterToolLowerCost = lower_cost; + window_invalidate_by_class(WC_WATER); + } } /** @@ -2213,158 +2213,158 @@ static void top_toolbar_tool_update_water(sint16 x, sint16 y){ * On success places ghost scenery and returns cost to place proper */ static money32 try_place_ghost_scenery(rct_xy16 map_tile, uint32 parameter_1, uint32 parameter_2, uint32 parameter_3, uint16 selected_tab){ - scenery_remove_ghost_tool_placement(); + scenery_remove_ghost_tool_placement(); - uint8 scenery_type = (selected_tab & 0xFF00) >> 8; - money32 cost = 0; - rct_map_element* mapElement; + uint8 scenery_type = (selected_tab & 0xFF00) >> 8; + money32 cost = 0; + rct_map_element* mapElement; - switch (scenery_type){ - case 0: - // Small Scenery - //6e252b - cost = game_do_command( - map_tile.x, - parameter_1 | 0x69, - map_tile.y, - parameter_2, - GAME_COMMAND_PLACE_SCENERY, - parameter_3, - gSceneryPlaceZ); + switch (scenery_type){ + case 0: + // Small Scenery + //6e252b + cost = game_do_command( + map_tile.x, + parameter_1 | 0x69, + map_tile.y, + parameter_2, + GAME_COMMAND_PLACE_SCENERY, + parameter_3, + gSceneryPlaceZ); - if (cost == MONEY32_UNDEFINED) - return cost; + if (cost == MONEY32_UNDEFINED) + return cost; - gSceneryGhostPosition.x = map_tile.x; - gSceneryGhostPosition.y = map_tile.y; - gSceneryPlaceRotation = (uint16)(parameter_3 & 0xFF); - gSceneryPlaceObject = selected_tab; + gSceneryGhostPosition.x = map_tile.x; + gSceneryGhostPosition.y = map_tile.y; + gSceneryPlaceRotation = (uint16)(parameter_3 & 0xFF); + gSceneryPlaceObject = selected_tab; - mapElement = gSceneryMapElement; - gSceneryGhostPosition.z = mapElement->base_height; - gSceneryMapElementType = mapElement->type; - if (gSceneryGroundFlags & ELEMENT_IS_UNDERGROUND){ - //Set underground on - viewport_set_visibility(4); - } - else{ - //Set underground off - viewport_set_visibility(5); - } + mapElement = gSceneryMapElement; + gSceneryGhostPosition.z = mapElement->base_height; + gSceneryMapElementType = mapElement->type; + if (gSceneryGroundFlags & ELEMENT_IS_UNDERGROUND){ + //Set underground on + viewport_set_visibility(4); + } + else{ + //Set underground off + viewport_set_visibility(5); + } - gSceneryGhostType |= (1 << 0); - break; - case 1: - // Path Bits - //6e265b - cost = game_do_command( - map_tile.x, - (parameter_1 & 0xFF00) | ( - GAME_COMMAND_FLAG_APPLY | - GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | - GAME_COMMAND_FLAG_5 | - GAME_COMMAND_FLAG_GHOST | - GAME_COMMAND_FLAG_7 - ), - map_tile.y, - parameter_2, - GAME_COMMAND_PLACE_PATH, - parameter_3, - 0); + gSceneryGhostType |= (1 << 0); + break; + case 1: + // Path Bits + //6e265b + cost = game_do_command( + map_tile.x, + (parameter_1 & 0xFF00) | ( + GAME_COMMAND_FLAG_APPLY | + GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | + GAME_COMMAND_FLAG_5 | + GAME_COMMAND_FLAG_GHOST | + GAME_COMMAND_FLAG_7 + ), + map_tile.y, + parameter_2, + GAME_COMMAND_PLACE_PATH, + parameter_3, + 0); - if (cost == MONEY32_UNDEFINED) - return cost; + if (cost == MONEY32_UNDEFINED) + return cost; - gSceneryGhostPosition.x = map_tile.x; - gSceneryGhostPosition.y = map_tile.y; - gSceneryGhostPosition.z = (parameter_2 & 0xFF); - gSceneryPlacePathSlope = ((parameter_1 >> 8) & 0xFF); - gSceneryPlacePathType = ((parameter_2 >> 8) & 0xFF); - gSceneryGhostPathObjectType = parameter_3; + gSceneryGhostPosition.x = map_tile.x; + gSceneryGhostPosition.y = map_tile.y; + gSceneryGhostPosition.z = (parameter_2 & 0xFF); + gSceneryPlacePathSlope = ((parameter_1 >> 8) & 0xFF); + gSceneryPlacePathType = ((parameter_2 >> 8) & 0xFF); + gSceneryGhostPathObjectType = parameter_3; - gSceneryGhostType |= (1 << 1); - break; - case 2: - // Walls - //6e26b0 - cost = game_do_command( - map_tile.x, - parameter_1 | 0x69, - map_tile.y, - parameter_2, - GAME_COMMAND_PLACE_WALL, - gSceneryPlaceZ, - _unkF64F15); + gSceneryGhostType |= (1 << 1); + break; + case 2: + // Walls + //6e26b0 + cost = game_do_command( + map_tile.x, + parameter_1 | 0x69, + map_tile.y, + parameter_2, + GAME_COMMAND_PLACE_WALL, + gSceneryPlaceZ, + _unkF64F15); - if (cost == MONEY32_UNDEFINED) - return cost; + if (cost == MONEY32_UNDEFINED) + return cost; - gSceneryGhostPosition.x = map_tile.x; - gSceneryGhostPosition.y = map_tile.y; - gSceneryGhostWallRotation = (parameter_2 & 0xFF); + gSceneryGhostPosition.x = map_tile.x; + gSceneryGhostPosition.y = map_tile.y; + gSceneryGhostWallRotation = (parameter_2 & 0xFF); - mapElement = gSceneryMapElement; - gSceneryGhostPosition.z = mapElement->base_height; + mapElement = gSceneryMapElement; + gSceneryGhostPosition.z = mapElement->base_height; - gSceneryGhostType |= (1 << 2); - break; - case 3: - // Large Scenery - //6e25a7 - cost = game_do_command( - map_tile.x, - parameter_1 | 0x69, - map_tile.y, - parameter_2, - GAME_COMMAND_PLACE_LARGE_SCENERY, - parameter_3, - gSceneryPlaceZ); + gSceneryGhostType |= (1 << 2); + break; + case 3: + // Large Scenery + //6e25a7 + cost = game_do_command( + map_tile.x, + parameter_1 | 0x69, + map_tile.y, + parameter_2, + GAME_COMMAND_PLACE_LARGE_SCENERY, + parameter_3, + gSceneryPlaceZ); - if (cost == MONEY32_UNDEFINED) - return cost; + if (cost == MONEY32_UNDEFINED) + return cost; - gSceneryGhostPosition.x = map_tile.x; - gSceneryGhostPosition.y = map_tile.y; - gSceneryPlaceRotation = ((parameter_1 >> 8) & 0xFF); + gSceneryGhostPosition.x = map_tile.x; + gSceneryGhostPosition.y = map_tile.y; + gSceneryPlaceRotation = ((parameter_1 >> 8) & 0xFF); - mapElement = gSceneryMapElement; - gSceneryGhostPosition.z = mapElement->base_height; + mapElement = gSceneryMapElement; + gSceneryGhostPosition.z = mapElement->base_height; - if (gSceneryGroundFlags & ELEMENT_IS_UNDERGROUND){ - //Set underground on - viewport_set_visibility(4); - } - else{ - //Set underground off - viewport_set_visibility(5); - } + if (gSceneryGroundFlags & ELEMENT_IS_UNDERGROUND){ + //Set underground on + viewport_set_visibility(4); + } + else{ + //Set underground off + viewport_set_visibility(5); + } - gSceneryGhostType |= (1 << 3); - break; - case 4: - // Banners - //6e2612 - cost = game_do_command( - map_tile.x, - parameter_1 | 0x69, - map_tile.y, - parameter_2, - GAME_COMMAND_PLACE_BANNER, - parameter_3, - 0); + gSceneryGhostType |= (1 << 3); + break; + case 4: + // Banners + //6e2612 + cost = game_do_command( + map_tile.x, + parameter_1 | 0x69, + map_tile.y, + parameter_2, + GAME_COMMAND_PLACE_BANNER, + parameter_3, + 0); - if (cost == MONEY32_UNDEFINED) - return cost; + if (cost == MONEY32_UNDEFINED) + return cost; - gSceneryGhostPosition.x = map_tile.x; - gSceneryGhostPosition.y = map_tile.y; - gSceneryGhostPosition.z = (parameter_2 & 0xFF) * 2 + 2; - gSceneryPlaceRotation = ((parameter_2 >> 8) & 0xFF); - gSceneryGhostType |= (1 << 4); - break; - } + gSceneryGhostPosition.x = map_tile.x; + gSceneryGhostPosition.y = map_tile.y; + gSceneryGhostPosition.z = (parameter_2 & 0xFF) * 2 + 2; + gSceneryPlaceRotation = ((parameter_2 >> 8) & 0xFF); + gSceneryGhostType |= (1 << 4); + break; + } - return cost; + return cost; } /** @@ -2372,271 +2372,271 @@ static money32 try_place_ghost_scenery(rct_xy16 map_tile, uint32 parameter_1, ui * rct2: 0x006E287B */ static void top_toolbar_tool_update_scenery(sint16 x, sint16 y){ - map_invalidate_selection_rect(); - map_invalidate_map_selection_tiles(); + map_invalidate_selection_rect(); + map_invalidate_map_selection_tiles(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - if (gWindowSceneryPaintEnabled) - return; - if (gWindowSceneryEyedropperEnabled) - return; + if (gWindowSceneryPaintEnabled) + return; + if (gWindowSceneryEyedropperEnabled) + return; - sint16 selected_tab = gWindowSceneryTabSelections[gWindowSceneryActiveTabIndex]; + sint16 selected_tab = gWindowSceneryTabSelections[gWindowSceneryActiveTabIndex]; - if (selected_tab == -1){ - scenery_remove_ghost_tool_placement(); - return; - } + if (selected_tab == -1){ + scenery_remove_ghost_tool_placement(); + return; + } - uint8 scenery_type = (selected_tab & 0xFF00) >> 8; - uint8 selected_scenery = selected_tab & 0xFF; - rct_xy16 mapTile = { 0 }; - uint32 parameter1, parameter2, parameter3; + uint8 scenery_type = (selected_tab & 0xFF00) >> 8; + uint8 selected_scenery = selected_tab & 0xFF; + rct_xy16 mapTile = { 0 }; + uint32 parameter1, parameter2, parameter3; - sub_6E1F34(x, y, selected_tab, &mapTile.x, &mapTile.y, ¶meter1, ¶meter2, ¶meter3); + sub_6E1F34(x, y, selected_tab, &mapTile.x, &mapTile.y, ¶meter1, ¶meter2, ¶meter3); - if (mapTile.x == MAP_LOCATION_NULL) { - scenery_remove_ghost_tool_placement(); - return; - } + if (mapTile.x == MAP_LOCATION_NULL) { + scenery_remove_ghost_tool_placement(); + return; + } - rct_scenery_entry* scenery; - uint8 bl; - money32 cost = 0; + rct_scenery_entry* scenery; + uint8 bl; + money32 cost = 0; - switch (scenery_type){ - case 0: - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - if (gWindowSceneryClusterEnabled) { - gMapSelectPositionA.x = mapTile.x - (8 << 5); - gMapSelectPositionA.y = mapTile.y - (8 << 5); - gMapSelectPositionB.x = mapTile.x + (7 << 5); - gMapSelectPositionB.y = mapTile.y + (7 << 5); - } - else { - gMapSelectPositionA.x = mapTile.x; - gMapSelectPositionA.y = mapTile.y; - gMapSelectPositionB.x = mapTile.x; - gMapSelectPositionB.y = mapTile.y; - } + switch (scenery_type){ + case 0: + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + if (gWindowSceneryClusterEnabled) { + gMapSelectPositionA.x = mapTile.x - (8 << 5); + gMapSelectPositionA.y = mapTile.y - (8 << 5); + gMapSelectPositionB.x = mapTile.x + (7 << 5); + gMapSelectPositionB.y = mapTile.y + (7 << 5); + } + else { + gMapSelectPositionA.x = mapTile.x; + gMapSelectPositionA.y = mapTile.y; + gMapSelectPositionB.x = mapTile.x; + gMapSelectPositionB.y = mapTile.y; + } - scenery = get_small_scenery_entry(selected_scenery); + scenery = get_small_scenery_entry(selected_scenery); - gMapSelectType = MAP_SELECT_TYPE_FULL; - if (!(scenery->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE) && !gWindowSceneryClusterEnabled){ - gMapSelectType = MAP_SELECT_TYPE_QUARTER_0 + ((parameter2 & 0xFF) ^ 2); - } + gMapSelectType = MAP_SELECT_TYPE_FULL; + if (!(scenery->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE) && !gWindowSceneryClusterEnabled){ + gMapSelectType = MAP_SELECT_TYPE_QUARTER_0 + ((parameter2 & 0xFF) ^ 2); + } - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); - // If no change in ghost placement - if ((gSceneryGhostType & (1 << 0)) && - mapTile.x == gSceneryGhostPosition.x && - mapTile.y == gSceneryGhostPosition.y && - (parameter2 & 0xFF) == _unkF64F0E && - gSceneryPlaceZ == _unkF64F0A && - gSceneryPlaceObject == selected_tab){ - return; - } + // If no change in ghost placement + if ((gSceneryGhostType & (1 << 0)) && + mapTile.x == gSceneryGhostPosition.x && + mapTile.y == gSceneryGhostPosition.y && + (parameter2 & 0xFF) == _unkF64F0E && + gSceneryPlaceZ == _unkF64F0A && + gSceneryPlaceObject == selected_tab){ + return; + } - scenery_remove_ghost_tool_placement(); + scenery_remove_ghost_tool_placement(); - _unkF64F0E = (parameter2 & 0xFF); - _unkF64F0A = gSceneryPlaceZ; + _unkF64F0E = (parameter2 & 0xFF); + _unkF64F0A = gSceneryPlaceZ; - bl = 1; - if (gSceneryPlaceZ != 0 && - gSceneryShiftPressed - ) { - bl = 20; - } + bl = 1; + if (gSceneryPlaceZ != 0 && + gSceneryShiftPressed + ) { + bl = 20; + } - for (; bl != 0; bl--){ - cost = try_place_ghost_scenery( - mapTile, - parameter1, - parameter2, - parameter3, - selected_tab); + for (; bl != 0; bl--){ + cost = try_place_ghost_scenery( + mapTile, + parameter1, + parameter2, + parameter3, + selected_tab); - if (cost != MONEY32_UNDEFINED) - break; - gSceneryPlaceZ += 8; - } + if (cost != MONEY32_UNDEFINED) + break; + gSceneryPlaceZ += 8; + } - gSceneryPlaceCost = cost; - break; - case 1: - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - gMapSelectPositionA.x = mapTile.x; - gMapSelectPositionA.y = mapTile.y; - gMapSelectPositionB.x = mapTile.x; - gMapSelectPositionB.y = mapTile.y; - gMapSelectType = MAP_SELECT_TYPE_FULL; + gSceneryPlaceCost = cost; + break; + case 1: + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectPositionA.x = mapTile.x; + gMapSelectPositionA.y = mapTile.y; + gMapSelectPositionB.x = mapTile.x; + gMapSelectPositionB.y = mapTile.y; + gMapSelectType = MAP_SELECT_TYPE_FULL; - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); - // If no change in ghost placement - if ((gSceneryGhostType & (1 << 1)) && - mapTile.x == gSceneryGhostPosition.x && - mapTile.y == gSceneryGhostPosition.y && - (sint16)(parameter2 & 0xFF) == gSceneryGhostPosition.z){ - return; - } + // If no change in ghost placement + if ((gSceneryGhostType & (1 << 1)) && + mapTile.x == gSceneryGhostPosition.x && + mapTile.y == gSceneryGhostPosition.y && + (sint16)(parameter2 & 0xFF) == gSceneryGhostPosition.z){ + return; + } - scenery_remove_ghost_tool_placement(); + scenery_remove_ghost_tool_placement(); - cost = try_place_ghost_scenery( - mapTile, - parameter1, - parameter2, - parameter3, - selected_tab); + cost = try_place_ghost_scenery( + mapTile, + parameter1, + parameter2, + parameter3, + selected_tab); - gSceneryPlaceCost = cost; - break; - case 2: - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - gMapSelectPositionA.x = mapTile.x; - gMapSelectPositionA.y = mapTile.y; - gMapSelectPositionB.x = mapTile.x; - gMapSelectPositionB.y = mapTile.y; - gMapSelectType = MAP_SELECT_TYPE_EDGE_0 + (parameter2 & 0xFF); + gSceneryPlaceCost = cost; + break; + case 2: + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectPositionA.x = mapTile.x; + gMapSelectPositionA.y = mapTile.y; + gMapSelectPositionB.x = mapTile.x; + gMapSelectPositionB.y = mapTile.y; + gMapSelectType = MAP_SELECT_TYPE_EDGE_0 + (parameter2 & 0xFF); - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); - // If no change in ghost placement - if ((gSceneryGhostType & (1 << 2)) && - mapTile.x == gSceneryGhostPosition.x && - mapTile.y == gSceneryGhostPosition.y && - (parameter2 & 0xFF) == gSceneryGhostWallRotation && - gSceneryPlaceZ == _unkF64F0A - ){ - return; - } + // If no change in ghost placement + if ((gSceneryGhostType & (1 << 2)) && + mapTile.x == gSceneryGhostPosition.x && + mapTile.y == gSceneryGhostPosition.y && + (parameter2 & 0xFF) == gSceneryGhostWallRotation && + gSceneryPlaceZ == _unkF64F0A + ){ + return; + } - scenery_remove_ghost_tool_placement(); + scenery_remove_ghost_tool_placement(); - gSceneryGhostWallRotation = (parameter2 & 0xFF); - _unkF64F0A = gSceneryPlaceZ; + gSceneryGhostWallRotation = (parameter2 & 0xFF); + _unkF64F0A = gSceneryPlaceZ; - bl = 1; - if (gSceneryPlaceZ != 0 && - gSceneryShiftPressed - ) { - bl = 20; - } + bl = 1; + if (gSceneryPlaceZ != 0 && + gSceneryShiftPressed + ) { + bl = 20; + } - cost = 0; - for (; bl != 0; bl--){ - cost = try_place_ghost_scenery( - mapTile, - parameter1, - parameter2, - parameter3, - selected_tab); + cost = 0; + for (; bl != 0; bl--){ + cost = try_place_ghost_scenery( + mapTile, + parameter1, + parameter2, + parameter3, + selected_tab); - if (cost != MONEY32_UNDEFINED) - break; - gSceneryPlaceZ += 8; - } + if (cost != MONEY32_UNDEFINED) + break; + gSceneryPlaceZ += 8; + } - gSceneryPlaceCost = cost; - break; - case 3: - scenery = get_large_scenery_entry(selected_scenery); - rct_xy16* selectedTile = gMapSelectionTiles; + gSceneryPlaceCost = cost; + break; + case 3: + scenery = get_large_scenery_entry(selected_scenery); + rct_xy16* selectedTile = gMapSelectionTiles; - for (rct_large_scenery_tile* tile = scenery->large_scenery.tiles; tile->x_offset != (sint16)(uint16)0xFFFF; tile++){ - rct_xy16 tileLocation = { - .x = tile->x_offset, - .y = tile->y_offset - }; + for (rct_large_scenery_tile* tile = scenery->large_scenery.tiles; tile->x_offset != (sint16)(uint16)0xFFFF; tile++){ + rct_xy16 tileLocation = { + .x = tile->x_offset, + .y = tile->y_offset + }; - rotate_map_coordinates(&tileLocation.x, &tileLocation.y, (parameter1 >> 8) & 0xFF); + rotate_map_coordinates(&tileLocation.x, &tileLocation.y, (parameter1 >> 8) & 0xFF); - tileLocation.x += mapTile.x; - tileLocation.y += mapTile.y; + tileLocation.x += mapTile.x; + tileLocation.y += mapTile.y; - selectedTile->x = tileLocation.x; - selectedTile->y = tileLocation.y; - selectedTile++; - } - selectedTile->x = 0xFFFF; + selectedTile->x = tileLocation.x; + selectedTile->y = tileLocation.y; + selectedTile++; + } + selectedTile->x = 0xFFFF; - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - map_invalidate_map_selection_tiles(); + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + map_invalidate_map_selection_tiles(); - // If no change in ghost placement - if ((gSceneryGhostType & (1 << 3)) && - mapTile.x == gSceneryGhostPosition.x && - mapTile.y == gSceneryGhostPosition.y && - gSceneryPlaceZ == _unkF64F0A && - (sint16)(parameter3 & 0xFFFF) == gSceneryPlaceObject - ) { - return; - } + // If no change in ghost placement + if ((gSceneryGhostType & (1 << 3)) && + mapTile.x == gSceneryGhostPosition.x && + mapTile.y == gSceneryGhostPosition.y && + gSceneryPlaceZ == _unkF64F0A && + (sint16)(parameter3 & 0xFFFF) == gSceneryPlaceObject + ) { + return; + } - scenery_remove_ghost_tool_placement(); + scenery_remove_ghost_tool_placement(); - gSceneryPlaceObject = (parameter3 & 0xFFFF); - _unkF64F0A = gSceneryPlaceZ; + gSceneryPlaceObject = (parameter3 & 0xFFFF); + _unkF64F0A = gSceneryPlaceZ; - bl = 1; - if (gSceneryPlaceZ != 0 && gSceneryShiftPressed) { - bl = 20; - } + bl = 1; + if (gSceneryPlaceZ != 0 && gSceneryShiftPressed) { + bl = 20; + } - cost = 0; - for (; bl != 0; bl--){ - cost = try_place_ghost_scenery( - mapTile, - parameter1, - parameter2, - parameter3, - selected_tab); + cost = 0; + for (; bl != 0; bl--){ + cost = try_place_ghost_scenery( + mapTile, + parameter1, + parameter2, + parameter3, + selected_tab); - if (cost != MONEY32_UNDEFINED) - break; - gSceneryPlaceZ += 8; - } + if (cost != MONEY32_UNDEFINED) + break; + gSceneryPlaceZ += 8; + } - gSceneryPlaceCost = cost; - break; - case 4: - gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; - gMapSelectPositionA.x = mapTile.x; - gMapSelectPositionA.y = mapTile.y; - gMapSelectPositionB.x = mapTile.x; - gMapSelectPositionB.y = mapTile.y; - gMapSelectType = MAP_SELECT_TYPE_FULL; + gSceneryPlaceCost = cost; + break; + case 4: + gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE; + gMapSelectPositionA.x = mapTile.x; + gMapSelectPositionA.y = mapTile.y; + gMapSelectPositionB.x = mapTile.x; + gMapSelectPositionB.y = mapTile.y; + gMapSelectType = MAP_SELECT_TYPE_FULL; - map_invalidate_selection_rect(); + map_invalidate_selection_rect(); - // If no change in ghost placement - if ((gSceneryGhostType & (1 << 4)) && - mapTile.x == gSceneryGhostPosition.x && - mapTile.y == gSceneryGhostPosition.y && - (sint16)(parameter2 & 0xFF) == gSceneryGhostPosition.z && - ((parameter2 >> 8) & 0xFF) == gSceneryPlaceRotation - ) { - return; - } + // If no change in ghost placement + if ((gSceneryGhostType & (1 << 4)) && + mapTile.x == gSceneryGhostPosition.x && + mapTile.y == gSceneryGhostPosition.y && + (sint16)(parameter2 & 0xFF) == gSceneryGhostPosition.z && + ((parameter2 >> 8) & 0xFF) == gSceneryPlaceRotation + ) { + return; + } - scenery_remove_ghost_tool_placement(); + scenery_remove_ghost_tool_placement(); - cost = try_place_ghost_scenery( - mapTile, - parameter1, - parameter2, - parameter3, - selected_tab); + cost = try_place_ghost_scenery( + mapTile, + parameter1, + parameter2, + parameter3, + selected_tab); - gSceneryPlaceCost = cost; - break; - } + gSceneryPlaceCost = cost; + break; + } } /** @@ -2645,23 +2645,23 @@ static void top_toolbar_tool_update_scenery(sint16 x, sint16 y){ */ static void window_top_toolbar_tool_update(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex) { - case WIDX_CLEAR_SCENERY: - top_toolbar_tool_update_scenery_clear(x, y); - break; - case WIDX_LAND: - if (gLandPaintMode) - top_toolbar_tool_update_land_paint(x, y); - else - top_toolbar_tool_update_land(x, y); - break; - case WIDX_WATER: - top_toolbar_tool_update_water(x, y); - break; - case WIDX_SCENERY: - top_toolbar_tool_update_scenery(x, y); - break; - } + switch (widgetIndex) { + case WIDX_CLEAR_SCENERY: + top_toolbar_tool_update_scenery_clear(x, y); + break; + case WIDX_LAND: + if (gLandPaintMode) + top_toolbar_tool_update_land_paint(x, y); + else + top_toolbar_tool_update_land(x, y); + break; + case WIDX_WATER: + top_toolbar_tool_update_water(x, y); + break; + case WIDX_SCENERY: + top_toolbar_tool_update_scenery(x, y); + break; + } } /** @@ -2670,48 +2670,48 @@ static void window_top_toolbar_tool_update(rct_window* w, rct_widgetindex widget */ static void window_top_toolbar_tool_down(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex){ - case WIDX_CLEAR_SCENERY: - if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) - break; + switch (widgetIndex){ + case WIDX_CLEAR_SCENERY: + if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) + break; - gGameCommandErrorTitle = STR_UNABLE_TO_REMOVE_ALL_SCENERY_FROM_HERE; + gGameCommandErrorTitle = STR_UNABLE_TO_REMOVE_ALL_SCENERY_FROM_HERE; - game_do_command( - gMapSelectPositionA.x, - 1, - gMapSelectPositionA.y, - (gClearSmallScenery | gClearLargeScenery << 1 | gClearFootpath << 2), - GAME_COMMAND_CLEAR_SCENERY, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - gCurrentToolId = TOOL_CROSSHAIR; - break; - case WIDX_LAND: - if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE) { - gGameCommandErrorTitle = STR_CANT_CHANGE_LAND_TYPE; - game_do_command( - gMapSelectPositionA.x, - 1, - gMapSelectPositionA.y, - gLandToolTerrainSurface | (gLandToolTerrainEdge << 8), - GAME_COMMAND_CHANGE_SURFACE_STYLE, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - gCurrentToolId = TOOL_UP_DOWN_ARROW; - } - break; - case WIDX_WATER: - if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE) { - gCurrentToolId = TOOL_UP_DOWN_ARROW; - } - break; - case WIDX_SCENERY: - window_top_toolbar_scenery_tool_down(x, y, w, widgetIndex); - break; - } + game_do_command( + gMapSelectPositionA.x, + 1, + gMapSelectPositionA.y, + (gClearSmallScenery | gClearLargeScenery << 1 | gClearFootpath << 2), + GAME_COMMAND_CLEAR_SCENERY, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + gCurrentToolId = TOOL_CROSSHAIR; + break; + case WIDX_LAND: + if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE) { + gGameCommandErrorTitle = STR_CANT_CHANGE_LAND_TYPE; + game_do_command( + gMapSelectPositionA.x, + 1, + gMapSelectPositionA.y, + gLandToolTerrainSurface | (gLandToolTerrainEdge << 8), + GAME_COMMAND_CHANGE_SURFACE_STYLE, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + gCurrentToolId = TOOL_UP_DOWN_ARROW; + } + break; + case WIDX_WATER: + if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE) { + gCurrentToolId = TOOL_UP_DOWN_ARROW; + } + break; + case WIDX_SCENERY: + window_top_toolbar_scenery_tool_down(x, y, w, widgetIndex); + break; + } } /** @@ -2720,20 +2720,20 @@ static void window_top_toolbar_tool_down(rct_window* w, rct_widgetindex widgetIn */ money32 selection_raise_land(uint8 flags) { - sint32 centreX = (gMapSelectPositionA.x + gMapSelectPositionB.x) / 2; - sint32 centreY = (gMapSelectPositionA.y + gMapSelectPositionB.y) / 2; - centreX += 16; - centreY += 16; + sint32 centreX = (gMapSelectPositionA.x + gMapSelectPositionB.x) / 2; + sint32 centreY = (gMapSelectPositionA.y + gMapSelectPositionB.y) / 2; + centreX += 16; + centreY += 16; - uint32 xBounds = (gMapSelectPositionA.x & 0xFFFF) | (gMapSelectPositionB.x << 16); - uint32 yBounds = (gMapSelectPositionA.y & 0xFFFF) | (gMapSelectPositionB.y << 16); + uint32 xBounds = (gMapSelectPositionA.x & 0xFFFF) | (gMapSelectPositionB.x << 16); + uint32 yBounds = (gMapSelectPositionA.y & 0xFFFF) | (gMapSelectPositionB.y << 16); - gGameCommandErrorTitle = STR_CANT_RAISE_LAND_HERE; - if (gLandMountainMode) { - return game_do_command(centreX, flags, centreY, xBounds, GAME_COMMAND_EDIT_LAND_SMOOTH, gMapSelectType, yBounds); - } else { - return game_do_command(centreX, flags, centreY, xBounds, GAME_COMMAND_RAISE_LAND, gMapSelectType, yBounds); - } + gGameCommandErrorTitle = STR_CANT_RAISE_LAND_HERE; + if (gLandMountainMode) { + return game_do_command(centreX, flags, centreY, xBounds, GAME_COMMAND_EDIT_LAND_SMOOTH, gMapSelectType, yBounds); + } else { + return game_do_command(centreX, flags, centreY, xBounds, GAME_COMMAND_RAISE_LAND, gMapSelectType, yBounds); + } } /** @@ -2742,20 +2742,20 @@ money32 selection_raise_land(uint8 flags) */ money32 selection_lower_land(uint8 flags) { - sint32 centreX = (gMapSelectPositionA.x + gMapSelectPositionB.x) / 2; - sint32 centreY = (gMapSelectPositionA.y + gMapSelectPositionB.y) / 2; - centreX += 16; - centreY += 16; + sint32 centreX = (gMapSelectPositionA.x + gMapSelectPositionB.x) / 2; + sint32 centreY = (gMapSelectPositionA.y + gMapSelectPositionB.y) / 2; + centreX += 16; + centreY += 16; - uint32 xBounds = (gMapSelectPositionA.x & 0xFFFF) | (gMapSelectPositionB.x << 16); - uint32 yBounds = (gMapSelectPositionA.y & 0xFFFF) | (gMapSelectPositionB.y << 16); + uint32 xBounds = (gMapSelectPositionA.x & 0xFFFF) | (gMapSelectPositionB.x << 16); + uint32 yBounds = (gMapSelectPositionA.y & 0xFFFF) | (gMapSelectPositionB.y << 16); - gGameCommandErrorTitle = STR_CANT_LOWER_LAND_HERE; - if (gLandMountainMode) { - return game_do_command(centreX, flags, centreY, xBounds, GAME_COMMAND_EDIT_LAND_SMOOTH, 0x8000+gMapSelectType, yBounds); - } else { - return game_do_command(centreX, flags, centreY, xBounds, GAME_COMMAND_LOWER_LAND, gMapSelectType, yBounds); - } + gGameCommandErrorTitle = STR_CANT_LOWER_LAND_HERE; + if (gLandMountainMode) { + return game_do_command(centreX, flags, centreY, xBounds, GAME_COMMAND_EDIT_LAND_SMOOTH, 0x8000+gMapSelectType, yBounds); + } else { + return game_do_command(centreX, flags, centreY, xBounds, GAME_COMMAND_LOWER_LAND, gMapSelectType, yBounds); + } } /** @@ -2764,37 +2764,37 @@ money32 selection_lower_land(uint8 flags) */ static void window_top_toolbar_land_tool_drag(sint16 x, sint16 y) { - rct_window *window = window_find_from_point(x, y); - if (!window) - return; - rct_widgetindex widget_index = window_find_widget_from_point(window, x, y); - if (widget_index == -1) - return; - rct_widget *widget = &window->widgets[widget_index]; - if (widget->type != WWT_VIEWPORT) - return; - rct_viewport *viewport = window->viewport; - if (!viewport) - return; + rct_window *window = window_find_from_point(x, y); + if (!window) + return; + rct_widgetindex widget_index = window_find_widget_from_point(window, x, y); + if (widget_index == -1) + return; + rct_widget *widget = &window->widgets[widget_index]; + if (widget->type != WWT_VIEWPORT) + return; + rct_viewport *viewport = window->viewport; + if (!viewport) + return; - sint16 tile_height = -16 / (1 << viewport->zoom); + sint16 tile_height = -16 / (1 << viewport->zoom); - sint32 y_diff = y - gInputDragLastY; - if (y_diff <= tile_height) { - gInputDragLastY += tile_height; + sint32 y_diff = y - gInputDragLastY; + if (y_diff <= tile_height) { + gInputDragLastY += tile_height; - selection_raise_land(GAME_COMMAND_FLAG_APPLY); + selection_raise_land(GAME_COMMAND_FLAG_APPLY); - gLandToolRaiseCost = MONEY32_UNDEFINED; - gLandToolLowerCost = MONEY32_UNDEFINED; - } else if (y_diff >= -tile_height) { - gInputDragLastY -= tile_height; + gLandToolRaiseCost = MONEY32_UNDEFINED; + gLandToolLowerCost = MONEY32_UNDEFINED; + } else if (y_diff >= -tile_height) { + gInputDragLastY -= tile_height; - selection_lower_land(GAME_COMMAND_FLAG_APPLY); + selection_lower_land(GAME_COMMAND_FLAG_APPLY); - gLandToolRaiseCost = MONEY32_UNDEFINED; - gLandToolLowerCost = MONEY32_UNDEFINED; - } + gLandToolRaiseCost = MONEY32_UNDEFINED; + gLandToolLowerCost = MONEY32_UNDEFINED; + } } /** @@ -2803,65 +2803,65 @@ static void window_top_toolbar_land_tool_drag(sint16 x, sint16 y) */ static void window_top_toolbar_water_tool_drag(sint16 x, sint16 y) { - rct_window *window = window_find_from_point(x, y); - if (!window) - return; - rct_widgetindex widget_index = window_find_widget_from_point(window, x, y); - if (widget_index == -1) - return; - rct_widget *widget = &window->widgets[widget_index]; - if (widget->type != WWT_VIEWPORT) - return; - rct_viewport *viewport = window->viewport; - if (!viewport) - return; + rct_window *window = window_find_from_point(x, y); + if (!window) + return; + rct_widgetindex widget_index = window_find_widget_from_point(window, x, y); + if (widget_index == -1) + return; + rct_widget *widget = &window->widgets[widget_index]; + if (widget->type != WWT_VIEWPORT) + return; + rct_viewport *viewport = window->viewport; + if (!viewport) + return; - sint16 dx = 0xFFF0; - dx >>= viewport->zoom; + sint16 dx = 0xFFF0; + dx >>= viewport->zoom; - y -= gInputDragLastY; + y -= gInputDragLastY; - if (y <= dx) { - gInputDragLastY += dx; + if (y <= dx) { + gInputDragLastY += dx; - gGameCommandErrorTitle = STR_CANT_RAISE_WATER_LEVEL_HERE; + gGameCommandErrorTitle = STR_CANT_RAISE_WATER_LEVEL_HERE; - game_do_command( - gMapSelectPositionA.x, - 1, - gMapSelectPositionA.y, - dx, - GAME_COMMAND_RAISE_WATER, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - gWaterToolRaiseCost = MONEY32_UNDEFINED; - gWaterToolLowerCost = MONEY32_UNDEFINED; + game_do_command( + gMapSelectPositionA.x, + 1, + gMapSelectPositionA.y, + dx, + GAME_COMMAND_RAISE_WATER, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + gWaterToolRaiseCost = MONEY32_UNDEFINED; + gWaterToolLowerCost = MONEY32_UNDEFINED; - return; - } + return; + } - dx = -dx; + dx = -dx; - if (y >= dx) { - gInputDragLastY += dx; + if (y >= dx) { + gInputDragLastY += dx; - gGameCommandErrorTitle = STR_CANT_LOWER_WATER_LEVEL_HERE; + gGameCommandErrorTitle = STR_CANT_LOWER_WATER_LEVEL_HERE; - game_do_command( - gMapSelectPositionA.x, - 1, - gMapSelectPositionA.y, - dx, - GAME_COMMAND_LOWER_WATER, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - gWaterToolRaiseCost = MONEY32_UNDEFINED; - gWaterToolLowerCost = MONEY32_UNDEFINED; + game_do_command( + gMapSelectPositionA.x, + 1, + gMapSelectPositionA.y, + dx, + GAME_COMMAND_LOWER_WATER, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + gWaterToolRaiseCost = MONEY32_UNDEFINED; + gWaterToolLowerCost = MONEY32_UNDEFINED; - return; - } + return; + } } /** @@ -2870,58 +2870,58 @@ static void window_top_toolbar_water_tool_drag(sint16 x, sint16 y) */ static void window_top_toolbar_tool_drag(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex){ - case WIDX_CLEAR_SCENERY: - if (window_find_by_class(WC_ERROR) != NULL) - break; + switch (widgetIndex){ + case WIDX_CLEAR_SCENERY: + if (window_find_by_class(WC_ERROR) != NULL) + break; - if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) - break; + if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) + break; - gGameCommandErrorTitle = STR_UNABLE_TO_REMOVE_ALL_SCENERY_FROM_HERE; + gGameCommandErrorTitle = STR_UNABLE_TO_REMOVE_ALL_SCENERY_FROM_HERE; - game_do_command( - gMapSelectPositionA.x, - 1, - gMapSelectPositionA.y, - (gClearSmallScenery | gClearLargeScenery << 1 | gClearFootpath << 2), - GAME_COMMAND_CLEAR_SCENERY, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - gCurrentToolId = TOOL_CROSSHAIR; - break; - case WIDX_LAND: - // Custom setting to only change land style instead of raising or lowering land - if (gLandPaintMode) { - if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE) { - gGameCommandErrorTitle = STR_CANT_CHANGE_LAND_TYPE; - game_do_command( - gMapSelectPositionA.x, - 1, - gMapSelectPositionA.y, - gLandToolTerrainSurface | (gLandToolTerrainEdge << 8), - GAME_COMMAND_CHANGE_SURFACE_STYLE, - gMapSelectPositionB.x, - gMapSelectPositionB.y - ); - // The tool is set to 12 here instead of 3 so that the dragging cursor is not the elevation change cursor - gCurrentToolId = TOOL_CROSSHAIR; - } - } else { - window_top_toolbar_land_tool_drag(x, y); - } - break; - case WIDX_WATER: - window_top_toolbar_water_tool_drag(x, y); - break; - case WIDX_SCENERY: - if (gWindowSceneryPaintEnabled & 1) - window_top_toolbar_scenery_tool_down(x, y, w, widgetIndex); - if (gWindowSceneryEyedropperEnabled) - window_top_toolbar_scenery_tool_down(x, y, w, widgetIndex); - break; - } + game_do_command( + gMapSelectPositionA.x, + 1, + gMapSelectPositionA.y, + (gClearSmallScenery | gClearLargeScenery << 1 | gClearFootpath << 2), + GAME_COMMAND_CLEAR_SCENERY, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + gCurrentToolId = TOOL_CROSSHAIR; + break; + case WIDX_LAND: + // Custom setting to only change land style instead of raising or lowering land + if (gLandPaintMode) { + if (gMapSelectFlags & MAP_SELECT_FLAG_ENABLE) { + gGameCommandErrorTitle = STR_CANT_CHANGE_LAND_TYPE; + game_do_command( + gMapSelectPositionA.x, + 1, + gMapSelectPositionA.y, + gLandToolTerrainSurface | (gLandToolTerrainEdge << 8), + GAME_COMMAND_CHANGE_SURFACE_STYLE, + gMapSelectPositionB.x, + gMapSelectPositionB.y + ); + // The tool is set to 12 here instead of 3 so that the dragging cursor is not the elevation change cursor + gCurrentToolId = TOOL_CROSSHAIR; + } + } else { + window_top_toolbar_land_tool_drag(x, y); + } + break; + case WIDX_WATER: + window_top_toolbar_water_tool_drag(x, y); + break; + case WIDX_SCENERY: + if (gWindowSceneryPaintEnabled & 1) + window_top_toolbar_scenery_tool_down(x, y, w, widgetIndex); + if (gWindowSceneryEyedropperEnabled) + window_top_toolbar_scenery_tool_down(x, y, w, widgetIndex); + break; + } } /** @@ -2930,23 +2930,23 @@ static void window_top_toolbar_tool_drag(rct_window* w, rct_widgetindex widgetIn */ static void window_top_toolbar_tool_up(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - switch (widgetIndex) { - case WIDX_LAND: - map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gCurrentToolId = TOOL_DIG_DOWN; - break; - case WIDX_WATER: - map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gCurrentToolId = TOOL_WATER_DOWN; - break; - case WIDX_CLEAR_SCENERY: - map_invalidate_selection_rect(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gCurrentToolId = TOOL_CROSSHAIR; - break; - } + switch (widgetIndex) { + case WIDX_LAND: + map_invalidate_selection_rect(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gCurrentToolId = TOOL_DIG_DOWN; + break; + case WIDX_WATER: + map_invalidate_selection_rect(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gCurrentToolId = TOOL_WATER_DOWN; + break; + case WIDX_CLEAR_SCENERY: + map_invalidate_selection_rect(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gCurrentToolId = TOOL_CROSSHAIR; + break; + } } /** @@ -2955,198 +2955,198 @@ static void window_top_toolbar_tool_up(rct_window* w, rct_widgetindex widgetInde */ static void window_top_toolbar_tool_abort(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_LAND: - case WIDX_WATER: - case WIDX_CLEAR_SCENERY: - hide_gridlines(); - break; - } + switch (widgetIndex) { + case WIDX_LAND: + case WIDX_WATER: + case WIDX_CLEAR_SCENERY: + hide_gridlines(); + break; + } } void top_toolbar_init_fastforward_menu(rct_window* w, rct_widget* widget) { - sint32 num_items = 4; - gDropdownItemsFormat[0] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[1] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[2] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[3] = STR_TOGGLE_OPTION; - if (gConfigGeneral.debugging_tools) { - gDropdownItemsFormat[4] = STR_EMPTY; - gDropdownItemsFormat[5] = STR_TOGGLE_OPTION; - gDropdownItemsArgs[5] = STR_SPEED_HYPER; - num_items = 6; - } + sint32 num_items = 4; + gDropdownItemsFormat[0] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[1] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[2] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[3] = STR_TOGGLE_OPTION; + if (gConfigGeneral.debugging_tools) { + gDropdownItemsFormat[4] = STR_EMPTY; + gDropdownItemsFormat[5] = STR_TOGGLE_OPTION; + gDropdownItemsArgs[5] = STR_SPEED_HYPER; + num_items = 6; + } - gDropdownItemsArgs[0] = STR_SPEED_NORMAL; - gDropdownItemsArgs[1] = STR_SPEED_QUICK; - gDropdownItemsArgs[2] = STR_SPEED_FAST; - gDropdownItemsArgs[3] = STR_SPEED_TURBO; + gDropdownItemsArgs[0] = STR_SPEED_NORMAL; + gDropdownItemsArgs[1] = STR_SPEED_QUICK; + gDropdownItemsArgs[2] = STR_SPEED_FAST; + gDropdownItemsArgs[3] = STR_SPEED_TURBO; - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[0] | 0x80, - 0, - num_items - ); + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[0] | 0x80, + 0, + num_items + ); - // Set checkmarks - if (gGameSpeed <= 4) { - dropdown_set_checked(gGameSpeed - 1, true); - } - if (gGameSpeed == 8) { - dropdown_set_checked(5, true); - } + // Set checkmarks + if (gGameSpeed <= 4) { + dropdown_set_checked(gGameSpeed - 1, true); + } + if (gGameSpeed == 8) { + dropdown_set_checked(5, true); + } - if (gConfigGeneral.debugging_tools) { - gDropdownDefaultIndex = (gGameSpeed == 8 ? 0 : gGameSpeed); - } else { - gDropdownDefaultIndex = (gGameSpeed >= 4 ? 0 : gGameSpeed); - } - if (gDropdownDefaultIndex == 4) { - gDropdownDefaultIndex = 5; - } + if (gConfigGeneral.debugging_tools) { + gDropdownDefaultIndex = (gGameSpeed == 8 ? 0 : gGameSpeed); + } else { + gDropdownDefaultIndex = (gGameSpeed >= 4 ? 0 : gGameSpeed); + } + if (gDropdownDefaultIndex == 4) { + gDropdownDefaultIndex = 5; + } } void top_toolbar_fastforward_menu_dropdown(sint16 dropdownIndex) { - rct_window* w = window_get_main(); - if (w) { - if (dropdownIndex >= 0 && dropdownIndex <= 5) { - gGameSpeed = dropdownIndex + 1; - if (gGameSpeed >= 5) - gGameSpeed = 8; - window_invalidate(w); - } - } + rct_window* w = window_get_main(); + if (w) { + if (dropdownIndex >= 0 && dropdownIndex <= 5) { + gGameSpeed = dropdownIndex + 1; + if (gGameSpeed >= 5) + gGameSpeed = 8; + window_invalidate(w); + } + } } void top_toolbar_init_rotate_menu(rct_window* w, rct_widget* widget) { - gDropdownItemsFormat[0] = STR_ROTATE_CLOCKWISE; - gDropdownItemsFormat[1] = STR_ROTATE_ANTI_CLOCKWISE; + gDropdownItemsFormat[0] = STR_ROTATE_CLOCKWISE; + gDropdownItemsFormat[1] = STR_ROTATE_ANTI_CLOCKWISE; - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1] | 0x80, - 0, - 2 - ); + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1] | 0x80, + 0, + 2 + ); - gDropdownDefaultIndex = DDIDX_ROTATE_CLOCKWISE; + gDropdownDefaultIndex = DDIDX_ROTATE_CLOCKWISE; } void top_toolbar_rotate_menu_dropdown(sint16 dropdownIndex) { - rct_window* w = window_get_main(); - if (w) { - if (dropdownIndex == 0) { - window_rotate_camera(w, 1); - window_invalidate(w); - } - else if (dropdownIndex == 1){ - window_rotate_camera(w, -1); - window_invalidate(w); - } - } + rct_window* w = window_get_main(); + if (w) { + if (dropdownIndex == 0) { + window_rotate_camera(w, 1); + window_invalidate(w); + } + else if (dropdownIndex == 1){ + window_rotate_camera(w, -1); + window_invalidate(w); + } + } } void top_toolbar_init_debug_menu(rct_window* w, rct_widget* widget) { - gDropdownItemsFormat[DDIDX_CONSOLE] = STR_TOGGLE_OPTION; - gDropdownItemsArgs[DDIDX_CONSOLE] = STR_DEBUG_DROPDOWN_CONSOLE; - gDropdownItemsFormat[DDIDX_TILE_INSPECTOR] = STR_TOGGLE_OPTION; - gDropdownItemsArgs[DDIDX_TILE_INSPECTOR] = STR_DEBUG_DROPDOWN_TILE_INSPECTOR; - gDropdownItemsFormat[DDIDX_OBJECT_SELECTION] = STR_TOGGLE_OPTION; - gDropdownItemsArgs[DDIDX_OBJECT_SELECTION] = STR_DEBUG_DROPDOWN_OBJECT_SELECTION; - gDropdownItemsFormat[DDIDX_INVENTIONS_LIST] = STR_TOGGLE_OPTION; - gDropdownItemsArgs[DDIDX_INVENTIONS_LIST] = STR_DEBUG_DROPDOWN_INVENTIONS_LIST; - gDropdownItemsFormat[DDIDX_SCENARIO_OPTIONS] = STR_TOGGLE_OPTION; - gDropdownItemsArgs[DDIDX_SCENARIO_OPTIONS] = STR_DEBUG_DROPDOWN_SCENARIO_OPTIONS; - gDropdownItemsFormat[DDIDX_DEBUG_PAINT] = STR_TOGGLE_OPTION; - gDropdownItemsArgs[DDIDX_DEBUG_PAINT] = STR_DEBUG_DROPDOWN_DEBUG_PAINT; + gDropdownItemsFormat[DDIDX_CONSOLE] = STR_TOGGLE_OPTION; + gDropdownItemsArgs[DDIDX_CONSOLE] = STR_DEBUG_DROPDOWN_CONSOLE; + gDropdownItemsFormat[DDIDX_TILE_INSPECTOR] = STR_TOGGLE_OPTION; + gDropdownItemsArgs[DDIDX_TILE_INSPECTOR] = STR_DEBUG_DROPDOWN_TILE_INSPECTOR; + gDropdownItemsFormat[DDIDX_OBJECT_SELECTION] = STR_TOGGLE_OPTION; + gDropdownItemsArgs[DDIDX_OBJECT_SELECTION] = STR_DEBUG_DROPDOWN_OBJECT_SELECTION; + gDropdownItemsFormat[DDIDX_INVENTIONS_LIST] = STR_TOGGLE_OPTION; + gDropdownItemsArgs[DDIDX_INVENTIONS_LIST] = STR_DEBUG_DROPDOWN_INVENTIONS_LIST; + gDropdownItemsFormat[DDIDX_SCENARIO_OPTIONS] = STR_TOGGLE_OPTION; + gDropdownItemsArgs[DDIDX_SCENARIO_OPTIONS] = STR_DEBUG_DROPDOWN_SCENARIO_OPTIONS; + gDropdownItemsFormat[DDIDX_DEBUG_PAINT] = STR_TOGGLE_OPTION; + gDropdownItemsArgs[DDIDX_DEBUG_PAINT] = STR_DEBUG_DROPDOWN_DEBUG_PAINT; - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[0] | 0x80, - DROPDOWN_FLAG_STAY_OPEN, - TOP_TOOLBAR_DEBUG_COUNT - ); + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[0] | 0x80, + DROPDOWN_FLAG_STAY_OPEN, + TOP_TOOLBAR_DEBUG_COUNT + ); - // Disable items that are not yet available in multiplayer - if (network_get_mode() != NETWORK_MODE_NONE) { - dropdown_set_disabled(DDIDX_OBJECT_SELECTION, true); - dropdown_set_disabled(DDIDX_INVENTIONS_LIST, true); - } + // Disable items that are not yet available in multiplayer + if (network_get_mode() != NETWORK_MODE_NONE) { + dropdown_set_disabled(DDIDX_OBJECT_SELECTION, true); + dropdown_set_disabled(DDIDX_INVENTIONS_LIST, true); + } - dropdown_set_checked(DDIDX_DEBUG_PAINT, window_find_by_class(WC_DEBUG_PAINT) != NULL); - gDropdownDefaultIndex = DDIDX_CONSOLE; + dropdown_set_checked(DDIDX_DEBUG_PAINT, window_find_by_class(WC_DEBUG_PAINT) != NULL); + gDropdownDefaultIndex = DDIDX_CONSOLE; } void top_toolbar_init_network_menu(rct_window* w, rct_widget* widget) { - gDropdownItemsFormat[0] = STR_MULTIPLAYER; + gDropdownItemsFormat[0] = STR_MULTIPLAYER; - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[0] | 0x80, - 0, - 1 - ); + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[0] | 0x80, + 0, + 1 + ); - gDropdownDefaultIndex = DDIDX_MULTIPLAYER; + gDropdownDefaultIndex = DDIDX_MULTIPLAYER; } void top_toolbar_debug_menu_dropdown(sint16 dropdownIndex) { - rct_window* w = window_get_main(); - if (w) { - switch (dropdownIndex) { - case DDIDX_CONSOLE: - console_open(); - break; - case DDIDX_TILE_INSPECTOR: - window_tile_inspector_open(); - break; - case DDIDX_OBJECT_SELECTION: - window_close_all(); - window_editor_object_selection_open(); - break; - case DDIDX_INVENTIONS_LIST: - window_editor_inventions_list_open(); - break; - case DDIDX_SCENARIO_OPTIONS: - window_editor_scenario_options_open(); - break; - case DDIDX_DEBUG_PAINT: - if (window_find_by_class(WC_DEBUG_PAINT) == NULL) { - window_debug_paint_open(); - } else { - window_close_by_class(WC_DEBUG_PAINT); - } - break; - } - } + rct_window* w = window_get_main(); + if (w) { + switch (dropdownIndex) { + case DDIDX_CONSOLE: + console_open(); + break; + case DDIDX_TILE_INSPECTOR: + window_tile_inspector_open(); + break; + case DDIDX_OBJECT_SELECTION: + window_close_all(); + window_editor_object_selection_open(); + break; + case DDIDX_INVENTIONS_LIST: + window_editor_inventions_list_open(); + break; + case DDIDX_SCENARIO_OPTIONS: + window_editor_scenario_options_open(); + break; + case DDIDX_DEBUG_PAINT: + if (window_find_by_class(WC_DEBUG_PAINT) == NULL) { + window_debug_paint_open(); + } else { + window_close_by_class(WC_DEBUG_PAINT); + } + break; + } + } } void top_toolbar_network_menu_dropdown(sint16 dropdownIndex) { - rct_window* w = window_get_main(); - if (w) { - switch (dropdownIndex) { - case DDIDX_MULTIPLAYER: - window_multiplayer_open(); - break; - } - } + rct_window* w = window_get_main(); + if (w) { + switch (dropdownIndex) { + case DDIDX_MULTIPLAYER: + window_multiplayer_open(); + break; + } + } } /** @@ -3154,72 +3154,72 @@ void top_toolbar_network_menu_dropdown(sint16 dropdownIndex) * rct2: 0x0066CDE4 */ void top_toolbar_init_view_menu(rct_window* w, rct_widget* widget) { - gDropdownItemsFormat[0] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[1] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[2] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[3] = STR_EMPTY; - gDropdownItemsFormat[4] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[5] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[6] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[7] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[8] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[9] = STR_EMPTY; - gDropdownItemsFormat[10] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[11] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[12] = STR_TOGGLE_OPTION; - gDropdownItemsFormat[13] = DROPDOWN_SEPARATOR; - gDropdownItemsFormat[DDIDX_VIEW_CLIPPING] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[0] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[1] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[2] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[3] = STR_EMPTY; + gDropdownItemsFormat[4] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[5] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[6] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[7] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[8] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[9] = STR_EMPTY; + gDropdownItemsFormat[10] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[11] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[12] = STR_TOGGLE_OPTION; + gDropdownItemsFormat[13] = DROPDOWN_SEPARATOR; + gDropdownItemsFormat[DDIDX_VIEW_CLIPPING] = STR_TOGGLE_OPTION; - gDropdownItemsArgs[0] = STR_UNDERGROUND_VIEW; - gDropdownItemsArgs[1] = STR_REMOVE_BASE_LAND; - gDropdownItemsArgs[2] = STR_REMOVE_VERTICAL_FACES; - gDropdownItemsArgs[4] = STR_SEE_THROUGH_RIDES; - gDropdownItemsArgs[5] = STR_SEE_THROUGH_SCENERY; - gDropdownItemsArgs[6] = STR_SEE_THROUGH_PATHS; - gDropdownItemsArgs[7] = STR_INVISIBLE_SUPPORTS; - gDropdownItemsArgs[8] = STR_INVISIBLE_PEOPLE; - gDropdownItemsArgs[10] = STR_HEIGHT_MARKS_ON_LAND; - gDropdownItemsArgs[11] = STR_HEIGHT_MARKS_ON_RIDE_TRACKS; - gDropdownItemsArgs[12] = STR_HEIGHT_MARKS_ON_PATHS; - gDropdownItemsArgs[DDIDX_VIEW_CLIPPING] = STR_VIEW_CLIPPING_MENU; + gDropdownItemsArgs[0] = STR_UNDERGROUND_VIEW; + gDropdownItemsArgs[1] = STR_REMOVE_BASE_LAND; + gDropdownItemsArgs[2] = STR_REMOVE_VERTICAL_FACES; + gDropdownItemsArgs[4] = STR_SEE_THROUGH_RIDES; + gDropdownItemsArgs[5] = STR_SEE_THROUGH_SCENERY; + gDropdownItemsArgs[6] = STR_SEE_THROUGH_PATHS; + gDropdownItemsArgs[7] = STR_INVISIBLE_SUPPORTS; + gDropdownItemsArgs[8] = STR_INVISIBLE_PEOPLE; + gDropdownItemsArgs[10] = STR_HEIGHT_MARKS_ON_LAND; + gDropdownItemsArgs[11] = STR_HEIGHT_MARKS_ON_RIDE_TRACKS; + gDropdownItemsArgs[12] = STR_HEIGHT_MARKS_ON_PATHS; + gDropdownItemsArgs[DDIDX_VIEW_CLIPPING] = STR_VIEW_CLIPPING_MENU; - window_dropdown_show_text( - w->x + widget->left, - w->y + widget->top, - widget->bottom - widget->top + 1, - w->colours[1] | 0x80, - 0, - TOP_TOOLBAR_VIEW_MENU_COUNT - ); + window_dropdown_show_text( + w->x + widget->left, + w->y + widget->top, + widget->bottom - widget->top + 1, + w->colours[1] | 0x80, + 0, + TOP_TOOLBAR_VIEW_MENU_COUNT + ); - // Set checkmarks - rct_viewport* mainViewport = window_get_main()->viewport; - if (mainViewport->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) - dropdown_set_checked(0, true); - if (mainViewport->flags & VIEWPORT_FLAG_HIDE_BASE) - dropdown_set_checked(1, true); - if (mainViewport->flags & VIEWPORT_FLAG_HIDE_VERTICAL) - dropdown_set_checked(2, true); - if (mainViewport->flags & VIEWPORT_FLAG_SEETHROUGH_RIDES) - dropdown_set_checked(4, true); - if (mainViewport->flags & VIEWPORT_FLAG_SEETHROUGH_SCENERY) - dropdown_set_checked(5, true); - if (mainViewport->flags & VIEWPORT_FLAG_SEETHROUGH_PATHS) - dropdown_set_checked(6, true); - if (mainViewport->flags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) - dropdown_set_checked(7, true); - if (mainViewport->flags & VIEWPORT_FLAG_INVISIBLE_PEEPS) - dropdown_set_checked(8, true); - if (mainViewport->flags & VIEWPORT_FLAG_LAND_HEIGHTS) - dropdown_set_checked(10, true); - if (mainViewport->flags & VIEWPORT_FLAG_TRACK_HEIGHTS) - dropdown_set_checked(11, true); - if (mainViewport->flags & VIEWPORT_FLAG_PATH_HEIGHTS) - dropdown_set_checked(12, true); - if (mainViewport->flags & VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT) - dropdown_set_checked(DDIDX_VIEW_CLIPPING, true); + // Set checkmarks + rct_viewport* mainViewport = window_get_main()->viewport; + if (mainViewport->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) + dropdown_set_checked(0, true); + if (mainViewport->flags & VIEWPORT_FLAG_HIDE_BASE) + dropdown_set_checked(1, true); + if (mainViewport->flags & VIEWPORT_FLAG_HIDE_VERTICAL) + dropdown_set_checked(2, true); + if (mainViewport->flags & VIEWPORT_FLAG_SEETHROUGH_RIDES) + dropdown_set_checked(4, true); + if (mainViewport->flags & VIEWPORT_FLAG_SEETHROUGH_SCENERY) + dropdown_set_checked(5, true); + if (mainViewport->flags & VIEWPORT_FLAG_SEETHROUGH_PATHS) + dropdown_set_checked(6, true); + if (mainViewport->flags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) + dropdown_set_checked(7, true); + if (mainViewport->flags & VIEWPORT_FLAG_INVISIBLE_PEEPS) + dropdown_set_checked(8, true); + if (mainViewport->flags & VIEWPORT_FLAG_LAND_HEIGHTS) + dropdown_set_checked(10, true); + if (mainViewport->flags & VIEWPORT_FLAG_TRACK_HEIGHTS) + dropdown_set_checked(11, true); + if (mainViewport->flags & VIEWPORT_FLAG_PATH_HEIGHTS) + dropdown_set_checked(12, true); + if (mainViewport->flags & VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT) + dropdown_set_checked(DDIDX_VIEW_CLIPPING, true); - gDropdownDefaultIndex = DDIDX_UNDERGROUND_INSIDE; + gDropdownDefaultIndex = DDIDX_UNDERGROUND_INSIDE; } /** @@ -3228,50 +3228,50 @@ void top_toolbar_init_view_menu(rct_window* w, rct_widget* widget) { */ void top_toolbar_view_menu_dropdown(sint16 dropdownIndex) { - rct_window* w = window_get_main(); - if (w) { - switch (dropdownIndex) { - case DDIDX_UNDERGROUND_INSIDE: - w->viewport->flags ^= VIEWPORT_FLAG_UNDERGROUND_INSIDE; - break; - case DDIDX_HIDE_BASE: - w->viewport->flags ^= VIEWPORT_FLAG_HIDE_BASE; - break; - case DDIDX_HIDE_VERTICAL: - w->viewport->flags ^= VIEWPORT_FLAG_HIDE_VERTICAL; - break; - case DDIDX_SEETHROUGH_RIDES: - w->viewport->flags ^= VIEWPORT_FLAG_SEETHROUGH_RIDES; - break; - case DDIDX_SEETHROUGH_SCENARY: - w->viewport->flags ^= VIEWPORT_FLAG_SEETHROUGH_SCENERY; - break; - case DDIDX_SEETHROUGH_PATHS: - w->viewport->flags ^= VIEWPORT_FLAG_SEETHROUGH_PATHS; - break; - case DDIDX_INVISIBLE_SUPPORTS: - w->viewport->flags ^= VIEWPORT_FLAG_INVISIBLE_SUPPORTS; - break; - case DDIDX_INVISIBLE_PEEPS: - w->viewport->flags ^= VIEWPORT_FLAG_INVISIBLE_PEEPS; - break; - case DDIDX_LAND_HEIGHTS: - w->viewport->flags ^= VIEWPORT_FLAG_LAND_HEIGHTS; - break; - case DDIDX_TRACK_HEIGHTS: - w->viewport->flags ^= VIEWPORT_FLAG_TRACK_HEIGHTS; - break; - case DDIDX_PATH_HEIGHTS: - w->viewport->flags ^= VIEWPORT_FLAG_PATH_HEIGHTS; - break; - case DDIDX_VIEW_CLIPPING: - window_view_clipping_open(); - break; - default: - return; - } - window_invalidate(w); - } + rct_window* w = window_get_main(); + if (w) { + switch (dropdownIndex) { + case DDIDX_UNDERGROUND_INSIDE: + w->viewport->flags ^= VIEWPORT_FLAG_UNDERGROUND_INSIDE; + break; + case DDIDX_HIDE_BASE: + w->viewport->flags ^= VIEWPORT_FLAG_HIDE_BASE; + break; + case DDIDX_HIDE_VERTICAL: + w->viewport->flags ^= VIEWPORT_FLAG_HIDE_VERTICAL; + break; + case DDIDX_SEETHROUGH_RIDES: + w->viewport->flags ^= VIEWPORT_FLAG_SEETHROUGH_RIDES; + break; + case DDIDX_SEETHROUGH_SCENARY: + w->viewport->flags ^= VIEWPORT_FLAG_SEETHROUGH_SCENERY; + break; + case DDIDX_SEETHROUGH_PATHS: + w->viewport->flags ^= VIEWPORT_FLAG_SEETHROUGH_PATHS; + break; + case DDIDX_INVISIBLE_SUPPORTS: + w->viewport->flags ^= VIEWPORT_FLAG_INVISIBLE_SUPPORTS; + break; + case DDIDX_INVISIBLE_PEEPS: + w->viewport->flags ^= VIEWPORT_FLAG_INVISIBLE_PEEPS; + break; + case DDIDX_LAND_HEIGHTS: + w->viewport->flags ^= VIEWPORT_FLAG_LAND_HEIGHTS; + break; + case DDIDX_TRACK_HEIGHTS: + w->viewport->flags ^= VIEWPORT_FLAG_TRACK_HEIGHTS; + break; + case DDIDX_PATH_HEIGHTS: + w->viewport->flags ^= VIEWPORT_FLAG_PATH_HEIGHTS; + break; + case DDIDX_VIEW_CLIPPING: + window_view_clipping_open(); + break; + default: + return; + } + window_invalidate(w); + } } /** @@ -3280,12 +3280,12 @@ void top_toolbar_view_menu_dropdown(sint16 dropdownIndex) */ void toggle_footpath_window() { - if (window_find_by_class(WC_FOOTPATH) == NULL) { - window_footpath_open(); - } else { - tool_cancel(); - window_close_by_class(WC_FOOTPATH); - } + if (window_find_by_class(WC_FOOTPATH) == NULL) { + window_footpath_open(); + } else { + tool_cancel(); + window_close_by_class(WC_FOOTPATH); + } } /** @@ -3294,15 +3294,15 @@ void toggle_footpath_window() */ void toggle_land_window(rct_window *topToolbar, rct_widgetindex widgetIndex) { - if ((input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && gCurrentToolWidget.window_classification == WC_TOP_TOOLBAR && gCurrentToolWidget.widget_index == WIDX_LAND) { - tool_cancel(); - } else { - show_gridlines(); - tool_set(topToolbar, widgetIndex, TOOL_DIG_DOWN); - input_set_flag(INPUT_FLAG_6, true); - gLandToolSize = 1; - window_land_open(); - } + if ((input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && gCurrentToolWidget.window_classification == WC_TOP_TOOLBAR && gCurrentToolWidget.widget_index == WIDX_LAND) { + tool_cancel(); + } else { + show_gridlines(); + tool_set(topToolbar, widgetIndex, TOOL_DIG_DOWN); + input_set_flag(INPUT_FLAG_6, true); + gLandToolSize = 1; + window_land_open(); + } } /** @@ -3311,15 +3311,15 @@ void toggle_land_window(rct_window *topToolbar, rct_widgetindex widgetIndex) */ void toggle_clear_scenery_window(rct_window *topToolbar, rct_widgetindex widgetIndex) { - if ((input_test_flag(INPUT_FLAG_TOOL_ACTIVE) && gCurrentToolWidget.window_classification == WC_TOP_TOOLBAR && gCurrentToolWidget.widget_index == WIDX_CLEAR_SCENERY)) { - tool_cancel(); - } else { - show_gridlines(); - tool_set(topToolbar, widgetIndex, TOOL_CROSSHAIR); - input_set_flag(INPUT_FLAG_6, true); - gLandToolSize = 2; - window_clear_scenery_open(); - } + if ((input_test_flag(INPUT_FLAG_TOOL_ACTIVE) && gCurrentToolWidget.window_classification == WC_TOP_TOOLBAR && gCurrentToolWidget.widget_index == WIDX_CLEAR_SCENERY)) { + tool_cancel(); + } else { + show_gridlines(); + tool_set(topToolbar, widgetIndex, TOOL_CROSSHAIR); + input_set_flag(INPUT_FLAG_6, true); + gLandToolSize = 2; + window_clear_scenery_open(); + } } /** @@ -3328,15 +3328,15 @@ void toggle_clear_scenery_window(rct_window *topToolbar, rct_widgetindex widgetI */ void toggle_water_window(rct_window *topToolbar, rct_widgetindex widgetIndex) { - if ((input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && gCurrentToolWidget.window_classification == WC_TOP_TOOLBAR && gCurrentToolWidget.widget_index == WIDX_WATER) { - tool_cancel(); - } else { - show_gridlines(); - tool_set(topToolbar, widgetIndex, TOOL_WATER_DOWN); - input_set_flag(INPUT_FLAG_6, true); - gLandToolSize = 1; - window_water_open(); - } + if ((input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && gCurrentToolWidget.window_classification == WC_TOP_TOOLBAR && gCurrentToolWidget.widget_index == WIDX_WATER) { + tool_cancel(); + } else { + show_gridlines(); + tool_set(topToolbar, widgetIndex, TOOL_WATER_DOWN); + input_set_flag(INPUT_FLAG_6, true); + gLandToolSize = 1; + window_water_open(); + } } /** @@ -3345,13 +3345,13 @@ void toggle_water_window(rct_window *topToolbar, rct_widgetindex widgetIndex) */ bool land_tool_is_active() { - if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) - return false; - if (gCurrentToolWidget.window_classification != WC_TOP_TOOLBAR) - return false; - if (gCurrentToolWidget.widget_index != WIDX_LAND) - return false; - return true; + if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) + return false; + if (gCurrentToolWidget.window_classification != WC_TOP_TOOLBAR) + return false; + if (gCurrentToolWidget.widget_index != WIDX_LAND) + return false; + return true; } /** @@ -3360,24 +3360,24 @@ bool land_tool_is_active() */ bool clear_scenery_tool_is_active() { - if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) - return false; - if (gCurrentToolWidget.window_classification != WC_TOP_TOOLBAR) - return false; - if (gCurrentToolWidget.widget_index != WIDX_CLEAR_SCENERY) - return false; - return true; + if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) + return false; + if (gCurrentToolWidget.window_classification != WC_TOP_TOOLBAR) + return false; + if (gCurrentToolWidget.widget_index != WIDX_CLEAR_SCENERY) + return false; + return true; } bool land_rights_tool_is_active() { - if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) - return false; - if (gCurrentToolWidget.window_classification != WC_PARK_INFORMATION) - return false; - if (gCurrentToolWidget.widget_index != WIDX_PARK) - return false; - return true; + if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) + return false; + if (gCurrentToolWidget.window_classification != WC_PARK_INFORMATION) + return false; + if (gCurrentToolWidget.widget_index != WIDX_PARK) + return false; + return true; } /** @@ -3386,13 +3386,13 @@ bool land_rights_tool_is_active() */ bool scenery_tool_is_active() { - sint32 toolWindowClassification = gCurrentToolWidget.window_classification; - rct_widgetindex toolWidgetIndex = gCurrentToolWidget.widget_index; - if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) - if (toolWindowClassification == WC_TOP_TOOLBAR && toolWidgetIndex == WIDX_SCENERY) - return true; + sint32 toolWindowClassification = gCurrentToolWidget.window_classification; + rct_widgetindex toolWidgetIndex = gCurrentToolWidget.widget_index; + if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) + if (toolWindowClassification == WC_TOP_TOOLBAR && toolWidgetIndex == WIDX_SCENERY) + return true; - return false; + return false; } /** @@ -3401,11 +3401,11 @@ bool scenery_tool_is_active() */ bool water_tool_is_active() { - if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) - return false; - if (gCurrentToolWidget.window_classification != WC_TOP_TOOLBAR) - return false; - if (gCurrentToolWidget.widget_index != WIDX_WATER) - return false; - return true; + if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) + return false; + if (gCurrentToolWidget.window_classification != WC_TOP_TOOLBAR) + return false; + if (gCurrentToolWidget.widget_index != WIDX_WATER) + return false; + return true; } diff --git a/src/openrct2/windows/track_list.c b/src/openrct2/windows/track_list.c index 5286d4066f..70ebaaf936 100644 --- a/src/openrct2/windows/track_list.c +++ b/src/openrct2/windows/track_list.c @@ -31,28 +31,28 @@ #include "error.h" enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_TRACK_LIST, - WIDX_TRACK_PREVIEW, - WIDX_ROTATE, - WIDX_TOGGLE_SCENERY, - WIDX_BACK, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_TRACK_LIST, + WIDX_TRACK_PREVIEW, + WIDX_ROTATE, + WIDX_TOGGLE_SCENERY, + WIDX_BACK, }; validate_global_widx(WC_TRACK_DESIGN_LIST, WIDX_ROTATE); static rct_widget window_track_list_widgets[] = { - { WWT_FRAME, 0, 0, 599, 0, 399, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 598, 1, 14, STR_SELECT_DESIGN, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 587, 597, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_SCROLL, 0, 4, 221, 33, 395, SCROLL_VERTICAL, STR_CLICK_ON_DESIGN_TO_BUILD_IT_TIP }, - { WWT_FLATBTN, 0, 224, 595, 18, 236, 0xFFFFFFFF, STR_NONE }, - { WWT_FLATBTN, 0, 574, 597, 374, 397, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP }, - { WWT_FLATBTN, 0, 574, 597, 350, 373, SPR_SCENERY, STR_TOGGLE_SCENERY_TIP }, - { WWT_13, 0, 4, 221, 18, 29, STR_SELECT_OTHER_RIDE, STR_NONE }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 599, 0, 399, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 598, 1, 14, STR_SELECT_DESIGN, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 587, 597, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_SCROLL, 0, 4, 221, 33, 395, SCROLL_VERTICAL, STR_CLICK_ON_DESIGN_TO_BUILD_IT_TIP }, + { WWT_FLATBTN, 0, 224, 595, 18, 236, 0xFFFFFFFF, STR_NONE }, + { WWT_FLATBTN, 0, 574, 597, 374, 397, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP }, + { WWT_FLATBTN, 0, 574, 597, 350, 373, SPR_SCENERY, STR_TOGGLE_SCENERY_TIP }, + { WWT_13, 0, 4, 221, 18, 29, STR_SELECT_OTHER_RIDE, STR_NONE }, + { WIDGETS_END }, }; static void window_track_list_close(rct_window *w); @@ -67,34 +67,34 @@ static void window_track_list_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_track_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); static rct_window_event_list window_track_list_events = { - window_track_list_close, - window_track_list_mouseup, - NULL, - NULL, - NULL, - NULL, - window_track_list_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_track_list_scrollgetsize, - window_track_list_scrollmousedown, - NULL, - window_track_list_scrollmouseover, - NULL, - NULL, - NULL, - window_track_list_tooltip, - NULL, - NULL, - window_track_list_invalidate, - window_track_list_paint, - window_track_list_scrollpaint + window_track_list_close, + window_track_list_mouseup, + NULL, + NULL, + NULL, + NULL, + window_track_list_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_track_list_scrollgetsize, + window_track_list_scrollmousedown, + NULL, + window_track_list_scrollmouseover, + NULL, + NULL, + NULL, + window_track_list_tooltip, + NULL, + NULL, + window_track_list_invalidate, + window_track_list_paint, + window_track_list_scrollpaint }; #define TRACK_DESIGN_INDEX_UNLOADED UINT16_MAX @@ -116,47 +116,47 @@ static bool track_list_load_design_for_preview(utf8 *path); */ void window_track_list_open(ride_list_item item) { - window_close_construction_windows(); - _window_track_list_item = item; - track_list_load_designs(item); + window_close_construction_windows(); + _window_track_list_item = item; + track_list_load_designs(item); - sint32 x, y; - if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - sint32 screenWidth = context_get_width(); - sint32 screenHeight = context_get_height(); - x = screenWidth / 2 - 300; - y = max(TOP_TOOLBAR_HEIGHT + 1, screenHeight / 2 - 200); - } else { - x = 0; - y = TOP_TOOLBAR_HEIGHT + 2; - } - rct_window *w = window_create( - x, - y, - 600, - 400, - &window_track_list_events, - WC_TRACK_DESIGN_LIST, - 0 - ); - w->widgets = window_track_list_widgets; - w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_ROTATE) | (1 << WIDX_TOGGLE_SCENERY) | (1 << WIDX_BACK); - window_init_scroll_widgets(w); - w->track_list.var_480 = 0xFFFF; - w->track_list.var_484 = 0; - w->track_list.reload_track_designs = false; - w->selected_list_item = 0; - if (_trackDesignsCount != 0 && !(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { - w->selected_list_item = 1; - } - gTrackDesignSceneryToggle = false; - window_push_others_right(w); - _currentTrackPieceDirection = 2; + sint32 x, y; + if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { + sint32 screenWidth = context_get_width(); + sint32 screenHeight = context_get_height(); + x = screenWidth / 2 - 300; + y = max(TOP_TOOLBAR_HEIGHT + 1, screenHeight / 2 - 200); + } else { + x = 0; + y = TOP_TOOLBAR_HEIGHT + 2; + } + rct_window *w = window_create( + x, + y, + 600, + 400, + &window_track_list_events, + WC_TRACK_DESIGN_LIST, + 0 + ); + w->widgets = window_track_list_widgets; + w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_ROTATE) | (1 << WIDX_TOGGLE_SCENERY) | (1 << WIDX_BACK); + window_init_scroll_widgets(w); + w->track_list.var_480 = 0xFFFF; + w->track_list.var_484 = 0; + w->track_list.reload_track_designs = false; + w->selected_list_item = 0; + if (_trackDesignsCount != 0 && !(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { + w->selected_list_item = 1; + } + gTrackDesignSceneryToggle = false; + window_push_others_right(w); + _currentTrackPieceDirection = 2; - _trackDesignPreviewPixels = calloc(4, TRACK_PREVIEW_IMAGE_SIZE); + _trackDesignPreviewPixels = calloc(4, TRACK_PREVIEW_IMAGE_SIZE); - _loadedTrackDesign = NULL; - _loadedTrackDesignIndex = TRACK_DESIGN_INDEX_UNLOADED; + _loadedTrackDesign = NULL; + _loadedTrackDesignIndex = TRACK_DESIGN_INDEX_UNLOADED; } /** @@ -165,29 +165,29 @@ void window_track_list_open(ride_list_item item) */ static void window_track_list_close(rct_window *w) { - // Dispose track design and preview - track_design_dispose(_loadedTrackDesign); - _loadedTrackDesign = NULL; - SafeFree(_trackDesignPreviewPixels); + // Dispose track design and preview + track_design_dispose(_loadedTrackDesign); + _loadedTrackDesign = NULL; + SafeFree(_trackDesignPreviewPixels); - // Dispose track list - for (size_t i = 0; i < _trackDesignsCount; i++) { - free(_trackDesigns[i].name); - free(_trackDesigns[i].path); - } - SafeFree(_trackDesigns); - _trackDesignsCount = 0; + // Dispose track list + for (size_t i = 0; i < _trackDesignsCount; i++) { + free(_trackDesigns[i].name); + free(_trackDesigns[i].path); + } + SafeFree(_trackDesigns); + _trackDesignsCount = 0; - // If gScreenAge is zero, we're already in the process - // of loading the track manager, so we shouldn't try - // to do it again. Otherwise, this window will get - // another close signal from the track manager load function, - // try to load the track manager again, and an infinite loop will result. - if ((gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) && gScreenAge != 0){ - window_close_by_number(WC_MANAGE_TRACK_DESIGN, w->number); - window_close_by_number(WC_TRACK_DELETE_PROMPT, w->number); - trackmanager_load(); - } + // If gScreenAge is zero, we're already in the process + // of loading the track manager, so we shouldn't try + // to do it again. Otherwise, this window will get + // another close signal from the track manager load function, + // try to load the track manager again, and an infinite loop will result. + if ((gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) && gScreenAge != 0){ + window_close_by_number(WC_MANAGE_TRACK_DESIGN, w->number); + window_close_by_number(WC_TRACK_DELETE_PROMPT, w->number); + trackmanager_load(); + } } /** @@ -196,54 +196,54 @@ static void window_track_list_close(rct_window *w) */ static void window_track_list_select(rct_window *w, sint32 index) { - w->track_list.var_480 = index; + w->track_list.var_480 = index; - // Displays a message if the ride can't load, fix #4080 - if (_loadedTrackDesign == NULL) { - window_error_open(STR_CANT_BUILD_PARK_ENTRANCE_HERE, STR_TRACK_LOAD_FAILED_ERROR); - return; - } + // Displays a message if the ride can't load, fix #4080 + if (_loadedTrackDesign == NULL) { + window_error_open(STR_CANT_BUILD_PARK_ENTRANCE_HERE, STR_TRACK_LOAD_FAILED_ERROR); + return; + } - audio_play_sound(SOUND_CLICK_1, 0, w->x + (w->width / 2)); - if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { - if (index == 0) { - window_close(w); - ride_construct_new(_window_track_list_item); - return; - } - index--; - } + audio_play_sound(SOUND_CLICK_1, 0, w->x + (w->width / 2)); + if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { + if (index == 0) { + window_close(w); + ride_construct_new(_window_track_list_item); + return; + } + index--; + } - rct_track_td6 *td6 = _loadedTrackDesign; - if (td6 != NULL && (td6->track_flags & TRACK_DESIGN_FLAG_SCENERY_UNAVAILABLE)) { - gTrackDesignSceneryToggle = true; - } + rct_track_td6 *td6 = _loadedTrackDesign; + if (td6 != NULL && (td6->track_flags & TRACK_DESIGN_FLAG_SCENERY_UNAVAILABLE)) { + gTrackDesignSceneryToggle = true; + } - track_design_file_ref *tdRef = &_trackDesigns[index]; - if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - window_track_manage_open(tdRef); - } else { - if (_loadedTrackDesignIndex != TRACK_DESIGN_INDEX_UNLOADED && (_loadedTrackDesign->track_flags & TRACK_DESIGN_FLAG_VEHICLE_UNAVAILABLE)) { - window_error_open(STR_THIS_DESIGN_WILL_BE_BUILT_WITH_AN_ALTERNATIVE_VEHICLE_TYPE, STR_NONE); - } + track_design_file_ref *tdRef = &_trackDesigns[index]; + if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { + window_track_manage_open(tdRef); + } else { + if (_loadedTrackDesignIndex != TRACK_DESIGN_INDEX_UNLOADED && (_loadedTrackDesign->track_flags & TRACK_DESIGN_FLAG_VEHICLE_UNAVAILABLE)) { + window_error_open(STR_THIS_DESIGN_WILL_BE_BUILT_WITH_AN_ALTERNATIVE_VEHICLE_TYPE, STR_NONE); + } - window_track_place_open(tdRef); - } + window_track_place_open(tdRef); + } } static sint32 window_track_list_get_list_item_index_from_position(sint32 x, sint32 y) { - sint32 maxItems = (sint32)_trackDesignsCount; - if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { - // Extra item: custom design - maxItems++; - } + sint32 maxItems = (sint32)_trackDesignsCount; + if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { + // Extra item: custom design + maxItems++; + } - sint32 index = y / 10; - if (index < 0 || index >= maxItems) { - index = -1; - } - return index; + sint32 index = y / 10; + if (index < 0 || index >= maxItems) { + index = -1; + } + return index; } /** @@ -252,27 +252,27 @@ static sint32 window_track_list_get_list_item_index_from_position(sint32 x, sint */ static void window_track_list_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_ROTATE: - _currentTrackPieceDirection++; - _currentTrackPieceDirection %= 4; - window_invalidate(w); - break; - case WIDX_TOGGLE_SCENERY: - gTrackDesignSceneryToggle = !gTrackDesignSceneryToggle; - _loadedTrackDesignIndex = TRACK_DESIGN_INDEX_UNLOADED; - window_invalidate(w); - break; - case WIDX_BACK: - window_close(w); - if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { - window_new_ride_open(); - } - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_ROTATE: + _currentTrackPieceDirection++; + _currentTrackPieceDirection %= 4; + window_invalidate(w); + break; + case WIDX_TOGGLE_SCENERY: + gTrackDesignSceneryToggle = !gTrackDesignSceneryToggle; + _loadedTrackDesignIndex = TRACK_DESIGN_INDEX_UNLOADED; + window_invalidate(w); + break; + case WIDX_BACK: + window_close(w); + if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { + window_new_ride_open(); + } + break; + } } /** @@ -281,13 +281,13 @@ static void window_track_list_mouseup(rct_window *w, rct_widgetindex widgetIndex */ static void window_track_list_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - size_t numItems = _trackDesignsCount; - if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { - // Extra item: custom design - numItems++; - } + size_t numItems = _trackDesignsCount; + if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { + // Extra item: custom design + numItems++; + } - *height = (sint32)(numItems * 10); + *height = (sint32)(numItems * 10); } /** @@ -296,12 +296,12 @@ static void window_track_list_scrollgetsize(rct_window *w, sint32 scrollIndex, s */ static void window_track_list_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - if (!(w->track_list.var_484 & 1)) { - sint32 i = window_track_list_get_list_item_index_from_position(x, y); - if (i != -1) { - window_track_list_select(w, i); - } - } + if (!(w->track_list.var_484 & 1)) { + sint32 i = window_track_list_get_list_item_index_from_position(x, y); + if (i != -1) { + window_track_list_select(w, i); + } + } } /** @@ -310,13 +310,13 @@ static void window_track_list_scrollmousedown(rct_window *w, sint32 scrollIndex, */ static void window_track_list_scrollmouseover(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { - if (!(w->track_list.var_484 & 1)) { - sint32 i = window_track_list_get_list_item_index_from_position(x, y); - if (i != -1 && w->selected_list_item != i) { - w->selected_list_item = i; - window_invalidate(w); - } - } + if (!(w->track_list.var_484 & 1)) { + sint32 i = window_track_list_get_list_item_index_from_position(x, y); + if (i != -1 && w->selected_list_item != i) { + w->selected_list_item = i; + window_invalidate(w); + } + } } /** @@ -325,16 +325,16 @@ static void window_track_list_scrollmouseover(rct_window *w, sint32 scrollIndex, */ static void window_track_list_tooltip(rct_window* w, rct_widgetindex widgetIndex, rct_string_id *stringId) { - set_format_arg(0, rct_string_id, STR_LIST); + set_format_arg(0, rct_string_id, STR_LIST); } static void window_track_list_update(rct_window *w) { - if (w->track_list.reload_track_designs) { - track_list_load_designs(_window_track_list_item); - w->selected_list_item = 0; - window_invalidate(w); - } + if (w->track_list.reload_track_designs) { + track_list_load_designs(_window_track_list_item); + w->selected_list_item = 0; + window_invalidate(w); + } } /** @@ -343,39 +343,39 @@ static void window_track_list_update(rct_window *w) */ static void window_track_list_invalidate(rct_window *w) { - rct_string_id stringId = STR_NONE; - rct_ride_entry *entry = get_ride_entry(_window_track_list_item.entry_index); - if (entry != NULL && entry != (rct_ride_entry*)-1) { - stringId = entry->name; - if (!(entry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) || rideTypeShouldLoseSeparateFlag(entry)) - stringId = _window_track_list_item.type + 2; - } + rct_string_id stringId = STR_NONE; + rct_ride_entry *entry = get_ride_entry(_window_track_list_item.entry_index); + if (entry != NULL && entry != (rct_ride_entry*)-1) { + stringId = entry->name; + if (!(entry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME) || rideTypeShouldLoseSeparateFlag(entry)) + stringId = _window_track_list_item.type + 2; + } - set_format_arg(0, rct_string_id, stringId); - if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - window_track_list_widgets[WIDX_TITLE].text = STR_TRACK_DESIGNS; - window_track_list_widgets[WIDX_TRACK_LIST].tooltip = STR_CLICK_ON_DESIGN_TO_RENAME_OR_DELETE_IT; - } else { - window_track_list_widgets[WIDX_TITLE].text = STR_SELECT_DESIGN; - window_track_list_widgets[WIDX_TRACK_LIST].tooltip = STR_CLICK_ON_DESIGN_TO_BUILD_IT_TIP; - } + set_format_arg(0, rct_string_id, stringId); + if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { + window_track_list_widgets[WIDX_TITLE].text = STR_TRACK_DESIGNS; + window_track_list_widgets[WIDX_TRACK_LIST].tooltip = STR_CLICK_ON_DESIGN_TO_RENAME_OR_DELETE_IT; + } else { + window_track_list_widgets[WIDX_TITLE].text = STR_SELECT_DESIGN; + window_track_list_widgets[WIDX_TRACK_LIST].tooltip = STR_CLICK_ON_DESIGN_TO_BUILD_IT_TIP; + } - if ((gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) || w->selected_list_item != 0) { - w->pressed_widgets |= 1 << WIDX_TRACK_PREVIEW; - w->disabled_widgets &= ~(1 << WIDX_TRACK_PREVIEW); - window_track_list_widgets[WIDX_ROTATE].type = WWT_FLATBTN; - window_track_list_widgets[WIDX_TOGGLE_SCENERY].type = WWT_FLATBTN; - if (gTrackDesignSceneryToggle) { - w->pressed_widgets &= ~(1 << WIDX_TOGGLE_SCENERY); - } else { - w->pressed_widgets |= (1 << WIDX_TOGGLE_SCENERY); - } - } else { - w->pressed_widgets &= ~(1 << WIDX_TRACK_PREVIEW); - w->disabled_widgets |= (1 << WIDX_TRACK_PREVIEW); - window_track_list_widgets[WIDX_ROTATE].type = WWT_EMPTY; - window_track_list_widgets[WIDX_TOGGLE_SCENERY].type = WWT_EMPTY; - } + if ((gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) || w->selected_list_item != 0) { + w->pressed_widgets |= 1 << WIDX_TRACK_PREVIEW; + w->disabled_widgets &= ~(1 << WIDX_TRACK_PREVIEW); + window_track_list_widgets[WIDX_ROTATE].type = WWT_FLATBTN; + window_track_list_widgets[WIDX_TOGGLE_SCENERY].type = WWT_FLATBTN; + if (gTrackDesignSceneryToggle) { + w->pressed_widgets &= ~(1 << WIDX_TOGGLE_SCENERY); + } else { + w->pressed_widgets |= (1 << WIDX_TOGGLE_SCENERY); + } + } else { + w->pressed_widgets &= ~(1 << WIDX_TRACK_PREVIEW); + w->disabled_widgets |= (1 << WIDX_TRACK_PREVIEW); + window_track_list_widgets[WIDX_ROTATE].type = WWT_EMPTY; + window_track_list_widgets[WIDX_TOGGLE_SCENERY].type = WWT_EMPTY; + } } /** @@ -384,174 +384,174 @@ static void window_track_list_invalidate(rct_window *w) */ static void window_track_list_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - sint32 trackIndex = w->selected_list_item; - if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - if (_trackDesignsCount == 0 || trackIndex == -1) { - return; - } - } else if (trackIndex-- == 0) { - return; - } + sint32 trackIndex = w->selected_list_item; + if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { + if (_trackDesignsCount == 0 || trackIndex == -1) { + return; + } + } else if (trackIndex-- == 0) { + return; + } - // Track preview - sint32 x, y, colour; - rct_widget *widget = &window_track_list_widgets[WIDX_TRACK_PREVIEW]; - x = w->x + widget->left + 1; - y = w->y + widget->top + 1; - colour = ColourMapA[w->colours[0]].darkest; - gfx_fill_rect(dpi, x, y, x + 369, y + 216, colour); + // Track preview + sint32 x, y, colour; + rct_widget *widget = &window_track_list_widgets[WIDX_TRACK_PREVIEW]; + x = w->x + widget->left + 1; + y = w->y + widget->top + 1; + colour = ColourMapA[w->colours[0]].darkest; + gfx_fill_rect(dpi, x, y, x + 369, y + 216, colour); - if (_loadedTrackDesignIndex != trackIndex) { - utf8 *path = _trackDesigns[trackIndex].path; - if (track_list_load_design_for_preview(path)) { - _loadedTrackDesignIndex = trackIndex; - } else { - _loadedTrackDesignIndex = TRACK_DESIGN_INDEX_UNLOADED; - return; - } - } + if (_loadedTrackDesignIndex != trackIndex) { + utf8 *path = _trackDesigns[trackIndex].path; + if (track_list_load_design_for_preview(path)) { + _loadedTrackDesignIndex = trackIndex; + } else { + _loadedTrackDesignIndex = TRACK_DESIGN_INDEX_UNLOADED; + return; + } + } - rct_track_td6 *td6 = _loadedTrackDesign; - if (td6 == NULL) { - return; - } + rct_track_td6 *td6 = _loadedTrackDesign; + if (td6 == NULL) { + return; + } - rct_g1_element *substituteElement = &g1Elements[SPR_TEMP]; - rct_g1_element tmpElement = *substituteElement; - substituteElement->offset = _trackDesignPreviewPixels + (_currentTrackPieceDirection * TRACK_PREVIEW_IMAGE_SIZE); - substituteElement->width = 370; - substituteElement->height = 217; - substituteElement->x_offset = 0; - substituteElement->y_offset = 0; - substituteElement->flags = G1_FLAG_BMP; - gfx_draw_sprite(dpi, 0, x, y, 0); - *substituteElement = tmpElement; + rct_g1_element *substituteElement = &g1Elements[SPR_TEMP]; + rct_g1_element tmpElement = *substituteElement; + substituteElement->offset = _trackDesignPreviewPixels + (_currentTrackPieceDirection * TRACK_PREVIEW_IMAGE_SIZE); + substituteElement->width = 370; + substituteElement->height = 217; + substituteElement->x_offset = 0; + substituteElement->y_offset = 0; + substituteElement->flags = G1_FLAG_BMP; + gfx_draw_sprite(dpi, 0, x, y, 0); + *substituteElement = tmpElement; - x = w->x + (widget->left + widget->right) / 2; - y = w->y + widget->bottom - 12; + x = w->x + (widget->left + widget->right) / 2; + y = w->y + widget->bottom - 12; - // Warnings - if ((td6->track_flags & TRACK_DESIGN_FLAG_VEHICLE_UNAVAILABLE) && !(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { - // Vehicle design not available - gfx_draw_string_centred_clipped(dpi, STR_VEHICLE_DESIGN_UNAVAILABLE, NULL, COLOUR_BLACK, x, y, 368); - y -= 10; - } + // Warnings + if ((td6->track_flags & TRACK_DESIGN_FLAG_VEHICLE_UNAVAILABLE) && !(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)) { + // Vehicle design not available + gfx_draw_string_centred_clipped(dpi, STR_VEHICLE_DESIGN_UNAVAILABLE, NULL, COLOUR_BLACK, x, y, 368); + y -= 10; + } - if (td6->track_flags & TRACK_DESIGN_FLAG_SCENERY_UNAVAILABLE) { - if (!gTrackDesignSceneryToggle) { - // Scenery not available - gfx_draw_string_centred_clipped(dpi, STR_DESIGN_INCLUDES_SCENERY_WHICH_IS_UNAVAILABLE, NULL, COLOUR_BLACK, x, y, 368); - y -= 10; - } - } + if (td6->track_flags & TRACK_DESIGN_FLAG_SCENERY_UNAVAILABLE) { + if (!gTrackDesignSceneryToggle) { + // Scenery not available + gfx_draw_string_centred_clipped(dpi, STR_DESIGN_INCLUDES_SCENERY_WHICH_IS_UNAVAILABLE, NULL, COLOUR_BLACK, x, y, 368); + y -= 10; + } + } - // Track design name - utf8 *trackName = _trackDesigns[trackIndex].name; - gfx_draw_string_centred_clipped(dpi, STR_TRACK_PREVIEW_NAME_FORMAT, &trackName, COLOUR_BLACK, x, y, 368); + // Track design name + utf8 *trackName = _trackDesigns[trackIndex].name; + gfx_draw_string_centred_clipped(dpi, STR_TRACK_PREVIEW_NAME_FORMAT, &trackName, COLOUR_BLACK, x, y, 368); - // Information - x = w->x + widget->left + 1; - y = w->y + widget->bottom + 2; + // Information + x = w->x + widget->left + 1; + y = w->y + widget->bottom + 2; - // Stats - fixed32_2dp rating = td6->excitement * 10; - gfx_draw_string_left(dpi, STR_TRACK_LIST_EXCITEMENT_RATING, &rating, COLOUR_BLACK, x, y); - y += 10; + // Stats + fixed32_2dp rating = td6->excitement * 10; + gfx_draw_string_left(dpi, STR_TRACK_LIST_EXCITEMENT_RATING, &rating, COLOUR_BLACK, x, y); + y += 10; - rating = td6->intensity * 10; - gfx_draw_string_left(dpi, STR_TRACK_LIST_INTENSITY_RATING, &rating, COLOUR_BLACK, x, y); - y += 10; + rating = td6->intensity * 10; + gfx_draw_string_left(dpi, STR_TRACK_LIST_INTENSITY_RATING, &rating, COLOUR_BLACK, x, y); + y += 10; - rating = td6->nausea * 10; - gfx_draw_string_left(dpi, STR_TRACK_LIST_NAUSEA_RATING, &rating, COLOUR_BLACK, x, y); - y += 14; + rating = td6->nausea * 10; + gfx_draw_string_left(dpi, STR_TRACK_LIST_NAUSEA_RATING, &rating, COLOUR_BLACK, x, y); + y += 14; - if (td6->type != RIDE_TYPE_MAZE) { - if (td6->type == RIDE_TYPE_MINI_GOLF) { - // Holes - uint16 holes = td6->holes & 0x1F; - gfx_draw_string_left(dpi, STR_HOLES, &holes, COLOUR_BLACK, x, y); - y += 10; - } else { - // Maximum speed - uint16 speed = ((td6->max_speed << 16) * 9) >> 18; - gfx_draw_string_left(dpi, STR_MAX_SPEED, &speed, COLOUR_BLACK, x, y); - y += 10; + if (td6->type != RIDE_TYPE_MAZE) { + if (td6->type == RIDE_TYPE_MINI_GOLF) { + // Holes + uint16 holes = td6->holes & 0x1F; + gfx_draw_string_left(dpi, STR_HOLES, &holes, COLOUR_BLACK, x, y); + y += 10; + } else { + // Maximum speed + uint16 speed = ((td6->max_speed << 16) * 9) >> 18; + gfx_draw_string_left(dpi, STR_MAX_SPEED, &speed, COLOUR_BLACK, x, y); + y += 10; - // Average speed - speed = ((td6->average_speed << 16) * 9) >> 18; - gfx_draw_string_left(dpi, STR_AVERAGE_SPEED, &speed, COLOUR_BLACK, x, y); - y += 10; - } + // Average speed + speed = ((td6->average_speed << 16) * 9) >> 18; + gfx_draw_string_left(dpi, STR_AVERAGE_SPEED, &speed, COLOUR_BLACK, x, y); + y += 10; + } - // Ride length - set_format_arg(0, rct_string_id, STR_RIDE_LENGTH_ENTRY); - set_format_arg(2, uint16, td6->ride_length); - gfx_draw_string_left_clipped(dpi, STR_TRACK_LIST_RIDE_LENGTH, gCommonFormatArgs, COLOUR_BLACK, x, y, 214); - y += 10; - } + // Ride length + set_format_arg(0, rct_string_id, STR_RIDE_LENGTH_ENTRY); + set_format_arg(2, uint16, td6->ride_length); + gfx_draw_string_left_clipped(dpi, STR_TRACK_LIST_RIDE_LENGTH, gCommonFormatArgs, COLOUR_BLACK, x, y, 214); + y += 10; + } - if (ride_type_has_flag(td6->type, RIDE_TYPE_FLAG_HAS_G_FORCES)) { - // Maximum positive vertical Gs - sint32 gForces = td6->max_positive_vertical_g * 32; - gfx_draw_string_left(dpi, STR_MAX_POSITIVE_VERTICAL_G, &gForces, COLOUR_BLACK, x, y); - y += 10; + if (ride_type_has_flag(td6->type, RIDE_TYPE_FLAG_HAS_G_FORCES)) { + // Maximum positive vertical Gs + sint32 gForces = td6->max_positive_vertical_g * 32; + gfx_draw_string_left(dpi, STR_MAX_POSITIVE_VERTICAL_G, &gForces, COLOUR_BLACK, x, y); + y += 10; - // Maximum negative vertical Gs - gForces = td6->max_negative_vertical_g * 32; - gfx_draw_string_left(dpi, STR_MAX_NEGATIVE_VERTICAL_G, &gForces, COLOUR_BLACK, x, y); - y += 10; + // Maximum negative vertical Gs + gForces = td6->max_negative_vertical_g * 32; + gfx_draw_string_left(dpi, STR_MAX_NEGATIVE_VERTICAL_G, &gForces, COLOUR_BLACK, x, y); + y += 10; - // Maximum lateral Gs - gForces = td6->max_lateral_g * 32; - gfx_draw_string_left(dpi, STR_MAX_LATERAL_G, &gForces, COLOUR_BLACK, x, y); - y += 10; + // Maximum lateral Gs + gForces = td6->max_lateral_g * 32; + gfx_draw_string_left(dpi, STR_MAX_LATERAL_G, &gForces, COLOUR_BLACK, x, y); + y += 10; - // If .TD6 - if (td6->version_and_colour_scheme / 4 >= 2) { - if (td6->total_air_time != 0) { - // Total air time - sint32 airTime = td6->total_air_time * 25; - gfx_draw_string_left(dpi, STR_TOTAL_AIR_TIME, &airTime, COLOUR_BLACK, x, y); - y += 10; - } - } - } + // If .TD6 + if (td6->version_and_colour_scheme / 4 >= 2) { + if (td6->total_air_time != 0) { + // Total air time + sint32 airTime = td6->total_air_time * 25; + gfx_draw_string_left(dpi, STR_TOTAL_AIR_TIME, &airTime, COLOUR_BLACK, x, y); + y += 10; + } + } + } - if (ride_type_has_flag(td6->type, RIDE_TYPE_FLAG_HAS_DROPS)) { - // Drops - uint16 drops = td6->drops & 0x3F; - gfx_draw_string_left(dpi, STR_DROPS, &drops, COLOUR_BLACK, x, y); - y += 10; + if (ride_type_has_flag(td6->type, RIDE_TYPE_FLAG_HAS_DROPS)) { + // Drops + uint16 drops = td6->drops & 0x3F; + gfx_draw_string_left(dpi, STR_DROPS, &drops, COLOUR_BLACK, x, y); + y += 10; - // Drop height is multiplied by 0.75 - gfx_draw_string_left(dpi, STR_HIGHEST_DROP_HEIGHT, &drops, COLOUR_BLACK, x, y); - y += 10; - } + // Drop height is multiplied by 0.75 + gfx_draw_string_left(dpi, STR_HIGHEST_DROP_HEIGHT, &drops, COLOUR_BLACK, x, y); + y += 10; + } - if (td6->type != RIDE_TYPE_MINI_GOLF) { - uint16 inversions = td6->inversions & 0x1F; - if (inversions != 0) { - // Inversions - gfx_draw_string_left(dpi, STR_INVERSIONS, &inversions, COLOUR_BLACK, x, y); - y += 10; - } - } - y += 4; + if (td6->type != RIDE_TYPE_MINI_GOLF) { + uint16 inversions = td6->inversions & 0x1F; + if (inversions != 0) { + // Inversions + gfx_draw_string_left(dpi, STR_INVERSIONS, &inversions, COLOUR_BLACK, x, y); + y += 10; + } + } + y += 4; - if (td6->space_required_x != 0xFF) { - // Space required - set_format_arg(0, uint16, td6->space_required_x); - set_format_arg(2, uint16, td6->space_required_y); - gfx_draw_string_left(dpi, STR_TRACK_LIST_SPACE_REQUIRED, gCommonFormatArgs, COLOUR_BLACK, x, y); - y += 10; - } + if (td6->space_required_x != 0xFF) { + // Space required + set_format_arg(0, uint16, td6->space_required_x); + set_format_arg(2, uint16, td6->space_required_y); + gfx_draw_string_left(dpi, STR_TRACK_LIST_SPACE_REQUIRED, gCommonFormatArgs, COLOUR_BLACK, x, y); + y += 10; + } - if (td6->cost != 0) { - gfx_draw_string_left(dpi, STR_TRACK_LIST_COST_AROUND, &td6->cost, COLOUR_BLACK, x, y); - } + if (td6->cost != 0) { + gfx_draw_string_left(dpi, STR_TRACK_LIST_COST_AROUND, &td6->cost, COLOUR_BLACK, x, y); + } } /** @@ -560,79 +560,79 @@ static void window_track_list_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_track_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) { - uint8 paletteIndex = ColourMapA[w->colours[0]].mid_light; - gfx_clear(dpi, paletteIndex); + uint8 paletteIndex = ColourMapA[w->colours[0]].mid_light; + gfx_clear(dpi, paletteIndex); - sint32 x = 0; - sint32 y = 0; - size_t listIndex = 0; - if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - if (_trackDesignsCount == 0) { - // No track designs - gfx_draw_string_left(dpi, STR_NO_TRACK_DESIGNS_OF_THIS_TYPE, NULL, COLOUR_BLACK, x, y - 1); - return; - } - } else { - // Build custom track item - rct_string_id stringId; - if (listIndex == (size_t)w->selected_list_item) { - // Highlight - gfx_filter_rect(dpi, x, y, w->width, y + 9, PALETTE_DARKEN_1); - stringId = STR_WINDOW_COLOUR_2_STRINGID; - } else { - stringId = STR_BLACK_STRING; - } + sint32 x = 0; + sint32 y = 0; + size_t listIndex = 0; + if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { + if (_trackDesignsCount == 0) { + // No track designs + gfx_draw_string_left(dpi, STR_NO_TRACK_DESIGNS_OF_THIS_TYPE, NULL, COLOUR_BLACK, x, y - 1); + return; + } + } else { + // Build custom track item + rct_string_id stringId; + if (listIndex == (size_t)w->selected_list_item) { + // Highlight + gfx_filter_rect(dpi, x, y, w->width, y + 9, PALETTE_DARKEN_1); + stringId = STR_WINDOW_COLOUR_2_STRINGID; + } else { + stringId = STR_BLACK_STRING; + } - rct_string_id stringId2 = STR_BUILD_CUSTOM_DESIGN; - gfx_draw_string_left(dpi, stringId, &stringId2, COLOUR_BLACK, x, y - 1); - y += 10; - listIndex++; - } + rct_string_id stringId2 = STR_BUILD_CUSTOM_DESIGN; + gfx_draw_string_left(dpi, stringId, &stringId2, COLOUR_BLACK, x, y - 1); + y += 10; + listIndex++; + } - for (size_t i = 0; i < _trackDesignsCount; i++, listIndex++) { - if (y + 10 >= dpi->y && y < dpi->y + dpi->height) { - rct_string_id stringId; - if (listIndex == (size_t)w->selected_list_item) { - // Highlight - gfx_filter_rect(dpi, x, y, w->width, y + 9, PALETTE_DARKEN_1); - stringId = STR_WINDOW_COLOUR_2_STRINGID; - } else { - stringId = STR_BLACK_STRING; - } + for (size_t i = 0; i < _trackDesignsCount; i++, listIndex++) { + if (y + 10 >= dpi->y && y < dpi->y + dpi->height) { + rct_string_id stringId; + if (listIndex == (size_t)w->selected_list_item) { + // Highlight + gfx_filter_rect(dpi, x, y, w->width, y + 9, PALETTE_DARKEN_1); + stringId = STR_WINDOW_COLOUR_2_STRINGID; + } else { + stringId = STR_BLACK_STRING; + } - // Draw track name - set_format_arg(0, rct_string_id, STR_TRACK_LIST_NAME_FORMAT); - set_format_arg(2, utf8*, _trackDesigns[i].name); - gfx_draw_string_left(dpi, stringId, gCommonFormatArgs, COLOUR_BLACK, x, y - 1); - } - y += 10; - } + // Draw track name + set_format_arg(0, rct_string_id, STR_TRACK_LIST_NAME_FORMAT); + set_format_arg(2, utf8*, _trackDesigns[i].name); + gfx_draw_string_left(dpi, stringId, gCommonFormatArgs, COLOUR_BLACK, x, y - 1); + } + y += 10; + } } static void track_list_load_designs(ride_list_item item) { - char entry[9]; - const char *entryPtr = NULL; - if (item.type < 0x80) { - rct_ride_entry *rideEntry = get_ride_entry(item.entry_index); - if ((rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE) && !rideTypeShouldLoseSeparateFlag(rideEntry)) { - get_ride_entry_name(entry, item.entry_index); - entryPtr = entry; - } - } - _trackDesignsCount = track_repository_get_items_for_ride(&_trackDesigns, item.type, entryPtr); + char entry[9]; + const char *entryPtr = NULL; + if (item.type < 0x80) { + rct_ride_entry *rideEntry = get_ride_entry(item.entry_index); + if ((rideEntry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE) && !rideTypeShouldLoseSeparateFlag(rideEntry)) { + get_ride_entry_name(entry, item.entry_index); + entryPtr = entry; + } + } + _trackDesignsCount = track_repository_get_items_for_ride(&_trackDesigns, item.type, entryPtr); } static bool track_list_load_design_for_preview(utf8 *path) { - // Dispose currently loaded track - track_design_dispose(_loadedTrackDesign); - _loadedTrackDesign = NULL; + // Dispose currently loaded track + track_design_dispose(_loadedTrackDesign); + _loadedTrackDesign = NULL; - _loadedTrackDesign = track_design_open(path); - if (_loadedTrackDesign != NULL && drawing_engine_get_type() != DRAWING_ENGINE_OPENGL) { - track_design_draw_preview(_loadedTrackDesign, _trackDesignPreviewPixels); - return true; - } - return false; + _loadedTrackDesign = track_design_open(path); + if (_loadedTrackDesign != NULL && drawing_engine_get_type() != DRAWING_ENGINE_OPENGL) { + track_design_draw_preview(_loadedTrackDesign, _trackDesignPreviewPixels); + return true; + } + return false; } diff --git a/src/openrct2/windows/track_manage.c b/src/openrct2/windows/track_manage.c index f6b80fc1de..da26d0bdb9 100644 --- a/src/openrct2/windows/track_manage.c +++ b/src/openrct2/windows/track_manage.c @@ -29,32 +29,32 @@ #pragma region Widgets enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_RENAME, - WIDX_DELETE, + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_RENAME, + WIDX_DELETE, - WIDX_PROMPT_DELETE = 3, - WIDX_PROMPT_CANCEL = 4, + WIDX_PROMPT_DELETE = 3, + WIDX_PROMPT_CANCEL = 4, }; static rct_widget window_track_manage_widgets[] = { - { WWT_FRAME, 0, 0, 249, 0, 43, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, 248, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 237, 247, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_DROPDOWN_BUTTON, 0, 10, 119, 24, 35, STR_TRACK_MANAGE_RENAME, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 0, 130, 239, 24, 35, STR_TRACK_MANAGE_DELETE, STR_NONE }, - { WIDGETS_END } + { WWT_FRAME, 0, 0, 249, 0, 43, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, 248, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 237, 247, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_DROPDOWN_BUTTON, 0, 10, 119, 24, 35, STR_TRACK_MANAGE_RENAME, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 0, 130, 239, 24, 35, STR_TRACK_MANAGE_DELETE, STR_NONE }, + { WIDGETS_END } }; static rct_widget window_track_delete_prompt_widgets[] = { - { WWT_FRAME, 0, 0, 249, 0, 73, STR_NONE, STR_NONE }, - { WWT_CAPTION, 0, 1, 248, 1, 14, STR_DELETE_FILE, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 237, 247, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_DROPDOWN_BUTTON, 0, 10, 119, 54, 65, STR_TRACK_MANAGE_DELETE, STR_NONE }, - { WWT_DROPDOWN_BUTTON, 0, 130, 239, 54, 65, STR_CANCEL, STR_NONE }, - { WIDGETS_END } + { WWT_FRAME, 0, 0, 249, 0, 73, STR_NONE, STR_NONE }, + { WWT_CAPTION, 0, 1, 248, 1, 14, STR_DELETE_FILE, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 237, 247, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_DROPDOWN_BUTTON, 0, 10, 119, 54, 65, STR_TRACK_MANAGE_DELETE, STR_NONE }, + { WWT_DROPDOWN_BUTTON, 0, 130, 239, 54, 65, STR_CANCEL, STR_NONE }, + { WIDGETS_END } }; #pragma endregion @@ -71,66 +71,66 @@ static void window_track_delete_prompt_paint(rct_window *w, rct_drawpixelinfo *d // 0x009940EC static rct_window_event_list window_track_manage_events = { - window_track_manage_close, - window_track_manage_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_track_manage_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_track_manage_paint, - NULL + window_track_manage_close, + window_track_manage_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_track_manage_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_track_manage_paint, + NULL }; // 0x0099415C static rct_window_event_list window_track_delete_prompt_events = { - NULL, - window_track_delete_prompt_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_track_delete_prompt_paint, - NULL + NULL, + window_track_delete_prompt_mouseup, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_track_delete_prompt_paint, + NULL }; #pragma endregion @@ -146,28 +146,28 @@ static void window_track_design_list_reload_tracks(); */ void window_track_manage_open(track_design_file_ref *tdFileRef) { - window_close_by_class(WC_MANAGE_TRACK_DESIGN); + window_close_by_class(WC_MANAGE_TRACK_DESIGN); - rct_window *w = window_create_centred( - 250, - 44, - &window_track_manage_events, - WC_MANAGE_TRACK_DESIGN, - WF_STICK_TO_FRONT | WF_TRANSPARENT - ); - w->widgets = window_track_manage_widgets; - w->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_RENAME) | - (1 << WIDX_DELETE); - window_init_scroll_widgets(w); + rct_window *w = window_create_centred( + 250, + 44, + &window_track_manage_events, + WC_MANAGE_TRACK_DESIGN, + WF_STICK_TO_FRONT | WF_TRANSPARENT + ); + w->widgets = window_track_manage_widgets; + w->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_RENAME) | + (1 << WIDX_DELETE); + window_init_scroll_widgets(w); - rct_window *trackDesignListWindow = window_find_by_class(WC_TRACK_DESIGN_LIST); - if (trackDesignListWindow != NULL) { - trackDesignListWindow->track_list.var_484 |= 1; - } + rct_window *trackDesignListWindow = window_find_by_class(WC_TRACK_DESIGN_LIST); + if (trackDesignListWindow != NULL) { + trackDesignListWindow->track_list.var_484 |= 1; + } - _trackDesignFileReference = tdFileRef; + _trackDesignFileReference = tdFileRef; } /** @@ -176,10 +176,10 @@ void window_track_manage_open(track_design_file_ref *tdFileRef) */ static void window_track_manage_close(rct_window *w) { - rct_window *trackDesignListWindow = window_find_by_class(WC_TRACK_DESIGN_LIST); - if (trackDesignListWindow != NULL) { - trackDesignListWindow->track_list.var_484 &= ~1; - } + rct_window *trackDesignListWindow = window_find_by_class(WC_TRACK_DESIGN_LIST); + if (trackDesignListWindow != NULL) { + trackDesignListWindow->track_list.var_484 &= ~1; + } } /** @@ -188,24 +188,24 @@ static void window_track_manage_close(rct_window *w) */ static void window_track_manage_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_RENAME: - window_text_input_raw_open( - w, - widgetIndex, - STR_TRACK_DESIGN_RENAME_TITLE, - STR_TRACK_DESIGN_RENAME_DESC, - _trackDesignFileReference->name, - 127 - ); - break; - case WIDX_DELETE: - window_track_delete_prompt_open(); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_RENAME: + window_text_input_raw_open( + w, + widgetIndex, + STR_TRACK_DESIGN_RENAME_TITLE, + STR_TRACK_DESIGN_RENAME_DESC, + _trackDesignFileReference->name, + 127 + ); + break; + case WIDX_DELETE: + window_track_delete_prompt_open(); + break; + } } /** @@ -214,27 +214,27 @@ static void window_track_manage_mouseup(rct_window *w, rct_widgetindex widgetInd */ static void window_track_manage_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - if (widgetIndex != WIDX_RENAME || str_is_null_or_empty(text)) { - return; - } + if (widgetIndex != WIDX_RENAME || str_is_null_or_empty(text)) { + return; + } - if (str_is_null_or_empty(text)) { - window_error_open(STR_CANT_RENAME_TRACK_DESIGN, STR_NONE); - return; - } + if (str_is_null_or_empty(text)) { + window_error_open(STR_CANT_RENAME_TRACK_DESIGN, STR_NONE); + return; + } - if (!filename_valid_characters(text)) { - window_error_open(STR_CANT_RENAME_TRACK_DESIGN, STR_NEW_NAME_CONTAINS_INVALID_CHARACTERS); - return; - } + if (!filename_valid_characters(text)) { + window_error_open(STR_CANT_RENAME_TRACK_DESIGN, STR_NEW_NAME_CONTAINS_INVALID_CHARACTERS); + return; + } - if (track_repository_rename(_trackDesignFileReference->path, text)) { - window_close_by_class(WC_TRACK_DELETE_PROMPT); - window_close(w); - window_track_design_list_reload_tracks(); - } else { - window_error_open(STR_CANT_RENAME_TRACK_DESIGN, STR_ANOTHER_FILE_EXISTS_WITH_NAME_OR_FILE_IS_WRITE_PROTECTED); - } + if (track_repository_rename(_trackDesignFileReference->path, text)) { + window_close_by_class(WC_TRACK_DELETE_PROMPT); + window_close(w); + window_track_design_list_reload_tracks(); + } else { + window_error_open(STR_CANT_RENAME_TRACK_DESIGN, STR_ANOTHER_FILE_EXISTS_WITH_NAME_OR_FILE_IS_WRITE_PROTECTED); + } } /** @@ -243,8 +243,8 @@ static void window_track_manage_textinput(rct_window *w, rct_widgetindex widgetI */ static void window_track_manage_paint(rct_window *w, rct_drawpixelinfo *dpi) { - set_format_arg(0, char *, _trackDesignFileReference->name); - window_draw_widgets(w, dpi); + set_format_arg(0, char *, _trackDesignFileReference->name); + window_draw_widgets(w, dpi); } /** @@ -253,26 +253,26 @@ static void window_track_manage_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_track_delete_prompt_open() { - window_close_by_class(WC_TRACK_DELETE_PROMPT); + window_close_by_class(WC_TRACK_DELETE_PROMPT); - sint32 screenWidth = context_get_width(); - sint32 screenHeight = context_get_height(); - rct_window *w = window_create( - max(TOP_TOOLBAR_HEIGHT + 1, (screenWidth - 250) / 2), - (screenHeight - 44) / 2, - 250, - 74, - &window_track_delete_prompt_events, - WC_TRACK_DELETE_PROMPT, - WF_STICK_TO_FRONT - ); - w->widgets = window_track_delete_prompt_widgets; - w->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_RENAME) | - (1 << WIDX_DELETE); - window_init_scroll_widgets(w); - w->flags |= WF_TRANSPARENT; + sint32 screenWidth = context_get_width(); + sint32 screenHeight = context_get_height(); + rct_window *w = window_create( + max(TOP_TOOLBAR_HEIGHT + 1, (screenWidth - 250) / 2), + (screenHeight - 44) / 2, + 250, + 74, + &window_track_delete_prompt_events, + WC_TRACK_DELETE_PROMPT, + WF_STICK_TO_FRONT + ); + w->widgets = window_track_delete_prompt_widgets; + w->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_RENAME) | + (1 << WIDX_DELETE); + window_init_scroll_widgets(w); + w->flags |= WF_TRANSPARENT; } /** @@ -281,21 +281,21 @@ static void window_track_delete_prompt_open() */ static void window_track_delete_prompt_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - case WIDX_PROMPT_CANCEL: - window_close(w); - break; - case WIDX_PROMPT_DELETE: - window_close(w); - if (track_repository_delete(_trackDesignFileReference->path)) { - window_close_by_class(WC_MANAGE_TRACK_DESIGN); - window_track_design_list_reload_tracks(); - } else { - window_error_open(STR_CANT_DELETE_TRACK_DESIGN, STR_FILE_IS_WRITE_PROTECTED_OR_LOCKED); - } - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + case WIDX_PROMPT_CANCEL: + window_close(w); + break; + case WIDX_PROMPT_DELETE: + window_close(w); + if (track_repository_delete(_trackDesignFileReference->path)) { + window_close_by_class(WC_MANAGE_TRACK_DESIGN); + window_track_design_list_reload_tracks(); + } else { + window_error_open(STR_CANT_DELETE_TRACK_DESIGN, STR_FILE_IS_WRITE_PROTECTED_OR_LOCKED); + } + break; + } } /** @@ -304,23 +304,23 @@ static void window_track_delete_prompt_mouseup(rct_window *w, rct_widgetindex wi */ static void window_track_delete_prompt_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - gfx_draw_string_centred_wrapped( - dpi, - &_trackDesignFileReference->name, - w->x + 125, - w->y + 28, - 246, - STR_ARE_YOU_SURE_YOU_WANT_TO_PERMANENTLY_DELETE_TRACK, - COLOUR_BLACK - ); + gfx_draw_string_centred_wrapped( + dpi, + &_trackDesignFileReference->name, + w->x + 125, + w->y + 28, + 246, + STR_ARE_YOU_SURE_YOU_WANT_TO_PERMANENTLY_DELETE_TRACK, + COLOUR_BLACK + ); } static void window_track_design_list_reload_tracks() { - rct_window * trackListWindow = window_find_by_class(WC_TRACK_DESIGN_LIST); - if (trackListWindow != NULL) { - trackListWindow->track_list.reload_track_designs = true; - } + rct_window * trackListWindow = window_find_by_class(WC_TRACK_DESIGN_LIST); + if (trackListWindow != NULL) { + trackListWindow->track_list.reload_track_designs = true; + } } diff --git a/src/openrct2/windows/track_place.c b/src/openrct2/windows/track_place.c index e912baae95..03e2709499 100644 --- a/src/openrct2/windows/track_place.c +++ b/src/openrct2/windows/track_place.c @@ -29,35 +29,35 @@ #include "../sprites.h" #include "../util/util.h" -#define TRACK_MINI_PREVIEW_WIDTH 168 -#define TRACK_MINI_PREVIEW_HEIGHT 78 -#define TRACK_MINI_PREVIEW_SIZE (TRACK_MINI_PREVIEW_WIDTH * TRACK_MINI_PREVIEW_HEIGHT) +#define TRACK_MINI_PREVIEW_WIDTH 168 +#define TRACK_MINI_PREVIEW_HEIGHT 78 +#define TRACK_MINI_PREVIEW_SIZE (TRACK_MINI_PREVIEW_WIDTH * TRACK_MINI_PREVIEW_HEIGHT) #define PALETTE_INDEX_TRANSPARENT (0) #define PALETTE_INDEX_PRIMARY_MID_DARK (248) #define PALETTE_INDEX_PRIMARY_LIGHTEST (252) enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_ROTATE, - WIDX_MIRROR, - WIDX_SELECT_DIFFERENT_DESIGN, - WIDX_PRICE + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_ROTATE, + WIDX_MIRROR, + WIDX_SELECT_DIFFERENT_DESIGN, + WIDX_PRICE }; validate_global_widx(WC_TRACK_DESIGN_PLACE, WIDX_ROTATE); static rct_widget window_track_place_widgets[] = { - { WWT_FRAME, 0, 0, 199, 0, 123, 0xFFFFFFFF, STR_NONE }, - { WWT_CAPTION, 0, 1, 198, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP }, - { WWT_CLOSEBOX, 0, 187, 197, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, - { WWT_FLATBTN, 0, 173, 196, 83, 106, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP }, - { WWT_FLATBTN, 0, 173, 196, 59, 82, SPR_MIRROR_ARROW, STR_MIRROR_IMAGE_TIP }, - { WWT_DROPDOWN_BUTTON, 0, 4, 195, 109, 120, STR_SELECT_A_DIFFERENT_DESIGN, STR_GO_BACK_TO_DESIGN_SELECTION_WINDOW_TIP }, - { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 199, 0, 123, 0xFFFFFFFF, STR_NONE }, + { WWT_CAPTION, 0, 1, 198, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP }, + { WWT_CLOSEBOX, 0, 187, 197, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, + { WWT_FLATBTN, 0, 173, 196, 83, 106, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP }, + { WWT_FLATBTN, 0, 173, 196, 59, 82, SPR_MIRROR_ARROW, STR_MIRROR_IMAGE_TIP }, + { WWT_DROPDOWN_BUTTON, 0, 4, 195, 109, 120, STR_SELECT_A_DIFFERENT_DESIGN, STR_GO_BACK_TO_DESIGN_SELECTION_WINDOW_TIP }, + { WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, + { WIDGETS_END }, }; static void window_track_place_close(rct_window *w); @@ -71,34 +71,34 @@ static void window_track_place_invalidate(rct_window *w); static void window_track_place_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_track_place_events = { - window_track_place_close, - window_track_place_mouseup, - NULL, - NULL, - NULL, - NULL, - window_track_place_update, - NULL, - NULL, - window_track_place_toolupdate, - window_track_place_tooldown, - NULL, - NULL, - window_track_place_toolabort, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_track_place_unknown14, - NULL, - NULL, - NULL, - NULL, - window_track_place_invalidate, - window_track_place_paint, - NULL + window_track_place_close, + window_track_place_mouseup, + NULL, + NULL, + NULL, + NULL, + window_track_place_update, + NULL, + NULL, + window_track_place_toolupdate, + window_track_place_tooldown, + NULL, + NULL, + window_track_place_toolabort, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_track_place_unknown14, + NULL, + NULL, + NULL, + NULL, + window_track_place_invalidate, + window_track_place_paint, + NULL }; static uint8 *_window_track_place_mini_preview; @@ -132,7 +132,7 @@ static uint8 *draw_mini_preview_get_pixel_ptr(rct_xy16 pixel); */ static void window_track_place_clear_mini_preview() { - memset(_window_track_place_mini_preview, PALETTE_INDEX_TRANSPARENT, TRACK_MINI_PREVIEW_SIZE); + memset(_window_track_place_mini_preview, PALETTE_INDEX_TRANSPARENT, TRACK_MINI_PREVIEW_SIZE); } #define swap(x, y) x = x ^ y; y = x ^ y; x = x ^ y; @@ -143,42 +143,42 @@ static void window_track_place_clear_mini_preview() */ void window_track_place_open(const track_design_file_ref *tdFileRef) { - rct_track_td6 *td6 = track_design_open(tdFileRef->path); - if (td6 == NULL) { - return; - } + rct_track_td6 *td6 = track_design_open(tdFileRef->path); + if (td6 == NULL) { + return; + } - window_close_construction_windows(); + window_close_construction_windows(); - _window_track_place_mini_preview = malloc(TRACK_MINI_PREVIEW_SIZE); + _window_track_place_mini_preview = malloc(TRACK_MINI_PREVIEW_SIZE); - rct_window *w = window_create( - 0, - 29, - 200, - 124, - &window_track_place_events, - WC_TRACK_DESIGN_PLACE, - 0 - ); - w->widgets = window_track_place_widgets; - w->enabled_widgets = 1 << WIDX_CLOSE - | 1 << WIDX_ROTATE - | 1 << WIDX_MIRROR - | 1 << WIDX_SELECT_DIFFERENT_DESIGN; - window_init_scroll_widgets(w); - tool_set(w, WIDX_PRICE, TOOL_CROSSHAIR); - input_set_flag(INPUT_FLAG_6, true); - window_push_others_right(w); - show_gridlines(); - _window_track_place_last_cost = MONEY32_UNDEFINED; - _window_track_place_last_x = 0xFFFF; - _currentTrackPieceDirection = (2 - get_current_rotation()) & 3; + rct_window *w = window_create( + 0, + 29, + 200, + 124, + &window_track_place_events, + WC_TRACK_DESIGN_PLACE, + 0 + ); + w->widgets = window_track_place_widgets; + w->enabled_widgets = 1 << WIDX_CLOSE + | 1 << WIDX_ROTATE + | 1 << WIDX_MIRROR + | 1 << WIDX_SELECT_DIFFERENT_DESIGN; + window_init_scroll_widgets(w); + tool_set(w, WIDX_PRICE, TOOL_CROSSHAIR); + input_set_flag(INPUT_FLAG_6, true); + window_push_others_right(w); + show_gridlines(); + _window_track_place_last_cost = MONEY32_UNDEFINED; + _window_track_place_last_x = 0xFFFF; + _currentTrackPieceDirection = (2 - get_current_rotation()) & 3; - window_track_place_clear_mini_preview(); - window_track_place_draw_mini_preview(td6); + window_track_place_clear_mini_preview(); + window_track_place_draw_mini_preview(td6); - _trackDesign = td6; + _trackDesign = td6; } /** @@ -187,15 +187,15 @@ void window_track_place_open(const track_design_file_ref *tdFileRef) */ static void window_track_place_close(rct_window *w) { - window_track_place_clear_provisional(); - viewport_set_visibility(0); - map_invalidate_map_selection_tiles(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - hide_gridlines(); - SafeFree(_window_track_place_mini_preview); - track_design_dispose(_trackDesign); - _trackDesign = NULL; + window_track_place_clear_provisional(); + viewport_set_visibility(0); + map_invalidate_map_selection_tiles(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + hide_gridlines(); + SafeFree(_window_track_place_mini_preview); + track_design_dispose(_trackDesign); + _trackDesign = NULL; } /** @@ -204,29 +204,29 @@ static void window_track_place_close(rct_window *w) */ static void window_track_place_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_ROTATE: - window_track_place_clear_provisional(); - _currentTrackPieceDirection = (_currentTrackPieceDirection + 1) & 3; - window_invalidate(w); - _window_track_place_last_x = 0xFFFF; - window_track_place_draw_mini_preview(_trackDesign); - break; - case WIDX_MIRROR: - track_design_mirror(_trackDesign); - _currentTrackPieceDirection = (0 - _currentTrackPieceDirection) & 3; - window_invalidate(w); - _window_track_place_last_x = 0xFFFF; - window_track_place_draw_mini_preview(_trackDesign); - break; - case WIDX_SELECT_DIFFERENT_DESIGN: - window_close(w); - window_track_list_open(_window_track_list_item); - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_ROTATE: + window_track_place_clear_provisional(); + _currentTrackPieceDirection = (_currentTrackPieceDirection + 1) & 3; + window_invalidate(w); + _window_track_place_last_x = 0xFFFF; + window_track_place_draw_mini_preview(_trackDesign); + break; + case WIDX_MIRROR: + track_design_mirror(_trackDesign); + _currentTrackPieceDirection = (0 - _currentTrackPieceDirection) & 3; + window_invalidate(w); + _window_track_place_last_x = 0xFFFF; + window_track_place_draw_mini_preview(_trackDesign); + break; + case WIDX_SELECT_DIFFERENT_DESIGN: + window_close(w); + window_track_list_open(_window_track_list_item); + break; + } } /** @@ -235,9 +235,9 @@ static void window_track_place_mouseup(rct_window *w, rct_widgetindex widgetInde */ static void window_track_place_update(rct_window *w) { - if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) - if (gCurrentToolWidget.window_classification != WC_TRACK_DESIGN_PLACE) - window_close(w); + if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) + if (gCurrentToolWidget.window_classification != WC_TRACK_DESIGN_PLACE) + window_close(w); } /** @@ -246,57 +246,57 @@ static void window_track_place_update(rct_window *w) */ static void window_track_place_toolupdate(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - sint16 mapX, mapY, mapZ; + sint16 mapX, mapY, mapZ; - map_invalidate_map_selection_tiles(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + map_invalidate_map_selection_tiles(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - // Get the tool map position - sub_68A15E(x, y, &mapX, &mapY, NULL, NULL); - if (mapX == MAP_LOCATION_NULL) { - window_track_place_clear_provisional(); - return; - } + // Get the tool map position + sub_68A15E(x, y, &mapX, &mapY, NULL, NULL); + if (mapX == MAP_LOCATION_NULL) { + window_track_place_clear_provisional(); + return; + } - // Check if tool map position has changed since last update - if (mapX == _window_track_place_last_x && mapY == _window_track_place_last_y) { - place_virtual_track(_trackDesign, PTD_OPERATION_DRAW_OUTLINES, 0, mapX, mapY, 0); - return; - } + // Check if tool map position has changed since last update + if (mapX == _window_track_place_last_x && mapY == _window_track_place_last_y) { + place_virtual_track(_trackDesign, PTD_OPERATION_DRAW_OUTLINES, 0, mapX, mapY, 0); + return; + } - money32 cost = MONEY32_UNDEFINED; + money32 cost = MONEY32_UNDEFINED; - // Get base Z position - mapZ = window_track_place_get_base_z(mapX, mapY); - if (game_is_not_paused() || gCheatsBuildInPauseMode) { - window_track_place_clear_provisional(); + // Get base Z position + mapZ = window_track_place_get_base_z(mapX, mapY); + if (game_is_not_paused() || gCheatsBuildInPauseMode) { + window_track_place_clear_provisional(); - // Try increasing Z until a feasible placement is found - for (sint32 i = 0; i < 7; i++) { - uint8 rideIndex; - window_track_place_attempt_placement(_trackDesign, mapX, mapY, mapZ, 105, &cost, &rideIndex); - if (cost != MONEY32_UNDEFINED) { - _window_track_place_ride_index = rideIndex; - _window_track_place_last_valid_x = mapX; - _window_track_place_last_valid_y = mapY; - _window_track_place_last_valid_z = mapZ; - _window_track_place_last_was_valid = true; - break; - } - mapZ += 8; - } - } + // Try increasing Z until a feasible placement is found + for (sint32 i = 0; i < 7; i++) { + uint8 rideIndex; + window_track_place_attempt_placement(_trackDesign, mapX, mapY, mapZ, 105, &cost, &rideIndex); + if (cost != MONEY32_UNDEFINED) { + _window_track_place_ride_index = rideIndex; + _window_track_place_last_valid_x = mapX; + _window_track_place_last_valid_y = mapY; + _window_track_place_last_valid_z = mapZ; + _window_track_place_last_was_valid = true; + break; + } + mapZ += 8; + } + } - _window_track_place_last_x = mapX; - _window_track_place_last_y = mapY; - if (cost != _window_track_place_last_cost) { - _window_track_place_last_cost = cost; - widget_invalidate(w, WIDX_PRICE); - } + _window_track_place_last_x = mapX; + _window_track_place_last_y = mapY; + if (cost != _window_track_place_last_cost) { + _window_track_place_last_cost = cost; + widget_invalidate(w, WIDX_PRICE); + } - place_virtual_track(_trackDesign, PTD_OPERATION_DRAW_OUTLINES, 0, mapX, mapY, mapZ); + place_virtual_track(_trackDesign, PTD_OPERATION_DRAW_OUTLINES, 0, mapX, mapY, mapZ); } /** @@ -305,53 +305,53 @@ static void window_track_place_toolupdate(rct_window* w, rct_widgetindex widgetI */ static void window_track_place_tooldown(rct_window* w, rct_widgetindex widgetIndex, sint32 x, sint32 y) { - sint32 i; - sint16 mapX, mapY, mapZ; - money32 cost; - uint8 rideIndex; + sint32 i; + sint16 mapX, mapY, mapZ; + money32 cost; + uint8 rideIndex; - window_track_place_clear_provisional(); - map_invalidate_map_selection_tiles(); - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + window_track_place_clear_provisional(); + map_invalidate_map_selection_tiles(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - sub_68A15E(x, y, &mapX, &mapY, NULL, NULL); - if (mapX == MAP_LOCATION_NULL) - return; + sub_68A15E(x, y, &mapX, &mapY, NULL, NULL); + if (mapX == MAP_LOCATION_NULL) + return; - // Try increasing Z until a feasible placement is found - mapZ = window_track_place_get_base_z(mapX, mapY); - for (i = 0; i < 7; i++) { - gDisableErrorWindowSound = true; - window_track_place_attempt_placement(_trackDesign, mapX, mapY, mapZ, 1, &cost, &rideIndex); - gDisableErrorWindowSound = false; + // Try increasing Z until a feasible placement is found + mapZ = window_track_place_get_base_z(mapX, mapY); + for (i = 0; i < 7; i++) { + gDisableErrorWindowSound = true; + window_track_place_attempt_placement(_trackDesign, mapX, mapY, mapZ, 1, &cost, &rideIndex); + gDisableErrorWindowSound = false; - if (cost != MONEY32_UNDEFINED) { - window_close_by_class(WC_ERROR); - audio_play_sound_at_location(SOUND_PLACE_ITEM, mapX, mapY, mapZ); + if (cost != MONEY32_UNDEFINED) { + window_close_by_class(WC_ERROR); + audio_play_sound_at_location(SOUND_PLACE_ITEM, mapX, mapY, mapZ); - _currentRideIndex = rideIndex; - if (byte_F4414E & BYTE_F4414E_ENTRANCE_EXIT_PLACED) { - window_ride_main_open(rideIndex); - window_close(w); - } else { - ride_initialise_construction_window(rideIndex); - w = window_find_by_class(WC_RIDE_CONSTRUCTION); - window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE); - } - return; - } + _currentRideIndex = rideIndex; + if (byte_F4414E & BYTE_F4414E_ENTRANCE_EXIT_PLACED) { + window_ride_main_open(rideIndex); + window_close(w); + } else { + ride_initialise_construction_window(rideIndex); + w = window_find_by_class(WC_RIDE_CONSTRUCTION); + window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE); + } + return; + } - // Check if player did not have enough funds - if (gGameCommandErrorText == STR_NOT_ENOUGH_CASH_REQUIRES) - break; + // Check if player did not have enough funds + if (gGameCommandErrorText == STR_NOT_ENOUGH_CASH_REQUIRES) + break; - mapZ += 8; - } + mapZ += 8; + } - // Unable to build track - audio_play_sound_at_location(SOUND_ERROR, mapX, mapY, mapZ); + // Unable to build track + audio_play_sound_at_location(SOUND_ERROR, mapX, mapY, mapZ); } /** @@ -360,7 +360,7 @@ static void window_track_place_tooldown(rct_window* w, rct_widgetindex widgetInd */ static void window_track_place_toolabort(rct_window *w, rct_widgetindex widgetIndex) { - window_track_place_clear_provisional(); + window_track_place_clear_provisional(); } /** @@ -369,12 +369,12 @@ static void window_track_place_toolabort(rct_window *w, rct_widgetindex widgetIn */ static void window_track_place_unknown14(rct_window *w) { - window_track_place_draw_mini_preview(_trackDesign); + window_track_place_draw_mini_preview(_trackDesign); } static void window_track_place_invalidate(rct_window *w) { - window_track_place_draw_mini_preview(_trackDesign); + window_track_place_draw_mini_preview(_trackDesign); } /** @@ -383,17 +383,17 @@ static void window_track_place_invalidate(rct_window *w) */ static void window_track_place_clear_provisional() { - if (_window_track_place_last_was_valid) { - place_virtual_track( - _trackDesign, - PTD_OPERATION_CLEAR_OUTLINES, - _window_track_place_ride_index, - _window_track_place_last_valid_x, - _window_track_place_last_valid_y, - _window_track_place_last_valid_z - ); - _window_track_place_last_was_valid = false; - } + if (_window_track_place_last_was_valid) { + place_virtual_track( + _trackDesign, + PTD_OPERATION_CLEAR_OUTLINES, + _window_track_place_ride_index, + _window_track_place_last_valid_x, + _window_track_place_last_valid_y, + _window_track_place_last_valid_z + ); + _window_track_place_last_was_valid = false; + } } /** @@ -402,45 +402,45 @@ static void window_track_place_clear_provisional() */ static sint32 window_track_place_get_base_z(sint32 x, sint32 y) { - rct_map_element *mapElement; - sint32 z; + rct_map_element *mapElement; + sint32 z; - mapElement = map_get_surface_element_at(x >> 5, y >> 5); - z = mapElement->base_height * 8; + mapElement = map_get_surface_element_at(x >> 5, y >> 5); + z = mapElement->base_height * 8; - // Increase Z above slope - if (mapElement->properties.surface.slope & 0x0F) { - z += 16; + // Increase Z above slope + if (mapElement->properties.surface.slope & 0x0F) { + z += 16; - // Increase Z above double slope - if (mapElement->properties.surface.slope & 0x10) - z += 16; - } + // Increase Z above double slope + if (mapElement->properties.surface.slope & 0x10) + z += 16; + } - // Increase Z above water - if (mapElement->properties.surface.terrain & 0x1F) - z = max(z, (mapElement->properties.surface.terrain & 0x1F) << 4); + // Increase Z above water + if (mapElement->properties.surface.terrain & 0x1F) + z = max(z, (mapElement->properties.surface.terrain & 0x1F) << 4); - return z + place_virtual_track(_trackDesign, PTD_OPERATION_GET_PLACE_Z, 0, x, y, z); + return z + place_virtual_track(_trackDesign, PTD_OPERATION_GET_PLACE_Z, 0, x, y, z); } static void window_track_place_attempt_placement(rct_track_td6 *td6, sint32 x, sint32 y, sint32 z, sint32 bl, money32 *cost, uint8 *rideIndex) { - sint32 eax, ebx, ecx, edx, esi, edi, ebp; - money32 result; + sint32 eax, ebx, ecx, edx, esi, edi, ebp; + money32 result; - edx = esi = ebp = 0; - eax = x; - ebx = bl; - ecx = y; - edi = z; + edx = esi = ebp = 0; + eax = x; + ebx = bl; + ecx = y; + edi = z; - gActiveTrackDesign = _trackDesign; - result = game_do_command_p(GAME_COMMAND_PLACE_TRACK_DESIGN, &eax, &ebx, &ecx, &edx, &esi, &edi, &ebp); - gActiveTrackDesign = NULL; + gActiveTrackDesign = _trackDesign; + result = game_do_command_p(GAME_COMMAND_PLACE_TRACK_DESIGN, &eax, &ebx, &ecx, &edx, &esi, &edi, &ebp); + gActiveTrackDesign = NULL; - if (cost != NULL) *cost = result; - if (rideIndex != NULL) *rideIndex = edi & 0xFF; + if (cost != NULL) *cost = result; + if (rideIndex != NULL) *rideIndex = edi & 0xFF; } /** @@ -449,28 +449,28 @@ static void window_track_place_attempt_placement(rct_track_td6 *td6, sint32 x, s */ static void window_track_place_paint(rct_window *w, rct_drawpixelinfo *dpi) { - set_format_arg(0, char *, _trackDesign->name); - window_draw_widgets(w, dpi); + set_format_arg(0, char *, _trackDesign->name); + window_draw_widgets(w, dpi); - // Draw mini tile preview - rct_drawpixelinfo clippedDpi; - if (clip_drawpixelinfo(&clippedDpi, dpi, w->x + 4, w->y + 18, 168, 78)) { - rct_g1_element *substituteElement = &g1Elements[SPR_TEMP]; - rct_g1_element tmpElement = *substituteElement; - substituteElement->offset = _window_track_place_mini_preview; - substituteElement->width = TRACK_MINI_PREVIEW_WIDTH; - substituteElement->height = TRACK_MINI_PREVIEW_HEIGHT; - substituteElement->x_offset = 0; - substituteElement->y_offset = 0; - substituteElement->flags = 0; - gfx_draw_sprite(&clippedDpi, 0 | IMAGE_TYPE_REMAP | NOT_TRANSLUCENT(w->colours[0]) << 19, 0, 0, 0); - *substituteElement = tmpElement; - } + // Draw mini tile preview + rct_drawpixelinfo clippedDpi; + if (clip_drawpixelinfo(&clippedDpi, dpi, w->x + 4, w->y + 18, 168, 78)) { + rct_g1_element *substituteElement = &g1Elements[SPR_TEMP]; + rct_g1_element tmpElement = *substituteElement; + substituteElement->offset = _window_track_place_mini_preview; + substituteElement->width = TRACK_MINI_PREVIEW_WIDTH; + substituteElement->height = TRACK_MINI_PREVIEW_HEIGHT; + substituteElement->x_offset = 0; + substituteElement->y_offset = 0; + substituteElement->flags = 0; + gfx_draw_sprite(&clippedDpi, 0 | IMAGE_TYPE_REMAP | NOT_TRANSLUCENT(w->colours[0]) << 19, 0, 0, 0); + *substituteElement = tmpElement; + } - // Price - if (_window_track_place_last_cost != MONEY32_UNDEFINED && !(gParkFlags & PARK_FLAGS_NO_MONEY)) { - gfx_draw_string_centred(dpi, STR_COST_LABEL, w->x + 88, w->y + 94, COLOUR_BLACK, &_window_track_place_last_cost); - } + // Price + if (_window_track_place_last_cost != MONEY32_UNDEFINED && !(gParkFlags & PARK_FLAGS_NO_MONEY)) { + gfx_draw_string_centred(dpi, STR_COST_LABEL, w->x + 88, w->y + 94, COLOUR_BLACK, &_window_track_place_last_cost); + } } /** @@ -479,140 +479,140 @@ static void window_track_place_paint(rct_window *w, rct_drawpixelinfo *dpi) */ static void window_track_place_draw_mini_preview(rct_track_td6 *td6) { - window_track_place_clear_mini_preview(); + window_track_place_clear_mini_preview(); - // First pass is used to determine the width and height of the image so it can centre it - rct_xy16 min = { 0, 0 }; - rct_xy16 max = { 0, 0 }; - for (sint32 pass = 0; pass < 2; pass++) { - rct_xy16 origin = { 0, 0 }; - if (pass == 1) { - origin.x -= ((max.x + min.x) >> 6) << 5; - origin.y -= ((max.y + min.y) >> 6) << 5; - } + // First pass is used to determine the width and height of the image so it can centre it + rct_xy16 min = { 0, 0 }; + rct_xy16 max = { 0, 0 }; + for (sint32 pass = 0; pass < 2; pass++) { + rct_xy16 origin = { 0, 0 }; + if (pass == 1) { + origin.x -= ((max.x + min.x) >> 6) << 5; + origin.y -= ((max.y + min.y) >> 6) << 5; + } - if (td6->type == RIDE_TYPE_MAZE) { - window_track_place_draw_mini_preview_maze(td6, pass, origin, &min, &max); - } else { - window_track_place_draw_mini_preview_track(td6, pass, origin, &min, &max); - } - } + if (td6->type == RIDE_TYPE_MAZE) { + window_track_place_draw_mini_preview_maze(td6, pass, origin, &min, &max); + } else { + window_track_place_draw_mini_preview_track(td6, pass, origin, &min, &max); + } + } } static void window_track_place_draw_mini_preview_track(rct_track_td6 *td6, sint32 pass, rct_xy16 origin, rct_xy16 *min, rct_xy16 *max) { - uint8 rotation = (_currentTrackPieceDirection + get_current_rotation()) & 3; - rct_td6_track_element *trackElement = td6->track_elements; - while (trackElement->type != 255) { - sint32 trackType = trackElement->type; - if (trackType == TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP) { - trackType = 255; - } + uint8 rotation = (_currentTrackPieceDirection + get_current_rotation()) & 3; + rct_td6_track_element *trackElement = td6->track_elements; + while (trackElement->type != 255) { + sint32 trackType = trackElement->type; + if (trackType == TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP) { + trackType = 255; + } - // Follow a single track piece shape - const rct_preview_track *trackBlock = TrackBlocks[trackType]; - while (trackBlock->index != 255) { - sint16 x = origin.x; - sint16 y = origin.y; - map_offset_with_rotation(&x, &y, trackBlock->x, trackBlock->y, rotation); + // Follow a single track piece shape + const rct_preview_track *trackBlock = TrackBlocks[trackType]; + while (trackBlock->index != 255) { + sint16 x = origin.x; + sint16 y = origin.y; + map_offset_with_rotation(&x, &y, trackBlock->x, trackBlock->y, rotation); - if (pass == 0) { - min->x = min(min->x, x); - max->x = max(max->x, x); - min->y = min(min->y, y); - max->y = max(max->y, y); - } else { - rct_xy16 pixelPosition = draw_mini_preview_get_pixel_position(x, y); - if (draw_mini_preview_is_pixel_in_bounds(pixelPosition)) { - uint8 *pixel = draw_mini_preview_get_pixel_ptr(pixelPosition); + if (pass == 0) { + min->x = min(min->x, x); + max->x = max(max->x, x); + min->y = min(min->y, y); + max->y = max(max->y, y); + } else { + rct_xy16 pixelPosition = draw_mini_preview_get_pixel_position(x, y); + if (draw_mini_preview_is_pixel_in_bounds(pixelPosition)) { + uint8 *pixel = draw_mini_preview_get_pixel_ptr(pixelPosition); - uint8 bits = trackBlock->var_08 << (rotation & 3); - bits = (bits & 0x0F) | ((bits & 0xF0) >> 4); + uint8 bits = trackBlock->var_08 << (rotation & 3); + bits = (bits & 0x0F) | ((bits & 0xF0) >> 4); - // Station track is a lighter colour - uint8 colour = (TrackSequenceProperties[trackType][0] & TRACK_SEQUENCE_FLAG_ORIGIN) ? PALETTE_INDEX_PRIMARY_LIGHTEST : PALETTE_INDEX_PRIMARY_MID_DARK; + // Station track is a lighter colour + uint8 colour = (TrackSequenceProperties[trackType][0] & TRACK_SEQUENCE_FLAG_ORIGIN) ? PALETTE_INDEX_PRIMARY_LIGHTEST : PALETTE_INDEX_PRIMARY_MID_DARK; - for (sint32 i = 0; i < 4; i++) { - if (bits & 1) pixel[338 + i] = colour; // x + 2, y + 2 - if (bits & 2) pixel[168 + i] = colour; // y + 1 - if (bits & 4) pixel[ 2 + i] = colour; // x + 2 - if (bits & 8) pixel[172 + i] = colour; // x + 4, y + 1 - } - } - } - trackBlock++; - } + for (sint32 i = 0; i < 4; i++) { + if (bits & 1) pixel[338 + i] = colour; // x + 2, y + 2 + if (bits & 2) pixel[168 + i] = colour; // y + 1 + if (bits & 4) pixel[ 2 + i] = colour; // x + 2 + if (bits & 8) pixel[172 + i] = colour; // x + 4, y + 1 + } + } + } + trackBlock++; + } - // Change rotation and next position based on track curvature - rotation &= 3; - const rct_track_coordinates* track_coordinate = &TrackCoordinates[trackType]; + // Change rotation and next position based on track curvature + rotation &= 3; + const rct_track_coordinates* track_coordinate = &TrackCoordinates[trackType]; - trackType *= 10; - map_offset_with_rotation(&origin.x, &origin.y, track_coordinate->x, track_coordinate->y, rotation); - rotation += track_coordinate->rotation_end - track_coordinate->rotation_begin; - rotation &= 3; - if (track_coordinate->rotation_end & 4) { - rotation |= 4; - } - if (!(rotation & 4)) { - origin.x += TileDirectionDelta[rotation].x; - origin.y += TileDirectionDelta[rotation].y; - } - trackElement++; - } + trackType *= 10; + map_offset_with_rotation(&origin.x, &origin.y, track_coordinate->x, track_coordinate->y, rotation); + rotation += track_coordinate->rotation_end - track_coordinate->rotation_begin; + rotation &= 3; + if (track_coordinate->rotation_end & 4) { + rotation |= 4; + } + if (!(rotation & 4)) { + origin.x += TileDirectionDelta[rotation].x; + origin.y += TileDirectionDelta[rotation].y; + } + trackElement++; + } } static void window_track_place_draw_mini_preview_maze(rct_track_td6 *td6, sint32 pass, rct_xy16 origin, rct_xy16 *min, rct_xy16 *max) { - uint8 rotation = (_currentTrackPieceDirection + get_current_rotation()) & 3; - rct_td6_maze_element *mazeElement = td6->maze_elements; - while (mazeElement->all != 0) { - sint16 x = mazeElement->x * 32; - sint16 y = mazeElement->y * 32; - rotate_map_coordinates(&x, &y, rotation); + uint8 rotation = (_currentTrackPieceDirection + get_current_rotation()) & 3; + rct_td6_maze_element *mazeElement = td6->maze_elements; + while (mazeElement->all != 0) { + sint16 x = mazeElement->x * 32; + sint16 y = mazeElement->y * 32; + rotate_map_coordinates(&x, &y, rotation); - x += origin.x; - y += origin.y; + x += origin.x; + y += origin.y; - if (pass == 0) { - min->x = min(min->x, x); - max->x = max(max->x, x); - min->y = min(min->y, y); - max->y = max(max->y, y); - } else { - rct_xy16 pixelPosition = draw_mini_preview_get_pixel_position(x, y); - if (draw_mini_preview_is_pixel_in_bounds(pixelPosition)) { - uint8 *pixel = draw_mini_preview_get_pixel_ptr(pixelPosition); + if (pass == 0) { + min->x = min(min->x, x); + max->x = max(max->x, x); + min->y = min(min->y, y); + max->y = max(max->y, y); + } else { + rct_xy16 pixelPosition = draw_mini_preview_get_pixel_position(x, y); + if (draw_mini_preview_is_pixel_in_bounds(pixelPosition)) { + uint8 *pixel = draw_mini_preview_get_pixel_ptr(pixelPosition); - // Entrance or exit is a lighter colour - uint8 colour = mazeElement->type == 8 || mazeElement->type == 128 ? PALETTE_INDEX_PRIMARY_LIGHTEST : PALETTE_INDEX_PRIMARY_MID_DARK; + // Entrance or exit is a lighter colour + uint8 colour = mazeElement->type == 8 || mazeElement->type == 128 ? PALETTE_INDEX_PRIMARY_LIGHTEST : PALETTE_INDEX_PRIMARY_MID_DARK; - for (sint32 i = 0; i < 4; i++) { - pixel[338 + i] = colour; // x + 2, y + 2 - pixel[168 + i] = colour; // y + 1 - pixel[ 2 + i] = colour; // x + 2 - pixel[172 + i] = colour; // x + 4, y + 1 - } - } - } - mazeElement++; - } + for (sint32 i = 0; i < 4; i++) { + pixel[338 + i] = colour; // x + 2, y + 2 + pixel[168 + i] = colour; // y + 1 + pixel[ 2 + i] = colour; // x + 2 + pixel[172 + i] = colour; // x + 4, y + 1 + } + } + } + mazeElement++; + } } static rct_xy16 draw_mini_preview_get_pixel_position(sint16 x, sint16 y) { - return (rct_xy16) { - 80 + ((y / 32) - (x / 32)) * 4, - 38 + ((y / 32) + (x / 32)) * 2 - }; + return (rct_xy16) { + 80 + ((y / 32) - (x / 32)) * 4, + 38 + ((y / 32) + (x / 32)) * 2 + }; } static bool draw_mini_preview_is_pixel_in_bounds(rct_xy16 pixel) { - return pixel.x >= 0 && pixel.y >= 0 && pixel.x <= 160 && pixel.y <= 75; + return pixel.x >= 0 && pixel.y >= 0 && pixel.x <= 160 && pixel.y <= 75; } static uint8 *draw_mini_preview_get_pixel_ptr(rct_xy16 pixel) { - return &_window_track_place_mini_preview[pixel.y * TRACK_MINI_PREVIEW_WIDTH + pixel.x]; + return &_window_track_place_mini_preview[pixel.y * TRACK_MINI_PREVIEW_WIDTH + pixel.x]; } diff --git a/src/openrct2/windows/view_clipping.c b/src/openrct2/windows/view_clipping.c index b0d434a19f..e3a56c2e94 100644 --- a/src/openrct2/windows/view_clipping.c +++ b/src/openrct2/windows/view_clipping.c @@ -23,19 +23,19 @@ #include "../rct2.h" enum WINDOW_VIEW_CLIPPING_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_CLIP_HEIGHT_CHECKBOX, - WIDX_CLIP_HEIGHT_VALUE, - WIDX_CLIP_HEIGHT_INCREASE, - WIDX_CLIP_HEIGHT_DECREASE, - WIDX_CLIP_HEIGHT_SLIDER + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_CLIP_HEIGHT_CHECKBOX, + WIDX_CLIP_HEIGHT_VALUE, + WIDX_CLIP_HEIGHT_INCREASE, + WIDX_CLIP_HEIGHT_DECREASE, + WIDX_CLIP_HEIGHT_SLIDER }; typedef enum DISPLAY_TYPE { - DISPLAY_RAW, - DISPLAY_UNITS + DISPLAY_RAW, + DISPLAY_UNITS } clip_value_display_type; clip_value_display_type gClipHeightDisplayType = DISPLAY_UNITS; @@ -46,15 +46,15 @@ clip_value_display_type gClipHeightDisplayType = DISPLAY_UNITS; #define WH 70 rct_widget window_view_clipping_widgets[] = { - { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_VIEW_CLIPPING_TITLE, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_CHECKBOX, 0, 11, 149, 19, 29, STR_VIEW_CLIPPING_HEIGHT_ENABLE, STR_VIEW_CLIPPING_HEIGHT_ENABLE_TIP }, // clip height enable/disable check box - { WWT_SPINNER, 0, 90, 149, 34, 45, STR_NONE, STR_VIEW_CLIPPING_HEIGHT_VALUE_TOGGLE }, // clip height value - { WWT_DROPDOWN_BUTTON, 0, 138, 148, 35, 39, STR_NUMERIC_UP, STR_NONE }, // clip height increase - { WWT_DROPDOWN_BUTTON, 0, 138, 148, 40, 44, STR_NUMERIC_DOWN, STR_NONE }, // clip height decrease - { WWT_SCROLL, 0, 11, 149, 49, 61, SCROLL_HORIZONTAL, STR_VIEW_CLIPPING_HEIGHT_SCROLL_TIP }, // clip height scrollbar - { WIDGETS_END } + { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_VIEW_CLIPPING_TITLE, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_CHECKBOX, 0, 11, 149, 19, 29, STR_VIEW_CLIPPING_HEIGHT_ENABLE, STR_VIEW_CLIPPING_HEIGHT_ENABLE_TIP }, // clip height enable/disable check box + { WWT_SPINNER, 0, 90, 149, 34, 45, STR_NONE, STR_VIEW_CLIPPING_HEIGHT_VALUE_TOGGLE }, // clip height value + { WWT_DROPDOWN_BUTTON, 0, 138, 148, 35, 39, STR_NUMERIC_UP, STR_NONE }, // clip height increase + { WWT_DROPDOWN_BUTTON, 0, 138, 148, 40, 44, STR_NUMERIC_DOWN, STR_NONE }, // clip height decrease + { WWT_SCROLL, 0, 11, 149, 49, 61, SCROLL_HORIZONTAL, STR_VIEW_CLIPPING_HEIGHT_SCROLL_TIP }, // clip height scrollbar + { WIDGETS_END } }; #pragma endregion @@ -69,223 +69,223 @@ static void window_view_clipping_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_view_clipping_scrollgetsize(rct_window *w, int scrollIndex, int *width, int *height); static rct_window_event_list window_view_clipping_events = { - window_view_clipping_close_button, - window_view_clipping_mouseup, - NULL, - NULL, - NULL, - NULL, - window_view_clipping_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_view_clipping_scrollgetsize, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_view_clipping_invalidate, - window_view_clipping_paint, - NULL + window_view_clipping_close_button, + window_view_clipping_mouseup, + NULL, + NULL, + NULL, + NULL, + window_view_clipping_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_view_clipping_scrollgetsize, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_view_clipping_invalidate, + window_view_clipping_paint, + NULL }; #pragma endregion static void window_view_clipping_set_clipheight(rct_window *w, const uint8 clipheight) { - gClipHeight = clipheight; - rct_widget* widget = &window_view_clipping_widgets[WIDX_CLIP_HEIGHT_SLIDER]; - const float clip_height_ratio = (float)gClipHeight / 255; - w->scrolls[0].h_left = (sint16)ceil(clip_height_ratio * (w->scrolls[0].h_right - ((widget->right - widget->left) - 1))); + gClipHeight = clipheight; + rct_widget* widget = &window_view_clipping_widgets[WIDX_CLIP_HEIGHT_SLIDER]; + const float clip_height_ratio = (float)gClipHeight / 255; + w->scrolls[0].h_left = (sint16)ceil(clip_height_ratio * (w->scrolls[0].h_right - ((widget->right - widget->left) - 1))); } void window_view_clipping_open() { - rct_window* window; + rct_window* window; - // Get the main viewport to set the view clipping flag. - rct_window *mainWindow = window_get_main(); + // Get the main viewport to set the view clipping flag. + rct_window *mainWindow = window_get_main(); - // Check if window is already open - if (window_find_by_class(WC_VIEW_CLIPPING) != NULL) { - // If window is already open, toggle the view clipping on/off - if (mainWindow != NULL) { - mainWindow->viewport->flags ^= VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT; - window_invalidate(mainWindow); - } + // Check if window is already open + if (window_find_by_class(WC_VIEW_CLIPPING) != NULL) { + // If window is already open, toggle the view clipping on/off + if (mainWindow != NULL) { + mainWindow->viewport->flags ^= VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT; + window_invalidate(mainWindow); + } - return; - } + return; + } - // Window is not open - create it. - window = window_create(32, 32, WW, WH, &window_view_clipping_events, WC_VIEW_CLIPPING, 0); - window->widgets = window_view_clipping_widgets; - window->enabled_widgets = (1ULL << WIDX_CLOSE) | - (1ULL << WIDX_CLIP_HEIGHT_CHECKBOX) | - (1ULL << WIDX_CLIP_HEIGHT_VALUE) | - (1ULL << WIDX_CLIP_HEIGHT_INCREASE) | - (1ULL << WIDX_CLIP_HEIGHT_DECREASE) | - (1ULL << WIDX_CLIP_HEIGHT_SLIDER); + // Window is not open - create it. + window = window_create(32, 32, WW, WH, &window_view_clipping_events, WC_VIEW_CLIPPING, 0); + window->widgets = window_view_clipping_widgets; + window->enabled_widgets = (1ULL << WIDX_CLOSE) | + (1ULL << WIDX_CLIP_HEIGHT_CHECKBOX) | + (1ULL << WIDX_CLIP_HEIGHT_VALUE) | + (1ULL << WIDX_CLIP_HEIGHT_INCREASE) | + (1ULL << WIDX_CLIP_HEIGHT_DECREASE) | + (1ULL << WIDX_CLIP_HEIGHT_SLIDER); - window_init_scroll_widgets(window); + window_init_scroll_widgets(window); - // Initialise the clip height slider from the current clip height value. - window_view_clipping_set_clipheight(window, gClipHeight); + // Initialise the clip height slider from the current clip height value. + window_view_clipping_set_clipheight(window, gClipHeight); - window_push_others_below(window); + window_push_others_below(window); - // Turn on view clipping when the window is opened. - if (mainWindow != NULL) { - mainWindow->viewport->flags |= VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT; - window_invalidate(mainWindow); - } + // Turn on view clipping when the window is opened. + if (mainWindow != NULL) { + mainWindow->viewport->flags |= VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT; + window_invalidate(mainWindow); + } - window_invalidate(window); + window_invalidate(window); } void window_view_clipping_close() { - // Turn off view clipping when the window is closed. - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) { - mainWindow->viewport->flags &= ~VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT; - window_invalidate(mainWindow); - } + // Turn off view clipping when the window is closed. + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) { + mainWindow->viewport->flags &= ~VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT; + window_invalidate(mainWindow); + } } static void window_view_clipping_close_button(rct_window *w) { - window_view_clipping_close(); + window_view_clipping_close(); } static void window_view_clipping_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - rct_window *mainWindow; + rct_window *mainWindow; - // mouseup appears to be used for buttons, checkboxes - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_CLIP_HEIGHT_CHECKBOX: - // Toggle height clipping. - mainWindow = window_get_main(); - if (mainWindow != NULL) { - mainWindow->viewport->flags ^= VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT; - window_invalidate(mainWindow); - } - window_invalidate(w); - break; - case WIDX_CLIP_HEIGHT_INCREASE: - if (gClipHeight < 255) - window_view_clipping_set_clipheight(w, gClipHeight + 1); - mainWindow = window_get_main(); - if (mainWindow != NULL) - window_invalidate(mainWindow); - break; - case WIDX_CLIP_HEIGHT_DECREASE: - if (gClipHeight > 0) - window_view_clipping_set_clipheight(w, gClipHeight - 1); - mainWindow = window_get_main(); - if (mainWindow != NULL) - window_invalidate(mainWindow); - break; - case WIDX_CLIP_HEIGHT_VALUE: - // Toggle display of the cut height value in RAW vs UNITS - gClipHeightDisplayType = !gClipHeightDisplayType; - window_invalidate(w); - break; - } + // mouseup appears to be used for buttons, checkboxes + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_CLIP_HEIGHT_CHECKBOX: + // Toggle height clipping. + mainWindow = window_get_main(); + if (mainWindow != NULL) { + mainWindow->viewport->flags ^= VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT; + window_invalidate(mainWindow); + } + window_invalidate(w); + break; + case WIDX_CLIP_HEIGHT_INCREASE: + if (gClipHeight < 255) + window_view_clipping_set_clipheight(w, gClipHeight + 1); + mainWindow = window_get_main(); + if (mainWindow != NULL) + window_invalidate(mainWindow); + break; + case WIDX_CLIP_HEIGHT_DECREASE: + if (gClipHeight > 0) + window_view_clipping_set_clipheight(w, gClipHeight - 1); + mainWindow = window_get_main(); + if (mainWindow != NULL) + window_invalidate(mainWindow); + break; + case WIDX_CLIP_HEIGHT_VALUE: + // Toggle display of the cut height value in RAW vs UNITS + gClipHeightDisplayType = !gClipHeightDisplayType; + window_invalidate(w); + break; + } } static void window_view_clipping_update(rct_window *w) { - const rct_widget *const widget = &window_view_clipping_widgets[WIDX_CLIP_HEIGHT_SLIDER]; - const rct_scroll *const scroll = &w->scrolls[0]; - const sint16 scroll_width = widget->right - widget->left - 1; - const uint8 clip_height = (uint8)(((float)scroll->h_left / (scroll->h_right - scroll_width)) * 255); - if (clip_height != gClipHeight) { - gClipHeight = clip_height; + const rct_widget *const widget = &window_view_clipping_widgets[WIDX_CLIP_HEIGHT_SLIDER]; + const rct_scroll *const scroll = &w->scrolls[0]; + const sint16 scroll_width = widget->right - widget->left - 1; + const uint8 clip_height = (uint8)(((float)scroll->h_left / (scroll->h_right - scroll_width)) * 255); + if (clip_height != gClipHeight) { + gClipHeight = clip_height; - // Update the main window accordingly. - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) { - window_invalidate(mainWindow); - } - } - widget_invalidate(w, WIDX_CLIP_HEIGHT_SLIDER); + // Update the main window accordingly. + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) { + window_invalidate(mainWindow); + } + } + widget_invalidate(w, WIDX_CLIP_HEIGHT_SLIDER); } static void window_view_clipping_invalidate(rct_window *w) { - widget_scroll_update_thumbs(w, WIDX_CLIP_HEIGHT_SLIDER); + widget_scroll_update_thumbs(w, WIDX_CLIP_HEIGHT_SLIDER); - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) { - widget_set_checkbox_value(w, WIDX_CLIP_HEIGHT_CHECKBOX, mainWindow->viewport->flags & VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT); - } + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) { + widget_set_checkbox_value(w, WIDX_CLIP_HEIGHT_CHECKBOX, mainWindow->viewport->flags & VIEWPORT_FLAG_PAINT_CLIP_TO_HEIGHT); + } } static void window_view_clipping_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - // Clip height value - sint32 x = w->x + 8; - sint32 y = w->y + w->widgets[WIDX_CLIP_HEIGHT_VALUE].top; - gfx_draw_string_left(dpi, STR_VIEW_CLIPPING_HEIGHT_VALUE, NULL, w->colours[0], x, y); + // Clip height value + sint32 x = w->x + 8; + sint32 y = w->y + w->widgets[WIDX_CLIP_HEIGHT_VALUE].top; + gfx_draw_string_left(dpi, STR_VIEW_CLIPPING_HEIGHT_VALUE, NULL, w->colours[0], x, y); - x = w->x + w->widgets[WIDX_CLIP_HEIGHT_VALUE].left + 1; - y = w->y + w->widgets[WIDX_CLIP_HEIGHT_VALUE].top; + x = w->x + w->widgets[WIDX_CLIP_HEIGHT_VALUE].left + 1; + y = w->y + w->widgets[WIDX_CLIP_HEIGHT_VALUE].top; - fixed16_1dp clipHeightValueInUnits; - fixed32_2dp clipHeightValueInMeters; - fixed16_1dp clipHeightValueInFeet; - sint32 clipHeightRawValue = (sint32)gClipHeight; - switch (gClipHeightDisplayType) { - case DISPLAY_RAW: - default: - gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &clipHeightRawValue, w->colours[0], x, y); //Printing the raw value. - break; + fixed16_1dp clipHeightValueInUnits; + fixed32_2dp clipHeightValueInMeters; + fixed16_1dp clipHeightValueInFeet; + sint32 clipHeightRawValue = (sint32)gClipHeight; + switch (gClipHeightDisplayType) { + case DISPLAY_RAW: + default: + gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &clipHeightRawValue, w->colours[0], x, y); //Printing the raw value. + break; - case DISPLAY_UNITS: - // Print the value in the configured height label type: - if (gConfigGeneral.show_height_as_units == 1) { - // Height label is Units. - clipHeightValueInUnits = (fixed16_1dp)(FIXED_1DP(gClipHeight, 0) / 2 - FIXED_1DP(7, 0)); - gfx_draw_string_left(dpi, STR_UNIT1DP_NO_SUFFIX, &clipHeightValueInUnits, w->colours[0], x, y); // Printing the value in Height Units. - } - else { - // Height label is Real Values. - // Print the value in the configured measurement units. - switch (gConfigGeneral.measurement_format) { - case MEASUREMENT_FORMAT_METRIC: - case MEASUREMENT_FORMAT_SI: - clipHeightValueInMeters = (fixed32_2dp)(FIXED_2DP(gClipHeight, 0) / 2 * 1.5f - FIXED_2DP(10, 50)); - gfx_draw_string_left(dpi, STR_UNIT2DP_SUFFIX_METRES, &clipHeightValueInMeters, w->colours[0], x, y); - break; - case MEASUREMENT_FORMAT_IMPERIAL: - default: - clipHeightValueInFeet = (fixed16_1dp)(FIXED_1DP(gClipHeight, 0) / 2.0f * 5 - FIXED_1DP(35, 0)); - gfx_draw_string_left(dpi, STR_UNIT1DP_SUFFIX_FEET, &clipHeightValueInFeet, w->colours[0], x, y); - break; - } - } - } + case DISPLAY_UNITS: + // Print the value in the configured height label type: + if (gConfigGeneral.show_height_as_units == 1) { + // Height label is Units. + clipHeightValueInUnits = (fixed16_1dp)(FIXED_1DP(gClipHeight, 0) / 2 - FIXED_1DP(7, 0)); + gfx_draw_string_left(dpi, STR_UNIT1DP_NO_SUFFIX, &clipHeightValueInUnits, w->colours[0], x, y); // Printing the value in Height Units. + } + else { + // Height label is Real Values. + // Print the value in the configured measurement units. + switch (gConfigGeneral.measurement_format) { + case MEASUREMENT_FORMAT_METRIC: + case MEASUREMENT_FORMAT_SI: + clipHeightValueInMeters = (fixed32_2dp)(FIXED_2DP(gClipHeight, 0) / 2 * 1.5f - FIXED_2DP(10, 50)); + gfx_draw_string_left(dpi, STR_UNIT2DP_SUFFIX_METRES, &clipHeightValueInMeters, w->colours[0], x, y); + break; + case MEASUREMENT_FORMAT_IMPERIAL: + default: + clipHeightValueInFeet = (fixed16_1dp)(FIXED_1DP(gClipHeight, 0) / 2.0f * 5 - FIXED_1DP(35, 0)); + gfx_draw_string_left(dpi, STR_UNIT1DP_SUFFIX_FEET, &clipHeightValueInFeet, w->colours[0], x, y); + break; + } + } + } } static void window_view_clipping_scrollgetsize(rct_window *w, int scrollIndex, int *width, int *height) { - *width = 1000; + *width = 1000; } diff --git a/src/openrct2/windows/viewport.c b/src/openrct2/windows/viewport.c index 66bdb1f660..c8cafbc90a 100644 --- a/src/openrct2/windows/viewport.c +++ b/src/openrct2/windows/viewport.c @@ -28,27 +28,27 @@ #define INITIAL_HEIGHT 350 enum { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PAGE_BACKGROUND, - WIDX_VIEWPORT, - WIDX_ZOOM_IN, - WIDX_ZOOM_OUT, - WIDX_LOCATE + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PAGE_BACKGROUND, + WIDX_VIEWPORT, + WIDX_ZOOM_IN, + WIDX_ZOOM_OUT, + WIDX_LOCATE }; static rct_widget window_viewport_widgets[] = { - { WWT_FRAME, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 0, 1, 14, STR_VIEWPORT_NO, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 0, 0, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_RESIZE, 1, 0, 0, 14, 0, 0xFFFFFFFF, STR_NONE }, // resize - { WWT_VIEWPORT, 0, 3, 0, 17, 0, 0xFFFFFFFF, STR_NONE }, // viewport + { WWT_FRAME, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 0, 1, 14, STR_VIEWPORT_NO, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 0, 0, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_RESIZE, 1, 0, 0, 14, 0, 0xFFFFFFFF, STR_NONE }, // resize + { WWT_VIEWPORT, 0, 3, 0, 17, 0, 0xFFFFFFFF, STR_NONE }, // viewport - { WWT_FLATBTN, 0, 0, 0, 17, 40, SPR_G2_ZOOM_IN, STR_ZOOM_IN_TIP }, // zoom in - { WWT_FLATBTN, 0, 0, 0, 41, 64, SPR_G2_ZOOM_OUT, STR_ZOOM_OUT_TIP }, // zoom out - { WWT_FLATBTN, 0, 0, 0, 65, 88, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP }, // locate - { WIDGETS_END }, + { WWT_FLATBTN, 0, 0, 0, 17, 40, SPR_G2_ZOOM_IN, STR_ZOOM_IN_TIP }, // zoom in + { WWT_FLATBTN, 0, 0, 0, 41, 64, SPR_G2_ZOOM_OUT, STR_ZOOM_OUT_TIP }, // zoom out + { WWT_FLATBTN, 0, 0, 0, 65, 88, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP }, // locate + { WIDGETS_END }, }; static void window_viewport_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -58,34 +58,34 @@ static void window_viewport_invalidate(rct_window *w); static void window_viewport_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_viewport_events = { - NULL, - window_viewport_mouseup, - window_viewport_resize, - NULL, - NULL, - NULL, - window_viewport_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_viewport_invalidate, - window_viewport_paint, - NULL + NULL, + window_viewport_mouseup, + window_viewport_resize, + NULL, + NULL, + NULL, + window_viewport_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_viewport_invalidate, + window_viewport_paint, + NULL }; static sint32 _viewportNumber = 1; @@ -95,140 +95,140 @@ static sint32 _viewportNumber = 1; */ void window_viewport_open() { - rct_window *w = window_create_auto_pos( - INITIAL_WIDTH, INITIAL_HEIGHT, - &window_viewport_events, - WC_VIEWPORT, - WF_RESIZABLE - ); - w->widgets = window_viewport_widgets; - w->enabled_widgets = - (1 << WIDX_CLOSE) | - (1 << WIDX_ZOOM_IN) | - (1 << WIDX_ZOOM_OUT) | - (1 << WIDX_LOCATE); - w->number = _viewportNumber++; + rct_window *w = window_create_auto_pos( + INITIAL_WIDTH, INITIAL_HEIGHT, + &window_viewport_events, + WC_VIEWPORT, + WF_RESIZABLE + ); + w->widgets = window_viewport_widgets; + w->enabled_widgets = + (1 << WIDX_CLOSE) | + (1 << WIDX_ZOOM_IN) | + (1 << WIDX_ZOOM_OUT) | + (1 << WIDX_LOCATE); + w->number = _viewportNumber++; - // Create viewport - viewport_create(w, w->x, w->y, w->width, w->height, 0, 128 * 32, 128 * 32, 0, 1, -1); - rct_window *mainWindow = window_get_main(); - if (mainWindow != NULL) { - rct_viewport *mainViewport = mainWindow->viewport; - sint32 x = mainViewport->view_x + (mainViewport->view_width / 2); - sint32 y = mainViewport->view_y + (mainViewport->view_height / 2); - w->saved_view_x = x - (w->viewport->view_width / 2); - w->saved_view_y = y - (w->viewport->view_height / 2); - } + // Create viewport + viewport_create(w, w->x, w->y, w->width, w->height, 0, 128 * 32, 128 * 32, 0, 1, -1); + rct_window *mainWindow = window_get_main(); + if (mainWindow != NULL) { + rct_viewport *mainViewport = mainWindow->viewport; + sint32 x = mainViewport->view_x + (mainViewport->view_width / 2); + sint32 y = mainViewport->view_y + (mainViewport->view_height / 2); + w->saved_view_x = x - (w->viewport->view_width / 2); + w->saved_view_y = y - (w->viewport->view_height / 2); + } - w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; + w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON; } static void window_viewport_anchor_border_widgets(rct_window *w) { - w->widgets[WIDX_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; - w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; - w->widgets[WIDX_TITLE].right = w->width - 2; - w->widgets[WIDX_CLOSE].left = w->width - 13; - w->widgets[WIDX_CLOSE].right = w->width - 3; + w->widgets[WIDX_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; + w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; + w->widgets[WIDX_TITLE].right = w->width - 2; + w->widgets[WIDX_CLOSE].left = w->width - 13; + w->widgets[WIDX_CLOSE].right = w->width - 3; } static void window_viewport_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - rct_window *mainWindow; - sint16 x, y; + rct_window *mainWindow; + sint16 x, y; - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_ZOOM_IN: - if (w->viewport != NULL && w->viewport->zoom > 0) { - w->viewport->zoom--; - window_invalidate(w); - } - break; - case WIDX_ZOOM_OUT: - if (w->viewport != NULL && w->viewport->zoom < 3) { - w->viewport->zoom++; - window_invalidate(w); - } - break; - case WIDX_LOCATE: - mainWindow = window_get_main(); - if (mainWindow != NULL) { - get_map_coordinates_from_pos(w->x + (w->width / 2), w->y + (w->height / 2), VIEWPORT_INTERACTION_MASK_NONE, &x, &y, NULL, NULL, NULL); - window_scroll_to_location(mainWindow, x, y, map_element_height(x, y)); - } - break; - } + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_ZOOM_IN: + if (w->viewport != NULL && w->viewport->zoom > 0) { + w->viewport->zoom--; + window_invalidate(w); + } + break; + case WIDX_ZOOM_OUT: + if (w->viewport != NULL && w->viewport->zoom < 3) { + w->viewport->zoom++; + window_invalidate(w); + } + break; + case WIDX_LOCATE: + mainWindow = window_get_main(); + if (mainWindow != NULL) { + get_map_coordinates_from_pos(w->x + (w->width / 2), w->y + (w->height / 2), VIEWPORT_INTERACTION_MASK_NONE, &x, &y, NULL, NULL, NULL); + window_scroll_to_location(mainWindow, x, y, map_element_height(x, y)); + } + break; + } } static void window_viewport_resize(rct_window *w) { - w->flags |= WF_RESIZABLE; - window_set_resize(w, 200, 200, 2000, 2000); + w->flags |= WF_RESIZABLE; + window_set_resize(w, 200, 200, 2000, 2000); } static void window_viewport_update(rct_window *w) { - rct_window *mainWindow; + rct_window *mainWindow; - mainWindow = window_get_main(); - if (mainWindow == NULL) - return; + mainWindow = window_get_main(); + if (mainWindow == NULL) + return; - if (w->viewport->flags != mainWindow->viewport->flags) { - w->viewport->flags = mainWindow->viewport->flags; - window_invalidate(w); - } + if (w->viewport->flags != mainWindow->viewport->flags) { + w->viewport->flags = mainWindow->viewport->flags; + window_invalidate(w); + } - // Not sure how to invalidate part of the viewport that has changed, this will have to do for now - //widget_invalidate(w, WIDX_VIEWPORT); + // Not sure how to invalidate part of the viewport that has changed, this will have to do for now + //widget_invalidate(w, WIDX_VIEWPORT); } static void window_viewport_invalidate(rct_window *w) { - rct_widget *viewportWidget; - rct_viewport *viewport; - sint32 i; + rct_widget *viewportWidget; + rct_viewport *viewport; + sint32 i; - viewportWidget = &window_viewport_widgets[WIDX_VIEWPORT]; - viewport = w->viewport; + viewportWidget = &window_viewport_widgets[WIDX_VIEWPORT]; + viewport = w->viewport; - // Anchor widgets - window_viewport_anchor_border_widgets(w); - viewportWidget->right = w->width - 26; - viewportWidget->bottom = w->height - 3; - for (i = WIDX_ZOOM_IN; i <= WIDX_LOCATE; i++) { - window_viewport_widgets[i].left = w->width - 25; - window_viewport_widgets[i].right = w->width - 2; - } + // Anchor widgets + window_viewport_anchor_border_widgets(w); + viewportWidget->right = w->width - 26; + viewportWidget->bottom = w->height - 3; + for (i = WIDX_ZOOM_IN; i <= WIDX_LOCATE; i++) { + window_viewport_widgets[i].left = w->width - 25; + window_viewport_widgets[i].right = w->width - 2; + } - // Set title - set_format_arg(0, uint32, w->number); + // Set title + set_format_arg(0, uint32, w->number); - // Set disabled widgets - w->disabled_widgets = 0; - if (viewport->zoom == 0) - w->disabled_widgets |= 1 << WIDX_ZOOM_IN; - if (viewport->zoom >= 3) - w->disabled_widgets |= 1 << WIDX_ZOOM_OUT; + // Set disabled widgets + w->disabled_widgets = 0; + if (viewport->zoom == 0) + w->disabled_widgets |= 1 << WIDX_ZOOM_IN; + if (viewport->zoom >= 3) + w->disabled_widgets |= 1 << WIDX_ZOOM_OUT; - viewport->x = w->x + viewportWidget->left; - viewport->y = w->y + viewportWidget->top; - viewport->width = viewportWidget->right - viewportWidget->left; - viewport->height = viewportWidget->bottom - viewportWidget->top; - viewport->view_width = viewport->width << viewport->zoom; - viewport->view_height = viewport->height << viewport->zoom; + viewport->x = w->x + viewportWidget->left; + viewport->y = w->y + viewportWidget->top; + viewport->width = viewportWidget->right - viewportWidget->left; + viewport->height = viewportWidget->bottom - viewportWidget->top; + viewport->view_width = viewport->width << viewport->zoom; + viewport->view_height = viewport->height << viewport->zoom; } static void window_viewport_paint(rct_window *w, rct_drawpixelinfo *dpi) { - window_draw_widgets(w, dpi); + window_draw_widgets(w, dpi); - // Draw viewport - if (w->viewport != NULL) - window_draw_viewport(dpi, w); + // Draw viewport + if (w->viewport != NULL) + window_draw_viewport(dpi, w); } diff --git a/src/openrct2/windows/water.c b/src/openrct2/windows/water.c index 3063f40512..3f29a26ce3 100644 --- a/src/openrct2/windows/water.c +++ b/src/openrct2/windows/water.c @@ -27,24 +27,24 @@ #define MAXIMUM_TOOL_SIZE 64 enum WINDOW_WATER_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE, - WIDX_PREVIEW, - WIDX_DECREMENT, - WIDX_INCREMENT + WIDX_BACKGROUND, + WIDX_TITLE, + WIDX_CLOSE, + WIDX_PREVIEW, + WIDX_DECREMENT, + WIDX_INCREMENT }; validate_global_widx(WC_WATER, WIDX_PREVIEW); static rct_widget window_water_widgets[] = { - { WWT_FRAME, 0, 0, 75, 0, 76, 0xFFFFFFFF, STR_NONE }, // panel / background - { WWT_CAPTION, 0, 1, 74, 1, 14, STR_WATER, STR_WINDOW_TITLE_TIP }, // title bar - { WWT_CLOSEBOX, 0, 63, 73, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_IMGBTN, 0, 16, 59, 17, 48, SPR_LAND_TOOL_SIZE_0, STR_NONE }, // preview box - { WWT_TRNBTN, 2, 17, 32, 18, 33, 0x20000000 | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_WATER_TIP }, // decrement size - { WWT_TRNBTN, 2, 43, 58, 32, 47, 0x20000000 | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_WATER_TIP }, // increment size - { WIDGETS_END }, + { WWT_FRAME, 0, 0, 75, 0, 76, 0xFFFFFFFF, STR_NONE }, // panel / background + { WWT_CAPTION, 0, 1, 74, 1, 14, STR_WATER, STR_WINDOW_TITLE_TIP }, // title bar + { WWT_CLOSEBOX, 0, 63, 73, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button + { WWT_IMGBTN, 0, 16, 59, 17, 48, SPR_LAND_TOOL_SIZE_0, STR_NONE }, // preview box + { WWT_TRNBTN, 2, 17, 32, 18, 33, 0x20000000 | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_WATER_TIP }, // decrement size + { WWT_TRNBTN, 2, 43, 58, 32, 47, 0x20000000 | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_WATER_TIP }, // increment size + { WIDGETS_END }, }; static void window_water_close(rct_window *w); @@ -56,34 +56,34 @@ static void window_water_textinput(rct_window *w, rct_widgetindex widgetIndex, c static void window_water_inputsize(rct_window *w); static rct_window_event_list window_water_events = { - window_water_close, - window_water_mouseup, - NULL, - NULL, - NULL, - NULL, - window_water_update, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_water_textinput, - NULL, - NULL, - NULL, - NULL, - NULL, - window_water_invalidate, - window_water_paint, - NULL + window_water_close, + window_water_mouseup, + NULL, + NULL, + NULL, + NULL, + window_water_update, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + window_water_textinput, + NULL, + NULL, + NULL, + NULL, + NULL, + window_water_invalidate, + window_water_paint, + NULL }; /** @@ -92,28 +92,28 @@ static rct_window_event_list window_water_events = { */ void window_water_open() { - rct_window* window; + rct_window* window; - // Check if window is already open - if (window_find_by_class(WC_WATER) != NULL) - return; + // Check if window is already open + if (window_find_by_class(WC_WATER) != NULL) + return; - window = window_create( - context_get_width() - 76, - 29, - 76, - 77, - &window_water_events, - WC_WATER, - 0 - ); - window->widgets = window_water_widgets; - window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_DECREMENT) | (1 << WIDX_INCREMENT) | (1 << WIDX_PREVIEW); - window_init_scroll_widgets(window); - window_push_others_below(window); + window = window_create( + context_get_width() - 76, + 29, + 76, + 77, + &window_water_events, + WC_WATER, + 0 + ); + window->widgets = window_water_widgets; + window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_DECREMENT) | (1 << WIDX_INCREMENT) | (1 << WIDX_PREVIEW); + window_init_scroll_widgets(window); + window_push_others_below(window); - gWaterToolRaiseCost = MONEY32_UNDEFINED; - gWaterToolLowerCost = MONEY32_UNDEFINED; + gWaterToolRaiseCost = MONEY32_UNDEFINED; + gWaterToolLowerCost = MONEY32_UNDEFINED; } /** @@ -122,9 +122,9 @@ void window_water_open() */ static void window_water_close(rct_window *w) { - // If the tool wasn't changed, turn tool off - if (water_tool_is_active()) - tool_cancel(); + // If the tool wasn't changed, turn tool off + if (water_tool_is_active()) + tool_cancel(); } /** @@ -133,53 +133,53 @@ static void window_water_close(rct_window *w) */ static void window_water_mouseup(rct_window *w, rct_widgetindex widgetIndex) { - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - case WIDX_DECREMENT: - // Decrement land tool size - gLandToolSize = max(MINIMUM_TOOL_SIZE, gLandToolSize-1); + switch (widgetIndex) { + case WIDX_CLOSE: + window_close(w); + break; + case WIDX_DECREMENT: + // Decrement land tool size + gLandToolSize = max(MINIMUM_TOOL_SIZE, gLandToolSize-1); - // Invalidate the window - window_invalidate(w); - break; - case WIDX_INCREMENT: - // Increment land tool size - gLandToolSize = min(MAXIMUM_TOOL_SIZE, gLandToolSize+1); + // Invalidate the window + window_invalidate(w); + break; + case WIDX_INCREMENT: + // Increment land tool size + gLandToolSize = min(MAXIMUM_TOOL_SIZE, gLandToolSize+1); - // Invalidate the window - window_invalidate(w); - break; - case WIDX_PREVIEW: - window_water_inputsize(w); - break; - } + // Invalidate the window + window_invalidate(w); + break; + case WIDX_PREVIEW: + window_water_inputsize(w); + break; + } } static void window_water_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text) { - sint32 size; - char* end; + sint32 size; + char* end; - if (widgetIndex != WIDX_PREVIEW || text == NULL) - return; + if (widgetIndex != WIDX_PREVIEW || text == NULL) + return; - size = strtol(text, &end, 10); - if (*end == '\0') { - size = max(MINIMUM_TOOL_SIZE,size); - size = min(MAXIMUM_TOOL_SIZE,size); - gLandToolSize = size; + size = strtol(text, &end, 10); + if (*end == '\0') { + size = max(MINIMUM_TOOL_SIZE,size); + size = min(MAXIMUM_TOOL_SIZE,size); + gLandToolSize = size; - window_invalidate(w); - } + window_invalidate(w); + } } static void window_water_inputsize(rct_window *w) { - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; - window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); + TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; + TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; + window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); } /** @@ -188,9 +188,9 @@ static void window_water_inputsize(rct_window *w) */ static void window_water_update(rct_window *w) { - // Close window if another tool is open - if (!water_tool_is_active()) - window_close(w); + // Close window if another tool is open + if (!water_tool_is_active()) + window_close(w); } /** @@ -199,15 +199,15 @@ static void window_water_update(rct_window *w) */ static void window_water_invalidate(rct_window *w) { - // Set the preview image button to be pressed down - w->pressed_widgets |= (1 << WIDX_PREVIEW); + // Set the preview image button to be pressed down + w->pressed_widgets |= (1 << WIDX_PREVIEW); - // Update the preview image - //window_water_widgets[WIDX_PREVIEW].image = SPR_LAND_TOOL_SIZE_0 + gLandToolSize; + // Update the preview image + //window_water_widgets[WIDX_PREVIEW].image = SPR_LAND_TOOL_SIZE_0 + gLandToolSize; - window_water_widgets[WIDX_PREVIEW].image = gLandToolSize <= 7 ? - SPR_LAND_TOOL_SIZE_0 + gLandToolSize : - 0xFFFFFFFF; + window_water_widgets[WIDX_PREVIEW].image = gLandToolSize <= 7 ? + SPR_LAND_TOOL_SIZE_0 + gLandToolSize : + 0xFFFFFFFF; } @@ -217,27 +217,27 @@ static void window_water_invalidate(rct_window *w) */ static void window_water_paint(rct_window *w, rct_drawpixelinfo *dpi) { - sint32 x, y; + sint32 x, y; - x = w->x + (window_water_widgets[WIDX_PREVIEW].left + window_water_widgets[WIDX_PREVIEW].right) / 2; - y = w->y + (window_water_widgets[WIDX_PREVIEW].top + window_water_widgets[WIDX_PREVIEW].bottom) / 2; + x = w->x + (window_water_widgets[WIDX_PREVIEW].left + window_water_widgets[WIDX_PREVIEW].right) / 2; + y = w->y + (window_water_widgets[WIDX_PREVIEW].top + window_water_widgets[WIDX_PREVIEW].bottom) / 2; - window_draw_widgets(w, dpi); - // Draw number for tool sizes bigger than 7 - if (gLandToolSize > 7) { - gfx_draw_string_centred(dpi, STR_LAND_TOOL_SIZE_VALUE, x, y - 2, COLOUR_BLACK, &gLandToolSize); - } + window_draw_widgets(w, dpi); + // Draw number for tool sizes bigger than 7 + if (gLandToolSize > 7) { + gfx_draw_string_centred(dpi, STR_LAND_TOOL_SIZE_VALUE, x, y - 2, COLOUR_BLACK, &gLandToolSize); + } - // Draw raise cost amount - x = (window_water_widgets[WIDX_PREVIEW].left + window_water_widgets[WIDX_PREVIEW].right) / 2 + w->x; - y = window_water_widgets[WIDX_PREVIEW].bottom + w->y + 5; - if (gWaterToolRaiseCost != MONEY32_UNDEFINED && gWaterToolRaiseCost != 0) - gfx_draw_string_centred(dpi, STR_RAISE_COST_AMOUNT, x, y, COLOUR_BLACK, &gWaterToolRaiseCost); - y += 10; + // Draw raise cost amount + x = (window_water_widgets[WIDX_PREVIEW].left + window_water_widgets[WIDX_PREVIEW].right) / 2 + w->x; + y = window_water_widgets[WIDX_PREVIEW].bottom + w->y + 5; + if (gWaterToolRaiseCost != MONEY32_UNDEFINED && gWaterToolRaiseCost != 0) + gfx_draw_string_centred(dpi, STR_RAISE_COST_AMOUNT, x, y, COLOUR_BLACK, &gWaterToolRaiseCost); + y += 10; - // Draw lower cost amount - if (gWaterToolLowerCost != MONEY32_UNDEFINED && gWaterToolLowerCost != 0) - gfx_draw_string_centred(dpi, STR_LOWER_COST_AMOUNT, x, y, COLOUR_BLACK, &gWaterToolLowerCost); + // Draw lower cost amount + if (gWaterToolLowerCost != MONEY32_UNDEFINED && gWaterToolLowerCost != 0) + gfx_draw_string_centred(dpi, STR_LOWER_COST_AMOUNT, x, y, COLOUR_BLACK, &gWaterToolLowerCost); } diff --git a/src/openrct2/world/banner.cpp b/src/openrct2/world/banner.cpp index 23b550e58d..93868145fa 100644 --- a/src/openrct2/world/banner.cpp +++ b/src/openrct2/world/banner.cpp @@ -135,7 +135,7 @@ static money32 BannerSetColour(sint16 x, sint16 y, uint8 baseHeight, uint8 direc { return MONEY32_UNDEFINED; } - + if (flags & GAME_COMMAND_FLAG_APPLY) { @@ -425,7 +425,7 @@ static uint8 BannerGetNewIndex() { return BANNER_NULL; } -extern "C" +extern "C" { /** * diff --git a/src/openrct2/world/banner.h b/src/openrct2/world/banner.h index 77110e229b..bd3780239e 100644 --- a/src/openrct2/world/banner.h +++ b/src/openrct2/world/banner.h @@ -25,22 +25,22 @@ #pragma pack(push, 1) typedef struct rct_banner { - uint8 type; - uint8 flags; // 0x01 bit 0 is no entry - rct_string_id string_idx; // 0x02 - uint8 colour; // 0x04 - uint8 text_colour; // 0x05 - uint8 x; // 0x06 - uint8 y; // 0x07 + uint8 type; + uint8 flags; // 0x01 bit 0 is no entry + rct_string_id string_idx; // 0x02 + uint8 colour; // 0x04 + uint8 text_colour; // 0x05 + uint8 x; // 0x06 + uint8 y; // 0x07 } rct_banner; assert_struct_size(rct_banner, 8); #pragma pack(pop) enum{ - BANNER_FLAG_NO_ENTRY = (1 << 0), - BANNER_FLAG_IS_LARGE_SCENERY = (1 << 1), - BANNER_FLAG_LINKED_TO_RIDE = (1 << 2), - BANNER_FLAG_IS_WALL = (1 << 3) + BANNER_FLAG_NO_ENTRY = (1 << 0), + BANNER_FLAG_IS_LARGE_SCENERY = (1 << 1), + BANNER_FLAG_LINKED_TO_RIDE = (1 << 2), + BANNER_FLAG_IS_WALL = (1 << 3) }; extern rct_banner gBanners[MAX_BANNERS]; diff --git a/src/openrct2/world/entrance.cpp b/src/openrct2/world/entrance.cpp index e2ee06afe4..45d368327b 100644 --- a/src/openrct2/world/entrance.cpp +++ b/src/openrct2/world/entrance.cpp @@ -38,9 +38,9 @@ rct_xyzd16 gParkEntrances[MAX_PARK_ENTRANCES]; rct_xyzd16 gRideEntranceExitGhostPosition; uint8 gRideEntranceExitGhostStationIndex; -static money32 ParkEntrancePlace(sint32 flags, sint16 x, sint16 y, uint8 z, uint8 direction) +static money32 ParkEntrancePlace(sint32 flags, sint16 x, sint16 y, uint8 z, uint8 direction) { - if (!(gScreenFlags & SCREEN_FLAGS_EDITOR) && !gCheatsSandboxMode) + if (!(gScreenFlags & SCREEN_FLAGS_EDITOR) && !gCheatsSandboxMode) { return MONEY32_UNDEFINED; } @@ -51,34 +51,34 @@ static money32 ParkEntrancePlace(sint32 flags, sint16 x, sint16 y, uint8 z, uint gCommandPosition.y = y; gCommandPosition.z = z * 16; - if (!map_check_free_elements_and_reorganise(3)) + if (!map_check_free_elements_and_reorganise(3)) { return MONEY32_UNDEFINED; } - if (x <= 32 || y <= 32 || x >= (gMapSizeUnits - 32) || y >= (gMapSizeUnits - 32)) + if (x <= 32 || y <= 32 || x >= (gMapSizeUnits - 32) || y >= (gMapSizeUnits - 32)) { gGameCommandErrorText = STR_TOO_CLOSE_TO_EDGE_OF_MAP; return MONEY32_UNDEFINED; } sint8 entranceNum = -1; - for (uint8 i = 0; i < MAX_PARK_ENTRANCES; ++i) + for (uint8 i = 0; i < MAX_PARK_ENTRANCES; ++i) { - if (gParkEntrances[i].x == MAP_LOCATION_NULL) + if (gParkEntrances[i].x == MAP_LOCATION_NULL) { entranceNum = i; break; } } - if (entranceNum == -1) + if (entranceNum == -1) { gGameCommandErrorText = STR_ERR_TOO_MANY_PARK_ENTRANCES; return MONEY32_UNDEFINED; } - if (flags & GAME_COMMAND_FLAG_APPLY) + if (flags & GAME_COMMAND_FLAG_APPLY) { gParkEntrances[entranceNum].x = x; gParkEntrances[entranceNum].y = y; @@ -89,22 +89,22 @@ static money32 ParkEntrancePlace(sint32 flags, sint16 x, sint16 y, uint8 z, uint sint8 zLow = z * 2; sint8 zHigh = zLow + 12; - for (uint8 index = 0; index < 3; index++) + for (uint8 index = 0; index < 3; index++) { if (index == 1) { x += TileDirectionDelta[(direction - 1) & 0x3].x; y += TileDirectionDelta[(direction - 1) & 0x3].y; } - else if (index == 2) + else if (index == 2) { x += TileDirectionDelta[(direction + 1) & 0x3].x * 2; y += TileDirectionDelta[(direction + 1) & 0x3].y * 2; } - if (!gCheatsDisableClearanceChecks) + if (!gCheatsDisableClearanceChecks) { - if (!map_can_construct_at(x, y, zLow, zHigh, 0xF)) + if (!map_can_construct_at(x, y, zLow, zHigh, 0xF)) { return MONEY32_UNDEFINED; } @@ -117,12 +117,12 @@ static money32 ParkEntrancePlace(sint32 flags, sint16 x, sint16 y, uint8 z, uint return MONEY32_UNDEFINED; } - if (!(flags & GAME_COMMAND_FLAG_APPLY)) + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { continue; } - if (!(flags & GAME_COMMAND_FLAG_GHOST)) + if (!(flags & GAME_COMMAND_FLAG_GHOST)) { rct_map_element* surfaceElement = map_get_surface_element_at(x / 32, y / 32); surfaceElement->properties.surface.ownership = 0; @@ -132,7 +132,7 @@ static money32 ParkEntrancePlace(sint32 flags, sint16 x, sint16 y, uint8 z, uint assert(newElement != NULL); newElement->clearance_height = zHigh; - if (flags & GAME_COMMAND_FLAG_GHOST) + if (flags & GAME_COMMAND_FLAG_GHOST) { newElement->flags |= MAP_ELEMENT_FLAG_GHOST; } @@ -143,7 +143,7 @@ static money32 ParkEntrancePlace(sint32 flags, sint16 x, sint16 y, uint8 z, uint newElement->properties.entrance.type = ENTRANCE_TYPE_PARK_ENTRANCE; newElement->properties.entrance.path_type = gFootpathSelectedId; - if (!(flags & GAME_COMMAND_FLAG_GHOST)) + if (!(flags & GAME_COMMAND_FLAG_GHOST)) { footpath_connect_edges(x, y, newElement, 1); } @@ -152,7 +152,7 @@ static money32 ParkEntrancePlace(sint32 flags, sint16 x, sint16 y, uint8 z, uint map_invalidate_tile(x, y, newElement->base_height * 8, newElement->clearance_height * 8); - if (index == 0) + if (index == 0) { map_animation_create(MAP_ANIMATION_TYPE_PARK_ENTRANCE, x, y, zLow); } @@ -179,7 +179,7 @@ static money32 ParkEntranceRemove(sint16 x, sint16 y, uint8 z, uint8 flags) { sint32 entranceIndex, direction; - if (!(gScreenFlags & SCREEN_FLAGS_EDITOR) && !gCheatsSandboxMode) + if (!(gScreenFlags & SCREEN_FLAGS_EDITOR) && !gCheatsSandboxMode) { return MONEY32_UNDEFINED; } @@ -189,13 +189,13 @@ static money32 ParkEntranceRemove(sint16 x, sint16 y, uint8 z, uint8 flags) gCommandPosition.y = y; gCommandPosition.z = z * 16; - if (!(flags & GAME_COMMAND_FLAG_APPLY)) + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { return 0; } entranceIndex = park_entrance_get_index(x, y, z * 16); - if (entranceIndex == -1) + if (entranceIndex == -1) { return 0; } @@ -223,13 +223,13 @@ static money32 ParkEntranceRemove(sint16 x, sint16 y, uint8 z, uint8 flags) return 0; } -static money32 RideEntranceExitPlace(sint16 x, - sint16 y, - sint16 z, - uint8 direction, - uint8 flags, - uint8 rideIndex, - uint8 stationNum, +static money32 RideEntranceExitPlace(sint16 x, + sint16 y, + sint16 z, + uint8 direction, + uint8 flags, + uint8 rideIndex, + uint8 stationNum, bool isExit) { // Remember when in unknown station num mode rideIndex is unknown and z is set @@ -239,7 +239,7 @@ static money32 RideEntranceExitPlace(sint16 x, gCommandPosition.x = x; gCommandPosition.y = y; - if (!map_check_free_elements_and_reorganise(1)) + if (!map_check_free_elements_and_reorganise(1)) { return MONEY32_UNDEFINED; } @@ -250,7 +250,7 @@ static money32 RideEntranceExitPlace(sint16 x, return MONEY32_UNDEFINED; } - if (stationNum == 0xFF) + if (stationNum == 0xFF) { z *= 16; if (flags & GAME_COMMAND_FLAG_APPLY) @@ -265,13 +265,13 @@ static money32 RideEntranceExitPlace(sint16 x, sint16 clear_z = z / 8 + (isExit ? 5 : 7); - if (!gCheatsDisableClearanceChecks && + if (!gCheatsDisableClearanceChecks && !map_can_construct_with_clear_at(x, y, z / 8, clear_z, &map_place_non_scenery_clear_func, 0xF, flags, &cost)) { return MONEY32_UNDEFINED; } - if (gMapGroundFlags & ELEMENT_IS_UNDERWATER) + if (gMapGroundFlags & ELEMENT_IS_UNDERWATER) { gGameCommandErrorText = STR_RIDE_CANT_BUILD_THIS_UNDERWATER; return MONEY32_UNDEFINED; @@ -331,7 +331,7 @@ static money32 RideEntranceExitPlace(sint16 x, requiresRemove = true; } } - else if (ride->entrances[stationNum] != 0xFFFF) + else if (ride->entrances[stationNum] != 0xFFFF) { if (flags & GAME_COMMAND_FLAG_GHOST) { @@ -380,7 +380,7 @@ static money32 RideEntranceExitPlace(sint16 x, sint8 clear_z = (z / 8) + (isExit ? 5 : 7); - if (!gCheatsDisableClearanceChecks && + if (!gCheatsDisableClearanceChecks && !map_can_construct_with_clear_at(x, y, z / 8, clear_z, &map_place_non_scenery_clear_func, 0xF, flags, &cost)) { return MONEY32_UNDEFINED; @@ -467,8 +467,8 @@ static money32 RideEntranceExitRemove(sint16 x, sint16 y, uint8 rideIndex, uint8 if (!(flags & GAME_COMMAND_FLAG_GHOST)) { - if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED) && - game_is_paused() && + if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED) && + game_is_paused() && !gCheatsBuildInPauseMode) { gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; @@ -559,10 +559,10 @@ static money32 RideEntranceExitPlaceGhost(uint8 rideIndex, sint16 x, sint16 y, u { return game_do_command( x, - (GAME_COMMAND_FLAG_APPLY | - GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | - GAME_COMMAND_FLAG_5 | - GAME_COMMAND_FLAG_GHOST) | + (GAME_COMMAND_FLAG_APPLY | + GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | + GAME_COMMAND_FLAG_5 | + GAME_COMMAND_FLAG_GHOST) | (direction << 8), y, rideIndex | (placeType << 8), @@ -578,13 +578,13 @@ extern "C" * * rct2: 0x006666E7 */ - void game_command_place_park_entrance(sint32* eax, - sint32* ebx, - sint32* ecx, - sint32* edx, - sint32* esi, - sint32* edi, - sint32* ebp) + void game_command_place_park_entrance(sint32* eax, + sint32* ebx, + sint32* ecx, + sint32* edx, + sint32* esi, + sint32* edi, + sint32* ebp) { *ebx = ParkEntrancePlace( *ebx & 0xFF, @@ -597,13 +597,13 @@ extern "C" /** * * rct2: 0x00666A63 - */ - void game_command_remove_park_entrance(sint32 *eax, - sint32 *ebx, - sint32 *ecx, - sint32 *edx, - sint32 *esi, - sint32 *edi, + */ + void game_command_remove_park_entrance(sint32 *eax, + sint32 *ebx, + sint32 *ecx, + sint32 *edx, + sint32 *esi, + sint32 *edi, sint32 *ebp) { *ebx = ParkEntranceRemove( @@ -619,7 +619,7 @@ extern "C" */ void park_entrance_remove_ghost() { - if (gParkEntranceGhostExists) + if (gParkEntranceGhostExists) { gParkEntranceGhostExists = false; game_do_command( @@ -645,10 +645,10 @@ extern "C" park_entrance_remove_ghost(); result = game_do_command( x, - GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | - GAME_COMMAND_FLAG_5 | - GAME_COMMAND_FLAG_GHOST | - GAME_COMMAND_FLAG_APPLY | + GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | + GAME_COMMAND_FLAG_5 | + GAME_COMMAND_FLAG_GHOST | + GAME_COMMAND_FLAG_APPLY | (direction << 8), y, z, @@ -657,7 +657,7 @@ extern "C" 0 ); - if (result != MONEY32_UNDEFINED) + if (result != MONEY32_UNDEFINED) { gParkEntranceGhostPosition.x = x; gParkEntranceGhostPosition.y = y; @@ -668,16 +668,16 @@ extern "C" return result; } - + sint32 park_entrance_get_index(sint32 x, sint32 y, sint32 z) { sint32 i; - for (i = 0; i < MAX_PARK_ENTRANCES; i++) + for (i = 0; i < MAX_PARK_ENTRANCES; i++) { if (x == gParkEntrances[i].x && y == gParkEntrances[i].y && - z == gParkEntrances[i].z) + z == gParkEntrances[i].z) { return i; } @@ -688,21 +688,21 @@ extern "C" void reset_park_entrance() { - for (sint32 i = 0; i < MAX_PARK_ENTRANCES; i++) + for (sint32 i = 0; i < MAX_PARK_ENTRANCES; i++) { gParkEntrances[i].x = MAP_LOCATION_NULL; } } - + void ride_entrance_exit_place_provisional_ghost() { if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT) { - RideEntranceExitPlaceGhost(_currentRideIndex, - gRideEntranceExitGhostPosition.x, - gRideEntranceExitGhostPosition.y, - gRideEntranceExitGhostPosition.direction, - gRideEntranceExitPlaceType, + RideEntranceExitPlaceGhost(_currentRideIndex, + gRideEntranceExitGhostPosition.x, + gRideEntranceExitGhostPosition.y, + gRideEntranceExitGhostPosition.direction, + gRideEntranceExitPlaceType, gRideEntranceExitGhostStationIndex); } } @@ -727,17 +727,17 @@ extern "C" * * rct2: 0x006CA28C */ - money32 ride_entrance_exit_place_ghost(sint32 rideIndex, - sint32 x, - sint32 y, - sint32 direction, - sint32 placeType, + money32 ride_entrance_exit_place_ghost(sint32 rideIndex, + sint32 x, + sint32 y, + sint32 direction, + sint32 placeType, sint32 stationNum) { ride_construction_remove_ghosts(); money32 result = RideEntranceExitPlaceGhost(rideIndex, x, y, direction, placeType, stationNum); - - if (result != MONEY32_UNDEFINED) + + if (result != MONEY32_UNDEFINED) { _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT; gRideEntranceExitGhostPosition.x = x; @@ -823,7 +823,7 @@ extern "C" return; } while (!map_element_is_last_for_tile(mapElement++)); } - + /** * Removes the hedge walls for an entrance placement. * rct2: 0x00666CBE diff --git a/src/openrct2/world/entrance.h b/src/openrct2/world/entrance.h index aceca0676f..551605591a 100644 --- a/src/openrct2/world/entrance.h +++ b/src/openrct2/world/entrance.h @@ -21,10 +21,10 @@ #pragma pack(push, 1) typedef struct rct_entrance_type { - rct_string_id string_idx; // 0x00 - uint32 image_id; // 0x02 - uint8 scrolling_mode; // 0x06 - uint8 text_height; // 0x07 + rct_string_id string_idx; // 0x00 + uint32 image_id; // 0x02 + uint8 scrolling_mode; // 0x06 + uint8 text_height; // 0x07 } rct_entrance_type; assert_struct_size(rct_entrance_type, 8); #pragma pack(pop) diff --git a/src/openrct2/world/footpath.c b/src/openrct2/world/footpath.c index d777631911..5d25c5a483 100644 --- a/src/openrct2/world/footpath.c +++ b/src/openrct2/world/footpath.c @@ -46,49 +46,49 @@ static uint8 _footpathQueueChain[64]; /** rct2: 0x00981D6C, 0x00981D6E */ const rct_xy16 word_981D6C[4] = { - { -1, 0 }, - { 0, 1 }, - { 1, 0 }, - { 0, -1 } + { -1, 0 }, + { 0, 1 }, + { 1, 0 }, + { 0, -1 } }; // rct2: 0x0097B974 static const uint16 EntranceDirections[] = { - (4 ), 0, 0, 0, 0, 0, 0, 0, // ENTRANCE_TYPE_RIDE_ENTRANCE, - (4 ), 0, 0, 0, 0, 0, 0, 0, // ENTRANCE_TYPE_RIDE_EXIT, - (4 | 1), 0, 0, 0, 0, 0, 0, 0, // ENTRANCE_TYPE_PARK_ENTRANCE + (4 ), 0, 0, 0, 0, 0, 0, 0, // ENTRANCE_TYPE_RIDE_ENTRANCE, + (4 ), 0, 0, 0, 0, 0, 0, 0, // ENTRANCE_TYPE_RIDE_EXIT, + (4 | 1), 0, 0, 0, 0, 0, 0, 0, // ENTRANCE_TYPE_PARK_ENTRANCE }; /** rct2: 0x0098D7F0 */ static const uint8 connected_path_count[] = { - 0, // 0b0000 - 1, // 0b0001 - 1, // 0b0010 - 2, // 0b0011 - 1, // 0b0100 - 2, // 0b0101 - 2, // 0b0110 - 3, // 0b0111 - 1, // 0b1000 - 2, // 0b1001 - 2, // 0b1010 - 3, // 0b1011 - 2, // 0b1100 - 3, // 0b1101 - 3, // 0b1110 - 4, // 0b1111 + 0, // 0b0000 + 1, // 0b0001 + 1, // 0b0010 + 2, // 0b0011 + 1, // 0b0100 + 2, // 0b0101 + 2, // 0b0110 + 3, // 0b0111 + 1, // 0b1000 + 2, // 0b1001 + 2, // 0b1010 + 3, // 0b1011 + 2, // 0b1100 + 3, // 0b1101 + 3, // 0b1110 + 4, // 0b1111 }; sint32 entrance_get_directions(rct_map_element *mapElement) { - uint8 entranceType = mapElement->properties.entrance.type; - uint8 sequence = mapElement->properties.entrance.index & 0x0F; - return EntranceDirections[(entranceType * 8) + sequence]; + uint8 entranceType = mapElement->properties.entrance.type; + uint8 sequence = mapElement->properties.entrance.index & 0x0F; + return EntranceDirections[(entranceType * 8) + sequence]; } static bool entrance_has_direction(rct_map_element *mapElement, sint32 direction) { - return entrance_get_directions(mapElement) & (1 << direction); + return entrance_get_directions(mapElement) & (1 << direction); } /** @@ -97,302 +97,302 @@ static bool entrance_has_direction(rct_map_element *mapElement, sint32 direction */ static void automatically_set_peep_spawn(sint32 x, sint32 y, sint32 z) { - sint32 direction = 0; - if (x != 32) { - direction++; - if (y != gMapSizeUnits - 32) { - direction++; - if (x != gMapSizeUnits - 32) { - direction++; - if (y != 32) - return; - } - } - } + sint32 direction = 0; + if (x != 32) { + direction++; + if (y != gMapSizeUnits - 32) { + direction++; + if (x != gMapSizeUnits - 32) { + direction++; + if (y != 32) + return; + } + } + } - rct2_peep_spawn *peepSpawn = &gPeepSpawns[0]; - peepSpawn->x = x + (word_981D6C[direction].x * 15) + 16; - peepSpawn->y = y + (word_981D6C[direction].y * 15) + 16; - peepSpawn->direction = direction; - peepSpawn->z = z; + rct2_peep_spawn *peepSpawn = &gPeepSpawns[0]; + peepSpawn->x = x + (word_981D6C[direction].x * 15) + 16; + peepSpawn->y = y + (word_981D6C[direction].y * 15) + 16; + peepSpawn->direction = direction; + peepSpawn->z = z; } static rct_map_element *map_get_footpath_element(sint32 x, sint32 y, sint32 z) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = map_get_first_element_at(x, y); - do { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH && mapElement->base_height == z) - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + mapElement = map_get_first_element_at(x, y); + do { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH && mapElement->base_height == z) + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } static rct_map_element *map_get_footpath_element_slope(sint32 x, sint32 y, sint32 z, sint32 slope) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = map_get_first_element_at(x, y); - do { - if ( - map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH && - mapElement->base_height == z && - (mapElement->properties.path.type & 7) == slope - ) { - return mapElement; - } - } while (!map_element_is_last_for_tile(mapElement++)); + mapElement = map_get_first_element_at(x, y); + do { + if ( + map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH && + mapElement->base_height == z && + (mapElement->properties.path.type & 7) == slope + ) { + return mapElement; + } + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } static void loc_6A6620(sint32 flags, sint32 x, sint32 y, rct_map_element *mapElement) { - if ((mapElement->properties.path.type & 4) && !(flags & GAME_COMMAND_FLAG_GHOST)) { - sint32 direction = mapElement->properties.path.type & 3; - sint32 z = mapElement->base_height; - wall_remove_intersecting_walls(x, y, z, z + 6, direction ^ 2); - wall_remove_intersecting_walls(x, y, z, z + 6, direction); - mapElement = map_get_footpath_element(x / 32, y / 32, z); - } + if ((mapElement->properties.path.type & 4) && !(flags & GAME_COMMAND_FLAG_GHOST)) { + sint32 direction = mapElement->properties.path.type & 3; + sint32 z = mapElement->base_height; + wall_remove_intersecting_walls(x, y, z, z + 6, direction ^ 2); + wall_remove_intersecting_walls(x, y, z, z + 6, direction); + mapElement = map_get_footpath_element(x / 32, y / 32, z); + } - if (!(flags & GAME_COMMAND_FLAG_7)) - footpath_connect_edges(x, y, mapElement, flags); + if (!(flags & GAME_COMMAND_FLAG_7)) + footpath_connect_edges(x, y, mapElement, flags); - footpath_update_queue_chains(); - map_invalidate_tile_full(x, y); + footpath_update_queue_chains(); + map_invalidate_tile_full(x, y); } /** rct2: 0x0098D7EC */ static const uint8 byte_98D7EC[] = { - 207, 159, 63, 111 + 207, 159, 63, 111 }; static money32 footpath_element_insert(sint32 type, sint32 x, sint32 y, sint32 z, sint32 slope, sint32 flags, uint8 pathItemType) { - rct_map_element *mapElement; - sint32 bl, zHigh; + rct_map_element *mapElement; + sint32 bl, zHigh; - if (!map_check_free_elements_and_reorganise(1)) - return MONEY32_UNDEFINED; + if (!map_check_free_elements_and_reorganise(1)) + return MONEY32_UNDEFINED; - if ((flags & GAME_COMMAND_FLAG_APPLY) && !(flags & (GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_GHOST))) - footpath_remove_litter(x, y, gCommandPosition.z); + if ((flags & GAME_COMMAND_FLAG_APPLY) && !(flags & (GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_GHOST))) + footpath_remove_litter(x, y, gCommandPosition.z); - // loc_6A649D: - gFootpathPrice += MONEY(12, 00); + // loc_6A649D: + gFootpathPrice += MONEY(12, 00); - bl = 15; - zHigh = z + 4; - if (slope & 4) { - bl = byte_98D7EC[slope & 3]; - zHigh += 2; - } + bl = 15; + zHigh = z + 4; + if (slope & 4) { + bl = byte_98D7EC[slope & 3]; + zHigh += 2; + } - if (!gCheatsDisableClearanceChecks && !map_can_construct_with_clear_at(x, y, z, zHigh, &map_place_non_scenery_clear_func, bl, flags, &gFootpathPrice)) - return MONEY32_UNDEFINED; + if (!gCheatsDisableClearanceChecks && !map_can_construct_with_clear_at(x, y, z, zHigh, &map_place_non_scenery_clear_func, bl, flags, &gFootpathPrice)) + return MONEY32_UNDEFINED; - gFootpathGroundFlags = gMapGroundFlags; - if (!gCheatsDisableClearanceChecks && (gMapGroundFlags & ELEMENT_IS_UNDERWATER)) { - gGameCommandErrorText = STR_CANT_BUILD_THIS_UNDERWATER; - return MONEY32_UNDEFINED; - } + gFootpathGroundFlags = gMapGroundFlags; + if (!gCheatsDisableClearanceChecks && (gMapGroundFlags & ELEMENT_IS_UNDERWATER)) { + gGameCommandErrorText = STR_CANT_BUILD_THIS_UNDERWATER; + return MONEY32_UNDEFINED; + } - mapElement = map_get_surface_element_at((x / 32), (y / 32)); + mapElement = map_get_surface_element_at((x / 32), (y / 32)); - sint32 supportHeight = z - mapElement->base_height; - gFootpathPrice += supportHeight < 0 ? MONEY(20, 00) : (supportHeight / 2) * MONEY(5, 00); + sint32 supportHeight = z - mapElement->base_height; + gFootpathPrice += supportHeight < 0 ? MONEY(20, 00) : (supportHeight / 2) * MONEY(5, 00); - if (flags & GAME_COMMAND_FLAG_APPLY) { - mapElement = map_element_insert(x / 32, y / 32, z, 0x0F); - assert(mapElement != NULL); - mapElement->type = MAP_ELEMENT_TYPE_PATH; - mapElement->clearance_height = z + 4 + ((slope & 4) ? 2 : 0); - mapElement->properties.path.type = (type << 4) | (slope & 7); - mapElement->type |= type >> 7; - mapElement->properties.path.additions = pathItemType; - mapElement->properties.path.addition_status = 255; - mapElement->flags &= ~MAP_ELEMENT_FLAG_BROKEN; - if (flags & GAME_COMMAND_FLAG_GHOST) - mapElement->flags |= MAP_ELEMENT_FLAG_GHOST; + if (flags & GAME_COMMAND_FLAG_APPLY) { + mapElement = map_element_insert(x / 32, y / 32, z, 0x0F); + assert(mapElement != NULL); + mapElement->type = MAP_ELEMENT_TYPE_PATH; + mapElement->clearance_height = z + 4 + ((slope & 4) ? 2 : 0); + mapElement->properties.path.type = (type << 4) | (slope & 7); + mapElement->type |= type >> 7; + mapElement->properties.path.additions = pathItemType; + mapElement->properties.path.addition_status = 255; + mapElement->flags &= ~MAP_ELEMENT_FLAG_BROKEN; + if (flags & GAME_COMMAND_FLAG_GHOST) + mapElement->flags |= MAP_ELEMENT_FLAG_GHOST; - footpath_queue_chain_reset(); + footpath_queue_chain_reset(); - if (!(flags & GAME_COMMAND_FLAG_7)) - footpath_remove_edges_at(x, y, mapElement); + if (!(flags & GAME_COMMAND_FLAG_7)) + footpath_remove_edges_at(x, y, mapElement); - if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !(flags & GAME_COMMAND_FLAG_GHOST)) - automatically_set_peep_spawn(x, y, mapElement->base_height / 2); + if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !(flags & GAME_COMMAND_FLAG_GHOST)) + automatically_set_peep_spawn(x, y, mapElement->base_height / 2); - loc_6A6620(flags, x, y, mapElement); - } - return gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : gFootpathPrice; + loc_6A6620(flags, x, y, mapElement); + } + return gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : gFootpathPrice; } static money32 footpath_element_update(sint32 x, sint32 y, rct_map_element *mapElement, sint32 type, sint32 flags, uint8 pathItemType) { - if ((mapElement->properties.path.type >> 4) != (type & 0x0F) || (mapElement->type & 1) != (type >> 7)) { - gFootpathPrice += MONEY(6, 00); - } else if (pathItemType != 0) { - if ( - !(flags & GAME_COMMAND_FLAG_GHOST) && - footpath_element_get_path_scenery(mapElement) == pathItemType && - !(mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) - ) { - if (flags & GAME_COMMAND_FLAG_4) - return MONEY32_UNDEFINED; + if ((mapElement->properties.path.type >> 4) != (type & 0x0F) || (mapElement->type & 1) != (type >> 7)) { + gFootpathPrice += MONEY(6, 00); + } else if (pathItemType != 0) { + if ( + !(flags & GAME_COMMAND_FLAG_GHOST) && + footpath_element_get_path_scenery(mapElement) == pathItemType && + !(mapElement->flags & MAP_ELEMENT_FLAG_BROKEN) + ) { + if (flags & GAME_COMMAND_FLAG_4) + return MONEY32_UNDEFINED; - return gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : gFootpathPrice; - } + return gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : gFootpathPrice; + } - if (pathItemType != 0) { - rct_scenery_entry* scenery_entry = get_footpath_item_entry(pathItemType - 1); - uint16 unk6 = scenery_entry->path_bit.flags; + if (pathItemType != 0) { + rct_scenery_entry* scenery_entry = get_footpath_item_entry(pathItemType - 1); + uint16 unk6 = scenery_entry->path_bit.flags; - if ((unk6 & PATH_BIT_FLAG_DONT_ALLOW_ON_SLOPE) && footpath_element_is_sloped(mapElement)) { - gGameCommandErrorText = STR_CANT_BUILD_THIS_ON_SLOPED_FOOTPATH; - return MONEY32_UNDEFINED; - } + if ((unk6 & PATH_BIT_FLAG_DONT_ALLOW_ON_SLOPE) && footpath_element_is_sloped(mapElement)) { + gGameCommandErrorText = STR_CANT_BUILD_THIS_ON_SLOPED_FOOTPATH; + return MONEY32_UNDEFINED; + } - if ((unk6 & PATH_BIT_FLAG_DONT_ALLOW_ON_QUEUE) && footpath_element_is_queue(mapElement)) { - gGameCommandErrorText = STR_CANNOT_PLACE_THESE_ON_QUEUE_LINE_AREA; - return MONEY32_UNDEFINED; - } + if ((unk6 & PATH_BIT_FLAG_DONT_ALLOW_ON_QUEUE) && footpath_element_is_queue(mapElement)) { + gGameCommandErrorText = STR_CANNOT_PLACE_THESE_ON_QUEUE_LINE_AREA; + return MONEY32_UNDEFINED; + } - if (!(unk6 & (PATH_BIT_FLAG_JUMPING_FOUNTAIN_WATER | PATH_BIT_FLAG_JUMPING_FOUNTAIN_SNOW)) && (mapElement->properties.path.edges & 0x0F) == 0x0F) { - gGameCommandErrorText = STR_NONE; - return MONEY32_UNDEFINED; - } + if (!(unk6 & (PATH_BIT_FLAG_JUMPING_FOUNTAIN_WATER | PATH_BIT_FLAG_JUMPING_FOUNTAIN_SNOW)) && (mapElement->properties.path.edges & 0x0F) == 0x0F) { + gGameCommandErrorText = STR_NONE; + return MONEY32_UNDEFINED; + } - if ((unk6 & PATH_BIT_FLAG_IS_QUEUE_SCREEN) && !footpath_element_is_queue(mapElement)) { - gGameCommandErrorText = STR_CAN_ONLY_PLACE_THESE_ON_QUEUE_AREA; - return MONEY32_UNDEFINED; - } + if ((unk6 & PATH_BIT_FLAG_IS_QUEUE_SCREEN) && !footpath_element_is_queue(mapElement)) { + gGameCommandErrorText = STR_CAN_ONLY_PLACE_THESE_ON_QUEUE_AREA; + return MONEY32_UNDEFINED; + } - gFootpathPrice += scenery_entry->path_bit.price; - } + gFootpathPrice += scenery_entry->path_bit.price; + } - if (flags & GAME_COMMAND_FLAG_4) - return MONEY32_UNDEFINED; + if (flags & GAME_COMMAND_FLAG_4) + return MONEY32_UNDEFINED; - // Should place a ghost? - if (flags & GAME_COMMAND_FLAG_GHOST) { - // Check if there is something on the path already - if (footpath_element_has_path_scenery(mapElement)) { - gGameCommandErrorText = STR_NONE; - return MONEY32_UNDEFINED; - } + // Should place a ghost? + if (flags & GAME_COMMAND_FLAG_GHOST) { + // Check if there is something on the path already + if (footpath_element_has_path_scenery(mapElement)) { + gGameCommandErrorText = STR_NONE; + return MONEY32_UNDEFINED; + } - // There is nothing yet - check if we should place a ghost - if (flags & GAME_COMMAND_FLAG_APPLY) - footpath_scenery_set_is_ghost(mapElement, true); - } + // There is nothing yet - check if we should place a ghost + if (flags & GAME_COMMAND_FLAG_APPLY) + footpath_scenery_set_is_ghost(mapElement, true); + } - if (!(flags & GAME_COMMAND_FLAG_APPLY)) - return gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : gFootpathPrice; + if (!(flags & GAME_COMMAND_FLAG_APPLY)) + return gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : gFootpathPrice; - if ( - (pathItemType != 0 && !(flags & GAME_COMMAND_FLAG_GHOST)) || - (pathItemType == 0 && footpath_element_path_scenery_is_ghost(mapElement)) - ) { - footpath_scenery_set_is_ghost(mapElement, false); - } + if ( + (pathItemType != 0 && !(flags & GAME_COMMAND_FLAG_GHOST)) || + (pathItemType == 0 && footpath_element_path_scenery_is_ghost(mapElement)) + ) { + footpath_scenery_set_is_ghost(mapElement, false); + } - footpath_element_set_path_scenery(mapElement, pathItemType); - mapElement->flags &= ~MAP_ELEMENT_FLAG_BROKEN; - if (pathItemType != 0) { - rct_scenery_entry* scenery_entry = get_footpath_item_entry(pathItemType - 1); - if (scenery_entry->path_bit.flags & PATH_BIT_FLAG_IS_BIN) { - mapElement->properties.path.addition_status = 255; - } - } - map_invalidate_tile_full(x, y); - return gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : gFootpathPrice; - } + footpath_element_set_path_scenery(mapElement, pathItemType); + mapElement->flags &= ~MAP_ELEMENT_FLAG_BROKEN; + if (pathItemType != 0) { + rct_scenery_entry* scenery_entry = get_footpath_item_entry(pathItemType - 1); + if (scenery_entry->path_bit.flags & PATH_BIT_FLAG_IS_BIN) { + mapElement->properties.path.addition_status = 255; + } + } + map_invalidate_tile_full(x, y); + return gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : gFootpathPrice; + } - if (flags & GAME_COMMAND_FLAG_4) - return MONEY32_UNDEFINED; + if (flags & GAME_COMMAND_FLAG_4) + return MONEY32_UNDEFINED; - if (flags & GAME_COMMAND_FLAG_APPLY) { - footpath_queue_chain_reset(); + if (flags & GAME_COMMAND_FLAG_APPLY) { + footpath_queue_chain_reset(); - if (!(flags & GAME_COMMAND_FLAG_7)) - footpath_remove_edges_at(x, y, mapElement); + if (!(flags & GAME_COMMAND_FLAG_7)) + footpath_remove_edges_at(x, y, mapElement); - mapElement->properties.path.type = (mapElement->properties.path.type & 0x0F) | (type << 4); - mapElement->type = (mapElement->type & 0xFE) | (type >> 7); - footpath_element_set_path_scenery(mapElement, pathItemType); - mapElement->flags &= ~MAP_ELEMENT_FLAG_BROKEN; + mapElement->properties.path.type = (mapElement->properties.path.type & 0x0F) | (type << 4); + mapElement->type = (mapElement->type & 0xFE) | (type >> 7); + footpath_element_set_path_scenery(mapElement, pathItemType); + mapElement->flags &= ~MAP_ELEMENT_FLAG_BROKEN; - loc_6A6620(flags, x, y, mapElement); - } + loc_6A6620(flags, x, y, mapElement); + } - return gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : gFootpathPrice; + return gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : gFootpathPrice; } static money32 footpath_place_real(sint32 type, sint32 x, sint32 y, sint32 z, sint32 slope, sint32 flags, uint8 pathItemType) { - rct_map_element *mapElement; + rct_map_element *mapElement; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - gCommandPosition.x = x + 16; - gCommandPosition.y = y + 16; - gCommandPosition.z = z * 8; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + gCommandPosition.x = x + 16; + gCommandPosition.y = y + 16; + gCommandPosition.z = z * 8; - if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED) && game_is_paused() && !gCheatsBuildInPauseMode) { - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - return MONEY32_UNDEFINED; - } + if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED) && game_is_paused() && !gCheatsBuildInPauseMode) { + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - footpath_interrupt_peeps(x, y, z * 8); + if (flags & GAME_COMMAND_FLAG_APPLY) + footpath_interrupt_peeps(x, y, z * 8); - gFootpathPrice = 0; - gFootpathGroundFlags = 0; + gFootpathPrice = 0; + gFootpathGroundFlags = 0; - if (x >= gMapSizeUnits || y >= gMapSizeUnits) { - gGameCommandErrorText = STR_OFF_EDGE_OF_MAP; - return MONEY32_UNDEFINED; - } + if (x >= gMapSizeUnits || y >= gMapSizeUnits) { + gGameCommandErrorText = STR_OFF_EDGE_OF_MAP; + return MONEY32_UNDEFINED; + } - if (!((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) && !map_is_location_owned(x, y, z * 8)) - return MONEY32_UNDEFINED; + if (!((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) && !map_is_location_owned(x, y, z * 8)) + return MONEY32_UNDEFINED; - if (slope & 8) { - gGameCommandErrorText = STR_LAND_SLOPE_UNSUITABLE; - return MONEY32_UNDEFINED; - } + if (slope & 8) { + gGameCommandErrorText = STR_LAND_SLOPE_UNSUITABLE; + return MONEY32_UNDEFINED; + } - if (z < 2) { - gGameCommandErrorText = STR_TOO_LOW; - return MONEY32_UNDEFINED; - } + if (z < 2) { + gGameCommandErrorText = STR_TOO_LOW; + return MONEY32_UNDEFINED; + } - if (z > 248) { - gGameCommandErrorText = STR_TOO_HIGH; - return MONEY32_UNDEFINED; - } + if (z > 248) { + gGameCommandErrorText = STR_TOO_HIGH; + return MONEY32_UNDEFINED; + } - // Force ride construction to recheck area - _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_RECHECK; + // Force ride construction to recheck area + _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_RECHECK; - if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_GHOST)) { - rct_xyz16 coord; - coord.x = x + 16; - coord.y = y + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_GHOST)) { + rct_xyz16 coord; + coord.x = x + 16; + coord.y = y + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - footpath_provisional_remove(); - mapElement = map_get_footpath_element_slope((x / 32), (y / 32), z, slope); - if (mapElement == NULL) { - return footpath_element_insert(type, x, y, z, slope, flags, pathItemType); - } else { - return footpath_element_update(x, y, mapElement, type, flags, pathItemType); - } + footpath_provisional_remove(); + mapElement = map_get_footpath_element_slope((x / 32), (y / 32), z, slope); + if (mapElement == NULL) { + return footpath_element_insert(type, x, y, z, slope, flags, pathItemType); + } else { + return footpath_element_update(x, y, mapElement, type, flags, pathItemType); + } } /** @@ -400,66 +400,66 @@ static money32 footpath_place_real(sint32 type, sint32 x, sint32 y, sint32 z, si * rct2: 0x006BA23E */ static void remove_banners_at_element(sint32 x, sint32 y, rct_map_element* mapElement){ - while (!map_element_is_last_for_tile(mapElement++)){ - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH)return; - else if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_BANNER)continue; + while (!map_element_is_last_for_tile(mapElement++)){ + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH)return; + else if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_BANNER)continue; - game_do_command(x, 1, y, mapElement->base_height | mapElement->properties.banner.position << 8, GAME_COMMAND_REMOVE_BANNER, 0, 0); - mapElement--; - } + game_do_command(x, 1, y, mapElement->base_height | mapElement->properties.banner.position << 8, GAME_COMMAND_REMOVE_BANNER, 0, 0); + mapElement--; + } } money32 footpath_remove_real(sint32 x, sint32 y, sint32 z, sint32 flags) { - rct_map_element *mapElement; + rct_map_element *mapElement; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - gCommandPosition.x = x + 16; - gCommandPosition.y = y + 16; - gCommandPosition.z = z * 8; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + gCommandPosition.x = x + 16; + gCommandPosition.y = y + 16; + gCommandPosition.z = z * 8; - if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED) && game_is_paused() && !gCheatsBuildInPauseMode) { - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - return MONEY32_UNDEFINED; - } + if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED) && game_is_paused() && !gCheatsBuildInPauseMode) { + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - footpath_interrupt_peeps(x, y, z * 8); - footpath_remove_litter(x, y, z * 8); - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + footpath_interrupt_peeps(x, y, z * 8); + footpath_remove_litter(x, y, z * 8); + } - if (!((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) && !map_is_location_owned(x, y, z * 8)) - return MONEY32_UNDEFINED; + if (!((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) && !map_is_location_owned(x, y, z * 8)) + return MONEY32_UNDEFINED; - mapElement = map_get_footpath_element(x / 32, y / 32, z); - if (mapElement != NULL && (flags & GAME_COMMAND_FLAG_APPLY)) { - if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_GHOST)) { - rct_xyz16 coord; - coord.x = x + 16; - coord.y = y + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + mapElement = map_get_footpath_element(x / 32, y / 32, z); + if (mapElement != NULL && (flags & GAME_COMMAND_FLAG_APPLY)) { + if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_GHOST)) { + rct_xyz16 coord; + coord.x = x + 16; + coord.y = y + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - footpath_queue_chain_reset(); - remove_banners_at_element(x, y, mapElement); - footpath_remove_edges_at(x, y, mapElement); - map_invalidate_tile_full(x, y); - map_element_remove(mapElement); - footpath_update_queue_chains(); - } + footpath_queue_chain_reset(); + remove_banners_at_element(x, y, mapElement); + footpath_remove_edges_at(x, y, mapElement); + map_invalidate_tile_full(x, y); + map_element_remove(mapElement); + footpath_update_queue_chains(); + } - money32 cost = -MONEY(10,00); + money32 cost = -MONEY(10,00); - bool isNotOwnedByPark = (flags & (1 << 5)); - bool moneyDisabled = (gParkFlags & PARK_FLAGS_NO_MONEY); - bool isGhost = (mapElement == NULL) || (map_element_is_ghost(mapElement)); + bool isNotOwnedByPark = (flags & (1 << 5)); + bool moneyDisabled = (gParkFlags & PARK_FLAGS_NO_MONEY); + bool isGhost = (mapElement == NULL) || (map_element_is_ghost(mapElement)); - if (isNotOwnedByPark || moneyDisabled || isGhost) { - cost = 0; - } + if (isNotOwnedByPark || moneyDisabled || isGhost) { + cost = 0; + } - return cost; + return cost; } /** @@ -468,107 +468,107 @@ money32 footpath_remove_real(sint32 x, sint32 y, sint32 z, sint32 flags) */ void game_command_place_footpath(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - *ebx = footpath_place_real( - (*edx >> 8) & 0xFF, - *eax & 0xFFFF, - *ecx & 0xFFFF, - *edx & 0xFF, - (*ebx >> 8) & 0xFF, - *ebx & 0xFF, - *edi & 0xFF - ); + *ebx = footpath_place_real( + (*edx >> 8) & 0xFF, + *eax & 0xFFFF, + *ecx & 0xFFFF, + *edx & 0xFF, + (*ebx >> 8) & 0xFF, + *ebx & 0xFF, + *edi & 0xFF + ); } static money32 footpath_place_from_track(sint32 type, sint32 x, sint32 y, sint32 z, sint32 slope, sint32 edges, sint32 flags) { - rct_map_element *mapElement; + rct_map_element *mapElement; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - gCommandPosition.x = x + 16; - gCommandPosition.y = y + 16; - gCommandPosition.z = z * 8; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + gCommandPosition.x = x + 16; + gCommandPosition.y = y + 16; + gCommandPosition.z = z * 8; - if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED) && game_is_paused() && !gCheatsBuildInPauseMode) { - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - return MONEY32_UNDEFINED; - } + if (!(flags & GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED) && game_is_paused() && !gCheatsBuildInPauseMode) { + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - footpath_interrupt_peeps(x, y, z * 8); + if (flags & GAME_COMMAND_FLAG_APPLY) + footpath_interrupt_peeps(x, y, z * 8); - gFootpathPrice = 0; - gFootpathGroundFlags = 0; + gFootpathPrice = 0; + gFootpathGroundFlags = 0; - if (!map_is_location_owned(x, y, z * 8) && !gCheatsSandboxMode) { - return MONEY32_UNDEFINED; - } + if (!map_is_location_owned(x, y, z * 8) && !gCheatsSandboxMode) { + return MONEY32_UNDEFINED; + } - if (!((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) && !map_is_location_owned(x, y, z * 8)) - return MONEY32_UNDEFINED; + if (!((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) && !map_is_location_owned(x, y, z * 8)) + return MONEY32_UNDEFINED; - if (z < 2) { - gGameCommandErrorText = STR_TOO_LOW; - return MONEY32_UNDEFINED; - } + if (z < 2) { + gGameCommandErrorText = STR_TOO_LOW; + return MONEY32_UNDEFINED; + } - if (z > 248) { - gGameCommandErrorText = STR_TOO_HIGH; - return MONEY32_UNDEFINED; - } + if (z > 248) { + gGameCommandErrorText = STR_TOO_HIGH; + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - if (!(flags & (GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_GHOST))) { - footpath_remove_litter(x, y, z * 8); - } - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + if (!(flags & (GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_GHOST))) { + footpath_remove_litter(x, y, z * 8); + } + } - gFootpathPrice += 120; - uint8 bl = 15; - sint32 zHigh = z + 4; - if (slope & 4) { - bl = byte_98D7EC[slope & 3]; - zHigh += 2; - } + gFootpathPrice += 120; + uint8 bl = 15; + sint32 zHigh = z + 4; + if (slope & 4) { + bl = byte_98D7EC[slope & 3]; + zHigh += 2; + } - if (!gCheatsDisableClearanceChecks && !map_can_construct_with_clear_at(x, y, z, zHigh, &map_place_non_scenery_clear_func, bl, flags, &gFootpathPrice)) - return MONEY32_UNDEFINED; + if (!gCheatsDisableClearanceChecks && !map_can_construct_with_clear_at(x, y, z, zHigh, &map_place_non_scenery_clear_func, bl, flags, &gFootpathPrice)) + return MONEY32_UNDEFINED; - gFootpathGroundFlags = gMapGroundFlags; - if (!gCheatsDisableClearanceChecks && (gMapGroundFlags & ELEMENT_IS_UNDERWATER)) { - gGameCommandErrorText = STR_CANT_BUILD_THIS_UNDERWATER; - return MONEY32_UNDEFINED; - } + gFootpathGroundFlags = gMapGroundFlags; + if (!gCheatsDisableClearanceChecks && (gMapGroundFlags & ELEMENT_IS_UNDERWATER)) { + gGameCommandErrorText = STR_CANT_BUILD_THIS_UNDERWATER; + return MONEY32_UNDEFINED; + } - mapElement = map_get_surface_element_at((x / 32), (y / 32)); + mapElement = map_get_surface_element_at((x / 32), (y / 32)); - sint32 supportHeight = z - mapElement->base_height; - gFootpathPrice += supportHeight < 0 ? MONEY(20, 00) : (supportHeight / 2) * MONEY(5, 00); + sint32 supportHeight = z - mapElement->base_height; + gFootpathPrice += supportHeight < 0 ? MONEY(20, 00) : (supportHeight / 2) * MONEY(5, 00); - if (flags & GAME_COMMAND_FLAG_APPLY) { - if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_GHOST)) { - rct_xyz16 coord; - coord.x = x + 16; - coord.y = y + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_GHOST)) { + rct_xyz16 coord; + coord.x = x + 16; + coord.y = y + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - mapElement = map_element_insert(x / 32, y / 32, z, 0x0F); - assert(mapElement != NULL); - mapElement->type = MAP_ELEMENT_TYPE_PATH; - mapElement->clearance_height = z + 4 + ((slope & 4) ? 2 : 0); - mapElement->properties.path.type = (type << 4) | (slope & 7); - mapElement->type |= type >> 7; - mapElement->properties.path.additions = 0; - mapElement->properties.path.addition_status = 255; - mapElement->properties.path.edges = edges & 0xF; - mapElement->flags &= ~MAP_ELEMENT_FLAG_BROKEN; - if (flags & (1 << 6)) - mapElement->flags |= MAP_ELEMENT_FLAG_GHOST; + mapElement = map_element_insert(x / 32, y / 32, z, 0x0F); + assert(mapElement != NULL); + mapElement->type = MAP_ELEMENT_TYPE_PATH; + mapElement->clearance_height = z + 4 + ((slope & 4) ? 2 : 0); + mapElement->properties.path.type = (type << 4) | (slope & 7); + mapElement->type |= type >> 7; + mapElement->properties.path.additions = 0; + mapElement->properties.path.addition_status = 255; + mapElement->properties.path.edges = edges & 0xF; + mapElement->flags &= ~MAP_ELEMENT_FLAG_BROKEN; + if (flags & (1 << 6)) + mapElement->flags |= MAP_ELEMENT_FLAG_GHOST; - map_invalidate_tile_full(x, y); - } - return gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : gFootpathPrice; + map_invalidate_tile_full(x, y); + } + return gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : gFootpathPrice; } /** @@ -577,15 +577,15 @@ static money32 footpath_place_from_track(sint32 type, sint32 x, sint32 y, sint32 */ void game_command_place_footpath_from_track(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - *ebx = footpath_place_from_track( - (*edx >> 8) & 0xFF, - *eax & 0xFFFF, - *ecx & 0xFFFF, - *edx & 0xFF, - ((*ebx >> 13) & 0x3) | ((*ebx >> 10) & 0x4), - (*ebx >> 8) & 0xF, - *ebx & 0xFF - ); + *ebx = footpath_place_from_track( + (*edx >> 8) & 0xFF, + *eax & 0xFFFF, + *ecx & 0xFFFF, + *edx & 0xFF, + ((*ebx >> 13) & 0x3) | ((*ebx >> 10) & 0x4), + (*ebx >> 8) & 0xF, + *ebx & 0xFF + ); } /** @@ -594,17 +594,17 @@ void game_command_place_footpath_from_track(sint32 *eax, sint32 *ebx, sint32 *ec */ void game_command_remove_footpath(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - *ebx = footpath_remove_real((*eax & 0xFFFF), (*ecx & 0xFFFF), (*edx & 0xFF), (*ebx & 0xFF)); + *ebx = footpath_remove_real((*eax & 0xFFFF), (*ecx & 0xFFFF), (*edx & 0xFF), (*ebx & 0xFF)); } money32 footpath_place(sint32 type, sint32 x, sint32 y, sint32 z, sint32 slope, sint32 flags) { - return game_do_command(x, (slope << 8) | flags, y, (type << 8) | z, GAME_COMMAND_PLACE_PATH, 0, 0); + return game_do_command(x, (slope << 8) | flags, y, (type << 8) | z, GAME_COMMAND_PLACE_PATH, 0, 0); } void footpath_remove(sint32 x, sint32 y, sint32 z, sint32 flags) { - game_do_command(x, flags, y, z, GAME_COMMAND_REMOVE_PATH, 0, 0); + game_do_command(x, flags, y, z, GAME_COMMAND_REMOVE_PATH, 0, 0); } /** @@ -613,27 +613,27 @@ void footpath_remove(sint32 x, sint32 y, sint32 z, sint32 flags) */ money32 footpath_provisional_set(sint32 type, sint32 x, sint32 y, sint32 z, sint32 slope) { - money32 cost; + money32 cost; - footpath_provisional_remove(); + footpath_provisional_remove(); - cost = footpath_place(type, x, y, z, slope, GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_5 | GAME_COMMAND_FLAG_4 | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_APPLY); - if (cost != MONEY32_UNDEFINED) { - gFootpathProvisionalType = type; - gFootpathProvisionalPosition.x = x; - gFootpathProvisionalPosition.y = y; - gFootpathProvisionalPosition.z = z & 0xFF; - gFootpathProvisionalSlope = slope; - gFootpathProvisionalFlags |= PROVISIONAL_PATH_FLAG_1; + cost = footpath_place(type, x, y, z, slope, GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_5 | GAME_COMMAND_FLAG_4 | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_APPLY); + if (cost != MONEY32_UNDEFINED) { + gFootpathProvisionalType = type; + gFootpathProvisionalPosition.x = x; + gFootpathProvisionalPosition.y = y; + gFootpathProvisionalPosition.z = z & 0xFF; + gFootpathProvisionalSlope = slope; + gFootpathProvisionalFlags |= PROVISIONAL_PATH_FLAG_1; - if (gFootpathGroundFlags & ELEMENT_IS_UNDERGROUND) { - viewport_set_visibility(1); - } else { - viewport_set_visibility(3); - } - } + if (gFootpathGroundFlags & ELEMENT_IS_UNDERGROUND) { + viewport_set_visibility(1); + } else { + viewport_set_visibility(3); + } + } - return cost; + return cost; } /** @@ -642,16 +642,16 @@ money32 footpath_provisional_set(sint32 type, sint32 x, sint32 y, sint32 z, sint */ void footpath_provisional_remove() { - if (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_1) { - gFootpathProvisionalFlags &= ~PROVISIONAL_PATH_FLAG_1; + if (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_1) { + gFootpathProvisionalFlags &= ~PROVISIONAL_PATH_FLAG_1; - footpath_remove( - gFootpathProvisionalPosition.x, - gFootpathProvisionalPosition.y, - gFootpathProvisionalPosition.z, - GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5 - ); - } + footpath_remove( + gFootpathProvisionalPosition.x, + gFootpathProvisionalPosition.y, + gFootpathProvisionalPosition.z, + GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5 + ); + } } /** @@ -660,16 +660,16 @@ void footpath_provisional_remove() */ void footpath_provisional_update() { - if (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_SHOW_ARROW) { - gFootpathProvisionalFlags &= ~PROVISIONAL_PATH_FLAG_SHOW_ARROW; + if (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_SHOW_ARROW) { + gFootpathProvisionalFlags &= ~PROVISIONAL_PATH_FLAG_SHOW_ARROW; - gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; - map_invalidate_tile_full( - gFootpathConstructFromPosition.x, - gFootpathConstructFromPosition.y - ); - } - footpath_provisional_remove(); + gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; + map_invalidate_tile_full( + gFootpathConstructFromPosition.x, + gFootpathConstructFromPosition.y + ); + } + footpath_provisional_remove(); } /** @@ -678,75 +678,75 @@ void footpath_provisional_update() * when we are going to build a footpath bridge/tunnel. * rct2: 0x00689726 * In: - * screenX: eax - * screenY: ebx + * screenX: eax + * screenY: ebx * Out: - * x: ax - * y: bx - * direction: ecx - * mapElement: edx + * x: ax + * y: bx + * direction: ecx + * mapElement: edx */ void footpath_get_coordinates_from_pos(sint32 screenX, sint32 screenY, sint32 *x, sint32 *y, sint32 *direction, rct_map_element **mapElement) { - sint32 z = 0, interactionType; - rct_map_element *myMapElement; - rct_viewport *viewport; - rct_xy16 position = { 0 }; + sint32 z = 0, interactionType; + rct_map_element *myMapElement; + rct_viewport *viewport; + rct_xy16 position = { 0 }; - get_map_coordinates_from_pos(screenX, screenY, VIEWPORT_INTERACTION_MASK_FOOTPATH, &position.x, &position.y, &interactionType, &myMapElement, &viewport); - if (interactionType != VIEWPORT_INTERACTION_ITEM_FOOTPATH || !(viewport->flags & (VIEWPORT_FLAG_UNDERGROUND_INSIDE | VIEWPORT_FLAG_HIDE_BASE | VIEWPORT_FLAG_HIDE_VERTICAL))) { - get_map_coordinates_from_pos(screenX, screenY, VIEWPORT_INTERACTION_MASK_FOOTPATH & VIEWPORT_INTERACTION_MASK_TERRAIN, &position.x, &position.y, &interactionType, &myMapElement, &viewport); - if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) { - if (x != NULL) *x = MAP_LOCATION_NULL; - return; - } - } + get_map_coordinates_from_pos(screenX, screenY, VIEWPORT_INTERACTION_MASK_FOOTPATH, &position.x, &position.y, &interactionType, &myMapElement, &viewport); + if (interactionType != VIEWPORT_INTERACTION_ITEM_FOOTPATH || !(viewport->flags & (VIEWPORT_FLAG_UNDERGROUND_INSIDE | VIEWPORT_FLAG_HIDE_BASE | VIEWPORT_FLAG_HIDE_VERTICAL))) { + get_map_coordinates_from_pos(screenX, screenY, VIEWPORT_INTERACTION_MASK_FOOTPATH & VIEWPORT_INTERACTION_MASK_TERRAIN, &position.x, &position.y, &interactionType, &myMapElement, &viewport); + if (interactionType == VIEWPORT_INTERACTION_ITEM_NONE) { + if (x != NULL) *x = MAP_LOCATION_NULL; + return; + } + } - rct_xy16 minPosition = position; - rct_xy16 maxPosition = { position.x + 31, position.y + 31 }; + rct_xy16 minPosition = position; + rct_xy16 maxPosition = { position.x + 31, position.y + 31 }; - position.x += 16; - position.y += 16; + position.x += 16; + position.y += 16; - if (interactionType == VIEWPORT_INTERACTION_ITEM_FOOTPATH) { - z = myMapElement->base_height * 8; - if (myMapElement->properties.path.type & (1 << 2)) { - z += 8; - } - } + if (interactionType == VIEWPORT_INTERACTION_ITEM_FOOTPATH) { + z = myMapElement->base_height * 8; + if (myMapElement->properties.path.type & (1 << 2)) { + z += 8; + } + } - rct_xy16 start_vp_pos = screen_coord_to_viewport_coord(viewport, screenX, screenY); + rct_xy16 start_vp_pos = screen_coord_to_viewport_coord(viewport, screenX, screenY); - for (sint32 i = 0; i < 5; i++) { - if (interactionType != VIEWPORT_INTERACTION_ITEM_FOOTPATH) { - z = map_element_height(position.x, position.y); - } - position = viewport_coord_to_map_coord(start_vp_pos.x, start_vp_pos.y, z); - position.x = clamp(minPosition.x, position.x, maxPosition.x); - position.y = clamp(minPosition.y, position.y, maxPosition.y); - } + for (sint32 i = 0; i < 5; i++) { + if (interactionType != VIEWPORT_INTERACTION_ITEM_FOOTPATH) { + z = map_element_height(position.x, position.y); + } + position = viewport_coord_to_map_coord(start_vp_pos.x, start_vp_pos.y, z); + position.x = clamp(minPosition.x, position.x, maxPosition.x); + position.y = clamp(minPosition.y, position.y, maxPosition.y); + } - // Determine to which edge the cursor is closest - uint32 myDirection; - sint32 mod_x = position.x & 0x1F, mod_y = position.y & 0x1F; - if (mod_x < mod_y) { - if (mod_x + mod_y < 32) { - myDirection = 0; - } else { - myDirection = 1; - } - } else { - if (mod_x + mod_y < 32) { - myDirection = 3; - } else { - myDirection = 2; - } - } + // Determine to which edge the cursor is closest + uint32 myDirection; + sint32 mod_x = position.x & 0x1F, mod_y = position.y & 0x1F; + if (mod_x < mod_y) { + if (mod_x + mod_y < 32) { + myDirection = 0; + } else { + myDirection = 1; + } + } else { + if (mod_x + mod_y < 32) { + myDirection = 3; + } else { + myDirection = 2; + } + } - if (x != NULL) *x = position.x & ~0x1F; - if (y != NULL) *y = position.y & ~0x1F; - if (direction != NULL) *direction = myDirection; - if (mapElement != NULL) *mapElement = myMapElement; + if (x != NULL) *x = position.x & ~0x1F; + if (y != NULL) *y = position.y & ~0x1F; + if (direction != NULL) *direction = myDirection; + if (mapElement != NULL) *mapElement = myMapElement; } /** @@ -761,45 +761,45 @@ void footpath_get_coordinates_from_pos(sint32 screenX, sint32 screenY, sint32 *x */ void footpath_bridge_get_info_from_pos(sint32 screenX, sint32 screenY, sint32 *x, sint32 *y, sint32 *direction, rct_map_element **mapElement) { - // First check if we point at an entrance or exit. In that case, we would want the path coming from the entrance/exit. - sint32 interactionType; - rct_viewport *viewport; + // First check if we point at an entrance or exit. In that case, we would want the path coming from the entrance/exit. + sint32 interactionType; + rct_viewport *viewport; - rct_xy16 map_pos = { 0 }; - get_map_coordinates_from_pos(screenX, screenY, VIEWPORT_INTERACTION_MASK_RIDE, &map_pos.x, &map_pos.y, &interactionType, mapElement, &viewport); - *x = map_pos.x; - *y = map_pos.y; + rct_xy16 map_pos = { 0 }; + get_map_coordinates_from_pos(screenX, screenY, VIEWPORT_INTERACTION_MASK_RIDE, &map_pos.x, &map_pos.y, &interactionType, mapElement, &viewport); + *x = map_pos.x; + *y = map_pos.y; - if (interactionType == VIEWPORT_INTERACTION_ITEM_RIDE - && viewport->flags & (VIEWPORT_FLAG_UNDERGROUND_INSIDE | VIEWPORT_FLAG_HIDE_BASE | VIEWPORT_FLAG_HIDE_VERTICAL) - && map_element_get_type(*mapElement) == MAP_ELEMENT_TYPE_ENTRANCE - ) { - sint32 directions = entrance_get_directions(*mapElement); - if (directions & 0x0F) { - sint32 bx = bitscanforward(directions); - bx += (*mapElement)->type; - bx &= 3; - if (direction != NULL) *direction = bx; - return; - } - } + if (interactionType == VIEWPORT_INTERACTION_ITEM_RIDE + && viewport->flags & (VIEWPORT_FLAG_UNDERGROUND_INSIDE | VIEWPORT_FLAG_HIDE_BASE | VIEWPORT_FLAG_HIDE_VERTICAL) + && map_element_get_type(*mapElement) == MAP_ELEMENT_TYPE_ENTRANCE + ) { + sint32 directions = entrance_get_directions(*mapElement); + if (directions & 0x0F) { + sint32 bx = bitscanforward(directions); + bx += (*mapElement)->type; + bx &= 3; + if (direction != NULL) *direction = bx; + return; + } + } - get_map_coordinates_from_pos(screenX, screenY, VIEWPORT_INTERACTION_MASK_RIDE & VIEWPORT_INTERACTION_MASK_FOOTPATH & VIEWPORT_INTERACTION_MASK_TERRAIN, &map_pos.x, &map_pos.y, &interactionType, mapElement, &viewport); - *x = map_pos.x; - *y = map_pos.y; - if (interactionType == VIEWPORT_INTERACTION_ITEM_RIDE && map_element_get_type(*mapElement) == MAP_ELEMENT_TYPE_ENTRANCE) { - sint32 directions = entrance_get_directions(*mapElement); - if (directions & 0x0F) { - sint32 bx = bitscanforward(directions); - bx += (*mapElement)->type; // First two bits seem to contain the direction of entrance/exit - bx &= 3; - if (direction != NULL) *direction = bx; - return; - } - } + get_map_coordinates_from_pos(screenX, screenY, VIEWPORT_INTERACTION_MASK_RIDE & VIEWPORT_INTERACTION_MASK_FOOTPATH & VIEWPORT_INTERACTION_MASK_TERRAIN, &map_pos.x, &map_pos.y, &interactionType, mapElement, &viewport); + *x = map_pos.x; + *y = map_pos.y; + if (interactionType == VIEWPORT_INTERACTION_ITEM_RIDE && map_element_get_type(*mapElement) == MAP_ELEMENT_TYPE_ENTRANCE) { + sint32 directions = entrance_get_directions(*mapElement); + if (directions & 0x0F) { + sint32 bx = bitscanforward(directions); + bx += (*mapElement)->type; // First two bits seem to contain the direction of entrance/exit + bx &= 3; + if (direction != NULL) *direction = bx; + return; + } + } - // We point at something else - footpath_get_coordinates_from_pos(screenX, screenY, x, y, direction, mapElement); + // We point at something else + footpath_get_coordinates_from_pos(screenX, screenY, x, y, direction, mapElement); } /** @@ -808,19 +808,19 @@ void footpath_bridge_get_info_from_pos(sint32 screenX, sint32 screenY, sint32 *x */ void footpath_remove_litter(sint32 x, sint32 y, sint32 z) { - uint16 spriteIndex = sprite_get_first_in_quadrant(x, y); - while (spriteIndex != SPRITE_INDEX_NULL) { - rct_litter *sprite = &get_sprite(spriteIndex)->litter; - uint16 nextSpriteIndex = sprite->next_in_quadrant; - if (sprite->linked_list_type_offset == SPRITE_LIST_LITTER * 2) { - sint32 distanceZ = abs(sprite->z - z); - if (distanceZ <= 32) { - invalidate_sprite_0((rct_sprite*)sprite); - sprite_remove((rct_sprite*)sprite); - } - } - spriteIndex = nextSpriteIndex; - } + uint16 spriteIndex = sprite_get_first_in_quadrant(x, y); + while (spriteIndex != SPRITE_INDEX_NULL) { + rct_litter *sprite = &get_sprite(spriteIndex)->litter; + uint16 nextSpriteIndex = sprite->next_in_quadrant; + if (sprite->linked_list_type_offset == SPRITE_LIST_LITTER * 2) { + sint32 distanceZ = abs(sprite->z - z); + if (distanceZ <= 32) { + invalidate_sprite_0((rct_sprite*)sprite); + sprite_remove((rct_sprite*)sprite); + } + } + spriteIndex = nextSpriteIndex; + } } /** @@ -829,25 +829,25 @@ void footpath_remove_litter(sint32 x, sint32 y, sint32 z) */ void footpath_interrupt_peeps(sint32 x, sint32 y, sint32 z) { - uint16 spriteIndex = sprite_get_first_in_quadrant(x, y); - while (spriteIndex != SPRITE_INDEX_NULL) { - rct_peep *peep = &get_sprite(spriteIndex)->peep; - uint16 nextSpriteIndex = peep->next_in_quadrant; - if (peep->linked_list_type_offset == SPRITE_LIST_PEEP * 2) { - if (peep->state == PEEP_STATE_SITTING || peep->state == PEEP_STATE_WATCHING) { - if (peep->z == z) { - peep_decrement_num_riders(peep); - peep->state = PEEP_STATE_WALKING; - peep_window_state_update(peep); - peep->destination_x = (peep->x & 0xFFE0) + 16; - peep->destination_y = (peep->y & 0xFFE0) + 16; - peep->destination_tolerence = 5; - peep_update_current_action_sprite_type(peep); - } - } - } - spriteIndex = nextSpriteIndex; - } + uint16 spriteIndex = sprite_get_first_in_quadrant(x, y); + while (spriteIndex != SPRITE_INDEX_NULL) { + rct_peep *peep = &get_sprite(spriteIndex)->peep; + uint16 nextSpriteIndex = peep->next_in_quadrant; + if (peep->linked_list_type_offset == SPRITE_LIST_PEEP * 2) { + if (peep->state == PEEP_STATE_SITTING || peep->state == PEEP_STATE_WATCHING) { + if (peep->z == z) { + peep_decrement_num_riders(peep); + peep->state = PEEP_STATE_WALKING; + peep_window_state_update(peep); + peep->destination_x = (peep->x & 0xFFE0) + 16; + peep->destination_y = (peep->y & 0xFFE0) + 16; + peep->destination_tolerence = 5; + peep_update_current_action_sprite_type(peep); + } + } + } + spriteIndex = nextSpriteIndex; + } } /** @@ -856,54 +856,54 @@ void footpath_interrupt_peeps(sint32 x, sint32 y, sint32 z) */ bool fence_in_the_way(sint32 x, sint32 y, sint32 z0, sint32 z1, sint32 direction) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - if (mapElement == NULL) - return false; - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) - continue; - if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) - continue; - if (z0 >= mapElement->clearance_height) - continue; - if (z1 <= mapElement->base_height) - continue; - if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != direction) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + if (mapElement == NULL) + return false; + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) + continue; + if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) + continue; + if (z0 >= mapElement->clearance_height) + continue; + if (z1 <= mapElement->base_height) + continue; + if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != direction) + continue; - return true; - } while (!map_element_is_last_for_tile(mapElement++)); - return false; + return true; + } while (!map_element_is_last_for_tile(mapElement++)); + return false; } static bool map_is_edge(sint32 x, sint32 y) { - return ( - x < 32 || - y < 32 || - x >= gMapSizeUnits || - y >= gMapSizeUnits - ); + return ( + x < 32 || + y < 32 || + x >= gMapSizeUnits || + y >= gMapSizeUnits + ); } static rct_map_element *footpath_connect_corners_get_neighbour(sint32 x, sint32 y, sint32 z, sint32 requireEdges) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; - if (footpath_element_is_queue(mapElement)) - continue; - if (mapElement->base_height != z) - continue; - if (!(mapElement->properties.path.edges & requireEdges)) - continue; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; + if (footpath_element_is_queue(mapElement)) + continue; + if (mapElement->base_height != z) + continue; + if (!(mapElement->properties.path.edges & requireEdges)) + continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); + return NULL; } /** @@ -916,223 +916,223 @@ static rct_map_element *footpath_connect_corners_get_neighbour(sint32 x, sint32 */ static void footpath_connect_corners(sint32 initialX, sint32 initialY, rct_map_element *initialMapElement) { - rct_map_element *mapElement[4]; + rct_map_element *mapElement[4]; - if (footpath_element_is_queue(initialMapElement)) - return; - if (footpath_element_is_sloped(initialMapElement)) - return; + if (footpath_element_is_queue(initialMapElement)) + return; + if (footpath_element_is_sloped(initialMapElement)) + return; - mapElement[0] = initialMapElement; - sint32 z = initialMapElement->base_height; - for (sint32 initialDirection = 0; initialDirection < 4; initialDirection++) { - sint32 x = initialX; - sint32 y = initialY; - sint32 direction = initialDirection; + mapElement[0] = initialMapElement; + sint32 z = initialMapElement->base_height; + for (sint32 initialDirection = 0; initialDirection < 4; initialDirection++) { + sint32 x = initialX; + sint32 y = initialY; + sint32 direction = initialDirection; - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; - mapElement[1] = footpath_connect_corners_get_neighbour(x, y, z, (1 << (direction ^ 2))); - if (mapElement[1] == NULL) - continue; + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; + mapElement[1] = footpath_connect_corners_get_neighbour(x, y, z, (1 << (direction ^ 2))); + if (mapElement[1] == NULL) + continue; - direction = (direction + 1) & 3; - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; - mapElement[2] = footpath_connect_corners_get_neighbour(x, y, z, (1 << (direction ^ 2))); - if (mapElement[2] == NULL) - continue; + direction = (direction + 1) & 3; + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; + mapElement[2] = footpath_connect_corners_get_neighbour(x, y, z, (1 << (direction ^ 2))); + if (mapElement[2] == NULL) + continue; - direction = (direction + 1) & 3; - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; - // First check link to previous tile - mapElement[3] = footpath_connect_corners_get_neighbour(x, y, z, (1 << (direction ^ 2))); - if (mapElement[3] == NULL) - continue; - // Second check link to initial tile - mapElement[3] = footpath_connect_corners_get_neighbour(x, y, z, (1 << ((direction + 1) & 3))); - if (mapElement[3] == NULL) - continue; + direction = (direction + 1) & 3; + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; + // First check link to previous tile + mapElement[3] = footpath_connect_corners_get_neighbour(x, y, z, (1 << (direction ^ 2))); + if (mapElement[3] == NULL) + continue; + // Second check link to initial tile + mapElement[3] = footpath_connect_corners_get_neighbour(x, y, z, (1 << ((direction + 1) & 3))); + if (mapElement[3] == NULL) + continue; - direction = (direction + 1) & 3; - mapElement[3]->properties.path.edges |= (1 << (direction + 4)); - map_invalidate_element(x, y, mapElement[3]); + direction = (direction + 1) & 3; + mapElement[3]->properties.path.edges |= (1 << (direction + 4)); + map_invalidate_element(x, y, mapElement[3]); - direction = (direction - 1) & 3; - mapElement[2]->properties.path.edges |= (1 << (direction + 4)); - map_invalidate_element(x, y, mapElement[2]); + direction = (direction - 1) & 3; + mapElement[2]->properties.path.edges |= (1 << (direction + 4)); + map_invalidate_element(x, y, mapElement[2]); - direction = (direction - 1) & 3; - mapElement[1]->properties.path.edges |= (1 << (direction + 4)); - map_invalidate_element(x, y, mapElement[1]); + direction = (direction - 1) & 3; + mapElement[1]->properties.path.edges |= (1 << (direction + 4)); + map_invalidate_element(x, y, mapElement[1]); - direction = initialDirection; - mapElement[0]->properties.path.edges |= (1 << (direction + 4)); - map_invalidate_element(x, y, mapElement[0]); - } + direction = initialDirection; + mapElement[0]->properties.path.edges |= (1 << (direction + 4)); + map_invalidate_element(x, y, mapElement[0]); + } } typedef struct rct_neighbour { - uint8 order; - uint8 direction; - uint8 ride_index; - uint8 entrance_index; + uint8 order; + uint8 direction; + uint8 ride_index; + uint8 entrance_index; } rct_neighbour; typedef struct rct_neighbour_list { - rct_neighbour items[8]; - sint32 count; + rct_neighbour items[8]; + sint32 count; } rct_neighbour_list; static sint32 rct_neighbour_compare(const void *a, const void *b) { - uint8 va = ((rct_neighbour*)a)->order; - uint8 vb = ((rct_neighbour*)b)->order; - if (va < vb) return 1; - else if (va > vb) return -1; - else { - uint8 da = ((rct_neighbour*)a)->direction; - uint8 db = ((rct_neighbour*)b)->direction; - if (da < db) return -1; - else if (da > db) return 1; - else return 0; - } + uint8 va = ((rct_neighbour*)a)->order; + uint8 vb = ((rct_neighbour*)b)->order; + if (va < vb) return 1; + else if (va > vb) return -1; + else { + uint8 da = ((rct_neighbour*)a)->direction; + uint8 db = ((rct_neighbour*)b)->direction; + if (da < db) return -1; + else if (da > db) return 1; + else return 0; + } } static void neighbour_list_init(rct_neighbour_list *neighbourList) { - neighbourList->count = 0; + neighbourList->count = 0; } static void neighbour_list_push(rct_neighbour_list *neighbourList, sint32 order, sint32 direction, uint8 rideIndex, uint8 entrance_index) { - neighbourList->items[neighbourList->count].order = order; - neighbourList->items[neighbourList->count].direction = direction; - neighbourList->items[neighbourList->count].ride_index = rideIndex; - neighbourList->items[neighbourList->count].entrance_index = entrance_index; - neighbourList->count++; + neighbourList->items[neighbourList->count].order = order; + neighbourList->items[neighbourList->count].direction = direction; + neighbourList->items[neighbourList->count].ride_index = rideIndex; + neighbourList->items[neighbourList->count].entrance_index = entrance_index; + neighbourList->count++; } static bool neighbour_list_pop(rct_neighbour_list *neighbourList, rct_neighbour *outNeighbour) { - if (neighbourList->count == 0) - return false; + if (neighbourList->count == 0) + return false; - *outNeighbour = neighbourList->items[0]; - for (sint32 i = 0; i < neighbourList->count - 1; i++) - neighbourList->items[i] = neighbourList->items[i + 1]; - neighbourList->count--; - return true; + *outNeighbour = neighbourList->items[0]; + for (sint32 i = 0; i < neighbourList->count - 1; i++) + neighbourList->items[i] = neighbourList->items[i + 1]; + neighbourList->count--; + return true; } static void neighbour_list_remove(rct_neighbour_list *neighbourList, sint32 index) { - sint32 itemsRemaining = neighbourList->count - index - 1; - if (itemsRemaining > 0) { - memmove(&neighbourList->items[index], &neighbourList->items[index + 1], sizeof(rct_neighbour) * itemsRemaining); - } - neighbourList->count--; + sint32 itemsRemaining = neighbourList->count - index - 1; + if (itemsRemaining > 0) { + memmove(&neighbourList->items[index], &neighbourList->items[index + 1], sizeof(rct_neighbour) * itemsRemaining); + } + neighbourList->count--; } static void neighbour_list_sort(rct_neighbour_list *neighbourList) { - qsort(neighbourList->items, neighbourList->count, sizeof(rct_neighbour), rct_neighbour_compare); + qsort(neighbourList->items, neighbourList->count, sizeof(rct_neighbour), rct_neighbour_compare); } static rct_map_element *footpath_get_element(sint32 x, sint32 y, sint32 z0, sint32 z1, sint32 direction) { - rct_map_element *mapElement; - sint32 slope; + rct_map_element *mapElement; + sint32 slope; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; - if (z1 == mapElement->base_height) { - if (footpath_element_is_sloped(mapElement)) { - slope = footpath_element_get_slope_direction(mapElement); - if (slope != direction) - break; - } - return mapElement; - } - if (z0 == mapElement->base_height) { - if (!footpath_element_is_sloped(mapElement)) - break; + if (z1 == mapElement->base_height) { + if (footpath_element_is_sloped(mapElement)) { + slope = footpath_element_get_slope_direction(mapElement); + if (slope != direction) + break; + } + return mapElement; + } + if (z0 == mapElement->base_height) { + if (!footpath_element_is_sloped(mapElement)) + break; - slope = footpath_element_get_slope_direction(mapElement) ^ 2; - if (slope != direction) - break; + slope = footpath_element_get_slope_direction(mapElement) ^ 2; + if (slope != direction) + break; - return mapElement; - } - } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return mapElement; + } + } while (!map_element_is_last_for_tile(mapElement++)); + return NULL; } static bool sub_footpath_disconnect_queue_from_path(sint32 x, sint32 y, rct_map_element *mapElement, sint32 action, sint32 direction) { - if (((mapElement->properties.path.edges & (1 << direction)) == 0) ^ (action < 0)) - return false; - if ((action < 0) && fence_in_the_way(x, y, mapElement->base_height, mapElement->clearance_height, direction)) - return false; + if (((mapElement->properties.path.edges & (1 << direction)) == 0) ^ (action < 0)) + return false; + if ((action < 0) && fence_in_the_way(x, y, mapElement->base_height, mapElement->clearance_height, direction)) + return false; - sint32 x1 = x + TileDirectionDelta[direction].x; - sint32 y1 = y + TileDirectionDelta[direction].y; - sint32 z = mapElement->base_height; - rct_map_element *otherMapElement = footpath_get_element(x1, y1, z - 2, z, direction); - if (otherMapElement != NULL && !footpath_element_is_queue(otherMapElement)) { - mapElement->properties.path.type &= 0xFC; - if (action > 0) { - mapElement->properties.path.edges &= ~(1 << direction); - otherMapElement->properties.path.edges &= ~(1 << ((direction + 2) & 3)); - if (action >= 2) mapElement->properties.path.type |= direction; - } - else if (action < 0) { - mapElement->properties.path.edges |= (1 << direction); - otherMapElement->properties.path.edges |= (1 << ((direction + 2) & 3)); - } - if (action != 0) map_invalidate_tile_full(x1, y1); - return true; - } - return false; + sint32 x1 = x + TileDirectionDelta[direction].x; + sint32 y1 = y + TileDirectionDelta[direction].y; + sint32 z = mapElement->base_height; + rct_map_element *otherMapElement = footpath_get_element(x1, y1, z - 2, z, direction); + if (otherMapElement != NULL && !footpath_element_is_queue(otherMapElement)) { + mapElement->properties.path.type &= 0xFC; + if (action > 0) { + mapElement->properties.path.edges &= ~(1 << direction); + otherMapElement->properties.path.edges &= ~(1 << ((direction + 2) & 3)); + if (action >= 2) mapElement->properties.path.type |= direction; + } + else if (action < 0) { + mapElement->properties.path.edges |= (1 << direction); + otherMapElement->properties.path.edges |= (1 << ((direction + 2) & 3)); + } + if (action != 0) map_invalidate_tile_full(x1, y1); + return true; + } + return false; } static bool footpath_disconnect_queue_from_path(sint32 x, sint32 y, rct_map_element *mapElement, sint32 action) { - if (!footpath_element_is_queue(mapElement)) return false; + if (!footpath_element_is_queue(mapElement)) return false; - if (footpath_element_is_sloped(mapElement)) return false; + if (footpath_element_is_sloped(mapElement)) return false; - uint8 c = connected_path_count[mapElement->properties.path.edges & 0x0F]; - if ((action < 0) ? (c >= 2) : (c < 2)) return false; + uint8 c = connected_path_count[mapElement->properties.path.edges & 0x0F]; + if ((action < 0) ? (c >= 2) : (c < 2)) return false; - if (action < 0) { - if (sub_footpath_disconnect_queue_from_path(x, y, mapElement, action, mapElement->properties.path.type & 3)) - return true; - } + if (action < 0) { + if (sub_footpath_disconnect_queue_from_path(x, y, mapElement, action, mapElement->properties.path.type & 3)) + return true; + } - for (sint32 direction = 0; direction < 4; direction++) { - if ((action < 0) && (direction == (mapElement->properties.path.type & 3))) continue; - if (sub_footpath_disconnect_queue_from_path(x, y, mapElement, action, direction)) - return true; - } + for (sint32 direction = 0; direction < 4; direction++) { + if ((action < 0) && (direction == (mapElement->properties.path.type & 3))) continue; + if (sub_footpath_disconnect_queue_from_path(x, y, mapElement, action, direction)) + return true; + } - return false; + return false; } static bool footpath_is_queue_connected_to_path(sint32 x, sint32 y, rct_map_element *mapElement, sint32 direction) { - if (!footpath_element_is_queue(mapElement)) return false; - if (!(mapElement->properties.path.edges & (1 << direction))) return false; + if (!footpath_element_is_queue(mapElement)) return false; + if (!(mapElement->properties.path.edges & (1 << direction))) return false; - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; - mapElement = map_get_path_element_at(x / 32, y / 32, mapElement->base_height); - if (mapElement == NULL) return false; - if (footpath_element_is_queue(mapElement)) return false; - if (mapElement->properties.path.edges & ((1 << direction) ^ 2)) return true; - return false; + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; + mapElement = map_get_path_element_at(x / 32, y / 32, mapElement->base_height); + if (mapElement == NULL) return false; + if (footpath_element_is_queue(mapElement)) return false; + if (mapElement->properties.path.edges & ((1 << direction) ^ 2)) return true; + return false; } /** @@ -1140,157 +1140,157 @@ static bool footpath_is_queue_connected_to_path(sint32 x, sint32 y, rct_map_elem * rct2: 0x006A6D7E */ static void loc_6A6D7E( - sint32 initialX, sint32 initialY, sint32 z, sint32 direction, rct_map_element *initialMapElement, - sint32 flags, bool query, rct_neighbour_list *neighbourList + sint32 initialX, sint32 initialY, sint32 z, sint32 direction, rct_map_element *initialMapElement, + sint32 flags, bool query, rct_neighbour_list *neighbourList ) { - sint32 x = initialX + TileDirectionDelta[direction].x; - sint32 y = initialY + TileDirectionDelta[direction].y; - if (((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) && map_is_edge(x, y)) { - if (query) { - neighbour_list_push(neighbourList, 7, direction, 255, 255); - } - } else { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - switch (map_element_get_type(mapElement)) { - case MAP_ELEMENT_TYPE_PATH: - if (z == mapElement->base_height) { - if (footpath_element_is_sloped(mapElement) && footpath_element_get_slope_direction(mapElement) != direction) { - return; - } else { - goto loc_6A6F1F; - } - } - if (z - 2 == mapElement->base_height) { - if (!footpath_element_is_sloped(mapElement) || footpath_element_get_slope_direction(mapElement) != (direction ^ 2)) { - return; - } - goto loc_6A6F1F; - } - break; - case MAP_ELEMENT_TYPE_TRACK: - if (z == mapElement->base_height) { - rct_ride *ride = get_ride(mapElement->properties.track.ride_index); - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - continue; - } + sint32 x = initialX + TileDirectionDelta[direction].x; + sint32 y = initialY + TileDirectionDelta[direction].y; + if (((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode) && map_is_edge(x, y)) { + if (query) { + neighbour_list_push(neighbourList, 7, direction, 255, 255); + } + } else { + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + switch (map_element_get_type(mapElement)) { + case MAP_ELEMENT_TYPE_PATH: + if (z == mapElement->base_height) { + if (footpath_element_is_sloped(mapElement) && footpath_element_get_slope_direction(mapElement) != direction) { + return; + } else { + goto loc_6A6F1F; + } + } + if (z - 2 == mapElement->base_height) { + if (!footpath_element_is_sloped(mapElement) || footpath_element_get_slope_direction(mapElement) != (direction ^ 2)) { + return; + } + goto loc_6A6F1F; + } + break; + case MAP_ELEMENT_TYPE_TRACK: + if (z == mapElement->base_height) { + rct_ride *ride = get_ride(mapElement->properties.track.ride_index); + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + continue; + } - const uint8 trackType = mapElement->properties.track.type; - const uint8 trackSequence = mapElement->properties.track.sequence & 0x0F; - if (!(FlatRideTrackSequenceProperties[trackType][trackSequence] & TRACK_SEQUENCE_FLAG_CONNECTS_TO_PATH)) { - return; - } - uint16 dx = ((direction - mapElement->type) & 3) ^ 2; - if (!(FlatRideTrackSequenceProperties[trackType][trackSequence] & (1 << dx))) { - return; - } - if (query) { - neighbour_list_push(neighbourList, 1, direction, mapElement->properties.track.ride_index, 255); - } - goto loc_6A6FD2; - } - break; - case MAP_ELEMENT_TYPE_ENTRANCE: - if (z == mapElement->base_height) { - if (entrance_has_direction(mapElement, ((direction - mapElement->type) & 3) ^ 2)) { - if (query) { - neighbour_list_push(neighbourList, 8, direction, mapElement->properties.entrance.ride_index, mapElement->properties.entrance.index); - } else { - if (mapElement->properties.entrance.type != ENTRANCE_TYPE_PARK_ENTRANCE) { - footpath_queue_chain_push(mapElement->properties.entrance.ride_index); - } - } - goto loc_6A6FD2; - } - } - break; - } - } while (!map_element_is_last_for_tile(mapElement++)); - return; + const uint8 trackType = mapElement->properties.track.type; + const uint8 trackSequence = mapElement->properties.track.sequence & 0x0F; + if (!(FlatRideTrackSequenceProperties[trackType][trackSequence] & TRACK_SEQUENCE_FLAG_CONNECTS_TO_PATH)) { + return; + } + uint16 dx = ((direction - mapElement->type) & 3) ^ 2; + if (!(FlatRideTrackSequenceProperties[trackType][trackSequence] & (1 << dx))) { + return; + } + if (query) { + neighbour_list_push(neighbourList, 1, direction, mapElement->properties.track.ride_index, 255); + } + goto loc_6A6FD2; + } + break; + case MAP_ELEMENT_TYPE_ENTRANCE: + if (z == mapElement->base_height) { + if (entrance_has_direction(mapElement, ((direction - mapElement->type) & 3) ^ 2)) { + if (query) { + neighbour_list_push(neighbourList, 8, direction, mapElement->properties.entrance.ride_index, mapElement->properties.entrance.index); + } else { + if (mapElement->properties.entrance.type != ENTRANCE_TYPE_PARK_ENTRANCE) { + footpath_queue_chain_push(mapElement->properties.entrance.ride_index); + } + } + goto loc_6A6FD2; + } + } + break; + } + } while (!map_element_is_last_for_tile(mapElement++)); + return; - loc_6A6F1F: - if (query) { - if (fence_in_the_way(x, y, mapElement->base_height, mapElement->clearance_height, direction ^ 2)) { - return; - } - if (footpath_element_is_queue(mapElement)) { - if (connected_path_count[mapElement->properties.path.edges & 0x0F] < 2) { - neighbour_list_push(neighbourList, 4, direction, mapElement->properties.path.ride_index, mapElement->properties.entrance.index); - } else { - if (map_element_get_type(initialMapElement) == MAP_ELEMENT_TYPE_PATH && - footpath_element_is_queue(initialMapElement)) { - if (footpath_disconnect_queue_from_path(x, y, mapElement, 0)) { - neighbour_list_push(neighbourList, 3, direction, mapElement->properties.path.ride_index, mapElement->properties.entrance.index); - } - } - } - } else { - neighbour_list_push(neighbourList, 2, direction, 255, 255); - } - } else { - footpath_disconnect_queue_from_path(x, y, mapElement, 1 + ((flags >> 6) & 1)); - mapElement->properties.path.edges |= (1 << (direction ^ 2)); - if (footpath_element_is_queue(mapElement)) { - footpath_queue_chain_push(mapElement->properties.path.ride_index); - } - } - if (!(flags & 0x48)) { - footpath_interrupt_peeps(x, y, mapElement->base_height * 8); - } - map_invalidate_element(x, y, mapElement); - } + loc_6A6F1F: + if (query) { + if (fence_in_the_way(x, y, mapElement->base_height, mapElement->clearance_height, direction ^ 2)) { + return; + } + if (footpath_element_is_queue(mapElement)) { + if (connected_path_count[mapElement->properties.path.edges & 0x0F] < 2) { + neighbour_list_push(neighbourList, 4, direction, mapElement->properties.path.ride_index, mapElement->properties.entrance.index); + } else { + if (map_element_get_type(initialMapElement) == MAP_ELEMENT_TYPE_PATH && + footpath_element_is_queue(initialMapElement)) { + if (footpath_disconnect_queue_from_path(x, y, mapElement, 0)) { + neighbour_list_push(neighbourList, 3, direction, mapElement->properties.path.ride_index, mapElement->properties.entrance.index); + } + } + } + } else { + neighbour_list_push(neighbourList, 2, direction, 255, 255); + } + } else { + footpath_disconnect_queue_from_path(x, y, mapElement, 1 + ((flags >> 6) & 1)); + mapElement->properties.path.edges |= (1 << (direction ^ 2)); + if (footpath_element_is_queue(mapElement)) { + footpath_queue_chain_push(mapElement->properties.path.ride_index); + } + } + if (!(flags & 0x48)) { + footpath_interrupt_peeps(x, y, mapElement->base_height * 8); + } + map_invalidate_element(x, y, mapElement); + } loc_6A6FD2: - if (map_element_get_type(initialMapElement) == MAP_ELEMENT_TYPE_PATH) { - if (!query) { - initialMapElement->properties.path.edges |= (1 << direction); - map_invalidate_element(initialX, initialY, initialMapElement); - } - } + if (map_element_get_type(initialMapElement) == MAP_ELEMENT_TYPE_PATH) { + if (!query) { + initialMapElement->properties.path.edges |= (1 << direction); + map_invalidate_element(initialX, initialY, initialMapElement); + } + } } static void loc_6A6C85( - sint32 x, sint32 y, sint32 direction, rct_map_element *mapElement, - sint32 flags, bool query, rct_neighbour_list *neighbourList + sint32 x, sint32 y, sint32 direction, rct_map_element *mapElement, + sint32 flags, bool query, rct_neighbour_list *neighbourList ) { - if (query && fence_in_the_way(x, y, mapElement->base_height, mapElement->clearance_height, direction)) - return; + if (query && fence_in_the_way(x, y, mapElement->base_height, mapElement->clearance_height, direction)) + return; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE) { - if (!entrance_has_direction(mapElement, (direction - mapElement->type) & 3)) { - return; - } - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE) { + if (!entrance_has_direction(mapElement, (direction - mapElement->type) & 3)) { + return; + } + } - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK) { - rct_ride *ride = get_ride(mapElement->properties.track.ride_index); - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { - return; - } - const uint8 trackType = mapElement->properties.track.type; - const uint8 trackSequence = mapElement->properties.track.sequence & 0x0F; - if (!(FlatRideTrackSequenceProperties[trackType][trackSequence] & TRACK_SEQUENCE_FLAG_CONNECTS_TO_PATH)) { - return; - } - uint16 dx = (direction - mapElement->type) & 3; - if (!(FlatRideTrackSequenceProperties[trackType][trackSequence] & (1 << dx))) { - return; - } - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK) { + rct_ride *ride = get_ride(mapElement->properties.track.ride_index); + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) { + return; + } + const uint8 trackType = mapElement->properties.track.type; + const uint8 trackSequence = mapElement->properties.track.sequence & 0x0F; + if (!(FlatRideTrackSequenceProperties[trackType][trackSequence] & TRACK_SEQUENCE_FLAG_CONNECTS_TO_PATH)) { + return; + } + uint16 dx = (direction - mapElement->type) & 3; + if (!(FlatRideTrackSequenceProperties[trackType][trackSequence] & (1 << dx))) { + return; + } + } - sint32 z = mapElement->base_height; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { - if (footpath_element_is_sloped(mapElement)) { - if ((footpath_element_get_slope_direction(mapElement) - direction) & 1) { - return; - } - if (footpath_element_get_slope_direction(mapElement) == direction) { - z += 2; - } - } - } + sint32 z = mapElement->base_height; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { + if (footpath_element_is_sloped(mapElement)) { + if ((footpath_element_get_slope_direction(mapElement) - direction) & 1) { + return; + } + if (footpath_element_get_slope_direction(mapElement) == direction) { + z += 2; + } + } + } - loc_6A6D7E(x, y, z, direction, mapElement, flags, query, neighbourList); + loc_6A6D7E(x, y, z, direction, mapElement, flags, query, neighbourList); } /** @@ -1299,48 +1299,48 @@ static void loc_6A6C85( */ void footpath_connect_edges(sint32 x, sint32 y, rct_map_element *mapElement, sint32 flags) { - rct_neighbour_list neighbourList; - rct_neighbour neighbour; + rct_neighbour_list neighbourList; + rct_neighbour neighbour; - footpath_update_queue_chains(); + footpath_update_queue_chains(); - neighbour_list_init(&neighbourList); + neighbour_list_init(&neighbourList); - footpath_update_queue_entrance_banner(x, y, mapElement); - for (sint32 direction = 0; direction < 4; direction++) { - loc_6A6C85(x, y, direction, mapElement, flags, true, &neighbourList); - } + footpath_update_queue_entrance_banner(x, y, mapElement); + for (sint32 direction = 0; direction < 4; direction++) { + loc_6A6C85(x, y, direction, mapElement, flags, true, &neighbourList); + } - neighbour_list_sort(&neighbourList); + neighbour_list_sort(&neighbourList); - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH && footpath_element_is_queue(mapElement)) { - sint32 rideIndex = -1; - uint8 entranceIndex = 255; - for (sint32 i = 0; i < neighbourList.count; i++) { - if (neighbourList.items[i].ride_index != 255) { - if (rideIndex == -1) { - rideIndex = neighbourList.items[i].ride_index; - entranceIndex = neighbourList.items[i].entrance_index; - } else if (rideIndex != neighbourList.items[i].ride_index) { - neighbour_list_remove(&neighbourList, i); - } else if (rideIndex == neighbourList.items[i].ride_index - && entranceIndex != neighbourList.items[i].entrance_index - && neighbourList.items[i].entrance_index != 255) { - neighbour_list_remove(&neighbourList, i); - } - } - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH && footpath_element_is_queue(mapElement)) { + sint32 rideIndex = -1; + uint8 entranceIndex = 255; + for (sint32 i = 0; i < neighbourList.count; i++) { + if (neighbourList.items[i].ride_index != 255) { + if (rideIndex == -1) { + rideIndex = neighbourList.items[i].ride_index; + entranceIndex = neighbourList.items[i].entrance_index; + } else if (rideIndex != neighbourList.items[i].ride_index) { + neighbour_list_remove(&neighbourList, i); + } else if (rideIndex == neighbourList.items[i].ride_index + && entranceIndex != neighbourList.items[i].entrance_index + && neighbourList.items[i].entrance_index != 255) { + neighbour_list_remove(&neighbourList, i); + } + } + } - neighbourList.count = min(neighbourList.count, 2); - } + neighbourList.count = min(neighbourList.count, 2); + } - while (neighbour_list_pop(&neighbourList, &neighbour)) { - loc_6A6C85(x, y, neighbour.direction, mapElement, flags, false, NULL); - } + while (neighbour_list_pop(&neighbourList, &neighbour)) { + loc_6A6C85(x, y, neighbour.direction, mapElement, flags, false, NULL); + } - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { - footpath_connect_corners(x, y, mapElement); - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { + footpath_connect_corners(x, y, mapElement); + } } /** @@ -1349,111 +1349,111 @@ void footpath_connect_edges(sint32 x, sint32 y, rct_map_element *mapElement, sin */ void footpath_chain_ride_queue(sint32 rideIndex, sint32 entranceIndex, sint32 x, sint32 y, rct_map_element *mapElement, sint32 direction) { - rct_map_element *lastPathElement, *lastQueuePathElement; - sint32 lastPathX = x, lastPathY = y, lastPathDirection = direction; + rct_map_element *lastPathElement, *lastQueuePathElement; + sint32 lastPathX = x, lastPathY = y, lastPathDirection = direction; - lastPathElement = NULL; - lastQueuePathElement = NULL; - sint32 z = mapElement->base_height; - for (;;) { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { - lastPathElement = mapElement; - lastPathX = x; - lastPathY = y; - lastPathDirection = direction; - if (footpath_element_is_sloped(mapElement)) { - if (footpath_element_get_slope_direction(mapElement) == direction) { - z += 2; - } - } - } + lastPathElement = NULL; + lastQueuePathElement = NULL; + sint32 z = mapElement->base_height; + for (;;) { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { + lastPathElement = mapElement; + lastPathX = x; + lastPathY = y; + lastPathDirection = direction; + if (footpath_element_is_sloped(mapElement)) { + if (footpath_element_get_slope_direction(mapElement) == direction) { + z += 2; + } + } + } - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (lastQueuePathElement == mapElement) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; - if (mapElement->base_height == z) { - if (footpath_element_is_sloped(mapElement)) { - if (footpath_element_get_slope_direction(mapElement) != direction) - break; - } - goto foundNextPath; - } - if (mapElement->base_height == z - 2) { - if (!footpath_element_is_sloped(mapElement)) - break; + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (lastQueuePathElement == mapElement) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; + if (mapElement->base_height == z) { + if (footpath_element_is_sloped(mapElement)) { + if (footpath_element_get_slope_direction(mapElement) != direction) + break; + } + goto foundNextPath; + } + if (mapElement->base_height == z - 2) { + if (!footpath_element_is_sloped(mapElement)) + break; - if ((footpath_element_get_slope_direction(mapElement) ^ 2) != direction) - break; + if ((footpath_element_get_slope_direction(mapElement) ^ 2) != direction) + break; - z -= 2; - goto foundNextPath; - } - } while (!map_element_is_last_for_tile(mapElement++)); - break; + z -= 2; + goto foundNextPath; + } + } while (!map_element_is_last_for_tile(mapElement++)); + break; - foundNextPath: - if (footpath_element_is_queue(mapElement)) { - // Fix #2051: Stop queue paths that are already connected to two other tiles - // from connecting to the tile we are coming from. - sint32 edges = mapElement->properties.path.edges; - sint32 numEdges = bitcount(edges); - if (numEdges >= 2) { - sint32 requiredEdgeMask = 1 << (direction ^ 2); - if (!(edges & requiredEdgeMask)) { - break; - } - } + foundNextPath: + if (footpath_element_is_queue(mapElement)) { + // Fix #2051: Stop queue paths that are already connected to two other tiles + // from connecting to the tile we are coming from. + sint32 edges = mapElement->properties.path.edges; + sint32 numEdges = bitcount(edges); + if (numEdges >= 2) { + sint32 requiredEdgeMask = 1 << (direction ^ 2); + if (!(edges & requiredEdgeMask)) { + break; + } + } - mapElement->properties.path.type &= ~(1 << 3); - mapElement->properties.path.edges |= (1 << (direction ^ 2)); - mapElement->properties.path.ride_index = rideIndex; - mapElement->properties.path.additions &= 0x8F; - mapElement->properties.path.additions |= (entranceIndex & 7) << 4; + mapElement->properties.path.type &= ~(1 << 3); + mapElement->properties.path.edges |= (1 << (direction ^ 2)); + mapElement->properties.path.ride_index = rideIndex; + mapElement->properties.path.additions &= 0x8F; + mapElement->properties.path.additions |= (entranceIndex & 7) << 4; - map_invalidate_element(x, y, mapElement); + map_invalidate_element(x, y, mapElement); - if (lastQueuePathElement == NULL) { - lastQueuePathElement = mapElement; - } + if (lastQueuePathElement == NULL) { + lastQueuePathElement = mapElement; + } - if (mapElement->properties.path.edges & (1 << direction)) - continue; + if (mapElement->properties.path.edges & (1 << direction)) + continue; - direction = (direction + 1) & 3; - if (mapElement->properties.path.edges & (1 << direction)) - continue; + direction = (direction + 1) & 3; + if (mapElement->properties.path.edges & (1 << direction)) + continue; - direction ^= 2; - if (mapElement->properties.path.edges & (1 << direction)) - continue; - } - break; - } + direction ^= 2; + if (mapElement->properties.path.edges & (1 << direction)) + continue; + } + break; + } - if (rideIndex != 255 && lastPathElement != NULL) { - if (footpath_element_is_queue(lastPathElement)) { - lastPathElement->properties.path.type |= (1 << 3); - lastPathElement->type &= 0x3F; - lastPathElement->type |= lastPathDirection << 6; + if (rideIndex != 255 && lastPathElement != NULL) { + if (footpath_element_is_queue(lastPathElement)) { + lastPathElement->properties.path.type |= (1 << 3); + lastPathElement->type &= 0x3F; + lastPathElement->type |= lastPathDirection << 6; - map_animation_create( - MAP_ANIMATION_TYPE_QUEUE_BANNER, - lastPathX, - lastPathY, - lastPathElement->base_height - ); - } - } + map_animation_create( + MAP_ANIMATION_TYPE_QUEUE_BANNER, + lastPathX, + lastPathY, + lastPathElement->base_height + ); + } + } } void footpath_queue_chain_reset() { - _footpathQueueChainNext = _footpathQueueChain; + _footpathQueueChainNext = _footpathQueueChain; } /** @@ -1462,12 +1462,12 @@ void footpath_queue_chain_reset() */ void footpath_queue_chain_push(uint8 rideIndex) { - if (rideIndex != 255) { - uint8 * lastSlot = _footpathQueueChain + countof(_footpathQueueChain) - 1; - if (_footpathQueueChainNext <= lastSlot) { - *_footpathQueueChainNext++ = rideIndex; - } - } + if (rideIndex != 255) { + uint8 * lastSlot = _footpathQueueChain + countof(_footpathQueueChain) - 1; + if (_footpathQueueChainNext <= lastSlot) { + *_footpathQueueChainNext++ = rideIndex; + } + } } /** @@ -1476,33 +1476,33 @@ void footpath_queue_chain_push(uint8 rideIndex) */ void footpath_update_queue_chains() { - for (uint8 *queueChainPtr = _footpathQueueChain; queueChainPtr < _footpathQueueChainNext; queueChainPtr++) { - uint8 rideIndex = *queueChainPtr; - rct_ride *ride = get_ride(rideIndex); - if (ride->type == RIDE_TYPE_NULL) { - continue; - } + for (uint8 *queueChainPtr = _footpathQueueChain; queueChainPtr < _footpathQueueChainNext; queueChainPtr++) { + uint8 rideIndex = *queueChainPtr; + rct_ride *ride = get_ride(rideIndex); + if (ride->type == RIDE_TYPE_NULL) { + continue; + } - for (sint32 i = 0; i < 4; i++) { - if (ride->entrances[i] == 0xFFFF) { - continue; - } + for (sint32 i = 0; i < 4; i++) { + if (ride->entrances[i] == 0xFFFF) { + continue; + } - uint8 x = ride->entrances[i] & 0xFF; - uint8 y = ride->entrances[i] >> 8; - uint8 z = ride->station_heights[i]; + uint8 x = ride->entrances[i] & 0xFF; + uint8 y = ride->entrances[i] >> 8; + uint8 z = ride->station_heights[i]; - rct_map_element *mapElement = map_get_first_element_at(x, y); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) continue; - if (mapElement->base_height != z) continue; - if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_ENTRANCE) continue; + rct_map_element *mapElement = map_get_first_element_at(x, y); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) continue; + if (mapElement->base_height != z) continue; + if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_ENTRANCE) continue; - uint8 direction = (mapElement->type & 3) ^ 2; - footpath_chain_ride_queue(rideIndex, i, x << 5, y << 5, mapElement, direction); - } while (!map_element_is_last_for_tile(mapElement++)); - } - } + uint8 direction = (mapElement->type & 3) ^ 2; + footpath_chain_ride_queue(rideIndex, i, x << 5, y << 5, mapElement, direction); + } while (!map_element_is_last_for_tile(mapElement++)); + } + } } /** @@ -1511,17 +1511,17 @@ void footpath_update_queue_chains() */ static void footpath_unown(sint32 x, sint32 y, rct_map_element *pathElement) { - map_buy_land_rights(x, y, x, y, 6, 1); + map_buy_land_rights(x, y, x, y, 6, 1); } static bool get_next_direction(sint32 edges, sint32 *direction) { - sint32 index = bitscanforward(edges); - if (index == -1) - return false; + sint32 index = bitscanforward(edges); + if (index == -1) + return false; - *direction = index; - return true; + *direction = index; + return true; } /** @@ -1532,177 +1532,177 @@ static bool get_next_direction(sint32 edges, sint32 *direction) * (1 << 7): Ignore no entry signs */ static sint32 footpath_is_connected_to_map_edge_recurse( - sint32 x, sint32 y, sint32 z, sint32 direction, sint32 flags, - sint32 level, sint32 distanceFromJunction, sint32 junctionTolerance + sint32 x, sint32 y, sint32 z, sint32 direction, sint32 flags, + sint32 level, sint32 distanceFromJunction, sint32 junctionTolerance ) { - rct_map_element *mapElement; - sint32 edges, slopeDirection; + rct_map_element *mapElement; + sint32 edges, slopeDirection; - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; - if (++level > 250) - return FOOTPATH_SEARCH_TOO_COMPLEX; + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; + if (++level > 250) + return FOOTPATH_SEARCH_TOO_COMPLEX; - // Check if we are at edge of map - if (x < 32 || y < 32) - return FOOTPATH_SEARCH_SUCCESS; - if (x >= gMapSizeUnits || y >= gMapSizeUnits) - return FOOTPATH_SEARCH_SUCCESS; + // Check if we are at edge of map + if (x < 32 || y < 32) + return FOOTPATH_SEARCH_SUCCESS; + if (x >= gMapSizeUnits || y >= gMapSizeUnits) + return FOOTPATH_SEARCH_SUCCESS; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; - if ( - footpath_element_is_sloped(mapElement) && - (slopeDirection = footpath_element_get_slope_direction(mapElement)) != direction - ) { - if ((slopeDirection ^ 2) != direction) continue; - if (mapElement->base_height + 2 != z) continue; - } else if (mapElement->base_height != z) { - continue; - } + if ( + footpath_element_is_sloped(mapElement) && + (slopeDirection = footpath_element_get_slope_direction(mapElement)) != direction + ) { + if ((slopeDirection ^ 2) != direction) continue; + if (mapElement->base_height + 2 != z) continue; + } else if (mapElement->base_height != z) { + continue; + } - if (!(flags & (1 << 0))) { - if (footpath_element_is_queue(mapElement)) { - continue; - } - } + if (!(flags & (1 << 0))) { + if (footpath_element_is_queue(mapElement)) { + continue; + } + } - if (flags & (1 << 5)) { - footpath_unown(x, y, mapElement); - } - edges = mapElement->properties.path.edges & 0x0F; - direction ^= 2; - if (!(flags & (1 << 7))) { - if (mapElement[1].type == MAP_ELEMENT_TYPE_BANNER) { - for (sint32 i = 1; i < 4; i++) { - if (map_element_is_last_for_tile(&mapElement[i - 1])) break; - if (mapElement[i].type != MAP_ELEMENT_TYPE_BANNER) break; - edges &= mapElement[i].properties.banner.flags; - } - } - if (mapElement[2].type == MAP_ELEMENT_TYPE_BANNER && mapElement[1].type != MAP_ELEMENT_TYPE_PATH) { - for (sint32 i = 1; i < 6; i++) { - if (map_element_is_last_for_tile(&mapElement[i - 1])) break; - if (mapElement[i].type != MAP_ELEMENT_TYPE_BANNER) break; - edges &= mapElement[i].properties.banner.flags; - } - } - } - goto searchFromFootpath; - } while (!map_element_is_last_for_tile(mapElement++)); - return level == 1 ? FOOTPATH_SEARCH_NOT_FOUND : FOOTPATH_SEARCH_INCOMPLETE; + if (flags & (1 << 5)) { + footpath_unown(x, y, mapElement); + } + edges = mapElement->properties.path.edges & 0x0F; + direction ^= 2; + if (!(flags & (1 << 7))) { + if (mapElement[1].type == MAP_ELEMENT_TYPE_BANNER) { + for (sint32 i = 1; i < 4; i++) { + if (map_element_is_last_for_tile(&mapElement[i - 1])) break; + if (mapElement[i].type != MAP_ELEMENT_TYPE_BANNER) break; + edges &= mapElement[i].properties.banner.flags; + } + } + if (mapElement[2].type == MAP_ELEMENT_TYPE_BANNER && mapElement[1].type != MAP_ELEMENT_TYPE_PATH) { + for (sint32 i = 1; i < 6; i++) { + if (map_element_is_last_for_tile(&mapElement[i - 1])) break; + if (mapElement[i].type != MAP_ELEMENT_TYPE_BANNER) break; + edges &= mapElement[i].properties.banner.flags; + } + } + } + goto searchFromFootpath; + } while (!map_element_is_last_for_tile(mapElement++)); + return level == 1 ? FOOTPATH_SEARCH_NOT_FOUND : FOOTPATH_SEARCH_INCOMPLETE; searchFromFootpath: - // Exclude direction we came from - z = mapElement->base_height; - edges &= ~(1 << direction); + // Exclude direction we came from + z = mapElement->base_height; + edges &= ~(1 << direction); - // Find next direction to go - if (!get_next_direction(edges, &direction)) { - return FOOTPATH_SEARCH_INCOMPLETE; - } + // Find next direction to go + if (!get_next_direction(edges, &direction)) { + return FOOTPATH_SEARCH_INCOMPLETE; + } - edges &= ~(1 << direction); - if (edges == 0) { - // Only possible direction to go - if (footpath_element_is_sloped(mapElement) && footpath_element_get_slope_direction(mapElement) == direction) { - z += 2; - } - return footpath_is_connected_to_map_edge_recurse( - x, y, z, direction, flags, - level, distanceFromJunction + 1, junctionTolerance - ); - } else { - // We have reached a junction - if (distanceFromJunction != 0) { - junctionTolerance--; - } - junctionTolerance--; - if (junctionTolerance < 0) { - return FOOTPATH_SEARCH_TOO_COMPLEX; - } + edges &= ~(1 << direction); + if (edges == 0) { + // Only possible direction to go + if (footpath_element_is_sloped(mapElement) && footpath_element_get_slope_direction(mapElement) == direction) { + z += 2; + } + return footpath_is_connected_to_map_edge_recurse( + x, y, z, direction, flags, + level, distanceFromJunction + 1, junctionTolerance + ); + } else { + // We have reached a junction + if (distanceFromJunction != 0) { + junctionTolerance--; + } + junctionTolerance--; + if (junctionTolerance < 0) { + return FOOTPATH_SEARCH_TOO_COMPLEX; + } - do { - edges &= ~(1 << direction); - if (footpath_element_is_sloped(mapElement) && footpath_element_get_slope_direction(mapElement) == direction) { - z += 2; - } - sint32 result = footpath_is_connected_to_map_edge_recurse(x, y, z, direction, flags, level, 0, junctionTolerance); - if (result == FOOTPATH_SEARCH_SUCCESS) { - return result; - } - } while (get_next_direction(edges, &direction)); + do { + edges &= ~(1 << direction); + if (footpath_element_is_sloped(mapElement) && footpath_element_get_slope_direction(mapElement) == direction) { + z += 2; + } + sint32 result = footpath_is_connected_to_map_edge_recurse(x, y, z, direction, flags, level, 0, junctionTolerance); + if (result == FOOTPATH_SEARCH_SUCCESS) { + return result; + } + } while (get_next_direction(edges, &direction)); - return FOOTPATH_SEARCH_INCOMPLETE; - } + return FOOTPATH_SEARCH_INCOMPLETE; + } } sint32 footpath_is_connected_to_map_edge(sint32 x, sint32 y, sint32 z, sint32 direction, sint32 flags) { - flags |= (1 << 0); - return footpath_is_connected_to_map_edge_recurse(x, y, z, direction, flags, 0, 0, 16); + flags |= (1 << 0); + return footpath_is_connected_to_map_edge_recurse(x, y, z, direction, flags, 0, 0, 16); } bool footpath_element_is_sloped(rct_map_element *mapElement) { - return mapElement->properties.path.type & 4; + return mapElement->properties.path.type & 4; } uint8 footpath_element_get_slope_direction(rct_map_element *mapElement) { - return mapElement->properties.path.type & 3; + return mapElement->properties.path.type & 3; } bool footpath_element_is_queue(rct_map_element *mapElement) { - return mapElement->type & 1; + return mapElement->type & 1; } bool footpath_element_is_wide(rct_map_element *mapElement) { - return mapElement->type & 2; + return mapElement->type & 2; } bool footpath_element_has_path_scenery(rct_map_element *mapElement) { - return (mapElement->properties.path.additions & 0xF) > 0; + return (mapElement->properties.path.additions & 0xF) > 0; } uint8 footpath_element_get_path_scenery(rct_map_element *mapElement) { - return mapElement->properties.path.additions & 0xF; + return mapElement->properties.path.additions & 0xF; } void footpath_element_set_path_scenery(rct_map_element *mapElement, uint8 pathSceneryType) { - mapElement->properties.path.additions = (mapElement->properties.path.additions & 0xF0) | pathSceneryType; + mapElement->properties.path.additions = (mapElement->properties.path.additions & 0xF0) | pathSceneryType; } uint8 footpath_element_get_path_scenery_index(rct_map_element *mapElement) { - return footpath_element_get_path_scenery(mapElement) - 1; + return footpath_element_get_path_scenery(mapElement) - 1; } bool footpath_element_path_scenery_is_ghost(rct_map_element *mapElement) { - return (mapElement->properties.path.additions & 0x80) == 0x80; + return (mapElement->properties.path.additions & 0x80) == 0x80; } void footpath_scenery_set_is_ghost(rct_map_element *mapElement, bool isGhost) { - // Remove ghost flag - mapElement->properties.path.additions &= ~0x80; - // Set flag if it should be a ghost - if (isGhost) - mapElement->properties.path.additions |= 0x80; + // Remove ghost flag + mapElement->properties.path.additions &= ~0x80; + // Set flag if it should be a ghost + if (isGhost) + mapElement->properties.path.additions |= 0x80; } uint8 footpath_element_get_type(rct_map_element *mapElement) { - return mapElement->properties.path.type >> 4; + return mapElement->properties.path.type >> 4; } /** @@ -1713,12 +1713,12 @@ uint8 footpath_element_get_type(rct_map_element *mapElement) */ static void footpath_clear_wide(sint32 x, sint32 y) { - rct_map_element *mapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; - mapElement->type &= ~0x2; - } while (!map_element_is_last_for_tile(mapElement++)); + rct_map_element *mapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; + mapElement->type &= ~0x2; + } while (!map_element_is_last_for_tile(mapElement++)); } /** @@ -1729,20 +1729,20 @@ static void footpath_clear_wide(sint32 x, sint32 y) */ static rct_map_element* footpath_can_be_wide(sint32 x, sint32 y, uint8 height) { - rct_map_element *mapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; - if (height != mapElement->base_height) - continue; - if (footpath_element_is_queue(mapElement)) - continue; - if (footpath_element_is_sloped(mapElement)) - continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + rct_map_element *mapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; + if (height != mapElement->base_height) + continue; + if (footpath_element_is_queue(mapElement)) + continue; + if (footpath_element_is_sloped(mapElement)) + continue; + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } @@ -1752,188 +1752,188 @@ static rct_map_element* footpath_can_be_wide(sint32 x, sint32 y, uint8 height) */ void footpath_update_path_wide_flags(sint32 x, sint32 y) { - if (x < 0x20) - return; - if (y < 0x20) - return; - if (x > 0x1FDF) - return; - if (y > 0x1FDF) - return; + if (x < 0x20) + return; + if (y < 0x20) + return; + if (x > 0x1FDF) + return; + if (y > 0x1FDF) + return; - footpath_clear_wide(x, y); - /* Rather than clearing the wide flag of the following tiles and - * checking the state of them later, leave them intact and assume - * they were cleared. Consequently only the wide flag for this single - * tile is modified by this update. - * This is important for avoiding glitches in pathfinding that occurs - * between the batches of updates to the path wide flags. - * Corresponding pathList[] indexes for the following tiles - * are: 2, 3, 4, 5. - * Note: indexes 3, 4, 5 are reset in the current call; - * index 2 is reset in the previous call. */ - //x += 0x20; - //footpath_clear_wide(x, y); - //y += 0x20; - //footpath_clear_wide(x, y); - //x -= 0x20; - //footpath_clear_wide(x, y); - //y -= 0x20; + footpath_clear_wide(x, y); + /* Rather than clearing the wide flag of the following tiles and + * checking the state of them later, leave them intact and assume + * they were cleared. Consequently only the wide flag for this single + * tile is modified by this update. + * This is important for avoiding glitches in pathfinding that occurs + * between the batches of updates to the path wide flags. + * Corresponding pathList[] indexes for the following tiles + * are: 2, 3, 4, 5. + * Note: indexes 3, 4, 5 are reset in the current call; + * index 2 is reset in the previous call. */ + //x += 0x20; + //footpath_clear_wide(x, y); + //y += 0x20; + //footpath_clear_wide(x, y); + //x -= 0x20; + //footpath_clear_wide(x, y); + //y -= 0x20; - rct_map_element *mapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; + rct_map_element *mapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; - if (footpath_element_is_queue(mapElement)) - continue; + if (footpath_element_is_queue(mapElement)) + continue; - if (footpath_element_is_sloped(mapElement)) - continue; + if (footpath_element_is_sloped(mapElement)) + continue; - if ((mapElement->properties.path.edges & 0xF) == 0) - continue; + if ((mapElement->properties.path.edges & 0xF) == 0) + continue; - uint8 height = mapElement->base_height; + uint8 height = mapElement->base_height; - // pathList is a list of elements, set by sub_6A8ACF adjacent to x,y - // Spanned from 0x00F3EFA8 to 0x00F3EFC7 (8 elements) in the original - rct_map_element *pathList[8]; + // pathList is a list of elements, set by sub_6A8ACF adjacent to x,y + // Spanned from 0x00F3EFA8 to 0x00F3EFC7 (8 elements) in the original + rct_map_element *pathList[8]; - x -= 0x20; - y -= 0x20; - pathList[0] = footpath_can_be_wide(x, y, height); - y += 0x20; - pathList[1] = footpath_can_be_wide(x, y, height); - y += 0x20; - pathList[2] = footpath_can_be_wide(x, y, height); - x += 0x20; - pathList[3] = footpath_can_be_wide(x, y, height); - x += 0x20; - pathList[4] = footpath_can_be_wide(x, y, height); - y -= 0x20; - pathList[5] = footpath_can_be_wide(x, y, height); - y -= 0x20; - pathList[6] = footpath_can_be_wide(x, y, height); - x -= 0x20; - pathList[7] = footpath_can_be_wide(x, y, height); - y += 0x20; + x -= 0x20; + y -= 0x20; + pathList[0] = footpath_can_be_wide(x, y, height); + y += 0x20; + pathList[1] = footpath_can_be_wide(x, y, height); + y += 0x20; + pathList[2] = footpath_can_be_wide(x, y, height); + x += 0x20; + pathList[3] = footpath_can_be_wide(x, y, height); + x += 0x20; + pathList[4] = footpath_can_be_wide(x, y, height); + y -= 0x20; + pathList[5] = footpath_can_be_wide(x, y, height); + y -= 0x20; + pathList[6] = footpath_can_be_wide(x, y, height); + x -= 0x20; + pathList[7] = footpath_can_be_wide(x, y, height); + y += 0x20; - uint8 F3EFA5 = 0; - if (mapElement->properties.path.edges & 8) { - F3EFA5 |= 0x80; - if (pathList[7] != NULL) { - if (footpath_element_is_wide(pathList[7])) { - F3EFA5 &= ~0x80; - } - } - } + uint8 F3EFA5 = 0; + if (mapElement->properties.path.edges & 8) { + F3EFA5 |= 0x80; + if (pathList[7] != NULL) { + if (footpath_element_is_wide(pathList[7])) { + F3EFA5 &= ~0x80; + } + } + } - if (mapElement->properties.path.edges & 1) { - F3EFA5 |= 0x2; - if (pathList[1] != NULL) { - if (footpath_element_is_wide(pathList[1])) { - F3EFA5 &= ~0x2; - } - } - } + if (mapElement->properties.path.edges & 1) { + F3EFA5 |= 0x2; + if (pathList[1] != NULL) { + if (footpath_element_is_wide(pathList[1])) { + F3EFA5 &= ~0x2; + } + } + } - if (mapElement->properties.path.edges & 2) { - F3EFA5 |= 0x8; - /* In the following: - * footpath_element_is_wide(pathList[3]) - * is always false due to the tile update order - * in combination with reset tiles. - * Commented out since it will never occur. */ - //if (pathList[3] != NULL) { - // if (footpath_element_is_wide(pathList[3])) { - // F3EFA5 &= ~0x8; - // } - //} - } + if (mapElement->properties.path.edges & 2) { + F3EFA5 |= 0x8; + /* In the following: + * footpath_element_is_wide(pathList[3]) + * is always false due to the tile update order + * in combination with reset tiles. + * Commented out since it will never occur. */ + //if (pathList[3] != NULL) { + // if (footpath_element_is_wide(pathList[3])) { + // F3EFA5 &= ~0x8; + // } + //} + } - if (mapElement->properties.path.edges & 4) { - F3EFA5 |= 0x20; - /* In the following: - * footpath_element_is_wide(pathList[5]) - * is always false due to the tile update order - * in combination with reset tiles. - * Commented out since it will never occur. */ - //if (pathList[5] != NULL) { - // if (footpath_element_is_wide(pathList[5])) { - // F3EFA5 &= ~0x20; - // } - //} - } + if (mapElement->properties.path.edges & 4) { + F3EFA5 |= 0x20; + /* In the following: + * footpath_element_is_wide(pathList[5]) + * is always false due to the tile update order + * in combination with reset tiles. + * Commented out since it will never occur. */ + //if (pathList[5] != NULL) { + // if (footpath_element_is_wide(pathList[5])) { + // F3EFA5 &= ~0x20; + // } + //} + } - if ((F3EFA5 & 0x80) && (pathList[7] != NULL) && !(footpath_element_is_wide(pathList[7]))) { - if ((F3EFA5 & 2) && - (pathList[0] != NULL) && (!footpath_element_is_wide(pathList[0])) && - ((pathList[0]->properties.path.edges & 6) == 6) && // N E - (pathList[1] != NULL) && (!footpath_element_is_wide(pathList[1]))) { - F3EFA5 |= 0x1; - } + if ((F3EFA5 & 0x80) && (pathList[7] != NULL) && !(footpath_element_is_wide(pathList[7]))) { + if ((F3EFA5 & 2) && + (pathList[0] != NULL) && (!footpath_element_is_wide(pathList[0])) && + ((pathList[0]->properties.path.edges & 6) == 6) && // N E + (pathList[1] != NULL) && (!footpath_element_is_wide(pathList[1]))) { + F3EFA5 |= 0x1; + } - /* In the following: - * footpath_element_is_wide(pathList[5]) - * is always false due to the tile update order - * in combination with reset tiles. - * Short circuit the logic appropriately. */ - if ((F3EFA5 & 0x20) && - (pathList[6] != NULL) && (!footpath_element_is_wide(pathList[6])) && - ((pathList[6]->properties.path.edges & 3) == 3) && // N W - (pathList[5] != NULL) && (true || !footpath_element_is_wide(pathList[5]))) { - F3EFA5 |= 0x40; - } - } + /* In the following: + * footpath_element_is_wide(pathList[5]) + * is always false due to the tile update order + * in combination with reset tiles. + * Short circuit the logic appropriately. */ + if ((F3EFA5 & 0x20) && + (pathList[6] != NULL) && (!footpath_element_is_wide(pathList[6])) && + ((pathList[6]->properties.path.edges & 3) == 3) && // N W + (pathList[5] != NULL) && (true || !footpath_element_is_wide(pathList[5]))) { + F3EFA5 |= 0x40; + } + } - /* In the following: - * footpath_element_is_wide(pathList[2]) - * footpath_element_is_wide(pathList[3]) - * are always false due to the tile update order - * in combination with reset tiles. - * Short circuit the logic appropriately. */ - if ((F3EFA5 & 0x8) && (pathList[3] != NULL) && (true || !footpath_element_is_wide(pathList[3]))) { - if ((F3EFA5 & 2) && - (pathList[2] != NULL) && (true || !footpath_element_is_wide(pathList[2])) && - ((pathList[2]->properties.path.edges & 0xC) == 0xC) && - (pathList[1] != NULL) && (!footpath_element_is_wide(pathList[1]))) { - F3EFA5 |= 0x4; - } + /* In the following: + * footpath_element_is_wide(pathList[2]) + * footpath_element_is_wide(pathList[3]) + * are always false due to the tile update order + * in combination with reset tiles. + * Short circuit the logic appropriately. */ + if ((F3EFA5 & 0x8) && (pathList[3] != NULL) && (true || !footpath_element_is_wide(pathList[3]))) { + if ((F3EFA5 & 2) && + (pathList[2] != NULL) && (true || !footpath_element_is_wide(pathList[2])) && + ((pathList[2]->properties.path.edges & 0xC) == 0xC) && + (pathList[1] != NULL) && (!footpath_element_is_wide(pathList[1]))) { + F3EFA5 |= 0x4; + } - /* In the following: - * footpath_element_is_wide(pathList[4]) - * footpath_element_is_wide(pathList[5]) - * are always false due to the tile update order - * in combination with reset tiles. - * Short circuit the logic appropriately. */ - if ((F3EFA5 & 0x20) && - (pathList[4] != NULL) && (true || !footpath_element_is_wide(pathList[4])) && - ((pathList[4]->properties.path.edges & 9) == 9) && - (pathList[5] != NULL) && (true || !footpath_element_is_wide(pathList[5]))) { - F3EFA5 |= 0x10; - } - } + /* In the following: + * footpath_element_is_wide(pathList[4]) + * footpath_element_is_wide(pathList[5]) + * are always false due to the tile update order + * in combination with reset tiles. + * Short circuit the logic appropriately. */ + if ((F3EFA5 & 0x20) && + (pathList[4] != NULL) && (true || !footpath_element_is_wide(pathList[4])) && + ((pathList[4]->properties.path.edges & 9) == 9) && + (pathList[5] != NULL) && (true || !footpath_element_is_wide(pathList[5]))) { + F3EFA5 |= 0x10; + } + } - if ((F3EFA5 & 0x80) && (F3EFA5 & (0x40 | 0x1))) - F3EFA5 &= ~0x80; + if ((F3EFA5 & 0x80) && (F3EFA5 & (0x40 | 0x1))) + F3EFA5 &= ~0x80; - if ((F3EFA5 & 0x2) && (F3EFA5 & (0x4 | 0x1))) - F3EFA5 &= ~0x2; + if ((F3EFA5 & 0x2) && (F3EFA5 & (0x4 | 0x1))) + F3EFA5 &= ~0x2; - if ((F3EFA5 & 0x8) && (F3EFA5 & (0x10 | 0x4))) - F3EFA5 &= ~0x8; + if ((F3EFA5 & 0x8) && (F3EFA5 & (0x10 | 0x4))) + F3EFA5 &= ~0x8; - if ((F3EFA5 & 0x20) && (F3EFA5 & (0x40 | 0x10))) - F3EFA5 &= ~0x20; + if ((F3EFA5 & 0x20) && (F3EFA5 & (0x40 | 0x10))) + F3EFA5 &= ~0x20; - if (!(F3EFA5 & (0x2 | 0x8 | 0x20 | 0x80))) { - uint8 e = mapElement->properties.path.edges; - if ((e != 0xAF) && (e != 0x5F) && (e != 0xEF)) - mapElement->type |= 2; - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (!(F3EFA5 & (0x2 | 0x8 | 0x20 | 0x80))) { + uint8 e = mapElement->properties.path.edges; + if ((e != 0xAF) && (e != 0x5F) && (e != 0xEF)) + mapElement->type |= 2; + } + } while (!map_element_is_last_for_tile(mapElement++)); } /** @@ -1942,26 +1942,26 @@ void footpath_update_path_wide_flags(sint32 x, sint32 y) */ void footpath_update_queue_entrance_banner(sint32 x, sint32 y, rct_map_element *mapElement) { - sint32 elementType = map_element_get_type(mapElement); - switch (elementType) { - case MAP_ELEMENT_TYPE_PATH: - if (footpath_element_is_queue(mapElement)) { - footpath_queue_chain_push(mapElement->properties.path.ride_index); - for (sint32 direction = 0; direction < 4; direction++) { - if (mapElement->properties.path.edges & (1 << direction)) { - footpath_chain_ride_queue(255, 0, x, y, mapElement, direction); - } - } - mapElement->properties.path.ride_index = 255; - } - break; - case MAP_ELEMENT_TYPE_ENTRANCE: - if (mapElement->properties.entrance.type == ENTRANCE_TYPE_RIDE_ENTRANCE) { - footpath_queue_chain_push(mapElement->properties.entrance.ride_index); - footpath_chain_ride_queue(255, 0, x, y, mapElement, (mapElement->type & MAP_ELEMENT_DIRECTION_MASK) ^ 2); - } - break; - } + sint32 elementType = map_element_get_type(mapElement); + switch (elementType) { + case MAP_ELEMENT_TYPE_PATH: + if (footpath_element_is_queue(mapElement)) { + footpath_queue_chain_push(mapElement->properties.path.ride_index); + for (sint32 direction = 0; direction < 4; direction++) { + if (mapElement->properties.path.edges & (1 << direction)) { + footpath_chain_ride_queue(255, 0, x, y, mapElement, direction); + } + } + mapElement->properties.path.ride_index = 255; + } + break; + case MAP_ELEMENT_TYPE_ENTRANCE: + if (mapElement->properties.entrance.type == ENTRANCE_TYPE_RIDE_ENTRANCE) { + footpath_queue_chain_push(mapElement->properties.entrance.ride_index); + footpath_chain_ride_queue(255, 0, x, y, mapElement, (mapElement->type & MAP_ELEMENT_DIRECTION_MASK) ^ 2); + } + break; + } } /** @@ -1970,41 +1970,41 @@ void footpath_update_queue_entrance_banner(sint32 x, sint32 y, rct_map_element * */ static void footpath_remove_edges_towards_here(sint32 x, sint32 y, sint32 z, sint32 direction, rct_map_element *mapElement, bool isQueue) { - sint32 d; + sint32 d; - if (footpath_element_is_queue(mapElement)) { - footpath_queue_chain_push(mapElement->properties.path.ride_index); - } + if (footpath_element_is_queue(mapElement)) { + footpath_queue_chain_push(mapElement->properties.path.ride_index); + } - d = direction ^ 2; - mapElement->properties.path.edges &= ~(1 << d); - d = ((d - 1) & 3) + 4; - mapElement->properties.path.edges &= ~(1 << d); - d = (((d - 4) + 1) & 3) + 4; - mapElement->properties.path.edges &= ~(1 << d); - map_invalidate_tile(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); + d = direction ^ 2; + mapElement->properties.path.edges &= ~(1 << d); + d = ((d - 1) & 3) + 4; + mapElement->properties.path.edges &= ~(1 << d); + d = (((d - 4) + 1) & 3) + 4; + mapElement->properties.path.edges &= ~(1 << d); + map_invalidate_tile(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); - if (isQueue) footpath_disconnect_queue_from_path(x, y, mapElement, -1); + if (isQueue) footpath_disconnect_queue_from_path(x, y, mapElement, -1); - direction = (direction + 1) & 3; - x += TileDirectionDelta[direction].x; - y += TileDirectionDelta[direction].y; + direction = (direction + 1) & 3; + x += TileDirectionDelta[direction].x; + y += TileDirectionDelta[direction].y; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; - if (mapElement->base_height != z) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; + if (mapElement->base_height != z) + continue; - if (footpath_element_is_sloped(mapElement)) - break; + if (footpath_element_is_sloped(mapElement)) + break; - d = ((direction + 1) & 3) + 4; - mapElement->properties.path.edges &= ~(1 << d); - map_invalidate_tile(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); - break; - } while (!map_element_is_last_for_tile(mapElement++)); + d = ((direction + 1) & 3) + 4; + mapElement->properties.path.edges &= ~(1 << d); + map_invalidate_tile(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); + break; + } while (!map_element_is_last_for_tile(mapElement++)); } /** @@ -2013,35 +2013,35 @@ static void footpath_remove_edges_towards_here(sint32 x, sint32 y, sint32 z, sin */ static void footpath_remove_edges_towards(sint32 x, sint32 y, sint32 z0, sint32 z1, sint32 direction, bool isQueue) { - rct_map_element *mapElement; - sint32 slope; + rct_map_element *mapElement; + sint32 slope; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; - if (z1 == mapElement->base_height) { - if (footpath_element_is_sloped(mapElement)) { - slope = footpath_element_get_slope_direction(mapElement); - if (slope != direction) - break; - } - footpath_remove_edges_towards_here(x, y, z1, direction, mapElement, isQueue); - break; - } - if (z0 == mapElement->base_height) { - if (!footpath_element_is_sloped(mapElement)) - break; + if (z1 == mapElement->base_height) { + if (footpath_element_is_sloped(mapElement)) { + slope = footpath_element_get_slope_direction(mapElement); + if (slope != direction) + break; + } + footpath_remove_edges_towards_here(x, y, z1, direction, mapElement, isQueue); + break; + } + if (z0 == mapElement->base_height) { + if (!footpath_element_is_sloped(mapElement)) + break; - slope = footpath_element_get_slope_direction(mapElement) ^ 2; - if (slope != direction) - break; + slope = footpath_element_get_slope_direction(mapElement) ^ 2; + if (slope != direction) + break; - footpath_remove_edges_towards_here(x, y, z1, direction, mapElement, isQueue); - break; - } - } while (!map_element_is_last_for_tile(mapElement++)); + footpath_remove_edges_towards_here(x, y, z1, direction, mapElement, isQueue); + break; + } + } while (!map_element_is_last_for_tile(mapElement++)); } /** @@ -2052,36 +2052,36 @@ static void footpath_remove_edges_towards(sint32 x, sint32 y, sint32 z0, sint32 */ void footpath_remove_edges_at(sint32 x, sint32 y, rct_map_element *mapElement) { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK) { - sint32 rideIndex = mapElement->properties.track.ride_index; - rct_ride *ride = get_ride(rideIndex); - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) - return; - } + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_TRACK) { + sint32 rideIndex = mapElement->properties.track.ride_index; + rct_ride *ride = get_ride(rideIndex); + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) + return; + } - footpath_update_queue_entrance_banner(x, y, mapElement); + footpath_update_queue_entrance_banner(x, y, mapElement); - for (sint32 direction = 0; direction < 4; direction++) { - sint32 z1 = mapElement->base_height; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { - if (footpath_element_is_sloped(mapElement)) { - sint32 slope = footpath_element_get_slope_direction(mapElement); - if ((slope - direction) & 1) - continue; + for (sint32 direction = 0; direction < 4; direction++) { + sint32 z1 = mapElement->base_height; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { + if (footpath_element_is_sloped(mapElement)) { + sint32 slope = footpath_element_get_slope_direction(mapElement); + if ((slope - direction) & 1) + continue; - z1 += slope == direction ? 2 : 0; - } - } - sint32 z0 = z1 - 2; - footpath_remove_edges_towards(x + TileDirectionDelta[direction].x, y + TileDirectionDelta[direction].y, - z0, z1, direction, footpath_element_is_queue(mapElement)); - } + z1 += slope == direction ? 2 : 0; + } + } + sint32 z0 = z1 - 2; + footpath_remove_edges_towards(x + TileDirectionDelta[direction].x, y + TileDirectionDelta[direction].y, + z0, z1, direction, footpath_element_is_queue(mapElement)); + } - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) - mapElement->properties.path.edges = 0; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) + mapElement->properties.path.edges = 0; } rct_footpath_entry *get_footpath_entry(sint32 entryIndex) { - return gFootpathEntries[entryIndex]; + return gFootpathEntries[entryIndex]; } diff --git a/src/openrct2/world/footpath.h b/src/openrct2/world/footpath.h index ba9eb9086f..88f0b7fe63 100644 --- a/src/openrct2/world/footpath.h +++ b/src/openrct2/world/footpath.h @@ -22,40 +22,40 @@ #include "../object.h" enum { - PROVISIONAL_PATH_FLAG_SHOW_ARROW = (1 << 0), - PROVISIONAL_PATH_FLAG_1 = (1 << 1), - PROVISIONAL_PATH_FLAG_2 = (1 << 2), + PROVISIONAL_PATH_FLAG_SHOW_ARROW = (1 << 0), + PROVISIONAL_PATH_FLAG_1 = (1 << 1), + PROVISIONAL_PATH_FLAG_2 = (1 << 2), }; #pragma pack(push, 1) typedef struct rct_footpath_entry { - rct_string_id string_idx; // 0x00 - uint32 image; // 0x02 - uint32 bridge_image; // 0x06 - uint8 support_type; // 0x0A - uint8 flags; // 0x0B - uint8 scrolling_mode; // 0x0C + rct_string_id string_idx; // 0x00 + uint32 image; // 0x02 + uint32 bridge_image; // 0x06 + uint8 support_type; // 0x0A + uint8 flags; // 0x0B + uint8 scrolling_mode; // 0x0C } rct_footpath_entry; assert_struct_size(rct_footpath_entry, 13); #pragma pack(pop) enum { - FOOTPATH_ENTRY_SUPPORT_TYPE_POLE = 0, - FOOTPATH_ENTRY_SUPPORT_TYPE_BOX = 1, - FOOTPATH_ENTRY_SUPPORT_TYPE_COUNT + FOOTPATH_ENTRY_SUPPORT_TYPE_POLE = 0, + FOOTPATH_ENTRY_SUPPORT_TYPE_BOX = 1, + FOOTPATH_ENTRY_SUPPORT_TYPE_COUNT }; enum { - FOOTPATH_ENTRY_FLAG_HAS_SUPPORT_BASE_SPRITE = (1 << 0), - FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE = (1 << 1), // When elevated - FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR = (1 << 2), + FOOTPATH_ENTRY_FLAG_HAS_SUPPORT_BASE_SPRITE = (1 << 0), + FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE = (1 << 1), // When elevated + FOOTPATH_ENTRY_FLAG_SHOW_ONLY_IN_SCENARIO_EDITOR = (1 << 2), }; enum { - FOOTPATH_SEARCH_SUCCESS, - FOOTPATH_SEARCH_NOT_FOUND, - FOOTPATH_SEARCH_INCOMPLETE, - FOOTPATH_SEARCH_TOO_COMPLEX + FOOTPATH_SEARCH_SUCCESS, + FOOTPATH_SEARCH_NOT_FOUND, + FOOTPATH_SEARCH_INCOMPLETE, + FOOTPATH_SEARCH_TOO_COMPLEX }; extern uint8 gFootpathProvisionalFlags; diff --git a/src/openrct2/world/map.c b/src/openrct2/world/map.c index b196f18bdc..917d313181 100644 --- a/src/openrct2/world/map.c +++ b/src/openrct2/world/map.c @@ -46,40 +46,40 @@ * Replaces 0x00993CCC, 0x00993CCE */ const rct_xy16 TileDirectionDelta[] = { - { -32, 0 }, - { 0, +32 }, - { +32, 0 }, - { 0, -32 }, - { -32, +32 }, - { +32, +32 }, - { +32, -32 }, - { -32, -32 } + { -32, 0 }, + { 0, +32 }, + { +32, 0 }, + { 0, -32 }, + { -32, +32 }, + { +32, +32 }, + { +32, -32 }, + { -32, -32 } }; /** rct2: 0x0097B8B8 */ const money32 TerrainPricing[] = { - 300, // TERRAIN_GRASS - 100, // TERRAIN_SAND - 80, // TERRAIN_DIRT - 120, // TERRAIN_ROCK - 100, // TERRAIN_MARTIAN - 100, // TERRAIN_CHECKERBOARD - 110, // TERRAIN_GRASS_CLUMPS - 130, // TERRAIN_ICE - 110, // TERRAIN_GRID_RED - 110, // TERRAIN_GRID_YELLOW - 110, // TERRAIN_GRID_BLUE - 110, // TERRAIN_GRID_GREEN - 110, // TERRAIN_SAND_DARK - 110, // TERRAIN_SAND_LIGHT + 300, // TERRAIN_GRASS + 100, // TERRAIN_SAND + 80, // TERRAIN_DIRT + 120, // TERRAIN_ROCK + 100, // TERRAIN_MARTIAN + 100, // TERRAIN_CHECKERBOARD + 110, // TERRAIN_GRASS_CLUMPS + 130, // TERRAIN_ICE + 110, // TERRAIN_GRID_RED + 110, // TERRAIN_GRID_YELLOW + 110, // TERRAIN_GRID_BLUE + 110, // TERRAIN_GRID_GREEN + 110, // TERRAIN_SAND_DARK + 110, // TERRAIN_SAND_LIGHT }; -uint16 gMapSelectFlags; -uint16 gMapSelectType; -rct_xy16 gMapSelectPositionA; -rct_xy16 gMapSelectPositionB; -rct_xyz16 gMapSelectArrowPosition; -uint8 gMapSelectArrowDirection; +uint16 gMapSelectFlags; +uint16 gMapSelectType; +rct_xy16 gMapSelectPositionA; +rct_xy16 gMapSelectPositionB; +rct_xyz16 gMapSelectArrowPosition; +uint8 gMapSelectArrowDirection; uint8 gMapGroundFlags; @@ -136,259 +136,259 @@ static void translate_3d_to_2d(sint32 rotation, sint32 *x, sint32 *y); void rotate_map_coordinates(sint16 *x, sint16 *y, sint32 rotation) { - sint32 temp; + sint32 temp; - switch (rotation) { - case MAP_ELEMENT_DIRECTION_WEST: - break; - case MAP_ELEMENT_DIRECTION_NORTH: - temp = *x; - *x = *y; - *y = -temp; - break; - case MAP_ELEMENT_DIRECTION_EAST: - *x = -*x; - *y = -*y; - break; - case MAP_ELEMENT_DIRECTION_SOUTH: - temp = *y; - *y = *x; - *x = -temp; - break; - } + switch (rotation) { + case MAP_ELEMENT_DIRECTION_WEST: + break; + case MAP_ELEMENT_DIRECTION_NORTH: + temp = *x; + *x = *y; + *y = -temp; + break; + case MAP_ELEMENT_DIRECTION_EAST: + *x = -*x; + *y = -*y; + break; + case MAP_ELEMENT_DIRECTION_SOUTH: + temp = *y; + *y = *x; + *x = -temp; + break; + } } rct_xy16 coordinate_3d_to_2d(const rct_xyz16* coordinate_3d, sint32 rotation){ - rct_xy16 coordinate_2d; + rct_xy16 coordinate_2d; - switch (rotation){ - default: - case 0: - coordinate_2d.x = coordinate_3d->y - coordinate_3d->x; - coordinate_2d.y = ((coordinate_3d->y + coordinate_3d->x) >> 1) - coordinate_3d->z; - break; - case 1: - coordinate_2d.x = -coordinate_3d->y - coordinate_3d->x; - coordinate_2d.y = ((coordinate_3d->y - coordinate_3d->x) >> 1) - coordinate_3d->z; - break; - case 2: - coordinate_2d.x = -coordinate_3d->y + coordinate_3d->x; - coordinate_2d.y = ((-coordinate_3d->y - coordinate_3d->x) >> 1) - coordinate_3d->z; - break; - case 3: - coordinate_2d.x = coordinate_3d->y + coordinate_3d->x; - coordinate_2d.y = ((-coordinate_3d->y + coordinate_3d->x) >> 1) - coordinate_3d->z; - break; - } - return coordinate_2d; + switch (rotation){ + default: + case 0: + coordinate_2d.x = coordinate_3d->y - coordinate_3d->x; + coordinate_2d.y = ((coordinate_3d->y + coordinate_3d->x) >> 1) - coordinate_3d->z; + break; + case 1: + coordinate_2d.x = -coordinate_3d->y - coordinate_3d->x; + coordinate_2d.y = ((coordinate_3d->y - coordinate_3d->x) >> 1) - coordinate_3d->z; + break; + case 2: + coordinate_2d.x = -coordinate_3d->y + coordinate_3d->x; + coordinate_2d.y = ((-coordinate_3d->y - coordinate_3d->x) >> 1) - coordinate_3d->z; + break; + case 3: + coordinate_2d.x = coordinate_3d->y + coordinate_3d->x; + coordinate_2d.y = ((-coordinate_3d->y + coordinate_3d->x) >> 1) - coordinate_3d->z; + break; + } + return coordinate_2d; } void map_element_iterator_begin(map_element_iterator *it) { - it->x = 0; - it->y = 0; - it->element = map_get_first_element_at(0, 0); + it->x = 0; + it->y = 0; + it->element = map_get_first_element_at(0, 0); } sint32 map_element_iterator_next(map_element_iterator *it) { - if (it->element == NULL) { - it->element = map_get_first_element_at(it->x, it->y); - return 1; - } + if (it->element == NULL) { + it->element = map_get_first_element_at(it->x, it->y); + return 1; + } - if (!map_element_is_last_for_tile(it->element)) { - it->element++; - return 1; - } + if (!map_element_is_last_for_tile(it->element)) { + it->element++; + return 1; + } - if (it->x < (MAXIMUM_MAP_SIZE_TECHNICAL - 1)) { - it->x++; - it->element = map_get_first_element_at(it->x, it->y); - return 1; - } + if (it->x < (MAXIMUM_MAP_SIZE_TECHNICAL - 1)) { + it->x++; + it->element = map_get_first_element_at(it->x, it->y); + return 1; + } - if (it->y < (MAXIMUM_MAP_SIZE_TECHNICAL - 1)) { - it->x = 0; - it->y++; - it->element = map_get_first_element_at(it->x, it->y); - return 1; - } + if (it->y < (MAXIMUM_MAP_SIZE_TECHNICAL - 1)) { + it->x = 0; + it->y++; + it->element = map_get_first_element_at(it->x, it->y); + return 1; + } - return 0; + return 0; } void map_element_iterator_restart_for_tile(map_element_iterator *it) { - it->element = NULL; + it->element = NULL; } rct_map_element *map_get_first_element_at(sint32 x, sint32 y) { - if (x < 0 || y < 0 || x > (MAXIMUM_MAP_SIZE_TECHNICAL - 1) || y > (MAXIMUM_MAP_SIZE_TECHNICAL - 1)) { - log_error("Trying to access element outside of range"); - return NULL; - } - return gMapElementTilePointers[x + y * MAXIMUM_MAP_SIZE_TECHNICAL]; + if (x < 0 || y < 0 || x > (MAXIMUM_MAP_SIZE_TECHNICAL - 1) || y > (MAXIMUM_MAP_SIZE_TECHNICAL - 1)) { + log_error("Trying to access element outside of range"); + return NULL; + } + return gMapElementTilePointers[x + y * MAXIMUM_MAP_SIZE_TECHNICAL]; } rct_map_element *map_get_nth_element_at(sint32 x, sint32 y, sint32 n) { - rct_map_element * mapElement = map_get_first_element_at(x, y); - if (mapElement == NULL) { - return NULL; - } - // Iterate through elements on this tile. This has to be walked, rather than - // jumped directly to, because n may exceed element count for given tile, - // and the order of tiles (unlike elements) is not synced over multiplayer. - while (n >= 0) { - if (n == 0) { - return mapElement; - } - if (map_element_is_last_for_tile(mapElement)) { - break; - } - mapElement++; - n--; - } - // The element sought for is not within given tile. - return NULL; + rct_map_element * mapElement = map_get_first_element_at(x, y); + if (mapElement == NULL) { + return NULL; + } + // Iterate through elements on this tile. This has to be walked, rather than + // jumped directly to, because n may exceed element count for given tile, + // and the order of tiles (unlike elements) is not synced over multiplayer. + while (n >= 0) { + if (n == 0) { + return mapElement; + } + if (map_element_is_last_for_tile(mapElement)) { + break; + } + mapElement++; + n--; + } + // The element sought for is not within given tile. + return NULL; } void map_set_tile_elements(sint32 x, sint32 y, rct_map_element *elements) { - if (x < 0 || y < 0 || x > (MAXIMUM_MAP_SIZE_TECHNICAL - 1) || y > (MAXIMUM_MAP_SIZE_TECHNICAL - 1)) { - log_error("Trying to access element outside of range"); - return; - } - gMapElementTilePointers[x + y * MAXIMUM_MAP_SIZE_TECHNICAL] = elements; + if (x < 0 || y < 0 || x > (MAXIMUM_MAP_SIZE_TECHNICAL - 1) || y > (MAXIMUM_MAP_SIZE_TECHNICAL - 1)) { + log_error("Trying to access element outside of range"); + return; + } + gMapElementTilePointers[x + y * MAXIMUM_MAP_SIZE_TECHNICAL] = elements; } sint32 map_element_is_last_for_tile(const rct_map_element *element) { - return element->flags & MAP_ELEMENT_FLAG_LAST_TILE; + return element->flags & MAP_ELEMENT_FLAG_LAST_TILE; } bool map_element_is_ghost(const rct_map_element *element) { - return element->flags & MAP_ELEMENT_FLAG_GHOST; + return element->flags & MAP_ELEMENT_FLAG_GHOST; } uint8 map_element_get_scenery_quadrant(const rct_map_element *element) { - return (element->type & MAP_ELEMENT_QUADRANT_MASK) >> 6; + return (element->type & MAP_ELEMENT_QUADRANT_MASK) >> 6; } sint32 map_element_get_type(const rct_map_element *element) { - return element->type & MAP_ELEMENT_TYPE_MASK; + return element->type & MAP_ELEMENT_TYPE_MASK; } sint32 map_element_get_direction(const rct_map_element *element) { - return element->type & MAP_ELEMENT_DIRECTION_MASK; + return element->type & MAP_ELEMENT_DIRECTION_MASK; } sint32 map_element_get_terrain(const rct_map_element *element) { - sint32 terrain = (element->properties.surface.terrain >> 5) & 7; - if (element->type & 1) - terrain |= (1 << 3); - return terrain; + sint32 terrain = (element->properties.surface.terrain >> 5) & 7; + if (element->type & 1) + terrain |= (1 << 3); + return terrain; } sint32 map_element_get_terrain_edge(const rct_map_element *element) { - sint32 terrain_edge = (element->properties.surface.slope >> 5) & 7; - if (element->type & 128) - terrain_edge |= (1 << 3); - return terrain_edge; + sint32 terrain_edge = (element->properties.surface.slope >> 5) & 7; + if (element->type & 128) + terrain_edge |= (1 << 3); + return terrain_edge; } void map_element_set_terrain(rct_map_element *element, sint32 terrain) { - // Bit 3 for terrain is stored in element.type bit 0 - if (terrain & 8) - element->type |= 1; - else - element->type &= ~1; + // Bit 3 for terrain is stored in element.type bit 0 + if (terrain & 8) + element->type |= 1; + else + element->type &= ~1; - // Bits 0, 1, 2 for terrain are stored in element.terrain bit 5, 6, 7 - element->properties.surface.terrain &= ~0xE0; - element->properties.surface.terrain |= (terrain & 7) << 5; + // Bits 0, 1, 2 for terrain are stored in element.terrain bit 5, 6, 7 + element->properties.surface.terrain &= ~0xE0; + element->properties.surface.terrain |= (terrain & 7) << 5; } void map_element_set_terrain_edge(rct_map_element *element, sint32 terrain) { - // Bit 3 for terrain is stored in element.type bit 7 - if (terrain & 8) - element->type |= 128; - else - element->type &= ~128; + // Bit 3 for terrain is stored in element.type bit 7 + if (terrain & 8) + element->type |= 128; + else + element->type &= ~128; - // Bits 0, 1, 2 for terrain are stored in element.slope bit 5, 6, 7 - element->properties.surface.slope &= ~0xE0; - element->properties.surface.slope |= (terrain & 7) << 5; + // Bits 0, 1, 2 for terrain are stored in element.slope bit 5, 6, 7 + element->properties.surface.slope &= ~0xE0; + element->properties.surface.slope |= (terrain & 7) << 5; } rct_map_element *map_get_surface_element_at(sint32 x, sint32 y) { - rct_map_element *mapElement = map_get_first_element_at(x, y); + rct_map_element *mapElement = map_get_first_element_at(x, y); - if (mapElement == NULL) - return NULL; + if (mapElement == NULL) + return NULL; - // Find the first surface element - while (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SURFACE) { - if (map_element_is_last_for_tile(mapElement)) - return NULL; + // Find the first surface element + while (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SURFACE) { + if (map_element_is_last_for_tile(mapElement)) + return NULL; - mapElement++; - } + mapElement++; + } - return mapElement; + return mapElement; } rct_map_element* map_get_path_element_at(sint32 x, sint32 y, sint32 z){ - rct_map_element *mapElement = map_get_first_element_at(x, y); + rct_map_element *mapElement = map_get_first_element_at(x, y); - if (mapElement == NULL) - return NULL; + if (mapElement == NULL) + return NULL; - // Find the path element at known z - do { - if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; - if (mapElement->base_height != z) - continue; + // Find the path element at known z + do { + if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; + if (mapElement->base_height != z) + continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } rct_map_element* map_get_banner_element_at(sint32 x, sint32 y, sint32 z, uint8 position) { - rct_map_element *mapElement = map_get_first_element_at(x, y); + rct_map_element *mapElement = map_get_first_element_at(x, y); - if (mapElement == NULL) - return NULL; + if (mapElement == NULL) + return NULL; - // Find the banner element at known z and position - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_BANNER) - continue; - if (mapElement->base_height != z) - continue; - if (mapElement->properties.banner.position != position) - continue; + // Find the banner element at known z and position + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_BANNER) + continue; + if (mapElement->base_height != z) + continue; + if (mapElement->properties.banner.position != position) + continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } /** @@ -397,36 +397,36 @@ rct_map_element* map_get_banner_element_at(sint32 x, sint32 y, sint32 z, uint8 p */ void map_init(sint32 size) { - gNumMapAnimations = 0; - gNextFreeMapElementPointerIndex = 0; + gNumMapAnimations = 0; + gNextFreeMapElementPointerIndex = 0; - for (sint32 i = 0; i < MAX_TILE_MAP_ELEMENT_POINTERS; i++) { - rct_map_element *map_element = &gMapElements[i]; - map_element->type = (MAP_ELEMENT_TYPE_SURFACE << 2); - map_element->flags = MAP_ELEMENT_FLAG_LAST_TILE; - map_element->base_height = 14; - map_element->clearance_height = 14; - map_element->properties.surface.slope = 0; - map_element->properties.surface.grass_length = GRASS_LENGTH_CLEAR_0; - map_element->properties.surface.ownership = 0; - map_element->properties.surface.terrain = 0; + for (sint32 i = 0; i < MAX_TILE_MAP_ELEMENT_POINTERS; i++) { + rct_map_element *map_element = &gMapElements[i]; + map_element->type = (MAP_ELEMENT_TYPE_SURFACE << 2); + map_element->flags = MAP_ELEMENT_FLAG_LAST_TILE; + map_element->base_height = 14; + map_element->clearance_height = 14; + map_element->properties.surface.slope = 0; + map_element->properties.surface.grass_length = GRASS_LENGTH_CLEAR_0; + map_element->properties.surface.ownership = 0; + map_element->properties.surface.terrain = 0; - map_element_set_terrain(map_element, TERRAIN_GRASS); - map_element_set_terrain_edge(map_element, TERRAIN_EDGE_ROCK); - } + map_element_set_terrain(map_element, TERRAIN_GRASS); + map_element_set_terrain_edge(map_element, TERRAIN_EDGE_ROCK); + } - gGrassSceneryTileLoopPosition = 0; - gWidePathTileLoopX = 0; - gWidePathTileLoopY = 0; - gMapSizeUnits = size * 32 - 32; - gMapSizeMinus2 = size * 32 - 2; - gMapSize = size; - gMapSizeMaxXY = size * 32 - 33; - gMapBaseZ = 7; - map_update_tile_pointers(); - map_remove_out_of_range_elements(); + gGrassSceneryTileLoopPosition = 0; + gWidePathTileLoopX = 0; + gWidePathTileLoopY = 0; + gMapSizeUnits = size * 32 - 32; + gMapSizeMinus2 = size * 32 - 2; + gMapSize = size; + gMapSizeMaxXY = size * 32 - 33; + gMapBaseZ = 7; + map_update_tile_pointers(); + map_remove_out_of_range_elements(); - window_map_reset(); + window_map_reset(); } /** @@ -436,26 +436,26 @@ void map_init(sint32 size) */ void map_count_remaining_land_rights() { - gLandRemainingOwnershipSales = 0; - gLandRemainingConstructionSales = 0; + gLandRemainingOwnershipSales = 0; + gLandRemainingConstructionSales = 0; - for (sint32 x = 0; x < MAXIMUM_MAP_SIZE_TECHNICAL; x++) { - for (sint32 y = 0; y < MAXIMUM_MAP_SIZE_TECHNICAL; y++) { - rct_map_element *element = map_get_surface_element_at(x, y); - // Surface elements are sometimes hacked out to save some space for other map elements - if (element == NULL) { - continue; - } + for (sint32 x = 0; x < MAXIMUM_MAP_SIZE_TECHNICAL; x++) { + for (sint32 y = 0; y < MAXIMUM_MAP_SIZE_TECHNICAL; y++) { + rct_map_element *element = map_get_surface_element_at(x, y); + // Surface elements are sometimes hacked out to save some space for other map elements + if (element == NULL) { + continue; + } - uint8 flags = element->properties.surface.ownership; + uint8 flags = element->properties.surface.ownership; - if ((flags & OWNERSHIP_AVAILABLE) && (flags & OWNERSHIP_OWNED) == 0) { - gLandRemainingOwnershipSales++; - } else if ((flags & OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE) && (flags & OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED) == 0) { - gLandRemainingConstructionSales++; - } - } - } + if ((flags & OWNERSHIP_AVAILABLE) && (flags & OWNERSHIP_OWNED) == 0) { + gLandRemainingOwnershipSales++; + } else if ((flags & OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE) && (flags & OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED) == 0) { + gLandRemainingConstructionSales++; + } + } + } } /** @@ -469,10 +469,10 @@ void map_count_remaining_land_rights() */ void map_strip_ghost_flag_from_elements() { - rct_map_element *mapElement = gMapElements; - do { - mapElement->flags &= ~MAP_ELEMENT_FLAG_GHOST; - } while (++mapElement < gMapElements + MAX_MAP_ELEMENTS); + rct_map_element *mapElement = gMapElements; + do { + mapElement->flags &= ~MAP_ELEMENT_FLAG_GHOST; + } while (++mapElement < gMapElements + MAX_MAP_ELEMENTS); } /** @@ -481,22 +481,22 @@ void map_strip_ghost_flag_from_elements() */ void map_update_tile_pointers() { - sint32 i, x, y; + sint32 i, x, y; - for (i = 0; i < MAX_TILE_MAP_ELEMENT_POINTERS; i++) { - gMapElementTilePointers[i] = TILE_UNDEFINED_MAP_ELEMENT; - } + for (i = 0; i < MAX_TILE_MAP_ELEMENT_POINTERS; i++) { + gMapElementTilePointers[i] = TILE_UNDEFINED_MAP_ELEMENT; + } - rct_map_element *mapElement = gMapElements; - rct_map_element **tile = gMapElementTilePointers; - for (y = 0; y < MAXIMUM_MAP_SIZE_TECHNICAL; y++) { - for (x = 0; x < MAXIMUM_MAP_SIZE_TECHNICAL; x++) { - *tile++ = mapElement; - while (!map_element_is_last_for_tile(mapElement++)); - } - } + rct_map_element *mapElement = gMapElements; + rct_map_element **tile = gMapElementTilePointers; + for (y = 0; y < MAXIMUM_MAP_SIZE_TECHNICAL; y++) { + for (x = 0; x < MAXIMUM_MAP_SIZE_TECHNICAL; x++) { + *tile++ = mapElement; + while (!map_element_is_last_for_tile(mapElement++)); + } + } - gNextFreeMapElement = mapElement; + gNextFreeMapElement = mapElement; } /** @@ -509,141 +509,141 @@ void map_update_tile_pointers() */ sint32 map_element_height(sint32 x, sint32 y) { - rct_map_element *mapElement; + rct_map_element *mapElement; - // Off the map - if ((unsigned)x >= 8192 || (unsigned)y >= 8192) - return 16; + // Off the map + if ((unsigned)x >= 8192 || (unsigned)y >= 8192) + return 16; - // Truncate subtile coordinates - sint32 x_tile = x & 0xFFFFFFE0; - sint32 y_tile = y & 0xFFFFFFE0; + // Truncate subtile coordinates + sint32 x_tile = x & 0xFFFFFFE0; + sint32 y_tile = y & 0xFFFFFFE0; - // Get the surface element for the tile - mapElement = map_get_surface_element_at(x_tile / 32, y_tile / 32); + // Get the surface element for the tile + mapElement = map_get_surface_element_at(x_tile / 32, y_tile / 32); - if (mapElement == NULL) { - return 16; - } + if (mapElement == NULL) { + return 16; + } - uint32 height = - ((mapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) << 20) | - (mapElement->base_height << 3); + uint32 height = + ((mapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) << 20) | + (mapElement->base_height << 3); - uint32 slope = (mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK); - uint8 extra_height = (slope & 0x10) >> 4; // 0x10 is the 5th bit - sets slope to double height - // Remove the extra height bit - slope &= 0xF; + uint32 slope = (mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK); + uint8 extra_height = (slope & 0x10) >> 4; // 0x10 is the 5th bit - sets slope to double height + // Remove the extra height bit + slope &= 0xF; - sint8 quad = 0, quad_extra = 0; // which quadrant the element is in? - // quad_extra is for extra height tiles + sint8 quad = 0, quad_extra = 0; // which quadrant the element is in? + // quad_extra is for extra height tiles - uint8 xl, yl; // coordinates across this tile + uint8 xl, yl; // coordinates across this tile - uint8 TILE_SIZE = 31; + uint8 TILE_SIZE = 31; - xl = x & 0x1f; - yl = y & 0x1f; + xl = x & 0x1f; + yl = y & 0x1f; - // Slope logic: - // Each of the four bits in slope represents that corner being raised - // slope == 15 (all four bits) is not used and slope == 0 is flat - // If the extra_height bit is set, then the slope goes up two z-levels + // Slope logic: + // Each of the four bits in slope represents that corner being raised + // slope == 15 (all four bits) is not used and slope == 0 is flat + // If the extra_height bit is set, then the slope goes up two z-levels - // We arbitrarily take the SW corner to be closest to the viewer + // We arbitrarily take the SW corner to be closest to the viewer - // One corner up - if ((slope == 1) || (slope == 2) || (slope == 4) || (slope == 8)) { - switch (slope) { - case 1: // NE corner up - quad = xl + yl - TILE_SIZE; - break; - case 2: // SE corner up - quad = xl - yl; - break; - case 4: // SW corner up - quad = TILE_SIZE - yl - xl; - break; - case 8: // NW corner up - quad = yl - xl; - break; - } - // If the element is in the quadrant with the slope, raise its height - if (quad > 0) { - height += quad / 2; - } - } + // One corner up + if ((slope == 1) || (slope == 2) || (slope == 4) || (slope == 8)) { + switch (slope) { + case 1: // NE corner up + quad = xl + yl - TILE_SIZE; + break; + case 2: // SE corner up + quad = xl - yl; + break; + case 4: // SW corner up + quad = TILE_SIZE - yl - xl; + break; + case 8: // NW corner up + quad = yl - xl; + break; + } + // If the element is in the quadrant with the slope, raise its height + if (quad > 0) { + height += quad / 2; + } + } - // One side up - switch (slope) { - case 3: // E side up - height += xl / 2 + 1; - break; - case 6: // S side up - height += (TILE_SIZE - yl) / 2; - break; - case 9: // N side up - height += yl / 2; - height++; - break; - case 12: // W side up - height += (TILE_SIZE - xl) / 2; - break; - } + // One side up + switch (slope) { + case 3: // E side up + height += xl / 2 + 1; + break; + case 6: // S side up + height += (TILE_SIZE - yl) / 2; + break; + case 9: // N side up + height += yl / 2; + height++; + break; + case 12: // W side up + height += (TILE_SIZE - xl) / 2; + break; + } - // One corner down - if ((slope == 7) || (slope == 11) || (slope == 13) || (slope == 14)) { - switch (slope) { - case 7: // NW corner down - quad_extra = xl + TILE_SIZE - yl; - quad = xl - yl; - break; - case 11: // SW corner down - quad_extra = xl + yl; - quad = xl + yl - TILE_SIZE - 1; - break; - case 13: // SE corner down - quad_extra = TILE_SIZE - xl + yl; - quad = yl - xl; - break; - case 14: // NE corner down - quad_extra = (TILE_SIZE - xl) + (TILE_SIZE - yl); - quad = TILE_SIZE - yl - xl - 1; - break; - } + // One corner down + if ((slope == 7) || (slope == 11) || (slope == 13) || (slope == 14)) { + switch (slope) { + case 7: // NW corner down + quad_extra = xl + TILE_SIZE - yl; + quad = xl - yl; + break; + case 11: // SW corner down + quad_extra = xl + yl; + quad = xl + yl - TILE_SIZE - 1; + break; + case 13: // SE corner down + quad_extra = TILE_SIZE - xl + yl; + quad = yl - xl; + break; + case 14: // NE corner down + quad_extra = (TILE_SIZE - xl) + (TILE_SIZE - yl); + quad = TILE_SIZE - yl - xl - 1; + break; + } - if (extra_height) { - height += quad_extra / 2; - height++; - return height; - } - // This tile is essentially at the next height level - height += 0x10; - // so we move *down* the slope - if (quad < 0) { - height += quad / 2; - } - } + if (extra_height) { + height += quad_extra / 2; + height++; + return height; + } + // This tile is essentially at the next height level + height += 0x10; + // so we move *down* the slope + if (quad < 0) { + height += quad / 2; + } + } - // Valleys - if ((slope == 5) || (slope == 10)) { - switch (slope) { - case 5: // NW-SE valley - if (xl + yl <= TILE_SIZE + 1) { - return height; - } - quad = TILE_SIZE - xl - yl; - break; - case 10: // NE-SW valley - quad = xl - yl; - break; - } - if (quad > 0) { - height += quad / 2; - } - } + // Valleys + if ((slope == 5) || (slope == 10)) { + switch (slope) { + case 5: // NW-SE valley + if (xl + yl <= TILE_SIZE + 1) { + return height; + } + quad = TILE_SIZE - xl - yl; + break; + case 10: // NE-SW valley + quad = xl - yl; + break; + } + if (quad > 0) { + height += quad / 2; + } + } - return height; + return height; } /** @@ -652,46 +652,46 @@ sint32 map_element_height(sint32 x, sint32 y) */ void sub_68B089() { - sint32 i; - rct_map_element *mapElementFirst, *mapElement; + sint32 i; + rct_map_element *mapElementFirst, *mapElement; - if (gTrackDesignSaveMode) - return; + if (gTrackDesignSaveMode) + return; - i = gNextFreeMapElementPointerIndex; - do { - i++; - if (i >= MAX_TILE_MAP_ELEMENT_POINTERS) - i = 0; - } while (gMapElementTilePointers[i] == TILE_UNDEFINED_MAP_ELEMENT); - gNextFreeMapElementPointerIndex = i; + i = gNextFreeMapElementPointerIndex; + do { + i++; + if (i >= MAX_TILE_MAP_ELEMENT_POINTERS) + i = 0; + } while (gMapElementTilePointers[i] == TILE_UNDEFINED_MAP_ELEMENT); + gNextFreeMapElementPointerIndex = i; - mapElementFirst = mapElement = gMapElementTilePointers[i]; - do { - mapElement--; - if (mapElement < gMapElements) - break; - } while (mapElement->base_height == 255); - mapElement++; + mapElementFirst = mapElement = gMapElementTilePointers[i]; + do { + mapElement--; + if (mapElement < gMapElements) + break; + } while (mapElement->base_height == 255); + mapElement++; - if (mapElement == mapElementFirst) - return; + if (mapElement == mapElementFirst) + return; - // - gMapElementTilePointers[i] = mapElement; - do { - *mapElement = *mapElementFirst; - mapElementFirst->base_height = 255; + // + gMapElementTilePointers[i] = mapElement; + do { + *mapElement = *mapElementFirst; + mapElementFirst->base_height = 255; - mapElementFirst++; - } while (!map_element_is_last_for_tile(mapElement++)); + mapElementFirst++; + } while (!map_element_is_last_for_tile(mapElement++)); - mapElement = gNextFreeMapElement; - do { - mapElement--; - } while (mapElement->base_height == 255); - mapElement++; - gNextFreeMapElement = mapElement; + mapElement = gNextFreeMapElement; + do { + mapElement--; + } while (mapElement->base_height == 255); + mapElement++; + gNextFreeMapElement = mapElement; } @@ -701,30 +701,30 @@ void sub_68B089() */ sint32 map_coord_is_connected(sint32 x, sint32 y, sint32 z, uint8 faceDirection) { - rct_map_element *mapElement = map_get_first_element_at(x, y); + rct_map_element *mapElement = map_get_first_element_at(x, y); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; - rct_map_element_path_properties props = mapElement->properties.path; - uint8 pathType = props.type >> 2; - uint8 pathDirection = props.type & 3; + rct_map_element_path_properties props = mapElement->properties.path; + uint8 pathType = props.type >> 2; + uint8 pathDirection = props.type & 3; - if (pathType & 1) { - if (pathDirection == faceDirection) { - if (z == mapElement->base_height + 2) - return 1; - } else if ((pathDirection ^ 2) == faceDirection && z == mapElement->base_height) { - return 1; - } - } else { - if (z == mapElement->base_height) - return 1; - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (pathType & 1) { + if (pathDirection == faceDirection) { + if (z == mapElement->base_height + 2) + return 1; + } else if ((pathDirection ^ 2) == faceDirection && z == mapElement->base_height) { + return 1; + } + } else { + if (z == mapElement->base_height) + return 1; + } + } while (!map_element_is_last_for_tile(mapElement++)); - return 0; + return 0; } /** @@ -733,30 +733,30 @@ sint32 map_coord_is_connected(sint32 x, sint32 y, sint32 z, uint8 faceDirection) */ void map_update_path_wide_flags() { - if (gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { - return; - } + if (gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { + return; + } - // Presumably update_path_wide_flags is too computationally expensive to call for every - // tile every update, so gWidePathTileLoopX and gWidePathTileLoopY store the x and y - // progress. A maximum of 128 calls is done per update. - uint16 x = gWidePathTileLoopX; - uint16 y = gWidePathTileLoopY; - for (sint32 i = 0; i < 128; i++) { - footpath_update_path_wide_flags(x, y); + // Presumably update_path_wide_flags is too computationally expensive to call for every + // tile every update, so gWidePathTileLoopX and gWidePathTileLoopY store the x and y + // progress. A maximum of 128 calls is done per update. + uint16 x = gWidePathTileLoopX; + uint16 y = gWidePathTileLoopY; + for (sint32 i = 0; i < 128; i++) { + footpath_update_path_wide_flags(x, y); - // Next x, y tile - x += 32; - if (x >= 8192) { - x = 0; - y += 32; - if (y >= 8192) { - y = 0; - } - } - } - gWidePathTileLoopX = x; - gWidePathTileLoopY = y; + // Next x, y tile + x += 32; + if (x >= 8192) { + x = 0; + y += 32; + if (y >= 8192) { + y = 0; + } + } + } + gWidePathTileLoopX = x; + gWidePathTileLoopY = y; } /** @@ -765,39 +765,39 @@ void map_update_path_wide_flags() */ sint32 map_height_from_slope(sint32 x, sint32 y, sint32 slope) { - if (!(slope & 4)) - return 0; + if (!(slope & 4)) + return 0; - switch (slope & 3) { - case 0: - return (31 - (x & 31)) / 2; - case 1: - return (y & 31) / 2; - case 2: - return (x & 31) / 2; - case 3: - return (31 - (y & 31)) / 2; - } - return 0; + switch (slope & 3) { + case 0: + return (31 - (x & 31)) / 2; + case 1: + return (y & 31) / 2; + case 2: + return (x & 31) / 2; + case 3: + return (31 - (y & 31)) / 2; + } + return 0; } bool map_is_location_valid(sint32 x, sint32 y) { - if (x < (MAXIMUM_MAP_SIZE_TECHNICAL * 32) && x >= 0 && y < (MAXIMUM_MAP_SIZE_TECHNICAL * 32) && y >= 0) { - return true; - } - return false; + if (x < (MAXIMUM_MAP_SIZE_TECHNICAL * 32) && x >= 0 && y < (MAXIMUM_MAP_SIZE_TECHNICAL * 32) && y >= 0) { + return true; + } + return false; } bool map_can_build_at(sint32 x, sint32 y, sint32 z) { - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) - return true; - if (gCheatsSandboxMode) - return true; - if (map_is_location_owned(x, y, z)) - return true; - return false; + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) + return true; + if (gCheatsSandboxMode) + return true; + if (map_is_location_owned(x, y, z)) + return true; + return false; } /** @@ -806,23 +806,23 @@ bool map_can_build_at(sint32 x, sint32 y, sint32 z) */ bool map_is_location_owned(sint32 x, sint32 y, sint32 z) { - // This check is to avoid throwing lots of messages in logs. - if (map_is_location_valid(x, y)) { - rct_map_element *mapElement = map_get_surface_element_at(x / 32, y / 32); - if (mapElement != NULL) { - if (mapElement->properties.surface.ownership & OWNERSHIP_OWNED) - return true; + // This check is to avoid throwing lots of messages in logs. + if (map_is_location_valid(x, y)) { + rct_map_element *mapElement = map_get_surface_element_at(x / 32, y / 32); + if (mapElement != NULL) { + if (mapElement->properties.surface.ownership & OWNERSHIP_OWNED) + return true; - if (mapElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED) { - z /= 8; - if (z < mapElement->base_height || z - 2 > mapElement->base_height) - return true; - } - } - } + if (mapElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED) { + z /= 8; + if (z < mapElement->base_height || z - 2 > mapElement->base_height) + return true; + } + } + } - gGameCommandErrorText = STR_LAND_NOT_OWNED_BY_PARK; - return false; + gGameCommandErrorText = STR_LAND_NOT_OWNED_BY_PARK; + return false; } /** @@ -831,29 +831,29 @@ bool map_is_location_owned(sint32 x, sint32 y, sint32 z) */ bool map_is_location_in_park(sint32 x, sint32 y) { - if (map_is_location_valid(x, y)) { - rct_map_element *mapElement = map_get_surface_element_at(x / 32, y / 32); - if (mapElement == NULL) - return false; - if (mapElement->properties.surface.ownership & OWNERSHIP_OWNED) - return true; - } + if (map_is_location_valid(x, y)) { + rct_map_element *mapElement = map_get_surface_element_at(x / 32, y / 32); + if (mapElement == NULL) + return false; + if (mapElement->properties.surface.ownership & OWNERSHIP_OWNED) + return true; + } - gGameCommandErrorText = STR_LAND_NOT_OWNED_BY_PARK; - return false; + gGameCommandErrorText = STR_LAND_NOT_OWNED_BY_PARK; + return false; } bool map_is_location_owned_or_has_rights(sint32 x, sint32 y) { - if (map_is_location_valid(x, y)) { - rct_map_element *mapElement = map_get_surface_element_at(x / 32, y / 32); - if (mapElement == NULL) { - return false; - } - if (mapElement->properties.surface.ownership & OWNERSHIP_OWNED) return true; - if (mapElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED) return true; - } - return false; + if (map_is_location_valid(x, y)) { + rct_map_element *mapElement = map_get_surface_element_at(x / 32, y / 32); + if (mapElement == NULL) { + return false; + } + if (mapElement->properties.surface.ownership & OWNERSHIP_OWNED) return true; + if (mapElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED) return true; + } + return false; } /** @@ -862,90 +862,90 @@ bool map_is_location_owned_or_has_rights(sint32 x, sint32 y) */ void game_command_remove_scenery(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - sint32 x = *eax; - sint32 y = *ecx; - if (!map_is_location_valid(x, y)) { - *ebx = MONEY32_UNDEFINED; - return; - } - uint8 base_height = *edx; - uint8 scenery_type = *edx >> 8; - uint8 map_element_type = *ebx >> 8; - uint8 flags = *ebx & 0xFF; - money32 cost; + sint32 x = *eax; + sint32 y = *ecx; + if (!map_is_location_valid(x, y)) { + *ebx = MONEY32_UNDEFINED; + return; + } + uint8 base_height = *edx; + uint8 scenery_type = *edx >> 8; + uint8 map_element_type = *ebx >> 8; + uint8 flags = *ebx & 0xFF; + money32 cost; - rct_scenery_entry *entry = get_small_scenery_entry(scenery_type); - if (entry == (rct_scenery_entry *)-1) - { - log_warning("Invalid game command for scenery removal, scenery_type = %u", scenery_type); - *ebx = MONEY32_UNDEFINED; - return; - } - cost = entry->small_scenery.removal_price * 10; + rct_scenery_entry *entry = get_small_scenery_entry(scenery_type); + if (entry == (rct_scenery_entry *)-1) + { + log_warning("Invalid game command for scenery removal, scenery_type = %u", scenery_type); + *ebx = MONEY32_UNDEFINED; + return; + } + cost = entry->small_scenery.removal_price * 10; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - gCommandPosition.x = x + 16; - gCommandPosition.y = y + 16; - gCommandPosition.z = base_height * 8; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + gCommandPosition.x = x + 16; + gCommandPosition.y = y + 16; + gCommandPosition.z = base_height * 8; - if (!(flags & GAME_COMMAND_FLAG_GHOST) && game_is_paused() && !gCheatsBuildInPauseMode) { - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - *ebx = MONEY32_UNDEFINED; - return; - } + if (!(flags & GAME_COMMAND_FLAG_GHOST) && game_is_paused() && !gCheatsBuildInPauseMode) { + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + *ebx = MONEY32_UNDEFINED; + return; + } - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !(flags & GAME_COMMAND_FLAG_GHOST) && !gCheatsSandboxMode) { - // Check if allowed to remove item - if (gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL) { - if (entry->small_scenery.height > 64) { - gGameCommandErrorText = STR_FORBIDDEN_BY_THE_LOCAL_AUTHORITY; - *ebx = MONEY32_UNDEFINED; - return; - } - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !(flags & GAME_COMMAND_FLAG_GHOST) && !gCheatsSandboxMode) { + // Check if allowed to remove item + if (gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL) { + if (entry->small_scenery.height > 64) { + gGameCommandErrorText = STR_FORBIDDEN_BY_THE_LOCAL_AUTHORITY; + *ebx = MONEY32_UNDEFINED; + return; + } + } - // Check if the land is owned - if (!map_is_location_owned(x, y, gCommandPosition.z)){ - *ebx = MONEY32_UNDEFINED; - return; - } - } + // Check if the land is owned + if (!map_is_location_owned(x, y, gCommandPosition.z)){ + *ebx = MONEY32_UNDEFINED; + return; + } + } - bool sceneryFound = false; - rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element->type != map_element_type) - continue; - if (map_element->base_height != base_height) - continue; - if (map_element->properties.scenery.type != scenery_type) - continue; - if ((flags & GAME_COMMAND_FLAG_GHOST) && !(map_element->flags & MAP_ELEMENT_FLAG_GHOST)) - continue; + bool sceneryFound = false; + rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element->type != map_element_type) + continue; + if (map_element->base_height != base_height) + continue; + if (map_element->properties.scenery.type != scenery_type) + continue; + if ((flags & GAME_COMMAND_FLAG_GHOST) && !(map_element->flags & MAP_ELEMENT_FLAG_GHOST)) + continue; - sceneryFound = true; - break; - } while (!map_element_is_last_for_tile(map_element++)); + sceneryFound = true; + break; + } while (!map_element_is_last_for_tile(map_element++)); - if (sceneryFound == false) { - *ebx = 0; - return; - } + if (sceneryFound == false) { + *ebx = 0; + return; + } - // Remove element - if (flags & GAME_COMMAND_FLAG_APPLY) { - if (gGameCommandNestLevel == 1 && !(*ebx & GAME_COMMAND_FLAG_GHOST)) { - rct_xyz16 coord; - coord.x = x + 16; - coord.y = y + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + // Remove element + if (flags & GAME_COMMAND_FLAG_APPLY) { + if (gGameCommandNestLevel == 1 && !(*ebx & GAME_COMMAND_FLAG_GHOST)) { + rct_xyz16 coord; + coord.x = x + 16; + coord.y = y + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - map_invalidate_tile_full(x, y); - map_element_remove(map_element); - } - *ebx = (gParkFlags & PARK_FLAGS_NO_MONEY) ? 0 : cost; + map_invalidate_tile_full(x, y); + map_element_remove(map_element); + } + *ebx = (gParkFlags & PARK_FLAGS_NO_MONEY) ? 0 : cost; } /** @@ -954,151 +954,151 @@ void game_command_remove_scenery(sint32* eax, sint32* ebx, sint32* ecx, sint32* */ void game_command_remove_large_scenery(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - uint8 base_height = *edx; - uint8 tileIndex = *edx >> 8; - uint8 map_element_direction = *ebx >> 8; - sint32 x = *eax; - sint32 y = *ecx; - sint32 z = map_element_height(x, y); - uint8 flags = *ebx & 0xFF; - gCommandPosition.x = x + 16; - gCommandPosition.y = y + 16; - gCommandPosition.z = z; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + uint8 base_height = *edx; + uint8 tileIndex = *edx >> 8; + uint8 map_element_direction = *ebx >> 8; + sint32 x = *eax; + sint32 y = *ecx; + sint32 z = map_element_height(x, y); + uint8 flags = *ebx & 0xFF; + gCommandPosition.x = x + 16; + gCommandPosition.y = y + 16; + gCommandPosition.z = z; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - if (!(flags & GAME_COMMAND_FLAG_GHOST) && game_is_paused() && !gCheatsBuildInPauseMode) { - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - *ebx = MONEY32_UNDEFINED; - return; - } + if (!(flags & GAME_COMMAND_FLAG_GHOST) && game_is_paused() && !gCheatsBuildInPauseMode) { + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + *ebx = MONEY32_UNDEFINED; + return; + } - bool element_found = false; - rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); - if (map_element == NULL) - { - log_warning("Invalid game command for scenery removal, x = %d, y = %d", x, y); - *ebx = MONEY32_UNDEFINED; - return; - } - do { - if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) - continue; + bool element_found = false; + rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); + if (map_element == NULL) + { + log_warning("Invalid game command for scenery removal, x = %d, y = %d", x, y); + *ebx = MONEY32_UNDEFINED; + return; + } + do { + if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) + continue; - if (map_element->base_height != base_height) - continue; + if (map_element->base_height != base_height) + continue; - if ((map_element->properties.scenerymultiple.type >> 10) != tileIndex) - continue; + if ((map_element->properties.scenerymultiple.type >> 10) != tileIndex) + continue; - if ((map_element->type & MAP_ELEMENT_DIRECTION_MASK) != map_element_direction) - continue; + if ((map_element->type & MAP_ELEMENT_DIRECTION_MASK) != map_element_direction) + continue; - // If we are removing ghost elements - if((flags & GAME_COMMAND_FLAG_GHOST) && !(map_element->flags & MAP_ELEMENT_FLAG_GHOST)) - continue; + // If we are removing ghost elements + if((flags & GAME_COMMAND_FLAG_GHOST) && !(map_element->flags & MAP_ELEMENT_FLAG_GHOST)) + continue; - element_found = true; - break; - } while (!map_element_is_last_for_tile(map_element++)); + element_found = true; + break; + } while (!map_element_is_last_for_tile(map_element++)); - if (element_found == false){ - *ebx = 0; - return; - } + if (element_found == false){ + *ebx = 0; + return; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - map_element_remove_banner_entry(map_element); - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + map_element_remove_banner_entry(map_element); + } - rct_scenery_entry* scenery_entry = get_large_scenery_entry(map_element->properties.scenerymultiple.type & 0x3FF); - rct_xyz16 firstTile = { - .x = scenery_entry->large_scenery.tiles[tileIndex].x_offset, - .y = scenery_entry->large_scenery.tiles[tileIndex].y_offset, - .z = (base_height * 8) - scenery_entry->large_scenery.tiles[tileIndex].z_offset - }; + rct_scenery_entry* scenery_entry = get_large_scenery_entry(map_element->properties.scenerymultiple.type & 0x3FF); + rct_xyz16 firstTile = { + .x = scenery_entry->large_scenery.tiles[tileIndex].x_offset, + .y = scenery_entry->large_scenery.tiles[tileIndex].y_offset, + .z = (base_height * 8) - scenery_entry->large_scenery.tiles[tileIndex].z_offset + }; - rotate_map_coordinates(&firstTile.x, &firstTile.y, map_element_direction); + rotate_map_coordinates(&firstTile.x, &firstTile.y, map_element_direction); - firstTile.x = x - firstTile.x; - firstTile.y = y - firstTile.y; + firstTile.x = x - firstTile.x; + firstTile.y = y - firstTile.y; - bool calculate_cost = true; - for (sint32 i = 0; scenery_entry->large_scenery.tiles[i].x_offset != -1; i++){ + bool calculate_cost = true; + for (sint32 i = 0; scenery_entry->large_scenery.tiles[i].x_offset != -1; i++){ - rct_xyz16 currentTile = { - .x = scenery_entry->large_scenery.tiles[i].x_offset, - .y = scenery_entry->large_scenery.tiles[i].y_offset, - .z = scenery_entry->large_scenery.tiles[i].z_offset - }; + rct_xyz16 currentTile = { + .x = scenery_entry->large_scenery.tiles[i].x_offset, + .y = scenery_entry->large_scenery.tiles[i].y_offset, + .z = scenery_entry->large_scenery.tiles[i].z_offset + }; - rotate_map_coordinates(¤tTile.x, ¤tTile.y, map_element_direction); + rotate_map_coordinates(¤tTile.x, ¤tTile.y, map_element_direction); - currentTile.x += firstTile.x; - currentTile.y += firstTile.y; - currentTile.z += firstTile.z; + currentTile.x += firstTile.x; + currentTile.y += firstTile.y; + currentTile.z += firstTile.z; - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode){ - if (!map_is_location_owned(currentTile.x, currentTile.y, currentTile.z)){ - *ebx = MONEY32_UNDEFINED; - return; - } - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode){ + if (!map_is_location_owned(currentTile.x, currentTile.y, currentTile.z)){ + *ebx = MONEY32_UNDEFINED; + return; + } + } - // If not applying then no need to delete the actual element - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - if (flags & (1 << 7)) { - if (map_element->flags & (1 << 6)) - calculate_cost = false; - map_element->flags |= (1 << 6); - } - continue; - } + // If not applying then no need to delete the actual element + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + if (flags & (1 << 7)) { + if (map_element->flags & (1 << 6)) + calculate_cost = false; + map_element->flags |= (1 << 6); + } + continue; + } - rct_map_element* sceneryElement = map_get_first_element_at(currentTile.x / 32, currentTile.y / 32); - element_found = false; - do - { - if (map_element_get_type(sceneryElement) != MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) - continue; + rct_map_element* sceneryElement = map_get_first_element_at(currentTile.x / 32, currentTile.y / 32); + element_found = false; + do + { + if (map_element_get_type(sceneryElement) != MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) + continue; - if ((sceneryElement->type & MAP_ELEMENT_DIRECTION_MASK) != map_element_direction) - continue; + if ((sceneryElement->type & MAP_ELEMENT_DIRECTION_MASK) != map_element_direction) + continue; - if ((sceneryElement->properties.scenerymultiple.type >> 10) != i) - continue; + if ((sceneryElement->properties.scenerymultiple.type >> 10) != i) + continue; - if (sceneryElement->base_height != currentTile.z / 8) - continue; + if (sceneryElement->base_height != currentTile.z / 8) + continue; - // If we are removing ghost elements - if ((flags & GAME_COMMAND_FLAG_GHOST) && !(sceneryElement->flags & MAP_ELEMENT_FLAG_GHOST)) - continue; + // If we are removing ghost elements + if ((flags & GAME_COMMAND_FLAG_GHOST) && !(sceneryElement->flags & MAP_ELEMENT_FLAG_GHOST)) + continue; - map_invalidate_tile_full(currentTile.x, currentTile.y); - map_element_remove(sceneryElement); - element_found = true; - break; - } while (!map_element_is_last_for_tile(sceneryElement++)); + map_invalidate_tile_full(currentTile.x, currentTile.y); + map_element_remove(sceneryElement); + element_found = true; + break; + } while (!map_element_is_last_for_tile(sceneryElement++)); - if (element_found == false){ - log_error("Tile not found when trying to remove element!"); - } - } + if (element_found == false){ + log_error("Tile not found when trying to remove element!"); + } + } - if (flags & GAME_COMMAND_FLAG_APPLY && gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_GHOST)) { - rct_xyz16 coord; - coord.x = x + 16; - coord.y = y + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (flags & GAME_COMMAND_FLAG_APPLY && gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_GHOST)) { + rct_xyz16 coord; + coord.x = x + 16; + coord.y = y + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - *ebx = scenery_entry->large_scenery.removal_price * 10; - if (gParkFlags & PARK_FLAGS_NO_MONEY || - calculate_cost == false){ - *ebx = 0; - } - return; + *ebx = scenery_entry->large_scenery.removal_price * 10; + if (gParkFlags & PARK_FLAGS_NO_MONEY || + calculate_cost == false){ + *ebx = 0; + } + return; } /** @@ -1107,49 +1107,49 @@ void game_command_remove_large_scenery(sint32* eax, sint32* ebx, sint32* ecx, si */ void game_command_set_scenery_colour(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - sint32 x = *eax; - sint32 y = *ecx; - uint8 base_height = *edx; - uint8 scenery_type = *edx >> 8; - uint8 colour1 = *ebp; - uint8 colour2 = *ebp >> 8; - uint8 flags = *ebx & 0xFF; - // Note this function is passed type. - uint8 quadrant = ((*ebx >> 8) & 0xFF) >> 6; - sint32 z = base_height * 8; - gCommandPosition.x = x + 16; - gCommandPosition.y = y + 16; - gCommandPosition.z = z; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + sint32 x = *eax; + sint32 y = *ecx; + uint8 base_height = *edx; + uint8 scenery_type = *edx >> 8; + uint8 colour1 = *ebp; + uint8 colour2 = *ebp >> 8; + uint8 flags = *ebx & 0xFF; + // Note this function is passed type. + uint8 quadrant = ((*ebx >> 8) & 0xFF) >> 6; + sint32 z = base_height * 8; + gCommandPosition.x = x + 16; + gCommandPosition.y = y + 16; + gCommandPosition.z = z; - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode){ - if (!map_is_location_owned(x, y, z)){ - *ebx = MONEY32_UNDEFINED; - return; - } - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode){ + if (!map_is_location_owned(x, y, z)){ + *ebx = MONEY32_UNDEFINED; + return; + } + } - rct_map_element *map_element = map_get_small_scenery_element_at(x, y, base_height, scenery_type, quadrant); + rct_map_element *map_element = map_get_small_scenery_element_at(x, y, base_height, scenery_type, quadrant); - if (map_element == NULL) { - *ebx = 0; - return; - } + if (map_element == NULL) { + *ebx = 0; + return; + } - if((flags & GAME_COMMAND_FLAG_GHOST) && !(map_element->flags & MAP_ELEMENT_FLAG_GHOST)){ - *ebx = 0; - return; - } + if((flags & GAME_COMMAND_FLAG_GHOST) && !(map_element->flags & MAP_ELEMENT_FLAG_GHOST)){ + *ebx = 0; + return; + } - if(flags & GAME_COMMAND_FLAG_APPLY){ - map_element->properties.scenery.colour_1 &= 0xE0; - map_element->properties.scenery.colour_1 |= colour1; - map_element->properties.scenery.colour_2 &= 0xE0; - map_element->properties.scenery.colour_2 |= colour2; - map_invalidate_tile_full(x, y); - } + if(flags & GAME_COMMAND_FLAG_APPLY){ + map_element->properties.scenery.colour_1 &= 0xE0; + map_element->properties.scenery.colour_1 |= colour1; + map_element->properties.scenery.colour_2 &= 0xE0; + map_element->properties.scenery.colour_2 |= colour2; + map_invalidate_tile_full(x, y); + } - *ebx = 0; + *ebx = 0; } /** @@ -1158,82 +1158,82 @@ void game_command_set_scenery_colour(sint32* eax, sint32* ebx, sint32* ecx, sint */ void game_command_set_large_scenery_colour(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - sint32 x = *eax; - sint32 y = *ecx; - uint8 map_element_direction = *ebx >> 8; - uint8 flags = *ebx & 0xFF; - uint8 base_height = *edx; - uint8 tileIndex = *edx >> 8; - uint8 colour1 = *ebp; - uint8 colour2 = *ebp >> 8; - sint32 z = map_element_height(x, y); - gCommandPosition.x = x + 16; - gCommandPosition.y = y + 16; - gCommandPosition.z = z; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + sint32 x = *eax; + sint32 y = *ecx; + uint8 map_element_direction = *ebx >> 8; + uint8 flags = *ebx & 0xFF; + uint8 base_height = *edx; + uint8 tileIndex = *edx >> 8; + uint8 colour1 = *ebp; + uint8 colour2 = *ebp >> 8; + sint32 z = map_element_height(x, y); + gCommandPosition.x = x + 16; + gCommandPosition.y = y + 16; + gCommandPosition.z = z; - rct_map_element *map_element = map_get_large_scenery_segment(x, y, base_height, map_element_direction, tileIndex); + rct_map_element *map_element = map_get_large_scenery_segment(x, y, base_height, map_element_direction, tileIndex); - if(map_element == NULL){ - *ebx = 0; - return; - } + if(map_element == NULL){ + *ebx = 0; + return; + } - if((flags & GAME_COMMAND_FLAG_GHOST) && !(map_element->flags & MAP_ELEMENT_FLAG_GHOST)){ - *ebx = 0; - return; - } + if((flags & GAME_COMMAND_FLAG_GHOST) && !(map_element->flags & MAP_ELEMENT_FLAG_GHOST)){ + *ebx = 0; + return; + } - rct_scenery_entry *scenery_entry = get_large_scenery_entry(map_element->properties.scenerymultiple.type & 0x3FF); + rct_scenery_entry *scenery_entry = get_large_scenery_entry(map_element->properties.scenerymultiple.type & 0x3FF); - // Work out the base tile coordinates (Tile with index 0) - rct_xyz16 baseTile = { - .x = scenery_entry->large_scenery.tiles[tileIndex].x_offset, - .y = scenery_entry->large_scenery.tiles[tileIndex].y_offset, - .z = (base_height * 8) - scenery_entry->large_scenery.tiles[tileIndex].z_offset - }; - rotate_map_coordinates(&baseTile.x, &baseTile.y, map_element_direction); - baseTile.x = x - baseTile.x; - baseTile.y = y - baseTile.y; + // Work out the base tile coordinates (Tile with index 0) + rct_xyz16 baseTile = { + .x = scenery_entry->large_scenery.tiles[tileIndex].x_offset, + .y = scenery_entry->large_scenery.tiles[tileIndex].y_offset, + .z = (base_height * 8) - scenery_entry->large_scenery.tiles[tileIndex].z_offset + }; + rotate_map_coordinates(&baseTile.x, &baseTile.y, map_element_direction); + baseTile.x = x - baseTile.x; + baseTile.y = y - baseTile.y; - for (sint32 i = 0; scenery_entry->large_scenery.tiles[i].x_offset != -1; ++i) { - assert(i < MAXIMUM_MAP_SIZE_TECHNICAL); + for (sint32 i = 0; scenery_entry->large_scenery.tiles[i].x_offset != -1; ++i) { + assert(i < MAXIMUM_MAP_SIZE_TECHNICAL); - // Work out the current tile coordinates - rct_xyz16 currentTile = { - .x = scenery_entry->large_scenery.tiles[i].x_offset, - .y = scenery_entry->large_scenery.tiles[i].y_offset, - .z = scenery_entry->large_scenery.tiles[i].z_offset - }; - rotate_map_coordinates(¤tTile.x, ¤tTile.y, map_element_direction); - currentTile.x += baseTile.x; - currentTile.y += baseTile.y; - currentTile.z += baseTile.z; + // Work out the current tile coordinates + rct_xyz16 currentTile = { + .x = scenery_entry->large_scenery.tiles[i].x_offset, + .y = scenery_entry->large_scenery.tiles[i].y_offset, + .z = scenery_entry->large_scenery.tiles[i].z_offset + }; + rotate_map_coordinates(¤tTile.x, ¤tTile.y, map_element_direction); + currentTile.x += baseTile.x; + currentTile.y += baseTile.y; + currentTile.z += baseTile.z; - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode){ - if (!map_is_location_owned(currentTile.x, currentTile.y, currentTile.z)){ - *ebx = MONEY32_UNDEFINED; - return; - } - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode){ + if (!map_is_location_owned(currentTile.x, currentTile.y, currentTile.z)){ + *ebx = MONEY32_UNDEFINED; + return; + } + } - if(flags & GAME_COMMAND_FLAG_APPLY){ - rct_map_element* mapElement = map_get_large_scenery_segment( - currentTile.x, - currentTile.y, - base_height, - map_element_direction, - i); + if(flags & GAME_COMMAND_FLAG_APPLY){ + rct_map_element* mapElement = map_get_large_scenery_segment( + currentTile.x, + currentTile.y, + base_height, + map_element_direction, + i); - mapElement->properties.scenerymultiple.colour[0] &= 0xE0; - mapElement->properties.scenerymultiple.colour[0] |= colour1; - mapElement->properties.scenerymultiple.colour[1] &= 0xE0; - mapElement->properties.scenerymultiple.colour[1] |= colour2; + mapElement->properties.scenerymultiple.colour[0] &= 0xE0; + mapElement->properties.scenerymultiple.colour[0] |= colour1; + mapElement->properties.scenerymultiple.colour[1] &= 0xE0; + mapElement->properties.scenerymultiple.colour[1] |= colour2; - map_invalidate_tile_full(currentTile.x, currentTile.y); - } - } - *ebx = 0; + map_invalidate_tile_full(currentTile.x, currentTile.y); + } + } + *ebx = 0; } // This will cause clear scenery to remove paths @@ -1246,88 +1246,88 @@ void game_command_set_large_scenery_colour(sint32* eax, sint32* ebx, sint32* ecx */ static money32 map_clear_scenery_from_tile(sint32 x, sint32 y, sint32 clear, sint32 flags) { - sint32 type; - money32 cost, totalCost; - rct_map_element *mapElement; + sint32 type; + money32 cost, totalCost; + rct_map_element *mapElement; - totalCost = 0; + totalCost = 0; restart_from_beginning: - mapElement = map_get_first_element_at(x, y); - do { - type = map_element_get_type(mapElement); - switch (type) { - case MAP_ELEMENT_TYPE_PATH: - if (clear & (1 << 2)) { - sint32 eax = x * 32; - sint32 ebx = flags; - sint32 ecx = y * 32; - sint32 edx = mapElement->base_height; - sint32 edi = 0, ebp = 0; - cost = game_do_command(eax, ebx, ecx, edx, GAME_COMMAND_REMOVE_PATH, edi, ebp); + mapElement = map_get_first_element_at(x, y); + do { + type = map_element_get_type(mapElement); + switch (type) { + case MAP_ELEMENT_TYPE_PATH: + if (clear & (1 << 2)) { + sint32 eax = x * 32; + sint32 ebx = flags; + sint32 ecx = y * 32; + sint32 edx = mapElement->base_height; + sint32 edi = 0, ebp = 0; + cost = game_do_command(eax, ebx, ecx, edx, GAME_COMMAND_REMOVE_PATH, edi, ebp); - if (cost == MONEY32_UNDEFINED) - return MONEY32_UNDEFINED; + if (cost == MONEY32_UNDEFINED) + return MONEY32_UNDEFINED; - totalCost += cost; - if (flags & 1) - goto restart_from_beginning; - } break; - case MAP_ELEMENT_TYPE_SCENERY: - if (clear & (1 << 0)) { - sint32 eax = x * 32; - sint32 ebx = (mapElement->type << 8) | flags; - sint32 ecx = y * 32; - sint32 edx = (mapElement->properties.scenery.type << 8) | (mapElement->base_height); - sint32 edi = 0, ebp = 0; - cost = game_do_command(eax, ebx, ecx, edx, GAME_COMMAND_REMOVE_SCENERY, edi, ebp); + totalCost += cost; + if (flags & 1) + goto restart_from_beginning; + } break; + case MAP_ELEMENT_TYPE_SCENERY: + if (clear & (1 << 0)) { + sint32 eax = x * 32; + sint32 ebx = (mapElement->type << 8) | flags; + sint32 ecx = y * 32; + sint32 edx = (mapElement->properties.scenery.type << 8) | (mapElement->base_height); + sint32 edi = 0, ebp = 0; + cost = game_do_command(eax, ebx, ecx, edx, GAME_COMMAND_REMOVE_SCENERY, edi, ebp); - if (cost == MONEY32_UNDEFINED) - return MONEY32_UNDEFINED; + if (cost == MONEY32_UNDEFINED) + return MONEY32_UNDEFINED; - totalCost += cost; - if (flags & 1) - goto restart_from_beginning; + totalCost += cost; + if (flags & 1) + goto restart_from_beginning; - } break; - case MAP_ELEMENT_TYPE_WALL: - if (clear & (1 << 0)) { - sint32 eax = x * 32; - sint32 ebx = flags; - sint32 ecx = y * 32; - sint32 edx = (mapElement->base_height << 8) | (mapElement->type & MAP_ELEMENT_DIRECTION_MASK); - sint32 edi = 0, ebp = 0; - cost = game_do_command(eax, ebx, ecx, edx, GAME_COMMAND_REMOVE_WALL, edi, ebp); + } break; + case MAP_ELEMENT_TYPE_WALL: + if (clear & (1 << 0)) { + sint32 eax = x * 32; + sint32 ebx = flags; + sint32 ecx = y * 32; + sint32 edx = (mapElement->base_height << 8) | (mapElement->type & MAP_ELEMENT_DIRECTION_MASK); + sint32 edi = 0, ebp = 0; + cost = game_do_command(eax, ebx, ecx, edx, GAME_COMMAND_REMOVE_WALL, edi, ebp); - if (cost == MONEY32_UNDEFINED) - return MONEY32_UNDEFINED; + if (cost == MONEY32_UNDEFINED) + return MONEY32_UNDEFINED; - totalCost += cost; - if (flags & 1) - goto restart_from_beginning; + totalCost += cost; + if (flags & 1) + goto restart_from_beginning; - } break; - case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - if (clear & (1 << 1)) { - sint32 eax = x * 32; - sint32 ebx = flags | ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) << 8); - sint32 ecx = y * 32; - sint32 edx = mapElement->base_height | ((mapElement->properties.scenerymultiple.type >> 10) << 8); - sint32 edi = 0, ebp = 0; - cost = game_do_command(eax, ebx | (1 << 7), ecx, edx, GAME_COMMAND_REMOVE_LARGE_SCENERY, edi, ebp); + } break; + case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: + if (clear & (1 << 1)) { + sint32 eax = x * 32; + sint32 ebx = flags | ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) << 8); + sint32 ecx = y * 32; + sint32 edx = mapElement->base_height | ((mapElement->properties.scenerymultiple.type >> 10) << 8); + sint32 edi = 0, ebp = 0; + cost = game_do_command(eax, ebx | (1 << 7), ecx, edx, GAME_COMMAND_REMOVE_LARGE_SCENERY, edi, ebp); - if (cost == MONEY32_UNDEFINED) - return MONEY32_UNDEFINED; + if (cost == MONEY32_UNDEFINED) + return MONEY32_UNDEFINED; - totalCost += cost; - if (flags & 1) - goto restart_from_beginning; + totalCost += cost; + if (flags & 1) + goto restart_from_beginning; - } break; - } - } while (!map_element_is_last_for_tile(mapElement++)); + } break; + } + } while (!map_element_is_last_for_tile(mapElement++)); - return totalCost; + return totalCost; } /** @@ -1335,69 +1335,69 @@ restart_from_beginning: * when using the clear scenery tool with large scenery. */ static void map_reset_clear_large_scenery_flag(){ - rct_map_element* mapElement; - // TODO: Improve efficiency of this - for (sint32 y = 0; y < MAXIMUM_MAP_SIZE_TECHNICAL; y++) { - for (sint32 x = 0; x < MAXIMUM_MAP_SIZE_TECHNICAL; x++) { - mapElement = map_get_first_element_at(x, y); - do { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { - mapElement->flags &= ~(1 << 6); - } - } while (!map_element_is_last_for_tile(mapElement++)); - } - } + rct_map_element* mapElement; + // TODO: Improve efficiency of this + for (sint32 y = 0; y < MAXIMUM_MAP_SIZE_TECHNICAL; y++) { + for (sint32 x = 0; x < MAXIMUM_MAP_SIZE_TECHNICAL; x++) { + mapElement = map_get_first_element_at(x, y); + do { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { + mapElement->flags &= ~(1 << 6); + } + } while (!map_element_is_last_for_tile(mapElement++)); + } + } } money32 map_clear_scenery(sint32 x0, sint32 y0, sint32 x1, sint32 y1, sint32 clear, sint32 flags) { - sint32 x, y, z; - money32 totalCost, cost; - bool noValidTiles; + sint32 x, y, z; + money32 totalCost, cost; + bool noValidTiles; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - x = (x0 + x1) / 2 + 16; - y = (y0 + y1) / 2 + 16; - z = map_element_height(x, y); - gCommandPosition.x = x; - gCommandPosition.y = y; - gCommandPosition.z = z; + x = (x0 + x1) / 2 + 16; + y = (y0 + y1) / 2 + 16; + z = map_element_height(x, y); + gCommandPosition.x = x; + gCommandPosition.y = y; + gCommandPosition.z = z; - x0 = max(x0, 32); - y0 = max(y0, 32); - x1 = min(x1, gMapSizeMaxXY); - y1 = min(y1, gMapSizeMaxXY); + x0 = max(x0, 32); + y0 = max(y0, 32); + x1 = min(x1, gMapSizeMaxXY); + y1 = min(y1, gMapSizeMaxXY); - noValidTiles = true; - totalCost = 0; - for (y = y0; y <= y1; y += 32) { - for (x = x0; x <= x1; x += 32) { - if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode || map_is_location_owned_or_has_rights(x, y)) { - cost = map_clear_scenery_from_tile(x / 32, y / 32, clear, flags); - if (cost != MONEY32_UNDEFINED) { - noValidTiles = false; - totalCost += cost; - } - } else { - gGameCommandErrorText = STR_LAND_NOT_OWNED_BY_PARK; - } - } - } + noValidTiles = true; + totalCost = 0; + for (y = y0; y <= y1; y += 32) { + for (x = x0; x <= x1; x += 32) { + if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode || map_is_location_owned_or_has_rights(x, y)) { + cost = map_clear_scenery_from_tile(x / 32, y / 32, clear, flags); + if (cost != MONEY32_UNDEFINED) { + noValidTiles = false; + totalCost += cost; + } + } else { + gGameCommandErrorText = STR_LAND_NOT_OWNED_BY_PARK; + } + } + } - if (gGameCommandNestLevel == 1 && flags & GAME_COMMAND_FLAG_APPLY) { - rct_xyz16 coord; - coord.x = ((x0 + x1) / 2) + 16; - coord.y = ((y0 + y1) / 2) + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (gGameCommandNestLevel == 1 && flags & GAME_COMMAND_FLAG_APPLY) { + rct_xyz16 coord; + coord.x = ((x0 + x1) / 2) + 16; + coord.y = ((y0 + y1) / 2) + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - if (clear & (1 << 1)) { - map_reset_clear_large_scenery_flag(); - } + if (clear & (1 << 1)) { + map_reset_clear_large_scenery_flag(); + } - return noValidTiles ? MONEY32_UNDEFINED : totalCost; + return noValidTiles ? MONEY32_UNDEFINED : totalCost; } /** @@ -1406,14 +1406,14 @@ money32 map_clear_scenery(sint32 x0, sint32 y0, sint32 x1, sint32 y1, sint32 cle */ void game_command_clear_scenery(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - *ebx = map_clear_scenery( - (sint16)(*eax & 0xFFFF), - (sint16)(*ecx & 0xFFFF), - (sint16)(*edi & 0xFFFF), - (sint16)(*ebp & 0xFFFF), - *edx, - *ebx & 0xFF - ); + *ebx = map_clear_scenery( + (sint16)(*eax & 0xFFFF), + (sint16)(*ecx & 0xFFFF), + (sint16)(*edi & 0xFFFF), + (sint16)(*ebp & 0xFFFF), + *edx, + *ebx & 0xFF + ); } /** @@ -1422,123 +1422,123 @@ void game_command_clear_scenery(sint32* eax, sint32* ebx, sint32* ecx, sint32* e */ static money32 map_change_surface_style(sint32 x0, sint32 y0, sint32 x1, sint32 y1, uint8 surfaceStyle, uint8 edgeStyle, uint8 flags) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - x0 = max(x0, 32); - y0 = max(y0, 32); - x1 = min(x1, gMapSizeMaxXY); - y1 = min(y1, gMapSizeMaxXY); + x0 = max(x0, 32); + y0 = max(y0, 32); + x1 = min(x1, gMapSizeMaxXY); + y1 = min(y1, gMapSizeMaxXY); - sint32 xMid, yMid; + sint32 xMid, yMid; - xMid = (x0 + x1) / 2 + 16; - yMid = (y0 + y1) / 2 + 16; + xMid = (x0 + x1) / 2 + 16; + yMid = (y0 + y1) / 2 + 16; - sint32 heightMid = map_element_height(xMid, yMid); + sint32 heightMid = map_element_height(xMid, yMid); - gCommandPosition.x = xMid; - gCommandPosition.y = yMid; - gCommandPosition.z = heightMid; + gCommandPosition.x = xMid; + gCommandPosition.y = yMid; + gCommandPosition.z = heightMid; - // Do nothing during pause - if (game_is_paused() && !gCheatsBuildInPauseMode) { - return 0; - } + // Do nothing during pause + if (game_is_paused() && !gCheatsBuildInPauseMode) { + return 0; + } - // Do nothing if not in editor, sandbox mode or landscaping is forbidden - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && - !gCheatsSandboxMode && - (gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES) - ) { - return 0; - } + // Do nothing if not in editor, sandbox mode or landscaping is forbidden + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && + !gCheatsSandboxMode && + (gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES) + ) { + return 0; + } - money32 surfaceCost = 0; - money32 edgeCost = 0; - for (sint32 x = x0; x <= x1; x += 32) { - for (sint32 y = y0; y <= y1; y += 32) { - if (x > 0x1FFF) continue; - if (y > 0x1FFF) continue; + money32 surfaceCost = 0; + money32 edgeCost = 0; + for (sint32 x = x0; x <= x1; x += 32) { + for (sint32 y = y0; y <= y1; y += 32) { + if (x > 0x1FFF) continue; + if (y > 0x1FFF) continue; - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode) { - if (!map_is_location_in_park(x, y)) continue; - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode) { + if (!map_is_location_in_park(x, y)) continue; + } - rct_map_element* mapElement = map_get_surface_element_at(x / 32, y / 32); + rct_map_element* mapElement = map_get_surface_element_at(x / 32, y / 32); - if (surfaceStyle != 0xFF){ - uint8 cur_terrain = ( - (mapElement->type&MAP_ELEMENT_DIRECTION_MASK) << 3) | - (mapElement->properties.surface.terrain >> 5); + if (surfaceStyle != 0xFF){ + uint8 cur_terrain = ( + (mapElement->type&MAP_ELEMENT_DIRECTION_MASK) << 3) | + (mapElement->properties.surface.terrain >> 5); - if (surfaceStyle != cur_terrain) { - // Prevent network-originated value of surfaceStyle from causing - // invalid access. - uint8 style = surfaceStyle & 0x1F; - if (style >= countof(TerrainPricing)) { - return MONEY32_UNDEFINED; - } - surfaceCost += TerrainPricing[style]; - if (flags & 1){ - mapElement->properties.surface.terrain &= MAP_ELEMENT_WATER_HEIGHT_MASK; - mapElement->type &= MAP_ELEMENT_QUADRANT_MASK | MAP_ELEMENT_TYPE_MASK; + if (surfaceStyle != cur_terrain) { + // Prevent network-originated value of surfaceStyle from causing + // invalid access. + uint8 style = surfaceStyle & 0x1F; + if (style >= countof(TerrainPricing)) { + return MONEY32_UNDEFINED; + } + surfaceCost += TerrainPricing[style]; + if (flags & 1){ + mapElement->properties.surface.terrain &= MAP_ELEMENT_WATER_HEIGHT_MASK; + mapElement->type &= MAP_ELEMENT_QUADRANT_MASK | MAP_ELEMENT_TYPE_MASK; - //Save the new terrain - mapElement->properties.surface.terrain |= surfaceStyle << 5; + //Save the new terrain + mapElement->properties.surface.terrain |= surfaceStyle << 5; - //Save the new direction mask - mapElement->type |= (surfaceStyle >> 3) & MAP_ELEMENT_DIRECTION_MASK; + //Save the new direction mask + mapElement->type |= (surfaceStyle >> 3) & MAP_ELEMENT_DIRECTION_MASK; - map_invalidate_tile_full(x, y); - footpath_remove_litter(x, y, map_element_height(x, y)); - } - } - } + map_invalidate_tile_full(x, y); + footpath_remove_litter(x, y, map_element_height(x, y)); + } + } + } - if (edgeStyle != 0xFF) { - uint8 currentEdge = - ((mapElement->type & 0x80) >> 4) | - (mapElement->properties.surface.slope >> 5); + if (edgeStyle != 0xFF) { + uint8 currentEdge = + ((mapElement->type & 0x80) >> 4) | + (mapElement->properties.surface.slope >> 5); - if (edgeStyle != currentEdge){ - edgeCost += 100; + if (edgeStyle != currentEdge){ + edgeCost += 100; - if (flags & 1){ - mapElement->properties.surface.slope &= MAP_ELEMENT_SLOPE_MASK; - mapElement->type &= 0x7F; + if (flags & 1){ + mapElement->properties.surface.slope &= MAP_ELEMENT_SLOPE_MASK; + mapElement->type &= 0x7F; - //Save edge style - mapElement->properties.surface.slope |= edgeStyle << 5; + //Save edge style + mapElement->properties.surface.slope |= edgeStyle << 5; - //Save ??? - mapElement->type |= (edgeStyle << 4) & 0x80; - map_invalidate_tile_full(x, y); - } - } - } + //Save ??? + mapElement->type |= (edgeStyle << 4) & 0x80; + map_invalidate_tile_full(x, y); + } + } + } - if (flags & 1) { - if (!(mapElement->properties.surface.terrain & MAP_ELEMENT_SURFACE_TERRAIN_MASK)) { - if (!(mapElement->type & MAP_ELEMENT_DIRECTION_MASK)) { - if ((mapElement->properties.surface.grass_length & 7) != GRASS_LENGTH_CLEAR_0) { - mapElement->properties.surface.grass_length = GRASS_LENGTH_CLEAR_0; - map_invalidate_tile_full(x, y); - } - } - } - } - } - } + if (flags & 1) { + if (!(mapElement->properties.surface.terrain & MAP_ELEMENT_SURFACE_TERRAIN_MASK)) { + if (!(mapElement->type & MAP_ELEMENT_DIRECTION_MASK)) { + if ((mapElement->properties.surface.grass_length & 7) != GRASS_LENGTH_CLEAR_0) { + mapElement->properties.surface.grass_length = GRASS_LENGTH_CLEAR_0; + map_invalidate_tile_full(x, y); + } + } + } + } + } + } - if (flags & GAME_COMMAND_FLAG_APPLY && gGameCommandNestLevel == 1) { - rct_xyz16 coord; - coord.x = ((x0 + x1) / 2) + 16; - coord.y = ((y0 + y1) / 2) + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (flags & GAME_COMMAND_FLAG_APPLY && gGameCommandNestLevel == 1) { + rct_xyz16 coord; + coord.x = ((x0 + x1) / 2) + 16; + coord.y = ((y0 + y1) / 2) + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - return (gParkFlags & PARK_FLAGS_NO_MONEY) ? 0 : surfaceCost + edgeCost; + return (gParkFlags & PARK_FLAGS_NO_MONEY) ? 0 : surfaceCost + edgeCost; } /** @@ -1547,33 +1547,33 @@ static money32 map_change_surface_style(sint32 x0, sint32 y0, sint32 x1, sint32 */ void game_command_change_surface_style(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - *ebx = map_change_surface_style( - (sint16)(*eax & 0xFFFF), - (sint16)(*ecx & 0xFFFF), - (sint16)(*edi & 0xFFFF), - (sint16)(*ebp & 0xFFFF), - *edx & 0xFF, - (*edx & 0xFF00) >> 8, - *ebx & 0xFF - ); + *ebx = map_change_surface_style( + (sint16)(*eax & 0xFFFF), + (sint16)(*ecx & 0xFFFF), + (sint16)(*edi & 0xFFFF), + (sint16)(*ebp & 0xFFFF), + *edx & 0xFF, + (*edx & 0xFF00) >> 8, + *ebx & 0xFF + ); } //0x00981A1E const uint8 map_element_raise_styles[5][32] = { - { 0x01, 0x1B, 0x03, 0x1B, 0x05, 0x21, 0x07, 0x21, 0x09, 0x1B, 0x0B, 0x1B, 0x0D, 0x21, 0x20, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x23, 0x18, 0x19, 0x1A, 0x3B, 0x1C, 0x29, 0x24, 0x1F }, - { 0x02, 0x03, 0x17, 0x17, 0x06, 0x07, 0x17, 0x17, 0x0A, 0x0B, 0x22, 0x22, 0x0E, 0x20, 0x22, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x37, 0x18, 0x19, 0x1A, 0x23, 0x1C, 0x28, 0x26, 0x1F }, - { 0x04, 0x05, 0x06, 0x07, 0x1E, 0x24, 0x1E, 0x24, 0x0C, 0x0D, 0x0E, 0x20, 0x1E, 0x24, 0x1E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x26, 0x18, 0x19, 0x1A, 0x21, 0x1C, 0x2C, 0x3E, 0x1F }, - { 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x20, 0x1D, 0x1D, 0x28, 0x28, 0x1D, 0x1D, 0x28, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x22, 0x18, 0x19, 0x1A, 0x29, 0x1C, 0x3D, 0x2C, 0x1F }, - { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x20, 0x21, 0x20, 0x28, 0x24, 0x20 }, + { 0x01, 0x1B, 0x03, 0x1B, 0x05, 0x21, 0x07, 0x21, 0x09, 0x1B, 0x0B, 0x1B, 0x0D, 0x21, 0x20, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x23, 0x18, 0x19, 0x1A, 0x3B, 0x1C, 0x29, 0x24, 0x1F }, + { 0x02, 0x03, 0x17, 0x17, 0x06, 0x07, 0x17, 0x17, 0x0A, 0x0B, 0x22, 0x22, 0x0E, 0x20, 0x22, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x37, 0x18, 0x19, 0x1A, 0x23, 0x1C, 0x28, 0x26, 0x1F }, + { 0x04, 0x05, 0x06, 0x07, 0x1E, 0x24, 0x1E, 0x24, 0x0C, 0x0D, 0x0E, 0x20, 0x1E, 0x24, 0x1E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x26, 0x18, 0x19, 0x1A, 0x21, 0x1C, 0x2C, 0x3E, 0x1F }, + { 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x20, 0x1D, 0x1D, 0x28, 0x28, 0x1D, 0x1D, 0x28, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x22, 0x18, 0x19, 0x1A, 0x29, 0x1C, 0x3D, 0x2C, 0x1F }, + { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x20, 0x21, 0x20, 0x28, 0x24, 0x20 }, }; //0x00981ABE const uint8 map_element_lower_styles[5][32] = { - { 0x2E, 0x00, 0x2E, 0x02, 0x3E, 0x04, 0x3E, 0x06, 0x2E, 0x08, 0x2E, 0x0A, 0x3E, 0x0C, 0x3E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x06, 0x18, 0x19, 0x1A, 0x0B, 0x1C, 0x0C, 0x3E, 0x1F }, - { 0x2D, 0x2D, 0x00, 0x01, 0x2D, 0x2D, 0x04, 0x05, 0x3D, 0x3D, 0x08, 0x09, 0x3D, 0x3D, 0x0C, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x07, 0x18, 0x19, 0x1A, 0x09, 0x1C, 0x3D, 0x0C, 0x1F }, - { 0x2B, 0x3B, 0x2B, 0x3B, 0x00, 0x01, 0x02, 0x03, 0x2B, 0x3B, 0x2B, 0x3B, 0x08, 0x09, 0x0A, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x03, 0x18, 0x19, 0x1A, 0x3B, 0x1C, 0x09, 0x0E, 0x1F }, - { 0x27, 0x27, 0x37, 0x37, 0x27, 0x27, 0x37, 0x37, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x37, 0x18, 0x19, 0x1A, 0x03, 0x1C, 0x0D, 0x06, 0x1F }, - { 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x0D, 0x0E, 0x00 }, + { 0x2E, 0x00, 0x2E, 0x02, 0x3E, 0x04, 0x3E, 0x06, 0x2E, 0x08, 0x2E, 0x0A, 0x3E, 0x0C, 0x3E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x06, 0x18, 0x19, 0x1A, 0x0B, 0x1C, 0x0C, 0x3E, 0x1F }, + { 0x2D, 0x2D, 0x00, 0x01, 0x2D, 0x2D, 0x04, 0x05, 0x3D, 0x3D, 0x08, 0x09, 0x3D, 0x3D, 0x0C, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x07, 0x18, 0x19, 0x1A, 0x09, 0x1C, 0x3D, 0x0C, 0x1F }, + { 0x2B, 0x3B, 0x2B, 0x3B, 0x00, 0x01, 0x02, 0x03, 0x2B, 0x3B, 0x2B, 0x3B, 0x08, 0x09, 0x0A, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x03, 0x18, 0x19, 0x1A, 0x3B, 0x1C, 0x09, 0x0E, 0x1F }, + { 0x27, 0x27, 0x37, 0x37, 0x27, 0x27, 0x37, 0x37, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x37, 0x18, 0x19, 0x1A, 0x03, 0x1C, 0x0D, 0x06, 0x1F }, + { 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x0D, 0x0E, 0x00 }, }; /** @@ -1581,246 +1581,246 @@ const uint8 map_element_lower_styles[5][32] = { * rct2: 0x00663CB9 */ static sint32 map_set_land_height_clear_func(rct_map_element** map_element, sint32 x, sint32 y, uint8 flags, money32* price) { - if (map_element_get_type(*map_element) == MAP_ELEMENT_TYPE_SURFACE) - return 0; + if (map_element_get_type(*map_element) == MAP_ELEMENT_TYPE_SURFACE) + return 0; - if (map_element_get_type(*map_element) == MAP_ELEMENT_TYPE_SCENERY) - return 0; + if (map_element_get_type(*map_element) == MAP_ELEMENT_TYPE_SCENERY) + return 0; - return 1; + return 1; } static money32 map_set_land_height(sint32 flags, sint32 x, sint32 y, sint32 height, sint32 style, sint32 selectionType) { - rct_map_element *mapElement; + rct_map_element *mapElement; - if (game_is_paused() && !gCheatsBuildInPauseMode) { - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - return MONEY32_UNDEFINED; - } + if (game_is_paused() && !gCheatsBuildInPauseMode) { + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + return MONEY32_UNDEFINED; + } - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode) { - if (gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES) { - gGameCommandErrorText = STR_FORBIDDEN_BY_THE_LOCAL_AUTHORITY; - return MONEY32_UNDEFINED; - } - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode) { + if (gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES) { + gGameCommandErrorText = STR_FORBIDDEN_BY_THE_LOCAL_AUTHORITY; + return MONEY32_UNDEFINED; + } + } - if (x > gMapSizeMaxXY || y > gMapSizeMaxXY) { - gGameCommandErrorText = STR_OFF_EDGE_OF_MAP; - return MONEY32_UNDEFINED; - } + if (x > gMapSizeMaxXY || y > gMapSizeMaxXY) { + gGameCommandErrorText = STR_OFF_EDGE_OF_MAP; + return MONEY32_UNDEFINED; + } - if (height < 2) { - gGameCommandErrorText = STR_TOO_LOW; - return MONEY32_UNDEFINED; - } + if (height < 2) { + gGameCommandErrorText = STR_TOO_LOW; + return MONEY32_UNDEFINED; + } - // Divide by 2 and subtract 7 to get the in-game units. - if (height > 142) { - gGameCommandErrorText = STR_TOO_HIGH; - return MONEY32_UNDEFINED; - } else if (height > 140 && (style & 0x1F) != 0) { - gGameCommandErrorText = STR_TOO_HIGH; - return MONEY32_UNDEFINED; - } + // Divide by 2 and subtract 7 to get the in-game units. + if (height > 142) { + gGameCommandErrorText = STR_TOO_HIGH; + return MONEY32_UNDEFINED; + } else if (height > 140 && (style & 0x1F) != 0) { + gGameCommandErrorText = STR_TOO_HIGH; + return MONEY32_UNDEFINED; + } - if (height == 140 && (style & 0x10)) { - gGameCommandErrorText = STR_TOO_HIGH; - return MONEY32_UNDEFINED; - } + if (height == 140 && (style & 0x10)) { + gGameCommandErrorText = STR_TOO_HIGH; + return MONEY32_UNDEFINED; + } - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode) { - if (!map_is_location_in_park(x, y)) { - return MONEY32_UNDEFINED; - } - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode) { + if (!map_is_location_in_park(x, y)) { + return MONEY32_UNDEFINED; + } + } - money32 cost = MONEY(0, 0); - if(flags & GAME_COMMAND_FLAG_APPLY) - { - footpath_remove_litter(x, y, map_element_height(x, y)); - if(!gCheatsDisableClearanceChecks) - wall_remove_at(x, y, height * 8 - 16, height * 8 + 32); - } - cost += MONEY(20, 0); + money32 cost = MONEY(0, 0); + if(flags & GAME_COMMAND_FLAG_APPLY) + { + footpath_remove_litter(x, y, map_element_height(x, y)); + if(!gCheatsDisableClearanceChecks) + wall_remove_at(x, y, height * 8 - 16, height * 8 + 32); + } + cost += MONEY(20, 0); - if (!gCheatsDisableClearanceChecks) { - //Check for obstructing scenery - mapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY) - continue; - if (height > mapElement->clearance_height) - continue; - if (height + 4 < mapElement->base_height) - continue; - rct_scenery_entry *sceneryEntry = get_small_scenery_entry(mapElement->properties.scenery.type); - if (sceneryEntry->small_scenery.height > 64 && gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL) - { - map_obstruction_set_error_text(mapElement); - return MONEY32_UNDEFINED; - } - cost += MONEY(sceneryEntry->small_scenery.removal_price, 0); - if (flags & GAME_COMMAND_FLAG_APPLY) - map_element_remove(mapElement--); - } while (!map_element_is_last_for_tile(mapElement++)); - } + if (!gCheatsDisableClearanceChecks) { + //Check for obstructing scenery + mapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY) + continue; + if (height > mapElement->clearance_height) + continue; + if (height + 4 < mapElement->base_height) + continue; + rct_scenery_entry *sceneryEntry = get_small_scenery_entry(mapElement->properties.scenery.type); + if (sceneryEntry->small_scenery.height > 64 && gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL) + { + map_obstruction_set_error_text(mapElement); + return MONEY32_UNDEFINED; + } + cost += MONEY(sceneryEntry->small_scenery.removal_price, 0); + if (flags & GAME_COMMAND_FLAG_APPLY) + map_element_remove(mapElement--); + } while (!map_element_is_last_for_tile(mapElement++)); + } - //Check for ride support limits - if(gCheatsDisableSupportLimits==false) - { - mapElement = map_get_first_element_at(x / 32, y / 32); - do{ - if(map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; - sint32 rideIndex = mapElement->properties.track.ride_index; - sint32 maxHeight = get_ride_entry_by_ride(get_ride(rideIndex))->max_height; - if(maxHeight == 0) - maxHeight = RideData5[get_ride(rideIndex)->type].max_height; - sint32 zDelta = mapElement->clearance_height - height; - if(zDelta >= 0 && zDelta/2 > maxHeight) - { - gGameCommandErrorText = STR_SUPPORTS_CANT_BE_EXTENDED; - return MONEY32_UNDEFINED; - } - }while(!map_element_is_last_for_tile(mapElement++)); - } + //Check for ride support limits + if(gCheatsDisableSupportLimits==false) + { + mapElement = map_get_first_element_at(x / 32, y / 32); + do{ + if(map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; + sint32 rideIndex = mapElement->properties.track.ride_index; + sint32 maxHeight = get_ride_entry_by_ride(get_ride(rideIndex))->max_height; + if(maxHeight == 0) + maxHeight = RideData5[get_ride(rideIndex)->type].max_height; + sint32 zDelta = mapElement->clearance_height - height; + if(zDelta >= 0 && zDelta/2 > maxHeight) + { + gGameCommandErrorText = STR_SUPPORTS_CANT_BE_EXTENDED; + return MONEY32_UNDEFINED; + } + }while(!map_element_is_last_for_tile(mapElement++)); + } - uint8 zCorner = height; //z position of highest corner of tile - rct_map_element *surfaceElement = map_get_surface_element_at(x / 32, y / 32); - if(surfaceElement->type & MAP_ELEMENT_TYPE_FLAG_HIGHLIGHT) - { - sint32 waterHeight = surfaceElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; - if(waterHeight != 0) - { - if(style & 0x1F) - { - zCorner += 2; - if(style & 0x10) - { - zCorner += 2; - } - } - if(zCorner > waterHeight * 2 - 2) - { - surfaceElement++; - map_obstruction_set_error_text(surfaceElement); - return MONEY32_UNDEFINED; - } - } - } + uint8 zCorner = height; //z position of highest corner of tile + rct_map_element *surfaceElement = map_get_surface_element_at(x / 32, y / 32); + if(surfaceElement->type & MAP_ELEMENT_TYPE_FLAG_HIGHLIGHT) + { + sint32 waterHeight = surfaceElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; + if(waterHeight != 0) + { + if(style & 0x1F) + { + zCorner += 2; + if(style & 0x10) + { + zCorner += 2; + } + } + if(zCorner > waterHeight * 2 - 2) + { + surfaceElement++; + map_obstruction_set_error_text(surfaceElement); + return MONEY32_UNDEFINED; + } + } + } - zCorner = height; - if(style & 0xF) - { - zCorner += 2; - if(style & 0x10) - { - zCorner += 2; - } - } + zCorner = height; + if(style & 0xF) + { + zCorner += 2; + if(style & 0x10) + { + zCorner += 2; + } + } - if (!gCheatsDisableClearanceChecks) { - if (!map_can_construct_with_clear_at(x, y, height, zCorner, &map_set_land_height_clear_func, 0xF, 0, NULL)) { - return MONEY32_UNDEFINED; - } - } + if (!gCheatsDisableClearanceChecks) { + if (!map_can_construct_with_clear_at(x, y, height, zCorner, &map_set_land_height_clear_func, 0xF, 0, NULL)) { + return MONEY32_UNDEFINED; + } + } - if (!gCheatsDisableClearanceChecks) { - mapElement = map_get_first_element_at(x / 32, y / 32); - do { - sint32 elementType = map_element_get_type(mapElement); + if (!gCheatsDisableClearanceChecks) { + mapElement = map_get_first_element_at(x / 32, y / 32); + do { + sint32 elementType = map_element_get_type(mapElement); - if (elementType == MAP_ELEMENT_TYPE_WALL) - continue; - if (elementType == MAP_ELEMENT_TYPE_SCENERY) - continue; - if (mapElement->flags & 0x10) - continue; - if (mapElement == surfaceElement) - continue; - if (mapElement > surfaceElement) - { - if (zCorner > mapElement->base_height) - { - map_obstruction_set_error_text(mapElement); - return MONEY32_UNDEFINED; - } - continue; - } - if (height < mapElement->clearance_height) - { - map_obstruction_set_error_text(mapElement); - return MONEY32_UNDEFINED; - } - } while (!map_element_is_last_for_tile(mapElement++)); - } + if (elementType == MAP_ELEMENT_TYPE_WALL) + continue; + if (elementType == MAP_ELEMENT_TYPE_SCENERY) + continue; + if (mapElement->flags & 0x10) + continue; + if (mapElement == surfaceElement) + continue; + if (mapElement > surfaceElement) + { + if (zCorner > mapElement->base_height) + { + map_obstruction_set_error_text(mapElement); + return MONEY32_UNDEFINED; + } + continue; + } + if (height < mapElement->clearance_height) + { + map_obstruction_set_error_text(mapElement); + return MONEY32_UNDEFINED; + } + } while (!map_element_is_last_for_tile(mapElement++)); + } - if(flags & GAME_COMMAND_FLAG_APPLY) - { - if (gGameCommandNestLevel == 1) { - rct_xyz16 coord; - coord.x = x + 16; - coord.y = y + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if(flags & GAME_COMMAND_FLAG_APPLY) + { + if (gGameCommandNestLevel == 1) { + rct_xyz16 coord; + coord.x = x + 16; + coord.y = y + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - surfaceElement = map_get_surface_element_at(x / 32, y / 32); - surfaceElement->base_height = height; - surfaceElement->clearance_height = height; - surfaceElement->properties.surface.slope &= MAP_ELEMENT_SLOPE_EDGE_STYLE_MASK; - surfaceElement->properties.surface.slope |= style; - sint32 slope = surfaceElement->properties.surface.terrain & MAP_ELEMENT_SLOPE_MASK; - if(slope != 0 && slope <= height / 2) - surfaceElement->properties.surface.terrain &= MAP_ELEMENT_SURFACE_TERRAIN_MASK; - map_invalidate_tile_full(x, y); - } - if(gParkFlags & PARK_FLAGS_NO_MONEY) - return 0; - return cost; + surfaceElement = map_get_surface_element_at(x / 32, y / 32); + surfaceElement->base_height = height; + surfaceElement->clearance_height = height; + surfaceElement->properties.surface.slope &= MAP_ELEMENT_SLOPE_EDGE_STYLE_MASK; + surfaceElement->properties.surface.slope |= style; + sint32 slope = surfaceElement->properties.surface.terrain & MAP_ELEMENT_SLOPE_MASK; + if(slope != 0 && slope <= height / 2) + surfaceElement->properties.surface.terrain &= MAP_ELEMENT_SURFACE_TERRAIN_MASK; + map_invalidate_tile_full(x, y); + } + if(gParkFlags & PARK_FLAGS_NO_MONEY) + return 0; + return cost; } void game_command_set_land_height(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - *ebx = map_set_land_height( - *ebx & 0xFF, - *eax & 0xFFFF, - *ecx & 0xFFFF, - *edx & 0xFF, - (*edx >> 8) & 0xFF, - *edi >> 5 - ); + *ebx = map_set_land_height( + *ebx & 0xFF, + *eax & 0xFFFF, + *ecx & 0xFFFF, + *edx & 0xFF, + (*edx >> 8) & 0xFF, + *edi >> 5 + ); } static money32 map_set_land_ownership(uint8 flags, sint16 x1, sint16 y1, sint16 x2, sint16 y2, uint8 newOwnership) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LAND_PURCHASE; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LAND_PURCHASE; - if (!(flags & GAME_COMMAND_FLAG_APPLY)) - return 0; + if (!(flags & GAME_COMMAND_FLAG_APPLY)) + return 0; - // Clamp to maximum addressable element to prevent long loop spamming the log - x1 = clamp(32, x1, gMapSizeUnits - 32); - y1 = clamp(32, y1, gMapSizeUnits - 32); - x2 = clamp(32, x2, gMapSizeUnits - 32); - y2 = clamp(32, y2, gMapSizeUnits - 32); - gUnk9E2E28 = 0; - map_buy_land_rights(x1, y1, x2, y2, 6, flags | (newOwnership << 8)); + // Clamp to maximum addressable element to prevent long loop spamming the log + x1 = clamp(32, x1, gMapSizeUnits - 32); + y1 = clamp(32, y1, gMapSizeUnits - 32); + x2 = clamp(32, x2, gMapSizeUnits - 32); + y2 = clamp(32, y2, gMapSizeUnits - 32); + gUnk9E2E28 = 0; + map_buy_land_rights(x1, y1, x2, y2, 6, flags | (newOwnership << 8)); - if (!(gUnk9E2E28 & 1)) { - return 0; - } + if (!(gUnk9E2E28 & 1)) { + return 0; + } - sint16 x = clamp(32, x1, gMapSizeUnits - 32); - sint16 y = clamp(32, y1, gMapSizeUnits - 32); + sint16 x = clamp(32, x1, gMapSizeUnits - 32); + sint16 y = clamp(32, y1, gMapSizeUnits - 32); - x += 16; - y += 16; + x += 16; + y += 16; - sint16 z = map_element_height(x, y) & 0xFFFF; - audio_play_sound_at_location(SOUND_PLACE_ITEM, x, y, z); - return 0; + sint16 z = map_element_height(x, y) & 0xFFFF; + audio_play_sound_at_location(SOUND_PLACE_ITEM, x, y, z); + return 0; } /** @@ -1829,313 +1829,313 @@ static money32 map_set_land_ownership(uint8 flags, sint16 x1, sint16 y1, sint16 */ void game_command_set_land_ownership(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - sint32 flags = *ebx & 0xFF; + sint32 flags = *ebx & 0xFF; - *ebx = map_set_land_ownership( - flags, - *eax & 0xFFFF, - *ecx & 0xFFFF, - *edi & 0xFFFF, - *ebp & 0xFFFF, - *edx & 0xFF - ); + *ebx = map_set_land_ownership( + flags, + *eax & 0xFFFF, + *ecx & 0xFFFF, + *edi & 0xFFFF, + *ebp & 0xFFFF, + *edx & 0xFF + ); - if (flags & GAME_COMMAND_FLAG_APPLY) { - map_count_remaining_land_rights(); - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + map_count_remaining_land_rights(); + } } static money32 raise_land(sint32 flags, sint32 x, sint32 y, sint32 z, sint32 ax, sint32 ay, sint32 bx, sint32 by, sint32 selectionType) { - money32 cost = 0; + money32 cost = 0; - if (selectionType < 0 || selectionType >= countof(map_element_raise_styles)) - { - log_warning("Invalid selection type %d for raising land", selectionType); - return MONEY32_UNDEFINED; - } + if (selectionType < 0 || selectionType >= countof(map_element_raise_styles)) + { + log_warning("Invalid selection type %d for raising land", selectionType); + return MONEY32_UNDEFINED; + } - if ((flags & GAME_COMMAND_FLAG_APPLY) && gGameCommandNestLevel == 1) { - audio_play_sound_at_location(SOUND_PLACE_ITEM, x, y, z); - } + if ((flags & GAME_COMMAND_FLAG_APPLY) && gGameCommandNestLevel == 1) { + audio_play_sound_at_location(SOUND_PLACE_ITEM, x, y, z); + } - uint8 min_height = 0xFF; + uint8 min_height = 0xFF; - ax = max(ax, 32); - ay = max(ay, 32); - bx = min(bx, gMapSizeMaxXY); - by = min(by, gMapSizeMaxXY); + ax = max(ax, 32); + ay = max(ay, 32); + bx = min(bx, gMapSizeMaxXY); + by = min(by, gMapSizeMaxXY); - // find lowest map element in selection - for (sint32 yi = ay; yi <= by; yi += 32) { - for (sint32 xi = ax; xi <= bx; xi += 32) { - rct_map_element *map_element = map_get_surface_element_at(xi / 32, yi / 32); - if (map_element != NULL && min_height > map_element->base_height) { - min_height = map_element->base_height; - } - } - } + // find lowest map element in selection + for (sint32 yi = ay; yi <= by; yi += 32) { + for (sint32 xi = ax; xi <= bx; xi += 32) { + rct_map_element *map_element = map_get_surface_element_at(xi / 32, yi / 32); + if (map_element != NULL && min_height > map_element->base_height) { + min_height = map_element->base_height; + } + } + } - for (sint32 yi = ay; yi <= by; yi += 32) { - for (sint32 xi = ax; xi <= bx; xi += 32) { - rct_map_element *map_element = map_get_surface_element_at(xi / 32, yi / 32); - if (map_element != NULL) { - uint8 height = map_element->base_height; - if (height <= min_height){ - uint8 newStyle = map_element_raise_styles[selectionType][map_element->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK]; - if (newStyle & 0x20) { // needs to be raised - height += 2; - newStyle &= ~0x20; - } - money32 tileCost = map_set_land_height(flags, xi, yi, height, newStyle, selectionType); - if (tileCost == MONEY32_UNDEFINED) - return MONEY32_UNDEFINED; + for (sint32 yi = ay; yi <= by; yi += 32) { + for (sint32 xi = ax; xi <= bx; xi += 32) { + rct_map_element *map_element = map_get_surface_element_at(xi / 32, yi / 32); + if (map_element != NULL) { + uint8 height = map_element->base_height; + if (height <= min_height){ + uint8 newStyle = map_element_raise_styles[selectionType][map_element->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK]; + if (newStyle & 0x20) { // needs to be raised + height += 2; + newStyle &= ~0x20; + } + money32 tileCost = map_set_land_height(flags, xi, yi, height, newStyle, selectionType); + if (tileCost == MONEY32_UNDEFINED) + return MONEY32_UNDEFINED; - cost += tileCost; - } - } - } - } + cost += tileCost; + } + } + } + } - // Force ride construction to recheck area - _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_RECHECK; + // Force ride construction to recheck area + _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_RECHECK; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - gCommandPosition.x = x; - gCommandPosition.y = y; - gCommandPosition.z = z; - return cost; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + gCommandPosition.x = x; + gCommandPosition.y = y; + gCommandPosition.z = z; + return cost; } static money32 lower_land(sint32 flags, sint32 x, sint32 y, sint32 z, sint32 ax, sint32 ay, sint32 bx, sint32 by, sint32 selectionType) { - money32 cost = 0; + money32 cost = 0; - if ((flags & GAME_COMMAND_FLAG_APPLY) && gGameCommandNestLevel == 1) { - audio_play_sound_at_location(SOUND_PLACE_ITEM, x, y, z); - } + if ((flags & GAME_COMMAND_FLAG_APPLY) && gGameCommandNestLevel == 1) { + audio_play_sound_at_location(SOUND_PLACE_ITEM, x, y, z); + } - if (selectionType < 0 || selectionType >= 5) - { - log_warning("Improper selection type %d", selectionType); - return MONEY32_UNDEFINED; - } + if (selectionType < 0 || selectionType >= 5) + { + log_warning("Improper selection type %d", selectionType); + return MONEY32_UNDEFINED; + } - uint8 max_height = 0; + uint8 max_height = 0; - ax = max(ax, 32); - ay = max(ay, 32); - bx = min(bx, gMapSizeMaxXY); - by = min(by, gMapSizeMaxXY); + ax = max(ax, 32); + ay = max(ay, 32); + bx = min(bx, gMapSizeMaxXY); + by = min(by, gMapSizeMaxXY); - // find highest map element in selection - for (sint32 yi = ay; yi <= by; yi += 32) { - for (sint32 xi = ax; xi <= bx; xi += 32) { - rct_map_element *map_element = map_get_surface_element_at(xi / 32, yi / 32); - if (map_element != NULL) { - uint8 base_height = map_element->base_height; - if (map_element->properties.surface.slope & 0xF) - base_height += 2; - if (map_element->properties.surface.slope & 0x10) - base_height += 2; - if (max_height < base_height) - max_height = base_height; - } - } - } + // find highest map element in selection + for (sint32 yi = ay; yi <= by; yi += 32) { + for (sint32 xi = ax; xi <= bx; xi += 32) { + rct_map_element *map_element = map_get_surface_element_at(xi / 32, yi / 32); + if (map_element != NULL) { + uint8 base_height = map_element->base_height; + if (map_element->properties.surface.slope & 0xF) + base_height += 2; + if (map_element->properties.surface.slope & 0x10) + base_height += 2; + if (max_height < base_height) + max_height = base_height; + } + } + } - for (sint32 yi = ay; yi <= by; yi += 32) { - for (sint32 xi = ax; xi <= bx; xi += 32) { - rct_map_element *map_element = map_get_surface_element_at(xi / 32, yi / 32); - if (map_element != NULL) { - uint8 height = map_element->base_height; - if (map_element->properties.surface.slope & 0xF) - height += 2; - if (map_element->properties.surface.slope & 0x10) - height += 2; - if (height >= max_height) { - height = map_element->base_height; - uint8 newStyle = map_element_lower_styles[selectionType][map_element->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK]; - if (newStyle & 0x20) { // needs to be lowered - height -= 2; - newStyle &= ~0x20; - } - money32 tileCost = map_set_land_height(flags, xi, yi, height, newStyle, selectionType); - if (tileCost == MONEY32_UNDEFINED) - return MONEY32_UNDEFINED; + for (sint32 yi = ay; yi <= by; yi += 32) { + for (sint32 xi = ax; xi <= bx; xi += 32) { + rct_map_element *map_element = map_get_surface_element_at(xi / 32, yi / 32); + if (map_element != NULL) { + uint8 height = map_element->base_height; + if (map_element->properties.surface.slope & 0xF) + height += 2; + if (map_element->properties.surface.slope & 0x10) + height += 2; + if (height >= max_height) { + height = map_element->base_height; + uint8 newStyle = map_element_lower_styles[selectionType][map_element->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK]; + if (newStyle & 0x20) { // needs to be lowered + height -= 2; + newStyle &= ~0x20; + } + money32 tileCost = map_set_land_height(flags, xi, yi, height, newStyle, selectionType); + if (tileCost == MONEY32_UNDEFINED) + return MONEY32_UNDEFINED; - cost += tileCost; - } - } - } - } + cost += tileCost; + } + } + } + } - // Force ride construction to recheck area - _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_RECHECK; + // Force ride construction to recheck area + _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_RECHECK; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - gCommandPosition.x = x; - gCommandPosition.y = y; - gCommandPosition.z = z; - return cost; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + gCommandPosition.x = x; + gCommandPosition.y = y; + gCommandPosition.z = z; + return cost; } money32 raise_water(sint16 x0, sint16 y0, sint16 x1, sint16 y1, uint8 flags) { - money32 cost = 0; - bool waterHeightChanged = false; + money32 cost = 0; + bool waterHeightChanged = false; - uint8 max_height = 0xFF; + uint8 max_height = 0xFF; - x0 = max(x0, 32); - y0 = max(y0, 32); - x1 = min(x1, gMapSizeMaxXY); - y1 = min(y1, gMapSizeMaxXY); + x0 = max(x0, 32); + y0 = max(y0, 32); + x1 = min(x1, gMapSizeMaxXY); + y1 = min(y1, gMapSizeMaxXY); - for (sint32 yi = y0; yi <= y1; yi += 32) { - for (sint32 xi = x0; xi <= x1; xi += 32) { - rct_map_element* map_element = map_get_surface_element_at(xi / 32, yi / 32); - if (map_element != NULL) { - uint8 height = map_element->base_height; - if (map_element->properties.surface.terrain & 0x1F) - height = (map_element->properties.surface.terrain & 0x1F) * 2; - if (max_height > height) - max_height = height; - } - } - } + for (sint32 yi = y0; yi <= y1; yi += 32) { + for (sint32 xi = x0; xi <= x1; xi += 32) { + rct_map_element* map_element = map_get_surface_element_at(xi / 32, yi / 32); + if (map_element != NULL) { + uint8 height = map_element->base_height; + if (map_element->properties.surface.terrain & 0x1F) + height = (map_element->properties.surface.terrain & 0x1F) * 2; + if (max_height > height) + max_height = height; + } + } + } - for (sint32 yi = y0; yi <= y1; yi += 32) { - for (sint32 xi = x0; xi <= x1; xi += 32) { - rct_map_element* map_element = map_get_surface_element_at(xi / 32, yi / 32); - if (map_element != NULL) { - if (map_element->base_height <= max_height){ - uint8 height = (map_element->properties.surface.terrain & 0x1F); - if (height != 0) { - height *= 2; - if (height > max_height) - continue; - height += 2; - } else { - height = map_element->base_height + 2; - } + for (sint32 yi = y0; yi <= y1; yi += 32) { + for (sint32 xi = x0; xi <= x1; xi += 32) { + rct_map_element* map_element = map_get_surface_element_at(xi / 32, yi / 32); + if (map_element != NULL) { + if (map_element->base_height <= max_height){ + uint8 height = (map_element->properties.surface.terrain & 0x1F); + if (height != 0) { + height *= 2; + if (height > max_height) + continue; + height += 2; + } else { + height = map_element->base_height + 2; + } - money32 tileCost = game_do_command(xi, flags, yi, (max_height << 8) + height, GAME_COMMAND_SET_WATER_HEIGHT, 0, 0); - if (tileCost == MONEY32_UNDEFINED) - return MONEY32_UNDEFINED; + money32 tileCost = game_do_command(xi, flags, yi, (max_height << 8) + height, GAME_COMMAND_SET_WATER_HEIGHT, 0, 0); + if (tileCost == MONEY32_UNDEFINED) + return MONEY32_UNDEFINED; - cost += tileCost; - waterHeightChanged = true; - } - } - } - } + cost += tileCost; + waterHeightChanged = true; + } + } + } + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - sint32 x = ((x0 + x1) / 2) + 16; - sint32 y = ((y0 + y1) / 2) + 16; - sint32 z = map_element_height(x, y); - sint16 water_height_z = z >> 16; - sint16 base_height_z = z; - z = water_height_z; - if (z != 0) - z = base_height_z; + if (flags & GAME_COMMAND_FLAG_APPLY) { + sint32 x = ((x0 + x1) / 2) + 16; + sint32 y = ((y0 + y1) / 2) + 16; + sint32 z = map_element_height(x, y); + sint16 water_height_z = z >> 16; + sint16 base_height_z = z; + z = water_height_z; + if (z != 0) + z = base_height_z; - rct_xyz16 coord; - coord.x = x; - coord.y = y; - coord.z = z; - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + rct_xyz16 coord; + coord.x = x; + coord.y = y; + coord.z = z; + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - gCommandPosition.x = x; - gCommandPosition.y = y; - gCommandPosition.z = z; - if (waterHeightChanged) { - audio_play_sound_at_location(SOUND_LAYING_OUT_WATER, x, y, z); - } - } + gCommandPosition.x = x; + gCommandPosition.y = y; + gCommandPosition.z = z; + if (waterHeightChanged) { + audio_play_sound_at_location(SOUND_LAYING_OUT_WATER, x, y, z); + } + } - // Force ride construction to recheck area - _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_RECHECK; + // Force ride construction to recheck area + _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_RECHECK; - return cost; + return cost; } money32 lower_water(sint16 x0, sint16 y0, sint16 x1, sint16 y1, uint8 flags) { - money32 cost = 0; - bool waterHeightChanged = false; + money32 cost = 0; + bool waterHeightChanged = false; - uint8 min_height = 0; + uint8 min_height = 0; - x0 = max(x0, 32); - y0 = max(y0, 32); - x1 = min(x1, gMapSizeMaxXY); - y1 = min(y1, gMapSizeMaxXY); + x0 = max(x0, 32); + y0 = max(y0, 32); + x1 = min(x1, gMapSizeMaxXY); + y1 = min(y1, gMapSizeMaxXY); - for (sint32 yi = y0; yi <= y1; yi += 32){ - for (sint32 xi = x0; xi <= x1; xi += 32){ - rct_map_element* map_element = map_get_surface_element_at(xi / 32, yi / 32); - if (map_element != NULL) { - uint8 height = map_element->properties.surface.terrain & 0x1F; - if (height != 0) { - height *= 2; - if (height > min_height) - min_height = height; - } - } - } - } + for (sint32 yi = y0; yi <= y1; yi += 32){ + for (sint32 xi = x0; xi <= x1; xi += 32){ + rct_map_element* map_element = map_get_surface_element_at(xi / 32, yi / 32); + if (map_element != NULL) { + uint8 height = map_element->properties.surface.terrain & 0x1F; + if (height != 0) { + height *= 2; + if (height > min_height) + min_height = height; + } + } + } + } - for (sint32 yi = y0; yi <= y1; yi += 32) { - for (sint32 xi = x0; xi <= x1; xi += 32) { - rct_map_element* map_element = map_get_surface_element_at(xi / 32, yi / 32); - if (map_element != NULL) { - uint8 height = (map_element->properties.surface.terrain & 0x1F); - if (height != 0) { - height *= 2; - if (height < min_height) - continue; - height -= 2; - sint32 tileCost = game_do_command(xi, flags, yi, (min_height << 8) + height, GAME_COMMAND_SET_WATER_HEIGHT, 0, 0); - if (tileCost == MONEY32_UNDEFINED) - return MONEY32_UNDEFINED; - cost += tileCost; - waterHeightChanged = true; - } - } - } - } + for (sint32 yi = y0; yi <= y1; yi += 32) { + for (sint32 xi = x0; xi <= x1; xi += 32) { + rct_map_element* map_element = map_get_surface_element_at(xi / 32, yi / 32); + if (map_element != NULL) { + uint8 height = (map_element->properties.surface.terrain & 0x1F); + if (height != 0) { + height *= 2; + if (height < min_height) + continue; + height -= 2; + sint32 tileCost = game_do_command(xi, flags, yi, (min_height << 8) + height, GAME_COMMAND_SET_WATER_HEIGHT, 0, 0); + if (tileCost == MONEY32_UNDEFINED) + return MONEY32_UNDEFINED; + cost += tileCost; + waterHeightChanged = true; + } + } + } + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - sint32 x = ((x0 + x1) / 2) + 16; - sint32 y = ((y0 + y1) / 2) + 16; - sint32 z = map_element_height(x, y); - sint16 water_height_z = z >> 16; - sint16 base_height_z = z; - z = water_height_z; - if (z == 0) - z = base_height_z; + if (flags & GAME_COMMAND_FLAG_APPLY) { + sint32 x = ((x0 + x1) / 2) + 16; + sint32 y = ((y0 + y1) / 2) + 16; + sint32 z = map_element_height(x, y); + sint16 water_height_z = z >> 16; + sint16 base_height_z = z; + z = water_height_z; + if (z == 0) + z = base_height_z; - rct_xyz16 coord; - coord.x = x; - coord.y = y; - coord.z = z; - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + rct_xyz16 coord; + coord.x = x; + coord.y = y; + coord.z = z; + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - gCommandPosition.x = x; - gCommandPosition.y = y; - gCommandPosition.z = z; - if (waterHeightChanged) { - audio_play_sound_at_location(SOUND_LAYING_OUT_WATER, x, y, z); - } - } + gCommandPosition.x = x; + gCommandPosition.y = y; + gCommandPosition.z = z; + if (waterHeightChanged) { + audio_play_sound_at_location(SOUND_LAYING_OUT_WATER, x, y, z); + } + } - // Force ride construction to recheck area - _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_RECHECK; + // Force ride construction to recheck area + _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_RECHECK; - return cost; + return cost; } /** @@ -2144,17 +2144,17 @@ money32 lower_water(sint16 x0, sint16 y0, sint16 x1, sint16 y1, uint8 flags) */ void game_command_raise_land(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - *ebx = raise_land( - *ebx, - *eax, - *ecx, - map_element_height(*eax, *ecx), - (sint16)(*edx & 0xFFFF), - (sint16)(*ebp & 0xFFFF), - *edx >> 16, - *ebp >> 16, - *edi & 0xFFFF - ); + *ebx = raise_land( + *ebx, + *eax, + *ecx, + map_element_height(*eax, *ecx), + (sint16)(*edx & 0xFFFF), + (sint16)(*ebp & 0xFFFF), + *edx >> 16, + *ebp >> 16, + *edi & 0xFFFF + ); } /** @@ -2163,58 +2163,58 @@ void game_command_raise_land(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, */ void game_command_lower_land(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - *ebx = lower_land( - *ebx, - *eax, - *ecx, - map_element_height(*eax, *ecx), - (sint16)(*edx & 0xFFFF), - (sint16)(*ebp & 0xFFFF), - *edx >> 16, - *ebp >> 16, - *edi & 0xFFFF - ); + *ebx = lower_land( + *ebx, + *eax, + *ecx, + map_element_height(*eax, *ecx), + (sint16)(*edx & 0xFFFF), + (sint16)(*ebp & 0xFFFF), + *edx >> 16, + *ebp >> 16, + *edi & 0xFFFF + ); } static sint32 map_element_get_corner_height(rct_map_element *mapElement, sint32 direction) { - sint32 z = mapElement->base_height; - sint32 slope = mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK; - switch (direction) { - case 0: - if (slope & 1) { - z += 2; - if (slope == 27) { - z += 2; - } - } - break; - case 1: - if (slope & 2) { - z += 2; - if (slope == 23) { - z += 2; - } - } - break; - case 2: - if (slope & 4) { - z += 2; - if (slope == 30) { - z += 2; - } - } - break; - case 3: - if (slope & 8) { - z += 2; - if (slope == 29) { - z += 2; - } - } - break; - } - return z; + sint32 z = mapElement->base_height; + sint32 slope = mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK; + switch (direction) { + case 0: + if (slope & 1) { + z += 2; + if (slope == 27) { + z += 2; + } + } + break; + case 1: + if (slope & 2) { + z += 2; + if (slope == 23) { + z += 2; + } + } + break; + case 2: + if (slope & 4) { + z += 2; + if (slope == 30) { + z += 2; + } + } + break; + case 3: + if (slope & 8) { + z += 2; + if (slope == 29) { + z += 2; + } + } + break; + } + return z; } /** @@ -2226,282 +2226,282 @@ static sint32 map_element_get_corner_height(rct_map_element *mapElement, sint32 */ static money32 smooth_land_tile(sint32 direction, uint8 flags, sint32 x, sint32 y, sint32 targetBaseZ, sint32 minBaseZ) { - // Check if inside map bounds - if (!map_is_location_valid(x, y)) { - return MONEY32_UNDEFINED; - } + // Check if inside map bounds + if (!map_is_location_valid(x, y)) { + return MONEY32_UNDEFINED; + } - // Get height of tile - rct_map_element *mapElement = map_get_surface_element_at(x >> 5, y >> 5); - if (mapElement == NULL) - { - log_warning("Invalid coordinates for land smoothing, x = %d, y = %d", x, y); - return MONEY32_UNDEFINED; - } - sint32 baseZ = map_element_get_corner_height(mapElement, direction); + // Get height of tile + rct_map_element *mapElement = map_get_surface_element_at(x >> 5, y >> 5); + if (mapElement == NULL) + { + log_warning("Invalid coordinates for land smoothing, x = %d, y = %d", x, y); + return MONEY32_UNDEFINED; + } + sint32 baseZ = map_element_get_corner_height(mapElement, direction); - // Check if tile is same height as target tile - if (baseZ == targetBaseZ) { - // No need to raise or lower - return MONEY32_UNDEFINED; - } + // Check if tile is same height as target tile + if (baseZ == targetBaseZ) { + // No need to raise or lower + return MONEY32_UNDEFINED; + } - uint8 style; - if (targetBaseZ <= baseZ) { - baseZ = baseZ - targetBaseZ; - if (baseZ <= minBaseZ) { - return MONEY32_UNDEFINED; - } - targetBaseZ = mapElement->base_height; - sint32 slope = mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK; - style = map_element_lower_styles[direction][slope]; - if (style & 0x20) { - targetBaseZ -= 2; - style &= ~0x20; - } - } else { - baseZ = targetBaseZ - baseZ; - if (baseZ <= minBaseZ) { - return MONEY32_UNDEFINED; - } - targetBaseZ = mapElement->base_height; - sint32 slope = mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK; - style = map_element_raise_styles[direction][slope]; - if ((style & 0x20) != 0) { - targetBaseZ += 2; - style &= ~0x20; - } - } + uint8 style; + if (targetBaseZ <= baseZ) { + baseZ = baseZ - targetBaseZ; + if (baseZ <= minBaseZ) { + return MONEY32_UNDEFINED; + } + targetBaseZ = mapElement->base_height; + sint32 slope = mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK; + style = map_element_lower_styles[direction][slope]; + if (style & 0x20) { + targetBaseZ -= 2; + style &= ~0x20; + } + } else { + baseZ = targetBaseZ - baseZ; + if (baseZ <= minBaseZ) { + return MONEY32_UNDEFINED; + } + targetBaseZ = mapElement->base_height; + sint32 slope = mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK; + style = map_element_raise_styles[direction][slope]; + if ((style & 0x20) != 0) { + targetBaseZ += 2; + style &= ~0x20; + } + } - return game_do_command(x, flags, y, targetBaseZ | (style << 8), GAME_COMMAND_SET_LAND_HEIGHT, 0, 0); + return game_do_command(x, flags, y, targetBaseZ | (style << 8), GAME_COMMAND_SET_LAND_HEIGHT, 0, 0); } static money32 smooth_land(sint32 flags, sint32 centreX, sint32 centreY, sint32 mapLeft, sint32 mapTop, sint32 mapRight, sint32 mapBottom, sint32 command) { - // Cap bounds to map - mapLeft = max(mapLeft, 32); - mapTop = max(mapTop, 32); - mapRight = clamp(0, mapRight, (MAXIMUM_MAP_SIZE_TECHNICAL - 1) * 32); - mapBottom = clamp(0, mapBottom, (MAXIMUM_MAP_SIZE_TECHNICAL - 1) * 32); + // Cap bounds to map + mapLeft = max(mapLeft, 32); + mapTop = max(mapTop, 32); + mapRight = clamp(0, mapRight, (MAXIMUM_MAP_SIZE_TECHNICAL - 1) * 32); + mapBottom = clamp(0, mapBottom, (MAXIMUM_MAP_SIZE_TECHNICAL - 1) * 32); - sint32 commandType; - sint32 centreZ = map_element_height(centreX, centreY); - sint32 mapLeftRight = mapLeft | (mapRight << 16); - sint32 mapTopBottom = mapTop | (mapBottom << 16); - bool fullTile = ((command & 0x7FFF) == MAP_SELECT_TYPE_FULL); + sint32 commandType; + sint32 centreZ = map_element_height(centreX, centreY); + sint32 mapLeftRight = mapLeft | (mapRight << 16); + sint32 mapTopBottom = mapTop | (mapBottom << 16); + bool fullTile = ((command & 0x7FFF) == MAP_SELECT_TYPE_FULL); - // Play sound (only once) - if ((flags & GAME_COMMAND_FLAG_APPLY) && gGameCommandNestLevel == 1) { - audio_play_sound_at_location(SOUND_PLACE_ITEM, centreX, centreY, centreZ); - } + // Play sound (only once) + if ((flags & GAME_COMMAND_FLAG_APPLY) && gGameCommandNestLevel == 1) { + audio_play_sound_at_location(SOUND_PLACE_ITEM, centreX, centreY, centreZ); + } - money32 totalCost = 0; + money32 totalCost = 0; - // First raise / lower the centre tile - money32 result; - commandType = command < 0x7FFF ? GAME_COMMAND_RAISE_LAND : GAME_COMMAND_LOWER_LAND; - result = game_do_command(centreX, flags, centreY, mapLeftRight, commandType, command & 0x7FFF, mapTopBottom); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } + // First raise / lower the centre tile + money32 result; + commandType = command < 0x7FFF ? GAME_COMMAND_RAISE_LAND : GAME_COMMAND_LOWER_LAND; + result = game_do_command(centreX, flags, centreY, mapLeftRight, commandType, command & 0x7FFF, mapTopBottom); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } - rct_map_element *mapElement = map_get_surface_element_at(mapLeft >> 5, mapTop >> 5); - if (mapElement == NULL) - { - log_warning("Invalid coordinates for land smoothing, x = %d, y = %d", mapLeft, mapTop); - return MONEY32_UNDEFINED; - } + rct_map_element *mapElement = map_get_surface_element_at(mapLeft >> 5, mapTop >> 5); + if (mapElement == NULL) + { + log_warning("Invalid coordinates for land smoothing, x = %d, y = %d", mapLeft, mapTop); + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - rct_xyz16 coord; - coord.x = centreX + 16; - coord.y = centreY + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + rct_xyz16 coord; + coord.x = centreX + 16; + coord.y = centreY + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - // Flatten the edited part - if (fullTile) { - sint32 slope = mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK; - if (slope != 0) { - commandType = command > 0x7FFF ? GAME_COMMAND_RAISE_LAND : GAME_COMMAND_LOWER_LAND; - result = game_do_command(centreX, flags, centreY, mapLeftRight, commandType, MAP_SELECT_TYPE_FULL, mapTopBottom); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - } - } + // Flatten the edited part + if (fullTile) { + sint32 slope = mapElement->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK; + if (slope != 0) { + commandType = command > 0x7FFF ? GAME_COMMAND_RAISE_LAND : GAME_COMMAND_LOWER_LAND; + result = game_do_command(centreX, flags, centreY, mapLeftRight, commandType, MAP_SELECT_TYPE_FULL, mapTopBottom); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + } + } - sint32 x = mapLeft; - sint32 y = mapTop; - sint32 size = ((mapRight - mapLeft) >> 5) + 1; - sint32 initialMinZ = -2; + sint32 x = mapLeft; + sint32 y = mapTop; + sint32 size = ((mapRight - mapLeft) >> 5) + 1; + sint32 initialMinZ = -2; - // Then do the smoothing - // The coords go in circles around the selected tile(s) - for (; size <= MAXIMUM_MAP_SIZE_TECHNICAL; size += 2) { - initialMinZ += 2; - sint32 minZ = initialMinZ * 2; - x -= 32; - y -= 32; + // Then do the smoothing + // The coords go in circles around the selected tile(s) + for (; size <= MAXIMUM_MAP_SIZE_TECHNICAL; size += 2) { + initialMinZ += 2; + sint32 minZ = initialMinZ * 2; + x -= 32; + y -= 32; - // Corner (North-West) - mapElement = map_get_surface_element_at(mapLeft >> 5, mapTop >> 5); - sint32 z = map_element_get_corner_height(mapElement, 2); - result = smooth_land_tile(0, flags, x, y, z, minZ); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - y += 32; + // Corner (North-West) + mapElement = map_get_surface_element_at(mapLeft >> 5, mapTop >> 5); + sint32 z = map_element_get_corner_height(mapElement, 2); + result = smooth_land_tile(0, flags, x, y, z, minZ); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + y += 32; - // Side (West) - for (sint32 i = 0; i < size; i++) { - sint32 y2 = clamp(mapTop, y, mapBottom); - mapElement = map_get_surface_element_at(mapLeft >> 5, y2 >> 5); - if (y >= mapTop) { - z = map_element_get_corner_height(mapElement, 3); - result = smooth_land_tile((y <= mapBottom) ? 0 : 1, flags, x, y, z, minZ); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - } - minZ -= 2; - if (y >= mapTop) { - minZ += 2; - if (y > mapBottom) { - minZ += 2; - } - } - if (y <= mapBottom) { - z = map_element_get_corner_height(mapElement, 2); - result = smooth_land_tile((y >= mapTop) ? 1 : 0, flags, x, y, z, minZ); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - } + // Side (West) + for (sint32 i = 0; i < size; i++) { + sint32 y2 = clamp(mapTop, y, mapBottom); + mapElement = map_get_surface_element_at(mapLeft >> 5, y2 >> 5); + if (y >= mapTop) { + z = map_element_get_corner_height(mapElement, 3); + result = smooth_land_tile((y <= mapBottom) ? 0 : 1, flags, x, y, z, minZ); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + } + minZ -= 2; + if (y >= mapTop) { + minZ += 2; + if (y > mapBottom) { + minZ += 2; + } + } + if (y <= mapBottom) { + z = map_element_get_corner_height(mapElement, 2); + result = smooth_land_tile((y >= mapTop) ? 1 : 0, flags, x, y, z, minZ); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + } - y += 32; - } + y += 32; + } - // Corner (South-West) - mapElement = map_get_surface_element_at(mapLeft >> 5, mapBottom >> 5); - z = map_element_get_corner_height(mapElement, 3); - result = smooth_land_tile(1, flags, x, y, z, minZ); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - x += 32; + // Corner (South-West) + mapElement = map_get_surface_element_at(mapLeft >> 5, mapBottom >> 5); + z = map_element_get_corner_height(mapElement, 3); + result = smooth_land_tile(1, flags, x, y, z, minZ); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + x += 32; - // Side (South) - for (sint32 i = 0; i < size; i++) { - sint32 x2 = clamp(mapLeft, x, mapRight); - mapElement = map_get_surface_element_at(x2 >> 5, mapBottom >> 5); - if (x >= mapLeft) { - z = map_element_get_corner_height(mapElement, 0); - result = smooth_land_tile((x <= mapRight) ? 1 : 2, flags, x, y, z, minZ); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - } - minZ -= 2; - if (x >= mapLeft) { - minZ += 2; - if (x > mapRight) { - minZ += 2; - } - } - if (x <= mapRight) { - z = map_element_get_corner_height(mapElement, 3); - result = smooth_land_tile((x >= mapLeft) ? 2 : 1, flags, x, y, z, minZ); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - } - x += 32; - } + // Side (South) + for (sint32 i = 0; i < size; i++) { + sint32 x2 = clamp(mapLeft, x, mapRight); + mapElement = map_get_surface_element_at(x2 >> 5, mapBottom >> 5); + if (x >= mapLeft) { + z = map_element_get_corner_height(mapElement, 0); + result = smooth_land_tile((x <= mapRight) ? 1 : 2, flags, x, y, z, minZ); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + } + minZ -= 2; + if (x >= mapLeft) { + minZ += 2; + if (x > mapRight) { + minZ += 2; + } + } + if (x <= mapRight) { + z = map_element_get_corner_height(mapElement, 3); + result = smooth_land_tile((x >= mapLeft) ? 2 : 1, flags, x, y, z, minZ); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + } + x += 32; + } - // Corner (South-East) - mapElement = map_get_surface_element_at(mapRight >> 5, mapBottom >> 5); - z = map_element_get_corner_height(mapElement, 0); - result = smooth_land_tile(2, flags, x, y, z, minZ); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - y -= 32; + // Corner (South-East) + mapElement = map_get_surface_element_at(mapRight >> 5, mapBottom >> 5); + z = map_element_get_corner_height(mapElement, 0); + result = smooth_land_tile(2, flags, x, y, z, minZ); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + y -= 32; - // Side (East) - for (sint32 i = 0; i < size; i++) { - sint32 y2 = clamp(mapTop, y, mapBottom); - mapElement = map_get_surface_element_at(mapRight >> 5, y2 >> 5); - if (y <= mapBottom) { - z = map_element_get_corner_height(mapElement, 1); - result = smooth_land_tile((y >= mapTop) ? 2 : 3, flags, x, y, z, minZ); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - } - minZ -= 2; - if (y <= mapBottom) { - minZ += 2; - if (y < mapTop) { - minZ += 2; - } - } - if (y >= mapTop) { - z = map_element_get_corner_height(mapElement, 0); - result = smooth_land_tile((y <= mapBottom) ? 3 : 2, flags, x, y, z, minZ); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - } + // Side (East) + for (sint32 i = 0; i < size; i++) { + sint32 y2 = clamp(mapTop, y, mapBottom); + mapElement = map_get_surface_element_at(mapRight >> 5, y2 >> 5); + if (y <= mapBottom) { + z = map_element_get_corner_height(mapElement, 1); + result = smooth_land_tile((y >= mapTop) ? 2 : 3, flags, x, y, z, minZ); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + } + minZ -= 2; + if (y <= mapBottom) { + minZ += 2; + if (y < mapTop) { + minZ += 2; + } + } + if (y >= mapTop) { + z = map_element_get_corner_height(mapElement, 0); + result = smooth_land_tile((y <= mapBottom) ? 3 : 2, flags, x, y, z, minZ); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + } - y -= 32; - } + y -= 32; + } - // Corner (North-East) - mapElement = map_get_surface_element_at(mapRight >> 5, mapTop >> 5); - z = map_element_get_corner_height(mapElement, 1); - result = smooth_land_tile(3, flags, x, y, z, minZ); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - x -= 32; + // Corner (North-East) + mapElement = map_get_surface_element_at(mapRight >> 5, mapTop >> 5); + z = map_element_get_corner_height(mapElement, 1); + result = smooth_land_tile(3, flags, x, y, z, minZ); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + x -= 32; - // Side (North) - for (sint32 i = 0; i < size; i++) { - sint32 x2 = clamp(mapLeft, x, mapRight); - mapElement = map_get_surface_element_at(x2 >> 5, mapTop >> 5); - if (x <= mapRight) { - z = map_element_get_corner_height(mapElement, 2); - result = smooth_land_tile((x >= mapLeft) ? 3 : 0, flags, x, y, z, minZ); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - } - minZ -= 2; - if (x <= mapRight) { - minZ += 2; - if (x < mapLeft) { - minZ += 2; - } - } - if (x >= mapLeft) { - z = map_element_get_corner_height(mapElement, 1); - result = smooth_land_tile((x <= mapRight) ? 0 : 3, flags, x, y, z, minZ); - if (result != MONEY32_UNDEFINED) { - totalCost += result; - } - } + // Side (North) + for (sint32 i = 0; i < size; i++) { + sint32 x2 = clamp(mapLeft, x, mapRight); + mapElement = map_get_surface_element_at(x2 >> 5, mapTop >> 5); + if (x <= mapRight) { + z = map_element_get_corner_height(mapElement, 2); + result = smooth_land_tile((x >= mapLeft) ? 3 : 0, flags, x, y, z, minZ); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + } + minZ -= 2; + if (x <= mapRight) { + minZ += 2; + if (x < mapLeft) { + minZ += 2; + } + } + if (x >= mapLeft) { + z = map_element_get_corner_height(mapElement, 1); + result = smooth_land_tile((x <= mapRight) ? 0 : 3, flags, x, y, z, minZ); + if (result != MONEY32_UNDEFINED) { + totalCost += result; + } + } - x -= 32; - } - } + x -= 32; + } + } - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - gCommandPosition.x = centreX; - gCommandPosition.y = centreY; - gCommandPosition.z = centreZ; - return totalCost * 4; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + gCommandPosition.x = centreX; + gCommandPosition.y = centreY; + gCommandPosition.z = centreZ; + return totalCost * 4; } /** @@ -2510,15 +2510,15 @@ static money32 smooth_land(sint32 flags, sint32 centreX, sint32 centreY, sint32 */ void game_command_smooth_land(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - sint32 flags = *ebx & 0xFF; - sint32 centreX = *eax & 0xFFFF; - sint32 centreY = *ecx & 0xFFFF; - sint32 mapLeft = (sint16)(*edx & 0xFFFF); - sint32 mapTop = (sint16)(*ebp & 0xFFFF); - sint32 mapRight = (sint16)(*edx >> 16); - sint32 mapBottom = (sint16)(*ebp >> 16); - sint32 command = *edi; - *ebx = smooth_land(flags, centreX, centreY, mapLeft, mapTop, mapRight, mapBottom, command); + sint32 flags = *ebx & 0xFF; + sint32 centreX = *eax & 0xFFFF; + sint32 centreY = *ecx & 0xFFFF; + sint32 mapLeft = (sint16)(*edx & 0xFFFF); + sint32 mapTop = (sint16)(*ebp & 0xFFFF); + sint32 mapRight = (sint16)(*edx >> 16); + sint32 mapBottom = (sint16)(*ebp >> 16); + sint32 command = *edi; + *ebx = smooth_land(flags, centreX, centreY, mapLeft, mapTop, mapRight, mapBottom, command); } /** @@ -2527,13 +2527,13 @@ void game_command_smooth_land(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx */ void game_command_raise_water(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - *ebx = raise_water( - (sint16)(*eax & 0xFFFF), - (sint16)(*ecx & 0xFFFF), - (sint16)(*edi & 0xFFFF), - (sint16)(*ebp & 0xFFFF), - (uint8)*ebx - ); + *ebx = raise_water( + (sint16)(*eax & 0xFFFF), + (sint16)(*ecx & 0xFFFF), + (sint16)(*edi & 0xFFFF), + (sint16)(*ebp & 0xFFFF), + (uint8)*ebx + ); } /** @@ -2542,13 +2542,13 @@ void game_command_raise_water(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx */ void game_command_lower_water(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - *ebx = lower_water( - (sint16)(*eax & 0xFFFF), - (sint16)(*ecx & 0xFFFF), - (sint16)(*edi & 0xFFFF), - (sint16)(*ebp & 0xFFFF), - (uint8)*ebx - ); + *ebx = lower_water( + (sint16)(*eax & 0xFFFF), + (sint16)(*ecx & 0xFFFF), + (sint16)(*edi & 0xFFFF), + (sint16)(*ebp & 0xFFFF), + (uint8)*ebx + ); } /** @@ -2557,87 +2557,87 @@ void game_command_lower_water(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx */ void game_command_set_water_height(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - sint32 x = *eax; - sint32 y = *ecx; - uint8 base_height = *edx; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - gCommandPosition.x = x + 16; - gCommandPosition.y = y + 16; - gCommandPosition.z = base_height * 8; - if(game_is_paused() && !gCheatsBuildInPauseMode){ - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - *ebx = MONEY32_UNDEFINED; - return; - } - if(!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode && gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES){ - gGameCommandErrorText = STR_FORBIDDEN_BY_THE_LOCAL_AUTHORITY; - *ebx = MONEY32_UNDEFINED; - return; - } + sint32 x = *eax; + sint32 y = *ecx; + uint8 base_height = *edx; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + gCommandPosition.x = x + 16; + gCommandPosition.y = y + 16; + gCommandPosition.z = base_height * 8; + if(game_is_paused() && !gCheatsBuildInPauseMode){ + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + *ebx = MONEY32_UNDEFINED; + return; + } + if(!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode && gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES){ + gGameCommandErrorText = STR_FORBIDDEN_BY_THE_LOCAL_AUTHORITY; + *ebx = MONEY32_UNDEFINED; + return; + } - if(base_height < 2){ - gGameCommandErrorText = STR_TOO_LOW; - *ebx = MONEY32_UNDEFINED; - return; - } + if(base_height < 2){ + gGameCommandErrorText = STR_TOO_LOW; + *ebx = MONEY32_UNDEFINED; + return; + } - if(base_height >= 58){ - gGameCommandErrorText = STR_TOO_HIGH; - *ebx = MONEY32_UNDEFINED; - return; - } + if(base_height >= 58){ + gGameCommandErrorText = STR_TOO_HIGH; + *ebx = MONEY32_UNDEFINED; + return; + } - if(x >= gMapSizeUnits || y >= gMapSizeUnits){ - gGameCommandErrorText = STR_OFF_EDGE_OF_MAP; - *ebx = MONEY32_UNDEFINED; - return; - } + if(x >= gMapSizeUnits || y >= gMapSizeUnits){ + gGameCommandErrorText = STR_OFF_EDGE_OF_MAP; + *ebx = MONEY32_UNDEFINED; + return; + } - if(!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode && !map_is_location_in_park(x, y)){ - *ebx = MONEY32_UNDEFINED; - return; - } + if(!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode && !map_is_location_in_park(x, y)){ + *ebx = MONEY32_UNDEFINED; + return; + } - if(*ebx & GAME_COMMAND_FLAG_APPLY){ - sint32 element_height = map_element_height(x, y); - footpath_remove_litter(x, y, element_height); - if(!gCheatsDisableClearanceChecks) - wall_remove_at_z(x, y, element_height); - } + if(*ebx & GAME_COMMAND_FLAG_APPLY){ + sint32 element_height = map_element_height(x, y); + footpath_remove_litter(x, y, element_height); + if(!gCheatsDisableClearanceChecks) + wall_remove_at_z(x, y, element_height); + } - rct_map_element* map_element = map_get_surface_element_at(x / 32, y / 32); - sint32 zHigh = map_element->base_height; - sint32 zLow = base_height; - if(map_element->properties.surface.terrain & 0x1F){ - zHigh = (map_element->properties.surface.terrain & 0x1F) * 2; - } - if(zLow > zHigh){ - sint32 temp = zHigh; - zHigh = zLow; - zLow = temp; - } + rct_map_element* map_element = map_get_surface_element_at(x / 32, y / 32); + sint32 zHigh = map_element->base_height; + sint32 zLow = base_height; + if(map_element->properties.surface.terrain & 0x1F){ + zHigh = (map_element->properties.surface.terrain & 0x1F) * 2; + } + if(zLow > zHigh){ + sint32 temp = zHigh; + zHigh = zLow; + zLow = temp; + } - if (gCheatsDisableClearanceChecks || map_can_construct_at(x, y, zLow, zHigh, 0xFF)) { - if(map_element->type & 0x40){ - gGameCommandErrorText = 0; - *ebx = MONEY32_UNDEFINED; - return; - } - if(*ebx & GAME_COMMAND_FLAG_APPLY){ - sint32 new_terrain = map_element->properties.surface.terrain & 0xE0; - if(base_height > map_element->base_height){ - new_terrain |= (base_height / 2); - } - map_element->properties.surface.terrain = new_terrain; - map_invalidate_tile_full(x, y); - } - *ebx = 250; - if(gParkFlags & PARK_FLAGS_NO_MONEY){ - *ebx = 0; - } - }else{ - *ebx = MONEY32_UNDEFINED; - } + if (gCheatsDisableClearanceChecks || map_can_construct_at(x, y, zLow, zHigh, 0xFF)) { + if(map_element->type & 0x40){ + gGameCommandErrorText = 0; + *ebx = MONEY32_UNDEFINED; + return; + } + if(*ebx & GAME_COMMAND_FLAG_APPLY){ + sint32 new_terrain = map_element->properties.surface.terrain & 0xE0; + if(base_height > map_element->base_height){ + new_terrain |= (base_height / 2); + } + map_element->properties.surface.terrain = new_terrain; + map_invalidate_tile_full(x, y); + } + *ebx = 250; + if(gParkFlags & PARK_FLAGS_NO_MONEY){ + *ebx = 0; + } + }else{ + *ebx = MONEY32_UNDEFINED; + } } /** @@ -2645,34 +2645,34 @@ void game_command_set_water_height(sint32* eax, sint32* ebx, sint32* ecx, sint32 * rct2: 0x006E0D6E, 0x006B8D88 */ static sint32 map_place_scenery_clear_func(rct_map_element** map_element, sint32 x, sint32 y, uint8 flags, money32* price) { - if (map_element_get_type(*map_element) != MAP_ELEMENT_TYPE_SCENERY) - return 1; + if (map_element_get_type(*map_element) != MAP_ELEMENT_TYPE_SCENERY) + return 1; - if (!(flags & GAME_COMMAND_FLAG_7)) - return 1; + if (!(flags & GAME_COMMAND_FLAG_7)) + return 1; - rct_scenery_entry* scenery = get_small_scenery_entry((*map_element)->properties.scenery.type); + rct_scenery_entry* scenery = get_small_scenery_entry((*map_element)->properties.scenery.type); - if (gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL) { - if (scenery->small_scenery.height > 64) - return 1; - } + if (gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL) { + if (scenery->small_scenery.height > 64) + return 1; + } - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) - *price += scenery->small_scenery.removal_price * 10; + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) + *price += scenery->small_scenery.removal_price * 10; - if (flags & GAME_COMMAND_FLAG_GHOST) - return 0; + if (flags & GAME_COMMAND_FLAG_GHOST) + return 0; - if (!(flags & GAME_COMMAND_FLAG_APPLY)) - return 0; + if (!(flags & GAME_COMMAND_FLAG_APPLY)) + return 0; - map_invalidate_tile(x, y, (*map_element)->base_height * 8, (*map_element)->clearance_height * 8); + map_invalidate_tile(x, y, (*map_element)->base_height * 8, (*map_element)->clearance_height * 8); - map_element_remove(*map_element); + map_element_remove(*map_element); - (*map_element)--; - return 0; + (*map_element)--; + return 0; } /** @@ -2680,31 +2680,31 @@ static sint32 map_place_scenery_clear_func(rct_map_element** map_element, sint32 * rct2: 0x006C5A4F, 0x006CDE57, 0x006A6733, 0x0066637E */ sint32 map_place_non_scenery_clear_func(rct_map_element** map_element, sint32 x, sint32 y, uint8 flags, money32* price) { - if (map_element_get_type(*map_element) != MAP_ELEMENT_TYPE_SCENERY) - return 1; + if (map_element_get_type(*map_element) != MAP_ELEMENT_TYPE_SCENERY) + return 1; - rct_scenery_entry* scenery = get_small_scenery_entry((*map_element)->properties.scenery.type); + rct_scenery_entry* scenery = get_small_scenery_entry((*map_element)->properties.scenery.type); - if (gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL) { - if (scenery->small_scenery.height > 64) - return 1; - } + if (gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL) { + if (scenery->small_scenery.height > 64) + return 1; + } - if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) - *price += scenery->small_scenery.removal_price * 10; + if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) + *price += scenery->small_scenery.removal_price * 10; - if (flags & GAME_COMMAND_FLAG_GHOST) - return 0; + if (flags & GAME_COMMAND_FLAG_GHOST) + return 0; - if (!(flags & GAME_COMMAND_FLAG_APPLY)) - return 0; + if (!(flags & GAME_COMMAND_FLAG_APPLY)) + return 0; - map_invalidate_tile(x, y, (*map_element)->base_height * 8, (*map_element)->clearance_height * 8); + map_invalidate_tile(x, y, (*map_element)->base_height * 8, (*map_element)->clearance_height * 8); - map_element_remove(*map_element); + map_element_remove(*map_element); - (*map_element)--; - return 0; + (*map_element)--; + return 0; } /** @@ -2713,238 +2713,238 @@ sint32 map_place_non_scenery_clear_func(rct_map_element** map_element, sint32 x, */ void game_command_place_scenery(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - sint32 x = (uint16)*eax; - sint32 y = (uint16)*ecx; - uint8 colour2 = *edi >> 16; - uint8 rotation = *edi; - uint8 scenery_type = *ebx >> 8; - uint8 flags = *ebx & 0xFF; - uint8 quadrant = *edx; - uint8 colour1 = *edx >> 8; - money32 clearCost = 0; - bool isOnWater = false; - sint32 targetHeight = *ebp; - bool supportsRequired = false; - if (targetHeight != 0) { - supportsRequired = true; - } - sint32 base_height = map_element_height(x, y); - // If on water - if(base_height & 0xFFFF0000){ - base_height >>= 16; - } - gCommandPosition.x = x; - gCommandPosition.y = y; - gCommandPosition.z = base_height; - if(targetHeight != 0){ - base_height = targetHeight; - gCommandPosition.z = base_height; - } - gCommandPosition.x += 16; - gCommandPosition.y += 16; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + sint32 x = (uint16)*eax; + sint32 y = (uint16)*ecx; + uint8 colour2 = *edi >> 16; + uint8 rotation = *edi; + uint8 scenery_type = *ebx >> 8; + uint8 flags = *ebx & 0xFF; + uint8 quadrant = *edx; + uint8 colour1 = *edx >> 8; + money32 clearCost = 0; + bool isOnWater = false; + sint32 targetHeight = *ebp; + bool supportsRequired = false; + if (targetHeight != 0) { + supportsRequired = true; + } + sint32 base_height = map_element_height(x, y); + // If on water + if(base_height & 0xFFFF0000){ + base_height >>= 16; + } + gCommandPosition.x = x; + gCommandPosition.y = y; + gCommandPosition.z = base_height; + if(targetHeight != 0){ + base_height = targetHeight; + gCommandPosition.z = base_height; + } + gCommandPosition.x += 16; + gCommandPosition.y += 16; - if (game_is_paused() && !gCheatsBuildInPauseMode) { - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - *ebx = MONEY32_UNDEFINED; - return; - } + if (game_is_paused() && !gCheatsBuildInPauseMode) { + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + *ebx = MONEY32_UNDEFINED; + return; + } - if (!map_check_free_elements_and_reorganise(1)) { - *ebx = MONEY32_UNDEFINED; - return; - } + if (!map_check_free_elements_and_reorganise(1)) { + *ebx = MONEY32_UNDEFINED; + return; + } - if (!byte_9D8150 && (x > gMapSizeMaxXY || y > gMapSizeMaxXY)) { - *ebx = MONEY32_UNDEFINED; - return; - } + if (!byte_9D8150 && (x > gMapSizeMaxXY || y > gMapSizeMaxXY)) { + *ebx = MONEY32_UNDEFINED; + return; + } - rct_scenery_entry* scenery_entry = get_small_scenery_entry(scenery_type); - if (scenery_entry == NULL) { - *ebx = MONEY32_UNDEFINED; - return; - } + rct_scenery_entry* scenery_entry = get_small_scenery_entry(scenery_type); + if (scenery_entry == NULL) { + *ebx = MONEY32_UNDEFINED; + return; + } - if(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE || !(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG9)){ - if(scenery_entry->small_scenery.flags & (SMALL_SCENERY_FLAG9 | SMALL_SCENERY_FLAG24 | SMALL_SCENERY_FLAG25)){ - quadrant = 0; - } - } + if(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE || !(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG9)){ + if(scenery_entry->small_scenery.flags & (SMALL_SCENERY_FLAG9 | SMALL_SCENERY_FLAG24 | SMALL_SCENERY_FLAG25)){ + quadrant = 0; + } + } - // Check if sub tile height is any different compared to actual surface tile height - sint32 x2 = x; - sint32 y2 = y; - if(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE){ - x2 += 16; - y2 += 16; - }else{ - x2 += ScenerySubTileOffsets[quadrant & 3].x - 1; - y2 += ScenerySubTileOffsets[quadrant & 3].y - 1; - } - base_height = map_element_height(x2, y2); - // If on water - if(base_height & 0xFFFF0000){ - // base_height2 is now the water height - base_height >>= 16; - if(targetHeight == 0){ - isOnWater = true; - } - } - if(targetHeight == 0){ - targetHeight = base_height; - } + // Check if sub tile height is any different compared to actual surface tile height + sint32 x2 = x; + sint32 y2 = y; + if(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE){ + x2 += 16; + y2 += 16; + }else{ + x2 += ScenerySubTileOffsets[quadrant & 3].x - 1; + y2 += ScenerySubTileOffsets[quadrant & 3].y - 1; + } + base_height = map_element_height(x2, y2); + // If on water + if(base_height & 0xFFFF0000){ + // base_height2 is now the water height + base_height >>= 16; + if(targetHeight == 0){ + isOnWater = true; + } + } + if(targetHeight == 0){ + targetHeight = base_height; + } - if(!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && - !gCheatsSandboxMode && - !map_is_location_owned(x, y, targetHeight)){ + if(!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && + !gCheatsSandboxMode && + !map_is_location_owned(x, y, targetHeight)){ - *ebx = MONEY32_UNDEFINED; - return; - } + *ebx = MONEY32_UNDEFINED; + return; + } - if(flags & GAME_COMMAND_FLAG_APPLY && !(flags & GAME_COMMAND_FLAG_GHOST)){ - footpath_remove_litter(x, y, targetHeight); - if(!gCheatsDisableClearanceChecks && (scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_ALLOW_WALLS)) { - wall_remove_at(x, y, targetHeight, targetHeight + scenery_entry->small_scenery.height); - } - } + if(flags & GAME_COMMAND_FLAG_APPLY && !(flags & GAME_COMMAND_FLAG_GHOST)){ + footpath_remove_litter(x, y, targetHeight); + if(!gCheatsDisableClearanceChecks && (scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_ALLOW_WALLS)) { + wall_remove_at(x, y, targetHeight, targetHeight + scenery_entry->small_scenery.height); + } + } - rct_map_element* surface_element = map_get_surface_element_at(x / 32, y / 32); + rct_map_element* surface_element = map_get_surface_element_at(x / 32, y / 32); - if(!gCheatsDisableClearanceChecks && (surface_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK)){ - sint32 water_height = ((surface_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) * 16) - 1; - if(water_height > targetHeight){ - gGameCommandErrorText = STR_CANT_BUILD_THIS_UNDERWATER; - *ebx = MONEY32_UNDEFINED; - return; - } - } + if(!gCheatsDisableClearanceChecks && (surface_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK)){ + sint32 water_height = ((surface_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) * 16) - 1; + if(water_height > targetHeight){ + gGameCommandErrorText = STR_CANT_BUILD_THIS_UNDERWATER; + *ebx = MONEY32_UNDEFINED; + return; + } + } - if(!gCheatsDisableClearanceChecks && !(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG18)){ - if(isOnWater){ - gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ON_LAND; - *ebx = MONEY32_UNDEFINED; - return; - } + if(!gCheatsDisableClearanceChecks && !(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG18)){ + if(isOnWater){ + gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ON_LAND; + *ebx = MONEY32_UNDEFINED; + return; + } - if(surface_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK){ - if(((surface_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) * 16) > targetHeight){ - gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ON_LAND; - *ebx = MONEY32_UNDEFINED; - return; - } - } - } + if(surface_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK){ + if(((surface_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) * 16) > targetHeight){ + gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ON_LAND; + *ebx = MONEY32_UNDEFINED; + return; + } + } + } - if (!gCheatsDisableClearanceChecks && - (scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_REQUIRE_FLAT_SURFACE) && - !supportsRequired && - !isOnWater && - (surface_element->properties.surface.slope & 0x1F)) { + if (!gCheatsDisableClearanceChecks && + (scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_REQUIRE_FLAT_SURFACE) && + !supportsRequired && + !isOnWater && + (surface_element->properties.surface.slope & 0x1F)) { - gGameCommandErrorText = STR_LEVEL_LAND_REQUIRED; - *ebx = MONEY32_UNDEFINED; - return; - } + gGameCommandErrorText = STR_LEVEL_LAND_REQUIRED; + *ebx = MONEY32_UNDEFINED; + return; + } - if (!gCheatsDisableSupportLimits && - !(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG18) && - supportsRequired) { + if (!gCheatsDisableSupportLimits && + !(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG18) && + supportsRequired) { - if(!isOnWater){ - if((surface_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) || - (surface_element->base_height * 8) != targetHeight){ + if(!isOnWater){ + if((surface_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) || + (surface_element->base_height * 8) != targetHeight){ - gGameCommandErrorText = STR_LEVEL_LAND_REQUIRED; - *ebx = MONEY32_UNDEFINED; - return; - } + gGameCommandErrorText = STR_LEVEL_LAND_REQUIRED; + *ebx = MONEY32_UNDEFINED; + return; + } - }else{ - gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ON_LAND; - *ebx = MONEY32_UNDEFINED; - return; - } - } + }else{ + gGameCommandErrorText = STR_CAN_ONLY_BUILD_THIS_ON_LAND; + *ebx = MONEY32_UNDEFINED; + return; + } + } - sint32 zLow = targetHeight / 8; - sint32 zHigh = zLow + ceil2(scenery_entry->small_scenery.height, 8) / 8; - uint8 collisionQuadrants = 0xF; - uint8 unk_bl = 0; - if(!(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE)){ - collisionQuadrants = 1 << (quadrant ^ 2); - } - if(!(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG24)){ - if(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG9 && scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE){ - if(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG25){ - collisionQuadrants = 0xF & rol8(0xBB, ((quadrant ^ 2) + rotation) & 3); - }else{ - collisionQuadrants = 0xA >> ((quadrant + rotation) & 1); - } - } - }else{ - collisionQuadrants = 0xF & rol8(0x33, ((quadrant ^ 2) + rotation) & 3); - } - if(!supportsRequired){ - unk_bl |= 0xF0; - } + sint32 zLow = targetHeight / 8; + sint32 zHigh = zLow + ceil2(scenery_entry->small_scenery.height, 8) / 8; + uint8 collisionQuadrants = 0xF; + uint8 unk_bl = 0; + if(!(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE)){ + collisionQuadrants = 1 << (quadrant ^ 2); + } + if(!(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG24)){ + if(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG9 && scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE){ + if(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG25){ + collisionQuadrants = 0xF & rol8(0xBB, ((quadrant ^ 2) + rotation) & 3); + }else{ + collisionQuadrants = 0xA >> ((quadrant + rotation) & 1); + } + } + }else{ + collisionQuadrants = 0xF & rol8(0x33, ((quadrant ^ 2) + rotation) & 3); + } + if(!supportsRequired){ + unk_bl |= 0xF0; + } - if (!gCheatsDisableClearanceChecks && - !map_can_construct_with_clear_at(x, y, zLow, zHigh, &map_place_scenery_clear_func, unk_bl | collisionQuadrants, flags, &clearCost)) { - *ebx = MONEY32_UNDEFINED; - return; - } + if (!gCheatsDisableClearanceChecks && + !map_can_construct_with_clear_at(x, y, zLow, zHigh, &map_place_scenery_clear_func, unk_bl | collisionQuadrants, flags, &clearCost)) { + *ebx = MONEY32_UNDEFINED; + return; + } - gSceneryGroundFlags = gMapGroundFlags & (ELEMENT_IS_ABOVE_GROUND | ELEMENT_IS_UNDERGROUND); + gSceneryGroundFlags = gMapGroundFlags & (ELEMENT_IS_ABOVE_GROUND | ELEMENT_IS_UNDERGROUND); - *ebx = (scenery_entry->small_scenery.price * 10) + clearCost; - if(gParkFlags & PARK_FLAGS_NO_MONEY){ - *ebx = 0; - } + *ebx = (scenery_entry->small_scenery.price * 10) + clearCost; + if(gParkFlags & PARK_FLAGS_NO_MONEY){ + *ebx = 0; + } - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - return; - } + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + return; + } - if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_GHOST)) { - rct_xyz16 coord; - coord.x = x + 16; - coord.y = y + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_GHOST)) { + rct_xyz16 coord; + coord.x = x + 16; + coord.y = y + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - rct_map_element* new_map_element = map_element_insert(x / 32, y / 32, zLow, collisionQuadrants); - assert(new_map_element != NULL); - gSceneryMapElement = new_map_element; - uint8 type = quadrant << 6; - type |= MAP_ELEMENT_TYPE_SCENERY; - type |= rotation; - new_map_element->type = type; - new_map_element->properties.scenery.type = scenery_type; - new_map_element->properties.scenery.age = 0; - new_map_element->properties.scenery.colour_1 = colour1; - new_map_element->properties.scenery.colour_2 = colour2; - new_map_element->clearance_height = new_map_element->base_height + ((scenery_entry->small_scenery.height + 7) / 8); + rct_map_element* new_map_element = map_element_insert(x / 32, y / 32, zLow, collisionQuadrants); + assert(new_map_element != NULL); + gSceneryMapElement = new_map_element; + uint8 type = quadrant << 6; + type |= MAP_ELEMENT_TYPE_SCENERY; + type |= rotation; + new_map_element->type = type; + new_map_element->properties.scenery.type = scenery_type; + new_map_element->properties.scenery.age = 0; + new_map_element->properties.scenery.colour_1 = colour1; + new_map_element->properties.scenery.colour_2 = colour2; + new_map_element->clearance_height = new_map_element->base_height + ((scenery_entry->small_scenery.height + 7) / 8); - if(supportsRequired){ - new_map_element->properties.scenery.colour_1 |= 0x20; - } + if(supportsRequired){ + new_map_element->properties.scenery.colour_1 |= 0x20; + } - if(flags & GAME_COMMAND_FLAG_GHOST){ - new_map_element->flags |= MAP_ELEMENT_FLAG_GHOST; - } + if(flags & GAME_COMMAND_FLAG_GHOST){ + new_map_element->flags |= MAP_ELEMENT_FLAG_GHOST; + } - map_invalidate_tile_full(x, y); - if(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_ANIMATED){ - map_animation_create(2, x, y, new_map_element->base_height); - } + map_invalidate_tile_full(x, y); + if(scenery_entry->small_scenery.flags & SMALL_SCENERY_FLAG_ANIMATED){ + map_animation_create(2, x, y, new_map_element->base_height); + } } bool map_is_location_at_edge(sint32 x, sint32 y) { - return x < 32 || y < 32 || x >= ((MAXIMUM_MAP_SIZE_TECHNICAL - 1) * 32) || y >= ((MAXIMUM_MAP_SIZE_TECHNICAL - 1) * 32); + return x < 32 || y < 32 || x >= ((MAXIMUM_MAP_SIZE_TECHNICAL - 1) * 32) || y >= ((MAXIMUM_MAP_SIZE_TECHNICAL - 1) * 32); } /** @@ -2953,231 +2953,231 @@ bool map_is_location_at_edge(sint32 x, sint32 y) */ void game_command_place_large_scenery(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - sint32 x = (sint16)*eax; - sint32 y = (sint16)*ecx; - sint32 z = (sint16)*ebp; - uint8 colour1 = *edx; - uint8 colour2 = *edx >> 8; - uint8 flags = *ebx; - uint8 rotation = *ebx >> 8; - uint8 entry_index = *edi; - sint32 base_height = map_element_height(x, y); - gCommandPosition.x = x + 16; - gCommandPosition.y = y + 16; - gCommandPosition.z = base_height; - gSceneryGroundFlags = 0; - uint8 banner_id = 0xFF; - money32 supportsCost = 0; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + sint32 x = (sint16)*eax; + sint32 y = (sint16)*ecx; + sint32 z = (sint16)*ebp; + uint8 colour1 = *edx; + uint8 colour2 = *edx >> 8; + uint8 flags = *ebx; + uint8 rotation = *ebx >> 8; + uint8 entry_index = *edi; + sint32 base_height = map_element_height(x, y); + gCommandPosition.x = x + 16; + gCommandPosition.y = y + 16; + gCommandPosition.z = base_height; + gSceneryGroundFlags = 0; + uint8 banner_id = 0xFF; + money32 supportsCost = 0; - if (game_is_paused() && !gCheatsBuildInPauseMode) { - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - *ebx = MONEY32_UNDEFINED; - return; - } + if (game_is_paused() && !gCheatsBuildInPauseMode) { + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + *ebx = MONEY32_UNDEFINED; + return; + } - if (entry_index >= 128) - { - log_warning("Invalid game command for scenery placement, entry_index = %u", entry_index); - *ebx = MONEY32_UNDEFINED; - return; - } + if (entry_index >= 128) + { + log_warning("Invalid game command for scenery placement, entry_index = %u", entry_index); + *ebx = MONEY32_UNDEFINED; + return; + } - rct_scenery_entry *scenery_entry = get_large_scenery_entry(entry_index); - if (scenery_entry == (rct_scenery_entry *)-1) - { - log_warning("Invalid game command for scenery placement, entry_index = %u", entry_index); - *ebx = MONEY32_UNDEFINED; - return; - } - if(scenery_entry->large_scenery.var_11 != 0xFF){ - banner_id = create_new_banner(flags); + rct_scenery_entry *scenery_entry = get_large_scenery_entry(entry_index); + if (scenery_entry == (rct_scenery_entry *)-1) + { + log_warning("Invalid game command for scenery placement, entry_index = %u", entry_index); + *ebx = MONEY32_UNDEFINED; + return; + } + if(scenery_entry->large_scenery.var_11 != 0xFF){ + banner_id = create_new_banner(flags); - if (banner_id == MAX_BANNERS) { - *ebx = MONEY32_UNDEFINED; - return; - } + if (banner_id == MAX_BANNERS) { + *ebx = MONEY32_UNDEFINED; + return; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - rct_banner* banner = &gBanners[banner_id]; - banner->flags |= BANNER_FLAG_IS_LARGE_SCENERY; - banner->type = 0; - banner->x = x / 32; - banner->y = y / 32; + if (flags & GAME_COMMAND_FLAG_APPLY) { + rct_banner* banner = &gBanners[banner_id]; + banner->flags |= BANNER_FLAG_IS_LARGE_SCENERY; + banner->type = 0; + banner->x = x / 32; + banner->y = y / 32; - sint32 rideIndex = banner_get_closest_ride_index(x, y, z); - if (rideIndex != -1) { - banner->colour = rideIndex; - banner->flags |= BANNER_FLAG_LINKED_TO_RIDE; - } - } - } + sint32 rideIndex = banner_get_closest_ride_index(x, y, z); + if (rideIndex != -1) { + banner->colour = rideIndex; + banner->flags |= BANNER_FLAG_LINKED_TO_RIDE; + } + } + } - uint32 num_elements = 0; - sint16 maxHeight = 0xFFFF; - for (rct_large_scenery_tile* tile = scenery_entry->large_scenery.tiles; - tile->x_offset != -1; - tile++) { - num_elements++; + uint32 num_elements = 0; + sint16 maxHeight = 0xFFFF; + for (rct_large_scenery_tile* tile = scenery_entry->large_scenery.tiles; + tile->x_offset != -1; + tile++) { + num_elements++; - rct_xy16 curTile = { - .x = tile->x_offset, - .y = tile->y_offset - }; + rct_xy16 curTile = { + .x = tile->x_offset, + .y = tile->y_offset + }; - rotate_map_coordinates(&curTile.x, &curTile.y, rotation); + rotate_map_coordinates(&curTile.x, &curTile.y, rotation); - curTile.x += x; - curTile.y += y; + curTile.x += x; + curTile.y += y; - if(curTile.x >= 0x1FFF || curTile.y >= 0x1FFF || curTile.x < 0 || curTile.y < 0){ - continue; - } + if(curTile.x >= 0x1FFF || curTile.y >= 0x1FFF || curTile.x < 0 || curTile.y < 0){ + continue; + } - rct_map_element* map_element = map_get_surface_element_at(curTile.x / 32, curTile.y / 32); - if(map_element != NULL){ - sint32 height = map_element->base_height * 8; + rct_map_element* map_element = map_get_surface_element_at(curTile.x / 32, curTile.y / 32); + if(map_element != NULL){ + sint32 height = map_element->base_height * 8; - if(map_element->properties.scenerymultiple.type & 0xF){ - height += 16; - if(map_element->properties.scenerymultiple.type & 0x10){ - height += 16; - } - } + if(map_element->properties.scenerymultiple.type & 0xF){ + height += 16; + if(map_element->properties.scenerymultiple.type & 0x10){ + height += 16; + } + } - if(height > maxHeight){ - maxHeight = height; - } - } - } + if(height > maxHeight){ + maxHeight = height; + } + } + } - if(z != 0){ - maxHeight = z; - } + if(z != 0){ + maxHeight = z; + } - if (!map_check_free_elements_and_reorganise(num_elements)) { - *ebx = MONEY32_UNDEFINED; - return; - } + if (!map_check_free_elements_and_reorganise(num_elements)) { + *ebx = MONEY32_UNDEFINED; + return; + } - gCommandPosition.z = maxHeight; - uint8 tile_num = 0; - for (rct_large_scenery_tile* tile = scenery_entry->large_scenery.tiles; - tile->x_offset != -1; - tile++, tile_num++) { + gCommandPosition.z = maxHeight; + uint8 tile_num = 0; + for (rct_large_scenery_tile* tile = scenery_entry->large_scenery.tiles; + tile->x_offset != -1; + tile++, tile_num++) { - rct_xy16 curTile = { - .x = tile->x_offset, - .y = tile->y_offset - }; + rct_xy16 curTile = { + .x = tile->x_offset, + .y = tile->y_offset + }; - rotate_map_coordinates(&curTile.x, &curTile.y, rotation); + rotate_map_coordinates(&curTile.x, &curTile.y, rotation); - curTile.x += x; - curTile.y += y; + curTile.x += x; + curTile.y += y; - sint32 zLow = (tile->z_offset + maxHeight) / 8; - sint32 zHigh = (tile->z_clearance / 8) + zLow; + sint32 zLow = (tile->z_offset + maxHeight) / 8; + sint32 zHigh = (tile->z_clearance / 8) + zLow; - sint32 bx = tile->var_7 >> 12; - bx <<= rotation; - uint8 bl = bx; - uint8 bh = bl >> 4; - bl &= 0xF; - bl |= bh; - uint8 F43887 = bl; + sint32 bx = tile->var_7 >> 12; + bx <<= rotation; + uint8 bl = bx; + uint8 bh = bl >> 4; + bl &= 0xF; + bl |= bh; + uint8 F43887 = bl; - if (!gCheatsDisableClearanceChecks && !map_can_construct_with_clear_at(curTile.x, curTile.y, zLow, zHigh, &map_place_scenery_clear_func, bl, flags, &supportsCost)) { - *ebx = MONEY32_UNDEFINED; - return; - } + if (!gCheatsDisableClearanceChecks && !map_can_construct_with_clear_at(curTile.x, curTile.y, zLow, zHigh, &map_place_scenery_clear_func, bl, flags, &supportsCost)) { + *ebx = MONEY32_UNDEFINED; + return; + } - if ((gMapGroundFlags & ELEMENT_IS_UNDERWATER) || (gMapGroundFlags & ELEMENT_IS_UNDERGROUND)) { - *ebx = MONEY32_UNDEFINED; - return; - } + if ((gMapGroundFlags & ELEMENT_IS_UNDERWATER) || (gMapGroundFlags & ELEMENT_IS_UNDERGROUND)) { + *ebx = MONEY32_UNDEFINED; + return; + } - sint32 b = gMapGroundFlags & (ELEMENT_IS_ABOVE_GROUND | ELEMENT_IS_UNDERGROUND); - if (!gCheatsDisableClearanceChecks) { - if (gSceneryGroundFlags && !(gSceneryGroundFlags & b)) { - gGameCommandErrorText = STR_CANT_BUILD_PARTLY_ABOVE_AND_PARTLY_BELOW_GROUND; - *ebx = MONEY32_UNDEFINED; - return; - } - } - gSceneryGroundFlags = b; + sint32 b = gMapGroundFlags & (ELEMENT_IS_ABOVE_GROUND | ELEMENT_IS_UNDERGROUND); + if (!gCheatsDisableClearanceChecks) { + if (gSceneryGroundFlags && !(gSceneryGroundFlags & b)) { + gGameCommandErrorText = STR_CANT_BUILD_PARTLY_ABOVE_AND_PARTLY_BELOW_GROUND; + *ebx = MONEY32_UNDEFINED; + return; + } + } + gSceneryGroundFlags = b; - if (curTile.x >= gMapSizeUnits || curTile.y >= gMapSizeUnits) { - gGameCommandErrorText = STR_OFF_EDGE_OF_MAP; - *ebx = MONEY32_UNDEFINED; - return; - } + if (curTile.x >= gMapSizeUnits || curTile.y >= gMapSizeUnits) { + gGameCommandErrorText = STR_OFF_EDGE_OF_MAP; + *ebx = MONEY32_UNDEFINED; + return; + } - if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && - !map_is_location_owned(curTile.x, curTile.y, zLow * 8) && - !gCheatsSandboxMode) { - *ebx = MONEY32_UNDEFINED; - return; - } + if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && + !map_is_location_owned(curTile.x, curTile.y, zLow * 8) && + !gCheatsSandboxMode) { + *ebx = MONEY32_UNDEFINED; + return; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - if (!(flags & GAME_COMMAND_FLAG_GHOST)) { - footpath_remove_litter(curTile.x, curTile.y, zLow * 8); - if (!gCheatsDisableClearanceChecks) { - wall_remove_at(curTile.x, curTile.y, zLow * 8, zHigh * 8); - } - } - if (gGameCommandNestLevel == 1 && !(*ebx & GAME_COMMAND_FLAG_GHOST)) { - rct_xyz16 coord; - coord.x = x + 16; - coord.y = y + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + if (!(flags & GAME_COMMAND_FLAG_GHOST)) { + footpath_remove_litter(curTile.x, curTile.y, zLow * 8); + if (!gCheatsDisableClearanceChecks) { + wall_remove_at(curTile.x, curTile.y, zLow * 8, zHigh * 8); + } + } + if (gGameCommandNestLevel == 1 && !(*ebx & GAME_COMMAND_FLAG_GHOST)) { + rct_xyz16 coord; + coord.x = x + 16; + coord.y = y + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } - rct_map_element *new_map_element = map_element_insert(curTile.x / 32, curTile.y / 32, zLow, F43887); - assert(new_map_element != NULL); - map_animation_create(MAP_ANIMATION_TYPE_LARGE_SCENERY, curTile.x, curTile.y, zLow); + rct_map_element *new_map_element = map_element_insert(curTile.x / 32, curTile.y / 32, zLow, F43887); + assert(new_map_element != NULL); + map_animation_create(MAP_ANIMATION_TYPE_LARGE_SCENERY, curTile.x, curTile.y, zLow); - new_map_element->clearance_height = zHigh; - new_map_element->type = MAP_ELEMENT_TYPE_SCENERY_MULTIPLE | rotation; + new_map_element->clearance_height = zHigh; + new_map_element->type = MAP_ELEMENT_TYPE_SCENERY_MULTIPLE | rotation; - new_map_element->properties.scenerymultiple.type = - (tile_num << 10) | - entry_index; + new_map_element->properties.scenerymultiple.type = + (tile_num << 10) | + entry_index; - new_map_element->properties.scenerymultiple.colour[0] = colour1; - new_map_element->properties.scenerymultiple.colour[1] = colour2; + new_map_element->properties.scenerymultiple.colour[0] = colour1; + new_map_element->properties.scenerymultiple.colour[1] = colour2; - if (banner_id != 0xFF) { - new_map_element->type |= banner_id & 0xC0; - new_map_element->properties.scenerymultiple.colour[0] |= (banner_id & 0x38) << 2; - new_map_element->properties.scenerymultiple.colour[1] |= (banner_id & 7) << 5; - } + if (banner_id != 0xFF) { + new_map_element->type |= banner_id & 0xC0; + new_map_element->properties.scenerymultiple.colour[0] |= (banner_id & 0x38) << 2; + new_map_element->properties.scenerymultiple.colour[1] |= (banner_id & 7) << 5; + } - if (flags & GAME_COMMAND_FLAG_GHOST) { - new_map_element->flags |= MAP_ELEMENT_FLAG_GHOST; - } + if (flags & GAME_COMMAND_FLAG_GHOST) { + new_map_element->flags |= MAP_ELEMENT_FLAG_GHOST; + } - if (tile_num == 0) { - gSceneryMapElement = new_map_element; - } - map_invalidate_tile_full(curTile.x, curTile.y); - } - } + if (tile_num == 0) { + gSceneryMapElement = new_map_element; + } + map_invalidate_tile_full(curTile.x, curTile.y); + } + } - // Force ride construction to recheck area - _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_RECHECK; + // Force ride construction to recheck area + _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_RECHECK; - *ebx = (scenery_entry->large_scenery.price * 10) + supportsCost; - if(gParkFlags & PARK_FLAGS_NO_MONEY){ - *ebx = 0; - } + *ebx = (scenery_entry->large_scenery.price * 10) + supportsCost; + if(gParkFlags & PARK_FLAGS_NO_MONEY){ + *ebx = 0; + } } sint32 map_get_station(rct_map_element *mapElement) { - return (mapElement->properties.track.sequence & 0x70) >> 4; + return (mapElement->properties.track.sequence & 0x70) >> 4; } /** @@ -3186,22 +3186,22 @@ sint32 map_get_station(rct_map_element *mapElement) */ void map_element_remove(rct_map_element *mapElement) { - // Replace Nth element by (N+1)th element. - // This loop will make mapElement point to the old last element position, - // after copy it to it's new position - if (!map_element_is_last_for_tile(mapElement)){ - do{ - *mapElement = *(mapElement + 1); - } while (!map_element_is_last_for_tile(++mapElement)); - } + // Replace Nth element by (N+1)th element. + // This loop will make mapElement point to the old last element position, + // after copy it to it's new position + if (!map_element_is_last_for_tile(mapElement)){ + do{ + *mapElement = *(mapElement + 1); + } while (!map_element_is_last_for_tile(++mapElement)); + } - // Mark the latest element with the last element flag. - (mapElement - 1)->flags |= MAP_ELEMENT_FLAG_LAST_TILE; - mapElement->base_height = 0xFF; + // Mark the latest element with the last element flag. + (mapElement - 1)->flags |= MAP_ELEMENT_FLAG_LAST_TILE; + mapElement->base_height = 0xFF; - if ((mapElement + 1) == gNextFreeMapElement){ - gNextFreeMapElement--; - } + if ((mapElement + 1) == gNextFreeMapElement){ + gNextFreeMapElement--; + } } /** @@ -3210,30 +3210,30 @@ void map_element_remove(rct_map_element *mapElement) */ void map_remove_all_rides() { - map_element_iterator it; + map_element_iterator it; - map_element_iterator_begin(&it); - do { - switch (map_element_get_type(it.element)) { - case MAP_ELEMENT_TYPE_PATH: - if (it.element->type & 1) { - it.element->properties.path.type &= ~8; - it.element->properties.path.addition_status = 255; - } - break; - case MAP_ELEMENT_TYPE_ENTRANCE: - if (it.element->properties.entrance.type == ENTRANCE_TYPE_PARK_ENTRANCE) - break; + map_element_iterator_begin(&it); + do { + switch (map_element_get_type(it.element)) { + case MAP_ELEMENT_TYPE_PATH: + if (it.element->type & 1) { + it.element->properties.path.type &= ~8; + it.element->properties.path.addition_status = 255; + } + break; + case MAP_ELEMENT_TYPE_ENTRANCE: + if (it.element->properties.entrance.type == ENTRANCE_TYPE_PARK_ENTRANCE) + break; - // fall-through - case MAP_ELEMENT_TYPE_TRACK: - footpath_queue_chain_reset(); - footpath_remove_edges_at(it.x * 32, it.y * 32, it.element); - map_element_remove(it.element); - map_element_iterator_restart_for_tile(&it); - break; - } - } while (map_element_iterator_next(&it)); + // fall-through + case MAP_ELEMENT_TYPE_TRACK: + footpath_queue_chain_reset(); + footpath_remove_edges_at(it.x * 32, it.y * 32, it.element); + map_element_remove(it.element); + map_element_iterator_restart_for_tile(&it); + break; + } + } while (map_element_iterator_next(&it)); } /** @@ -3242,47 +3242,47 @@ void map_remove_all_rides() */ void map_invalidate_map_selection_tiles() { - rct_xy16 *position; + rct_xy16 *position; - if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE_CONSTRUCT)) - return; + if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE_CONSTRUCT)) + return; - for (position = gMapSelectionTiles; position->x != -1; position++) - map_invalidate_tile_full(position->x, position->y); + for (position = gMapSelectionTiles; position->x != -1; position++) + map_invalidate_tile_full(position->x, position->y); } static void map_get_bounding_box(sint32 ax, sint32 ay, sint32 bx, sint32 by, sint32 *left, sint32 *top, sint32 *right, sint32 *bottom) { - sint32 x, y; - x = ax; - y = ay; - uint32 rotation = get_current_rotation(); - translate_3d_to_2d(rotation, &x, &y); - *left = x; - *right = x; - *top = y; - *bottom = y; - x = bx; - y = ay; - translate_3d_to_2d(rotation, &x, &y); - if (x < *left) *left = x; - if (x > *right) *right = x; - if (y > *bottom) *bottom = y; - if (y < *top) *top = y; - x = bx; - y = by; - translate_3d_to_2d(rotation, &x, &y); - if (x < *left) *left = x; - if (x > *right) *right = x; - if (y > *bottom) *bottom = y; - if (y < *top) *top = y; - x = ax; - y = by; - translate_3d_to_2d(rotation, &x, &y); - if (x < *left) *left = x; - if (x > *right) *right = x; - if (y > *bottom) *bottom = y; - if (y < *top) *top = y; + sint32 x, y; + x = ax; + y = ay; + uint32 rotation = get_current_rotation(); + translate_3d_to_2d(rotation, &x, &y); + *left = x; + *right = x; + *top = y; + *bottom = y; + x = bx; + y = ay; + translate_3d_to_2d(rotation, &x, &y); + if (x < *left) *left = x; + if (x > *right) *right = x; + if (y > *bottom) *bottom = y; + if (y < *top) *top = y; + x = bx; + y = by; + translate_3d_to_2d(rotation, &x, &y); + if (x < *left) *left = x; + if (x > *right) *right = x; + if (y > *bottom) *bottom = y; + if (y < *top) *top = y; + x = ax; + y = by; + translate_3d_to_2d(rotation, &x, &y); + if (x < *left) *left = x; + if (x > *right) *right = x; + if (y > *bottom) *bottom = y; + if (y < *top) *top = y; } /** @@ -3291,27 +3291,27 @@ static void map_get_bounding_box(sint32 ax, sint32 ay, sint32 bx, sint32 by, sin */ void map_invalidate_selection_rect() { - sint32 x0, y0, x1, y1, left, right, top, bottom; + sint32 x0, y0, x1, y1, left, right, top, bottom; - if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) - return; + if (!(gMapSelectFlags & MAP_SELECT_FLAG_ENABLE)) + return; - x0 = gMapSelectPositionA.x + 16; - y0 = gMapSelectPositionA.y + 16; - x1 = gMapSelectPositionB.x + 16; - y1 = gMapSelectPositionB.y + 16; - map_get_bounding_box(x0, y0, x1, y1, &left, &top, &right, &bottom); - left -= 32; - right += 32; - bottom += 32; - top -= 32 + 2080; + x0 = gMapSelectPositionA.x + 16; + y0 = gMapSelectPositionA.y + 16; + x1 = gMapSelectPositionB.x + 16; + y1 = gMapSelectPositionB.y + 16; + map_get_bounding_box(x0, y0, x1, y1, &left, &top, &right, &bottom); + left -= 32; + right += 32; + bottom += 32; + top -= 32 + 2080; - for (sint32 i = 0; i < MAX_VIEWPORT_COUNT; i++) { - rct_viewport *viewport = &g_viewport_list[i]; - if (viewport->width != 0) { - viewport_invalidate(viewport, left, top, right, bottom); - } - } + for (sint32 i = 0; i < MAX_VIEWPORT_COUNT; i++) { + rct_viewport *viewport = &g_viewport_list[i]; + if (viewport->width != 0) { + viewport_invalidate(viewport, left, top, right, bottom); + } + } } /** @@ -3320,37 +3320,37 @@ void map_invalidate_selection_rect() */ void map_reorganise_elements() { - context_setcurrentcursor(CURSOR_ZZZ); + context_setcurrentcursor(CURSOR_ZZZ); - rct_map_element* new_map_elements = malloc(3 * (MAXIMUM_MAP_SIZE_TECHNICAL * MAXIMUM_MAP_SIZE_TECHNICAL) * sizeof(rct_map_element)); - rct_map_element* new_elements_pointer = new_map_elements; + rct_map_element* new_map_elements = malloc(3 * (MAXIMUM_MAP_SIZE_TECHNICAL * MAXIMUM_MAP_SIZE_TECHNICAL) * sizeof(rct_map_element)); + rct_map_element* new_elements_pointer = new_map_elements; - if (new_map_elements == NULL) { - log_fatal("Unable to allocate memory for map elements."); - return; - } + if (new_map_elements == NULL) { + log_fatal("Unable to allocate memory for map elements."); + return; + } - uint32 num_elements; + uint32 num_elements; - for (sint32 y = 0; y < MAXIMUM_MAP_SIZE_TECHNICAL; y++) { - for (sint32 x = 0; x < MAXIMUM_MAP_SIZE_TECHNICAL; x++) { - rct_map_element *startElement = map_get_first_element_at(x, y); - rct_map_element *endElement = startElement; - while (!map_element_is_last_for_tile(endElement++)); + for (sint32 y = 0; y < MAXIMUM_MAP_SIZE_TECHNICAL; y++) { + for (sint32 x = 0; x < MAXIMUM_MAP_SIZE_TECHNICAL; x++) { + rct_map_element *startElement = map_get_first_element_at(x, y); + rct_map_element *endElement = startElement; + while (!map_element_is_last_for_tile(endElement++)); - num_elements = (uint32)(endElement - startElement); - memcpy(new_elements_pointer, startElement, num_elements * sizeof(rct_map_element)); - new_elements_pointer += num_elements; - } - } + num_elements = (uint32)(endElement - startElement); + memcpy(new_elements_pointer, startElement, num_elements * sizeof(rct_map_element)); + new_elements_pointer += num_elements; + } + } - num_elements = (uint32)(new_elements_pointer - new_map_elements); - memcpy(gMapElements, new_map_elements, num_elements * sizeof(rct_map_element)); - memset(gMapElements + num_elements, 0, (3 * (MAXIMUM_MAP_SIZE_TECHNICAL * MAXIMUM_MAP_SIZE_TECHNICAL) - num_elements) * sizeof(rct_map_element)); + num_elements = (uint32)(new_elements_pointer - new_map_elements); + memcpy(gMapElements, new_map_elements, num_elements * sizeof(rct_map_element)); + memset(gMapElements + num_elements, 0, (3 * (MAXIMUM_MAP_SIZE_TECHNICAL * MAXIMUM_MAP_SIZE_TECHNICAL) - num_elements) * sizeof(rct_map_element)); - free(new_map_elements); + free(new_map_elements); - map_update_tile_pointers(); + map_update_tile_pointers(); } /** @@ -3361,23 +3361,23 @@ void map_reorganise_elements() */ bool map_check_free_elements_and_reorganise(sint32 num_elements) { - if ((gNextFreeMapElement + num_elements) <= gMapElements + MAX_MAP_ELEMENTS) - return true; + if ((gNextFreeMapElement + num_elements) <= gMapElements + MAX_MAP_ELEMENTS) + return true; - for (sint32 i = 1000; i != 0; --i) - sub_68B089(); + for (sint32 i = 1000; i != 0; --i) + sub_68B089(); - if ((gNextFreeMapElement + num_elements) <= gMapElements + MAX_MAP_ELEMENTS) - return true; + if ((gNextFreeMapElement + num_elements) <= gMapElements + MAX_MAP_ELEMENTS) + return true; - map_reorganise_elements(); + map_reorganise_elements(); - if ((gNextFreeMapElement + num_elements) <= gMapElements + MAX_MAP_ELEMENTS) - return true; - else{ - gGameCommandErrorText = STR_ERR_LANDSCAPE_DATA_AREA_FULL; - return false; - } + if ((gNextFreeMapElement + num_elements) <= gMapElements + MAX_MAP_ELEMENTS) + return true; + else{ + gGameCommandErrorText = STR_ERR_LANDSCAPE_DATA_AREA_FULL; + return false; + } } /** @@ -3386,56 +3386,56 @@ bool map_check_free_elements_and_reorganise(sint32 num_elements) */ rct_map_element *map_element_insert(sint32 x, sint32 y, sint32 z, sint32 flags) { - rct_map_element *originalMapElement, *newMapElement, *insertedElement; + rct_map_element *originalMapElement, *newMapElement, *insertedElement; - if (!map_check_free_elements_and_reorganise(1)) { - log_error("Cannot insert new element"); - return NULL; - } + if (!map_check_free_elements_and_reorganise(1)) { + log_error("Cannot insert new element"); + return NULL; + } - newMapElement = gNextFreeMapElement; - originalMapElement = gMapElementTilePointers[y * MAXIMUM_MAP_SIZE_TECHNICAL + x]; + newMapElement = gNextFreeMapElement; + originalMapElement = gMapElementTilePointers[y * MAXIMUM_MAP_SIZE_TECHNICAL + x]; - // Set tile index pointer to point to new element block - gMapElementTilePointers[y * MAXIMUM_MAP_SIZE_TECHNICAL + x] = newMapElement; + // Set tile index pointer to point to new element block + gMapElementTilePointers[y * MAXIMUM_MAP_SIZE_TECHNICAL + x] = newMapElement; - // Copy all elements that are below the insert height - while (z >= originalMapElement->base_height) { - // Copy over map element - *newMapElement = *originalMapElement; - originalMapElement->base_height = 255; - originalMapElement++; - newMapElement++; + // Copy all elements that are below the insert height + while (z >= originalMapElement->base_height) { + // Copy over map element + *newMapElement = *originalMapElement; + originalMapElement->base_height = 255; + originalMapElement++; + newMapElement++; - if ((newMapElement - 1)->flags & MAP_ELEMENT_FLAG_LAST_TILE) { - // No more elements above the insert element - (newMapElement - 1)->flags &= ~MAP_ELEMENT_FLAG_LAST_TILE; - flags |= MAP_ELEMENT_FLAG_LAST_TILE; - break; - } - } + if ((newMapElement - 1)->flags & MAP_ELEMENT_FLAG_LAST_TILE) { + // No more elements above the insert element + (newMapElement - 1)->flags &= ~MAP_ELEMENT_FLAG_LAST_TILE; + flags |= MAP_ELEMENT_FLAG_LAST_TILE; + break; + } + } - // Insert new map element - insertedElement = newMapElement; - newMapElement->base_height = z; - newMapElement->flags = flags; - newMapElement->clearance_height = z; - memset(&newMapElement->properties, 0, sizeof(newMapElement->properties)); - newMapElement++; + // Insert new map element + insertedElement = newMapElement; + newMapElement->base_height = z; + newMapElement->flags = flags; + newMapElement->clearance_height = z; + memset(&newMapElement->properties, 0, sizeof(newMapElement->properties)); + newMapElement++; - // Insert rest of map elements above insert height - if (!(flags & MAP_ELEMENT_FLAG_LAST_TILE)) { - do { - // Copy over map element - *newMapElement = *originalMapElement; - originalMapElement->base_height = 255; - originalMapElement++; - newMapElement++; - } while (!((newMapElement - 1)->flags & MAP_ELEMENT_FLAG_LAST_TILE)); - } + // Insert rest of map elements above insert height + if (!(flags & MAP_ELEMENT_FLAG_LAST_TILE)) { + do { + // Copy over map element + *newMapElement = *originalMapElement; + originalMapElement->base_height = 255; + originalMapElement++; + newMapElement++; + } while (!((newMapElement - 1)->flags & MAP_ELEMENT_FLAG_LAST_TILE)); + } - gNextFreeMapElement = newMapElement; - return insertedElement; + gNextFreeMapElement = newMapElement; + return insertedElement; } /** @@ -3445,14 +3445,14 @@ rct_map_element *map_element_insert(sint32 x, sint32 y, sint32 z, sint32 flags) */ bool map_element_check_address(const rct_map_element * const element) { - if (element >= gMapElements - && element < gMapElements + MAX_MAP_ELEMENTS - // condition below checks alignment - && gMapElements + (((uintptr_t)element - (uintptr_t)gMapElements) / sizeof(rct_map_element)) == element) - { - return true; - } - return false; + if (element >= gMapElements + && element < gMapElements + MAX_MAP_ELEMENTS + // condition below checks alignment + && gMapElements + (((uintptr_t)element - (uintptr_t)gMapElements) / sizeof(rct_map_element)) == element) + { + return true; + } + return false; } /** @@ -3461,163 +3461,163 @@ bool map_element_check_address(const rct_map_element * const element) */ void map_obstruction_set_error_text(rct_map_element *mapElement) { - rct_string_id errorStringId; - rct_ride *ride; - rct_scenery_entry *sceneryEntry; + rct_string_id errorStringId; + rct_ride *ride; + rct_scenery_entry *sceneryEntry; - errorStringId = STR_OBJECT_IN_THE_WAY; - switch (map_element_get_type(mapElement)) { - case MAP_ELEMENT_TYPE_SURFACE: - errorStringId = STR_RAISE_OR_LOWER_LAND_FIRST; - break; - case MAP_ELEMENT_TYPE_PATH: - errorStringId = STR_FOOTPATH_IN_THE_WAY; - break; - case MAP_ELEMENT_TYPE_TRACK: - ride = get_ride(mapElement->properties.track.ride_index); - errorStringId = STR_X_IN_THE_WAY; - set_format_arg(0, rct_string_id, ride->name); - set_format_arg(2, uint32, ride->name_arguments); - break; - case MAP_ELEMENT_TYPE_SCENERY: - sceneryEntry = get_small_scenery_entry(mapElement->properties.scenery.type); - errorStringId = STR_X_IN_THE_WAY; - set_format_arg(0, rct_string_id, sceneryEntry->name); - break; - case MAP_ELEMENT_TYPE_ENTRANCE: - switch (mapElement->properties.entrance.type) { - case ENTRANCE_TYPE_RIDE_ENTRANCE: - errorStringId = STR_RIDE_ENTRANCE_IN_THE_WAY; - break; - case ENTRANCE_TYPE_RIDE_EXIT: - errorStringId = STR_RIDE_EXIT_IN_THE_WAY; - break; - case ENTRANCE_TYPE_PARK_ENTRANCE: - errorStringId = STR_PARK_ENTRANCE_IN_THE_WAY; - break; - } - break; - case MAP_ELEMENT_TYPE_WALL: - sceneryEntry = get_wall_entry(mapElement->properties.scenery.type); - errorStringId = STR_X_IN_THE_WAY; - set_format_arg(0, rct_string_id, sceneryEntry->name); - break; - case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - sceneryEntry = get_large_scenery_entry(mapElement->properties.scenery.type); - errorStringId = STR_X_IN_THE_WAY; - set_format_arg(0, rct_string_id, sceneryEntry->name); - break; - } + errorStringId = STR_OBJECT_IN_THE_WAY; + switch (map_element_get_type(mapElement)) { + case MAP_ELEMENT_TYPE_SURFACE: + errorStringId = STR_RAISE_OR_LOWER_LAND_FIRST; + break; + case MAP_ELEMENT_TYPE_PATH: + errorStringId = STR_FOOTPATH_IN_THE_WAY; + break; + case MAP_ELEMENT_TYPE_TRACK: + ride = get_ride(mapElement->properties.track.ride_index); + errorStringId = STR_X_IN_THE_WAY; + set_format_arg(0, rct_string_id, ride->name); + set_format_arg(2, uint32, ride->name_arguments); + break; + case MAP_ELEMENT_TYPE_SCENERY: + sceneryEntry = get_small_scenery_entry(mapElement->properties.scenery.type); + errorStringId = STR_X_IN_THE_WAY; + set_format_arg(0, rct_string_id, sceneryEntry->name); + break; + case MAP_ELEMENT_TYPE_ENTRANCE: + switch (mapElement->properties.entrance.type) { + case ENTRANCE_TYPE_RIDE_ENTRANCE: + errorStringId = STR_RIDE_ENTRANCE_IN_THE_WAY; + break; + case ENTRANCE_TYPE_RIDE_EXIT: + errorStringId = STR_RIDE_EXIT_IN_THE_WAY; + break; + case ENTRANCE_TYPE_PARK_ENTRANCE: + errorStringId = STR_PARK_ENTRANCE_IN_THE_WAY; + break; + } + break; + case MAP_ELEMENT_TYPE_WALL: + sceneryEntry = get_wall_entry(mapElement->properties.scenery.type); + errorStringId = STR_X_IN_THE_WAY; + set_format_arg(0, rct_string_id, sceneryEntry->name); + break; + case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: + sceneryEntry = get_large_scenery_entry(mapElement->properties.scenery.type); + errorStringId = STR_X_IN_THE_WAY; + set_format_arg(0, rct_string_id, sceneryEntry->name); + break; + } - gGameCommandErrorText = errorStringId; + gGameCommandErrorText = errorStringId; } /** * * rct2: 0x0068B932 - * ax = x - * cx = y - * dl = zLow - * dh = zHigh - * ebp = clearFunc - * bl = bl + * ax = x + * cx = y + * dl = zLow + * dh = zHigh + * ebp = clearFunc + * bl = bl */ sint32 map_can_construct_with_clear_at(sint32 x, sint32 y, sint32 zLow, sint32 zHigh, CLEAR_FUNC *clearFunc, uint8 bl, uint8 flags, money32 *price) { - gMapGroundFlags = ELEMENT_IS_ABOVE_GROUND; - if (x >= gMapSizeUnits || y >= gMapSizeUnits || x < 32 || y < 32) { - gGameCommandErrorText = STR_OFF_EDGE_OF_MAP; - return false; - } - rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_SURFACE) { - if (zLow < map_element->clearance_height && zHigh > map_element->base_height && !(map_element->flags & MAP_ELEMENT_FLAG_GHOST)) { - if (map_element->flags & (bl & 0x0F)) { - goto loc_68BABC; - } - } - continue; - } - sint32 water_height = ((map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) * 2); - if (water_height && water_height > zLow && map_element->base_height < zHigh) { - gMapGroundFlags |= ELEMENT_IS_UNDERWATER; - if (water_height < zHigh) { - goto loc_68BAE6; - } - } - loc_68B9B7: - if (gParkFlags & PARK_FLAGS_FORBID_HIGH_CONSTRUCTION) { - sint32 al = zHigh - map_element->base_height; - if (al >= 0) { - if (al > 18) { - gGameCommandErrorText = STR_LOCAL_AUTHORITY_WONT_ALLOW_CONSTRUCTION_ABOVE_TREE_HEIGHT; - return false; - } - } - } - if ((bl & 0xF0) != 0xF0) { - if (map_element->base_height >= zHigh) { - // loc_68BA81 - gMapGroundFlags |= ELEMENT_IS_UNDERGROUND; - gMapGroundFlags &= ~ELEMENT_IS_ABOVE_GROUND; - } else { - sint32 al = map_element->base_height; - sint32 ah = al; - sint32 cl = al; - sint32 ch = al; - uint8 slope = map_element->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK; - if (slope & 1) { - al += 2; - if (slope == 0x1B) - al += 2; - } - if (slope & 2) { - ah += 2; - if (slope == 0x17) - ah += 2; - } - if (slope & 4) { - cl += 2; - if (slope == 0x1E) - cl += 2; - } - if (slope & 8) { - ch += 2; - if (slope == 0x1D) - ch += 2; - } - sint32 bh = zLow + 4; - if ((!(bl & 1) || ((bl & 0x10 || zLow >= al) && bh >= al)) && - (!(bl & 2) || ((bl & 0x20 || zLow >= ah) && bh >= ah)) && - (!(bl & 4) || ((bl & 0x40 || zLow >= cl) && bh >= cl)) && - (!(bl & 8) || ((bl & 0x80 || zLow >= ch) && bh >= ch))) { - continue; - } - loc_68BABC: - if (clearFunc != NULL) { - if (!clearFunc(&map_element, x, y, flags, price)) { - continue; - } - } - if (map_element != (rct_map_element*)0xFFFFFFF) { - map_obstruction_set_error_text(map_element); - } - return false; - loc_68BAE6: - if (clearFunc != NULL) { - if (!clearFunc(&map_element, x, y, flags, price)) { - goto loc_68B9B7; - } - } - if (map_element != (rct_map_element*)0xFFFFFFF) { - gGameCommandErrorText = STR_CANNOT_BUILD_PARTLY_ABOVE_AND_PARTLY_BELOW_WATER; - } - return false; - } - } - } while (!map_element_is_last_for_tile(map_element++)); - return true; + gMapGroundFlags = ELEMENT_IS_ABOVE_GROUND; + if (x >= gMapSizeUnits || y >= gMapSizeUnits || x < 32 || y < 32) { + gGameCommandErrorText = STR_OFF_EDGE_OF_MAP; + return false; + } + rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_SURFACE) { + if (zLow < map_element->clearance_height && zHigh > map_element->base_height && !(map_element->flags & MAP_ELEMENT_FLAG_GHOST)) { + if (map_element->flags & (bl & 0x0F)) { + goto loc_68BABC; + } + } + continue; + } + sint32 water_height = ((map_element->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK) * 2); + if (water_height && water_height > zLow && map_element->base_height < zHigh) { + gMapGroundFlags |= ELEMENT_IS_UNDERWATER; + if (water_height < zHigh) { + goto loc_68BAE6; + } + } + loc_68B9B7: + if (gParkFlags & PARK_FLAGS_FORBID_HIGH_CONSTRUCTION) { + sint32 al = zHigh - map_element->base_height; + if (al >= 0) { + if (al > 18) { + gGameCommandErrorText = STR_LOCAL_AUTHORITY_WONT_ALLOW_CONSTRUCTION_ABOVE_TREE_HEIGHT; + return false; + } + } + } + if ((bl & 0xF0) != 0xF0) { + if (map_element->base_height >= zHigh) { + // loc_68BA81 + gMapGroundFlags |= ELEMENT_IS_UNDERGROUND; + gMapGroundFlags &= ~ELEMENT_IS_ABOVE_GROUND; + } else { + sint32 al = map_element->base_height; + sint32 ah = al; + sint32 cl = al; + sint32 ch = al; + uint8 slope = map_element->properties.surface.slope & MAP_ELEMENT_SLOPE_MASK; + if (slope & 1) { + al += 2; + if (slope == 0x1B) + al += 2; + } + if (slope & 2) { + ah += 2; + if (slope == 0x17) + ah += 2; + } + if (slope & 4) { + cl += 2; + if (slope == 0x1E) + cl += 2; + } + if (slope & 8) { + ch += 2; + if (slope == 0x1D) + ch += 2; + } + sint32 bh = zLow + 4; + if ((!(bl & 1) || ((bl & 0x10 || zLow >= al) && bh >= al)) && + (!(bl & 2) || ((bl & 0x20 || zLow >= ah) && bh >= ah)) && + (!(bl & 4) || ((bl & 0x40 || zLow >= cl) && bh >= cl)) && + (!(bl & 8) || ((bl & 0x80 || zLow >= ch) && bh >= ch))) { + continue; + } + loc_68BABC: + if (clearFunc != NULL) { + if (!clearFunc(&map_element, x, y, flags, price)) { + continue; + } + } + if (map_element != (rct_map_element*)0xFFFFFFF) { + map_obstruction_set_error_text(map_element); + } + return false; + loc_68BAE6: + if (clearFunc != NULL) { + if (!clearFunc(&map_element, x, y, flags, price)) { + goto loc_68B9B7; + } + } + if (map_element != (rct_map_element*)0xFFFFFFF) { + gGameCommandErrorText = STR_CANNOT_BUILD_PARTLY_ABOVE_AND_PARTLY_BELOW_WATER; + } + return false; + } + } + } while (!map_element_is_last_for_tile(map_element++)); + return true; } /** @@ -3626,7 +3626,7 @@ sint32 map_can_construct_with_clear_at(sint32 x, sint32 y, sint32 zLow, sint32 z */ sint32 map_can_construct_at(sint32 x, sint32 y, sint32 zLow, sint32 zHigh, uint8 bl) { - return map_can_construct_with_clear_at(x, y, zLow, zHigh, NULL, bl, 0, NULL); + return map_can_construct_with_clear_at(x, y, zLow, zHigh, NULL, bl, 0, NULL); } /** @@ -3636,32 +3636,32 @@ sint32 map_can_construct_at(sint32 x, sint32 y, sint32 zLow, sint32 zHigh, uint8 */ void map_update_tiles() { - sint32 ignoreScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER; - if (gScreenFlags & ignoreScreenFlags) - return; + sint32 ignoreScreenFlags = SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER; + if (gScreenFlags & ignoreScreenFlags) + return; - // Update 43 more tiles - for (sint32 j = 0; j < 43; j++) { - sint32 x = 0; - sint32 y = 0; + // Update 43 more tiles + for (sint32 j = 0; j < 43; j++) { + sint32 x = 0; + sint32 y = 0; - uint16 interleaved_xy = gGrassSceneryTileLoopPosition; - for (sint32 i = 0; i < 8; i++) { - x = (x << 1) | (interleaved_xy & 1); - interleaved_xy >>= 1; - y = (y << 1) | (interleaved_xy & 1); - interleaved_xy >>= 1; - } + uint16 interleaved_xy = gGrassSceneryTileLoopPosition; + for (sint32 i = 0; i < 8; i++) { + x = (x << 1) | (interleaved_xy & 1); + interleaved_xy >>= 1; + y = (y << 1) | (interleaved_xy & 1); + interleaved_xy >>= 1; + } - rct_map_element *mapElement = map_get_surface_element_at(x, y); - if (mapElement != NULL) { - map_update_grass_length(x * 32, y * 32, mapElement); - scenery_update_tile(x * 32, y * 32); - } + rct_map_element *mapElement = map_get_surface_element_at(x, y); + if (mapElement != NULL) { + map_update_grass_length(x * 32, y * 32, mapElement); + scenery_update_tile(x * 32, y * 32); + } - gGrassSceneryTileLoopPosition++; - gGrassSceneryTileLoopPosition &= 0xFFFF; - } + gGrassSceneryTileLoopPosition++; + gGrassSceneryTileLoopPosition &= 0xFFFF; + } } /** @@ -3670,149 +3670,149 @@ void map_update_tiles() */ static void map_update_grass_length(sint32 x, sint32 y, rct_map_element *mapElement) { - // Check if tile is grass - if ((mapElement->properties.surface.terrain & 0xE0) && !(mapElement->type & 3)) - return; + // Check if tile is grass + if ((mapElement->properties.surface.terrain & 0xE0) && !(mapElement->type & 3)) + return; - sint32 grassLength = mapElement->properties.surface.grass_length & 7; + sint32 grassLength = mapElement->properties.surface.grass_length & 7; - // Check if grass is underwater or outside park - sint32 waterHeight = (mapElement->properties.surface.terrain & 0x1F) * 2; - if (waterHeight > mapElement->base_height || !map_is_location_in_park(x, y)) { - if (grassLength != GRASS_LENGTH_CLEAR_0) - map_set_grass_length(x, y, mapElement, GRASS_LENGTH_CLEAR_0); + // Check if grass is underwater or outside park + sint32 waterHeight = (mapElement->properties.surface.terrain & 0x1F) * 2; + if (waterHeight > mapElement->base_height || !map_is_location_in_park(x, y)) { + if (grassLength != GRASS_LENGTH_CLEAR_0) + map_set_grass_length(x, y, mapElement, GRASS_LENGTH_CLEAR_0); - return; - } + return; + } - // Grass can't grow any further than CLUMPS_2 but this code also cuts grass - // if there is an object placed on top of it. + // Grass can't grow any further than CLUMPS_2 but this code also cuts grass + // if there is an object placed on top of it. - sint32 z0 = mapElement->base_height; - sint32 z1 = mapElement->base_height + 2; - if (mapElement->properties.surface.slope & 0x10) - z1 += 2; + sint32 z0 = mapElement->base_height; + sint32 z1 = mapElement->base_height + 2; + if (mapElement->properties.surface.slope & 0x10) + z1 += 2; - // Check objects above grass - rct_map_element *mapElementAbove = mapElement; - for (;;) { - if (mapElementAbove->flags & MAP_ELEMENT_FLAG_LAST_TILE) { - // Grow grass + // Check objects above grass + rct_map_element *mapElementAbove = mapElement; + for (;;) { + if (mapElementAbove->flags & MAP_ELEMENT_FLAG_LAST_TILE) { + // Grow grass - // Check interim grass lengths - uint8 lengthNibble = (mapElement->properties.surface.grass_length & 0xF0) >> 4; - if (lengthNibble < 0xF) { - mapElement->properties.surface.grass_length += 0x10; - } else { - // Zeros the length nibble - mapElement->properties.surface.grass_length += 0x10; - mapElement->properties.surface.grass_length ^= 8; - if (mapElement->properties.surface.grass_length & 8) { - // Random growth rate (length nibble) - mapElement->properties.surface.grass_length |= scenario_rand() & 0x70; - } else { - // Increase length if not at max length - if (grassLength != GRASS_LENGTH_CLUMPS_2) - map_set_grass_length(x, y, mapElement, grassLength + 1); - } - } - } else { - mapElementAbove++; - if (map_element_get_type(mapElementAbove) == MAP_ELEMENT_TYPE_WALL) - continue; - if (z0 >= mapElementAbove->clearance_height) - continue; - if (z1 < mapElementAbove->base_height) - continue; + // Check interim grass lengths + uint8 lengthNibble = (mapElement->properties.surface.grass_length & 0xF0) >> 4; + if (lengthNibble < 0xF) { + mapElement->properties.surface.grass_length += 0x10; + } else { + // Zeros the length nibble + mapElement->properties.surface.grass_length += 0x10; + mapElement->properties.surface.grass_length ^= 8; + if (mapElement->properties.surface.grass_length & 8) { + // Random growth rate (length nibble) + mapElement->properties.surface.grass_length |= scenario_rand() & 0x70; + } else { + // Increase length if not at max length + if (grassLength != GRASS_LENGTH_CLUMPS_2) + map_set_grass_length(x, y, mapElement, grassLength + 1); + } + } + } else { + mapElementAbove++; + if (map_element_get_type(mapElementAbove) == MAP_ELEMENT_TYPE_WALL) + continue; + if (z0 >= mapElementAbove->clearance_height) + continue; + if (z1 < mapElementAbove->base_height) + continue; - if (grassLength != GRASS_LENGTH_CLEAR_0) - map_set_grass_length(x, y, mapElement, GRASS_LENGTH_CLEAR_0); - } - break; - } + if (grassLength != GRASS_LENGTH_CLEAR_0) + map_set_grass_length(x, y, mapElement, GRASS_LENGTH_CLEAR_0); + } + break; + } } static void map_set_grass_length(sint32 x, sint32 y, rct_map_element *mapElement, sint32 length) { - sint32 z0, z1; + sint32 z0, z1; - mapElement->properties.surface.grass_length = length; - z0 = mapElement->base_height * 8; - z1 = z0 + 16; - map_invalidate_tile(x, y, z0, z1); + mapElement->properties.surface.grass_length = length; + z0 = mapElement->base_height * 8; + z1 = z0 + 16; + map_invalidate_tile(x, y, z0, z1); } void map_remove_provisional_elements() { - if (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_1) - { - footpath_provisional_remove(); - gFootpathProvisionalFlags |= PROVISIONAL_PATH_FLAG_1; - } - if (window_find_by_class(WC_RIDE_CONSTRUCTION ) != NULL) - { - ride_remove_provisional_track_piece(); - ride_entrance_exit_remove_ghost(); - } + if (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_1) + { + footpath_provisional_remove(); + gFootpathProvisionalFlags |= PROVISIONAL_PATH_FLAG_1; + } + if (window_find_by_class(WC_RIDE_CONSTRUCTION ) != NULL) + { + ride_remove_provisional_track_piece(); + ride_entrance_exit_remove_ghost(); + } } void map_restore_provisional_elements() { - if (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_1) - { - gFootpathProvisionalFlags &= ~PROVISIONAL_PATH_FLAG_1; - footpath_provisional_set(gFootpathProvisionalType, - gFootpathProvisionalPosition.x, - gFootpathProvisionalPosition.y, - gFootpathProvisionalPosition.z, - gFootpathProvisionalSlope); - } - if (window_find_by_class(WC_RIDE_CONSTRUCTION) != NULL) - { - ride_restore_provisional_track_piece(); - ride_entrance_exit_place_provisional_ghost(); - } + if (gFootpathProvisionalFlags & PROVISIONAL_PATH_FLAG_1) + { + gFootpathProvisionalFlags &= ~PROVISIONAL_PATH_FLAG_1; + footpath_provisional_set(gFootpathProvisionalType, + gFootpathProvisionalPosition.x, + gFootpathProvisionalPosition.y, + gFootpathProvisionalPosition.z, + gFootpathProvisionalSlope); + } + if (window_find_by_class(WC_RIDE_CONSTRUCTION) != NULL) + { + ride_restore_provisional_track_piece(); + ride_entrance_exit_place_provisional_ghost(); + } } sint32 map_element_get_banner_index(rct_map_element *mapElement) { - rct_scenery_entry* sceneryEntry; + rct_scenery_entry* sceneryEntry; - switch (map_element_get_type(mapElement)) { - case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - sceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); - if (sceneryEntry->large_scenery.var_11 == 0xFF) - return -1; + switch (map_element_get_type(mapElement)) { + case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: + sceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); + if (sceneryEntry->large_scenery.var_11 == 0xFF) + return -1; - return - (mapElement->type & MAP_ELEMENT_QUADRANT_MASK) | - ((mapElement->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | - ((mapElement->properties.scenerymultiple.colour[1] & 0xE0) >> 5); - case MAP_ELEMENT_TYPE_WALL: - sceneryEntry = get_wall_entry(mapElement->properties.wall.type); - if (sceneryEntry->wall.scrolling_mode == 0xFF) - return -1; + return + (mapElement->type & MAP_ELEMENT_QUADRANT_MASK) | + ((mapElement->properties.scenerymultiple.colour[0] & 0xE0) >> 2) | + ((mapElement->properties.scenerymultiple.colour[1] & 0xE0) >> 5); + case MAP_ELEMENT_TYPE_WALL: + sceneryEntry = get_wall_entry(mapElement->properties.wall.type); + if (sceneryEntry->wall.scrolling_mode == 0xFF) + return -1; - return mapElement->properties.wall.banner_index; - case MAP_ELEMENT_TYPE_BANNER: - return mapElement->properties.banner.index; - default: - return -1; - } + return mapElement->properties.wall.banner_index; + case MAP_ELEMENT_TYPE_BANNER: + return mapElement->properties.banner.index; + default: + return -1; + } } void map_element_remove_banner_entry(rct_map_element *mapElement) { - sint32 bannerIndex = map_element_get_banner_index(mapElement); - if (bannerIndex == -1) - return; + sint32 bannerIndex = map_element_get_banner_index(mapElement); + if (bannerIndex == -1) + return; - rct_banner* banner = &gBanners[bannerIndex]; - if (banner->type != BANNER_NULL) { - window_close_by_number(WC_BANNER, bannerIndex); - banner->type = BANNER_NULL; - user_string_free(banner->string_idx); - } + rct_banner* banner = &gBanners[bannerIndex]; + if (banner->type != BANNER_NULL) { + window_close_by_number(WC_BANNER, bannerIndex); + banner->type = BANNER_NULL; + user_string_free(banner->string_idx); + } } /** @@ -3821,16 +3821,16 @@ void map_element_remove_banner_entry(rct_map_element *mapElement) */ void map_remove_out_of_range_elements() { - sint32 mapMaxXY = gMapSizeMaxXY; + sint32 mapMaxXY = gMapSizeMaxXY; - for (sint32 y = 0; y < (MAXIMUM_MAP_SIZE_TECHNICAL * 32); y += 32) { - for (sint32 x = 0; x < (MAXIMUM_MAP_SIZE_TECHNICAL * 32); x += 32) { - if (x == 0 || y == 0 || x >= mapMaxXY || y >= mapMaxXY) { - map_buy_land_rights(x, y, x, y, 1, GAME_COMMAND_FLAG_APPLY); - clear_elements_at(x, y); - } - } - } + for (sint32 y = 0; y < (MAXIMUM_MAP_SIZE_TECHNICAL * 32); y += 32) { + for (sint32 x = 0; x < (MAXIMUM_MAP_SIZE_TECHNICAL * 32); x += 32) { + if (x == 0 || y == 0 || x >= mapMaxXY || y >= mapMaxXY) { + map_buy_land_rights(x, y, x, y, 1, GAME_COMMAND_FLAG_APPLY); + clear_elements_at(x, y); + } + } + } } /** @@ -3839,80 +3839,80 @@ void map_remove_out_of_range_elements() */ void map_extend_boundary_surface() { - rct_map_element *existingMapElement, *newMapElement; - sint32 x, y, z, slope; + rct_map_element *existingMapElement, *newMapElement; + sint32 x, y, z, slope; - y = gMapSize - 2; - for (x = 0; x < MAXIMUM_MAP_SIZE_TECHNICAL; x++) { - existingMapElement = map_get_surface_element_at(x, y - 1); - newMapElement = map_get_surface_element_at(x, y); + y = gMapSize - 2; + for (x = 0; x < MAXIMUM_MAP_SIZE_TECHNICAL; x++) { + existingMapElement = map_get_surface_element_at(x, y - 1); + newMapElement = map_get_surface_element_at(x, y); - newMapElement->type = (newMapElement->type & 0x7C) | (existingMapElement->type & 0x83); - newMapElement->properties.surface.slope = existingMapElement->properties.surface.slope & 0xE0; - newMapElement->properties.surface.terrain = existingMapElement->properties.surface.terrain; - newMapElement->properties.surface.grass_length = existingMapElement->properties.surface.grass_length; - newMapElement->properties.surface.ownership = 0; + newMapElement->type = (newMapElement->type & 0x7C) | (existingMapElement->type & 0x83); + newMapElement->properties.surface.slope = existingMapElement->properties.surface.slope & 0xE0; + newMapElement->properties.surface.terrain = existingMapElement->properties.surface.terrain; + newMapElement->properties.surface.grass_length = existingMapElement->properties.surface.grass_length; + newMapElement->properties.surface.ownership = 0; - z = existingMapElement->base_height; - slope = existingMapElement->properties.surface.slope & 9; - if (slope == 9) { - z += 2; - slope = 0; - if (existingMapElement->properties.surface.slope & 0x10) { - slope = 1; - if (existingMapElement->properties.surface.slope & 0x04) { - slope = 8; - if (existingMapElement->properties.surface.slope & 0x02) { - slope = 0; - } - } - } - } - if (slope & 1) slope |= 2; - if (slope & 8) slope |= 4; + z = existingMapElement->base_height; + slope = existingMapElement->properties.surface.slope & 9; + if (slope == 9) { + z += 2; + slope = 0; + if (existingMapElement->properties.surface.slope & 0x10) { + slope = 1; + if (existingMapElement->properties.surface.slope & 0x04) { + slope = 8; + if (existingMapElement->properties.surface.slope & 0x02) { + slope = 0; + } + } + } + } + if (slope & 1) slope |= 2; + if (slope & 8) slope |= 4; - newMapElement->properties.surface.slope |= slope; - newMapElement->base_height = z; - newMapElement->clearance_height = z; + newMapElement->properties.surface.slope |= slope; + newMapElement->base_height = z; + newMapElement->clearance_height = z; - update_park_fences(x << 5, y << 5); - } + update_park_fences(x << 5, y << 5); + } - x = gMapSize - 2; - for (y = 0; y < MAXIMUM_MAP_SIZE_TECHNICAL; y++) { - existingMapElement = map_get_surface_element_at(x - 1, y); - newMapElement = map_get_surface_element_at(x, y); + x = gMapSize - 2; + for (y = 0; y < MAXIMUM_MAP_SIZE_TECHNICAL; y++) { + existingMapElement = map_get_surface_element_at(x - 1, y); + newMapElement = map_get_surface_element_at(x, y); - newMapElement->type = (newMapElement->type & 0x7C) | (existingMapElement->type & 0x83); - newMapElement->properties.surface.slope = existingMapElement->properties.surface.slope & 0xE0; - newMapElement->properties.surface.terrain = existingMapElement->properties.surface.terrain; - newMapElement->properties.surface.grass_length = existingMapElement->properties.surface.grass_length; - newMapElement->properties.surface.ownership = 0; + newMapElement->type = (newMapElement->type & 0x7C) | (existingMapElement->type & 0x83); + newMapElement->properties.surface.slope = existingMapElement->properties.surface.slope & 0xE0; + newMapElement->properties.surface.terrain = existingMapElement->properties.surface.terrain; + newMapElement->properties.surface.grass_length = existingMapElement->properties.surface.grass_length; + newMapElement->properties.surface.ownership = 0; - z = existingMapElement->base_height; - slope = existingMapElement->properties.surface.slope & 3; - if (slope == 3) { - z += 2; - slope = 0; - if (existingMapElement->properties.surface.slope & 0x10) { - slope = 1; - if (existingMapElement->properties.surface.slope & 0x04) { - slope = 2; - if (existingMapElement->properties.surface.slope & 0x08) { - slope = 0; - } - } - } - } - if (slope & 1) slope |= 8; - if (slope & 2) slope |= 4; + z = existingMapElement->base_height; + slope = existingMapElement->properties.surface.slope & 3; + if (slope == 3) { + z += 2; + slope = 0; + if (existingMapElement->properties.surface.slope & 0x10) { + slope = 1; + if (existingMapElement->properties.surface.slope & 0x04) { + slope = 2; + if (existingMapElement->properties.surface.slope & 0x08) { + slope = 0; + } + } + } + } + if (slope & 1) slope |= 8; + if (slope & 2) slope |= 4; - newMapElement->properties.surface.slope |= slope; - newMapElement->base_height = z; - newMapElement->clearance_height = z; + newMapElement->properties.surface.slope |= slope; + newMapElement->base_height = z; + newMapElement->clearance_height = z; - update_park_fences(x << 5, y << 5); - } + update_park_fences(x << 5, y << 5); + } } /** @@ -3921,62 +3921,62 @@ void map_extend_boundary_surface() */ static void clear_element_at(sint32 x, sint32 y, rct_map_element **elementPtr) { - rct_map_element *element = *elementPtr; - switch (map_element_get_type(element)) { - case MAP_ELEMENT_TYPE_SURFACE: - element->base_height = 2; - element->clearance_height = 2; - element->properties.surface.slope = 0; - element->properties.surface.terrain = 0; - element->properties.surface.grass_length = GRASS_LENGTH_CLEAR_0; - element->properties.surface.ownership = 0; - // Because this element is not completely removed, the pointer must be updated manually - // The rest of the elements are removed from the array, so the pointer doesn't need to be updated. - (*elementPtr)++; - break; - case MAP_ELEMENT_TYPE_ENTRANCE: - viewport_interaction_remove_park_entrance(element, x, y); - break; - case MAP_ELEMENT_TYPE_WALL: - gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; - game_do_command( - x, - GAME_COMMAND_FLAG_APPLY, - y, - (element->type & MAP_ELEMENT_DIRECTION_MASK) | (element->base_height << 8), - GAME_COMMAND_REMOVE_WALL, - 0, - 0 - ); - break; - case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; - game_do_command( - x, - (GAME_COMMAND_FLAG_APPLY) | ((element->type & MAP_ELEMENT_DIRECTION_MASK) << 8), - y, - (element->base_height) | (((element->properties.scenerymultiple.type >> 8) >> 2) << 8), - GAME_COMMAND_REMOVE_LARGE_SCENERY, - 0, - 0 - ); - break; - case MAP_ELEMENT_TYPE_BANNER: - gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; - game_do_command( - x, - GAME_COMMAND_FLAG_APPLY, - y, - (element->base_height) | ((element->properties.banner.position & 3) << 8), - GAME_COMMAND_REMOVE_BANNER, - 0, - 0 - ); - break; - default: - map_element_remove(element); - break; - } + rct_map_element *element = *elementPtr; + switch (map_element_get_type(element)) { + case MAP_ELEMENT_TYPE_SURFACE: + element->base_height = 2; + element->clearance_height = 2; + element->properties.surface.slope = 0; + element->properties.surface.terrain = 0; + element->properties.surface.grass_length = GRASS_LENGTH_CLEAR_0; + element->properties.surface.ownership = 0; + // Because this element is not completely removed, the pointer must be updated manually + // The rest of the elements are removed from the array, so the pointer doesn't need to be updated. + (*elementPtr)++; + break; + case MAP_ELEMENT_TYPE_ENTRANCE: + viewport_interaction_remove_park_entrance(element, x, y); + break; + case MAP_ELEMENT_TYPE_WALL: + gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; + game_do_command( + x, + GAME_COMMAND_FLAG_APPLY, + y, + (element->type & MAP_ELEMENT_DIRECTION_MASK) | (element->base_height << 8), + GAME_COMMAND_REMOVE_WALL, + 0, + 0 + ); + break; + case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: + gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; + game_do_command( + x, + (GAME_COMMAND_FLAG_APPLY) | ((element->type & MAP_ELEMENT_DIRECTION_MASK) << 8), + y, + (element->base_height) | (((element->properties.scenerymultiple.type >> 8) >> 2) << 8), + GAME_COMMAND_REMOVE_LARGE_SCENERY, + 0, + 0 + ); + break; + case MAP_ELEMENT_TYPE_BANNER: + gGameCommandErrorTitle = STR_CANT_REMOVE_THIS; + game_do_command( + x, + GAME_COMMAND_FLAG_APPLY, + y, + (element->base_height) | ((element->properties.banner.position & 3) << 8), + GAME_COMMAND_REMOVE_BANNER, + 0, + 0 + ); + break; + default: + map_element_remove(element); + break; + } } /** @@ -3985,142 +3985,142 @@ static void clear_element_at(sint32 x, sint32 y, rct_map_element **elementPtr) */ static void clear_elements_at(sint32 x, sint32 y) { - // Remove the spawn point (if there is one in the current tile) - for (sint32 i = 0; i < MAX_PEEP_SPAWNS; i++) { - rct2_peep_spawn *peepSpawn = &gPeepSpawns[i]; - if (floor2(peepSpawn->x, 32) == x && floor2(peepSpawn->y, 32) == y) { - peepSpawn->x = PEEP_SPAWN_UNDEFINED; - } - } + // Remove the spawn point (if there is one in the current tile) + for (sint32 i = 0; i < MAX_PEEP_SPAWNS; i++) { + rct2_peep_spawn *peepSpawn = &gPeepSpawns[i]; + if (floor2(peepSpawn->x, 32) == x && floor2(peepSpawn->y, 32) == y) { + peepSpawn->x = PEEP_SPAWN_UNDEFINED; + } + } - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - // Remove all elements except the last one - while(!map_element_is_last_for_tile(mapElement)) - clear_element_at(x, y, &mapElement); + // Remove all elements except the last one + while(!map_element_is_last_for_tile(mapElement)) + clear_element_at(x, y, &mapElement); - // Remove the last element - clear_element_at(x, y, &mapElement); + // Remove the last element + clear_element_at(x, y, &mapElement); } sint32 map_get_highest_z(sint32 tileX, sint32 tileY) { - rct_map_element *mapElement; - sint32 z; + rct_map_element *mapElement; + sint32 z; - mapElement = map_get_surface_element_at(tileX, tileY); - if (mapElement == NULL) - return -1; + mapElement = map_get_surface_element_at(tileX, tileY); + if (mapElement == NULL) + return -1; - z = mapElement->base_height * 8; + z = mapElement->base_height * 8; - // Raise z so that is above highest point of land and water on tile - if ((mapElement->properties.surface.slope & 0x0F) != 0) - z += 16; - if ((mapElement->properties.surface.slope & 0x10) != 0) - z += 16; + // Raise z so that is above highest point of land and water on tile + if ((mapElement->properties.surface.slope & 0x0F) != 0) + z += 16; + if ((mapElement->properties.surface.slope & 0x10) != 0) + z += 16; - z = max(z, (mapElement->properties.surface.terrain & 0x1F) * 16); - return z; + z = max(z, (mapElement->properties.surface.terrain & 0x1F) * 16); + return z; } bool map_element_is_underground(rct_map_element *mapElement) { - do { - mapElement++; - if (map_element_is_last_for_tile(mapElement - 1)) - return false; - } while (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SURFACE); - return true; + do { + mapElement++; + if (map_element_is_last_for_tile(mapElement - 1)) + return false; + } while (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SURFACE); + return true; } rct_map_element *map_get_large_scenery_segment(sint32 x, sint32 y, sint32 z, sint32 direction, sint32 sequence) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - if (mapElement == NULL) - { - return NULL; - } - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) - continue; - if (mapElement->base_height != z) - continue; - if ((mapElement->properties.scenerymultiple.type >> 10) != sequence) - continue; - if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != direction) - continue; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + if (mapElement == NULL) + { + return NULL; + } + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) + continue; + if (mapElement->base_height != z) + continue; + if ((mapElement->properties.scenerymultiple.type >> 10) != sequence) + continue; + if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != direction) + continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); + return NULL; } rct_map_element *map_get_park_entrance_element_at(sint32 x, sint32 y, sint32 z, bool ghost) { - rct_map_element* mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) - continue; + rct_map_element* mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) + continue; - if (mapElement->base_height != z) - continue; + if (mapElement->base_height != z) + continue; - if (mapElement->properties.entrance.type != ENTRANCE_TYPE_PARK_ENTRANCE) - continue; + if (mapElement->properties.entrance.type != ENTRANCE_TYPE_PARK_ENTRANCE) + continue; - if ((ghost == false) && (mapElement->flags & MAP_ELEMENT_FLAG_GHOST)) - continue; + if ((ghost == false) && (mapElement->flags & MAP_ELEMENT_FLAG_GHOST)) + continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); + return NULL; } rct_map_element *map_get_small_scenery_element_at(sint32 x, sint32 y, sint32 z, sint32 type, uint8 quadrant) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY) - continue; - if (mapElement->type >> 6 != quadrant) - continue; - if (mapElement->base_height != z) - continue; - if (mapElement->properties.scenery.type != type) - continue; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY) + continue; + if (mapElement->type >> 6 != quadrant) + continue; + if (mapElement->base_height != z) + continue; + if (mapElement->properties.scenery.type != type) + continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); + return NULL; } bool map_large_scenery_get_origin( - sint32 x, sint32 y, sint32 z, sint32 direction, sint32 sequence, - sint32 *outX, sint32 *outY, sint32 *outZ, rct_map_element** outElement + sint32 x, sint32 y, sint32 z, sint32 direction, sint32 sequence, + sint32 *outX, sint32 *outY, sint32 *outZ, rct_map_element** outElement ) { - rct_map_element *mapElement; - rct_scenery_entry *sceneryEntry; - rct_large_scenery_tile *tile; - sint16 offsetX, offsetY; + rct_map_element *mapElement; + rct_scenery_entry *sceneryEntry; + rct_large_scenery_tile *tile; + sint16 offsetX, offsetY; - mapElement = map_get_large_scenery_segment(x, y, z, direction, sequence); - if (mapElement == NULL) - return false; + mapElement = map_get_large_scenery_segment(x, y, z, direction, sequence); + if (mapElement == NULL) + return false; - sceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); - tile = &sceneryEntry->large_scenery.tiles[sequence]; + sceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); + tile = &sceneryEntry->large_scenery.tiles[sequence]; - offsetX = tile->x_offset; - offsetY = tile->y_offset; - rotate_map_coordinates(&offsetX, &offsetY, direction); + offsetX = tile->x_offset; + offsetY = tile->y_offset; + rotate_map_coordinates(&offsetX, &offsetY, direction); - *outX = x - offsetX; - *outY = y - offsetY; - *outZ = (z * 8) - tile->z_offset; - if (outElement != NULL) - *outElement = mapElement; - return true; + *outX = x - offsetX; + *outY = y - offsetY; + *outZ = (z * 8) - tile->z_offset; + if (outElement != NULL) + *outElement = mapElement; + return true; } /** @@ -4129,118 +4129,118 @@ bool map_large_scenery_get_origin( */ bool sign_set_colour(sint32 x, sint32 y, sint32 z, sint32 direction, sint32 sequence, uint8 mainColour, uint8 textColour) { - rct_map_element *mapElement; - rct_scenery_entry *sceneryEntry; - rct_large_scenery_tile *sceneryTiles, *tile; - sint16 offsetX, offsetY; - sint32 x0, y0, z0; + rct_map_element *mapElement; + rct_scenery_entry *sceneryEntry; + rct_large_scenery_tile *sceneryTiles, *tile; + sint16 offsetX, offsetY; + sint32 x0, y0, z0; - if (!map_large_scenery_get_origin(x, y, z, direction, sequence, &x0, &y0, &z0, &mapElement)) { - return false; - } + if (!map_large_scenery_get_origin(x, y, z, direction, sequence, &x0, &y0, &z0, &mapElement)) { + return false; + } - sceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); - sceneryTiles = sceneryEntry->large_scenery.tiles; + sceneryEntry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); + sceneryTiles = sceneryEntry->large_scenery.tiles; - // Iterate through each tile of the large scenery element - sequence = 0; - for (tile = sceneryTiles; tile->x_offset != -1; tile++, sequence++) { - offsetX = tile->x_offset; - offsetY = tile->y_offset; - rotate_map_coordinates(&offsetX, &offsetY, direction); + // Iterate through each tile of the large scenery element + sequence = 0; + for (tile = sceneryTiles; tile->x_offset != -1; tile++, sequence++) { + offsetX = tile->x_offset; + offsetY = tile->y_offset; + rotate_map_coordinates(&offsetX, &offsetY, direction); - x = x0 + offsetX; - y = y0 + offsetY; - z = (z0 + tile->z_offset) / 8; - mapElement = map_get_large_scenery_segment(x, y, z, direction, sequence); - if (mapElement != NULL) { - mapElement->properties.scenerymultiple.colour[0] &= 0xE0; - mapElement->properties.scenerymultiple.colour[1] &= 0xE0; - mapElement->properties.scenerymultiple.colour[0] |= mainColour; - mapElement->properties.scenerymultiple.colour[1] |= textColour; + x = x0 + offsetX; + y = y0 + offsetY; + z = (z0 + tile->z_offset) / 8; + mapElement = map_get_large_scenery_segment(x, y, z, direction, sequence); + if (mapElement != NULL) { + mapElement->properties.scenerymultiple.colour[0] &= 0xE0; + mapElement->properties.scenerymultiple.colour[1] &= 0xE0; + mapElement->properties.scenerymultiple.colour[0] |= mainColour; + mapElement->properties.scenerymultiple.colour[1] |= textColour; - map_invalidate_tile(x, y, mapElement->base_height * 8 , mapElement->clearance_height * 8); - } - } + map_invalidate_tile(x, y, mapElement->base_height * 8 , mapElement->clearance_height * 8); + } + } - return true; + return true; } static void translate_3d_to_2d(sint32 rotation, sint32 *x, sint32 *y) { - sint32 rx, ry; + sint32 rx, ry; - switch (rotation & 3) { - default: - case 0: - rx = (*y) - (*x); - ry = (*x) + (*y); - break; - case 1: - rx = -(*x) - (*y); - ry = (*y) - (*x); - break; - case 2: - rx = (*x) - (*y); - ry = -(*x) - (*y); - break; - case 3: - rx = (*x) + (*y); - ry = (*x) - (*y); - break; - } - ry /= 2; + switch (rotation & 3) { + default: + case 0: + rx = (*y) - (*x); + ry = (*x) + (*y); + break; + case 1: + rx = -(*x) - (*y); + ry = (*y) - (*x); + break; + case 2: + rx = (*x) - (*y); + ry = -(*x) - (*y); + break; + case 3: + rx = (*x) + (*y); + ry = (*x) - (*y); + break; + } + ry /= 2; - *x = rx; - *y = ry; + *x = rx; + *y = ry; } rct_xy32 translate_3d_to_2d_with_z(sint32 rotation, rct_xyz32 pos) { - rct_xy32 result; - switch (rotation & 3) { - default: - case 0: - result.x = pos.y - pos.x; - result.y = (pos.x + pos.y) / 2 - pos.z; - break; - case 1: - result.x = -pos.x - pos.y; - result.y = (pos.y - pos.x) / 2 - pos.z; - break; - case 2: - result.x = pos.x - pos.y; - result.y = (-pos.x - pos.y) / 2 - pos.z; - break; - case 3: - result.x = pos.x + pos.y; - result.y = (pos.x - pos.y) / 2 - pos.z; - break; - } - return result; + rct_xy32 result; + switch (rotation & 3) { + default: + case 0: + result.x = pos.y - pos.x; + result.y = (pos.x + pos.y) / 2 - pos.z; + break; + case 1: + result.x = -pos.x - pos.y; + result.y = (pos.y - pos.x) / 2 - pos.z; + break; + case 2: + result.x = pos.x - pos.y; + result.y = (-pos.x - pos.y) / 2 - pos.z; + break; + case 3: + result.x = pos.x + pos.y; + result.y = (pos.x - pos.y) / 2 - pos.z; + break; + } + return result; } static void map_invalidate_tile_under_zoom(sint32 x, sint32 y, sint32 z0, sint32 z1, sint32 maxZoom) { - if (gOpenRCT2Headless) return; + if (gOpenRCT2Headless) return; - sint32 x1, y1, x2, y2; + sint32 x1, y1, x2, y2; - x += 16; - y += 16; - translate_3d_to_2d(get_current_rotation(), &x, &y); + x += 16; + y += 16; + translate_3d_to_2d(get_current_rotation(), &x, &y); - x1 = x - 32; - y1 = y - 32 - z1; - x2 = x + 32; - y2 = y + 32 - z0; + x1 = x - 32; + y1 = y - 32 - z1; + x2 = x + 32; + y2 = y + 32 - z0; - for (sint32 i = 0; i < MAX_VIEWPORT_COUNT; i++) { - rct_viewport *viewport = &g_viewport_list[i]; - if (viewport->width != 0 && (maxZoom == -1 || viewport->zoom <= maxZoom)) { - viewport_invalidate(viewport, x1, y1, x2, y2); - } - } + for (sint32 i = 0; i < MAX_VIEWPORT_COUNT; i++) { + rct_viewport *viewport = &g_viewport_list[i]; + if (viewport->width != 0 && (maxZoom == -1 || viewport->zoom <= maxZoom)) { + viewport_invalidate(viewport, x1, y1, x2, y2); + } + } } /** @@ -4249,7 +4249,7 @@ static void map_invalidate_tile_under_zoom(sint32 x, sint32 y, sint32 z0, sint32 */ void map_invalidate_tile(sint32 x, sint32 y, sint32 z0, sint32 z1) { - map_invalidate_tile_under_zoom(x, y, z0, z1, -1); + map_invalidate_tile_under_zoom(x, y, z0, z1, -1); } /** @@ -4258,7 +4258,7 @@ void map_invalidate_tile(sint32 x, sint32 y, sint32 z0, sint32 z1) */ void map_invalidate_tile_zoom1(sint32 x, sint32 y, sint32 z0, sint32 z1) { - map_invalidate_tile_under_zoom(x, y, z0, z1, 1); + map_invalidate_tile_under_zoom(x, y, z0, z1, 1); } /** @@ -4267,7 +4267,7 @@ void map_invalidate_tile_zoom1(sint32 x, sint32 y, sint32 z0, sint32 z1) */ void map_invalidate_tile_zoom0(sint32 x, sint32 y, sint32 z0, sint32 z1) { - map_invalidate_tile_under_zoom(x, y, z0, z1, 0); + map_invalidate_tile_under_zoom(x, y, z0, z1, 0); } /** @@ -4276,30 +4276,30 @@ void map_invalidate_tile_zoom0(sint32 x, sint32 y, sint32 z0, sint32 z1) */ void map_invalidate_tile_full(sint32 x, sint32 y) { - map_invalidate_tile(x, y, 0, 2080); + map_invalidate_tile(x, y, 0, 2080); } void map_invalidate_element(sint32 x, sint32 y, rct_map_element *mapElement) { - map_invalidate_tile(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); + map_invalidate_tile(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); } sint32 map_get_tile_side(sint32 mapX, sint32 mapY) { - sint32 subMapX = mapX & (32 - 1); - sint32 subMapY = mapY & (32 - 1); - return (subMapX < subMapY) ? - ((subMapX + subMapY) < 32 ? 0 : 1): - ((subMapX + subMapY) < 32 ? 3 : 2); + sint32 subMapX = mapX & (32 - 1); + sint32 subMapY = mapY & (32 - 1); + return (subMapX < subMapY) ? + ((subMapX + subMapY) < 32 ? 0 : 1): + ((subMapX + subMapY) < 32 ? 3 : 2); } sint32 map_get_tile_quadrant(sint32 mapX, sint32 mapY) { - sint32 subMapX = mapX & (32 - 1); - sint32 subMapY = mapY & (32 - 1); - return (subMapX > 16) ? - (subMapY < 16 ? 1 : 0): - (subMapY < 16 ? 2 : 3); + sint32 subMapX = mapX & (32 - 1); + sint32 subMapY = mapY & (32 - 1); + return (subMapX > 16) ? + (subMapY < 16 ? 1 : 0): + (subMapY < 16 ? 2 : 3); } /** @@ -4307,357 +4307,357 @@ sint32 map_get_tile_quadrant(sint32 mapX, sint32 mapY) * rct2: 0x00693BFF */ bool map_surface_is_blocked(sint16 x, sint16 y){ - rct_map_element *mapElement; - if (x >= 8192 || y >= 8192) - return true; + rct_map_element *mapElement; + if (x >= 8192 || y >= 8192) + return true; - mapElement = map_get_surface_element_at(x / 32, y / 32); + mapElement = map_get_surface_element_at(x / 32, y / 32); - if (mapElement == NULL) { - return true; - } + if (mapElement == NULL) { + return true; + } - sint16 water_height = mapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; - water_height *= 2; - if (water_height > mapElement->base_height) - return true; + sint16 water_height = mapElement->properties.surface.terrain & MAP_ELEMENT_WATER_HEIGHT_MASK; + water_height *= 2; + if (water_height > mapElement->base_height) + return true; - sint16 base_z = mapElement->base_height; - sint16 clear_z = mapElement->base_height + 2; - if (mapElement->properties.surface.slope & (1 << 4)) - clear_z += 2; + sint16 base_z = mapElement->base_height; + sint16 clear_z = mapElement->base_height + 2; + if (mapElement->properties.surface.slope & (1 << 4)) + clear_z += 2; - while (!map_element_is_last_for_tile(mapElement++)){ - if (clear_z >= mapElement->clearance_height) - continue; + while (!map_element_is_last_for_tile(mapElement++)){ + if (clear_z >= mapElement->clearance_height) + continue; - if (base_z < mapElement->base_height) - continue; + if (base_z < mapElement->base_height) + continue; - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH || - map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_WALL) - continue; + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH || + map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_WALL) + continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY) - return true; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY) + return true; - rct_scenery_entry* scenery = get_small_scenery_entry(mapElement->properties.scenery.type); - if (scenery->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE) - return true; - } - return false; + rct_scenery_entry* scenery = get_small_scenery_entry(mapElement->properties.scenery.type); + if (scenery->small_scenery.flags & SMALL_SCENERY_FLAG_FULL_TILE) + return true; + } + return false; } /* Clears all map elements, to be used before generating a new map */ void map_clear_all_elements() { - for (sint32 y = 0; y < (MAXIMUM_MAP_SIZE_TECHNICAL * 32); y += 32) { - for (sint32 x = 0; x < (MAXIMUM_MAP_SIZE_TECHNICAL * 32); x += 32) { - clear_elements_at(x, y); - } - } + for (sint32 y = 0; y < (MAXIMUM_MAP_SIZE_TECHNICAL * 32); y += 32) { + for (sint32 x = 0; x < (MAXIMUM_MAP_SIZE_TECHNICAL * 32); x += 32) { + clear_elements_at(x, y); + } + } } void game_command_set_sign_name(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - static char newName[128]; + static char newName[128]; - if ((*ecx >= MAX_BANNERS) || (*ecx < 0)) - { - log_warning("Invalid game command for setting sign name, banner id = %d", *ecx); - *ebx = MONEY32_UNDEFINED; - return; - } - rct_banner* banner = &gBanners[*ecx]; - sint32 x = banner->x << 5; - sint32 y = banner->y << 5; + if ((*ecx >= MAX_BANNERS) || (*ecx < 0)) + { + log_warning("Invalid game command for setting sign name, banner id = %d", *ecx); + *ebx = MONEY32_UNDEFINED; + return; + } + rct_banner* banner = &gBanners[*ecx]; + sint32 x = banner->x << 5; + sint32 y = banner->y << 5; - sint32 nameChunkIndex = *eax & 0xFFFF; + sint32 nameChunkIndex = *eax & 0xFFFF; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS; - sint32 nameChunkOffset = nameChunkIndex - 1; - if (nameChunkOffset < 0) - nameChunkOffset = 2; - nameChunkOffset *= 12; - nameChunkOffset = min(nameChunkOffset, countof(newName) - 12); - memcpy(newName + nameChunkOffset + 0, edx, 4); - memcpy(newName + nameChunkOffset + 4, ebp, 4); - memcpy(newName + nameChunkOffset + 8, edi, 4); + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS; + sint32 nameChunkOffset = nameChunkIndex - 1; + if (nameChunkOffset < 0) + nameChunkOffset = 2; + nameChunkOffset *= 12; + nameChunkOffset = min(nameChunkOffset, countof(newName) - 12); + memcpy(newName + nameChunkOffset + 0, edx, 4); + memcpy(newName + nameChunkOffset + 4, ebp, 4); + memcpy(newName + nameChunkOffset + 8, edi, 4); - if (nameChunkIndex != 0) { - *ebx = 0; - return; - } + if (nameChunkIndex != 0) { + *ebx = 0; + return; + } - if (!(*ebx & GAME_COMMAND_FLAG_APPLY)) { - *ebx = 0; - return; - } + if (!(*ebx & GAME_COMMAND_FLAG_APPLY)) { + *ebx = 0; + return; + } - if (newName[0] != 0) { - rct_string_id string_id = user_string_allocate(USER_STRING_DUPLICATION_PERMITTED, newName); - if (string_id != 0) { - rct_string_id prev_string_id = banner->string_idx; - banner->string_idx = string_id; - user_string_free(prev_string_id); + if (newName[0] != 0) { + rct_string_id string_id = user_string_allocate(USER_STRING_DUPLICATION_PERMITTED, newName); + if (string_id != 0) { + rct_string_id prev_string_id = banner->string_idx; + banner->string_idx = string_id; + user_string_free(prev_string_id); - banner->flags &= ~(BANNER_FLAG_LINKED_TO_RIDE); - gfx_invalidate_screen(); - } else { - gGameCommandErrorText = STR_ERR_CANT_SET_BANNER_TEXT; - *ebx = MONEY32_UNDEFINED; - return; - } - } - else{ - sint32 rideIndex = banner_get_closest_ride_index(x, y, 16); - if (rideIndex == -1) { - *ebx = 0; - return; - } + banner->flags &= ~(BANNER_FLAG_LINKED_TO_RIDE); + gfx_invalidate_screen(); + } else { + gGameCommandErrorText = STR_ERR_CANT_SET_BANNER_TEXT; + *ebx = MONEY32_UNDEFINED; + return; + } + } + else{ + sint32 rideIndex = banner_get_closest_ride_index(x, y, 16); + if (rideIndex == -1) { + *ebx = 0; + return; + } - banner->colour = rideIndex; - banner->flags |= BANNER_FLAG_LINKED_TO_RIDE; + banner->colour = rideIndex; + banner->flags |= BANNER_FLAG_LINKED_TO_RIDE; - rct_string_id prev_string_id = banner->string_idx; - banner->string_idx = STR_DEFAULT_SIGN; - user_string_free(prev_string_id); - gfx_invalidate_screen(); - } + rct_string_id prev_string_id = banner->string_idx; + banner->string_idx = STR_DEFAULT_SIGN; + user_string_free(prev_string_id); + gfx_invalidate_screen(); + } - *ebx = 0; + *ebx = 0; } void game_command_set_sign_style(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - uint8 bannerId = *ecx & 0xFF; - if (bannerId > countof(gBanners)) { - log_warning("Invalid game command for setting sign style, banner id = %d", bannerId); - *ebx = MONEY32_UNDEFINED; - return; - } - rct_banner *banner = &gBanners[bannerId]; - sint32 x = banner->x << 5; - sint32 y = banner->y << 5; + uint8 bannerId = *ecx & 0xFF; + if (bannerId > countof(gBanners)) { + log_warning("Invalid game command for setting sign style, banner id = %d", bannerId); + *ebx = MONEY32_UNDEFINED; + return; + } + rct_banner *banner = &gBanners[bannerId]; + sint32 x = banner->x << 5; + sint32 y = banner->y << 5; - uint8 mainColour = (uint8)*edx; - uint8 textColour = (uint8)*edi; + uint8 mainColour = (uint8)*edx; + uint8 textColour = (uint8)*edi; - if (*ebp == 0) { // small sign + if (*ebp == 0) { // small sign - rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); - bool wall_found = false; - do{ - if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_WALL) - continue; + rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); + bool wall_found = false; + do{ + if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_WALL) + continue; - rct_scenery_entry* scenery_entry = get_wall_entry(map_element->properties.wall.type); - if (scenery_entry->wall.scrolling_mode == 0xFF) - continue; - if (map_element->properties.wall.banner_index != bannerId) - continue; - wall_found = true; - break; - } while (!map_element_is_last_for_tile(map_element++)); + rct_scenery_entry* scenery_entry = get_wall_entry(map_element->properties.wall.type); + if (scenery_entry->wall.scrolling_mode == 0xFF) + continue; + if (map_element->properties.wall.banner_index != bannerId) + continue; + wall_found = true; + break; + } while (!map_element_is_last_for_tile(map_element++)); - if (wall_found == false) { - *ebx = MONEY32_UNDEFINED; - return; - } + if (wall_found == false) { + *ebx = MONEY32_UNDEFINED; + return; + } - if (!(*ebx & GAME_COMMAND_FLAG_APPLY)) { - *ebx = 0; - return; - } - map_element->properties.wall.colour_1 = mainColour; - wall_element_set_secondary_colour(map_element, textColour); + if (!(*ebx & GAME_COMMAND_FLAG_APPLY)) { + *ebx = 0; + return; + } + map_element->properties.wall.colour_1 = mainColour; + wall_element_set_secondary_colour(map_element, textColour); - map_invalidate_tile(x, y, map_element->base_height * 8, map_element->clearance_height * 8); - } else { // large sign - rct_map_element *mapElement = banner_get_map_element(bannerId); - if (mapElement == NULL || map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { - gGameCommandErrorText = STR_ERR_CANT_SET_BANNER_TEXT; - *ebx = MONEY32_UNDEFINED; - return; - } + map_invalidate_tile(x, y, map_element->base_height * 8, map_element->clearance_height * 8); + } else { // large sign + rct_map_element *mapElement = banner_get_map_element(bannerId); + if (mapElement == NULL || map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) { + gGameCommandErrorText = STR_ERR_CANT_SET_BANNER_TEXT; + *ebx = MONEY32_UNDEFINED; + return; + } - if (!(*ebx & GAME_COMMAND_FLAG_APPLY)) { - *ebx = 0; - return; - } + if (!(*ebx & GAME_COMMAND_FLAG_APPLY)) { + *ebx = 0; + return; + } - if (!sign_set_colour( - banner->x * 32, - banner->y * 32, - mapElement->base_height, - mapElement->type & 3, - mapElement->properties.scenerymultiple.type >> 10, - mainColour, - textColour - )) { - *ebx = MONEY32_UNDEFINED; - return; - } - } + if (!sign_set_colour( + banner->x * 32, + banner->y * 32, + mapElement->base_height, + mapElement->type & 3, + mapElement->properties.scenerymultiple.type >> 10, + mainColour, + textColour + )) { + *ebx = MONEY32_UNDEFINED; + return; + } + } - rct_window* w = window_bring_to_front_by_number(WC_BANNER, *ecx); - if (w) { - window_invalidate(w); - } + rct_window* w = window_bring_to_front_by_number(WC_BANNER, *ecx); + if (w) { + window_invalidate(w); + } - *ebx = 0; + *ebx = 0; } void game_command_modify_tile(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - const sint32 flags = *ebx; - const sint32 x = *ecx & 0xFF; - const sint32 y = (*ecx >> 8) & 0xFF; - const tile_inspector_instruction instruction = *eax; + const sint32 flags = *ebx; + const sint32 x = *ecx & 0xFF; + const sint32 y = (*ecx >> 8) & 0xFF; + const tile_inspector_instruction instruction = *eax; - switch (instruction) - { - case TILE_INSPECTOR_ANY_REMOVE: - { - const sint16 elementIndex = *edx; - *ebx = tile_inspector_remove_element_at(x, y, elementIndex, flags); - break; - } - case TILE_INSPECTOR_ANY_SWAP: - { - const sint32 firstIndex = *edx; - const sint32 secondIndex = *edi; - *ebx = tile_inspector_swap_elements_at(x, y, firstIndex, secondIndex, flags); - break; - } - case TILE_INSPECTOR_ANY_INSERT_CORRUPT: - { - const sint16 elementIndex = *edx; - *ebx = tile_inspector_insert_corrupt_at(x, y, elementIndex, flags); - break; - } - case TILE_INSPECTOR_ANY_ROTATE: - { - const sint16 elementIndex = *edx; - *ebx = tile_inspector_rotate_element_at(x, y, elementIndex, flags); - break; - } - case TILE_INSPECTOR_ANY_PASTE: - { - rct_map_element elementToPaste; - const sint32 data[] = { *edx, *edi }; - assert_struct_size(data, sizeof(elementToPaste)); - memcpy(&elementToPaste, data, 8); - *ebx = tile_inspector_paste_element_at(x, y, elementToPaste, flags); - break; - } - case TILE_INSPECTOR_ANY_SORT: - { - *ebx = tile_inspector_sort_elements_at(x, y, flags); - break; - } - case TILE_INSPECTOR_ANY_BASE_HEIGHT_OFFSET: - { - const sint16 elementIndex = *edx; - const sint8 heightOffset = *edi; - *ebx = tile_inspector_any_base_height_offset(x, y, elementIndex, heightOffset, flags); - break; - } - case TILE_INSPECTOR_SURFACE_SHOW_PARK_FENCES: - { - const bool showFences = *edx; - *ebx = tile_inspector_surface_show_park_fences(x, y, showFences, flags); - break; - } - case TILE_INSPECTOR_SURFACE_TOGGLE_CORNER: - { - const sint32 cornerIndex = *edx; - *ebx = tile_inspector_surface_toggle_corner(x, y, cornerIndex, flags); - break; - } - case TILE_INSPECTOR_SURFACE_TOGGLE_DIAGONAL: - { - *ebx = tile_inspector_surface_toggle_diagonal(x, y, flags); - break; - } - case TILE_INSPECTOR_PATH_SET_SLOPE: - { - const sint32 elementIndex = *edx; - const bool sloped = *edi; - *ebx = tile_inspector_path_set_sloped(x, y, elementIndex, sloped, flags); - break; - } - case TILE_INSPECTOR_PATH_TOGGLE_EDGE: - { - const sint32 elementIndex = *edx; - const sint32 edgeIndex = *edi; - *ebx = tile_inspector_path_toggle_edge(x, y, elementIndex, edgeIndex, flags); - break; - } - case TILE_INSPECTOR_WALL_SET_SLOPE: - { - const sint32 elementIndex = *edx; - const sint32 slopeValue = *edi; - *ebx = tile_inspector_wall_set_slope(x, y, elementIndex, slopeValue, flags); - break; - } - case TILE_INSPECTOR_TRACK_BASE_HEIGHT_OFFSET: - { - const sint32 elementIndex = *edx; - const sint8 heightOffset = *edi; - *ebx = tile_inspector_track_base_height_offset(x, y, elementIndex, heightOffset, flags); - break; - } - case TILE_INSPECTOR_TRACK_SET_CHAIN: - { - const sint32 elementIndex = *edx; - const bool entireTrackBlock = *edi; - const bool setChain = *ebp; - *ebx = tile_inspector_track_set_chain(x, y, elementIndex, entireTrackBlock, setChain, flags); - break; - } - case TILE_INSPECTOR_SCENERY_SET_QUARTER_LOCATION: - { - const sint32 elementIndex = *edx; - const sint32 quarterIndex = *edi; - *ebx = tile_inspector_scenery_set_quarter_location(x, y, elementIndex, quarterIndex, flags); - break; - } - case TILE_INSPECTOR_SCENERY_SET_QUARTER_COLLISION: - { - const sint32 elementIndex = *edx; - const sint32 quarterIndex = *edi; - *ebx = tile_inspector_scenery_set_quarter_collision(x, y, elementIndex, quarterIndex, flags); - break; - } - case TILE_INSPECTOR_BANNER_TOGGLE_BLOCKING_EDGE: - { - const sint32 elementIndex = *edx; - const sint32 edgeIndex = *edi; - *ebx = tile_inspector_banner_toggle_blocking_edge(x, y, elementIndex, edgeIndex, flags); - break; - } - case TILE_INSPECTOR_CORRUPT_CLAMP: - { - const sint32 elementIndex = *edx; - *ebx = tile_inspector_corrupt_clamp(x, y, elementIndex, flags); - break; - } - default: - log_error("invalid instruction"); - *ebx = MONEY32_UNDEFINED; - break; - } + switch (instruction) + { + case TILE_INSPECTOR_ANY_REMOVE: + { + const sint16 elementIndex = *edx; + *ebx = tile_inspector_remove_element_at(x, y, elementIndex, flags); + break; + } + case TILE_INSPECTOR_ANY_SWAP: + { + const sint32 firstIndex = *edx; + const sint32 secondIndex = *edi; + *ebx = tile_inspector_swap_elements_at(x, y, firstIndex, secondIndex, flags); + break; + } + case TILE_INSPECTOR_ANY_INSERT_CORRUPT: + { + const sint16 elementIndex = *edx; + *ebx = tile_inspector_insert_corrupt_at(x, y, elementIndex, flags); + break; + } + case TILE_INSPECTOR_ANY_ROTATE: + { + const sint16 elementIndex = *edx; + *ebx = tile_inspector_rotate_element_at(x, y, elementIndex, flags); + break; + } + case TILE_INSPECTOR_ANY_PASTE: + { + rct_map_element elementToPaste; + const sint32 data[] = { *edx, *edi }; + assert_struct_size(data, sizeof(elementToPaste)); + memcpy(&elementToPaste, data, 8); + *ebx = tile_inspector_paste_element_at(x, y, elementToPaste, flags); + break; + } + case TILE_INSPECTOR_ANY_SORT: + { + *ebx = tile_inspector_sort_elements_at(x, y, flags); + break; + } + case TILE_INSPECTOR_ANY_BASE_HEIGHT_OFFSET: + { + const sint16 elementIndex = *edx; + const sint8 heightOffset = *edi; + *ebx = tile_inspector_any_base_height_offset(x, y, elementIndex, heightOffset, flags); + break; + } + case TILE_INSPECTOR_SURFACE_SHOW_PARK_FENCES: + { + const bool showFences = *edx; + *ebx = tile_inspector_surface_show_park_fences(x, y, showFences, flags); + break; + } + case TILE_INSPECTOR_SURFACE_TOGGLE_CORNER: + { + const sint32 cornerIndex = *edx; + *ebx = tile_inspector_surface_toggle_corner(x, y, cornerIndex, flags); + break; + } + case TILE_INSPECTOR_SURFACE_TOGGLE_DIAGONAL: + { + *ebx = tile_inspector_surface_toggle_diagonal(x, y, flags); + break; + } + case TILE_INSPECTOR_PATH_SET_SLOPE: + { + const sint32 elementIndex = *edx; + const bool sloped = *edi; + *ebx = tile_inspector_path_set_sloped(x, y, elementIndex, sloped, flags); + break; + } + case TILE_INSPECTOR_PATH_TOGGLE_EDGE: + { + const sint32 elementIndex = *edx; + const sint32 edgeIndex = *edi; + *ebx = tile_inspector_path_toggle_edge(x, y, elementIndex, edgeIndex, flags); + break; + } + case TILE_INSPECTOR_WALL_SET_SLOPE: + { + const sint32 elementIndex = *edx; + const sint32 slopeValue = *edi; + *ebx = tile_inspector_wall_set_slope(x, y, elementIndex, slopeValue, flags); + break; + } + case TILE_INSPECTOR_TRACK_BASE_HEIGHT_OFFSET: + { + const sint32 elementIndex = *edx; + const sint8 heightOffset = *edi; + *ebx = tile_inspector_track_base_height_offset(x, y, elementIndex, heightOffset, flags); + break; + } + case TILE_INSPECTOR_TRACK_SET_CHAIN: + { + const sint32 elementIndex = *edx; + const bool entireTrackBlock = *edi; + const bool setChain = *ebp; + *ebx = tile_inspector_track_set_chain(x, y, elementIndex, entireTrackBlock, setChain, flags); + break; + } + case TILE_INSPECTOR_SCENERY_SET_QUARTER_LOCATION: + { + const sint32 elementIndex = *edx; + const sint32 quarterIndex = *edi; + *ebx = tile_inspector_scenery_set_quarter_location(x, y, elementIndex, quarterIndex, flags); + break; + } + case TILE_INSPECTOR_SCENERY_SET_QUARTER_COLLISION: + { + const sint32 elementIndex = *edx; + const sint32 quarterIndex = *edi; + *ebx = tile_inspector_scenery_set_quarter_collision(x, y, elementIndex, quarterIndex, flags); + break; + } + case TILE_INSPECTOR_BANNER_TOGGLE_BLOCKING_EDGE: + { + const sint32 elementIndex = *edx; + const sint32 edgeIndex = *edi; + *ebx = tile_inspector_banner_toggle_blocking_edge(x, y, elementIndex, edgeIndex, flags); + break; + } + case TILE_INSPECTOR_CORRUPT_CLAMP: + { + const sint32 elementIndex = *edx; + *ebx = tile_inspector_corrupt_clamp(x, y, elementIndex, flags); + break; + } + default: + log_error("invalid instruction"); + *ebx = MONEY32_UNDEFINED; + break; + } - if (flags & GAME_COMMAND_FLAG_APPLY && - gGameCommandNestLevel == 1 && - !(flags & GAME_COMMAND_FLAG_GHOST) && - *ebx != MONEY32_UNDEFINED) - { - rct_xyz16 coord; - coord.x = (x << 5) + 16; - coord.y = (y << 5) + 16; - coord.z = map_element_height(coord.x, coord.y); - network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); - } + if (flags & GAME_COMMAND_FLAG_APPLY && + gGameCommandNestLevel == 1 && + !(flags & GAME_COMMAND_FLAG_GHOST) && + *ebx != MONEY32_UNDEFINED) + { + rct_xyz16 coord; + coord.x = (x << 5) + 16; + coord.y = (y << 5) + 16; + coord.z = map_element_height(coord.x, coord.y); + network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord); + } } /** @@ -4668,15 +4668,15 @@ void game_command_modify_tile(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx */ rct_map_element *map_get_track_element_at(sint32 x, sint32 y, sint32 z) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (mapElement->base_height != z) continue; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (mapElement->base_height != z) continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } /** @@ -4688,16 +4688,16 @@ rct_map_element *map_get_track_element_at(sint32 x, sint32 y, sint32 z) */ rct_map_element *map_get_track_element_at_of_type(sint32 x, sint32 y, sint32 z, sint32 trackType) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (mapElement->base_height != z) continue; - if (mapElement->properties.track.type != trackType) continue; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (mapElement->base_height != z) continue; + if (mapElement->properties.track.type != trackType) continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } /** @@ -4710,18 +4710,18 @@ rct_map_element *map_get_track_element_at_of_type(sint32 x, sint32 y, sint32 z, */ rct_map_element *map_get_track_element_at_of_type_seq(sint32 x, sint32 y, sint32 z, sint32 trackType, sint32 sequence) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement == NULL) break; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (mapElement->base_height != z) continue; - if (mapElement->properties.track.type != trackType) continue; - if ((mapElement->properties.track.sequence & 0x0F) != sequence) continue; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement == NULL) break; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (mapElement->base_height != z) continue; + if (mapElement->properties.track.type != trackType) continue; + if ((mapElement->properties.track.sequence & 0x0F) != sequence) continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; } /** @@ -4733,17 +4733,17 @@ rct_map_element *map_get_track_element_at_of_type_seq(sint32 x, sint32 y, sint32 * @param ride index */ rct_map_element *map_get_track_element_at_of_type_from_ride(sint32 x, sint32 y, sint32 z, sint32 trackType, sint32 rideIndex) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (mapElement->base_height != z) continue; - if (mapElement->properties.track.ride_index != rideIndex) continue; - if (mapElement->properties.track.type != trackType) continue; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (mapElement->base_height != z) continue; + if (mapElement->properties.track.ride_index != rideIndex) continue; + if (mapElement->properties.track.type != trackType) continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; }; /** @@ -4754,16 +4754,16 @@ rct_map_element *map_get_track_element_at_of_type_from_ride(sint32 x, sint32 y, * @param ride index */ rct_map_element *map_get_track_element_at_from_ride(sint32 x, sint32 y, sint32 z, sint32 rideIndex) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (mapElement->base_height != z) continue; - if (mapElement->properties.track.ride_index != rideIndex) continue; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (mapElement->base_height != z) continue; + if (mapElement->properties.track.ride_index != rideIndex) continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; }; /** @@ -4776,64 +4776,64 @@ rct_map_element *map_get_track_element_at_from_ride(sint32 x, sint32 y, sint32 z */ rct_map_element *map_get_track_element_at_with_direction_from_ride(sint32 x, sint32 y, sint32 z, sint32 direction, sint32 rideIndex) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; - if (mapElement->base_height != z) continue; - if (mapElement->properties.track.ride_index != rideIndex) continue; - if (map_element_get_direction(mapElement) != direction) continue; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) continue; + if (mapElement->base_height != z) continue; + if (mapElement->properties.track.ride_index != rideIndex) continue; + if (map_element_get_direction(mapElement) != direction) continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return NULL; }; void map_offset_with_rotation(sint16 *x, sint16 *y, sint16 offsetX, sint16 offsetY, uint8 rotation) { - switch (rotation & 3) { - case MAP_ELEMENT_DIRECTION_WEST: - *x += offsetX; - *y += offsetY; - break; - case MAP_ELEMENT_DIRECTION_NORTH: - *x += offsetY; - *y -= offsetX; - break; - case MAP_ELEMENT_DIRECTION_EAST: - *x -= offsetX; - *y -= offsetY; - break; - case MAP_ELEMENT_DIRECTION_SOUTH: - *x -= offsetY; - *y += offsetX; - break; - } + switch (rotation & 3) { + case MAP_ELEMENT_DIRECTION_WEST: + *x += offsetX; + *y += offsetY; + break; + case MAP_ELEMENT_DIRECTION_NORTH: + *x += offsetY; + *y -= offsetX; + break; + case MAP_ELEMENT_DIRECTION_EAST: + *x -= offsetX; + *y -= offsetY; + break; + case MAP_ELEMENT_DIRECTION_SOUTH: + *x -= offsetY; + *y += offsetX; + break; + } } rct_map_element *map_get_wall_element_at(sint32 x, sint32 y, sint32 z, sint32 direction) { - rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) - continue; - if (mapElement->base_height != z) - continue; - if (map_element_get_direction(mapElement) != direction) - continue; + rct_map_element *mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) + continue; + if (mapElement->base_height != z) + continue; + if (map_element_get_direction(mapElement) != direction) + continue; - return mapElement; - } while (!map_element_is_last_for_tile(mapElement++)); - return NULL; + return mapElement; + } while (!map_element_is_last_for_tile(mapElement++)); + return NULL; } uint32 map_get_available_peep_spawn_index_list(uint32* peepSpawnIndexList) { - uint32 numSpawns = 0; - for (uint8 i = 0; i < MAX_PEEP_SPAWNS; i++) { - if (gPeepSpawns[i].x != PEEP_SPAWN_UNDEFINED) { - peepSpawnIndexList[numSpawns++] = i; - } - } - return numSpawns; + uint32 numSpawns = 0; + for (uint8 i = 0; i < MAX_PEEP_SPAWNS; i++) { + if (gPeepSpawns[i].x != PEEP_SPAWN_UNDEFINED) { + peepSpawnIndexList[numSpawns++] = i; + } + } + return numSpawns; } diff --git a/src/openrct2/world/map.h b/src/openrct2/world/map.h index b03026eb20..5d9ccbf54e 100644 --- a/src/openrct2/world/map.h +++ b/src/openrct2/world/map.h @@ -21,87 +21,87 @@ #pragma pack(push, 1) typedef struct rct_map_element_surface_properties { - uint8 slope; //4 0xE0 Edge Style, 0x1F Slope - uint8 terrain; //5 0xE0 Terrain Style, 0x1F Water height - uint8 grass_length; //6 - uint8 ownership; //7 + uint8 slope; //4 0xE0 Edge Style, 0x1F Slope + uint8 terrain; //5 0xE0 Terrain Style, 0x1F Water height + uint8 grass_length; //6 + uint8 ownership; //7 } rct_map_element_surface_properties; assert_struct_size(rct_map_element_surface_properties, 4); typedef struct rct_map_element_path_properties { - uint8 type; //4 0xF0 Path type, 0x08 Ride sign, 0x04 Set when path is diagonal, 0x03 Rotation - uint8 additions; //5 - uint8 edges; //6 - union { - uint8 addition_status; //7 - uint8 ride_index; - }; + uint8 type; //4 0xF0 Path type, 0x08 Ride sign, 0x04 Set when path is diagonal, 0x03 Rotation + uint8 additions; //5 + uint8 edges; //6 + union { + uint8 addition_status; //7 + uint8 ride_index; + }; } rct_map_element_path_properties; assert_struct_size(rct_map_element_path_properties, 4); typedef struct rct_map_element_track_properties { - uint8 type; //4 - union{ - struct{ - uint8 sequence; //5 - uint8 colour; //6 - }; - uint16 maze_entry; // 5 - }; - uint8 ride_index; //7 + uint8 type; //4 + union{ + struct{ + uint8 sequence; //5 + uint8 colour; //6 + }; + uint16 maze_entry; // 5 + }; + uint8 ride_index; //7 } rct_map_element_track_properties; assert_struct_size(rct_map_element_track_properties, 4); typedef struct rct_map_element_scenery_properties { - uint8 type; //4 - uint8 age; //5 - uint8 colour_1; //6 - uint8 colour_2; //7 + uint8 type; //4 + uint8 age; //5 + uint8 colour_1; //6 + uint8 colour_2; //7 } rct_map_element_scenery_properties; assert_struct_size(rct_map_element_scenery_properties, 4); typedef struct rct_map_element_entrance_properties { - uint8 type; //4 - uint8 index; //5 - uint8 path_type; //6 - uint8 ride_index; //7 + uint8 type; //4 + uint8 index; //5 + uint8 path_type; //6 + uint8 ride_index; //7 } rct_map_element_entrance_properties; assert_struct_size(rct_map_element_entrance_properties, 4); typedef struct rct_map_element_wall_properties { - uint8 type; //4 - union { - uint8 colour_3; //5 - uint8 banner_index; //5 - }; - uint8 colour_1; //6 0b_2221_1111 2 = colour_2 (uses flags for rest of colour2), 1 = colour_1 - uint8 animation; //7 0b_dfff_ft00 d = direction, f = frame num, t = across track flag (not used) + uint8 type; //4 + union { + uint8 colour_3; //5 + uint8 banner_index; //5 + }; + uint8 colour_1; //6 0b_2221_1111 2 = colour_2 (uses flags for rest of colour2), 1 = colour_1 + uint8 animation; //7 0b_dfff_ft00 d = direction, f = frame num, t = across track flag (not used) } rct_map_element_wall_properties; assert_struct_size(rct_map_element_wall_properties, 4); typedef struct rct_map_element_scenerymultiple_properties { - uint16 type; //4 - uint8 colour[2]; //6 + uint16 type; //4 + uint8 colour[2]; //6 } rct_map_element_scenerymultiple_properties; assert_struct_size(rct_map_element_scenerymultiple_properties, 4); typedef struct rct_map_element_banner_properties { - uint8 index; //4 - uint8 position; //5 - uint8 flags; //6 - uint8 unused; //7 + uint8 index; //4 + uint8 position; //5 + uint8 flags; //6 + uint8 unused; //7 } rct_map_element_banner_properties; assert_struct_size(rct_map_element_banner_properties, 4); typedef union { - rct_map_element_surface_properties surface; - rct_map_element_path_properties path; - rct_map_element_track_properties track; - rct_map_element_scenery_properties scenery; - rct_map_element_entrance_properties entrance; - rct_map_element_wall_properties wall; - rct_map_element_scenerymultiple_properties scenerymultiple; - rct_map_element_banner_properties banner; + rct_map_element_surface_properties surface; + rct_map_element_path_properties path; + rct_map_element_track_properties track; + rct_map_element_scenery_properties scenery; + rct_map_element_entrance_properties entrance; + rct_map_element_wall_properties wall; + rct_map_element_scenerymultiple_properties scenerymultiple; + rct_map_element_banner_properties banner; } rct_map_element_properties; assert_struct_size(rct_map_element_properties, 4); @@ -110,128 +110,128 @@ assert_struct_size(rct_map_element_properties, 4); * size: 0x08 */ typedef struct rct_map_element { - uint8 type; //0 - uint8 flags; //1 - uint8 base_height; //2 - uint8 clearance_height; //3 - rct_map_element_properties properties; + uint8 type; //0 + uint8 flags; //1 + uint8 base_height; //2 + uint8 clearance_height; //3 + rct_map_element_properties properties; } rct_map_element; assert_struct_size(rct_map_element, 8); #pragma pack(pop) enum { - MAP_ELEMENT_QUADRANT_SW, - MAP_ELEMENT_QUADRANT_NW, - MAP_ELEMENT_QUADRANT_NE, - MAP_ELEMENT_QUADRANT_SE + MAP_ELEMENT_QUADRANT_SW, + MAP_ELEMENT_QUADRANT_NW, + MAP_ELEMENT_QUADRANT_NE, + MAP_ELEMENT_QUADRANT_SE }; enum { - MAP_ELEMENT_TYPE_SURFACE = (0 << 2), - MAP_ELEMENT_TYPE_PATH = (1 << 2), - MAP_ELEMENT_TYPE_TRACK = (2 << 2), - MAP_ELEMENT_TYPE_SCENERY = (3 << 2), - MAP_ELEMENT_TYPE_ENTRANCE = (4 << 2), - MAP_ELEMENT_TYPE_WALL = (5 << 2), - MAP_ELEMENT_TYPE_SCENERY_MULTIPLE = (6 << 2), - MAP_ELEMENT_TYPE_BANNER = (7 << 2), - // The corrupt element type is used for skipping drawing other following - // elements on a given tile. - MAP_ELEMENT_TYPE_CORRUPT = (8 << 2), + MAP_ELEMENT_TYPE_SURFACE = (0 << 2), + MAP_ELEMENT_TYPE_PATH = (1 << 2), + MAP_ELEMENT_TYPE_TRACK = (2 << 2), + MAP_ELEMENT_TYPE_SCENERY = (3 << 2), + MAP_ELEMENT_TYPE_ENTRANCE = (4 << 2), + MAP_ELEMENT_TYPE_WALL = (5 << 2), + MAP_ELEMENT_TYPE_SCENERY_MULTIPLE = (6 << 2), + MAP_ELEMENT_TYPE_BANNER = (7 << 2), + // The corrupt element type is used for skipping drawing other following + // elements on a given tile. + MAP_ELEMENT_TYPE_CORRUPT = (8 << 2), }; enum { - MAP_ELEMENT_TYPE_FLAG_HIGHLIGHT = (1 << 6) + MAP_ELEMENT_TYPE_FLAG_HIGHLIGHT = (1 << 6) }; enum { - MAP_ELEMENT_DIRECTION_WEST, - MAP_ELEMENT_DIRECTION_NORTH, - MAP_ELEMENT_DIRECTION_EAST, - MAP_ELEMENT_DIRECTION_SOUTH + MAP_ELEMENT_DIRECTION_WEST, + MAP_ELEMENT_DIRECTION_NORTH, + MAP_ELEMENT_DIRECTION_EAST, + MAP_ELEMENT_DIRECTION_SOUTH }; enum { - MAP_ELEMENT_FLAG_GHOST = (1 << 4), - MAP_ELEMENT_FLAG_BROKEN = (1 << 5), - MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED = (1 << 5), - MAP_ELEMENT_FLAG_CANNOT_REMOVE_TRACK = (1 << 6), - MAP_ELEMENT_FLAG_LAST_TILE = (1 << 7) + MAP_ELEMENT_FLAG_GHOST = (1 << 4), + MAP_ELEMENT_FLAG_BROKEN = (1 << 5), + MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED = (1 << 5), + MAP_ELEMENT_FLAG_CANNOT_REMOVE_TRACK = (1 << 6), + MAP_ELEMENT_FLAG_LAST_TILE = (1 << 7) }; enum { - TERRAIN_GRASS, - TERRAIN_SAND, - TERRAIN_DIRT, - TERRAIN_ROCK, - TERRAIN_MARTIAN, - TERRAIN_CHECKERBOARD, - TERRAIN_GRASS_CLUMPS, - TERRAIN_ICE, - TERRAIN_GRID_RED, - TERRAIN_GRID_YELLOW, - TERRAIN_GRID_BLUE, - TERRAIN_GRID_GREEN, - TERRAIN_SAND_DARK, - TERRAIN_SAND_LIGHT, - TERRAIN_CHECKERBOARD_INVERTED, - TERRAIN_UNDERGROUND_VIEW, + TERRAIN_GRASS, + TERRAIN_SAND, + TERRAIN_DIRT, + TERRAIN_ROCK, + TERRAIN_MARTIAN, + TERRAIN_CHECKERBOARD, + TERRAIN_GRASS_CLUMPS, + TERRAIN_ICE, + TERRAIN_GRID_RED, + TERRAIN_GRID_YELLOW, + TERRAIN_GRID_BLUE, + TERRAIN_GRID_GREEN, + TERRAIN_SAND_DARK, + TERRAIN_SAND_LIGHT, + TERRAIN_CHECKERBOARD_INVERTED, + TERRAIN_UNDERGROUND_VIEW, }; enum { - TERRAIN_EDGE_ROCK, - TERRAIN_EDGE_WOOD_RED, - TERRAIN_EDGE_WOOD_BLACK, - TERRAIN_EDGE_ICE + TERRAIN_EDGE_ROCK, + TERRAIN_EDGE_WOOD_RED, + TERRAIN_EDGE_WOOD_BLACK, + TERRAIN_EDGE_ICE }; enum { - GRASS_LENGTH_MOWED, - GRASS_LENGTH_CLEAR_0, - GRASS_LENGTH_CLEAR_1, - GRASS_LENGTH_CLEAR_2, - GRASS_LENGTH_CLUMPS_0, - GRASS_LENGTH_CLUMPS_1, - GRASS_LENGTH_CLUMPS_2 + GRASS_LENGTH_MOWED, + GRASS_LENGTH_CLEAR_0, + GRASS_LENGTH_CLEAR_1, + GRASS_LENGTH_CLEAR_2, + GRASS_LENGTH_CLUMPS_0, + GRASS_LENGTH_CLUMPS_1, + GRASS_LENGTH_CLUMPS_2 }; enum { - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED = (1 << 4), - OWNERSHIP_OWNED = (1 << 5), - OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE = (1 << 6), - OWNERSHIP_AVAILABLE = (1 << 7) + OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED = (1 << 4), + OWNERSHIP_OWNED = (1 << 5), + OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE = (1 << 6), + OWNERSHIP_AVAILABLE = (1 << 7) }; enum { - PATH_QUEUE, - PATH_TARMAC, - PATH_DIRT, - PATH_CRAZY, - PATH_ROAD, - PATH_TILE + PATH_QUEUE, + PATH_TARMAC, + PATH_DIRT, + PATH_CRAZY, + PATH_ROAD, + PATH_TILE }; enum { - PATH_FLAG_QUEUE_BANNER = 1 << 3 + PATH_FLAG_QUEUE_BANNER = 1 << 3 }; enum { - WALL_ANIMATION_FLAG_ACROSS_TRACK = (1 << 2), - // 3 - 6 animation frame number - WALL_ANIMATION_FLAG_DIRECTION_BACKWARD = (1 << 7), - WALL_ANIMATION_FLAG_ALL_FLAGS = WALL_ANIMATION_FLAG_ACROSS_TRACK | WALL_ANIMATION_FLAG_DIRECTION_BACKWARD + WALL_ANIMATION_FLAG_ACROSS_TRACK = (1 << 2), + // 3 - 6 animation frame number + WALL_ANIMATION_FLAG_DIRECTION_BACKWARD = (1 << 7), + WALL_ANIMATION_FLAG_ALL_FLAGS = WALL_ANIMATION_FLAG_ACROSS_TRACK | WALL_ANIMATION_FLAG_DIRECTION_BACKWARD }; enum { - ENTRANCE_TYPE_RIDE_ENTRANCE, - ENTRANCE_TYPE_RIDE_EXIT, - ENTRANCE_TYPE_PARK_ENTRANCE + ENTRANCE_TYPE_RIDE_ENTRANCE, + ENTRANCE_TYPE_RIDE_EXIT, + ENTRANCE_TYPE_PARK_ENTRANCE }; enum { - ELEMENT_IS_ABOVE_GROUND = 1 << 0, - ELEMENT_IS_UNDERGROUND = 1 << 1, - ELEMENT_IS_UNDERWATER = 1 << 2, + ELEMENT_IS_ABOVE_GROUND = 1 << 0, + ELEMENT_IS_UNDERGROUND = 1 << 1, + ELEMENT_IS_UNDERWATER = 1 << 2, }; #define MAP_ELEMENT_QUADRANT_MASK 0xC0 @@ -265,88 +265,88 @@ enum { #pragma pack(push, 1) typedef struct rct_xy8 { - union { - struct { - uint8 x, y; - }; - uint16 xy; - }; + union { + struct { + uint8 x, y; + }; + uint16 xy; + }; } rct_xy8; assert_struct_size(rct_xy8, 2); typedef struct rct_xyz8 { - uint8 x, y, z; + uint8 x, y, z; } rct_xyz8; assert_struct_size(rct_xyz8, 3); typedef struct rct_xyzd8 { - uint8 x, y, z, direction; + uint8 x, y, z, direction; } rct_xyzd8; assert_struct_size(rct_xyzd8, 4); typedef struct rct_xy16 { - sint16 x, y; + sint16 x, y; } rct_xy16; assert_struct_size(rct_xy16, 4); typedef struct rct_xyz16 { - sint16 x, y, z; + sint16 x, y, z; } rct_xyz16; assert_struct_size(rct_xyz16, 6); typedef struct rct_xyzd16 { - sint16 x, y, z; - uint8 direction; + sint16 x, y, z; + uint8 direction; } rct_xyzd16; assert_struct_size(rct_xyzd16, 7); typedef struct rct_xy32 { - sint32 x, y; + sint32 x, y; } rct_xy32; typedef struct rct_xyz32 { - sint32 x, y, z; + sint32 x, y, z; } rct_xyz32; typedef struct rct_xy_element { - sint32 x, y; - rct_map_element *element; + sint32 x, y; + rct_map_element *element; } rct_xy_element; #ifdef PLATFORM_32BIT assert_struct_size(rct_xy_element, 12); #endif typedef struct rct2_peep_spawn { - uint16 x; - uint16 y; - uint8 z; - uint8 direction; + uint16 x; + uint16 y; + uint8 z; + uint8 direction; } rct2_peep_spawn; assert_struct_size(rct2_peep_spawn, 6); #pragma pack(pop) enum { - MAP_SELECT_FLAG_ENABLE = 1 << 0, - MAP_SELECT_FLAG_ENABLE_CONSTRUCT = 1 << 1, - MAP_SELECT_FLAG_ENABLE_ARROW = 1 << 2, - MAP_SELECT_FLAG_GREEN = 1 << 3, + MAP_SELECT_FLAG_ENABLE = 1 << 0, + MAP_SELECT_FLAG_ENABLE_CONSTRUCT = 1 << 1, + MAP_SELECT_FLAG_ENABLE_ARROW = 1 << 2, + MAP_SELECT_FLAG_GREEN = 1 << 3, }; enum { - MAP_SELECT_TYPE_CORNER_0, - MAP_SELECT_TYPE_CORNER_1, - MAP_SELECT_TYPE_CORNER_2, - MAP_SELECT_TYPE_CORNER_3, - MAP_SELECT_TYPE_FULL, - MAP_SELECT_TYPE_FULL_WATER, - MAP_SELECT_TYPE_QUARTER_0, - MAP_SELECT_TYPE_QUARTER_1, - MAP_SELECT_TYPE_QUARTER_2, - MAP_SELECT_TYPE_QUARTER_3, - MAP_SELECT_TYPE_EDGE_0, - MAP_SELECT_TYPE_EDGE_1, - MAP_SELECT_TYPE_EDGE_2, - MAP_SELECT_TYPE_EDGE_3, + MAP_SELECT_TYPE_CORNER_0, + MAP_SELECT_TYPE_CORNER_1, + MAP_SELECT_TYPE_CORNER_2, + MAP_SELECT_TYPE_CORNER_3, + MAP_SELECT_TYPE_FULL, + MAP_SELECT_TYPE_FULL_WATER, + MAP_SELECT_TYPE_QUARTER_0, + MAP_SELECT_TYPE_QUARTER_1, + MAP_SELECT_TYPE_QUARTER_2, + MAP_SELECT_TYPE_QUARTER_3, + MAP_SELECT_TYPE_EDGE_0, + MAP_SELECT_TYPE_EDGE_1, + MAP_SELECT_TYPE_EDGE_2, + MAP_SELECT_TYPE_EDGE_3, }; extern const rct_xy16 TileDirectionDelta[]; @@ -362,12 +362,12 @@ extern sint16 gMapSize; extern sint16 gMapSizeMaxXY; extern sint16 gMapBaseZ; -extern uint16 gMapSelectFlags; -extern uint16 gMapSelectType; -extern rct_xy16 gMapSelectPositionA; -extern rct_xy16 gMapSelectPositionB; -extern rct_xyz16 gMapSelectArrowPosition; -extern uint8 gMapSelectArrowDirection; +extern uint16 gMapSelectFlags; +extern uint16 gMapSelectType; +extern rct_xy16 gMapSelectPositionA; +extern rct_xy16 gMapSelectPositionB; +extern rct_xyz16 gMapSelectArrowPosition; +extern uint8 gMapSelectArrowDirection; extern uint8 gMapGroundFlags; @@ -498,9 +498,9 @@ void game_command_set_sign_style(sint32* eax, sint32* ebx, sint32* ecx, sint32* void game_command_modify_tile(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp); typedef struct map_element_iterator { - sint32 x; - sint32 y; - rct_map_element *element; + sint32 x; + sint32 y; + rct_map_element *element; } map_element_iterator; #ifdef PLATFORM_32BIT assert_struct_size(map_element_iterator, 12); @@ -539,8 +539,8 @@ void map_clear_all_elements(); rct_map_element *map_get_large_scenery_segment(sint32 x, sint32 y, sint32 z, sint32 direction, sint32 sequence); bool map_large_scenery_get_origin( - sint32 x, sint32 y, sint32 z, sint32 direction, sint32 sequence, - sint32 *outX, sint32 *outY, sint32 *outZ, rct_map_element** outElement + sint32 x, sint32 y, sint32 z, sint32 direction, sint32 sequence, + sint32 *outX, sint32 *outY, sint32 *outZ, rct_map_element** outElement ); void map_offset_with_rotation(sint16 *x, sint16 *y, sint16 offsetX, sint16 offsetY, uint8 rotation); diff --git a/src/openrct2/world/map_animation.c b/src/openrct2/world/map_animation.c index 61c8e58fce..4cee6835b6 100644 --- a/src/openrct2/world/map_animation.c +++ b/src/openrct2/world/map_animation.c @@ -44,31 +44,31 @@ rct_map_animation gAnimatedObjects[MAX_ANIMATED_OBJECTS]; */ void map_animation_create(sint32 type, sint32 x, sint32 y, sint32 z) { - rct_map_animation *aobj = &gAnimatedObjects[0]; - sint32 numAnimatedObjects = gNumMapAnimations; - if (numAnimatedObjects >= MAX_ANIMATED_OBJECTS) { - log_error("Exceeded the maximum number of animations"); - return; - } - for (sint32 i = 0; i < numAnimatedObjects; i++, aobj++) { - if (aobj->x != x) - continue; - if (aobj->y != y) - continue; - if (aobj->baseZ != z) - continue; - if (aobj->type != type) - continue; - // Animation already exists - return; - } + rct_map_animation *aobj = &gAnimatedObjects[0]; + sint32 numAnimatedObjects = gNumMapAnimations; + if (numAnimatedObjects >= MAX_ANIMATED_OBJECTS) { + log_error("Exceeded the maximum number of animations"); + return; + } + for (sint32 i = 0; i < numAnimatedObjects; i++, aobj++) { + if (aobj->x != x) + continue; + if (aobj->y != y) + continue; + if (aobj->baseZ != z) + continue; + if (aobj->type != type) + continue; + // Animation already exists + return; + } - // Create new animation - gNumMapAnimations++; - aobj->type = type; - aobj->x = x; - aobj->y = y; - aobj->baseZ = z; + // Create new animation + gNumMapAnimations++; + aobj->type = type; + aobj->x = x; + aobj->y = y; + aobj->baseZ = z; } /** @@ -77,20 +77,20 @@ void map_animation_create(sint32 type, sint32 x, sint32 y, sint32 z) */ void map_animation_invalidate_all() { - rct_map_animation *aobj = &gAnimatedObjects[0]; - sint32 numAnimatedObjects = gNumMapAnimations; - while (numAnimatedObjects > 0) { - if (map_animation_invalidate(aobj)) { - // Remove animated object - gNumMapAnimations--; - numAnimatedObjects--; - if (numAnimatedObjects > 0) - memmove(aobj, aobj + 1, numAnimatedObjects * sizeof(rct_map_animation)); - } else { - numAnimatedObjects--; - aobj++; - } - } + rct_map_animation *aobj = &gAnimatedObjects[0]; + sint32 numAnimatedObjects = gNumMapAnimations; + while (numAnimatedObjects > 0) { + if (map_animation_invalidate(aobj)) { + // Remove animated object + gNumMapAnimations--; + numAnimatedObjects--; + if (numAnimatedObjects > 0) + memmove(aobj, aobj + 1, numAnimatedObjects * sizeof(rct_map_animation)); + } else { + numAnimatedObjects--; + aobj++; + } + } } /** @@ -98,9 +98,9 @@ void map_animation_invalidate_all() */ static bool map_animation_invalidate(rct_map_animation *obj) { - assert(obj->type < MAP_ANIMATION_TYPE_COUNT); + assert(obj->type < MAP_ANIMATION_TYPE_COUNT); - return _animatedObjectEventHandlers[obj->type](obj->x, obj->y, obj->baseZ); + return _animatedObjectEventHandlers[obj->type](obj->x, obj->y, obj->baseZ); } /** @@ -109,28 +109,28 @@ static bool map_animation_invalidate(rct_map_animation *obj) */ static bool map_animation_invalidate_ride_entrance(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; - rct_ride *ride; - const rct_ride_entrance_definition *entranceDefinition; + rct_map_element *mapElement; + rct_ride *ride; + const rct_ride_entrance_definition *entranceDefinition; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) - continue; - if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_ENTRANCE) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) + continue; + if (mapElement->properties.entrance.type != ENTRANCE_TYPE_RIDE_ENTRANCE) + continue; - ride = get_ride(mapElement->properties.entrance.ride_index); - entranceDefinition = &RideEntranceDefinitions[ride->entrance_style]; + ride = get_ride(mapElement->properties.entrance.ride_index); + entranceDefinition = &RideEntranceDefinitions[ride->entrance_style]; - sint32 height = (mapElement->base_height * 8) + entranceDefinition->height + 8; - map_invalidate_tile_zoom1(x, y, height, height + 16); - return false; - } while (!map_element_is_last_for_tile(mapElement++)); + sint32 height = (mapElement->base_height * 8) + entranceDefinition->height + 8; + map_invalidate_tile_zoom1(x, y, height, height + 16); + return false; + } while (!map_element_is_last_for_tile(mapElement++)); - return true; + return true; } /** @@ -139,28 +139,28 @@ static bool map_animation_invalidate_ride_entrance(sint32 x, sint32 y, sint32 ba */ static bool map_animation_invalidate_queue_banner(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; - if (!(mapElement->flags & 1)) - continue; - if (!(mapElement->properties.path.type & PATH_FLAG_QUEUE_BANNER)) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; + if (!(mapElement->flags & 1)) + continue; + if (!(mapElement->properties.path.type & PATH_FLAG_QUEUE_BANNER)) + continue; - sint32 direction = ((mapElement->type >> 6) + get_current_rotation()) & 3; - if (direction == MAP_ELEMENT_DIRECTION_NORTH || direction == MAP_ELEMENT_DIRECTION_EAST) { - baseZ = mapElement->base_height * 8; - map_invalidate_tile_zoom1(x, y, baseZ + 16, baseZ + 30); - } - return false; - } while (!map_element_is_last_for_tile(mapElement++)); + sint32 direction = ((mapElement->type >> 6) + get_current_rotation()) & 3; + if (direction == MAP_ELEMENT_DIRECTION_NORTH || direction == MAP_ELEMENT_DIRECTION_EAST) { + baseZ = mapElement->base_height * 8; + map_invalidate_tile_zoom1(x, y, baseZ + 16, baseZ + 30); + } + return false; + } while (!map_element_is_last_for_tile(mapElement++)); - return true; + return true; } /** @@ -169,60 +169,60 @@ static bool map_animation_invalidate_queue_banner(sint32 x, sint32 y, sint32 bas */ static bool map_animation_invalidate_small_scenery(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; - rct_scenery_entry *sceneryEntry; - rct_sprite *sprite; - rct_peep *peep; + rct_map_element *mapElement; + rct_scenery_entry *sceneryEntry; + rct_sprite *sprite; + rct_peep *peep; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY) - continue; - if (mapElement->flags & (1 << 4)) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY) + continue; + if (mapElement->flags & (1 << 4)) + continue; - sceneryEntry = get_small_scenery_entry(mapElement->properties.scenery.type); - if (sceneryEntry->small_scenery.flags & (SMALL_SCENERY_FLAG12 | SMALL_SCENERY_FLAG13 | SMALL_SCENERY_FLAG15 | SMALL_SCENERY_FLAG16)) { - map_invalidate_tile_zoom1(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); - return false; - } + sceneryEntry = get_small_scenery_entry(mapElement->properties.scenery.type); + if (sceneryEntry->small_scenery.flags & (SMALL_SCENERY_FLAG12 | SMALL_SCENERY_FLAG13 | SMALL_SCENERY_FLAG15 | SMALL_SCENERY_FLAG16)) { + map_invalidate_tile_zoom1(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); + return false; + } - if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_IS_CLOCK) { - // Peep, looking at scenery - if (!(gCurrentTicks & 0x3FF) && game_is_not_paused()) { - sint32 direction = mapElement->type & 3; - sint32 x2 = x - TileDirectionDelta[direction].x; - sint32 y2 = y - TileDirectionDelta[direction].y; + if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_IS_CLOCK) { + // Peep, looking at scenery + if (!(gCurrentTicks & 0x3FF) && game_is_not_paused()) { + sint32 direction = mapElement->type & 3; + sint32 x2 = x - TileDirectionDelta[direction].x; + sint32 y2 = y - TileDirectionDelta[direction].y; - uint16 spriteIdx = sprite_get_first_in_quadrant(x2, y2); - for (; spriteIdx != SPRITE_INDEX_NULL; spriteIdx = sprite->unknown.next_in_quadrant) { - sprite = get_sprite(spriteIdx); - if (sprite->unknown.linked_list_type_offset != SPRITE_LIST_PEEP * 2) - continue; + uint16 spriteIdx = sprite_get_first_in_quadrant(x2, y2); + for (; spriteIdx != SPRITE_INDEX_NULL; spriteIdx = sprite->unknown.next_in_quadrant) { + sprite = get_sprite(spriteIdx); + if (sprite->unknown.linked_list_type_offset != SPRITE_LIST_PEEP * 2) + continue; - peep = &sprite->peep; - if (peep->state != PEEP_STATE_WALKING) - continue; - if (peep->z != mapElement->base_height * 8) - continue; - if (peep->action < PEEP_ACTION_NONE_1) - continue; + peep = &sprite->peep; + if (peep->state != PEEP_STATE_WALKING) + continue; + if (peep->z != mapElement->base_height * 8) + continue; + if (peep->action < PEEP_ACTION_NONE_1) + continue; - peep->action = PEEP_ACTION_CHECK_TIME; - peep->action_frame = 0; - peep->action_sprite_image_offset = 0; - peep_update_current_action_sprite_type(peep); - invalidate_sprite_1((rct_sprite*)peep); - break; - } - } - map_invalidate_tile_zoom1(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); - return false; - } - } while (!map_element_is_last_for_tile(mapElement++)); - return true; + peep->action = PEEP_ACTION_CHECK_TIME; + peep->action_frame = 0; + peep->action_sprite_image_offset = 0; + peep_update_current_action_sprite_type(peep); + invalidate_sprite_1((rct_sprite*)peep); + break; + } + } + map_invalidate_tile_zoom1(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); + return false; + } + } while (!map_element_is_last_for_tile(mapElement++)); + return true; } /** @@ -231,25 +231,25 @@ static bool map_animation_invalidate_small_scenery(sint32 x, sint32 y, sint32 ba */ static bool map_animation_invalidate_park_entrance(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) - continue; - if (mapElement->properties.entrance.type != ENTRANCE_TYPE_PARK_ENTRANCE) - continue; - if (mapElement->properties.entrance.index & 0x0F) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) + continue; + if (mapElement->properties.entrance.type != ENTRANCE_TYPE_PARK_ENTRANCE) + continue; + if (mapElement->properties.entrance.index & 0x0F) + continue; - baseZ = mapElement->base_height * 8; - map_invalidate_tile_zoom1(x, y, baseZ + 32, baseZ + 64); - return false; - } while (!map_element_is_last_for_tile(mapElement++)); + baseZ = mapElement->base_height * 8; + map_invalidate_tile_zoom1(x, y, baseZ + 32, baseZ + 64); + return false; + } while (!map_element_is_last_for_tile(mapElement++)); - return true; + return true; } /** @@ -258,23 +258,23 @@ static bool map_animation_invalidate_park_entrance(sint32 x, sint32 y, sint32 ba */ static bool map_animation_invalidate_track_waterfall(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if (mapElement->properties.track.type == TRACK_ELEM_WATERFALL) { - sint32 z = mapElement->base_height * 8; - map_invalidate_tile_zoom1(x, y, z + 14, z + 46); - return false; - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (mapElement->properties.track.type == TRACK_ELEM_WATERFALL) { + sint32 z = mapElement->base_height * 8; + map_invalidate_tile_zoom1(x, y, z + 14, z + 46); + return false; + } + } while (!map_element_is_last_for_tile(mapElement++)); - return true; + return true; } /** @@ -283,23 +283,23 @@ static bool map_animation_invalidate_track_waterfall(sint32 x, sint32 y, sint32 */ static bool map_animation_invalidate_track_rapids(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if (mapElement->properties.track.type == TRACK_ELEM_RAPIDS) { - sint32 z = mapElement->base_height * 8; - map_invalidate_tile_zoom1(x, y, z + 14, z + 18); - return false; - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (mapElement->properties.track.type == TRACK_ELEM_RAPIDS) { + sint32 z = mapElement->base_height * 8; + map_invalidate_tile_zoom1(x, y, z + 14, z + 18); + return false; + } + } while (!map_element_is_last_for_tile(mapElement++)); - return true; + return true; } /** @@ -308,30 +308,30 @@ static bool map_animation_invalidate_track_rapids(sint32 x, sint32 y, sint32 bas */ static bool map_animation_invalidate_track_onridephoto(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if (mapElement->properties.track.type == TRACK_ELEM_ON_RIDE_PHOTO) { - map_invalidate_tile_zoom1(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); - if (game_is_paused()) { - return false; - } - if (mapElement->properties.track.sequence & 0xF0) { - mapElement->properties.track.sequence -= 0x10; - return false; - } else { - return true; - } - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (mapElement->properties.track.type == TRACK_ELEM_ON_RIDE_PHOTO) { + map_invalidate_tile_zoom1(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); + if (game_is_paused()) { + return false; + } + if (mapElement->properties.track.sequence & 0xF0) { + mapElement->properties.track.sequence -= 0x10; + return false; + } else { + return true; + } + } + } while (!map_element_is_last_for_tile(mapElement++)); - return true; + return true; } /** @@ -340,23 +340,23 @@ static bool map_animation_invalidate_track_onridephoto(sint32 x, sint32 y, sint3 */ static bool map_animation_invalidate_track_whirlpool(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if (mapElement->properties.track.type == TRACK_ELEM_WHIRLPOOL) { - sint32 z = mapElement->base_height * 8; - map_invalidate_tile_zoom1(x, y, z + 14, z + 18); - return false; - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (mapElement->properties.track.type == TRACK_ELEM_WHIRLPOOL) { + sint32 z = mapElement->base_height * 8; + map_invalidate_tile_zoom1(x, y, z + 14, z + 18); + return false; + } + } while (!map_element_is_last_for_tile(mapElement++)); - return true; + return true; } /** @@ -365,23 +365,23 @@ static bool map_animation_invalidate_track_whirlpool(sint32 x, sint32 y, sint32 */ static bool map_animation_invalidate_track_spinningtunnel(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if (mapElement->properties.track.type == TRACK_ELEM_SPINNING_TUNNEL) { - sint32 z = mapElement->base_height * 8; - map_invalidate_tile_zoom1(x, y, z + 14, z + 32); - return false; - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (mapElement->properties.track.type == TRACK_ELEM_SPINNING_TUNNEL) { + sint32 z = mapElement->base_height * 8; + map_invalidate_tile_zoom1(x, y, z + 14, z + 32); + return false; + } + } while (!map_element_is_last_for_tile(mapElement++)); - return true; + return true; } /** @@ -390,7 +390,7 @@ static bool map_animation_invalidate_track_spinningtunnel(sint32 x, sint32 y, si */ static bool map_animation_invalidate_remove(sint32 x, sint32 y, sint32 baseZ) { - return true; + return true; } /** @@ -399,21 +399,21 @@ static bool map_animation_invalidate_remove(sint32 x, sint32 y, sint32 baseZ) */ static bool map_animation_invalidate_banner(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_BANNER) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_BANNER) + continue; - baseZ = mapElement->base_height * 8; - map_invalidate_tile_zoom1(x, y, baseZ, baseZ + 16); - return false; - } while (!map_element_is_last_for_tile(mapElement++)); + baseZ = mapElement->base_height * 8; + map_invalidate_tile_zoom1(x, y, baseZ, baseZ + 16); + return false; + } while (!map_element_is_last_for_tile(mapElement++)); - return true; + return true; } /** @@ -422,26 +422,26 @@ static bool map_animation_invalidate_banner(sint32 x, sint32 y, sint32 baseZ) */ static bool map_animation_invalidate_large_scenery(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; - rct_scenery_entry *sceneryEntry; + rct_map_element *mapElement; + rct_scenery_entry *sceneryEntry; - bool wasInvalidated = false; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) - continue; + bool wasInvalidated = false; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY_MULTIPLE) + continue; - sceneryEntry = get_large_scenery_entry(mapElement->properties.scenery.type & 0x3FF); - if (sceneryEntry->large_scenery.flags & LARGE_SCENERY_FLAG_ANIMATED) { - sint32 z = mapElement->base_height * 8; - map_invalidate_tile_zoom1(x, y, z, z + 16); - wasInvalidated = true; - } - } while (!map_element_is_last_for_tile(mapElement++)); + sceneryEntry = get_large_scenery_entry(mapElement->properties.scenery.type & 0x3FF); + if (sceneryEntry->large_scenery.flags & LARGE_SCENERY_FLAG_ANIMATED) { + sint32 z = mapElement->base_height * 8; + map_invalidate_tile_zoom1(x, y, z, z + 16); + wasInvalidated = true; + } + } while (!map_element_is_last_for_tile(mapElement++)); - return !wasInvalidated; + return !wasInvalidated; } /** @@ -450,53 +450,53 @@ static bool map_animation_invalidate_large_scenery(sint32 x, sint32 y, sint32 ba */ static bool map_animation_invalidate_wall_door(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; - rct_scenery_entry *sceneryEntry; + rct_map_element *mapElement; + rct_scenery_entry *sceneryEntry; - if (gCurrentTicks & 1) - return false; + if (gCurrentTicks & 1) + return false; - bool removeAnimation = true; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) - continue; + bool removeAnimation = true; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) + continue; - sceneryEntry = get_wall_entry(mapElement->properties.scenery.type); - if (!(sceneryEntry->wall.flags & WALL_SCENERY_IS_DOOR)) - continue; + sceneryEntry = get_wall_entry(mapElement->properties.scenery.type); + if (!(sceneryEntry->wall.flags & WALL_SCENERY_IS_DOOR)) + continue; - if (game_is_paused()) { - return false; - } + if (game_is_paused()) { + return false; + } - bool invalidate = false; + bool invalidate = false; - uint8 currentFrame = wall_element_get_animation_frame(mapElement); - if (currentFrame != 0) { - if (currentFrame == 15) { - currentFrame = 0; - } else { - removeAnimation = false; - if (currentFrame != 5) { - currentFrame++; - if (currentFrame == 13 && !(sceneryEntry->wall.flags & WALL_SCENERY_FLAG6)) - currentFrame = 15; + uint8 currentFrame = wall_element_get_animation_frame(mapElement); + if (currentFrame != 0) { + if (currentFrame == 15) { + currentFrame = 0; + } else { + removeAnimation = false; + if (currentFrame != 5) { + currentFrame++; + if (currentFrame == 13 && !(sceneryEntry->wall.flags & WALL_SCENERY_FLAG6)) + currentFrame = 15; - invalidate = true; - } - } - } - wall_element_set_animation_frame(mapElement, currentFrame); - if (invalidate) { - sint32 z = mapElement->base_height * 8; - map_invalidate_tile_zoom1(x, y, z, z + 32); - } - } while (!map_element_is_last_for_tile(mapElement++)); + invalidate = true; + } + } + } + wall_element_set_animation_frame(mapElement, currentFrame); + if (invalidate) { + sint32 z = mapElement->base_height * 8; + map_invalidate_tile_zoom1(x, y, z, z + 32); + } + } while (!map_element_is_last_for_tile(mapElement++)); - return removeAnimation; + return removeAnimation; } /** @@ -505,27 +505,27 @@ static bool map_animation_invalidate_wall_door(sint32 x, sint32 y, sint32 baseZ) */ static bool map_animation_invalidate_wall(sint32 x, sint32 y, sint32 baseZ) { - rct_map_element *mapElement; - rct_scenery_entry *sceneryEntry; + rct_map_element *mapElement; + rct_scenery_entry *sceneryEntry; - bool wasInvalidated = false; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (mapElement->base_height != baseZ) - continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) - continue; + bool wasInvalidated = false; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (mapElement->base_height != baseZ) + continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_WALL) + continue; - sceneryEntry = get_wall_entry(mapElement->properties.scenery.type); - if (!(sceneryEntry->wall.flags2 & WALL_SCENERY_2_FLAG5) && sceneryEntry->wall.scrolling_mode == 255) - continue; + sceneryEntry = get_wall_entry(mapElement->properties.scenery.type); + if (!(sceneryEntry->wall.flags2 & WALL_SCENERY_2_FLAG5) && sceneryEntry->wall.scrolling_mode == 255) + continue; - sint32 z = mapElement->base_height * 8; - map_invalidate_tile_zoom1(x, y, z, z + 16); - wasInvalidated = true; - } while (!map_element_is_last_for_tile(mapElement++)); + sint32 z = mapElement->base_height * 8; + map_invalidate_tile_zoom1(x, y, z, z + 16); + wasInvalidated = true; + } while (!map_element_is_last_for_tile(mapElement++)); - return !wasInvalidated; + return !wasInvalidated; } /** @@ -533,18 +533,18 @@ static bool map_animation_invalidate_wall(sint32 x, sint32 y, sint32 baseZ) * rct2: 0x009819DC */ static const map_animation_invalidate_event_handler _animatedObjectEventHandlers[MAP_ANIMATION_TYPE_COUNT] = { - map_animation_invalidate_ride_entrance, - map_animation_invalidate_queue_banner, - map_animation_invalidate_small_scenery, - map_animation_invalidate_park_entrance, - map_animation_invalidate_track_waterfall, - map_animation_invalidate_track_rapids, - map_animation_invalidate_track_onridephoto, - map_animation_invalidate_track_whirlpool, - map_animation_invalidate_track_spinningtunnel, - map_animation_invalidate_remove, - map_animation_invalidate_banner, - map_animation_invalidate_large_scenery, - map_animation_invalidate_wall_door, - map_animation_invalidate_wall + map_animation_invalidate_ride_entrance, + map_animation_invalidate_queue_banner, + map_animation_invalidate_small_scenery, + map_animation_invalidate_park_entrance, + map_animation_invalidate_track_waterfall, + map_animation_invalidate_track_rapids, + map_animation_invalidate_track_onridephoto, + map_animation_invalidate_track_whirlpool, + map_animation_invalidate_track_spinningtunnel, + map_animation_invalidate_remove, + map_animation_invalidate_banner, + map_animation_invalidate_large_scenery, + map_animation_invalidate_wall_door, + map_animation_invalidate_wall }; diff --git a/src/openrct2/world/map_animation.h b/src/openrct2/world/map_animation.h index 338ba0bdd5..f361d8ca7f 100644 --- a/src/openrct2/world/map_animation.h +++ b/src/openrct2/world/map_animation.h @@ -25,30 +25,30 @@ * size: 0x06 */ typedef struct rct_map_animation { - uint8 baseZ; - uint8 type; - uint16 x; - uint16 y; + uint8 baseZ; + uint8 type; + uint16 x; + uint16 y; } rct_map_animation; assert_struct_size(rct_map_animation, 6); #pragma pack(pop) enum { - MAP_ANIMATION_TYPE_RIDE_ENTRANCE, - MAP_ANIMATION_TYPE_QUEUE_BANNER, - MAP_ANIMATION_TYPE_SMALL_SCENERY, - MAP_ANIMATION_TYPE_PARK_ENTRANCE, - MAP_ANIMATION_TYPE_TRACK_WATERFALL, - MAP_ANIMATION_TYPE_TRACK_RAPIDS, - MAP_ANIMATION_TYPE_TRACK_ONRIDEPHOTO, - MAP_ANIMATION_TYPE_TRACK_WHIRLPOOL, - MAP_ANIMATION_TYPE_TRACK_SPINNINGTUNNEL, - MAP_ANIMATION_TYPE_REMOVE, - MAP_ANIMATION_TYPE_BANNER, - MAP_ANIMATION_TYPE_LARGE_SCENERY, - MAP_ANIMATION_TYPE_WALL_DOOR, - MAP_ANIMATION_TYPE_WALL, - MAP_ANIMATION_TYPE_COUNT + MAP_ANIMATION_TYPE_RIDE_ENTRANCE, + MAP_ANIMATION_TYPE_QUEUE_BANNER, + MAP_ANIMATION_TYPE_SMALL_SCENERY, + MAP_ANIMATION_TYPE_PARK_ENTRANCE, + MAP_ANIMATION_TYPE_TRACK_WATERFALL, + MAP_ANIMATION_TYPE_TRACK_RAPIDS, + MAP_ANIMATION_TYPE_TRACK_ONRIDEPHOTO, + MAP_ANIMATION_TYPE_TRACK_WHIRLPOOL, + MAP_ANIMATION_TYPE_TRACK_SPINNINGTUNNEL, + MAP_ANIMATION_TYPE_REMOVE, + MAP_ANIMATION_TYPE_BANNER, + MAP_ANIMATION_TYPE_LARGE_SCENERY, + MAP_ANIMATION_TYPE_WALL_DOOR, + MAP_ANIMATION_TYPE_WALL, + MAP_ANIMATION_TYPE_COUNT }; #define MAX_ANIMATED_OBJECTS 2000 diff --git a/src/openrct2/world/map_helpers.c b/src/openrct2/world/map_helpers.c index 9d442c8bcb..b6fa97b2ba 100644 --- a/src/openrct2/world/map_helpers.c +++ b/src/openrct2/world/map_helpers.c @@ -22,185 +22,185 @@ */ sint32 map_smooth(sint32 l, sint32 t, sint32 r, sint32 b) { - sint32 i, x, y, highest, count, cornerHeights[4], doubleCorner, raisedLand = 0; - rct_map_element *mapElement, *mapElement2; - for (y = t; y < b; y++) { - for (x = l; x < r; x++) { - mapElement = map_get_surface_element_at(x, y); - mapElement->properties.surface.slope &= ~0x1F; + sint32 i, x, y, highest, count, cornerHeights[4], doubleCorner, raisedLand = 0; + rct_map_element *mapElement, *mapElement2; + for (y = t; y < b; y++) { + for (x = l; x < r; x++) { + mapElement = map_get_surface_element_at(x, y); + mapElement->properties.surface.slope &= ~0x1F; - // Raise to edge height - 2 - highest = mapElement->base_height; - highest = max(highest, map_get_surface_element_at(x - 1, y + 0)->base_height); - highest = max(highest, map_get_surface_element_at(x + 1, y + 0)->base_height); - highest = max(highest, map_get_surface_element_at(x + 0, y - 1)->base_height); - highest = max(highest, map_get_surface_element_at(x + 0, y + 1)->base_height); - if (mapElement->base_height < highest - 2) { - raisedLand = 1; - mapElement->base_height = mapElement->clearance_height = highest - 2; - } + // Raise to edge height - 2 + highest = mapElement->base_height; + highest = max(highest, map_get_surface_element_at(x - 1, y + 0)->base_height); + highest = max(highest, map_get_surface_element_at(x + 1, y + 0)->base_height); + highest = max(highest, map_get_surface_element_at(x + 0, y - 1)->base_height); + highest = max(highest, map_get_surface_element_at(x + 0, y + 1)->base_height); + if (mapElement->base_height < highest - 2) { + raisedLand = 1; + mapElement->base_height = mapElement->clearance_height = highest - 2; + } - // Check corners - doubleCorner = -1; - cornerHeights[0] = map_get_surface_element_at(x - 1, y - 1)->base_height; - cornerHeights[1] = map_get_surface_element_at(x + 1, y - 1)->base_height; - cornerHeights[2] = map_get_surface_element_at(x + 1, y + 1)->base_height; - cornerHeights[3] = map_get_surface_element_at(x - 1, y + 1)->base_height; - highest = mapElement->base_height; - for (i = 0; i < 4; i++) - highest = max(highest, cornerHeights[i]); + // Check corners + doubleCorner = -1; + cornerHeights[0] = map_get_surface_element_at(x - 1, y - 1)->base_height; + cornerHeights[1] = map_get_surface_element_at(x + 1, y - 1)->base_height; + cornerHeights[2] = map_get_surface_element_at(x + 1, y + 1)->base_height; + cornerHeights[3] = map_get_surface_element_at(x - 1, y + 1)->base_height; + highest = mapElement->base_height; + for (i = 0; i < 4; i++) + highest = max(highest, cornerHeights[i]); - if (highest >= mapElement->base_height + 4) { - count = 0; - sint32 canCompensate = 1; - for (i = 0; i < 4; i++) - if (cornerHeights[i] == highest){ - count++; + if (highest >= mapElement->base_height + 4) { + count = 0; + sint32 canCompensate = 1; + for (i = 0; i < 4; i++) + if (cornerHeights[i] == highest){ + count++; - // Check if surrounding corners aren't too high. The current tile - // can't compensate for all the height differences anymore if it has - // the extra height slope. - sint32 highestOnLowestSide; - switch (i){ - default: - case 0: - highestOnLowestSide = max( - map_get_surface_element_at(x + 1, y)->base_height, - map_get_surface_element_at(x, y + 1)->base_height); - break; - case 1: - highestOnLowestSide = max( - map_get_surface_element_at(x - 1, y)->base_height, - map_get_surface_element_at(x, y + 1)->base_height); - break; - case 2: - highestOnLowestSide = max( - map_get_surface_element_at(x - 1, y)->base_height, - map_get_surface_element_at(x, y - 1)->base_height); - break; - case 3: - highestOnLowestSide = max( - map_get_surface_element_at(x + 1, y)->base_height, - map_get_surface_element_at(x, y - 1)->base_height); - break; - } + // Check if surrounding corners aren't too high. The current tile + // can't compensate for all the height differences anymore if it has + // the extra height slope. + sint32 highestOnLowestSide; + switch (i){ + default: + case 0: + highestOnLowestSide = max( + map_get_surface_element_at(x + 1, y)->base_height, + map_get_surface_element_at(x, y + 1)->base_height); + break; + case 1: + highestOnLowestSide = max( + map_get_surface_element_at(x - 1, y)->base_height, + map_get_surface_element_at(x, y + 1)->base_height); + break; + case 2: + highestOnLowestSide = max( + map_get_surface_element_at(x - 1, y)->base_height, + map_get_surface_element_at(x, y - 1)->base_height); + break; + case 3: + highestOnLowestSide = max( + map_get_surface_element_at(x + 1, y)->base_height, + map_get_surface_element_at(x, y - 1)->base_height); + break; + } - if (highestOnLowestSide > mapElement->base_height){ - mapElement->base_height = mapElement->clearance_height = highestOnLowestSide; - raisedLand = 1; - canCompensate = 0; - } - } + if (highestOnLowestSide > mapElement->base_height){ + mapElement->base_height = mapElement->clearance_height = highestOnLowestSide; + raisedLand = 1; + canCompensate = 0; + } + } - if (count == 1 && canCompensate) { - if (mapElement->base_height < highest - 4) { - mapElement->base_height = mapElement->clearance_height = highest - 4; - raisedLand = 1; - } - if (cornerHeights[0] == highest && cornerHeights[2] <= cornerHeights[0] - 4) - doubleCorner = 0; - else if (cornerHeights[1] == highest && cornerHeights[3] <= cornerHeights[1] - 4) - doubleCorner = 1; - else if (cornerHeights[2] == highest && cornerHeights[0] <= cornerHeights[2] - 4) - doubleCorner = 2; - else if (cornerHeights[3] == highest && cornerHeights[1] <= cornerHeights[3] - 4) - doubleCorner = 3; - } else { - if (mapElement->base_height < highest - 2) { - mapElement->base_height = mapElement->clearance_height = highest - 2; - raisedLand = 1; - } - } - } + if (count == 1 && canCompensate) { + if (mapElement->base_height < highest - 4) { + mapElement->base_height = mapElement->clearance_height = highest - 4; + raisedLand = 1; + } + if (cornerHeights[0] == highest && cornerHeights[2] <= cornerHeights[0] - 4) + doubleCorner = 0; + else if (cornerHeights[1] == highest && cornerHeights[3] <= cornerHeights[1] - 4) + doubleCorner = 1; + else if (cornerHeights[2] == highest && cornerHeights[0] <= cornerHeights[2] - 4) + doubleCorner = 2; + else if (cornerHeights[3] == highest && cornerHeights[1] <= cornerHeights[3] - 4) + doubleCorner = 3; + } else { + if (mapElement->base_height < highest - 2) { + mapElement->base_height = mapElement->clearance_height = highest - 2; + raisedLand = 1; + } + } + } - if (doubleCorner != -1) { - mapElement->properties.surface.slope |= 16; - switch (doubleCorner) { - case 0: - mapElement->properties.surface.slope |= 2 | 4 | 8; - break; - case 1: - mapElement->properties.surface.slope |= 1 | 2 | 4; - break; - case 2: - mapElement->properties.surface.slope |= 1 | 2 | 8; - break; - case 3: - mapElement->properties.surface.slope |= 1 | 4 | 8; - break; - } - } else { - // Corners - mapElement2 = map_get_surface_element_at(x + 1, y + 1); - if (mapElement2->base_height > mapElement->base_height) - mapElement->properties.surface.slope |= 1; + if (doubleCorner != -1) { + mapElement->properties.surface.slope |= 16; + switch (doubleCorner) { + case 0: + mapElement->properties.surface.slope |= 2 | 4 | 8; + break; + case 1: + mapElement->properties.surface.slope |= 1 | 2 | 4; + break; + case 2: + mapElement->properties.surface.slope |= 1 | 2 | 8; + break; + case 3: + mapElement->properties.surface.slope |= 1 | 4 | 8; + break; + } + } else { + // Corners + mapElement2 = map_get_surface_element_at(x + 1, y + 1); + if (mapElement2->base_height > mapElement->base_height) + mapElement->properties.surface.slope |= 1; - mapElement2 = map_get_surface_element_at(x - 1, y + 1); - if (mapElement2->base_height > mapElement->base_height) - mapElement->properties.surface.slope |= 8; + mapElement2 = map_get_surface_element_at(x - 1, y + 1); + if (mapElement2->base_height > mapElement->base_height) + mapElement->properties.surface.slope |= 8; - mapElement2 = map_get_surface_element_at(x + 1, y - 1); - if (mapElement2->base_height > mapElement->base_height) - mapElement->properties.surface.slope |= 2; + mapElement2 = map_get_surface_element_at(x + 1, y - 1); + if (mapElement2->base_height > mapElement->base_height) + mapElement->properties.surface.slope |= 2; - mapElement2 = map_get_surface_element_at(x - 1, y - 1); - if (mapElement2->base_height > mapElement->base_height) - mapElement->properties.surface.slope |= 4; + mapElement2 = map_get_surface_element_at(x - 1, y - 1); + if (mapElement2->base_height > mapElement->base_height) + mapElement->properties.surface.slope |= 4; - // Sides - mapElement2 = map_get_surface_element_at(x + 1, y + 0); - if (mapElement2->base_height > mapElement->base_height) - mapElement->properties.surface.slope |= 1 | 2; + // Sides + mapElement2 = map_get_surface_element_at(x + 1, y + 0); + if (mapElement2->base_height > mapElement->base_height) + mapElement->properties.surface.slope |= 1 | 2; - mapElement2 = map_get_surface_element_at(x - 1, y + 0); - if (mapElement2->base_height > mapElement->base_height) - mapElement->properties.surface.slope |= 4 | 8; + mapElement2 = map_get_surface_element_at(x - 1, y + 0); + if (mapElement2->base_height > mapElement->base_height) + mapElement->properties.surface.slope |= 4 | 8; - mapElement2 = map_get_surface_element_at(x + 0, y - 1); - if (mapElement2->base_height > mapElement->base_height) - mapElement->properties.surface.slope |= 2 | 4; + mapElement2 = map_get_surface_element_at(x + 0, y - 1); + if (mapElement2->base_height > mapElement->base_height) + mapElement->properties.surface.slope |= 2 | 4; - mapElement2 = map_get_surface_element_at(x + 0, y + 1); - if (mapElement2->base_height > mapElement->base_height) - mapElement->properties.surface.slope |= 1 | 8; + mapElement2 = map_get_surface_element_at(x + 0, y + 1); + if (mapElement2->base_height > mapElement->base_height) + mapElement->properties.surface.slope |= 1 | 8; - // Raise - if (mapElement->properties.surface.slope == (1 | 2 | 4 | 8)) { - mapElement->properties.surface.slope &= ~0x1F; - mapElement->base_height = mapElement->clearance_height += 2; - } - } - } - } + // Raise + if (mapElement->properties.surface.slope == (1 | 2 | 4 | 8)) { + mapElement->properties.surface.slope &= ~0x1F; + mapElement->base_height = mapElement->clearance_height += 2; + } + } + } + } - return raisedLand; + return raisedLand; } static sint32 map_get_corner_height(sint32 x, sint32 y, sint32 corner) { - rct_map_element *mapElement = map_get_surface_element_at(x, y); - sint32 baseHeight = mapElement->base_height; - sint32 slope = mapElement->properties.surface.slope; - sint32 doubleCorner = slope & 16; - if (doubleCorner) { - if (!(slope & 1)) doubleCorner = 4; - else if (!(slope & 2)) doubleCorner = 8; - else if (!(slope & 4)) doubleCorner = 1; - else if (!(slope & 8)) doubleCorner = 2; - } + rct_map_element *mapElement = map_get_surface_element_at(x, y); + sint32 baseHeight = mapElement->base_height; + sint32 slope = mapElement->properties.surface.slope; + sint32 doubleCorner = slope & 16; + if (doubleCorner) { + if (!(slope & 1)) doubleCorner = 4; + else if (!(slope & 2)) doubleCorner = 8; + else if (!(slope & 4)) doubleCorner = 1; + else if (!(slope & 8)) doubleCorner = 2; + } - switch (corner) { - case 0: - return baseHeight + ((slope & 1) ? (doubleCorner == 1 ? 4 : 2) : 0); - case 1: - return baseHeight + ((slope & 8) ? (doubleCorner == 8 ? 4 : 2) : 0); - case 2: - return baseHeight + ((slope & 2) ? (doubleCorner == 2 ? 4 : 2) : 0); - case 3: - return baseHeight + ((slope & 4) ? (doubleCorner == 4 ? 4 : 2) : 0); - default: - return baseHeight; - } + switch (corner) { + case 0: + return baseHeight + ((slope & 1) ? (doubleCorner == 1 ? 4 : 2) : 0); + case 1: + return baseHeight + ((slope & 8) ? (doubleCorner == 8 ? 4 : 2) : 0); + case 2: + return baseHeight + ((slope & 2) ? (doubleCorner == 2 ? 4 : 2) : 0); + case 3: + return baseHeight + ((slope & 4) ? (doubleCorner == 4 ? 4 : 2) : 0); + default: + return baseHeight; + } } /** @@ -208,117 +208,117 @@ static sint32 map_get_corner_height(sint32 x, sint32 y, sint32 corner) */ static sint32 map_smooth_wavy(sint32 l, sint32 t, sint32 r, sint32 b) { - sint32 i, x, y, highest, count, cornerHeights[4], doubleCorner, raisedLand = 0; - rct_map_element *mapElement; - for (y = t; y < b; y++) { - for (x = l; x < r; x++) { - mapElement = map_get_surface_element_at(x, y); - mapElement->properties.surface.slope &= ~0x1F; + sint32 i, x, y, highest, count, cornerHeights[4], doubleCorner, raisedLand = 0; + rct_map_element *mapElement; + for (y = t; y < b; y++) { + for (x = l; x < r; x++) { + mapElement = map_get_surface_element_at(x, y); + mapElement->properties.surface.slope &= ~0x1F; - // Raise to edge height - 2 - highest = mapElement->base_height; - highest = max(highest, map_get_surface_element_at(x - 1, y + 0)->base_height); - highest = max(highest, map_get_surface_element_at(x + 1, y + 0)->base_height); - highest = max(highest, map_get_surface_element_at(x + 0, y - 1)->base_height); - highest = max(highest, map_get_surface_element_at(x + 0, y + 1)->base_height); - if (mapElement->base_height < highest - 2) { - raisedLand = 1; - mapElement->base_height = mapElement->clearance_height = highest - 2; - } + // Raise to edge height - 2 + highest = mapElement->base_height; + highest = max(highest, map_get_surface_element_at(x - 1, y + 0)->base_height); + highest = max(highest, map_get_surface_element_at(x + 1, y + 0)->base_height); + highest = max(highest, map_get_surface_element_at(x + 0, y - 1)->base_height); + highest = max(highest, map_get_surface_element_at(x + 0, y + 1)->base_height); + if (mapElement->base_height < highest - 2) { + raisedLand = 1; + mapElement->base_height = mapElement->clearance_height = highest - 2; + } - // Check corners - doubleCorner = -1; - cornerHeights[0] = max(map_get_corner_height(x - 1, y - 1, 0), max(map_get_corner_height(x + 1, y + 0, 1), map_get_corner_height(x + 0, y + 1, 2))); - cornerHeights[1] = max(map_get_corner_height(x + 1, y - 1, 1), max(map_get_corner_height(x - 1, y + 0, 0), map_get_corner_height(x + 0, y + 1, 3))); - cornerHeights[2] = max(map_get_corner_height(x + 1, y + 1, 3), max(map_get_corner_height(x + 1, y + 0, 3), map_get_corner_height(x + 0, y - 1, 0))); - cornerHeights[3] = max(map_get_corner_height(x - 1, y + 1, 2), max(map_get_corner_height(x - 1, y + 0, 2), map_get_corner_height(x + 0, y - 1, 1))); - highest = mapElement->base_height; - for (i = 0; i < 4; i++) - highest = max(highest, cornerHeights[i]); + // Check corners + doubleCorner = -1; + cornerHeights[0] = max(map_get_corner_height(x - 1, y - 1, 0), max(map_get_corner_height(x + 1, y + 0, 1), map_get_corner_height(x + 0, y + 1, 2))); + cornerHeights[1] = max(map_get_corner_height(x + 1, y - 1, 1), max(map_get_corner_height(x - 1, y + 0, 0), map_get_corner_height(x + 0, y + 1, 3))); + cornerHeights[2] = max(map_get_corner_height(x + 1, y + 1, 3), max(map_get_corner_height(x + 1, y + 0, 3), map_get_corner_height(x + 0, y - 1, 0))); + cornerHeights[3] = max(map_get_corner_height(x - 1, y + 1, 2), max(map_get_corner_height(x - 1, y + 0, 2), map_get_corner_height(x + 0, y - 1, 1))); + highest = mapElement->base_height; + for (i = 0; i < 4; i++) + highest = max(highest, cornerHeights[i]); - if (highest >= mapElement->base_height + 4) { - count = 0; - for (i = 0; i < 4; i++) - if (cornerHeights[i] == highest) - count++; + if (highest >= mapElement->base_height + 4) { + count = 0; + for (i = 0; i < 4; i++) + if (cornerHeights[i] == highest) + count++; - if (count == 1) { - if (mapElement->base_height < highest - 4) { - mapElement->base_height = mapElement->clearance_height = highest - 4; - raisedLand = 1; - } - if (cornerHeights[0] == highest && cornerHeights[2] <= cornerHeights[0] - 4) - doubleCorner = 0; - else if (cornerHeights[1] == highest && cornerHeights[3] <= cornerHeights[1] - 4) - doubleCorner = 1; - else if (cornerHeights[2] == highest && cornerHeights[0] <= cornerHeights[2] - 4) - doubleCorner = 2; - else if (cornerHeights[3] == highest && cornerHeights[1] <= cornerHeights[3] - 4) - doubleCorner = 3; - } else { - if (mapElement->base_height < highest - 2) { - mapElement->base_height = mapElement->clearance_height = highest - 2; - raisedLand = 1; - } - } - } + if (count == 1) { + if (mapElement->base_height < highest - 4) { + mapElement->base_height = mapElement->clearance_height = highest - 4; + raisedLand = 1; + } + if (cornerHeights[0] == highest && cornerHeights[2] <= cornerHeights[0] - 4) + doubleCorner = 0; + else if (cornerHeights[1] == highest && cornerHeights[3] <= cornerHeights[1] - 4) + doubleCorner = 1; + else if (cornerHeights[2] == highest && cornerHeights[0] <= cornerHeights[2] - 4) + doubleCorner = 2; + else if (cornerHeights[3] == highest && cornerHeights[1] <= cornerHeights[3] - 4) + doubleCorner = 3; + } else { + if (mapElement->base_height < highest - 2) { + mapElement->base_height = mapElement->clearance_height = highest - 2; + raisedLand = 1; + } + } + } - if (doubleCorner != -1) { - mapElement->properties.surface.slope |= 16; - switch (doubleCorner) { - case 0: - mapElement->properties.surface.slope |= 2 | 4 | 8; - break; - case 1: - mapElement->properties.surface.slope |= 1 | 2 | 4; - break; - case 2: - mapElement->properties.surface.slope |= 1 | 2 | 8; - break; - case 3: - mapElement->properties.surface.slope |= 1 | 4 | 8; - break; - } - } else { - // Corners - if ( - map_get_corner_height(x + 1, y + 1, 3) > mapElement->base_height || - map_get_corner_height(x + 1, y + 0, 1) > mapElement->base_height || - map_get_corner_height(x + 0, y + 1, 2) > mapElement->base_height - ) - mapElement->properties.surface.slope |= 1; + if (doubleCorner != -1) { + mapElement->properties.surface.slope |= 16; + switch (doubleCorner) { + case 0: + mapElement->properties.surface.slope |= 2 | 4 | 8; + break; + case 1: + mapElement->properties.surface.slope |= 1 | 2 | 4; + break; + case 2: + mapElement->properties.surface.slope |= 1 | 2 | 8; + break; + case 3: + mapElement->properties.surface.slope |= 1 | 4 | 8; + break; + } + } else { + // Corners + if ( + map_get_corner_height(x + 1, y + 1, 3) > mapElement->base_height || + map_get_corner_height(x + 1, y + 0, 1) > mapElement->base_height || + map_get_corner_height(x + 0, y + 1, 2) > mapElement->base_height + ) + mapElement->properties.surface.slope |= 1; - if ( - map_get_corner_height(x - 1, y + 1, 2) > mapElement->base_height || - map_get_corner_height(x - 1, y + 0, 0) > mapElement->base_height || - map_get_corner_height(x + 0, y + 1, 3) > mapElement->base_height - ) - mapElement->properties.surface.slope |= 8; + if ( + map_get_corner_height(x - 1, y + 1, 2) > mapElement->base_height || + map_get_corner_height(x - 1, y + 0, 0) > mapElement->base_height || + map_get_corner_height(x + 0, y + 1, 3) > mapElement->base_height + ) + mapElement->properties.surface.slope |= 8; - if ( - map_get_corner_height(x + 1, y - 1, 1) > mapElement->base_height || - map_get_corner_height(x + 1, y + 0, 3) > mapElement->base_height || - map_get_corner_height(x + 0, y - 1, 0) > mapElement->base_height - ) - mapElement->properties.surface.slope |= 2; + if ( + map_get_corner_height(x + 1, y - 1, 1) > mapElement->base_height || + map_get_corner_height(x + 1, y + 0, 3) > mapElement->base_height || + map_get_corner_height(x + 0, y - 1, 0) > mapElement->base_height + ) + mapElement->properties.surface.slope |= 2; - if ( - map_get_corner_height(x - 1, y - 1, 0) > mapElement->base_height || - map_get_corner_height(x - 1, y + 0, 2) > mapElement->base_height || - map_get_corner_height(x + 0, y - 1, 1) > mapElement->base_height - ) - mapElement->properties.surface.slope |= 4; + if ( + map_get_corner_height(x - 1, y - 1, 0) > mapElement->base_height || + map_get_corner_height(x - 1, y + 0, 2) > mapElement->base_height || + map_get_corner_height(x + 0, y - 1, 1) > mapElement->base_height + ) + mapElement->properties.surface.slope |= 4; - // Raise - if (mapElement->properties.surface.slope == (1 | 2 | 4 | 8)) { - mapElement->properties.surface.slope &= ~0x1F; - mapElement->base_height = mapElement->clearance_height += 2; - } - } - } - } + // Raise + if (mapElement->properties.surface.slope == (1 | 2 | 4 | 8)) { + mapElement->properties.surface.slope &= ~0x1F; + mapElement->base_height = mapElement->clearance_height += 2; + } + } + } + } - return raisedLand; + return raisedLand; } /** @@ -328,93 +328,93 @@ static sint32 map_smooth_wavy(sint32 l, sint32 t, sint32 r, sint32 b) */ sint32 tile_smooth(sint32 x, sint32 y) { - rct_map_element *const surfaceElement = map_get_surface_element_at(x, y); + rct_map_element *const surfaceElement = map_get_surface_element_at(x, y); - // +-----+-----+-----+ - // | NW | N | NE | - // | 2 | 1 | 0 | - // +-----+-----+-----+ - // | W | _ | E | - // | 4 | | 3 | - // +-----+-----+-----+ - // | SW | S | SE | - // | 7 | 6 | 5 | - // +-----+-----+-----+ - union - { - sint32 baseheight[8]; - struct { sint32 NE, N, NW, E, W, SE, S, SW; }; - } neighbourHeightOffset = { 0 }; + // +-----+-----+-----+ + // | NW | N | NE | + // | 2 | 1 | 0 | + // +-----+-----+-----+ + // | W | _ | E | + // | 4 | | 3 | + // +-----+-----+-----+ + // | SW | S | SE | + // | 7 | 6 | 5 | + // +-----+-----+-----+ + union + { + sint32 baseheight[8]; + struct { sint32 NE, N, NW, E, W, SE, S, SW; }; + } neighbourHeightOffset = { 0 }; - // Find the neighbour base heights - for (sint32 index = 0, y_offset = -1; y_offset <= 1; y_offset++) - { - for (sint32 x_offset = -1; x_offset <= 1; x_offset++) - { - // Skip self - if (y_offset == 0 && x_offset == 0) - continue; + // Find the neighbour base heights + for (sint32 index = 0, y_offset = -1; y_offset <= 1; y_offset++) + { + for (sint32 x_offset = -1; x_offset <= 1; x_offset++) + { + // Skip self + if (y_offset == 0 && x_offset == 0) + continue; - // Get neighbour height. If the element is not valid (outside of map) assume the same height - rct_map_element *neighbour_element = map_get_surface_element_at(x + x_offset, y + y_offset); - neighbourHeightOffset.baseheight[index] = neighbour_element ? neighbour_element->base_height : surfaceElement->base_height; + // Get neighbour height. If the element is not valid (outside of map) assume the same height + rct_map_element *neighbour_element = map_get_surface_element_at(x + x_offset, y + y_offset); + neighbourHeightOffset.baseheight[index] = neighbour_element ? neighbour_element->base_height : surfaceElement->base_height; - // Make the height relative to the current surface element - neighbourHeightOffset.baseheight[index] -= surfaceElement->base_height; + // Make the height relative to the current surface element + neighbourHeightOffset.baseheight[index] -= surfaceElement->base_height; - index++; - } - } + index++; + } + } - // Count number from the three tiles that is currently higher - sint8 thresholdNW = clamp(neighbourHeightOffset.W, 0, 1) + clamp(neighbourHeightOffset.NW, 0, 1) + clamp(neighbourHeightOffset.N, 0, 1); - sint8 thresholdNE = clamp(neighbourHeightOffset.N, 0, 1) + clamp(neighbourHeightOffset.NE, 0, 1) + clamp(neighbourHeightOffset.E, 0, 1); - sint8 thresholdSE = clamp(neighbourHeightOffset.E, 0, 1) + clamp(neighbourHeightOffset.SE, 0, 1) + clamp(neighbourHeightOffset.S, 0, 1); - sint8 thresholdSW = clamp(neighbourHeightOffset.S, 0, 1) + clamp(neighbourHeightOffset.SW, 0, 1) + clamp(neighbourHeightOffset.W, 0, 1); + // Count number from the three tiles that is currently higher + sint8 thresholdNW = clamp(neighbourHeightOffset.W, 0, 1) + clamp(neighbourHeightOffset.NW, 0, 1) + clamp(neighbourHeightOffset.N, 0, 1); + sint8 thresholdNE = clamp(neighbourHeightOffset.N, 0, 1) + clamp(neighbourHeightOffset.NE, 0, 1) + clamp(neighbourHeightOffset.E, 0, 1); + sint8 thresholdSE = clamp(neighbourHeightOffset.E, 0, 1) + clamp(neighbourHeightOffset.SE, 0, 1) + clamp(neighbourHeightOffset.S, 0, 1); + sint8 thresholdSW = clamp(neighbourHeightOffset.S, 0, 1) + clamp(neighbourHeightOffset.SW, 0, 1) + clamp(neighbourHeightOffset.W, 0, 1); - uint8 slope = 0; - slope |= (thresholdNW >= 1) ? (1 << 1) : 0; - slope |= (thresholdNE >= 1) ? (1 << 2) : 0; - slope |= (thresholdSE >= 1) ? (1 << 3) : 0; - slope |= (thresholdSW >= 1) ? (1 << 0) : 0; + uint8 slope = 0; + slope |= (thresholdNW >= 1) ? (1 << 1) : 0; + slope |= (thresholdNE >= 1) ? (1 << 2) : 0; + slope |= (thresholdSE >= 1) ? (1 << 3) : 0; + slope |= (thresholdSW >= 1) ? (1 << 0) : 0; - // Set diagonal when three corners have been raised, and the middle one can be raised one more - if ((slope == 0b0111 && neighbourHeightOffset.NW >= 4) || (slope == 0b1011 && neighbourHeightOffset.SW >= 4) || - (slope == 0b1101 && neighbourHeightOffset.SE >= 4) || (slope == 0b1110 && neighbourHeightOffset.NE >= 4)) - { - slope |= 1 << 4; - } + // Set diagonal when three corners have been raised, and the middle one can be raised one more + if ((slope == 0b0111 && neighbourHeightOffset.NW >= 4) || (slope == 0b1011 && neighbourHeightOffset.SW >= 4) || + (slope == 0b1101 && neighbourHeightOffset.SE >= 4) || (slope == 0b1110 && neighbourHeightOffset.NE >= 4)) + { + slope |= 1 << 4; + } - // Check if the calculated slope is the same already - uint8 currentSlope = surfaceElement->properties.surface.slope & 0x1F; - if (currentSlope == slope) - { - return 0; - } + // Check if the calculated slope is the same already + uint8 currentSlope = surfaceElement->properties.surface.slope & 0x1F; + if (currentSlope == slope) + { + return 0; + } - // Remove old slope value - surfaceElement->properties.surface.slope &= ~0x1F; - if ((slope & 0xF) == 0xF) - { - // All corners are raised, raise the entire tile instead. - surfaceElement->base_height = (surfaceElement->clearance_height += 2); - uint8 waterHeight = (surfaceElement->properties.surface.terrain & 0x1F) * 2; - if (waterHeight <= surfaceElement->base_height) - { - surfaceElement->properties.surface.terrain &= ~0x1F; - } - } - else - { - // Apply the slope to this tile - surfaceElement->properties.surface.slope |= slope; + // Remove old slope value + surfaceElement->properties.surface.slope &= ~0x1F; + if ((slope & 0xF) == 0xF) + { + // All corners are raised, raise the entire tile instead. + surfaceElement->base_height = (surfaceElement->clearance_height += 2); + uint8 waterHeight = (surfaceElement->properties.surface.terrain & 0x1F) * 2; + if (waterHeight <= surfaceElement->base_height) + { + surfaceElement->properties.surface.terrain &= ~0x1F; + } + } + else + { + // Apply the slope to this tile + surfaceElement->properties.surface.slope |= slope; - // Set correct clearance height - if (slope & 0x10) - surfaceElement->clearance_height = surfaceElement->base_height + 4; - else if (slope & 0x0F) - surfaceElement->clearance_height = surfaceElement->base_height + 2; - } + // Set correct clearance height + if (slope & 0x10) + surfaceElement->clearance_height = surfaceElement->base_height + 4; + else if (slope & 0x0F) + surfaceElement->clearance_height = surfaceElement->base_height + 2; + } - return 1; + return 1; } diff --git a/src/openrct2/world/mapgen.c b/src/openrct2/world/mapgen.c index 1442789d69..594226beb7 100644 --- a/src/openrct2/world/mapgen.c +++ b/src/openrct2/world/mapgen.c @@ -33,12 +33,12 @@ #pragma region Height map struct static struct { - uint32 width, height; - uint8 *mono_bitmap; + uint32 width, height; + uint8 *mono_bitmap; } _heightMapData = { - .width = 0, - .height = 0, - .mono_bitmap = NULL + .width = 0, + .height = 0, + .mono_bitmap = NULL }; #pragma endregion Height map struct @@ -46,42 +46,42 @@ static struct { #pragma region Random objects const char *GrassTrees[] = { - // Dark - "TCF ", // Caucasian Fir Tree - "TRF ", // Red Fir Tree - "TRF2 ", // Red Fir Tree - "TSP ", // Scots Pine Tree - "TMZP ", // Montezuma Pine Tree - "TAP ", // Aleppo Pine Tree - "TCRP ", // Corsican Pine Tree - "TBP ", // Black Poplar Tree + // Dark + "TCF ", // Caucasian Fir Tree + "TRF ", // Red Fir Tree + "TRF2 ", // Red Fir Tree + "TSP ", // Scots Pine Tree + "TMZP ", // Montezuma Pine Tree + "TAP ", // Aleppo Pine Tree + "TCRP ", // Corsican Pine Tree + "TBP ", // Black Poplar Tree - // Light - "TCL ", // Cedar of Lebanon Tree - "TEL ", // European Larch Tree + // Light + "TCL ", // Cedar of Lebanon Tree + "TEL ", // European Larch Tree }; // Trees to be placed in proximity to water const char *GrassWaterTrees[] = { - "TWW " // Weeping Willow Tree + "TWW " // Weeping Willow Tree }; const char *DesertTrees[] = { - "TMP ", // Monkey-Puzzle Tree - "THL ", // Honey Locust Tree - "TH1 ", // Canary Palm Tree - "TH2 ", // Palm Tree - "TPM ", // Palm Tree - "TROPT1 ", // Tree - "TBC ", // Cactus - "TSC ", // Cactus + "TMP ", // Monkey-Puzzle Tree + "THL ", // Honey Locust Tree + "TH1 ", // Canary Palm Tree + "TH2 ", // Palm Tree + "TPM ", // Palm Tree + "TROPT1 ", // Tree + "TBC ", // Cactus + "TSC ", // Cactus }; const char *SnowTrees[] = { - "TCFS ", // Snow-covered Caucasian Fir Tree - "TNSS ", // Snow-covered Norway Spruce Tree - "TRF3 ", // Snow-covered Red Fir Tree - "TRFS ", // Snow-covered Red Fir Tree + "TCFS ", // Snow-covered Caucasian Fir Tree + "TNSS ", // Snow-covered Norway Spruce Tree + "TRF3 ", // Snow-covered Red Fir Tree + "TRFS ", // Snow-covered Red Fir Tree }; #pragma endregion @@ -105,158 +105,158 @@ static uint8 *_height; static sint32 get_height(sint32 x, sint32 y) { - if (x >= 0 && y >= 0 && x < _heightSize && y < _heightSize) - return _height[x + y * _heightSize]; - else - return 0; + if (x >= 0 && y >= 0 && x < _heightSize && y < _heightSize) + return _height[x + y * _heightSize]; + else + return 0; } static void set_height(sint32 x, sint32 y, sint32 height) { - if (x >= 0 && y >= 0 && x < _heightSize && y < _heightSize) - _height[x + y * _heightSize] = height; + if (x >= 0 && y >= 0 && x < _heightSize && y < _heightSize) + _height[x + y * _heightSize] = height; } void mapgen_generate_blank(mapgen_settings *settings) { - sint32 x, y; - rct_map_element *mapElement; + sint32 x, y; + rct_map_element *mapElement; - map_clear_all_elements(); + map_clear_all_elements(); - map_init(settings->mapSize); - for (y = 1; y < settings->mapSize - 1; y++) { - for (x = 1; x < settings->mapSize - 1; x++) { - mapElement = map_get_surface_element_at(x, y); - map_element_set_terrain(mapElement, settings->floor); - map_element_set_terrain_edge(mapElement, settings->wall); - mapElement->base_height = settings->height; - mapElement->clearance_height = settings->height; - } - } + map_init(settings->mapSize); + for (y = 1; y < settings->mapSize - 1; y++) { + for (x = 1; x < settings->mapSize - 1; x++) { + mapElement = map_get_surface_element_at(x, y); + map_element_set_terrain(mapElement, settings->floor); + map_element_set_terrain_edge(mapElement, settings->wall); + mapElement->base_height = settings->height; + mapElement->clearance_height = settings->height; + } + } - mapgen_set_water_level(settings->water_level); + mapgen_set_water_level(settings->water_level); } void mapgen_generate(mapgen_settings *settings) { - sint32 x, y, mapSize, floorTexture, wallTexture, waterLevel; - rct_map_element *mapElement; + sint32 x, y, mapSize, floorTexture, wallTexture, waterLevel; + rct_map_element *mapElement; - util_srand((sint32)platform_get_ticks()); + util_srand((sint32)platform_get_ticks()); - mapSize = settings->mapSize; - floorTexture = settings->floor; - wallTexture = settings->wall; - waterLevel = settings->water_level; + mapSize = settings->mapSize; + floorTexture = settings->floor; + wallTexture = settings->wall; + waterLevel = settings->water_level; - if (floorTexture == -1) - floorTexture = BaseTerrain[util_rand() % countof(BaseTerrain)]; + if (floorTexture == -1) + floorTexture = BaseTerrain[util_rand() % countof(BaseTerrain)]; - if (wallTexture == -1) { - // Base edge type on surface type - switch (floorTexture) { - case TERRAIN_DIRT: - wallTexture = TERRAIN_EDGE_WOOD_RED; - break; - case TERRAIN_ICE: - wallTexture = TERRAIN_EDGE_ICE; - break; - default: - wallTexture = TERRAIN_EDGE_ROCK; - break; - } - } + if (wallTexture == -1) { + // Base edge type on surface type + switch (floorTexture) { + case TERRAIN_DIRT: + wallTexture = TERRAIN_EDGE_WOOD_RED; + break; + case TERRAIN_ICE: + wallTexture = TERRAIN_EDGE_ICE; + break; + default: + wallTexture = TERRAIN_EDGE_ROCK; + break; + } + } - map_clear_all_elements(); + map_clear_all_elements(); - // Initialise the base map - map_init(mapSize); - for (y = 1; y < mapSize - 1; y++) { - for (x = 1; x < mapSize - 1; x++) { - mapElement = map_get_surface_element_at(x, y); - map_element_set_terrain(mapElement, floorTexture); - map_element_set_terrain_edge(mapElement, wallTexture); - mapElement->base_height = settings->height; - mapElement->clearance_height = settings->height; - } - } + // Initialise the base map + map_init(mapSize); + for (y = 1; y < mapSize - 1; y++) { + for (x = 1; x < mapSize - 1; x++) { + mapElement = map_get_surface_element_at(x, y); + map_element_set_terrain(mapElement, floorTexture); + map_element_set_terrain_edge(mapElement, wallTexture); + mapElement->base_height = settings->height; + mapElement->clearance_height = settings->height; + } + } - // Create the temporary height map and initialise - _heightSize = mapSize * 2; - _height = (uint8*)malloc(_heightSize * _heightSize * sizeof(uint8)); - memset(_height, 0, _heightSize * _heightSize * sizeof(uint8)); + // Create the temporary height map and initialise + _heightSize = mapSize * 2; + _height = (uint8*)malloc(_heightSize * _heightSize * sizeof(uint8)); + memset(_height, 0, _heightSize * _heightSize * sizeof(uint8)); - if (1) { - mapgen_simplex(settings); - mapgen_smooth_height(2 + (util_rand() % 6)); - } else { - // Keep overwriting the map with rough circular blobs of different sizes and heights. - // This procedural method can produce intersecting contour like land and lakes. - // Large blobs, general shape of map - mapgen_blobs(6, _heightSize / 2, _heightSize * 4, 4, 16); - // Medium blobs - mapgen_blobs(12, _heightSize / 16, _heightSize / 8, 4, 18); - // Small blobs, small hills and lakes - mapgen_blobs(32, _heightSize / 32, _heightSize / 16, 4, 18); + if (1) { + mapgen_simplex(settings); + mapgen_smooth_height(2 + (util_rand() % 6)); + } else { + // Keep overwriting the map with rough circular blobs of different sizes and heights. + // This procedural method can produce intersecting contour like land and lakes. + // Large blobs, general shape of map + mapgen_blobs(6, _heightSize / 2, _heightSize * 4, 4, 16); + // Medium blobs + mapgen_blobs(12, _heightSize / 16, _heightSize / 8, 4, 18); + // Small blobs, small hills and lakes + mapgen_blobs(32, _heightSize / 32, _heightSize / 16, 4, 18); - // Smooth the land so that there aren't cliffs round every blob. - mapgen_smooth_height(2); - } + // Smooth the land so that there aren't cliffs round every blob. + mapgen_smooth_height(2); + } - // Set the game map to the height map - mapgen_set_height(); - free(_height); + // Set the game map to the height map + mapgen_set_height(); + free(_height); - // Set the tile slopes so that there are no cliffs - while (map_smooth(1, 1, mapSize - 1, mapSize - 1)) { } + // Set the tile slopes so that there are no cliffs + while (map_smooth(1, 1, mapSize - 1, mapSize - 1)) { } - // Add the water - mapgen_set_water_level(waterLevel); + // Add the water + mapgen_set_water_level(waterLevel); - // Add sandy beaches - sint32 beachTexture = floorTexture; - if (settings->floor == -1 && floorTexture == TERRAIN_GRASS) { - switch (util_rand() % 4) { - case 0: - beachTexture = TERRAIN_SAND; - break; - case 1: - beachTexture = TERRAIN_SAND_LIGHT; - break; - } - } - for (y = 1; y < mapSize - 1; y++) { - for (x = 1; x < mapSize - 1; x++) { - mapElement = map_get_surface_element_at(x, y); + // Add sandy beaches + sint32 beachTexture = floorTexture; + if (settings->floor == -1 && floorTexture == TERRAIN_GRASS) { + switch (util_rand() % 4) { + case 0: + beachTexture = TERRAIN_SAND; + break; + case 1: + beachTexture = TERRAIN_SAND_LIGHT; + break; + } + } + for (y = 1; y < mapSize - 1; y++) { + for (x = 1; x < mapSize - 1; x++) { + mapElement = map_get_surface_element_at(x, y); - if (mapElement->base_height < waterLevel + 6) - map_element_set_terrain(mapElement, beachTexture); - } - } + if (mapElement->base_height < waterLevel + 6) + map_element_set_terrain(mapElement, beachTexture); + } + } - // Place the trees - if (settings->trees != 0) - mapgen_place_trees(); + // Place the trees + if (settings->trees != 0) + mapgen_place_trees(); - map_reorganise_elements(); + map_reorganise_elements(); } static void mapgen_place_tree(sint32 type, sint32 x, sint32 y) { - sint32 surfaceZ; - rct_map_element *mapElement; - rct_scenery_entry *sceneryEntry = get_small_scenery_entry(type); + sint32 surfaceZ; + rct_map_element *mapElement; + rct_scenery_entry *sceneryEntry = get_small_scenery_entry(type); - surfaceZ = map_element_height(x * 32 + 16, y * 32 + 16) / 8; - mapElement = map_element_insert(x, y, surfaceZ, (1 | 2 | 4 | 8)); - assert(mapElement != NULL); - mapElement->clearance_height = surfaceZ + (sceneryEntry->small_scenery.height >> 3); + surfaceZ = map_element_height(x * 32 + 16, y * 32 + 16) / 8; + mapElement = map_element_insert(x, y, surfaceZ, (1 | 2 | 4 | 8)); + assert(mapElement != NULL); + mapElement->clearance_height = surfaceZ + (sceneryEntry->small_scenery.height >> 3); - mapElement->type = MAP_ELEMENT_TYPE_SCENERY | (util_rand() & 3); - mapElement->properties.scenery.type = type; - mapElement->properties.scenery.age = 0; - mapElement->properties.scenery.colour_1 = COLOUR_YELLOW; + mapElement->type = MAP_ELEMENT_TYPE_SCENERY | (util_rand() & 3); + mapElement->properties.scenery.type = type; + mapElement->properties.scenery.age = 0; + mapElement->properties.scenery.colour_1 = COLOUR_YELLOW; } /** @@ -264,119 +264,119 @@ static void mapgen_place_tree(sint32 type, sint32 x, sint32 y) */ static void mapgen_place_trees() { - sint32 numGrassTreeIds = 0, numDesertTreeIds = 0, numSnowTreeIds = 0; - sint32 *grassTreeIds = (sint32*)malloc(countof(GrassTrees) * sizeof(sint32)); - sint32 *desertTreeIds = (sint32*)malloc(countof(DesertTrees) * sizeof(sint32)); - sint32 *snowTreeIds = (sint32*)malloc(countof(SnowTrees) * sizeof(sint32)); + sint32 numGrassTreeIds = 0, numDesertTreeIds = 0, numSnowTreeIds = 0; + sint32 *grassTreeIds = (sint32*)malloc(countof(GrassTrees) * sizeof(sint32)); + sint32 *desertTreeIds = (sint32*)malloc(countof(DesertTrees) * sizeof(sint32)); + sint32 *snowTreeIds = (sint32*)malloc(countof(SnowTrees) * sizeof(sint32)); - for (sint32 i = 0; i < object_entry_group_counts[OBJECT_TYPE_SMALL_SCENERY]; i++) { - rct_scenery_entry *sceneryEntry = get_small_scenery_entry(i); - rct_object_entry_extended *entry = &object_entry_groups[OBJECT_TYPE_SMALL_SCENERY].entries[i]; + for (sint32 i = 0; i < object_entry_group_counts[OBJECT_TYPE_SMALL_SCENERY]; i++) { + rct_scenery_entry *sceneryEntry = get_small_scenery_entry(i); + rct_object_entry_extended *entry = &object_entry_groups[OBJECT_TYPE_SMALL_SCENERY].entries[i]; - if (sceneryEntry == (rct_scenery_entry*)-1 || sceneryEntry == NULL) - continue; + if (sceneryEntry == (rct_scenery_entry*)-1 || sceneryEntry == NULL) + continue; - sint32 j; - for (j = 0; j < countof(GrassTrees); j++) - if (strncmp(GrassTrees[j], entry->name, 8) == 0) - break; - if (j != countof(GrassTrees)) { - grassTreeIds[numGrassTreeIds++] = i; - continue; - } + sint32 j; + for (j = 0; j < countof(GrassTrees); j++) + if (strncmp(GrassTrees[j], entry->name, 8) == 0) + break; + if (j != countof(GrassTrees)) { + grassTreeIds[numGrassTreeIds++] = i; + continue; + } - for (j = 0; j < countof(DesertTrees); j++) - if (strncmp(DesertTrees[j], entry->name, 8) == 0) - break; - if (j != countof(DesertTrees)) { - desertTreeIds[numDesertTreeIds++] = i; - continue; - } + for (j = 0; j < countof(DesertTrees); j++) + if (strncmp(DesertTrees[j], entry->name, 8) == 0) + break; + if (j != countof(DesertTrees)) { + desertTreeIds[numDesertTreeIds++] = i; + continue; + } - for (j = 0; j < countof(SnowTrees); j++) - if (strncmp(SnowTrees[j], entry->name, 8) == 0) - break; - if (j != countof(SnowTrees)) { - snowTreeIds[numSnowTreeIds++] = i; - continue; - } - } + for (j = 0; j < countof(SnowTrees); j++) + if (strncmp(SnowTrees[j], entry->name, 8) == 0) + break; + if (j != countof(SnowTrees)) { + snowTreeIds[numSnowTreeIds++] = i; + continue; + } + } - sint32 availablePositionsCount = 0; - struct { sint32 x; sint32 y; } tmp, *pos, *availablePositions; - availablePositions = malloc(MAXIMUM_MAP_SIZE_TECHNICAL * MAXIMUM_MAP_SIZE_TECHNICAL * sizeof(tmp)); + sint32 availablePositionsCount = 0; + struct { sint32 x; sint32 y; } tmp, *pos, *availablePositions; + availablePositions = malloc(MAXIMUM_MAP_SIZE_TECHNICAL * MAXIMUM_MAP_SIZE_TECHNICAL * sizeof(tmp)); - // Create list of available tiles - for (sint32 y = 1; y < gMapSize - 1; y++) { - for (sint32 x = 1; x < gMapSize - 1; x++) { - rct_map_element *mapElement = map_get_surface_element_at(x, y); + // Create list of available tiles + for (sint32 y = 1; y < gMapSize - 1; y++) { + for (sint32 x = 1; x < gMapSize - 1; x++) { + rct_map_element *mapElement = map_get_surface_element_at(x, y); - // Exclude water tiles - if ((mapElement->properties.surface.terrain & 0x1F) != 0) - continue; + // Exclude water tiles + if ((mapElement->properties.surface.terrain & 0x1F) != 0) + continue; - pos = &availablePositions[availablePositionsCount++]; - pos->x = x; - pos->y = y; - } - } + pos = &availablePositions[availablePositionsCount++]; + pos->x = x; + pos->y = y; + } + } - // Shuffle list - for (sint32 i = 0; i < availablePositionsCount; i++) { - sint32 rindex = util_rand() % availablePositionsCount; - if (rindex == i) - continue; + // Shuffle list + for (sint32 i = 0; i < availablePositionsCount; i++) { + sint32 rindex = util_rand() % availablePositionsCount; + if (rindex == i) + continue; - tmp = availablePositions[i]; - availablePositions[i] = availablePositions[rindex]; - availablePositions[rindex] = tmp; - } + tmp = availablePositions[i]; + availablePositions[i] = availablePositions[rindex]; + availablePositions[rindex] = tmp; + } - // Place trees - float treeToLandRatio = (10 + (util_rand() % 30)) / 100.0f; - sint32 numTrees = max(4, (sint32)(availablePositionsCount * treeToLandRatio)); + // Place trees + float treeToLandRatio = (10 + (util_rand() % 30)) / 100.0f; + sint32 numTrees = max(4, (sint32)(availablePositionsCount * treeToLandRatio)); - for (sint32 i = 0; i < numTrees; i++) { - pos = &availablePositions[i]; + for (sint32 i = 0; i < numTrees; i++) { + pos = &availablePositions[i]; - sint32 type = -1; - rct_map_element *mapElement = map_get_surface_element_at(pos->x, pos->y); - switch (map_element_get_terrain(mapElement)) { - case TERRAIN_GRASS: - case TERRAIN_DIRT: - case TERRAIN_GRASS_CLUMPS: - if (numGrassTreeIds == 0) - break; + sint32 type = -1; + rct_map_element *mapElement = map_get_surface_element_at(pos->x, pos->y); + switch (map_element_get_terrain(mapElement)) { + case TERRAIN_GRASS: + case TERRAIN_DIRT: + case TERRAIN_GRASS_CLUMPS: + if (numGrassTreeIds == 0) + break; - type = grassTreeIds[util_rand() % numGrassTreeIds]; - break; + type = grassTreeIds[util_rand() % numGrassTreeIds]; + break; - case TERRAIN_SAND: - case TERRAIN_SAND_DARK: - case TERRAIN_SAND_LIGHT: - if (numDesertTreeIds == 0) - break; + case TERRAIN_SAND: + case TERRAIN_SAND_DARK: + case TERRAIN_SAND_LIGHT: + if (numDesertTreeIds == 0) + break; - if (util_rand() % 4 == 0) - type = desertTreeIds[util_rand() % numDesertTreeIds]; - break; + if (util_rand() % 4 == 0) + type = desertTreeIds[util_rand() % numDesertTreeIds]; + break; - case TERRAIN_ICE: - if (numSnowTreeIds == 0) - break; + case TERRAIN_ICE: + if (numSnowTreeIds == 0) + break; - type = snowTreeIds[util_rand() % numSnowTreeIds]; - break; - } + type = snowTreeIds[util_rand() % numSnowTreeIds]; + break; + } - if (type != -1) - mapgen_place_tree(type, pos->x, pos->y); - } + if (type != -1) + mapgen_place_tree(type, pos->x, pos->y); + } - free(availablePositions); - free(grassTreeIds); - free(desertTreeIds); - free(snowTreeIds); + free(availablePositions); + free(grassTreeIds); + free(desertTreeIds); + free(snowTreeIds); } /** @@ -384,37 +384,37 @@ static void mapgen_place_trees() */ static void mapgen_set_water_level(sint32 waterLevel) { - sint32 x, y, mapSize; - rct_map_element *mapElement; + sint32 x, y, mapSize; + rct_map_element *mapElement; - mapSize = gMapSize; + mapSize = gMapSize; - for (y = 1; y < mapSize - 1; y++) { - for (x = 1; x < mapSize - 1; x++) { - mapElement = map_get_surface_element_at(x, y); - if (mapElement->base_height < waterLevel) - mapElement->properties.surface.terrain |= (waterLevel / 2); - } - } + for (y = 1; y < mapSize - 1; y++) { + for (x = 1; x < mapSize - 1; x++) { + mapElement = map_get_surface_element_at(x, y); + if (mapElement->base_height < waterLevel) + mapElement->properties.surface.terrain |= (waterLevel / 2); + } + } } static void mapgen_blobs(sint32 count, sint32 lowSize, sint32 highSize, sint32 lowHeight, sint32 highHeight) { - sint32 i; - sint32 sizeRange = highSize - lowSize; - sint32 heightRange = highHeight - lowHeight; + sint32 i; + sint32 sizeRange = highSize - lowSize; + sint32 heightRange = highHeight - lowHeight; - sint32 border = 2 + (util_rand() % 24); - sint32 borderRange = _heightSize - (border * 2); - for (i = 0; i < count; i++) { - sint32 radius = lowSize + (util_rand() % sizeRange); - mapgen_blob( - border + (util_rand() % borderRange), - border + (util_rand() % borderRange), - (sint32)(M_PI * radius * radius), - lowHeight + (util_rand() % heightRange) - ); - } + sint32 border = 2 + (util_rand() % 24); + sint32 borderRange = _heightSize - (border * 2); + for (i = 0; i < count; i++) { + sint32 radius = lowSize + (util_rand() % sizeRange); + mapgen_blob( + border + (util_rand() % borderRange), + border + (util_rand() % borderRange), + (sint32)(M_PI * radius * radius), + lowHeight + (util_rand() % heightRange) + ); + } } /** @@ -422,86 +422,86 @@ static void mapgen_blobs(sint32 count, sint32 lowSize, sint32 highSize, sint32 l */ static void mapgen_blob_fill(sint32 height) { - // For each square find out whether it is landlocked by BLOB_HEIGHT and then fill it if it is - sint32 left = 0, - top = 0, - right = _heightSize - 1, - bottom = _heightSize - 1; + // For each square find out whether it is landlocked by BLOB_HEIGHT and then fill it if it is + sint32 left = 0, + top = 0, + right = _heightSize - 1, + bottom = _heightSize - 1; - uint8 *landX = (uint8*)malloc(_heightSize * _heightSize * sizeof(uint8)); - sint32 firstLand, lastLand; + uint8 *landX = (uint8*)malloc(_heightSize * _heightSize * sizeof(uint8)); + sint32 firstLand, lastLand; - // Check each row and see if each tile is between first land x and last land x - for (sint32 y = top; y <= bottom; y++) { - // Calculate first land - firstLand = -1; - for (sint32 xx = left; xx <= right; xx++) { - if (get_height(xx, y) == BLOB_HEIGHT) { - firstLand = xx; - break; - } - } + // Check each row and see if each tile is between first land x and last land x + for (sint32 y = top; y <= bottom; y++) { + // Calculate first land + firstLand = -1; + for (sint32 xx = left; xx <= right; xx++) { + if (get_height(xx, y) == BLOB_HEIGHT) { + firstLand = xx; + break; + } + } - lastLand = -1; - if (firstLand >= 0) { - // Calculate last land - for (sint32 xx = right; xx >= left; xx--) { - if (get_height(xx, y) == BLOB_HEIGHT) { - lastLand = xx; - break; - } - } - } else { - // No land on this row - continue; - } + lastLand = -1; + if (firstLand >= 0) { + // Calculate last land + for (sint32 xx = right; xx >= left; xx--) { + if (get_height(xx, y) == BLOB_HEIGHT) { + lastLand = xx; + break; + } + } + } else { + // No land on this row + continue; + } - for (sint32 x = left; x <= right; x++) - if (x >= firstLand && x <= lastLand) - landX[x * _heightSize + y] = 1; - } + for (sint32 x = left; x <= right; x++) + if (x >= firstLand && x <= lastLand) + landX[x * _heightSize + y] = 1; + } - // Do the same for Y - for (sint32 x = left; x <= right; x++) { - // Calculate first land - firstLand = -1; - for (sint32 yy = top; yy <= bottom; yy++) { - if (get_height(x, yy) == BLOB_HEIGHT) { - firstLand = yy; - break; - } - } + // Do the same for Y + for (sint32 x = left; x <= right; x++) { + // Calculate first land + firstLand = -1; + for (sint32 yy = top; yy <= bottom; yy++) { + if (get_height(x, yy) == BLOB_HEIGHT) { + firstLand = yy; + break; + } + } - lastLand = -1; - if (firstLand >= 0) { - // Calculate last land - for (sint32 yy = bottom; yy >= top; yy--) { - if (get_height(x, yy) == BLOB_HEIGHT) { - lastLand = yy; - break; - } - } - } else { - // No land on this row - continue; - } + lastLand = -1; + if (firstLand >= 0) { + // Calculate last land + for (sint32 yy = bottom; yy >= top; yy--) { + if (get_height(x, yy) == BLOB_HEIGHT) { + lastLand = yy; + break; + } + } + } else { + // No land on this row + continue; + } - for (sint32 y = top; y <= bottom; y++) { - if (y >= firstLand && y <= lastLand && landX[x * _heightSize + y]) { - // Not only do we know it's landlocked to both x and y - // we can change the land too - set_height(x, y, BLOB_HEIGHT); - } - } - } + for (sint32 y = top; y <= bottom; y++) { + if (y >= firstLand && y <= lastLand && landX[x * _heightSize + y]) { + // Not only do we know it's landlocked to both x and y + // we can change the land too + set_height(x, y, BLOB_HEIGHT); + } + } + } - // Replace all the BLOB_HEIGHT with the actual land height - for (sint32 x = left; x <= right; x++) - for (sint32 y = top; y <= bottom; y++) - if (get_height(x, y) == BLOB_HEIGHT) - set_height(x, y, height); + // Replace all the BLOB_HEIGHT with the actual land height + for (sint32 x = left; x <= right; x++) + for (sint32 y = top; y <= bottom; y++) + if (get_height(x, y) == BLOB_HEIGHT) + set_height(x, y, height); - free(landX); + free(landX); } /** @@ -509,81 +509,81 @@ static void mapgen_blob_fill(sint32 height) */ static void mapgen_blob(sint32 cx, sint32 cy, sint32 size, sint32 height) { - sint32 x, y, currentSize, direction; + sint32 x, y, currentSize, direction; - x = cx; - y = cy; - currentSize = 1; - direction = 0; - set_height(x, y, BLOB_HEIGHT); + x = cx; + y = cy; + currentSize = 1; + direction = 0; + set_height(x, y, BLOB_HEIGHT); - while (currentSize < size) { - if (util_rand() % 2 == 0) { - set_height(x, y, BLOB_HEIGHT); - currentSize++; - } + while (currentSize < size) { + if (util_rand() % 2 == 0) { + set_height(x, y, BLOB_HEIGHT); + currentSize++; + } - switch (direction) { - case 0: - if (y == 0) { - currentSize = size; - break; - } + switch (direction) { + case 0: + if (y == 0) { + currentSize = size; + break; + } - y--; - if (get_height(x + 1, y) != BLOB_HEIGHT) - direction = 1; - else if (get_height(x, y - 1) != BLOB_HEIGHT) - direction = 0; - else if (get_height(x - 1, y) != BLOB_HEIGHT) - direction = 3; - break; - case 1: - if (x == _heightSize - 1) { - currentSize = size; - break; - } + y--; + if (get_height(x + 1, y) != BLOB_HEIGHT) + direction = 1; + else if (get_height(x, y - 1) != BLOB_HEIGHT) + direction = 0; + else if (get_height(x - 1, y) != BLOB_HEIGHT) + direction = 3; + break; + case 1: + if (x == _heightSize - 1) { + currentSize = size; + break; + } - x++; - if (get_height(x, y + 1) != BLOB_HEIGHT) - direction = 2; - else if (get_height(x + 1, y) != BLOB_HEIGHT) - direction = 1; - else if (get_height(x, y - 1) != BLOB_HEIGHT) - direction = 0; - break; - case 2: - if (y == _heightSize - 1) { - currentSize = size; - break; - } + x++; + if (get_height(x, y + 1) != BLOB_HEIGHT) + direction = 2; + else if (get_height(x + 1, y) != BLOB_HEIGHT) + direction = 1; + else if (get_height(x, y - 1) != BLOB_HEIGHT) + direction = 0; + break; + case 2: + if (y == _heightSize - 1) { + currentSize = size; + break; + } - y++; - if (get_height(x - 1, y) != BLOB_HEIGHT) - direction = 3; - else if (get_height(x, y + 1) != BLOB_HEIGHT) - direction = 2; - else if (get_height(x + 1, y) != BLOB_HEIGHT) - direction = 1; - break; - case 3: - if (x == 0) { - currentSize = size; - break; - } + y++; + if (get_height(x - 1, y) != BLOB_HEIGHT) + direction = 3; + else if (get_height(x, y + 1) != BLOB_HEIGHT) + direction = 2; + else if (get_height(x + 1, y) != BLOB_HEIGHT) + direction = 1; + break; + case 3: + if (x == 0) { + currentSize = size; + break; + } - x--; - if (get_height(x, y - 1) != BLOB_HEIGHT) - direction = 0; - else if (get_height(x - 1, y) != BLOB_HEIGHT) - direction = 3; - else if (get_height(x, y + 1) != BLOB_HEIGHT) - direction = 2; - break; - } - } + x--; + if (get_height(x, y - 1) != BLOB_HEIGHT) + direction = 0; + else if (get_height(x - 1, y) != BLOB_HEIGHT) + direction = 3; + else if (get_height(x, y + 1) != BLOB_HEIGHT) + direction = 2; + break; + } + } - mapgen_blob_fill(height); + mapgen_blob_fill(height); } /** @@ -591,25 +591,25 @@ static void mapgen_blob(sint32 cx, sint32 cy, sint32 size, sint32 height) */ static void mapgen_smooth_height(sint32 iterations) { - sint32 i, x, y, xx, yy, avg; - sint32 arraySize = _heightSize * _heightSize * sizeof(uint8); - uint8 *copyHeight = malloc(arraySize); + sint32 i, x, y, xx, yy, avg; + sint32 arraySize = _heightSize * _heightSize * sizeof(uint8); + uint8 *copyHeight = malloc(arraySize); - for (i = 0; i < iterations; i++) { - memcpy(copyHeight, _height, arraySize); - for (y = 1; y < _heightSize - 1; y++) { - for (x = 1; x < _heightSize - 1; x++) { - avg = 0; - for (yy = -1; yy <= 1; yy++) - for (xx = -1; xx <= 1; xx++) - avg += copyHeight[(y + yy) * _heightSize + (x + xx)]; - avg /= 9; - set_height(x, y, avg); - } - } - } + for (i = 0; i < iterations; i++) { + memcpy(copyHeight, _height, arraySize); + for (y = 1; y < _heightSize - 1; y++) { + for (x = 1; x < _heightSize - 1; x++) { + avg = 0; + for (yy = -1; yy <= 1; yy++) + for (xx = -1; xx <= 1; xx++) + avg += copyHeight[(y + yy) * _heightSize + (x + xx)]; + avg /= 9; + set_height(x, y, avg); + } + } + } - free(copyHeight); + free(copyHeight); } /** @@ -617,36 +617,36 @@ static void mapgen_smooth_height(sint32 iterations) */ static void mapgen_set_height() { - sint32 x, y, heightX, heightY, mapSize; - rct_map_element *mapElement; + sint32 x, y, heightX, heightY, mapSize; + rct_map_element *mapElement; - mapSize = _heightSize / 2; - for (y = 1; y < mapSize - 1; y++) { - for (x = 1; x < mapSize - 1; x++) { - heightX = x * 2; - heightY = y * 2; + mapSize = _heightSize / 2; + for (y = 1; y < mapSize - 1; y++) { + for (x = 1; x < mapSize - 1; x++) { + heightX = x * 2; + heightY = y * 2; - uint8 q00 = get_height(heightX + 0, heightY + 0); - uint8 q01 = get_height(heightX + 0, heightY + 1); - uint8 q10 = get_height(heightX + 1, heightY + 0); - uint8 q11 = get_height(heightX + 1, heightY + 1); + uint8 q00 = get_height(heightX + 0, heightY + 0); + uint8 q01 = get_height(heightX + 0, heightY + 1); + uint8 q10 = get_height(heightX + 1, heightY + 0); + uint8 q11 = get_height(heightX + 1, heightY + 1); - uint8 baseHeight = (q00 + q01 + q10 + q11) / 4; + uint8 baseHeight = (q00 + q01 + q10 + q11) / 4; - mapElement = map_get_surface_element_at(x, y); - mapElement->base_height = max(2, baseHeight * 2); - mapElement->clearance_height = mapElement->base_height; + mapElement = map_get_surface_element_at(x, y); + mapElement->base_height = max(2, baseHeight * 2); + mapElement->clearance_height = mapElement->base_height; - if (q00 > baseHeight) - mapElement->properties.surface.slope |= 4; - if (q01 > baseHeight) - mapElement->properties.surface.slope |= 8; - if (q10 > baseHeight) - mapElement->properties.surface.slope |= 2; - if (q11 > baseHeight) - mapElement->properties.surface.slope |= 1; - } - } + if (q00 > baseHeight) + mapElement->properties.surface.slope |= 4; + if (q01 > baseHeight) + mapElement->properties.surface.slope |= 8; + if (q10 > baseHeight) + mapElement->properties.surface.slope |= 2; + if (q11 > baseHeight) + mapElement->properties.surface.slope |= 1; + } + } } #pragma region Noise @@ -666,120 +666,120 @@ static uint8 perm[512]; static void noise_rand() { - for (sint32 i = 0; i < countof(perm); i++) - perm[i] = util_rand() & 0xFF; + for (sint32 i = 0; i < countof(perm); i++) + perm[i] = util_rand() & 0xFF; } static float fractal_noise(sint32 x, sint32 y, float frequency, sint32 octaves, float lacunarity, float persistence) { - float total = 0.0f; - float amplitude = persistence; - for (sint32 i = 0; i < octaves; i++) { - total += generate(x * frequency, y * frequency) * amplitude; - frequency *= lacunarity; - amplitude *= persistence; - } - return total; + float total = 0.0f; + float amplitude = persistence; + for (sint32 i = 0; i < octaves; i++) { + total += generate(x * frequency, y * frequency) * amplitude; + frequency *= lacunarity; + amplitude *= persistence; + } + return total; } static float generate(float x, float y) { - const float F2 = 0.366025403f; // F2 = 0.5*(sqrt(3.0)-1.0) - const float G2 = 0.211324865f; // G2 = (3.0-Math.sqrt(3.0))/6.0 + const float F2 = 0.366025403f; // F2 = 0.5*(sqrt(3.0)-1.0) + const float G2 = 0.211324865f; // G2 = (3.0-Math.sqrt(3.0))/6.0 - float n0, n1, n2; // Noise contributions from the three corners + float n0, n1, n2; // Noise contributions from the three corners - // Skew the input space to determine which simplex cell we're in - float s = (x + y) * F2; // Hairy factor for 2D - float xs = x + s; - float ys = y + s; - sint32 i = fast_floor(xs); - sint32 j = fast_floor(ys); + // Skew the input space to determine which simplex cell we're in + float s = (x + y) * F2; // Hairy factor for 2D + float xs = x + s; + float ys = y + s; + sint32 i = fast_floor(xs); + sint32 j = fast_floor(ys); - float t = (float)(i + j) * G2; - float X0 = i - t; // Unskew the cell origin back to (x,y) space - float Y0 = j - t; - float x0 = x - X0; // The x,y distances from the cell origin - float y0 = y - Y0; + float t = (float)(i + j) * G2; + float X0 = i - t; // Unskew the cell origin back to (x,y) space + float Y0 = j - t; + float x0 = x - X0; // The x,y distances from the cell origin + float y0 = y - Y0; - // For the 2D case, the simplex shape is an equilateral triangle. - // Determine which simplex we are in. - sint32 i1, j1; // Offsets for second (middle) corner of simplex in (i,j) coords - if (x0 > y0) { i1 = 1; j1 = 0; } // lower triangle, XY order: (0,0)->(1,0)->(1,1) - else { i1 = 0; j1 = 1; } // upper triangle, YX order: (0,0)->(0,1)->(1,1) + // For the 2D case, the simplex shape is an equilateral triangle. + // Determine which simplex we are in. + sint32 i1, j1; // Offsets for second (middle) corner of simplex in (i,j) coords + if (x0 > y0) { i1 = 1; j1 = 0; } // lower triangle, XY order: (0,0)->(1,0)->(1,1) + else { i1 = 0; j1 = 1; } // upper triangle, YX order: (0,0)->(0,1)->(1,1) - // A step of (1,0) in (i,j) means a step of (1-c,-c) in (x,y), and - // a step of (0,1) in (i,j) means a step of (-c,1-c) in (x,y), where - // c = (3-sqrt(3))/6 + // A step of (1,0) in (i,j) means a step of (1-c,-c) in (x,y), and + // a step of (0,1) in (i,j) means a step of (-c,1-c) in (x,y), where + // c = (3-sqrt(3))/6 - float x1 = x0 - i1 + G2; // Offsets for middle corner in (x,y) unskewed coords - float y1 = y0 - j1 + G2; - float x2 = x0 - 1.0f + 2.0f * G2; // Offsets for last corner in (x,y) unskewed coords - float y2 = y0 - 1.0f + 2.0f * G2; + float x1 = x0 - i1 + G2; // Offsets for middle corner in (x,y) unskewed coords + float y1 = y0 - j1 + G2; + float x2 = x0 - 1.0f + 2.0f * G2; // Offsets for last corner in (x,y) unskewed coords + float y2 = y0 - 1.0f + 2.0f * G2; - // Wrap the integer indices at 256, to avoid indexing perm[] out of bounds - sint32 ii = i % 256; - sint32 jj = j % 256; + // Wrap the integer indices at 256, to avoid indexing perm[] out of bounds + sint32 ii = i % 256; + sint32 jj = j % 256; - // Calculate the contribution from the three corners - float t0 = 0.5f - x0 * x0 - y0 * y0; - if (t0 < 0.0f) n0 = 0.0f; - else { - t0 *= t0; - n0 = t0 * t0 * grad(perm[ii + perm[jj]], x0, y0); - } + // Calculate the contribution from the three corners + float t0 = 0.5f - x0 * x0 - y0 * y0; + if (t0 < 0.0f) n0 = 0.0f; + else { + t0 *= t0; + n0 = t0 * t0 * grad(perm[ii + perm[jj]], x0, y0); + } - float t1 = 0.5f - x1 * x1 - y1 * y1; - if (t1 < 0.0f) n1 = 0.0f; - else { - t1 *= t1; - n1 = t1 * t1 * grad(perm[ii + i1 + perm[jj + j1]], x1, y1); - } + float t1 = 0.5f - x1 * x1 - y1 * y1; + if (t1 < 0.0f) n1 = 0.0f; + else { + t1 *= t1; + n1 = t1 * t1 * grad(perm[ii + i1 + perm[jj + j1]], x1, y1); + } - float t2 = 0.5f - x2 * x2 - y2 * y2; - if (t2 < 0.0f) n2 = 0.0f; - else { - t2 *= t2; - n2 = t2 * t2 * grad(perm[ii + 1 + perm[jj + 1]], x2, y2); - } + float t2 = 0.5f - x2 * x2 - y2 * y2; + if (t2 < 0.0f) n2 = 0.0f; + else { + t2 *= t2; + n2 = t2 * t2 * grad(perm[ii + 1 + perm[jj + 1]], x2, y2); + } - // Add contributions from each corner to get the final noise value. - // The result is scaled to return values in the interval [-1,1]. - return 40.0f * (n0 + n1 + n2); // TODO: The scale factor is preliminary! + // Add contributions from each corner to get the final noise value. + // The result is scaled to return values in the interval [-1,1]. + return 40.0f * (n0 + n1 + n2); // TODO: The scale factor is preliminary! } static sint32 fast_floor(float x) { - return (x > 0) ? ((sint32)x) : (((sint32)x) - 1); + return (x > 0) ? ((sint32)x) : (((sint32)x) - 1); } static float grad(sint32 hash, float x, float y) { - sint32 h = hash & 7; // Convert low 3 bits of hash code - float u = h < 4 ? x : y; // into 8 simple gradient directions, - float v = h < 4 ? y : x; // and compute the dot product with (x,y). - return ((h & 1) != 0 ? -u : u) + ((h & 2) != 0 ? -2.0f * v : 2.0f * v); + sint32 h = hash & 7; // Convert low 3 bits of hash code + float u = h < 4 ? x : y; // into 8 simple gradient directions, + float v = h < 4 ? y : x; // and compute the dot product with (x,y). + return ((h & 1) != 0 ? -u : u) + ((h & 2) != 0 ? -2.0f * v : 2.0f * v); } static void mapgen_simplex(mapgen_settings *settings) { - sint32 x, y; + sint32 x, y; - float freq = settings->simplex_base_freq * (1.0f / _heightSize); - sint32 octaves = settings->simplex_octaves; + float freq = settings->simplex_base_freq * (1.0f / _heightSize); + sint32 octaves = settings->simplex_octaves; - sint32 low = settings->simplex_low; - sint32 high = settings->simplex_high; + sint32 low = settings->simplex_low; + sint32 high = settings->simplex_high; - noise_rand(); - for (y = 0; y < _heightSize; y++) { - for (x = 0; x < _heightSize; x++) { - float noiseValue = clamp(-1.0f, fractal_noise(x, y, freq, octaves, 2.0f, 0.65f), 1.0f); - float normalisedNoiseValue = (noiseValue + 1.0f) / 2.0f; + noise_rand(); + for (y = 0; y < _heightSize; y++) { + for (x = 0; x < _heightSize; x++) { + float noiseValue = clamp(-1.0f, fractal_noise(x, y, freq, octaves, 2.0f, 0.65f), 1.0f); + float normalisedNoiseValue = (noiseValue + 1.0f) / 2.0f; - set_height(x, y, low + (sint32)(normalisedNoiseValue * high)); - } - } + set_height(x, y, low + (sint32)(normalisedNoiseValue * high)); + } + } } #pragma endregion @@ -788,86 +788,86 @@ static void mapgen_simplex(mapgen_settings *settings) bool mapgen_load_heightmap(const utf8 *path) { - const char* extension = path_get_extension(path); - uint8 *pixels; - size_t pitch; - uint32 numChannels; - uint32 width, height; + const char* extension = path_get_extension(path); + uint8 *pixels; + size_t pitch; + uint32 numChannels; + uint32 width, height; - if (strcicmp(extension, ".png") == 0) { - if (!image_io_png_read(&pixels, &width, &height, path)) { - log_warning("Error reading PNG"); - window_error_open(STR_HEIGHT_MAP_ERROR, STR_ERROR_READING_PNG); - return false; - } + if (strcicmp(extension, ".png") == 0) { + if (!image_io_png_read(&pixels, &width, &height, path)) { + log_warning("Error reading PNG"); + window_error_open(STR_HEIGHT_MAP_ERROR, STR_ERROR_READING_PNG); + return false; + } - numChannels = 4; - pitch = width * numChannels; - } - else if (strcicmp(extension, ".bmp") == 0) { - SDL_Surface *bitmap = SDL_LoadBMP(path); - if (bitmap == NULL) { - log_warning("Failed to load bitmap: %s", SDL_GetError()); - window_error_open(STR_HEIGHT_MAP_ERROR, STR_ERROR_READING_BITMAP); - return false; - } + numChannels = 4; + pitch = width * numChannels; + } + else if (strcicmp(extension, ".bmp") == 0) { + SDL_Surface *bitmap = SDL_LoadBMP(path); + if (bitmap == NULL) { + log_warning("Failed to load bitmap: %s", SDL_GetError()); + window_error_open(STR_HEIGHT_MAP_ERROR, STR_ERROR_READING_BITMAP); + return false; + } - width = bitmap->w; - height = bitmap->h; - numChannels = bitmap->format->BytesPerPixel; - pitch = bitmap->pitch; + width = bitmap->w; + height = bitmap->h; + numChannels = bitmap->format->BytesPerPixel; + pitch = bitmap->pitch; - if (numChannels < 3 || bitmap->format->BitsPerPixel < 24) - { - window_error_open(STR_HEIGHT_MAP_ERROR, STR_ERROR_24_BIT_BITMAP); - SDL_FreeSurface(bitmap); - return false; - } + if (numChannels < 3 || bitmap->format->BitsPerPixel < 24) + { + window_error_open(STR_HEIGHT_MAP_ERROR, STR_ERROR_24_BIT_BITMAP); + SDL_FreeSurface(bitmap); + return false; + } - // Copy pixels over, then discard the surface - SDL_LockSurface(bitmap); - pixels = malloc(height * bitmap->pitch); - memcpy(pixels, bitmap->pixels, height * bitmap->pitch); - SDL_UnlockSurface(bitmap); - SDL_FreeSurface(bitmap); - } - else - { - openrct2_assert(false, "A file with an invalid file extension was selected."); - return false; - } + // Copy pixels over, then discard the surface + SDL_LockSurface(bitmap); + pixels = malloc(height * bitmap->pitch); + memcpy(pixels, bitmap->pixels, height * bitmap->pitch); + SDL_UnlockSurface(bitmap); + SDL_FreeSurface(bitmap); + } + else + { + openrct2_assert(false, "A file with an invalid file extension was selected."); + return false; + } - if (width != height) { - window_error_open(STR_HEIGHT_MAP_ERROR, STR_ERROR_WIDTH_AND_HEIGHT_DO_NOT_MATCH); - free(pixels); - return false; - } + if (width != height) { + window_error_open(STR_HEIGHT_MAP_ERROR, STR_ERROR_WIDTH_AND_HEIGHT_DO_NOT_MATCH); + free(pixels); + return false; + } - if (width > MAXIMUM_MAP_SIZE_PRACTICAL) { - window_error_open(STR_HEIGHT_MAP_ERROR, STR_ERROR_HEIHGT_MAP_TOO_BIG); - width = height = min(height, MAXIMUM_MAP_SIZE_PRACTICAL); - } + if (width > MAXIMUM_MAP_SIZE_PRACTICAL) { + window_error_open(STR_HEIGHT_MAP_ERROR, STR_ERROR_HEIHGT_MAP_TOO_BIG); + width = height = min(height, MAXIMUM_MAP_SIZE_PRACTICAL); + } - // Allocate memory for the height map values, one byte pixel - free(_heightMapData.mono_bitmap); - _heightMapData.mono_bitmap = (uint8*)malloc(width * height); - _heightMapData.width = width; - _heightMapData.height = height; + // Allocate memory for the height map values, one byte pixel + free(_heightMapData.mono_bitmap); + _heightMapData.mono_bitmap = (uint8*)malloc(width * height); + _heightMapData.width = width; + _heightMapData.height = height; - // Copy average RGB value to mono bitmap - for (uint32 x = 0; x < _heightMapData.width; x++) - { - for (uint32 y = 0; y < _heightMapData.height; y++) - { - const uint8 red = pixels[x * numChannels + y * pitch]; - const uint8 green = pixels[x * numChannels + y * pitch + 1]; - const uint8 blue = pixels[x * numChannels + y * pitch + 2]; - _heightMapData.mono_bitmap[x + y * _heightMapData.width] = (red + green + blue) / 3; - } - } + // Copy average RGB value to mono bitmap + for (uint32 x = 0; x < _heightMapData.width; x++) + { + for (uint32 y = 0; y < _heightMapData.height; y++) + { + const uint8 red = pixels[x * numChannels + y * pitch]; + const uint8 green = pixels[x * numChannels + y * pitch + 1]; + const uint8 blue = pixels[x * numChannels + y * pitch + 2]; + _heightMapData.mono_bitmap[x + y * _heightMapData.width] = (red + green + blue) / 3; + } + } - free(pixels); - return true; + free(pixels); + return true; } /** @@ -875,10 +875,10 @@ bool mapgen_load_heightmap(const utf8 *path) */ void mapgen_unload_heightmap() { - free(_heightMapData.mono_bitmap); - _heightMapData.mono_bitmap = NULL; - _heightMapData.width = 0; - _heightMapData.height = 0; + free(_heightMapData.mono_bitmap); + _heightMapData.mono_bitmap = NULL; + _heightMapData.width = 0; + _heightMapData.height = 0; } /** @@ -886,145 +886,145 @@ void mapgen_unload_heightmap() */ static void mapgen_smooth_heightmap(uint8 *src, sint32 strength) { - // Create buffer to store one channel - uint8 *dest = (uint8*)malloc(_heightMapData.width * _heightMapData.height); + // Create buffer to store one channel + uint8 *dest = (uint8*)malloc(_heightMapData.width * _heightMapData.height); - for (sint32 i = 0; i < strength; i++) - { - // Calculate box blur value to all pixels of the surface - for (uint32 y = 0; y < _heightMapData.height; y++) - { - for (uint32 x = 0; x < _heightMapData.width; x++) - { - uint32 heightSum = 0; + for (sint32 i = 0; i < strength; i++) + { + // Calculate box blur value to all pixels of the surface + for (uint32 y = 0; y < _heightMapData.height; y++) + { + for (uint32 x = 0; x < _heightMapData.width; x++) + { + uint32 heightSum = 0; - // Loop over neighbour pixels, all of them have the same weight - for (sint8 offsetX = -1; offsetX <= 1; offsetX++) - { - for (sint8 offsetY = -1; offsetY <= 1; offsetY++) - { - // Clamp x and y so they stay within the image - // This assumes the height map is not tiled, and increases the weight of the edges - const sint32 readX = clamp((sint32)x + offsetX, 0, (sint32)_heightMapData.width - 1); - const sint32 readY = clamp((sint32)y + offsetY, 0, (sint32)_heightMapData.height - 1); - heightSum += src[readX + readY * _heightMapData.width]; - } - } + // Loop over neighbour pixels, all of them have the same weight + for (sint8 offsetX = -1; offsetX <= 1; offsetX++) + { + for (sint8 offsetY = -1; offsetY <= 1; offsetY++) + { + // Clamp x and y so they stay within the image + // This assumes the height map is not tiled, and increases the weight of the edges + const sint32 readX = clamp((sint32)x + offsetX, 0, (sint32)_heightMapData.width - 1); + const sint32 readY = clamp((sint32)y + offsetY, 0, (sint32)_heightMapData.height - 1); + heightSum += src[readX + readY * _heightMapData.width]; + } + } - // Take average - dest[x + y * _heightMapData.width] = heightSum / 9; - } - } + // Take average + dest[x + y * _heightMapData.width] = heightSum / 9; + } + } - // Now apply the blur to the source pixels - for (uint32 y = 0; y < _heightMapData.height; y++) - { - for (uint32 x = 0; x < _heightMapData.width; x++) - { - src[x + y * _heightMapData.width] = dest[x + y * _heightMapData.width]; - } - } - } + // Now apply the blur to the source pixels + for (uint32 y = 0; y < _heightMapData.height; y++) + { + for (uint32 x = 0; x < _heightMapData.width; x++) + { + src[x + y * _heightMapData.width] = dest[x + y * _heightMapData.width]; + } + } + } - free(dest); + free(dest); } void mapgen_generate_from_heightmap(mapgen_settings *settings) { - openrct2_assert(_heightMapData.width == _heightMapData.height, "Invalid height map size"); - openrct2_assert(_heightMapData.mono_bitmap != NULL, "No height map loaded"); - openrct2_assert(settings->simplex_high != settings->simplex_low, "Low and high setting cannot be the same"); + openrct2_assert(_heightMapData.width == _heightMapData.height, "Invalid height map size"); + openrct2_assert(_heightMapData.mono_bitmap != NULL, "No height map loaded"); + openrct2_assert(settings->simplex_high != settings->simplex_low, "Low and high setting cannot be the same"); - // Make a copy of the original height map that we can edit - uint8 *dest = (uint8*)malloc(_heightMapData.width * _heightMapData.height); - memcpy(dest, _heightMapData.mono_bitmap, _heightMapData.width * _heightMapData.width); + // Make a copy of the original height map that we can edit + uint8 *dest = (uint8*)malloc(_heightMapData.width * _heightMapData.height); + memcpy(dest, _heightMapData.mono_bitmap, _heightMapData.width * _heightMapData.width); - map_init(_heightMapData.width + 2); // + 2 for the black tiles around the map + map_init(_heightMapData.width + 2); // + 2 for the black tiles around the map - if (settings->smooth_height_map) - { - mapgen_smooth_heightmap(dest, settings->smooth_strength); - } + if (settings->smooth_height_map) + { + mapgen_smooth_heightmap(dest, settings->smooth_strength); + } - uint8 maxValue = 255; - uint8 minValue = 0; + uint8 maxValue = 255; + uint8 minValue = 0; - if (settings->normalize_height) - { - // Get highest and lowest pixel value - maxValue = 0; - minValue = 0xff; - for (uint32 y = 0; y < _heightMapData.height; y++) - { - for (uint32 x = 0; x < _heightMapData.width; x++) - { - uint8 value = dest[x + y * _heightMapData.width]; - maxValue = max(maxValue, value); - minValue = min(minValue, value); - } - } + if (settings->normalize_height) + { + // Get highest and lowest pixel value + maxValue = 0; + minValue = 0xff; + for (uint32 y = 0; y < _heightMapData.height; y++) + { + for (uint32 x = 0; x < _heightMapData.width; x++) + { + uint8 value = dest[x + y * _heightMapData.width]; + maxValue = max(maxValue, value); + minValue = min(minValue, value); + } + } - if (minValue == maxValue) - { - window_error_open(STR_HEIGHT_MAP_ERROR, STR_ERROR_CANNOT_NORMALIZE); - free(dest); - return; - } - } + if (minValue == maxValue) + { + window_error_open(STR_HEIGHT_MAP_ERROR, STR_ERROR_CANNOT_NORMALIZE); + free(dest); + return; + } + } - openrct2_assert(maxValue > minValue, "Input range is invalid"); - openrct2_assert(settings->simplex_high > settings->simplex_low, "Output range is invalid"); + openrct2_assert(maxValue > minValue, "Input range is invalid"); + openrct2_assert(settings->simplex_high > settings->simplex_low, "Output range is invalid"); - const uint8 rangeIn = maxValue - minValue; - const uint8 rangeOut = settings->simplex_high - settings->simplex_low; + const uint8 rangeIn = maxValue - minValue; + const uint8 rangeOut = settings->simplex_high - settings->simplex_low; - for (uint32 y = 0; y < _heightMapData.height; y++) - { - for (uint32 x = 0; x < _heightMapData.width; x++) - { - // The x and y axis are flipped in the world, so this uses y for x and x for y. - rct_map_element *const surfaceElement = map_get_surface_element_at(y + 1, x + 1); + for (uint32 y = 0; y < _heightMapData.height; y++) + { + for (uint32 x = 0; x < _heightMapData.width; x++) + { + // The x and y axis are flipped in the world, so this uses y for x and x for y. + rct_map_element *const surfaceElement = map_get_surface_element_at(y + 1, x + 1); - // Read value from bitmap, and convert its range - uint8 value = dest[x + y * _heightMapData.width]; - value = (uint8)((float)(value - minValue) / rangeIn * rangeOut) + settings->simplex_low; - surfaceElement->base_height = value; + // Read value from bitmap, and convert its range + uint8 value = dest[x + y * _heightMapData.width]; + value = (uint8)((float)(value - minValue) / rangeIn * rangeOut) + settings->simplex_low; + surfaceElement->base_height = value; - // Floor to even number - surfaceElement->base_height /= 2; - surfaceElement->base_height *= 2; - surfaceElement->clearance_height = surfaceElement->base_height; + // Floor to even number + surfaceElement->base_height /= 2; + surfaceElement->base_height *= 2; + surfaceElement->clearance_height = surfaceElement->base_height; - // Set water level - if (surfaceElement->base_height < settings->water_level) - { - surfaceElement->properties.surface.terrain |= settings->water_level / 2; - } - } - } + // Set water level + if (surfaceElement->base_height < settings->water_level) + { + surfaceElement->properties.surface.terrain |= settings->water_level / 2; + } + } + } - // Smooth map - if (settings->smooth) - { - // Keep smoothing the entire map until no tiles are changed anymore - while (true) - { - uint32 numTilesChanged = 0; - for (uint32 y = 1; y <= _heightMapData.height; y++) - { - for (uint32 x = 1; x <= _heightMapData.width; x++) - { - numTilesChanged += tile_smooth(x, y); - } - } + // Smooth map + if (settings->smooth) + { + // Keep smoothing the entire map until no tiles are changed anymore + while (true) + { + uint32 numTilesChanged = 0; + for (uint32 y = 1; y <= _heightMapData.height; y++) + { + for (uint32 x = 1; x <= _heightMapData.width; x++) + { + numTilesChanged += tile_smooth(x, y); + } + } - if (numTilesChanged == 0) - break; - } - } + if (numTilesChanged == 0) + break; + } + } - // Clean up - free(dest); + // Clean up + free(dest); } #pragma endregion diff --git a/src/openrct2/world/mapgen.h b/src/openrct2/world/mapgen.h index 22235facf8..99722aed1c 100644 --- a/src/openrct2/world/mapgen.h +++ b/src/openrct2/world/mapgen.h @@ -20,27 +20,27 @@ #include "../common.h" typedef struct mapgen_settings { - // Base - sint32 mapSize; - sint32 height; - sint32 water_level; - sint32 floor; - sint32 wall; + // Base + sint32 mapSize; + sint32 height; + sint32 water_level; + sint32 floor; + sint32 wall; - // Features (e.g. tree, rivers, lakes etc.) - sint32 trees; + // Features (e.g. tree, rivers, lakes etc.) + sint32 trees; - // Simplex Noise Parameters - sint32 simplex_low; - sint32 simplex_high; - float simplex_base_freq; - sint32 simplex_octaves; + // Simplex Noise Parameters + sint32 simplex_low; + sint32 simplex_high; + float simplex_base_freq; + sint32 simplex_octaves; - // Height map settings - bool smooth; - bool smooth_height_map; - uint32 smooth_strength; - bool normalize_height; + // Height map settings + bool smooth; + bool smooth_height_map; + uint32 smooth_strength; + bool normalize_height; } mapgen_settings; void mapgen_generate_blank(mapgen_settings *settings); diff --git a/src/openrct2/world/money_effect.c b/src/openrct2/world/money_effect.c index 3cf832de72..ab9d0705aa 100644 --- a/src/openrct2/world/money_effect.c +++ b/src/openrct2/world/money_effect.c @@ -20,10 +20,10 @@ #include "sprite.h" static const rct_xy16 _moneyEffectMoveOffset[] = { - { 1, -1 }, - { 1, 1 }, - { -1, 1 }, - { -1, -1 } + { 1, -1 }, + { 1, 1 }, + { -1, 1 }, + { -1, -1 } }; /** @@ -32,29 +32,29 @@ static const rct_xy16 _moneyEffectMoveOffset[] = { */ void money_effect_create_at(money32 value, sint32 x, sint32 y, sint32 z, bool vertical) { - rct_money_effect * moneyEffect = (rct_money_effect *)create_sprite(2); - if (moneyEffect == NULL) - return; + rct_money_effect * moneyEffect = (rct_money_effect *)create_sprite(2); + if (moneyEffect == NULL) + return; - moneyEffect->value = value; - moneyEffect->vertical = (vertical ? 1 : 0); - moneyEffect->var_14 = 64; - moneyEffect->var_09 = 20; - moneyEffect->var_15 = 30; - moneyEffect->sprite_identifier = SPRITE_IDENTIFIER_MISC; - sprite_move(x, y, z, (rct_sprite*)moneyEffect); - moneyEffect->misc_identifier = SPRITE_MISC_MONEY_EFFECT; - moneyEffect->num_movements = 0; - moneyEffect->move_delay = 0; + moneyEffect->value = value; + moneyEffect->vertical = (vertical ? 1 : 0); + moneyEffect->var_14 = 64; + moneyEffect->var_09 = 20; + moneyEffect->var_15 = 30; + moneyEffect->sprite_identifier = SPRITE_IDENTIFIER_MISC; + sprite_move(x, y, z, (rct_sprite*)moneyEffect); + moneyEffect->misc_identifier = SPRITE_MISC_MONEY_EFFECT; + moneyEffect->num_movements = 0; + moneyEffect->move_delay = 0; - // Construct string to display - rct_string_id stringId = money_effect_get_string_id(moneyEffect, &value); - char buffer[128]; - format_string(buffer, 128, stringId, &value); + // Construct string to display + rct_string_id stringId = money_effect_get_string_id(moneyEffect, &value); + char buffer[128]; + format_string(buffer, 128, stringId, &value); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - moneyEffect->offset_x = -(gfx_get_string_width(buffer) / 2); - moneyEffect->wiggle = 0; + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + moneyEffect->offset_x = -(gfx_get_string_width(buffer) / 2); + moneyEffect->wiggle = 0; } /** @@ -63,32 +63,32 @@ void money_effect_create_at(money32 value, sint32 x, sint32 y, sint32 z, bool ve */ void money_effect_create(money32 value) { - rct_xyz16 mapPosition = { - .x = gCommandPosition.x, - .y = gCommandPosition.y, - .z = gCommandPosition.z - }; + rct_xyz16 mapPosition = { + .x = gCommandPosition.x, + .y = gCommandPosition.y, + .z = gCommandPosition.z + }; - if (mapPosition.x == MAP_LOCATION_NULL) { - rct_window *mainWindow = window_get_main(); - if (mainWindow == NULL) - return; + if (mapPosition.x == MAP_LOCATION_NULL) { + rct_window *mainWindow = window_get_main(); + if (mainWindow == NULL) + return; - rct_viewport *mainViewport = mainWindow->viewport; - screen_get_map_xy( - mainViewport->x + (mainViewport->width / 2), - mainViewport->y + (mainViewport->height / 2), - &mapPosition.x, - &mapPosition.y, - NULL - ); - if (mapPosition.x == MAP_LOCATION_NULL) - return; + rct_viewport *mainViewport = mainWindow->viewport; + screen_get_map_xy( + mainViewport->x + (mainViewport->width / 2), + mainViewport->y + (mainViewport->height / 2), + &mapPosition.x, + &mapPosition.y, + NULL + ); + if (mapPosition.x == MAP_LOCATION_NULL) + return; - mapPosition.z = map_element_height(mapPosition.x, mapPosition.y) & 0xFFFF; - } - mapPosition.z += 10; - money_effect_create_at(-value, mapPosition.x, mapPosition.y, mapPosition.z, false); + mapPosition.z = map_element_height(mapPosition.x, mapPosition.y) & 0xFFFF; + } + mapPosition.z += 10; + money_effect_create_at(-value, mapPosition.x, mapPosition.y, mapPosition.z, false); } /** @@ -97,46 +97,46 @@ void money_effect_create(money32 value) */ void money_effect_update(rct_money_effect *moneyEffect) { - invalidate_sprite_2((rct_sprite*)moneyEffect); - moneyEffect->wiggle++; - if (moneyEffect->wiggle >= 22) - moneyEffect->wiggle = 0; + invalidate_sprite_2((rct_sprite*)moneyEffect); + moneyEffect->wiggle++; + if (moneyEffect->wiggle >= 22) + moneyEffect->wiggle = 0; - moneyEffect->move_delay++; - if (moneyEffect->move_delay < 2) - return; + moneyEffect->move_delay++; + if (moneyEffect->move_delay < 2) + return; - sint32 x = moneyEffect->x; - sint32 y = moneyEffect->y; - sint32 z = moneyEffect->z; - moneyEffect->move_delay = 0; + sint32 x = moneyEffect->x; + sint32 y = moneyEffect->y; + sint32 z = moneyEffect->z; + moneyEffect->move_delay = 0; - if (moneyEffect->vertical) { - z += 1; - } - y += _moneyEffectMoveOffset[get_current_rotation()].y; - x += _moneyEffectMoveOffset[get_current_rotation()].x; + if (moneyEffect->vertical) { + z += 1; + } + y += _moneyEffectMoveOffset[get_current_rotation()].y; + x += _moneyEffectMoveOffset[get_current_rotation()].x; - sprite_move(x, y, z, (rct_sprite*)moneyEffect); + sprite_move(x, y, z, (rct_sprite*)moneyEffect); - moneyEffect->num_movements++; - if (moneyEffect->num_movements < 55) - return; + moneyEffect->num_movements++; + if (moneyEffect->num_movements < 55) + return; - sprite_remove((rct_sprite*)moneyEffect); + sprite_remove((rct_sprite*)moneyEffect); } rct_string_id money_effect_get_string_id(const rct_money_effect * sprite, money32 * outValue) { - bool vertical = (sprite->vertical != 0); - rct_string_id spentStringId = vertical ? STR_MONEY_EFFECT_SPEND_HIGHP : STR_MONEY_EFFECT_SPEND; - rct_string_id receiveStringId = vertical ? STR_MONEY_EFFECT_RECEIVE_HIGHP : STR_MONEY_EFFECT_RECEIVE; - rct_string_id stringId = receiveStringId; - money32 value = sprite->value; - if (value < 0) { - value *= -1; - stringId = spentStringId; - } - if (outValue != NULL) *outValue = value; - return stringId; + bool vertical = (sprite->vertical != 0); + rct_string_id spentStringId = vertical ? STR_MONEY_EFFECT_SPEND_HIGHP : STR_MONEY_EFFECT_SPEND; + rct_string_id receiveStringId = vertical ? STR_MONEY_EFFECT_RECEIVE_HIGHP : STR_MONEY_EFFECT_RECEIVE; + rct_string_id stringId = receiveStringId; + money32 value = sprite->value; + if (value < 0) { + value *= -1; + stringId = spentStringId; + } + if (outValue != NULL) *outValue = value; + return stringId; } diff --git a/src/openrct2/world/park.c b/src/openrct2/world/park.c index ddbd79be88..7efa071245 100644 --- a/src/openrct2/world/park.c +++ b/src/openrct2/world/park.c @@ -74,7 +74,7 @@ sint32 _guestGenerationProbability; sint32 park_is_open() { - return (gParkFlags & PARK_FLAGS_PARK_OPEN) != 0; + return (gParkFlags & PARK_FLAGS_PARK_OPEN) != 0; } /** @@ -83,62 +83,62 @@ sint32 park_is_open() */ void park_init() { - sint32 i; + sint32 i; - gUnk13CA740 = 0; - gParkName = STR_UNNAMED_PARK; - gStaffHandymanColour = COLOUR_BRIGHT_RED; - gStaffMechanicColour = COLOUR_LIGHT_BLUE; - gStaffSecurityColour = COLOUR_YELLOW; - gNumGuestsInPark = 0; - gNumGuestsInParkLastWeek = 0; - gNumGuestsHeadingForPark = 0; - gGuestChangeModifier = 0; - gParkRating = 0; - _guestGenerationProbability = 0; - gTotalRideValue = 0; - gResearchLastItemSubject = (uint32)-1; + gUnk13CA740 = 0; + gParkName = STR_UNNAMED_PARK; + gStaffHandymanColour = COLOUR_BRIGHT_RED; + gStaffMechanicColour = COLOUR_LIGHT_BLUE; + gStaffSecurityColour = COLOUR_YELLOW; + gNumGuestsInPark = 0; + gNumGuestsInParkLastWeek = 0; + gNumGuestsHeadingForPark = 0; + gGuestChangeModifier = 0; + gParkRating = 0; + _guestGenerationProbability = 0; + gTotalRideValue = 0; + gResearchLastItemSubject = (uint32)-1; - for (i = 0; i < 20; i++) - gMarketingCampaignDaysLeft[i] = 0; + for (i = 0; i < 20; i++) + gMarketingCampaignDaysLeft[i] = 0; - research_reset_items(); - finance_init(); + research_reset_items(); + finance_init(); - for (i = 0; i < 2; i++) - gResearchedRideTypes[i] = 0; + for (i = 0; i < 2; i++) + gResearchedRideTypes[i] = 0; - reset_researched_scenery_items(); + reset_researched_scenery_items(); - gParkEntranceFee = MONEY(10, 00); - gPeepSpawns[0].x = PEEP_SPAWN_UNDEFINED; - gPeepSpawns[1].x = PEEP_SPAWN_UNDEFINED; - gResearchPriorities = - (1 << RESEARCH_CATEGORY_TRANSPORT) | - (1 << RESEARCH_CATEGORY_GENTLE) | - (1 << RESEARCH_CATEGORY_ROLLERCOASTER) | - (1 << RESEARCH_CATEGORY_THRILL) | - (1 << RESEARCH_CATEGORY_WATER) | - (1 << RESEARCH_CATEGORY_SHOP) | - (1 << RESEARCH_CATEGORY_SCENERYSET); - gResearchFundingLevel = RESEARCH_FUNDING_NORMAL; + gParkEntranceFee = MONEY(10, 00); + gPeepSpawns[0].x = PEEP_SPAWN_UNDEFINED; + gPeepSpawns[1].x = PEEP_SPAWN_UNDEFINED; + gResearchPriorities = + (1 << RESEARCH_CATEGORY_TRANSPORT) | + (1 << RESEARCH_CATEGORY_GENTLE) | + (1 << RESEARCH_CATEGORY_ROLLERCOASTER) | + (1 << RESEARCH_CATEGORY_THRILL) | + (1 << RESEARCH_CATEGORY_WATER) | + (1 << RESEARCH_CATEGORY_SHOP) | + (1 << RESEARCH_CATEGORY_SCENERYSET); + gResearchFundingLevel = RESEARCH_FUNDING_NORMAL; - gGuestInitialCash = MONEY(50,00); // Cash per guest (average) - gGuestInitialHappiness = calculate_guest_initial_happiness(50); // 50% - gGuestInitialHunger = 200; - gGuestInitialThirst = 200; - gScenarioObjectiveType = OBJECTIVE_GUESTS_BY; - gScenarioObjectiveYear = 4; - gScenarioObjectiveNumGuests = 1000; - gLandPrice = MONEY(90, 00); - gConstructionRightsPrice = MONEY(40,00); - gParkFlags = PARK_FLAGS_NO_MONEY | PARK_FLAGS_SHOW_REAL_GUEST_NAMES; - park_reset_history(); - finance_reset_history(); - award_reset(); + gGuestInitialCash = MONEY(50,00); // Cash per guest (average) + gGuestInitialHappiness = calculate_guest_initial_happiness(50); // 50% + gGuestInitialHunger = 200; + gGuestInitialThirst = 200; + gScenarioObjectiveType = OBJECTIVE_GUESTS_BY; + gScenarioObjectiveYear = 4; + gScenarioObjectiveNumGuests = 1000; + gLandPrice = MONEY(90, 00); + gConstructionRightsPrice = MONEY(40,00); + gParkFlags = PARK_FLAGS_NO_MONEY | PARK_FLAGS_SHOW_REAL_GUEST_NAMES; + park_reset_history(); + finance_reset_history(); + award_reset(); - gS6Info.name[0] = '\0'; - format_string(gS6Info.details, 256, STR_NO_DETAILS_YET, NULL); + gS6Info.name[0] = '\0'; + format_string(gS6Info.details, 256, STR_NO_DETAILS_YET, NULL); } /** @@ -147,10 +147,10 @@ void park_init() */ void park_reset_history() { - for (sint32 i = 0; i < 32; i++) { - gParkRatingHistory[i] = 255; - gGuestsInParkHistory[i] = 255; - } + for (sint32 i = 0; i < 32; i++) { + gParkRatingHistory[i] = 255; + gGuestsInParkHistory[i] = 255; + } } /** @@ -159,25 +159,25 @@ void park_reset_history() */ sint32 park_calculate_size() { - sint32 tiles; - map_element_iterator it; + sint32 tiles; + map_element_iterator it; - tiles = 0; - map_element_iterator_begin(&it); - do { - if (map_element_get_type(it.element) == MAP_ELEMENT_TYPE_SURFACE) { - if (it.element->properties.surface.ownership & (OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED | OWNERSHIP_OWNED)) { - tiles++; - } - } - } while (map_element_iterator_next(&it)); + tiles = 0; + map_element_iterator_begin(&it); + do { + if (map_element_get_type(it.element) == MAP_ELEMENT_TYPE_SURFACE) { + if (it.element->properties.surface.ownership & (OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED | OWNERSHIP_OWNED)) { + tiles++; + } + } + } while (map_element_iterator_next(&it)); - if (tiles != gParkSize) { - gParkSize = tiles; - window_invalidate_by_class(WC_PARK_INFORMATION); - } + if (tiles != gParkSize) { + gParkSize = tiles; + window_invalidate_by_class(WC_PARK_INFORMATION); + } - return tiles; + return tiles; } /** @@ -186,127 +186,127 @@ sint32 park_calculate_size() */ sint32 calculate_park_rating() { - if (gForcedParkRating >= 0) - return gForcedParkRating; + if (gForcedParkRating >= 0) + return gForcedParkRating; - sint32 result; + sint32 result; - result = 1150; - if (gParkFlags & PARK_FLAGS_DIFFICULT_PARK_RATING) - result = 1050; + result = 1150; + if (gParkFlags & PARK_FLAGS_DIFFICULT_PARK_RATING) + result = 1050; - // Guests - { - rct_peep* peep; - uint16 spriteIndex; - sint32 num_happy_peeps; - sint32 num_lost_guests; + // Guests + { + rct_peep* peep; + uint16 spriteIndex; + sint32 num_happy_peeps; + sint32 num_lost_guests; - // -150 to +3 based on a range of guests from 0 to 2000 - result -= 150 - (min(2000, gNumGuestsInPark) / 13); + // -150 to +3 based on a range of guests from 0 to 2000 + result -= 150 - (min(2000, gNumGuestsInPark) / 13); - // Find the number of happy peeps and the number of peeps who can't find the park exit - num_happy_peeps = 0; - num_lost_guests = 0; - FOR_ALL_GUESTS(spriteIndex, peep) { - if (peep->outside_of_park != 0) - continue; - if (peep->happiness > 128) - num_happy_peeps++; - if ((peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) && (peep->peep_is_lost_countdown < 90)) - num_lost_guests++; - } + // Find the number of happy peeps and the number of peeps who can't find the park exit + num_happy_peeps = 0; + num_lost_guests = 0; + FOR_ALL_GUESTS(spriteIndex, peep) { + if (peep->outside_of_park != 0) + continue; + if (peep->happiness > 128) + num_happy_peeps++; + if ((peep->peep_flags & PEEP_FLAGS_LEAVING_PARK) && (peep->peep_is_lost_countdown < 90)) + num_lost_guests++; + } - // Peep happiness -500 to +0 - result -= 500; + // Peep happiness -500 to +0 + result -= 500; - if (gNumGuestsInPark > 0) - result += 2 * min(250, (num_happy_peeps * 300) / gNumGuestsInPark); + if (gNumGuestsInPark > 0) + result += 2 * min(250, (num_happy_peeps * 300) / gNumGuestsInPark); - // Up to 25 guests can be lost without affecting the park rating. - if (num_lost_guests > 25) - result -= (num_lost_guests - 25) * 7; - } + // Up to 25 guests can be lost without affecting the park rating. + if (num_lost_guests > 25) + result -= (num_lost_guests - 25) * 7; + } - // Rides - { - sint32 i; - sint16 total_ride_uptime = 0, total_ride_intensity = 0, total_ride_excitement = 0; - sint32 num_rides, num_exciting_rides = 0; - rct_ride* ride; + // Rides + { + sint32 i; + sint16 total_ride_uptime = 0, total_ride_intensity = 0, total_ride_excitement = 0; + sint32 num_rides, num_exciting_rides = 0; + rct_ride* ride; - num_rides = 0; - FOR_ALL_RIDES(i, ride) { - total_ride_uptime += 100 - ride->downtime; + num_rides = 0; + FOR_ALL_RIDES(i, ride) { + total_ride_uptime += 100 - ride->downtime; - if (ride->excitement != RIDE_RATING_UNDEFINED){ - total_ride_excitement += ride->excitement / 8; - total_ride_intensity += ride->intensity / 8; - num_exciting_rides++; - } - num_rides++; - } - result -= 200; - if (num_rides > 0) - result += (total_ride_uptime / num_rides) * 2; + if (ride->excitement != RIDE_RATING_UNDEFINED){ + total_ride_excitement += ride->excitement / 8; + total_ride_intensity += ride->intensity / 8; + num_exciting_rides++; + } + num_rides++; + } + result -= 200; + if (num_rides > 0) + result += (total_ride_uptime / num_rides) * 2; - result -= 100; + result -= 100; - if (num_exciting_rides>0){ - sint16 average_excitement = total_ride_excitement / num_exciting_rides; - sint16 average_intensity = total_ride_intensity / num_exciting_rides; + if (num_exciting_rides>0){ + sint16 average_excitement = total_ride_excitement / num_exciting_rides; + sint16 average_intensity = total_ride_intensity / num_exciting_rides; - average_excitement -= 46; - if (average_excitement < 0){ - average_excitement = -average_excitement; - } + average_excitement -= 46; + if (average_excitement < 0){ + average_excitement = -average_excitement; + } - average_intensity -= 65; - if (average_intensity < 0){ - average_intensity = -average_intensity; - } + average_intensity -= 65; + if (average_intensity < 0){ + average_intensity = -average_intensity; + } - average_excitement = min(average_excitement / 2, 50); - average_intensity = min(average_intensity / 2, 50); - result += 100 - average_excitement - average_intensity; - } + average_excitement = min(average_excitement / 2, 50); + average_intensity = min(average_intensity / 2, 50); + result += 100 - average_excitement - average_intensity; + } - total_ride_excitement = min(1000, total_ride_excitement); - total_ride_intensity = min(1000, total_ride_intensity); - result -= 200 - ((total_ride_excitement + total_ride_intensity) / 10); - } + total_ride_excitement = min(1000, total_ride_excitement); + total_ride_intensity = min(1000, total_ride_intensity); + result -= 200 - ((total_ride_excitement + total_ride_intensity) / 10); + } - // Litter - { - rct_litter* litter; - uint16 sprite_idx; - sint16 num_litter; + // Litter + { + rct_litter* litter; + uint16 sprite_idx; + sint16 num_litter; - num_litter = 0; - for (sprite_idx = gSpriteListHead[SPRITE_LIST_LITTER]; sprite_idx != SPRITE_INDEX_NULL; sprite_idx = litter->next) { - litter = &(get_sprite(sprite_idx)->litter); + num_litter = 0; + for (sprite_idx = gSpriteListHead[SPRITE_LIST_LITTER]; sprite_idx != SPRITE_INDEX_NULL; sprite_idx = litter->next) { + litter = &(get_sprite(sprite_idx)->litter); - // Ignore recently dropped litter - if (litter->creationTick - gScenarioTicks >= 7680) - num_litter++; - } - result -= 600 - (4 * (150 - min(150, num_litter))); - } + // Ignore recently dropped litter + if (litter->creationTick - gScenarioTicks >= 7680) + num_litter++; + } + result -= 600 - (4 * (150 - min(150, num_litter))); + } - result -= gParkRatingCasualtyPenalty; - result = clamp(0, result, 999); - return result; + result -= gParkRatingCasualtyPenalty; + result = clamp(0, result, 999); + return result; } static money32 calculate_ride_value(rct_ride *ride) { - if (ride->type == RIDE_TYPE_NULL) - return 0; - if (ride->value == RIDE_VALUE_UNDEFINED) - return 0; + if (ride->type == RIDE_TYPE_NULL) + return 0; + if (ride->value == RIDE_VALUE_UNDEFINED) + return 0; - // Fair value * (...) - return (ride->value * 10) * (ride_customers_in_last_5_minutes(ride) + rideBonusValue[ride->type] * 4); + // Fair value * (...) + return (ride->value * 10) * (ride_customers_in_last_5_minutes(ride) + rideBonusValue[ride->type] * 4); } /** @@ -316,17 +316,17 @@ static money32 calculate_ride_value(rct_ride *ride) money32 calculate_park_value() { - // Sum ride values - money32 result = 0; - for (sint32 i = 0; i < 255; i++) { - rct_ride* ride = get_ride(i); - result += calculate_ride_value(ride); - } + // Sum ride values + money32 result = 0; + for (sint32 i = 0; i < 255; i++) { + rct_ride* ride = get_ride(i); + result += calculate_ride_value(ride); + } - // +7.00 per guest - result += gNumGuestsInPark * MONEY(7, 00); + // +7.00 per guest + result += gNumGuestsInPark * MONEY(7, 00); - return result; + return result; } /** @@ -337,10 +337,10 @@ money32 calculate_park_value() */ money32 calculate_company_value() { - return - DECRYPT_MONEY(gCashEncrypted) + - gParkValue - - gBankLoan; + return + DECRYPT_MONEY(gCashEncrypted) + + gParkValue - + gBankLoan; } /** @@ -349,11 +349,11 @@ money32 calculate_company_value() */ void reset_park_entry() { - gParkName = 0; + gParkName = 0; reset_park_entrance(); - for (sint32 i = 0; i < MAX_PEEP_SPAWNS; i++) { - gPeepSpawns[i].x = PEEP_SPAWN_UNDEFINED; - } + for (sint32 i = 0; i < MAX_PEEP_SPAWNS; i++) { + gPeepSpawns[i].x = PEEP_SPAWN_UNDEFINED; + } } /** @@ -365,104 +365,104 @@ void reset_park_entry() */ static sint32 park_calculate_guest_generation_probability() { - uint32 probability; - sint32 i, suggestedMaxGuests; - money16 totalRideValue; - rct_ride *ride; + uint32 probability; + sint32 i, suggestedMaxGuests; + money16 totalRideValue; + rct_ride *ride; - // Calculate suggested guest maximum (based on ride type) and total ride value - suggestedMaxGuests = 0; - totalRideValue = 0; - FOR_ALL_RIDES(i, ride) { - if (ride->status != RIDE_STATUS_OPEN) - continue; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) - continue; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED) - continue; + // Calculate suggested guest maximum (based on ride type) and total ride value + suggestedMaxGuests = 0; + totalRideValue = 0; + FOR_ALL_RIDES(i, ride) { + if (ride->status != RIDE_STATUS_OPEN) + continue; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) + continue; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED) + continue; - // Add guest score for ride type - suggestedMaxGuests += rideBonusValue[ride->type]; + // Add guest score for ride type + suggestedMaxGuests += rideBonusValue[ride->type]; - // Add ride value - if (ride->value != RIDE_VALUE_UNDEFINED) { - money16 rideValue = (money16)(ride->value - ride->price); - if (rideValue > 0) { - totalRideValue += rideValue * 2; - } - } - } + // Add ride value + if (ride->value != RIDE_VALUE_UNDEFINED) { + money16 rideValue = (money16)(ride->value - ride->price); + if (rideValue > 0) { + totalRideValue += rideValue * 2; + } + } + } - // If difficult guest generation, extra guests are available for good rides - if (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION) { - suggestedMaxGuests = min(suggestedMaxGuests, 1000); - FOR_ALL_RIDES(i, ride) { - if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) - continue; - if (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED) - continue; + // If difficult guest generation, extra guests are available for good rides + if (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION) { + suggestedMaxGuests = min(suggestedMaxGuests, 1000); + FOR_ALL_RIDES(i, ride) { + if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) + continue; + if (ride->lifecycle_flags & RIDE_LIFECYCLE_CRASHED) + continue; - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK)) - continue; - if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_DATA_LOGGING)) - continue; - if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) - continue; - if (ride->length[0] < (600 << 16)) - continue; - if (ride->excitement < RIDE_RATING(6,00)) - continue; + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_TRACK)) + continue; + if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_DATA_LOGGING)) + continue; + if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)) + continue; + if (ride->length[0] < (600 << 16)) + continue; + if (ride->excitement < RIDE_RATING(6,00)) + continue; - // Bonus guests for good ride - suggestedMaxGuests += rideBonusValue[ride->type] * 2; - } - } + // Bonus guests for good ride + suggestedMaxGuests += rideBonusValue[ride->type] * 2; + } + } - suggestedMaxGuests = min(suggestedMaxGuests, 65535); - gTotalRideValue = totalRideValue; - _suggestedGuestMaximum = suggestedMaxGuests; + suggestedMaxGuests = min(suggestedMaxGuests, 65535); + gTotalRideValue = totalRideValue; + _suggestedGuestMaximum = suggestedMaxGuests; - // Begin with 50 + park rating - probability = 50 + clamp(0, gParkRating - 200, 650); + // Begin with 50 + park rating + probability = 50 + clamp(0, gParkRating - 200, 650); - // The more guests, the lower the chance of a new one - sint32 numGuests = gNumGuestsInPark + gNumGuestsHeadingForPark; - if (numGuests > suggestedMaxGuests) { - probability /= 4; + // The more guests, the lower the chance of a new one + sint32 numGuests = gNumGuestsInPark + gNumGuestsHeadingForPark; + if (numGuests > suggestedMaxGuests) { + probability /= 4; - // Even lower for difficult guest generation - if (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION) - probability /= 4; - } + // Even lower for difficult guest generation + if (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION) + probability /= 4; + } - // Reduces chance for any more than 7000 guests - if (numGuests > 7000) - probability /= 4; + // Reduces chance for any more than 7000 guests + if (numGuests > 7000) + probability /= 4; - // Penalty for overpriced entrance fee relative to total ride value - money16 entranceFee = park_get_entrance_fee(); - if (entranceFee > totalRideValue) { - probability /= 4; + // Penalty for overpriced entrance fee relative to total ride value + money16 entranceFee = park_get_entrance_fee(); + if (entranceFee > totalRideValue) { + probability /= 4; - // Extra penalty for very overpriced entrance fee - if (entranceFee / 2 > totalRideValue) - probability /= 4; - } + // Extra penalty for very overpriced entrance fee + if (entranceFee / 2 > totalRideValue) + probability /= 4; + } - // Reward or penalties for park awards - for (i = 0; i < MAX_AWARDS; i++) { - Award *award = &gCurrentAwards[i]; - if (award->Time == 0) - continue; + // Reward or penalties for park awards + for (i = 0; i < MAX_AWARDS; i++) { + Award *award = &gCurrentAwards[i]; + if (award->Time == 0) + continue; - // +/- 0.25% of the probability - if (award_is_positive(award->Type)) - probability += probability / 4; - else - probability -= probability / 4; - } + // +/- 0.25% of the probability + if (award_is_positive(award->Type)) + probability += probability / 4; + else + probability -= probability / 4; + } - return probability; + return probability; } /** @@ -470,68 +470,68 @@ static sint32 park_calculate_guest_generation_probability() */ static uint32 get_random_peep_spawn_index() { - uint32 spawnIndexList[MAX_PEEP_SPAWNS]; - uint32 numSpawns = map_get_available_peep_spawn_index_list(spawnIndexList); - if (numSpawns > 0) { - return spawnIndexList[scenario_rand() % numSpawns]; - } - else { - return 0; - } + uint32 spawnIndexList[MAX_PEEP_SPAWNS]; + uint32 numSpawns = map_get_available_peep_spawn_index_list(spawnIndexList); + if (numSpawns > 0) { + return spawnIndexList[scenario_rand() % numSpawns]; + } + else { + return 0; + } } rct_peep *park_generate_new_guest() { - rct_peep *peep = NULL; - rct2_peep_spawn spawn = gPeepSpawns[get_random_peep_spawn_index()]; + rct_peep *peep = NULL; + rct2_peep_spawn spawn = gPeepSpawns[get_random_peep_spawn_index()]; - if (spawn.x != 0xFFFF) { - spawn.direction ^= 2; - peep = peep_generate(spawn.x, spawn.y, spawn.z * 16); - if (peep != NULL) { - peep->sprite_direction = spawn.direction << 3; + if (spawn.x != 0xFFFF) { + spawn.direction ^= 2; + peep = peep_generate(spawn.x, spawn.y, spawn.z * 16); + if (peep != NULL) { + peep->sprite_direction = spawn.direction << 3; - // Get the centre point of the tile the peep is on - peep->destination_x = (peep->x & 0xFFE0) + 16; - peep->destination_y = (peep->y & 0xFFE0) + 16; + // Get the centre point of the tile the peep is on + peep->destination_x = (peep->x & 0xFFE0) + 16; + peep->destination_y = (peep->y & 0xFFE0) + 16; - peep->destination_tolerence = 5; - peep->var_76 = 0; - peep->direction = spawn.direction; - peep->var_37 = 0; - peep->state = PEEP_STATE_ENTERING_PARK; - } - } + peep->destination_tolerence = 5; + peep->var_76 = 0; + peep->direction = spawn.direction; + peep->var_37 = 0; + peep->state = PEEP_STATE_ENTERING_PARK; + } + } - return peep; + return peep; } static rct_peep *park_generate_new_guest_due_to_campaign(sint32 campaign) { - rct_peep *peep = park_generate_new_guest(); - if (peep != NULL) - marketing_set_guest_campaign(peep, campaign); - return peep; + rct_peep *peep = park_generate_new_guest(); + if (peep != NULL) + marketing_set_guest_campaign(peep, campaign); + return peep; } static void park_generate_new_guests() { - // Generate a new guest for some probability - if ((sint32)(scenario_rand() & 0xFFFF) < _guestGenerationProbability) { - sint32 difficultGeneration = (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION) != 0; - if (!difficultGeneration || _suggestedGuestMaximum + 150 >= gNumGuestsInPark) - park_generate_new_guest(); - } + // Generate a new guest for some probability + if ((sint32)(scenario_rand() & 0xFFFF) < _guestGenerationProbability) { + sint32 difficultGeneration = (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION) != 0; + if (!difficultGeneration || _suggestedGuestMaximum + 150 >= gNumGuestsInPark) + park_generate_new_guest(); + } - // Extra guests generated by advertising campaigns - sint32 campaign; - for (campaign = 0; campaign < ADVERTISING_CAMPAIGN_COUNT; campaign++) { - if (gMarketingCampaignDaysLeft[campaign] != 0) { - // Random chance of guest generation - if ((sint32)(scenario_rand() & 0xFFFF) < marketing_get_campaign_guest_generation_probability(campaign)) - park_generate_new_guest_due_to_campaign(campaign); - } - } + // Extra guests generated by advertising campaigns + sint32 campaign; + for (campaign = 0; campaign < ADVERTISING_CAMPAIGN_COUNT; campaign++) { + if (gMarketingCampaignDaysLeft[campaign] != 0) { + // Random chance of guest generation + if ((sint32)(scenario_rand() & 0xFFFF) < marketing_get_campaign_guest_generation_probability(campaign)) + park_generate_new_guest_due_to_campaign(campaign); + } + } } /** @@ -540,46 +540,46 @@ static void park_generate_new_guests() */ void park_update() { - if (gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) - return; + if (gScreenFlags & (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) + return; - // Every 5 seconds approximately - if (gCurrentTicks % 512 == 0) { - gParkRating = calculate_park_rating(); - gParkValue = calculate_park_value(); - gCompanyValue = calculate_company_value(); - window_invalidate_by_class(WC_FINANCES); - _guestGenerationProbability = park_calculate_guest_generation_probability(); - gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PARK_RATING; - window_invalidate_by_class(WC_PARK_INFORMATION); - } + // Every 5 seconds approximately + if (gCurrentTicks % 512 == 0) { + gParkRating = calculate_park_rating(); + gParkValue = calculate_park_value(); + gCompanyValue = calculate_company_value(); + window_invalidate_by_class(WC_FINANCES); + _guestGenerationProbability = park_calculate_guest_generation_probability(); + gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PARK_RATING; + window_invalidate_by_class(WC_PARK_INFORMATION); + } - // Generate new guests - park_generate_new_guests(); + // Generate new guests + park_generate_new_guests(); } uint8 calculate_guest_initial_happiness(uint8 percentage) { - if (percentage < 15) { - // There is a minimum of 15% happiness - percentage = 15; - } - else if (percentage > 98) { - // There is a maximum of 98% happiness - percentage = 98; - } + if (percentage < 15) { + // There is a minimum of 15% happiness + percentage = 15; + } + else if (percentage > 98) { + // There is a maximum of 98% happiness + percentage = 98; + } - /* The percentages follow this sequence: - 15 17 18 20 21 23 25 26 28 29 31 32 34 36 37 39 40 42 43 45 47 48 50 51 53... + /* The percentages follow this sequence: + 15 17 18 20 21 23 25 26 28 29 31 32 34 36 37 39 40 42 43 45 47 48 50 51 53... - This sequence can be defined as PI*(9+n)/2 (the value is floored) - */ - uint8 n; - for (n = 1; n < 55; n++) { - if ((3.14159*(9 + n)) / 2 >= percentage) { - return (9 + n) * 4; - } - } - return 40; // This is the lowest possible value + This sequence can be defined as PI*(9+n)/2 (the value is floored) + */ + uint8 n; + for (n = 1; n < 55; n++) { + if ((3.14159*(9 + n)) / 2 >= percentage) { + return (9 + n) * 4; + } + } + return 40; // This is the lowest possible value } /** @@ -588,61 +588,61 @@ uint8 calculate_guest_initial_happiness(uint8 percentage) { */ void park_update_histories() { - sint32 guestsInPark = gNumGuestsInPark; - sint32 lastGuestsInPark = gNumGuestsInParkLastWeek; - gNumGuestsInParkLastWeek = guestsInPark; - gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PEEP_COUNT; + sint32 guestsInPark = gNumGuestsInPark; + sint32 lastGuestsInPark = gNumGuestsInParkLastWeek; + gNumGuestsInParkLastWeek = guestsInPark; + gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PEEP_COUNT; - sint32 changeInGuestsInPark = guestsInPark - lastGuestsInPark; - sint32 guestChangeModifier = 1; - if (changeInGuestsInPark > -20) { - guestChangeModifier++; - if (changeInGuestsInPark < 20) - guestChangeModifier = 0; - } - gGuestChangeModifier = guestChangeModifier; + sint32 changeInGuestsInPark = guestsInPark - lastGuestsInPark; + sint32 guestChangeModifier = 1; + if (changeInGuestsInPark > -20) { + guestChangeModifier++; + if (changeInGuestsInPark < 20) + guestChangeModifier = 0; + } + gGuestChangeModifier = guestChangeModifier; - // Update park rating history - for (sint32 i = 31; i > 0; i--) - gParkRatingHistory[i] = gParkRatingHistory[i - 1]; - gParkRatingHistory[0] = calculate_park_rating() / 4; - window_invalidate_by_class(WC_PARK_INFORMATION); + // Update park rating history + for (sint32 i = 31; i > 0; i--) + gParkRatingHistory[i] = gParkRatingHistory[i - 1]; + gParkRatingHistory[0] = calculate_park_rating() / 4; + window_invalidate_by_class(WC_PARK_INFORMATION); - // Update guests in park history - for (sint32 i = 31; i > 0; i--) - gGuestsInParkHistory[i] = gGuestsInParkHistory[i - 1]; - gGuestsInParkHistory[0] = min(guestsInPark, 5000) / 20; - window_invalidate_by_class(WC_PARK_INFORMATION); + // Update guests in park history + for (sint32 i = 31; i > 0; i--) + gGuestsInParkHistory[i] = gGuestsInParkHistory[i - 1]; + gGuestsInParkHistory[0] = min(guestsInPark, 5000) / 20; + window_invalidate_by_class(WC_PARK_INFORMATION); - // Update current cash history - for (sint32 i = 127; i > 0; i--) - gCashHistory[i] = gCashHistory[i - 1]; - gCashHistory[0] = DECRYPT_MONEY(gCashEncrypted) - gBankLoan; - window_invalidate_by_class(WC_FINANCES); + // Update current cash history + for (sint32 i = 127; i > 0; i--) + gCashHistory[i] = gCashHistory[i - 1]; + gCashHistory[0] = DECRYPT_MONEY(gCashEncrypted) - gBankLoan; + window_invalidate_by_class(WC_FINANCES); - // Update weekly profit history - money32 currentWeeklyProfit = gWeeklyProfitAverageDividend; - if (gWeeklyProfitAverageDivisor != 0) { - currentWeeklyProfit /= gWeeklyProfitAverageDivisor; - } + // Update weekly profit history + money32 currentWeeklyProfit = gWeeklyProfitAverageDividend; + if (gWeeklyProfitAverageDivisor != 0) { + currentWeeklyProfit /= gWeeklyProfitAverageDivisor; + } - for (sint32 i = 127; i > 0; i--) - gWeeklyProfitHistory[i] = gWeeklyProfitHistory[i - 1]; - gWeeklyProfitHistory[0] = currentWeeklyProfit; + for (sint32 i = 127; i > 0; i--) + gWeeklyProfitHistory[i] = gWeeklyProfitHistory[i - 1]; + gWeeklyProfitHistory[0] = currentWeeklyProfit; - gWeeklyProfitAverageDividend = 0; - gWeeklyProfitAverageDivisor = 0; - window_invalidate_by_class(WC_FINANCES); + gWeeklyProfitAverageDividend = 0; + gWeeklyProfitAverageDivisor = 0; + window_invalidate_by_class(WC_FINANCES); - // Update park value history - for (sint32 i = 127; i > 0; i--) - gParkValueHistory[i] = gParkValueHistory[i - 1]; - gParkValueHistory[0] = gParkValue; + // Update park value history + for (sint32 i = 127; i > 0; i--) + gParkValueHistory[i] = gParkValueHistory[i - 1]; + gParkValueHistory[0] = gParkValue; } void park_set_entrance_fee(money32 value) { - game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_SET_PARK_ENTRANCE_FEE, value, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_SET_PARK_ENTRANCE_FEE, value, 0); } /** @@ -651,17 +651,17 @@ void park_set_entrance_fee(money32 value) */ void game_command_set_park_entrance_fee(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_ENTRANCE_TICKETS; - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - gParkEntranceFee = (*edi & 0xFFFF); - window_invalidate_by_class(WC_PARK_INFORMATION); - } - *ebx = 0; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_ENTRANCE_TICKETS; + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + gParkEntranceFee = (*edi & 0xFFFF); + window_invalidate_by_class(WC_PARK_INFORMATION); + } + *ebx = 0; } void park_set_open(sint32 open) { - game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, open << 8, GAME_COMMAND_SET_PARK_OPEN, 0, 0); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, open << 8, GAME_COMMAND_SET_PARK_OPEN, 0, 0); } /** @@ -670,38 +670,38 @@ void park_set_open(sint32 open) */ void game_command_set_park_open(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - if (!(*ebx & GAME_COMMAND_FLAG_APPLY)) { - *ebx = 0; - return; - } + if (!(*ebx & GAME_COMMAND_FLAG_APPLY)) { + *ebx = 0; + return; + } - sint32 dh = (*edx >> 8) & 0xFF; + sint32 dh = (*edx >> 8) & 0xFF; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_ENTRANCE_TICKETS; - switch (dh) { - case 0: - if (gParkFlags & PARK_FLAGS_PARK_OPEN) { - gParkFlags &= ~PARK_FLAGS_PARK_OPEN; - window_invalidate_by_class(WC_PARK_INFORMATION); - } - break; - case 1: - if (!(gParkFlags & PARK_FLAGS_PARK_OPEN)) { - gParkFlags |= PARK_FLAGS_PARK_OPEN; - window_invalidate_by_class(WC_PARK_INFORMATION); - } - break; - case 2: - gSamePriceThroughoutParkA = *edi; - window_invalidate_by_class(WC_RIDE); - break; - case 3: - gSamePriceThroughoutParkB = *edi; - window_invalidate_by_class(WC_RIDE); - break; - } + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_ENTRANCE_TICKETS; + switch (dh) { + case 0: + if (gParkFlags & PARK_FLAGS_PARK_OPEN) { + gParkFlags &= ~PARK_FLAGS_PARK_OPEN; + window_invalidate_by_class(WC_PARK_INFORMATION); + } + break; + case 1: + if (!(gParkFlags & PARK_FLAGS_PARK_OPEN)) { + gParkFlags |= PARK_FLAGS_PARK_OPEN; + window_invalidate_by_class(WC_PARK_INFORMATION); + } + break; + case 2: + gSamePriceThroughoutParkA = *edi; + window_invalidate_by_class(WC_RIDE); + break; + case 3: + gSamePriceThroughoutParkB = *edi; + window_invalidate_by_class(WC_RIDE); + break; + } - *ebx = 0; + *ebx = 0; } /** @@ -710,86 +710,86 @@ void game_command_set_park_open(sint32* eax, sint32* ebx, sint32* ecx, sint32* e */ void update_park_fences(sint32 x, sint32 y) { - if (x > 0x1FFF) - return; - if (y > 0x1FFF) - return; + if (x > 0x1FFF) + return; + if (y > 0x1FFF) + return; - // When setting the ownership of map edges - if (x <= 0 || x >= gMapSizeUnits) - return; - if (y <= 0 || y >= gMapSizeUnits) - return; + // When setting the ownership of map edges + if (x <= 0 || x >= gMapSizeUnits) + return; + if (y <= 0 || y >= gMapSizeUnits) + return; - rct_map_element* sufaceElement = map_get_surface_element_at(x / 32, y / 32); - if (sufaceElement == NULL)return; + rct_map_element* sufaceElement = map_get_surface_element_at(x / 32, y / 32); + if (sufaceElement == NULL)return; - uint8 newOwnership = sufaceElement->properties.surface.ownership & 0xF0; - if ((sufaceElement->properties.surface.ownership & OWNERSHIP_OWNED) == 0) { - uint8 fence_required = 1; + uint8 newOwnership = sufaceElement->properties.surface.ownership & 0xF0; + if ((sufaceElement->properties.surface.ownership & OWNERSHIP_OWNED) == 0) { + uint8 fence_required = 1; - rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); - // If an entrance element do not place flags around surface - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) - continue; + rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); + // If an entrance element do not place flags around surface + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_ENTRANCE) + continue; - if (mapElement->properties.entrance.type != ENTRANCE_TYPE_PARK_ENTRANCE) - continue; + if (mapElement->properties.entrance.type != ENTRANCE_TYPE_PARK_ENTRANCE) + continue; - if (!(mapElement->flags & MAP_ELEMENT_FLAG_GHOST)) { - fence_required = 0; - break; - } - } while (!map_element_is_last_for_tile(mapElement++)); + if (!(mapElement->flags & MAP_ELEMENT_FLAG_GHOST)) { + fence_required = 0; + break; + } + } while (!map_element_is_last_for_tile(mapElement++)); - if (fence_required) { - // As map_is_location_in_park sets the error text - // will require to back it up. - rct_string_id previous_error = gGameCommandErrorText; - if (map_is_location_in_park(x - 32, y)){ - newOwnership |= 0x8; - } + if (fence_required) { + // As map_is_location_in_park sets the error text + // will require to back it up. + rct_string_id previous_error = gGameCommandErrorText; + if (map_is_location_in_park(x - 32, y)){ + newOwnership |= 0x8; + } - if (map_is_location_in_park(x, y - 32)){ - newOwnership |= 0x4; - } + if (map_is_location_in_park(x, y - 32)){ + newOwnership |= 0x4; + } - if (map_is_location_in_park(x + 32, y)){ - newOwnership |= 0x2; - } + if (map_is_location_in_park(x + 32, y)){ + newOwnership |= 0x2; + } - if (map_is_location_in_park(x, y + 32)){ - newOwnership |= 0x1; - } + if (map_is_location_in_park(x, y + 32)){ + newOwnership |= 0x1; + } - gGameCommandErrorText = previous_error; - } - } + gGameCommandErrorText = previous_error; + } + } - if (sufaceElement->properties.surface.ownership != newOwnership) { - sint32 z0 = sufaceElement->base_height * 8; - sint32 z1 = z0 + 16; - map_invalidate_tile(x, y, z0, z1); - sufaceElement->properties.surface.ownership = newOwnership; - } + if (sufaceElement->properties.surface.ownership != newOwnership) { + sint32 z0 = sufaceElement->base_height * 8; + sint32 z1 = z0 + 16; + map_invalidate_tile(x, y, z0, z1); + sufaceElement->properties.surface.ownership = newOwnership; + } } void update_park_fences_around_tile(sint32 x, sint32 y) { - update_park_fences(x, y); - update_park_fences(x + 32, y); - update_park_fences(x - 32, y); - update_park_fences(x, y + 32); - update_park_fences(x, y - 32); + update_park_fences(x, y); + update_park_fences(x + 32, y); + update_park_fences(x - 32, y); + update_park_fences(x, y + 32); + update_park_fences(x, y - 32); } void park_set_name(const char *name) { - gGameCommandErrorTitle = STR_CANT_RENAME_PARK; - game_do_command(1, GAME_COMMAND_FLAG_APPLY, 0, *((sint32*)(name + 0)), GAME_COMMAND_SET_PARK_NAME, *((sint32*)(name + 8)), *((sint32*)(name + 4))); - game_do_command(2, GAME_COMMAND_FLAG_APPLY, 0, *((sint32*)(name + 12)), GAME_COMMAND_SET_PARK_NAME, *((sint32*)(name + 20)), *((sint32*)(name + 16))); - game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, *((sint32*)(name + 24)), GAME_COMMAND_SET_PARK_NAME, *((sint32*)(name + 32)), *((sint32*)(name + 28))); + gGameCommandErrorTitle = STR_CANT_RENAME_PARK; + game_do_command(1, GAME_COMMAND_FLAG_APPLY, 0, *((sint32*)(name + 0)), GAME_COMMAND_SET_PARK_NAME, *((sint32*)(name + 8)), *((sint32*)(name + 4))); + game_do_command(2, GAME_COMMAND_FLAG_APPLY, 0, *((sint32*)(name + 12)), GAME_COMMAND_SET_PARK_NAME, *((sint32*)(name + 20)), *((sint32*)(name + 16))); + game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, *((sint32*)(name + 24)), GAME_COMMAND_SET_PARK_NAME, *((sint32*)(name + 32)), *((sint32*)(name + 28))); } /** @@ -798,224 +798,224 @@ void park_set_name(const char *name) */ void game_command_set_park_name(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - rct_string_id newUserStringId; - char oldName[128]; - static char newName[128]; + rct_string_id newUserStringId; + char oldName[128]; + static char newName[128]; - sint32 nameChunkIndex = *eax & 0xFFFF; + sint32 nameChunkIndex = *eax & 0xFFFF; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; - //if (*ebx & GAME_COMMAND_FLAG_APPLY) { // this check seems to be useless and causes problems in multiplayer - sint32 nameChunkOffset = nameChunkIndex - 1; - if (nameChunkOffset < 0) - nameChunkOffset = 2; - nameChunkOffset *= 12; - nameChunkOffset = min(nameChunkOffset, countof(newName) - 12); - memcpy(newName + nameChunkOffset + 0, edx, 4); - memcpy(newName + nameChunkOffset + 4, ebp, 4); - memcpy(newName + nameChunkOffset + 8, edi, 4); - //} + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LANDSCAPING; + //if (*ebx & GAME_COMMAND_FLAG_APPLY) { // this check seems to be useless and causes problems in multiplayer + sint32 nameChunkOffset = nameChunkIndex - 1; + if (nameChunkOffset < 0) + nameChunkOffset = 2; + nameChunkOffset *= 12; + nameChunkOffset = min(nameChunkOffset, countof(newName) - 12); + memcpy(newName + nameChunkOffset + 0, edx, 4); + memcpy(newName + nameChunkOffset + 4, ebp, 4); + memcpy(newName + nameChunkOffset + 8, edi, 4); + //} - if (nameChunkIndex != 0) { - *ebx = 0; - return; - } + if (nameChunkIndex != 0) { + *ebx = 0; + return; + } - format_string(oldName, 128, gParkName, &gParkNameArgs); - if (strcmp(oldName, newName) == 0) { - *ebx = 0; - return; - } + format_string(oldName, 128, gParkName, &gParkNameArgs); + if (strcmp(oldName, newName) == 0) { + *ebx = 0; + return; + } - if (newName[0] == 0) { - gGameCommandErrorText = STR_INVALID_RIDE_ATTRACTION_NAME; - *ebx = MONEY32_UNDEFINED; - return; - } + if (newName[0] == 0) { + gGameCommandErrorText = STR_INVALID_RIDE_ATTRACTION_NAME; + *ebx = MONEY32_UNDEFINED; + return; + } - newUserStringId = user_string_allocate(USER_STRING_HIGH_ID_NUMBER, newName); - if (newUserStringId == 0) { - gGameCommandErrorText = STR_INVALID_NAME_FOR_PARK; - *ebx = MONEY32_UNDEFINED; - return; - } + newUserStringId = user_string_allocate(USER_STRING_HIGH_ID_NUMBER, newName); + if (newUserStringId == 0) { + gGameCommandErrorText = STR_INVALID_NAME_FOR_PARK; + *ebx = MONEY32_UNDEFINED; + return; + } - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - // Log park rename command if we are in multiplayer and logging is enabled - if ((network_get_mode() == NETWORK_MODE_CLIENT || network_get_mode() == NETWORK_MODE_SERVER) && gConfigNetwork.log_server_actions) { - // Get player name - int player_index = network_get_player_index(game_command_playerid); - const char* player_name = network_get_player_name(player_index); + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + // Log park rename command if we are in multiplayer and logging is enabled + if ((network_get_mode() == NETWORK_MODE_CLIENT || network_get_mode() == NETWORK_MODE_SERVER) && gConfigNetwork.log_server_actions) { + // Get player name + int player_index = network_get_player_index(game_command_playerid); + const char* player_name = network_get_player_name(player_index); - char log_msg[256]; - char* args[3] = { - (char *) player_name, - oldName, - newName - }; - format_string(log_msg, 256, STR_LOG_PARK_NAME, args); - network_append_server_log(log_msg); - } + char log_msg[256]; + char* args[3] = { + (char *) player_name, + oldName, + newName + }; + format_string(log_msg, 256, STR_LOG_PARK_NAME, args); + network_append_server_log(log_msg); + } - // Free the old ride name - user_string_free(gParkName); - gParkName = newUserStringId; + // Free the old ride name + user_string_free(gParkName); + gParkName = newUserStringId; - gfx_invalidate_screen(); - } else { - user_string_free(newUserStringId); - } + gfx_invalidate_screen(); + } else { + user_string_free(newUserStringId); + } - *ebx = 0; + *ebx = 0; } static money32 map_buy_land_rights_for_tile(sint32 x, sint32 y, sint32 setting, sint32 flags) { - rct_map_element* surfaceElement = map_get_surface_element_at(x / 32, y / 32); - if (surfaceElement == NULL) - return MONEY32_UNDEFINED; + rct_map_element* surfaceElement = map_get_surface_element_at(x / 32, y / 32); + if (surfaceElement == NULL) + return MONEY32_UNDEFINED; - switch (setting) { - case 0: - if ((surfaceElement->properties.surface.ownership & OWNERSHIP_OWNED) != 0) { // If the land is already owned - return 0; - } + switch (setting) { + case 0: + if ((surfaceElement->properties.surface.ownership & OWNERSHIP_OWNED) != 0) { // If the land is already owned + return 0; + } - if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) != 0 || (surfaceElement->properties.surface.ownership & OWNERSHIP_AVAILABLE) == 0) { - gGameCommandErrorText = STR_LAND_NOT_FOR_SALE; - return MONEY32_UNDEFINED; - } - if (flags & GAME_COMMAND_FLAG_APPLY) { - surfaceElement->properties.surface.ownership |= OWNERSHIP_OWNED; - update_park_fences_around_tile(x, y); - } - return gLandPrice; - case 1: - if (flags & GAME_COMMAND_FLAG_APPLY) { - surfaceElement->properties.surface.ownership &= ~(OWNERSHIP_OWNED | OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED); - update_park_fences_around_tile(x, y); - } - return 0; - case 2: - if ((surfaceElement->properties.surface.ownership & (OWNERSHIP_OWNED | OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED)) != 0) { // If the land or construction rights are already owned - return 0; - } + if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) != 0 || (surfaceElement->properties.surface.ownership & OWNERSHIP_AVAILABLE) == 0) { + gGameCommandErrorText = STR_LAND_NOT_FOR_SALE; + return MONEY32_UNDEFINED; + } + if (flags & GAME_COMMAND_FLAG_APPLY) { + surfaceElement->properties.surface.ownership |= OWNERSHIP_OWNED; + update_park_fences_around_tile(x, y); + } + return gLandPrice; + case 1: + if (flags & GAME_COMMAND_FLAG_APPLY) { + surfaceElement->properties.surface.ownership &= ~(OWNERSHIP_OWNED | OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED); + update_park_fences_around_tile(x, y); + } + return 0; + case 2: + if ((surfaceElement->properties.surface.ownership & (OWNERSHIP_OWNED | OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED)) != 0) { // If the land or construction rights are already owned + return 0; + } - if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) != 0 || (surfaceElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE) == 0) { - gGameCommandErrorText = STR_CONSTRUCTION_RIGHTS_NOT_FOR_SALE; - return MONEY32_UNDEFINED; - } + if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) != 0 || (surfaceElement->properties.surface.ownership & OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE) == 0) { + gGameCommandErrorText = STR_CONSTRUCTION_RIGHTS_NOT_FOR_SALE; + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) { - surfaceElement->properties.surface.ownership |= OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED; - uint16 baseHeight = surfaceElement->base_height * 8; - map_invalidate_tile(x, y, baseHeight, baseHeight + 16); - } - return gConstructionRightsPrice; - case 3: - if (flags & GAME_COMMAND_FLAG_APPLY) { - surfaceElement->properties.surface.ownership &= ~OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED; - uint16 baseHeight = surfaceElement->base_height * 8; - map_invalidate_tile(x, y, baseHeight, baseHeight + 16); - } - return 0; - case 4: - if (flags & GAME_COMMAND_FLAG_APPLY) { - surfaceElement->properties.surface.ownership |= OWNERSHIP_AVAILABLE; - uint16 baseHeight = surfaceElement->base_height * 8; - map_invalidate_tile(x, y, baseHeight, baseHeight + 16); - } - return 0; - case 5: - if (flags & GAME_COMMAND_FLAG_APPLY) { - surfaceElement->properties.surface.ownership |= OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE; - uint16 baseHeight = surfaceElement->base_height * 8; - map_invalidate_tile(x, y, baseHeight, baseHeight + 16); - } - return 0; - default: - if (!(gScreenFlags & SCREEN_FLAGS_EDITOR) && !gCheatsSandboxMode) { - return MONEY32_UNDEFINED; - } + if (flags & GAME_COMMAND_FLAG_APPLY) { + surfaceElement->properties.surface.ownership |= OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED; + uint16 baseHeight = surfaceElement->base_height * 8; + map_invalidate_tile(x, y, baseHeight, baseHeight + 16); + } + return gConstructionRightsPrice; + case 3: + if (flags & GAME_COMMAND_FLAG_APPLY) { + surfaceElement->properties.surface.ownership &= ~OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED; + uint16 baseHeight = surfaceElement->base_height * 8; + map_invalidate_tile(x, y, baseHeight, baseHeight + 16); + } + return 0; + case 4: + if (flags & GAME_COMMAND_FLAG_APPLY) { + surfaceElement->properties.surface.ownership |= OWNERSHIP_AVAILABLE; + uint16 baseHeight = surfaceElement->base_height * 8; + map_invalidate_tile(x, y, baseHeight, baseHeight + 16); + } + return 0; + case 5: + if (flags & GAME_COMMAND_FLAG_APPLY) { + surfaceElement->properties.surface.ownership |= OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE; + uint16 baseHeight = surfaceElement->base_height * 8; + map_invalidate_tile(x, y, baseHeight, baseHeight + 16); + } + return 0; + default: + if (!(gScreenFlags & SCREEN_FLAGS_EDITOR) && !gCheatsSandboxMode) { + return MONEY32_UNDEFINED; + } - if (x <= 0 || y <= 0) { - gGameCommandErrorText = STR_TOO_CLOSE_TO_EDGE_OF_MAP; - return MONEY32_UNDEFINED; - } + if (x <= 0 || y <= 0) { + gGameCommandErrorText = STR_TOO_CLOSE_TO_EDGE_OF_MAP; + return MONEY32_UNDEFINED; + } - if (x >= gMapSizeUnits || y >= gMapSizeUnits) { - gGameCommandErrorText = STR_TOO_CLOSE_TO_EDGE_OF_MAP; - return MONEY32_UNDEFINED; - } + if (x >= gMapSizeUnits || y >= gMapSizeUnits) { + gGameCommandErrorText = STR_TOO_CLOSE_TO_EDGE_OF_MAP; + return MONEY32_UNDEFINED; + } - rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); - do { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE){ - return 0; - } - } while (!map_element_is_last_for_tile(mapElement++)); + rct_map_element* mapElement = map_get_first_element_at(x / 32, y / 32); + do { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_ENTRANCE){ + return 0; + } + } while (!map_element_is_last_for_tile(mapElement++)); - uint8 newOwnership = (flags & 0xFF00) >> 4; - if (newOwnership == (surfaceElement->properties.surface.ownership & 0xF0)) { - return 0; - } + uint8 newOwnership = (flags & 0xFF00) >> 4; + if (newOwnership == (surfaceElement->properties.surface.ownership & 0xF0)) { + return 0; + } - if (!(flags & GAME_COMMAND_FLAG_APPLY)) { - return gLandPrice; - } + if (!(flags & GAME_COMMAND_FLAG_APPLY)) { + return gLandPrice; + } - if ((newOwnership & 0xF0) != 0) { - rct2_peep_spawn *peepSpawns = gPeepSpawns; + if ((newOwnership & 0xF0) != 0) { + rct2_peep_spawn *peepSpawns = gPeepSpawns; - for (uint8 i = 0; i < MAX_PEEP_SPAWNS; ++i) { - if (x == (peepSpawns[i].x & 0xFFE0)) { - if (y == (peepSpawns[i].y & 0xFFE0)) { - peepSpawns[i].x = PEEP_SPAWN_UNDEFINED; - } - } - } - } - surfaceElement->properties.surface.ownership &= 0x0F; - surfaceElement->properties.surface.ownership |= newOwnership; - update_park_fences_around_tile(x, y); - gUnk9E2E28 |= 1; - return 0; - } + for (uint8 i = 0; i < MAX_PEEP_SPAWNS; ++i) { + if (x == (peepSpawns[i].x & 0xFFE0)) { + if (y == (peepSpawns[i].y & 0xFFE0)) { + peepSpawns[i].x = PEEP_SPAWN_UNDEFINED; + } + } + } + } + surfaceElement->properties.surface.ownership &= 0x0F; + surfaceElement->properties.surface.ownership |= newOwnership; + update_park_fences_around_tile(x, y); + gUnk9E2E28 |= 1; + return 0; + } } sint32 map_buy_land_rights(sint32 x0, sint32 y0, sint32 x1, sint32 y1, sint32 setting, sint32 flags) { - sint32 x, y, z; - money32 totalCost, cost; - gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LAND_PURCHASE; + sint32 x, y, z; + money32 totalCost, cost; + gCommandExpenditureType = RCT_EXPENDITURE_TYPE_LAND_PURCHASE; - if (x1 == 0 && y1 == 0) { - x1 = x0; - y1 = y0; - } + if (x1 == 0 && y1 == 0) { + x1 = x0; + y1 = y0; + } - x = (x0 + x1) / 2 + 16; - y = (y0 + y1) / 2 + 16; - z = map_element_height(x, y); - gCommandPosition.x = x; - gCommandPosition.y = y; - gCommandPosition.z = z; + x = (x0 + x1) / 2 + 16; + y = (y0 + y1) / 2 + 16; + z = map_element_height(x, y); + gCommandPosition.x = x; + gCommandPosition.y = y; + gCommandPosition.z = z; - // Game command modified to accept selection size - totalCost = 0; - gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; - if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) != 0 || game_is_not_paused() || gCheatsBuildInPauseMode) { - for (y = y0; y <= y1; y += 32) { - for (x = x0; x <= x1; x += 32) { - cost = map_buy_land_rights_for_tile(x, y, setting, flags); - if (cost == MONEY32_UNDEFINED) - return MONEY32_UNDEFINED; + // Game command modified to accept selection size + totalCost = 0; + gGameCommandErrorText = STR_CONSTRUCTION_NOT_POSSIBLE_WHILE_GAME_IS_PAUSED; + if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) != 0 || game_is_not_paused() || gCheatsBuildInPauseMode) { + for (y = y0; y <= y1; y += 32) { + for (x = x0; x <= x1; x += 32) { + cost = map_buy_land_rights_for_tile(x, y, setting, flags); + if (cost == MONEY32_UNDEFINED) + return MONEY32_UNDEFINED; - totalCost += cost; - } - } - } + totalCost += cost; + } + } + } - return totalCost; + return totalCost; } /** @@ -1024,42 +1024,42 @@ sint32 map_buy_land_rights(sint32 x0, sint32 y0, sint32 x1, sint32 y1, sint32 se */ void game_command_buy_land_rights(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx, sint32 *esi, sint32 *edi, sint32 *ebp) { - sint32 flags = *ebx & 0xFFFF; + sint32 flags = *ebx & 0xFFFF; - *ebx = map_buy_land_rights( - (*eax & 0xFFFF), - (*ecx & 0xFFFF), - (*edi & 0xFFFF), - (*ebp & 0xFFFF), - (*edx & 0xFF00) >> 8, - flags - ); + *ebx = map_buy_land_rights( + (*eax & 0xFFFF), + (*ecx & 0xFFFF), + (*edi & 0xFFFF), + (*ebp & 0xFFFF), + (*edx & 0xFF00) >> 8, + flags + ); - // Too expensive to always call in map_buy_land_rights. - // It's already counted when the park is loaded, after - // that it should only be called for user actions. - if (flags & GAME_COMMAND_FLAG_APPLY) { - map_count_remaining_land_rights(); - } + // Too expensive to always call in map_buy_land_rights. + // It's already counted when the park is loaded, after + // that it should only be called for user actions. + if (flags & GAME_COMMAND_FLAG_APPLY) { + map_count_remaining_land_rights(); + } } void set_forced_park_rating(sint32 rating){ - gForcedParkRating = rating; - gParkRating = calculate_park_rating(); - gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PARK_RATING; - window_invalidate_by_class(WC_PARK_INFORMATION); + gForcedParkRating = rating; + gParkRating = calculate_park_rating(); + gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PARK_RATING; + window_invalidate_by_class(WC_PARK_INFORMATION); } sint32 get_forced_park_rating(){ - return gForcedParkRating; + return gForcedParkRating; } money16 park_get_entrance_fee() { - if (gParkFlags & PARK_FLAGS_NO_MONEY) return 0; - if (!gCheatsUnlockAllPrices) { - if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) return 0; - } - return gParkEntranceFee; + if (gParkFlags & PARK_FLAGS_NO_MONEY) return 0; + if (!gCheatsUnlockAllPrices) { + if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) return 0; + } + return gParkEntranceFee; } diff --git a/src/openrct2/world/park.h b/src/openrct2/world/park.h index 273ea4ccbc..045b22185f 100644 --- a/src/openrct2/world/park.h +++ b/src/openrct2/world/park.h @@ -25,24 +25,24 @@ enum { - PARK_FLAGS_PARK_OPEN = (1 << 0), - PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT = (1 << 1), - PARK_FLAGS_FORBID_LANDSCAPE_CHANGES = (1 << 2), - PARK_FLAGS_FORBID_TREE_REMOVAL = (1 << 3), - PARK_FLAGS_SHOW_REAL_GUEST_NAMES = (1 << 4), - PARK_FLAGS_FORBID_HIGH_CONSTRUCTION = (1 << 5), // below tree height - PARK_FLAGS_PREF_LESS_INTENSE_RIDES = (1 << 6), - PARK_FLAGS_FORBID_MARKETING_CAMPAIGN = (1 << 7), - PARK_FLAGS_ANTI_CHEAT_DEPRECATED = (1 << 8), // Not used anymore, used for cheat detection - PARK_FLAGS_PREF_MORE_INTENSE_RIDES = (1 << 9), - PARK_FLAGS_NO_MONEY = (1 << 11), - PARK_FLAGS_DIFFICULT_GUEST_GENERATION = (1 << 12), - PARK_FLAGS_PARK_FREE_ENTRY = (1 << 13), - PARK_FLAGS_DIFFICULT_PARK_RATING = (1 << 14), - PARK_FLAGS_LOCK_REAL_NAMES_OPTION = (1 << 15), - PARK_FLAGS_NO_MONEY_SCENARIO = (1 << 17), // equivalent to PARK_FLAGS_NO_MONEY, but used in scenario editor - PARK_FLAGS_SPRITES_INITIALISED = (1 << 18), // After a scenario is loaded this prevents edits in the scenario editor - PARK_FLAGS_SIX_FLAGS_DEPRECATED = (1 << 19) // Not used anymore + PARK_FLAGS_PARK_OPEN = (1 << 0), + PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT = (1 << 1), + PARK_FLAGS_FORBID_LANDSCAPE_CHANGES = (1 << 2), + PARK_FLAGS_FORBID_TREE_REMOVAL = (1 << 3), + PARK_FLAGS_SHOW_REAL_GUEST_NAMES = (1 << 4), + PARK_FLAGS_FORBID_HIGH_CONSTRUCTION = (1 << 5), // below tree height + PARK_FLAGS_PREF_LESS_INTENSE_RIDES = (1 << 6), + PARK_FLAGS_FORBID_MARKETING_CAMPAIGN = (1 << 7), + PARK_FLAGS_ANTI_CHEAT_DEPRECATED = (1 << 8), // Not used anymore, used for cheat detection + PARK_FLAGS_PREF_MORE_INTENSE_RIDES = (1 << 9), + PARK_FLAGS_NO_MONEY = (1 << 11), + PARK_FLAGS_DIFFICULT_GUEST_GENERATION = (1 << 12), + PARK_FLAGS_PARK_FREE_ENTRY = (1 << 13), + PARK_FLAGS_DIFFICULT_PARK_RATING = (1 << 14), + PARK_FLAGS_LOCK_REAL_NAMES_OPTION = (1 << 15), + PARK_FLAGS_NO_MONEY_SCENARIO = (1 << 17), // equivalent to PARK_FLAGS_NO_MONEY, but used in scenario editor + PARK_FLAGS_SPRITES_INITIALISED = (1 << 18), // After a scenario is loaded this prevents edits in the scenario editor + PARK_FLAGS_SIX_FLAGS_DEPRECATED = (1 << 19) // Not used anymore }; extern rct_string_id gParkName; diff --git a/src/openrct2/world/particle.c b/src/openrct2/world/particle.c index f4b13d3896..ffa45aa473 100644 --- a/src/openrct2/world/particle.c +++ b/src/openrct2/world/particle.c @@ -25,27 +25,27 @@ */ void crashed_vehicle_particle_create(rct_vehicle_colour colours, sint32 x, sint32 y, sint32 z) { - rct_crashed_vehicle_particle *sprite = (rct_crashed_vehicle_particle*)create_sprite(2); - if (sprite != NULL) { - sprite->colour[0] = colours.body_colour; - sprite->colour[1] = colours.trim_colour; - sprite->sprite_width = 8; - sprite->sprite_height_negative = 8; - sprite->sprite_height_positive = 8; - sprite->sprite_identifier = SPRITE_IDENTIFIER_MISC; - sprite_move(x, y, z, (rct_sprite*)sprite); - sprite->misc_identifier = SPRITE_MISC_CRASHED_VEHICLE_PARTICLE; + rct_crashed_vehicle_particle *sprite = (rct_crashed_vehicle_particle*)create_sprite(2); + if (sprite != NULL) { + sprite->colour[0] = colours.body_colour; + sprite->colour[1] = colours.trim_colour; + sprite->sprite_width = 8; + sprite->sprite_height_negative = 8; + sprite->sprite_height_positive = 8; + sprite->sprite_identifier = SPRITE_IDENTIFIER_MISC; + sprite_move(x, y, z, (rct_sprite*)sprite); + sprite->misc_identifier = SPRITE_MISC_CRASHED_VEHICLE_PARTICLE; - sprite->frame = (scenario_rand() & 0xFF) * 12; - sprite->var_24 = (scenario_rand() & 0x7F) + 140; - sprite->var_2E = ((scenario_rand() & 0xFF) * 5) >> 8; - sprite->acceleration_x = ((sint16)(scenario_rand() & 0xFFFF)) * 4; - sprite->acceleration_y = ((sint16)(scenario_rand() & 0xFFFF)) * 4; - sprite->acceleration_z = (scenario_rand() & 0xFFFF) * 4 + 0x10000; - sprite->velocity_x = 0; - sprite->velocity_y = 0; - sprite->velocity_z = 0; - } + sprite->frame = (scenario_rand() & 0xFF) * 12; + sprite->var_24 = (scenario_rand() & 0x7F) + 140; + sprite->var_2E = ((scenario_rand() & 0xFF) * 5) >> 8; + sprite->acceleration_x = ((sint16)(scenario_rand() & 0xFFFF)) * 4; + sprite->acceleration_y = ((sint16)(scenario_rand() & 0xFFFF)) * 4; + sprite->acceleration_z = (scenario_rand() & 0xFFFF) * 4 + 0x10000; + sprite->velocity_x = 0; + sprite->velocity_y = 0; + sprite->velocity_z = 0; + } } /** @@ -54,59 +54,59 @@ void crashed_vehicle_particle_create(rct_vehicle_colour colours, sint32 x, sint3 */ void crashed_vehicle_particle_update(rct_crashed_vehicle_particle *particle) { - invalidate_sprite_0((rct_sprite*)particle); - particle->var_24--; - if (particle->var_24 == 0) { - sprite_remove((rct_sprite*)particle); - return; - } + invalidate_sprite_0((rct_sprite*)particle); + particle->var_24--; + if (particle->var_24 == 0) { + sprite_remove((rct_sprite*)particle); + return; + } - // Apply gravity - particle->acceleration_z -= 5041; + // Apply gravity + particle->acceleration_z -= 5041; - // Apply air resistance - particle->acceleration_x -= (particle->acceleration_x / 256); - particle->acceleration_y -= (particle->acceleration_y / 256); - particle->acceleration_z -= (particle->acceleration_z / 256); + // Apply air resistance + particle->acceleration_x -= (particle->acceleration_x / 256); + particle->acceleration_y -= (particle->acceleration_y / 256); + particle->acceleration_z -= (particle->acceleration_z / 256); - // Update velocity and position - sint32 vx = particle->velocity_x + particle->acceleration_x; - sint32 vy = particle->velocity_y + particle->acceleration_y; - sint32 vz = particle->velocity_z + particle->acceleration_z; + // Update velocity and position + sint32 vx = particle->velocity_x + particle->acceleration_x; + sint32 vy = particle->velocity_y + particle->acceleration_y; + sint32 vz = particle->velocity_z + particle->acceleration_z; - sint16 x = particle->x + (vx >> 16); - sint16 y = particle->y + (vy >> 16); - sint16 z = particle->z + (vz >> 16); + sint16 x = particle->x + (vx >> 16); + sint16 y = particle->y + (vy >> 16); + sint16 z = particle->z + (vz >> 16); - particle->velocity_x = vx & 0xFFFF; - particle->velocity_y = vy & 0xFFFF; - particle->velocity_z = vz & 0xFFFF; + particle->velocity_x = vx & 0xFFFF; + particle->velocity_y = vy & 0xFFFF; + particle->velocity_z = vz & 0xFFFF; - // Check collision with land / water - uint32 waterLand = map_element_height(x, y); - sint16 landZ = (waterLand & 0xFFFF); - sint16 waterZ = (waterLand >> 16); + // Check collision with land / water + uint32 waterLand = map_element_height(x, y); + sint16 landZ = (waterLand & 0xFFFF); + sint16 waterZ = (waterLand >> 16); - if (waterZ != 0 && particle->z >= waterZ && z <= waterZ) { - // Splash - audio_play_sound_at_location(SOUND_WATER_2, particle->x, particle->y, waterZ); - crash_splash_create(particle->x, particle->y, waterZ); - sprite_remove((rct_sprite*)particle); - return; - } + if (waterZ != 0 && particle->z >= waterZ && z <= waterZ) { + // Splash + audio_play_sound_at_location(SOUND_WATER_2, particle->x, particle->y, waterZ); + crash_splash_create(particle->x, particle->y, waterZ); + sprite_remove((rct_sprite*)particle); + return; + } - if (particle->z >= landZ && z <= landZ) { - // Bounce - particle->acceleration_z *= -1; - z = landZ; - } - sprite_move(x, y, z, (rct_sprite*)particle); - invalidate_sprite_0((rct_sprite*)particle); + if (particle->z >= landZ && z <= landZ) { + // Bounce + particle->acceleration_z *= -1; + z = landZ; + } + sprite_move(x, y, z, (rct_sprite*)particle); + invalidate_sprite_0((rct_sprite*)particle); - particle->frame += 85; - if (particle->frame >= 3072) { - particle->frame = 0; - } + particle->frame += 85; + if (particle->frame >= 3072) { + particle->frame = 0; + } } /** @@ -115,16 +115,16 @@ void crashed_vehicle_particle_update(rct_crashed_vehicle_particle *particle) */ void crash_splash_create(sint32 x, sint32 y, sint32 z) { - rct_unk_sprite *sprite = (rct_unk_sprite*)create_sprite(2); - if (sprite != NULL) { - sprite->sprite_width = 33; - sprite->sprite_height_negative = 51; - sprite->sprite_height_positive = 16; - sprite->sprite_identifier = SPRITE_IDENTIFIER_MISC; - sprite_move(x, y, z + 3, (rct_sprite*)sprite); - sprite->misc_identifier = SPRITE_MISC_CRASH_SPLASH; - sprite->frame = 0; - } + rct_unk_sprite *sprite = (rct_unk_sprite*)create_sprite(2); + if (sprite != NULL) { + sprite->sprite_width = 33; + sprite->sprite_height_negative = 51; + sprite->sprite_height_positive = 16; + sprite->sprite_identifier = SPRITE_IDENTIFIER_MISC; + sprite_move(x, y, z + 3, (rct_sprite*)sprite); + sprite->misc_identifier = SPRITE_MISC_CRASH_SPLASH; + sprite->frame = 0; + } } /** @@ -133,9 +133,9 @@ void crash_splash_create(sint32 x, sint32 y, sint32 z) */ void crash_splash_update(rct_crash_splash *splash) { - invalidate_sprite_2((rct_sprite*)splash); - splash->frame += 85; - if (splash->frame >= 7168) { - sprite_remove((rct_sprite*)splash); - } + invalidate_sprite_2((rct_sprite*)splash); + splash->frame += 85; + if (splash->frame >= 7168) { + sprite_remove((rct_sprite*)splash); + } } diff --git a/src/openrct2/world/scenery.c b/src/openrct2/world/scenery.c index 756e1c5979..6aa77d84b4 100644 --- a/src/openrct2/world/scenery.c +++ b/src/openrct2/world/scenery.c @@ -66,34 +66,34 @@ money32 gClearSceneryCost; // rct2: 0x009A3E74 const rct_xy8 ScenerySubTileOffsets[] = { - { 7, 7 }, - { 7, 23 }, - { 23, 23 }, - { 23, 7 } + { 7, 7 }, + { 7, 23 }, + { 23, 23 }, + { 23, 7 } }; void scenery_increase_age(sint32 x, sint32 y, rct_map_element *mapElement); void scenery_update_tile(sint32 x, sint32 y) { - rct_map_element *mapElement; + rct_map_element *mapElement; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SCENERY) { - scenery_update_age(x, y, mapElement); - } else if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { - if (footpath_element_has_path_scenery(mapElement) && !footpath_element_path_scenery_is_ghost(mapElement)) { - rct_scenery_entry *sceneryEntry; - sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(mapElement)); - if (sceneryEntry->path_bit.flags & PATH_BIT_FLAG_JUMPING_FOUNTAIN_WATER) { - jumping_fountain_begin(JUMPING_FOUNTAIN_TYPE_WATER, x, y, mapElement); - } else if (sceneryEntry->path_bit.flags & PATH_BIT_FLAG_JUMPING_FOUNTAIN_SNOW) { - jumping_fountain_begin(JUMPING_FOUNTAIN_TYPE_SNOW, x, y, mapElement); - } - } - } - } while (!map_element_is_last_for_tile(mapElement++)); + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_SCENERY) { + scenery_update_age(x, y, mapElement); + } else if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH) { + if (footpath_element_has_path_scenery(mapElement) && !footpath_element_path_scenery_is_ghost(mapElement)) { + rct_scenery_entry *sceneryEntry; + sceneryEntry = get_footpath_item_entry(footpath_element_get_path_scenery_index(mapElement)); + if (sceneryEntry->path_bit.flags & PATH_BIT_FLAG_JUMPING_FOUNTAIN_WATER) { + jumping_fountain_begin(JUMPING_FOUNTAIN_TYPE_WATER, x, y, mapElement); + } else if (sceneryEntry->path_bit.flags & PATH_BIT_FLAG_JUMPING_FOUNTAIN_SNOW) { + jumping_fountain_begin(JUMPING_FOUNTAIN_TYPE_SNOW, x, y, mapElement); + } + } + } + } while (!map_element_is_last_for_tile(mapElement++)); } /** @@ -102,60 +102,60 @@ void scenery_update_tile(sint32 x, sint32 y) */ void scenery_update_age(sint32 x, sint32 y, rct_map_element *mapElement) { - rct_map_element *mapElementAbove; - rct_scenery_entry *sceneryEntry; + rct_map_element *mapElementAbove; + rct_scenery_entry *sceneryEntry; - sceneryEntry = get_small_scenery_entry(mapElement->properties.scenery.type); - if (gCheatsDisablePlantAging && - (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_CAN_BE_WATERED)) { - return; - } + sceneryEntry = get_small_scenery_entry(mapElement->properties.scenery.type); + if (gCheatsDisablePlantAging && + (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_CAN_BE_WATERED)) { + return; + } - if ( - !(sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_CAN_BE_WATERED) || - (gClimateCurrentWeather < WEATHER_RAIN) || - (mapElement->properties.scenery.age < 5) - ) { - scenery_increase_age(x, y, mapElement); - return; - } + if ( + !(sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_CAN_BE_WATERED) || + (gClimateCurrentWeather < WEATHER_RAIN) || + (mapElement->properties.scenery.age < 5) + ) { + scenery_increase_age(x, y, mapElement); + return; + } - // Check map elements above, presumably to see if map element is blocked from rain - mapElementAbove = mapElement; - while (!(mapElementAbove->flags & 7)) { - mapElementAbove++; + // Check map elements above, presumably to see if map element is blocked from rain + mapElementAbove = mapElement; + while (!(mapElementAbove->flags & 7)) { + mapElementAbove++; - switch (map_element_get_type(mapElementAbove)) { - case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - case MAP_ELEMENT_TYPE_ENTRANCE: - case MAP_ELEMENT_TYPE_PATH: - map_invalidate_tile_zoom1(x, y, mapElementAbove->base_height * 8, mapElementAbove->clearance_height * 8); - scenery_increase_age(x, y, mapElement); - return; - case MAP_ELEMENT_TYPE_SCENERY: - sceneryEntry = get_small_scenery_entry(mapElementAbove->properties.scenery.type); - if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { - scenery_increase_age(x, y, mapElement); - return; - } - break; - } - } + switch (map_element_get_type(mapElementAbove)) { + case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: + case MAP_ELEMENT_TYPE_ENTRANCE: + case MAP_ELEMENT_TYPE_PATH: + map_invalidate_tile_zoom1(x, y, mapElementAbove->base_height * 8, mapElementAbove->clearance_height * 8); + scenery_increase_age(x, y, mapElement); + return; + case MAP_ELEMENT_TYPE_SCENERY: + sceneryEntry = get_small_scenery_entry(mapElementAbove->properties.scenery.type); + if (sceneryEntry->small_scenery.flags & SMALL_SCENERY_FLAG_VOFFSET_CENTRE) { + scenery_increase_age(x, y, mapElement); + return; + } + break; + } + } - // Reset age / water plant - mapElement->properties.scenery.age = 0; - map_invalidate_tile_zoom1(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); + // Reset age / water plant + mapElement->properties.scenery.age = 0; + map_invalidate_tile_zoom1(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); } void scenery_increase_age(sint32 x, sint32 y, rct_map_element *mapElement) { - if (mapElement->flags & SMALL_SCENERY_FLAG_ANIMATED) - return; + if (mapElement->flags & SMALL_SCENERY_FLAG_ANIMATED) + return; - if (mapElement->properties.scenery.age < 255) { - mapElement->properties.scenery.age++; - map_invalidate_tile_zoom1(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); - } + if (mapElement->properties.scenery.age < 255) { + mapElement->properties.scenery.age++; + map_invalidate_tile_zoom1(x, y, mapElement->base_height * 8, mapElement->clearance_height * 8); + } } /** @@ -163,140 +163,140 @@ void scenery_increase_age(sint32 x, sint32 y, rct_map_element *mapElement) * rct2: 0x006E2712 */ void scenery_remove_ghost_tool_placement(){ - sint16 x, y, z; + sint16 x, y, z; - x = gSceneryGhostPosition.x; - y = gSceneryGhostPosition.y; - z = gSceneryGhostPosition.z; + x = gSceneryGhostPosition.x; + y = gSceneryGhostPosition.y; + z = gSceneryGhostPosition.z; - if (gSceneryGhostType & (1 << 0)){ - gSceneryGhostType &= ~(1 << 0); - game_do_command( - x, - 105 | (gSceneryMapElementType << 8), - y, - z | (gSceneryPlaceObject << 8), - GAME_COMMAND_REMOVE_SCENERY, - 0, - 0); - } + if (gSceneryGhostType & (1 << 0)){ + gSceneryGhostType &= ~(1 << 0); + game_do_command( + x, + 105 | (gSceneryMapElementType << 8), + y, + z | (gSceneryPlaceObject << 8), + GAME_COMMAND_REMOVE_SCENERY, + 0, + 0); + } - if (gSceneryGhostType & (1 << 1)){ - gSceneryGhostType &= ~(1 << 1); - rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); + if (gSceneryGhostType & (1 << 1)){ + gSceneryGhostType &= ~(1 << 1); + rct_map_element* map_element = map_get_first_element_at(x / 32, y / 32); - do{ - if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_PATH) - continue; + do{ + if (map_element_get_type(map_element) != MAP_ELEMENT_TYPE_PATH) + continue; - if (map_element->base_height != z) - continue; + if (map_element->base_height != z) + continue; - game_do_command( - x, - 233 | (gSceneryPlacePathSlope << 8), - y, - z | (gSceneryPlacePathType << 8), - GAME_COMMAND_PLACE_PATH, - gSceneryGhostPathObjectType & 0xFFFF0000, - 0); - break; - } while (!map_element_is_last_for_tile(map_element++)); - } + game_do_command( + x, + 233 | (gSceneryPlacePathSlope << 8), + y, + z | (gSceneryPlacePathType << 8), + GAME_COMMAND_PLACE_PATH, + gSceneryGhostPathObjectType & 0xFFFF0000, + 0); + break; + } while (!map_element_is_last_for_tile(map_element++)); + } - if (gSceneryGhostType & (1 << 2)){ - gSceneryGhostType &= ~(1 << 2); - game_do_command( - x, - 105 | (gSceneryMapElementType << 8), - y, - gSceneryGhostWallRotation |(z << 8), - GAME_COMMAND_REMOVE_WALL, - 0, - 0); - } + if (gSceneryGhostType & (1 << 2)){ + gSceneryGhostType &= ~(1 << 2); + game_do_command( + x, + 105 | (gSceneryMapElementType << 8), + y, + gSceneryGhostWallRotation |(z << 8), + GAME_COMMAND_REMOVE_WALL, + 0, + 0); + } - if (gSceneryGhostType & (1 << 3)){ - gSceneryGhostType &= ~(1 << 3); - game_do_command( - x, - 105 | (gSceneryPlaceRotation << 8), - y, - z, - GAME_COMMAND_REMOVE_LARGE_SCENERY, - 0, - 0); - } + if (gSceneryGhostType & (1 << 3)){ + gSceneryGhostType &= ~(1 << 3); + game_do_command( + x, + 105 | (gSceneryPlaceRotation << 8), + y, + z, + GAME_COMMAND_REMOVE_LARGE_SCENERY, + 0, + 0); + } - if (gSceneryGhostType & (1 << 4)){ - gSceneryGhostType &= ~(1 << 4); - game_do_command( - x, - 105, - y, - z | (gSceneryPlaceRotation << 8), - GAME_COMMAND_REMOVE_BANNER, - 0, - 0); - } + if (gSceneryGhostType & (1 << 4)){ + gSceneryGhostType &= ~(1 << 4); + game_do_command( + x, + 105, + y, + z | (gSceneryPlaceRotation << 8), + GAME_COMMAND_REMOVE_BANNER, + 0, + 0); + } } rct_scenery_entry *get_small_scenery_entry(sint32 entryIndex) { - if (entryIndex >= object_entry_group_counts[OBJECT_TYPE_SMALL_SCENERY]) { - return NULL; - } - return (rct_scenery_entry*)gSmallSceneryEntries[entryIndex]; + if (entryIndex >= object_entry_group_counts[OBJECT_TYPE_SMALL_SCENERY]) { + return NULL; + } + return (rct_scenery_entry*)gSmallSceneryEntries[entryIndex]; } rct_scenery_entry *get_large_scenery_entry(sint32 entryIndex) { - if (entryIndex >= object_entry_group_counts[OBJECT_TYPE_LARGE_SCENERY]) { - return NULL; - } - return (rct_scenery_entry*)gLargeSceneryEntries[entryIndex]; + if (entryIndex >= object_entry_group_counts[OBJECT_TYPE_LARGE_SCENERY]) { + return NULL; + } + return (rct_scenery_entry*)gLargeSceneryEntries[entryIndex]; } rct_scenery_entry *get_wall_entry(sint32 entryIndex) { - if (entryIndex >= object_entry_group_counts[OBJECT_TYPE_WALLS]) { - return NULL; - } - return (rct_scenery_entry*)gWallSceneryEntries[entryIndex]; + if (entryIndex >= object_entry_group_counts[OBJECT_TYPE_WALLS]) { + return NULL; + } + return (rct_scenery_entry*)gWallSceneryEntries[entryIndex]; } rct_scenery_entry *get_banner_entry(sint32 entryIndex) { - if (entryIndex >= object_entry_group_counts[OBJECT_TYPE_BANNERS]) { - return NULL; - } - return (rct_scenery_entry*)gBannerSceneryEntries[entryIndex]; + if (entryIndex >= object_entry_group_counts[OBJECT_TYPE_BANNERS]) { + return NULL; + } + return (rct_scenery_entry*)gBannerSceneryEntries[entryIndex]; } rct_scenery_entry *get_footpath_item_entry(sint32 entryIndex) { - if (entryIndex >= object_entry_group_counts[OBJECT_TYPE_PATH_BITS]) { - return NULL; - } - return (rct_scenery_entry*)gFootpathAdditionEntries[entryIndex]; + if (entryIndex >= object_entry_group_counts[OBJECT_TYPE_PATH_BITS]) { + return NULL; + } + return (rct_scenery_entry*)gFootpathAdditionEntries[entryIndex]; } rct_scenery_set_entry *get_scenery_group_entry(sint32 entryIndex) { - if (entryIndex >= object_entry_group_counts[OBJECT_TYPE_SCENERY_SETS]) { - return NULL; - } - return (rct_scenery_set_entry*)gSceneryGroupEntries[entryIndex]; + if (entryIndex >= object_entry_group_counts[OBJECT_TYPE_SCENERY_SETS]) { + return NULL; + } + return (rct_scenery_set_entry*)gSceneryGroupEntries[entryIndex]; } sint32 get_scenery_id_from_entry_index(uint8 objectType, sint32 entryIndex) { - switch (objectType) { - case OBJECT_TYPE_SMALL_SCENERY: return entryIndex; - case OBJECT_TYPE_PATH_BITS: return entryIndex + 0x100; - case OBJECT_TYPE_WALLS: return entryIndex + 0x200; - case OBJECT_TYPE_LARGE_SCENERY: return entryIndex + 0x300; - case OBJECT_TYPE_BANNERS: return entryIndex + 0x400; - default: return -1; - } + switch (objectType) { + case OBJECT_TYPE_SMALL_SCENERY: return entryIndex; + case OBJECT_TYPE_PATH_BITS: return entryIndex + 0x100; + case OBJECT_TYPE_WALLS: return entryIndex + 0x200; + case OBJECT_TYPE_LARGE_SCENERY: return entryIndex + 0x300; + case OBJECT_TYPE_BANNERS: return entryIndex + 0x400; + default: return -1; + } } diff --git a/src/openrct2/world/scenery.h b/src/openrct2/world/scenery.h index c8b7402c98..15eb26eb66 100644 --- a/src/openrct2/world/scenery.h +++ b/src/openrct2/world/scenery.h @@ -23,206 +23,206 @@ #pragma pack(push, 1) typedef struct rct_small_scenery_entry { - uint32 flags; // 0x06 - uint8 height; // 0x0A - uint8 tool_id; // 0x0B - sint16 price; // 0x0C - sint16 removal_price; // 0x0E - uint8 *var_10; - uint16 var_14; - uint16 var_16; - uint16 var_18; - uint8 scenery_tab_id; // 0x1A + uint32 flags; // 0x06 + uint8 height; // 0x0A + uint8 tool_id; // 0x0B + sint16 price; // 0x0C + sint16 removal_price; // 0x0E + uint8 *var_10; + uint16 var_14; + uint16 var_16; + uint16 var_18; + uint8 scenery_tab_id; // 0x1A } rct_small_scenery_entry; #ifdef PLATFORM_32BIT assert_struct_size(rct_small_scenery_entry, 21); #endif typedef enum { - SMALL_SCENERY_FLAG_FULL_TILE = (1 << 0), // 0x1 - SMALL_SCENERY_FLAG_VOFFSET_CENTRE = (1 << 1), // 0x2 - SMALL_SCENERY_FLAG_REQUIRE_FLAT_SURFACE = (1 << 2), // 0x4 - SMALL_SCENERY_FLAG4 = (1 << 3), // 0x8 - SMALL_SCENERY_FLAG_ANIMATED = (1 << 4), // 0x10 - SMALL_SCENERY_FLAG6 = (1 << 5), // 0x20 - SMALL_SCENERY_FLAG_CAN_BE_WATERED = (1 << 6), // 0x40 - SMALL_SCENERY_FLAG_ANIMATED_FG = (1 << 7), // 0x80 - SMALL_SCENERY_FLAG9 = (1 << 8), // 0x100 - SMALL_SCENERY_FLAG_HAS_GLASS = (1 << 9), // 0x200 - SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR = (1 << 10), // 0x400 - SMALL_SCENERY_FLAG12 = (1 << 11), // 0x800 - SMALL_SCENERY_FLAG13 = (1 << 12), // 0x1000 - SMALL_SCENERY_FLAG_IS_CLOCK = (1 << 13), // 0x2000 - SMALL_SCENERY_FLAG15 = (1 << 14), // 0x4000 - SMALL_SCENERY_FLAG16 = (1 << 15), // 0x8000 - SMALL_SCENERY_FLAG17 = (1 << 16), // 0x10000 - SMALL_SCENERY_FLAG18 = (1 << 17), // 0x20000 - SMALL_SCENERY_FLAG_ALLOW_WALLS = (1 << 18), // 0x40000 - SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR = (1 << 19), // 0x80000 - SMALL_SCENERY_FLAG20 = (1 << 20), // 0x100000 - SMALL_SCENERY_FLAG21 = (1 << 21), // 0x200000 - SMALL_SCENERY_FLAG22 = (1 << 22), // 0x400000 - SMALL_SCENERY_FLAG23 = (1 << 23), // 0x800000 - SMALL_SCENERY_FLAG24 = (1 << 24), // 0x1000000 - SMALL_SCENERY_FLAG25 = (1 << 25), // 0x2000000 - SMALL_SCENERY_FLAG26 = (1 << 26), // 0x4000000 - SMALL_SCENERY_FLAG27 = (1 << 27), // 0x8000000 + SMALL_SCENERY_FLAG_FULL_TILE = (1 << 0), // 0x1 + SMALL_SCENERY_FLAG_VOFFSET_CENTRE = (1 << 1), // 0x2 + SMALL_SCENERY_FLAG_REQUIRE_FLAT_SURFACE = (1 << 2), // 0x4 + SMALL_SCENERY_FLAG4 = (1 << 3), // 0x8 + SMALL_SCENERY_FLAG_ANIMATED = (1 << 4), // 0x10 + SMALL_SCENERY_FLAG6 = (1 << 5), // 0x20 + SMALL_SCENERY_FLAG_CAN_BE_WATERED = (1 << 6), // 0x40 + SMALL_SCENERY_FLAG_ANIMATED_FG = (1 << 7), // 0x80 + SMALL_SCENERY_FLAG9 = (1 << 8), // 0x100 + SMALL_SCENERY_FLAG_HAS_GLASS = (1 << 9), // 0x200 + SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR = (1 << 10), // 0x400 + SMALL_SCENERY_FLAG12 = (1 << 11), // 0x800 + SMALL_SCENERY_FLAG13 = (1 << 12), // 0x1000 + SMALL_SCENERY_FLAG_IS_CLOCK = (1 << 13), // 0x2000 + SMALL_SCENERY_FLAG15 = (1 << 14), // 0x4000 + SMALL_SCENERY_FLAG16 = (1 << 15), // 0x8000 + SMALL_SCENERY_FLAG17 = (1 << 16), // 0x10000 + SMALL_SCENERY_FLAG18 = (1 << 17), // 0x20000 + SMALL_SCENERY_FLAG_ALLOW_WALLS = (1 << 18), // 0x40000 + SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR = (1 << 19), // 0x80000 + SMALL_SCENERY_FLAG20 = (1 << 20), // 0x100000 + SMALL_SCENERY_FLAG21 = (1 << 21), // 0x200000 + SMALL_SCENERY_FLAG22 = (1 << 22), // 0x400000 + SMALL_SCENERY_FLAG23 = (1 << 23), // 0x800000 + SMALL_SCENERY_FLAG24 = (1 << 24), // 0x1000000 + SMALL_SCENERY_FLAG25 = (1 << 25), // 0x2000000 + SMALL_SCENERY_FLAG26 = (1 << 26), // 0x4000000 + SMALL_SCENERY_FLAG27 = (1 << 27), // 0x8000000 } SMALL_SCENERY_FLAGS; typedef struct rct_large_scenery_tile { - sint16 x_offset; - sint16 y_offset; - sint16 z_offset; - uint8 z_clearance; - uint16 var_7; + sint16 x_offset; + sint16 y_offset; + sint16 z_offset; + uint8 z_clearance; + uint16 var_7; } rct_large_scenery_tile; assert_struct_size(rct_large_scenery_tile, 9); typedef struct rct_large_scenery_text_glyph { - uint8 image_offset; - uint8 width; - uint8 height; - uint8 var_3; + uint8 image_offset; + uint8 width; + uint8 height; + uint8 var_3; } rct_large_scenery_text_glyph; assert_struct_size(rct_large_scenery_text_glyph, 4); typedef struct rct_large_scenery_text { - rct_xy16 offset[2]; // 0x0 - uint16 max_width; // 0x8 - uint16 pad_A; // 0xA - uint8 flags; // 0xC - uint8 var_D; // 0xD - rct_large_scenery_text_glyph glyphs[256]; // 0xE + rct_xy16 offset[2]; // 0x0 + uint16 max_width; // 0x8 + uint16 pad_A; // 0xA + uint8 flags; // 0xC + uint8 var_D; // 0xD + rct_large_scenery_text_glyph glyphs[256]; // 0xE } rct_large_scenery_text; assert_struct_size(rct_large_scenery_text, 14 + 4 * 256); typedef enum { - LARGE_SCENERY_TEXT_FLAG_VERTICAL = (1 << 0), // 0x1 - LARGE_SCENERY_TEXT_FLAG_TWO_LINE = (1 << 1), // 0x2 + LARGE_SCENERY_TEXT_FLAG_VERTICAL = (1 << 0), // 0x1 + LARGE_SCENERY_TEXT_FLAG_TWO_LINE = (1 << 1), // 0x2 } LARGE_SCENERY_TEXT_FLAGS; typedef struct rct_large_scenery_entry { - uint8 tool_id; // 0x06 - uint8 flags; // 0x07 - sint16 price; // 0x08 - sint16 removal_price; // 0x0A - rct_large_scenery_tile* tiles; // 0x0C - uint8 scenery_tab_id; // 0x10 - uint8 var_11; - rct_large_scenery_text* text; // 0x12 - uint32 text_image; // 0x16 + uint8 tool_id; // 0x06 + uint8 flags; // 0x07 + sint16 price; // 0x08 + sint16 removal_price; // 0x0A + rct_large_scenery_tile* tiles; // 0x0C + uint8 scenery_tab_id; // 0x10 + uint8 var_11; + rct_large_scenery_text* text; // 0x12 + uint32 text_image; // 0x16 } rct_large_scenery_entry; #ifdef PLATFORM_32BIT assert_struct_size(rct_large_scenery_entry, 20); #endif typedef enum { - LARGE_SCENERY_FLAG_HAS_PRIMARY_COLOUR = (1 << 0), // 0x1 - LARGE_SCENERY_FLAG_HAS_SECONDARY_COLOUR = (1 << 1), // 0x2 - LARGE_SCENERY_FLAG_3D_TEXT = (1 << 2), // 0x4 - LARGE_SCENERY_FLAG_ANIMATED = (1 << 3), // 0x8 - LARGE_SCENERY_FLAG5 = (1 << 4), // 0x10 + LARGE_SCENERY_FLAG_HAS_PRIMARY_COLOUR = (1 << 0), // 0x1 + LARGE_SCENERY_FLAG_HAS_SECONDARY_COLOUR = (1 << 1), // 0x2 + LARGE_SCENERY_FLAG_3D_TEXT = (1 << 2), // 0x4 + LARGE_SCENERY_FLAG_ANIMATED = (1 << 3), // 0x8 + LARGE_SCENERY_FLAG5 = (1 << 4), // 0x10 } LARGE_SCENERY_FLAGS; typedef struct rct_wall_scenery_entry { - uint8 tool_id; // 0x06 - uint8 flags; // 0x07 - uint8 height; // 0x08 - uint8 flags2; // 0x09 - sint16 price; // 0x0A - uint8 scenery_tab_id; // 0x0C - uint8 scrolling_mode; // 0x0D 0xFF if no scrolling + uint8 tool_id; // 0x06 + uint8 flags; // 0x07 + uint8 height; // 0x08 + uint8 flags2; // 0x09 + sint16 price; // 0x0A + uint8 scenery_tab_id; // 0x0C + uint8 scrolling_mode; // 0x0D 0xFF if no scrolling } rct_wall_scenery_entry; assert_struct_size(rct_wall_scenery_entry, 8); typedef enum { - WALL_SCENERY_HAS_PRIMARY_COLOUR = (1 << 0), // 0x1 - WALL_SCENERY_HAS_GLASS = (1 << 1), // 0x2 - WALL_SCENERY_CANT_BUILD_ON_SLOPE = (1 << 2), // 0x4 - WALL_SCENERY_IS_BANNER = (1 << 3), // 0x8 // Probably indicates translucency - WALL_SCENERY_IS_DOOR = (1 << 4), // 0x10 - WALL_SCENERY_FLAG6 = (1 << 5), // 0x20 - WALL_SCENERY_HAS_SECONDARY_COLOUR = (1 << 6), // 0x40 - WALL_SCENERY_HAS_TERNARY_COLOUR = (1 << 7), // 0x80 + WALL_SCENERY_HAS_PRIMARY_COLOUR = (1 << 0), // 0x1 + WALL_SCENERY_HAS_GLASS = (1 << 1), // 0x2 + WALL_SCENERY_CANT_BUILD_ON_SLOPE = (1 << 2), // 0x4 + WALL_SCENERY_IS_BANNER = (1 << 3), // 0x8 // Probably indicates translucency + WALL_SCENERY_IS_DOOR = (1 << 4), // 0x10 + WALL_SCENERY_FLAG6 = (1 << 5), // 0x20 + WALL_SCENERY_HAS_SECONDARY_COLOUR = (1 << 6), // 0x40 + WALL_SCENERY_HAS_TERNARY_COLOUR = (1 << 7), // 0x80 } WALL_SCENERY_FLAGS; typedef enum { - WALL_SCENERY_2_NO_SELECT_PRIMARY_COLOUR = (1 << 0), // 0x1 - // Flags 2 and 3 are the door sound type - WALL_SCENERY_2_FLAG4 = (1 << 3), // 0x8 - WALL_SCENERY_2_FLAG5 = (1 << 4), // 0x10 + WALL_SCENERY_2_NO_SELECT_PRIMARY_COLOUR = (1 << 0), // 0x1 + // Flags 2 and 3 are the door sound type + WALL_SCENERY_2_FLAG4 = (1 << 3), // 0x8 + WALL_SCENERY_2_FLAG5 = (1 << 4), // 0x10 } WALL_SCENERY_2_FLAGS; typedef struct rct_path_bit_scenery_entry { - uint16 flags; // 0x06 - uint8 draw_type; // 0x08 - uint8 tool_id; // 0x09 - sint16 price; // 0x0A - uint8 scenery_tab_id; // 0x0C + uint16 flags; // 0x06 + uint8 draw_type; // 0x08 + uint8 tool_id; // 0x09 + sint16 price; // 0x0A + uint8 scenery_tab_id; // 0x0C } rct_path_bit_scenery_entry; assert_struct_size(rct_path_bit_scenery_entry, 7); typedef struct rct_banner_scenery_entry { - uint8 scrolling_mode; // 0x06 - uint8 flags; // 0x07 - sint16 price; // 0x08 - uint8 scenery_tab_id; // 0x0A + uint8 scrolling_mode; // 0x06 + uint8 flags; // 0x07 + sint16 price; // 0x08 + uint8 scenery_tab_id; // 0x0A } rct_banner_scenery_entry; assert_struct_size(rct_banner_scenery_entry, 5); typedef struct rct_scenery_entry { - rct_string_id name; // 0x00 - uint32 image; // 0x02 - union { - rct_small_scenery_entry small_scenery; - rct_large_scenery_entry large_scenery; - rct_wall_scenery_entry wall; - rct_path_bit_scenery_entry path_bit; - rct_banner_scenery_entry banner; - }; + rct_string_id name; // 0x00 + uint32 image; // 0x02 + union { + rct_small_scenery_entry small_scenery; + rct_large_scenery_entry large_scenery; + rct_wall_scenery_entry wall; + rct_path_bit_scenery_entry path_bit; + rct_banner_scenery_entry banner; + }; } rct_scenery_entry; #ifdef PLATFORM_32BIT assert_struct_size(rct_scenery_entry, 6 + 21); #endif typedef struct rct_scenery_set_entry { - rct_string_id name; // 0x00 - uint32 image; // 0x02 - uint16 scenery_entries[0x80]; // 0x06 - uint8 entry_count; // 0x106 - uint8 var_107; - uint8 var_108; // 0x108, order? - uint8 pad_109; - uint32 entertainer_costumes; // 0x10A + rct_string_id name; // 0x00 + uint32 image; // 0x02 + uint16 scenery_entries[0x80]; // 0x06 + uint8 entry_count; // 0x106 + uint8 var_107; + uint8 var_108; // 0x108, order? + uint8 pad_109; + uint32 entertainer_costumes; // 0x10A } rct_scenery_set_entry; assert_struct_size(rct_scenery_set_entry, 14 + 2 * 0x80); #pragma pack(pop) enum { - PATH_BIT_FLAG_IS_BIN = 1 << 0, - PATH_BIT_FLAG_IS_BENCH = 1 << 1, - PATH_BIT_FLAG_BREAKABLE = 1 << 2, - PATH_BIT_FLAG_LAMP = 1 << 3, - PATH_BIT_FLAG_JUMPING_FOUNTAIN_WATER = 1 << 4, - PATH_BIT_FLAG_JUMPING_FOUNTAIN_SNOW = 1 << 5, - PATH_BIT_FLAG_DONT_ALLOW_ON_QUEUE = 1 << 6, - PATH_BIT_FLAG_DONT_ALLOW_ON_SLOPE = 1 << 7, - PATH_BIT_FLAG_IS_QUEUE_SCREEN = 1 << 8 + PATH_BIT_FLAG_IS_BIN = 1 << 0, + PATH_BIT_FLAG_IS_BENCH = 1 << 1, + PATH_BIT_FLAG_BREAKABLE = 1 << 2, + PATH_BIT_FLAG_LAMP = 1 << 3, + PATH_BIT_FLAG_JUMPING_FOUNTAIN_WATER = 1 << 4, + PATH_BIT_FLAG_JUMPING_FOUNTAIN_SNOW = 1 << 5, + PATH_BIT_FLAG_DONT_ALLOW_ON_QUEUE = 1 << 6, + PATH_BIT_FLAG_DONT_ALLOW_ON_SLOPE = 1 << 7, + PATH_BIT_FLAG_IS_QUEUE_SCREEN = 1 << 8 }; enum { - PATH_BIT_DRAW_TYPE_LIGHTS, - PATH_BIT_DRAW_TYPE_BINS, - PATH_BIT_DRAW_TYPE_BENCHES, - PATH_BIT_DRAW_TYPE_JUMPING_FOUNTAINS + PATH_BIT_DRAW_TYPE_LIGHTS, + PATH_BIT_DRAW_TYPE_BINS, + PATH_BIT_DRAW_TYPE_BENCHES, + PATH_BIT_DRAW_TYPE_JUMPING_FOUNTAINS }; enum { - SCENERY_TYPE_SMALL, - SCENERY_TYPE_PATH_ITEM, - SCENERY_TYPE_WALL, - SCENERY_TYPE_LARGE, - SCENERY_TYPE_BANNER + SCENERY_TYPE_SMALL, + SCENERY_TYPE_PATH_ITEM, + SCENERY_TYPE_WALL, + SCENERY_TYPE_LARGE, + SCENERY_TYPE_BANNER }; #define SCENERY_ENTRIES_BY_TAB 256 diff --git a/src/openrct2/world/sprite.c b/src/openrct2/world/sprite.c index 5b97ef0a05..c916de2145 100644 --- a/src/openrct2/world/sprite.c +++ b/src/openrct2/world/sprite.c @@ -47,42 +47,42 @@ static size_t GetSpatialIndexOffset(sint32 x, sint32 y); rct_sprite *try_get_sprite(size_t spriteIndex) { - rct_sprite * sprite = NULL; - if (spriteIndex < MAX_SPRITES) - { - sprite = &_spriteList[spriteIndex]; - } - return sprite; + rct_sprite * sprite = NULL; + if (spriteIndex < MAX_SPRITES) + { + sprite = &_spriteList[spriteIndex]; + } + return sprite; } rct_sprite *get_sprite(size_t sprite_idx) { - openrct2_assert(sprite_idx < MAX_SPRITES, "Tried getting sprite %u", sprite_idx); - return &_spriteList[sprite_idx]; + openrct2_assert(sprite_idx < MAX_SPRITES, "Tried getting sprite %u", sprite_idx); + return &_spriteList[sprite_idx]; } uint16 sprite_get_first_in_quadrant(sint32 x, sint32 y) { - sint32 offset = ((x & 0x1FE0) << 3) | (y >> 5); - return gSpriteSpatialIndex[offset]; + sint32 offset = ((x & 0x1FE0) << 3) | (y >> 5); + return gSpriteSpatialIndex[offset]; } static void invalidate_sprite_max_zoom(rct_sprite *sprite, sint32 maxZoom) { - if (sprite->unknown.sprite_left == SPRITE_LOCATION_NULL) return; + if (sprite->unknown.sprite_left == SPRITE_LOCATION_NULL) return; - for (sint32 i = 0; i < MAX_VIEWPORT_COUNT; i++) { - rct_viewport *viewport = &g_viewport_list[i]; - if (viewport->width != 0 && viewport->zoom <= maxZoom) { - viewport_invalidate( - viewport, - sprite->unknown.sprite_left, - sprite->unknown.sprite_top, - sprite->unknown.sprite_right, - sprite->unknown.sprite_bottom - ); - } - } + for (sint32 i = 0; i < MAX_VIEWPORT_COUNT; i++) { + rct_viewport *viewport = &g_viewport_list[i]; + if (viewport->width != 0 && viewport->zoom <= maxZoom) { + viewport_invalidate( + viewport, + sprite->unknown.sprite_left, + sprite->unknown.sprite_top, + sprite->unknown.sprite_right, + sprite->unknown.sprite_bottom + ); + } + } } /** @@ -91,7 +91,7 @@ static void invalidate_sprite_max_zoom(rct_sprite *sprite, sint32 maxZoom) */ void invalidate_sprite_0(rct_sprite* sprite) { - invalidate_sprite_max_zoom(sprite, 0); + invalidate_sprite_max_zoom(sprite, 0); } /** @@ -100,7 +100,7 @@ void invalidate_sprite_0(rct_sprite* sprite) */ void invalidate_sprite_1(rct_sprite *sprite) { - invalidate_sprite_max_zoom(sprite, 1); + invalidate_sprite_max_zoom(sprite, 1); } /** @@ -111,7 +111,7 @@ void invalidate_sprite_1(rct_sprite *sprite) */ void invalidate_sprite_2(rct_sprite *sprite) { - invalidate_sprite_max_zoom(sprite, 2); + invalidate_sprite_max_zoom(sprite, 2); } /** @@ -120,38 +120,38 @@ void invalidate_sprite_2(rct_sprite *sprite) */ void reset_sprite_list() { - gSavedAge = 0; - memset(_spriteList, 0, sizeof(rct_sprite) * MAX_SPRITES); + gSavedAge = 0; + memset(_spriteList, 0, sizeof(rct_sprite) * MAX_SPRITES); - for (sint32 i = 0; i < NUM_SPRITE_LISTS; i++) { - gSpriteListHead[i] = SPRITE_INDEX_NULL; - gSpriteListCount[i] = 0; - } + for (sint32 i = 0; i < NUM_SPRITE_LISTS; i++) { + gSpriteListHead[i] = SPRITE_INDEX_NULL; + gSpriteListCount[i] = 0; + } - rct_sprite* previous_spr = (rct_sprite*)SPRITE_INDEX_NULL; + rct_sprite* previous_spr = (rct_sprite*)SPRITE_INDEX_NULL; - for (sint32 i = 0; i < MAX_SPRITES; ++i){ - rct_sprite *spr = get_sprite(i); - spr->unknown.sprite_identifier = SPRITE_IDENTIFIER_NULL; - spr->unknown.sprite_index = i; - spr->unknown.next = SPRITE_INDEX_NULL; - spr->unknown.linked_list_type_offset = 0; + for (sint32 i = 0; i < MAX_SPRITES; ++i){ + rct_sprite *spr = get_sprite(i); + spr->unknown.sprite_identifier = SPRITE_IDENTIFIER_NULL; + spr->unknown.sprite_index = i; + spr->unknown.next = SPRITE_INDEX_NULL; + spr->unknown.linked_list_type_offset = 0; - if (previous_spr != (rct_sprite*)SPRITE_INDEX_NULL){ - spr->unknown.previous = previous_spr->unknown.sprite_index; - previous_spr->unknown.next = i; - } - else{ - spr->unknown.previous = SPRITE_INDEX_NULL; - gSpriteListHead[SPRITE_LIST_NULL] = i; - } - previous_spr = spr; - spr++; - } + if (previous_spr != (rct_sprite*)SPRITE_INDEX_NULL){ + spr->unknown.previous = previous_spr->unknown.sprite_index; + previous_spr->unknown.next = i; + } + else{ + spr->unknown.previous = SPRITE_INDEX_NULL; + gSpriteListHead[SPRITE_LIST_NULL] = i; + } + previous_spr = spr; + spr++; + } - gSpriteListCount[SPRITE_LIST_NULL] = MAX_SPRITES; + gSpriteListCount[SPRITE_LIST_NULL] = MAX_SPRITES; - reset_sprite_spatial_index(); + reset_sprite_spatial_index(); } /** @@ -162,32 +162,32 @@ void reset_sprite_list() */ void reset_sprite_spatial_index() { - memset(gSpriteSpatialIndex, -1, sizeof(gSpriteSpatialIndex)); - for (size_t i = 0; i < MAX_SPRITES; i++) { - rct_sprite *spr = get_sprite(i); - if (spr->unknown.sprite_identifier != SPRITE_IDENTIFIER_NULL) { - size_t index = GetSpatialIndexOffset(spr->unknown.x, spr->unknown.y); - uint16 nextSpriteId = gSpriteSpatialIndex[index]; - gSpriteSpatialIndex[index] = spr->unknown.sprite_index; - spr->unknown.next_in_quadrant = nextSpriteId; - } - } + memset(gSpriteSpatialIndex, -1, sizeof(gSpriteSpatialIndex)); + for (size_t i = 0; i < MAX_SPRITES; i++) { + rct_sprite *spr = get_sprite(i); + if (spr->unknown.sprite_identifier != SPRITE_IDENTIFIER_NULL) { + size_t index = GetSpatialIndexOffset(spr->unknown.x, spr->unknown.y); + uint16 nextSpriteId = gSpriteSpatialIndex[index]; + gSpriteSpatialIndex[index] = spr->unknown.sprite_index; + spr->unknown.next_in_quadrant = nextSpriteId; + } + } } static size_t GetSpatialIndexOffset(sint32 x, sint32 y) { - size_t index = SPATIAL_INDEX_LOCATION_NULL; - if (x != SPRITE_LOCATION_NULL) { - x = clamp(0, x, 0xFFFF); - y = clamp(0, y, 0xFFFF); + size_t index = SPATIAL_INDEX_LOCATION_NULL; + if (x != SPRITE_LOCATION_NULL) { + x = clamp(0, x, 0xFFFF); + y = clamp(0, y, 0xFFFF); - sint16 flooredX = floor2(x, 32); - uint8 tileY = y >> 5; - index = (flooredX << 3) | tileY; - } + sint16 flooredX = floor2(x, 32); + uint8 tileY = y >> 5; + index = (flooredX << 3) | tileY; + } - openrct2_assert(index < sizeof(gSpriteSpatialIndex), "GetSpatialIndexOffset out of range"); - return index; + openrct2_assert(index < sizeof(gSpriteSpatialIndex), "GetSpatialIndexOffset out of range"); + return index; } #ifndef DISABLE_NETWORK @@ -196,42 +196,42 @@ static uint8 _spriteChecksum[EVP_MAX_MD_SIZE + 1]; const char * sprite_checksum() { - if (EVP_DigestInit_ex(gHashCTX, EVP_sha1(), NULL) <= 0) - { - openrct2_assert(false, "Failed to initialise SHA1 engine"); - } - for (size_t i = 0; i < MAX_SPRITES; i++) - { - rct_sprite *sprite = get_sprite(i); - if (sprite->unknown.sprite_identifier != SPRITE_IDENTIFIER_NULL && sprite->unknown.sprite_identifier != SPRITE_IDENTIFIER_MISC) - { - rct_sprite copy = *sprite; - copy.unknown.sprite_left = copy.unknown.sprite_right = copy.unknown.sprite_top = copy.unknown.sprite_bottom = 0; - if (EVP_DigestUpdate(gHashCTX, ©, sizeof(rct_sprite)) <= 0) - { - openrct2_assert(false, "Failed to update digest"); - } - } - } - uint8 localhash[EVP_MAX_MD_SIZE + 1]; - uint32 size = sizeof(localhash); - EVP_DigestFinal(gHashCTX, localhash, &size); - assert(size <= sizeof(localhash)); - localhash[sizeof(localhash) - 1] = '\0'; - char *x = (char *)_spriteChecksum; - for (uint32 i = 0; i < size; i++) - { - snprintf(x, EVP_MAX_MD_SIZE + 1, "%02x", localhash[i]); - x += 2; - } - *x = '\0'; - return (char *)_spriteChecksum; + if (EVP_DigestInit_ex(gHashCTX, EVP_sha1(), NULL) <= 0) + { + openrct2_assert(false, "Failed to initialise SHA1 engine"); + } + for (size_t i = 0; i < MAX_SPRITES; i++) + { + rct_sprite *sprite = get_sprite(i); + if (sprite->unknown.sprite_identifier != SPRITE_IDENTIFIER_NULL && sprite->unknown.sprite_identifier != SPRITE_IDENTIFIER_MISC) + { + rct_sprite copy = *sprite; + copy.unknown.sprite_left = copy.unknown.sprite_right = copy.unknown.sprite_top = copy.unknown.sprite_bottom = 0; + if (EVP_DigestUpdate(gHashCTX, ©, sizeof(rct_sprite)) <= 0) + { + openrct2_assert(false, "Failed to update digest"); + } + } + } + uint8 localhash[EVP_MAX_MD_SIZE + 1]; + uint32 size = sizeof(localhash); + EVP_DigestFinal(gHashCTX, localhash, &size); + assert(size <= sizeof(localhash)); + localhash[sizeof(localhash) - 1] = '\0'; + char *x = (char *)_spriteChecksum; + for (uint32 i = 0; i < size; i++) + { + snprintf(x, EVP_MAX_MD_SIZE + 1, "%02x", localhash[i]); + x += 2; + } + *x = '\0'; + return (char *)_spriteChecksum; } #else const char * sprite_checksum() { - return NULL; + return NULL; } #endif // DISABLE_NETWORK @@ -242,38 +242,38 @@ const char * sprite_checksum() */ void sprite_clear_all_unused() { - rct_unk_sprite *sprite; - uint16 spriteIndex, nextSpriteIndex, previousSpriteIndex; + rct_unk_sprite *sprite; + uint16 spriteIndex, nextSpriteIndex, previousSpriteIndex; - spriteIndex = gSpriteListHead[SPRITE_LIST_NULL]; - while (spriteIndex != SPRITE_INDEX_NULL) { - sprite = &get_sprite(spriteIndex)->unknown; - nextSpriteIndex = sprite->next; - previousSpriteIndex = sprite->previous; - memset(sprite, 0, sizeof(rct_sprite)); - sprite->sprite_identifier = SPRITE_IDENTIFIER_NULL; - sprite->next = nextSpriteIndex; - sprite->previous = previousSpriteIndex; - sprite->linked_list_type_offset = SPRITE_LIST_NULL * 2; - sprite->sprite_index = spriteIndex; - spriteIndex = nextSpriteIndex; - } + spriteIndex = gSpriteListHead[SPRITE_LIST_NULL]; + while (spriteIndex != SPRITE_INDEX_NULL) { + sprite = &get_sprite(spriteIndex)->unknown; + nextSpriteIndex = sprite->next; + previousSpriteIndex = sprite->previous; + memset(sprite, 0, sizeof(rct_sprite)); + sprite->sprite_identifier = SPRITE_IDENTIFIER_NULL; + sprite->next = nextSpriteIndex; + sprite->previous = previousSpriteIndex; + sprite->linked_list_type_offset = SPRITE_LIST_NULL * 2; + sprite->sprite_index = spriteIndex; + spriteIndex = nextSpriteIndex; + } } static void sprite_reset(rct_unk_sprite *sprite) { - // Need to retain how the sprite is linked in lists - uint8 llto = sprite->linked_list_type_offset; - uint16 next = sprite->next; - uint16 prev = sprite->previous; - uint16 sprite_index = sprite->sprite_index; + // Need to retain how the sprite is linked in lists + uint8 llto = sprite->linked_list_type_offset; + uint16 next = sprite->next; + uint16 prev = sprite->previous; + uint16 sprite_index = sprite->sprite_index; - memset(sprite, 0, sizeof(rct_sprite)); + memset(sprite, 0, sizeof(rct_sprite)); - sprite->linked_list_type_offset = llto; - sprite->next = next; - sprite->previous = prev; - sprite->sprite_index = sprite_index; + sprite->linked_list_type_offset = llto; + sprite->next = next; + sprite->previous = prev; + sprite->sprite_index = sprite_index; } /* @@ -282,40 +282,40 @@ static void sprite_reset(rct_unk_sprite *sprite) */ rct_sprite *create_sprite(uint8 bl) { - size_t linkedListTypeOffset = SPRITE_LIST_UNKNOWN * 2; - if ((bl & 2) != 0) { - // 69EC96; - uint16 cx = 0x12C - gSpriteListCount[SPRITE_LIST_MISC]; - if (cx >= gSpriteListCount[SPRITE_LIST_NULL]) { - return NULL; - } - linkedListTypeOffset = SPRITE_LIST_MISC * 2; - } else if (gSpriteListCount[SPRITE_LIST_NULL] == 0) { - return NULL; - } + size_t linkedListTypeOffset = SPRITE_LIST_UNKNOWN * 2; + if ((bl & 2) != 0) { + // 69EC96; + uint16 cx = 0x12C - gSpriteListCount[SPRITE_LIST_MISC]; + if (cx >= gSpriteListCount[SPRITE_LIST_NULL]) { + return NULL; + } + linkedListTypeOffset = SPRITE_LIST_MISC * 2; + } else if (gSpriteListCount[SPRITE_LIST_NULL] == 0) { + return NULL; + } - rct_unk_sprite *sprite = &(get_sprite(gSpriteListHead[SPRITE_LIST_NULL]))->unknown; + rct_unk_sprite *sprite = &(get_sprite(gSpriteListHead[SPRITE_LIST_NULL]))->unknown; - move_sprite_to_list((rct_sprite *)sprite, (uint8)linkedListTypeOffset); + move_sprite_to_list((rct_sprite *)sprite, (uint8)linkedListTypeOffset); - // Need to reset all sprite data, as the uninitialised values - // may contain garbage and cause a desync later on. - sprite_reset(sprite); + // Need to reset all sprite data, as the uninitialised values + // may contain garbage and cause a desync later on. + sprite_reset(sprite); - sprite->x = SPRITE_LOCATION_NULL; - sprite->y = SPRITE_LOCATION_NULL; - sprite->z = 0; - sprite->name_string_idx = 0; - sprite->sprite_width = 0x10; - sprite->sprite_height_negative = 0x14; - sprite->sprite_height_positive = 0x8; - sprite->flags = 0; - sprite->sprite_left = SPRITE_LOCATION_NULL; + sprite->x = SPRITE_LOCATION_NULL; + sprite->y = SPRITE_LOCATION_NULL; + sprite->z = 0; + sprite->name_string_idx = 0; + sprite->sprite_width = 0x10; + sprite->sprite_height_negative = 0x14; + sprite->sprite_height_positive = 0x8; + sprite->flags = 0; + sprite->sprite_left = SPRITE_LOCATION_NULL; - sprite->next_in_quadrant = gSpriteSpatialIndex[SPATIAL_INDEX_LOCATION_NULL]; - gSpriteSpatialIndex[SPATIAL_INDEX_LOCATION_NULL] = sprite->sprite_index; + sprite->next_in_quadrant = gSpriteSpatialIndex[SPATIAL_INDEX_LOCATION_NULL]; + gSpriteSpatialIndex[SPATIAL_INDEX_LOCATION_NULL] = sprite->sprite_index; - return (rct_sprite*)sprite; + return (rct_sprite*)sprite; } /* @@ -327,46 +327,46 @@ rct_sprite *create_sprite(uint8 bl) */ void move_sprite_to_list(rct_sprite *sprite, uint8 newListOffset) { - rct_unk_sprite *unkSprite = &sprite->unknown; - uint8 oldListOffset = unkSprite->linked_list_type_offset; - sint32 oldList = oldListOffset >> 1; - sint32 newList = newListOffset >> 1; + rct_unk_sprite *unkSprite = &sprite->unknown; + uint8 oldListOffset = unkSprite->linked_list_type_offset; + sint32 oldList = oldListOffset >> 1; + sint32 newList = newListOffset >> 1; - // No need to move if the sprite is already in the desired list - if (oldListOffset == newListOffset) { - return; - } + // No need to move if the sprite is already in the desired list + if (oldListOffset == newListOffset) { + return; + } - // If the sprite is currently the head of the list, the - // sprite following this one becomes the new head of the list. - if (unkSprite->previous == SPRITE_INDEX_NULL) { - gSpriteListHead[oldList] = unkSprite->next; - } else { - // Hook up sprite->previous->next to sprite->next, removing the sprite from its old list - get_sprite(unkSprite->previous)->unknown.next = unkSprite->next; - } + // If the sprite is currently the head of the list, the + // sprite following this one becomes the new head of the list. + if (unkSprite->previous == SPRITE_INDEX_NULL) { + gSpriteListHead[oldList] = unkSprite->next; + } else { + // Hook up sprite->previous->next to sprite->next, removing the sprite from its old list + get_sprite(unkSprite->previous)->unknown.next = unkSprite->next; + } - // Similarly, hook up sprite->next->previous to sprite->previous - if (unkSprite->next != SPRITE_INDEX_NULL) { - get_sprite(unkSprite->next)->unknown.previous = unkSprite->previous; - } + // Similarly, hook up sprite->next->previous to sprite->previous + if (unkSprite->next != SPRITE_INDEX_NULL) { + get_sprite(unkSprite->next)->unknown.previous = unkSprite->previous; + } - unkSprite->previous = SPRITE_INDEX_NULL; // We become the new head of the target list, so there's no previous sprite - unkSprite->linked_list_type_offset = newListOffset; + unkSprite->previous = SPRITE_INDEX_NULL; // We become the new head of the target list, so there's no previous sprite + unkSprite->linked_list_type_offset = newListOffset; - unkSprite->next = gSpriteListHead[newList]; // This sprite's next sprite is the old head, since we're the new head - gSpriteListHead[newList] = unkSprite->sprite_index; // Store this sprite's index as head of its new list + unkSprite->next = gSpriteListHead[newList]; // This sprite's next sprite is the old head, since we're the new head + gSpriteListHead[newList] = unkSprite->sprite_index; // Store this sprite's index as head of its new list - if (unkSprite->next != SPRITE_INDEX_NULL) - { - // Fix the chain by settings sprite->next->previous to sprite_index - get_sprite(unkSprite->next)->unknown.previous = unkSprite->sprite_index; - } + if (unkSprite->next != SPRITE_INDEX_NULL) + { + // Fix the chain by settings sprite->next->previous to sprite_index + get_sprite(unkSprite->next)->unknown.previous = unkSprite->sprite_index; + } - // These globals are probably counters for each sprite list? - // Decrement old list counter, increment new list counter. - gSpriteListCount[oldList]--; - gSpriteListCount[newList]++; + // These globals are probably counters for each sprite list? + // Decrement old list counter, increment new list counter. + gSpriteListCount[oldList]--; + gSpriteListCount[newList]++; } /** @@ -375,21 +375,21 @@ void move_sprite_to_list(rct_sprite *sprite, uint8 newListOffset) */ static void sprite_steam_particle_update(rct_steam_particle *steam) { - invalidate_sprite_2((rct_sprite*)steam); + invalidate_sprite_2((rct_sprite*)steam); - steam->var_24 += 0x5555; - if (steam->var_24 < 0x5555) { - sprite_move( - steam->x, - steam->y, - steam->z + 1, - (rct_sprite*)steam - ); - } - steam->frame += 64; - if (steam->frame >= (56 * 64)) { - sprite_remove((rct_sprite*)steam); - } + steam->var_24 += 0x5555; + if (steam->var_24 < 0x5555) { + sprite_move( + steam->x, + steam->y, + steam->z + 1, + (rct_sprite*)steam + ); + } + steam->frame += 64; + if (steam->frame >= (56 * 64)) { + sprite_remove((rct_sprite*)steam); + } } /** @@ -398,16 +398,16 @@ static void sprite_steam_particle_update(rct_steam_particle *steam) */ void sprite_misc_explosion_cloud_create(sint32 x, sint32 y, sint32 z) { - rct_unk_sprite *sprite = (rct_unk_sprite*)create_sprite(2); - if (sprite != NULL) { - sprite->sprite_width = 44; - sprite->sprite_height_negative = 32; - sprite->sprite_height_positive = 34; - sprite->sprite_identifier = SPRITE_IDENTIFIER_MISC; - sprite_move(x, y, z + 4, (rct_sprite*)sprite); - sprite->misc_identifier = SPRITE_MISC_EXPLOSION_CLOUD; - sprite->frame = 0; - } + rct_unk_sprite *sprite = (rct_unk_sprite*)create_sprite(2); + if (sprite != NULL) { + sprite->sprite_width = 44; + sprite->sprite_height_negative = 32; + sprite->sprite_height_positive = 34; + sprite->sprite_identifier = SPRITE_IDENTIFIER_MISC; + sprite_move(x, y, z + 4, (rct_sprite*)sprite); + sprite->misc_identifier = SPRITE_MISC_EXPLOSION_CLOUD; + sprite->frame = 0; + } } /** @@ -416,11 +416,11 @@ void sprite_misc_explosion_cloud_create(sint32 x, sint32 y, sint32 z) */ static void sprite_misc_explosion_cloud_update(rct_sprite * sprite) { - invalidate_sprite_2(sprite); - sprite->unknown.frame += 128; - if (sprite->unknown.frame >= (36 * 128)) { - sprite_remove(sprite); - } + invalidate_sprite_2(sprite); + sprite->unknown.frame += 128; + if (sprite->unknown.frame >= (36 * 128)) { + sprite_remove(sprite); + } } /** @@ -429,16 +429,16 @@ static void sprite_misc_explosion_cloud_update(rct_sprite * sprite) */ void sprite_misc_explosion_flare_create(sint32 x, sint32 y, sint32 z) { - rct_unk_sprite *sprite = (rct_unk_sprite*)create_sprite(2); - if (sprite != NULL) { - sprite->sprite_width = 25; - sprite->sprite_height_negative = 85; - sprite->sprite_height_positive = 8; - sprite->sprite_identifier = SPRITE_IDENTIFIER_MISC; - sprite_move(x, y, z + 4, (rct_sprite*)sprite); - sprite->misc_identifier = SPRITE_MISC_EXPLOSION_FLARE; - sprite->frame = 0; - } + rct_unk_sprite *sprite = (rct_unk_sprite*)create_sprite(2); + if (sprite != NULL) { + sprite->sprite_width = 25; + sprite->sprite_height_negative = 85; + sprite->sprite_height_positive = 8; + sprite->sprite_identifier = SPRITE_IDENTIFIER_MISC; + sprite_move(x, y, z + 4, (rct_sprite*)sprite); + sprite->misc_identifier = SPRITE_MISC_EXPLOSION_FLARE; + sprite->frame = 0; + } } /** @@ -447,11 +447,11 @@ void sprite_misc_explosion_flare_create(sint32 x, sint32 y, sint32 z) */ static void sprite_misc_explosion_flare_update(rct_sprite * sprite) { - invalidate_sprite_2(sprite); - sprite->unknown.frame += 64; - if (sprite->unknown.frame >= (124 * 64)) { - sprite_remove(sprite); - } + invalidate_sprite_2(sprite); + sprite->unknown.frame += 64; + if (sprite->unknown.frame >= (124 * 64)) { + sprite_remove(sprite); + } } /** @@ -460,36 +460,36 @@ static void sprite_misc_explosion_flare_update(rct_sprite * sprite) */ static void sprite_misc_update(rct_sprite *sprite) { - switch (sprite->unknown.misc_identifier) { - case SPRITE_MISC_STEAM_PARTICLE: - sprite_steam_particle_update((rct_steam_particle*)sprite); - break; - case SPRITE_MISC_MONEY_EFFECT: - money_effect_update(&sprite->money_effect); - break; - case SPRITE_MISC_CRASHED_VEHICLE_PARTICLE: - crashed_vehicle_particle_update((rct_crashed_vehicle_particle*)sprite); - break; - case SPRITE_MISC_EXPLOSION_CLOUD: - sprite_misc_explosion_cloud_update(sprite); - break; - case SPRITE_MISC_CRASH_SPLASH: - crash_splash_update((rct_crash_splash*)sprite); - break; - case SPRITE_MISC_EXPLOSION_FLARE: - sprite_misc_explosion_flare_update(sprite); - break; - case SPRITE_MISC_JUMPING_FOUNTAIN_WATER: - case SPRITE_MISC_JUMPING_FOUNTAIN_SNOW: - jumping_fountain_update(&sprite->jumping_fountain); - break; - case SPRITE_MISC_BALLOON: - balloon_update(&sprite->balloon); - break; - case SPRITE_MISC_DUCK: - duck_update(&sprite->duck); - break; - } + switch (sprite->unknown.misc_identifier) { + case SPRITE_MISC_STEAM_PARTICLE: + sprite_steam_particle_update((rct_steam_particle*)sprite); + break; + case SPRITE_MISC_MONEY_EFFECT: + money_effect_update(&sprite->money_effect); + break; + case SPRITE_MISC_CRASHED_VEHICLE_PARTICLE: + crashed_vehicle_particle_update((rct_crashed_vehicle_particle*)sprite); + break; + case SPRITE_MISC_EXPLOSION_CLOUD: + sprite_misc_explosion_cloud_update(sprite); + break; + case SPRITE_MISC_CRASH_SPLASH: + crash_splash_update((rct_crash_splash*)sprite); + break; + case SPRITE_MISC_EXPLOSION_FLARE: + sprite_misc_explosion_flare_update(sprite); + break; + case SPRITE_MISC_JUMPING_FOUNTAIN_WATER: + case SPRITE_MISC_JUMPING_FOUNTAIN_SNOW: + jumping_fountain_update(&sprite->jumping_fountain); + break; + case SPRITE_MISC_BALLOON: + balloon_update(&sprite->balloon); + break; + case SPRITE_MISC_DUCK: + duck_update(&sprite->duck); + break; + } } /** @@ -498,15 +498,15 @@ static void sprite_misc_update(rct_sprite *sprite) */ void sprite_misc_update_all() { - rct_sprite *sprite; - uint16 spriteIndex; + rct_sprite *sprite; + uint16 spriteIndex; - spriteIndex = gSpriteListHead[SPRITE_LIST_MISC]; - while (spriteIndex != SPRITE_INDEX_NULL) { - sprite = get_sprite(spriteIndex); - spriteIndex = sprite->unknown.next; - sprite_misc_update(sprite); - } + spriteIndex = gSpriteListHead[SPRITE_LIST_MISC]; + while (spriteIndex != SPRITE_INDEX_NULL) { + sprite = get_sprite(spriteIndex); + spriteIndex = sprite->unknown.next; + sprite_misc_update(sprite); + } } /** @@ -520,64 +520,64 @@ void sprite_misc_update_all() */ void sprite_move(sint16 x, sint16 y, sint16 z, rct_sprite *sprite) { - if (x < 0 || y < 0 || x > 0x1FFF || y > 0x1FFF) { - x = SPRITE_LOCATION_NULL; - } + if (x < 0 || y < 0 || x > 0x1FFF || y > 0x1FFF) { + x = SPRITE_LOCATION_NULL; + } - size_t newIndex = GetSpatialIndexOffset(x, y); - size_t currentIndex = GetSpatialIndexOffset(sprite->unknown.x, sprite->unknown.y); - if (newIndex != currentIndex) { - uint16 *spriteIndex = &gSpriteSpatialIndex[currentIndex]; - rct_sprite *sprite2 = get_sprite(*spriteIndex); - while (sprite != sprite2) { - spriteIndex = &sprite2->unknown.next_in_quadrant; - sprite2 = get_sprite(*spriteIndex); - } - *spriteIndex = sprite->unknown.next_in_quadrant; + size_t newIndex = GetSpatialIndexOffset(x, y); + size_t currentIndex = GetSpatialIndexOffset(sprite->unknown.x, sprite->unknown.y); + if (newIndex != currentIndex) { + uint16 *spriteIndex = &gSpriteSpatialIndex[currentIndex]; + rct_sprite *sprite2 = get_sprite(*spriteIndex); + while (sprite != sprite2) { + spriteIndex = &sprite2->unknown.next_in_quadrant; + sprite2 = get_sprite(*spriteIndex); + } + *spriteIndex = sprite->unknown.next_in_quadrant; - sint32 tempSpriteIndex = gSpriteSpatialIndex[newIndex]; - gSpriteSpatialIndex[newIndex] = sprite->unknown.sprite_index; - sprite->unknown.next_in_quadrant = tempSpriteIndex; - } + sint32 tempSpriteIndex = gSpriteSpatialIndex[newIndex]; + gSpriteSpatialIndex[newIndex] = sprite->unknown.sprite_index; + sprite->unknown.next_in_quadrant = tempSpriteIndex; + } - if (x == SPRITE_LOCATION_NULL) { - sprite->unknown.sprite_left = SPRITE_LOCATION_NULL; - sprite->unknown.x = x; - sprite->unknown.y = y; - sprite->unknown.z = z; - } else { - sprite_set_coordinates(x, y, z, sprite); - } + if (x == SPRITE_LOCATION_NULL) { + sprite->unknown.sprite_left = SPRITE_LOCATION_NULL; + sprite->unknown.x = x; + sprite->unknown.y = y; + sprite->unknown.z = z; + } else { + sprite_set_coordinates(x, y, z, sprite); + } } void sprite_set_coordinates(sint16 x, sint16 y, sint16 z, rct_sprite *sprite){ - sint16 new_x = x, new_y = y, start_x = x; - switch (get_current_rotation()){ - case 0: - new_x = new_y - new_x; - new_y = (new_y + start_x) / 2 - z; - break; - case 1: - new_x = -new_y - new_x; - new_y = (new_y - start_x) / 2 - z; - break; - case 2: - new_x = -new_y + new_x; - new_y = (-new_y - start_x) / 2 - z; - break; - case 3: - new_x = new_y + new_x; - new_y = (-new_y + start_x) / 2 - z; - break; - } + sint16 new_x = x, new_y = y, start_x = x; + switch (get_current_rotation()){ + case 0: + new_x = new_y - new_x; + new_y = (new_y + start_x) / 2 - z; + break; + case 1: + new_x = -new_y - new_x; + new_y = (new_y - start_x) / 2 - z; + break; + case 2: + new_x = -new_y + new_x; + new_y = (-new_y - start_x) / 2 - z; + break; + case 3: + new_x = new_y + new_x; + new_y = (-new_y + start_x) / 2 - z; + break; + } - sprite->unknown.sprite_left = new_x - sprite->unknown.sprite_width; - sprite->unknown.sprite_right = new_x + sprite->unknown.sprite_width; - sprite->unknown.sprite_top = new_y - sprite->unknown.sprite_height_negative; - sprite->unknown.sprite_bottom = new_y + sprite->unknown.sprite_height_positive; - sprite->unknown.x = x; - sprite->unknown.y = y; - sprite->unknown.z = z; + sprite->unknown.sprite_left = new_x - sprite->unknown.sprite_width; + sprite->unknown.sprite_right = new_x + sprite->unknown.sprite_width; + sprite->unknown.sprite_top = new_y - sprite->unknown.sprite_height_negative; + sprite->unknown.sprite_bottom = new_y + sprite->unknown.sprite_height_positive; + sprite->unknown.x = x; + sprite->unknown.y = y; + sprite->unknown.z = z; } /** @@ -586,41 +586,41 @@ void sprite_set_coordinates(sint16 x, sint16 y, sint16 z, rct_sprite *sprite){ */ void sprite_remove(rct_sprite *sprite) { - move_sprite_to_list(sprite, SPRITE_LIST_NULL * 2); - user_string_free(sprite->unknown.name_string_idx); - sprite->unknown.sprite_identifier = SPRITE_IDENTIFIER_NULL; + move_sprite_to_list(sprite, SPRITE_LIST_NULL * 2); + user_string_free(sprite->unknown.name_string_idx); + sprite->unknown.sprite_identifier = SPRITE_IDENTIFIER_NULL; - size_t quadrantIndex = GetSpatialIndexOffset(sprite->unknown.x, sprite->unknown.y); - uint16 *spriteIndex = &gSpriteSpatialIndex[quadrantIndex]; - rct_sprite *quadrantSprite; - while ((quadrantSprite = get_sprite(*spriteIndex)) != sprite) { - spriteIndex = &quadrantSprite->unknown.next_in_quadrant; - } - *spriteIndex = sprite->unknown.next_in_quadrant; + size_t quadrantIndex = GetSpatialIndexOffset(sprite->unknown.x, sprite->unknown.y); + uint16 *spriteIndex = &gSpriteSpatialIndex[quadrantIndex]; + rct_sprite *quadrantSprite; + while ((quadrantSprite = get_sprite(*spriteIndex)) != sprite) { + spriteIndex = &quadrantSprite->unknown.next_in_quadrant; + } + *spriteIndex = sprite->unknown.next_in_quadrant; } static bool litter_can_be_at(sint32 x, sint32 y, sint32 z) { - rct_map_element *mapElement; + rct_map_element *mapElement; - if (!map_is_location_owned(x & 0xFFE0, y & 0xFFE0, z)) - return false; + if (!map_is_location_owned(x & 0xFFE0, y & 0xFFE0, z)) + return false; - mapElement = map_get_first_element_at(x >> 5, y >> 5); - do { - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) - continue; + mapElement = map_get_first_element_at(x >> 5, y >> 5); + do { + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_PATH) + continue; - sint32 pathZ = mapElement->base_height * 8; - if (pathZ < z || pathZ >= z + 32) - continue; + sint32 pathZ = mapElement->base_height * 8; + if (pathZ < z || pathZ >= z + 32) + continue; - if (map_element_is_underground(mapElement)) - return false; + if (map_element_is_underground(mapElement)) + return false; - return true; - } while (!map_element_is_last_for_tile(mapElement++)); - return false; + return true; + } while (!map_element_is_last_for_tile(mapElement++)); + return false; } /** @@ -629,47 +629,47 @@ static bool litter_can_be_at(sint32 x, sint32 y, sint32 z) */ void litter_create(sint32 x, sint32 y, sint32 z, sint32 direction, sint32 type) { - if (gCheatsDisableLittering) - return; + if (gCheatsDisableLittering) + return; - x += TileDirectionDelta[direction >> 3].x / 8; - y += TileDirectionDelta[direction >> 3].y / 8; + x += TileDirectionDelta[direction >> 3].x / 8; + y += TileDirectionDelta[direction >> 3].y / 8; - if (!litter_can_be_at(x, y, z)) - return; + if (!litter_can_be_at(x, y, z)) + return; - if (gSpriteListCount[SPRITE_LIST_LITTER] >= 500) { - rct_litter *newestLitter = NULL; - uint32 newestLitterCreationTick = 0; - for (uint16 nextSpriteIndex, spriteIndex = gSpriteListHead[SPRITE_LIST_LITTER]; spriteIndex != SPRITE_INDEX_NULL; spriteIndex = nextSpriteIndex) { - rct_litter *litter = &get_sprite(spriteIndex)->litter; - nextSpriteIndex = litter->next; - if (newestLitterCreationTick <= litter->creationTick) { - newestLitterCreationTick = litter->creationTick; - newestLitter = litter; - } - } + if (gSpriteListCount[SPRITE_LIST_LITTER] >= 500) { + rct_litter *newestLitter = NULL; + uint32 newestLitterCreationTick = 0; + for (uint16 nextSpriteIndex, spriteIndex = gSpriteListHead[SPRITE_LIST_LITTER]; spriteIndex != SPRITE_INDEX_NULL; spriteIndex = nextSpriteIndex) { + rct_litter *litter = &get_sprite(spriteIndex)->litter; + nextSpriteIndex = litter->next; + if (newestLitterCreationTick <= litter->creationTick) { + newestLitterCreationTick = litter->creationTick; + newestLitter = litter; + } + } - if (newestLitter != NULL) { - invalidate_sprite_0((rct_sprite*)newestLitter); - sprite_remove((rct_sprite*)newestLitter); - } - } + if (newestLitter != NULL) { + invalidate_sprite_0((rct_sprite*)newestLitter); + sprite_remove((rct_sprite*)newestLitter); + } + } - rct_litter *litter = (rct_litter*)create_sprite(1); - if (litter == NULL) - return; + rct_litter *litter = (rct_litter*)create_sprite(1); + if (litter == NULL) + return; - move_sprite_to_list((rct_sprite*)litter, SPRITE_LIST_LITTER * 2); - litter->sprite_direction = direction; - litter->sprite_width = 6; - litter->sprite_height_negative = 6; - litter->sprite_height_positive = 3; - litter->sprite_identifier = SPRITE_IDENTIFIER_LITTER; - litter->type = type; - sprite_move(x, y, z, (rct_sprite*)litter); - invalidate_sprite_0((rct_sprite*)litter); - litter->creationTick = gScenarioTicks; + move_sprite_to_list((rct_sprite*)litter, SPRITE_LIST_LITTER * 2); + litter->sprite_direction = direction; + litter->sprite_width = 6; + litter->sprite_height_negative = 6; + litter->sprite_height_positive = 3; + litter->sprite_identifier = SPRITE_IDENTIFIER_LITTER; + litter->type = type; + sprite_move(x, y, z, (rct_sprite*)litter); + invalidate_sprite_0((rct_sprite*)litter); + litter->creationTick = gScenarioTicks; } /** @@ -678,22 +678,22 @@ void litter_create(sint32 x, sint32 y, sint32 z, sint32 direction, sint32 type) */ void litter_remove_at(sint32 x, sint32 y, sint32 z) { - uint16 spriteIndex = sprite_get_first_in_quadrant(x, y); - while (spriteIndex != SPRITE_INDEX_NULL) { - rct_sprite *sprite = get_sprite(spriteIndex); - uint16 nextSpriteIndex = sprite->unknown.next_in_quadrant; - if (sprite->unknown.linked_list_type_offset == SPRITE_LIST_LITTER * 2) { - rct_litter *litter = &sprite->litter; + uint16 spriteIndex = sprite_get_first_in_quadrant(x, y); + while (spriteIndex != SPRITE_INDEX_NULL) { + rct_sprite *sprite = get_sprite(spriteIndex); + uint16 nextSpriteIndex = sprite->unknown.next_in_quadrant; + if (sprite->unknown.linked_list_type_offset == SPRITE_LIST_LITTER * 2) { + rct_litter *litter = &sprite->litter; - if (abs(litter->z - z) <= 16) { - if (abs(litter->x - x) <= 8 && abs(litter->y - y) <= 8) { - invalidate_sprite_0(sprite); - sprite_remove(sprite); - } - } - } - spriteIndex = nextSpriteIndex; - } + if (abs(litter->z - z) <= 16) { + if (abs(litter->x - x) <= 8 && abs(litter->y - y) <= 8) { + invalidate_sprite_0(sprite); + sprite_remove(sprite); + } + } + } + spriteIndex = nextSpriteIndex; + } } /** @@ -701,54 +701,54 @@ void litter_remove_at(sint32 x, sint32 y, sint32 z) */ static bool sprite_should_tween(rct_sprite *sprite) { - switch (sprite->unknown.linked_list_type_offset >> 1) { - case SPRITE_LIST_TRAIN: - case SPRITE_LIST_PEEP: - case SPRITE_LIST_UNKNOWN: - return true; - } - return false; + switch (sprite->unknown.linked_list_type_offset >> 1) { + case SPRITE_LIST_TRAIN: + case SPRITE_LIST_PEEP: + case SPRITE_LIST_UNKNOWN: + return true; + } + return false; } static void store_sprite_locations(rct_xyz16 * sprite_locations) { - for (uint16 i = 0; i < MAX_SPRITES; i++) { - // skip going through `get_sprite` to not get stalled on assert, - // this can get very expensive for busy parks with uncap FPS option on - const rct_sprite *sprite = &_spriteList[i]; - sprite_locations[i].x = sprite->unknown.x; - sprite_locations[i].y = sprite->unknown.y; - sprite_locations[i].z = sprite->unknown.z; - } + for (uint16 i = 0; i < MAX_SPRITES; i++) { + // skip going through `get_sprite` to not get stalled on assert, + // this can get very expensive for busy parks with uncap FPS option on + const rct_sprite *sprite = &_spriteList[i]; + sprite_locations[i].x = sprite->unknown.x; + sprite_locations[i].y = sprite->unknown.y; + sprite_locations[i].z = sprite->unknown.z; + } } void sprite_position_tween_store_a() { - store_sprite_locations(_spritelocations1); + store_sprite_locations(_spritelocations1); } void sprite_position_tween_store_b() { - store_sprite_locations(_spritelocations2); + store_sprite_locations(_spritelocations2); } void sprite_position_tween_all(float nudge) { - for (uint16 i = 0; i < MAX_SPRITES; i++) { - rct_sprite * sprite = get_sprite(i); - if (sprite_should_tween(sprite)) { - rct_xyz16 posA = _spritelocations1[i]; - rct_xyz16 posB = _spritelocations2[i]; + for (uint16 i = 0; i < MAX_SPRITES; i++) { + rct_sprite * sprite = get_sprite(i); + if (sprite_should_tween(sprite)) { + rct_xyz16 posA = _spritelocations1[i]; + rct_xyz16 posB = _spritelocations2[i]; - sprite_set_coordinates( - posB.x + (sint16)((posA.x - posB.x) * nudge), - posB.y + (sint16)((posA.y - posB.y) * nudge), - posB.z + (sint16)((posA.z - posB.z) * nudge), - sprite - ); - invalidate_sprite_2(sprite); - } - } + sprite_set_coordinates( + posB.x + (sint16)((posA.x - posB.x) * nudge), + posB.y + (sint16)((posA.y - posB.y) * nudge), + posB.z + (sint16)((posA.z - posB.z) * nudge), + sprite + ); + invalidate_sprite_2(sprite); + } + } } /** @@ -756,26 +756,26 @@ void sprite_position_tween_all(float nudge) */ void sprite_position_tween_restore() { - for (uint16 i = 0; i < MAX_SPRITES; i++) { - rct_sprite * sprite = get_sprite(i); - if (sprite_should_tween(sprite)) { - invalidate_sprite_2(sprite); + for (uint16 i = 0; i < MAX_SPRITES; i++) { + rct_sprite * sprite = get_sprite(i); + if (sprite_should_tween(sprite)) { + invalidate_sprite_2(sprite); - rct_xyz16 pos = _spritelocations2[i]; - sprite_set_coordinates(pos.x, pos.y, pos.z, sprite); - } - } + rct_xyz16 pos = _spritelocations2[i]; + sprite_set_coordinates(pos.x, pos.y, pos.z, sprite); + } + } } void sprite_position_tween_reset() { - for (uint16 i = 0; i < MAX_SPRITES; i++) { - rct_sprite * sprite = get_sprite(i); - _spritelocations1[i].x = - _spritelocations2[i].x = sprite->unknown.x; - _spritelocations1[i].y = - _spritelocations2[i].y = sprite->unknown.y; - _spritelocations1[i].z = - _spritelocations2[i].z = sprite->unknown.z; - } + for (uint16 i = 0; i < MAX_SPRITES; i++) { + rct_sprite * sprite = get_sprite(i); + _spritelocations1[i].x = + _spritelocations2[i].x = sprite->unknown.x; + _spritelocations1[i].y = + _spritelocations2[i].y = sprite->unknown.y; + _spritelocations1[i].z = + _spritelocations2[i].z = sprite->unknown.z; + } } diff --git a/src/openrct2/world/sprite.h b/src/openrct2/world/sprite.h index bebdcf805b..fb75b2dab0 100644 --- a/src/openrct2/world/sprite.h +++ b/src/openrct2/world/sprite.h @@ -21,323 +21,323 @@ #include "../peep/peep.h" #include "../ride/vehicle.h" -#define SPRITE_INDEX_NULL 0xFFFF -#define SPRITE_LOCATION_NULL ((sint16)(uint16)0x8000) -#define MAX_SPRITES 10000 -#define NUM_SPRITE_LISTS 6 +#define SPRITE_INDEX_NULL 0xFFFF +#define SPRITE_LOCATION_NULL ((sint16)(uint16)0x8000) +#define MAX_SPRITES 10000 +#define NUM_SPRITE_LISTS 6 enum SPRITE_IDENTIFIER { - SPRITE_IDENTIFIER_VEHICLE = 0, - SPRITE_IDENTIFIER_PEEP = 1, - SPRITE_IDENTIFIER_MISC = 2, - SPRITE_IDENTIFIER_LITTER = 3, - SPRITE_IDENTIFIER_NULL = 255 + SPRITE_IDENTIFIER_VEHICLE = 0, + SPRITE_IDENTIFIER_PEEP = 1, + SPRITE_IDENTIFIER_MISC = 2, + SPRITE_IDENTIFIER_LITTER = 3, + SPRITE_IDENTIFIER_NULL = 255 }; enum SPRITE_LIST { - SPRITE_LIST_NULL, - SPRITE_LIST_TRAIN, - SPRITE_LIST_PEEP, - SPRITE_LIST_MISC, - SPRITE_LIST_LITTER, - SPRITE_LIST_UNKNOWN, + SPRITE_LIST_NULL, + SPRITE_LIST_TRAIN, + SPRITE_LIST_PEEP, + SPRITE_LIST_MISC, + SPRITE_LIST_LITTER, + SPRITE_LIST_UNKNOWN, }; #pragma pack(push, 1) typedef struct rct_unk_sprite { - uint8 sprite_identifier; // 0x00 - uint8 misc_identifier; // 0x01 - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - // Height from center of sprite to bottom - uint8 sprite_height_negative; // 0x09 - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - // Width from center of sprite to edge - uint8 sprite_width; // 0x14 - // Height from center of sprite to top - uint8 sprite_height_positive; // 0x15 - sint16 sprite_left; // 0x16 - sint16 sprite_top; // 0x18 - sint16 sprite_right; // 0x1A - sint16 sprite_bottom; // 0x1C - uint8 sprite_direction; //direction of sprite? 0x1e - uint8 pad_1F[3]; // 0x1f - rct_string_id name_string_idx; // 0x22 - uint16 var_24; - uint16 frame; // 0x26 - uint8 var_28[3]; - uint8 var_2B; - uint8 pad_2C[0x45]; - uint8 var_71; + uint8 sprite_identifier; // 0x00 + uint8 misc_identifier; // 0x01 + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + // Height from center of sprite to bottom + uint8 sprite_height_negative; // 0x09 + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + // Width from center of sprite to edge + uint8 sprite_width; // 0x14 + // Height from center of sprite to top + uint8 sprite_height_positive; // 0x15 + sint16 sprite_left; // 0x16 + sint16 sprite_top; // 0x18 + sint16 sprite_right; // 0x1A + sint16 sprite_bottom; // 0x1C + uint8 sprite_direction; //direction of sprite? 0x1e + uint8 pad_1F[3]; // 0x1f + rct_string_id name_string_idx; // 0x22 + uint16 var_24; + uint16 frame; // 0x26 + uint8 var_28[3]; + uint8 var_2B; + uint8 pad_2C[0x45]; + uint8 var_71; } rct_unk_sprite; assert_struct_size(rct_unk_sprite, 0x72); typedef struct rct_litter { - uint8 sprite_identifier; // 0x00 - uint8 type; // 0x01 - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - uint8 sprite_height_negative; // 0x09 - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - uint8 sprite_width; // 0x14 - uint8 sprite_height_positive; // 0x15 - uint8 pad_16[8]; - uint8 sprite_direction; // 0x1E - uint8 pad_1F[5]; - uint32 creationTick; // 0x24 + uint8 sprite_identifier; // 0x00 + uint8 type; // 0x01 + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + uint8 sprite_height_negative; // 0x09 + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + uint8 sprite_width; // 0x14 + uint8 sprite_height_positive; // 0x15 + uint8 pad_16[8]; + uint8 sprite_direction; // 0x1E + uint8 pad_1F[5]; + uint32 creationTick; // 0x24 } rct_litter; assert_struct_size(rct_litter, 0x28); typedef struct rct_balloon { - uint8 sprite_identifier; // 0x00 - uint8 misc_identifier; // 0x01 - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - uint8 var_09; // 0x09 - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - uint8 var_14; // 0x14 - uint8 var_15; // 0x15 - uint8 pad_16[0xE]; - uint16 popped; // 0x24 - union { - uint16 frame; // 0x26 - struct { - uint8 var_26a; - uint8 var_26b; - }; - }; - uint8 pad_28[4]; - uint8 colour; // 0x2C - uint8 var_2D; + uint8 sprite_identifier; // 0x00 + uint8 misc_identifier; // 0x01 + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + uint8 var_09; // 0x09 + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + uint8 var_14; // 0x14 + uint8 var_15; // 0x15 + uint8 pad_16[0xE]; + uint16 popped; // 0x24 + union { + uint16 frame; // 0x26 + struct { + uint8 var_26a; + uint8 var_26b; + }; + }; + uint8 pad_28[4]; + uint8 colour; // 0x2C + uint8 var_2D; #ifdef __cplusplus - void Update(); - void Pop(); - void Press(); + void Update(); + void Pop(); + void Press(); #endif } rct_balloon; assert_struct_size(rct_balloon, 0x2e); typedef struct rct_duck { - uint8 sprite_identifier; // 0x00 - uint8 misc_identifier; // 0x01 - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - uint8 var_09; // 0x09 - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - uint8 var_14; // 0x14 - uint8 var_15; // 0x15 - uint8 pad_16[0x8]; - uint8 sprite_direction; // 0x1E - uint8 pad_1F[0x7]; - uint16 frame; - uint8 pad_28[0x8]; - sint16 target_x; // 0x30 - sint16 target_y; // 0x32 - uint8 pad_34[0x14]; - uint8 state; // 0x48 + uint8 sprite_identifier; // 0x00 + uint8 misc_identifier; // 0x01 + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + uint8 var_09; // 0x09 + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + uint8 var_14; // 0x14 + uint8 var_15; // 0x15 + uint8 pad_16[0x8]; + uint8 sprite_direction; // 0x1E + uint8 pad_1F[0x7]; + uint16 frame; + uint8 pad_28[0x8]; + sint16 target_x; // 0x30 + sint16 target_y; // 0x32 + uint8 pad_34[0x14]; + uint8 state; // 0x48 #ifdef __cplusplus - void UpdateFlyToWater(); - void UpdateSwim(); - void UpdateDrink(); - void UpdateDoubleDrink(); - void UpdateFlyAway(); - uint32 GetFrameImage(sint32 direction) const; - void Invalidate(); - void Remove(); - void MoveTo(sint16 x, sint16 y, sint16 z); + void UpdateFlyToWater(); + void UpdateSwim(); + void UpdateDrink(); + void UpdateDoubleDrink(); + void UpdateFlyAway(); + uint32 GetFrameImage(sint32 direction) const; + void Invalidate(); + void Remove(); + void MoveTo(sint16 x, sint16 y, sint16 z); #endif } rct_duck; assert_struct_size(rct_duck, 0x49); typedef struct rct_jumping_fountain { - uint8 sprite_identifier; // 0x00 - uint8 misc_identifier; // 0x01 - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - uint8 var_09; - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - uint8 var_14; - uint8 var_15; - uint8 pad_16[0x8]; - uint8 sprite_direction; // 0x1E - uint8 pad_1F[0x7]; - union { - uint16 var_26; - struct { - uint8 var_26a; - uint8 var_26b; - }; - }; - uint8 pad_28[0x6]; - uint8 var_2E; - uint8 fountain_flags; // 0x2F - sint16 target_x; // 0x30 - sint16 target_y; // 0x32 - uint8 pad_34[0x12]; - uint16 iteration; // 0x46 + uint8 sprite_identifier; // 0x00 + uint8 misc_identifier; // 0x01 + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + uint8 var_09; + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + uint8 var_14; + uint8 var_15; + uint8 pad_16[0x8]; + uint8 sprite_direction; // 0x1E + uint8 pad_1F[0x7]; + union { + uint16 var_26; + struct { + uint8 var_26a; + uint8 var_26b; + }; + }; + uint8 pad_28[0x6]; + uint8 var_2E; + uint8 fountain_flags; // 0x2F + sint16 target_x; // 0x30 + sint16 target_y; // 0x32 + uint8 pad_34[0x12]; + uint16 iteration; // 0x46 } rct_jumping_fountain; assert_struct_size(rct_jumping_fountain, 0x48); typedef struct rct_money_effect { - uint8 sprite_identifier; // 0x00 - uint8 misc_identifier; // 0x01 - uint16 var_02; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - uint8 var_09; - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - uint8 var_14; - uint8 var_15; - uint8 pad_16[0xE]; - uint16 move_delay; // 0x24 - uint8 num_movements; // 0x26 - uint8 vertical; - money32 value; // 0x28 - uint8 pad_2C[0x18]; - sint16 offset_x; // 0x44 - uint16 wiggle; // 0x46 + uint8 sprite_identifier; // 0x00 + uint8 misc_identifier; // 0x01 + uint16 var_02; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + uint8 var_09; + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + uint8 var_14; + uint8 var_15; + uint8 pad_16[0xE]; + uint16 move_delay; // 0x24 + uint8 num_movements; // 0x26 + uint8 vertical; + money32 value; // 0x28 + uint8 pad_2C[0x18]; + sint16 offset_x; // 0x44 + uint16 wiggle; // 0x46 } rct_money_effect; assert_struct_size(rct_money_effect, 0x48); typedef struct rct_crashed_vehicle_particle { - uint8 sprite_identifier; // 0x00 - uint8 misc_identifier; // 0x01 - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - // Height from center of sprite to bottom - uint8 sprite_height_negative; // 0x09 - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - // Width from center of sprite to edge - uint8 sprite_width; // 0x14 - // Height from center of sprite to top - uint8 sprite_height_positive; // 0x15 - sint16 sprite_left; // 0x16 - sint16 sprite_top; // 0x18 - sint16 sprite_right; // 0x1A - sint16 sprite_bottom; // 0x1C - uint8 sprite_direction; //direction of sprite? 0x1e - uint8 pad_1F[3]; // 0x1f - uint16 name_string_idx; // 0x22 - uint16 var_24; - uint16 frame; // 0x26 - uint8 var_28[3]; - uint8 var_2B; - uint8 colour[2]; - uint16 var_2E; - sint16 velocity_x; // 0x30 - sint16 velocity_y; // 0x32 - sint16 velocity_z; // 0x34 - uint16 pad_36; - sint32 acceleration_x; // 0x38 - sint32 acceleration_y; // 0x3C - sint32 acceleration_z; // 0x40 - uint8 pad_44[0x2D]; - uint8 var_71; + uint8 sprite_identifier; // 0x00 + uint8 misc_identifier; // 0x01 + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + // Height from center of sprite to bottom + uint8 sprite_height_negative; // 0x09 + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + // Width from center of sprite to edge + uint8 sprite_width; // 0x14 + // Height from center of sprite to top + uint8 sprite_height_positive; // 0x15 + sint16 sprite_left; // 0x16 + sint16 sprite_top; // 0x18 + sint16 sprite_right; // 0x1A + sint16 sprite_bottom; // 0x1C + uint8 sprite_direction; //direction of sprite? 0x1e + uint8 pad_1F[3]; // 0x1f + uint16 name_string_idx; // 0x22 + uint16 var_24; + uint16 frame; // 0x26 + uint8 var_28[3]; + uint8 var_2B; + uint8 colour[2]; + uint16 var_2E; + sint16 velocity_x; // 0x30 + sint16 velocity_y; // 0x32 + sint16 velocity_z; // 0x34 + uint16 pad_36; + sint32 acceleration_x; // 0x38 + sint32 acceleration_y; // 0x3C + sint32 acceleration_z; // 0x40 + uint8 pad_44[0x2D]; + uint8 var_71; } rct_crashed_vehicle_particle; assert_struct_size(rct_crashed_vehicle_particle, 0x45 + 0x2D); typedef struct rct_crash_splash { - uint8 sprite_identifier; // 0x00 - uint8 misc_identifier; // 0x01 - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - // Height from center of sprite to bottom - uint8 sprite_height_negative; // 0x09 - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - // Width from center of sprite to edge - uint8 sprite_width; // 0x14 - // Height from center of sprite to top - uint8 sprite_height_positive; // 0x15 - sint16 sprite_left; // 0x16 - sint16 sprite_top; // 0x18 - sint16 sprite_right; // 0x1A - sint16 sprite_bottom; // 0x1C - uint8 sprite_direction; //direction of sprite? 0x1e - uint8 pad_1F[3]; // 0x1f - uint16 name_string_idx; // 0x22 - uint16 var_24; - uint16 frame; // 0x26 + uint8 sprite_identifier; // 0x00 + uint8 misc_identifier; // 0x01 + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + // Height from center of sprite to bottom + uint8 sprite_height_negative; // 0x09 + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + // Width from center of sprite to edge + uint8 sprite_width; // 0x14 + // Height from center of sprite to top + uint8 sprite_height_positive; // 0x15 + sint16 sprite_left; // 0x16 + sint16 sprite_top; // 0x18 + sint16 sprite_right; // 0x1A + sint16 sprite_bottom; // 0x1C + uint8 sprite_direction; //direction of sprite? 0x1e + uint8 pad_1F[3]; // 0x1f + uint16 name_string_idx; // 0x22 + uint16 var_24; + uint16 frame; // 0x26 } rct_crash_splash; assert_struct_size(rct_crash_splash, 0x28); typedef struct rct_steam_particle { - uint8 sprite_identifier; // 0x00 - uint8 misc_identifier; // 0x01 - uint16 next_in_quadrant; // 0x02 - uint16 next; // 0x04 - uint16 previous; // 0x06 - uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... - // Height from center of sprite to bottom - uint8 sprite_height_negative; // 0x09 - uint16 sprite_index; // 0x0A - uint16 flags; // 0x0C - sint16 x; // 0x0E - sint16 y; // 0x10 - sint16 z; // 0x12 - // Width from center of sprite to edge - uint8 sprite_width; // 0x14 - // Height from center of sprite to top - uint8 sprite_height_positive; // 0x15 - sint16 sprite_left; // 0x16 - sint16 sprite_top; // 0x18 - sint16 sprite_right; // 0x1A - sint16 sprite_bottom; // 0x1C - uint8 sprite_direction; // 0x1E - uint8 pad_1F[3]; // 0x1F - uint16 name_string_idx; // 0x22 - uint16 var_24; - uint16 frame; // 0x26 + uint8 sprite_identifier; // 0x00 + uint8 misc_identifier; // 0x01 + uint16 next_in_quadrant; // 0x02 + uint16 next; // 0x04 + uint16 previous; // 0x06 + uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_... + // Height from center of sprite to bottom + uint8 sprite_height_negative; // 0x09 + uint16 sprite_index; // 0x0A + uint16 flags; // 0x0C + sint16 x; // 0x0E + sint16 y; // 0x10 + sint16 z; // 0x12 + // Width from center of sprite to edge + uint8 sprite_width; // 0x14 + // Height from center of sprite to top + uint8 sprite_height_positive; // 0x15 + sint16 sprite_left; // 0x16 + sint16 sprite_top; // 0x18 + sint16 sprite_right; // 0x1A + sint16 sprite_bottom; // 0x1C + uint8 sprite_direction; // 0x1E + uint8 pad_1F[3]; // 0x1F + uint16 name_string_idx; // 0x22 + uint16 var_24; + uint16 frame; // 0x26 } rct_steam_particle; assert_struct_size(rct_steam_particle, 0x28); @@ -346,24 +346,24 @@ assert_struct_size(rct_steam_particle, 0x28); * size: 0x0100 */ typedef union { - uint8 pad_00[0x100]; - rct_unk_sprite unknown; - rct_peep peep; - rct_litter litter; - rct_vehicle vehicle; - rct_balloon balloon; - rct_duck duck; - rct_jumping_fountain jumping_fountain; - rct_money_effect money_effect; - rct_crashed_vehicle_particle crashed_vehicle_particle; - rct_crash_splash crash_splash; - rct_steam_particle steam_particle; + uint8 pad_00[0x100]; + rct_unk_sprite unknown; + rct_peep peep; + rct_litter litter; + rct_vehicle vehicle; + rct_balloon balloon; + rct_duck duck; + rct_jumping_fountain jumping_fountain; + rct_money_effect money_effect; + rct_crashed_vehicle_particle crashed_vehicle_particle; + rct_crash_splash crash_splash; + rct_steam_particle steam_particle; #ifdef __cplusplus - bool IsBalloon(); - bool IsDuck(); - rct_balloon * AsBalloon(); - rct_duck * AsDuck(); + bool IsBalloon(); + bool IsDuck(); + rct_balloon * AsBalloon(); + rct_duck * AsDuck(); #endif } rct_sprite; @@ -372,37 +372,37 @@ assert_struct_size(rct_sprite, 0x100); #pragma pack(pop) enum { - SPRITE_MISC_STEAM_PARTICLE, - SPRITE_MISC_MONEY_EFFECT, - SPRITE_MISC_CRASHED_VEHICLE_PARTICLE, - SPRITE_MISC_EXPLOSION_CLOUD, - SPRITE_MISC_CRASH_SPLASH, - SPRITE_MISC_EXPLOSION_FLARE, - SPRITE_MISC_JUMPING_FOUNTAIN_WATER, - SPRITE_MISC_BALLOON, - SPRITE_MISC_DUCK, - SPRITE_MISC_JUMPING_FOUNTAIN_SNOW + SPRITE_MISC_STEAM_PARTICLE, + SPRITE_MISC_MONEY_EFFECT, + SPRITE_MISC_CRASHED_VEHICLE_PARTICLE, + SPRITE_MISC_EXPLOSION_CLOUD, + SPRITE_MISC_CRASH_SPLASH, + SPRITE_MISC_EXPLOSION_FLARE, + SPRITE_MISC_JUMPING_FOUNTAIN_WATER, + SPRITE_MISC_BALLOON, + SPRITE_MISC_DUCK, + SPRITE_MISC_JUMPING_FOUNTAIN_SNOW }; enum { - SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE = 1 << 7, - SPRITE_FLAGS_PEEP_VISIBLE = 1 << 8, // Peep is eligible to show in summarized guest list window (is inside park?) - SPRITE_FLAGS_PEEP_FLASHING = 1 << 9, // Peep belongs to highlighted group (flashes red on map) + SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE = 1 << 7, + SPRITE_FLAGS_PEEP_VISIBLE = 1 << 8, // Peep is eligible to show in summarized guest list window (is inside park?) + SPRITE_FLAGS_PEEP_FLASHING = 1 << 9, // Peep belongs to highlighted group (flashes red on map) }; enum { - LITTER_TYPE_SICK, - LITTER_TYPE_SICK_ALT, - LITTER_TYPE_EMPTY_CAN, - LITTER_TYPE_RUBBISH, - LITTER_TYPE_EMPTY_BURGER_BOX, - LITTER_TYPE_EMPTY_CUP, - LITTER_TYPE_EMPTY_BOX, - LITTER_TYPE_EMPTY_BOTTLE, - LITTER_TYPE_EMPTY_BOWL_RED, - LITTER_TYPE_EMPTY_DRINK_CARTON, - LITTER_TYPE_EMPTY_JUICE_CUP, - LITTER_TYPE_EMPTY_BOWL_BLUE, + LITTER_TYPE_SICK, + LITTER_TYPE_SICK_ALT, + LITTER_TYPE_EMPTY_CAN, + LITTER_TYPE_RUBBISH, + LITTER_TYPE_EMPTY_BURGER_BOX, + LITTER_TYPE_EMPTY_CUP, + LITTER_TYPE_EMPTY_BOX, + LITTER_TYPE_EMPTY_BOTTLE, + LITTER_TYPE_EMPTY_BOWL_RED, + LITTER_TYPE_EMPTY_DRINK_CARTON, + LITTER_TYPE_EMPTY_JUICE_CUP, + LITTER_TYPE_EMPTY_BOWL_BLUE, }; rct_sprite *try_get_sprite(size_t spriteIndex); diff --git a/src/openrct2/world/tile_inspector.c b/src/openrct2/world/tile_inspector.c index 807e96ff3b..3b4dcad0b2 100644 --- a/src/openrct2/world/tile_inspector.c +++ b/src/openrct2/world/tile_inspector.c @@ -26,35 +26,35 @@ static bool map_swap_elements_at(sint32 x, sint32 y, sint16 first, sint16 second) { - rct_map_element *const firstElement = map_get_nth_element_at(x, y, first); - rct_map_element *const secondElement = map_get_nth_element_at(x, y, second); + rct_map_element *const firstElement = map_get_nth_element_at(x, y, first); + rct_map_element *const secondElement = map_get_nth_element_at(x, y, second); - if (firstElement == NULL) { - log_error("First element is out of range for the tile"); - return false; - } - if (secondElement == NULL) { - log_error("Second element is out of range for the tile"); - return false; - } - if (firstElement == secondElement) { - log_error("Can't swap the element with itself"); - return false; - } + if (firstElement == NULL) { + log_error("First element is out of range for the tile"); + return false; + } + if (secondElement == NULL) { + log_error("Second element is out of range for the tile"); + return false; + } + if (firstElement == secondElement) { + log_error("Can't swap the element with itself"); + return false; + } - // Swap their memory - rct_map_element temp = *firstElement; - *firstElement = *secondElement; - *secondElement = temp; + // Swap their memory + rct_map_element temp = *firstElement; + *firstElement = *secondElement; + *secondElement = temp; - // Swap the 'last map element for tile' flag if either one of them was last - if (map_element_is_last_for_tile(firstElement) || map_element_is_last_for_tile(secondElement)) - { - firstElement->flags ^= MAP_ELEMENT_FLAG_LAST_TILE; - secondElement->flags ^= MAP_ELEMENT_FLAG_LAST_TILE; - } + // Swap the 'last map element for tile' flag if either one of them was last + if (map_element_is_last_for_tile(firstElement) || map_element_is_last_for_tile(secondElement)) + { + firstElement->flags ^= MAP_ELEMENT_FLAG_LAST_TILE; + secondElement->flags ^= MAP_ELEMENT_FLAG_LAST_TILE; + } - return true; + return true; } /** @@ -65,68 +65,68 @@ static bool map_swap_elements_at(sint32 x, sint32 y, sint16 first, sint16 second */ sint32 tile_inspector_insert_corrupt_at(sint32 x, sint32 y, sint16 elementIndex, sint32 flags) { - // Make sure there is enough space for the new element - if (!map_check_free_elements_and_reorganise(1)) - { - return MONEY32_UNDEFINED; - } + // Make sure there is enough space for the new element + if (!map_check_free_elements_and_reorganise(1)) + { + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - // Create new corrupt element - rct_map_element *corruptElement = map_element_insert(x, y, -1, 0); // Ugly hack: -1 guarantees this to be placed first - if (corruptElement == NULL) - { - log_warning("Failed to insert corrupt element."); - return MONEY32_UNDEFINED; - } - corruptElement->type = MAP_ELEMENT_TYPE_CORRUPT; + if (flags & GAME_COMMAND_FLAG_APPLY) + { + // Create new corrupt element + rct_map_element *corruptElement = map_element_insert(x, y, -1, 0); // Ugly hack: -1 guarantees this to be placed first + if (corruptElement == NULL) + { + log_warning("Failed to insert corrupt element."); + return MONEY32_UNDEFINED; + } + corruptElement->type = MAP_ELEMENT_TYPE_CORRUPT; - // Set the base height to be the same as the selected element - rct_map_element *const selectedElement = map_get_nth_element_at(x, y, elementIndex + 1); - if (!selectedElement) { - return MONEY32_UNDEFINED; - } - corruptElement->base_height = corruptElement->clearance_height = selectedElement->base_height; + // Set the base height to be the same as the selected element + rct_map_element *const selectedElement = map_get_nth_element_at(x, y, elementIndex + 1); + if (!selectedElement) { + return MONEY32_UNDEFINED; + } + corruptElement->base_height = corruptElement->clearance_height = selectedElement->base_height; - // Move the corrupt element up until the selected list item is reached - // this way it's placed under the selected element, even when there are multiple elements with the same base height - for (sint16 i = 0; i < elementIndex; i++) - { - if (!map_swap_elements_at(x, y, i, i + 1)) { - // don't return error here, we've already inserted an element - // and moved it as far as we could, the only sensible thing left - // to do is to invalidate the window. - break; - } - } + // Move the corrupt element up until the selected list item is reached + // this way it's placed under the selected element, even when there are multiple elements with the same base height + for (sint16 i = 0; i < elementIndex; i++) + { + if (!map_swap_elements_at(x, y, i, i + 1)) { + // don't return error here, we've already inserted an element + // and moved it as far as we could, the only sensible thing left + // to do is to invalidate the window. + break; + } + } - map_invalidate_tile_full(x << 5, y << 5); + map_invalidate_tile_full(x << 5, y << 5); - // Update the tile inspector's list for everyone who has the tile selected - rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); - if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - windowTileInspectorElementCount++; + // Update the tile inspector's list for everyone who has the tile selected + rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); + if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + windowTileInspectorElementCount++; - // Keep other elements (that are not being hidden) selected - if (tileInspectorWindow->selected_list_item > elementIndex) - { - tileInspectorWindow->selected_list_item++; - } + // Keep other elements (that are not being hidden) selected + if (tileInspectorWindow->selected_list_item > elementIndex) + { + tileInspectorWindow->selected_list_item++; + } - if (tileInspectorWindow->selected_list_item == elementIndex) - { - window_tile_inspector_set_page(tileInspectorWindow, TILE_INSPECTOR_PAGE_CORRUPT); - } + if (tileInspectorWindow->selected_list_item == elementIndex) + { + window_tile_inspector_set_page(tileInspectorWindow, TILE_INSPECTOR_PAGE_CORRUPT); + } - window_tile_inspector_auto_set_buttons(tileInspectorWindow); - window_invalidate(tileInspectorWindow); - } - } + window_tile_inspector_auto_set_buttons(tileInspectorWindow); + window_invalidate(tileInspectorWindow); + } + } - // Nothing went wrong - return 0; + // Nothing went wrong + return 0; } /** @@ -136,804 +136,804 @@ sint32 tile_inspector_insert_corrupt_at(sint32 x, sint32 y, sint16 elementIndex, */ sint32 tile_inspector_remove_element_at(sint32 x, sint32 y, sint16 elementIndex, sint32 flags) { - if (flags & GAME_COMMAND_FLAG_APPLY) - { - // Forcefully remove the element - rct_map_element *const mapElement = map_get_nth_element_at(x, y, elementIndex); - if (!mapElement) { - return MONEY32_UNDEFINED; - } - map_element_remove(mapElement); - map_invalidate_tile_full(x << 5, y << 5); + if (flags & GAME_COMMAND_FLAG_APPLY) + { + // Forcefully remove the element + rct_map_element *const mapElement = map_get_nth_element_at(x, y, elementIndex); + if (!mapElement) { + return MONEY32_UNDEFINED; + } + map_element_remove(mapElement); + map_invalidate_tile_full(x << 5, y << 5); - // Update the window - rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); - if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - windowTileInspectorElementCount--; + // Update the window + rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); + if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + windowTileInspectorElementCount--; - if (tileInspectorWindow->selected_list_item > elementIndex) - { - tileInspectorWindow->selected_list_item--; - } - else if (tileInspectorWindow->selected_list_item == elementIndex) - { - tileInspectorWindow->selected_list_item = -1; - window_tile_inspector_set_page(tileInspectorWindow, TILE_INSPECTOR_PAGE_DEFAULT); - } + if (tileInspectorWindow->selected_list_item > elementIndex) + { + tileInspectorWindow->selected_list_item--; + } + else if (tileInspectorWindow->selected_list_item == elementIndex) + { + tileInspectorWindow->selected_list_item = -1; + window_tile_inspector_set_page(tileInspectorWindow, TILE_INSPECTOR_PAGE_DEFAULT); + } - window_tile_inspector_auto_set_buttons(tileInspectorWindow); - window_invalidate(tileInspectorWindow); - } - } + window_tile_inspector_auto_set_buttons(tileInspectorWindow); + window_invalidate(tileInspectorWindow); + } + } - return 0; + return 0; } sint32 tile_inspector_swap_elements_at(sint32 x, sint32 y, sint16 first, sint16 second, sint32 flags) { - if (flags & GAME_COMMAND_FLAG_APPLY) - { - if (!map_swap_elements_at(x, y, first, second)) { - return MONEY32_UNDEFINED; - } - map_invalidate_tile_full(x << 5, y << 5); + if (flags & GAME_COMMAND_FLAG_APPLY) + { + if (!map_swap_elements_at(x, y, first, second)) { + return MONEY32_UNDEFINED; + } + map_invalidate_tile_full(x << 5, y << 5); - // Update the window - rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); - if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - // If one of them was selected, update selected list item - if (tileInspectorWindow->selected_list_item == first) - tileInspectorWindow->selected_list_item = second; - else if (tileInspectorWindow->selected_list_item == second) - tileInspectorWindow->selected_list_item = first; + // Update the window + rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); + if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + // If one of them was selected, update selected list item + if (tileInspectorWindow->selected_list_item == first) + tileInspectorWindow->selected_list_item = second; + else if (tileInspectorWindow->selected_list_item == second) + tileInspectorWindow->selected_list_item = first; - window_tile_inspector_auto_set_buttons(tileInspectorWindow); - window_invalidate(tileInspectorWindow); - } - } + window_tile_inspector_auto_set_buttons(tileInspectorWindow); + window_invalidate(tileInspectorWindow); + } + } - return 0; + return 0; } sint32 tile_inspector_rotate_element_at(sint32 x, sint32 y, sint32 elementIndex, sint32 flags) { - if (flags & GAME_COMMAND_FLAG_APPLY) - { - uint8 newRotation, pathEdges, pathCorners; + if (flags & GAME_COMMAND_FLAG_APPLY) + { + uint8 newRotation, pathEdges, pathCorners; - rct_map_element *const mapElement = map_get_nth_element_at(x, y, elementIndex); - if (!mapElement) { - return MONEY32_UNDEFINED; - } - switch (map_element_get_type(mapElement)) - { - case MAP_ELEMENT_TYPE_PATH: - if (footpath_element_is_sloped(mapElement)) - { - newRotation = (footpath_element_get_slope_direction(mapElement) + 1) & MAP_ELEMENT_DIRECTION_MASK; - mapElement->properties.path.type &= ~MAP_ELEMENT_DIRECTION_MASK; - mapElement->properties.path.type |= newRotation; - } - pathEdges = mapElement->properties.path.edges & 0x0F; - pathCorners = mapElement->properties.path.edges & 0xF0; - mapElement->properties.path.edges = 0; - mapElement->properties.path.edges |= ((pathEdges << 1) | (pathEdges >> 3)) & 0x0F; - mapElement->properties.path.edges |= ((pathCorners << 1) | (pathCorners >> 3)) & 0xF0; - break; - case MAP_ELEMENT_TYPE_TRACK: - case MAP_ELEMENT_TYPE_SCENERY: - case MAP_ELEMENT_TYPE_ENTRANCE: - case MAP_ELEMENT_TYPE_WALL: - newRotation = (mapElement->type + 1) & MAP_ELEMENT_DIRECTION_MASK; - mapElement->type &= ~MAP_ELEMENT_DIRECTION_MASK; - mapElement->type |= newRotation; - break; - case MAP_ELEMENT_TYPE_BANNER: - mapElement->properties.banner.flags ^= 1 << mapElement->properties.banner.position; - mapElement->properties.banner.position++; - mapElement->properties.banner.position &= 3; - mapElement->properties.banner.flags ^= 1 << mapElement->properties.banner.position; - break; - } + rct_map_element *const mapElement = map_get_nth_element_at(x, y, elementIndex); + if (!mapElement) { + return MONEY32_UNDEFINED; + } + switch (map_element_get_type(mapElement)) + { + case MAP_ELEMENT_TYPE_PATH: + if (footpath_element_is_sloped(mapElement)) + { + newRotation = (footpath_element_get_slope_direction(mapElement) + 1) & MAP_ELEMENT_DIRECTION_MASK; + mapElement->properties.path.type &= ~MAP_ELEMENT_DIRECTION_MASK; + mapElement->properties.path.type |= newRotation; + } + pathEdges = mapElement->properties.path.edges & 0x0F; + pathCorners = mapElement->properties.path.edges & 0xF0; + mapElement->properties.path.edges = 0; + mapElement->properties.path.edges |= ((pathEdges << 1) | (pathEdges >> 3)) & 0x0F; + mapElement->properties.path.edges |= ((pathCorners << 1) | (pathCorners >> 3)) & 0xF0; + break; + case MAP_ELEMENT_TYPE_TRACK: + case MAP_ELEMENT_TYPE_SCENERY: + case MAP_ELEMENT_TYPE_ENTRANCE: + case MAP_ELEMENT_TYPE_WALL: + newRotation = (mapElement->type + 1) & MAP_ELEMENT_DIRECTION_MASK; + mapElement->type &= ~MAP_ELEMENT_DIRECTION_MASK; + mapElement->type |= newRotation; + break; + case MAP_ELEMENT_TYPE_BANNER: + mapElement->properties.banner.flags ^= 1 << mapElement->properties.banner.position; + mapElement->properties.banner.position++; + mapElement->properties.banner.position &= 3; + mapElement->properties.banner.flags ^= 1 << mapElement->properties.banner.position; + break; + } - map_invalidate_tile_full(x << 5, y << 5); + map_invalidate_tile_full(x << 5, y << 5); - if ((uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_invalidate_by_class(WC_TILE_INSPECTOR); - } - } + if ((uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_invalidate_by_class(WC_TILE_INSPECTOR); + } + } - return 0; + return 0; } sint32 tile_inspector_paste_element_at(sint32 x, sint32 y, rct_map_element element, sint32 flags) { - // Make sure there is enough space for the new element - if (!map_check_free_elements_and_reorganise(1)) - { - return MONEY32_UNDEFINED; - } + // Make sure there is enough space for the new element + if (!map_check_free_elements_and_reorganise(1)) + { + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - rct_map_element *const pastedElement = map_element_insert(x, y, element.base_height, 0); + if (flags & GAME_COMMAND_FLAG_APPLY) + { + rct_map_element *const pastedElement = map_element_insert(x, y, element.base_height, 0); - bool lastForTile = map_element_is_last_for_tile(pastedElement); - *pastedElement = element; - pastedElement->flags &= ~MAP_ELEMENT_FLAG_LAST_TILE; - if (lastForTile) - { - pastedElement->flags |= MAP_ELEMENT_FLAG_LAST_TILE; - } + bool lastForTile = map_element_is_last_for_tile(pastedElement); + *pastedElement = element; + pastedElement->flags &= ~MAP_ELEMENT_FLAG_LAST_TILE; + if (lastForTile) + { + pastedElement->flags |= MAP_ELEMENT_FLAG_LAST_TILE; + } - map_invalidate_tile_full(x << 5, y << 5); + map_invalidate_tile_full(x << 5, y << 5); - rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); - if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - windowTileInspectorElementCount++; + rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); + if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + windowTileInspectorElementCount++; - // Select new element if there was none selected already - sint16 newIndex = (sint16)(pastedElement - map_get_first_element_at(x, y)); - if (tileInspectorWindow->selected_list_item == -1) - tileInspectorWindow->selected_list_item = newIndex; - else if (tileInspectorWindow->selected_list_item >= newIndex) - tileInspectorWindow->selected_list_item++; + // Select new element if there was none selected already + sint16 newIndex = (sint16)(pastedElement - map_get_first_element_at(x, y)); + if (tileInspectorWindow->selected_list_item == -1) + tileInspectorWindow->selected_list_item = newIndex; + else if (tileInspectorWindow->selected_list_item >= newIndex) + tileInspectorWindow->selected_list_item++; - window_tile_inspector_auto_set_buttons(tileInspectorWindow); - window_invalidate(tileInspectorWindow); - } - } + window_tile_inspector_auto_set_buttons(tileInspectorWindow); + window_invalidate(tileInspectorWindow); + } + } - return 0; + return 0; } sint32 tile_inspector_sort_elements_at(sint32 x, sint32 y, sint32 flags) { - if (flags & GAME_COMMAND_FLAG_APPLY) - { - const rct_map_element *const firstElement = map_get_first_element_at(x, y); + if (flags & GAME_COMMAND_FLAG_APPLY) + { + const rct_map_element *const firstElement = map_get_first_element_at(x, y); - // Count elements on tile - sint32 numElement = 0; - const rct_map_element *elementIterator = firstElement; - do - { - numElement++; - } while (!map_element_is_last_for_tile(elementIterator++)); + // Count elements on tile + sint32 numElement = 0; + const rct_map_element *elementIterator = firstElement; + do + { + numElement++; + } while (!map_element_is_last_for_tile(elementIterator++)); - // Bubble sort - for (sint32 loopStart = 1; loopStart < numElement; loopStart++) - { - sint32 currentId = loopStart; - const rct_map_element *currentElement = firstElement + currentId; - const rct_map_element *otherElement = currentElement - 1; + // Bubble sort + for (sint32 loopStart = 1; loopStart < numElement; loopStart++) + { + sint32 currentId = loopStart; + const rct_map_element *currentElement = firstElement + currentId; + const rct_map_element *otherElement = currentElement - 1; - // While current element's base height is lower, or (when their baseheight is the same) the other map element's clearance height is lower... - while (currentId > 0 && - (otherElement->base_height > currentElement->base_height || - (otherElement->base_height == currentElement->base_height && otherElement->clearance_height > currentElement->clearance_height))) - { - if (!map_swap_elements_at(x, y, currentId - 1, currentId)) { - // don't return error here, we've already ran some actions - // and moved things as far as we could, the only sensible - // thing left to do is to invalidate the window. - loopStart = numElement; - break; - } - currentId--; - currentElement--; - otherElement--; - } - } + // While current element's base height is lower, or (when their baseheight is the same) the other map element's clearance height is lower... + while (currentId > 0 && + (otherElement->base_height > currentElement->base_height || + (otherElement->base_height == currentElement->base_height && otherElement->clearance_height > currentElement->clearance_height))) + { + if (!map_swap_elements_at(x, y, currentId - 1, currentId)) { + // don't return error here, we've already ran some actions + // and moved things as far as we could, the only sensible + // thing left to do is to invalidate the window. + loopStart = numElement; + break; + } + currentId--; + currentElement--; + otherElement--; + } + } - map_invalidate_tile_full(x << 5, y << 5); + map_invalidate_tile_full(x << 5, y << 5); - // Deselect tile for clients who had it selected - rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); - if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_tile_inspector_set_page(tileInspectorWindow, TILE_INSPECTOR_PAGE_DEFAULT); - tileInspectorWindow->selected_list_item = -1; - window_tile_inspector_auto_set_buttons(tileInspectorWindow); - window_invalidate(tileInspectorWindow); - } - } + // Deselect tile for clients who had it selected + rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); + if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_tile_inspector_set_page(tileInspectorWindow, TILE_INSPECTOR_PAGE_DEFAULT); + tileInspectorWindow->selected_list_item = -1; + window_tile_inspector_auto_set_buttons(tileInspectorWindow); + window_invalidate(tileInspectorWindow); + } + } - return 0; + return 0; } sint32 tile_inspector_any_base_height_offset(sint32 x, sint32 y, sint16 elementIndex, sint8 heightOffset, sint32 flags) { - rct_map_element *const mapElement = map_get_nth_element_at(x, y, elementIndex); - if (!mapElement) { - return MONEY32_UNDEFINED; - } - sint16 newBaseHeight = (sint16)mapElement->base_height + heightOffset; - sint16 newClearanceHeight = (sint16)mapElement->clearance_height + heightOffset; - if (newBaseHeight < 0 || newBaseHeight > 0xff || newClearanceHeight < 0 || newClearanceHeight > 0xff) - { - return MONEY32_UNDEFINED; - } + rct_map_element *const mapElement = map_get_nth_element_at(x, y, elementIndex); + if (!mapElement) { + return MONEY32_UNDEFINED; + } + sint16 newBaseHeight = (sint16)mapElement->base_height + heightOffset; + sint16 newClearanceHeight = (sint16)mapElement->clearance_height + heightOffset; + if (newBaseHeight < 0 || newBaseHeight > 0xff || newClearanceHeight < 0 || newClearanceHeight > 0xff) + { + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - mapElement->base_height += heightOffset; - mapElement->clearance_height += heightOffset; + if (flags & GAME_COMMAND_FLAG_APPLY) + { + mapElement->base_height += heightOffset; + mapElement->clearance_height += heightOffset; - map_invalidate_tile_full(x << 5, y << 5); + map_invalidate_tile_full(x << 5, y << 5); - rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); - if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_invalidate(tileInspectorWindow); - } - } + rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); + if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_invalidate(tileInspectorWindow); + } + } - return 0; + return 0; } sint32 tile_inspector_surface_show_park_fences(sint32 x, sint32 y, bool showFences, sint32 flags) { - rct_map_element *const surfaceelement = map_get_surface_element_at(x, y); + rct_map_element *const surfaceelement = map_get_surface_element_at(x, y); - // No surface element on tile - if (surfaceelement == NULL) - return MONEY32_UNDEFINED; + // No surface element on tile + if (surfaceelement == NULL) + return MONEY32_UNDEFINED; - if (flags & GAME_COMMAND_FLAG_APPLY) - { - if (!showFences) - surfaceelement->properties.surface.ownership &= ~0x0F; - else - update_park_fences(x << 5, y << 5); + if (flags & GAME_COMMAND_FLAG_APPLY) + { + if (!showFences) + surfaceelement->properties.surface.ownership &= ~0x0F; + else + update_park_fences(x << 5, y << 5); - map_invalidate_tile_full(x << 5, y << 5); + map_invalidate_tile_full(x << 5, y << 5); - rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); - if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_invalidate(tileInspectorWindow); - } - } + rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); + if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_invalidate(tileInspectorWindow); + } + } - return 0; + return 0; } sint32 tile_inspector_surface_toggle_corner(sint32 x, sint32 y, sint32 cornerIndex, sint32 flags) { - rct_map_element *const surfaceElement = map_get_surface_element_at(x, y); + rct_map_element *const surfaceElement = map_get_surface_element_at(x, y); - // No surface element on tile - if (surfaceElement == NULL) - return MONEY32_UNDEFINED; + // No surface element on tile + if (surfaceElement == NULL) + return MONEY32_UNDEFINED; - if (flags & GAME_COMMAND_FLAG_APPLY) - { - const uint8 originalSlope = surfaceElement->properties.surface.slope; - const bool diagonal = (originalSlope & 0x10) >> 4; + if (flags & GAME_COMMAND_FLAG_APPLY) + { + const uint8 originalSlope = surfaceElement->properties.surface.slope; + const bool diagonal = (originalSlope & 0x10) >> 4; - surfaceElement->properties.surface.slope ^= 1 << cornerIndex; - if (surfaceElement->properties.surface.slope & 0x0F) - { - surfaceElement->clearance_height = surfaceElement->base_height + 2; - } - else - { - surfaceElement->clearance_height = surfaceElement->base_height; - } + surfaceElement->properties.surface.slope ^= 1 << cornerIndex; + if (surfaceElement->properties.surface.slope & 0x0F) + { + surfaceElement->clearance_height = surfaceElement->base_height + 2; + } + else + { + surfaceElement->clearance_height = surfaceElement->base_height; + } - // All corners are raised - if ((surfaceElement->properties.surface.slope & 0x0F) == 0x0F) - { - surfaceElement->properties.surface.slope &= ~0x1F; + // All corners are raised + if ((surfaceElement->properties.surface.slope & 0x0F) == 0x0F) + { + surfaceElement->properties.surface.slope &= ~0x1F; - if (diagonal) - { - switch (originalSlope & 0x0F) - { - case 0b1011: surfaceElement->properties.surface.slope |= (1 << 0); break; - case 0b0111: surfaceElement->properties.surface.slope |= (1 << 1); break; - case 0b1110: surfaceElement->properties.surface.slope |= (1 << 2); break; - case 0b1101: surfaceElement->properties.surface.slope |= (1 << 3); break; - } - } + if (diagonal) + { + switch (originalSlope & 0x0F) + { + case 0b1011: surfaceElement->properties.surface.slope |= (1 << 0); break; + case 0b0111: surfaceElement->properties.surface.slope |= (1 << 1); break; + case 0b1110: surfaceElement->properties.surface.slope |= (1 << 2); break; + case 0b1101: surfaceElement->properties.surface.slope |= (1 << 3); break; + } + } - // Update base and clearance heights - surfaceElement->base_height += 2; - surfaceElement->clearance_height = surfaceElement->base_height + (diagonal ? 2 : 0); - } + // Update base and clearance heights + surfaceElement->base_height += 2; + surfaceElement->clearance_height = surfaceElement->base_height + (diagonal ? 2 : 0); + } - map_invalidate_tile_full(x << 5, y << 5); + map_invalidate_tile_full(x << 5, y << 5); - rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); - if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_invalidate(tileInspectorWindow); - } - } + rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); + if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_invalidate(tileInspectorWindow); + } + } - return 0; + return 0; } sint32 tile_inspector_surface_toggle_diagonal(sint32 x, sint32 y, sint32 flags) { - rct_map_element *const surfaceElement = map_get_surface_element_at(x, y); + rct_map_element *const surfaceElement = map_get_surface_element_at(x, y); - // No surface element on tile - if (surfaceElement == NULL) - return MONEY32_UNDEFINED; + // No surface element on tile + if (surfaceElement == NULL) + return MONEY32_UNDEFINED; - if (flags & GAME_COMMAND_FLAG_APPLY) - { - surfaceElement->properties.surface.slope ^= 0x10; - if (surfaceElement->properties.surface.slope & 0x10) - { - surfaceElement->clearance_height = surfaceElement->base_height + 4; - } - else if (surfaceElement->properties.surface.slope & 0x0F) - { - surfaceElement->clearance_height = surfaceElement->base_height + 2; - } - else - { - surfaceElement->clearance_height = surfaceElement->base_height; - } + if (flags & GAME_COMMAND_FLAG_APPLY) + { + surfaceElement->properties.surface.slope ^= 0x10; + if (surfaceElement->properties.surface.slope & 0x10) + { + surfaceElement->clearance_height = surfaceElement->base_height + 4; + } + else if (surfaceElement->properties.surface.slope & 0x0F) + { + surfaceElement->clearance_height = surfaceElement->base_height + 2; + } + else + { + surfaceElement->clearance_height = surfaceElement->base_height; + } - map_invalidate_tile_full(x << 5, y << 5); + map_invalidate_tile_full(x << 5, y << 5); - rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); - if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_invalidate(tileInspectorWindow); - } - } + rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); + if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_invalidate(tileInspectorWindow); + } + } - return 0; + return 0; } sint32 tile_inspector_path_set_sloped(sint32 x, sint32 y, sint32 elementIndex, bool sloped, sint32 flags) { - rct_map_element *const pathElement = map_get_nth_element_at(x, y, elementIndex); + rct_map_element *const pathElement = map_get_nth_element_at(x, y, elementIndex); - if (!pathElement || map_element_get_type(pathElement) != MAP_ELEMENT_TYPE_PATH) - { - return MONEY32_UNDEFINED; - } + if (!pathElement || map_element_get_type(pathElement) != MAP_ELEMENT_TYPE_PATH) + { + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - pathElement->properties.path.type &= ~(1 << 2); - if (sloped) - { - pathElement->properties.path.type |= (1 << 2); - } + if (flags & GAME_COMMAND_FLAG_APPLY) + { + pathElement->properties.path.type &= ~(1 << 2); + if (sloped) + { + pathElement->properties.path.type |= (1 << 2); + } - map_invalidate_tile_full(x << 5, y << 5); + map_invalidate_tile_full(x << 5, y << 5); - rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); - if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_invalidate(tileInspectorWindow); - } - } + rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); + if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_invalidate(tileInspectorWindow); + } + } - return 0; + return 0; } sint32 tile_inspector_path_toggle_edge(sint32 x, sint32 y, sint32 elementIndex, sint32 edgeIndex, sint32 flags) { - rct_map_element *const pathElement = map_get_nth_element_at(x, y, elementIndex); + rct_map_element *const pathElement = map_get_nth_element_at(x, y, elementIndex); - if (!pathElement || map_element_get_type(pathElement) != MAP_ELEMENT_TYPE_PATH) - { - return MONEY32_UNDEFINED; - } + if (!pathElement || map_element_get_type(pathElement) != MAP_ELEMENT_TYPE_PATH) + { + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - pathElement->properties.path.edges ^= 1 << edgeIndex; + if (flags & GAME_COMMAND_FLAG_APPLY) + { + pathElement->properties.path.edges ^= 1 << edgeIndex; - map_invalidate_tile_full(x << 5, y << 5); + map_invalidate_tile_full(x << 5, y << 5); - rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); - if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_invalidate(tileInspectorWindow); - } - } + rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); + if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_invalidate(tileInspectorWindow); + } + } - return 0; + return 0; } sint32 tile_inspector_wall_set_slope(sint32 x, sint32 y, sint32 elementIndex, sint32 slopeValue, sint32 flags) { - rct_map_element *const wallElement = map_get_nth_element_at(x, y, elementIndex); + rct_map_element *const wallElement = map_get_nth_element_at(x, y, elementIndex); - if (!wallElement || map_element_get_type(wallElement) != MAP_ELEMENT_TYPE_WALL) - { - return MONEY32_UNDEFINED; - } + if (!wallElement || map_element_get_type(wallElement) != MAP_ELEMENT_TYPE_WALL) + { + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - // Set new slope value - wallElement->type &= ~0xC0; - wallElement->type |= slopeValue; + if (flags & GAME_COMMAND_FLAG_APPLY) + { + // Set new slope value + wallElement->type &= ~0xC0; + wallElement->type |= slopeValue; - map_invalidate_tile_full(x << 5, y << 5); + map_invalidate_tile_full(x << 5, y << 5); - rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); - if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_invalidate(tileInspectorWindow); - } - } + rct_window *const tileInspectorWindow = window_find_by_class(WC_TILE_INSPECTOR); + if (tileInspectorWindow != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_invalidate(tileInspectorWindow); + } + } - return 0; + return 0; } // Changes the height of all track elements that belong to the same track piece // Broxzier: Copied from track_remove and stripped of unneeded code, but I think this should be smaller sint32 tile_inspector_track_base_height_offset(sint32 x, sint32 y, sint32 elementIndex, sint8 offset, sint32 flags) { - rct_map_element *const trackElement = map_get_nth_element_at(x, y, elementIndex); + rct_map_element *const trackElement = map_get_nth_element_at(x, y, elementIndex); - if (offset == 0) - { - return MONEY32_UNDEFINED; - } + if (offset == 0) + { + return MONEY32_UNDEFINED; + } - if (!trackElement || map_element_get_type(trackElement) != MAP_ELEMENT_TYPE_TRACK) - { - return MONEY32_UNDEFINED; - } + if (!trackElement || map_element_get_type(trackElement) != MAP_ELEMENT_TYPE_TRACK) + { + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - uint8 type = trackElement->properties.track.type; - sint16 originX = x << 5; - sint16 originY = y << 5; - sint16 originZ = trackElement->base_height * 8; - uint8 rotation = map_element_get_direction(trackElement); - uint8 rideIndex = trackElement->properties.track.ride_index; - rct_ride* ride = get_ride(rideIndex); - const rct_preview_track* trackBlock = get_track_def_from_ride(ride, type); - trackBlock += trackElement->properties.track.sequence & 0x0F; + if (flags & GAME_COMMAND_FLAG_APPLY) + { + uint8 type = trackElement->properties.track.type; + sint16 originX = x << 5; + sint16 originY = y << 5; + sint16 originZ = trackElement->base_height * 8; + uint8 rotation = map_element_get_direction(trackElement); + uint8 rideIndex = trackElement->properties.track.ride_index; + rct_ride* ride = get_ride(rideIndex); + const rct_preview_track* trackBlock = get_track_def_from_ride(ride, type); + trackBlock += trackElement->properties.track.sequence & 0x0F; - uint8 originDirection = map_element_get_direction(trackElement); - switch (originDirection) - { - case 0: - originX -= trackBlock->x; - originY -= trackBlock->y; - break; - case 1: - originX -= trackBlock->y; - originY += trackBlock->x; - break; - case 2: - originX += trackBlock->x; - originY += trackBlock->y; - break; - case 3: - originX += trackBlock->y; - originY -= trackBlock->x; - break; - } + uint8 originDirection = map_element_get_direction(trackElement); + switch (originDirection) + { + case 0: + originX -= trackBlock->x; + originY -= trackBlock->y; + break; + case 1: + originX -= trackBlock->y; + originY += trackBlock->x; + break; + case 2: + originX += trackBlock->x; + originY += trackBlock->y; + break; + case 3: + originX += trackBlock->y; + originY -= trackBlock->x; + break; + } - originZ -= trackBlock->z; + originZ -= trackBlock->z; - trackBlock = get_track_def_from_ride(ride, type); - for (; trackBlock->index != 255; trackBlock++) - { - sint16 elemX = originX, elemY = originY, elemZ = originZ; + trackBlock = get_track_def_from_ride(ride, type); + for (; trackBlock->index != 255; trackBlock++) + { + sint16 elemX = originX, elemY = originY, elemZ = originZ; - switch (originDirection) - { - case 0: - elemX += trackBlock->x; - elemY += trackBlock->y; - break; - case 1: - elemX += trackBlock->y; - elemY -= trackBlock->x; - break; - case 2: - elemX -= trackBlock->x; - elemY -= trackBlock->y; - break; - case 3: - elemX -= trackBlock->y; - elemY += trackBlock->x; - break; - } + switch (originDirection) + { + case 0: + elemX += trackBlock->x; + elemY += trackBlock->y; + break; + case 1: + elemX += trackBlock->y; + elemY -= trackBlock->x; + break; + case 2: + elemX -= trackBlock->x; + elemY -= trackBlock->y; + break; + case 3: + elemX -= trackBlock->y; + elemY += trackBlock->x; + break; + } - elemZ += trackBlock->z; + elemZ += trackBlock->z; - map_invalidate_tile_full(elemX, elemY); + map_invalidate_tile_full(elemX, elemY); - bool found = false; - rct_map_element *mapElement = map_get_first_element_at(elemX >> 5, elemY >> 5); - do - { - if (mapElement->base_height != elemZ / 8) - continue; + bool found = false; + rct_map_element *mapElement = map_get_first_element_at(elemX >> 5, elemY >> 5); + do + { + if (mapElement->base_height != elemZ / 8) + continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != rotation) - continue; + if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != rotation) + continue; - if ((mapElement->properties.track.sequence & 0x0F) != trackBlock->index) - continue; + if ((mapElement->properties.track.sequence & 0x0F) != trackBlock->index) + continue; - if (mapElement->properties.track.type != type) - continue; + if (mapElement->properties.track.type != type) + continue; - found = true; - break; - } while (!map_element_is_last_for_tile(mapElement++)); + found = true; + break; + } while (!map_element_is_last_for_tile(mapElement++)); - if (!found) - { - log_error("Track map element part not found!"); - return MONEY32_UNDEFINED; - } + if (!found) + { + log_error("Track map element part not found!"); + return MONEY32_UNDEFINED; + } - // track_remove returns here on failure, not sure when this would ever be hit. Only thing I can think of is for when you decrease the map size. - openrct2_assert(map_get_surface_element_at(elemX >> 5, elemY >> 5) != NULL, "No surface at %d,%d", elemX >> 5, elemY >> 5); + // track_remove returns here on failure, not sure when this would ever be hit. Only thing I can think of is for when you decrease the map size. + openrct2_assert(map_get_surface_element_at(elemX >> 5, elemY >> 5) != NULL, "No surface at %d,%d", elemX >> 5, elemY >> 5); - // Keep? - //invalidate_test_results(rideIndex); + // Keep? + //invalidate_test_results(rideIndex); - mapElement->base_height += offset; - mapElement->clearance_height += offset; - } - } + mapElement->base_height += offset; + mapElement->clearance_height += offset; + } + } - // TODO: Only invalidate when one of the affected tiles is selected - window_invalidate_by_class(WC_TILE_INSPECTOR); + // TODO: Only invalidate when one of the affected tiles is selected + window_invalidate_by_class(WC_TILE_INSPECTOR); - return 0; + return 0; } // Sets chainlift, optionally for an entire track block // Broxzier: Basically a copy of the above function, with just two different lines... should probably be combined somehow sint32 tile_inspector_track_set_chain(sint32 x, sint32 y, sint32 elementIndex, bool entireTrackBlock, bool setChain, sint32 flags) { - rct_map_element *const trackElement = map_get_nth_element_at(x, y, elementIndex); + rct_map_element *const trackElement = map_get_nth_element_at(x, y, elementIndex); - if (!trackElement || map_element_get_type(trackElement) != MAP_ELEMENT_TYPE_TRACK) - { - return MONEY32_UNDEFINED; - } + if (!trackElement || map_element_get_type(trackElement) != MAP_ELEMENT_TYPE_TRACK) + { + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - if (!entireTrackBlock) - { - // Set chain for only the selected piece - if (track_element_is_lift_hill(trackElement) != setChain) - { - trackElement->type ^= TRACK_ELEMENT_FLAG_CHAIN_LIFT; - } + if (flags & GAME_COMMAND_FLAG_APPLY) + { + if (!entireTrackBlock) + { + // Set chain for only the selected piece + if (track_element_is_lift_hill(trackElement) != setChain) + { + trackElement->type ^= TRACK_ELEMENT_FLAG_CHAIN_LIFT; + } - return 0; - } + return 0; + } - uint8 type = trackElement->properties.track.type; - sint16 originX = x << 5; - sint16 originY = y << 5; - sint16 originZ = trackElement->base_height * 8; - uint8 rotation = map_element_get_direction(trackElement); - uint8 rideIndex = trackElement->properties.track.ride_index; - rct_ride* ride = get_ride(rideIndex); - const rct_preview_track* trackBlock = get_track_def_from_ride(ride, type); - trackBlock += trackElement->properties.track.sequence & 0x0F; + uint8 type = trackElement->properties.track.type; + sint16 originX = x << 5; + sint16 originY = y << 5; + sint16 originZ = trackElement->base_height * 8; + uint8 rotation = map_element_get_direction(trackElement); + uint8 rideIndex = trackElement->properties.track.ride_index; + rct_ride* ride = get_ride(rideIndex); + const rct_preview_track* trackBlock = get_track_def_from_ride(ride, type); + trackBlock += trackElement->properties.track.sequence & 0x0F; - uint8 originDirection = map_element_get_direction(trackElement); - switch (originDirection) - { - case 0: - originX -= trackBlock->x; - originY -= trackBlock->y; - break; - case 1: - originX -= trackBlock->y; - originY += trackBlock->x; - break; - case 2: - originX += trackBlock->x; - originY += trackBlock->y; - break; - case 3: - originX += trackBlock->y; - originY -= trackBlock->x; - break; - } + uint8 originDirection = map_element_get_direction(trackElement); + switch (originDirection) + { + case 0: + originX -= trackBlock->x; + originY -= trackBlock->y; + break; + case 1: + originX -= trackBlock->y; + originY += trackBlock->x; + break; + case 2: + originX += trackBlock->x; + originY += trackBlock->y; + break; + case 3: + originX += trackBlock->y; + originY -= trackBlock->x; + break; + } - originZ -= trackBlock->z; + originZ -= trackBlock->z; - trackBlock = get_track_def_from_ride(ride, type); - for (; trackBlock->index != 255; trackBlock++) - { - sint16 elemX = originX, elemY = originY, elemZ = originZ; + trackBlock = get_track_def_from_ride(ride, type); + for (; trackBlock->index != 255; trackBlock++) + { + sint16 elemX = originX, elemY = originY, elemZ = originZ; - switch (originDirection) - { - case 0: - elemX += trackBlock->x; - elemY += trackBlock->y; - break; - case 1: - elemX += trackBlock->y; - elemY -= trackBlock->x; - break; - case 2: - elemX -= trackBlock->x; - elemY -= trackBlock->y; - break; - case 3: - elemX -= trackBlock->y; - elemY += trackBlock->x; - break; - } + switch (originDirection) + { + case 0: + elemX += trackBlock->x; + elemY += trackBlock->y; + break; + case 1: + elemX += trackBlock->y; + elemY -= trackBlock->x; + break; + case 2: + elemX -= trackBlock->x; + elemY -= trackBlock->y; + break; + case 3: + elemX -= trackBlock->y; + elemY += trackBlock->x; + break; + } - elemZ += trackBlock->z; + elemZ += trackBlock->z; - map_invalidate_tile_full(elemX, elemY); + map_invalidate_tile_full(elemX, elemY); - bool found = false; - rct_map_element *mapElement = map_get_first_element_at(elemX >> 5, elemY >> 5); - do - { - if (mapElement->base_height != elemZ / 8) - continue; + bool found = false; + rct_map_element *mapElement = map_get_first_element_at(elemX >> 5, elemY >> 5); + do + { + if (mapElement->base_height != elemZ / 8) + continue; - if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) - continue; + if (map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_TRACK) + continue; - if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != rotation) - continue; + if ((mapElement->type & MAP_ELEMENT_DIRECTION_MASK) != rotation) + continue; - if ((mapElement->properties.track.sequence & 0x0F) != trackBlock->index) - continue; + if ((mapElement->properties.track.sequence & 0x0F) != trackBlock->index) + continue; - if (mapElement->properties.track.type != type) - continue; + if (mapElement->properties.track.type != type) + continue; - found = true; - break; - } while (!map_element_is_last_for_tile(mapElement++)); + found = true; + break; + } while (!map_element_is_last_for_tile(mapElement++)); - if (!found) - { - log_error("Track map element part not found!"); - return MONEY32_UNDEFINED; - } + if (!found) + { + log_error("Track map element part not found!"); + return MONEY32_UNDEFINED; + } - // track_remove returns here on failure, not sure when this would ever be hit. Only thing I can think of is for when you decrease the map size. - openrct2_assert(map_get_surface_element_at(elemX >> 5, elemY >> 5) != NULL, "No surface at %d,%d", elemX >> 5, elemY >> 5); + // track_remove returns here on failure, not sure when this would ever be hit. Only thing I can think of is for when you decrease the map size. + openrct2_assert(map_get_surface_element_at(elemX >> 5, elemY >> 5) != NULL, "No surface at %d,%d", elemX >> 5, elemY >> 5); - // Keep? - //invalidate_test_results(rideIndex); + // Keep? + //invalidate_test_results(rideIndex); - if (track_element_is_lift_hill(mapElement) != setChain) - { - mapElement->type ^= TRACK_ELEMENT_FLAG_CHAIN_LIFT; - } - } - } + if (track_element_is_lift_hill(mapElement) != setChain) + { + mapElement->type ^= TRACK_ELEMENT_FLAG_CHAIN_LIFT; + } + } + } - // TODO: Only invalidate when one of the affected tiles is selected - window_invalidate_by_class(WC_TILE_INSPECTOR); + // TODO: Only invalidate when one of the affected tiles is selected + window_invalidate_by_class(WC_TILE_INSPECTOR); - return 0; + return 0; } sint32 tile_inspector_scenery_set_quarter_location(sint32 x, sint32 y, sint32 elementIndex, sint32 quarterIndex, sint32 flags) { - rct_map_element *const mapElement = map_get_nth_element_at(x, y, elementIndex); + rct_map_element *const mapElement = map_get_nth_element_at(x, y, elementIndex); - if (!mapElement || map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY) - { - return MONEY32_UNDEFINED; - } + if (!mapElement || map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY) + { + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - // Set quadrant index - mapElement->type &= ~MAP_ELEMENT_QUADRANT_MASK; - mapElement->type |= quarterIndex << 6; + if (flags & GAME_COMMAND_FLAG_APPLY) + { + // Set quadrant index + mapElement->type &= ~MAP_ELEMENT_QUADRANT_MASK; + mapElement->type |= quarterIndex << 6; - // Update collision - mapElement->flags &= 0xF0; - mapElement->flags |= 1 << ((quarterIndex + 2) & 3); + // Update collision + mapElement->flags &= 0xF0; + mapElement->flags |= 1 << ((quarterIndex + 2) & 3); - map_invalidate_tile_full(x << 5, y << 5); - if ((uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_invalidate_by_class(WC_TILE_INSPECTOR); - } - } + map_invalidate_tile_full(x << 5, y << 5); + if ((uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_invalidate_by_class(WC_TILE_INSPECTOR); + } + } - return 0; + return 0; } sint32 tile_inspector_scenery_set_quarter_collision(sint32 x, sint32 y, sint32 elementIndex, sint32 quarterIndex, sint32 flags) { - rct_map_element *const mapElement = map_get_nth_element_at(x, y, elementIndex); + rct_map_element *const mapElement = map_get_nth_element_at(x, y, elementIndex); - if (!mapElement || map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY) - { - return MONEY32_UNDEFINED; - } + if (!mapElement || map_element_get_type(mapElement) != MAP_ELEMENT_TYPE_SCENERY) + { + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - mapElement->flags ^= 1 << quarterIndex; + if (flags & GAME_COMMAND_FLAG_APPLY) + { + mapElement->flags ^= 1 << quarterIndex; - map_invalidate_tile_full(x << 5, y << 5); - if ((uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_invalidate_by_class(WC_TILE_INSPECTOR); - } - } + map_invalidate_tile_full(x << 5, y << 5); + if ((uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_invalidate_by_class(WC_TILE_INSPECTOR); + } + } - return 0; + return 0; } sint32 tile_inspector_banner_toggle_blocking_edge(sint32 x, sint32 y, sint32 elementIndex, sint32 edgeIndex, sint32 flags) { - rct_map_element *const bannerElement = map_get_nth_element_at(x, y, elementIndex); + rct_map_element *const bannerElement = map_get_nth_element_at(x, y, elementIndex); - if (!bannerElement || map_element_get_type(bannerElement) != MAP_ELEMENT_TYPE_BANNER) - { - return MONEY32_UNDEFINED; - } + if (!bannerElement || map_element_get_type(bannerElement) != MAP_ELEMENT_TYPE_BANNER) + { + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - bannerElement->properties.banner.flags ^= 1 << edgeIndex; + if (flags & GAME_COMMAND_FLAG_APPLY) + { + bannerElement->properties.banner.flags ^= 1 << edgeIndex; - if ((uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_invalidate_by_class(WC_TILE_INSPECTOR); - } - } + if ((uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_invalidate_by_class(WC_TILE_INSPECTOR); + } + } - return 0; + return 0; } sint32 tile_inspector_corrupt_clamp(sint32 x, sint32 y, sint32 elementIndex, sint32 flags) { - rct_map_element *const corruptElement = map_get_nth_element_at(x, y, elementIndex); + rct_map_element *const corruptElement = map_get_nth_element_at(x, y, elementIndex); - if (!corruptElement || map_element_get_type(corruptElement) != MAP_ELEMENT_TYPE_CORRUPT) - { - return MONEY32_UNDEFINED; - } + if (!corruptElement || map_element_get_type(corruptElement) != MAP_ELEMENT_TYPE_CORRUPT) + { + return MONEY32_UNDEFINED; + } - if (map_element_is_last_for_tile(corruptElement)) - { - return MONEY32_UNDEFINED; - } + if (map_element_is_last_for_tile(corruptElement)) + { + return MONEY32_UNDEFINED; + } - if (flags & GAME_COMMAND_FLAG_APPLY) - { - rct_map_element *const nextElement = corruptElement + 1; - corruptElement->base_height = corruptElement->clearance_height = nextElement->base_height; + if (flags & GAME_COMMAND_FLAG_APPLY) + { + rct_map_element *const nextElement = corruptElement + 1; + corruptElement->base_height = corruptElement->clearance_height = nextElement->base_height; - if ((uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) - { - window_invalidate_by_class(WC_TILE_INSPECTOR); - } - } + if ((uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY) + { + window_invalidate_by_class(WC_TILE_INSPECTOR); + } + } - return 0; + return 0; } diff --git a/src/openrct2/world/tile_inspector.h b/src/openrct2/world/tile_inspector.h index 3d299c7a84..e624bec4b1 100644 --- a/src/openrct2/world/tile_inspector.h +++ b/src/openrct2/world/tile_inspector.h @@ -20,38 +20,38 @@ #include "map.h" typedef enum { - TILE_INSPECTOR_ELEMENT_ANY = 0, - TILE_INSPECTOR_ELEMENT_SURFACE, - TILE_INSPECTOR_ELEMENT_PATH, - TILE_INSPECTOR_ELEMENT_TRACK, - TILE_INSPECTOR_ELEMENT_SCENERY, - TILE_INSPECTOR_ELEMENT_ENTRANCE, - TILE_INSPECTOR_ELEMENT_WALL, - TILE_INSPECTOR_ELEMENT_SCENERYMULTIPLE, - TILE_INSPECTOR_ELEMENT_BANNER, - TILE_INSPECTOR_ELEMENT_CORRUPT, + TILE_INSPECTOR_ELEMENT_ANY = 0, + TILE_INSPECTOR_ELEMENT_SURFACE, + TILE_INSPECTOR_ELEMENT_PATH, + TILE_INSPECTOR_ELEMENT_TRACK, + TILE_INSPECTOR_ELEMENT_SCENERY, + TILE_INSPECTOR_ELEMENT_ENTRANCE, + TILE_INSPECTOR_ELEMENT_WALL, + TILE_INSPECTOR_ELEMENT_SCENERYMULTIPLE, + TILE_INSPECTOR_ELEMENT_BANNER, + TILE_INSPECTOR_ELEMENT_CORRUPT, } tile_inspector_element_type; typedef enum { - TILE_INSPECTOR_ANY_REMOVE, - TILE_INSPECTOR_ANY_SWAP, - TILE_INSPECTOR_ANY_INSERT_CORRUPT, - TILE_INSPECTOR_ANY_ROTATE, - TILE_INSPECTOR_ANY_PASTE, - TILE_INSPECTOR_ANY_SORT, - TILE_INSPECTOR_ANY_BASE_HEIGHT_OFFSET, - TILE_INSPECTOR_SURFACE_SHOW_PARK_FENCES, - TILE_INSPECTOR_SURFACE_TOGGLE_CORNER, - TILE_INSPECTOR_SURFACE_TOGGLE_DIAGONAL, - TILE_INSPECTOR_PATH_SET_SLOPE, - TILE_INSPECTOR_PATH_TOGGLE_EDGE, - TILE_INSPECTOR_WALL_SET_SLOPE, - TILE_INSPECTOR_TRACK_BASE_HEIGHT_OFFSET, - TILE_INSPECTOR_TRACK_SET_CHAIN, - TILE_INSPECTOR_SCENERY_SET_QUARTER_LOCATION, - TILE_INSPECTOR_SCENERY_SET_QUARTER_COLLISION, - TILE_INSPECTOR_BANNER_TOGGLE_BLOCKING_EDGE, - TILE_INSPECTOR_CORRUPT_CLAMP, + TILE_INSPECTOR_ANY_REMOVE, + TILE_INSPECTOR_ANY_SWAP, + TILE_INSPECTOR_ANY_INSERT_CORRUPT, + TILE_INSPECTOR_ANY_ROTATE, + TILE_INSPECTOR_ANY_PASTE, + TILE_INSPECTOR_ANY_SORT, + TILE_INSPECTOR_ANY_BASE_HEIGHT_OFFSET, + TILE_INSPECTOR_SURFACE_SHOW_PARK_FENCES, + TILE_INSPECTOR_SURFACE_TOGGLE_CORNER, + TILE_INSPECTOR_SURFACE_TOGGLE_DIAGONAL, + TILE_INSPECTOR_PATH_SET_SLOPE, + TILE_INSPECTOR_PATH_TOGGLE_EDGE, + TILE_INSPECTOR_WALL_SET_SLOPE, + TILE_INSPECTOR_TRACK_BASE_HEIGHT_OFFSET, + TILE_INSPECTOR_TRACK_SET_CHAIN, + TILE_INSPECTOR_SCENERY_SET_QUARTER_LOCATION, + TILE_INSPECTOR_SCENERY_SET_QUARTER_COLLISION, + TILE_INSPECTOR_BANNER_TOGGLE_BLOCKING_EDGE, + TILE_INSPECTOR_CORRUPT_CLAMP, } tile_inspector_instruction; sint32 tile_inspector_insert_corrupt_at(sint32 x, sint32 y, sint16 elementIndex, sint32 flags); diff --git a/src/openrct2/world/water.h b/src/openrct2/world/water.h index 3ee0b90a74..39563538ec 100644 --- a/src/openrct2/world/water.h +++ b/src/openrct2/world/water.h @@ -20,16 +20,16 @@ #include "../common.h" enum { - WATER_FLAGS_ALLOW_DUCKS = (1 << 0) + WATER_FLAGS_ALLOW_DUCKS = (1 << 0) }; #pragma pack(push, 1) typedef struct rct_water_type { - rct_string_id string_idx; // 0x00 - uint32 image_id; // 0x02 - uint32 palette_index_1; // 0x06 - uint32 palette_index_2; // 0x0A - uint16 flags; // 0x0E + rct_string_id string_idx; // 0x00 + uint32 image_id; // 0x02 + uint32 palette_index_1; // 0x06 + uint32 palette_index_2; // 0x0A + uint16 flags; // 0x0E } rct_water_type; assert_struct_size(rct_water_type, 16); #pragma pack(pop) diff --git a/test/testpaint/GeneralSupportHeightCall.cpp b/test/testpaint/GeneralSupportHeightCall.cpp index 771abe7de4..6f9e4cbcf7 100644 --- a/test/testpaint/GeneralSupportHeightCall.cpp +++ b/test/testpaint/GeneralSupportHeightCall.cpp @@ -46,8 +46,8 @@ bool GeneralSupportHeightCall::FindMostCommonSupportCall(SupportCall calls[4], S if (map.size() == 2) { for (auto &&item : map) { if (item.second == 3) { - (*out) = item.first; - return true; + (*out) = item.first; + return true; } } diff --git a/test/testpaint/compat.c b/test/testpaint/compat.c index 37c8380b3f..092ed87f8f 100644 --- a/test/testpaint/compat.c +++ b/test/testpaint/compat.c @@ -23,7 +23,7 @@ #include #include -#define RCT2_ADDRESS_SPRITE_LIST 0x010E63BC +#define RCT2_ADDRESS_SPRITE_LIST 0x010E63BC #define gRideEntries RCT2_ADDRESS(RCT2_ADDRESS_RIDE_ENTRIES, rct_ride_entry*) #define gCurrentRotation RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_ROTATION, uint8) @@ -39,37 +39,37 @@ uint8 gTrackDesignSaveRideIndex = 255; uint8 gClipHeight = 255; const rct_xy16 TileDirectionDelta[] = { - {-32, 0}, - {0, +32}, - {+32, 0}, - {0, -32}, - {-32, +32}, - {+32, +32}, - {+32, -32}, - {-32, -32} + {-32, 0}, + {0, +32}, + {+32, 0}, + {0, -32}, + {-32, +32}, + {+32, +32}, + {+32, -32}, + {-32, -32} }; uint8 get_current_rotation() { - return gCurrentRotation & 3; + return gCurrentRotation & 3; } const uint32 construction_markers[] = { - COLOUR_DARK_GREEN << 19 | COLOUR_GREY << 24 | IMAGE_TYPE_REMAP, // White - 2 << 19 | 0b110000 << 19 | IMAGE_TYPE_TRANSPARENT, // Translucent + COLOUR_DARK_GREEN << 19 | COLOUR_GREY << 24 | IMAGE_TYPE_REMAP, // White + 2 << 19 | 0b110000 << 19 | IMAGE_TYPE_TRANSPARENT, // Translucent }; int object_entry_group_counts[] = { - 128, // rides - 252, // small scenery - 128, // large scenery - 128, // walls - 32, // banners - 16, // paths - 15, // path bits - 19, // scenery sets - 1, // park entrance - 1, // water - 1 // scenario text + 128, // rides + 252, // small scenery + 128, // large scenery + 128, // walls + 32, // banners + 16, // paths + 15, // path bits + 19, // scenery sets + 1, // park entrance + 1, // water + 1 // scenario text }; GeneralConfiguration gConfigGeneral; @@ -89,84 +89,84 @@ void fence_paint(uint8 direction, int height, rct_map_element *mapElement) { } void scenery_multiple_paint(uint8 direction, uint16 height, rct_map_element *mapElement) { } rct_ride *get_ride(int index) { - if (index < 0 || index >= MAX_RIDES) { - log_error("invalid index %d for ride", index); - return NULL; - } - return &gRideList[index]; + if (index < 0 || index >= MAX_RIDES) { + log_error("invalid index %d for ride", index); + return NULL; + } + return &gRideList[index]; } rct_ride_entry *get_ride_entry(int index) { - if (index < 0 || index >= object_entry_group_counts[OBJECT_TYPE_RIDE]) { - log_error("invalid index %d for ride type", index); - return NULL; - } - return gRideEntries[index]; + if (index < 0 || index >= object_entry_group_counts[OBJECT_TYPE_RIDE]) { + log_error("invalid index %d for ride type", index); + return NULL; + } + return gRideEntries[index]; } rct_ride_entry *get_ride_entry_by_ride(rct_ride *ride) { - rct_ride_entry *type = get_ride_entry(ride->subtype); - if (type == NULL) { - log_error("Invalid ride subtype for ride"); - } - return type; + rct_ride_entry *type = get_ride_entry(ride->subtype); + if (type == NULL) { + log_error("Invalid ride subtype for ride"); + } + return type; } rct_sprite *get_sprite(size_t sprite_idx) { - assert(sprite_idx < MAX_SPRITES); - return &sprite_list[sprite_idx]; + assert(sprite_idx < MAX_SPRITES); + return &sprite_list[sprite_idx]; } int map_element_is_last_for_tile(const rct_map_element *element) { - return element->flags & MAP_ELEMENT_FLAG_LAST_TILE; + return element->flags & MAP_ELEMENT_FLAG_LAST_TILE; } int map_element_get_type(const rct_map_element *element) { - return element->type & MAP_ELEMENT_TYPE_MASK; + return element->type & MAP_ELEMENT_TYPE_MASK; } int map_element_get_direction(const rct_map_element *element) { - return element->type & MAP_ELEMENT_DIRECTION_MASK; + return element->type & MAP_ELEMENT_DIRECTION_MASK; } rct_map_element *map_get_first_element_at(int x, int y) { - if (x < 0 || y < 0 || x > 255 || y > 255) { - log_error("Trying to access element outside of range"); - return NULL; - } - return gMapElementTilePointers[x + y * 256]; + if (x < 0 || y < 0 || x > 255 || y > 255) { + log_error("Trying to access element outside of range"); + return NULL; + } + return gMapElementTilePointers[x + y * 256]; } int map_get_station(rct_map_element *mapElement) { - return (mapElement->properties.track.sequence & 0x70) >> 4; + return (mapElement->properties.track.sequence & 0x70) >> 4; } bool ride_type_has_flag(int rideType, int flag) { - return (RideProperties[rideType].flags & flag) != 0; + return (RideProperties[rideType].flags & flag) != 0; } sint16 get_height_marker_offset() { - return 0; + return 0; } bool track_element_is_lift_hill(rct_map_element *trackElement) { - return trackElement->type & 0x80; + return trackElement->type & 0x80; } bool track_element_is_cable_lift(rct_map_element *trackElement) { - return trackElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT; + return trackElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT; } bool track_element_is_inverted(rct_map_element *trackElement) { - return trackElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED; + return trackElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED; } bool is_csg_loaded() { - return false; + return false; } diff --git a/test/testpaint/data.c b/test/testpaint/data.c index 1d345c4f50..331f044bc0 100644 --- a/test/testpaint/data.c +++ b/test/testpaint/data.c @@ -18,1225 +18,1225 @@ #include const utf8string RideNames[RIDE_TYPE_COUNT] = { - "SpiralRollerCoaster", - "StandUpRollerCoaster", - "SuspendedSwingingCoaster", - "InvertedRollerCoaster", - "JuniorRollerCoaster", - "MiniatureRailway", - "Monorail", - "MiniSuspendedCoaster", - "BoatRide", - "WoodenWildMouse", - "Steeplechase", - "CarRide", - "LaunchedFreefall", - "BobsleighCoaster", - "ObservationTower", - "LoopingRollerCoaster", - "DinghySlide", - "MineTrainCoaster", - "Chairlift", - "CorkscrewRollerCoaster", - "Maze", - "SpiralSlide", - "GoKarts", - "LogFlume", - "RiverRapids", - "Dodgems", - "PirateShip", - "SwingingInverterShip", - "FoodStall", - "1D", - "DrinkStall", - "1F", - "Shop", - "MerryGoRound", - "22", - "InformationKiosk", - "Toilets", - "FerrisWheel", - "MotionSimulator", - "3DCinema", - "TopSpin", - "SpaceRings", - "ReverseFreefallCoaster", - "Lift", - "VerticalDropRollerCoaster", - "CashMachine", - "Twist", - "HauntedHouse", - "FirstAid", - "CircusShow", - "GhostTrain", - "TwisterRollerCoaster", - "WoodenRollerCoaster", - "SideFrictionRollerCoaster", - "WildMouse", - "MultiDimensionRollerCoaster", - "MultiDimensionRollerCoasterAlt", - "FlyingRollerCoaster", - "FlyingRollerCoasterAlt", - "VirginiaReel", - "SplashBoats", - "MiniHelicopters", - "LayDownRollerCoaster", - "SuspendedMonorail", - "LayDownRollerCoasterAlt", - "ReverserRollerCoaster", - "HeartlineTwisterCoaster", - "MiniGolf", - "GigaCoaster", - "RoToDrop", - "FlyingSaucers", - "CrookedHouse", - "MonorailCycles", - "CompactInvertedCoaster", - "WaterCoaster", - "AirPoweredVerticalCoaster", - "InvertedHairpinCoaster", - "MagicCarpet", - "SubmarineRide", - "RiverRafts", - "50", - "Enterprise", - "52", - "53", - "54", - "55", - "InvertedImpulseCoaster", - "MiniRollerCoaster", - "MineRide", - "59", - "LimLaunchedRollerCoaster", + "SpiralRollerCoaster", + "StandUpRollerCoaster", + "SuspendedSwingingCoaster", + "InvertedRollerCoaster", + "JuniorRollerCoaster", + "MiniatureRailway", + "Monorail", + "MiniSuspendedCoaster", + "BoatRide", + "WoodenWildMouse", + "Steeplechase", + "CarRide", + "LaunchedFreefall", + "BobsleighCoaster", + "ObservationTower", + "LoopingRollerCoaster", + "DinghySlide", + "MineTrainCoaster", + "Chairlift", + "CorkscrewRollerCoaster", + "Maze", + "SpiralSlide", + "GoKarts", + "LogFlume", + "RiverRapids", + "Dodgems", + "PirateShip", + "SwingingInverterShip", + "FoodStall", + "1D", + "DrinkStall", + "1F", + "Shop", + "MerryGoRound", + "22", + "InformationKiosk", + "Toilets", + "FerrisWheel", + "MotionSimulator", + "3DCinema", + "TopSpin", + "SpaceRings", + "ReverseFreefallCoaster", + "Lift", + "VerticalDropRollerCoaster", + "CashMachine", + "Twist", + "HauntedHouse", + "FirstAid", + "CircusShow", + "GhostTrain", + "TwisterRollerCoaster", + "WoodenRollerCoaster", + "SideFrictionRollerCoaster", + "WildMouse", + "MultiDimensionRollerCoaster", + "MultiDimensionRollerCoasterAlt", + "FlyingRollerCoaster", + "FlyingRollerCoasterAlt", + "VirginiaReel", + "SplashBoats", + "MiniHelicopters", + "LayDownRollerCoaster", + "SuspendedMonorail", + "LayDownRollerCoasterAlt", + "ReverserRollerCoaster", + "HeartlineTwisterCoaster", + "MiniGolf", + "GigaCoaster", + "RoToDrop", + "FlyingSaucers", + "CrookedHouse", + "MonorailCycles", + "CompactInvertedCoaster", + "WaterCoaster", + "AirPoweredVerticalCoaster", + "InvertedHairpinCoaster", + "MagicCarpet", + "SubmarineRide", + "RiverRafts", + "50", + "Enterprise", + "52", + "53", + "54", + "55", + "InvertedImpulseCoaster", + "MiniRollerCoaster", + "MineRide", + "59", + "LimLaunchedRollerCoaster", }; const utf8string TrackNames[256] = { - "Flat", - "EndStation", - "BeginStation", - "MiddleStation", - "25DegUp", - "60DegUp", - "FlatTo25DegUp", - "25DegUpTo60DegUp", - "60DegUpTo25DegUp", - "25DegUpToFlat", - "25DegDown", - "60DegDown", - "FlatTo25DegDown", - "25DegDownTo60DegDown", - "60DegDownTo25DegDown", - "25DegDownToFlat", - "LeftQuarterTurn5Tiles", - "RightQuarterTurn5Tiles", - "FlatToLeftBank", - "FlatToRightBank", - "LeftBankToFlat", - "RightBankToFlat", - "BankedLeftQuarterTurn5Tiles", - "BankedRightQuarterTurn5Tiles", - "LeftBankTo25DegUp", - "RightBankTo25DegUp", - "25DegUpToLeftBank", - "25DegUpToRightBank", - "LeftBankTo25DegDown", - "RightBankTo25DegDown", - "25DegDownToLeftBank", - "25DegDownToRightBank", - "LeftBank", - "RightBank", - "LeftQuarterTurn5Tiles25DegUp", - "RightQuarterTurn5Tiles25DegUp", - "LeftQuarterTurn5Tiles25DegDown", - "RightQuarterTurn5Tiles25DegDown", - "SBendLeft", - "SBendRight", - "LeftVerticalLoop", - "RightVerticalLoop", - "LeftQuarterTurn3Tiles", - "RightQuarterTurn3Tiles", - "LeftQuarterTurn3TilesBank", - "RightQuarterTurn3TilesBank", - "LeftQuarterTurn3Tiles25DegUp", - "RightQuarterTurn3Tiles25DegUp", - "LeftQuarterTurn3Tiles25DegDown", - "RightQuarterTurn3Tiles25DegDown", - "LeftQuarterTurn1Tile", - "RightQuarterTurn1Tile", - "LeftTwistDownToUp", - "RightTwistDownToUp", - "LeftTwistUpToDown", - "RightTwistUpToDown", - "HalfLoopUp", - "HalfLoopDown", - "LeftCorkscrewUp", - "RightCorkscrewUp", - "LeftCorkscrewDown", - "RightCorkscrewDown", - "FlatTo60DegUp", - "60DegUpToFlat", - "FlatTo60DegDown", - "60DegDownToFlat", - "TowerBase", - "TowerSection", - "FlatCovered", - "25DegUpCovered", - "60DegUpCovered", - "FlatTo25DegUpCovered", - "25DegUpTo60DegUpCovered", - "60DegUpTo25DegUpCovered", - "25DegUpToFlatCovered", - "25DegDownCovered", - "60DegDownCovered", - "FlatTo25DegDownCovered", - "25DegDownTo60DegDownCovered", - "60DegDownTo25DegDownCovered", - "25DegDownToFlatCovered", - "LeftQuarterTurn5TilesCovered", - "RightQuarterTurn5TilesCovered", - "SBendLeftCovered", - "SBendRightCovered", - "LeftQuarterTurn3TilesCovered", - "RightQuarterTurn3TilesCovered", - "LeftHalfBankedHelixUpSmall", - "RightHalfBankedHelixUpSmall", - "LeftHalfBankedHelixDownSmall", - "RightHalfBankedHelixDownSmall", - "LeftHalfBankedHelixUpLarge", - "RightHalfBankedHelixUpLarge", - "LeftHalfBankedHelixDownLarge", - "RightHalfBankedHelixDownLarge", - "LeftQuarterTurn1Tile60DegUp", - "RightQuarterTurn1Tile60DegUp", - "LeftQuarterTurn1Tile60DegDown", - "RightQuarterTurn1Tile60DegDown", - "Brakes", - "RotationControlToggle", - "Inverted90DegUpToFlatQuarterLoop_Maze", - "LeftQuarterBankedHelixLargeUp", - "RightQuarterBankedHelixLargeUp", - "LeftQuarterBankedHelixLargeDown", - "RightQuarterBankedHelixLargeDown", - "LeftQuarterHelixLargeUp", - "RightQuarterHelixLargeUp", - "LeftQuarterHelixLargeDown", - "RightQuarterHelixLargeDown", - "25DegUpLeftBanked", - "25DegUpRightBanked", - "Waterfall", - "Rapids", - "OnRidePhoto", - "25DegDownLeftBanked", - "25DegDownRightBanked", - "WaterSplash", - "FlatTo60DegUpLongBase", - "60DegUpToFlatLongBase", - "Whirlpool", - "FlatTo60DegDownLongBase", - "60DegUpToFlatLongBase122", - "CableLiftHill", - "ReverseWhoaBellySlope", - "ReverseWhoaBellyVertical", - "90DegUp", - "90DegDown", - "60DegUpTo90DegUp", - "90DegDownTo60DegDown", - "90DegUpTo60DegUp", - "60DegDownTo90DegDown", - "BrakeForDrop", - "LeftEighthToDiag", - "RightEighthToDiag", - "LeftEighthToOrthogonal", - "RightEighthToOrthogonal", - "LeftEighthBankToDiag", - "RightEighthBankToDiag", - "LeftEighthBankToOrthogonal", - "RightEighthBankToOrthogonal", - "DiagFlat", - "Diag25DegUp", - "Diag60DegUp", - "DiagFlatTo25DegUp", - "Diag25DegUpTo60DegUp", - "Diag60DegUpTo25DegUp", - "Diag25DegUpToFlat", - "Diag25DegDown", - "Diag60DegDown", - "DiagFlatTo25DegDown", - "Diag25DegDownTo60DegDown", - "Diag60DegDownTo25DegDown", - "Diag25DegDownToFlat", - "DiagFlatTo60DegUp", - "Diag60DegUpToFlat", - "DiagFlatTo60DegDown", - "Diag60DegDownToFlat", - "DiagFlatToLeftBank", - "DiagFlatToRightBank", - "DiagLeftBankToFlat", - "DiagRightBankToFlat", - "DiagLeftBankTo25DegUp", - "DiagRightBankTo25DegUp", - "Diag25DegUpToLeftBank", - "Diag25DegUpToRightBank", - "DiagLeftBankTo25DegDown", - "DiagRightBankTo25DegDown", - "Diag25DegDownToLeftBank", - "Diag25DegDownToRightBank", - "DiagLeftBank", - "DiagRightBank", - "LogFlumeReverser", - "SpinningTunnel", - "LeftBarrelRollUpToDown", - "RightBarrelRollUpToDown", - "LeftBarrelRollDownToUp", - "RightBarrelRollDownToUp", - "LeftBankToLeftQuarterTurn3Tiles25DegUp", - "RightBankToRightQuarterTurn3Tiles25DegUp", - "LeftQuarterTurn3Tiles25DegDownToLeftBank", - "RightQuarterTurn3Tiles25DegDownToRightBank", - "PoweredLift", - "LeftLargeHalfLoopUp", - "RightLargeHalfLoopUp", - "RightLargeHalfLoopDown", - "LeftLargeHalfLoopDown", - "LeftFlyerTwistUp", - "RightFlyerTwistUp", - "LeftFlyerTwistDown", - "RightFlyerTwistDown", - "FlyerHalfLoopUp", - "FlyerHalfLoopDown", - "LeftFlyerCorkscrewUp", - "RightFlyerCorkscrewUp", - "LeftFlyerCorkscrewDown", - "RightFlyerCorkscrewDown", - "HeartlineTransferUp", - "HeartlineTransferDown", - "LeftHeartlineRoll", - "RightHeartlineRoll", - "MiniGolfHoleA", - "MiniGolfHoleB", - "MiniGolfHoleC", - "MiniGolfHoleD", - "MiniGolfHoleE", - "MultidimInvertedFlatTo90DegQuarterLoopDown", - "90DegToInvertedFlatQuarterLoopUp", - "InvertedFlatTo90DegQuarterLoopDown", - "LeftCurvedLiftHill", - "RightCurvedLiftHill", - "LeftReverser", - "RightReverser", - "AirThrustTopCap", - "AirThrustVerticalDown", - "AirThrustVerticalDownToLevel", - "BlockBrakes", - "LeftBankedQuarterTurn3Tile25DegUp", - "RightBankedQuarterTurn3Tile25DegUp", - "LeftBankedQuarterTurn3Tile25DegDown", - "RightBankedQuarterTurn3Tile25DegDown", - "LeftBankedQuarterTurn5Tile25DegUp", - "RightBankedQuarterTurn5Tile25DegUp", - "LeftBankedQuarterTurn5Tile25DegDown", - "RightBankedQuarterTurn5Tile25DegDown", - "25DegUpToLeftBanked25DegUp", - "25DegUpToRightBanked25DegUp", - "LeftBanked25DegUpTo25DegUp", - "RightBanked25DegUpTo25DegUp", - "25DegDownToLeftBanked25DegDown", - "25DegDownToRightBanked25DegDown", - "LeftBanked25DegDownTo25DegDown", - "RightBanked25DegDownTo25DegDown", - "LeftBankedFlatToLeftBanked25DegUp", - "RightBankedFlatToRightBanked25DegUp", - "LeftBanked25DegUpToLeftBankedFlat", - "RightBanked25DegUpToRightBankedFlat", - "LeftBankedFlatToLeftBanked25DegDown", - "RightBankedFlatToRightBanked25DegDown", - "LeftBanked25DegDownToLeftBankedFlat", - "RightBanked25DegDownToRightBankedFlat", - "FlatToLeftBanked25DegUp", - "FlatToRightBanked25DegUp", - "LeftBanked25DegUpToFlat", - "RightBanked25DegUpToFlat", - "FlatToLeftBanked25DegDown", - "FlatToRightBanked25DegDown", - "LeftBanked25DegDownToFlat", - "RightBanked25DegDownToFlat", - "LeftQuarterTurn1Tile90DegUp", - "RightQuarterTurn1Tile90DegUp", - "LeftQuarterTurn1Tile90DegDown", - "RightQuarterTurn1Tile90DegDown", - "Multidim90DegUpToInvertedFlatQuarterLoop", - "MultidimFlatTo90DegDownQuarterLoop", - "Elem255", + "Flat", + "EndStation", + "BeginStation", + "MiddleStation", + "25DegUp", + "60DegUp", + "FlatTo25DegUp", + "25DegUpTo60DegUp", + "60DegUpTo25DegUp", + "25DegUpToFlat", + "25DegDown", + "60DegDown", + "FlatTo25DegDown", + "25DegDownTo60DegDown", + "60DegDownTo25DegDown", + "25DegDownToFlat", + "LeftQuarterTurn5Tiles", + "RightQuarterTurn5Tiles", + "FlatToLeftBank", + "FlatToRightBank", + "LeftBankToFlat", + "RightBankToFlat", + "BankedLeftQuarterTurn5Tiles", + "BankedRightQuarterTurn5Tiles", + "LeftBankTo25DegUp", + "RightBankTo25DegUp", + "25DegUpToLeftBank", + "25DegUpToRightBank", + "LeftBankTo25DegDown", + "RightBankTo25DegDown", + "25DegDownToLeftBank", + "25DegDownToRightBank", + "LeftBank", + "RightBank", + "LeftQuarterTurn5Tiles25DegUp", + "RightQuarterTurn5Tiles25DegUp", + "LeftQuarterTurn5Tiles25DegDown", + "RightQuarterTurn5Tiles25DegDown", + "SBendLeft", + "SBendRight", + "LeftVerticalLoop", + "RightVerticalLoop", + "LeftQuarterTurn3Tiles", + "RightQuarterTurn3Tiles", + "LeftQuarterTurn3TilesBank", + "RightQuarterTurn3TilesBank", + "LeftQuarterTurn3Tiles25DegUp", + "RightQuarterTurn3Tiles25DegUp", + "LeftQuarterTurn3Tiles25DegDown", + "RightQuarterTurn3Tiles25DegDown", + "LeftQuarterTurn1Tile", + "RightQuarterTurn1Tile", + "LeftTwistDownToUp", + "RightTwistDownToUp", + "LeftTwistUpToDown", + "RightTwistUpToDown", + "HalfLoopUp", + "HalfLoopDown", + "LeftCorkscrewUp", + "RightCorkscrewUp", + "LeftCorkscrewDown", + "RightCorkscrewDown", + "FlatTo60DegUp", + "60DegUpToFlat", + "FlatTo60DegDown", + "60DegDownToFlat", + "TowerBase", + "TowerSection", + "FlatCovered", + "25DegUpCovered", + "60DegUpCovered", + "FlatTo25DegUpCovered", + "25DegUpTo60DegUpCovered", + "60DegUpTo25DegUpCovered", + "25DegUpToFlatCovered", + "25DegDownCovered", + "60DegDownCovered", + "FlatTo25DegDownCovered", + "25DegDownTo60DegDownCovered", + "60DegDownTo25DegDownCovered", + "25DegDownToFlatCovered", + "LeftQuarterTurn5TilesCovered", + "RightQuarterTurn5TilesCovered", + "SBendLeftCovered", + "SBendRightCovered", + "LeftQuarterTurn3TilesCovered", + "RightQuarterTurn3TilesCovered", + "LeftHalfBankedHelixUpSmall", + "RightHalfBankedHelixUpSmall", + "LeftHalfBankedHelixDownSmall", + "RightHalfBankedHelixDownSmall", + "LeftHalfBankedHelixUpLarge", + "RightHalfBankedHelixUpLarge", + "LeftHalfBankedHelixDownLarge", + "RightHalfBankedHelixDownLarge", + "LeftQuarterTurn1Tile60DegUp", + "RightQuarterTurn1Tile60DegUp", + "LeftQuarterTurn1Tile60DegDown", + "RightQuarterTurn1Tile60DegDown", + "Brakes", + "RotationControlToggle", + "Inverted90DegUpToFlatQuarterLoop_Maze", + "LeftQuarterBankedHelixLargeUp", + "RightQuarterBankedHelixLargeUp", + "LeftQuarterBankedHelixLargeDown", + "RightQuarterBankedHelixLargeDown", + "LeftQuarterHelixLargeUp", + "RightQuarterHelixLargeUp", + "LeftQuarterHelixLargeDown", + "RightQuarterHelixLargeDown", + "25DegUpLeftBanked", + "25DegUpRightBanked", + "Waterfall", + "Rapids", + "OnRidePhoto", + "25DegDownLeftBanked", + "25DegDownRightBanked", + "WaterSplash", + "FlatTo60DegUpLongBase", + "60DegUpToFlatLongBase", + "Whirlpool", + "FlatTo60DegDownLongBase", + "60DegUpToFlatLongBase122", + "CableLiftHill", + "ReverseWhoaBellySlope", + "ReverseWhoaBellyVertical", + "90DegUp", + "90DegDown", + "60DegUpTo90DegUp", + "90DegDownTo60DegDown", + "90DegUpTo60DegUp", + "60DegDownTo90DegDown", + "BrakeForDrop", + "LeftEighthToDiag", + "RightEighthToDiag", + "LeftEighthToOrthogonal", + "RightEighthToOrthogonal", + "LeftEighthBankToDiag", + "RightEighthBankToDiag", + "LeftEighthBankToOrthogonal", + "RightEighthBankToOrthogonal", + "DiagFlat", + "Diag25DegUp", + "Diag60DegUp", + "DiagFlatTo25DegUp", + "Diag25DegUpTo60DegUp", + "Diag60DegUpTo25DegUp", + "Diag25DegUpToFlat", + "Diag25DegDown", + "Diag60DegDown", + "DiagFlatTo25DegDown", + "Diag25DegDownTo60DegDown", + "Diag60DegDownTo25DegDown", + "Diag25DegDownToFlat", + "DiagFlatTo60DegUp", + "Diag60DegUpToFlat", + "DiagFlatTo60DegDown", + "Diag60DegDownToFlat", + "DiagFlatToLeftBank", + "DiagFlatToRightBank", + "DiagLeftBankToFlat", + "DiagRightBankToFlat", + "DiagLeftBankTo25DegUp", + "DiagRightBankTo25DegUp", + "Diag25DegUpToLeftBank", + "Diag25DegUpToRightBank", + "DiagLeftBankTo25DegDown", + "DiagRightBankTo25DegDown", + "Diag25DegDownToLeftBank", + "Diag25DegDownToRightBank", + "DiagLeftBank", + "DiagRightBank", + "LogFlumeReverser", + "SpinningTunnel", + "LeftBarrelRollUpToDown", + "RightBarrelRollUpToDown", + "LeftBarrelRollDownToUp", + "RightBarrelRollDownToUp", + "LeftBankToLeftQuarterTurn3Tiles25DegUp", + "RightBankToRightQuarterTurn3Tiles25DegUp", + "LeftQuarterTurn3Tiles25DegDownToLeftBank", + "RightQuarterTurn3Tiles25DegDownToRightBank", + "PoweredLift", + "LeftLargeHalfLoopUp", + "RightLargeHalfLoopUp", + "RightLargeHalfLoopDown", + "LeftLargeHalfLoopDown", + "LeftFlyerTwistUp", + "RightFlyerTwistUp", + "LeftFlyerTwistDown", + "RightFlyerTwistDown", + "FlyerHalfLoopUp", + "FlyerHalfLoopDown", + "LeftFlyerCorkscrewUp", + "RightFlyerCorkscrewUp", + "LeftFlyerCorkscrewDown", + "RightFlyerCorkscrewDown", + "HeartlineTransferUp", + "HeartlineTransferDown", + "LeftHeartlineRoll", + "RightHeartlineRoll", + "MiniGolfHoleA", + "MiniGolfHoleB", + "MiniGolfHoleC", + "MiniGolfHoleD", + "MiniGolfHoleE", + "MultidimInvertedFlatTo90DegQuarterLoopDown", + "90DegToInvertedFlatQuarterLoopUp", + "InvertedFlatTo90DegQuarterLoopDown", + "LeftCurvedLiftHill", + "RightCurvedLiftHill", + "LeftReverser", + "RightReverser", + "AirThrustTopCap", + "AirThrustVerticalDown", + "AirThrustVerticalDownToLevel", + "BlockBrakes", + "LeftBankedQuarterTurn3Tile25DegUp", + "RightBankedQuarterTurn3Tile25DegUp", + "LeftBankedQuarterTurn3Tile25DegDown", + "RightBankedQuarterTurn3Tile25DegDown", + "LeftBankedQuarterTurn5Tile25DegUp", + "RightBankedQuarterTurn5Tile25DegUp", + "LeftBankedQuarterTurn5Tile25DegDown", + "RightBankedQuarterTurn5Tile25DegDown", + "25DegUpToLeftBanked25DegUp", + "25DegUpToRightBanked25DegUp", + "LeftBanked25DegUpTo25DegUp", + "RightBanked25DegUpTo25DegUp", + "25DegDownToLeftBanked25DegDown", + "25DegDownToRightBanked25DegDown", + "LeftBanked25DegDownTo25DegDown", + "RightBanked25DegDownTo25DegDown", + "LeftBankedFlatToLeftBanked25DegUp", + "RightBankedFlatToRightBanked25DegUp", + "LeftBanked25DegUpToLeftBankedFlat", + "RightBanked25DegUpToRightBankedFlat", + "LeftBankedFlatToLeftBanked25DegDown", + "RightBankedFlatToRightBanked25DegDown", + "LeftBanked25DegDownToLeftBankedFlat", + "RightBanked25DegDownToRightBankedFlat", + "FlatToLeftBanked25DegUp", + "FlatToRightBanked25DegUp", + "LeftBanked25DegUpToFlat", + "RightBanked25DegUpToFlat", + "FlatToLeftBanked25DegDown", + "FlatToRightBanked25DegDown", + "LeftBanked25DegDownToFlat", + "RightBanked25DegDownToFlat", + "LeftQuarterTurn1Tile90DegUp", + "RightQuarterTurn1Tile90DegUp", + "LeftQuarterTurn1Tile90DegDown", + "RightQuarterTurn1Tile90DegDown", + "Multidim90DegUpToInvertedFlatQuarterLoop", + "MultidimFlatTo90DegDownQuarterLoop", + "Elem255", }; const utf8string FlatTrackNames[256] = { - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "1x4_A", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "2x2", - "4x4", - "", - "", - "", - "", - "1x5", - "", - "1x1_A", - "1x4_B", - "", - "1x1_B", - "1x4_C", - "3x3", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "1x4_A", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "2x2", + "4x4", + "", + "", + "", + "", + "1x5", + "", + "1x1_A", + "1x4_B", + "", + "1x1_B", + "1x4_C", + "3x3", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", }; const utf8string TrackElemNames[] = { - "TRACK_ELEM_FLAT", - "TRACK_ELEM_END_STATION", - "TRACK_ELEM_BEGIN_STATION", - "TRACK_ELEM_MIDDLE_STATION", - "TRACK_ELEM_25_DEG_UP", - "TRACK_ELEM_60_DEG_UP", - "TRACK_ELEM_FLAT_TO_25_DEG_UP", - "TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP", - "TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP", - "TRACK_ELEM_25_DEG_UP_TO_FLAT", - "TRACK_ELEM_25_DEG_DOWN", - "TRACK_ELEM_60_DEG_DOWN", - "TRACK_ELEM_FLAT_TO_25_DEG_DOWN", - "TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN", - "TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN", - "TRACK_ELEM_25_DEG_DOWN_TO_FLAT", - "TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES", - "TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES", - "TRACK_ELEM_FLAT_TO_LEFT_BANK", - "TRACK_ELEM_FLAT_TO_RIGHT_BANK", - "TRACK_ELEM_LEFT_BANK_TO_FLAT", - "TRACK_ELEM_RIGHT_BANK_TO_FLAT", - "TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES", - "TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES", - "TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP", - "TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP", - "TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK", - "TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK", - "TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN", - "TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK", - "TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK", - "TRACK_ELEM_LEFT_BANK", - "TRACK_ELEM_RIGHT_BANK", - "TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP", - "TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP", - "TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN", - "TRACK_ELEM_S_BEND_LEFT", - "TRACK_ELEM_S_BEND_RIGHT", - "TRACK_ELEM_LEFT_VERTICAL_LOOP", - "TRACK_ELEM_RIGHT_VERTICAL_LOOP", - "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES", - "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES", - "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK", - "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK", - "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP", - "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP", - "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN", - "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE", - "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE", - "TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP", - "TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP", - "TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN", - "TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN", - "TRACK_ELEM_HALF_LOOP_UP", - "TRACK_ELEM_HALF_LOOP_DOWN", - "TRACK_ELEM_LEFT_CORKSCREW_UP", - "TRACK_ELEM_RIGHT_CORKSCREW_UP", - "TRACK_ELEM_LEFT_CORKSCREW_DOWN", - "TRACK_ELEM_RIGHT_CORKSCREW_DOWN", - "TRACK_ELEM_FLAT_TO_60_DEG_UP", - "TRACK_ELEM_60_DEG_UP_TO_FLAT", - "TRACK_ELEM_FLAT_TO_60_DEG_DOWN", - "TRACK_ELEM_60_DEG_DOWN_TO_FLAT", - "TRACK_ELEM_TOWER_BASE", - "TRACK_ELEM_TOWER_SECTION", - "TRACK_ELEM_FLAT_COVERED", - "TRACK_ELEM_25_DEG_UP_COVERED", - "TRACK_ELEM_60_DEG_UP_COVERED", - "TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED", - "TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED", - "TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED", - "TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED", - "TRACK_ELEM_25_DEG_DOWN_COVERED", - "TRACK_ELEM_60_DEG_DOWN_COVERED", - "TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED", - "TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED", - "TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED", - "TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED", - "TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED", - "TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED", - "TRACK_ELEM_S_BEND_LEFT_COVERED", - "TRACK_ELEM_S_BEND_RIGHT_COVERED", - "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED", - "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED", - "TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL", - "TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL", - "TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL", - "TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL", - "TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE", - "TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE", - "TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE", - "TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE", - "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP", - "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP", - "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN", - "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN", - "TRACK_ELEM_BRAKES", - "TRACK_ELEM_ROTATION_CONTROL_TOGGLE", - "TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP", - "TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP", - "TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP", - "TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN", - "TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN", - "TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP", - "TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP", - "TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN", - "TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN", - "TRACK_ELEM_25_DEG_UP_LEFT_BANKED", - "TRACK_ELEM_25_DEG_UP_RIGHT_BANKED", - "TRACK_ELEM_WATERFALL", - "TRACK_ELEM_RAPIDS", - "TRACK_ELEM_ON_RIDE_PHOTO", - "TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED", - "TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED", - "TRACK_ELEM_WATER_SPLASH", - "TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE", - "TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE", - "TRACK_ELEM_WHIRLPOOL", - "TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE", - "TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122", - "TRACK_ELEM_CABLE_LIFT_HILL", - "TRACK_ELEM_REVERSE_FREEFALL_SLOPE", - "TRACK_ELEM_REVERSE_FREEFALL_VERTICAL", - "TRACK_ELEM_90_DEG_UP", - "TRACK_ELEM_90_DEG_DOWN", - "TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP", - "TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN", - "TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP", - "TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN", - "TRACK_ELEM_BRAKE_FOR_DROP", - "TRACK_ELEM_LEFT_EIGHTH_TO_DIAG", - "TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG", - "TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL", - "TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL", - "TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG", - "TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG", - "TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL", - "TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL", - "TRACK_ELEM_DIAG_FLAT", - "TRACK_ELEM_DIAG_25_DEG_UP", - "TRACK_ELEM_DIAG_60_DEG_UP", - "TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP", - "TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP", - "TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP", - "TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT", - "TRACK_ELEM_DIAG_25_DEG_DOWN", - "TRACK_ELEM_DIAG_60_DEG_DOWN", - "TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN", - "TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN", - "TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN", - "TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT", - "TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP", - "TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT", - "TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN", - "TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT", - "TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK", - "TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK", - "TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT", - "TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT", - "TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP", - "TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP", - "TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK", - "TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK", - "TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN", - "TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN", - "TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK", - "TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK", - "TRACK_ELEM_DIAG_LEFT_BANK", - "TRACK_ELEM_DIAG_RIGHT_BANK", - "TRACK_ELEM_LOG_FLUME_REVERSER", - "TRACK_ELEM_SPINNING_TUNNEL", - "TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN", - "TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN", - "TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP", - "TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP", - "TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP", - "TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP", - "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK", - "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK", - "TRACK_ELEM_POWERED_LIFT", - "TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP", - "TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP", - "TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN", - "TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN", - "TRACK_ELEM_LEFT_FLYER_TWIST_UP", - "TRACK_ELEM_RIGHT_FLYER_TWIST_UP", - "TRACK_ELEM_LEFT_FLYER_TWIST_DOWN", - "TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN", - "TRACK_ELEM_FLYER_HALF_LOOP_UP", - "TRACK_ELEM_FLYER_HALF_LOOP_DOWN", - "TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP", - "TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP", - "TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN", - "TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN", - "TRACK_ELEM_HEARTLINE_TRANSFER_UP", - "TRACK_ELEM_HEARTLINE_TRANSFER_DOWN", - "TRACK_ELEM_LEFT_HEARTLINE_ROLL", - "TRACK_ELEM_RIGHT_HEARTLINE_ROLL", - "TRACK_ELEM_MINI_GOLF_HOLE_A", - "TRACK_ELEM_MINI_GOLF_HOLE_B", - "TRACK_ELEM_MINI_GOLF_HOLE_C", - "TRACK_ELEM_MINI_GOLF_HOLE_D", - "TRACK_ELEM_MINI_GOLF_HOLE_E", - "TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN", - "TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP", - "TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN", - "TRACK_ELEM_LEFT_CURVED_LIFT_HILL", - "TRACK_ELEM_RIGHT_CURVED_LIFT_HILL", - "TRACK_ELEM_LEFT_REVERSER", - "TRACK_ELEM_RIGHT_REVERSER", - "TRACK_ELEM_AIR_THRUST_TOP_CAP", - "TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN", - "TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL", - "TRACK_ELEM_BLOCK_BRAKES", - "TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP", - "TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP", - "TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN", - "TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP", - "TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP", - "TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN", - "TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP", - "TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP", - "TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP", - "TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP", - "TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN", - "TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN", - "TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN", - "TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP", - "TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP", - "TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT", - "TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT", - "TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN", - "TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT", - "TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT", - "TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP", - "TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP", - "TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT", - "TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT", - "TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN", - "TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN", - "TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT", - "TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT", - "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP", - "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP", - "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN", - "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN", - "TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP", - "TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP", - "TRACK_ELEM_255", + "TRACK_ELEM_FLAT", + "TRACK_ELEM_END_STATION", + "TRACK_ELEM_BEGIN_STATION", + "TRACK_ELEM_MIDDLE_STATION", + "TRACK_ELEM_25_DEG_UP", + "TRACK_ELEM_60_DEG_UP", + "TRACK_ELEM_FLAT_TO_25_DEG_UP", + "TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP", + "TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP", + "TRACK_ELEM_25_DEG_UP_TO_FLAT", + "TRACK_ELEM_25_DEG_DOWN", + "TRACK_ELEM_60_DEG_DOWN", + "TRACK_ELEM_FLAT_TO_25_DEG_DOWN", + "TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN", + "TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN", + "TRACK_ELEM_25_DEG_DOWN_TO_FLAT", + "TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES", + "TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES", + "TRACK_ELEM_FLAT_TO_LEFT_BANK", + "TRACK_ELEM_FLAT_TO_RIGHT_BANK", + "TRACK_ELEM_LEFT_BANK_TO_FLAT", + "TRACK_ELEM_RIGHT_BANK_TO_FLAT", + "TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES", + "TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES", + "TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP", + "TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP", + "TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK", + "TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK", + "TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN", + "TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN", + "TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK", + "TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK", + "TRACK_ELEM_LEFT_BANK", + "TRACK_ELEM_RIGHT_BANK", + "TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP", + "TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP", + "TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN", + "TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN", + "TRACK_ELEM_S_BEND_LEFT", + "TRACK_ELEM_S_BEND_RIGHT", + "TRACK_ELEM_LEFT_VERTICAL_LOOP", + "TRACK_ELEM_RIGHT_VERTICAL_LOOP", + "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES", + "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES", + "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK", + "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK", + "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP", + "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP", + "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN", + "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN", + "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE", + "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE", + "TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP", + "TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP", + "TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN", + "TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN", + "TRACK_ELEM_HALF_LOOP_UP", + "TRACK_ELEM_HALF_LOOP_DOWN", + "TRACK_ELEM_LEFT_CORKSCREW_UP", + "TRACK_ELEM_RIGHT_CORKSCREW_UP", + "TRACK_ELEM_LEFT_CORKSCREW_DOWN", + "TRACK_ELEM_RIGHT_CORKSCREW_DOWN", + "TRACK_ELEM_FLAT_TO_60_DEG_UP", + "TRACK_ELEM_60_DEG_UP_TO_FLAT", + "TRACK_ELEM_FLAT_TO_60_DEG_DOWN", + "TRACK_ELEM_60_DEG_DOWN_TO_FLAT", + "TRACK_ELEM_TOWER_BASE", + "TRACK_ELEM_TOWER_SECTION", + "TRACK_ELEM_FLAT_COVERED", + "TRACK_ELEM_25_DEG_UP_COVERED", + "TRACK_ELEM_60_DEG_UP_COVERED", + "TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED", + "TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED", + "TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED", + "TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED", + "TRACK_ELEM_25_DEG_DOWN_COVERED", + "TRACK_ELEM_60_DEG_DOWN_COVERED", + "TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED", + "TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED", + "TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED", + "TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED", + "TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED", + "TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED", + "TRACK_ELEM_S_BEND_LEFT_COVERED", + "TRACK_ELEM_S_BEND_RIGHT_COVERED", + "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED", + "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED", + "TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL", + "TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL", + "TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL", + "TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL", + "TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE", + "TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE", + "TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE", + "TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE", + "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP", + "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP", + "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN", + "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN", + "TRACK_ELEM_BRAKES", + "TRACK_ELEM_ROTATION_CONTROL_TOGGLE", + "TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP", + "TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP", + "TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP", + "TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN", + "TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN", + "TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP", + "TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP", + "TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN", + "TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN", + "TRACK_ELEM_25_DEG_UP_LEFT_BANKED", + "TRACK_ELEM_25_DEG_UP_RIGHT_BANKED", + "TRACK_ELEM_WATERFALL", + "TRACK_ELEM_RAPIDS", + "TRACK_ELEM_ON_RIDE_PHOTO", + "TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED", + "TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED", + "TRACK_ELEM_WATER_SPLASH", + "TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE", + "TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE", + "TRACK_ELEM_WHIRLPOOL", + "TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE", + "TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122", + "TRACK_ELEM_CABLE_LIFT_HILL", + "TRACK_ELEM_REVERSE_FREEFALL_SLOPE", + "TRACK_ELEM_REVERSE_FREEFALL_VERTICAL", + "TRACK_ELEM_90_DEG_UP", + "TRACK_ELEM_90_DEG_DOWN", + "TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP", + "TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN", + "TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP", + "TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN", + "TRACK_ELEM_BRAKE_FOR_DROP", + "TRACK_ELEM_LEFT_EIGHTH_TO_DIAG", + "TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG", + "TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL", + "TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL", + "TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG", + "TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG", + "TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL", + "TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL", + "TRACK_ELEM_DIAG_FLAT", + "TRACK_ELEM_DIAG_25_DEG_UP", + "TRACK_ELEM_DIAG_60_DEG_UP", + "TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP", + "TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP", + "TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP", + "TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT", + "TRACK_ELEM_DIAG_25_DEG_DOWN", + "TRACK_ELEM_DIAG_60_DEG_DOWN", + "TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN", + "TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN", + "TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN", + "TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT", + "TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP", + "TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT", + "TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN", + "TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT", + "TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK", + "TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK", + "TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT", + "TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT", + "TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP", + "TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP", + "TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK", + "TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK", + "TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN", + "TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN", + "TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK", + "TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK", + "TRACK_ELEM_DIAG_LEFT_BANK", + "TRACK_ELEM_DIAG_RIGHT_BANK", + "TRACK_ELEM_LOG_FLUME_REVERSER", + "TRACK_ELEM_SPINNING_TUNNEL", + "TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN", + "TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN", + "TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP", + "TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP", + "TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP", + "TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP", + "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK", + "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK", + "TRACK_ELEM_POWERED_LIFT", + "TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP", + "TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP", + "TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN", + "TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN", + "TRACK_ELEM_LEFT_FLYER_TWIST_UP", + "TRACK_ELEM_RIGHT_FLYER_TWIST_UP", + "TRACK_ELEM_LEFT_FLYER_TWIST_DOWN", + "TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN", + "TRACK_ELEM_FLYER_HALF_LOOP_UP", + "TRACK_ELEM_FLYER_HALF_LOOP_DOWN", + "TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP", + "TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP", + "TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN", + "TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN", + "TRACK_ELEM_HEARTLINE_TRANSFER_UP", + "TRACK_ELEM_HEARTLINE_TRANSFER_DOWN", + "TRACK_ELEM_LEFT_HEARTLINE_ROLL", + "TRACK_ELEM_RIGHT_HEARTLINE_ROLL", + "TRACK_ELEM_MINI_GOLF_HOLE_A", + "TRACK_ELEM_MINI_GOLF_HOLE_B", + "TRACK_ELEM_MINI_GOLF_HOLE_C", + "TRACK_ELEM_MINI_GOLF_HOLE_D", + "TRACK_ELEM_MINI_GOLF_HOLE_E", + "TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN", + "TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP", + "TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN", + "TRACK_ELEM_LEFT_CURVED_LIFT_HILL", + "TRACK_ELEM_RIGHT_CURVED_LIFT_HILL", + "TRACK_ELEM_LEFT_REVERSER", + "TRACK_ELEM_RIGHT_REVERSER", + "TRACK_ELEM_AIR_THRUST_TOP_CAP", + "TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN", + "TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL", + "TRACK_ELEM_BLOCK_BRAKES", + "TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP", + "TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP", + "TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN", + "TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN", + "TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP", + "TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP", + "TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN", + "TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN", + "TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP", + "TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP", + "TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP", + "TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP", + "TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN", + "TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN", + "TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN", + "TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN", + "TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP", + "TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP", + "TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT", + "TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT", + "TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN", + "TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN", + "TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT", + "TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT", + "TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP", + "TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP", + "TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT", + "TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT", + "TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN", + "TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN", + "TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT", + "TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT", + "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP", + "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP", + "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN", + "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN", + "TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP", + "TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP", + "TRACK_ELEM_255", }; const utf8string RideCodeNames[RIDE_TYPE_COUNT] = { - "spiral_rc", - "stand_up_rc", - "suspended_swinging_rc", - "inverted_rc", - "junior_rc", - "miniature_railway", - "monorail", - "mini_suspended_rc", - "boat_ride", - "wooden_wild_mouse", - "steeplechase", - "car_ride", - "launched_freefall", - "bobsleigh_rc", - "observation_tower", - "looping_rc", - "dinghy_slide", - "mine_train_rc", - "chairlift", - "corkscrew_rc", - "maze", - "spiralslide", - "go_karts", - "log_flume", - "river_rapids", - "dodgems", - "pirate_ship", - "swinging_inverter_ship", - "food_stall", - "1D", - "drink_stall", - "1F", - "shop", - "merry_go_round", - "22", - "information_kiosk", - "toilets", - "ferris_wheel", - "motion_simulator", - "3d_cinema", - "top_spin", - "space_rings", - "reverse_freefall_rc", - "lift", - "vertical_drop_rc", - "cash_machine", - "twist", - "haunted_house", - "first_aid", - "circus_show", - "ghost_train", - "twister_rc", - "wooden_rc", - "side_friction_rc", - "wild_mouse", - "multi_dimension_rc", - "multi_dimension_rc_alt", - "flying_rc", - "flying_rc_alt", - "virginia_reel", - "splash_boats", - "mini_helicopters", - "lay_down_rc", - "suspended_monorail", - "lay_down_rc_alt", - "reverser_rc", - "heartline_twister_rc", - "mini_golf", - "giga_rc", - "roto_drop", - "flying_saucers", - "crooked_house", - "monorail_cycles", - "compact_inverted_rc", - "water_rc", - "air_powered_vertical_rc", - "inverted_hairpin_rc", - "magic_carpet", - "submarine_ride", - "river_rafts", - "50", - "enterprise", - "52", - "53", - "54", - "55", - "inverted_impulse_rc", - "mini_rc", - "mine_ride", - "59", - "lim_launched_rc", + "spiral_rc", + "stand_up_rc", + "suspended_swinging_rc", + "inverted_rc", + "junior_rc", + "miniature_railway", + "monorail", + "mini_suspended_rc", + "boat_ride", + "wooden_wild_mouse", + "steeplechase", + "car_ride", + "launched_freefall", + "bobsleigh_rc", + "observation_tower", + "looping_rc", + "dinghy_slide", + "mine_train_rc", + "chairlift", + "corkscrew_rc", + "maze", + "spiralslide", + "go_karts", + "log_flume", + "river_rapids", + "dodgems", + "pirate_ship", + "swinging_inverter_ship", + "food_stall", + "1D", + "drink_stall", + "1F", + "shop", + "merry_go_round", + "22", + "information_kiosk", + "toilets", + "ferris_wheel", + "motion_simulator", + "3d_cinema", + "top_spin", + "space_rings", + "reverse_freefall_rc", + "lift", + "vertical_drop_rc", + "cash_machine", + "twist", + "haunted_house", + "first_aid", + "circus_show", + "ghost_train", + "twister_rc", + "wooden_rc", + "side_friction_rc", + "wild_mouse", + "multi_dimension_rc", + "multi_dimension_rc_alt", + "flying_rc", + "flying_rc_alt", + "virginia_reel", + "splash_boats", + "mini_helicopters", + "lay_down_rc", + "suspended_monorail", + "lay_down_rc_alt", + "reverser_rc", + "heartline_twister_rc", + "mini_golf", + "giga_rc", + "roto_drop", + "flying_saucers", + "crooked_house", + "monorail_cycles", + "compact_inverted_rc", + "water_rc", + "air_powered_vertical_rc", + "inverted_hairpin_rc", + "magic_carpet", + "submarine_ride", + "river_rafts", + "50", + "enterprise", + "52", + "53", + "54", + "55", + "inverted_impulse_rc", + "mini_rc", + "mine_ride", + "59", + "lim_launched_rc", }; const utf8string TrackCodeNames[256] = { - "flat", - "end_station", - "begin_station", - "middle_station", - "25_deg_up", - "60_deg_up", - "flat_to_25_deg_up", - "25_deg_up_to_60_deg_up", - "60_deg_up_to_25_deg_up", - "25_deg_up_to_flat", - "25_deg_down", - "60_deg_down", - "flat_to_25_deg_down", - "25_deg_down_to_60_deg_down", - "60_deg_down_to_25_deg_down", - "25_deg_down_to_flat", - "left_quarter_turn_5", - "right_quarter_turn_5", - "flat_to_left_bank", - "flat_to_right_bank", - "left_bank_to_flat", - "right_bank_to_flat", - "banked_left_quarter_turn_5", - "banked_right_quarter_turn_5", - "left_bank_to_25_deg_up", - "right_bank_to_25_deg_up", - "25_deg_up_to_left_bank", - "25_deg_up_to_right_bank", - "left_bank_to_25_deg_down", - "right_bank_to_25_deg_down", - "25_deg_down_to_left_bank", - "25_deg_down_to_right_bank", - "left_bank", - "right_bank", - "left_quarter_turn_5_25_deg_up", - "right_quarter_turn_5_25_deg_up", - "left_quarter_turn_5_25_deg_down", - "right_quarter_turn_5_25_deg_down", - "s_bend_left", - "s_bend_right", - "left_vertical_loop", - "right_vertical_loop", - "left_quarter_turn_3", - "right_quarter_turn_3", - "left_quarter_turn_3_bank", - "right_quarter_turn_3_bank", - "left_quarter_turn_3_25_deg_up", - "right_quarter_turn_3_25_deg_up", - "left_quarter_turn_3_25_deg_down", - "right_quarter_turn_3_25_deg_down", - "left_quarter_turn_1", - "right_quarter_turn_1", - "left_twist_down_to_up", - "right_twist_down_to_up", - "left_twist_up_to_down", - "right_twist_up_to_down", - "half_loop_up", - "half_loop_down", - "left_corkscrew_up", - "right_corkscrew_up", - "left_corkscrew_down", - "right_corkscrew_down", - "flat_to_60_deg_up", - "60_deg_up_to_flat", - "flat_to_60_deg_down", - "60_deg_down_to_flat", - "tower_base", - "tower_section", - "flat_covered", - "25_deg_up_covered", - "60_deg_up_covered", - "flat_to_25_deg_up_covered", - "25_deg_up_to_60_deg_up_covered", - "60_deg_up_to_25_deg_up_covered", - "25_deg_up_to_flat_covered", - "25_deg_down_covered", - "60_deg_down_covered", - "flat_to_25_deg_down_covered", - "25_deg_down_to_60_deg_down_covered", - "60_deg_down_to_25_deg_down_covered", - "25_deg_down_to_flat_covered", - "left_quarter_turn_5_covered", - "right_quarter_turn_5_covered", - "s_bend_left_covered", - "s_bend_right_covered", - "left_quarter_turn_3_covered", - "right_quarter_turn_3_covered", - "left_half_banked_helix_up_small", - "right_half_banked_helix_up_small", - "left_half_banked_helix_down_small", - "right_half_banked_helix_down_small", - "left_half_banked_helix_up_large", - "right_half_banked_helix_up_large", - "left_half_banked_helix_down_large", - "right_half_banked_helix_down_large", - "left_quarter_turn_1_60_deg_up", - "right_quarter_turn_1_60_deg_up", - "left_quarter_turn_1_60_deg_down", - "right_quarter_turn_1_60_deg_down", - "brakes", - "rotation_control_toggle", - "inverted_90_deg_up_to_flat_quarter_loop_maze", - "left_quarter_banked_helix_large_up", - "right_quarter_banked_helix_large_up", - "left_quarter_banked_helix_large_down", - "right_quarter_banked_helix_large_down", - "left_quarter_helix_large_up", - "right_quarter_helix_large_up", - "left_quarter_helix_large_down", - "right_quarter_helix_large_down", - "25_deg_up_left_banked", - "25_deg_up_right_banked", - "waterfall", - "rapids", - "on_ride_photo", - "25_deg_down_left_banked", - "25_deg_down_right_banked", - "water_splash", - "flat_to_60_deg_up_long_base", - "60_deg_up_to_flat_long_base", - "whirlpool", - "flat_to_60_deg_down_long_base", - "60_deg_up_to_flat_long_base122", - "cable_lift_hill", - "reverse_freefall_slope", - "reverse_freefall_vertical", - "90_deg_up", - "90_deg_down", - "60_deg_up_to_90_deg_up", - "90_deg_down_to_60_deg_down", - "90_deg_up_to_60_deg_up", - "60_deg_down_to_90_deg_down", - "brake_for_drop", - "left_eighth_to_diag", - "right_eighth_to_diag", - "left_eighth_to_orthogonal", - "right_eighth_to_orthogonal", - "left_eighth_bank_to_diag", - "right_eighth_bank_to_diag", - "left_eighth_bank_to_orthogonal", - "right_eighth_bank_to_orthogonal", - "diag_flat", - "diag_25_deg_up", - "diag_60_deg_up", - "diag_flat_to_25_deg_up", - "diag_25_deg_up_to_60_deg_up", - "diag_60_deg_up_to_25_deg_up", - "diag_25_deg_up_to_flat", - "diag_25_deg_down", - "diag_60_deg_down", - "diag_flat_to_25_deg_down", - "diag_25_deg_down_to_60_deg_down", - "diag_60_deg_down_to_25_deg_down", - "diag_25_deg_down_to_flat", - "diag_flat_to_60_deg_up", - "diag_60_deg_up_to_flat", - "diag_flat_to_60_deg_down", - "diag_60_deg_down_to_flat", - "diag_flat_to_left_bank", - "diag_flat_to_right_bank", - "diag_left_bank_to_flat", - "diag_right_bank_to_flat", - "diag_left_bank_to_25_deg_up", - "diag_right_bank_to_25_deg_up", - "diag_25_deg_up_to_left_bank", - "diag_25_deg_up_to_right_bank", - "diag_left_bank_to_25_deg_down", - "diag_right_bank_to_25_deg_down", - "diag_25_deg_down_to_left_bank", - "diag_25_deg_down_to_right_bank", - "diag_left_bank", - "diag_right_bank", - "log_flume_reverser", - "spinning_tunnel", - "left_barrel_roll_up_to_down", - "right_barrel_roll_up_to_down", - "left_barrel_roll_down_to_up", - "right_barrel_roll_down_to_up", - "left_bank_to_left_quarter_turn_3_25_deg_up", - "right_bank_to_right_quarter_turn_3_25_deg_up", - "left_quarter_turn_3_25_deg_down_to_left_bank", - "right_quarter_turn_3_25_deg_down_to_right_bank", - "powered_lift", - "left_large_half_loop_up", - "right_large_half_loop_up", - "right_large_half_loop_down", - "left_large_half_loop_down", - "left_flyer_twist_up", - "right_flyer_twist_up", - "left_flyer_twist_down", - "right_flyer_twist_down", - "flyer_half_loop_up", - "flyer_half_loop_down", - "left_flyer_corkscrew_up", - "right_flyer_corkscrew_up", - "left_flyer_corkscrew_down", - "right_flyer_corkscrew_down", - "heartline_transfer_up", - "heartline_transfer_down", - "left_heartline_roll", - "right_heartline_roll", - "mini_golf_hole_a", - "mini_golf_hole_b", - "mini_golf_hole_c", - "mini_golf_hole_d", - "mini_golf_hole_e", - "multidim_inverted_flat_to_90_deg_quarter_loop_down", - "90_deg_to_inverted_flat_quarter_loop_up", - "inverted_flat_to_90_deg_quarter_loop_down", - "left_curved_lift_hill", - "right_curved_lift_hill", - "left_reverser", - "right_reverser", - "air_thrust_top_cap", - "air_thrust_vertical_down", - "air_thrust_vertical_down_to_level", - "block_brakes", - "left_banked_quarter_turn_3_25_deg_up", - "right_banked_quarter_turn_3_25_deg_up", - "left_banked_quarter_turn_3_25_deg_down", - "right_banked_quarter_turn_3_25_deg_down", - "left_banked_quarter_turn_5_25_deg_up", - "right_banked_quarter_turn_5_25_deg_up", - "left_banked_quarter_turn_5_25_deg_down", - "right_banked_quarter_turn_5_25_deg_down", - "25_deg_up_to_left_banked_25_deg_up", - "25_deg_up_to_right_banked_25_deg_up", - "left_banked_25_deg_up_to_25_deg_up", - "right_banked_25_deg_up_to_25_deg_up", - "25_deg_down_to_left_banked_25_deg_down", - "25_deg_down_to_right_banked_25_deg_down", - "left_banked_25_deg_down_to_25_deg_down", - "right_banked_25_deg_down_to_25_deg_down", - "left_banked_flat_to_left_banked_25_deg_up", - "right_banked_flat_to_right_banked_25_deg_up", - "left_banked_25_deg_up_to_left_banked_flat", - "right_banked_25_deg_up_to_right_banked_flat", - "left_banked_flat_to_left_banked_25_deg_down", - "right_banked_flat_to_right_banked_25_deg_down", - "left_banked_25_deg_down_to_left_banked_flat", - "right_banked_25_deg_down_to_right_banked_flat", - "flat_to_left_banked_25_deg_up", - "flat_to_right_banked_25_deg_up", - "left_banked_25_deg_up_to_flat", - "right_banked_25_deg_up_to_flat", - "flat_to_left_banked_25_deg_down", - "flat_to_right_banked_25_deg_down", - "left_banked_25_deg_down_to_flat", - "right_banked_25_deg_down_to_flat", - "left_quarter_turn_1_90_deg_up", - "right_quarter_turn_1_90_deg_up", - "left_quarter_turn_1_90_deg_down", - "right_quarter_turn_1_90_deg_down", - "multidim_90_deg_up_to_inverted_flat_quarter_loop", - "multidim_flat_to_90_deg_down_quarter_loop", - "elem_255" + "flat", + "end_station", + "begin_station", + "middle_station", + "25_deg_up", + "60_deg_up", + "flat_to_25_deg_up", + "25_deg_up_to_60_deg_up", + "60_deg_up_to_25_deg_up", + "25_deg_up_to_flat", + "25_deg_down", + "60_deg_down", + "flat_to_25_deg_down", + "25_deg_down_to_60_deg_down", + "60_deg_down_to_25_deg_down", + "25_deg_down_to_flat", + "left_quarter_turn_5", + "right_quarter_turn_5", + "flat_to_left_bank", + "flat_to_right_bank", + "left_bank_to_flat", + "right_bank_to_flat", + "banked_left_quarter_turn_5", + "banked_right_quarter_turn_5", + "left_bank_to_25_deg_up", + "right_bank_to_25_deg_up", + "25_deg_up_to_left_bank", + "25_deg_up_to_right_bank", + "left_bank_to_25_deg_down", + "right_bank_to_25_deg_down", + "25_deg_down_to_left_bank", + "25_deg_down_to_right_bank", + "left_bank", + "right_bank", + "left_quarter_turn_5_25_deg_up", + "right_quarter_turn_5_25_deg_up", + "left_quarter_turn_5_25_deg_down", + "right_quarter_turn_5_25_deg_down", + "s_bend_left", + "s_bend_right", + "left_vertical_loop", + "right_vertical_loop", + "left_quarter_turn_3", + "right_quarter_turn_3", + "left_quarter_turn_3_bank", + "right_quarter_turn_3_bank", + "left_quarter_turn_3_25_deg_up", + "right_quarter_turn_3_25_deg_up", + "left_quarter_turn_3_25_deg_down", + "right_quarter_turn_3_25_deg_down", + "left_quarter_turn_1", + "right_quarter_turn_1", + "left_twist_down_to_up", + "right_twist_down_to_up", + "left_twist_up_to_down", + "right_twist_up_to_down", + "half_loop_up", + "half_loop_down", + "left_corkscrew_up", + "right_corkscrew_up", + "left_corkscrew_down", + "right_corkscrew_down", + "flat_to_60_deg_up", + "60_deg_up_to_flat", + "flat_to_60_deg_down", + "60_deg_down_to_flat", + "tower_base", + "tower_section", + "flat_covered", + "25_deg_up_covered", + "60_deg_up_covered", + "flat_to_25_deg_up_covered", + "25_deg_up_to_60_deg_up_covered", + "60_deg_up_to_25_deg_up_covered", + "25_deg_up_to_flat_covered", + "25_deg_down_covered", + "60_deg_down_covered", + "flat_to_25_deg_down_covered", + "25_deg_down_to_60_deg_down_covered", + "60_deg_down_to_25_deg_down_covered", + "25_deg_down_to_flat_covered", + "left_quarter_turn_5_covered", + "right_quarter_turn_5_covered", + "s_bend_left_covered", + "s_bend_right_covered", + "left_quarter_turn_3_covered", + "right_quarter_turn_3_covered", + "left_half_banked_helix_up_small", + "right_half_banked_helix_up_small", + "left_half_banked_helix_down_small", + "right_half_banked_helix_down_small", + "left_half_banked_helix_up_large", + "right_half_banked_helix_up_large", + "left_half_banked_helix_down_large", + "right_half_banked_helix_down_large", + "left_quarter_turn_1_60_deg_up", + "right_quarter_turn_1_60_deg_up", + "left_quarter_turn_1_60_deg_down", + "right_quarter_turn_1_60_deg_down", + "brakes", + "rotation_control_toggle", + "inverted_90_deg_up_to_flat_quarter_loop_maze", + "left_quarter_banked_helix_large_up", + "right_quarter_banked_helix_large_up", + "left_quarter_banked_helix_large_down", + "right_quarter_banked_helix_large_down", + "left_quarter_helix_large_up", + "right_quarter_helix_large_up", + "left_quarter_helix_large_down", + "right_quarter_helix_large_down", + "25_deg_up_left_banked", + "25_deg_up_right_banked", + "waterfall", + "rapids", + "on_ride_photo", + "25_deg_down_left_banked", + "25_deg_down_right_banked", + "water_splash", + "flat_to_60_deg_up_long_base", + "60_deg_up_to_flat_long_base", + "whirlpool", + "flat_to_60_deg_down_long_base", + "60_deg_up_to_flat_long_base122", + "cable_lift_hill", + "reverse_freefall_slope", + "reverse_freefall_vertical", + "90_deg_up", + "90_deg_down", + "60_deg_up_to_90_deg_up", + "90_deg_down_to_60_deg_down", + "90_deg_up_to_60_deg_up", + "60_deg_down_to_90_deg_down", + "brake_for_drop", + "left_eighth_to_diag", + "right_eighth_to_diag", + "left_eighth_to_orthogonal", + "right_eighth_to_orthogonal", + "left_eighth_bank_to_diag", + "right_eighth_bank_to_diag", + "left_eighth_bank_to_orthogonal", + "right_eighth_bank_to_orthogonal", + "diag_flat", + "diag_25_deg_up", + "diag_60_deg_up", + "diag_flat_to_25_deg_up", + "diag_25_deg_up_to_60_deg_up", + "diag_60_deg_up_to_25_deg_up", + "diag_25_deg_up_to_flat", + "diag_25_deg_down", + "diag_60_deg_down", + "diag_flat_to_25_deg_down", + "diag_25_deg_down_to_60_deg_down", + "diag_60_deg_down_to_25_deg_down", + "diag_25_deg_down_to_flat", + "diag_flat_to_60_deg_up", + "diag_60_deg_up_to_flat", + "diag_flat_to_60_deg_down", + "diag_60_deg_down_to_flat", + "diag_flat_to_left_bank", + "diag_flat_to_right_bank", + "diag_left_bank_to_flat", + "diag_right_bank_to_flat", + "diag_left_bank_to_25_deg_up", + "diag_right_bank_to_25_deg_up", + "diag_25_deg_up_to_left_bank", + "diag_25_deg_up_to_right_bank", + "diag_left_bank_to_25_deg_down", + "diag_right_bank_to_25_deg_down", + "diag_25_deg_down_to_left_bank", + "diag_25_deg_down_to_right_bank", + "diag_left_bank", + "diag_right_bank", + "log_flume_reverser", + "spinning_tunnel", + "left_barrel_roll_up_to_down", + "right_barrel_roll_up_to_down", + "left_barrel_roll_down_to_up", + "right_barrel_roll_down_to_up", + "left_bank_to_left_quarter_turn_3_25_deg_up", + "right_bank_to_right_quarter_turn_3_25_deg_up", + "left_quarter_turn_3_25_deg_down_to_left_bank", + "right_quarter_turn_3_25_deg_down_to_right_bank", + "powered_lift", + "left_large_half_loop_up", + "right_large_half_loop_up", + "right_large_half_loop_down", + "left_large_half_loop_down", + "left_flyer_twist_up", + "right_flyer_twist_up", + "left_flyer_twist_down", + "right_flyer_twist_down", + "flyer_half_loop_up", + "flyer_half_loop_down", + "left_flyer_corkscrew_up", + "right_flyer_corkscrew_up", + "left_flyer_corkscrew_down", + "right_flyer_corkscrew_down", + "heartline_transfer_up", + "heartline_transfer_down", + "left_heartline_roll", + "right_heartline_roll", + "mini_golf_hole_a", + "mini_golf_hole_b", + "mini_golf_hole_c", + "mini_golf_hole_d", + "mini_golf_hole_e", + "multidim_inverted_flat_to_90_deg_quarter_loop_down", + "90_deg_to_inverted_flat_quarter_loop_up", + "inverted_flat_to_90_deg_quarter_loop_down", + "left_curved_lift_hill", + "right_curved_lift_hill", + "left_reverser", + "right_reverser", + "air_thrust_top_cap", + "air_thrust_vertical_down", + "air_thrust_vertical_down_to_level", + "block_brakes", + "left_banked_quarter_turn_3_25_deg_up", + "right_banked_quarter_turn_3_25_deg_up", + "left_banked_quarter_turn_3_25_deg_down", + "right_banked_quarter_turn_3_25_deg_down", + "left_banked_quarter_turn_5_25_deg_up", + "right_banked_quarter_turn_5_25_deg_up", + "left_banked_quarter_turn_5_25_deg_down", + "right_banked_quarter_turn_5_25_deg_down", + "25_deg_up_to_left_banked_25_deg_up", + "25_deg_up_to_right_banked_25_deg_up", + "left_banked_25_deg_up_to_25_deg_up", + "right_banked_25_deg_up_to_25_deg_up", + "25_deg_down_to_left_banked_25_deg_down", + "25_deg_down_to_right_banked_25_deg_down", + "left_banked_25_deg_down_to_25_deg_down", + "right_banked_25_deg_down_to_25_deg_down", + "left_banked_flat_to_left_banked_25_deg_up", + "right_banked_flat_to_right_banked_25_deg_up", + "left_banked_25_deg_up_to_left_banked_flat", + "right_banked_25_deg_up_to_right_banked_flat", + "left_banked_flat_to_left_banked_25_deg_down", + "right_banked_flat_to_right_banked_25_deg_down", + "left_banked_25_deg_down_to_left_banked_flat", + "right_banked_25_deg_down_to_right_banked_flat", + "flat_to_left_banked_25_deg_up", + "flat_to_right_banked_25_deg_up", + "left_banked_25_deg_up_to_flat", + "right_banked_25_deg_up_to_flat", + "flat_to_left_banked_25_deg_down", + "flat_to_right_banked_25_deg_down", + "left_banked_25_deg_down_to_flat", + "right_banked_25_deg_down_to_flat", + "left_quarter_turn_1_90_deg_up", + "right_quarter_turn_1_90_deg_up", + "left_quarter_turn_1_90_deg_down", + "right_quarter_turn_1_90_deg_down", + "multidim_90_deg_up_to_inverted_flat_quarter_loop", + "multidim_flat_to_90_deg_down_quarter_loop", + "elem_255" }; diff --git a/test/testpaint/main.cpp b/test/testpaint/main.cpp index 58fd201fe0..2b8dfa73d7 100644 --- a/test/testpaint/main.cpp +++ b/test/testpaint/main.cpp @@ -37,149 +37,149 @@ extern "C" { } typedef struct { - uint8 rideType; - std::vector trackTypes; + uint8 rideType; + std::vector trackTypes; } TestCase; enum CLIColour { - DEFAULT, - RED, - YELLOW, - GREEN, + DEFAULT, + RED, + YELLOW, + GREEN, }; bool gTestColor = true; Verbosity _verbosity = NORMAL; static bool CStringEquals(const char *lhs, const char *rhs) { - if (lhs == NULL) return rhs == NULL; + if (lhs == NULL) return rhs == NULL; - if (rhs == NULL) return false; + if (rhs == NULL) return false; - return strcmp(lhs, rhs) == 0; + return strcmp(lhs, rhs) == 0; } enum COLOUR_METHOD { - COLOUR_METHOD_NONE, - COLOUR_METHOD_ANSI, - COLOUR_METHOD_WINDOWS, + COLOUR_METHOD_NONE, + COLOUR_METHOD_ANSI, + COLOUR_METHOD_WINDOWS, }; static COLOUR_METHOD GetColourMethod() { - if (!gTestColor) { - return COLOUR_METHOD_NONE; - } + if (!gTestColor) { + return COLOUR_METHOD_NONE; + } - const char* const term = getenv("TERM"); - const bool term_supports_color = - CStringEquals(term, "xterm") || - CStringEquals(term, "xterm-color") || - CStringEquals(term, "xterm-256color") || - CStringEquals(term, "screen") || - CStringEquals(term, "screen-256color") || - CStringEquals(term, "tmux") || - CStringEquals(term, "tmux-256color") || - CStringEquals(term, "rxvt-unicode") || - CStringEquals(term, "rxvt-unicode-256color") || - CStringEquals(term, "linux") || - CStringEquals(term, "cygwin"); + const char* const term = getenv("TERM"); + const bool term_supports_color = + CStringEquals(term, "xterm") || + CStringEquals(term, "xterm-color") || + CStringEquals(term, "xterm-256color") || + CStringEquals(term, "screen") || + CStringEquals(term, "screen-256color") || + CStringEquals(term, "tmux") || + CStringEquals(term, "tmux-256color") || + CStringEquals(term, "rxvt-unicode") || + CStringEquals(term, "rxvt-unicode-256color") || + CStringEquals(term, "linux") || + CStringEquals(term, "cygwin"); - if (term_supports_color) { - return COLOUR_METHOD_ANSI; - } + if (term_supports_color) { + return COLOUR_METHOD_ANSI; + } #ifdef __WINDOWS__ - return COLOUR_METHOD_WINDOWS; + return COLOUR_METHOD_WINDOWS; #else - return COLOUR_METHOD_NONE; + return COLOUR_METHOD_NONE; #endif } static const char* GetAnsiColorCode(CLIColour color) { - switch (color) { - case RED: return "1"; - case GREEN: return "2"; - case YELLOW: - return "3"; - default: return NULL; - }; + switch (color) { + case RED: return "1"; + case GREEN: return "2"; + case YELLOW: + return "3"; + default: return NULL; + }; } #ifdef __WINDOWS__ static WORD GetCurrentWindowsConsoleAttribute(HANDLE hConsoleOutput) { - CONSOLE_SCREEN_BUFFER_INFO csbi; - GetConsoleScreenBufferInfo(hConsoleOutput, &csbi); - return csbi.wAttributes; + CONSOLE_SCREEN_BUFFER_INFO csbi; + GetConsoleScreenBufferInfo(hConsoleOutput, &csbi); + return csbi.wAttributes; } static WORD GetWindowsConsoleAttribute(CLIColour color, WORD defaultAttr) { - switch (color) { - case RED: return FOREGROUND_RED; - case GREEN: return FOREGROUND_GREEN; - case YELLOW: return FOREGROUND_RED | FOREGROUND_GREEN; - default: return defaultAttr; - }; + switch (color) { + case RED: return FOREGROUND_RED; + case GREEN: return FOREGROUND_GREEN; + case YELLOW: return FOREGROUND_RED | FOREGROUND_GREEN; + default: return defaultAttr; + }; } #endif static void Write_VA(Verbosity verbosity, CLIColour colour, const char *fmt, va_list args) { - if (_verbosity < verbosity) return; + if (_verbosity < verbosity) return; - COLOUR_METHOD colourMethod = GetColourMethod(); + COLOUR_METHOD colourMethod = GetColourMethod(); - if (colour == CLIColour::DEFAULT || colourMethod == COLOUR_METHOD_NONE) { - vprintf(fmt, args); - } else if (colourMethod == COLOUR_METHOD_ANSI) { - printf("\033[0;3%sm", GetAnsiColorCode(colour)); - vprintf(fmt, args); - printf("\033[m"); - } else if (colourMethod == COLOUR_METHOD_WINDOWS) { + if (colour == CLIColour::DEFAULT || colourMethod == COLOUR_METHOD_NONE) { + vprintf(fmt, args); + } else if (colourMethod == COLOUR_METHOD_ANSI) { + printf("\033[0;3%sm", GetAnsiColorCode(colour)); + vprintf(fmt, args); + printf("\033[m"); + } else if (colourMethod == COLOUR_METHOD_WINDOWS) { #ifdef __WINDOWS__ - HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); - WORD defaultAttr = GetCurrentWindowsConsoleAttribute(hStdOut); - SetConsoleTextAttribute(hStdOut, GetWindowsConsoleAttribute(colour, defaultAttr)); - vprintf(fmt, args); - SetConsoleTextAttribute(hStdOut, defaultAttr); + HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); + WORD defaultAttr = GetCurrentWindowsConsoleAttribute(hStdOut); + SetConsoleTextAttribute(hStdOut, GetWindowsConsoleAttribute(colour, defaultAttr)); + vprintf(fmt, args); + SetConsoleTextAttribute(hStdOut, defaultAttr); #endif - } + } } static void Write(Verbosity verbosity, CLIColour colour, const char *fmt, ...) { - va_list args; - va_start(args, fmt); - Write_VA(verbosity, colour, fmt, args); - va_end(args); + va_list args; + va_start(args, fmt); + Write_VA(verbosity, colour, fmt, args); + va_end(args); } static void Write(Verbosity verbosity, const char * fmt, ...) { - va_list args; - va_start(args, fmt); - Write_VA(verbosity, DEFAULT, fmt, args); - va_end(args); + va_list args; + va_start(args, fmt); + Write_VA(verbosity, DEFAULT, fmt, args); + va_end(args); } static void Write(CLIColour colour, const char * fmt, ...) { - va_list args; - va_start(args, fmt); - Write_VA(NORMAL, colour, fmt, args); - va_end(args); + va_list args; + va_start(args, fmt); + Write_VA(NORMAL, colour, fmt, args); + va_end(args); } static void Write(const char * fmt, ...) { - va_list args; - va_start(args, fmt); - Write_VA(NORMAL, DEFAULT, fmt, args); - va_end(args); + va_list args; + va_start(args, fmt); + Write_VA(NORMAL, DEFAULT, fmt, args); + va_end(args); } #if defined(__WINDOWS__) @@ -194,86 +194,86 @@ static HMODULE _dllModule = NULL; utf8 *utf8_write_codepoint(utf8 *dst, uint32 codepoint) { - if (codepoint <= 0x7F) { - dst[0] = (utf8)codepoint; - return dst + 1; - } else if (codepoint <= 0x7FF) { - dst[0] = 0xC0 | ((codepoint >> 6) & 0x1F); - dst[1] = 0x80 | (codepoint & 0x3F); - return dst + 2; - } else if (codepoint <= 0xFFFF) { - dst[0] = 0xE0 | ((codepoint >> 12) & 0x0F); - dst[1] = 0x80 | ((codepoint >> 6) & 0x3F); - dst[2] = 0x80 | (codepoint & 0x3F); - return dst + 3; - } else { - dst[0] = 0xF0 | ((codepoint >> 18) & 0x07); - dst[1] = 0x80 | ((codepoint >> 12) & 0x3F); - dst[2] = 0x80 | ((codepoint >> 6) & 0x3F); - dst[3] = 0x80 | (codepoint & 0x3F); - return dst + 4; - } + if (codepoint <= 0x7F) { + dst[0] = (utf8)codepoint; + return dst + 1; + } else if (codepoint <= 0x7FF) { + dst[0] = 0xC0 | ((codepoint >> 6) & 0x1F); + dst[1] = 0x80 | (codepoint & 0x3F); + return dst + 2; + } else if (codepoint <= 0xFFFF) { + dst[0] = 0xE0 | ((codepoint >> 12) & 0x0F); + dst[1] = 0x80 | ((codepoint >> 6) & 0x3F); + dst[2] = 0x80 | (codepoint & 0x3F); + return dst + 3; + } else { + dst[0] = 0xF0 | ((codepoint >> 18) & 0x07); + dst[1] = 0x80 | ((codepoint >> 12) & 0x3F); + dst[2] = 0x80 | ((codepoint >> 6) & 0x3F); + dst[3] = 0x80 | (codepoint & 0x3F); + return dst + 4; + } } utf8 *widechar_to_utf8(const wchar_t *src) { - utf8 *result = (utf8 *)malloc((wcslen(src) * 4) + 1); - utf8 *dst = result; + utf8 *result = (utf8 *)malloc((wcslen(src) * 4) + 1); + utf8 *dst = result; - for (; *src != 0; src++) { - dst = utf8_write_codepoint(dst, *src); - } - *dst++ = 0; + for (; *src != 0; src++) { + dst = utf8_write_codepoint(dst, *src); + } + *dst++ = 0; - size_t size = (size_t)(dst - result); - return (utf8 *)realloc(result, size); + size_t size = (size_t)(dst - result); + return (utf8 *)realloc(result, size); } utf8 **windows_get_command_line_args(int *outNumArgs) { - int argc; + int argc; - // Get command line arguments as widechar - LPWSTR commandLine = GetCommandLineW(); - LPWSTR *argvW = CommandLineToArgvW(commandLine, &argc); + // Get command line arguments as widechar + LPWSTR commandLine = GetCommandLineW(); + LPWSTR *argvW = CommandLineToArgvW(commandLine, &argc); - // Convert to UTF-8 - utf8 **argvUtf8 = (utf8**)malloc(argc * sizeof(utf8*)); - for (int i = 0; i < argc; i++) { - argvUtf8[i] = widechar_to_utf8(argvW[i]); - } - LocalFree(argvW); + // Convert to UTF-8 + utf8 **argvUtf8 = (utf8**)malloc(argc * sizeof(utf8*)); + for (int i = 0; i < argc; i++) { + argvUtf8[i] = widechar_to_utf8(argvW[i]); + } + LocalFree(argvW); - *outNumArgs = argc; - return argvUtf8; + *outNumArgs = argc; + return argvUtf8; } BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, LPVOID lpReserved) { - _dllModule = (HMODULE)hModule; - return TRUE; + _dllModule = (HMODULE)hModule; + return TRUE; } __declspec(dllexport) int StartOpenRCT(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { - if (_dllModule == NULL) { - _dllModule = GetModuleHandleA(OPENRCT2_DLL_MODULE_NAME); - } + if (_dllModule == NULL) { + _dllModule = GetModuleHandleA(OPENRCT2_DLL_MODULE_NAME); + } - int argc; - char ** argv = (char**)windows_get_command_line_args(&argc); + int argc; + char ** argv = (char**)windows_get_command_line_args(&argc); - int gExitCode = main(argc, argv); + int gExitCode = main(argc, argv); - // Free argv - for (int i = 0; i < argc; i++) { - free(argv[i]); - } - free(argv); + // Free argv + for (int i = 0; i < argc; i++) { + free(argv[i]); + } + free(argv); - exit(gExitCode); - return gExitCode; + exit(gExitCode); + return gExitCode; } #endif @@ -282,12 +282,12 @@ char *segments = (char *)(GOOD_PLACE_FOR_DATA_SEGMENT); static uint32 sawyercoding_calculate_checksum(const uint8* buffer, size_t length) { - size_t i; - uint32 checksum = 0; - for (i = 0; i < length; i++) - checksum += buffer[i]; + size_t i; + uint32 checksum = 0; + for (i = 0; i < length; i++) + checksum += buffer[i]; - return checksum; + return checksum; } /** @@ -296,290 +296,290 @@ static uint32 sawyercoding_calculate_checksum(const uint8* buffer, size_t length */ static bool openrct2_setup_rct2_segment() { - // OpenRCT2 on Linux and macOS is wired to have the original Windows PE sections loaded - // necessary. Windows does not need to do this as OpenRCT2 runs as a DLL loaded from the Windows PE. - int len = 0x01429000 - 0x8a4000; // 0xB85000, 12079104 bytes or around 11.5MB - int err = 0; + // OpenRCT2 on Linux and macOS is wired to have the original Windows PE sections loaded + // necessary. Windows does not need to do this as OpenRCT2 runs as a DLL loaded from the Windows PE. + int len = 0x01429000 - 0x8a4000; // 0xB85000, 12079104 bytes or around 11.5MB + int err = 0; // in some configurations err and len may be unused UNUSED(err); UNUSED(len); #if defined(__unix__) - int pageSize = getpagesize(); - int numPages = (len + pageSize - 1) / pageSize; - unsigned char *dummy = (unsigned char *)malloc(numPages); + int pageSize = getpagesize(); + int numPages = (len + pageSize - 1) / pageSize; + unsigned char *dummy = (unsigned char *)malloc(numPages); - err = mincore((void *)segments, len, dummy); - bool pagesMissing = false; - if (err != 0) - { - err = errno; + err = mincore((void *)segments, len, dummy); + bool pagesMissing = false; + if (err != 0) + { + err = errno; #ifdef __LINUX__ - // On Linux ENOMEM means all requested range is unmapped - if (err != ENOMEM) - { - pagesMissing = true; - perror("mincore"); - } + // On Linux ENOMEM means all requested range is unmapped + if (err != ENOMEM) + { + pagesMissing = true; + perror("mincore"); + } #else - pagesMissing = true; - perror("mincore"); + pagesMissing = true; + perror("mincore"); #endif // __LINUX__ - } else { - for (int i = 0; i < numPages; i++) - { - if (dummy[i] != 1) - { - pagesMissing = true; - void *start = (void *)(segments + i * pageSize); - void *end = (void *)(segments + (i + 1) * pageSize - 1); - log_warning("required page %p - %p is not in memory!", start, end); - } - } - } - free(dummy); - if (pagesMissing) - { - log_error("At least one of required pages was not found in memory. This can cause segfaults later on."); - } + } else { + for (int i = 0; i < numPages; i++) + { + if (dummy[i] != 1) + { + pagesMissing = true; + void *start = (void *)(segments + i * pageSize); + void *end = (void *)(segments + (i + 1) * pageSize - 1); + log_warning("required page %p - %p is not in memory!", start, end); + } + } + } + free(dummy); + if (pagesMissing) + { + log_error("At least one of required pages was not found in memory. This can cause segfaults later on."); + } - // section: text - err = mprotect((void *)0x401000, 0x8a4000 - 0x401000, PROT_READ | PROT_EXEC | PROT_WRITE); - if (err != 0) - { - perror("mprotect"); - } + // section: text + err = mprotect((void *)0x401000, 0x8a4000 - 0x401000, PROT_READ | PROT_EXEC | PROT_WRITE); + if (err != 0) + { + perror("mprotect"); + } - // section: rw data - err = mprotect((void *)segments, 0x01429000 - 0x8a4000, PROT_READ | PROT_WRITE); - if (err != 0) - { - perror("mprotect"); - } + // section: rw data + err = mprotect((void *)segments, 0x01429000 - 0x8a4000, PROT_READ | PROT_WRITE); + if (err != 0) + { + perror("mprotect"); + } #endif // defined(__unix__) - // Check that the expected data is at various addresses. - // Start at 0x9a6000, which is start of .data, to skip the region containing addresses to DLL - // calls, which can be changed by windows/wine loader. - const uint32 c1 = sawyercoding_calculate_checksum((const uint8*)(segments + (uintptr_t)(0x009A6000 - 0x8a4000)), 0x009E0000 - 0x009A6000); - const uint32 c2 = sawyercoding_calculate_checksum((const uint8*)(segments + (uintptr_t)(0x01428000 - 0x8a4000)), 0x014282BC - 0x01428000); - const uint32 exp_c1 = 10114815; - const uint32 exp_c2 = 23564; - if (c1 != exp_c1 || c2 != exp_c2) { - log_warning("c1 = %u, expected %u, match %d", c1, exp_c1, c1 == exp_c1); - log_warning("c2 = %u, expected %u, match %d", c2, exp_c2, c2 == exp_c2); - return false; - } + // Check that the expected data is at various addresses. + // Start at 0x9a6000, which is start of .data, to skip the region containing addresses to DLL + // calls, which can be changed by windows/wine loader. + const uint32 c1 = sawyercoding_calculate_checksum((const uint8*)(segments + (uintptr_t)(0x009A6000 - 0x8a4000)), 0x009E0000 - 0x009A6000); + const uint32 c2 = sawyercoding_calculate_checksum((const uint8*)(segments + (uintptr_t)(0x01428000 - 0x8a4000)), 0x014282BC - 0x01428000); + const uint32 exp_c1 = 10114815; + const uint32 exp_c2 = 23564; + if (c1 != exp_c1 || c2 != exp_c2) { + log_warning("c1 = %u, expected %u, match %d", c1, exp_c1, c1 == exp_c1); + log_warning("c2 = %u, expected %u, match %d", c2, exp_c2, c2 == exp_c2); + return false; + } - return true; + return true; } static void PrintRideTypes() { - for (uint8 rideType = 0; rideType < RIDE_TYPE_COUNT; rideType++) { - CLIColour colour = CLIColour::DEFAULT; - bool implemented = Utils::rideIsImplemented(rideType); - const char * rideName = RideNames[rideType]; - const char * status = ""; - if (implemented) { - status = " [IMPLEMENTED]"; - colour = CLIColour::GREEN; - } + for (uint8 rideType = 0; rideType < RIDE_TYPE_COUNT; rideType++) { + CLIColour colour = CLIColour::DEFAULT; + bool implemented = Utils::rideIsImplemented(rideType); + const char * rideName = RideNames[rideType]; + const char * status = ""; + if (implemented) { + status = " [IMPLEMENTED]"; + colour = CLIColour::GREEN; + } - Write(colour, "%2d: %-30s%s\n", rideType, rideName, status); - } + Write(colour, "%2d: %-30s%s\n", rideType, rideName, status); + } } #include "GeneralSupportHeightCall.hpp" static void TestGeneralSupportHeightCall() { - SupportCall callA = {16, 0x20}; - SupportCall callB = {32, 0x20}; - SupportCall callC = {48, 0x20}; - SupportCall callD = {48, 0x1F}; + SupportCall callA = {16, 0x20}; + SupportCall callB = {32, 0x20}; + SupportCall callC = {48, 0x20}; + SupportCall callD = {48, 0x1F}; - SupportCall out = {0,0}; - bool success; + SupportCall out = {0,0}; + bool success; - SupportCall groupA[4] = {callA, callA, callA, callA}; - success = GeneralSupportHeightCall::FindMostCommonSupportCall(groupA, &out); - assert(success); - assert(out == callA); + SupportCall groupA[4] = {callA, callA, callA, callA}; + success = GeneralSupportHeightCall::FindMostCommonSupportCall(groupA, &out); + assert(success); + assert(out == callA); - SupportCall groupB[4] = {callB, callA, callA, callA}; - success = GeneralSupportHeightCall::FindMostCommonSupportCall(groupB, &out); - assert(success); - assert(out == callA); + SupportCall groupB[4] = {callB, callA, callA, callA}; + success = GeneralSupportHeightCall::FindMostCommonSupportCall(groupB, &out); + assert(success); + assert(out == callA); - SupportCall groupC[4] = {callB, callA, callB, callA}; - success = GeneralSupportHeightCall::FindMostCommonSupportCall(groupC, &out); - assert(!success); + SupportCall groupC[4] = {callB, callA, callB, callA}; + success = GeneralSupportHeightCall::FindMostCommonSupportCall(groupC, &out); + assert(!success); - SupportCall groupD[4] = {callB, callC, callB, callA}; - success = GeneralSupportHeightCall::FindMostCommonSupportCall(groupD, &out); - assert(!success); + SupportCall groupD[4] = {callB, callC, callB, callA}; + success = GeneralSupportHeightCall::FindMostCommonSupportCall(groupD, &out); + assert(!success); - SupportCall groupE[4] = {callD, callC, callB, callA}; - success = GeneralSupportHeightCall::FindMostCommonSupportCall(groupE, &out); - assert(!success); + SupportCall groupE[4] = {callD, callC, callB, callA}; + success = GeneralSupportHeightCall::FindMostCommonSupportCall(groupE, &out); + assert(!success); } int main(int argc, char *argv[]) { - TestGeneralSupportHeightCall(); + TestGeneralSupportHeightCall(); - std::vector testCases; + std::vector testCases; - bool generate = false; - uint8 specificRideType = 0xFF; - for (int i = 0; i < argc; ++i) { - char *arg = argv[i]; - if (strcmp(arg, "--gtest_color=no") == 0) { - gTestColor = false; - } - else if (strcmp(arg, "--quiet") == 0) { - _verbosity = Verbosity::QUIET; + bool generate = false; + uint8 specificRideType = 0xFF; + for (int i = 0; i < argc; ++i) { + char *arg = argv[i]; + if (strcmp(arg, "--gtest_color=no") == 0) { + gTestColor = false; } - else if (strcmp(arg, "--ride-type") == 0) { - if (i + 1 < argc) { - i++; - specificRideType = atoi(argv[i]); - } else { - PrintRideTypes(); - return 2; - } - } - else if (strcmp(arg, "--generate") == 0) { - generate = true; - } - } + else if (strcmp(arg, "--quiet") == 0) { + _verbosity = Verbosity::QUIET; + } + else if (strcmp(arg, "--ride-type") == 0) { + if (i + 1 < argc) { + i++; + specificRideType = atoi(argv[i]); + } else { + PrintRideTypes(); + return 2; + } + } + else if (strcmp(arg, "--generate") == 0) { + generate = true; + } + } - if (generate) { - if (specificRideType > 90) { - fprintf(stderr, "No ride or invalid ride specified.\n"); - return 1; - } + if (generate) { + if (specificRideType > 90) { + fprintf(stderr, "No ride or invalid ride specified.\n"); + return 1; + } - openrct2_setup_rct2_segment(); - PaintIntercept::InitHooks(); + openrct2_setup_rct2_segment(); + PaintIntercept::InitHooks(); - return generatePaintCode(specificRideType); - } + return generatePaintCode(specificRideType); + } - for (uint8 rideType = 0; rideType < RIDE_TYPE_COUNT; rideType++) { - if (specificRideType != 0xFF && rideType != specificRideType) { - continue; - } + for (uint8 rideType = 0; rideType < RIDE_TYPE_COUNT; rideType++) { + if (specificRideType != 0xFF && rideType != specificRideType) { + continue; + } - if (!Utils::rideIsImplemented(rideType)) { - continue; - } + if (!Utils::rideIsImplemented(rideType)) { + continue; + } - TestCase testCase = {0}; - testCase.rideType = rideType; + TestCase testCase = {0}; + testCase.rideType = rideType; - if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_FLAT_RIDE)) { - testCase.trackTypes.push_back(RideConstructionDefaultTrackType[rideType]); - } else { - for (int trackType = 0; trackType < 256; trackType++) { - if (Utils::rideSupportsTrackType(rideType, trackType)) { - testCase.trackTypes.push_back(trackType); - } - } - } + if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_FLAT_RIDE)) { + testCase.trackTypes.push_back(RideConstructionDefaultTrackType[rideType]); + } else { + for (int trackType = 0; trackType < 256; trackType++) { + if (Utils::rideSupportsTrackType(rideType, trackType)) { + testCase.trackTypes.push_back(trackType); + } + } + } - testCases.push_back(testCase); - } + testCases.push_back(testCase); + } - int testCaseCount = (int) testCases.size(); - int testCount = 0; - for (auto &&tc : testCases) { - testCount += tc.trackTypes.size(); - } + int testCaseCount = (int) testCases.size(); + int testCount = 0; + for (auto &&tc : testCases) { + testCount += tc.trackTypes.size(); + } - Write(CLIColour::GREEN, "[==========] "); - Write("Running %d tests from %d test cases.\n", testCount, testCaseCount); + Write(CLIColour::GREEN, "[==========] "); + Write("Running %d tests from %d test cases.\n", testCount, testCaseCount); - Write(CLIColour::GREEN, "[----------] "); - Write("Global test environment set-up.\n"); - openrct2_setup_rct2_segment(); - PaintIntercept::InitHooks(); + Write(CLIColour::GREEN, "[----------] "); + Write("Global test environment set-up.\n"); + openrct2_setup_rct2_segment(); + PaintIntercept::InitHooks(); - int successCount = 0; - std::vector failures; - for (auto &&tc : testCases) { - const utf8string rideTypeName = RideNames[tc.rideType]; - Write(CLIColour::GREEN, "[----------] "); - Write("%d tests from %s\n", (int)tc.trackTypes.size(), rideTypeName); + int successCount = 0; + std::vector failures; + for (auto &&tc : testCases) { + const utf8string rideTypeName = RideNames[tc.rideType]; + Write(CLIColour::GREEN, "[----------] "); + Write("%d tests from %s\n", (int)tc.trackTypes.size(), rideTypeName); - for (auto &&trackType : tc.trackTypes) { - utf8string trackTypeName; - if (ride_type_has_flag(tc.rideType, RIDE_TYPE_FLAG_FLAT_RIDE)) { - trackTypeName = FlatTrackNames[trackType]; - } else { - trackTypeName = TrackNames[trackType]; - } + for (auto &&trackType : tc.trackTypes) { + utf8string trackTypeName; + if (ride_type_has_flag(tc.rideType, RIDE_TYPE_FLAG_FLAT_RIDE)) { + trackTypeName = FlatTrackNames[trackType]; + } else { + trackTypeName = TrackNames[trackType]; + } - Write(CLIColour::GREEN, "[ RUN ] "); - Write("%s.%s\n", rideTypeName, trackTypeName); + Write(CLIColour::GREEN, "[ RUN ] "); + Write("%s.%s\n", rideTypeName, trackTypeName); - std::string out; - int retVal = TestTrack::TestPaintTrackElement(tc.rideType, trackType, &out); - Write("%s", out.c_str()); - switch (retVal) { - case TEST_SUCCESS: - Write(CLIColour::GREEN, "[ OK ] "); - Write("%s.%s (0 ms)\n", rideTypeName, trackTypeName); - successCount++; - break; + std::string out; + int retVal = TestTrack::TestPaintTrackElement(tc.rideType, trackType, &out); + Write("%s", out.c_str()); + switch (retVal) { + case TEST_SUCCESS: + Write(CLIColour::GREEN, "[ OK ] "); + Write("%s.%s (0 ms)\n", rideTypeName, trackTypeName); + successCount++; + break; - case TEST_SKIPPED: - Write("Skipped\n"); - // Outputting this as OK because CLion only allows FAILED or OK - Write(CLIColour::YELLOW, "[ OK ] "); - Write("%s.%s (0 ms)\n", rideTypeName, trackTypeName); - successCount++; - break; + case TEST_SKIPPED: + Write("Skipped\n"); + // Outputting this as OK because CLion only allows FAILED or OK + Write(CLIColour::YELLOW, "[ OK ] "); + Write("%s.%s (0 ms)\n", rideTypeName, trackTypeName); + successCount++; + break; - case TEST_FAILED: - utf8string testCaseName = new utf8[64]; - snprintf(testCaseName, 64, "%s.%s", rideTypeName, trackTypeName); + case TEST_FAILED: + utf8string testCaseName = new utf8[64]; + snprintf(testCaseName, 64, "%s.%s", rideTypeName, trackTypeName); - Write(CLIColour::RED, "[ FAILED ] "); - Write("%s (0 ms)\n", testCaseName); - failures.push_back(testCaseName); - break; - } - } + Write(CLIColour::RED, "[ FAILED ] "); + Write("%s (0 ms)\n", testCaseName); + failures.push_back(testCaseName); + break; + } + } - Write(CLIColour::GREEN, "[----------] "); - Write("%d tests from %s (0 ms total)\n", (int)tc.trackTypes.size(), rideTypeName); - } - Write("\n"); + Write(CLIColour::GREEN, "[----------] "); + Write("%d tests from %s (0 ms total)\n", (int)tc.trackTypes.size(), rideTypeName); + } + Write("\n"); - Write(CLIColour::GREEN, "[----------] "); - Write("Global test environment tear-down\n"); + Write(CLIColour::GREEN, "[----------] "); + Write("Global test environment tear-down\n"); - Write(CLIColour::GREEN, "[==========] "); - Write("%d tests from %d test cases ran. (0 ms total).\n", testCount, testCaseCount); + Write(CLIColour::GREEN, "[==========] "); + Write("%d tests from %d test cases ran. (0 ms total).\n", testCount, testCaseCount); - Write(Verbosity::QUIET, CLIColour::GREEN, "[ PASSED ] "); - Write(Verbosity::QUIET, "%d tests.\n", successCount); + Write(Verbosity::QUIET, CLIColour::GREEN, "[ PASSED ] "); + Write(Verbosity::QUIET, "%d tests.\n", successCount); - if (failures.size() > 0) { - Write(Verbosity::QUIET, CLIColour::RED, "[ FAILED ] "); - Write(Verbosity::QUIET, "%d tests, listed below:\n", (int)failures.size()); + if (failures.size() > 0) { + Write(Verbosity::QUIET, CLIColour::RED, "[ FAILED ] "); + Write(Verbosity::QUIET, "%d tests, listed below:\n", (int)failures.size()); - for (auto &&failure : failures) { - Write(Verbosity::QUIET, CLIColour::RED, "[ FAILED ] "); - Write(Verbosity::QUIET, "%s\n", failure); - delete [] failure; - } + for (auto &&failure : failures) { + Write(Verbosity::QUIET, CLIColour::RED, "[ FAILED ] "); + Write(Verbosity::QUIET, "%s\n", failure); + delete [] failure; + } - Write(Verbosity::QUIET, "\n"); + Write(Verbosity::QUIET, "\n"); - Write(Verbosity::QUIET, "%d FAILED TESTS\n", (int)failures.size()); + Write(Verbosity::QUIET, "%d FAILED TESTS\n", (int)failures.size()); - return 1; - } + return 1; + } - return 0; + return 0; } diff --git a/test/tests/tests.cpp b/test/tests/tests.cpp index 27c1a9bd5e..a95d987dc5 100644 --- a/test/tests/tests.cpp +++ b/test/tests/tests.cpp @@ -6,7 +6,7 @@ #include int main(int argc, char * * argv) -{ +{ // Abort on an assertions so the tests do not hang Guard::SetAssertBehaviour(ASSERT_BEHAVIOUR::ABORT);